pychess-1.0.0/0000755000175000017500000000000013467766037012261 5ustar varunvarunpychess-1.0.0/lib/0000755000175000017500000000000013467766037013027 5ustar varunvarunpychess-1.0.0/lib/pychess/0000755000175000017500000000000013467766037014505 5ustar varunvarunpychess-1.0.0/lib/pychess/System/0000755000175000017500000000000013467766037015771 5ustar varunvarunpychess-1.0.0/lib/pychess/System/debug.py0000644000175000017500000000730313365545272017425 0ustar varunvarunimport gc import types # from pychess.Utils.Board import Board from pychess.Utils.GameModel import GameModel # from pychess.Utils.lutils.LBoard import LBoard from pychess.widgets.BoardView import BoardView from pychess.widgets.BoardControl import BoardControl from pychess.widgets.gamewidget import GameWidget from pychess.widgets.pydock.PyDockTop import PyDockTop from pychess.widgets.pydock.PyDockLeaf import PyDockLeaf # from pychess.widgets.pydock.ArrowButton import ArrowButton # from pychess.widgets.pydock.StarArrowButton import StarArrowButton # from pychess.widgets.pydock.HighlightArea import HighlightArea from pychess.Players.CECPEngine import CECPEngine from pychess.Players.UCIEngine import UCIEngine from pychess.Players.Human import Human from pychess.Players.ICPlayer import ICPlayer from pychess.ic.ICGameModel import ICGameModel from pychess.ic import ICLogon from pychess.perspectives import perspective_manager def obj_referrers(klass): find_obj = False for obj in gc.get_objects(): # closures are evil ! if isinstance(obj, types.FunctionType) and obj.__closure__ is not None: for c in obj.__closure__: try: if isinstance(c.cell_contents, klass): print('!!!', obj, c.cell_contents) except ValueError: print("Cell is empty...") if isinstance(obj, klass): find_obj = True rs = gc.get_referrers(obj) print("---------------------------referrers of %s" % klass.__name__) for ob in rs: print(type(ob), ob.__name__ if type(ob) is type else repr(ob)[:140]) rs1 = gc.get_referrers(ob) for ob1 in rs1: print(' ', type(ob1), ob1.__name__ if type(ob1) is type else repr(ob1)[:140]) print("---------------------------") if not find_obj: print("Nothing refrences %s" % klass.__name__) def print_obj_referrers(): perspective = perspective_manager.get_perspective("games") if len(perspective.gamewidgets) > 0: return for klass in ( ICGameModel, GameModel, GameWidget, BoardView, BoardControl, CECPEngine, UCIEngine, Human, ICPlayer, # TODO: # ArrowButton, # StarArrowButton, # HighlightArea, # Board, # LBoard, ): obj_referrers(klass) if ICLogon.dialog is None or not hasattr(ICLogon.dialog, "lounge"): for klass in ( PyDockTop, PyDockLeaf, ): obj_referrers(klass) print("---------------------------------") def print_muppy_sumary(): # http://pythonhosted.org/Pympler/index.html try: from pympler import muppy, summary except ImportError: print("WARNING: pympler not installed") return # from pympler.classtracker import ClassTracker # from pympler.classtracker_stats import HtmlStats global all_objects, obj_summary, class_tracker if all_objects is None: all_objects = muppy.get_objects() obj_summary = summary.summarize(all_objects) summary.print_(obj_summary) # class_tracker = ClassTracker() # class_tracker.track_class(FICSPlayer, trace=1) # class_tracker.track_class(ICGameModel, resolution_level=2, trace=1) else: obj_summary2 = summary.summarize(muppy.get_objects()) diff = summary.get_diff(obj_summary, obj_summary2) summary.print_(diff, limit=200) # class_tracker.create_snapshot('usage') # HtmlStats(tracker=class_tracker).create_html('profile.html') all_objects = None obj_summary = None class_tracker = None pychess-1.0.0/lib/pychess/System/command.py0000644000175000017500000000207413365545272017755 0ustar varunvarunimport subprocess class Command(): def __init__(self, command, inputstr): self.command = command self.inputstr = inputstr def run(self, timeout=None): """ Run a command then return: (status, output, error). """ status = None output = "" error = "" try: process = subprocess.Popen(self.command, universal_newlines=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) except OSError: return status, output, error except ValueError: return status, output, error try: output, error = process.communicate( input=self.inputstr, timeout=timeout) except subprocess.TimeoutExpired: process.kill() output, error = process.communicate() status = process.returncode return status, output, error pychess-1.0.0/lib/pychess/System/accordion.py0000644000175000017500000000373313353143212020264 0ustar varunvarunfrom gi.repository import Gtk, GObject class Accordion(Gtk.TreeView): def __init__(self, model): GObject.GObject.__init__(self, model) self.set_headers_visible(False) self.set_property("show-expanders", False) self.set_property("level-indentation", 10) renderer = Gtk.CellRendererText() column = Gtk.TreeViewColumn('Column', renderer) def top_level(column, cell, store, iter): cell.set_property("text", store[iter][0]) if store.iter_depth(iter) == 0: cell.set_property('foreground', "black") cell.set_property('background', "gray") else: cell.set_property('foreground', "black") cell.set_property('background', "white") column.set_cell_data_func(renderer, top_level) self.append_column(column) selection = self.get_selection() selection.set_mode(Gtk.SelectionMode.SINGLE) selection.connect('changed', self.on_selection_changed) self.current = None def on_selection_changed(self, selection, data=None): model, iter = selection.get_selected() if model.iter_depth(iter) == 0 and iter != self.current: self.collapse_all() self.expand_row(model.get_path(iter), True) self.current = iter selected_item = model.get_value(iter, 0) print(selected_item) if __name__ == "__main__": window = Gtk.Window(Gtk.WindowType.TOPLEVEL) window.set_title("Accordion example") window.set_size_request(200, 200) window.connect("delete_event", Gtk.main_quit) treestore = Gtk.TreeStore(str) for parent in range(4): piter = treestore.append(None, ['parent %i' % parent]) for child in range(3): treestore.append(piter, ['child %i of parent %i' % (child, parent)]) accordion = Accordion(treestore) window.add(accordion) window.show_all() Gtk.main() pychess-1.0.0/lib/pychess/System/__init__.py0000755000175000017500000000775413415426241020101 0ustar varunvarunimport asyncio import os import sys import pstats import inspect import cProfile import ssl import tempfile from timeit import default_timer from urllib.error import HTTPError, URLError from urllib.request import urlopen from pychess import MSYS2 # TODO: this hack only needed until we can figure out # what ssl cert files needed to copied in setup.py # when cx_freezee bdist_msi command is used if MSYS2: ssl._create_default_https_context = ssl._create_unverified_context @asyncio.coroutine def download_file_async(url, progressbar=None): loop = asyncio.get_event_loop() future = loop.run_in_executor(None, download_file, url) temp_file = yield from future return temp_file def download_file(url, progressbar=None): temp_file = None try: if progressbar is not None: from gi.repository import GLib GLib.idle_add(progressbar.set_text, "Downloading %s ..." % url) else: print("Downloading %s ..." % url) f = urlopen(url) temp_file = os.path.join(tempfile.gettempdir(), os.path.basename(url)) with open(temp_file, "wb") as local_file: local_file.write(f.read()) except HTTPError as e: print("HTTP Error:", e.code, url) except URLError as e: print("URL Error:", e.reason, url) return temp_file def fident(f): ''' Get an identifier for a function or method ''' joinchar = '.' if hasattr(f, 'im_class'): fparent = f.im_class.__name__ else: joinchar = ':' fparent = f.__module__.split('.')[-1] # sometimes inspect.getsourcelines() segfaults on windows if getattr(sys, 'frozen', False) or sys.platform == "win32": lineno = 0 else: lineno = inspect.getsourcelines(f)[1] fullname = joinchar.join((fparent, f.__name__)) return ':'.join((fullname, str(lineno))) def get_threadname(thread_namer): if isinstance(thread_namer, str): return thread_namer else: return fident(thread_namer) # https://gist.github.com/techtonik/2151727 def caller_name(skip=2): """Get a name of a caller in the format module.class.method `skip` specifies how many levels of stack to skip while getting caller name. skip=1 means "who calls me", skip=2 "who calls my caller" etc. An empty string is returned if skipped levels exceed stack height """ stack = inspect.stack() start = 0 + skip if len(stack) < start + 1: return '' parentframe = stack[start][0] name = [] module = inspect.getmodule(parentframe) # `modname` can be None when frame is executed directly in console # TODO(techtonik): consider using __main__ if module: name.append(module.__name__) # detect classname if 'self' in parentframe.f_locals: # I don't know any way to detect call from the object method # XXX: there seems to be no way to detect static method call - it will # be just a function call name.append(parentframe.f_locals['self'].__class__.__name__) codename = parentframe.f_code.co_name if codename != '': # top level usually name.append(codename) # function or a method del parentframe return ".".join(name) def profile_me(fn): def profiled_fn(*args, **kwargs): prof = cProfile.Profile() ret = prof.runcall(fn, *args, **kwargs) ps = pstats.Stats(prof) ps.sort_stats('cumulative') ps.print_stats(60) return ret return profiled_fn # Python Timer Class - Context Manager for Timing Code Blocks # Corey Goldberg - 2012 class Timer: def __init__(self, text): self.text = text self.timer = default_timer def __enter__(self): self.start = self.timer() return self def __exit__(self, *args): end = self.timer() self.elapsed_secs = end - self.start self.elapsed = self.elapsed_secs * 1000 # millisecs print('---- elapsed time: %f ms - %s' % (self.elapsed, self.text)) pychess-1.0.0/lib/pychess/System/conf.py0000755000175000017500000002002113452577140017253 0ustar varunvarun""" The task of this module is to provide easy saving/loading of configurations It also supports gconf like connection, so you get notices when a property has changed. """ import sys import os import atexit import builtins import locale from configparser import RawConfigParser from pychess import MSYS2 from pychess.Utils.const import FISCHERRANDOMCHESS, LOSERSCHESS, COUNT_OF_SOUNDS, SOUND_MUTE from pychess.System.Log import log from pychess.System.prefix import addDataPrefix, addUserConfigPrefix, getDataPrefix section = "General" configParser = RawConfigParser(default_section=section) for sect in ("FICS", "ICC"): if not configParser.has_section(sect): configParser.add_section(sect) path = addUserConfigPrefix("config") encoding = locale.getpreferredencoding() if os.path.isfile(path): configParser.readfp(open(path, encoding=encoding)) atexit.register(lambda: configParser.write(open(path, "w", encoding=encoding))) if sys.platform == "win32": username = os.environ["USERNAME"] else: from os import getuid from pwd import getpwuid userdata = getpwuid(getuid()) realname = userdata.pw_gecos.split(",")[0] if realname: username = realname else: username = userdata.pw_name if getattr(sys, 'frozen', False) and not MSYS2: # pyinstaller specific! if hasattr(sys, "_MEIPASS"): base_path = sys._MEIPASS else: base_path = os.path.dirname(sys.executable) default_book_path = os.path.join(base_path, "pychess_book.bin") else: default_book_path = os.path.join(addDataPrefix("pychess_book.bin")) no_gettext = False idkeyfuncs = {} conid = 0 def notify_add(key, func, *args, section=section): """The signature for func must be self, client, *args, **kwargs""" assert isinstance(key, str) global conid idkeyfuncs[conid] = (key, func, args, section) conid += 1 return conid - 1 def notify_remove(conid): del idkeyfuncs[conid] if "_" not in builtins.__dir__(): def _(text): return text DEFAULTS = { "General": { "firstName": username, "secondName": _("Guest"), "showEmt": False, "showEval": False, "showBlunder": True, "hideTabs": False, "closeAll": False, "faceToFace": False, "scoreLinearScale": False, "showCaptured": False, "figuresInNotation": False, "moveAnimation": False, "noAnimation": False, "autoPromote": False, "autoRotate": False, "showFICSgameno": False, "fullAnimation": True, "showCords": True, "drawGrid": True, "board_frame": 1, "board_style": 1, "pieceTheme": "Chessicons", "darkcolour": "", "lightcolour": "", "movetextFont": "FreeSerif Regular 12", "autoSave": True, "autoSavePath": os.path.expanduser("~"), "autoSaveFormat": "pychess", "saveEmt": False, "saveEval": False, "saveRatingChange": False, "indentPgn": False, "saveOwnGames": True, "dont_show_externals_at_startup": False, "max_analysis_spin": 3, "variation_threshold_spin": 50, "fromCurrent": True, "shouldWhite": True, "shouldBlack": True, "ThreatPV": False, "infinite_analysis": False, "opening_check": False, "opening_file_entry": default_book_path, "book_depth_max": 8, "endgame_check": False, "egtb_path": os.path.join(getDataPrefix()), "online_egtb_check": True, "autoCallFlag": True, "hint_mode": False, "spy_mode": False, "ana_combobox": 0, "analyzer_check": True, "inv_ana_combobox": 0, "inv_analyzer_check": False, "newgametasker_playercombo": 0, "ics_combo": 0, "autoLogin": False, "standard_toggle": True, "blitz_toggle": True, "lightning_toggle": True, "variant_toggle": True, "registered_toggle": True, "guest_toggle": True, "computer_toggle": True, "titled_toggle": True, "numberOfFingers": 0, "numberOfTimesLoggedInAsRegisteredUser": 0, "lastdifference-1": -1, "lastdifference-2": -1, "lastdifference-3": -1, "standard_toggle1": True, "blitz_toggle1": True, "lightning_toggle1": True, "variant_toggle1": True, "computer_toggle1": True, "categorycombo": 0, "learncombo0": 0, "learncombo1": 0, "learncombo2": 0, "learncombo3": 0, "welcome_image": addDataPrefix("glade/background.jpg"), "alarm_spin": 15, "show_tip_at_startup": True, "tips_seed": 0, "tips_index": 0, "dont_show_externals_at_startup": False, "download_timestamp": False, "download_chess_db": False, "download_scoutfish": False, "ngvariant1": FISCHERRANDOMCHESS, "ngvariant2": LOSERSCHESS, "useSounds": True, "max_log_files": 10, "show_sidepanels": True, "chat_paned_position": 100, "notimeRadio": 0, "blitzRadio": 0, "ngblitz min": 5, "ngblitz gain": 0, "ngblitz moves": 0, "rapidRadio": 0, "ngrapid min": 15, "ngrapid gain": 5, "ngrapid moves": 0, "normalRadio": 0, "ngnormal min": 45, "ngnormal gain": 15, "ngnormal moves": 0, "classicalRadio": 0, "playNormalRadio": 0, "playVariant1Radio": 0, "playVariant2Radio": 0, "ngclassical min": 3, "ngclassical gain": 0, "ngclassical moves": 40, "whitePlayerCombobox": 0, "blackPlayerCombobox": 0, "skillSlider1": 20, "skillSlider2": 20, "taskerSkillSlider": 20, "seek1Radio": 0, "seek2Radio": 0, "seek3Radio": 0, "challenge1Radio": 0, "challenge2Radio": 0, "challenge3Radio": 0, }, "FICS": { "timesealCheck": True, "hostEntry": "freechess.org", "usernameEntry": "", "passwordEntry": "", "asGuestCheck": True, }, "ICC": { "timesealCheck": True, "hostEntry": "chessclub.com", "usernameEntry": "", "passwordEntry": "", "asGuestCheck": True, }, } for i in range(COUNT_OF_SOUNDS): DEFAULTS["General"]["soundcombo%d" % i] = SOUND_MUTE DEFAULTS["General"]["sounduri%d" % i] = "" def get(key, section=section): try: default = DEFAULTS[section][key] except KeyError: # window attributes has no default values # print("!!! conf get() KeyError: %s %s" % (section, key)) default = None try: value = configParser.getint(section, key, fallback=default) # print("... conf get %s %s: %s" % (section, key, value)) return value except ValueError: pass try: value = configParser.getboolean(section, key, fallback=default) # print("... conf get %s %s: %s" % (section, key, value)) return value except ValueError: pass try: value = configParser.getfloat(section, key, fallback=default) # print("... conf get %s %s: %s" % (section, key, value)) return value except ValueError: pass value = configParser.get(section, key, fallback=default) # print("... conf get %s %s: %s" % (section, key, value)) return value def set(key, value, section=section): # print("---conf set()", section, key, value) try: configParser.set(section, key, str(value)) configParser.write(open(path, "w")) except Exception as err: log.error( "Unable to save configuration '%s'='%s' because of error: %s %s" % (repr(key), repr(value), err.__class__.__name__, ", ".join( str(a) for a in err.args))) for key_, func, args, section_ in idkeyfuncs.values(): if key_ == key and section_ == section: func(None, *args) def hasKey(key, section=section): return configParser.has_option(section, key) pychess-1.0.0/lib/pychess/System/gst_player.py0000644000175000017500000000313713353143212020472 0ustar varunvarun#!/usr/bin/python3 import os import sys try: import gi except ImportError: print("ERROR: gst_player requires pygobject to be installed.") sys.exit(1) from gi.repository import GLib try: gi.require_version("Gst", "1.0") from gi.repository import Gst except (ImportError, ValueError) as err: print("ERROR: Unable to import gstreamer.\n%s" % err) sys.exit(1) if not Gst.init_check(None): print("ERROR: Unable to initialize gstreamer.") sys.exit(1) player = Gst.ElementFactory.make("playbin", "player") if player is None: print('ERROR: Gst.ElementFactory.make("playbin", "player") failed') sys.exit(1) def on_message(bus, message): if message.type == Gst.MessageType.ERROR: player.set_state(Gst.State.NULL) simpleMessage, advMessage = message.parse_error() print("Gstreamer error '%s': %s" % (simpleMessage, advMessage)) elif message.type == Gst.MessageType.EOS: player.set_state(Gst.State.NULL) return True fakesink = Gst.ElementFactory.make("fakesink", "fakesink") player.set_property("video-sink", fakesink) bus = player.get_bus() bus.add_signal_watch() bus.connect("message", on_message) def play(loop): line = sys.stdin.readline().strip() if not line: loop.quit() return if os.path.isfile(line): player.set_state(Gst.State.NULL) player.set_property("uri", "file://" + line) player.set_state(Gst.State.PLAYING) else: print("file not found:", line) player.set_state(Gst.State.NULL) return True loop = GLib.MainLoop() GLib.idle_add(play, loop) loop.run() pychess-1.0.0/lib/pychess/System/repeat.py0000755000175000017500000000261313353143212017602 0ustar varunvarun# -*- coding: UTF-8 -*- import time from threading import Thread from pychess.System import fident def repeat(func, *args, **kwargs): """ Repeats a function in a new thread until it returns False """ def run(): while func(*args, **kwargs): pass thread = Thread(target=run, name=fident(func)) thread.daemon = True thread.start() def repeat_sleep(func, sleeptime, recur=False): """ Runs func in a thread and repeats it approximately each sleeptime [s] until func returns False. Notice that we sleep first, then run. Not the other way around. If repeat_sleep is called with recur=True, each call will be called with the return value of last call as argument. The argument has to be optional, as it wont be used first time, and it has to be non-None. """ def run(): last = time.time() val = None while True: time.sleep(time.time() - last + sleeptime) if not time: # If python has been shutdown while we were sleeping, the # imported modules will be None return last = time.time() if recur and val: val = func(val) else: val = func() if not val: break thread = Thread(target=run, name=fident(func)) thread.daemon = True thread.start() pychess-1.0.0/lib/pychess/System/ping.py0000755000175000017500000000565213365545272017304 0ustar varunvarun# -*- coding: UTF-8 -*- import re import sys import shutil from gi.repository import GObject from pychess.compat import create_task from pychess.System.Log import log from pychess.System.SubProcess import SubProcess class Pinger(GObject.GObject): """ The received signal contains the time it took to get response from the server in millisecconds. -1 means that some error occurred """ __gsignals__ = { "received": (GObject.SignalFlags.RUN_FIRST, None, (float, )), "error": (GObject.SignalFlags.RUN_FIRST, None, (str, )) } def __init__(self, host): GObject.GObject.__init__(self) self.host = host self.subproc = None self.expression = re.compile("=([\d\.]+) (m?s)") # We need untranslated error messages in regexp search # below, so have to use deferred translation here def _(msg): return msg error = _("Destination Host Unreachable") self.errorExprs = (re.compile("(%s)" % error), ) del _ self.restartsOnDead = 3 self.deadCount = 0 def start(self): assert not self.subproc if sys.platform == "win32": args = ["-t", self.host] else: args = ["-i10", self.host] self.subproc = SubProcess(shutil.which("ping"), args, env={"LANG": "en"}) create_task(self.subproc.start()) self.conid1 = self.subproc.connect("line", self.__handleLines) self.conid2 = self.subproc.connect("died", self.__handleDead) def __handleLines(self, subprocess, line): match = self.expression.search(line) if match: time, unit = match.groups() time = float(time) if unit == "s": time *= 1000 self.emit("received", time) else: for expr in self.errorExprs: match = expr.search(line) if match: msg = match.groups()[0] self.emit("error", _(msg)) def __handleDead(self, subprocess): if self.deadCount < self.restartsOnDead: log.warning("Pinger died and restarted (%d/%d)" % (self.deadCount + 1, self.restartsOnDead), extra={"task": self.subproc.defname}) self.stop() self.start() self.deadCount += 1 else: self.emit("error", _("Died")) self.stop() def stop(self): if not self.subproc: return # exitCode = self.subproc.gentleKill() self.subproc.disconnect(self.conid1) self.subproc.disconnect(self.conid2) self.subproc.terminate() self.subproc = None if __name__ == "__main__": pinger = Pinger("google.com") def callback(pinger, time): print(time) pinger.connect("received", callback) pinger.start() import time time.sleep(5) pinger.stop() time.sleep(3) pychess-1.0.0/lib/pychess/System/gstreamer.py0000755000175000017500000000355413353143212020320 0ustar varunvarunimport io import os import sys import subprocess from urllib.request import url2pathname from .Log import log class Player(): def __init__(self): self.ready = False def play(self, uri): pass sound_player = Player() if sys.platform == "win32": import winsound class WinsoundPlayer(Player): def __init__(self): self.ready = True def play(self, uri): try: winsound.PlaySound(None, 0) winsound.PlaySound( url2pathname(uri[5:]), winsound.SND_FILENAME | winsound.SND_ASYNC) except RuntimeError: log.error("ERROR: RuntimeError while playing %s." % url2pathname(uri[5:])) sound_player = WinsoundPlayer() else: class GstPlayer(Player): def __init__(self): PYTHONBIN = sys.executable.split("/")[-1] try: if getattr(sys, 'frozen', False): gst_player = os.path.join(os.path.abspath(os.path.dirname(sys.executable)), "gst_player.py") else: gst_player = os.path.join(os.path.abspath(os.path.dirname(__file__)), "gst_player.py") self.player = subprocess.Popen([PYTHONBIN, gst_player], stdin=subprocess.PIPE) self.stdin = io.TextIOWrapper(self.player.stdin, encoding='utf-8', line_buffering=True) self.ready = True except Exception: self.player = None log.error('ERROR: starting gst_player failed') raise def play(self, uri): if self.player is not None: try: self.stdin.write(url2pathname(uri[5:]) + "\n") except BrokenPipeError: pass sound_player = GstPlayer() pychess-1.0.0/lib/pychess/System/SubProcess.py0000755000175000017500000001764213432500500020415 0ustar varunvarunimport asyncio import os import psutil import signal import subprocess import sys import time from gi.repository import GObject, Gtk, Gio, GLib from pychess.compat import create_task from pychess.Utils import wait_signal from pychess.System.Log import log from pychess.Players.ProtocolEngine import TIME_OUT_SECOND class SubProcess(GObject.GObject): __gsignals__ = { "line": (GObject.SignalFlags.RUN_FIRST, None, (str, )), "died": (GObject.SignalFlags.RUN_FIRST, None, ()) } def __init__(self, path, args=[], warnwords=[], env=None, cwd=".", lowPriority=False): GObject.GObject.__init__(self) self.path = path self.args = args self.warnwords = warnwords self.env = env or os.environ self.cwd = cwd self.lowPriority = lowPriority self.defname = os.path.split(path)[1] self.defname = self.defname[:1].upper() + self.defname[1:].lower() cur_time = time.time() self.defname = (self.defname, time.strftime("%H:%m:%%.3f", time.localtime(cur_time)) % (cur_time % 60)) log.debug(path + " " + " ".join(self.args), extra={"task": self.defname}) self.argv = [str(u) for u in [self.path] + self.args] self.terminated = False @asyncio.coroutine def start(self): log.debug("SubProcess.start(): create_subprocess_exec...", extra={"task": self.defname}) if sys.platform == "win32": # To prevent engines opening console window startupinfo = subprocess.STARTUPINFO() startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW else: startupinfo = None create = asyncio.create_subprocess_exec(* self.argv, stdin=asyncio.subprocess.PIPE, stdout=asyncio.subprocess.PIPE, startupinfo=startupinfo, env=self.env, cwd=self.cwd) try: self.proc = yield from asyncio.wait_for(create, TIME_OUT_SECOND) self.pid = self.proc.pid # print(self.pid, self.path) if self.lowPriority: proc = psutil.Process(self.pid) if sys.platform == "win32": niceness = psutil.BELOW_NORMAL_PRIORITY_CLASS else: niceness = 15 # The higher, the lower the priority if psutil.__version__ >= "2.0.0": proc.nice(niceness) else: proc.set_nice(niceness) self.read_stdout_task = create_task(self.read_stdout(self.proc.stdout)) self.write_task = None except asyncio.TimeoutError: log.warning("TimeoutError", extra={"task": self.defname}) raise except GLib.GError: log.warning("GLib.GError", extra={"task": self.defname}) raise except Exception: e = sys.exc_info()[0] log.warning("%s" % e, extra={"task": self.defname}) raise def write(self, line): self.write_task = create_task(self.write_stdin(self.proc.stdin, line)) @asyncio.coroutine def write_stdin(self, writer, line): if self.terminated: return try: log.debug(line, extra={"task": self.defname}) writer.write(line.encode()) yield from writer.drain() except BrokenPipeError: log.debug('SubProcess.write_stdin(): BrokenPipeError', extra={"task": self.defname}) self.emit("died") self.terminate() except ConnectionResetError: log.debug('SubProcess.write_stdin(): ConnectionResetError', extra={"task": self.defname}) self.emit("died") self.terminate() except GLib.GError: log.debug("SubProcess.write_stdin(): GLib.GError", extra={"task": self.defname}) self.emit("died") self.terminate() @asyncio.coroutine def read_stdout(self, reader): while True: line = yield from reader.readline() if line: yield try: line = line.decode().rstrip() except UnicodeError: # Some engines send author names in different encodinds (f.e. spike) print("UnicodeError while decoding:", line) continue if not line: continue for word in self.warnwords: if word in line: log.debug(line, extra={"task": self.defname}) break else: log.debug(line, extra={"task": self.defname}) self.emit("line", line) else: self.emit("died") break self.terminate() def terminate(self): if self.write_task is not None: self.write_task.cancel() self.read_stdout_task.cancel() try: self.proc.terminate() log.debug("SubProcess.terminate()", extra={"task": self.defname}) except ProcessLookupError: log.debug("SubProcess.terminate(): ProcessLookupError", extra={"task": self.defname}) self.terminated = True def pause(self): if sys.platform != "win32": try: self.proc.send_signal(signal.SIGSTOP) except ProcessLookupError: log.debug("SubProcess.pause(): ProcessLookupError", extra={"task": self.defname}) def resume(self): if sys.platform != "win32": try: self.proc.send_signal(signal.SIGCONT) except ProcessLookupError: log.debug("SubProcess.pause(): ProcessLookupError", extra={"task": self.defname}) MENU_XML = """
app.subprocess Subprocess app.quit Quit
""" class Application(Gtk.Application): def __init__(self): Gtk.Application.__init__(self, application_id="org.subprocess") self.window = None def do_startup(self): Gtk.Application.do_startup(self) action = Gio.SimpleAction.new("subprocess", None) action.connect("activate", self.on_subprocess) self.add_action(action) action = Gio.SimpleAction.new("quit", None) action.connect("activate", self.on_quit) self.add_action(action) builder = Gtk.Builder.new_from_string(MENU_XML, -1) self.set_app_menu(builder.get_object("app-menu")) def do_activate(self): if not self.window: self.window = Gtk.ApplicationWindow(application=self) self.window.present() def on_subprocess(self, action, param): proc = SubProcess("python", [os.path.expanduser("~") + "/pychess/lib/pychess/Players/PyChess.py", ]) create_task(self.parse_line(proc)) print("xboard", file=proc) print("protover 2", file=proc) @asyncio.coroutine def parse_line(self, proc): while True: line = yield from wait_signal(proc, 'line') if line: print(' parse_line:', line[1]) else: print("no more lines") break def on_quit(self, action, param): self.quit() if __name__ == "__main__": from pychess.external import gbulb gbulb.install(gtk=True) app = Application() loop = asyncio.get_event_loop() loop.set_debug(enabled=True) loop.run_forever(application=app) pychess-1.0.0/lib/pychess/System/Log.py0000755000175000017500000001024713365545272017064 0ustar varunvarunimport time import logging from .prefix import addUserDataPrefix newName = time.strftime("%Y-%m-%d_%H-%M-%S") + ".log" logformat = "%(asctime)s.%(msecs)03d %(task)s %(levelname)s: %(message)s" # delay=True argument prevents creating empty .log files file_handler = logging.FileHandler( addUserDataPrefix(newName), delay=True, encoding="utf-8") class TaskFormatter(logging.Formatter): def __init__(self, fmt=None, datefmt=None): logging.Formatter.__init__(self, fmt, datefmt) def format(self, record): if not hasattr(record, "task"): record.task = "unknown" record.message = record.getMessage() record.asctime = self.formatTime(record, self.datefmt) s = self._fmt % record.__dict__ if record.exc_info: # Cache the traceback text to avoid converting it multiple times # (it's constant anyway) if not record.exc_text: record.exc_text = self.formatException(record.exc_info) if record.exc_text: if s[-1:] != "\n": s = s + "\n" s = s + record.exc_text return s formatter = TaskFormatter(fmt=logformat, datefmt='%H:%M:%S') file_handler.setFormatter(formatter) logger = logging.getLogger() logger.addHandler(file_handler) class ExtraAdapter(logging.LoggerAdapter): def process(self, msg, kwargs): kwargs["extra"] = kwargs.get("extra", {"task": "Default"}) return msg, kwargs log = ExtraAdapter(logger, {}) class LoggerWriter: def __init__(self, logger, level): self.logger = logger self.level = level def write(self, message): if message != '\n': self.logger.log(self.level, message) def flush(self): pass def setup_glib_logging(): """ Code from https://github.com/GNOME/meld/blob/master/bin/meld """ from gi.repository import GLib levels = { GLib.LogLevelFlags.LEVEL_DEBUG: logging.DEBUG, GLib.LogLevelFlags.LEVEL_INFO: logging.INFO, GLib.LogLevelFlags.LEVEL_MESSAGE: logging.INFO, GLib.LogLevelFlags.LEVEL_WARNING: logging.WARNING, GLib.LogLevelFlags.LEVEL_ERROR: logging.ERROR, GLib.LogLevelFlags.LEVEL_CRITICAL: logging.CRITICAL, } # Just to make sphinx happy... try: level_flag = ( GLib.LogLevelFlags.LEVEL_WARNING | GLib.LogLevelFlags.LEVEL_ERROR | GLib.LogLevelFlags.LEVEL_CRITICAL ) except TypeError: level_flag = GLib.LogLevelFlags.LEVEL_INFO log_domain = "Gtk" log = logging.getLogger(log_domain) def silence(message): if "gtk_container_remove: assertion" in message: # Looks like it was some hackish code in GTK+ which is now removed: # https://git.gnome.org/browse/gtk+/commit/?id=a3805333361fee37a3b1a974cfa6452a85169f08 return True elif "GdkPixbuf" in message: return True return False # This logging handler is for "old" glib logging using a simple # syslog-style API. def log_adapter(domain, level, message, user_data): if not silence(message): log.log(levels.get(level, logging.WARNING), message) try: GLib.log_set_handler(log_domain, level_flag, log_adapter, None) except AttributeError: # Only present in glib 2.46+ pass # This logging handler is for new glib logging using a structured # API. Unfortunately, it was added in such a way that the old # redirection API became a no-op, so we need to hack both of these # handlers to get it to work. def structured_log_adapter(level, fields, field_count, user_data): try: message = GLib.log_writer_format_fields(level, fields, True) except UnicodeDecodeError: for field in fields: print(field.key, field.value) return GLib.LogWriterOutput.HANDLED if not silence(message): log.log(levels.get(level, logging.WARNING), message) return GLib.LogWriterOutput.HANDLED try: GLib.log_set_writer_func(structured_log_adapter, None) except AttributeError: # Only present in glib 2.50+ pass pychess-1.0.0/lib/pychess/System/protoopen.py0000755000175000017500000000333713365545272020372 0ustar varunvarunimport os import sys from urllib.request import urlopen from urllib.parse import unquote PGN_ENCODING = "latin_1" def splitUri(uri): uri = unquote(uri) # escape special chars uri = uri.strip('\r\n\x00') # remove \r\n and NULL if sys.platform == "win32": return uri.split(":///") else: return uri.split("://") def protoopen(uri, encoding=PGN_ENCODING): """ Function for opening many things """ splitted = splitUri(uri) if splitted[0] == "file": uri = splitted[1] try: handle = open(unquote(uri), "r", encoding=encoding, newline="") handle.pgn_encoding = "utf-8" if os.path.basename(uri).startswith("lichess_") else encoding return handle except (IOError, OSError): pass try: return urlopen(uri) except (IOError, OSError): pass raise IOError("Protocol isn't supported by pychess") def protosave(uri, append=False): """ Function for saving many things """ splitted = splitUri(uri) if splitted[0] == "file": if append: return open(splitted[1], "a", encoding=PGN_ENCODING, newline="") return open(splitted[1], "w", newline="") elif len(splitted) == 1: if append: return open(splitted[0], "a", encoding=PGN_ENCODING, newline="") return open(splitted[0], "w", encoding=PGN_ENCODING, newline="") raise IOError("PyChess doesn't support writing to protocol") def isWriteable(uri): """ Returns true if protoopen can open a write pipe to the uri """ splitted = splitUri(uri) if splitted[0] == "file": return os.access(splitted[1], os.W_OK) elif len(splitted) == 1: return os.access(splitted[0], os.W_OK) return False pychess-1.0.0/lib/pychess/System/uistuff.py0000755000175000017500000003740213365545272020032 0ustar varunvarunimport colorsys import sys import xml.etree.cElementTree as ET # from io import BytesIO from gi.repository import Gtk, Gdk, GObject, Pango from gi.repository.GdkPixbuf import Pixbuf from pychess.System import conf from pychess.System.Log import log from pychess.System.prefix import addDataPrefix def createCombo(combo, data=[], name=None, ellipsize_mode=None): if name is not None: combo.set_name(name) lst_store = Gtk.ListStore(Pixbuf, str) for row in data: lst_store.append(row) combo.clear() combo.set_model(lst_store) crp = Gtk.CellRendererPixbuf() crp.set_property('xalign', 0) crp.set_property('xpad', 2) combo.pack_start(crp, False) combo.add_attribute(crp, 'pixbuf', 0) crt = Gtk.CellRendererText() crt.set_property('xalign', 0) crt.set_property('xpad', 4) combo.pack_start(crt, True) combo.add_attribute(crt, 'text', 1) if ellipsize_mode is not None: crt.set_property('ellipsize', ellipsize_mode) def updateCombo(combo, data): def get_active(combobox): model = combobox.get_model() active = combobox.get_active() if active < 0: return None return model[active][1] last_active = get_active(combo) lst_store = combo.get_model() lst_store.clear() new_active = 0 for i, row in enumerate(data): lst_store.append(row) if last_active == row[1]: new_active = i combo.set_active(new_active) def genColor(n, startpoint=0): assert n >= 1 # This splits the 0 - 1 segment in the pizza way hue = (2 * n - 1) / (2.**(n - 1).bit_length()) - 1 hue = (hue + startpoint) % 1 # We set saturation based on the amount of green, scaled to the interval # [0.6..0.8]. This ensures a consistent lightness over all colors. rgb = colorsys.hsv_to_rgb(hue, 1, 1) rgb = colorsys.hsv_to_rgb(hue, 1, (1 - rgb[1]) * 0.2 + 0.6) # This algorithm ought to balance colors more precisely, but it overrates # the lightness of yellow, and nearly makes it black # yiq = colorsys.rgb_to_yiq(*rgb) # rgb = colorsys.yiq_to_rgb(.125, yiq[1], yiq[2]) return rgb def keepDown(scrolledWindow): def changed(vadjust): if not hasattr(vadjust, "need_scroll") or vadjust.need_scroll: vadjust.set_value(vadjust.get_upper() - vadjust.get_page_size()) vadjust.need_scroll = True scrolledWindow.get_vadjustment().connect("changed", changed) def value_changed(vadjust): vadjust.need_scroll = abs(vadjust.get_value() + vadjust.get_page_size() - vadjust.get_upper()) < vadjust.get_step_increment() scrolledWindow.get_vadjustment().connect("value-changed", value_changed) # wrap analysis text column. thanks to # http://www.islascruz.org/html/index.php?blog/show/Wrap-text-in-a-TreeView-column.html def appendAutowrapColumn(treeview, name, **kvargs): cell = Gtk.CellRendererText() # cell.props.wrap_mode = Pango.WrapMode.WORD # TODO: # changed to ellipsize instead until "never ending grow" bug gets fixed # see https://github.com/pychess/pychess/issues/1054 cell.props.ellipsize = Pango.EllipsizeMode.END column = Gtk.TreeViewColumn(name, cell, **kvargs) treeview.append_column(column) def callback(treeview, allocation, column, cell): otherColumns = [c for c in treeview.get_columns() if c != column] newWidth = allocation.width - sum(c.get_width() for c in otherColumns) hsep = GObject.Value() hsep.init(GObject.TYPE_INT) hsep.set_int(0) treeview.style_get_property("horizontal-separator", hsep) newWidth -= hsep.get_int() * (len(otherColumns) + 1) * 2 if cell.props.wrap_width == newWidth or newWidth <= 0: return cell.props.wrap_width = newWidth store = treeview.get_model() store_iter = store.get_iter_first() while store_iter and store.iter_is_valid(store_iter): store.row_changed(store.get_path(store_iter), store_iter) store_iter = store.iter_next(store_iter) treeview.set_size_request(0, -1) # treeview.connect_after("size-allocate", callback, column, cell) scroll = treeview.get_parent() if isinstance(scroll, Gtk.ScrolledWindow): scroll.set_policy(Gtk.PolicyType.NEVER, scroll.get_policy()[1]) return cell METHODS = ( # Gtk.SpinButton should be listed prior to Gtk.Entry, as it is a # subclass, but requires different handling (Gtk.SpinButton, ("get_value", "set_value", "value-changed")), (Gtk.Entry, ("get_text", "set_text", "changed")), (Gtk.Expander, ("get_expanded", "set_expanded", "notify::expanded")), (Gtk.ComboBox, ("get_active", "set_active", "changed")), (Gtk.IconView, ("_get_active", "_set_active", "selection-changed")), (Gtk.ToggleButton, ("get_active", "set_active", "toggled")), (Gtk.CheckMenuItem, ("get_active", "set_active", "toggled")), (Gtk.Range, ("get_value", "set_value", "value-changed")), (Gtk.TreeSortable, ("get_value", "set_value", "sort-column-changed")), (Gtk.Paned, ("get_position", "set_position", "notify::position")), ) def keep(widget, key, get_value_=None, set_value_=None): # , first_value=None): if widget is None: raise AttributeError("key '%s' isn't in widgets" % key) for class_, methods_ in METHODS: # Use try-except just to make spinx happy... try: if isinstance(widget, class_): getter, setter, signal = methods_ break except TypeError: getter, setter, signal = methods_ break else: raise AttributeError("I don't have any knowledge of type: '%s'" % widget) if get_value_: def get_value(): return get_value_(widget) else: get_value = getattr(widget, getter) if set_value_: def set_value(v): return set_value_(widget, v) else: set_value = getattr(widget, setter) def setFromConf(): try: v = conf.get(key) except TypeError: log.warning("uistuff.keep.setFromConf: Key '%s' from conf had the wrong type '%s', ignored" % (key, type(conf.get(key)))) # print("uistuff.keep TypeError %s %s" % (key, conf.get(key))) else: set_value(v) def callback(*args): if not conf.hasKey(key) or conf.get(key) != get_value(): conf.set(key, get_value()) widget.connect(signal, callback) conf.notify_add(key, lambda *args: setFromConf()) if conf.hasKey(key): setFromConf() elif conf.get(key) is not None: conf.set(key, conf.get(key)) # loadDialogWidget() and saveDialogWidget() are similar to uistuff.keep() but are needed # for saving widget values for Gtk.Dialog instances that are loaded with different # sets of values/configurations and which also aren't instant save like in # uistuff.keep(), but rather are saved later if and when the user clicks # the dialog's OK button def loadDialogWidget(widget, widget_name, config_number, get_value_=None, set_value_=None, first_value=None): key = widget_name + "-" + str(config_number) if widget is None: raise AttributeError("key '%s' isn't in widgets" % widget_name) for class_, methods_ in METHODS: if isinstance(widget, class_): getter, setter, signal = methods_ break else: if set_value_ is None: raise AttributeError("I don't have any knowledge of type: '%s'" % widget) if get_value_: def get_value(): return get_value_(widget) else: get_value = getattr(widget, getter) if set_value_: def set_value(v): return set_value_(widget, v) else: set_value = getattr(widget, setter) if conf.hasKey(key): try: v = conf.get(key) except TypeError: log.warning("uistuff.loadDialogWidget: Key '%s' from conf had the wrong type '%s', ignored" % (key, type(conf.get(key)))) if first_value is not None: conf.set(key, first_value) else: conf.set(key, get_value()) else: set_value(v) elif first_value is not None: conf.set(key, first_value) set_value(conf.get(key)) else: log.warning("Didn't load widget \"%s\": no conf value and no first_value arg" % widget_name) def saveDialogWidget(widget, widget_name, config_number, get_value_=None): key = widget_name + "-" + str(config_number) if widget is None: raise AttributeError("key '%s' isn't in widgets" % widget_name) for class_, methods_ in METHODS: if isinstance(widget, class_): getter, setter, signal = methods_ break else: if get_value_ is None: raise AttributeError("I don't have any knowledge of type: '%s'" % widget) if get_value_: def get_value(): return get_value_(widget) else: get_value = getattr(widget, getter) if not conf.hasKey(key) or conf.get(key) != get_value(): conf.set(key, get_value()) POSITION_NONE, POSITION_CENTER, POSITION_GOLDEN = range(3) def keepWindowSize(key, window, defaultSize=None, defaultPosition=POSITION_NONE): """ You should call keepWindowSize before show on your windows """ key = key + "window" def savePosition(window, *event): log.debug("keepWindowSize.savePosition: %s" % window.get_title()) width = window.get_allocation().width height = window.get_allocation().height x_loc, y_loc = window.get_position() if width <= 0: log.error("Setting width = '%d' for %s to conf" % (width, key)) if height <= 0: log.error("Setting height = '%d' for %s to conf" % (height, key)) log.debug("Saving window position width=%s height=%s x=%s y=%s" % (width, height, x_loc, y_loc)) conf.set(key + "_width", width) conf.set(key + "_height", height) conf.set(key + "_x", x_loc) conf.set(key + "_y", y_loc) return False window.connect("delete-event", savePosition, "delete-event") def loadPosition(window): # log.debug("keepWindowSize.loadPosition: %s" % window.title) # Just to make sphinx happy... try: width, height = window.get_size_request() except TypeError: pass if conf.hasKey(key + "_width") and conf.hasKey(key + "_height"): width = conf.get(key + "_width") height = conf.get(key + "_height") log.debug("Resizing window to width=%s height=%s" % (width, height)) window.resize(width, height) elif defaultSize: width, height = defaultSize log.debug("Resizing window to width=%s height=%s" % (width, height)) window.resize(width, height) elif key == "mainwindow": monitor_x, monitor_y, monitor_width, monitor_height = getMonitorBounds() width = int(monitor_width / 2) height = int(monitor_height / 4) * 3 log.debug("Resizing window to width=%s height=%s" % (width, height)) window.resize(width, height) elif key == "preferencesdialogwindow": monitor_x, monitor_y, monitor_width, monitor_height = getMonitorBounds() width = int(monitor_width / 2) height = int(monitor_height / 4) * 3 window.resize(1, 1) else: monitor_x, monitor_y, monitor_width, monitor_height = getMonitorBounds() width = int(monitor_width / 2) height = int(monitor_height / 4) * 3 if conf.hasKey(key + "_x") and conf.hasKey(key + "_y"): x = max(0, conf.get(key + "_x")) y = max(0, conf.get(key + "_y")) log.debug("Moving window to x=%s y=%s" % (x, y)) window.move(x, y) elif defaultPosition in (POSITION_CENTER, POSITION_GOLDEN): monitor_x, monitor_y, monitor_width, monitor_height = getMonitorBounds() x_loc = int(monitor_width / 2 - width / 2) + monitor_x if defaultPosition == POSITION_CENTER: y_loc = int(monitor_height / 2 - height / 2) + monitor_y else: # Place the window on the upper golden ratio line y_loc = int(monitor_height / 2.618 - height / 2) + monitor_y log.debug("Moving window to x=%s y=%s" % (x_loc, y_loc)) window.move(x_loc, y_loc) loadPosition(window) # In rare cases, gtk throws some gtk_size_allocation error, which is # probably a race condition. To avoid the window forgets its size in # these cases, we add this extra hook def callback(window): loadPosition(window) onceWhenReady(window, callback) # Some properties can only be set, once the window is sufficiently initialized, # This function lets you queue your request until that has happened. def onceWhenReady(window, func, *args, **kwargs): def cb(window, alloc, func, *args, **kwargs): func(window, *args, **kwargs) window.disconnect(handler_id) handler_id = window.connect_after("size-allocate", cb, func, *args, ** kwargs) def getMonitorBounds(): screen = Gdk.Screen.get_default() root_window = screen.get_root_window() # Just to make sphinx happy... try: ptr_window, mouse_x, mouse_y, mouse_mods = root_window.get_pointer() current_monitor_number = screen.get_monitor_at_point(mouse_x, mouse_y) monitor_geometry = screen.get_monitor_geometry(current_monitor_number) return monitor_geometry.x, monitor_geometry.y, monitor_geometry.width, monitor_geometry.height except TypeError: return (0, 0, 0, 0) tooltip = Gtk.Window(Gtk.WindowType.POPUP) tooltip.set_name('gtk-tooltip') tooltip.ensure_style() tooltipStyle = tooltip.get_style() def makeYellow(box): def on_box_expose_event(box, context): # box.style.paint_flat_box (box.window, # Gtk.StateType.NORMAL, Gtk.ShadowType.NONE, None, box, "tooltip", # box.allocation.x, box.allocation.y, # box.allocation.width, box.allocation.height) pass def cb(box): box.set_style(tooltipStyle) box.connect("draw", on_box_expose_event) onceWhenReady(box, cb) class GladeWidgets: """ A simple class that wraps a the glade get_widget function into the python __getitem__ version """ def __init__(self, filename): # TODO: remove this when upstream fixes translations with Python3+Windows if sys.platform == "win32" and not conf.no_gettext: tree = ET.parse(addDataPrefix("glade/%s" % filename)) for node in tree.iter(): if 'translatable' in node.attrib: node.text = _(node.text) del node.attrib['translatable'] if node.get('name') in ('pixbuf', 'logo'): node.text = addDataPrefix("glade/%s" % node.text) xml_text = ET.tostring(tree.getroot(), encoding='unicode', method='xml') self.builder = Gtk.Builder.new_from_string(xml_text, -1) else: self.builder = Gtk.Builder() if not conf.no_gettext: self.builder.set_translation_domain("pychess") self.builder.add_from_file(addDataPrefix("glade/%s" % filename)) def __getitem__(self, key): return self.builder.get_object(key) def getGlade(self): return self.builder pychess-1.0.0/lib/pychess/System/prefix.py0000755000175000017500000000623613353143212017624 0ustar varunvarun""" This module provides some basic functions for accessing pychess datefiles in system or user space """ import os import sys ################################################################################ # Locate files in system space # ################################################################################ # Test if we are installed on the system, frozen or are being run from tar/svn if getattr(sys, 'frozen', False): _prefix = os.path.join(os.path.dirname(sys.executable), "share", "pychess") _installed = True else: home_local = os.path.expanduser("~") + "/.local" if sys.prefix in __file__: for sub in ("share", "games", "share/games", "local/share", "local/games", "local/share/games"): _prefix = os.path.join(sys.prefix, sub, "pychess") if os.path.isdir(os.path.join(_prefix, "pieces")): _installed = True break else: raise Exception("can't find the pychess data directory") elif home_local in __file__: _prefix = os.path.join(home_local, "share", "pychess") if os.path.isdir(os.path.join(_prefix, "pieces")): _installed = True else: raise Exception("can't find the pychess data directory") else: _prefix = os.path.abspath(os.path.join( os.path.dirname(__file__), "../../..")) _installed = False def addDataPrefix(subpath): return os.path.abspath(os.path.join(_prefix, subpath)) def getDataPrefix(): return _prefix def isInstalled(): return _installed ################################################################################ # Locate files in user space # ################################################################################ def __get_user_dir(xdg_env_var, fallback_dir_path): return os.environ.get(xdg_env_var, os.path.join( os.path.expanduser("~"), fallback_dir_path)) def get_user_data_dir(): return __get_user_dir("XDG_DATA_HOME", ".local/share") def get_user_config_dir(): return __get_user_dir("XDG_CONFIG_HOME", ".config") def get_user_cache_dir(): return __get_user_dir("XDG_CACHE_HOME", ".cache") pychess = "pychess" def getUserDataPrefix(): return os.path.join(get_user_data_dir(), pychess) def addUserDataPrefix(subpath): return os.path.join(getUserDataPrefix(), subpath) def getEngineDataPrefix(): return os.path.join(getUserDataPrefix(), "engines") def addEngineDataPrefix(subpath): return os.path.join(getEngineDataPrefix(), subpath) def getUserConfigPrefix(): return os.path.join(get_user_config_dir(), pychess) def addUserConfigPrefix(subpath): return os.path.join(getUserConfigPrefix(), subpath) def getUserCachePrefix(): return os.path.join(get_user_cache_dir(), pychess) def addUserCachePrefix(subpath): return os.path.join(getUserCachePrefix(), subpath) for directory in (getUserDataPrefix(), getEngineDataPrefix(), getUserConfigPrefix(), getUserCachePrefix()): if not os.path.isdir(directory): os.makedirs(directory, mode=0o700) pychess-1.0.0/lib/pychess/System/cairoextras.py0000644000175000017500000001156313353143212020647 0ustar varunvarun# from: http://cairographics.org/freetypepython/ import ctypes as ct import cairo class PycairoContext(ct.Structure): _fields_ = \ [ ("PyObject_HEAD", ct.c_byte * object.__basicsize__), ("ctx", ct.c_void_p), ("base", ct.c_void_p), ] _initialized = False def create_cairo_font_face_for_file(filename, faceindex=0, loadoptions=0): """ Given the name of a font file, and optional faceindex to pass to FT_New_Face and loadoptions to pass to cairo_ft_font_face_create_for_ft_face, creates a cairo.FontFace object that may be used to render text with that font. """ global _initialized global _freetype_so global _cairo_so global _ft_lib global _ft_destroy_key global _surface CAIRO_STATUS_SUCCESS = 0 FT_Err_Ok = 0 if not _initialized: # find shared objects _freetype_so = ct.CDLL("libfreetype.so.6") _cairo_so = ct.CDLL("libcairo.so.2") _cairo_so.cairo_ft_font_face_create_for_ft_face.restype = ct.c_void_p _cairo_so.cairo_ft_font_face_create_for_ft_face.argtypes = [ct.c_void_p, ct.c_int] _cairo_so.cairo_font_face_get_user_data.restype = ct.c_void_p _cairo_so.cairo_font_face_get_user_data.argtypes = (ct.c_void_p, ct.c_void_p) _cairo_so.cairo_font_face_set_user_data.argtypes = (ct.c_void_p, ct.c_void_p, ct.c_void_p, ct.c_void_p) _cairo_so.cairo_set_font_face.argtypes = [ct.c_void_p, ct.c_void_p] _cairo_so.cairo_font_face_status.argtypes = [ct.c_void_p] _cairo_so.cairo_font_face_destroy.argtypes = (ct.c_void_p,) _cairo_so.cairo_status.argtypes = [ct.c_void_p] # initialize freetype _ft_lib = ct.c_void_p() status = _freetype_so.FT_Init_FreeType(ct.byref(_ft_lib)) if status != FT_Err_Ok: raise RuntimeError("Error %d initializing FreeType library." % status) _surface = cairo.ImageSurface(cairo.FORMAT_A8, 0, 0) _ft_destroy_key = ct.c_int() # dummy address _initialized = True ft_face = ct.c_void_p() cr_face = None try: # load FreeType face status = _freetype_so.FT_New_Face(_ft_lib, filename.encode("utf-8"), faceindex, ct.byref(ft_face)) if status != FT_Err_Ok: raise RuntimeError("Error %d creating FreeType font face for %s" % (status, filename)) # create Cairo font face for freetype face cr_face = _cairo_so.cairo_ft_font_face_create_for_ft_face(ft_face, loadoptions) status = _cairo_so.cairo_font_face_status(cr_face) if status != CAIRO_STATUS_SUCCESS: raise RuntimeError("Error %d creating cairo font face for %s" % (status, filename)) # Problem: Cairo doesn't know to call FT_Done_Face when its font_face object is # destroyed, so we have to do that for it, by attaching a cleanup callback to # the font_face. This only needs to be done once for each font face, while # cairo_ft_font_face_create_for_ft_face will return the same font_face if called # twice with the same FT Face. # The following check for whether the cleanup has been attached or not is # actually unnecessary in our situation, because each call to FT_New_Face # will return a new FT Face, but we include it here to show how to handle the # general case. if _cairo_so.cairo_font_face_get_user_data(cr_face, ct.byref(_ft_destroy_key)) is None: status = _cairo_so.cairo_font_face_set_user_data( cr_face, ct.byref(_ft_destroy_key), ft_face, _freetype_so.FT_Done_Face) if status != CAIRO_STATUS_SUCCESS: raise RuntimeError("Error %d doing user_data dance for %s" % (status, filename)) ft_face = None # Cairo has stolen my reference # set Cairo font face into Cairo context cairo_ctx = cairo.Context(_surface) cairo_t = PycairoContext.from_address(id(cairo_ctx)).ctx _cairo_so.cairo_set_font_face(cairo_t, cr_face) status = _cairo_so.cairo_font_face_status(cairo_t) if status != CAIRO_STATUS_SUCCESS: raise RuntimeError("Error %d creating cairo font face for %s" % (status, filename)) finally: _cairo_so.cairo_font_face_destroy(cr_face) _freetype_so.FT_Done_Face(ft_face) # get back Cairo font face as a Python object face = cairo_ctx.get_font_face() return face if __name__ == '__main__': face = create_cairo_font_face_for_file("../../../pieces/ttf/harlequin.ttf", 0) surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 200, 128) ctx = cairo.Context(surface) ctx.set_font_face(face) ctx.set_font_size(30) ctx.move_to(0, 44) ctx.show_text("pnbrqk") ctx.move_to(0, 74) ctx.show_text("omvtwl") del ctx surface.write_to_png("0pieces.png") pychess-1.0.0/lib/pychess/System/readuntil.py0000644000175000017500000001260313353143212020306 0ustar varunvarun""" Monkey patching asyncio.StreamReader to add readuntil() from Python 3.5.2""" import asyncio class IncompleteReadError(EOFError): """ Incomplete read error. Attributes: - partial: read bytes string before the end of stream was reached - expected: total number of expected bytes (or None if unknown) """ def __init__(self, partial, expected): super().__init__("%d bytes read on a total of %r expected bytes" % (len(partial), expected)) self.partial = partial self.expected = expected class LimitOverrunError(Exception): """Reached the buffer limit while looking for a separator. Attributes: - consumed: total number of to be consumed bytes. """ def __init__(self, message, consumed): super().__init__(message) self.consumed = consumed @asyncio.coroutine def _wait_for_data(self, func_name): """Wait until feed_data() or feed_eof() is called. If stream was paused, automatically resume it. """ # StreamReader uses a future to link the protocol feed_data() method # to a read coroutine. Running two read coroutines at the same time # would have an unexpected behaviour. It would not possible to know # which coroutine would get the next data. if self._waiter is not None: raise RuntimeError('%s() called while another coroutine is ' 'already waiting for incoming data' % func_name) assert not self._eof, '_wait_for_data after EOF' # Waiting for data while paused will make deadlock, so prevent it. if self._paused: self._paused = False self._transport.resume_reading() self._waiter = asyncio.futures.Future(loop=self._loop) try: yield from self._waiter finally: self._waiter = None @asyncio.coroutine def readuntil(self, separator=b'\n'): """Read data from the stream until ``separator`` is found. On success, the data and separator will be removed from the internal buffer (consumed). Returned data will include the separator at the end. Configured stream limit is used to check result. Limit sets the maximal length of data that can be returned, not counting the separator. If an EOF occurs and the complete separator is still not found, an IncompleteReadError exception will be raised, and the internal buffer will be reset. The IncompleteReadError.partial attribute may contain the separator partially. If the data cannot be read because of over limit, a LimitOverrunError exception will be raised, and the data will be left in the internal buffer, so it can be read again. """ seplen = len(separator) if seplen == 0: raise ValueError('Separator should be at least one-byte string') if self._exception is not None: raise self._exception # Consume whole buffer except last bytes, which length is # one less than seplen. Let's check corner cases with # separator='SEPARATOR': # * we have received almost complete separator (without last # byte). i.e buffer='some textSEPARATO'. In this case we # can safely consume len(separator) - 1 bytes. # * last byte of buffer is first byte of separator, i.e. # buffer='abcdefghijklmnopqrS'. We may safely consume # everything except that last byte, but this require to # analyze bytes of buffer that match partial separator. # This is slow and/or require FSM. For this case our # implementation is not optimal, since require rescanning # of data that is known to not belong to separator. In # real world, separator will not be so long to notice # performance problems. Even when reading MIME-encoded # messages :) # `offset` is the number of bytes from the beginning of the buffer # where there is no occurrence of `separator`. offset = 0 # Loop until we find `separator` in the buffer, exceed the buffer size, # or an EOF has happened. while True: buflen = len(self._buffer) # Check if we now have enough data in the buffer for `separator` to # fit. if buflen - offset >= seplen: isep = self._buffer.find(separator, offset) if isep != -1: # `separator` is in the buffer. `isep` will be used later # to retrieve the data. break # see upper comment for explanation. offset = buflen + 1 - seplen if offset > self._limit: raise LimitOverrunError( 'Separator is not found, and chunk exceed the limit', offset) # Complete message (with full separator) may be present in buffer # even when EOF flag is set. This may happen when the last chunk # adds data which makes separator be found. That's why we check for # EOF *ater* inspecting the buffer. if self._eof: chunk = bytes(self._buffer) self._buffer.clear() raise IncompleteReadError(chunk, None) # _wait_for_data() will resume reading if stream was paused. yield from self._wait_for_data('readuntil') if isep > self._limit: raise LimitOverrunError( 'Separator is found, but chunk is longer than limit', isep) chunk = self._buffer[:isep + seplen] del self._buffer[:isep + seplen] self._maybe_resume_transport() return bytes(chunk) pychess-1.0.0/lib/pychess/System/LogEmitter.py0000644000175000017500000000231613353143212020372 0ustar varunvarunimport time import logging from gi.repository import GObject, GLib class LogEmitter(GObject.GObject): __gsignals__ = { "logged": (GObject.SignalFlags.RUN_FIRST, None, (object, )) } # list of (str, float, str, int) def __init__(self): GObject.GObject.__init__(self) # We store everything in this list, so that the LogDialog, which is # imported a little later, will have all data ever given to Log. # When Dialog inits, it will set this list to None, and we will stop # appending data to it. Ugly? Somewhat I guess. self.messages = [] class GLogHandler(logging.Handler): def __init__(self, emitter): logging.Handler.__init__(self) self.emitter = emitter def emit(self, record): def _emit(record): message = self.format(record) if self.emitter.messages is not None: self.emitter.messages.append((record.task, time.time(), message, record.levelno)) self.emitter.emit("logged", (record.task, time.time(), message, record.levelno)) GLib.idle_add(_emit, record) logemitter = LogEmitter() pychess-1.0.0/lib/pychess/external/0000755000175000017500000000000013467766037016327 5ustar varunvarunpychess-1.0.0/lib/pychess/external/__init__.py0000644000175000017500000000000013353143212020400 0ustar varunvarunpychess-1.0.0/lib/pychess/external/chess_db.py0000644000175000017500000000714513434743747020457 0ustar varunvarun#!/usr/bin/env python import json import os import re import pexpect from pexpect.popen_spawn import PopenSpawn from pychess.Players.ProtocolEngine import TIME_OUT_SECOND PGN_HEADERS_REGEX = re.compile(r"\[([A-Za-z0-9_]+)\s+\"(.*)\"\]") class Parser: def __init__(self, engine=''): if not engine: engine = './parser' self.p = PopenSpawn(engine, timeout=TIME_OUT_SECOND, encoding="utf-8") self.pgn = '' self.db = '' def wait_ready(self): self.p.sendline('isready') self.p.expect(u'readyok') def open(self, pgn, full=True): '''Open a PGN file and create an index if not exsisting''' if not os.path.isfile(pgn): raise NameError("File {} does not exsist".format(pgn)) pgn = os.path.normcase(pgn) self.pgn = pgn self.db = os.path.splitext(pgn)[0] + '.bin' if not os.path.isfile(self.db): result = self.make(full) self.db = result['Book file'] def close(self): '''Terminate chess_db. Not really needed: engine will terminate as soon as pipe is closed, i.e. when we exit.''' self.p.sendline('quit') self.p.expect(pexpect.EOF) self.pgn = '' self.db = '' def make(self, full=True): '''Make an index out of a pgn file''' if not self.pgn: raise NameError("Unknown DB, first open a PGN file") cmd = 'book ' + self.pgn if full: cmd += ' full' self.p.sendline(cmd) self.wait_ready() s = '{' + self.p.before.split('{')[1] s = s.replace('\\', r'\\') # Escape Windows's path delimiter result = json.loads(s) self.p.before = '' return result def find(self, fen, limit=10, skip=0): '''Find all games with positions equal to fen''' if not self.db: raise NameError("Unknown DB, first open a PGN file") cmd = "find {} limit {} skip {} {}".format(self.db, limit, skip, fen) self.p.sendline(cmd) self.wait_ready() result = json.loads(self.p.before) self.p.before = '' return result def get_games(self, list): '''Retrieve the PGN games specified in the offset list''' if not self.pgn: raise NameError("Unknown DB, first open a PGN file") pgn = [] with open(self.pgn, "r") as f: for ofs in list: f.seek(ofs) game = '' for line in f: if line.startswith('[Event "'): if game: break # Second one, start of next game else: game = line # First occurence elif game: game += line pgn.append(game.strip()) return pgn def get_header(self, pgn): '''Return a dict with just header information out of a pgn game. The pgn tags are supposed to be consecutive''' header = {} for line in pgn.splitlines(): line = line.strip() if line.startswith('[') and line.endswith(']'): tag_match = PGN_HEADERS_REGEX.match(line) if tag_match: header[tag_match.group(1)] = tag_match.group(2) else: break return header def get_game_headers(self, list): '''Return a list of headers out of a list of pgn games''' headers = [] for pgn in list: h = self.get_header(pgn) headers.append(h) return headers pychess-1.0.0/lib/pychess/external/gbulb/0000755000175000017500000000000013467766037017422 5ustar varunvarunpychess-1.0.0/lib/pychess/external/gbulb/utils.py0000644000175000017500000000351113353143212021106 0ustar varunvarunimport asyncio import weakref __all__ = ['install', 'get_event_loop', 'wait_signal'] def install(gtk=False): """Set the default event loop policy. Call this as early as possible to ensure everything has a reference to the correct event loop. Set ``gtk`` to True if you intend to use Gtk in your application. If ``gtk`` is True and Gtk is not available, will raise `ValueError`. Note that this class performs some monkey patching of asyncio to ensure correct functionality. """ if gtk: from .gtk import GtkEventLoopPolicy policy = GtkEventLoopPolicy() else: from .glib_events import GLibEventLoopPolicy policy = GLibEventLoopPolicy() # There are some libraries that use SafeChildWatcher directly (which is # completely reasonable), so we have to ensure that it is our version. I'm # sorry, I know this isn't great but it's basically the best that we have. from .glib_events import GLibChildWatcher asyncio.SafeChildWatcher = GLibChildWatcher asyncio.set_event_loop_policy(policy) def get_event_loop(): """Alias to asyncio.get_event_loop().""" return asyncio.get_event_loop() class wait_signal(asyncio.Future): """A future for waiting for a given signal to occur.""" def __init__(self, obj, name, *, loop=None): super().__init__(loop=loop) self._obj = weakref.ref(obj, lambda s: self.cancel()) self._hnd = obj.connect(name, self._signal_callback) def _signal_callback(self, *k): obj = self._obj() if obj is not None: obj.disconnect(self._hnd) self.set_result(k) def cancel(self): if self.cancelled(): return False super().cancel() obj = self._obj() if obj is not None: obj.disconnect(self._hnd) return True pychess-1.0.0/lib/pychess/external/gbulb/transports.py0000644000175000017500000003130213353143212022164 0ustar varunvarunimport collections import socket import subprocess from asyncio import base_subprocess, futures, transports class BaseTransport(transports.BaseTransport): def __init__(self, loop, sock, protocol, waiter=None, extra=None, server=None): if hasattr(self, '_sock'): return # The joys of multiple inheritance transports.BaseTransport.__init__(self, extra) self._loop = loop self._sock = sock self._protocol = protocol self._server = server self._closing = False self._closing_delayed = False self._closed = False self._cancelable = set() if sock is not None: self._loop._transports[sock.fileno()] = self if self._server is not None: self._server._attach() def transport_async_init(): self._protocol.connection_made(self) if waiter is not None and not waiter.cancelled(): waiter.set_result(None) self._loop.call_soon(transport_async_init) def close(self): self._closing = True if not self._closing_delayed: self._force_close(None) def is_closing(self): return self._closing def set_protocol(self, protocol): self._protocol = protocol def get_protocol(self): return self._protocol def _fatal_error(self, exc, message='Fatal error on pipe transport'): self._loop.call_exception_handler({ 'message': message, 'exception': exc, 'transport': self, 'protocol': self._protocol, }) self._force_close(exc) def _force_close(self, exc): if self._closed: return self._closed = True # Stop all running tasks for cancelable in self._cancelable: cancelable.cancel() self._cancelable.clear() self._loop.call_soon(self._force_close_async, exc) def _force_close_async(self, exc): try: self._protocol.connection_lost(exc) finally: if self._sock is not None: self._sock.close() self._sock = None if self._server is not None: self._server._detach() self._server = None class ReadTransport(BaseTransport, transports.ReadTransport): max_size = 256 * 1024 def __init__(self, *args, **kwargs): BaseTransport.__init__(self, *args, **kwargs) self._paused = False self._read_fut = None self._loop.call_soon(self._loop_reading) def pause_reading(self): if self._closing: raise RuntimeError('Cannot pause_reading() when closing') if self._paused: raise RuntimeError('Already paused') self._paused = True def resume_reading(self): if not self._paused: raise RuntimeError('Not paused') self._paused = False if self._closing: return self._loop.call_soon(self._loop_reading, self._read_fut) def _close_read(self): # Separate method to allow `Transport.close()` to call us without # us delegating to `BaseTransport.close()` if self._read_fut is not None: self._read_fut.cancel() self._read_fut = None def close(self): self._close_read() super().close() def _create_read_future(self, size): return self._loop.sock_recv(self._sock, size) def _submit_read_data(self, data): if data: self._protocol.data_received(data) else: keep_open = self._protocol.eof_received() if not keep_open: self.close() def _loop_reading(self, fut=None): if self._paused: return data = None try: if fut is not None: assert self._read_fut is fut or (self._read_fut is None and self._closing) if self._read_fut in self._cancelable: self._cancelable.remove(self._read_fut) self._read_fut = None data = fut.result() # Deliver data later in "finally" clause if self._closing: # Since `.close()` has been called we ignore any read data data = None return if data == b'': # No need to reschedule on end-of-file return # Reschedule a new read self._read_fut = self._create_read_future(self.max_size) self._cancelable.add(self._read_fut) except ConnectionAbortedError as exc: if not self._closing: self._fatal_error(exc, 'Fatal read error on pipe transport') except ConnectionResetError as exc: self._force_close(exc) except OSError as exc: self._fatal_error(exc, 'Fatal read error on pipe transport') except futures.CancelledError: if not self._closing: raise except futures.InvalidStateError: self._read_fut = fut self._cancelable.add(self._read_fut) else: self._read_fut.add_done_callback(self._loop_reading) finally: if data is not None: self._submit_read_data(data) class WriteTransport(BaseTransport, transports._FlowControlMixin): _buffer_factory = bytearray def __init__(self, loop, *args, **kwargs): transports._FlowControlMixin.__init__(self, None, loop) BaseTransport.__init__(self, loop, *args, **kwargs) self._buffer = self._buffer_factory() self._buffer_empty_callbacks = set() self._write_fut = None self._eof_written = False def abort(self): self._force_close(None) def can_write_eof(self): return True def get_write_buffer_size(self): return len(self._buffer) def _close_write(self): if self._write_fut is not None: self._closing_delayed = True def transport_write_done_callback(): self._closing_delayed = False self.close() self._buffer_empty_callbacks.add(transport_write_done_callback) def close(self): self._close_write() super().close() def write(self, data): if self._eof_written: raise RuntimeError('write_eof() already called') # Ignore empty data sets or requests to write to a dying connection if not data or self._closing: return if self._write_fut is None: # No data is currently buffered or being sent self._loop_writing(data=data) else: self._buffer_add_data(data) self._maybe_pause_protocol() # From _FlowControlMixin def _create_write_future(self, data): return self._loop.sock_sendall(self._sock, data) def _buffer_add_data(self, data): self._buffer.extend(data) def _buffer_pop_data(self): if len(self._buffer) > 0: data = self._buffer self._buffer = bytearray() return data else: return None def _loop_writing(self, fut=None, data=None): try: assert fut is self._write_fut if self._write_fut in self._cancelable: self._cancelable.remove(self._write_fut) self._write_fut = None # Raise possible exception stored in `fut` if fut: fut.result() # Use buffer as next data object if invoked from done callback if data is None: data = self._buffer_pop_data() if not data: if len(self._buffer_empty_callbacks) > 0: for callback in self._buffer_empty_callbacks: callback() self._buffer_empty_callbacks.clear() self._maybe_resume_protocol() else: self._write_fut = self._create_write_future(data) self._cancelable.add(self._write_fut) if not self._write_fut.done(): self._write_fut.add_done_callback(self._loop_writing) self._maybe_pause_protocol() else: self._write_fut.add_done_callback(self._loop_writing) except ConnectionResetError as exc: self._force_close(exc) except OSError as exc: self._fatal_error(exc, 'Fatal write error on pipe transport') def write_eof(self): self.close() class Transport(ReadTransport, WriteTransport): def __init__(self, *args, **kwargs): ReadTransport.__init__(self, *args, **kwargs) WriteTransport.__init__(self, *args, **kwargs) # Set expected extra attributes (available through `.get_extra_info()`) self._extra['socket'] = self._sock try: self._extra['sockname'] = self._sock.getsockname() except (OSError, AttributeError): pass if 'peername' not in self._extra: try: self._extra['peername'] = self._sock.getpeername() except (OSError, AttributeError) as error: pass def close(self): # Need to invoke both the read's and the write's part of the transport `close` function self._close_read() self._close_write() BaseTransport.close(self) class SocketTransport(Transport): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) def write_eof(self): if self._closing or self._eof_written: return self._eof_written = True if self._write_fut is None: self._sock.shutdown(socket.SHUT_WR) else: def transport_write_eof_callback(): if not self._closing: self._sock.shutdown(socket.SHUT_WR) self._buffer_empty_callbacks.add(transport_write_eof_callback) class DatagramTransport(Transport, transports.DatagramTransport): _buffer_factory = collections.deque def __init__(self, loop, sock, protocol, address=None, *args, **kwargs): self._address = address super().__init__(loop, sock, protocol, *args, **kwargs) def _create_read_future(self, size): return self._loop.sock_recvfrom(self._sock, size) def _submit_read_data(self, args): (data, addr) = args self._protocol.datagram_received(data, addr) def _create_write_future(self, args): (data, addr) = args if self._address: return self._loop.sock_sendall(self._sock, data) else: return self._loop.sock_sendallto(self._sock, data, addr) def _buffer_add_data(self, args): (data, addr) = args self._buffer.append((bytes(data), addr)) def _buffer_pop_data(self): if len(self._buffer) > 0: return self._buffer.popleft() else: return None def write(self, data, addr=None): if not isinstance(data, (bytes, bytearray, memoryview)): raise TypeError("data argument must be a bytes-like object, " "not {!r}".format(type(data).__name__)) if not data or self.is_closing(): return if self._address and addr not in (None, self._address): raise ValueError("Invalid address: must be None or {0}".format(self._address)) # Do not copy the data yet, as we might be able to send it synchronously super().write((data, addr)) sendto = write class PipeReadTransport(ReadTransport): def __init__(self, loop, channel, protocol, waiter, extra): self._channel = channel self._channel.set_close_on_unref(True) super().__init__(loop, None, protocol, waiter, extra) def _create_read_future(self, size): return self._loop._channel_read(self._channel, size) def _force_close_async(self, exc): try: super()._force_close_async(exc) finally: self._channel.shutdown(True) class PipeWriteTransport(WriteTransport): def __init__(self, loop, channel, protocol, waiter, extra): self._channel = channel self._channel.set_close_on_unref(True) super().__init__(loop, None, protocol, waiter, extra) def _create_write_future(self, data): return self._loop._channel_write(self._channel, data) def _force_close_async(self, exc): try: super()._force_close_async(exc) finally: self._channel.shutdown(True) class SubprocessTransport(base_subprocess.BaseSubprocessTransport): def _start(self, args, shell, stdin, stdout, stderr, bufsize, **kwargs): self._proc = subprocess.Popen( args, shell=shell, stdin=stdin, stdout=stdout, stderr=stderr, bufsize=bufsize, **kwargs) pychess-1.0.0/lib/pychess/external/gbulb/glib_events.py0000644000175000017500000007626613365545272022307 0ustar varunvarun# -*- coding: UTF-8 -*- """PEP 3156 event loop based on GLib""" import asyncio import os import signal import socket import sys import threading import weakref from asyncio import constants, events, futures, sslproto, tasks from gi.repository import GLib, Gio from . import transports if hasattr(os, 'set_blocking'): def _set_nonblocking(fd): os.set_blocking(fd, False) elif sys.platform == 'win32': def _set_nonblocking(fd): pass else: import fcntl def _set_nonblocking(fd): flags = fcntl.fcntl(fd, fcntl.F_GETFL) flags = flags | os.O_NONBLOCK fcntl.fcntl(fd, fcntl.F_SETFL, flags) __all__ = ['GLibEventLoop', 'GLibEventLoopPolicy'] # The Windows `asyncio` implementation doesn't actually use this, but # `glib` abstracts so nicely over this that we can use it on any platform if sys.platform == "win32": class AbstractChildWatcher: pass else: from asyncio.unix_events import AbstractChildWatcher class GLibChildWatcher(AbstractChildWatcher): def __init__(self): self._sources = {} self._handles = {} # On windows on has to open a process handle for the given PID number # before it's possible to use GLib's `child_watch_add` on it if sys.platform == "win32": def _create_handle_for_pid(self, pid): import _winapi return _winapi.OpenProcess(0x00100400, 0, pid) def _close_process_handle(self, handle): import _winapi _winapi.CloseHandle(handle) else: _create_handle_for_pid = lambda self, pid: pid _close_process_handle = lambda self, pid: None def attach_loop(self, loop): # just ignored pass def add_child_handler(self, pid, callback, *args): self.remove_child_handler(pid) handle = self._create_handle_for_pid(pid) source = GLib.child_watch_add(0, handle, self.__callback__) self._sources[pid] = source, callback, args, handle self._handles[handle] = pid def remove_child_handler(self, pid): try: source, callback, args, handle = self._sources.pop(pid) assert self._handles.pop(handle) == pid except KeyError: return False self._close_process_handle(handle) GLib.source_remove(source) return True def close(self): for source, callback, args, handle in self._sources.values(): self._close_process_handle(handle) GLib.source_remove(source) self._sources = {} self._handles = {} def __enter__(self): return self def __exit__(self, a, b, c): pass def __callback__(self, handle, status): try: pid = self._handles.pop(handle) source, callback, args, handle = self._sources.pop(pid) except KeyError: return self._close_process_handle(handle) GLib.source_remove(source) if hasattr(os, "WIFSIGNALED") and os.WIFSIGNALED(status): returncode = -os.WTERMSIG(status) elif hasattr(os, "WIFEXITED") and os.WIFEXITED(status): returncode = os.WEXITSTATUS(status) # FIXME: Hack for adjusting invalid status returned by GLIB # Looks like there is a bug in glib or in pygobject if returncode > 128: returncode = 128 - returncode else: returncode = status callback(pid, returncode, *args) class GLibHandle(events.Handle): __slots__ = ('_source', '_repeat', '_context') def __init__(self, *, loop, source, repeat, callback, args, context=None): super().__init__(callback, args, loop) if sys.version_info[:2] >= (3, 7) and context is None: import contextvars context = contextvars.copy_context() self._context = context self._source = source self._repeat = repeat loop._handlers.add(self) source.set_callback(self.__callback__, self) source.attach(loop._context) def cancel(self): super().cancel() self._source.destroy() self._loop._handlers.discard(self) def __callback__(self, ignore_self): # __callback__ is called within the MainContext object, which is # important in case that code includes a `Gtk.main()` or some such. # Otherwise what happens is the loop is started recursively, but the # callbacks don't finish firing, so they can't be rescheduled. self._run() if not self._repeat: self._source.destroy() self._loop._handlers.discard(self) return self._repeat if sys.platform == "win32": class GLibBaseEventLoopPlatformExt: def __init__(self): pass def close(self): pass else: from asyncio import unix_events class GLibBaseEventLoopPlatformExt(unix_events.SelectorEventLoop): """ Semi-hack that allows us to leverage the existing implementation of Unix domain sockets without having to actually implement a selector based event loop. Note that both `__init__` and `close` DO NOT and SHOULD NOT ever call their parent implementation! """ def __init__(self): self._sighandlers = {} def close(self): for sig in list(self._sighandlers): self.remove_signal_handler(sig) def add_signal_handler(self, sig, callback, *args): self.remove_signal_handler(sig) s = GLib.unix_signal_source_new(sig) if s is None: # Show custom error messages for signal that are uncatchable if sig == signal.SIGKILL: raise RuntimeError("cannot catch SIGKILL") elif sig == signal.SIGSTOP: raise RuntimeError("cannot catch SIGSTOP") else: raise ValueError("signal not supported") assert sig not in self._sighandlers self._sighandlers[sig] = GLibHandle( loop=self, source=s, repeat=True, callback=callback, args=args) def remove_signal_handler(self, sig): try: self._sighandlers.pop(sig).cancel() return True except KeyError: return False class _BaseEventLoop(asyncio.BaseEventLoop): """ Extra inheritance step that needs to be inserted so that we only ever indirectly inherit from `asyncio.BaseEventLoop`. This is necessary as the Unix implementation will also indirectly inherit from that class (thereby creating diamond inheritance). Python permits and fully supports diamond inheritance so this is not a problem. However it is, on the other hand, not permitted to inherit from a class both directly *and* indirectly – hence we add this intermediate class to make sure that can never happen (see https://stackoverflow.com/q/29214888 for a minimal example a forbidden inheritance tree) and https://www.python.org/download/releases/2.3/mro/ for some extensive documentation of the allowed inheritance structures in python. """ class GLibBaseEventLoop(_BaseEventLoop, GLibBaseEventLoopPlatformExt): def __init__(self, context=None): self._handlers = set() self._accept_futures = {} self._context = context or GLib.MainContext() self._selector = self self._transports = weakref.WeakValueDictionary() self._readers = {} self._writers = {} self._channels = weakref.WeakValueDictionary() _BaseEventLoop.__init__(self) GLibBaseEventLoopPlatformExt.__init__(self) def close(self): for future in self._accept_futures.values(): future.cancel() self._accept_futures.clear() for s in list(self._handlers): s.cancel() self._handlers.clear() GLibBaseEventLoopPlatformExt.close(self) _BaseEventLoop.close(self) def select(self, timeout=None): self._context.acquire() try: if timeout is None: self._context.iteration(True) elif timeout <= 0: self._context.iteration(False) else: # Schedule fake callback that will trigger an event and cause the loop to terminate # after the given number of seconds handle = GLibHandle( loop=self, source=GLib.Timeout(timeout*1000), repeat=False, callback=lambda: None, args=()) try: self._context.iteration(True) finally: handle.cancel() return () # Available events are dispatched immediately and not returned finally: self._context.release() def _make_socket_transport(self, sock, protocol, waiter=None, *, extra=None, server=None): """Create socket transport.""" return transports.SocketTransport(self, sock, protocol, waiter, extra, server) def _make_ssl_transport(self, rawsock, protocol, sslcontext, waiter=None, *, server_side=False, server_hostname=None, extra=None, server=None, ssl_handshake_timeout=None): """Create SSL transport.""" # sslproto._is_sslproto_available was removed from asyncio, starting from Python 3.7. if hasattr(sslproto, '_is_sslproto_available') and not sslproto._is_sslproto_available(): raise NotImplementedError("Proactor event loop requires Python 3.5" " or newer (ssl.MemoryBIO) to support " "SSL") # Support for the ssl_handshake_timeout keyword argument was added in Python 3.7. extra_protocol_kwargs = {} if sys.version_info[:2] >= (3, 7): extra_protocol_kwargs['ssl_handshake_timeout'] = ssl_handshake_timeout ssl_protocol = sslproto.SSLProtocol(self, protocol, sslcontext, waiter, server_side, server_hostname, **extra_protocol_kwargs) transports.SocketTransport(self, rawsock, ssl_protocol, extra=extra, server=server) return ssl_protocol._app_transport def _make_datagram_transport(self, sock, protocol, address=None, waiter=None, extra=None): """Create datagram transport.""" return transports.DatagramTransport(self, sock, protocol, address, waiter, extra) def _make_read_pipe_transport(self, pipe, protocol, waiter=None, extra=None): """Create read pipe transport.""" channel = self._channel_from_fileobj(pipe) return transports.PipeReadTransport(self, channel, protocol, waiter, extra) def _make_write_pipe_transport(self, pipe, protocol, waiter=None, extra=None): """Create write pipe transport.""" channel = self._channel_from_fileobj(pipe) return transports.PipeWriteTransport(self, channel, protocol, waiter, extra) @asyncio.coroutine def _make_subprocess_transport(self, protocol, args, shell, stdin, stdout, stderr, bufsize, extra=None, **kwargs): """Create subprocess transport.""" with events.get_child_watcher() as watcher: waiter = asyncio.Future(loop=self) transport = transports.SubprocessTransport(self, protocol, args, shell, stdin, stdout, stderr, bufsize, waiter=waiter, extra=extra, **kwargs) watcher.add_child_handler(transport.get_pid(), self._child_watcher_callback, transport) try: yield from waiter except Exception as exc: err = exc else: err = None if err is not None: transport.close() yield from transport._wait() raise err return transport def _child_watcher_callback(self, pid, returncode, transport): self.call_soon_threadsafe(transport._process_exited, returncode) def _write_to_self(self): self._context.wakeup() def _process_events(self, event_list): """Process selector events.""" pass # This is already done in `.select()` def _start_serving(self, protocol_factory, sock, sslcontext=None, server=None, backlog=100, ssl_handshake_timeout=getattr(constants, 'SSL_HANDSHAKE_TIMEOUT', 60.0)): self._transports[sock.fileno()] = server def server_loop(f=None): try: if f is not None: (conn, addr) = f.result() protocol = protocol_factory() if sslcontext is not None: # FIXME: add ssl_handshake_timeout to this call once 3.7 support is merged in. self._make_ssl_transport( conn, protocol, sslcontext, server_side=True, extra={'peername': addr}, server=server) else: self._make_socket_transport( conn, protocol, extra={'peername': addr}, server=server) if self.is_closed(): return f = self.sock_accept(sock) except OSError as exc: if sock.fileno() != -1: self.call_exception_handler({ 'message': 'Accept failed on a socket', 'exception': exc, 'socket': sock, }) sock.close() except futures.CancelledError: sock.close() else: self._accept_futures[sock.fileno()] = f f.add_done_callback(server_loop) self.call_soon(server_loop) def _stop_serving(self, sock): if sock.fileno() in self._accept_futures: self._accept_futures[sock.fileno()].cancel() sock.close() def _check_not_coroutine(self, callback, name): """Check whether the given callback is a coroutine or not.""" from asyncio import coroutines if (coroutines.iscoroutine(callback) or coroutines.iscoroutinefunction(callback)): raise TypeError("coroutines cannot be used with {}()".format(name)) def _ensure_fd_no_transport(self, fd): """Ensure that the given file descriptor is NOT used by any transport. Adding another reader to a fd that is already being waited for causes a hang on Windows.""" try: transport = self._transports[fd] except KeyError: pass else: if not hasattr(transport, "is_closing") or not transport.is_closing(): raise RuntimeError('File descriptor {!r} is used by transport {!r}' .format(fd, transport)) def _channel_from_socket(self, sock): """Create GLib IOChannel for the given file object. This function will cache weak references to `GLib.Channel` objects it previously has created to prevent weird issues that can occur when two GLib channels point to the same underlying socket resource. On windows this will only work for network sockets. """ fd = self._fileobj_to_fd(sock) sock_id = id(sock) try: channel = self._channels[sock_id] except KeyError: if sys.platform == "win32": channel = GLib.IOChannel.win32_new_socket(fd) else: channel = GLib.IOChannel.unix_new(fd) # disabling buffering requires setting the encoding to None channel.set_encoding(None) channel.set_buffered(False) self._channels[sock_id] = channel return channel def _channel_from_fileobj(self, fileobj): """Create GLib IOChannel for the given file object. On windows this will only work for files and pipes returned GLib's C library. """ fd = self._fileobj_to_fd(fileobj) # pipes have been shown to be blocking here, so we'll do someone # else's job for them. _set_nonblocking(fd) if sys.platform == "win32": channel = GLib.IOChannel.win32_new_fd(fd) else: channel = GLib.IOChannel.unix_new(fd) # disabling buffering requires setting the encoding to None channel.set_encoding(None) channel.set_buffered(False) return channel def _fileobj_to_fd(self, fileobj): """Obtain the raw file descriptor number for the given file object.""" if isinstance(fileobj, int): fd = fileobj else: try: fd = int(fileobj.fileno()) except (AttributeError, TypeError, ValueError): raise ValueError("Invalid file object: {!r}".format(fileobj)) if fd < 0: raise ValueError("Invalid file descriptor: {}".format(fd)) return fd def _delayed(self, source, callback=None, *args): """Create a future that will complete after the given GLib Source object has become ready and the data it tracks has been processed.""" future = None def handle_ready(*args): try: if callback: (done, result) = callback(*args) else: (done, result) = (True, None) if done: future.set_result(result) future.handle.cancel() except Exception as error: if not future.cancelled(): future.set_exception(error) future.handle.cancel() # Create future and properly wire up it's cancellation with the # handle's cancellation machinery future = asyncio.Future(loop=self) future.handle = GLibHandle( loop=self, source=source, repeat=True, callback=handle_ready, args=args ) return future def _socket_handle_errors(self, sock): """Raise exceptions for error states (SOL_ERROR) on the given socket object.""" errno = sock.getsockopt(socket.SOL_SOCKET, socket.SO_ERROR) if errno != 0: if sys.platform == "win32": msg = socket.errorTab.get(errno, "Error {0}".format(errno)) raise OSError(errno, "[WinError {0}] {1}".format(errno, msg), None, errno) else: raise OSError(errno, os.strerror(errno)) ############################### # Low-level socket operations # ############################### def sock_connect(self, sock, address): # Request connection on socket (it is expected that `sock` is already non-blocking) try: sock.connect(address) except BlockingIOError: pass # Create glib IOChannel for socket and wait for it to become writable channel = self._channel_from_socket(sock) source = GLib.io_create_watch(channel, GLib.IO_OUT) def sock_finish_connect(sock): self._socket_handle_errors(sock) return (True, sock) return self._delayed(source, sock_finish_connect, sock) def sock_accept(self, sock): channel = self._channel_from_socket(sock) source = GLib.io_create_watch(channel, GLib.IO_IN) def sock_connection_received(sock): return (True, sock.accept()) @asyncio.coroutine def accept_coro(future, conn): # Coroutine closing the accept socket if the future is cancelled try: return (yield from future) except futures.CancelledError: sock.close() raise future = self._delayed(source, sock_connection_received, sock) return self.create_task(accept_coro(future, sock)) def sock_recv(self, sock, nbytes, flags=0): channel = self._channel_from_socket(sock) read_func = lambda channel, nbytes: sock.recv(nbytes, flags) return self._channel_read(channel, nbytes, read_func) def sock_recvfrom(self, sock, nbytes, flags=0): channel = self._channel_from_socket(sock) read_func = lambda channel, nbytes: sock.recvfrom(nbytes, flags) return self._channel_read(channel, nbytes, read_func) def sock_sendall(self, sock, buf, flags=0): channel = self._channel_from_socket(sock) write_func = lambda channel, buf: sock.send(buf, flags) return self._channel_write(channel, buf, write_func) def sock_sendallto(self, sock, buf, addr, flags=0): channel = self._channel_from_socket(sock) write_func = lambda channel, buf: sock.sendto(buf, flags, addr) return self._channel_write(channel, buf, write_func) ##################################### # Low-level GLib.Channel operations # ##################################### def _channel_read(self, channel, nbytes, read_func=None): if read_func is None: read_func = lambda channel, nbytes: channel.read(nbytes) source = GLib.io_create_watch(channel, GLib.IO_IN | GLib.IO_HUP) def channel_readable(read_func, channel, nbytes): return (True, read_func(channel, nbytes)) return self._delayed(source, channel_readable, read_func, channel, nbytes) def _channel_write(self, channel, buf, write_func=None): if write_func is None: # note: channel.write doesn't raise BlockingIOError, instead it # returns 0 # gi.overrides.GLib.write has an isinstance(buf, bytes) check, so # we can't give it a bytearray or a memoryview. write_func = lambda channel, buf: channel.write(bytes(buf)) buflen = len(buf) # Fast-path: If there is enough room in the OS buffer all data can be written synchronously try: nbytes = write_func(channel, buf) except BlockingIOError: nbytes = 0 else: if nbytes >= len(buf): # All data was written synchronously in one go result = asyncio.Future(loop=self) result.set_result(nbytes) return result # Chop off the initially transmitted data and store result # as a bytearray for easier future modification buf = bytearray(buf[nbytes:]) # Send the remaining data asynchronously as the socket becomes writable source = GLib.io_create_watch(channel, GLib.IO_OUT) def channel_writable(buflen, write_func, channel, buf): nbytes = write_func(channel, buf) if nbytes >= len(buf): return (True, buflen) else: del buf[0:nbytes] return (False, buflen) return self._delayed(source, channel_writable, buflen, write_func, channel, buf) def add_reader(self, fileobj, callback, *args): fd = self._fileobj_to_fd(fileobj) self._ensure_fd_no_transport(fd) self.remove_reader(fd) channel = self._channel_from_socket(fd) source = GLib.io_create_watch(channel, GLib.IO_IN | GLib.IO_HUP | GLib.IO_ERR | GLib.IO_NVAL) assert fd not in self._readers self._readers[fd] = GLibHandle( loop=self, source=source, repeat=True, callback=callback, args=args) def remove_reader(self, fileobj): fd = self._fileobj_to_fd(fileobj) self._ensure_fd_no_transport(fd) try: self._readers.pop(fd).cancel() return True except KeyError: return False def add_writer(self, fileobj, callback, *args): fd = self._fileobj_to_fd(fileobj) self._ensure_fd_no_transport(fd) self.remove_writer(fd) channel = self._channel_from_socket(fd) source = GLib.io_create_watch(channel, GLib.IO_OUT | GLib.IO_ERR | GLib.IO_NVAL) assert fd not in self._writers self._writers[fd] = GLibHandle( loop=self, source=source, repeat=True, callback=callback, args=args) def remove_writer(self, fileobj): fd = self._fileobj_to_fd(fileobj) self._ensure_fd_no_transport(fd) try: self._writers.pop(fd).cancel() return True except KeyError: return False class GLibEventLoop(GLibBaseEventLoop): def __init__(self, *, context=None, application=None): self._application = application self._running = False self._argv = None super().__init__(context) if application is None: self._mainloop = GLib.MainLoop(self._context) def is_running(self): return self._running def run(self): recursive = self.is_running() if not recursive and hasattr(events, "_get_running_loop") and events._get_running_loop(): raise RuntimeError( 'Cannot run the event loop while another loop is running') if not recursive: self._running = True if hasattr(events, "_set_running_loop"): events._set_running_loop(self) try: if self._application is not None: self._application.run(self._argv) else: self._mainloop.run() finally: if not recursive: self._running = False if hasattr(events, "_set_running_loop"): events._set_running_loop(None) def run_until_complete(self, future, **kw): """Run the event loop until a Future is done. Return the Future's result, or raise its exception. """ def stop(f): self.stop() future = tasks.ensure_future(future, loop=self) future.add_done_callback(stop) try: self.run_forever(**kw) finally: future.remove_done_callback(stop) if not future.done(): raise RuntimeError('Event loop stopped before Future completed.') return future.result() def run_forever(self, application=None, argv=None): """Run the event loop until stop() is called.""" if application is not None: self.set_application(application) if argv is not None: self.set_argv(argv) if self.is_running(): raise RuntimeError( "Recursively calling run_forever is forbidden. " "To recursively run the event loop, call run().") if hasattr(self, '_mainloop') and hasattr(self._mainloop, "_quit_by_sigint"): del self._mainloop._quit_by_sigint try: self.run() finally: self.stop() # Methods scheduling callbacks. All these return Handles. def call_soon(self, callback, *args, context=None): self._check_not_coroutine(callback, 'call_soon') source = GLib.Idle() source.set_priority(GLib.PRIORITY_DEFAULT) return GLibHandle( loop=self, source=source, repeat=False, callback=callback, args=args, context=context, ) call_soon_threadsafe = call_soon def call_later(self, delay, callback, *args, context=None): self._check_not_coroutine(callback, 'call_later') return GLibHandle( loop=self, source=GLib.Timeout(delay*1000) if delay > 0 else GLib.Idle(), repeat=False, callback=callback, args=args, context=context, ) def call_at(self, when, callback, *args, context=None): self._check_not_coroutine(callback, 'call_at') return self.call_later( when - self.time(), callback, *args, context=context) def time(self): return GLib.get_monotonic_time() / 1000000 def stop(self): """Stop the inner-most invocation of the event loop. Typically, this will mean stopping the event loop completely. Note that due to the nature of GLib's main loop, stopping may not be immediate. """ if self._application is not None: self._application.quit() else: self._mainloop.quit() def set_application(self, application): if not isinstance(application, Gio.Application): raise TypeError("application must be a Gio.Application object") if self._application is not None: raise ValueError("application is already set") if self.is_running(): raise RuntimeError("You can't add the application to a loop that's already running.") self._application = application self._policy._application = application del self._mainloop def set_argv(self, argv): """Sets argv to be passed to Gio.Application.run()""" self._argv = argv class GLibEventLoopPolicy(events.AbstractEventLoopPolicy): """Default GLib event loop policy In this policy, each thread has its own event loop. However, we only automatically create an event loop by default for the main thread; other threads by default have no event loop. """ # TODO add a parameter to synchronise with GLib's thread default contexts # (g_main_context_push_thread_default()) def __init__(self, application=None): self._default_loop = None self._application = application self._watcher_lock = threading.Lock() self._watcher = None self._policy = asyncio.DefaultEventLoopPolicy() self._policy.new_event_loop = self.new_event_loop self.get_event_loop = self._policy.get_event_loop self.set_event_loop = self._policy.set_event_loop def get_child_watcher(self): if self._watcher is None: with self._watcher_lock: if self._watcher is None: self._watcher = GLibChildWatcher() return self._watcher def set_child_watcher(self, watcher): """Set a child watcher. Must be an an instance of GLibChildWatcher, as it ties in with GLib appropriately. """ if watcher is not None and not isinstance(watcher, GLibChildWatcher): raise TypeError("Only GLibChildWatcher is supported!") with self._watcher_lock: self._watcher = watcher def new_event_loop(self): """Create a new event loop and return it.""" if not self._default_loop and isinstance(threading.current_thread(), threading._MainThread): l = self.get_default_loop() else: l = GLibEventLoop() l._policy = self return l def get_default_loop(self): """Get the default event loop.""" if not self._default_loop: self._default_loop = self._new_default_loop() return self._default_loop def _new_default_loop(self): l = GLibEventLoop(context=GLib.main_context_default(), application=self._application) l._policy = self return l pychess-1.0.0/lib/pychess/external/gbulb/__init__.py0000644000175000017500000000006013353143212021501 0ustar varunvarunfrom .glib_events import * from .utils import * pychess-1.0.0/lib/pychess/external/gbulb/gtk.py0000644000175000017500000000351413353143212020536 0ustar varunvarunimport threading from gi.repository import GLib, Gtk from .glib_events import GLibEventLoop, GLibEventLoopPolicy __all__ = ['GtkEventLoop', 'GtkEventLoopPolicy'] class GtkEventLoop(GLibEventLoop): """Gtk-based event loop. This loop supports recursion in Gtk, for example for implementing modal windows. """ def __init__(self, **kwargs): self._recursive = 0 self._recurselock = threading.Lock() kwargs['context'] = GLib.main_context_default() super().__init__(**kwargs) def run(self): """Run the event loop until Gtk.main_quit is called. May be called multiple times to recursively start it again. This is useful for implementing asynchronous-like dialogs in code that is otherwise not asynchronous, for example modal dialogs. """ if self.is_running(): with self._recurselock: self._recursive += 1 try: Gtk.main() finally: with self._recurselock: self._recursive -= 1 else: super().run() def stop(self): """Stop the inner-most event loop. If it's also the outer-most event loop, the event loop will stop. """ with self._recurselock: r = self._recursive if r > 0: Gtk.main_quit() else: super().stop() class GtkEventLoopPolicy(GLibEventLoopPolicy): """Gtk-based event loop policy. Use this if you are using Gtk.""" def _new_default_loop(self): l = GtkEventLoop(application=self._application) l._policy = self return l def new_event_loop(self): if not self._default_loop: l = self.get_default_loop() else: l = GtkEventLoop() l._policy = self return l pychess-1.0.0/lib/pychess/external/scoutfish.py0000644000175000017500000001055113434743747020707 0ustar varunvarun#!/usr/bin/env python import json import os import re import pexpect from pexpect.popen_spawn import PopenSpawn from pychess.Players.ProtocolEngine import TIME_OUT_SECOND PGN_HEADERS_REGEX = re.compile(r"\[([A-Za-z0-9_]+)\s+\"(.*)\"\]") class Scoutfish: def __init__(self, engine=''): if not engine: engine = './scoutfish' self.p = PopenSpawn(engine, timeout=TIME_OUT_SECOND, encoding="utf-8") self.wait_ready() self.pgn = '' self.db = '' def wait_ready(self): self.p.sendline('isready') self.p.expect(u'readyok') def open(self, pgn): '''Open a PGN file and create an index if not exsisting''' if not os.path.isfile(pgn): raise NameError("File {} does not exsist".format(pgn)) pgn = os.path.normcase(pgn) self.pgn = pgn self.db = os.path.splitext(pgn)[0] + '.scout' if not os.path.isfile(self.db): result = self.make() self.db = result['DB file'] def close(self): '''Terminate scoutfish. Not really needed: engine will terminate as soon as pipe is closed, i.e. when we exit.''' self.p.sendline('quit') self.p.expect(pexpect.EOF) self.pgn = '' self.db = '' def make(self): '''Make an index out of a pgn file. Normally called by open()''' if not self.pgn: raise NameError("Unknown DB, first open a PGN file") cmd = 'make ' + self.pgn self.p.sendline(cmd) self.wait_ready() s = '{' + self.p.before.split('{')[1] s = s.replace('\\', r'\\') # Escape Windows's path delimiter result = json.loads(s) self.p.before = '' return result def setoption(self, name, value): '''Set an option value, like threads number''' cmd = "setoption name {} value {}".format(name, value) self.p.sendline(cmd) self.wait_ready() def scout(self, q): '''Run query defined by 'q' dict. Result will be a dict too''' if not self.db: raise NameError("Unknown DB, first open a PGN file") j = json.dumps(q) cmd = "scout {} {}".format(self.db, j) self.p.sendline(cmd) self.wait_ready() result = json.loads(self.p.before) self.p.before = '' return result def scout_raw(self, q): '''Run query defined by 'q' dict. Result will be full output''' if not self.db: raise NameError("Unknown DB, first open a PGN file") j = json.dumps(q) cmd = "scout {} {}".format(self.db, j) self.p.sendline(cmd) self.wait_ready() result = self.p.before self.p.before = '' return result def get_games(self, matches): '''Retrieve the PGN games specified in the offset list. Games are added to each list item with a 'pgn' key''' if not self.pgn: raise NameError("Unknown DB, first open a PGN file") with open(self.pgn, "rU") as f: for match in matches: f.seek(match['ofs']) game = '' for line in f: if line.startswith('[Event "'): if game: break # Second one, start of next game else: game = line # First occurence elif game: game += line match['pgn'] = game.strip() return matches def get_header(self, pgn): '''Return a dict with just header information out of a pgn game. The pgn tags are supposed to be consecutive''' header = {} for line in pgn.splitlines(): line = line.strip() if line.startswith('[') and line.endswith(']'): tag_match = PGN_HEADERS_REGEX.match(line) if tag_match: header[tag_match.group(1)] = tag_match.group(2) else: break return header def get_game_headers(self, matches): '''Return a list of headers out of a list of pgn games. It is defined to be compatible with the return value of get_games()''' headers = [] for match in matches: pgn = match['pgn'] h = self.get_header(pgn) headers.append(h) return headers pychess-1.0.0/lib/pychess/__init__.py0000755000175000017500000000015313467764530016614 0ustar varunvarunimport sysconfig MSYS2 = "mingw" in sysconfig.get_platform() VERSION = "1.0.0" VERSION_NAME = "Steinitz" pychess-1.0.0/lib/pychess/gfx/0000755000175000017500000000000013467766037015271 5ustar varunvarunpychess-1.0.0/lib/pychess/gfx/pychess_pieces.py0000644000175000017500000006704613365545272020657 0ustar varunvarunimport re from pychess.Utils.const import BLACK, WHITE, KING, QUEEN, BISHOP, KNIGHT, ROOK, PAWN from pychess.gfx.Pieces import drawPiece3, size elemExpr = re.compile(r"([a-zA-Z])\s*([0-9\.,\s]*)\s+|[z]\s+") spaceExpr = re.compile(r"[\s,]+") def parse(n, psize): yield "def f(c):" s = psize / size for cmd, points in n: pstr = ",".join(str(p * s) for p in points) if cmd == "M": yield "c.rel_move_to(%s)" % pstr elif cmd == "L": yield "c.rel_line_to(%s)" % pstr else: yield "c.rel_curve_to(%s)" % pstr pieces = { BLACK: { KING: "M 653.57940,730.65870 L 671.57940,613.65870 C 725.57940,577.65870 797.57940,514.65870 797.57940,397.65870 C 797.57940,325.65870 734.57940,280.65870 662.57940,280.65870 C 590.57940,280.65870 509.57940,334.65870 509.57940,334.65870 C 509.57940,334.65870 554.57940,190.65870 428.57940,154.65870 L 428.57940,118.65870 L 482.57940,118.65870 L 482.57940,64.658690 L 428.57940,64.658690 L 428.57940,10.658690 L 374.57940,10.658690 L 374.57940,64.658690 L 320.57940,64.658690 L 320.57940,118.65870 L 374.57940,118.65870 L 374.57940,154.65870 C 248.57940,190.65870 293.57940,334.65870 293.57940,334.65870 C 293.57940,334.65870 212.57940,280.65870 140.57940,280.65870 C 68.579380,280.65870 5.5793840,325.65870 5.5793840,397.65870 C 5.5793840,514.65870 77.579380,577.65870 131.57940,613.65870 L 149.57940,730.65870 C 158.57940,757.65870 221.57940,793.65870 401.57940,793.65870 C 581.57940,793.65870 644.57940,757.65870 653.57940,730.65870 z M 374.57940,541.65870 C 329.57940,541.65870 212.57940,550.65870 167.57940,568.65870 C 113.57940,541.65870 59.579380,496.65870 59.579380,406.65870 C 59.579380,352.65870 86.579380,334.65870 149.57940,334.65870 C 212.57940,334.65870 356.57940,397.65870 374.57940,541.65870 z M 428.57940,541.65870 C 446.57940,397.65870 590.57940,334.65870 662.57940,334.65870 C 716.57940,334.65870 743.57940,352.65870 743.57940,406.65870 C 743.57940,496.65870 689.57940,541.65870 635.57940,568.65870 C 590.57940,550.65870 473.57940,541.65870 428.57940,541.65870 z M 617.57940,667.65870 L 608.57940,705.90870 C 437.57940,678.90870 365.57940,678.90870 194.57940,705.90870 L 185.57940,667.65870 C 365.57940,640.65870 437.57940,640.65870 617.57940,667.65870 z M 464.57940,514.65870 C 527.57940,514.65870 581.57940,523.65870 635.57940,541.65870 C 707.57940,487.65870 716.57940,442.65870 716.57940,406.65870 C 716.57940,379.65870 698.57940,361.65870 662.57940,361.65870 C 554.57940,361.65670 473.57940,451.65870 464.57940,514.65870 z M 338.57940,514.65870 C 329.57940,451.65870 239.57940,361.65670 140.57940,361.65870 C 104.57940,361.65870 86.579380,388.65870 86.579380,415.65870 C 86.579380,442.65870 95.579380,487.65870 167.57940,541.65870 C 221.57940,523.65870 275.57940,514.65870 338.57940,514.65870 z ", QUEEN: "M 617.12310,626.00950 C 617.12310,599.00950 627.77310,557.68550 671.12310,536.00950 C 689.12310,527.00950 689.12310,509.00950 689.12310,500.00950 C 689.12310,471.54950 743.12310,203.00950 743.12310,203.00950 C 779.62510,198.74750 796.96610,170.47750 796.96610,144.34650 C 796.96610,112.98940 772.26810,85.907430 738.52810,85.907430 C 710.73310,85.907430 680.56310,109.18740 679.85110,143.63450 C 679.66510,152.63250 681.03910,169.05250 697.43010,186.15650 L 590.12310,392.00950 L 590.12310,158.00950 C 619.03410,151.95050 636.85210,127.48250 636.85210,99.687430 C 636.85210,69.517430 610.72110,42.199430 577.93710,42.199430 C 544.44210,42.199430 519.27910,70.470430 519.73610,102.06340 C 519.97310,118.45540 527.57510,136.03450 545.12410,149.00950 L 464.12410,383.00950 L 428.12410,131.00950 C 452.74310,117.03040 459.86810,97.075430 459.86810,80.208430 C 459.86810,41.011430 428.74910,20.581430 401.19210,20.818430 C 371.26010,21.076430 342.75310,46.950430 342.75310,77.120430 C 342.75310,107.05240 359.14410,122.73150 374.12410,131.00950 L 338.12410,383.00950 L 257.12410,149.00950 C 275.75910,134.13450 282.17310,119.64340 282.17310,98.976430 C 282.17310,77.833430 264.35910,42.199430 223.25910,42.199430 C 190.47610,42.199430 165.29410,70.944430 165.29410,99.926430 C 165.29410,134.84850 190.23910,153.37750 212.12410,158.01050 L 212.12410,392.01050 L 104.12410,185.01050 C 117.78210,170.95350 120.15710,154.06050 120.15710,145.06050 C 120.15710,114.41440 97.114060,85.807430 59.124060,86.010430 C 33.925060,86.146430 3.4010650,109.06240 3.0420650,145.06050 C 2.8040650,168.81650 20.858060,200.88650 59.124060,203.01050 C 59.124060,203.01050 113.12410,473.01050 113.12410,500.01050 C 113.12410,509.01150 113.12410,527.01050 131.12410,536.01050 C 167.12410,554.01150 185.12410,599.01050 185.12410,626.01050 C 185.12410,662.01150 158.12410,698.01150 158.12410,707.01150 C 158.12410,752.01050 320.12410,779.01150 401.12410,778.99150 C 473.12410,778.97350 644.12410,752.01050 644.12410,707.01050 C 644.12410,698.01050 617.12410,671.01050 617.12410,626.01050 L 617.12310,626.00950 z M 594.55210,537.12950 C 583.21810,553.12950 581.21810,558.46250 576.55210,575.12950 C 487.21810,553.79650 327.21810,547.79650 225.88510,575.79650 C 221.21710,557.79650 219.21710,550.46250 208.55110,537.12950 C 325.21710,508.46250 479.21710,506.46250 594.55110,537.12950 L 594.55210,537.12950 z M 570.55210,663.79650 C 555.88510,674.46250 551.21810,682.46250 542.55210,693.79650 C 434.55210,677.12950 363.88410,674.46250 255.21810,693.12950 C 246.55210,679.79650 241.88610,673.12950 229.21810,663.79650 C 341.88610,634.46250 457.88610,644.46250 570.55210,663.79650 L 570.55210,663.79650 z ", ROOK: "M 232.94440,519.29360 L 124.94440,627.29360 L 124.94440,762.29360 L 682.94440,762.29360 L 682.94440,627.29360 L 574.94440,519.29360 L 574.94440,303.29360 L 682.94440,231.29360 L 682.94440,51.293580 L 520.94440,51.293580 L 520.94440,123.29360 L 484.94440,123.29360 L 484.94440,51.293580 L 322.94440,51.293580 L 322.94440,123.29360 L 286.94440,123.29360 L 286.94440,51.293580 L 124.94440,51.293580 L 124.94440,231.29360 L 232.94440,303.29360 L 232.94440,519.29360 z M 268.94440,321.29360 L 268.94440,285.29360 L 538.94440,285.29360 L 538.94440,321.29360 L 268.94440,321.29360 z M 268.94440,537.29360 L 268.94440,501.29360 L 538.94440,501.29360 L 538.94440,537.29360 L 268.94440,537.29360 z ", BISHOP: "M 491.69440,453.44430 L 500.69440,482.69430 C 464.69440,455.69430 338.69440,455.69430 302.69440,482.69430 L 311.69440,453.44430 C 332.69440,432.44430 470.69440,432.44430 491.69440,453.44430 z M 509.69440,518.69430 L 518.69440,545.69430 C 470.69440,521.69430 332.69440,521.69430 284.69440,545.69430 L 293.69440,518.69430 C 338.69440,491.69430 464.69440,491.69430 509.69440,518.69430 z M 797.69440,653.69430 C 797.69440,653.69430 752.69440,635.69430 689.69440,626.69430 C 652.95940,621.44630 599.69440,635.69430 554.69440,626.69430 C 518.69440,617.69430 482.69440,599.69430 482.69440,599.69430 L 572.69440,554.69430 L 545.69440,473.69430 C 545.69440,473.69430 608.69440,446.69430 608.69440,365.69430 C 608.69440,302.69430 563.69440,230.69430 500.69440,194.69430 C 455.13040,168.65830 446.69440,149.69430 446.69440,149.69430 C 446.69440,149.69430 482.69440,131.69430 482.69440,86.694330 C 482.69440,50.694330 455.69440,5.6943260 401.69440,5.6943260 C 347.69440,5.6943260 320.69440,50.694330 320.69440,86.694330 C 320.69440,131.69430 356.69440,149.69430 356.69440,149.69430 C 356.69440,149.69430 348.25840,168.65830 302.69440,194.69430 C 239.69440,230.69430 194.69440,302.69430 194.69440,365.69430 C 194.69440,446.69430 257.69440,473.69430 257.69440,473.69430 L 230.69440,554.69430 L 320.69440,599.69430 C 320.69440,599.69430 284.69440,617.69430 248.69440,626.69430 C 204.17340,637.82430 146.99540,621.93730 113.69440,626.69430 C 50.694360,635.69430 5.6943640,653.69430 5.6943640,653.69430 L 50.694360,797.69430 C 113.69440,779.69430 122.69440,779.69430 176.69440,770.69430 C 209.78640,765.17930 291.51040,774.42230 329.69440,761.69430 C 383.69440,743.69430 401.69440,716.69430 401.69440,716.69430 C 401.69440,716.69430 419.69440,743.69430 473.69440,761.69430 C 511.87840,774.42230 598.40740,767.15830 626.69440,770.69430 C 681.01640,777.48430 752.69440,797.69430 752.69440,797.69430 L 797.69440,653.69430 L 797.69440,653.69430 z M 428.69440,392.69430 L 374.69440,392.69430 L 374.69440,356.69430 L 338.69440,356.69430 L 338.69440,302.69430 L 374.69440,302.69430 L 374.69440,266.69430 L 428.69440,266.69430 L 428.69440,302.69430 L 464.69440,302.69430 L 464.69440,356.69430 L 428.69440,356.69430 L 428.69440,392.69430 z ", KNIGHT: "M 84.310370,730.48460 L 564.28850,729.48460 C 563.97550,600.58860 477.97550,556.58860 485.00550,477.74860 L 587.06050,552.58860 C 611.11150,581.44960 637.05150,594.72560 657.36750,594.91660 C 671.53450,595.04960 633.37050,547.08060 627.37050,536.08060 C 653.37050,535.08060 689.37050,585.08060 718.38750,574.11560 C 739.54850,566.12160 754.01750,540.22060 753.06850,502.24260 C 751.70850,447.81260 690.47450,367.52960 667.34250,266.83660 C 641.48850,160.69960 611.91250,147.09260 595.58450,141.64850 L 595.22350,64.085560 L 513.57950,123.95850 L 467.31450,43.675570 L 421.04950,138.92750 C 260.48350,91.300560 89.752370,428.40260 84.309370,730.48460 L 84.310370,730.48460 z M 125.87840,697.92560 C 125.87840,436.61260 289.76850,168.92760 381.72850,167.10560 C 399.37150,167.41260 415.37150,173.41260 415.32750,179.85360 C 415.24050,192.63260 399.02750,197.15260 379.90750,197.15260 C 307.97850,199.88460 158.65640,453.00260 156.83540,695.19560 C 156.83540,713.40460 127.70040,712.49460 125.87940,697.92560 L 125.87840,697.92560 z M 678.74350,471.34160 C 684.09050,477.57960 689.68150,486.16560 689.86350,492.19160 C 690.09450,499.83660 684.07150,505.86160 678.28050,503.54360 C 672.48850,501.22760 665.53850,488.25260 660.90550,485.70560 C 656.27250,483.15660 642.14050,481.30360 642.37250,474.81660 C 642.60450,468.32960 652.10250,462.53760 657.66250,462.76960 C 663.22250,463.00160 675.96450,468.09760 678.74450,471.34160 L 678.74350,471.34160 z M 520.98750,218.08460 C 534.62350,223.81160 559.71450,235.26460 577.44150,255.99260 C 594.62350,278.90060 595.98650,304.80860 596.53150,323.35560 C 566.80450,326.90060 541.87450,318.25160 529.44150,290.90060 C 521.25950,272.90060 520.98650,239.62960 520.98650,218.08460 L 520.98750,218.08460 z ", PAWN: "M 688.02380,750.97630 L 688.02380,624.97630 C 688.02380,579.97630 661.62380,452.47630 553.02380,408.97630 C 598.02380,354.97630 607.02380,255.97630 517.02380,192.97630 C 544.02380,156.97630 517.02380,30.976220 409.02380,30.976220 C 301.02380,30.976220 274.02380,156.97630 301.02380,192.97630 C 211.02380,255.97630 220.02380,354.97630 265.02380,408.97630 C 157.02380,453.97630 130.02380,579.97630 130.02380,624.97630 L 130.02380,750.97630 L 688.02380,750.97630 z " }, WHITE: { KING: "M 648.50000,730.65870 L 666.50000,613.65870 C 720.50000,577.65870 792.50000,514.65870 792.50000,397.65870 C 792.50000,325.65870 729.50000,280.65870 657.50000,280.65870 C 585.50000,280.65870 504.50000,334.65870 504.50000,334.65870 C 504.50000,334.65870 549.50000,190.65870 423.50000,154.65870 L 423.50000,118.65870 L 477.50000,118.65870 L 477.50000,64.658690 L 423.50000,64.658690 L 423.50000,10.658690 L 369.50000,10.658690 L 369.50000,64.658690 L 315.50000,64.658690 L 315.50000,118.65870 L 369.50000,118.65870 L 369.50000,154.65870 C 243.50000,190.65870 288.50000,334.65870 288.50000,334.65870 C 288.50000,334.65870 207.50000,280.65870 135.50000,280.65870 C 63.500000,280.65870 0.50000000,325.65870 0.50000000,397.65870 C 0.50000000,514.65870 72.500000,577.65870 126.50000,613.65870 L 144.50000,730.65870 C 153.50000,757.65870 216.50000,793.65870 396.50000,793.65870 C 576.50000,793.65870 639.50000,757.65870 648.50000,730.65870 z M 396.50000,451.65870 C 396.50000,451.65870 333.50000,343.65870 333.50000,280.65870 C 333.50000,217.65870 369.50000,208.65870 396.50000,208.65870 C 423.50000,208.65870 459.50000,226.65870 459.50000,280.65870 C 459.50000,334.65870 396.50000,451.65870 396.50000,451.65870 z M 369.50000,541.65870 C 324.50000,541.65870 207.50000,550.65870 162.50000,568.65870 C 108.50000,541.65870 54.500000,496.65870 54.500000,406.65870 C 54.500000,352.65870 81.500000,334.65870 144.50000,334.65870 C 207.50000,334.65870 351.50000,397.65870 369.50000,541.65870 z M 423.50000,541.65870 C 441.50000,397.65870 585.50000,334.65870 657.50000,334.65870 C 711.50000,334.65870 738.50000,352.65870 738.50000,406.65870 C 738.50000,496.65870 684.50000,541.65870 630.50000,568.65870 C 585.50000,550.65870 468.50000,541.65870 423.50000,541.65870 z M 612.50000,613.65870 L 603.50000,685.65870 C 432.50000,658.65870 360.50000,658.65870 189.50000,685.65870 L 180.50000,613.65870 C 360.50000,586.65870 432.50000,586.65870 612.50000,613.65870 z M 549.50000,730.65870 C 468.50000,748.65870 441.50000,748.65870 396.50000,748.65870 C 351.50000,748.65870 324.50000,748.65870 243.50000,730.65870 C 324.50000,712.65870 342.50000,712.65870 396.50000,712.65870 C 450.50000,712.65870 468.50000,712.65870 549.50000,730.65870 z ", QUEEN: "M 764.60380,143.65350 C 764.80680,155.66150 755.91880,166.72550 742.61880,166.56350 C 727.46980,166.37750 719.85480,154.92450 719.70980,144.57750 C 719.52480,131.46050 729.68780,121.66950 742.24980,121.66950 C 754.99780,121.66950 764.41980,132.75350 764.60380,143.65350 L 764.60380,143.65350 z M 619.66280,626.00950 C 619.66280,599.00950 630.31280,557.68550 673.66280,536.00950 C 691.66280,527.00950 691.66280,509.00950 691.66280,500.00950 C 691.66280,471.54950 745.66280,203.00950 745.66280,203.00950 C 782.16480,198.74750 799.50580,170.47750 799.50580,144.34650 C 799.50580,112.98950 774.80780,85.907570 741.06780,85.907570 C 713.27280,85.907570 683.10280,109.18750 682.39080,143.63450 C 682.20480,152.63250 683.57880,169.05250 699.96980,186.15650 L 592.66280,392.00950 L 592.66280,158.00950 C 621.57380,151.95050 639.39180,127.48250 639.39180,99.687540 C 639.39180,69.517570 613.26080,42.199570 580.47680,42.199570 C 546.98180,42.199570 521.81880,70.470570 522.27580,102.06350 C 522.51280,118.45550 530.11480,136.03450 547.66380,149.00950 L 466.66380,383.00950 L 430.66380,131.00950 C 455.28280,117.03050 462.40880,97.075540 462.40880,80.208570 C 462.40880,41.011570 431.28880,20.581570 403.73180,20.818570 C 373.79980,21.076570 345.29380,46.950570 345.29380,77.120570 C 345.29380,107.05250 361.68480,122.73150 376.66380,131.00950 L 340.66380,383.00950 L 259.66380,149.00950 C 278.29980,134.13450 284.71380,119.64350 284.71380,98.976540 C 284.71380,77.833570 266.89880,42.199570 225.79980,42.199570 C 193.01680,42.199570 167.83480,70.944570 167.83480,99.926540 C 167.83480,134.84850 192.77880,153.37750 214.66380,158.01050 L 214.66380,392.01050 L 106.66380,185.01050 C 120.32180,170.95350 122.69780,154.06050 122.69780,145.06050 C 122.69780,114.41450 99.654770,85.807570 61.663770,86.010570 C 36.464770,86.146570 5.9407760,109.06250 5.5817760,145.06050 C 5.3447760,168.81650 23.398770,200.88650 61.663770,203.01050 C 61.663770,203.01050 115.66380,473.01050 115.66380,500.01050 C 115.66380,509.01150 115.66380,527.01050 133.66380,536.01050 C 169.66380,554.01150 187.66380,599.01050 187.66380,626.01050 C 187.66380,662.01150 160.66380,698.01150 160.66380,707.01150 C 160.66380,752.01050 322.66380,779.01150 403.66380,778.99150 C 475.66380,778.97350 646.66380,752.01050 646.66380,707.01050 C 646.66380,698.01050 619.66380,671.01050 619.66380,626.01050 L 619.66280,626.00950 z M 87.606770,144.04950 C 87.809770,156.05650 78.921770,167.12050 65.621770,166.95850 C 50.472770,166.77350 42.857770,155.31950 42.712770,144.97350 C 42.527770,131.85650 52.690770,122.06450 65.252770,122.06450 C 78.000770,122.06450 87.422770,133.14950 87.606770,144.04950 z M 603.61080,99.656540 C 603.81380,111.66350 594.92580,122.72750 581.62580,122.56550 C 566.47680,122.38050 558.86180,110.92650 558.71680,100.58050 C 558.53180,87.463540 568.69480,77.671570 581.25680,77.671570 C 594.00480,77.671570 603.42680,88.756540 603.61080,99.656540 L 603.61080,99.656540 z M 426.61880,78.157570 C 426.82180,90.165540 417.93380,101.22950 404.63380,101.06750 C 389.48480,100.88150 381.86980,89.428540 381.72480,79.081570 C 381.53980,65.964570 391.70280,56.173570 404.26480,56.173570 C 417.01280,56.173570 426.43480,67.257570 426.61880,78.157570 z M 249.12780,100.65650 C 249.33080,112.66350 240.44280,123.72750 227.14280,123.56550 C 211.99380,123.38050 204.37880,111.92650 204.23380,101.58050 C 204.04880,88.463540 214.21180,78.671570 226.77380,78.671570 C 239.52180,78.671570 248.94380,89.756540 249.12780,100.65650 z M 578.63980,575.93450 C 569.63980,591.93450 563.63980,630.93450 573.63980,663.93450 C 467.97280,643.60050 338.63980,637.93450 231.63980,663.93450 C 238.63980,638.93450 240.63980,613.93450 227.63980,575.93450 C 320.63980,544.93450 515.63980,553.93450 578.63980,575.93450 L 578.63980,575.93450 z M 537.63980,707.93450 C 489.97280,725.93450 429.97280,726.26850 399.97280,726.26850 C 369.97280,726.26850 308.97280,723.93450 264.63980,708.93450 C 317.63980,697.93450 362.30680,695.60050 397.30680,695.60050 C 432.30680,695.60050 497.97280,700.26850 537.63980,707.93450 z M 210.32980,536.94050 C 210.32980,536.94050 205.66280,530.27350 200.99580,524.94050 C 210.32980,522.27350 232.99580,509.60650 244.32980,494.94050 C 291.66280,508.94050 316.32980,498.94050 350.99580,476.27350 C 384.32980,494.94050 417.66280,494.27350 458.99580,474.94050 C 486.32980,498.27350 515.66280,504.27350 559.66280,495.60650 C 576.32980,512.94050 586.99580,518.94050 604.32980,525.60650 L 596.32980,536.94050 C 454.32980,506.94050 358.99580,506.27350 210.32980,536.94050 L 210.32980,536.94050 z M 691.30580,290.55250 L 654.25080,486.80250 C 626.80380,493.20650 606.21880,481.76950 593.40980,465.30150 L 691.30580,290.55250 z M 553.20180,247.31050 L 550.98680,445.24750 C 523.09080,454.98950 508.03480,450.56150 487.66580,434.17750 L 553.20180,247.31050 z M 401.76580,233.14150 L 433.64780,429.30650 C 416.82180,441.26250 388.48180,443.47650 369.44080,428.74850 L 401.76580,233.14150 z M 252.98380,254.39550 L 318.96280,441.26250 C 304.35080,457.64650 279.55280,464.28750 255.64180,452.77550 L 252.98480,254.39550 L 252.98380,254.39550 z M 116.63980,294.93450 L 212.13980,463.43450 C 201.63980,481.43450 175.13980,492.43450 151.13980,485.43450 L 116.63980,294.93450 z ", ROOK: "M 227.86510,504.05560 L 119.86510,612.05560 L 119.86510,747.05560 L 677.86510,747.05560 L 677.86510,612.05560 L 569.86510,504.05560 L 569.86510,288.05560 L 677.86510,216.05560 L 677.86510,36.055570 L 515.86510,36.055570 L 515.86510,108.05560 L 479.86510,108.05560 L 479.86510,36.055570 L 317.86510,36.055570 L 317.86510,108.05560 L 281.86510,108.05560 L 281.86510,36.055570 L 119.86510,36.055570 L 119.86510,216.05560 L 227.86510,288.05560 L 227.86510,504.05560 z M 623.86510,90.055570 L 623.86510,180.05560 L 515.86510,252.05560 L 281.86510,252.05560 L 173.86510,180.05560 L 173.86510,90.055570 L 227.86510,90.055570 L 227.86510,162.05560 L 371.86510,162.05560 L 371.86510,90.055570 L 425.86510,90.055570 L 425.86510,162.05560 L 569.86510,162.05560 L 569.86510,90.055570 L 623.86510,90.055570 z M 515.86510,315.05560 L 515.86510,468.05560 L 281.86510,468.05560 L 281.86510,315.05560 L 515.86510,315.05560 z M 623.86510,657.05560 L 623.86510,693.05560 L 173.86510,693.05560 L 173.86510,657.05560 L 623.86510,657.05560 z M 515.86510,531.05560 L 596.86510,603.05560 L 200.86510,603.05560 L 281.86510,531.05560 L 515.86510,531.05560 z ", BISHOP: "M 404.23410,59.693330 C 422.23410,59.693330 431.23410,68.693330 431.23410,86.693330 C 431.23410,104.69330 422.23410,113.69330 404.23410,113.69330 C 386.23410,113.69330 377.23410,104.69330 377.23410,86.693330 C 377.23410,68.693330 386.23410,59.693330 404.23410,59.693330 z M 404.23410,167.69330 C 440.23410,221.69330 458.23410,221.69330 503.23410,257.69330 C 548.23410,293.69330 557.23410,338.69330 557.23410,374.69430 C 557.23410,410.69330 536.23410,432.29530 512.23410,446.69430 C 512.23410,446.69430 476.23410,428.69430 404.23410,428.69430 C 332.23410,428.69430 296.23410,446.69430 296.23410,446.69430 C 296.23410,446.69430 251.23410,410.69330 251.23410,374.69430 C 251.23410,338.69330 260.23410,293.69330 305.23410,257.69330 C 350.23410,221.69330 368.23410,221.69330 404.23410,167.69330 z M 503.23410,482.69430 L 512.23410,509.69430 C 467.23410,491.69430 341.23410,491.69430 296.23410,509.69430 L 305.23410,482.69430 C 341.23410,464.69430 467.23410,464.69430 503.23410,482.69430 z M 404.23410,536.69430 C 440.23410,536.69530 494.23410,545.69430 494.23410,545.69430 C 494.23410,545.69430 440.23410,554.69430 404.23410,554.69430 C 368.23410,554.69430 314.23410,545.69530 314.23410,545.69530 C 314.23410,545.69530 368.23410,536.69330 404.23410,536.69430 z M 440.23410,635.69430 C 494.23410,671.69430 503.59610,666.60330 539.23410,671.69430 C 602.23410,680.69430 628.16110,676.01530 656.23410,680.69430 C 710.23410,689.69430 737.23410,698.69430 737.23410,698.69430 L 719.23410,743.69430 C 719.23410,743.69430 710.66410,732.18430 665.23410,725.69430 C 602.23410,716.69430 548.23410,716.69430 503.23410,707.69430 C 458.23410,698.69430 422.23410,680.69430 404.23410,662.69430 C 386.84810,680.08030 350.23410,698.69430 305.23410,707.69430 C 260.23410,716.69430 207.48310,712.84430 143.23410,725.69430 C 98.234040,734.69430 89.234040,743.69430 89.234040,743.69430 L 71.234040,698.69430 C 71.234040,698.69430 98.234040,689.69430 152.23410,680.69430 C 176.77810,676.60330 206.23410,680.69430 269.23410,671.69430 C 305.96910,666.44630 314.23410,671.69430 368.23410,635.69430 L 440.23410,635.69430 z M 431.23410,266.69430 L 377.23410,266.69430 L 377.23410,302.69430 L 341.23410,302.69430 L 341.23410,356.69430 L 377.23410,356.69430 L 377.23410,392.69430 L 431.23410,392.69430 L 431.23410,356.69430 L 467.23410,356.69430 L 467.23410,302.69430 L 431.23410,302.69430 L 431.23410,266.69430 z M 800.23410,653.69430 C 800.23410,653.69430 755.23410,635.69430 692.23410,626.69430 C 655.49910,621.44630 602.23410,635.69430 557.23410,626.69430 C 521.23410,617.69430 485.23410,599.69430 485.23410,599.69430 L 575.23410,554.69430 L 548.23410,473.69430 C 548.23410,473.69430 611.23410,446.69430 611.23410,365.69430 C 611.23410,302.69430 566.23410,230.69430 503.23410,194.69430 C 457.67010,168.65830 449.23410,149.69430 449.23410,149.69430 C 449.23410,149.69430 485.23410,131.69430 485.23410,86.694330 C 485.23410,50.694330 458.23410,5.6943260 404.23410,5.6943260 C 350.23410,5.6943260 323.23410,50.694330 323.23410,86.694330 C 323.23410,131.69430 359.23410,149.69430 359.23410,149.69430 C 359.23410,149.69430 350.79810,168.65830 305.23410,194.69430 C 242.23410,230.69430 197.23410,302.69430 197.23410,365.69430 C 197.23410,446.69430 260.23410,473.69430 260.23410,473.69430 L 233.23410,554.69430 L 323.23410,599.69430 C 323.23410,599.69430 287.23410,617.69430 251.23410,626.69430 C 206.71310,637.82430 149.53510,621.93730 116.23410,626.69430 C 53.234040,635.69430 8.2340370,653.69430 8.2340370,653.69430 L 53.234040,797.69430 C 116.23410,779.69430 125.23410,779.69430 179.23410,770.69430 C 212.32610,765.17930 294.05010,774.42230 332.23410,761.69430 C 386.23410,743.69430 404.23410,716.69430 404.23410,716.69430 C 404.23410,716.69430 422.23410,743.69430 476.23410,761.69430 C 514.41810,774.42230 600.94710,767.15830 629.23410,770.69430 C 683.55610,777.48430 755.23410,797.69430 755.23410,797.69430 L 800.23410,653.69430 L 800.23410,653.69430 z ", KNIGHT: "M 76.688770,727.94590 L 556.66680,726.94590 C 556.35380,598.04990 470.35380,554.04990 477.38380,475.20990 L 579.43880,550.04990 C 620.25980,599.03590 666.52580,603.11790 681.49380,574.54390 C 715.51280,581.34690 746.80780,554.13390 745.44780,499.70390 C 744.08780,445.27390 682.85280,364.99090 659.72080,264.29690 C 633.86680,158.15990 604.29080,144.55290 587.96280,139.10890 L 587.60180,61.545870 L 505.95780,121.41890 L 459.69280,41.135870 L 413.42780,136.38790 C 252.86280,88.761870 82.131770,425.86390 76.688770,727.94590 z M 505.95780,677.95990 L 126.31380,677.95990 C 205.68580,187.71690 362.68580,154.71690 437.92180,193.53890 L 462.41480,144.55290 L 481.46480,178.57090 L 567.19080,198.98090 L 576.71580,189.45790 C 597.12680,205.78590 608.14980,284.03590 634.35280,350.71790 C 662.29280,421.82190 697.90980,477.31990 697.82080,496.98190 C 697.68580,526.71790 689.01880,532.71790 671.96680,525.55790 C 663.68580,512.04990 655.01880,500.71790 639.30980,499.70390 C 632.35280,500.04990 621.14380,503.00890 631.68580,509.71790 C 646.35280,519.04990 642.75180,540.16490 642.75180,540.16490 C 616.01880,518.71790 515.25280,437.01890 459.69280,401.73090 C 442.35180,390.71690 426.68480,380.71690 414.68480,350.21690 C 390.82180,377.37090 416.35180,430.71690 431.68480,444.04890 C 408.35180,536.04890 484.35180,618.71690 505.95680,677.95890 L 505.95780,677.95990 z M 682.04780,490.00990 C 682.04780,485.18590 675.98380,472.91790 669.91880,467.95690 C 663.85480,462.99390 654.48180,460.23590 648.96880,460.37490 C 643.45580,460.51390 634.49680,465.74990 634.90980,472.36690 C 635.32280,478.98190 647.17680,480.77490 651.86280,482.56590 C 656.54880,484.35690 662.88880,496.62590 669.50480,500.75990 C 676.12080,504.89390 682.04780,496.67790 682.04780,490.00990 L 682.04780,490.00990 z M 588.45680,320.97290 C 588.11380,280.48690 578.16380,263.67390 566.49780,249.26390 C 554.83180,234.85190 512.97280,215.29490 512.97280,215.29490 C 512.97280,215.29490 508.16880,266.41790 525.66780,296.26990 C 543.16680,326.11990 570.61480,321.31690 588.45680,320.97290 L 588.45680,320.97290 z ", PAWN: "M 688.02380,753.51590 L 688.02380,627.51590 C 688.02380,582.51590 661.62380,455.01590 553.02380,411.51590 C 598.02380,357.51590 607.02380,258.51590 517.02380,195.51590 C 544.02380,159.51590 517.02380,33.515900 409.02380,33.515900 C 301.02380,33.515900 274.02380,159.51590 301.02380,195.51590 C 211.02380,258.51590 220.02380,357.51590 265.02380,411.51590 C 157.02380,456.51590 130.02380,582.51590 130.02380,627.51590 L 130.02380,753.51590 L 688.02380,753.51590 z M 409.02380,87.515900 C 490.02380,87.515900 490.02380,177.51590 454.02380,213.51590 C 562.02380,258.51590 535.02380,375.51590 481.02380,429.51590 C 571.02380,456.51590 634.02380,546.51590 634.02380,609.51590 L 634.02380,699.51590 L 184.02380,699.51590 L 184.02380,609.51590 C 184.02380,546.51590 247.02380,456.51590 337.02380,429.51590 C 283.02380,375.51590 256.02380,258.51590 364.02380,213.51590 C 328.02380,177.51590 328.02380,87.515900 409.02380,87.515900 z " } } parsedPieces = [[[], [], [], [], [], [], []], [[], [], [], [], [], [], []]] for color in (WHITE, BLACK): for piece in range(PAWN, KING + 1): list = [] thep = [0, 0] for g1, g2 in elemExpr.findall(pieces[color][piece]): if g2: points = [float(s) for s in spaceExpr.split(g2)] list += [(g1, [f - thep[i % 2] for i, f in enumerate(points)])] thep = points[-2:] elif g1 == 'z': list += [('z', (0, 0))] else: continue parsedPieces[color][piece] = {size: list} def drawPieceReal(piece, cc, psize, allwhite=False, asean=False): color = WHITE if allwhite else piece.color # Do the actual drawing to the Cairo context for cmd, points in parsedPieces[color][piece.sign][psize]: if cmd == 'M': cc.rel_move_to(*points) elif cmd == 'L': cc.rel_line_to(*points) elif cmd == 'C': cc.rel_curve_to(*points) else: cc.set_source_rgb(1, 1, 1) cc.fill_preserve() cc.set_source_rgb(0, 0, 0) def drawPiece2(piece, cc, x, y, psize, allwhite=False, asean=False): """Rendering pieces with draw each time method""" if asean: drawPiece3(piece, cc, x, y, psize, allwhite=allwhite, asean=True) return cc.save() cc.move_to(x, y) if psize not in parsedPieces[piece.color][piece.sign]: list = [(cmd, [(p * psize / size) for p in points]) for cmd, points in parsedPieces[piece.color][piece.sign][size]] parsedPieces[piece.color][piece.sign][psize] = list drawPieceReal(piece, cc, psize, allwhite) cc.fill() cc.restore() pychess-1.0.0/lib/pychess/gfx/__init__.py0000755000175000017500000000000013353143212017345 0ustar varunvarunpychess-1.0.0/lib/pychess/gfx/Pieces.py0000644000175000017500000001226113403573020017027 0ustar varunvarunfrom gi.repository import Rsvg from pychess.Utils.const import BLACK, WHITE, KING, QUEEN, BISHOP, KNIGHT, ROOK, PAWN, \ reprSign from pychess.System import conf from pychess.System.prefix import addDataPrefix from pychess.System.cairoextras import create_cairo_font_face_for_file piece_ord = {KING: 0, QUEEN: 1, ROOK: 2, BISHOP: 3, KNIGHT: 4, PAWN: 5} pnames = ('Pawn', 'Knight', 'Bishop', 'Rook', 'Queen', 'King') size = 800.0 makruk_svg_pieces = None def drawPiece3(piece, context, x, y, psize, allwhite=False, asean=False): """Rendering pieces using .svg chess figurines""" color = WHITE if allwhite else piece.color if asean: global makruk_svg_pieces if makruk_svg_pieces is None: makruk_svg_pieces = get_svg_pieces("makruk") image = makruk_svg_pieces[color][piece.sign] w, h = image.props.width, image.props.height offset_x = 0 offset_y = 0 elif all_in_one: image = svg_pieces w, h = image.props.width / 6, image.props.height / 2 offset_x = piece_ord[piece.sign] * psize offset_y = 0 if color == BLACK else psize else: image = svg_pieces[color][piece.sign] w, h = image.props.width, image.props.height offset_x = 0 offset_y = 0 context.save() context.rectangle(x, y, psize, psize) context.clip() context.translate(x - offset_x, y - offset_y) context.scale(1.0 * psize / w, 1.0 * psize / h) context.push_group() if asean: image.render_cairo(context) elif all_in_one: pieceid = '#%s%s' % ('White' if color == 0 else 'Black', pnames[piece.sign - 1]) image.render_cairo_sub(context, id=pieceid) else: image.render_cairo(context) context.pop_group_to_source() context.paint_with_alpha(piece.opacity) context.restore() def drawPiece4(piece, context, x, y, psize, allwhite=False, asean=False): """Rendering pieces using .ttf chessfont figurines""" if asean: drawPiece3(piece, context, x, y, psize, allwhite=allwhite, asean=True) return color = WHITE if allwhite else piece.color context.set_font_face(chess_font_face) context.set_font_size(psize) context.move_to(x, y + psize) context.text_path(piece2char[color][piece.sign]) close_path = False for cmd, points in context.copy_path(): if cmd == 0: context.move_to(*points) if close_path: context.set_source_rgb(1, 1, 1) context.fill_preserve() context.set_source_rgb(0, 0, 0) close_path = False elif cmd == 1: context.line_to(*points) elif cmd == 2: context.curve_to(*points) else: close_path = True context.fill() surfaceCache = {} pieces = (PAWN, KNIGHT, BISHOP, ROOK, QUEEN, KING) def get_svg_pieces(svgdir): """Load figurines from .svg files""" if all_in_one: rsvg_handles = Rsvg.Handle.new_from_file(addDataPrefix( "pieces/%s/%s.svg" % (svgdir, svgdir))) else: rsvg_handles = [[None] * 7, [None] * 7] for c, color in ((WHITE, 'white'), (BLACK, 'black')): for p in pieces: rsvg_handles[c][p] = Rsvg.Handle.new_from_file(addDataPrefix( "pieces/%s/%s%s.svg" % (svgdir, color[0], reprSign[ p].lower()))) return rsvg_handles def get_chess_font_face(name): """Set chess font and char mapping for a chess .ttf""" name = name[4:] if name in ('alpha', 'berlin', 'cheq'): char_map = ('phbrqk', 'ojntwl') else: char_map = ('pnbrqk', 'omvtwl') piece_chars = [[None] * 7, [None] * 7] for color in (WHITE, BLACK): for piece, char in zip(pieces, char_map[color]): piece_chars[color][piece] = char face = create_cairo_font_face_for_file(addDataPrefix("pieces/ttf/%s.ttf" % name)) return face, piece_chars all_in_one = None drawPiece = None svg_pieces = None chess_font_face = None piece2char = None def set_piece_theme(piece_set): global all_in_one global drawPiece global svg_pieces global chess_font_face global piece2char piece_set = piece_set.lower() if piece_set == 'pychess': from pychess.gfx.pychess_pieces import drawPiece2 drawPiece = drawPiece2 elif piece_set.startswith("ttf-"): drawPiece = drawPiece4 try: chess_font_face, piece2char = get_chess_font_face(piece_set) except Exception: from pychess.gfx.pychess_pieces import drawPiece2 drawPiece = drawPiece2 elif piece_set in ('celtic', 'eyes', 'fantasy', 'fantasy_alt', 'freak', 'prmi', 'skulls', 'spatial'): all_in_one = True drawPiece = drawPiece3 svg_pieces = get_svg_pieces(piece_set) else: all_in_one = False drawPiece = drawPiece3 try: svg_pieces = get_svg_pieces(piece_set) except Exception: from pychess.gfx.pychess_pieces import drawPiece2 drawPiece = drawPiece2 set_piece_theme(conf.get("pieceTheme")) pychess-1.0.0/lib/pychess/widgets/0000755000175000017500000000000013467766037016153 5ustar varunvarunpychess-1.0.0/lib/pychess/widgets/ChessClock.py0000644000175000017500000002272013365545272020542 0ustar varunvarun# -*- coding: UTF-8 -*- from math import ceil, pi, cos, sin import cairo from gi.repository import GLib, Gtk, Gdk, Pango, PangoCairo, GObject from pychess.System import conf from pychess.Utils.const import BLACK, WHITE, LOCAL, UNFINISHED_STATES, DRAW, WHITEWON, BLACKWON, UNKNOWN_STATE from . import preferencesDialog def formatTime(seconds, clk2pgn=False): minus = "" if seconds <= -10 or seconds >= 10: seconds = ceil(seconds) if seconds < 0: minus = "-" seconds = -seconds hours, remainder = divmod(seconds, 3600) minutes, seconds = divmod(remainder, 60) if hours or clk2pgn: return minus + "%d:%02d:%02d" % (hours, minutes, seconds) elif not minutes and seconds < 10: return minus + "%.1f" % seconds else: return minus + "%d:%02d" % (minutes, seconds) class ChessClock(Gtk.DrawingArea): def __init__(self): GObject.GObject.__init__(self) self.connect("draw", self.expose) self.names = [_("White"), _("Black")] self.model = None self.short_on_time = [False, False] self.alarm_spin = conf.get("alarm_spin") conf.notify_add("alarm_spin", self.on_alarm_spin) def on_alarm_spin(self, *args): self.alarm_spin = conf.get("alarm_spin") def expose(self, widget, ctx): context = widget.get_window().cairo_create() clip_ext = context.clip_extents() if clip_ext[0] > 0 or clip_ext[2] < self.get_allocated_width(): self.redraw_canvas() return False rec = Gdk.Rectangle() rec.x, rec.y, rec.width, rec.height = clip_ext[0], clip_ext[1], \ clip_ext[2] - clip_ext[0], clip_ext[3] - clip_ext[1] context.rectangle(rec.x, rec.y, rec.width, rec.height) context.clip() self.draw(context) return False def draw(self, context): style_ctxt = self.get_style_context() self.light = style_ctxt.lookup_color("p_light_color")[1] self.dark = style_ctxt.lookup_color("p_dark_color")[1] if not self.model: return # Draw graphical Clock. Should this be moved to preferences? drawClock = True rect = Gdk.Rectangle() clip_ext = context.clip_extents() rect.x, rect.y, rect.width, rect.height = clip_ext[0], clip_ext[1], \ clip_ext[2] - clip_ext[0], clip_ext[3] - clip_ext[1] context.rectangle(rect.width / 2. * self.model.movingColor, 0, rect.width / 2., rect.height) context.set_source_rgba(self.dark.red, self.dark.green, self.dark.blue, self.dark.alpha) context.fill_preserve() context.new_path() time0 = self.names[0], self.formatedCache[WHITE] layout0 = self.create_pango_layout(" %s: %s " % (time0)) layout0.set_font_description(Pango.FontDescription("Sans Serif 17")) time1 = self.names[1], self.formatedCache[BLACK] layout1 = self.create_pango_layout(" %s: %s " % (time1)) layout1.set_font_description(Pango.FontDescription("Sans Serif 17")) dbl_max = max(layout1.get_pixel_size()[0], layout0.get_pixel_size()[0]) * 2 self.set_size_request(dbl_max + rect.height + 7, -1) pangoScale = float(Pango.SCALE) # Analog clock code. def paintClock(player): clock_y = rect.height / 2. clock_x = clock_y + rect.width / 2. * player + 1 rec = rect.height / 2. - 3.5 context.arc(clock_x, clock_y, rec - 1, 0, 2 * pi) linear = cairo.LinearGradient(clock_x - rec * 2, clock_y - rec * 2, clock_x + rec * 2, clock_y + rec * 2) linear.add_color_stop_rgba(0, 1, 1, 1, 0.3) linear.add_color_stop_rgba(1, 0, 0, 0, 0.3) # context.set_source_rgba( 0, 0, 0, .3) context.set_source(linear) context.fill() linear = cairo.LinearGradient(clock_x - rec, clock_y - rec, clock_x + rec, clock_y + rec) linear.add_color_stop_rgba(0, 0, 0, 0, 0.5) linear.add_color_stop_rgba(1, 1, 1, 1, 0.5) context.arc(clock_x, clock_y, rec, 0, 2 * pi) context.set_source(linear) context.set_line_width(2.5) context.stroke() starttime = float(self.model.getInitialTime()) or 1 used = self.model.getPlayerTime(player) / starttime if used > 0: if used > 0: context.arc(clock_x, clock_y, rec - .8, -(used + 0.25) * 2 * pi, -0.5 * pi) context.line_to(clock_x, clock_y) context.close_path() elif used == 0: context.arc(clock_x, clock_y, rec - .8, -0.5 * pi, 1.5 * pi) context.line_to(clock_x, clock_y) radial = cairo.RadialGradient(clock_x, clock_y, 3, clock_x, clock_y, rec) if player == 0: # radial.add_color_stop_rgb(0, .73, .74, .71) radial.add_color_stop_rgb(0, .93, .93, .92) radial.add_color_stop_rgb(1, 1, 1, 1) else: # radial.add_color_stop_rgb(0, .53, .54, .52) radial.add_color_stop_rgb(0, .18, .20, .21) radial.add_color_stop_rgb(1, 0, 0, 0) context.set_source(radial) context.fill() x_loc = clock_x - cos((used - 0.25) * 2 * pi) * (rec - 1) y_loc = clock_y + sin((used - 0.25) * 2 * pi) * (rec - 1) context.move_to(clock_x, clock_y - rec + 1) context.line_to(clock_x, clock_y) context.line_to(x_loc, y_loc) context.set_line_width(0.2) if player == 0: context.set_source_rgb(0, 0, 0) else: context.set_source_rgb(1, 1, 1) context.stroke() if drawClock: paintClock(WHITE) if (self.model.movingColor or WHITE) == WHITE: context.set_source_rgba(self.light.red, self.light.green, self.light.blue, self.light.alpha) else: context.set_source_rgba(self.dark.red, self.dark.green, self.dark.blue, self.dark.alpha) y_loc = rect.height / 2. - layout0.get_extents()[0].height / pangoScale / 2 \ - layout0.get_extents()[0].y / pangoScale context.move_to(rect.height - 7, y_loc) PangoCairo.show_layout(context, layout0) if drawClock: paintClock(BLACK) if self.model.movingColor == BLACK: context.set_source_rgba(self.light.red, self.light.green, self.light.blue, self.light.alpha) else: context.set_source_rgba(self.dark.red, self.dark.green, self.dark.blue, self.dark.alpha) y_loc = rect.height / 2. - layout0.get_extents()[0].height / pangoScale / 2 \ - layout0.get_extents()[0].y / pangoScale context.move_to(rect.width / 2. + rect.height - 7, y_loc) PangoCairo.show_layout(context, layout1) def redraw_canvas(self): def do_redraw_canvas(): if self.get_window(): allocation = self.get_allocation() rect = Gdk.Rectangle() rect.x, rect.y, rect.width, rect.height = (0, 0, allocation.width, allocation.height) self.get_window().invalidate_rect(rect, True) self.get_window().process_updates(True) GLib.idle_add(do_redraw_canvas) def setModel(self, model): self.model = model self.model.connect("time_changed", self.time_changed) self.model.connect("player_changed", self.player_changed) self.formatedCache = [formatTime(self.model.getPlayerTime( self.model.movingColor or WHITE))] * 2 if model.secs != 0 or model.gain != 0: GLib.timeout_add(100, self.update) def time_changed(self, model): self.update() def player_changed(self, model): self.redraw_canvas() def update(self, wmovecount=-1, bmovecount=-1): if self.model.ended: return False if len(self.model.gamemodel.players) < 2: return not self.model.ended alarm_time = int(self.alarm_spin) if self.model.getPlayerTime(self.model.movingColor) <= alarm_time and \ self.model.gamemodel.players[self.model.movingColor].__type__ == LOCAL and \ self.model.gamemodel.status in UNFINISHED_STATES and \ self.model.secs != 0 and \ self.model.gamemodel.endstatus not in (DRAW, WHITEWON, BLACKWON, UNKNOWN_STATE) and \ not self.short_on_time[self.model.movingColor]: self.short_on_time[self.model.movingColor] = True preferencesDialog.SoundTab.playAction("shortOnTime") if self.model.paused and wmovecount == -1 and bmovecount == -1: return not self.model.ended white_time = formatTime(self.model.getPlayerTime(WHITE, wmovecount)) black_time = formatTime(self.model.getPlayerTime(BLACK, bmovecount)) if self.formatedCache != [white_time, black_time]: self.formatedCache = [white_time, black_time] self.redraw_canvas() return not self.model.ended pychess-1.0.0/lib/pychess/widgets/InfoPanel.py0000644000175000017500000002355213415426421020366 0ustar varunvarunimport re from gi.repository import Gtk, GObject, Pango from pychess.widgets import insert_formatted TYPE_PERSONAL, TYPE_CHANNEL, TYPE_GUEST, \ TYPE_ADMIN, TYPE_COMP, TYPE_BLINDFOLD = range(6) def get_playername(playername): re_m = re.match("(\w+)\W*", playername) return re_m.groups()[0] class BulletCellRenderer(Gtk.CellRenderer): __gproperties__ = { "color": (object, "Color", "Color", GObject.ParamFlags.READABLE | GObject.ParamFlags.WRITABLE), } def __init__(self): GObject.GObject.__init__(self) self.color = None self.width = 16 self.height = 16 def do_set_property(self, pspec, value): setattr(self, pspec.name, value) def do_get_property(self, pspec): return getattr(self, pspec.name) def do_render(self, context, widget, bg_area, cell_area, flags): if self.color is None: return else: red, green, blue = self.color x_loc, y_loc = self.get_size(widget, cell_area)[:2] context.set_source_rgb(red, green, blue) context.rectangle(x_loc, y_loc, self.width, self.height) context.fill() context.set_line_width(1) context.set_source_rgba(0, 0, 0, 0.5) context.rectangle(x_loc + 0.5, y_loc + 0.5, self.width - 1, self.height - 1) context.stroke() context.set_line_width(1) context.set_source_rgba(1, 1, 1, 0.5) context.rectangle(x_loc + 1.5, y_loc + 1.5, self.width - 3, self.height - 3) context.stroke() def on_get_size(self, widget, cell_area=None): if cell_area: y_loc = int(cell_area.height / 2. - self.height / 2.) + cell_area.y x_loc = cell_area.x else: y_loc = 0 x_loc = 0 return (x_loc + 1, y_loc + 1, self.width + 2, self.height + 2) GObject.type_register(BulletCellRenderer) class Panel: def start(self): pass def addItem(self, id, text, type, chat_view): pass def removeItem(self, id): pass def selectItem(self, id): pass class InfoPanel(Gtk.Notebook, Panel): def __init__(self, connection): GObject.GObject.__init__(self) self.set_show_tabs(False) self.set_show_border(False) self.id2Widget = {} label = Gtk.Label() label.set_markup("%s" % _("No conversation's selected")) label.props.xalign = .5 label.props.yalign = 0.381966011 label.props.justify = Gtk.Justification.CENTER label.props.wrap = True label.props.width_request = 115 self.append_page(label, None) self.connection = connection def addItem(self, grp_id, text, grp_type, chat_view): if grp_type in (TYPE_PERSONAL, TYPE_COMP, TYPE_GUEST, TYPE_ADMIN, TYPE_BLINDFOLD): infoItem = self.PlayerInfoItem(grp_id, text, chat_view, self.connection) elif grp_type == TYPE_CHANNEL: infoItem = self.ChannelInfoItem(grp_id, text, chat_view, self.connection) self.addPage(infoItem, grp_id) def removeItem(self, grp_id): self.removePage(grp_id) def selectItem(self, grp_id): child = self.id2Widget.get(grp_id) if child is not None: self.set_current_page(self.page_num(child)) def addPage(self, widget, grp_id): self.id2Widget[grp_id] = widget self.append_page(widget, None) widget.show_all() def removePage(self, grp_id): child = self.id2Widget.pop(grp_id) self.remove_page(self.page_num(child)) class PlayerInfoItem(Gtk.Alignment): def __init__(self, id, text, chat_view, connection): GObject.GObject.__init__(self, xscale=1, yscale=1) self.add(Gtk.Label(label=_("Loading player data"))) playername = get_playername(text) self.fm = connection.fm self.handle_id = self.fm.connect( "fingeringFinished", self.onFingeringFinished, playername) self.fm.finger(playername) def onFingeringFinished(self, fm, finger, playername): if not isinstance(self.get_child(), Gtk.Label) or \ finger.getName().lower() != playername.lower(): return self.fm.disconnect(self.handle_id) label = Gtk.Label() label.set_markup("%s" % playername) widget = Gtk.Frame() widget.set_label_widget(label) widget.set_shadow_type(Gtk.ShadowType.NONE) alignment = Gtk.Alignment.new(0, 0, 1, 1) alignment.set_padding(3, 0, 12, 0) widget.add(alignment) text_view = Gtk.TextView() text_view.set_editable(False) text_view.set_cursor_visible(False) text_view.props.wrap_mode = Gtk.WrapMode.WORD tb_iter = text_view.get_buffer().get_end_iter() for i, note in enumerate(finger.getNotes()): if note: insert_formatted(text_view, tb_iter, "%s\n" % note) text_view.show_all() scroll_win = Gtk.ScrolledWindow() scroll_win.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) scroll_win.add(text_view) alignment.add(scroll_win) self.remove(self.get_child()) self.add(widget) widget.show_all() class ChannelInfoItem(Gtk.Alignment): def __init__(self, grp_id, text, chat_view, connection): GObject.GObject.__init__(self, xscale=1, yscale=1) self.cm = connection.cm self.add(Gtk.Label(label=_("Receiving list of players"))) self.names = set() chat_view.connect("messageAdded", self.onMessageAdded) self.store = Gtk.ListStore(object, # (r,g,b) Color tuple str, # name string bool # is separator ) connection.players.connect("FICSPlayerExited", self.onPlayerRemoved) self.handle_id = self.cm.connect("receivedNames", self.onNamesReceived, grp_id) self.cm.getPeopleInChannel(grp_id) def onPlayerRemoved(self, players, player): if player.name in self.names: for row in self.store: if row[1] == player.name: self.store.remove(row.iter) break self.names.remove(player.name) def onNamesReceived(self, cm, channel, people, channel_): if not isinstance(self.get_child(), Gtk.Label) or channel != channel_: return cm.disconnect(self.handle_id) scroll_win = Gtk.ScrolledWindow() scroll_win.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) tv_list = Gtk.TreeView() tv_list.set_headers_visible(False) tv_list.set_tooltip_column(1) tv_list.set_model(self.store) tv_list.append_column(Gtk.TreeViewColumn("", BulletCellRenderer(), color=0)) cell = Gtk.CellRendererText() cell.props.ellipsize = Pango.EllipsizeMode.END tv_list.append_column(Gtk.TreeViewColumn("", cell, text=1)) tv_list.fixed_height_mode = True self.separatorIter = self.store.append([(), "", True]) tv_list.set_row_separator_func(lambda m, i, d: m.get_value(i, 2), None) scroll_win.add(tv_list) self.store.connect("row-inserted", lambda w, p, i: tv_list.queue_resize()) self.store.connect("row-deleted", lambda w, i: tv_list.queue_resize()) # Add those names. If this is not the first namesReceive, we only # add the new names noneed = set([name for (color, name, isSeparator) in self.store]) for name in people: if name in noneed: continue self.store.append([(1, 1, 1), name, False]) self.names.add(name) self.remove(self.get_child()) self.add(scroll_win) self.show_all() def onMessageAdded(self, chat_view, sender, text, color): s_iter = self.store.get_iter_first() # If the names list hasn't been retrieved yet, we have to skip this if not s_iter: return while self.store.get_path(s_iter) != self.store.get_path( self.separatorIter): person = self.store.get_value(s_iter, 1) # If the person is already in the area before the separator, we # don't have to do anything if person.lower() == sender.lower(): return s_iter = self.store.iter_next(s_iter) # Go to s_iter after separator s_iter = self.store.iter_next(s_iter) while s_iter and self.store.iter_is_valid(s_iter): person = self.store.get_value(s_iter, 1) if person.lower() == sender.lower(): self.store.set_value(s_iter, 0, color) self.store.move_before(s_iter, self.separatorIter) return s_iter = self.store.iter_next(s_iter) # If the person was not in the area under the separator of the # store, it must be a new person, who has joined the channel, and we # simply add him before the separator self.store.insert_before(self.separatorIter, [color, sender, False]) pychess-1.0.0/lib/pychess/widgets/ChatView.py0000755000175000017500000002312413365545272020235 0ustar varunvarunfrom time import strftime, localtime import random from gi.repository import Gtk, Gdk, Pango, GObject from pychess.System import uistuff from pychess.widgets import insert_formatted from pychess.Utils.IconLoader import load_icon from pychess.ic.ICGameModel import ICGameModel class ChatView(Gtk.Box): __gsignals__ = { 'messageAdded': (GObject.SignalFlags.RUN_FIRST, None, (str, str, object)), 'messageTyped': (GObject.SignalFlags.RUN_FIRST, None, (str, )), } def __init__(self, gamemodel=None): Gtk.Box.__init__(self, orientation=Gtk.Orientation.VERTICAL) self.gamemodel = gamemodel # States for the color generator self.colors = {} self.startpoint = random.random() # Inits the read view self.readView = Gtk.TextView() self.sw = Gtk.ScrolledWindow() self.sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) self.sw.set_shadow_type(Gtk.ShadowType.ETCHED_IN) self.sw.add(self.readView) self.readView.set_editable(False) self.readView.set_cursor_visible(False) self.readView.props.wrap_mode = Gtk.WrapMode.WORD self.readView.props.pixels_below_lines = 1 self.readView.props.pixels_above_lines = 2 self.readView.props.left_margin = 2 if isinstance(self.gamemodel, ICGameModel): self.refresh = Gtk.Image() self.refresh.set_from_pixbuf(load_icon(16, "view-refresh", "stock-refresh")) label = _("Observers") self.obs_btn = Gtk.Button() self.obs_btn.set_image(self.refresh) self.obs_btn.set_label(label) self.obs_btn_cid = self.obs_btn.connect("clicked", self.on_obs_btn_clicked) vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) # Inits the observers view self.obsView = Gtk.TextView() self.obsView.set_cursor_visible(False) self.obsView.set_editable(False) self.obsView.props.wrap_mode = Gtk.WrapMode.WORD self.obsView.props.pixels_below_lines = 1 self.obsView.props.pixels_above_lines = 2 self.obsView.props.left_margin = 2 text_buffer = self.obsView.get_buffer() iter = text_buffer.get_end_iter() anchor1 = text_buffer.create_child_anchor(iter) self.obsView.add_child_at_anchor(self.obs_btn, anchor1) self.button_tag = text_buffer.create_tag("observers") text_buffer.insert_with_tags_by_name(iter, " ", "observers") text_buffer.insert(iter, "\n") if not self.gamemodel.offline_lecture: vbox.pack_start(self.obsView, False, True, 0) vbox.pack_start(self.sw, True, True, 0) self.pack_start(vbox, True, True, 0) else: self.pack_start(self.sw, True, True, 0) # Create a 'log mark' in the beginning of the text buffer. Because we # query the log asynchronously and in chunks, we can use this to insert # it correctly after previous log messages, but before the new messages. start = self.readView.get_buffer().get_start_iter() self.readView.get_buffer().create_mark("logMark", start) # Inits the write view self.writeView = Gtk.Entry() box = Gtk.Box() self.pack_start(self.writeView, False, False, 0) box.add(self.writeView) if self.gamemodel is not None and self.gamemodel.offline_lecture: label = _("Go on") self.go_on_btn = Gtk.Button() self.go_on_btn.set_label(label) self.go_on_btn_cid = self.go_on_btn.connect( "clicked", lambda btn: self.gamemodel.lecture_skip_event.set()) box.add(self.go_on_btn) label = _("Pause") self.pause_btn = Gtk.Button() self.pause_btn.set_label(label) self.pause_btn_cid = self.pause_btn.connect( "clicked", lambda btn: self.gamemodel.lecture_pause_event.set()) box.add(self.pause_btn) self.pack_start(box, False, False, 0) self.writeview_cid = self.writeView.connect("key-press-event", self.onKeyPress) self.cid = None if self.gamemodel is not None: self.cid = self.gamemodel.connect_after("game_terminated", self.on_game_terminated) def on_game_terminated(self, model): if isinstance(self.gamemodel, ICGameModel): self.obs_btn.disconnect(self.obs_btn_cid) self.writeView.disconnect(self.writeview_cid) if self.cid is not None: self.gamemodel.disconnect(self.cid) def on_obs_btn_clicked(self, other): if not self.gamemodel.connection.ICC: allob = 'allob ' + str(self.gamemodel.ficsgame.gameno) self.gamemodel.connection.client.run_command(allob) def update_observers(self, other, observers): """ Rebuilds observers list text """ text_buf = self.obsView.get_buffer() start_iter = text_buf.get_end_iter() start_iter.backward_to_tag_toggle(self.button_tag) start_iter.forward_char() end_iter = text_buf.get_end_iter() text_buf.delete(start_iter, end_iter) iter = text_buf.get_end_iter() obs_list = observers.split() for player in obs_list: # Colourize only players able to interact with chat View if player.endswith("(U)"): text_buf.insert(iter, "%s " % player[:-3]) elif "(" in player: pref = player.split('(', 1)[0] self._ensureColor(pref) text_buf.insert_with_tags_by_name(iter, "%s " % player, pref + "_bold") else: text_buf.insert(iter, "%s " % player) self.obsView.show_all() def _ensureColor(self, pref): """ Ensures that the tags for pref_normal and pref_bold are set in the text buffer """ text_buf = self.readView.get_buffer() if pref not in self.colors: color = uistuff.genColor(len(self.colors) + 1, self.startpoint) self.colors[pref] = color color = [int(c * 255) for c in color] color = "#" + "".join([hex(v)[2:].zfill(2) for v in color]) text_buf.create_tag(pref + "_normal", foreground=color) text_buf.create_tag(pref + "_bold", foreground=color, weight=Pango.Weight.BOLD) if isinstance(self.gamemodel, ICGameModel): otb = self.obsView.get_buffer() otb.create_tag(pref + "_normal", foreground=color) otb.create_tag(pref + "_bold", foreground=color, weight=Pango.Weight.BOLD) def clear(self): self.writeView.get_buffer().props.text = "" self.readView.get_buffer().props.text = "" tagtable = self.readView.get_buffer().get_tag_table() for i in range(len(self.colors)): tagtable.remove("%d_normal" % i) tagtable.remove("%d_bold" % i) self.colors.clear() def __addMessage(self, iter, time, sender, text): pref = sender.lower() text_buffer = self.readView.get_buffer() iter = text_buffer.get_end_iter() text_buffer.create_mark("end", iter, False) if text_buffer.props.text: text_buffer.insert(iter, "\n") # Calculate a color for the sender self._ensureColor(pref) # Insert time, name and text with different stylesd text_buffer.insert_with_tags_by_name(iter, "(%s) " % time, pref + "_normal") text_buffer.insert_with_tags_by_name(iter, sender + ": ", pref + "_bold") insert_formatted(self.readView, iter, text) # Scroll the mark onscreen. mark = text_buffer.get_mark("end") text_buffer.move_mark(mark, iter) self.readView.scroll_mark_onscreen(mark) # This is used to buzz the user and add senders to a list of active participants self.emit("messageAdded", sender, text, self.colors[pref]) def insertLogMessage(self, timestamp, sender, text): """ Takes a list of (timestamp, sender, text) pairs, and inserts them in the beginning of the document. All text will be in a gray color """ text_buffer = self.readView.get_buffer() iter = text_buffer.get_iter_at_mark(text_buffer.get_mark("logMark")) time = strftime("%H:%M:%S", localtime(timestamp)) self.__addMessage(iter, time, sender, text) def addMessage(self, sender, text): text_buffer = self.readView.get_buffer() iter = text_buffer.get_end_iter() self.__addMessage(iter, strftime("%H:%M:%S"), sender, text) def disable(self, message): """ Sets the write field insensitive, in cases where the channel is read only. Use the message to give the user a propriate exlpanation """ self.writeView.set_sensitive(False) self.writeView.set_text(message) def enable(self): self.writeView.set_text("") self.writeView.set_sensitive(True) def onKeyPress(self, widget, event): if event.keyval in list(map(Gdk.keyval_from_name, ("Return", "KP_Enter"))): if not event.get_state() & Gdk.ModifierType.CONTROL_MASK: buffer = self.writeView.get_buffer() if buffer.props.text: self.emit("messageTyped", buffer.props.text) buffer.props.text = "" return True pychess-1.0.0/lib/pychess/widgets/gameinfoDialog.py0000755000175000017500000001726613365701737021442 0ustar varunvarun from gi.repository import Gtk, Gdk from pychess.Savers.database import parseDateTag from pychess.Database.PgnImport import dedicated_tags from pychess.Utils.const import BLACK, WHITE, DRAW, WHITEWON, BLACKWON, RUNNING, reprResult from pychess.perspectives import perspective_manager from pychess.Utils.elo import get_elo_rating_change_str from pychess.widgets import mainwindow firstRun = True tags_store = Gtk.ListStore(str, str) def run(widgets): global firstRun, tags_store # Data from the game persp = perspective_manager.get_perspective("games") gamemodel = persp.cur_gmwidg().gamemodel # Initialization if firstRun: initialize(widgets) firstRun = False # Load of the tags having a dedicated field for tag in dedicated_tags: tag_value = gamemodel.tags[tag] if tag_value is None: continue if tag == "Date": tag_value = tag_value.replace(".??", "").replace("????.", "") elif tag_value == "?": tag_value = "" widgets["%s_entry" % tag.lower()].set_text(tag_value) refresh_elo_rating_change(widgets) combo = widgets["result_combo"] acive_id = reprResult[gamemodel.status] combo.set_active_id(acive_id) # Load of the tags in the editor tags_store.clear() for tag in gamemodel.tags: # print(tag, gamemodel.tags[tag]) if tag not in dedicated_tags and isinstance(gamemodel.tags[tag], str) and gamemodel.tags[tag]: tags_store.append([tag, gamemodel.tags[tag]]) # Show the loaded dialog widgets["game_info"].show() def initialize(widgets): def hide_window(button, *args): widgets["game_info"].hide() return True def on_add_tag(button, *args): tv_iter = tags_store.append([_("New"), ""]) path = tags_store.get_path(tv_iter) widgets["tags_treeview"].set_cursor(path) def on_delete_tag(button, *args): store, tv_iter = widgets["tags_treeview"].get_selection().get_selected() if tv_iter: store.remove(tv_iter) def accept_new_properties(button, *args): persp = perspective_manager.get_perspective("games") gamemodel = persp.cur_gmwidg().gamemodel # Remove the existing tags in string format for tag in list(gamemodel.tags): if isinstance(gamemodel.tags[tag], str): del gamemodel.tags[tag] # Copy of the tags from the dedicated fields for tag in dedicated_tags: gamemodel.tags[tag] = widgets["%s_entry" % tag.lower()].get_text() combo = widgets["result_combo"] tree_iter = combo.get_active_iter() if tree_iter is not None: model = combo.get_model() status = model[tree_iter][0] if status != gamemodel.status: gamemodel.status = status gamemodel.checkStatus() # Copy the extra tags from the editor for tag in tags_store: if tag[0] != "" and tag not in dedicated_tags: gamemodel.tags[tag[0]] = tag[1] widgets["game_info"].hide() # Apply some settings to the game model gamemodel.players[BLACK].setName(gamemodel.tags["Black"]) gamemodel.players[WHITE].setName(gamemodel.tags["White"]) gamemodel.emit("players_changed") return True # Tag editor def tag_edited_cb(cell, path, new_text): global tags_store tags_store[path][0] = new_text def value_edited_cb(cell, path, new_text): global tags_store tags_store[path][1] = new_text global tags_store tv_tags = widgets["tags_treeview"] tv_tags.set_model(tags_store) tag_renderer = Gtk.CellRendererText() tag_renderer.set_property("editable", True) tag_renderer.connect("edited", tag_edited_cb) tv_tags.append_column(Gtk.TreeViewColumn(_("Tag"), tag_renderer, text=0)) value_renderer = Gtk.CellRendererText() value_renderer.set_property("editable", True) value_renderer.connect("edited", value_edited_cb) tv_tags.append_column(Gtk.TreeViewColumn(_("Value"), value_renderer, text=1)) result_combo = widgets["result_combo"] result_store = Gtk.ListStore(int, str) for result in ((WHITEWON, "1-0"), (BLACKWON, "0-1"), (DRAW, "1/2-1/2"), (RUNNING, "*")): result_store.append(result) result_combo.set_model(result_store) result_combo.set_id_column(1) renderer_text = Gtk.CellRendererText() result_combo.pack_start(renderer_text, True) result_combo.add_attribute(renderer_text, "text", 1) # Events on the UI widgets["whiteelo_entry"].connect("changed", lambda p: refresh_elo_rating_change(widgets)) widgets["blackelo_entry"].connect("changed", lambda p: refresh_elo_rating_change(widgets)) widgets["date_button"].connect("clicked", on_pick_date, widgets["date_entry"]) widgets["tag_add_button"].connect("clicked", on_add_tag) widgets["tag_delete_button"].connect("clicked", on_delete_tag) widgets["game_info"].connect("delete-event", hide_window) widgets["game_info_cancel_button"].connect("clicked", hide_window) widgets["game_info_ok_button"].connect("clicked", accept_new_properties) red = Gdk.RGBA(.643, 0, 0, 1) green = Gdk.RGBA(.306, .604, .024, 1) black = Gdk.RGBA(0.0, 0.0, 0.0, 1.0) def refresh_elo_rating_change(widgets): persp = perspective_manager.get_perspective("games") gamemodel = persp.cur_gmwidg().gamemodel site = gamemodel.tags["Site"] if site is not None and ("lichess.org" in site or "chessclub.com" in site or "freechess.org" in site): # TODO : lichess takes 3 parameters per player widgets["w_elo_change"].set_text("") widgets["b_elo_change"].set_text("") return welo = widgets["whiteelo_entry"].get_text() belo = widgets["blackelo_entry"].get_text() wchange = get_elo_rating_change_str(gamemodel, WHITE, welo, belo) widgets["w_elo_change"].set_text(wchange) if wchange.startswith("+") or wchange.startswith("-"): widgets["w_elo_change"].override_color(Gtk.StateFlags.NORMAL, red if wchange.startswith("-") else green) else: widgets["w_elo_change"].override_color(Gtk.StateFlags.NORMAL, black) bchange = get_elo_rating_change_str(gamemodel, BLACK, welo, belo) widgets["b_elo_change"].set_text(bchange) if bchange.startswith("+") or bchange.startswith("-"): widgets["b_elo_change"].override_color(Gtk.StateFlags.NORMAL, red if bchange.startswith("-") else green) else: widgets["b_elo_change"].override_color(Gtk.StateFlags.NORMAL, black) def on_pick_date(button, date_entry): # Parse the existing date date = date_entry.get_text() year, month, day = parseDateTag(date) # Prepare the date of the picker calendar = Gtk.Calendar() curyear, curmonth, curday = calendar.get_date() year = curyear if year is None else year month = curmonth if month is None else month - 1 day = curday if day is None else day calendar.select_month(month, year) calendar.select_day(day) # Show the dialog dialog = Gtk.Dialog(_("Pick a date"), mainwindow(), Gtk.DialogFlags.MODAL | Gtk.DialogFlags.DESTROY_WITH_PARENT, (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_OK, Gtk.ResponseType.ACCEPT)) sw = Gtk.ScrolledWindow() sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) sw.add(calendar) dialog.get_content_area().pack_start(sw, True, True, 0) dialog.resize(300, 200) dialog.show_all() response = dialog.run() dialog.destroy() if response == Gtk.ResponseType.ACCEPT: year, month, day = calendar.get_date() date_entry.set_text("%04d.%02d.%02d" % (year, month + 1, day)) pychess-1.0.0/lib/pychess/widgets/LearnInfoBar.py0000644000175000017500000002047413365545272021027 0ustar varunvarunfrom gi.repository import Gtk from pychess.Utils.const import UNDOABLE_STATES, PRACTICE_GOAL_REACHED from pychess.Utils.Cord import Cord from pychess.Utils.LearnModel import learn2str, LESSON, PUZZLE from pychess.perspectives.learn.PuzzlesPanel import start_puzzle_from from pychess.perspectives.learn.EndgamesPanel import start_endgame_from from pychess.perspectives.learn.LessonsPanel import start_lesson_from from pychess.widgets import preferencesDialog HINT, MOVE, RETRY, CONTINUE, BACK_TO_MAINLINE, NEXT = range(6) css = """ @define-color error_fg_color rgb (235, 235, 235); @define-color error_bg_color rgb (223, 56, 44); .error { background-image: -gtk-gradient (linear, left top, left bottom, from (shade (@error_bg_color, 1.04)), to (shade (@error_bg_color, 0.96))); border-style: solid; border-width: 1px; color: @error_fg_color; border-color: shade (@error_bg_color, 0.8); border-bottom-color: shade (@error_bg_color, 0.75); box-shadow: inset 1px 0 shade (@error_bg_color, 1.08), inset -1px 0 shade (@error_bg_color, 1.08), inset 0 1px shade (@error_bg_color, 1.1), inset 0 -1px shade (@error_bg_color, 1.04); } """ def add_provider(widget): screen = widget.get_screen() style = widget.get_style_context() provider = Gtk.CssProvider() provider.load_from_data(css.encode('utf-8')) style.add_provider_for_screen(screen, provider, Gtk.STYLE_PROVIDER_PRIORITY_USER) class LearnInfoBar(Gtk.InfoBar): def __init__(self, gamemodel, boardcontrol, annotation_panel): Gtk.InfoBar.__init__(self) self.connect("realize", add_provider) self.content_area = self.get_content_area() self.action_area = self.get_action_area() self.gamemodel = gamemodel self.boardcontrol = boardcontrol self.boardview = boardcontrol.view self.annotation_panel = annotation_panel self.gamemodel.connect("game_changed", self.on_game_changed) self.gamemodel.connect("goal_checked", self.on_goal_checked) self.connect("response", self.on_response) self.your_turn() def clear(self): for item in self.content_area: self.content_area.remove(item) for item in self.action_area: self.action_area.remove(item) def your_turn(self, shown_board=None): self.clear() self.set_message_type(Gtk.MessageType.QUESTION) self.content_area.add(Gtk.Label(_("Your turn."))) self.add_button(_("Hint"), HINT) self.add_button(_("Best move"), MOVE) self.show_all() def get_next_puzzle(self): self.clear() self.set_message_type(Gtk.MessageType.INFO) if self.gamemodel.learn_type in(LESSON, PUZZLE) and self.gamemodel.current_index + 1 == self.gamemodel.game_count: self.content_area.add(Gtk.Label(_("Well done! %s completed." % learn2str[self.gamemodel.learn_type]))) else: if "FEN" in self.gamemodel.tags: self.content_area.add(Gtk.Label(_("Well done!"))) self.add_button(_("Next"), NEXT) self.show_all() preferencesDialog.SoundTab.playAction("puzzleSuccess") self.gamemodel.solved = True def opp_turn(self): self.clear() self.set_message_type(Gtk.MessageType.INFO) self.add_button(_("Continue"), CONTINUE) # disable playing self.boardcontrol.game_preview = True self.show_all() def retry(self): self.clear() self.set_message_type(Gtk.MessageType.ERROR) self.content_area.add(Gtk.Label(_("Not the best move!"))) self.add_button(_("Retry"), RETRY) # disable playing self.boardcontrol.game_preview = True # disable retry button until engine thinking on next move if self.gamemodel.practice_game and self.gamemodel.status not in UNDOABLE_STATES: self.set_response_sensitive(RETRY, False) self.show_all() def back_to_mainline(self): self.clear() self.set_message_type(Gtk.MessageType.INFO) self.content_area.add(Gtk.Label(_("Cool! Now let see how it goes in the main line."))) self.add_button(_("Back to main line"), BACK_TO_MAINLINE) # disable playing self.boardcontrol.game_preview = True self.show_all() def on_response(self, widget, response): if response in (HINT, MOVE): if self.gamemodel.lesson_game: next_move = self.gamemodel.getMoveAtPly(self.boardview.shown, self.boardview.shown_variation_idx) hints = {self.boardview.shown: ((next_move.as_uci(),),)} else: hints = self.gamemodel.hints if self.boardview.shown in hints: if self.boardview.arrows: self.boardview.arrows.clear() if self.boardview.circles: self.boardview.circles.clear() hint = hints[self.boardview.shown][0][0] cord0 = Cord(hint[0], int(hint[1]), "G") cord1 = Cord(hint[2], int(hint[3]), "G") if response == HINT: self.boardview.circles.add(cord0) self.boardview.redrawCanvas() else: self.boardview.arrows.add((cord0, cord1)) self.boardview.redrawCanvas() else: # TODO: print("No hint available yet!", self.gamemodel.ply, self.boardview.shown) elif response == RETRY: self.your_turn() if self.gamemodel.practice_game: me_played_last_move = self.gamemodel.boards[-1].color != self.gamemodel.boards[0].color moves = 1 if self.gamemodel.status in UNDOABLE_STATES and me_played_last_move else 2 self.gamemodel.undoMoves(moves) elif self.gamemodel.lesson_game: prev_board = self.gamemodel.getBoardAtPly( self.boardview.shown - 1, variation=self.boardview.shown_variation_idx) self.annotation_panel.choices_enabled = False self.boardview.setShownBoard(prev_board) # We have to fix show_variation_index here, unless # after removing the variation it will be invalid! for vari in self.gamemodel.variations: if prev_board in vari: break self.boardview.shown_variation_idx = self.gamemodel.variations.index(vari) self.annotation_panel.choices_enabled = True self.boardcontrol.game_preview = False elif response == CONTINUE: self.your_turn() self.boardview.showNext() self.boardcontrol.game_preview = False elif response == BACK_TO_MAINLINE: self.opp_turn() self.boardview.backToMainLine() self.boardcontrol.game_preview = False elif response == NEXT: if self.gamemodel.puzzle_game: if self.gamemodel.from_lesson: start_lesson_from(self.gamemodel.source, self.gamemodel.current_index + 1) else: start_puzzle_from(self.gamemodel.source, self.gamemodel.current_index + 1) elif self.gamemodel.end_game: start_endgame_from(self.gamemodel.source) elif self.gamemodel.lesson_game: start_lesson_from(self.gamemodel.source, self.gamemodel.current_index + 1) else: print(self.gamemodel.__dir__()) def opp_choice_selected(self, board): self.your_turn() self.boardcontrol.game_preview = False def on_game_changed(self, gamemodel, ply): if gamemodel.practice_game: if len(gamemodel.moves) % 2 == 0: # engine moved, we can enable retry self.set_response_sensitive(RETRY, True) return def on_goal_checked(self, gamemodel): if gamemodel.status in UNDOABLE_STATES and self.gamemodel.end_game: self.get_next_puzzle() elif gamemodel.reason == PRACTICE_GOAL_REACHED: self.get_next_puzzle() elif gamemodel.failed_playing_best: self.retry() else: self.your_turn() pychess-1.0.0/lib/pychess/widgets/gamewidget.py0000644000175000017500000011002413434743747020635 0ustar varunvarun""" This module handles the tabbed layout in PyChess """ import sys from collections import defaultdict from gi.repository import Gtk, GObject import pychess from .BoardControl import BoardControl from .ChessClock import ChessClock from .MenuItemsDict import MenuItemsDict from pychess.System import conf from pychess.System.Log import log from pychess.Utils.IconLoader import get_pixbuf from pychess.Utils.const import REMOTE, UNFINISHED_STATES, PAUSED, RUNNING, LOCAL, \ WHITE, BLACK, ACTION_MENU_ITEMS, DRAW, UNDOABLE_STATES, HINT, SPY, WHITEWON, \ MENU_ITEMS, BLACKWON, DROP, FAN_PIECES, TOOL_CHESSDB, TOOL_SCOUTFISH from pychess.Utils.GameModel import GameModel from pychess.Utils.Move import listToMoves from pychess.Utils.lutils import lmove from pychess.Utils.lutils.lmove import ParsingError from pychess.Utils.logic import playerHasMatingMaterial, isClaimableDraw from pychess.ic import get_infobarmessage_content, get_infobarmessage_content2 from pychess.ic.FICSObjects import get_player_tooltip_text from pychess.ic.ICGameModel import ICGameModel from pychess.widgets import createImage, createAlignment, gtk_close from pychess.widgets.InfoBar import InfoBarNotebook, InfoBarMessage, InfoBarMessageButton from pychess.perspectives import perspective_manager light_on = get_pixbuf("glade/16x16/weather-clear.png") light_off = get_pixbuf("glade/16x16/weather-clear-night.png") widgets = None def setWidgets(w): global widgets widgets = w pychess.widgets.main_window = widgets["main_window"] def getWidgets(): return widgets class GameWidget(GObject.GObject): __gsignals__ = { 'game_close_clicked': (GObject.SignalFlags.RUN_FIRST, None, ()), 'title_changed': (GObject.SignalFlags.RUN_FIRST, None, (str, )), 'closed': (GObject.SignalFlags.RUN_FIRST, None, ()), } def __init__(self, gamemodel, perspective): GObject.GObject.__init__(self) self.gamemodel = gamemodel self.perspective = perspective self.cids = {} self.closed = False # InfoBarMessage with rematch, undo or observe buttons self.game_ended_message = None self.tabcontent, white_label, black_label, self.game_info_label = self.initTabcontents() self.boardvbox, self.board, self.infobar, self.clock = self.initBoardAndClock(self.gamemodel) self.stat_hbox = self.initButtons(self.board) self.player_name_labels = (white_label, black_label) self.infobar.connect("hide", self.infobar_hidden) self.notebookKey = Gtk.Alignment() self.menuitems = MenuItemsDict() self.gamemodel_cids = [ self.gamemodel.connect_after("game_started", self.game_started), self.gamemodel.connect_after("game_ended", self.game_ended), self.gamemodel.connect_after("game_changed", self.game_changed), self.gamemodel.connect("game_paused", self.game_paused), self.gamemodel.connect("game_resumed", self.game_resumed), self.gamemodel.connect("moves_undone", self.moves_undone), self.gamemodel.connect("game_unended", self.game_unended), self.gamemodel.connect("game_saved", self.game_saved), self.gamemodel.connect("players_changed", self.players_changed), self.gamemodel.connect("analyzer_added", self.analyzer_added), self.gamemodel.connect("analyzer_removed", self.analyzer_removed), self.gamemodel.connect("message_received", self.message_received), ] self.players_changed(self.gamemodel) self.notify_cids = [conf.notify_add("showFICSgameno", self.on_show_fics_gameno), ] if self.gamemodel.display_text: if isinstance(self.gamemodel, ICGameModel) and conf.get("showFICSgameno"): self.game_info_label.set_text("%s [%s]" % ( self.display_text, self.gamemodel.ficsgame.gameno)) else: self.game_info_label.set_text(self.display_text) if self.gamemodel.timed: self.cids[self.gamemodel.timemodel] = self.gamemodel.timemodel.connect("zero_reached", self.zero_reached) self.connections = defaultdict(list) if isinstance(self.gamemodel, ICGameModel): self.connections[self.gamemodel.connection.bm].append( self.gamemodel.connection.bm.connect("player_lagged", self.player_lagged)) self.connections[self.gamemodel.connection.bm].append( self.gamemodel.connection.bm.connect("opp_not_out_of_time", self.opp_not_out_of_time)) self.cids[self.board.view] = self.board.view.connect("shownChanged", self.shownChanged) if isinstance(self.gamemodel, ICGameModel): self.gamemodel.gmwidg_ready.set() def _del(self): if self.gamemodel.offline_lecture: self.gamemodel.lecture_exit_event.set() for obj in self.cids: if obj.handler_is_connected(self.cids[obj]): log.debug("GameWidget._del: disconnecting %s" % repr(obj)) obj.disconnect(self.cids[obj]) self.cids = {} for obj in self.connections: for handler_id in self.connections[obj]: if obj.handler_is_connected(handler_id): obj.disconnect(handler_id) self.connections = {} for cid in self.gamemodel_cids: self.gamemodel.disconnect(cid) for cid in self.notify_cids: conf.notify_remove(cid) self.board._del() if self.game_ended_message is not None: self.game_ended_message.callback = None def on_show_fics_gameno(self, *args): """ Checks the configuration / preferences to see if the FICS game number should be displayed next to player names. """ if isinstance(self.gamemodel, ICGameModel) and conf.get("showFICSgameno"): self.game_info_label.set_text(" [%s]" % self.gamemodel.ficsgame.gameno) else: self.game_info_label.set_text("") def infront(self): for menuitem in self.menuitems: self.menuitems[menuitem].update() for widget in MENU_ITEMS: if widget in self.menuitems: continue elif widget == 'show_sidepanels' and isDesignGWShown(): getWidgets()[widget].set_property('sensitive', False) else: getWidgets()[widget].set_property('sensitive', True) # Change window title getWidgets()['main_window'].set_title(self.display_text + (" - " if self.display_text != "" else "") + "PyChess") def _update_menu_abort(self): if self.gamemodel.hasEnginePlayer(): self.menuitems["abort"].sensitive = True self.menuitems["abort"].tooltip = "" elif self.gamemodel.isObservationGame(): self.menuitems["abort"].sensitive = False elif isinstance(self.gamemodel, ICGameModel) and self.gamemodel.status in UNFINISHED_STATES: if self.gamemodel.ply < 2: self.menuitems["abort"].label = _("Abort") self.menuitems["abort"].tooltip = \ _("This game can be automatically aborted without rating loss because \ there has not yet been two moves made") else: self.menuitems["abort"].label = _("Offer Abort") self.menuitems["abort"].tooltip = \ _("Your opponent must agree to abort the game because there \ has been two or more moves made") self.menuitems["abort"].sensitive = True else: self.menuitems["abort"].sensitive = False self.menuitems["abort"].tooltip = "" def _update_menu_adjourn(self): self.menuitems["adjourn"].sensitive = \ isinstance(self.gamemodel, ICGameModel) and \ self.gamemodel.status in UNFINISHED_STATES and \ not self.gamemodel.isObservationGame() and \ not self.gamemodel.hasGuestPlayers() if isinstance(self.gamemodel, ICGameModel) and \ self.gamemodel.status in UNFINISHED_STATES and \ not self.gamemodel.isObservationGame() and self.gamemodel.hasGuestPlayers(): self.menuitems["adjourn"].tooltip = \ _("This game can not be adjourned because one or both players are guests") else: self.menuitems["adjourn"].tooltip = "" def _update_menu_draw(self): self.menuitems["draw"].sensitive = self.gamemodel.status in UNFINISHED_STATES \ and not self.gamemodel.isObservationGame() def can_win(color): if self.gamemodel.timed: return playerHasMatingMaterial(self.gamemodel.boards[-1], color) and \ self.gamemodel.timemodel.getPlayerTime(color) > 0 else: return playerHasMatingMaterial(self.gamemodel.boards[-1], color) if isClaimableDraw(self.gamemodel.boards[-1]) or not \ (can_win(self.gamemodel.players[0].color) or can_win(self.gamemodel.players[1].color)): self.menuitems["draw"].label = _("Claim Draw") def _update_menu_resign(self): self.menuitems["resign"].sensitive = self.gamemodel.status in UNFINISHED_STATES \ and not self.gamemodel.isObservationGame() def _update_menu_pause_and_resume(self): def game_is_pausable(): if self.gamemodel.isEngine2EngineGame() or \ (self.gamemodel.hasLocalPlayer() and (self.gamemodel.isLocalGame() or (isinstance(self.gamemodel, ICGameModel) and self.gamemodel.ply > 1))): if sys.platform == "win32" and self.gamemodel.hasEnginePlayer( ): return False else: return True else: return False self.menuitems["pause1"].sensitive = \ self.gamemodel.status == RUNNING and game_is_pausable() self.menuitems["resume1"].sensitive = \ self.gamemodel.status == PAUSED and game_is_pausable() # TODO: if IC game is over and game ended in adjournment # and opponent is available, enable Resume def _update_menu_undo(self): if self.gamemodel.isObservationGame(): self.menuitems["undo1"].sensitive = False elif isinstance(self.gamemodel, ICGameModel): if self.gamemodel.status in UNFINISHED_STATES and self.gamemodel.ply > 0: self.menuitems["undo1"].sensitive = True else: self.menuitems["undo1"].sensitive = False elif self.gamemodel.ply > 0 and self.gamemodel.status in UNDOABLE_STATES + (RUNNING,): self.menuitems["undo1"].sensitive = True else: self.menuitems["undo1"].sensitive = False def _update_menu_ask_to_move(self): if self.gamemodel.isObservationGame(): self.menuitems["ask_to_move"].sensitive = False elif isinstance(self.gamemodel, ICGameModel): self.menuitems["ask_to_move"].sensitive = False elif self.gamemodel.waitingplayer.__type__ == LOCAL and self.gamemodel.status \ in UNFINISHED_STATES and self.gamemodel.status != PAUSED: self.menuitems["ask_to_move"].sensitive = True else: self.menuitems["ask_to_move"].sensitive = False def _showHolding(self, holding): figurines = ["", ""] for color in (BLACK, WHITE): for piece in holding[color].keys(): count = holding[color][piece] figurines[color] += " " if count == 0 else FAN_PIECES[color][ piece] * count print(figurines[BLACK] + " " + figurines[WHITE]) def shownChanged(self, boardview, shown): # Help crazyhouse testing # if self.gamemodel.boards[-1].variant == CRAZYHOUSECHESS: # holding = self.gamemodel.getBoardAtPly(shown, boardview.variation).board.holding # self._showHolding(holding) if self.gamemodel.timemodel.hasTimes and \ (self.gamemodel.endstatus or self.gamemodel.status in (DRAW, WHITEWON, BLACKWON)) and \ boardview.shownIsMainLine(): wmovecount, color = divmod(shown + 1, 2) bmovecount = wmovecount - 1 if color == WHITE else wmovecount if self.gamemodel.timemodel.hasBWTimes(bmovecount, wmovecount): self.clock.update(wmovecount, bmovecount) self.on_shapes_changed(self.board) def game_started(self, gamemodel): if self.gamemodel.isLocalGame(): self.menuitems["abort"].label = _("Abort") self._update_menu_abort() self._update_menu_adjourn() self._update_menu_draw() if self.gamemodel.isLocalGame(): self.menuitems["pause1"].label = _("Pause") self.menuitems["resume1"].label = _("Resume") else: self.menuitems["pause1"].label = _("Offer Pause") self.menuitems["resume1"].label = _("Offer Resume") self._update_menu_pause_and_resume() self._update_menu_resign() if self.gamemodel.isLocalGame(): self.menuitems["undo1"].label = _("Undo") else: self.menuitems["undo1"].label = _("Offer Undo") self._update_menu_undo() self._update_menu_ask_to_move() if isinstance(gamemodel, ICGameModel) and not gamemodel.isObservationGame(): for item in self.menuitems: if item in self.menuitems.ANAL_MENU_ITEMS: self.menuitems[item].sensitive = False if not gamemodel.timed and not gamemodel.timemodel.hasTimes: try: self.boardvbox.remove(self.clock.get_parent()) except TypeError: # no clock pass def game_ended(self, gamemodel, reason): for item in self.menuitems: if item in self.menuitems.ANAL_MENU_ITEMS: self.menuitems[item].sensitive = True elif item not in self.menuitems.VIEW_MENU_ITEMS: self.menuitems[item].sensitive = False self._update_menu_undo() self._set_arrow(HINT, None) self._set_arrow(SPY, None) return False def game_changed(self, gamemodel, ply): '''This runs when the game changes. It updates everything.''' self._update_menu_abort() self._update_menu_ask_to_move() self._update_menu_draw() self._update_menu_pause_and_resume() self._update_menu_undo() if isinstance(gamemodel, ICGameModel): # on FICS game board change update allob if gamemodel.connection is not None and not gamemodel.connection.ICC: allob = 'allob ' + str(gamemodel.ficsgame.gameno) gamemodel.connection.client.run_command(allob) for analyzer_type in (HINT, SPY): # only clear arrows if analyzer is examining the last position if analyzer_type in gamemodel.spectators and \ gamemodel.spectators[analyzer_type].board == gamemodel.boards[-1]: self._set_arrow(analyzer_type, None) self.name_changed(gamemodel.players[0]) # We may need to add * to name if gamemodel.isObservationGame() and not self.isInFront(): self.light_on_off(True) # print(gamemodel.waitingplayer, gamemodel.waitingplayer.__type__) if not gamemodel.isPlayingICSGame(): self.clearMessages() return False def game_saved(self, gamemodel, uri): '''Run when the game is saved. Will remove * from title.''' self.name_changed(gamemodel.players[0]) # We may need to remove * in name return False def game_paused(self, gamemodel): self._update_menu_pause_and_resume() self._update_menu_undo() self._update_menu_ask_to_move() return False def game_resumed(self, gamemodel): self._update_menu_pause_and_resume() self._update_menu_undo() self._update_menu_ask_to_move() return False def moves_undone(self, gamemodel, moves): self.game_changed(gamemodel, 0) return False def game_unended(self, gamemodel): self._update_menu_abort() self._update_menu_adjourn() self._update_menu_draw() self._update_menu_pause_and_resume() self._update_menu_resign() self._update_menu_undo() self._update_menu_ask_to_move() return False def _set_arrow(self, analyzer_type, coordinates): if self.gamemodel.isPlayingICSGame(): return if analyzer_type == HINT: self.board.view._setGreenarrow(coordinates) else: self.board.view._setRedarrow(coordinates) def _on_analyze(self, analyzer, analysis, analyzer_type): if self.board.view.animating: return if not self.menuitems[analyzer_type + "_mode"].active: return if len(analysis) >= 1 and analysis[0] is not None: ply, movstrs, score, depth, nps = analysis[0] board = analyzer.board try: moves = listToMoves(board, movstrs, validate=True) except ParsingError as e: # ParsingErrors may happen when parsing "old" lines from # analyzing engines, which haven't yet noticed their new tasks log.debug("GameWidget._on_analyze(): Ignored (%s) from analyzer: ParsingError%s" % (' '.join(movstrs), e)) return if moves and (self.gamemodel.curplayer.__type__ == LOCAL or [player.__type__ for player in self.gamemodel.players] == [REMOTE, REMOTE] or self.gamemodel.status not in UNFINISHED_STATES): if moves[0].flag == DROP: piece = lmove.FCORD(moves[0].move) color = board.color if analyzer_type == HINT else 1 - board.color cord0 = board.getHoldingCord(color, piece) self._set_arrow(analyzer_type, (cord0, moves[0].cord1)) else: self._set_arrow(analyzer_type, moves[0].cords) else: self._set_arrow(analyzer_type, None) return False def analyzer_added(self, gamemodel, analyzer, analyzer_type): self.cids[analyzer] = \ analyzer.connect("analyze", self._on_analyze, analyzer_type) # self.menuitems[analyzer_type + "_mode"].active = True self.menuitems[analyzer_type + "_mode"].sensitive = True return False def analyzer_removed(self, gamemodel, analyzer, analyzer_type): self._set_arrow(analyzer_type, None) # self.menuitems[analyzer_type + "_mode"].active = False self.menuitems[analyzer_type + "_mode"].sensitive = False try: if analyzer.handler_is_connected(self.cids[analyzer]): analyzer.disconnect(self.cids[analyzer]) del self.cids[analyzer] except KeyError: pass return False def show_arrow(self, analyzer, analyzer_type): self.menuitems[analyzer_type + "_mode"].active = True self._on_analyze(analyzer, analyzer.getAnalysis(), analyzer_type) return False def hide_arrow(self, analyzer, analyzer_type): self.menuitems[analyzer_type + "_mode"].active = False self._set_arrow(analyzer_type, None) return False def player_display_text(self, color, with_elo): text = "" if isinstance(self.gamemodel, ICGameModel): if self.gamemodel.ficsplayers: text = self.gamemodel.ficsplayers[color].name if (self.gamemodel.connection.username == self.gamemodel.ficsplayers[color].name) and \ self.gamemodel.ficsplayers[color].isGuest(): text += " (Player)" else: if self.gamemodel.players: text = repr(self.gamemodel.players[color]) if with_elo: elo = self.gamemodel.tags.get("WhiteElo" if color == WHITE else "BlackElo") if elo: text += " (%s)" % str(elo) return text @property def display_text(self): if not self.gamemodel.players: return "" '''This will give you the name of the game.''' vs = " - " t = vs.join((self.player_display_text(WHITE, True), self.player_display_text(BLACK, True))) return t def players_changed(self, gamemodel): log.debug("GameWidget.players_changed: starting %s" % repr(gamemodel)) for player in gamemodel.players: self.name_changed(player) # Notice that this may connect the same player many times. In # normal use that shouldn't be a problem. self.cids[player] = player.connect("name_changed", self.name_changed) log.debug("GameWidget.players_changed: returning") def name_changed(self, player): log.debug("GameWidget.name_changed: starting %s" % repr(player)) color = self.gamemodel.color(player) if self.gamemodel is None: return name = self.player_display_text(color, False) self.gamemodel.tags["White" if color == WHITE else "Black"] = name self.player_name_labels[color].set_text(name) if isinstance(self.gamemodel, ICGameModel) and \ player.__type__ == REMOTE: self.player_name_labels[color].set_tooltip_text( get_player_tooltip_text(self.gamemodel.ficsplayers[color], show_status=False)) self.emit('title_changed', self.display_text) log.debug("GameWidget.name_changed: returning") def message_received(self, gamemodel, name, msg): if gamemodel.isObservationGame() and not self.isInFront(): text = self.game_info_label.get_text() self.game_info_label.set_markup( '%s' % text) def zero_reached(self, timemodel, color): if self.gamemodel.status not in UNFINISHED_STATES: return if self.gamemodel.players[0].__type__ == LOCAL \ and self.gamemodel.players[1].__type__ == LOCAL: self.menuitems["call_flag"].sensitive = True return for player in self.gamemodel.players: opplayercolor = BLACK if player == self.gamemodel.players[ WHITE] else WHITE if player.__type__ == LOCAL and opplayercolor == color: log.debug("gamewidget.zero_reached: LOCAL player=%s, color=%s" % (repr(player), str(color))) self.menuitems["call_flag"].sensitive = True break def player_lagged(self, bm, player): if player in self.gamemodel.ficsplayers: content = get_infobarmessage_content( player, _(" has lagged for 30 seconds"), self.gamemodel.ficsgame.game_type) def response_cb(infobar, response, message): message.dismiss() return False message = InfoBarMessage(Gtk.MessageType.INFO, content, response_cb) message.add_button(InfoBarMessageButton(Gtk.STOCK_CLOSE, Gtk.ResponseType.CANCEL)) self.showMessage(message) return False def opp_not_out_of_time(self, bm): if self.gamemodel is not None and self.gamemodel.remote_player.time <= 0: content = get_infobarmessage_content2( self.gamemodel.remote_ficsplayer, _(" is lagging heavily but hasn't disconnected"), _("Continue to wait for opponent, or try to adjourn the game?"), gametype=self.gamemodel.ficsgame.game_type) def response_cb(infobar, response, message): if response == 2: self.gamemodel.connection.client.run_command("adjourn") message.dismiss() return False message = InfoBarMessage(Gtk.MessageType.QUESTION, content, response_cb) message.add_button(InfoBarMessageButton( _("Wait"), Gtk.ResponseType.CANCEL)) message.add_button(InfoBarMessageButton(_("Adjourn"), 2)) self.showMessage(message) return False def on_game_close_clicked(self, button): log.debug("gamewidget.on_game_close_clicked %s" % button) self.emit("game_close_clicked") def initTabcontents(self): tabcontent = createAlignment(0, 0, 0, 0) hbox = Gtk.HBox() hbox.set_spacing(4) hbox.pack_start(createImage(light_off), False, True, 0) close_button = Gtk.Button() close_button.set_property("can-focus", False) close_button.add(createImage(gtk_close)) close_button.set_relief(Gtk.ReliefStyle.NONE) close_button.set_size_request(20, 18) self.cids[close_button] = close_button.connect("clicked", self.on_game_close_clicked) hbox.pack_end(close_button, False, True, 0) text_hbox = Gtk.HBox() white_label = Gtk.Label(label="") text_hbox.pack_start(white_label, False, True, 0) text_hbox.pack_start(Gtk.Label(label=" - "), False, True, 0) black_label = Gtk.Label(label="") text_hbox.pack_start(black_label, False, True, 0) gameinfo_label = Gtk.Label(label="") text_hbox.pack_start(gameinfo_label, False, True, 0) # label.set_alignment(0,.7) hbox.pack_end(text_hbox, True, True, 0) tabcontent.add(hbox) tabcontent.show_all() # Gtk doesn't show tab labels when the rest is return tabcontent, white_label, black_label, gameinfo_label def initBoardAndClock(self, gamemodel): boardvbox = Gtk.VBox() boardvbox.set_spacing(2) infobar = InfoBarNotebook("gamewidget_infobar") ccalign = createAlignment(0, 0, 0, 0) cclock = ChessClock() cclock.setModel(gamemodel.timemodel) ccalign.add(cclock) ccalign.set_size_request(-1, 32) boardvbox.pack_start(ccalign, False, True, 0) actionMenuDic = {} for item in ACTION_MENU_ITEMS: actionMenuDic[item] = widgets[item] if self.gamemodel.offline_lecture: preview = True else: preview = False board = BoardControl(gamemodel, actionMenuDic, game_preview=preview) boardvbox.pack_start(board, True, True, 0) return boardvbox, board, infobar, cclock def initButtons(self, board): align = createAlignment(4, 0, 4, 0) toolbar = Gtk.Toolbar() firstButton = Gtk.ToolButton(stock_id=Gtk.STOCK_MEDIA_PREVIOUS) firstButton.set_tooltip_text(_("Jump to initial position")) toolbar.insert(firstButton, -1) prevButton = Gtk.ToolButton(stock_id=Gtk.STOCK_MEDIA_REWIND) prevButton.set_tooltip_text(_("Step back one move")) toolbar.insert(prevButton, -1) mainButton = Gtk.ToolButton(stock_id=Gtk.STOCK_GOTO_FIRST) mainButton.set_tooltip_text(_("Go back to the main line")) toolbar.insert(mainButton, -1) upButton = Gtk.ToolButton(stock_id=Gtk.STOCK_GOTO_TOP) upButton.set_tooltip_text(_("Go back to the parent line")) toolbar.insert(upButton, -1) nextButton = Gtk.ToolButton(stock_id=Gtk.STOCK_MEDIA_FORWARD) nextButton.set_tooltip_text(_("Step forward one move")) toolbar.insert(nextButton, -1) lastButton = Gtk.ToolButton(stock_id=Gtk.STOCK_MEDIA_NEXT) lastButton.set_tooltip_text(_("Jump to latest position")) toolbar.insert(lastButton, -1) filterButton = Gtk.ToolButton(stock_id=Gtk.STOCK_FIND) filterButton.set_tooltip_text(_("Find postion in current database")) toolbar.insert(filterButton, -1) self.saveButton = Gtk.ToolButton(stock_id=Gtk.STOCK_SAVE) self.saveButton.set_tooltip_text(_("Save arrows/circles")) toolbar.insert(self.saveButton, -1) def on_clicked(button, func): # Prevent moving in game while lesson not finished if self.gamemodel.lesson_game and not self.gamemodel.solved: return else: func() self.cids[firstButton] = firstButton.connect("clicked", on_clicked, self.board.view.showFirst) self.cids[prevButton] = prevButton.connect("clicked", on_clicked, self.board.view.showPrev) self.cids[mainButton] = mainButton.connect("clicked", on_clicked, self.board.view.backToMainLine) self.cids[upButton] = upButton.connect("clicked", on_clicked, self.board.view.backToParentLine) self.cids[nextButton] = nextButton.connect("clicked", on_clicked, self.board.view.showNext) self.cids[lastButton] = lastButton.connect("clicked", on_clicked, self.board.view.showLast) self.cids[filterButton] = filterButton.connect("clicked", on_clicked, self.find_in_database) self.cids[self.saveButton] = self.saveButton.connect("clicked", on_clicked, self.save_shapes_to_pgn) self.on_shapes_changed(self.board) self.board.connect("shapes_changed", self.on_shapes_changed) tool_box = Gtk.Box() tool_box.pack_start(toolbar, True, True, 0) align.add(tool_box) return align def on_shapes_changed(self, boardcontrol): self.saveButton.set_sensitive(boardcontrol.view.has_unsaved_shapes) def find_in_database(self): persp = perspective_manager.get_perspective("database") if persp.chessfile is None: dialogue = Gtk.MessageDialog(pychess.widgets.mainwindow(), type=Gtk.MessageType.ERROR, buttons=Gtk.ButtonsType.OK, message_format=_("No database is currently opened.")) dialogue.run() dialogue.destroy() return view = self.board.view shown_board = self.gamemodel.getBoardAtPly(view.shown, view.shown_variation_idx) fen = shown_board.asFen() tool, found = persp.chessfile.has_position(fen) if not found: dialogue = Gtk.MessageDialog(pychess.widgets.mainwindow(), type=Gtk.MessageType.WARNING, buttons=Gtk.ButtonsType.OK, message_format=_("The position does not exist in the database.")) dialogue.run() dialogue.destroy() else: if tool == TOOL_CHESSDB: persp.chessfile.set_fen_filter(fen) elif tool == TOOL_SCOUTFISH: dialogue = Gtk.MessageDialog(pychess.widgets.mainwindow(), type=Gtk.MessageType.QUESTION, buttons=Gtk.ButtonsType.YES_NO, message_format=_("An approximate position has been found. Do you want to display it ?")) response = dialogue.run() dialogue.destroy() if response != Gtk.ResponseType.YES: return persp.chessfile.set_scout_filter({'sub-fen': fen}) else: raise RuntimeError('Internal error') persp.gamelist.ply = view.shown persp.gamelist.load_games() perspective_manager.activate_perspective("database") def save_shapes_to_pgn(self): view = self.board.view shown_board = self.gamemodel.getBoardAtPly(view.shown, view.shown_variation_idx) for child in shown_board.board.children: if isinstance(child, str): if child.lstrip().startswith("[%csl "): shown_board.board.children.remove(child) self.gamemodel.needsSave = True elif child.lstrip().startswith("[%cal "): shown_board.board.children.remove(child) self.gamemodel.needsSave = True if view.circles: csl = [] for circle in view.circles: csl.append("%s%s" % (circle.color, repr(circle))) shown_board.board.children = ["[%%csl %s]" % ",".join(csl)] + shown_board.board.children self.gamemodel.needsSave = True if view.arrows: cal = [] for arrow in view.arrows: cal.append("%s%s%s" % (arrow[0].color, repr(arrow[0]), repr(arrow[1]))) shown_board.board.children = ["[%%cal %s]" % ",".join(cal)] + shown_board.board.children self.gamemodel.needsSave = True view.saved_arrows = set() view.saved_arrows |= view.arrows view.saved_circles = set() view.saved_circles |= view.circles self.on_shapes_changed(self.board) def light_on_off(self, on): child = self.tabcontent.get_child() if child: child.remove(child.get_children()[0]) if on: # child.pack_start(createImage(light_on, True, True, 0), expand=False) child.pack_start(createImage(light_on), True, True, 0) else: # child.pack_start(createImage(light_off, True, True, 0), expand=False) child.pack_start(createImage(light_off), True, True, 0) self.tabcontent.show_all() def setLocked(self, locked): """ Makes the board insensitive and turns off the tab ready indicator """ log.debug("GameWidget.setLocked: %s locked=%s" % (self.gamemodel.players, str(locked))) self.board.setLocked(locked) if not self.tabcontent.get_children(): return if len(self.tabcontent.get_child().get_children()) < 2: log.warning( "GameWidget.setLocked: Not removing last tabcontent child") return self.light_on_off(not locked) log.debug("GameWidget.setLocked: %s: returning" % self.gamemodel.players) def bringToFront(self): self.perspective.getheadbook().set_current_page(self.getPageNumber()) def isInFront(self): if not self.perspective.getheadbook(): return False return self.perspective.getheadbook().get_current_page() == self.getPageNumber() def getPageNumber(self): return self.perspective.getheadbook().page_num(self.notebookKey) def infobar_hidden(self, infobar): if self == self.perspective.cur_gmwidg(): self.perspective.notebooks["messageArea"].hide() def showMessage(self, message): self.infobar.push_message(message) if self == self.perspective.cur_gmwidg(): self.perspective.notebooks["messageArea"].show() def replaceMessages(self, message): """ Replace all messages with message """ if not self.closed: self.infobar.clear_messages() self.showMessage(message) def clearMessages(self): self.infobar.clear_messages() if self == self.perspective.cur_gmwidg(): self.perspective.notebooks["messageArea"].hide() # ############################################################################### # Handling of the special sidepanels-design-gamewidget used in preferences # # ############################################################################### designGW = None def showDesignGW(): global designGW perspective = perspective_manager.get_perspective("games") designGW = GameWidget(GameModel(), perspective) if isDesignGWShown(): return getWidgets()["show_sidepanels"].set_active(True) getWidgets()["show_sidepanels"].set_sensitive(False) perspective.attachGameWidget(designGW) def hideDesignGW(): if isDesignGWShown(): perspective = perspective_manager.get_perspective("games") perspective.delGameWidget(designGW) getWidgets()["show_sidepanels"].set_sensitive(True) def isDesignGWShown(): perspective = perspective_manager.get_perspective("games") return designGW in perspective.key2gmwidg.values() pychess-1.0.0/lib/pychess/widgets/__init__.py0000755000175000017500000000524613353143212020250 0ustar varunvarunfrom gi.repository import Gtk from pychess.Utils.IconLoader import get_pixbuf, load_icon # from pychess.widgets.WebKitBrowser import open_link main_window = None gtk_close = load_icon(16, "gtk-close", "window-close") def mainwindow(): return main_window def createImage(pixbuf): image = Gtk.Image() image.set_from_pixbuf(pixbuf) return image def createAlignment(top, right, bottom, left): align = Gtk.Alignment.new(.5, .5, 1, 1) align.set_property("top-padding", top) align.set_property("right-padding", right) align.set_property("bottom-padding", bottom) align.set_property("left-padding", left) return align def new_notebook(name=None): def customGetTabLabelText(child): return name notebook = Gtk.Notebook() if name is not None: notebook.set_name(name) notebook.get_tab_label_text = customGetTabLabelText notebook.set_show_tabs(False) notebook.set_show_border(False) return notebook def dock_panel_tab(title, desc, icon, button=None): box = Gtk.Box() pixbuf = get_pixbuf(icon, 16) image = Gtk.Image.new_from_pixbuf(pixbuf) label = Gtk.Label(label=title) box.set_tooltip_text(desc) box.pack_start(image, False, True, 0) box.pack_start(label, False, True, 0) if button is not None: box.pack_start(button, False, True, 0) box.set_spacing(2) box.show_all() return box def insert_formatted(text_view, iter, text, tag=None): def insert(text): if tag is not None: tb.insert_with_tags_by_name(iter, text, tag) else: tb.insert(iter, text) tb = text_view.get_buffer() # I know this is far from perfect but I don't want to use re for this if "://" in text or "www" in text: parts = text.split() position = 0 for i, part in enumerate(parts): if "://" in part or "www" in part: if part.startswith('"'): part = part[1:] endpos = part.find('"') if endpos != -1: part = part[:endpos] part0 = "http://web.archive.org/%s" % part if part.startswith("http://www.endgame.nl") else part parts[i] = '%s' % (part0, part) position = i break insert("%s " % " ".join(parts[:position])) label = Gtk.Label() label.set_markup(parts[position]) # label.connect("activate-link", open_link) label.show() anchor = tb.create_child_anchor(iter) text_view.add_child_at_anchor(label, anchor) insert(" %s" % " ".join(parts[position + 1:])) else: insert(text) pychess-1.0.0/lib/pychess/widgets/BoardControl.py0000644000175000017500000012745113367666351021124 0ustar varunvarun# -*- coding: UTF-8 -*- from gi.repository import Gtk, Gdk, GObject from pychess.System import conf from pychess.Utils.Cord import Cord from pychess.Utils.Move import Move, parseAny, toAN from pychess.Utils.const import ARTIFICIAL, FLAG_CALL, ABORT_OFFER, LOCAL, TAKEBACK_OFFER, \ ADJOURN_OFFER, DRAW_OFFER, RESIGNATION, HURRY_ACTION, PAUSE_OFFER, RESUME_OFFER, RUNNING, \ DROP, DROP_VARIANTS, PAWN, QUEEN, SITTUYINCHESS, QUEEN_PROMOTION from pychess.Utils.logic import validate from pychess.Utils.lutils import lmove, lmovegen from pychess.Utils.lutils.lmove import ParsingError from . import preferencesDialog from .PromotionDialog import PromotionDialog from .BoardView import BoardView, rect, join class BoardControl(Gtk.EventBox): """ Creates a BoardView for GameModel to control move selection, action menu selection and emits signals to let Human player make moves and emit offers. SetuPositionDialog uses setup_position=True to disable most validation. When game_preview=True just do circles and arrows """ __gsignals__ = { 'shapes_changed': (GObject.SignalFlags.RUN_FIRST, None, ()), 'piece_moved': (GObject.SignalFlags.RUN_FIRST, None, (object, int)), 'action': (GObject.SignalFlags.RUN_FIRST, None, (str, object, object)) } def __init__(self, gamemodel, action_menu_items, setup_position=False, game_preview=False): GObject.GObject.__init__(self) self.setup_position = setup_position self.game_preview = game_preview self.view = BoardView(gamemodel, setup_position=setup_position) self.add(self.view) self.variant = gamemodel.variant self.promotionDialog = PromotionDialog(self.variant.variant) self.RANKS = gamemodel.boards[0].RANKS self.FILES = gamemodel.boards[0].FILES self.action_menu_items = action_menu_items self.connections = {} for key, menuitem in self.action_menu_items.items(): if menuitem is None: print(key) # print("...connect to", key, menuitem) self.connections[menuitem] = menuitem.connect( "activate", self.actionActivate, key) self.view_cid = self.view.connect("shownChanged", self.shownChanged) self.gamemodel = gamemodel self.gamemodel_cids = [] self.gamemodel_cids.append(gamemodel.connect("moves_undoing", self.moves_undone)) self.gamemodel_cids.append(gamemodel.connect("game_ended", self.game_ended)) self.gamemodel_cids.append(gamemodel.connect("game_started", self.game_started)) self.cids = [] self.cids.append(self.connect("button_press_event", self.button_press)) self.cids.append(self.connect("button_release_event", self.button_release)) self.add_events(Gdk.EventMask.LEAVE_NOTIFY_MASK | Gdk.EventMask.POINTER_MOTION_MASK) self.cids.append(self.connect("motion_notify_event", self.motion_notify)) self.cids.append(self.connect("leave_notify_event", self.leave_notify)) self.selected_last = None self.normalState = NormalState(self) self.selectedState = SelectedState(self) self.activeState = ActiveState(self) self.lockedNormalState = LockedNormalState(self) self.lockedSelectedState = LockedSelectedState(self) self.lockedActiveState = LockedActiveState(self) self.currentState = self.normalState self.lockedPly = self.view.shown self.possibleBoards = { self.lockedPly: self._genPossibleBoards(self.lockedPly) } self.allowPremove = False def onGameStart(gamemodel): if not self.setup_position: for player in gamemodel.players: if player.__type__ == LOCAL: self.allowPremove = True self.gamemodel_cids.append(gamemodel.connect("game_started", onGameStart)) self.keybuffer = "" self.pre_arrow_from = None self.pre_arrow_to = None def _del(self): self.view.disconnect(self.view_cid) for cid in self.cids: self.disconnect(cid) for obj, conid in self.connections.items(): # print("...disconnect from ", obj) obj.disconnect(conid) self.connections = {} self.action_menu_items = {} for cid in self.gamemodel_cids: self.gamemodel.disconnect(cid) self.view._del() self.promotionDialog = None self.normalState = None self.selectedState = None self.activeState = None self.lockedNormalState = None self.lockedSelectedState = None self.lockedActiveState = None self.currentState = None def getPromotion(self): color = self.view.model.boards[-1].color variant = self.view.model.boards[-1].variant promotion = self.promotionDialog.runAndHide(color, variant) return promotion def play_sound(self, move, board): if move.is_capture(board): sound = "aPlayerCaptures" else: sound = "aPlayerMoves" if board.board.isChecked(): sound = "aPlayerChecks" preferencesDialog.SoundTab.playAction(sound) def play_or_add_move(self, board, move): if board.board.next is None: # at the end of variation or main line if not self.view.shownIsMainLine(): # add move to existing variation self.view.model.add_move2variation(board, move, self.view.shown_variation_idx) self.view.showNext() else: # create new variation new_vari = self.view.model.add_variation(board, [move]) self.view.setShownBoard(new_vari[-1]) else: # inside variation or main line if board.board.next.lastMove == move.move: # replay mainline move if self.view.model.lesson_game: next_board = self.view.model.getBoardAtPly(self.view.shown + 1, self.view.shown_variation_idx) self.play_sound(move, board) incr = 1 if len(self.view.model.variations[self.view.shown_variation_idx]) - 1 == board.ply - self.view.model.lowply + 1 else 2 if incr == 2: next_next_board = self.view.model.getBoardAtPly(self.view.shown + 2, self.view.shown_variation_idx) # If there is any opponent move variation let the user choose opp next move if any(child for child in next_next_board.board.children if isinstance(child, list)): self.view.infobar.opp_turn() self.view.showNext() # If there is some comment to read let the user read it before opp move elif any(child for child in next_board.board.children if isinstance(child, str)): self.view.infobar.opp_turn() self.view.showNext() # If there is nothing to wait for we make opp next move else: self.view.showNext() self.view.infobar.your_turn() self.view.showNext() else: if self.view.shownIsMainLine(): preferencesDialog.SoundTab.playAction("puzzleSuccess") self.view.infobar.get_next_puzzle() self.view.model.emit("learn_success") self.view.showNext() else: self.view.infobar.back_to_mainline() self.view.showNext() else: self.view.showNext() elif board.board.next.children: if self.view.model.lesson_game: self.play_sound(move, board) self.view.infobar.retry() # try to find this move in variations for i, vari in enumerate(board.board.next.children): for node in vari: if type(node) != str and node.lastMove == move.move and node.plyCount == board.ply + 1: # replay variation move self.view.setShownBoard(node.pieceBoard) return # create new variation new_vari = self.view.model.add_variation(board, [move]) self.view.setShownBoard(new_vari[-1]) else: if self.view.model.lesson_game: self.play_sound(move, board) self.view.infobar.retry() # create new variation new_vari = self.view.model.add_variation(board, [move]) self.view.setShownBoard(new_vari[-1]) def emit_move_signal(self, cord0, cord1, promotion=None): # Game end can change cord0 to None while dragging a piece if cord0 is None: return board = self.getBoard() color = board.color # Ask player for which piece to promote into. If this move does not # include a promotion, QUEEN will be sent as a dummy value, but not used if promotion is None and board[cord0].sign == PAWN and \ cord1.cord in board.PROMOTION_ZONE[color] and \ self.variant.variant != SITTUYINCHESS: if len(self.variant.PROMOTIONS) == 1: promotion = lmove.PROMOTE_PIECE(self.variant.PROMOTIONS[0]) else: if conf.get("autoPromote"): promotion = lmove.PROMOTE_PIECE(QUEEN_PROMOTION) else: promotion = self.getPromotion() if promotion is None: # Put back pawn moved be d'n'd self.view.runAnimation(redraw_misc=False) return if promotion is None and board[cord0].sign == PAWN and \ cord0.cord in board.PROMOTION_ZONE[color] and \ self.variant.variant == SITTUYINCHESS: # no promotion allowed if we have queen if board.board.boards[color][QUEEN]: promotion = None # in place promotion elif cord1.cord in board.PROMOTION_ZONE[color]: promotion = lmove.PROMOTE_PIECE(QUEEN_PROMOTION) # queen move promotion (but not a pawn capture!) elif board[cord1] is None and (cord0.cord + cord1.cord) % 2 == 1: promotion = lmove.PROMOTE_PIECE(QUEEN_PROMOTION) if cord0.x < 0 or cord0.x > self.FILES - 1: move = Move(lmovegen.newMove(board[cord0].piece, cord1.cord, DROP)) else: move = Move(cord0, cord1, board, promotion) if (self.view.model.curplayer.__type__ == LOCAL or self.view.model.examined) and \ self.view.shownIsMainLine() and \ self.view.model.boards[-1] == board and \ self.view.model.status == RUNNING: # emit move if self.setup_position: self.emit("piece_moved", (cord0, cord1), board[cord0].color) else: self.emit("piece_moved", move, color) if self.view.model.examined: self.view.model.connection.bm.sendMove(toAN(board, move)) else: self.play_or_add_move(board, move) def actionActivate(self, widget, key): """ Put actions from a menu or similar """ curplayer = self.view.model.curplayer if key == "call_flag": self.emit("action", FLAG_CALL, curplayer, None) elif key == "abort": self.emit("action", ABORT_OFFER, curplayer, None) elif key == "adjourn": self.emit("action", ADJOURN_OFFER, curplayer, None) elif key == "draw": self.emit("action", DRAW_OFFER, curplayer, None) elif key == "resign": self.emit("action", RESIGNATION, curplayer, None) elif key == "ask_to_move": self.emit("action", HURRY_ACTION, curplayer, None) elif key == "undo1": board = self.view.model.getBoardAtPly(self.view.shown, variation=self.view.shown_variation_idx) if board.board.next is not None or board.board.children: return if not self.view.shownIsMainLine(): self.view.model.undo_in_variation(board) return waitingplayer = self.view.model.waitingplayer if curplayer.__type__ == LOCAL and \ (waitingplayer.__type__ == ARTIFICIAL or self.view.model.isPlayingICSGame()) and \ self.view.model.ply - self.view.model.lowply > 1: self.emit("action", TAKEBACK_OFFER, curplayer, 2) else: self.emit("action", TAKEBACK_OFFER, curplayer, 1) elif key == "pause1": self.emit("action", PAUSE_OFFER, curplayer, None) elif key == "resume1": self.emit("action", RESUME_OFFER, curplayer, None) def shownChanged(self, view, shown): if self.view is None: return self.lockedPly = self.view.shown self.possibleBoards[self.lockedPly] = self._genPossibleBoards( self.lockedPly) if self.view.shown - 2 in self.possibleBoards: del self.possibleBoards[self.view.shown - 2] def moves_undone(self, gamemodel, moves): self.view.selected = None self.view.active = None self.view.hover = None self.view.dragged_piece = None self.view.setPremove(None, None, None, None) if not self.view.model.examined: self.currentState = self.lockedNormalState def game_ended(self, gamemodel, reason): self.selected_last = None self.view.selected = None self.view.active = None self.view.hover = None self.view.dragged_piece = None self.view.setPremove(None, None, None, None) self.currentState = self.normalState self.view.startAnimation() def game_started(self, gamemodel): if self.view.model.lesson_game: if "FEN" in gamemodel.tags: if gamemodel.orientation != gamemodel.starting_color: self.view.showNext() else: self.view.infobar.get_next_puzzle() self.view.model.emit("learn_success") def getBoard(self): return self.view.model.getBoardAtPly(self.view.shown, self.view.shown_variation_idx) def isLastPlayed(self, board): return board == self.view.model.boards[-1] def setLocked(self, locked): do_animation = False if locked and self.isLastPlayed(self.getBoard()) and \ self.view.model.status == RUNNING: if self.view.model.status != RUNNING: self.view.selected = None self.view.active = None self.view.hover = None self.view.dragged_piece = None do_animation = True if self.currentState == self.selectedState: self.currentState = self.lockedSelectedState elif self.currentState == self.activeState: self.currentState = self.lockedActiveState else: self.currentState = self.lockedNormalState else: if self.currentState == self.lockedSelectedState: self.currentState = self.selectedState elif self.currentState == self.lockedActiveState: self.currentState = self.activeState else: self.currentState = self.normalState if do_animation: self.view.startAnimation() def setStateSelected(self): if self.currentState in (self.lockedNormalState, self.lockedSelectedState, self.lockedActiveState): self.currentState = self.lockedSelectedState else: self.view.setPremove(None, None, None, None) self.currentState = self.selectedState def setStateActive(self): if self.currentState in (self.lockedNormalState, self.lockedSelectedState, self.lockedActiveState): self.currentState = self.lockedActiveState else: self.view.setPremove(None, None, None, None) self.currentState = self.activeState def setStateNormal(self): if self.currentState in (self.lockedNormalState, self.lockedSelectedState, self.lockedActiveState): self.currentState = self.lockedNormalState else: self.view.setPremove(None, None, None, None) self.currentState = self.normalState def color(self, event): state = event.get_state() if state & Gdk.ModifierType.SHIFT_MASK and state & Gdk.ModifierType.CONTROL_MASK: return "Y" elif state & Gdk.ModifierType.SHIFT_MASK: return "R" elif state & Gdk.ModifierType.CONTROL_MASK: return "B" else: return "G" def button_press(self, widget, event): if event.button == 3: # first we will draw a circle cord = self.currentState.point2Cord(event.x, event.y, self.color(event)) if cord is None or cord.x < 0 or cord.x > self.FILES or cord.y < 0 or cord.y > self.RANKS: return self.pre_arrow_from = cord self.view.pre_circle = cord self.view.redrawCanvas() return else: # remove all circles and arrows need_redraw = False if self.view.arrows: self.view.arrows.clear() need_redraw = True if self.view.circles: self.view.circles.clear() need_redraw = True if self.view.pre_arrow is not None: self.view.pre_arrow = None need_redraw = True if self.view.pre_circle is not None: self.view.pre_circle = None need_redraw = True if need_redraw: self.view.redrawCanvas() if self.game_preview: return return self.currentState.press(event.x, event.y, event.button) def button_release(self, widget, event): if event.button == 3: # remove or finalize circle/arrow as needed cord = self.currentState.point2Cord(event.x, event.y, self.color(event)) if cord is None or cord.x < 0 or cord.x > self.FILES or cord.y < 0 or cord.y > self.RANKS: return if self.view.pre_circle == cord: if cord in self.view.circles: self.view.circles.remove(cord) else: self.view.circles.add(cord) self.view.pre_circle = None self.emit("shapes_changed") if self.view.pre_arrow is not None: if self.view.pre_arrow in self.view.arrows: self.view.arrows.remove(self.view.pre_arrow) else: self.view.arrows.add(self.view.pre_arrow) self.view.pre_arrow = None self.emit("shapes_changed") self.pre_arrow_from = None self.pre_arrow_to = None self.view.redrawCanvas() return if self.game_preview: return return self.currentState.release(event.x, event.y) def motion_notify(self, widget, event): to = self.currentState.point2Cord(event.x, event.y) if to is None or to.x < 0 or to.x > self.FILES or to.y < 0 or to.y > self.RANKS: return if self.pre_arrow_from is not None: if to != self.pre_arrow_from: # this will be an arrow if self.pre_arrow_to is not None and to != self.pre_arrow_to: # first remove the old one self.view.pre_arrow = None self.view.redrawCanvas() arrow = self.pre_arrow_from, to if arrow != self.view.pre_arrow: # draw the new arrow self.view.pre_arrow = arrow self.view.pre_circle = None self.view.redrawCanvas() self.pre_arrow_to = to elif self.view.pre_circle is None: # back to circle self.view.pre_arrow = None self.view.pre_circle = to self.view.redrawCanvas() return self.currentState.motion(event.x, event.y) def leave_notify(self, widget, event): return self.currentState.leave(event.x, event.y) def key_pressed(self, keyname): if keyname in "PNBRQKMFSOox12345678abcdefgh": self.keybuffer += keyname elif keyname == "minus": self.keybuffer += "-" elif keyname == "at": self.keybuffer += "@" elif keyname == "equal": self.keybuffer += "=" elif keyname == "Return": color = self.view.model.boards[-1].color board = self.view.model.getBoardAtPly( self.view.shown, self.view.shown_variation_idx) try: move = parseAny(board, self.keybuffer) except ParsingError: self.keybuffer = "" return if validate(board, move): if (self.view.model.curplayer.__type__ == LOCAL or self.view.model.examined) and \ self.view.shownIsMainLine() and \ self.view.model.boards[-1] == board and \ self.view.model.status == RUNNING: # emit move self.emit("piece_moved", move, color) if self.view.model.examined: self.view.model.connection.bm.sendMove(toAN(board, move)) else: self.play_or_add_move(board, move) self.keybuffer = "" elif keyname == "BackSpace": self.keybuffer = self.keybuffer[:-1] if self.keybuffer else "" def _genPossibleBoards(self, ply): possible_boards = [] if self.setup_position: return possible_boards if len(self.view.model.players) == 2 and self.view.model.isEngine2EngineGame(): return possible_boards curboard = self.view.model.getBoardAtPly(ply, self.view.shown_variation_idx) for lmove_item in lmovegen.genAllMoves(curboard.board.clone()): move = Move(lmove_item) board = curboard.move(move) possible_boards.append(board) return possible_boards class BoardState: """ There are 6 total BoardStates: NormalState, ActiveState, SelectedState LockedNormalState, LockedActiveState, LockedSelectedState The board state is Locked while it is the opponents turn. The board state is not Locked during your turn. (Locked states are not used when BoardControl setup_position is True.) Normal/Locked State - No pieces or cords are selected Active State - A piece is currently being dragged by the mouse Selected State - A cord is currently selected """ def __init__(self, board): self.parent = board self.view = board.view self.lastMotionCord = None self.RANKS = self.view.model.boards[0].RANKS self.FILES = self.view.model.boards[0].FILES def getBoard(self): return self.view.model.getBoardAtPly(self.view.shown, self.view.shown_variation_idx) def validate(self, cord0, cord1): if cord0 is None or cord1 is None: return False # prevent accidental NULL_MOVE creation if cord0 == cord1 and self.parent.variant.variant != SITTUYINCHESS: return False if self.getBoard()[cord0] is None: return False if self.parent.setup_position: # prevent moving pieces inside holding if (cord0.x < 0 or cord0.x > self.FILES - 1) and \ (cord1.x < 0 or cord1.x > self.FILES - 1): return False else: return True if cord1.x < 0 or cord1.x > self.FILES - 1: return False if cord0.x < 0 or cord0.x > self.FILES - 1: # drop return validate(self.getBoard(), Move(lmovegen.newMove( self.getBoard()[cord0].piece, cord1.cord, DROP))) else: return validate(self.getBoard(), Move(cord0, cord1, self.getBoard())) def transPoint(self, x_loc, y_loc): xc_loc, yc_loc, side = self.view.square[0], self.view.square[1], \ self.view.square[3] x_loc, y_loc = self.view.invmatrix.transform_point(x_loc, y_loc) y_loc -= yc_loc x_loc -= xc_loc y_loc /= float(side) x_loc /= float(side) return x_loc, self.RANKS - y_loc def point2Cord(self, x_loc, y_loc, color=None): point = self.transPoint(x_loc, y_loc) p0_loc, p1_loc = point[0], point[1] if self.parent.variant.variant in DROP_VARIANTS: if not-3 <= int(p0_loc) <= self.FILES + 2 or not 0 <= int( p1_loc) <= self.RANKS - 1: return None else: if not 0 <= int(p0_loc) <= self.FILES - 1 or not 0 <= int( p1_loc) <= self.RANKS - 1: return None return Cord(int(p0_loc) if p0_loc >= 0 else int(p0_loc) - 1, int(p1_loc), color) def isSelectable(self, cord): # Simple isSelectable method, disabling selecting cords out of bound etc if not cord: return False if self.parent.setup_position: return True if self.parent.variant.variant in DROP_VARIANTS: if (not-3 <= cord.x <= self.FILES + 2) or ( not 0 <= cord.y <= self.RANKS - 1): return False else: if (not 0 <= cord.x <= self.FILES - 1) or ( not 0 <= cord.y <= self.RANKS - 1): return False return True def press(self, x_loc, y_loc, button): pass def release(self, x_loc, y_loc): pass def motion(self, x_loc, y_loc): cord = self.point2Cord(x_loc, y_loc) if self.lastMotionCord == cord: return self.lastMotionCord = cord if cord and self.isSelectable(cord): if not self.view.model.isPlayingICSGame(): self.view.hover = cord else: self.view.hover = None def leave(self, x_loc, y_loc): allocation = self.parent.get_allocation() if not (0 <= x_loc < allocation.width and 0 <= y_loc < allocation.height): self.view.hover = None class LockedBoardState(BoardState): ''' Parent of LockedNormalState, LockedActiveState, LockedSelectedState The board is in one of the three Locked states during the opponent's turn. ''' def __init__(self, board): BoardState.__init__(self, board) def isAPotentiallyLegalNextMove(self, cord0, cord1): """ Determines whether the given move is at all legally possible as the next move after the player who's turn it is makes their move Note: This doesn't always return the correct value, such as when BoardControl.setLocked() has been called and we've begun a drag, but view.shown and BoardControl.lockedPly haven't been updated yet """ if cord0 is None or cord1 is None: return False if self.parent.lockedPly not in self.parent.possibleBoards: return False for board in self.parent.possibleBoards[self.parent.lockedPly]: if not board[cord0]: return False if validate(board, Move(cord0, cord1, board)): return True return False class NormalState(BoardState): ''' It is the human player's turn and no pieces or cords are selected. ''' def isSelectable(self, cord): if not BoardState.isSelectable(self, cord): return False if self.parent.setup_position: return True try: board = self.getBoard() if board[cord] is None: return False # We don't want empty cords elif board[cord].color != board.color: return False # We shouldn't be able to select an opponent piece except IndexError: return False return True def press(self, x_loc, y_loc, button): self.parent.grab_focus() cord = self.point2Cord(x_loc, y_loc) if self.isSelectable(cord): self.view.dragged_piece = self.getBoard()[cord] self.view.active = cord self.parent.setStateActive() class ActiveState(BoardState): ''' It is the human player's turn and a piece is being dragged by the mouse. ''' def isSelectable(self, cord): if not BoardState.isSelectable(self, cord): return False if self.parent.setup_position: return True return self.validate(self.view.active, cord) def release(self, x_loc, y_loc): cord = self.point2Cord(x_loc, y_loc) if self.view.selected and cord != self.view.active and not \ self.validate(self.view.selected, cord): if not self.parent.setup_position: preferencesDialog.SoundTab.playAction("invalidMove") if not cord: self.view.active = None self.view.selected = None self.view.dragged_piece = None self.view.startAnimation() self.parent.setStateNormal() # When in the mixed active/selected state elif self.view.selected: # Move when releasing on a good cord if self.validate(self.view.selected, cord): self.parent.setStateNormal() # It is important to emit_move_signal after setting state # as listeners of the function probably will lock the board self.view.dragged_piece = None self.parent.emit_move_signal(self.view.selected, cord) if self.parent.setup_position: if not (self.view.selected.x < 0 or self.view.selected.x > self.FILES - 1): self.view.selected = None else: # enable stamping with selected holding pieces self.parent.setStateSelected() else: self.view.selected = None self.view.active = None elif cord == self.view.active == self.view.selected == self.parent.selected_last: # user clicked (press+release) same piece twice, so unselect it self.view.active = None self.view.selected = None self.view.dragged_piece = None self.view.startAnimation() self.parent.setStateNormal() if self.parent.variant.variant == SITTUYINCHESS: self.parent.emit_move_signal(self.view.selected, cord) else: # leave last selected piece selected self.view.active = None self.view.dragged_piece = None self.view.startAnimation() self.parent.setStateSelected() # If dragged and released on a possible cord elif self.validate(self.view.active, cord): self.parent.setStateNormal() self.view.dragged_piece = None # removig piece from board if self.parent.setup_position and (cord.x < 0 or cord.x > self.FILES - 1): self.view.startAnimation() self.parent.emit_move_signal(self.view.active, cord) self.view.active = None # Select last piece user tried to move or that was selected elif self.view.active or self.view.selected: self.view.selected = self.view.active if self.view.active else self.view.selected self.view.active = None self.view.dragged_piece = None self.view.startAnimation() self.parent.setStateSelected() # Send back, if dragging to a not possible cord else: self.view.active = None # Send the piece back to its original cord self.view.dragged_piece = None self.view.startAnimation() self.parent.setStateNormal() self.parent.selected_last = self.view.selected def motion(self, x_loc, y_loc): BoardState.motion(self, x_loc, y_loc) fcord = self.view.active if not fcord: return piece = self.getBoard()[fcord] if not piece: return elif piece.color != self.getBoard().color: if not self.parent.setup_position: return side = self.view.square[3] co_loc, si_loc = self.view.matrix[0], self.view.matrix[1] point = self.transPoint(x_loc - side * (co_loc + si_loc) / 2., y_loc + side * (co_loc - si_loc) / 2.) if not point: return x_loc, y_loc = point if piece.x != x_loc or piece.y != y_loc: if piece.x: paintbox = self.view.cord2RectRelative(piece.x, piece.y) else: paintbox = self.view.cord2RectRelative(self.view.active) paintbox = join(paintbox, self.view.cord2RectRelative(x_loc, y_loc)) piece.x = x_loc piece.y = y_loc self.view.redrawCanvas(rect(paintbox)) class SelectedState(BoardState): ''' It is the human player's turn and a cord is selected. ''' def isSelectable(self, cord): if not BoardState.isSelectable(self, cord): return False if self.parent.setup_position: return True try: board = self.getBoard() if board[cord] is not None and board[cord].color == board.color: return True # Select another piece except IndexError: return False return self.validate(self.view.selected, cord) def press(self, x_loc, y_loc, button): cord = self.point2Cord(x_loc, y_loc) # Unselecting by pressing the selected cord, or marking the cord to be # moved to. We don't unset self.view.selected, so ActiveState can handle # things correctly if self.isSelectable(cord): if self.parent.setup_position: color_ok = True else: color_ok = self.getBoard()[cord] is not None and \ self.getBoard()[cord].color == self.getBoard().color if self.view.selected and self.view.selected != cord and \ color_ok and not self.validate(self.view.selected, cord): # corner case encountered: # user clicked (press+release) a piece, then clicked (no release yet) # a different piece and dragged it somewhere else. Since # ActiveState.release() will use self.view.selected as the source piece # rather than self.view.active, we need to update it here self.view.selected = cord # re-select new cord self.view.dragged_piece = self.getBoard()[cord] self.view.active = cord self.parent.setStateActive() else: # Unselecting by pressing an inactive cord self.view.selected = None self.parent.setStateNormal() if not self.parent.setup_position: preferencesDialog.SoundTab.playAction("invalidMove") class LockedNormalState(LockedBoardState): ''' It is the opponent's turn and no piece or cord is selected. ''' def isSelectable(self, cord): if not BoardState.isSelectable(self, cord): return False if not self.parent.allowPremove: return False # Don't allow premove if neither player is human try: board = self.getBoard() if board[cord] is None: return False # We don't want empty cords elif board[cord].color == board.color: return False # We shouldn't be able to select an opponent piece except IndexError: return False return True def press(self, x, y, button): self.parent.grab_focus() cord = self.point2Cord(x, y) if self.isSelectable(cord): self.view.dragged_piece = self.getBoard()[cord] self.view.active = cord self.parent.setStateActive() # reset premove if mouse right-clicks or clicks one of the premove cords if button == 3: # right-click self.view.setPremove(None, None, None, None) self.view.startAnimation() elif cord == self.view.premove0 or cord == self.view.premove1: self.view.setPremove(None, None, None, None) self.view.startAnimation() class LockedActiveState(LockedBoardState): ''' It is the opponent's turn and a piece is being dragged by the mouse. ''' def isSelectable(self, cord): if not BoardState.isSelectable(self, cord): return False return self.isAPotentiallyLegalNextMove(self.view.active, cord) def release(self, x_loc, y_loc): cord = self.point2Cord(x_loc, y_loc) if cord == self.view.active == self.view.selected == self.parent.selected_last: # User clicked (press+release) same piece twice, so unselect it self.view.active = None self.view.selected = None self.view.dragged_piece = None self.view.startAnimation() self.parent.setStateNormal() elif self.parent.allowPremove and self.view.selected and self.isAPotentiallyLegalNextMove( self.view.selected, cord): # In mixed locked selected/active state and user selects a valid premove cord board = self.getBoard() if board[self.view.selected].sign == PAWN and \ cord.cord in board.PROMOTION_ZONE[1 - board.color]: if conf.get("autoPromote"): promotion = lmove.PROMOTE_PIECE(QUEEN_PROMOTION) else: promotion = self.parent.getPromotion() else: promotion = None self.view.setPremove(board[self.view.selected], self.view.selected, cord, self.view.shown + 2, promotion) self.view.selected = None self.view.active = None self.view.dragged_piece = None self.view.startAnimation() self.parent.setStateNormal() elif self.parent.allowPremove and self.isAPotentiallyLegalNextMove( self.view.active, cord): # User drags a piece to a valid premove square board = self.getBoard() if board[self.view.active].sign == PAWN and \ cord.cord in board.PROMOTION_ZONE[1 - board.color]: if conf.get("autoPromote"): promotion = lmove.PROMOTE_PIECE(QUEEN_PROMOTION) else: promotion = self.parent.getPromotion() else: promotion = None self.view.setPremove(self.getBoard()[self.view.active], self.view.active, cord, self.view.shown + 2, promotion) self.view.selected = None self.view.active = None self.view.dragged_piece = None self.view.startAnimation() self.parent.setStateNormal() elif self.view.active or self.view.selected: # Select last piece user tried to move or that was selected self.view.selected = self.view.active if self.view.active else self.view.selected self.view.active = None self.view.dragged_piece = None self.view.startAnimation() self.parent.setStateSelected() else: self.view.active = None self.view.selected = None self.view.dragged_piece = None self.view.startAnimation() self.parent.setStateNormal() self.parent.selected_last = self.view.selected def motion(self, x_loc, y_loc): BoardState.motion(self, x_loc, y_loc) fcord = self.view.active if not fcord: return piece = self.getBoard()[fcord] if not piece or piece.color == self.getBoard().color: return side = self.view.square[3] co_loc, si_loc = self.view.matrix[0], self.view.matrix[1] point = self.transPoint(x_loc - side * (co_loc + si_loc) / 2., y_loc + side * (co_loc - si_loc) / 2.) if not point: return x_loc, y_loc = point if piece.x != x_loc or piece.y != y_loc: if piece.x: paintbox = self.view.cord2RectRelative(piece.x, piece.y) else: paintbox = self.view.cord2RectRelative(self.view.active) paintbox = join(paintbox, self.view.cord2RectRelative(x_loc, y_loc)) piece.x = x_loc piece.y = y_loc self.view.redrawCanvas(rect(paintbox)) class LockedSelectedState(LockedBoardState): ''' It is the opponent's turn and a cord is selected. ''' def isSelectable(self, cord): if not BoardState.isSelectable(self, cord): return False try: board = self.getBoard() if board[cord] is not None and board[cord].color != board.color: return True # Select another piece except IndexError: return False return self.isAPotentiallyLegalNextMove(self.view.selected, cord) def motion(self, x_loc, y_loc): cord = self.point2Cord(x_loc, y_loc) if self.lastMotionCord == cord: self.view.hover = cord return self.lastMotionCord = cord if cord and self.isAPotentiallyLegalNextMove(self.view.selected, cord): if not self.view.model.isPlayingICSGame(): self.view.hover = cord else: self.view.hover = None def press(self, x_loc, y_loc, button): cord = self.point2Cord(x_loc, y_loc) # Unselecting by pressing the selected cord, or marking the cord to be # moved to. We don't unset self.view.selected, so ActiveState can handle # things correctly if self.isSelectable(cord): if self.view.selected and self.view.selected != cord and \ self.getBoard()[cord] is not None and \ self.getBoard()[cord].color != self.getBoard().color and \ not self.isAPotentiallyLegalNextMove(self.view.selected, cord): # corner-case encountered (see comment in SelectedState.press) self.view.selected = cord # re-select new cord self.view.dragged_piece = self.getBoard()[cord] self.view.active = cord self.parent.setStateActive() else: # Unselecting by pressing an inactive cord self.view.selected = None self.parent.setStateNormal() # reset premove if mouse right-clicks or clicks one of the premove cords if button == 3: # right-click self.view.setPremove(None, None, None, None) self.view.startAnimation() elif cord == self.view.premove0 or cord == self.view.premove1: self.view.setPremove(None, None, None, None) self.view.startAnimation() pychess-1.0.0/lib/pychess/widgets/enginesDialog.py0000644000175000017500000010736613432477502021276 0ustar varunvarunimport os import sys import shutil from gi.repository import Gtk, Gdk, GLib, GObject, Pango from gi.repository.GdkPixbuf import Pixbuf from pychess.System import uistuff from pychess.System.prefix import getEngineDataPrefix, addDataPrefix from pychess.Utils.IconLoader import get_pixbuf from pychess.Players.engineNest import discoverer, is_uci, is_cecp, ENGINE_DEFAULT_LEVEL from pychess.Players.engineList import VM_LIST, listEnginesFromPath from pychess.Utils.isoCountries import ISO3166_LIST from pychess.widgets import newGameDialog from pychess.widgets import mainwindow firstRun = True engine_dialog = None def run(widgets): global firstRun, engine_dialog if firstRun: # Display of the countries items = [] for iso in ISO3166_LIST: path = addDataPrefix("flags/%s.png" % iso.iso2) if not(iso.iso2 and os.path.isfile(path)): path = addDataPrefix("flags/unknown.png") items.append((get_pixbuf(path), iso.country)) uistuff.createCombo(widgets["engine_country_combo"], name="engine_country_combo", ellipsize_mode=Pango.EllipsizeMode.END) data = [(item[0], item[1]) for item in items] uistuff.updateCombo(widgets["engine_country_combo"], data) engine_dialog = EnginesDialog(widgets) def cancel_event(widget, with_confirmation, *args): # Confirm if the changes need to be saved modified = discoverer.hasChanged() if modified and with_confirmation: dialog = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.QUESTION, buttons=Gtk.ButtonsType.YES_NO) dialog.set_markup(_("You have unsaved changes. Do you want to save before leaving?")) response = dialog.run() dialog.destroy() # if response == Gtk.ResponseType.CANCEL: # return False if response == Gtk.ResponseType.NO: discoverer.restore() if response == Gtk.ResponseType.YES: discoverer.save() # Close the window widgets["manage_engines_dialog"].hide() return True def save_event(widget, *args): discoverer.save() widgets["manage_engines_dialog"].hide() return True widgets["manage_engines_dialog"].connect("delete-event", cancel_event, True) widgets["engine_cancel_button"].connect("clicked", cancel_event, False) widgets["engine_save_button"].connect("clicked", save_event) widgets["manage_engines_dialog"].connect( "key-press-event", lambda w, e: cancel_event(w, True) if e.keyval == Gdk.KEY_Escape else None) discoverer.backup() engine_dialog.widgets["enginebook"].set_current_page(0) widgets["manage_engines_dialog"].show() if not firstRun: engine_dialog.update_store() firstRun = False class EnginesDialog(): def update_options(self, *args): if self.cur_engine is not None: # Initial reset self.options_store.clear() # Detection of the name of the engine to reload engines = discoverer.getEngines() names = [engine["name"] for engine in engines] if self.cur_engine not in names: self.cur_engine = engines[0]["name"] engine = discoverer.getEngineByName(self.cur_engine) if engine: options = engine.get("options") if options: options.sort(key=lambda obj: obj['name'].lower() if 'name' in obj else '') for option in options: key = option["name"] val = option if option["type"] != "button": val["default"] = option.get("default") val["value"] = option.get("value", val["default"]) modified = val["value"] != val["default"] else: modified = False self.options_store.append(["*" if modified else "", key, val]) def update_store(self, *args): newGameDialog.createPlayerUIGlobals(discoverer) engine_names = [row[1] for row in self.allstore] new_items = [] # don't add the very first (Human) player to engine store for item in newGameDialog.allEngineItems: if item[1] not in engine_names: new_items.append(item) ts_iter = None for item in new_items: ts_iter = self.allstore.append(item) if ts_iter is not None: text_select = self.tv.get_selection() text_select.select_iter(ts_iter) self.update_options() def __init__(self, widgets): self.widgets = widgets self.dialog = self.widgets["manage_engines_dialog"] self.cur_engine = None self.default_workdir = getEngineDataPrefix() uistuff.keepWindowSize("engineswindow", self.dialog) # Put engines into tree store self.allstore = Gtk.ListStore(Pixbuf, str) self.tv = self.widgets["engines_treeview"] self.tv.set_model(self.allstore) self.tv.append_column(Gtk.TreeViewColumn("Flag", Gtk.CellRendererPixbuf(), pixbuf=0)) name_renderer = Gtk.CellRendererText() name_renderer.set_property("editable", False) self.tv.append_column(Gtk.TreeViewColumn("Name", name_renderer, text=1)) # Add cell renderer to protocol combo column protocol_combo = self.widgets["engine_protocol_combo"] protocol_combo.set_name("engine_protocol_combo") cell = Gtk.CellRendererText() protocol_combo.pack_start(cell, True) protocol_combo.add_attribute(cell, "text", 0) # Add columns and cell renderers to options treeview self.options_store = Gtk.ListStore(str, str, GObject.TYPE_PYOBJECT) optv = self.widgets["options_treeview"] optv.set_model(self.options_store) optv.append_column(Gtk.TreeViewColumn(" ", Gtk.CellRendererText(), text=0)) optv.append_column(Gtk.TreeViewColumn(_("Option"), Gtk.CellRendererText(), text=1)) optv.append_column(Gtk.TreeViewColumn(_("Value"), KeyValueCellRenderer(self.options_store), data=2)) self.update_store() def do_update_store(self, *args): GLib.idle_add(engine_dialog.update_store) discoverer.connect_after("engine_discovered", do_update_store) ################################################################ # remove button ################################################################ def remove(button): if self.cur_engine is not None: self.widgets['remove_engine_button'].set_sensitive(False) discoverer.removeEngine(self.cur_engine) selection = self.tv.get_selection() result = selection.get_selected() if result is not None: model, ts_iter = result model.remove(ts_iter) if model.iter_n_children() == 0: clearView() # Notify playerCombos in NewGameTasker discoverer.emit("all_engines_discovered") self.widgets["remove_engine_button"].connect("clicked", remove) ################################################################ # add button ################################################################ engine_chooser_dialog = Gtk.FileChooserDialog( _("Select engine"), mainwindow(), Gtk.FileChooserAction.OPEN, (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_OPEN, Gtk.ResponseType.OK)) filter = Gtk.FileFilter() filter.set_name(_("Executable files")) filter.add_mime_type("application/x-executable") filter.add_mime_type("application/x-sharedlib") filter.add_mime_type("application/x-ms-dos-executable") filter.add_mime_type("application/x-msdownload") filter.add_pattern("*.exe") for vm in VM_LIST: filter.add_pattern("*%s" % vm.ext) engine_chooser_dialog.add_filter(filter) self.add = False def add(button): self.add = True response = engine_chooser_dialog.run() if response == Gtk.ResponseType.OK: new_engine = engine_chooser_dialog.get_filename() binname = os.path.split(new_engine)[1] ext = os.path.splitext(new_engine)[1] # Verify if the engine already exists under the same name if new_engine != "": for eng in discoverer.getEngines(): if eng["command"] == new_engine: msg_dia = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.ERROR, buttons=Gtk.ButtonsType.OK) msg_dia.set_markup(_("Unable to add %s" % new_engine)) msg_dia.format_secondary_text(_("The engine is already installed under the same name")) msg_dia.run() msg_dia.hide() new_engine = "" break # Detect the host application if new_engine != "": vm_name = None vm_args = None vmpath = "" # Scripting for vm in VM_LIST: if ext == vm.ext: vm_name = vm.name vm_args = vm.args break # Wine for Windows application under Linux if vm_name is None and new_engine.lower().endswith(".exe") and sys.platform != "win32": vm_name = "wine" # Check that the interpreter is available if vm_name is not None: vmpath = shutil.which(vm_name, mode=os.R_OK | os.X_OK) if vmpath is None: msg_dia = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.ERROR, buttons=Gtk.ButtonsType.OK) msg_dia.set_markup(_("Unable to add %s" % new_engine)) msg_dia.format_secondary_text(vm_name + _(" is not installed")) msg_dia.run() msg_dia.hide() new_engine = "" # Next checks if new_engine: vm_ext_list = [vm.ext for vm in VM_LIST] if ext not in vm_ext_list and not os.access(new_engine, os.X_OK): msg_dia = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.ERROR, buttons=Gtk.ButtonsType.OK) msg_dia.set_markup(_("%s is not marked executable in the filesystem" % new_engine)) msg_dia.format_secondary_text(_("Try chmod a+x %s" % new_engine)) msg_dia.run() msg_dia.hide() self.add = False engine_chooser_dialog.hide() return try: engine_command = [] if vmpath: engine_command.append(vmpath) if vm_args is not None: engine_command += vm_args engine_command.append(new_engine) # Search the engines based on the most expectable protocol refeng = discoverer.getReferencedEngine(binname) if refeng is not None and refeng["protocol"] == "xboard": checkers = [is_cecp, is_uci] else: checkers = [is_uci, is_cecp] uci = False for checker in checkers: check_ok = checker(engine_command) if check_ok: uci = checker is is_uci break else: continue if not check_ok: # restore the original engine = discoverer.getEngineByName(self.cur_engine) engine_chooser_dialog.set_filename(engine["command"]) msg_dia = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.ERROR, buttons=Gtk.ButtonsType.OK) msg_dia.set_markup( _("Unable to add %s" % new_engine)) msg_dia.format_secondary_text(_("There is something wrong with this executable")) msg_dia.run() msg_dia.hide() engine_chooser_dialog.hide() self.add = False engine_chooser_dialog.hide() return self.widgets["engine_command_entry"].set_text(new_engine) self.widgets["engine_protocol_combo"].set_active(0 if uci else 1) self.widgets["engine_args_entry"].set_text("") # active = self.widgets["engine_protocol_combo"].get_active() protocol = "uci" if uci else "xboard" # print(binname, new_engine, protocol, vm_name, vm_args) discoverer.addEngine(binname, new_engine, protocol, vm_name, vm_args) self.cur_engine = binname self.add = False discoverer.discover() except Exception: msg_dia = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.ERROR, buttons=Gtk.ButtonsType.OK) msg_dia.set_markup(_("Unable to add %s" % new_engine)) msg_dia.format_secondary_text(_("There is something wrong with this executable")) msg_dia.run() msg_dia.hide() self.add = False engine_chooser_dialog.hide() return else: # restore the original engine = discoverer.getEngineByName(self.cur_engine) engine_chooser_dialog.set_filename(engine["command"]) engine_chooser_dialog.hide() self.widgets["add_engine_button"].connect("clicked", add) ################################################################ # add in mass button ################################################################ def addInMass(button): # Ask the user to select a folder folder_dlg = Gtk.FileChooserDialog(_("Choose a folder"), None, Gtk.FileChooserAction.SELECT_FOLDER, (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_OPEN, Gtk.ResponseType.OK)) answer = folder_dlg.run() path = folder_dlg.get_filename() folder_dlg.destroy() # Search for the engines if answer != Gtk.ResponseType.OK: return False possibleFiles = listEnginesFromPath(path) # Remove the existing engines from the list def isNewEngine(path): sfn = os.path.basename(path) for engine in discoverer.getEngines(): if sfn in engine.get("command"): # The short name must be unique return False return True possibleFiles = [fn for fn in possibleFiles if isNewEngine(fn)] if len(possibleFiles) == 0: return False # Prepare the result in a dialog mass_dialog = self.widgets["engine_list_dialog"] self.widgets["mass_path_label"].set_text(path) mass_list = self.widgets["mass_list_treeview"] if len(mass_list.get_columns()) == 0: # Not initialized yet mass_store = Gtk.ListStore(bool, str) mass_list.set_model(mass_store) def checkbox_renderer_cb(cell, path, model): model[path][0] = not model[path][0] return checkbox_renderer = Gtk.CellRendererToggle() checkbox_renderer.set_property("activatable", True) checkbox_renderer.connect("toggled", checkbox_renderer_cb, mass_store) mass_list.append_column(Gtk.TreeViewColumn(_("Import"), checkbox_renderer, active=0)) mass_list.append_column(Gtk.TreeViewColumn(_("File name"), Gtk.CellRendererText(), text=1)) else: mass_store = mass_list.get_model() mass_store.clear() for fn in possibleFiles: mass_store.append([False, fn[len(path):]]) # Show the dialog answer = mass_dialog.run() mass_dialog.hide() if answer != Gtk.ResponseType.OK.real: return False # Add the new engines self.add = True found = False for entry in mass_store: if entry[0]: newengine = discoverer.getReferencedEngine(path + entry[1]) if newengine is not None: discoverer.addEngineFromReference(newengine) found = True self.add = False if found: discoverer.discover() return True self.widgets["mass_engine_button"].connect("clicked", addInMass) ################################################################ def clearView(): self.selection = True self.cur_engine = None self.widgets["vm_command_entry"].set_text("") self.widgets["vm_args_entry"].set_text("") self.widgets["engine_command_entry"].set_text("") self.widgets["engine_args_entry"].set_text("") self.widgets["engine_protocol_combo"].set_active(0) self.widgets["engine_country_combo"].set_active(0) self.widgets["engine_comment_entry"].set_text("") self.widgets["engine_level_scale"].set_value(ENGINE_DEFAULT_LEVEL) self.options_store.clear() self.selection = False ################################################################ # vm args ################################################################ def vm_args_changed(widget): if self.cur_engine is not None and not self.selection: new_args = self.widgets["vm_args_entry"].get_text().strip() engine = discoverer.getEngineByName(self.cur_engine) old_args = engine.get("vm_args") if new_args != old_args: engine["vm_args"] = new_args.split() self.widgets["vm_args_entry"].connect("changed", vm_args_changed) ################################################################ # engine args ################################################################ def args_changed(widget): if self.cur_engine is not None and not self.selection: new_args = self.widgets["engine_args_entry"].get_text().strip() engine = discoverer.getEngineByName(self.cur_engine) old_args = engine.get("args") if new_args != old_args: engine["args"] = new_args.split() self.widgets["engine_args_entry"].connect("changed", args_changed) ################################################################ # engine working directory ################################################################ dir_chooser_dialog = Gtk.FileChooserDialog( _("Select working directory"), mainwindow(), Gtk.FileChooserAction.SELECT_FOLDER, (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_OPEN, Gtk.ResponseType.OK)) dir_chooser_button = Gtk.FileChooserButton.new_with_dialog( dir_chooser_dialog) self.widgets["dirChooserDock"].add(dir_chooser_button) dir_chooser_button.show() def select_dir(button): new_directory = dir_chooser_dialog.get_filename() engine = discoverer.getEngineByName(self.cur_engine) old_directory = engine.get("workingDirectory") if new_directory != old_directory and new_directory != self.default_workdir: engine["workingDirectory"] = new_directory dir_chooser_button.connect("current-folder-changed", select_dir) ################################################################ # engine protocol ################################################################ def protocol_changed(widget): if self.cur_engine is not None and not self.add and not self.selection: active = self.widgets["engine_protocol_combo"].get_active() new_protocol = "uci" if active == 0 else "xboard" engine = discoverer.getEngineByName(self.cur_engine) old_protocol = engine["protocol"] if new_protocol != old_protocol: command = engine.get("command") engine_command = [] vm_command = engine.get("vm_command") if vm_command is not None: engine_command.append(vm_command) vm_args = engine.get("vm_args") if vm_args is not None: engine_command.append(", ".join(vm_args)) engine_command.append(command) # is the new protocol supported by the engine? if new_protocol == "uci": check_ok = is_uci(engine_command) else: check_ok = is_cecp(engine_command) if check_ok: # discover engine options for new protocol engine["protocol"] = new_protocol engine["recheck"] = True discoverer.discover() else: # restore the original protocol widgets["engine_protocol_combo"].set_active( 0 if old_protocol == "uci" else 1) self.widgets["engine_protocol_combo"].connect("changed", protocol_changed) ################################################################ # engine country ################################################################ def country_changed(widget): if self.cur_engine is not None and not self.selection: engine = discoverer.getEngineByName(self.cur_engine) old_country = discoverer.getCountry(engine) new_country = ISO3166_LIST[widget.get_active()].iso2 if old_country != new_country: engine["country"] = new_country # Refresh the flag in the tree view path = addDataPrefix("flags/%s.png" % new_country) if not os.path.isfile(path): path = addDataPrefix("flags/unknown.png") item = self.tv.get_selection().get_selected() if item is not None: model, ts_iter = item model[ts_iter][0] = get_pixbuf(path) # Notify playerCombos in NewGameTasker discoverer.emit("all_engines_discovered") self.widgets["engine_country_combo"].connect("changed", country_changed) def country_keypressed(widget, event): idx = 0 for iso in ISO3166_LIST: if (idx != 0) and ((ord(iso.country[0].lower()) == event.keyval) or (ord(iso.country[0].upper()) == event.keyval)): widget.set_active(idx) break idx += 1 self.widgets["engine_country_combo"].connect("key-press-event", country_keypressed) ################################################################ # comment changed ################################################################ def comment_changed(widget): if self.cur_engine is not None and not self.selection: new_comment = self.widgets["engine_comment_entry"].get_text().strip() engine = discoverer.getEngineByName(self.cur_engine) old_comment = engine.get("comment") if new_comment != old_comment: engine["comment"] = new_comment self.widgets["engine_comment_entry"].connect("changed", comment_changed) ################################################################ # level changed ################################################################ def level_changed(widget): if self.cur_engine is not None and not self.selection: new_level = widget.get_value() engine = discoverer.getEngineByName(self.cur_engine) old_level = engine.get("level") if new_level != old_level: engine["level"] = int(new_level) self.widgets["engine_level_scale"].connect("value-changed", level_changed) ################################################################ # engine tree ################################################################ self.selection = False def selection_changed(treeselection): store, tv_iter = self.tv.get_selection().get_selected() if tv_iter: self.selection = True path = store.get_path(tv_iter) indices = path.get_indices() row = indices[0] name = store[row][1] self.cur_engine = name engine = discoverer.getEngineByName(name) if "PyChess.py" in engine["command"]: self.widgets['remove_engine_button'].set_sensitive(False) else: self.widgets['remove_engine_button'].set_sensitive(True) self.widgets["engine_command_entry"].set_text(engine["command"]) engine_chooser_dialog.set_filename(engine["command"]) args = [] if engine.get("args") is None else engine.get("args") self.widgets["engine_args_entry"].set_text(' '.join(args)) vm = engine.get("vm_command") self.widgets["vm_command_entry"].set_text(vm if vm is not None else "") args = [] if engine.get("vm_args") is None else engine.get("vm_args") self.widgets["vm_args_entry"].set_text(' '.join(args)) directory = engine.get("workingDirectory") dir_choice = directory if directory is not None else self.default_workdir dir_chooser_dialog.set_current_folder(dir_choice) self.widgets["engine_protocol_combo"].set_active(0 if engine["protocol"] == "uci" else 1) self.widgets["engine_country_combo"].set_active(0) country = discoverer.getCountry(engine) idx = 0 for iso in ISO3166_LIST: if iso.iso2 == country: self.widgets["engine_country_combo"].set_active(idx) break idx += 1 comment = engine.get("comment") self.widgets["engine_comment_entry"].set_text(comment if comment is not None else "") level = engine.get("level") try: level = int(level) except Exception: level = ENGINE_DEFAULT_LEVEL self.widgets["engine_level_scale"].set_value(level) self.update_options() self.selection = False tree_selection = self.tv.get_selection() tree_selection.connect('changed', selection_changed) tree_selection.select_path((0, )) selection_changed(tree_selection) ################################################################ # restore the default options of the engine ################################################################ def engine_default_options(button): if self.cur_engine is not None and not self.selection: engine = discoverer.getEngineByName(self.cur_engine) options = engine.get("options") if options: dialog = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.QUESTION, buttons=Gtk.ButtonsType.YES_NO) dialog.set_markup(_("Do you really want to restore the default options of the engine ?")) response = dialog.run() dialog.destroy() if response == Gtk.ResponseType.YES: for option in options: if "default" in option: option["value"] = option["default"] self.update_options() self.widgets["engine_default_options_button"].connect("clicked", engine_default_options) class KeyValueCellRenderer(Gtk.CellRenderer): """ Custom renderer providing different renderers in different rows. The model parameter is a Gtk.ListStore(str, GObject.TYPE_PYOBJECT) containing key data pairs. Each data is a dictionary with name, type, default, value, min, max (for spin options), choices (list of combo options) The 'type' can be 'check', 'spin', 'text', 'combo', 'button'. Examples: ('Nullmove', {'name': 'Nullmove', 'default': false, 'type': 'check', 'value': True}) ('Selectivity', {'name': 'Selectivity', 'default': 1, 'type': 'spin', \ 'min': 0, 'max': 4, 'value': 2}) ('Style', {'name': 'Style', 'default': 'Solid', 'type': 'combo', \ 'choices': ['Solid', 'Normal','Risky'], 'value': 'Normal'}) ('NalimovPath', {'name': 'NalimovPath', 'default': '', \ 'type': 'text', 'value': '/home/egtb'}) ('Clear Hash', {'name': 'Clear Hash', 'type': 'button'}) """ __gproperties__ = {"data": (GObject.TYPE_PYOBJECT, "Data", "Data", GObject.ParamFlags.READABLE | GObject.ParamFlags.WRITABLE)} def __init__(self, model): GObject.GObject.__init__(self) self.data = None self.text_renderer = Gtk.CellRendererText() self.text_renderer.set_property("editable", True) self.text_renderer.connect("edited", self.text_edited_cb, model) self.toggle_renderer = Gtk.CellRendererToggle() self.toggle_renderer.set_property("activatable", True) self.toggle_renderer.set_property("xalign", 0) self.toggle_renderer.connect("toggled", self.toggled_cb, model) self.ro_toggle_renderer = Gtk.CellRendererToggle() self.ro_toggle_renderer.set_property("activatable", False) self.ro_toggle_renderer.set_property("xalign", 0) self.spin_renderer = Gtk.CellRendererSpin() self.spin_renderer.set_property("editable", True) self.spin_renderer.connect("edited", self.spin_edited_cb, model) self.combo_renderer = Gtk.CellRendererCombo() self.combo_renderer.set_property("has_entry", False) self.combo_renderer.set_property("editable", True) self.combo_renderer.set_property("text_column", 0) self.combo_renderer.connect("edited", self.text_edited_cb, model) self.button_renderer = Gtk.CellRendererText() self.button_renderer.set_property("editable", False) def update_modified_mark(self, ref): ref[0] = "*" if ref[2].get("value") != ref[2].get("default") else "" def text_edited_cb(self, cell, path, new_text, model): model[path][2]["value"] = new_text self.update_modified_mark(model[path]) return def toggled_cb(self, cell, path, model): model[path][2]["value"] = not model[path][2]["value"] self.update_modified_mark(model[path]) return def spin_edited_cb(self, cell, path, new_text, model): try: model[path][2]["value"] = int(new_text) self.update_modified_mark(model[path]) except Exception: pass return def _get_renderer(self): if self.data["type"] == "check": if self.data["name"] == "UCI_Chess960": return self.ro_toggle_renderer else: return self.toggle_renderer elif self.data["type"] == "spin": return self.spin_renderer elif self.data["type"] == "text": return self.text_renderer elif self.data["type"] == "combo": return self.combo_renderer elif self.data["type"] == "button": return self.button_renderer renderer = property(_get_renderer) def do_set_property(self, pspec, value): if value["type"] == "check": self.toggle_renderer.set_active(value["value"]) self.set_property("mode", Gtk.CellRendererMode.ACTIVATABLE) elif value["type"] == "spin": adjustment = Gtk.Adjustment(value=int(value["value"]), lower=value["min"], upper=value["max"], step_increment=1) self.spin_renderer.set_property("adjustment", adjustment) self.spin_renderer.set_property("text", str(value["value"])) self.set_property("mode", Gtk.CellRendererMode.EDITABLE) elif value["type"] == "text": self.text_renderer.set_property("text", value["value"]) self.set_property("mode", Gtk.CellRendererMode.EDITABLE) elif value["type"] == "combo": liststore = Gtk.ListStore(str) for choice in value["choices"]: liststore.append([choice]) self.combo_renderer.set_property("model", liststore) self.combo_renderer.set_property("text", value["value"]) self.set_property("mode", Gtk.CellRendererMode.EDITABLE) elif value["type"] == "button": self.button_renderer.set_property("text", "") setattr(self, pspec.name, value) def do_get_property(self, pspec): return getattr(self, pspec.name) def do_get_size(self, widget, cell_area=None): return self.renderer.get_size(widget, cell_area=cell_area) def do_render(self, ctx, widget, background_area, cell_area, flags): self.renderer.render(ctx, widget, background_area, cell_area, flags) def do_activate(self, event, widget, path, background_area, cell_area, flags): return self.renderer.activate(event, widget, path, background_area, cell_area, flags) def do_start_editing(self, event, widget, path, background_area, cell_area, flags): return self.renderer.start_editing(event, widget, path, background_area, cell_area, flags) GObject.type_register(KeyValueCellRenderer) pychess-1.0.0/lib/pychess/widgets/InfoBar.py0000644000175000017500000001026713417125703020033 0ustar varunvarunfrom gi.repository import GObject, Gtk def get_message_content(heading_text, message_text, image_stock_id): label = Gtk.Label() label.props.xalign = 0 label.props.justify = Gtk.Justification.LEFT label.props.wrap = True label.set_text("%s %s" % (heading_text, message_text)) return label class InfoBarMessageButton(GObject.GObject): def __init__(self, text, response_id, sensitive=True, tooltip_text=""): GObject.GObject.__init__(self) self.text = text self.response_id = response_id self.sensitive = sensitive self.tooltip_text = tooltip_text self._button = None def get_sensitive(self): return self._sensitive def set_sensitive(self, sensitive): self._sensitive = sensitive sensitive = GObject.property(get_sensitive, set_sensitive) def get_tooltip_text(self): return self._tooltip_text def set_tooltip_text(self, tooltip_text): self._tooltip_text = tooltip_text tooltip_text = GObject.property(get_tooltip_text, set_tooltip_text) class InfoBarMessage(Gtk.InfoBar): __gsignals__ = {"dismissed": (GObject.SignalFlags.RUN_FIRST, None, ()), } def __init__(self, message_type, content, callback): GObject.GObject.__init__(self) self.callback = callback self.content = content self.buttons = [] self.get_content_area().add(content) def add_button(self, button): """ All buttons must be added before doing InfoBarNotebook.push_message() """ if not isinstance(button, InfoBarMessageButton): raise TypeError("Not an InfoBarMessageButton: %s" % repr(button)) self.buttons.append(button) button._button = Gtk.InfoBar.add_button(self, button.text, button.response_id) def set_sensitive(button, property): if self.get_children(): self.set_response_sensitive(button.response_id, button.sensitive) button.connect("notify::sensitive", set_sensitive) def set_tooltip_text(button, property): button._button.set_property("tooltip-text", button.tooltip_text) button.connect("notify::tooltip-text", set_tooltip_text) def dismiss(self): self.hide() self.emit("dismissed") def update_content(self, content): for widget in self.get_content_area(): self.get_content_area().remove(widget) self.get_content_area().add(content) self.show_all() class InfoBarNotebook(Gtk.Notebook): """ This is a :class:`Gtk.Notebook` which manages InfoBarMessage objects pushed onto it via push_message() like a stack. If/when the current message at the top of the stack is responded to or dismissed by the user, the next message in the stack waiting for a response is displayed. Messages that aren't applicable anymore can be removed from anywhere in the InfoBar message stack by calling message.dismiss() """ def __init__(self, name=None): Gtk.Notebook.__init__(self) if name is not None: self.set_name(name) self.get_tab_label_text = self.customGetTabLabelText self.set_show_tabs(False) def customGetTabLabelText(self, child): return child.content.get_text() def push_message(self, message): def on_dismissed(mesage): page_num = self.page_num(message) if page_num != -1: self.remove_page(page_num) def onResponse(message, response_id): if callable(message.callback): message.callback(self, response_id, message) page_num = self.page_num(message) if page_num != -1: self.remove_page(page_num) current_page = self.get_current_page() if current_page > 0: self.remove_page(current_page) self.append_page(message, None) message.connect("response", onResponse) message.connect("dismissed", on_dismissed) self.show_all() def clear_messages(self): for child in self.get_children(): self.remove(child) self.show_all() pychess-1.0.0/lib/pychess/widgets/gamenanny.py0000755000175000017500000003211013415426456020471 0ustar varunvarun""" This module intends to work as glue between the gamemodel and the gamewidget taking care of stuff that is neither very offscreen nor very onscreen like bringing up dialogs and """ import math from collections import defaultdict from gi.repository import Gtk from pychess.compat import create_task from pychess.ic.FICSObjects import make_sensitive_if_available, make_sensitive_if_playing from pychess.ic.ICGameModel import ICGameModel from pychess.Utils.Offer import Offer from pychess.Utils.const import WAITING_TO_START, WHITE, BLACK, WHITEWON, \ BLACKWON, WON_ADJUDICATION, TAKEBACK_OFFER, LOCAL, UNDOABLE_STATES, WHITE_ENGINE_DIED, \ UNDOABLE_REASONS, BLACK_ENGINE_DIED, HINT, SPY, RUNNING, ABORT_OFFER, ADJOURN_OFFER, \ DRAW_OFFER, PAUSE_OFFER, RESUME_OFFER, HURRY_ACTION, FLAG_CALL from pychess.Utils.repr import reprResult_long, reprReason_long from pychess.Utils.LearnModel import LearnModel from pychess.System import conf from pychess.System.Log import log from pychess.widgets import preferencesDialog from pychess.widgets.InfoBar import InfoBarMessage, InfoBarMessageButton from pychess.widgets import InfoBar, mainwindow from pychess.widgets.gamewidget import getWidgets from pychess.perspectives import perspective_manager class GameNanny: def __init__(self): self.offer_cids = defaultdict(dict) self.gmwidg_cids = defaultdict(list) self.model_cids = defaultdict(list) def nurseGame(self, gmwidg, gamemodel): """ Call this function when gmwidget is just created """ log.debug("nurseGame: %s %s" % (gmwidg, gamemodel)) self.gmwidg_cids[gmwidg] = [ gmwidg.connect("closed", self.on_gmwidg_closed), gmwidg.connect("title_changed", self.on_gmwidg_title_changed), ] if gamemodel.status == WAITING_TO_START: self.model_cids[gamemodel].append(gamemodel.connect("game_started", self.on_game_started, gmwidg)) else: self.on_game_started(gamemodel, gmwidg) self.model_cids[gamemodel].append(gamemodel.connect("game_ended", self.game_ended, gmwidg)) self.model_cids[gamemodel].append(gamemodel.connect("game_terminated", self.on_game_terminated, gmwidg)) if isinstance(gamemodel, ICGameModel): gmwidg.cids[gamemodel.connection] = gamemodel.connection.connect("disconnected", self.on_disconnected, gmwidg) def on_game_terminated(self, gamemodel, gmwidg): for player in self.offer_cids[gamemodel]: player.disconnect(self.offer_cids[gamemodel][player]) for cid in self.model_cids[gamemodel]: gamemodel.disconnect(cid) for cid in self.gmwidg_cids[gmwidg]: gmwidg.disconnect(cid) del self.offer_cids[gamemodel] del self.gmwidg_cids[gmwidg] del self.model_cids[gamemodel] def on_disconnected(self, fics_connection, gamewidget): def disable_buttons(): for button in gamewidget.game_ended_message.buttons: button.set_property("sensitive", False) button.set_property("tooltip-text", "") if gamewidget.game_ended_message: disable_buttons # =============================================================================== # Gamewidget signals # =============================================================================== def on_gmwidg_closed(self, gmwidg): perspective = perspective_manager.get_perspective("games") if len(perspective.key2gmwidg) == 1: getWidgets()['main_window'].set_title('%s - PyChess' % _('Welcome')) return False def on_gmwidg_title_changed(self, gmwidg, new_title): # log.debug("gamenanny.on_gmwidg_title_changed: starting %s" % repr(gmwidg)) if gmwidg.isInFront(): getWidgets()['main_window'].set_title('%s - PyChess' % new_title) # log.debug("gamenanny.on_gmwidg_title_changed: returning") return False # =============================================================================== # Gamemodel signals # =============================================================================== def game_ended(self, gamemodel, reason, gmwidg): log.debug("gamenanny.game_ended: reason=%s gmwidg=%s\ngamemodel=%s" % (reason, gmwidg, gamemodel)) nameDic = {"white": gamemodel.players[WHITE], "black": gamemodel.players[BLACK], "mover": gamemodel.curplayer} if gamemodel.status == WHITEWON: nameDic["winner"] = gamemodel.players[WHITE] nameDic["loser"] = gamemodel.players[BLACK] elif gamemodel.status == BLACKWON: nameDic["winner"] = gamemodel.players[BLACK] nameDic["loser"] = gamemodel.players[WHITE] msg_one = reprResult_long[gamemodel.status] % nameDic msg_two = reprReason_long[reason] % nameDic if gamemodel.reason == WON_ADJUDICATION: color = BLACK if gamemodel.status == WHITEWON else WHITE invalid_move = gamemodel.players[color].invalid_move if invalid_move: msg_two += _(" invalid engine move: %s" % invalid_move) content = InfoBar.get_message_content(msg_one, msg_two, Gtk.STOCK_DIALOG_INFO) message = InfoBarMessage(Gtk.MessageType.INFO, content, None) callback = None if isinstance(gamemodel, ICGameModel): if gamemodel.hasLocalPlayer() and not gamemodel.examined: def status_changed(player, prop, message): make_sensitive_if_available(message.buttons[0], player) make_sensitive_if_playing(message.buttons[1], player) def callback(infobar, response, message, gamemodel=gamemodel): if response == 0: gamemodel.remote_player.offerRematch() elif response == 1: gamemodel.remote_player.observe() return False gmwidg.cids[gamemodel.remote_ficsplayer] = \ gamemodel.remote_ficsplayer.connect("notify::status", status_changed, message) message.add_button(InfoBarMessageButton(_("Offer Rematch"), 0)) message.add_button(InfoBarMessageButton( _("Observe %s" % gamemodel.remote_ficsplayer.name), 1)) status_changed(gamemodel.remote_ficsplayer, None, message) else: def status_changed(player, prop, button): make_sensitive_if_playing(button, player) def callback(infobar, response, message, gamemodel=gamemodel): if response in (0, 1): gamemodel.players[response].observe() return False for i, player in enumerate(gamemodel.ficsplayers): button = InfoBarMessageButton(_("Observe %s" % player.name), i) message.add_button(button) gmwidg.cids[player] = player.connect("notify::status", status_changed, button) status_changed(player, None, button) elif gamemodel.hasLocalPlayer() and not isinstance(gamemodel, LearnModel): def callback(infobar, response, message, gamemodel=gamemodel): if response == 1: # newGameDialog uses perspectives.games uses gamenanny uses newGameDialog... from pychess.widgets.newGameDialog import createRematch createRematch(gamemodel) elif response == 2: if gamemodel.ply > 1: offer = Offer(TAKEBACK_OFFER, 2) else: offer = Offer(TAKEBACK_OFFER, 1) if gamemodel.players[0].__type__ == LOCAL: gamemodel.players[0].emit("offer", offer) else: gamemodel.players[1].emit("offer", offer) return False if not gamemodel.isLoadedGame(): message.add_button(InfoBarMessageButton(_("Play Rematch"), 1)) if gamemodel.status in UNDOABLE_STATES and gamemodel.reason in UNDOABLE_REASONS: if gamemodel.ply == 1: message.add_button(InfoBarMessageButton(_("Undo one move"), 2)) elif gamemodel.ply > 1: message.add_button(InfoBarMessageButton( _("Undo two moves"), 2)) message.callback = callback gmwidg.game_ended_message = message perspective = perspective_manager.get_perspective("games") if len(perspective.key2gmwidg) > 0: gmwidg.replaceMessages(message) if reason == WHITE_ENGINE_DIED: self.engineDead(gamemodel.players[0], gmwidg) elif reason == BLACK_ENGINE_DIED: self.engineDead(gamemodel.players[1], gmwidg) if (isinstance(gamemodel, ICGameModel) and not gamemodel.isObservationGame()) or \ gamemodel.isEngine2EngineGame() or \ (isinstance(gamemodel, LearnModel) and not gamemodel.failed_playing_best): create_task(gamemodel.restart_analyzer(HINT)) create_task(gamemodel.restart_analyzer(SPY)) if not conf.get("hint_mode"): gamemodel.pause_analyzer(HINT) if not conf.get("spy_mode"): gamemodel.pause_analyzer(SPY) return False def on_game_started(self, gamemodel, gmwidg): # offline lectures can reuse same gamemodel/gamewidget # to show several examples inside the same lecture if gamemodel.offline_lecture: gmwidg.clearMessages() # Rotate to human player boardview = gmwidg.board.view if gamemodel.players[1].__type__ == LOCAL: if gamemodel.players[0].__type__ != LOCAL: boardview.rotation = math.pi if isinstance(gamemodel, LearnModel): if gamemodel.orientation == BLACK: boardview.rotation = math.pi else: boardview.rotation = 0 # Play set-up sound preferencesDialog.SoundTab.playAction("gameIsSetup") # Connect player offers to infobar for player in gamemodel.players: if player.__type__ == LOCAL: self.offer_cids[gamemodel][player] = player.connect( "offer", self.offer_callback, gamemodel, gmwidg) # Start analyzers if any if not gamemodel.isEngine2EngineGame(): create_task(gamemodel.start_analyzer(HINT)) create_task(gamemodel.start_analyzer(SPY)) if not conf.get("hint_mode"): gamemodel.pause_analyzer(HINT) if not conf.get("spy_mode"): gamemodel.pause_analyzer(SPY) return False # =============================================================================== # Player signals # =============================================================================== def offer_callback(self, player, offer, gamemodel, gmwidg): if gamemodel.status != RUNNING: # If the offer has already been handled by Gamemodel and the game was # drawn, we need to do nothing return message = "" if offer.type == ABORT_OFFER: message = _("You sent an abort offer") elif offer.type == ADJOURN_OFFER: message = _("You sent an adjournment offer") elif offer.type == DRAW_OFFER: message = _("You sent a draw offer") elif offer.type == PAUSE_OFFER: message = _("You sent a pause offer") elif offer.type == RESUME_OFFER: message = _("You sent a resume offer") elif offer.type == TAKEBACK_OFFER: message = _("You sent an undo offer") elif offer.type == HURRY_ACTION: message = _("You asked your opponent to move") elif offer.type == FLAG_CALL: message = _("You sent flag call") else: return def response_cb(infobar, response, message): message.dismiss() return False content = InfoBar.get_message_content("", message, Gtk.STOCK_DIALOG_INFO) message = InfoBarMessage(Gtk.MessageType.INFO, content, response_cb) gmwidg.replaceMessages(message) return False # =============================================================================== # Subfunctions # =============================================================================== def engineDead(self, engine, gmwidg): gmwidg.bringToFront() dialog = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.ERROR, buttons=Gtk.ButtonsType.OK) dialog.set_markup(_("Engine, %s, has died") % repr(engine)) dialog.format_secondary_text(_( "PyChess has lost connection to the engine, probably because it has died.\n\n \ You can try to start a new game with the engine, or try to play against another one.")) dialog.connect("response", lambda dialog, r: dialog.hide()) dialog.show_all() game_nanny = GameNanny() pychess-1.0.0/lib/pychess/widgets/WebKitBrowser.py0000644000175000017500000000573313415426445021253 0ustar varunvarunfrom gi.repository import Gtk, WebKit def open_link(label, url): """ Gtk.Label() can use this like label.connect("activate-link", open_link) """ WebKitBrowser(url) return True class WebKitBrowser: def __init__(self, url): from pychess.System.uistuff import keepWindowSize self.window = Gtk.Window() keepWindowSize("webkitbrowser", self.window, (800, 600)) self.vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.window.add(self.vbox) self.box = Gtk.Box() self.toolbar = Gtk.Toolbar() self.box.pack_start(self.toolbar, False, False, 0) self.go_back_button = Gtk.ToolButton(stock_id=Gtk.STOCK_GO_BACK) self.toolbar.insert(self.go_back_button, -1) self.go_forward_button = Gtk.ToolButton(stock_id=Gtk.STOCK_GO_FORWARD) self.toolbar.insert(self.go_forward_button, -1) self.go_refresh_button = Gtk.ToolButton(stock_id=Gtk.STOCK_REFRESH) self.toolbar.insert(self.go_refresh_button, -1) self.url = Gtk.Entry() self.box.pack_start(self.url, True, True, 0) self.search_entry = Gtk.SearchEntry() self.box.pack_start(self.search_entry, False, False, 0) self.vbox.pack_start(self.box, False, False, 0) self.view = WebKit.WebView() self.scrolled_window = Gtk.ScrolledWindow() self.scrolled_window.add(self.view) self.vbox.pack_start(self.scrolled_window, True, True, 0) self.window.show_all() self.view.connect("load-committed", self.check_buttons) self.view.connect("title-changed", self.change_title) self.url.connect("activate", self.go) self.search_entry.connect("activate", self.search) self.go_back_button.connect("clicked", self.go_back) self.go_forward_button.connect("clicked", self.go_forward) self.go_refresh_button.connect("clicked", self.refresh) self.view.open(url) self.view.show() def go(self, widget): link = self.url.get_text() if link.startswith("http://"): self.view.open(link) else: self.view.open("http://" + link) self.view.show() def search(self, widget): text = self.search_entry.get_text() text = text.replace(" ", "+") self.url.set_text("http://www.google.com/search?q=" + text) self.search_entry.set_text("") self.go(self) def check_buttons(self, widget, data): uri = widget.get_main_frame().get_uri() self.url.set_text(uri) self.go_back_button.set_sensitive(self.view.can_go_back()) self.go_forward_button.set_sensitive(self.view.can_go_forward()) def change_title(self, widget, data, arg): title = widget.get_main_frame().get_title() self.window.set_title(title) def go_back(self, widget): self.view.go_back() def go_forward(self, widget): self.view.go_forward() def refresh(self, widget): self.view.reload() pychess-1.0.0/lib/pychess/widgets/BorderBox.py0000755000175000017500000000475113353143212020377 0ustar varunvarunfrom gi.repository import Gtk, GObject class BorderBox(Gtk.Alignment): def __init__(self, widget=None, top=False, right=False, bottom=False, left=False): GObject.GObject.__init__(self) self.connect("draw", self._onExpose) if widget: self.add(widget) self.__top = top self.__right = right self.__bottom = bottom self.__left = left self._updateBorders() def _onExpose(self, area, ctx): context = self.get_window().cairo_create() style_ctxt = self.get_style_context() color = style_ctxt.lookup_color("p_dark_color")[1] red, green, blue, alpha = color.red, color.green, color.blue, color.alpha context.set_source_rgba(red, green, blue, alpha) allocation = self.get_allocation() x_loc = allocation.x + .5 y_loc = allocation.y + .5 width = allocation.width - 1 height = allocation.height - 1 if self.top: context.move_to(x_loc, y_loc) context.line_to(x_loc + width, y_loc) if self.right: context.move_to(x_loc + width, y_loc) context.line_to(x_loc + width, y_loc + height) if self.bottom: context.move_to(x_loc + width, y_loc + height) context.line_to(x_loc, y_loc + height) if self.left: context.move_to(x_loc, y_loc + height) context.line_to(x_loc, y_loc) context.set_line_width(1) context.stroke() def _updateBorders(self): self.set_padding(self.top and 1 or 0, self.bottom and 1 or 0, self.right and 1 or 0, self.left and 1 or 0) def isTop(self): return self.__top def isRight(self): return self.__right def isBottom(self): return self.__bottom def isLeft(self): return self.__left def setTop(self, value): self.__top = value self._updateBorders() def setRight(self, value): self.__right = value self._updateBorders() def setBottom(self, value): self.__bottom = value self._updateBorders() def setLeft(self, value): self.__left = value self._updateBorders() top = property(isTop, setTop, None, None) right = property(isRight, setRight, None, None) bottom = property(isBottom, setBottom, None, None) left = property(isLeft, setLeft, None, None) pychess-1.0.0/lib/pychess/widgets/PromotionDialog.py0000755000175000017500000000436213353143212021615 0ustar varunvarunfrom gi.repository import Gtk from pychess.Utils.Piece import Piece from pychess.Utils.const import WHITE, SUICIDECHESS, GIVEAWAYCHESS, SITTUYINCHESS, KING, QUEEN, ROOK, BISHOP, KNIGHT from .PieceWidget import PieceWidget class PromotionDialog: """ :Description: A popup dialog that allows you to select form a set of pieces the exchange for a pawn through the promotion rule """ def __init__(self, variant): from .gamewidget import getWidgets self.widgets = getWidgets() self.dialog = self.widgets["promotionDialog"] self.color = None if self.widgets["queenDock"].get_child() is None: self.widgets["queenDock"].add(PieceWidget(Piece(WHITE, QUEEN), variant)) self.widgets["queenDock"].get_child().show() self.widgets["rookDock"].add(PieceWidget(Piece(WHITE, ROOK), variant)) self.widgets["rookDock"].get_child().show() self.widgets["bishopDock"].add(PieceWidget(Piece(WHITE, BISHOP), variant)) self.widgets["bishopDock"].get_child().show() self.widgets["knightDock"].add(PieceWidget(Piece(WHITE, KNIGHT), variant)) self.widgets["knightDock"].get_child().show() self.widgets["kingDock"].add(PieceWidget(Piece(WHITE, KING), variant)) self.widgets["kingDock"].get_child().show() def setColor(self, color): self.widgets["knightDock"].get_child().getPiece().color = color self.widgets["bishopDock"].get_child().getPiece().color = color self.widgets["rookDock"].get_child().getPiece().color = color self.widgets["queenDock"].get_child().getPiece().color = color self.widgets["kingDock"].get_child().getPiece().color = color def runAndHide(self, color, variant): self.setColor(color) if variant != SUICIDECHESS and variant != GIVEAWAYCHESS: self.widgets["button5"].hide() if variant == SITTUYINCHESS: self.widgets["button4"].hide() self.widgets["button3"].hide() self.widgets["button2"].hide() res = self.dialog.run() self.dialog.hide() if res != Gtk.ResponseType.DELETE_EVENT: return [QUEEN, ROOK, BISHOP, KNIGHT, KING][int(res)] return None pychess-1.0.0/lib/pychess/widgets/newGameDialog.py0000644000175000017500000012351313461422625021217 0ustar varunvarun# -*- coding: UTF-8 -*- import os.path import gettext import locale from math import pi from operator import attrgetter from itertools import groupby from io import StringIO from gi.repository import Gdk, Gtk, GLib, GObject from gi.repository import GtkSource from pychess.Utils.IconLoader import load_icon, get_pixbuf from pychess.Utils.GameModel import GameModel from pychess.Utils.SetupModel import SetupModel, SetupPlayer from pychess.Utils.TimeModel import TimeModel from pychess.Utils.const import NORMALCHESS, VARIANTS_BLINDFOLD, FISCHERRANDOMCHESS, \ VARIANTS_ODDS, VARIANTS_SHUFFLE, VARIANTS_OTHER, VARIANTS_OTHER_NONSTANDARD, VARIANTS_ASEAN, \ WHITE, BLACK, UNSUPPORTED, ARTIFICIAL, LOCAL, reprCord, reprFile, W_OO, W_OOO, B_OO, B_OOO, \ FAN_PIECES, reprSign, FEN_START, WAITING_TO_START from pychess.compat import create_task from pychess.Utils.repr import localReprSign from pychess.Utils.lutils.ldata import FILE from pychess.Utils.lutils.LBoard import LBoard from pychess.System import uistuff from pychess.System.Log import log from pychess.System.protoopen import splitUri from pychess.System import conf from pychess.System.prefix import getDataPrefix, isInstalled, addDataPrefix from pychess.Players.engineNest import discoverer from pychess.Players.Human import Human from pychess.widgets import ImageMenu from pychess.widgets import mainwindow from pychess.widgets.BoardControl import BoardControl from pychess.Savers import fen, pgn from pychess.Savers.ChessFile import LoadingError from pychess.Variants import variants from pychess.Variants.normal import NormalBoard from pychess.perspectives import perspective_manager from pychess.perspectives.games import enddir # =============================================================================== # We init most dialog icons global to make them accessibly to the # Background.Taskers so they have a similar look. # =============================================================================== big_time = get_pixbuf("glade/stock_alarm.svg") big_people = load_icon(48, "stock_people", "system-users") iwheels = load_icon(24, "gtk-execute", "system-run") ipeople = load_icon(24, "stock_people", "system-users") inotebook = load_icon(24, "stock_notebook", "computer") weather_icons = ("clear", "clear-night", "few-clouds", "few-clouds-night", "fog", "overcast", "severe-alert", "showers-scattered", "showers", "storm") skillToIcon = {} # Used by TaskerManager. Put here to help synchronization skillToIconLarge = {} for i, icon in enumerate(weather_icons, start=1): skillToIcon[2 * i - 1] = get_pixbuf("glade/16x16/weather-%s.png" % icon) skillToIcon[2 * i] = get_pixbuf("glade/16x16/weather-%s.png" % icon) skillToIconLarge[2 * i - 1] = get_pixbuf("glade/48x48/weather-%s.png" % icon) skillToIconLarge[2 * i] = get_pixbuf("glade/48x48/weather-%s.png" % icon) playerItems = [] analyzerItems = [] allEngineItems = [] def createPlayerUIGlobals(discoverer): global playerItems global analyzerItems global allEngineItems playerItems = [] analyzerItems = [] allEngineItems = [] for variantClass in variants.values(): playerItems += [[(ipeople, _("Human Being"))]] for engine in discoverer.getEngines(): name = engine["name"] c = discoverer.getCountry(engine) path = addDataPrefix("flags/%s.png" % c) if c and os.path.isfile(path): flag_icon = get_pixbuf(path) else: path = addDataPrefix("flags/unknown.png") flag_icon = get_pixbuf(path) allEngineItems.append((flag_icon, name)) for variant in discoverer.getEngineVariants(engine): playerItems[variant] += [(flag_icon, name)] if discoverer.is_analyzer(engine): analyzerItems.append((flag_icon, name)) discoverer.connect("all_engines_discovered", createPlayerUIGlobals) COPY, CLEAR, PASTE, INITIAL = 2, 3, 4, 5 # =============================================================================== # GameInitializationMode is the super class of new game dialogs. Dialogs include # the standard new game dialog, the load file dialog, the enter notation dialog # and the setup position dialog. # =============================================================================== class _GameInitializationMode: @classmethod def _ensureReady(cls): if not hasattr(_GameInitializationMode, "superhasRunInit"): _GameInitializationMode._init() _GameInitializationMode.superhasRunInit = True if not hasattr(cls, "hasRunInit"): cls._init() cls.hasRunInit = True cls.widgets["newgamedialog"].resize(1, 1) @classmethod def _init(cls): cls.white = get_pixbuf("glade/white.png") cls.black = get_pixbuf("glade/black.png") cls.widgets = uistuff.GladeWidgets("newInOut.glade") cls.widgets["newgamedialog"].set_transient_for(mainwindow()) def on_exchange_players(widget, button_event): white = cls.widgets["whitePlayerCombobox"].get_active() black = cls.widgets["blackPlayerCombobox"].get_active() whiteLevel = cls.widgets["skillSlider1"].get_value() blackLevel = cls.widgets["skillSlider2"].get_value() cls.widgets["whitePlayerCombobox"].set_active(black) cls.widgets["blackPlayerCombobox"].set_active(white) cls.widgets["skillSlider1"].set_value(blackLevel) cls.widgets["skillSlider2"].set_value(whiteLevel) cls.widgets["whitePlayerButton"].set_image(Gtk.Image.new_from_pixbuf(cls.white)) cls.widgets["whitePlayerButton"].connect("button-press-event", on_exchange_players) cls.widgets["blackPlayerButton"].set_image(Gtk.Image.new_from_pixbuf(cls.black)) cls.widgets["blackPlayerButton"].connect("button-press-event", on_exchange_players) uistuff.createCombo(cls.widgets["whitePlayerCombobox"], name="whitePlayerCombobox") uistuff.createCombo(cls.widgets["blackPlayerCombobox"], name="blackPlayerCombobox") cls.widgets["playersIcon"].set_from_pixbuf(big_people) cls.widgets["timeIcon"].set_from_pixbuf(big_time) def on_playerCombobox_changed(widget, skill_hbox, skill_level): position = widget.get_active() skill_hbox.props.visible = position > 0 if position > 0: tree_iter = widget.get_active_iter() if tree_iter is not None: engine_name = widget.get_model()[tree_iter][1] engine = discoverer.getEngineByName(engine_name) if engine: pref_level = engine.get("level") if pref_level: skill_level.set_value(pref_level) cls.widgets["whitePlayerCombobox"].connect("changed", on_playerCombobox_changed, cls.widgets["skillHbox1"], cls.widgets["skillSlider1"]) cls.widgets["blackPlayerCombobox"].connect("changed", on_playerCombobox_changed, cls.widgets["skillHbox2"], cls.widgets["skillSlider2"]) cls.widgets["whitePlayerCombobox"].set_active(0) cls.widgets["blackPlayerCombobox"].set_active(1) def on_skill_changed(scale, image): image.set_from_pixbuf(skillToIcon[int(scale.get_value())]) cls.widgets["skillSlider1"].connect("value-changed", on_skill_changed, cls.widgets["skillIcon1"]) cls.widgets["skillSlider2"].connect("value-changed", on_skill_changed, cls.widgets["skillIcon2"]) cls.widgets["skillSlider1"].set_value(3) cls.widgets["skillSlider2"].set_value(3) cls.__initTimeRadio("ngblitz", cls.widgets["blitzRadio"], cls.widgets["configImageBlitz"], 5, 0, 0) cls.__initTimeRadio("ngrapid", cls.widgets["rapidRadio"], cls.widgets["configImageRapid"], 15, 5, 0) cls.__initTimeRadio("ngnormal", cls.widgets["normalRadio"], cls.widgets["configImageNormal"], 45, 15, 0) cls.__initTimeRadio("ngclassical", cls.widgets["classicalRadio"], cls.widgets["configImageClassical"], 3, 0, 40) cls.__initVariantRadio("ngvariant1", cls.widgets["playVariant1Radio"], cls.widgets["configImageVariant1"]) cls.__initVariantRadio("ngvariant2", cls.widgets["playVariant2Radio"], cls.widgets["configImageVariant2"]) def updateCombos(*args): if cls.widgets["playNormalRadio"].get_active(): variant = NORMALCHESS elif cls.widgets["playVariant1Radio"].get_active(): variant = conf.get("ngvariant1") else: variant = conf.get("ngvariant2") variant1 = conf.get("ngvariant1") cls.widgets["playVariant1Radio"].set_tooltip_text(variants[variant1].__desc__) variant2 = conf.get("ngvariant2") cls.widgets["playVariant2Radio"].set_tooltip_text(variants[variant2].__desc__) data = [(item[0], item[1]) for item in playerItems[variant]] uistuff.updateCombo(cls.widgets["blackPlayerCombobox"], data) uistuff.updateCombo(cls.widgets["whitePlayerCombobox"], data) discoverer.connect_after("all_engines_discovered", updateCombos) updateCombos(discoverer) conf.notify_add("ngvariant1", updateCombos) conf.notify_add("ngvariant2", updateCombos) cls.widgets["playNormalRadio"].connect("toggled", updateCombos) cls.widgets["playNormalRadio"].set_tooltip_text(variants[NORMALCHESS].__desc__) cls.widgets["playVariant1Radio"].connect("toggled", updateCombos) variant1 = conf.get("ngvariant1") cls.widgets["playVariant1Radio"].set_tooltip_text(variants[variant1].__desc__) cls.widgets["playVariant2Radio"].connect("toggled", updateCombos) variant2 = conf.get("ngvariant2") cls.widgets["playVariant2Radio"].set_tooltip_text(variants[variant2].__desc__) # The "variant" has to come before players, because the engine positions # in the user comboboxes can be different in different variants for key in ("whitePlayerCombobox", "blackPlayerCombobox", "skillSlider1", "skillSlider2", "notimeRadio", "blitzRadio", "rapidRadio", "normalRadio", "classicalRadio", "playNormalRadio", "playVariant1Radio", "playVariant2Radio"): uistuff.keep(cls.widgets[key], key) # We don't want the dialog to deallocate when closed. Rather we hide # it on respond cls.widgets["newgamedialog"].connect("delete_event", lambda *a: True) @classmethod def __initTimeRadio(cls, id, radiobutton, configImage, defmin, defgain, defmoves): minSpin = Gtk.SpinButton() minSpin.set_adjustment(Gtk.Adjustment(1, 0, 240, 1)) setattr(cls, "%s_min" % id, minSpin) uistuff.keep(minSpin, "%s min" % id) movesSpin = Gtk.SpinButton() movesSpin.set_adjustment(Gtk.Adjustment(0, 0, 60, 20)) setattr(cls, "%s_moves" % id, movesSpin) uistuff.keep(movesSpin, "%s moves" % id) gainSpin = Gtk.SpinButton() gainSpin.set_adjustment(Gtk.Adjustment(0, -60, 60, 1)) setattr(cls, "%s_gain" % id, gainSpin) uistuff.keep(gainSpin, "%s gain" % id) table = Gtk.Table(2, 2) table.props.row_spacing = 3 table.props.column_spacing = 12 label = Gtk.Label(label=_("Minutes:")) label.props.xalign = 0 table.attach(label, 0, 1, 0, 1) table.attach(minSpin, 1, 2, 0, 1) label = Gtk.Label(label=_("Moves:") if defmoves > 0 else _("Gain:")) label.props.xalign = 0 table.attach(label, 0, 1, 1, 2) if defmoves > 0: table.attach(movesSpin, 1, 2, 1, 2) else: table.attach(gainSpin, 1, 2, 1, 2) alignment = Gtk.Alignment.new(1, 1, 1, 1) alignment.set_padding(6, 6, 12, 12) alignment.add(table) ImageMenu.switchWithImage(configImage, alignment) def updateString(spin): # Elements of the clock minutes = minSpin.get_value_as_int() gain = gainSpin.get_value_as_int() moves = movesSpin.get_value_as_int() # Duration of the game def calculate_duration(ref_moves): if moves > 0: return int(2 * minutes * ref_moves / moves) else: return max(0, int(2 * minutes + ref_moves * gain / 30)) duration_20 = calculate_duration(20) duration_40 = calculate_duration(40) duration_60 = calculate_duration(60) # Determination of the caption def get_game_name(): """ https://www.fide.com/fide/handbook.html?id=171&view=article """ if defmoves > 0: return _("Classical") if duration_60 <= 20: # 10 minutes per player return _("Blitz") if duration_60 < 120: # 60 minutes per player return _("Rapid") return _("Normal") if moves > 0: radiobutton.set_label(_("%(name)s %(minutes)d min / %(moves)d moves %(duration)s") % { 'name': get_game_name(), 'minutes': minutes, 'moves': moves, 'duration': ("(%d')" % duration_40) if duration_40 > 0 else "" }) elif gain != 0: radiobutton.set_label( _("%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s") % { 'name': get_game_name(), 'minutes': minutes, 'sign': "+" if gain > 0 else "–", 'gain': abs(gain), 'duration': ("(%d')" % duration_40) if duration_40 > 0 else "" }) else: radiobutton.set_label(_("%(name)s %(minutes)d min %(duration)s") % { 'name': get_game_name(), 'minutes': minutes, 'duration': ("(%d')" % duration_40) if duration_40 > 0 else "" }) # Determination of the tooltip if duration_20 > 0 and duration_60 > 0 and duration_20 != duration_60: radiobutton.set_tooltip_text(_("Estimated duration : %(min)d - %(max)d minutes") % ({ "min": min(duration_20, duration_60), "max": max(duration_20, duration_60)} )) else: radiobutton.set_tooltip_text("") minSpin.connect("value-changed", updateString) movesSpin.connect("value-changed", updateString) gainSpin.connect("value-changed", updateString) updateString(None) @classmethod def __initVariantRadio(cls, confid, radiobutton, configImage): model = Gtk.TreeStore(str) treeview = Gtk.TreeView(model) treeview.set_headers_visible(False) treeview.append_column(Gtk.TreeViewColumn(None, Gtk.CellRendererText(), text=0)) alignment = Gtk.Alignment.new(1, 1, 1, 1) alignment.set_padding(6, 6, 12, 12) alignment.add(treeview) ImageMenu.switchWithImage(configImage, alignment) groupNames = {VARIANTS_BLINDFOLD: _("Blindfold"), VARIANTS_ODDS: _("Odds"), VARIANTS_SHUFFLE: _("Shuffle"), VARIANTS_OTHER: _("Other (standard rules)"), VARIANTS_OTHER_NONSTANDARD: _("Other (non standard rules)"), VARIANTS_ASEAN: _("Asian variants"), } specialVariants = [v for v in variants.values() if v != NormalBoard and v.variant not in UNSUPPORTED ] specialVariants = sorted(specialVariants, key=attrgetter("variant_group")) groups = groupby(specialVariants, attrgetter("variant_group")) pathToVariant = {} variantToPath = {} for i, (id, group) in enumerate(groups): iter = model.append(None, (groupNames[id], )) for variant in group: subiter = model.append(iter, (variant.name, )) path = model.get_path(subiter) pathToVariant[path.to_string()] = variant.variant variantToPath[variant.variant] = path.to_string() treeview.expand_row(Gtk.TreePath(i), True) selection = treeview.get_selection() selection.set_mode(Gtk.SelectionMode.BROWSE) def selfunc(selection, store, path, path_selected, data): return path.get_depth() > 1 selection.set_select_function(selfunc, None) variant = conf.get(confid) if variant in variantToPath: selection.select_path(variantToPath[variant]) def callback(selection): model, iter = selection.get_selected() if iter: radiobutton.set_label("%s" % model.get(iter, 0) + _(" chess")) path = model.get_path(iter) variant = pathToVariant[path.to_string()] conf.set(confid, variant) selection.connect("changed", callback) callback(selection) @classmethod def _generalRun(cls, callback, validate): def onResponse(dialog, response): if response == COPY: clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) clipboard.set_text(cls.get_fen(), -1) # print("put clipboard:", clipboard.wait_for_text()) return elif response == CLEAR: cls.board_control.emit("action", "SETUP", None, True) cls.ini_widgets(True) # print("clear") return elif response == PASTE: clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) text = clipboard.wait_for_text() # print("got clipboard:", text) if text is None or len(text.split()) < 2: return try: lboard = cls.setupmodel.variant(setup=text).board cls.ini_widgets(lboard.asFen()) cls.board_control.emit("action", "SETUP", None, text) except SyntaxError as e: d = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.WARNING, buttons=Gtk.ButtonsType.OK, message_format=e.args[0]) if len(e.args) > 1: d.format_secondary_text(e.args[1]) d.connect("response", lambda d, a: d.hide()) d.show() return elif response == INITIAL: lboard = cls.setupmodel.variant(setup=FEN_START).board cls.ini_widgets(lboard.asFen()) cls.board_control.emit("action", "SETUP", None, FEN_START) return elif response != Gtk.ResponseType.OK: cls.widgets["newgamedialog"].hide() cls.widgets["newgamedialog"].disconnect(handlerId) return if hasattr(cls, "board_control"): cls.board_control.emit("action", "CLOSE", None, None) # Find variant if cls.widgets["playNormalRadio"].get_active(): variant_index = NORMALCHESS elif cls.widgets["playVariant1Radio"].get_active(): variant_index = conf.get("ngvariant1") else: variant_index = conf.get("ngvariant2") variant = variants[variant_index] # Find time if cls.widgets["notimeRadio"].get_active(): secs = 0 incr = 0 moves = 0 elif cls.widgets["blitzRadio"].get_active(): secs = cls.ngblitz_min.get_value_as_int() * 60 incr = cls.ngblitz_gain.get_value_as_int() moves = 0 elif cls.widgets["rapidRadio"].get_active(): secs = cls.ngrapid_min.get_value_as_int() * 60 incr = cls.ngrapid_gain.get_value_as_int() moves = 0 elif cls.widgets["normalRadio"].get_active(): secs = cls.ngnormal_min.get_value_as_int() * 60 incr = cls.ngnormal_gain.get_value_as_int() moves = 0 elif cls.widgets["classicalRadio"].get_active(): secs = cls.ngclassical_min.get_value_as_int() * 60 incr = 0 moves = cls.ngclassical_moves.get_value_as_int() # Find players player0combo = cls.widgets["whitePlayerCombobox"] player0 = player0combo.get_active() tree_iter = player0combo.get_active_iter() if tree_iter is not None: model = player0combo.get_model() name0 = model[tree_iter][1] diffi0 = int(cls.widgets["skillSlider1"].get_value()) player1combo = cls.widgets["blackPlayerCombobox"] player1 = player1combo.get_active() tree_iter = player1combo.get_active_iter() if tree_iter is not None: model = player1combo.get_model() name1 = model[tree_iter][1] diffi1 = int(cls.widgets["skillSlider2"].get_value()) # Prepare players playertups = [] for i, playerno, name, diffi, color in ((0, player0, name0, diffi0, WHITE), (1, player1, name1, diffi1, BLACK)): if playerno > 0: engine = discoverer.getEngineByName(name) playertups.append((ARTIFICIAL, discoverer.initPlayerEngine, [engine, color, diffi, variant, secs, incr, moves], name)) else: if not playertups or playertups[0][0] != LOCAL: name = conf.get("firstName") else: name = conf.get("secondName") playertups.append((LOCAL, Human, (color, name), name)) # Set forcePonderOff initPlayerEngine param True in engine-engine games if playertups[0][0] == ARTIFICIAL and playertups[1][ 0] == ARTIFICIAL: playertups[0][2].append(True) playertups[1][2].append(True) timemodel = TimeModel(secs, incr, moves=moves) gamemodel = GameModel(timemodel, variant) if not validate(gamemodel): return else: cls.widgets["newgamedialog"].hide() cls.widgets["newgamedialog"].disconnect(handlerId) callback(gamemodel, playertups[0], playertups[1]) handlerId = cls.widgets["newgamedialog"].connect("response", onResponse) cls.widgets["newgamedialog"].show() @classmethod def _hideOthers(cls): for extension in ("loadsidepanel", "enterGameNotationSidePanel", "setupPositionSidePanel"): cls.widgets[extension].hide() for button in ("copy_button", "clear_button", "paste_button", "initial_button"): cls.widgets[button].hide() # ############################################################################### # NewGameMode # # ############################################################################### class NewGameMode(_GameInitializationMode): @classmethod def _init(cls): # We have to override this, so the GameInitializationMode init method # isn't called twice pass @classmethod def run(cls): cls._ensureReady() if cls.widgets["newgamedialog"].props.visible: cls.widgets["newgamedialog"].present() return def _validate(gamemodel): return True cls._hideOthers() cls.widgets["newgamedialog"].set_title(_("New Game")) def _callback(gamemodel, p0, p1): perspective = perspective_manager.get_perspective("games") create_task(perspective.generalStart(gamemodel, p0, p1)) cls._generalRun(_callback, _validate) # ############################################################################### # SetupPositionExtension # # ############################################################################### class SetupPositionExtension(_GameInitializationMode): board_control = None @classmethod def _init(cls): def callback(widget, allocation): cls.widgets["setupPositionFrame"].set_size_request( 523, allocation.height - 4) cls.widgets["setupPositionSidePanel"].connect_after("size-allocate", callback) cls.castl = set() cls.white = Gtk.Image.new_from_pixbuf(cls.white) cls.black = Gtk.Image.new_from_pixbuf(cls.black) cls.widgets["side_button"].set_image(cls.white) cls.widgets["side_button"].connect("toggled", cls.side_button_toggled) cls.widgets["rotate_button"].connect("button-press-event", cls.rotate_button_pressed) cls.widgets["moveno_spin"].connect("value-changed", cls.moveno_spin_changed) cls.widgets["fifty_spin"].connect("value-changed", cls.fifty_spin_changed) cls.widgets["woo"].connect("toggled", cls.castl_toggled, W_OO) cls.widgets["wooo"].connect("toggled", cls.castl_toggled, W_OOO) cls.widgets["boo"].connect("toggled", cls.castl_toggled, B_OO) cls.widgets["booo"].connect("toggled", cls.castl_toggled, B_OOO) ep_store = Gtk.ListStore(str) ep_store.append(["-"]) for f in reprFile: ep_store.append([f]) epcombo = cls.widgets["ep_combo"] epcombo.set_name("ep_combo") epcombo.set_model(ep_store) renderer_text = Gtk.CellRendererText() cls.widgets["ep_combo"].pack_start(renderer_text, True) cls.widgets["ep_combo"].add_attribute(renderer_text, "text", 0) cls.widgets["ep_combo"].set_active(0) cls.widgets["ep_combo"].connect("changed", cls.ep_combo_changed) cls.widgets["playNormalRadio"].connect("toggled", cls.fen_changed) cls.widgets["playVariant1Radio"].connect("toggled", cls.fen_changed) cls.widgets["playVariant2Radio"].connect("toggled", cls.fen_changed) @classmethod def side_button_toggled(cls, button): if button.get_active(): button.set_image(cls.black) else: button.set_image(cls.white) cls.fen_changed() @classmethod def rotate_button_pressed(self, widget, button_event): view = self.board_control.view if view.rotation: view.rotation = 0 else: view.rotation = pi @classmethod def fen_changed(cls, *args): cls.widgets["fen_entry"].set_text(cls.get_fen()) @classmethod def game_changed(cls, model, ply): GLib.idle_add(cls.fen_changed) @classmethod def ep_combo_changed(cls, combo): cls.fen_changed() @classmethod def moveno_spin_changed(cls, spin): cls.fen_changed() @classmethod def fifty_spin_changed(cls, spin): cls.fen_changed() @classmethod def castl_toggled(cls, button, castl): lboard = cls.setupmodel.boards[-1].board # TODO: this doesn't work at all if lboard.variant == FISCHERRANDOMCHESS: if castl == W_OO: cast_letter = reprCord[lboard.ini_rooks[0][1]][0].upper() elif castl == W_OOO: cast_letter = reprCord[lboard.ini_rooks[0][0]][0].upper() elif castl == B_OO: cast_letter = reprCord[lboard.ini_rooks[1][1]][0] elif castl == B_OOO: cast_letter = reprCord[lboard.ini_rooks[1][0]][0] else: if castl == W_OO: cast_letter = "K" elif castl == W_OOO: cast_letter = "Q" elif castl == B_OO: cast_letter = "k" elif castl == B_OOO: cast_letter = "q" if button.get_active(): cls.castl.add(cast_letter) else: cls.castl.discard(cast_letter) cls.fen_changed() @classmethod def get_fen(cls): # Find variant if cls.widgets["playNormalRadio"].get_active(): variant_index = NORMALCHESS elif cls.widgets["playVariant1Radio"].get_active(): variant_index = conf.get("ngvariant1") else: variant_index = conf.get("ngvariant2") variant = variants[variant_index] pieces = cls.setupmodel.boards[-1].as_fen(variant.variant) side = "b" if cls.widgets["side_button"].get_active() else "w" castl = "".join(sorted(cls.castl)) if cls.castl else "-" ep = "-" rank = "3" if side == "b" else "6" tree_iter = cls.widgets["ep_combo"].get_active_iter() if tree_iter is not None: model = cls.widgets["ep_combo"].get_model() ep = model[tree_iter][0] ep = ep if ep == "-" else ep + rank fifty = cls.widgets["fifty_spin"].get_value_as_int() moveno = cls.widgets["moveno_spin"].get_value_as_int() parts = (pieces, side, castl, ep, fifty, moveno) return "%s %s %s %s %s %s" % parts @classmethod def ini_widgets(cls, setup, lboard=None): if lboard is None: lboard = cls.setupmodel.variant(setup=setup).board cls.widgets["side_button"].set_active(False if lboard.color == WHITE else True) cls.widgets["fifty_spin"].set_value(lboard.fifty) cls.widgets["moveno_spin"].set_value(lboard.plyCount // 2 + 1) ep = lboard.enpassant cls.widgets["ep_combo"].set_active(0 if ep is None else FILE(ep) + 1) cls.widgets["woo"].set_active(lboard.castling & W_OO) cls.widgets["wooo"].set_active(lboard.castling & W_OOO) cls.widgets["boo"].set_active(lboard.castling & B_OO) cls.widgets["booo"].set_active(lboard.castling & B_OOO) @classmethod def run(cls, fenstr, variant): cls._ensureReady() if cls.widgets["newgamedialog"].props.visible: cls.widgets["newgamedialog"].present() return cls._hideOthers() for button in ("copy_button", "clear_button", "paste_button", "initial_button"): cls.widgets[button].show() cls.widgets["newgamedialog"].set_title(_("Setup Position")) cls.widgets["setupPositionSidePanel"].show() cls.setupmodel = SetupModel() cls.board_control = BoardControl(cls.setupmodel, {}, setup_position=True) cls.setupmodel.curplayer = SetupPlayer(cls.board_control) cls.setupmodel.connect("game_changed", cls.game_changed) child = cls.widgets["setupBoardDock"].get_child() if child is not None: cls.widgets["setupBoardDock"].remove(child) cls.widgets["setupBoardDock"].add(cls.board_control) cls.board_control.show_all() if fenstr is not None: lboard = LBoard(variant) lboard.applyFen(fenstr) cls.setupmodel.boards = [cls.setupmodel.variant(setup=fenstr, lboard=lboard)] cls.setupmodel.variations = [cls.setupmodel.boards] cls.ini_widgets(fenstr, lboard) else: fenstr = cls.get_fen() cls.ini_widgets(True) cls.widgets["fen_entry"].set_text(fenstr) cls.setupmodel.start() cls.board_control.emit("action", "SETUP", None, fenstr) def _validate(gamemodel): try: fenstr = cls.get_fen() cls.setupmodel.variant(setup=fenstr) return True except (AssertionError, LoadingError, SyntaxError) as e: d = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.WARNING, buttons=Gtk.ButtonsType.OK, message_format=e.args[0]) if len(e.args) > 1: d.format_secondary_text(e.args[1]) d.connect("response", lambda d, a: d.hide()) d.show() return False def _callback(gamemodel, p0, p1): text = cls.get_fen() perspective = perspective_manager.get_perspective("games") create_task(perspective.generalStart( gamemodel, p0, p1, (StringIO(text), fen, 0, -1))) cls._generalRun(_callback, _validate) # ############################################################################### # EnterNotationExtension # # ############################################################################### class EnterNotationExtension(_GameInitializationMode): @classmethod def _init(cls): def callback(widget, allocation): cls.widgets["enterGameNotationFrame"].set_size_request( 223, allocation.height - 4) cls.widgets["enterGameNotationSidePanel"].connect_after( "size-allocate", callback) flags = [] if isInstalled(): path = gettext.find("pychess") else: path = gettext.find("pychess", localedir=addDataPrefix("lang")) if path: default_locale = locale.getdefaultlocale() if default_locale[0] is not None: loc = locale.getdefaultlocale()[0][-2:].lower() flags.append(addDataPrefix("flags/%s.png" % loc)) flags.append(addDataPrefix("flags/us.png")) cls.ib = ImageButton(flags) cls.widgets["imageButtonDock"].add(cls.ib) cls.ib.show() cls.sourcebuffer = GtkSource.Buffer() sourceview = GtkSource.View.new_with_buffer(cls.sourcebuffer) sourceview.set_tooltip_text(_( "Type or paste PGN game or FEN positions here")) cls.widgets["scrolledwindow6"].add(sourceview) sourceview.show() # Pgn format does not allow tabulator sourceview.set_insert_spaces_instead_of_tabs(True) sourceview.set_wrap_mode(Gtk.WrapMode.WORD) man = GtkSource.LanguageManager() # Init new version if hasattr(man.props, 'search_path'): try: path = os.path.join(getDataPrefix(), "gtksourceview-3.0/language-specs") man.props.search_path = man.props.search_path + [path] if 'pgn' in man.get_language_ids(): lang = man.get_language('pgn') cls.sourcebuffer.set_language(lang) else: log.warning("Unable to load pgn syntax-highlighting.") cls.sourcebuffer.set_highlight_syntax(True) except NotImplementedError: # Python 2.7.3 in Ubuntu 12.04 log.warning("Unable to load pgn syntax-highlighting.") # Init old version else: os.environ["XDG_DATA_DIRS"] = getDataPrefix() + ":/usr/share/" man = GtkSource.LanguageManager() for lang in man.get_available_languages(): if lang.get_name() == "PGN": cls.sourcebuffer.set_language(lang) break else: log.warning("Unable to load pgn syntax-highlighting.") cls.sourcebuffer.set_highlight(True) @classmethod def run(cls): cls._ensureReady() if cls.widgets["newgamedialog"].props.visible: cls.widgets["newgamedialog"].present() return cls._hideOthers() cls.widgets["newgamedialog"].set_title(_("Enter Game")) cls.widgets["enterGameNotationSidePanel"].show() def _get_text(): text = cls.sourcebuffer.get_text(cls.sourcebuffer.get_start_iter(), cls.sourcebuffer.get_end_iter(), False) # Test if the ImageButton has two layers and is set on the local language if len(cls.ib.surfaces) == 2 and cls.ib.current == 0: # 2 step used to avoid backtranslating # (local and english piece letters can overlap) for i, sign in enumerate(localReprSign[1:]): if sign.strip(): text = text.replace(sign, FAN_PIECES[0][i + 1]) for i, sign in enumerate(FAN_PIECES[0][1:7]): text = text.replace(sign, reprSign[i + 1]) text = str(text) # First we try if it's just a FEN string parts_no = len(text.split()) if text.strip() == "": text = FEN_START loadType = fen elif parts_no > 0 and text.split()[0].count("/") == 7: loadType = fen else: # patch default human player names on demand... player0combo = cls.widgets["whitePlayerCombobox"] player0 = player0combo.get_active() if player0 == 0 and '[White "' not in text: name = '[White "%s"]' % conf.get("firstName") text = "%s\n%s" % (name, text) player1combo = cls.widgets["blackPlayerCombobox"] player1 = player1combo.get_active() if player1 == 0 and '[Black "' not in text: name = '[Black "%s"]' % conf.get("secondName") text = "%s\n%s" % (name, text) loadType = pgn return text, loadType def _validate(gamemodel): try: text, loadType = _get_text() chessfile = loadType.load(StringIO(text)) chessfile.loadToModel(chessfile.games[0], -1, model=gamemodel) gamemodel.status = WAITING_TO_START return True except LoadingError as e: d = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.WARNING, buttons=Gtk.ButtonsType.OK, message_format=e.args[0]) d.format_secondary_text(e.args[1]) d.connect("response", lambda d, a: d.hide()) d.show() return False def _callback(gamemodel, p0, p1): text, loadType = _get_text() perspective = perspective_manager.get_perspective("games") create_task(perspective.generalStart( gamemodel, p0, p1, (StringIO(text), loadType, 0, -1))) cls._generalRun(_callback, _validate) class ImageButton(Gtk.Button): def __init__(self, image_paths): GObject.GObject.__init__(self) self.surfaces = [Gtk.Image().new_from_file(path) for path in image_paths] self.current = 0 self.image = self.surfaces[self.current] self.image.show() self.add(self.image) self.connect("clicked", self.on_clicked) def on_clicked(self, button): self.current = (self.current + 1) % len(self.surfaces) self.remove(self.image) self.image = self.surfaces[self.current] self.image.show() self.add(self.image) def createRematch(gamemodel): """ If gamemodel contains only LOCAL or ARTIFICIAL players, this starts a new game, based on the info in gamemodel """ if gamemodel.timed: secs = gamemodel.timemodel.intervals[0][WHITE] gain = gamemodel.timemodel.gain moves = gamemodel.timemodel.moves else: secs = 0 gain = 0 moves = 0 newgamemodel = GameModel(TimeModel(secs, gain), variant=gamemodel.variant) wp = gamemodel.players[WHITE] bp = gamemodel.players[BLACK] if wp.__type__ == LOCAL: player1tup = (wp.__type__, wp.__class__, (BLACK, repr(wp)), repr(wp)) if bp.__type__ == LOCAL: player0tup = (bp.__type__, bp.__class__, (WHITE, repr(wp)), repr(bp)) else: engine = discoverer.getEngineByMd5(bp.md5) player0tup = (ARTIFICIAL, discoverer.initPlayerEngine, (engine, WHITE, bp.strength, gamemodel.variant, secs, gain, moves), repr(bp)) else: player0tup = (bp.__type__, bp.__class__, (WHITE, repr(bp)), repr(bp)) engine = discoverer.getEngineByMd5(wp.md5) player1tup = (ARTIFICIAL, discoverer.initPlayerEngine, (engine, BLACK, wp.strength, gamemodel.variant, secs, gain), repr(wp)) perspective = perspective_manager.get_perspective("games") create_task(perspective.generalStart(newgamemodel, player0tup, player1tup)) def loadFileAndRun(uri): if uri in [None, '']: return False parts = splitUri(uri) uri = parts[1] if len(parts) == 2 else parts[0] loader = enddir[uri[uri.rfind(".") + 1:]] timemodel = TimeModel(0, 0) gamemodel = GameModel(timemodel) white_name = _("White") black_name = _("Black") p0 = (LOCAL, Human, (WHITE, white_name), white_name) p1 = (LOCAL, Human, (BLACK, black_name), black_name) perspective = perspective_manager.get_perspective("games") create_task(perspective.generalStart(gamemodel, p0, p1, (uri, loader, 0, -1))) return True def loadPgnAndRun(data): if data in [None, '']: return False perspective = perspective_manager.get_perspective("games") p0 = (LOCAL, Human, (WHITE, _("White")), _("White")) p1 = (LOCAL, Human, (BLACK, _("Black")), _("Black")) create_task(perspective.generalStart(GameModel(), p0, p1, (StringIO(data), enddir['pgn'], 0, -1))) return True pychess-1.0.0/lib/pychess/widgets/tipOfTheDay.py0000755000175000017500000003254213365546153020706 0ustar varunvarunfrom random import randrange from pychess.System import conf from pychess.System import uistuff from pychess.widgets import mainwindow class TipOfTheDay: def __init__(self): self.widgets = uistuff.GladeWidgets("tipoftheday.glade") self.widgets["window1"].set_transient_for(mainwindow()) uistuff.keepWindowSize("tipoftheday", self.widgets["window1"], (320, 240), uistuff.POSITION_CENTER) self.widgets["checkbutton1"].set_active(conf.get("show_tip_at_startup")) self.widgets["checkbutton1"].connect("toggled", lambda w: conf.set("show_tip_at_startup", w.get_active())) self.widgets["close_button"].connect("clicked", lambda w: self.widgets["window1"].emit("delete-event", None)) self.widgets["window1"].connect("delete_event", lambda w, a: self.widgets["window1"].destroy()) self.widgets["back_button"].connect("clicked", lambda w: self.set_currentIndex(self.tips_curindex - 1)) self.widgets["forward_button"].connect("clicked", lambda w: self.set_currentIndex(self.tips_curindex + 1)) self.tips_fixed = 2 self.tips = [ # PyChess facts -- The first tips_fixed messages are always displayed first _("PyChess is an open-source chess application that can be enhanced by any chess enthusiasts: bug reports, source code, documentation, translations, feature requests, user assistance... Let's get in touch at http://www.pychess.org"), _("PyChess supports a wide range of chess engines, variants, Internet servers and lessons. It is a perfect desktop application to increase your chess skills very conveniently."), _("The releases of PyChess hold the name of historical world chess champions. Do you know the name of the current world chess champion?"), _("Do you know that you can help to translate PyChess into your language, Help > Translate PyChess."), _("A game is made of an opening, a middle-game and an end-game. PyChess is able to train you thanks to its opening book, its supported chess engines and its training module."), # Chess facts _("Do you know that it is possible to finish a chess game in just 2 turns?"), _("Do you know that a knight is better placed in the center of the board?"), _("Do you know that moving the queen at the very beginning of a game does not offer any particular advantage?"), _("Do you know that having two-colored bishops working together is very powerful?"), _("Do you know that the rooks are generally engaged late in game?"), _("Do you know that the king can move across two cells under certain conditions? This is called ""castling""."), _("Do you know that the number of possible chess games exceeds the number of atoms in the Universe?"), # General UI _("You can start a new game by Game > New Game, then choose the Players, Time Control and Chess Variants."), _("You can choose from 20 different difficulties to play against the computer. It will mainly affect the available time to think."), _("The level 20 gives a full autonomy to the chess engine in managing its own time during the game."), _("To save a game Game > Save Game As, give the filename and choose where you want to be saved. At the bottom choose extension type of the file, and Save."), _("Calling the flag is the termination of the current game when the time of your opponent is over. If the clock is with you, click on the menu item Actions > Call Flag to claim the victory."), _("Press Ctrl+Z to ask your opponent to rollback the last played move. Against a computer or for an unrated game, undoing is generally automatically accepted."), _("To play on Fullscreen mode, just press the key F11. Press it again to exit this mode."), _("Many sounds are emitted by PyChess while you are playing if you activate them in the preferences: Settings > Preferences > Sound tab > Use sounds in PyChess."), _("Do you know that a game is generally finished after 20 to 40 moves per player? The estimated duration of a game is displayed when you configure a new game."), _("The standard file format to manage chess games is PGN. It stands for ""Portable Game Notation"". Do not get confused with PNG which is a usual file format to store drawings and pictures."), _("You can share a position by using the exchange format FEN, which stands for ""Forsyth-Edwards Notation"". This format is also adapted for the chess variants."), # Analysis _("You must define a chess engine in the preferences in order to use the local chess analysis. By default, PyChess recommends you to use the free engine named Stockfish which is renown to be the strongest engine in the world."), _("Hint mode analyzes your game to show you the best current move. Enable it with the shortcut Ctrl+H from the menu View."), _("Spy mode analyzes the threats, so the best move that your opponent would play as if it was his turn. Enable it with the shortcut Ctrl+Y from the menu View."), _("Ponder is an option available in some chess engines that allows thinking when it is not the turn of the engine. It will then consume more resources on your computer."), _("MultiPV is an option of some chess engines that shows other possible good moves. They are displayed in the panel Hints. The value can be adapted from that panel with a double-click on the displayed figure."), _("You cannot use the local chess analysis mode while you are playing an unterminated game over Internet. Else you would be a cheater."), _("An evaluation of +2.3 is an advantage for White of more than 2 pawns, even if White and Black have the same number of pawns. The position of all the pieces and their mobility are some of the factors that contribute to the score."), _("PyChess includes a chess engine that offers an evaluation for any chess position. Winning against PyChess engine is a coherent way to succeed in chess and improve your skills."), _("The rating is your strength: 1500 is a good average player, 2000 is a national champion and 2800 is the best human chess champion. From the properties of the game in the menu Game, the difference of points gives you your chance to win and the projected evolution of your rating. If your rating is provisional, append a question mark '?' to your level, like ""1399?""."), _("Several rating systems exist to evaluate your skills in chess. The most common one is ELO (from its creator Arpad Elo) established on 1970. Schematically, the concept is to engage +/- 20 points for a game and that you will win or lose proportionally to the difference of ELO points you have with your opponent."), _("Each chess engine has its own evaluation function. It is normal to get different scores for a same position."), # Opening book and EGDB _("The opening book gives you the moves that are considered to be good from a theoretical perspective. You are free to play any other legal move."), _("The Gaviota tables are precalculated positions that tell the final outcome of the current game in terms of win, loss or draw."), _("Do you know that your computer is too small to store a 7-piece endgame database? That's why the Gaviota tablebase is limited to 5 pieces."), _("A tablebase can be connected either to PyChess, or to a compatible chess engine."), _("The DTZ is the ""distance to zero"", so the remaining possible moves to end into a tie as soon as possible."), # Variant chess _("The chess variants consist in changing the start position, the rules of the game, the types of the pieces... The gameplay is totally modified, so you must use dedicated chess engines to play against the computer."), _("In Chess960, the lines of the main pieces are shuffled in a precise order. Therefore, you cannot use the booking book and you should change your tactical habits."), _("When playing crazyhouse chess, the captured pieces change of ownership and can reappear on the board at a later turn."), _("Suicide chess, giveaway chess or antichess are all the same variant: you must give your pieces to your opponent by forcing the captures like at draughts. The outcome of the game can change completely if you make an incorrect move."), _("Playing horde in PyChess consists in destroying a flow of 36 white pawns with a normal set of black pieces."), _("You might be interested in playing ""King of the hill"" if you target to place your king in the middle of the board, instead of protecting it in a corner of the board as usual."), _("A lot of fun is offered by atomic chess that destroys all the surrounding main pieces at each capture move."), _("The experienced chess players can use blind pieces by starting a new variant game."), # Internet chess _("You should sign up online to play on an Internet chess server, so that you can find your games later and see the evolution of your rating. In the preferences, PyChess still have the possibility to save your played games locally."), _("The time compensation is a feature that doesn't waste your clock time because of the latency of your Internet connection. The module can be downloaded from the menu Edit > Externals."), _("You can play against chess engines on an Internet chess server. Use the filter to include or exclude them from the available players."), _("The communication with an Internet chess server is not standardized. Therefore you can only connect to the supported chess servers in PyChess, like freechess.org or chessclub.com"), # Externals _("PyChess uses the external module Scoutfish to evaluate the chess databases. For example, it is possible to extract the games where some pieces are in precise count or positions."), _("Parser/ChessDB is an external module used by PyChess to show the expected outcome for a given position."), _("SQLite is an internal module used to describe the loaded PGN files, so that PyChess can retrieve the games very fast during a search."), _("PyChess generates 3 information files when a PGN file is opened : .sqlite (description), .scout (positions), .bin (book and outcomes). These files can be removed manually if necessary."), # Lessons _("PyChess uses offline lessons to learn chess. You will be then never disappointed if you have no Internet connection."), _("To start Learning, click on the Book icon available on the welcome screen. Or choose the category next to that button to start the activity directly."), _("The lectures are commented games to learn step-by-step the strategy and principles of some chess techniques. Just watch and read."), _("Whatever the number of pawns, an end-game starts when the board is made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, etc... Knowing the moves will help you to not miss the checkmate!"), _("A puzzle is a set of simple positions classified by theme for which you should guess the best moves. It helps you to understand the patterns to drive an accurate attack or defense."), _("A lesson is a complex study that explains the tactics for a given position. It is common to view circles and arrows over the board to focus on the behavior of the pieces, the threats, etc...") ] self.tips_seed = conf.get("tips_seed") if self.tips_seed == 0: # Forbidden value self.tips_seed = 123456789 + randrange(876543210) conf.set("tips_seed", self.tips_seed) self.tips_curindex = conf.get("tips_index") self.shuffleTips() def xorshift(self): self.tips_seed ^= (self.tips_seed << 13) ^ (self.tips_seed >> 17) ^ (self.tips_seed << 5) return self.tips_fixed + self.tips_seed % (len(self.tips) - self.tips_fixed) def shuffleTips(self): # Because of the fixed seed, the same shuffled list will be returned. # The idea is to manage all the tips bove by category but to display # them once from a random order that can be reproduced at every run. for i in range(len(self.tips) - self.tips_fixed): p1 = self.xorshift() p2 = self.xorshift() if p1 != p2: tmp = self.tips[p1] self.tips[p1] = self.tips[p2] self.tips[p2] = tmp def show(self): self.set_currentIndex(self.tips_curindex) self.widgets["window1"].show() self.widgets["window1"].present() def set_currentIndex(self, value): if len(self.tips) == 0: return if value < 0: value = len(self.tips) - 1 elif value >= len(self.tips): value = 0 self.tips_curindex = value conf.set("tips_index", self.tips_curindex + 1) # To get the next message loaded at the next run self.widgets["tipfield"].set_markup(self.tips[value]) pychess-1.0.0/lib/pychess/widgets/discovererDialog.py0000755000175000017500000000613613365545272022014 0ustar varunvarunimport asyncio from gi.repository import Gtk from pychess.compat import create_task from pychess.Utils import wait_signal from pychess.System import uistuff class DiscovererDialog: def __init__(self, discoverer): self.discoverer = discoverer self.widgets = uistuff.GladeWidgets("discovererDialog.glade") # ======================================================================= # Clear glade defaults # ======================================================================= for child in self.widgets["enginesTable"].get_children(): self.widgets["enginesTable"].remove(child) self.finished = False self.throbber = None self.nameToBar = {} discoverer.pre_discover() binnames = self.discoverer.toBeRechecked.keys() if len(binnames) == 0: self.finished = True # ====================================================================== # Insert the names to be discovered # ====================================================================== for i, name in enumerate(binnames): label = Gtk.Label(label=name + ":") label.props.xalign = 1 self.widgets["enginesTable"].attach(label, 0, 1, i, i + 1) bar = Gtk.ProgressBar() self.widgets["enginesTable"].attach(bar, 1, 2, i, i + 1) self.nameToBar[name] = bar # ======================================================================= # Add throbber # ======================================================================= self.throbber = Gtk.Spinner() self.throbber.set_size_request(50, 50) self.widgets["throbberDock"].add(self.throbber) # ======================================================================= # Show the window # ======================================================================= self.widgets["discovererDialog"].set_position( Gtk.WindowPosition.CENTER_ON_PARENT) self.widgets["discovererDialog"].show_all() self.throbber.start() @asyncio.coroutine def start(self): if self.finished: self.close() # let dialog window draw itself yield from asyncio.sleep(0.1) create_task(self.all_whatcher()) create_task(self.discovered_whatcher()) self.discoverer.discover() @asyncio.coroutine def discovered_whatcher(self): while True: if self.finished: return _discoverer, binname, _xmlenginevalue = yield from wait_signal(self.discoverer, "engine_discovered") if binname in self.nameToBar: bar = self.nameToBar[binname] bar.props.fraction = 1 @asyncio.coroutine def all_whatcher(self): while True: yield from wait_signal(self.discoverer, "all_engines_discovered") break self.finished = True self.close() def close(self): if self.throbber: self.throbber.stop() self.widgets["discovererDialog"].hide() pychess-1.0.0/lib/pychess/widgets/Background.py0000755000175000017500000002145013365545272020602 0ustar varunvarun""" Sets the application background image """ from os import path from gi.repository import Gtk, Gdk, GdkPixbuf import cairo from pychess.System import conf, uistuff from pychess.System.prefix import addDataPrefix, addUserCachePrefix surface = None provider = None loldcolor = None doldcolor = None def hexcol(color): """ Description : Takes a colour tuple(rgb) and returns a hex based string #rrggbb Returns : (str) """ return "#%02X%02X%02X" % (int(color.red * 255), int(color.green * 255), int(color.blue * 255)) def giveBackground(widget): widget.connect("draw", expose) widget.connect("style-updated", newTheme) def expose(widget, context): cairo_create = widget.get_window().cairo_create() x_loc = widget.get_allocation().x y_loc = widget.get_allocation().y width = widget.get_allocation().width height = widget.get_allocation().height cairo_create.rectangle(x_loc, y_loc, width, height) if not surface: newTheme(widget) cairo_create.set_source_surface(surface, 0, 0) pattern = cairo_create.get_source() pattern.set_extend(cairo.EXTEND_REPEAT) cairo_create.fill() def newTheme(widget, background=None): global surface, provider, loldcolor, doldcolor style_ctxt = widget.get_style_context() # get colors from theme # bg color found, bgcol = style_ctxt.lookup_color("bg_color") if not found: found, bgcol = style_ctxt.lookup_color("theme_bg_color") if not found: # fallback value bgcol = Gdk.RGBA(red=0.929412, green=0.929412, blue=0.929412, alpha=1.0) # bg selected color found, bgsel = style_ctxt.lookup_color("theme_selected_bg_color") if not found: # fallback value bgsel = Gdk.RGBA(red=0.290, green=0.565, blue=0.851, alpha=1.0) # fg color found, fgcol = style_ctxt.lookup_color("fg_color") if not found: found, fgcol = style_ctxt.lookup_color("theme_fg_color") if not found: fgcol = Gdk.RGBA(red=0.180392, green=0.203922, blue=0.211765, alpha=1.000000) # base color found, basecol = style_ctxt.lookup_color("base_color") if not found: found, basecol = style_ctxt.lookup_color("theme_base_color") if not found: basecol = Gdk.RGBA(red=0.929412, green=0.929412, blue=0.929412, alpha=1.0) # text color found, textcol = style_ctxt.lookup_color("text_color") if not found: found, textcol = style_ctxt.lookup_color("theme_text_color") if not found: textcol = Gdk.RGBA(red=0.180392, green=0.203922, blue=0.211765, alpha=1.0) def get_col(col, mult): red = col.red * mult green = col.green * mult blue = col.blue * mult if red > 1.0: red = 1.0 if green > 1.0: green = 1.0 if blue > 1.0: blue = 1.0 if red == 1 and green == 1 and blue == 1: return Gdk.RGBA(0.99, 0.99, 0.99, 1.0) else: return Gdk.RGBA(red, green, blue, 1.0) # derive other colors bgacol = get_col(bgcol, 0.9) # bg_active dcol = get_col(bgcol, 0.7) # dark darksel = get_col(bgsel, 0.71) # dark selected dpcol = get_col(bgcol, 0.71) # dark prelight dacol = get_col(dcol, 0.9) # dark_active lcol = get_col(bgcol, 1.3) # light color lightsel = get_col(bgsel, 1.3) # light selected fgsel = Gdk.RGBA(0.99, 0.99, 0.99, 1.0) # fg selected fgpcol = get_col(fgcol, 1.054) # fg prelight fgacol = Gdk.RGBA(0.0, 0.0, 0.0, 1.0) # fg active textaacol = Gdk.RGBA( min( (basecol.red + textcol.red) / 2., 1.0), min( (basecol.green + textcol.green) / 2., 1.0), min( (basecol.blue + textcol.blue) / 2., 1.0)) # text_aa data = "@define-color p_bg_color " + hexcol(bgcol) + ";" \ "@define-color p_bg_prelight " + hexcol(bgcol) + ";" \ "@define-color p_bg_active " + hexcol(bgacol) + ";" \ "@define-color p_bg_selected " + hexcol(bgsel) + ";" \ "@define-color p_bg_insensitive " + hexcol(bgcol) + ";" \ "@define-color p_base_color " + hexcol(basecol) + ";" \ "@define-color p_dark_color " + hexcol(dcol) + ";" \ "@define-color p_dark_prelight " + hexcol(dpcol) + ";" \ "@define-color p_dark_active " + hexcol(dacol) + ";" \ "@define-color p_dark_selected " + hexcol(darksel) + ";" \ "@define-color p_text " + hexcol(textcol) + ";" \ "@define-color p_text_aa " + hexcol(textaacol) + ";" \ "@define-color p_light_color " + hexcol(lcol) + ";" \ "@define-color p_light_selected " + hexcol(lightsel) + ";" \ "@define-color p_fg_color " + hexcol(fgcol) + ";" \ "@define-color p_fg_prelight " + hexcol(fgpcol) + ";" \ "@define-color p_fg_selected " + hexcol(fgsel) + ";" \ "@define-color p_fg_active " + hexcol(fgacol) + ";" if provider is not None: style_ctxt.remove_provider_for_screen(Gdk.Screen.get_default(), provider) provider = Gtk.CssProvider.new() provider.load_from_data(data.encode()) style_ctxt.add_provider_for_screen(Gdk.Screen.get_default(), provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION) lnewcolor = bgcol dnewcolor = dcol # check if changed if loldcolor and background is None: if lnewcolor.red == loldcolor.red and \ lnewcolor.green == loldcolor.green and \ lnewcolor.blue == loldcolor.blue and \ dnewcolor.red == doldcolor.red and \ dnewcolor.green == doldcolor.green and \ dnewcolor.blue == doldcolor.blue: return loldcolor = lnewcolor doldcolor = dnewcolor # global colors have been set up # now set colors on startup panel lnewcolor = style_ctxt.lookup_color("p_bg_color")[1] dnewcolor = style_ctxt.lookup_color("p_dark_color")[1] colors = [ int(lnewcolor.red * 255), int(lnewcolor.green * 255), int(lnewcolor.blue * 255), int(dnewcolor.red * 255), int(dnewcolor.green * 255), int(dnewcolor.blue * 255) ] if background is None: background = conf.get("welcome_image") if not path.isfile(background): background = addDataPrefix("glade/clear.png") conf.set("welcome_image", background) if not background.endswith("clear.png"): pixbuf = GdkPixbuf.Pixbuf.new_from_file(background) x, y, height, width = uistuff.getMonitorBounds() pixbuf = pixbuf.scale_simple(height, width, GdkPixbuf.InterpType.BILINEAR) # for frmat in GdkPixbuf.Pixbuf.get_formats(): # print(frmat.get_extensions()) surface = Gdk.cairo_surface_create_from_pixbuf(pixbuf, 0, None) return # Check if a cache has been saved temppng = addUserCachePrefix("temp.png") if path.isfile(temppng): fyle = open(temppng, "rb") # Check if the cache was made while using the same theme if list(fyle.read(6)) == colors: surface = cairo.ImageSurface.create_from_png(fyle) return # Get mostly transparant shadowy image imgsurface = cairo.ImageSurface.create_from_png(background) avgalpha = 108 / 255. surface = cairo.ImageSurface(cairo.FORMAT_RGB24, imgsurface.get_width(), imgsurface.get_height()) ctx = cairo.Context(surface) if lnewcolor.blue * 65535 - dnewcolor.blue * 65535 > 0: midtone = dnewcolor.red * 65535 / (3 * ( lnewcolor.blue * 65535 - dnewcolor.blue * 65535) * (1 - avgalpha)) ctx.set_source_rgb(lnewcolor.red / 2 + dnewcolor.red * midtone / 2, lnewcolor.green / 2 + dnewcolor.green * midtone / 2, lnewcolor.blue / 2 + dnewcolor.blue * midtone / 2) ctx.paint() ctx.set_source_surface(imgsurface, 0, 0) ctx.paint_with_alpha(.8) # Save a cache for later use. Save 'newcolor' in the frist three pixels # to check for theme changes between two instances fyle = open(temppng, "wb") fyle.write(bytes(colors)) surface.write_to_png(fyle) def isDarkTheme(widget): color = widget.get_style_context().get_background_color(Gtk.StateFlags.NORMAL) minimal = min(color.red, color.green, color.blue) maximal = max(color.red, color.green, color.blue) lightness = (minimal + maximal) / 2 return lightness < 0.5 pychess-1.0.0/lib/pychess/widgets/playerinfoDialog.py0000755000175000017500000000523413365545272022015 0ustar varunvarunfrom gi.repository import Gtk, GObject firstRun = True def run(widgets): global firstRun if firstRun: initialize(widgets) firstRun = False widgets["player_info"].show_all() def initialize(widgets): def addColumns(treeview, *columns): model = Gtk.ListStore(*((str, ) * len(columns))) treeview.set_model(model) treeview.get_selection().set_mode(Gtk.SelectionMode.NONE) for i, name in enumerate(columns): crt = Gtk.CellRendererText() column = Gtk.TreeViewColumn(name, crt, text=i) treeview.append_column(column) addColumns(widgets["results_view"], "", "Games", "Won", "Drawn", "Lost", "Score") model = widgets["results_view"].get_model() model.append(("White", "67", "28", "24", "15", "59%")) model.append(("Black", "66", "26", "23", "17", "56%")) model.append(("Total", "133", "54", "47", "32", "58%")) addColumns(widgets["rating_view"], "Current", "Initial", "Lowest", "Highest", "Average") model = widgets["rating_view"].get_model() model.append(("1771", "1734", "1659", "1791", "1700")) widgets["history_view"].set_model(Gtk.ListStore(object)) widgets["history_view"].get_selection().set_mode(Gtk.SelectionMode.NONE) widgets["history_view"].append_column( Gtk.TreeViewColumn("Player Rating History", HistoryCellRenderer(), data=0)) widgets["history_view"].get_model().append((1, )) def hide_window(button, *args): widgets["player_info"].hide() return True widgets["player_info"].connect("delete-event", hide_window) widgets["player_info_close_button"].connect("clicked", hide_window) class HistoryCellRenderer(Gtk.CellRenderer): __gproperties__ = { "data": (GObject.TYPE_PYOBJECT, "Data", "Data", GObject.ParamFlags.READABLE | GObject.ParamFlags.WRITABLE), } def __init__(self): self.__gobject_init__() self.data = None def do_set_property(self, pspec, value): setattr(self, pspec.name, value) def do_get_property(self, pspec): return getattr(self, pspec.name) def on_render(self, window, widget, background_area, rect, expose_area, flags): if not self.data: return cairo = window.cairo_create() x_loc, y_loc, width, height = rect.x, rect.y, rect.width, rect.height cairo.rectangle(x_loc + 1, y_loc + 1, x_loc + width - 2, y_loc + height - 2) cairo.set_source_rgb(0.45, 0.45, 0.45) cairo.stroke() def on_get_size(self, widget, cell_area=None): return (0, 0, -1, 130) pychess-1.0.0/lib/pychess/widgets/LogDialog.py0000755000175000017500000002303713353143212020350 0ustar varunvarun# -*- coding: UTF-8 -*- import time import logging from gi.repository import Gtk, Gdk, Pango, GLib from pychess.System import uistuff from pychess.System.LogEmitter import logemitter class InformationWindow: @classmethod def _init(cls): cls.tagToIter = {} cls.tagToPage = {} cls.pathToPage = {} cls.tagToTime = {} cls.window = Gtk.Window() cls.window.set_title(_("PyChess Information Window")) cls.window.set_border_width(12) cls.window.set_icon_name("pychess") uistuff.keepWindowSize("logdialog", cls.window, (640, 480)) mainHBox = Gtk.HBox() mainHBox.set_spacing(6) cls.window.add(mainHBox) sw = Gtk.ScrolledWindow() sw.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) sw.set_shadow_type(Gtk.ShadowType.IN) mainHBox.pack_start(sw, False, True, 0) cls.treeview = Gtk.TreeView(Gtk.TreeStore(str)) cls.treeview.append_column(Gtk.TreeViewColumn("", Gtk.CellRendererText(), text=0)) cls.treeview.set_headers_visible(False) cls.treeview.get_selection().set_mode(Gtk.SelectionMode.BROWSE) sw.add(cls.treeview) cls.pages = Gtk.Notebook() cls.pages.set_show_tabs(False) cls.pages.set_show_border(False) mainHBox.pack_start(cls.pages, True, True, 0) mainHBox.show_all() def selectionChanged(selection): treestore, iter = selection.get_selected() if iter: child = cls.pathToPage[treestore.get_path(iter).to_string()][ "child"] cls.pages.set_current_page(cls.pages.page_num(child)) cls.treeview.get_selection().connect("changed", selectionChanged) @classmethod def show(cls): cls.window.show() @classmethod def hide(cls): cls.window.hide() @classmethod def newMessage(cls, tag, timestamp, message, importance): def _newMessage(cls, tag, timestamp, message, importance): textview = cls._getPageFromTag(tag)["textview"] if tag not in cls.tagToTime or timestamp - cls.tagToTime[tag] >= 1: t = time.strftime("%H:%M:%S", time.localtime(timestamp)) textview.get_buffer().insert_with_tags_by_name( textview.get_buffer().get_end_iter(), "\n%s\n%s\n" % (t, "-" * 60), str(logging.INFO)) cls.tagToTime[tag] = timestamp if not message.endswith("\n"): message = "%s\n" % message textview.get_buffer().insert_with_tags_by_name( textview.get_buffer().get_end_iter(), message, str(importance)) GLib.idle_add(_newMessage, cls, tag, timestamp, message, importance) @classmethod def _createPage(cls, parent_iter, tag): name = tag[-1] if isinstance(name, int): name = str(name) iter = cls.treeview.get_model().append(parent_iter, (name, )) cls.tagToIter[tag] = iter widgets = uistuff.GladeWidgets("findbar.glade") frame = widgets["frame"] frame.unparent() frame.show_all() uistuff.keepDown(widgets["scrolledwindow"]) textview = widgets["textview"] tb = textview.get_buffer() tb.create_tag(str(logging.DEBUG), family='Monospace') tb.create_tag( str(logging.INFO), family='Monospace', weight=Pango.Weight.BOLD) tb.create_tag( str(logging.WARNING), family='Monospace', foreground="red") tb.create_tag( str(logging.ERROR), family='Monospace', weight=Pango.Weight.BOLD, foreground="red") tb.create_tag( str(logging.CRITICAL), family='Monospace', weight=Pango.Weight.BOLD, foreground="red") findbar = widgets["findbar"] findbar.hide() # Make searchEntry and "out of label" share height with the buttons widgets["prevButton"].connect( "size-allocate", lambda w, alloc: widgets["searchEntry"].set_size_request(-1, alloc.height) or widgets["outofLabel"].set_size_request(-1, alloc.height - 2)) # Make "out of label" more visually distinct uistuff.makeYellow(widgets["outofLabel"]) widgets["outofLabel"].hide() widgets["closeButton"].connect("clicked", lambda w: widgets["findbar"].hide()) # Connect showing/hiding of the findbar cls.window.connect("key-press-event", cls.onTextviewKeypress, widgets) widgets["findbar"].connect("key-press-event", cls.onFindbarKeypress) widgets["searchEntry"].connect("changed", cls.onSearchChanged, widgets) widgets["prevButton"].connect("clicked", lambda w: cls.searchJump(-1, widgets)) widgets["nextButton"].connect("clicked", lambda w: cls.searchJump(1, widgets)) cls.pages.append_page(frame, None) page = {"child": frame, "textview": textview} cls.tagToPage[tag] = page cls.pathToPage[cls.treeview.get_model().get_path(iter).to_string( )] = page cls.treeview.expand_all() @classmethod def _getPageFromTag(cls, tag): if isinstance(tag, list): tag = tuple(tag) elif not isinstance(tag, tuple): tag = (tag, ) if tag in cls.tagToPage: return cls.tagToPage[tag] for i in range(len(tag) - 1): subtag = tag[:-i - 1] if subtag in cls.tagToIter: newtag = subtag + (tag[len(subtag)], ) iter = cls.tagToIter[subtag] cls._createPage(iter, newtag) return cls._getPageFromTag(tag) cls._createPage(None, tag[:1]) return cls._getPageFromTag(tag) @classmethod def onSearchChanged(cls, search_entry, widgets): pattern = search_entry.get_text().lower() widgets["outofLabel"].props.visible = bool(pattern) if not pattern: return text = widgets["textview"].get_buffer().props.text.lower() widgets["outofLabel"].hits = [] widgets["outofLabel"].searchCurrent = -1 i = -len(pattern) while True: i = text.find(pattern, i + len(pattern)) if i != -1: widgets["outofLabel"].hits.append(i) else: break cls.searchJump(1, widgets) @classmethod def searchJump(cls, count, widgets): if not hasattr(widgets["outofLabel"], "hits"): return amount = len(widgets["outofLabel"].hits) if not amount: widgets["outofLabel"].set_text("0 %s 0" % _("of")) else: widgets["outofLabel"].searchCurrent += count current = widgets["outofLabel"].searchCurrent % amount widgets["outofLabel"].set_text("%d %s %d" % (current + 1, _("of"), amount)) goto = widgets["outofLabel"].hits[current] iter0 = widgets["textview"].get_buffer().get_iter_at_offset(goto) length = len(widgets["searchEntry"].get_text()) iter1 = widgets["textview"].get_buffer().get_iter_at_offset(goto + length) widgets["textview"].get_buffer().select_range(iter0, iter1) widgets["textview"].scroll_to_iter(iter0, 0.2, False, 0.5, 0.5) @classmethod def onTextviewKeypress(cls, textview, event, widgets): if event.get_state() & Gdk.ModifierType.CONTROL_MASK: if event.keyval in (ord("f"), ord("F")): widgets["findbar"].props.visible = not widgets[ "findbar"].props.visible if widgets["findbar"].props.visible: signal = widgets["searchEntry"].connect_after( "draw", lambda w, e: w.grab_focus() or widgets["searchEntry"].disconnect(signal)) @classmethod def onFindbarKeypress(cls, findbar, event): if Gdk.keyval_name(event.keyval) == "Escape": findbar.props.visible = False ################################################################################ # Add early messages and connect for new # ################################################################################ InformationWindow._init() def addMessage(emitter, message): task, timestamp, message, type = message InformationWindow.newMessage(task, timestamp, message, type) for message in logemitter.messages: addMessage(logemitter, message) logemitter.messages = None logemitter.connect("logged", addMessage) ################################################################################ # External functions # ################################################################################ destroy_funcs = [] def add_destroy_notify(func): destroy_funcs.append(func) def _destroy_notify(widget, *args): [func() for func in destroy_funcs] return True InformationWindow.window.connect("delete-event", _destroy_notify) def show(): InformationWindow.show() def hide(): InformationWindow.hide() if __name__ == "__main__": show() InformationWindow.window.connect("delete-event", Gtk.main_quit) Gtk.main() pychess-1.0.0/lib/pychess/widgets/RecentChooser.py0000644000175000017500000000254413365545272021266 0ustar varunvarunfrom urllib.request import urlopen from urllib.parse import unquote from gi.repository import Gtk from pychess.perspectives import perspective_manager class RecentChooserMenu(Gtk.RecentChooserMenu): def __init__(self): Gtk.RecentChooserMenu.__init__(self) def recent_item_activated(self): uri = self.get_current_uri() try: urlopen(unquote(uri)).close() perspective = perspective_manager.get_perspective("database") perspective.open_chessfile(self.get_current_uri()) except (IOError, OSError): # shomething wrong whit the uri recent_manager.remove_item(uri) self.set_show_tips(True) self.set_sort_type(Gtk.RecentSortType.MRU) self.set_limit(10) self.set_name("recent_menu") file_filter = Gtk.RecentFilter() file_filter.add_mime_type("application/x-chess-pgn") file_filter.add_mime_type("application/x-chess-epd") file_filter.add_mime_type("application/x-chess-fen") file_filter.add_pattern("*.pgn") file_filter.add_pattern("*.epd") file_filter.add_pattern("*.fen") self.set_filter(file_filter) self.connect("item-activated", recent_item_activated) recent_manager = Gtk.RecentManager.get_default() recent_menu = RecentChooserMenu() pychess-1.0.0/lib/pychess/widgets/BoardView.py0000755000175000017500000022210013452600737020373 0ustar varunvarun# -*- coding: UTF-8 -*- from math import floor, ceil, pi from time import time from io import StringIO import cairo from gi.repository import GLib, Gtk, Gdk, GObject, Pango, PangoCairo from pychess.Savers import pgn from pychess.System.prefix import addDataPrefix from pychess.System import conf from pychess.gfx import Pieces from pychess.Savers.pgn import comment_arrows_re, comment_circles_re from pychess.Utils.Cord import Cord from pychess.Utils.GameModel import GameModel from pychess.Utils.const import ASEAN_VARIANTS, DROP_VARIANTS, WAITING_TO_START, REMOTE, \ LOCAL, DRAW, WHITEWON, BLACKWON, ABORTED, KILLED, DROP, \ KING_CASTLE, QUEEN_CASTLE, WILDCASTLESHUFFLECHESS, \ WILDCASTLECHESS, PAWN, KNIGHT, SITTUYINCHESS, BLACK from pychess.Variants.blindfold import BlindfoldBoard, HiddenPawnsBoard, \ HiddenPiecesBoard, AllWhiteBoard from . import preferencesDialog from pychess.perspectives import perspective_manager def intersects(r_zero, r_one): """ Takes two square and determines if they have an Intersection Returns a boolean """ w_zero = r_zero.width + r_zero.x h_zero = r_zero.height + r_zero.y w_one = r_one.width + r_one.x h_one = r_one.height + r_one.y return (w_one < r_one.x or w_one > r_zero.x) and \ (h_one < r_one.y or h_one > r_zero.y) and \ (w_zero < r_zero.x or w_zero > r_one.x) and \ (h_zero < r_zero.y or h_zero > r_one.y) def contains(r_zero, r_one): """ Takes two squares and determines if square one is contained within square zero Returns a boolean """ w_zero = r_zero.width + r_zero.x h_zero = r_zero.height + r_zero.y w_one = r_one.width + r_one.x h_one = r_one.height + r_one.y return r_zero.x <= r_one.x and w_zero >= w_one and \ r_zero.y <= r_one.y and h_zero >= h_one def union(r_zero, r_one): """ Takes 2 rectangles and returns a rectangle that represents the union of the two areas Returns a Gdk.Rectangle """ x_min = min(r_zero.x, r_one.x) y_min = min(r_zero.y, r_one.y) w_max = max(r_zero.x + r_zero.width, r_one.x + r_one.width) - x_min h_max = max(r_zero.y + r_zero.height, r_one.y + r_one.height) - y_min rct = Gdk.Rectangle() rct.x, rct.y, rct.width, rct.height = (x_min, y_min, w_max, h_max) return rct def join(r_zero, r_one): """ Take(x, y, w, [h]) squares """ if not r_zero: return r_one if not r_one: return r_zero if not r_zero and not r_one: return None if len(r_zero) == 3: r_zero = (r_zero[0], r_zero[1], r_zero[2], r_zero[2]) if len(r_one) == 3: r_one = (r_one[0], r_one[1], r_one[2], r_one[2]) x_one = min(r_zero[0], r_one[0]) x_two = max(r_zero[0] + r_zero[2], r_one[0] + r_one[2]) y_one = min(r_zero[1], r_one[1]) y_two = max(r_zero[1] + r_zero[3], r_one[1] + r_one[3]) return (x_one, y_one, x_two - x_one, y_two - y_one) def rect(rectangle): """ Takes a list of 3 variables x,y,height and generates a rectangle rectangle(list) : contains screen locations returns a Gdk.Rectangle """ x_size, y_size = [int(floor(v)) for v in rectangle[:2]] width = int(ceil(rectangle[2])) if len(rectangle) == 4: height = int(ceil(rectangle[3])) else: height = width rct = Gdk.Rectangle() rct.x, rct.y, rct.width, rct.height = (x_size, y_size, width, height) return rct def matrixAround(rotated_matrix, anchor_x, anchor_y): """ Description : Rotates a matrix through the hypotenuse so that the original matrix becomes the inverse matrix and the inverse matrix becomes matrix Returns a tuple representing the matrix and its inverse """ corner = rotated_matrix[0] side = rotated_matrix[1] anchor_yside = anchor_y * side anchor_xside = anchor_x * side anchor_ycorner = anchor_y * (1 - corner) anchor_xcorner = anchor_x * (1 - corner) matrix = cairo.Matrix(corner, side, -side, corner, anchor_xcorner + anchor_yside, anchor_ycorner - anchor_xside) invmatrix = cairo.Matrix(corner, -side, side, corner, anchor_xcorner - anchor_yside, anchor_ycorner + anchor_xside) return matrix, invmatrix ANIMATION_TIME = 0.5 # If this is true, the board is scaled so that everything fits inside the window # even if the board is rotated 45 degrees SCALE_ROTATED_BOARD = False CORD_PADDING = 1.5 class BoardView(Gtk.DrawingArea): """ Description The BoardView instance is used to render the board to screen and supports event updates associated with the game """ __gsignals__ = { # Signals emitted by class 'shownChanged': (GObject.SignalFlags.RUN_FIRST, None, (int,)) } def __init__(self, gamemodel=None, preview=False, setup_position=False): GObject.GObject.__init__(self) if gamemodel is None: gamemodel = GameModel() self.model = gamemodel self.allwhite = self.model.variant == AllWhiteBoard self.asean = self.model.variant.variant in ASEAN_VARIANTS self.preview = preview self.setup_position = setup_position self.shown_variation_idx = 0 # the main variation is the first in gamemodel.variations list self.model_cids = [ self.model.connect("game_started", self.gameStarted), self.model.connect("game_changed", self.gameChanged), self.model.connect("moves_undoing", self.movesUndoing), self.model.connect("variation_undoing", self.variationUndoing), self.model.connect("game_loading", self.gameLoading), self.model.connect("game_loaded", self.gameLoaded), self.model.connect("game_ended", self.gameEnded), ] self.board_style_name = None self.board_frame_name = None self.draw_cid = self.connect("draw", self.expose) self.realize_cid = self.connect_after("realize", self.onRealized) self.notify_cids = [ conf.notify_add("drawGrid", self.onDrawGrid), conf.notify_add("showCords", self.onShowCords), conf.notify_add("showCaptured", self.onShowCaptured), conf.notify_add("faceToFace", self.onFaceToFace), conf.notify_add("noAnimation", self.onNoAnimation), conf.notify_add("autoRotate", self.onAutoRotate), conf.notify_add("pieceTheme", self.onPieceTheme), conf.notify_add("board_frame", self.onBoardFrame), conf.notify_add("board_style", self.onBoardStyle), conf.notify_add("lightcolour", self.onBoardColour), conf.notify_add("darkcolour", self.onBoardColour), ] self.RANKS = self.model.boards[0].RANKS self.FILES = self.model.boards[0].FILES self.FILES_FOR_HOLDING = 6 self.animation_start = time() self.last_shown = None self.deadlist = [] self.auto_update_shown = True self.real_set_shown = True # only false when self.shown set temporarily(change shown variation) # to avoid redraw_misc in animation self.padding = 0 # Set to self.pad when setcords is active self.square = 0, 0, self.FILES, 1 # An object global variable with the current # board size self.pad = 0.06 # Padding applied only when setcords is active self._selected = None self._hover = None self._active = None self._premove0 = None self._premove1 = None self._redarrow = None self._greenarrow = None self._bluearrow = None self._shown = self.model.ply self.no_frame = False self._show_cords = False self.show_cords = conf.get("showCords") self._draw_grid = False self.draw_grid = conf.get("drawGrid") self._show_captured = None if self.setup_position: self.set_size_request(int(40 * (self.FILES + self.FILES_FOR_HOLDING)), 40 * self.RANKS) self.redrawCanvas() self.noAnimation = conf.get("noAnimation") self.faceToFace = conf.get("faceToFace") self.autoRotate = conf.get("autoRotate") self.onBoardColour() self.onBoardStyle() self.onBoardFrame() self._show_enpassant = False self.lastMove = None self.matrix = cairo.Matrix() self.matrix_pi = cairo.Matrix.init_rotate(pi) self.invmatrix = cairo.Matrix().invert() self.cord_matrices_state = (0, 0) self._rotation = 0 self.drawcount = 0 self.drawtime = 0 self.got_started = False self.animating = False self.dragged_piece = None # a piece being dragged by the user self.premove_piece = None self.premove_promotion = None # right click circles and arrows self.arrows = set() self.circles = set() self.pre_arrow = None self.pre_circle = None # circles and arrows from .pgn comments self.saved_circles = set() self.saved_arrows = set() def _del(self): self.disconnect(self.draw_cid) self.disconnect(self.realize_cid) for cid in self.notify_cids: conf.notify_remove(cid) for cid in self.model_cids: self.model.disconnect(cid) def gameStarted(self, model): if model.lesson_game: self.shown = model.lowply if self.noAnimation: self.got_started = True self.redrawCanvas() else: if model.moves: self.lastMove = model.moves[-1] for row in self.model.boards[-1].data: for piece in row.values(): # row: if piece: piece.opacity = 0 self.got_started = True self.startAnimation() self.emit("shownChanged", self.shown) def gameChanged(self, model, ply): # Play sounds if self.model.players and self.model.status != WAITING_TO_START: move = model.moves[-1] if move.is_capture(model.boards[-2]): sound = "aPlayerCaptures" else: sound = "aPlayerMoves" if model.boards[-1].board.isChecked(): sound = "aPlayerChecks" if model.players[0].__type__ == REMOTE and \ model.players[1].__type__ == REMOTE: sound = "observedMoves" preferencesDialog.SoundTab.playAction(sound) # Auto updating self.shown can be disabled. Useful for loading games. # If we are not at the latest game we are probably browsing the history, # and we won't like auto updating. if self.auto_update_shown and self.shown + 1 >= ply and self.shownIsMainLine(): self.shown = ply # Rotate board if self.autoRotate: if self.model.players and self.model.curplayer.__type__ == LOCAL: self.rotation = self.model.boards[-1].color * pi def movesUndoing(self, model, moves): if self.shownIsMainLine(): self.shown = model.ply - moves else: # Go back to the mainline to let animation system work board = model.getBoardAtPly(self.shown, self.shown_variation_idx) while board not in model.variations[0]: board = model.variations[self.shown_variation_idx][board.ply - model.lowply - 1] self.shown = board.ply self.shown_variation_idx = 0 self.shown = model.ply - moves self.redrawCanvas() def variationUndoing(self, model): self.showPrev() def gameLoading(self, model, uri): self.auto_update_shown = False def gameLoaded(self, model, uri): self.auto_update_shown = True self._shown = model.ply def gameEnded(self, model, reason): self.redrawCanvas() if self.model.players: sound = "" if model.status == DRAW: sound = "gameIsDrawn" elif model.status == WHITEWON: if model.players[0].__type__ == LOCAL: sound = "gameIsWon" elif model.players[1].__type__ == LOCAL: sound = "gameIsLost" elif model.status == BLACKWON: if model.players[1].__type__ == LOCAL: sound = "gameIsWon" elif model.players[0].__type__ == LOCAL: sound = "gameIsLost" elif model.status in (ABORTED, KILLED): sound = "gameIsLost" if model.status in (DRAW, WHITEWON, BLACKWON, KILLED, ABORTED) and \ model.players[0].__type__ == REMOTE and \ model.players[1].__type__ == REMOTE: sound = "oberservedEnds" # This should never be false, unless status is set to UNKNOWN or # something strange if sound != "": preferencesDialog.SoundTab.playAction(sound) def onDrawGrid(self, *args): """ Checks the configuration / preferences to see if the board grid should be displayed. """ self.draw_grid = conf.get("drawGrid") def onShowCords(self, *args): """ Checks the configuration / preferences to see if the board co-ordinates should be displayed. """ self.show_cords = conf.get("showCords") def onShowCaptured(self, *args): """ Check the configuration / preferences to see if the captured pieces should be displayed """ self._setShowCaptured(conf.get("showCaptured"), force_restore=True) def onNoAnimation(self, *args): """ Check the configuration / preferences to see if no animation needed at all """ self.noAnimation = conf.get("noAnimation") def onFaceToFace(self, *args): """ If the preference for pieces to be displayed facing each other has been set then refresh the board """ self.faceToFace = conf.get("faceToFace") self.redrawCanvas() def onAutoRotate(self, *args): self.autoRotate = conf.get("autoRotate") def onPieceTheme(self, *args): """ If the preference to display another chess set has been selected then refresh the board """ self.redrawCanvas() def onBoardColour(self, *args): """ If the preference to display another set of board colours has been selected then refresh the board """ self.light_colour = conf.get("lightcolour") self.dark_colour = conf.get("darkcolour") self.redrawCanvas() def onBoardStyle(self, *args): """ If the preference to display another set of board colours has been selected then refresh the board """ board_style = conf.get("board_style") self.colors_only = board_style == 0 if not self.colors_only: # create dark and light square surfaces board_style_name = preferencesDialog.board_items[board_style][1] if self.board_style_name is None or self.board_style_name != board_style_name: self.board_style_name = board_style_name dark_png = addDataPrefix("boards/%s_d.png" % board_style_name) light_png = addDataPrefix("boards/%s_l.png" % board_style_name) self.dark_surface = cairo.ImageSurface.create_from_png(dark_png) self.light_surface = cairo.ImageSurface.create_from_png(light_png) self.redrawCanvas() def onBoardFrame(self, *args): board_frame = conf.get("board_frame") self.no_frame = board_frame == 0 if not self.no_frame: # create board frame surface board_frame_name = preferencesDialog.board_items[board_frame][1] if self.board_frame_name is None or self.board_frame_name != board_frame_name: self.board_frame_name = board_frame_name frame_png = addDataPrefix("boards/%s_d.png" % board_frame_name) self.frame_surface = cairo.ImageSurface.create_from_png(frame_png) if not self.show_cords and self.no_frame: self.padding = 0. else: self.padding = self.pad self.redrawCanvas() ############################### # Animation # ############################### def paintBoxAround(self, move): paint_box = self.cord2RectRelative(move.cord1) if move.flag != DROP: paint_box = join(paint_box, self.cord2RectRelative(move.cord0)) if move.flag in (KING_CASTLE, QUEEN_CASTLE): board = self.model.boards[-1].board color = board.color wildcastle = Cord(board.ini_kings[color]).x == 3 and \ board.variant in (WILDCASTLECHESS, WILDCASTLESHUFFLECHESS) if move.flag == KING_CASTLE: side = 0 if wildcastle else 1 paint_box = join(paint_box, self.cord2RectRelative(Cord(board.ini_rooks[color][side]))) paint_box = join(paint_box, self.cord2RectRelative(Cord(board.fin_rooks[color][side]))) paint_box = join(paint_box, self.cord2RectRelative(Cord(board.fin_kings[color][side]))) else: side = 1 if wildcastle else 0 paint_box = join(paint_box, self.cord2RectRelative(Cord(board.ini_rooks[color][side]))) paint_box = join(paint_box, self.cord2RectRelative(Cord(board.fin_rooks[color][side]))) paint_box = join(paint_box, self.cord2RectRelative(Cord(board.fin_kings[color][side]))) return paint_box def setShownBoard(self, board): """ Set shown to the index of the given board in board list. If the board belongs to a different variationd, adjust the shown variation index too. If board is in the main line, reset the shown variation idx to 0(the main line). """ if board in self.model.variations[self.shown_variation_idx]: # if the board to be shown is in the current shown variation, we are ok self.shown = self.model.variations[self.shown_variation_idx].index(board) + \ self.model.lowply else: # else we have to go back first for vari in self.model.variations: if board in vari: # Go back to the common board of variations to let animation system work board_in_vari = board while board_in_vari not in self.model.variations[self.shown_variation_idx]: board_in_vari = vari[board_in_vari.ply - self.model.lowply - 1] self.real_set_shown = False self.shown = board_in_vari.ply break # swich to the new variation self.shown_variation_idx = self.model.variations.index(vari) self.real_set_shown = True self.shown = self.model.variations[self.shown_variation_idx].index(board) + \ self.model.lowply def shownIsMainLine(self): return self.shown_variation_idx == 0 @property def has_unsaved_shapes(self): return self.saved_arrows != self.arrows or self.saved_circles != self.circles def _getShown(self): return self._shown def _setShown(self, shown, old_variation_idx=None): """ Adjust the index in current variation board list. old_variation_index is used when variation was added to the last played move and we want to step back. """ assert shown >= 0 if shown < self.model.lowply: shown = self.model.lowply # This would cause IndexErrors later if shown > self.model.variations[self.shown_variation_idx][-1].ply: return if old_variation_idx is None: old_variation_idx = self.shown_variation_idx self.redarrow = None self.greenarrow = None self.bluearrow = None # remove all circles and arrows need_redraw = False if self.saved_circles: self.saved_circles.clear() need_redraw = True if self.saved_arrows: self.saved_arrows.clear() need_redraw = True if self.arrows: self.arrows.clear() need_redraw = True if self.circles: self.circles.clear() need_redraw = True if self.pre_arrow is not None: self.pre_arrow = None need_redraw = True if self.pre_circle is not None: self.pre_circle = None need_redraw = True # search circles/arrows in move comments board = self.model.getBoardAtPly(shown, self.shown_variation_idx).board if board.children: for child in board.children: if isinstance(child, str): if "[%csl" in child: match = comment_circles_re.search(child) circles = match.groups()[0].split(",") for circle in circles: self.saved_circles.add(Cord(circle[1:3], color=circle[0])) self.circles.add(Cord(circle[1:3], color=circle[0])) need_redraw = True if "[%cal" in child: match = comment_arrows_re.search(child) arrows = match.groups()[0].split(",") for arrow in arrows: self.saved_arrows.add((Cord(arrow[1:3], color=arrow[0]), Cord(arrow[3:5]))) self.arrows.add((Cord(arrow[1:3], color=arrow[0]), Cord(arrow[3:5]))) need_redraw = True if need_redraw: self.redrawCanvas() # If there is only one board, we don't do any animation, but simply # redraw the entire board. Same if we are at first draw. if len(self.model.boards) == 1 or self.shown < self.model.lowply: self._shown = shown if shown > self.model.lowply: self.lastMove = self.model.getMoveAtPly(shown - 1, self.shown_variation_idx) self.emit("shownChanged", self.shown) self.redrawCanvas() return step = shown > self.shown and 1 or -1 deadset = set() for i in range(self.shown, shown, step): board = self.model.getBoardAtPly(i, old_variation_idx) board1 = self.model.getBoardAtPly(i + step, self.shown_variation_idx) if step == 1: move = self.model.getMoveAtPly(i, self.shown_variation_idx) moved, new, dead = board.simulateMove(board1, move) else: move = self.model.getMoveAtPly(i - 1, old_variation_idx) moved, new, dead = board.simulateUnmove(board1, move) # We need to ensure, that the piece coordinate is saved in the # piece for piece, cord0 in moved: # Test if the piece already has a realcoord(has been dragged) if (piece is not None) and piece.x is None: # We don't want newly restored pieces to flew from their # deadspot to their old position, as it doesn't work # vice versa if piece.opacity == 1: piece.x = cord0.x piece.y = cord0.y for piece in dead: deadset.add(piece) # Reset the location of the piece to avoid a small visual # jump, when it is at some other time waken to life. piece.x = None piece.y = None for piece in new: piece.opacity = 0 self.deadlist = [] for y_loc, row in enumerate(self.model.getBoardAtPly(self.shown, old_variation_idx).data): for x_loc, piece in row.items(): if piece in deadset: self.deadlist.append((piece, x_loc, y_loc)) self._shown = shown if self.real_set_shown: board = self.model.getBoardAtPly(self.shown, self.shown_variation_idx) if board in self.model.variations[0]: self.shown_variation_idx = 0 else: for vari in self.model.variations: if board in vari: # swich to the new variation self.shown_variation_idx = self.model.variations.index(vari) break self.emit("shownChanged", self.shown) self.animation_start = time() self.animating = True if self.lastMove: paint_box = self.paintBoxAround(self.lastMove) self.lastMove = None self.redrawCanvas(rect(paint_box)) if self.shown > self.model.lowply: self.lastMove = self.model.getMoveAtPly(self.shown - 1, self.shown_variation_idx) paint_box = self.paintBoxAround(self.lastMove) self.redrawCanvas(rect(paint_box)) else: self.lastMove = None self.runAnimation(redraw_misc=self.real_set_shown) if not self.noAnimation: while self.animating: self.runAnimation() shown = property(_getShown, _setShown) def runAnimation(self, redraw_misc=False): """ The animationsystem in pychess is very loosely inspired by the one of chessmonk. The idea is, that every piece has a place in an array(the board.data one) for where to be drawn. If a piece is to be animated, it can set its x and y properties, to some cord(or part cord like 0.42 for 42% right to file 0). Each time runAnimation is run, it will set those x and y properties a little closer to the location in the array. When it has reached its final location, x and y will be set to None. _setShown, which starts the animation, also sets a timestamp for the acceleration to work properply. """ if self.model is None: return False if not self.animating: return False paint_box = None mod = min(1, (time() - self.animation_start) / ANIMATION_TIME) board = self.model.getBoardAtPly(self.shown, self.shown_variation_idx) for y_loc, row in enumerate(board.data): for x_loc, piece in row.items(): if not piece: continue if piece == self.dragged_piece: continue if piece == self.premove_piece: # if premove move is being made, the piece will already be # sitting on the cord it needs to move to- # do not animate and reset premove to None if self.shown == self.premove_ply: piece.x = None piece.y = None self.setPremove(None, None, None, None) continue # otherwise, animate premove piece moving to the premove cord # rather than the cord it actually exists on elif self.premove0 and self.premove1: x_loc = self.premove1.x y_loc = self.premove1.y if piece.x is not None: if not self.noAnimation: if piece.piece == KNIGHT: newx = piece.x + (x_loc - piece.x) * mod**(1.5) newy = piece.y + (y_loc - piece.y) * mod else: newx = piece.x + (x_loc - piece.x) * mod newy = piece.y + (y_loc - piece.y) * mod else: newx, newy = x_loc, y_loc paint_box = join(paint_box, self.cord2RectRelative(piece.x, piece.y)) paint_box = join(paint_box, self.cord2RectRelative(newx, newy)) if (newx <= x_loc <= piece.x or newx >= x_loc >= piece.x) and \ (newy <= y_loc <= piece.y or newy >= y_loc >= piece.y) or \ abs(newx - x_loc) < 0.005 and abs(newy - y_loc) < 0.005: paint_box = join(paint_box, self.cord2RectRelative(x_loc, y_loc)) piece.x = None piece.y = None else: piece.x = newx piece.y = newy if piece.opacity < 1: if piece.x is not None: px_loc = piece.x py_loc = piece.y else: px_loc = x_loc py_loc = y_loc if paint_box: paint_box = join(paint_box, self.cord2RectRelative(px_loc, py_loc)) else: paint_box = self.cord2RectRelative(px_loc, py_loc) if not self.noAnimation: new_op = piece.opacity + (1 - piece.opacity) * mod else: new_op = 1 if new_op >= 1 >= piece.opacity or abs(1 - new_op) < 0.005: piece.opacity = 1 else: piece.opacity = new_op ready = [] for i, dead in enumerate(self.deadlist): piece, x_loc, y_loc = dead if not paint_box: paint_box = self.cord2RectRelative(x_loc, y_loc) else: paint_box = join(paint_box, self.cord2RectRelative(x_loc, y_loc)) if not self.noAnimation: new_op = piece.opacity + (0 - piece.opacity) * mod else: new_op = 0 if new_op <= 0 <= piece.opacity or abs(0 - new_op) < 0.005: ready.append(dead) else: piece.opacity = new_op for dead in ready: self.deadlist.remove(dead) if paint_box: self.redrawCanvas(rect(paint_box)) if self.noAnimation: self.animating = False return False else: if not paint_box: self.animating = False return paint_box and True or False def startAnimation(self): self.animation_start = time() self.animating = True self.runAnimation(redraw_misc=True) if not self.noAnimation: while self.animating: self.runAnimation() ############################# # Drawing # ############################# def onRealized(self, widget): padding = (1 - self.padding) alloc = self.get_allocation() square = float(min(alloc.width, alloc.height)) * padding xc_loc = alloc.width / 2. - square / 2 yc_loc = alloc.height / 2. - square / 2 size = square / self.FILES self.square = (xc_loc, yc_loc, square, size) def expose(self, widget, ctx): context = widget.get_window().cairo_create() start = time() rectangle = Gdk.Rectangle() clip_ext = ctx.clip_extents() rectangle.x, rectangle.y = clip_ext[0], clip_ext[1] rectangle.width, rectangle.height = clip_ext[2] - clip_ext[0], clip_ext[3] - clip_ext[1] if False: import profile profile.runctx("self.draw(context, rectangle)", locals(), globals(), "/tmp/pychessprofile") from pstats import Stats stats = Stats("/tmp/pychessprofile") stats.sort_stats('cumulative') stats.print_stats() else: self.draw(context, rectangle) # self.drawcount += 1 # self.drawtime += time() - start # if self.drawcount % 100 == 0: # print( "Average FPS: %0.3f - %d / %d" % \ # (self.drawcount/self.drawtime, self.drawcount, self.drawtime)) return False ############################################################################ # drawing functions # ############################################################################ ############################### # redrawCanvas # ############################### def redrawCanvas(self, rect=None): if self.get_window(): if not rect: alloc = self.get_allocation() rect = Gdk.Rectangle() rect.x, rect.y, rect.width, rect.height = (0, 0, alloc.width, alloc.height) self.get_window().invalidate_rect(rect, True) self.get_window().process_updates(True) ############################### # draw # ############################### def draw(self, context, r): # context.set_antialias(cairo.ANTIALIAS_NONE) if self.shown < self.model.lowply: print("exiting cause to lowlpy", self.shown, self.model.lowply) return alloc = self.get_allocation() self.matrix, self.invmatrix = matrixAround( self.matrix, alloc.width / 2., alloc.height / 2.) cos_, sin_ = self.matrix[0], self.matrix[1] context.transform(self.matrix) square = float(min(alloc.width, alloc.height)) * (1 - self.padding) if SCALE_ROTATED_BOARD: square /= abs(cos_) + abs(sin_) xc_loc = alloc.width / 2. - square / 2 yc_loc = alloc.height / 2. - square / 2 side = square / self.FILES self.square = (xc_loc, yc_loc, square, side) self.drawBoard(context, r) if min(alloc.width, alloc.height) > 32: self.drawCords(context, r) if self.got_started: self.drawSpecial(context, r) self.drawEnpassant(context, r) self.drawCircles(context) self.drawArrows(context) self.drawPieces(context, r) if not self.setup_position: self.drawLastMove(context, r) if self.model.status == KILLED: pass # self.drawCross(context, r) # At this point we have real values of self.get_allocation() # and can adjust board paned divider if needed if self._show_captured is None: self.showCaptured = conf.get("showCaptured") # Unselect to mark redrawn areas - for debugging purposes # context.transform(self.invmatrix) # context.rectangle(r.x,r.y,r.width,r.height) # dc = self.drawcount*50 # dc = dc % 1536 # c = dc % 256 / 255. # if dc < 256: # context.set_source_rgb(1, ,c,0) # elif dc < 512: # context.set_source_rgb(1-c,1, 0) # elif dc < 768: # context.set_source_rgb(0, 1,c) # elif dc < 1024: # context.set_source_rgb(0, 1-c,1) # elif dc < 1280: # context.set_source_rgb(c,0, 1) # elif dc < 1536: # context.set_source_rgb(1, 0, 1-c) # context.stroke() ############################### # drawCords # ############################### def drawCords(self, context, rectangle): thickness = 0.01 signsize = 0.02 if (not self.show_cords) and (not self.setup_position): return xc_loc, yc_loc, square, side = self.square if rectangle is not None and contains(rect((xc_loc, yc_loc, square)), rectangle): return thick = thickness * square sign_size = signsize * square pangoScale = float(Pango.SCALE) if self.no_frame: context.set_source_rgb(0.0, 0.0, 0.0) else: context.set_source_rgb(1.0, 1.0, 1.0) def paint(inv): for num in range(self.RANKS): rank = inv and num + 1 or self.RANKS - num layout = self.create_pango_layout("%d" % rank) layout.set_font_description( Pango.FontDescription("bold %d" % sign_size)) width = layout.get_extents()[1].width / pangoScale height = layout.get_extents()[0].height / pangoScale # Draw left side context.move_to(xc_loc - thick - width, side * num + yc_loc + height / 2 + thick * 3) PangoCairo.show_layout(context, layout) file = inv and self.FILES - num or num + 1 layout = self.create_pango_layout(chr(file + ord("A") - 1)) layout.set_font_description( Pango.FontDescription("bold %d" % sign_size)) # Draw bottom context.move_to(xc_loc + side * num + side / 2 - width / 2, yc_loc + square) PangoCairo.show_layout(context, layout) matrix, invmatrix = matrixAround(self.matrix_pi, xc_loc + square / 2, yc_loc + square / 2) if self.rotation == 0: paint(False) else: context.transform(matrix) paint(True) context.transform(invmatrix) if self.faceToFace: if self.rotation == 0: context.transform(matrix) paint(True) context.transform(invmatrix) else: paint(False) def draw_image(self, context, image_surface, left, top, width, height): """ Draw a scaled image on a given context. """ # calculate scale image_width = image_surface.get_width() image_height = image_surface.get_height() width_ratio = float(width) / float(image_width) height_ratio = float(height) / float(image_height) scale_xy = min(width_ratio, height_ratio) # scale image and add it context.save() context.translate(left, top) context.scale(scale_xy, scale_xy) context.set_source_surface(image_surface) context.paint() context.restore() def draw_frame(self, context, image_surface, left, top, width, height): """ Draw a repeated image pattern on a given context. """ pat = cairo.SurfacePattern(image_surface) pat.set_extend(cairo.EXTEND_REPEAT) context.rectangle(left, top, width, height) context.set_source(pat) context.fill() ############################### # drawBoard # ############################### def drawBoard(self, context, r): xc_loc, yc_loc, square, side = self.square col = Gdk.RGBA() col.parse(self.light_colour) context.set_source_rgba(col.red, col.green, col.blue, col.alpha) if self.model.variant.variant in ASEAN_VARIANTS: # just fill the whole board with light color if self.colors_only: context.rectangle(xc_loc, yc_loc, side * self.FILES, side * self.RANKS) else: self.draw_image(context, self.light_surface, xc_loc, yc_loc, side * self.FILES, side * self.RANKS) if self.colors_only: context.fill() else: # light squares for x_loc in range(self.FILES): for y_loc in range(self.RANKS): if x_loc % 2 + y_loc % 2 != 1: if self.colors_only: context.rectangle(xc_loc + x_loc * side, yc_loc + y_loc * side, side, side) else: self.draw_image(context, self.light_surface, xc_loc + x_loc * side, yc_loc + y_loc * side, side, side) if self.colors_only: context.fill() col = Gdk.RGBA() col.parse(self.dark_colour) context.set_source_rgba(col.red, col.green, col.blue, col.alpha) if self.model.variant.variant in ASEAN_VARIANTS: # diagonals if self.model.variant.variant == SITTUYINCHESS: context.move_to(xc_loc, yc_loc) context.rel_line_to(square, square) context.move_to(xc_loc + square, yc_loc) context.rel_line_to(-square, square) context.stroke() else: # dark squares for x_loc in range(self.FILES): for y_loc in range(self.RANKS): if x_loc % 2 + y_loc % 2 == 1: if self.colors_only: context.rectangle((xc_loc + x_loc * side), (yc_loc + y_loc * side), side, side) else: self.draw_image(context, self.dark_surface, (xc_loc + x_loc * side), (yc_loc + y_loc * side), side, side) if self.colors_only: context.fill() if not self.no_frame: # board frame delta = side / 4 # top self.draw_frame(context, self.frame_surface, xc_loc - delta, yc_loc - delta, self.FILES * side + delta * 2, delta) # bottom self.draw_frame(context, self.frame_surface, xc_loc - delta, yc_loc + self.RANKS * side, self.FILES * side + delta * 2, delta) # left self.draw_frame(context, self.frame_surface, xc_loc - delta, yc_loc, delta, self.FILES * side) # right self.draw_frame(context, self.frame_surface, xc_loc + self.FILES * side, yc_loc, delta, self.FILES * side) if self.draw_grid: # grid lines between squares context.set_source_rgb(0.0, 0.0, 0.0) context.set_line_width(0.5 if r is None else 1.0) for loc in range(self.FILES): context.move_to(xc_loc + side * loc, yc_loc) context.line_to(xc_loc + side * loc, yc_loc + self.FILES * side) context.move_to(xc_loc, yc_loc + side * loc) context.line_to(xc_loc + self.FILES * side, yc_loc + side * loc) context.rectangle(xc_loc, yc_loc, self.FILES * side, self.RANKS * side) context.stroke() context.set_source_rgba(col.red, col.green, col.blue, col.alpha) ############################### # drawPieces # ############################### def getCordMatrices(self, x_loc, y_loc, inv=False): square, side = self.square[2], self.square[3] rot_ = self.cord_matrices_state[1] if square != self.square or rot_ != self.rotation: self.cord_matrices = [None] * self.FILES * self.RANKS + [None] * self.FILES * 4 self.cord_matrices_state = (self.square, self.rotation) c_loc = x_loc * self.FILES + y_loc if isinstance(c_loc, int) and self.cord_matrices[c_loc]: matrices = self.cord_matrices[c_loc] else: cx_loc, cy_loc = self.cord2Point(x_loc, y_loc) matrices = matrixAround(self.matrix, cx_loc + side / 2., cy_loc + side / 2.) matrices += (cx_loc, cy_loc) if isinstance(c_loc, int): self.cord_matrices[c_loc] = matrices return matrices def __drawPiece(self, context, piece, x_loc, y_loc): # Maybe a premove was reset from another thread if piece is None: print("Trying to draw a None piece") return if self.model.variant == BlindfoldBoard: return elif self.model.variant == HiddenPawnsBoard: if piece.piece == PAWN: return elif self.model.variant == HiddenPiecesBoard: if piece.piece != PAWN: return if piece.captured and not self.showCaptured: return side = self.square[3] if not self.faceToFace: matrix, invmatrix, cx_loc, cy_loc = self.getCordMatrices(x_loc, y_loc) else: cx_loc, cy_loc = self.cord2Point(x_loc, y_loc) if piece.color == BLACK: matrix, invmatrix = matrixAround((-1, 0), cx_loc + side / 2., cy_loc + side / 2.) else: matrix = invmatrix = cairo.Matrix(1, 0, 0, 1, 0, 0) context.transform(invmatrix) Pieces.drawPiece(piece, context, cx_loc + CORD_PADDING, cy_loc + CORD_PADDING, side - CORD_PADDING * 2, allwhite=self.allwhite, asean=self.asean) context.transform(matrix) def drawPieces(self, context, rectangle): pieces = self.model.getBoardAtPly(self.shown, self.shown_variation_idx) style_ctxt = self.get_style_context() col = style_ctxt.lookup_color("p_fg_color")[1] fg_n = (col.red, col.green, col.blue) fg_s = fg_n col = style_ctxt.lookup_color("p_fg_active")[1] fg_a = (col.red, col.green, col.blue) col = style_ctxt.lookup_color("p_fg_prelight")[1] fg_p = (col.red, col.green, col.blue) fg_m = fg_n # As default we use normal foreground for selected cords, as it looks # less confusing. However for some themes, the normal foreground is so # similar to the selected background, that we have to use the selected # foreground. col = style_ctxt.lookup_color("p_bg_selected")[1] bg_sl = (col.red, col.green, col.blue) col = style_ctxt.lookup_color("p_dark_selected")[1] bg_sd = (col.red, col.green, col.blue) if min((fg_n[0] - bg_sl[0])**2 + (fg_n[1] - bg_sl[1])**2 + (fg_n[2] - bg_sl[2])**2, (fg_n[0] - bg_sd[0])**2 + (fg_n[1] - bg_sd[1])**2 + (fg_n[2] - bg_sd[2])**2) < 0.2: col = style_ctxt.lookup_color("p_fg_selected")[1] fg_s = (col.red, col.green, col.blue) # Draw dying pieces(Found in self.deadlist) for piece, x_loc, y_loc in self.deadlist: context.set_source_rgba(fg_n[0], fg_n[1], fg_n[2], piece.opacity) self.__drawPiece(context, piece, x_loc, y_loc) # Draw pieces reincarnating(With opacity < 1) for y_loc, row in enumerate(pieces.data): for x_loc, piece in row.items(): if not piece or piece.opacity == 1: continue if piece.x: x_loc, y_loc = piece.x, piece.y context.set_source_rgba(fg_n[0], fg_n[1], fg_n[2], piece.opacity) self.__drawPiece(context, piece, x_loc, y_loc) # Draw standing pieces(Only those who intersect drawn area) for y_loc, row in enumerate(pieces.data): for x_loc, piece in row.items(): if piece == self.premove_piece: continue if not piece or piece.x is not None or piece.opacity < 1: continue if rectangle is not None and not intersects(rect(self.cord2RectRelative(x_loc, y_loc)), rectangle): continue if Cord(x_loc, y_loc) == self.selected: context.set_source_rgb(*fg_s) elif Cord(x_loc, y_loc) == self.active: context.set_source_rgb(*fg_a) elif Cord(x_loc, y_loc) == self.hover: context.set_source_rgb(*fg_p) else: context.set_source_rgb(*fg_n) self.__drawPiece(context, piece, x_loc, y_loc) # Draw moving or dragged pieces(Those with piece.x and piece.y != None) context.set_source_rgb(*fg_p) for y_loc, row in enumerate(pieces.data): for x_loc, piece in row.items(): if not piece or piece.x is None or piece.opacity < 1: continue self.__drawPiece(context, piece, piece.x, piece.y) # Draw standing premove piece context.set_source_rgb(*fg_m) if self.premove_piece and self.premove_piece.x is None and self.premove0 and self.premove1: self.__drawPiece(context, self.premove_piece, self.premove1.x, self.premove1.y) ############################### # drawSpecial # ############################### def drawSpecial(self, context, redrawn): light_blue = (0.550, 0.775, 0.950, 0.8) dark_blue = (0.475, 0.700, 0.950, 0.5) used = [] for cord, state in ((self.active, "_active"), (self.selected, "_selected"), (self.premove0, "_selected"), (self.premove1, "_selected"), (self.hover, "_prelight")): if not cord: continue if cord in used: continue # Ensure that same cord, if having multiple "tasks", doesn't get # painted more than once used.append(cord) bounding = self.cord2RectRelative(cord) if not intersects(rect(bounding), redrawn): continue board = self.model.getBoardAtPly(self.shown, self.shown_variation_idx) if board[cord] is None and (cord.x < 0 or cord.x > self.FILES - 1): continue side = self.square[3] x_loc, y_loc = self.cord2Point(cord) context.rectangle(x_loc, y_loc, side, side) if cord == self.premove0 or cord == self.premove1: if self.isLight(cord): context.set_source_rgba(*light_blue) else: context.set_source_rgba(*dark_blue) else: style_ctxt = self.get_style_context() if self.isLight(cord): # bg found, color = style_ctxt.lookup_color("p_bg" + state) else: # dark found, color = style_ctxt.lookup_color("p_dark" + state) if not found: print("color not found in boardview.py:", "p_dark" + state) red, green, blue, alpha = color.red, color.green, color.blue, color.alpha context.set_source_rgba(red, green, blue, alpha) context.fill() def color2rgba(self, color): if color == "R": rgba = (.643, 0, 0, 0.8) elif color == "B": rgba = (.204, .396, .643, 0.8) elif color == "Y": rgba = (.961, .475, 0, 0.8) else: # light_green rgba = (0.337, 0.612, 0.117, 0.8) return rgba def drawCircles(self, context): radius = self.square[3] / 2.0 context.set_line_width(4) for cord in self.circles: rgba = self.color2rgba(cord.color) context.set_source_rgb(*rgba[:3]) x_loc, y_loc = self.cord2Point(cord) context.new_sub_path() context.arc(x_loc + radius, y_loc + radius, radius - 3, 0, 2 * pi) context.stroke() if self.pre_circle is not None: rgba = self.color2rgba(self.pre_circle.color) context.set_source_rgb(*rgba[:3]) x_loc, y_loc = self.cord2Point(self.pre_circle) context.new_sub_path() context.arc(x_loc + radius, y_loc + radius, radius - 3, 0, 2 * pi) context.stroke() arw = 0.15 # Arrow width arhw = 0.6 # Arrow head width arhh = 0.6 # Arrow head height arsw = 0.0 # Arrow stroke width for arrow_cords in self.arrows: rgba = self.color2rgba(arrow_cords[0].color) self.__drawArrow(context, arrow_cords, arw, arhw, arhh, arsw, rgba, rgba) if self.pre_arrow is not None: rgba = self.color2rgba(self.pre_arrow[0].color) self.__drawArrow(context, self.pre_arrow, arw, arhw, arhh, arsw, rgba, rgba) ############################### # drawLastMove # ############################### def drawLastMove(self, context, redrawn): if not self.lastMove: return if self.shown <= self.model.lowply: return show_board = self.model.getBoardAtPly(self.shown, self.shown_variation_idx) last_board = self.model.getBoardAtPly(self.shown - 1, self.shown_variation_idx) capture = self.lastMove.is_capture(last_board) mark_width = 0.27 # Width of marker padding_last = 0.155 # Padding on last cord padding_curr = 0.085 # Padding on current cord stroke_width = 0.02 # Stroke width side = self.square[3] context.save() context.set_line_width(stroke_width * side) dic0 = {-1: 1 - padding_last, 1: padding_last} dic1 = {-1: 1 - padding_curr, 1: padding_curr} matrix_scaler = ((1, 1), (-1, 1), (-1, -1), (1, -1)) light_yellow = (.929, .831, 0, 0.8) dark_yellow = (.769, .627, 0, 0.5) light_orange = (.961, .475, 0, 0.8) dark_orange = (.808, .361, 0, 0.5) light_green = (0.337, 0.612, 0.117, 0.8) dark_green = (0.237, 0.512, 0.17, 0.5) if self.lastMove.flag in (KING_CASTLE, QUEEN_CASTLE): ksq0 = last_board.board.kings[last_board.color] ksq1 = show_board.board.kings[last_board.color] wildcastle = Cord(last_board.board.ini_kings[last_board.color]).x == 3 and \ last_board.variant in (WILDCASTLECHESS, WILDCASTLESHUFFLECHESS) if self.lastMove.flag == KING_CASTLE: side = 0 if wildcastle else 1 rsq0 = show_board.board.ini_rooks[last_board.color][side] rsq1 = show_board.board.fin_rooks[last_board.color][side] else: side = 1 if wildcastle else 0 rsq0 = show_board.board.ini_rooks[last_board.color][side] rsq1 = show_board.board.fin_rooks[last_board.color][side] cord_pairs = [[Cord(ksq0), Cord(ksq1)], [Cord(rsq0), Cord(rsq1)]] else: cord_pairs = [[self.lastMove.cord0, self.lastMove.cord1]] for [cord0, cord1] in cord_pairs: if cord0 is not None: rel = self.cord2RectRelative(cord0) if intersects(rect(rel), redrawn): rectangle = self.cord2Rect(cord0) for scaler in matrix_scaler: context.move_to( rectangle[0] + (dic0[scaler[0]] + mark_width * scaler[0]) * rectangle[2], rectangle[1] + (dic0[scaler[1]] + mark_width * scaler[1]) * rectangle[2]) context.rel_line_to( 0, -mark_width * rectangle[2] * scaler[1]) context.rel_curve_to(0, mark_width * rectangle[2] * scaler[1] / 2.0, -mark_width * rectangle[2] * scaler[0] / 2.0, mark_width * rectangle[2] * scaler[1], -mark_width * rectangle[2] * scaler[0], mark_width * rectangle[2] * scaler[1]) context.close_path() context.set_source_rgba(*light_yellow) context.fill_preserve() context.set_source_rgba(*dark_yellow) context.stroke() rel = self.cord2RectRelative(cord1) if intersects(rect(rel), redrawn): rectangle = self.cord2Rect(cord1) for scaler in matrix_scaler: context.move_to( rectangle[0] + dic1[scaler[0]] * rectangle[2], rectangle[1] + dic1[scaler[1]] * rectangle[2]) context.rel_line_to( mark_width * rectangle[2] * scaler[0], 0) context.rel_curve_to( -mark_width * rectangle[2] * scaler[0] / 2.0, 0, -mark_width * rectangle[2] * scaler[0], mark_width * rectangle[2] * scaler[1] / 2.0, -mark_width * rectangle[2] * scaler[0], mark_width * rectangle[2] * scaler[1]) context.close_path() if capture: context.set_source_rgba(*light_orange) context.fill_preserve() context.set_source_rgba(*dark_orange) context.stroke() elif cord0 is None: # DROP move context.set_source_rgba(*light_green) context.fill_preserve() context.set_source_rgba(*dark_green) context.stroke() else: context.set_source_rgba(*light_yellow) context.fill_preserve() context.set_source_rgba(*dark_yellow) context.stroke() ############################### # drawArrows # ############################### def __drawArrow(self, context, cords, aw, ahw, ahh, asw, fillc, strkc): context.save() lvx = cords[1].x - cords[0].x lvy = cords[0].y - cords[1].y hypotenuse = float((lvx**2 + lvy**2)**.5) vec_x = lvx / hypotenuse vec_y = lvy / hypotenuse v1x = -vec_y v1y = vec_x rectangle = self.cord2Rect(cords[0]) px_loc = rectangle[0] + rectangle[2] / 2.0 py_loc = rectangle[1] + rectangle[2] / 2.0 ax_loc = v1x * rectangle[2] * aw / 2 ay_loc = v1y * rectangle[2] * aw / 2 context.move_to(px_loc + ax_loc, py_loc + ay_loc) p1x = px_loc + (lvx - vec_x * ahh) * rectangle[2] p1y = py_loc + (lvy - vec_y * ahh) * rectangle[2] context.line_to(p1x + ax_loc, p1y + ay_loc) lax = v1x * rectangle[2] * ahw / 2 lay = v1y * rectangle[2] * ahw / 2 context.line_to(p1x + lax, p1y + lay) context.line_to(px_loc + lvx * rectangle[2], py_loc + lvy * rectangle[2]) context.line_to(p1x - lax, p1y - lay) context.line_to(p1x - ax_loc, p1y - ay_loc) context.line_to(px_loc - ax_loc, py_loc - ay_loc) context.close_path() context.set_source_rgba(*fillc) context.fill_preserve() context.set_line_join(cairo.LINE_JOIN_ROUND) context.set_line_width(asw * rectangle[2]) context.set_source_rgba(*strkc) context.stroke() context.restore() def drawArrows(self, context): arw = 0.3 # Arrow width arhw = 0.72 # Arrow head width arhh = 0.64 # Arrow head height arsw = 0.08 # Arrow stroke width if self.bluearrow: self.__drawArrow(context, self.bluearrow, arw, arhw, arhh, arsw, (.447, .624, .812, 0.9), (.204, .396, .643, 1)) if self.greenarrow: self.__drawArrow(context, self.greenarrow, arw, arhw, arhh, arsw, (.54, .886, .2, 0.9), (.306, .604, .024, 1)) if self.redarrow: self.__drawArrow(context, self.redarrow, arw, arhw, arhh, arsw, (.937, .16, .16, 0.9), (.643, 0, 0, 1)) ############################### # drawEnpassant # ############################### def drawEnpassant(self, context, redrawn): if not self.showEnpassant: return enpassant = self.model.boards[-1].enpassant if not enpassant: return context.set_source_rgb(0, 0, 0) side = self.square[3] x_loc, y_loc = self.cord2Point(enpassant) if not intersects(rect((x_loc, y_loc, side, side)), redrawn): return x_loc, y_loc = self.cord2Point(enpassant) crr = context crr.set_font_size(side / 2.) fdescent, fheight = crr.font_extents()[1], crr.font_extents()[2] chars = "en" xbearing, width = crr.text_extents(chars)[0], crr.text_extents(chars)[2] crr.move_to(x_loc + side / 2. - xbearing - width / 2.0 - 1, side / 2. + y_loc - fdescent + fheight / 2.) crr.show_text(chars) ############################### # drawCross # ############################### def drawCross(self, context, redrawn): xc_loc, yc_loc, square, side = self.square context.move_to(xc_loc, yc_loc) context.rel_line_to(square, square) context.move_to(xc_loc + square, yc_loc) context.rel_line_to(-square, square) context.set_line_cap(cairo.LINE_CAP_SQUARE) context.set_source_rgba(0, 0, 0, 0.65) context.set_line_width(side) context.stroke_preserve() context.set_source_rgba(1, 0, 0, 0.8) context.set_line_width(side / 2.) context.stroke() ############################################################################ # Attributes # ############################################################################ ############################### # Cord vars # ############################### def _setSelected(self, cord): self._active = None if self._selected == cord: return if self._selected: rectangle = rect(self.cord2RectRelative(self._selected)) if cord: rectangle = union(rectangle, rect(self.cord2RectRelative(cord))) elif cord: rectangle = rect(self.cord2RectRelative(cord)) self._selected = cord self.redrawCanvas(rectangle) def _getSelected(self): return self._selected selected = property(_getSelected, _setSelected) def _setHover(self, cord): if self._hover == cord: return if self._hover: rectangle = rect(self.cord2RectRelative(self._hover)) # convert r from tuple to rect # tmpr = r # r = Gdk.Rectangle() # r.x, r.y, r.width, r.height = tmpr # if cord: r = r.union(rect(self.cord2RectRelative(cord))) if cord: rectangle = union(rectangle, rect(self.cord2RectRelative(cord))) elif cord: rectangle = rect(self.cord2RectRelative(cord)) # convert r from tuple to rect # tmpr = r # r = Gdk.Rectangle() # r.x, r.y, r.width, r.height = tmpr self._hover = cord self.redrawCanvas(rectangle) def _getHover(self): return self._hover hover = property(_getHover, _setHover) def _setActive(self, cord): if self._active == cord: return if self._active: rectangle = rect(self.cord2RectRelative(self._active)) if cord: rectangle = union(rectangle, rect(self.cord2RectRelative(cord))) elif cord: rectangle = rect(self.cord2RectRelative(cord)) self._active = cord self.redrawCanvas(rectangle) def _getActive(self): return self._active active = property(_getActive, _setActive) def _setPremove0(self, cord): if self._premove0 == cord: return if self._premove0: rectangle = rect(self.cord2RectRelative(self._premove0)) if cord: rectangle = union(rectangle, rect(self.cord2RectRelative(cord))) elif cord: rectangle = rect(self.cord2RectRelative(cord)) self._premove0 = cord self.redrawCanvas(rectangle) def _getPremove0(self): return self._premove0 premove0 = property(_getPremove0, _setPremove0) def _setPremove1(self, cord): if self._premove1 == cord: return if self._premove1: rectangle = rect(self.cord2RectRelative(self._premove1)) if cord: rectangle = union(rectangle, rect(self.cord2RectRelative(cord))) elif cord: rectangle = rect(self.cord2RectRelative(cord)) self._premove1 = cord self.redrawCanvas(rectangle) def _getPremove1(self): return self._premove1 premove1 = property(_getPremove1, _setPremove1) ################################ # Arrow vars # ################################ def _setRedarrow(self, cords): if cords == self._redarrow: return paint_cords = [] if cords: paint_cords += cords if self._redarrow: paint_cords += self._redarrow rectangle = rect(self.cord2RectRelative(paint_cords[0])) for cord in paint_cords[1:]: rectangle = union(rectangle, rect(self.cord2RectRelative(cord))) self._redarrow = cords self.redrawCanvas(rectangle) def _getRedarrow(self): return self._redarrow redarrow = property(_getRedarrow, _setRedarrow) def _setGreenarrow(self, cords): if cords == self._greenarrow: return paint_cords = [] if cords: paint_cords += cords if self._greenarrow: paint_cords += self._greenarrow rectangle = rect(self.cord2RectRelative(paint_cords[0])) for cord in paint_cords[1:]: rectangle = union(rectangle, rect(self.cord2RectRelative(cord))) self._greenarrow = cords self.redrawCanvas(rectangle) def _getGreenarrow(self): return self._greenarrow greenarrow = property(_getGreenarrow, _setGreenarrow) def _setBluearrow(self, cords): if cords == self._bluearrow: return paint_cords = [] if cords: paint_cords += cords if self._bluearrow: paint_cords += self._bluearrow rectangle = rect(self.cord2RectRelative(paint_cords[0])) for cord in paint_cords[1:]: rectangle = union(rectangle, rect(self.cord2RectRelative(cord))) self._bluearrow = cords self.redrawCanvas(rectangle) def _getBluearrow(self): return self._bluearrow bluearrow = property(_getBluearrow, _setBluearrow) ################################ # Other vars # ################################ def _setRotation(self, radians): if not conf.get("fullAnimation"): self._rotation = radians self.next_rotation = radians self.matrix = cairo.Matrix.init_rotate(radians) self.redrawCanvas() else: if hasattr(self, "next_rotation") and \ self.next_rotation != self.rotation: return self.next_rotation = radians oldr = self.rotation start = time() def rotate(): amount = (time() - start) / ANIMATION_TIME if amount > 1: amount = 1 next = False self.animating = False else: next = True self._rotation = new = oldr + amount * (radians - oldr) self.matrix = cairo.Matrix.init_rotate(new) self.redrawCanvas() return next self.animating = True GLib.idle_add(rotate) def _getRotation(self): return self._rotation rotation = property(_getRotation, _setRotation) def _setDrawGrid(self, draw_grid): self._draw_grid = draw_grid self.redrawCanvas() def _getDrawGrid(self): return self._draw_grid draw_grid = property(_getDrawGrid, _setDrawGrid) def _setShowCords(self, show_cords): if not show_cords and self.no_frame: self.padding = 0. else: self.padding = self.pad self._show_cords = show_cords self.redrawCanvas() def _getShowCords(self): return self._show_cords show_cords = property(_getShowCords, _setShowCords) def _setShowCaptured(self, show_captured, force_restore=False): self._show_captured = show_captured or self.model.variant.variant in DROP_VARIANTS alloc = self.get_allocation() size = alloc.height / self.RANKS persp = perspective_manager.get_perspective("games") if self._show_captured: needed_width = size * (self.FILES + self.FILES_FOR_HOLDING) + self.padding * 2 if alloc.width < needed_width: persp.adjust_divider(needed_width - alloc.width) elif force_restore: needed_width = size * self.FILES + self.padding * 2 if alloc.width > needed_width: persp.adjust_divider(needed_width - alloc.width) self.redrawCanvas() def _getShowCaptured(self): return False if self.preview else self._show_captured showCaptured = property(_getShowCaptured, _setShowCaptured) def _setShowEnpassant(self, show_enpassant): if self._show_enpassant == show_enpassant: return if self.model: enpascord = self.model.boards[-1].enpassant if enpascord: rectangle = rect(self.cord2RectRelative(enpascord)) self.redrawCanvas(rectangle) self._show_enpassant = show_enpassant def _getShowEnpassant(self): return self._show_enpassant showEnpassant = property(_getShowEnpassant, _setShowEnpassant) ########################### # Other # ########################### def cord2Rect(self, cord, y_loc=None): if y_loc is None: x_loc, y_loc = cord.x, cord.y else: x_loc = cord xc_loc, yc_loc, side = self.square[0], self.square[1], self.square[3] return ((xc_loc + (x_loc * side)), (yc_loc + (self.RANKS - 1 - y_loc) * side), side) def cord2Point(self, cord, y_loc=None): point = self.cord2Rect(cord, y_loc) return point[:2] def cord2RectRelative(self, cord, y_loc=None): """ Like cord2Rect, but gives you bounding rect in case board is beeing Rotated """ if isinstance(cord, tuple): cx_loc, cy_loc, square = cord else: cx_loc, cy_loc, square = self.cord2Rect(cord, y_loc) x_zero, y_zero = self.matrix.transform_point(cx_loc, cy_loc) x_one, y_one = self.matrix.transform_point(cx_loc + square, cy_loc) x_two, y_two = self.matrix.transform_point(cx_loc, cy_loc + square) x_three, y_three = self.matrix.transform_point(cx_loc + square, cy_loc + square) x_loc = min(x_zero, x_one, x_two, x_three) y_loc = min(y_zero, y_one, y_two, y_three) square = max(y_zero, y_one, y_two, y_three) - y_loc return (x_loc, y_loc, square) def isLight(self, cord): """ Description: Given a board co-ordinate it returns True if the square at that co-ordinate is light Return : Boolean """ if self.model.variant.variant in ASEAN_VARIANTS: return False x_loc, y_loc = cord.cords return (x_loc % 2 + y_loc % 2) == 1 def showFirst(self): if self.model.examined and self.model.noTD: self.model.goFirst() else: self.shown = self.model.lowply self.shown_variation_idx = 0 def showPrev(self, step=1): # If prev board belongs to a higher level variation # we have to update shown_variation_idx old_variation_idx = None if not self.shownIsMainLine(): board = self.model.getBoardAtPly(self.shown - step, self.shown_variation_idx) for vari in self.model.variations: if board in vari: break # swich to the new variation old_variation_idx = self.shown_variation_idx self.shown_variation_idx = self.model.variations.index(vari) if self.model.examined and self.model.noTD: self.model.goPrev(step) else: if self.shown > self.model.lowply: if self.shown - step > self.model.lowply: self._setShown(self.shown - step, old_variation_idx) else: self._setShown(self.model.lowply, old_variation_idx) def showNext(self, step=1): if self.model.examined and self.model.noTD: self.model.goNext(step) else: maxply = self.model.variations[self.shown_variation_idx][-1].ply if self.shown < maxply: if self.shown + step < maxply: self.shown += step else: self.shown = maxply def showLast(self): if self.model.examined and self.model.noTD: self.model.goLast() else: maxply = self.model.variations[self.shown_variation_idx][-1].ply self.shown = maxply def backToMainLine(self): if self.model.examined and self.model.noTD: self.model.backToMainLine() else: while not self.shownIsMainLine(): self.showPrev() def backToParentLine(self): if self.model.examined and self.model.noTD: self.model.backToMainLine() else: varline = self.shown_variation_idx while True: self.showPrev() if self.shownIsMainLine() or self.shown_variation_idx != varline: break def setPremove(self, premove_piece, premove0, premove1, premove_ply, promotion=None): self.premove_piece = premove_piece self.premove0 = premove0 self.premove1 = premove1 self.premove_ply = premove_ply self.premove_promotion = promotion def copy_pgn(self): output = StringIO() clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) clipboard.set_text(pgn.save(output, self.model), -1) def copy_fen(self): clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) fen = self.model.getBoardAtPly(self.shown, self.shown_variation_idx).asFen() clipboard.set_text(fen, -1) pychess-1.0.0/lib/pychess/widgets/ChannelsPanel.py0000644000175000017500000004355413353143212021225 0ustar varunvarunfrom gi.repository import Gtk, GObject, Gdk, Pango from pychess.Utils.IconLoader import load_icon from pychess.widgets.InfoPanel import Panel TYPE_PERSONAL, TYPE_CHANNEL, TYPE_GUEST, \ TYPE_ADMIN, TYPE_COMP, TYPE_BLINDFOLD = range(6) add_icon = load_icon(16, "gtk-add", "list-add") remove_icon = load_icon(16, "gtk-remove", "list-remove") def cmp(x, y): return (x > y) - (x < y) class TextImageTree(Gtk.TreeView): """ :Description: Defines a tree with two columns. The first one has text. The second one a clickable stock_icon """ __gsignals__ = { 'activated': (GObject.SignalFlags.RUN_FIRST, None, (str, str, int)), 'selected': (GObject.SignalFlags.RUN_FIRST, None, (str, int)) } def __init__(self, icon): GObject.GObject.__init__(self) self.id2iter = {} pm = Gtk.ListStore(str, str, int, str) self.sort_model = Gtk.TreeModelSort(model=pm) self.set_model(self.sort_model) self.idSet = set() self.set_headers_visible(False) self.set_tooltip_column(3) self.set_search_column(1) self.sort_model.set_sort_column_id(1, Gtk.SortType.ASCENDING) self.sort_model.set_sort_func(1, self.compareFunction, 1) # First column crp = Gtk.CellRendererPixbuf() crp.props.pixbuf = icon self.rightcol = Gtk.TreeViewColumn("", crp) self.append_column(self.rightcol) # Second column crt = Gtk.CellRendererText() crt.props.ellipsize = Pango.EllipsizeMode.END self.leftcol = Gtk.TreeViewColumn("", crt, text=1) self.leftcol.set_expand(True) self.append_column(self.leftcol) # Mouse self.pressed = None self.stdcursor = Gdk.Cursor.new(Gdk.CursorType.LEFT_PTR) self.linkcursor = Gdk.Cursor.new(Gdk.CursorType.HAND2) self.connect("button_press_event", self.button_press) self.connect("button_release_event", self.button_release) self.connect("motion_notify_event", self.motion_notify) self.connect("leave_notify_event", self.leave_notify) # Selection self.get_selection().connect("changed", self.selection_changed) def addRow(self, grp_id, text, grp_type): """ :Description: Takes a player or a channel identified by grp_id and adds them to the correct group defined by grp_type :return: None """ if grp_id in self.id2iter: return model = self.sort_model.get_model() m_iter = model.append([grp_id, text, grp_type, GObject.markup_escape_text(text)]) self.id2iter[grp_id] = m_iter self.idSet.add(grp_id) def removeRow(self, grp_id): """ :Description: Takes a player or channel identified by grp_id and removes them from the data model. :return: None """ try: m_iter = self.id2iter[grp_id] except KeyError: return model = self.sort_model.get_model() model.remove(m_iter) del self.id2iter[grp_id] self.idSet.remove(grp_id) def selectRow(self, grp_id): """ :Description: Takes a grp_id and finds the row associated with this id then sets this row to be the focus ie selected :returns: None """ m_iter = self.id2iter[grp_id] m_iter = self.sort_model.convert_child_iter_to_iter(m_iter)[1] sel = self.get_selection() sel.select_iter(m_iter) def __contains__(self, grp_id): """ :Description: Checks to see if a grp_id in a member of the id set :returns: boolean """ return grp_id in self.idSet def button_press(self, widget, event): path_col_pos = self.get_path_at_pos(int(event.x), int(event.y)) if path_col_pos and path_col_pos[1] == self.rightcol: self.pressed = path_col_pos[0] def button_release(self, widget, event): path_col_pos = self.get_path_at_pos(int(event.x), int(event.y)) if path_col_pos and path_col_pos[1] == self.rightcol: if self.pressed == path_col_pos[0]: model = self.sort_model m_iter = model.get_iter(self.pressed) grp_id = model.get_value(m_iter, 0) text = model.get_value(m_iter, 1) grp_type = model.get_value(m_iter, 2) self.emit("activated", grp_id, text, grp_type) self.pressed = None def motion_notify(self, widget, event): path_col_pos = self.get_path_at_pos(int(event.x), int(event.y)) if path_col_pos and path_col_pos[1] == self.rightcol: self.get_window().set_cursor(self.linkcursor) else: self.get_window().set_cursor(self.stdcursor) def leave_notify(self, widget, event): self.get_window().set_cursor(self.stdcursor) def selection_changed(self, selection): model, m_iter = selection.get_selected() if m_iter: grp_id = model.get_value(m_iter, 0) grp_type = model.get_value(m_iter, 2) self.emit("selected", grp_id, grp_type) def compareFunction(self, treemodel, iter0, iter1, column): val0 = treemodel.get_value(iter0, column).split(":")[0] val1 = treemodel.get_value(iter1, column).split(":")[0] if val0.isdigit() and val1.isdigit(): return cmp(int(val0), int(val1)) return cmp(val0, val1) class ChannelsPanel(Gtk.ScrolledWindow, Panel): __gsignals__ = { 'conversationAdded': (GObject.SignalFlags.RUN_FIRST, None, (str, str, int)), 'conversationRemoved': (GObject.SignalFlags.RUN_FIRST, None, (str, )), 'conversationSelected': (GObject.SignalFlags.RUN_FIRST, None, (str, )) } def __init__(self, connection): GObject.GObject.__init__(self) self.connection = connection self.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) vbox = Gtk.VBox() self.add_with_viewport(vbox) self.get_child().set_shadow_type(Gtk.ShadowType.NONE) self.joinedList = TextImageTree(remove_icon) self.joinedList.connect("activated", self.onRemove) self.joinedList.connect("selected", self.onSelect) vbox.pack_start(self.joinedList, True, True, 0) vbox.pack_start(Gtk.Separator.new(0), False, False, 2) expander = Gtk.Expander.new(_("Friends")) vbox.pack_start(expander, False, True, 0) self.friendsList = TextImageTree(add_icon) self.friendsList.connect("activated", self.onAdd) self.friendsList.fixed_height_mode = True connection.cm.connect("privateMessage", self.onPersonMessage) connection.cm.connect("channelsListed", self.onChannelsListed) vbox.pack_start(Gtk.Separator.new(0), False, False, 2) expander.add(self.friendsList) self.channels = {} expander = Gtk.Expander.new(_("Admin")) vbox.pack_start(expander, False, True, 0) self.adminList = TextImageTree(add_icon) self.adminList.connect("activated", self.onAdd) self.adminList.fixed_height_mode = True connection.cm.connect("privateMessage", self.onPersonMessage) connection.cm.connect("channelsListed", self.onChannelsListed) vbox.pack_start(Gtk.Separator.new(0), False, False, 2) expander.add(self.adminList) expander = Gtk.Expander.new(_("More channels")) vbox.pack_start(expander, False, True, 0) self.channelsList = TextImageTree(add_icon) self.channelsList.connect("activated", self.onAdd) self.channelsList.fixed_height_mode = True vbox.pack_start(Gtk.Separator.new(0), False, False, 2) expander.add(self.channelsList) expander = Gtk.Expander.new(_("More players")) vbox.pack_start(expander, False, True, 0) self.playersList = TextImageTree(add_icon) self.playersList.connect("activated", self.onAdd) self.playersList.fixed_height_mode = True connection.cm.connect("privateMessage", self.onPersonMessage) connection.cm.connect("channelsListed", self.onChannelsListed) vbox.pack_start(Gtk.Separator.new(0), False, False, 2) expander.add(self.playersList) expander = Gtk.Expander.new(_("Computers")) vbox.pack_start(expander, False, True, 0) self.compList = TextImageTree(add_icon) self.compList.connect("activated", self.onAdd) self.compList.fixed_height_mode = True connection.cm.connect("privateMessage", self.onPersonMessage) connection.cm.connect("channelsListed", self.onChannelsListed) vbox.pack_start(Gtk.Separator.new(0), False, False, 2) expander.add(self.compList) expander = Gtk.Expander.new(_("BlindFold")) vbox.pack_start(expander, False, True, 0) self.blindList = TextImageTree(add_icon) self.blindList.connect("activated", self.onAdd) self.blindList.fixed_height_mode = True connection.cm.connect("privateMessage", self.onPersonMessage) connection.cm.connect("channelsListed", self.onChannelsListed) vbox.pack_start(Gtk.Separator.new(0), False, False, 2) expander.add(self.blindList) expander = Gtk.Expander.new(_("Guests")) vbox.pack_start(expander, False, True, 0) self.guestList = TextImageTree(add_icon) self.guestList.connect("activated", self.onAdd) self.guestList.fixed_height_mode = True connection.cm.connect("privateMessage", self.onPersonMessage) connection.cm.connect("channelsListed", self.onChannelsListed) vbox.pack_start(Gtk.Separator.new(0), False, False, 2) expander.add(self.guestList) self.channels = {} self.highlighted = {} def change_fg_colour(self, lc, cell, model, m_iter, data): """ :Description: Changes the foreground colour of a cell :param lc: :class:`Gtk.TreeViewColumn` The column we are interested in :param cell: :class:`Gtk.CellRenderer` The cell we want to change :param model: :class:`Gtk.TreeModel` :param iter: :class:`Gtk.TreeIter` :param data: :py:class:`dict` (key=int,value=bool) value is true if channel already highlighted :return: None """ for chan in data: if model[m_iter][0] == chan: if data[chan]: cell.set_property('foreground_rgba', Gdk.RGBA(0.9, 0.2, 0.2, 1)) else: cell.set_property('foreground_rgba', Gdk.RGBA(0, 0, 0, 1)) def channel_Highlight(self, a, channel, grp_type, b): """ :Description: Highlights a channel ( that is **not** in focus ) that has received an update and changes it's foreground colour to represent change in contents :param a: not used :param channel: **(str)** The channel the message is intended for :param grp_type: either TYPE_CHANNEL or TYPE_PERSONAL :param b: not used :return: None """ j_list = self.joinedList leftcol = j_list.leftcol # treeViewColumn cur_iter = j_list.get_selection().get_selected()[1] # Selected iter if grp_type == TYPE_PERSONAL: channel = "person" + channel.lower() tmp_iter = j_list.id2iter[channel] tmp_iter = j_list.sort_model.convert_child_iter_to_iter(tmp_iter)[1] # channel iter j_list.get_selection().select_iter(tmp_iter) cell = leftcol.get_cells()[0] j_list.get_selection().select_iter(cur_iter) self.highlighted[channel] = True if cur_iter != tmp_iter: # iter = tmp_iter leftcol.set_cell_data_func(cell, self.change_fg_colour, func_data=self.highlighted) def start(self): self.channels = self.connection.cm.getChannels() if self.channels: self._addChannels(self.channels) for player in list(self.connection.players.values()): grp_id = self.compileId(player.name, TYPE_PERSONAL) if str(player.name) in self.connection.notify_users: self.friendsList.addRow( grp_id, player.name + player.display_titles(), TYPE_PERSONAL) elif player.online and ('(B)' in player.display_titles()): self.blindList.addRow( grp_id, player.name + player.display_titles(), TYPE_BLINDFOLD) elif player.online and ('(C)' in player.display_titles()): self.compList.addRow(grp_id, player.name + player.display_titles(), TYPE_COMP) elif player.online and ('Guest' in str(player.name)): self.guestList.addRow( grp_id, player.name + player.display_titles(), TYPE_GUEST) elif player.online: self.playersList.addRow( grp_id, player.name + player.display_titles(), TYPE_PERSONAL) def addPlayer(players, new_players): for player in new_players: # print("Player : %s : %s" % (str(player.name),player.display_titles())) if str(player.name) in self.connection.notify_users: self.friendsList.addRow( self.compileId(player.name, TYPE_PERSONAL), player.name + player.display_titles(), TYPE_PERSONAL) elif '(C)' in str(player.display_titles()): self.compList.addRow( self.compileId(player.name, TYPE_COMP), player.name + player.display_titles(), TYPE_COMP) elif '(B)' in str(player.display_titles()): self.blindList.addRow( self.compileId(player.name, TYPE_BLINDFOLD), player.name + player.display_titles(), TYPE_BLINDFOLD) elif 'Guest' in str(player.name): self.guestList.addRow( self.compileId(player.name, TYPE_GUEST), player.name + player.display_titles(), TYPE_GUEST) else: self.playersList.addRow( self.compileId(player.name, TYPE_PERSONAL), player.name + player.display_titles(), TYPE_PERSONAL) return False self.connection.players.connect("FICSPlayerEntered", addPlayer) def removePlayer(players, player): if (str(player.name) in list(self.connection.notify_users)): self.friendsList.removeRow(self.compileId(player.name, TYPE_PERSONAL)) else: self.playersList.removeRow(self.compileId(player.name, TYPE_PERSONAL)) return False self.connection.players.connect("FICSPlayerExited", removePlayer) def _addChannels(self, channels): for grp_id, name in channels: grp_id = self.compileId(grp_id, TYPE_CHANNEL) self.channelsList.addRow(grp_id, str(grp_id) + ": " + name, TYPE_CHANNEL) for grp_id, name in channels: if grp_id in self.connection.cm.getJoinedChannels(): grp_id = self.compileId(grp_id, TYPE_CHANNEL) if grp_id.isdigit(): self.onAdd(self.channelsList, grp_id, str(grp_id) + ": " + name, TYPE_CHANNEL) else: self.onAdd(self.channelsList, grp_id, name, TYPE_CHANNEL) def onChannelsListed(self, cm, channels): if not self.channels: self.channels = channels self._addChannels(channels) def compileId(self, grp_id, type): if type == TYPE_CHANNEL: # FIXME: We can't really add stuff to the grp_id, as panels use it to # identify the channel assert not grp_id.startswith("person"), "Oops, this is a problem" else: grp_id = "person" + grp_id.lower() return grp_id def onAdd(self, grp_list, grp_id, text, grp_type): if grp_id in grp_list: grp_list.removeRow(grp_id) self.joinedList.addRow(grp_id, text, grp_type) self.emit('conversationAdded', grp_id, text, grp_type) if grp_type == TYPE_CHANNEL: self.connection.cm.joinChannel(grp_id) self.joinedList.selectRow(grp_id) def onRemove(self, joined_list, grp_id, text, grp_type): joined_list.removeRow(grp_id) if grp_type == TYPE_CHANNEL: self.channelsList.addRow(grp_id, text, grp_type) elif grp_type == TYPE_PERSONAL: self.playersList.addRow(grp_id, text, grp_type) elif grp_type == TYPE_COMP: self.compList.addRow(grp_id, text, grp_type) elif grp_type == TYPE_ADMIN: self.adminList.addRow(grp_id, text, grp_type) elif grp_type == TYPE_GUEST: self.guestList.addRow(grp_id, text, grp_type) elif grp_type == TYPE_BLINDFOLD: self.blindList.addRow(grp_id, text, grp_type) self.emit('conversationRemoved', grp_id) if grp_type == TYPE_CHANNEL: self.connection.cm.removeChannel(grp_id) def onSelect(self, joined_list, grp_id, grp_type): self.emit('conversationSelected', grp_id) joined_list.get_selection().get_selected()[1] # Selected iter cell = joined_list.leftcol.get_cells()[0] self.highlighted[grp_id] = False joined_list.leftcol.set_cell_data_func(cell, self.change_fg_colour, func_data=self.highlighted) def onPersonMessage(self, cm, name, title, isadmin, text): if not self.compileId(name, TYPE_PERSONAL) in self.joinedList: grp_id = self.compileId(name, TYPE_PERSONAL) self.onAdd(self.playersList, grp_id, name, TYPE_PERSONAL) pychess-1.0.0/lib/pychess/widgets/pydock/0000755000175000017500000000000013467766037017444 5ustar varunvarunpychess-1.0.0/lib/pychess/widgets/pydock/__init__.py0000755000175000017500000000151113353143212021530 0ustar varunvarunfrom collections import defaultdict from gi.repository import Gtk, GObject POSITIONS_COUNT = 5 NORTH, EAST, SOUTH, WEST, CENTER = range(POSITIONS_COUNT) reprPos = ("NORTH", "EAST", "SOUTH", "WEST", "CENTER") class TabReceiver(Gtk.Alignment): __instances = defaultdict(list) def __init__(self, perspective): GObject.GObject.__init__(self) self.__instances[perspective].append(self) def _del(self): try: index = TabReceiver.__instances[self.perspective].index(self) except ValueError: return del TabReceiver.__instances[self.perspective][index] def getInstances(self, perspective): return iter(self.__instances[perspective]) def showArrows(self): raise NotImplementedError def hideArrows(self): raise NotImplementedError pychess-1.0.0/lib/pychess/widgets/pydock/ArrowButton.py0000755000175000017500000001037713353143212022271 0ustar varunvarun import cairo from gi.repository import Gtk, GObject, Gdk from .OverlayWindow import OverlayWindow from .__init__ import NORTH, EAST, SOUTH, WEST class ArrowButton(OverlayWindow): """ Leafs will connect to the drag-drop signal """ __gsignals__ = { 'dropped': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'hovered': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'left': (GObject.SignalFlags.RUN_FIRST, None, ()), } def __init__(self, parent, svgPath, position): OverlayWindow.__init__(self, parent) self.myposition = position self.svgPath = svgPath # targets = [("GTK_NOTEBOOK_TAB", Gtk.TargetFlags.SAME_APP, 0xbadbeef)] targets = [Gtk.TargetEntry.new("GTK_NOTEBOOK_TAB", Gtk.TargetFlags.SAME_APP, 0xbadbeef)] self.drag_dest_set(Gtk.DestDefaults.DROP | Gtk.DestDefaults.MOTION, targets, Gdk.DragAction.MOVE) self.drag_dest_set_track_motion(True) self.myparent.button_cids[self] += [ self.connect("drag-motion", self.__onDragMotion), self.connect("drag-leave", self.__onDragLeave), self.connect("drag-drop", self.__onDragDrop), self.connect_after("draw", self.__onExposeEvent), ] self.hovered = False self.myparentAlloc = None self.myparentPos = None self.hasHole = False def _calcSize(self): parentAlloc = self.myparent.get_allocation() width, height = self.getSizeOfSvg(self.svgPath) if self.myparentAlloc is None: self.resize(width, height) if self.get_window() and not self.hasHole: self.hasHole = True self.digAHole(self.svgPath, width, height) if self.myposition == NORTH: x_loc, y_loc = parentAlloc.width / 2. - width / 2., 0 elif self.myposition == EAST: x_loc, y_loc = parentAlloc.width - width, parentAlloc.height / 2. - height / 2. elif self.myposition == SOUTH: x_loc, y_loc = parentAlloc.width / 2. - width / 2., parentAlloc.height - height elif self.myposition == WEST: x_loc, y_loc = 0, parentAlloc.height / 2. - height / 2. x_loc, y_loc = self.translateCoords(int(x_loc), int(y_loc)) if (x_loc, y_loc) != self.get_position(): self.move(x_loc, y_loc) self.myparentAlloc = parentAlloc window = self.myparent.get_window() if window is None: print(" !!! get_window() returned None for", self.myparent) else: self.myparentPos = window.get_position() def __onExposeEvent(self, self_, ctx): self._calcSize() context = self.get_window().cairo_create() width, height = self.getSizeOfSvg(self.svgPath) surface = self.getSurfaceFromSvg(self.svgPath, width, height) if self.is_composited(): context.set_operator(cairo.OPERATOR_CLEAR) context.set_source_rgba(0.0, 0.0, 0.0, 0.0) context.paint() context.set_operator(cairo.OPERATOR_OVER) # FIXME # mask = Gdk.Pixmap(None, width, height, 1) # mcontext = mask.cairo_create() # mcontext.set_source_surface(surface, 0, 0) # mcontext.paint() # self.window.shape_combine_mask(mask, 0, 0) context.set_source_surface(surface, 0, 0) context.paint() def __containsPoint(self, x, y): alloc = self.get_allocation() return 0 <= x < alloc.width and 0 <= y < alloc.height def __onDragMotion(self, arrow, context, x, y, timestamp): if not self.hovered and self.__containsPoint(x, y): self.hovered = True self.emit("hovered", Gtk.drag_get_source_widget(context)) elif self.hovered and not self.__containsPoint(x, y): self.hovered = False self.emit("left") def __onDragLeave(self, arrow, context, timestamp): if self.hovered: self.hovered = False self.emit("left") def __onDragDrop(self, arrow, context, x, y, timestamp): if self.__containsPoint(x, y): self.emit("dropped", Gtk.drag_get_source_widget(context)) context.finish(True, True, timestamp) return True pychess-1.0.0/lib/pychess/widgets/pydock/PyDockComposite.py0000755000175000017500000000726413353143212023060 0ustar varunvarun from gi.repository import Gtk, GObject from .__init__ import NORTH, EAST, SOUTH, WEST, CENTER, reprPos class PyDockComposite(Gtk.Alignment): def __init__(self, position, perspective): GObject.GObject.__init__(self, xscale=1, yscale=1) if position == NORTH or position == SOUTH: paned = Gtk.VPaned() elif position == EAST or position == WEST: paned = Gtk.HPaned() self.position = position self.perspective = perspective self.paned = paned self.add(self.paned) self.paned.show() def _del(self): for component in self.getComponents(): component._del() def __repr__(self): return "composite %s (%s, %s)" % (reprPos[self.position], repr(self.paned.get_child1()), repr(self.paned.get_child2())) def dock(self, widget, position, title, id): assert position != CENTER, "POSITION_CENTER only makes sense for leaves" parent = self.get_parent() while not isinstance(parent, PyDockComposite): parent = parent.get_parent() from .PyDockLeaf import PyDockLeaf leaf = PyDockLeaf(widget, title, id, self.perspective) new = PyDockComposite(position, self.perspective) parent.changeComponent(self, new) new.initChildren(self, leaf) return leaf def changeComponent(self, old, new): if old == self.paned.get_child1(): self.paned.remove(old) self.paned.pack1(new, resize=True, shrink=True) else: self.paned.remove(old) self.paned.pack2(new, resize=True, shrink=True) new.show() def removeComponent(self, component): if component == self.paned.get_child1(): new = self.paned.get_child2() else: new = self.paned.get_child1() self.paned.remove(new) parent = self.get_parent() while not isinstance(parent, PyDockComposite): parent = parent.get_parent() parent.changeComponent(self, new) component._del() # TODO: is this necessary? new.show() def getComponents(self): return self.paned.get_children() def initChildren(self, old, new, preserve_dimensions=False): if self.position == NORTH or self.position == WEST: self.paned.pack1(new, resize=True, shrink=True) self.paned.pack2(old, resize=True, shrink=True) elif self.position == SOUTH or self.position == EAST: self.paned.pack1(old, resize=True, shrink=True) self.paned.pack2(new, resize=True, shrink=True) old.show() new.show() def cb(widget, allocation): # Set initial position of the divider between the two panes of Gtk.Paned if allocation.height != 1: if self.position == NORTH: pos = 0.381966011 * allocation.height elif self.position == SOUTH: pos = 0.618033989 * allocation.height elif self.position == WEST: pos = 0.381966011 * allocation.width elif self.position == EAST: pos = 0.618033989 * allocation.width widget.set_position(int(pos + .5)) widget.disconnect(conid) if not preserve_dimensions: conid = self.paned.connect("size-allocate", cb) def getPosition(self): """ Returns NORTH or SOUTH if the children are packed vertically. Returns WEST or EAST if the children are packed horizontally. Returns CENTER if there is only one child """ return self.position pychess-1.0.0/lib/pychess/widgets/pydock/StarArrowButton.py0000755000175000017500000001777413353143212023133 0ustar varunvarun from math import ceil as float_ceil, pi import cairo from gi.repository import Gtk, Gdk, GObject from .OverlayWindow import OverlayWindow # ceil = lambda f: int(float_ceil(f)) def ceil(num): return int(float_ceil(num)) POSITIONS_COUNT = 5 NORTH, EAST, SOUTH, WEST, CENTER = range(POSITIONS_COUNT) DX_DY = ((0, -1), (1, 0), (0, 1), (-1, 0), (0, 0)) PADDING_X = 0.2 # Amount of button width PADDING_Y = 0.4 # Amount of button height class StarArrowButton(OverlayWindow): __gsignals__ = { 'dropped': (GObject.SignalFlags.RUN_FIRST, None, (int, object)), 'hovered': (GObject.SignalFlags.RUN_FIRST, None, (int, object)), 'left': (GObject.SignalFlags.RUN_FIRST, None, ()), } def __init__(self, parent, northSvg, eastSvg, southSvg, westSvg, centerSvg, bgSvg): OverlayWindow.__init__(self, parent) self.svgs = (northSvg, eastSvg, southSvg, westSvg, centerSvg) self.bgSvg = bgSvg self.size = () self.currentHovered = -1 # targets = [("GTK_NOTEBOOK_TAB", Gtk.TargetFlags.SAME_APP, 0xbadbeef)] targets = [Gtk.TargetEntry.new("GTK_NOTEBOOK_TAB", Gtk.TargetFlags.SAME_APP, 0xbadbeef)] self.drag_dest_set(Gtk.DestDefaults.DROP | Gtk.DestDefaults.MOTION, targets, Gdk.DragAction.MOVE) self.drag_dest_set_track_motion(True) self.myparent.button_cids += [ self.connect("drag-motion", self.__onDragMotion), self.connect("drag-leave", self.__onDragLeave), self.connect("drag-drop", self.__onDragDrop), self.connect_after("draw", self.__onExposeEvent), ] self.myparentAlloc = None self.myparentPos = None self.hasHole = False self.size = () def _calcSize(self): parentAlloc = self.myparent.get_allocation() if self.myparentAlloc is None or \ parentAlloc.width != self.myparentAlloc.width or \ parentAlloc.height != self.myparentAlloc.height: starWidth, starHeight = self.getSizeOfSvg(self.bgSvg) scale = min(1, parentAlloc.width / float(starWidth), parentAlloc.height / float(starHeight)) self.size = list(map(int, (starWidth * scale, starHeight * scale))) self.resize(self.size[0], self.size[1]) if self.get_window(): self.hasHole = True self.digAHole(self.bgSvg, self.size[0], self.size[1]) elif not self.hasHole: self.hasHole = True self.digAHole(self.bgSvg, self.size[0], self.size[1]) if self.myparent.get_window(): x_loc, y_loc = self.translateCoords( int(parentAlloc.width / 2. - self.size[0] / 2.), int(parentAlloc.height / 2. - self.size[1] / 2.)) if (x_loc, y_loc) != self.get_position(): self.move(x_loc, y_loc) self.myparentPos = self.myparent.get_window().get_position() self.myparentAlloc = parentAlloc def __onExposeEvent(self, self_, ctx): self._calcSize() context = self.get_window().cairo_create() self.paintTransparent(context) surface = self.getSurfaceFromSvg(self.bgSvg, self.size[0], self.size[1]) context.set_source_surface(surface, 0, 0) context.paint() for position in range(POSITIONS_COUNT): rect = self.__getButtonRectangle(position) context = self.get_window().cairo_create() surface = self.getSurfaceFromSvg(self.svgs[position], rect.width, rect.height) context.set_source_surface(surface, rect.x, rect.y) context.paint() def __getButtonRectangle(self, position): starWidth, starHeight = self.getSizeOfSvg(self.bgSvg) buttonWidth, buttonHeight = self.getSizeOfSvg(self.svgs[position]) buttonWidth = buttonWidth * self.size[0] / float(starWidth) buttonHeight = buttonHeight * self.size[1] / float(starHeight) dx_loc, dy_loc = DX_DY[position] x_loc = ceil(dx_loc * (1 + PADDING_X) * buttonWidth - buttonWidth / 2. + self.size[0] / 2.) y_loc = ceil(dy_loc * (1 + PADDING_Y) * buttonHeight - buttonHeight / 2. + self.size[1] / 2.) rect = Gdk.Rectangle() rect.x, rect.y, rect.width, rect.height = (x_loc, y_loc, ceil(buttonWidth), ceil(buttonHeight)) return rect def __getButtonAtPoint(self, x, y): for position in range(POSITIONS_COUNT): rect = Gdk.Rectangle() rect.x, rect.y, rect.width, rect.height = (x, y, 1, 1) inside, dest = Gdk.rectangle_intersect( self.__getButtonRectangle(position), rect) if inside: return position return -1 def __onDragMotion(self, arrow, context, x, y, timestamp): position = self.__getButtonAtPoint(x, y) if self.currentHovered != position: self.currentHovered = position if position > -1: self.emit("hovered", position, Gtk.drag_get_source_widget(context)) else: self.emit("left") if position > -1: Gdk.drag_status(context, Gdk.DragAction.MOVE, timestamp) return True Gdk.drag_status(context, Gdk.DragAction.DEFAULT, timestamp) def __onDragLeave(self, arrow, context, timestamp): if self.currentHovered != -1: self.currentHovered = -1 self.emit("left") def __onDragDrop(self, arrow, context, x, y, timestamp): position = self.__getButtonAtPoint(x, y) if position > -1: self.emit("dropped", position, Gtk.drag_get_source_widget(context)) context.finish(True, True, timestamp) return True if __name__ == "__main__": w = Gtk.Window() w.connect("delete-event", Gtk.main_quit) sab = StarArrowButton( w, "/home/thomas/Programmering/workspace/pychess/glade/dock_top.svg", "/home/thomas/Programmering/workspace/pychess/glade/dock_right.svg", "/home/thomas/Programmering/workspace/pychess/glade/dock_bottom.svg", "/home/thomas/Programmering/workspace/pychess/glade/dock_left.svg", "/home/thomas/Programmering/workspace/pychess/glade/dock_center.svg", "/home/thomas/Programmering/workspace/pychess/glade/dock_star.svg") def on_expose(widget, event): cairo_win = widget.window.cairo_create() cx_loc = cy_loc = 100 radius = 50 cairo_win.arc(cx_loc, cy_loc, radius - 1, 0, 2 * pi) cairo_win.set_source_rgba(1.0, 0.0, 0.0, 1.0) cairo_win.set_operator(cairo.OPERATOR_OVER) cairo_win.fill() # w.connect("e) w.show_all() sab.show_all() Gtk.main() # if __name__ != "__main__": # w = Gtk.Window() # w.connect("delete-event", Gtk.main_quit) # hbox = Gtk.HBox() # # l = Gtk.Layout() # l.set_size_request(200,200) # sab = StarArrowButton("/home/thomas/Programmering/workspace/pychess/glade/dock_top.svg", # "/home/thomas/Programmering/workspace/pychess/glade/dock_right.svg", # "/home/thomas/Programmering/workspace/pychess/glade/dock_bottom.svg", # "/home/thomas/Programmering/workspace/pychess/glade/dock_left.svg", # "/home/thomas/Programmering/workspace/pychess/glade/dock_center.svg", # "/home/thomas/Programmering/workspace/pychess/glade/dock_star.svg") # sab.set_size_request(200,200) # l.put(sab, 0, 0) # hbox.add(l) # def handle (*args): # sab.showAt(l, CENTER) # l.connect("button-press-event", handle) # # nb = Gtk.Notebook() # label = Gtk.Label(label="hi") # nb.append_page(label) # nb.set_tab_detachable(label, True) # hbox.add(nb) # w.add(hbox) # w.show_all() # Gtk.main() pychess-1.0.0/lib/pychess/widgets/pydock/PyDockLeaf.py0000755000175000017500000002017713353143212021763 0ustar varunvarun from gi.repository import Gtk from pychess.System.prefix import addDataPrefix from .__init__ import CENTER, TabReceiver from .PyDockComposite import PyDockComposite from .StarArrowButton import StarArrowButton from .HighlightArea import HighlightArea class PyDockLeaf(TabReceiver): def __init__(self, widget, title, id, perspective): TabReceiver.__init__(self, perspective) self.perspective = perspective self.set_no_show_all(True) self.book = Gtk.Notebook() self.book.set_name(id) self.book_cids = [ self.book.connect("drag-begin", self.__onDragBegin), self.book.connect("drag-end", self.__onDragEnd), self.book.connect_after("switch-page", self.__onPageSwitched), ] self.add(self.book) self.book.show() self.highlightArea = HighlightArea(self) self.button_cids = [] self.starButton = StarArrowButton( self, addDataPrefix("glade/dock_top.svg"), addDataPrefix("glade/dock_right.svg"), addDataPrefix("glade/dock_bottom.svg"), addDataPrefix("glade/dock_left.svg"), addDataPrefix("glade/dock_center.svg"), addDataPrefix("glade/dock_star.svg")) self.button_cids += [ self.starButton.connect("dropped", self.__onDrop), self.starButton.connect("hovered", self.__onHover), self.starButton.connect("left", self.__onLeave), ] self.dockable = True self.panels = [] self.zoomPointer = Gtk.Label() self.realtop = None self.zoomed = False # assert isinstance(widget, Gtk.Notebook) self.__add(widget, title, id) def _del(self): if self.highlightArea.handler_is_connected(self.highlightArea.cid): self.highlightArea.disconnect(self.highlightArea.cid) for cid in self.button_cids: if self.starButton.handler_is_connected(cid): self.starButton.disconnect(cid) self.button_cids = [] for cid in self.book_cids: if self.book.handler_is_connected(cid): self.book.disconnect(cid) self.starButton.myparent = None self.highlightArea.myparent = None TabReceiver._del(self) def __repr__(self): s = "leaf" # PyDockLeaf.__repr__(self) panels = [] for widget, title, id in self.getPanels(): panels.append(id) return s + " (" + ", ".join(panels) + ")" def __add(self, widget, title, id): self.panels.append((widget, title, id)) self.book.append_page(widget, title) self.book.set_tab_detachable(widget, True) self.book.set_tab_reorderable(widget, True) widget.show_all() def dock(self, widget, position, title, id): """ if position == CENTER: Add a new widget to the leaf-notebook if position != CENTER: Fork this leaf into two """ if position == CENTER: self.__add(widget, title, id) return self else: parent = self.get_parent() while not isinstance(parent, PyDockComposite): parent = parent.get_parent() leaf = PyDockLeaf(widget, title, id, self.perspective) new = PyDockComposite(position, self.perspective) parent.changeComponent(self, new) new.initChildren(self, leaf) new.show_all() return leaf def undock(self, widget): """ remove the widget from the leaf-notebook if this was the only widget, remove this leaf from its owner """ gtk_version = (Gtk.get_major_version(), Gtk.get_minor_version()) if gtk_version >= (3, 16): self.book.detach_tab(widget) else: # To not destroy accidentally our panel widget we need to add a reference to it # https://lazka.github.io/pgi-docs/#Gtk-3.0/classes/Container.html#Gtk.Container.remove widget._ref() self.book.remove(widget) for i, (widget_, title, id) in enumerate(self.panels): if widget_ == widget: break else: raise KeyError("No %s in %s" % (widget, self)) del self.panels[i] if self.book.get_n_pages() == 0: parent = self.get_parent() while not isinstance(parent, PyDockComposite): parent = parent.get_parent() parent.removeComponent(self) self._del() return title, id def zoomUp(self): if self.zoomed: return from .PyDockTop import PyDockTop parent = self.get_parent() if not isinstance(parent, PyDockTop): while not isinstance(parent, PyDockComposite): parent = parent.get_parent() parent.changeComponent(self, self.zoomPointer) while not isinstance(parent, PyDockTop): parent = parent.get_parent() self.realtop = parent.getComponents()[0] parent.changeComponent(self.realtop, self) self.zoomed = True self.book.set_show_border(False) def zoomDown(self): if not self.zoomed: return if self.zoomPointer.get_parent(): top_parent = self.get_parent() old_parent = self.zoomPointer.get_parent() while not isinstance(old_parent, PyDockComposite): old_parent = old_parent.get_parent() top_parent.changeComponent(self, self.realtop) old_parent.changeComponent(self.zoomPointer, self) self.realtop = None self.zoomed = False self.book.set_show_border(True) def getPanels(self): """ Returns a list of (widget, title, id) tuples """ return self.panels def getCurrentPanel(self): for i, (widget, title, id) in enumerate(self.panels): if i == self.book.get_current_page(): return id def setCurrentPanel(self, id): """ Returns the panel id currently shown """ for i, (widget, title, id_) in enumerate(self.panels): if id == id_: self.book.set_current_page(i) break def isDockable(self): return self.dockable def setDockable(self, dockable): """ If the leaf is not dockable it won't be moveable and won't accept new panels """ self.book.set_show_tabs(dockable) # self.book.set_show_border(dockable) self.dockable = dockable def showArrows(self): if self.dockable: self.starButton._calcSize() self.starButton.show() def hideArrows(self): self.starButton.hide() self.highlightArea.hide() def __onDragBegin(self, widget, context): for instance in self.getInstances(self.perspective): instance.showArrows() def __onDragEnd(self, widget, context): for instance in self.getInstances(self.perspective): instance.hideArrows() def __onDrop(self, starButton, position, sender): self.highlightArea.hide() # if the undocked leaf was alone, __onDragEnd may not triggered # because leaf was removed for instance in self.getInstances(self.perspective): instance.hideArrows() if self.dockable: if sender.get_parent() == self and self.book.get_n_pages() == 1: return # cp = sender.get_current_page() child = sender.get_nth_page(sender.get_current_page()) title, id = sender.get_parent().undock(child) self.dock(child, position, title, id) def __onHover(self, starButton, position, widget): if self.dockable: self.highlightArea.showAt(position) starButton.get_window().raise_() def __onLeave(self, starButton): self.highlightArea.hide() def __onPageSwitched(self, book, page, page_num): # When a tab is dragged over another tab, the page is temporally # switched, and the notebook child is hovered. Thus we need to reraise # our star if self.starButton.get_window(): self.starButton.get_window().raise_() pychess-1.0.0/lib/pychess/widgets/pydock/PyDockTop.py0000755000175000017500000002606513353143212021660 0ustar varunvarun import os from xml.dom import minidom from collections import defaultdict from pychess.System.prefix import addDataPrefix from .PyDockLeaf import PyDockLeaf from .PyDockComposite import PyDockComposite from .ArrowButton import ArrowButton from .HighlightArea import HighlightArea from .__init__ import TabReceiver from .__init__ import NORTH, EAST, SOUTH, WEST, CENTER class PyDockTop(PyDockComposite, TabReceiver): def __init__(self, id, perspective): TabReceiver.__init__(self, perspective) self.id = id self.perspective = perspective self.set_no_show_all(True) self.highlightArea = HighlightArea(self) self.button_cids = defaultdict(list) self.buttons = ( ArrowButton(self, addDataPrefix("glade/dock_top.svg"), NORTH), ArrowButton(self, addDataPrefix("glade/dock_right.svg"), EAST), ArrowButton(self, addDataPrefix("glade/dock_bottom.svg"), SOUTH), ArrowButton(self, addDataPrefix("glade/dock_left.svg"), WEST)) for button in self.buttons: self.button_cids[button] += [ button.connect("dropped", self.__onDrop), button.connect("hovered", self.__onHover), button.connect("left", self.__onLeave), ] def _del(self): if self.highlightArea.handler_is_connected(self.highlightArea.cid): self.highlightArea.disconnect(self.highlightArea.cid) for button in self.buttons: for cid in self.button_cids[button]: if button.handler_is_connected(cid): button.disconnect(cid) button.myparent = None self.button_cids = {} self.highlightArea.myparent = None TabReceiver._del(self) PyDockComposite._del(self) def getPosition(self): return CENTER def __repr__(self): return "top (%s)" % self.id # =========================================================================== # Component stuff # =========================================================================== def addComponent(self, widget): self.add(widget) widget.show() def changeComponent(self, old, new): self.removeComponent(old) self.addComponent(new) def removeComponent(self, widget): self.remove(widget) def getComponents(self): child = self.get_child() if isinstance(child, PyDockComposite) or isinstance(child, PyDockLeaf): return [child] return [] def dock(self, widget, position, title, id): if not self.getComponents(): leaf = PyDockLeaf(widget, title, id, self.perspective) self.addComponent(leaf) return leaf else: return self.get_child().dock(widget, position, title, id) def clear(self): self.remove(self.get_child()) # =========================================================================== # Signals # =========================================================================== def showArrows(self): for button in self.buttons: button._calcSize() button.show() def hideArrows(self): for button in self.buttons: button.hide() self.highlightArea.hide() def __onDrop(self, arrowButton, sender): self.highlightArea.hide() child = sender.get_nth_page(sender.get_current_page()) for instance in sender.get_parent().getInstances(self.perspective): instance.hideArrows() title, id = sender.get_parent().undock(child) self.dock(child, arrowButton.myposition, title, id) def __onHover(self, arrowButton, widget): self.highlightArea.showAt(arrowButton.myposition) arrowButton.get_window().raise_() def __onLeave(self, arrowButton): self.highlightArea.hide() # =========================================================================== # XML # =========================================================================== def saveToXML(self, xmlpath): """ """ dockElem = None if os.path.isfile(xmlpath): doc = minidom.parse(xmlpath) for elem in doc.getElementsByTagName("dock"): if elem.getAttribute("id") == self.id: for node in elem.childNodes: elem.removeChild(node) dockElem = elem break if not dockElem: doc = minidom.getDOMImplementation().createDocument(None, "docks", None) dockElem = doc.createElement("dock") dockElem.setAttribute("id", self.id) doc.documentElement.appendChild(dockElem) if self.get_child(): self.__addToXML(self.get_child(), dockElem, doc) f_handle = open(xmlpath, "w") doc.writexml(f_handle) f_handle.close() doc.unlink() def __addToXML(self, component, parentElement, document): if isinstance(component, PyDockComposite): pos = component.paned.get_position() if component.getPosition() in (NORTH, SOUTH): childElement = document.createElement("v") size = float(component.get_allocation().height) else: childElement = document.createElement("h") size = float(component.get_allocation().width) # if component.getPosition() in (NORTH, SOUTH): # print "saving v position as %s out of %s (%s)" % (str(pos), str(size), str(pos/max(size,pos))) childElement.setAttribute("pos", str(pos / max(size, pos))) self.__addToXML(component.getComponents()[0], childElement, document) self.__addToXML(component.getComponents()[1], childElement, document) elif isinstance(component, PyDockLeaf): childElement = document.createElement("leaf") childElement.setAttribute("current", component.getCurrentPanel()) childElement.setAttribute("dockable", str(component.isDockable())) for panel, title, id in component.getPanels(): element = document.createElement("panel") element.setAttribute("id", id) element.setAttribute("visible", str(panel.get_visible())) childElement.appendChild(element) parentElement.appendChild(childElement) def loadFromXML(self, xmlpath, idToWidget): """ idTowidget is a dictionary {id: (widget,title)} asserts that self.id is in the xmlfile """ doc = minidom.parse(xmlpath) for elem in doc.getElementsByTagName("dock"): if elem.getAttribute("id") == self.id: break else: raise AttributeError( "XML file contains no elements with id '%s'" % self.id) child = [n for n in elem.childNodes if isinstance(n, minidom.Element)] if child: self.addComponent(self.__createWidgetFromXML(child[0], idToWidget)) def __createWidgetFromXML(self, parentElement, idToWidget): children = [n for n in parentElement.childNodes if isinstance(n, minidom.Element)] if parentElement.tagName in ("h", "v"): child1, child2 = children if parentElement.tagName == "h": new = PyDockComposite(EAST, self.perspective) else: new = PyDockComposite(SOUTH, self.perspective) new.initChildren( self.__createWidgetFromXML(child1, idToWidget), self.__createWidgetFromXML(child2, idToWidget), preserve_dimensions=True) def cb(widget, event, pos): allocation = widget.get_allocation() if parentElement.tagName == "h": widget.set_position(int(allocation.width * pos)) else: # print "loading v position as %s out of %s (%s)" % \ # (int(allocation.height * pos), str(allocation.height), str(pos)) widget.set_position(int(allocation.height * pos)) widget.disconnect(conid) conid = new.paned.connect("size-allocate", cb, float(parentElement.getAttribute("pos"))) return new elif parentElement.tagName == "leaf": id = children[0].getAttribute("id") try: title, widget, menu_item = idToWidget[id] except KeyError: id = self.old2new(id) title, widget, menu_item = idToWidget[id] leaf = PyDockLeaf(widget, title, id, self.perspective) visible = children[0].getAttribute("visible") visible = visible == "" or visible == "True" widget.set_visible(visible) if menu_item is not None: menu_item.set_active(visible) for panelElement in children[1:]: id = panelElement.getAttribute("id") try: title, widget, menu_item = idToWidget[id] except KeyError: id = self.old2new(id) title, widget, menu_item = idToWidget[id] visible = panelElement.getAttribute("visible") visible = visible == "" or visible == "True" leaf.dock(widget, CENTER, title, id) widget.set_visible(visible) if menu_item is not None: menu_item.set_active(visible) leaf.setCurrentPanel(self.old2new(parentElement.getAttribute("current"))) if parentElement.getAttribute("dockable").lower() == "false": leaf.setDockable(False) return leaf def old2new(self, name): """ After 0.99.0 database perspective panel names changed """ x = {"switcher": "SwitcherPanel", "openingtree": "OpeningTreePanel", "filter": "FilterPanel", "preview": "PreviewPanel", "chat": "ChatPanel", "console": "ConsolePanel", "news": "NewsPanel", "seeklist": "SeekListPanel", "seekgraph": "SeekGraphPanel", "playerlist": "PlayerListPanel", "gamelist": "GameListPanel", "archivelist": "ArchiveListPanel", } return x[name] if name in x else name pychess-1.0.0/lib/pychess/widgets/pydock/OverlayWindow.py0000755000175000017500000001276313365545272022634 0ustar varunvarun import os import re import tempfile import cairo from gi.repository import Gtk, Gdk, Rsvg from pychess.widgets.Background import hexcol class OverlayWindow(Gtk.Window): """ This class knows about being an overlaywindow and some svg stuff """ cache = { } # Class global self.cache for svgPath:rsvg and (svgPath,w,h):surface def __init__(self, parent): Gtk.Window.__init__(self, type=Gtk.WindowType.POPUP) # set RGBA visual for the window so transparency works self.set_app_paintable(True) visual = self.get_screen().get_rgba_visual() if visual: self.set_visual(visual) self.myparent = parent # =========================================================================== # The overlay stuff # =========================================================================== def paintTransparent(self, cairoContext): if self.is_composited(): cairoContext.set_operator(cairo.OPERATOR_CLEAR) cairoContext.set_source_rgba(0, 0, 0, 0) cairoContext.paint() cairoContext.set_operator(cairo.OPERATOR_OVER) def digAHole(self, svgShape, width, height): # FIXME # For Python 2.x pycairo does not support/implement cairo.Region() # https://bugs.launchpad.net/ubuntu/+source/pygobject/+bug/1028115/comments/8 return # Create a bitmap and clear it mask = cairo.ImageSurface(cairo.FORMAT_A1, width, height) mcontext = cairo.Context(mask) mcontext.set_source_rgb(0, 0, 0) mcontext.set_operator(cairo.OPERATOR_DEST_OUT) mcontext.paint() # Paint our shape surface = self.getSurfaceFromSvg(svgShape, width, height) mcontext.set_operator(cairo.OPERATOR_OVER) mcontext.set_source_surface(surface, 0, 0) mcontext.paint() # Apply it only if aren't composited, in which case we only need input # masking try: mregion = Gdk.cairo_region_create_from_surface(mask) except TypeError: return if self.is_composited(): self.get_window().input_shape_combine_region(mregion, 0, 0) else: self.get_window().shape_combine_region(mregion, 0, 0) def translateCoords(self, x, y): top_level = self.myparent.get_toplevel() window = top_level.get_window() if window is None: print(" !!! get_window() returned None for", self.myparent, top_level) else: x_loc1, y_loc1 = window.get_position() translate_x = self.myparent.translate_coordinates(self.myparent.get_toplevel(), x, y) x = x_loc1 + translate_x[0] y = y_loc1 + translate_x[1] return x, y # =========================================================================== # The SVG stuff # =========================================================================== def getSurfaceFromSvg(self, svgPath, width, height): path = os.path.abspath(svgPath) if (path, width, height) in self.cache: return self.cache[(path, width, height)] else: if path in self.cache: svg = self.cache[path] else: svg = self.__loadNativeColoredSvg(path) self.cache[path] = svg surface = self.__svgToSurface(svg, width, height) self.cache[(path, width, height)] = surface return surface def getSizeOfSvg(self, svgPath): path = os.path.abspath(svgPath) if path not in self.cache: svg = self.__loadNativeColoredSvg(path) self.cache[path] = svg svg = self.cache[path] return (svg.props.width, svg.props.height) def __loadNativeColoredSvg(self, svgPath): TEMP_PATH = os.path.join(tempfile.gettempdir(), "pychess_theamed.svg") # return hex string #rrggbb def getcol(col): found, color = sytle_ctxt.lookup_color(col) # not found colors are black if not found: print("color not found in overlaywindow.py:", col) return hexcol(color) sytle_ctxt = self.get_style_context() colorDic = {"#18b0ff": getcol("p_light_selected"), "#575757": getcol("p_text_aa"), "#e3ddd4": getcol("p_bg_color"), "#d4cec5": getcol("p_bg_insensitive"), "#ffffff": getcol("p_base_color"), "#000000": getcol("p_fg_color")} data = open(svgPath).read() data = re.sub( "|".join(colorDic.keys()), lambda m: m.group() in colorDic and colorDic[m.group()] or m.group(), data) f_handle = open(TEMP_PATH, "w") f_handle.write(data) f_handle.close() svg = Rsvg.Handle.new_from_file(TEMP_PATH) os.remove(TEMP_PATH) return svg def __svgToSurface(self, svg, width, height): assert isinstance(width, int) surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, width, height) context = cairo.Context(surface) context.set_operator(cairo.OPERATOR_SOURCE) if svg.props.width != width or svg.props.height != height: context.scale(width / float(svg.props.width), height / float(svg.props.height)) svg.render_cairo(context) return surface def __onStyleSet(self, self_, oldstyle): self.cache.clear() pychess-1.0.0/lib/pychess/widgets/pydock/HighlightArea.py0000755000175000017500000000435713353143212022504 0ustar varunvarun import cairo from .__init__ import NORTH, EAST, SOUTH, WEST, CENTER from .OverlayWindow import OverlayWindow from math import ceil as fceil # ceil = lambda f: int(fceil(f)) def ceil(f): return int(fceil(f)) class HighlightArea(OverlayWindow): """ An entirely blue widget """ def __init__(self, parent): OverlayWindow.__init__(self, parent) self.cid = self.connect_after("draw", self.__onExpose) def showAt(self, position): alloc = self.myparent.get_allocation() if position == NORTH: x_loc, y_loc = 0, 0 width, height = alloc.width, alloc.height * 0.381966011 elif position == EAST: x_loc, y_loc = alloc.width * 0.618033989, 0 width, height = alloc.width * 0.381966011, alloc.height elif position == SOUTH: x_loc, y_loc = 0, alloc.height * 0.618033989 width, height = alloc.width, alloc.height * 0.381966011 elif position == WEST: x_loc, y_loc = 0, 0 width, height = alloc.width * 0.381966011, alloc.height elif position == CENTER: x_loc, y_loc = 0, 0 width, height = alloc.width, alloc.height try: x_loc, y_loc = self.translateCoords(int(x_loc), int(y_loc)) self.move(x_loc, y_loc) except ValueError: pass # Can't move to x,y, because top level parent has no window. self.resize(ceil(width), ceil(height)) self.show() def __onExpose(self, self_, ctx): context = self.get_window().cairo_create() a = self_.get_allocation() context.rectangle(a.x, a.y, a.width, a.height) sc = self.get_style_context() found, color = sc.lookup_color('p_light_selected') if self.is_composited(): context.set_operator(cairo.OPERATOR_CLEAR) context.set_source_rgba(0, 0, 0, 0.0) context.fill_preserve() context.set_operator(cairo.OPERATOR_OVER) context.set_source_rgba(color.red, color.green, color.blue, 0.5) context.fill() else: context.set_source_rgba(color.red, color.green, color.blue) context.set_operator(cairo.OPERATOR_OVER) context.fill() pychess-1.0.0/lib/pychess/widgets/analyzegameDialog.py0000644000175000017500000002320113365545272022131 0ustar varunvarunimport asyncio from gi.repository import Gtk from pychess.compat import create_task from pychess.Utils.const import HINT, SPY, BLACK, WHITE from pychess.System import conf from pychess.System import uistuff from pychess.System.Log import log from pychess.Utils import prettyPrintScore from pychess.Utils.Move import listToMoves, parseAny from pychess.Utils.lutils.lmove import ParsingError from pychess.Players.engineNest import discoverer from pychess.widgets.preferencesDialog import anal_combo_get_value, anal_combo_set_value from pychess.widgets.InfoBar import InfoBarMessage, InfoBarMessageButton from pychess.widgets import mainwindow from pychess.widgets import InfoBar from pychess.perspectives import perspective_manager class AnalyzeGameDialog(): def __init__(self): self.widgets = uistuff.GladeWidgets("analyze_game.glade") self.widgets["analyze_game"].set_transient_for(mainwindow()) self.stop_event = asyncio.Event() uistuff.keep(self.widgets["fromCurrent"], "fromCurrent") uistuff.keep(self.widgets["shouldBlack"], "shouldBlack") uistuff.keep(self.widgets["shouldWhite"], "shouldWhite") uistuff.keep(self.widgets["threatPV"], "threatPV") uistuff.keep(self.widgets["showEval"], "showEval") uistuff.keep(self.widgets["showBlunder"], "showBlunder") uistuff.keep(self.widgets["max_analysis_spin"], "max_analysis_spin") uistuff.keep(self.widgets["variation_threshold_spin"], "variation_threshold_spin") # Analyzing engines uistuff.createCombo(self.widgets["ana_combobox"], name="ana_combobox") from pychess.widgets import newGameDialog def update_analyzers_store(discoverer): data = [(item[0], item[1]) for item in newGameDialog.analyzerItems] uistuff.updateCombo(self.widgets["ana_combobox"], data) discoverer.connect_after("all_engines_discovered", update_analyzers_store) update_analyzers_store(discoverer) uistuff.keep(self.widgets["ana_combobox"], "ana_combobox", anal_combo_get_value, lambda combobox, value: anal_combo_set_value(combobox, value, "hint_mode", HINT)) def hide_window(button, *args): self.widgets["analyze_game"].destroy() def abort(): self.analyzer.pause() if self.threat_PV: self.inv_analyzer.pause() self.stop_event.set() self.widgets["analyze_game"].destroy() def run_analyze(button, *args): @asyncio.coroutine def coro(): persp = perspective_manager.get_perspective("games") gmwidg = persp.cur_gmwidg() gamemodel = gmwidg.gamemodel old_check_value = conf.get("analyzer_check") conf.set("analyzer_check", True) if HINT not in gamemodel.spectators: try: yield from asyncio.wait_for(gamemodel.start_analyzer(HINT), 5.0) except asyncio.TimeoutError: log.error("Got timeout error while starting hint analyzer") return except Exception: log.error("Unknown error while starting hint analyzer") return self.analyzer = gamemodel.spectators[HINT] gmwidg.menuitems["hint_mode"].active = True self.threat_PV = conf.get("ThreatPV") if self.threat_PV: old_inv_check_value = conf.get("inv_analyzer_check") conf.set("inv_analyzer_check", True) if SPY not in gamemodel.spectators: try: yield from asyncio.wait_for(gamemodel.start_analyzer(SPY), 5.0) except asyncio.TimeoutError: log.error("Got timeout error while starting spy analyzer") return except Exception: log.error("Unknown error while starting spy analyzer") return inv_analyzer = gamemodel.spectators[SPY] gmwidg.menuitems["spy_mode"].active = True title = _("Game analyzing in progress...") text = _("Do you want to abort it?") content = InfoBar.get_message_content(title, text, Gtk.STOCK_DIALOG_QUESTION) def response_cb(infobar, response, message): conf.set("analyzer_check", old_check_value) if self.threat_PV: conf.set("inv_analyzer_check", old_inv_check_value) message.dismiss() abort() message = InfoBarMessage(Gtk.MessageType.QUESTION, content, response_cb) message.add_button(InfoBarMessageButton(_("Abort"), Gtk.ResponseType.CANCEL)) gmwidg.replaceMessages(message) @asyncio.coroutine def analyse_moves(): should_black = conf.get("shouldBlack") should_white = conf.get("shouldWhite") from_current = conf.get("fromCurrent") start_ply = gmwidg.board.view.shown if from_current else 0 move_time = int(conf.get("max_analysis_spin")) threshold = int(conf.get("variation_threshold_spin")) for board in gamemodel.boards[start_ply:]: if self.stop_event.is_set(): break gmwidg.board.view.setShownBoard(board) self.analyzer.setBoard(board) if self.threat_PV: inv_analyzer.setBoard(board) yield from asyncio.sleep(move_time + 0.1) ply = board.ply - gamemodel.lowply color = (ply - 1) % 2 if ply - 1 in gamemodel.scores and ply in gamemodel.scores and ( (color == BLACK and should_black) or (color == WHITE and should_white)): oldmoves, oldscore, olddepth = gamemodel.scores[ply - 1] oldscore = oldscore * -1 if color == BLACK else oldscore score_str = prettyPrintScore(oldscore, olddepth) moves, score, depth = gamemodel.scores[ply] score = score * -1 if color == WHITE else score diff = score - oldscore if ((diff > threshold and color == BLACK) or (diff < -1 * threshold and color == WHITE)) and ( gamemodel.moves[ply - 1] != parseAny(gamemodel.boards[ply - 1], oldmoves[0])): if self.threat_PV: try: if ply - 1 in gamemodel.spy_scores: oldmoves0, oldscore0, olddepth0 = gamemodel.spy_scores[ply - 1] score_str0 = prettyPrintScore(oldscore0, olddepth0) pv0 = listToMoves(gamemodel.boards[ply - 1], ["--"] + oldmoves0, validate=True) if len(pv0) > 2: gamemodel.add_variation(gamemodel.boards[ply - 1], pv0, comment="Threatening", score=score_str0, emit=False) except ParsingError as e: # ParsingErrors may happen when parsing "old" lines from # analyzing engines, which haven't yet noticed their new tasks log.debug("__parseLine: Ignored (%s) from analyzer: ParsingError%s" % (' '.join(oldmoves), e)) try: pv = listToMoves(gamemodel.boards[ply - 1], oldmoves, validate=True) gamemodel.add_variation(gamemodel.boards[ply - 1], pv, comment="Better is", score=score_str, emit=False) except ParsingError as e: # ParsingErrors may happen when parsing "old" lines from # analyzing engines, which haven't yet noticed their new tasks log.debug("__parseLine: Ignored (%s) from analyzer: ParsingError%s" % (' '.join(oldmoves), e)) self.widgets["analyze_game"].hide() self.widgets["analyze_ok_button"].set_sensitive(True) conf.set("analyzer_check", old_check_value) if self.threat_PV: conf.set("inv_analyzer_check", old_inv_check_value) message.dismiss() gamemodel.emit("analysis_finished") create_task(analyse_moves()) hide_window(None) return True create_task(coro()) self.widgets["analyze_game"].connect("delete-event", hide_window) self.widgets["analyze_cancel_button"].connect("clicked", hide_window) self.widgets["analyze_ok_button"].connect("clicked", run_analyze) def run(self): self.stop_event.clear() self.widgets["analyze_game"].show() self.widgets["analyze_game"].present() pychess-1.0.0/lib/pychess/widgets/TaskerManager.py0000644000175000017500000004504713365545272021254 0ustar varunvarunimport math import random from os.path import basename from urllib.request import urlopen from urllib.parse import unquote from gi.repository import Gtk, GObject, Pango from pychess.compat import create_task from pychess.Players.Human import Human from pychess.Players.engineNest import discoverer from pychess.System import uistuff, conf from pychess.Utils.GameModel import GameModel from pychess.Utils.IconLoader import load_icon, get_pixbuf from pychess.Utils.TimeModel import TimeModel from pychess.Utils.const import LOCAL, ARTIFICIAL, WHITE, BLACK, NORMALCHESS, LECTURE, LESSON, PUZZLE, ENDGAME from pychess.Variants import variants from pychess.ic import ICLogon from pychess.widgets import newGameDialog from pychess.widgets.Background import giveBackground from pychess.widgets.RecentChooser import recent_manager, recent_menu from pychess.perspectives import perspective_manager from pychess.perspectives.games import get_open_dialog from pychess.perspectives.learn.LecturesPanel import LECTURES, start_lecture_from from pychess.perspectives.learn.EndgamesPanel import ENDGAMES, start_endgame_from from pychess.perspectives.learn.LessonsPanel import LESSONS, start_lesson_from from pychess.perspectives.learn.PuzzlesPanel import PUZZLES, start_puzzle_from class TaskerManager(Gtk.Table): def __init__(self): GObject.GObject.__init__(self) self.border = 20 giveBackground(self) self.connect("draw", self.expose) # self.set_homogeneous(True) def expose(self, widget, ctx): cairo_win = widget.get_window().cairo_create() for widget in self.widgets: x_loc = widget.get_allocation().x y_loc = widget.get_allocation().y width = widget.get_allocation().width height = widget.get_allocation().height cairo_win.move_to(x_loc - self.border, y_loc) cairo_win.curve_to(x_loc - self.border, y_loc - self.border / 2., x_loc - self.border / 2., y_loc - self.border, x_loc, y_loc - self.border) cairo_win.line_to(x_loc + width, y_loc - self.border) cairo_win.curve_to(x_loc + width + self.border / 2., y_loc - self.border, x_loc + width + self.border, y_loc - self.border / 2., x_loc + width + self.border, y_loc) cairo_win.line_to(x_loc + width + self.border, y_loc + height) cairo_win.curve_to(x_loc + width + self.border, y_loc + height + self.border / 2., x_loc + width + self.border / 2., y_loc + height + self.border, x_loc + width, y_loc + height + self.border) cairo_win.line_to(x_loc, y_loc + height + self.border) cairo_win.curve_to(x_loc - self.border / 2., y_loc + height + self.border, x_loc - self.border, y_loc + height + self.border / 2., x_loc - self.border, y_loc + height) style_ctxt = self.get_style_context() bgcolor = style_ctxt.lookup_color("p_bg_color")[1] darkcolor = style_ctxt.lookup_color("p_dark_color")[1] cairo_win.set_source_rgba(bgcolor.red, bgcolor.green, bgcolor.blue, bgcolor.alpha) cairo_win.fill() cairo_win.rectangle(x_loc - self.border, y_loc + height - 30, width + self.border * 2, 30) cairo_win.set_source_rgba(darkcolor.red, darkcolor.green, darkcolor.blue, darkcolor.alpha) cairo_win.fill() def calcSpacings(self, n): """ Will yield ranges like ((.50,.50),) ((.66,.33), (.33,.66)) ((.75,.25), (.50,.50), (.25,.75)) ((.80,.20), (.60,.40), (.40,.60), (.20,.80)) Used to create the centering in the table """ first = next = (n) / float(n + 1) for i in range(n): yield (next, 1 - next) next = first - (1 - next) def on_size_allocate(self, widget, allocation): window = self.get_window() if window is not None: window.invalidate_rect(self.get_allocation(), False) def packTaskers(self, *widgets): self.widgets = widgets for widget in widgets: widget.connect("size-allocate", self.on_size_allocate) root = math.sqrt(len(widgets)) # Calculate number of rows rows = int(math.ceil(root)) # Calculate number of filled out rows rrows = int(math.floor(root)) # Calculate number of cols in filled out rows cols = int(math.ceil(len(widgets) / float(rows))) # Calculate spacings vspac = [s[0] for s in self.calcSpacings(rows)] hspac = [s[0] for s in self.calcSpacings(cols)] # Clear and set up new size for child in self.get_children(): self.remove(child) self.props.n_columns = cols self.props.n_rows = rows # Add filled out rows for row in range(rows): for col in range(cols): widget = widgets[row * cols + col] alignment = Gtk.Alignment.new(hspac[col], vspac[row], 0, 0) alignment.add(widget) self.attach(alignment, col, col + 1, row, row + 1) return # Add last row if rows > rrows: lastrow = Gtk.HBox() # Calculate number of widgets in last row numw = len(widgets) - cols * rrows hspac = [s[0] for s in self.calcSpacings(numw)] for col, widget in enumerate(widgets[-numw:]): alignment = Gtk.Alignment.new(hspac[col], vspac[-1], 0, 0) alignment.add(widget) alignment.set_padding(self.border, self.border, self.border, self.border) lastrow.pack_start(alignment, True, True, 0) self.attach(lastrow, 0, cols, rrows, rrows + 1) tasker = TaskerManager() tasker_widgets = uistuff.GladeWidgets("taskers.glade") class NewGameTasker(Gtk.Alignment): def __init__(self): GObject.GObject.__init__(self) self.widgets = widgets = tasker_widgets tasker = widgets["newGameTasker"] tasker.unparent() self.add(tasker) startButton = self.widgets["startButton"] startButton.set_name("startButton") combo = Gtk.ComboBox() uistuff.createCombo(combo, [ (get_pixbuf("glade/white.png"), _("White")), (get_pixbuf("glade/black.png"), _("Black")), (get_pixbuf("glade/random.png"), _("Random"))]) widgets["colorDock"].add(combo) if combo.get_active() < 0: combo.set_active(0) widgets['yourColorLabel'].set_mnemonic_widget(combo) # We need to wait until after engines have been discovered, to init the # playerCombos. We use connect_after to make sure, that newGameDialog # has also had time to init the constants we share with them. self.playerCombo = Gtk.ComboBox() widgets["opponentDock"].add(self.playerCombo) discoverer.connect_after("all_engines_discovered", self.__initPlayerCombo, widgets) widgets['opponentLabel'].set_mnemonic_widget(self.playerCombo) def on_skill_changed(scale): # Just to make sphinx happy... try: pix = newGameDialog.skillToIconLarge[int(scale.get_value())] widgets["skillImage"].set_from_pixbuf(pix) except TypeError: pass widgets["skillSlider"].connect("value-changed", on_skill_changed) on_skill_changed(widgets["skillSlider"]) widgets["startButton"].connect("clicked", self.startClicked) self.widgets["opendialog1"].connect("clicked", self.openDialogClicked) def __initPlayerCombo(self, discoverer, widgets): combo = self.playerCombo uistuff.createCombo(combo, newGameDialog.playerItems[0]) if combo.get_active() < 0: combo.set_active(1) uistuff.keep(self.playerCombo, "newgametasker_playercombo") def on_playerCombobox_changed(widget): widgets["skillSlider"].props.visible = widget.get_active() > 0 combo.connect("changed", on_playerCombobox_changed) uistuff.keep(widgets["skillSlider"], "taskerSkillSlider") widgets["skillSlider"].set_no_show_all(True) on_playerCombobox_changed(self.playerCombo) def openDialogClicked(self, button): newGameDialog.NewGameMode.run() def startClicked(self, button): color = self.widgets["colorDock"].get_child().get_active() if color == 2: color = random.choice([WHITE, BLACK]) opp = self.widgets["opponentDock"].get_child() tree_iter = opp.get_active_iter() if tree_iter is not None: model = opp.get_model() engine = model[tree_iter][1] opponent = self.widgets["opponentDock"].get_child().get_active() difficulty = int(self.widgets["skillSlider"].get_value()) gamemodel = GameModel(TimeModel(5 * 60, 0)) name = conf.get("firstName") player0tup = (LOCAL, Human, (color, name), name) if opponent == 0: name = conf.get("secondName") player1tup = (LOCAL, Human, (1 - color, name), name) else: engine = discoverer.getEngineByName(engine) name = discoverer.getName(engine) player1tup = (ARTIFICIAL, discoverer.initPlayerEngine, (engine, 1 - color, difficulty, variants[NORMALCHESS], 5 * 60, 0), name) perspective = perspective_manager.get_perspective("games") if color == WHITE: create_task(perspective.generalStart(gamemodel, player0tup, player1tup)) else: create_task(perspective.generalStart(gamemodel, player1tup, player0tup)) big_start = load_icon(48, "stock_init", "gnome-globe", "applications-internet") class InternetGameTasker(Gtk.Alignment): def __init__(self): GObject.GObject.__init__(self) self.widgets = tasker_widgets tasker = self.widgets["internetGameTasker"] tasker.unparent() self.add(tasker) if ICLogon.dialog is None: ICLogon.dialog = ICLogon.ICLogon() liststore = Gtk.ListStore(str) liststore.append(["FICS"]) liststore.append(["ICC"]) self.ics_combo = self.widgets["ics_combo"] self.ics_combo.set_model(liststore) renderer_text = Gtk.CellRendererText() self.ics_combo.pack_start(renderer_text, True) self.ics_combo.add_attribute(renderer_text, "text", 0) self.ics_combo.connect("changed", ICLogon.dialog.on_ics_combo_changed) self.ics_combo.set_active(conf.get("ics_combo")) self.widgets["connectButton"].connect("clicked", self.connectClicked) self.widgets["opendialog2"].connect("clicked", self.openDialogClicked) self.widgets["startIcon"].set_from_pixbuf(big_start) uistuff.keep(self.widgets["ics_combo"], "ics_combo") uistuff.keep(self.widgets["autoLogin"], "autoLogin") def openDialogClicked(self, button): ICLogon.run() def connectClicked(self, button): ICLogon.run() if not ICLogon.dialog.connection: ICLogon.dialog.widgets["connectButton"].clicked() class LearnTasker(Gtk.Alignment): def __init__(self): GObject.GObject.__init__(self) self.widgets = tasker_widgets tasker = self.widgets["learnTasker"] tasker.unparent() self.add(tasker) startButton = self.widgets["learnButton"] startButton.set_name("learnButton") categorystore = Gtk.ListStore(int, str) learn_mapping = { LECTURE: (_("Lectures"), LECTURES), LESSON: (_("Lessons"), LESSONS), PUZZLE: (_("Puzzles"), PUZZLES), ENDGAME: (_("Endgames"), ENDGAMES), } for key, value in learn_mapping.items(): categorystore.append([key, value[0]]) self.category_combo = self.widgets["category_combo"] self.category_combo.set_model(categorystore) renderer = Gtk.CellRendererText() self.category_combo.pack_start(renderer, True) self.category_combo.add_attribute(renderer, "text", 1) self.learnstore = Gtk.ListStore(str, str) self.learn_combo = self.widgets["learn_combo"] self.learn_combo.set_model(self.learnstore) renderer_text = Gtk.CellRendererText() renderer_text.set_property("width-chars", 30) renderer_text.set_property("ellipsize", Pango.EllipsizeMode.END) self.learn_combo.pack_start(renderer_text, True) self.learn_combo.add_attribute(renderer_text, "text", 1) self.learn_combo.set_active(0) def on_category_changed(combo): tree_iter = combo.get_active_iter() if tree_iter is None: return else: model = combo.get_model() self.category = model[tree_iter][0] self.learnstore.clear() if self.category == LECTURE: for file_name, title, author in LECTURES: self.learnstore.append([file_name, title]) elif self.category == LESSON: for file_name, title, author in LESSONS: self.learnstore.append([file_name, title]) elif self.category == PUZZLE: for file_name, title, author in PUZZLES: self.learnstore.append([file_name, title]) elif self.category == ENDGAME: for pieces, title in ENDGAMES: self.learnstore.append([pieces, title]) learn = conf.get("learncombo%s" % self.category) self.learn_combo.set_active(learn) def on_learn_changed(combo): tree_iter = combo.get_active_iter() if tree_iter is None: return else: model = combo.get_model() newlearn = model.get_path(tree_iter)[0] conf.set("learncombo%s" % self.category, newlearn) self.learn_combo.connect("changed", on_learn_changed) self.category_combo.connect("changed", on_category_changed) self.category = conf.get("categorycombo") self.category_combo.set_active(self.category) uistuff.keep(self.widgets["category_combo"], "categorycombo") self.widgets["opendialog4"].connect("clicked", self.openDialogClicked) self.widgets["learnButton"].connect("clicked", self.learnClicked) def openDialogClicked(self, button): perspective = perspective_manager.get_perspective("learn") perspective.activate() def learnClicked(self, button): perspective = perspective_manager.get_perspective("learn") perspective.activate() tree_iter = self.learn_combo.get_active_iter() if tree_iter is None: return else: model = self.learn_combo.get_model() source = model[tree_iter][0] if self.category == LECTURE: start_lecture_from(source) elif self.category == LESSON: start_lesson_from(source) elif self.category == PUZZLE: start_puzzle_from(source) elif self.category == ENDGAME: start_endgame_from(source) class DatabaseTasker(Gtk.Alignment): def __init__(self): GObject.GObject.__init__(self) self.widgets = tasker_widgets tasker = self.widgets["databaseTasker"] tasker.unparent() self.add(tasker) startButton = self.widgets["openButton"] startButton.set_name("openButton") liststore = Gtk.ListStore(str, str) self.recent_combo = self.widgets["recent_combo"] self.recent_combo.set_model(liststore) renderer_text = Gtk.CellRendererText() renderer_text.set_property("width-chars", 30) renderer_text.set_property("ellipsize", Pango.EllipsizeMode.END) self.recent_combo.pack_start(renderer_text, True) self.recent_combo.add_attribute(renderer_text, "text", 1) self.on_recent_menu_changed(recent_manager, liststore) recent_manager.connect("changed", self.on_recent_menu_changed, liststore) self.widgets["opendialog3"].connect("clicked", self.openDialogClicked) self.widgets["openButton"].connect("clicked", self.openClicked) def on_recent_menu_changed(self, manager, liststore): liststore.clear() # Just to make sphinx happy... try: for uri in recent_menu.get_uris(): liststore.append((uri, basename(unquote(uri)), )) except TypeError: pass self.recent_combo.set_active(0) def openDialogClicked(self, button): dialog = get_open_dialog() response = dialog.run() if response == Gtk.ResponseType.OK: filenames = dialog.get_filenames() else: filenames = None dialog.destroy() if filenames is not None: for filename in filenames: if filename.lower().endswith(".fen"): newGameDialog.loadFileAndRun(filename) else: perspective = perspective_manager.get_perspective("database") perspective.open_chessfile(filename) def openClicked(self, button): if self.widgets["createNew"].get_active(): perspective = perspective_manager.get_perspective("database") perspective.create_database() else: tree_iter = self.recent_combo.get_active_iter() if tree_iter is None: return else: model = self.recent_combo.get_model() uri = model[tree_iter][0] try: urlopen(unquote(uri)).close() perspective = perspective_manager.get_perspective("database") perspective.open_chessfile(unquote(uri)) recent_manager.add_item(uri) except (IOError, OSError): # shomething wrong whit the uri recent_manager.remove_item(uri) new_game_tasker, internet_game_tasker, database_tasker, learn_tasker = \ NewGameTasker(), InternetGameTasker(), DatabaseTasker(), LearnTasker() tasker.packTaskers(new_game_tasker, database_tasker, internet_game_tasker, learn_tasker) pychess-1.0.0/lib/pychess/widgets/MenuItemsDict.py0000644000175000017500000000732313415426434021227 0ustar varunvarun from gi.repository import GLib from pychess.System import conf from pychess.Utils.const import ACTION_MENU_ITEMS ################################################################################ # Main menubar MenuItem classes to keep track of menu widget states # ################################################################################ class GtkMenuItem: def __init__(self, name, sensitive=False, label=None, tooltip=None): assert isinstance(sensitive, bool) assert label is None or isinstance(label, str) self.name = name self._sensitive = sensitive self._label = label self._tooltip = tooltip @property def sensitive(self): return self._sensitive @sensitive.setter def sensitive(self, sensitive): assert isinstance(sensitive, bool) self._sensitive = sensitive self._set_widget("sensitive", sensitive) @property def label(self): return self._label @label.setter def label(self, label): assert isinstance(label, str) self._label = label self._set_widget("label", label) @property def tooltip(self): return self._tooltip @tooltip.setter def tooltip(self, tooltip): assert isinstance(tooltip, str) self._tooltip = tooltip self._set_widget("tooltip-text", tooltip) def _set_widget(self, prop, value): from . import gamewidget if gamewidget.getWidgets()[self.name].get_property(prop) != value: # print("setting %s property %s to %s.." % (self.name, prop, str(value))) def do_set_menu_item_prop(): gamewidget.getWidgets()[self.name].set_property(prop, value) GLib.idle_add(do_set_menu_item_prop) # print(" success (%s %s = \"%s\")" % ( # self.name, prop, gamewidget.getWidgets()[self.name].get_property(prop))) def update(self): self._set_widget("sensitive", self._sensitive) if self._label is not None: self._set_widget("label", self._label) if self._tooltip is not None: self._set_widget("tooltip-text", self._tooltip) class GtkMenuToggleButton(GtkMenuItem): def __init__(self, name, sensitive=False, active=False, label=None): assert isinstance(active, bool) GtkMenuItem.__init__(self, name, sensitive, label) self._active = active @property def active(self): return self._active @active.setter def active(self, active): assert isinstance(active, bool) self._active = active self._set_widget("active", active) def update(self): GtkMenuItem.update(self) self._set_widget("active", self._active) class MenuItemsDict(dict): """ :Description: Keeps track of menubar menuitem widgets that need to be managed on a game by game basis. Each menuitem writes through its respective widget state to the GUI if we are encapsulated in the gamewidget that's focused/infront """ ANAL_MENU_ITEMS = ("analyze_game1", "analyzer_check", "inv_analyzer_check", "ana_combobox", "inv_ana_combobox") VIEW_MENU_ITEMS = ("hint_mode", "spy_mode") def __init__(self): dict.__init__(self) for item in ACTION_MENU_ITEMS: dict.__setitem__(self, item, GtkMenuItem(item)) for item in self.ANAL_MENU_ITEMS: dict.__setitem__(self, item, GtkMenuItem(item, sensitive=True)) for item in self.VIEW_MENU_ITEMS: dict.__setitem__(self, item, GtkMenuToggleButton(item, active=conf.get(item))) pychess-1.0.0/lib/pychess/widgets/SpotGraph.py0000755000175000017500000004671213353143212020423 0ustar varunvarunimport math from gi.repository import GObject, Gtk, Gdk, Pango, PangoCairo import cairo # ceil = lambda f: int(math.ceil(f)) def ceil(f): return int(math.ceil(f)) line = 10 curve = 60 dotSmall = 14 dotLarge = 24 lineprc = 1 / 7. hpadding = 5 vpadding = 3 class SpotGraph(Gtk.EventBox): __gsignals__ = { 'spotClicked': (GObject.SignalFlags.RUN_FIRST, None, (str, )) } def __init__(self): GObject.GObject.__init__(self) self.connect("draw", self.expose) # rgb 85,152,215 = Rated # rgb 115,210,22 = Unrated # rgb 189,47,26 = Computer self.typeColors = [[[85, 152, 215], [59, 106, 151]], [[115, 210, 22], [78, 154, 6]], [[85, 152, 215], [189, 47, 26]], [[115, 210, 22], [189, 47, 26]]] for type in self.typeColors: for color in type: color[0] = color[0] / 255. color[1] = color[1] / 255. color[2] = color[2] / 255. self.add_events(Gdk.EventMask.LEAVE_NOTIFY_MASK | Gdk.EventMask.POINTER_MOTION_MASK | Gdk.EventMask.BUTTON_PRESS_MASK | Gdk.EventMask.BUTTON_RELEASE_MASK) self.state = 0 self.connect("button_press_event", self.button_press) self.connect("button_release_event", self.button_release) self.connect("motion_notify_event", self.motion_notify) self.connect("leave_notify_event", self.motion_notify) self.connect("size-allocate", self.size_allocate) self.cords = [] self.hovered = None self.pressed = False self.spots = {} self.spotQueue = [] # For spots added prior to widget allocation self.xmarks = [] self.ymarks = [] self.set_visible_window(False) ############################################################################ # Drawing # ############################################################################ def redraw_canvas(self, prect=None): if self.get_window(): if not prect: alloc = self.get_allocation() prect = (0, 0, alloc.width, alloc.height) rect = Gdk.Rectangle() rect.x, rect.y, rect.width, rect.height = prect self.get_window().invalidate_rect(rect, True) self.get_window().process_updates(True) def expose(self, widget, ctx): context = widget.get_window().cairo_create() self.draw(context) return False def draw(self, context): alloc = self.get_allocation() width = alloc.width height = alloc.height # ------------------------------------------------------ Paint side ruler context.move_to(alloc.x + line, alloc.y + line) context.rel_line_to(0, height - line * 2 - curve) context.rel_curve_to(0, curve, 0, curve, curve, curve) context.rel_line_to(width - line * 2 - curve, 0) style_ctxt = self.get_style_context() dark_prelight = style_ctxt.lookup_color("p_dark_prelight")[1] fg_prelight = style_ctxt.lookup_color("p_fg_prelight")[1] bg_prelight = style_ctxt.lookup_color("p_bg_prelight")[1] context.set_line_width(line) context.set_line_cap(cairo.LINE_CAP_ROUND) # state = self.state == Gtk.StateType.NORMAL and Gtk.StateType.PRELIGHT or self.state context.set_source_rgba(dark_prelight.red, dark_prelight.green, dark_prelight.blue, dark_prelight.alpha) context.stroke() # ------------------------------------------------ Paint horizontal marks for x_loc, title in self.xmarks: context.set_source_rgba(fg_prelight.red, fg_prelight.green, fg_prelight.blue, fg_prelight.alpha) context.set_font_size(12) x_loc, y_loc = self.prcToPix(x_loc, 1) context.move_to(x_loc + line / 2., y_loc - line / 2.) context.rotate(-math.pi / 2) context.show_text(title) context.rotate(math.pi / 2) context.set_source_rgba(bg_prelight.red, bg_prelight.green, bg_prelight.blue, bg_prelight.alpha) context.move_to(x_loc - line / 2., y_loc) context.rel_curve_to(6, 0, 6, line, 6, line) context.rel_curve_to(0, -line, 6, -line, 6, -line) context.close_path() context.fill() # -------------------------------------------------- Paint vertical marks for y_loc, title in self.ymarks: context.set_source_rgba(fg_prelight.red, fg_prelight.green, fg_prelight.blue, fg_prelight.alpha) context.set_font_size(12) x_loc, y_loc = self.prcToPix(0, y_loc) context.move_to(x_loc + line / 2., y_loc + line / 2.) context.show_text(title) context.set_source_rgba(bg_prelight.red, bg_prelight.green, bg_prelight.blue, bg_prelight.alpha) context.move_to(x_loc, y_loc - line / 2.) context.rel_curve_to(0, 6, -line, 6, -line, 6) context.rel_curve_to(line, 0, line, 6, line, 6) context.close_path() context.fill() # ----------------------------------------------------------- Paint spots context.set_line_width(dotSmall * lineprc) for x_loc, y_loc, col_type, name, text in self.spots.values(): context.set_source_rgb(*self.typeColors[col_type][0]) if self.hovered and name == self.hovered[3]: continue x_loc, y_loc = self.prcToPix(x_loc, y_loc) context.arc(x_loc, y_loc, dotSmall / (1 + lineprc) / 2., 0, 2 * math.pi) context.fill_preserve() context.set_source_rgb(*self.typeColors[col_type][1]) context.stroke() # --------------------------------------------------- Paint hovered spots context.set_line_width(dotLarge * lineprc) if self.hovered: x_loc, y_loc, col_type, name, text = self.hovered x_loc, y_loc = self.prcToPix(x_loc, y_loc) if not self.pressed: context.set_source_rgb(*self.typeColors[col_type][0]) else: context.set_source_rgb(*self.typeColors[col_type][1]) context.arc(x_loc, y_loc, dotLarge / (1 + lineprc) / 2., 0, 2 * math.pi) context.fill_preserve() context.set_source_rgb(*self.typeColors[col_type][1]) context.stroke() x_loc, y_loc, width, height = self.getTextBounds(self.hovered) style_ctxt = self.get_style_context() style_ctxt.save() style_ctxt.add_class(Gtk.STYLE_CLASS_NOTEBOOK) Gtk.render_background( style_ctxt, context, int(x_loc - hpadding), int(y_loc - vpadding), ceil(width + hpadding * 2), ceil(height + vpadding * 2)) Gtk.render_frame(style_ctxt, context, int(x_loc - hpadding), int(y_loc - vpadding), ceil(width + hpadding * 2), ceil(height + vpadding * 2)) style_ctxt.restore() context.move_to(x_loc, y_loc) context.set_source_rgba(fg_prelight.red, fg_prelight.green, fg_prelight.blue, fg_prelight.alpha) PangoCairo.show_layout(context, self.create_pango_layout(text)) ############################################################################ # Events # ############################################################################ def button_press(self, widget, event): alloc = self.get_allocation() self.cords = [event.x + alloc.x, event.y + alloc.y] self.pressed = True if self.hovered: self.redraw_canvas(self.getBounds(self.hovered)) def button_release(self, widget, event): alloc = self.get_allocation() self.cords = [event.x + alloc.x, event.y + alloc.y] self.pressed = False if self.hovered: self.redraw_canvas(self.getBounds(self.hovered)) if event.button == 1 and self.pointIsOnSpot( event.x + alloc.x, event.y + alloc.y, self.hovered): self.emit("spotClicked", self.hovered[3]) def motion_notify(self, widget, event): alloc = self.get_allocation() self.cords = [event.x + alloc.x, event.y + alloc.y] spot = self.getSpotAtPoint(*self.cords) if self.hovered and spot == self.hovered: return if self.hovered: bounds = self.getBounds(self.hovered) self.hovered = None self.redraw_canvas(bounds) if spot: self.hovered = spot self.redraw_canvas(self.getBounds(self.hovered)) def size_allocate(self, widget, allocation): assert self.get_allocation().width > 1 for spot in self.spotQueue: self.addSpot(*spot) del self.spotQueue[:] ############################################################################ # Interaction # ############################################################################ def addSpot(self, name, text, x0, y0, colour_type=0): """ x and y are in % from 0 to 1 """ assert colour_type in range(len(self.typeColors)) if self.get_allocation().width <= 1: self.spotQueue.append((name, text, x0, y0, colour_type)) return x_loc1, y_loc1 = self.getNearestFreeNeighbourHexigon(x0, 1 - y0) spot = (x_loc1, y_loc1, colour_type, name, text) self.spots[name] = spot if not self.hovered and self.cords and \ self.pointIsOnSpot(self.cords[0], self.cords[1], spot): self.hovered = spot self.redraw_canvas(self.getBounds(spot)) def removeSpot(self, name): if name not in self.spots: return spot = self.spots.pop(name) bounds = self.getBounds(spot) if spot == self.hovered: self.hovered = None self.redraw_canvas(bounds) def clearSpots(self): self.hovered = None self.spots.clear() self.redraw_canvas() def addXMark(self, x, title): self.xmarks.append((x, title)) def addYMark(self, y, title): self.ymarks.append((1 - y, title)) ############################################################################ # Internal stuff # ############################################################################ def getTextBounds(self, spot): x_loc, y_loc, type, name, text = spot x_loc, y_loc = self.prcToPix(x_loc, y_loc) alloc = self.get_allocation() width = alloc.width # height = alloc.height extends = self.create_pango_layout(text).get_extents() scale = float(Pango.SCALE) x_bearing, y_bearing, twidth, theight = [extends[1].x / scale, extends[1].y / scale, extends[1].width / scale, extends[1].height / scale] tx_loc = x_loc - x_bearing + dotLarge / 2. ty_loc = y_loc - y_bearing - theight - dotLarge / 2. if tx_loc + twidth > width and x_loc - x_bearing - twidth - dotLarge / 2. > alloc.x: tx_loc = x_loc - x_bearing - twidth - dotLarge / 2. if ty_loc < alloc.y: ty_loc = y_loc - y_bearing + dotLarge / 2. return (tx_loc, ty_loc, twidth, theight) def join(self, r0, r1): x_loc1 = min(r0[0], r1[0]) x_loc2 = max(r0[0] + r0[2], r1[0] + r1[2]) y_loc1 = min(r0[1], r1[1]) y_loc2 = max(r0[1] + r0[3], r1[1] + r1[3]) return (x_loc1, y_loc1, x_loc2 - x_loc1, y_loc2 - y_loc1) def getBounds(self, spot): x_loc, y_loc, = spot[0], spot[1] x_loc, y_loc = self.prcToPix(x_loc, y_loc) if spot == self.hovered: size = dotLarge else: size = dotSmall bounds = (x_loc - size / 2. - 1, y_loc - size / 2. - 1, size + 2, size + 2) if spot == self.hovered: x_loc, y_loc, width, height = self.getTextBounds(spot) tbounds = (x_loc - hpadding, y_loc - vpadding, width + hpadding * 2 + 1, height + vpadding * 2 + 1) return self.join(bounds, tbounds) return bounds def getNearestFreeNeighbourHexigon(self, xorg, yorg): """ This method performs an hexigon search for an empty place to put a new dot. """ x_loc, y_loc = self.prcToPix(xorg, yorg) # Start by testing current spot if self.isEmpty(x_loc, y_loc): return xorg, yorg directions = [(math.cos((i + 2) * math.pi / 3), math.sin((i + 2) * math.pi / 3)) for i in range(6)] level = 1 while True: x_loc += dotSmall for delta_x, delta_y in directions: for i in range(level): if self.isEmpty(x_loc, y_loc): return self.pixToPrc(x_loc, y_loc) x_loc += delta_x * dotSmall y_loc += delta_y * dotSmall level += 1 def getNearestFreeNeighbourArchi(self, xorg, yorg): """ This method performs an archimedes-spircal search for an empty place to put a new dot. http://en.wikipedia.org/wiki/Archimedean_spiral """ xorg, yorg = self.prcToPix(xorg, yorg) # Start by testing current spot if self.isEmpty(xorg, yorg): return self.pixToPrc(xorg, yorg) radius = 0 while True: # This is an approx to the equation # cos((radius-s)/(2pi)) = (radius^2+s^2-1)/(2*radius*s) # which gives the next point on the spiral 1 away. radius = (4 * math.pi**3 * radius + radius**2 + math.sqrt(16 * math.pi**6 + 8 * math.pi**3 * radius + radius**4)) / \ (4 * math.pi**3 + 2 * radius) x_loc = radius * math.cos(radius) / (4 * math.pi) * dotSmall + xorg y_loc = radius * math.sin(radius) / (4 * math.pi) * dotSmall + yorg if self.isEmpty(x_loc, y_loc): return self.pixToPrc(x_loc, y_loc) def getNearestFreeNeighbourSquare(self, xorg, yorg): """ This method performs a spircal search for an empty square to put a new dot. """ up = 2 right = 1 down = 1 left = 2 x_loc, y_loc = self.prcToPix(xorg, yorg) # Start by testing current spot if self.isEmpty(x_loc, y_loc): return self.pixToPrc(x_loc, y_loc) while True: for i in range(right): x_loc += dotSmall if self.isEmpty(x_loc, y_loc): return self.pixToPrc(x_loc, y_loc) for i in range(down): y_loc += dotSmall if self.isEmpty(x_loc, y_loc): return self.pixToPrc(x_loc, y_loc) for i in range(left): x_loc -= dotSmall if self.isEmpty(x_loc, y_loc): return self.pixToPrc(x_loc, y_loc) for i in range(up): y_loc -= dotSmall if self.isEmpty(x_loc, y_loc): return self.pixToPrc(x_loc, y_loc) # Grow spiral bounds right += 2 down += 2 left += 2 up += 2 def isEmpty(self, x0, y0): """ Returns true if a spot placed on (x, y) is inside the graph and not intersecting with other spots. x and y should be in pixels, not percent """ # Make sure spiral search don't put dots outside the graph x_loc, y_loc = self.prcToPix(0, 0) width, height = self.prcToPix(1, 1) if not x_loc <= x0 <= width or not y_loc <= y0 <= height: return False # Tests if the spot intersects any other spots for x_loc1, y_loc1, type, name, text in self.spots.values(): x_loc1, y_loc1 = self.prcToPix(x_loc1, y_loc1) if (x_loc1 - x0)**2 + (y_loc1 - y0)**2 < dotSmall**2 - 0.1: return False return True def pointIsOnSpot(self, x0, y0, spot): """ Returns true if (x, y) is inside the spot 'spot'. The size of the spot is determined based on its hoverness. x and y should be in pixels, not percent """ if spot == self.hovered: size = dotLarge else: size = dotSmall x_loc1, y_loc1, type, name, text = spot x_loc1, y_loc1 = self.prcToPix(x_loc1, y_loc1) if (x_loc1 - x0)**2 + (y_loc1 - y0)**2 <= (size / 2.)**2: return True return False def getSpotAtPoint(self, x, y): """ Returns the spot embrace (x, y) if any. Otherwise it returns None. x and y should be in pixels, not percent """ if self.hovered and self.pointIsOnSpot(x, y, self.hovered): return self.hovered for spot in self.spots.values(): if spot == self.hovered: continue if self.pointIsOnSpot(x, y, spot): return spot return None def prcToPix(self, x, y): """ Translates from 0-1 cords to real world cords """ alloc = self.get_allocation() return x * (alloc.width - line * 1.5 - dotLarge * 0.5) + line * 1.5 + alloc.x, \ y * (alloc.height - line * 1.5 - dotLarge * 0.5) + dotLarge * 0.5 + alloc.y def pixToPrc(self, x, y): """ Translates from real world cords to 0-1 cords """ alloc = self.get_allocation() return (x - line * 1.5 - alloc.x) / (alloc.width - line * 1.5 - dotLarge * 0.5), \ (y - dotLarge * 0.5 - alloc.y) / (alloc.height - line * 1.5 - dotLarge * 0.5) if __name__ == "__main__": window = Gtk.Window() style_ctx = window.get_style_context() data = "@define-color p_bg_color #ededed; \ @define-color p_light_color #ffffff; \ @define-color p_dark_color #a6a6a6; \ @define-color p_dark_prelight #a9a9a9; \ @define-color p_fg_prelight #313739; \ @define-color p_bg_prelight #ededed; \ @define-color p_bg_active #d6d6d6;" provider = Gtk.CssProvider.new() provider.load_from_data(data) style_ctx.add_provider_for_screen(Gdk.Screen.get_default(), provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION) note_book = Gtk.Notebook() window.add(note_book) v_box = Gtk.VBox() note_book.append_page(v_box, None) spot_graph = SpotGraph() spot_graph.addXMark(.5, "Center") spot_graph.addYMark(.5, "Center") v_box.pack_start(spot_graph, True, True, 0) button = Gtk.Button("New Spot") def callback(button): if not hasattr(button, "nextnum"): button.nextnum = 0 else: button.nextnum += 1 spot_graph.addSpot(str(button.nextnum), "Blablabla", 1, 1, 0) button.connect("clicked", callback) v_box.pack_start(button, False, True, 0) window.connect("delete-event", Gtk.main_quit) window.show_all() window.resize(400, 400) Gtk.main() pychess-1.0.0/lib/pychess/widgets/ImageMenu.py0000755000175000017500000001152213353143212020352 0ustar varunvarunfrom gi.repository import Gtk, Gdk, GObject from pychess.widgets import mainwindow class ImageMenu(Gtk.EventBox): def __init__(self, image, child): GObject.GObject.__init__(self) self.add(image) self.subwindow = Gtk.Window() self.subwindow.set_transient_for(mainwindow()) self.subwindow.set_decorated(False) self.subwindow.set_resizable(False) self.subwindow.set_type_hint(Gdk.WindowTypeHint.DIALOG) self.subwindow.add(child) self.subwindow.connect_after("draw", self.__sub_onExpose) self.subwindow.connect("button_press_event", self.__sub_onPress) # self.subwindow.connect("motion_notify_event", self.__sub_onMotion) # self.subwindow.connect("leave_notify_event", self.__sub_onMotion) # self.subwindow.connect("delete-event", self.__sub_onDelete) self.subwindow.connect("focus-out-event", self.__sub_onFocusOut) child.show_all() self.setOpen(False) self.connect("button_press_event", self.__onPress) def setOpen(self, isopen): self.isopen = isopen if isopen: topwindow = self.get_parent() while not isinstance(topwindow, Gtk.Window): topwindow = topwindow.get_parent() x_loc, y_loc = topwindow.get_window().get_position() x_loc += self.get_allocation().x + self.get_allocation().width y_loc += self.get_allocation().y self.subwindow.move(x_loc, y_loc) self.subwindow.props.visible = isopen self.set_state(self.isopen and Gtk.StateType.SELECTED or Gtk.StateType.NORMAL) def __onPress(self, self_, event): if event.button == 1 and event.type == Gdk.EventType.BUTTON_PRESS: self.setOpen(not self.isopen) def __sub_setGrabbed(self, grabbed): if grabbed and not Gdk.pointer_is_grabbed(): Gdk.pointer_grab(self.subwindow.get_window(), True, Gdk.EventMask.LEAVE_NOTIFY_MASK | Gdk.EventMask.POINTER_MOTION_MASK | Gdk.EventMask.BUTTON_PRESS_MASK, None, None, Gdk.CURRENT_TIME) Gdk.keyboard_grab(self.subwindow.get_window(), True, Gdk.CURRENT_TIME) elif Gdk.pointer_is_grabbed(): Gdk.pointer_ungrab(Gdk.CURRENT_TIME) Gdk.keyboard_ungrab(Gdk.CURRENT_TIME) def __sub_onMotion(self, subwindow, event): allocation = subwindow.get_allocation() self.__sub_setGrabbed(not (0 <= event.x < allocation.width and 0 <= event.y < allocation.height)) def __sub_onPress(self, subwindow, event): allocation = subwindow.get_allocation() if not (0 <= event.x < allocation.width and 0 <= event.y < allocation.height): Gdk.pointer_ungrab(event.time) self.setOpen(False) def __sub_onExpose(self, subwindow, ctx): allocation = subwindow.get_allocation() context = subwindow.get_window().cairo_create() context.set_line_width(2) context.rectangle(allocation.x, allocation.y, allocation.width, allocation.height) style_ctxt = self.get_style_context() color = style_ctxt.lookup_color("p_dark_color")[1] red, green, blue, alpha = color.red, color.green, color.blue, color.alpha context.set_source_rgba(red, green, blue, alpha) context.stroke() # self.__sub_setGrabbed(self.isopen) def __sub_onDelete(self, subwindow, event): self.setOpen(False) return True def __sub_onFocusOut(self, subwindow, event): self.setOpen(False) def switchWithImage(image, dialog): parent = image.get_parent() parent.remove(image) imageMenu = ImageMenu(image, dialog) parent.add(imageMenu) imageMenu.show() if __name__ == "__main__": win = Gtk.Window() vbox = Gtk.VBox() vbox.add(Gtk.Label(label="Her er der en kat")) image = Gtk.Image.new_from_icon_name("gtk-properties", Gtk.IconSize.BUTTON) vbox.add(image) vbox.add(Gtk.Label(label="Her er der ikke en kat")) win.add(vbox) table = Gtk.Table(2, 2) table.attach(Gtk.Label(label="Minutes:"), 0, 1, 0, 1) spin1 = Gtk.SpinButton() spin1.set_adjustment(Gtk.Adjustment(0, 0, 100, 1)) table.attach(spin1, 1, 2, 0, 1) table.attach(Gtk.Label(label="Gain:"), 0, 1, 1, 2) spin2 = Gtk.SpinButton() spin2.set_adjustment(Gtk.Adjustment(0, 0, 100, 1)) table.attach(spin2, 1, 2, 1, 2) table.set_border_width(6) switchWithImage(image, table) def onValueChanged(spin): print(spin.get_value()) spin1.connect("value-changed", onValueChanged) spin2.connect("value-changed", onValueChanged) win.show_all() win.connect("delete-event", Gtk.main_quit) Gtk.main() pychess-1.0.0/lib/pychess/widgets/PieceWidget.py0000755000175000017500000000147513353143212020702 0ustar varunvarunfrom gi.repository import Gtk, GObject from pychess.Utils.const import ASEAN_VARIANTS, NORMALCHESS from pychess.gfx import Pieces class PieceWidget(Gtk.DrawingArea): def __init__(self, piece, variant=NORMALCHESS): GObject.GObject.__init__(self) self.connect("draw", self.expose) self.piece = piece self.asean = variant in ASEAN_VARIANTS def setPiece(self, piece): self.piece = piece def getPiece(self): return self.piece def expose(self, widget, ctx): context = widget.get_window().cairo_create() rect = self.get_allocation() s_min = min(rect.width, rect.height) x_loc = (rect.width - s_min) / 2.0 y_loc = (rect.height - s_min) / 2.0 Pieces.drawPiece(self.piece, context, x_loc, y_loc, s_min, asean=self.asean) pychess-1.0.0/lib/pychess/widgets/ExternalsDialog.py0000644000175000017500000001203313365545272021602 0ustar varunvarunimport asyncio import shutil import os import stat from gi.repository import Gtk from pychess.compat import create_task from pychess.ic import TimeSeal from pychess.Savers import pgn from pychess.System import conf from pychess.System import uistuff from pychess.System import download_file_async from pychess.System.prefix import getEngineDataPrefix from pychess.widgets import mainwindow class ExternalsDialog(): def __init__(self): self.window = Gtk.Window(Gtk.WindowType.TOPLEVEL, title=_("Ask for permissions")) self.window.set_transient_for(mainwindow()) vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) gtk_version = (Gtk.get_major_version(), Gtk.get_minor_version()) if gtk_version >= (3, 12): vbox.props.margin_start = 9 vbox.props.margin_end = 9 else: vbox.props.margin_left = 9 vbox.props.margin_right = 9 vbox.props.margin_bottom = 9 self.window.add(vbox) uistuff.keepWindowSize("externalsdialog", self.window, (320, 240), uistuff.POSITION_CENTER) label = Gtk.Label(_("Some of PyChess features needs your permission to download external programs")) vbox.pack_start(label, True, True, 0) box = Gtk.Box() check_button = Gtk.CheckButton(_("database querying needs scoutfish")) check_button.set_active(conf.get("download_scoutfish")) check_button.connect("toggled", lambda w: conf.set("download_scoutfish", w.get_active())) box.add(check_button) link = "https://github.com/pychess/scoutfish" link_button = Gtk.LinkButton(link, link) box.add(link_button) vbox.pack_start(box, False, False, 0) box = Gtk.Box() check_button = Gtk.CheckButton(_("database opening tree needs chess_db")) check_button.set_active(conf.get("download_chess_db")) check_button.connect("toggled", lambda w: conf.set("download_chess_db", w.get_active())) box.add(check_button) link = "https://github.com/pychess/chess_db" link_button = Gtk.LinkButton(link, link) box.add(link_button) vbox.pack_start(box, False, False, 0) box = Gtk.Box() check_button = Gtk.CheckButton(_("ICC lag compensation needs timestamp")) check_button.set_active(conf.get("download_timestamp")) check_button.connect("toggled", lambda w: conf.set("download_timestamp", w.get_active())) box.add(check_button) link = "http://download.chessclub.com/timestamp/" link_button = Gtk.LinkButton(link, link) box.add(link_button) vbox.pack_start(box, False, False, 0) check_button = Gtk.CheckButton(_("Don't show this dialog on startup.")) check_button.set_active(conf.get("dont_show_externals_at_startup")) check_button.connect("toggled", lambda w: conf.set("dont_show_externals_at_startup", w.get_active())) vbox.pack_start(check_button, True, True, 0) buttonbox = Gtk.ButtonBox() close_button = Gtk.Button.new_from_stock(Gtk.STOCK_OK) close_button.connect("clicked", self.on_close_clicked) self.window.connect("delete_event", lambda w, a: self.window.destroy()) buttonbox.add(close_button) vbox.pack_start(buttonbox, False, False, 0) def show(self): self.window.show_all() self.window.present() def on_close_clicked(self, button): @asyncio.coroutine def coro(): altpath = getEngineDataPrefix() if pgn.scoutfish_path is None and conf.get("download_scoutfish"): binary = "https://github.com/pychess/scoutfish/releases/download/20170627/%s" % pgn.scoutfish filename = yield from download_file_async(binary) if filename is not None: dest = shutil.move(filename, os.path.join(altpath, pgn.scoutfish)) os.chmod(dest, stat.S_IEXEC | stat.S_IREAD | stat.S_IWRITE) pgn.scoutfish_path = dest if pgn.chess_db_path is None and conf.get("download_chess_db"): binary = "https://github.com/pychess/chess_db/releases/download/20170627/%s" % pgn.parser filename = yield from download_file_async(binary) if filename is not None: dest = shutil.move(filename, os.path.join(altpath, pgn.parser)) os.chmod(dest, stat.S_IEXEC | stat.S_IREAD | stat.S_IWRITE) pgn.chess_db_path = dest if TimeSeal.timestamp_path is None and conf.get("download_timestamp"): binary = "http://download.chessclub.com.s3.amazonaws.com/timestamp/%s" % TimeSeal.timestamp filename = yield from download_file_async(binary) if filename is not None: dest = shutil.move(filename, os.path.join(altpath, TimeSeal.timestamp)) os.chmod(dest, stat.S_IEXEC | stat.S_IREAD | stat.S_IWRITE) TimeSeal.timestamp_path = dest create_task(coro()) self.window.emit("delete-event", None) pychess-1.0.0/lib/pychess/widgets/ViewsPanel.py0000644000175000017500000001104513353143212020555 0ustar varunvarunimport re from gi.repository import Gtk, GObject from pychess.widgets.InfoPanel import Panel TYPE_PERSONAL, TYPE_CHANNEL, TYPE_GUEST, \ TYPE_ADMIN, TYPE_COMP, TYPE_BLINDFOLD = range(6) def get_playername(playername): re_m = re.match("(\w+)\W*", playername) return re_m.groups()[0] class ViewsPanel(Gtk.Notebook, Panel): """ :Description: This panel is used to display the main chat text for each of the channel or private communication """ __gsignals__ = { 'channel_content_Changed': (GObject.SignalFlags.RUN_FIRST, None, (str, int)) } def __init__(self, connection): GObject.GObject.__init__(self) self.set_show_tabs(False) self.set_show_border(False) self.id2Widget = {} self.connection = connection label = Gtk.Label() label.set_markup("%s" % _("You have opened no conversations yet")) label.props.xalign = .5 label.props.yalign = 0.381966011 label.props.justify = Gtk.Justification.CENTER label.props.wrap = True label.props.width_request = 300 self.append_page(label, None) # When a person addresses us directly, ChannelsPanel will emit an # additem event and we add a new view. This however means that the first # message the user sends isn't registred by our privateMessage handler. # Therefore we save all messages sent by this hook, and when later we # add new items, we test if anything was already received self.messageBuffer = {} def globalPersonalMessage(cm, name, title, isadmin, text): if name not in self.messageBuffer: self.messageBuffer[name] = [] self.messageBuffer[name].append((title, isadmin, text)) self.connection.cm.connect("privateMessage", globalPersonalMessage) def addItem(self, grp_id, name, grp_type, chat_view): chat_view.connect("messageTyped", self.onMessageTyped, grp_id, name, grp_type) self.connection.cm.connect("channelMessage", self.onChannelMessage, grp_id, chat_view) self.connection.cm.connect("privateMessage", self.onPersonMessage, get_playername(name), chat_view) if grp_type == TYPE_CHANNEL: self.connection.cm.connect("channelLog", self.onChannelLog, grp_id, chat_view) self.connection.cm.getChannelLog(grp_id) if not self.connection.cm.mayTellChannel(grp_id): chat_view.disable(_( "Only registered users may talk to this channel")) elif grp_type in (TYPE_PERSONAL, TYPE_COMP, TYPE_GUEST, TYPE_ADMIN, TYPE_BLINDFOLD): if name in self.messageBuffer: for title, isadmin, messagetext in self.messageBuffer[name]: chat_view.addMessage(name, messagetext) del self.messageBuffer[name] self.addPage(chat_view, grp_id) def removeItem(self, grp_id): self.removePage(grp_id) def selectItem(self, grp_id): child = self.id2Widget[grp_id] self.set_current_page(self.page_num(child)) def onChannelLog(self, cm, channel, time, handle, text, name_, chat_view): if channel.lower() == name_.lower(): chat_view.insertLogMessage(time, handle, text) def onMessageTyped(self, chat_view, text, grp_id, name, grp_type): if grp_type == TYPE_CHANNEL: self.connection.cm.tellChannel(grp_id, text) elif grp_type == TYPE_PERSONAL: self.connection.cm.tellPlayer(get_playername(name), text) chat_view.addMessage(self.connection.getUsername(), text) def onPersonMessage(self, cm, name, title, isadmin, text, name_, chat_view): if name.lower() == name_.lower(): chat_view.addMessage(name, text) self.emit('channel_content_Changed', name_, TYPE_PERSONAL) def onChannelMessage(self, cm, name, isadmin, isme, channel, text, name_, chat_view): if channel.lower() == name_.lower() and not isme: chat_view.addMessage(name, text) self.emit('channel_content_Changed', channel, TYPE_CHANNEL) def addPage(self, widget, grp_id): self.id2Widget[grp_id] = widget self.append_page(widget, None) widget.show_all() def removePage(self, grp_id): child = self.id2Widget.pop(grp_id) self.remove_page(self.page_num(child)) pychess-1.0.0/lib/pychess/widgets/preferencesDialog.py0000644000175000017500000007766113452601460022145 0ustar varunvarun# -*- coding: UTF-8 -*- """ :Description: This module facilitates configurable object that the end user can customise such as which chess setor board colours to use or the ability to turn on/off various sidepanel facilities such as hints, comments engine analysis etc. It also allows the user to setup and use customised sounds or no sounds at all for a variety of in game events such as running out of time or piece movement events etc. """ import os from os import listdir from os.path import isdir, isfile, splitext import sys from xml.dom import minidom from urllib.request import url2pathname, pathname2url from urllib.parse import unquote from gi.repository import Gtk, GdkPixbuf, Gdk from pychess.compat import create_task from pychess.System.prefix import addDataPrefix from pychess.System import conf, gstreamer, uistuff from pychess.Players.engineNest import discoverer from pychess.Utils import book from pychess.Utils.const import HINT, SPY, SOUND_MUTE, SOUND_BEEP, SOUND_URI, SOUND_SELECT, COUNT_OF_SOUNDS from pychess.Utils.IconLoader import load_icon, get_pixbuf from pychess.gfx import Pieces from pychess.widgets import mainwindow from pychess.widgets.Background import newTheme from pychess.perspectives import perspective_manager firstRun = True general_tab = None hint_tab = None theme_tab = None sound_tab = None save_tab = None def run(widgets): global firstRun if firstRun: initialize(widgets) firstRun = False else: widgets["preferences_dialog"].show() widgets["preferences_dialog"].present() def initialize(widgets): """ :Description: Initialises the various tabs for each section of configurable artifacts """ global general_tab general_tab = GeneralTab(widgets) # All side panels can be show/hide from View menu now, so no need to do the same from preferences # We can re enable this after implementing install/uninstall functionality in the future... # PanelTab(widgets) uistuff.keepWindowSize("preferencesdialog", widgets["preferences_dialog"]) notebook = widgets["preferences_notebook"] def switch_page(widget, page, page_num): global hint_tab, theme_tab, sound_tab, save_tab if page_num == 1 and hint_tab is None: hint_tab = HintTab(widgets) elif page_num == 3 and theme_tab is None: theme_tab = ThemeTab(widgets) elif page_num == 4 and sound_tab is None: sound_tab = SoundTab(widgets) elif page_num == 5 and save_tab is None: save_tab = SaveTab(widgets) notebook.connect("switch_page", switch_page) def delete_event(widget, _): widgets["preferences_dialog"].hide() return True widgets["preferences_dialog"].connect("delete-event", delete_event) widgets["preferences_dialog"].connect( "key-press-event", lambda w, e: w.event(Gdk.Event(Gdk.EventType.DELETE)) if e.keyval == Gdk.KEY_Escape else None) # General initing class GeneralTab: def __init__(self, widgets): # Give to uistuff.keeper for key in conf.DEFAULTS["General"]: # widgets having special getter/setter if key in ("ana_combobox", "inv_ana_combobox", "pieceTheme", "board_style", "board_frame"): continue try: if widgets[key] is not None: uistuff.keep(widgets[key], key) except AttributeError: print("GeneralTab AttributeError", key, conf.DEFAULTS["General"][key]) except TypeError: print("GeneralTab TypeError", key, conf.DEFAULTS["General"][key]) # Hint initing def anal_combo_get_value(combobox): engine = list(discoverer.getAnalyzers())[combobox.get_active()] return engine.get("md5") def anal_combo_set_value(combobox, value, show_arrow_check, analyzer_type): engine = discoverer.getEngineByMd5(value) if engine is None: combobox.set_active(0) # This return saves us from the None-engine being used # in later code -Jonas Thiem return else: try: index = list(discoverer.getAnalyzers()).index(engine) except ValueError: index = 0 combobox.set_active(index) from pychess.widgets.gamewidget import widgets perspective = perspective_manager.get_perspective("games") for gmwidg in perspective.gamewidgets: spectators = gmwidg.gamemodel.spectators md5 = engine.get('md5') if analyzer_type in spectators and \ spectators[analyzer_type].md5 != md5: gmwidg.gamemodel.remove_analyzer(analyzer_type) create_task(gmwidg.gamemodel.start_analyzer(analyzer_type)) if not widgets[show_arrow_check].get_active(): gmwidg.gamemodel.pause_analyzer(analyzer_type) class HintTab: def __init__(self, widgets): self.widgets = widgets # Opening book path = conf.get("opening_file_entry") conf.set("opening_file_entry", path) book_chooser_dialog = Gtk.FileChooserDialog( _("Select book file"), mainwindow(), Gtk.FileChooserAction.OPEN, (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_OPEN, Gtk.ResponseType.OK)) book_chooser_button = Gtk.FileChooserButton.new_with_dialog( book_chooser_dialog) filter = Gtk.FileFilter() filter.set_name(_("Opening books")) filter.add_pattern("*.bin") book_chooser_dialog.add_filter(filter) book_chooser_button.set_filename(path) self.widgets["bookChooserDock"].add(book_chooser_button) book_chooser_button.show() def select_new_book(button): new_book = book_chooser_dialog.get_filename() if new_book: conf.set("opening_file_entry", new_book) book.path = new_book else: # restore the original book_chooser_dialog.set_filename(path) book_chooser_button.connect("file-set", select_new_book) def on_opening_check_toggled(check): self.widgets["opening_hbox"].set_sensitive(check.get_active()) self.widgets["opening_check"].connect_after("toggled", on_opening_check_toggled) uistuff.keep(self.widgets["book_depth_max"], "book_depth_max") # Endgame egtb_path = conf.get("egtb_path") conf.set("egtb_path", egtb_path) egtb_chooser_dialog = Gtk.FileChooserDialog( _("Select Gaviota TB path"), mainwindow(), Gtk.FileChooserAction.SELECT_FOLDER, (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_OPEN, Gtk.ResponseType.OK)) egtb_chooser_button = Gtk.FileChooserButton.new_with_dialog( egtb_chooser_dialog) egtb_chooser_button.set_current_folder(egtb_path) self.widgets["egtbChooserDock"].add(egtb_chooser_button) egtb_chooser_button.show() def select_egtb(button): new_directory = egtb_chooser_dialog.get_filename() if new_directory != egtb_path: conf.set("egtb_path", new_directory) egtb_chooser_button.connect("current-folder-changed", select_egtb) def on_endgame_check_toggled(check): self.widgets["endgame_hbox"].set_sensitive(check.get_active()) self.widgets["endgame_check"].connect_after("toggled", on_endgame_check_toggled) # Analyzing engines from pychess.widgets import newGameDialog data = [(item[0], item[1]) for item in newGameDialog.analyzerItems] uistuff.createCombo(widgets["ana_combobox"], data, name="ana_combobox") uistuff.createCombo(widgets["inv_ana_combobox"], data, name="inv_ana_combobox") def update_analyzers_store(discoverer): data = [(item[0], item[1]) for item in newGameDialog.analyzerItems] uistuff.updateCombo(widgets["ana_combobox"], data) uistuff.updateCombo(widgets["inv_ana_combobox"], data) discoverer.connect_after("all_engines_discovered", update_analyzers_store) update_analyzers_store(discoverer) # Save, load and make analyze combos active conf.set("ana_combobox", conf.get("ana_combobox")) conf.set("inv_ana_combobox", conf.get("inv_ana_combobox")) def on_analyzer_check_toggled(check): self.widgets["analyzers_vbox"].set_sensitive(check.get_active()) from pychess.widgets.gamewidget import widgets perspective = perspective_manager.get_perspective("games") if len(perspective.gamewidgets) != 0: if check.get_active(): for gmwidg in perspective.gamewidgets: create_task(gmwidg.gamemodel.restart_analyzer(HINT)) if not widgets["hint_mode"].get_active(): gmwidg.gamemodel.pause_analyzer(HINT) else: for gmwidg in perspective.gamewidgets: gmwidg.gamemodel.remove_analyzer(HINT) self.widgets["analyzers_vbox"].set_sensitive(widgets["analyzer_check"].get_active()) self.widgets["analyzer_check"].connect_after("toggled", on_analyzer_check_toggled) def on_invanalyzer_check_toggled(check): self.widgets["inv_analyzers_vbox"].set_sensitive(check.get_active()) perspective = perspective_manager.get_perspective("games") if len(perspective.gamewidgets) != 0: if check.get_active(): for gmwidg in perspective.gamewidgets: create_task(gmwidg.gamemodel.restart_analyzer(SPY)) if not widgets["spy_mode"].get_active(): gmwidg.gamemodel.pause_analyzer(SPY) else: for gmwidg in perspective.gamewidgets: gmwidg.gamemodel.remove_analyzer(SPY) self.widgets["inv_analyzers_vbox"].set_sensitive(widgets["inv_analyzer_check"].get_active()) self.widgets["inv_analyzer_check"].connect_after("toggled", on_invanalyzer_check_toggled) # Give widgets to keeper uistuff.keep( self.widgets["ana_combobox"], "ana_combobox", anal_combo_get_value, lambda combobox, value: anal_combo_set_value(combobox, value, "hint_mode", HINT)) uistuff.keep( self.widgets["inv_ana_combobox"], "inv_ana_combobox", anal_combo_get_value, lambda combobox, value: anal_combo_set_value(combobox, value, "spy_mode", SPY)) uistuff.keep(self.widgets["max_analysis_spin"], "max_analysis_spin") uistuff.keep(self.widgets["infinite_analysis"], "infinite_analysis") # Sound initing # Setup default sounds EXT = "wav" if sys.platform == "win32" else "ogg" for i in range(COUNT_OF_SOUNDS): if not conf.hasKey("soundcombo%d" % i): conf.set("soundcombo%d" % i, SOUND_URI) if not conf.hasKey("sounduri0"): conf.set("sounduri0", "file:" + pathname2url(addDataPrefix("sounds/move1.%s" % EXT))) if not conf.hasKey("sounduri1"): conf.set("sounduri1", "file:" + pathname2url(addDataPrefix("sounds/check1.%s" % EXT))) if not conf.hasKey("sounduri2"): conf.set("sounduri2", "file:" + pathname2url(addDataPrefix("sounds/capture1.%s" % EXT))) if not conf.hasKey("sounduri3"): conf.set("sounduri3", "file:" + pathname2url(addDataPrefix("sounds/start1.%s" % EXT))) if not conf.hasKey("sounduri4"): conf.set("sounduri4", "file:" + pathname2url(addDataPrefix("sounds/win1.%s" % EXT))) if not conf.hasKey("sounduri5"): conf.set("sounduri5", "file:" + pathname2url(addDataPrefix("sounds/lose1.%s" % EXT))) if not conf.hasKey("sounduri6"): conf.set("sounduri6", "file:" + pathname2url(addDataPrefix("sounds/draw1.%s" % EXT))) if not conf.hasKey("sounduri7"): conf.set("sounduri7", "file:" + pathname2url(addDataPrefix("sounds/obs_mov.%s" % EXT))) if not conf.hasKey("sounduri8"): conf.set("sounduri8", "file:" + pathname2url(addDataPrefix("sounds/obs_end.%s" % EXT))) if not conf.hasKey("sounduri9"): conf.set("sounduri9", "file:" + pathname2url(addDataPrefix("sounds/alarm.%s" % EXT))) if not conf.hasKey("sounduri10"): conf.set("sounduri10", "file:" + pathname2url(addDataPrefix("sounds/invalid.%s" % EXT))) if not conf.hasKey("sounduri11"): conf.set("sounduri11", "file:" + pathname2url(addDataPrefix("sounds/success.%s" % EXT))) if not conf.hasKey("sounduri12"): conf.set("sounduri12", "file:" + pathname2url(addDataPrefix("sounds/choice.%s" % EXT))) class SoundTab: SOUND_DIRS = (addDataPrefix("sounds"), "/usr/share/sounds", "/usr/local/share/sounds", os.path.expanduser("~")) actionToKeyNo = { "aPlayerMoves": 0, "aPlayerChecks": 1, "aPlayerCaptures": 2, "gameIsSetup": 3, "gameIsWon": 4, "gameIsLost": 5, "gameIsDrawn": 6, "observedMoves": 7, "oberservedEnds": 8, "shortOnTime": 9, "invalidMove": 10, "puzzleSuccess": 11, "variationChoice": 12, } _player = None useSounds = conf.get("useSounds") soundcombo = [] sounduri = [] for i in range(COUNT_OF_SOUNDS): soundcombo.append(conf.get("soundcombo%s" % i)) sounduri.append(conf.get("sounduri%s" % i)) @classmethod def getPlayer(cls): if not cls._player: cls._player = gstreamer.sound_player return cls._player @classmethod def playAction(cls, action): if not cls.useSounds: return if isinstance(action, str): key_no = cls.actionToKeyNo[action] else: key_no = action typ = cls.soundcombo[key_no] if typ == SOUND_BEEP: sys.stdout.write("\a") sys.stdout.flush() elif typ == SOUND_URI: uri = cls.sounduri[key_no] if not os.path.isfile(url2pathname(uri[5:])): conf.set("soundcombo%d" % key_no, SOUND_MUTE) return cls.getPlayer().play(uri) def __init__(self, widgets): # Init open dialog opendialog = Gtk.FileChooserDialog( _("Open Sound File"), mainwindow(), Gtk.FileChooserAction.OPEN, (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_OPEN, Gtk.ResponseType.ACCEPT)) for dir in self.SOUND_DIRS: if os.path.isdir(dir): opendialog.set_current_folder(dir) break soundfilter = Gtk.FileFilter() soundfilter.set_name(_("Sound files")) soundfilter.add_mime_type("audio/%s" % EXT) soundfilter.add_pattern("*.%s" % EXT) opendialog.add_filter(soundfilter) # Get combo icons icons = ((_("No sound"), "audio-volume-muted", "audio-volume-muted"), (_("Beep"), "stock_bell", "audio-x-generic"), (_("Select sound file..."), "gtk-open", "document-open")) items = [] for level, stock, altstock in icons: image = load_icon(16, stock, altstock) items += [(image, level)] audioIco = load_icon(16, "audio-x-generic") # Set-up combos def callback(combobox, index): if combobox.get_active() == SOUND_SELECT: if opendialog.run() == Gtk.ResponseType.ACCEPT: uri = opendialog.get_uri() model = combobox.get_model() conf.set("sounduri%d" % index, uri) self.sounduri[index] = uri label = unquote(os.path.split(uri)[1]) if len(model) == 3: model.append([audioIco, label]) else: model.set(model.get_iter((3, )), 1, label) combobox.set_active(3) else: combobox.set_active(conf.get("soundcombo%d" % index)) opendialog.hide() for i in range(COUNT_OF_SOUNDS): combo = widgets["sound%dcombo" % i] uistuff.createCombo(combo, items, name="soundcombo%d" % i) combo.connect("changed", callback, i) label = widgets["soundlabel%d" % i] label.props.mnemonic_widget = combo uri = conf.get("sounduri%d" % i) if os.path.isfile(url2pathname(uri[5:])): model = combo.get_model() model.append([audioIco, unquote(os.path.split(uri)[1])]) for i in range(COUNT_OF_SOUNDS): if conf.get("soundcombo%d" % i) == SOUND_URI and \ not os.path.isfile(url2pathname(conf.get("sounduri%d" % i)[5:])): conf.set("soundcombo%d" % i, SOUND_MUTE) uistuff.keep(widgets["sound%dcombo" % i], "soundcombo%d" % i) # Init play button def playCallback(button, index): SoundTab.playAction(index) for i in range(COUNT_OF_SOUNDS): button = widgets["sound%dbutton" % i] button.connect("clicked", playCallback, i) # Init 'use sound" checkbutton def checkCallBack(*args): checkbox = widgets["useSounds"] widgets["sounds_frame"].set_property("sensitive", checkbox.get_active()) self.useSounds = conf.get("useSounds") conf.notify_add("useSounds", checkCallBack) widgets["useSounds"].set_active(True) uistuff.keep(widgets["useSounds"], "useSounds") checkCallBack() if not self.getPlayer().ready: widgets["useSounds"].set_sensitive(False) widgets["useSounds"].set_active(False) # Panel initing class PanelTab: def __init__(self, widgets): # Put panels in trees self.widgets = widgets persp = perspective_manager.get_perspective("games") sidePanels = persp.sidePanels dockLocation = persp.dockLocation saved_panels = [] xmlOK = os.path.isfile(dockLocation) if xmlOK: doc = minidom.parse(dockLocation) for elem in doc.getElementsByTagName("panel"): saved_panels.append(elem.getAttribute("id")) store = Gtk.ListStore(bool, GdkPixbuf.Pixbuf, str, object) for panel in sidePanels: checked = True if not xmlOK else panel.__name__ in saved_panels panel_icon = get_pixbuf(panel.__icon__, 32) text = "%s\n%s" % (panel.__title__, panel.__desc__) store.append((checked, panel_icon, text, panel)) self.tv = widgets["panels_treeview"] self.tv.set_model(store) self.widgets['panel_about_button'].connect('clicked', self.panel_about) self.widgets['panel_enable_button'].connect('toggled', self.panel_toggled) self.tv.get_selection().connect('changed', self.selection_changed) pixbuf = Gtk.CellRendererPixbuf() pixbuf.props.yalign = 0 pixbuf.props.ypad = 3 pixbuf.props.xpad = 3 self.tv.append_column(Gtk.TreeViewColumn("Icon", pixbuf, pixbuf=1, sensitive=0)) uistuff.appendAutowrapColumn(self.tv, "Name", markup=2, sensitive=0) widgets['preferences_notebook'].connect("switch-page", self.__on_switch_page) widgets["preferences_dialog"].connect("show", self.__on_show_window) widgets["preferences_dialog"].connect("hide", self.__on_hide_window) def selection_changed(self, treeselection): store, iter = self.tv.get_selection().get_selected() self.widgets['panel_enable_button'].set_sensitive(bool(iter)) self.widgets['panel_about_button'].set_sensitive(bool(iter)) if iter: active = self.tv.get_model().get(iter, 0)[0] self.widgets['panel_enable_button'].set_active(active) def panel_about(self, button): store, iter = self.tv.get_selection().get_selected() assert iter # The button should only be clickable when we have a selection path = store.get_path(iter) panel = store[path][3] d = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.INFO, buttons=Gtk.ButtonsType.CLOSE) d.set_markup("%s" % panel.__title__) text = panel.__about__ if hasattr( panel, '__about__') else _('Undescribed panel') d.format_secondary_text(text) d.run() d.hide() def panel_toggled(self, button): store, iter = self.tv.get_selection().get_selected() assert iter # The button should only be clickable when we have a selection path = store.get_path(iter) active = button.get_active() if store[path][0] == active: return store[path][0] = active self.__set_panel_active(store[path][3], active) def __set_panel_active(self, panel, active): name = panel.__name__ from pychess.widgets.pydock import EAST persp = perspective_manager.get_perspective("games") if active: leaf = persp.notebooks["board"].get_parent().get_parent() leaf.dock(persp.docks[name][1], EAST, persp.docks[name][0], name) panel.menu_item.show() else: try: persp.notebooks[name].get_parent().get_parent().undock(persp.notebooks[name]) panel.menu_item.hide() except AttributeError: # A new panel appeared in the panels directory leaf = persp.notebooks["board"].get_parent().get_parent() leaf.dock(persp.docks[name][1], EAST, persp.docks[name][0], name) def showit(self): from pychess.widgets.gamewidget import showDesignGW showDesignGW() def hideit(self): from pychess.widgets.gamewidget import hideDesignGW hideDesignGW() def __on_switch_page(self, notebook, page, page_num): if notebook.get_nth_page(page_num) == self.widgets['sidepanels']: self.showit() else: self.hideit() def __on_show_window(self, widget): notebook = self.widgets['preferences_notebook'] page_num = notebook.get_current_page() if notebook.get_nth_page(page_num) == self.widgets['sidepanels']: self.showit() def __on_hide_window(self, widget): self.hideit() # Theme initing board_items = [(None, "colors only")] boards_path = addDataPrefix("boards") board_items += [(get_pixbuf(os.path.join(boards_path, b), 24), b[:-6]) for b in listdir(boards_path) if b.endswith("_d.png")] class ThemeTab: """ :Description: Allows the setting of various user specific chess sets and board colours """ def __init__(self, widgets): self.widgets = widgets # Font chooser font = conf.get("movetextFont") font_button = Gtk.FontButton.new_with_font(font) demo_text = "♔a1 ♕f8 ♖h8 ♗g7 ♘g2 Ka1 Qf8 Rh8 Bg7 Ng2" font_button.set_preview_text(demo_text) self.widgets["fontChooserDock"].add(font_button) font_button.show() def select_font(button): conf.set("movetextFont", button.get_font_name()) font_button.connect("font-set", select_font) # Background image path = conf.get("welcome_image") conf.set("welcome_image", path) image_chooser_dialog = Gtk.FileChooserDialog( _("Select background image file"), mainwindow(), Gtk.FileChooserAction.OPEN, (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_OPEN, Gtk.ResponseType.OK)) image_chooser_button = Gtk.FileChooserButton.new_with_dialog( image_chooser_dialog) filter = Gtk.FileFilter() filter.set_name(_("Images")) filter.add_pattern("*.bmp") filter.add_pattern("*.jpg") filter.add_pattern("*.png") filter.add_pattern("*.svg") image_chooser_dialog.add_filter(filter) image_chooser_button.set_filename(path) self.widgets["imageChooserDock"].add(image_chooser_button) image_chooser_button.show() def select_new_image(button): new_image = image_chooser_dialog.get_filename() if new_image: conf.set("welcome_image", new_image) from pychess.widgets.TaskerManager import tasker newTheme(tasker, background=new_image) tasker.queue_draw() else: # restore the original image_chooser_dialog.set_filename(path) image_chooser_button.connect("file-set", select_new_image) # Board style uistuff.createCombo(widgets["board_style"], name="board_style") data = [(item[0], item[1]) for item in board_items] uistuff.createCombo(widgets["board_style"], data) uistuff.keep(widgets["board_style"], "board_style") # conf.set("board_style", conf.get("board_style")) # Board frame uistuff.createCombo(widgets["board_frame"], name="board_frame") data = [(item[0], item[1]) for item in [(None, "no frame")] + board_items[1:]] uistuff.createCombo(widgets["board_frame"], data) uistuff.keep(widgets["board_frame"], "board_frame") # conf.set("board_frame", conf.get("board_frame")) # Board Colours def onColourSetLight(_): """ :Description: Sets the light squares of the chess board to the value selected in the colour picker """ conf.set('lightcolour', widgets['light_cbtn'].get_color().to_string()) widgets["light_cbtn"].connect_after("color-set", onColourSetLight) def onColourSetDark(_): """ :Description: Sets the dark squares of the chess board to the value selected in the colour picker """ conf.set('darkcolour', widgets['dark_cbtn'].get_color().to_string()) widgets["dark_cbtn"].connect_after("color-set", onColourSetDark) def onResetColourClicked(_): """ :Description: Resets the chess board squares to factory default """ conf.set("lightcolour", conf.DEFAULTS["General"]["lightcolour"]) conf.set("darkcolour", conf.DEFAULTS["General"]["darkcolour"]) widgets["reset_btn"].connect("clicked", onResetColourClicked) # Get the current board colours if set, if not set, set them to default conf.set("lightcolour", conf.get("lightcolour")) conf.set("darkcolour", conf.get("darkcolour")) # Next 2 lines take a #hex str converts them to a color then to a RGBA representation self.lightcolour = Gdk.RGBA() self.lightcolour.parse(conf.get("lightcolour")) self.darkcolour = Gdk.RGBA() self.darkcolour.parse(conf.get("darkcolour")) # Set the color swatches in preference to stored values widgets['light_cbtn'].set_rgba(self.lightcolour) widgets['dark_cbtn'].set_rgba(self.darkcolour) # Chess Sets self.themes = self.discoverThemes() store = Gtk.ListStore(GdkPixbuf.Pixbuf, str) for theme in self.themes: pngfile = "%s/%s.png" % (addDataPrefix("pieces"), theme) if isfile(pngfile): pixbuf = get_pixbuf(pngfile) store.append((pixbuf, theme)) else: print( "WARNING: No piece theme preview icons found. Please run \ create_theme_preview.sh !") break self.icon_view = widgets["pieceTheme"] self.icon_view.set_model(store) self.icon_view.set_pixbuf_column(0) self.icon_view.set_text_column(1) def keepSize(crt, _): """ :Description: Hack to fix spacing problem in iconview http://stackoverflow.com/questions/14090094/what-causes-the-different-\ display-behaviour-for-a-gtkiconview-between-different """ crt.handler_block(crt_notify) crt.set_property('width', 40) crt.handler_unblock(crt_notify) crt = self.icon_view.get_cells()[0] crt_notify = crt.connect('notify', keepSize) def _getActive(iconview): model = iconview.get_model() selected = iconview.get_selected_items() if len(selected) == 0: return conf.get("pieceTheme") indices = selected[0].get_indices() if indices: idx = indices[0] theme = model[idx][1] Pieces.set_piece_theme(theme) return theme def _setActive(iconview, value): try: index = self.themes.index(value) except ValueError: index = 0 iconview.select_path(Gtk.TreePath(index, )) uistuff.keep(widgets["pieceTheme"], "pieceTheme", _getActive, _setActive) def discoverThemes(self): """ :Description: Finds all the different chess sets that are present in the pieces directory :return: (a List) of themes """ themes = ['Pychess'] pieces = addDataPrefix("pieces") themes += [d.capitalize() for d in listdir(pieces) if isdir(os.path.join(pieces, d)) and d != 'ttf'] ttf = addDataPrefix("pieces/ttf") themes += ["ttf-" + splitext(d)[0].capitalize() for d in listdir(ttf) if splitext(d)[1] == '.ttf'] themes.sort() return themes # Save initing class SaveTab: """ :Description: Allows the user to configure the structure of saved game files name along with various game attributes such as elapse time between moves and analysis engin evalutations """ def __init__(self, widgets): # Init 'auto save" checkbutton def checkCallBack(_): """ :Description: Sets the various option based on user interaction with the checkboxes in the gui """ checkbox = widgets["autoSave"] widgets["autosave_grid"].set_property("sensitive", checkbox.get_active()) conf.notify_add("autoSave", checkCallBack) uistuff.keep(widgets["autoSave"], "autoSave") checkCallBack(_) self.auto_save_path = conf.get("autoSavePath") conf.set("autoSavePath", self.auto_save_path) auto_save_chooser_dialog = Gtk.FileChooserDialog( _("Select auto save path"), mainwindow(), Gtk.FileChooserAction.SELECT_FOLDER, (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_OPEN, Gtk.ResponseType.OK)) auto_save_chooser_button = Gtk.FileChooserButton.new_with_dialog( auto_save_chooser_dialog) auto_save_chooser_button.set_current_folder(self.auto_save_path) widgets["savePathChooserDock"].add(auto_save_chooser_button) auto_save_chooser_button.show() def selectAutoSave(_): """ :Description: Sets the auto save path for stored games if it has changed since last time :signal: Activated on receiving the 'current-folder-changed' signal """ new_directory = auto_save_chooser_dialog.get_filename() if new_directory != self.auto_save_path: conf.set("autoSavePath", new_directory) auto_save_chooser_button.connect("current-folder-changed", selectAutoSave) conf.set("autoSaveFormat", conf.get("autoSaveFormat")) uistuff.keep(widgets["autoSaveFormat"], "autoSaveFormat") # uistuff.keep(widgets["saveEmt"], "saveEmt") # uistuff.keep(widgets["saveEval"], "saveEval") # uistuff.keep(widgets["saveRatingChange"], "saveRatingChange") # uistuff.keep(widgets["indentPgn"], "indentPgn") # uistuff.keep(widgets["saveOwnGames"], "saveOwnGames") pychess-1.0.0/lib/pychess/widgets/ChainVBox.py0000755000175000017500000001601213365545272020342 0ustar varunvarunimport cairo from gi.repository import Gtk, Gdk, GObject from pychess.System.prefix import addDataPrefix from pychess.widgets.BoardView import union from .BorderBox import BorderBox class ChainVBox(Gtk.VBox): """ Inspired by the GIMP chainbutton widget """ __gsignals__ = {'clicked': (GObject.SignalFlags.RUN_FIRST, None, ())} def __init__(self): GObject.GObject.__init__(self) chainline = ChainLine(CHAIN_TOP) self.pack_start(chainline, True, True, 0) self.button = Gtk.Button() self.pack_start(self.button, False, True, 0) chainline = ChainLine(CHAIN_BOTTOM) self.pack_start(chainline, True, True, 0) self.image = Gtk.Image() self.image.set_from_file(addDataPrefix("glade/stock-vchain-24.png")) self.button.set_image(self.image) self.button.set_relief(Gtk.ReliefStyle.NONE) self.button.set_property("yalign", 0) self._active = True self.button.connect("clicked", self.onClicked) def getActive(self): return self._active def setActive(self, active): assert isinstance(active, bool) self._active = active if self._active is True: self.image.set_from_file(addDataPrefix( "glade/stock-vchain-24.png")) else: self.image.set_from_file(addDataPrefix( "glade/stock-vchain-broken-24.png")) active = property(getActive, setActive) def onClicked(self, button): if self._active is False: self.image.set_from_file(addDataPrefix( "glade/stock-vchain-24.png")) self._active = True else: self.image.set_from_file(addDataPrefix( "glade/stock-vchain-broken-24.png")) self._active = False self.emit("clicked") CHAIN_TOP, CHAIN_BOTTOM = range(2) SHORT_LINE = 2 LONG_LINE = 8 class ChainLine(Gtk.Alignment): """ The ChainLine's are the little right-angle lines above and below the chain button that visually connect the ChainButton to the widgets who's values are "chained" together by the ChainButton being active """ def __init__(self, position): GObject.GObject.__init__(self) self.position = position self.connect_after("size-allocate", self.on_size_allocate) self.connect_after("draw", self.on_draw) self.set_size_request(10, 10) self.lastRectangle = None def on_size_allocate(self, widget, requisition): if self.get_window(): allocation = self.get_allocation() rect = Gdk.Rectangle() rect.x, rect.y, rect.width, rect.height = (allocation.x, allocation.y, allocation.width, allocation.height) unionrect = union(self.lastRectangle, rect) if self.lastRectangle is not None else rect self.get_window().invalidate_rect(unionrect, True) self.get_window().process_updates(True) self.lastRectangle = rect def on_draw(self, widget, context): self.draw(context) return False ### # the original Gtk.Style.paint_polygon() way to draw, like The GIMP does it ### # def draw (self, widget, event): # a = self.get_allocation() # print a.x, a.y, a.width, a.height # points = [None, None, None] # points[0] = (a.x + a.width/2 - SHORT_LINE, a.y + a.height/2) # points[1] = (points[0][0] + SHORT_LINE, points[0][1]) # points[2] = (points[1][0], self.position == CHAIN_TOP and a.y+a.height-1 or a.y) # if self.position == CHAIN_BOTTOM: # t = points[0] # points[0] = points[2] # points[2] = t # print points # self.points = points # # style = widget.get_style() # style.paint_polygon(widget.get_parent_window(), # Gtk.StateType.NORMAL, # Gtk.ShadowType.ETCHED_OUT, # event.area, # widget, # "chainbutton", # points, # False) def __toAHalf(self, number): """ To draw thin straight lines in cairo that aren't blurry, you have to adjust the endpoints by 0.5: http://www.cairographics.org/FAQ/#sharp_lines """ return int(number) + 0.5 def draw(self, context): allocation = self.get_allocation() x_loc = allocation.x y_loc = allocation.y width = allocation.width - 1 height = allocation.height context.set_source_rgb(.2, .2, .2) # context.rectangle(0, 0, width, height) # context.fill() context.move_to( self.__toAHalf(x_loc + width / 2.) - LONG_LINE, self.__toAHalf(y_loc + height / 2.)) context.line_to( self.__toAHalf(x_loc + width / 2.), self.__toAHalf(y_loc + height / 2.)) if self.position == CHAIN_TOP: context.line_to( self.__toAHalf(x_loc + width / 2.), self.__toAHalf(float(y_loc + height))) else: context.line_to( self.__toAHalf(x_loc + width / 2.), self.__toAHalf(y_loc + 0.)) context.set_line_width(1.0) context.set_line_cap(cairo.LINE_CAP_ROUND) context.set_line_join(cairo.LINE_JOIN_ROUND) context.stroke() def __str__(self): allocation = self.get_allocation() chain_str = "ChainLine(%s, %s, %s, %s" % (allocation.x, allocation.y, allocation.width, allocation.height) chain_str += (self.position == CHAIN_TOP and ", CHAIN_TOP" or ", CHAIN_BOTTOM") return chain_str + ")" if __name__ == "__main__": win = Gtk.Window() chainvbox = ChainVBox() label = Gtk.Label(label="Locked") adjustment = Gtk.Adjustment(value=10, upper=100, lower=0, step_increment=1) spinbutton1 = Gtk.SpinButton(adjustment=adjustment) adjustment = Gtk.Adjustment(value=0, upper=100, lower=0, step_increment=1) spinbutton2 = Gtk.SpinButton(adjustment=adjustment) table = Gtk.Table(rows=3, columns=2) # table.attach(label,0,2,0,1) # table.attach(chainvbox,1,2,1,3) # table.attach(spinbutton1,0,1,1,2) # table.attach(spinbutton2,0,1,2,3) table.attach(label, 0, 2, 0, 1, xoptions=Gtk.AttachOptions.SHRINK) table.attach(chainvbox, 1, 2, 1, 3, xoptions=Gtk.AttachOptions.SHRINK) table.attach(spinbutton1, 0, 1, 1, 2, xoptions=Gtk.AttachOptions.SHRINK) table.attach(spinbutton2, 0, 1, 2, 3, xoptions=Gtk.AttachOptions.SHRINK) table.set_row_spacings(2) def onChainBoxClicked(*whatever): if chainvbox.active is False: label.set_label("Unlocked") else: label.set_label("Locked") chainvbox.connect("clicked", onChainBoxClicked) border_box = BorderBox(widget=table) win.add(border_box) # win.resize(150,100) win.connect("delete-event", Gtk.main_quit) win.show_all() Gtk.main() pychess-1.0.0/lib/pychess/Players/0000755000175000017500000000000013467766037016124 5ustar varunvarunpychess-1.0.0/lib/pychess/Players/PyChess.py0000755000175000017500000002001613415426223020035 0ustar varunvarunimport os import random import sys from time import time this_dir = os.path.dirname(os.path.abspath(__file__)) if os.path.join(this_dir, "../..") not in sys.path: sys.path = [os.path.join(this_dir, "../..")] + sys.path try: from pychess.Utils.book import getOpenings # nopep8 from pychess.Utils.const import WHITE, ASEANCHESS, SITTUYINCHESS, ATOMICCHESS, reprResult, \ CAMBODIANCHESS, LOSERSCHESS, KINGOFTHEHILLCHESS, DRAW, BLACKWON, WHITEWON, MAKRUKCHESS, \ SUICIDECHESS, GIVEAWAYCHESS, THREECHECKCHESS, HORDECHESS, RACINGKINGSCHESS, PLACEMENTCHESS # nopep8 from pychess.Utils.lutils import lsearch # nopep8 from pychess.Utils.lutils.ldata import MAXPLY # nopep8 from pychess.Utils.lutils.lsearch import alphaBeta # nopep8 from pychess.Utils.lutils.lmove import listToSan, toSAN # nopep8 from pychess.System.Log import log # nopep8 except ImportError: print("ERROR: failed to start PyChess.py engine") sys.exit(1) class PyChess: def __init__(self): self.sd = MAXPLY self.skipPruneChance = 0 self.clock = [0, 0] self.basetime = 0 self.increment = 0 self.movestogo = 0 self.searchtime = 0 self.scr = 0 # The current predicted score. Used when accepting draw offers self.playingAs = WHITE self.ponder = False # Currently unused self.post = False self.debug = True self.outOfBook = False def print(self, text): try: print(text, flush=True) log.debug(text, extra={"task": "stdout"}) except BrokenPipeError: sys.exit(0) # Play related def __remainingMovesA(self): # Based on regression of a 180k games pgn ply_count = self.board.plyCount remaining = -1.71086e-12 * ply_count**6 \ + 1.69103e-9 * ply_count**5 \ - 6.00801e-7 * ply_count**4 \ + 8.17741e-5 * ply_count**3 \ + 2.91858e-4 * ply_count**2 \ - 0.94497 * ply_count \ + 78.8979 self.print("# remaining moves estimate=%s" % remaining) return remaining def __remainingMovesB(self): # Classical timecontrol ply = self.board.plyCount % (self.movestogo * 2) remaining = self.movestogo - ply // 2 self.print("# remaining moves estimate=%s" % remaining) return remaining def __getBestOpening(self): totalWeight = 0 choice = None if self.board.variant not in (ASEANCHESS, CAMBODIANCHESS, MAKRUKCHESS, HORDECHESS, PLACEMENTCHESS, SITTUYINCHESS, LOSERSCHESS, SUICIDECHESS, GIVEAWAYCHESS, ATOMICCHESS, KINGOFTHEHILLCHESS, THREECHECKCHESS, RACINGKINGSCHESS): for move, weight, learn in getOpenings(self.board): totalWeight += weight if totalWeight == 0: break if not move or random.randrange(totalWeight) < weight: choice = move if choice is None: self.outOfBook = True return choice def __go(self, ondone=None): """ Finds and prints the best move from the current position """ mv = False if self.outOfBook else self.__getBestOpening() if mv: mvs = [mv] if not mv: lsearch.skipPruneChance = self.skipPruneChance lsearch.searching = True timed = (self.basetime > 0 or self.increment > 0) if self.searchtime > 0: usetime = self.searchtime else: if self.movestogo > 0: remaining_moves = self.__remainingMovesB() usetime = self.clock[self.playingAs] / remaining_moves if remaining_moves == 1: usetime -= 0.05 else: usetime = self.clock[self.playingAs] / self.__remainingMovesA() if self.clock[self.playingAs] > 10: # If we have time, we assume 40 moves rather than 80 usetime *= 2 # The increment is a constant. We'll use this always usetime += self.increment usetime = min(usetime, self.clock[self.playingAs] / 2) prevtime = 0 starttime = time() lsearch.endtime = starttime + usetime if timed else sys.maxsize if self.debug: if timed: self.print("# Time left: %3.2f s; Planing to think for %3.2f s" % (self.clock[self.playingAs], usetime)) else: self.print("# Searching to depth %d without timelimit" % self.sd) for depth in range(1, self.sd + 1): # Heuristic time saving # Don't waste time, if the estimated isn't enough to complete # next depth if depth > 1 and timed and usetime <= prevtime * 4 and usetime > 1: break lsearch.timecheck_counter = lsearch.TIMECHECK_FREQ search_result = alphaBeta(self.board, depth) if lsearch.searching: mvs, self.scr = search_result if time() > lsearch.endtime: break if self.post: pv1 = " ".join(listToSan(self.board, mvs)) time_cs = int(100 * (time() - starttime)) self.print("%s %s %s %s %s" % ( depth, self.scr, time_cs, lsearch.nodes, pv1)) else: # We were interrupted if depth == 1: mvs, self.scr = search_result break prevtime = time() - starttime - prevtime self.clock[self.playingAs] -= time( ) - starttime - self.increment if not mvs: if not lsearch.searching: # We were interupted lsearch.nodes = 0 return # This should only happen in terminal mode if self.scr == 0: self.print("result %s" % reprResult[DRAW]) elif self.scr < 0: if self.board.color == WHITE: self.print("result %s" % reprResult[BLACKWON]) else: self.print("result %s" % reprResult[WHITEWON]) else: if self.board.color == WHITE: self.print("result %s" % reprResult[WHITEWON]) else: self.print("result %s" % reprResult[BLACKWON]) return lsearch.nodes = 0 lsearch.searching = False move = mvs[0] sanmove = toSAN(self.board, move) if ondone: ondone(sanmove) return sanmove def __analyze(self): """ Searches, and prints info from, the position as stated in the cecp protocol """ start = time() lsearch.endtime = sys.maxsize lsearch.searching = True for depth in range(1, self.sd): if not lsearch.searching: break board = self.board.clone() mvs, scr = alphaBeta(board, depth) pv1 = " ".join(listToSan(board, mvs)) time_cs = int(100 * (time() - start)) self.print("%s %s %s %s %s" % (depth, scr, time_cs, lsearch.nodes, pv1)) lsearch.nodes = 0 if __name__ == "__main__": import logging from pychess.Players.PyChessCECP import PyChessCECP if len(sys.argv) == 1 or sys.argv[1:] == ["debug"]: if "debug" in sys.argv[1:]: log.logger.setLevel(logging.DEBUG) else: log.logger.setLevel(logging.WARNING) pychess = PyChessCECP() else: print("Unknown argument(s):", repr(sys.argv)) sys.exit(0) pychess.makeReady() pychess.run() pychess-1.0.0/lib/pychess/Players/engineNest.py0000644000175000017500000006450513412102767020567 0ustar varunvarunimport asyncio import os from os.path import join, dirname, abspath import sys import shutil import json from functools import partial from hashlib import md5 from copy import copy from collections import OrderedDict from gi.repository import GLib, GObject from pychess.compat import create_task from pychess.System import conf from pychess.System.Log import log from pychess.System.command import Command from pychess.System.SubProcess import SubProcess from pychess.System.prefix import addUserConfigPrefix, getDataPrefix, getEngineDataPrefix from pychess.Players.Player import PlayerIsDead from pychess.Utils import createStoryTextAppEvent from pychess.Utils.const import BLACK, UNKNOWN_REASON, WHITE, HINT, ANALYZING, INVERSE_ANALYZING, NORMALCHESS from pychess.Players.CECPEngine import CECPEngine from pychess.Players.UCIEngine import UCIEngine from pychess.Players.engineList import PYTHONBIN, VM_LIST, ENGINES_LIST from pychess.Variants import variants attrToProtocol = {"uci": UCIEngine, "xboard": CECPEngine} ENGINE_DEFAULT_LEVEL = 20 class SubProcessError(Exception): pass def md5_sum(filename): with open(filename, mode='rb') as file_handle: md5sum = md5() for buf in iter(partial(file_handle.read, 4096), b''): md5sum.update(buf) return md5sum.hexdigest() class EngineDiscoverer(GObject.GObject): __gsignals__ = { "discovering_started": (GObject.SignalFlags.RUN_FIRST, None, (object, )), "engine_discovered": (GObject.SignalFlags.RUN_FIRST, None, (str, object)), "engine_failed": (GObject.SignalFlags.RUN_FIRST, None, (str, object)), "all_engines_discovered": (GObject.SignalFlags.RUN_FIRST, None, ()), } def __init__(self): GObject.GObject.__init__(self) self.jsonpath = addUserConfigPrefix("engines.json") self.engines = [] try: self.engines = json.load(open(self.jsonpath)) except ValueError as err: log.warning( "engineNest: Couldn\'t read engines.json, renamed it to .bak\n%s\n%s" % (self.jsonpath, err)) os.rename(self.jsonpath, self.jsonpath + ".bak") except IOError as err: log.info("engineNest: Couldn\'t open engines.json, creating a new.\n%s" % err) # Try to detect engines shipping .eng files on Linux (suggested by HGM on talkchess.com forum) for protocol in ("xboard", "uci"): for path in ("/usr/local/share/games/plugins", "/usr/share/games/plugins"): path = os.path.join(path, protocol) if os.path.isdir(path): for entry in os.listdir(path): ext = os.path.splitext(entry)[1] if ext == ".eng": with open(os.path.join(path, entry)) as file_handle: plugin_spec = file_handle.readline().strip() if not plugin_spec.startswith("plugin spec"): continue engine_command = file_handle.readline().strip() if self.getEngineByName(engine_command) is not None: continue supported_variants = file_handle.readline().strip() if not supported_variants.startswith("chess"): continue new_engine = {} if engine_command.startswith("cd ") and engine_command.find(";") > 0: parts = engine_command.split(";") working_directory = parts[0][3:] engine_command = parts[1] new_engine["workingDirectory"] = working_directory new_engine["protocol"] = protocol new_engine["name"] = engine_command self.engines.append(new_engine) # Initial backup of the loaded engines self.backup() def __findRunData(self, engine): """ Searches for a readable, executable named 'name' in the PATH. For the PyChess engine, special handling is taken, and we search PYTHONPATH as well as the directory from where the 'os' module is imported """ if engine.get("vm_name") is not None: vm_command = engine.get("vm_command") altpath = dirname(vm_command) if vm_command else None if getattr(sys, 'frozen', False) and engine["vm_name"] == "wine": vmpath = None else: vmpath = shutil.which(engine["vm_name"], mode=os.R_OK | os.X_OK, path=altpath) if engine["name"] == "PyChess.py" and not getattr(sys, 'frozen', False): path = join(abspath(dirname(__file__)), "PyChess.py") if not vmpath.endswith(PYTHONBIN): # from python to python3 engine["vm_name"] = PYTHONBIN vmpath = shutil.which(PYTHONBIN, mode=os.R_OK | os.X_OK, path=None) if not os.access(path, os.R_OK): path = None else: command = engine.get("command") altpath = dirname(command) if command else None path = shutil.which(engine["name"], mode=os.R_OK, path=altpath) if vmpath and path: return vmpath, path elif path and sys.platform == "win32" and engine.get("vm_name") == "wine": return None, path else: command = engine.get("command") altpath = dirname(command) if command else None if sys.platform == "win32" and not altpath: altpath = os.path.join(getDataPrefix(), "engines") + ";" + os.path.dirname(sys.executable) path = shutil.which(command if command else engine["name"], mode=os.R_OK | os.X_OK, path=altpath) if path: return None, path return False def __fromUCIProcess(self, subprocess): ids = subprocess.ids options = subprocess.options engine = {} if 'author' in ids: engine['author'] = ids['author'] if options: engine["options"] = list(options.values()) return engine def __fromCECPProcess(self, subprocess): features = subprocess.features options = subprocess.options engine = {} if features['variants'] is not None: engine['variants'] = features['variants'].split(",") if features['analyze'] == 1: engine["analyze"] = True if options: engine["options"] = list(options.values()) return engine @asyncio.coroutine def __discoverE(self, engine): subproc = yield from self.initEngine(engine, BLACK, False) subproc.connect('readyForOptions', self.__discoverE2, engine) subproc.prestart() # Sends the 'start line' event = asyncio.Event() is_dead = set() subproc.start(event, is_dead) yield from event.wait() if is_dead: # Check if the player died after engine_discovered by our own hands if not self.toBeRechecked[engine["name"]][1]: log.warning("Engine %s failed discovery" % engine["name"]) self.emit("engine_failed", engine["name"], engine) subproc.kill(UNKNOWN_REASON) def __discoverE2(self, subproc, engine): if engine.get("protocol") == "uci": fresh = self.__fromUCIProcess(subproc) elif engine.get("protocol") == "xboard": fresh = self.__fromCECPProcess(subproc) engine.update(fresh) exitcode = subproc.kill(UNKNOWN_REASON) if exitcode: log.debug("Engine failed %s" % engine["name"]) self.emit("engine_failed", engine['name'], engine) return engine['recheck'] = False log.debug("Engine finished %s" % engine["name"]) self.emit("engine_discovered", engine['name'], engine) ############################################################################ # Main loop # ############################################################################ def __needClean(self, rundata, engine): """ Check if the filename or md5sum of the engine has changed. In that case we need to clean the engine """ path = rundata[1] # Check if filename is not set, or if it has changed if engine.get("command") is None or engine.get("command") != path: return True # If the engine failed last time, we'll recheck it as well if engine.get('recheck'): return True # Check if md5sum is not set, or if it has changed if engine.get("md5") is None: return True md5sum = md5_sum(path) if engine.get("md5") != md5sum: return True return False def __clean(self, rundata, engine): """ Grab the engine from the referenced engines and attach the attributes from rundata. The update engine is ready for discovering. """ vmpath, path = rundata md5sum = md5_sum(path) # Find the referenced engine refeng = self.getReferencedEngine(engine["name"]) if refeng is None: log.warning("Engine '%s' is not in PyChess predefined known engines list" % engine.get('name')) engine['recheck'] = True else: engine["country"] = refeng["country"] # Clean it engine['command'] = path engine['md5'] = md5sum if vmpath is not None: engine['vm_command'] = vmpath if "variants" in engine: del engine["variants"] if "options" in engine: del engine["options"] ###### # Save the xml ###### def backup(self): self.enginesBackup = json.dumps(self.engines) def restore(self): self.engines = json.loads(self.enginesBackup) def hasChanged(self): return self.enginesBackup != json.dumps(self.engines) def save(self, *args): try: with open(self.jsonpath, "w") as file_handle: json.dump(self.engines, file_handle, indent=1, sort_keys=True) except IOError as err: log.error("Saving engines.json raised exception: %s" % ", ".join(str(a) for a in err.args)) def pre_discover(self): # Remove the expired engines self.engines = [engine for engine in self.engines if os.path.isfile(engine.get('command', ''))] # Scan the referenced engines to see if they are installed for engine in ENGINES_LIST: if engine.autoDetect: if self.getEngineByName(engine.name, exactName=False) is not None: # No rediscovery if already exists continue engine = self.getReferencedEngine(engine.name) if engine is not None and self.__findRunData(engine): self.engines.append(engine) # Check if the existing engines need a refresh for engine in self.engines: rundata = self.__findRunData(engine) if rundata and self.__needClean(rundata, engine): self.__clean(rundata, engine) engine['recheck'] = True # Runs all the engines in toBeRechecked, in order to gather information self.toBeRechecked = sorted([(c["name"], [c, False]) for c in self.engines if c.get('recheck')]) self.toBeRechecked = OrderedDict(self.toBeRechecked) def discover(self): self.pre_discover() def count(self_, name, engine, wentwell): if not wentwell: print("count() not went well on engine", name) self.engines.remove(engine) self.toBeRechecked[name][1] = True if all([elem[1] for elem in self.toBeRechecked.values()]): self.engines.sort(key=lambda x: x["name"]) self.emit("all_engines_discovered") createStoryTextAppEvent("all_engines_discovered") self.connect("engine_discovered", count, True) self.connect("engine_failed", count, False) if self.toBeRechecked: self.emit("discovering_started", self.toBeRechecked.keys()) self.connect("all_engines_discovered", self.save) for engine, done in self.toBeRechecked.values(): if not done: create_task(self.__discoverE(engine)) else: self.emit("all_engines_discovered") createStoryTextAppEvent("all_engines_discovered") ############################################################################ # Interaction # ############################################################################ def is_analyzer(self, engine): protocol = engine.get("protocol") if protocol == "uci": return True elif protocol == "xboard": return engine.get("analyze") is not None def getAnalyzers(self): return [engine for engine in self.getEngines() if self.is_analyzer(engine)] def getEngines(self): """ Returns a sorted list of engine dicts """ return sorted(self.engines, key=lambda engine: engine["name"].lower()) def getEngineN(self, index): return self.getEngines()[index] def getEngineByName(self, name, exactName=True): approximate = None for engine in self.engines: if engine["name"] == name: # Priority to exact name return engine if not exactName and name.lower() in engine["name"].lower(): approximate = engine return approximate def getEngineByMd5(self, md5sum, list=[]): if not list: list = self.getEngines() for engine in list: md5_check = engine.get('md5') if md5_check is None: continue if md5_check == md5sum: return engine def getEngineVariants(self, engine): UCI_without_standard_variant = False engine_variants = [] for variantClass in variants.values(): if variantClass.standard_rules: engine_variants.append(variantClass.variant) else: if engine.get("variants"): if variantClass.cecp_name in engine.get("variants"): engine_variants.append(variantClass.variant) # UCI knows Chess960 only if engine.get("options"): for option in engine["options"]: if option["name"] == "UCI_Chess960" and \ variantClass.cecp_name == "fischerandom": engine_variants.append(variantClass.variant) elif option["name"] == "UCI_Variant": UCI_without_standard_variant = "chess" not in option["choices"] if variantClass.cecp_name in option["choices"] or \ variantClass.cecp_name.lower().replace("-", "") in option["choices"]: engine_variants.append(variantClass.variant) if UCI_without_standard_variant: engine_variants.remove(NORMALCHESS) return engine_variants def getEngineLearn(self): # Local helpers def has_classical(engine): status = engine['protocol'] == 'uci' if 'variants' in engine: status = status and 'normal' in engine['variants'] if 'options' in engine: for option in engine['options']: if option['name'] == 'UCI_Variant' and 'choices' in option: status = status and 'chess' in option['choices'] return status def is_stockfish(engine): return 'stockfish' in engine['name'].lower() # Initialization id = conf.get('ana_combobox') analyzer_enabled = conf.get('analyzer_check') # Stockfish from the preferences if analyzer_enabled: # The analyzer should be active else we might believe that it is irrelevant for engine in self.engines: if engine['md5'] == id and is_stockfish(engine): return engine['name'] # Stockfish from the raw list of engines for engine in self.engines: if is_stockfish(engine): return engine['name'] # Preferred engine if analyzer_enabled: for engine in self.engines: if engine['md5'] == id and has_classical(engine): return engine['name'] # First found for engine in self.engines: if has_classical(engine): return engine['name'] # No engine found return None def getName(self, engine=None): return engine["name"] def getReferencedEngine(self, name): """ This methods builds an automatic entry based on the name of the engine and the preconfigured values found for it. """ for engine in ENGINES_LIST: if engine.name.lower() in name.lower(): # Properties of the engine result = {"name": os.path.basename(name), "protocol": engine.protocol[:6], "recheck": True, "country": engine.country, "comment": "", "level": ENGINE_DEFAULT_LEVEL if engine.defaultLevel is None else engine.defaultLevel} if '/' in name or '\\' in name: result["command"] = name if engine.protocol == "xboard1": result["protover"] = 1 if engine.protocol == "xboard2": result["protover"] = 2 if engine.protocol == "uci": result["analyze"] = True # if engine.elo > 0: # result["elo"] = engine.elo # Attached interpreter ext = os.path.splitext(name.lower())[1] if ext != "": for vm in VM_LIST: if ext == vm.ext: result["vm_name"] = vm.name if vm.args is not None: result["vm_args"] = vm.args # Linux-specific parameters if sys.platform != "win32": if "vm_name" not in result and ext == ".exe": result["vm_name"] = "wine" # Verify the host application if result.get("vm_name") and shutil.which(result["vm_name"], mode=os.R_OK | os.X_OK) is None: return None # Found result return result # No result found return None def getCountry(self, engine): return engine.get("country") @asyncio.coroutine def initEngine(self, engine, color, lowPriority): name = engine['name'] protocol = engine["protocol"] protover = 2 if engine.get("protover") is None else engine.get("protover") path = engine['command'] args = [] if engine.get('args') is None else [a for a in engine['args']] if engine.get('vm_command') is not None: vmpath = engine['vm_command'] vmargs = [] if engine.get('vm_args') is None else [a for a in engine['vm_args']] args = vmargs + [path] + args path = vmpath md5_engine = engine['md5'] working_directory = engine.get("workingDirectory") if working_directory: workdir = working_directory else: workdir = getEngineDataPrefix() warnwords = ("illegal", "error", "exception") try: subprocess = SubProcess(path, args=args, warnwords=warnwords, cwd=workdir, lowPriority=lowPriority) yield from subprocess.start() except OSError: raise PlayerIsDead except asyncio.TimeoutError: raise PlayerIsDead except GLib.GError: raise PlayerIsDead except Exception: raise PlayerIsDead engine_proc = attrToProtocol[protocol](subprocess, color, protover, md5_engine) engine_proc.setName(name) # If the user has configured special options for this engine, here is # where they should be set. def optionsCallback(set_option): if engine.get("options"): for option in engine["options"]: key = option["name"] value = option.get("value") if (value is not None) and option["default"] != value: if protocol == "xboard" and option["type"] == "check": value = int(bool(value)) set_option.setOption(key, value) engine_proc.connect("readyForOptions", optionsCallback) return engine_proc @asyncio.coroutine def initPlayerEngine(self, engine, color, diffi, variant, secs=0, incr=0, moves=0, forcePonderOff=False): engine = yield from self.initEngine(engine, color, False) def optionsCallback(engine): engine.setOptionStrength(diffi, forcePonderOff) engine.setOptionVariant(variant) if secs > 0 or incr > 0: engine.setOptionTime(secs, incr, moves) engine.connect("readyForOptions", optionsCallback) engine.prestart() return engine @asyncio.coroutine def initAnalyzerEngine(self, engine, mode, variant): engine = yield from self.initEngine(engine, WHITE, True) def optionsCallback(engine): engine.setOptionAnalyzing(mode) engine.setOptionVariant(variant) engine.connect("readyForOptions", optionsCallback) engine.prestart() return engine def addEngine(self, name, new_engine, protocol, vm_name, vm_args): # Default values refeng = self.getReferencedEngine(name) if refeng is not None: engine = copy(refeng) else: engine = {"country": "unknown", "comment": "", "level": ENGINE_DEFAULT_LEVEL} # New values engine["name"] = name engine["protocol"] = protocol engine["command"] = new_engine engine["recheck"] = True if vm_name is not None: engine["vm_name"] = vm_name if vm_args is not None: engine["vm_args"] = vm_args self.engines.append(engine) def addEngineFromReference(self, engine): if engine is not None: self.engines.append(engine) def removeEngine(self, name): names = [engine["name"] for engine in self.engines] index = names.index(name) del self.engines[index] discoverer = EngineDiscoverer() @asyncio.coroutine def init_engine(analyzer_type, gamemodel, force_engine=None): """ Initializes and starts the engine analyzer of analyzer_type the user has configured in the Engines tab of the preferencesDialog, for gamemodel. If no such engine is set in the preferences, or if the configured engine doesn't support the chess variant being played in gamemodel, then no analyzer is started and None is returned. """ if analyzer_type == HINT: combo_name = "ana_combobox" check_name = "analyzer_check" mode = ANALYZING else: combo_name = "inv_ana_combobox" check_name = "inv_analyzer_check" mode = INVERSE_ANALYZING analyzer = None if conf.get(check_name) or force_engine is not None: anaengines = list(discoverer.getAnalyzers()) if len(anaengines) == 0: return None if force_engine is not None: engine = discoverer.getEngineByName(force_engine) else: engine = discoverer.getEngineByMd5(conf.get(combo_name)) if engine is None: engine = discoverer.getEngineByName(discoverer.getEngineLearn()) if engine is None: engine = anaengines[-1] if gamemodel.variant.variant in discoverer.getEngineVariants(engine): analyzer = yield from discoverer.initAnalyzerEngine(engine, mode, gamemodel.variant) log.debug("%s analyzer: %s" % (analyzer_type, repr(analyzer))) return analyzer def is_uci(engine_command): command = Command(engine_command, "uci\nquit\n") status, output, err = command.run(timeout=5) uci = False for line in output.splitlines(): line = line.rstrip() if line == "uciok" or line.startswith("info string"): uci = True break elif "Error" in line or "Illegal" in line or "Invalid" in line: break return uci def is_cecp(engine_command): command = Command(engine_command, "xboard\nprotover 2\nquit\n") status, output, err = command.run(timeout=5) cecp = False for line in output.splitlines(): line = line.rstrip() if "feature" in line and "done" in line: cecp = True break elif "Error" in line or "Illegal" in line or "Invalid" in line: break return cecp if __name__ == "__main__": from pychess.external import gbulb gbulb.install() loop = asyncio.get_event_loop() def discovering_started(discoverer, names): print("discovering_started", names) discoverer.connect("discovering_started", discovering_started) def engine_discovered(discoverer, name, engine): sys.stdout.write(".") discoverer.connect("engine_discovered", engine_discovered) def all_engines_discovered(discoverer): print("all_engines_discovered") print([engine["name"] for engine in discoverer.getEngines()]) loop.stop() discoverer.connect("all_engines_discovered", all_engines_discovered) discoverer.discover() loop.run_forever() pychess-1.0.0/lib/pychess/Players/Player.py0000755000175000017500000001162513365545272017733 0ustar varunvarunfrom gi.repository import GObject class PlayerIsDead(Exception): """ Used instead of returning a move, when an engine crashes, or a nonlocal player disconnects """ pass class PassInterrupt(Exception): """ Used instead of returning a move, when a players turn is interrupted but not changed. This may happen when undoMoves doesn't changes the current player """ pass class TurnInterrupt(Exception): """ Used instead of returning a move, when a players turn is interrupted. This may happen when undoMoves changes the current player """ pass class InvalidMove(Exception): """ Used instead of returning a move, when an engine plays an invalid move """ pass class GameEnded(Exception): """ Used instead of returning a move on game end """ pass class Player(GObject.GObject): __gsignals__ = { "offer": (GObject.SignalFlags.RUN_FIRST, None, (object, )), "withdraw": (GObject.SignalFlags.RUN_FIRST, None, (object, )), "decline": (GObject.SignalFlags.RUN_FIRST, None, (object, )), "accept": (GObject.SignalFlags.RUN_FIRST, None, (object, )), "name_changed": (GObject.SignalFlags.RUN_FIRST, None, ()), } def __init__(self): GObject.GObject.__init__(self) self.name = "" self.ichandle = None self.icrating = None def setName(self, name): """ __repr__ should return this name """ self.name = name self.emit("name_changed") def __repr__(self): return self.name @property def time(self): pass # Optional # Starting the game def prestart(self): pass # Optional def start(self, event, is_dead): event.set() def setOptionInitialBoard(self, model): pass # Optional. Further defined in Engine.py # Ending the game def end(self, status, reason): """ Called when the game ends in a normal way. Use this for shutting down engines etc. """ raise NotImplementedError def kill(self, reason): """ Called when game has too die fast and ugly. Mostly used in case of errors and stuff. Use for closing connections etc. """ raise NotImplementedError # Send the player move updates def makeMove(self, board1, move, board2): """ Takes a board object, and if ply>lowply the latest move object and second latest board object as well. Otherwise these two are None. Retruns: A new move object, witch the player wants to do. """ raise NotImplementedError def putMove(self, board1, move, board2): """ Like makeMove, but doesn't block and doesn't return anything. putMove is only used when the player is spectatctor to a game """ # Optional def updateTime(self, secs, opsecs): """ Updates the player with the current remaining time as a float of seconds """ # Optional # nteracting with the player def pause(self): """ Should stop the player from thinking until resume is called """ raise NotImplementedError def resume(self): """ Should resume player to think if he's paused """ raise NotImplementedError def hurry(self): """ Forces engines to move now, and sends a hurry message to nonlocal human players """ # Optional def undoMoves(self, moves, gamemodel): """ Undo 'moves' moves and makes the latest board in gamemodel the current """ # Optional def playerUndoMoves(self, moves, gamemodel): """ Some players undo different depending on whether they are players or spectators. This is a convenient way to handle that. """ # Optional return self.undoMoves(moves, gamemodel) def spectatorUndoMoves(self, moves, gamemodel): """ Some players undo different depending on whether they are players or spectators. This is a convenient way to handle that. """ # Optional return self.undoMoves(moves, gamemodel) def putMessage(self, message): """ Sends the player a chatmessage """ # Optional # Offer handling def offer(self, offer): """ The players opponent has offered the player offer. If the player accepts, it should respond by mirroring the offer with emit("accept", offer). If it should either ignore the offer or emit "decline".""" raise NotImplementedError def offerDeclined(self, offer): """ An offer sent by the player was responded negative by the opponent """ # Optional def offerWithdrawn(self, offer): """ An offer earlier offered to the player has been withdrawn """ # Optional def offerError(self, offer, error): """ An offer, accept or action made by the player has been refused by the game model. """ # Optional pychess-1.0.0/lib/pychess/Players/ICPlayer.py0000755000175000017500000002264213432473661020145 0ustar varunvarunimport asyncio from collections import defaultdict from pychess.Players.Player import Player, PlayerIsDead, PassInterrupt, TurnInterrupt, GameEnded from pychess.Utils.Move import parseSAN, toAN from pychess.Utils.lutils.lmove import ParsingError from pychess.Utils.Offer import Offer from pychess.Utils.const import REMOTE, UNFINISHED_STATES, CHAT_ACTION, CASTLE_KK, \ FISCHERRANDOMCHESS, CASTLE_SAN, TAKEBACK_OFFER from pychess.System.Log import log class ICPlayer(Player): __type__ = REMOTE def __init__(self, gamemodel, ichandle, gameno, color, name, icrating=None): Player.__init__(self) self.offers = {} self.setName(name) self.ichandle = ichandle self.icrating = icrating self.color = color self.gameno = gameno self.gamemodel = gamemodel self.pass_interrupt = False self.turn_interrupt = False self.connection = connection = self.gamemodel.connection self.connections = connections = defaultdict(list) connections[connection.om].append(connection.om.connect( "onOfferAdd", self.__onOfferAdd)) connections[connection.om].append(connection.om.connect( "onOfferRemove", self.__onOfferRemove)) connections[connection.om].append(connection.om.connect( "onOfferDeclined", self.__onOfferDeclined)) connections[connection.cm].append(connection.cm.connect( "privateMessage", self.__onPrivateMessage)) self.cid = self.gamemodel.connect_after("game_terminated", self.on_game_terminated) def on_game_terminated(self, model): self.gamemodel.disconnect(self.cid) def getICHandle(self): return self.name @property def time(self): return self.gamemodel.timemodel.getPlayerTime(self.color) @property def move_queue(self): return self.gamemodel.ficsgame.move_queue # Handle signals from the connection def __onOfferAdd(self, om, offer): if self.gamemodel.status in UNFINISHED_STATES and not self.gamemodel.isObservationGame( ): log.debug("ICPlayer.__onOfferAdd: emitting offer: self.gameno=%s self.name=%s %s" % ( self.gameno, self.name, offer)) self.offers[offer.index] = offer self.emit("offer", offer) def __onOfferDeclined(self, om, offer): for offer_ in list(self.gamemodel.offers.keys()): if offer.type == offer_.type: offer.param = offer_.param log.debug("ICPlayer.__onOfferDeclined: emitting decline for %s" % offer) self.emit("decline", offer) def __onOfferRemove(self, om, offer): if offer.index in self.offers: log.debug("ICPlayer.__onOfferRemove: emitting withdraw: \ self.gameno=%s self.name=%s %s" % (self.gameno, self.name, offer)) # self.emit("withdraw", self.offers[offer.index]) del self.offers[offer.index] def __onPrivateMessage(self, cm, name, title, isadmin, text): if name == self.ichandle: self.emit("offer", Offer(CHAT_ACTION, param=text)) def __disconnect(self): log.debug("ICPlayer.__disconnect: %s" % self.name) if self.connections is None: return for obj in self.connections: for handler_id in self.connections[obj]: if obj.handler_is_connected(handler_id): obj.disconnect(handler_id) self.connections = None def end(self, status=None, reason=None): log.debug("ICPlayer.end: %s" % self.name) self.__disconnect() self.move_queue.put_nowait("end") def kill(self, reason): self.__disconnect() self.move_queue.put_nowait("del") # Send the player move updates @asyncio.coroutine def makeMove(self, board1, move, board2): log.debug("ICPlayer.makemove: id(self)=%d self=%s move=%s board1=%s board2=%s" % ( id(self), self, move, board1, board2)) if board2 and not self.gamemodel.isObservationGame(): # TODO: Will this work if we just always use CASTLE_SAN? castle_notation = CASTLE_KK if board2.variant == FISCHERRANDOMCHESS: castle_notation = CASTLE_SAN self.connection.bm.sendMove(toAN(board2, move, castleNotation=castle_notation)) # wait for fics to send back our move we made item = yield from self.move_queue.get() log.debug("ICPlayer.makeMove: fics sent back the move we made") item = yield from self.move_queue.get() try: if item == "end": log.debug("ICPlayer.makeMove got: end") raise GameEnded elif item == "del": log.debug("ICPlayer.makeMove got: del") raise PlayerIsDead elif item == "stm": log.debug("ICPlayer.makeMove got: stm") self.turn_interrupt = False raise TurnInterrupt elif item == "fen": log.debug("ICPlayer.makeMove got: fen") self.turn_interrupt = False raise TurnInterrupt elif item == "pass": log.debug("ICPlayer.makeMove got: pass") self.pass_interrupt = False raise PassInterrupt gameno, ply, curcol, lastmove, fen, wname, bname, wms, bms = item log.debug("ICPlayer.makeMove got: %s %s %s %s" % (gameno, ply, curcol, lastmove)) self.gamemodel.update_board(gameno, ply, curcol, lastmove, fen, wname, bname, wms, bms) if self.turn_interrupt: self.turn_interrupt = False raise TurnInterrupt if self.pass_interrupt: self.pass_interrupt = False raise PassInterrupt if ply < board1.ply: # This should only happen in an observed game board1 = self.gamemodel.getBoardAtPly(max(ply - 1, 0)) log.debug("ICPlayer.makemove: id(self)=%d self=%s from queue got: ply=%d sanmove=%s" % ( id(self), self, ply, lastmove)) try: move = parseSAN(board1, lastmove) log.debug("ICPlayer.makemove: id(self)=%d self=%s parsed move=%s" % ( id(self), self, move)) except ParsingError: raise return move finally: log.debug("ICPlayer.makemove: id(self)=%d self=%s returning move=%s" % (id(self), self, move)) # Interacting with the player def pause(self): pass def resume(self): pass def setBoard(self, fen): # setBoard will currently only be called for ServerPlayer when starting # to observe some game. In this case FICS already knows how the board # should look, and we don't need to set anything pass def playerUndoMoves(self, movecount, gamemodel): log.debug("ICPlayer.playerUndoMoves: id(self)=%d self=%s, undoing movecount=%d" % ( id(self), self, movecount)) # If current player has changed so that it is no longer us to move, # We raise TurnInterrupt in order to let GameModel continue the game if movecount % 2 == 1 and gamemodel.curplayer != self: log.debug("ICPlayer.playerUndoMoves: set self.turn_interrupt = True %s" % self.name) if self.connection.ICC: self.move_queue.put_nowait("stm") else: self.turn_interrupt = True if movecount % 2 == 0 and gamemodel.curplayer == self: log.debug("ICPlayer.playerUndoMoves: set self.pass_interrupt = True %s" % self.name) if self.connection.ICC: self.move_queue.put_nowait("pass") else: self.pass_interrupt = True def resetPosition(self): """ Used in observed examined games f.e. when LectureBot starts another example""" self.turn_interrupt = True def putMessage(self, text): self.connection.cm.tellPlayer(self.ichandle, text) # Offer handling def offerRematch(self): if self.gamemodel.timed: minimum = int(self.gamemodel.timemodel.intervals[0][0]) / 60 inc = self.gamemodel.timemodel.gain else: minimum = 0 inc = 0 self.connection.om.challenge(self.ichandle, self.gamemodel.ficsgame.game_type, minimum, inc, self.gamemodel.ficsgame.rated) def offer(self, offer): log.debug("ICPlayer.offer: self=%s %s" % (repr(self), offer)) if offer.type == TAKEBACK_OFFER: # only 1 outstanding takeback offer allowed on FICS, so remove any of ours for index in list(self.offers.keys()): if self.offers[index].type == TAKEBACK_OFFER: log.debug("ICPlayer.offer: del self.offers[%s] %s" % (index, offer)) del self.offers[index] self.connection.om.offer(offer) def offerDeclined(self, offer): log.debug("ICPlayer.offerDeclined: sending decline for %s" % offer) self.connection.om.decline(offer) def offerWithdrawn(self, offer): pass def offerError(self, offer, error): pass def observe(self): self.connection.client.run_command("observe %s" % self.ichandle) pychess-1.0.0/lib/pychess/Players/ProtocolEngine.py0000755000175000017500000000155313434743747021431 0ustar varunvarunfrom gi.repository import GObject from pychess.Players.Engine import Engine from pychess.Utils.const import NORMAL, ANALYZING, INVERSE_ANALYZING TIME_OUT_SECOND = 60 class ProtocolEngine(Engine): __gsignals__ = { "readyForOptions": (GObject.SignalFlags.RUN_FIRST, None, ()), "readyForMoves": (GObject.SignalFlags.RUN_FIRST, None, ()) } # Setting engine options def __init__(self, subprocess, color, protover, md5): Engine.__init__(self, md5) self.engine = subprocess self.defname = subprocess.defname self.color = color self.protover = protover self.readyMoves = False self.readyOptions = False self.connected = True self.mode = NORMAL self.analyzing_paused = False def isAnalyzing(self): return self.mode in (ANALYZING, INVERSE_ANALYZING) pychess-1.0.0/lib/pychess/Players/__init__.py0000755000175000017500000000000013353143212020200 0ustar varunvarunpychess-1.0.0/lib/pychess/Players/PyChessFICS.py0000644000175000017500000004100113365545272020506 0ustar varunvarunimport sys import email.utils import math import random import signal import subprocess from threading import Thread from urllib.parse import urlencode from urllib.request import urlopen from gi.repository import Gtk, Gdk import pychess from pychess.Players.PyChess import PyChess from pychess.System.repeat import repeat_sleep from pychess.System import fident from pychess.System.Log import log from pychess.Utils.const import WHITE, PAUSE_OFFER, DRAW_OFFER, BLACK, RESUME_OFFER, \ TAKEBACK_OFFER, ABORT_OFFER, ADJOURN_OFFER, SWITCH_OFFER, NORMALCHESS, SAN from pychess.Utils.lutils.LBoard import LBoard from pychess.Utils.lutils.lmove import determineAlgebraicNotation, toLAN, parseSAN from pychess.Utils.lutils import lsearch from pychess.Utils.repr import reprResult_long, reprReason_long from pychess.ic.FICSConnection import FICSMainConnection class PyChessFICS(PyChess): def __init__(self, password, from_address, to_address): PyChess.__init__(self) self.ports = (23, 5000) if not password: self.username = "guest" else: self.username = "PyChess" self.owner = "Lobais" self.password = password self.from_address = "The PyChess Bot <%s>" % from_address self.to_address = "Thomas Dybdahl Ahle <%s>" % to_address # Possible start times self.minutes = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) self.gains = (0, 5, 10, 15, 20) # Possible colors. None == random self.colors = (WHITE, BLACK, None) # The amount of random challenges, that PyChess sends with each seek self.challenges = 10 # enableEGTB() self.sudos = set() self.ownerOnline = False self.waitingForPassword = None self.log = [] self.acceptedTimesettings = [] self.worker = None repeat_sleep(self.sendChallenges, 60 * 1) def __triangular(self, low, high, mode): """Triangular distribution. Continuous distribution bounded by given lower and upper limits, and having a given mode value in-between. http://en.wikipedia.org/wiki/Triangular_distribution """ random_num = random.random() mid = (mode - low) / (high - low) if random_num > mid: random_num = 1 - random_num mid = 1 - mid low, high = high, low tri = low + (high - low) * (random_num * mid)**0.5 if tri < mode: return int(tri) elif tri > mode: return int(math.ceil(tri)) return int(round(tri)) def sendChallenges(self): if self.connection.bm.isPlaying(): return True statsbased = ((0.39197722779282, 3, 0), (0.59341408108783, 5, 0), (0.77320877377846, 1, 0), (0.8246379941394, 10, 0), (0.87388717406441, 2, 12), (0.91443760169489, 15, 0), (0.9286423058163, 4, 0), (0.93891977227793, 2, 0), (0.94674539138335, 20, 0), (0.95321476842423, 2, 2), (0.9594588808257, 5, 2), (0.96564528079889, 3, 2), (0.97173859621034, 7, 0), (0.97774906636184, 3, 1), (0.98357243654425, 5, 12), (0.98881309737017, 5, 5), (0.99319644938247, 6, 0), (0.99675879556023, 3, 12), (1, 5, 3)) # n = random.random() # for culminativeChance, minute, gain in statsbased: # if n < culminativeChance: # break culminativeChance, minute, gain = random.choice(statsbased) # type = random.choice((TYPE_LIGHTNING, TYPE_BLITZ, TYPE_STANDARD)) # if type == TYPE_LIGHTNING: # minute = self.__triangular(0,2+1,1) # mingain = not minute and 1 or 0 # maxgain = int((3-minute)*3/2) # gain = random.randint(mingain, maxgain) # elif type == TYPE_BLITZ: # minute = self.__triangular(0,14+1,5) # mingain = max(int((3-minute)*3/2+1), 0) # maxgain = int((15-minute)*3/2) # gain = random.randint(mingain, maxgain) # elif type == TYPE_STANDARD: # minute = self.__triangular(0,20+1,12) # mingain = max(int((15-minute)*3/2+1), 0) # maxgain = int((20-minute)*3/2) # gain = self.__triangular(mingain, maxgain, mingain) # color = random.choice(self.colors) self.extendlog(["Seeking %d %d" % (minute, gain)]) self.connection.glm.seek(minute, gain, True) opps = random.sample(self.connection.players.get_online_playernames(), self.challenges) self.extendlog("Challenging %s" % op for op in opps) for player in opps: self.connection.om.challenge(player, minute, gain, True) return True def makeReady(self): signal.signal(signal.SIGINT, Gtk.main_quit) PyChess.makeReady(self) self.connection = FICSMainConnection("freechess.org", self.ports, True, self.username, self.password) self.connection.connect("connectingMsg", self.__showConnectLog) self.connection._connect() self.connection.glm.connect("addPlayer", self.__onAddPlayer) self.connection.glm.connect("removePlayer", self.__onRemovePlayer) self.connection.cm.connect("privateMessage", self.__onTell) self.connection.alm.connect("logOut", self.__onLogOut) self.connection.bm.connect("playGameCreated", self.__onGameCreated) self.connection.bm.connect("curGameEnded", self.__onGameEnded) self.connection.bm.connect("boardUpdate", self.__onBoardUpdate) self.connection.om.connect("onChallengeAdd", self.__onChallengeAdd) self.connection.om.connect("onOfferAdd", self.__onOfferAdd) self.connection.adm.connect("onAdjournmentsList", self.__onAdjournmentsList) self.connection.em.connect("onAmbiguousMove", self.__onAmbiguousMove) self.connection.em.connect("onIllegalMove", self.__onAmbiguousMove) self.connection.adm.queryAdjournments() self.connection.lvm.setVariable("autoflag", 1) self.connection.fm.setFingerNote( 1, "PyChess is the chess engine bundled with the PyChess %s " % pychess.VERSION + "chess client. This instance is owned by %s, but acts " % self.owner + "quite autonomously.") self.connection.fm.setFingerNote( 2, "PyChess is 100% Python code and is released under the terms of " + "the GPL. The evalution function is largely equal to the one of" + "GnuChess, but it plays quite differently.") self.connection.fm.setFingerNote( 3, "PyChess runs on an elderly AMD Sempron(tm) Processor 3200+, 512 " + "MB DDR2 Ram, but is built to take use of 64bit calculating when " + "accessible, through the gpm library.") self.connection.fm.setFingerNote( 4, "PyChess uses a small 500 KB openingbook based solely on Kasparov " + "games. The engine doesn't have much endgame knowledge, but might " + "in some cases access an online endgamedatabase.") self.connection.fm.setFingerNote( 5, "PyChess will allow any pause/resume and adjourn wishes, but will " + "deny takebacks. Draw, abort and switch offers are accepted, " + "if they are found to be an advance. Flag is auto called, but " + "PyChess never resigns. We don't want you to forget your basic " + "mating skills.") def main(self): self.connection.run() self.extendlog([str(self.acceptedTimesettings)]) self.phoneHome("Session ended\n" + "\n".join(self.log)) print("Session ended") def run(self): t = Thread(target=self.main, name=fident(self.main)) t.daemon = True t.start() Gdk.threads_init() Gtk.main() # General def __showConnectLog(self, connection, message): print(message) def __onLogOut(self, autoLogoutManager): self.connection.close() # sys.exit() def __onAddPlayer(self, gameListManager, player): if player["name"] in self.sudos: self.sudos.remove(player["name"]) if player["name"] == self.owner: self.connection.cm.tellPlayer(self.owner, "Greetings") self.ownerOnline = True def __onRemovePlayer(self, gameListManager, playername): if playername == self.owner: self.ownerOnline = False def __onAdjournmentsList(self, adjournManager, adjournments): for adjournment in adjournments: if adjournment["online"]: adjournManager.challenge(adjournment["opponent"]) def __usage(self): return "|| PyChess bot help file || " +\ "# help 'Displays this help file' " +\ "# sudo 'Lets PyChess execute the given command' " +\ "# sendlog 'Makes PyChess send you its current log'" def __onTell(self, chatManager, name, title, isadmin, text): if self.waitingForPassword: if text.strip() == self.password or (not self.password and text == "none"): self.sudos.add(name) self.tellHome("%s gained sudo access" % name) self.connection.client.run_command(self.waitingForPassword) else: chatManager.tellPlayer(name, "Wrong password") self.tellHome("%s failed sudo access" % name) self.waitingForPassword = None return args = text.split() # if args == ["help"]: # chatManager.tellPlayer(name, self.__usage()) if args[0] == "sudo": command = " ".join(args[1:]) if name in self.sudos or name == self.owner: # Notice: This can be used to make nasty loops print(command, file=self.connection.client) else: print(repr(name), self.sudos) chatManager.tellPlayer(name, "Please send me the password") self.waitingForPassword = command elif args == ["sendlog"]: if self.log: # TODO: Consider email chatManager.tellPlayer(name, "\\n".join(self.log)) else: chatManager.tellPlayer(name, "The log is currently empty") else: if self.ownerOnline: self.tellHome("%s told me '%s'" % (name, text)) else: def onlineanswer(message): data = urlopen( "http://www.pandorabots.com/pandora/talk?botid=8d034368fe360895", urlencode({"message": message, "botcust2": "x"}).encode("utf-8")).read().decode('utf-8') bold_ss = "DMPGirl:" break_es = "
" answer = data[data.find(bold_ss) + len(bold_ss):data.find( break_es, data.find(bold_ss))] chatManager.tellPlayer(name, answer) thread = Thread(target=onlineanswer, name=fident(onlineanswer), args=(text, )) thread.daemon = True thread.start() # chatManager.tellPlayer(name, "Sorry, your request was nonsense.\n"+\ # "Please read my help file for more info") # Challenges and other offers def __onChallengeAdd(self, offerManager, index, match): # match = {"tp": type, "w": fname, "rt": rating, "color": color, # "r": rated, "t": mins, "i": incr} offerManager.acceptIndex(index) def __onOfferAdd(self, offerManager, offer): if offer.type in (PAUSE_OFFER, RESUME_OFFER, ADJOURN_OFFER): offerManager.accept(offer) elif offer.type in (TAKEBACK_OFFER, ): offerManager.decline(offer) elif offer.type in (DRAW_OFFER, ABORT_OFFER, SWITCH_OFFER): if self.__willingToDraw(): offerManager.accept(offer) else: offerManager.decline(offer) # Playing def __onGameCreated(self, boardManager, ficsgame): base = int(ficsgame.minutes) * 60 inc = int(ficsgame.inc) self.clock[:] = base, base self.increment[:] = inc, inc self.gameno = ficsgame.gameno self.lastPly = -1 self.acceptedTimesettings.append((base, inc)) self.tellHome( "Starting a game (%s, %s) gameno: %s" % (ficsgame.wplayer.name, ficsgame.bplayer.name, ficsgame.gameno)) if ficsgame.bplayer.name.lower() == self.connection.getUsername( ).lower(): self.playingAs = BLACK else: self.playingAs = WHITE self.board = LBoard(NORMALCHESS) # Now we wait until we receive the board. def __go(self): if self.worker: self.worker.cancel() # TODO: fix it # self.worker = GtkWorker( # lambda worker: PyChess._PyChess__go(self, worker)) # self.worker.connect("published", lambda w, msg: self.extendlog(msg)) # self.worker.connect("done", self.__onMoveCalculated) # self.worker.execute() def __willingToDraw(self): return self.scr <= 0 # FIXME: this misbehaves in all but the simplest use cases def __onGameEnded(self, boardManager, ficsgame): self.tellHome(reprResult_long[ficsgame.result] + " " + reprReason_long[ ficsgame.reason]) lsearch.searching = False if self.worker: self.worker.cancel() self.worker = None def __onMoveCalculated(self, worker, sanmove): if worker.isCancelled() or not sanmove: return self.board.applyMove(parseSAN(self.board, sanmove)) self.connection.bm.sendMove(sanmove) self.extendlog(["Move sent %s" % sanmove]) def __onBoardUpdate(self, boardManager, gameno, ply, curcol, lastmove, fen, wname, bname, wms, bms): self.extendlog(["", "I got move %d %s for gameno %s" % (ply, lastmove, gameno)]) if self.gameno != gameno: return self.board.applyFen(fen) self.clock[:] = wms / 1000., bms / 1000. if curcol == self.playingAs: self.__go() def __onAmbiguousMove(self, errorManager, move): # This is really a fix for fics, but sometimes it is necessary if determineAlgebraicNotation(move) == SAN: self.board.popMove() move_ = parseSAN(self.board, move) lanmove = toLAN(self.board, move_) self.board.applyMove(move_) self.connection.bm.sendMove(lanmove) else: self.connection.cm.tellOpponent( "I'm sorry, I wanted to move %s, but FICS called " % move + "it 'Ambigious'. I can't find another way to express it, " + "so you can win") self.connection.bm.resign() # Utils def extendlog(self, messages): [log.info(m + "\n") for m in messages] self.log.extend(messages) del self.log[:-10] def tellHome(self, message): print(message) if self.ownerOnline: self.connection.cm.tellPlayer(self.owner, message) def phoneHome(self, message): SENDMAIL = '/usr/sbin/sendmail' SUBJECT = "Besked fra botten" pipe = subprocess.Popen( [SENDMAIL, '-f', email.utils.parseaddr(self.from_address)[1], email.utils.parseaddr(self.to_address)[1]], stdin=subprocess.PIPE) print("MIME-Version: 1.0", file=pipe.stdin) print("Content-Type: text/plain; charset=UTF-8", file=pipe.stdin) print("Content-Disposition: inline", file=pipe.stdin) print("From: %s" % self.from_address, file=pipe.stdin) print("To: %s" % self.to_address, file=pipe.stdin) print("Subject: %s" % SUBJECT, file=pipe.stdin) print(file=pipe.stdin) print(message, file=pipe.stdin) print("Cheers", file=pipe.stdin) pipe.stdin.close() pipe.wait() if __name__ == "__main__": if len(sys.argv) == 5 and sys.argv[1] == "fics": pychess_fics = PyChessFICS(*sys.argv[2:]) else: print("Unknown argument(s):", repr(sys.argv)) sys.exit(0) pychess_fics.makeReady() pychess_fics.run() pychess-1.0.0/lib/pychess/Players/CECPEngine.py0000644000175000017500000011532613370364214020326 0ustar varunvarun import asyncio import itertools import re from gi.repository import Gtk, GObject from pychess.compat import create_task from pychess.Utils import wait_signal from pychess.System import conf from pychess.System.Log import log from pychess.widgets import mainwindow from pychess.Utils.Move import Move from pychess.Utils.Board import Board from pychess.Utils.Cord import Cord from pychess.Utils.Move import toSAN, toAN, parseAny from pychess.Utils.Offer import Offer from pychess.Utils.const import ANALYZING, INVERSE_ANALYZING, DRAW, WHITEWON, BLACKWON, \ WON_ADJUDICATION, DRAW_OFFER, ACTION_ERROR_NONE_TO_ACCEPT, CASTLE_KK, WHITE, \ CASTLE_SAN, FISCHERRANDOMCHESS, BLACK, reprSign, RESIGNATION from pychess.Utils.logic import validate, getMoveKillingKing from pychess.Utils.lutils.ldata import MATE_VALUE from pychess.Utils.lutils.lmove import ParsingError from pychess.Variants import variants from pychess.Players.Player import PlayerIsDead, TurnInterrupt, InvalidMove from .ProtocolEngine import ProtocolEngine, TIME_OUT_SECOND movere = re.compile(r""" ( # group start (?: # non grouping parenthesis start [PKQRBN]? # piece [a-h]?[1-8]? # unambiguous column or line x? # capture @? # drop [a-h][1-8] # destination square =?[QRBN]? # promotion |O\-O(?:\-O)? # castling |0\-0(?:\-0)? # castling ) # non grouping parenthesis end [+#]? # check/mate ) # group end \s* # any whitespace """, re.VERBOSE) d_plus_dot_expr = re.compile(r"\d+\.") anare = re.compile(""" ^ # beginning of string (\s* # \d+ [+\-\.]? # The ply analyzed. Some engines end it with a dot, minus or plus \s+) # (-?Mat\s*\d+ | [+\-\d\.]+) # The score found in centipawns. # Mat1 is used by gnuchess to specify mate in one. # otherwise we should support a signed float \s+ # ([\d\.]+) # The time used in centi-seconds \s+ # ([\d\.]+) # Number of nodes visited \s+ # (.+) # The Principal-Variation. With or without move numbers \s* # $ # end of string """, re.VERBOSE) # anare = re.compile("\(d+)\.?\s+ (Mat\d+|[-\d\.]+) \s+ \d+\s+\d+\s+((?:%s\s*)+)" % mov) whitespaces = re.compile(r"\s+") # There is no way in the CECP protocol to determine if an engine not answering # the protover=2 handshake with done=1 is old or just very slow. Thus we # need a timeout after which we conclude the engine is 'protover=1' and will # never answer. # XBoard will only give 2 seconds, but as we are quite sure that # the engines support the protocol, we can add more. We don't add # infinite time though, just in case. # The engine can get more time by sending done=0 class CECPEngine(ProtocolEngine): def __init__(self, subprocess, color, protover, md5): ProtocolEngine.__init__(self, subprocess, color, protover, md5) self.features = { "ping": 0, "setboard": 0, "playother": 0, "san": 0, "usermove": 0, "time": 1, "draw": 1, "sigint": 0, "sigterm": 0, "reuse": 0, "analyze": 0, "myname": ', '.join(self.defname), "variants": None, "colors": 1, "ics": 0, "name": 0, "pause": 0, "nps": 0, "debug": 0, "memory": 0, "smp": 0, "egt": '', "option": '', "exclude": 0, "done": None, } self.supported_features = [ "ping", "setboard", "san", "usermove", "time", "draw", "sigint", "analyze", "myname", "variants", "colors", "pause", "done", "egt", "debug", "smp", "memory", "option" ] self.options = {} self.options["Ponder"] = {"name": "Ponder", "type": "check", "default": False} self.name = None self.board = Board(setup=True) # if self.engineIsInNotPlaying == True, engine is in "force" mode, # i.e. not thinking or playing, but still verifying move legality self.engineIsInNotPlaying = False self.engineIsAnalyzing = False self.movenext = False self.waitingForMove = False self.readyForMoveNowCommand = False self.timeHandicap = 1 self.lastping = 0 self.lastpong = 0 self.queue = asyncio.Queue() self.parse_line_task = create_task(self.parseLine(self.engine)) self.died_cid = self.engine.connect("died", lambda e: self.queue.put_nowait("die")) self.invalid_move = None self.optionQueue = [] self.undoQueue = [] self.ready_moves_event = asyncio.Event() self.cids = [ self.connect_after("readyForOptions", self.__onReadyForOptions), self.connect_after("readyForMoves", self.__onReadyForMoves), ] # Starting the game def prestart(self): print("xboard", file=self.engine) if self.protover == 1: # start a new game (CECPv1 engines): print("new", file=self.engine) # we are now ready for options: self.emit("readyForOptions") elif self.protover == 2: # start advanced protocol initialisation: print("protover 2", file=self.engine) # we don't start a new game for CECPv2 here, # we will do it after feature accept/reject is completed. def start(self, event, is_dead): create_task(self.__startBlocking(event, is_dead)) @asyncio.coroutine def __startBlocking(self, event, is_dead): if self.protover == 1: self.emit("readyForMoves") return_value = "ready" if self.protover == 2: try: return_value = yield from asyncio.wait_for(self.queue.get(), TIME_OUT_SECOND) if return_value == "not ready": return_value = yield from asyncio.wait_for(self.queue.get(), TIME_OUT_SECOND) # Gaviota sends done=0 after "xboard" and after "protover 2" too if return_value == "not ready": return_value = yield from asyncio.wait_for(self.queue.get(), TIME_OUT_SECOND) except asyncio.TimeoutError: log.warning("Got timeout error", extra={"task": self.defname}) is_dead.add(True) except Exception: log.warning("Unknown error", extra={"task": self.defname}) is_dead.add(True) else: if return_value == "die": is_dead.add(True) assert return_value == "ready" or return_value == "del" if event is not None: event.set() def __onReadyForOptions(self, self_): # We always want post turned on so the Engine Output sidebar can # show those things -Jonas Thiem print("post", file=self.engine) for command in self.optionQueue: print(command, file=self.engine) def __onReadyForMoves(self, self_): if self.mode in (ANALYZING, INVERSE_ANALYZING): # workaround for crafty not sending analysis after it has found a mating line # http://code.google.com/p/pychess/issues/detail?id=515 if "crafty" in self.features["myname"].lower(): print("noise 0", file=self.engine) self.__sendAnalyze(self.mode == INVERSE_ANALYZING) self.ready_moves_event.set() self.readyMoves = True # Ending the game def end(self, status, reason): self.parse_line_task.cancel() if self.engine.handler_is_connected(self.died_cid): self.engine.disconnect(self.died_cid) if self.handler_is_connected(self.analyze_cid): self.disconnect(self.analyze_cid) for cid in self.cids: if self.handler_is_connected(cid): self.disconnect(cid) self.board = None if self.connected: # We currently can't fillout the comment "field" as the repr strings # for reasons and statuses lies in Main.py # Creating Status and Reason class would solve this if status == DRAW: print("result 1/2-1/2 {?}", file=self.engine) elif status == WHITEWON: print("result 1-0 {?}", file=self.engine) elif status == BLACKWON: print("result 0-1 {?}", file=self.engine) else: print("result * {?}", file=self.engine) if reason == WON_ADJUDICATION: self.queue.put_nowait("invalid") # Make sure the engine exits and do some cleaning self.kill(reason) def kill(self, reason): """ Kills the engine, starting with the 'quit' command, then sigterm and eventually sigkill. Returns the exitcode, or if engine have already been killed, returns None """ if self.connected: self.connected = False try: try: print("quit", file=self.engine) self.queue.put_nowait("del") self.engine.terminate() except OSError as err: # No need to raise on a hang up error, as the engine is dead # anyways if err.errno == 32: log.warning("Hung up Error", extra={"task": self.defname}) return err.errno else: raise finally: # Clear the analyzed data, if any self.emit("analyze", []) # Send the player move updates def set_board(self, board): self.setBoardList([board], []) def setBoard(self, board, search=True): def coro(): if self.engineIsAnalyzing: self.__stop_analyze() yield from asyncio.sleep(0.1) self.setBoardList([board], []) if search: self.__sendAnalyze(self.mode == INVERSE_ANALYZING) create_task(coro()) def putMove(self, board1, move, board2): """ Sends the engine the last move made (for spectator engines). @param board1: The current board @param move: The last move made @param board2: The board before the last move was made """ def coro(): if self.engineIsAnalyzing: self.__stop_analyze() yield from asyncio.sleep(0.1) self.setBoardList([board1], []) if not self.analyzing_paused: self.__sendAnalyze(self.mode == INVERSE_ANALYZING) create_task(coro()) @asyncio.coroutine def makeMove(self, board1, move, board2): """ Gets a move from the engine (for player engines). @param board1: The current board @param move: The last move made @param board2: The board before the last move was made @return: The move the engine decided to make """ log.debug("makeMove: move=%s self.movenext=%s board1=%s board2=%s self.board=%s" % ( move, self.movenext, board1, board2, self.board), extra={"task": self.defname}) assert self.readyMoves if self.board == board1 or not board2 or self.movenext: self.board = board1 self.__tellEngineToPlayCurrentColorAndMakeMove() self.movenext = False else: self.board = board1 self.__usermove(board2, move) if self.engineIsInNotPlaying: self.__tellEngineToPlayCurrentColorAndMakeMove() self.waitingForMove = True self.readyForMoveNowCommand = True # Parse outputs status = yield from self.queue.get() if status == "not ready": log.warning( "Engine seems to be protover=2, but is treated as protover=1", extra={"task": self.defname}) status = yield from self.queue.get() if status == "ready": status = yield from self.queue.get() if status == "invalid": raise InvalidMove if status == "del" or status == "die": raise PlayerIsDead("Killed by foreign forces") if status == "int": raise TurnInterrupt self.waitingForMove = False self.readyForMoveNowCommand = False assert isinstance(status, Move), status return status def updateTime(self, secs, opsecs): if self.features["time"]: print("time %s" % int(secs * 100 * self.timeHandicap), file=self.engine) print("otim %s" % int(opsecs * 100), file=self.engine) # Standard options def setOptionAnalyzing(self, mode): self.mode = mode def setOptionInitialBoard(self, model): @asyncio.coroutine def coro(): yield from self.ready_moves_event.wait() # We don't use the optionQueue here, as set board prints a whole lot of # stuff. Instead we just call it. self.setBoardList(model.boards[:], model.moves[:]) create_task(coro()) def setBoardList(self, boards, moves): # Notice: If this method is to be called while playing, the engine will # need 'new' and an arrangement similar to that of 'pause' to avoid # the current thought move to appear if self.mode not in (ANALYZING, INVERSE_ANALYZING): self.__tellEngineToStopPlayingCurrentColor() self.__setBoard(boards[0]) self.board = boards[-1] for board, move in zip(boards[:-1], moves): self.__usermove(board, move) if self.mode in (ANALYZING, INVERSE_ANALYZING): self.board = boards[-1] if self.mode == INVERSE_ANALYZING: self.board = self.board.switchColor() # The called of setBoardList will have to repost/analyze the # analyzer engines at this point. def setOptionVariant(self, variant): if self.features["variants"] is None: log.warning("setOptionVariant: engine doesn't support variants", extra={"task": self.defname}) return if variant in variants.values() and not variant.standard_rules: assert variant.cecp_name in self.features["variants"], \ "%s doesn't support %s variant" % (self, variant.cecp_name) self.optionQueue.append("variant %s" % variant.cecp_name) # Strength system # # Strength Depth Ponder Time handicap # # 1 1 o 1,258% # # 2 2 o 1,584% # # 3 3 o 1.995% # # # # 19 o x 79,43% # # 20 o x o # def setOptionStrength(self, strength, forcePonderOff): self.strength = strength if strength <= 19: self.__setTimeHandicap(0.01 * 10 ** (strength / 10.)) if strength <= 18: self.__setDepth(strength) # Crafty ofers 100 skill levels if "crafty" in self.features["myname"].lower() and strength <= 19: self.optionQueue.append("skill %s" % strength * 5) self.__setPonder(strength >= 19 and not forcePonderOff) if strength == 20: if "gaviota" in self.features["egt"]: self.optionQueue.append("egtpath gaviota %s" % conf.get("egtb_path")) else: self.optionQueue.append("random") def __setDepth(self, depth): self.optionQueue.append("sd %d" % depth) def __setTimeHandicap(self, timeHandicap): self.timeHandicap = timeHandicap def __setPonder(self, ponder): if ponder: self.optionQueue.append("hard") else: self.optionQueue.append("hard") self.optionQueue.append("easy") def setOptionTime(self, secs, gain, moves): # Notice: In CECP we apply time handicap in updateTime, not in # setOptionTime. minutes = int(secs / 60) secs = int(secs % 60) mins = str(minutes) if secs: mins += ":" + str(secs) self.optionQueue.append("level %s %s %d" % (moves, mins, gain)) # Option handling def setOption(self, key, value): """ Set an option, which will be sent to the engine, after the 'readyForOptions' signal has passed. If you want to know the possible options, you should go to engineDiscoverer or use the hasOption method while you are in your 'readyForOptions' signal handler """ if self.readyMoves: log.warning( "Options set after 'readyok' are not sent to the engine", extra={"task": self.defname}) if key == "cores": self.optionQueue.append("cores %s" % value) elif key == "memory": self.optionQueue.append("memory %s" % value) elif key.lower() == "ponder": self.__setPonder(value == 1) else: self.optionQueue.append("option %s=%s" % (key, value)) # Interacting with the player def pause(self): """ Pauses engine using the "pause" command if available. Otherwise put engine in force mode. By the specs the engine shouldn't ponder in force mode, but some of them do so anyways. """ log.debug("pause: self=%s" % self, extra={"task": self.defname}) if self.isAnalyzing(): self.__stop_analyze() self.analyzing_paused = True else: self.engine.pause() return def resume(self): log.debug("resume: self=%s" % self, extra={"task": self.defname}) if self.isAnalyzing(): self.__sendAnalyze(self.mode == INVERSE_ANALYZING) self.analyzing_paused = False else: self.engine.resume() return def hurry(self): log.debug("hurry: self.waitingForMove=%s self.readyForMoveNowCommand=%s" % ( self.waitingForMove, self.readyForMoveNowCommand), extra={"task": self.defname}) if self.waitingForMove and self.readyForMoveNowCommand: self.__tellEngineToMoveNow() self.readyForMoveNowCommand = False def spectatorUndoMoves(self, moves, gamemodel): if self.analyzing_paused: return log.debug("spectatorUndoMoves: moves=%s gamemodel.ply=%s gamemodel.boards[-1]=%s self.board=%s" % ( moves, gamemodel.ply, gamemodel.boards[-1], self.board), extra={"task": self.defname}) for i in range(moves): print("undo", file=self.engine) self.board = gamemodel.boards[-1] def playerUndoMoves(self, moves, gamemodel): log.debug("CECPEngine.playerUndoMoves: moves=%s self=%s gamemodel.curplayer=%s" % (moves, self, gamemodel.curplayer), extra={"task": self.defname}) self.board = gamemodel.boards[-1] self.__tellEngineToStopPlayingCurrentColor() for i in range(moves): print("undo", file=self.engine) if gamemodel.curplayer != self and moves % 2 == 1 or \ (gamemodel.curplayer == self and moves % 2 == 0): # Interrupt if we were searching, but should no longer do so log.debug("CECPEngine.playerUndoMoves: putting TurnInterrupt into self.move_queue %s" % self.name, extra={"task": self.defname}) self.queue.put_nowait("int") # Offer handling def offer(self, offer): if offer.type == DRAW_OFFER: if self.features["draw"]: print("draw", file=self.engine) else: self.emit("accept", offer) def offerError(self, offer, error): if self.features["draw"]: # We don't keep track if engine draws are offers or accepts. We just # Always assume they are accepts, and if they are not, we get this # error and emit offer instead if offer.type == DRAW_OFFER and error == ACTION_ERROR_NONE_TO_ACCEPT: self.emit("offer", Offer(DRAW_OFFER)) # Internal def __usermove(self, board, move): if self.features["usermove"]: self.engine.write("usermove ") if self.features["san"]: print(toSAN(board, move), file=self.engine) else: castle_notation = CASTLE_KK if board.variant == FISCHERRANDOMCHESS: castle_notation = CASTLE_SAN print( toAN(board, move, short=True, castleNotation=castle_notation), file=self.engine) def __tellEngineToMoveNow(self): if self.features["sigint"]: self.engine.sigint() print("?", file=self.engine) def __tellEngineToStopPlayingCurrentColor(self): print("force", file=self.engine) self.engineIsInNotPlaying = True def __tellEngineToPlayCurrentColorAndMakeMove(self): self.__printColor() print("go", file=self.engine) self.engineIsInNotPlaying = False def __stop_analyze(self): if self.engineIsAnalyzing: print("exit", file=self.engine) # Some engines (crafty, gnuchess) doesn't respond to exit command # we try to force them to stop with an empty board fen print("setboard 8/8/8/8/8/8/8/8 w - - 0 1", file=self.engine) self.engineIsAnalyzing = False def __sendAnalyze(self, inverse=False): if inverse and self.board.board.opIsChecked(): # Many engines don't like positions able to take down enemy # king. Therefore we just return the "kill king" move # automaticaly self.emit("analyze", [(self.board.ply, [toAN( self.board, getMoveKillingKing(self.board))], MATE_VALUE - 1, "1", "")]) return print("post", file=self.engine) print("analyze", file=self.engine) self.engineIsAnalyzing = True if not conf.get("infinite_analysis"): loop = asyncio.get_event_loop() loop.call_later(conf.get("max_analysis_spin"), self.__stop_analyze) def __printColor(self): if self.features["colors"]: # or self.mode == INVERSE_ANALYZING: if self.board.color == WHITE: print("white", file=self.engine) else: print("black", file=self.engine) def __setBoard(self, board): if self.features["setboard"]: self.__tellEngineToStopPlayingCurrentColor() fen = board.asFen(enable_bfen=False) if self.mode == INVERSE_ANALYZING: fen_arr = fen.split() if not self.board.board.opIsChecked(): if fen_arr[1] == "b": fen_arr[1] = "w" else: fen_arr[1] = "b" fen = " ".join(fen_arr) print("setboard %s" % fen, file=self.engine) else: # Kludge to set black to move, avoiding the troublesome and now # deprecated "black" command. - Equal to the one xboard uses self.__tellEngineToStopPlayingCurrentColor() if board.color == BLACK: print("a2a3", file=self.engine) print("edit", file=self.engine) print("#", file=self.engine) for color in WHITE, BLACK: for y_loc, row in enumerate(board.data): for x_loc, piece in row.items(): if not piece or piece.color != color: continue sign = reprSign[piece.sign] cord = repr(Cord(x_loc, y_loc)) print(sign + cord, file=self.engine) print("c", file=self.engine) print(".", file=self.engine) # Parsing @asyncio.coroutine def parseLine(self, proc): while True: line = yield from wait_signal(proc, 'line') if not line: break else: line = line[1] if line[0:1] == "#": # Debug line which we shall ignore as specified in CECPv2 specs continue # log.debug("__parseLine: line=\"%s\"" % line.strip(), extra={"task":self.defname}) parts = whitespaces.split(line.strip()) if parts[0] == "pong": self.lastpong = int(parts[1]) continue # Illegal Move if parts[0].lower().find("illegal") >= 0: log.warning("__parseLine: illegal move: line=\"%s\", board=%s" % ( line.strip(), self.board), extra={"task": self.defname}) if parts[-2] == "sd" and parts[-1].isdigit(): print("depth", parts[-1], file=self.engine) continue # A Move (Perhaps) if self.board: if parts[0] == "move": movestr = parts[1] # Old Variation elif d_plus_dot_expr.match(parts[0]) and parts[1] == "...": movestr = parts[2] else: movestr = False if movestr: self.waitingForMove = False self.readyForMoveNowCommand = False if self.engineIsInNotPlaying: # If engine was set in pause just before the engine sent its # move, we ignore it. However the engine has to know that we # ignored it, and thus we step it one back log.info("__parseLine: Discarding engine's move: %s" % movestr, extra={"task": self.defname}) print("undo", file=self.engine) continue else: try: move = parseAny(self.board, movestr) except ParsingError: self.invalid_move = movestr log.info( "__parseLine: ParsingError engine move: %s %s" % (movestr, self.board), extra={"task": self.defname}) self.end(WHITEWON if self.board.color == BLACK else BLACKWON, WON_ADJUDICATION) continue if validate(self.board, move): self.board = None self.queue.put_nowait(move) continue else: self.invalid_move = movestr log.info( "__parseLine: can't validate engine move: %s %s" % (movestr, self.board), extra={"task": self.defname}) self.end(WHITEWON if self.board.color == BLACK else BLACKWON, WON_ADJUDICATION) continue # Analyzing if self.engineIsInNotPlaying: if parts[:4] == ["0", "0", "0", "0"]: # Crafty doesn't analyze until it is out of book print("book off", file=self.engine) continue match = anare.match(line) if match: depth, score, time, nodes, moves = match.groups() if "mat" in score.lower() or "#" in moves: # Will look either like -Mat 3 or Mat3 scoreval = MATE_VALUE if score.startswith('-'): scoreval = -scoreval else: scoreval = int(score) nps = str(int(int(nodes) / (int(time) / 100))) if int(time) > 0 else "" mvstrs = movere.findall(moves) if mvstrs: self.emit("analyze", [(self.board.ply, mvstrs, scoreval, depth.strip(), nps)]) continue # Offers draw if parts[0:2] == ["offer", "draw"]: self.emit("accept", Offer(DRAW_OFFER)) continue # Resigns if parts[0] == "resign" or \ (parts[0] == "tellics" and parts[1] == "resign"): # buggy crafty # Previously: if "resign" in parts, # however, this is too generic, since "hint", "bk", # "feature option=.." and possibly other, future CECPv2 # commands can validly contain the word "resign" without this # being an intentional resign offer. self.emit("offer", Offer(RESIGNATION)) continue # if parts[0].lower() == "error": # continue # Tell User Error if parts[0] == "tellusererror": # We don't want to see our stop analyzer hack as an error message if "8/8/8/8/8/8/8/8" in "".join(parts[1:]): continue # Create a non-modal non-blocking message dialog with the error: dlg = Gtk.MessageDialog(mainwindow(), flags=0, type=Gtk.MessageType.WARNING, buttons=Gtk.ButtonsType.CLOSE, message_format=None) # Use the engine name if already known, otherwise the defname: displayname = self.name if not displayname: displayname = self.defname # Compose the dialog text: dlg.set_markup(GObject.markup_escape_text(_( "The engine %s reports an error:") % displayname) + "\n\n" + GObject.markup_escape_text(" ".join(parts[1:]))) # handle response signal so the "Close" button works: dlg.connect("response", lambda dlg, x: dlg.destroy()) dlg.show_all() continue # Tell Somebody if parts[0][:4] == "tell" and \ parts[0][4:] in ("others", "all", "ics", "icsnoalias"): log.info("Ignoring tell %s: %s" % (parts[0][4:], " ".join(parts[1:]))) continue if "feature" in parts: # Some engines send features after done=1, so we will iterate after done=1 too done1 = False # We skip parts before 'feature', as some engines give us lines like # White (1) : feature setboard=1 analyze...e="GNU Chess 5.07" done=1 parts = parts[parts.index("feature"):] for i, pair in enumerate(parts[1:]): # As "parts" is split with no thoughs on quotes or double quotes # we need to do some extra handling. if pair.find("=") < 0: continue key, value = pair.split("=", 1) if key not in self.features: continue if value.startswith('"') and value.endswith('"'): value = value[1:-1] # If our pair was unfinished, like myname="GNU, we search the # rest of the pairs for a quotating mark. elif value[0] == '"': rest = value[1:] + " " + " ".join(parts[2 + i:]) j = rest.find('"') if j == -1: log.warning("Missing endquotation in %s feature", extra={"task": self.defname}) value = rest else: value = rest[:j] elif value.isdigit(): value = int(value) if key in self.supported_features: print("accepted %s" % key, file=self.engine) else: print("rejected %s" % key, file=self.engine) if key == "done": if value == 1: done1 = True continue elif value == 0: log.info("Adds %d seconds timeout" % TIME_OUT_SECOND, extra={"task": self.defname}) # This'll buy you some more time self.queue.put_nowait("not ready") break if key == "smp" and value == 1: self.options["cores"] = {"name": "cores", "type": "spin", "default": 1, "min": 1, "max": 64} elif key == "memory" and value == 1: self.options["memory"] = {"name": "memory", "type": "spin", "default": 32, "min": 1, "max": 4096} elif key == "option" and key != "done": option = self.__parse_option(value) self.options[option["name"]] = option else: self.features[key] = value if key == "myname" and not self.name: self.setName(value) if done1: # Start a new game before using the engine: # (CECPv2 engines) print("new", file=self.engine) # We are now ready for play: self.emit("readyForOptions") self.emit("readyForMoves") self.queue.put_nowait("ready") # A hack to get better names in protover 1. # Unfortunately it wont work for now, as we don't read any lines from # protover 1 engines. When should we stop? if self.protover == 1: if self.defname[0] in ''.join(parts): basis = self.defname[0] name = ' '.join(itertools.dropwhile( lambda part: basis not in part, parts)) self.features['myname'] = name if not self.name: self.setName(name) def __parse_option(self, option): if " -check " in option: name, value = option.split(" -check ") return {"type": "check", "name": name, "default": bool(int(value))} elif " -spin " in option: name, value = option.split(" -spin ") defv, minv, maxv = value.split() return {"type": "spin", "name": name, "default": int(defv), "min": int(minv), "max": int(maxv)} elif " -slider " in option: name, value = option.split(" -slider ") defv, minv, maxv = value.split() return {"type": "spin", "name": name, "default": int(defv), "min": int(minv), "max": int(maxv)} elif " -string " in option: name, value = option.split(" -string ") return {"type": "text", "name": name, "default": value} elif " -file " in option: name, value = option.split(" -file ") return {"type": "text", "name": name, "default": value} elif " -path " in option: name, value = option.split(" -path ") return {"type": "text", "name": name, "default": value} elif " -combo " in option: name, value = option.split(" -combo ") choices = list(map(str.strip, value.split("///"))) default = "" for choice in choices: if choice.startswith("*"): index = choices.index(choice) default = choice[1:] choices[index] = default break return {"type": "combo", "name": name, "default": default, "choices": choices} elif " -button" in option: pos = option.find(" -button") return {"type": "button", "name": option[:pos]} elif " -save" in option: pos = option.find(" -save") return {"type": "button", "name": option[:pos]} elif " -reset" in option: pos = option.find(" -reset") return {"type": "button", "name": option[:pos]} # Info def canAnalyze(self): assert self.ready, "Still waiting for done=1" return self.features["analyze"] def getAnalysisLines(self): return 1 def minAnalysisLines(self): return 1 def maxAnalysisLines(self): return 1 def requestMultiPV(self, setting): return 1 def __repr__(self): if self.name: return self.name return self.features["myname"] pychess-1.0.0/lib/pychess/Players/UCIEngine.py0000644000175000017500000007170713401317720020233 0ustar varunvarunimport asyncio import collections from pychess.compat import create_task from pychess.Utils import wait_signal from pychess.Utils.Move import parseAny from pychess.Utils.Board import Board from pychess.Utils.Move import toAN from pychess.Utils.logic import validate, getMoveKillingKing, getStatus, legalMoveCount from pychess.Utils.const import CASTLE_KK, ANALYZING, WON_ADJUDICATION, FISCHERRANDOMCHESS, \ INVERSE_ANALYZING, CASTLE_KR, NORMALCHESS, FEN_START, WHITE, NORMAL, DRAW_OFFER, \ WON_MATE, BLACK, BLACKWON, WHITEWON from pychess.Utils.lutils.ldata import MATE_VALUE from pychess.Utils.lutils.lmove import ParsingError from pychess.System import conf from pychess.System.Log import log from pychess.Variants.fischerandom import FischerandomBoard from .ProtocolEngine import ProtocolEngine, TIME_OUT_SECOND from pychess.Players.Player import PlayerIsDead, TurnInterrupt, InvalidMove TYPEDIC = {"check": lambda x: x == "true", "spin": int} OPTKEYS = ("name", "type", "min", "max", "default", "var") class UCIEngine(ProtocolEngine): def __init__(self, subprocess, color, protover, md5): ProtocolEngine.__init__(self, subprocess, color, protover, md5) self.ids = {} self.options = {} self.optionsToBeSent = {} self.wtime = 60000 self.btime = 60000 self.incr = 0 self.moves = 0 self.timeHandicap = 1 self.ponderOn = False self.pondermove = None self.ignoreNext = False self.waitingForMove = False self.needBestmove = False self.bestmove_event = asyncio.Event() self.readyForStop = False # keeps track of whether we already sent a 'stop' command self.multipvSetting = 1 # MultiPV option sent to the engine self.multipvExpected = 1 # Number of PVs expected (limited by number of legal moves) self.commands = collections.deque() self.gameBoard = Board(setup=True) # board at the end of all moves played self.board = Board(setup=True) # board to send the engine self.uciPosition = "startpos" self.uciPositionListsMoves = False self.analysis = [None] self.analysis_depth = None self.queue = asyncio.Queue() self.parse_line_task = create_task(self.parseLine(self.engine)) self.died_cid = self.engine.connect("died", lambda e: self.queue.put_nowait("die")) self.invalid_move = None self.cids = [ self.connect_after("readyForOptions", self.__onReadyForOptions), self.connect_after("readyForMoves", self.__onReadyForMoves), ] # Starting the game def prestart(self): print("uci", file=self.engine) def start(self, event, is_dead): create_task(self.__startBlocking(event, is_dead)) @asyncio.coroutine def __startBlocking(self, event, is_dead): try: return_value = yield from asyncio.wait_for(self.queue.get(), TIME_OUT_SECOND) except asyncio.TimeoutError: log.warning("Got timeout error", extra={"task": self.defname}) is_dead.add(True) except Exception: log.warning("Unknown error", extra={"task": self.defname}) is_dead.add(True) else: if return_value == 'die': is_dead.add(True) assert return_value == "ready" or return_value == "del" if event is not None: event.set() def __onReadyForOptions(self, self_): analyze_mode = self.mode in (ANALYZING, INVERSE_ANALYZING) if analyze_mode: if self.hasOption("Ponder"): self.setOption('Ponder', False) if self.hasOption("UCI_AnalyseMode"): self.setOption("UCI_AnalyseMode", analyze_mode) for option, value in self.optionsToBeSent.items(): if option == "MultiPV" and not analyze_mode: continue if isinstance(value, bool): value = str(value).lower() print("setoption name %s value %s" % (option, str(value)), file=self.engine) print("isready", file=self.engine) def __onReadyForMoves(self, self_): self.readyMoves = True self.queue.put_nowait("ready") self._newGame() if self.isAnalyzing(): self._searchNow() # Ending the game def end(self, status, reason): self.parse_line_task.cancel() if self.engine.handler_is_connected(self.died_cid): self.engine.disconnect(self.died_cid) if self.handler_is_connected(self.analyze_cid): self.disconnect(self.analyze_cid) for cid in self.cids: if self.handler_is_connected(cid): self.disconnect(cid) self.board = None self.gameBoard = None if self.connected: # UCI doens't care about reason, so we just kill if reason == WON_ADJUDICATION: self.queue.put_nowait("invalid") self.kill(reason) def kill(self, reason): """ Kills the engine, starting with the 'stop' and 'quit' commands, then trying sigterm and eventually sigkill. Returns the exitcode, or if engine have already been killed, the method returns None """ if self.connected: self.connected = False try: try: print("stop", file=self.engine) print("quit", file=self.engine) self.queue.put_nowait("del") self.engine.terminate() except OSError as e: # No need to raise on a hang up error, as the engine is dead # anyways if e.errno == 32: log.warning("Hung up Error", extra={"task": self.defname}) return e.errno else: raise finally: # Clear the analyzed data, if any self.emit("analyze", []) # Send the player move updates def _moveToUCI(self, board, move): castle_notation = CASTLE_KK if board.variant == FISCHERRANDOMCHESS: castle_notation = CASTLE_KR return toAN(board, move, short=True, castleNotation=castle_notation) def _recordMove(self, board1, move, board2): if self.gameBoard == board1: return if not board2: if board1.variant == NORMALCHESS and board1.asFen() == FEN_START: self.uciPosition = "startpos" else: self.uciPosition = "fen " + board1.asFen() self.uciPositionListsMoves = False if move: if not self.uciPositionListsMoves: self.uciPosition += " moves" self.uciPositionListsMoves = True self.uciPosition += " " + self._moveToUCI(board2, move) self.board = self.gameBoard = board1 if self.mode == INVERSE_ANALYZING: self.board = self.gameBoard.switchColor() def _recordMoveList(self, model, ply=None): self._recordMove(model.boards[0], None, None) if ply is None: ply = model.ply for board1, move, board2 in zip(model.boards[1:ply + 1], model.moves, model.boards[0:ply]): self._recordMove(board1, move, board2) def set_board(self, board): self._recordMove(board, None, None) def setBoard(self, board, search=True): log.debug("setBoardAtPly: board=%s" % board, extra={"task": self.defname}) if not self.readyMoves: return @asyncio.coroutine def coro(): if self.needBestmove: self.bestmove_event.clear() print("stop", file=self.engine) yield from self.bestmove_event.wait() self._recordMove(board, None, None) if search: self._searchNow() create_task(coro()) def putMove(self, board1, move, board2): log.debug("putMove: board1=%s move=%s board2=%s self.board=%s" % ( board1, move, board2, self.board), extra={"task": self.defname}) if not self.readyMoves: return @asyncio.coroutine def coro(): if self.needBestmove: self.bestmove_event.clear() print("stop", file=self.engine) yield from self.bestmove_event.wait() self._recordMove(board1, move, board2) if not self.analyzing_paused: self._searchNow() create_task(coro()) @asyncio.coroutine def makeMove(self, board1, move, board2): log.debug("makeMove: move=%s self.pondermove=%s board1=%s board2=%s self.board=%s" % ( move, self.pondermove, board1, board2, self.board), extra={"task": self.defname}) assert self.readyMoves self._recordMove(board1, move, board2) self.waitingForMove = True ponderhit = False if board2 and self.pondermove and move == self.pondermove: ponderhit = True elif board2 and self.pondermove: self.ignoreNext = True print("stop", file=self.engine) self._searchNow(ponderhit=ponderhit) # Parse outputs try: return_queue = yield from self.queue.get() if return_queue == "invalid": raise InvalidMove if return_queue == "del" or return_queue == "die": raise PlayerIsDead if return_queue == "int": self.pondermove = None self.ignoreNext = True self.needBestmove = True self.hurry() raise TurnInterrupt return return_queue finally: self.waitingForMove = False def updateTime(self, secs, opsecs): if self.color == WHITE: self.wtime = int(secs * 1000 * self.timeHandicap) self.btime = int(opsecs * 1000) else: self.btime = int(secs * 1000 * self.timeHandicap) self.wtime = int(opsecs * 1000) # Standard options def setOptionAnalyzing(self, mode): self.mode = mode if self.mode == INVERSE_ANALYZING: self.board = self.gameBoard.switchColor() def setOptionInitialBoard(self, model): log.debug("setOptionInitialBoard: self=%s, model=%s" % ( self, model), extra={"task": self.defname}) self._recordMoveList(model) def setOptionVariant(self, variant): if variant == FischerandomBoard: assert self.hasOption("UCI_Chess960") self.setOption("UCI_Chess960", True) elif self.hasOption("UCI_Variant") and not variant.standard_rules: self.setOption("UCI_Variant", variant.cecp_name) def setOptionTime(self, secs, gain, moves): self.wtime = int(max(secs * 1000 * self.timeHandicap, 1)) self.btime = int(max(secs * 1000 * self.timeHandicap, 1)) self.incr = int(gain * 1000 * self.timeHandicap) self.moves = moves def setOptionStrength(self, strength, forcePonderOff): self.strength = strength if self.hasOption('UCI_LimitStrength') and strength <= 18: self.setOption('UCI_LimitStrength', True) if self.hasOption('UCI_Elo'): self.setOption('UCI_Elo', 150 * strength) # Stockfish and anticrux engines offer 20 skill levels if self.hasOption('Skill Level'): self.setOption('Skill Level', strength) if ((not self.hasOption('UCI_Elo')) and (not self.hasOption('Skill Level'))) or strength <= 19: self.timeHandicap = t_hcap = 0.01 * 10 ** (strength / 10.) self.wtime = int(max(self.wtime * t_hcap, 1)) self.btime = int(max(self.btime * t_hcap, 1)) self.incr = int(self.incr * t_hcap) if self.hasOption('Ponder'): self.setOption('Ponder', strength >= 19 and not forcePonderOff) if self.hasOption('GaviotaTbPath') and strength == 20: self.setOption('GaviotaTbPath', conf.get("egtb_path")) # Interacting with the player def pause(self): log.debug("pause: self=%s" % self, extra={"task": self.defname}) if self.isAnalyzing(): print("stop", file=self.engine) self.readyForStop = False self.analyzing_paused = True else: self.engine.pause() return def resume(self): log.debug("resume: self=%s" % self, extra={"task": self.defname}) if self.isAnalyzing(): self._searchNow() self.analyzing_paused = False else: self.engine.resume() return def hurry(self): log.debug("hurry: self.waitingForMove=%s self.readyForStop=%s" % ( self.waitingForMove, self.readyForStop), extra={"task": self.defname}) # sending this more than once per move will crash most engines # so we need to send only the first one, and then ignore every "hurry" request # after that until there is another outstanding "position..go" if self.waitingForMove and self.readyForStop: print("stop", file=self.engine) self.readyForStop = False def playerUndoMoves(self, moves, gamemodel): log.debug("playerUndoMoves: moves=%s \ gamemodel.ply=%s \ gamemodel.boards[-1]=%s \ self.board=%s" % (moves, gamemodel.ply, gamemodel.boards[-1], self.board), extra={"task": self.defname}) self._recordMoveList(gamemodel) if (gamemodel.curplayer != self and moves % 2 == 1) or \ (gamemodel.curplayer == self and moves % 2 == 0): # Interrupt if we were searching but should no longer do so, or # if it is was our move before undo and it is still our move after undo # since we need to send the engine the new FEN in makeMove() log.debug("playerUndoMoves: putting 'int' into self.queue=%s" % self.queue, extra={"task": self.defname}) self.queue.put_nowait("int") def spectatorUndoMoves(self, moves, gamemodel): if self.analyzing_paused: return log.debug("spectatorUndoMoves: moves=%s \ gamemodel.ply=%s \ gamemodel.boards[-1]=%s \ self.board=%s" % (moves, gamemodel.ply, gamemodel.boards[-1], self.board), extra={"task": self.defname}) self._recordMoveList(gamemodel) if self.readyMoves: self._searchNow() # Offer handling def offer(self, offer): if offer.type == DRAW_OFFER: self.emit("decline", offer) else: self.emit("accept", offer) # Option handling def setOption(self, key, value): """ Set an option, which will be sent to the engine, after the 'readyForOptions' signal has passed. If you want to know the possible options, you should go to engineDiscoverer or use the hasOption method while you are in your 'readyForOptions' signal handler """ if self.readyMoves: log.warning( "Options set after 'readyok' are not sent to the engine", extra={"task": self.defname}) self.optionsToBeSent[key] = value self.ponderOn = key == "Ponder" and value is True if key == "MultiPV": self.multipvSetting = int(value) def hasOption(self, key): return key in self.options # Internal def _newGame(self): print("ucinewgame", file=self.engine) def _searchNow(self, ponderhit=False): log.debug("_searchNow: self.needBestmove=%s ponderhit=%s self.board=%s" % ( self.needBestmove, ponderhit, self.board), extra={"task": self.defname}) commands = [] if ponderhit: commands.append("ponderhit") elif self.mode == NORMAL: commands.append("position %s" % self.uciPosition) if self.strength <= 3: commands.append("go depth %d" % self.strength) else: if self.moves > 0: commands.append("go wtime %d winc %d btime %d binc %d movestogo %s" % ( self.wtime, self.incr, self.btime, self.incr, self.moves)) else: commands.append("go wtime %d winc %d btime %d binc %d" % ( self.wtime, self.incr, self.btime, self.incr)) else: print("stop", file=self.engine) if self.mode == INVERSE_ANALYZING: if self.board.board.opIsChecked(): # Many engines don't like positions able to take down enemy # king. Therefore we just return the "kill king" move # automaticaly self.emit("analyze", [(self.board.ply, [toAN( self.board, getMoveKillingKing(self.board))], MATE_VALUE - 1, "1", "")]) return commands.append("position fen %s" % self.board.asFen()) else: commands.append("position %s" % self.uciPosition) if self.analysis_depth is not None: commands.append("go depth %s" % self.analysis_depth) elif conf.get("infinite_analysis"): commands.append("go infinite") else: move_time = int(conf.get("max_analysis_spin")) * 1000 commands.append("go movetime %s" % move_time) if self.hasOption("MultiPV") and self.multipvSetting > 1: self.multipvExpected = min(self.multipvSetting, legalMoveCount(self.board)) else: self.multipvExpected = 1 self.analysis = [None] * self.multipvExpected if self.needBestmove: self.commands.append(commands) log.debug("_searchNow: self.needBestmove==True, appended to self.commands=%s" % self.commands, extra={"task": self.defname}) else: for command in commands: print(command, file=self.engine) if getStatus(self.board)[ 1] != WON_MATE: # XXX This looks fishy. self.needBestmove = True self.readyForStop = True def _startPonder(self): uciPos = self.uciPosition if not self.uciPositionListsMoves: uciPos += " moves" print("position", uciPos, self._moveToUCI(self.board, self.pondermove), file=self.engine) print("go ponder wtime", self.wtime, "winc", self.incr, "btime", self.btime, "binc", self.incr, file=self.engine) # Parsing from engine @asyncio.coroutine def parseLine(self, proc): while True: line = yield from wait_signal(proc, 'line') if not line: break else: line = line[1] parts = line.split() if not parts: continue # Initializing if parts[0] == "id": if parts[1] == "name": self.ids[parts[1]] = " ".join(parts[2:]) self.setName(self.ids["name"]) continue if parts[0] == "uciok": self.emit("readyForOptions") continue if parts[0] == "readyok": self.emit("readyForMoves") continue # Options parsing if parts[0] == "option": dic = {} last = 1 varlist = [] for i in range(2, len(parts) + 1): if i == len(parts) or parts[i] in OPTKEYS: key = parts[last] value = " ".join(parts[last + 1:i]) if "type" in dic and dic["type"] in TYPEDIC: value = TYPEDIC[dic["type"]](value) if key == "var": varlist.append(value) elif key == "type" and value == "string": dic[key] = "text" else: dic[key] = value last = i if varlist: dic["choices"] = varlist if "name" in dic: self.options[dic["name"]] = dic continue # A Move if self.mode == NORMAL and parts[0] == "bestmove": self.needBestmove = False self.bestmove_event.set() self.__sendQueuedGo() if self.ignoreNext: log.debug( "__parseLine: line='%s' self.ignoreNext==True, returning" % line.strip(), extra={"task": self.defname}) self.ignoreNext = False self.readyForStop = True continue movestr = parts[1] if not self.waitingForMove: log.warning("__parseLine: self.waitingForMove==False, ignoring move=%s" % movestr, extra={"task": self.defname}) self.pondermove = None continue self.waitingForMove = False try: move = parseAny(self.board, movestr) except ParsingError: self.invalid_move = movestr log.info( "__parseLine: ParsingError engine move: %s %s" % (movestr, self.board), extra={"task": self.defname}) self.end(WHITEWON if self.board.color == BLACK else BLACKWON, WON_ADJUDICATION) continue if not validate(self.board, move): # This is critical. To avoid game stalls, we need to resign on # behalf of the engine. log.error("__parseLine: move=%s didn't validate, putting 'del' \ in returnQueue. self.board=%s" % ( repr(move), self.board), extra={"task": self.defname}) self.invalid_move = movestr self.end(WHITEWON if self.board.color == BLACK else BLACKWON, WON_ADJUDICATION) continue self._recordMove(self.board.move(move), move, self.board) log.debug("__parseLine: applied move=%s to self.board=%s" % ( move, self.board), extra={"task": self.defname}) if self.ponderOn: self.pondermove = None # An engine may send an empty ponder line, simply to clear. if len(parts) == 4: # Engines don't always check for everything in their # ponders. Hence we need to validate. # But in some cases, what they send may not even be # correct AN - specially in the case of promotion. try: pondermove = parseAny(self.board, parts[3]) except ParsingError: pass else: if validate(self.board, pondermove): self.pondermove = pondermove self._startPonder() self.queue.put_nowait(move) log.debug("__parseLine: put move=%s into self.queue=%s" % ( move, self.queue), extra={"task": self.defname}) continue # An Analysis if self.mode != NORMAL and parts[0] == "info" and "pv" in parts: multipv = 1 if "multipv" in parts: multipv = int(parts[parts.index("multipv") + 1]) scoretype = parts[parts.index("score") + 1] if scoretype in ('lowerbound', 'upperbound'): score = None else: score = int(parts[parts.index("score") + 2]) if scoretype == 'mate': # print >> self.engine, "stop" if score != 0: sign = score / abs(score) score = sign * (MATE_VALUE - abs(score)) movstrs = parts[parts.index("pv") + 1:] if "depth" in parts: depth = parts[parts.index("depth") + 1] else: depth = "" if "nps" in parts: nps = parts[parts.index("nps") + 1] else: nps = "" if multipv <= len(self.analysis): self.analysis[multipv - 1] = (self.board.ply, movstrs, score, depth, nps) self.emit("analyze", self.analysis) continue # An Analyzer bestmove if self.mode != NORMAL and parts[0] == "bestmove": log.debug("__parseLine: processing analyzer bestmove='%s'" % line.strip(), extra={"task": self.defname}) self.needBestmove = False self.bestmove_event.set() if parts[1] == "(none)": self.emit("analyze", []) else: self.__sendQueuedGo(sendlast=True) continue # Stockfish complaining it received a 'stop' without a corresponding 'position..go' if line.strip() == "Unknown command: stop": log.debug("__parseLine: processing '%s'" % line.strip(), extra={"task": self.defname}) self.ignoreNext = False self.needBestmove = False self.readyForStop = False self.__sendQueuedGo() continue # * score # * cp # the score from the engine's point of view in centipawns. # * mate # mate in y moves, not plies. # If the engine is getting mated use negative values for y. # * lowerbound # the score is just a lower bound. # * upperbound # the score is just an upper bound. def __sendQueuedGo(self, sendlast=False): """ Sends the next position...go or ponderhit command set which was queued (if any). sendlast -- If True, send the last position-go queued rather than the first, and discard the others (intended for analyzers) """ if len(self.commands) > 0: if sendlast: commands = self.commands.pop() self.commands.clear() else: commands = self.commands.popleft() for command in commands: print(command, file=self.engine) self.needBestmove = True self.readyForStop = True log.debug("__sendQueuedGo: sent queued go=%s" % commands, extra={"task": self.defname}) # Info def getAnalysisLines(self): try: return int(self.optionsToBeSent["MultiPV"]) except (KeyError, ValueError): return 1 # Engine does not support the MultiPV option def minAnalysisLines(self): try: return int(self.options["MultiPV"]["min"]) except (KeyError, ValueError): return 1 # Engine does not support the MultiPV option def maxAnalysisLines(self): try: return int(self.options["MultiPV"]["max"]) except (KeyError, ValueError): return 1 # Engine does not support the MultiPV option def requestMultiPV(self, n): n = min(n, self.maxAnalysisLines()) n = max(n, self.minAnalysisLines()) if n != self.multipvSetting: self.multipvSetting = n print("stop", file=self.engine) print("setoption name MultiPV value %s" % n, file=self.engine) self._searchNow() return n def __repr__(self): if self.name: return self.name if "name" in self.ids: return self.ids["name"] return ', '.join(self.defname) pychess-1.0.0/lib/pychess/Players/PyChessCECP.py0000644000175000017500000004504213403003672020467 0ustar varunvarun import re import signal import sys from threading import Thread import pychess from pychess.Players.PyChess import PyChess from pychess.System import conf, fident from pychess.Utils.book import getOpenings from pychess.Utils.const import NORMALCHESS, FEN_START, BLACK, FISCHERRANDOMCHESS, \ CRAZYHOUSECHESS, WILDCASTLESHUFFLECHESS, LOSERSCHESS, SUICIDECHESS, ATOMICCHESS, \ THREECHECKCHESS, KINGOFTHEHILLCHESS, ASEANCHESS, MAKRUKCHESS, CAMBODIANCHESS, \ SITTUYINCHESS, GIVEAWAYCHESS, HORDECHESS, RACINGKINGSCHESS, PLACEMENTCHESS, WHITE from pychess.Utils.lutils.Benchmark import benchmark from pychess.Utils.lutils.perft import perft from pychess.Utils.lutils.LBoard import LBoard from pychess.Utils.lutils.ldata import MAXPLY from pychess.Utils.lutils import lsearch, leval from pychess.Utils.lutils.lmove import parseSAN, parseAny, toSAN, ParsingError from pychess.Utils.lutils.lmovegen import genAllMoves, genCaptures, genCheckEvasions from pychess.Utils.lutils.validator import validateMove from pychess.System.Log import log from pychess.Variants.horde import HORDESTART from pychess.Variants.placement import PLACEMENTSTART from pychess.Variants.asean import ASEANSTART, MAKRUKSTART, KAMBODIANSTART, SITTUYINSTART if sys.platform != "win32": import readline readline.clear_history() ASCII = sys.platform == "win32" def get_input(): return input() class PyChessCECP(PyChess): def __init__(self): PyChess.__init__(self) self.board = LBoard(NORMALCHESS) self.board.applyFen(FEN_START) self.forced = False self.analyzing = False self.thread = None self.features = { "ping": 1, "setboard": 1, "playother": 1, "san": 1, "usermove": 1, "time": 1, "draw": 1, "sigint": 0, "sigterm": 0, "reuse": 1, "analyze": 1, "myname": "PyChess %s" % pychess.VERSION, "variants": "normal,wildcastle,nocastle,fischerandom,crazyhouse," + "losers,suicide,giveaway,horde,atomic,racingkings," + "kingofthehill,3check,placement,asean,cambodian,makruk,sittuyin", "colors": 0, "ics": 0, "name": 0, "pause": 0, # Unimplemented "nps": 0, # Unimplemented "debug": 1, "memory": 0, # Unimplemented "smp": 0, # Unimplemented "egt": "gaviota", "option": "skipPruneChance -slider 0 0 100" } python = sys.executable.split("/")[-1] python_version = "%s.%s.%s" % sys.version_info[0:3] self.print("# %s [%s %s]" % (self.features["myname"], python, python_version)) def handle_sigterm(self, *args): self.__stopSearching() sys.exit(0) def makeReady(self): signal.signal(signal.SIGINT, signal.SIG_IGN) signal.signal(signal.SIGTERM, self.handle_sigterm) def run(self): while True: try: line = get_input() except EOFError: line = "quit" lines = line.split() try: if not lines: continue log.debug(line, extra={"task": "xboard"}) # CECP commands # See http://home.hccnet.nl/h.g.muller/engine-intf.html if lines[0] == "xboard": pass elif lines[0] == "protover": stringPairs = ["=".join([k, '"%s"' % v if isinstance( v, str) else str(v)]) for k, v in self.features.items()] self.print("feature %s" % " ".join(stringPairs)) self.print("feature done=1") elif lines[0] in ("accepted", "rejected"): # We only really care about one case: if tuple(lines) == ("rejected", "debug"): self.debug = False elif lines[0] == "new": self.__stopSearching() self.board = LBoard(NORMALCHESS) self.board.applyFen(FEN_START) self.outOfBook = False self.forced = False self.playingAs = BLACK self.clock[:] = self.basetime, self.basetime self.searchtime = 0 self.sd = MAXPLY if self.analyzing: self.__analyze() elif lines[0] == "variant": if len(lines) > 1: if lines[1] == "fischerandom": self.board.variant = FISCHERRANDOMCHESS elif lines[1] == "crazyhouse": self.board.variant = CRAZYHOUSECHESS self.board.iniHouse() elif lines[1] == "wildcastle": self.board.variant = WILDCASTLESHUFFLECHESS elif lines[1] == "losers": self.board.variant = LOSERSCHESS elif lines[1] == "suicide": self.board.variant = SUICIDECHESS elif lines[1] == "giveaway": self.board.variant = GIVEAWAYCHESS elif lines[1] == "atomic": self.board.variant = ATOMICCHESS self.board.iniAtomic() elif lines[1] == "3check": self.board.variant = THREECHECKCHESS elif lines[1] == "racingkings": self.board.variant = RACINGKINGSCHESS elif lines[1] == "kingofthehill": self.board.variant = KINGOFTHEHILLCHESS elif lines[1] == "horde": self.board = LBoard(HORDECHESS) self.board.applyFen(HORDESTART) elif lines[1] == "placement": self.board = LBoard(PLACEMENTCHESS) self.board.applyFen(PLACEMENTSTART) elif lines[1] == "asean": self.board = LBoard(ASEANCHESS) self.board.applyFen(ASEANSTART) elif lines[1] == "makruk": self.board = LBoard(MAKRUKCHESS) self.board.applyFen(MAKRUKSTART) elif lines[1] == "cambodian": self.board = LBoard(CAMBODIANCHESS) self.board.applyFen(KAMBODIANSTART) elif lines[1] == "sittuyin": self.board = LBoard(SITTUYINCHESS) self.board.applyFen(SITTUYINSTART) elif lines[0] == "quit": self.forced = True self.__stopSearching() sys.exit(0) elif lines[0] == "random": leval.random = True elif lines[0] == "force": if not self.forced and not self.analyzing: self.forced = True self.__stopSearching() elif lines[0] == "go": self.playingAs = self.board.color self.forced = False self.__go() elif lines[0] == "playother": self.playingAs = 1 - self.board.color self.forced = False # TODO: start pondering, if possible elif lines[0] in ("black", "white"): newColor = lines[0] == "black" and BLACK or WHITE self.__stopSearching() self.playingAs = 1 - newColor if self.board.color != newColor: self.board.setColor(newColor) self.board.setEnpassant(None) if self.analyzing: self.__analyze() elif lines[0] == "level": self.movestogo = int(lines[1]) inc = int(lines[3]) minutes = lines[2].split(":") # Per protocol spec, strip off any non-numeric suffixes. for i in range(len(minutes)): minutes[i] = re.match(r'\d*', minutes[i]).group() self.basetime = int(minutes[0]) * 60 if len(minutes) > 1 and minutes[1]: self.basetime += int(minutes[1]) self.clock[:] = self.basetime, self.basetime self.increment = inc self.searchtime = 0 elif lines[0] == "st": self.searchtime = float(lines[1]) elif lines[0] == "sd": self.sd = int(lines[1]) # Unimplemented: nps elif lines[0] == "time": self.clock[self.playingAs] = float(lines[1]) / 100. elif lines[0] == "otim": self.clock[1 - self.playingAs] = float(lines[1]) / 100. elif lines[0] == "usermove": self.__stopSearching() try: move = parseAny(self.board, lines[1]) except ParsingError: self.print("Error (unknown command): %s" % lines[1]) self.print(self.board.prepr(ascii=ASCII)) continue if not validateMove(self.board, move): self.print("Illegal move: %s" % lines[1]) self.print(self.board.prepr(ascii=ASCII)) continue self.board.applyMove(move) self.playingAs = self.board.color if not self.forced and not self.analyzing: self.__go() if self.analyzing: self.__analyze() elif lines[0] == "?": if not self.forced and not self.analyzing: self.__stopSearching() elif lines[0] == "ping": self.print("pong %s" % lines[1]) elif lines[0] == "draw": if self.__willingToDraw(): self.print("offer draw") elif lines[0] == "result": # We don't really care what the result is at the moment. pass elif lines[0] == "setboard": self.__stopSearching() try: self.board = LBoard(self.board.variant) fen = " ".join(lines[1:]) self.board.applyFen(fen.replace("[", "/").replace("]", "")) except SyntaxError as err: self.print("tellusererror Illegal position: %s" % str(err)) # "edit" is unimplemented. See docs. Exiting edit mode returns to analyze mode. elif lines[0] == "hint": pass # TODO: Respond "Hint: MOVE" if we have an expected reply elif lines[0] == "bk": entries = getOpenings(self.board) if entries: totalWeight = sum(entry[1] for entry in entries) for entry in entries: self.print("\t%s\t%02.2f%%" % (toSAN(self.board, entry[0]), entry[1] * 100.0 / totalWeight)) elif lines[0] == "undo": self.__stopSearching() self.board.popMove() if self.analyzing: self.__analyze() elif lines[0] == "remove": self.__stopSearching() self.board.popMove() self.board.popMove() if self.analyzing: self.__analyze() elif lines[0] in ("hard", "easy"): self.ponder = (lines[0] == "hard") elif lines[0] in ("post", "nopost"): self.post = (lines[0] == "post") elif lines[0] == "analyze": self.analyzing = True self.__analyze() elif lines[0] in ("name", "rating", "ics", "computer"): pass # We don't care. # Unimplemented: pause, resume elif lines[0] == "memory": # FIXME: this is supposed to control the *total* memory use. if lsearch.searching: self.print("Error (already searching):", line) else: limit = int(lines[1]) if limit < 1: self.print("Error (limit too low):", line) else: pass # TODO implement # lsearch.setHashSize(limit) elif lines[0] == "cores": pass # We aren't SMP-capable. elif lines[0] == "egtpath": if len(lines) >= 3 and lines[1] == "gaviota": if lines[2]: conf.set("egtb_path", lines[2]) else: conf.set("egtb_path", conf.get("egtb_path")) from pychess.Utils.lutils.lsearch import enableEGTB enableEGTB() elif lines[0] == "option" and len(lines) > 1: name, eq, value = lines[1].partition("=") if value: value = int( value ) # CECP spec says option values are *always* numeric if name == "skipPruneChance": if 0 <= value <= 100: self.skipPruneChance = value / 100.0 else: self.print( "Error (argument must be an integer 0..100): %s" % line) # CECP analyze mode commands # See http://www.gnu.org/software/xboard/engine-intf.html#11 elif lines[0] == "exit": if self.analyzing: self.__stopSearching() self.analyzing = False # Periodic updates (".") are not implemented. # Custom commands elif lines[0] == "moves": self.print(self.board.prepr(ascii=ASCII)) self.print([toSAN(self.board, move) for move in genAllMoves(self.board)]) elif lines[0] == "captures": self.print(self.board.prepr(ascii=ASCII)) self.print([toSAN(self.board, move) for move in genCaptures(self.board)]) elif lines[0] == "evasions": self.print(self.board.prepr(ascii=ASCII)) self.print([toSAN(self.board, move) for move in genCheckEvasions(self.board)]) elif lines[0] == "benchmark": if len(lines) > 1: benchmark(int(lines[1])) else: benchmark() elif lines[0] == "profile": if len(lines) > 1: import cProfile cProfile.runctx("benchmark()", locals(), globals(), lines[1]) else: self.print("Usage: profile outputfilename") elif lines[0] == "perft": root = "0" if len(lines) < 3 else lines[2] depth = "1" if len(lines) == 1 else lines[1] if root.isdigit() and depth.isdigit(): perft(self.board, int(depth), int(root)) else: self.print("Error (arguments must be integer") elif lines[0] == "stop_unittest": break elif len(lines) == 1: # A GUI without usermove support might try to send a move. try: move = parseAny(self.board, line) except ParsingError: self.print("Error (unknown command): %s" % line) continue if not validateMove(self.board, move): self.print("Illegal move: %s" % lines[0]) self.print(self.board.prepr(ascii=ASCII)) continue self.__stopSearching() self.board.applyMove(move) self.playingAs = self.board.color if not self.forced and not self.analyzing: self.__go() if self.analyzing: self.__analyze() else: self.print("Error (unknown command): %s" % line) except IndexError: self.print("Error (missing argument): %s" % line) def __stopSearching(self): lsearch.searching = False if self.thread: self.thread.join() def __go(self): def ondone(result): if not self.forced: self.board.applyMove(parseSAN(self.board, result)) self.print("move %s" % result) # TODO: start pondering, if enabled self.thread = Thread(target=PyChess._PyChess__go, name=fident(PyChess._PyChess__go), args=(self, ondone)) self.thread.daemon = True self.thread.start() def __analyze(self): self.thread = Thread(target=PyChess._PyChess__analyze, name=fident(PyChess._PyChess__analyze), args=(self, )) self.thread.daemon = True self.thread.start() def __willingToDraw(self): return self.scr <= 0 # FIXME: this misbehaves in all but the simplest use cases pychess-1.0.0/lib/pychess/Players/Human.py0000755000175000017500000003472313432474012017537 0ustar varunvarunimport asyncio from gi.repository import Gtk, GObject from pychess.Utils.const import DRAW_OFFER, ABORT_OFFER, ADJOURN_OFFER, TAKEBACK_OFFER, \ PAUSE_OFFER, RESUME_OFFER, RESIGNATION, FLAG_CALL, SWITCH_OFFER, HURRY_ACTION, \ ACTION_ERROR_NOT_OUT_OF_TIME, ACTION_ERROR_CLOCK_NOT_STARTED, ACTION_ERROR_SWITCH_UNDERWAY, \ ACTION_ERROR_TOO_LARGE_UNDO, ACTION_ERROR_NONE_TO_WITHDRAW, ACTION_ERROR_NONE_TO_ACCEPT, \ LOCAL, RUNNING, CHAT_ACTION, ACTION_ERROR_NONE_TO_DECLINE from pychess.Utils.logic import validate from pychess.Utils.Move import Move from pychess.Utils.Offer import Offer from pychess.System.Log import log from pychess.System import conf from pychess.Players.Player import Player, PlayerIsDead, TurnInterrupt, PassInterrupt from pychess.widgets.InfoBar import InfoBarMessage, InfoBarMessageButton from pychess.widgets import InfoBar OFFER_MESSAGES = { DRAW_OFFER: (_("Your opponent has offered you a draw."), _("Your opponent has offered you a draw. If you accept this offer, the game will end with a score of 1/2 - 1/2."), False), ABORT_OFFER: (_("Your opponent wants to abort the game."), _("Your opponent has asked that the game be aborted. If you accept this offer, the game will end with no rating change."), False), ADJOURN_OFFER: (_("Your opponent wants to adjourn the game."), _("Your opponent has asked that the game be adjourned. If you accept this offer, the game will be adjourned and you can resume it later (when your opponent is online and both players agree to resume)."), False), TAKEBACK_OFFER: (_("Your opponent wants to undo %s move(s)."), _("Your opponent has asked that the last %s move(s) be undone. If you accept this offer, the game will continue from the earlier position."), True), PAUSE_OFFER: (_("Your opponent wants to pause the game."), _("Your opponent has asked that the game be paused. If you accept this offer, the game clock will be paused until both players agree to resume the game."), False), RESUME_OFFER: (_("Your opponent wants to resume the game."), _("Your opponent has asked that the game be resumed. If you accept this offer, the game clock will continue from where it was paused."), False) } ACTION_NAMES = { RESIGNATION: _("The resignation"), FLAG_CALL: _("The flag call"), DRAW_OFFER: _("The draw offer"), ABORT_OFFER: _("The abort offer"), ADJOURN_OFFER: _("The adjourn offer"), PAUSE_OFFER: _("The pause offer"), RESUME_OFFER: _("The resume offer"), SWITCH_OFFER: _("The offer to switch sides"), TAKEBACK_OFFER: _("The takeback offer"), } ACTION_ACTIONS = { RESIGNATION: _("resign"), FLAG_CALL: _("call your opponents flag"), DRAW_OFFER: _("offer a draw"), ABORT_OFFER: _("offer an abort"), ADJOURN_OFFER: _("offer to adjourn"), PAUSE_OFFER: _("offer a pause"), RESUME_OFFER: _("offer to resume"), SWITCH_OFFER: _("offer to switch sides"), TAKEBACK_OFFER: _("offer a takeback"), HURRY_ACTION: _("ask your opponent to move") } ERROR_MESSAGES = { ACTION_ERROR_NOT_OUT_OF_TIME: _("Your opponent is not out of time."), ACTION_ERROR_CLOCK_NOT_STARTED: _("The clock hasn't been started yet."), ACTION_ERROR_SWITCH_UNDERWAY: _("You can't switch colors during the game."), ACTION_ERROR_TOO_LARGE_UNDO: _("You have tried to undo too many moves."), } class Human(Player): __type__ = LOCAL __gsignals__ = { "messageReceived": (GObject.SignalFlags.RUN_FIRST, None, (str, )), } def __init__(self, gmwidg, color, name, ichandle=None, icrating=None): Player.__init__(self) self.defname = "Human" self.board = gmwidg.board self.gmwidg = gmwidg self.gamemodel = self.gmwidg.gamemodel self.move_queue = asyncio.Queue() self.color = color self.board_cids = [ self.board.connect("piece_moved", self.piece_moved), self.board.connect("action", self.emit_action) ] self.setName(name) self.ichandle = ichandle self.icrating = icrating self.timemodel_cid = None if self.gamemodel.timed: self.timemodel_cid = self.gamemodel.timemodel.connect('zero_reached', self.zero_reached) self.cid = self.gamemodel.connect_after("game_terminated", self.on_game_terminated) def on_game_terminated(self, model): for cid in self.board_cids: self.board.disconnect(cid) if self.gamemodel.timed and self.timemodel_cid is not None: self.gamemodel.timemodel.disconnect(self.timemodel_cid) self.gamemodel.disconnect(self.cid) # Handle signals from the board def zero_reached(self, timemodel, color): if conf.get("autoCallFlag") and \ self.gamemodel.status == RUNNING and \ timemodel.getPlayerTime(1 - self.color) <= 0: log.info('Automatically sending flag call on behalf of player %s.' % self.name) self.emit("offer", Offer(FLAG_CALL)) def piece_moved(self, board, move, color): if color != self.color: return self.move_queue.put_nowait(move) def emit_action(self, board, action, player, param): # If there are two or more tabs open, we have to ensure us that it is # us who are in the active tab, and not the others if not self.gmwidg.isInFront(): return # If there are two human players, we have to ensure us that it was us # who did the action, and not the others if self.gamemodel.players[1 - self.color].__type__ == LOCAL: if action == HURRY_ACTION: if player.color == self.color: return else: if player.color != self.color: return log.debug("Human.emit_action: self.name=%s, action=%s" % (self.name, action)) self.emit("offer", Offer(action, param=param)) # Send the player move updates @asyncio.coroutine def makeMove(self, board1, move, board2): log.debug("Human.makeMove: move=%s, board1=%s board2=%s" % ( move, board1, board2)) if self.board.view.premove_piece and self.board.view.premove0 and \ self.board.view.premove1 and \ self.color == self.board.view.premove_piece.color: if validate(board1, Move(self.board.view.premove0, self.board.view.premove1, board1, promotion=self.board.view.premove_promotion)): log.debug("Human.makeMove: Setting move to premove %s %s" % ( self.board.view.premove0, self.board.view.premove1)) self.board.emit_move_signal( self.board.view.premove0, self.board.view.premove1, promotion=self.board.view.premove_promotion) # reset premove self.board.view.setPremove(None, None, None, None) self.gmwidg.setLocked(False) item = yield from self.move_queue.get() self.gmwidg.setLocked(True) if item == "del": log.debug("Human.makeMove got: del") raise PlayerIsDead elif item == "int": log.debug("Human.makeMove got: int") raise TurnInterrupt elif item == "pass": log.debug("Human.makeMove got: pass") raise PassInterrupt return item # Ending the game def end(self, status, reason): log.debug("Human.end: %s" % self.name) self.move_queue.put_nowait("del") def kill(self, reason): for num in self.conid: if self.board.handler_is_connected(num): self.board.disconnect(num) self.move_queue.put_nowait("del") # Interacting with the player def hurry(self): title = _("Your opponent asks you to hurry!") text = _( "Generally this means nothing, as the game is time-based, but if you want to \ please your opponent, perhaps you should get going.") content = InfoBar.get_message_content(title, text, Gtk.STOCK_DIALOG_INFO) def response_cb(infobar, response, message): message.dismiss() message = InfoBarMessage(Gtk.MessageType.INFO, content, response_cb) message.add_button(InfoBarMessageButton(Gtk.STOCK_CLOSE, Gtk.ResponseType.CANCEL)) self.gmwidg.showMessage(message) def pause(self): self.gmwidg.setLocked(True) def resume(self): log.debug("Human.resume: %s" % (self)) if self.board.view.model.curplayer == self: self.gmwidg.setLocked(False) def playerUndoMoves(self, movecount, gamemodel): log.debug("Human.playerUndoMoves: movecount=%s self=%s gamemodel.curplayer=%s" % (movecount, self, gamemodel.curplayer)) self.gmwidg.clearMessages() # If the movecount is odd, the player has changed, and we have to interupt if movecount % 2 == 1 and gamemodel.curplayer != self: # If it is no longer us to move, we raise TurnInterruprt in order to # let GameModel continue the game. log.debug("Human.playerUndoMoves: putting TurnInterrupt into self.move_queue %s" % self.name) self.move_queue.put_nowait("int") # If the movecount is even, we have to ensure the board is unlocked. # This is because it might have been locked by the game ending, but # perhaps we have now undone some moves, and it is no longer ended. elif movecount % 2 == 0 and gamemodel.curplayer == self: log.debug("Human.playerUndoMoves: self=%s: calling gmwidg.setLocked" % (self)) self.gmwidg.setLocked(False) log.debug("Human.playerUndoMoves: putting PassInterrupt into self.move_queue %s" % self.name) self.move_queue.put_nowait("pass") def putMessage(self, text): self.emit("messageReceived", text) def sendMessage(self, text): self.emit("offer", Offer(CHAT_ACTION, param=text)) # Offer handling def offer(self, offer): log.debug("Human.offer: self=%s %s" % (self, offer)) assert offer.type in OFFER_MESSAGES if self.gamemodel.players[1 - self.color].__type__ is LOCAL: self.emit("accept", offer) return heading, text, takes_param = OFFER_MESSAGES[offer.type] if takes_param: heading = heading % offer.param text = text % offer.param def response_cb(infobar, response, message): if response == Gtk.ResponseType.ACCEPT: if offer.type == TAKEBACK_OFFER: self.gamemodel.undoMoves(offer.param) self.emit("accept", offer) elif response == Gtk.ResponseType.NO: self.emit("decline", offer) message.dismiss() content = InfoBar.get_message_content(heading, text, Gtk.STOCK_DIALOG_QUESTION) message = InfoBarMessage(Gtk.MessageType.QUESTION, content, response_cb) message.add_button(InfoBarMessageButton( _("Accept"), Gtk.ResponseType.ACCEPT)) message.add_button(InfoBarMessageButton( _("Decline"), Gtk.ResponseType.NO)) message.add_button(InfoBarMessageButton(Gtk.STOCK_CLOSE, Gtk.ResponseType.CANCEL)) self.gmwidg.showMessage(message) def offerDeclined(self, offer): log.debug("Human.offerDeclined: self=%s %s" % (self, offer)) assert offer.type in ACTION_NAMES heading = _("%s was declined by your opponent") % ACTION_NAMES[ offer.type] text = _("Resend %s?" % ACTION_NAMES[offer.type].lower()) content = InfoBar.get_message_content(heading, text, Gtk.STOCK_DIALOG_INFO) def response_cb(infobar, response, message): if response == Gtk.ResponseType.ACCEPT: self.emit("offer", offer) message.dismiss() message = InfoBarMessage(Gtk.MessageType.INFO, content, response_cb) message.add_button(InfoBarMessageButton( _("Resend"), Gtk.ResponseType.ACCEPT)) message.add_button(InfoBarMessageButton(Gtk.STOCK_CLOSE, Gtk.ResponseType.CANCEL)) self.gmwidg.replaceMessages(message) def offerWithdrawn(self, offer): log.debug("Human.offerWithdrawn: self=%s %s" % (self, offer)) assert offer.type in ACTION_NAMES heading = _("%s was withdrawn by your opponent") % ACTION_NAMES[ offer.type] text = _("Your opponent seems to have changed their mind.") content = InfoBar.get_message_content(heading, text, Gtk.STOCK_DIALOG_INFO) def response_cb(infobar, response, message): message.dismiss() message = InfoBarMessage(Gtk.MessageType.INFO, content, response_cb) message.add_button(InfoBarMessageButton(Gtk.STOCK_CLOSE, Gtk.ResponseType.CANCEL)) self.gmwidg.showMessage(message) def offerError(self, offer, error): log.debug("Human.offerError: self=%s error=%s %s" % (self, error, offer)) assert offer.type in ACTION_NAMES actionName = ACTION_NAMES[offer.type] if error == ACTION_ERROR_NONE_TO_ACCEPT: heading = _("Unable to accept %s") % actionName.lower() text = _("Probably because it has been withdrawn.") elif error == ACTION_ERROR_NONE_TO_DECLINE or \ error == ACTION_ERROR_NONE_TO_WITHDRAW: # If the offer was not there, it has probably already been either # declined or withdrawn. return else: heading = _("%s returns an error") % actionName text = ERROR_MESSAGES[error] content = InfoBar.get_message_content(heading, text, Gtk.STOCK_DIALOG_WARNING) def response_cb(infobar, response, message): message.dismiss() message = InfoBarMessage(Gtk.MessageType.WARNING, content, response_cb) message.add_button(InfoBarMessageButton(Gtk.STOCK_CLOSE, Gtk.ResponseType.CANCEL)) self.gmwidg.showMessage(message) pychess-1.0.0/lib/pychess/Players/Engine.py0000755000175000017500000001017313365545272017701 0ustar varunvarunimport asyncio from urllib.parse import urlencode from urllib.request import urlopen from gi.repository import GObject from pychess.compat import create_task from pychess.System.Log import log from pychess.Utils.Offer import Offer from pychess.Utils.const import ARTIFICIAL, CHAT_ACTION from .Player import Player class Engine(Player): __type__ = ARTIFICIAL ''' "analyze" signal emits list of analysis lines. Lines are 5 element tuples. The first element is game ply. Second is pv string of moves. Third is a score relative to the engine. If no score is known, the value can be None, but not 0, which is a draw. Fourth is the depth of the search. Fifth is the nodes per second. ''' __gsignals__ = { 'analyze': (GObject.SignalFlags.RUN_FIRST, None, (object, )) } def __init__(self, md5=None): Player.__init__(self) self.md5 = md5 self.currentAnalysis = [] self.analyze_cid = self.connect('analyze', self.on_analysis) def on_analysis(self, engine, analysis): self.currentAnalysis = analysis # Offer handling def offer(self, offer): raise NotImplementedError def offerDeclined(self, offer): pass # Ignore def offerWithdrawn(self, offer): pass # Ignore def offerError(self, offer, error): pass # Ignore # General Engine Options def setOptionAnalyzing(self, mode): self.mode = mode def setOptionInitialBoard(self, model): """ If the game starts at a board other than FEN_START, it should be sent here. We sends a gamemodel, so the engine can load the entire list of moves, if any """ pass # Optional def setOptionVariant(self, variant): """ Inform the engine of any special variant. If the engine doesn't understand the variant, this will raise an error. """ raise NotImplementedError def setOptionTime(self, secs, gain): """ Seconds is the initial clock of the game. Gain is the amount of seconds a player gets after each move. If the engine doesn't support playing with time, this will fail.""" raise NotImplementedError def setOptionStrength(self, strength): """ Strength is a number [1,8] inclusive. Higher is better. """ self.strength = strength raise NotImplementedError # Engine specific methods def canAnalyze(self): raise NotImplementedError def minAnalysisLines(self): raise NotImplementedError def maxAnalysisLines(self): raise NotImplementedError def requestMultiPV(self, setting): """Set the number of analysis lines the engine will give, if possible. If setting is too high, the engine's maximum will be used. The setting will last until the next call to requestMultiPV. Return value: the setting used. """ raise NotImplementedError def getAnalysis(self): """ Returns a list of moves, or None if there haven't yet been made an analysis """ return self.currentAnalysis # General chat handling def putMessage(self, message): def answer(message): try: data = urlopen( "https://www.pandorabots.com/pandora/talk?botid=8d034368fe360895", urlencode({"message": message, "botcust2": "x"}).encode("utf-8")).read().decode('utf-8') except IOError as err: log.warning("Couldn't answer message from online bot: '%s'" % err, extra={"task": self.defname}) return sstring = "DMPGirl:" estring = "
" answer = data[data.find(sstring) + len(sstring):data.find(estring, data.find(sstring))] self.emit("offer", Offer(CHAT_ACTION, answer)) @asyncio.coroutine def get_answer(message): loop = asyncio.get_event_loop() future = loop.run_in_executor(None, answer, message) yield from future create_task(get_answer(message)) pychess-1.0.0/lib/pychess/Players/engineList.py0000644000175000017500000013223613432477502020572 0ustar varunvarunimport os import platform import sys from collections import namedtuple # Constants AUTO_DETECT = True NO_AUTO_DETECT = False # CPUID BITNESS = "64" if platform.machine().endswith('64') else "32" POPCOUNT = True # TODO Auto-detect BMI2 = True # TODO Auto-detect # List of known interpreters PYTHONBIN = sys.executable.split("/")[-1] VM = namedtuple('VM', 'name, ext, args') VM_LIST = [ VM("node", ".js", None), VM("java", ".jar", ["-jar"]), VM(PYTHONBIN, ".py", ["-u"]) ] # Needed by shutil.which() on Windows to find .py engines if sys.platform == "win32": for vm in VM_LIST: if vm.ext.upper() not in os.getenv("PATHEXT"): os.environ["PATHEXT"] += ";%s" % vm.ext.upper() # List of engines later sorted by descending length of name # The comments provides known conflicts with Linux packages # Weak engines (<2700) should be added manually unless a package exists already if sys.platform == "win32": stockfish_name = "stockfish_10_x%s.exe" % BITNESS sjaakii_name = "sjaakii_win%s_ms.exe" % BITNESS else: stockfish_name = "stockfish" sjaakii_name = "sjaakii" ENGINE = namedtuple('ENGINE', 'name, protocol, country, elo, autoDetect, defaultLevel') ENGINES_LIST = [ # -- Full names for internal processing ENGINE("PyChess.py", "xboard", "dk", 0, AUTO_DETECT, 5), ENGINE("pychess-engine", "xboard", "dk", 0, AUTO_DETECT, 5), ENGINE(stockfish_name, "uci", "no", 3554, AUTO_DETECT, None), ENGINE(sjaakii_name, "xboard", "nl", 2194, AUTO_DETECT, None), ENGINE("Houdini.exe", "uci", "be", 3526, AUTO_DETECT, None), ENGINE("Rybka.exe", "uci", "cz", 3207, AUTO_DETECT, None), # -- Engines from CCRL 40/4 ENGINE("stockfish", "uci", "no", 3566, AUTO_DETECT, None), ENGINE("houdini", "uci", "be", 3531, AUTO_DETECT, None), ENGINE("komodo", "uci", "us", 3508, AUTO_DETECT, None), ENGINE("fire", "uci", "us", 3429, NO_AUTO_DETECT, None), # fire in mesa-demos https://www.archlinux.org/packages/extra/x86_64/mesa-demos/files/ ENGINE("ethereal", "uci", "us", 3386, AUTO_DETECT, None), ENGINE("fizbo", "uci", "us", 3347, AUTO_DETECT, None), ENGINE("andscacs", "uci", "ad", 3331, AUTO_DETECT, None), ENGINE("booot", "uci", "ua", 3328, AUTO_DETECT, None), # Formerly XB ENGINE("xiphos", "uci", "us", 3328, NO_AUTO_DETECT, None), # xiphos - environment for Bible reading, study, and research ENGINE("shredder", "uci", "de", 3325, AUTO_DETECT, None), ENGINE("schooner", "xboard", "ca", 3279, AUTO_DETECT, None), ENGINE("laser", "uci", "us", 3273, AUTO_DETECT, None), ENGINE("gull", "uci", "ru", 3261, AUTO_DETECT, None), ENGINE("equinox", "uci", "it", 3254, AUTO_DETECT, None), ENGINE("chiron", "uci", "it", 3242, AUTO_DETECT, None), # Allows XB ENGINE("critter", "uci", "sk", 3233, AUTO_DETECT, None), ENGINE("hannibal", "uci", "us", 3230, AUTO_DETECT, None), ENGINE("fritz", "uci", "nl", 3229, AUTO_DETECT, None), ENGINE("nirvana", "uci", "us", 3228, AUTO_DETECT, None), ENGINE("texel", "xboard", "se", 3207, AUTO_DETECT, None), # UCI is an option in the command line ENGINE("rybka", "uci", "cz", 3206, AUTO_DETECT, None), ENGINE("blackmamba", "uci", "it", 3198, AUTO_DETECT, None), ENGINE("arasan", "uci", "us", 3190, AUTO_DETECT, None), ENGINE("vajolet", "uci", "it", 3180, AUTO_DETECT, None), # ivanhoe, robbolito, panchess, bouquet, elektro ENGINE("senpai", "uci", "fr", 3176, AUTO_DETECT, None), ENGINE("nemorino", "uci", "de", 3175, AUTO_DETECT, None), # Allows XB ENGINE("pedone", "uci", "it", 3157, AUTO_DETECT, None), ENGINE("naum", "uci", "rs", 3153, AUTO_DETECT, None), ENGINE("strelka", "uci", "ru", 3141, AUTO_DETECT, None), ENGINE("wasp", "uci", "us", 3133, AUTO_DETECT, None), ENGINE("protector", "uci", "de", 3129, AUTO_DETECT, None), ENGINE("chessbrain", "uci", "de", 3127, AUTO_DETECT, None), # Allows XB ENGINE("defenchess", "uci", "tr", 3117, AUTO_DETECT, None), ENGINE("rofchade", "uci", "nl", 3110, AUTO_DETECT, None), ENGINE("hiarcs", "uci", "gb", 3108, AUTO_DETECT, None), ENGINE("demolito", "uci", "fr", 3096, AUTO_DETECT, None), ENGINE("rodent", "uci", "pl", 3092, AUTO_DETECT, None), ENGINE("chess22k", "uci", "nl", 3082, AUTO_DETECT, None), # ice (name too short) ENGINE("cheng", "uci", "cz", 3071, AUTO_DETECT, None), ENGINE("crafty", "xboard", "us", 3057, AUTO_DETECT, None), ENGINE("bobcat", "uci", "nl", 3053, AUTO_DETECT, None), ENGINE("smarthink", "uci", "ru", 3039, AUTO_DETECT, None), # Allows XB ENGINE("spike", "uci", "de", 3036, AUTO_DETECT, None), # Allows XB ENGINE("alfil", "uci", "es", 3030, AUTO_DETECT, None), ENGINE("spark", "uci", "nl", 3029, NO_AUTO_DETECT, None), # spark - Apache tool ENGINE("junior", "uci", "il", 3026, AUTO_DETECT, None), ENGINE("hakkapeliitta", "uci", "fi", 3022, AUTO_DETECT, None), ENGINE("exchess", "xboard", "us", 3011, AUTO_DETECT, None), ENGINE("tucano", "xboard", "br", 2998, AUTO_DETECT, None), ENGINE("scorpio", "xboard", "et", 2994, AUTO_DETECT, None), ENGINE("gaviota", "xboard", "ar", 2976, AUTO_DETECT, None), ENGINE("zappa", "uci", "us", 2970, AUTO_DETECT, None), ENGINE("togaii", "uci", "de", 2966, AUTO_DETECT, None), ENGINE("toga2", "uci", "de", 2966, AUTO_DETECT, None), ENGINE("onno", "uci", "de", 2955, AUTO_DETECT, None), ENGINE("pirarucu", "uci", "br", 2953, AUTO_DETECT, None), ENGINE("thinker", "uci", "ca", 2951, AUTO_DETECT, None), ENGINE("amoeba", "uci", "fr", 2948, AUTO_DETECT, None), ENGINE("deuterium", "uci", "ph", 2947, AUTO_DETECT, None), ENGINE("baron", "xboard", "nl", 2941, AUTO_DETECT, None), ENGINE("sjeng", "xboard", "be", 2940, AUTO_DETECT, None), ENGINE("disasterarea", "uci", "de", 2934, AUTO_DETECT, None), ENGINE("atlas", "uci", "es", 2928, NO_AUTO_DETECT, None), ENGINE("dirty", "xboard", "es", 2928, AUTO_DETECT, None), ENGINE("minko", "uci", "sv", 2921, AUTO_DETECT, None), ENGINE("discocheck", "uci", "fr", 2913, AUTO_DETECT, None), ENGINE("bright", "uci", "nl", 2910, AUTO_DETECT, None), ENGINE("quazar", "uci", "ru", 2898, AUTO_DETECT, None), ENGINE("daydreamer", "uci", "us", 2897, AUTO_DETECT, None), ENGINE("zurichess", "uci", "ro", 2897, AUTO_DETECT, None), ENGINE("monolith", "uci", "it", 2896, NO_AUTO_DETECT, None), ENGINE("marvin", "uci", "se", 2882, AUTO_DETECT, None), # Allows XB ENGINE("loop", "uci", "de", 2881, NO_AUTO_DETECT, None), ENGINE("murka", "uci", "by", 2881, AUTO_DETECT, None), ENGINE("tornado", "uci", "de", 2859, AUTO_DETECT, None), ENGINE("gogobello", "uci", "it", 2857, AUTO_DETECT, None), ENGINE("nemo", "uci", "de", 2857, NO_AUTO_DETECT, None), # nemo - File manager and graphical shell for Cinnamon ENGINE("shield", "uci", "it", 2857, NO_AUTO_DETECT, None), ENGINE("godel", "uci", "es", 2846, AUTO_DETECT, None), # May allow XB ENGINE("bugchess", "xboard", "fr", 2842, AUTO_DETECT, None), ENGINE("octochess", "uci", "de", 2816, AUTO_DETECT, None), # Allows XB ENGINE("gnuchessu", "uci", "us", 2807, NO_AUTO_DETECT, None), ENGINE("gnuchess", "xboard", "us", 2807, AUTO_DETECT, None), ENGINE("rhetoric", "uci", "es", 2802, AUTO_DETECT, None), ENGINE("ruydos", "uci", "es", 2802, AUTO_DETECT, None), ENGINE("counter", "uci", "ru", 2795, NO_AUTO_DETECT, None), ENGINE("rubichess", "uci", "de", 2784, AUTO_DETECT, None), ENGINE("ktulu", "uci", "ir", 2781, AUTO_DETECT, None), # Allows XB ENGINE("prodeo", "uci", "nl", 2769, AUTO_DETECT, None), # Allows XB ENGINE("twisted-logic", "uci", "ph", 2769, AUTO_DETECT, None), ENGINE("pawny", "uci", "bg", 2768, AUTO_DETECT, None), ENGINE("frenzee", "xboard", "dk", 2767, AUTO_DETECT, None), ENGINE("bison", "uci", "ru", 2759, NO_AUTO_DETECT, None), # bison - YACC-compatible parser generator ENGINE("chessmaster", "xboard", "nl", 2757, AUTO_DETECT, None), ENGINE("karballo", "uci", "es", 2756, AUTO_DETECT, None), ENGINE("cheese", "uci", "fr", 2754, NO_AUTO_DETECT, None), # Allows XB; cheese - tool to take pictures and videos from your webcam ENGINE("jonny", "uci", "de", 2754, AUTO_DETECT, None), # Formerly XB ENGINE("chronos", "uci", "ar", 2736, AUTO_DETECT, None), ENGINE("winter", "uci", "ch", 2736, NO_AUTO_DETECT, None), ENGINE("devel", "uci", "no", 2731, NO_AUTO_DETECT, None), ENGINE("greko", "uci", "ru", 2722, AUTO_DETECT, None), ENGINE("tiger", "uci", "gp", 2713, AUTO_DETECT, None), ENGINE("donna", "uci", "us", 2703, NO_AUTO_DETECT, None), ENGINE("arminius", "xboard", "de", 2689, NO_AUTO_DETECT, None), ENGINE("redqueen", "uci", "br", 2689, NO_AUTO_DETECT, None), ENGINE("delfi", "uci", "it", 2682, NO_AUTO_DETECT, None), # Allows XB ENGINE("pharaon", "uci", "fr", 2676, NO_AUTO_DETECT, None), # Allows XB ENGINE("djinn", "xboard", "us", 2675, NO_AUTO_DETECT, None), ENGINE("gandalf", "uci", "dk", 2674, NO_AUTO_DETECT, None), # Allows XB ENGINE("alaric", "uci", "se", 2663, NO_AUTO_DETECT, None), # Allows XB ENGINE("ece-x3", "uci", "it", 2657, NO_AUTO_DETECT, None), ENGINE("nebula", "uci", "rs", 2655, NO_AUTO_DETECT, None), ENGINE("dorky", "xboard", "us", 2653, NO_AUTO_DETECT, None), ENGINE("naraku", "uci", "it", 2652, NO_AUTO_DETECT, None), ENGINE("phalanx", "xboard1", "cz", 2651, NO_AUTO_DETECT, None), ENGINE("colossus", "uci", "gb", 2642, NO_AUTO_DETECT, None), ENGINE("cyrano", "uci", "no", 2642, NO_AUTO_DETECT, None), ENGINE("sjakk", "uci", "no", 2639, NO_AUTO_DETECT, None), ENGINE("rodin", "xboard", "es", 2635, NO_AUTO_DETECT, None), ENGINE("et_chess", "xboard2", "fr", 2634, NO_AUTO_DETECT, None), ENGINE("wyldchess", "uci", "in", 2630, NO_AUTO_DETECT, None), # Allows XB ENGINE("wildcat", "uci", "by", 2624, NO_AUTO_DETECT, None), # Formerly XB ENGINE("movei", "uci", "il", 2623, NO_AUTO_DETECT, None), # Allows XB ENGINE("philou", "uci", "fr", 2620, NO_AUTO_DETECT, None), ENGINE("zarkov", "xboard", "us", 2620, NO_AUTO_DETECT, None), ENGINE("danasah", "uci", "es", 2618, NO_AUTO_DETECT, None), # Allows XB ENGINE("rotor", "uci", "nl", 2618, NO_AUTO_DETECT, None), ENGINE("tomitank", "uci", "hu", 2618, NO_AUTO_DETECT, None), ENGINE("sloppy", "xboard", "fi", 2617, NO_AUTO_DETECT, None), ENGINE("schess", "uci", "us", 2615, NO_AUTO_DETECT, None), # Allows XB ENGINE("sblitz", "uci", "us", 2615, NO_AUTO_DETECT, None), # Allows XB ENGINE("delocto", "uci", "at", 2614, NO_AUTO_DETECT, None), ENGINE("coiled", "uci", "es", 2611, NO_AUTO_DETECT, None), ENGINE("glass", "uci", "pl", 2610, NO_AUTO_DETECT, None), ENGINE("garbochess", "uci", "us", 2609, NO_AUTO_DETECT, None), ENGINE("noragrace", "xboard", "us", 2608, NO_AUTO_DETECT, None), ENGINE("ruffian", "uci", "se", 2608, NO_AUTO_DETECT, None), ENGINE("leela", "uci", "us", 2607, NO_AUTO_DETECT, None), ENGINE("amyan", "uci", "cl", 2605, NO_AUTO_DETECT, None), # Allows XB ENGINE("jellyfish", "uci", "unknown", 2604, NO_AUTO_DETECT, None), # Allows XB ENGINE("lemming", "xboard", "us", 2599, NO_AUTO_DETECT, None), # n2 (name to short) # k2 (name to short) ENGINE("floyd", "uci", "nl", 2583, NO_AUTO_DETECT, None), ENGINE("cuckoo", "xboard", "se", 2582, NO_AUTO_DETECT, None), # UCI is an option in the command line ENGINE("muse", "xboard", "ch", 2582, NO_AUTO_DETECT, None), # May support UCI as well ENGINE("francesca", "xboard", "gb", 2581, NO_AUTO_DETECT, None), ENGINE("hamsters", "uci", "it", 2578, NO_AUTO_DETECT, None), ENGINE("pseudo", "xboard", "cz", 2576, NO_AUTO_DETECT, None), # sos (name too short) ENGINE("maverick", "uci", "gb", 2567, NO_AUTO_DETECT, None), ENGINE("aristarch", "uci", "de", 2566, NO_AUTO_DETECT, None), ENGINE("petir", "xboard", "id", 2566, NO_AUTO_DETECT, None), ENGINE("capivara", "uci", "br", 2565, NO_AUTO_DETECT, None), ENGINE("nanoszachy", "xboard", "pl", 2558, NO_AUTO_DETECT, None), ENGINE("brutus", "xboard", "nl", 2555, NO_AUTO_DETECT, None), ENGINE("ghost", "xboard", "de", 2547, NO_AUTO_DETECT, None), ENGINE("anaconda", "uci", "de", 2545, NO_AUTO_DETECT, None), ENGINE("rebel", "uci", "nl", 2544, NO_AUTO_DETECT, None), ENGINE("betsabe", "xboard", "es", 2543, NO_AUTO_DETECT, None), ENGINE("hermann", "uci", "de", 2540, NO_AUTO_DETECT, None), ENGINE("anmon", "uci", "fr", 2539, NO_AUTO_DETECT, None), ENGINE("fridolin", "uci", "de", 2538, NO_AUTO_DETECT, None), # Allows XB ENGINE("ufim", "uci", "ru", 2538, NO_AUTO_DETECT, None), # Formerly XB ENGINE("pupsi", "uci", "se", 2536, NO_AUTO_DETECT, None), ENGINE("jikchess", "xboard2", "fi", 2525, NO_AUTO_DETECT, None), ENGINE("pepito", "xboard", "es", 2520, NO_AUTO_DETECT, None), ENGINE("orion", "uci", "fr", 2513, NO_AUTO_DETECT, None), ENGINE("danchess", "xboard", "et", 2507, NO_AUTO_DETECT, None), ENGINE("greenlight", "xboard", "gb", 2506, NO_AUTO_DETECT, None), ENGINE("goliath", "uci", "de", 2504, NO_AUTO_DETECT, None), ENGINE("yace", "uci", "de", 2503, NO_AUTO_DETECT, None), # Allows XB ENGINE("trace", "xboard", "au", 2502, NO_AUTO_DETECT, None), ENGINE("cyberpagno", "xboard", "it", 2493, NO_AUTO_DETECT, None), ENGINE("bagatur", "uci", "bg", 2491, NO_AUTO_DETECT, None), ENGINE("bruja", "xboard", "us", 2488, NO_AUTO_DETECT, None), ENGINE("magnum", "uci", "ca", 2487, NO_AUTO_DETECT, None), ENGINE("asymptote", "uci", "de", 2486, NO_AUTO_DETECT, None), # tao (name too short) ENGINE("drosophila", "xboard", "se", 2483, NO_AUTO_DETECT, None), ENGINE("delphil", "uci", "fr", 2481, NO_AUTO_DETECT, None), ENGINE("gothmog", "uci", "no", 2479, NO_AUTO_DETECT, None), # Allows XB ENGINE("jumbo", "xboard", "de", 2479, NO_AUTO_DETECT, None), ENGINE("mephisto", "uci", "gb", 2476, NO_AUTO_DETECT, None), ENGINE("bbchess", "uci", "si", 2475, NO_AUTO_DETECT, None), ENGINE("nemeton", "xboard", "nl", 2473, NO_AUTO_DETECT, None), ENGINE("topple", "uci", "unknown", 2473, NO_AUTO_DETECT, None), ENGINE("cerebro", "xboard", "it", 2472, NO_AUTO_DETECT, None), ENGINE("myrddin", "xboard", "us", 2467, NO_AUTO_DETECT, None), ENGINE("kiwi", "xboard", "it", 2466, NO_AUTO_DETECT, None), ENGINE("xpdnt", "xboard", "us", 2465, NO_AUTO_DETECT, None), ENGINE("dimitri", "uci", "it", 2460, NO_AUTO_DETECT, None), # May allow XB ENGINE("anatoli", "xboard", "nl", 2457, NO_AUTO_DETECT, None), ENGINE("pikoszachy", "xboard", "pl", 2456, NO_AUTO_DETECT, None), ENGINE("littlethought", "uci", "au", 2453, NO_AUTO_DETECT, None), ENGINE("bumblebee", "uci", "us", 2451, NO_AUTO_DETECT, None), ENGINE("matacz", "xboard", "pl", 2447, NO_AUTO_DETECT, None), ENGINE("lozza", "uci", "gb", 2442, NO_AUTO_DETECT, None), ENGINE("soldat", "xboard", "it", 2440, NO_AUTO_DETECT, None), ENGINE("spider", "xboard", "nl", 2439, NO_AUTO_DETECT, None), ENGINE("ares", "uci", "us", 2438, NO_AUTO_DETECT, None), ENGINE("madchess", "uci", "us", 2436, NO_AUTO_DETECT, None), ENGINE("abrok", "uci", "de", 2434, NO_AUTO_DETECT, None), # Allows XB ENGINE("kingofkings", "uci", "ca", 2433, NO_AUTO_DETECT, None), ENGINE("lambchop", "uci", "nz", 2433, NO_AUTO_DETECT, None), # Formerly XB ENGINE("shallow", "uci", "unknown", 2429, NO_AUTO_DETECT, None), # Allows XB ENGINE("gromit", "uci", "de", 2428, NO_AUTO_DETECT, None), ENGINE("eeyore", "uci", "ru", 2427, NO_AUTO_DETECT, None), # Allows XB ENGINE("nejmet", "uci", "fr", 2425, NO_AUTO_DETECT, None), # Allows XB ENGINE("gaia", "uci", "fr", 2424, NO_AUTO_DETECT, None), ENGINE("quark", "xboard", "de", 2423, NO_AUTO_DETECT, None), ENGINE("caligula", "uci", "es", 2419, NO_AUTO_DETECT, None), ENGINE("dragon", "xboard", "fr", 2419, NO_AUTO_DETECT, None), ENGINE("hussar", "uci", "hu", 2419, NO_AUTO_DETECT, None), ENGINE("snitch", "xboard", "de", 2419, NO_AUTO_DETECT, None), ENGINE("flux", "uci", "ch", 2418, NO_AUTO_DETECT, None), ENGINE("romichess", "xboard", "us", 2418, NO_AUTO_DETECT, None), ENGINE("olithink", "xboard", "de", 2416, NO_AUTO_DETECT, None), ENGINE("typhoon", "xboard", "us", 2413, NO_AUTO_DETECT, None), ENGINE("simplex", "uci", "es", 2411, NO_AUTO_DETECT, None), ENGINE("giraffe", "xboard", "gb", 2410, NO_AUTO_DETECT, None), ENGINE("zevra", "uci", "ru", 2408, NO_AUTO_DETECT, None), ENGINE("teki", "uci", "in", 2402, NO_AUTO_DETECT, None), ENGINE("ifrit", "uci", "ru", 2401, NO_AUTO_DETECT, None), ENGINE("tjchess", "uci", "us", 2396, NO_AUTO_DETECT, None), # Allows XB ENGINE("knightdreamer", "xboard", "se", 2394, NO_AUTO_DETECT, None), ENGINE("bearded", "xboard", "pl", 2391, NO_AUTO_DETECT, None), ENGINE("frank-walter", "xboard", "nl", 2391, NO_AUTO_DETECT, None), ENGINE("postmodernist", "xboard", "gb", 2391, NO_AUTO_DETECT, None), ENGINE("comet", "xboard", "de", 2388, NO_AUTO_DETECT, None), ENGINE("galjoen", "uci", "be", 2387, NO_AUTO_DETECT, None), # Allows XB ENGINE("capture", "xboard", "fr", 2386, NO_AUTO_DETECT, None), ENGINE("leila", "xboard", "it", 2386, NO_AUTO_DETECT, None), # amy (name too short) ENGINE("diablo", "uci", "us", 2384, NO_AUTO_DETECT, None), ENGINE("gosu", "xboard", "pl", 2381, NO_AUTO_DETECT, None), ENGINE("cmcchess", "uci", "zh", 2376, NO_AUTO_DETECT, None), ENGINE("invictus", "uci", "ph", 2376, NO_AUTO_DETECT, None), ENGINE("patzer", "xboard", "de", 2375, NO_AUTO_DETECT, None), ENGINE("jazz", "xboard", "nl", 2374, NO_AUTO_DETECT, None), ENGINE("bringer", "xboard", "de", 2373, NO_AUTO_DETECT, None), ENGINE("terra", "uci", "se", 2367, NO_AUTO_DETECT, None), ENGINE("crazybishop", "xboard", "fr", 2364, NO_AUTO_DETECT, None), # Named as tcb ENGINE("betsy", "xboard", "us", 2356, NO_AUTO_DETECT, None), ENGINE("homer", "uci", "de", 2356, NO_AUTO_DETECT, None), ENGINE("amateur", "xboard", "us", 2352, NO_AUTO_DETECT, None), ENGINE("jonesy", "xboard", "es", 2351, NO_AUTO_DETECT, None), # popochin ENGINE("alex", "uci", "us", 2346, NO_AUTO_DETECT, None), ENGINE("tigran", "uci", "es", 2345, NO_AUTO_DETECT, None), ENGINE("horizon", "xboard", "us", 2342, NO_AUTO_DETECT, None), ENGINE("popochin", "xboard", "es", 2342, NO_AUTO_DETECT, None), ENGINE("plisk", "uci", "us", 2339, NO_AUTO_DETECT, None), # Allows XB ENGINE("queen", "uci", "nl", 2338, NO_AUTO_DETECT, None), # Allows XB ENGINE("arion", "uci", "fr", 2333, NO_AUTO_DETECT, None), ENGINE("eveann", "xboard", "es", 2332, NO_AUTO_DETECT, None), ENGINE("gibbon", "uci", "fr", 2332, NO_AUTO_DETECT, None), ENGINE("amundsen", "xboard", "se", 2331, NO_AUTO_DETECT, None), ENGINE("waxman", "xboard", "us", 2331, NO_AUTO_DETECT, None), ENGINE("sorgenkind", "xboard", "dk", 2330, NO_AUTO_DETECT, None), ENGINE("thor", "xboard", "hr", 2330, NO_AUTO_DETECT, None), # isa (name too short) ENGINE("sage", "xboard", "unknown", 2326, NO_AUTO_DETECT, None), ENGINE("chezzz", "xboard", "dk", 2324, NO_AUTO_DETECT, None), ENGINE("barbarossa", "uci", "at", 2320, NO_AUTO_DETECT, None), ENGINE("mediocre", "uci", "se", 2316, NO_AUTO_DETECT, None), ENGINE("aice", "xboard", "gr", 2314, NO_AUTO_DETECT, None), ENGINE("sungorus", "uci", "es", 2312, NO_AUTO_DETECT, None), ENGINE("absolute-zero", "uci", "zh", 2311, NO_AUTO_DETECT, None), ENGINE("nebiyu", "xboard", "et", 2310, NO_AUTO_DETECT, None), # wine crash on Ubuntu 1804 with NebiyuAlien.exe ENGINE("averno", "xboard", "es", 2309, NO_AUTO_DETECT, None), ENGINE("asterisk", "uci", "hu", 2308, NO_AUTO_DETECT, None), # Allows XB ENGINE("joker", "xboard", "nl", 2306, NO_AUTO_DETECT, None), ENGINE("kingfisher", "uci", "hk", 2304, NO_AUTO_DETECT, None), ENGINE("tytan", "xboard", "pl", 2303, NO_AUTO_DETECT, None), ENGINE("knightx", "xboard2", "fr", 2297, NO_AUTO_DETECT, None), ENGINE("resp", "xboard", "de", 2296, NO_AUTO_DETECT, None), ENGINE("ayito", "uci", "es", 2287, NO_AUTO_DETECT, None), # Formerly XB ENGINE("chaturanga", "xboard", "it", 2286, NO_AUTO_DETECT, None), ENGINE("matilde", "xboard", "it", 2282, NO_AUTO_DETECT, None), ENGINE("fischerle", "uci", "de", 2281, NO_AUTO_DETECT, None), ENGINE("rival", "uci", "gb", 2273, NO_AUTO_DETECT, None), ENGINE("paladin", "uci", "in", 2272, NO_AUTO_DETECT, None), ENGINE("scidlet", "xboard", "nz", 2269, NO_AUTO_DETECT, None), # esc (name too short) ENGINE("butcher", "xboard", "pl", 2265, NO_AUTO_DETECT, None), ENGINE("kmtchess", "xboard", "es", 2262, NO_AUTO_DETECT, None), ENGINE("natwarlal", "xboard", "in", 2262, NO_AUTO_DETECT, None), ENGINE("zeus", "xboard", "ru", 2261, NO_AUTO_DETECT, None), # doctor (unknown protocol) ENGINE("napoleon", "uci", "it", 2255, NO_AUTO_DETECT, None), ENGINE("firefly", "uci", "hk", 2254, NO_AUTO_DETECT, None), ENGINE("dumb", "uci", "fr", 2241, NO_AUTO_DETECT, None), ENGINE("robocide", "uci", "gb", 2241, NO_AUTO_DETECT, None), ENGINE("ct800", "uci", "de", 2240, NO_AUTO_DETECT, None), # ant (name too short) ENGINE("anechka", "uci", "ru", 2236, NO_AUTO_DETECT, None), ENGINE("gopher_check", "uci", "us", 2236, NO_AUTO_DETECT, None), ENGINE("dorpsgek", "xboard", "en", 2235, NO_AUTO_DETECT, None), ENGINE("alichess", "uci", "de", 2230, NO_AUTO_DETECT, None), ENGINE("joker2", "uci", "it", 2227, NO_AUTO_DETECT, None), ENGINE("obender", "xboard", "ru", 2224, NO_AUTO_DETECT, None), ENGINE("adam", "xboard", "fr", 2221, NO_AUTO_DETECT, None), ENGINE("ramjet", "uci", "it", 2221, NO_AUTO_DETECT, None), ENGINE("exacto", "xboard", "us", 2217, NO_AUTO_DETECT, None), ENGINE("buzz", "xboard", "us", 2215, NO_AUTO_DETECT, None), # uralochka (blacklisted) ENGINE("weini", "xboard", "fr", 2207, NO_AUTO_DETECT, None), # Allows UCI ENGINE("chispa", "uci", "ar", 2206, NO_AUTO_DETECT, None), # Allows XB ENGINE("chessalex", "uci", "ru", 2205, NO_AUTO_DETECT, None), ENGINE("beowulf", "xboard", "gb", 2203, NO_AUTO_DETECT, None), ENGINE("rattate", "xboard", "it", 2199, NO_AUTO_DETECT, None), ENGINE("latista", "xboard", "us", 2196, NO_AUTO_DETECT, None), ENGINE("sinobyl", "xboard", "us", 2196, NO_AUTO_DETECT, None), ENGINE("ng-play", "xboard", "gr", 2195, NO_AUTO_DETECT, None), ENGINE("feuerstein", "uci", "de", 2192, NO_AUTO_DETECT, None), ENGINE("sjaakii", "xboard", "nl", 2187, NO_AUTO_DETECT, None), ENGINE("neurosis", "xboard", "nl", 2185, NO_AUTO_DETECT, None), ENGINE("atak", "xboard", "pl", 2184, NO_AUTO_DETECT, None), ENGINE("madeleine", "uci", "it", 2183, NO_AUTO_DETECT, None), # Allows XB ENGINE("mango", "xboard", "ve", 2182, NO_AUTO_DETECT, None), ENGINE("protej", "uci", "it", 2176, NO_AUTO_DETECT, None), ENGINE("baislicka", "uci", "unknown", 2171, NO_AUTO_DETECT, None), ENGINE("genesis", "xboard", "il", 2171, NO_AUTO_DETECT, None), ENGINE("blackbishop", "uci", "de", 2163, NO_AUTO_DETECT, None), # Allows XB ENGINE("inmichess", "xboard", "at", 2161, NO_AUTO_DETECT, None), ENGINE("kurt", "xboard", "de", 2160, NO_AUTO_DETECT, None), ENGINE("blitzkrieg", "uci", "in", 2157, NO_AUTO_DETECT, None), ENGINE("nagaskaki", "xboard", "za", 2153, NO_AUTO_DETECT, None), ENGINE("tunguska", "uci", "br", 2149, NO_AUTO_DETECT, None), ENGINE("alarm", "xboard", "se", 2145, NO_AUTO_DETECT, None), ENGINE("chesley", "xboard", "us", 2145, NO_AUTO_DETECT, None), ENGINE("lime", "uci", "gb", 2143, NO_AUTO_DETECT, None), # Allows XB ENGINE("hedgehog", "uci", "ru", 2142, NO_AUTO_DETECT, None), ENGINE("sunsetter", "xboard", "de", 2140, NO_AUTO_DETECT, None), ENGINE("tinychess", "uci", "unknown", 2138, NO_AUTO_DETECT, None), ENGINE("fortress", "xboard", "it", 2135, NO_AUTO_DETECT, None), ENGINE("chesskiss", "xboard", "unknown", 2133, NO_AUTO_DETECT, None), ENGINE("nesik", "xboard", "pl", 2132, NO_AUTO_DETECT, None), # merlin (no information) ENGINE("wjchess", "uci", "fr", 2130, NO_AUTO_DETECT, None), ENGINE("prophet", "xboard", "us", 2124, NO_AUTO_DETECT, None), ENGINE("uragano", "xboard", "it", 2123, NO_AUTO_DETECT, None), ENGINE("clever-girl", "uci", "us", 2117, NO_AUTO_DETECT, None), ENGINE("embla", "uci", "nl", 2115, NO_AUTO_DETECT, None), # alf (name too short) # gk (name too short) ENGINE("knockout", "xboard", "de", 2107, NO_AUTO_DETECT, None), ENGINE("bikjump", "uci", "nl", 2104, NO_AUTO_DETECT, None), ENGINE("clarabit", "uci", "es", 2100, NO_AUTO_DETECT, None), # Allows XB ENGINE("wing", "xboard", "nl", 2100, NO_AUTO_DETECT, None), ENGINE("adroitchess", "uci", "gb", 2084, NO_AUTO_DETECT, None), ENGINE("parrot", "xboard", "us", 2078, NO_AUTO_DETECT, None), ENGINE("abbess", "xboard", "us", 2067, NO_AUTO_DETECT, None), ENGINE("alcibiades", "uci", "bg", 2065, NO_AUTO_DETECT, None), ENGINE("gunborg", "uci", "unknown", 2065, NO_AUTO_DETECT, None), ENGINE("crabby", "uci", "us", 2062, NO_AUTO_DETECT, None), ENGINE("little-wing", "uci", "fr", 2061, NO_AUTO_DETECT, None), # Allows XB ENGINE("potato", "xboard", "at", 2059, NO_AUTO_DETECT, None), ENGINE("matheus", "uci", "br", 2058, NO_AUTO_DETECT, None), # Allows XB ENGINE("monarch", "uci", "gb", 2058, NO_AUTO_DETECT, None), ENGINE("chessmind", "uci", "de", 2056, NO_AUTO_DETECT, None), ENGINE("dolphin", "xboard", "vn", 2054, NO_AUTO_DETECT, None), ENGINE("kingsout", "xboard", "de", 2053, NO_AUTO_DETECT, None), ENGINE("bodo", "uci", "au", 2049, NO_AUTO_DETECT, None), ENGINE("smash", "uci", "it", 2045, NO_AUTO_DETECT, None), ENGINE("rdchess", "xboard", "at", 2043, NO_AUTO_DETECT, None), ENGINE("vice", "uci", "unknown", 2043, NO_AUTO_DETECT, None), # Both UCI/XBoard ENGINE("gerbil", "xboard", "us", 2042, NO_AUTO_DETECT, None), # ax (name too short) ENGINE("jabba", "uci", "gb", 2034, NO_AUTO_DETECT, None), ENGINE("detroid", "uci", "at", 2033, NO_AUTO_DETECT, None), # plp (name too short) ENGINE("prochess", "uci", "it", 2027, NO_AUTO_DETECT, None), ENGINE("plywood", "xboard", "unknown", 2026, NO_AUTO_DETECT, None), ENGINE("cinnamon", "uci", "it", 2025, NO_AUTO_DETECT, None), ENGINE("bestia", "xboard", "ua", 2022, NO_AUTO_DETECT, None), # zct (name too short) ENGINE("zetadva", "xboard", "de", 2022, NO_AUTO_DETECT, None), ENGINE("oberon", "xboard", "pl", 2014, NO_AUTO_DETECT, None), ENGINE("delphimax", "uci", "de", 2012, NO_AUTO_DETECT, None), ENGINE("cupcake", "xboard", "us", 2011, NO_AUTO_DETECT, None), ENGINE("ecce", "uci", "ru", 2011, NO_AUTO_DETECT, None), ENGINE("bismark", "uci", "il", 2010, NO_AUTO_DETECT, None), ENGINE("freyr", "xboard", "ro", 2006, NO_AUTO_DETECT, None), ENGINE("leonidas", "xboard", "nl", 2003, NO_AUTO_DETECT, None), ENGINE("requiem", "xboard", "fi", 2003, NO_AUTO_DETECT, None), ENGINE("snowy", "uci", "us", 1999, NO_AUTO_DETECT, None), ENGINE("squared-chess", "uci", "de", 1996, NO_AUTO_DETECT, None), ENGINE("ceibo", "uci", "ar", 1995, NO_AUTO_DETECT, None), ENGINE("wowl", "uci", "de", 1995, NO_AUTO_DETECT, None), ENGINE("chess4j", "xboard", "us", 1991, NO_AUTO_DETECT, None), ENGINE("elephant", "xboard", "de", 1990, NO_AUTO_DETECT, None), ENGINE("gullydeckel", "xboard", "de", 1990, NO_AUTO_DETECT, None), ENGINE("biglion", "uci", "cm", 1987, NO_AUTO_DETECT, None), ENGINE("arabian-knight", "xboard", "pl", 1986, NO_AUTO_DETECT, None), ENGINE("armageddon", "xboard", "pl", 1985, NO_AUTO_DETECT, None), ENGINE("bubble", "uci", "br", 1982, NO_AUTO_DETECT, None), ENGINE("faile", "xboard1", "ca", 1976, NO_AUTO_DETECT, None), ENGINE("slibo", "xboard", "de", 1974, NO_AUTO_DETECT, None), ENGINE("ladameblanche", "xboard", "fr", 1970, NO_AUTO_DETECT, None), ENGINE("matant", "xboard", "pl", 1969, NO_AUTO_DETECT, None), ENGINE("monik", "xboard", "unknown", 1965, NO_AUTO_DETECT, None), ENGINE("ssechess", "xboard", "us", 1965, NO_AUTO_DETECT, None), ENGINE("cilian", "xboard", "ch", 1964, NO_AUTO_DETECT, None), # eia (name too short) # bsc (name too short) ENGINE("etude", "uci", "us", 1957, NO_AUTO_DETECT, None), ENGINE("sissa", "uci", "fr", 1955, NO_AUTO_DETECT, None), ENGINE("mustang", "xboard", "by", 1954, NO_AUTO_DETECT, None), ENGINE("alchess", "uci", "ru", 1953, NO_AUTO_DETECT, None), ENGINE("micro-max", "xboard", "nl", 1950, NO_AUTO_DETECT, None), ENGINE("janwillem", "xboard", "nl", 1948, NO_AUTO_DETECT, None), ENGINE("pleco", "uci", "us", 1944, NO_AUTO_DETECT, None), ENGINE("sharper", "xboard", "se", 1936, NO_AUTO_DETECT, None), ENGINE("bibichess", "uci", "fr", 1926, NO_AUTO_DETECT, None), ENGINE("smirf", "xboard", "de", 1920, NO_AUTO_DETECT, None), ENGINE("dabbaba", "xboard", "dk", 1919, NO_AUTO_DETECT, None), ENGINE("heracles", "uci", "fr", 1919, NO_AUTO_DETECT, None), ENGINE("samchess", "xboard", "us", 1918, NO_AUTO_DETECT, None), ENGINE("iach", "xboard", "unknown", 1913, NO_AUTO_DETECT, None), ENGINE("bambam", "xboard", "at", 1911, NO_AUTO_DETECT, None), ENGINE("eagle", "uci", "uci", 1911, NO_AUTO_DETECT, None), ENGINE("reger", "xboard", "nl", 1911, NO_AUTO_DETECT, None), ENGINE("claudia", "uci", "es", 1909, NO_AUTO_DETECT, None), ENGINE("clueless", "uci", "de", 1903, NO_AUTO_DETECT, None), ENGINE("warrior", "xboard", "lv", 1903, NO_AUTO_DETECT, None), ENGINE("morphy", "xboard", "us", 1898, NO_AUTO_DETECT, None), ENGINE("snailchess", "xboard", "sg", 1895, NO_AUTO_DETECT, None), ENGINE("tyrell", "uci", "us", 1894, NO_AUTO_DETECT, None), ENGINE("matmoi", "xboard", "ca", 1890, NO_AUTO_DETECT, None), ENGINE("mrchess", "xboard", "sg", 1890, NO_AUTO_DETECT, None), # freechess (blacklisted) ENGINE("purplehaze", "xboard", "fr", 1881, NO_AUTO_DETECT, None), ENGINE("surprise", "xboard", "de", 1881, NO_AUTO_DETECT, None), ENGINE("presbyter", "uci", "unknown", 1860, NO_AUTO_DETECT, None), # Allows XB ENGINE("simontacchi", "uci", "us", 1855, NO_AUTO_DETECT, None), ENGINE("butter", "uci", "unknown", 1851, NO_AUTO_DETECT, None), ENGINE("roce", "uci", "ch", 1850, NO_AUTO_DETECT, None), ENGINE("deepov", "uci", "fr", 1838, NO_AUTO_DETECT, None), ENGINE("ranita", "uci", "fr", 1838, NO_AUTO_DETECT, None), ENGINE("sayuri", "uci", "jp", 1829, NO_AUTO_DETECT, None), ENGINE("heavychess", "uci", "ar", 1828, NO_AUTO_DETECT, None), ENGINE("milady", "xboard", "fr", 1828, NO_AUTO_DETECT, None), ENGINE("skiull", "uci", "ve", 1825, NO_AUTO_DETECT, None), ENGINE("ajedreztactico", "xboard", "mx", 1822, NO_AUTO_DETECT, None), ENGINE("celes", "uci", "nl", 1820, NO_AUTO_DETECT, None), ENGINE("jars", "xboard", "fr", 1818, NO_AUTO_DETECT, None), ENGINE("rataaeroespacial", "xboard", "ar", 1818, NO_AUTO_DETECT, None), ENGINE("ziggurat", "uci", "us", 1811, NO_AUTO_DETECT, None), ENGINE("noonian", "uci", "us", 1808, NO_AUTO_DETECT, None), ENGINE("predateur", "uci", "fr", 1807, NO_AUTO_DETECT, None), ENGINE("chenard", "xboard", "us", 1804, NO_AUTO_DETECT, None), ENGINE("morphychess", "xboard", "us", 1801, NO_AUTO_DETECT, None), ENGINE("beaches", "xboard", "us", 1800, NO_AUTO_DETECT, None), ENGINE("hoichess", "xboard", "de", 1794, NO_AUTO_DETECT, None), ENGINE("macromix", "uci", "ua", 1792, NO_AUTO_DETECT, None), ENGINE("pigeon", "uci", "ca", 1792, NO_AUTO_DETECT, None), ENGINE("mobmat", "uci", "us", 1790, NO_AUTO_DETECT, None), ENGINE("enigma", "xboard", "pl", 1786, NO_AUTO_DETECT, None), ENGINE("bremboce", "xboard", "it", 1785, NO_AUTO_DETECT, None), ENGINE("adachess", "xboard", "it", 1784, NO_AUTO_DETECT, None), ENGINE("cecir", "xboard", "uy", 1781, NO_AUTO_DETECT, None), ENGINE("grizzly", "xboard", "de", 1780, NO_AUTO_DETECT, None), ENGINE("embracer", "xboard", "se", 1777, NO_AUTO_DETECT, None), ENGINE("cdrill", "uci", "unknown", 1774, NO_AUTO_DETECT, None), ENGINE("fauce", "xboard", "it", 1772, NO_AUTO_DETECT, None), ENGINE("berochess", "uci", "de", 1768, NO_AUTO_DETECT, None), ENGINE("pulsar", "xboard", "us", 1762, NO_AUTO_DETECT, None), ENGINE("mint", "xboard", "se", 1760, NO_AUTO_DETECT, None), ENGINE("robin", "xboard", "pl", 1756, NO_AUTO_DETECT, None), ENGINE("lodocase", "xboard", "be", 1753, NO_AUTO_DETECT, None), ENGINE("laurifer", "xboard", "pl", 1741, NO_AUTO_DETECT, None), ENGINE("rocinante", "uci", "es", 1736, NO_AUTO_DETECT, None), ENGINE("ziggy", "uci", "is", 1732, NO_AUTO_DETECT, None), # elf (name too short) ENGINE("vicki", "xboard", "za", 1728, NO_AUTO_DETECT, None), ENGINE("kanguruh", "xboard", "at", 1726, NO_AUTO_DETECT, None), ENGINE("adamant", "xboard", "ru", 1724, NO_AUTO_DETECT, None), ENGINE("gchess", "xboard", "it", 1722, NO_AUTO_DETECT, None), ENGINE("zzzzzz", "xboard", "nl", 1721, NO_AUTO_DETECT, None), ENGINE("kitteneitor", "xboard", "es", 1717, NO_AUTO_DETECT, None), ENGINE("zoidberg", "xboard", "es", 1716, NO_AUTO_DETECT, None), ENGINE("jaksah", "uci", "rs", 1713, NO_AUTO_DETECT, None), # Allows XB ENGINE("tscp", "xboard", "us", 1713, NO_AUTO_DETECT, None), # see (name too short) ENGINE("enkochess", "uci", "unknown", 1709, NO_AUTO_DETECT, None), ENGINE("aldebaran", "xboard", "it", 1705, NO_AUTO_DETECT, None), ENGINE("tristram", "xboard", "us", 1703, NO_AUTO_DETECT, None), ENGINE("testina", "uci", "it", 1690, NO_AUTO_DETECT, None), ENGINE("jester", "xboard", "us", 1687, NO_AUTO_DETECT, None), # chess (name too generic) ENGINE("sharpchess", "xboard", "unknown", 1685, NO_AUTO_DETECT, None), ENGINE("gargamella", "xboard", "it", 1673, NO_AUTO_DETECT, None), ENGINE("chengine", "xboard", "jp", 1672, NO_AUTO_DETECT, None), ENGINE("mizar", "xboard", "it", 1671, NO_AUTO_DETECT, None), ENGINE("bace", "xboard", "us", 1669, NO_AUTO_DETECT, None), ENGINE("polarchess", "xboard", "no", 1667, NO_AUTO_DETECT, None), ENGINE("tom-thumb", "uci", "nl", 1664, NO_AUTO_DETECT, None), ENGINE("golem", "xboard", "it", 1663, NO_AUTO_DETECT, None), ENGINE("belzebub", "xboard", "pl", 1648, NO_AUTO_DETECT, None), ENGINE("pooky", "uci", "us", 1647, NO_AUTO_DETECT, None), ENGINE("dchess", "xboard", "us", 1641, NO_AUTO_DETECT, None), ENGINE("simon", "xboard", "us", 1636, NO_AUTO_DETECT, None), ENGINE("spartan", "uci", "unknown", 1634, NO_AUTO_DETECT, None), ENGINE("iq23", "uci", "de", 1631, NO_AUTO_DETECT, None), ENGINE("vapor", "uci", "us", 1630, NO_AUTO_DETECT, None), ENGINE("chessrikus", "xboard", "us", 1624, NO_AUTO_DETECT, None), ENGINE("mscp", "xboard", "nl", 1623, NO_AUTO_DETECT, None), ENGINE("jsbam", "xboard", "nl", 1621, NO_AUTO_DETECT, None), ENGINE("storm", "xboard", "us", 1616, NO_AUTO_DETECT, None), ENGINE("monochrome", "uci", "unknown", 1614, NO_AUTO_DETECT, None), ENGINE("revati", "uci", "de", 1608, NO_AUTO_DETECT, None), ENGINE("kasparov", "uci", "ca", 1607, NO_AUTO_DETECT, None), ENGINE("philemon", "uci", "ch", 1606, NO_AUTO_DETECT, None), ENGINE("rainman", "xboard", "se", 1600, NO_AUTO_DETECT, None), ENGINE("saruman", "uci", "unknown", 1599, NO_AUTO_DETECT, None), ENGINE("darky", "uci", "mx", 1592, NO_AUTO_DETECT, None), ENGINE("marginal", "uci", "ru", 1592, NO_AUTO_DETECT, None), ENGINE("bullitchess", "uci", "unknown", 1591, NO_AUTO_DETECT, None), ENGINE("pulse", "uci", "ch", 1585, NO_AUTO_DETECT, None), ENGINE("casper", "uci", "gb", 1578, NO_AUTO_DETECT, None), ENGINE("zotron", "xboard", "us", 1577, NO_AUTO_DETECT, None), ENGINE("violet", "uci", "unknown", 1575, NO_AUTO_DETECT, None), ENGINE("damas", "xboard", "br", 1567, NO_AUTO_DETECT, None), ENGINE("needle", "xboard", "fi", 1567, NO_AUTO_DETECT, None), ENGINE("sdbc", "xboard", "de", 1567, NO_AUTO_DETECT, None), ENGINE("vanilla", "xboard", "au", 1567, NO_AUTO_DETECT, None), ENGINE("cicada", "uci", "us", 1565, NO_AUTO_DETECT, None), ENGINE("shallowblue", "uci", "ca", 1553, NO_AUTO_DETECT, None), ENGINE("hokus", "xboard", "pl", 1543, NO_AUTO_DETECT, None), ENGINE("mace", "uci", "de", 1535, NO_AUTO_DETECT, None), ENGINE("larsen", "xboard", "it", 1532, NO_AUTO_DETECT, None), ENGINE("trappist", "uci", "unknown", 1523, NO_AUTO_DETECT, None), ENGINE("yawce", "xboard", "dk", 1506, NO_AUTO_DETECT, None), ENGINE("supra", "uci", "pt", 1498, NO_AUTO_DETECT, None), ENGINE("alibaba", "uci", "nl", 1490, NO_AUTO_DETECT, None), ENGINE("piranha", "uci", "de", 1488, NO_AUTO_DETECT, None), ENGINE("apep", "xboard", "us", 1487, NO_AUTO_DETECT, None), ENGINE("koedem", "uci", "de", 1481, NO_AUTO_DETECT, None), ENGINE("tarrasch", "uci", "us", 1481, NO_AUTO_DETECT, None), ENGINE("andersen", "xboard", "se", 1477, NO_AUTO_DETECT, None), ENGINE("gedeone", "xboard", "unknown", 1475, NO_AUTO_DETECT, None), ENGINE("pwned", "uci", "us", 1473, NO_AUTO_DETECT, None), ENGINE("apil", "xboard", "de", 1471, NO_AUTO_DETECT, None), ENGINE("pentagon", "xboard", "it", 1467, NO_AUTO_DETECT, None), ENGINE("roque", "xboard", "es", 1459, NO_AUTO_DETECT, None), ENGINE("numpty", "xboard", "gb", 1458, NO_AUTO_DETECT, None), ENGINE("blikskottel", "xboard", "za", 1446, NO_AUTO_DETECT, None), ENGINE("axolotl", "uci", "de", 1439, NO_AUTO_DETECT, None), ENGINE("nero", "xboard", "de", 1436, NO_AUTO_DETECT, None), ENGINE("hactar", "uci", "de", 1435, NO_AUTO_DETECT, None), ENGINE("suff", "uci", "at", 1410, NO_AUTO_DETECT, None), ENGINE("sabrina", "xboard", "it", 1403, NO_AUTO_DETECT, None), ENGINE("quokka", "uci", "us", 1399, NO_AUTO_DETECT, None), ENGINE("tony", "xboard", "ca", 1398, NO_AUTO_DETECT, None), ENGINE("satana", "xboard", "it", 1395, NO_AUTO_DETECT, None), ENGINE("eden", "uci", "de", 1394, NO_AUTO_DETECT, None), ENGINE("goyaz", "xboard", "br", 1393, NO_AUTO_DETECT, None), ENGINE("jchess", "xboard", "pl", 1392, NO_AUTO_DETECT, None), ENGINE("minimardi", "xboard", "unknown", 1391, NO_AUTO_DETECT, None), ENGINE("nanook", "uci", "fr", 1379, NO_AUTO_DETECT, None), ENGINE("skaki", "xboard", "us", 1364, NO_AUTO_DETECT, None), ENGINE("virutor", "uci", "cz", 1359, NO_AUTO_DETECT, None), ENGINE("minichessai", "xboard", "pl", 1348, NO_AUTO_DETECT, None), ENGINE("joanna", "xboard", "pl", 1334, NO_AUTO_DETECT, None), ENGINE("apollo", "uci", "us", 1333, NO_AUTO_DETECT, None), ENGINE("ozwald", "xboard", "fi", 1330, NO_AUTO_DETECT, None), ENGINE("gladiator", "xboard", "es", 1322, NO_AUTO_DETECT, None), ENGINE("fimbulwinter", "xboard", "us", 1307, NO_AUTO_DETECT, None), ENGINE("cerulean", "xboard", "ca", 1285, NO_AUTO_DETECT, None), ENGINE("killerqueen", "uci", "it", 1282, NO_AUTO_DETECT, None), ENGINE("trex", "uci", "fr", 1279, NO_AUTO_DETECT, None), # chess (name too generic) ENGINE("qutechess", "uci", "si", 1267, NO_AUTO_DETECT, None), ENGINE("tikov", "uci", "gb", 1236, NO_AUTO_DETECT, None), ENGINE("raffaela", "xboard", "it", 1225, NO_AUTO_DETECT, None), ENGINE("gringo", "xboard", "at", 1223, NO_AUTO_DETECT, None), # gringo - grounding tools for (disjunctive) logic programs ENGINE("pierre", "xboard", "ca", 1221, NO_AUTO_DETECT, None), ENGINE("dragontooth", "uci", "us", 1220, NO_AUTO_DETECT, None), ENGINE("toledo-uci", "uci", "mx", 1218, NO_AUTO_DETECT, 5), ENGINE("toledo", "xboard", "mx", 1218, NO_AUTO_DETECT, None), ENGINE("neurone", "xboard", "it", 1206, NO_AUTO_DETECT, None), ENGINE("gray-matter", "xboard", "unknown", 1198, NO_AUTO_DETECT, None), ENGINE("darkfusch", "uci", "de", 1177, NO_AUTO_DETECT, None), ENGINE("project-invincible", "xboard", "fi", 1173, NO_AUTO_DETECT, None), ENGINE("cassandre", "uci", "fr", 1149, NO_AUTO_DETECT, None), # Allows XB ENGINE("jchecs", "xboard", "fr", 1134, NO_AUTO_DETECT, None), ENGINE("brama", "xboard", "it", 1131, NO_AUTO_DETECT, None), ENGINE("soberango", "xboard", "ar", 1126, NO_AUTO_DETECT, None), ENGINE("usurpator", "xboard", "nl", 1123, NO_AUTO_DETECT, None), ENGINE("ronja", "xboard", "se", 1083, NO_AUTO_DETECT, None), ENGINE("blitzter", "xboard", "de", 1071, NO_AUTO_DETECT, None), ENGINE("strategicdeep", "xboard", "pl", 1066, NO_AUTO_DETECT, None), ENGINE("frank", "xboard", "it", 1063, NO_AUTO_DETECT, None), ENGINE("talvmenni", "xboard", "fo", 1050, NO_AUTO_DETECT, None), ENGINE("minnow", "uci", "unknown", 1038, NO_AUTO_DETECT, None), ENGINE("safrad", "uci", "cz", 1017, NO_AUTO_DETECT, None), ENGINE("xadreco", "xboard", "br", 1016, NO_AUTO_DETECT, None), ENGINE("iota", "uci", "gb", 1003, NO_AUTO_DETECT, None), ENGINE("giuchess", "xboard", "it", 997, NO_AUTO_DETECT, None), ENGINE("kace", "xboard", "us", 973, NO_AUTO_DETECT, None), ENGINE("feeks", "uci", "nl", 967, NO_AUTO_DETECT, None), ENGINE("youk", "xboard", "fr", 967, NO_AUTO_DETECT, None), # zoe (name too short) ENGINE("nsvchess", "uci", "fr", 942, NO_AUTO_DETECT, None), ENGINE("chad", "uci", "xb", 936, NO_AUTO_DETECT, None), ENGINE("luzhin", "xboard", "unknown", 912, NO_AUTO_DETECT, None), ENGINE("dreamer", "xboard", "nl", 906, NO_AUTO_DETECT, None), ENGINE("dika", "xboard", "fr", 893, NO_AUTO_DETECT, None), ENGINE("hippocampe", "xboard", "fr", 855, NO_AUTO_DETECT, None), ENGINE("pyotr", "xboard", "gr", 830, NO_AUTO_DETECT, None), ENGINE("chessputer", "uci", "unknown", 792, NO_AUTO_DETECT, None), ENGINE("belofte", "uci", "be", 731, NO_AUTO_DETECT, None), # Allows XB # easypeasy (no information) # neg (name too short) ENGINE("acqua", "uci", "it", 569, NO_AUTO_DETECT, None), # ram (name too short) ENGINE("cpp1", "xboard", "nl", 483, NO_AUTO_DETECT, None), ENGINE("lamosca", "xboard", "it", 435, NO_AUTO_DETECT, None), # ace (name too short) # pos (name too short) # -- Other (parent engine, derivative work, unlisted, variant engine...) ENGINE("s_pro", "uci", "it", 3540, NO_AUTO_DETECT, None), ENGINE("asmfish", "uci", "bg", 3531, NO_AUTO_DETECT, None), ENGINE("glaurung", "uci", "no", 2915, AUTO_DETECT, None), ENGINE("amundsen", "xboard", "se", 0, NO_AUTO_DETECT, None), ENGINE("anticrux", "uci", "fr", 0, NO_AUTO_DETECT, 10), ENGINE("fairymax", "xboard", "nl", 0, AUTO_DETECT, None), ENGINE("fruit", "uci", "fr", 2783, AUTO_DETECT, None), ENGINE("sunfish", "xboard", "dk", 0, NO_AUTO_DETECT, None), ENGINE("democracy", "uci", "fr", 0, NO_AUTO_DETECT, None), ENGINE("worse-chess", "uci", "fr", 0, NO_AUTO_DETECT, None) ] # Bubble sort by descending length of the name for i in range(len(ENGINES_LIST) - 1, 1, - 1): for j in range(0, i - 1): if len(ENGINES_LIST[i].name) > len(ENGINES_LIST[j].name): tmp = ENGINES_LIST[i] ENGINES_LIST[i] = ENGINES_LIST[j] ENGINES_LIST[j] = tmp # Mass detection of the engines (no recursion if maxDepth=0) def listEnginesFromPath(defaultPath, maxDepth=3, withSymLink=False): # Base folders if defaultPath is None or defaultPath == "": base = os.getenv("PATH") maxDepth = 1 else: base = defaultPath base = [os.path.join(p, "") for p in base.split(";")] # List the executable files found_engines = [] depth_current = 1 depth_next = len(base) for depth_loop, dir in enumerate(base): files = os.listdir(dir) for file in files: file_ci = file.lower() fullname = os.path.join(dir, file) # Recurse the folders by appending to the scanned list if os.path.isdir(fullname): if not withSymLink and os.path.islink(fullname): continue if maxDepth > 0: if depth_loop == depth_next: depth_current += 1 depth_next = len(base) if depth_current <= maxDepth: base.append(os.path.join(dir, file, "")) continue # Blacklisted keywords blacklisted = False for kw in ["install", "setup", "reset", "remove", "delete", "purge", "config", "register", "editor", "book"]: if kw in file_ci: blacklisted = True if blacklisted: continue # Check if the file is a supported scripting language, or an executable file executable = False for vm in VM_LIST: if file_ci.endswith(vm.ext): executable = True break if not executable: if sys.platform == "win32": executable = file_ci.endswith(".exe") else: executable = os.access(fullname, os.X_OK) if not executable: continue # Check the filename against the known list of engines found = False for engine in ENGINES_LIST: if engine.name in file_ci: found = True break if not found: continue # Check the bitness because x64 does not run on x32 if BITNESS == "32" and "64" in file_ci: continue # Check the support for POPCNT if not POPCOUNT and "popcnt" in file_ci: continue # Check the support for BMI2 if not BMI2 and "bmi2" in file_ci: continue # Great, this is an engine ! found_engines.append(fullname) # Return the found engines as an array of full file names return found_engines pychess-1.0.0/lib/pychess/perspectives/0000755000175000017500000000000013467766037017221 5ustar varunvarunpychess-1.0.0/lib/pychess/perspectives/welcome/0000755000175000017500000000000013467766037020654 5ustar varunvarunpychess-1.0.0/lib/pychess/perspectives/welcome/__init__.py0000644000175000017500000000041513353143212022737 0ustar varunvarunfrom pychess.widgets.TaskerManager import tasker from pychess.perspectives import Perspective class Welcome(Perspective): def __init__(self): Perspective.__init__(self, "welcome", _("Welcome")) self.default = True self.widget.add(tasker) pychess-1.0.0/lib/pychess/perspectives/__init__.py0000755000175000017500000002530213415426371021322 0ustar varunvarunimport os import sys import importlib import traceback import zipfile import zipimport from io import StringIO from gi.repository import Gtk from pychess import MSYS2 from pychess.System.Log import log from pychess.widgets import createImage, dock_panel_tab, mainwindow, gtk_close from pychess.widgets.pydock import SOUTH def panel_name(module_name): return module_name.split(".")[-1] class Perspective: def __init__(self, name, label): self.name = name self.label = label self.default = False self.widget = Gtk.Alignment() self.widget.show() self.toolbuttons = [] self.menuitems = [] self.docks = {} self.main_notebook = None if getattr(sys, 'frozen', False) and not MSYS2: zip_path = os.path.join(os.path.dirname(sys.executable), "library.zip") importer = zipimport.zipimporter(zip_path + "/pychess/perspectives/%s" % name) postfix = "Panel.pyc" with zipfile.ZipFile(zip_path, 'r') as myzip: names = [f[:-4].split("/")[-1] for f in myzip.namelist() if f.endswith(postfix) and "/%s/" % name in f] self.sidePanels = [importer.load_module(name) for name in names] else: path = "%s/%s" % (os.path.dirname(__file__), name) ext = ".pyc" if getattr(sys, 'frozen', False) and MSYS2 else ".py" postfix = "Panel%s" % ext files = [f[:-len(ext)] for f in os.listdir(path) if f.endswith(postfix)] self.sidePanels = [importlib.import_module("pychess.perspectives.%s.%s" % (name, f)) for f in files] for panel in self.sidePanels: close_button = Gtk.Button() close_button.set_property("can-focus", False) close_button.add(createImage(gtk_close)) close_button.set_relief(Gtk.ReliefStyle.NONE) close_button.set_size_request(20, 18) close_button.connect("clicked", self.on_clicked, panel) menu_item = Gtk.CheckMenuItem(label=panel.__title__) menu_item.name = panel_name(panel.__name__) # if menu_item.name != "LecturesPanel": # menu_item.set_active(True) menu_item.connect("toggled", self.on_toggled, panel) self.menuitems.append(menu_item) panel.menu_item = menu_item box = dock_panel_tab(panel.__title__, panel.__desc__, panel.__icon__, close_button) self.docks[panel_name(panel.__name__)] = [box, None, menu_item] def on_clicked(self, button, panel): """ Toggle show/hide side panel menu item in View menu """ panel.menu_item.set_active(not panel.menu_item.get_active()) def on_toggled(self, menu_item, panel): """ Show/Hide side panel """ try: leaf = self.notebooks[panel_name(panel.__name__)].get_parent().get_parent() except AttributeError: # new sidepanel appeared (not in saved layout .xml file) name = panel_name(panel.__name__) leaf = self.main_notebook.get_parent().get_parent() leaf.dock(self.docks[name][1], SOUTH, self.docks[name][0], name) parent = leaf.get_parent() names = [p[2] for p in leaf.panels] active = menu_item.get_active() name = panel_name(panel.__name__) shown = sum([1 for panel in self.sidePanels if panel_name(panel.__name__) in names and self.notebooks[panel_name(panel.__name__)].is_visible()]) if active: self.notebooks[name].show() leaf.setCurrentPanel(name) if shown == 0 and hasattr(leaf, "position"): # If this is the first one, adjust Gtk.Paned divider handle if leaf.position != 0: parent.set_position(leaf.position) else: parent.set_position(parent.props.max_position / 2) else: self.notebooks[name].hide() if shown == 1: # If this is the last one, adjust Gtk.Paned divider handle pos = parent.get_position() leaf.position = pos if pos != parent.props.min_position and pos != parent.props.max_position else 0 if leaf == parent.get_child1(): parent.set_position(parent.props.min_position) else: parent.set_position(parent.props.max_position) def activate_panel(self, name): for panel in self.sidePanels: if panel_name(panel.__name__).startswith(name): if panel.menu_item.get_active(): # if menu item is already active set_active() doesn't triggers on_toggled() self.on_toggled(panel.menu_item, panel) else: panel.menu_item.set_active(True) break def load_from_xml(self): if os.path.isfile(self.dockLocation): try: self.dock.loadFromXML(self.dockLocation, self.docks) except Exception as e: # We don't send error message when error caused by no more existing SwitcherPanel if e.args[0] != "SwitcherPanel" and "unittest" not in sys.modules.keys(): stringio = StringIO() traceback.print_exc(file=stringio) error = stringio.getvalue() log.error("Dock loading error: %s\n%s" % (e, error)) msg_dia = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.ERROR, buttons=Gtk.ButtonsType.CLOSE) msg_dia.set_markup(_( "PyChess was unable to load your panel settings")) msg_dia.format_secondary_text(_( "Your panel settings have been reset. If this problem repeats, \ you should report it to the developers")) msg_dia.run() msg_dia.hide() os.remove(self.dockLocation) for title, panel, menu_item in self.docks.values(): title.unparent() panel.unparent() @property def sensitive(self): perspective, button, index = perspective_manager.perspectives[self.name] return button.get_sensitive() def create_toolbuttons(self): pass def close(self): pass class PerspectiveManager: def __init__(self): self.perspectives = {} self.current_perspective = None def set_widgets(self, widgets): self.widgets = widgets self.toolbar = self.widgets["toolbar1"] self.viewmenu = self.widgets["vis1_menu"] def on_persp_toggled(self, button): active = button.get_active() if active: for item in self.current_perspective.menuitems: item.hide() for toolbutton in self.current_perspective.toolbuttons: toolbutton.hide() name = button.get_name() perspective, button, index = self.perspectives[name] self.widgets["perspectives_notebook"].set_current_page(index) self.current_perspective = perspective for item in perspective.menuitems: item.show() for toolbutton in perspective.toolbuttons: toolbutton.show() def add_perspective(self, perspective): box = self.widgets["persp_buttons"] children = box.get_children() widget = None if len(children) == 0 else children[0] button = Gtk.RadioButton.new_with_label_from_widget(widget, perspective.label) if perspective.default: self.current_perspective = perspective else: button.set_sensitive(False) button.set_name(perspective.name) button.set_mode(False) box.pack_start(button, True, True, 0) button.connect("toggled", self.on_persp_toggled) index = self.widgets["perspectives_notebook"].append_page(perspective.widget, None) self.perspectives[perspective.name] = (perspective, button, index) def activate_perspective(self, name): perspective, button, index = self.perspectives[name] button.set_sensitive(True) button.set_active(True) def disable_perspective(self, name): if not self.get_perspective(name).sensitive: return perspective, button, index = self.perspectives[name] button.set_sensitive(False) for button in perspective.toolbuttons: button.hide() if self.get_perspective("fics").sensitive: self.activate_perspective("fics") elif self.get_perspective("database").sensitive: self.activate_perspective("database") elif self.get_perspective("games").sensitive: self.activate_perspective("games") elif self.get_perspective("learn").sensitive: self.activate_perspective("learn") else: self.activate_perspective("welcome") def get_perspective(self, name): if name in self.perspectives: perspective, button, index = self.perspectives[name] else: perspective = None return perspective def set_perspective_widget(self, name, widget): perspective, button, index = self.perspectives[name] container = self.widgets["perspectives_notebook"].get_nth_page(index) for child in container.get_children(): container.remove(child) container.add(widget) def set_perspective_toolbuttons(self, name, buttons): perspective, button, index = self.perspectives[name] for button in perspective.toolbuttons: if button in self.toolbar: self.toolbar.remove(button) perspective.toolbuttons = [] separator = Gtk.SeparatorToolItem.new() separator.set_draw(True) perspective.toolbuttons.append(separator) for button in buttons: perspective.toolbuttons.append(button) self.toolbar.add(button) button.show() def set_perspective_menuitems(self, name, menuitems, default=True): perspective, button, index = self.perspectives[name] for item in perspective.menuitems: if item in self.viewmenu: self.viewmenu.remove(item) perspective.menuitems = [] item = Gtk.SeparatorMenuItem() perspective.menuitems.append(item) self.viewmenu.append(item) item.show() for item in menuitems: perspective.menuitems.append(item) self.viewmenu.append(item) if default: item.set_active(True) item.show() perspective_manager = PerspectiveManager() pychess-1.0.0/lib/pychess/perspectives/learn/0000755000175000017500000000000013467766037020322 5ustar varunvarunpychess-1.0.0/lib/pychess/perspectives/learn/LessonsPanel.py0000644000175000017500000001426113365545272023277 0ustar varunvarunimport os import asyncio from gi.repository import Gtk from pychess.compat import create_task from pychess.System.prefix import addDataPrefix from pychess.Utils.const import WHITE, BLACK, LOCAL, WAITING_TO_START, HINT, LESSON from pychess.Utils.LearnModel import LearnModel from pychess.Utils.TimeModel import TimeModel from pychess.Players.Human import Human from pychess.System import conf from pychess.perspectives import perspective_manager from pychess.perspectives.learn import lessons_solving_progress from pychess.perspectives.learn.PuzzlesPanel import start_puzzle_game from pychess.Savers.pgn import PGNFile from pychess.System.protoopen import protoopen from pychess.Players.engineNest import discoverer __title__ = _("Lessons") __icon__ = addDataPrefix("glade/panel_book.svg") __desc__ = _('Guided interactive lessons in "guess the move" style') LESSONS = [] for elem in sorted(os.listdir(path=addDataPrefix("learn/lessons/"))): if elem.startswith("lichess_study") and elem.endswith(".pgn"): title = elem.replace("beta-lichess-practice-", "") title = title[14:title.find("_by_")].replace("-", " ").capitalize() LESSONS.append((elem, title, "lichess.org")) elif elem.endswith(".pgn"): LESSONS.append((elem, elem.replace("-", " ").capitalize(), "pychess.org")) class Sidepanel(): def load(self, persp): self.persp = persp self.box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.tv = Gtk.TreeView() renderer = Gtk.CellRendererText() column = Gtk.TreeViewColumn(_("Title"), renderer, text=1) self.tv.append_column(column) renderer = Gtk.CellRendererText() column = Gtk.TreeViewColumn(_("Source"), renderer, text=2) self.tv.append_column(column) renderer = Gtk.CellRendererProgress() column = Gtk.TreeViewColumn(_("Progress"), renderer, text=3, value=4) self.tv.append_column(column) self.tv.connect("row-activated", self.row_activated) def on_progress_updated(solving_progress, key, progress): for i, row in enumerate(self.store): if row[0] == key: solved = progress.count(1) percent = 0 if not solved else round((solved * 100.) / len(progress)) treeiter = self.store.get_iter(Gtk.TreePath(i)) self.store[treeiter][3] = "%s / %s" % (solved, len(progress)) self.store[treeiter][4] = percent lessons_solving_progress.connect("progress_updated", on_progress_updated) self.store = Gtk.ListStore(str, str, str, str, int) @asyncio.coroutine def coro(): for file_name, title, author in LESSONS: progress = lessons_solving_progress.get(file_name) solved = progress.count(1) percent = 0 if not solved else round((solved * 100.) / len(progress)) self.store.append([file_name, title, author, "%s / %s" % (solved, len(progress)), percent]) create_task(coro()) self.tv.set_model(self.store) self.tv.get_selection().set_mode(Gtk.SelectionMode.BROWSE) self.tv.set_cursor(conf.get("learncombo%s" % LESSON)) scrollwin = Gtk.ScrolledWindow() scrollwin.add(self.tv) scrollwin.show_all() self.box.pack_start(scrollwin, True, True, 0) self.box.show_all() return self.box def row_activated(self, widget, path, col): if path is None: return else: filename = LESSONS[path[0]][0] conf.set("categorycombo", LESSON) from pychess.widgets.TaskerManager import learn_tasker learn_tasker.learn_combo.set_active(path[0]) start_lesson_from(filename) def start_lesson_from(filename, index=None): chessfile = PGNFile(protoopen(addDataPrefix("learn/lessons/%s" % filename))) chessfile.limit = 1000 chessfile.init_tag_database() records, plys = chessfile.get_records() progress = lessons_solving_progress.get(filename, [0] * chessfile.count) if index is None: try: index = progress.index(0) except ValueError: index = 0 rec = records[index] timemodel = TimeModel(0, 0) gamemodel = LearnModel(timemodel) chessfile.loadToModel(rec, -1, gamemodel) if len(gamemodel.moves) > 0: start_lesson_game(gamemodel, filename, chessfile, records, index, rec) else: start_puzzle_game(gamemodel, filename, records, index, rec, from_lesson=True) def start_lesson_game(gamemodel, filename, chessfile, records, index, rec): gamemodel.set_learn_data(LESSON, filename, index, len(records)) # Lichess doesn't export some study data to .pgn like # Orientation, Analysis mode, Chapter pinned comment, move hint comments, general fail comment if filename.startswith("lichess_study_beta-lichess-practice-checkmating-with-a-knight-and-bishop"): if index in (4, 6, 8, 9): gamemodel.tags["Orientation"] = "White" print(index, '[Orientation "White"]') color = gamemodel.boards[0].color player_name = conf.get("firstName") w_name = player_name if color == WHITE else "PyChess" b_name = "PyChess" if color == WHITE else player_name p0 = (LOCAL, Human, (WHITE, w_name), w_name) p1 = (LOCAL, Human, (BLACK, b_name), b_name) def learn_success(gamemodel): gamemodel.scores = {} chessfile.loadToModel(rec, -1, gamemodel) progress = lessons_solving_progress[gamemodel.source] progress[gamemodel.current_index] = 1 lessons_solving_progress[gamemodel.source] = progress if "FEN" in gamemodel.tags: create_task(gamemodel.restart_analyzer(HINT)) gamemodel.connect("learn_success", learn_success) def on_game_started(gamemodel): perspective.activate_panel("annotationPanel") if "FEN" in gamemodel.tags: create_task(gamemodel.start_analyzer(HINT, force_engine=discoverer.getEngineLearn())) gamemodel.connect("game_started", on_game_started) gamemodel.status = WAITING_TO_START perspective = perspective_manager.get_perspective("games") create_task(perspective.generalStart(gamemodel, p0, p1)) pychess-1.0.0/lib/pychess/perspectives/learn/LecturesPanel.py0000644000175000017500000002654213365545272023444 0ustar varunvarunimport asyncio from io import StringIO from gi.repository import Gtk from pychess.compat import create_task from pychess.System.prefix import addDataPrefix from pychess.Utils.const import WHITE, BLACK, LOCAL, RUNNING, LECTURE from pychess.Utils.LearnModel import LearnModel from pychess.Utils.TimeModel import TimeModel from pychess.Utils.Move import parseAny from pychess.Players.Human import Human from pychess.perspectives import perspective_manager from pychess.Savers import fen as fen_loader from pychess.System import conf __title__ = _("Lectures") __icon__ = addDataPrefix("glade/panel_book.svg") __desc__ = _("Study FICS lectures offline") LECTURES = ( ("lec1.txt", "2...Qh4+ against the King's Gambit", "toddmf"), ("lec2.txt", "Tactics Training lesson 1# 'Back rank weakness'", "knackie"), ("lec3.txt", "Denker's Favorite Game", "toddmf"), ("lec4.txt", "Introduction to the 2.Nc3 Caro-Kann", "KayhiKing"), ("lec5.txt", "Tactics Training lesson 2# 'Discovered Attack'", "knackie"), ("lec6.txt", "King's Indian Attack vs. the French", "cissmjg"), ("lec7.txt", "Rook vs Pawn endgames", "toddmf"), ("lec8.txt", "The Stonewall Attack", "MBDil"), ("lec9.txt", "Tactics Training lesson 3# 'Enclosed Kings'", "knackie"), ("lec10.txt", "The Steinitz Variation of the French Defense", "Seipman"), ("lec11.txt", "A draw against a Grandmaster", "talpa"), ("lec12.txt", "Tactics Training lesson 4# 'King in the centre'", "knackie"), ("lec13.txt", "The Modern Defense", "GMDavies"), ("lec14.txt", "Tactics Training lesson 5# 'Pulling the king to the open'", "knackie"), ("lec15.txt", "King's Indian Attack vs. the Caro-Kann", "cissmjg"), ("lec16.txt", "Introduction to Bughouse", "Tecumseh"), ("lec17.txt", "Refuting the Milner-Barry Gambit in the French Defense", "Kabal"), ("lec18.txt", "Tactics Training lesson 6# 'Mating Attack'", "knackie"), ("lec19.txt", "Closed Sicilian Survey, part 1", "Oren"), ("lec20.txt", "Hypermodern Magic - A study of the central blockade", "Bahamut"), ("lec21.txt", "Tactics Training lesson 7# 'Opening / Closing Files'", "knackie"), ("lec22.txt", "Thoughts on the Refutation of the Milner-Barry", "knackie"), ("lec23.txt", "Tactics Training lesson 8# 'Opening / Closing Diagonals'", "knackie"), ("lec24.txt", "King's Indian Attack vs. Other Defenses", "cissmjg"), ("lec25.txt", "Basic Pawn Endings I", "DAV"), ("lec26.txt", "Giuoco Piano", "afw"), ("lec27.txt", "Tactics Training lesson 9# 'Long Diagonals'", "knackie"), ("lec28.txt", "Secrets of the Flank Attack", "Shidinov"), ("lec29.txt", "Mating Combinations", "Kabal"), ("lec30.txt", "Basic Pawn Endings II", "DAV"), ("lec31.txt", "Grandmaster Knezevic's first FICS lecture", "toddmf"), ) class Sidepanel(): def load(self, persp): self.persp = persp self.box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.tv = Gtk.TreeView() renderer = Gtk.CellRendererText() column = Gtk.TreeViewColumn(_("Title"), renderer, text=1) self.tv.append_column(column) renderer = Gtk.CellRendererText() column = Gtk.TreeViewColumn(_("Author"), renderer, text=2) self.tv.append_column(column) self.tv.connect("row-activated", self.row_activated) self.store = Gtk.ListStore(str, str, str) for file_name, title, author in LECTURES: self.store.append([file_name, title, author]) self.tv.set_model(self.store) self.tv.get_selection().set_mode(Gtk.SelectionMode.BROWSE) self.tv.set_cursor(conf.get("learncombo%s" % LECTURE)) scrollwin = Gtk.ScrolledWindow() scrollwin.add(self.tv) scrollwin.show_all() self.box.pack_start(scrollwin, True, True, 0) self.box.show_all() return self.box def row_activated(self, widget, path, col): if path is None: return else: filename = LECTURES[path[0]][0] conf.set("categorycombo", LECTURE) from pychess.widgets.TaskerManager import learn_tasker learn_tasker.learn_combo.set_active(path[0]) start_lecture_from(filename) def start_lecture_from(filename, index=None): if index is None: index = 0 # connection.client.run_command("examine") timemodel = TimeModel(0, 0) gamemodel = LearnModel(timemodel) gamemodel.set_learn_data(LECTURE, filename, index) white_name = black_name = "PyChess" p0 = (LOCAL, Human, (WHITE, white_name), white_name) p1 = (LOCAL, Human, (BLACK, black_name), black_name) def on_game_started(gamemodel): perspective.activate_panel("chatPanel") gamemodel.connect("game_started", on_game_started) perspective = perspective_manager.get_perspective("games") create_task(perspective.generalStart(gamemodel, p0, p1)) def lecture_steps(lecture_file): with open(lecture_file, "r") as f: for line in f: yield line return lecture_file = addDataPrefix("learn/lectures/%s" % filename) steps = lecture_steps(lecture_file) @asyncio.coroutine def coro(gamemodel, steps): exit_lecture = False inside_bsetup = False paused = False moves_played = 0 KIBITZ, BACKWARD, BSETUP, BSETUP_DONE, FEN, TOMOVE, WCASTLE, BCASTLE, \ WNAME, BNAME, REVERT, WAIT, MOVE = range(13) while True: try: step = next(steps) print(step) parts = step.strip().split() command = None param = "" if parts[0].lower() in ("k", "ki", "kib", "kibitz"): command = KIBITZ param = " ".join(parts[1:]) elif parts[0] == "back": command = BACKWARD param = int(parts[1]) if len(parts) > 1 else 1 elif parts[0] == "bsetup": if len(parts) == 1: command = BSETUP else: if parts[1] == "done": command = BSETUP_DONE elif parts[1] == "fen": command = FEN param = parts[2] elif parts[1] == "tomove": command = TOMOVE param = "w" if parts[2].lower()[0] == "w" else "b" elif parts[1] == "wcastle": command = WCASTLE param = parts[2] elif parts[1] == "bcastle": command = BCASTLE param = parts[2] elif parts[0] == "tomove": command = TOMOVE param = "w" if parts[1].lower()[0] == "w" else "b" elif parts[0] == "wname": command = WNAME param = parts[1] elif parts[0] == "bname": command = BNAME param = parts[1] elif parts[0] == "revert": command = REVERT elif len(parts) == 1 and parts[0].isdigit(): command = WAIT param = int(parts[0]) else: command = MOVE param = parts[0] if not inside_bsetup and command == BSETUP: inside_bsetup = True pieces = "" color = "" castl = "" ep = "" elif inside_bsetup and command == BSETUP_DONE: inside_bsetup = False wait_sec = int(param) if command == WAIT else 2 if inside_bsetup: wait_sec = -1 while wait_sec >= 0: if gamemodel.lecture_exit_event.is_set(): gamemodel.lecture_exit_event.clear() exit_lecture = True break if gamemodel.lecture_skip_event.is_set(): gamemodel.lecture_skip_event.clear() paused = False break if gamemodel.lecture_pause_event.is_set(): gamemodel.lecture_pause_event.clear() paused = True yield from asyncio.sleep(0.1) if not paused: wait_sec = wait_sec - 0.1 if exit_lecture: gamemodel.players[0].putMessage("Lecture exited.") break if command != WAIT: if command == KIBITZ: gamemodel.players[0].putMessage(param) if command == BACKWARD: gamemodel.undoMoves(param) moves_played -= param if command == MOVE: board = gamemodel.getBoardAtPly(gamemodel.ply) move = parseAny(board, param) gamemodel.curplayer.move_queue.put_nowait(move) moves_played += 1 elif command == REVERT: gamemodel.undoMoves(moves_played) moves_played = 0 elif command == BNAME: gamemodel.players[BLACK].name = param gamemodel.emit("players_changed") elif command == WNAME: gamemodel.players[WHITE].name = param gamemodel.emit("players_changed") elif command == FEN: pieces = param elif command == TOMOVE: color = param elif command == WCASTLE: if param == "both": castl += "KQ" elif param == "kside": castl += "K" elif param == "qside": castl += "Q" elif command == BCASTLE: if param == "both": castl += "kq" elif param == "kside": castl += "k" elif param == "qside": castl += "q" elif command == BSETUP_DONE: if not castl: castl = "-" if not ep: ep = "-" fen = "%s %s %s %s 0 1" % (pieces, color, castl, ep) curplayer = gamemodel.curplayer gamemodel.status = RUNNING gamemodel.loadAndStart( StringIO(fen), fen_loader, 0, -1, first_time=False) curplayer.move_queue.put_nowait("int") gamemodel.emit("game_started") moves_played = 0 except StopIteration: # connection.client.run_command("kibitz That concludes this lecture.") break create_task(coro(gamemodel, steps)) pychess-1.0.0/lib/pychess/perspectives/learn/__init__.py0000644000175000017500000002434513365545272022434 0ustar varunvarunimport os import json from abc import ABCMeta from collections import UserDict from gi.repository import Gdk, Gtk, GObject from gi.types import GObjectMeta from pychess.perspectives import Perspective, perspective_manager, panel_name from pychess.System.prefix import addUserConfigPrefix, addDataPrefix from pychess.System.Log import log from pychess.widgets import new_notebook, mainwindow from pychess.widgets.pydock.PyDockTop import PyDockTop from pychess.widgets.pydock import WEST, SOUTH, CENTER from pychess.System.prefix import addUserDataPrefix from pychess.Savers.olv import OLVFile from pychess.Savers.pgn import PGNFile from pychess.System.protoopen import protoopen class Learn(GObject.GObject, Perspective): def __init__(self): GObject.GObject.__init__(self) Perspective.__init__(self, "learn", _("Learn")) self.always_on = True self.dockLocation = addUserConfigPrefix("pydock-learn.xml") self.first_run = True def create_toolbuttons(self): def on_exit_clicked(button): perspective_manager.disable_perspective("learn") self.exit_button = Gtk.ToolButton.new_from_stock(Gtk.STOCK_QUIT) self.exit_button.set_tooltip_text(_("Quit Learning")) self.exit_button.set_label("exit") self.exit_button.connect("clicked", on_exit_clicked) def init_layout(self): perspective_manager.set_perspective_toolbuttons("learn", (self.exit_button, )) perspective_widget = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) perspective_manager.set_perspective_widget("learn", perspective_widget) self.notebooks = {"home": new_notebook()} self.main_notebook = self.notebooks["home"] for panel in self.sidePanels: self.notebooks[panel_name(panel.__name__)] = new_notebook(panel_name(panel.__name__)) self.dock = PyDockTop("learn", self) align = Gtk.Alignment() align.show() align.add(self.dock) self.dock.show() perspective_widget.pack_start(align, True, True, 0) self.notebooks = {"learnhome": new_notebook()} self.main_notebook = self.notebooks["learnhome"] for panel in self.sidePanels: self.notebooks[panel_name(panel.__name__)] = new_notebook(panel_name(panel.__name__)) self.docks["learnhome"] = (Gtk.Label(label="learnhome"), self.notebooks["learnhome"], None) for panel in self.sidePanels: self.docks[panel_name(panel.__name__)][1] = self.notebooks[panel_name(panel.__name__)] self.load_from_xml() # Default layout of side panels first_time_layout = False if not os.path.isfile(self.dockLocation): first_time_layout = True leaf0 = self.dock.dock(self.docks["learnhome"][1], CENTER, self.docks["learnhome"][0], "learnhome") leaf0.setDockable(False) leaf = leaf0.dock(self.docks["PuzzlesPanel"][1], WEST, self.docks["PuzzlesPanel"][0], "PuzzlesPanel") leaf.dock(self.docks["LessonsPanel"][1], SOUTH, self.docks["LessonsPanel"][0], "LessonsPanel") leaf = leaf0.dock(self.docks["LecturesPanel"][1], SOUTH, self.docks["LecturesPanel"][0], "LecturesPanel") leaf.dock(self.docks["EndgamesPanel"][1], SOUTH, self.docks["EndgamesPanel"][0], "EndgamesPanel") def unrealize(dock): dock.saveToXML(self.dockLocation) dock._del() self.dock.connect("unrealize", unrealize) self.dock.show_all() perspective_widget.show_all() perspective_manager.set_perspective_menuitems("learn", self.menuitems, default=first_time_layout) log.debug("Learn.__init__: finished") def activate(self): if self.first_run: self.init_layout() self.first_run = False learn_home = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) box = Gtk.Box() self.tv = Gtk.TreeView() color = Gdk.RGBA() color.parse("lightblue") for i, col in enumerate((_("lichess"), _("wtharvey"), _("yacpdb"), _("lessons"))): renderer = Gtk.CellRendererProgress() renderer.set_orientation(Gtk.Orientation.VERTICAL) renderer.props.height = 100 renderer.props.inverted = True renderer.props.cell_background_rgba = color column = Gtk.TreeViewColumn(col, renderer, text=i * 2, value=i * 2 + 1) self.tv.append_column(column) self.store = Gtk.ListStore(str, int, str, int, str, int, str, int) self.update_progress(None, None, None) self.tv.set_model(self.store) self.tv.get_selection().set_mode(Gtk.SelectionMode.NONE) puzzles_solving_progress.connect("progress_updated", self.update_progress) lessons_solving_progress.connect("progress_updated", self.update_progress) box.pack_start(self.tv, False, False, 6) label = Gtk.Label(xpad=6, xalign=0) label.set_markup("%s" % _("Progress")) learn_home.pack_start(label, False, False, 6) learn_home.pack_start(box, False, False, 0) reset = Gtk.Button(_("Reset my progress")) learn_home.pack_start(reset, False, False, 6) def on_reset_clicked(button): dialog = Gtk.MessageDialog(mainwindow(), 0, Gtk.MessageType.QUESTION, Gtk.ButtonsType.OK_CANCEL, _("You will lose all your progress data!")) response = dialog.run() if response == Gtk.ResponseType.OK: for filename, progress in lessons_solving_progress.items(): lessons_solving_progress[filename] = [0] * len(progress) for filename, progress in puzzles_solving_progress.items(): puzzles_solving_progress[filename] = [0] * len(progress) self.update_progress(None, None, None) dialog.destroy() reset.connect("clicked", on_reset_clicked) learn_home.show_all() if not self.first_run: self.notebooks["learnhome"].remove_page(-1) self.notebooks["learnhome"].append_page(learn_home) self.panels = [panel.Sidepanel().load(self) for panel in self.sidePanels] for panel, instance in zip(self.sidePanels, self.panels): if not self.first_run: self.notebooks[panel_name(panel.__name__)].remove_page(-1) self.notebooks[panel_name(panel.__name__)].append_page(instance) instance.show() perspective_manager.activate_perspective("learn") def update_progress(self, solving_progress, key, progress): self.store.clear() # Compute cumulative puzzles solving statistics solving_progress = puzzles_solving_progress.read_all() stat = [0, 0, 0, 0, 0, 0, 0, 0] for filename, progress in solving_progress.items(): if filename.startswith("lichess"): stat[0] += len(progress) stat[1] += progress.count(1) elif filename.startswith("mate_in"): stat[2] += len(progress) stat[3] += progress.count(1) elif filename.endswith(".olv"): stat[4] += len(progress) stat[5] += progress.count(1) # Compute cumulative lessons solving statistics solving_progress = lessons_solving_progress.read_all() for filename, progress in solving_progress.items(): stat[6] += len(progress) stat[7] += progress.count(1) stats = [] for i in range(4): percent = 0 if not stat[i * 2 + 1] else round((stat[i * 2 + 1] * 100.) / stat[i * 2]) stats.append("%s%%" % percent) stats.append(percent) self.store.append(stats) class GObjectMutableMapping(GObjectMeta, ABCMeta): """ GObject.GObject and UserDict has different metaclasses so we have to create this metaclass to avoid TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases """ pass class SolvingProgress(GObject.GObject, UserDict, metaclass=GObjectMutableMapping): """ Book keeping of puzzle/lesson solving progress Each dict key is a .pgn/.olv file name Values are list of 0/1 values showing a given file puzzles solved or not The dict is automatically synced with corresponding puzzles.json/lessons.json files """ __gsignals__ = { "progress_updated": (GObject.SignalFlags.RUN_FIRST, None, (str, object, )), } def __init__(self, progress_file): GObject.GObject.__init__(self) UserDict.__init__(self) self.progress_file = addUserDataPrefix(progress_file) def get_count(self, filename): subdir = "puzzles" if self.progress_file.endswith("puzzles.json") else "lessons" if filename.lower().endswith(".pgn"): chessfile = PGNFile(protoopen(addDataPrefix("learn/%s/%s" % (subdir, filename)))) chessfile.limit = 1000 chessfile.init_tag_database() elif filename.lower().endswith(".olv"): chessfile = OLVFile(protoopen(addDataPrefix("learn/%s/%s" % (subdir, filename)), encoding="utf-8")) chessfile.close() count = chessfile.count return count def __getitem__(self, key): if os.path.isfile(self.progress_file): with open(self.progress_file, "r") as f: self.data = json.load(f) if key not in self.data: self.__setitem__(key, [0] * self.get_count(key)) else: self.__setitem__(key, [0] * self.get_count(key)) # print("Solved: %s / %s %s" % (self[key].count(1), len(self[key]), key)) return self.data[key] def __setitem__(self, key, value): with open(self.progress_file, "w") as f: self.data[key] = value json.dump(self.data, f) self.emit("progress_updated", key, value) def read_all(self): if os.path.isfile(self.progress_file): with open(self.progress_file, "r") as f: self.data = json.load(f) return self.data else: return {} puzzles_solving_progress = SolvingProgress("puzzles.json") lessons_solving_progress = SolvingProgress("lessons.json") pychess-1.0.0/lib/pychess/perspectives/learn/PuzzlesPanel.py0000644000175000017500000001706613365545272023333 0ustar varunvarunimport os import asyncio from gi.repository import Gtk from pychess.compat import create_task from pychess.System.prefix import addDataPrefix from pychess.Utils.const import WHITE, BLACK, LOCAL, NORMALCHESS, ARTIFICIAL, WAITING_TO_START, HINT, PRACTICE_GOAL_REACHED, PUZZLE from pychess.Utils.LearnModel import LearnModel from pychess.Utils.TimeModel import TimeModel from pychess.Variants import variants from pychess.Players.Human import Human from pychess.Players.engineNest import discoverer from pychess.perspectives import perspective_manager from pychess.perspectives.learn import lessons_solving_progress from pychess.perspectives.learn import puzzles_solving_progress from pychess.Savers.olv import OLVFile from pychess.Savers.pgn import PGNFile from pychess.System import conf from pychess.System.protoopen import protoopen __title__ = _("Puzzles") __icon__ = addDataPrefix("glade/panel_book.svg") __desc__ = _("Lichess practice studies Puzzles from GM games and Chess compositions") # https://lichess.org/practice, http://wtharvey.com, http://www.yacpdb.org puzzles0 = [] puzzles1 = [] puzzles2 = [] puzzles3 = [] for elem in sorted(os.listdir(path=addDataPrefix("learn/puzzles/"))): if elem.startswith("lichess_study") and elem.endswith(".pgn"): if elem[14:31] == "lichess-practice-": puzzles0.append((elem, elem[31:elem.find("_by_")].replace("-", " ").capitalize(), "lichess.org")) else: puzzles0.append((elem, elem[14:elem.find("_by_").replace("-", " ").capitalize()], "lichess.org")) elif elem.startswith("mate_in_") and elem.endswith(".pgn"): puzzles1.append((elem, "Puzzles by GMs: Mate in %s" % elem[8], "wtharvey.com")) elif elem.endswith(".olv"): puzzles2.append((elem, "Puzzles by %s" % elem.split(".olv")[0].capitalize(), "yacpdb.org")) elif elem.endswith(".pgn"): puzzles3.append((elem, elem.split(".pgn")[0].capitalize(), _("others"))) PUZZLES = puzzles0 + puzzles1 + puzzles2 + puzzles3 class Sidepanel(): def load(self, persp): self.persp = persp self.box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.tv = Gtk.TreeView() renderer = Gtk.CellRendererText() column = Gtk.TreeViewColumn(_("Title"), renderer, text=1) self.tv.append_column(column) renderer = Gtk.CellRendererText() column = Gtk.TreeViewColumn(_("Source"), renderer, text=2) self.tv.append_column(column) renderer = Gtk.CellRendererProgress() column = Gtk.TreeViewColumn(_("Progress"), renderer, text=3, value=4) self.tv.append_column(column) self.tv.connect("row-activated", self.row_activated) def on_progress_updated(solving_progress, key, progress): for i, row in enumerate(self.store): if row[0] == key: solved = progress.count(1) percent = 0 if not solved else round((solved * 100.) / len(progress)) treeiter = self.store.get_iter(Gtk.TreePath(i)) self.store[treeiter][3] = "%s / %s" % (solved, len(progress)) self.store[treeiter][4] = percent puzzles_solving_progress.connect("progress_updated", on_progress_updated) self.store = Gtk.ListStore(str, str, str, str, int) @asyncio.coroutine def coro(): for file_name, title, author in PUZZLES: progress = puzzles_solving_progress.get(file_name) solved = progress.count(1) percent = 0 if not solved else round((solved * 100.) / len(progress)) self.store.append([file_name, title, author, "%s / %s" % (solved, len(progress)), percent]) yield from asyncio.sleep(0) create_task(coro()) self.tv.set_model(self.store) self.tv.get_selection().set_mode(Gtk.SelectionMode.BROWSE) self.tv.set_cursor(conf.get("learncombo%s" % PUZZLE)) scrollwin = Gtk.ScrolledWindow() scrollwin.add(self.tv) scrollwin.show_all() self.box.pack_start(scrollwin, True, True, 0) self.box.show_all() return self.box def row_activated(self, widget, path, col): if path is None: return else: filename = PUZZLES[path[0]][0] conf.set("categorycombo", PUZZLE) from pychess.widgets.TaskerManager import learn_tasker learn_tasker.learn_combo.set_active(path[0]) start_puzzle_from(filename) def start_puzzle_from(filename, index=None): if filename.lower().endswith(".pgn"): chessfile = PGNFile(protoopen(addDataPrefix("learn/puzzles/%s" % filename))) chessfile.limit = 1000 chessfile.init_tag_database() elif filename.lower().endswith(".olv"): chessfile = OLVFile(protoopen(addDataPrefix("learn/puzzles/%s" % filename), encoding="utf-8")) records, plys = chessfile.get_records() progress = puzzles_solving_progress.get(filename, [0] * chessfile.count) if index is None: try: index = progress.index(0) except ValueError: index = 0 rec = records[index] timemodel = TimeModel(0, 0) gamemodel = LearnModel(timemodel) chessfile.loadToModel(rec, 0, gamemodel) start_puzzle_game(gamemodel, filename, records, index, rec) def start_puzzle_game(gamemodel, filename, records, index, rec, from_lesson=False): gamemodel.set_learn_data(PUZZLE, filename, index, len(records), from_lesson=from_lesson) engine = discoverer.getEngineByName(discoverer.getEngineLearn()) ponder_off = True color = gamemodel.boards[0].color w_name = "" if rec["White"] is None else rec["White"] b_name = "" if rec["Black"] is None else rec["Black"] player_name = conf.get("firstName") engine_name = discoverer.getName(engine) if rec["Event"].startswith("Lichess Practice"): w_name = player_name if color == WHITE else engine_name b_name = engine_name if color == WHITE else player_name opp_name = engine_name if rec["Event"].startswith("Lichess Practice") else b_name if color == WHITE: p0 = (LOCAL, Human, (WHITE, w_name), w_name) p1 = (ARTIFICIAL, discoverer.initPlayerEngine, (engine, BLACK, 20, variants[NORMALCHESS], 20, 0, 0, ponder_off), b_name) else: p0 = (ARTIFICIAL, discoverer.initPlayerEngine, (engine, WHITE, 20, variants[NORMALCHESS], 20, 0, 0, ponder_off), w_name) p1 = (LOCAL, Human, (BLACK, b_name), b_name) def on_game_started(gamemodel, name, color): perspective.activate_panel("annotationPanel") create_task(gamemodel.start_analyzer(HINT, force_engine=discoverer.getEngineLearn())) gamemodel.players[1 - color].name = name gamemodel.emit("players_changed") gamemodel.connect("game_started", on_game_started, opp_name, color) def goal_checked(gamemodle): if gamemodel.reason == PRACTICE_GOAL_REACHED: if from_lesson: progress = lessons_solving_progress[gamemodel.source] else: progress = puzzles_solving_progress[gamemodel.source] progress[gamemodel.current_index] = 1 if from_lesson: lessons_solving_progress[gamemodel.source] = progress else: puzzles_solving_progress[gamemodel.source] = progress gamemodel.connect("goal_checked", goal_checked) gamemodel.variant.need_initial_board = True gamemodel.status = WAITING_TO_START perspective = perspective_manager.get_perspective("games") create_task(perspective.generalStart(gamemodel, p0, p1)) pychess-1.0.0/lib/pychess/perspectives/learn/EndgamesPanel.py0000644000175000017500000001550013432500720023351 0ustar varunvarunimport random from io import StringIO from gi.repository import Gtk from pychess.compat import create_task from pychess.System.prefix import addDataPrefix from pychess.Utils.const import WHITE, BLACK, LOCAL, NORMALCHESS, ARTIFICIAL, chr2Sign, chrU2Sign, FAN_PIECES, HINT, ENDGAME from pychess.Utils.LearnModel import LearnModel from pychess.Utils.TimeModel import TimeModel from pychess.Utils.lutils.attack import isAttacked from pychess.Utils.lutils.LBoard import LBoard from pychess.Utils.lutils.lmove import FILE, RANK from pychess.Variants import variants from pychess.Players.Human import Human from pychess.Players.engineNest import discoverer from pychess.System import conf from pychess.perspectives import perspective_manager from pychess.Savers import fen as fen_loader __title__ = _("Endgames") __icon__ = addDataPrefix("glade/panel_book.svg") __desc__ = _("Practice endgames with computer") # TODO: get it from a text file ENDGAMES = ( ("kpk", "King and Pawn vs King"), ("kbnk", "King, Bishop and Knight vs King"), ("kbbk", "King and 2 Bishops vs King"), ("krk", "King and Rook vs King"), ("kqk", "King and Queen vs King"), ("kqkr", "King and Queen vs King and Rook"), ("krpkr", "King, Rook and Pawn vs King and Rook"), ("kppkp", "King and 2 Pawns vs King and Pawn"), ("kpkp", "King and Pawn vs King and Pawn"), ("kqpkq", "King, Queen and Pawn vs King and Queen"), ("knnkp", "King and Two Knights and vs King and Pawn"), ("kppkpp", "King and two pawns vs King and two pawns"), ("kqqkqr", "King and two queens vs King and Queen"), ) class Sidepanel(): def load(self, persp): self.persp = persp self.box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.tv = Gtk.TreeView() renderer = Gtk.CellRendererText() renderer.props.font = "Times 14" column = Gtk.TreeViewColumn(_("White"), renderer, text=0) self.tv.append_column(column) renderer = Gtk.CellRendererText() renderer.props.font = "Times 14" column = Gtk.TreeViewColumn(_("Black"), renderer, text=1) self.tv.append_column(column) renderer = Gtk.CellRendererText() column = Gtk.TreeViewColumn(_("Title"), renderer, text=2) self.tv.append_column(column) self.tv.connect("row-activated", self.row_activated) self.store = Gtk.ListStore(str, str, str) for pieces, title in ENDGAMES: if pieces.count("k") != 2: print("Game needs exactly 2 kings! %s" % pieces) continue elif len(pieces) > 6: print("Max 6 pieces, please! %s" % pieces) continue else: for piece in pieces: if piece not in ("kqrbnp"): print("Invalid piece %s in %s" % (piece, pieces)) continue pos = pieces.rfind("k") white_pieces, black_pieces = pieces[:pos], pieces[pos:] wfan = [] for piece in white_pieces: wfan.append(FAN_PIECES[0][chr2Sign[piece]]) bfan = [] for piece in black_pieces: bfan.append(FAN_PIECES[1][chr2Sign[piece]]) self.store.append(["".join(wfan), "".join(bfan), title]) self.tv.set_model(self.store) self.tv.get_selection().set_mode(Gtk.SelectionMode.BROWSE) self.tv.set_cursor(conf.get("learncombo%s" % ENDGAME)) scrollwin = Gtk.ScrolledWindow() scrollwin.add(self.tv) scrollwin.show_all() self.box.pack_start(scrollwin, True, True, 0) self.box.show_all() return self.box def row_activated(self, widget, path, col): if path is None: return else: pieces = ENDGAMES[path[0]][0].lower() conf.set("categorycombo", ENDGAME) from pychess.widgets.TaskerManager import learn_tasker learn_tasker.learn_combo.set_active(path[0]) start_endgame_from(pieces) def start_endgame_from(pieces): fen = create_fen(pieces) timemodel = TimeModel(0, 0) gamemodel = LearnModel(timemodel) gamemodel.set_learn_data(ENDGAME, pieces) player_name = conf.get("firstName") p0 = (LOCAL, Human, (WHITE, player_name), player_name) engine = discoverer.getEngineByName(discoverer.getEngineLearn()) ponder_off = True engine_name = discoverer.getName(engine) p1 = (ARTIFICIAL, discoverer.initPlayerEngine, (engine, BLACK, 20, variants[NORMALCHESS], 60, 0, 0, ponder_off), engine_name) def restart_analyzer(gamemodel): create_task(gamemodel.restart_analyzer(HINT)) gamemodel.connect("learn_success", restart_analyzer) def on_game_started(gamemodel): perspective.activate_panel("annotationPanel") create_task(gamemodel.start_analyzer(HINT, force_engine=discoverer.getEngineLearn())) gamemodel.connect("game_started", on_game_started) perspective = perspective_manager.get_perspective("games") create_task(perspective.generalStart(gamemodel, p0, p1, loaddata=(StringIO(fen), fen_loader, 0, -1))) def create_fen(pieces): """ Create a random FEN position using given pieces """ pos = pieces.rfind("k") pieces = pieces[:pos], pieces[pos:] ok = False while not ok: lboard = LBoard() lboard.applyFen("8/8/8/8/8/8/8/8 w - - 0 1") bishop_cords = [[], []] bishop_colors_ok = True cords = list(range(0, 64)) pawn_cords = list(range(0 + 8, 64 - 8)) # Order of color is important here to prevent offering # positions with trivial captures in first move for color in (WHITE, BLACK): for char in pieces[color]: piece = chrU2Sign[char.upper()] attacked = True limit = 100 while attacked and limit > 0: cord = random.choice(pawn_cords if char == "p" else cords) attacked = isAttacked(lboard, cord, 1 - color) limit -= 1 lboard._addPiece(cord, piece, color) cords.remove(cord) if cord in pawn_cords: pawn_cords.remove(cord) if char == "b": bishop_cords[color].append(cord) # 2 same color bishop is not ok if len(bishop_cords[color]) == 2 and bishop_colors_ok: b0, b1 = bishop_cords[color] b0_color = BLACK if RANK(b0) % 2 == FILE(b0) % 2 else WHITE b1_color = BLACK if RANK(b1) % 2 == FILE(b1) % 2 else WHITE if b0_color == b1_color: bishop_colors_ok = False break ok = (not lboard.isChecked()) and (not lboard.opIsChecked()) and bishop_colors_ok fen = lboard.asFen() return fen pychess-1.0.0/lib/pychess/perspectives/games/0000755000175000017500000000000013467766037020315 5ustar varunvarunpychess-1.0.0/lib/pychess/perspectives/games/scorePanel.py0000755000175000017500000002551713365545272022770 0ustar varunvarunimport sys from math import e, floor from random import randint from gi.repository import Gtk, GObject from gi.repository import Gdk from pychess.System import uistuff, conf from pychess.System.prefix import addDataPrefix from pychess.Utils.const import WHITE, DRAW, WHITEWON, BLACKWON from pychess.Utils.lutils import leval __title__ = _("Score") __icon__ = addDataPrefix("glade/panel_score.svg") __desc__ = _("The score panel tries to evaluate the positions and shows you a graph of the game progress") class Sidepanel: def load(self, gmwidg): self.boardview = gmwidg.board.view self.plot = ScorePlot(self.boardview) self.sw = __widget__ = Gtk.ScrolledWindow() __widget__.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) port = Gtk.Viewport() port.add(self.plot) port.set_shadow_type(Gtk.ShadowType.NONE) __widget__.add(port) __widget__.show_all() self.plot_cid = self.plot.connect("selected", self.plot_selected) self.cid = self.boardview.connect('shownChanged', self.shownChanged) self.model_cids = [ self.boardview.model.connect_after("game_changed", self.game_changed), self.boardview.model.connect_after("moves_undone", self.moves_undone), self.boardview.model.connect_after("analysis_changed", self.analysis_changed), self.boardview.model.connect_after("game_started", self.game_started), self.boardview.model.connect_after("game_terminated", self.on_game_terminated), ] def cb_config_changed(none): self.fetch_chess_conf() self.plot.redraw() self.cids_conf = [ conf.notify_add("scoreLinearScale", cb_config_changed) ] self.fetch_chess_conf() uistuff.keepDown(__widget__) return __widget__ def fetch_chess_conf(self): self.plot.linear_scale = conf.get("scoreLinearScale") def on_game_terminated(self, model): self.plot.disconnect(self.plot_cid) self.boardview.disconnect(self.cid) for cid in self.model_cids: self.boardview.model.disconnect(cid) for cid in self.cids_conf: conf.notify_remove(cid) def moves_undone(self, model, moves): for i in range(moves): self.plot.undo() # As shownChanged will normally be emitted just after game_changed - # if we are viewing the latest position - we can do the selection change # now, and thereby avoid redraw being called twice if self.plot.selected == model.ply - model.lowply: self.plot.select(model.ply - model.lowply - moves) self.plot.redraw() def game_changed(self, model, ply): if len(self.plot) + model.lowply > ply: return for i in range(len(self.plot) + model.lowply, ply): if i in model.scores: points = model.scores[i][1] points = points * -1 if i % 2 == 1 else points else: points = leval.evaluateComplete( model.getBoardAtPly(i).board, WHITE) self.plot.addScore(points) if model.status == DRAW: points = 0 elif model.status == WHITEWON: points = sys.maxsize elif model.status == BLACKWON: points = -sys.maxsize else: if ply in model.scores: points = model.scores[ply][1] points = points * -1 if ply % 2 == 1 else points else: try: points = leval.evaluateComplete( model.getBoardAtPly(ply).board, WHITE) except IndexError: return self.plot.addScore(points) # As shownChanged will normally be emitted just after game_changed - # if we are viewing the latest position - we can do the selection change # now, and thereby avoid redraw being called twice if self.plot.selected == ply - model.lowply - 1: self.plot.select(ply - model.lowply) self.plot.redraw() # Uncomment this to debug eval function # --- # board = model.boards[-1].board # opboard = model.boards[-1].clone().board # opboard.setColor(1 - opboard.color) # material, phase = leval.evalMaterial(board) # if board.color == WHITE: # print("material", -material) # e1 = leval.evalKingTropism(board) # e2 = leval.evalKingTropism(opboard) # print("evaluation: %d + %d = %d " % (e1, e2, e1 + e2)) # p1 = leval.evalPawnStructure(board, phase) # p2 = leval.evalPawnStructure(opboard, phase) # print("pawns: %d + %d = %d " % (p1, p2, p1 + p2)) # print("knights:", -leval.evalKnights(board)) # print("king:", -leval.evalKing(board, phase)) # else: # print("material", material) # print("evaluation:", leval.evalKingTropism(board)) # print("pawns:", leval.evalPawnStructure(board, phase)) # print("pawns2:", leval.evalPawnStructure(opboard, phase)) # print("pawns3:", leval.evalPawnStructure(board, phase) + # leval.evalPawnStructure(opboard, phase)) # print("knights:", leval.evalKnights(board)) # print("king:", leval.evalKing(board, phase)) # print("----------------------") def game_started(self, model): if model.lesson_game: return self.game_changed(model, model.ply) def shownChanged(self, boardview, shown): if not boardview.shownIsMainLine(): return if self.plot.selected != shown: self.plot.select(shown - self.boardview.model.lowply) self.plot.redraw() def analysis_changed(self, gamemodel, ply): if self.boardview.animating: return if not self.boardview.shownIsMainLine(): return if ply - gamemodel.lowply > len(self.plot.scores) - 1: # analysis line of yet undone position return color = (ply - 1) % 2 score = gamemodel.scores[ply][1] score = score * -1 if color == WHITE else score self.plot.changeScore(ply - gamemodel.lowply, score) self.plot.redraw() def plot_selected(self, plot, selected): try: board = self.boardview.model.boards[selected] except IndexError: return self.boardview.setShownBoard(board) class ScorePlot(Gtk.DrawingArea): __gtype_name__ = "ScorePlot" + str(randint(0, sys.maxsize)) __gsignals__ = {"selected": (GObject.SignalFlags.RUN_FIRST, None, (int, ))} def __init__(self, boardview): GObject.GObject.__init__(self) self.boardview = boardview self.connect("draw", self.expose) self.connect("button-press-event", self.press) self.props.can_focus = True self.set_events(Gdk.EventMask.BUTTON_PRESS_MASK | Gdk.EventMask.KEY_PRESS_MASK) self.scores = [] self.selected = 0 def get_move_height(self): c = self.__len__() w = self.get_allocation().width if c != 0: w = int(floor(w / c)) return max(min(w, 24), 1) def addScore(self, score): self.scores.append(score) def changeScore(self, ply, score): if self.scores: self.scores[ply] = score def __len__(self): return len(self.scores) def undo(self): del self.scores[-1] def select(self, index): self.selected = index def clear(self): del self.scores[:] def redraw(self): if self.get_window(): a = self.get_allocation() rect = Gdk.Rectangle() rect.x, rect.y, rect.width, rect.height = (0, 0, a.width, a.height) self.get_window().invalidate_rect(rect, True) self.get_window().process_updates(True) def press(self, widget, event): self.grab_focus() self.emit('selected', event.x / self.get_move_height()) def expose(self, widget, context): a = widget.get_allocation() context.rectangle(0, 0, a.width, a.height) context.clip() self.draw(context) return False def draw(self, cr): m = self.boardview.model if m.isPlayingICSGame(): return width = self.get_allocation().width height = self.get_allocation().height ######################################## # Draw background # ######################################## cr.set_source_rgb(1, 1, 1) cr.rectangle(0, 0, width, height) cr.fill() ######################################## # Draw the actual plot (dark area) # ######################################## def sign(n): return n == 0 and 1 or n / abs(n) def mapper(score): if self.linear_scale: return min(abs(score), 800) / 800 * sign(score) # Linear else: return (e ** (5e-4 * abs(score)) - 1) * sign(score) # Exponentially stretched if self.scores: cr.set_source_rgb(0, 0, 0) cr.move_to(0, height) cr.line_to(0, (height / 2.) * (1 + mapper(self.scores[0]))) for i, score in enumerate(self.scores): x = (i + 1) * self.get_move_height() y = (height / 2.) * (1 + mapper(score)) y = max(0, min(height, y)) cr.line_to(x, y) cr.line_to(x, height) cr.fill() else: x = 0 cr.set_source_rgb(0.9, 0.9, 0.9) cr.rectangle(x, 0, width, height) cr.fill() ######################################## # Draw middle line and markers # ######################################## cr.set_line_width(0.25) markers = [16, -16, 8, -8, 3, -3, 0] # centipawns for mark in markers: if mark == 0: cr.set_source_rgb(1, 0, 0) else: cr.set_source_rgb(0.85, 0.85, 0.85) y = (height / 2.) * (1 + mapper(100 * mark)) y = max(0, min(height, y)) cr.move_to(0, y) cr.line_to(width, y) cr.stroke() ######################################## # Draw selection # ######################################## lw = 2 cr.set_line_width(lw) s = self.get_move_height() x = self.selected * s cr.rectangle(x - lw / 2, lw / 2, s + lw, height - lw) found, color = self.get_style_context().lookup_color("p_bg_selected") cr.set_source_rgba(color.red, color.green, color.blue, .15) cr.fill_preserve() cr.set_source_rgb(color.red, color.green, color.blue) cr.stroke() pychess-1.0.0/lib/pychess/perspectives/games/__init__.py0000644000175000017500000010372613415440662022421 0ustar varunvarun""" The task of this perspective, is to save, load and init new games """ import asyncio import os import subprocess import tempfile from collections import defaultdict from io import StringIO from gi.repository import Gtk from gi.repository import GObject from pychess.Savers.ChessFile import LoadingError from pychess.Savers import epd, fen, pgn, olv, png, database, html, txt from pychess.System import conf from pychess.System.Log import log from pychess.System.protoopen import isWriteable from pychess.System.uistuff import GladeWidgets from pychess.System.prefix import addUserConfigPrefix from pychess.Savers.pgn import parseDateTag from pychess.Utils.const import UNFINISHED_STATES, ABORTED, ABORTED_AGREEMENT, LOCAL, ARTIFICIAL, MENU_ITEMS from pychess.Utils.Offer import Offer from pychess.widgets import gamewidget, mainwindow, new_notebook from pychess.widgets.gamenanny import game_nanny from pychess.perspectives import Perspective, perspective_manager, panel_name from pychess.widgets.pydock.PyDockTop import PyDockTop from pychess.widgets.pydock.__init__ import CENTER, EAST, SOUTH from pychess.ic.ICGameModel import ICGameModel enddir = {} savers = (pgn, epd, fen, olv, png, html, txt) # chessalpha2 is broken saveformats = Gtk.ListStore(str, str, GObject.TYPE_PYOBJECT) exportformats = Gtk.ListStore(str, str, GObject.TYPE_PYOBJECT) auto = _("Detect type automatically") saveformats.append([auto, "", None]) exportformats.append([auto, "", None]) for saver in savers: label, ending = saver.__label__, saver.__ending__ endstr = "(%s)" % ending enddir[ending] = saver if hasattr(saver, "load"): saveformats.append([label, endstr, saver]) else: exportformats.append([label, endstr, saver]) class Games(GObject.GObject, Perspective): __gsignals__ = { 'gmwidg_created': (GObject.SignalFlags.RUN_FIRST, None, (object, )) } def __init__(self): GObject.GObject.__init__(self) Perspective.__init__(self, "games", _("Games")) self.notebooks = {} self.first_run = True self.gamewidgets = set() self.gmwidg_cids = {} self.board_cids = {} self.notify_cids = defaultdict(list) self.key2gmwidg = {} self.key2cid = {} self.dock = None self.dockAlign = None self.dockLocation = addUserConfigPrefix("pydock.xml") @asyncio.coroutine def generalStart(self, gamemodel, player0tup, player1tup, loaddata=None): """ The player tuples are: (The type af player in a System.const value, A callable creating the player, A list of arguments for the callable, A preliminary name for the player) If loaddata is specified, it should be a tuple of: (A text uri or fileobj, A Savers.something module with a load function capable of loading it, An int of the game in file you want to load, The position from where to start the game) """ log.debug("Games.generalStart: %s\n %s\n %s" % (gamemodel, player0tup, player1tup)) gmwidg = gamewidget.GameWidget(gamemodel, self) self.gamewidgets.add(gmwidg) self.gmwidg_cids[gmwidg] = gmwidg.connect("game_close_clicked", self.closeGame) # worker.publish((gmwidg,gamemodel)) self.attachGameWidget(gmwidg) game_nanny.nurseGame(gmwidg, gamemodel) log.debug("Games.generalStart: -> emit gmwidg_created: %s" % (gmwidg)) self.emit("gmwidg_created", gmwidg) log.debug("Games.generalStart: <- emit gmwidg_created: %s" % (gmwidg)) # Initing players def xxxset_name(none, player, key, alt): player.setName(conf.get(key, alt)) players = [] for i, playertup in enumerate((player0tup, player1tup)): type, func, args, prename = playertup if type != LOCAL: if type == ARTIFICIAL: player = yield from func(*args) else: player = func(*args) players.append(player) # if type == ARTIFICIAL: # def readyformoves (player, color): # gmwidg.setTabText(gmwidg.display_text)) # players[i].connect("readyForMoves", readyformoves, i) else: # Until PyChess has a proper profiles system, as discussed on the # issue tracker, we need to give human players special treatment player = func(gmwidg, *args) players.append(player) assert len(players) == 2 if player0tup[0] == ARTIFICIAL and player1tup[0] == ARTIFICIAL: def emit_action(board, action, player, param, gmwidg): if gmwidg.isInFront(): gamemodel.curplayer.emit("offer", Offer(action, param=param)) self.board_cids[gmwidg.board] = gmwidg.board.connect("action", emit_action, gmwidg) log.debug("Games.generalStart: -> gamemodel.setPlayers(): %s" % (gamemodel)) gamemodel.setPlayers(players) log.debug("Games.generalStart: <- gamemodel.setPlayers(): %s" % (gamemodel)) # Forward information from the engines for playertup, tagname in ((player0tup, "WhiteElo"), (player1tup, "BlackElo")): if playertup[0] == ARTIFICIAL: elo = playertup[2][0].get("elo") if elo: gamemodel.tags[tagname] = elo # Starting if loaddata: try: uri, loader, gameno, position = loaddata gamemodel.loadAndStart(uri, loader, gameno, position) if position != gamemodel.ply and position != -1: gmwidg.board.view.shown = position except LoadingError as e: d = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.WARNING, buttons=Gtk.ButtonsType.OK) d.set_markup(_("Error loading game")) d.format_secondary_text(", ".join(str(a) for a in e.args)) d.show() d.destroy() else: if gamemodel.variant.need_initial_board: for player in gamemodel.players: player.setOptionInitialBoard(gamemodel) log.debug("Games..generalStart: -> gamemodel.start(): %s" % (gamemodel)) gamemodel.emit("game_loaded", "") gamemodel.start() log.debug("Games.generalStart: <- gamemodel.start(): %s" % (gamemodel)) log.debug("Games.generalStart: returning gmwidg=%s\n gamemodel=%s" % (gmwidg, gamemodel)) ################################################################################ # Saving # ################################################################################ def saveGame(self, game, position=None): if not game.isChanged(): return if game.uri and isWriteable(game.uri): self.saveGameSimple(game.uri, game, position=position) else: return self.saveGameAs(game, position=position) def saveGameSimple(self, uri, game, position=None): ending = os.path.splitext(uri)[1] if not ending: return saver = enddir[ending[1:]] game.save(uri, saver, append=False, position=position) def saveGamePGN(self, game): if conf.get("saveOwnGames") and not game.hasLocalPlayer(): return True filename = conf.get("autoSaveFormat") filename = filename.replace("#n1", game.tags["White"]) filename = filename.replace("#n2", game.tags["Black"]) year, month, day = parseDateTag(game.tags["Date"]) year = '' if year is None else str(year) month = '' if month is None else str(month) day = '' if day is None else str(day) filename = filename.replace("#y", "%s" % year) filename = filename.replace("#m", "%s" % month) filename = filename.replace("#d", "%s" % day) pgn_path = conf.get("autoSavePath") + "/" + filename + ".pgn" append = True try: if not os.path.isfile(pgn_path): # create new file with open(pgn_path, "w"): pass base_offset = os.path.getsize(pgn_path) # save to .sqlite database_path = os.path.splitext(pgn_path)[0] + '.sqlite' database.save(database_path, game, base_offset) # save to .scout from pychess.Savers.pgn import scoutfish_path if scoutfish_path is not None: pgn_text = pgn.save(StringIO(), game) tmp = tempfile.NamedTemporaryFile(mode="w", encoding="utf-8", delete=False) pgnfile = tmp.name with tmp.file as f: f.write(pgn_text) # create new .scout from pgnfile we are importing args = [scoutfish_path, "make", pgnfile, "%s" % base_offset] output = subprocess.check_output(args, stderr=subprocess.STDOUT) # append it to our existing one if output.decode().find(u"Processing...done") > 0: old_scout = os.path.splitext(pgn_path)[0] + '.scout' new_scout = os.path.splitext(pgnfile)[0] + '.scout' with open(old_scout, "ab") as file1, open(new_scout, "rb") as file2: file1.write(file2.read()) # TODO: do we realy want to update .bin ? It can be huge/slow! # save to .pgn game.save(pgn_path, pgn, append) return True except IOError: return False def saveGameAs(self, game, position=None, export=False): savedialog, savecombo = get_save_dialog(export) # Keep running the dialog until the user has canceled it or made an error # free operation title = _("Save Game") if not export else _("Export position") savedialog.set_title(title) while True: filename = "%s-%s" % (game.players[0], game.players[1]) savedialog.set_current_name(filename.replace(" ", "_")) res = savedialog.run() if res != Gtk.ResponseType.ACCEPT: break uri = savedialog.get_filename() ending = os.path.splitext(uri)[1] if ending.startswith("."): ending = ending[1:] append = False index = savecombo.get_active() if index == 0: if ending not in enddir: d = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.ERROR, buttons=Gtk.ButtonsType.OK) folder, file = os.path.split(uri) d.set_markup(_("Unknown file type '%s'") % ending) d.format_secondary_text(_( "Was unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.") % {'uri': uri, 'ending': ending}) d.run() d.destroy() continue else: saver = enddir[ending] else: format = exportformats[index] if export else saveformats[index] saver = format[2] if ending not in enddir or not saver == enddir[ending]: uri += ".%s" % saver.__ending__ if os.path.isfile(uri) and not os.access(uri, os.W_OK): d = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.ERROR, buttons=Gtk.ButtonsType.OK) d.set_markup(_("Unable to save file '%s'") % uri) d.format_secondary_text(_( "You don't have the necessary rights to save the file.\n\ Please ensure that you have given the right path and try again.")) d.run() d.destroy() continue if os.path.isfile(uri): d = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.QUESTION) d.add_buttons(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, _("_Replace"), Gtk.ResponseType.ACCEPT) if saver.__append__: d.add_buttons(Gtk.STOCK_ADD, 1) d.set_title(_("File exists")) folder, file = os.path.split(uri) d.set_markup(_( "A file named '%s' already exists. Would you like to replace it?") % file) d.format_secondary_text(_( "The file already exists in '%s'. If you replace it, its content will be overwritten.") % folder) replaceRes = d.run() d.destroy() if replaceRes == 1: append = True elif replaceRes == Gtk.ResponseType.CANCEL: continue else: print(repr(uri)) try: flip = self.cur_gmwidg().board.view.rotation > 0 game.save(uri, saver, append, position, flip) except IOError as e: d = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.ERROR) d.add_buttons(Gtk.STOCK_OK, Gtk.ResponseType.OK) d.set_title(_("Could not save the file")) d.set_markup(_( "PyChess was not able to save the game")) d.format_secondary_text(_("The error was: %s") % ", ".join( str(a) for a in e.args)) d.run() d.destroy() continue break savedialog.destroy() return res ################################################################################ # Closing # ################################################################################ def closeAllGames(self, gamewidgets): log.debug("Games.closeAllGames") response = None changedPairs = [(gmwidg, gmwidg.gamemodel) for gmwidg in gamewidgets if gmwidg.gamemodel.isChanged()] if len(changedPairs) == 0: response = Gtk.ResponseType.OK elif len(changedPairs) == 1: response = self.closeGame(changedPairs[0][0]) else: markup = "" + ngettext("There is %d game with unsaved moves.", "There are %d games with unsaved moves.", len(changedPairs)) % len(changedPairs) + " " + \ _("Save moves before closing?") + "" for gmwidg, game in changedPairs: if not gmwidg.gamemodel.isChanged(): response = Gtk.ResponseType.OK else: if conf.get("autoSave"): x = self.saveGamePGN(game) if x: response = Gtk.ResponseType.OK else: response = None markup = "" + _("Unable to save to configured file. \ Save the games before closing?") + "" break if response is None: widgets = GladeWidgets("saveGamesDialog.glade") dialog = widgets["saveGamesDialog"] heading = widgets["saveGamesDialogHeading"] saveLabel = widgets["saveGamesDialogSaveLabel"] treeview = widgets["saveGamesDialogTreeview"] heading.set_markup(markup) liststore = Gtk.ListStore(bool, str) treeview.set_model(liststore) renderer = Gtk.CellRendererToggle() renderer.props.activatable = True treeview.append_column(Gtk.TreeViewColumn("", renderer, active=0)) treeview.append_column(Gtk.TreeViewColumn("", Gtk.CellRendererText(), text=1)) for gmwidg, game in changedPairs: liststore.append((True, "%s %s %s" % (game.players[0], _("vs."), game.players[1]))) def callback(cell, path): if path: liststore[path][0] = not liststore[path][0] saves = len(tuple(row for row in liststore if row[0])) saveLabel.set_text(ngettext( "_Save %d document", "_Save %d documents", saves) % saves) saveLabel.set_use_underline(True) renderer.connect("toggled", callback) callback(None, None) while True: response = dialog.run() if response == Gtk.ResponseType.YES: for i in range(len(liststore) - 1, -1, -1): checked, name = liststore[i] if checked: cgmwidg, cgame = changedPairs[i] if self.saveGame(cgame) == Gtk.ResponseType.ACCEPT: liststore.remove(liststore.get_iter((i, ))) del changedPairs[i] if cgame.status in UNFINISHED_STATES: cgame.end(ABORTED, ABORTED_AGREEMENT) cgame.terminate() self.delGameWidget(cgmwidg) else: break else: break else: break dialog.destroy() if response not in (Gtk.ResponseType.DELETE_EVENT, Gtk.ResponseType.CANCEL): pairs = [(gmwidg, gmwidg.gamemodel) for gmwidg in gamewidgets] for gmwidg, game in pairs: if game.status in UNFINISHED_STATES: game.end(ABORTED, ABORTED_AGREEMENT) game.terminate() if gmwidg.notebookKey in self.key2gmwidg: self.delGameWidget(gmwidg) return response def closeGame(self, gmwidg): log.debug("Games.closeGame") response = None if not gmwidg.gamemodel.isChanged(): response = Gtk.ResponseType.OK else: markup = "" + _("Save the current game before you close it?") + "" if conf.get("autoSave"): x = self.saveGamePGN(gmwidg.gamemodel) if x: response = Gtk.ResponseType.OK else: markup = "" + _("Unable to save to configured file. \ Save the current game before you close it?") + "" if response is None: d = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.WARNING) d.add_button(_("Close _without Saving"), Gtk.ResponseType.OK) d.add_button(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL) if gmwidg.gamemodel.uri: d.add_button(Gtk.STOCK_SAVE, Gtk.ResponseType.YES) else: d.add_button(Gtk.STOCK_SAVE_AS, Gtk.ResponseType.YES) gmwidg.bringToFront() d.set_markup(markup) d.format_secondary_text(_( "It is not possible later to continue the game,\nif you don't save it.")) response = d.run() d.destroy() if response == Gtk.ResponseType.YES: # Test if cancel was pressed in the save-file-dialog if self.saveGame(gmwidg.gamemodel) != Gtk.ResponseType.ACCEPT: response = Gtk.ResponseType.CANCEL if response not in (Gtk.ResponseType.DELETE_EVENT, Gtk.ResponseType.CANCEL): if gmwidg.gamemodel.status in UNFINISHED_STATES: gmwidg.gamemodel.end(ABORTED, ABORTED_AGREEMENT) gmwidg.disconnect(self.gmwidg_cids[gmwidg]) del self.gmwidg_cids[gmwidg] for cid in self.notify_cids[gmwidg]: conf.notify_remove(cid) del self.notify_cids[gmwidg] if gmwidg.board in self.board_cids: gmwidg.board.disconnect(self.board_cids[gmwidg.board]) del self.board_cids[gmwidg.board] self.delGameWidget(gmwidg) self.gamewidgets.remove(gmwidg) gmwidg.gamemodel.terminate() db_persp = perspective_manager.get_perspective("database") if len(self.gamewidgets) == 0: for widget in MENU_ITEMS: if widget in ("copy_pgn", "copy_fen") and db_persp.preview_panel is not None: continue gamewidget.getWidgets()[widget].set_property('sensitive', False) return response def delGameWidget(self, gmwidg): """ Remove the widget from the GUI after the game has been terminated """ log.debug("Games.delGameWidget: starting %s" % repr(gmwidg)) gmwidg.closed = True gmwidg.emit("closed") called_from_preferences = False window_list = Gtk.Window.list_toplevels() widgets = gamewidget.getWidgets() for window in window_list: if window.is_active() and window == widgets["preferences"]: called_from_preferences = True break pageNum = gmwidg.getPageNumber() headbook = self.getheadbook() if gmwidg.notebookKey in self.key2gmwidg: del self.key2gmwidg[gmwidg.notebookKey] if gmwidg.notebookKey in self.key2cid: headbook.disconnect(self.key2cid[gmwidg.notebookKey]) del self.key2cid[gmwidg.notebookKey] headbook.remove_page(pageNum) for notebook in self.notebooks.values(): notebook.remove_page(pageNum) if headbook.get_n_pages() == 1 and conf.get("hideTabs"): self.show_tabs(False) if headbook.get_n_pages() == 0: if not called_from_preferences: # If the last (but not the designGW) gmwidg was closed # and we are FICS-ing, present the FICS lounge perspective_manager.disable_perspective("games") gmwidg._del() def init_layout(self): perspective_widget = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) perspective_manager.set_perspective_widget("games", perspective_widget) self.notebooks = {"board": new_notebook("board"), "buttons": new_notebook("buttons"), "messageArea": new_notebook("messageArea")} self.main_notebook = self.notebooks["board"] for panel in self.sidePanels: self.notebooks[panel_name(panel.__name__)] = new_notebook(panel_name(panel.__name__)) # Initing headbook align = gamewidget.createAlignment(4, 4, 0, 4) align.set_property("yscale", 0) headbook = Gtk.Notebook() headbook.set_name("headbook") headbook.set_scrollable(True) align.add(headbook) perspective_widget.pack_start(align, False, True, 0) self.show_tabs(not conf.get("hideTabs")) # Initing center centerVBox = Gtk.VBox() # The dock self.dock = PyDockTop("main", self) self.dockAlign = gamewidget.createAlignment(4, 4, 0, 4) self.dockAlign.add(self.dock) centerVBox.pack_start(self.dockAlign, True, True, 0) self.dockAlign.show() self.dock.show() self.docks["board"] = (Gtk.Label(label="Board"), self.notebooks["board"], None) for panel in self.sidePanels: self.docks[panel_name(panel.__name__)][1] = self.notebooks[panel_name(panel.__name__)] self.load_from_xml() # Default layout of side panels first_time_layout = False if not os.path.isfile(self.dockLocation): first_time_layout = True leaf = self.dock.dock(self.docks["board"][1], CENTER, Gtk.Label(label=self.docks["board"][0]), "board") self.docks["board"][1].show_all() leaf.setDockable(False) # S epanel = leaf.dock(self.docks["bookPanel"][1], SOUTH, self.docks["bookPanel"][0], "bookPanel") epanel.default_item_height = 45 epanel = epanel.dock(self.docks["engineOutputPanel"][1], CENTER, self.docks["engineOutputPanel"][0], "engineOutputPanel") # NE leaf = leaf.dock(self.docks["annotationPanel"][1], EAST, self.docks["annotationPanel"][0], "annotationPanel") leaf = leaf.dock(self.docks["historyPanel"][1], CENTER, self.docks["historyPanel"][0], "historyPanel") leaf = leaf.dock(self.docks["scorePanel"][1], CENTER, self.docks["scorePanel"][0], "scorePanel") # SE leaf = leaf.dock(self.docks["chatPanel"][1], SOUTH, self.docks["chatPanel"][0], "chatPanel") leaf = leaf.dock(self.docks["commentPanel"][1], CENTER, self.docks["commentPanel"][0], "commentPanel") def unrealize(dock, notebooks): # unhide the panel before saving so its configuration is saved correctly self.notebooks["board"].get_parent().get_parent().zoomDown() dock.saveToXML(self.dockLocation) dock._del() self.dock.connect("unrealize", unrealize, self.notebooks) hbox = Gtk.HBox() # Buttons self.notebooks["buttons"].set_border_width(4) hbox.pack_start(self.notebooks["buttons"], False, True, 0) # The message area # TODO: If you try to fix this first read issue #958 and 1018 align = gamewidget.createAlignment(0, 0, 0, 0) # sw = Gtk.ScrolledWindow() # port = Gtk.Viewport() # port.add(self.notebooks["messageArea"]) # sw.add(port) # align.add(sw) align.add(self.notebooks["messageArea"]) hbox.pack_start(align, True, True, 0) def ma_switch_page(notebook, gpointer, page_num): notebook.props.visible = notebook.get_nth_page(page_num).\ get_child().props.visible self.notebooks["messageArea"].connect("switch-page", ma_switch_page) centerVBox.pack_start(hbox, False, True, 0) perspective_widget.pack_start(centerVBox, True, True, 0) centerVBox.show_all() perspective_widget.show_all() perspective_manager.set_perspective_menuitems("games", self.menuitems, default=first_time_layout) conf.notify_add("hideTabs", self.tabsCallback) # Connecting headbook to other notebooks def hb_switch_page(notebook, gpointer, page_num): for notebook in self.notebooks.values(): notebook.set_current_page(page_num) gmwidg = self.key2gmwidg[self.getheadbook().get_nth_page(page_num)] if isinstance(gmwidg.gamemodel, ICGameModel): primary = "primary " + str(gmwidg.gamemodel.ficsgame.gameno) gmwidg.gamemodel.connection.client.run_command(primary) headbook.connect("switch-page", hb_switch_page) if hasattr(headbook, "set_tab_reorderable"): def page_reordered(widget, child, new_num, headbook): old_num = self.notebooks["board"].page_num(self.key2gmwidg[child].boardvbox) if old_num == -1: log.error('Games and labels are out of sync!') else: for notebook in self.notebooks.values(): notebook.reorder_child( notebook.get_nth_page(old_num), new_num) headbook.connect("page-reordered", page_reordered, headbook) def adjust_divider(self, diff): """ Try to move paned (containing board) divider to show/hide captured pieces """ if self.dock is None: return child = self.dock.get_children()[0] c1 = child.paned.get_child1() if hasattr(c1, "paned"): c1.paned.set_position(c1.paned.get_position() + diff) else: child.paned.set_position(child.paned.get_position() + diff) def getheadbook(self): if len(self.key2gmwidg) == 0: return None headbook = self.widget.get_children()[0].get_children()[0].get_child() # to help StoryText create widget description # headbook.get_tab_label_text = customGetTabLabelText return headbook def cur_gmwidg(self): if len(self.key2gmwidg) == 0: return None headbook = self.getheadbook() notebookKey = headbook.get_nth_page(headbook.get_current_page()) return self.key2gmwidg[notebookKey] def customGetTabLabelText(self, child): gmwidg = self.key2gmwidg[child] return gmwidg.display_text def zoomToBoard(self, view_zoomed): if not self.notebooks["board"].get_parent(): return if view_zoomed: self.notebooks["board"].get_parent().get_parent().zoomUp() else: self.notebooks["board"].get_parent().get_parent().zoomDown() def show_tabs(self, show): head = self.getheadbook() if head is None: return head.set_show_tabs(show) def tabsCallback(self, widget): head = self.getheadbook() if not head: return if head.get_n_pages() == 1: self.show_tabs(not conf.get("hideTabs")) def attachGameWidget(self, gmwidg): log.debug("attachGameWidget: %s" % gmwidg) if self.first_run: self.init_layout() self.first_run = False perspective_manager.activate_perspective("games") gmwidg.panels = [panel.Sidepanel().load(gmwidg) for panel in self.sidePanels] self.key2gmwidg[gmwidg.notebookKey] = gmwidg headbook = self.getheadbook() headbook.append_page(gmwidg.notebookKey, gmwidg.tabcontent) gmwidg.notebookKey.show_all() if hasattr(headbook, "set_tab_reorderable"): headbook.set_tab_reorderable(gmwidg.notebookKey, True) def callback(notebook, gpointer, page_num, gmwidg): if notebook.get_nth_page(page_num) == gmwidg.notebookKey: gmwidg.infront() if gmwidg.gamemodel.players and gmwidg.gamemodel.isObservationGame(): gmwidg.light_on_off(False) text = gmwidg.game_info_label.get_text() gmwidg.game_info_label.set_markup( '%s' % text) self.key2cid[gmwidg.notebookKey] = headbook.connect_after("switch-page", callback, gmwidg) gmwidg.infront() align = gamewidget.createAlignment(0, 0, 0, 0) align.show() align.add(gmwidg.infobar) self.notebooks["messageArea"].append_page(align, None) self.notebooks["board"].append_page(gmwidg.boardvbox, None) gmwidg.boardvbox.show_all() for panel, instance in zip(self.sidePanels, gmwidg.panels): self.notebooks[panel_name(panel.__name__)].append_page(instance, None) instance.show_all() self.notebooks["buttons"].append_page(gmwidg.stat_hbox, None) gmwidg.stat_hbox.show_all() if headbook.get_n_pages() == 1: self.show_tabs(not conf.get("hideTabs")) else: # We should always show tabs if more than one exists self.show_tabs(True) headbook.set_current_page(-1) widgets = gamewidget.getWidgets() if headbook.get_n_pages() == 1 and not widgets["show_sidepanels"].get_active(): self.zoomToBoard(True) def get_save_dialog(export=False): savedialog = Gtk.FileChooserDialog( "", mainwindow(), Gtk.FileChooserAction.SAVE, (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_SAVE, Gtk.ResponseType.ACCEPT)) savedialog.set_current_folder(os.path.expanduser("~")) # Add widgets to the savedialog savecombo = Gtk.ComboBox() savecombo.set_name("savecombo") crt = Gtk.CellRendererText() savecombo.pack_start(crt, True) savecombo.add_attribute(crt, 'text', 0) crt = Gtk.CellRendererText() savecombo.pack_start(crt, False) savecombo.add_attribute(crt, 'text', 1) if export: savecombo.set_model(exportformats) else: savecombo.set_model(saveformats) savecombo.set_active(1) # pgn savedialog.set_extra_widget(savecombo) return savedialog, savecombo def get_open_dialog(): opendialog = Gtk.FileChooserDialog( _("Open chess file"), mainwindow(), Gtk.FileChooserAction.OPEN, (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_OPEN, Gtk.ResponseType.OK)) opendialog.set_show_hidden(True) opendialog.set_select_multiple(True) # All chess files filter all_filter = Gtk.FileFilter() all_filter.set_name(_("All Chess Files")) opendialog.add_filter(all_filter) opendialog.set_filter(all_filter) # Specific filters and save formats for ending, saver in enddir.items(): label = saver.__label__ endstr = "(%s)" % ending f = Gtk.FileFilter() f.set_name(label + " " + endstr) if hasattr(saver, "load"): f.add_pattern("*." + ending) all_filter.add_pattern("*." + ending) opendialog.add_filter(f) return opendialog pychess-1.0.0/lib/pychess/perspectives/games/historyPanel.py0000755000175000017500000002242313365545272023347 0ustar varunvarunfrom gi.repository import Gtk, Gdk from pychess.System import conf from pychess.System.prefix import addDataPrefix from pychess.Utils.const import BLACK from pychess.Utils.Move import toSAN, toFAN from pychess.widgets.Background import hexcol __title__ = _("Move History") __active__ = True __icon__ = addDataPrefix("glade/panel_moves.svg") __desc__ = _( "The moves sheet keeps track of the players' moves and lets you navigate through the game history") class Sidepanel: def load(self, gmwidg): self.gamemodel = gmwidg.board.view.model self.model_cids = [ self.gamemodel.connect_after("game_changed", self.game_changed), self.gamemodel.connect_after("game_started", self.game_started), self.gamemodel.connect_after("moves_undone", self.moves_undone), self.gamemodel.connect_after("game_terminated", self.on_game_terminated), ] self.tv = Gtk.TreeView() self.tv.set_headers_visible(False) self.tv.set_grid_lines(True) self.tv.set_activate_on_single_click(True) self.tv.get_selection().set_mode(Gtk.SelectionMode.NONE) self.activated_cell = (None, None) def is_row_separator(treemodel, treeiter): mvcount, wmove, bmove, row, wbg, bbg = self.store[treeiter] return row == 0 self.tv.set_row_separator_func(is_row_separator) self.tv.connect("style-updated", self.on_style_updated) movetext_font = conf.get("movetextFont") renderer = Gtk.CellRendererText() column = Gtk.TreeViewColumn("mvcount", renderer, text=0) column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) self.tv.append_column(column) self.white_renderer = Gtk.CellRendererText() self.white_renderer.set_property("xalign", 1) self.white_renderer.set_property("font", movetext_font) self.white_column = Gtk.TreeViewColumn("white", self.white_renderer, text=1, background=4) self.white_column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) self.tv.append_column(self.white_column) self.black_renderer = Gtk.CellRendererText() self.black_renderer.set_property("xalign", 1) self.black_renderer.set_property("font", movetext_font) self.black_column = Gtk.TreeViewColumn("black", self.black_renderer, text=2, background=5) self.black_column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) self.tv.append_column(self.black_column) # To prevent black moves column expand to the right we add a dummy column finally renderer = Gtk.CellRendererText() column = Gtk.TreeViewColumn("dummy", renderer) self.tv.append_column(column) scrollwin = Gtk.ScrolledWindow() scrollwin.add(self.tv) # Our liststore elements will be: # mvcount, white move, black move, row number, white move background, black move background self.store = Gtk.ListStore(str, str, str, int, str, str) self.tv.set_model(self.store) self.tv_cid = self.tv.connect('row_activated', self.on_row_activated) self.boardview = gmwidg.board.view self.cid = self.boardview.connect("shownChanged", self.shownChanged) scrollwin.show_all() self.figuresInNotation = conf.get("figuresInNotation") def figuresInNotationCallback(none): game = self.boardview.model if game.lesson_game: return self.figuresInNotation = conf.get("figuresInNotation") for i, move in enumerate(game.moves): board = game.variations[0][i] ply = game.lowply + i + 1 if conf.get("figuresInNotation"): notat = toFAN(board, move) else: notat = toSAN(board, move, True) row, column = self.ply_to_row_col(ply) col = 2 if column == self.black_column else 1 treeiter = self.store.get_iter(Gtk.TreePath(row)) self.store.set_value(treeiter, col, notat) def font_changed(none): movetext_font = conf.get("movetextFont") self.black_renderer.set_property("font", movetext_font) self.white_renderer.set_property("font", movetext_font) self.shownChanged(self.boardview, self.boardview.shown) self.cids_conf = [] self.cids_conf.append(conf.notify_add("movetextFont", font_changed)) self.cids_conf.append(conf.notify_add("figuresInNotation", figuresInNotationCallback)) return scrollwin def get_background_rgba(self, selected=False): if selected: found, color = self.tv.get_style_context().lookup_color("theme_selected_bg_color") else: found, color = self.tv.get_style_context().lookup_color("theme_base_color") return hexcol(Gdk.RGBA(color.red, color.green, color.blue, 1)) def on_style_updated(self, widget): for row in self.store: row[4] = self.get_background_rgba() row[5] = self.get_background_rgba() # update selected cell self.shownChanged(self.boardview, self.boardview.shown) def on_game_terminated(self, model): self.tv.disconnect(self.tv_cid) for cid in self.model_cids: self.gamemodel.disconnect(cid) self.boardview.disconnect(self.cid) for cid in self.cids_conf: conf.notify_remove(cid) def on_row_activated(self, tv, path, col, from_show_changed=False): if col not in (self.white_column, self.black_column): return # Make previous activated cell background color unselected old_row, old_col = self.activated_cell if old_row is not None: bg_col = 5 if old_col == self.black_column else 4 treeiter = self.store.get_iter(Gtk.TreePath(old_row)) self.store.set_value(treeiter, bg_col, self.get_background_rgba(selected=False)) # Make activated cell background color selected self.activated_cell = path[0], col bg_col = 5 if col == self.black_column else 4 treeiter = self.store.get_iter(Gtk.TreePath(path[0])) self.store.set_value(treeiter, bg_col, self.get_background_rgba(selected=True)) index = path[0] * 2 - 1 + (1 if col == self.black_column else 0) if self.gamemodel.starting_color == BLACK: index -= 1 if index < len(self.gamemodel.boards): # Don't set shown board if on_row_activated() was called from shownChanged() if not from_show_changed: board = self.gamemodel.boards[index] self.boardview.setShownBoard(board) def shownChanged(self, boardview, shown): if boardview is None or self.gamemodel is None: return if not boardview.shownIsMainLine(): return row, column = self.ply_to_row_col(shown) try: self.on_row_activated(self, Gtk.TreePath(row), column, from_show_changed=True) self.tv.scroll_to_cell(row) except ValueError: pass # deleted variations by moves_undoing def moves_undone(self, gamemodel, moves): for i in range(moves): treeiter = self.store.get_iter((len(self.store) - 1, )) # If latest move is black move don't remove whole line! if self.store[-1][2]: self.store.set_value(treeiter, 2, "") else: self.store.remove(treeiter) def game_changed(self, gamemodel, ply): if self.boardview is None or self.boardview.model is None: return if len(self.store) == 0: for i in range(len(self.store) + gamemodel.lowply, ply + 1): self.add_move(gamemodel, i) else: self.add_move(gamemodel, ply) self.shownChanged(self.boardview, ply) def game_started(self, game): if game.lesson_game: return self.game_changed(game, game.ply) def add_move(self, gamemodel, ply): if ply == gamemodel.lowply: self.store.append(["%4s." % gamemodel.lowply, "1234567", "1234567", 0, self.get_background_rgba(), self.get_background_rgba()]) return if self.figuresInNotation: notat = toFAN(gamemodel.getBoardAtPly(ply - 1), gamemodel.getMoveAtPly(ply - 1)) else: notat = toSAN(gamemodel.getBoardAtPly(ply - 1), gamemodel.getMoveAtPly(ply - 1), localRepr=True) row, column = self.ply_to_row_col(ply) if len(self.store) - 1 < row: mvcount = "%s." % ((ply + 1) // 2) if column == self.white_column: self.store.append([mvcount, notat, "", row, self.get_background_rgba(), self.get_background_rgba()]) else: self.store.append([mvcount, "", notat, row, self.get_background_rgba(), self.get_background_rgba()]) else: treeiter = self.store.get_iter(Gtk.TreePath(row)) col = 1 if column == self.white_column else 2 self.store.set_value(treeiter, col, notat) def ply_to_row_col(self, ply): col = ply & 1 and self.white_column or self.black_column if self.gamemodel.lowply & 1: row = (ply - self.gamemodel.lowply) // 2 else: row = (ply - self.gamemodel.lowply - 1) // 2 return row + 1, col pychess-1.0.0/lib/pychess/perspectives/games/commentPanel.py0000755000175000017500000002315313365545272023311 0ustar varunvarun# -*- coding: UTF-8 -*- from gi.repository import Gtk from pychess.System import uistuff from pychess.System.prefix import addDataPrefix from pychess.Utils.const import reprCord from pychess.Utils.repr import reprColor, reprPiece from pychess.Utils.lutils.lmove import TCORD from pychess.Utils.lutils.leval import evalMaterial from pychess.Utils.lutils import strateval __title__ = _("Comments") __icon__ = addDataPrefix("glade/panel_comments.svg") __desc__ = _( "The comments panel will try to analyze and explain the moves played") class Sidepanel: def __init__(self): self.givenTips = {} def load(self, gmwidg): self.gamemodel = gmwidg.board.view.model self.model_cids = [ self.gamemodel.connect_after("game_changed", self.game_changed), self.gamemodel.connect_after("game_started", self.game_started), self.gamemodel.connect_after("moves_undone", self.moves_undone), self.gamemodel.connect_after("game_terminated", self.on_game_terminated), ] scrollwin = Gtk.ScrolledWindow() self.tv = Gtk.TreeView() self.tv.set_headers_visible(False) scrollwin.add(self.tv) scrollwin.show_all() self.store = Gtk.ListStore(str) self.tv.set_model(self.store) self.tv.get_selection().set_mode(Gtk.SelectionMode.BROWSE) uistuff.appendAutowrapColumn(self.tv, "Comment", text=0) self.tv_cid = self.tv.connect('cursor_changed', self.cursorChanged) self.boardview = gmwidg.board.view self.cid = self.boardview.connect("shownChanged", self.shownChanged) return scrollwin def on_game_terminated(self, model): self.tv.disconnect(self.tv_cid) for cid in self.model_cids: self.gamemodel.disconnect(cid) self.boardview.disconnect(self.cid) def cursorChanged(self, tv): path, focus_column = tv.get_cursor() indices = path.get_indices() if indices: row = indices[0] board = self.gamemodel.boards[row] self.boardview.setShownBoard(board) def shownChanged(self, boardview, shown): if self.gamemodel is None: return if not boardview.shownIsMainLine(): return row = shown - self.gamemodel.lowply try: iter = self.store.get_iter(row) selection = self.tv.get_selection() if selection is not None: selection.select_iter(iter) self.tv.scroll_to_cell(row) except ValueError: pass # deleted variations by moves_undoing def moves_undone(self, game, moves): model = self.tv.get_model() for i in range(moves): model.remove(model.get_iter((len(model) - 1, ))) def game_started(self, model): if model.lesson_game: return self.game_changed(model, model.ply) def game_changed(self, model, ply): if len(self.store) == 0: for i in range(len(self.store) + model.lowply, ply + 1): self.addComment(model, self.__chooseComment(model, i)) else: self.addComment(model, self.__chooseComment(model, ply)) self.shownChanged(self.boardview, ply) def addComment(self, model, comment): if self.gamemodel is None or self.tv is None: return self.store.append([comment]) # If latest ply is shown, we select the new latest selection = self.tv.get_selection() if selection is None: return iter = selection.get_selected()[1] if iter: path = self.tv.get_model().get_path(iter) indices = path.get_indices() if indices: row = indices[0] if row < self.boardview.shown - 1: return if self.boardview.shown >= model.ply: iter = self.store.get_iter(len(self.store) - 1) self.tv.get_selection().select_iter(iter) def __chooseComment(self, model, ply): if ply == model.lowply: return _("Initial position") ######################################################################## # Set up variables ######################################################################## color = model.getBoardAtPly(ply - 1).board.color s, phase = evalMaterial( model.getBoardAtPly(ply).board, model.getBoardAtPly(ply - 1).color) # * Final: Will be shown alone: "mates", "draws" # * Prefix: Will always be shown: "castles", "promotes" # * Attack: Will always be shown: "threaten", "preassures", "defendes" # * Moves (s): Will always be shown: "put into *" # * State: (s) Will always be shown: "new *" # * Simple: (s) Max one will be shown: "develops", "activity" # * Tip: (s) Will sometimes be shown: "pawn storm", "cramped position" ######################################################################## # Call strategic evaluation functions ######################################################################## def getMessages(prefix): messages = [] for functionName in dir(strateval): if not functionName.startswith(prefix + "_"): continue function = getattr(strateval, functionName) messages.extend(function(model, ply, phase)) return messages # move = model.moves[-1].move # print "----- %d - %s -----" % (model.ply/2, toSAN(oldboard, move)) # ---------------------------------------------------------------------- # Final # ---------------------------------------------------------------------- messages = getMessages("final") if messages: return "%s %s" % (reprColor[color], messages[0]) # --- strings = [] # ---------------------------------------------------------------------- # Attacks # ---------------------------------------------------------------------- messages = getMessages("attack") for message in messages: strings.append("%s %s" % (reprColor[color], message)) # ---------------------------------------------------------------------- # Check for prefixes # ---------------------------------------------------------------------- messages = getMessages("prefix") if messages: prefix = messages[0] else: prefix = "" # ---------------------------------------------------------------------- # Check for special move stuff. All of which accept prefixes # ---------------------------------------------------------------------- for message in getMessages("offencive_moves") + getMessages("defencive_moves"): if prefix: strings.append( "%s %s %s %s" % (reprColor[color], prefix, _("and") + "\n", message)) prefix = "" else: strings.append("%s %s" % (reprColor[color], message)) # ---------------------------------------------------------------------- # Simple # ---------------------------------------------------------------------- # We only add simples if there hasn't been too much stuff to say if not strings: messages = getMessages("simple") if messages: messages.sort(reverse=True) score, message = messages[0] if prefix: strings.append( "%s %s %s %s" % (reprColor[color], prefix, _("and") + "\n", message)) prefix = "" # ---------------------------------------------------------------------- # Prefix fallback # ---------------------------------------------------------------------- # There was nothing to apply the prefix to, so we just post it here # before the states and tips if prefix: strings.append("%s %s" % (reprColor[color], prefix)) prefix = "" # ---------------------------------------------------------------------- # State # ---------------------------------------------------------------------- messages = getMessages("state") messages.sort(reverse=True) for score, message in messages: strings.append(message) # ---------------------------------------------------------------------- # Tips # ---------------------------------------------------------------------- tips = getMessages("tip") tips.sort(reverse=True) for (score, tip) in tips: if tip in self.givenTips: oldscore, oldply = self.givenTips[tip] if score < oldscore * 1.3 or model.ply < oldply + 10: continue self.givenTips[tip] = (score, model.ply) strings.append(tip) break # ---------------------------------------------------------------------- # Last solution # ---------------------------------------------------------------------- if not strings: tcord = TCORD(model.getMoveAtPly(ply - 1).move) piece = model.getBoardAtPly(ply).board.arBoard[tcord] strings.append(_("%(color)s moves a %(piece)s to %(cord)s") % { 'color': reprColor[color], 'piece': reprPiece[piece], 'cord': reprCord[tcord] }) return ";\n".join(strings) pychess-1.0.0/lib/pychess/perspectives/games/bookPanel.py0000644000175000017500000007614313415426407022577 0ustar varunvarunimport asyncio import os from gi.repository import Gdk, Gtk, GObject, Pango, PangoCairo from pychess.compat import create_task from pychess.System import conf, uistuff from pychess.Utils import prettyPrintScore from pychess.Utils.const import HINT, OPENING, SPY, BLACK, NULL_MOVE, ENDGAME, DRAW, WHITEWON, WHITE, NORMALCHESS from pychess.Utils.book import getOpenings from pychess.Utils.eco import get_eco from pychess.Utils.logic import legalMoveCount from pychess.Utils.Move import Move, toSAN, toFAN, listToMoves from pychess.Utils.lutils.lmovegen import newMove from pychess.Utils.lutils.lmove import ParsingError from pychess.System.prefix import addDataPrefix from pychess.System.Log import log from math import ceil __title__ = _("Hints") __icon__ = addDataPrefix("glade/panel_book.svg") __desc__ = _( "The hint panel will provide computer advice during each stage of the game") __about__ = _("Official PyChess panel.") class Advisor: def __init__(self, store, name, mode): """ The tree store's columns are: (Board, Move, pv) Indicate the suggested move text or barWidth or goodness Indicate its strength (last 2 are 0 to 1.0) pvlines Number of analysis lines for analysing engines is pvlines editable Boolean Details Describe a PV, opening name, etc. star/stop Boolean HINT, SPY analyzing toggle button state is start/stop visible Boolean """ self.store = store self.name = name self.mode = mode store.append(None, self.textOnlyRow(name, mode)) @property def path(self): for i, row in enumerate(self.store): if row[4] == self.name: return (i, ) def shownChanged(self, boardview, shown): """ Update the suggestions to match a changed position. """ pass def gamewidget_closed(self, gamewidget): pass def child_tooltip(self, i): """ Return a tooltip (or empty) string for the given child row. """ return "" def row_activated(self, path, model): """ Act on a double-clicked child row other than a move suggestion. """ pass def query_tooltip(self, path): indices = path.get_indices() if not indices[1:]: return self.tooltip return self.child_tooltip(indices[1]) def empty_parent(self): while True: parent = self.store.get_iter(self.path) child = self.store.iter_children(parent) if not child: return parent self.store.remove(child) def textOnlyRow(self, text, mode=None): return [(None, None, None), ("", 0, None), 0, False, text, False, mode in (HINT, SPY)] def _del(self): pass class OpeningAdvisor(Advisor): def __init__(self, store, tv, boardcontrol): Advisor.__init__(self, store, _("Opening Book"), OPENING) self.tooltip = _( "The opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess masters") # self.opening_names = [] self.tv = tv self.boardcontrol = boardcontrol self.boardview = boardcontrol.view def shownChanged(self, boardview, shown): m = boardview.model if m is None or m.isPlayingICSGame(): return b = m.getBoardAtPly(shown, boardview.shown_variation_idx) parent = self.empty_parent() openings = getOpenings(b.board) openings.sort(key=lambda t: t[1], reverse=True) if not openings: return totalWeight = 0.0 # Polyglot-formatted books have space for learning data. # See version ac31dc37ec89 for an attempt to parse it. # In this version, we simply ignore it. (Most books don't have it.) for move, weight, learn in openings: totalWeight += weight self.opening_names = [] for move, weight, learn in openings: if totalWeight != 0: weight /= totalWeight goodness = min(float(weight * len(openings)), 1.0) weight = "%0.1f%%" % (100 * weight) opening = get_eco(b.move(Move(move)).board.hash) if opening is None: eco = "" # self.opening_names.append("") else: eco = "%s - %s %s" % (opening[0], opening[1], opening[2]) # self.opening_names.append("%s %s" % (opening[1], opening[2])) self.store.append(parent, [(b, Move(move), None), ( weight, 1, goodness), 0, False, eco, False, False]) tp = Gtk.TreePath(self.path) self.tv.expand_row(tp, False) # def child_tooltip (self, i): # return "" if len(self.opening_names)==0 else self.opening_names[i] def row_activated(self, iter, model, from_gui=True): if self.store.get_path(iter) != Gtk.TreePath(self.path): board, move, moves = self.store[iter][0] self.boardcontrol.play_or_add_move(board, move) class EngineAdvisor(Advisor): # An EngineAdvisor always has self.linesExpected rows reserved for analysis. def __init__(self, store, engine, mode, tv, boardcontrol): if mode == HINT: Advisor.__init__(self, store, _("Analysis by %s") % engine, HINT) self.tooltip = _( "%s will try to predict which move is best and which side has the advantage") % engine else: Advisor.__init__(self, store, _("Threat analysis by %s") % engine, SPY) self.tooltip = _( "%s will identify what threats would exist if it were your opponent's turn to move") % engine self.engine = engine self.tv = tv self.active = False self.linesExpected = 1 self.boardview = boardcontrol.view self.cid1 = self.engine.connect("analyze", self.on_analyze) self.cid2 = self.engine.connect("readyForOptions", self.on_ready_for_options) self.cid3 = self.engine.connect_after("readyForMoves", self.on_ready_for_moves) self.figuresInNotation = conf.get("figuresInNotation") def on_figures_in_notation(none): self.figuresInNotation = conf.get("figuresInNotation") self.cid4 = conf.notify_add("figuresInNotation", on_figures_in_notation) def _del(self): self.engine.disconnect(self.cid1) self.engine.disconnect(self.cid2) self.engine.disconnect(self.cid3) conf.notify_remove(self.cid4) def _create_new_expected_lines(self): parent = self.empty_parent() for line in range(self.linesExpected): self.store.append(parent, self.textOnlyRow(_("Calculating..."))) self.tv.expand_row(Gtk.TreePath(self.path), False) return parent def shownChanged(self, boardview, shown): m = boardview.model if m is None: return if m.isPlayingICSGame() and not m.lesson_game: return self.engine.setBoard(boardview.model.getBoardAtPly( shown, boardview.shown_variation_idx), search=self.active or m.lesson_game) if self.active: self._create_new_expected_lines() def on_ready_for_options(self, engine): engine_max = self.engine.maxAnalysisLines() engine_value = self.engine.getAnalysisLines() self.linesExpected = engine_value if engine_value <= engine_max else engine_max m = self.boardview.model if m.isPlayingICSGame(): return parent = self._create_new_expected_lines() # set pvlines, but set it 0 if engine max is only 1 self.store.set_value(parent, 2, 0 if engine_max == 1 else self.linesExpected) # set it editable self.store.set_value(parent, 3, engine_max > 1) # set start/stop cb visible self.store.set_value(parent, 6, True) self.active = True def on_ready_for_moves(self, engine): self.shownChanged(self.boardview, self.boardview.shown) def on_analyze(self, engine, analysis): if self.boardview.animating: return if self.boardview.model.isPlayingICSGame(): return if not self.active: return for i, line in enumerate(analysis): if line is None: self.store[self.path + (i, )] = self.textOnlyRow("") continue ply, movstrs, score, depth, nps = line board0 = self.engine.board board = board0.clone() try: pv = listToMoves(board, movstrs, validate=True) except ParsingError as e: # ParsingErrors may happen when parsing "old" lines from # analyzing engines, which haven't yet noticed their new tasks log.debug("EngineAdvisor.on_analyze(): Ignored (%s) from analyzer: ParsingError%s" % (' '.join(movstrs), e)) return move = None if pv: move = pv[0] ply0 = board.ply if self.mode == HINT else board.ply + 1 counted_pv = [] for j, pvmove in enumerate(pv): ply = ply0 + j if ply % 2 == 0: mvcount = "%d." % (ply / 2 + 1) elif j == 0: mvcount = "%d..." % (ply / 2 + 1) else: mvcount = "" counted_pv.append("%s%s" % (mvcount, toFAN(board, pvmove) if self.figuresInNotation else toSAN(board, pvmove, True))) board = board.move(pvmove) goodness = (min(max(score, -250), 250) + 250) / 500.0 if self.engine.board.color == BLACK: score = -score self.store[self.path + (i, )] = [ (board0, move, pv), (prettyPrintScore(score, depth, format_mate=True), 1, goodness), 0, False, " ".join(counted_pv), False, False ] def start_stop(self, tb): if not tb: self.active = True self.boardview.model.resume_analyzer(self.mode) else: self.active = False self.boardview.model.pause_analyzer(self.mode) def multipv_edited(self, value): value = self.engine.requestMultiPV(value) if value != self.linesExpected: parent = self.store.get_iter(self.path) if value > self.linesExpected: while self.linesExpected < value: self.store.append(parent, self.textOnlyRow(_("Calculating..."))) self.linesExpected += 1 else: while self.linesExpected > value: child = self.store.iter_children(parent) if child is not None: self.store.remove(child) self.linesExpected -= 1 return value def row_activated(self, iter, model): if not self.active: return if self.mode == HINT and self.store.get_path(iter) != Gtk.TreePath(self.path): moves = self.store[iter][0][2] if moves is not None: # score = self.store[iter][1][0] model.add_variation(self.engine.board, moves) if self.mode == SPY and self.store.get_path(iter) != Gtk.TreePath(self.path): moves = self.store[iter][0][2] if moves is not None: # score = self.store[iter][1][0] board = self.engine.board.board # SPY analyzer has inverted color boards # we need to chage it to get the board in gamemodel variations board list later board.setColor(1 - board.color) king = board.kings[board.color] null_move = Move(newMove(king, king, NULL_MOVE)) model.add_variation(self.engine.board, [null_move] + moves) def child_tooltip(self, i): if self.active: if i < self.linesExpected: return _( "Engine scores are in units of pawns, from White's point of view. Double clicking on analysis lines you can insert them into Annotation panel as variations.") else: return _( "Adding suggestions can help you find ideas, but slows down the computer's analysis.") return "" class EndgameAdvisor(Advisor): def __init__(self, store, tv, boardcontrol): Advisor.__init__(self, store, _("Endgame Table"), ENDGAME) # deferred import to not slow down PyChess starting up from pychess.Utils.EndgameTable import EndgameTable self.egtb = EndgameTable() # If mate in # was activated by double click let egtb do the rest self.auto_activate = False self.tv = tv self.boardcontrol = boardcontrol self.boardview = boardcontrol.view self.tooltip = _( "The endgame table will show exact analysis when there are few pieces on the board.") # TODO: Show a message if tablebases for the position exist but are neither installed nor allowed. self.queue = asyncio.Queue() self.egtb_task = create_task(self.start()) class StopNow(Exception): pass @asyncio.coroutine def start(self): while True: v = yield from self.queue.get() if isinstance(v, Exception) and v == self.StopNow: break elif v == self.board.board: ret = yield from self.egtb.scoreAllMoves(v) self.on_scored(v, ret) self.queue.task_done() def shownChanged(self, boardview, shown): m = boardview.model if m is None or m.variant.variant != NORMALCHESS or m.isPlayingICSGame(): if not (m.practice_game or m.lesson_game): return self.parent = self.empty_parent() self.board = m.getBoardAtPly(shown, boardview.shown_variation_idx) self.queue.put_nowait(self.board.board) def _del(self): try: self.queue.put_nowait(self.StopNow) except asyncio.QueueFull: log.warning("EndgameAdvisor.gamewidget_closed: Queue.Full") self.egtb_task.cancel() def on_scored(self, board, endings): m = self.boardview.model if board != self.board.board: return for move, result, depth in endings: if result == DRAW: result = (_("Draw"), 1, 0.5) details = "" elif (result == WHITEWON) ^ (self.board.color == WHITE): result = (_("Loss"), 1, 0.0) details = _("Mate in %d") % depth else: result = (_("Win"), 1, 1.0) details = _("Mate in %d") % depth if m.practice_game or m.lesson_game: m.hint = "%s %s %s" % (toSAN(self.board, move, True), result[0], details) return if m.isPlayingICSGame(): return self.store.append(self.parent, [(self.board, move, None), result, 0, False, details, False, False]) self.tv.expand_row(Gtk.TreePath(self.path), False) if self.auto_activate: path = None for i, row in enumerate(self.store): if row[4] == self.name: path = Gtk.TreePath.new_from_indices((i, 0)) break if path is not None: self.row_activated(self.tv.get_model().get_iter(path), m, from_gui=False) def row_activated(self, iter, model, from_gui=True): if self.store.get_path(iter) != Gtk.TreePath(self.path): board, move, moves = self.store[iter][0] if from_gui: result = self.store[iter][1] if result is not None and result[2] != 0.5: # double click on mate in # self.auto_activate = True self.boardcontrol.play_or_add_move(board, move) class Sidepanel: def load(self, gmwidg): self.gmwidg = gmwidg self.boardcontrol = gmwidg.board self.boardview = gmwidg.board.view self.figuresInNotation = conf.get("figuresInNotation") self.sw = Gtk.ScrolledWindow() self.tv = Gtk.TreeView() self.tv.set_property("headers_visible", False) self.sw.add(self.tv) self.sw.show_all() self.store = Gtk.TreeStore(GObject.TYPE_PYOBJECT, GObject.TYPE_PYOBJECT, int, bool, str, bool, bool) self.tv.set_model(self.store) # ## move suggested moveRenderer = Gtk.CellRendererText() moveRenderer.set_property("xalign", 1.0) moveRenderer.set_property("yalign", 0) c0 = Gtk.TreeViewColumn("Move", moveRenderer) def getMoveText(column, cell, store, iter, data): board, move, pv = store[iter][0] if not move: cell.set_property("text", "") else: if self.figuresInNotation: cell.set_property("text", toFAN(board, move)) else: cell.set_property("text", toSAN(board, move, True)) c0.set_cell_data_func(moveRenderer, getMoveText) # ## strength of the move c1 = Gtk.TreeViewColumn("Strength", StrengthCellRenderer(), data=1) # ## multipv (number of analysis lines) self.multipvRenderer = Gtk.CellRendererSpin() adjustment = Gtk.Adjustment(value=1, lower=1, upper=9, step_increment=1) self.multipvRenderer.set_property("adjustment", adjustment) self.multipvRenderer.set_property("editable", True) self.multipvRenderer.set_property("width_chars", 1) c2 = Gtk.TreeViewColumn("PV", self.multipvRenderer, editable=3) c2.set_property("min_width", 80) def spin_visible(column, cell, store, iter, data): if store[iter][2] == 0: cell.set_property('visible', False) else: cell.set_property("text", str(store[iter][2])) cell.set_property('visible', True) c2.set_cell_data_func(self.multipvRenderer, spin_visible) def multipv_edited(renderer, path, text): iter = self.store.get_iter(path) self.store.set_value(iter, 2, self.advisors[int(path[0])].multipv_edited(1 if text == "" else int(text))) self.multipv_cid = self.multipvRenderer.connect('edited', multipv_edited) # ## start/stop button for analysis engines self.toggleRenderer = CellRendererPixbufXt() self.toggleRenderer.set_property("stock-id", "gtk-add") c4 = Gtk.TreeViewColumn("StartStop", self.toggleRenderer) def cb_visible(column, cell, store, iter, data): if not store[iter][6]: cell.set_property('visible', False) else: cell.set_property('visible', True) if store[iter][5]: cell.set_property("stock-id", "gtk-media-play") else: cell.set_property("stock-id", "gtk-media-pause") c4.set_cell_data_func(self.toggleRenderer, cb_visible) def toggled_cb(cell, path): self.store[path][5] = not self.store[path][5] self.advisors[int(path[0])].start_stop(self.store[path][5]) self.toggle_cid = self.toggleRenderer.connect('clicked', toggled_cb) self.tv.append_column(c4) self.tv.append_column(c0) self.tv.append_column(c1) self.tv.append_column(c2) # ## header text, or analysis line uistuff.appendAutowrapColumn(self.tv, "Details", text=4) self.cid = self.boardview.connect("shownChanged", self.shownChanged) self.tv_cids = [ self.tv.connect("cursor_changed", self.selection_changed), self.tv.connect("select_cursor_row", self.selection_changed), self.tv.connect("row-activated", self.row_activated), self.tv.connect("query-tooltip", self.query_tooltip), ] self.tv.props.has_tooltip = True self.tv.set_property("show-expanders", False) self.advisors = [] self.conf_conids = [] if conf.get("opening_check"): advisor = OpeningAdvisor(self.store, self.tv, self.boardcontrol) self.advisors.append(advisor) if conf.get("endgame_check"): advisor = EndgameAdvisor(self.store, self.tv, self.boardcontrol) self.advisors.append(advisor) self.model_cids = [ gmwidg.gamemodel.connect("analyzer_added", self.on_analyzer_added), gmwidg.gamemodel.connect("analyzer_removed", self.on_analyzer_removed), gmwidg.gamemodel.connect_after("game_terminated", self.on_game_terminated), ] def on_opening_check(none): if conf.get("opening_check") and self.boardview is not None: advisor = OpeningAdvisor(self.store, self.tv, self.boardcontrol) self.advisors.append(advisor) advisor.shownChanged(self.boardview, self.boardview.shown) else: for advisor in self.advisors: if advisor.mode == OPENING: parent = advisor.empty_parent() self.store.remove(parent) self.advisors.remove(advisor) self.conf_conids.append(conf.notify_add("opening_check", on_opening_check)) def on_opening_file_entry_changed(none): path = conf.get("opening_file_entry") if os.path.isfile(path): for advisor in self.advisors: if advisor.mode == OPENING and self.boardview is not None: advisor.shownChanged(self.boardview, self.boardview.shown) self.conf_conids.append(conf.notify_add("opening_file_entry", on_opening_file_entry_changed)) def on_endgame_check(none): if conf.get("endgame_check"): advisor = EndgameAdvisor(self.store, self.tv, self.boardcontrol) self.advisors.append(advisor) advisor.shownChanged(self.boardview, self.boardview.shown) else: for advisor in self.advisors: if advisor.mode == ENDGAME: advisor._del() parent = advisor.empty_parent() self.store.remove(parent) self.advisors.remove(advisor) self.conf_conids.append(conf.notify_add("endgame_check", on_endgame_check)) def on_figures_in_notation(none): self.figuresInNotation = conf.get("figuresInNotation") self.conf_conids.append(conf.notify_add("figuresInNotation", on_figures_in_notation)) return self.sw def on_game_terminated(self, model): self.multipvRenderer.disconnect(self.multipv_cid) self.toggleRenderer.disconnect(self.toggle_cid) for cid in self.tv_cids: self.tv.disconnect(cid) for conid in self.conf_conids: conf.notify_remove(conid) for cid in self.model_cids: self.gmwidg.gamemodel.disconnect(cid) self.boardview.disconnect(self.cid) for advisor in self.advisors: advisor._del() def on_analyzer_added(self, gamemodel, analyzer, analyzer_type): if analyzer_type == HINT: self.advisors.append(EngineAdvisor(self.store, analyzer, HINT, self.tv, self.boardcontrol)) if analyzer_type == SPY: self.advisors.append(EngineAdvisor(self.store, analyzer, SPY, self.tv, self.boardcontrol)) def on_analyzer_removed(self, gamemodel, analyzer, analyzer_type): for advisor in self.advisors: if advisor.mode == analyzer_type: advisor.active = False advisor.engine = None parent = advisor.empty_parent() self.store.remove(parent) self.advisors.remove(advisor) def shownChanged(self, boardview, shown): if boardview.model is None: return boardview.bluearrow = None if legalMoveCount(boardview.model.getBoardAtPly( shown, boardview.shown_variation_idx)) == 0: if self.sw.get_child() == self.tv: self.sw.remove(self.tv) label = Gtk.Label(_( "In this position,\nthere is no legal move.")) label.set_property("yalign", 0.1) self.sw.add_with_viewport(label) self.sw.get_child().set_shadow_type(Gtk.ShadowType.NONE) self.sw.show_all() # stop egtb auto activation on mating lines for advisor in self.advisors: advisor.auto_activate = False return for advisor in self.advisors: advisor.shownChanged(boardview, shown) self.tv.expand_all() if self.sw.get_child() != self.tv: log.warning("bookPanel.Sidepanel.shownChanged: get_child() != tv") self.sw.remove(self.sw.get_child()) self.sw.add(self.tv) def selection_changed(self, widget, *args): iter = self.tv.get_selection().get_selected()[1] if iter: board, move, pv = self.store[iter][0] if move is not None: self.boardview.bluearrow = move.cords return self.boardview.bluearrow = None def row_activated(self, widget, *args): iter = self.tv.get_selection().get_selected()[1] if iter is None: return board, move, pv = self.store[iter][0] # The row may be tied to a specific action. path = self.store.get_path(iter) indices = path.get_indices() if indices: self.advisors[indices[0]].row_activated(iter, self.boardview.model) def query_tooltip(self, treeview, x, y, keyboard_mode, tooltip): # First, find out where the pointer is: path_col_x_y = treeview.get_path_at_pos(x, y) # If we're not pointed at a row, then return FALSE to say # "don't show a tip". if not path_col_x_y: return False # Otherwise, ask the TreeView to set up the tip's area according # to the row's rectangle. path, col, x, y = path_col_x_y if not path: return False treeview.set_tooltip_row(tooltip, path) # And ask the advisor for some text indices = path.get_indices() if indices: text = self.advisors[indices[0]].query_tooltip(path) if text: label = Gtk.Label() label.props.wrap = True label.props.width_chars = 60 label.props.max_width_chars = 60 label.set_text(text) tooltip.set_custom(label) # tooltip.set_markup(text) return True # Show the tip. return False ################################################################################ # StrengthCellRenderer # ################################################################################ width, height = 80, 23 class StrengthCellRenderer(Gtk.CellRenderer): __gproperties__ = { "data": (GObject.TYPE_PYOBJECT, "Data", "Data", GObject.ParamFlags.READABLE | GObject.ParamFlags.WRITABLE), } def __init__(self): Gtk.CellRenderer.__init__(self) self.data = None def do_set_property(self, pspec, value): setattr(self, pspec.name, value) def do_get_property(self, pspec): return getattr(self, pspec.name) def do_render(self, context, widget, background_area, cell_area, flags): if not self.data: return text, widthfrac, goodness = self.data if widthfrac: paintGraph(context, widthfrac, stoplightColor(goodness), cell_area) if text: layout = PangoCairo.create_layout(context) layout.set_text(text, -1) fd = Pango.font_description_from_string("Sans 10") layout.set_font_description(fd) w, h = layout.get_pixel_size() context.move_to(cell_area.x, cell_area.y) context.rel_move_to(70 - w, (height - h) / 2) PangoCairo.show_layout(context, layout) def do_get_size(self, widget, cell_area=None): return (0, 0, width, height) GObject.type_register(StrengthCellRenderer) ################################################################################ # StrengthCellRenderer functions # ################################################################################ def stoplightColor(x): def interp(y0, yh, y1): return y0 + (y1 + 4 * yh - 3 * y0) * x + (-4 * yh + 2 * y0) * x * x r = interp(239, 252, 138) / 255 g = interp(41, 233, 226) / 255 b = interp(41, 79, 52) / 255 return r, g, b def paintGraph(cairo, widthfrac, rgb, rect): x, y, w0, h = rect.x, rect.y, rect.width, rect.height w = ceil(widthfrac * w0) cairo.save() cairo.rectangle(x, y, w, h) cairo.clip() cairo.move_to(x + 10, y) cairo.rel_line_to(w - 20, 0) cairo.rel_curve_to(10, 0, 10, 0, 10, 10) cairo.rel_line_to(0, 3) cairo.rel_curve_to(0, 10, 0, 10, -10, 10) cairo.rel_line_to(-w + 20, 0) cairo.rel_curve_to(-10, 0, -10, 0, -10, -10) cairo.rel_line_to(0, -3) cairo.rel_curve_to(0, -10, 0, -10, 10, -10) cairo.set_source_rgb(*rgb) cairo.fill() cairo.restore() # cell renderer for start-stop putton class CellRendererPixbufXt(Gtk.CellRendererPixbuf): __gproperties__ = {'active-state': (GObject.TYPE_STRING, 'pixmap/active widget state', 'stock-icon name representing active widget state', None, GObject.ParamFlags.READABLE | GObject.ParamFlags.WRITABLE)} __gsignals__ = {'clicked': (GObject.SignalFlags.RUN_LAST, None, (GObject.TYPE_STRING, )), } def __init__(self): GObject.GObject.__init__(self) self.set_property('mode', Gtk.CellRendererMode.ACTIVATABLE) def do_get_property(self, property): if property.name == 'active-state': return self.active_state else: raise AttributeError('unknown property %s' % property.name) def do_set_property(self, property, value): if property.name == 'active-state': self.active_state = value else: raise AttributeError('unknown property %s' % property.name) def do_activate(self, event, widget, path, background_area, cell_area, flags): if event.type == Gdk.EventType.BUTTON_PRESS: self.emit('clicked', path) # def do_clicked(self, path): # print "do_clicked", path GObject.type_register(CellRendererPixbufXt) pychess-1.0.0/lib/pychess/perspectives/games/chatPanel.py0000755000175000017500000001145513365545272022570 0ustar varunvarun# -*- coding: UTF-8 -*- from pychess.System.Log import log from pychess.System.prefix import addDataPrefix from pychess.Utils.const import LOCAL from pychess.widgets.ChatView import ChatView from pychess.ic.ICGameModel import ICGameModel from pychess.ic.icc import DG_PLAYERS_IN_MY_GAME __title__ = _("Chat") __icon__ = addDataPrefix("glade/panel_chat.svg") __desc__ = _( "The chat panel lets you communicate with your opponent during the game, assuming he or she is interested") class Sidepanel: def load(self, gmwidg): self.gamemodel = gmwidg.gamemodel self.player_cid = None self.model_cids = [ self.gamemodel.connect("game_started", self.onGameStarted), self.gamemodel.connect_after("game_terminated", self.on_game_terminated), ] self.chatView = ChatView(self.gamemodel) self.chatView.disable("Waiting for game to load") self.chatview_cid = self.chatView.connect("messageTyped", self.onMessageSent) if isinstance(self.gamemodel, ICGameModel): self.model_cids.append(self.gamemodel.connect("observers_received", self.chatView.update_observers)) self.model_cids.append(self.gamemodel.connect("message_received", self.onICMessageReieved)) return self.chatView def on_game_terminated(self, model): self.chatView.disconnect(self.chatview_cid) if hasattr(self, "player") and hasattr(self, "player_cid") and not self.gamemodel.examined: self.player.disconnect(self.player_cid) for cid in self.model_cids: self.gamemodel.disconnect(cid) def onGameStarted(self, gamemodel): if gamemodel.examined: if gamemodel.players[0].name == gamemodel.connection.username: self.player = gamemodel.players[0] self.opplayer = gamemodel.players[1] else: self.player = gamemodel.players[1] self.opplayer = gamemodel.players[0] elif gamemodel.isObservationGame(): # no local player but enable chat to send/receive whisper/kibitz pass elif gamemodel.players[0].__type__ == LOCAL: self.player = gamemodel.players[0] self.opplayer = gamemodel.players[1] if gamemodel.players[1].__type__ == LOCAL: log.warning("Chatpanel loaded with two local players") elif gamemodel.players[1].__type__ == LOCAL: self.player = gamemodel.players[1] self.opplayer = gamemodel.players[0] else: log.info("Chatpanel loaded with no local players") self.chatView.hide() if isinstance(gamemodel, ICGameModel): if gamemodel.connection.ICC: gamemodel.connection.client.run_command("set-2 %s 1" % DG_PLAYERS_IN_MY_GAME) else: allob = 'allob ' + str(gamemodel.ficsgame.gameno) gamemodel.connection.client.run_command(allob) if hasattr(self, "player") and not gamemodel.examined and self.player_cid is None: self.player_cid = self.player.connect("messageReceived", self.onMessageRecieved) self.chatView.enable() def onMessageRecieved(self, player, text): sender = "pychessbot" if player.gamemodel.offline_lecture else repr(self.opplayer) self.chatView.addMessage(sender, text) def onICMessageReieved(self, icgamemodel, player, text): self.chatView.addMessage(player, text) # emit an allob to FICS if not icgamemodel.connection.ICC: allob = 'allob ' + str(icgamemodel.ficsgame.gameno) icgamemodel.connection.client.run_command(allob) def onMessageSent(self, chatView, text): if hasattr(self, "player") or self.gamemodel.examined: if text.startswith('# '): text = text[2:] self.gamemodel.connection.cm.whisper(text) elif text.startswith('whisper '): text = text[8:] self.gamemodel.connection.cm.whisper(text) else: if not hasattr(self, "player"): if self.gamemodel.players[0].name == self.gamemodel.connection.username: self.player = self.gamemodel.players[0] self.opplayer = self.gamemodel.players[1] else: self.player = self.gamemodel.players[1] self.opplayer = self.gamemodel.players[0] if self.gamemodel.examined: self.opplayer.putMessage(text) else: self.player.sendMessage(text) self.chatView.addMessage(repr(self.player), text) else: self.gamemodel.connection.cm.whisper(text) pychess-1.0.0/lib/pychess/perspectives/games/engineOutputPanel.py0000755000175000017500000003732213365545272024340 0ustar varunvarun# Authors: Jonas Thiem import re from gi.repository import Gtk, GObject, Pango from pychess.System.Log import log from pychess.System.prefix import addDataPrefix from pychess.Utils.const import ARTIFICIAL __title__ = _("Engines") __icon__ = addDataPrefix("glade/panel_engineoutput.svg") white = addDataPrefix("glade/panel_engineoutput.svg") __desc__ = _( "The engine output panel shows the thinking output of chess engines (computer players) during a game") class Sidepanel: def load(self, gmwidg): # Specify whether the panel should have a horizontal layout: horizontal = True if horizontal: self.box = Gtk.HBox() else: self.box = Gtk.VBox() __widget__ = self.box # Use two engine output widgets for each player color: self.output_white = EngineOutput(True) self.output_black = EngineOutput(False) if horizontal: self.output_separator = Gtk.VSeparator() else: self.output_separator = Gtk.HSeparator() self.output_noengines = Gtk.TextView() self.output_noengines.get_buffer().set_text(_( "No chess engines (computer players) are participating in this game.")) self.output_noengines.set_editable(False) self.output_noengines.set_wrap_mode(Gtk.WrapMode.WORD_CHAR) __widget__.pack_start(self.output_noengines, True, True, 0) __widget__.show_all() self.boardview = gmwidg.board.view self.model_cids = [ self.boardview.model.connect_after("game_changed", self.game_changed), self.boardview.model.connect_after("players_changed", self.players_changed), self.boardview.model.connect_after("game_started", self.game_started), self.boardview.model.connect_after("game_terminated", self.on_game_terminated), ] return __widget__ def on_game_terminated(self, model): for cid in self.model_cids: self.boardview.model.disconnect(cid) def updateVisibleOutputs(self, model): # Check which players participate and update which views are visible # gotplayers = False if model is None: return # gotEnginePlayers = False gotWhiteEngine = False gotBlackEngine = False if len(model.players) > 0: if model.players[0].__type__ == ARTIFICIAL: gotWhiteEngine = True self.output_white.attachEngine(model.players[0].engine) if model.players[1].__type__ == ARTIFICIAL: gotBlackEngine = True self.output_black.attachEngine(model.players[1].engine) # First, detach from old engines: if not gotBlackEngine: self.output_black.detachEngine() if not gotWhiteEngine: self.output_white.detachEngine() if gotBlackEngine or gotWhiteEngine: # Remove "no engines" label: if self.output_noengines in self.box.get_children(): self.box.remove(self.output_noengines) # Add white engine info if white engine is participating: if gotWhiteEngine: if self.output_white not in self.box.get_children(): # Remove black output and separator first # to ensure proper ordering: if self.output_black in self.box.get_children(): self.box.remove(self.output_black) self.box.remove(self.output_separator) self.box.pack_start(self.output_white, True, True, 0) self.output_white.clear() self.output_white.show_all() self.output_white.setTitle(model.players[0].name) else: if self.output_white in self.box.get_children(): self.box.remove(self.output_white) self.box.remove(self.output_separator) # Add white engine info if black engine is participating: if gotBlackEngine: if self.output_black not in self.box.get_children(): if gotWhiteEngine: self.box.pack_start(self.output_separator, False, True, 0) self.output_separator.show() self.box.pack_start(self.output_black, True, True, 0) self.output_black.clear() self.output_black.show_all() self.output_black.setTitle(model.players[1].name) else: if self.output_black in self.box.get_children(): self.box.remove(self.output_black) self.box.remove(self.output_separator) else: # Show "no engines" label if self.output_white in self.box.get_children(): self.box.remove(self.output_white) if self.output_black in self.box.get_children(): self.box.remove(self.output_black) if self.output_noengines not in self.box.get_children(): self.box.pack_start(self.output_noengines, True, True, 0) return def players_changed(self, model): log.debug("engineOutputPanel.players_changed: starting") self.updateVisibleOutputs(model) log.debug("engineOutputPanel.players_changed: returning") return def game_started(self, model): self.updateVisibleOutputs(model) return def game_changed(self, model, ply): self.updateVisibleOutputs(model) return class EngineOutput(Gtk.VBox): def __init__(self, white=True): GObject.GObject.__init__(self) self.attached_engine = None # engine attached to which we listen self.white = white self.clear_on_output = False # next thinking line belongs to new move # Title bar: self.title_label = Gtk.Label() self.title_color = Gtk.Image() self.title_hbox = Gtk.HBox() # self.title_hbox.pack_start(self.title_color, False) self.title_hbox.pack_start(self.title_color, False, False, 0) # self.title_hbox.pack_start(self.title_label, True, True) self.title_hbox.pack_start(self.title_label, True, True, 0) # Set black or white player icon in front: if white is True: self.title_color.set_from_file(addDataPrefix("glade/white.png")) else: self.title_color.set_from_file(addDataPrefix("glade/black.png")) # output scrolled window container: self.output_container = Gtk.ScrolledWindow() self.output_container.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) # scroll down on new output: -- not reliable with multilines added # uistuff.keepDown(self.output_container) # scroll down on new output: -- brute force variant def changed(vadjust): vadjust.set_value(vadjust.get_upper() - vadjust.get_page_size()) self.output_container.get_vadjustment().connect("changed", changed) # Text field for output: self.output = Gtk.TextView() self.output_container.add(self.output) self.output.set_editable(False) self.output.set_wrap_mode(Gtk.WrapMode.WORD_CHAR) self.tag_bold = self.output.get_buffer().create_tag( "bold", weight=Pango.Weight.BOLD) self.tag_color = self.output.get_buffer().create_tag( "color", foreground="#0033ff") # Add all sub widgets to ourselves: # self.pack_start(self.title_hbox, False) # self.pack_start(self.output_container, True) self.pack_start(self.title_hbox, False, False, 0) self.pack_start(self.output_container, True, True, 0) # Precompile regexes we want to use: self.re_thinking_line_cecp = re.compile(r'^[0-9]+\.? +\-?[0-9]+ +') self.re_thinking_line_uci = re.compile( r'^info (.*) pv [a-hA-H][0-9][a-hA-H][0-9](.*)$') self.re_move_line_cecp_alg = re.compile( r'^(move +)?[a-hA-H][0-9][a-hA-H][0-9]$') self.re_move_line_cecp_san = re.compile( r'^(move +)?([QKNB]?[a-hA-H]?[xX@]?[a-hA-H][0-9]\+?#?|[oO]-[oO]-[oO]|[oO]-[oO])$') self.re_move_line_uci = re.compile( r'^bestmove +[a-hA-H][0-9][a-hA-H][0-9]( .*)?$') self.re_extract_cecp_all = re.compile( r'^([0-9]+)\.? +(\-?[0-9]+) +([0-9]+).?([0-9]*) ([^ ].*)$') self.re_extract_uci_depth = re.compile(r'depth +([0-9]+) +') self.re_extract_uci_score = re.compile(r'score cp +(-?[0-9]+) +') self.re_extract_uci_score_mate_other = re.compile( r'score +mate +([0-9]+) +') self.re_extract_uci_score_mate_us = re.compile( r'score +mate +\-([0-9]+) +') self.re_extract_uci_score_lowerbound = re.compile( r'score +lowerbound +') self.re_extract_uci_score_upperbound = re.compile( r'score +upperbound +') self.re_extract_uci_pv = re.compile(r'pv +([a-hA-HoO].*[^ ]) *$') self.re_extract_uci_nps = re.compile(r'nps +([0-9]+) +') def _del(self): self.detachEngine() def appendNewline(self): # Start a new line if text output isn't empty: if self.output.get_buffer().get_char_count() > 0: # We have old content, append newline self.output.get_buffer().insert( self.output.get_buffer().get_end_iter(), "\n") def append(self, line, tag=None): # Append a specific string with the given formatting: # oldenditer = self.output.get_buffer().get_end_iter() self.output.get_buffer().insert( self.output.get_buffer().get_end_iter(), line) if tag is not None: enditer = self.output.get_buffer().get_end_iter() startiter = enditer.copy() startiter.backward_chars(len(line)) self.output.get_buffer().apply_tag(tag, startiter, enditer) def appendThinking(self, depth, score, pv, nps): # Append a formatted thinking line: self.appendNewline() self.append(depth.__str__() + ". ", self.tag_color) self.append("Score: ", self.tag_bold) self.append(score.__str__() + " ") self.append("PV: ", self.tag_bold) self.append(pv.__str__() + " ") if nps != "": self.append("NPS: ", self.tag_bold) self.append(nps.__str__()) def parseInfoLine(self, line): # Parse an identified info line and add it to our output: if self.clear_on_output is True: self.clear_on_output = False self.clear() # Clean up line first: while line.find(" ") != -1: line = line.replace(" ", " ") depth = "?" score = "?" pv = "?" nps = "" infoFound = False # do more sophisticated parsing here: if line.startswith("info "): # UCI info line # always end with a space to faciliate searching: line = line + " " # parse depth: result = self.re_extract_uci_depth.search(line) if result: depth = result.group(1) # parse score: result = self.re_extract_uci_score.search(line) if result: score = result.group(1) else: result = self.re_extract_uci_score_mate_other.search(line) if result: score = "winning in " + result.group(1) + " moves" else: result = self.re_extract_uci_score_mate_us.search(line) if result: score = "losing in " + result.group(1) + " moves" else: if self.re_extract_uci_score_lowerbound.search(line): score = "lowerbound" elif self.re_extract_uci_score_upperbound.search(line): score = "upperbound" # parse pv: result = self.re_extract_uci_pv.search(line) if result: infoFound = True pv = result.group(1) # parse nps: result = self.re_extract_uci_nps.search(line) if result: infoFound = True nps = result.group(1) else: # CECP/Winboard/GNUChess info line # parse all information in one go: result = self.re_extract_cecp_all.match(line) if not result: return infoFound = True depth = result.group(1) score = result.group(2) time = result.group(3) nodes = result.group(4) pv = result.group(5) nps = str(int(int(nodes) / (int(time) / 100))) if int(time) > 0 else "" # Clean pv of unwanted chars: pv = re.sub('[^a-z^A-Z^0-9^ ^x^@^?]', '', pv) # If we found useful information, show it: if infoFound: self.appendThinking(depth, score, pv, nps) def parseLine(self, engine, line): # Clean up the line a bit: line = line.strip(" \r\t\n") line = line.replace("\t", " ") # PARSING THINKING OUTPUT (roughly, simply identifies the lines): # GNU Chess/CECP/Winboard engine thinking output lines: if self.re_thinking_line_cecp.match(line): self.parseInfoLine(line) # UCI engine thinking output lines: if self.re_thinking_line_uci.match(line): if line.find("depth") != -1 and line.find("score") != -1: self.parseInfoLine(line) # PARSE MOVE LINES (roughly, we merely identify them): # We want to clear on the next output info line # when a move arrived, so that for every move # we freshly fill our thinking output: # CECP/Winboard move line, long algebraeic notation: if self.re_move_line_cecp_alg.match(line): self.clear_on_output = True # CECP/Winboard move line, SAN notation: if self.re_move_line_cecp_san.match(line): self.clear_on_output = True # UCI move line: if self.re_move_line_uci.match(line): self.clear_on_output = True return def clear(self): self.output.get_buffer().set_text("") return def setTitle(self, title): self.title_label.set_text(title) return def attachEngine(self, engine): # Attach an engine for line listening if self.attached_engine is not None: if self.attached_engine == engine: # We are already attached to this engine return # Detach from previous engine self.attached_engine.disconnect(self.attached_handler_id) # Attach to new engine: log.debug( "Attaching " + self.__str__() + " to engine " + engine.__str__(), extra={"task": engine.defname}) self.attached_engine = engine self.attached_handler_id = engine.connect("line", self.parseLine) return def detachEngine(self): # Detach from attached engine if self.attached_engine is not None: log.debug("Detaching " + self.__str__() + " from engine " + self.attached_engine.__str__(), extra={"task": self.attached_engine.defname}) self.attached_engine.disconnect(self.attached_handler_id) self.attached_engine = None def __repr__(self): color = "black" if self.white: color = "white" return "Engine Output " + color + " #" + id(self).__str__() # def __str__(self): # return repr(self) + " (engine: " + self.attached_engine.__str__() + ")" pychess-1.0.0/lib/pychess/perspectives/games/annotationPanel.py0000644000175000017500000014671713372245532024024 0ustar varunvarun# -*- coding: UTF-8 -*- import re from math import floor from gi.repository import Gtk from gi.repository import Pango from gi.repository import Gdk from pychess.Utils import prettyPrintScore from pychess.Utils.const import WHITE, BLACK, FEN_EMPTY, reprResult, reprSign, FAN_PIECES from pychess.System import conf from pychess.System.prefix import addDataPrefix from pychess.Utils.Cord import Cord from pychess.Utils.lutils.LBoard import LBoard from pychess.Utils.lutils.lmove import toSAN, toFAN, FCORD, TCORD from pychess.Savers.pgn import move_count, nag2symbol, parseTimeControlTag from pychess.widgets.ChessClock import formatTime from pychess.widgets.LearnInfoBar import LearnInfoBar from pychess.widgets import insert_formatted, preferencesDialog, mainwindow from pychess.widgets.Background import isDarkTheme # --- Constants __title__ = _("Annotation") __active__ = True __icon__ = addDataPrefix("glade/panel_annotation.svg") __desc__ = _("Annotated game") EMPTY_BOARD = LBoard() EMPTY_BOARD.applyFen(FEN_EMPTY) css = """ GtkButton#rounded { border-radius: 20px; } """ def add_provider(widget): screen = widget.get_screen() style = widget.get_style_context() provider = Gtk.CssProvider() provider.load_from_data(css.encode('utf-8')) style.add_provider_for_screen(screen, provider, Gtk.STYLE_PROVIDER_PRIORITY_USER) # -- Documentation """ We are maintaining a list of nodes to help manipulate the textbuffer. Node can represent a move, comment or variation (start/end) marker. Nodes are dicts with keys like: board = in move node it's the lboard of move in comment node it's the lboard where the comment belongs to in end variation marker node it's the first lboard of the variation in start variation marker is's None start = the beginning offest of the node in the textbuffer end = the ending offest of the node in the textbuffer parent = the parent lboard if the node is a move in a variation, otherwise None vari = in end variation node it's the start variation marker node in start variation node it's None level = depth in variation tree (0 for mainline nodes, 1 for first level variation moves, etc.) index = in comment nodes the index of comment if more exist for a move """ # -- Widget class Sidepanel: def load(self, gmwidg): """ The method initializes the widget, attached events, internal variables, layout... """ # Internal variables self.nodelist = [] self.boardview = gmwidg.board.view self.gamemodel = gmwidg.gamemodel self.variation_to_remove = None if self.gamemodel is None: return None # Internal objects/helpers self.cursor_standard = Gdk.Cursor.new(Gdk.CursorType.LEFT_PTR) self.cursor_hand = Gdk.Cursor.new(Gdk.CursorType.HAND2) # Header text area self.header_textview = Gtk.TextView() self.header_textview.set_wrap_mode(Gtk.WrapMode.WORD) self.header_textview.set_editable(False) self.header_textview.set_cursor_visible(False) self.header_textbuffer = self.header_textview.get_buffer() # Header text tags self.header_textbuffer.create_tag("head1") self.header_textbuffer.create_tag("head2", weight=Pango.Weight.BOLD) # Move text area self.textview = Gtk.TextView() self.textview.set_wrap_mode(Gtk.WrapMode.WORD) self.textbuffer = self.textview.get_buffer() # Load of the preferences def cb_config_changed(*args): self.fetch_chess_conf() self.tag_move.set_property("font_desc", self.font) for i in range(len(self.tag_vari_depth)): self.tag_vari_depth[i].set_property("font_desc", self.font) self.update() self.fetch_chess_conf() self.cids_conf = [] self.cids_conf.append(conf.notify_add("movetextFont", cb_config_changed)) self.cids_conf.append(conf.notify_add("figuresInNotation", cb_config_changed)) self.cids_conf.append(conf.notify_add("showEmt", cb_config_changed)) self.cids_conf.append(conf.notify_add("showBlunder", cb_config_changed)) self.cids_conf.append(conf.notify_add("showEval", cb_config_changed)) # Move text tags self.tag_remove_variation = self.textbuffer.create_tag("remove-variation") self.tag_new_line = self.textbuffer.create_tag("new_line") self.tag_move = self.textbuffer.create_tag("move", font_desc=self.font) palette = self.get_palette() self.tag_vari_depth = [] for i in range(64): tag = self.textbuffer.create_tag("variation-depth-%d" % i, font_desc=self.font, foreground=palette[i % len(palette)], style="italic", left_margin=15 * (i + 1)) self.tag_vari_depth.append(tag) self.textbuffer.create_tag("scored0") self.textbuffer.create_tag("scored1", foreground_rgba=Gdk.RGBA(0.2, 0, 0, 1)) self.textbuffer.create_tag("scored2", foreground_rgba=Gdk.RGBA(0.4, 0, 0, 1)) self.textbuffer.create_tag("scored3", foreground_rgba=Gdk.RGBA(0.6, 0, 0, 1)) self.textbuffer.create_tag("scored4", foreground_rgba=Gdk.RGBA(0.8, 0, 0, 1)) self.textbuffer.create_tag("scored5", foreground_rgba=Gdk.RGBA(1.0, 0, 0, 1)) self.textbuffer.create_tag("emt", foreground="grey") self.textbuffer.create_tag("comment", foreground="#6e71ec") self.textbuffer.create_tag("lesson-comment", foreground="green", font_desc=self.font) self.textbuffer.create_tag("margin", left_margin=4) self.selected_tag = self.textbuffer.create_tag("selected", background_full_height=True, background=self.get_slected_background()) # Events self.cids_textview = [ self.textview.connect("motion-notify-event", self.motion_notify_event), self.textview.connect("button-press-event", self.button_press_event), self.textview.connect("style-updated", self.on_style_updated) ] self.cid_shown_changed = self.boardview.connect("shownChanged", self.on_shownChanged) self.cid_remove_variation = self.tag_remove_variation.connect("event", self.tag_event_handler) self.cids_gamemodel = [ self.gamemodel.connect_after("game_loaded", self.on_game_loaded), self.gamemodel.connect_after("game_changed", self.on_game_changed), self.gamemodel.connect_after("game_started", self.update), self.gamemodel.connect_after("game_ended", self.update), self.gamemodel.connect_after("moves_undone", self.on_moves_undone), self.gamemodel.connect_after("variation_undone", self.update), self.gamemodel.connect_after("opening_changed", self.update), self.gamemodel.connect_after("players_changed", self.on_players_changed), self.gamemodel.connect_after("game_terminated", self.on_game_terminated), self.gamemodel.connect("variation_added", self.variation_added), self.gamemodel.connect("variation_extended", self.variation_extended), self.gamemodel.connect("analysis_changed", self.analysis_changed), self.gamemodel.connect("analysis_finished", self.update), ] if self.gamemodel.lesson_game: self.cids_gamemodel.append(self.gamemodel.connect_after("learn_success", self.on_learn_success)) # Layout __widget__ = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) __widget__.set_spacing(3) __widget__.pack_start(self.header_textview, False, False, 0) __widget__.pack_start(Gtk.Separator(), False, False, 0) self.choices_box = Gtk.Box() self.choices_box.connect("realize", add_provider) __widget__.pack_start(self.choices_box, False, False, 0) self.choices_enabled = True sw = Gtk.ScrolledWindow() sw.add(self.textview) __widget__.pack_start(sw, True, True, 0) if self.gamemodel.practice_game or self.gamemodel.lesson_game: self.infobar = LearnInfoBar(self.gamemodel, gmwidg.board, self) self.boardview.infobar = self.infobar __widget__.pack_start(self.infobar, False, False, 0) return __widget__ def fetch_chess_conf(self): """ The method retrieves few parameters from the configuration. """ self.fan = conf.get("figuresInNotation") movetext_font = conf.get("movetextFont") self.font = Pango.font_description_from_string(movetext_font) self.showEmt = conf.get("showEmt") self.showBlunder = conf.get("showBlunder") and not self.gamemodel.isPlayingICSGame() self.showEval = conf.get("showEval") and not self.gamemodel.isPlayingICSGame() def on_game_terminated(self, model): """ The method disconnects all the created events when the widget is destroyed at the end of the game. """ for cid in self.cids_textview: self.textview.disconnect(cid) self.boardview.disconnect(self.cid_shown_changed) self.tag_remove_variation.disconnect(self.cid_remove_variation) for cid in self.cids_gamemodel: self.gamemodel.disconnect(cid) for cid in self.cids_conf: conf.notify_remove(cid) def get_palette(self): if isDarkTheme(self.textview): palette = ["#e5e5e5", "#35e119", "#ee3e34", "#24c6ee", "#a882bc", "#f09243", "#e475e5", "#c0c000"] # white, green, red, aqua, purple, orange, fuchsia, ochre else: palette = ["#4b4b4b", "#51a745", "#ee3e34", "#3965a8", "#a882bc", "#f09243", "#772120", "#c0c000"] # black, green, red, blue, purple, orange, brown, ochre return palette def get_slected_background(self): return "grey" if isDarkTheme(self.textview) else "lightgrey" def on_style_updated(self, widget): palette = self.get_palette() for i in range(64): self.tag_vari_depth[i].set_property("foreground", palette[i % len(palette)]) self.selected_tag.set_property("background", self.get_slected_background()) def tag_event_handler(self, tag, widget, event, iter): """ The method handles the event specific to a tag, which is further processed by the button event of the main widget. """ if (event.type == Gdk.EventType.BUTTON_PRESS) and (tag.get_property("name") == "remove-variation"): offset = iter.get_offset() node = None for n in self.nodelist: if offset >= n["start"] and offset < n["end"]: node = n break if node is None: return self.variation_to_remove = node return False def motion_notify_event(self, widget, event): """ The method defines the applicable cursor (standard/hand) """ if self.textview.get_window_type(event.window) not in ( Gtk.TextWindowType.TEXT, Gtk.TextWindowType.PRIVATE): event.window.set_cursor(self.cursor_standard) return True if (event.is_hint): # (x, y, state) = event.window.get_pointer() (ign, x, y, state) = event.window.get_pointer() else: x = event.x y = event.y # state = event.get_state() (x, y) = self.textview.window_to_buffer_coords( Gtk.TextWindowType.WIDGET, int(x), int(y)) ret = self.textview.get_iter_at_position(x, y) if len(ret) == 3: pos_is_over_text, it_at_pos, trailing = ret else: it_at_pos, trailing = ret if it_at_pos.get_child_anchor() is not None: event.window.set_cursor(self.cursor_hand) return True it = self.textview.get_iter_at_location(x, y) # https://gramps-project.org/bugs/view.php?id=9335 if isinstance(it, Gtk.TextIter): offset = it.get_offset() else: offset = it[1].get_offset() for node in self.nodelist: if offset >= node["start"] and offset < node["end"] and "vari" not in node: event.window.set_cursor(self.cursor_hand) return True event.window.set_cursor(self.cursor_standard) return True def button_press_event(self, widget, event): """ The method handles the click made on the widget, like showing the board editing a comment, or showing a local popup-menu. """ # Detection of the node with the coordinates of the mouse (wx, wy) = event.get_coords() (x, y) = self.textview.window_to_buffer_coords( Gtk.TextWindowType.WIDGET, int(wx), int(wy)) it = self.textview.get_iter_at_location(x, y) # https://gramps-project.org/bugs/view.php?id=9335 if isinstance(it, Gtk.TextIter): offset = it.get_offset() else: offset = it[1].get_offset() node = None for n in self.nodelist: if offset >= n["start"] and offset < n["end"]: node = n board = node["board"] break if node is None: return True # print("-------------------------------------------------------") # print("index is:", self.nodelist.index(node)) # print(node) # print("-------------------------------------------------------") # Left click if event.button == 1: if "vari" in node: if self.variation_to_remove is not None: node = self.variation_to_remove self.remove_variation(node) self.gamemodel.remove_variation(node["board"], node["parent"]) self.variation_to_remove = None return True elif "comment" in node: self.menu_edit_comment(board=board, index=node["index"]) else: self.boardview.setShownBoard(board.pieceBoard) # Right click elif event.button == 3: self.menu = Gtk.Menu() if node is not None: position = -1 for index, child in enumerate(board.children): if isinstance(child, str): position = index break menuitem = Gtk.MenuItem(_("Refresh")) menuitem.connect('activate', self.menu_refresh) self.menu.append(menuitem) if len(self.gamemodel.boards) > 1 and board == self.gamemodel.boards[1].board and \ not self.gamemodel.boards[0].board.children: menuitem = Gtk.MenuItem(_("Add start comment")) menuitem.connect('activate', self.menu_edit_comment, self.gamemodel.boards[0].board, 0) self.menu.append(menuitem) if position == -1: menuitem = Gtk.MenuItem(_("Add comment")) menuitem.connect('activate', self.menu_edit_comment, board, 0) else: menuitem = Gtk.MenuItem(_("Edit comment")) menuitem.connect('activate', self.menu_edit_comment, board, position) self.menu.append(menuitem) symbol_menu1 = Gtk.Menu() for nag, menutext in (("$1", _("Good move")), ("$2", _("Bad move")), ("$3", _("Excellent move")), ("$4", _("Very bad move")), ("$5", _("Interesting move")), ("$6", _("Suspicious move")), ("$7", _("Forced move"))): menuitem = Gtk.MenuItem("%s %s" % (nag2symbol(nag), menutext)) menuitem.connect('activate', self.menu_move_attribute, board, nag) symbol_menu1.append(menuitem) menuitem = Gtk.MenuItem(_("Add move symbol")) menuitem.set_submenu(symbol_menu1) self.menu.append(menuitem) symbol_menu2 = Gtk.Menu() for nag, menutext in (("$10", _("Drawish")), ("$13", _("Unclear position")), ("$14", _("Slight advantage")), ("$16", _("Moderate advantage")), ("$18", _("Decisive advantage")), ("$20", _("Crushing advantage")), ("$22", _("Zugzwang")), ("$32", _("Development advantage")), ("$36", _("Initiative")), ("$40", _("With attack")), ("$44", _("Compensation")), ("$132", _("Counterplay")), ("$138", _("Time pressure"))): menuitem = Gtk.MenuItem("%s %s" % (nag2symbol(nag), menutext)) menuitem.connect('activate', self.menu_position_attribute, board, nag) symbol_menu2.append(menuitem) menuitem = Gtk.MenuItem(_("Add evaluation symbol")) menuitem.set_submenu(symbol_menu2) self.menu.append(menuitem) self.menu.append(Gtk.SeparatorMenuItem()) removals_menu = Gtk.Menu() menuitem = Gtk.MenuItem(_("Comment")) menuitem.connect('activate', self.menu_delete_comment, board, position) removals_menu.append(menuitem) menuitem = Gtk.MenuItem(_("Symbols")) menuitem.connect('activate', self.menu_remove_symbols, board) removals_menu.append(menuitem) menuitem = Gtk.MenuItem(_("All the evaluations")) menuitem.connect('activate', self.menu_reset_evaluations) removals_menu.append(menuitem) menuitem = Gtk.MenuItem(_("Remove")) menuitem.set_submenu(removals_menu) self.menu.append(menuitem) self.menu.show_all() self.menu.popup(None, None, None, None, event.button, event.time) return True def menu_refresh(self, widget): self.update() def menu_edit_comment(self, widget=None, board=None, index=0): """ The method will create/update or delete a comment. The popup window will receive an additional button if there is an existing comment. """ creation = True if not board.children: board.children.append("") elif not isinstance(board.children[index], str): board.children.insert(index, "") else: creation = False buttons_list = () if creation else (Gtk.STOCK_CLEAR, Gtk.ResponseType.REJECT) buttons_list = buttons_list + (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_OK, Gtk.ResponseType.ACCEPT) dialog = Gtk.Dialog(_("Add comment") if creation else _("Edit comment"), mainwindow(), Gtk.DialogFlags.MODAL | Gtk.DialogFlags.DESTROY_WITH_PARENT, buttons_list) textedit = Gtk.TextView() textedit.set_editable(True) textedit.set_cursor_visible(True) textedit.set_wrap_mode(Gtk.WrapMode.WORD) textbuffer = textedit.get_buffer() textbuffer.set_text(board.children[index]) sw = Gtk.ScrolledWindow() sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) sw.add(textedit) dialog.get_content_area().pack_start(sw, True, True, 0) dialog.resize(300, 200) dialog.show_all() response = dialog.run() dialog.destroy() (iter_first, iter_last) = textbuffer.get_bounds() comment = textbuffer.get_text(iter_first, iter_last, False) update = response in [Gtk.ResponseType.REJECT, Gtk.ResponseType.ACCEPT] drop = (response == Gtk.ResponseType.REJECT) or (creation and not update) or (update and len(comment) == 0) if drop: if not creation: self.gamemodel.needsSave = True del board.children[index] else: if update: if board.children[index] != comment: self.gamemodel.needsSave = True board.children[index] = comment if drop or update: self.update() def menu_delete_comment(self, widget=None, board=None, index=0): """ The method removes a comment. """ if index == -1 or not board.children: return elif not isinstance(board.children[index], str): return self.gamemodel.needsSave = True del board.children[index] self.update() def menu_move_attribute(self, widget, board, nag): """ The method will assign a sign to a move, like "a4!" or "Kh8?!". It is not possible to have multiple NAG tags for the move. """ if len(board.nags) == 0: board.nags.append(nag) self.gamemodel.needsSave = True else: if board.nags[0] != nag: board.nags[0] = nag self.gamemodel.needsSave = True if self.gamemodel.needsSave: self.update_node(board) def menu_position_attribute(self, widget, board, nag): """ The method will assign a sign to describe the current position. It is not possible to have multiple NAG tags for the position. """ color = board.color if color == WHITE and nag in ("$14", "$16", "$18", "$20", "$22", "$32", "$36", "$40", "$44", "$132", "$138"): nag = "$%s" % (int(nag[1:]) + 1) if len(board.nags) == 0: board.nags.append("") board.nags.append(nag) self.gamemodel.needsSave = True if len(board.nags) == 1: board.nags.append(nag) self.gamemodel.needsSave = True else: if board.nags[1] != nag: board.nags[1] = nag self.gamemodel.needsSave = True if self.gamemodel.needsSave: self.update_node(board) def menu_remove_symbols(self, widget, board): """ The method removes all the NAG tags assigned to the current node. """ if board.nags: board.nags = [] self.update_node(board) self.gamemodel.needsSave = True def menu_reset_evaluations(self, widget): """ The method removes all the evaluations in order to recalculate them or simplify the output. """ self.gamemodel.scores = {} self.update() def print_node(self, node): """ Just a debug helper """ if "vari" in node: if node["board"] is None: text = "[" else: text = "]" elif "comment" in node: text = node["comment"] else: text = self.__movestr(node["board"]) return text def remove_variation(self, node): parent = node["parent"] # Set new shown board to parent board by default if parent.pieceBoard is None: # variation without played move at game end self.boardview.setShownBoard(self.gamemodel.boards[-1]) else: self.boardview.setShownBoard(parent.pieceBoard) last_node = self.nodelist[-1] == node startnode = node["vari"] start = startnode["start"] end = node["end"] need_delete = [] for n in self.nodelist[self.nodelist.index(startnode):]: if n["start"] < end: need_delete.append(n) if not last_node: diff = end - start for n in self.nodelist[self.nodelist.index(node) + 1:]: n["start"] -= diff n["end"] -= diff for n in need_delete: self.nodelist.remove(n) start_iter = self.textbuffer.get_iter_at_offset(start) end_iter = self.textbuffer.get_iter_at_offset(end) self.textbuffer.delete(start_iter, end_iter) def variation_start(self, iter, index, level): start = iter.get_offset() if not iter.ends_tag(tag=self.tag_new_line): self.textbuffer.insert_with_tags_by_name(iter, "\n", "new_line") vlevel = min(level + 1, len(self.tag_vari_depth) - 1) self.textbuffer.insert_with_tags_by_name(iter, "(", "variation-depth-%d" % vlevel) node = {} node["board"] = EMPTY_BOARD node["vari"] = None node["start"] = start node["end"] = iter.get_offset() if index == -1: self.nodelist.append(node) else: self.nodelist.insert(index, node) return (iter.get_offset() - start, node) def variation_end(self, iter, index, level, firstboard, parent, opening_node): start = iter.get_offset() vlevel = min(level + 1, len(self.tag_vari_depth) - 1) self.textbuffer.insert_with_tags_by_name(iter, ")", "variation-depth-%d" % vlevel) self.textbuffer.insert_with_tags_by_name(iter, u" ✖ ", "remove-variation") # chr = iter.get_char() # somehow iter.begins_tag() doesn't work, so we use get_char() instead if iter.get_char() != "\n": self.textbuffer.insert_with_tags_by_name(iter, "\n", "new_line") node = {} node["board"] = firstboard node["parent"] = parent node["vari"] = opening_node node["start"] = start node["end"] = iter.get_offset() if index == -1: self.nodelist.append(node) else: self.nodelist.insert(index, node) return iter.get_offset() - start def update_node(self, board): """ Called after adding/removing evaluation symbols """ node = None for n in self.nodelist: if n["board"] == board: start = self.textbuffer.get_iter_at_offset(n["start"]) end = self.textbuffer.get_iter_at_offset(n["end"]) node = n break if node is None: return index = self.nodelist.index(node) level = node["level"] parent = node["parent"] diff = node["end"] - node["start"] self.nodelist.remove(node) self.textbuffer.delete(start, end) inserted_node = self.insert_node(board, start, index, level, parent) diff = inserted_node["end"] - inserted_node["start"] - diff if len(self.nodelist) > index + 1: for node in self.nodelist[index + 1:]: node["start"] += diff node["end"] += diff self.update_selected_node() def insert_node(self, board, iter, index, level, parent): start = iter.get_offset() movestr = self.__movestr(board) self.textbuffer.insert(iter, "%s " % movestr) startIter = self.textbuffer.get_iter_at_offset(start) endIter = self.textbuffer.get_iter_at_offset(iter.get_offset()) if level == 0: self.textbuffer.apply_tag_by_name("move", startIter, endIter) self.textbuffer.apply_tag_by_name("margin", startIter, endIter) self.colorize_node(board.plyCount, startIter, endIter) else: self.textbuffer.apply_tag_by_name("variation-depth-%d" % level, startIter, endIter) node = {} node["board"] = board node["start"] = start node["end"] = iter.get_offset() node["parent"] = parent node["level"] = level if index == -1: self.nodelist.append(node) else: self.nodelist.insert(index, node) return node def variation_extended(self, gamemodel, prev_board, board): node = None for n in self.nodelist: if n["board"] == prev_board: end = self.textbuffer.get_iter_at_offset(n["end"]) node = n break node_index = self.nodelist.index(node) + 1 inserted_node = self.insert_node(board, end, node_index, node["level"], node["parent"]) diff = inserted_node["end"] - inserted_node["start"] if len(self.nodelist) > node_index + 1: for node in self.nodelist[node_index + 1:]: node["start"] += diff node["end"] += diff self.boardview.setShownBoard(board.pieceBoard) self.gamemodel.needsSave = True def hide_movelist(self): return (self.gamemodel.lesson_game and not self.gamemodel.solved) or ( self.gamemodel.puzzle_game and len(self.gamemodel.moves) == 0) def variation_added(self, gamemodel, boards, parent): # Don't show moves in interactive lesson games if self.hide_movelist(): return # first find the iter where we will inset this new variation node = None for n in self.nodelist: if n["board"] == parent: end = self.textbuffer.get_iter_at_offset(n["end"]) node = n break if node is None: next_node_index = len(self.nodelist) end = self.textbuffer.get_end_iter() level = 0 else: next_node_index = self.nodelist.index(node) + 1 level = node["level"] # diff will store the offset we need to shift the remaining stuff diff = 0 # variation opening parenthesis sdiff, opening_node = self.variation_start(end, next_node_index, level) diff += sdiff for i, board in enumerate(boards): # do we have initial variation comment? if (board.prev is None): continue else: # insert variation move inserted_node = self.insert_node( board, end, next_node_index + i, level + 1, parent) diff += inserted_node["end"] - inserted_node["start"] end = self.textbuffer.get_iter_at_offset(inserted_node["end"]) diff += self.variation_end(end, next_node_index + len(boards), level, boards[1], parent, opening_node) # adjust remaining stuff offsets if next_node_index > 0: for node in self.nodelist[next_node_index + len(boards) + 1:]: node["start"] += diff node["end"] += diff # if new variation is coming from clicking in book panel # we want to jump into the first board in new vari self.boardview.setShownBoard(boards[1].pieceBoard) self.gamemodel.needsSave = True def colorize_node(self, ply, start, end): """ The method updates the color or the node in order to show the errors and blunders. """ tags = ["emt", "scored0", "scored5", "scored4", "scored3", "scored2", "scored1"] tags_diff = [None, None, 400, 200, 90, 50, 20] for tag_name in tags: self.textbuffer.remove_tag_by_name(tag_name, start, end) tag_name = "scored0" if self.showBlunder and ply - 1 in self.gamemodel.scores and ply in self.gamemodel.scores: color = (ply - 1) % 2 oldmoves, oldscore, olddepth = self.gamemodel.scores[ply - 1] oldscore = oldscore * -1 if color == BLACK else oldscore moves, score, depth = self.gamemodel.scores[ply] score = score * -1 if color == WHITE else score diff = score - oldscore for i, td in enumerate(tags_diff): if td is None: continue if (diff >= td and color == BLACK) or (diff <= -td and color == WHITE): tag_name = tags[i] break self.textbuffer.apply_tag_by_name(tag_name, start, end) def analysis_changed(self, gamemodel, ply): """ The method updates the analysis received from an external event. """ if self.boardview.animating: return if not self.boardview.shownIsMainLine(): return try: board = gamemodel.getBoardAtPly(ply).board except IndexError: return node = None if self.showEval or self.showBlunder: for n in self.nodelist: if n["board"] == board: start = self.textbuffer.get_iter_at_offset(n["start"]) end = self.textbuffer.get_iter_at_offset(n["end"]) node = n break if node is None: return if self.showBlunder: self.colorize_node(ply, start, end) emt_eval = "" if self.showEmt and self.gamemodel.timemodel.hasTimes: elapsed = gamemodel.timemodel.getElapsedMoveTime(board.plyCount - gamemodel.lowply) emt_eval = "%s " % formatTime(elapsed) if self.showEval: if board.plyCount in gamemodel.scores: moves, score, depth = gamemodel.scores[board.plyCount] score = score * -1 if board.color == BLACK else score emt_eval += "%s " % prettyPrintScore(score, depth, format_mate=True) if emt_eval: if node == self.nodelist[-1]: next_node = None self.textbuffer.delete(end, self.textbuffer.get_end_iter()) else: next_node = self.nodelist[self.nodelist.index(node) + 1] next_start = self.textbuffer.get_iter_at_offset(next_node[ "start"]) self.textbuffer.delete(end, next_start) self.textbuffer.insert_with_tags_by_name(end, emt_eval, "emt") if next_node is not None: diff = end.get_offset() - next_node["start"] for node in self.nodelist[self.nodelist.index(next_node):]: node["start"] += diff node["end"] += diff def update_selected_node(self): """ Update the selected node highlight """ self.textbuffer.remove_tag_by_name("selected", self.textbuffer.get_start_iter(), self.textbuffer.get_end_iter()) shown_board = self.gamemodel.getBoardAtPly( self.boardview.shown, self.boardview.shown_variation_idx) start = None for node in self.nodelist: if node["board"] == shown_board.board: start = self.textbuffer.get_iter_at_offset(node["start"]) end = self.textbuffer.get_iter_at_offset(node["end"]) # don't hightlight initial game comment! if shown_board.board != self.gamemodel.boards[0].board: self.textbuffer.apply_tag_by_name("selected", start, end) break if start: # self.textview.scroll_to_iter(start, within_margin=0.03) self.textview.scroll_to_iter(start, 0.01, True, 0.00, 0.00) def insert_nodes(self, board, level=0, parent=None, result=None): """ Recursively builds the node tree """ # Don't show moves in interactive lesson games if self.hide_movelist(): return end_iter = self.textbuffer.get_end_iter # Convenience shortcut to the function while True: # start = end_iter().get_offset() if board is None: break # Initial game or variation comment if board.prev is None: for index, child in enumerate(board.children): if isinstance(child, str): self.insert_comment(child, board, parent, index=index, level=level, ini_board=board) board = board.next continue if board.fen_was_applied: self.insert_node(board, end_iter(), -1, level, parent) if self.showEmt and level == 0 and board.fen_was_applied and self.gamemodel.timemodel.hasTimes: elapsed = self.gamemodel.timemodel.getElapsedMoveTime( board.plyCount - self.gamemodel.lowply) self.textbuffer.insert_with_tags_by_name( end_iter(), "%s " % formatTime(elapsed), "emt") if self.showEval and level == 0 and board.fen_was_applied and board.plyCount in self.gamemodel.scores: moves, score, depth = self.gamemodel.scores[board.plyCount] score = score * -1 if board.color == BLACK else score # endIter = self.textbuffer.get_iter_at_offset(end_iter().get_offset()) self.textbuffer.insert_with_tags_by_name( end_iter(), "%s " % prettyPrintScore(score, depth, format_mate=True), "emt") for index, child in enumerate(board.children): if isinstance(child, str): # comment self.insert_comment(child, board, parent, index=index, level=level) else: # variation diff, opening_node = self.variation_start(end_iter(), -1, level) self.insert_nodes(child[0], level + 1, parent=board) self.variation_end(end_iter(), -1, level, child[1], board, opening_node) if board.next: board = board.next else: break if result and result != "*" and not self.gamemodel.lesson_game and not self.gamemodel.practice_game: self.textbuffer.insert_with_tags_by_name(end_iter(), " " + result, "move") def apply_symbols(self, text): """ The method will apply a Unicode symbol for any move contained in a sentence. Because it applies to a PGN-compatible text, only English letters are replaced (RNBQK). """ def process_word(word): # Undecoration of the word regex = re_decoration.search(word) if regex: lead, core, trail = regex.groups() # Detection of the pieces in the move regex = re_move.search(core) if regex: parts = list(regex.groups()) # Application of the Unicode symbols for i, sign in enumerate(reprSign): # TODO what about reprSignMakruk and reprSignSittuyin ? if parts[0] == sign: parts[0] = FAN_PIECES[WHITE][i] if parts[2] == sign: parts[2] = FAN_PIECES[WHITE][i] return lead + "".join(parts) + trail else: return word else: return word # Application of the filter on each element of the text if self.fan: re_decoration = re.compile('^([^a-hprnkqx1-8]*|[0-9]+\.+)?([a-hprnkqx1-8=@]+)([^a-hprnkqx1-8]*)$', re.IGNORECASE) re_move = re.compile('^([PRNBQK]?)(@?[a-h]?[1-8]?x?[a-h][1-8]=?)([RNBQK]?)(.*)$') return " ".join([process_word(word) for word in text.split(" ")]) else: return text def insert_comment(self, comment, board, parent, index=0, level=0, ini_board=None): comment = re.sub("\[%.*?\]", "", comment) if not comment: return end_iter = self.textbuffer.get_end_iter() pos = len(self.nodelist) for n in self.nodelist: if n["board"] == board: pos = self.nodelist.index(n) break start = end_iter.get_offset() self.textbuffer.insert_with_tags_by_name(end_iter, self.apply_symbols(comment) + " ", "comment") node = {} node["board"] = ini_board if ini_board is not None else board node["comment"] = comment node["index"] = index node["parent"] = parent node["level"] = level node["start"] = start node["end"] = end_iter.get_offset() self.nodelist.insert(pos if ini_board is not None else pos + 1, node) return node def update_header(self): self.header_textbuffer.set_text("") end_iter = self.header_textbuffer.get_end_iter if self.gamemodel.info is not None: insert_formatted(self.header_textview, end_iter(), self.gamemodel.info) self.header_textbuffer.insert(end_iter(), "\n") if self.gamemodel.players: text = repr(self.gamemodel.players[0]) else: return self.header_textbuffer.insert_with_tags_by_name(end_iter(), text, "head2") white_elo = self.gamemodel.tags['WhiteElo'] if white_elo: self.header_textbuffer.insert_with_tags_by_name(end_iter(), " %s" % white_elo, "head1") self.header_textbuffer.insert_with_tags_by_name(end_iter(), " - ", "head1") # text = self.gamemodel.tags['Black'] text = repr(self.gamemodel.players[1]) self.header_textbuffer.insert_with_tags_by_name(end_iter(), text, "head2") black_elo = self.gamemodel.tags['BlackElo'] if black_elo: self.header_textbuffer.insert_with_tags_by_name(end_iter(), " %s" % black_elo, "head1") result = reprResult[self.gamemodel.status] self.header_textbuffer.insert_with_tags_by_name(end_iter(), ' ' + result + '\n', "head2") text = "" time_control = self.gamemodel.tags.get('TimeControl') if time_control: match = parseTimeControlTag(time_control) if match is None: text += _("No time control") if time_control == "-" else time_control else: secs, inc, moves = match ttime = "" tmin = int(floor(secs / 60)) tsec = secs - 60 * tmin if tmin > 0: ttime += str(tmin) + " " + (_("mins") if tmin > 1 else _("min")) if tsec > 0: if ttime != "": ttime += " " ttime += str(tsec) + " " + (_("secs") if tsec > 1 else _("sec")) if moves is not None and moves > 0: text += _("%(time)s for %(count)d moves") % ({"time": ttime, "count": moves}) else: text += ttime if inc != 0: text += (" + " if inc >= 0 else " – ") + str(abs(inc)) + " " + (_("secs") if abs(inc) > 1 else _("sec")) + "/" + _("move") event = self.gamemodel.tags['Event'] if event and event != "?": if len(text) > 0: text += ', ' text += event site = self.gamemodel.tags['Site'] if site and site != "?": if len(text) > 0: text += ', ' text += site round = self.gamemodel.tags['Round'] if round and round != "?": if len(text) > 0: text += ', ' text += _('round %s') % round date = self.gamemodel.tags['Date'] date = date.replace(".??", "").replace("????.", "") if date != "": if len(text) > 0: text += ', ' text += date self.header_textbuffer.insert_with_tags_by_name(end_iter(), text, "head1") eco = self.gamemodel.tags.get('ECO') if eco: self.header_textbuffer.insert_with_tags_by_name(end_iter(), "\n" + eco, "head2") opening = self.gamemodel.tags.get('Opening') if opening: self.header_textbuffer.insert_with_tags_by_name(end_iter(), " - ", "head1") self.header_textbuffer.insert_with_tags_by_name(end_iter(), opening, "head2") variation = self.gamemodel.tags.get('Variation') if variation: self.header_textbuffer.insert_with_tags_by_name(end_iter(), ", ", "head1") self.header_textbuffer.insert_with_tags_by_name(end_iter(), variation, "head2") def update(self, *args): """ This method execute the full refresh of the widget. """ self.fetch_chess_conf() self.textbuffer.set_text('') self.nodelist = [] self.update_header() self.update_choices() result = reprResult[self.gamemodel.status] self.insert_nodes(self.gamemodel.boards[0].board, result=result) self.update_selected_node() def on_choice_clicked(self, button, board): self.boardview.setShownBoard(board) if self.gamemodel.lesson_game: self.infobar.opp_choice_selected(board) def on_enter_notify_event(self, button, event, move): arrow = Cord(FCORD(move), color="G"), Cord(TCORD(move)) self.boardview.arrows.add(arrow) self.boardview.redrawCanvas() def on_leave_notify_event(self, button, event, move): arrow = Cord(FCORD(move), color="G"), Cord(TCORD(move)) if arrow in self.boardview.arrows: self.boardview.arrows.remove(arrow) self.boardview.redrawCanvas() def remove_choices(self): """ Removes all choice buttons """ for widget in self.choices_box: self.choices_box.remove(widget) def update_choices(self): # First update lesson move comments if self.hide_movelist(): self.show_lesson_comments() view = self.boardview try: next_board = view.model.getBoardAtPly(view.shown + 1, variation=view.shown_variation_idx) except IndexError: next_board = None # On game end and variation end there will be no choices for sure if next_board is None: self.remove_choices() return base_board = view.model.getBoardAtPly(view.shown, variation=view.shown_variation_idx) # Don't show our choices in lesson games if self.gamemodel.lesson_game and base_board.color == self.gamemodel.orientation: self.remove_choices() return # Gether variations first moves if there are any choices = [] for child in next_board.board.children: if isinstance(child, list): lboard = child[1] if self.fan: text = toFAN(base_board.board, lboard.lastMove) else: text = toSAN(base_board.board, lboard.lastMove, True) choices.append((lboard.pieceBoard, lboard.lastMove, text)) # Add main line next move to choice list also if choices: move = next_board.board.lastMove if self.fan: text = toFAN(base_board.board, move) else: text = toSAN(base_board.board, move, True) choices = [(next_board, move, text)] + choices # Remove previous choice buttons self.remove_choices() # Add nev choice buttons if self.choices_enabled and choices: for board, move, san in choices: button = Gtk.Button(san) button.set_name("rounded") button.connect("clicked", self.on_choice_clicked, board) button.connect("enter_notify_event", self.on_enter_notify_event, move) button.connect("leave_notify_event", self.on_leave_notify_event, move) self.choices_box.pack_start(button, False, False, 3) self.choices_box.show_all() preferencesDialog.SoundTab.playAction("variationChoice") if not self.choices_enabled: self.choices_enabled = True def show_lesson_comments(self): self.textbuffer.set_text('') self.nodelist = [] view = self.boardview board = view.model.getBoardAtPly(view.shown, variation=view.shown_variation_idx) for index, child in enumerate(board.board.children): if isinstance(child, str): if child.lstrip().startswith("[%"): continue end_iter = self.textbuffer.get_end_iter() self.textbuffer.insert_with_tags_by_name( end_iter, self.apply_symbols(child) + " ", "lesson-comment") def on_shownChanged(self, view, shown): self.update_choices() self.update_selected_node() def on_moves_undone(self, game, moves): """ This method is called once a move has been undone. """ start = self.textbuffer.get_start_iter() end = self.textbuffer.get_end_iter() for node in reversed(self.nodelist): if node["board"].pieceBoard == self.gamemodel.variations[0][-1]: start = self.textbuffer.get_iter_at_offset(node["end"]) break else: self.nodelist.remove(node) if self.gamemodel.ply > 0: self.textbuffer.delete(start, end) self.update() def on_learn_success(self, model): self.update() def on_players_changed(self, model): self.update_header() def on_game_loaded(self, model, uri): """ The method is called when a game is loaded. """ for ply in range(min(40, model.ply, len(model.boards))): if ply >= model.lowply: model.setOpening(ply) self.update() def on_game_changed(self, game, ply): """ The method is called when a game is changed, like by a move. """ if self.hide_movelist(): self.update() board = game.getBoardAtPly(ply, variation=0).board # if self.update() inserted all nodes before (f.e opening_changed), do nothing if self.nodelist and self.nodelist[-1]["board"] == board: return end_iter = self.textbuffer.get_end_iter start = end_iter().get_offset() movestr = self.__movestr(board) self.textbuffer.insert(end_iter(), "%s " % movestr) startIter = self.textbuffer.get_iter_at_offset(start) endIter = self.textbuffer.get_iter_at_offset(end_iter().get_offset()) self.textbuffer.apply_tag_by_name("move", startIter, endIter) self.colorize_node(board.plyCount, startIter, endIter) node = {} node["board"] = board node["start"] = startIter.get_offset() node["end"] = end_iter().get_offset() node["parent"] = None node["level"] = 0 self.nodelist.append(node) if self.showEmt and self.gamemodel.timed: elapsed = self.gamemodel.timemodel.getElapsedMoveTime( board.plyCount - self.gamemodel.lowply) self.textbuffer.insert_with_tags_by_name( end_iter(), "%s " % formatTime(elapsed), "emt") self.update_selected_node() def __movestr(self, board): move = board.lastMove if self.fan: movestr = toFAN(board.prev, move) else: movestr = toSAN(board.prev, move, True) nagsymbols = "".join([nag2symbol(nag) for nag in board.nags]) # To prevent wrap castling we will use hyphen bullet (U+2043) return "%s%s%s" % (move_count(board), movestr.replace( '-', u'⁃'), nagsymbols) pychess-1.0.0/lib/pychess/perspectives/database/0000755000175000017500000000000013467766037020765 5ustar varunvarunpychess-1.0.0/lib/pychess/perspectives/database/FilterPanel.py0000644000175000017500000006111413407365640023534 0ustar varunvarun# -*- coding: UTF-8 -*- import ast from gi.repository import GLib, Gdk, Gtk, GObject from pychess.Utils.const import chr2Sign, WHITE, BLACK, NORMALCHESS from pychess.Utils.Piece import Piece from pychess.Utils.SetupModel import SetupModel, SetupPlayer from pychess.System import uistuff from pychess.System.prefix import addDataPrefix from pychess.widgets.BoardControl import BoardControl from pychess.widgets.gameinfoDialog import on_pick_date from pychess.widgets.PieceWidget import PieceWidget from pychess.widgets import mainwindow from pychess.Variants import name2variant TAG_FILTER, MATERIAL_FILTER, PATTERN_FILTER, NONE, RULE, SEQUENCE, STREAK = range(7) def formatted(q): """ Simplified textual representation of query """ q = "%s" % q return q[1:-1].replace("'", "") __title__ = _("Filters") __icon__ = addDataPrefix("glade/panel_filter.svg") __desc__ = _("Filters panel can filter game list by various conditions") class FilterPanel(Gtk.TreeView): def __init__(self, persp): GObject.GObject.__init__(self) self.persp = persp self.filtered = False self.widgets = uistuff.GladeWidgets("PyChess.glade") # Build variant combo model variant_store = Gtk.ListStore(str, int) for name, variant in sorted(name2variant.items()): variant_store.append((name, variant.variant)) self.widgets["variant"].set_model(variant_store) renderer_text = Gtk.CellRendererText() self.widgets["variant"].pack_start(renderer_text, True) self.widgets["variant"].add_attribute(renderer_text, "text", 0) # Connect date_from and date_to to corresponding calendars self.widgets["date_from_button"].connect("clicked", on_pick_date, self.widgets["date_from"]) self.widgets["date_to_button"].connect("clicked", on_pick_date, self.widgets["date_to"]) # Add piece widgets to dialog *_dock containers on material tab self.dialog = self.widgets["filter_dialog"] self.dialog.set_transient_for(mainwindow()) def hide(widget, event): widget.hide() return True self.dialog.connect("delete-event", hide) for piece in "qrbnp": dock = "w%s_dock" % piece self.widgets[dock].add(PieceWidget(Piece(WHITE, chr2Sign[piece]))) self.widgets[dock].get_child().show() dock = "b%s_dock" % piece self.widgets[dock].add(PieceWidget(Piece(BLACK, chr2Sign[piece]))) self.widgets[dock].get_child().show() dock = "moved_%s_dock" % piece self.widgets[dock].add(PieceWidget(Piece(BLACK, chr2Sign[piece]))) self.widgets[dock].get_child().show() dock = "captured_%s_dock" % piece self.widgets[dock].add(PieceWidget(Piece(BLACK, chr2Sign[piece]))) self.widgets[dock].get_child().show() piece = "k" dock = "moved_%s_dock" % piece self.widgets[dock].add(PieceWidget(Piece(BLACK, chr2Sign[piece]))) self.widgets[dock].get_child().show() self.widgets["copy_sub_fen"].connect("clicked", self.on_copy_sub_fen) self.widgets["paste_sub_fen"].connect("clicked", self.on_paste_sub_fen) # We will store our filtering queries in a ListStore # column 0: query as text # column 1: query dict # column 2: filter type (NONE, TAG_FILTER or MATERIAL_FILTER or PATTERN_FILTER) # column 3: row type (RULE, SEQUENCE, STREAK) self.treestore = Gtk.TreeStore(str, object, int, int) self.set_model(self.treestore) self.set_headers_visible(True) self.set_grid_lines(Gtk.TreeViewGridLines.HORIZONTAL) column = Gtk.TreeViewColumn(_("Filter"), Gtk.CellRendererText(), text=0) column.set_min_width(80) self.append_column(column) self.columns_autosize() sw = Gtk.ScrolledWindow() sw.set_shadow_type(Gtk.ShadowType.ETCHED_IN) sw.add(self) self.box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.box.pack_start(sw, True, True, 0) # Add buttons toolbar = Gtk.Toolbar() editButton = Gtk.ToolButton(stock_id=Gtk.STOCK_EDIT) editButton.set_tooltip_text(_("Edit selected filter")) editButton.connect("clicked", self.on_edit_clicked) toolbar.insert(editButton, -1) delButton = Gtk.ToolButton(stock_id=Gtk.STOCK_REMOVE) delButton.set_tooltip_text(_("Remove selected filter")) delButton.connect("clicked", self.on_del_clicked) toolbar.insert(delButton, -1) addButton = Gtk.ToolButton(stock_id=Gtk.STOCK_ADD) addButton.set_tooltip_text(_("Add new filter")) addButton.connect("clicked", self.on_add_clicked) toolbar.insert(addButton, -1) addSeqButton = Gtk.ToolButton() addSeqButton.set_label(_("Seq")) addSeqButton.set_is_important(True) addSeqButton.set_tooltip_text(_("Create new squence where listed conditions may be satisfied at different times in a game")) addSeqButton.connect("clicked", self.on_add_sequence_clicked) toolbar.insert(addSeqButton, -1) addStreakButton = Gtk.ToolButton() addStreakButton.set_label(_("Str")) addStreakButton.set_is_important(True) addStreakButton.set_tooltip_text(_("Create new streak sequence where listed conditions have to be satisfied in consecutive (half)moves")) addStreakButton.connect("clicked", self.on_add_streak_clicked) toolbar.insert(addStreakButton, -1) self.filterButton = Gtk.ToggleToolButton(Gtk.STOCK_FIND) self.filterButton.set_tooltip_text(_("Filter game list by various conditions")) self.filterButton.connect("clicked", self.on_filter_clicked) toolbar.insert(self.filterButton, -1) tool_box = Gtk.Box() tool_box.pack_start(toolbar, False, False, 0) self.box.pack_start(tool_box, False, False, 0) self.box.show_all() def on_filter_clicked(self, button): self.filtered = button.get_active() if not self.filtered: self.persp.preview_panel.filterButton.set_sensitive(True) self.persp.opening_tree_panel.filterButton.set_sensitive(True) self.clear_filters() else: self.persp.preview_panel.filterButton.set_sensitive(False) self.persp.opening_tree_panel.filterButton.set_sensitive(False) self.update_filters() def on_del_clicked(self, button): selection = self.get_selection() model, treeiter = selection.get_selected() if treeiter is None: return self.treestore.remove(treeiter) self.update_filters() def on_add_sequence_clicked(self, button): selection = self.get_selection() model, treeiter = selection.get_selected() if treeiter is None: it = self.treestore.append(None, [_("Sequence"), {}, NONE, SEQUENCE]) self.get_selection().select_iter(it) else: text, query, query_type, row_type = self.treestore[treeiter] if row_type == RULE: it = self.treestore.append(None, [_("Sequence"), {}, NONE, SEQUENCE]) self.get_selection().select_iter(it) def on_add_streak_clicked(self, button): selection = self.get_selection() model, treeiter = selection.get_selected() if treeiter is None: it = self.treestore.append(None, [_("Streak"), {}, NONE, STREAK]) self.get_selection().select_iter(it) else: text, query, query_type, row_type = self.treestore[treeiter] if row_type == RULE: it = self.treestore.append(None, [_("Streak"), {}, NONE, STREAK]) self.get_selection().select_iter(it) elif row_type == SEQUENCE: it = self.treestore.append(treeiter, [_("Streak"), {}, NONE, STREAK]) self.get_selection().select_iter(it) self.expand_all() def on_add_clicked(self, button): self.widgets["tag_filter"].set_sensitive(True) self.widgets["material_filter"].set_sensitive(True) self.widgets["pattern_filter"].set_sensitive(True) self.widgets["filter_notebook"].set_current_page(TAG_FILTER) self.ini_widgets_from_query({}) selection = self.get_selection() model, treeiter = selection.get_selected() if treeiter is not None: text, query, query_type, row_type = self.treestore[treeiter] if row_type == RULE: treeiter = None def on_response(dialog, response): if response == Gtk.ResponseType.OK: tag_query, material_query, pattern_query = self.get_queries_from_widgets() if tag_query: it = self.treestore.append(treeiter, [formatted(tag_query), tag_query, TAG_FILTER, RULE]) self.get_selection().select_iter(it) if material_query: it = self.treestore.append(treeiter, [formatted(material_query), material_query, MATERIAL_FILTER, RULE]) self.get_selection().select_iter(it) if pattern_query: it = self.treestore.append(treeiter, [formatted(pattern_query), pattern_query, PATTERN_FILTER, RULE]) self.get_selection().select_iter(it) self.expand_all() self.update_filters() if (not self.filtered) and len(self.treestore) == 1: self.filterButton.set_active(True) if hasattr(self, "board_control"): self.board_control.emit("action", "CLOSE", None, None) self.dialog.hide() self.dialog.disconnect(handler_id) handler_id = self.dialog.connect("response", on_response) self.dialog.show() def on_edit_clicked(self, button): selection = self.get_selection() model, treeiter = selection.get_selected() if treeiter is None: return text, query, query_type, row_type = self.treestore[treeiter] if row_type != RULE: return self.ini_widgets_from_query(query) if query_type == TAG_FILTER: self.widgets["tag_filter"].set_sensitive(True) self.widgets["material_filter"].set_sensitive(False) self.widgets["pattern_filter"].set_sensitive(False) self.widgets["filter_notebook"].set_current_page(TAG_FILTER) elif query_type == MATERIAL_FILTER: self.widgets["material_filter"].set_sensitive(True) self.widgets["tag_filter"].set_sensitive(False) self.widgets["pattern_filter"].set_sensitive(False) self.widgets["filter_notebook"].set_current_page(MATERIAL_FILTER) elif query_type == PATTERN_FILTER: self.widgets["pattern_filter"].set_sensitive(True) self.widgets["tag_filter"].set_sensitive(False) self.widgets["material_filter"].set_sensitive(False) self.widgets["filter_notebook"].set_current_page(PATTERN_FILTER) def on_response(dialog, response): if response == Gtk.ResponseType.OK: tag_query, material_query, pattern_query = self.get_queries_from_widgets() if tag_query and query_type == TAG_FILTER: self.treestore[treeiter] = [formatted(tag_query), tag_query, TAG_FILTER, RULE] if material_query and query_type == MATERIAL_FILTER: self.treestore[treeiter] = [formatted(material_query), material_query, MATERIAL_FILTER, RULE] if pattern_query and query_type == PATTERN_FILTER: self.treestore[treeiter] = [formatted(pattern_query), pattern_query, PATTERN_FILTER, RULE] self.update_filters() if hasattr(self, "board_control"): self.board_control.emit("action", "CLOSE", None, None) self.dialog.hide() self.dialog.disconnect(handler_id) handler_id = self.dialog.connect("response", on_response) self.dialog.show() def add_sub_fen(self, sub_fen): selection = self.get_selection() model, treeiter = selection.get_selected() if treeiter is not None: text, query, query_type, row_type = self.treestore[treeiter] if row_type == RULE: treeiter = None query = {"sub-fen": sub_fen} self.treestore.append(treeiter, [formatted(query), query, PATTERN_FILTER, RULE]) self.expand_all() if self.filtered: self.update_filters() def clear_filters(self): self.persp.chessfile.set_tag_filter(None) self.persp.chessfile.set_scout_filter(None) self.persp.gamelist.load_games() def update_filters(self): tag_query = {} scout_query = {} # level 0 for row in self.treestore: text, query, filter_type, row_type = row if row_type == RULE: if filter_type == TAG_FILTER: tag_query.update(query) else: scout_query.update(query) elif row_type == SEQUENCE: scout_query["sequence"] = [] # level 1 for sub_row in row.iterchildren(): stext, squery, sfilter_type, srow_type = sub_row if srow_type == RULE: scout_query["sequence"].append(squery) elif srow_type == STREAK: sub_streak = {"streak": []} # level 2 for sub_sub_row in sub_row.iterchildren(): sstext, ssquery, ssfilter_type, ssrow_type = sub_sub_row if ssrow_type == RULE: sub_streak["streak"].append(ssquery) scout_query["sequence"].append(sub_streak) elif row_type == STREAK: scout_query["streak"] = [] # level 1 for sub_row in row.iterchildren(): stext, squery, sfilter_type, srow_type = sub_row if srow_type == RULE: scout_query["streak"].append(squery) need_update = False if tag_query != self.persp.chessfile.tag_query: if self.filtered: self.persp.chessfile.set_tag_filter(tag_query) need_update = True if scout_query != self.persp.chessfile.scout_query: if self.filtered: self.persp.chessfile.set_scout_filter(scout_query) need_update = True textbuffer = self.widgets["scout_textbuffer"] (iter_first, iter_last) = textbuffer.get_bounds() text = textbuffer.get_text(iter_first, iter_last, False) if text: q = ast.literal_eval(text) self.persp.chessfile.set_scout_filter(q) need_update = True if need_update and self.filtered: self.persp.gamelist.load_games() def ini_widgets_from_query(self, query): """ Set filter dialog widget values based on query dict key-value pairs """ rule = "variant" if rule in query: index = 0 model = self.widgets["variant"].get_model() for index, row in enumerate(model): if query[rule] == row[1]: break self.widgets["variant"].set_active(index) for rule in ("white", "black", "event", "site", "date_from", "date_to", "eco_from", "eco_to", "annotator"): if rule in query: self.widgets[rule].set_text(query[rule]) else: self.widgets[rule].set_text("") for rule in ("elo_from", "elo_to"): if rule in query: self.widgets[rule].set_value(query[rule]) else: self.widgets[rule].set_value(0) if "ignore_tag_colors" in query: self.widgets["ignore_tag_colors"].set_active(True) else: self.widgets["ignore_tag_colors"].set_active(False) if "result" in query: if query["result"] == "1-0": self.widgets["result_1_0"].set_active(True) elif query["result"] == "0-1": self.widgets["result_0_1"].set_active(True) elif query["result"] == "1/2-1/2": self.widgets["result_1_2"].set_active(True) elif query["result"] == "*": self.widgets["result_0_0"].set_active(True) else: self.widgets["result_1_0"].set_active(False) self.widgets["result_0_1"].set_active(False) self.widgets["result_1_2"].set_active(False) self.widgets["result_0_0"].set_active(False) q = None white0 = "" black0 = "" if "material" in query: q = query["material"] if "imbalance" in query: q = query["imbalance"] self.widgets["imbalance"].set_active(True) else: self.widgets["imbalance"].set_active(False) self.widgets["ignore_material_colors"].set_active(False) if type(q) is list and len(q) == 2: if "material" in query: _, white0, black0 = q[0].split("K") _, white1, black1 = q[1].split("K") else: white0, black0 = q[0].split("v") white1, black1 = q[1].split("v") if white0 == black1 and black0 == white1: self.widgets["ignore_material_colors"].set_active(True) elif q is not None: if "material" in query: _, white0, black0 = q.split("K") else: white0, black0 = q.split("v") for piece in "QRBNP": w = white0.count(piece) self.widgets["w%s" % piece.lower()].set_value(w if w > 0 else 0) b = black0.count(piece) self.widgets["b%s" % piece.lower()].set_value(b if b > 0 else 0) if "white-move" in query: self.widgets["white_move"].set_text(", ".join(query["white-move"])) else: self.widgets["white_move"].set_text("") if "black-move" in query: self.widgets["black_move"].set_text(", ".join(query["black-move"])) else: self.widgets["black_move"].set_text("") moved = "moved" in query for piece in "pnbrqk": active = moved and piece.upper() in query["moved"] self.widgets["moved_%s" % piece].set_active(active) captured = "captured" in query for piece in "pnbrq": active = captured and piece.upper() in query["captured"] self.widgets["captured_%s" % piece].set_active(active) if captured and query["captured"] == "": self.widgets["captured_0"].set_active(True) else: self.widgets["captured_0"].set_active(False) if "stm" in query: self.widgets["stm"].set_active(True) if query["stm"] == "white": self.widgets["stm_white"].set_active(True) else: self.widgets["stm_black"].set_active(True) else: self.widgets["stm"].set_active(False) if "sub-fen" in query: sub_fen = query["sub-fen"] fen_str = "%s/prnsqkPRNSQK w" % sub_fen else: sub_fen = "" fen_str = "8/8/8/8/8/8/8/8/prnsqkPRNSQK w" self.widgets["sub_fen"].set_text(sub_fen) # Add a BoardControl widget to dock and initialize it with a new SetupModel self.setupmodel = SetupModel() self.board_control = BoardControl(self.setupmodel, {}, setup_position=True) self.setupmodel.curplayer = SetupPlayer(self.board_control) self.setupmodel.connect("game_changed", self.game_changed) child = self.widgets["setup_pattern_dock"].get_child() if child is not None: self.widgets["setup_pattern_dock"].remove(child) self.widgets["setup_pattern_dock"].add(self.board_control) self.board_control.show_all() self.setupmodel.boards = [self.setupmodel.variant(setup=fen_str)] self.setupmodel.variations = [self.setupmodel.boards] self.setupmodel.start() textbuffer = self.widgets["scout_textbuffer"] textbuffer.set_text("") def get_queries_from_widgets(self): """ Build tag and scout query dict from filter dialog widget names and values """ tag_query = {} material_query = {} pattern_query = {} tree_iter = self.widgets["variant"].get_active_iter() if tree_iter is not None: model = self.widgets["variant"].get_model() variant_code = model[tree_iter][1] tag_query["variant"] = variant_code for rule in ("white", "black", "event", "site", "date_from", "date_to", "eco_from", "eco_to", "annotator"): if self.widgets[rule].get_text(): tag_query[rule] = self.widgets[rule].get_text() for rule in ("elo_from", "elo_to"): if self.widgets[rule].get_value_as_int(): tag_query[rule] = self.widgets[rule].get_value_as_int() if self.widgets["ignore_tag_colors"].get_active(): tag_query["ignore_tag_colors"] = True if self.widgets["result_1_0"].get_active(): tag_query["result"] = "1-0" if self.widgets["result_0_1"].get_active(): tag_query["result"] = "0-1" if self.widgets["result_1_2"].get_active(): tag_query["result"] = "1/2-1/2" if self.widgets["result_0_0"].get_active(): tag_query["result"] = "*" w_material = [] for piece in "qrbnp": w_material.append(piece.upper() * self.widgets["w%s" % piece].get_value_as_int()) b_material = [] for piece in "qrbnp": b_material.append(piece.upper() * self.widgets["b%s" % piece].get_value_as_int()) w_material = "".join(w_material) b_material = "".join(b_material) if w_material or b_material: if self.widgets["imbalance"].get_active(): material_query["imbalance"] = "%sv%s" % (w_material, b_material) if self.widgets["ignore_material_colors"].get_active(): material_query["imbalance"] = ["%sv%s" % (w_material, b_material), "%sv%s" % (b_material, w_material)] else: material_query["material"] = "K%sK%s" % (w_material, b_material) if self.widgets["ignore_material_colors"].get_active(): material_query["material"] = ["K%sK%s" % (w_material, b_material), "K%sK%s" % (b_material, w_material)] if self.widgets["white_move"].get_text(): moves = [move.strip() for move in self.widgets["white_move"].get_text().split(",")] material_query["white-move"] = moves if self.widgets["black_move"].get_text(): moves = [move.strip() for move in self.widgets["black_move"].get_text().split(",")] material_query["black-move"] = moves moved = "" for piece in "pnbrqk": if self.widgets["moved_%s" % piece].get_active(): moved += piece.upper() if moved: material_query["moved"] = "%s" % moved captured = "" for piece in "pnbrq0": if self.widgets["captured_%s" % piece].get_active(): captured += piece.upper() if captured: material_query["captured"] = "%s" % captured.replace("0", "") if self.widgets["stm"].get_active(): if self.widgets["stm_white"].get_active(): material_query["stm"] = "white" else: material_query["stm"] = "black" if self.widgets["sub_fen"].get_text(): pattern_query["sub-fen"] = self.widgets["sub_fen"].get_text() return (tag_query, material_query, pattern_query) def fen_changed(self): self.widgets["sub_fen"].set_text(self.get_fen()) def on_copy_sub_fen(self, widget): clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) text = self.widgets["sub_fen"].get_text() if len(text) > 0: clipboard.set_text(text, -1) def on_paste_sub_fen(self, widget): clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) text = clipboard.wait_for_text() if text.count("/") == 7: self.board_control.emit("action", "SETUP", None, text) def game_changed(self, model, ply): GLib.idle_add(self.fen_changed) def get_fen(self): return self.setupmodel.boards[-1].as_fen(NORMALCHESS) pychess-1.0.0/lib/pychess/perspectives/database/__init__.py0000644000175000017500000006236413407365640023076 0ustar varunvarunimport asyncio import os import threading from struct import pack from gi.repository import Gtk, GObject, GLib from pychess.Utils.const import FIRST_PAGE, NEXT_PAGE, FEN_START, DRAW, WHITEWON, BLACKWON # , reprCord from pychess.Utils.IconLoader import load_icon from pychess.Utils.lutils.LBoard import LBoard from pychess.Utils.lutils.lmove import toPolyglot # , FCORD, TCORD from pychess.Utils.GameModel import GameModel from pychess.Variants import name2variant, NormalBoard from pychess.perspectives import Perspective, perspective_manager, panel_name from pychess.perspectives.database.gamelist import GameList from pychess.perspectives.database.OpeningTreePanel import OpeningTreePanel from pychess.perspectives.database.FilterPanel import FilterPanel from pychess.perspectives.database.PreviewPanel import PreviewPanel from pychess.System.prefix import addUserConfigPrefix from pychess.widgets.pydock.PyDockTop import PyDockTop from pychess.widgets.pydock import EAST, SOUTH, CENTER from pychess.widgets import mainwindow, new_notebook, createImage, createAlignment, gtk_close from pychess.widgets import gamewidget from pychess.Database.model import create_indexes, drop_indexes from pychess.Database.PgnImport import PgnImport, download_file from pychess.Database.JvR import JvR from pychess.Savers import fen, epd, olv from pychess.Savers.pgn import PGNFile from pychess.System import conf from pychess.System.protoopen import protoopen pgn_icon = load_icon(24, "application-x-chess-pgn", "pychess") class Database(GObject.GObject, Perspective): __gsignals__ = { 'chessfile_opened0': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'chessfile_opened': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'chessfile_closed': (GObject.SignalFlags.RUN_FIRST, None, ()), 'chessfile_imported': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'bookfile_created': (GObject.SignalFlags.RUN_FIRST, None, ()), } def __init__(self): GObject.GObject.__init__(self) Perspective.__init__(self, "database", _("Database")) self.widgets = gamewidget.getWidgets() self.first_run = True self.chessfile = None self.chessfiles = [] self.importer = None self.gamelists = [] self.filter_panels = [] self.opening_tree_panels = [] self.preview_panels = [] self.notebooks = {} self.page_dict = {} self.connect("chessfile_opened0", self.on_chessfile_opened0) self.dockLocation = addUserConfigPrefix("pydock-database.xml") @property def gamelist(self): if self.chessfile is None: return None else: return self.gamelists[self.chessfiles.index(self.chessfile)] @property def filter_panel(self): if self.chessfile is None: return None else: return self.filter_panels[self.chessfiles.index(self.chessfile)] @property def opening_tree_panel(self): if self.chessfile is None: return None else: return self.opening_tree_panels[self.chessfiles.index(self.chessfile)] @property def preview_panel(self): if self.chessfile is None: return None else: return self.preview_panels[self.chessfiles.index(self.chessfile)] def create_toolbuttons(self): self.import_button = Gtk.ToolButton.new_from_stock(Gtk.STOCK_CONVERT) self.import_button.set_tooltip_text(_("Import PGN file")) self.import_button.connect("clicked", self.on_import_clicked) self.save_as_button = Gtk.ToolButton.new_from_stock(Gtk.STOCK_SAVE_AS) self.save_as_button.set_tooltip_text(_("Save to PGN file as...")) self.save_as_button.connect("clicked", self.on_save_as_clicked) def init_layout(self): perspective_widget = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) perspective_manager.set_perspective_widget("database", perspective_widget) self.notebooks = {"gamelist": new_notebook()} self.main_notebook = self.notebooks["gamelist"] for panel in self.sidePanels: self.notebooks[panel_name(panel.__name__)] = new_notebook(panel_name(panel.__name__)) self.spinner = Gtk.Spinner() self.spinner.set_size_request(50, 50) self.progressbar0 = Gtk.ProgressBar(show_text=True) self.progressbar = Gtk.ProgressBar(show_text=True) self.progress_dialog = Gtk.Dialog("", mainwindow(), 0, ( Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL)) self.progress_dialog.set_deletable(False) self.progress_dialog.get_content_area().pack_start(self.spinner, True, True, 0) self.progress_dialog.get_content_area().pack_start(self.progressbar0, True, True, 0) self.progress_dialog.get_content_area().pack_start(self.progressbar, True, True, 0) self.progress_dialog.get_content_area().show_all() # Initing headbook align = createAlignment(4, 4, 0, 4) align.set_property("yscale", 0) self.headbook = Gtk.Notebook() self.headbook.set_name("headbook") self.headbook.set_scrollable(True) align.add(self.headbook) perspective_widget.pack_start(align, False, True, 0) self.headbook.connect_after("switch-page", self.on_switch_page) # The dock self.dock = PyDockTop("database", self) align = Gtk.Alignment() align.show() align.add(self.dock) self.dock.show() perspective_widget.pack_start(align, True, True, 0) self.docks["gamelist"] = (Gtk.Label(label="gamelist"), self.notebooks["gamelist"], None) for panel in self.sidePanels: self.docks[panel_name(panel.__name__)][1] = self.notebooks[panel_name(panel.__name__)] self.load_from_xml() # Default layout of side panels first_time_layout = False if not os.path.isfile(self.dockLocation): first_time_layout = True leaf = self.dock.dock(self.docks["gamelist"][1], CENTER, self.docks["gamelist"][0], "gamelist") leaf.setDockable(False) leaf = leaf.dock(self.docks["OpeningTreePanel"][1], EAST, self.docks["OpeningTreePanel"][0], "OpeningTreePanel") leaf = leaf.dock(self.docks["FilterPanel"][1], CENTER, self.docks["FilterPanel"][0], "FilterPanel") leaf.dock(self.docks["PreviewPanel"][1], SOUTH, self.docks["PreviewPanel"][0], "PreviewPanel") def unrealize(dock): dock.saveToXML(self.dockLocation) dock._del() self.dock.connect("unrealize", unrealize) self.dock.show_all() perspective_widget.show_all() perspective_manager.set_perspective_menuitems("database", self.menuitems, default=first_time_layout) perspective_manager.set_perspective_toolbuttons("database", [self.import_button, self.save_as_button]) def on_switch_page(self, notebook, page, page_num): if page in self.page_dict: self.chessfile = self.page_dict[page][0] i = self.chessfiles.index(self.chessfile) self.notebooks["gamelist"].set_current_page(i) self.notebooks["OpeningTreePanel"].set_current_page(i) self.notebooks["FilterPanel"].set_current_page(i) self.notebooks["PreviewPanel"].set_current_page(i) def set_sensitives(self, on): self.import_button.set_sensitive(on) self.widgets["import_chessfile"].set_sensitive(on) self.widgets["database_save_as"].set_sensitive(on) self.widgets["create_book"].set_sensitive(on) self.widgets["import_endgame_nl"].set_sensitive(on) self.widgets["import_twic"].set_sensitive(on) if on: gamewidget.getWidgets()["copy_pgn"].set_property('sensitive', on) gamewidget.getWidgets()["copy_fen"].set_property('sensitive', on) else: persp = perspective_manager.get_perspective("games") if persp.cur_gmwidg() is None: gamewidget.getWidgets()["copy_pgn"].set_property('sensitive', on) gamewidget.getWidgets()["copy_fen"].set_property('sensitive', on) def open_chessfile(self, filename): if self.first_run: self.init_layout() self.first_run = False perspective_manager.activate_perspective("database") self.progress_dialog.set_title(_("Open")) self.spinner.show() self.spinner.start() def opening(): # Redirection of the PGN file nonlocal filename for ext in [".sqlite", ".bin", ".scout"]: if filename.endswith(ext): filename = filename[:len(filename) - len(ext)] + ".pgn" # Processing by file extension if filename.endswith(".pgn"): GLib.idle_add(self.progressbar.show) GLib.idle_add(self.progressbar.set_text, _("Opening chessfile...")) chessfile = PGNFile(protoopen(filename), self.progressbar) self.importer = chessfile.init_tag_database() if self.importer is not None and self.importer.cancel: chessfile.tag_database.close() if os.path.isfile(chessfile.sqlite_path): os.remove(chessfile.sqlite_path) chessfile = None else: chessfile.init_scoutfish() chessfile.init_chess_db() elif filename.endswith(".epd"): self.importer = None chessfile = epd.load(protoopen(filename)) elif filename.endswith(".olv"): self.importer = None chessfile = olv.load(protoopen(filename, encoding="utf-8")) elif filename.endswith(".fen"): self.importer = None chessfile = fen.load(protoopen(filename)) else: self.importer = None chessfile = None GLib.idle_add(self.spinner.stop) GLib.idle_add(self.spinner.hide) GLib.idle_add(self.progress_dialog.hide) if chessfile is not None: self.chessfile = chessfile self.chessfiles.append(chessfile) GLib.idle_add(self.emit, "chessfile_opened0", chessfile) else: if self.chessfile is None: self.close(None) thread = threading.Thread(target=opening) thread.daemon = True thread.start() response = self.progress_dialog.run() if response == Gtk.ResponseType.CANCEL: if self.importer is not None: self.importer.do_cancel() self.progress_dialog.hide() def on_chessfile_opened0(self, persp, chessfile): page = Gtk.Alignment() tabcontent, close_button = self.get_tabcontent(chessfile) self.headbook.append_page(page, tabcontent) self.page_dict[page] = (chessfile, close_button) page.show_all() gamelist = GameList(self) self.gamelists.append(gamelist) opening_tree_panel = OpeningTreePanel(self) self.opening_tree_panels.append(opening_tree_panel) filter_panel = FilterPanel(self) self.filter_panels.append(filter_panel) preview_panel = PreviewPanel(self) self.preview_panels.append(preview_panel) self.notebooks["gamelist"].append_page(gamelist.box) self.notebooks["OpeningTreePanel"].append_page(opening_tree_panel.box) self.notebooks["FilterPanel"].append_page(filter_panel.box) self.notebooks["PreviewPanel"].append_page(preview_panel.box) self.headbook.set_current_page(self.headbook.get_n_pages() - 1) gamelist.load_games() opening_tree_panel.update_tree(load_games=False) self.set_sensitives(True) self.emit("chessfile_opened", chessfile) def close(self, close_button): for page in list(self.page_dict.keys()): if self.page_dict[page][1] == close_button: chessfile = self.page_dict[page][0] i = self.chessfiles.index(chessfile) self.notebooks["gamelist"].remove_page(i) self.notebooks["OpeningTreePanel"].remove_page(i) self.notebooks["FilterPanel"].remove_page(i) self.notebooks["PreviewPanel"].remove_page(i) del self.gamelists[i] del self.filter_panels[i] del self.chessfiles[i] chessfile.close() del self.page_dict[page] self.headbook.remove_page(self.headbook.page_num(page)) break if len(self.chessfiles) == 0: self.chessfile = None self.set_sensitives(False) perspective_manager.disable_perspective("database") self.emit("chessfile_closed") def on_import_endgame_nl(self): self.do_import(JvR) response = self.progress_dialog.run() if response == Gtk.ResponseType.CANCEL: self.importer.do_cancel() self.progress_dialog.hide() def on_import_twic(self): LATEST = get_latest_twic() if LATEST is None: return html = "http://www.theweekinchess.com/html/twic%s.html" twic = [] pgn = "https://raw.githubusercontent.com/rozim/ChessData/master/Twic/fix-twic%s.pgn" # pgn = "/home/tamas/PGN/twic/twic%sg.zip" for i in range(210, 920): twic.append((html % i, pgn % i)) pgn = "http://www.theweekinchess.com/zips/twic%sg.zip" # pgn = "/home/tamas/PGN/twic/twic%sg.zip" for i in range(920, LATEST + 1): twic.append((html % i, pgn % i)) twic.append((html % LATEST, pgn % LATEST)) # import limited to latest twic .pgn for now twic = twic[-1:] self.do_import(twic) response = self.progress_dialog.run() if response == Gtk.ResponseType.CANCEL: self.importer.do_cancel() self.progress_dialog.hide() def on_save_as_clicked(self, widget): dialog = Gtk.FileChooserDialog( _("Save as"), mainwindow(), Gtk.FileChooserAction.SAVE, (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_SAVE, Gtk.ResponseType.ACCEPT)) dialog.set_current_folder(os.path.expanduser("~")) response = dialog.run() if response == Gtk.ResponseType.ACCEPT: filename = dialog.get_filename() else: filename = None dialog.destroy() if filename is None: return self.progress_dialog.set_title(_("Save as")) def save_as(cancel_event): with open(filename, "w") as to_file: self.process_records(self.save_records, cancel_event, to_file) GLib.idle_add(self.progress_dialog.hide) cancel_event = threading.Event() loop = asyncio.get_event_loop() loop.run_in_executor(None, save_as, cancel_event) response = self.progress_dialog.run() if response == Gtk.ResponseType.CANCEL: cancel_event.set() self.progress_dialog.hide() def save_records(self, records, to_file): f = self.chessfile.handle for i, rec in enumerate(records): offs = rec["Offset"] f.seek(offs) game = '' for line in f: if line.startswith('[Event "'): if game: break # Second one, start of next game else: game = line # First occurence elif game: game += line to_file.write(game) def on_import_clicked(self, widget): dialog = Gtk.FileChooserDialog( _("Open chess file"), mainwindow(), Gtk.FileChooserAction.OPEN, (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_OPEN, Gtk.ResponseType.OK)) dialog.set_select_multiple(True) filter_text = Gtk.FileFilter() filter_text.set_name(".pgn") filter_text.add_pattern("*.pgn") filter_text.add_mime_type("application/x-chess-pgn") dialog.add_filter(filter_text) filter_text = Gtk.FileFilter() filter_text.set_name(".zip") filter_text.add_pattern("*.zip") filter_text.add_mime_type("application/zip") dialog.add_filter(filter_text) response = dialog.run() if response == Gtk.ResponseType.OK: filenames = dialog.get_filenames() else: filenames = None dialog.destroy() if filenames is not None: self.do_import(filenames) response = self.progress_dialog.run() if response == Gtk.ResponseType.CANCEL: self.importer.do_cancel() self.progress_dialog.hide() # @profile_me def importing(self, filenames): drop_indexes(self.chessfile.engine) self.importer = PgnImport(self.chessfile, append_pgn=True) self.importer.initialize() for i, filename in enumerate(filenames): if len(filenames) > 1: GLib.idle_add(self.progressbar0.set_fraction, i / float(len(filenames))) if self.importer.cancel: break if isinstance(filename, tuple): info_link, pgn_link = filename self.importer.do_import(pgn_link, info=info_link, progressbar=self.progressbar) else: self.importer.do_import(filename, progressbar=self.progressbar) GLib.idle_add(self.progressbar.set_text, _("Recreating indexes...")) # .sqlite create_indexes(self.chessfile.engine) # .scout self.chessfile.init_scoutfish() # .bin self.chessfile.init_chess_db() self.chessfile.set_tag_filter(None) self.chessfile.set_fen_filter(None) self.chessfile.set_scout_filter(None) GLib.idle_add(self.gamelist.load_games) GLib.idle_add(self.emit, "chessfile_imported", self.chessfile) GLib.idle_add(self.progressbar0.hide) GLib.idle_add(self.progress_dialog.hide) def do_import(self, filenames): self.progress_dialog.set_title(_("Import")) if len(filenames) > 1: self.progressbar0.show() self.progressbar.show() self.progressbar.set_text(_("Preparing to start import...")) thread = threading.Thread(target=self.importing, args=(filenames, )) thread.daemon = True thread.start() def process_records(self, callback, cancel_event, *args): counter = 0 records, plys = self.chessfile.get_records(FIRST_PAGE) callback(records, *args) GLib.idle_add(self.progressbar.set_text, _("%s games processed") % counter) while not cancel_event.is_set(): records, plys = self.chessfile.get_records(NEXT_PAGE) if records: callback(records, *args) counter += len(records) GLib.idle_add(self.progressbar.set_text, _("%s games processed") % counter) else: break def create_book(self, new_bin=None): if new_bin is None: dialog = Gtk.FileChooserDialog( _("Create New Polyglot Opening Book"), mainwindow(), Gtk.FileChooserAction.SAVE, (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_NEW, Gtk.ResponseType.ACCEPT)) dialog.set_current_folder(os.path.expanduser("~")) dialog.set_current_name("new_book.bin") response = dialog.run() if response == Gtk.ResponseType.ACCEPT: new_bin = dialog.get_filename() if not new_bin.endswith(".bin"): new_bin = "%s.bin" % new_bin dialog.destroy() if new_bin is None: return self.progress_dialog.set_title(_("Create Polyglot Book")) def creating_book(cancel_event): positions = {} self.process_records(self.feed_book, cancel_event, positions) if cancel_event.is_set(): return with open(new_bin, "wb") as to_file: GLib.idle_add(self.progressbar.set_text, _("Save")) for key, moves in sorted(positions.items(), key=lambda item: item[0]): # print(key, moves) for move in moves: to_file.write(pack(">QHHI", key, move, moves[move], 0)) GLib.idle_add(self.emit, "bookfile_created") GLib.idle_add(self.progress_dialog.hide) cancel_event = threading.Event() loop = asyncio.get_event_loop() loop.run_in_executor(None, creating_book, cancel_event) response = self.progress_dialog.run() if response == Gtk.ResponseType.CANCEL: cancel_event.set() self.progress_dialog.hide() def feed_book(self, records, positions): BOOK_DEPTH_MAX = conf.get("book_depth_max") for rec in records: model = GameModel() if rec["Result"] == DRAW: score = (1, 1) elif rec["Result"] == WHITEWON: score = (2, 0) elif rec["Result"] == BLACKWON: score = (0, 2) else: score = (0, 0) fenstr = rec["FEN"] variant = self.chessfile.get_variant(rec) if variant: model.variant = name2variant[variant] board = LBoard(model.variant.variant) else: model.variant = NormalBoard board = LBoard() if fenstr: try: board.applyFen(fenstr) except SyntaxError: continue else: board.applyFen(FEN_START) boards = [board] movetext = self.chessfile.get_movetext(rec) boards = self.chessfile.parse_movetext(movetext, boards[0], -1) for board in boards: if board.plyCount > BOOK_DEPTH_MAX: break move = board.lastMove if move is not None: poly_move = toPolyglot(board.prev, move) # move_str = "%s%s" % (reprCord[FCORD(move)], reprCord[TCORD(move)]) # print("%0.16x" % board.prev.hash, poly_move, board.prev.asFen(), move_str) if board.prev.hash in positions: if poly_move in positions[board.prev.hash]: positions[board.prev.hash][poly_move] += score[board.prev.color] else: positions[board.prev.hash][poly_move] = score[board.prev.color] else: # board.prev.asFen(), move_str, positions[board.prev.hash] = {poly_move: score[board.prev.color]} def create_database(self): dialog = Gtk.FileChooserDialog( _("Create New Pgn Database"), mainwindow(), Gtk.FileChooserAction.SAVE, (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_NEW, Gtk.ResponseType.ACCEPT)) dialog.set_current_folder(os.path.expanduser("~")) dialog.set_current_name("new.pgn") response = dialog.run() if response == Gtk.ResponseType.ACCEPT: new_pgn = dialog.get_filename() if not new_pgn.endswith(".pgn"): new_pgn = "%s.pgn" % new_pgn if not os.path.isfile(new_pgn): # create new file with open(new_pgn, "w"): pass self.open_chessfile(new_pgn) else: d = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.ERROR, buttons=Gtk.ButtonsType.OK) d.set_markup(_("File '%s' already exists.") % new_pgn) d.run() d.destroy() dialog.destroy() def get_tabcontent(self, chessfile): tabcontent = createAlignment(0, 0, 0, 0) hbox = Gtk.HBox() hbox.set_spacing(4) hbox.pack_start(createImage(pgn_icon), False, True, 0) close_button = Gtk.Button() close_button.set_property("can-focus", False) close_button.add(createImage(gtk_close)) close_button.set_relief(Gtk.ReliefStyle.NONE) close_button.set_size_request(20, 18) close_button.connect("clicked", self.close) hbox.pack_end(close_button, False, True, 0) name, ext = os.path.splitext(chessfile.path) basename = os.path.basename(name) info = "%s.%s" % (basename, ext[1:]) tooltip = _("%(path)s\ncontaining %(count)s games") % ({"path": chessfile.path, "count": chessfile.count}) tabcontent.set_tooltip_text(tooltip) label = Gtk.Label(info) hbox.pack_start(label, False, True, 0) tabcontent.add(hbox) tabcontent.show_all() return tabcontent, close_button def get_latest_twic(): filename = download_file("http://www.theweekinchess.com/twic") latest = None if filename is None: return latest PREFIX = 'href="http://www.theweekinchess.com/html/twic' with open(filename) as f: for line in f: position = line.find(PREFIX) if position >= 0: latest = int(line[position + len(PREFIX):][:4]) break return latest pychess-1.0.0/lib/pychess/perspectives/database/OpeningTreePanel.py0000644000175000017500000001140213365545272024525 0ustar varunvarun# -*- coding: UTF-8 -*- from gi.repository import Gtk, GObject from pychess.Utils.lutils.LBoard import LBoard from pychess.Utils.lutils.lmove import toSAN, parseAN from pychess.Utils.const import FEN_START from pychess.System.prefix import addDataPrefix __title__ = _("Openings") __icon__ = addDataPrefix("glade/panel_book.svg") __desc__ = _("Openings panel can filter game list by opening moves") class OpeningTreePanel(Gtk.TreeView): def __init__(self, persp): GObject.GObject.__init__(self) self.persp = persp self.filtered = False self.persp.connect("chessfile_imported", self.on_chessfile_imported) self.box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.liststore = Gtk.ListStore(int, str, int, int) self.modelsort = Gtk.TreeModelSort(self.liststore) self.modelsort.set_sort_column_id(2, Gtk.SortType.DESCENDING) self.set_model(self.modelsort) self.set_headers_visible(True) column = Gtk.TreeViewColumn(_("Move"), Gtk.CellRendererText(), text=1) column.set_sort_column_id(1) column.connect("clicked", self.column_clicked, 1) self.append_column(column) column = Gtk.TreeViewColumn(_("Games"), Gtk.CellRendererText(), text=2) column.set_sort_column_id(2) column.connect("clicked", self.column_clicked, 2) self.append_column(column) column = Gtk.TreeViewColumn(_("Winning %"), Gtk.CellRendererProgress(), value=3) column.set_min_width(80) column.set_sort_column_id(3) column.connect("clicked", self.column_clicked, 3) self.append_column(column) self.conid = self.connect_after("row-activated", self.row_activated) self.board = LBoard() self.board.applyFen(FEN_START) self.columns_autosize() sw = Gtk.ScrolledWindow() sw.set_shadow_type(Gtk.ShadowType.ETCHED_IN) sw.add(self) self.box.pack_start(sw, True, True, 0) # buttons toolbar = Gtk.Toolbar() firstButton = Gtk.ToolButton(stock_id=Gtk.STOCK_MEDIA_PREVIOUS) toolbar.insert(firstButton, -1) prevButton = Gtk.ToolButton(stock_id=Gtk.STOCK_MEDIA_REWIND) toolbar.insert(prevButton, -1) self.filterButton = Gtk.ToggleToolButton(Gtk.STOCK_FIND) self.filterButton.set_tooltip_text(_("Filter game list by opening moves")) toolbar.insert(self.filterButton, -1) firstButton.connect("clicked", self.on_first_clicked) prevButton.connect("clicked", self.on_prev_clicked) self.filterButton.connect("clicked", self.on_filter_clicked) tool_box = Gtk.Box() tool_box.pack_start(toolbar, False, False, 0) self.box.pack_start(tool_box, False, False, 0) self.box.show_all() def on_chessfile_imported(self, persp, chessfile): self.update_tree() def on_first_clicked(self, widget): while self.board.hist_move: self.board.popMove() self.update_tree() def on_prev_clicked(self, widget): if self.board.hist_move: self.board.popMove() self.update_tree() def on_filter_clicked(self, button): self.filtered = button.get_active() if not self.filtered: self.persp.filter_panel.filterButton.set_sensitive(True) self.filtered = True while self.board.hist_move: self.board.popMove() self.update_tree() self.filtered = False else: self.persp.filter_panel.filterButton.set_sensitive(False) self.update_tree() def column_clicked(self, col, data): self.set_search_column(data) def row_activated(self, widget, path, col): lmove = self.liststore[self.modelsort.convert_path_to_child_path(path)[0]][0] self.board.applyMove(lmove) self.update_tree() def update_tree(self, load_games=True): self.persp.gamelist.ply = self.board.plyCount if load_games and self.filtered: self.persp.chessfile.set_fen_filter(self.board.asFen()) self.persp.gamelist.load_games() result = self.persp.chessfile.get_book_moves(self.board.asFen()) self.clear_tree() for move, count, white_won, blackwon, draw in result: lmove = parseAN(self.board, move) perf = 0 if not count else round((white_won * 100. + draw * 50.) / count) self.liststore.append([lmove, toSAN(self.board, lmove), count, perf]) def clear_tree(self): selection = self.get_selection() if self.conid is not None and selection.handler_is_connected(self.conid): with GObject.signal_handler_block(selection, self.conid): self.liststore.clear() else: self.liststore.clear() pychess-1.0.0/lib/pychess/perspectives/database/PreviewPanel.py0000644000175000017500000001417413415436107023730 0ustar varunvarun# -*- coding: UTF-8 -*- from gi.repository import Gtk from pychess.Utils.const import EMPTY, FEN_EMPTY, FEN_START from pychess.Utils.Board import Board from pychess.Utils.Cord import Cord from pychess.widgets.BoardControl import BoardControl from pychess.Savers.ChessFile import LoadingError from pychess.System.prefix import addDataPrefix from pychess.widgets import mainwindow __title__ = _("Preview") __icon__ = addDataPrefix("glade/panel_games.svg") __desc__ = _("Preview panel can filter game list by current game moves") class PreviewPanel: def __init__(self, persp): self.persp = persp self.filtered = False self.box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) # buttons toolbar = Gtk.Toolbar() firstButton = Gtk.ToolButton(stock_id=Gtk.STOCK_MEDIA_PREVIOUS) toolbar.insert(firstButton, -1) prevButton = Gtk.ToolButton(stock_id=Gtk.STOCK_MEDIA_REWIND) toolbar.insert(prevButton, -1) nextButton = Gtk.ToolButton(stock_id=Gtk.STOCK_MEDIA_FORWARD) toolbar.insert(nextButton, -1) lastButton = Gtk.ToolButton(stock_id=Gtk.STOCK_MEDIA_NEXT) toolbar.insert(lastButton, -1) self.filterButton = Gtk.ToggleToolButton(Gtk.STOCK_FIND) self.filterButton.set_tooltip_text(_("Filter game list by current game moves")) toolbar.insert(self.filterButton, -1) addButton = Gtk.ToolButton(stock_id=Gtk.STOCK_ADD) addButton.set_tooltip_text(_("Add sub-fen filter from position/circles")) toolbar.insert(addButton, -1) firstButton.connect("clicked", self.on_first_clicked) prevButton.connect("clicked", self.on_prev_clicked) nextButton.connect("clicked", self.on_next_clicked) lastButton.connect("clicked", self.on_last_clicked) addButton.connect("clicked", self.on_add_clicked) self.filterButton.connect("clicked", self.on_filter_clicked) tool_box = Gtk.Box() tool_box.pack_start(toolbar, False, False, 0) # board self.gamemodel = self.persp.gamelist.gamemodel self.boardcontrol = BoardControl(self.gamemodel, {}, game_preview=True) self.boardview = self.boardcontrol.view self.board = self.gamemodel.boards[self.boardview.shown].board self.boardview.set_size_request(170, 170) self.boardview.got_started = True self.boardview.auto_update_shown = False self.box.pack_start(self.boardcontrol, True, True, 0) self.box.pack_start(tool_box, False, True, 0) self.box.show_all() selection = self.persp.gamelist.get_selection() self.conid = selection.connect_after('changed', self.on_selection_changed) self.persp.gamelist.preview_cid = self.conid # force first game to show self.persp.gamelist.set_cursor(0) def on_selection_changed(self, selection): model, iter = selection.get_selected() if iter is None: self.gamemodel.boards = [Board(FEN_EMPTY)] del self.gamemodel.moves[:] self.boardview.shown = 0 self.boardview.redrawCanvas() return path = self.persp.gamelist.get_model().get_path(iter) rec, ply = self.persp.gamelist.get_record(path) if rec is None: return try: self.persp.chessfile.loadToModel(rec, -1, self.gamemodel) except LoadingError as err: dialogue = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.WARNING, buttons=Gtk.ButtonsType.OK, message_format=err.args[0]) if len(err.args) > 1: dialogue.format_secondary_text(err.args[1]) dialogue.connect("response", lambda dialogue, a: dialogue.hide()) dialogue.show() self.boardview.noAnimation = True self.boardview.lastMove = None self.boardview._shown = self.gamemodel.lowply if ply > 0 or self.persp.gamelist.ply > 0: self.boardview.shown = ply if ply > 0 else self.persp.gamelist.ply else: self.boardview.shown = self.boardview.model.ply def on_first_clicked(self, button): self.boardview.showFirst() if self.filtered: self.update_gamelist() def on_prev_clicked(self, button): self.boardview.showPrev() if self.filtered: self.update_gamelist() def on_next_clicked(self, button): self.boardview.showNext() if self.filtered: self.update_gamelist() def on_last_clicked(self, button): self.boardview.showLast() if self.filtered: self.update_gamelist() def on_filter_clicked(self, button): self.filtered = button.get_active() if not self.filtered: self.persp.filter_panel.filterButton.set_sensitive(True) self.boardview.showFirst() self.filtered = True self.update_gamelist() self.filtered = False else: self.persp.filter_panel.filterButton.set_sensitive(False) self.update_gamelist() def on_add_clicked(self, button): """ Create sub-fen from current FEN removing pieces not marked with circles """ self.board = self.gamemodel.boards[self.boardview.shown].board board = self.board.clone() fen = board.asFen() for cord in range(64): kord = Cord(cord) if kord not in self.boardview.circles: board.arBoard[cord] = EMPTY sub_fen = board.asFen().split()[0] # If all pieces removed (no circles at all) use the original FEN if sub_fen == "8/8/8/8/8/8/8/8": if fen == FEN_START: return else: sub_fen = fen.split()[0] self.persp.filter_panel.add_sub_fen(sub_fen) def update_gamelist(self): if not self.filtered: return self.board = self.gamemodel.boards[self.boardview.shown].board self.persp.gamelist.ply = self.board.plyCount self.persp.chessfile.set_fen_filter(self.board.asFen()) self.persp.gamelist.load_games() pychess-1.0.0/lib/pychess/perspectives/database/gamelist.py0000644000175000017500000002003413415435517023130 0ustar varunvarun# -*- coding: UTF-8 -*- from io import StringIO from gi.repository import Gtk, GObject from pychess.compat import create_task from pychess.Utils.const import DRAW, LOCAL, WHITE, BLACK, WAITING_TO_START, reprResult, \ UNDOABLE_STATES, FIRST_PAGE, PREV_PAGE, NEXT_PAGE from pychess.Players.Human import Human from pychess.Utils.GameModel import GameModel from pychess.perspectives import perspective_manager from pychess.Variants import variants from pychess.Database.model import game, event, site, pl1, pl2 from pychess.widgets import newGameDialog from pychess.Savers import pgn cols = (game.c.id, pl1.c.name, game.c.white_elo, pl2.c.name, game.c.black_elo, game.c.result, game.c.date, event.c.name, site.c.name, game.c.round, game.c.ply_count, game.c.eco, game.c.time_control, game.c.variant, game.c.fen) class GameList(Gtk.TreeView): def __init__(self, persp): GObject.GObject.__init__(self) self.persp = persp self.records = [] self.preview_cid = None # GTK_SELECTION_BROWSE - exactly one item is always selected self.get_selection().set_mode(Gtk.SelectionMode.BROWSE) self.liststore = Gtk.ListStore(int, str, str, str, str, str, str, str, str, str, str, str, str, str, str) self.modelsort = Gtk.TreeModelSort(self.liststore) self.modelsort.set_sort_column_id(0, Gtk.SortType.ASCENDING) self.modelsort.connect("sort-column-changed", self.sort_column_changed) self.set_model(self.modelsort) self.get_selection().set_mode(Gtk.SelectionMode.BROWSE) self.set_headers_visible(True) self.set_rules_hint(True) self.set_search_column(1) titles = (_("Id"), _("White"), _("W Elo"), _("Black"), _("B Elo"), _("Result"), _("Date"), _("Event"), _("Site"), _("Round"), _("Length"), "ECO", _("Time control"), _("Variant"), "FEN") for i, title in enumerate(titles): r = Gtk.CellRendererText() column = Gtk.TreeViewColumn(title, r, text=i) column.set_resizable(True) column.set_reorderable(True) column.set_sort_column_id(i) self.append_column(column) self.connect("row-activated", self.row_activated) self.set_cursor(0) self.columns_autosize() self.gamemodel = GameModel() self.ply = 0 # buttons toolbar = Gtk.Toolbar() firstButton = Gtk.ToolButton(stock_id=Gtk.STOCK_MEDIA_PREVIOUS) firstButton.set_tooltip_text(_("First games")) toolbar.insert(firstButton, -1) prevButton = Gtk.ToolButton(stock_id=Gtk.STOCK_MEDIA_REWIND) prevButton.set_tooltip_text(_("Previous games")) toolbar.insert(prevButton, -1) nextButton = Gtk.ToolButton(stock_id=Gtk.STOCK_MEDIA_FORWARD) nextButton.set_tooltip_text(_("Next games")) toolbar.insert(nextButton, -1) firstButton.connect("clicked", self.on_first_clicked) prevButton.connect("clicked", self.on_prev_clicked) nextButton.connect("clicked", self.on_next_clicked) limit_combo = Gtk.ComboBoxText() for limit in ("100", "500", "1000", "5000"): limit_combo.append_text(limit) limit_combo.set_active(0) toolitem = Gtk.ToolItem.new() toolitem.add(limit_combo) toolbar.insert(toolitem, -1) limit_combo.connect("changed", self.on_limit_combo_changed) sw = Gtk.ScrolledWindow() sw.set_shadow_type(Gtk.ShadowType.ETCHED_IN) sw.add(self) self.box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.box.pack_start(sw, True, True, 0) self.box.pack_start(toolbar, False, False, 0) self.box.show_all() def on_first_clicked(self, button): self.load_games(direction=FIRST_PAGE) def on_prev_clicked(self, button): self.load_games(direction=PREV_PAGE) def on_next_clicked(self, button): self.load_games(direction=NEXT_PAGE) def on_limit_combo_changed(self, combo): text = combo.get_active_text() if text is not None: self.persp.chessfile.limit = int(text) self.load_games(direction=FIRST_PAGE) def sort_column_changed(self, treesortable): sort_column_id, order = treesortable.get_sort_column_id() if sort_column_id is None: self.modelsort.set_sort_column_id(0, Gtk.SortType.ASCENDING) sort_column_id, order = 0, Gtk.SortType.ASCENDING self.set_search_column(sort_column_id) is_desc = order == Gtk.SortType.DESCENDING self.persp.chessfile.set_tag_order(cols[sort_column_id], is_desc) self.load_games(direction=FIRST_PAGE) def load_games(self, direction=FIRST_PAGE): selection = self.get_selection() if selection is not None and self.preview_cid is not None and \ selection.handler_is_connected(self.preview_cid): with GObject.signal_handler_block(selection, self.preview_cid): self.liststore.clear() else: self.liststore.clear() add = self.liststore.append self.records = [] records, plys = self.persp.chessfile.get_records(direction) for i, rec in enumerate(records): game_id = rec["Id"] offs = rec["Offset"] wname = rec["White"] bname = rec["Black"] welo = rec["WhiteElo"] belo = rec["BlackElo"] result = rec["Result"] result = "½-½" if result == DRAW else reprResult[result] if result else "*" event = "" if rec["Event"] is None else rec["Event"].replace("?", "") site = "" if rec["Site"] is None else rec["Site"].replace("?", "") round_ = "" if rec["Round"] is None else rec["Round"].replace("?", "") date = "" if rec["Date"] is None else rec["Date"].replace(".??", "").replace("????.", "") try: ply = rec["PlyCount"] length = str(int(ply) // 2) if ply else "" except ValueError: length = "" eco = rec["ECO"] tc = rec["TimeControl"] variant = rec["Variant"] variant = variants[variant].cecp_name.capitalize() if variant else "" fen = rec["FEN"] add([game_id, wname, welo, bname, belo, result, date, event, site, round_, length, eco, tc, variant, fen]) ply = plys.get(offs) if offs in plys else 0 self.records.append((rec, ply)) self.set_cursor(0) def get_record(self, path): if path is None: return None, None else: return self.records[self.modelsort.convert_path_to_child_path(path)[0]] def row_activated(self, widget, path, col): rec, ply = self.get_record(path) if rec is None: return # Enable unfinished games to continue from newgamedialog if rec["Result"] not in UNDOABLE_STATES: newGameDialog.EnterNotationExtension.run() model = self.persp.chessfile.loadToModel(rec) text = pgn.save(StringIO(), model) newGameDialog.EnterNotationExtension.sourcebuffer.set_text(text) return self.gamemodel = GameModel() variant = rec["Variant"] if variant: self.gamemodel.tags["Variant"] = variant # Lichess exports study .pgn without White and Black tags wp = "" if rec["White"] is None else rec["White"] bp = "" if rec["Black"] is None else rec["Black"] p0 = (LOCAL, Human, (WHITE, wp), wp) p1 = (LOCAL, Human, (BLACK, bp), bp) self.persp.chessfile.loadToModel(rec, -1, self.gamemodel) self.gamemodel.endstatus = self.gamemodel.status if self.gamemodel.status in UNDOABLE_STATES else None self.gamemodel.status = WAITING_TO_START perspective_manager.activate_perspective("games") perspective = perspective_manager.get_perspective("games") create_task(perspective.generalStart(self.gamemodel, p0, p1)) pychess-1.0.0/lib/pychess/perspectives/fics/0000755000175000017500000000000013467766037020145 5ustar varunvarunpychess-1.0.0/lib/pychess/perspectives/fics/PlayerListPanel.py0000644000175000017500000002561713400351331023550 0ustar varunvarunfrom gi.repository import Gtk, GLib, GdkPixbuf from pychess.ic.FICSObjects import FICSPlayer, get_player_tooltip_text from pychess.ic import TYPE_BLITZ, TYPE_LIGHTNING, TYPE_STANDARD, IC_STATUS_PLAYING from pychess.System.Log import log from pychess.System import conf, uistuff from pychess.System.prefix import addDataPrefix from pychess.perspectives.fics.ParrentListSection import ParrentListSection, \ SEPARATOR, FOLLOW, FINGER, ARCHIVED, OBSERVE, CHAT, CHALLENGE __title__ = _("Player List") __icon__ = addDataPrefix("glade/panel_players.svg") __desc__ = _("List of players") class Sidepanel(ParrentListSection): def load(self, widgets, connection, lounge): self.widgets = widgets self.connection = connection lounge.players_tab = self self.lounge = lounge __widget__ = lounge.players_list self.players = {} self.columns = {TYPE_BLITZ: 3, TYPE_STANDARD: 4, TYPE_LIGHTNING: 5} self.tv = widgets["playertreeview"] self.store = Gtk.ListStore(FICSPlayer, GdkPixbuf.Pixbuf, str, int, int, int, str, str) self.player_filter = self.store.filter_new() self.player_filter.set_visible_func(self.player_filter_func) self.filter_toggles = {} self.filter_buttons = ("registered_toggle", "guest_toggle", "computer_toggle", "titled_toggle") for widget in self.filter_buttons: uistuff.keep(self.widgets[widget], widget) self.widgets[widget].connect("toggled", self.on_filter_button_toggled) initial = conf.get(widget) self.filter_toggles[widget] = initial self.widgets[widget].set_active(initial) self.model = self.player_filter.sort_new_with_model() self.tv.set_model(self.model) self.addColumns(self.tv, "FICSPlayer", "", _("Name"), _("Blitz"), _("Standard"), _("Lightning"), _("Status"), "tooltip", hide=[0, 7], pix=[1]) self.tv.set_tooltip_column(7, ) self.tv.get_model().set_sort_func(0, self.pixCompareFunction, 1) try: self.tv.set_search_position_func(self.lowLeftSearchPosFunc, None) except AttributeError: # Unknow signal name is raised by gtk < 2.10 pass connection.players.connect("FICSPlayerEntered", self.onPlayerAdded) connection.players.connect("FICSPlayerExited", self.onPlayerRemoved) widgets["private_chat_button"].connect("clicked", self.on_chat) widgets["private_chat_button"].set_sensitive(False) widgets["observe_button"].connect("clicked", self.on_observe) widgets["observe_button"].set_sensitive(False) self.tv.get_selection().connect_after("changed", self.onSelectionChanged) self.onSelectionChanged(None) self.tv.connect('button-press-event', self.button_press_event) self.createLocalMenu((CHALLENGE, CHAT, OBSERVE, FOLLOW, SEPARATOR, FINGER, ARCHIVED)) return __widget__ def player_filter_func(self, model, iter, data): player = model[iter][0] is_titled = player.isTitled() is_computer = player.isComputer() is_registered = (not is_titled) and (not is_computer) and (not player.isGuest()) is_guest = (not is_titled) and (not is_computer) and (player.isGuest()) return ( self.filter_toggles["computer_toggle"] and is_computer) or ( self.filter_toggles["registered_toggle"] and is_registered) or ( self.filter_toggles["guest_toggle"] and is_guest) or ( self.filter_toggles["titled_toggle"] and is_titled) def on_filter_button_toggled(self, widget): for button in self.filter_buttons: self.filter_toggles[button] = self.widgets[button].get_active() self.player_filter.refilter() def onPlayerAdded(self, players, new_players): # Let the hard work to be done in the helper connection thread np = {} for player in new_players: np[player] = (player, player.getIcon(), player.name + player.display_titles(), player.blitz, player.standard, player.lightning, player.display_status, get_player_tooltip_text(player)) def do_onPlayerAdded(players, new_players, np): for player in new_players: # log.debug("%s" % player, # extra={"task": (self.connection.username, # "PTS.onPlayerAdded")}) if player in self.players: # log.warning("%s already in self" % player, # extra={"task": (self.connection.username, # "PTS.onPlayerAdded")}) continue # player can leave before we finish processing "who IbslwBzSLx" if player not in np: continue self.players[player] = {} self.players[player]["ti"] = self.store.append(np[player]) self.players[player]["status"] = player.connect( "notify::status", self.status_changed) self.players[player]["game"] = player.connect( "notify::game", self.status_changed) self.players[player]["titles"] = player.connect( "notify::titles", self.titles_changed) if player.game: self.players[player]["private"] = player.game.connect( "notify::private", self.private_changed, player) self.players[player]["ratings"] = player.connect( "ratings_changed", self.elo_changed, player) count = len(self.players) self.widgets["playersOnlineLabel"].set_text(_("Players: %d") % count) return False GLib.idle_add(do_onPlayerAdded, players, new_players, np, priority=GLib.PRIORITY_LOW) def onPlayerRemoved(self, players, player): def do_onPlayerRemoved(players, player): log.debug("%s" % player, extra={"task": (self.connection.username, "PTS.onPlayerRemoved")}) if player not in self.players: return if self.store.iter_is_valid(self.players[player]["ti"]): self.store.remove(self.players[player]["ti"]) for key in ("status", "game", "titles"): if player.handler_is_connected(self.players[player][key]): player.disconnect(self.players[player][key]) if player.game and "private" in self.players[player] and \ player.game.handler_is_connected(self.players[player]["private"]): player.game.disconnect(self.players[player]["private"]) if player.handler_is_connected(self.players[player]["ratings"]): player.disconnect(self.players[player]["ratings"]) del self.players[player] count = len(self.players) self.widgets["playersOnlineLabel"].set_text(_("Players: %d") % count) GLib.idle_add(do_onPlayerRemoved, players, player, priority=GLib.PRIORITY_LOW) def status_changed(self, player, prop): log.debug( "%s" % player, extra={"task": (self.connection.username, "PTS.status_changed")}) if player not in self.players: return try: self.store.set(self.players[player]["ti"], 6, player.display_status) self.store.set(self.players[player]["ti"], 7, get_player_tooltip_text(player)) except KeyError: pass if player.status == IC_STATUS_PLAYING and player.game and \ "private" not in self.players[player]: self.players[player]["private"] = player.game.connect( "notify::private", self.private_changed, player) elif player.status != IC_STATUS_PLAYING and \ "private" in self.players[player]: game = player.game if game and game.handler_is_connected(self.players[player][ "private"]): game.disconnect(self.players[player]["private"]) del self.players[player]["private"] if player == self.getSelectedPlayer(): self.onSelectionChanged(None) return False def titles_changed(self, player, prop): log.debug( "%s" % player, extra={"task": (self.connection.username, "PTS.titles_changed")}) try: self.store.set(self.players[player]["ti"], 1, player.getIcon()) self.store.set(self.players[player]["ti"], 2, player.name + player.display_titles()) self.store.set(self.players[player]["ti"], 7, get_player_tooltip_text(player)) except KeyError: pass return False def private_changed(self, game, prop, player): log.debug( "%s" % player, extra={"task": (self.connection.username, "PTS.private_changed")}) self.status_changed(player, prop) self.onSelectionChanged(self.tv.get_selection()) return False def elo_changed(self, rating, prop, rating_type, player): log.debug( "%s %s" % (rating, player), extra={"task": (self.connection.username, "PTS_changed")}) try: self.store.set(self.players[player]["ti"], 1, player.getIcon()) self.store.set(self.players[player]["ti"], 7, get_player_tooltip_text(player)) self.store.set(self.players[player]["ti"], self.columns[rating_type], rating) except KeyError: pass return False def getSelectedPlayer(self): model, sel_iter = self.widgets["playertreeview"].get_selection( ).get_selected() if sel_iter: return model.get_value(sel_iter, 0) def onSelectionChanged(self, selection): player = self.getSelectedPlayer() user_name = self.connection.getUsername() self.widgets["private_chat_button"].set_sensitive(player is not None) self.widgets["observe_button"].set_sensitive( player is not None and player.isObservable() and (player.game is None or user_name not in (player.game.wplayer.name, player.game.bplayer.name))) self.widgets["challengeButton"].set_sensitive( player is not None and player.isAvailableForGame() and player.name != user_name) pychess-1.0.0/lib/pychess/perspectives/fics/ParrentListSection.py0000644000175000017500000001356313353143212024275 0ustar varunvarunfrom gi.repository import Gtk, GdkPixbuf from pychess.ic.FICSObjects import FICSChallenge SEPARATOR, ACCEPT, ASSESS, OBSERVE, FOLLOW, CHAT, CHALLENGE, FINGER, ARCHIVED = range(9) def cmp(x, y): return (x > y) - (x < y) class ParrentListSection(): """ Parrent for sections mainly consisting of a large treeview """ def button_press_event(self, treeview, event): if event.button == 3: # right click pathinfo = treeview.get_path_at_pos(int(event.x), int(event.y)) if pathinfo is not None: path, col = pathinfo[0], pathinfo[1] treeview.grab_focus() treeview.set_cursor(path, col, 0) self.menu.show_all() self.menu.popup(None, None, None, None, event.button, Gtk.get_current_event_time()) return True return False def createLocalMenu(self, items): ITEM_MAP = { ACCEPT: (_("Accept"), self.on_accept), ASSESS: (_("Assess"), self.on_assess), OBSERVE: (_("Observe"), self.on_observe), FOLLOW: (_("Follow"), self.on_follow), CHAT: (_("Chat"), self.on_chat), CHALLENGE: (_("Challenge"), self.on_challenge), FINGER: (_("Finger"), self.on_finger), ARCHIVED: (_("Archived"), self.on_archived), } self.menu = Gtk.Menu() for item in items: if item == SEPARATOR: menu_item = Gtk.SeparatorMenuItem() else: label, callback = ITEM_MAP[item] menu_item = Gtk.MenuItem(label) menu_item.connect("activate", callback) self.menu.append(menu_item) self.menu.attach_to_widget(self.tv, None) def addColumns(self, treeview, *columns, **keyargs): if "hide" in keyargs: hide = keyargs["hide"] else: hide = [] if "pix" in keyargs: pix = keyargs["pix"] else: pix = [] for i, name in enumerate(columns): if i in hide: continue if i in pix: crp = Gtk.CellRendererPixbuf() crp.props.xalign = .5 column = Gtk.TreeViewColumn(name, crp, pixbuf=i) else: crt = Gtk.CellRendererText() column = Gtk.TreeViewColumn(name, crt, text=i) column.set_resizable(True) column.set_sort_column_id(i) # prevent columns appear choppy column.set_sizing(Gtk.TreeViewColumnSizing.GROW_ONLY) column.set_reorderable(True) treeview.append_column(column) def lowLeftSearchPosFunc(self, tv, search_dialog, user_data): alloc = tv.get_allocation() window = tv.get_toplevel().get_window() x_loc = alloc.x + window.get_position()[0] y_loc = alloc.y + window.get_position()[1] + alloc.height search_dialog.move(x_loc, y_loc) search_dialog.show_all() def pixCompareFunction(self, treemodel, iter0, iter1, column): pix0 = treemodel.get_value(iter0, column) pix1 = treemodel.get_value(iter1, column) if isinstance(pix0, GdkPixbuf.Pixbuf) and isinstance(pix1, GdkPixbuf.Pixbuf): return cmp(pix0.get_pixels(), pix1.get_pixels()) return cmp(pix0, pix1) def timeCompareFunction(self, treemodel, iter0, iter1, column): (minute0, minute1) = (treemodel.get_value(iter0, 8), treemodel.get_value(iter1, 8)) return cmp(minute0, minute1) def on_accept(self, button): model, sel_iter = self.tv.get_selection().get_selected() if sel_iter is None: return sought = model.get_value(sel_iter, 0) if isinstance(sought, FICSChallenge): self.connection.om.acceptIndex(sought.index) else: self.connection.om.playIndex(sought.index) try: message = self.messages[hash(sought)] except KeyError: pass else: message.dismiss() del self.messages[hash(sought)] def on_assess(self, widget): model, sel_iter = self.tv.get_selection().get_selected() if sel_iter is None: return sought = model.get_value(sel_iter, 0) player1 = self.connection.username player2 = sought.player.name game_type = sought.game_type.short_fics_name self.connection.glm.assess(player1, player2, game_type) self.assess_sent = True def on_observe(self, widget, *args): player = self.getSelectedPlayer() if player is not None: if player.game is not None: self.connection.bm.observe(player.game) else: self.connection.bm.observe(None, player=player) def on_follow(self, widget): player = self.getSelectedPlayer() if player is not None: self.connection.bm.follow(player) def on_chat(self, button): player = self.getSelectedPlayer() if player is None: return self.lounge.chat.openChatWithPlayer(player.name) # TODO: isadmin og type def on_challenge(self, widget): player = self.getSelectedPlayer() if player is not None: self.lounge.seek_challenge.onChallengeButtonClicked(widget, player) def on_finger(self, widget): player = self.getSelectedPlayer() if player is not None: self.connection.fm.finger(player.name) self.lounge.finger_sent = True def on_archived(self, widget): player = self.getSelectedPlayer() if player is not None: self.connection.adm.queryAdjournments(player.name) self.connection.adm.queryHistory(player.name) self.connection.adm.queryJournal(player.name) pychess-1.0.0/lib/pychess/perspectives/fics/NewsPanel.py0000644000175000017500000000314013353143212022363 0ustar varunvarunfrom gi.repository import Gtk, Pango from pychess.System.prefix import addDataPrefix from pychess.widgets import insert_formatted __title__ = _("News") __icon__ = addDataPrefix("glade/panel_annotation.svg") __desc__ = _("List of server news") class Sidepanel(): def load(self, widgets, connection, lounge): self.widgets = widgets __widget__ = lounge.news_list connection.nm.connect("readNews", self.onNewsItem) return __widget__ def onNewsItem(self, nm, news): weekday, month, day, title, details = news dtitle = "%s, %s %s: %s" % (weekday, month, day, title) label = Gtk.Label(label=dtitle) label.props.width_request = 300 label.props.xalign = 0 label.set_ellipsize(Pango.EllipsizeMode.END) expander = Gtk.Expander() expander.set_label_widget(label) expander.set_tooltip_text(title) textview = Gtk.TextView() textview.set_wrap_mode(Gtk.WrapMode.WORD) textview.set_editable(False) textview.set_cursor_visible(False) textview.props.pixels_above_lines = 4 textview.props.pixels_below_lines = 4 textview.props.right_margin = 2 textview.props.left_margin = 6 tb_iter = textview.get_buffer().get_end_iter() insert_formatted(textview, tb_iter, details) alignment = Gtk.Alignment() alignment.set_padding(3, 6, 12, 0) alignment.props.xscale = 1 alignment.add(textview) expander.add(alignment) expander.show_all() self.widgets["newsVBox"].pack_start(expander, False, False, 0) pychess-1.0.0/lib/pychess/perspectives/fics/__init__.py0000644000175000017500000006056113365545272022257 0ustar varunvarun# -*- coding: utf-8 -*- import os from io import StringIO from gi.repository import GLib, Gtk, GObject from pychess.compat import create_task from pychess.ic import IC_POS_EXAMINATING, IC_POS_OBSERVING_EXAMINATION, \ get_infobarmessage_content, get_infobarmessage_content2, TITLES from pychess.ic.ICGameModel import ICGameModel from pychess.perspectives.fics.FicsHome import UserInfoSection from pychess.perspectives.fics.SeekChallenge import SeekChallengeSection from pychess.System import conf, uistuff from pychess.System.prefix import addUserConfigPrefix from pychess.System.Log import log from pychess.widgets import new_notebook from pychess.widgets.InfoBar import InfoBarMessage, InfoBarNotebook, InfoBarMessageButton from pychess.widgets.pydock.PyDockTop import PyDockTop from pychess.widgets.pydock import SOUTH, WEST, CENTER from pychess.Utils.const import LOCAL, WHITE, BLACK, REMOTE from pychess.Utils.TimeModel import TimeModel from pychess.Players.ICPlayer import ICPlayer from pychess.Players.Human import Human from pychess.Savers import pgn, fen from pychess.perspectives import Perspective, perspective_manager, panel_name class PlayerNotificationMessage(InfoBarMessage): def __init__(self, message_type, content, callback, player, text): InfoBarMessage.__init__(self, message_type, content, callback) self.player = player self.text = text class FICS(GObject.GObject, Perspective): __gsignals__ = { 'logout': (GObject.SignalFlags.RUN_FIRST, None, ()), 'autoLogout': (GObject.SignalFlags.RUN_FIRST, None, ()), } def __init__(self): log.debug("FICS.__init__: starting") GObject.GObject.__init__(self) Perspective.__init__(self, "fics", _("ICS")) self.dockLocation = addUserConfigPrefix("pydock-fics.xml") self.first_run = True def create_toolbuttons(self): def on_logoff_clicked(button): self.emit("logout") self.close() self.logoff_button = Gtk.ToolButton.new_from_stock(Gtk.STOCK_DISCONNECT) self.logoff_button.set_tooltip_text(_("Log Off")) self.logoff_button.set_label("logoff") self.logoff_button.connect("clicked", on_logoff_clicked) def on_minute_1_clicked(button): self.connection.client.run_command("1-minute") def on_minute_3_clicked(button): self.connection.client.run_command("3-minute") def on_minute_5_clicked(button): self.connection.client.run_command("5-minute") def on_minute_15_clicked(button): self.connection.client.run_command("15-minute") def on_minute_25_clicked(button): self.connection.client.run_command("25-minute") def on_chess960_clicked(button): self.connection.client.run_command("chess960") self.minute_1_button = Gtk.ToggleToolButton() self.minute_1_button.set_label("1") self.minute_1_button.set_tooltip_text(_("New game from 1-minute playing pool")) self.minute_1_button.connect("clicked", on_minute_1_clicked) self.minute_3_button = Gtk.ToggleToolButton() self.minute_3_button.set_label("3") self.minute_3_button.set_tooltip_text(_("New game from 3-minute playing pool")) self.minute_3_button.connect("clicked", on_minute_3_clicked) self.minute_5_button = Gtk.ToggleToolButton() self.minute_5_button.set_label("5") self.minute_5_button.set_tooltip_text(_("New game from 5-minute playing pool")) self.minute_5_button.connect("clicked", on_minute_5_clicked) self.minute_15_button = Gtk.ToggleToolButton() self.minute_15_button.set_label("15") self.minute_15_button.set_tooltip_text(_("New game from 15-minute playing pool")) self.minute_15_button.connect("clicked", on_minute_15_clicked) self.minute_25_button = Gtk.ToggleToolButton() self.minute_25_button.set_label("25") self.minute_25_button.set_tooltip_text(_("New game from 25-minute playing pool")) self.minute_25_button.connect("clicked", on_minute_25_clicked) self.chess960_button = Gtk.ToggleToolButton() self.chess960_button.set_label("960") self.chess960_button.set_tooltip_text(_("New game from Chess960 playing pool")) self.chess960_button.connect("clicked", on_chess960_clicked) def init_layout(self): perspective_widget = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) perspective_manager.set_perspective_widget("fics", perspective_widget) self.infobar = InfoBarNotebook("fics_lounge_infobar") self.infobar.hide() perspective_widget.pack_start(self.infobar, False, False, 0) self.dock = PyDockTop("fics", self) align = Gtk.Alignment() align.show() align.add(self.dock) self.dock.show() perspective_widget.pack_start(align, True, True, 0) self.notebooks = {"ficshome": new_notebook()} self.main_notebook = self.notebooks["ficshome"] for panel in self.sidePanels: self.notebooks[panel_name(panel.__name__)] = new_notebook(panel_name(panel.__name__)) self.docks["ficshome"] = (Gtk.Label(label="ficshome"), self.notebooks["ficshome"], None) for panel in self.sidePanels: self.docks[panel_name(panel.__name__)][1] = self.notebooks[panel_name(panel.__name__)] self.load_from_xml() # Default layout of side panels first_time_layout = False if not os.path.isfile(self.dockLocation): first_time_layout = True leaf = self.dock.dock(self.docks["ficshome"][1], CENTER, self.docks["ficshome"][0], "ficshome") leaf.setDockable(False) console_leaf = leaf.dock(self.docks["ConsolePanel"][1], SOUTH, self.docks["ConsolePanel"][0], "ConsolePanel") console_leaf.dock(self.docks["NewsPanel"][1], CENTER, self.docks["NewsPanel"][0], "NewsPanel") seek_leaf = leaf.dock(self.docks["SeekListPanel"][1], WEST, self.docks["SeekListPanel"][0], "SeekListPanel") seek_leaf.dock(self.docks["SeekGraphPanel"][1], CENTER, self.docks["SeekGraphPanel"][0], "SeekGraphPanel") seek_leaf.dock(self.docks["PlayerListPanel"][1], CENTER, self.docks["PlayerListPanel"][0], "PlayerListPanel") seek_leaf.dock(self.docks["GameListPanel"][1], CENTER, self.docks["GameListPanel"][0], "GameListPanel") seek_leaf.dock(self.docks["ArchiveListPanel"][1], CENTER, self.docks["ArchiveListPanel"][0], "ArchiveListPanel") leaf = leaf.dock(self.docks["ChatPanel"][1], SOUTH, self.docks["ChatPanel"][0], "ChatPanel") # leaf.dock(self.docks["LecturesPanel"][1], CENTER, self.docks["LecturesPanel"][0], "LecturesPanel") def unrealize(dock): dock.saveToXML(self.dockLocation) dock._del() self.dock.connect("unrealize", unrealize) self.dock.show_all() perspective_widget.show_all() perspective_manager.set_perspective_menuitems("fics", self.menuitems, default=first_time_layout) log.debug("FICS.__init__: finished") def open_lounge(self, connection, helperconn, host): if self.first_run: self.init_layout() self.connection = connection self.helperconn = helperconn self.host = host self.finger_sent = False self.messages = [] self.players = [] self.game_cids = {} self.widgets = uistuff.GladeWidgets("fics_lounge.glade") self.widgets["fics_lounge"].hide() fics_home = self.widgets["fics_home"] self.widgets["fics_lounge_content_hbox"].remove(fics_home) self.archive_list = self.widgets["archiveListContent"] self.widgets["fics_panels_notebook"].remove(self.archive_list) self.games_list = self.widgets["gamesListContent"] self.widgets["fics_panels_notebook"].remove(self.games_list) self.news_list = self.widgets["news"] self.widgets["fics_home"].remove(self.news_list) self.players_list = self.widgets["playersListContent"] self.widgets["fics_panels_notebook"].remove(self.players_list) self.seek_graph = self.widgets["seekGraphContent"] self.widgets["fics_panels_notebook"].remove(self.seek_graph) self.seek_list = self.widgets["seekListContent"] self.widgets["fics_panels_notebook"].remove(self.seek_list) self.seek_challenge = SeekChallengeSection(self) def on_autoLogout(alm): self.emit("autoLogout") self.close() self.connection.alm.connect("logOut", on_autoLogout) self.connection.connect("disconnected", lambda connection: self.close()) self.connection.connect("error", self.on_connection_error) if self.connection.isRegistred(): numtimes = conf.get("numberOfTimesLoggedInAsRegisteredUser") + 1 conf.set("numberOfTimesLoggedInAsRegisteredUser", numtimes) self.connection.em.connect("onCommandNotFound", lambda em, cmd: log.error( "Fics answered '%s': Command not found" % cmd)) self.connection.bm.connect("playGameCreated", self.onPlayGameCreated) self.connection.bm.connect("obsGameCreated", self.onObserveGameCreated) self.connection.bm.connect("exGameCreated", self.onObserveGameCreated) self.connection.fm.connect("fingeringFinished", self.onFinger) # the rest of these relay server messages to the lounge infobar self.connection.bm.connect("tooManySeeks", self.tooManySeeks) self.connection.bm.connect("nonoWhileExamine", self.nonoWhileExamine) self.connection.bm.connect("matchDeclined", self.matchDeclined) self.connection.bm.connect("player_on_censor", self.player_on_censor) self.connection.bm.connect("player_on_noplay", self.player_on_noplay) self.connection.bm.connect("req_not_fit_formula", self.req_not_fit_formula) self.connection.glm.connect("seek-updated", self.on_seek_updated) self.connection.glm.connect("our-seeks-removed", self.our_seeks_removed) self.connection.cm.connect("arrivalNotification", self.onArrivalNotification) self.connection.cm.connect("departedNotification", self.onDepartedNotification) def get_top_games(): if perspective_manager.current_perspective == self: self.connection.client.run_command("games *19") return True if self.connection.ICC: self.event_id = GLib.timeout_add_seconds(5, get_top_games) for user in self.connection.notify_users: user = self.connection.players.get(user) self.user_from_notify_list_is_present(user) self.userinfo = UserInfoSection(self.widgets, self.connection, self.host, self) if not self.first_run: self.notebooks["ficshome"].remove_page(-1) self.notebooks["ficshome"].append_page(fics_home) self.panels = [panel.Sidepanel().load(self.widgets, self.connection, self) for panel in self.sidePanels] for panel, instance in zip(self.sidePanels, self.panels): if not self.first_run: self.notebooks[panel_name(panel.__name__)].remove_page(-1) self.notebooks[panel_name(panel.__name__)].append_page(instance) instance.show() tool_buttons = [self.logoff_button, ] self.quick_seek_buttons = [] if self.connection.ICC: self.quick_seek_buttons = [self.minute_1_button, self.minute_3_button, self.minute_5_button, self.minute_15_button, self.minute_25_button, self.chess960_button] tool_buttons += self.quick_seek_buttons perspective_manager.set_perspective_toolbuttons("fics", tool_buttons) if self.first_run: self.first_run = False # After all panel is set up we can push initial messages out self.connection.com.onConsoleMessage("", self.connection.ini_messages) def show(self): perspective_manager.activate_perspective("fics") def present(self): perspective_manager.activate_perspective("fics") def on_connection_error(self, connection, error): log.warning("FICS.on_connection_error: %s" % repr(error)) self.close() def close(self): try: self.widgets = None except TypeError: pass except AttributeError: pass perspective_manager.disable_perspective("fics") def onPlayGameCreated(self, bm, ficsgame): log.debug("FICS.onPlayGameCreated: %s" % ficsgame) for message in self.messages: message.dismiss() del self.messages[:] if self.connection.ICC: for button in self.quick_seek_buttons: button.set_active(False) timemodel = TimeModel(ficsgame.minutes * 60, ficsgame.inc) gamemodel = ICGameModel(self.connection, ficsgame, timemodel) gamemodel.connect("game_started", self.onGameModelStarted, ficsgame) wplayer, bplayer = ficsgame.wplayer, ficsgame.bplayer # We start if wplayer.name.lower() == self.connection.getUsername().lower(): player0tup = (LOCAL, Human, (WHITE, wplayer.long_name(), wplayer.name, wplayer.getRatingForCurrentGame()), wplayer.long_name()) player1tup = (REMOTE, ICPlayer, ( gamemodel, bplayer.name, ficsgame.gameno, BLACK, bplayer.long_name(), bplayer.getRatingForCurrentGame()), bplayer.long_name()) # She starts else: player1tup = (LOCAL, Human, (BLACK, bplayer.long_name(), bplayer.name, bplayer.getRatingForCurrentGame()), bplayer.long_name()) player0tup = (REMOTE, ICPlayer, ( gamemodel, wplayer.name, ficsgame.gameno, WHITE, wplayer.long_name(), wplayer.getRatingForCurrentGame()), wplayer.long_name()) perspective = perspective_manager.get_perspective("games") if not ficsgame.board.fen: create_task(perspective.generalStart(gamemodel, player0tup, player1tup)) else: create_task(perspective.generalStart(gamemodel, player0tup, player1tup, ( StringIO(ficsgame.board.fen), fen, 0, -1))) def onGameModelStarted(self, gamemodel, ficsgame): self.connection.bm.onGameModelStarted(ficsgame.gameno) def onObserveGameCreated(self, bm, ficsgame): log.debug("FICS.onObserveGameCreated: %s" % ficsgame) timemodel = TimeModel(ficsgame.minutes * 60, ficsgame.inc) gamemodel = ICGameModel(self.connection, ficsgame, timemodel) gamemodel.connect("game_started", self.onGameModelStarted, ficsgame) # The players need to start listening for moves IN this method if they # want to be noticed of all moves the FICS server sends us from now on wplayer, bplayer = ficsgame.wplayer, ficsgame.bplayer player0tup = (REMOTE, ICPlayer, ( gamemodel, wplayer.name, ficsgame.gameno, WHITE, wplayer.long_name(), wplayer.getRatingForCurrentGame()), wplayer.long_name()) player1tup = (REMOTE, ICPlayer, ( gamemodel, bplayer.name, ficsgame.gameno, BLACK, bplayer.long_name(), bplayer.getRatingForCurrentGame()), bplayer.long_name()) perspective = perspective_manager.get_perspective("games") create_task(perspective.generalStart(gamemodel, player0tup, player1tup, ( StringIO(ficsgame.board.pgn), pgn, 0, -1))) if ficsgame.relation == IC_POS_OBSERVING_EXAMINATION: if 1: # int(self.connection.lvm.variablesBackup["kibitz"]) == 0: self.connection.cm.whisper(_( "You have to set kibitz on to see bot messages here.")) self.connection.fm.finger(bplayer.name) self.connection.fm.finger(wplayer.name) elif ficsgame.relation == IC_POS_EXAMINATING: gamemodel.examined = True if not self.connection.ICC: allob = 'allob ' + str(ficsgame.gameno) gamemodel.connection.client.run_command(allob) def onFinger(self, fm, finger): titles = finger.getTitles() if titles is not None: name = finger.getName() player = self.connection.players.get(name) for title in titles: player.titles.add(TITLES[title]) def tooManySeeks(self, bm): label = Gtk.Label(label=_( "You may only have 3 outstanding seeks at the same time. If you want \ to add a new seek you must clear your currently active seeks. Clear your seeks?")) label.set_width_chars(80) label.props.xalign = 0 label.set_line_wrap(True) def response_cb(infobar, response, message): if response == Gtk.ResponseType.YES: self.connection.client.run_command("unseek") message.dismiss() return False message = InfoBarMessage(Gtk.MessageType.QUESTION, label, response_cb) message.add_button(InfoBarMessageButton(Gtk.STOCK_YES, Gtk.ResponseType.YES)) message.add_button(InfoBarMessageButton(Gtk.STOCK_NO, Gtk.ResponseType.NO)) self.messages.append(message) self.infobar.push_message(message) def nonoWhileExamine(self, bm): label = Gtk.Label(_("You can't touch this! You are examining a game.")) def response_cb(infobar, response, message): message.dismiss() return False message = InfoBarMessage(Gtk.MessageType.INFO, label, response_cb) message.add_button(InfoBarMessageButton(Gtk.STOCK_CLOSE, Gtk.ResponseType.CANCEL)) self.messages.append(message) self.infobar.push_message(message) def matchDeclined(self, bm, player): text = _(" has declined your offer for a match") content = get_infobarmessage_content(player, text) def response_cb(infobar, response, message): message.dismiss() return False message = InfoBarMessage(Gtk.MessageType.INFO, content, response_cb) message.add_button(InfoBarMessageButton(Gtk.STOCK_CLOSE, Gtk.ResponseType.CANCEL)) self.messages.append(message) self.infobar.push_message(message) def player_on_censor(self, bm, player): text = _(" is censoring you") content = get_infobarmessage_content(player, text) def response_cb(infobar, response, message): message.dismiss() return False message = InfoBarMessage(Gtk.MessageType.INFO, content, response_cb) message.add_button(InfoBarMessageButton(Gtk.STOCK_CLOSE, Gtk.ResponseType.CANCEL)) self.messages.append(message) self.infobar.push_message(message) def player_on_noplay(self, bm, player): text = _(" noplay listing you") content = get_infobarmessage_content(player, text) def response_cb(infobar, response, message): message.dismiss() return False message = InfoBarMessage(Gtk.MessageType.INFO, content, response_cb) message.add_button(InfoBarMessageButton(Gtk.STOCK_CLOSE, Gtk.ResponseType.CANCEL)) self.messages.append(message) self.infobar.push_message(message) def req_not_fit_formula(self, bm, player, formula): content = get_infobarmessage_content2( player, _(" uses a formula not fitting your match request:"), formula) def response_cb(infobar, response, message): message.dismiss() return False message = InfoBarMessage(Gtk.MessageType.INFO, content, response_cb) message.add_button(InfoBarMessageButton(Gtk.STOCK_CLOSE, Gtk.ResponseType.CANCEL)) self.messages.append(message) self.infobar.push_message(message) def on_seek_updated(self, glm, message_text): if "manual accept" in message_text: message_text.replace("to manual accept", _("to manual accept")) elif "automatic accept" in message_text: message_text.replace("to automatic accept", _("to automatic accept")) if "rating range now" in message_text: message_text.replace("rating range now", _("rating range now")) label = Gtk.Label(label=_("Seek updated") + ": " + message_text) def response_cb(infobar, response, message): message.dismiss() return False message = InfoBarMessage(Gtk.MessageType.INFO, label, response_cb) message.add_button(InfoBarMessageButton(Gtk.STOCK_CLOSE, Gtk.ResponseType.CANCEL)) self.messages.append(message) self.infobar.push_message(message) def our_seeks_removed(self, glm): label = Gtk.Label(label=_("Your seeks have been removed")) def response_cb(infobar, response, message): message.dismiss() return False message = InfoBarMessage(Gtk.MessageType.INFO, label, response_cb) message.add_button(InfoBarMessageButton(Gtk.STOCK_CLOSE, Gtk.ResponseType.CANCEL)) self.messages.append(message) self.infobar.push_message(message) def _connect_to_player_changes(self, player): player.connect("ratings_changed", self._replace_notification_message, player) player.connect("notify::titles", self._replace_notification_message, None, player) def onArrivalNotification(self, cm, player): log.debug("%s" % player, extra={"task": (self.connection.username, "onArrivalNotification")}) self._add_notification_message(player, _(" has arrived"), chat=True, replace=True) if player not in self.players: self.players.append(player) self._connect_to_player_changes(player) def onDepartedNotification(self, cm, player): self._add_notification_message(player, _(" has departed"), replace=True) def user_from_notify_list_is_present(self, player): self._add_notification_message(player, _(" is present"), chat=True, replace=True) if player not in self.players: self.players.append(player) self._connect_to_player_changes(player) def _add_notification_message(self, player, text, chat=False, replace=False): if replace: for message in self.messages: if isinstance(message, PlayerNotificationMessage) and message.player == player: message.dismiss() content = get_infobarmessage_content(player, text) def response_cb(infobar, response, message): if response == 1: if player is None: return self.chat.openChatWithPlayer(player.name) if response == 2: if player is None: return self.connection.client.run_command("follow %s" % player.name) message.dismiss() # self.messages.remove(message) return False message = PlayerNotificationMessage(Gtk.MessageType.INFO, content, response_cb, player, text) if chat: message.add_button(InfoBarMessageButton(_("Chat"), 1)) message.add_button(InfoBarMessageButton(_("Follow"), 2)) message.add_button(InfoBarMessageButton(Gtk.STOCK_CLOSE, Gtk.ResponseType.CANCEL)) self.messages.append(message) self.infobar.push_message(message) def _replace_notification_message(self, obj, prop, rating_type, player): log.debug("%s %s" % (repr(obj), player), extra={"task": (self.connection.username, "_replace_notification_message")}) for message in self.messages: if isinstance(message, PlayerNotificationMessage) and \ message.player == player: message.update_content(get_infobarmessage_content( player, message.text)) return False pychess-1.0.0/lib/pychess/perspectives/fics/GameListPanel.py0000644000175000017500000002640313365545272023202 0ustar varunvarunfrom gi.repository import Gtk, GLib, GdkPixbuf from pychess.ic.FICSObjects import FICSGame, get_player_tooltip_text from pychess.ic import TYPE_BLITZ, TYPE_LIGHTNING, TYPE_STANDARD, RATING_TYPES, \ TYPE_BULLET, TYPE_ONE_MINUTE, TYPE_THREE_MINUTE, TYPE_FIVE_MINUTE, \ TYPE_FIFTEEN_MINUTE, TYPE_FORTYFIVE_MINUTE from pychess.Utils.IconLoader import load_icon, get_pixbuf from pychess.System.Log import log from pychess.System import conf, uistuff from pychess.System.prefix import addDataPrefix from pychess.perspectives.fics.ParrentListSection import ParrentListSection, cmp, \ SEPARATOR, FOLLOW, FINGER, ARCHIVED, OBSERVE __title__ = _("Game List") __icon__ = addDataPrefix("glade/panel_games.svg") __desc__ = _("List of ongoing games") class Sidepanel(ParrentListSection): def load(self, widgets, connection, lounge): self.widgets = widgets self.connection = connection self.lounge = lounge __widget__ = lounge.games_list self.games = {} self.recpix = load_icon(16, "media-record") self.clearpix = get_pixbuf("glade/board.png") self.tv = self.widgets["gametreeview"] self.store = Gtk.ListStore(FICSGame, GdkPixbuf.Pixbuf, str, int, str, int, str, str) self.game_filter = self.store.filter_new() self.game_filter.set_visible_func(self.game_filter_func) self.filter_toggles = {} self.filter_buttons = ("standard_toggle", "blitz_toggle", "lightning_toggle", "variant_toggle") for widget in self.filter_buttons: uistuff.keep(self.widgets[widget], widget) self.widgets[widget].connect("toggled", self.on_filter_button_toggled) initial = conf.get(widget) self.filter_toggles[widget] = initial self.widgets[widget].set_active(initial) self.model = self.game_filter.sort_new_with_model() self.tv.set_model(self.model) self.tv.get_selection().set_mode(Gtk.SelectionMode.MULTIPLE) self.addColumns(self.tv, "FICSGame", "", _("White"), _("Rating"), _("Black"), _("Rating"), _("Type"), _("Rated"), hide=[0], pix=[1]) self.tv.get_model().set_sort_func(0, self.pixCompareFunction, 1) for i in range(1, 7): self.tv.get_model().set_sort_func(i, self.compareFunction, i) self.prev_sort_column_id = [] self.model.connect("sort-column-changed", self.on_sort_column_change) self.tv.set_has_tooltip(True) self.tv.connect("query-tooltip", self.on_query_tooltip) self.selection = self.tv.get_selection() self.selection.connect("changed", self.onSelectionChanged) self.onSelectionChanged(self.selection) try: self.tv.set_search_position_func(self.lowLeftSearchPosFunc, None) except AttributeError: # Unknow signal name is raised by gtk < 2.10 pass def searchCallback(model, column, key, sel_iter, user_data): if model.get_value(sel_iter, 2).lower().startswith(key) or \ model.get_value(sel_iter, 4).lower().startswith(key): return False return True self.tv.set_search_equal_func(searchCallback, None) self.connection.games.connect("FICSGameCreated", self.onGameAdd) self.connection.games.connect("FICSGameEnded", self.onGameRemove) self.widgets["observeButton"].connect("clicked", self.on_observe) self.tv.connect("row-activated", self.on_observe) self.connection.bm.connect("obsGameCreated", self.onGameObserved) self.connection.bm.connect("obsGameUnobserved", self.onGameUnobserved) self.tv.connect('button-press-event', self.button_press_event) self.createLocalMenu((OBSERVE, FOLLOW, SEPARATOR, FINGER, ARCHIVED)) return __widget__ def game_filter_func(self, model, iter, data): game = model[iter][0] is_standard = game.game_type.rating_type in (TYPE_STANDARD, TYPE_FIFTEEN_MINUTE, TYPE_FORTYFIVE_MINUTE) is_blitz = game.game_type.rating_type in (TYPE_BLITZ, TYPE_THREE_MINUTE, TYPE_FIVE_MINUTE) is_lightning = game.game_type.rating_type in (TYPE_LIGHTNING, TYPE_BULLET, TYPE_ONE_MINUTE) is_variant = game.game_type.rating_type in RATING_TYPES[9:] return ( self.filter_toggles["standard_toggle"] and is_standard) or ( self.filter_toggles["blitz_toggle"] and is_blitz) or ( self.filter_toggles["lightning_toggle"] and is_lightning) or ( self.filter_toggles["variant_toggle"] and is_variant) def on_filter_button_toggled(self, widget): for button in self.filter_buttons: self.filter_toggles[button] = self.widgets[button].get_active() self.game_filter.refilter() # Multi-column sort based on TreeModelSortUtil from # https://github.com/metomi/rose/blob/master/lib/python/rose/gtk/util.py def on_sort_column_change(self, model): """ Store previous sorting information for multi-column sorts. """ id, order = self.tv.get_model().get_sort_column_id() if id is None and order is None: return False if (self.prev_sort_column_id and self.prev_sort_column_id[0][0] == id): self.prev_sort_column_id.pop(0) self.prev_sort_column_id.insert(0, (id, order)) if len(self.prev_sort_column_id) > 2: self.prev_sort_column_id.pop() def compareFunction(self, model, iter0, iter1, column): """ Multi-column sort. """ val0 = model.get_value(iter0, column) val1 = model.get_value(iter1, column) rval = cmp(val0, val1) # If rval is 1 or -1, no need for a multi-column sort. if rval == 0: this_order = self.tv.get_model().get_sort_column_id()[1] cmp_factor = 1 if this_order == Gtk.SortType.DESCENDING: # We need to de-invert the sort order for multi sorting. cmp_factor = -1 i = 0 while rval == 0 and i < len(self.prev_sort_column_id): next_id, next_order = self.prev_sort_column_id[i] if next_id == column: i += 1 continue next_cmp_factor = cmp_factor * 1 if next_order == Gtk.SortType.DESCENDING: # Set the correct order for multi sorting. next_cmp_factor = cmp_factor * -1 val0 = model.get_value(iter0, next_id) val1 = model.get_value(iter1, next_id) rval = next_cmp_factor * cmp(val0, val1) i += 1 return rval def on_query_tooltip(self, widget, x, y, keyboard_tip, tooltip): if not widget.get_tooltip_context(x, y, keyboard_tip): return False bool, wx, wy, model, path, sel_iter = widget.get_tooltip_context( x, y, keyboard_tip) bin_x, bin_y = widget.convert_widget_to_bin_window_coords(x, y) result = widget.get_path_at_pos(bin_x, bin_y) if result is not None: path, column, cell_x, cell_y = result for player, column_number in ((self.model[path][0].wplayer, 1), (self.model[path][0].bplayer, 3)): if column is self.tv.get_column(column_number): tooltip.set_text( get_player_tooltip_text(player, show_status=False)) widget.set_tooltip_cell(tooltip, path, None, None) return True return False def onSelectionChanged(self, selection): model, paths = selection.get_selected_rows() a_selected_game_is_observable = False for path in paths: rowiter = model.get_iter(path) game = model.get_value(rowiter, 0) if not game.private and game.supported: a_selected_game_is_observable = True break self.widgets["observeButton"].set_sensitive( a_selected_game_is_observable) def _update_gamesrunning_label(self): count = len(self.games) self.widgets["gamesRunningLabel"].set_text(_("Games running: %d") % count) def onGameAdd(self, games, new_games): game_store = {} for game in new_games: game_store[game] = (game, self.clearpix, game.wplayer.name + game.wplayer.display_titles(), game.wplayer.getRatingForCurrentGame(), game.bplayer.name + game.bplayer.display_titles(), game.bplayer.getRatingForCurrentGame(), game.display_text, game.display_rated) def do_onGameAdd(games, new_games, game_store): for game in new_games: # game removed before we finish processing "games /bslwBzSLx" if game not in game_store: continue # log.debug("%s" % game, # extra={"task": (self.connection.username, "GTS.onGameAdd")}) ti = self.store.append(game_store[game]) self.games[game] = {"ti": ti} self.games[game]["private_cid"] = game.connect( "notify::private", self.private_changed) self._update_gamesrunning_label() GLib.idle_add(do_onGameAdd, games, new_games, game_store, priority=GLib.PRIORITY_LOW) def private_changed(self, game, prop): try: self.store.set(self.games[game]["ti"], 6, game.display_text) except KeyError: pass self.onSelectionChanged(self.tv.get_selection()) return False def onGameRemove(self, games, game): def do_onGameRemove(games, game): log.debug( "%s" % game, extra={"task": (self.connection.username, "GTS.onGameRemove")}) if game not in self.games: return if self.store.iter_is_valid(self.games[game]["ti"]): self.store.remove(self.games[game]["ti"]) if game.handler_is_connected(self.games[game]["private_cid"]): game.disconnect(self.games[game]["private_cid"]) del self.games[game] self._update_gamesrunning_label() GLib.idle_add(do_onGameRemove, games, game, priority=GLib.PRIORITY_LOW) def onGameObserved(self, bm, game): if game in self.games: treeiter = self.games[game]["ti"] self.store.set_value(treeiter, 1, self.recpix) def onGameUnobserved(self, bm, game): if game in self.games: treeiter = self.games[game]["ti"] self.store.set_value(treeiter, 1, self.clearpix) def getSelectedPlayer(self): model = self.tv.get_model() path, col = self.tv.get_cursor() col_index = self.tv.get_columns().index(col) game = model.get_value(model.get_iter(path), 0) return game.bplayer if col_index >= 3 else game.wplayer pychess-1.0.0/lib/pychess/perspectives/fics/ChatPanel.py0000755000175000017500000000643513365545272022362 0ustar varunvarunimport re from gi.repository import Gtk from pychess.System import uistuff from pychess.System.prefix import addDataPrefix TYPE_PERSONAL, TYPE_CHANNEL, TYPE_GUEST, \ TYPE_ADMIN, TYPE_COMP, TYPE_BLINDFOLD = range(6) def get_playername(playername): re_m = re.match("(\w+)\W*", playername) return re_m.groups()[0] __title__ = _("Talking") __icon__ = addDataPrefix("glade/panel_chat.svg") __desc__ = _("List of server channels") class Sidepanel(): def load(self, widgets, connection, lounge): self.connection = connection # deferred imports to not slow down PyChess starting up from pychess.widgets.ViewsPanel import ViewsPanel from pychess.widgets.InfoPanel import InfoPanel from pychess.widgets.ChannelsPanel import ChannelsPanel self.viewspanel = ViewsPanel(self.connection) self.channelspanel = ChannelsPanel(self.connection) self.adj = self.channelspanel.get_vadjustment() self.infopanel = InfoPanel(self.connection) self.chatbox = Gtk.Paned() __widget__ = self.chatbox self.chatbox.add1(self.channelspanel) notebook = Gtk.Notebook() notebook.append_page(self.viewspanel, Gtk.Label(_("Chat"))) notebook.append_page(self.infopanel, Gtk.Label(_("Info"))) self.chatbox.add2(notebook) self.panels = [self.viewspanel, self.channelspanel, self.infopanel] self.viewspanel.connect('channel_content_Changed', self.channelspanel.channel_Highlight, id) self.channelspanel.connect('conversationAdded', self.onConversationAdded) self.channelspanel.connect('conversationRemoved', self.onConversationRemoved) self.channelspanel.connect('conversationSelected', self.onConversationSelected) self.channelspanel.connect('focus_in_event', self.focus_in, self.adj) for panel in self.panels: panel.show_all() panel.start() self.chatbox.show_all() uistuff.keep(self.chatbox, "chat_paned_position") return __widget__ def onConversationAdded(self, panel, grp_id, text, grp_type): # deferred import to not slow down PyChess starting up from pychess.widgets.ChatView import ChatView chatView = ChatView() plus_channel = '+channel ' + str(grp_id) self.connection.cm.connection.client.run_command(plus_channel) for panel in self.panels: panel.addItem(grp_id, text, grp_type, chatView) def onConversationRemoved(self, panel, grp_id): minus_channel = '-channel ' + str(grp_id) self.connection.cm.connection.client.run_command(minus_channel) for panel in self.panels: panel.removeItem(grp_id) def onConversationSelected(self, panel, grp_id): for panel in self.panels: panel.selectItem(grp_id) def openChatWithPlayer(self, name): cm = self.connection.cm self.channelspanel.onPersonMessage(cm, name, "", False, "") def focus_in(widget, event, adj): alloc = widget.get_allocation() if alloc.y < adj.value or alloc.y > adj.value + adj.page_size: adj.set_value(min(alloc.y, adj.upper - adj.page_size)) pychess-1.0.0/lib/pychess/perspectives/fics/ConsolePanel.py0000644000175000017500000001724213365545272023100 0ustar varunvarunfrom time import strftime from gi.repository import GLib, Gtk, Gdk, GObject, Pango from pychess.System import uistuff from pychess.System.prefix import addDataPrefix from pychess.widgets import insert_formatted from pychess.ic import FICS_COMMANDS, FICS_HELP __title__ = _("Console") __icon__ = addDataPrefix("glade/panel_terminal.svg") __desc__ = _("Command line interface to the chess server") class Sidepanel(): def load(self, widgets, connection, lounge): self.connection = connection self.consoleView = ConsoleView(self.connection) self.consoleView.show_all() __widget__ = self.consoleView connection.com.connect("consoleMessage", self.onConsoleMessage) return __widget__ @staticmethod def filter_unprintable(s): return ''.join([c for c in s if ord(c) > 31 or ord(c) == 9 or c == "\n"]) def scroll_to_bottom(self): tb_iter = self.consoleView.textbuffer.get_end_iter() self.consoleView.readView.scroll_to_iter(tb_iter, 0.00, True, 0.00, 1.00) def onConsoleMessage(self, com, lines, ini_lines=None): need_scroll = False if ini_lines is not None: for line in ini_lines: self.consoleView.addMessage(line, False) need_scroll = True for line in lines: line = self.filter_unprintable(line.line) if line and \ (not line.startswith('<')) and \ (not line.startswith("{Game")) and \ (not line.endswith("available for matches.")) and\ line[-12:-5] != "), Bug(": self.consoleView.addMessage(line, False) need_scroll = True if need_scroll: # scroll to the bottom but only if we are not scrolled up to read back adj = self.consoleView.sw.get_vadjustment() if adj.get_value() >= adj.get_upper() - adj.get_page_size() - 1e-12: GLib.idle_add(self.scroll_to_bottom) TYPE_COMMAND, TYPE_HELP, TYPE_USER = 0, 1, 2 class ConsoleView(Gtk.Box): __gsignals__ = { 'messageAdded': (GObject.SignalFlags.RUN_FIRST, None, (str, str, object)), 'messageTyped': (GObject.SignalFlags.RUN_FIRST, None, (str, )) } def __init__(self, connection): Gtk.Box.__init__(self, orientation=Gtk.Orientation.VERTICAL, spacing=6) self.connection = connection self.connection.players.connect("FICSPlayerEntered", self.on_player_entered) self.connection.players.connect("FICSPlayerExited", self.on_player_exited) # Inits the read view self.readView = Gtk.TextView() fontdesc = Pango.FontDescription("Monospace 10") self.readView.modify_font(fontdesc) self.textbuffer = self.readView.get_buffer() self.textbuffer.create_tag("text") self.textbuffer.create_tag("mytext", weight=Pango.Weight.BOLD) self.sw = Gtk.ScrolledWindow() self.sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) self.sw.set_shadow_type(Gtk.ShadowType.ETCHED_IN) uistuff.keepDown(self.sw) self.sw.add(self.readView) self.readView.set_editable(False) self.readView.set_cursor_visible(False) self.readView.props.wrap_mode = Gtk.WrapMode.WORD self.pack_start(self.sw, True, True, 0) # Inits entry self.history = [] self.pos = 0 self.liststore = Gtk.ListStore(str, int) for command in FICS_COMMANDS: self.liststore.append([command, TYPE_COMMAND]) for command in FICS_HELP: self.liststore.append([command, TYPE_HELP]) completion = Gtk.EntryCompletion() completion.set_model(self.liststore) completion.set_text_column(0) completion.set_minimum_key_length(2) completion.set_popup_set_width(False) def match(completion, entrystr, iter, data): modelstr = completion.get_model()[iter][0].lower() modeltype = completion.get_model()[iter][1] parts = entrystr.split() if len(parts) == 1 and modeltype == TYPE_COMMAND: return modelstr.startswith(entrystr) elif len(parts) == 2: if parts[0] == "help": return modelstr.startswith(parts[1]) and modeltype == TYPE_HELP else: return parts[0] in FICS_COMMANDS and modelstr.startswith(parts[1].lower()) and modeltype == TYPE_USER completion.set_match_func(match, None) def on_match_selected(completion, treemodel, treeiter): modelstr = treemodel[treeiter][0] modeltype = treemodel[treeiter][1] entry = completion.get_entry() parts = entry.get_text().split() if len(parts) == 1 and modeltype == TYPE_COMMAND: entry.set_text(modelstr) entry.set_position(-1) return True elif len(parts) == 2: entry.set_text("%s %s" % (parts[0], modelstr)) entry.set_position(-1) return True completion.connect('match-selected', on_match_selected) self.entry = Gtk.Entry() self.entry.set_completion(completion) self.pack_start(self.entry, False, True, 0) self.entry.connect("key-press-event", self.onKeyPress) def on_player_entered(self, players, new_players): for player in new_players: self.liststore.append([player.name, TYPE_USER]) def on_player_exited(self, players, player): for row in self.liststore: if row[0] == player.name: self.liststore.remove(row.iter) break def addMessage(self, text, my): tag = "mytext" if my else "text" text_buffer = self.readView.get_buffer() tb_iter = text_buffer.get_end_iter() # Messages have linebreak before the text. This is opposite to log # messages if text_buffer.props.text: text_buffer.insert(tb_iter, "\n") time = strftime("%H:%M:%S") text_buffer.insert_with_tags_by_name(tb_iter, "(%s) " % time, tag) insert_formatted(self.readView, tb_iter, text, tag=tag) def onKeyPress(self, widget, event): if event.keyval in list(map(Gdk.keyval_from_name, ("Return", "KP_Enter"))): if not event.get_state() & Gdk.ModifierType.CONTROL_MASK: buffer = self.entry.get_buffer() if buffer.props.text.startswith("pas"): # don't log password changes self.connection.client.telnet.sensitive = True self.connection.client.run_command(buffer.props.text, show_reply=True) self.emit("messageTyped", buffer.props.text) self.addMessage(buffer.props.text, True) self.history.append(buffer.props.text) buffer.props.text = "" self.pos = len(self.history) return True elif event.keyval == Gdk.keyval_from_name("Up"): if self.pos > 0: buffer = self.entry.get_buffer() self.pos -= 1 buffer.props.text = self.history[self.pos] widget.grab_focus() return True elif event.keyval == Gdk.keyval_from_name("Down"): buffer = self.entry.get_buffer() if self.pos == len(self.history) - 1: self.pos += 1 buffer.props.text = "" elif self.pos < len(self.history): self.pos += 1 buffer.props.text = self.history[self.pos] widget.grab_focus() return True pychess-1.0.0/lib/pychess/perspectives/fics/FicsHome.py0000644000175000017500000002174013353143212022172 0ustar varunvarunimport sys from gi.repository import Gtk from pychess.ic import GAME_TYPES_BY_RATING_TYPE, TYPE_WILD, WildGameType from pychess.System.ping import Pinger from pychess.System.Log import log from pychess.widgets import mainwindow class UserInfoSection(): def __init__(self, widgets, connection, host, lounge): self.widgets = widgets self.connection = connection self.host = host self.lounge = lounge self.pinger = None self.ping_label = None self.dock = self.widgets["fingerTableDock"] self.connection.fm.connect("fingeringFinished", self.onFinger) self.connection.fm.finger(self.connection.getUsername()) self.connection.bm.connect( "curGameEnded", lambda *args: self.connection.fm.finger(self.connection.getUsername())) self.widgets["usernameLabel"].set_markup("%s" % self.connection.getUsername()) def _del(self): if self.pinger is not None: self.pinger.stop() def onFinger(self, fm, finger): # print(finger.getName(), self.connection.getUsername()) my_finger = finger.getName().lower() == self.connection.getUsername().lower() if my_finger: self.widgets["usernameLabel"].set_markup("%s" % finger.getName()) rows = 1 if finger.getRatingsLen() > 0: rows += finger.getRatingsLen() + 1 if finger.getEmail(): rows += 1 if finger.getCreated(): rows += 1 cols = 6 if my_finger else 9 table = Gtk.Table(cols, rows) table.props.column_spacing = 12 table.props.row_spacing = 4 def label(value, xalign=0, is_error=False): if is_error: label = Gtk.Label() label.set_markup('' + value + "") else: label = Gtk.Label(label=value) label.props.xalign = xalign return label row = 0 ELO, DEVIATION, WINS, LOSSES, DRAWS, TOTAL, BESTELO, BESTTIME = range(8) if finger.getRatingsLen() > 0: if my_finger: headers = (_("Rating"), _("Win"), _("Draw"), _("Loss")) else: headers = (_("Rating"), _("Need") if self.connection.ICC else "RD", _("Win"), _("Draw"), _("Loss"), _("Best")) for i, item in enumerate(headers): table.attach(label(item, xalign=1), i + 1, i + 2, 0, 1) row += 1 for rating_type, rating in finger.getRatings().items(): col = 0 ratinglabel = label(GAME_TYPES_BY_RATING_TYPE[ rating_type].display_text + ":") table.attach(ratinglabel, col, col + 1, row, row + 1) col += 1 if rating_type is TYPE_WILD: ratinglabel.set_tooltip_text(_( "On FICS, your \"Wild\" rating encompasses all of the \ following variants at all time controls:\n") + ", ".join([gt.display_text for gt in WildGameType.instances()])) table.attach(label(rating[ELO], xalign=1), col, col + 1, row, row + 1) col += 1 if not my_finger: table.attach(label(rating[DEVIATION], xalign=1), col, col + 1, row, row + 1) col += 1 table.attach(label(rating[WINS], xalign=1), col, col + 1, row, row + 1) col += 1 table.attach(label(rating[DRAWS], xalign=1), col, col + 1, row, row + 1) col += 1 table.attach(label(rating[LOSSES], xalign=1), col, col + 1, row, row + 1) col += 1 if not my_finger and len(rating) > BESTELO: best = rating[BESTELO] if int(rating[BESTELO]) > 0 else "" table.attach(label(best, xalign=1), col, col + 1, row, row + 1) col += 1 table.attach(label(rating[BESTTIME], xalign=1), col, col + 1, row, row + 1) col += 1 row += 1 table.attach(Gtk.HSeparator(), 0, cols, row, row + 1, ypadding=2) row += 1 if finger.getSanctions() != "": table.attach(label(_("Sanctions") + ":", is_error=True), 0, 1, row, row + 1) table.attach(label(finger.getSanctions()), 1, cols, row, row + 1) row += 1 if finger.getEmail(): table.attach(label(_("Email") + ":"), 0, 1, row, row + 1) table.attach(label(finger.getEmail()), 1, cols, row, row + 1) row += 1 player = self.connection.players.get(finger.getName()) if not self.connection.ICC and not player.isGuest(): table.attach(label(_("Games") + ":"), 0, 1, row, row + 1) llabel = Gtk.Label() llabel.props.xalign = 0 link = "http://ficsgames.org/cgi-bin/search.cgi?player=%s" % finger.getName() llabel.set_markup('%s' % (link, link)) table.attach(llabel, 1, cols, row, row + 1) row += 1 if finger.getCreated(): table.attach(label(_("Spent") + ":"), 0, 1, row, row + 1) string = "%s %s" % (finger.getTotalTimeOnline(), _("online in total")) table.attach(label(string), 1, cols, row, row + 1) row += 1 # TODO: ping causes random crashes on Windows if my_finger and sys.platform != "win32": table.attach(label(_("Ping") + ":"), 0, 1, row, row + 1) if self.ping_label: if self.dock.get_children(): self.dock.get_children()[0].remove(self.ping_label) else: if self.connection.ICC: self.ping_label = Gtk.Label(label="") # TODO else: self.ping_label = Gtk.Label(label=_("Connecting") + "...") self.ping_label.props.xalign = 0 def callback(pinger, pingtime): log.debug("'%s' '%s'" % (str(self.pinger), str(pingtime)), extra={"task": (self.connection.username, "UIS.oF.callback")}) if isinstance(pingtime, str): self.ping_label.set_text(pingtime) elif pingtime == -1: self.ping_label.set_text(_("Unknown")) else: self.ping_label.set_text("%.0f ms" % pingtime) if (not self.pinger) and (not self.connection.ICC): self.pinger = Pinger(self.host) self.pinger.start() self.pinger.connect("received", callback) self.pinger.connect("error", callback) table.attach(self.ping_label, 1, cols, row, row + 1) row += 1 if not my_finger: if self.lounge.finger_sent: dialog = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.INFO, buttons=Gtk.ButtonsType.OK) dialog.set_title(_("Finger")) dialog.set_markup("%s" % finger.getName()) table.show_all() dialog.get_message_area().add(table) dialog.run() dialog.destroy() self.lounge.finger_sent = False return if not self.connection.isRegistred(): vbox = Gtk.VBox() table.attach(vbox, 0, cols, row, row + 1) label0 = Gtk.Label() label0.props.xalign = 0 label0.props.wrap = True label0.props.width_request = 300 if self.connection.ICC: reg = "https://store.chessclub.com/customer/account/create/" txt = _("You are currently logged in as a guest but " + "there is a completely free trial for 30 days, " + "and beyond that, there is no charge and " + "the account would remain active with the ability to play games. " + "(With some restrictions. For example, no premium videos, " + "some limitations in channels, and so on.) " + "To register an account, go to ") else: reg = "http://www.freechess.org/Register/index.html" txt = _("You are currently logged in as a guest. " + "A guest can't play rated games and therefore isn't " + "able to play as many of the types of matches offered as " + "a registered user. To register an account, go to ") label0.set_markup('%s %s.' % (txt, reg, reg)) vbox.add(label0) if self.dock.get_children(): self.dock.remove(self.dock.get_children()[0]) self.dock.add(table) self.dock.show_all() pychess-1.0.0/lib/pychess/perspectives/fics/SeekGraphPanel.py0000644000175000017500000000652413353143212023331 0ustar varunvarunfrom math import e from pychess.ic.FICSObjects import FICSChallenge, \ get_seek_tooltip_text, get_challenge_tooltip_text from pychess.perspectives.fics.ParrentListSection import ParrentListSection from pychess.System.Log import log from pychess.System.prefix import addDataPrefix from pychess.widgets.SpotGraph import SpotGraph __title__ = _("Seek Graph") __icon__ = addDataPrefix("glade/manseek.svg") __desc__ = _("Handle seeks on graphical way") YMARKS = (800, 1600, 2400) # YLOCATION = lambda y: min(y / 3000., 3000) XMARKS = (5, 15) # XLOCATION = lambda x: e**(-6.579 / (x + 1)) def YLOCATION(y): return min(y / 3000., 3000) def XLOCATION(x): return e**(-6.579 / (x + 1)) # This is used to convert increment time to minutes. With a GAME_LENGTH on # 40, a game on two minutes and twelve secconds will be placed at the same # X location as a game on 2+12*40/60 = 10 minutes GAME_LENGTH = 40 class Sidepanel(ParrentListSection): def load(self, widgets, connection, lounge): self.widgets = widgets self.connection = connection __widget__ = lounge.seek_graph self.graph = SpotGraph() for rating in YMARKS: self.graph.addYMark(YLOCATION(rating), str(rating)) for mins in XMARKS: self.graph.addXMark(XLOCATION(mins), str(mins) + _(" min")) self.widgets["graphDock"].add(self.graph) self.graph.show() self.graph.connect("spotClicked", self.onSpotClicked) self.connection.seeks.connect("FICSSeekCreated", self.onAddSought) self.connection.seeks.connect("FICSSeekRemoved", self.onRemoveSought) self.connection.challenges.connect("FICSChallengeIssued", self.onAddSought) self.connection.challenges.connect("FICSChallengeRemoved", self.onRemoveSought) self.connection.bm.connect("playGameCreated", self.onPlayingGame) self.connection.bm.connect("curGameEnded", self.onCurGameEnded) return __widget__ def onSpotClicked(self, graph, name): self.connection.bm.play(name) def onAddSought(self, manager, sought): log.debug("%s" % sought, extra={"task": (self.connection.username, "onAddSought")}) x_loc = XLOCATION(float(sought.minutes) + float(sought.inc) * GAME_LENGTH / 60.) y_loc = YLOCATION(float(sought.player_rating)) if ((sought.rated) and ('(C)' in sought.player.long_name())): type_ = 2 elif (not (sought.rated) and ('(C)' in sought.player.long_name())): type_ = 3 elif sought.rated: type_ = 0 else: type_ = 1 if isinstance(sought, FICSChallenge): tooltip_text = get_challenge_tooltip_text(sought) else: tooltip_text = get_seek_tooltip_text(sought) self.graph.addSpot(sought.index, tooltip_text, x_loc, y_loc, type_) def onRemoveSought(self, manager, sought): log.debug("%s" % sought, extra={"task": (self.connection.username, "onRemoveSought")}) self.graph.removeSpot(sought.index) def onPlayingGame(self, bm, game): self.widgets["seekGraphContent"].set_sensitive(False) def onCurGameEnded(self, bm, game): self.widgets["seekGraphContent"].set_sensitive(True) pychess-1.0.0/lib/pychess/perspectives/fics/SeekChallenge.py0000644000175000017500000010245713432500625023177 0ustar varunvarun# -*- coding: UTF-8 -*- import sys from operator import attrgetter from itertools import groupby from gi.repository import Gtk from pychess.Utils.const import WHITE, BLACK, RANDOMCHESS, \ FISCHERRANDOMCHESS, LOSERSCHESS, UNSUPPORTED, VARIANTS_SHUFFLE, VARIANTS_OTHER, \ VARIANTS_OTHER_NONSTANDARD from pychess.ic import GAME_TYPES, VARIANT_GAME_TYPES, TYPE_BLITZ, TYPE_LIGHTNING, \ TYPE_STANDARD, VariantGameType, time_control_to_gametype from pychess.ic.FICSObjects import FICSPlayer, get_rating_range_display_text from pychess.System import conf, uistuff from pychess.System.prefix import addDataPrefix from pychess.widgets import mainwindow from pychess.widgets.ChainVBox import ChainVBox from pychess.Variants import variants RATING_SLIDER_STEP = 25 class SeekChallengeSection(): seekEditorWidgets = ( "untimedCheck", "minutesSpin", "gainSpin", "strengthCheck", "chainAlignment", "ratingCenterSlider", "toleranceSlider", "toleranceHBox", "nocolorRadio", "whitecolorRadio", "blackcolorRadio", # variantCombo has to come before other variant widgets so that # when the widget is loaded, variantRadio isn't selected by the callback, # overwriting the user's saved value for the variant radio buttons "variantCombo", "noVariantRadio", "variantRadio", "ratedGameCheck", "manualAcceptCheck") seekEditorWidgetDefaults = { "untimedCheck": [False, False, False], "minutesSpin": [15, 10, 2], "gainSpin": [10, 0, 12], "strengthCheck": [True, True, True], "chainAlignment": [True, True, True], "ratingCenterSlider": [40, 40, 40], "toleranceSlider": [8, 8, 8], "toleranceHBox": [False, False, False], "variantCombo": [RANDOMCHESS, FISCHERRANDOMCHESS, LOSERSCHESS], "noVariantRadio": [True, True, True], "variantRadio": [False, False, False], "nocolorRadio": [True, True, True], "whitecolorRadio": [False, False, False], "blackcolorRadio": [False, False, False], "ratedGameCheck": [False, False, False], "manualAcceptCheck": [False, False, False], } seekEditorWidgetGettersSetters = {} def __init__(self, lounge): self.lounge = lounge self.widgets = lounge.widgets self.connection = lounge.connection self.widgets["editSeekDialog"].set_transient_for(mainwindow()) self.widgets["challengeDialog"].set_transient_for(mainwindow()) self.finger = None conf.set("numberOfFingers", 0) self.connection.fm.connect("fingeringFinished", self.onFinger) self.connection.fm.finger(self.connection.getUsername()) self.widgets["untimedCheck"].connect("toggled", self.onUntimedCheckToggled) self.widgets["minutesSpin"].connect("value-changed", self.onTimeSpinChanged) self.widgets["gainSpin"].connect("value-changed", self.onTimeSpinChanged) self.onTimeSpinChanged(self.widgets["minutesSpin"]) self.widgets["nocolorRadio"].connect("toggled", self.onColorRadioChanged) self.widgets["whitecolorRadio"].connect("toggled", self.onColorRadioChanged) self.widgets["blackcolorRadio"].connect("toggled", self.onColorRadioChanged) self.onColorRadioChanged(self.widgets["nocolorRadio"]) self.widgets["noVariantRadio"].connect("toggled", self.onVariantRadioChanged) self.widgets["variantRadio"].connect("toggled", self.onVariantRadioChanged) variantcombo = self.widgets["variantCombo"] variantcombo.set_name("variantcombo") variantComboGetter, variantComboSetter = self.__initVariantCombo( variantcombo) self.seekEditorWidgetGettersSetters["variantCombo"] = ( variantComboGetter, variantComboSetter) self.widgets["variantCombo"].connect("changed", self.onVariantComboChanged) self.widgets["editSeekDialog"].connect("delete_event", lambda *a: True) # self.widgets["challengeDialog"].connect("delete_event", lambda *a: True) self.widgets["strengthCheck"].connect("toggled", self.onStrengthCheckToggled) self.onStrengthCheckToggled(self.widgets["strengthCheck"]) self.widgets["ratingCenterSlider"].connect( "value-changed", self.onRatingCenterSliderChanged) self.onRatingCenterSliderChanged(self.widgets["ratingCenterSlider"]) self.widgets["toleranceSlider"].connect("value-changed", self.onToleranceSliderChanged) self.onToleranceSliderChanged(self.widgets["toleranceSlider"]) self.widgets["toleranceButton"].connect("clicked", self.onToleranceButtonClicked) self.widgets["toleranceButton"].connect("activate-link", lambda link_button: True) def intGetter(widget): return int(widget.get_value()) self.seekEditorWidgetGettersSetters["minutesSpin"] = (intGetter, None) self.seekEditorWidgetGettersSetters["gainSpin"] = (intGetter, None) self.seekEditorWidgetGettersSetters["ratingCenterSlider"] = \ (intGetter, None) self.seekEditorWidgetGettersSetters["toleranceSlider"] = \ (intGetter, None) def toleranceHBoxGetter(widget): return self.widgets["toleranceHBox"].get_property("visible") def toleranceHBoxSetter(widget, visible): assert isinstance(visible, bool) if visible: self.widgets["toleranceHBox"].show() else: self.widgets["toleranceHBox"].hide() self.seekEditorWidgetGettersSetters["toleranceHBox"] = ( toleranceHBoxGetter, toleranceHBoxSetter) self.chainbox = ChainVBox() self.widgets["chainAlignment"].add(self.chainbox) def chainboxGetter(widget): return self.chainbox.active def chainboxSetter(widget, is_active): self.chainbox.active = is_active self.seekEditorWidgetGettersSetters["chainAlignment"] = ( chainboxGetter, chainboxSetter) self.challengee = None self.in_challenge_mode = False self.seeknumber = 1 self.widgets["seekButton"].connect("clicked", self.onSeekButtonClicked) self.widgets["seekAllButton"].connect("clicked", self.onSeekAllButtonClicked) self.widgets["challengeButton"].connect("clicked", self.onChallengeButtonClicked) self.widgets["challengeDialog"].connect("delete-event", self.onChallengeDialogResponse) self.widgets["challengeDialog"].connect("response", self.onChallengeDialogResponse) self.widgets["editSeekDialog"].connect("response", self.onEditSeekDialogResponse) for widget in ("seek1Radio", "seek2Radio", "seek3Radio", "challenge1Radio", "challenge2Radio", "challenge3Radio"): uistuff.keep(self.widgets[widget], widget) self.lastdifference = 0 self.loading_seek_editor = False self.savedSeekRadioTexts = [GAME_TYPES["blitz"].display_text] * 3 for i in range(1, 4): self.__loadSeekEditor(i) self.__writeSavedSeeks(i) self.widgets["seek%sRadioConfigButton" % i].connect( "clicked", self.onSeekRadioConfigButtonClicked, i) self.widgets["challenge%sRadioConfigButton" % i].connect( "clicked", self.onChallengeRadioConfigButtonClicked, i) if not self.connection.isRegistred(): self.chainbox.active = False self.widgets["chainAlignment"].set_sensitive(False) self.widgets["chainAlignment"].set_tooltip_text(_( "The chain button is disabled because you are logged in as a guest. Guests \ can't establish ratings, and the chain button's state has no effect when \ there is no rating to which to tie \"Opponent Strength\" to")) def onSeekButtonClicked(self, button): if self.widgets["seek3Radio"].get_active(): self.__loadSeekEditor(3) elif self.widgets["seek2Radio"].get_active(): self.__loadSeekEditor(2) else: self.__loadSeekEditor(1) minutes, incr, gametype, ratingrange, color, rated, manual = \ self.__getSeekEditorDialogValues() self.connection.glm.seek(minutes, incr, gametype, rated, ratingrange, color, manual) def onSeekAllButtonClicked(self, button): for i in range(1, 4): self.__loadSeekEditor(i) minutes, incr, gametype, ratingrange, color, rated, manual = \ self.__getSeekEditorDialogValues() self.connection.glm.seek(minutes, incr, gametype, rated, ratingrange, color, manual) def onChallengeButtonClicked(self, button, player=None): if player is None: player = self.lounge.players_tab.getSelectedPlayer() if player is None: return self.challengee = player self.in_challenge_mode = True for i in range(1, 4): self.__loadSeekEditor(i) self.__writeSavedSeeks(i) self.__updateRatedGameCheck() if self.widgets["seek3Radio"].get_active(): seeknumber = 3 elif self.widgets["seek2Radio"].get_active(): seeknumber = 2 else: seeknumber = 1 self.__updateSeekEditor(seeknumber, challengemode=True) self.widgets["challengeeNameLabel"].set_markup(player.getMarkup()) self.widgets["challengeeImage"].set_from_pixbuf( player.getIcon(size=32)) title = _("Challenge: ") + player.name self.widgets["challengeDialog"].set_title(title) self.widgets["challengeDialog"].present() def onChallengeDialogResponse(self, dialog, response): self.widgets["challengeDialog"].hide() if response != 5: return True if self.widgets["challenge3Radio"].get_active(): self.__loadSeekEditor(3) elif self.widgets["challenge2Radio"].get_active(): self.__loadSeekEditor(2) else: self.__loadSeekEditor(1) minutes, incr, gametype, ratingrange, color, rated, manual = \ self.__getSeekEditorDialogValues() self.connection.om.challenge(self.challengee.name, gametype, minutes, incr, rated, color) def onSeekRadioConfigButtonClicked(self, configimage, seeknumber): self.__showSeekEditor(seeknumber) def onChallengeRadioConfigButtonClicked(self, configimage, seeknumber): self.__showSeekEditor(seeknumber, challengemode=True) def onEditSeekDialogResponse(self, dialog, response): self.widgets["editSeekDialog"].hide() if response != Gtk.ResponseType.OK: return self.__saveSeekEditor(self.seeknumber) self.__writeSavedSeeks(self.seeknumber) def __updateSeekEditor(self, seeknumber, challengemode=False): self.in_challenge_mode = challengemode self.seeknumber = seeknumber if not challengemode: self.widgets["strengthFrame"].set_sensitive(True) self.widgets["strengthFrame"].set_tooltip_text("") self.widgets["manualAcceptCheck"].set_sensitive(True) self.widgets["manualAcceptCheck"].set_tooltip_text(_( "If set you can refuse players accepting your seek")) else: self.widgets["strengthFrame"].set_sensitive(False) self.widgets["strengthFrame"].set_tooltip_text(_( "This option is not applicable because you're challenging a player")) self.widgets["manualAcceptCheck"].set_sensitive(False) self.widgets["manualAcceptCheck"].set_tooltip_text(_( "This option is not applicable because you're challenging a player")) self.widgets["chainAlignment"].show_all() self.__loadSeekEditor(seeknumber) self.widgets["seek%dRadio" % seeknumber].set_active(True) self.widgets["challenge%dRadio" % seeknumber].set_active(True) self.__updateYourRatingHBox() self.__updateRatingCenterInfoBox() self.__updateToleranceButton() self.__updateRatedGameCheck() self.onUntimedCheckToggled(self.widgets["untimedCheck"]) title = _("Edit Seek: ") + self.widgets["seek%dRadio" % seeknumber].get_label()[:-1] self.widgets["editSeekDialog"].set_title(title) def __showSeekEditor(self, seeknumber, challengemode=False): self.__updateSeekEditor(seeknumber, challengemode) self.widgets["editSeekDialog"].present() # ugly hack to fix https://github.com/pychess/pychess/issues/1024 # self.widgets["editSeekDialog"].queue_draw() doesn't work if sys.platform == "win32": self.widgets["editSeekDialog"].hide() allocation = self.widgets["editSeekDialog"].get_allocation() self.widgets["editSeekDialog"].set_size_request(allocation.width, allocation.height) self.widgets["editSeekDialog"].show() # -------------------------------------------------------- Seek Editor def __writeSavedSeeks(self, seeknumber): """ Writes saved seek strings for both the Seek Panel and the Challenge Panel """ minutes, gain, gametype, ratingrange, color, rated, manual = \ self.__getSeekEditorDialogValues() self.savedSeekRadioTexts[seeknumber - 1] = \ time_control_to_gametype(minutes, gain).display_text self.__writeSeekRadioLabels() seek = {} if gametype == GAME_TYPES["untimed"]: seek["time"] = gametype.display_text elif gain > 0: seek["time"] = _("%(minutes)d min + %(gain)d sec/move") % \ {'minutes': minutes, 'gain': gain} else: seek["time"] = _("%d min") % minutes if isinstance(gametype, VariantGameType): seek["variant"] = "%s" % gametype.display_text rrtext = get_rating_range_display_text(ratingrange[0], ratingrange[1]) if rrtext: seek["rating"] = rrtext if color == WHITE: seek["color"] = _("White") elif color == BLACK: seek["color"] = _("Black") if rated and gametype is not GAME_TYPES["untimed"]: seek["rated"] = _("Rated") if manual: seek["manual"] = _("Manual") seek_ = [] challenge = [] challengee_is_guest = self.challengee and self.challengee.isGuest() for key in ("time", "variant", "rating", "color", "rated", "manual"): if key in seek: seek_.append(seek[key]) if key in ("time", "variant", "color") or \ (key == "rated" and not challengee_is_guest): challenge.append(seek[key]) seektext = ", ".join(seek_) challengetext = ", ".join(challenge) if seeknumber == 1: self.widgets["seek1RadioLabel"].set_text(seektext) self.widgets["challenge1RadioLabel"].set_text(challengetext) elif seeknumber == 2: self.widgets["seek2RadioLabel"].set_text(seektext) self.widgets["challenge2RadioLabel"].set_text(challengetext) else: self.widgets["seek3RadioLabel"].set_text(seektext) self.widgets["challenge3RadioLabel"].set_text(challengetext) def __loadSeekEditor(self, seeknumber): self.loading_seek_editor = True for widget in self.seekEditorWidgets: if widget in self.seekEditorWidgetGettersSetters: uistuff.loadDialogWidget( self.widgets[widget], widget, seeknumber, get_value_=self.seekEditorWidgetGettersSetters[widget][0], set_value_=self.seekEditorWidgetGettersSetters[widget][1], first_value=self.seekEditorWidgetDefaults[widget][ seeknumber - 1]) elif widget in self.seekEditorWidgetDefaults: uistuff.loadDialogWidget( self.widgets[widget], widget, seeknumber, first_value=self.seekEditorWidgetDefaults[widget][ seeknumber - 1]) else: uistuff.loadDialogWidget(self.widgets[widget], widget, seeknumber) self.lastdifference = conf.get("lastdifference-%d" % seeknumber) self.loading_seek_editor = False def __saveSeekEditor(self, seeknumber): for widget in self.seekEditorWidgets: if widget in self.seekEditorWidgetGettersSetters: uistuff.saveDialogWidget( self.widgets[widget], widget, seeknumber, get_value_=self.seekEditorWidgetGettersSetters[widget][0]) else: uistuff.saveDialogWidget(self.widgets[widget], widget, seeknumber) conf.set("lastdifference-%d" % seeknumber, self.lastdifference) def __getSeekEditorDialogValues(self): if self.widgets["untimedCheck"].get_active(): minutes = 0 incr = 0 else: minutes = int(self.widgets["minutesSpin"].get_value()) incr = int(self.widgets["gainSpin"].get_value()) if self.widgets["strengthCheck"].get_active(): ratingrange = [0, 9999] else: center = int(self.widgets["ratingCenterSlider"].get_value( )) * RATING_SLIDER_STEP tolerance = int(self.widgets["toleranceSlider"].get_value( )) * RATING_SLIDER_STEP minrating = center - tolerance minrating = minrating > 0 and minrating or 0 maxrating = center + tolerance maxrating = maxrating >= 3000 and 9999 or maxrating ratingrange = [minrating, maxrating] if self.widgets["nocolorRadio"].get_active(): color = None elif self.widgets["whitecolorRadio"].get_active(): color = WHITE else: color = BLACK if self.widgets["noVariantRadio"].get_active() or \ self.widgets["untimedCheck"].get_active(): gametype = time_control_to_gametype(minutes, incr) else: variant_combo_getter = self.seekEditorWidgetGettersSetters[ "variantCombo"][0] variant = variant_combo_getter(self.widgets["variantCombo"]) gametype = VARIANT_GAME_TYPES[variant] rated = self.widgets["ratedGameCheck"].get_active() and not \ self.widgets["untimedCheck"].get_active() manual = self.widgets["manualAcceptCheck"].get_active() return minutes, incr, gametype, ratingrange, color, rated, manual def __writeSeekRadioLabels(self): gameTypes = {_("Untimed"): [0, 1], _("Standard"): [0, 1], _("Blitz"): [0, 1], _("Lightning"): [0, 1]} for i in range(3): gameTypes[self.savedSeekRadioTexts[i]][0] += 1 for i in range(3): if gameTypes[self.savedSeekRadioTexts[i]][0] > 1: labelText = "%s #%d:" % \ (self.savedSeekRadioTexts[i], gameTypes[ self.savedSeekRadioTexts[i]][1]) self.widgets["seek%dRadio" % (i + 1)].set_label(labelText) self.widgets["challenge%dRadio" % (i + 1)].set_label(labelText) gameTypes[self.savedSeekRadioTexts[i]][1] += 1 else: self.widgets["seek%dRadio" % ( i + 1)].set_label(self.savedSeekRadioTexts[i] + ":") self.widgets["challenge%dRadio" % ( i + 1)].set_label(self.savedSeekRadioTexts[i] + ":") def __updateRatingRangeBox(self): center = int(self.widgets["ratingCenterSlider"].get_value( )) * RATING_SLIDER_STEP tolerance = int(self.widgets["toleranceSlider"].get_value( )) * RATING_SLIDER_STEP min_rating = center - tolerance min_rating = min_rating > 0 and min_rating or 0 max_rating = center + tolerance max_rating = max_rating >= 3000 and 9999 or max_rating self.widgets["ratingRangeMinLabel"].set_label("%d" % min_rating) self.widgets["ratingRangeMaxLabel"].set_label("%d" % max_rating) for widgetName, rating in (("ratingRangeMinImage", min_rating), ("ratingRangeMaxImage", max_rating)): pixbuf = FICSPlayer.getIconByRating(rating) self.widgets[widgetName].set_from_pixbuf(pixbuf) self.widgets["ratingRangeMinImage"].show() self.widgets["ratingRangeMinLabel"].show() self.widgets["dashLabel"].show() self.widgets["ratingRangeMaxImage"].show() self.widgets["ratingRangeMaxLabel"].show() if min_rating == 0: self.widgets["ratingRangeMinImage"].hide() self.widgets["ratingRangeMinLabel"].hide() self.widgets["dashLabel"].hide() self.widgets["ratingRangeMaxLabel"].set_label("%d↓" % max_rating) if max_rating == 9999: self.widgets["ratingRangeMaxImage"].hide() self.widgets["ratingRangeMaxLabel"].hide() self.widgets["dashLabel"].hide() self.widgets["ratingRangeMinLabel"].set_label("%d↑" % min_rating) if min_rating == 0 and max_rating == 9999: self.widgets["ratingRangeMinLabel"].set_label(_("Any strength")) self.widgets["ratingRangeMinLabel"].show() def __getGameType(self): if self.widgets["untimedCheck"].get_active(): gametype = GAME_TYPES["untimed"] elif self.widgets["noVariantRadio"].get_active(): minutes = int(self.widgets["minutesSpin"].get_value()) gain = int(self.widgets["gainSpin"].get_value()) gametype = time_control_to_gametype(minutes, gain) else: variant_combo_getter = self.seekEditorWidgetGettersSetters[ "variantCombo"][0] variant = variant_combo_getter(self.widgets["variantCombo"]) gametype = VARIANT_GAME_TYPES[variant] return gametype def __updateYourRatingHBox(self): gametype = self.__getGameType() self.widgets["yourRatingNameLabel"].set_label( "(" + gametype.display_text + ")") rating = self.__getRating(gametype.rating_type) if rating is None: self.widgets["yourRatingImage"].clear() self.widgets["yourRatingLabel"].set_label(_("Unrated")) return pixbuf = FICSPlayer.getIconByRating(rating) self.widgets["yourRatingImage"].set_from_pixbuf(pixbuf) self.widgets["yourRatingLabel"].set_label(str(rating)) center = int(self.widgets["ratingCenterSlider"].get_value( )) * RATING_SLIDER_STEP rating = self.__clamp(rating) difference = rating - center if self.loading_seek_editor is False and self.chainbox.active and \ difference != self.lastdifference: newcenter = rating - self.lastdifference self.widgets["ratingCenterSlider"].set_value(newcenter // RATING_SLIDER_STEP) else: self.lastdifference = difference def __clamp(self, rating): assert isinstance(rating, int) mod = rating % RATING_SLIDER_STEP if mod > RATING_SLIDER_STEP // 2: return rating - mod + RATING_SLIDER_STEP else: return rating - mod def __updateRatedGameCheck(self): # on FICS, untimed games can't be rated, nor can games against a guest if not self.connection.isRegistred(): self.widgets["ratedGameCheck"].set_active(False) sensitive = False self.widgets["ratedGameCheck"].set_tooltip_text(_( "You can't play rated games because you are logged in as a guest")) elif self.widgets["untimedCheck"].get_active(): sensitive = False self.widgets["ratedGameCheck"].set_tooltip_text( _("You can't play rated games because \"Untimed\" is checked, ") + _("and on FICS, untimed games can't be rated")) elif self.in_challenge_mode and self.challengee.isGuest(): sensitive = False self.widgets["ratedGameCheck"].set_tooltip_text( _("This option is not available because you're challenging a guest, ") + _("and guests can't play rated games")) else: sensitive = True self.widgets["ratedGameCheck"].set_tooltip_text("") self.widgets["ratedGameCheck"].set_sensitive(sensitive) def __initVariantCombo(self, combo): model = Gtk.TreeStore(str) cellRenderer = Gtk.CellRendererText() combo.clear() combo.pack_start(cellRenderer, True) combo.add_attribute(cellRenderer, 'text', 0) combo.set_model(model) groupNames = {VARIANTS_SHUFFLE: _("Shuffle"), VARIANTS_OTHER: _("Other (standard rules)"), VARIANTS_OTHER_NONSTANDARD: _("Other (non standard rules)"), } ficsvariants = [ v for k, v in variants.items() if k in VARIANT_GAME_TYPES and v.variant not in UNSUPPORTED ] groups = groupby(ficsvariants, attrgetter("variant_group")) pathToVariant = {} variantToPath = {} for i, (id, group) in enumerate(groups): sel_iter = model.append(None, (groupNames[id], )) for variant in group: subiter = model.append(sel_iter, (variant.name, )) path = model.get_path(subiter) path = path.to_string() pathToVariant[path] = variant.variant variantToPath[variant.variant] = path # this stops group names (eg "Shuffle") from being displayed in # submenus def cellFunc(combo, cell, model, sel_iter, data): isChildNode = not model.iter_has_child(sel_iter) cell.set_property("sensitive", isChildNode) combo.set_cell_data_func(cellRenderer, cellFunc, None) def comboGetter(combo): path = model.get_path(combo.get_active_iter()) path = path.to_string() return pathToVariant[path] def comboSetter(combo, variant): if variant not in VARIANT_GAME_TYPES: variant = LOSERSCHESS combo.set_active_iter(model.get_iter(variantToPath[variant])) return comboGetter, comboSetter def __getRating(self, gametype): if self.finger is None: return None try: rating = self.finger.getRating(type=gametype) except KeyError: # the user doesn't have a rating for this game type rating = None return rating def onFinger(self, fm, finger): if not finger.getName() == self.connection.getUsername(): return self.finger = finger numfingers = conf.get("numberOfFingers") + 1 conf.set("numberOfFingers", numfingers) if conf.get("numberOfTimesLoggedInAsRegisteredUser") == 1 and numfingers == 1: standard = self.__getRating(TYPE_STANDARD) blitz = self.__getRating(TYPE_BLITZ) lightning = self.__getRating(TYPE_LIGHTNING) if standard is not None: self.seekEditorWidgetDefaults["ratingCenterSlider"][ 0] = standard // RATING_SLIDER_STEP elif blitz is not None: self.seekEditorWidgetDefaults["ratingCenterSlider"][ 0] = blitz // RATING_SLIDER_STEP if blitz is not None: self.seekEditorWidgetDefaults["ratingCenterSlider"][ 1] = blitz // RATING_SLIDER_STEP if lightning is not None: self.seekEditorWidgetDefaults["ratingCenterSlider"][ 2] = lightning // RATING_SLIDER_STEP elif blitz is not None: self.seekEditorWidgetDefaults["ratingCenterSlider"][ 2] = blitz // RATING_SLIDER_STEP for i in range(1, 4): self.__loadSeekEditor(i) self.__updateSeekEditor(i) self.__saveSeekEditor(i) self.__writeSavedSeeks(i) self.__updateYourRatingHBox() def onTimeSpinChanged(self, spin): minutes = self.widgets["minutesSpin"].get_value_as_int() gain = self.widgets["gainSpin"].get_value_as_int() name = time_control_to_gametype(minutes, gain).display_text self.widgets["timeControlNameLabel"].set_label("%s" % name) self.__updateYourRatingHBox() def onUntimedCheckToggled(self, check): is_untimed_game = check.get_active() self.widgets["timeControlConfigVBox"].set_sensitive( not is_untimed_game) # on FICS, untimed games can't be rated and can't be a chess variant self.widgets["variantFrame"].set_sensitive(not is_untimed_game) if is_untimed_game: self.widgets["variantFrame"].set_tooltip_text( _("You can't select a variant because \"Untimed\" is checked, ") + _("and on FICS, untimed games have to be normal chess rules")) else: self.widgets["variantFrame"].set_tooltip_text("") self.__updateRatedGameCheck( ) # sets sensitivity of widgets["ratedGameCheck"] self.__updateYourRatingHBox() def onStrengthCheckToggled(self, check): strengthsensitive = not check.get_active() self.widgets["strengthConfigVBox"].set_sensitive(strengthsensitive) def onRatingCenterSliderChanged(self, slider): center = int(self.widgets["ratingCenterSlider"].get_value( )) * RATING_SLIDER_STEP pixbuf = FICSPlayer.getIconByRating(center) self.widgets["ratingCenterLabel"].set_label("%d" % (center)) self.widgets["ratingCenterImage"].set_from_pixbuf(pixbuf) self.__updateRatingRangeBox() rating = self.__getRating(self.__getGameType().rating_type) if rating is None: return rating = self.__clamp(rating) self.lastdifference = rating - center def __updateRatingCenterInfoBox(self): if self.widgets["toleranceHBox"].get_property("visible") is True: self.widgets["ratingCenterInfoHBox"].show() else: self.widgets["ratingCenterInfoHBox"].hide() def __updateToleranceButton(self): if self.widgets["toleranceHBox"].get_property("visible") is True: self.widgets["toleranceButton"].set_property("label", _("Hide")) else: self.widgets["toleranceButton"].set_property("label", _("Change Tolerance")) def onToleranceButtonClicked(self, button): if self.widgets["toleranceHBox"].get_property("visible") is True: self.widgets["toleranceHBox"].hide() else: self.widgets["toleranceHBox"].show() self.__updateToleranceButton() self.__updateRatingCenterInfoBox() def onToleranceSliderChanged(self, slider): tolerance = int(self.widgets["toleranceSlider"].get_value( )) * RATING_SLIDER_STEP self.widgets["toleranceLabel"].set_label("±%d" % tolerance) self.__updateRatingRangeBox() def onColorRadioChanged(self, radio): if self.widgets["nocolorRadio"].get_active(): self.widgets["colorImage"].set_from_file(addDataPrefix( "glade/piece-unknown.png")) self.widgets["colorImage"].set_sensitive(False) elif self.widgets["whitecolorRadio"].get_active(): self.widgets["colorImage"].set_from_file(addDataPrefix( "glade/piece-white.png")) self.widgets["colorImage"].set_sensitive(True) elif self.widgets["blackcolorRadio"].get_active(): self.widgets["colorImage"].set_from_file(addDataPrefix( "glade/piece-black.png")) self.widgets["colorImage"].set_sensitive(True) def onVariantRadioChanged(self, radio): self.__updateYourRatingHBox() def onVariantComboChanged(self, combo): self.widgets["variantRadio"].set_active(True) self.__updateYourRatingHBox() min, gain, gametype, ratingrange, color, rated, manual = \ self.__getSeekEditorDialogValues() self.widgets["variantCombo"].set_tooltip_text(variants[ gametype.variant_type].__desc__) pychess-1.0.0/lib/pychess/perspectives/fics/SeekListPanel.py0000644000175000017500000004743213432500662023212 0ustar varunvarunfrom gi.repository import Gtk, Gdk, GdkPixbuf from pychess.ic.FICSObjects import FICSSoughtMatch, FICSChallenge, \ get_seek_tooltip_text, get_challenge_tooltip_text from pychess.ic import TYPE_BLITZ, TYPE_LIGHTNING, TYPE_STANDARD, RATING_TYPES, \ TYPE_BULLET, TYPE_ONE_MINUTE, TYPE_THREE_MINUTE, TYPE_FIVE_MINUTE, \ TYPE_FIFTEEN_MINUTE, TYPE_FORTYFIVE_MINUTE, \ get_infobarmessage_content from pychess.perspectives.fics.ParrentListSection import ParrentListSection, cmp, \ SEPARATOR, ACCEPT, ASSESS, FOLLOW, CHAT, CHALLENGE, FINGER, ARCHIVED from pychess.Utils.IconLoader import get_pixbuf from pychess.System import conf, uistuff from pychess.System.Log import log from pychess.System.prefix import addDataPrefix from pychess.widgets import mainwindow from pychess.widgets.preferencesDialog import SoundTab from pychess.widgets.InfoBar import InfoBarMessage, InfoBarMessageButton __title__ = _("Seeks / Challenges") __icon__ = addDataPrefix("glade/manseek.svg") __desc__ = _("Handle seeks and challenges") class Sidepanel(ParrentListSection): def load(self, widgets, connection, lounge): self.widgets = widgets self.connection = connection self.lounge = lounge self.infobar = lounge.infobar __widget__ = lounge.seek_list self.messages = {} self.seeks = {} self.challenges = {} self.seekPix = get_pixbuf("glade/seek.png") self.chaPix = get_pixbuf("glade/challenge.png") self.manSeekPix = get_pixbuf("glade/manseek.png") self.widgets["seekExpander"].set_vexpand(False) self.tv = self.widgets["seektreeview"] self.store = Gtk.ListStore(FICSSoughtMatch, GdkPixbuf.Pixbuf, GdkPixbuf.Pixbuf, str, int, str, str, str, int, Gdk.RGBA, str) self.seek_filter = self.store.filter_new() self.seek_filter.set_visible_func(self.seek_filter_func) self.filter_toggles = {} self.filter_buttons = ("standard_toggle1", "blitz_toggle1", "lightning_toggle1", "variant_toggle1", "computer_toggle1") for widget in self.filter_buttons: uistuff.keep(self.widgets[widget], widget) self.widgets[widget].connect("toggled", self.on_filter_button_toggled) initial = conf.get(widget) self.filter_toggles[widget] = initial self.widgets[widget].set_active(initial) self.model = self.seek_filter.sort_new_with_model() self.tv.set_model(self.model) self.tv.set_model(self.model) self.addColumns(self.tv, "FICSSoughtMatch", "", "", _("Name"), _("Rating"), _("Rated"), _("Type"), _("Clock"), "gametime", "textcolor", "tooltip", hide=[0, 8, 9, 10], pix=[1, 2]) self.tv.set_search_column(3) self.tv.set_tooltip_column(10, ) for i in range(0, 2): self.tv.get_model().set_sort_func(i, self.pixCompareFunction, i + 1) for i in range(2, 8): self.tv.get_model().set_sort_func(i, self.compareFunction, i) try: self.tv.set_search_position_func(self.lowLeftSearchPosFunc, None) except AttributeError: # Unknow signal name is raised by gtk < 2.10 pass for num in range(2, 7): column = self.tv.get_column(num) for cellrenderer in column.get_cells(): column.add_attribute(cellrenderer, "foreground_rgba", 9) self.selection = self.tv.get_selection() self.lastSeekSelected = None self.selection.set_select_function(self.selectFunction, True) self.selection.connect("changed", self.onSelectionChanged) self.widgets["clearSeeksButton"].connect("clicked", self.onClearSeeksClicked) self.widgets["acceptButton"].connect("clicked", self.on_accept) self.widgets["declineButton"].connect("clicked", self.onDeclineClicked) self.tv.connect("row-activated", self.row_activated) self.tv.connect('button-press-event', self.button_press_event) self.connection.seeks.connect("FICSSeekCreated", self.onAddSeek) self.connection.seeks.connect("FICSSeekRemoved", self.onRemoveSeek) self.connection.challenges.connect("FICSChallengeIssued", self.onChallengeAdd) self.connection.challenges.connect("FICSChallengeRemoved", self.onChallengeRemove) self.connection.glm.connect("our-seeks-removed", self.our_seeks_removed) self.connection.glm.connect("assessReceived", self.onAssessReceived) self.connection.bm.connect("playGameCreated", self.onPlayingGame) self.connection.bm.connect("curGameEnded", self.onCurGameEnded) def get_sort_order(modelsort): identity, order = modelsort.get_sort_column_id() if identity is None or identity < 0: identity = 0 else: identity += 1 if order == Gtk.SortType.DESCENDING: identity = -1 * identity return identity def set_sort_order(modelsort, value): if value != 0: order = Gtk.SortType.ASCENDING if value > 0 else Gtk.SortType.DESCENDING modelsort.set_sort_column_id(abs(value) - 1, order) uistuff.keep(self.model, "seektreeview_sort_order_col", get_sort_order, lambda modelsort, value: set_sort_order(modelsort, value)) self.createLocalMenu((ACCEPT, ASSESS, CHALLENGE, CHAT, FOLLOW, SEPARATOR, FINGER, ARCHIVED)) self.assess_sent = False return __widget__ def seek_filter_func(self, model, iter, data): sought_match = model[iter][0] is_computer = sought_match.player.isComputer() is_standard = sought_match.game_type.rating_type in (TYPE_STANDARD, TYPE_FIFTEEN_MINUTE, TYPE_FORTYFIVE_MINUTE) and not is_computer is_blitz = sought_match.game_type.rating_type in (TYPE_BLITZ, TYPE_THREE_MINUTE, TYPE_FIVE_MINUTE) and not is_computer is_lightning = sought_match.game_type.rating_type in (TYPE_LIGHTNING, TYPE_BULLET, TYPE_ONE_MINUTE) and not is_computer is_variant = sought_match.game_type.rating_type in RATING_TYPES[9:] and not is_computer return ( self.filter_toggles["computer_toggle1"] and is_computer) or ( self.filter_toggles["standard_toggle1"] and is_standard) or ( self.filter_toggles["blitz_toggle1"] and is_blitz) or ( self.filter_toggles["lightning_toggle1"] and is_lightning) or ( self.filter_toggles["variant_toggle1"] and is_variant) def on_filter_button_toggled(self, widget): for button in self.filter_buttons: self.filter_toggles[button] = self.widgets[button].get_active() self.seek_filter.refilter() def onAssessReceived(self, glm, assess): if self.assess_sent: self.assess_sent = False dialog = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.INFO, buttons=Gtk.ButtonsType.OK) dialog.set_title(_("Assess")) dialog.set_markup(_("Effect on ratings by the possible outcomes")) grid = Gtk.Grid() grid.set_column_homogeneous(True) grid.set_row_spacing(12) grid.set_row_spacing(12) name0 = Gtk.Label() name0.set_markup("%s" % assess["names"][0]) name1 = Gtk.Label() name1.set_markup("%s" % assess["names"][1]) grid.attach(Gtk.Label(label=""), 0, 0, 1, 1) grid.attach(name0, 1, 0, 1, 1) grid.attach(name1, 2, 0, 1, 1) grid.attach(Gtk.Label(assess["type"]), 0, 1, 1, 1) grid.attach(Gtk.Label(assess["oldRD"][0]), 1, 1, 1, 1) grid.attach(Gtk.Label(assess["oldRD"][1]), 2, 1, 1, 1) grid.attach(Gtk.Label(_("Win:")), 0, 2, 1, 1) grid.attach(Gtk.Label(assess["win"][0]), 1, 2, 1, 1) grid.attach(Gtk.Label(assess["win"][1]), 2, 2, 1, 1) grid.attach(Gtk.Label(_("Draw:")), 0, 3, 1, 1) grid.attach(Gtk.Label(assess["draw"][0]), 1, 3, 1, 1) grid.attach(Gtk.Label(assess["draw"][1]), 2, 3, 1, 1) grid.attach(Gtk.Label(_("Loss:")), 0, 4, 1, 1) grid.attach(Gtk.Label(assess["loss"][0]), 1, 4, 1, 1) grid.attach(Gtk.Label(assess["loss"][1]), 2, 4, 1, 1) grid.attach(Gtk.Label(_("New RD:")), 0, 5, 1, 1) grid.attach(Gtk.Label(assess["newRD"][0]), 1, 5, 1, 1) grid.attach(Gtk.Label(assess["newRD"][1]), 2, 5, 1, 1) grid.show_all() dialog.get_message_area().add(grid) dialog.run() dialog.destroy() def getSelectedPlayer(self): model, sel_iter = self.tv.get_selection().get_selected() if sel_iter is not None: sought = model.get_value(sel_iter, 0) return sought.player def textcolor_normal(self): style_ctxt = self.tv.get_style_context() return style_ctxt.get_color(Gtk.StateFlags.NORMAL) def textcolor_selected(self): style_ctxt = self.tv.get_style_context() return style_ctxt.get_color(Gtk.StateFlags.INSENSITIVE) def selectFunction(self, selection, model, path, is_selected, data): if model[path][9] == self.textcolor_selected(): return False else: return True def __isAChallengeOrOurSeek(self, row): sought = row[0] textcolor = row[9] red0, green0, blue0 = textcolor.red, textcolor.green, textcolor.blue selected = self.textcolor_selected() red1, green1, blue1 = selected.red, selected.green, selected.blue if (isinstance(sought, FICSChallenge)) or (red0 == red1 and green0 == green1 and blue0 == blue1): return True else: return False def compareFunction(self, model, iter0, iter1, column): row0 = list(model[model.get_path(iter0)]) row1 = list(model[model.get_path(iter1)]) is_ascending = True if self.tv.get_column(column - 1).get_sort_order() is \ Gtk.SortType.ASCENDING else False if self.__isAChallengeOrOurSeek( row0) and not self.__isAChallengeOrOurSeek(row1): if is_ascending: return -1 else: return 1 elif self.__isAChallengeOrOurSeek( row1) and not self.__isAChallengeOrOurSeek(row0): if is_ascending: return 1 else: return -1 elif column == 7: return self.timeCompareFunction(model, iter0, iter1, column) else: value0 = row0[column] value0 = value0.lower() if isinstance(value0, str) else value0 value1 = row1[column] value1 = value1.lower() if isinstance(value1, str) else value1 return cmp(value0, value1) def __updateActiveSeeksLabel(self): count = len(self.seeks) + len(self.challenges) self.widgets["activeSeeksLabel"].set_text(_("Active seeks: %d") % count) def onAddSeek(self, seeks, seek): log.debug("%s" % seek, extra={"task": (self.connection.username, "onAddSeek")}) pix = self.seekPix if seek.automatic else self.manSeekPix textcolor = self.textcolor_selected() if seek.player.name == self.connection.getUsername() \ else self.textcolor_normal() seek_ = [seek, seek.player.getIcon(gametype=seek.game_type), pix, seek.player.name + seek.player.display_titles(), seek.player_rating, seek.display_rated, seek.game_type.display_text, seek.display_timecontrol, seek.sortable_time, textcolor, get_seek_tooltip_text(seek)] if textcolor == self.textcolor_selected(): txi = self.store.prepend(seek_) self.tv.scroll_to_cell(self.store.get_path(txi)) self.widgets["clearSeeksButton"].set_sensitive(True) else: txi = self.store.append(seek_) self.seeks[hash(seek)] = txi self.__updateActiveSeeksLabel() def onRemoveSeek(self, seeks, seek): log.debug("%s" % seek, extra={"task": (self.connection.username, "onRemoveSeek")}) try: treeiter = self.seeks[hash(seek)] except KeyError: # We ignore removes we haven't added, as it seems fics sends a # lot of removes for games it has never told us about return if self.store.iter_is_valid(treeiter): self.store.remove(treeiter) del self.seeks[hash(seek)] self.__updateActiveSeeksLabel() def onChallengeAdd(self, challenges, challenge): log.debug("%s" % challenge, extra={"task": (self.connection.username, "onChallengeAdd")}) SoundTab.playAction("aPlayerChecks") # TODO: differentiate between challenges and manual-seek-accepts # (wait until seeks are comparable FICSSeek objects to do this) # Related: http://code.google.com/p/pychess/issues/detail?id=206 if challenge.adjourned: text = _(" would like to resume your adjourned %(time)s " + "%(gametype)s game.") % \ {"time": challenge.display_timecontrol, "gametype": challenge.game_type.display_text} else: text = _(" challenges you to a %(time)s %(rated)s %(gametype)s game") \ % {"time": challenge.display_timecontrol, "rated": challenge.display_rated.lower(), "gametype": challenge.game_type.display_text} if challenge.color: text += _(" where %(player)s plays %(color)s.") \ % {"player": challenge.player.name, "color": _("white") if challenge.color == "white" else _("black")} else: text += "." content = get_infobarmessage_content(challenge.player, text, gametype=challenge.game_type) def callback(infobar, response, message): if response == Gtk.ResponseType.ACCEPT: self.connection.om.acceptIndex(challenge.index) elif response == Gtk.ResponseType.NO: self.connection.om.declineIndex(challenge.index) message.dismiss() return False message = InfoBarMessage(Gtk.MessageType.QUESTION, content, callback) message.add_button(InfoBarMessageButton( _("Accept"), Gtk.ResponseType.ACCEPT)) message.add_button(InfoBarMessageButton( _("Decline"), Gtk.ResponseType.NO)) message.add_button(InfoBarMessageButton(Gtk.STOCK_CLOSE, Gtk.ResponseType.CANCEL)) self.messages[hash(challenge)] = message self.infobar.push_message(message) txi = self.store.prepend( [challenge, challenge.player.getIcon(gametype=challenge.game_type), self.chaPix, challenge.player.name + challenge.player.display_titles(), challenge.player_rating, challenge.display_rated, challenge.game_type.display_text, challenge.display_timecontrol, challenge.sortable_time, self.textcolor_normal(), get_challenge_tooltip_text(challenge)]) self.challenges[hash(challenge)] = txi self.__updateActiveSeeksLabel() self.widgets["seektreeview"].scroll_to_cell(self.store.get_path(txi)) def onChallengeRemove(self, challenges, challenge): log.debug( "%s" % challenge, extra={"task": (self.connection.username, "onChallengeRemove")}) try: txi = self.challenges[hash(challenge)] except KeyError: pass else: if self.store.iter_is_valid(txi): self.store.remove(txi) del self.challenges[hash(challenge)] try: message = self.messages[hash(challenge)] except KeyError: pass else: message.dismiss() del self.messages[hash(challenge)] self.__updateActiveSeeksLabel() def our_seeks_removed(self, glm): self.widgets["clearSeeksButton"].set_sensitive(False) def onDeclineClicked(self, button): model, sel_iter = self.tv.get_selection().get_selected() if sel_iter is None: return sought = model.get_value(sel_iter, 0) self.connection.om.declineIndex(sought.index) try: message = self.messages[hash(sought)] except KeyError: pass else: message.dismiss() del self.messages[hash(sought)] def onClearSeeksClicked(self, button): self.connection.client.run_command("unseek") self.widgets["clearSeeksButton"].set_sensitive(False) def row_activated(self, treeview, path, view_column): model, sel_iter = self.tv.get_selection().get_selected() if sel_iter is None: return sought = model.get_value(sel_iter, 0) if self.lastSeekSelected is None or \ sought.index != self.lastSeekSelected.index: return if path != model.get_path(sel_iter): return self.on_accept(None) def onSelectionChanged(self, selection): model, sel_iter = selection.get_selected() sought = None a_seek_is_selected = False selection_is_challenge = False if sel_iter is not None: a_seek_is_selected = True sought = model.get_value(sel_iter, 0) if isinstance(sought, FICSChallenge): selection_is_challenge = True # # select sought owner on players tab to let challenge him using right click menu # if sought.player in self.lounge.players_tab.players: # # we have to undo the iter conversion that was introduced by the filter and sort model # iter0 = self.lounge.players_tab.players[sought.player]["ti"] # filtered_model = self.lounge.players_tab.player_filter # is_ok, iter1 = filtered_model.convert_child_iter_to_iter(iter0) # sorted_model = self.lounge.players_tab.model # is_ok, iter2 = sorted_model.convert_child_iter_to_iter(iter1) # players_selection = self.lounge.players_tab.tv.get_selection() # players_selection.select_iter(iter2) # self.lounge.players_tab.tv.scroll_to_cell(sorted_model.get_path(iter2)) # else: # print(sought.player, "not in self.lounge.players_tab.players") self.lastSeekSelected = sought self.widgets["acceptButton"].set_sensitive(a_seek_is_selected) self.widgets["declineButton"].set_sensitive(selection_is_challenge) def _clear_messages(self): for message in self.messages.values(): message.dismiss() self.messages.clear() def onPlayingGame(self, bm, game): self._clear_messages() self.widgets["seekListContent"].set_sensitive(False) self.widgets["clearSeeksButton"].set_sensitive(False) self.__updateActiveSeeksLabel() def onCurGameEnded(self, bm, game): self.widgets["seekListContent"].set_sensitive(True) pychess-1.0.0/lib/pychess/perspectives/fics/ArchiveListPanel.py0000644000175000017500000003730713365545272023717 0ustar varunvarun# -*- coding: UTF-8 -*- from io import StringIO from gi.repository import Gtk from pychess.compat import create_task from pychess.ic.FICSObjects import FICSGame, FICSAdjournedGame, make_sensitive_if_available from pychess.ic import get_infobarmessage_content from pychess.ic.ICGameModel import ICGameModel from pychess.Utils.const import WHITE, BLACK, REMOTE, reprResult from pychess.Utils.TimeModel import TimeModel from pychess.Players.ICPlayer import ICPlayer from pychess.Savers import pgn from pychess.System.Log import log from pychess.System.prefix import addDataPrefix from pychess.perspectives import perspective_manager from pychess.perspectives.fics.ParrentListSection import ParrentListSection, cmp, \ SEPARATOR, FOLLOW, CHAT, CHALLENGE, FINGER, ARCHIVED from pychess.widgets.InfoBar import InfoBarMessage, InfoBarMessageButton __title__ = _("Archived") __icon__ = addDataPrefix("glade/panel_games.svg") __desc__ = _("Adjourned, history and journal games list") class Sidepanel(ParrentListSection): def load(self, widgets, connection, lounge): self.connection = connection self.widgets = widgets self.lounge = lounge self.infobar = lounge.infobar __widget__ = lounge.archive_list self.games = {} self.messages = {} self.tv = widgets["adjournedtreeview"] self.store = Gtk.ListStore(FICSGame, str, str, str, str, str, str, str, str, str, int) self.model = Gtk.TreeModelSort(model=self.store) self.tv.set_model(self.model) self.addColumns(self.tv, "FICSGame", _("White"), "", "", _("Black"), "", _("Rated"), _("Clock"), _("Type"), _("Date/Time"), "sortable_time", hide=[0, 10]) self.selection = self.tv.get_selection() self.selection.connect("changed", self.onSelectionChanged) self.onSelectionChanged(self.selection) self.tv.get_model().set_sort_func(5, self.compareFunction, 7) self.connection.adm.connect("adjournedGameAdded", self.onAdjournedGameAdded) self.connection.games.connect("FICSAdjournedGameRemoved", self.onAdjournedGameRemoved) self.connection.adm.connect("historyGameAdded", self.onHistoryGameAdded) self.connection.games.connect("FICSHistoryGameRemoved", self.onHistoryGameRemoved) self.connection.adm.connect("journalGameAdded", self.onJournalGameAdded) self.connection.games.connect("FICSJournalGameRemoved", self.onJournalGameRemoved) widgets["resignButton"].connect("clicked", self.onResignButtonClicked) widgets["abortButton"].connect("clicked", self.onAbortButtonClicked) widgets["drawButton"].connect("clicked", self.onDrawButtonClicked) widgets["resumeButton"].connect("clicked", self.onResumeButtonClicked) widgets["previewButton"].connect("clicked", self.onPreviewButtonClicked) widgets["examineButton"].connect("clicked", self.onExamineButtonClicked) widgets["mygamesButton"].connect("clicked", self.onMygamesButtonClicked) self.tv.connect("row-activated", lambda *args: self.onPreviewButtonClicked(None)) self.connection.bm.connect("archiveGamePreview", self.onGamePreview) self.connection.bm.connect("playGameCreated", self.onPlayGameCreated) self.tv.connect('button-press-event', self.button_press_event) self.createLocalMenu((CHALLENGE, CHAT, FOLLOW, SEPARATOR, FINGER, ARCHIVED)) return __widget__ def getSelectedPlayer(self): model = self.tv.get_model() path, col = self.tv.get_cursor() col_index = self.tv.get_columns().index(col) game = model.get_value(model.get_iter(path), 0) return game.bplayer if col_index >= 3 else game.wplayer def onSelectionChanged(self, selection): model, treeiter = selection.get_selected() a_row_is_selected = False if treeiter is not None: a_row_is_selected = True game = model.get_value(treeiter, 0) if isinstance(game, FICSAdjournedGame) and \ self.connection.stored_owner == self.connection.username: make_sensitive_if_available(self.widgets["resumeButton"], game.opponent) for button in ("resignButton", "abortButton", "drawButton"): self.widgets[button].set_sensitive(True) else: for button in ("resignButton", "abortButton", "drawButton", "resumeButton"): self.widgets[button].set_sensitive(False) else: self.widgets["resumeButton"].set_sensitive(False) self.widgets["resumeButton"].set_tooltip_text("") for button in ("resignButton", "abortButton", "drawButton"): self.widgets[button].set_sensitive(False) self.widgets["previewButton"].set_sensitive(a_row_is_selected) self.widgets["examineButton"].set_sensitive(a_row_is_selected) def onPlayGameCreated(self, bm, board): for message in self.messages.values(): message.dismiss() self.messages = {} return False def _infobar_adjourned_message(self, game, player): if player not in self.messages: text = _(" with whom you have an adjourned %(timecontrol)s " + "%(gametype)s game is online.") % \ {"timecontrol": game.display_timecontrol, "gametype": game.game_type.display_text} content = get_infobarmessage_content(player, text, gametype=game.game_type) def callback(infobar, response, message): log.debug( "%s" % player, extra={"task": (self.connection.username, "_infobar_adjourned_message.callback")}) if response == Gtk.ResponseType.ACCEPT: self.connection.client.run_command("match %s" % player.name) elif response == Gtk.ResponseType.HELP: self.connection.adm.queryMoves(game) else: try: self.messages[player].dismiss() del self.messages[player] except KeyError: pass return False message = InfoBarMessage(Gtk.MessageType.QUESTION, content, callback) message.add_button(InfoBarMessageButton( _("Request Continuation"), Gtk.ResponseType.ACCEPT)) message.add_button(InfoBarMessageButton( _("Examine Adjourned Game"), Gtk.ResponseType.HELP)) message.add_button(InfoBarMessageButton(Gtk.STOCK_CLOSE, Gtk.ResponseType.CANCEL)) make_sensitive_if_available(message.buttons[0], player) self.messages[player] = message self.infobar.push_message(message) def compareFunction(self, treemodel, iter0, iter1, column): (minute0, minute1) = (treemodel.get_value(iter0, 10), treemodel.get_value(iter1, 10)) return cmp(minute0, minute1) def online_changed(self, player, prop, game): log.debug("AdjournedTabSection.online_changed: %s %s" % (repr(player), repr(game))) partner = game.bplayer if game.wplayer.name == player.name else game.wplayer result = "▷" if partner.name == self.connection.username and game.opponent.online else "*" try: self.store.set(self.games[game]["ti"], 3, result) except KeyError: pass if self.connection.stored_owner == self.connection.username and \ player.online and player.adjournment: self._infobar_adjourned_message(game, player) elif not player.online and player in self.messages: self.messages[player].dismiss() # calling message.dismiss() might cause it to be removed from # self.messages in another callback, so we re-check if player in self.messages: del self.messages[player] return False def status_changed(self, player, prop, game): log.debug("AdjournedTabSection.status_changed: %s %s" % (repr(player), repr(game))) try: message = self.messages[player] except KeyError: pass else: make_sensitive_if_available(message.buttons[0], player) self.onSelectionChanged(self.selection) return False def onAdjournedGameAdded(self, adm, game): if game not in self.games: partner = game.bplayer if game.wplayer.name == game.opponent.name else game.wplayer result = "▷" if partner.name == self.connection.username and game.opponent.online else "*" ti = self.store.append( [game, game.wplayer.name, game.wrating, result, game.bplayer.name, game.brating, game.display_rated, game.display_timecontrol, game.game_type.display_text, game.display_time, game.sortable_time]) self.games[game] = {} self.games[game]["ti"] = ti self.games[game]["online_cid"] = game.opponent.connect( "notify::online", self.online_changed, game) self.games[game]["status_cid"] = game.opponent.connect( "notify::status", self.status_changed, game) if self.connection.stored_owner == self.connection.username and \ game.opponent.online: self._infobar_adjourned_message(game, game.opponent) return False def onHistoryGameAdded(self, adm, game): if game not in self.games: ti = self.store.append( [game, game.wplayer.name, game.wrating, reprResult[ game.result], game.bplayer.name, game.brating, game.display_rated, game.display_timecontrol, game.game_type.display_text, game.display_time, game.sortable_time]) self.games[game] = {} self.games[game]["ti"] = ti return False def onJournalGameAdded(self, adm, game): if game not in self.games: ti = self.store.append( [game, game.wplayer.name, game.wrating, reprResult[ game.result], game.bplayer.name, game.brating, game.display_rated, game.display_timecontrol, game.game_type.display_text, game.display_time, game.sortable_time]) self.games[game] = {} self.games[game]["ti"] = ti return False def onAdjournedGameRemoved(self, adm, game): if game in self.games: if self.store.iter_is_valid(self.games[game]["ti"]): self.store.remove(self.games[game]["ti"]) if game.opponent.handler_is_connected(self.games[game][ "online_cid"]): game.opponent.disconnect(self.games[game]["online_cid"]) if game.opponent.handler_is_connected(self.games[game][ "status_cid"]): game.opponent.disconnect(self.games[game]["status_cid"]) if game.opponent in self.messages: self.messages[game.opponent].dismiss() if game.opponent in self.messages: del self.messages[game.opponent] del self.games[game] return False def onHistoryGameRemoved(self, adm, game): if game in self.games: if self.store.iter_is_valid(self.games[game]["ti"]): self.store.remove(self.games[game]["ti"]) del self.games[game] return False def onJournalGameRemoved(self, adm, game): if game in self.games: if self.store.iter_is_valid(self.games[game]["ti"]): self.store.remove(self.games[game]["ti"]) del self.games[game] return False def onResignButtonClicked(self, button): model, sel_iter = self.tv.get_selection().get_selected() if sel_iter is None: return game = model.get_value(sel_iter, 0) self.connection.adm.resign(game) def onDrawButtonClicked(self, button): model, sel_iter = self.tv.get_selection().get_selected() if sel_iter is None: return game = model.get_value(sel_iter, 0) self.connection.adm.draw(game) def onAbortButtonClicked(self, button): model, sel_iter = self.tv.get_selection().get_selected() if sel_iter is None: return game = model.get_value(sel_iter, 0) self.connection.adm.abort(game) def onResumeButtonClicked(self, button): model, sel_iter = self.tv.get_selection().get_selected() if sel_iter is None: return game = model.get_value(sel_iter, 0) self.connection.adm.resume(game) def onPreviewButtonClicked(self, button): model, sel_iter = self.tv.get_selection().get_selected() if sel_iter is None: return game = model.get_value(sel_iter, 0) self.connection.adm.queryMoves(game) def onExamineButtonClicked(self, button): model, sel_iter = self.tv.get_selection().get_selected() if sel_iter is None: return game = model.get_value(sel_iter, 0) if self.connection.examined_game is None: self.connection.adm.examine(game) else: self.lounge.nonoWhileExamine(None) def onMygamesButtonClicked(self, button): self.connection.adm.queryAdjournments() self.connection.adm.queryHistory() self.connection.adm.queryJournal() def onGamePreview(self, adm, ficsgame): log.debug("Archived panel onGamePreview: %s" % ficsgame) timemodel = TimeModel(ficsgame.minutes * 60, ficsgame.inc) gamemodel = ICGameModel(self.connection, ficsgame, timemodel) # The players need to start listening for moves IN this method if they # want to be noticed of all moves the FICS server sends us from now on. # Hence the lazy loading is skipped. wplayer, bplayer = ficsgame.wplayer, ficsgame.bplayer player0tup = (REMOTE, ICPlayer, ( gamemodel, wplayer.name, -1, WHITE, wplayer.long_name(), wplayer.getRatingByGameType(ficsgame.game_type)), wplayer.long_name()) player1tup = (REMOTE, ICPlayer, ( gamemodel, bplayer.name, -1, BLACK, bplayer.long_name(), bplayer.getRatingByGameType(ficsgame.game_type)), bplayer.long_name()) perspective = perspective_manager.get_perspective("games") create_task(perspective.generalStart(gamemodel, player0tup, player1tup, ( StringIO(ficsgame.board.pgn), pgn, 0, -1))) gamemodel.connect("game_started", self.on_game_start, ficsgame) def on_game_start(self, gamemodel, ficsgame): gamemodel.end(ficsgame.result, ficsgame.reason) pychess-1.0.0/lib/pychess/Savers/0000755000175000017500000000000013467766037015750 5ustar varunvarunpychess-1.0.0/lib/pychess/Savers/txt.py0000644000175000017500000000214413365545272017133 0ustar varunvarun# -*- coding: utf-8 -*- from pychess.System import conf from pychess.Utils.const import FAN_PIECES, BLACK, WHITE __label__ = _("Text Diagram") __ending__ = "txt" __append__ = True def save(file, model, position=None, flip=False): """Export the current position into a .txt file using unicode chars""" data = model.boards[position].data[:] show_cords = conf.get("showCords") cords_side = "12345678" if flip else "87654321" cords_bottom = "hgfedcba" if flip else "abcdefgh" board = "" for j, row in enumerate(data if flip else reversed(data)): for i in range(8): piece = row.get(i) if piece is not None: if piece.color == BLACK: piece_fan = FAN_PIECES[BLACK][piece.piece] else: piece_fan = FAN_PIECES[WHITE][piece.piece] board += piece_fan else: board += "." if show_cords: board += cords_side[j] board += "\n" if show_cords: board += cords_bottom + "\n" print(board, file=file) file.close() pychess-1.0.0/lib/pychess/Savers/olv.py0000644000175000017500000001620713365545272017121 0ustar varunvarunimport collections from .ChessFile import ChessFile from pychess.Utils.Cord import Cord from pychess.Utils.GameModel import GameModel from pychess.Utils.lutils.LBoard import LBoard from pychess.Utils.const import DRAW, WHITEWON, BLACKWON, WAITING_TO_START, \ WHITE, BLACK, KING, QUEEN, ROOK, BISHOP, KNIGHT, PAWN __label__ = _("Chess Compositions from yacpdb.org") __ending__ = "olv" __append__ = True # Note S for the knights as N is reserverd for Nightriders chr2piece = {"K": KING, "Q": QUEEN, "R": ROOK, "B": BISHOP, "S": KNIGHT, "P": PAWN, } def save(handle, model, position=None): pass def load(handle): return OLVFile(handle) class OLVFile(ChessFile): def __init__(self, handle): ChessFile.__init__(self, handle) self.games = self.read_games(handle) self.count = len(self.games) def read_games(self, handle): """ We don't return games if stipulation is not 'mate in #' """ games = [] rec = None rec_id = 1 contains_fairy_pieces = False # authors is a more line list (each line starts with "-") in_authors = False # piece list are usually in one line list inside [] # but sometimes given in more line lists in_white = False in_black = False for line in handle: line = line.rstrip() if in_authors and ":" in line: in_authors = False elif in_white and ":" in line: in_white = False elif in_black and ":" in line: in_black = False rec["FEN"] = self.lboard.asFen() # New record start if line == "---": if rec is not None and rec["Black"].startswith("Mate in ") and not contains_fairy_pieces: games.append(rec) rec_id += 1 contains_fairy_pieces = False self.lboard = LBoard() self.lboard.applyFen("8/8/8/8/8/8/8/8 w - - 0 1") rec = collections.defaultdict(str) rec["Id"] = rec_id rec["Offset"] = 0 elif line.startswith("authors:"): in_authors = True elif line.startswith("source:"): rec["Event"] = line[8:] elif line.startswith("source-id:"): rec["Event"] = "%s (%s)" % (rec["Event"], line[12:]) elif line.startswith("date:"): parts = line[6:].split("-") parts_len = len(parts) if parts_len >= 3: rec["Day"] = parts[2] if parts_len >= 2: rec["Month"] = parts[1] if parts_len >= 1: rec["Year"] = parts[0] elif line.startswith("distinction:"): rec["Site"] = line[12:] elif line.startswith("algebraic:"): pass elif line.startswith(" white:"): parts = line.split("[") if len(parts) > 1: pieces = parts[1][:-1] for piece in pieces.split(", "): if piece.startswith("Royal") or piece[0] not in chr2piece: contains_fairy_pieces = True else: cord = Cord(piece[1:3]).cord piece = chr2piece[piece[0]] self.lboard._addPiece(cord, piece, WHITE) else: in_white = True elif line.startswith(" black:"): parts = line.split("[") if len(parts) > 1: pieces = parts[1][:-1] for piece in pieces.split(", "): if piece.startswith("Royal") or piece[0] not in chr2piece: contains_fairy_pieces = True else: cord = Cord(piece[1:3]).cord piece = chr2piece[piece[0]] self.lboard._addPiece(cord, piece, BLACK) rec["FEN"] = self.lboard.asFen() else: in_black = True elif line.startswith("stipulation:"): if line.endswith("Black to move"): line = line[:-14] rec["FEN"] = rec["FEN"].replace("w", "b") line = line.split(": ")[1] if "+" in line: rec["Result"] = WHITEWON rec["Black"] = "Win" elif "-" in line: rec["Result"] = BLACKWON rec["Black"] = "Win" elif "=" in line: rec["Result"] = DRAW rec["Black"] = "Draw" elif line.startswith('"#'): rec["Result"] = WHITEWON rec["Black"] = "Mate in %s" % line[2:-1] rec["Termination"] = "mate in %s" % line[2:-1] elif line.startswith("solution:"): # TODO: solutions can be in several (sometimes rather unusual) form pass else: if in_authors: author = line[line.find("-") + 1:].lstrip() if rec["White"]: rec["White"] = "%s - %s" % (rec["White"], author) else: rec["White"] = author elif in_white: piece = line[line.find("-") + 1:].lstrip() cord = Cord(piece[1:3]).cord piece = chr2piece[piece[0]] self.lboard._addPiece(cord, piece, WHITE) elif in_black: piece = line[line.find("-") + 1:].lstrip() cord = Cord(piece[1:3]).cord piece = chr2piece[piece[0]] self.lboard._addPiece(cord, piece, BLACK) # Append the latest record if rec is not None and rec["Black"].startswith("Mate in ") and not contains_fairy_pieces: games.append(rec) return games def loadToModel(self, rec, position, model=None): if not model: model = GameModel() model.tags['Event'] = rec["Event"] model.tags['Site'] = rec["Site"] model.tags['Date'] = self.get_date(rec) model.tags['Round'] = "" model.tags['White'] = "?" model.tags['Black'] = "?" model.tags['Termination'] = rec["Termination"] fen = rec["FEN"] model.boards = [model.variant(setup=fen)] model.variations = [model.boards] model.status = WAITING_TO_START return model def get_date(self, rec): year = rec['Year'] month = rec['Month'] day = rec['Day'] if year and month and day: tag_date = "%s.%02d.%02d" % (year, int(month), int(day)) elif year and month: tag_date = "%s.%02d" % (year, int(month)) elif year: tag_date = "%s" % year else: tag_date = "" return tag_date pychess-1.0.0/lib/pychess/Savers/chesspastebin.py0000644000175000017500000000446213457602042021143 0ustar varunvarunfrom io import StringIO from urllib.error import URLError from urllib.parse import urlencode from urllib.request import Request, urlopen from gi.repository import Gdk, Gtk from pychess.Utils.const import NAME, UNDOABLE_STATES from pychess.Savers import pgn from pychess.widgets import mainwindow URL = "https://www.chesspastebin.com/api/add/" APIKEY = "a137d919b75c8766b082367610189358cfb1ba70" def paste(gamemodel): dialog = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.QUESTION, buttons=Gtk.ButtonsType.YES_NO) if gamemodel.status in UNDOABLE_STATES: text = _("The current game is over. First, please verify the properties of the game.") else: text = _("The current game is not terminated. Its export may have a limited interest.") text += "\n\n" + _("Should %s publicly publish your game as PGN on chesspastebin.com ?") % NAME dialog.set_markup(text) response = dialog.run() dialog.destroy() if response != Gtk.ResponseType.YES: return output = StringIO() text = pgn.save(output, gamemodel) values = {'apikey': APIKEY, 'pgn': text, "name": "PyChess", 'sandbox': 'false'} data = urlencode(values).encode('utf-8') req = Request(URL, data) try: response = urlopen(req, timeout=10) except URLError as err: if hasattr(err, 'reason'): print('We failed to reach the server.') print('Reason: ', err.reason) elif hasattr(err, 'code'): print('The server couldn\'t fulfill the request.') print('Error code: ', err.code) else: ID = response.read() link = "http://www.chesspastebin.com/?p=%s" % int(ID) clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) clipboard.set_text(link, -1) # print(text) # print(clipboard.wait_for_text()) msg_dialog = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.INFO, buttons=Gtk.ButtonsType.OK) msg = _( "Game shared at ") + 'chesspastebin.com' % link msg_dialog.set_markup(msg) msg_dialog.format_secondary_text(_("(Link is available on clipboard.)")) msg_dialog.connect("response", lambda msg_dialog, a: msg_dialog.hide()) msg_dialog.show() pychess-1.0.0/lib/pychess/Savers/png.py0000644000175000017500000000222513365545272017100 0ustar varunvarun# -*- coding: UTF-8 -*- import math import cairo from pychess.System import conf from pychess.widgets.BoardView import BoardView, matrixAround __label__ = _("Png image") __ending__ = "png" __append__ = False SQUARE = 40 def save(file, model, position=None, flip=False): """Export the current position into a .png file""" show_cords = conf.get("showCords") boardview = BoardView(model) padding = int(SQUARE / 4) if show_cords else 0 width = SQUARE * 8 + padding * 2 height = SQUARE * 8 + padding * 2 surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, width, height) context = cairo.Context(surface) boardview.shown = position boardview.square = 0 + padding, 0 + padding, SQUARE * 8, SQUARE if flip: boardview._rotation = math.pi boardview.matrix = cairo.Matrix.init_rotate(math.pi) boardview.matrix, boardview.invmatrix = matrixAround(boardview.matrix, width / 2., height / 2.) context.transform(boardview.matrix) boardview.drawBoard(context, None) boardview.drawPieces(context, None) if show_cords: boardview.drawCords(context, None) surface.write_to_png(file.name) pychess-1.0.0/lib/pychess/Savers/__init__.py0000755000175000017500000000012613365545272020054 0ustar varunvarun__all__ = ["fen", "epd", "pgn", 'olv', 'png', 'html', 'txt'] # chessalpha2 is broken pychess-1.0.0/lib/pychess/Savers/remotegame.py0000644000175000017500000012140213461422625020431 0ustar varunvarunimport os import re import json from urllib.request import Request, urlopen from urllib.parse import urlparse, parse_qs from html.parser import HTMLParser import asyncio import websockets import base64 import string import random from pychess import VERSION from pychess.Utils.const import FISCHERRANDOMCHESS from pychess.Utils.lutils.LBoard import LBoard from pychess.Utils.lutils.lmove import parseAny, toSAN from pychess.System.Log import log # import pdb # def _(p): # return p # VERSION = '1.0' # import ssl # ssl._create_default_https_context = ssl._create_unverified_context TYPE_NONE, TYPE_GAME, TYPE_STUDY, TYPE_PUZZLE = range(4) # Abstract class to download a game from the Internet class InternetGameInterface: # Internal def __init__(self): self.id = None self.userAgent = 'PyChess %s' % VERSION def is_enabled(self): return True def get_game_id(self): return self.id def reacts_to(self, url, host): # Verify the hostname if url is None: return False parsed = urlparse(url) if parsed.netloc.lower() not in ['www.' + host.lower(), host.lower()]: return False # Any page is valid self.id = url return True def json_loads(self, data): try: if data is None or data == '': return None return json.loads(data) except ValueError: return None def json_field(self, data, path): if data is None or data == '': return '' keys = path.split('/') value = data for key in keys: if key in value: value = value[key] else: return '' if value is None: return '' else: return value def read_data(self, response): # Check if response is None: return None bytes = response.read() # Decode cs = response.info().get_content_charset() if cs is not None: data = bytes.decode(cs) else: try: data = bytes.decode('utf-8') except Exception: try: data = bytes.decode('latin-1') except Exception: data = None # Result data = data.replace("\ufeff", "").replace("\r", '').strip() if data == '': return None else: return data def download(self, url, userAgent=False): # Check if url is None or url == '': return None # Download try: log.debug('Downloading game: %s' % url) if userAgent: req = Request(url, headers={'User-Agent': self.userAgent}) response = urlopen(req) else: response = urlopen(url) return self.read_data(response) except Exception as exception: log.debug('Exception raised: %s' % repr(exception)) return None def download_list(self, links, userAgent=False): pgn = '' for i, link in enumerate(links): data = self.download(link, userAgent) if data not in [None, '']: pgn += '%s\n\n' % data if i >= 10: # Anti-flood break if pgn == '': return None else: return pgn def async_from_sync(self, coro): curloop = asyncio.get_event_loop() loop = asyncio.new_event_loop() asyncio.set_event_loop(loop) result = loop.run_until_complete(coro) loop.close() asyncio.set_event_loop(curloop) return result def rebuild_pgn(self, game): # Check if game is None or game == '' or '_moves' not in game or game['_moves'] == '': return None # Header pgn = '' for e in game: if e[:1] != '_' and game[e] not in [None, '']: pgn += '[%s "%s"]\n' % (e, game[e]) if pgn == '': pgn = '[Annotator "%s"]\n' % self.userAgent pgn += "\n" # Body if '_url' in game: pgn += "{%s}\n" % game['_url'] if '_moves' in game: pgn += '%s ' % game['_moves'] if '_reason' in game: pgn += '{%s} ' % game['_reason'] if 'Result' in game: pgn += '%s ' % game['Result'] return pgn.strip() # External def get_description(self): pass def assign_game(self, url): pass def download_game(self): pass # Lichess.org class InternetGameLichess(InternetGameInterface): def __init__(self): InternetGameInterface.__init__(self) self.url_type = TYPE_NONE self.url_tld = 'org' def get_description(self): return 'Lichess.org -- %s' % _('Download link') def assign_game(self, url): # Retrieve the ID of the study rxp = re.compile('^https?:\/\/([\S]+\.)?lichess\.(org|dev)\/study\/([a-z0-9]+(\/[a-z0-9]+)?)(\.pgn)?\/?([\S\/]+)?$', re.IGNORECASE) m = rxp.match(url) if m is not None: gid = m.group(3) if len(gid) in [8, 17]: self.url_type = TYPE_STUDY self.id = gid self.url_tld = m.group(2) return True # Retrieve the ID of the puzzle rxp = re.compile('^https?:\/\/([\S]+\.)?lichess\.(org|dev)\/training\/([0-9]+|daily)[\/\?\#]?', re.IGNORECASE) m = rxp.match(url) if m is not None: gid = m.group(3) if (gid.isdigit() and gid != '0') or gid == 'daily': self.url_type = TYPE_PUZZLE self.id = gid self.url_tld = m.group(2) return True # Retrieve the ID of the game rxp = re.compile('^https?:\/\/([\S]+\.)?lichess\.(org|dev)\/(game\/export\/)?([a-z0-9]+)\/?([\S\/]+)?$', re.IGNORECASE) # More permissive m = rxp.match(url) if m is not None: gid = m.group(4) if len(gid) == 8: self.url_type = TYPE_GAME self.id = gid self.url_tld = m.group(2) return True # Nothing found return False def download_game(self): # Check if None in [self.id, self.url_tld]: return None # Logic for the games if self.url_type == TYPE_GAME: url = 'https://lichess.%s/game/export/%s?literate=1' % (self.url_tld, self.id) return self.download(url) # Logic for the studies elif self.url_type == TYPE_STUDY: url = 'https://lichess.%s/study/%s.pgn' % (self.url_tld, self.id) return self.download(url, userAgent=True) # Logic for the puzzles elif self.url_type == TYPE_PUZZLE: url = 'https://lichess.%s/training/%s' % (self.url_tld, self.id) page = self.download(url) if page is None: return None # Extract the JSON page = page.replace("\n", '') pos1 = page.find("lichess.puzzle =") if pos1 == -1: return None pos1 = page.find('"game"', pos1 + 1) if pos1 == -1: return None c = 1 pos2 = pos1 while pos2 < len(page): pos2 += 1 if page[pos2] == '{': c += 1 if page[pos2] == '}': c -= 1 if c == 0: break if c != 0: return None # Header bourne = page[pos1 - 1:pos2 + 1] chessgame = self.json_loads(bourne) puzzle = self.json_field(chessgame, 'puzzle') if puzzle == '': return None game = {} game['_url'] = 'https://lichess.%s/%s#%s' % (self.url_tld, self.json_field(puzzle, 'gameId'), self.json_field(puzzle, 'initialPly')) game['Site'] = 'lichess.%s' % self.url_tld rating = self.json_field(puzzle, 'rating') game['Event'] = 'Puzzle %d, rated %s' % (self.json_field(puzzle, 'id'), rating) game['Result'] = '*' game['X_ID'] = self.json_field(puzzle, 'id') game['X_TimeControl'] = self.json_field(chessgame, 'game/clock') game['X_Rating'] = rating game['X_Attempts'] = self.json_field(puzzle, 'attempts') game['X_Vote'] = self.json_field(puzzle, 'vote') # Players players = self.json_field(chessgame, 'game/players') if not isinstance(players, list): return None for p in players: if p['color'] == 'white': t = 'White' elif p['color'] == 'black': t = 'Black' else: return None pos1 = p['name'].find(' (') if pos1 == -1: game[t] = p['name'] else: game[t] = p['name'][:pos1] game[t + 'Elo'] = p['name'][pos1 + 2:-1] # Moves moves = self.json_field(chessgame, 'game/treeParts') if not isinstance(moves, list): return None game['_moves'] = '' for m in moves: if m['ply'] in [0, '0']: game['SetUp'] = '1' game['FEN'] = m['fen'] else: game['_moves'] += '%s ' % m['san'] # Solution game['_moves'] += ' {Solution: ' puzzle = self.json_field(puzzle, 'branch') while True: game['_moves'] += '%s ' % self.json_field(puzzle, 'san') puzzle = self.json_field(puzzle, 'children') if len(puzzle) == 0: break puzzle = puzzle[0] game['_moves'] += '}' # Rebuild the PGN game return self.rebuild_pgn(game) else: return None # Never reached # ChessGames.com class InternetGameChessgames(InternetGameInterface): def __init__(self): InternetGameInterface.__init__(self) self.computer = False def get_description(self): return 'ChessGames.com -- %s' % _('Download link') def assign_game(self, url): # Verify the hostname parsed = urlparse(url) if parsed.netloc.lower() not in ['www.chessgames.com', 'chessgames.com']: return False # Read the arguments args = parse_qs(parsed.query) if 'gid' in args: gid = args['gid'][0] if gid.isdigit() and gid != '0': self.id = gid self.computer = ('comp' in args) and (args['comp'][0] == '1') return True return False def download_game(self): # Check if self.id is None: return None # First try with computer analysis url = 'http://www.chessgames.com/pgn/pychess.pgn?gid=' + self.id if self.computer: pgn = self.download(url + '&comp=1') if pgn in [None, ''] or 'NO SUCH GAME' in pgn: self.computer = False else: return pgn # Second try without computer analysis if not self.computer: pgn = self.download(url) if pgn in [None, ''] or 'NO SUCH GAME' in pgn: return None else: return pgn # FicsGames.org class InternetGameFicsgames(InternetGameInterface): def get_description(self): return 'FicsGames.org -- %s' % _('Download link') def assign_game(self, url): # Verify the URL parsed = urlparse(url) if parsed.netloc.lower() not in ['www.ficsgames.org', 'ficsgames.org'] or 'show' not in parsed.path.lower(): return False # Read the arguments args = parse_qs(parsed.query) if 'ID' in args: gid = args['ID'][0] if gid.isdigit() and gid != '0': self.id = gid return True return False def download_game(self): # Check if self.id is None: return None # Download pgn = self.download('http://ficsgames.org/cgi-bin/show.cgi?ID=%s;action=save' % self.id) if pgn in [None, ''] or 'not found in GGbID' in pgn: return None else: return pgn # ChessTempo.com class InternetGameChesstempo(InternetGameInterface): def get_description(self): return 'ChessTempo.com -- %s' % _('Download link') def assign_game(self, url): rxp = re.compile('^https?:\/\/(\S+\.)?chesstempo\.com\/gamedb\/game\/(\d+)\/?([\S\/]+)?$', re.IGNORECASE) m = rxp.match(url) if m is not None: gid = str(m.group(2)) if gid.isdigit() and gid != '0': self.id = gid return True return False def download_game(self): # Check if self.id is None: return None # Download pgn = self.download('http://chesstempo.com/requests/download_game_pgn.php?gameids=%s' % self.id, userAgent=True) # Else a random game is retrieved if pgn is None or len(pgn) <= 128: return None else: return pgn # Chess24.com class InternetGameChess24(InternetGameInterface): def __init__(self): InternetGameInterface.__init__(self) self.use_an = True # True to rebuild a readable PGN def get_description(self): return 'Chess24.com -- %s' % _('HTML parsing') def assign_game(self, url): rxp = re.compile('^https?:\/\/chess24\.com\/[a-z]+\/(analysis|game|download-game)\/([a-z0-9\-_]+)[\/\?\#]?', re.IGNORECASE) m = rxp.match(url) if m is not None: gid = str(m.group(2)) if len(gid) == 22: self.id = gid return True return False def download_game(self): # Download the page if self.id is None: return None url = 'https://chess24.com/en/game/%s' % self.id page = self.download(url, userAgent=True) # Else HTTP 403 Forbidden if page is None: return None # Extract the JSON of the game lines = page.split("\n") for line in lines: line = line.strip() pos1 = line.find('.initGameSession({') pos2 = line.find('});', pos1) if -1 in [pos1, pos2]: continue # Read the game from JSON bourne = self.json_loads(line[pos1 + 17:pos2 + 1]) chessgame = self.json_field(bourne, 'chessGame') moves = self.json_field(chessgame, 'moves') if '' in [chessgame, moves]: continue # Build the header of the PGN file game = {} game['_moves'] = '' game['_url'] = url game['Event'] = self.json_field(chessgame, 'meta/Event') game['Site'] = self.json_field(chessgame, 'meta/Site') game['Date'] = self.json_field(chessgame, 'meta/Date') game['Round'] = self.json_field(chessgame, 'meta/Round') game['White'] = self.json_field(chessgame, 'meta/White/Name') game['WhiteElo'] = self.json_field(chessgame, 'meta/White/Elo') game['Black'] = self.json_field(chessgame, 'meta/Black/Name') game['BlackElo'] = self.json_field(chessgame, 'meta/Black/Elo') game['Result'] = self.json_field(chessgame, 'meta/Result') # Build the PGN board = LBoard(variant=FISCHERRANDOMCHESS) head_complete = False for move in moves: # Info from the knot kid = self.json_field(move, 'knotId') if kid == '': break kmove = self.json_field(move, 'move') # FEN initialization if kid == 0: kfen = self.json_field(move, 'fen') if kfen == '': break try: board.applyFen(kfen) except Exception: return None game['Variant'] = 'Fischerandom' game['SetUp'] = '1' game['FEN'] = kfen head_complete = True else: if not head_complete: return None # Execution of the move if kmove == '': break try: if self.use_an: kmove = parseAny(board, kmove) game['_moves'] += toSAN(board, kmove) + ' ' board.applyMove(kmove) else: game['_moves'] += kmove + ' ' except Exception: return None # Rebuild the PGN game return self.rebuild_pgn(game) return None # 365chess.com class InternetGame365chess(InternetGameInterface): def get_description(self): return '365chess.com -- %s' % _('HTML parsing') def assign_game(self, url): # Verify the URL parsed = urlparse(url) if parsed.netloc.lower() not in ['www.365chess.com', '365chess.com'] or 'view_game' not in parsed.path.lower(): return False # Read the arguments args = parse_qs(parsed.query) if 'g' in args: gid = args['g'][0] if gid.isdigit() and gid != '0': self.id = gid return True return False def download_game(self): # Download if self.id is None: return None url = 'https://www.365chess.com/view_game.php?g=%s' % self.id page = self.download(url) if page is None: return None # Played moves game = {} pos1 = page.find(".ApplyPgnMoveText('") pos2 = page.find("')", pos1) if -1 in [pos1, pos2]: return None game['_moves'] = page[pos1 + 19:pos2] # Header game['_url'] = url lines = page.split("\n") for line in lines: line = line.strip() if line.startswith('

') and line.endswith('

'): rxp = re.compile('^([\w\-\s]+) \(([0-9]+)\) vs\. ([\w\-\s]+) \(([0-9]+)\)$', re.IGNORECASE) m = rxp.match(line[12:-15]) if m is None: game['White'] = _('Unknown') game['Black'] = _('Unknown') else: game['White'] = str(m.group(1)) game['WhiteElo'] = str(m.group(2)) game['Black'] = str(m.group(3)) game['BlackElo'] = str(m.group(4)) continue if line.startswith('

') and line.endswith('

'): list = line[12:-15].split(' · ') game['Event'] = list[0] game['Opening'] = list[1] game['Result'] = list[2].replace('½', '1/2') continue # Rebuild the PGN game return self.rebuild_pgn(game) # ChessPastebin.com class InternetGameChesspastebin(InternetGameInterface): def get_description(self): return 'ChessPastebin.com -- %s' % _('HTML parsing') def assign_game(self, url): return self.reacts_to(url, 'chesspastebin.com') def download_game(self): # Download if self.id is None: return None page = self.download(self.id) if page is None: return None # Extract the game ID rxp = re.compile('.*?\
\<\/div\>.*?', flags=re.IGNORECASE) m = rxp.match(page.replace("\n", '')) if m is None: return None gid = m.group(1) # Definition of the parser class chesspastebinparser(HTMLParser): def __init__(self): HTMLParser.__init__(self) self.tag_ok = False self.pgn = None def handle_starttag(self, tag, attrs): if tag.lower() == 'div': for k, v in attrs: if k.lower() == 'id' and v == gid: self.tag_ok = True def handle_data(self, data): if self.pgn is None and self.tag_ok: self.pgn = data # Read the PGN parser = chesspastebinparser() parser.feed(page) pgn = parser.pgn if pgn is not None: # Any game must start with '[' to be considered further as valid pgn = pgn.strip() if not pgn.startswith('['): pgn = "[Annotator \"ChessPastebin.com\"]\n%s" % pgn return pgn # ChessBomb.com class InternetGameChessbomb(InternetGameInterface): def get_description(self): return 'ChessBomb.com -- %s' % _('HTML parsing') def assign_game(self, url): return self.reacts_to(url, 'chessbomb.com') def download_game(self): # Download if self.id is None: return None url = self.id page = self.download(url, userAgent=True) # Else HTTP 403 Forbidden if page is None: return None # Definition of the parser class chessbombparser(HTMLParser): def __init__(self): HTMLParser.__init__(self) self.last_tag = None self.json = None def handle_starttag(self, tag, attrs): self.last_tag = tag.lower() def handle_data(self, data): if self.json is None and self.last_tag == 'script': pos1 = data.find('cbConfigData') if pos1 == -1: return pos1 = data.find('"', pos1) pos2 = data.find('"', pos1 + 1) if -1 not in [pos1, pos2]: try: self.json = base64.b64decode(data[pos1 + 1:pos2]).decode().strip() self.json = json.loads(self.json) except Exception: self.json = None return # Get the JSON parser = chessbombparser() parser.feed(page) if parser.json is None: return None # Interpret the JSON header = self.json_field(parser.json, 'gameData/game') room = self.json_field(parser.json, 'gameData/room') moves = self.json_field(parser.json, 'gameData/moves') if '' in [header, room, moves]: return None game = {} game['_url'] = url game['Event'] = self.json_field(room, 'name') game['Site'] = self.json_field(room, 'officialUrl') game['Date'] = self.json_field(header, 'startAt')[:10] game['Round'] = self.json_field(header, 'roundSlug') game['White'] = self.json_field(header, 'white/name') game['WhiteElo'] = self.json_field(header, 'white/elo') game['Black'] = self.json_field(header, 'black/name') game['BlackElo'] = self.json_field(header, 'black/elo') game['Result'] = self.json_field(header, 'result') game['_moves'] = '' for move in moves: move = self.json_field(move, 'cbn') pos1 = move.find('_') if pos1 == -1: break game['_moves'] += move[pos1 + 1:] + ' ' # Rebuild the PGN game return self.rebuild_pgn(game) # TheChessWorld.com class InternetGameThechessworld(InternetGameInterface): def get_description(self): return 'TheChessWorld.com -- %s' % _('Download link') def assign_game(self, url): return self.reacts_to(url, 'thechessworld.com') def download_game(self): # Check if self.id is None: return None # Find the links links = [] if self.id.lower().endswith('.pgn'): links.append(self.id) else: # Download the page data = self.download(self.id) if data is None: return None # Finds the games rxp = re.compile(".*pgn_uri:.*'([^']+)'.*", re.IGNORECASE) list = data.split("\n") for line in list: m = rxp.match(line) if m is not None: links.append('https://www.thechessworld.com' + m.group(1)) # Collect the games return self.download_list(links) # Chess.org class InternetGameChessOrg(InternetGameInterface): def __init__(self): InternetGameInterface.__init__(self) self.use_an = True # True to rebuild a readable PGN def get_description(self): return 'Chess.org -- %s' % _('Websockets') def assign_game(self, url): rxp = re.compile('^https?:\/\/chess\.org\/play\/([a-f0-9\-]+)[\/\?\#]?', re.IGNORECASE) m = rxp.match(url) if m is not None: id = str(m.group(1)) if len(id) == 36: self.id = id return True return False def download_game(self): # Check if self.id is None: return None # Fetch the page to retrieve the encrypted user name url = 'https://chess.org/play/%s' % self.id page = self.download(url) if page is None: return None lines = page.split("\n") name = '' for line in lines: pos1 = line.find('encryptedUsername') if pos1 != -1: pos1 = line.find("'", pos1) pos2 = line.find("'", pos1 + 1) if pos2 > pos1: name = line[pos1 + 1:pos2] break if name == '': return None # Random elements to get a unique URL rndI = random.randint(1, 1000) rndS = ''.join(random.choice(string.ascii_lowercase) for i in range(8)) # Open a websocket to retrieve the chess data @asyncio.coroutine def coro(): url = 'wss://chess.org:443/play-sockjs/%d/%s/websocket' % (rndI, rndS) log.debug('Websocket connecting to %s' % url) ws = yield from websockets.connect(url, origin="https://chess.org:443") try: # Server: Hello data = yield from ws.recv() if data != 'o': # Open yield from ws.close() return None # Client: I am XXX, please open the game YYY yield from ws.send('["%s %s"]' % (name, self.id)) data = yield from ws.recv() # Server: some data if data[:1] != 'a': yield from ws.close() return None return data[3:-2] finally: yield from ws.close() data = self.async_from_sync(coro()) if data is None or data == '': return None # Parses the game chessgame = self.json_loads(data.replace('\\"', '"')) game = {} game['_url'] = url board = LBoard(variant=FISCHERRANDOMCHESS) # Player info if self.json_field(chessgame, 'creatorColor') == '1': # White=1, Black=0 creator = 'White' opponent = 'Black' else: creator = 'Black' opponent = 'White' game[creator] = self.json_field(chessgame, 'creatorId') elo = self.json_field(chessgame, 'creatorPoint') if elo not in ['', '0', 0]: game[creator + 'Elo'] = elo game[opponent] = self.json_field(chessgame, 'opponentId') elo = self.json_field(chessgame, 'opponentPoint') if elo not in ['', '0', 0]: game[opponent + 'Elo'] = elo # Game info startPos = self.json_field(chessgame, 'startPos') if startPos not in ['', 'startpos']: game['SetUp'] = '1' game['FEN'] = startPos game['Variant'] = 'Fischerandom' try: board.applyFen(startPos) except Exception: return None else: board.applyFen('rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w AHah - 0 1') time = self.json_field(chessgame, 'timeLimitSecs') inc = self.json_field(chessgame, 'timeBonusSecs') if '' not in [time, inc]: game['TimeControl'] = '%s+%s' % (time, inc) resultTable = [(0, '*', 'Game started'), (1, '1-0', 'White checkmated'), (2, '0-1', 'Black checkmated'), (3, '1/2-1/2', 'Stalemate'), (5, '1/2-1/2', 'Insufficient material'), (8, '1/2-1/2', 'Mutual agreement'), (9, '0-1', 'White resigned'), (10, '1-0', 'Black resigned'), (13, '1-0', 'White out of time'), (14, '0-1', 'Black out of time')] # TODO List to be completed state = self.json_field(chessgame, 'state') result = '*' reason = 'Unknown reason %d' % state for rtID, rtScore, rtMsg in resultTable: if rtID == state: result = rtScore reason = rtMsg break game['Result'] = result game['_reason'] = reason # Moves game['_moves'] = '' moves = self.json_field(chessgame, 'lans') if moves == '': return None moves = moves.split(' ') for move in moves: try: if self.use_an: move = parseAny(board, move) game['_moves'] += toSAN(board, move) + ' ' board.applyMove(move) else: game['_moves'] += move + ' ' except Exception: return None # Rebuild the PGN game return self.rebuild_pgn(game) # Europe-Echecs.com class InternetGameEuropeechecs(InternetGameInterface): def __init__(self): InternetGameInterface.__init__(self) def get_description(self): return 'Europe-Echecs.com -- %s' % _('Download link') def assign_game(self, url): return self.reacts_to(url, 'europe-echecs.com') def download_game(self): # Check if self.id is None: return None # Find the links links = [] if self.id.lower().endswith('.pgn'): links.append(self.id) else: # Download the page page = self.download(self.id) if page is None: return None # Find the chess widgets rxp = re.compile(".*class=\"cbwidget\"\s+id=\"([0-9a-f]+)_container\".*", re.IGNORECASE) list = page.split("\n") for line in list: m = rxp.match(line) if m is not None: links.append('https://www.europe-echecs.com/embed/doc_%s.pgn' % m.group(1)) # Collect the games return self.download_list(links) # GameKnot.com class InternetGameGameknot(InternetGameInterface): def __init__(self): InternetGameInterface.__init__(self) self.use_an = True # True to rebuild a readable PGN def get_description(self): return 'GameKnot.com -- %s' % _('HTML parsing') def assign_game(self, url): # Verify the URL parsed = urlparse(url) if parsed.netloc.lower() not in ['www.gameknot.com', 'gameknot.com']: return False if 'chess.pl' not in parsed.path.lower() and 'analyze-board.pl' not in parsed.path.lower(): return False # Read the arguments args = parse_qs(parsed.query) if 'bd' in args: gid = args['bd'][0] if gid.isdigit() and gid != '0': self.id = gid return True return False def download_game(self): # Check if self.id is None: return None # Download url = 'https://gameknot.com/analyze-board.pl?bd=%s' % self.id page = self.download(url, userAgent=True) if page is None: return None # Header game = {} structure = [('anbd_movelist', 's', '_moves'), ('anbd_result', 'i', 'Result'), ('anbd_player_w', 's', 'White'), ('anbd_player_b', 's', 'Black'), ('anbd_rating_w', 'i', 'WhiteElo'), ('anbd_rating_b', 'i', 'BlackElo'), ('anbd_title', 's', 'Event'), ('anbd_timestamp', 's', 'Date'), ('export_web_input_result_text', 's', '_reason')] for var, type, tag in structure: game[tag] = '' game['_url'] = url lines = page.split(';') for line in lines: for var, type, tag in structure: if var not in line.lower(): continue if type == 's': pos1 = line.find("'") pos2 = line.find("'", pos1 + 1) if pos2 > pos1: game[tag] = line[pos1 + 1:pos2] elif type == 'i': pos1 = line.find("=") if pos1 != -1: txt = line[pos1 + 1:].strip() if txt not in ['', '0']: game[tag] = txt else: return None if game['Result'] == '1': game['Result'] = '1-0' elif game['Result'] == '2': game['Result'] = '1/2-1/2' elif game['Result'] == '3': game['Result'] = '0-1' else: game['Result'] = '*' # Body board = LBoard() board.applyFen('rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1') moves = game['_moves'].split('-') game['_moves'] = '' for move in moves: if move == '': break try: if self.use_an: kmove = parseAny(board, move) game['_moves'] += toSAN(board, kmove) + ' ' board.applyMove(kmove) else: game['_moves'] += move + ' ' except Exception: return None # Rebuild the PGN game return self.rebuild_pgn(game) # Chess.com class InternetGameChessCom(InternetGameInterface): def __init__(self): InternetGameInterface.__init__(self) self.url_type = None self.use_an = True # True to rebuild a readable PGN def get_description(self): return 'Chess.com -- %s' % _('HTML parsing') def assign_game(self, url): rxp = re.compile('^https?:\/\/([\S]+\.)?chess\.com\/([a-z]+\/)?(live|daily)\/game\/([0-9]+)[\/\?\#]?', re.IGNORECASE) m = rxp.match(url) if m is not None: self.url_type = m.group(3) self.id = m.group(4) return True return False def download_game(self): # Check if None in [self.id, self.url_type]: return None # Download url = 'https://www.chess.com/%s/game/%s' % (self.url_type, self.id) page = self.download(url, userAgent=True) # Else 403 Forbidden if page is None: return None # Logic for the live games if self.url_type.lower() == 'live': # Extract the JSON page = page.replace("\n", '') pos1 = page.find("init('live'") if pos1 == -1: return None pos1 = page.find('{', pos1 + 1) pos1 = page.find('{', pos1 + 1) if pos1 == -1: return None c = 1 pos2 = pos1 while pos2 < len(page): pos2 += 1 if page[pos2] == '{': c += 1 if page[pos2] == '}': c -= 1 if c == 0: break if c != 0: return None # Extract the PGN bourne = page[pos1:pos2 + 1].replace('"', '"').replace('\\r', '') chessgame = self.json_loads(bourne) pgn = self.json_field(chessgame, 'pgn').replace('\\n', "\n") if pgn == '': return None else: return pgn # Logic for the daily games elif self.url_type.lower() == 'daily': return None else: return None # Never reached # Generic class InternetGameGeneric(InternetGameInterface): def get_description(self): return 'Generic -- %s' % _('Various techniques') def assign_game(self, url): # Any page is valid self.id = url return True def download_game(self): # Check if self.id is None: return None # Download req = Request(self.id, headers={'User-Agent': self.userAgent}) response = urlopen(req) mime = response.info().get_content_type().lower() data = self.read_data(response) if data is None: return None # Chess file if mime == 'application/x-chess-pgn': return data # Web-page if mime == 'text/html': # Definition of the parser class linksParser(HTMLParser): def __init__(self): HTMLParser.__init__(self) self.links = [] def handle_starttag(self, tag, attrs): if tag.lower() == 'a': for k, v in attrs: if k.lower() == 'href': v = v.strip() u = urlparse(v) if u.path.lower().endswith('.pgn'): self.links.append(v) # Read the links parser = linksParser() parser.feed(data) # Rebuild a full path base = urlparse(self.id) for i, link in enumerate(parser.links): e = urlparse(link) if e.netloc == '': url = '%s://%s/%s' % (base.scheme, base.netloc, e.path) else: url = link parser.links[i] = url # Collect the games return self.download_list(parser.links) return None # Interface chess_providers = [InternetGameLichess(), InternetGameChessgames(), InternetGameFicsgames(), InternetGameChesstempo(), InternetGameChess24(), InternetGame365chess(), InternetGameChesspastebin(), InternetGameChessbomb(), InternetGameThechessworld(), InternetGameChessOrg(), InternetGameEuropeechecs(), InternetGameGameknot(), InternetGameChessCom(), InternetGameGeneric()] # Get the list of chess providers def get_internet_game_providers(): list = [cp.get_description() for cp in chess_providers] list.sort() return list # Retrieve a game from a URL def get_internet_game_as_pgn(url): # Check the format if url is None: return None p = urlparse(url.strip()) if '' in [p.scheme, p.netloc]: return None # Download a game for each provider for prov in chess_providers: if not prov.is_enabled(): continue if prov.assign_game(url): try: pgn = prov.download_game() except Exception: pgn = None if pgn is None: continue # Verify that it starts with the correct magic character (ex.: "<" denotes an HTML content, "[" a chess game, etc...) pgn = pgn.strip() if not pgn.startswith('['): return None # Reorganize the spaces to bypass Scoutfish's limitation lc = len(pgn) while (True): pgn = pgn.replace("\n\n\n", "\n\n") lcn = len(pgn) if lcn == lc: break lc = lcn # Extract the first game pos = pgn.find("\n\n[") # TODO Support in-memory database to load several games at once if pos != -1: pgn = pgn[:pos] # Return the PGN with the local crlf return pgn.replace("\n", os.linesep) return None # print(get_internet_game_as_pgn('')) pychess-1.0.0/lib/pychess/Savers/epd.py0000755000175000017500000001344613365545272017076 0ustar varunvarunimport collections from .ChessFile import ChessFile, LoadingError from pychess.Utils.GameModel import GameModel from pychess.Utils.const import WHITE, BLACK, WON_RESIGN, WAITING_TO_START, BLACKWON, WHITEWON, DRAW, FISCHERRANDOMCHESS from pychess.Utils.logic import getStatus from pychess.Utils.lutils.leval import evaluateComplete from pychess.Variants.fischerandom import FischerandomBoard __label__ = _("Chess Position") __ending__ = "epd" __append__ = True def save(handle, model, position=None, flip=False): """Saves game to file in fen format""" color = model.boards[-1].color fen = model.boards[-1].asFen().split(" ") # First four parts of fen are the same in epd handle.write(" ".join(fen[:4])) ############################################################################ # Repetition count # ############################################################################ rep_count = model.boards[-1].board.repetitionCount() ############################################################################ # Centipawn evaluation # ############################################################################ if model.status == WHITEWON: if color == WHITE: ceval = 32766 else: ceval = -32766 elif model.status == BLACKWON: if color == WHITE: ceval = -32766 else: ceval = 32766 elif model.status == DRAW: ceval = 0 else: ceval = evaluateComplete(model.boards[-1].board, model.boards[-1].color) ############################################################################ # Opcodes # ############################################################################ opcodes = ( ("fmvn", fen[5]), # In fen full move number is the 6th field ("hmvc", fen[4]), # In fen halfmove clock is the 5th field # Email and name of receiver and sender. We don't know the email. ("tcri", "?@?.? %s" % repr(model.players[color]).replace(";", "")), ("tcsi", "?@?.? %s" % repr(model.players[1 - color]).replace(";", "")), ("ce", ceval), ("rc", rep_count), ) for key, value in opcodes: handle.write(" %s %s;" % (key, value)) ############################################################################ # Resign opcode # ############################################################################ if model.status in (WHITEWON, BLACKWON) and model.reason == WON_RESIGN: handle.write(" resign;") print("", file=handle) handle.close() def load(handle): return EpdFile(handle) class EpdFile(ChessFile): def __init__(self, handle): ChessFile.__init__(self, handle) self.games = [self.create_rec(line.strip()) for line in handle if line] self.count = len(self.games) def create_rec(self, line): rec = collections.defaultdict(str) rec["Id"] = 0 rec["Offset"] = 0 rec["FEN"] = line castling = rec["FEN"].split()[2] for letter in castling: if letter.upper() in "ABCDEFGH": rec["Variant"] = FISCHERRANDOMCHESS break return rec def loadToModel(self, rec, position, model=None): if not model: model = GameModel() if "Variant" in rec: model.variant = FischerandomBoard fieldlist = rec["FEN"].split(" ") if len(fieldlist) == 4: fen = rec["FEN"] opcodestr = "" elif len(fieldlist) > 4: fen = " ".join(fieldlist[:4]) opcodestr = " ".join(fieldlist[4:]) else: raise LoadingError("EPD string can not have less than 4 field") opcodes = {} for opcode in map(str.strip, opcodestr.split(";")): space = opcode.find(" ") if space == -1: opcodes[opcode] = True else: opcodes[opcode[:space]] = opcode[space + 1:] if "hmvc" in opcodes: fen += " " + opcodes["hmvc"] else: fen += " 0" if "fmvn" in opcodes: fen += " " + opcodes["fmvn"] else: fen += " 1" model.boards = [model.variant(setup=fen)] model.variations = [model.boards] model.status = WAITING_TO_START # rc is kinda broken # if "rc" in opcodes: # model.boards[0].board.rc = int(opcodes["rc"]) if "resign" in opcodes: if fieldlist[1] == "w": model.status = BLACKWON else: model.status = WHITEWON model.reason = WON_RESIGN if model.status == WAITING_TO_START: status, reason = getStatus(model.boards[-1]) if status in (BLACKWON, WHITEWON, DRAW): model.status, model.reason = status, reason return model def get_player_names(self, rec): data = rec["FEN"] names = {} for key in "tcri", "tcsi": keyindex = data.find(key) if keyindex == -1: names[key] = _("Unknown") else: sem = data.find(";", keyindex) if sem == -1: opcode = data[keyindex + len(key) + 1:] else: opcode = data[keyindex + len(key) + 1:sem] name = opcode.split(" ", 1)[1] names[key] = name color = data.split(" ")[1] == "b" and BLACK or WHITE if color == WHITE: return (names["tcri"], names["tcsi"]) else: return (names["tcsi"], names["tcri"]) pychess-1.0.0/lib/pychess/Savers/html.py0000644000175000017500000001123413365545272017260 0ustar varunvarun# -*- coding: utf-8 -*- from pychess.System import conf from pychess.Utils.const import FAN_PIECES, BLACK, WHITE __label__ = _("Html Diagram") __ending__ = "html" __append__ = False SIZE = 40 BORDER_SIZE = SIZE // 4 + SIZE // 8 FILL = SIZE - BORDER_SIZE FONT_SIZE = SIZE - 4 # font-family: "ChessMedium"; style = """ .chessboard { width: %spx; height: %spx; font-family: "DejaVu Serif", "DejaVu", serif; line-height: %spx; } .black { float: left; width: %spx; height: %spx; background-color: #999; font-size:%spx; text-align:center; display: table-cell; vertical-align:middle; } .white { float: left; width: %spx; height: %spx; background-color: #fff; font-size:%spx; text-align:center; display: table-cell; vertical-align:middle; } .fill-top { float: left; width: %spx; height: %spx; color: #ffff; display: table-cell; } .top-corner { float: left; width: %spx; height: %spx; background-color: #333; display: table-cell; } .top { float: left; width: %spx; height: %spx; background-color: #333; display: table-cell; } .fill-side { float: left; width: %spx; height: %spx; color: #ffff; display: table-cell; } .side { float: left; width: %spx; height: %spx; color: #ffff; background-color: #333; font-size: %spx; text-align:center; display: table-cell; vertical-align:middle; } .bottom-corner { float: left; width: %spx; height: %spx; background-color: #333; display: table-cell; } .bottom { float: left; width: %spx; height: %spx; color: #ffff; background-color: #333; font-size: %spx; line-height: %spx; text-align: center; display: table-cell; } """ % ( SIZE * 10, SIZE * 10, SIZE, # chessboard SIZE, SIZE, FONT_SIZE, # black SIZE, SIZE, FONT_SIZE, # white FILL, BORDER_SIZE, # fill-top BORDER_SIZE, BORDER_SIZE, # top-corner SIZE, BORDER_SIZE, # top FILL, SIZE, # fill-side BORDER_SIZE, SIZE, BORDER_SIZE, # side BORDER_SIZE, BORDER_SIZE, # bottom-corner SIZE, BORDER_SIZE, BORDER_SIZE, BORDER_SIZE # bottom ) def save(file, model, position=None, flip=False): """Export the current position into a .html file using html+css""" print("", file=file) # print('', file=file) print("
", file=file) show_cords = conf.get("showCords") cords_side = "12345678" if flip else "87654321" cords_bottom = "HGFEDCBA" if flip else "ABCDEFGH" data = model.boards[position].data[:] board = "" # header if show_cords: board += "
" board += "
" for cord in range(8): board += "
" board += "
" board += "
" for j, row in enumerate(data if flip else reversed(data)): if show_cords: board += "
" board += "
%s
" % cords_side[j] for i in range(8): if j % 2 == 0: color = "white" if i % 2 == 0 else "black" else: color = "white" if i % 2 == 1 else "black" piece = row.get(i) if piece is not None: if piece.color == BLACK: piece_fan = FAN_PIECES[BLACK][piece.piece] else: piece_fan = FAN_PIECES[WHITE][piece.piece] board += "
%s
" % (color, piece_fan) else: board += "
" % color if show_cords: board += "
" board += "
" board += "\n" if show_cords: board += "
" board += "
" for cord in cords_bottom: board += "
%s
" % cord board += "
" board += "
" print(board, file=file) print("
", file=file) file.close() if __name__ == "__main__": from pychess.Utils.GameModel import GameModel model = GameModel() with open("/home/tamas/board.html", "w") as fi: save(fi, model, position=0, flip=True) pychess-1.0.0/lib/pychess/Savers/pgn.py0000644000175000017500000012650213453065660017101 0ustar varunvarun# -*- coding: UTF-8 -*- import shutil import collections import os from io import StringIO from os.path import getmtime import platform import re import sys import textwrap from gi.repository import GLib import pexpect from sqlalchemy import String from pychess.external.scoutfish import Scoutfish from pychess.external.chess_db import Parser from pychess.Utils.const import WHITE, BLACK, reprResult, FEN_START, FEN_EMPTY, \ WON_RESIGN, DRAW, BLACKWON, WHITEWON, NORMALCHESS, DRAW_AGREE, FIRST_PAGE, PREV_PAGE, NEXT_PAGE, \ ABORTED_REASONS, ADJOURNED_REASONS, WON_CALLFLAG, DRAW_ADJUDICATION, WON_ADJUDICATION, \ WHITE_ENGINE_DIED, BLACK_ENGINE_DIED, RUNNING, TOOL_NONE, TOOL_CHESSDB, TOOL_SCOUTFISH from pychess.System import conf from pychess.System.Log import log from pychess.System.protoopen import PGN_ENCODING from pychess.System.prefix import getEngineDataPrefix from pychess.Utils.lutils.LBoard import LBoard from pychess.Utils.GameModel import GameModel from pychess.Utils.lutils.lmove import toSAN, parseAny, ParsingError from pychess.Utils.Move import Move from pychess.Utils.elo import get_elo_rating_change_pgn from pychess.Utils.logic import getStatus from pychess.Variants import name2variant, NormalBoard, variants from pychess.widgets.ChessClock import formatTime from pychess.Savers.ChessFile import ChessFile, LoadingError from pychess.Savers.database import col2label, TagDatabase, parseDateTag from pychess.Database import model as dbmodel from pychess.Database.PgnImport import TAG_REGEX, pgn2Const, PgnImport from pychess.Database.model import game, create_indexes, drop_indexes, metadata, ini_schema_version __label__ = _("Chess Game") __ending__ = "pgn" __append__ = True # token categories COMMENT_REST, COMMENT_BRACE, COMMENT_NAG, \ VARIATION_START, VARIATION_END, \ RESULT, FULL_MOVE, MOVE, MOVE_COMMENT = range(1, 10) pattern = re.compile(r""" (\;.*?[\n\r]) # comment, rest of line style |(\{.*?\}) # comment, between {} |(\$[0-9]+) # comment, Numeric Annotation Glyph |(\() # variation start |(\)) # variation end |(\*|1-0|0-1|1/2) # result (spec requires 1/2-1/2 for draw, but we want to tolerate simple 1/2 too) |( ([a-hKkQqRrBNnMmSsF][a-hxKQRBNMSF1-8+#=\-]{1,6} |[PNBRQMSFK]@[a-h][1-8][+#]? # drop move |o\-?o(?:\-?o)? # castling notation using letter 'o' with or without '-' |O\-?O(?:\-?O)? # castling notation using letter 'O' with or without '-' |0\-0(?:\-0)? # castling notation using zero with required '-' |\-\-) # non standard '--' is used for null move inside variations ([\?!]{1,2})* ) # move (full, count, move with ?!, ?!) """, re.VERBOSE | re.DOTALL) move_eval_re = re.compile("\[%eval\s+([+\-])?(?:#)?(\d+)(?:[,\.](\d{1,2}))?(?:/(\d{1,2}))?\]") move_time_re = re.compile("\[%emt\s+(\d:)?(\d{1,2}:)?(\d{1,4})(?:\.(\d{1,3}))?\]") # Chessbase style circles/arrows {[%csl Ra3][%cal Gc2c3,Rc3d4]} comment_circles_re = re.compile("\[%csl\s+((?:[RGBY]\w{2},?)+)\]") comment_arrows_re = re.compile("\[%cal\s+((?:[RGBY]\w{4},?)+)\]") # Mandatory tags (except "Result") mandatory_tags = ("Event", "Site", "Date", "Round", "White", "Black") def msToClockTimeTag(ms): """ Converts milliseconds to a chess clock time string in 'WhiteClock'/ 'BlackClock' PGN header format """ msec = ms % 1000 sec = ((ms - msec) % (1000 * 60)) / 1000 minute = ((ms - sec * 1000 - msec) % (1000 * 60 * 60)) / (1000 * 60) hour = ((ms - minute * 1000 * 60 - sec * 1000 - msec) % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60) return "%01d:%02d:%02d.%03d" % (hour, minute, sec, msec) def parseClockTimeTag(tag): """ Parses 'WhiteClock'/'BlackClock' PGN headers and returns the time the player playing that color has left on their clock in milliseconds """ match = re.match("(\d{1,2}):(\d\d):(\d\d).(\d{1,3})", tag) if match: hour, minute, sec, msec = match.groups() return int(msec) + int(sec) * 1000 + int(minute) * 60 * 1000 + int( hour) * 60 * 60 * 1000 def parseTimeControlTag(tag): """ Parses 'TimeControl' PGN header and returns the time and gain the players have on game start in seconds """ match = re.match("^(\d+)\+?(\-?\d+)?$", tag) if match: secs, gain = match.groups() return int(secs), int(gain) if gain is not None else 0, 0 else: match = re.match("^(\d+)\/(\d+)$", tag) if match: moves, secs = match.groups() return int(secs), 0, int(moves) else: return None def save(handle, model, position=None, flip=False): """ Saves the game from GameModel to .pgn """ processed_tags = [] def write_tag(tag, value, roster=False): nonlocal processed_tags if tag in processed_tags or (not roster and not value): return try: pval = str(value) pval = pval.replace("\\", "\\\\") pval = pval.replace("\"", "\\\"") print('[%s "%s"]' % (tag, pval), file=handle) except UnicodeEncodeError: pval = bytes(pval, "utf-8").decode(PGN_ENCODING, errors="ignore") print('[%s "%s"]' % (tag, pval), file=handle) processed_tags = processed_tags + [tag] # Mandatory ordered seven-tag roster status = reprResult[model.status] for tag in mandatory_tags: value = model.tags[tag] if tag == "Date": y, m, d = parseDateTag(value) y = "%04d" % y if y is not None else "????" m = "%02d" % m if m is not None else "??" d = "%02d" % d if d is not None else "??" value = "%s.%s.%s" % (y, m, d) elif value == "": value = "?" write_tag(tag, value, roster=True) write_tag("Result", reprResult[model.status], roster=True) # Variant if model.variant.variant != NORMALCHESS: write_tag("Variant", model.variant.cecp_name.capitalize()) # Initial position if model.boards[0].asFen() != FEN_START: write_tag("SetUp", "1") write_tag("FEN", model.boards[0].asFen()) # Number of moves write_tag("PlyCount", model.ply - model.lowply) # Final position if model.reason == WON_CALLFLAG: value = "time forfeit" elif model.reason == WON_ADJUDICATION and model.isEngine2EngineGame(): value = "rules infraction" elif model.reason in (DRAW_ADJUDICATION, WON_ADJUDICATION): value = "adjudication" elif model.reason == WHITE_ENGINE_DIED: value = "white engine died" elif model.reason == BLACK_ENGINE_DIED: value = "black engine died" elif model.reason in ABORTED_REASONS: value = "abandoned" elif model.reason in ADJOURNED_REASONS: value = "unterminated" else: value = "unterminated" if status == "*" else None if value is not None: write_tag("Termination", value) # ELO and its variation if conf.get("saveRatingChange"): welo = model.tags["WhiteElo"] belo = model.tags["BlackElo"] if welo != "" and belo != "": write_tag("WhiteRatingDiff", get_elo_rating_change_pgn(model, WHITE)) # Unofficial write_tag("BlackRatingDiff", get_elo_rating_change_pgn(model, BLACK)) # Unofficial # Time if model.timed: write_tag('WhiteClock', msToClockTimeTag(int(model.timemodel.getPlayerTime(WHITE) * 1000))) write_tag('BlackClock', msToClockTimeTag(int(model.timemodel.getPlayerTime(BLACK) * 1000))) # Write all the unprocessed tags for tag in model.tags: # Debug: print(">> %s = %s" % (tag, str(model.tags[tag]))) write_tag(tag, model.tags[tag]) # Discovery of the moves and comments save_emt = conf.get("saveEmt") save_eval = conf.get("saveEval") result = [] walk(model.boards[0].board, result, model, save_emt, save_eval) # Alignment of the fetched elements indented = conf.get("indentPgn") if indented: buffer = "" depth = 0 crlf = False for text in result: # De/Indentation crlf = (buffer[-1:] if len(buffer) > 0 else "") in ["\r", "\n"] if text == "(": depth += 1 if indented and not crlf: buffer += os.linesep crlf = True # Space between each term last = buffer[-1:] if len(buffer) > 0 else "" crlf = last in ["\r", "\n"] if not crlf and last != " " and last != "\t" and last != "(" and not text.startswith("\r") and not text.startswith("\n") and text != ")" and len(buffer) > 0: buffer += " " # New line for a new main move if len(buffer) == 0 or (indented and depth == 0 and last != "\r" and last != "\n" and re.match("^[0-9]+\.", text) is not None): buffer += os.linesep crlf = True # Alignment if crlf and depth > 0: for j in range(0, depth): buffer += " " # Term buffer += text if indented and text == ")": buffer += os.linesep crlf = True depth -= 1 else: # Add new line to separate tag section and movetext print('', file=handle) buffer = textwrap.fill(" ".join(result), width=80) # Final status = reprResult[model.status] print(buffer, status, file=handle) # Add new line to separate next game print('', file=handle) output = handle.getvalue() if isinstance(handle, StringIO) else "" handle.close() return output def walk(node, result, model, save_emt=False, save_eval=False, vari=False): """Prepares a game data for .pgn storage. Recursively walks the node tree to collect moves and comments into a resulting movetext string. Arguments: node - list (a tree of lboards created by the pgn parser) result - str (movetext strings)""" while True: if node is None: break # Initial game or variation comment if node.prev is None: for child in node.children: if isinstance(child, str): result.append("{%s}%s" % (child, os.linesep)) node = node.next continue movecount = move_count(node, black_periods=(save_emt or save_eval) and "TimeControl" in model.tags) if movecount is not None: if movecount: result.append(movecount) move = node.lastMove result.append(toSAN(node.prev, move)) if (save_emt or save_eval) and not vari: emt_eval = "" if "TimeControl" in model.tags and save_emt: elapsed = model.timemodel.getElapsedMoveTime( node.plyCount - model.lowply) emt_eval = "[%%emt %s]" % formatTime(elapsed, clk2pgn=True) if node.plyCount in model.scores and save_eval: moves, score, depth = model.scores[node.plyCount] if node.color == BLACK: score = -score emt_eval += "[%%eval %0.2f/%s]" % (score / 100.0, depth) if emt_eval: result.append("{%s}" % emt_eval) for nag in node.nags: if nag: result.append(nag) for child in node.children: if isinstance(child, str): # comment if child: result.append("{%s}" % child) else: # variations if node.fen_was_applied: result.append("(") walk(child[0], result, model, save_emt, save_eval, vari=True) result.append(")") # variation after last played move is not valid pgn # but we will save it as in comment else: result.append("{%s:" % _("Analyzer's primary variation")) walk(child[0], result, model, save_emt, save_eval, vari=True) result.append("}") if node.next: node = node.next else: break def move_count(node, black_periods=False): mvcount = None if node.fen_was_applied: ply = node.plyCount if ply % 2 == 1: mvcount = "%d." % (ply // 2 + 1) # initial game move, or initial variation move # it can be the same position as the main line! this is the reason using id() elif node.prev.prev is None or id(node) != id( node.prev.next) or black_periods: mvcount = "%d..." % (ply // 2) elif node.prev.children: # move after real(not [%foo bar]) comment need_mvcount = False for child in node.prev.children: if isinstance(child, str): if not child.startswith("[%"): need_mvcount = True break else: need_mvcount = True break if need_mvcount: mvcount = "%d..." % (ply // 2) else: mvcount = "" else: mvcount = "" return mvcount def load(handle, progressbar=None): return PGNFile(handle, progressbar) try: with open("/proc/cpuinfo") as f: cpuinfo = f.read() except OSError: cpuinfo = "" BITNESS = "64" if platform.machine().endswith('64') else "32" MODERN = "-modern" if "popcnt" in cpuinfo else "" EXT = ".exe" if sys.platform == "win32" else "" altpath = getEngineDataPrefix() scoutfish = "scoutfish_x%s%s%s" % (BITNESS, MODERN, EXT) scoutfish_path = shutil.which(scoutfish, mode=os.X_OK, path=altpath) parser = "parser_x%s%s%s" % (BITNESS, MODERN, EXT) chess_db_path = shutil.which(parser, mode=os.X_OK, path=altpath) class PGNFile(ChessFile): def __init__(self, handle, progressbar=None): ChessFile.__init__(self, handle) self.handle = handle self.progressbar = progressbar self.pgn_is_string = isinstance(handle, StringIO) if self.pgn_is_string: self.games = [self.load_game_tags(), ] else: self.skip = 0 self.limit = 100 self.order_col = game.c.offset self.is_desc = False self.reset_last_seen() # filter expressions to .sqlite .bin .scout self.tag_query = None self.fen = None self.scout_query = None self.scoutfish = None self.chess_db = None self.sqlite_path = os.path.splitext(self.path)[0] + '.sqlite' self.engine = dbmodel.get_engine(self.sqlite_path) self.tag_database = TagDatabase(self.engine) self.games, self.offs_ply = self.get_records(0) log.info("%s contains %s game(s)" % (self.path, self.count), extra={"task": "SQL"}) def get_count(self): """ Number of games in .pgn database """ if self.pgn_is_string: return len(self.games) else: return self.tag_database.count count = property(get_count) def get_size(self): """ Size of .pgn file in bytes """ return os.path.getsize(self.path) size = property(get_size) def close(self): self.tag_database.close() ChessFile.close(self) def init_tag_database(self, importer=None): """ Create/open .sqlite database of game header tags """ # Import .pgn header tags to .sqlite database sqlite_path = self.path.replace(".pgn", ".sqlite") if os.path.isfile(self.path) and os.path.isfile(sqlite_path) and getmtime(self.path) > getmtime(sqlite_path): metadata.drop_all(self.engine) metadata.create_all(self.engine) ini_schema_version(self.engine) size = self.size if size > 0 and self.tag_database.count == 0: if size > 10000000: drop_indexes(self.engine) if self.progressbar is not None: GLib.idle_add(self.progressbar.set_text, _("Importing game headers...")) if importer is None: importer = PgnImport(self) importer.initialize() importer.do_import(self.path, progressbar=self.progressbar) if size > 10000000 and not importer.cancel: create_indexes(self.engine) return importer def init_chess_db(self): """ Create/open polyglot .bin file with extra win/loss/draw stats using chess_db parser from https://github.com/mcostalba/chess_db """ if chess_db_path is not None and self.path and self.size > 0: try: if self.progressbar is not None: GLib.idle_add(self.progressbar.set_text, _("Creating .bin index file...")) self.chess_db = Parser(engine=(chess_db_path, )) self.chess_db.open(self.path) bin_path = os.path.splitext(self.path)[0] + '.bin' if not os.path.isfile(bin_path): log.debug("No valid games found in %s" % self.path) self.chess_db = None elif getmtime(self.path) > getmtime(bin_path): self.chess_db.make() except OSError as err: self.chess_db = None log.warning("Failed to sart chess_db parser. OSError %s %s" % (err.errno, err.strerror)) except pexpect.TIMEOUT: self.chess_db = None log.warning("chess_db parser failed (pexpect.TIMEOUT)") except pexpect.EOF: self.chess_db = None log.warning("chess_db parser failed (pexpect.EOF)") def init_scoutfish(self): """ Create/open .scout database index file to help querying using scoutfish from https://github.com/mcostalba/scoutfish """ if scoutfish_path is not None and self.path and self.size > 0: try: if self.progressbar is not None: GLib.idle_add(self.progressbar.set_text, _("Creating .scout index file...")) self.scoutfish = Scoutfish(engine=(scoutfish_path, )) self.scoutfish.open(self.path) scout_path = os.path.splitext(self.path)[0] + '.scout' if getmtime(self.path) > getmtime(scout_path): self.scoutfish.make() except OSError as err: self.scoutfish = None log.warning("Failed to sart scoutfish. OSError %s %s" % (err.errno, err.strerror)) except pexpect.TIMEOUT: self.scoutfish = None log.warning("scoutfish failed (pexpect.TIMEOUT)") except pexpect.EOF: self.scoutfish = None log.warning("scoutfish failed (pexpect.EOF)") def get_book_moves(self, fen): """ Get move-games-win-loss-draw stat of fen position """ rows = [] if self.chess_db is not None: move_stat = self.chess_db.find("limit %s skip %s %s" % (1, 0, fen)) for mstat in move_stat["moves"]: rows.append((mstat["move"], int(mstat["games"]), int(mstat["wins"]), int(mstat["losses"]), int(mstat["draws"]))) return rows def has_position(self, fen): # ChessDB (prioritary) if self.chess_db is not None: ret = self.chess_db.find("limit %s skip %s %s" % (1, 0, fen)) if len(ret["moves"]) > 0: return TOOL_CHESSDB, True # Scoutfish (alternate by approximation) if self.scoutfish is not None: q = {"limit": 1, "skip": 0, "sub-fen": fen} ret = self.scoutfish.scout(q) if ret["match count"] > 0: return TOOL_SCOUTFISH, True return TOOL_NONE, False def set_tag_order(self, order_col, is_desc): self.order_col = order_col self.is_desc = is_desc self.tag_database.build_order_by(self.order_col, self.is_desc) def reset_last_seen(self): col_max = "ZZZ" if isinstance(self.order_col.type, String) else 2 ** 32 col_min = "" if isinstance(self.order_col.type, String) else -1 if self.is_desc: self.last_seen = [(col_max, 2 ** 32)] else: self.last_seen = [(col_min, -1)] def set_tag_filter(self, query): """ Set (now prefixing) text and create where clause we will use to query header tag .sqlite database """ self.tag_query = query self.tag_database.build_where_tags(self.tag_query) def set_fen_filter(self, fen): """ Set fen string we will use to get game offsets from .bin database """ if self.chess_db is not None and fen is not None and fen != FEN_START: self.fen = fen else: self.fen = None self.tag_database.build_where_offs8(None) def set_scout_filter(self, query): """ Set json string we will use to get game offsets from .scout database """ if self.scoutfish is not None and query: self.scout_query = query else: self.scout_query = None self.tag_database.build_where_offs(None) self.offs_ply = {} def get_offs(self, skip, filtered_offs_list=None): """ Get offsets from .scout database and create where clause we will use to query header tag .sqlite database """ if self.scout_query: limit = (10000 if self.tag_query else self.limit) + 1 self.scout_query["skip"] = skip self.scout_query["limit"] = limit move_stat = self.scoutfish.scout(self.scout_query) offsets = [] for mstat in move_stat["matches"]: offs = mstat["ofs"] if filtered_offs_list is None: offsets.append(offs) self.offs_ply[offs] = mstat["ply"][0] elif offs in filtered_offs_list: offsets.append(offs) self.offs_ply[offs] = mstat["ply"][0] if filtered_offs_list is not None: # Continue scouting until we get enough good offset if needed # print(0, move_stat["match count"], len(offsets)) i = 1 while len(offsets) < self.limit and move_stat["match count"] == limit: self.scout_query["skip"] = i * limit - 1 move_stat = self.scoutfish.scout(self.scout_query) for mstat in move_stat["matches"]: offs = mstat["ofs"] if offs in filtered_offs_list: offsets.append(offs) self.offs_ply[offs] = mstat["ply"][0] # print(i, move_stat["match count"], len(offsets)) i += 1 if len(offsets) > self.limit: self.tag_database.build_where_offs(offsets[:self.limit]) else: self.tag_database.build_where_offs(offsets) def get_offs8(self, skip, filtered_offs_list=None): """ Get offsets from .bin database and create where clause we will use to query header tag .sqlite database """ if self.fen: move_stat = self.chess_db.find("limit %s skip %s %s" % (self.limit, skip, self.fen)) offsets = [] for mstat in move_stat["moves"]: offs = mstat["pgn offsets"] if filtered_offs_list is None: offsets += offs elif offs in filtered_offs_list: offsets += offs if len(offsets) > self.limit: self.tag_database.build_where_offs8(sorted(offsets)[:self.limit]) else: self.tag_database.build_where_offs8(sorted(offsets)) def get_records(self, direction=FIRST_PAGE): """ Get game header tag records from .sqlite database in paginated way """ if direction == FIRST_PAGE: self.skip = 0 self.reset_last_seen() elif direction == NEXT_PAGE: if not self.tag_query: self.skip += self.limit elif direction == PREV_PAGE: if len(self.last_seen) == 2: self.reset_last_seen() elif len(self.last_seen) > 2: self.last_seen = self.last_seen[:-2] if not self.tag_query and self.skip >= self.limit: self.skip -= self.limit if self.fen: self.reset_last_seen() filtered_offs_list = None if self.tag_query and (self.fen or self.scout_query): filtered_offs_list = self.tag_database.get_offsets_for_tags(self.last_seen[-1]) if self.fen: self.get_offs8(self.skip, filtered_offs_list=filtered_offs_list) if self.scout_query: self.get_offs(self.skip, filtered_offs_list=filtered_offs_list) # No game satisfied scout_query if self.tag_database.where_offs is None: return [], {} records = self.tag_database.get_records(self.last_seen[-1], self.limit) if records: self.last_seen.append((records[-1][col2label[self.order_col]], records[-1]["Offset"])) return records, self.offs_ply else: return [], {} def load_game_tags(self): """ Reads header tags from pgn if pgn is a one game only StringIO object """ header = collections.defaultdict(str) header["Id"] = 0 header["Offset"] = 0 for line in self.handle.readlines(): line = line.strip() if line.startswith('[') and line.endswith(']'): tag_match = TAG_REGEX.match(line) if tag_match: value = tag_match.group(2) value = value.replace("\\\"", "\"") value = value.replace("\\\\", "\\") header[tag_match.group(1)] = value else: break return header def loadToModel(self, rec, position=-1, model=None): """ Parse game text and load game record header tags to a GameModel object """ if model is None: model = GameModel() if self.pgn_is_string: rec = self.games[0] # Load mandatory tags for tag in mandatory_tags: model.tags[tag] = rec[tag] # Load other tags for tag in ('WhiteElo', 'BlackElo', 'ECO', 'TimeControl', 'Annotator'): model.tags[tag] = rec[tag] if self.pgn_is_string: for tag in rec: if isinstance(rec[tag], str) and rec[tag]: model.tags[tag] = rec[tag] else: model.info = self.tag_database.get_info(rec) extra_tags = self.tag_database.get_exta_tags(rec) for et in extra_tags: model.tags[et['tag_name']] = et['tag_value'] if self.pgn_is_string: variant = rec["Variant"].capitalize() else: variant = self.get_variant(rec) if model.tags['TimeControl']: tc = parseTimeControlTag(model.tags['TimeControl']) if tc is not None: secs, gain, moves = tc model.timed = True model.timemodel.secs = secs model.timemodel.gain = gain model.timemodel.minutes = secs / 60 model.timemodel.moves = moves for tag, color in (('WhiteClock', WHITE), ('BlackClock', BLACK)): if tag in model.tags: try: millisec = parseClockTimeTag(model.tags[tag]) # We need to fix when FICS reports negative clock time like this # [TimeControl "180+0"] # [WhiteClock "0:00:15.867"] # [BlackClock "23:59:58.820"] start_sec = ( millisec - 24 * 60 * 60 * 1000 ) / 1000. if millisec > 23 * 60 * 60 * 1000 else millisec / 1000. model.timemodel.intervals[color][0] = start_sec except ValueError: raise LoadingError( "Error parsing '%s'" % tag) fenstr = rec["FEN"] if variant: if variant not in name2variant: raise LoadingError("Unknown variant %s" % variant) model.tags["Variant"] = variant # Fixes for some non statndard Chess960 .pgn if (fenstr is not None) and variant == "Fischerandom": parts = fenstr.split() parts[0] = parts[0].replace(".", "/").replace("0", "") if len(parts) == 1: parts.append("w") parts.append("-") parts.append("-") fenstr = " ".join(parts) model.variant = name2variant[variant] board = LBoard(model.variant.variant) else: model.variant = NormalBoard board = LBoard() if fenstr: try: board.applyFen(fenstr) model.tags["FEN"] = fenstr except SyntaxError as err: board.applyFen(FEN_EMPTY) raise LoadingError( _("The game can't be loaded, because of an error parsing FEN"), err.args[0]) else: board.applyFen(FEN_START) boards = [board] del model.moves[:] del model.variations[:] self.error = None movetext = self.get_movetext(rec) boards = self.parse_movetext(movetext, boards[0], position) # The parser built a tree of lboard objects, now we have to # create the high level Board and Move lists... for board in boards: if board.lastMove is not None: model.moves.append(Move(board.lastMove)) self.has_emt = False self.has_eval = False def walk(model, node, path): if node.prev is None: # initial game board board = model.variant(setup=node.asFen(), lboard=node) else: move = Move(node.lastMove) try: board = node.prev.pieceBoard.move(move, lboard=node) except Exception: raise LoadingError( _("Invalid move."), "%s%s" % (move_count(node, black_periods=True), move)) if node.next is None: model.variations.append(path + [board]) else: walk(model, node.next, path + [board]) for child in node.children: if isinstance(child, list): if len(child) > 1: # non empty variation, go walk walk(model, child[1], list(path)) else: if not self.has_emt: self.has_emt = child.find("%emt") >= 0 if not self.has_eval: self.has_eval = child.find("%eval") >= 0 # Collect all variation paths into a list of board lists # where the first one will be the boards of mainline game. # model.boards will allways point to the current shown variation # which will be model.variations[0] when we are in the mainline. walk(model, boards[0], []) model.boards = model.variations[0] self.has_emt = self.has_emt and model.timed if self.has_emt or self.has_eval: if self.has_emt: blacks = len(model.moves) // 2 whites = len(model.moves) - blacks model.timemodel.intervals = [ [model.timemodel.intervals[0][0]] * (whites + 1), [model.timemodel.intervals[1][0]] * (blacks + 1), ] model.timemodel.intervals[0][0] = secs model.timemodel.intervals[1][0] = secs for ply, board in enumerate(boards): for child in board.children: if isinstance(child, str): if self.has_emt: match = move_time_re.search(child) if match: movecount, color = divmod(ply + 1, 2) hour, minute, sec, msec = match.groups() prev = model.timemodel.intervals[color][ movecount - 1] hour = 0 if hour is None else int(hour[:-1]) minute = 0 if minute is None else int(minute[:-1]) msec = 0 if msec is None else int(msec) msec += int(sec) * 1000 + int(minute) * 60 * 1000 + int(hour) * 60 * 60 * 1000 model.timemodel.intervals[color][movecount] = prev - msec / 1000. + gain if self.has_eval: match = move_eval_re.search(child) if match: sign, num, fraction, depth = match.groups() sign = 1 if sign is None or sign == "+" else -1 num = int(num) fraction = 0 if fraction is None else int( fraction) value = sign * (num * 100 + fraction) depth = "" if depth is None else depth if board.color == BLACK: value = -value model.scores[ply] = ("", value, depth) log.debug("pgn.loadToModel: intervals %s" % model.timemodel.intervals) # Find the physical status of the game model.status, model.reason = getStatus(model.boards[-1]) # Apply result from .pgn if the last position was loaded if position == -1 or len(model.moves) == position - model.lowply: if self.pgn_is_string: result = rec["Result"] if result in pgn2Const: status = pgn2Const[result] else: status = RUNNING else: status = rec["Result"] if status in (WHITEWON, BLACKWON) and status != model.status: model.status = status model.reason = WON_RESIGN elif status == DRAW and status != model.status: model.status = DRAW model.reason = DRAW_AGREE if model.timed: model.timemodel.movingColor = model.boards[-1].color # If parsing gave an error we throw it now, to enlarge our possibility # of being able to continue the game from where it failed. if self.error: raise self.error return model def parse_movetext(self, string, board, position, variation=False): """Recursive parses a movelist part of one game. Arguments: srting - str (movelist) board - lboard (initial position) position - int (maximum ply to parse) variation- boolean (True if the string is a variation)""" boards = [] boards_append = boards.append last_board = board if variation: # this board used only to hold initial variation comments boards_append(LBoard(board.variant)) else: # initial game board boards_append(board) # status = None parenthesis = 0 v_string = "" v_last_board = None for m in re.finditer(pattern, string): group, text = m.lastindex, m.group(m.lastindex) if parenthesis > 0: v_string += ' ' + text if group == VARIATION_END: parenthesis -= 1 if parenthesis == 0: if last_board.prev is None: errstr1 = _("Error parsing %(mstr)s") % {"mstr": string} self.error = LoadingError(errstr1, "") return boards # , status v_last_board.children.append( self.parse_movetext(v_string[:-1], last_board.prev, position, variation=True)) v_string = "" continue elif group == VARIATION_START: parenthesis += 1 if parenthesis == 1: v_last_board = last_board if parenthesis == 0: if group == FULL_MOVE: if not variation: if position != -1 and last_board.plyCount >= position: break mstr = m.group(MOVE) try: lmove = parseAny(last_board, mstr) except ParsingError as err: # TODO: save the rest as comment # last_board.children.append(string[m.start():]) notation, reason, boardfen = err.args ply = last_board.plyCount if ply % 2 == 0: moveno = "%d." % (ply // 2 + 1) else: moveno = "%d..." % (ply // 2 + 1) errstr1 = _( "The game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.") % { 'moveno': moveno, 'notation': notation} errstr2 = _("The move failed because %s.") % reason self.error = LoadingError(errstr1, errstr2) break except Exception: ply = last_board.plyCount if ply % 2 == 0: moveno = "%d." % (ply // 2 + 1) else: moveno = "%d..." % (ply // 2 + 1) errstr1 = _( "Error parsing move %(moveno)s %(mstr)s") % { "moveno": moveno, "mstr": mstr} self.error = LoadingError(errstr1, "") break new_board = last_board.clone() new_board.applyMove(lmove) if m.group(MOVE_COMMENT): new_board.nags.append(symbol2nag(m.group( MOVE_COMMENT))) new_board.prev = last_board # set last_board next, except starting a new variation if variation and last_board == board: boards[0].next = new_board else: last_board.next = new_board boards_append(new_board) last_board = new_board elif group == COMMENT_REST: last_board.children.append(text[1:]) elif group == COMMENT_BRACE: comm = text.replace('{\r\n', '{').replace('\r\n}', '}') # Preserve new lines of lichess study comments if self.path is not None and "lichess_study_" in self.path: comment = comm[1:-1] else: comm = comm[1:-1].splitlines() comment = ' '.join([line.strip() for line in comm]) if variation and last_board == board: # initial variation comment boards[0].children.append(comment) else: last_board.children.append(comment) elif group == COMMENT_NAG: last_board.nags.append(text) # TODO elif group == RESULT: # if text == "1/2": # status = reprResult.index("1/2-1/2") # else: # status = reprResult.index(text) break else: print("Unknown:", text) return boards # , status def get_movetext(self, rec): self.handle.seek(rec["Offset"]) in_comment = False lines = [] line = self.handle.readline() if not line.strip(): line = self.handle.readline() while line: # escape non-PGN data line if line.startswith("%"): line = self.handle.readline() continue # header tag line if not in_comment and line.startswith("["): line = self.handle.readline() continue # update in_comment state if (not in_comment and "{" in line) or (in_comment and "}" in line): in_comment = line.rfind("{") > line.rfind("}") # if there is something add it if line.strip(): if not self.pgn_is_string and self.handle.pgn_encoding != PGN_ENCODING: line = line.encode(PGN_ENCODING).decode(self.handle.pgn_encoding) lines.append(line) line = self.handle.readline() # if line is empty it should be the game separator line except... elif len(lines) == 0 or in_comment: if in_comment: lines.append(line) line = self.handle.readline() else: break return "".join(lines) def get_variant(self, rec): variant = rec["Variant"] return variants[variant].cecp_name.capitalize() if variant else "" nag2symbolDict = { "$0": "", "$1": "!", "$2": "?", "$3": "!!", "$4": "??", "$5": "!?", "$6": "?!", "$7": "□", # forced move "$8": "□", "$9": "??", "$10": "=", "$11": "=", "$12": "=", "$13": "∞", # unclear "$14": "+=", "$15": "=+", "$16": "±", "$17": "∓", "$18": "+-", "$19": "-+", "$20": "+--", "$21": "--+", "$22": "⨀", # zugzwang "$23": "⨀", "$24": "◯", # space "$25": "◯", "$26": "◯", "$27": "◯", "$28": "◯", "$29": "◯", "$32": "⟳", # development "$33": "⟳", "$36": "↑", # initiative "$37": "↑", "$40": "→", # attack "$41": "→", "$44": "~=", # compensation "$45": "=~", "$132": "⇆", # counterplay "$133": "⇆", "$136": "⨁", # time "$137": "⨁", "$138": "⨁", "$139": "⨁", "$140": "∆", # with the idea "$141": "∇", # aimed against "$142": "⌓", # better is "$146": "N", # novelty } symbol2nagDict = {} for k, v in nag2symbolDict.items(): if v not in symbol2nagDict: symbol2nagDict[v] = k def nag2symbol(nag): return nag2symbolDict.get(nag, nag) def symbol2nag(symbol): return symbol2nagDict[symbol] pychess-1.0.0/lib/pychess/Savers/fen.py0000755000175000017500000000450713365545272017074 0ustar varunvarunimport collections from io import StringIO from pychess.Utils.GameModel import GameModel from pychess.Utils.const import WAITING_TO_START, BLACKWON, WHITEWON, DRAW, FISCHERRANDOMCHESS from pychess.Utils.logic import getStatus from pychess.Variants.fischerandom import FischerandomBoard from .ChessFile import ChessFile, LoadingError __label__ = _("Simple Chess Position") __ending__ = "fen" __append__ = True def save(handle, model, position=None, flip=False): """Saves game to file in fen format""" print(position, model.ply, model.lowply) print(model.boards) print("%s" % model.boards[-1 if position is None or len(model.boards) == 1 else position].asFen(), file=handle) output = handle.getvalue() if isinstance(handle, StringIO) else "" handle.close() return output def load(handle): return FenFile(handle) class FenFile(ChessFile): def __init__(self, handle): ChessFile.__init__(self, handle) self.fen_is_string = isinstance(handle, StringIO) rec = collections.defaultdict(str) line = handle.readline().strip() rec["Id"] = 0 rec["Offset"] = 0 rec["FEN"] = line castling = rec["FEN"].split()[2] for letter in castling: if letter.upper() in "ABCDEFGH": rec["Variant"] = FISCHERRANDOMCHESS break self.games = [rec, ] self.count = 1 def loadToModel(self, rec, position, model=None): if not model: model = GameModel() if self.fen_is_string: rec = self.games[0] if isinstance(rec, dict) and "Variant" in rec: model.variant = FischerandomBoard fen = self.games[0]["FEN"] try: board = model.variant(setup=fen) model.tags["FEN"] = fen except SyntaxError as err: board = model.variant() raise LoadingError( _("The game can't be loaded, because of an error parsing FEN"), err.args[0]) model.boards = [board] model.variations = [model.boards] model.moves = [] if model.status == WAITING_TO_START: status, reason = getStatus(model.boards[-1]) if status in (BLACKWON, WHITEWON, DRAW): model.status, model.reason = status, reason return model pychess-1.0.0/lib/pychess/Savers/database.py0000644000175000017500000002572013365545272020065 0ustar varunvarun# -*- coding: UTF-8 -*- import re from sqlalchemy import select, func, and_, or_ from pychess.Utils.const import FEN_START, WHITE, BLACK, reprResult from pychess.Database import model as dbmodel from pychess.Database.model import game, event, site, player, pl1, pl2, annotator, source, tag_game count_games = select([func.count()]).select_from(game) def parseDateTag(tag): elements = re.match("^([0-9\?]{4})(\.([0-9\?]{2})(\.([0-9\?]{2}))?)?$", tag) if elements is None: y, m, d = None, None, None else: elements = elements.groups() try: y = int(elements[0]) except Exception: y = None try: m = int(elements[2]) except Exception: m = None try: d = int(elements[4]) except Exception: d = None return y, m, d def save(path, model, offset, flip=False): game_event = model.tags["Event"] game_site = model.tags["Site"] date = model.tags["Date"] game_round = model.tags["Round"] white = repr(model.players[WHITE]) black = repr(model.players[BLACK]) result = model.status eco = model.tags["ECO"] time_control = model.tags["TimeControl"] board = int(model.tags["Board"]) if "Board" in model.tags else 0 white_elo = model.tags["WhiteElo"] black_elo = model.tags["BlackElo"] variant = model.variant.variant fen = model.boards[0].board.asFen() fen = fen if fen != FEN_START else "" game_annotator = model.tags["Annotator"] if "Annotator" in model.tags else "" ply_count = model.ply - model.lowply def get_id(table, name): if not name: return None selection = select([table.c.id], table.c.name == name) result = conn.execute(selection) id_ = result.scalar() if id_ is None: result = conn.execute(table.insert().values(name=name)) id_ = result.inserted_primary_key[0] return id_ engine = dbmodel.get_engine(path) conn = engine.connect() trans = conn.begin() try: event_id = get_id(event, game_event) site_id = get_id(site, game_site) white_id = get_id(player, white) black_id = get_id(player, black) annotator_id = get_id(annotator, game_annotator) new_values = { 'offset': offset, 'offset8': (offset >> 3) << 3, 'event_id': event_id, 'site_id': site_id, 'date': date, 'round': game_round, 'white_id': white_id, 'black_id': black_id, 'result': result, 'white_elo': white_elo, 'black_elo': black_elo, 'ply_count': ply_count, 'eco': eco, 'time_control': time_control, 'board': board, 'fen': fen, 'variant': variant, 'annotator_id': annotator_id, } if hasattr(model, "game_id") and model.game_id is not None: result = conn.execute(game.update().where( game.c.id == model.game_id).values(new_values)) else: result = conn.execute(game.insert().values(new_values)) model.game_id = result.inserted_primary_key[0] trans.commit() except Exception: trans.rollback() raise conn.close() col2label = {game.c.id: "Id", game.c.offset: "Offset", game.c.offset8: "Offset8", pl1.c.name: "White", pl2.c.name: "Black", game.c.result: "Result", event.c.name: "Event", site.c.name: "Site", game.c.round: "Round", game.c.date: "Date", game.c.white_elo: "WhiteElo", game.c.black_elo: "BlackElo", game.c.ply_count: "PlyCount", game.c.eco: "ECO", game.c.time_control: "TimeControl", game.c.board: "Board", game.c.fen: "FEN", game.c.variant: "Variant", annotator.c.name: "Annotator", } class TagDatabase: def __init__(self, engine): self.engine = engine self.cols = [col.label(col2label[col]) for col in col2label] self.from_obj = [ game.outerjoin(pl1, game.c.white_id == pl1.c.id) .outerjoin(pl2, game.c.black_id == pl2.c.id) .outerjoin(event, game.c.event_id == event.c.id) .outerjoin(site, game.c.site_id == site.c.id) .outerjoin(annotator, game.c.annotator_id == annotator.c.id)] self.select = select(self.cols, from_obj=self.from_obj) self.select_offsets = select([game.c.offset, ], from_obj=self.from_obj) self.colnames = self.engine.execute(self.select).keys() self.query = self.select self.order_cols = (game.c.offset, game.c.offset) self.is_desc = False self.where_tags = None self.where_offs = None self.where_offs8 = None def get_count(self): return self.engine.execute(count_games).scalar() count = property(get_count) def close(self): self.engine.dispose() def build_order_by(self, order_col, is_desc): self.is_desc = is_desc self.order_cols = (order_col, game.c.offset) def build_where_tags(self, tag_query): if tag_query is not None: tags = [] if "white" in tag_query: if "ignore_tag_colors" in tag_query: tags.append(or_(pl1.c.name.like("%%%s%%" % tag_query["white"]), pl2.c.name.like("%%%s%%" % tag_query["white"]))) else: tags.append(pl1.c.name.like("%%%s%%" % tag_query["white"])) if "black" in tag_query: if "ignore_tag_colors" in tag_query: tags.append(or_(pl1.c.name.like("%%%s%%" % tag_query["black"]), pl2.c.name.like("%%%s%%" % tag_query["black"]))) else: tags.append(pl2.c.name.like("%%%s%%" % tag_query["black"])) if "event" in tag_query: tags.append(event.c.name.like("%%%s%%" % tag_query["event"])), if "site" in tag_query: tags.append(site.c.name.like("%%%s%%" % tag_query["site"])), if "eco_from" in tag_query: tags.append(game.c.eco >= tag_query["eco_from"]) if "eco_to" in tag_query: tags.append(game.c.eco <= tag_query["eco_to"]) if "annotator" in tag_query: tags.append(annotator.c.name.like("%%%s%%" % tag_query["annotator"])), if "variant" in tag_query: tags.append(game.c.variant == int(tag_query["variant"])), if "result" in tag_query: tags.append(game.c.result == reprResult.index(tag_query["result"])), if "date_from" in tag_query: tags.append(game.c.date >= tag_query["date_from"]) if "date_to" in tag_query: # When date_to is not given as full date we have to prepare # date_to filled with some "?" to get correct query results # because for example "2018.??.??" is greater than "2018" date_to = tag_query["date_to"] y, m, d = parseDateTag(date_to) y = "%04d" % y if y is not None else "????" m = "%02d" % m if m is not None else "??" d = "%02d" % d if d is not None else "??" date_to = "%s.%s.%s" % (y, m, d) tags.append(game.c.date <= date_to) if "elo_from" in tag_query: tags.append(game.c.white_elo >= tag_query["elo_from"]) tags.append(game.c.black_elo >= tag_query["elo_from"]) # white_elo and black_elo are String(4) in game table # we need to prevent selecting games where a player elo is 999 or 400 # when tag_query["elo_from"] is for example was set to 2200 tags.append(game.c.white_elo < "4") tags.append(game.c.black_elo < "4") if "elo_to" in tag_query: tags.append(game.c.white_elo <= tag_query["elo_to"]) tags.append(game.c.black_elo <= tag_query["elo_to"]) self.where_tags = and_(*tags) else: self.where_tags = None def build_where_offs8(self, offset_list): if offset_list is not None and len(offset_list) > 0: self.where_offs8 = game.c.offset8.in_(offset_list) else: self.where_offs8 = None def build_where_offs(self, offset_list): if offset_list is not None and len(offset_list) > 0: self.where_offs = game.c.offset.in_(offset_list) else: self.where_offs = None def build_query(self): self.query = self.select if self.where_tags is not None: self.query = self.query.where(self.where_tags) if self.where_offs8 is not None: self.query = self.query.where(self.where_offs8) if self.where_offs is not None: self.query = self.query.where(self.where_offs) def get_records(self, last_seen, limit): self.build_query() # we use .where() to implement pagination because .offset() doesn't scale on big tables # http://sqlite.org/cvstrac/wiki?p=ScrollingCursor # https://stackoverflow.com/questions/21082956/sqlite-scrolling-cursor-how-to-scroll-correctly-with-duplicate-names if self.is_desc: query = self.query.where(or_(self.order_cols[0] < last_seen[0], and_(self.order_cols[0] == last_seen[0], self.order_cols[1] < last_seen[1])) ).order_by(self.order_cols[0].desc(), self.order_cols[1].desc()).limit(limit) else: query = self.query.where(or_(self.order_cols[0] > last_seen[0], and_(self.order_cols[0] == last_seen[0], self.order_cols[1] > last_seen[1])) ).order_by(*self.order_cols).limit(limit) # log.debug(self.engine.execute(Explain(query)).fetchall(), extra={"task": "SQL"}) result = self.engine.execute(query) records = result.fetchall() return records def get_offsets_for_tags(self, last_seen): query = self.select_offsets.where(self.where_tags).where(game.c.offset > last_seen[1]) result = self.engine.execute(query) return [rec[0] for rec in result.fetchall()] def get_info(self, rec): where = and_(game.c.source_id == source.c.id, game.c.id == rec["Id"]) result = self.engine.execute(select([source.c.info]).where(where)).first() if result is None: return None else: return result[0] def get_exta_tags(self, rec): return self.engine.execute(select([tag_game]).where(tag_game.c.game_id == rec["Id"])) pychess-1.0.0/lib/pychess/Savers/chessalpha2.py0000755000175000017500000001222413365545272020514 0ustar varunvarun# -*- coding: utf-8 -*- # TODO: fix it from html.entities import entitydefs from pychess.Utils.Move import toFAN from pychess.Utils.const import FAN_PIECES, BLACK, ROOK, WHITE, KING, BISHOP, \ KNIGHT, QUEEN, DRAW, EMPTY, reprResult, WHITEWON, BLACKWON def group(l, s): return [l[i:i + s] for i in range(0, len(l), s)] __label__ = _("Chess Alpha 2 Diagram") __ending__ = "html" __append__ = True # table[background][color][piece] diaPieces = ((('\'', 'Ê', 'Â', 'À', 'Ä', 'Æ', 'È'), ('\'', 'ê', 'â', 'à', 'ä', 'æ', 'è')), (('#', 'Ë', 'Ã', 'Á', 'Å', 'Ç', 'É'), ('#', 'ë', 'ã', 'á', 'å', 'ç', 'é'))) borderNums = ('¬', '"', '£', '$', '%', '^', '&', '*') lisPieces = ((FAN_PIECES[BLACK][KNIGHT], 'K'), (FAN_PIECES[BLACK][BISHOP], 'J'), (FAN_PIECES[BLACK][ROOK], 'L'), (FAN_PIECES[BLACK][QUEEN], 'M'), (FAN_PIECES[BLACK][KING], 'N'), (FAN_PIECES[WHITE][KNIGHT], 'k'), (FAN_PIECES[WHITE][BISHOP], 'j'), (FAN_PIECES[WHITE][ROOK], 'l'), (FAN_PIECES[WHITE][QUEEN], 'm'), (FAN_PIECES[WHITE][KING], 'n'), ('†', '+'), ('‡', '+'), ('1/2', 'Z')) def fanconv(fan): for f, r in lisPieces: fan = fan.replace(f, r) return fan # Dictionaries and expressions for parsing diagrams entitydefs = dict(("&%s;" % a, chr(ord(b)).encode('utf-8')) for a, b in entitydefs.items() if len(b) == 1) def2entity = dict((b, a) for a, b in entitydefs.items()) style = """ @font-face {font-family: "Chess Alpha 2"; src: local("Chess Alpha 2"), url("http://pychess.org/fonts/ChessAlpha2.eot?") format("eot"), url("http://pychess.org/fonts/ChessAlpha2.woff") format("woff"), url("http://pychess.org/fonts/ChessAlpha2.ttf") format("truetype"), url("http://pychess.org/fonts/ChessAlpha2.svg#ChessAlpha2") format("svg"); font-weight:"normal"; font-style:"normal";} table.pychess {display:inline-block; vertical-align:top} table.pychess td {margin:0; padding:0; font-size:10pt; font-family:"Chess Alpha 2"; padding-left:.5em} table.pychess td.numa {width:0; text-align:right} table.pychess td.numa {width:0; text-align:right; padding-left:1em} table.pychess td.status {text-align:center; font-size:12pt; padding-right:2em} table.pychess pre {margin:0; padding:0; font-family:"Chess Alpha 2"; font-size:16pt; text-align:center; line-height:1} """ def save(file, model, position=None): """Saves the position as a diagram using chess fonts""" print("", file=file) print("" % style, file=file) print( "", file=file) sanmvs = map(toFAN, model.boards[:-1], model.moves) sanmvs = list(map(fanconv, sanmvs)) if model.lowply & 1: sanmvs = [">"] + list(sanmvs) if model.status in (DRAW, WHITEWON, BLACKWON): sanmvs.extend([''] * (-len(sanmvs) % 2)) sanmvs.append(fanconv(reprResult[model.status])) sanmvs.extend([''] * (-len(sanmvs) % 4)) sanmvs = group(sanmvs, 2) for i in range((len(sanmvs) + 1) // 2): left = i + 1 + model.lowply // 2 writeMoves(file, str(i + 1 + model.lowply // 2), sanmvs[i], str(left + len(sanmvs) // 2), sanmvs[i + len(sanmvs) // 2]) print("
",
        file=file)
    writeDiagram(file, model)
    print("
", file=file) file.close() def writeMoves(file, move1, movepair1, move2, movepair2): move1 += '.' move2 += '.' if not movepair2[0]: move2 = '' print("%s%s%s" % (move1, movepair1[0], movepair1[1]), file=file) if not movepair2[1] and movepair2[0] in map(fanconv, reprResult): print("%s" % movepair2[0], file=file) else: print("%s%s%s" % (move2, movepair2[0], movepair2[1]), file=file) def writeDiagram(file, model, border=True, whitetop=False): data = model.boards[-1].data[:] if not whitetop: data.reverse() if border: print("[<<<<<<<<]", file=file) for y_loc, row in enumerate(data): if whitetop: file.write("%s" % borderNums(y_loc)) else: file.write("%s" % borderNums[7 - y_loc]) for x_loc, piece in sorted(row.items()): # exclude captured pieces in holding if x_loc >= 0 and x_loc <= 7: bg_colour = y_loc % 2 == x_loc % 2 if piece is None: color = WHITE piece = EMPTY else: color = piece.color piece = piece.piece dia_color = diaPieces[bg_colour][color][piece] if dia_color in def2entity: dia_color = def2entity[dia_color] file.write("%s" % dia_color) file.write('\\\n') if border: print("{ABCDEFGH}", file=file) pychess-1.0.0/lib/pychess/Savers/ChessFile.py0000755000175000017500000000557313353143212020156 0ustar varunvarunimport datetime from pychess.Utils.const import RUNNING class LoadingError(Exception): pass class ChessFile: """ This class describes an opened chessfile. It is lazy in the sense of not parsing any games, that the user don't request. It has no catching. """ def __init__(self, file): self.file = file self.path = file.name if hasattr(file, "name") else None self.games = [] self.offs_ply = {} def close(self): try: self.file.close() except OSError: pass def set_tags_filter(self, text): pass def set_fen_filter(self, fen): pass def set_scout_filter(self, query): pass def get_id(self, gameno): return gameno def get_records(self, direction=0): return self.games, self.offs_ply def loadToModel(self, gameno, position, model=None): """ Load the data of game "gameno" into the gamemodel If no model is specified, a new one will be created, loaded and returned """ raise NotImplementedError def __len__(self): return len(self.games) def get_player_names(self, gameno): """ Returns a tuple of the players names Default is ("Unknown", "Unknown") if nothing is specified """ return ("Unknown", "Unknown") def get_elo(self, gameno): """ Returns a tuple of the players rating in ELO format Default is 1600 if nothing is specified in the file """ return (1600, 1600) def get_date(self, gameno): """ Returns a tuple (year,month,day) of the game date Default is current time if nothing is specified in the file """ today = datetime.date.today() return today.timetuple()[:3] def get_site(self, gameno): """ Returns the location at which the game took place Default is "?" if nothing is specified in the file """ return "?" def get_event(self, gameno): """ Returns the event at which the game took place Could be "World Chess Cup" or "My local tournament" Default is "?" if nothing is specified in the file """ return "?" def get_round(self, gameno): """ Returns the round of the event at which the game took place Pgn supports having subrounds like 2.1.5, but as of writing, only the first int is returned. Default is 1 if nothing is specified in the file """ return 1 def get_result(self, gameno): """ Returns the result of the game Can be any of: RUNNING, DRAW, WHITEWON or BLACKWON Default is RUNNING if nothing is specified in the file """ return RUNNING def get_variant(self, gameno): return 0 def get_book_moves(self, fen=None): return [] def get_info(self, gameno): return None pychess-1.0.0/lib/pychess/ic/0000755000175000017500000000000013467766037015100 5ustar varunvarunpychess-1.0.0/lib/pychess/ic/TimeSeal.py0000644000175000017500000002453213365545272017154 0ustar varunvarunimport asyncio import sys import telnetlib import random import time import platform import subprocess import getpass import os import shutil from pychess.System.Log import log from pychess.System.prefix import getEngineDataPrefix from pychess.ic.icc import B_DTGR_END, B_UNIT_END if not hasattr(asyncio.StreamReader, 'readuntil'): from pychess.System.readuntil import readuntil, _wait_for_data asyncio.StreamReader.readuntil = readuntil asyncio.StreamReader._wait_for_data = _wait_for_data ENCODE = [ord(i) for i in "Timestamp (FICS) v1.0 - programmed by Henrik Gram."] ENCODELEN = len(ENCODE) G_RESPONSE = "\x029" FILLER = b"1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" IAC_WONT_ECHO = b''.join([telnetlib.IAC, telnetlib.WONT, telnetlib.ECHO]) _DEFAULT_LIMIT = 2 ** 16 class CanceledException(Exception): pass class ICSStreamReader(asyncio.StreamReader): def __init__(self, limit, loop, connected_event, name): asyncio.StreamReader.__init__(self, limit=limit, loop=loop) self.connected_event = connected_event self.name = name @asyncio.coroutine def read_until(self, *untils): while True: for i, until in enumerate(untils): start = self._buffer.find(bytearray(until, "ascii")) if start >= 0: self._buffer = self._buffer[start:] return i else: not_find = "read_until:%s , got:'%s'" % (until, self._buffer) log.debug(not_find, extra={"task": (self.name, "raw")}) yield from self._wait_for_data('read_until') class ICSStreamReaderProtocol(asyncio.StreamReaderProtocol): def __init__(self, stream_reader, client_connected_cb, loop, name, timeseal): asyncio.StreamReaderProtocol.__init__(self, stream_reader, client_connected_cb=client_connected_cb, loop=loop) self.name = name self.timeseal = timeseal self.connected = False self.stateinfo = None def data_received(self, data): cooked = self.cook_some(data) self._stream_reader.feed_data(cooked) def cook_some(self, data): if not self.connected: log.debug(data, extra={"task": (self.name, "raw")}) self.connected = True if b"FatICS" in data: self.FatICS = True elif b"puertorico.com" in data: self.USCN = True data = data.replace(IAC_WONT_ECHO, b"") elif b"chessclub.com" in data: self.ICC = True data = data.replace(IAC_WONT_ECHO, b"") elif b"Starting FICS session" in data: data = data.replace(IAC_WONT_ECHO, b"") else: if self.timeseal: data, g_count, self.stateinfo = self.decode(data, self.stateinfo) data = data.replace(b"\r", b"").replace(b"\x07", b"") # enable this only for temporary debugging log.debug(data, extra={"task": (self.name, "raw")}) if self.timeseal: for i in range(g_count): self._stream_writer.write(self.encode(bytearray(G_RESPONSE, "utf-8")) + b"\n") return data def encode(self, inbuf, timestamp=None): assert inbuf == b"" or inbuf[-1] != b"\n" if not timestamp: timestamp = int(time.time() * 1000 % 1e7) enc = inbuf + bytearray('\x18%d\x19' % timestamp, "ascii") padding = 12 - len(enc) % 12 filler = random.sample(FILLER, padding) enc += bytearray(filler) buf = enc for i in range(0, len(buf), 12): buf[i + 11], buf[i] = buf[i], buf[i + 11] buf[i + 9], buf[i + 2] = buf[i + 2], buf[i + 9] buf[i + 7], buf[i + 4] = buf[i + 4], buf[i + 7] encode_offset = random.randrange(ENCODELEN) for i in range(len(buf)): buf[i] |= 0x80 j = (i + encode_offset) % ENCODELEN buf[i] = (buf[i] ^ ENCODE[j]) - 32 buf += bytearray([0x80 | encode_offset]) return buf def decode(self, buf, stateinfo=None): expected_table = b"[G]\n\r" # TODO: add support to FatICS's new zipseal protocol when it finalizes # expected_table = "[G]\n\r" if not self.FatICS else "[G]\r\n" final_state = len(expected_table) g_count = 0 result = [] if stateinfo: state, lookahead = stateinfo else: state, lookahead = 0, [] lenb = len(buf) idx = 0 while idx < lenb: buffer_item = buf[idx] expected = expected_table[state] if buffer_item == expected: state += 1 if state == final_state: g_count += 1 lookahead = [] state = 0 else: lookahead.append(buffer_item) idx += 1 elif state == 0: result.append(buffer_item) idx += 1 else: result.extend(lookahead) lookahead = [] state = 0 return bytearray(result), g_count, (state, lookahead) # You can get ICC timestamp from # https://www.chessclub.com/user/resources/icc/timestamp/ if sys.platform == "win32": timestamp = "timestamp_win32.exe" else: timestamp = "timestamp_linux_2.6.8" altpath = getEngineDataPrefix() timestamp_path = shutil.which(timestamp, os.X_OK, path=altpath) class ICSTelnet(): sensitive = False def __init__(self, timeseal): self.name = "" self.connected = False self.canceled = False self.FatICS = False self.USCN = False self.ICC = False self.timeseal = timeseal self.ICC_buffer = "" @asyncio.coroutine def start(self, host, port, connected_event): if self.canceled: raise CanceledException() self.port = port self.host = host self.connected_event = connected_event self.name = host if host == "chessclub.com": self.ICC = True if self.timeseal and timestamp_path is not None: self.host = "127.0.0.1" self.port = 5500 try: if sys.platform == "win32": # To prevent engines opening console window startupinfo = subprocess.STARTUPINFO() startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW else: startupinfo = None create = asyncio.create_subprocess_exec(* ["%s" % timestamp_path, "-p", "%s" % self.port], startupinfo=startupinfo) self.timestamp_proc = yield from create log.info("%s started OK" % timestamp_path) except OSError as err: log.info("Can't start %s OSError: %s %s" % (timestamp_path, err.errno, err.strerror)) self.port = port self.host = host else: log.info("%s not found" % timestamp_path) self.timeseal = False def cb(reader, writer): reader.stream_writer = writer reader.connected_event.set() loop = asyncio.get_event_loop() self.reader = ICSStreamReader(_DEFAULT_LIMIT, loop, self.connected_event, self.name) self.protocol = ICSStreamReaderProtocol(self.reader, cb, loop, self.name, self.timeseal) coro = loop.create_connection(lambda: self.protocol, self.host, self.port) self.transport, _protocol = yield from coro # writer = asyncio.StreamWriter(transport, protocol, reader, loop) if self.timeseal: self.write(self.get_init_string()) def cancel(self): self.canceled = True self.close() def close(self): if self.protocol.connected: self.protocol.connected = False self.transport.close() def get_init_string(self): """ timeseal header: TIMESTAMP|bruce|Linux gruber 2.6.15-gentoo-r1 #9 PREEMPT Thu Feb 9 20:09:47 GMT 2006 i686 Intel(R) Celeron(R) CPU 2.00GHz GenuineIntel GNU/Linux| 93049 """ user = getpass.getuser() uname = ' '.join(list(platform.uname())) return "TIMESTAMP|" + user + "|" + uname + "|" def write(self, string): logstr = "*" * len(string) if self.sensitive else string self.sensitive = False log.info(logstr, extra={"task": (self.name, "raw")}) if self.timeseal: self.transport.write(self.protocol.encode(bytearray(string, "utf-8")) + b"\n") else: self.transport.write(string.encode() + b"\n") @asyncio.coroutine def readline(self): if self.canceled: raise CanceledException() if self.ICC: line = yield from self.readuntil(b"\n") return line.strip() else: line = yield from self.reader.readline() return line.decode("latin_1").strip() @asyncio.coroutine def readuntil(self, until): if self.canceled: raise CanceledException() if self.ICC: if len(self.ICC_buffer) == 0: self.ICC_buffer = yield from self.reader.readuntil(until) i = self.ICC_buffer.find(until) m = sys.maxsize if i >= 0: m = i j = self.ICC_buffer.find(B_DTGR_END) if j >= 0: m = min(m, j) k = self.ICC_buffer.find(B_UNIT_END) if k >= 0: m = min(m, k) if m != sys.maxsize: if m == i: stuff = self.ICC_buffer[:m + len(until)] self.ICC_buffer = self.ICC_buffer[m + len(until):] return stuff.decode("latin_1") else: stuff = self.ICC_buffer[:m + 2] self.ICC_buffer = self.ICC_buffer[m + 2:] return stuff.decode("latin_1") else: return "" else: data = yield from self.reader.readuntil(until) return data.decode("latin_1") @asyncio.coroutine def read_until(self, *untils): if self.canceled: raise CanceledException() ret = yield from self.reader.read_until(*untils) return ret pychess-1.0.0/lib/pychess/ic/FICSObjects.py0000644000175000017500000012362513415426271017503 0ustar varunvarun# -*- coding: utf-8 -*- import asyncio import datetime from gi.repository import GLib, GObject from pychess.compat import create_task from pychess.System.Log import log from pychess.Utils.IconLoader import load_icon, get_pixbuf from pychess.Utils.const import ADJOURNED, WHITE, BLACK, UNSUPPORTED from pychess.ic import RATING_TYPES, IC_STATUS_PLAYING, IC_STATUS_OFFLINE, IC_STATUS_UNKNOWN, \ IC_STATUS_AVAILABLE, IC_STATUS_IDLE, IC_STATUS_EXAMINING, IC_STATUS_NOT_AVAILABLE, \ IC_STATUS_BUSY, IC_STATUS_RUNNING_SIMUL_MATCH, IC_STATUS_IN_TOURNAMENT, \ TITLE_TYPE_DISPLAY_TEXTS, TITLE_TYPE_DISPLAY_TEXTS_SHORT, TYPE_BLITZ, TYPE_STANDARD, \ TYPE_ATOMIC, TYPE_LIGHTNING, TYPE_BUGHOUSE, TYPE_CRAZYHOUSE, TYPE_LOSERS, TYPE_SUICIDE, \ TYPE_WILD, GAME_TYPES_BY_RATING_TYPE, TYPE_UNREGISTERED, TYPE_COMPUTER, TYPE_ADMINISTRATOR, \ DEVIATION_NONE, DEVIATION_ESTIMATED, DEVIATION_PROVISIONAL, GAME_TYPES_BY_FICS_NAME, \ GAME_TYPES, TYPE_GRAND_MASTER, TYPE_INTERNATIONAL_MASTER, TYPE_FIDE_MASTER, \ TYPE_WOMAN_GRAND_MASTER, TYPE_WOMAN_INTERNATIONAL_MASTER, TYPE_WOMAN_FIDE_MASTER class AlreadyExistException(Exception): pass def make_sensitive_if_available(button, player): if player.isAvailableForGame(): button.set_property("sensitive", True) button.set_property("tooltip-text", "") else: button.set_property("sensitive", False) button.set_property("tooltip-text", _("%(player)s is %(status)s") % {"player": player.name, "status": player.display_status.lower()}) def make_sensitive_if_playing(button, player): status = player.display_status.lower() if player.status == IC_STATUS_PLAYING: button.set_property("sensitive", True) else: button.set_property("sensitive", False) if player.status != IC_STATUS_OFFLINE: status = _("not playing") button.set_property("tooltip-text", _("%(player)s is %(status)s") % {"player": player.name, "status": status}) def get_player_tooltip_text(player, show_status=True): text = "%s" % player.name text += "%s" % player.display_titles(long=True) if player.blitz: text += "\n%s: %s" % (_("Blitz"), player.blitz) if player.standard: text += "\n%s: %s" % (_("Standard"), player.standard) if player.lightning: text += "\n%s: %s" % (_("Lightning"), player.lightning) if player.atomic: text += "\n%s: %s" % (_("Atomic"), player.atomic) if player.bughouse: text += "\n%s: %s" % (_("Bughouse"), player.bughouse) if player.crazyhouse: text += "\n%s: %s" % (_("Crazyhouse"), player.crazyhouse) if player.losers: text += "\n%s: %s" % (_("Losers"), player.losers) if player.suicide: text += "\n%s: %s" % (_("Suicide"), player.suicide) if player.wild: text += "\n%s: %s" % (_("Wild"), player.wild) if show_status: text += "\n%s" % player.display_status return text def player_id(name): """ Two players are equal if the first 11 characters of their name match. This is to facilitate matching players from output of commands like the 'games' command which only return the first 11 characters of a player's name """ return name[0:11].lower() class FICSPlayer(GObject.GObject): __gsignals__ = {'ratings_changed': (GObject.SignalFlags.RUN_FIRST, None, (int, object))} def __init__(self, name, online=False, status=IC_STATUS_UNKNOWN, game=None, titles=None): assert isinstance(name, str), name assert isinstance(online, bool), online GObject.GObject.__init__(self) self.player_id = player_id(name) self.name = name self.online = online self._status = status self.status = status self.game = None self.adjournment = False self.ratings = [0 for ratingtype in RATING_TYPES] self.deviations = [DEVIATION_NONE for ratingtype in RATING_TYPES] if titles is None: self.titles = set() else: self.titles = titles def long_name(self, game_type=None): name = self.name if game_type: rating = self.getRatingByGameType(game_type) else: rating = self.getRatingForCurrentGame() if rating: name += " (%d)" % rating title = self.display_titles() if title: name += "%s" % title return name def get_online(self): return self._online def set_online(self, online): self._online = online online = GObject.property(get_online, set_online) @property def display_online(self): if self.online: return _("Online") else: return _("Offline") def get_status(self): return self._status def set_status(self, status): self._previous_status = self._status self._status = status status = GObject.property(get_status, set_status) def restore_previous_status(self): self.status = self._previous_status @property def display_status(self): if self.status == IC_STATUS_AVAILABLE: return _("Available") elif self.status == IC_STATUS_PLAYING: status = _("Playing") game = self.game if game is not None: status += " " + game.display_text return status elif self.status == IC_STATUS_IDLE: return _("Idle") elif self.status == IC_STATUS_OFFLINE: return _("Offline") elif self.status == IC_STATUS_EXAMINING: return _("Examining") elif self.status in (IC_STATUS_NOT_AVAILABLE, IC_STATUS_BUSY): return _("Not Available") elif self.status == IC_STATUS_RUNNING_SIMUL_MATCH: return _("Running Simul Match") elif self.status == IC_STATUS_IN_TOURNAMENT: return _("In Tournament") else: return "" def get_game(self): return self._game def set_game(self, game): if game is not None and not isinstance(game, FICSMatch): raise TypeError(type(game)) self._game = game game = GObject.property(get_game, set_game) def get_titles(self): return self._titles def set_titles(self, titles): self._titles = titles titles = GObject.property(get_titles, set_titles) def display_titles(self, long=False): title = "" for item in self.titles: if long: title += " (" + TITLE_TYPE_DISPLAY_TEXTS[item] + ")" else: title += " (" + TITLE_TYPE_DISPLAY_TEXTS_SHORT[item] + ")" return title @property def blitz(self): return self.ratings[TYPE_BLITZ] @property def standard(self): return self.ratings[TYPE_STANDARD] @property def lightning(self): return self.ratings[TYPE_LIGHTNING] @property def atomic(self): return self.ratings[TYPE_ATOMIC] @property def bughouse(self): return self.ratings[TYPE_BUGHOUSE] @property def crazyhouse(self): return self.ratings[TYPE_CRAZYHOUSE] @property def losers(self): return self.ratings[TYPE_LOSERS] @property def suicide(self): return self.ratings[TYPE_SUICIDE] @property def wild(self): return self.ratings[TYPE_WILD] def __eq__(self, player): if isinstance(self, type(player)) and self.player_id == player.player_id: return True else: return False def __hash__(self): return hash(self.player_id) def __repr__(self): rep = "name='%s'" % (self.name + self.display_titles()) rep += ", id=%s" % (id(self)) rep += ", online=%s" % repr(self.online) rep += ", adjournment=%s" % repr(self.adjournment) rep += ", status=%i" % self.status game = self.game if game is not None: rep += ", game.gameno=%d" % game.gameno rep += ", game.rated=%s" % game.rated rep += ", game.private=" + repr(game.private) else: rep += ", game=None" for rating_type in RATING_TYPES: if rating_type in self.ratings: rep += ", %s=%s" % \ (GAME_TYPES_BY_RATING_TYPE[rating_type].display_text, repr(self.ratings[rating_type])) return "" def isAvailableForGame(self): if self.status in \ (IC_STATUS_PLAYING, IC_STATUS_BUSY, IC_STATUS_OFFLINE, IC_STATUS_RUNNING_SIMUL_MATCH, IC_STATUS_NOT_AVAILABLE, IC_STATUS_EXAMINING, IC_STATUS_IN_TOURNAMENT): return False else: return True def isObservable(self): return self.status == IC_STATUS_EXAMINING or \ (self.status == IC_STATUS_PLAYING and self.game is not None and not self.game.private and self.game.supported) def isGuest(self): return TYPE_UNREGISTERED in self.titles def isComputer(self): return TYPE_COMPUTER in self.titles def isAdmin(self): return TYPE_ADMINISTRATOR in self.titles def isTitled(self): return ( TYPE_GRAND_MASTER in self.titles) or ( TYPE_INTERNATIONAL_MASTER in self.titles) or ( TYPE_FIDE_MASTER in self.titles) or ( TYPE_WOMAN_GRAND_MASTER in self.titles) or ( TYPE_WOMAN_INTERNATIONAL_MASTER in self.titles) or ( TYPE_WOMAN_FIDE_MASTER in self.titles) @classmethod def getIconByRating(cls, rating, size=16): assert isinstance(rating, int), "rating not an int: %s" % str(rating) if rating >= 1900: return get_pixbuf("glade/16x16/weather-storm.png") elif rating >= 1600: return get_pixbuf("glade/16x16/weather-showers.png") elif rating >= 1300: return get_pixbuf("glade/16x16/weather-overcast.png") elif rating >= 1000: return get_pixbuf("glade/16x16/weather-few-clouds.png") else: return get_pixbuf("glade/16x16/weather-clear.png") def getIcon(self, size=16, gametype=None): assert isinstance(size, int), "size not an int: %s" % str(size) if self.isGuest(): return load_icon(size, "stock_people", "system-users") elif self.isComputer(): return load_icon(size, "computer", "stock_notebook") elif self.isAdmin(): return load_icon(size, "security-high", "stock_book_blue") else: if gametype: rating = self.getRatingByGameType(gametype) else: rating = self.getStrength() return self.getIconByRating(rating, size) def getMarkup(self, gametype=None, big=True, long_titles=True): markup = "%s" % self.name if self.isGuest(): markup += self.display_titles(long=long_titles) else: if gametype: rating = self.getRatingByGameType(gametype) else: rating = self.getStrength() if rating < 1: rating = _("Unrated") markup += " (%s)" % rating if self.display_titles() != "": markup += self.display_titles(long=long_titles) if big: markup = "" + markup + "" return markup def getRatingMean(self): ratingtotal = 0 numratings = 0 for ratingtype in RATING_TYPES: try: if self.ratings[ratingtype] == 0: continue except IndexError: print(ratingtype, RATING_TYPES, self.ratings) continue if self.deviations[ratingtype] == DEVIATION_NONE: ratingtotal += self.ratings[ratingtype] * 3 numratings += 3 elif self.deviations[ratingtype] == DEVIATION_ESTIMATED: ratingtotal += self.ratings[ratingtype] * 2 numratings += 2 elif self.deviations[ratingtype] == DEVIATION_PROVISIONAL: ratingtotal += self.ratings[ratingtype] * 1 numratings += 1 return numratings > 0 and ratingtotal // numratings or 0 # FIXME: this isn't very accurate because of inflated standard ratings # and deflated lightning ratings and needs work # IDEA: use rank in addition to rating to determine strength def getStrength(self): if self.deviations[TYPE_BLITZ] == DEVIATION_NONE: return self.ratings[TYPE_BLITZ] elif self.deviations[TYPE_LIGHTNING] == DEVIATION_NONE: return self.ratings[TYPE_LIGHTNING] else: return self.getRatingMean() def getRatingByGameType(self, game_type): try: return self.ratings[game_type.rating_type] except KeyError: return 0 except IndexError: return 0 def getRatingForCurrentGame(self): try: return self.getRatingByGameType(self.game.game_type) except AttributeError: return 0 class FICSPlayers(GObject.GObject): __gsignals__ = { 'FICSPlayerEntered': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'FICSPlayerExited': (GObject.SignalFlags.RUN_FIRST, None, (object, )) } def __init__(self, connection): GObject.GObject.__init__(self) self.players = {} self.players_cids = {} self.connection = connection def start(self): # self.connection.fm.connect("fingeringFinished", self.onFinger) pass def __getitem__(self, name): if not isinstance(name, str): raise TypeError("%s" % name) if name in self.players: return self.players[name] else: raise KeyError def __setitem__(self, key, value): """ key must be str and value must be FICSPlayer object """ if not isinstance(key, str): raise TypeError if not isinstance(value, FICSPlayer): raise TypeError if value.player_id in self.players: raise AlreadyExistException self.players[value.player_id] = value self.players_cids[value.player_id] = value.connect( "notify::online", self.online_changed) def __delitem__(self, name): if not isinstance(name, str): raise TypeError if name in self.players: player = self.players[name] if name in self.players_cids: if player.handler_is_connected(self.players_cids[name]): player.disconnect(self.players_cids[name]) del self.players_cids[name] del self.players[name] def __contains__(self, name): if not isinstance(name, str): raise TypeError if name in self.players: return True else: return False def keys(self): return self.players.keys() def items(self): return self.players.items() def values(self): return self.players.values() def online_changed(self, player, prop): if player.online: GLib.idle_add(self.emit, "FICSPlayerEntered", [player, ], priority=GLib.PRIORITY_LOW) # This method is a temporary hack until ChatWindow/ChatManager are # converted to use FICSPlayer references rather than player's names def get_online_playernames(self): names = [] players = list(self.values()) for player in players: if player.online: names.append(player.name) return names def get(self, name): key = player_id(name) if key in self: player = self[key] else: player = FICSPlayer(name) try: self[key] = player except AlreadyExistException: player = self[key] return player def player_disconnected(self, name): # log.debug("%s" % player, # extra={"task": (self.connection.username, "player_disconnected")}) key = player_id(name) if key in self: player = self[key] player.online = False player.status = IC_STATUS_OFFLINE if not player.adjournment and player.name not in self.connection.notify_users: del self[player.player_id] else: log.debug("Not removing %s" % player, extra={"task": (self.connection.username, "player_disconnected")}) GLib.idle_add(self.emit, 'FICSPlayerExited', player, priority=GLib.PRIORITY_LOW) else: log.debug("Not removing %s (it's not in FICSPlayers)" % name, extra={"task": (self.connection.username, "player_disconnected")}) # def onFinger (self, fm, finger): # player = player_id(finger.getName()) # if player in self: # self[player].finger = finger # # TODO: merge ratings and titles from finger object into ficsplayer object class FICSMatch(GObject.GObject): def __init__(self, minutes, inc, rated, game_type): assert minutes is None or isinstance(minutes, int), type(minutes) assert inc is None or isinstance(inc, int), inc assert isinstance(rated, bool), rated assert game_type is None or game_type is GAME_TYPES_BY_FICS_NAME["wild"] \ or game_type in GAME_TYPES.values(), game_type GObject.GObject.__init__(self) self.minutes = minutes self.inc = inc self.rated = rated self.game_type = game_type def __repr__(self): text = "%s %s" % (self.minutes, self.inc) text += " %s" % ("rated" if self.rated else "unrated") text += " %s" % self.game_type.display_text return text @property def display_rated(self): if self.rated: return _("Rated") else: return _("Unrated") @property def display_timecontrol(self): tim = "" if self.minutes is not None: tim = _("%d min") % self.minutes if self.inc is not None and self.inc != 0: tim += _(" + %d sec") % self.inc return tim @property def sortable_time(self): # http://www.freechess.org/Help/HelpFiles/etime.html etime = self.minutes + int(round(self.inc * 2. / 3.)) return etime def get_soughtmatch_tooltip_text(sought): text = "%s" % sought.player.name text += "%s" % sought.player.display_titles(long=True) if not sought.player.isGuest(): text += " (%d)" % sought.player_rating text += "\n%s %s" % (sought.display_rated, sought.game_type.display_text) text += "\n" + sought.display_timecontrol if sought.color: text += "\n" + _("%(player)s plays %(color)s") \ % {"player": sought.player.name, "color": _("white") if sought.color == "white" else _("black")} return text class FICSSoughtMatch(FICSMatch): def __init__(self, index, player, minutes, inc, rated, color, game_type): assert index is None or isinstance(index, int), index assert isinstance(player, FICSPlayer), player FICSMatch.__init__(self, minutes, inc, rated, game_type) self.index = index self.player = player self.color = color # self.player plays color def __hash__(self): return self.index def __eq__(self, sought): if isinstance(self, type(sought)) and hash(self) == hash(sought): return True else: return False def __ne__(self, sought): return not self == sought def __repr__(self): text = "%s" % self.index text += " %s" % self.player.name text += " %s" % FICSMatch.__repr__(self) return text @property def player_rating(self): """ This returns self.player's rating for the type of match being sought. If self.player doesn't have a rating for the type of match being sought, this returns 0. If the match is untimed we use self.player's standard time-control rating if they have one. """ game_type = self.game_type if game_type == GAME_TYPES['untimed']: game_type = GAME_TYPES['standard'] return self.player.getRatingByGameType(game_type) def get_challenge_tooltip_text(challenge): text = get_soughtmatch_tooltip_text(challenge) if challenge.adjourned: text += "\n" + _("This is a continuation of an adjourned match") return text class FICSChallenge(FICSSoughtMatch): def __init__(self, index, player, minutes, inc, rated, color, game_type, adjourned=False): FICSSoughtMatch.__init__(self, index, player, minutes, inc, rated, color, game_type) self.adjourned = adjourned class FICSChallenges(GObject.GObject): __gsignals__ = { 'FICSChallengeIssued': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'FICSChallengeRemoved': (GObject.SignalFlags.RUN_FIRST, None, (object, )) } def __init__(self, connection): GObject.GObject.__init__(self) self.connection = connection self.challenges = {} def start(self): self.connection.om.connect("onChallengeAdd", self.onChallengeIssued) self.connection.om.connect("onChallengeRemove", self.onChallengeRemoved) self.connection.bm.connect("playGameCreated", self.onPlayingGame) def __getitem__(self, index): if not isinstance(index, int): raise TypeError return self.challenges[index] def __setitem__(self, index, challenge): if not isinstance(index, int): raise TypeError if not isinstance(challenge, FICSSoughtMatch): raise TypeError if index in self: log.warning("FICSChallenges: not overwriting challenge %s" % repr(challenge)) return self.challenges[index] = challenge self.emit('FICSChallengeIssued', challenge) def __delitem__(self, index): if not isinstance(index, int): raise TypeError try: challenge = self.challenges[index] except KeyError: return del self.challenges[index] self.emit('FICSChallengeRemoved', challenge) def __contains__(self, index): if not isinstance(index, int): raise TypeError if index in self.challenges: return True else: return False def clear(self): challenges = self.challenges.copy() for key in challenges: del self[key] def onChallengeIssued(self, om, challenge): self[challenge.index] = challenge def onChallengeRemoved(self, om, index): del self[index] def onPlayingGame(self, bm, game): self.clear() def get_rating_range_display_text(rmin=0, rmax=9999): assert isinstance(rmin, type(int())) and rmin >= 0 and rmin <= 9999, rmin assert isinstance(rmax, type(int())) and rmax >= 0 and rmax <= 9999, rmax if rmin > 0: text = "%d" % rmin if rmax == 9999: text += u"↑" else: text += "-%d" % rmax elif rmax != 9999: text = u"%d↓" % rmax else: text = None return text def get_seek_tooltip_text(seek): text = get_soughtmatch_tooltip_text(seek) rrtext = get_rating_range_display_text(seek.rmin, seek.rmax) if rrtext: text += "\n%s: %s" % (_("Opponent Rating"), rrtext) if not seek.automatic: text += "\n%s" % _("Manual Accept") return text class FICSSeek(FICSSoughtMatch): def __init__(self, index, player, minutes, inc, rated, color, game_type, rmin=0, rmax=9999, automatic=True, formula=False): FICSSoughtMatch.__init__(self, index, player, minutes, inc, rated, color, game_type) self.rmin = rmin # minimum rating one has to accept this seek self.rmax = rmax # maximum rating one has to accept this seek self.automatic = automatic # if True, auto accept; otherwise, manual accept self.formula = formula # players' formula will be used to screen responses class FICSSeeks(GObject.GObject): __gsignals__ = { 'FICSSeekCreated': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'FICSSeekRemoved': (GObject.SignalFlags.RUN_FIRST, None, (object, )) } def __init__(self, connection): GObject.GObject.__init__(self) self.connection = connection self.seeks = {} def start(self): self.connection.glm.connect("addSeek", self.onAddSeek) self.connection.glm.connect("removeSeek", self.onRemoveSeek) self.connection.glm.connect("clearSeeks", self.onClearSeeks) self.connection.bm.connect("curGameEnded", self.onCurGameEnded) def __getitem__(self, index): if not isinstance(index, int): raise TypeError return self.seeks[index] def __setitem__(self, index, seek): if not isinstance(index, int): raise TypeError if not isinstance(seek, FICSSoughtMatch): raise TypeError if index in self: log.warning("FICSSeeks: not overwriting seek %s" % repr(seek)) return self.seeks[index] = seek self.emit('FICSSeekCreated', seek) def __delitem__(self, index): if not isinstance(index, int): raise TypeError try: seek = self.seeks[index] except KeyError: return del self.seeks[index] self.emit('FICSSeekRemoved', seek) def __contains__(self, index): if not isinstance(index, int): raise TypeError if index in self.seeks: return True else: return False def clear(self): seeks = self.seeks.copy() for key in seeks: del self[key] def onAddSeek(self, glm, seek): self[seek.index] = seek def onRemoveSeek(self, glm, index): del self[index] def onClearSeeks(self, glm): self.clear() def onCurGameEnded(self, bm, game): self.connection.glm.refresh_seeks() class FICSBoard: def __init__(self, wms, bms, fen=None, pgn=None): assert isinstance(wms, int), wms assert isinstance(bms, int), bms self.wms = wms self.bms = bms # assert fen != None or pgn != None self.fen = fen self.pgn = pgn def __repr__(self): rep = "wms=%s\nbms=%s\npgn=%s" % (self.wms, self.bms, self.pgn) return rep class FICSGame(FICSMatch): def __init__(self, wplayer, bplayer, gameno=None, game_type=None, rated=False, minutes=None, inc=None, result=None, reason=None, board=None, private=False, relation=None): assert isinstance(wplayer, FICSPlayer), wplayer assert isinstance(bplayer, FICSPlayer), bplayer assert gameno is None or isinstance(gameno, int), gameno assert result is None or isinstance(result, int), result assert reason is None or isinstance(reason, int), reason assert board is None or isinstance(board, FICSBoard), board assert isinstance(private, bool), private FICSMatch.__init__(self, minutes, inc, rated, game_type) self.wplayer = wplayer self.bplayer = bplayer self.gameno = gameno self.result = result self.reason = reason self.board = board self.private = private self.relation = relation # move(style12) message queue feeded by BoardManager, consumed by balck and white ICPlayer self.move_queue = asyncio.Queue() def __hash__(self): return hash(":".join((self.wplayer.name[0:11].lower( ), self.bplayer.name[0:11].lower(), str(self.gameno)))) def __eq__(self, game): if isinstance(game, FICSGame) and hash(self) == hash(game): return True else: return False def __repr__(self): rep = "" @property def display_time(self): if self.time is not None: return self.time.isoformat(' ')[0:16] @property def opponent(self): if self.our_color == WHITE: return self.bplayer elif self.our_color == BLACK: return self.wplayer class FICSHistoryGame(FICSGame): def __init__(self, wplayer, bplayer, time=None, rated=False, game_type=None, private=False, minutes=None, inc=None, result=None, reason=None, board=None, relation=None, wrating=None, brating=None, gameno=None, history_no=None): assert time is None or isinstance(time, datetime.datetime), time FICSGame.__init__(self, wplayer, bplayer, rated=rated, private=private, game_type=game_type, minutes=minutes, inc=inc, result=result, reason=reason, board=board, relation=relation, gameno=gameno) self.time = time self.wrating = wrating self.brating = brating self.history_no = history_no def __hash__(self): return hash(":".join((self.wplayer.name[0:11].lower( ), self.bplayer.name[0:11].lower(), str(self.history_no), str( self.time)))) @property def display_time(self): if self.time is not None: return self.time.isoformat(' ')[0:16] class FICSJournalGame(FICSGame): def __init__(self, wplayer, bplayer, our_color=None, time=None, rated=False, game_type=None, private=False, minutes=None, inc=None, result=None, reason=None, board=None, relation=None, wrating=None, brating=None, gameno=None, journal_no=None): assert our_color is None or our_color in (WHITE, BLACK), our_color assert time is None or isinstance(time, datetime.datetime), time FICSGame.__init__(self, wplayer, bplayer, rated=rated, private=private, game_type=game_type, minutes=minutes, inc=inc, result=result, reason=reason, board=board, relation=relation, gameno=gameno) self.wrating = wrating self.brating = brating self.journal_no = journal_no def __hash__(self): return hash(":".join((self.wplayer.name[0:11].lower(), self.bplayer.name[0:11].lower(), str(self.journal_no), ))) @property def display_time(self): return _("Unknown") class FICSGames(GObject.GObject): __gsignals__ = { 'FICSGameCreated': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'FICSGameEnded': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'FICSAdjournedGameRemoved': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'FICSHistoryGameRemoved': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'FICSJournalGameRemoved': (GObject.SignalFlags.RUN_FIRST, None, (object, )), } def __init__(self, connection): GObject.GObject.__init__(self) self.games = {} self.games_by_gameno = {} self.adjourned_games = {} self.history_games = {} self.journal_games = {} self.connection = connection def start(self): self.connection.adm.connect("onAdjournmentsList", self.onAdjournmentsList) self.connection.adm.connect("onHistoryList", self.onHistoryList) self.connection.adm.connect("onJournalList", self.onJournalList) self.connection.bm.connect("curGameEnded", self.onCurGameEnded) def __getitem__(self, game): if not isinstance(game, FICSGame): raise TypeError("Not a FICSGame: %s" % repr(game)) if hash(game) in self.games: return self.games[hash(game)] else: raise KeyError def __setitem__(self, key, value): """ key and value must be the same game """ if not isinstance(key, FICSGame): raise TypeError if not isinstance(value, FICSGame): raise TypeError if key != value: raise Exception("Not the same: %s %s" % (repr(key), repr(value))) if hash(value) in self.games: raise Exception("%s already exists in %s" % (repr(value), repr(self))) self.games[hash(value)] = value self.games_by_gameno[value.gameno] = value if isinstance(value, FICSAdjournedGame): self.adjourned_games[hash(value)] = value elif isinstance(value, FICSHistoryGame): self.history_games[hash(value)] = value elif isinstance(value, FICSJournalGame): self.journal_games[hash(value)] = value def __delitem__(self, game): if not isinstance(game, FICSGame): raise TypeError(repr(game), type(game)) if game in self: del self.games[hash(game)] if game.gameno in self.games_by_gameno: del self.games_by_gameno[game.gameno] if game in self.adjourned_games: del self.adjourned_games[hash(game)] elif game in self.history_games: del self.history_games[hash(game)] elif game in self.journal_games: del self.journal_games[hash(game)] def __contains__(self, game): if not isinstance(game, FICSGame): raise TypeError if hash(game) in self.games: return True else: return False def keys(self): return self.games.keys() def items(self): return self.games.items() def values(self): return self.games.values() def get_game_by_gameno(self, gameno): if not isinstance(gameno, int): raise TypeError return self.games_by_gameno[gameno] def get(self, game, create=True, emit=True): # TODO: lock if game in self: self[game].update(game) game = self[game] elif create: self[game] = game if emit: self.emit("FICSGameCreated", [game, ]) else: raise KeyError return game def game_ended(self, game): if game in self: if not game.move_queue.empty(): @asyncio.coroutine def coro(game): # we have to give a chance to ICPlayer # to process the latest move(style12) message # and remove game from game list panel also yield from asyncio.sleep(0) game = self[game] self.emit("FICSGameEnded", game) del self[game] create_task(coro(game)) else: game = self[game] self.emit("FICSGameEnded", game) del self[game] def onAdjournmentsList(self, adm, adjournments): for game in self.adjourned_games.values(): if game not in adjournments: del self[game] game.opponent.adjournment = False self.emit("FICSAdjournedGameRemoved", game) def onHistoryList(self, adm, history): for game in self.history_games.values(): if game not in history: del self[game] self.emit("FICSHistoryGameRemoved", game) def onJournalList(self, adm, journal): for game in self.journal_games.values(): if game not in journal: del self[game] self.emit("FICSJournalGameRemoved", game) def onCurGameEnded(self, bm, game): for adjourned_game in self.adjourned_games.values(): for player in (game.wplayer, game.bplayer): if player == adjourned_game.opponent: del self[adjourned_game] adjourned_game.opponent.adjournment = False self.emit("FICSAdjournedGameRemoved", adjourned_game) for game in self.history_games.values(): del self[game] self.emit("FICSHistoryGameRemoved", game) self.connection.adm.queryHistory() pychess-1.0.0/lib/pychess/ic/__init__.py0000755000175000017500000006100113415426351017173 0ustar varunvarunfrom gi.repository import Gtk from pychess import Variants from pychess.Utils.const import NORMALCHESS, ATOMICCHESS, BUGHOUSECHESS, CRAZYHOUSECHESS, \ LOSERSCHESS, SUICIDECHESS, FISCHERRANDOMCHESS, WILDCASTLESHUFFLECHESS, \ SHUFFLECHESS, RANDOMCHESS, ASYMMETRICRANDOMCHESS, WILDCASTLECHESS, UPSIDEDOWNCHESS, \ PAWNSPUSHEDCHESS, PAWNSPASSEDCHESS, GIVEAWAYCHESS, THREECHECKCHESS IC_CONNECTED, IC_DISCONNECTED = range(2) # Fixed values of my relation to this game # http://www.freechess.org/Help/HelpFiles/style12.html IC_POS_INITIAL, IC_POS_ISOLATED, IC_POS_OBSERVING_EXAMINATION, IC_POS_OP_TO_MOVE, \ IC_POS_OBSERVING, IC_POS_ME_TO_MOVE, IC_POS_EXAMINATING = range(-4, 3) # RatingType TYPE_BLITZ, TYPE_STANDARD, TYPE_LIGHTNING, TYPE_WILD, \ TYPE_BUGHOUSE, TYPE_CRAZYHOUSE, TYPE_SUICIDE, TYPE_LOSERS, TYPE_ATOMIC, \ TYPE_BULLET, TYPE_ONE_MINUTE, TYPE_THREE_MINUTE, TYPE_FIVE_MINUTE, \ TYPE_FIFTEEN_MINUTE, TYPE_FORTYFIVE_MINUTE, TYPE_CHESS960, \ TYPE_UNTIMED, TYPE_EXAMINED, TYPE_OTHER = range(19) RATING_TYPES = (TYPE_BLITZ, TYPE_STANDARD, TYPE_LIGHTNING, TYPE_BULLET, TYPE_ONE_MINUTE, TYPE_THREE_MINUTE, TYPE_FIVE_MINUTE, TYPE_FIFTEEN_MINUTE, TYPE_FORTYFIVE_MINUTE, TYPE_ATOMIC, TYPE_BUGHOUSE, TYPE_CRAZYHOUSE, TYPE_LOSERS, TYPE_SUICIDE, TYPE_WILD, TYPE_CHESS960, TYPE_UNTIMED, ) # Rating deviations DEVIATION_NONE, DEVIATION_ESTIMATED, DEVIATION_PROVISIONAL = range(3) IC_STATUS_PLAYING, IC_STATUS_ACTIVE, IC_STATUS_BUSY, IC_STATUS_OFFLINE, \ IC_STATUS_AVAILABLE, IC_STATUS_NOT_AVAILABLE, IC_STATUS_EXAMINING, \ IC_STATUS_IDLE, IC_STATUS_IN_TOURNAMENT, IC_STATUS_RUNNING_SIMUL_MATCH, \ IC_STATUS_UNKNOWN = range(11) TITLES_RE = "(?:\([A-Z*]+\))*" NAMES_RE = "[A-Za-z]+" DEVIATION = { "E": DEVIATION_ESTIMATED, "P": DEVIATION_PROVISIONAL, " ": DEVIATION_NONE, "": DEVIATION_NONE, } STATUS = { "^": IC_STATUS_PLAYING, " ": IC_STATUS_AVAILABLE, ".": IC_STATUS_IDLE, "#": IC_STATUS_EXAMINING, ":": IC_STATUS_NOT_AVAILABLE, "~": IC_STATUS_RUNNING_SIMUL_MATCH, "&": IC_STATUS_IN_TOURNAMENT, } class GameType: def __init__(self, fics_name, short_fics_name, rating_type, display_text=None, variant_type=NORMALCHESS): self.fics_name = fics_name self.short_fics_name = short_fics_name self.rating_type = rating_type if display_text: self.display_text = display_text self.variant_type = variant_type @property def variant(self): return Variants.variants[self.variant_type] def __repr__(self): s = "= 0 and gain >= 0 gainminutes = gain > 0 and (gain * 60) - 1 or 0 if minutes == 0 and gain == 0: return GAME_TYPES["untimed"] elif (minutes * 60) + gainminutes >= (15 * 60): return GAME_TYPES["standard"] elif (minutes * 60) + gainminutes >= (3 * 60): return GAME_TYPES["blitz"] else: return GAME_TYPES["lightning"] TYPE_ADMINISTRATOR, TYPE_BLINDFOLD, TYPE_COMPUTER, \ TYPE_TEAM, TYPE_UNREGISTERED, TYPE_CHESS_ADVISOR, \ TYPE_SERVICE_REPRESENTATIVE, TYPE_TOURNAMENT_DIRECTOR, TYPE_MAMER_MANAGER, \ TYPE_GRAND_MASTER, TYPE_INTERNATIONAL_MASTER, TYPE_FIDE_MASTER, \ TYPE_WOMAN_GRAND_MASTER, TYPE_WOMAN_INTERNATIONAL_MASTER, TYPE_WOMAN_FIDE_MASTER,\ TYPE_DUMMY_ACCOUNT, TYPE_CANDIDATE_MASTER, TYPE_FIDE_ARBEITER, TYPE_NATIONAL_MASTER, \ TYPE_DISPLAY_MASTER = range(20) TITLE_TYPE_DISPLAY_TEXTS = (_("Administrator"), _("Blindfold Account"), _("Computer"), _("Team Account"), _("Unregistered"), _("Chess Advisor"), _("Service Representative"), _("Tournament Director"), _("Mamer Manager"), _("Grand Master"), _("International Master"), _("FIDE Master"), _("Woman Grand Master"), _("Woman International Master"), _("Woman FIDE Master"), _("Dummy Account"), _("Candidate Master"), _("FIDE Arbeiter"), _("National Master"), _("Display Master"), ) TITLE_TYPE_DISPLAY_TEXTS_SHORT = ( _("*"), _("B"), _("C"), _("T"), _("U"), _("CA"), _("SR"), _("TD"), _("TM"), _("GM"), _("IM"), _("FM"), _("WGM"), _("WIM"), _("WFM"), _("D"), _("H"), _("CM"), _("FA"), _("NM"), _("DM")) TITLES = { # From FICS 'help who' "*": TYPE_ADMINISTRATOR, "B": TYPE_BLINDFOLD, "C": TYPE_COMPUTER, "T": TYPE_TEAM, "U": TYPE_UNREGISTERED, "CA": TYPE_CHESS_ADVISOR, "SR": TYPE_SERVICE_REPRESENTATIVE, "TD": TYPE_TOURNAMENT_DIRECTOR, "TM": TYPE_MAMER_MANAGER, "GM": TYPE_GRAND_MASTER, "IM": TYPE_INTERNATIONAL_MASTER, "FM": TYPE_FIDE_MASTER, "WFM": TYPE_WOMAN_FIDE_MASTER, "WIM": TYPE_WOMAN_INTERNATIONAL_MASTER, "WGM": TYPE_WOMAN_GRAND_MASTER, "D": TYPE_DUMMY_ACCOUNT, "H": TYPE_SERVICE_REPRESENTATIVE, "CM": TYPE_CANDIDATE_MASTER, "FA": TYPE_FIDE_ARBEITER, "NM": TYPE_NATIONAL_MASTER, "DM": TYPE_DISPLAY_MASTER, } HEX_TO_TITLE = { 0x1: TYPE_UNREGISTERED, 0x2: TYPE_COMPUTER, 0x4: TYPE_GRAND_MASTER, 0x8: TYPE_INTERNATIONAL_MASTER, 0x10: TYPE_FIDE_MASTER, 0x20: TYPE_WOMAN_GRAND_MASTER, 0x40: TYPE_WOMAN_INTERNATIONAL_MASTER, 0x80: TYPE_WOMAN_FIDE_MASTER, } def parse_title_hex(titlehex): titles = set() for key in HEX_TO_TITLE: if int(titlehex, 16) & key: titles.add(HEX_TO_TITLE[key]) return titles def parseRating(rating): if rating[0] == " ": rating = rating[1:] if rating[-1].isalpha(): rating = rating[:-1] return int(rating) if rating.isdigit() else 0 def get_infobarmessage_content(player, text, gametype=None): content = Gtk.HBox() icon = Gtk.Image() icon.set_from_pixbuf(player.getIcon(size=32, gametype=gametype)) content.pack_start(icon, False, False, 4) label = Gtk.Label() label.set_markup(player.getMarkup(gametype=gametype)) content.pack_start(label, False, False, 0) label = Gtk.Label() label.set_markup(text) content.pack_start(label, False, False, 0) return content def get_infobarmessage_content2(player, heading_text, message_text, gametype=None): hbox = Gtk.HBox() image = Gtk.Image() image.set_from_pixbuf(player.getIcon(size=24, gametype=gametype)) hbox.pack_start(image, False, False, 0) label = Gtk.Label() markup = player.getMarkup(gametype=gametype, long_titles=False) label.set_markup(markup + heading_text) hbox.pack_start(label, False, False, 0) vbox = Gtk.VBox() vbox.pack_start(hbox, False, False, 0) label = Gtk.Label() label.props.xalign = 0 label.props.xpad = 4 label.props.justify = Gtk.Justification.LEFT label.props.wrap = True label.set_width_chars(70) label.set_text(message_text) vbox.pack_start(label, False, False, 5) return vbox """ Internal command codes used in FICS block mode (see "help block_codes" and "help iv_block"). Used mostly by internal library functions. BLOCK_ variables are message boundary markers. BLKCMD_ variables are command codes. """ BLOCK_START = chr(21) # \U BLOCK_SEPARATOR = chr(22) # \V BLOCK_END = chr(23) # \W BLOCK_POSE_START = chr(24) # \X BLOCK_POSE_END = chr(25) # \Y BLKCMD_NULL = 0 BLKCMD_GAME_MOVE = 1 BLKCMD_ABORT = 10 BLKCMD_ACCEPT = 11 BLKCMD_ADDLIST = 12 BLKCMD_ADJOURN = 13 BLKCMD_ALLOBSERVERS = 14 BLKCMD_ASSESS = 15 BLKCMD_BACKWARD = 16 BLKCMD_BELL = 17 BLKCMD_BEST = 18 BLKCMD_BNAME = 19 BLKCMD_BOARDS = 20 BLKCMD_BSETUP = 21 BLKCMD_BUGWHO = 22 BLKCMD_CBEST = 23 BLKCMD_CLEARMESSAGES = 24 BLKCMD_CLRSQUARE = 25 BLKCMD_CONVERT_BCF = 26 BLKCMD_CONVERT_ELO = 27 BLKCMD_CONVERT_USCF = 28 BLKCMD_COPYGAME = 29 BLKCMD_CRANK = 30 BLKCMD_CSHOUT = 31 BLKCMD_DATE = 32 BLKCMD_DECLINE = 33 BLKCMD_DRAW = 34 BLKCMD_ECO = 35 BLKCMD_EXAMINE = 36 BLKCMD_FINGER = 37 BLKCMD_FLAG = 38 BLKCMD_FLIP = 39 BLKCMD_FMESSAGE = 40 BLKCMD_FOLLOW = 41 BLKCMD_FORWARD = 42 BLKCMD_GAMES = 43 BLKCMD_GETGI = 44 BLKCMD_GETPI = 45 BLKCMD_GINFO = 46 BLKCMD_GOBOARD = 47 BLKCMD_HANDLES = 48 BLKCMD_HBEST = 49 BLKCMD_HELP = 50 BLKCMD_HISTORY = 51 BLKCMD_HRANK = 52 BLKCMD_INCHANNEL = 53 BLKCMD_INDEX = 54 BLKCMD_INFO = 55 BLKCMD_ISET = 56 BLKCMD_IT = 57 BLKCMD_IVARIABLES = 58 BLKCMD_JKILL = 59 BLKCMD_JOURNAL = 60 BLKCMD_JSAVE = 61 BLKCMD_KIBITZ = 62 BLKCMD_LIMITS = 63 BLKCMD_LINE = 64 # Not on FICS BLKCMD_LLOGONS = 65 BLKCMD_LOGONS = 66 BLKCMD_MAILHELP = 67 BLKCMD_MAILMESS = 68 BLKCMD_MAILMOVES = 69 BLKCMD_MAILOLDMOVES = 70 BLKCMD_MAILSOURCE = 71 BLKCMD_MAILSTORED = 72 BLKCMD_MATCH = 73 BLKCMD_MESSAGES = 74 BLKCMD_MEXAMINE = 75 BLKCMD_MORETIME = 76 BLKCMD_MOVES = 77 BLKCMD_NEWS = 78 BLKCMD_NEXT = 79 BLKCMD_OBSERVE = 80 BLKCMD_OLDMOVES = 81 BLKCMD_OLDSTORED = 82 BLKCMD_OPEN = 83 BLKCMD_PARTNER = 84 BLKCMD_PASSWORD = 85 BLKCMD_PAUSE = 86 BLKCMD_PENDING = 87 BLKCMD_PFOLLOW = 88 BLKCMD_POBSERVE = 89 BLKCMD_PREFRESH = 90 BLKCMD_PRIMARY = 91 BLKCMD_PROMOTE = 92 BLKCMD_PSTAT = 93 BLKCMD_PTELL = 94 BLKCMD_PTIME = 95 BLKCMD_QTELL = 96 BLKCMD_QUIT = 97 BLKCMD_RANK = 98 BLKCMD_RCOPYGAME = 99 BLKCMD_RFOLLOW = 100 BLKCMD_REFRESH = 101 BLKCMD_REMATCH = 102 BLKCMD_RESIGN = 103 BLKCMD_RESUME = 104 BLKCMD_REVERT = 105 BLKCMD_ROBSERVE = 106 BLKCMD_SAY = 107 BLKCMD_SERVERS = 108 BLKCMD_SET = 109 BLKCMD_SHOUT = 110 BLKCMD_SHOWLIST = 111 BLKCMD_SIMABORT = 112 BLKCMD_SIMALLABORT = 113 BLKCMD_SIMADJOURN = 114 BLKCMD_SIMALLADJOURN = 115 BLKCMD_SIMGAMES = 116 BLKCMD_SIMMATCH = 117 BLKCMD_SIMNEXT = 118 BLKCMD_SIMOBSERVE = 119 BLKCMD_SIMOPEN = 120 BLKCMD_SIMPASS = 121 BLKCMD_SIMPREV = 122 BLKCMD_SMOVES = 123 BLKCMD_SMPOSITION = 124 BLKCMD_SPOSITION = 125 BLKCMD_STATISTICS = 126 BLKCMD_STORED = 127 BLKCMD_STYLE = 128 BLKCMD_SWITCH = 130 BLKCMD_TAKEBACK = 131 BLKCMD_TELL = 132 BLKCMD_TIME = 133 BLKCMD_TOMOVE = 134 BLKCMD_TOURNSET = 135 BLKCMD_UNALIAS = 136 BLKCMD_UNEXAMINE = 137 BLKCMD_UNOBSERVE = 138 BLKCMD_UNPAUSE = 139 BLKCMD_UPTIME = 140 BLKCMD_USCF = 141 BLKCMD_USTAT = 142 BLKCMD_VARIABLES = 143 BLKCMD_WHENSHUT = 144 BLKCMD_WHISPER = 145 BLKCMD_WHO = 146 BLKCMD_WITHDRAW = 147 BLKCMD_WNAME = 148 BLKCMD_XKIBITZ = 149 BLKCMD_XTELL = 150 BLKCMD_XWHISPER = 151 BLKCMD_ZNOTIFY = 152 BLKCMD_REPLY = 153 # Not on FICS BLKCMD_SUMMON = 154 BLKCMD_SEEK = 155 BLKCMD_UNSEEK = 156 BLKCMD_SOUGHT = 157 BLKCMD_PLAY = 158 BLKCMD_ALIAS = 159 BLKCMD_NEWBIES = 160 BLKCMD_SR = 161 BLKCMD_CA = 162 BLKCMD_TM = 163 BLKCMD_GETGAME = 164 BLKCMD_CCNEWSE = 165 BLKCMD_CCNEWSF = 166 BLKCMD_CCNEWSI = 167 BLKCMD_CCNEWSP = 168 BLKCMD_CCNEWST = 169 BLKCMD_CSNEWSE = 170 BLKCMD_CSNEWSF = 171 BLKCMD_CSNEWSI = 172 BLKCMD_CSNEWSP = 173 BLKCMD_CSNEWST = 174 BLKCMD_CTNEWSE = 175 BLKCMD_CTNEWSF = 176 BLKCMD_CTNEWSI = 177 BLKCMD_CTNEWSP = 178 BLKCMD_CTNEWST = 179 BLKCMD_CNEWS = 180 BLKCMD_SNEWS = 181 BLKCMD_TNEWS = 182 BLKCMD_RMATCH = 183 BLKCMD_RSTAT = 184 BLKCMD_CRSTAT = 185 BLKCMD_HRSTAT = 186 BLKCMD_GSTAT = 187 # Note admin codes start from 300. BLKCMD_ERROR_BADCOMMAND = 512 BLKCMD_ERROR_BADPARAMS = 513 BLKCMD_ERROR_AMBIGUOUS = 514 BLKCMD_ERROR_RIGHTS = 515 BLKCMD_ERROR_OBSOLETE = 516 BLKCMD_ERROR_REMOVED = 517 BLKCMD_ERROR_NOTPLAYING = 518 BLKCMD_ERROR_NOSEQUENCE = 519 BLKCMD_ERROR_LENGTH = 520 LIMIT_BLKCMD_ERRORS = 500 FICS_COMMANDS = [ 'abort', 'accept', 'addlist', 'adjourn', 'alias', 'allobservers', 'assess', 'backward', 'bell', 'best', 'boards', 'bsetup', 'bugwho', 'cbest', 'clearmessages', 'convert_bcf', 'convert_elo', 'convert_uscf', 'copygame', 'crank', 'cshout', 'date', 'decline', 'draw', 'examine', 'finger', 'flag', 'flip', 'fmessage', 'follow', 'forward', 'games', 'gnotify', 'goboard', 'handles', 'hbest', 'help', 'history', 'hrank', 'inchannel', 'index', 'info', 'it', 'jkill', 'jsave', 'kibitz', 'limits', 'llogons', 'logons', 'mailhelp', 'mailmess', 'mailmoves', 'mailoldmoves', 'mailsource', 'mailstored', 'match', 'messages', 'mexamine', 'moretime', 'moves', 'news', 'next', 'observe', 'oldmoves', 'open', 'password', 'pause', 'pending', 'pfollow', 'play', 'pobserve', 'promote', 'pstat', 'qtell', 'quit', 'rank', 'refresh', 'resign', 'resume', 'revert', 'say', 'seek', 'servers', 'set', 'shout', 'showlist', 'simabort', 'simallabort', 'simadjourn', 'simalladjourn', 'simgames', 'simmatch', 'simnext', 'simobserve', 'simopen', 'simpass', 'simprev', 'smoves', 'smposition', 'sought', 'sposition', 'statistics', 'stored', 'style', 'sublist', 'switch', 'takeback', 'tell', 'time', 'unalias', 'unexamine', 'unobserve', 'unpause', 'unseek', 'uptime', 'ustat', 'variables', 'whisper', 'who', 'withdraw', 'xkibitz', 'xtell', 'xwhisper', 'znotify'] FICS_HELP = [ '_index', 'abort', 'abuse', 'academy', 'accept', 'addlist', 'addresses', 'adjourn', 'adjournments', 'adjudicate', 'adjudication', 'adm_app', 'adm_info', 'adm_new', 'admins', 'alias', 'allobservers', 'assess', 'atomic', 'audiochat', 'avail_vars', 'backward', 'bclock', 'bell', 'best', 'blind', 'blindfold', 'blindh', 'blitz', 'block_codes', 'bname', 'boards', 'brating', 'bsetup', 'bughouse', 'bughouse_strat', 'bugreport', 'bugwho', 'busy', 'ca', 'category', 'cbest', 'censor', 'chan_1', 'chan_4', 'channel', 'channel_list', 'channels', 'chess_adviser', 'chess_advisor', 'clearmessage', 'clearmessages', 'clock', 'clocks', 'clrsquare', 'cls', 'cls_info', 'command', 'commands', 'commit', 'computer_app', 'computer_list', 'computers', 'confidentiality', 'convert_bcf', 'convert_elo', 'convert_uscf', 'copygame', 'crank', 'crazyhouse', 'crazyhouse_strat', 'credit', 'crstat', 'cshout', 'csnewse', 'csnewsf', 'csnewsi', 'csnewsp', 'csnewst', 'date', 'decline', 'disclaimer', 'disconnection', 'draw', 'eco', 'eggo', 'email', 'etime', 'examine', 'exl', 'fen', 'fics_faq', 'fics_lingo', 'finger', 'flag', 'flip', 'fmessage', 'follow', 'formula', 'forward', 'fr', 'fr_rules', 'ftp_hints', 'games', 'games', 'getgame', 'getgi', 'getpi', 'ginfo', 'glicko', 'gnotify', 'goboard', 'handle', 'handles', 'hbest', 'help', 'highlight', 'history', 'hrank', 'hrstat', 'hstat', 'icsdrone', 'idlenotify', 'inchannel', 'index', 'indexfile', 'inetchesslib', 'info', 'intellegence', 'interfaces', 'intro_analysis', 'intro_basics', 'intro_general', 'intro_information', 'intro_moving', 'intro_playing', 'intro_settings', 'intro_talking', 'intro_welcome', 'irc_help', 'iset', 'it', 'iv_allresults', 'iv_atomic', 'iv_audiochat', 'iv_block', 'iv_boardinfo', 'iv_compressmove', 'iv_crazyhouse', 'iv_defprompt', 'iv_extascii', 'iv_extuserinfo', 'iv_fr', 'iv_gameinfo', 'iv_graph', 'iv_list', 'iv_lock', 'iv_pendinfo', 'iv_seekinfo', 'iv_seekremove', 'iv_startpos', 'ivariables', 'jkill', 'journal', 'jsave', 'kibitz', 'kiblevel', 'lag', 'lecture1', 'lessons', 'lightning', 'limits', 'links', 'lists', 'llogons', 'logons', 'losers', 'losers_chess', 'mailhelp', 'mailmess', 'mailmoves', 'mailoldmoves', 'mailstored', 'mamer', 'manual_usage', 'manual_vars', 'match', 'meeting_1_followup', 'meeting_1_long', 'meeting_1_short', 'meetings_index', 'messages', 'mexamine', 'moretime', 'motd', 'motd_fri', 'motd_help', 'motd_mon', 'motd_sat', 'motd_sun', 'motd_thu', 'motd_tue', 'motd_wed', 'moves', 'mule', 'new_features', 'newbie', 'news', 'next', 'noescape', 'noplay', 'notes', 'notify', 'observe', 'odds', 'oldmoves', 'oldpstat', 'open', 'partner', 'password', 'pause', 'pending', 'pfollow', 'pgn', 'ping', 'play', 'pobserve', 'powericsfaq', 'prefresh', 'primary', 'private', 'promote', 'pstat', 'ptell', 'ptime', 'qtell', 'quit', 'rank', 'rating_changes', 'ratings', 'rcopygame', 'rd', 'refresh', 'register', 'relay', 'relay_operator', 'rematch', 'replay', 'resign', 'result', 'resume', 'revert', 'rfollow', 'rmatch', 'robofics', 'robserve', 'rstat', 'sabort', 'say', 'sdraw', 'seek', 'servers', 'set', 'setup', 'shout', 'shout_quota', 'showadmins', 'showlist', 'showsrs', 'simabort', 'simadjourn', 'simallabort', 'simalladjourn', 'simgames', 'simmatch', 'simnext', 'simobserve', 'simopen', 'simpass', 'simprev', 'simuls', 'skype', 'smoves', 'smposition', 'sought', 'spending', 'sposition', 'sr', 'sr_info', 'standard', 'statistics', 'stats', 'stc', 'stored', 'style', 'style12', 'sublist', 'suicide_chess', 'summon', 'switch', 'system_alias', 'takeback', 'team', 'teamgames', 'tell', 'time', 'timeseal', 'timeseal_mac', 'timeseal_os2', 'timeseal_unix', 'timeseal_windows', 'timezones', 'tm', 'tomove', 'totals', 'totals_info', 'tournset', 'town_meetings', 'townmtg1', 'unalias', 'unexamine', 'unobserve', 'unpause', 'unseek', 'untimed', 'uptime', 'uscf', 'uscf_faq', 'ustat', 'v_autoflag', 'v_automail', 'v_availinfo', 'v_availmax', 'v_availmin', 'v_bell', 'v_bugopen', 'v_chanoff', 'v_cshout', 'v_ctell', 'v_echo', 'v_flip', 'v_formula', 'v_gin', 'v_height', 'v_highlight', 'v_inc', 'v_interface', 'v_jprivate', 'v_kibitz', 'v_kiblevel', 'v_language', 'v_mailmess', 'v_messreply', 'v_notakeback', 'v_notifiedby', 'v_open', 'v_pgn', 'v_pin', 'v_private', 'v_prompt', 'v_provshow', 'v_ptime', 'v_rated', 'v_ropen', 'v_seek', 'v_shout', 'v_silence', 'v_simopen', 'v_style', 'v_tell', 'v_time', 'v_tolerance', 'v_tourney', 'v_tzone', 'v_unobserve', 'v_width', 'variables', 'wclock', 'webpage', 'whenshut', 'whisper', 'who', 'wild', 'withdraw', 'wname', 'wrating', 'xkibitz', 'xtell', 'xwhisper', 'zhouse', 'znotify'] pychess-1.0.0/lib/pychess/ic/FICSConnection.py0000644000175000017500000004674513365545272020227 0ustar varunvarunimport asyncio import re import sys import socket import traceback from collections import defaultdict from concurrent.futures import CancelledError from gi.repository import GObject import pychess from pychess.compat import create_task from pychess.System.Log import log from pychess import ic from pychess.Utils.const import NAME, FISCHERRANDOMCHESS, LOSERSCHESS, ATOMICCHESS, CRAZYHOUSECHESS from .managers.SeekManager import SeekManager from .managers.FingerManager import FingerManager from .managers.NewsManager import NewsManager from .managers.BoardManager import BoardManager from .managers.OfferManager import OfferManager from .managers.ChatManager import ChatManager from .managers.ConsoleManager import ConsoleManager from .managers.HelperManager import HelperManager from .managers.ListAndVarManager import ListAndVarManager from .managers.AutoLogOutManager import AutoLogOutManager from .managers.ErrorManager import ErrorManager from .managers.AdjournManager import AdjournManager from .managers.ICCSeekManager import ICCSeekManager from .managers.ICCBoardManager import ICCBoardManager from .managers.ICCChatManager import ICCChatManager from .managers.ICCHelperManager import ICCHelperManager from .managers.ICCAdjournManager import ICCAdjournManager from .managers.ICCErrorManager import ICCErrorManager from .managers.ICCFingerManager import ICCFingerManager from .managers.ICCListAndVarManager import ICCListAndVarManager from .managers.ICCNewsManager import ICCNewsManager from .managers.ICCOfferManager import ICCOfferManager from .managers.ICCAutoLogOutManager import ICCAutoLogOutManager from .FICSObjects import FICSPlayers, FICSGames, FICSSeeks, FICSChallenges from .TimeSeal import CanceledException, ICSTelnet from .VerboseTelnet import LinePrediction, FromPlusPrediction, FromABPlusPrediction, \ FromToPrediction, PredictionsTelnet, NLinesPrediction class LogOnException(Exception): pass class Connection(GObject.GObject): __gsignals__ = { 'connecting': (GObject.SignalFlags.RUN_FIRST, None, ()), 'connectingMsg': (GObject.SignalFlags.RUN_FIRST, None, (str, )), 'connected': (GObject.SignalFlags.RUN_FIRST, None, ()), 'disconnected': (GObject.SignalFlags.RUN_FIRST, None, ()), 'error': (GObject.SignalFlags.RUN_FIRST, None, (object, )), } def __init__(self, host, ports, timeseal, username, password): GObject.GObject.__init__(self) self.daemon = True self.host = host self.ports = ports self.username = username self.password = password self.timeseal = timeseal self.connected = False self.connecting = False self.keep_alive_task = None self.predictions = set() self.predictionsDict = {} self.reply_cmd_dict = defaultdict(list) # Are we connected to FatICS ? self.FatICS = False self.USCN = False self.ICC = False self.replay_dg_dict = {} self.replay_cn_dict = {} @property def ics_name(self): if self.FatICS: return "FatICS" elif self.USCN: return "USCN" elif self.ICC: return "ICC" else: return "FICS" def expect(self, prediction): self.predictions.add(prediction) self.predictionsDict[prediction.callback] = prediction if hasattr(prediction.callback, "BLKCMD"): predictions = self.reply_cmd_dict[prediction.callback.BLKCMD] predictions.append(prediction) # Do reverse sorted so we can later test the longest predictions first. # This is so that matching prefers the longest match for matches # that start out with the same regexp line(s) self.reply_cmd_dict[prediction.callback.BLKCMD] = sorted( predictions, key=len, reverse=True) def unexpect(self, callback): self.predictions.remove(self.predictionsDict.pop(callback)) if hasattr(callback, "BLKCMD"): for prediction in self.reply_cmd_dict[callback.BLKCMD]: if prediction.callback == callback: self.reply_cmd_dict[callback.BLKCMD].remove(prediction) if len(self.reply_cmd_dict[callback.BLKCMD]) == 0: del self.reply_cmd_dict[callback.BLKCMD] def expect_dg_line(self, number, callback): self.replay_dg_dict[number] = callback def expect_cn_line(self, number, callback): self.replay_cn_dict[number] = callback def expect_line(self, callback, regexp): self.expect(LinePrediction(callback, regexp)) def expect_n_lines(self, callback, *regexps): self.expect(NLinesPrediction(callback, *regexps)) def expect_fromplus(self, callback, regexp0, regexp1): self.expect(FromPlusPrediction(callback, regexp0, regexp1)) def expect_fromABplus(self, callback, regexp0, regexp1, regexp2): self.expect(FromABPlusPrediction(callback, regexp0, regexp1, regexp2)) def expect_fromto(self, callback, regexp0, regexp1): self.expect(FromToPrediction(callback, regexp0, regexp1)) def cancel(self): raise NotImplementedError() def close(self): raise NotImplementedError() def getUsername(self): return self.username def isRegistred(self): return self.password is not None and self.password != "" def isConnected(self): return self.connected def isConnecting(self): return self.connecting EOF = _("The connection was broken - got \"end of file\" message") NOTREG = _("'%s' is not a registered name") BADPAS = _("The entered password was invalid.\n" + "If you forgot your password, go to " + "" + "http://www.freechess.org/password to request a new one over email.") ALREADYIN = _("Sorry '%s' is already logged in") REGISTERED = _( "'%s' is a registered name. If it is yours, type the password.") PREVENTED = _("Due to abuse problems, guest connections have been prevented.\n" + "You can still register on http://www.freechess.org") class FICSConnection(Connection): def __init__(self, host, ports, timeseal, username="guest", password=""): Connection.__init__(self, host, ports, timeseal, username, password) def _post_connect_hook(self, lines): pass def _start_managers(self): pass @asyncio.coroutine def _connect(self): self.connecting = True self.emit("connecting") try: self.emit('connectingMsg', _("Connecting to server")) for i, port in enumerate(self.ports): log.debug("Trying port %d" % port, extra={"task": (self.host, "raw")}) try: connected_event = asyncio.Event() self.client = ICSTelnet(self.timeseal) create_task(self.client.start(self.host, port, connected_event)) yield from connected_event.wait() except socket.error as err: log.debug("Failed to open port %d %s" % (port, err), extra={"task": (self.host, "raw")}) if i + 1 == len(self.ports): raise else: continue else: break yield from self.client.read_until("login: ") self.emit('connectingMsg', _("Logging on to server")) # login with registered handle if self.password: self.client.write(self.username) got = yield from self.client.read_until( "password:", "enter the server as", "Try again.") if got == 0: self.client.sensitive = True self.client.write(self.password) # No such name elif got == 1: raise LogOnException(NOTREG % self.username) # Bad name elif got == 2: raise LogOnException(NOTREG % self.username) else: if self.username: self.client.write(self.username) else: self.client.write("guest") got = yield from self.client.read_until( "Press return", "You are connected as a guest", "If it is yours, type the password.", "guest connections have been prevented", "nobody from your site may login without an account.") # got = 3 if got == 2: raise LogOnException(REGISTERED % self.username) elif got == 3 or got == 4: raise LogOnException(PREVENTED) self.client.write("") while True: line = yield from self.client.readline() if "Invalid password" in line: raise LogOnException(BADPAS) elif "is already logged in" in line: raise LogOnException(ALREADYIN % self.username) match = re.search( "\*\*\*\* Starting FICS session as " + "(%s)%s \*\*\*\*" % (ic.NAMES_RE, ic.TITLES_RE), line) if match: self.username = match.groups()[0] break # USCN specific line match = re.search("Created temporary login '(%s)'" % ic.NAMES_RE, line) if match: self.username = match.groups()[0] break match = re.search("For a list of events, click here:", line) if match: break # ICC specific line match = re.search("help anonymous", line) if match: break match = re.search("This is the admin message of the day", line) if match: break self.emit('connectingMsg', _("Setting up environment")) lines = yield from self.client.readuntil(b"ics%") self._post_connect_hook(lines) self.FatICS = self.client.FatICS self.USCN = self.client.USCN self.ICC = self.client.ICC self.client.name = self.username self.client = PredictionsTelnet(self.client, self.predictions, self.reply_cmd_dict, self.replay_dg_dict, self.replay_cn_dict) self.client.lines.line_prefix = "aics%" if self.ICC else "fics%" if not self.USCN and not self.ICC: self.client.run_command("iset block 1") self.client.lines.block_mode = True if self.ICC: self.client.run_command("set level1 5") self.client.run_command("set prompt 0") self.client.lines.datagram_mode = True ic.GAME_TYPES_BY_SHORT_FICS_NAME["B"] = ic.GAME_TYPES["bullet"] ic.VARIANT_GAME_TYPES[ATOMICCHESS] = ic.GAME_TYPES["w27"] ic.VARIANT_GAME_TYPES[CRAZYHOUSECHESS] = ic.GAME_TYPES["w23"] ic.VARIANT_GAME_TYPES[LOSERSCHESS] = ic.GAME_TYPES["w17"] ic.VARIANT_GAME_TYPES[FISCHERRANDOMCHESS] = ic.GAME_TYPES["w22"] else: ic.GAME_TYPES_BY_SHORT_FICS_NAME["B"] = ic.GAME_TYPES["bughouse"] ic.VARIANT_GAME_TYPES[ATOMICCHESS] = ic.GAME_TYPES["atomic"] ic.VARIANT_GAME_TYPES[CRAZYHOUSECHESS] = ic.GAME_TYPES["crazyhouse"] ic.VARIANT_GAME_TYPES[LOSERSCHESS] = ic.GAME_TYPES["losers"] ic.VARIANT_GAME_TYPES[FISCHERRANDOMCHESS] = ic.GAME_TYPES["wild/fr"] self.client.run_command("iset defprompt 1") self.client.run_command("iset ms 1") self._start_managers(lines) self.connecting = False self.connected = True self.emit("connected") @asyncio.coroutine def keep_alive(): while self.isConnected(): self.client.run_command("date") yield from asyncio.sleep(30 * 60) self.keep_alive_task = create_task(keep_alive()) except CanceledException as err: log.info("FICSConnection._connect: %s" % repr(err), extra={"task": (self.host, "raw")}) finally: self.connecting = False @asyncio.coroutine def start(self): try: if not self.isConnected(): yield from self._connect() while self.isConnected(): yield from self.client.parse() except CancelledError: pass except Exception as err: exc_type, exc_value, exc_traceback = sys.exc_info() traceback.print_exception(exc_type, exc_value, exc_traceback) log.info("FICSConnection.run: %s" % repr(err), extra={"task": (self.host, "raw")}) self.close() if isinstance(err, (IOError, LogOnException, EOFError, socket.error, socket.gaierror, socket.herror)): self.emit("error", err) else: raise finally: if isinstance(self, FICSMainConnection): self.emit("disconnected") def cancel(self): self.close() if hasattr(self, "client"): self.client.cancel() def close(self): self.connected = False if hasattr(self, "client"): self.client.close() if self.keep_alive_task is not None: self.keep_alive_task.cancel() class FICSMainConnection(FICSConnection): def __init__(self, host, ports, timeseal, username="guest", password=""): FICSConnection.__init__(self, host, ports, timeseal, username, password) self.lvm = None self.notify_users = [] self.ini_messages = [] self.players = FICSPlayers(self) self.games = FICSGames(self) self.seeks = FICSSeeks(self) self.challenges = FICSChallenges(self) self.archived_examine = None self.examined_game = None self.stored_owner = self.username self.history_owner = self.username self.journal_owner = self.username self.set_user_vars = False def close(self): if isinstance(self.client, PredictionsTelnet) and self.set_user_vars: self.client.run_command("set open 0") self.client.run_command("set gin 0") self.client.run_command("set availinfo 0") try: self.lvm.stop() except AttributeError: pass except Exception as err: if not isinstance(err, (IOError, LogOnException, EOFError, socket.error, socket.gaierror, socket.herror)): raise finally: FICSConnection.close(self) def _post_connect_hook(self, lines): self.ini_messages = lines.splitlines() notify_users = re.search("Present company includes: ((?:%s ?)+)\." % ic.NAMES_RE, lines) if notify_users: self.notify_users.extend(notify_users.groups()[0].split()) def _start_managers(self, lines): self.client.run_command("set interface %s %s" % (NAME, pychess.VERSION)) # FIXME: Some managers use each other to avoid regexp collapse. To # avoid having to init the in a specific order, connect calls should # be moved to a "start" function, so all managers would be in # the connection object when they are called if self.ICC: self.lvm = ICCListAndVarManager(self) self.em = ICCErrorManager(self) self.glm = ICCSeekManager(self) self.bm = ICCBoardManager(self) self.cm = ICCChatManager(self) self.adm = ICCAdjournManager(self) self.fm = ICCFingerManager(self) self.nm = ICCNewsManager(self) self.om = ICCOfferManager(self) self.alm = ICCAutoLogOutManager(self) else: self.lvm = ListAndVarManager(self) self.em = ErrorManager(self) self.glm = SeekManager(self) self.bm = BoardManager(self) self.cm = ChatManager(self) self.adm = AdjournManager(self) self.fm = FingerManager(self) self.nm = NewsManager(self) self.om = OfferManager(self) self.alm = AutoLogOutManager(self) self.com = ConsoleManager(self) self.bm.start() self.players.start() self.games.start() self.seeks.start() self.challenges.start() # This block may useful if one wants to create # unit test lines from real life fics output if False: self.client.run_command("set seek 0") self.client.run_command("set shout 0") self.client.run_command("set cshout 0") self.client.run_command("iset seekinfo 0") self.client.run_command("iset seekremove 0") self.client.run_command("iset showownseek 0") self.client.run_command("iset allresults 0") self.client.run_command("iset pin 0") self.client.run_command("set open 0") self.client.run_command("set gin 0") self.client.run_command("set availinfo 0") def start_helper_manager(self, set_user_vars): # if guest accounts disabled we will handle players in the main connection if self.FatICS or self.USCN or self.ICC: self.client.run_command("set pin 1") else: self.client.run_command("iset allresults 1") # ivar pin: http://www.freechess.org/Help/HelpFiles/new_features.html self.client.run_command("iset pin 1") self.set_user_vars = set_user_vars if self.set_user_vars: self.client.run_command("set open 1") self.client.run_command("set gin 1") self.client.run_command("set availinfo 1") if self.ICC: self.hm = ICCHelperManager(self, self) else: self.hm = HelperManager(self, self) # disable setting iveriables from console self.client.run_command("iset lock 1") class FICSHelperConnection(FICSConnection): def __init__(self, main_conn, host, ports, timeseal, username="guest", password=""): FICSConnection.__init__(self, host, ports, timeseal, username, password) self.main_conn = main_conn def _start_managers(self, lines): # The helper just wants only player and game notifications # set open 1 is a requirement for availinfo notifications self.client.run_command("set open 1") self.client.run_command("set seek 0") self.client.run_command("set shout 0") self.client.run_command("set cshout 0") self.client.run_command("set tell 0") self.client.run_command("set chanoff 1") self.client.run_command("set gin 1") self.client.run_command("set availinfo 1") if self.FatICS or self.USCN or self.ICC: self.client.run_command("set pin 1") else: self.client.run_command("iset allresults 1") # ivar pin: http://www.freechess.org/Help/HelpFiles/new_features.html self.client.run_command("iset pin 1") self.hm = HelperManager(self, self.main_conn) pychess-1.0.0/lib/pychess/ic/ICLogon.py0000644000175000017500000003507013415426304016730 0ustar varunvarun import asyncio import re import socket import webbrowser from collections import defaultdict from gi.repository import Gdk from gi.repository import Gtk from gi.repository import GLib from gi.repository import GObject from pychess.compat import create_task from pychess.System import uistuff, conf from pychess.widgets import mainwindow from pychess.ic.FICSConnection import FICSMainConnection, FICSHelperConnection, LogOnException from pychess.perspectives import perspective_manager host = None port = None dialog = None def run(): global dialog dialog.widgets["fics_logon"].set_transient_for(mainwindow()) if dialog.lounge: dialog.lounge.present() else: dialog.present() def stop(): global dialog if dialog is not None: dialog._disconnect() class AutoLogoutException(Exception): pass class ICLogon: def __init__(self): self.connection = None self.helperconn = None self.connection_task = None self.helperconn_task = None self.lounge = None self.canceled = False self.cids = defaultdict(list) self.widgets = uistuff.GladeWidgets("fics_logon.glade") uistuff.keepWindowSize("fics_logon", self.widgets["fics_logon"], defaultPosition=uistuff.POSITION_GOLDEN) self.widgets["fics_logon"].connect( 'key-press-event', lambda w, e: e.keyval == Gdk.KEY_Escape and w.hide()) self.ics = "FICS" self.as_guest = self.widgets["logOnAsGuest"] self.widgets["logOnAsGuest"].connect("toggled", self.on_logOnAsGuest_toggled) def on_username_changed(widget): conf.set("usernameEntry", self.user_name_get_value(widget), section=self.ics) self.widgets["nameEntry"].connect("changed", on_username_changed) def on_password_changed(widget): conf.set("passwordEntry", widget.get_text(), section=self.ics) self.widgets["passEntry"].connect("changed", on_password_changed) def on_host_changed(widget): conf.set("hostEntry", self.host_get_value(widget), section=self.ics) self.widgets["hostEntry"].connect("changed", on_host_changed) self.widgets["timesealCheck"].connect("toggled", self.on_timeseal_toggled) self.infobar = Gtk.InfoBar() self.infobar.set_message_type(Gtk.MessageType.WARNING) # self.widgets["messagePanelHBox"].pack_start(self.infobar, # expand=False, fill=False) self.widgets["messagePanelHBox"].pack_start(self.infobar, False, False, 0) self.widgets["cancelButton"].connect("clicked", self.onCancel, True) self.widgets["stopButton"].connect("clicked", self.onCancel, False) self.widgets["createNewButton"].connect("clicked", self.onCreateNew) self.widgets["connectButton"].connect("clicked", self.onConnectClicked) self.widgets["progressbar"].set_show_text(True) def get_user_names(self, value=None): """ Split and return usernameEntry config item into registered and guest username """ if value is not None: names = value.split("|") else: names = conf.get("usernameEntry", section=self.ics).split("|") if len(names) == 0: names = ["", ""] elif len(names) < 2: names.append(names[0]) return names def user_name_get_value(self, entry): names = self.get_user_names() if self.as_guest.get_active(): text = "%s|%s" % (names[0], entry.get_text()) else: text = "%s|%s" % (entry.get_text(), names[1]) return text def user_name_set_value(self, entry, value): names = self.get_user_names(value=value) if self.as_guest.get_active(): entry.set_text(names[1]) else: entry.set_text(names[0]) # workaround to FICS Password input doesnt handle strings starting with a number # https://github.com/pychess/pychess/issues/1375 def password_set_value(self, entry, value): entry.set_text(str(value)) # workaround to Can't type IP to FICS login dialog # https://github.com/pychess/pychess/issues/1360 def host_get_value(self, entry): return entry.get_text().replace(".", "|") def host_set_value(self, entry, value): entry.set_text(str(value).replace("|", ".")) def on_logOnAsGuest_toggled(self, widget): names = self.get_user_names() self.widgets["nameEntry"].set_text(names[1] if widget.get_active() else names[0]) if self.ics == "ICC": self.widgets["nameLabel"].set_sensitive(not widget.get_active()) self.widgets["nameEntry"].set_sensitive(not widget.get_active()) else: self.widgets["nameLabel"].set_sensitive(True) self.widgets["nameEntry"].set_sensitive(True) self.widgets["passwordLabel"].set_sensitive(not widget.get_active()) self.widgets["passEntry"].set_sensitive(not widget.get_active()) conf.set("asGuestCheck", widget.get_active(), section=self.ics) def on_timeseal_toggled(self, widget): conf.set("timesealCheck", widget.get_active(), section=self.ics) def on_ics_combo_changed(self, combo): tree_iter = combo.get_active_iter() if tree_iter is not None: model = combo.get_model() self.ics = model[tree_iter][0] # print("Selected: %s" % self.ics) self.widgets["logOnAsGuest"].set_active(conf.get("asGuestCheck", section=self.ics)) self.on_logOnAsGuest_toggled(self.widgets["logOnAsGuest"]) self.user_name_set_value(self.widgets["nameEntry"], conf.get("usernameEntry", section=self.ics)) self.password_set_value(self.widgets["passEntry"], conf.get("passwordEntry", section=self.ics)) self.host_set_value(self.widgets["hostEntry"], conf.get("hostEntry", section=self.ics)) self.widgets["timesealCheck"].set_active(conf.get("timesealCheck", section=self.ics)) self.on_timeseal_toggled(self.widgets["timesealCheck"]) def _disconnect(self): for obj in self.cids: for cid in self.cids[obj]: if obj.handler_is_connected(cid): obj.disconnect(cid) self.cids.clear() if self.connection is not None: self.connection.close() if not self.connection_task.cancelled(): self.connection_task.cancel() self.connection = None if self.helperconn is not None: self.helperconn.close() if not self.helperconn_task.cancelled(): self.helperconn_task.cancel() self.helperconn = None self.lounge = None def _cancel(self): if self.connection is not None: self.connection.cancel() if self.helperconn is not None: self.helperconn.cancel() self._disconnect() def show(self): self.widgets["fics_logon"].show() def present(self): self.widgets["fics_logon"].present() def hide(self): self.widgets["fics_logon"].hide() def showConnecting(self): self.widgets["progressbarBox"].show() self.widgets["mainbox"].set_sensitive(False) self.widgets["connectButton"].hide() self.widgets["stopButton"].show() def pulse(): self.widgets["progressbar"].pulse() if self.connection is None: return False else: return not self.connection.isConnected() self.pulser = GLib.timeout_add(30, pulse) def showNormal(self): self.widgets["mainbox"].set_sensitive(True) self.widgets["connectButton"].show() self.widgets["fics_logon"].set_default(self.widgets["connectButton"]) self.widgets["stopButton"].hide() self.widgets["progressbarBox"].hide() self.widgets["progressbar"].set_text("") GObject.source_remove(self.pulser) def showMessage(self, connection, message): self.widgets["progressbar"].set_text(message) def showError(self, connection, error): text = str(error) if isinstance(error, IOError): title = _("Connection Error") elif isinstance(error, LogOnException): title = _("Log on Error") elif isinstance(error, EOFError): title = _("Connection was closed") elif isinstance(error, socket.error): title = _("Connection Error") text = ", ".join(map(str, error.args)) elif isinstance(error, socket.gaierror) or \ isinstance(error, socket.herror): title = _("Address Error") text = ", ".join(map(str, error.args)) elif isinstance(error, AutoLogoutException): title = _("Auto-logout") text = _( "You have been logged out because you were idle more than 60 minutes") else: title = str(error.__class__) self.showNormal() content_area = self.infobar.get_content_area() for widget in content_area: content_area.remove(widget) content = Gtk.HBox() image = Gtk.Image() image.set_from_stock(Gtk.STOCK_DIALOG_WARNING, Gtk.IconSize.DIALOG) content.pack_start(image, False, False, 0) vbox = Gtk.VBox() label = Gtk.Label() label.props.xalign = 0 label.props.justify = Gtk.Justification.LEFT label.set_markup("%s" % title) vbox.pack_start(label, True, False, 0) for line in str(text).split("\n"): label = Gtk.Label() label.set_size_request(476, -1) label.props.selectable = True label.props.wrap = True label.props.xalign = 0 label.props.justify = Gtk.Justification.LEFT label.set_markup(line) vbox.pack_start(label, True, False, 0) content.pack_start(vbox, False, False, 7) content_area.add(content) self.widgets["messagePanel"].show_all() def onCreateNew(self, button): if self.widgets["hostEntry"].get_text() == "chessclub.com": webbrowser.open("https://store.chessclub.com/customer/account/create/") else: webbrowser.open("http://www.freechess.org/Register/index.html") def onConnectClicked(self, button): self.canceled = False self.widgets["messagePanel"].hide() if self.widgets["logOnAsGuest"].get_active(): username = self.widgets["nameEntry"].get_text() password = "" else: username = self.widgets["nameEntry"].get_text() password = self.widgets["passEntry"].get_text() if port: ports = (port, ) else: ports = self.widgets["portsEntry"].get_text() ports = list(map(int, re.findall("\d+", ports))) if 5000 not in ports: ports.append(5000) if 23 not in ports: ports.append(23) alternate_host = self.widgets["hostEntry"].get_text() timeseal = self.widgets["timesealCheck"].get_active() self.showConnecting() self.host = host if host is not None else alternate_host if alternate_host else "freechess.org" self.connection = FICSMainConnection(self.host, ports, timeseal, username, password) for signal, callback in (("connected", self.onConnected), ("error", self.onConnectionError), ("connectingMsg", self.showMessage)): self.cids[self.connection].append(self.connection.connect(signal, callback)) self.main_connected_event = asyncio.Event() self.connection_task = create_task(self.connection.start()) # guest users are rather limited on ICC (helper connection is useless) if self.host not in ("localhost", "127.0.0.1", "chessclub.com"): self.helperconn = FICSHelperConnection(self.connection, self.host, ports, timeseal) self.helperconn.connect("error", self.onHelperConnectionError) @asyncio.coroutine def coro(): yield from self.main_connected_event.wait() yield from self.helperconn.start() self.helperconn_task = create_task(coro()) def onHelperConnectionError(self, connection, error): if self.helperconn is not None: dialog = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.QUESTION, buttons=Gtk.ButtonsType.YES_NO) dialog.set_markup(_("Guest logins disabled by FICS server")) text = "PyChess can maintain users status and games list only if it changes\n\ 'open', 'gin' and 'availinfo' user variables.\n\ Do you enable to set these variables on?" dialog.format_secondary_text(text) response = dialog.run() dialog.destroy() self.helperconn.cancel() self.helperconn.close() self.helperconn = None set_user_vars = response == Gtk.ResponseType.YES @asyncio.coroutine def coro(): yield from self.main_connected_event.wait() self.connection.start_helper_manager(set_user_vars) create_task(coro()) def onConnected(self, connection): self.main_connected_event.set() if connection.ICC: self.connection.start_helper_manager(True) self.lounge = perspective_manager.get_perspective("fics") self.lounge.open_lounge(connection, self.helperconn, self.host) self.hide() self.lounge.show() self.lounge.connect("logout", lambda iclounge: self.onLogout(connection)) self.cids[self.lounge].append(self.lounge.connect( "autoLogout", lambda lounge: self.onAutologout(connection))) self.showNormal() self.widgets["messagePanel"].hide() def onCancel(self, widget, hide): self.canceled = True if self.connection and self.connection.isConnecting(): self._cancel() self.showNormal() if hide: self.widgets["fics_logon"].hide() def onConnectionError(self, connection, error): self._disconnect() if not self.canceled: self.showError(connection, error) self.present() def onLogout(self, connection): self._disconnect() def onAutologout(self, connection): self._disconnect() self.showError(connection, AutoLogoutException()) self.present() pychess-1.0.0/lib/pychess/ic/icc.py0000644000175000017500000001575413353143212016176 0ustar varunvarun""" Internal datagram codes used in ICC level 2. unit format see https://www.chessclub.com/user/resources/formats/formats.txt This is somewhat similar to fics block mode. The main difference is fics block mode works 'all or nothing' meaning when you switch to use it all commands you send and resposes you get have to (or will) use it. ICC datagram format are used for responses only and is more forgiving. You can set it for individual responses one by one or for all at once at login time. """ MY_ICC_PREFIX = "#" UNIT_START = chr(25) + '[' UNIT_END = chr(25) + ']' B_UNIT_END = b'\x19]' DTGR_START = chr(25) + '(' DTGR_END = chr(25) + ')' B_DTGR_END = b'\x19)' DG_WHO_AM_I = 0 DG_PLAYER_ARRIVED = 1 DG_PLAYER_LEFT = 2 DG_BULLET = 3 DG_BLITZ = 4 DG_STANDARD = 5 DG_WILD = 6 DG_BUGHOUSE = 7 DG_TIMESTAMP = 8 DG_TITLES = 9 DG_OPEN = 10 DG_STATE = 11 DG_GAME_STARTED = 12 DG_GAME_RESULT = 13 DG_EXAMINED_GAME_IS_GONE = 14 DG_MY_GAME_STARTED = 15 DG_MY_GAME_RESULT = 16 DG_MY_GAME_ENDED = 17 DG_STARTED_OBSERVING = 18 DG_STOP_OBSERVING = 19 DG_PLAYERS_IN_MY_GAME = 20 DG_OFFERS_IN_MY_GAME = 21 DG_TAKEBACK = 22 DG_BACKWARD = 23 DG_SEND_MOVES = 24 DG_MOVE_LIST = 25 DG_KIBITZ = 26 DG_PEOPLE_IN_MY_CHANNEL = 27 DG_CHANNEL_TELL = 28 DG_MATCH = 29 DG_MATCH_REMOVED = 30 DG_PERSONAL_TELL = 31 DG_SHOUT = 32 DG_MOVE_ALGEBRAIC = 33 DG_MOVE_SMITH = 34 DG_MOVE_TIME = 35 DG_MOVE_CLOCK = 36 DG_BUGHOUSE_HOLDINGS = 37 DG_SET_CLOCK = 38 DG_FLIP = 39 DG_ISOLATED_BOARD = 40 DG_REFRESH = 41 DG_ILLEGAL_MOVE = 42 DG_MY_RELATION_TO_GAME = 43 DG_PARTNERSHIP = 44 DG_SEES_SHOUTS = 45 DG_CHANNELS_SHARED = 46 DG_MY_VARIABLE = 47 DG_MY_STRING_VARIABLE = 48 DG_JBOARD = 49 DG_SEEK = 50 DG_SEEK_REMOVED = 51 DG_MY_RATING = 52 DG_SOUND = 53 DG_PLAYER_ARRIVED_SIMPLE = 55 DG_MSEC = 56 DG_BUGHOUSE_PASS = 57 DG_IP = 58 DG_CIRCLE = 59 DG_ARROW = 60 DG_MORETIME = 61 DG_PERSONAL_TELL_ECHO = 62 DG_SUGGESTION = 63 DG_NOTIFY_ARRIVED = 64 DG_NOTIFY_LEFT = 65 DG_NOTIFY_OPEN = 66 DG_NOTIFY_STATE = 67 DG_MY_NOTIFY_LIST = 68 DG_LOGIN_FAILED = 69 DG_FEN = 70 DG_TOURNEY_MATCH = 71 DG_GAMELIST_BEGIN = 72 DG_GAMELIST_ITEM = 73 DG_IDLE = 74 DG_ACK_PING = 75 DG_RATING_TYPE_KEY = 76 DG_GAME_MESSAGE = 77 DG_UNACCENTED = 78 DG_STRINGLIST_BEGIN = 79 DG_STRINGLIST_ITEM = 80 DG_DUMMY_RESPONSE = 81 DG_CHANNEL_QTELL = 82 DG_PERSONAL_QTELL = 83 DG_SET_BOARD = 84 DG_MATCH_ASSESSMENT = 85 DG_LOG_PGN = 86 DG_NEW_MY_RATING = 87 DG_LOSERS = 88 DG_UNCIRCLE = 89 DG_UNARROW = 90 DG_WSUGGEST = 91 DG_TEMPORARY_PASSWORD = 93 DG_MESSAGELIST_BEGIN = 94 DG_MESSAGELIST_ITEM = 95 DG_LIST = 96 DG_SJI_AD = 97 DG_RETRACT = 99 DG_MY_GAME_CHANGE = 100 DG_POSITION_BEGIN = 101 DG_TOURNEY = 103 DG_REMOVE_TOURNEY = 104 DG_DIALOG_START = 105 DG_DIALOG_DATA = 106 DG_DIALOG_DEFAULT = 107 DG_DIALOG_END = 108 DG_DIALOG_RELEASE = 109 DG_POSITION_BEGIN2 = 110 DG_PAST_MOVE = 111 DG_PGN_TAG = 112 DG_IS_VARIATION = 113 DG_PASSWORD = 114 DG_WILD_KEY = 116 DG_SWITCH_SERVERS = 120 DG_CRAZYHOUSE = 121 DG_SET2 = 124 DG_FIVEMINUTE = 125 DG_ONEMINUTE = 126 DG_TRANSLATIONOKAY = 129 DG_UID = 131 DG_KNOWS_FISCHER_RANDOM = 132 DG_COMMAND = 136 DG_TOURNEY_GAME_STARTED = 137 DG_TOURNEY_GAME_ENDED = 138 DG_MY_TURN = 139 DG_CORRESPONDENCE_RATING = 140 DG_DISABLE_PREMOVE = 141 DG_PSTAT = 142 DG_BOARDINFO = 143 DG_MOVE_LAG = 144 DG_FIFTEENMINUTE = 145 DG_PHRASELIST_UPDATE = 146 DG_PHRASELIST_ITEM = 147 DG_MENU_SPEAK = 148 DG_THREEMINUTE = 149 DG_FORTYFIVEMINUTE = 150 DG_CHESS960 = 151 SCN_UNKNOWN = 0 SCN_ILLEGAL_MOVE = 1 SCN_MOVE = 2 SCN_EDIT_EXAMINED = 3 SCN_PING_RESPONSE = 10 SCN_WEIRD = 11 SCN_REALLY_LOG_IN = 12 SCN_MOED = 13 SCN_EVENTS = 14 SCN_NEWS = 15 SCN_LOGOUT = 16 SCN_TIMEOUT = 17 SCN_CONNECT = 18 SCN_REALLY_QUIT = 19 SCN_LOGIN = 20 SCN_PASSWORD = 21 SCN_REGISTRATION = 22 SCN_EXTENSION = 23 SCN_AUTHENTICATION = 24 SCN_BAD = 25 SCN_AUTOMATIC = 26 SCN_CONFIRM = 27 SCN_MULTI_DISCARD = 28 SCN_IDLE = 29 SCN_ACK_PING = 30 SCN_MISCELLANEOUS = 31 CN_TELL = 101 CN_I = 102 CN_SHOUT = 103 CN_SHOUT0 = 104 CN_SLASH = 105 CN_WHO = 106 CN_SET = 107 CN_FLAG = 108 CN_SAY = 109 CN_CHANNELTELL = 110 CN_SSHOUT = 111 CN_BAD = 112 CN_KIBITZ = 113 CN_WHISPER = 114 CN_EXAMINE = 115 CN_MEXAMINE = 116 CN_COPYGAME0 = 117 CN_COPYGAME = 118 CN_FORWARD = 119 CN_BACK = 120 CN_MATCH = 121 CN_MATCH0 = 122 CN_ACCEPT = 123 CN_HELP0 = 124 CN_HELP = 125 CN_MORE = 126 CN_NEWS = 127 CN_NEWS0 = 128 CN_HISTORY = 129 CN_FINGER = 130 CN_VARS = 131 CN_UPSTATISTICS = 132 CN_UNEXAMINE = 133 CN_ADJOURN = 134 CN_ASSESS = 135 CN_OBSERVE0 = 136 CN_OBSERVE = 137 CN_FOLLOW0 = 138 CN_FOLLOW = 139 CN_ECO = 140 CN_STYLE = 141 CN_BELL = 142 CN_OPEN = 143 CN_DECLINE = 144 CN_REFRESH = 145 CN_RESIGNADJ = 146 CN_REVERT = 147 CN_RATED = 148 CN_RANK = 149 CN_MOVES = 150 CN_MAILOLDMOVES = 151 CN_MAILSTORED = 152 CN_MAILHELP = 153 CN_PENDING = 154 CN_GAMES = 155 CN_ABORT = 156 CN_ALLOBSERVERS = 157 CN_INCHANNEL = 158 CN_INFO = 159 CN_MORETIME = 160 CN_BEST = 161 CN_QUIT = 162 CN_QUOTA = 163 CN_LLOGONS = 164 CN_LHISTORY = 165 CN_LOGONS = 166 CN_TIME = 167 CN_TAKEBACK = 168 CN_SEARCH = 169 CN_SEARCH0 = 170 CN_SMOVES = 171 CN_SPOSITION = 172 CN_PASSWORD = 173 CN_MESSAGE = 174 CN_MESSAGE0 = 175 CN_CLEARMESSAGES = 176 CN_DATE = 177 CN_LIST = 178 CN_PLUS = 179 CN_MINUS = 180 CN_ZNOTL = 181 CN_FLIP = 182 CN_PROMOTE = 183 CN_EXPUNGE = 184 CN_IWCMATCH = 185 CN_LIMITS = 186 CN_PING = 187 CN_EXTEND = 188 CN_QTELL = 189 CN_GETPI = 190 CN_STARTSIMUL = 191 CN_GOTO = 192 CN_SETCLOCK = 193 CN_LIBLIST = 194 CN_LIBSAVE = 195 CN_LIBDELETE = 196 CN_LIBANNOTATE = 197 CN_LIBKEEPEXAM = 198 CN_PARTNER = 199 CN_PARTNER0 = 200 CN_PTELL = 201 CN_BUGWHO = 202 CN_WILDRANK = 204 CN_XOBSERVE = 205 CN_PRIMARY = 206 CN_DRAW = 207 CN_RESIGN = 208 CN_STATISTICS = 209 CN_STORED = 210 CN_CHANNELQTELL = 211 CN_XPARTNER = 212 CN_YFINGER = 213 CN_SEEKING = 214 CN_SOUGHT = 215 CN_SET2 = 216 CN_PLAY = 217 CN_UNSEEKING = 218 CN_AWAY = 219 CN_LAGSTATS = 220 CN_COMMANDS = 221 CN_REMATCH = 222 CN_REGISTER = 223 CN_RESUME = 224 CN_CIRCLE = 225 CN_ARROW = 226 CN_BLANKING = 227 CN_RELAY = 228 CN_LOADGAME = 229 CN_DRAWADJ = 230 CN_ABORTADJ = 231 CN_MAILNEWS = 232 CN_QSET = 233 CN_CC_START = 234 CN_CC_LIST = 235 CN_CC_MOVE = 236 CN_CC_DELETE = 237 CN_CC_QSTART = 238 CN_CC_QLIST = 239 CN_CC_QLABEL = 240 CN_CC_QDELETE = 241 CN_CC_QADJUDICATE = 242 CN_CC_ASK_DIRECTOR = 243 CN_LOADFEN = 244 CN_GETPX = 245 CN_UNRELAYED = 246 CN_NORELAY = 247 CN_REFER = 248 CN_PGN = 249 CN_SPGN = 250 CN_QFOLLOW = 251 CN_QUNFOLLOW = 252 CN_QMATCH = 253 CN_QPARTNER = 254 CN_ISREGNAME = 255 CN_REQUIRETICKET = 256 CN_ANNOTATE = 257 CN_CLEARBOARD = 258 CN_REQUEST_WIN = 259 CN_REQUEST_DRAW = 260 CN_REQUEST_ABORT = 261 CN_LOGPGN = 262 CN_RESULT = 263 CN_FEN = 264 CN_SFEN = 265 CN_SETGAMEPARAM = 266 CN_TAG = 267 CN_TOMOVE = 268 CN_REGENTRY = 269 CN_PERSONALINFO = 270 CN_EVENTS = 271 CN_QADDEVENT = 272 CN_GLISTGROUPS = 273 CN_GLISTMEMBERS = 274 CN_GINVITE = 275 CN_GJOIN = 276 CN_GLISTINVITED = 277 CN_GLISTJOINING = 278 CN_GDESCRIBE = 279 CN_GKICK = 280 CN_GBEST = 281 CN_SIMULIZE = 282 CN_GAMEID = 283 CN_THREEMIN = 92 CN_FIVEMINUTE = 284 CN_QIMPART = 285 CN_GMESSAGE = 286 CN_COMPLAIN = 287 CN_LASTTELLS = 288 CN_VIEW = 289 CN_SHOWADMIN = 290 CN_PSTAT = 291 CN_BOARDINFO = 292 pychess-1.0.0/lib/pychess/ic/managers/0000755000175000017500000000000013467766037016675 5ustar varunvarunpychess-1.0.0/lib/pychess/ic/managers/ICCAutoLogOutManager.py0000644000175000017500000000041013353143212023070 0ustar varunvarunfrom gi.repository import GObject from pychess.ic.managers.AutoLogOutManager import AutoLogOutManager class ICCAutoLogOutManager(AutoLogOutManager): def __init__(self, connection): GObject.GObject.__init__(self) self.connection = connection pychess-1.0.0/lib/pychess/ic/managers/ICCChatManager.py0000644000175000017500000001762713353143212021727 0ustar varunvarunfrom gi.repository import GLib, GObject from pychess.ic import GAME_TYPES from pychess.ic.icc import DG_PLAYERS_IN_MY_GAME, DG_KIBITZ, DG_PERSONAL_TELL, \ DG_SHOUT, DG_CHANNEL_TELL, DG_PEOPLE_IN_MY_CHANNEL, DG_CHANNELS_SHARED from pychess.ic.managers.ChatManager import ChatManager CHANNEL_SHOUT = "shout" CHANNEL_CSHOUT = "cshout" class ICCChatManager(ChatManager): def __init__(self, connection): GObject.GObject.__init__(self) self.connection = connection self.connection.expect_dg_line(DG_PLAYERS_IN_MY_GAME, self.on_icc_players_in_my_game) self.connection.expect_dg_line(DG_KIBITZ, self.on_icc_kibitz) self.connection.expect_dg_line(DG_PERSONAL_TELL, self.on_icc_personal_tell) self.connection.expect_dg_line(DG_SHOUT, self.on_icc_shout) self.connection.expect_dg_line(DG_CHANNEL_TELL, self.on_icc_channel_tell) self.connection.expect_dg_line(DG_PEOPLE_IN_MY_CHANNEL, self.on_icc_people_in_my_channel) self.connection.expect_dg_line(DG_CHANNELS_SHARED, self.on_icc_channels_shared) self.connection.client.run_command("set-2 %s 1" % DG_PLAYERS_IN_MY_GAME) self.connection.client.run_command("set-2 %s 1" % DG_KIBITZ) self.connection.client.run_command("set-2 %s 1" % DG_PERSONAL_TELL) self.connection.client.run_command("set-2 %s 1" % DG_SHOUT) self.connection.client.run_command("set-2 %s 1" % DG_CHANNEL_TELL) self.connection.client.run_command("set-2 %s 1" % DG_PEOPLE_IN_MY_CHANNEL) self.connection.client.run_command("set-2 %s 1" % DG_CHANNELS_SHARED) self.currentLogChannel = None self.connection.client.run_command("set Lang English") self.connection.client.run_command("set height 240") self.connection.client.run_command("inchannel %s" % self.connection.username) self.connection.client.run_command("help channel_list") self.observers = {} self.channels = [(CHANNEL_SHOUT, _("Shout")), (CHANNEL_CSHOUT, _("Chess Shout"))] for id, channel in ICC_CHANNELS: self.channels.append((str(id), channel)) GLib.idle_add(self.emit, 'channelsListed', self.channels) def on_icc_players_in_my_game(self, data): # gamenumber playername symbol kibvalue # O=observing # PW=playing white # PB=playing black # SW=playing simul and is white # SB=playing simul and is black # E=Examining # X=None (has left the table) gameno, name, symbol, kibvalue = data.split() ficsplayer = self.connection.players.get(name) rating = ficsplayer.getRatingByGameType(GAME_TYPES['standard']) if rating: name = "%s(%s)" % (name, rating) if gameno not in self.observers: observers = set() self.observers[gameno] = observers if symbol == "O": self.observers[gameno].add(name) elif symbol == "X" and name in self.observers[gameno]: self.observers[gameno].remove(name) obs_str = " ".join(list(self.observers[gameno])) self.emit('observers_received', gameno, obs_str) def on_icc_kibitz(self, data): # gamenumber playername titles kib/whi ^Y{kib string^Y} gameno, name, rest = data.split(" ", 2) titles, rest = rest.split("}", 1) kib_whi, text = rest[1:].split(" ", 1) text = text[2:-2] if kib_whi == "1": GLib.idle_add(self.emit, "kibitzMessage", name, int(gameno), text) else: GLib.idle_add(self.emit, "whisperMessage", name, int(gameno), text) def on_icc_personal_tell(self, data): # playername titles ^Y{tell string^Y} type name, rest = data.split(" ", 1) titles, rest = rest.split("}", 1) text, tell_type = rest[3:].split("}") isadmin = tell_type == "4" GLib.idle_add(self.emit, "privateMessage", name, "title", isadmin, text[:-1]) def on_icc_shout(self, data): # playername titles type ^Y{shout string^Y} name, rest = data.split(" ", 1) titles, rest = rest.split("}", 1) shout_type, text = rest[1:].split("{") # print(name, shout_type, text) isadmin = shout_type == "3" # announcements isme = name.lower() == self.connection.username.lower() GLib.idle_add(self.emit, "channelMessage", name, isadmin, isme, "shout", text[:-2]) def on_icc_channel_tell(self, data): # channel playername titles ^Y{tell string^Y} type channel, name, rest = data.split(" ", 2) titles, rest = rest.split("}", 1) text, tell_type = rest[3:].split("}") isme = name.lower() == self.connection.username.lower() isadmin = tell_type == "4" GLib.idle_add(self.emit, "channelMessage", name, isadmin, isme, channel, text) def on_icc_people_in_my_channel(self, data): # channel playername come/go print(data) def on_icc_channels_shared(self, data): # playername channels print(data) ICC_CHANNELS = ( (0, "Admins only"), (1, "Newbie Help"), (2, "Experienced Help"), (3, "Simul"), (4, "SimulBot2"), (5, "Wild 5"), (7, "Wild 7"), (10, "Team-Setup"), (11, "Team Game Channel A"), (12, "Team Game Channel B"), (14, "Macintosh users channel"), (22, "Fischer-Random Chess"), (23, "Crazyhouse Channel"), (24, "BUGHOUSE Channel"), (25, "3 checks you win"), (26, "Giveaway Chess"), (27, "Atomic Channel"), (28, "Shatranj Channel"), (32, "STtourney channel"), (34, "Sports"), (43, "Chess theory"), (46, "Tomato TD"), (47, "Tomato tournament managers"), (49, "Flash TD"), (64, "Computer chess"), (65, "Canadian"), (66, "Australia"), (67, "British"), (68, "South Africa"), (69, "Singapore and Malaysia"), (70, "Greek"), (71, "Spanish"), (72, "French"), (73, "German"), (74, "Dutch"), (75, "Russian"), (76, "Italian"), (77, "Japanese"), (78, "Scandinavian(Denmark,Norway,Sweden)"), (79, "Icelandic"), (80, "Finnish"), (81, "Portuguese"), (82, "Catalan"), (83, "Hebrew"), (84, "Turkish"), (86, "ASCII art"), (88, "China"), (90, "Slow time controls"), (97, "Politics"), (100, "Admins and helpers only"), (101, "Music"), (103, "Religious Discussions/Debates"), (107, "Math and Science"), (110, "Philosophy"), (114, "Health and Medicine"), (116, "Wild 16 (Kriegspiel)"), (117, "Wild 17 (Losers Chess)"), (123, "Acrobot"), (129, "USCL (United States Chess League)"), (147, "Tomato senior managers group"), (165, "ICC Radio Broadcast and Chess Events"), (183, "Correspondence Chess"), (185, "Philippine"), (186, "Irish"), (220, "Query all the Tomato-type TD bots"), (221, "The 'Ask for a Tournament' Channel"), (222, "Slomato TD (Slow Tournaments)"), (223, "WildOne TD (Wild Tournaments)"), (224, "Cooly TD (Tournaments)"), (225, "LittlePer TD (Tournaments)"), (226, "Automato TD (Special Event Tournaments)"), (227, "Pear TD (Special Event Tournaments)"), (228, "Ketchup TD (Tournaments)"), (229, "Channel for Tournament Robots to interact"), (230, "Olive TD (Tournaments)"), (232, "Yenta TD (Special Event Tournaments)"), (250, "Lobby"), (271, "LatinTrivia Channel (Spanish)"), (272, "TriviaBot Channel"), (274, "Spam channel"), (280, "BettingBot"), (291, "Scholastic Chess Coaches"), (300, "Helpers and Administrators"), (302, "Busters"), (303, "Christian"), (333, "AtheistAgnostic"), (334, "Johns Hopkins CTY"), (335, "SimulBot"), (337, "Broadcast"), (338, "Relay coordination"), (340, "LeChessClub"), (345, "Team4545League"), (348, "Tomato Trainers group"), (394, "Tomato admins group"), (396, "Complain"), (397, "Politics-Reserved"), (399, "Events"), ) pychess-1.0.0/lib/pychess/ic/managers/ICCListAndVarManager.py0000644000175000017500000000113113365545272023055 0ustar varunvarunfrom pychess.System import conf from pychess.ic.managers.ListAndVarManager import ListAndVarManager class ICCListAndVarManager(ListAndVarManager): def __init__(self, connection): self.connection = connection self.publicLists = {} self.personalLists = {} self.personalBackup = {} # Auto flag conf.notify_add('autoCallFlag', self.autoFlagNotify) def autoFlagNotify(self, *args): self.connection.client.run_command( "set autoflag %s" % int(conf.get('autoCallFlag'))) # print 'notify flag', conf.get('autoCallFlag') pychess-1.0.0/lib/pychess/ic/managers/SeekManager.py0000755000175000017500000002051613353143212021412 0ustar varunvarunimport re from gi.repository import GObject from pychess.Utils.const import WHITE, FISCHERRANDOMCHESS, UNSUPPORTED from pychess.ic import BLKCMD_ASSESS, VariantGameType, DEVIATION, GAME_TYPES, \ parse_title_hex, BLKCMD_UNSEEK, BLKCMD_SEEK, type_to_display_text, \ Variants, RATING_TYPES from pychess.ic.FICSObjects import FICSSeek from pychess.System.Log import log rated = "(rated|unrated)" colors = "(?:\[(white|black)\]\s?)?" ratings = "([\d\+\- ]{1,4})" titleslist = "(?:GM|IM|FM|WGM|WIM|WFM|TM|SR|TD|CA|C|U|D|B|T|\*)" titleslist_re = re.compile(titleslist) titles = "((?:\(%s\))+)?" % titleslist names = "([a-zA-Z]+)%s" % titles mf = "(?:([mf]{1,2})\s?)?" whomatch = "(?:(?:([-0-9+]{1,4})([\^~:\#. &])%s))" % names whomatch_re = re.compile(whomatch) rating_re = re.compile("[0-9]{2,}") type_re = "(Lightning|Blitz|Standard|Suicide|Wild|Crazyhouse|Bughouse|Losers|Atomic)" class SeekManager(GObject.GObject): __gsignals__ = { 'addSeek': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'removeSeek': (GObject.SignalFlags.RUN_FIRST, None, (int, )), 'clearSeeks': (GObject.SignalFlags.RUN_FIRST, None, ()), 'our_seeks_removed': (GObject.SignalFlags.RUN_FIRST, None, ()), 'seek_updated': (GObject.SignalFlags.RUN_FIRST, None, (str, )), 'assessReceived': (GObject.SignalFlags.RUN_FIRST, None, (object, )), } def __init__(self, connection): GObject.GObject.__init__(self) self.connection = connection self.connection.expect_line(self.on_seek_clear, "") self.connection.expect_line(self.on_seek_add, " (.+)") self.connection.expect_line(self.on_seek_remove, " ([\d ]+)") self.connection.expect_n_lines(self.on_our_seeks_removed, " ([\d ]+)", "Your seeks have been removed\.") self.connection.expect_n_lines(self.on_seek_updated, "Updating seek ad (\d+)(?:;?) (.*)\.", "", " (\d+)", "", " (.+)") self.connection.expect_n_lines(self.on_seek_updated, "Updating seek ad (\d+)(?:;?) (.*)\.", "Updating seek ad \d+(?:;?) (.*)\.", "", " (\d+)", "", " (.+)") self.connection.expect_n_lines( self.on_assess, "\s*%s\s*" % type_re, "\s*(\w+)\s+(\w+)\s*", "\s*(\(.+\))\s+(\(.+\))\s*", "\s*Win: .+", "\s*Draw: .+", "\s*Loss: .+", "\s*New RD: .+") self.connection.client.run_command("iset seekinfo 1") self.connection.client.run_command("iset seekremove 1") self.connection.client.run_command("iset showownseek 1") def seek(self, startmin, incsec, game_type, rated, ratings=(0, 9999), color=None, manual=False): log.debug("SeekManager.seek: %s %s %s %s %s %s %s" % (startmin, incsec, game_type, rated, str(ratings), color, manual)) rchar = "r" if rated else "u" if color is not None: cchar = color == WHITE and "w" or "b" else: cchar = "" manual = "m" if manual else "" s = "seek %d %d %s %s %s" % (startmin, incsec, rchar, cchar, manual) if isinstance(game_type, VariantGameType): s += " " + game_type.seek_text if not self.connection.FatICS: s += " %d-%d" % (ratings[0], ratings[1]) self.connection.client.run_command(s, show_reply=True) def assess(self, player1, player2, type): self.connection.client.run_command("assess %s %s /%s" % (player1, player2, type)) def on_assess(self, matchlist): assess = {} assess["type"] = matchlist[0].groups()[0] assess["names"] = matchlist[1].groups()[0], matchlist[1].groups()[1] assess["oldRD"] = matchlist[2].groups()[0], matchlist[2].groups()[1] assess["win"] = matchlist[3].string.split()[1:] assess["draw"] = matchlist[4].string.split()[1:] assess["loss"] = matchlist[5].string.split()[1:] assess["newRD"] = matchlist[6].string.split()[2:] self.emit("assessReceived", assess) on_assess.BLKCMD = BLKCMD_ASSESS def on_seek_add(self, match): # The message looks like: # index w=name_from ti=titles rt=rating t=time i=increment # r=rated('r')/unrated('u') tp=type("wild/fr", "wild/4","blitz") # c=color rr=rating_range(lower-upper) a=automatic?('t'/'f') # f=formula_checked('t'/f') parts = match.groups()[0].split() seek = {} for key, value in [p.split("=") for p in parts[1:] if p]: seek[key] = value try: index = int(parts[0]) player = self.connection.players.get(seek['w']) player.titles |= parse_title_hex(seek['ti']) rated = seek['r'] == 'r' minutes = int(seek['t']) increment = int(seek['i']) rmin, rmax = [int(r) for r in seek['rr'].split("-")] rating = seek['rt'] if rating[-1] in (" ", "P", "E"): deviation = DEVIATION[rating[-1]] rating = rating[:-1] rating = int(rating) deviation = None automatic = seek['a'] == 't' color = None if seek['c'] == "W": color = "white" elif seek['c'] == "B": color = "black" except KeyError as e: log.warning("on_seek_add: KeyError: %s %s" % (repr(e), repr(seek))) return try: gametype = GAME_TYPES[seek["tp"]] except KeyError: if self.connection.FatICS and seek["tp"] == "chess": # TODO: remove when fixed in FatICS expected_time = minutes + increment * 2 / 3 if expected_time == 0: gametype = "untimed" elif expected_time < 3: gametype = "lightning" elif expected_time < 15: gametype = "blitz" else: gametype = "standard" gametype = GAME_TYPES[gametype] else: return if gametype.variant_type in UNSUPPORTED: return if gametype.rating_type in RATING_TYPES and player.ratings[gametype.rating_type] != rating: player.ratings[gametype.rating_type] = rating player.deviations[gametype.rating_type] = deviation player.emit("ratings_changed", gametype.rating_type, player) seek = FICSSeek(index, player, minutes, increment, rated, color, gametype, rmin=rmin, rmax=rmax, automatic=automatic) self.emit("addSeek", seek) on_seek_add.BLKCMD = BLKCMD_SEEK def on_seek_clear(self, *args): self.emit("clearSeeks") def on_seek_remove(self, match): for key in match.groups()[0].split(): if not key: continue self.emit("removeSeek", int(key)) on_seek_remove.BLKCMD = BLKCMD_UNSEEK def on_our_seeks_removed(self, matchlist): self.on_seek_remove(matchlist[0]) self.emit("our_seeks_removed") on_our_seeks_removed.BLKCMD = BLKCMD_UNSEEK def on_seek_updated(self, matchlist): text = matchlist[0].groups()[1] i = 0 if "Updating seek ad" in matchlist[1].string: text += '; ' + matchlist[1].groups()[0] i = 1 self.on_seek_remove(matchlist[i + 2]) self.on_seek_add(matchlist[i + 4]) self.emit("seek_updated", text) on_seek_updated.BLKCMD = BLKCMD_SEEK def refresh_seeks(self): self.connection.client.run_command("iset seekinfo 1") if __name__ == "__main__": assert type_to_display_text("Loaded from eco/a00") == type_to_display_text( "eco/a00") == "Eco A00" assert type_to_display_text("wild/fr") == Variants.variants[ FISCHERRANDOMCHESS].name assert type_to_display_text("blitz") == GAME_TYPES["blitz"].display_text pychess-1.0.0/lib/pychess/ic/managers/ConsoleManager.py0000644000175000017500000000117213353143212022117 0ustar varunvarunfrom gi.repository import GObject from pychess.ic.VerboseTelnet import ConsoleHandler class ConsoleManager(GObject.GObject): __gsignals__ = { 'consoleMessage': (GObject.SignalFlags.RUN_FIRST, None, (object, object, )), } def __init__(self, connection): GObject.GObject.__init__(self) self.connection = connection self.connection.client.lines.consolehandler = ConsoleHandler( self.onConsoleMessage) def onConsoleMessage(self, lines, ini_lines=None): self.emit("consoleMessage", lines, ini_lines) pychess-1.0.0/lib/pychess/ic/managers/__init__.py0000755000175000017500000000000013353143212020751 0ustar varunvarunpychess-1.0.0/lib/pychess/ic/managers/AdjournManager.py0000755000175000017500000003773713353143212022142 0ustar varunvarunimport datetime from gi.repository import GObject from .BoardManager import names, months, dates from pychess.ic import GAME_TYPES_BY_SHORT_FICS_NAME, BLKCMD_STORED, \ BLKCMD_HISTORY, BLKCMD_JOURNAL from pychess.ic.FICSObjects import FICSAdjournedGame, FICSHistoryGame, FICSJournalGame from pychess.Utils.const import WON_ADJUDICATION, DRAW_AGREE, WON_DISCONNECTION, WON_CALLFLAG, \ WON_MATE, DRAW_INSUFFICIENT, DRAW_REPITITION, WON_RESIGN, DRAW_STALEMATE, \ DRAW_BLACKINSUFFICIENTANDWHITETIME, WON_NOMATERIAL, DRAW_50MOVES, WHITEWON, DRAW, \ BLACK, WHITE, BLACKWON, reprResult, ADJOURNED from pychess.System.Log import log reasons_dict = { "Adj": WON_ADJUDICATION, "Agr": DRAW_AGREE, "Dis": WON_DISCONNECTION, "Fla": WON_CALLFLAG, "Mat": WON_MATE, "NM": DRAW_INSUFFICIENT, "Rep": DRAW_REPITITION, "Res": WON_RESIGN, "Sta": DRAW_STALEMATE, "TM": DRAW_BLACKINSUFFICIENTANDWHITETIME, # DRAW_WHITEINSUFFICIENTANDBLACKTIME "WLM": WON_NOMATERIAL, "WNM": WON_NOMATERIAL, "50": DRAW_50MOVES } reasons = "(%s)" % "|".join(reasons_dict.keys()) ratings = "([0-9\ \-\+]{1,4}[P E]?|UNR)" class AdjournManager(GObject.GObject): __gsignals__ = { 'adjournedGameAdded': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'onAdjournmentsList': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'historyGameAdded': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'onHistoryList': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'journalGameAdded': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'onJournalList': (GObject.SignalFlags.RUN_FIRST, None, (object, )), } def __init__(self, connection): GObject.GObject.__init__(self) self.connection = connection self.connection.expect_line(self.__onStoredResponseNO, "%s has no adjourned games\." % names) self.connection.expect_line(self.__onHistoryResponseNO, "%s has no history games\." % names) self.connection.expect_line( self.__onJournalResponseNO, "(%s has no journal entries\.)|(That journal is private.)" % names) self.connection.expect_fromABplus( self.__onStoredResponseYES, "Stored games for %s:" % names, "\s*C Opponent\s+On Type\s+Str\s+M\s+ECO\s+Date", "\s*\d+: (B|W) %s\s+(Y|N) \[([a-z ]{3})\s+(\d+)\s+(\d+)\]\s+(\d+)-(\d+)\s+(W|B)(\d+)\s+(---|\?\?\?|\*\*\*|[A-Z]\d+)\s+%s" % (names, dates)) self.connection.expect_fromABplus( self.__onHistoryResponseYES, "History for %s:" % names, "\s*Opponent\s+Type\s+ECO\s+End\s+Date", "\s*(\d+): (-|\+|=)\s+(\d+)\s+(W|B)\s+(\d+) %s\s+\[([a-z ]{3})\s*(\d+)\s+(\d+)\]\s+(---|\?\?\?|\*\*\*|[A-Z]\d+)\s+%s\s+%s" % (names, reasons, dates)) self.connection.expect_fromABplus( self.__onJournalResponseYES, "Journal for %s:" % names, "\s*White\s+Rating\s+Black\s+Rating\s+Type\s+ECO\s+End\s+Result", "\s*%%(\d+): %s\s+%s\s+%s\s+%s\s+\[([a-z ]{3})\s+(\d+)\s+(\d+)\]\s+(---|\?\?\?|\*\*\*|[A-Z]\d+)\s+%s\s+(\*|1/2-1/2|1-0|0-1)" % (names, ratings, names, ratings, reasons)) self.connection.expect_line(self.__onAdjournedGameResigned, "You have resigned the game\.") self.connection.bm.connect("curGameEnded", self.__onCurGameEnded) self.queryAdjournments() self.queryHistory() self.queryJournal() # TODO: Connect to {Game 67 (MAd vs. Sandstrom) Game adjourned by mutual agreement} * # TODO: Connect to adjourned game as adjudicated def __onStoredResponseYES(self, matchlist): # Stored games for User: # C Opponent On Type Str M ECO Date # 1: W TheDane N [ br 2 12] 0-0 B2 ??? Sun Nov 23, 6:14 CST 1997 # 2: W PyChess Y [psu 2 12] 39-39 W3 C20 Sun Jan 11, 17:40 ??? 2009 # 3: B cjavad N [ wr 2 2] 31-31 W18 --- Wed Dec 23, 06:58 PST 2009 self.connection.stored_owner = matchlist[0].groups()[0] adjournments = [] for match in matchlist[2:]: our_color = match.groups()[0] opponent_name, opponent_online = match.groups()[1:3] game_type = match.groups()[3] minutes, gain = match.groups()[4:6] str_white, str_black = match.groups()[6:8] next_color = match.groups()[8] move_num = match.groups()[9] week, month, day, hour, minute, timezone, year = match.groups()[11:18] gametime = datetime.datetime( int(year), months.index(month) + 1, int(day), int(hour), int(minute)) private = game_type[0] == "p" rated = game_type[2] == "r" gametype = GAME_TYPES_BY_SHORT_FICS_NAME[game_type[1]] our_color = our_color == "B" and BLACK or WHITE minutes = int(minutes) gain = int(gain) length = (int(move_num) - 1) * 2 if next_color == "B": length += 1 user = self.connection.players.get(self.connection.stored_owner) opponent = self.connection.players.get(opponent_name) wplayer, bplayer = (user, opponent) if our_color == WHITE else (opponent, user) game = FICSAdjournedGame(wplayer, bplayer, game_type=gametype, rated=rated, our_color=our_color, length=length, time=gametime, minutes=minutes, inc=gain, private=private) if game.opponent.adjournment is False: game.opponent.adjournment = True if game not in self.connection.games: game = self.connection.games.get(game, emit=False) self.emit("adjournedGameAdded", game) adjournments.append(game) self.emit("onAdjournmentsList", adjournments) __onStoredResponseYES.BLKCMD = BLKCMD_STORED def __onHistoryResponseYES(self, matchlist): # History for User: # Opponent Type ECO End Date # 66: - 1735 B 0 GuestHKZX [ bu 3 0] B23 Res Sun Dec 6, 15:50 EST 2015 # 67: - 1703 B 0 GuestQWML [ lu 1 0] B07 Fla Sun Dec 6, 15:53 EST 2015 history = [] self.connection.history_owner = matchlist[0].groups()[0] for match in matchlist[2:]: # print(match.groups()) history_no = match.groups()[0] result = match.groups()[1] owner_rating = match.groups()[2] owner_color = match.groups()[3] opp_rating = match.groups()[4] if result == "+": result = WHITEWON if owner_color == "W" else BLACKWON elif result == "-": result = WHITEWON if owner_color == "B" else BLACKWON else: result = DRAW opponent_name = match.groups()[5] if owner_color == "W": white = self.connection.history_owner black = opponent_name wrating = owner_rating brating = opp_rating else: white = opponent_name black = self.connection.history_owner brating = owner_rating wrating = opp_rating game_type = match.groups()[6] minutes, gain = match.groups()[7:9] reason = reasons_dict[match.groups()[10]] week, month, day, hour, minute, timezone, year = match.groups()[11:18] gametime = datetime.datetime( int(year), months.index(month) + 1, int(day), int(hour), int(minute)) private = game_type[0] == "p" rated = game_type[2] == "r" gametype = GAME_TYPES_BY_SHORT_FICS_NAME[game_type[1]] owner_color = owner_color == "B" and BLACK or WHITE minutes = int(minutes) gain = int(gain) wplayer = self.connection.players.get(white) bplayer = self.connection.players.get(black) game = FICSHistoryGame(wplayer, bplayer, game_type=gametype, rated=rated, minutes=minutes, inc=gain, private=private, wrating=wrating, brating=brating, time=gametime, reason=reason, history_no=history_no, result=result) if game not in self.connection.games: game = self.connection.games.get(game, emit=False) self.emit("historyGameAdded", game) history.append(game) self.emit("onHistoryList", history) __onHistoryResponseYES.BLKCMD = BLKCMD_HISTORY def __onJournalResponseYES(self, matchlist): # Journal for User: # White Rating Black Rating Type ECO End Result # %01: tentacle 2291 larsa 2050 [ lr 1 2] D35 Rep 1/2-1/2 # %02: larsa 2045 tentacle 2296 [ lr 1 2] A46 Res 0-1 journal = [] self.connection.journal_owner = matchlist[0].groups()[0] for match in matchlist[2:]: # print(match.groups()) journal_no = match.groups()[0] result = match.groups()[10] result = reprResult.index(result) white = match.groups()[1] wrating = match.groups()[2] black = match.groups()[3] brating = match.groups()[4] game_type = match.groups()[5] minutes, gain = match.groups()[6:8] reason = reasons_dict[match.groups()[9]] private = game_type[0] == "p" rated = game_type[2] == "r" gametype = GAME_TYPES_BY_SHORT_FICS_NAME[game_type[1]] minutes = int(minutes) gain = int(gain) wplayer = self.connection.players.get(white) bplayer = self.connection.players.get(black) game = FICSJournalGame(wplayer, bplayer, game_type=gametype, rated=rated, minutes=minutes, inc=gain, private=private, wrating=wrating, brating=brating, reason=reason, journal_no=journal_no, result=result) if game not in self.connection.games: game = self.connection.games.get(game, emit=False) self.emit("journalGameAdded", game) journal.append(game) self.emit("onJournalList", journal) __onJournalResponseYES.BLKCMD = BLKCMD_JOURNAL def __onStoredResponseNO(self, match): self.connection.stored_owner = match.groups()[0] self.emit("onAdjournmentsList", []) __onStoredResponseNO.BLKCMD = BLKCMD_STORED def __onHistoryResponseNO(self, match): self.connection.history_owner = match.groups()[0] self.emit("onHistoryList", []) __onHistoryResponseNO.BLKCMD = BLKCMD_HISTORY def __onJournalResponseNO(self, match): self.connection.journal_owner = match.groups()[0] self.emit("onJournalList", []) __onJournalResponseNO.BLKCMD = BLKCMD_JOURNAL def __onAdjournedGameResigned(self, match): self.queryAdjournments() def __onCurGameEnded(self, bm, game): if game.result == ADJOURNED: self.queryAdjournments() elif game.result in (DRAW, WHITEWON, BLACKWON): self.queryHistory() def queryAdjournments(self, owner=None): if owner is None: self.connection.client.run_command("stored") else: self.connection.client.run_command("stored %s" % owner) def queryHistory(self, owner=None): if owner is None: self.connection.client.run_command("history") else: self.connection.client.run_command("history %s" % owner) def queryJournal(self, owner=None): if owner is None: self.connection.client.run_command("journal") else: self.connection.client.run_command("journal %s" % owner) def queryMoves(self, game): if isinstance(game, FICSHistoryGame): self.connection.client.run_command("smoves %s %s" % ( self.connection.history_owner, game.history_no)) elif isinstance(game, FICSJournalGame): self.connection.client.run_command("smoves %s %%%s" % ( self.connection.journal_owner, game.journal_no)) else: self.connection.client.run_command("smoves %s %s" % ( self.connection.stored_owner, game.opponent.name)) def examine(self, game): game.board = None self.connection.archived_examine = game if isinstance(game, FICSAdjournedGame): self.connection.client.run_command("examine %s %s" % ( self.connection.stored_owner, game.opponent.name)) elif isinstance(game, FICSHistoryGame): self.connection.client.run_command("examine %s %s" % ( self.connection.history_owner, game.history_no)) elif isinstance(game, FICSJournalGame): self.connection.client.run_command("examine %s %%%s" % ( self.connection.journal_owner, game.journal_no)) def challenge(self, playerName): self.connection.client.run_command("match %s" % playerName) def resign(self, game): """ This is (and draw and abort) are possible even when one's opponent is not logged on """ if not game.opponent.adjournment: log.warning("AdjournManager.resign: no adjourned game vs %s" % game.opponent) return log.info("AdjournManager.resign: resigning adjourned game=%s" % game) self.connection.client.run_command("resign %s" % game.opponent.name) def draw(self, game): if not game.opponent.adjournment: log.warning("AdjournManager.draw: no adjourned game vs %s" % game.opponent) return log.info("AdjournManager.draw: offering sdraw for adjourned game=%s" % game) self.connection.client.run_command("sdraw %s" % game.opponent.name) def abort(self, game): if not game.opponent.adjournment: log.warning("AdjournManager.abort: no adjourned game vs %s" % game.opponent) return log.info("AdjournManager.abort: offering sabort for adjourned game=%s" % game) self.connection.client.run_command("sabort %s" % game.opponent.name) def resume(self, game): if not game.opponent.adjournment: log.warning("AdjournManager.resume: no adjourned game vs %s" % game.opponent) return log.info("AdjournManager.resume: offering resume for adjourned game=%s" % game) self.connection.client.run_command("match %s" % game.opponent.name) # (a) Users who have more than 15 stored games are restricted from starting new # games. If this situation happens to you, review your stored games and see # which ones might be eligible for adjudication (see "help adjudication"). pychess-1.0.0/lib/pychess/ic/managers/ListAndVarManager.py0000755000175000017500000000655013365545272022553 0ustar varunvarunfrom pychess.ic import BLKCMD_SHOWLIST from pychess.System import conf class ListAndVarManager: def __init__(self, connection): self.connection = connection # Lists self.publicLists = {} self.personalLists = {} self.personalBackup = {} if self.connection.USCN: self.connection.expect_line(self.onUpdateList, "(?:\w+\s+is (?:PUBLIC|PERSONAL))|$") else: self.connection.expect_fromplus( self.onUpdateLists, "Lists:", "(?:\w+\s+is (?:PUBLIC|PERSONAL))|$") self.connection.expect_line(self.onUpdateEmptyListitems, "-- (\w+) list: 0 \w+ --") self.connection.expect_fromplus(self.onUpdateListitems, "-- (\w+) list: ([1-9]\d*) \w+ --", "(?:\w+ *)+$") self.connection.client.run_command("showlist") # Auto flag conf.notify_add('autoCallFlag', self.autoFlagNotify) def onUpdateLists(self, matchlist): self.publicLists.clear() self.personalLists.clear() for line in [m.group(0) for m in matchlist[1:] if m.group(0)]: name, _, public_personal = line.split() self.connection.client.run_command("showlist %s" % name) if public_personal == "PUBLIC": self.publicLists[name] = set() else: self.personalLists[name] = set() onUpdateLists.BLKCMD = BLKCMD_SHOWLIST def onUpdateList(self, match): name, _, public_personal = match.group(0).split() self.connection.client.run_command("showlist %s" % name) if public_personal == "PUBLIC": self.publicLists[name] = set() else: self.personalLists[name] = set() def onUpdateEmptyListitems(self, match): list_name = match.groups()[0] if list_name in self.publicLists: self.publicLists[list_name] = set() else: self.personalLists[list_name] = set() if list_name not in self.personalBackup: self.personalBackup[list_name] = set() onUpdateEmptyListitems.BLKCMD = BLKCMD_SHOWLIST def onUpdateListitems(self, matchlist): list_name, itemCount = matchlist[0].groups() items = set() for match in matchlist[1:]: items.update(match.group().split()) if list_name in self.publicLists: self.publicLists[list_name] = items else: self.personalLists[list_name] = items self.personalBackup[list_name] = items onUpdateListitems.BLKCMD = BLKCMD_SHOWLIST def autoFlagNotify(self, *args): self.connection.client.run_command( "set autoflag %s" % int(conf.get('autoCallFlag'))) # print 'notify flag', conf.get('autoCallFlag') def getList(self, list_name): if list_name in self.publicLists: return self.publicLists(list_name) elif list_name in self.personalLists: return self.personalLists[list_name] else: return [] def addToList(self, list_name, value): self.connection.client.run_command("+%s %s" % (list_name, value)) def removeFromList(self, list_name, value): self.connection.client.run_command("-%s %s" % (list_name, value)) pychess-1.0.0/lib/pychess/ic/managers/ICCAdjournManager.py0000644000175000017500000001656313353143212022450 0ustar varunvarun import datetime from gi.repository import GObject from pychess.ic import GAME_TYPES_BY_FICS_NAME from pychess.ic.icc import DG_GAMELIST_BEGIN, DG_GAMELIST_ITEM, DG_RATING_TYPE_KEY from pychess.ic.managers.AdjournManager import AdjournManager from pychess.ic.FICSObjects import FICSAdjournedGame, FICSHistoryGame, FICSJournalGame from pychess.Utils.const import WON_ADJUDICATION, DRAW_AGREE, WON_DISCONNECTION, WON_CALLFLAG, \ WON_MATE, DRAW_INSUFFICIENT, DRAW_REPITITION, WON_RESIGN, DRAW_STALEMATE, \ DRAW_BLACKINSUFFICIENTANDWHITETIME, UNKNOWN_REASON, DRAW_50MOVES, WHITEWON, DRAW, \ BLACKWON, ADJOURNED, DRAW_CALLFLAG, DRAW_ADJUDICATION, ABORTED, WHITE, BLACK won_reasons_dict = { "0": WON_RESIGN, "1": WON_MATE, "2": WON_CALLFLAG, "3": WON_ADJUDICATION, "4": WON_DISCONNECTION, "5": WON_DISCONNECTION, "6": WON_DISCONNECTION, "7": WON_RESIGN, "8": WON_MATE, "9": WON_CALLFLAG, "10": WON_DISCONNECTION, "11": WON_DISCONNECTION, "12": WON_DISCONNECTION, "13": WON_ADJUDICATION, } draw_reasons_dict = { "0": DRAW_AGREE, "1": DRAW_STALEMATE, "2": DRAW_REPITITION, "3": DRAW_50MOVES, "4": DRAW_BLACKINSUFFICIENTANDWHITETIME, # DRAW_WHITEINSUFFICIENTANDBLACKTIME "5": DRAW_INSUFFICIENT, "6": DRAW_CALLFLAG, "7": DRAW_ADJUDICATION, "8": DRAW_AGREE, "9": DRAW_CALLFLAG, "10": DRAW_ADJUDICATION, } class ICCAdjournManager(AdjournManager): def __init__(self, connection): GObject.GObject.__init__(self) self.connection = connection self.RATING_TYPES = {} self.connection.expect_dg_line(DG_RATING_TYPE_KEY, self.on_icc_rating_type_key) self.connection.expect_dg_line(DG_GAMELIST_BEGIN, self.on_icc_gamelist_begin) self.connection.expect_dg_line(DG_GAMELIST_ITEM, self.on_icc_gamelist_item) self.connection.client.run_command("set-2 %s 1" % DG_RATING_TYPE_KEY) self.connection.client.run_command("set-2 %s 1" % DG_GAMELIST_BEGIN) self.connection.client.run_command("set-2 %s 1" % DG_GAMELIST_ITEM) self.queryAdjournments() self.queryHistory() self.queryJournal() self.connection.query_game = None def on_icc_rating_type_key(self, data): key, value = data.split() self.RATING_TYPES[key] = value.lower() def on_icc_gamelist_begin(self, data): # command {parameters} nhits first last {summary} # command is one of search, history, liblist, or stored # history {gbtami} 20 1 20 {Recent games of gbtami} command, rest = data.split(" ", 1) params, rest = rest.split("}", 1) name = params[1:] # force clean up old gamelists if self.connection.history_owner != name: self.emit("onAdjournmentsList", []) self.emit("onHistoryList", []) self.emit("onJournalList", []) if command == "stored": self.connection.stored_owner = name elif command == "history": self.connection.history_owner = name elif command == "liblist": self.connection.journal_owner = name self.gamelist_command = command def on_icc_gamelist_item(self, data): # index id event date time white-name white-rating black-name black-rating rated rating-type # wild init-time-W inc-W init-time-B inc-B eco status color mode {note} here # status: 0=win 1=draw 2=adjourned 3=abort # rating_type: 0=wild, 1=blitz, 2=standard, bullet, 4=bughouse see DG_RATING_TYPE_KEY # 99 1731753309 ? 2016.12.08 15:07:53 gbtami 1538 konechno 1644 1 11 0 3 0 3 0 A00 0 1 1 {} 0 # 98 1731751094 ? 2016.12.08 14:34:37 gbtami 1550 espilva 1484 1 11 0 3 0 3 0 A00 1 0 5 {} 0 idx, gid, event, date, time, wname, wrating, bname, brating, rated, rating_type, \ wild, wtime, winc, btime, binc, eco, status, color, mode, rest = data.split(" ", 20) if status == "0": result = WHITEWON if color == "0" else BLACKWON elif status == "1": result = DRAW elif status == "2": result = ADJOURNED else: result = ABORTED white = wname black = bname wrating = wrating brating = brating if status == "0": reason = won_reasons_dict[mode] elif status == "1": reason = draw_reasons_dict[mode] else: reason = UNKNOWN_REASON year, month, day = date.split(".") hour, minute, sec = time.split(":") gametime = datetime.datetime(int(year), int(month), int(day), int(hour), int(minute), int(sec)) rated = rated == "1" fics_name = self.RATING_TYPES[rating_type] gametype = GAME_TYPES_BY_FICS_NAME[fics_name] minutes = int(wtime) gain = int(winc) wplayer = self.connection.players.get(white) bplayer = self.connection.players.get(black) if self.gamelist_command == "stored": game = FICSAdjournedGame( wplayer, bplayer, game_type=gametype, rated=rated, our_color=WHITE if wname == self.connection.username else BLACK, minutes=minutes, inc=gain) if game.opponent.adjournment is False: game.opponent.adjournment = True elif self.gamelist_command == "history": game = FICSHistoryGame( wplayer, bplayer, game_type=gametype, rated=rated, minutes=minutes, inc=gain, wrating=wrating, brating=brating, time=gametime, reason=reason, history_no=idx, result=result) elif self.gamelist_command == "liblist": game = FICSJournalGame( wplayer, bplayer, game_type=gametype, rated=rated, minutes=minutes, inc=gain, wrating=wrating, brating=brating, time=gametime, reason=reason, journal_no=idx, result=result) if game not in self.connection.games: game = self.connection.games.get(game, emit=False) if self.gamelist_command == "stored": self.emit("adjournedGameAdded", game) elif self.gamelist_command == "history": self.emit("historyGameAdded", game) elif self.gamelist_command == "liblist": self.emit("journalGameAdded", game) def queryJournal(self, owner=None): if owner is None: self.connection.client.run_command("liblist") else: self.connection.client.run_command("liblist %s" % owner) def queryMoves(self, game): self.connection.query_game = game if isinstance(game, FICSHistoryGame): self.connection.client.run_command("spgn %s %s" % ( self.connection.history_owner, game.history_no)) elif isinstance(game, FICSJournalGame): self.connection.client.run_command("spgn %s %%%s" % ( self.connection.journal_owner, game.journal_no)) else: self.connection.client.run_command("spgn %s %s" % ( self.connection.stored_owner, game.opponent.name)) pychess-1.0.0/lib/pychess/ic/managers/NewsManager.py0000755000175000017500000000370213353143212021435 0ustar varunvarunimport re from gi.repository import GObject from pychess.ic import BLKCMD_NEWS days = "(Mon|Tue|Wed|Thu|Fri|Sat|Sun)" months = "(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)" AMOUNT_OF_NEWSITEMS = 5 FICS_SENDS = 10 class NewsManager(GObject.GObject): __gsignals__ = { 'readingNews': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'readNews': (GObject.SignalFlags.RUN_FIRST, None, (object, )), } def __init__(self, connection): GObject.GObject.__init__(self) self.connection = connection self.news = {} self.connection.expect_line( self.onNewsItem, "(\d+) \(%s, %s +(\d+)\) (.+)" % (days, months)) self.connection.client.run_command("news") def onNewsItem(self, match): no, weekday, month, day, title = match.groups() line = match.group() self.news[no] = [_(weekday), _(month), day, title, ""] self.emit("readingNews", self.news[no]) if len(self.news) <= AMOUNT_OF_NEWSITEMS: # the "news" command, gives us the latest 10 news items from the # oldest to the newest. # We only want the 5 newest, so we skip the first 5 entries. return elif len(self.news) == FICS_SENDS: # No need to check the expression any more self.connection.unexpect(self.onNewsItem) def onFullNewsItem(matchlist): self.connection.unexpect(onFullNewsItem) details = "" for line in matchlist[1:-1]: if line.startswith("\\"): line = " " + line[1:].strip() details += line.replace(" ", " ") self.news[no][4] = details self.emit("readNews", self.news[no]) self.connection.expect_fromto(onFullNewsItem, re.escape(line), "Posted by.*") self.connection.client.run_command("news %s" % no) onNewsItem.BLKCMD = BLKCMD_NEWS pychess-1.0.0/lib/pychess/ic/managers/ICCOfferManager.py0000644000175000017500000000605113353143212022076 0ustar varunvarunfrom gi.repository import GObject from pychess.Utils.const import OFFERS, DRAW_OFFER, ABORT_OFFER, ADJOURN_OFFER, TAKEBACK_OFFER from pychess.Utils.Offer import Offer from pychess.System.Log import log from pychess.ic.managers.OfferManager import OfferManager, offerTypeToStr from pychess.ic.icc import DG_OFFERS_IN_MY_GAME, DG_MATCH, DG_MATCH_REMOVED class ICCOfferManager(OfferManager): def __init__(self, connection): GObject.GObject.__init__(self) self.connection = connection self.connection.expect_dg_line(DG_OFFERS_IN_MY_GAME, self.on_icc_offers_in_my_game) self.connection.expect_dg_line(DG_MATCH, self.on_icc_match) self.connection.expect_dg_line(DG_MATCH_REMOVED, self.on_icc_match_removed) self.connection.client.run_command("set-2 %s 1" % DG_OFFERS_IN_MY_GAME) self.connection.client.run_command("set-2 %s 1" % DG_MATCH) self.connection.client.run_command("set-2 %s 1" % DG_MATCH_REMOVED) self.lastPly = 0 self.offers = {} def on_icc_offers_in_my_game(self, data): log.debug("DG_OFFERS_IN_MY_GAME %s" % data) # gamenumber wdraw bdraw wadjourn badjourn wabort babort wtakeback btakeback gamenumber, wdraw, bdraw, wadjourn, badjourn, wabort, babort, wtakeback, btakeback = map(int, data.split()) if wdraw or bdraw: offertype = DRAW_OFFER elif wadjourn or badjourn: offertype = ADJOURN_OFFER elif wabort or babort: offertype = ABORT_OFFER elif wtakeback or btakeback: offertype = TAKEBACK_OFFER else: log.debug("ICCOfferManager.on_icc_offers_in_my_game: unknown offer data: %s" % data) return index = gamenumber * 100000 + OFFERS.index(offertype) if offertype == TAKEBACK_OFFER: parameters = wtakeback if wtakeback else btakeback offer = Offer(offertype, param=parameters, index=index) else: offer = Offer(offertype, index=index) self.offers[offer.index] = offer log.debug("ICCOfferManager.on_icc_offers_in_my_game: emitting onOfferAdd: %s" % offer) self.emit("onOfferAdd", offer) def on_icc_match(self, data): # challenger-name challenger-rating challenger-titles # receiver-name receiver-rating receiver-titles # wild-number rating-type is-it-rated is-it-adjourned # challenger-time-control receiver-time-control # challenger-color-request [assess-loss assess-draw assess-win] # fancy-time-control log.debug("DG_MATCH %s" % data) def on_icc_match_removed(self, data): # challenger-name receiver-name ^Y{Explanation string^Y} log.debug("DG_MATCH_REMOVED %s" % data) def accept(self, offer): log.debug("OfferManager.accept: %s" % offer) self.connection.client.run_command("%s" % offerTypeToStr[offer.type]) def decline(self, offer): log.debug("OfferManager.decline: %s" % offer) self.connection.client.run_command("decline %s" % offerTypeToStr[offer.type]) pychess-1.0.0/lib/pychess/ic/managers/FingerManager.py0000755000175000017500000002733413353143212021742 0ustar varunvarunimport re from time import time from gi.repository import GObject from pychess.ic import IC_STATUS_OFFLINE, IC_STATUS_ACTIVE, IC_STATUS_PLAYING, IC_STATUS_BUSY, \ GAME_TYPES_BY_FICS_NAME, BLKCMD_FINGER from pychess.Utils.const import WHITE, BLACK from pychess.System.Log import log types = "(?:blitz|standard|lightning|wild|bughouse|crazyhouse|suicide|losers|atomic)" rated = "(rated|unrated)" colors = "(?:\[(white|black)\]\s?)?" ratings = "([\d\+\-]{1,4})" titleslist = "(?:GM|IM|FM|WGM|WIM|WFM|TM|SR|TD|SR|CA|C|U|D|B|T|\*)" titles = "((?:\(%s\))+)?" % titleslist names = "(\w+)%s" % titles mf = "(?:([mf]{1,2})\s?)?" # FIXME: Needs support for day, hour, min, sec times = "[, ]*".join("(?:(\d+) %s)?" % s for s in ("days", "hrs", "mins", "secs")) # "73 days, 5 hrs, 55 mins" # ('73', '5', '55', None) class FingerObject: def __init__(self, name=""): self.__fingerTime = time() self.__name = name self.__status = None self.__upTime = 0 self.__idleTime = 0 self.__busyMessage = "" self.__lastSeen = 0 self.__totalTimeOnline = 0 self.__created = 0 # Since field from % of life online self.__email = "" self.__sanctions = "" self.__adminLevel = "" self.__timeseal = False self.__notes = [""] * 10 self.__gameno = "" self.__color = WHITE self.__opponent = "" self.__silence = False self.__titles = None self.__ratings = {} def getName(self): """ Returns the name of the user, without any title sufixes """ return self.__name def getStatus(self): """ Returns the current user-status as a STATUS constant """ return self.__status def getUpTime(self): """ Returns the when the user logged on Not set when status == STATUS_OFFLINE """ return self.__upTime + time() - self.__fingerTime def getIdleTime(self): """ Returns the when the last time the user did something active Not set when status == STATUS_OFFLINE """ return self.__idleTime + time() - self.__fingerTime def getBusyMessage(self): """ Returns the userset idle message This is set when status == STATUS_BUSY or sometimes when status == STATUS_PLAYING """ return self.__busyMessage def getLastSeen(self): """ Returns when the user logged off This is only set when status == STATUS_OFFLINE This is not set, if the user has never logged on """ return self.__lastSeen def getTotalTimeOnline(self): """ Returns how many seconds the user has been on FICS since the account was created. This is not set, if the user has never logged on """ return self.__totalTimeOnline def getCreated(self): """ Returns when the account was created """ return self.__created def getEmail(self): """ Returns the email adress of the user. This will probably only be set for the logged in user """ return self.__email def getSanctions(self): """ Returns any sanctions the user has against them. This is usually an empty string """ return self.__sanctions def getAdminLevel(self): """ Returns the admin level as a string Only set for admins. """ return self.__adminLevel def getTimeseal(self): """ Returns True if the user is using timeseal for fics connection """ return self.__timeseal def getNotes(self): """ Returns a list of the ten finger notes """ return self.__notes def getGameno(self): """ Returns the gameno of the game in which user is currently playing This is only set when status == STATUS_PLAYING """ return self.__gameno def getColor(self): """ If status == STATUS_PLAYING getColor returns the color witch the player has got in the game. Otherwise always WHITE is returned """ return self.__color def getOpponent(self): """ Returns the opponent of the user in his current game This is only set when status == STATUS_PLAYING """ return self.__opponent def getSilence(self): """ Return True if the user is playing in silence This is only set when status == STATUS_PLAYING """ return self.__silence def getRatings(self): return self.__ratings def getRating(self, type=None): return int(self.__ratings[type][0]) def getRatingsLen(self): return len(self.__ratings) def getTitles(self): return self.__titles def setName(self, value): self.__name = value def setStatus(self, value): self.__status = value def setUpTime(self, value): """ Use relative seconds """ self.__upTime = value def setIdleTime(self, value): """ Use relative seconds """ self.__idleTime = value def setBusyMessage(self, value): """ Use relative seconds """ self.__busyMessage = value def setLastSeen(self, value): """ Use relative seconds """ self.__lastSeen = value def setTotalTimeOnline(self, value): """ Use relative seconds """ self.__totalTimeOnline = value def setCreated(self, value): """ Use relative seconds """ self.__created = value def setEmail(self, value): self.__email = value def setSanctions(self, value): self.__sanctions = value def setAdminLevel(self, value): self.__adminLevel = value def setTimeseal(self, value): self.__timeseal = value def setNote(self, index, note): self.__notes[index] = note def setGameno(self, value): self.__gameno = value def setColor(self, value): self.__color = value def setOpponent(self, value): self.__opponent = value def setSilence(self, value): self.__silence = value def setRating(self, rating_type, rating_line): self.__ratings[rating_type] = rating_line def setTitles(self, titles): self.__titles = titles class FingerManager(GObject.GObject): __gsignals__ = { 'fingeringFinished': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'ratingAdjusted': (GObject.SignalFlags.RUN_FIRST, None, (str, str)), } def __init__(self, connection): GObject.GObject.__init__(self) self.connection = connection fingerLines = ( "(?P%s has never connected\.)" % names, "Last disconnected: (?P.+)", "On for: (?P.+?) +Idle: (?P.+)", "%s is in (?Psilence) mode\." % names, "\(playing game (?P\d+): (?P\S+?)%s vs. (?P\S+?)%s\)" % (titles, titles), "\(%s (?P.+?)\)" % names, "%s has not played any rated games\." % names, "rating +RD +win +loss +draw +total +best", "(?P%s) +(?P.+)" % types, "Email *: (?P.+)", "Sanctions *: (?P.+)", "Total time online: (?P.+)", "% of life online: [\d\.]+ \(since (?P.+?)\)", "Timeseal [ \\d] : (?POff|On)", "Admin Level: (?P.+)", "(?P\d+): *(?P.*)", "$") self.connection.expect_fromplus(self.onFinger, "Finger of %s:" % names, "$|".join(fingerLines)) self.connection.client.run_command("iset nowrap 1") # We don't use this. Rather we use BoardManagers "gameEnded", after # which we do a refinger. This is to ensure not only rating, but also # wins/looses/draws are updated # self.connection.expect(self.onRatingAdjust, # "%s rating adjustment: (\d+) --> (\d+)" % types # Notice if you uncomment this: The expression has to be compiled with # re.IGNORECASE, or the first letter of 'type' must be capital def parseDate(self, date): # Tue Mar 11, 10:56 PDT 2008 return date def parseShortDate(self, date): # 24-Oct-2007 return date def parseTime(self, time): # 3 days, 2 hrs, 53 mins return time def onFinger(self, matchlist): finger = FingerObject() name = matchlist[0].groups()[0] finger.setName(name) if matchlist[0].groups()[1]: titles = re.findall(titleslist, matchlist[0].groups()[1]) finger.setTitles(titles) for match in matchlist[1:]: if not match.group(): continue groupdict = match.groupdict() if groupdict["never"] is not None: finger.setStatus(IC_STATUS_OFFLINE) elif groupdict["last"] is not None: finger.setStatus(IC_STATUS_OFFLINE) finger.setLastSeen(self.parseDate(groupdict["last"])) elif groupdict["uptime"] is not None: finger.setStatus(IC_STATUS_ACTIVE) finger.setUpTime(self.parseTime(groupdict["uptime"])) finger.setIdleTime(self.parseTime(groupdict["idletime"])) elif groupdict["silence"] is not None: finger.setSilence(True) elif groupdict["gameno"] is not None: finger.setStatus(IC_STATUS_PLAYING) finger.setGameno(groupdict["gameno"]) if groupdict["p1"].lower() == self.connection.getUsername( ).lower(): finger.setColor(WHITE) finger.setOpponent(groupdict["p2"]) else: finger.setColor(BLACK) finger.setOpponent(groupdict["p1"]) elif groupdict["busymessage"] is not None: finger.setStatus(IC_STATUS_BUSY) finger.setBusyMessage(groupdict["busymessage"]) elif groupdict["gametype"] is not None: gametype = GAME_TYPES_BY_FICS_NAME[groupdict["gametype"].lower()] ratings = groupdict["ratings"].split() finger.setRating(gametype.rating_type, ratings) elif groupdict["email"] is not None: finger.setEmail(groupdict["email"]) elif groupdict["sanctions"] is not None: finger.setSanctions(groupdict["sanctions"]) elif groupdict["tto"] is not None: finger.setTotalTimeOnline(self.parseTime(groupdict["tto"])) elif groupdict["created"] is not None: finger.setCreated(self.parseDate(groupdict["created"])) elif groupdict["timeseal"] is not None: finger.setTimeseal(groupdict["timeseal"] == "On") elif groupdict["adminlevel"] is not None: finger.setAdminLevel(groupdict["adminlevel"]) elif groupdict["noteno"] is not None: finger.setNote(int(groupdict["noteno"]) - 1, groupdict["note"]) else: log.debug("Ignored fingerline: %s" % repr(match.group())) self.emit("fingeringFinished", finger) onFinger.BLKCMD = BLKCMD_FINGER def onRatingAdjust(self, match): # Notice: This is only recived for us, not for other persons we finger rating_type, old, new = match.groups() self.emit("ratingAdjusted", rating_type, new) def finger(self, user): self.connection.client.run_command("finger %s" % user) def setFingerNote(self, note, message): assert 1 <= note <= 10 self.connection.client.run_command("set %d %s" % (note, message)) def setBusyMessage(self, message): """ Like set busy is really busy right now. """ self.connection.client.run_command("set busy %s" % message) pychess-1.0.0/lib/pychess/ic/managers/HelperManager.py0000755000175000017500000003353413353143212021746 0ustar varunvarunimport re from gi.repository import GObject from pychess.Utils.const import reprResult from pychess.ic import GAME_TYPES_BY_SHORT_FICS_NAME, IC_STATUS_PLAYING, BLKCMD_GAMES, \ GAME_TYPES, TITLES, TYPE_BLITZ, parse_title_hex, TYPE_ATOMIC, TYPE_WILD, \ TYPE_STANDARD, TYPE_LIGHTNING, TYPE_CRAZYHOUSE, TYPE_LOSERS, TYPE_BUGHOUSE, \ TYPE_SUICIDE, DEVIATION, STATUS, BLKCMD_WHO, IC_STATUS_NOT_AVAILABLE, \ IC_STATUS_AVAILABLE, parseRating from pychess.ic.FICSObjects import FICSPlayer, FICSGame from pychess.ic.managers.BoardManager import parse_reason rated = "(rated|unrated)" colors = "(?:\[(white|black)\]\s?)?" ratings = "([\d\+\- ]{1,4})" titleslist = "(?:GM|IM|FM|WGM|WIM|WFM|TM|SR|TD|CA|CM|FA|NM|C|U|D|B|T|H|\*)" titleslist_re = re.compile(titleslist) titles = "((?:\(%s\))+)?" % titleslist names = "([a-zA-Z]+)%s" % titles mf = "(?:([mf]{1,2})\s?)?" whomatch = "(?:(?:([-0-9+]{1,4})([\^~:\#. &])%s))" % names whomatch_re = re.compile(whomatch) whoI = "([A-Za-z]+)([\^~:\#. &])(\\d{2})" + "(\d{1,4})([P E])" * 8 + "(\d{1,4})([PE]?)" re_whoI = re.compile(whoI) class HelperManager(GObject.GObject): def __init__(self, helperconn, connection): GObject.GObject.__init__(self) self.helperconn = helperconn self.connection = connection # TODO: Examined games # 25 (Exam. 0 Friar 0 Friar ) [ uu 0 0] W: 1 # 28 ++++ TryMe 1737 Jack [ su 30 20] 22:27 - 23:17 (29-30) W: 16 # 2 2274 OldManII ++++ Peshkin [ bu 2 12] 2:34 - 1:47 (39-39) B: 3 # 29 1622 Vman 1609 PopKid [ sr 10 10] 1:14 - 5:10 (21-22) B: 18 # 32 1880 Raskapov 1859 RoboDweeb [ br 2 12] 1:04 - 1:26 ( 9-10) B: 34 # 1 1878 Roberto 1881 baraka [psr 45 30] 30:35 - 34:24 (22-22) W: 21 # # 6 games displayed (of 23 in progress) self.helperconn.expect_fromto( self.on_game_list, "(\d+) %s (\w+)\s+%s (\w+)\s+\[(p| )(%s)(u|r)\s*(\d+)\s+(\d+)\]\s*(\d:)?(\d+):(\d+)\s*-\s*(\d:)?(\d+):(\d+) \(\s*(\d+)-\s*(\d+)\) (W|B):\s*(\d+)" % (ratings, ratings, "|".join(GAME_TYPES_BY_SHORT_FICS_NAME.keys())), "(\d+) games displayed.") if self.helperconn.FatICS or self.helperconn.USCN: self.helperconn.expect_line(self.on_player_who, "%s(?:\s{2,}%s)+" % (whomatch, whomatch)) self.helperconn.expect_line(self.on_player_connect, "\[([A-Za-z]+) has connected\.\]") self.helperconn.expect_line(self.on_player_disconnect, "\[([A-Za-z]+) has disconnected\.\]") else: # New ivar pin # http://www.freechess.org/Help/HelpFiles/new_features.html self.helperconn.expect_fromto(self.on_player_whoI, whoI, "(\d+) Players Displayed.") self.helperconn.expect_line(self.on_player_connectI, " %s" % whoI) self.helperconn.expect_line(self.on_player_disconnectI, " ([A-Za-z]+)") self.helperconn.expect_line( self.on_game_add, "\{Game (\d+) \(([A-Za-z]+) vs\. ([A-Za-z]+)\) (?:Creating|Continuing) (u?n?rated) ([^ ]+) match\.\}$") self.helperconn.expect_line( self.on_game_remove, "\{Game (\d+) \(([A-Za-z]+) vs\. ([A-Za-z]+)\) ([A-Za-z']+ .+)\} (\*|1/2-1/2|1-0|0-1)$") self.helperconn.expect_line(self.on_player_unavailable, "%s is no longer available for matches." % names) self.helperconn.expect_fromto( self.on_player_available, "%s Blitz \(%s\), Std \(%s\), Wild \(%s\), Light\(%s\), Bug\(%s\)" % (names, ratings, ratings, ratings, ratings, ratings), "is now available for matches.") # FICS game types # b: blitz l: lightning u: untimed e: examined game # s: standard w: wild x: atomic z: crazyhouse # B: Bughouse L: losers S: Suicide if self.helperconn.FatICS or self.helperconn.USCN: self.helperconn.client.run_command("who") else: self.helperconn.client.run_command("who IbslwBzSLx") if self.helperconn.FatICS or self.helperconn.USCN: self.helperconn.client.run_command("games") else: self.helperconn.client.run_command("games /bslwBzSLx") def on_game_list(self, matchlist): games = [] for match in matchlist[:-1]: if isinstance(match, str): if match: parts0, parts1 = match.split("[") gameno, wrating, wname, brating, bname = parts0.split() private = parts1[0] shorttype = parts1[1] rated = parts1[2] min = parts1[3:6] inc = parts1[7:10] else: continue else: gameno, wrating, wname, brating, bname, private, shorttype, rated, min, \ inc, whour, wmin, wsec, bhour, bmin, bsec, wmat, bmat, color, movno = match.groups() try: gametype = GAME_TYPES_BY_SHORT_FICS_NAME[shorttype] except KeyError: return wplayer = self.connection.players.get(wname) bplayer = self.connection.players.get(bname) game = FICSGame(wplayer, bplayer, gameno=int(gameno), rated=(rated == "r"), private=(private == "p"), minutes=int(min), inc=int(inc), game_type=gametype) for player, rating in ((wplayer, wrating), (bplayer, brating)): if player.status != IC_STATUS_PLAYING: player.status = IC_STATUS_PLAYING if player.game != game: player.game = game rating = parseRating(rating) if player.ratings[gametype.rating_type] != rating: player.ratings[gametype.rating_type] = rating player.emit("ratings_changed", gametype.rating_type, player) game = self.connection.games.get(game, emit=False) games.append(game) self.connection.games.emit("FICSGameCreated", games) # print(matchlist[-1].groups()[0], len(games)) on_game_list.BLKCMD = BLKCMD_GAMES def on_game_add(self, match): gameno, wname, bname, rated, game_type = match.groups() if game_type not in GAME_TYPES: return wplayer = self.connection.players.get(wname) bplayer = self.connection.players.get(bname) game = FICSGame(wplayer, bplayer, gameno=int(gameno), rated=(rated == "rated"), game_type=GAME_TYPES[game_type]) for player in (wplayer, bplayer): if player.status != IC_STATUS_PLAYING: player.status = IC_STATUS_PLAYING if player.game != game: player.game = game self.connection.games.get(game) def on_game_remove(self, match): gameno, wname, bname, comment, result = match.groups() result, reason = parse_reason( reprResult.index(result), comment, wname=wname) try: wplayer = self.connection.players.get(wname) wplayer.restore_previous_status() # no status update will be sent by # FICS if the player doesn't become available, so we restore # previous status first (not necessarily true, but the best guess) except KeyError: print("%s not in self.connections.players - creating" % wname) wplayer = FICSPlayer(wname) try: bplayer = self.connection.players.get(bname) bplayer.restore_previous_status() except KeyError: print("%s not in self.connections.players - creating" % bname) bplayer = FICSPlayer(bname) game = FICSGame(wplayer, bplayer, gameno=int(gameno), result=result, reason=reason) if wplayer.game is not None: game.rated = wplayer.game.rated game = self.connection.games.get(game, emit=False) # Our played/observed game ends are handled in main connection to prevent # removing them by helper connection before latest move(style12) comes from server if game == self.connection.bm.theGameImPlaying or \ game in self.connection.bm.gamesImObserving: return self.connection.games.game_ended(game) # Do this last to give anybody connected to the game's signals a chance # to disconnect from them first wplayer.game = None bplayer.game = None @staticmethod def parseTitles(titles): _titles = set() if titles: for title in titleslist_re.findall(titles): if title in TITLES: _titles.add(TITLES[title]) return _titles def on_player_connectI(self, match, set_online=True): # bslwBzSLx # gbtami 001411E1663P1483P1720P0P1646P0P0P1679P name, status, titlehex, blitz, blitzdev, std, stddev, light, lightdev, \ wild, wilddev, bughouse, bughousedev, crazyhouse, crazyhousedev, \ suicide, suicidedev, losers, losersdev, atomic, atomicdev = match.groups() player = self.connection.players.get(name) titles = parse_title_hex(titlehex) if not player.titles >= titles: player.titles |= titles for rating_type, elo, dev in \ ((TYPE_BLITZ, blitz, blitzdev), (TYPE_STANDARD, std, stddev), (TYPE_LIGHTNING, light, lightdev), (TYPE_ATOMIC, atomic, atomicdev), (TYPE_WILD, wild, wilddev), (TYPE_CRAZYHOUSE, crazyhouse, crazyhousedev), (TYPE_BUGHOUSE, bughouse, bughousedev), (TYPE_LOSERS, losers, losersdev), (TYPE_SUICIDE, suicide, suicidedev)): rating = parseRating(elo) if player.ratings[rating_type] != rating: player.ratings[rating_type] = rating player.emit("ratings_changed", rating_type, player) player.deviations[rating_type] = DEVIATION[dev] # do last so rating info is there when notifications are generated status = STATUS[status] if player.status != status: player.status = status if set_online and not player.online: player.online = True return player def on_player_disconnectI(self, match): name = match.groups()[0] self.connection.players.player_disconnected(name) def on_player_whoI(self, matchlist): players = [] for match in matchlist[:-1]: if isinstance(match, str): if match: players.append(self.on_player_connectI(re_whoI.match(match))) else: continue else: players.append(self.on_player_connectI(match)) self.connection.players.emit("FICSPlayerEntered", players) # print(matchlist[-1].groups()[0], len(players)) on_player_whoI.BLKCMD = BLKCMD_WHO def on_player_who(self, match): for blitz, status, name, titles in whomatch_re.findall(match.string): player = self.connection.players.get(name) if not player.online: player.online = True status = STATUS[status] if player.status != status: player.status = status titles = self.parseTitles(titles) if not player.titles >= titles: player.titles |= titles blitz = parseRating(blitz) if player.ratings[TYPE_BLITZ] != blitz: player.ratings[TYPE_BLITZ] = blitz player.emit("ratings_changed", TYPE_BLITZ, player) def on_player_connect(self, match): name = match.groups()[0] player = self.connection.players.get(name) player.online = True def on_player_disconnect(self, match): name = match.groups()[0] self.connection.players.player_disconnected(name) def on_player_unavailable(self, match): name, titles = match.groups() player = self.connection.players.get(name) titles = self.parseTitles(titles) if not player.titles >= titles: player.titles |= titles # we get here after players start a game, so we make sure that we don't # overwrite IC_STATUS_PLAYING if player.game is None and \ player.status not in (IC_STATUS_PLAYING, IC_STATUS_NOT_AVAILABLE): player.status = IC_STATUS_NOT_AVAILABLE def on_player_available(self, matches): name, titles, blitz, std, wild, light, bughouse = matches[0].groups() player = self.connection.players.get(name) if not player.online: player.online = True if player.status != IC_STATUS_AVAILABLE: player.status = IC_STATUS_AVAILABLE titles = self.parseTitles(titles) if not player.titles >= titles: player.titles |= titles for rating_type, rating in ((TYPE_BLITZ, blitz), (TYPE_STANDARD, std), (TYPE_LIGHTNING, light), (TYPE_WILD, wild), (TYPE_BUGHOUSE, bughouse)): rating = parseRating(rating) if player.ratings[rating_type] != rating: player.ratings[rating_type] = rating player.emit("ratings_changed", rating_type, player) pychess-1.0.0/lib/pychess/ic/managers/ICCBoardManager.py0000644000175000017500000004415313353143212022071 0ustar varunvarun import asyncio from gi.repository import GObject from pychess.System.Log import log from pychess.Utils.const import SHUFFLECHESS, WILDCASTLESHUFFLECHESS, FISCHERRANDOMCHESS, \ RANDOMCHESS, ASYMMETRICRANDOMCHESS, FEN_START, WHITE, reprResult from pychess.ic.FICSObjects import FICSGame, FICSBoard, FICSPlayer from pychess.ic.managers.BoardManager import BoardManager, parse_reason from pychess.ic import IC_POS_OBSERVING, GAME_TYPES, IC_STATUS_PLAYING, IC_POS_EXAMINATING from pychess.ic.icc import DG_POSITION_BEGIN, DG_SEND_MOVES, DG_MOVE_ALGEBRAIC, DG_MOVE_SMITH, \ DG_MOVE_TIME, DG_MOVE_CLOCK, DG_MY_GAME_STARTED, DG_MY_GAME_ENDED, DG_STARTED_OBSERVING, \ DG_MY_GAME_RESULT, DG_STOP_OBSERVING, DG_IS_VARIATION, DG_ISOLATED_BOARD, CN_SPGN, DG_BACKWARD, \ DG_MOVE_LAG, DG_KNOWS_FISCHER_RANDOM, DG_SET_BOARD, DG_GAME_MESSAGE, DG_TAKEBACK class ICCBoardManager(BoardManager): queued_send_moves = {} def __init__(self, connection): GObject.GObject.__init__(self) self.connection = connection self.connection.expect_dg_line(DG_MY_GAME_STARTED, self.on_icc_my_game_started) self.connection.expect_dg_line(DG_STARTED_OBSERVING, self.on_icc_started_observing) self.connection.expect_dg_line(DG_STOP_OBSERVING, self.on_icc_stop_observing) self.connection.expect_dg_line(DG_MY_GAME_RESULT, self.on_icc_my_game_result) self.connection.expect_dg_line(DG_MY_GAME_ENDED, self.on_icc_my_game_ended) self.connection.expect_dg_line(DG_POSITION_BEGIN, self.on_icc_position_begin) self.connection.expect_dg_line(DG_SEND_MOVES, self.on_icc_send_moves) self.connection.expect_dg_line(DG_ISOLATED_BOARD, self.on_icc_isolated_board) self.connection.expect_dg_line(DG_MOVE_LAG, self.on_icc_move_lag) # both DG doing undo x moves in gamemodel self.connection.expect_dg_line(DG_BACKWARD, self.on_icc_back) self.connection.expect_dg_line(DG_TAKEBACK, self.on_icc_back) self.connection.expect_dg_line(DG_KNOWS_FISCHER_RANDOM, self.on_icc_knows_fischer_random) self.connection.expect_dg_line(DG_SET_BOARD, self.on_icc_set_board) self.connection.expect_dg_line(DG_GAME_MESSAGE, self.on_icc_game_message) self.connection.expect_cn_line(CN_SPGN, self.on_icc_spgn) self.queuedEmits = {} self.gamemodelStartedEvents = {} self.theGameImPlaying = None self.my_game_info = None self.gamesImObserving = {} # on observe game start, it stores number of moves we expect self.moves_to_go = None self.connection.client.run_command("set-2 %s 1" % DG_MY_GAME_STARTED) self.connection.client.run_command("set-2 %s 1" % DG_STARTED_OBSERVING) self.connection.client.run_command("set-2 %s 1" % DG_STOP_OBSERVING) self.connection.client.run_command("set-2 %s 1" % DG_MY_GAME_RESULT) self.connection.client.run_command("set-2 %s 1" % DG_MY_GAME_ENDED) self.connection.client.run_command("set-2 %s 1" % DG_MOVE_ALGEBRAIC) self.connection.client.run_command("set-2 %s 1" % DG_MOVE_SMITH) self.connection.client.run_command("set-2 %s 1" % DG_MOVE_TIME) self.connection.client.run_command("set-2 %s 1" % DG_MOVE_CLOCK) self.connection.client.run_command("set-2 %s 1" % DG_POSITION_BEGIN) self.connection.client.run_command("set-2 %s 0" % DG_IS_VARIATION) self.connection.client.run_command("set-2 %s 0" % DG_MOVE_LAG) self.connection.client.run_command("set-2 %s 1" % DG_SEND_MOVES) self.connection.client.run_command("set-2 %s 1" % DG_ISOLATED_BOARD) self.connection.client.run_command("set-2 %s 1" % DG_BACKWARD) self.connection.client.run_command("set-2 %s 1" % DG_TAKEBACK) self.connection.client.run_command("set-2 %s 1" % DG_KNOWS_FISCHER_RANDOM) self.connection.client.run_command("set-2 %s 1" % DG_SET_BOARD) self.connection.client.run_command("set-2 %s 1" % DG_GAME_MESSAGE) self.connection.client.run_command("set style 13") # don't unobserve games when we start a new game, or new observe self.connection.client.run_command("set unobserve 0") self.connection.lvm.autoFlagNotify() def on_icc_spgn(self, data): log.debug("DG_SPGN %s" % data) if self.connection.query_game is None: return game = self.connection.query_game game.board = FICSBoard(0, 0, pgn=data) game = self.connection.games.get(game) self.emit("archiveGamePreview", game) def on_icc_game_message(self, data): log.debug("DG_GAME_MESSAGE %s" % data) return def on_icc_knows_fischer_random(self, data): log.debug("DG_KNOWS_FISCHER_RANDOM %s" % data) def on_icc_set_board(self, data): log.debug("DG_SET_BOARD %s" % data) def on_icc_isolated_board(self, data): log.debug("DG_ISOLATED_BOARD %s" % data) def on_icc_move_lag(self, data): log.debug("DG_MOVE_LAG %s" % data) def on_icc_back(self, data): log.debug("DG_ICC_BACKWARD or DG_TAKEBACK %s" % data) # gamenumber backup-count gameno, backup_count = data.split() gameno = int(gameno) backup_count = int(backup_count) try: game = self.connection.games.get_game_by_gameno(gameno) except KeyError: return if game == self.theGameImPlaying or game in self.gamesImObserving: curcol, ply, wms, bms = self.my_game_info for i in range(backup_count): ply -= 1 curcol = 1 - curcol self.my_game_info = (curcol, ply, wms, bms) self.emit("gameUndoing", gameno, backup_count) def on_icc_my_game_started(self, data): log.debug("DG_MY_GAME_STARTED %s" % data) # gamenumber whitename blackname wild-number rating-type rated # white-initial white-increment black-initial black-increment # played-game {ex-string} white-rating black-rating game-id # white-titles black-titles irregular-legality irregular-semantics # uses-plunkers fancy-timecontrol promote-to-king # 685 Salsicha MaxiBomb 0 Blitz 1 3 0 3 0 1 {} 2147 2197 1729752694 {} {} 0 0 0 {} 0 # 259 Rikikilord ARMH 0 Blitz 1 2 12 2 12 0 {Ex: Rikikilord 0} 1532 1406 1729752286 {} {} 0 0 0 {} 0 gameno, wname, bname, wild, rtype, rated, wmin, winc, bmin, binc, played_game, rest = data.split(" ", 11) parts = rest.split("}", 1)[1].split() wrating = int(parts[0]) brating = int(parts[1]) gameno = int(gameno) wplayer = self.connection.players.get(wname) bplayer = self.connection.players.get(bname) if int(wild) > 0: game_type = GAME_TYPES["w%s" % wild] else: game_type = GAME_TYPES[rtype.lower()] log.debug("DG_MY_GAME_STARTED game type is %s" % game_type) for player, rating in ((wplayer, wrating), (bplayer, brating)): try: if player.ratings[game_type.rating_type] != rating: player.ratings[game_type.rating_type] = rating player.emit("ratings_changed", game_type.rating_type, player) except IndexError: log.debug("!!! game_type.rating_type %s is out of range in player.ratings %s" % (game_type.rating_type, player.ratings)) wms = bms = int(wmin) * 60 * 1000 + int(winc) * 1000 # TODO: maybe use DG_POSITION_BEGIN2 and DG_PAST_MOVE ? fen = FEN_START game = FICSGame(wplayer, bplayer, gameno=gameno, rated=rated == "1", game_type=game_type, minutes=int(wmin), inc=int(winc), board=FICSBoard(wms, bms, fen=fen)) if self.connection.examined_game is not None: pgnHead = [ ("Event", "ICC examined game"), ("Site", "chessclub.com"), ("White", wname), ("Black", bname), ("Result", "*"), ("SetUp", "1"), ("FEN", fen) ] pgn = "\n".join(['[%s "%s"]' % line for line in pgnHead]) + "\n*\n" game.relation = IC_POS_EXAMINATING game.game_type = GAME_TYPES["examined"] game.board.pgn = pgn game = self.connection.games.get(game) for player in (wplayer, bplayer): if player.status != IC_STATUS_PLAYING: player.status = IC_STATUS_PLAYING if player.game != game: player.game = game self.theGameImPlaying = game self.my_game_info = (WHITE, 0, wms, bms) self.gamemodelStartedEvents[gameno] = asyncio.Event() self.connection.client.run_command("follow") if self.connection.examined_game is not None: self.emit("exGameCreated", game) else: if int(wild) in (1, 2, 3, 4, 20, 21, 22): # several wild variant (including loadfen/loadgame) need # a starting FEN coming in a DG_POSITION_BEGIN datgram log.debug("wild20 is waiting for a starting FEN...") else: self.emit("playGameCreated", game) def on_icc_started_observing(self, data): log.debug("DG_STARTED_OBSERVING %s" % data) gameno, wname, bname, wild, rtype, rated, wmin, winc, bmin, binc, played_game, rest = data.split(" ", 11) parts = rest.split("}", 1)[1].split() wrating = int(parts[0]) brating = int(parts[1]) gameno = int(gameno) wplayer = self.connection.players.get(wname) bplayer = self.connection.players.get(bname) game_type = GAME_TYPES[rtype.lower()] for player, rating in ((wplayer, wrating), (bplayer, brating)): if player.ratings[game_type.rating_type] != rating: player.ratings[game_type.rating_type] = rating player.emit("ratings_changed", game_type.rating_type, player) relation = IC_POS_OBSERVING wms = bms = int(wmin) * 60 * 1000 + int(winc) * 1000 game = FICSGame(wplayer, bplayer, gameno=gameno, rated=rated == "1", game_type=game_type, minutes=int(wmin), inc=int(winc), relation=relation) game = self.connection.games.get(game, emit=False) self.gamesImObserving[game] = (WHITE, 0, wms, bms) self.queued_send_moves[game.gameno] = [] self.queuedEmits[game.gameno] = [] self.gamemodelStartedEvents[game.gameno] = asyncio.Event() def on_icc_stop_observing(self, data): log.debug("DG_STOP_OBSERVING %s" % data) gameno = int(data.split()[0]) try: del self.gamemodelStartedEvents[gameno] game = self.connection.games.get_game_by_gameno(gameno) except KeyError: return self.emit("obsGameUnobserved", game) def on_icc_my_game_ended(self, data): log.debug("DG_MY_GAME_ENDED %s" % data) def on_icc_my_game_result(self, data): log.debug("DG_MY_GAME_RESULT %s" % data) # gamenumber become-examined game_result_code score_string2 description-string ECO # 1242 1 Res 1-0 {Black resigns} {D89} parts = data.split(" ", 4) gameno, ex, result_code, result, rest = parts gameno = int(gameno) comment, rest = rest[2:].split("}", 1) try: game = self.connection.games.get_game_by_gameno(gameno) except KeyError: return wname = game.wplayer.name bname = game.bplayer.name result, reason = parse_reason( reprResult.index(result), comment, wname=wname) try: wplayer = self.connection.players.get(wname) wplayer.restore_previous_status() # no status update will be sent by # FICS if the player doesn't become available, so we restore # previous status first (not necessarily true, but the best guess) except KeyError: log.debug("%s not in self.connections.players - creating" % wname) wplayer = FICSPlayer(wname) try: bplayer = self.connection.players.get(bname) bplayer.restore_previous_status() except KeyError: log.debug("%s not in self.connections.players - creating" % bname) bplayer = FICSPlayer(bname) game = FICSGame(wplayer, bplayer, gameno=int(gameno), result=result, reason=reason) if wplayer.game is not None: game.rated = wplayer.game.rated game = self.connection.games.get(game, emit=False) self.connection.games.game_ended(game) # Do this last to give anybody connected to the game's signals a chance # to disconnect from them first wplayer.game = None bplayer.game = None def on_icc_position_begin(self, data): log.debug("DG_POSITION_BEGIN %s" % data) # gamenumber {initial-FEN} nmoves-to-follow gameno, right_part = data.split("{") gameno = int(gameno) try: game = self.connection.games.get_game_by_gameno(gameno) except KeyError: return fen, moves_to_go = right_part.split("}") self.moves_to_go = int(moves_to_go) if fen != FEN_START and (game.game_type == GAME_TYPES["w20"] or game.game_type == GAME_TYPES["w21"] or game.game_type.variant_type in ( SHUFFLECHESS, WILDCASTLESHUFFLECHESS, FISCHERRANDOMCHESS, RANDOMCHESS, ASYMMETRICRANDOMCHESS)): # a starting fen coming in a DG_POSITION_BEGIN datagram log.debug("wild20 got a starting FEN %s" % fen) game.board.fen = fen self.emit("playGameCreated", game) def on_icc_send_moves(self, data): log.debug("DG_SEND_MOVES %s" % data) # gamenumber algebraic-move smith-move time clock send_moves = data gameno, san_move, alg_move, time, clock = send_moves.split() gameno = int(gameno) try: game = self.connection.games.get_game_by_gameno(gameno) except KeyError: log.debug("Game %s is not in self.connection.games" % gameno) return fen = "" if game == self.theGameImPlaying: curcol, ply, wms, bms = self.my_game_info else: curcol, ply, wms, bms = self.gamesImObserving[game] if curcol == WHITE: wms = int(clock) * 1000 else: bms = int(clock) * 1000 ply += 1 curcol = 1 - curcol if game == self.theGameImPlaying: self.my_game_info = (curcol, ply, wms, bms) else: self.gamesImObserving[game] = (curcol, ply, wms, bms) if gameno in self.queued_send_moves: self.queued_send_moves[gameno].append(send_moves) if self.moves_to_go and len(self.queued_send_moves[gameno]) < self.moves_to_go: return if self.moves_to_go == 0 or self.moves_to_go is None: log.debug("put san_move to move_queue %s" % san_move) game.move_queue.put_nowait((gameno, ply, curcol, san_move, fen, game.wplayer.name, game.bplayer.name, wms, bms)) self.emit("timesUpdate", gameno, wms, bms) else: if game.gameno not in self.gamemodelStartedEvents: return if game.gameno not in self.queuedEmits: return pgnHead = [ ("Event", "ICC %s %s game" % (game.display_rated.lower(), game.game_type.fics_name)), ("Site", "chessclub.com"), ("White", game.wplayer.name), ("Black", game.bplayer.name), ("Result", "*"), ("TimeControl", "%d+%d" % (game.minutes * 60, game.inc)), ] wrating = game.wplayer.ratings[game.game_type.rating_type] brating = game.bplayer.ratings[game.game_type.rating_type] if wrating != 0: pgnHead += [("WhiteElo", wrating)] if brating != 0: pgnHead += [("BlackElo", brating)] pgn = "\n".join(['[%s "%s"]' % line for line in pgnHead]) + "\n" moves = self.queued_send_moves[gameno] ply = 0 for send_moves in moves: gameno_, san_move, alg_move, time, clock = send_moves.split() if ply % 2 == 0: pgn += "%d. " % (ply // 2 + 1) pgn += "%s {[%%emt %s]} " % (san_move, time) ply += 1 pgn += "*\n" del self.queued_send_moves[gameno] self.moves_to_go = None wms = bms = 0 game = FICSGame(game.wplayer, game.bplayer, game_type=game.game_type, result=game.result, rated=game.rated, minutes=game.minutes, inc=game.inc, board=FICSBoard(wms, bms, pgn=pgn)) in_progress = True if in_progress: game.gameno = gameno else: if gameno is not None: game.gameno = gameno # game.reason = reason game = self.connection.games.get(game, emit=False) self.emit("obsGameCreated", game) try: self.gamemodelStartedEvents[game.gameno].wait() except KeyError: pass for emit in self.queuedEmits[game.gameno]: emit() del self.queuedEmits[game.gameno] curcol, ply, wms, bms = self.gamesImObserving[game] self.emit("timesUpdate", game.gameno, wms, bms) pychess-1.0.0/lib/pychess/ic/managers/ICCFingerManager.py0000644000175000017500000000524213353143212022250 0ustar varunvarunfrom gi.repository import GObject from pychess.ic import GAME_TYPES_BY_FICS_NAME from pychess.ic.icc import DG_WHO_AM_I, CN_YFINGER from pychess.ic.managers.FingerManager import FingerManager, FingerObject ELO, DEVIATION, WINS, LOSSES, DRAWS, TOTAL, BESTELO, BESTTIME = range(8) ICC_RATING_TYPE_MAP = { "Bul": "bullet", "Bli": "blitz", "Sta": "standard", "1-m": "1-minute", "3-m": "3-minute", "5-m": "5-minute", "15-": "15-minute", "45-": "45-minute", "Che": "chess960", } class ICCFingerManager(FingerManager): def __init__(self, connection): GObject.GObject.__init__(self) self.connection = connection self.connection.expect_dg_line(DG_WHO_AM_I, self.on_icc_who_am_i) self.connection.expect_cn_line(CN_YFINGER, self.on_icc_yfinger) self.connection.client.run_command("set-2 %s 1" % DG_WHO_AM_I) def on_icc_yfinger(self, data): finger = FingerObject() lines = data.split("\n") rating_lines = {} for line in lines: key, value = line.split(" ", 1) prefix = key[:3] # print(key, value, prefix, key[3:]) if prefix in ICC_RATING_TYPE_MAP: if prefix not in rating_lines: rating_lines[prefix] = [0] * 8 if key[3:] == "Rat": value = int(value) rating_lines[prefix][ELO] = value elif key[3:] == "Win": value = int(value) rating_lines[prefix][WINS] = value elif key[3:] == "Draw": value = int(value) rating_lines[prefix][DRAWS] = value elif key[3:] == "Loss": value = int(value) rating_lines[prefix][LOSSES] = value elif key[3:] == "Need": value = int(value) rating_lines[prefix][DEVIATION] = value elif key[3:] == "Best": bestelo, besttime = value.split(" ", 1) rating_lines[prefix][BESTELO] = int(bestelo) rating_lines[prefix][BESTTIME] = besttime elif key == "Name": finger.setName(value) for prefix in rating_lines: gametype = GAME_TYPES_BY_FICS_NAME[ICC_RATING_TYPE_MAP[prefix]] finger.setRating(gametype.rating_type, rating_lines[prefix]) self.emit("fingeringFinished", finger) def on_icc_who_am_i(self, data): name, titles = data.split(" ", 1) self.connection.username = name def finger(self, user): self.connection.client.run_command("yfinger %s" % user) pychess-1.0.0/lib/pychess/ic/managers/BoardManager.py0000755000175000017500000015762113365545272021601 0ustar varunvarunimport re import asyncio from gi.repository import GObject from pychess.System.Log import log from pychess.Savers.pgn import msToClockTimeTag from pychess.Utils.const import WHITEWON, WON_RESIGN, WON_DISCONNECTION, WON_CALLFLAG, \ BLACKWON, WON_MATE, WON_ADJUDICATION, WON_KINGEXPLODE, WON_NOMATERIAL, UNKNOWN_REASON, \ DRAW, DRAW_REPITITION, DRAW_BLACKINSUFFICIENTANDWHITETIME, DRAW_WHITEINSUFFICIENTANDBLACKTIME, \ DRAW_INSUFFICIENT, DRAW_CALLFLAG, DRAW_AGREE, DRAW_STALEMATE, DRAW_50MOVES, DRAW_LENGTH, \ DRAW_ADJUDICATION, ADJOURNED, ADJOURNED_COURTESY_WHITE, ADJOURNED_COURTESY_BLACK, \ ADJOURNED_COURTESY, ADJOURNED_AGREEMENT, ADJOURNED_LOST_CONNECTION_WHITE, \ ADJOURNED_LOST_CONNECTION_BLACK, ADJOURNED_LOST_CONNECTION, ADJOURNED_SERVER_SHUTDOWN, \ ABORTED, ABORTED_AGREEMENT, ABORTED_DISCONNECTION, ABORTED_EARLY, ABORTED_SERVER_SHUTDOWN, \ ABORTED_ADJUDICATION, ABORTED_COURTESY, UNKNOWN_STATE, BLACK, WHITE, reprFile, \ FISCHERRANDOMCHESS, CRAZYHOUSECHESS, WILDCASTLECHESS, WILDCASTLESHUFFLECHESS, ATOMICCHESS, \ LOSERSCHESS, SUICIDECHESS, GIVEAWAYCHESS, reprResult from pychess.ic import IC_POS_OBSERVING_EXAMINATION, IC_POS_EXAMINATING, GAME_TYPES, IC_STATUS_PLAYING, \ BLKCMD_SEEK, BLKCMD_OBSERVE, BLKCMD_MATCH, TYPE_WILD, BLKCMD_SMOVES, BLKCMD_UNOBSERVE, BLKCMD_MOVES, \ BLKCMD_FLAG, parseRating from pychess.ic.FICSObjects import FICSGame, FICSBoard, FICSHistoryGame, \ FICSAdjournedGame, FICSJournalGame, FICSPlayer names = "(\w+)" titles = "((?:\((?:GM|IM|FM|WGM|WIM|WFM|TM|SR|TD|SR|CA|C|U|D|B|T|\*)\))+)?" ratedexp = "(rated|unrated)" ratings = "\(\s*([0-9\ \-\+]{1,4}[P E]?|UNR)\)" weekdays = ("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun") months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] # "Thu Oct 14, 20:36 PDT 2010" dates = "(%s)\s+(%s)\s+(\d+),\s+(\d+):(\d+)\s+([A-Z\?]+)\s+(\d{4})" % \ ("|".join(weekdays), "|".join(months)) # "2010-10-14 20:36 UTC" datesFatICS = "(\d{4})-(\d{2})-(\d{2})\s+(\d{2}):(\d{2})\s+(UTC)" moveListHeader1Str = "%s %s vs. %s %s --- (?:%s|%s)" % ( names, ratings, names, ratings, dates, datesFatICS) moveListHeader1 = re.compile(moveListHeader1Str) moveListHeader2Str = "%s ([^ ]+) match, initial time: (\d+) minutes, increment: (\d+) seconds\." % \ ratedexp moveListHeader2 = re.compile(moveListHeader2Str, re.IGNORECASE) sanmove = "([a-hx@OoPKQRBN0-8+#=-]{2,7})" movetime = "\((\d:)?(\d{1,2}):(\d\d)(?:\.(\d{1,3}))?\)" moveListMoves = re.compile("\s*(\d+)\. +(?:%s|\.\.\.) +%s *(?:%s +%s)?" % (sanmove, movetime, sanmove, movetime)) creating0 = re.compile( "Creating: %s %s %s %s %s ([^ ]+) (\d+) (\d+)(?: \(adjourned\))?" % (names, ratings, names, ratings, ratedexp)) creating1 = re.compile( "{Game (\d+) \(%s vs\. %s\) (?:Creating|Continuing) %s ([^ ]+) match\." % (names, names, ratedexp)) pr = re.compile(" ([\d ]+)") sr = re.compile(" ([\d ]+)") fileToEpcord = (("a3", "b3", "c3", "d3", "e3", "f3", "g3", "h3"), ("a6", "b6", "c6", "d6", "e6", "f6", "g6", "h6")) def parse_reason(result, reason, wname=None): """ Parse the result value and reason line string for the reason and return the result and reason the game ended. result -- The result of the game, if known. It can be "None", but if it is "DRAW", then wname must be supplied """ if result in (WHITEWON, BLACKWON): if "resigns" in reason: reason = WON_RESIGN elif "disconnection" in reason: reason = WON_DISCONNECTION elif "time" in reason: reason = WON_CALLFLAG elif "checkmated" in reason: reason = WON_MATE elif "adjudication" in reason: reason = WON_ADJUDICATION elif "exploded" in reason: reason = WON_KINGEXPLODE elif "material" in reason: reason = WON_NOMATERIAL else: reason = UNKNOWN_REASON elif result == DRAW: assert wname is not None if "repetition" in reason: reason = DRAW_REPITITION elif "material" in reason and "time" in reason: if wname + " ran out of time" in reason: reason = DRAW_BLACKINSUFFICIENTANDWHITETIME else: reason = DRAW_WHITEINSUFFICIENTANDBLACKTIME elif "material" in reason: reason = DRAW_INSUFFICIENT elif "time" in reason: reason = DRAW_CALLFLAG elif "agreement" in reason: reason = DRAW_AGREE elif "stalemate" in reason: reason = DRAW_STALEMATE elif "50" in reason: reason = DRAW_50MOVES elif "length" in reason: # FICS has a max game length on 800 moves reason = DRAW_LENGTH elif "adjudication" in reason: reason = DRAW_ADJUDICATION else: reason = UNKNOWN_REASON elif result == ADJOURNED or "adjourned" in reason: result = ADJOURNED if "courtesy" in reason: if wname: if wname in reason: reason = ADJOURNED_COURTESY_WHITE else: reason = ADJOURNED_COURTESY_BLACK elif "white" in reason: reason = ADJOURNED_COURTESY_WHITE elif "black" in reason: reason = ADJOURNED_COURTESY_BLACK else: reason = ADJOURNED_COURTESY elif "agreement" in reason: reason = ADJOURNED_AGREEMENT elif "connection" in reason: if "white" in reason: reason = ADJOURNED_LOST_CONNECTION_WHITE elif "black" in reason: reason = ADJOURNED_LOST_CONNECTION_BLACK else: reason = ADJOURNED_LOST_CONNECTION elif "server" in reason: reason = ADJOURNED_SERVER_SHUTDOWN else: reason = UNKNOWN_REASON elif "aborted" in reason: result = ABORTED if "agreement" in reason: reason = ABORTED_AGREEMENT elif "moves" in reason: # lost connection and too few moves; game aborted * reason = ABORTED_DISCONNECTION elif "move" in reason: # Game aborted on move 1 * reason = ABORTED_EARLY elif "shutdown" in reason: reason = ABORTED_SERVER_SHUTDOWN elif "adjudication" in reason: reason = ABORTED_ADJUDICATION else: reason = UNKNOWN_REASON elif "courtesyadjourned" in reason: result = ADJOURNED reason = ADJOURNED_COURTESY elif "courtesyaborted" in reason: result = ABORTED reason = ABORTED_COURTESY else: result = UNKNOWN_STATE reason = UNKNOWN_REASON return result, reason class BoardManager(GObject.GObject): __gsignals__ = { 'playGameCreated': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'obsGameCreated': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'exGameCreated': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'exGameReset': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'gameUndoing': (GObject.SignalFlags.RUN_FIRST, None, (int, int)), 'archiveGamePreview': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'boardSetup': (GObject.SignalFlags.RUN_FIRST, None, (int, str, str, str)), 'timesUpdate': (GObject.SignalFlags.RUN_FIRST, None, (int, int, int,)), 'obsGameEnded': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'curGameEnded': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'obsGameUnobserved': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'madeExamined': (GObject.SignalFlags.RUN_FIRST, None, (int, )), 'madeUnExamined': (GObject.SignalFlags.RUN_FIRST, None, (int, )), 'gamePaused': (GObject.SignalFlags.RUN_FIRST, None, (int, bool)), 'tooManySeeks': (GObject.SignalFlags.RUN_FIRST, None, ()), 'nonoWhileExamine': (GObject.SignalFlags.RUN_FIRST, None, ()), 'matchDeclined': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'player_on_censor': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'player_on_noplay': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'player_lagged': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'opp_not_out_of_time': (GObject.SignalFlags.RUN_FIRST, None, ()), 'req_not_fit_formula': (GObject.SignalFlags.RUN_FIRST, None, (object, str)), } castleSigns = {} queuedStyle12s = {} def __init__(self, connection): GObject.GObject.__init__(self) self.connection = connection self.connection.expect_line(self.onStyle12, "<12> (.+)") self.connection.expect_line(self.onWasPrivate, "Sorry, game (\d+) is a private game\.") self.connection.expect_line(self.tooManySeeks, "You can only have 3 active seeks.") self.connection.expect_line( self.nonoWhileExamine, "(?:You cannot challenge while you are examining a game.)|" + "(?:You are already examining a game.)") self.connection.expect_line(self.matchDeclined, "%s declines the match offer." % names) self.connection.expect_line(self.player_on_censor, "%s is censoring you." % names) self.connection.expect_line(self.player_on_noplay, "You are on %s's noplay list." % names) self.connection.expect_line( self.player_lagged, "Game (\d+): %s has lagged for (\d+) seconds\." % names) self.connection.expect_line( self.opp_not_out_of_time, "Opponent is not out of time, wait for server autoflag\.") self.connection.expect_n_lines( self.req_not_fit_formula, "Match request does not fit formula for %s:" % names, "%s's formula: (.+)" % names) self.connection.expect_line( self.on_game_remove, "\{Game (\d+) \(([A-Za-z]+) vs\. ([A-Za-z]+)\) ([A-Za-z']+ .+)\} (\*|1/2-1/2|1-0|0-1)$") if self.connection.USCN: self.connection.expect_n_lines( self.onPlayGameCreated, "Creating: %s %s %s %s %s ([^ ]+) (\d+) (\d+)(?: \(adjourned\))?" % (names, ratings, names, ratings, ratedexp), "", "{Game (\d+) \(%s vs\. %s\) (?:Creating|Continuing) %s ([^ ]+) match\." % (names, names, ratedexp), "", "<12> (.+)") else: self.connection.expect_n_lines( self.onPlayGameCreated, "Creating: %s %s %s %s %s ([^ ]+) (\d+) (\d+)(?: \(adjourned\))?" % (names, ratings, names, ratings, ratedexp), "{Game (\d+) \(%s vs\. %s\) (?:Creating|Continuing) %s ([^ ]+) match\." % (names, names, ratedexp), "", "<12> (.+)") # TODO: Trying to precisely match every type of possible response FICS # will throw at us for "Your seek matches..." or "Your seek qualifies # for [player]'s getgame" is error prone and we can never be sure we # even have all of the different types of replies the server will throw # at us. So we should probably make it possible for multi-line # prediction callbacks in VerboseTelnet to put lines the callback isn't # interested in or doesn't handle back onto the input line stack in # VerboseTelnet.TelnetLines self.connection.expect_fromto( self.onMatchingSeekOrGetGame, "Your seek (?:matches one already posted by %s|qualifies for %s's getgame)\." % (names, names), "(?:<12>|) (.+)") self.connection.expect_fromto( self.onInterceptedChallenge, "Your challenge intercepts %s's challenge\." % names, "<12> (.+)") if self.connection.USCN: self.connection.expect_n_lines(self.onObserveGameCreated, "You are now observing game \d+\.", '', "<12> (.+)") else: self.connection.expect_n_lines( self.onObserveGameCreated, "You are now observing game \d+\.", "Game (\d+): %s %s %s %s %s ([\w/]+) (\d+) (\d+)" % (names, ratings, names, ratings, ratedexp), '', "<12> (.+)") self.connection.expect_fromto(self.onObserveGameMovesReceived, "Movelist for game (\d+):", "{Still in progress} \*") self.connection.expect_fromto( self.onArchiveGameSMovesReceived, moveListHeader1Str, # "\s*{((?:Game courtesyadjourned by (Black|White))|(?:Still in progress)|(?:Game adjourned by mutual agreement)|(?:(White|Black) lost connection; game adjourned)|(?:Game adjourned by ((?:server shutdown)|(?:adjudication)|(?:simul holder))))} \*") "\s*{.*(?:([Gg]ame.*adjourned.\s*)|(?:Still in progress)|(?:Neither.*)|(?:Game drawn.*)|(?:White.*)|(?:Black.*)).*}\s*(?:(?:1/2-1/2)|(?:1-0)|(?:0-1))?\s*") self.connection.expect_line( self.onGamePause, "Game (\d+): Game clock (paused|resumed)\.") self.connection.expect_line( self.onUnobserveGame, "Removing game (\d+) from observation list\.") self.connection.expect_line( self.made_examined, "%s has made you an examiner of game (\d+)\." % names) self.connection.expect_line(self.made_unexamined, "You are no longer examining game (\d+)\.") self.connection.expect_n_lines( self.onExamineGameCreated, "Starting a game in examine \(scratch\) mode\.", '', "<12> (.+)") self.queuedEmits = {} self.gamemodelStartedEvents = {} self.theGameImPlaying = None self.gamesImObserving = {} # The ms ivar makes the remaining second fields in style12 use ms self.connection.client.run_command("iset ms 1") # Style12 is a must, when you don't want to parse visualoptimized stuff self.connection.client.run_command("set style 12") # When we observe fischer games, this puts a startpos in the movelist self.connection.client.run_command("iset startpos 1") # movecase ensures that bc3 will never be a bishop move self.connection.client.run_command("iset movecase 1") # don't unobserve games when we start a new game self.connection.client.run_command("set unobserve 3") self.connection.lvm.autoFlagNotify() # gameinfo doesn't really have any interesting info, at least not # until we implement crasyhouse and stuff # self.connection.client.run_command("iset gameinfo 1") def start(self): self.connection.games.connect("FICSGameEnded", self.onGameEnd) @classmethod def parseStyle12(cls, line, castleSigns=None): # <12> rnbqkb-r pppppppp -----n-- -------- ----P--- -------- PPPPKPPP RNBQ-BNR # B -1 0 0 1 1 0 7 Newton Einstein 1 2 12 39 39 119 122 2 K/e1-e2 (0:06) Ke2 0 fields = line.split() curcol = fields[8] == "B" and BLACK or WHITE gameno = int(fields[15]) relation = int(fields[18]) lastmove = fields[28] != "none" and fields[28] or None if lastmove is None: ply = 0 else: ply = int(fields[25]) * 2 - (curcol == WHITE and 2 or 1) wname = fields[16] bname = fields[17] wms = int(fields[23]) bms = int(fields[24]) gain = int(fields[20]) # Board data fenrows = [] for row in fields[:8]: fenrow = [] spaceCounter = 0 for char in row: if char == "-": spaceCounter += 1 else: if spaceCounter: fenrow.append(str(spaceCounter)) spaceCounter = 0 fenrow.append(char) if spaceCounter: fenrow.append(str(spaceCounter)) fenrows.append("".join(fenrow)) fen = "/".join(fenrows) fen += " " # Current color fen += fields[8].lower() fen += " " # Castling if fields[10:14] == ["0", "0", "0", "0"]: fen += "-" else: if fields[10] == "1": fen += castleSigns[0].upper() if fields[11] == "1": fen += castleSigns[1].upper() if fields[12] == "1": fen += castleSigns[0].lower() if fields[13] == "1": fen += castleSigns[1].lower() fen += " " # 1 0 1 1 when short castling k1 last possibility # En passant if fields[9] == "-1": fen += "-" else: fen += fileToEpcord[1 - curcol][int(fields[9])] fen += " " # Half move clock fen += str(max(int(fields[14]), 0)) fen += " " # Standard chess numbering fen += fields[25] return gameno, relation, curcol, ply, wname, bname, wms, bms, gain, lastmove, fen def onStyle12(self, match): style12 = match.groups()[0] log.debug("onStyle12: %s" % style12) gameno = int(style12.split()[15]) if gameno in self.queuedStyle12s: self.queuedStyle12s[gameno].append(style12) return try: self.gamemodelStartedEvents[gameno].wait() except KeyError: pass if gameno in self.castleSigns: castleSigns = self.castleSigns[gameno] else: castleSigns = ("k", "q") gameno, relation, curcol, ply, wname, bname, wms, bms, gain, lastmove, fen = \ self.parseStyle12(style12, castleSigns) # examine starts with a <12> line only if lastmove is None and relation == IC_POS_EXAMINATING: pgnHead = [ ("Event", "FICS examined game"), ("Site", "freechess.org"), ("White", wname), ("Black", bname), ("Result", "*"), ("SetUp", "1"), ("FEN", fen) ] pgn = "\n".join(['[%s "%s"]' % line for line in pgnHead]) + "\n*\n" wplayer = self.connection.players.get(wname) bplayer = self.connection.players.get(bname) if self.connection.examined_game is None: # examine an archived game from GUI if self.connection.archived_examine is not None: no_smoves = False game = self.connection.archived_examine game.gameno = int(gameno) game.relation = relation # game.game_type = GAME_TYPES["examined"] log.debug("Start examine an existing game by %s" % style12, extra={"task": (self.connection.username, "BM.onStyle12")}) else: # examine from console or got mexamine in observed game no_smoves = True game = FICSGame(wplayer, bplayer, gameno=int(gameno), game_type=GAME_TYPES["examined"], minutes=0, inc=0, board=FICSBoard(0, 0, pgn=pgn), relation=relation) log.debug("Start new examine game by %s" % style12, extra={"task": (self.connection.username, "BM.onStyle12")}) game = self.connection.games.get(game) self.connection.examined_game = game # don't start another new game when someone (some human examiner or lecturebot/endgamebot) # changes our relation in an already started game from IC_POS_OBSERVING_EXAMINATION to # IC_POS_EXAMINATING if game.relation == IC_POS_OBSERVING_EXAMINATION: game.relation = relation # IC_POS_EXAMINATING # print("IC_POS_OBSERVING_EXAMINATION --> IC_POS_EXAMINATING") # before this change server sent an unobserve to us # and it removed gameno from started events dict # we have to put it back... self.gamemodelStartedEvents[game.gameno] = asyncio.Event() return else: # don't start new game in puzzlebot/endgamebot when they just reuse gameno log.debug("emit('boardSetup') with %s %s %s %s" % (gameno, fen, wname, bname), extra={"task": (self.connection.username, "BM.onStyle12")}) self.emit("boardSetup", gameno, fen, wname, bname) return game.relation = relation game.board = FICSBoard(0, 0, pgn=pgn) self.gamesImObserving[game] = wms, bms # start a new game now or after smoves self.gamemodelStartedEvents[game.gameno] = asyncio.Event() if no_smoves: log.debug("emit('exGameCreated')", extra={"task": (self.connection.username, "BM.onStyle12")}) self.emit("exGameCreated", game) self.gamemodelStartedEvents[game.gameno].wait() else: log.debug("send 'smoves' command", extra={"task": (self.connection.username, "BM.onStyle12")}) if isinstance(game, FICSHistoryGame): self.connection.client.run_command("smoves %s %s" % ( self.connection.history_owner, game.history_no)) elif isinstance(game, FICSJournalGame): self.connection.client.run_command("smoves %s %%%s" % ( self.connection.journal_owner, game.journal_no)) elif isinstance(game, FICSAdjournedGame): self.connection.client.run_command("smoves %s %s" % ( self.connection.stored_owner, game.opponent.name)) self.connection.client.run_command("forward 999") else: if gameno in self.connection.games.games_by_gameno: game = self.connection.games.get_game_by_gameno(gameno) if wms < 0 or bms < 0: # fics resend latest style12 line again when one player lost on time return if lastmove is None: log.debug("emit('boardSetup') with %s %s %s %s" % (gameno, fen, wname, bname), extra={"task": (self.connection.username, "BM.onStyle12")}) self.emit("boardSetup", gameno, fen, wname, bname) else: log.debug("put move %s into game.move_queue" % lastmove, extra={"task": (self.connection.username, "BM.onStyle12")}) game.move_queue.put_nowait((gameno, ply, curcol, lastmove, fen, wname, bname, wms, bms)) else: # In some cases (like lost on time) the last move is resent by FICS # but game was already removed from self.connection.games log.debug("Got %s but %s not in connection.games" % (style12, gameno)) def onExamineGameCreated(self, matchlist): style12 = matchlist[-1].groups()[0] gameno = int(style12.split()[15]) castleSigns = self.generateCastleSigns(style12, GAME_TYPES["examined"]) self.castleSigns[gameno] = castleSigns gameno, relation, curcol, ply, wname, bname, wms, bms, gain, lastmove, fen = \ self.parseStyle12(style12, castleSigns) pgnHead = [ ("Event", "FICS examined game"), ("Site", "freechess.org"), ("White", wname), ("Black", bname), ("Result", "*"), ("SetUp", "1"), ("FEN", fen) ] pgn = "\n".join(['[%s "%s"]' % line for line in pgnHead]) + "\n*\n" wplayer = self.connection.players.get(wname) bplayer = self.connection.players.get(bname) game = FICSGame(wplayer, bplayer, gameno=int(gameno), game_type=GAME_TYPES["examined"], minutes=0, inc=0, board=FICSBoard(0, 0, pgn=pgn), relation=relation) log.debug("Starting a game in examine (scratch) mode.", extra={"task": (self.connection.username, "BM.onExamineGameCreated")}) self.connection.examined_game = game game = self.connection.games.get(game) game.relation = relation game.board = FICSBoard(0, 0, pgn=pgn) self.gamesImObserving[game] = wms, bms # start a new game now self.gamemodelStartedEvents[game.gameno] = asyncio.Event() log.debug("emit('exGameCreated')", extra={"task": (self.connection.username, "BM.onExamineGameCreated")}) self.emit("exGameCreated", game) self.gamemodelStartedEvents[game.gameno].wait() def onGameModelStarted(self, gameno): self.gamemodelStartedEvents[gameno].set() def onWasPrivate(self, match): # When observable games were added to the list later than the latest # full send, private information will not be known. gameno = int(match.groups()[0]) try: game = self.connection.games.get_game_by_gameno(gameno) except KeyError: return game.private = True onWasPrivate.BLKCMD = BLKCMD_OBSERVE def tooManySeeks(self, match): self.emit("tooManySeeks") tooManySeeks.BLKCMD = BLKCMD_SEEK def nonoWhileExamine(self, match): self.emit("nonoWhileExamine") nonoWhileExamine.BLKCMD = BLKCMD_SEEK def matchDeclined(self, match): decliner, = match.groups() decliner = self.connection.players.get(decliner) self.emit("matchDeclined", decliner) @classmethod def generateCastleSigns(cls, style12, game_type): if game_type.variant_type == FISCHERRANDOMCHESS: backrow = style12.split()[0] leftside = backrow.find("r") rightside = backrow.find("r", leftside + 1) return (reprFile[rightside], reprFile[leftside]) else: return ("k", "q") def onPlayGameCreated(self, matchlist): log.debug( "'%s' '%s' '%s'" % (matchlist[0].string, matchlist[1].string, matchlist[-1].string), extra={"task": (self.connection.username, "BM.onPlayGameCreated")}) wname, wrating, bname, brating, rated, match_type, minutes, inc = matchlist[ 0].groups() item = 2 if self.connection.USCN else 1 gameno, wname, bname, rated, match_type = matchlist[item].groups() gameno = int(gameno) wrating = parseRating(wrating) brating = parseRating(brating) rated = rated == "rated" game_type = GAME_TYPES[match_type] wplayer = self.connection.players.get(wname) bplayer = self.connection.players.get(bname) for player, rating in ((wplayer, wrating), (bplayer, brating)): if player.ratings[game_type.rating_type] != rating: player.ratings[game_type.rating_type] = rating player.emit("ratings_changed", game_type.rating_type, player) style12 = matchlist[-1].groups()[0] castleSigns = self.generateCastleSigns(style12, game_type) self.castleSigns[gameno] = castleSigns gameno, relation, curcol, ply, wname, bname, wms, bms, gain, lastmove, fen = \ self.parseStyle12(style12, castleSigns) game = FICSGame(wplayer, bplayer, gameno=gameno, rated=rated, game_type=game_type, minutes=int(minutes), inc=int(inc), board=FICSBoard(wms, bms, fen=fen)) game = self.connection.games.get(game) for player in (wplayer, bplayer): if player.status != IC_STATUS_PLAYING: player.status = IC_STATUS_PLAYING if player.game != game: player.game = game self.theGameImPlaying = game self.gamemodelStartedEvents[gameno] = asyncio.Event() self.connection.client.run_command("follow") self.emit("playGameCreated", game) def onMatchingSeekOrGetGame(self, matchlist): if matchlist[-1].string.startswith("<12>"): for line in matchlist[1:-4]: if line.startswith(""): self.connection.glm.on_seek_remove(sr.match(line)) elif line.startswith(""): self.connection.om.onOfferRemove(pr.match(line)) self.onPlayGameCreated((creating0.match(matchlist[ -4]), creating1.match(matchlist[-3]), matchlist[-1])) else: self.connection.glm.on_seek_add(matchlist[-1]) onMatchingSeekOrGetGame.BLKCMD = BLKCMD_SEEK def onInterceptedChallenge(self, matchlist): self.onMatchingSeekOrGetGame(matchlist) onInterceptedChallenge.BLKCMD = BLKCMD_MATCH def parseGame(self, matchlist, gameclass, in_progress=False, gameno=None): """ Parses the header and movelist for an observed or stored game from its matchlist (an re.match object) into a gameclass (FICSGame or subclass of) object. in_progress - should be True for an observed game matchlist, and False for stored/adjourned games """ # ################ observed game movelist example: # Movelist for game 64: # # Ajido (2281) vs. IMgooeyjim (2068) --- Thu Oct 14, 20:36 PDT 2010 # Rated standard match, initial time: 15 minutes, increment: 3 seconds. # # Move Ajido IMgooeyjim # ---- --------------------- --------------------- # 1. d4 (0:00.000) Nf6 (0:00.000) # 2. c4 (0:04.061) g6 (0:00.969) # 3. Nc3 (0:13.280) Bg7 (0:06.422) # {Still in progress} * # # ################# stored game example: # BwanaSlei (1137) vs. mgatto (1336) --- Wed Nov 5, 20:56 PST 2008 # Rated blitz match, initial time: 5 minutes, increment: 0 seconds. # # Move BwanaSlei mgatto # ---- --------------------- --------------------- # 1. e4 (0:00.000) c5 (0:00.000) # 2. d4 (0:05.750) cxd4 (0:03.020) # ... # 23. Qxf3 (1:05.500) # {White lost connection; game adjourned} * # # ################# stored wild/3 game with style12: # kurushi (1626) vs. mgatto (1627) --- Thu Nov 4, 10:33 PDT 2010 # Rated wild/3 match, initial time: 3 minutes, increment: 0 seconds. # # <12> nqbrknrn pppppppp -------- -------- -------- -------- PPPPPPPP NQBRKNRN W -1 0 0 0 0 0 17 kurushi mgatto -4 3 0 39 39 169403 45227 1 none (0:00.000) none 0 1 0 # # Move kurushi mgatto # ---- --------------------- --------------------- # 1. Nb3 (0:00.000) d5 (0:00.000) # 2. Nhg3 (0:00.386) e5 (0:03.672) # ... # 28. Rxd5 (0:00.412) # {Black lost connection; game adjourned} * # # ################# stored game movelist following stored game(s): # Stored games for mgatto: # C Opponent On Type Str M ECO Date # 1: W BabyLurking Y [ br 5 0] 29-13 W27 D37 Fri Nov 5, 04:41 PDT 2010 # 2: W gbtami N [ wr 5 0] 32-34 W14 --- Thu Oct 21, 00:14 PDT 2010 # # mgatto (1233) vs. BabyLurking (1455) --- Fri Nov 5, 04:33 PDT 2010 # Rated blitz match, initial time: 5 minutes, increment: 0 seconds. # # Move mgatto BabyLurking # ---- ---------------- ---------------- # 1. Nf3 (0:00) d5 (0:00) # 2. d4 (0:03) Nf6 (0:00) # 3. c4 (0:03) e6 (0:00) # {White lost connection; game adjourned} * # # ################## stored game movelist following stored game(s): # ## Note: A wild stored game in this format won't be parseable into a board because # ## it doesn't come with a style12 that has the start position, so we warn and return # ################## # Stored games for mgatto: # C Opponent On Type Str M ECO Date # 1: W gbtami N [ wr 5 0] 32-34 W14 --- Thu Oct 21, 00:14 PDT 2010 # # mgatto (1627) vs. gbtami (1881) --- Thu Oct 21, 00:10 PDT 2010 # Rated wild/fr match, initial time: 5 minutes, increment: 0 seconds. # # Move mgatto gbtami # ---- ---------------- ---------------- # 1. d4 (0:00) b6 (0:00) # 2. b3 (0:06) d5 (0:03) # 3. c4 (0:08) e6 (0:03) # 4. e3 (0:04) dxc4 (0:02) # 5. bxc4 (0:02) g6 (0:09) # 6. Nd3 (0:12) Bg7 (0:02) # 7. Nc3 (0:10) Ne7 (0:03) # 8. Be2 (0:08) c5 (0:05) # 9. a4 (0:07) cxd4 (0:38) # 10. exd4 (0:06) Bxd4 (0:03) # 11. O-O (0:10) Qc6 (0:06) # 12. Bf3 (0:16) Qxc4 (0:04) # 13. Bxa8 (0:03) Rxa8 (0:14) # {White lost connection; game adjourned} * # # ################# other reasons the game could be stored/adjourned: # Game courtesyadjourned by (Black|White) # Still in progress # This one must be a FICS bug # Game adjourned by mutual agreement # (White|Black) lost connection; game adjourned # Game adjourned by ((server shutdown)|(adjudication)|(simul holder)) index = 0 if in_progress: gameno = int(matchlist[index].groups()[0]) index += 2 header1 = matchlist[index] if isinstance(matchlist[index], str) \ else matchlist[index].group() matches = moveListHeader1.match(header1).groups() wname, wrating, bname, brating = matches[:4] if self.connection.FatICS: year, month, day, hour, minute, timezone = matches[11:] else: weekday, month, day, hour, minute, timezone, year = matches[4:11] month = months.index(month) + 1 wrating = parseRating(wrating) brating = parseRating(brating) rated, game_type, minutes, increment = \ moveListHeader2.match(matchlist[index + 1]).groups() minutes = int(minutes) increment = int(increment) game_type = GAME_TYPES[game_type] reason = matchlist[-1].group().lower() if in_progress: result = None result_str = "*" elif "1-0" in reason: result = WHITEWON result_str = "1-0" elif "0-1" in reason: result = BLACKWON result_str = "0-1" elif "1/2-1/2" in reason: result = DRAW result_str = "1/2-1/2" else: result = ADJOURNED result_str = "*" result, reason = parse_reason(result, reason, wname=wname) index += 3 if matchlist[index].startswith("<12>"): style12 = matchlist[index][5:] castleSigns = self.generateCastleSigns(style12, game_type) gameno, relation, curcol, ply, wname, bname, wms, bms, gain, lastmove, \ fen = self.parseStyle12(style12, castleSigns) initialfen = fen movesstart = index + 4 else: if game_type.rating_type == TYPE_WILD: # we need a style12 start position to correctly parse a wild/* board log.error("BoardManager.parseGame: no style12 for %s board." % game_type.fics_name) return None castleSigns = ("k", "q") initialfen = None movesstart = index + 2 if in_progress: self.castleSigns[gameno] = castleSigns moves = {} times = {} wms = bms = minutes * 60 * 1000 for line in matchlist[movesstart:-1]: if not moveListMoves.match(line): log.error("BoardManager.parseGame: unmatched line: \"%s\"" % repr(line)) raise Exception("BoardManager.parseGame: unmatched line: \"%s\"" % repr(line)) moveno, wmove, whour, wmin, wsec, wmsec, bmove, bhour, bmin, bsec, bmsec = \ moveListMoves.match(line).groups() whour = 0 if whour is None else int(whour[0]) bhour = 0 if bhour is None else int(bhour[0]) ply = int(moveno) * 2 - 2 if wmove: moves[ply] = wmove wms -= (int(whour) * 60 * 60 * 1000) + ( int(wmin) * 60 * 1000) + (int(wsec) * 1000) if wmsec is not None: wms -= int(wmsec) else: wmsec = 0 if increment > 0: wms += (increment * 1000) times[ply] = "%01d:%02d:%02d.%03d" % (int(whour), int(wmin), int(wsec), int(wmsec)) if bmove: moves[ply + 1] = bmove bms -= (int(bhour) * 60 * 60 * 1000) + ( int(bmin) * 60 * 1000) + (int(bsec) * 1000) if bmsec is not None: bms -= int(bmsec) else: bmsec = 0 if increment > 0: bms += (increment * 1000) times[ply + 1] = "%01d:%02d:%02d.%03d" % ( int(bhour), int(bmin), int(bsec), int(bmsec)) if in_progress and gameno in self.queuedStyle12s: # Apply queued board updates for style12 in self.queuedStyle12s[gameno]: gameno, relation, curcol, ply, wname, bname, wms, bms, gain, lastmove, fen = \ self.parseStyle12(style12, castleSigns) if lastmove is None: continue moves[ply - 1] = lastmove # Updated the queuedMoves in case there has been a takeback for moveply in list(moves.keys()): if moveply > ply - 1: del moves[moveply] del self.queuedStyle12s[gameno] pgnHead = [ ("Event", "FICS %s %s game" % (rated.lower(), game_type.fics_name)), ("Site", "freechess.org"), ("White", wname), ("Black", bname), ("TimeControl", "%d+%d" % (minutes * 60, increment)), ("Result", result_str), ("WhiteClock", msToClockTimeTag(wms)), ("BlackClock", msToClockTimeTag(bms)), ] if wrating != 0: pgnHead += [("WhiteElo", wrating)] if brating != 0: pgnHead += [("BlackElo", brating)] if year and month and day and hour and minute: pgnHead += [ ("Date", "%04d.%02d.%02d" % (int(year), int(month), int(day))), ("Time", "%02d:%02d:00" % (int(hour), int(minute))), ] if initialfen: pgnHead += [("SetUp", "1"), ("FEN", initialfen)] if game_type.variant_type == FISCHERRANDOMCHESS: pgnHead += [("Variant", "Fischerandom")] # FR is the only variant used in this tag by the PGN generator @ # ficsgames.org. They put all the other wild/* stuff only in the # "Event" header. elif game_type.variant_type == CRAZYHOUSECHESS: pgnHead += [("Variant", "Crazyhouse")] elif game_type.variant_type in (WILDCASTLECHESS, WILDCASTLESHUFFLECHESS): pgnHead += [("Variant", "Wildcastle")] elif game_type.variant_type == ATOMICCHESS: pgnHead += [("Variant", "Atomic")] elif game_type.variant_type == LOSERSCHESS: pgnHead += [("Variant", "Losers")] elif game_type.variant_type == SUICIDECHESS: pgnHead += [("Variant", "Suicide")] elif game_type.variant_type == GIVEAWAYCHESS: pgnHead += [("Variant", "Giveaway")] pgn = "\n".join(['[%s "%s"]' % line for line in pgnHead]) + "\n" moves = sorted(moves.items()) for ply, move in moves: if ply % 2 == 0: pgn += "%d. " % (ply // 2 + 1) time = times[ply] pgn += "%s {[%%emt %s]} " % (move, time) pgn += "*\n" wplayer = self.connection.players.get(wname) bplayer = self.connection.players.get(bname) for player, rating in ((wplayer, wrating), (bplayer, brating)): if player.ratings[game_type.rating_type] != rating: player.ratings[game_type.rating_type] = rating player.emit("ratings_changed", game_type.rating_type, player) game = gameclass(wplayer, bplayer, game_type=game_type, result=result, rated=(rated.lower() == "rated"), minutes=minutes, inc=increment, board=FICSBoard(wms, bms, pgn=pgn)) if in_progress: game.gameno = gameno else: if gameno is not None: game.gameno = gameno game.reason = reason game = self.connection.games.get(game, emit=False) return game def on_game_remove(self, match): gameno, wname, bname, comment, result = match.groups() result, reason = parse_reason( reprResult.index(result), comment, wname=wname) try: wplayer = self.connection.players.get(wname) wplayer.restore_previous_status() # no status update will be sent by # FICS if the player doesn't become available, so we restore # previous status first (not necessarily true, but the best guess) except KeyError: print("%s not in self.connections.players - creating" % wname) wplayer = FICSPlayer(wname) try: bplayer = self.connection.players.get(bname) bplayer.restore_previous_status() except KeyError: print("%s not in self.connections.players - creating" % bname) bplayer = FICSPlayer(bname) game = FICSGame(wplayer, bplayer, gameno=int(gameno), result=result, reason=reason) if wplayer.game is not None: game.rated = wplayer.game.rated game = self.connection.games.get(game, emit=False) self.connection.games.game_ended(game) # Do this last to give anybody connected to the game's signals a chance # to disconnect from them first wplayer.game = None bplayer.game = None def onObserveGameCreated(self, matchlist): log.debug("'%s'" % (matchlist[1].string), extra={"task": (self.connection.username, "BM.onObserveGameCreated")}) if self.connection.USCN: # TODO? is this ok? game_type = GAME_TYPES["blitz"] castleSigns = ("k", "q") else: gameno, wname, wrating, bname, brating, rated, gametype, minutes, inc = matchlist[ 1].groups() wrating = parseRating(wrating) brating = parseRating(brating) game_type = GAME_TYPES[gametype] style12 = matchlist[-1].groups()[0] castleSigns = self.generateCastleSigns(style12, game_type) gameno, relation, curcol, ply, wname, bname, wms, bms, gain, lastmove, fen = \ self.parseStyle12(style12, castleSigns) gameno = int(gameno) self.castleSigns[gameno] = castleSigns wplayer = self.connection.players.get(wname) bplayer = self.connection.players.get(bname) if relation == IC_POS_OBSERVING_EXAMINATION: pgnHead = [ ("Event", "FICS %s %s game" % (rated, game_type.fics_name)), ("Site", "freechess.org"), ("White", wname), ("Black", bname), ("Result", "*"), ("SetUp", "1"), ("FEN", fen) ] pgn = "\n".join(['[%s "%s"]' % line for line in pgnHead]) + "\n*\n" game = FICSGame(wplayer, bplayer, gameno=gameno, rated=rated == "rated", game_type=game_type, minutes=int(minutes), inc=int(inc), board=FICSBoard(wms, bms, pgn=pgn), relation=relation) game = self.connection.games.get(game) # when puzzlebot reuses same gameno for starting next puzzle # sometimes no unexamine sent by server, so we have to set None to # self.connection.examined_game to guide self.onStyle12() a bit... if self.connection.examined_game is not None and \ self.connection.examined_game.gameno == gameno: log.debug("BM.onObserveGameCreated: exGameReset emitted; self.connection.examined_game = %s" % gameno) self.emit("exGameReset", self.connection.examined_game) self.connection.examined_game = None game.relation = relation # IC_POS_OBSERVING_EXAMINATION self.gamesImObserving[game] = wms, bms self.gamemodelStartedEvents[game.gameno] = asyncio.Event() # puzzlebot sometimes creates next puzzle with same wplayer,bplayer,gameno game.move_queue = asyncio.Queue() self.emit("obsGameCreated", game) self.gamemodelStartedEvents[game.gameno].wait() else: game = FICSGame(wplayer, bplayer, gameno=gameno, rated=rated == "rated", game_type=game_type, minutes=int(minutes), inc=int(inc), relation=relation) game = self.connection.games.get(game, emit=False) if not game.supported: log.warning("Trying to follow an unsupported type game %s" % game.game_type) return if game.gameno in self.gamemodelStartedEvents: log.warning("%s already in gamemodelstartedevents" % game.gameno) return self.gamesImObserving[game] = wms, bms self.queuedStyle12s[game.gameno] = [] self.queuedEmits[game.gameno] = [] self.gamemodelStartedEvents[game.gameno] = asyncio.Event() # FICS doesn't send the move list after 'observe' and 'follow' commands self.connection.client.run_command("moves %d" % game.gameno) onObserveGameCreated.BLKCMD = BLKCMD_OBSERVE def onObserveGameMovesReceived(self, matchlist): log.debug("'%s'" % (matchlist[0].string), extra={"task": (self.connection.username, "BM.onObserveGameMovesReceived")}) game = self.parseGame(matchlist, FICSGame, in_progress=True) if game.gameno not in self.gamemodelStartedEvents: return if game.gameno not in self.queuedEmits: return self.emit("obsGameCreated", game) try: self.gamemodelStartedEvents[game.gameno].wait() except KeyError: pass for emit in self.queuedEmits[game.gameno]: emit() del self.queuedEmits[game.gameno] wms, bms = self.gamesImObserving[game] self.emit("timesUpdate", game.gameno, wms, bms) onObserveGameMovesReceived.BLKCMD = BLKCMD_MOVES def onArchiveGameSMovesReceived(self, matchlist): log.debug("'%s'" % (matchlist[0].string), extra={"task": (self.connection.username, "BM.onArchiveGameSMovesReceived")}) klass = FICSAdjournedGame if "adjourn" in matchlist[-1].group( ) else FICSHistoryGame if self.connection.examined_game is not None: gameno = self.connection.examined_game.gameno else: gameno = None game = self.parseGame(matchlist, klass, in_progress=False, gameno=gameno) if game.gameno not in self.gamemodelStartedEvents: self.emit("archiveGamePreview", game) return game.relation = IC_POS_EXAMINATING game.game_type = GAME_TYPES["examined"] self.emit("exGameCreated", game) try: self.gamemodelStartedEvents[game.gameno].wait() except KeyError: pass onArchiveGameSMovesReceived.BLKCMD = BLKCMD_SMOVES def onGameEnd(self, games, game): log.debug("BM.onGameEnd: %s" % game) if game == self.theGameImPlaying: if game.gameno in self.gamemodelStartedEvents: self.gamemodelStartedEvents[game.gameno].wait() self.emit("curGameEnded", game) self.theGameImPlaying = None if game.gameno in self.gamemodelStartedEvents: del self.gamemodelStartedEvents[game.gameno] elif game in self.gamesImObserving: log.debug("BM.onGameEnd: %s: gamesImObserving" % game) if game.gameno in self.queuedEmits: log.debug("BM.onGameEnd: %s: queuedEmits" % game) self.queuedEmits[game.gameno].append( lambda: self.emit("obsGameEnded", game)) else: if game.gameno in self.gamemodelStartedEvents: self.gamemodelStartedEvents[game.gameno].wait() del self.gamesImObserving[game] self.emit("obsGameEnded", game) def onGamePause(self, match): gameno, state = match.groups() gameno = int(gameno) if gameno in self.queuedEmits: self.queuedEmits[gameno].append( lambda: self.emit("gamePaused", gameno, state == "paused")) else: if gameno in self.gamemodelStartedEvents: self.gamemodelStartedEvents[gameno].wait() self.emit("gamePaused", gameno, state == "paused") def onUnobserveGame(self, match): gameno = int(match.groups()[0]) log.debug("BM.onUnobserveGame: gameno: %s" % gameno) try: del self.gamemodelStartedEvents[gameno] game = self.connection.games.get_game_by_gameno(gameno) except KeyError: return self.emit("obsGameUnobserved", game) # TODO: delete self.castleSigns[gameno] ? onUnobserveGame.BLKCMD = BLKCMD_UNOBSERVE def player_lagged(self, match): gameno, player, num_seconds = match.groups() player = self.connection.players.get(player) self.emit("player_lagged", player) def opp_not_out_of_time(self, match): self.emit("opp_not_out_of_time") opp_not_out_of_time.BLKCMD = BLKCMD_FLAG def req_not_fit_formula(self, matchlist): player, formula = matchlist[1].groups() player = self.connection.players.get(player) self.emit("req_not_fit_formula", player, formula) req_not_fit_formula.BLKCMD = BLKCMD_MATCH def player_on_censor(self, match): player, = match.groups() player = self.connection.players.get(player) self.emit("player_on_censor", player) player_on_censor.BLKCMD = BLKCMD_MATCH def player_on_noplay(self, match): player, = match.groups() player = self.connection.players.get(player) self.emit("player_on_noplay", player) player_on_noplay.BLKCMD = BLKCMD_MATCH def made_examined(self, match): """ Changing from observer to examiner """ player, gameno = match.groups() gameno = int(gameno) try: self.connection.games.get_game_by_gameno(gameno) except KeyError: return self.emit("madeExamined", gameno) def made_unexamined(self, match): """ You are no longer examine game """ log.debug("BM.made_unexamined(): exGameReset emitted") self.emit("exGameReset", self.connection.examined_game) self.connection.examined_game = None gameno, = match.groups() gameno = int(gameno) try: self.connection.games.get_game_by_gameno(gameno) except KeyError: return self.emit("madeUnExamined", gameno) ############################################################################ # Interacting # ############################################################################ def isPlaying(self): return self.theGameImPlaying is not None def sendMove(self, move): self.connection.client.run_command(move) def resign(self): self.connection.client.run_command("resign") def callflag(self): self.connection.client.run_command("flag") def observe(self, game, player=None): if game is not None: self.connection.client.run_command("observe %d" % game.gameno) elif player is not None: self.connection.client.run_command("observe %s" % player.name) def follow(self, player): self.connection.client.run_command("follow %s" % player.name) def unexamine(self): self.connection.client.run_command("unexamine") def unobserve(self, game): if game.gameno is not None: self.connection.client.run_command("unobserve %d" % game.gameno) def play(self, seekno): self.connection.client.run_command("play %s" % seekno) def accept(self, offerno): self.connection.client.run_command("accept %s" % offerno) def decline(self, offerno): self.connection.client.run_command("decline %s" % offerno) if __name__ == "__main__": from pychess.ic.FICSConnection import Connection con = Connection("", "", True, "", "") bm = BoardManager(con) print(bm._BoardManager__parseStyle12( "rkbrnqnb pppppppp -------- -------- -------- -------- PPPPPPPP RKBRNQNB W -1 1 1 1 1 0 161 GuestNPFS GuestMZZK -1 2 12 39 39 120 120 1 none (0:00) none 1 0 0", ("d", "a"))) print(bm._BoardManager__parseStyle12( "rnbqkbnr pppp-ppp -------- ----p--- ----PP-- -------- PPPP--PP RNBQKBNR B 5 1 1 1 1 0 241 GuestGFFC GuestNXMP -4 2 12 39 39 120000 120000 1 none (0:00.000) none 0 0 0", ("k", "q"))) pychess-1.0.0/lib/pychess/ic/managers/AutoLogOutManager.py0000755000175000017500000000127113353143212022562 0ustar varunvarunfrom gi.repository import GObject class AutoLogOutManager(GObject.GObject): __gsignals__ = {'logOut': (GObject.SignalFlags.RUN_FIRST, None, ())} def __init__(self, connection): GObject.GObject.__init__(self) self.connection = connection self.connection.expect_line( self.onLogOut, "\*\*\*\* Auto-logout because you were idle more than \d+ minutes\. \*\*\*\*") self.connection.expect_line(self.onLogOut, "Logging you out\.") self.connection.expect_line( self.onLogOut, "\*\*\*\* .+? has arrived - you can't both be logged in\. \*\*\*\*") def onLogOut(self, match): self.emit("logOut") pychess-1.0.0/lib/pychess/ic/managers/ICCNewsManager.py0000644000175000017500000000036013353143212021746 0ustar varunvarunfrom gi.repository import GObject from pychess.ic.managers.NewsManager import NewsManager class ICCNewsManager(NewsManager): def __init__(self, connection): GObject.GObject.__init__(self) self.connection = connection pychess-1.0.0/lib/pychess/ic/managers/ChatManager.py0000755000175000017500000004071213353143212021402 0ustar varunvarunimport re from math import ceil import time import operator from gi.repository import GLib, GObject from pychess.System.Log import log from pychess.ic import GAME_TYPES, BLKCMD_ALLOBSERVERS titles = "(?:\([A-Z*]+\))*" names = "([A-Za-z]+)" + titles titlesC = re.compile(titles) namesC = re.compile(names) ratings = "\(\s*([0-9\ \-\+]{1,4}[P E]?|UNR)\)" CHANNEL_SHOUT = "shout" CHANNEL_CSHOUT = "cshout" class ChatManager(GObject.GObject): __gsignals__ = { 'channelMessage': (GObject.SignalFlags.RUN_FIRST, None, (str, bool, bool, str, str)), 'kibitzMessage': (GObject.SignalFlags.RUN_FIRST, None, (str, int, str)), 'whisperMessage': (GObject.SignalFlags.RUN_FIRST, None, (str, int, str)), 'privateMessage': (GObject.SignalFlags.RUN_FIRST, None, (str, str, bool, str)), 'bughouseMessage': (GObject.SignalFlags.RUN_FIRST, None, (str, str)), 'announcement': (GObject.SignalFlags.RUN_FIRST, None, (str, )), 'arrivalNotification': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'departedNotification': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'channelAdd': (GObject.SignalFlags.RUN_FIRST, None, (str, )), 'channelRemove': (GObject.SignalFlags.RUN_FIRST, None, (str, )), 'channelJoinError': (GObject.SignalFlags.RUN_FIRST, None, (str, str)), 'channelsListed': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'channelLog': (GObject.SignalFlags.RUN_FIRST, None, (str, int, str, str)), 'toldChannel': (GObject.SignalFlags.RUN_FIRST, None, (str, int)), 'receivedChannels': (GObject.SignalFlags.RUN_FIRST, None, (str, object)), 'receivedNames': (GObject.SignalFlags.RUN_FIRST, None, (str, object)), 'observers_received': (GObject.SignalFlags.RUN_FIRST, None, (str, str)), } def __init__(self, connection): GObject.GObject.__init__(self) self.connection = connection self.connection.expect_line( self.onPrivateMessage, "%s(\*)?(?:\[\d+\])? (?:tells you|says): (.*)" % names) self.connection.expect_line(self.onAnnouncement, "\s*\*\*ANNOUNCEMENT\*\* (.*)") self.connection.expect_line(self.onChannelMessage, "%s(\*)?\((\d+)\): (.*)" % names) self.connection.expect_line(self.onShoutMessage, "%s(\*)? (c-)?shouts: (.*)" % names) self.connection.expect_line(self.onShoutMessage, "--> %s(\*)?:? (.*)" % names) self.connection.expect_line(self.onKibitzMessage, "%s%s\[(\d+)\] kibitzes: (.*)" % (names, ratings)) self.connection.expect_line(self.onWhisperMessage, "%s%s\[(\d+)\] whispers: (.*)" % (names, ratings)) self.connection.expect_line(self.onArrivalNotification, "Notification: %s has arrived\." % names) self.connection.expect_line(self.onDepartedNotification, "Notification: %s has departed\." % names) self.connection.expect_fromto( self.onChannelList, "channels only for their designated topics.", "SPECIAL NOTE") self.connection.expect_line( lambda m: GLib.idle_add(self.emit, 'channelAdd', m.groups()[0]), "\[(\d+)\] added to your channel list.") self.connection.expect_line( lambda m: GLib.idle_add(self.emit, 'channelRemove', m.groups()[0]), "\[(\d+)\] removed to your channel list.") self.connection.expect_line( lambda m: GLib.idle_add(self.emit, 'channelJoinError', *m.groups()), "Only (.+?) may join channel (\d+)\.") self.connection.expect_line(self.getNoChannelPlayers, "Channel (\d+) is empty\.") self.connection.expect_fromto( self.getChannelPlayers, "Channel (\d+)(?: \"(\w+)\")?: (.+)", "(\d+) player(?: is|s are) in channel \d+\.") self.connection.expect_fromto(self.gotPlayerChannels, "%s is in the following channels:" % names, "(?!(?:\d+\s+)+)") # self.connection.expect_line (self.toldChannel, # '\(told (\d+) players in channel (\d+) ".+"\)') # (told Chronatog) # Only chess advisers and admins may join channel 63. # Only (.+?) may sey send tells to channel (\d+). # Only admins may send tells to channel 0. # Only registered users may send tells to channels other than 4, 7 and 53. self.currentLogChannel = None self.connection.expect_line( self.onChannelLogStart, ":Channel (\d+|shout|c-shout) log for the last \d+ minutes:$") self.connection.expect_line( self.onChannelLogLine, ":\[(\d+):(\d+):(\d+)\] (?:(?:--> )?%s(?: shouts)?)\S* (.+)$" % names) self.connection.expect_line(self.onChannelLogBreak, ":Use \"tell chLog Next\" to print more.$") # TODO handling of this case is nessesary for console: # fics% tell 1 hi # You are not in channel 1, auto-adding you if possible. # Setting 'Lang' is a workaround for # http://code.google.com/p/pychess/issues/detail?id=376 # and can be removed when conversion to FICS block mode is done self.connection.client.run_command("set Lang English") self.connection.client.run_command("set height 240") self.connection.client.run_command("inchannel %s" % self.connection.username) self.connection.client.run_command("help channel_list") self.channels = {} # Observing 112 [DrStupp vs. hajaK]: pgg (1 user) self.connection.expect_line( self.get_allob_list, '(?:Observing|Examining)\s+(\d+).+: (.+) \(') self.connection.expect_line(self.on_allob_no, "No one is observing game (\d+).") def get_allob_list(self, match): """ Description: Processes the returning pattern matched of the FICS allob command extracts out the gameno and a list of observers before emmiting them for collection by the observers view match: (re.reg-ex) is the complied matching pattern for processing """ obs_dic = {} gameno = match.group(1) observers = match.group(2) oblist = observers.split() for player in oblist: if '(U)' not in player: # deals with unregistered players try: if '(' in player: # deals with admin and multi titled players player, rest = player.split('(', 1) ficsplayer = self.connection.players.get(player) obs_dic[player] = ficsplayer.getRatingByGameType( GAME_TYPES['standard']) except KeyError: obs_dic[player] = 0 # print("player %s is not in self.connection.players" % player) else: obs_dic[player] = 0 obs_sorted = sorted(obs_dic.items(), key=operator.itemgetter(1), reverse=True) obs_str = "" for toople in obs_sorted: player, rating = toople if rating == 0: obs_str += "%s " % player # Don't print ratings for guest accounts else: obs_str += "%s(%s) " % (player, rating) self.emit('observers_received', gameno, obs_str) get_allob_list.BLKCMD = BLKCMD_ALLOBSERVERS def on_allob_no(self, match): gameno = match.group(1) self.emit('observers_received', gameno, "") on_allob_no.BLKCMD = BLKCMD_ALLOBSERVERS def getChannels(self): return self.channels def getJoinedChannels(self): channels = self.connection.lvm.getList("channel") return channels channelListItem = re.compile("((?:\d+,?)+)\s*(.*)") def onChannelList(self, matchlist): self.channels = [(CHANNEL_SHOUT, _("Shout")), (CHANNEL_CSHOUT, _("Chess Shout"))] numbers = set(range(256)) # TODO: Use limits->Server->Channels for line in matchlist[1:-1]: match = self.channelListItem.match(line) if not match: continue ids, desc = match.groups() for id in ids.split(","): numbers.remove(int(id)) self.channels.append((id, desc)) for i in numbers: self.channels.append((str(i), _("Unofficial channel %d" % i))) GLib.idle_add(self.emit, 'channelsListed', self.channels) def getNoChannelPlayers(self, match): channel = match.groups()[0] GLib.idle_add(self.emit, 'receivedNames', channel, []) def getChannelPlayers(self, matchlist): channel, name, people = matchlist[0].groups() people += " " + " ".join(matchlist[1:-1]) people = namesC.findall(titlesC.sub("", people)) GLib.idle_add(self.emit, 'receivedNames', channel, people) def gotPlayerChannels(self, matchlist): list = [] for line in matchlist[1:-1]: list += line.split() def onPrivateMessage(self, match): name, isadmin, text = match.groups() text = self.entityDecode(text) GLib.idle_add(self.emit, "privateMessage", name, "title", isadmin, text) def onAnnouncement(self, match): text = match.groups()[0] text = self.entityDecode(text) GLib.idle_add(self.emit, "announcement", text) def onChannelMessage(self, match): name, isadmin, channel, text = match.groups() text = self.entityDecode(text) isme = name.lower() == self.connection.username.lower() GLib.idle_add(self.emit, "channelMessage", name, isadmin, isme, channel, text) def onShoutMessage(self, match): if len(match.groups()) == 4: name, isadmin, type, text = match.groups() elif len(match.groups()) == 3: name, isadmin, text = match.groups() type = "" text = self.entityDecode(text) isme = name.lower() == self.connection.username.lower() # c-shout should be used ONLY for chess-related messages, such as # questions about chess or announcing being open for certain kinds of # chess matches. Use "shout" for non-chess messages. # t-shout is used to invite to tournaments if type == "c-": GLib.idle_add(self.emit, "channelMessage", name, isadmin, isme, CHANNEL_CSHOUT, text) else: GLib.idle_add(self.emit, "channelMessage", name, isadmin, isme, CHANNEL_SHOUT, text) def onKibitzMessage(self, match): name, rating, gameno, text = match.groups() text = self.entityDecode(text) GLib.idle_add(self.emit, "kibitzMessage", name, int(gameno), text) def onWhisperMessage(self, match): name, rating, gameno, text = match.groups() text = self.entityDecode(text) GLib.idle_add(self.emit, "whisperMessage", name, int(gameno), text) def onArrivalNotification(self, match): name = match.groups()[0] try: player = self.connection.players.get(name) except KeyError: return if player.name not in self.connection.notify_users: self.connection.notify_users.append(player.name) GLib.idle_add(self.emit, "arrivalNotification", player) def onDepartedNotification(self, match): name = match.groups()[0] try: player = self.connection.players.get(name) except KeyError: return GLib.idle_add(self.emit, "departedNotification", player) def toldChannel(self, match): amount, channel = match.groups() GLib.idle_add(self.emit, "toldChannel", channel, int(amount)) def onChannelLogStart(self, match): channel, = match.groups() self.currentLogChannel = channel def onChannelLogLine(self, match): if not self.currentLogChannel: log.warning("Received log line before channel was set") return hour, minutes, secs, handle, text = match.groups() conv_time = self.convTime(int(hour), int(minutes), int(secs)) text = self.entityDecode(text) GLib.idle_add(self.emit, "channelLog", self.currentLogChannel, conv_time, handle, text) def onChannelLogBreak(self, match): self.connection.client.run_command("xtell chlog Next") def convTime(self, h, m, s): # Convert to timestamp t1, t2, t3, t4, t5, t6, t7, t8, t9 = time.localtime() tstamp = time.mktime((t1, t2, t3, h, m, s, 0, 0, 0)) # Difference to now in hours dif = (tstamp - time.time()) / 60. / 60. # As we know there is maximum 30 minutes in difference, we can guess when the # message was sent, without knowing the sending time zone return tstamp - ceil(dif) * 60 * 60 entityExpr = re.compile("&#x([a-f0-9]+);") def entityDecode(self, text): return self.entityExpr.sub(lambda m: chr(int(m.groups()[0], 16)), text) def entityEncode(self, text): buf = [] for char in text: if not 32 <= ord(char) <= 127: char = "&#" + hex(ord(char))[1:] + ";" buf.append(char) return "".join(buf) def getChannelLog(self, channel, minutes=30): """ Channel can be channel_id, shout or c-shout """ assert 1 <= minutes <= 120 # Using the chlog bot self.connection.client.run_command("xtell chlog show %s -t %d" % (channel, minutes)) def getPlayersChannels(self, player): self.connection.client.run_command("inchannel %s" % player) def getPeopleInChannel(self, channel): if channel in (CHANNEL_SHOUT, CHANNEL_CSHOUT): people = self.connection.players.get_online_playernames() GLib.idle_add(self.emit, 'receivedNames', channel, people) self.connection.client.run_command("inchannel %s" % channel) def joinChannel(self, channel): self.connection.client.run_command("+channel %s" % channel) def removeChannel(self, channel): self.connection.client.run_command("-channel %s" % channel) def mayTellChannel(self, channel): if self.connection.isRegistred() or channel in ("4", "7", "53"): return True return False def tellPlayer(self, player, message): message = self.entityEncode(message) self.connection.client.run_command("tell %s %s" % (player, message)) def tellChannel(self, channel, message): message = self.entityEncode(message) if channel == CHANNEL_SHOUT: self.connection.client.run_command("shout %s" % message) elif channel == CHANNEL_CSHOUT: self.connection.client.run_command("cshout %s" % message) else: self.connection.client.run_command("tell %s %s" % (channel, message)) def tellAll(self, message): message = self.entityEncode(message) self.connection.client.run_command("shout %s" % message) def tellGame(self, gameno, message): message = self.entityEncode(message) self.connection.client.run_command("xkibitz %s %s" % (gameno, message)) def tellOpponent(self, message): message = self.entityEncode(message) self.connection.client.run_command("say %s" % message) def tellBughousePartner(self, message): message = self.stripChars(message) self.connection.client.run_command("ptell %s" % message) def tellUser(self, player, message): for line in message.strip().split("\n"): self.tellPlayer(player, line) def whisper(self, message): message = self.entityEncode(message) self.connection.client.run_command("whisper %s" % message) pychess-1.0.0/lib/pychess/ic/managers/OfferManager.py0000755000175000017500000002617013365544230021576 0ustar varunvarunimport re from gi.repository import GObject from pychess.Utils.const import DRAW_OFFER, ABORT_OFFER, ADJOURN_OFFER, TAKEBACK_OFFER, \ PAUSE_OFFER, RESUME_OFFER, SWITCH_OFFER, RESIGNATION, FLAG_CALL, MATCH_OFFER, \ WHITE, ACTION_ERROR_SWITCH_UNDERWAY, ACTION_ERROR_CLOCK_NOT_STARTED, \ ACTION_ERROR_CLOCK_NOT_PAUSED, ACTION_ERROR_NONE_TO_ACCEPT, ACTION_ERROR_NONE_TO_WITHDRAW, \ ACTION_ERROR_NONE_TO_DECLINE, ACTION_ERROR_TOO_LARGE_UNDO, ACTION_ERROR_NOT_OUT_OF_TIME from pychess.Utils.Offer import Offer from pychess.System.Log import log from pychess.ic import GAME_TYPES, VariantGameType from pychess.ic.FICSObjects import FICSChallenge names = "\w+(?:\([A-Z\*]+\))*" rated = "(rated|unrated)" colors = "(?:\[(white|black)\])?" ratings = "\(([0-9\ \-\+]{1,4}[E P]?)\)" loaded_from = "(?: Loaded from (wild[/\w]*))?" adjourned = "(?: (\(adjourned\)))?" matchreUntimed = re.compile("(\w+) %s %s ?(\w+) %s %s (untimed)\s*" % (ratings, colors, ratings, rated)) matchre = re.compile( "(\w+) %s %s ?(\w+) %s %s (\w+) (\d+) (\d+)%s%s" % (ratings, colors, ratings, rated, loaded_from, adjourned)) # 39 w=GuestDVXV t=match p=GuestDVXV (----) [black] GuestNXMP (----) unrated blitz 2 12 # 16 w=GuestDVXV t=match p=GuestDVXV (----) GuestNXMP (----) unrated wild 2 12 Loaded from wild/fr # 39 w=GuestDVXV t=match p=GuestDVXV (----) GuestNXMP (----) unrated blitz 2 12 (adjourned) # 45 w=GuestGYXR t=match p=GuestGYXR (----) Lobais (----) unrated losers 2 12 # 45 w=GuestYDDR t=match p=GuestYDDR (----) mgatto (1358) unrated untimed # 71 w=joseph t=match p=joseph (1632) mgatto (1742) rated wild 5 1 Loaded from wild/fr (adjourned) # 59 w=antiseptic t=match p=antiseptic (1945) mgatto (1729) rated wild 6 1 Loaded from wild/4 (adjourned) # # Known offers: abort accept adjourn draw match pause unpause switch takeback # strToOfferType = { "draw": DRAW_OFFER, "abort": ABORT_OFFER, "adjourn": ADJOURN_OFFER, "takeback": TAKEBACK_OFFER, "pause": PAUSE_OFFER, "unpause": RESUME_OFFER, "switch": SWITCH_OFFER, "resign": RESIGNATION, "flag": FLAG_CALL, "match": MATCH_OFFER } offerTypeToStr = {} for k, v in strToOfferType.items(): offerTypeToStr[v] = k class OfferManager(GObject.GObject): __gsignals__ = { 'onOfferAdd': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'onOfferRemove': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'onOfferDeclined': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'onChallengeAdd': (GObject.SignalFlags.RUN_FIRST, None, (object, )), 'onChallengeRemove': (GObject.SignalFlags.RUN_FIRST, None, (int, )), 'onActionError': (GObject.SignalFlags.RUN_FIRST, None, (object, int)), } def __init__(self, connection): GObject.GObject.__init__(self) self.connection = connection self.connection.expect_line( self.onOfferAdd, " (\d+) w=%s t=(\w+) p=(.+)" % names) self.connection.expect_line(self.onOfferRemove, " (\d+)") for ficsstring, offer, error in ( ("You cannot switch sides once a game is underway.", Offer(SWITCH_OFFER), ACTION_ERROR_SWITCH_UNDERWAY), ("Opponent is not out of time.", Offer(FLAG_CALL), ACTION_ERROR_NOT_OUT_OF_TIME), ("The clock is not ticking yet.", Offer(PAUSE_OFFER), ACTION_ERROR_CLOCK_NOT_STARTED), ("The clock is not ticking.", Offer(FLAG_CALL), ACTION_ERROR_CLOCK_NOT_STARTED), ("The clock is not paused.", Offer(RESUME_OFFER), ACTION_ERROR_CLOCK_NOT_PAUSED)): self.connection.expect_line( lambda match: self.emit("onActionError", offer, error), ficsstring) self.connection.expect_line( self.notEnoughMovesToUndo, "There are (?:(no)|only (\d+) half) moves in your game\.") self.connection.expect_line(self.noOffersToAccept, "There are no ([^ ]+) offers to (accept).") self.connection.expect_line( self.onOfferDeclined, "\w+ declines the (draw|takeback|pause|unpause|abort|adjourn) request\.") self.lastPly = 0 self.offers = {} self.connection.client.run_command("iset pendinfo 1") def onOfferDeclined(self, match): log.debug("OfferManager.onOfferDeclined: match.string=%s" % match.string) type = match.groups()[0] offer = Offer(strToOfferType[type]) self.emit("onOfferDeclined", offer) def noOffersToAccept(self, match): offertype, request = match.groups() if request == "accept": error = ACTION_ERROR_NONE_TO_ACCEPT elif request == "withdraw": error = ACTION_ERROR_NONE_TO_WITHDRAW elif request == "decline": error = ACTION_ERROR_NONE_TO_DECLINE offer = Offer(strToOfferType[offertype]) self.emit("onActionError", offer, error) def notEnoughMovesToUndo(self, match): ply = match.groups()[0] or match.groups()[1] if ply == "no": ply = 0 else: ply = int(ply) offer = Offer(TAKEBACK_OFFER, param=ply) self.emit("onActionError", offer, ACTION_ERROR_TOO_LARGE_UNDO) def onOfferAdd(self, match): log.debug("OfferManager.onOfferAdd: match.string=%s" % match.string) tofrom, index, offertype, parameters = match.groups() index = int(index) if tofrom == "t": # ICGameModel keeps track of the offers we've sent ourselves, so we # don't need this return if offertype not in strToOfferType: log.warning("OfferManager.onOfferAdd: Declining unknown offer type: " + "offertype=%s parameters=%s index=%d" % (offertype, parameters, index)) self.connection.client.run_command("decline %d" % index) return offertype = strToOfferType[offertype] if offertype == TAKEBACK_OFFER: offer = Offer(offertype, param=int(parameters), index=index) else: offer = Offer(offertype, index=index) self.offers[offer.index] = offer if offer.type == MATCH_OFFER: is_adjourned = False if matchreUntimed.match(parameters) is not None: fname, frating, col, tname, trating, rated, type = \ matchreUntimed.match(parameters).groups() mins = 0 incr = 0 gametype = GAME_TYPES["untimed"] else: fname, frating, col, tname, trating, rated, gametype, mins, \ incr, wildtype, adjourned = matchre.match(parameters).groups() if (wildtype and "adjourned" in wildtype) or \ (adjourned and "adjourned" in adjourned): is_adjourned = True if wildtype and "wild" in wildtype: gametype = wildtype try: gametype = GAME_TYPES[gametype] except KeyError: log.warning("OfferManager.onOfferAdd: auto-declining " + "unknown offer type: '%s'\n" % gametype) self.decline(offer) del self.offers[offer.index] return player = self.connection.players.get(fname) rating = frating.strip() rating = int(rating) if rating.isdigit() else 0 if player.ratings[gametype.rating_type] != rating: player.ratings[gametype.rating_type] = rating player.emit("ratings_changed", gametype.rating_type, player) rated = rated != "unrated" challenge = FICSChallenge(index, player, int(mins), int(incr), rated, col, gametype, adjourned=is_adjourned) self.emit("onChallengeAdd", challenge) else: log.debug("OfferManager.onOfferAdd: emitting onOfferAdd: %s" % offer) self.emit("onOfferAdd", offer) def onOfferRemove(self, match): log.debug("OfferManager.onOfferRemove: match.string=%s" % match.string) index = int(match.groups()[0]) if index not in self.offers: return if self.offers[index].type == MATCH_OFFER: self.emit("onChallengeRemove", index) else: self.emit("onOfferRemove", self.offers[index]) del self.offers[index] ### def challenge(self, player_name, game_type, startmin, incsec, rated, color=None): log.debug("OfferManager.challenge: %s %s %s %s %s %s" % (player_name, game_type, startmin, incsec, rated, color)) rchar = rated and "r" or "u" if color is not None: cchar = color == WHITE and "w" or "b" else: cchar = "" s = "match %s %d %d %s %s" % \ (player_name, startmin, incsec, rchar, cchar) if isinstance(game_type, VariantGameType): s += " " + game_type.seek_text self.connection.client.run_command(s) def offer(self, offer): log.debug("OfferManager.offer: %s" % offer) s = offerTypeToStr[offer.type] if offer.type == TAKEBACK_OFFER: s += " " + str(offer.param) self.connection.client.run_command(s) ### def withdraw(self, offer): log.debug("OfferManager.withdraw: %s" % offer) self.connection.client.run_command("withdraw t %s" % offerTypeToStr[offer.type]) def accept(self, offer): log.debug("OfferManager.accept: %s" % offer) if offer.index is not None: self.acceptIndex(offer.index) else: self.connection.client.run_command("accept t %s" % offerTypeToStr[offer.type]) def decline(self, offer): log.debug("OfferManager.decline: %s" % offer) if offer.index is not None: self.declineIndex(offer.index) else: self.connection.client.run_command("decline t %s" % offerTypeToStr[offer.type]) def acceptIndex(self, index): log.debug("OfferManager.acceptIndex: index=%s" % index) self.connection.client.run_command("accept %s" % index) def declineIndex(self, index): log.debug("OfferManager.declineIndex: index=%s" % index) self.connection.client.run_command("decline %s" % index) def playIndex(self, index): log.debug("OfferManager.playIndex: index=%s" % index) self.connection.client.run_command("play %s" % index) pychess-1.0.0/lib/pychess/ic/managers/ICCSeekManager.py0000644000175000017500000000571513353143212021732 0ustar varunvarunfrom gi.repository import GObject from pychess.System.Log import log from pychess.Utils.const import UNSUPPORTED from pychess.ic import GAME_TYPES, TITLES, RATING_TYPES from pychess.ic.FICSObjects import FICSSeek from pychess.ic.icc import DG_SEEK, DG_SEEK_REMOVED from pychess.ic.managers.SeekManager import SeekManager class ICCSeekManager(SeekManager): def __init__(self, connection): GObject.GObject.__init__(self) self.connection = connection self.connection.expect_dg_line(DG_SEEK, self.on_icc_seek_add) self.connection.expect_dg_line(DG_SEEK_REMOVED, self.on_icc_seek_removed) self.connection.client.run_command("set-2 %s 1" % DG_SEEK) self.connection.client.run_command("set-2 %s 1" % DG_SEEK_REMOVED) def on_icc_seek_add(self, data): log.debug("DG_SEEK_ADD %s" % data) # index name titles rating provisional-status wild rating-type time # inc rated color minrating maxrating autoaccept formula fancy-time-control # 195 Tinker {C} 2402 2 0 Blitz 5 3 1 -1 0 9999 1 1 {} parts = data.split(" ", 2) index = int(parts[0]) player = self.connection.players.get(parts[1]) titles_end = parts[2].find("}") titles = parts[2][1:titles_end] tit = set() for title in titles.split(): tit.add(TITLES[title]) player.titles |= tit parts = parts[2][titles_end + 1:].split() rating = int(parts[0]) deviation = None # parts[1] # wild = parts[2] try: gametype = GAME_TYPES[parts[3].lower()] except KeyError: return minutes = int(parts[4]) increment = int(parts[5]) rated = parts[6] == "1" color = parts[7] if color == "-1": color = None else: color = "white" if color == '1' else "black" rmin = int(parts[8]) rmax = int(parts[9]) automatic = parts[10] == "1" # formula = parts[11] # fancy_tc = parts[12] if gametype.variant_type in UNSUPPORTED: log.debug("!!! unsupported variant in seek: %s" % data) return if gametype.rating_type in RATING_TYPES and player.ratings[gametype.rating_type] != rating: player.ratings[gametype.rating_type] = rating player.deviations[gametype.rating_type] = deviation player.emit("ratings_changed", gametype.rating_type, player) seek = FICSSeek(index, player, minutes, increment, rated, color, gametype, rmin=rmin, rmax=rmax, automatic=automatic) self.emit("addSeek", seek) def on_icc_seek_removed(self, data): log.debug("DG_SEEK_REMOVED %s" % data) key = data.split()[0] self.emit("removeSeek", int(key)) pychess-1.0.0/lib/pychess/ic/managers/ErrorManager.py0000755000175000017500000000211713353143212021611 0ustar varunvarunfrom gi.repository import GObject sanmove = "([a-hx@OoPKQRBN0-8+#=-]{2,7})" class ErrorManager(GObject.GObject): __gsignals__ = { 'onCommandNotFound': (GObject.SignalFlags.RUN_FIRST, None, (str, )), 'onAmbiguousMove': (GObject.SignalFlags.RUN_FIRST, None, (str, )), 'onIllegalMove': (GObject.SignalFlags.RUN_FIRST, None, (str, )), } def __init__(self, connection): GObject.GObject.__init__(self) connection.expect_line(self.onError, "(.*?): Command not found\.") connection.expect_line(self.onAmbiguousMove, "Ambiguous move \((%s)\)\." % sanmove) connection.expect_line(self.onIllegalMove, "Illegal move \((%s)\)\." % sanmove) def onError(self, match): command = match.groups()[0] self.emit("onCommandNotFound", command) def onAmbiguousMove(self, match): move = match.groups()[0] self.emit("onAmbiguousMove", move) def onIllegalMove(self, match): move = match.groups()[0] self.emit("onIllegalMove", move) pychess-1.0.0/lib/pychess/ic/managers/ICCErrorManager.py0000644000175000017500000000115213353143212022123 0ustar varunvarunfrom gi.repository import GObject from pychess.ic.icc import DG_ILLEGAL_MOVE from pychess.ic.managers.ErrorManager import ErrorManager class ICCErrorManager(ErrorManager): def __init__(self, connection): GObject.GObject.__init__(self) self.connection = connection self.connection.expect_dg_line(DG_ILLEGAL_MOVE, self.on_icc_illegal_move) self.connection.client.run_command("set-2 %s 1" % DG_ILLEGAL_MOVE) def on_icc_illegal_move(self, data): # gamenumber movestring reason gameid, move, reason = data.split(" ", 2) self.emit("onIllegalMove", move) pychess-1.0.0/lib/pychess/ic/managers/ICCHelperManager.py0000644000175000017500000001765013353143212022263 0ustar varunvarunfrom gi.repository import GObject from pychess.ic.FICSObjects import FICSGame from pychess.ic.managers.HelperManager import HelperManager from pychess.ic import parseRating, GAME_TYPES_BY_SHORT_FICS_NAME, IC_STATUS_PLAYING from pychess.ic.icc import DG_PLAYER_ARRIVED_SIMPLE, DG_PLAYER_LEFT, DG_TOURNEY, CN_GAMES, DG_WILD_KEY class ICCHelperManager(HelperManager): def __init__(self, helperconn, connection): GObject.GObject.__init__(self) self.connection = connection self.connection.expect_dg_line(DG_PLAYER_ARRIVED_SIMPLE, self.on_icc_player_arrived_simple) self.connection.expect_dg_line(DG_PLAYER_LEFT, self.on_icc_player_left) self.connection.expect_dg_line(DG_TOURNEY, self.on_icc_tourney) self.connection.expect_dg_line(DG_WILD_KEY, self.on_icc_wild_key) self.connection.expect_cn_line(CN_GAMES, self.on_icc_games) self.connection.client.run_command("set-2 %s 1" % DG_PLAYER_ARRIVED_SIMPLE) self.connection.client.run_command("set-2 %s 1" % DG_PLAYER_LEFT) self.connection.client.run_command("set-2 %s 1" % DG_TOURNEY) self.connection.client.run_command("set-2 %s 1" % DG_WILD_KEY) # From https://www.chessclub.com/user/resources/formats/formats.txt # Here is the list of verbose DGs: # DG_PLAYER_ARRIVED DG_PLAYER_LEFT # DG_GAME_STARTED DG_GAME_RESULT DG_EXAMINED_GAME_IS_GONE # DG_PEOPLE_IN_MY_CHANNEL DG_CHANNELS_SHARED DG_SEES_SHOUTS # Currently, only TDs like Tomato can use these. # Unfortunately we can't maintain full list of ongoing games so we will # periodically update top games in ICLounge similar to other ICC clients self.connection.client.run_command("games *19") def on_icc_games(self, data): # 1267 guest2504 1400 KQkr(C) 20u 5 12 W: 1 # 1060 guest7400 1489 DeadGuyKai bu 3 0 W: 21 # 791 1506 PlotinusRedux guest3090 bu 2 12 W: 21 # 47 2357 *IM_Danchevski 2683 *GM_Morozevich Ex: scratch W: 35 # 101 Replayer2 Replayer2 Ex: scratch W: 1 # 117 2760 *GM_Topalov 2823 *GM_Caruana Ex: StLouis16 %0 W: 29 # 119 1919 stansai 2068 Agrimont Ex: continuation W: 53 # 456 games displayed (282 played, 174 examined). previous_games = list(self.connection.games.values()) games = [] games_got = [] lines = data.split("\n") for line in lines: # print(line) try: parts = line.split() index = 0 gameno = parts[index] index += 1 if parts[index].isdigit(): wrating = parts[index] index += 1 else: wrating = "----" wname = parts[index] index += 1 if parts[index].isdigit(): brating = parts[index] index += 1 else: brating = "----" bname = parts[index] index += 1 if parts[index] == "Ex:": shorttype = "e" rated = "" min = "0" inc = "0" else: rated = parts[index][-1] shorttype = parts[index][:-1] index += 1 min = parts[index] index += 1 inc = parts[index] private = "" except IndexError: continue try: gametype = GAME_TYPES_BY_SHORT_FICS_NAME[shorttype] except KeyError: # TODO: handle ICC wild types # print("key error in GAME_TYPES_BY_SHORT_FICS_NAME: %s" % shorttype) continue wplayer = self.connection.players.get(wname) bplayer = self.connection.players.get(bname) game = FICSGame(wplayer, bplayer, gameno=int(gameno), rated=(rated == "r"), private=(private == "p"), minutes=int(min), inc=int(inc), game_type=gametype) for player, rating in ((wplayer, wrating), (bplayer, brating)): if player.status != IC_STATUS_PLAYING: player.status = IC_STATUS_PLAYING if player.game != game: player.game = game rating = parseRating(rating) if player.ratings[gametype.rating_type] != rating: player.ratings[gametype.rating_type] = rating player.emit("ratings_changed", gametype.rating_type, player) if game not in previous_games: game = self.connection.games.get(game, emit=False) games.append(game) games_got.append(game) for game in previous_games: if game not in games_got and \ game not in self.connection.bm.gamesImObserving and \ game is not self.connection.bm.theGameImPlaying: self.connection.games.game_ended(game) game.wplayer.game = None game.bplayer.game = None self.connection.games.emit("FICSGameCreated", games) def on_icc_player_arrived_simple(self, data): name = data.split()[0] player = self.connection.players.get(name) player.online = True def on_icc_player_left(self, data): name = data.split()[0] self.connection.players.player_disconnected(name) def on_icc_wild_key(self, data): key, name = data.split(" ", 1) # print(key, name) def on_icc_tourney(self, data): # index bitfield description join-command watch-command info-command confirm-text # 42 0 {Cooly Over 1500 Sunday Top Player Luton Blitz 5 0 rated Rating: 1500..3000 manager bigcol - 7 rounds Tournament Current round:1 Players:8, Latejoin allowed until round: 4} {tell Cooly latejoin & tell 224 Hi, i am in} {} {tell Cooly info} {Do you want to join the Cooly tournament} # 59 0 {Tomato U1600 Scheduled Swiss Blitz 2 5 rated Rating: 0..1599 manager Duguesclin - 7 rounds Tournament Current round:1 Players:13, Latejoin allowed until round: 4} {tell Tomato latejoin & tell 46 Hi, i am in} {} {tell Tomato info} {Do you want to join the Tomato tournament} # 64 0 {Yenta The STC Sunday Swiss Luton Standard 45 5 rated manager alonzob - 3 rounds Tournament Current round:2 Players:9, Latejoin allowed until round: 2} {tell Yenta latejoin & tell 232 Hi, i am in} {} {tell Yenta info} {Do you want to join the Yenta tournament} # 96 6 {} {} {} {} {} # 97 6 {[AUDIO] LIVE commentary with GM Ronen Har-Zvi and GM Alex Yermolinsky} {tell webcast listen} {} {} {} # 98 6 {[AUDIO] LIVE Espanol con el GM Jordi Magem (ESP)} {tell webcast espanol} {} {} {} # 99 6 {LIVE COVERAGE FIDE World Chess Championship 2016 - Game 7} {} {} {finger WorldChamp16} {} # 101 6 {LIVE GM Sergey Karjakin(2772) - GM Magnus Carlsen(2853)} {} {observe 1} {} {} # 319 6 {Nov 18-- [VIDEO] GM Ronen Har-Zvi analyzes game 6 of the World Chess Championship Match 2016} {} {https://webcast.chessclub.com/icc/i/WC16/Game5/GOTD.html} {https://www20.chessclub.com/article/fide-wc-match-2016-game-6} {} # 320 6 {Nov 20 -- [VIDEO] Attack with LarryC! Making Book with the Rook} {https://webcast.chessclub.com/icc/i/LarryC/2011_09_21/Attack_LarryC.html} {} {http://www.chessclub.com/chessfm/index/larryc/index.html} {} # TODO pass pychess-1.0.0/lib/pychess/ic/VerboseTelnet.py0000644000175000017500000003072013415426335020220 0ustar varunvarunimport asyncio import collections import re from pychess.System.Log import log from pychess.ic import BLOCK_START, BLOCK_SEPARATOR, BLOCK_END, BLKCMD_PASSWORD from pychess.ic.icc import UNIT_START, UNIT_END, DTGR_START, MY_ICC_PREFIX class ConsoleHandler: def __init__(self, callback): self.callback = callback def handle(self, line): if line: self.callback(line) class Prediction: def __init__(self, callback, *regexps): self.callback = callback self.name = callback.__name__ self.regexps = [] self.matches = () self.hash = hash(callback) for regexp in regexps: self.hash ^= hash(regexp) if not hasattr("match", regexp): # FICS being fairly case insensitive, we can compile with IGNORECASE # to easy some expressions self.regexps.append(re.compile(regexp, re.IGNORECASE)) def __hash__(self): return self.hash def __len__(self): return len(self.regexps) RETURN_NO_MATCH, RETURN_MATCH, RETURN_NEED_MORE, RETURN_MATCH_END = range(4) BL, DG, CN = range(3) class LinePrediction(Prediction): def __init__(self, callback, regexp): Prediction.__init__(self, callback, regexp) def handle(self, line): match = self.regexps[0].match(line) if match: self.matches = (match.string, ) self.callback(match) return RETURN_MATCH return RETURN_NO_MATCH class MultipleLinesPrediction(Prediction): def __init__(self, callback, *regexps): Prediction.__init__(self, callback, *regexps) self.matchlist = [] class NLinesPrediction(MultipleLinesPrediction): def __init__(self, callback, *regexps): MultipleLinesPrediction.__init__(self, callback, *regexps) def handle(self, line): regexp = self.regexps[len(self.matchlist)] match = regexp.match(line) if match: self.matchlist.append(match) if len(self.matchlist) == len(self.regexps): self.matches = [m.string for m in self.matchlist] self.callback(self.matchlist) del self.matchlist[:] return RETURN_MATCH return RETURN_NEED_MORE del self.matchlist[:] return RETURN_NO_MATCH class FromPlusPrediction(MultipleLinesPrediction): def __init__(self, callback, regexp0, regexp1): MultipleLinesPrediction.__init__(self, callback, regexp0, regexp1) def handle(self, line): if not self.matchlist: match = self.regexps[0].match(line) if match: self.matchlist.append(match) return RETURN_NEED_MORE else: match = self.regexps[1].match(line) if match: self.matchlist.append(match) return RETURN_NEED_MORE else: self.matches = [m.string for m in self.matchlist] self.callback(self.matchlist) del self.matchlist[:] return RETURN_MATCH_END del self.matchlist[:] return RETURN_NO_MATCH class FromABPlusPrediction(MultipleLinesPrediction): def __init__(self, callback, regexp0, regexp1, regexp2): MultipleLinesPrediction.__init__(self, callback, regexp0, regexp1, regexp2) def handle(self, line): if not self.matchlist: match = self.regexps[0].match(line) if match: self.matchlist.append(match) return RETURN_NEED_MORE elif len(self.matchlist) == 1: match = self.regexps[1].match(line) if match: self.matchlist.append(match) return RETURN_NEED_MORE else: match = self.regexps[2].match(line) if match: self.matchlist.append(match) return RETURN_NEED_MORE else: self.matches = [m.string for m in self.matchlist] self.callback(self.matchlist) del self.matchlist[:] return RETURN_MATCH_END del self.matchlist[:] return RETURN_NO_MATCH class FromToPrediction(MultipleLinesPrediction): def __init__(self, callback, regexp0, regexp1): MultipleLinesPrediction.__init__(self, callback, regexp0, regexp1) def handle(self, line): if not self.matchlist: match = self.regexps[0].match(line) if match: self.matchlist.append(match) return RETURN_NEED_MORE else: match = self.regexps[1].match(line) if match: self.matchlist.append(match) self.matches = [m if isinstance(m, str) else m.string for m in self.matchlist] self.callback(self.matchlist) del self.matchlist[:] return RETURN_MATCH else: self.matchlist.append(line) return RETURN_NEED_MORE return RETURN_NO_MATCH TelnetLine = collections.namedtuple('TelnetLine', ['line', 'code', 'code_type']) EmptyTelnetLine = TelnetLine("", None, None) class TelnetLines: def __init__(self, telnet, show_reply): self.telnet = telnet self.lines = collections.deque() self.block_mode = False self.datagram_mode = False self.line_prefix = None self.consolehandler = None self.show_reply = show_reply def appendleft(self, x): self.lines.appendleft(x) def extendleft(self, iterable): self.lines.extendleft(iterable) @asyncio.coroutine def popleft(self): try: return self.lines.popleft() except IndexError: lines = yield from self._get_lines() self.lines.extend(lines) return self.lines.popleft() if self.lines else EmptyTelnetLine @asyncio.coroutine def _get_lines(self): lines = [] line = yield from self.telnet.readline() identifier = 0 if line.startswith(self.line_prefix): line = line[len(self.line_prefix) + 1:] if self.datagram_mode: identifier = -1 code = 0 unit = False if line.startswith(UNIT_START): unit = True unit_lines = [] cn_code = int(line[2:line.find(" ")]) if MY_ICC_PREFIX in line: identifier = 0 line = yield from self.telnet.readline() if unit: while UNIT_END not in line: if line.startswith(DTGR_START): code, data = line[2:-2].split(" ", 1) log.debug("%s %s" % (code, data), extra={"task": (self.telnet.name, "datagram")}) lines.append(TelnetLine(data, int(code), DG)) else: if line.endswith(UNIT_END): parts = line.split(UNIT_END) if parts[0]: unit_lines.append(parts[0]) else: unit_lines.append(line) line = yield from self.telnet.readline() if len(unit_lines) > 0: text = "\n".join(unit_lines) lines.append(TelnetLine(text, cn_code, CN)) log.debug(text, extra={"task": (self.telnet.name, "not datagram")}) elif self.block_mode and line.startswith(BLOCK_START): parts = line[1:].split(BLOCK_SEPARATOR) if len(parts) == 3: identifier, code, text = parts elif len(parts) == 4: identifier, code, error_code, text = parts else: log.warning("Posing not supported yet", extra={"task": (self.telnet.name, "lines")}) return lines code = int(code) identifier = int(identifier) if text: line = text else: line = yield from self.telnet.readline() while not line.endswith(BLOCK_END): lines.append(TelnetLine(line, code, BL)) line = yield from self.telnet.readline() lines.append(TelnetLine(line[:-1], code, BL)) if code != BLKCMD_PASSWORD: log.debug("%s %s %s" % (identifier, code, "\n".join(line.line for line in lines).strip()), extra={"task": (self.telnet.name, "command_reply")}) else: code = 0 lines.append(TelnetLine(line, None, None)) if self.consolehandler: if identifier == 0 or identifier in self.show_reply: self.consolehandler.handle(lines) # self.show_reply.discard(identifier) return lines class PredictionsTelnet: def __init__(self, telnet, predictions, reply_cmd_dict, replay_dg_dict, replay_cn_dict): self.telnet = telnet self.predictions = predictions self.reply_cmd_dict = reply_cmd_dict self.replay_dg_dict = replay_dg_dict self.replay_cn_dict = replay_cn_dict self.show_reply = set([]) self.lines = TelnetLines(telnet, self.show_reply) self.__command_id = 1 @asyncio.coroutine def parse(self): line = yield from self.lines.popleft() if not line.line: return # TODO: necessary? # print("line.line:", line.line) if self.lines.datagram_mode and line.code is not None: if line.code_type == DG: callback = self.replay_dg_dict[line.code] callback(line.line) log.debug(line.line, extra={"task": (self.telnet.name, callback.__name__)}) return elif line.code_type == CN and line.code in self.replay_cn_dict: callback = self.replay_cn_dict[line.code] callback(line.line) log.debug(line.line, extra={"task": (self.telnet.name, callback.__name__)}) return predictions = self.reply_cmd_dict[line.code] \ if line.code is not None and line.code in self.reply_cmd_dict else self.predictions for pred in list(predictions): answer = yield from self.test_prediction(pred, line) # print(answer, " parse_line: trying prediction %s for line '%s'" % (pred.name, line.line[:80])) if answer in (RETURN_MATCH, RETURN_MATCH_END): log.debug("\n".join(pred.matches), extra={"task": (self.telnet.name, pred.name)}) break else: # print(" NOT MATCHED:", line.line[:80]) if line.code != BLKCMD_PASSWORD: log.debug(line.line, extra={"task": (self.telnet.name, "nonmatched")}) @asyncio.coroutine def test_prediction(self, prediction, line): lines = [] answer = prediction.handle(line.line) while answer is RETURN_NEED_MORE: line = yield from self.lines.popleft() lines.append(line) answer = prediction.handle(line.line) if lines and answer not in (RETURN_MATCH, RETURN_MATCH_END): self.lines.extendleft(reversed(lines)) elif answer is RETURN_MATCH_END: self.lines.appendleft(line) # re-test last line that didn't match return answer def run_command(self, text, show_reply=False): logtext = "*" * len(text) if self.telnet.sensitive else text log.debug(logtext, extra={"task": (self.telnet.name, "run_command")}) if self.lines.block_mode: # TODO: reuse id after command reply handled self.__command_id += 1 text = "%s %s" % (self.__command_id, text) if show_reply: self.show_reply.add(self.__command_id) self.telnet.write(text) elif self.lines.datagram_mode: if show_reply: text = "`%s`%s" % (MY_ICC_PREFIX, text) self.telnet.write("%s" % text) else: self.telnet.write("%s" % text) def cancel(self): self.run_command("quit") self.telnet.cancel() def close(self): # save played game (if there is any) if no moves made self.run_command("abort") self.run_command("quit") self.telnet.close() pychess-1.0.0/lib/pychess/ic/ICGameModel.py0000755000175000017500000004116213432500771017506 0ustar varunvarunimport asyncio from io import StringIO from pychess.compat import create_task from pychess.System.Log import log from pychess.Utils.GameModel import GameModel from pychess.Utils.Offer import Offer from pychess.Utils.const import REMOTE, DRAW, WHITE, BLACK, RUNNING, WHITEWON, KILLED, \ TAKEBACK_OFFER, WAITING_TO_START, BLACKWON, PAUSE_OFFER, PAUSED, \ RESUME_OFFER, DISCONNECTED, CHAT_ACTION, RESIGNATION, FLAG_CALL, OFFERS, LOCAL, \ UNFINISHED_STATES, ABORT_OFFER, ACTION_ERROR_NONE_TO_ACCEPT from pychess.Players.Human import Human from pychess.Savers import fen as fen_loader from pychess.ic import GAME_TYPES, TYPE_TOURNAMENT_DIRECTOR class ICGameModel(GameModel): def __init__(self, connection, ficsgame, timemodel): assert ficsgame.game_type in GAME_TYPES.values() GameModel.__init__(self, timemodel, ficsgame.game_type.variant) self.connection = connection self.ficsgame = ficsgame self.ficsplayers = (ficsgame.wplayer, ficsgame.bplayer) self.gmwidg_ready = asyncio.Event() self.kibitz_task = None self.disconnected = False connections = self.connections connections[connection.bm].append(connection.bm.connect( "boardSetup", self.onBoardSetup)) connections[connection.bm].append(connection.bm.connect( "exGameReset", self.onExGameReset)) connections[connection.bm].append(connection.bm.connect( "gameUndoing", self.onGameUndoing)) connections[connection.bm].append(connection.bm.connect( "timesUpdate", self.onTimesUpdate)) connections[connection.bm].append(connection.bm.connect( "obsGameEnded", self.onGameEnded)) connections[connection.bm].append(connection.bm.connect( "curGameEnded", self.onGameEnded)) connections[connection.bm].append(connection.bm.connect( "gamePaused", self.onGamePaused)) connections[connection.bm].append(connection.bm.connect( "madeExamined", self.onMadeExamined)) connections[connection.bm].append(connection.bm.connect( "madeUnExamined", self.onMadeUnExamined)) connections[connection.om].append(connection.om.connect( "onActionError", self.onActionError)) connections[connection.cm].append(connection.cm.connect( "kibitzMessage", self.onKibitzMessage)) connections[connection.cm].append(connection.cm.connect( "whisperMessage", self.onWhisperMessage)) connections[connection.cm].append(connection.cm.connect( "observers_received", self.onObserversReceived)) connections[connection].append(connection.connect("disconnected", self.onDisconnected)) rated = "rated" if ficsgame.rated else "unrated" # This is in the format that ficsgames.org writes these PGN headers ics = "ICC" if self.connection.ICC else "FICS" self.tags["Event"] = "%s %s %s game" % (ics, rated, ficsgame.game_type.fics_name) self.tags["Site"] = "chessclub.com" if self.connection.ICC else "freechess.org" def __repr__(self): string = GameModel.__repr__(self) string = string.replace(" Actions" works if isinstance(obj, Human): continue for handler_id in self.connections[obj]: if obj.handler_is_connected(handler_id): log.debug("ICGameModel.__disconnect: object=%s handler_id=%s" % (repr(obj), repr(handler_id))) obj.disconnect(handler_id) self.disconnected = True def ficsplayer(self, player): if player.ichandle == self.ficsplayers[0].name: return self.ficsplayers[0] else: return self.ficsplayers[1] @property def remote_player(self): if self.players[0].__type__ == REMOTE: return self.players[0] else: return self.players[1] @property def remote_ficsplayer(self): return self.ficsplayer(self.remote_player) def hasGuestPlayers(self): for player in self.ficsplayers: if player.isGuest(): return True return False @property def noTD(self): for player in self.ficsplayers: if TYPE_TOURNAMENT_DIRECTOR in player.titles: return False return True def onExGameReset(self, bm, ficsgame): log.debug("ICGameModel.onExGameReset %s" % self) if ficsgame == self.ficsgame: self.__disconnect() self.players[0].end() self.players[1].end() def onGameUndoing(self, bm, gameno, ply): if gameno == self.ficsgame.gameno: self.undoMoves(ply) def onBoardSetup(self, bm, gameno, fen, wname, bname): log.debug("ICGameModel.onBoardSetup: %s %s %s %s %s" % (bm, gameno, fen, wname, bname)) if gameno != self.ficsgame.gameno or len(self.players) != 2 or self.disconnected: return # Set up examined game black player if "Black" not in self.tags or bname != self.tags["Black"]: self.players[BLACK].name = bname self.emit("players_changed") # Set up examined game white player if "White" not in self.tags or wname != self.tags["White"]: self.players[WHITE].name = wname self.emit("players_changed") # Set up examined game position, side to move, castling rights if self.boards[-1].asFen() != fen: if self.boards[0].asFen().split()[:2] == fen.split()[:2]: log.debug("ICGameModel.onBoardSetup: undoing moves %s" % self.moves) self.undoMoves(len(self.moves)) self.ficsgame.move_queue.put_nowait("stm") return new_position = self.boards[-1].asFen().split()[0] != fen.split()[0] # side to move change stm_change = self.boards[-1].asFen().split()[1] != fen.split()[1] self.status = RUNNING self.loadAndStart( StringIO(fen), fen_loader, 0, -1, first_time=False) if new_position: log.debug('ICGameModel.onBoardSetup: put_nowait("fen"') self.ficsgame.move_queue.put_nowait("fen") self.emit("game_started") elif stm_change: log.debug('ICGameModel.onBoardSetup: put_nowait("stm"') self.ficsgame.move_queue.put_nowait("stm") def update_board(self, gameno, ply, curcol, lastmove, fen, wname, bname, wms, bms): log.debug(("ICGameModel.update_board: id=%s self.ply=%s self.players=%s gameno=%s " + "wname=%s bname=%s ply=%s curcol=%s lastmove=%s fen=%s wms=%s bms=%s") % (str(id(self)), str(self.ply), repr(self.players), str(gameno), str(wname), str(bname), str(ply), str(curcol), str(lastmove), str(fen), str(wms), str(bms))) if gameno != self.ficsgame.gameno or len(self.players) < 2 or self.disconnected: return if self.timed: log.debug("ICGameModel.update_board: id=%d self.players=%s: updating timemodel" % (id(self), str(self.players))) # If game end coming from helper connection before last move made # we have to tap() ourselves if self.status in (DRAW, WHITEWON, BLACKWON): if self.timemodel.ply < ply: self.timemodel.paused = False self.timemodel.tap() self.timemodel.paused = True self.timemodel.updatePlayer(WHITE, wms / 1000.) self.timemodel.updatePlayer(BLACK, bms / 1000.) if ply < self.ply: log.debug("ICGameModel.update_board: id=%d self.players=%s \ self.ply=%d ply=%d: TAKEBACK" % (id(self), str(self.players), self.ply, ply)) for offer in list(self.offers.keys()): if offer.type == TAKEBACK_OFFER: # There can only be 1 outstanding takeback offer for both players on FICS, # (a counter-offer by the offeree for a takeback for a different number of # moves replaces the initial offer) so we can safely remove all of them del self.offers[offer] if len(self.moves) >= self.ply - ply: self.undoMoves(self.ply - ply) else: self.status = RUNNING self.loadAndStart( StringIO(fen), fen_loader, 0, -1, first_time=False) self.emit("game_started") curPlayer = self.players[self.curColor] curPlayer.resetPosition() elif ply > self.ply + 1: log.debug("ICGameModel.update_board: id=%d self.players=%s \ self.ply=%d ply=%d: FORWARD JUMP" % (id(self), str(self.players), self.ply, ply)) self.status = RUNNING self.loadAndStart( StringIO(fen), fen_loader, 0, -1, first_time=False) self.emit("game_started") curPlayer = self.players[self.curColor] curPlayer.resetPosition() def onTimesUpdate(self, bm, gameno, wms, bms): if gameno != self.ficsgame.gameno: return if self.timed: self.timemodel.updatePlayer(WHITE, wms / 1000.) self.timemodel.updatePlayer(BLACK, bms / 1000.) def onMadeExamined(self, bm, gameno): self.examined = True def onMadeUnExamined(self, bm, gameno): self.examined = False def onGameEnded(self, bm, ficsgame): if ficsgame == self.ficsgame and len(self.players) >= 2: log.debug( "ICGameModel.onGameEnded: self.players=%s ficsgame=%s" % (repr(self.players), repr(ficsgame))) self.end(ficsgame.result, ficsgame.reason) def setPlayers(self, players): GameModel.setPlayers(self, players) if self.players[WHITE].icrating: self.tags["WhiteElo"] = self.players[WHITE].icrating if self.players[BLACK].icrating: self.tags["BlackElo"] = self.players[BLACK].icrating if (self.connection.username == self.ficsplayers[WHITE].name) and self.ficsplayers[WHITE].isGuest(): self.tags["White"] += " (Player)" self.emit("players_changed") if (self.connection.username == self.ficsplayers[BLACK].name) and self.ficsplayers[BLACK].isGuest(): self.tags["Black"] += " (Player)" self.emit("players_changed") def onGamePaused(self, bm, gameno, paused): if paused: self.pause() else: self.resume() # we have to do this here rather than in acceptReceived(), because # sometimes FICS pauses/unpauses a game clock without telling us that the # original offer was "accepted"/"received", such as when one player offers # "pause" and the other player responds not with "accept" but "pause" for offer in list(self.offers.keys()): if offer.type in (PAUSE_OFFER, RESUME_OFFER): del self.offers[offer] def onDisconnected(self, connection): if self.status in (WAITING_TO_START, PAUSED, RUNNING): self.end(KILLED, DISCONNECTED) ############################################################################ # Chat management # ############################################################################ def onKibitzMessage(self, cm, name, gameno, text): @asyncio.coroutine def coro(): if not self.gmwidg_ready.is_set(): yield from self.gmwidg_ready.wait() if gameno != self.ficsgame.gameno: return self.emit("message_received", name, text) self.kibitz_task = create_task(coro()) def onWhisperMessage(self, cm, name, gameno, text): if gameno != self.ficsgame.gameno: return self.emit("message_received", name, text) def onObserversReceived(self, other, gameno, observers): if int(gameno) != self.ficsgame.gameno: return self.emit("observers_received", observers) ############################################################################ # Offer management # ############################################################################ def offerReceived(self, player, offer): log.debug("ICGameModel.offerReceived: offerer=%s %s" % (repr(player), offer)) if player == self.players[WHITE]: opPlayer = self.players[BLACK] else: opPlayer = self.players[WHITE] if offer.type == CHAT_ACTION: opPlayer.putMessage(offer.param) elif offer.type in (RESIGNATION, FLAG_CALL): self.connection.om.offer(offer) elif offer.type in OFFERS: if offer not in self.offers: log.debug("ICGameModel.offerReceived: %s.offer(%s)" % (repr(opPlayer), offer)) self.offers[offer] = player opPlayer.offer(offer) # If the offer was an update to an old one, like a new takebackvalue # we want to remove the old one from self.offers for offer_ in list(self.offers.keys()): if offer.type == offer_.type and offer != offer_: del self.offers[offer_] def acceptReceived(self, player, offer): log.debug("ICGameModel.acceptReceived: accepter=%s %s" % (repr(player), offer)) if player.__type__ == LOCAL: if offer not in self.offers or self.offers[offer] == player: player.offerError(offer, ACTION_ERROR_NONE_TO_ACCEPT) else: log.debug( "ICGameModel.acceptReceived: connection.om.accept(%s)" % offer) self.connection.om.accept(offer) del self.offers[offer] # We don't handle any ServerPlayer calls here, as the fics server will # know automatically if he/she accepts an offer, and will simply send # us the result. @asyncio.coroutine def checkStatus(self): pass def onActionError(self, om, offer, error): self.emit("action_error", offer, error) # # End # def end(self, status, reason): if self.examined: self.connection.bm.unexamine() if self.status in UNFINISHED_STATES: self.__disconnect() if self.isObservationGame(): self.connection.bm.unobserve(self.ficsgame) else: self.connection.om.offer(Offer(ABORT_OFFER)) self.connection.om.offer(Offer(RESIGNATION)) if status == KILLED: GameModel.kill(self, reason) else: GameModel.end(self, status, reason) def terminate(self): for obj in self.connections: for handler_id in self.connections[obj]: if obj.handler_is_connected(handler_id): obj.disconnect(handler_id) self.connections = None GameModel.terminate(self) if self.kibitz_task is not None: self.kibitz_task.cancel() def goFirst(self): self.connection.client.run_command("backward 999") def goPrev(self, step=1): self.connection.client.run_command("backward %s" % step) def goNext(self, step=1): self.connection.client.run_command("forward %s" % step) def goLast(self): self.connection.client.run_command("forward 999") def backToMainLine(self): self.connection.client.run_command("revert") pychess-1.0.0/lib/pychess/Variants/0000755000175000017500000000000013467766037016274 5ustar varunvarunpychess-1.0.0/lib/pychess/Variants/theban.py0000644000175000017500000000131513353143212020061 0ustar varunvarun""" Theban Chess Variant """ from pychess.Utils.const import THEBANCHESS, VARIANTS_OTHER from pychess.Utils.Board import Board THEBANSTART = "1p6/2p3kn/3p2pp/4pppp/5ppp/8/PPPPPPPP/PPPPPPKN w - - 0 1" class ThebanBoard(Board): variant = THEBANCHESS __desc__ = _("Variant developed by Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990") name = _("Theban") cecp_name = "normal" need_initial_board = True standard_rules = True variant_group = VARIANTS_OTHER def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=THEBANSTART, lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) pychess-1.0.0/lib/pychess/Variants/rookodds.py0000755000175000017500000000140513353143212020447 0ustar varunvarun""" Rook Odds Variant""" from pychess.Utils.const import ROOKODDSCHESS, VARIANTS_ODDS from pychess.Utils.Board import Board ROOKODDSSTART = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/1NBQKBNR w Kkq - 0 1" class RookOddsBoard(Board): """:Description: Standard chess rules apply, but one side starts with one less rook""" variant = ROOKODDSCHESS __desc__ = _("One player starts with one less rook piece") name = _("Rook odds") cecp_name = "normal" need_initial_board = True standard_rules = True variant_group = VARIANTS_ODDS def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=ROOKODDSSTART, lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) pychess-1.0.0/lib/pychess/Variants/kingofthehill.py0000644000175000017500000000176013353143212021453 0ustar varunvarun""" The King of the Hill Variation""" from pychess.Utils.const import KINGOFTHEHILLCHESS, VARIANTS_OTHER_NONSTANDARD, \ D4, D5, E4, E5 from pychess.Utils.Board import Board class KingOfTheHillBoard(Board): """ :Description: The King of the hill variation is where the object of the game is to try and manoeuvre to the centre of the board. The gmae is won when one player manages to get there king to any of the 4 centre square ie d4, d5, e4, e5 """ variant = KINGOFTHEHILLCHESS __desc__ = _( "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" + "Normal rules apply in other cases and checkmate also ends the game.") name = _("King of the hill") cecp_name = "kingofthehill" need_initial_board = False standard_rules = False variant_group = VARIANTS_OTHER_NONSTANDARD def testKingInCenter(board): """ Test for a winning position """ return board.kings[board.color - 1] in (E4, E5, D4, D5) pychess-1.0.0/lib/pychess/Variants/horde.py0000644000175000017500000000215613353143212017725 0ustar varunvarun""" Horde Variant""" from pychess.Utils.const import HORDECHESS, VARIANTS_OTHER_NONSTANDARD from pychess.Utils.Board import Board HORDESTART = "rnbqkbnr/pppppppp/8/1PP2PP1/PPPPPPPP/PPPPPPPP/PPPPPPPP/PPPPPPPP w kq - 0 1" class HordeBoard(Board): """:Description: Lichess horde: https://lichess.org/variant/horde """ variant = HORDECHESS __desc__ = _("Black have to capture all white pieces to win.\n" + "White wants to checkmate as usual.\n" + "White pawns on the first rank may move two squares,\n" + "similar to pawns on the second rank.") name = _("Horde") cecp_name = "horde" need_initial_board = True standard_rules = False variant_group = VARIANTS_OTHER_NONSTANDARD FILES = 8 # We need additional holdings for captured white horde... HOLDING_FILES = ((FILES + 3, FILES + 2, FILES + 1), (-6, -5, -4, -3, -2)) def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=HORDESTART, lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) pychess-1.0.0/lib/pychess/Variants/queenodds.py0000755000175000017500000000140513353143212020612 0ustar varunvarun""" Queen Odds Variant""" from pychess.Utils.const import QUEENODDSCHESS, VARIANTS_ODDS from pychess.Utils.Board import Board QUEENODDSSTART = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNB1KBNR w KQkq - 0 1" class QueenOddsBoard(Board): """ :Description: Standard chess rules but one side starts without a queen""" variant = QUEENODDSCHESS __desc__ = _("One player starts with one less queen piece") name = _("Queen odds") cecp_name = "normal" need_initial_board = True standard_rules = True variant_group = VARIANTS_ODDS def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=QUEENODDSSTART, lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) pychess-1.0.0/lib/pychess/Variants/corner.py0000755000175000017500000000276413353143212020124 0ustar varunvarun# Corner Chess import random from pychess.Utils.const import VARIANTS_SHUFFLE, CORNERCHESS from pychess.Utils.Board import Board class CornerBoard(Board): variant = CORNERCHESS __desc__ = \ _("http://brainking.com/en/GameRules?tp=2\n" + "* Placement of the pieces on the 1st and 8th row are randomized\n" + "* The king is in the right hand corner\n" + "* Bishops must start on opposite color squares\n" + "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" + "* No castling") name = _("Corner") cecp_name = "nocastle" need_initial_board = True standard_rules = True variant_group = VARIANTS_SHUFFLE def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=self.shuffle_start(), lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) def shuffle_start(self): set1 = set2 = 0 back_rank = ['r', 'n', 'b', 'q', 'b', 'n', 'r'] while set1 % 2 == set2 % 2: random.shuffle(back_rank) set1 = back_rank.index('b') set2 = back_rank.index('b', set1 + 1) fen = ''.join(back_rank) fen = 'k' + fen + '/pppppppp/8/8/8/8/PPPPPPPP/' + fen[::-1].upper( ) + 'K w - - 0 1' return fen if __name__ == '__main__': Board = CornerBoard(True) for i in range(10): print(Board.shuffle_start()) pychess-1.0.0/lib/pychess/Variants/giveaway.py0000644000175000017500000000127313353143212020437 0ustar varunvarun""" Giveaway Variant""" from pychess.Utils.const import GIVEAWAYCHESS from .suicide import SuicideBoard class GiveawayBoard(SuicideBoard): """:Description: This is the international version of Losing chess used on ICC as Giveaway and on Lichess as Antichess You must capture if you can, and the object is to lose all your pieces or to have no moves left. But in Giveaway, the king is just like any other piece. It can move into check and be captured, and you can even promote pawns to kings. """ variant = GIVEAWAYCHESS __desc__ = _( "ICC giveaway: https://www.chessclub.com/user/help/Giveaway") name = _("Giveaway") cecp_name = "giveaway" pychess-1.0.0/lib/pychess/Variants/knightodds.py0000755000175000017500000000152013353143212020757 0ustar varunvarun""" Knightodds variant """ from pychess.Utils.const import KNIGHTODDSCHESS, VARIANTS_ODDS from pychess.Utils.Board import Board KNIGHTODDSSTART = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/R1BQKBNR w KQkq - 0 1" class KnightOddsBoard(Board): """:Description: Knight Odds variant plays with the same rules as normal chess but one side start the game with a knight missing """ variant = KNIGHTODDSCHESS __desc__ = _("One player starts with one less knight piece") name = _("Knight odds") cecp_name = "normal" need_initial_board = True standard_rules = True variant_group = VARIANTS_ODDS def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=KNIGHTODDSSTART, lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) pychess-1.0.0/lib/pychess/Variants/wildcastle.py0000644000175000017500000000234013353143212020752 0ustar varunvarun""" Wildcastle Chess variant """ from pychess.Utils.const import WILDCASTLECHESS, VARIANTS_OTHER_NONSTANDARD from pychess.Utils.Board import Board WILDCASTLESTART = "rnbkqbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1" class WildcastleBoard(Board): variant = WILDCASTLECHESS __desc__ = _("xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" + "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" + "* White has the typical set-up at the start.\n" + "* Black's pieces are the same, except that the King and Queen are reversed,\n" + "* so they are not on the same files as White's King and Queen.\n" + "* Castling is done similarly to normal chess:\n" + "* o-o-o indicates long castling and o-o short castling.") name = _("Wildcastle") cecp_name = "wildcastle" need_initial_board = True standard_rules = False variant_group = VARIANTS_OTHER_NONSTANDARD def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=WILDCASTLESTART, lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) pychess-1.0.0/lib/pychess/Variants/suicide.py0000755000175000017500000000556513353143212020263 0ustar varunvarun""" Suicide Variation""" from pychess.Utils.const import SUICIDECHESS, VARIANTS_OTHER_NONSTANDARD, KING_PROMOTION, \ QUEEN_PROMOTION, ROOK_PROMOTION, BISHOP_PROMOTION, KNIGHT_PROMOTION from pychess.Utils.Board import Board SUICIDESTART = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w - - 0 1" class SuicideBoard(Board): """:Description: This is the FICS version of Losing chess used on FICS as suicide chess. You must capture if you can, and the object is to lose all your pieces or to have no moves left. But in Suicide, the king is just like any other piece. It can move into check and be captured, and you can even promote pawns to kings. """ variant = SUICIDECHESS __desc__ = _( "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html") name = _("Suicide") cecp_name = "suicide" need_initial_board = True standard_rules = False variant_group = VARIANTS_OTHER_NONSTANDARD PROMOTIONS = (KING_PROMOTION, QUEEN_PROMOTION, ROOK_PROMOTION, BISHOP_PROMOTION, KNIGHT_PROMOTION) def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=SUICIDESTART, lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) def pieceCount(board, color): return bin(board.friends[color]).count("1") if __name__ == '__main__': from pychess.Utils.Move import Move from pychess.Utils.lutils.lmove import parseAN from pychess.Utils.lutils.lmovegen import genCaptures FEN = "rnbqk1nr/pppp1pPp/4p3/8/8/8/PPPbPPP1/RNBQKBNR b - - 7 4" game = SuicideBoard(SUICIDESTART) game = game.move(Move(parseAN(game.board, "h2h4"))) print(game.board.__repr__()) for move in genCaptures(game.board): print(Move(move)) game = game.move(Move(parseAN(game.board, "e7e6"))) print(game.board.__repr__()) for move in genCaptures(game.board): print(Move(move)) game = game.move(Move(parseAN(game.board, "h4h5"))) print(game.board.__repr__()) for move in genCaptures(game.board): print(Move(move)) game = game.move(Move(parseAN(game.board, "f8b4"))) print(game.board.__repr__()) for move in genCaptures(game.board): print(Move(move)) game = game.move(Move(parseAN(game.board, "h5h6"))) print(game.board.__repr__()) for move in genCaptures(game.board): print(Move(move)) game = game.move(Move(parseAN(game.board, "b4d2"))) print(game.board.__repr__()) for move in genCaptures(game.board): print(Move(move)) game = game.move(Move(parseAN(game.board, "h6g7"))) print(game.board.__repr__()) for move in genCaptures(game.board): print(Move(move)) game = game.move(Move(parseAN(game.board, "d2e1"))) print(game.board.__repr__()) for move in genCaptures(game.board): print(Move(move)) pychess-1.0.0/lib/pychess/Variants/pawnodds.py0000755000175000017500000000146313353143212020446 0ustar varunvarun""" Pawn Odds Variant""" from pychess.Utils.const import PAWNODDSCHESS, VARIANTS_ODDS from pychess.Utils.Board import Board PAWNODDSSTART = "rnbqkbnr/ppppp1pp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1" class PawnOddsBoard(Board): """:Description: A standard chess game where one side starts with one less pawn, this is known as giving pawn odds """ variant = PAWNODDSCHESS __desc__ = _("One player starts with one less pawn piece") name = _("Pawn odds") cecp_name = "normal" need_initial_board = True standard_rules = True variant_group = VARIANTS_ODDS def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=PAWNODDSSTART, lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) pychess-1.0.0/lib/pychess/Variants/__init__.py0000755000175000017500000001046713421053133020370 0ustar varunvarun from pychess.Utils.const import NORMALCHESS, CORNERCHESS, SHUFFLECHESS, FISCHERRANDOMCHESS, \ RANDOMCHESS, ASYMMETRICRANDOMCHESS, UPSIDEDOWNCHESS, PAWNSPUSHEDCHESS, THEBANCHESS, \ BUGHOUSECHESS, PAWNSPASSEDCHESS, ATOMICCHESS, CRAZYHOUSECHESS, LOSERSCHESS, SUICIDECHESS, \ PAWNODDSCHESS, KNIGHTODDSCHESS, ROOKODDSCHESS, QUEENODDSCHESS, ALLWHITECHESS, BLINDFOLDCHESS, \ HIDDENPIECESCHESS, HIDDENPAWNSCHESS, WILDCASTLECHESS, WILDCASTLESHUFFLECHESS, THREECHECKCHESS, \ AIWOKCHESS, KINGOFTHEHILLCHESS, ASEANCHESS, CAMBODIANCHESS, SITTUYINCHESS, EUROSHOGICHESS, \ RACINGKINGSCHESS, MAKRUKCHESS, SETUPCHESS, GIVEAWAYCHESS, HORDECHESS, PLACEMENTCHESS from .normal import NormalBoard from .corner import CornerBoard from .shuffle import ShuffleBoard from .fischerandom import FischerandomBoard from .randomchess import RandomBoard from .asymmetricrandom import AsymmetricRandomBoard from .upsidedown import UpsideDownBoard from .pawnspushed import PawnsPushedBoard from .pawnspassed import PawnsPassedBoard from .theban import ThebanBoard from .atomic import AtomicBoard from .bughouse import BughouseBoard from .crazyhouse import CrazyhouseBoard from .losers import LosersBoard from .suicide import SuicideBoard from .horde import HordeBoard from .giveaway import GiveawayBoard from .pawnodds import PawnOddsBoard from .knightodds import KnightOddsBoard from .rookodds import RookOddsBoard from .queenodds import QueenOddsBoard from .wildcastle import WildcastleBoard from .wildcastleshuffle import WildcastleShuffleBoard from .blindfold import BlindfoldBoard, HiddenPawnsBoard, HiddenPiecesBoard, AllWhiteBoard from .kingofthehill import KingOfTheHillBoard from .threecheck import ThreeCheckBoard from .racingkings import RacingKingsBoard from .asean import AiWokBoard, AseanBoard, CambodianBoard, MakrukBoard, SittuyinBoard from .euroshogi import EuroShogiBoard from .setupposition import SetupBoard from .placement import PlacementBoard variants = {NORMALCHESS: NormalBoard, CORNERCHESS: CornerBoard, SHUFFLECHESS: ShuffleBoard, FISCHERRANDOMCHESS: FischerandomBoard, RANDOMCHESS: RandomBoard, ASYMMETRICRANDOMCHESS: AsymmetricRandomBoard, UPSIDEDOWNCHESS: UpsideDownBoard, PAWNSPUSHEDCHESS: PawnsPushedBoard, PAWNSPASSEDCHESS: PawnsPassedBoard, THEBANCHESS: ThebanBoard, ATOMICCHESS: AtomicBoard, BUGHOUSECHESS: BughouseBoard, CRAZYHOUSECHESS: CrazyhouseBoard, LOSERSCHESS: LosersBoard, SUICIDECHESS: SuicideBoard, GIVEAWAYCHESS: GiveawayBoard, HORDECHESS: HordeBoard, PAWNODDSCHESS: PawnOddsBoard, KNIGHTODDSCHESS: KnightOddsBoard, ROOKODDSCHESS: RookOddsBoard, QUEENODDSCHESS: QueenOddsBoard, ALLWHITECHESS: AllWhiteBoard, BLINDFOLDCHESS: BlindfoldBoard, HIDDENPAWNSCHESS: HiddenPawnsBoard, HIDDENPIECESCHESS: HiddenPiecesBoard, WILDCASTLECHESS: WildcastleBoard, WILDCASTLESHUFFLECHESS: WildcastleShuffleBoard, KINGOFTHEHILLCHESS: KingOfTheHillBoard, THREECHECKCHESS: ThreeCheckBoard, RACINGKINGSCHESS: RacingKingsBoard, AIWOKCHESS: AiWokBoard, ASEANCHESS: AseanBoard, CAMBODIANCHESS: CambodianBoard, MAKRUKCHESS: MakrukBoard, SITTUYINCHESS: SittuyinBoard, EUROSHOGICHESS: EuroShogiBoard, SETUPCHESS: SetupBoard, PLACEMENTCHESS: PlacementBoard, } name2variant = dict([(v.cecp_name.capitalize(), v) for v in variants.values()]) # FICS pgn export names name2variant["Wild/0"] = WildcastleBoard name2variant["Wild/1"] = WildcastleShuffleBoard name2variant["Wild/2"] = ShuffleBoard name2variant["Wild/3"] = RandomBoard name2variant["Wild/4"] = AsymmetricRandomBoard name2variant["Wild/5"] = UpsideDownBoard name2variant["Wild/fr"] = FischerandomBoard name2variant["Wild/8"] = PawnsPushedBoard name2variant["Wild/8a"] = PawnsPassedBoard # Lichess pgn export names name2variant["Standard"] = NormalBoard name2variant["Antichess"] = SuicideBoard name2variant["King of the hill"] = KingOfTheHillBoard name2variant["Three-check"] = ThreeCheckBoard name2variant["Racing kings"] = RacingKingsBoard name2variant["Horde"] = HordeBoard pychess-1.0.0/lib/pychess/Variants/asymmetricrandom.py0000755000175000017500000001005313353143212022200 0ustar varunvarun# AsymmetricRandom Chess import random from pychess.Utils.const import VARIANTS_SHUFFLE, ASYMMETRICRANDOMCHESS from pychess.Utils.Board import Board class AsymmetricRandomBoard(Board): variant = ASYMMETRICRANDOMCHESS __desc__ = \ _("FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" + "* Randomly chosen pieces (two queens or three rooks possible)\n" + "* Exactly one king of each color\n" + "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" + "* No castling\n" + "* Black's arrangement DOES NOT mirrors white's") name = _("Asymmetric Random") cecp_name = "wild/4" need_initial_board = True standard_rules = True variant_group = VARIANTS_SHUFFLE def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=self.asymmetricrandom_start(), lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) def asymmetricrandom_start(self): white = random.sample(('r', 'n', 'b', 'q') * 16, 7) white.append('k') black = white[:] random.shuffle(white) random.shuffle(black) # balance the bishops (put them on equal numbers of dark and light squares) whitedarkbishops = 0 whitelightbishops = 0 for index, piece in enumerate(white): if piece == 'b': if index % 2 == 0: # even numbered square on the A rank are dark whitedarkbishops += 1 else: whitelightbishops += 1 blackdarkbishops = 0 blacklightbishops = 0 blackbishoprandomindexstack = [] for index, piece in enumerate(black): if piece == 'b': if index % 2 == 1: # odd numbered squares on the H rank are dark blackdarkbishops += 1 else: blacklightbishops += 1 blackbishoprandomindexstack.append(index) random.shuffle(blackbishoprandomindexstack) class RandomEnumeratePieces: def __init__(self, pieces): self.pieces = pieces[:] self.randomindexstack = list(range(8)) random.shuffle(self.randomindexstack) def __iter__(self): return self def __next__(self): if not self.randomindexstack: raise StopIteration else: randomindex = self.randomindexstack.pop() return randomindex, self.pieces[randomindex] while (whitedarkbishops != blackdarkbishops) or \ (whitelightbishops != blacklightbishops): bishopindex = blackbishoprandomindexstack.pop() for index, piece in RandomEnumeratePieces(black): if piece != 'b': if ((blackdarkbishops > whitedarkbishops) and (bishopindex % 2 == 1) and (index % 2 == 0)): black[bishopindex] = piece black[index] = 'b' blacklightbishops += 1 blackdarkbishops = blackdarkbishops > 0 and ( blackdarkbishops - 1) or 0 break elif ((blacklightbishops > whitelightbishops) and (bishopindex % 2 == 0) and (index % 2 == 1)): black[bishopindex] = piece black[index] = 'b' blackdarkbishops += 1 blacklightbishops = blacklightbishops > 0 and ( blacklightbishops - 1) or 0 break tmp = ''.join(black) + '/pppppppp/8/8/8/8/PPPPPPPP/' + \ ''.join(white).upper() + ' w - - 0 1' return tmp if __name__ == '__main__': Board = AsymmetricRandomBoard(True) for i in range(10): print(Board.asymmetricrandom_start()) pychess-1.0.0/lib/pychess/Variants/randomchess.py0000755000175000017500000000307113353143212021132 0ustar varunvarun""" Random Chess """ import random from pychess.Utils.const import RANDOMCHESS, VARIANTS_SHUFFLE from pychess.Utils.Board import Board class RandomBoard(Board): """ :Description: * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns * No castling * Black's arrangement mirrors white's """ variant = RANDOMCHESS __desc__ = _("FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" + "* Randomly chosen pieces (two queens or three rooks possible)\n" + "* Exactly one king of each color\n" + "* Pieces placed randomly behind the pawns\n" + "* No castling\n" + "* Black's arrangement mirrors white's") name = _("Random") cecp_name = "wild/3" need_initial_board = True standard_rules = True variant_group = VARIANTS_SHUFFLE def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=self.random_start(), lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) def random_start(self): back_rank = random.sample(('r', 'n', 'b', 'q') * 16, 7) back_rank.append('k') random.shuffle(back_rank) fen = ''.join(back_rank) fen = fen + '/pppppppp/8/8/8/8/PPPPPPPP/' + fen.upper() + ' w - - 0 1' return fen if __name__ == '__main__': Board = RandomBoard(True) for i in range(10): print(Board.random_start()) pychess-1.0.0/lib/pychess/Variants/euroshogi.py0000644000175000017500000000236413353143212020631 0ustar varunvarunfrom pychess.Utils.const import EUROSHOGICHESS, VARIANTS_OTHER_NONSTANDARD, \ A8, B8, C8, D8, E8, F8, G8, H8, \ A7, B7, C7, D7, E7, F7, G7, H7, \ A6, B6, C6, D6, E6, F6, G6, H6, \ A1, B1, C1, D1, E1, F1, G1, H1, \ A2, B2, C2, D2, E2, F2, G2, H2, \ A3, B3, C3, D3, E3, F3, G3, H3 from pychess.Utils.Board import Board EUROSHOGISTART = "1nbqkqn1/1r4b1/pppppppp/8/8/PPPPPPPP/1B4R1/1NQKQBN1 w - - 0 1" class EuroShogiBoard(Board): variant = EUROSHOGICHESS __desc__ = _("EuroShogi: http://en.wikipedia.org/wiki/EuroShogi") name = _("EuroShogi") cecp_name = "euroshogi" need_initial_board = True standard_rules = False variant_group = VARIANTS_OTHER_NONSTANDARD PROMOTION_ZONE = ((A8, B8, C8, D8, E8, F8, G8, H8, A7, B7, C7, D7, E7, F7, G7, H7, A6, B6, C6, D6, E6, F6, G6, H6), (A1, B1, C1, D1, E1, F1, G1, H1, A2, B2, C2, D2, E2, F2, G2, H2, A3, B3, C3, D3, E3, F3, G3, H3)) def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=EUROSHOGISTART, lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) pychess-1.0.0/lib/pychess/Variants/normal.py0000755000175000017500000000054713353143212020121 0ustar varunvarun""" Standard Chess game""" from pychess.Utils.Board import Board class NormalBoard(Board): """:Description: A standard chess game board setup """ __desc__ = _("Classic chess rules\n" + "http://en.wikipedia.org/wiki/Chess") name = _("Normal") cecp_name = "normal" need_initial_board = False standard_rules = True pychess-1.0.0/lib/pychess/Variants/pawnspushed.py0000755000175000017500000000172313353143212021167 0ustar varunvarun"""Pawns Pushed Chess""" from pychess.Utils.const import PAWNSPUSHEDCHESS, VARIANTS_OTHER from pychess.Utils.Board import Board PAWNSPUSHEDSTART = "rnbqkbnr/8/8/pppppppp/PPPPPPPP/8/8/RNBQKBNR w - - 0 1" class PawnsPushedBoard(Board): """:Description: Standard chess rules but the start setup position is all the white pawns start on the 4th rank and all the black pawns start on the 5th rank """ variant = PAWNSPUSHEDCHESS __desc__ = _("FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" + "Pawns start on 4th and 5th ranks rather than 2nd and 7th") name = _("Pawns Pushed") cecp_name = "normal" need_initial_board = True standard_rules = True variant_group = VARIANTS_OTHER def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=PAWNSPUSHEDSTART, lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) pychess-1.0.0/lib/pychess/Variants/placement.py0000644000175000017500000000155413365545272020614 0ustar varunvarunfrom pychess.Utils.const import PLACEMENTCHESS, VARIANTS_OTHER_NONSTANDARD from pychess.Utils.Board import Board # Placement chess (Bronstein/Benko/Pre-chess) # http://www.quantumgambitz.com/blog/chess/cga/bronstein-chess-pre-chess-shuffle-chess PLACEMENTSTART = "8/pppppppp/8/8/8/8/PPPPPPPP/8/nnbbrrqkNNBBRRQK w - - 0 1" class PlacementBoard(Board): variant = PLACEMENTCHESS __desc__ = _("Pre-chess: https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position") name = _("Placement") cecp_name = "placement" need_initial_board = True standard_rules = False variant_group = VARIANTS_OTHER_NONSTANDARD def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=PLACEMENTSTART, lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) pychess-1.0.0/lib/pychess/Variants/losers.py0000755000175000017500000000151413353143212020133 0ustar varunvarun""" Losers Variant""" from pychess.Utils.const import LOSERSCHESS, VARIANTS_OTHER_NONSTANDARD from pychess.Utils.Board import Board class LosersBoard(Board): """:Description: The Losers variant is a game where the concept is to get rid of all your pieces before you opponent does. On a players turn if a piece can be taken it must be taken otherwise a normal chess move can be played """ variant = LOSERSCHESS __desc__ = _("FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html") name = _("Losers") cecp_name = "losers" need_initial_board = False standard_rules = False variant_group = VARIANTS_OTHER_NONSTANDARD def testKingOnly(board): """ Checks to see if if a winning position has been acheived """ return bin(board.friends[board.color]).count("1") == 1 pychess-1.0.0/lib/pychess/Variants/wildcastleshuffle.py0000644000175000017500000000476613353143212022345 0ustar varunvarun""" Wildcastle shuffle Chess """ import random from pychess.Utils.const import WILDCASTLESHUFFLECHESS, VARIANTS_OTHER_NONSTANDARD from pychess.Utils.Board import Board class WildcastleShuffleBoard(Board): variant = WILDCASTLESHUFFLECHESS __desc__ = _("xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" + "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" + "* In this variant both sides have the same set of pieces as in normal chess.\n" + "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" + "* and the rooks are in their usual positions.\n" + "* Bishops are always on opposite colors.\n" + "* Subject to these constraints the position of the \ pieces on their first ranks is random.\n" + "* Castling is done similarly to normal chess:\n" + "* o-o-o indicates long castling and o-o short castling.") name = _("Wildcastle shuffle") cecp_name = "wildcastle" need_initial_board = True standard_rules = False variant_group = VARIANTS_OTHER_NONSTANDARD def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=self.shuffle_start(), lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) def shuffle_start(self): def get_shuffle(): positions = [2, 3, 4, 5, 6, 7] back_rank = ['r'] + ([''] * 6) + ['r'] king = random.choice((4, 5)) back_rank[king - 1] = 'k' positions.remove(king) bishop = random.choice(positions) back_rank[bishop - 1] = 'b' positions.remove(bishop) color = bishop % 2 bishop = random.choice([i for i in positions if i % 2 != color]) back_rank[bishop - 1] = 'b' positions.remove(bishop) queen = random.choice(positions) back_rank[queen - 1] = 'q' positions.remove(queen) knight = random.choice(positions) back_rank[knight - 1] = 'n' positions.remove(knight) knight = random.choice(positions) back_rank[knight - 1] = 'n' positions.remove(knight) return ''.join(back_rank) fen = get_shuffle() + '/pppppppp/8/8/8/8/PPPPPPPP/' + \ get_shuffle().upper() + ' w KQkq - 0 1' return fen pychess-1.0.0/lib/pychess/Variants/threecheck.py0000644000175000017500000000207113402445260020730 0ustar varunvarun""" Three-check Chess Variant """ from pychess.Utils.const import THREECHECKCHESS, VARIANTS_OTHER_NONSTANDARD from pychess.Utils.Board import Board THREECHECKSTART = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 3+3 0 1" class ThreeCheckBoard(Board): variant = THREECHECKCHESS __desc__ = _("Win by giving check 3 times") name = _("Three-check") cecp_name = "3check" need_initial_board = False standard_rules = False variant_group = VARIANTS_OTHER_NONSTANDARD def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=THREECHECKSTART, lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) def checkCount(board, color): lboard = board.clone() if color != board.color and lboard.hist_move: lboard.popMove() cc = 3 - board.remaining_checks[board.color] while lboard.hist_move: if lboard.isChecked(): cc += 1 lboard.popMove() if lboard.hist_move: lboard.popMove() return cc pychess-1.0.0/lib/pychess/Variants/crazyhouse.py0000755000175000017500000000071313353143212021020 0ustar varunvarun# Crazyhouse Chess from pychess.Utils.const import CRAZYHOUSECHESS, VARIANTS_OTHER_NONSTANDARD from pychess.Utils.Board import Board class CrazyhouseBoard(Board): variant = CRAZYHOUSECHESS __desc__ = _( "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html") name = _("Crazyhouse") cecp_name = "crazyhouse" need_initial_board = False standard_rules = False variant_group = VARIANTS_OTHER_NONSTANDARD pychess-1.0.0/lib/pychess/Variants/asean.py0000644000175000017500000001050113420731632017710 0ustar varunvarun############# # ASEAN-Chess ############# from pychess.Utils.const import VARIANTS_ASEAN, ASEANCHESS, MAKRUKCHESS, \ QUEEN_PROMOTION, CAMBODIANCHESS, AIWOKCHESS, SITTUYINCHESS, NORMAL_MOVE, \ A1, A3, A6, A8, B2, B3, B6, B7, \ C3, C6, D3, D4, D5, D6, \ E3, E4, E5, E6, F3, F6, \ G2, G3, G6, G7, H1, H3, H6, H8 from pychess.Utils.Board import Board ASEANSTART = "rnbqkbnr/8/pppppppp/8/8/PPPPPPPP/8/RNBQKBNR w - - 0 1" class AseanBoard(Board): variant = ASEANCHESS __desc__ = _( "ASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc") name = _("ASEAN") cecp_name = "asean" need_initial_board = True standard_rules = False variant_group = VARIANTS_ASEAN def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=ASEANSTART, lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) ####################### # Makruk, or Thai chess ####################### MAKRUKSTART = "rnsmksnr/8/pppppppp/8/8/PPPPPPPP/8/RNSKMSNR w - - 0 1" class MakrukBoard(Board): variant = MAKRUKCHESS __desc__ = _("Makruk: http://en.wikipedia.org/wiki/Makruk") name = _("Makruk") cecp_name = "makruk" need_initial_board = True standard_rules = False variant_group = VARIANTS_ASEAN PROMOTION_ZONE = ((A6, B6, C6, D6, E6, F6, G6, H6), (A3, B3, C3, D3, E3, F3, G3, H3)) PROMOTIONS = (QUEEN_PROMOTION, ) def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=MAKRUKSTART, lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) ################################## # Ouk Chatrang, or Cambodian Makruk ################################## # DEde in cambodian starting fen indicate # that queens and kings are virgins (not moved yet) KAMBODIANSTART = "rnsmksnr/8/pppppppp/8/8/PPPPPPPP/8/RNSKMSNR w DEde - 0 1" class CambodianBoard(Board): variant = CAMBODIANCHESS __desc__ = _("Cambodian: http://www.khmerinstitute.org/culture/ok.html") name = _("Cambodian") cecp_name = "cambodian" need_initial_board = True standard_rules = False variant_group = VARIANTS_ASEAN PROMOTION_ZONE = ((A6, B6, C6, D6, E6, F6, G6, H6), (A3, B3, C3, D3, E3, F3, G3, H3)) PROMOTIONS = (QUEEN_PROMOTION, ) def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=KAMBODIANSTART, lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) ############### # Ai-Wok Makruk ############### AIWOKSTART = "rnsaksnr/8/pppppppp/8/8/PPPPPPPP/8/RNSKASNR w - - 0 1" class AiWokBoard(Board): variant = AIWOKCHESS __desc__ = _( "Ai-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364") name = _("Ai-Wok") cecp_name = "ai-wok" need_initial_board = True standard_rules = False variant_group = VARIANTS_ASEAN PROMOTION_ZONE = ((A6, B6, C6, D6, E6, F6, G6, H6), (A3, B3, C3, D3, E3, F3, G3, H3)) PROMOTIONS = (QUEEN_PROMOTION, ) def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=AIWOKSTART, lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) ############################ # Sittuyin, or Myanmar Chess ############################ # Official rules: # https://vdocuments.net/how-to-play-myanmar-traditional-chess-eng-book-1.html SITTUYINSTART = "8/8/4pppp/pppp4/4PPPP/PPPP4/8/8/rrnnssfkRRNNSSFK w - - 0 1" class SittuyinBoard(Board): variant = SITTUYINCHESS __desc__ = _("Sittuyin: http://en.wikipedia.org/wiki/Sittuyin") name = _("Sittuyin") cecp_name = "sittuyin" need_initial_board = True standard_rules = False variant_group = VARIANTS_ASEAN PROMOTION_ZONE = ((A8, B7, C6, D5, E5, F6, G7, H8), (A1, B2, C3, D4, E4, F3, G2, H1)) PROMOTIONS = (QUEEN_PROMOTION, NORMAL_MOVE) def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=SITTUYINSTART, lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) pychess-1.0.0/lib/pychess/Variants/fischerandom.py0000755000175000017500000000420413353143212021265 0ustar varunvarun# Chess960 (Fischer Random Chess) import random from pychess.Utils.const import FISCHERRANDOMCHESS, VARIANTS_SHUFFLE from pychess.Utils.Board import Board from pychess.Utils.const import reprFile class FischerandomBoard(Board): variant = FISCHERRANDOMCHESS __desc__ = _( "http://en.wikipedia.org/wiki/Chess960\n" + "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html") name = _("Fischer Random") cecp_name = "fischerandom" need_initial_board = True standard_rules = False variant_group = VARIANTS_SHUFFLE def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=self.shuffle_start(), lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) def shuffle_start(self): """ Create a random initial position. The king is placed somewhere between the two rooks. The bishops are placed on opposite-colored squares.""" positions = [1, 2, 3, 4, 5, 6, 7, 8] board = [''] * 8 castl = '' bishop = random.choice((1, 3, 5, 7)) board[bishop - 1] = 'b' positions.remove(bishop) bishop = random.choice((2, 4, 6, 8)) board[bishop - 1] = 'b' positions.remove(bishop) queen = random.choice(positions) board[queen - 1] = 'q' positions.remove(queen) knight = random.choice(positions) board[knight - 1] = 'n' positions.remove(knight) knight = random.choice(positions) board[knight - 1] = 'n' positions.remove(knight) rook = positions[0] board[rook - 1] = 'r' castl += reprFile[rook - 1] king = positions[1] board[king - 1] = 'k' rook = positions[2] board[rook - 1] = 'r' castl += reprFile[rook - 1] fen = ''.join(board) fen = fen + '/pppppppp/8/8/8/8/PPPPPPPP/' + fen.upper( ) + ' w ' + castl.upper() + castl + ' - 0 1' return fen if __name__ == '__main__': frcBoard = FischerandomBoard(True) for i in range(10): print(frcBoard.shuffle_start()) pychess-1.0.0/lib/pychess/Variants/setupposition.py0000755000175000017500000000541513402331120021545 0ustar varunvarunfrom pychess.Utils.const import SETUPCHESS, VARIANTS_OTHER, BLACK, reprSign from pychess.Utils.Board import Board from pychess.Utils.Piece import Piece from pychess.Utils.lutils.LBoard import LBoard SETUPSTART = "4k3/8/8/8/8/8/8/4K3 w - - 0 1" class SetupBoard(Board): variant = SETUPCHESS __desc__ = "" name = "" cecp_name = "" standard_rules = False variant_group = VARIANTS_OTHER PROMOTION_ZONE = ((), ()) PROMOTIONS = () def __init__(self, setup=True, lboard=None): fenstr = SETUPSTART if setup is True else setup # add all kind of pieces to holdings parts = fenstr.split() parts[0] += "/prnsqkPRNSQK" fenstr = " ".join(parts) if lboard is not None: Board.__init__(self, setup=fenstr, lboard=lboard) else: Board.__init__(self, setup=fenstr) self._ply = 0 def _get_ply(self): return self._ply ply = property(_get_ply) def simulateMove(self, board, move): moved = [] new = [] dead = [] cord0, cord1 = move.cord0, move.cord1 if cord1.x < 0 or cord1.x > self.FILES - 1: dead.append(self[cord0]) else: moved.append((self[cord0], cord0)) return moved, new, dead def move(self, move, color): new_board = self.clone() new_board._ply = self._ply + 1 cord0, cord1 = move.cord0, move.cord1 if cord0.x < 0 or cord0.x > self.FILES - 1 and \ (cord1.x >= 0 and cord1.x <= 7): new_board[cord1] = new_board[cord0] new_board[cord0] = Piece(color, self[cord0].sign) elif cord1.x < 0 or cord1.x > self.FILES - 1: new_board[cord0] = None else: new_board[cord1] = new_board[cord0] new_board[cord0] = None return new_board def as_fen(self, variant): fenstr = [] for r, row in enumerate(reversed(self.data)): empty = 0 for i in range(0, 8): piece = row.get(i) if piece is not None: if empty > 0: fenstr.append(str(empty)) empty = 0 sign = reprSign[piece.piece] if piece.color == BLACK: sign = sign.lower() else: sign = sign.upper() fenstr.append(sign) else: empty += 1 if empty > 0: fenstr.append(str(empty)) if r != 7: fenstr.append("/") board = LBoard(variant) board.applyFen("".join(fenstr) + " w") return board.asFen().split()[0] def __repr__(self): return self.as_fen() pychess-1.0.0/lib/pychess/Variants/pawnspassed.py0000755000175000017500000000175113353143212021157 0ustar varunvarun""" Pawns Passed Chess """ from pychess.Utils.const import PAWNSPASSEDCHESS, VARIANTS_OTHER from pychess.Utils.Board import Board PAWNSPASSEDSTART = "rnbqkbnr/8/8/PPPPPPPP/pppppppp/8/8/RNBQKBNR w - - 0 1" class PawnsPassedBoard(Board): """:Description: Standard chess game rules, but where the board setup is defined as all the white pawns start on the 5th rank and all the black pawns start on the 4th rank """ variant = PAWNSPASSEDCHESS __desc__ = _("FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" + "White pawns start on 5th rank and black pawns on the 4th rank") name = _("Pawns Passed") cecp_name = "normal" need_initial_board = True standard_rules = True variant_group = VARIANTS_OTHER def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=PAWNSPASSEDSTART, lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) pychess-1.0.0/lib/pychess/Variants/bughouse.py0000755000175000017500000000067313353143212020452 0ustar varunvarun# Bughouse Chess from pychess.Utils.const import VARIANTS_OTHER_NONSTANDARD, BUGHOUSECHESS from pychess.Utils.Board import Board class BughouseBoard(Board): variant = BUGHOUSECHESS __desc__ = _( "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html") name = _("Bughouse") cecp_name = "bughouse" need_initial_board = False standard_rules = False variant_group = VARIANTS_OTHER_NONSTANDARD pychess-1.0.0/lib/pychess/Variants/racingkings.py0000644000175000017500000000342513403000041021107 0ustar varunvarun""" The Racing Kings Variation""" from pychess.Utils.const import RACINGKINGSCHESS, VARIANTS_OTHER_NONSTANDARD, \ A8, B8, C8, D8, E8, F8, G8, H8 from pychess.Utils.Board import Board RACINGKINGSSTART = "8/8/8/8/8/8/krbnNBRK/qrbnNBRQ w - - 0 1" RANK8 = (A8, B8, C8, D8, E8, F8, G8, H8) class RacingKingsBoard(Board): """ :Description: The Racing Kings variation is where the object of the game is to bring your king to the eight row. """ variant = RACINGKINGSCHESS __desc__ = _( "In this game, check is entirely forbidden: not only is it forbidden\n" + "to move ones king into check, but it is also forbidden to check the opponents king.\n" + "The purpose of the game is to be the first player that moves his king to the eight row.\n" + "When white moves their king to the eight row, and black moves directly after that also\n" + "their king to the last row, the game is a draw\n" + "(this rule is to compensate for the advantage of white that they may move first.)\n" + "Apart from the above, pieces move and capture precisely as in normal chess." ) name = _("Racing Kings") cecp_name = "racingkings" need_initial_board = True standard_rules = False variant_group = VARIANTS_OTHER_NONSTANDARD def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=RACINGKINGSSTART, lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) def testKingInEightRow(board): """ Test for a winning position """ return board.kings[board.color - 1] in RANK8 def test2KingInEightRow(board): """ Test for a winning position """ return board.kings[board.color] in RANK8 and board.kings[board.color - 1] in RANK8 pychess-1.0.0/lib/pychess/Variants/upsidedown.py0000755000175000017500000000161713353143212021011 0ustar varunvarun""" Upside-down Chess variant""" from pychess.Utils.const import UPSIDEDOWNCHESS, VARIANTS_OTHER from pychess.Utils.Board import Board UPSIDEDOWNSTART = "RNBQKBNR/PPPPPPPP/8/8/8/8/pppppppp/rnbqkbnr w - - 0 1" class UpsideDownBoard(Board): variant = UPSIDEDOWNCHESS __desc__ = _("FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" + "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" + "Pawns start on their 7th rank rather than their 2nd rank!") name = _("Upside Down") cecp_name = "normal" need_initial_board = True standard_rules = True variant_group = VARIANTS_OTHER def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=UPSIDEDOWNSTART, lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) pychess-1.0.0/lib/pychess/Variants/shuffle.py0000755000175000017500000000262013353143212020257 0ustar varunvarun""" Shuffle Variant""" import random from pychess.Utils.const import SHUFFLECHESS, VARIANTS_SHUFFLE from pychess.Utils.Board import Board class ShuffleBoard(Board): """:Description: The shuffle variant uses the standard chess rules with the exception no castling is allowed and the back rank is shuffled around """ variant = SHUFFLECHESS __desc__ = _( "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" + "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" + "* Random arrangement of the pieces behind the pawns\n" + "* No castling\n" + "* Black's arrangement mirrors white's") name = _("Shuffle") cecp_name = "nocastle" need_initial_board = True standard_rules = True variant_group = VARIANTS_SHUFFLE def __init__(self, setup=False, lboard=None): if setup is True: Board.__init__(self, setup=self.shuffle_start(), lboard=lboard) else: Board.__init__(self, setup=setup, lboard=lboard) def shuffle_start(self): back_rank = ['r', 'n', 'b', 'q', 'k', 'b', 'n', 'r'] random.shuffle(back_rank) fen = ''.join(back_rank) fen = fen + '/pppppppp/8/8/8/8/PPPPPPPP/' + fen.upper() + ' w - - 0 1' return fen if __name__ == '__main__': Board = ShuffleBoard(True) for i in range(10): print(Board.shuffle_start()) pychess-1.0.0/lib/pychess/Variants/blindfold.py0000644000175000017500000000275713353143212020570 0ustar varunvarunfrom pychess.Utils.const import VARIANTS_BLINDFOLD, BLINDFOLDCHESS, HIDDENPAWNSCHESS, \ HIDDENPIECESCHESS, ALLWHITECHESS from pychess.Utils.Board import Board class BlindfoldBoard(Board): variant = BLINDFOLDCHESS __desc__ = _("Classic chess rules with hidden figurines\n" + "http://en.wikipedia.org/wiki/Blindfold_chess") name = _("Blindfold") cecp_name = "normal" need_initial_board = False standard_rules = True variant_group = VARIANTS_BLINDFOLD class HiddenPawnsBoard(Board): variant = HIDDENPAWNSCHESS __desc__ = _("Classic chess rules with hidden pawns\n" + "http://en.wikipedia.org/wiki/Blindfold_chess") name = _("Hidden pawns") cecp_name = "normal" need_initial_board = False standard_rules = True variant_group = VARIANTS_BLINDFOLD class HiddenPiecesBoard(Board): variant = HIDDENPIECESCHESS __desc__ = _("Classic chess rules with hidden pieces\n" + "http://en.wikipedia.org/wiki/Blindfold_chess") name = _("Hidden pieces") cecp_name = "normal" need_initial_board = False standard_rules = True variant_group = VARIANTS_BLINDFOLD class AllWhiteBoard(Board): variant = ALLWHITECHESS __desc__ = _("Classic chess rules with all pieces white\n" + "http://en.wikipedia.org/wiki/Blindfold_chess") name = _("All white") cecp_name = "normal" need_initial_board = False standard_rules = True variant_group = VARIANTS_BLINDFOLD pychess-1.0.0/lib/pychess/Variants/atomic.py0000755000175000017500000000422013353143212020075 0ustar varunvarun# Atomic Chess from pychess.Utils.const import VARIANTS_OTHER_NONSTANDARD, KING, ATOMICCHESS, ENPASSANT, \ B8, E1 from pychess.Utils.Board import Board from pychess.Utils.Cord import Cord from pychess.Utils.Move import Move from pychess.Utils.lutils.bitboard import iterBits from pychess.Utils.lutils.ldata import moveArray class AtomicBoard(Board): variant = ATOMICCHESS __desc__ = _( "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html") name = _("Atomic") cecp_name = "atomic" need_initial_board = False standard_rules = False variant_group = VARIANTS_OTHER_NONSTANDARD def cordsAround(cord): kingMoves = moveArray[KING] for co_ord in iterBits(kingMoves[cord.cord]): yield Cord(co_ord) def piecesAround(board, cord): kingMoves = moveArray[KING] friends = board.friends[board.color] for co_ord in iterBits(kingMoves[cord] & friends): yield co_ord, board.arBoard[co_ord], board.color enemies = board.friends[1 - board.color] for co_ord in iterBits(kingMoves[cord] & enemies): yield co_ord, board.arBoard[co_ord], 1 - board.color def kingExplode(board, move, color): tcord = move & 63 # fcord = (move >> 6) & 63 flag = move >> 12 if board.arBoard[tcord] or flag == ENPASSANT: for acord, apiece, acolor in piecesAround(board, tcord): if apiece == KING and acolor == color: return True return False if __name__ == '__main__': FEN = "rnbqkbnr/ppp1pppp/8/8/8/8/PPPPPPPP/RNBQKBNR b KQkq - 0 1" atomic_board = AtomicBoard(FEN) print(atomic_board.board.__repr__()) for acord, apiece, acolor in piecesAround(atomic_board.board, B8): print(acord, apiece, acolor) for acord, apiece, acolor in piecesAround(atomic_board.board, E1): print(acord, apiece, acolor) from pychess.Utils.lutils.lmove import parseAN atomic_board = atomic_board.move(Move(parseAN(atomic_board.board, "d8d2"))) print(atomic_board.board.__repr__()) print(atomic_board.board.pieceCount) atomic_board.board.popMove() print(atomic_board.board.__repr__()) print(atomic_board.board.pieceCount) pychess-1.0.0/lib/pychess/compat.py0000644000175000017500000000013613365545272016333 0ustar varunvarunimport asyncio def create_task(coro): return asyncio.get_event_loop().create_task(coro) pychess-1.0.0/lib/pychess/Database/0000755000175000017500000000000013467766037016211 5ustar varunvarunpychess-1.0.0/lib/pychess/Database/dbwalk.py0000644000175000017500000000276113353143212020007 0ustar varunvarunfrom pychess.Utils.const import DROP from pychess.Utils.lutils.lmovegen import newMove MAXMOVE = newMove(63, 63, DROP) COMMENT, VARI_START, VARI_END, NAG = (MAXMOVE + i + 1 for i in range(4)) def walk(node, arr, txt): """Prepares a game data for databse. Recursively walks the node tree to collect moves and comments. Arguments: node - list (a tree of lboards created by the pgn parser) arr - array("H") (2 byte unsigned ints representing lmove objects or COMMENT, VARI_START, VARI_END, NAG+nag) txt - list (comment strings)""" arr_append = arr.append while True: if node is None: break # Initial game or variation comment if node.prev is None: for child in node.children: if isinstance(child, str): arr_append(COMMENT) txt.append(child) node = node.next continue arr_append(node.lastMove) for nag in node.nags: if nag: arr_append(NAG + int(nag[1:])) for child in node.children: if isinstance(child, str): # comment arr_append(COMMENT) txt.append(child) else: # variations arr_append(VARI_START) walk(child[0], arr, txt) arr_append(VARI_END) if node.next: node = node.next else: break pychess-1.0.0/lib/pychess/Database/__init__.py0000755000175000017500000000000013353143212020265 0ustar varunvarunpychess-1.0.0/lib/pychess/Database/JvR.py0000644000175000017500000001464013353143212017243 0ustar varunvarun# Chess Analyses by Jan van Reek # http://www.endgame.nl/index.html JvR_links = ( ("http://www.endgame.nl/match.htm", "http://www.endgame.nl/MATCHPGN.ZIP"), ("http://www.endgame.nl/bad1870.htm", "http://www.endgame.nl/bad1870.pgn"), ("http://www.endgame.nl/wfairs.htm", "http://www.endgame.nl/wfairs.pgn"), ("http://www.endgame.nl/russia.html", "http://www.endgame.nl/Russia.pgn"), ("http://www.endgame.nl/wien.htm", "http://www.endgame.nl/wien.pgn"), ("http://www.endgame.nl/london1883.htm", "http://www.endgame.nl/london.pgn"), ("http://www.endgame.nl/neur1896.htm", "http://www.endgame.nl/neur1896.pgn"), ("http://www.endgame.nl/newyork.htm", "http://www.endgame.nl/newy.pgn"), ("http://www.endgame.nl/seaside.htm", "http://www.endgame.nl/seaside.pgn"), ("http://www.endgame.nl/CSpr1904.htm", "http://www.endgame.nl/cs1904.pgn"), ("http://www.endgame.nl/stpeter.htm", "http://www.endgame.nl/stp1909.pgn"), ("http://www.endgame.nl/stpeter.htm", "http://www.endgame.nl/stp1914.pgn"), ("http://www.endgame.nl/berlin1928.htm", "http://www.endgame.nl/berlin.pgn"), ("http://www.endgame.nl/bad.htm", "http://www.endgame.nl/bad.pgn"), ("http://www.endgame.nl/nimzowitsch.htm", "http://www.endgame.nl/nimzowitsch.pgn"), ("http://www.endgame.nl/mostrau.htm", "http://www.endgame.nl/mostrau.pgn"), ("http://www.endgame.nl/early.htm", "http://www.endgame.nl/early.pgn"), ("http://www.endgame.nl/bled1931.htm", "http://www.endgame.nl/Alekhine.pgn"), ("http://www.endgame.nl/nott1936.htm", "http://www.endgame.nl/nott1936.pgn"), ("http://www.endgame.nl/wbm.htm", "http://www.endgame.nl/wbm.pgn"), ("http://www.endgame.nl/AVRO1938.htm", "http://www.endgame.nl/avro1938.pgn"), ("http://www.endgame.nl/salz1942.htm", "http://www.endgame.nl/salz1942.pgn"), ("http://www.endgame.nl/itct.html", "http://www.endgame.nl/itct.pgn"), ("http://www.endgame.nl/zurich1953.htm", "http://www.endgame.nl/zurich.pgn"), ("http://www.endgame.nl/spassky.htm", "http://www.endgame.nl/SPASSKY.ZIP"), ("http://www.endgame.nl/dallas1957.htm", "http://www.endgame.nl/dallas57.pgn"), ("http://www.endgame.nl/capamem.htm", "http://www.endgame.nl/capamem.pgn"), ("http://www.endgame.nl/kortschnoj.htm", "http://www.endgame.nl/korchnoi.pgn"), ("http://www.endgame.nl/planinc.htm", "http://www.endgame.nl/Planinc.pgn"), ("http://www.endgame.nl/planinc.htm", "http://www.endgame.nl/memorial.pgn"), ("http://www.endgame.nl/Piatigorsky.htm", "http://www.endgame.nl/piatigorsky.pgn"), ("http://www.endgame.nl/ussr7079.htm", "http://www.endgame.nl/ussr6591.pgn"), ("http://www.endgame.nl/tilburg.htm", "http://www.endgame.nl/tilburg.pgn"), ("http://www.endgame.nl/dglory.htm", "http://www.endgame.nl/dglory.pgn"), ("http://www.endgame.nl/bugojno.htm", "http://www.endgame.nl/Bugojno.pgn"), ("http://www.endgame.nl/montreal.htm", "http://www.endgame.nl/mon1979.pgn"), ("http://www.endgame.nl/moscow88.htm", "http://www.endgame.nl/ussr88.pgn"), ("http://www.endgame.nl/skelleftea.htm", "http://www.endgame.nl/skel1989.pgn"), ("http://www.endgame.nl/vsb.htm", "http://www.endgame.nl/vsb.pgn"), ("http://www.endgame.nl/dortmund.htm", "http://www.endgame.nl/dortmund.pgn"), ("http://www.endgame.nl/Barca.html", "http://www.endgame.nl/Barca.pgn"), ("http://www.endgame.nl/Madrid.html", "http://www.endgame.nl/Madrid.pgn"), ("http://www.endgame.nl/costa_del_sol.html", "http://www.endgame.nl/Costa.pgn"), ("http://www.endgame.nl/Palma.html", "http://www.endgame.nl/Palma.pgn"), ("http://www.endgame.nl/olot.html", "http://www.endgame.nl/Olot.pgn"), ("http://www.endgame.nl/LasPalmas.html", "http://www.endgame.nl/lpalm96.pgn"), ("http://www.endgame.nl/DosH.htm", "http://www.endgame.nl/DosH.pgn"), ("http://www.endgame.nl/wijk.htm", "http://www.endgame.nl/corus.pgn"), ("http://www.endgame.nl/tal.html", "http://www.endgame.nl/Tal.pgn"), ("http://www.endgame.nl/cc.htm", "http://www.endgame.nl/cc.pgn"), ("http://www.endgame.nl/sofia.htm", "http://www.endgame.nl/sofia.pgn"), ("http://www.endgame.nl/linares.htm", "http://www.endgame.nl/linares.pgn"), ("http://www.endgame.nl/Bilbao.html", "http://www.endgame.nl/Bilbao.pgn"), ("http://www.endgame.nl/nanjing.html", "http://www.endgame.nl/Nanjing.pgn"), ("http://www.endgame.nl/dchamps.htm", "http://www.endgame.nl/dch.pgn"), ("http://www.endgame.nl/dsb.htm", "http://www.endgame.nl/dsb.pgn"), ("http://www.endgame.nl/cc-history.htm", "http://www.endgame.nl/cc-history.pgn"), ("http://www.endgame.nl/hastings.htm", "http://www.endgame.nl/hastings.pgn"), ("http://www.endgame.nl/ibm.htm", "http://www.endgame.nl/IBM.pgn"), ("http://www.endgame.nl/gambits.htm", "http://www.endgame.nl/gambit.pgn"), ("http://www.endgame.nl/trebitsch.htm", "http://www.endgame.nl/Trebitsch.pgn"), ("http://www.endgame.nl/cloister.htm", "http://www.endgame.nl/TerApel.pgn"), ("http://www.endgame.nl/Biel.html", "http://www.endgame.nl/Biel.pgn"), ("http://www.endgame.nl/USA.html", "http://www.endgame.nl/USA.pgn"), ("http://www.endgame.nl/uk.html", "http://www.endgame.nl/UK.pgn"), ("http://www.endgame.nl/olympiads.html", "http://www.endgame.nl/olympiads.pgn"), ("http://www.endgame.nl/lone_pine.html", "http://www.endgame.nl/lonepine.pgn"), ("http://www.endgame.nl/staunton.html", "http://www.endgame.nl/Staunton.pgn"), ("http://www.endgame.nl/Hoogeveen.html", "http://www.endgame.nl/crown.pgn"), ("http://www.endgame.nl/paoli.html", "http://www.endgame.nl/Paoli.pgn"), ("http://www.endgame.nl/endgame.htm", "http://www.endgame.nl/endgame.pgn"), ("http://www.endgame.nl/estrin.html", "http://www.endgame.nl/Estrin.pgn"), ("http://www.endgame.nl/Argentina.html", "http://www.endgame.nl/Argentina.pgn"), ("http://www.endgame.nl/comeback.html", "http://www.endgame.nl/comeback.pgn"), ("http://www.endgame.nl/strategy.htm", "http://www.endgame.nl/strategy.pgn"), ("http://www.endgame.nl/computer.html", "http://www.endgame.nl/computer.pgn"), ("http://www.endgame.nl/correspondence.html", "http://www.endgame.nl/gambitnimzo.pgn"), ("http://web.inter.nl.net/hcc/rekius/buckle.htm", "http://web.inter.nl.net/hcc/rekius/buckle.pgn"), ("http://web.inter.nl.net/hcc/rekius/euwe.htm", "http://web.inter.nl.net/hcc/rekius/euwem.pgn"), ) JvR = [] for item in JvR_links: JvR.append((item[0], "https://raw.githubusercontent.com/gbtami/JvR-archive/master/%s" % item[1][7:])) pychess-1.0.0/lib/pychess/Database/PgnImport.py0000644000175000017500000004324713365545272020505 0ustar varunvarun# -*- coding: utf-8 -*- import collections import os import re import subprocess import zipfile from gi.repository import GLib from sqlalchemy import select, func from sqlalchemy.exc import SQLAlchemyError from pychess.Utils.const import NORMALCHESS, RUNNING, DRAW, WHITEWON, BLACKWON from pychess.Variants import name2variant from pychess.System.Log import log from pychess.System import download_file from pychess.System.protoopen import protoopen, protosave, PGN_ENCODING from pychess.Database.model import event, site, player, game, annotator, tag_game, source # from pychess.System import profile_me # Editable (on game info dialog) tags dedicated_tags = ('Event', 'Site', 'Date', 'Round', 'White', 'Black', 'WhiteElo', 'BlackElo') # Other tags stored in game table other_game_tags = ('Result', 'SetUp', 'FEN', 'ECO', 'Variant', 'PlyCount', 'Annotator', 'offset', 'offset8') TAG_REGEX = re.compile(r"\[([a-zA-Z0-9_]+)\s+\"(.*)\"\]") GAME, EVENT, SITE, PLAYER, ANNOTATOR, SOURCE, STAT = range(7) removeDic = { ord(u"'"): None, ord(u","): None, ord(u"."): None, ord(u"-"): None, ord(u" "): None, } pgn2Const = {"*": RUNNING, "?": RUNNING, "1/2-1/2": DRAW, "1/2": DRAW, "1-0": WHITEWON, "0-1": BLACKWON} class PgnImport(): def __init__(self, chessfile, append_pgn=False): self.chessfile = chessfile self.append_pgn = append_pgn self.cancel = False def initialize(self): self.db_handle = self.chessfile.handle self.engine = self.chessfile.engine self.conn = self.engine.connect() self.CHUNK = 1000 self.count_source = select([func.count()]).select_from(source) self.ins_event = event.insert() self.ins_site = site.insert() self.ins_player = player.insert() self.ins_annotator = annotator.insert() self.ins_source = source.insert() self.ins_game = game.insert() self.ins_tag_game = tag_game.insert() self.event_dict = {} self.site_dict = {} self.player_dict = {} self.annotator_dict = {} self.source_dict = {} self.next_id = [0, 0, 0, 0, 0, 0] self.next_id[GAME] = self.ini_names(game, GAME) self.next_id[EVENT] = self.ini_names(event, EVENT) self.next_id[SITE] = self.ini_names(site, SITE) self.next_id[PLAYER] = self.ini_names(player, PLAYER) self.next_id[ANNOTATOR] = self.ini_names(annotator, ANNOTATOR) self.next_id[SOURCE] = self.ini_names(source, SOURCE) def get_id(self, name, name_table, field, info=None): if not name: return None orig_name = name if field == EVENT: name_dict = self.event_dict name_data = self.event_data elif field == SITE: name_dict = self.site_dict name_data = self.site_data elif field == ANNOTATOR: name_dict = self.annotator_dict name_data = self.annotator_data elif field == SOURCE: name_dict = self.source_dict name_data = self.source_data elif field == PLAYER: name_dict = self.player_dict name_data = self.player_data name = name.title().translate(removeDic) if name in name_dict: return name_dict[name] if field == SOURCE: name_data.append({'name': orig_name, 'info': info}) else: name_data.append({'name': orig_name}) name_dict[name] = self.next_id[field] self.next_id[field] += 1 return name_dict[name] def ini_names(self, name_table, field): if field != GAME and field != STAT: s = select([name_table]) name_dict = dict([(n.name.title().translate(removeDic), n.id) for n in self.conn.execute(s)]) if field == EVENT: self.event_dict = name_dict elif field == SITE: self.site_dict = name_dict elif field == PLAYER: self.player_dict = name_dict elif field == ANNOTATOR: self.annotator_dict = name_dict elif field == SOURCE: self.source_dict = name_dict s = select([func.max(name_table.c.id).label('maxid')]) maxid = self.conn.execute(s).scalar() if maxid is None: next_id = 1 else: next_id = maxid + 1 return next_id def do_cancel(self): GLib.idle_add(self.progressbar.set_text, "") self.cancel = True # @profile_me def do_import(self, filename, info=None, progressbar=None): self.progressbar = progressbar orig_filename = filename count_source = self.conn.execute(self.count_source.where(source.c.name == orig_filename)).scalar() if count_source > 0: log.info("%s is already imported" % filename) return # collect new names not in they dict yet self.event_data = [] self.site_data = [] self.player_data = [] self.annotator_data = [] self.source_data = [] # collect new games and commit them in big chunks for speed self.game_data = [] self.tag_game_data = [] if filename.startswith("http"): filename = download_file(filename, progressbar=progressbar) if filename is None: return else: if not os.path.isfile(filename): log.info("Can't open %s" % filename) return if filename.lower().endswith(".zip") and zipfile.is_zipfile(filename): with zipfile.ZipFile(filename, "r") as zf: path = os.path.dirname(filename) files = [os.path.join(path, f) for f in zf.namelist() if f.lower().endswith(".pgn")] zf.extractall(path) else: files = [filename] for pgnfile in files: base_offset = self.chessfile.size if self.append_pgn else 0 basename = os.path.basename(pgnfile) if progressbar is not None: GLib.idle_add(progressbar.set_text, _("Reading %s ..." % basename)) else: log.info("Reading %s ..." % pgnfile) size = os.path.getsize(pgnfile) handle = protoopen(pgnfile) # estimated game count all_games = max(size / 840, 1) get_id = self.get_id # use transaction to avoid autocommit slowness # and to let undo importing (rollback) if self.cancel was set trans = self.conn.begin() try: i = 0 for tags in read_games(handle): if not tags: log.info("Empty game #%s" % (i + 1)) continue if self.cancel: trans.rollback() return fenstr = tags["FEN"] variant = tags["Variant"] if variant: if "fischer" in variant.lower() or "960" in variant: variant = "Fischerandom" else: variant = variant.lower().capitalize() # Fixes for some non statndard Chess960 .pgn if fenstr and variant == "Fischerandom": parts = fenstr.split() parts[0] = parts[0].replace(".", "/").replace("0", "") if len(parts) == 1: parts.append("w") parts.append("-") parts.append("-") fenstr = " ".join(parts) if variant: if variant not in name2variant: log.info("Unknown variant: %s" % variant) continue variant = name2variant[variant].variant if variant == NORMALCHESS: # lichess uses tag [Variant "Standard"] variant = 0 else: variant = 0 if basename == "eco.pgn": white = tags["Opening"] black = tags["Variation"] else: white = tags["White"] black = tags["Black"] event_id = get_id(tags["Event"], event, EVENT) site_id = get_id(tags["Site"], site, SITE) date = tags["Date"] game_round = tags['Round'] white_id = get_id(white, player, PLAYER) black_id = get_id(black, player, PLAYER) result = tags["Result"] if result in pgn2Const: result = pgn2Const[result] else: result = RUNNING white_elo = tags['WhiteElo'] black_elo = tags['BlackElo'] time_control = tags["TimeControl"] eco = tags["ECO"][:3] fen = tags["FEN"] board_tag = int(tags["Board"]) if "Board" in tags else 0 annotator_id = get_id(tags["Annotator"], annotator, ANNOTATOR) source_id = get_id(orig_filename, source, SOURCE, info=info) ply_count = tags["PlyCount"] if "PlyCount" in tags else 0 offset = base_offset + int(tags["offset"]) self.game_data.append({ 'offset': offset, 'offset8': (offset >> 3) << 3, 'event_id': event_id, 'site_id': site_id, 'date': date, 'round': game_round, 'white_id': white_id, 'black_id': black_id, 'result': result, 'white_elo': white_elo, 'black_elo': black_elo, 'ply_count': ply_count, 'eco': eco, 'fen': fen, 'variant': variant, 'board': board_tag, 'time_control': time_control, 'annotator_id': annotator_id, 'source_id': source_id, }) for tag in tags: if tag not in dedicated_tags and tag not in other_game_tags and tags[tag]: self.tag_game_data.append({ 'game_id': self.next_id[GAME], 'tag_name': tag, 'tag_value': tags[tag], }) self.next_id[GAME] += 1 i += 1 if len(self.game_data) >= self.CHUNK: if self.event_data: self.conn.execute(self.ins_event, self.event_data) self.event_data = [] if self.site_data: self.conn.execute(self.ins_site, self.site_data) self.site_data = [] if self.player_data: self.conn.execute(self.ins_player, self.player_data) self.player_data = [] if self.annotator_data: self.conn.execute(self.ins_annotator, self.annotator_data) self.annotator_data = [] if self.source_data: self.conn.execute(self.ins_source, self.source_data) self.source_data = [] if self.tag_game_data: self.conn.execute(self.ins_tag_game, self.tag_game_data) self.tag_game_data = [] self.conn.execute(self.ins_game, self.game_data) self.game_data = [] if progressbar is not None: GLib.idle_add(progressbar.set_fraction, i / float(all_games)) GLib.idle_add(progressbar.set_text, _( "%(counter)s game headers from %(filename)s imported" % ({"counter": i, "filename": basename}))) else: log.info("From %s imported %s" % (pgnfile, i)) if self.event_data: self.conn.execute(self.ins_event, self.event_data) self.event_data = [] if self.site_data: self.conn.execute(self.ins_site, self.site_data) self.site_data = [] if self.player_data: self.conn.execute(self.ins_player, self.player_data) self.player_data = [] if self.annotator_data: self.conn.execute(self.ins_annotator, self.annotator_data) self.annotator_data = [] if self.source_data: self.conn.execute(self.ins_source, self.source_data) self.source_data = [] if self.tag_game_data: self.conn.execute(self.ins_tag_game, self.tag_game_data) self.tag_game_data = [] if self.game_data: self.conn.execute(self.ins_game, self.game_data) self.game_data = [] if progressbar is not None: GLib.idle_add(progressbar.set_fraction, i / float(all_games)) GLib.idle_add(progressbar.set_text, _( "%(counter)s game headers from %(filename)s imported" % ({"counter": i, "filename": basename}))) else: log.info("From %s imported %s" % (pgnfile, i)) trans.commit() if self.append_pgn: # reopen database to write self.db_handle.close() self.db_handle = protosave(self.chessfile.path, self.append_pgn) log.info("Append from %s to %s" % (pgnfile, self.chessfile.path)) handle.seek(0) self.db_handle.writelines(handle) self.db_handle.close() handle.close() if self.chessfile.scoutfish is not None: # create new .scout from pgnfile we are importing from pychess.Savers.pgn import scoutfish_path args = [scoutfish_path, "make", pgnfile, "%s" % base_offset] output = subprocess.check_output(args, stderr=subprocess.STDOUT).decode() # append it to our existing one if output.find("Processing...done") > 0: old_scout = self.chessfile.scoutfish.db new_scout = os.path.splitext(pgnfile)[0] + '.scout' with open(old_scout, "ab") as file1, open(new_scout, "rb") as file2: file1.write(file2.read()) self.chessfile.handle = protoopen(self.chessfile.path) except SQLAlchemyError as e: trans.rollback() log.info("Importing %s failed! \n%s" % (pgnfile, e)) def read_games(handle): """Based on chess.pgn.scan_headers() from Niklas Fiekas python-chess""" in_comment = False game_headers = None game_pos = None last_pos = 0 line = handle.readline() # scoutfish creates game offsets at previous game end line_end_fix = 2 if line.endswith("\r\n") else 1 while line: # Skip single line comments. if line.startswith("%"): last_pos += len(line) line = handle.readline() continue # Reading a header tag. Parse it and add it to the current headers. if not in_comment and line.startswith("["): tag_match = TAG_REGEX.match(line) if tag_match: if game_pos is None: game_headers = collections.defaultdict(str) game_pos = last_pos tag_value = tag_match.group(2) tag_value = tag_value.replace("\\\"", "\"") tag_value = tag_value.replace("\\\\", "\\") if handle.pgn_encoding != PGN_ENCODING: tag_value = tag_value.encode(PGN_ENCODING).decode(handle.pgn_encoding) game_headers[tag_match.group(1)] = tag_value last_pos += len(line) line = handle.readline() continue # Reading movetext. Update parser state in_comment in order to skip # comments that look like header tags. if (not in_comment and "{" in line) or (in_comment and "}" in line): in_comment = line.rfind("{") > line.rfind("}") # Reading movetext. If there were headers, previously, those are now # complete and can be yielded. if game_pos is not None: game_headers["offset"] = max(0, game_pos - line_end_fix) yield game_headers game_pos = None last_pos += len(line) line = handle.readline() # Yield the headers of the last game. if game_pos is not None: game_headers["offset"] = max(0, game_pos - line_end_fix) yield game_headers pychess-1.0.0/lib/pychess/Database/model.py0000644000175000017500000001532013365545272017655 0ustar varunvarun# -*- coding: utf-8 -*- import os import shutil import time from sqlalchemy import create_engine, MetaData, Table, Column, Integer,\ String, SmallInteger, ForeignKey, event, select from sqlalchemy.engine import Engine from sqlalchemy.pool import StaticPool from sqlalchemy.exc import OperationalError # from sqlalchemy.ext.compiler import compiles # from sqlalchemy.sql.expression import Executable, ClauseElement, _literal_as_text from pychess.System.Log import log from pychess.System.prefix import addUserCachePrefix @event.listens_for(Engine, "before_cursor_execute") def before_cursor_execute(conn, cursor, statement, parameters, context, executemany): context._query_start_time = time.time() log.debug("Start Query:\n%s" % statement, extra={"task": "SQL"}) log.debug("Parameters:\n%r" % (parameters,), extra={"task": "SQL"}) @event.listens_for(Engine, "after_cursor_execute") def after_cursor_execute(conn, cursor, statement, parameters, context, executemany): total = time.time() - context._query_start_time log.debug("Query Complete!", extra={"task": "SQL"}) log.debug("Total Time: %.02fms" % (total * 1000), extra={"task": "SQL"}) # Just to make sphinx happy... # try: # class Explain(Executable, ClauseElement): # def __init__(self, stmt): # self.statement = _literal_as_text(stmt) # except TypeError: # class Explain: # pass # @compiles(Explain, 'sqlite') # def slite_explain(element, compiler, **kw): # text = "EXPLAIN QUERY PLAN " # text += compiler.process(element.statement, **kw) # return text @event.listens_for(Engine, "connect") def set_sqlite_pragma(dbapi_connection, connection_record): cursor = dbapi_connection.cursor() # www.sqlite.org/pragma.html cursor.execute("PRAGMA page_size = 4096") cursor.execute("PRAGMA cache_size=10000") # cursor.execute("PRAGMA locking_mode=EXCLUSIVE") cursor.execute("PRAGMA synchronous=NORMAL") # cursor.execute("PRAGMA journal_mode=WAL") # cursor.execute("PRAGMA foreign_keys=ON") cursor.close() def insert_or_ignore(engine, stmt): if engine.name == "sqlite": # can't use "OR UPDATE" because it delete+insert records # and breaks referential integrity return stmt.prefix_with("OR IGNORE") elif engine.name == "postgresql": return stmt.prefix_with("ON CONFLICT DO NOTHING") elif engine.name == "mysql": return stmt.prefix_with("IGNORE") engines = {} # PyChess database schema version SCHEMA_VERSION = "20180221" def get_schema_version(engine): return engine.execute(select([schema_version.c.version])).scalar() def get_engine(path=None, dialect="sqlite", echo=False): if path is None: # In memory database url = "sqlite://" elif dialect == "sqlite": url = "%s:///%s" % (dialect, path) if url in engines and os.path.isfile(path) and os.path.getsize(path) > 0: return engines[url] else: if path is None: engine = create_engine(url, connect_args={'check_same_thread': False}, echo=echo, poolclass=StaticPool) else: if path != empty_db and (not os.path.isfile(path) or os.path.getsize(path) == 0): shutil.copyfile(empty_db, path) engine = create_engine(url, echo=echo) if path != empty_db and (path is None or get_schema_version(engine) != SCHEMA_VERSION): metadata.drop_all(engine) metadata.create_all(engine) ini_schema_version(engine) engines[url] = engine return engine metadata = MetaData() source = Table( 'source', metadata, Column('id', Integer, primary_key=True), Column('name', String(256)), Column('info', String(256)) ) event = Table( 'event', metadata, Column('id', Integer, primary_key=True), Column('name', String(256), index=True) ) site = Table( 'site', metadata, Column('id', Integer, primary_key=True), Column('name', String(256), index=True) ) annotator = Table( 'annotator', metadata, Column('id', Integer, primary_key=True), Column('name', String(256), index=True) ) player = Table( 'player', metadata, Column('id', Integer, primary_key=True), Column('name', String(256), index=True), ) pl1 = player.alias() pl2 = player.alias() game = Table( 'game', metadata, Column('id', Integer, primary_key=True, index=True), Column('offset', Integer, index=True), Column('offset8', Integer, index=True), Column('event_id', Integer, ForeignKey('event.id'), index=True), Column('site_id', Integer, ForeignKey('site.id'), index=True), Column('date', String(10), default=""), Column('round', String(8), default=""), Column('white_id', Integer, ForeignKey('player.id'), index=True), Column('black_id', Integer, ForeignKey('player.id'), index=True), Column('result', SmallInteger, default=0), Column('white_elo', String(4), default=""), Column('black_elo', String(4), default=""), Column('ply_count', String(3), default=""), Column('eco', String(3), default=""), Column('time_control', String(7), default=""), Column('board', SmallInteger, default=0), Column('fen', String(128), default=""), Column('variant', SmallInteger, default=0), Column('annotator_id', Integer, ForeignKey('annotator.id'), index=True), Column('source_id', Integer, ForeignKey('source.id'), index=True), ) tag_game = Table( 'tag_game', metadata, Column('id', Integer, primary_key=True), Column('game_id', Integer, ForeignKey('game.id'), nullable=False), Column('tag_name', String(128), default=""), Column('tag_value', String(128), default=""), ) schema_version = Table( 'schema_version', metadata, Column('id', Integer, primary_key=True), Column('version', String(8)), ) def drop_indexes(engine): for table in metadata.tables.values(): for index in table.indexes: try: index.drop(bind=engine) except OperationalError as e: if e.orig.args[0].startswith("no such index"): pass # print(e.orig.args[0]) else: raise def create_indexes(engine): for table in metadata.tables.values(): for index in table.indexes: index.create(bind=engine) def ini_schema_version(engine): conn = engine.connect() conn.execute(schema_version.insert(), [{"id": 1, "version": SCHEMA_VERSION}, ]) conn.close() # create an empty database to use as skeleton empty_db = os.path.join(addUserCachePrefix("%s.sqlite" % SCHEMA_VERSION)) if not os.path.isfile(empty_db): engine = get_engine(empty_db) metadata.create_all(engine) ini_schema_version(engine) engine.dispose() pychess-1.0.0/lib/pychess/Main.py0000644000175000017500000007456213461656131015744 0ustar varunvarun# -*- coding: UTF-8 -*- import asyncio import datetime import os import webbrowser import math import platform import sys import subprocess from urllib.request import url2pathname, pathname2url from gi.repository import Gdk from gi.repository import Gio from gi.repository import Gtk from gi.repository import GLib from pychess.compat import create_task from pychess.System.Log import log from pychess.System import conf, uistuff, prefix from pychess.Utils.const import HINT, NAME, SPY, NORMALCHESS from pychess.Utils.checkversion import checkversion from pychess.widgets import enginesDialog from pychess.widgets import newGameDialog from pychess.widgets.Background import hexcol from pychess.widgets.tipOfTheDay import TipOfTheDay from pychess.widgets.discovererDialog import DiscovererDialog from pychess.widgets.ExternalsDialog import ExternalsDialog from pychess.widgets import gamewidget from pychess.widgets.analyzegameDialog import AnalyzeGameDialog from pychess.widgets import preferencesDialog, gameinfoDialog, playerinfoDialog from pychess.widgets.TaskerManager import internet_game_tasker from pychess.widgets.RecentChooser import recent_menu, recent_manager from pychess.Players.engineNest import discoverer from pychess.Savers import chesspastebin from pychess.Savers.remotegame import get_internet_game_as_pgn from pychess.System.protoopen import splitUri from pychess.widgets import mainwindow from pychess.ic import ICLogon from pychess.perspectives import perspective_manager from pychess.perspectives.welcome import Welcome from pychess.perspectives.games import Games, get_open_dialog from pychess.perspectives.learn import Learn from pychess.perspectives.fics import FICS from pychess.perspectives.database import Database from pychess import VERSION, VERSION_NAME leftkeys = list(map(Gdk.keyval_from_name, ("Left", "KP_Left"))) rightkeys = list(map(Gdk.keyval_from_name, ("Right", "KP_Right"))) upkeys = list(map(Gdk.keyval_from_name, ("Up", "KP_Up"))) downkeys = list(map(Gdk.keyval_from_name, ("Down", "KP_Down"))) homekeys = list(map(Gdk.keyval_from_name, ("Home", "KP_Home"))) endkeys = list(map(Gdk.keyval_from_name, ("End", "KP_End"))) functionkeys = [Gdk.keyval_from_name(k) for k in ("F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11")] TARGET_TYPE_URI_LIST = 0xbadbeef DRAG_ACTION = Gdk.DragAction.COPY DRAG_RESTRICT = Gtk.TargetFlags.OTHER_APP DND_LIST = [Gtk.TargetEntry.new("text/uri-list", DRAG_RESTRICT, TARGET_TYPE_URI_LIST)] class GladeHandlers: def __init__(self, app): self.app = app def on_window_key_press(self, window, event): log.debug('on_window_key_press: %s %s' % (window.get_title(), event)) # debug leaking memory if Gdk.keyval_name(event.keyval) == "F12": from pychess.System.debug import print_obj_referrers, print_muppy_sumary if event.get_state() & Gdk.ModifierType.SHIFT_MASK: print_muppy_sumary() else: print_obj_referrers() # Tabbing related shortcuts persp = perspective_manager.get_perspective("games") if not persp.getheadbook(): pagecount = 0 else: pagecount = persp.getheadbook().get_n_pages() if pagecount > 1: if event.get_state() & Gdk.ModifierType.CONTROL_MASK: page_num = persp.getheadbook().get_current_page() # Move selected if event.get_state() & Gdk.ModifierType.SHIFT_MASK: child = persp.getheadbook().get_nth_page(page_num) if event.keyval == Gdk.KEY_Page_Up: persp.getheadbook().reorder_child(child, ( page_num - 1) % pagecount) return True elif event.keyval == Gdk.KEY_Page_Down: persp.getheadbook().reorder_child(child, ( page_num + 1) % pagecount) return True # Change selected else: if event.keyval == Gdk.KEY_Page_Up: persp.getheadbook().set_current_page( (page_num - 1) % pagecount) return True elif event.keyval == Gdk.KEY_Page_Down: persp.getheadbook().set_current_page( (page_num + 1) % pagecount) return True gmwidg = persp.cur_gmwidg() if gmwidg is not None: # Let default handler work if typing inside entry widgets current_focused_widget = gamewidget.getWidgets()["main_window"].get_focus() if current_focused_widget is not None and isinstance(current_focused_widget, Gtk.Entry): return False # Prevent moving in game while lesson not finished if gmwidg.gamemodel.lesson_game: return # Navigate on boardview with arrow keys if event.keyval in leftkeys: if event.get_state() & Gdk.ModifierType.CONTROL_MASK: gmwidg.board.view.backToMainLine() return True else: gmwidg.board.view.showPrev() return True elif event.keyval in rightkeys: gmwidg.board.view.showNext() return True elif event.keyval in upkeys: gmwidg.board.view.showPrev(step=2) return True elif event.keyval in downkeys: gmwidg.board.view.showNext(step=2) return True elif event.keyval in homekeys: gmwidg.board.view.showFirst() return True elif event.keyval in endkeys: gmwidg.board.view.showLast() return True if (not event.get_state() & Gdk.ModifierType.CONTROL_MASK) and \ (not event.get_state() & Gdk.ModifierType.MOD1_MASK) and \ (event.keyval != Gdk.KEY_Escape) and \ (event.keyval not in functionkeys): # Enter moves with keyboard board_control = gmwidg.board keyname = Gdk.keyval_name(event.keyval) board_control.key_pressed(keyname) print(board_control.keybuffer) return True return False def on_recent_game_activated(self, uri): if isinstance(uri, str): path = url2pathname(uri) recent_manager.add_item("file:" + pathname2url(path)) # Drag 'n' Drop def on_drag_received(self, widget, context, x, y, selection, target_type, timestamp): if target_type == TARGET_TYPE_URI_LIST: NOTPROC, PARTIAL, FULL = range(3) status = NOTPROC uris = selection.get_uris() for uri in uris: fn, fext = os.path.splitext(uri.lower()) b = False # Chess position if fext == '.fen': b = newGameDialog.loadFileAndRun(uri) # Shortcut elif fext in ['.url', '.desktop']: # Preconf if fext == '.url': sectname = 'InternetShortcut' typeok = True elif fext == '.desktop': sectname = 'Desktop Entry' typeok = False else: assert(False) # Read the shortcut filename = splitUri(uri)[1] with open(filename, 'r') as file: content = file.read() lines = content.replace("\r", '').split("\n") # Extract the link section = False link = '' for item in lines: # Header if item.startswith('['): if section: break section = item.startswith('[%s]' % sectname) if not section: continue # Item if item.startswith('URL='): link = item[4:] if item.startswith('Type=Link') and fext == '.desktop': typeok = True # Load the link if typeok and link != '': pgn = get_internet_game_as_pgn(link) b = newGameDialog.loadPgnAndRun(pgn) # Database else: perspective = perspective_manager.get_perspective("database") perspective.open_chessfile(uri) b = True # Update the global status if b: if status == NOTPROC: status = FULL else: if status != NOTPROC: status = PARTIAL # Feedback about the load msg = '' if status == NOTPROC: msg = _('All the links failed to fetch a relevant chess content.') msgtype = Gtk.MessageType.ERROR elif status == PARTIAL: msg = _('Some links were invalid.') msgtype = Gtk.MessageType.WARNING if msg != '': dlg = Gtk.MessageDialog(mainwindow(), type=msgtype, buttons=Gtk.ButtonsType.OK, message_format=msg) dlg.run() dlg.destroy() # Game Menu def on_new_game1_activate(self, widget): newGameDialog.NewGameMode.run() def on_set_up_position_activate(self, widget): rotate_menu = gamewidget.getWidgets()["rotate_board1"] rotate_menu.set_sensitive(True) persp = perspective_manager.get_perspective("games") gmwidg = persp.cur_gmwidg() if gmwidg is not None: ply = gmwidg.board.view.shown variation = gmwidg.board.view.shown_variation_idx board = gmwidg.gamemodel.getBoardAtPly(ply, variation) fen = board.asFen() variant = board.variant else: fen = None variant = NORMALCHESS newGameDialog.SetupPositionExtension.run(fen, variant) def on_enter_game_notation_activate(self, widget): newGameDialog.EnterNotationExtension.run() def on_play_internet_chess_activate(self, widget): ICLogon.run() def on_load_game1_activate(self, widget): dialog = get_open_dialog() response = dialog.run() if response == Gtk.ResponseType.OK: filenames = dialog.get_filenames() else: filenames = None dialog.destroy() if filenames is not None: for filename in filenames: if filename.lower().endswith(".fen"): newGameDialog.loadFileAndRun(filename) else: perspective = perspective_manager.get_perspective("database") perspective.open_chessfile(filename) def on_remote_game_activate(self, widget): # Ask the user for an URL widgets = gamewidget.getWidgets() url_dialog = widgets["url_path_dialog"] widgets["url_edit"].set_text('') widgets["url_edit"].grab_focus() answer = url_dialog.run() url_dialog.hide() if answer != Gtk.ResponseType.OK.real: return # Download the game url = widgets["url_edit"].get_text().strip() if len(url) == 0: return remdata = get_internet_game_as_pgn(url) if remdata is None: dlg = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.ERROR, buttons=Gtk.ButtonsType.OK, message_format=_("The provided link does not lead to a meaningful chess content.")) dlg.run() dlg.destroy() return # Load the game newGameDialog.loadPgnAndRun(remdata) def on_save_game1_activate(self, widget): perspective = perspective_manager.get_perspective("games") gmwidg = perspective.cur_gmwidg() position = gmwidg.board.view.shown perspective.saveGame(gmwidg.gamemodel, position) def on_save_game_as1_activate(self, widget): perspective = perspective_manager.get_perspective("games") gmwidg = perspective.cur_gmwidg() position = gmwidg.board.view.shown perspective.saveGameAs(gmwidg.gamemodel, position) def on_export_position_activate(self, widget): perspective = perspective_manager.get_perspective("games") gmwidg = perspective.cur_gmwidg() position = gmwidg.board.view.shown perspective = perspective_manager.get_perspective("games") perspective.saveGameAs(gmwidg.gamemodel, position, export=True) def on_share_game_activate(self, widget): perspective = perspective_manager.get_perspective("games") gmwidg = perspective.cur_gmwidg() chesspastebin.paste(gmwidg.gamemodel) def on_properties1_activate(self, widget): gameinfoDialog.run(gamewidget.getWidgets()) def on_analyze_game_activate(self, widget): analyze_game_dialog = AnalyzeGameDialog() analyze_game_dialog.run() def on_player_rating1_activate(self, widget): playerinfoDialog.run(gamewidget.getWidgets()) def on_close1_activate(self, widget): persp = perspective_manager.current_perspective if persp.name == "games": gmwidg = persp.cur_gmwidg() persp.closeGame(gmwidg) elif persp.name == "database": persp.close() def on_quit1_activate(self, widget, *args): perspective = perspective_manager.get_perspective("games") if isinstance(widget, Gdk.Event): if len(perspective.gamewidgets) == 1 and conf.get("hideTabs"): gmwidg = perspective.cur_gmwidg() perspective.closeGame(gmwidg, gmwidg.gamemodel) return True elif len(perspective.gamewidgets) >= 1 and conf.get("closeAll"): perspective.closeAllGames(perspective.gamewidgets) return True if perspective.closeAllGames(perspective.gamewidgets) in ( Gtk.ResponseType.OK, Gtk.ResponseType.YES): ICLogon.stop() self.app.loop.stop() self.app.quit() else: return True # View Menu def on_rotate_board1_activate(self, widget): board_control = newGameDialog.SetupPositionExtension.board_control persp = perspective_manager.get_perspective("games") if board_control is not None and board_control.view.is_visible(): view = newGameDialog.SetupPositionExtension.board_control.view elif persp.cur_gmwidg() is not None: view = persp.cur_gmwidg().board.view else: return if view.rotation: view.rotation = 0 else: view.rotation = math.pi def on_fullscreen1_activate(self, widget): gamewidget.getWidgets()["main_window"].fullscreen() gamewidget.getWidgets()["fullscreen1"].hide() gamewidget.getWidgets()["leave_fullscreen1"].show() def on_leave_fullscreen1_activate(self, widget): gamewidget.getWidgets()["main_window"].unfullscreen() gamewidget.getWidgets()["leave_fullscreen1"].hide() gamewidget.getWidgets()["fullscreen1"].show() def on_about1_activate(self, widget): about_dialog = gamewidget.getWidgets()["aboutdialog1"] response = about_dialog.run() if response == Gtk.ResponseType.DELETE_EVENT or response == Gtk.ResponseType.CANCEL: gamewidget.getWidgets()["aboutdialog1"].hide() def on_log_viewer1_activate(self, widget): from pychess.widgets import LogDialog if widget.get_active(): LogDialog.show() else: LogDialog.hide() def on_show_sidepanels_activate(self, widget): perspective = perspective_manager.get_perspective("games") if perspective is not None: perspective.zoomToBoard(not widget.get_active()) def on_hint_mode_activate(self, widget): perspective = perspective_manager.get_perspective("games") if perspective is None: return for gmwidg in perspective.gamewidgets: if gmwidg.isInFront(): try: analyzer = gmwidg.gamemodel.spectators[HINT] except KeyError: continue if widget.get_active(): gmwidg.show_arrow(analyzer, HINT) else: gmwidg.hide_arrow(analyzer, HINT) def on_spy_mode_activate(self, widget): perspective = perspective_manager.get_perspective("games") if perspective is None: return for gmwidg in perspective.gamewidgets: if gmwidg.isInFront(): try: analyzer = gmwidg.gamemodel.spectators[HINT] except KeyError: continue if widget.get_active(): gmwidg.show_arrow(analyzer, SPY) else: gmwidg.hide_arrow(analyzer, SPY) # Edit menu def on_copy_pgn_activate(self, widget): persp = perspective_manager.get_perspective("games") if perspective_manager.current_perspective == persp: persp.cur_gmwidg().board.view.copy_pgn() return persp = perspective_manager.get_perspective("database") if perspective_manager.current_perspective == persp: if persp.preview_panel is not None: persp.preview_panel.boardview.copy_pgn() def on_copy_fen_activate(self, widget): persp = perspective_manager.get_perspective("games") if perspective_manager.current_perspective == persp: persp.cur_gmwidg().board.view.copy_fen() return persp = perspective_manager.get_perspective("database") if perspective_manager.current_perspective == persp: if persp.preview_panel is not None: persp.preview_panel.boardview.copy_fen() def on_manage_engines_activate(self, widget): enginesDialog.run(gamewidget.getWidgets()) def on_download_externals_activate(self, widget): externals_dialog = ExternalsDialog() externals_dialog.show() def on_preferences_activate(self, widget): preferencesDialog.run(gamewidget.getWidgets()) # Database menu def on_new_database1_activate(self, widget): perspective = perspective_manager.get_perspective("database") perspective.create_database() def on_import_chessfile_activate(self, widget): perspective = perspective_manager.get_perspective("database") perspective.on_import_clicked(widget) def on_database_save_as_activate(self, widget): perspective = perspective_manager.get_perspective("database") perspective.on_save_as_clicked(widget) def on_create_book_activate(self, widget): perspective = perspective_manager.get_perspective("database") perspective.create_book() def on_import_endgame_nl_activate(self, widget): perspective = perspective_manager.get_perspective("database") perspective.on_import_endgame_nl() def on_import_twic_activate(self, widget): perspective = perspective_manager.get_perspective("database") perspective.on_import_twic() def on_update_players_activate(self, widget): perspective = perspective_manager.get_perspective("database") perspective.on_update_players() # Help menu def on_about_chess1_activate(self, widget): webbrowser.open(_("http://en.wikipedia.org/wiki/Chess")) def on_how_to_play1_activate(self, widget): webbrowser.open(_("http://en.wikipedia.org/wiki/Rules_of_chess")) def translate_this_application_activate(self, widget): webbrowser.open("https://www.transifex.com/projects/p/pychess/") def on_TipOfTheDayMenuItem_activate(self, widget): tip_of_the_day = TipOfTheDay() tip_of_the_day.show() class PyChess(Gtk.Application): def __init__(self, log_viewer, purge_recent, chess_file, ics_host, ics_port, loop, splash): Gtk.Application.__init__(self, application_id="org.pychess", flags=Gio.ApplicationFlags.NON_UNIQUE) self.loop = loop if ics_host: ICLogon.host = ics_host if ics_port: ICLogon.port = ics_port self.log_viewer = log_viewer self.purge_recent = purge_recent self.chess_file = chess_file self.window = None self.splash = splash def do_startup(self): Gtk.Application.do_startup(self) if self.purge_recent: items = recent_manager.get_items() for item in items: uri = item.get_uri() if item.get_application_info("pychess"): recent_manager.remove_item(uri) self.git_rev = "" self.initGlade(self.log_viewer) self.addPerspectives() self.handleArgs(self.chess_file) create_task(checkversion()) self.loaded_cids = {} self.saved_cids = {} self.terminated_cids = {} log.info("PyChess %s %s git %s" % (VERSION_NAME, VERSION, self.git_rev)) log.info("Command line args: '%s'" % self.chess_file) log.info("Platform: %s" % platform.platform()) log.info("Python version: %s.%s.%s" % sys.version_info[0:3]) log.info("Pyglib version: %s.%s.%s" % GLib.pyglib_version) log.info("Gtk version: %s.%s.%s" % (Gtk.get_major_version(), Gtk.get_minor_version(), Gtk.get_micro_version())) @asyncio.coroutine def print_tasks(self): while True: print(datetime.datetime.now().time()) loop = asyncio.get_event_loop() tasks = asyncio.Task.all_tasks(loop) for task in tasks: print(task) print("------------") yield from asyncio.sleep(10) def do_activate(self): # create_task(self.print_tasks()) self.add_window(self.window) self.window.show_all() gamewidget.getWidgets()["player_rating1"].hide() gamewidget.getWidgets()["leave_fullscreen1"].hide() # Externals download dialog if not conf.get("dont_show_externals_at_startup"): externals_dialog = ExternalsDialog() externals_dialog.show() # Tip of the day dialog if conf.get("show_tip_at_startup"): tip_of_the_day = TipOfTheDay() tip_of_the_day.show() preferencesDialog.run(gamewidget.getWidgets()) def on_all_engine_discovered(discoverer): engine = discoverer.getEngineByName(discoverer.getEngineLearn()) if engine is None: engine = discoverer.getEngineN(-1) default_engine = engine.get("md5") conf.set("ana_combobox", default_engine) conf.set("inv_ana_combobox", default_engine) # Try to set conf analyzer engine on very first start of pychess if conf.get("ana_combobox") == 0: discoverer.connect_after("all_engines_discovered", on_all_engine_discovered) dd = DiscovererDialog(discoverer) self.dd_task = create_task(dd.start()) style_ctxt = gamewidget.getWidgets()["main_window"].get_style_context() LIGHT = hexcol(style_ctxt.lookup_color("p_light_color")[1]) DARK = hexcol(style_ctxt.lookup_color("p_dark_color")[1]) conf.DEFAULTS["General"]["lightcolour"] = LIGHT conf.DEFAULTS["General"]["darkcolour"] = DARK self.splash.destroy() def on_gmwidg_created(self, gamehandler, gmwidg): log.debug("GladeHandlers.on_gmwidg_created: starting") # Bring playing window to the front gamewidget.getWidgets()["main_window"].present() self.loaded_cids[gmwidg.gamemodel] = gmwidg.gamemodel.connect("game_loaded", self.update_recent) self.saved_cids[gmwidg.gamemodel] = gmwidg.gamemodel.connect("game_saved", self.update_recent) self.terminated_cids[gmwidg.gamemodel] = gmwidg.gamemodel.connect("game_terminated", self.on_terminated) log.debug("GladeHandlers.on_gmwidg_created: returning") def on_chessfile_opened(self, persp, chessfile): self.update_recent(None, chessfile.path) def on_terminated(self, gamemodel): if gamemodel.handler_is_connected(self.loaded_cids[gamemodel]): gamemodel.disconnect(self.loaded_cids[gamemodel]) del self.loaded_cids[gamemodel] if gamemodel.handler_is_connected(self.saved_cids[gamemodel]): gamemodel.disconnect(self.saved_cids[gamemodel]) del self.saved_cids[gamemodel] if gamemodel.handler_is_connected(self.terminated_cids[gamemodel]): gamemodel.disconnect(self.terminated_cids[gamemodel]) del self.terminated_cids[gamemodel] def update_recent(self, gamemodel, uri): if isinstance(uri, str): path = url2pathname(uri) recent_manager.add_item("file:" + pathname2url(path)) def initGlade(self, log_viewer): # Init glade and the 'GladeHandlers' self.widgets = widgets = uistuff.GladeWidgets("PyChess.glade") self.glade_handlers = GladeHandlers(self) widgets.getGlade().connect_signals(self.glade_handlers) self.window = widgets["main_window"] # new_game_tasker, internet_game_tasker = NewGameTasker( # ), InternetGameTasker() # tasker.packTaskers(new_game_tasker, internet_game_tasker) # widgets["Background"].add(tasker) # Redirect widgets gamewidget.setWidgets(widgets) # The only menuitems that need special initing for widget in ("hint_mode", "spy_mode"): widgets[widget].set_sensitive(False) uistuff.keep(widgets["hint_mode"], "hint_mode") uistuff.keep(widgets["spy_mode"], "spy_mode") uistuff.keep(widgets["show_sidepanels"], "show_sidepanels") uistuff.keep(widgets["auto_call_flag"], "autoCallFlag") # Show main window and init d'n'd widgets["main_window"].set_title('%s - PyChess' % _('Welcome')) widgets["main_window"].connect("delete-event", self.glade_handlers.on_quit1_activate) widgets["main_window"].connect("key-press-event", self.glade_handlers.on_window_key_press) uistuff.keepWindowSize("main", widgets["main_window"], None, uistuff.POSITION_GOLDEN) # To get drag in the whole window, we add it to the menu and the # background. If it can be gotten to work, the drag_dest_set_proxy # method is very interesting. widgets["menubar1"].drag_dest_set(Gtk.DestDefaults.ALL, DND_LIST, DRAG_ACTION) widgets["box2"].drag_dest_set(Gtk.DestDefaults.ALL, DND_LIST, DRAG_ACTION) widgets["perspectives_notebook"].drag_dest_set(Gtk.DestDefaults.ALL, DND_LIST, DRAG_ACTION) # Init 'minor' dialogs # Log dialog if log_viewer: from pychess.widgets import LogDialog LogDialog.add_destroy_notify( lambda: widgets["log_viewer1"].set_active(0)) else: widgets["log_viewer1"].set_property('sensitive', False) # About dialog self.aboutdialog = widgets["aboutdialog1"] self.aboutdialog.set_program_name(NAME) self.aboutdialog.set_copyright("Copyright © 2006-2019") self.aboutdialog.set_version(VERSION_NAME + " " + VERSION) if os.path.isdir(prefix.addDataPrefix(".git")): try: self.git_rev = subprocess.check_output(["git", "describe", "--tags"]).decode().strip() self.aboutdialog.set_version('%s Git %s' % (VERSION_NAME, self.git_rev)) except subprocess.CalledProcessError: pass self.aboutdialog.set_comments(self.aboutdialog.get_comments()) with open(prefix.addDataPrefix("ARTISTS"), encoding="utf-8") as f: self.aboutdialog.set_artists(f.read().splitlines()) with open(prefix.addDataPrefix("AUTHORS"), encoding="utf-8") as f: self.aboutdialog.set_authors(f.read().splitlines()) with open(prefix.addDataPrefix("DOCUMENTERS"), encoding="utf-8") as f: self.aboutdialog.set_documenters(f.read().splitlines()) with open(prefix.addDataPrefix("TRANSLATORS"), encoding="utf-8") as f: self.aboutdialog.set_translator_credits(f.read()) with open(prefix.addDataPrefix("LICENSE"), encoding="utf-8") as f: self.aboutdialog.set_license(f.read()) widgets["load_recent_game1"].set_submenu(recent_menu) if conf.get("autoLogin"): internet_game_tasker.connectClicked(None) def website(self, clb, link): webbrowser.open(link) def addPerspectives(self): perspective_manager.set_widgets(self.widgets) for persp in (Welcome, Games, FICS, Database, Learn): perspective = persp() perspective_manager.add_perspective(perspective) perspective.create_toolbuttons() if persp == Database: perspective.connect("chessfile_opened", self.on_chessfile_opened) elif persp == Games: perspective.connect("gmwidg_created", self.on_gmwidg_created) new_button = Gtk.ToolButton.new_from_stock(Gtk.STOCK_NEW) new_button.set_tooltip_text(_("New Game")) new_button.connect("clicked", self.glade_handlers.on_new_game1_activate) perspective_manager.toolbar.insert(new_button, 0) open_button = Gtk.ToolButton.new_from_stock(Gtk.STOCK_OPEN) open_button.set_tooltip_text(_("Open Game")) open_button.connect("clicked", self.glade_handlers.on_load_game1_activate) perspective_manager.toolbar.insert(open_button, 1) def handleArgs(self, chess_file): if chess_file: def do(discoverer): perspective = perspective_manager.get_perspective("database") perspective.open_chessfile(chess_file) self.dd_task.cancel() discoverer.connect_after("all_engines_discovered", do) pychess-1.0.0/lib/pychess/Utils/0000755000175000017500000000000013467766037015605 5ustar varunvarunpychess-1.0.0/lib/pychess/Utils/lutils/0000755000175000017500000000000013467766037017121 5ustar varunvarunpychess-1.0.0/lib/pychess/Utils/lutils/Benchmark.py0000644000175000017500000000477513353143212021354 0ustar varunvarunfrom pychess.Utils.lutils.LBoard import LBoard from pychess.Utils.lutils.leval import clearPawnTable from pychess.Utils.lutils.lmove import listToSan from pychess.Utils.lutils import lsearch from pychess.Utils.const import NORMALCHESS import sys from time import time # For now, we use the benchmark positions from Stockfish. benchmarkPositions = [ "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1", "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - 0 10", "8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8 w - - 0 11", "4rrk1/pp1n3p/3q2pQ/2p1pb2/2PP4/2P3N1/P2B2PP/4RRK1 b - - 7 19", "rq3rk1/ppp2ppp/1bnpb3/3N2B1/3NP3/7P/PPPQ1PP1/2KR3R w - - 7 14", "r1bq1r1k/1pp1n1pp/1p1p4/4p2Q/4Pp2/1BNP4/PPP2PPP/3R1RK1 w - - 2 14", "r3r1k1/2p2ppp/p1p1bn2/8/1q2P3/2NPQN2/PPP3PP/R4RK1 b - - 2 15", "r1bbk1nr/pp3p1p/2n5/1N4p1/2Np1B2/8/PPP2PPP/2KR1B1R w kq - 0 13", "r1bq1rk1/ppp1nppp/4n3/3p3Q/3P4/1BP1B3/PP1N2PP/R4RK1 w - - 1 16", "4r1k1/r1q2ppp/ppp2n2/4P3/5Rb1/1N1BQ3/PPP3PP/R5K1 w - - 1 17", "2rqkb1r/ppp2p2/2npb1p1/1N1Nn2p/2P1PP2/8/PP2B1PP/R1BQK2R b KQ - 0 11", "r1bq1r1k/b1p1npp1/p2p3p/1p6/3PP3/1B2NN2/PP3PPP/R2Q1RK1 w - - 1 16", "3r1rk1/p5pp/bpp1pp2/8/q1PP1P2/b3P3/P2NQRPP/1R2B1K1 b - - 6 22", "r1q2rk1/2p1bppp/2Pp4/p6b/Q1PNp3/4B3/PP1R1PPP/2K4R w - - 2 18", "4k2r/1pb2ppp/1p2p3/1R1p4/3P4/2r1PN2/P4PPP/1R4K1 b - - 3 22", "3q2k1/pb3p1p/4pbp1/2r5/PpN2N2/1P2P2P/5PP1/Q2R2K1 b - - 4 26" ] def benchmark(maxdepth=6): """ Times a search of a static list of positions. """ suite_time = time() suite_nodes = lsearch.nodes lsearch.endtime = sys.maxsize lsearch.searching = True for i, fen in enumerate(benchmarkPositions): lsearch.table.clear() clearPawnTable() board = LBoard(NORMALCHESS) board.applyFen(fen) pos_start_time = time() pos_start_nodes = lsearch.nodes for depth in range(1, maxdepth): mvs, scr = lsearch.alphaBeta(board, depth) pos_time = time() - pos_start_time pos_nodes = lsearch.nodes - pos_start_nodes pv = " ".join(listToSan(board, mvs)) time_cs = int(100 * pos_time) print(depth, scr, time_cs, pos_nodes, pv) print("Searched position", i, "at", int(pos_nodes / pos_time) if pos_time > 0 else pos_nodes, "n/s") suite_time = time() - suite_time suite_nodes = lsearch.nodes - suite_nodes print("Total:", suite_nodes, "nodes in", suite_time, "s: ", suite_nodes / suite_time, "n/s") lsearch.nodes = 0 pychess-1.0.0/lib/pychess/Utils/lutils/egtb_gaviota.py0000755000175000017500000002225413365545272022127 0ustar varunvarunimport os import re from ctypes import byref, c_byte, c_char_p, c_int, c_uint, c_ulong, c_size_t, c_double, Structure,\ CDLL, CFUNCTYPE, POINTER from .bitboard import firstBit, clearBit from .lmovegen import genAllMoves, genCheckEvasions from pychess.Utils.const import WHITE, BLACK, DRAW, WHITEWON, BLACKWON from pychess.System import conf from pychess.System.prefix import getDataPrefix from pychess.System.Log import log class TbStats(Structure): _fields_ = [ ('wdl_easy_hits', c_ulong * 2), ('wdl_hard_prob', c_ulong * 2), ('wdl_soft_prob', c_ulong * 2), ('wdl_cachesize', c_size_t), ('wdl_occupancy', c_double), ('dtm_easy_hits', c_ulong * 2), ('dtm_hard_prob', c_ulong * 2), ('dtm_soft_prob', c_ulong * 2), ('dtm_cachesize', c_size_t), ('dtm_occupancy', c_double), ('total_hits', c_ulong * 2), ('memory_hits', c_ulong * 2), ('drive_hits', c_ulong * 2), ('drive_miss', c_ulong * 2), ('bytes_read', c_ulong * 2), ('files_opened', c_ulong), ('memory_efficiency', c_double), ] class EgtbGaviota: def __init__(self): self.libgtb = None self.initialized = False # Get a list of files in the tablebase folder. configuredTbPath = conf.get("egtb_path") tbPath = configuredTbPath or getDataPrefix() try: tbPathContents = os.listdir(tbPath) except OSError as e: if configuredTbPath: log.warning("Unable to open Gaviota TB folder: %s" % repr(e)) return # Find files named *.gtb.cp# and pick the most common "#". # (This is the compression scheme; the library currently only uses one at a time.) schemeCount = [0] * 10 for filename in tbPathContents: match = re.search("\.gtb\.cp(\d)$", filename) if match: schemeCount[int(match.group(1))] += 1 compressionScheme = max(zip(schemeCount, range(10))) if compressionScheme[0] == 0: if configuredTbPath: log.warning("Could not find any Gaviota TB files in %s" % configuredTbPath) return compressionScheme = compressionScheme[1] # Locate and load the library. if not self._loadLibrary(): return self._setupFunctionPrototypes() self.pathList = self.tbpaths_init() self.pathList = self.tbpaths_add(self.pathList, tbPath.encode()) initInfo = self.tb_init(True, compressionScheme, self.pathList) self.initialized = (self.tb_is_initialized() != 0) if not self.initialized: log.warning(initInfo or "Failed to initialize Gaviota EGTB library") self.pathList = self.tbpaths_done(self.pathList) return elif initInfo: log.info(initInfo) # TODO: Set up a WDL cache area once the engine can use it. self.initialized &= self.tbcache_init(4 * 1024 * 1024, 0) if not self.initialized: log.warning("Failed to initialize Gaviota EGTB cache") self.tb_done() self.pathList = self.tbpaths_done(self.pathList) return self.availability = self.tb_availability() def _del(self): if self.initialized: self.tb_done() self.pathList = self.tbpaths_done(self.pathList) def supports(self, size): return self.initialized and ( sum(size) <= 2 or (self.availability & (3 << (2 * sum(size) - 6))) != 0) def scoreAllMoves(self, board): result, depth = self.scoreGame(board, False, False) if result is None: return [] scores = [] gen = board.isChecked() and genCheckEvasions or genAllMoves for move in gen(board): board.applyMove(move) if not board.opIsChecked(): result, depth = self.scoreGame(board, False, False) if result is None: log.warning( "An EGTB file does not have all its dependencies") board.popMove() return [] scores.append((move, result, depth)) board.popMove() def mateScore(mrd): if mrd[1] == DRAW: return 0 absScore = 32767 - mrd[2] if (board.color == WHITE) ^ (mrd[1] == WHITEWON): return absScore return -absScore scores.sort(key=mateScore) return scores def scoreGame(self, board, omitDepth, probeSoft): stm = board.color epsq = board.enpassant or 64 # 64 is tb_NOSQUARE castles = (board.castling >> 2 & 3) | (board.castling << 2 & 12) tbinfo = c_uint() depth = c_uint() SqArray = c_uint * 65 PcArray = c_byte * 65 pc, sq = [], [] for color in (WHITE, BLACK): sq.append(SqArray()) pc.append(PcArray()) i = 0 bb = board.friends[color] while bb: b = firstBit(bb) bb = clearBit(bb, b) sq[-1][i] = b pc[-1][i] = board.arBoard[b] i += 1 sq[-1][i] = 64 # tb_NOSQUARE, terminates the list pc[-1][i] = 0 # tb_NOPIECE, terminates the list if omitDepth and probeSoft: ok = self.tb_probe_WDL_soft(stm, epsq, castles, sq[WHITE], sq[BLACK], pc[WHITE], pc[BLACK], byref(tbinfo)) elif omitDepth and not probeSoft: ok = self.tb_probe_WDL_hard(stm, epsq, castles, sq[WHITE], sq[BLACK], pc[WHITE], pc[BLACK], byref(tbinfo)) elif not omitDepth and probeSoft: ok = self.tb_probe_soft(stm, epsq, castles, sq[WHITE], sq[BLACK], pc[WHITE], pc[BLACK], byref(tbinfo), byref(depth)) elif not omitDepth and not probeSoft: ok = self.tb_probe_hard(stm, epsq, castles, sq[WHITE], sq[BLACK], pc[WHITE], pc[BLACK], byref(tbinfo), byref(depth)) resultMap = [DRAW, WHITEWON, BLACKWON] if not ok or not 0 <= tbinfo.value <= 2: return None, None result = resultMap[tbinfo.value] if omitDepth or result == DRAW: depth = None else: depth = depth.value return result, depth def _loadLibrary(self): libName = "libgaviotatb.so.1.0.1" try: self.libgtb = CDLL(libName) except OSError: log.warning("Failed to load Gaviota EGTB library %s" % libName) return None return self.libgtb # Prototypes from gtb-probe.h follow. def _setupFunctionPrototypes(self): def proto(name, returnType, *args): argTypes = map(lambda x: x[0], args) argNames = map(lambda x: x[1], args) funcType = CFUNCTYPE(returnType, *argTypes) paramFlags = tuple(zip([1] * len(args), argNames)) setattr(self, name, funcType((name, self.libgtb), paramFlags)) paths_t = POINTER(c_char_p) uip = POINTER(c_uint) ucp = POINTER(c_byte) proto("tb_init", c_char_p, (c_int, "verbosity"), (c_int, "compression_scheme"), (paths_t, "paths")) proto("tb_restart", c_char_p, (c_int, "verbosity"), (c_int, "compression_scheme"), (paths_t, "paths")) proto("tb_done", None) proto("tb_probe_hard", c_int, (c_uint, "stm"), (c_uint, "epsq"), (c_uint, "castles"), (uip, "wSQ"), (uip, "bSQ"), (ucp, "wPC"), (ucp, "bPC"), (uip, "tbinfo"), (uip, "plies")) proto("tb_probe_soft", c_int, (c_uint, "stm"), (c_uint, "epsq"), (c_uint, "castles"), (uip, "wSQ"), (uip, "bSQ"), (ucp, "wPC"), (ucp, "bPC"), (uip, "tbinfo"), (uip, "plies")) proto("tb_probe_WDL_hard", c_int, (c_uint, "stm"), (c_uint, "epsq"), (c_uint, "castles"), (uip, "wSQ"), (uip, "bSQ"), (ucp, "wPC"), (ucp, "bPC"), (uip, "tbinfo")) proto("tb_probe_WDL_soft", c_int, (c_uint, "stm"), (c_uint, "epsq"), (c_uint, "castles"), (uip, "wSQ"), (uip, "bSQ"), (ucp, "wPC"), (ucp, "bPC"), (uip, "tbinfo")) proto("tb_is_initialized", c_int) proto("tb_availability", c_uint) proto("tb_indexmemory", c_size_t) proto("tbcache_init", c_int, (c_size_t, "cache_mem"), (c_int, "wdl_fraction")) proto("tbcache_restart", c_int, (c_size_t, "cache_mem"), (c_int, "wdl_fraction")) proto("tbcache_done", None) proto("tbcache_is_on", c_int) proto("tbcache_flush", None) proto("tbstats_reset", None) proto("tbstats_get", None, (POINTER(TbStats), "stats")) proto("tbpaths_init", paths_t) proto("tbpaths_add", paths_t, (paths_t, "ps"), (c_char_p, "newpath")) proto("tbpaths_done", paths_t, (paths_t, "ps")) proto("tbpaths_getmain", c_char_p) pychess-1.0.0/lib/pychess/Utils/lutils/strateval.py0000755000175000017500000006304613353143212021466 0ustar varunvarun""" This module differs from leval in that it is not optimized for speed. It checks differences between last and current board, and returns not scores, but strings describing the differences. Can be used for commenting on board changes. """ from .ldata import brank48, brank67, bitPosArray, left, right,\ stonewall, distance, isolaniMask, fileBits, passedScores, passedPawnMask,\ fromToRay, outpost, FILE, PIECE_VALUES,\ ray45, ray135, ray90, ray00 from .bitboard import clearBit, lastBit, iterBits from pychess.Utils.lutils.attack import staticExchangeEvaluate, getAttacks, \ defends from pychess.Utils.lutils.lmove import toSAN, TCORD, FCORD, FLAG, PROMOTE_PIECE from pychess.Utils.const import BLACK, WHITEWON, BLACKWON, DRAW,\ reprFile, reprCord, QUEEN_CASTLE, KING_CASTLE,\ WHITE, KNIGHT, BISHOP, ROOK, PAWN, KING, QUEEN, EMPTY, PROMOTIONS,\ FISCHERRANDOMCHESS,\ H7, G6, A7, B6, H2, G3, A2, B3, B7, G7, B2, G2, B_OO, B_OOO, W_OO, W_OOO from pychess.Utils.lutils.lmovegen import genCaptures, genAllMoves, newMove from pychess.Utils.lutils.validator import validateMove from pychess.Utils.repr import reprColor, reprPiece from . import leval def join(items): if len(items) == 1: return items[0] else: s = "%s %s %s" % (items[-2], _("and"), items[-1]) if len(items) > 2: s = ", ".join(items[:-2] + [s]) return s # Functions can be of types: # * Final: Will be shown alone: "mates", "draws" # * Moves (s): Will always be shown: "put into *" # * Prefix: Will always be shown: "castles", "promotes" # * Attack: Will always be shown: "threaten", "preassures", "defendes" # * Simple: (s) Max one will be shown: "develops", "activity" # * State: (s) Will always be shown: "new *" # * Tip: (s) Will sometimes be shown: "pawn storm", "cramped position" def final_status(model, ply, phase): if ply == model.ply: if model.status == DRAW: yield _("draws") elif model.status in (WHITEWON, BLACKWON): yield _("mates") def offencive_moves_check(model, ply, phase): if model.getBoardAtPly(ply).board.isChecked(): yield _("puts opponent in check") def defencive_moves_safety(model, ply, phase): board = model.getBoardAtPly(ply).board oldboard = model.getBoardAtPly(ply - 1).board if board.arBoard[TCORD(model.getMoveAtPly(ply - 1).move)] != KING: return color = oldboard.color opcolor = 1 - color delta_eval_king = leval.evalKing(board, color, phase) - \ leval.evalKing(oldboard, color, phase) # PyChess points tropism to queen for phase <= 3. Thus we set a high phase delta_eval_tropism = leval.evalKingTropism(board, opcolor, 10) - \ leval.evalKingTropism(oldboard, opcolor, 10) # Notice, that tropism was negative delta_score = delta_eval_king - delta_eval_tropism / 2 if delta_score > 35: yield _("improves king safety") elif delta_score > 15: yield _("slightly improves king safety") def offencive_moves_rook(model, ply, phase): move = model.getMoveAtPly(ply - 1).move tcord = TCORD(move) board = model.getBoardAtPly(ply).board color = 1 - board.color opcolor = 1 - color # We also detect rook-to-open castlings if board.arBoard[tcord] == KING: if FLAG(move) == QUEEN_CASTLE: tcord = tcord + 1 elif FLAG(move) == KING_CASTLE: tcord = tcord - 1 if board.arBoard[tcord] != ROOK: return color = 1 - board.color opcolor = 1 - color pawns = board.boards[color][PAWN] oppawns = board.boards[opcolor][PAWN] ffile = fileBits[FILE(FCORD(move))] tfile = fileBits[FILE(tcord)] if ffile & pawns and not tfile & pawns and bin(pawns).count("1") >= 3: if not tfile & oppawns: yield _("moves a rook to an open file") else: yield _("moves an rook to a half-open file") def offencive_moves_fianchetto(model, ply, phase): board = model.getBoardAtPly(ply).board tcord = TCORD(model.getMoveAtPly(ply - 1).move) movingcolor = 1 - board.color if movingcolor == WHITE: if board.castling & W_OO and tcord == G2: yield _("moves bishop into fianchetto: %s") % "g2" elif board.castling & W_OOO and tcord == B2: yield _("moves bishop into fianchetto: %s") % "b2" else: if board.castling & B_OO and tcord == G7: yield _("moves bishop into fianchetto: %s") % "g7" elif board.castling & B_OOO and tcord == B7: yield _("moves bishop into fianchetto: %s") % "b7" def prefix_type(model, ply, phase): flag = FLAG(model.getMoveAtPly(ply - 1).move) if flag in PROMOTIONS: yield _("promotes a Pawn to a %s") % reprPiece[PROMOTE_PIECE(flag)] elif flag in (KING_CASTLE, QUEEN_CASTLE): yield _("castles") def attack_type(model, ply, phase): # We set bishop value down to knight value, as it is what most people expect bishopBackup = PIECE_VALUES[BISHOP] PIECE_VALUES[BISHOP] = PIECE_VALUES[KNIGHT] board = model.getBoardAtPly(ply).board oldboard = model.getBoardAtPly(ply - 1).board if ply - model.lowply >= 2: oldmove = model.getMoveAtPly(ply - 2).move oldboard3 = model.getBoardAtPly(ply - 2).board else: oldmove = None move = model.getMoveAtPly(ply - 1).move tcord = TCORD(move) if oldboard.arBoard[tcord] != EMPTY: if not (board.variant == FISCHERRANDOMCHESS and FLAG(move) in (KING_CASTLE, QUEEN_CASTLE)): if oldmove and oldboard3.arBoard[TCORD(oldmove)] != EMPTY and \ TCORD(oldmove) == tcord: yield _("takes back material") else: see = staticExchangeEvaluate(oldboard, move) if see < 0: yield _("sacrifices material") elif see == 0: yield _("exchanges material") elif see > 0: yield _("captures material") else: see = staticExchangeEvaluate(oldboard, move) if see < 0: yield _("sacrifices material") PIECE_VALUES[BISHOP] = bishopBackup def defencive_moves_tactic(model, ply, phase): # ------------------------------------------------------------------------ # # Test if we threat something, or at least put more pressure on it # # ------------------------------------------------------------------------ # # We set bishop value down to knight value, as it is what most people expect bishopBackup = PIECE_VALUES[BISHOP] PIECE_VALUES[BISHOP] = PIECE_VALUES[KNIGHT] board = model.getBoardAtPly(ply).board oldboard = model.getBoardAtPly(ply - 1).board move = model.getMoveAtPly(ply - 1).move fcord = FCORD(move) tcord = TCORD(move) found_threatens = [] found_increases = [] # What do we attack now? board.setColor(1 - board.color) for ncap in genCaptures(board): # getCaptures also generate promotions if FLAG(ncap) in PROMOTIONS: continue # We are only interested in the attacks of the piece we just moved if FCORD(ncap) != TCORD(move): continue # We don't want to move back if TCORD(ncap) == FCORD(move): continue # We don't thread the king. We check him! (in another function) if board.arBoard[TCORD(ncap)] == KING: continue # If we also was able to attack that cord last time, we don't care if validateMove(oldboard, newMove(FCORD(move), TCORD(ncap))): continue # Test if we threats our enemy, at least more than before see0 = staticExchangeEvaluate(oldboard, TCORD(ncap), 1 - oldboard.color) see1 = staticExchangeEvaluate(board, TCORD(ncap), 1 - oldboard.color) if see1 > see0: # If a new winning capture has been created if see1 > 0: # Find the easiest attack attacks = getAttacks(board, TCORD(ncap), board.color) v, cord = min((PIECE_VALUES[board.arBoard[fc]], fc) for fc in iterBits(attacks)) easiestAttack = newMove(cord, TCORD(ncap)) found_threatens.append(toSAN(board, easiestAttack, True)) # Even though we might not yet be strong enough, we might still # have strengthened another friendly attack else: found_increases.append(reprCord[TCORD(ncap)]) board.setColor(1 - board.color) # -------------------------------------------------------------------- # # Test if we defend a one of our pieces # # -------------------------------------------------------------------- # found_defends = [] # Test which pieces were under attack used = [] for ncap in genCaptures(board): # getCaptures also generate promotions if FLAG(ncap) in PROMOTIONS: continue # We don't want to know about the same cord more than once if TCORD(ncap) in used: continue used.append(TCORD(ncap)) # If the attack was poining on the piece we just moved, we ignore it if TCORD(ncap) == FCORD(move) or TCORD(ncap) == TCORD(move): continue # If we were already defending the piece, we don't send a new # message if defends(oldboard, FCORD(move), TCORD(ncap)): continue # If the attack was not strong, we ignore it see = staticExchangeEvaluate(oldboard, ncap) if see < 0: continue v = defends(board, TCORD(move), TCORD(ncap)) # If the defend didn't help, it doesn't matter. Like defending a # bishop, threatened by a pawn, with a queen. # But on the other hand - it might still be a defend... # newsee = staticExchangeEvaluate(board, ncap) # if newsee <= see: continue if v: found_defends.append(reprCord[TCORD(ncap)]) # ------------------------------------------------------------------------ # # Test if we are rescuing an otherwise exposed piece # # ------------------------------------------------------------------------ # # Rescuing is only an option, if our own move wasn't an attack if oldboard.arBoard[tcord] == EMPTY: see0 = staticExchangeEvaluate(oldboard, fcord, oldboard.color) see1 = staticExchangeEvaluate(board, tcord, oldboard.color) if see1 > see0 and see1 > 0: yield _("rescues a %s") % reprPiece[board.arBoard[tcord]].lower() if found_threatens: yield _("threatens to win material by %s") % join(found_threatens) if found_increases: yield _("increases the pressure on %s") % join(found_increases) if found_defends: yield _("defends %s") % join(found_defends) PIECE_VALUES[BISHOP] = bishopBackup def offencive_moves_pin(model, ply, phase): board = model.getBoardAtPly(ply).board move = model.getMoveAtPly(ply - 1).move fcord = FCORD(move) tcord = TCORD(move) piece = board.arBoard[tcord] ray = 0 if piece in (BISHOP, QUEEN): ray |= (ray45[tcord] | ray135[tcord]) & ~(ray45[fcord] | ray135[fcord]) if piece in (ROOK, QUEEN): ray |= (ray00[tcord] | ray90[tcord]) & ~(ray00[fcord] | ray90[fcord]) if ray: for c in iterBits(ray & board.friends[board.color]): # We don't pin on pieces that are less worth than us if not PIECE_VALUES[piece] < PIECE_VALUES[board.arBoard[c]]: continue # There should be zero friendly pieces in between ray = fromToRay[tcord][c] if ray & board.friends[1 - board.color]: continue # There should be exactly one opponent piece in between op = clearBit(ray & board.friends[board.color], c) if bin(op).count("1") != 1: continue # The king can't be pinned pinned = lastBit(op) oppiece = board.arBoard[pinned] if oppiece == KING: continue # Yield yield _( "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s") % { 'oppiece': reprPiece[oppiece].lower(), 'piece': reprPiece[board.arBoard[c]].lower(), 'cord': reprCord[c]} def state_outpost(model, ply, phase): if phase >= 6: # Doesn't make sense in endgame return board = model.getBoardAtPly(ply).board oldboard = model.getBoardAtPly(ply - 1).board wpawns = board.boards[WHITE][PAWN] oldwpawns = oldboard.boards[WHITE][PAWN] bpawns = board.boards[BLACK][PAWN] oldbpawns = oldboard.boards[BLACK][PAWN] wpieces = board.boards[WHITE][BISHOP] | board.boards[WHITE][KNIGHT] oldwpieces = oldboard.boards[WHITE][BISHOP] | oldboard.boards[WHITE][ KNIGHT] bpieces = board.boards[BLACK][BISHOP] | board.boards[BLACK][KNIGHT] oldbpieces = oldboard.boards[BLACK][BISHOP] | oldboard.boards[BLACK][ KNIGHT] for cord in iterBits(wpieces): sides = isolaniMask[FILE(cord)] front = passedPawnMask[WHITE][cord] if outpost[WHITE][cord] and not bpawns & sides & front and \ (not oldwpieces & bitPosArray[cord] or oldbpawns & sides & front): yield 35, _("White has a new piece in outpost: %s") % reprCord[ cord] for cord in iterBits(bpieces): sides = isolaniMask[FILE(cord)] front = passedPawnMask[BLACK][cord] if outpost[BLACK][cord] and not wpawns & sides & front and \ (not oldbpieces & bitPosArray[cord] or oldwpawns & sides & front): yield 35, _("Black has a new piece in outpost: %s") % reprCord[ cord] def state_pawn(model, ply, phase): board = model.getBoardAtPly(ply).board oldboard = model.getBoardAtPly(ply - 1).board color = 1 - board.color opcolor = 1 - color move = model.getMoveAtPly(ply - 1).move pawns = board.boards[color][PAWN] oppawns = board.boards[opcolor][PAWN] oldpawns = oldboard.boards[color][PAWN] oldoppawns = oldboard.boards[opcolor][PAWN] # Passed pawns for cord in iterBits(pawns): if not oppawns & passedPawnMask[color][cord]: if color == WHITE: frontCords = fromToRay[cord][cord | 56] else: frontCords = fromToRay[cord][cord & 7] if frontCords & pawns: continue # Was this a passed pawn before? if oldpawns & bitPosArray[cord] and \ not oldoppawns & passedPawnMask[color][cord] and \ not frontCords & oldpawns: continue # Is this just a passed pawn that has been moved? if TCORD(move) == cord: frontCords |= bitPosArray[cord] if not frontCords & oldpawns and \ not oldoppawns & passedPawnMask[color][FCORD(move)]: continue score = (passedScores[color][cord >> 3] * phase) yield score, _("%(color)s has a new passed pawn on %(cord)s") % { 'color': reprColor[color], 'cord': reprCord[cord] } # Double pawns found_doubles = [] found_halfopen_doubles = [] found_white_isolates = [] found_black_isolates = [] for file in range(8): bits = fileBits[file] count = bin(pawns & bits).count("1") oldcount = bin(oldpawns & bits).count("1") opcount = bin(oppawns & bits).count("1") oldopcount = bin(oldoppawns & bits).count("1") # Single pawn -> double pawns if count > oldcount >= 1: if not opcount: found_halfopen_doubles.append(reprFile[file]) else: found_doubles.append(reprFile[file]) # Closed file double pawn -> half-open file double pawn elif count > 1 and opcount == 0 and oldopcount > 0: found_halfopen_doubles.append(reprFile[file]) # Isolated pawns if color == WHITE: wpawns = pawns oldwpawns = oldpawns bpawns = oppawns oldbpawns = oldoppawns else: bpawns = pawns oldbpawns = oldpawns wpawns = oppawns oldwpawns = oldoppawns if wpawns & bits and not wpawns & isolaniMask[file] and \ (not oldwpawns & bits or oldwpawns & isolaniMask[file]): found_white_isolates.append(reprFile[file]) if bpawns & bits and not bpawns & isolaniMask[file] and \ (not oldbpawns & bits or oldbpawns & isolaniMask[file]): found_black_isolates.append(reprFile[file]) # We need to take care of 'worstcases' like: "got new double pawns in the a # file, in the half-open b, c and d files and in the open e and f files" doubles_count = len(found_doubles) + len(found_halfopen_doubles) if doubles_count > 0: parts = [] for type_, list_ in (("", found_doubles), (_("half-open") + " ", found_halfopen_doubles)): if len(list_) == 1: parts.append(_("in the %(x)s%(y)s file") % {'x': type_, 'y': list_[0]}) elif len(list_) >= 2: parts.append(_("in the %(x)s%(y)s files") % {'x': type_, 'y': join(list_)}) if doubles_count == 1: s = _("%(color)s got a double pawn %(place)s") else: s = _("%(color)s got new double pawns %(place)s") yield (8 + phase) * 2 * doubles_count, s % {'color': reprColor[color], 'place': join(parts)} for (color_, list_) in ((WHITE, found_white_isolates), (BLACK, found_black_isolates)): if list_: yield 20 * len(list_), ngettext( "%(color)s got an isolated pawn in the %(x)s file", "%(color)s got isolated pawns in the %(x)s files", len(list_)) % {'color': reprColor[color_], 'x': join(list_)} # Stone wall if stonewall[color] & pawns == stonewall[color] and \ stonewall[color] & oldpawns != stonewall[color]: yield 10, _("%s moves pawns into stonewall formation") % reprColor[ color] def state_destroysCastling(model, ply, phase): """ Does the move destroy the castling ability of the opponent """ # If the move is a castling, nobody will every care if the castling # possibilities has changed if FLAG(model.getMoveAtPly(ply - 1).move) in (QUEEN_CASTLE, KING_CASTLE): return oldcastling = model.getBoardAtPly(ply - 1).board.castling castling = model.getBoardAtPly(ply).board.castling if oldcastling & W_OOO and not castling & W_OOO: if oldcastling & W_OO and not castling & W_OO: yield 900 / phase, _("%s can no longer castle") % reprColor[WHITE] else: yield 400 / phase, _( "%s can no longer castle in queenside") % reprColor[WHITE] elif oldcastling & W_OO and not castling & W_OO: yield 500 / phase, _( "%s can no longer castle in kingside") % reprColor[WHITE] if oldcastling & B_OOO and not castling & B_OOO: if oldcastling & B_OO and not castling & B_OO: yield 900 / phase, _("%s can no longer castle") % reprColor[BLACK] else: yield 400 / phase, _( "%s can no longer castle in queenside") % reprColor[BLACK] elif oldcastling & B_OO and not castling & B_OO: yield 500 / phase, _( "%s can no longer castle in kingside") % reprColor[BLACK] def state_trappedBishops(model, ply, phase): """ Check for bishops trapped at A2/H2/A7/H7 """ board = model.getBoardAtPly(ply).board oldboard = model.getBoardAtPly(ply - 1).board opcolor = board.color move = model.getMoveAtPly(ply - 1).move tcord = TCORD(move) # Only a pawn is able to trap a bishop if board.arBoard[tcord] != PAWN: return if tcord == B3: cord = A2 elif tcord == G3: cord = H2 elif tcord == B6: cord = A7 elif tcord == G6: cord = H7 else: return s = leval.evalTrappedBishops(board, opcolor) olds = leval.evalTrappedBishops(oldboard, opcolor) # We have got more points -> We have trapped a bishop if s > olds: yield 300 / phase, _( "%(opcolor)s has a new trapped bishop on %(cord)s") % { 'opcolor': reprColor[opcolor], 'cord': reprCord[cord]} def simple_tropism(model, ply, phase): board = model.getBoardAtPly(ply).board oldboard = model.getBoardAtPly(ply - 1).board color = oldboard.color move = model.getMoveAtPly(ply - 1).move fcord = FCORD(move) tcord = TCORD(move) arBoard = board.arBoard if arBoard[tcord] != PAWN: score = leval.evalKingTropism(board, color, phase) oldscore = leval.evalKingTropism(oldboard, color, phase) else: if color == WHITE: rank23 = brank67[BLACK] else: rank23 = brank67[WHITE] if bitPosArray[fcord] & rank23: yield 2, _("develops a pawn: %s") % reprCord[tcord] else: yield 1, _("brings a pawn closer to the backrow: %s") % reprCord[tcord] return king = board.kings[color] opking = board.kings[1 - color] if score > oldscore: # in FISCHERRANDOMCHESS unusual casting case the tcord is # the involved rook's position, not the king's destination! flag = move >> 12 if flag in (KING_CASTLE, QUEEN_CASTLE): piece = KING else: piece = arBoard[tcord] if phase >= 5 or distance[piece][fcord][opking] < \ distance[piece][fcord][king]: yield score - oldscore, _( "brings a %(piece)s closer to enemy king: %(cord)s") % { 'piece': reprPiece[piece], 'cord': reprCord[tcord]} else: yield ( score - oldscore) * 2, _("develops a %(piece)s: %(cord)s") % { 'piece': reprPiece[piece].lower(), 'cord': reprCord[tcord]} def simple_activity(model, ply, phase): board = model.getBoardAtPly(ply).board oldboard = model.getBoardAtPly(ply - 1).board move = model.getMoveAtPly(ply - 1).move fcord = FCORD(move) tcord = TCORD(move) board.setColor(1 - board.color) moves = len([m for m in genAllMoves(board) if FCORD(m) == tcord]) board.setColor(1 - board.color) oldmoves = len([m for m in genAllMoves(oldboard) if FCORD(m) == fcord]) if moves > oldmoves: yield (moves - oldmoves) / 2, _("places a %(piece)s more active: %(cord)s") % { 'piece': reprPiece[board.arBoard[tcord]].lower(), 'cord': reprCord[tcord]} def tip_pawnStorm(model, ply, phase): """ If players are castled in different directions we should storm in opponent side """ if phase >= 6: # We don't use this in endgame return board = model.getBoardAtPly(ply).board # if not board.hasCastled[WHITE] or not board.hasCastled[BLACK]: # # Only applies after castling for both sides # return wking = board.boards[WHITE][KING] bking = board.boards[BLACK][KING] wleft = bin(board.boards[WHITE][PAWN] & left).count("1") wright = bin(board.boards[WHITE][PAWN] & right).count("1") bleft = bin(board.boards[BLACK][PAWN] & left).count("1") bright = bin(board.boards[BLACK][PAWN] & right).count("1") if wking & left and bking & right: if wright > bright: yield (wright + 3 - bright) * 10, _("White should do pawn storm in right") elif bleft > wleft: yield (bright + 3 - wright) * 10, _("Black should do pawn storm in left") if wking & right and bking & left: if wleft > bleft: yield (wleft + 3 - bleft) * 10, _("White should do pawn storm in left") if bright > wright: yield (bleft + 3 - wleft) * 10, _("Black should do pawn storm in right") def tip_mobility(model, ply, phase): board = model.getBoardAtPly(ply).board colorBackup = board.color # People need a chance to get developed # if model.ply < 16: # return board.setColor(WHITE) wmoves = len([move for move in genAllMoves(board) if KNIGHT <= board.arBoard[FCORD(move)] <= QUEEN and bitPosArray[TCORD(move)] & brank48[WHITE] and staticExchangeEvaluate(board, move) >= 0]) board.setColor(BLACK) bmoves = len([move for move in genAllMoves(board) if KNIGHT <= board.arBoard[FCORD(move)] <= QUEEN and bitPosArray[TCORD(move)] & brank48[BLACK] and staticExchangeEvaluate(board, move) >= 0]) board.setColor(colorBackup) if wmoves - phase >= (bmoves + 1) * 7: yield wmoves - bmoves, _("Black has a rather cramped position") elif wmoves - phase >= (bmoves + 1) * 3: yield wmoves - bmoves, _("Black has a slightly cramped position") elif bmoves - phase >= (wmoves + 1) * 7: yield wmoves - bmoves, _("White has a rather cramped position") elif bmoves - phase >= (wmoves + 1) * 3: yield wmoves - bmoves, _("White has a slightly cramped position") pychess-1.0.0/lib/pychess/Utils/lutils/attack.py0000755000175000017500000002651713353143212020732 0ustar varunvarun from .bitboard import bitPosArray, notBitPosArray, lastBit, firstBit, clearBit, lsb from .ldata import moveArray, rays, directions, fromToRay, PIECE_VALUES, PAWN_VALUE from pychess.Utils.const import ASEAN_VARIANTS, ASEAN_BBISHOP, ASEAN_WBISHOP, ASEAN_QUEEN, \ BLACK, WHITE, PAWN, BPAWN, KNIGHT, BISHOP, ROOK, QUEEN, KING, ENPASSANT, ATOMICCHESS # # Caveat: Many functions in this module has very similar code. If you fix a # bug, or write a perforance enchace, please update all functions. Apologies # for the inconvenience # def isAttacked(board, cord, color, ischecked=False): """ To determine if cord is attacked by any pieces from color. """ _moveArray = moveArray pboards = board.boards[color] # Knights if pboards[KNIGHT] & _moveArray[KNIGHT][cord]: return True rayto = fromToRay[cord] blocker = board.blocker # Bishops & Queens if board.variant in ASEAN_VARIANTS: bishopMoves = _moveArray[ASEAN_BBISHOP if color == WHITE else ASEAN_WBISHOP] if pboards[BISHOP] & bishopMoves[cord]: return True if pboards[QUEEN] & _moveArray[ASEAN_QUEEN][cord]: return True else: bitboard = (pboards[BISHOP] | pboards[QUEEN]) & _moveArray[BISHOP][cord] if bitboard: others = ~bitboard & blocker # inlined iterBits() while bitboard: bit = bitboard & -bitboard ray = rayto[lsb[bit]] # If there is a path and no other piece stand in our way if ray and not ray & others: return True bitboard -= bit # Rooks & Queens if board.variant in ASEAN_VARIANTS: bitboard = pboards[ROOK] & _moveArray[ROOK][cord] else: bitboard = (pboards[ROOK] | pboards[QUEEN]) & _moveArray[ROOK][cord] if bitboard: others = ~bitboard & blocker # inlined iterBits() while bitboard: bit = bitboard & -bitboard ray = rayto[lsb[bit]] # If there is a path and no other piece stand in our way if ray and not ray & others: return True bitboard -= bit # Pawns # Would a pawn of the opposite color, standing at out kings cord, be able # to attack any of our pawns? ptype = color == WHITE and BPAWN or PAWN if pboards[PAWN] & _moveArray[ptype][cord]: return True # King if pboards[KING] & _moveArray[KING][cord]: if board.variant == ATOMICCHESS and ischecked: return False else: return True return False def getAttacks(board, cord, color): """ To create a bitboard of pieces of color, which attacks cord """ _moveArray = moveArray pieces = board.boards[color] # Knights bits = pieces[KNIGHT] & _moveArray[KNIGHT][cord] # Kings bits |= pieces[KING] & _moveArray[KING][cord] # Pawns bits |= pieces[PAWN] & _moveArray[color == WHITE and BPAWN or PAWN][cord] rayto = fromToRay[cord] blocker = board.blocker # Bishops and Queens if board.variant in ASEAN_VARIANTS: bishopMoves = _moveArray[ASEAN_BBISHOP if color == WHITE else ASEAN_WBISHOP] bits |= pieces[BISHOP] & bishopMoves[cord] bits |= pieces[QUEEN] & _moveArray[ASEAN_QUEEN][cord] else: bitboard = (pieces[BISHOP] | pieces[QUEEN]) & _moveArray[BISHOP][cord] # inlined iterBits() while bitboard: bit = bitboard & -bitboard c = lsb[bit] ray = rayto[c] if ray and not clearBit(ray & blocker, c): bits |= bitPosArray[c] bitboard -= bit # Rooks and queens if board.variant in ASEAN_VARIANTS: bitboard = pieces[ROOK] & _moveArray[ROOK][cord] else: bitboard = (pieces[ROOK] | pieces[QUEEN]) & _moveArray[ROOK][cord] # inlined iterBits() while bitboard: bit = bitboard & -bitboard c = lsb[bit] ray = rayto[c] if ray and not clearBit(ray & blocker, c): bits |= bitPosArray[c] bitboard -= bit return bits def pinnedOnKing(board, cord, color): # Determine if the piece on cord is pinned against its colors king. # In chess, a pin is a situation in which a piece is forced to stay put # because moving it would expose a more valuable piece behind it to # capture. # Caveat: pinnedOnKing should only be called by genCheckEvasions(). kingCord = board.kings[color] dir = directions[kingCord][cord] if dir == -1: return False opcolor = 1 - color blocker = board.blocker # Path from piece to king is blocked, so no pin if clearBit(fromToRay[kingCord][cord], cord) & blocker: return False b = (rays[kingCord][dir] ^ fromToRay[kingCord][cord]) & blocker if not b: return False cord1 = cord > kingCord and firstBit(b) or lastBit(b) # If diagonal if board.variant in ASEAN_VARIANTS: pass else: if dir <= 3 and bitPosArray[cord1] & \ (board.boards[opcolor][QUEEN] | board.boards[opcolor][BISHOP]): return True # Rank / file if board.variant in ASEAN_VARIANTS: if dir >= 4 and bitPosArray[cord1] & \ board.boards[opcolor][ROOK]: return True else: if dir >= 4 and bitPosArray[cord1] & \ (board.boards[opcolor][QUEEN] | board.boards[opcolor][ROOK]): return True return False def staticExchangeEvaluate(board, moveOrTcord, color=None): """ The GnuChess Static Exchange Evaluator (or SEE for short). First determine the target square. Create a bitboard of all squares attacking the target square for both sides. Using these 2 bitboards, we take turn making captures from smallest piece to largest piece. When a sliding piece makes a capture, we check behind it to see if another attacker piece has been exposed. If so, add this to the bitboard as well. When performing the "captures", we stop if one side is ahead and doesn't need to capture, a form of pseudo-minimaxing. """ # # Notice: If you use the tcord version, the color is the color attacked, and # the color to witch the score is relative. # swaplist = [0] if color is None: move = moveOrTcord flag = move >> 12 fcord = (move >> 6) & 63 tcord = move & 63 color = board.friends[BLACK] & bitPosArray[fcord] and BLACK or WHITE opcolor = 1 - color boards = board.boards[color] opboards = board.boards[opcolor] ours = getAttacks(board, tcord, color) ours = clearBit(ours, fcord) theirs = getAttacks(board, tcord, opcolor) if xray[board.arBoard[fcord]]: ours, theirs = addXrayPiece(board, tcord, fcord, color, ours, theirs) from pychess.Variants import variants PROMOTIONS = variants[board.variant].PROMOTIONS if flag in PROMOTIONS: swaplist = [PIECE_VALUES[flag - 3] - PAWN_VALUE] lastval = -PIECE_VALUES[flag - 3] else: if flag == ENPASSANT: swaplist = [PAWN_VALUE] else: swaplist = [PIECE_VALUES[board.arBoard[tcord]]] lastval = -PIECE_VALUES[board.arBoard[fcord]] else: tcord = moveOrTcord opcolor = 1 - color boards = board.boards[color] opboards = board.boards[opcolor] ours = getAttacks(board, tcord, color) theirs = getAttacks(board, tcord, opcolor) lastval = -PIECE_VALUES[board.arBoard[tcord]] while theirs: for piece in range(PAWN, KING + 1): r = theirs & opboards[piece] if r: cord = firstBit(r) theirs = clearBit(theirs, cord) if xray[piece]: ours, theirs = addXrayPiece(board, tcord, cord, color, ours, theirs) swaplist.append(swaplist[-1] + lastval) lastval = PIECE_VALUES[piece] break if not ours: break for piece in range(PAWN, KING + 1): r = ours & boards[piece] if r: cord = firstBit(r) ours = clearBit(ours, cord) if xray[piece]: ours, theirs = addXrayPiece(board, tcord, cord, color, ours, theirs) swaplist.append(swaplist[-1] + lastval) lastval = -PIECE_VALUES[piece] break # At this stage, we have the swap scores in a list. We just need to # mini-max the scores from the bottom up to the top of the list. for n in range(len(swaplist) - 1, 0, -1): if n & 1: if swaplist[n] <= swaplist[n - 1]: swaplist[n - 1] = swaplist[n] else: if swaplist[n] >= swaplist[n - 1]: swaplist[n - 1] = swaplist[n] return swaplist[0] xray = (False, True, False, True, True, True, False) def addXrayPiece(board, tcord, fcord, color, ours, theirs): """ This is used by swapOff. The purpose of this routine is to find a piece which attack through another piece (e.g. two rooks, Q+B, B+P, etc.) Color is the side attacking the square where the swapping is to be done. """ dir = directions[tcord][fcord] a = rays[fcord][dir] & board.blocker if not a: return ours, theirs if tcord < fcord: ncord = firstBit(a) else: ncord = lastBit(a) piece = board.arBoard[ncord] if board.variant in ASEAN_VARIANTS: cond = piece == ROOK and dir > 3 else: cond = piece == QUEEN or ( piece == ROOK and dir > 3) or ( piece == BISHOP and dir < 4) if cond: bit = bitPosArray[ncord] if bit & board.friends[color]: ours |= bit else: theirs |= bit return ours, theirs def defends(board, fcord, tcord): """ Could fcord attack tcord if the piece on tcord wasn't on the team of fcord? Doesn't test check. """ # Work on a board copy, as we are going to change some stuff board = board.clone() if board.friends[WHITE] & bitPosArray[fcord]: color = WHITE else: color = BLACK opcolor = 1 - color boards = board.boards[color] opboards = board.boards[opcolor] # To see if we now defend the piece, we have to "give" it to the other team piece = board.arBoard[tcord] # backup = boards[piece] # opbackup = opboards[piece] boards[piece] &= notBitPosArray[tcord] opboards[piece] |= bitPosArray[tcord] board.friends[color] &= notBitPosArray[tcord] board.friends[opcolor] |= bitPosArray[tcord] # Can we "attack" the piece now? backupColor = board.color board.setColor(color) from .lmovegen import newMove from .validator import validateMove islegal = validateMove(board, newMove(fcord, tcord)) board.setColor(backupColor) # We don't need to set the board back, as we work on a copy # boards[piece] = backup # opboards[piece] = opbackup # board.friends[color] |= bitPosArray[tcord] # board.friends[opcolor] &= notBitPosArray[tcord] return islegal pychess-1.0.0/lib/pychess/Utils/lutils/leval.py0000755000175000017500000005376213432501072020570 0ustar varunvarun # The purpose of this module, is to give a certain position a score. # The greater the score, the better the position from pychess.Utils.const import WHITE, BLACK, LOSERSCHESS, SUICIDECHESS, GIVEAWAYCHESS,\ ASEAN_VARIANTS, ATOMICCHESS, CRAZYHOUSECHESS, RACINGKINGSCHESS, THREECHECKCHESS,\ BPAWN, BISHOP, KNIGHT, QUEEN, KING, PAWN, ROOK, \ CAS_FLAGS, H7, B6, A7, H2, G3, A2, B3, G6, D1, G8, B8, G1, B1 from .bitboard import iterBits, firstBit, lsb from .ldata import fileBits, bitPosArray, PIECE_VALUES, FILE, RANK, PAWN_VALUE,\ WHITE_SQUARES, BLACK_SQUARES, ASEAN_PIECE_VALUES, ATOMIC_PIECE_VALUES, CRAZY_PIECE_VALUES,\ kwingpawns1, kwingpawns2, qwingpawns1, qwingpawns2, frontWall, endingKing,\ brank7, brank8, distance, isolaniMask, d2e2, passedScores, squarePawnMask,\ moveArray, brank67, lbox, stonewall, isolani_normal, isolani_weaker,\ passedPawnMask, fromToRay, pawnScoreBoard, sdistance, taxicab, racingKing from .lsort import staticExchangeEvaluate from .lmovegen import newMove from pychess.Variants.threecheck import checkCount from pychess.Variants.racingkings import testKingInEightRow from ctypes import create_string_buffer, memset from struct import Struct # from random import randint randomval = 0 # randint(8,12)/10. CHECK_BONUS = (0, 100, 500, 2000) def evaluateComplete(board, color): """ A detailed evaluation function, taking into account several positional factors """ s, phase = evalMaterial(board, color) if board.variant in (LOSERSCHESS, SUICIDECHESS, GIVEAWAYCHESS): return s s += evalKing(board, color, phase) - evalKing(board, 1 - color, phase) if board.variant == RACINGKINGSCHESS or board.variant == THREECHECKCHESS: return s s += evalBishops(board, color, phase) - evalBishops(board, 1 - color, phase) s += evalRooks(board, color, phase) - evalRooks(board, 1 - color, phase) s += evalDoubleQR7(board, color, phase) - evalDoubleQR7(board, 1 - color, phase) s += evalKingTropism(board, color, phase) - evalKingTropism(board, 1 - color, phase) if board.variant in ASEAN_VARIANTS: return s s += evalDev(board, color, phase) - evalDev(board, 1 - color, phase) if board.variant == ATOMICCHESS: return s pawnScore, passed, weaked = cacheablePawnInfo(board, phase) s += pawnScore if color == WHITE else -pawnScore s += evalPawnStructure(board, color, phase, passed, weaked) - evalPawnStructure(board, 1 - color, phase, passed, weaked) s += evalTrappedBishops(board, color) s += randomval return s ################################################################################ # evalMaterial # ################################################################################ def evalMaterial(board, color): # While opp reached rank 8 we can save the game if we also reach it # but for this we have to force the shortest (one king move) draw line! if board.variant == RACINGKINGSCHESS and testKingInEightRow(board): return [0, 0] pieceCount = board.pieceCount opcolor = 1 - color material = [0, 0] if board.variant == CRAZYHOUSECHESS: for piece in range(PAWN, KING): material[WHITE] += CRAZY_PIECE_VALUES[piece] * pieceCount[WHITE][ piece] material[BLACK] += CRAZY_PIECE_VALUES[piece] * pieceCount[BLACK][ piece] material[WHITE] += CRAZY_PIECE_VALUES[piece] * board.holding[ WHITE][piece] material[BLACK] += CRAZY_PIECE_VALUES[piece] * board.holding[ BLACK][piece] elif board.variant == LOSERSCHESS: for piece in range(PAWN, KING): material[WHITE] += pieceCount[WHITE][piece] material[BLACK] += pieceCount[BLACK][piece] elif board.variant == SUICIDECHESS or board.variant == GIVEAWAYCHESS: for piece in range(PAWN, KING + 1): material[WHITE] += pieceCount[WHITE][piece] material[BLACK] += pieceCount[BLACK][piece] elif board.variant == ATOMICCHESS: for piece in range(PAWN, KING + 1): material[WHITE] += ATOMIC_PIECE_VALUES[piece] * pieceCount[WHITE][ piece] material[BLACK] += ATOMIC_PIECE_VALUES[piece] * pieceCount[BLACK][ piece] elif board.variant in ASEAN_VARIANTS: for piece in range(PAWN, KING + 1): material[WHITE] += ASEAN_PIECE_VALUES[piece] * pieceCount[WHITE][ piece] material[BLACK] += ASEAN_PIECE_VALUES[piece] * pieceCount[BLACK][ piece] else: for piece in range(PAWN, KING): material[WHITE] += PIECE_VALUES[piece] * pieceCount[WHITE][piece] material[BLACK] += PIECE_VALUES[piece] * pieceCount[BLACK][piece] phase = max(1, 8 - (material[WHITE] + material[BLACK]) // 1150) # If both sides are equal, we don't need to compute anything! if material[BLACK] == material[WHITE]: return 0, phase matTotal = sum(material) # Who is leading the game, material-wise? if material[color] > material[opcolor]: leading = color else: leading = opcolor if board.variant in (LOSERSCHESS, SUICIDECHESS, GIVEAWAYCHESS): val = material[leading] - material[1 - leading] val = int(100 * PAWN_VALUE * val / max(material[WHITE], material[BLACK])) if leading == 1 - color: return val, phase return -val, phase pawns = pieceCount[leading][PAWN] matDiff = material[leading] - material[1 - leading] val = min(2400, matDiff) + (matDiff * (12000 - matTotal) * pawns) // (6400 * (pawns + 1)) if leading == color: return val, phase return -val, phase ################################################################################ # evalKingTropism # ################################################################################ pawnTropism = [[0] * 64 for i in range(64)] bishopTropism = [[0] * 64 for i in range(64)] knightTropism = [[0] * 64 for i in range(64)] rookTropism = [[0] * 64 for i in range(64)] queenTropism = [[0] * 64 for i in range(64)] for pcord in range(64): for kcord in range(pcord + 1, 64): pawnTropism[pcord][kcord] = pawnTropism[kcord][pcord] = \ (14 - taxicab[pcord][kcord])**2 * 10 / 169 knightTropism[pcord][kcord] = knightTropism[kcord][pcord] = \ (6 - distance[KNIGHT][pcord][kcord])**2 * 2 bishopTropism[pcord][kcord] = bishopTropism[kcord][pcord] = \ (14 - distance[BISHOP][pcord][kcord] * sdistance[pcord][kcord])**2 * 30 // 169 rookTropism[pcord][kcord] = rookTropism[kcord][pcord] = \ (14 - distance[ROOK][pcord][kcord] * sdistance[pcord][kcord])**2 * 40 // 169 queenTropism[pcord][kcord] = queenTropism[kcord][pcord] = \ (14 - distance[QUEEN][pcord][kcord] * sdistance[pcord][kcord])**2 * 50 // 169 tropisms = { PAWN: pawnTropism, KNIGHT: knightTropism, BISHOP: bishopTropism, ROOK: rookTropism, QUEEN: queenTropism } def evalKingTropism(board, color, phase): """ All other things being equal, having your Knights, Queens and Rooks close to the opponent's king is a good thing """ _tropisms = tropisms _lsb = lsb opcolor = 1 - color pieces = board.boards[color] opking = board.kings[opcolor] score = 0 for piece in range(KNIGHT, KING): # for piece in range(PAWN, KING): bitboard = pieces[piece] tropism = _tropisms[piece] # inlined iterBits() while bitboard: bit = bitboard & -bitboard score += tropism[_lsb[bit]][opking] bitboard -= bit return score ################################################################################ # evalPawnStructure # ################################################################################ # For pawn hash, don't use buckets. Store: # key high 16 bits of pawn hash key # score score from white's point of view # passed bitboard of passed pawns # weaked bitboard of weak pawns pawnEntryType = Struct('=H h Q Q') PAWN_HASH_SIZE = 16384 PAWN_PHASE_KEY = (0x343d, 0x055d, 0x3d3c, 0x1a1c, 0x28aa, 0x19ee, 0x1538, 0x2a99) pawntable = create_string_buffer(PAWN_HASH_SIZE * pawnEntryType.size) def clearPawnTable(): memset(pawntable, 0, PAWN_HASH_SIZE * pawnEntryType.size) def probePawns(board, phase): index = (board.pawnhash % PAWN_HASH_SIZE) ^ PAWN_PHASE_KEY[phase - 1] key, score, passed, weaked = pawnEntryType.unpack_from(pawntable, index * pawnEntryType.size) if key == (board.pawnhash >> 14) & 0xffff: return score, passed, weaked return None def recordPawns(board, phase, score, passed, weaked): index = (board.pawnhash % PAWN_HASH_SIZE) ^ PAWN_PHASE_KEY[phase - 1] key = (board.pawnhash >> 14) & 0xffff pawnEntryType.pack_into(pawntable, index * pawnEntryType.size, key, score, passed, weaked) def cacheablePawnInfo(board, phase): entry = probePawns(board, phase) if entry: return entry score = 0 passed = 0 weaked = 0 for color in WHITE, BLACK: opcolor = 1 - color pawns = board.boards[color][PAWN] oppawns = board.boards[opcolor][PAWN] nfile = [0] * 8 pScoreBoard = pawnScoreBoard[color] for cord in iterBits(pawns): score += pScoreBoard[cord] * 2 # Passed pawns if not oppawns & passedPawnMask[color][cord]: if (color == WHITE and not fromToRay[cord][cord | 56] & pawns) or\ (color == BLACK and not fromToRay[cord][cord & 7] & pawns): passed |= bitPosArray[cord] score += (passedScores[color][cord >> 3] * phase) // 12 # Backward pawns backward = False if color == WHITE: i = cord + 8 else: i = cord - 8 ptype = color == WHITE and PAWN or BPAWN opptype = color == BLACK and PAWN or BPAWN if not (passedPawnMask[opcolor][i] & ~fileBits[cord & 7] & pawns) and\ board.arBoard[i] != PAWN: n1 = bin(pawns & moveArray[opptype][i]).count("1") n2 = bin(oppawns & moveArray[ptype][i]).count("1") if n1 < n2: backward = True if not backward and bitPosArray[cord] & brank7[opcolor]: i = i + (color == WHITE and 8 or -8) if not (passedPawnMask[opcolor][i] & ~fileBits[1] & pawns): n1 = bin(pawns & moveArray[opptype][i]).count("1") n2 = bin(oppawns & moveArray[ptype][i]).count("1") if n1 < n2: backward = True if not backward and bitPosArray[cord] & brank7[opcolor]: i = i + (color == WHITE and 8 or -8) if not (passedPawnMask[opcolor][i] & ~fileBits[1] & pawns): n1 = bin(pawns & moveArray[opptype][i]).count("1") n2 = bin(oppawns & moveArray[ptype][i]).count("1") if n1 < n2: backward = True if backward: weaked |= bitPosArray[cord] score += -(8 + phase) # Backward pawn penalty # Pawn base under attack if moveArray[ptype][cord] & oppawns and \ moveArray[ptype][cord] & pawns: score += -18 # Increment file count for isolani & doubled pawn evaluation nfile[cord & 7] += 1 for i in range(8): # Doubled pawns if nfile[i] > 1: score += -(8 + phase) # Isolated pawns if nfile[i] and not pawns & isolaniMask[i]: if not fileBits[i] & oppawns: # Isolated on a half-open file score += isolani_weaker[i] * nfile[i] else: # Normal isolated pawn score += isolani_normal[i] * nfile[i] weaked |= pawns & fileBits[i] # Penalize having eight pawns if board.pieceCount[color][PAWN] == 8: score -= 10 # Detect stonewall formation in our pawns if stonewall[color] & pawns == stonewall[color]: score += 10 # Penalize Locked pawns n = bin((pawns >> 8) & oppawns & lbox).count("1") score -= n * 10 # Switch point of view when switching colors score = -score recordPawns(board, phase, score, passed, weaked) return score, passed, weaked def evalPawnStructure(board, color, phase, passed, weaked): """ Pawn evaluation is based on the following factors: 1. Pawn square tables. 2. Passed pawns. 3. Backward pawns. 4. Pawn base under attack. 5. Doubled pawns 6. Isolated pawns 7. Connected passed pawns on 6/7th rank. 8. Unmoved & blocked d, e pawn 9. Passed pawn which cannot be caught. 10. Pawn storms. Notice: The function has better precicion for current player """ boards = board.boards[color] if not boards[PAWN]: return 0 king = board.kings[color] pawns = boards[PAWN] opcolor = 1 - color opking = board.kings[opcolor] opboards = board.boards[opcolor] score = 0 passed &= pawns weaked &= pawns # This section of the pawn code cannot be saved into the pawn hash as # they depend on the position of other pieces. So they have to be # calculated again. if passed: # Connected passed pawns on 6th or 7th rank t = passed & brank67[color] opMajorCount = 0 for p in range(KNIGHT, KING): opMajorCount += board.pieceCount[opcolor][p] if t and opMajorCount == 1: n1 = FILE(opking) n2 = RANK(opking) for f in range(7): if t & fileBits[f] and t & fileBits[f + 1] and \ (n1 < f - 1 or n1 > f + 1 or (color == WHITE and n2 < 4) or (color == BLACK and n2 > 3)): score += 50 # Enemy has no pieces & King is outcolor of passed pawn square if not opMajorCount: for cord in iterBits(passed): if board.color == color: if not squarePawnMask[color][cord] & opboards[KING]: score += passedScores[color][RANK(cord)] else: if not moveArray[KING][opking] & squarePawnMask[color][ cord]: score += passedScores[color][RANK(cord)] # Estimate if any majors are able to hunt us down for pawn in iterBits(passed): found_hunter = False if color == WHITE: prom_cord = 7 << 3 | FILE(pawn) else: prom_cord = FILE(pawn) distance_to_promotion = distance[PAWN][pawn][prom_cord] for piece in range(KNIGHT, KING + 1): for cord in iterBits(opboards[piece]): hunter_distance = distance[piece][cord][prom_cord] if hunter_distance <= distance_to_promotion: found_hunter = True break if found_hunter: break if not found_hunter: score += passedScores[color][RANK(pawn)] // 5 # Penalize Pawn on d2,e2/d7,e7 is blocked blocker = board.blocker if color == WHITE and ((pawns & d2e2[WHITE]) >> 8) & blocker: score -= 48 elif color == BLACK and ((pawns & d2e2[BLACK]) << 8) & blocker: score -= 48 # If both colors are castled on different colors, bonus for pawn storms if abs(FILE(king) - FILE(opking)) >= 4 and phase < 6: n1 = FILE(opking) p = (isolaniMask[n1] | fileBits[n1]) & pawns score += sum(10 * (5 - distance[KING][c][opking]) for c in iterBits(p)) return score # evalBateries def evalDoubleQR7(board, color, phase): """ Tests for QR, RR, QB and BB combos on the 7th rank. These are dangerous to kings, and good at killing pawns """ opcolor = 1 - board.color boards = board.boards[color] opboards = board.boards[opcolor] if bin((boards[QUEEN] | boards[ROOK]) & brank7[color]).count("1") >= 2 and \ (opboards[KING] & brank8[color] or opboards[PAWN] & brank7[color]): return 30 return 0 def evalKing(board, color, phase): # Should avoid situations like those: # r - - - n K - - # which makes forks more easy # and # R - - - K - - - # and # - - - - - - - - # - - - K - - - - # - - - - - - - - # - - - - - - - - # - - - - - - B - # which might turn bad # Also being check should be avoided, like # - q - - - K - r # and # - - - - - n - - # - - - K - - - R king = board.kings[color] if board.variant == RACINGKINGSCHESS: return racingKing[king] if board.variant == THREECHECKCHESS: return CHECK_BONUS[min(3, checkCount(board, 1 - color))] # If we are in endgame, we want our king in the center, and theirs far away if phase >= 6: return endingKing[king] # else if castled, prefer having some pawns in front elif FILE(king) not in (3, 4) and RANK(king) in (0, 8): if color == WHITE: if FILE(king) < 3: wall1 = frontWall[color][B1] else: wall1 = frontWall[color][G1] wall2 = wall1 >> 8 else: if FILE(king) < 3: wall1 = frontWall[color][B8] else: wall1 = frontWall[color][G8] wall2 = wall1 << 8 pawns = board.boards[color][PAWN] total_in_front = bin(wall1 | wall2 & pawns).count("1") numbermod = (0, 3, 6, 9, 7, 5, 3)[total_in_front] s = bin(wall1 & pawns).count("1") * 2 + bin(wall2 & pawns).count("1") return (s * numbermod * 5) // 6 return 0 def evalDev(board, color, phase): """ Calculate the development score for side (for opening only). Penalize the following. . Uncastled and cannot castled . Early queen move. - bad wing pawns """ # If we are castled or beyond the 20th move, no more evalDev if board.plyCount >= 38: return 0 score = 0 if not board.hasCastled[color]: boards = board.boards[color] pawns = boards[PAWN] # We don't encourage castling, but it should always be possible if not board.castling & CAS_FLAGS[color][0]: score -= 40 if not board.castling & CAS_FLAGS[color][1]: score -= 50 # Should keep queen home cord = firstBit(boards[QUEEN]) if cord != D1 + 56 * color: score -= 30 qpawns = max(qwingpawns1[color] & pawns, qwingpawns2[color] & pawns) kpawns = max(kwingpawns1[color] & pawns, kwingpawns2[color] & pawns) if qpawns != 2 and kpawns != 2: # Structure destroyed in both sides score -= 35 else: # Discourage any wing pawn moves score += (qpawns + kpawns) * 6 return score def evalBishops(board, color, phase): opcolor = 1 - color bishops = board.boards[color][BISHOP] if not bishops: return 0 pawns = board.boards[color][PAWN] oppawns = board.boards[opcolor][PAWN] score = 0 # Avoid having too many pawns on you bishop's color. # In late game phase, add a bonus for enemy pieces on your bishop's color. if board.pieceCount[color][BISHOP] == 1: squareMask = WHITE_SQUARES if (bishops & WHITE_SQUARES) else BLACK_SQUARES score = - bin(pawns & squareMask).count("1") \ - bin(oppawns & squareMask).count("1") // 2 if phase > 6: score += bin(board.friends[1 - color] & squareMask).count("1") return score def evalTrappedBishops(board, color): """ Check for bishops trapped at A2/H2/A7/H7 """ _bitPosArray = bitPosArray wbishops = board.boards[WHITE][BISHOP] bbishops = board.boards[BLACK][BISHOP] wpawns = board.boards[WHITE][PAWN] bpawns = board.boards[BLACK][PAWN] score = 0 if bbishops: if bbishops & _bitPosArray[A2] and wpawns & _bitPosArray[B3]: see = staticExchangeEvaluate(board, newMove(A2, B3)) if see < 0: score -= see if bbishops & _bitPosArray[H2] and wpawns & _bitPosArray[G3]: see = staticExchangeEvaluate(board, newMove(H2, G3)) if see < 0: score -= see if wbishops: if wbishops & _bitPosArray[A7] and bpawns & _bitPosArray[B6]: see = staticExchangeEvaluate(board, newMove(A7, B6)) if see < 0: score += see if wbishops & _bitPosArray[H7] and bpawns & _bitPosArray[G6]: see = staticExchangeEvaluate(board, newMove(H7, G6)) if see < 0: score += see return score if color == WHITE else -score def evalRooks(board, color, phase): """ rooks on open/half-open files """ opcolor = 1 - color boards = board.boards[color] rooks = boards[ROOK] if not rooks: return 0 opking = board.kings[opcolor] score = 0 if phase < 7: for cord in iterBits(rooks): file = cord & 7 if not boards[PAWN] & fileBits[file]: if file == 5 and opking & 7 >= 4: score += 40 score += 5 if not boards[PAWN] & fileBits[file]: score += 6 return score pychess-1.0.0/lib/pychess/Utils/lutils/__init__.py0000755000175000017500000000000013353143212021175 0ustar varunvarunpychess-1.0.0/lib/pychess/Utils/lutils/ldata.py0000755000175000017500000004570613415445407020563 0ustar varunvarun from functools import reduce from operator import or_ from pychess.Utils.const import WHITE, BLACK, KING, PAWN, EMPTY, KNIGHT, ROOK, BISHOP, QUEEN, \ A1, A2, A3, A4, A5, A6, A7, A8, \ B2, C3, D4, E5, F6, G7, H8,\ B7, C6, D5, E4, F3, G2, H1, \ B1, B8, H2, H7, G3, G6, B3, B6, sliders from .bitboard import bitPosArray, iterBits, setBit def RANK(cord): return cord >> 3 def FILE(cord): return cord & 7 # Evaluating constants PAWN_VALUE = 100 KNIGHT_VALUE = 300 BISHOP_VALUE = 330 ROOK_VALUE = 500 QUEEN_VALUE = 900 KING_VALUE = 2000 PIECE_VALUES = [0, PAWN_VALUE, KNIGHT_VALUE, BISHOP_VALUE, ROOK_VALUE, QUEEN_VALUE, KING_VALUE] ASEAN_PIECE_VALUES = (0, 100, 450, 300, 630, 180, 2000) CRAZY_PIECE_VALUES = (0, 100, 200, 240, 240, 380, 2000) ATOMIC_PIECE_VALUES = (0, 100, 90, 0, 220, 850, 2000) # Maximum possible search depth. The hash structure only allows 8-bit depths. MAXPLY = 10 # Maximum possible score. Mate in n ply is +/- (MATE_VALUE-n). # The hash structure only allows signed 16-bit scores. MATE_VALUE = MAXVAL = 32767 MATE_DEPTH = 255 def VALUE_AT_PLY(val, ply): """ Return the value of scoring val a given number of plies into the future. """ if val >= +32512: return val - ply if val <= -32512: return val + ply return val # How many points does it give to have the piece standing i cords from the # opponent king pawnTScale = [0, 40, 20, 12, 9, 6, 4, 2, 1, 0] bishopTScale = [0, 50, 25, 15, 7, 5, 3, 2, 2, 1] knightTScale = [0, 100, 50, 35, 10, 3, 2, 2, 1, 1] rookTScale = [0, 50, 40, 15, 5, 2, 1, 1, 1, 0] queenTScale = [0, 100, 60, 20, 10, 7, 5, 4, 3, 2] passedScores = ((0, 48, 48, 120, 144, 192, 240, 0), (0, 240, 192, 144, 120, 48, 48, 0)) # Penalties for one or more isolated pawns on a given file isolani_normal = (-8, -10, -12, -14, -14, -12, -10, -8) # Penalties if the file is half-open (i.e. no enemy pawns on it) isolani_weaker = (-22, -24, -26, -28, -28, -26, -24, -22) # Distance boards for different pieces taxicab = [[0] * 64 for i in range(64)] sdistance = [[0] * 64 for i in range(64)] for fcord in range(64): for tcord in range(fcord + 1, 64): fx = FILE(fcord) fy = RANK(fcord) tx = FILE(tcord) ty = RANK(tcord) taxicab[fcord][tcord] = taxicab[fcord][tcord] = abs(fx - tx) + abs(fy - ty) sdistance[fcord][tcord] = sdistance[fcord][tcord] = min( abs(fx - tx), abs(fy - ty)) distance = [[[0] * 64 for i in range(64)] for j in range(KING + 1)] distance[EMPTY] = None distance[KING] = sdistance distance[PAWN] = sdistance # Special table for knightdistances knightDistance = [ 6, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 6, 5, 4, 5, 4, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 5, 4, 5, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 5, 4, 3, 4, 3, 2, 3, 2, 3, 2, 3, 4, 3, 4, 5, 4, 3, 4, 3, 2, 3, 2, 3, 2, 3, 2, 3, 4, 3, 4, 5, 4, 3, 2, 3, 4, 1, 2, 1, 4, 3, 2, 3, 4, 5, 4, 3, 4, 3, 2, 1, 2, 3, 2, 1, 2, 3, 4, 3, 4, 5, 4, 3, 2, 3, 2, 3, 0, 3, 2, 3, 2, 3, 4, 5, 4, 3, 4, 3, 2, 1, 2, 3, 2, 1, 2, 3, 4, 3, 4, 5, 4, 3, 2, 3, 4, 1, 2, 1, 4, 3, 2, 3, 4, 5, 4, 3, 4, 3, 2, 3, 2, 3, 2, 3, 2, 3, 4, 3, 4, 5, 4, 3, 4, 3, 2, 3, 2, 3, 2, 3, 4, 3, 4, 5, 4, 5, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 5, 4, 5, 4, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 5, 6, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 6, ] # Calculate for fcord in range(64): frank = RANK(fcord) ffile = FILE(fcord) for tcord in range(fcord + 1, 64): # Notice, that we skip fcord == tcord, as all fields are zero from # scratch in anyway trank = RANK(tcord) tfile = FILE(tcord) # Knight field = (7 - frank + trank) * 15 + 7 - ffile + tfile distance[KNIGHT][tcord][fcord] = distance[KNIGHT][fcord][tcord] = \ knightDistance[field] # Rook if frank == trank or ffile == tfile: distance[ROOK][tcord][fcord] = distance[ROOK][fcord][tcord] = 1 else: distance[ROOK][tcord][fcord] = distance[ROOK][fcord][tcord] = 2 # Bishop if abs(frank - trank) == abs(ffile - tfile): distance[BISHOP][tcord][fcord] = distance[BISHOP][fcord][tcord] = 1 else: distance[BISHOP][tcord][fcord] = distance[BISHOP][fcord][tcord] = 2 # Queen if frank == trank or ffile == tfile or abs(frank - trank) == abs( ffile - tfile): distance[QUEEN][tcord][fcord] = distance[QUEEN][fcord][tcord] = 1 else: distance[QUEEN][tcord][fcord] = distance[QUEEN][fcord][tcord] = 2 # Special cases for knights in corners distance[KNIGHT][A1][B2] = distance[KNIGHT][B2][A1] = 4 distance[KNIGHT][H1][G2] = distance[KNIGHT][G2][H1] = 4 distance[KNIGHT][A8][B7] = distance[KNIGHT][B7][A8] = 4 distance[KNIGHT][H8][G7] = distance[KNIGHT][G7][H8] = 4 ############################################################################### # Boards used for evaluating ############################################################################### pawnScoreBoard = ( (0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, -10, -10, 5, 5, 5, -2, -2, -2, 6, 6, -2, -2, -2, 0, 0, 0, 25, 25, 0, 0, 0, 2, 2, 12, 16, 16, 12, 2, 2, 4, 8, 12, 16, 16, 12, 4, 4, 4, 8, 12, 16, 16, 12, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0), (0, 0, 0, 0, 0, 0, 0, 0, 4, 8, 12, 16, 16, 12, 4, 4, 4, 8, 12, 16, 16, 12, 4, 4, 2, 2, 12, 16, 16, 12, 2, 2, 0, 0, 0, 25, 25, 0, 0, 0, -2, -2, -2, 6, 6, -2, -2, -2, 5, 5, 5, -10, -10, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0)) outpost = ((0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)) normalKing = (24, 24, 24, 16, 16, 0, 32, 32, 24, 20, 16, 12, 12, 16, 20, 24, 16, 12, 8, 4, 4, 8, 12, 16, 12, 8, 4, 0, 0, 4, 8, 12, 12, 8, 4, 0, 0, 4, 8, 12, 16, 12, 8, 4, 4, 8, 12, 16, 24, 20, 16, 12, 12, 16, 20, 24, 24, 24, 24, 16, 16, 0, 32, 32) endingKing = (0, 6, 12, 18, 18, 12, 6, 0, 6, 12, 18, 24, 24, 18, 12, 6, 12, 18, 24, 32, 32, 24, 18, 12, 18, 24, 32, 48, 48, 32, 24, 18, 18, 24, 32, 48, 48, 32, 24, 18, 12, 18, 24, 32, 32, 24, 18, 12, 6, 12, 18, 24, 24, 18, 12, 6, 0, 6, 12, 18, 18, 12, 6, 0) racingKing = (0, 0, 0, 0, 0, 0, 0, 0, 500, 500, 500, 500, 500, 500, 500, 500, 950, 950, 950, 950, 950, 950, 950, 950, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 14000, 14000, 14000, 14000, 14000, 14000, 14000, 14000) # Maps for bitboards d2e2 = (0x0018000000000000, 0x0000000000001800) brank7 = (0x000000000000FF00, 0x00FF000000000000) brank8 = (0x00000000000000FF, 0xFF00000000000000) brank67 = (0x0000000000FFFF00, 0x00FFFF0000000000) brank58 = (0x00000000FFFFFFFF, 0xFFFFFFFF00000000) brank48 = (0x000000FFFFFFFFFF, 0xFFFFFFFFFF000000) # Penalties if the file is half-open (i.e. no enemy pawns on it) isolani_weaker = (-22, -24, -26, -28, -28, -26, -24, -22) stonewall = [0, 0] # D4, E3, F4 # - - - - - - - - # - - - - - - - - # - - - - - - - - # - - - - - - - - # - - - # - # - - # - - - - # - - - # - - - - - - - - # - - - - - - - - stonewall[WHITE] = 0x81400000000 # D5, E6, F5 # - - - - - - - - # - - - - - - - - # - - - - # - - - # - - - # - # - - # - - - - - - - - # - - - - - - - - # - - - - - - - - # - - - - - - - - stonewall[BLACK] = 0x81400000000 # - - - - - - - - # - - - - - - - - # - - - - - - - - # - - - - - - - - # - - - - - - - - # - # - - - - # - # # # - - - - # # # - - - - - - - - qwingpawns1 = (bitPosArray[A2] | bitPosArray[B2], bitPosArray[A7] | bitPosArray[B7]) qwingpawns2 = (bitPosArray[A2] | bitPosArray[B3], bitPosArray[A7] | bitPosArray[B6]) kwingpawns1 = (bitPosArray[G2] | bitPosArray[H2], bitPosArray[G7] | bitPosArray[H7]) kwingpawns2 = (bitPosArray[G3] | bitPosArray[H2], bitPosArray[G6] | bitPosArray[H7]) ################################################################################ # Ranks and files # ################################################################################ rankBits = [255 << i * 8 for i in range(7, -1, -1)] fileBits = [0x0101010101010101 << i for i in range(7, -1, -1)] # Bit boards WHITE_SQUARES = 0x55AA55AA55AA55AA BLACK_SQUARES = 0xAA55AA55AA55AA55 # - - - - - - - - # - - - - - - - - # - - - - - - - - # - - - # # - - - # - - - # # - - - # - - - - - - - - # - - - - - - - - # - - - - - - - - CENTER_FOUR = 0x0000001818000000 # - - - - - - - - # - - - - - - - - # - - # # # # - - # - - # # # # - - # - - # # # # - - # - - # # # # - - # - - - - - - - - # - - - - - - - - sbox = 0x00003C3C3C3C0000 # - - - - - - - - # - # # # # # # - # - # # # # # # - # - # # # # # # - # - # # # # # # - # - # # # # # # - # - # # # # # # - # - - - - - - - - lbox = 0x007E7E7E7E7E7E00 # - - - - - # # # # - - - - - # # # # - - - - - # # # # - - - - - # # # # - - - - - # # # # - - - - - # # # # - - - - - # # # # - - - - - # # # right = fileBits[5] | fileBits[6] | fileBits[7] # # # # - - - - - # # # # - - - - - # # # # - - - - - # # # # - - - - - # # # # - - - - - # # # # - - - - - # # # # - - - - - # # # # - - - - - left = fileBits[0] | fileBits[1] | fileBits[2] # Generate the move bitboards. For e.g. the bitboard for all # # the moves of a knight on f3 is given by MoveArray[knight][21]. # dir = [ None, [9, 11], # Only capture moves are included [-21, -19, -12, -8, 8, 12, 19, 21], [-11, -9, 9, 11], [-10, -1, 1, 10], [-11, -10, -9, -1, 1, 9, 10, 11], [-11, -10, -9, -1, 1, 9, 10, 11], [-9, -11], [-11, -9, 9, 10, 11], [-11, -10, -9, 9, 11], [-11, -9, 9, 11], # Following are for front and back walls. Will be removed from list after # the loop [9, 10, 11], [-9, -10, -11] ] sliders += [False, False] map = [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, -1, -1, 8, 9, 10, 11, 12, 13, 14, 15, -1, -1, 16, 17, 18, 19, 20, 21, 22, 23, -1, -1, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, -1, -1, 40, 41, 42, 43, 44, 45, 46, 47, -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, -1, -1, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ] moveArray = [[0] * 64 for i in range(len(dir))] # moveArray[len(dir)][64] for piece in range(1, len(dir)): for fcord in range(120): f = map[fcord] if f == -1: # We only generate moves for squares inside the board continue # Create a new bitboard b = 0 for d in dir[piece]: tcord = fcord while True: tcord += d t = map[tcord] if t == -1: # If we landed outside of board, there is no more to look # for break b = setBit(b, t) if not sliders[piece]: # If we are a slider, we should not break, but add the dir # value once again break moveArray[piece][f] = b frontWall = (moveArray[-2], moveArray[-1]) del moveArray[-1] del moveArray[-1] del dir[-1] del dir[-1] del sliders[-1] del sliders[-1] # For each square, there are 8 rays. The first 4 rays are diagonals # for the bishops and the next 4 are file/rank for the rooks. # The queen uses all 8 rays. # These rays are used for move generation rather than MoveArray[]. # Also initialize the directions[][] array. directions[f][t] returns # the index into rays[f] array allow us to find the ray in that direction. directions = [[-1] * 64 for i in range(64)] # directions[64][64] rays = [[0] * 8 for i in range(64)] # rays[64][8] for fcord in range(120): f = map[fcord] if f == -1: continue ray = -1 for piece in BISHOP, ROOK: for d in dir[piece]: ray += 1 b = 0 tcord = fcord while True: tcord += d t = map[tcord] if t == -1: break rays[f][ray] = setBit(rays[f][ray], t) directions[f][t] = ray # The FromToRay[b2][f6] gives the diagonal ray from c3 to f6; # It also produces horizontal/vertical rays as well. If no # ray is possible, then a 0 is returned. fromToRay = [[0] * 64 for i in range(64)] # fromToRay[64][64] for piece in BISHOP, ROOK: for fcord in range(120): f = map[fcord] if f == -1: continue for d in dir[piece]: tcord = fcord t = map[tcord] while True: b = fromToRay[f][t] tcord += d t = map[tcord] if t == -1: break fromToRay[f][t] = setBit(fromToRay[f][t], t) fromToRay[f][t] |= b # The PassedPawnMask variable is used to determine if a pawn is passed. # his mask is basically all 1's from the square in front of the pawn to # the promotion square, also duplicated on both files besides the pawn # file. Other bits will be set to zero. # E.g. PassedPawnMask[white][b3] = 1's in a4-c4-c8-a8 rect, 0 otherwise. passedPawnMask = [[0] * 64, [0] * 64] # Do for white pawns first for cord in range(64): passedPawnMask[WHITE][cord] = rays[cord][7] passedPawnMask[BLACK][cord] = rays[cord][4] if cord & 7 != 0: # If file is not left most passedPawnMask[WHITE][cord] |= rays[cord - 1][7] passedPawnMask[BLACK][cord] |= rays[cord - 1][4] if cord & 7 != 7: # If file is not right most passedPawnMask[WHITE][cord] |= rays[cord + 1][7] passedPawnMask[BLACK][cord] |= rays[cord + 1][4] # The IsolaniMask variable is used to determine if a pawn is an isolani. # This mask is basically all 1's on files beside the file the pawn is on. # Other bits will be set to zero. # E.g. isolaniMask[d-file] = 1's in c-file & e-file, 0 otherwise. isolaniMask = [0] * 8 isolaniMask[0] = fileBits[1] isolaniMask[7] = fileBits[6] for i in range(1, 7): isolaniMask[i] = fileBits[i - 1] | fileBits[i + 1] # The SquarePawnMask is used to determine if a king is in the square of # the passed pawn and is able to prevent it from queening. # Caveat: Pawns on 2nd rank have the same mask as pawns on the 3rd rank # as they can advance 2 squares. squarePawnMask = [[0] * 64, [0] * 64] for cord in range(64): # White mask rank = 7 - RANK(cord) i = max(cord & 56, cord - rank) j = min(cord | 7, cord + rank) for k in range(i, j + 1): squarePawnMask[WHITE][cord] |= bitPosArray[k] | fromToRay[k][k | 56] # Black mask rank = RANK(cord) i = max(cord & 56, cord - rank) j = min(cord | 7, cord + rank) for k in range(i, j + 1): squarePawnMask[BLACK][cord] |= bitPosArray[k] | fromToRay[k][k & 7] # For pawns on 2nd rank, they have same mask as pawns on 3rd rank for cord in range(A2, H2 + 1): squarePawnMask[WHITE][cord] = squarePawnMask[WHITE][cord + 8] for cord in range(A7, H7 + 1): squarePawnMask[BLACK][cord] = squarePawnMask[BLACK][cord - 8] # These tables are used to calculate rook, queen and bishop moves ray00 = [rays[cord][5] | rays[cord][6] | 1 << (63 - cord) for cord in range(64)] ray45 = [rays[cord][0] | rays[cord][3] | 1 << (63 - cord) for cord in range(64)] ray90 = [rays[cord][4] | rays[cord][7] | 1 << (63 - cord) for cord in range(64)] ray135 = [rays[cord][1] | rays[cord][2] | 1 << (63 - cord) for cord in range(64)] attack00 = [{} for a in range(64)] attack45 = [{} for a in range(64)] attack90 = [{} for a in range(64)] attack135 = [{} for a in range(64)] cmap = [128, 64, 32, 16, 8, 4, 2, 1] rot1 = [A1, A2, A3, A4, A5, A6, A7, A8] rot2 = [A1, B2, C3, D4, E5, F6, G7, H8] rot3 = [A8, B7, C6, D5, E4, F3, G2, H1] # To save time, we init a main line for each of the four directions, and next # we will translate it for each possible cord for cord in range(8): for map in range(1, 256): # Skip entries without cord set, as cord will always be set if not map & cmap[cord]: continue # Find limits inclusive cord1 = cord2 = cord while cord1 > 0: cord1 -= 1 if cmap[cord1] & map: break while cord2 < 7: cord2 += 1 if cmap[cord2] & map: break # Remember A1 is the left most bit map00 = map << 56 attack00[cord][map00] = \ fromToRay[cord][cord1] |\ fromToRay[cord][cord2] map90 = reduce(or_, (1 << 63 - rot1[c] for c in iterBits(map00))) attack90[rot1[cord]][map90] = \ fromToRay[rot1[cord]][rot1[cord1]] | \ fromToRay[rot1[cord]][rot1[cord2]] map45 = reduce(or_, (1 << 63 - rot2[c] for c in iterBits(map00))) attack45[rot2[cord]][map45] = \ fromToRay[rot2[cord]][rot2[cord1]] | \ fromToRay[rot2[cord]][rot2[cord2]] map135 = reduce(or_, (1 << 63 - rot3[c] for c in iterBits(map00))) attack135[rot3[cord]][map135] = \ fromToRay[rot3[cord]][rot3[cord1]] |\ fromToRay[rot3[cord]][rot3[cord2]] MAXBITBOARD = (1 << 64) - 1 for r in range(A2, A8 + 1, 8): for cord in iterBits(ray00[r]): attack00[cord] = dict((map >> 8, ray >> 8) for map, ray in attack00[cord - 8].items()) for r in range(B1, H1 + 1): for cord in iterBits(ray90[r]): attack90[cord] = dict((map >> 1, ray >> 1) for map, ray in attack90[cord - 1].items()) # Bottom right for r in range(B1, H1 + 1): for cord in iterBits(ray45[r]): attack45[cord] = dict((map << 8 & MAXBITBOARD, ray << 8 & MAXBITBOARD) for map, ray in attack45[cord + 8].items()) # Top left for r in reversed(range(A8, H8)): for cord in iterBits(ray45[r]): attack45[cord] = dict((map >> 8, ray >> 8) for map, ray in attack45[cord - 8].items()) # Top right for r in range(B8, H8 + 1): for cord in iterBits(ray135[r]): attack135[cord] = dict((map >> 8, ray >> 8) for map, ray in attack135[cord - 8].items()) # Bottom left for r in reversed(range(A1, H1)): for cord in iterBits(ray135[r]): attack135[cord] = dict((map << 8 & MAXBITBOARD, ray << 8 & MAXBITBOARD) for map, ray in attack135[cord + 8].items()) pychess-1.0.0/lib/pychess/Utils/lutils/LBoard.py0000755000175000017500000011723313421052760020625 0ustar varunvarunfrom pychess.Utils.const import EMPTY, PAWN, KNIGHT, BISHOP, ROOK, QUEEN, KING, \ ATOMICCHESS, BUGHOUSECHESS, CRAZYHOUSECHESS, CAMBODIANCHESS, MAKRUKCHESS, \ FISCHERRANDOMCHESS, SITTUYINCHESS, WILDCASTLECHESS, WILDCASTLESHUFFLECHESS, \ SUICIDECHESS, GIVEAWAYCHESS, DROP_VARIANTS, BLACK, WHITE, FAN_PIECES, NULL_MOVE, CAS_FLAGS, \ NORMALCHESS, PLACEMENTCHESS, THREECHECKCHESS, SETUPCHESS, FEN_START, \ chrU2Sign, cordDic, reprCord, reprFile, reprSign, reprSignMakruk, reprSignSittuyin, \ A1, A8, B1, B8, \ C1, C8, D1, D8, \ E1, E8, F1, F8, \ G1, G8, H1, H8, \ KING_CASTLE, QUEEN_CASTLE, DROP, PROMOTIONS, ENPASSANT, B_OO, B_OOO, W_OO, W_OOO from pychess.Utils.repr import reprColor from .ldata import FILE, fileBits from .attack import isAttacked from .bitboard import clearBit, setBit, bitPosArray from .PolyglotHash import pieceHashes, epHashes, \ W_OOHash, W_OOOHash, B_OOHash, B_OOOHash, colorHash, holdingHash ################################################################################ # FEN # ################################################################################ # This will cause applyFen to raise an exception, if halfmove clock and fullmove # number is not specified STRICT_FEN = False ################################################################################ # LBoard # ################################################################################ class LBoard: __hash__ = None ini_kings = (E1, E8) ini_rooks = ((A1, H1), (A8, H8)) # Final positions of castled kings and rooks fin_kings = ((C1, G1), (C8, G8)) fin_rooks = ((D1, F1), (D8, F8)) holding = ({PAWN: 0, KNIGHT: 0, BISHOP: 0, ROOK: 0, QUEEN: 0, KING: 0}, {PAWN: 0, KNIGHT: 0, BISHOP: 0, ROOK: 0, QUEEN: 0, KING: 0}) def __init__(self, variant=NORMALCHESS): self.variant = variant self.nags = [] # children can contain comments and variations # variations are lists of lboard objects self.children = [] # the next and prev lboard objects in the variation list self.next = None self.prev = None # The high level owner Board (with Piece objects) in gamemodel self.pieceBoard = None # This will True except in so called null_board # null_board act as parent of the variation # when we add a variation to last played board from hint panel self.fen_was_applied = False self.plyCount = 0 @property def lastMove(self): return self.hist_move[-1] if self.fen_was_applied and len( self.hist_move) > 0 else None def repetitionCount(self, draw_threshold=3): rc = 1 for ply in range(4, 1 + min(len(self.hist_hash), self.fifty), 2): if self.hist_hash[-ply] == self.hash: rc += 1 if rc >= draw_threshold: break return rc def iniAtomic(self): self.hist_exploding_around = [] def iniHouse(self): self.promoted = [0] * 64 self.capture_promoting = False self.hist_capture_promoting = [] self.holding = ({PAWN: 0, KNIGHT: 0, BISHOP: 0, ROOK: 0, QUEEN: 0, KING: 0}, {PAWN: 0, KNIGHT: 0, BISHOP: 0, ROOK: 0, QUEEN: 0, KING: 0}) def iniCambodian(self): self.ini_kings = (D1, E8) self.ini_queens = (E1, D8) self.is_first_move = {KING: [True, True], QUEEN: [True, True]} self.hist_is_first_move = [] def applyFen(self, fenstr): """ Applies the fenstring to the board. If the string is not properly written a SyntaxError will be raised, having its message ending in Pos(%d) specifying the string index of the problem. if an error is found, no changes will be made to the board. """ assert not self.fen_was_applied, "The applyFen() method can be used on new LBoard objects only!" # Set board to empty on Black's turn (which Polyglot-hashes to 0) self.blocker = 0 self.friends = [0, 0] self.kings = [-1, -1] self.boards = ([0] * 7, [0] * 7) self.enpassant = None # cord which can be captured by enpassant or None self.color = BLACK self.castling = 0 # The castling availability in the position self.hasCastled = [False, False] self.fifty = 0 # A ply counter for the fifty moves rule self.plyCount = 0 self.checked = None self.opchecked = None self.arBoard = [0] * 64 self.hash = 0 self.pawnhash = 0 # Data from the position's history: self.hist_move = [] # The move that was applied to get the position self.hist_tpiece = [] # The piece the move captured, == EMPTY for normal moves self.hist_enpassant = [] self.hist_castling = [] self.hist_hash = [] self.hist_fifty = [] self.hist_checked = [] self.hist_opchecked = [] # piece counts self.pieceCount = ([0] * 7, [0] * 7) # initial cords of rooks and kings for castling in Chess960 if self.variant == FISCHERRANDOMCHESS: self.ini_kings = [None, None] self.ini_rooks = ([None, None], [None, None]) elif self.variant in (WILDCASTLECHESS, WILDCASTLESHUFFLECHESS): self.ini_kings = [None, None] self.fin_kings = ([None, None], [None, None]) self.fin_rooks = ([None, None], [None, None]) elif self.variant == ATOMICCHESS: self.iniAtomic() elif self.variant == THREECHECKCHESS: self.remaining_checks = [3, 3] elif self.variant == CAMBODIANCHESS: self.iniCambodian() if self.variant in DROP_VARIANTS: self.iniHouse() # Get information parts = fenstr.split() castChr = "-" epChr = "-" fiftyChr = "0" moveNoChr = "1" if STRICT_FEN and len(parts) != 6: raise SyntaxError(_("FEN needs 6 data fields. \n\n%s") % fenstr) elif len(parts) < 2: raise SyntaxError( _("FEN needs at least 2 data fields in fenstr. \n\n%s") % fenstr) elif len(parts) >= 7 and self.variant == THREECHECKCHESS: pieceChrs, colChr, castChr, epChr, checksChr, fiftyChr, moveNoChr = parts[:7] self.remaining_checks = list(map(int, checksChr.split("+"))) elif len(parts) >= 6: pieceChrs, colChr, castChr, epChr, fiftyChr, moveNoChr = parts[:6] elif len(parts) == 5: pieceChrs, colChr, castChr, epChr, fiftyChr = parts elif len(parts) == 4: if parts[2].isdigit() and parts[3].isdigit(): # xboard FEN usage for asian variants pieceChrs, colChr, fiftyChr, moveNoChr = parts else: pieceChrs, colChr, castChr, epChr = parts elif len(parts) == 3: pieceChrs, colChr, castChr = parts else: pieceChrs, colChr = parts # Try to validate some information # TODO: This should be expanded and perhaps moved slashes = pieceChrs.count("/") if slashes < 7: raise SyntaxError( _("Needs 7 slashes in piece placement field. \n\n%s") % fenstr) if not colChr.lower() in ("w", "b"): raise SyntaxError( _("Active color field must be one of w or b. \n\n%s") % fenstr) if castChr != "-": for Chr in castChr: valid_chars = "ABCDEFGHKQ" if self.variant == FISCHERRANDOMCHESS or self.variant == SETUPCHESS else "KQ" if Chr.upper() not in valid_chars: if self.variant == CAMBODIANCHESS: pass # sjaakii uses DEde in cambodian starting fen to indicate # that queens and kings are virgins (not moved yet) else: raise SyntaxError(_("Castling availability field is not legal. \n\n%s") % fenstr) if epChr != "-" and epChr not in cordDic: raise SyntaxError(_("En passant cord is not legal. \n\n%s") % fenstr) # Parse piece placement field promoted = False # if there is a holding within [] we change it to BFEN style first if pieceChrs.endswith("]"): pieceChrs = pieceChrs[:-1].replace("[", "/") for r, rank in enumerate(pieceChrs.split("/")): cord = (7 - r) * 8 for char in rank: if r > 7: # After the 8.rank BFEN can contain holdings (captured pieces) # "~" after a piece letter denotes promoted piece if r == 8 and self.variant in DROP_VARIANTS: color = char.islower() and BLACK or WHITE piece = chrU2Sign[char.upper()] self.holding[color][piece] += 1 self.hash ^= holdingHash[color][piece][self.holding[color][piece]] continue else: break if char.isdigit(): cord += int(char) elif char == "~": promoted = True else: color = char.islower() and BLACK or WHITE piece = chrU2Sign[char.upper()] self._addPiece(cord, piece, color) self.pieceCount[color][piece] += 1 if self.variant in DROP_VARIANTS and promoted: self.promoted[cord] = 1 promoted = False if self.variant == CAMBODIANCHESS: if piece == KING and self.kings[ color] != self.ini_kings[color]: self.is_first_move[KING][color] = False if piece == QUEEN and cord != self.ini_queens[color]: self.is_first_move[QUEEN][color] = False cord += 1 if self.variant == FISCHERRANDOMCHESS: # Save ranks fo find outermost rooks # if KkQq was used in castling rights if r == 0: rank8 = rank elif r == 7: rank1 = rank # Parse active color field if colChr.lower() == "w": self.setColor(WHITE) else: self.setColor(BLACK) # Parse castling availability castling = 0 for char in castChr: if self.variant == FISCHERRANDOMCHESS: if char in reprFile: if char < reprCord[self.kings[BLACK]][0]: castling |= B_OOO self.ini_rooks[1][0] = reprFile.index(char) + 56 else: castling |= B_OO self.ini_rooks[1][1] = reprFile.index(char) + 56 elif char in [c.upper() for c in reprFile]: if char < reprCord[self.kings[WHITE]][0].upper(): castling |= W_OOO self.ini_rooks[0][0] = reprFile.index(char.lower()) else: castling |= W_OO self.ini_rooks[0][1] = reprFile.index(char.lower()) elif char == "K": castling |= W_OO self.ini_rooks[0][1] = rank1.rfind('R') elif char == "Q": castling |= W_OOO self.ini_rooks[0][0] = rank1.find('R') elif char == "k": castling |= B_OO self.ini_rooks[1][1] = rank8.rfind('r') + 56 elif char == "q": castling |= B_OOO self.ini_rooks[1][0] = rank8.find('r') + 56 else: if char == "K": castling |= W_OO elif char == "Q": castling |= W_OOO elif char == "k": castling |= B_OO elif char == "q": castling |= B_OOO if self.variant in (WILDCASTLECHESS, WILDCASTLESHUFFLECHESS, FISCHERRANDOMCHESS): self.ini_kings[WHITE] = self.kings[WHITE] self.ini_kings[BLACK] = self.kings[BLACK] if self.variant in (WILDCASTLECHESS, WILDCASTLESHUFFLECHESS): if self.ini_kings[WHITE] == D1 and self.ini_kings[BLACK] == D8: self.fin_kings = ([B1, F1], [B8, F8]) self.fin_rooks = ([C1, E1], [C8, E8]) elif self.ini_kings[WHITE] == D1: self.fin_kings = ([B1, F1], [C8, G8]) self.fin_rooks = ([C1, E1], [D8, F8]) elif self.ini_kings[BLACK] == D8: self.fin_kings = ([C1, G1], [B8, F8]) self.fin_rooks = ([D1, F1], [C8, E8]) else: self.fin_kings = ([C1, G1], [C8, G8]) self.fin_rooks = ([D1, F1], [D8, F8]) self.setCastling(castling) # Parse en passant target sqaure if epChr == "-": self.setEnpassant(None) else: self.setEnpassant(cordDic[epChr]) # Parse halfmove clock field if fiftyChr.isdigit(): self.fifty = int(fiftyChr) else: self.fifty = 0 # Parse fullmove number if moveNoChr.isdigit(): movenumber = max(int(moveNoChr), 1) * 2 - 2 if self.color == BLACK: movenumber += 1 self.plyCount = movenumber else: self.plyCount = 1 self.fen_was_applied = True def isChecked(self): if self.variant == SUICIDECHESS or self.variant == GIVEAWAYCHESS: return False elif self.variant == ATOMICCHESS: if not self.boards[self.color][KING]: return False if -2 < (self.kings[0] >> 3) - (self.kings[1] >> 3) < 2 and -2 < (self.kings[0] & 7) - (self.kings[1] & 7) < 2: return False if self.checked is None: kingcord = self.kings[self.color] if kingcord == -1: return False self.checked = isAttacked(self, kingcord, 1 - self.color, ischecked=True) return self.checked def opIsChecked(self): if self.variant == SUICIDECHESS or self.variant == GIVEAWAYCHESS: return False elif self.variant == ATOMICCHESS: if not self.boards[1 - self.color][KING]: return False if -2 < (self.kings[0] >> 3) - (self.kings[1] >> 3) < 2 and -2 < (self.kings[0] & 7) - (self.kings[1] & 7) < 2: return False if self.opchecked is None: kingcord = self.kings[1 - self.color] if kingcord == -1: return False self.opchecked = isAttacked(self, kingcord, self.color, ischecked=True) return self.opchecked def willLeaveInCheck(self, move): if self.variant == SUICIDECHESS or self.variant == GIVEAWAYCHESS: return False board_clone = self.clone() board_clone.applyMove(move) return board_clone.opIsChecked() def willGiveCheck(self, move): board_clone = self.clone() board_clone.applyMove(move) return board_clone.isChecked() def _addPiece(self, cord, piece, color): _setBit = setBit self.boards[color][piece] = _setBit(self.boards[color][piece], cord) self.friends[color] = _setBit(self.friends[color], cord) self.blocker = _setBit(self.blocker, cord) if piece == PAWN: self.pawnhash ^= pieceHashes[color][PAWN][cord] elif piece == KING: self.kings[color] = cord self.hash ^= pieceHashes[color][piece][cord] self.arBoard[cord] = piece def _removePiece(self, cord, piece, color): _clearBit = clearBit self.boards[color][piece] = _clearBit(self.boards[color][piece], cord) self.friends[color] = _clearBit(self.friends[color], cord) self.blocker = _clearBit(self.blocker, cord) if piece == PAWN: self.pawnhash ^= pieceHashes[color][PAWN][cord] self.hash ^= pieceHashes[color][piece][cord] self.arBoard[cord] = EMPTY def setColor(self, color): if color == self.color: return self.color = color self.hash ^= colorHash def setCastling(self, castling): if self.castling == castling: return if castling & W_OO != self.castling & W_OO: self.hash ^= W_OOHash if castling & W_OOO != self.castling & W_OOO: self.hash ^= W_OOOHash if castling & B_OO != self.castling & B_OO: self.hash ^= B_OOHash if castling & B_OOO != self.castling & B_OOO: self.hash ^= B_OOOHash self.castling = castling def setEnpassant(self, epcord): # Strip the square if there's no adjacent enemy pawn to make the capture if epcord is not None: sideToMove = (epcord >> 3 == 2 and BLACK or WHITE) fwdPawns = self.boards[sideToMove][PAWN] if sideToMove == WHITE: fwdPawns >>= 8 else: fwdPawns <<= 8 pawnTargets = (fwdPawns & ~fileBits[0]) << 1 pawnTargets |= (fwdPawns & ~fileBits[7]) >> 1 if not pawnTargets & bitPosArray[epcord]: epcord = None if self.enpassant == epcord: return if self.enpassant is not None: self.hash ^= epHashes[self.enpassant & 7] if epcord is not None: self.hash ^= epHashes[epcord & 7] self.enpassant = epcord # @profile def applyMove(self, move): flag = move >> 12 fcord = (move >> 6) & 63 tcord = move & 63 fpiece = fcord if flag == DROP else self.arBoard[fcord] tpiece = self.arBoard[tcord] color = self.color opcolor = 1 - self.color castling = self.castling self.hist_move.append(move) self.hist_enpassant.append(self.enpassant) self.hist_castling.append(self.castling) self.hist_hash.append(self.hash) self.hist_fifty.append(self.fifty) self.hist_checked.append(self.checked) self.hist_opchecked.append(self.opchecked) if self.variant in DROP_VARIANTS: self.hist_capture_promoting.append(self.capture_promoting) if self.variant == CAMBODIANCHESS: self.hist_is_first_move.append({KING: self.is_first_move[KING][:], QUEEN: self.is_first_move[QUEEN][:]}) self.opchecked = None self.checked = None if flag == NULL_MOVE: self.setColor(opcolor) self.plyCount += 1 return move if self.variant == CAMBODIANCHESS: if fpiece == KING and self.is_first_move[KING][color]: self.is_first_move[KING][color] = False elif fpiece == QUEEN and self.is_first_move[QUEEN][color]: self.is_first_move[QUEEN][color] = False # Castling moves can be represented strangely, so normalize them. if flag in (KING_CASTLE, QUEEN_CASTLE): side = flag - QUEEN_CASTLE fpiece = KING tpiece = EMPTY # In FRC, there may be a rook there, but the king doesn't capture it. fcord = self.ini_kings[color] if FILE(fcord) == 3 and self.variant in (WILDCASTLECHESS, WILDCASTLESHUFFLECHESS): side = 0 if side == 1 else 1 tcord = self.fin_kings[color][side] rookf = self.ini_rooks[color][side] rookt = self.fin_rooks[color][side] # Capture (sittuyin in place promotion is not capture move!) if tpiece != EMPTY and fcord != tcord: self._removePiece(tcord, tpiece, opcolor) self.pieceCount[opcolor][tpiece] -= 1 if self.variant in DROP_VARIANTS: if self.promoted[tcord]: if self.variant == CRAZYHOUSECHESS: self.holding[color][PAWN] += 1 self.hash ^= holdingHash[color][PAWN][self.holding[color][PAWN]] self.capture_promoting = True else: if self.variant == CRAZYHOUSECHESS: self.holding[color][tpiece] += 1 self.hash ^= holdingHash[color][tpiece][self.holding[color][tpiece]] self.capture_promoting = False elif self.variant == ATOMICCHESS: from pychess.Variants.atomic import piecesAround apieces = [(fcord, fpiece, color), ] for acord, apiece, acolor in piecesAround(self, tcord): if apiece != PAWN and acord != fcord: self._removePiece(acord, apiece, acolor) self.pieceCount[acolor][apiece] -= 1 apieces.append((acord, apiece, acolor)) if apiece == ROOK and acord != fcord: if acord == self.ini_rooks[opcolor][0]: castling &= ~CAS_FLAGS[opcolor][0] elif acord == self.ini_rooks[opcolor][1]: castling &= ~CAS_FLAGS[opcolor][1] self.hist_exploding_around.append(apieces) self.hist_tpiece.append(tpiece) # Remove moving piece(s), then add them at their destination. if flag == DROP: if self.variant in DROP_VARIANTS: assert self.holding[color][fpiece] > 0 self.holding[color][fpiece] -= 1 self.hash ^= holdingHash[color][fpiece][self.holding[color][fpiece]] self.pieceCount[color][fpiece] += 1 else: self._removePiece(fcord, fpiece, color) if flag in (KING_CASTLE, QUEEN_CASTLE): self._removePiece(rookf, ROOK, color) self._addPiece(rookt, ROOK, color) self.hasCastled[color] = True if flag == ENPASSANT: takenPawnC = tcord + (color == WHITE and -8 or 8) self._removePiece(takenPawnC, PAWN, opcolor) self.pieceCount[opcolor][PAWN] -= 1 if self.variant == CRAZYHOUSECHESS: self.holding[color][PAWN] += 1 self.hash ^= holdingHash[color][PAWN][self.holding[color][PAWN]] elif self.variant == ATOMICCHESS: from pychess.Variants.atomic import piecesAround apieces = [(fcord, fpiece, color), ] for acord, apiece, acolor in piecesAround(self, tcord): if apiece != PAWN and acord != fcord: self._removePiece(acord, apiece, acolor) self.pieceCount[acolor][apiece] -= 1 apieces.append((acord, apiece, acolor)) self.hist_exploding_around.append(apieces) elif flag in PROMOTIONS: # Pretend the pawn changes into a piece before reaching its destination. fpiece = flag - 2 self.pieceCount[color][fpiece] += 1 self.pieceCount[color][PAWN] -= 1 if self.variant in DROP_VARIANTS: if tpiece == EMPTY: self.capture_promoting = False if flag in PROMOTIONS: self.promoted[tcord] = 1 elif flag != DROP: if self.promoted[fcord]: self.promoted[fcord] = 0 self.promoted[tcord] = 1 elif tpiece != EMPTY: self.promoted[tcord] = 0 if self.variant == ATOMICCHESS and (tpiece != EMPTY or flag == ENPASSANT): self.pieceCount[color][fpiece] -= 1 else: self._addPiece(tcord, fpiece, color) if fpiece == PAWN and abs(fcord - tcord) == 16: self.setEnpassant((fcord + tcord) // 2) else: self.setEnpassant(None) if tpiece == EMPTY and fpiece != PAWN: self.fifty += 1 else: self.fifty = 0 # Clear castle flags king = self.ini_kings[color] wildcastle = FILE(king) == 3 and self.variant in ( WILDCASTLECHESS, WILDCASTLESHUFFLECHESS) if fpiece == KING: castling &= ~CAS_FLAGS[color][0] castling &= ~CAS_FLAGS[color][1] elif fpiece == ROOK: if fcord == self.ini_rooks[color][0]: side = 1 if wildcastle else 0 castling &= ~CAS_FLAGS[color][side] elif fcord == self.ini_rooks[color][1]: side = 0 if wildcastle else 1 castling &= ~CAS_FLAGS[color][side] if tpiece == ROOK: if tcord == self.ini_rooks[opcolor][0]: side = 1 if wildcastle else 0 castling &= ~CAS_FLAGS[opcolor][side] elif tcord == self.ini_rooks[opcolor][1]: side = 0 if wildcastle else 1 castling &= ~CAS_FLAGS[opcolor][side] if self.variant == PLACEMENTCHESS and self.plyCount == 15: castling = 0 if self.arBoard[A1] == ROOK and self.arBoard[E1] == KING: castling |= W_OOO if self.arBoard[H1] == ROOK and self.arBoard[E1] == KING: castling |= W_OO if self.arBoard[A8] == ROOK and self.arBoard[E8] == KING: castling |= B_OOO if self.arBoard[H8] == ROOK and self.arBoard[E8] == KING: castling |= B_OO self.setCastling(castling) self.setColor(opcolor) self.plyCount += 1 def popMove(self): # Note that we remove the last made move, which was not made by boards # current color, but by its opponent color = 1 - self.color opcolor = self.color move = self.hist_move.pop() cpiece = self.hist_tpiece.pop() flag = move >> 12 if flag == NULL_MOVE: self.setColor(color) return fcord = (move >> 6) & 63 tcord = move & 63 tpiece = self.arBoard[tcord] # Castling moves can be represented strangely, so normalize them. if flag in (KING_CASTLE, QUEEN_CASTLE): side = flag - QUEEN_CASTLE tpiece = KING fcord = self.ini_kings[color] if FILE(fcord) == 3 and self.variant in (WILDCASTLECHESS, WILDCASTLESHUFFLECHESS): side = 0 if side == 1 else 1 tcord = self.fin_kings[color][side] rookf = self.ini_rooks[color][side] rookt = self.fin_rooks[color][side] self._removePiece(tcord, tpiece, color) self._removePiece(rookt, ROOK, color) self._addPiece(rookf, ROOK, color) self.hasCastled[color] = False else: self._removePiece(tcord, tpiece, color) # Put back captured piece if cpiece != EMPTY and fcord != tcord: self._addPiece(tcord, cpiece, opcolor) self.pieceCount[opcolor][cpiece] += 1 if self.variant == CRAZYHOUSECHESS: if self.capture_promoting: assert self.holding[color][PAWN] > 0 self.holding[color][PAWN] -= 1 self.hash ^= holdingHash[color][PAWN][self.holding[color][PAWN]] else: assert self.holding[color][cpiece] > 0 self.holding[color][cpiece] -= 1 self.hash ^= holdingHash[color][cpiece][self.holding[color][cpiece]] elif self.variant == ATOMICCHESS: apieces = self.hist_exploding_around.pop() for acord, apiece, acolor in apieces: self._addPiece(acord, apiece, acolor) self.pieceCount[acolor][apiece] += 1 # Put back piece captured by enpassant if flag == ENPASSANT: epcord = color == WHITE and tcord - 8 or tcord + 8 self._addPiece(epcord, PAWN, opcolor) self.pieceCount[opcolor][PAWN] += 1 if self.variant == CRAZYHOUSECHESS: assert self.holding[color][PAWN] > 0 self.holding[color][PAWN] -= 1 self.hash ^= holdingHash[color][PAWN][self.holding[color][PAWN]] elif self.variant == ATOMICCHESS: apieces = self.hist_exploding_around.pop() for acord, apiece, acolor in apieces: self._addPiece(acord, apiece, acolor) self.pieceCount[acolor][apiece] += 1 # Un-promote pawn if flag in PROMOTIONS: tpiece = PAWN self.pieceCount[color][flag - 2] -= 1 self.pieceCount[color][PAWN] += 1 # Put back moved piece if flag == DROP: self.holding[color][tpiece] += 1 self.hash ^= holdingHash[color][tpiece][self.holding[color][tpiece]] self.pieceCount[color][tpiece] -= 1 else: if not (self.variant == ATOMICCHESS and (cpiece != EMPTY or flag == ENPASSANT)): self._addPiece(fcord, tpiece, color) if self.variant in DROP_VARIANTS: if flag != DROP: if self.promoted[tcord] and (flag not in PROMOTIONS): self.promoted[fcord] = 1 if self.capture_promoting: self.promoted[tcord] = 1 else: self.promoted[tcord] = 0 self.capture_promoting = self.hist_capture_promoting.pop() if self.variant == CAMBODIANCHESS: self.is_first_move = self.hist_is_first_move.pop() self.setColor(color) self.checked = self.hist_checked.pop() self.opchecked = self.hist_opchecked.pop() self.enpassant = self.hist_enpassant.pop() self.castling = self.hist_castling.pop() self.hash = self.hist_hash.pop() self.fifty = self.hist_fifty.pop() self.plyCount -= 1 def __eq__(self, other): if not (other is not None and self.fen_was_applied and other.fen_was_applied and self.hash == other.hash and self.plyCount == other.plyCount): return False b0, b1 = self.prev, other.prev ok = True while ok and b0 is not None and b1 is not None: if not (b0.fen_was_applied and b1.fen_was_applied and b0.hash == b1.hash and b0.plyCount == b1.plyCount): ok = False else: b0, b1 = b0.prev, b1.prev return ok def __ne__(self, other): return not self.__eq__(other) def reprCastling(self): if not self.castling: return "-" else: strs = [] if self.variant == FISCHERRANDOMCHESS: if self.castling & W_OO: strs.append(reprCord[self.ini_rooks[0][1]][0].upper()) if self.castling & W_OOO: strs.append(reprCord[self.ini_rooks[0][0]][0].upper()) if self.castling & B_OO: strs.append(reprCord[self.ini_rooks[1][1]][0]) if self.castling & B_OOO: strs.append(reprCord[self.ini_rooks[1][0]][0]) else: if self.castling & W_OO: strs.append("K") if self.castling & W_OOO: strs.append("Q") if self.castling & B_OO: strs.append("k") if self.castling & B_OOO: strs.append("q") return "".join(strs) def prepr(self, ascii=False): if not self.fen_was_applied: return ("LBoard without applied FEN") b = "#" + reprColor[self.color] + " " b += self.reprCastling() + " " b += self.enpassant is not None and reprCord[self.enpassant] or "-" b += "\n# " rows = [self.arBoard[i:i + 8] for i in range(0, 64, 8)][::-1] for r, row in enumerate(rows): for i, piece in enumerate(row): if piece != EMPTY: if bitPosArray[(7 - r) * 8 + i] & self.friends[WHITE]: assert self.boards[WHITE][ piece], "self.boards doesn't match self.arBoard !!!" sign = reprSign[piece] if ascii else FAN_PIECES[WHITE][ piece] else: assert self.boards[BLACK][ piece], "self.boards doesn't match self.arBoard !!!" sign = reprSign[piece].lower( ) if ascii else FAN_PIECES[BLACK][piece] b += sign else: b += "." b += " " b += "\n# " if self.variant in DROP_VARIANTS: for color in (BLACK, WHITE): holding = self.holding[color] b += "\n# [%s]" % "".join([reprSign[ piece] if ascii else FAN_PIECES[color][piece] * holding[ piece] for piece in holding if holding[piece] > 0]) return b def __repr__(self): return self.prepr() def asFen(self, enable_bfen=True): fenstr = [] rows = [self.arBoard[i:i + 8] for i in range(0, 64, 8)][::-1] for r, row in enumerate(rows): empty = 0 for i, piece in enumerate(row): if piece != EMPTY: if empty > 0: fenstr.append(str(empty)) empty = 0 if self.variant in (CAMBODIANCHESS, MAKRUKCHESS): sign = reprSignMakruk[piece] elif self.variant == SITTUYINCHESS: sign = reprSignSittuyin[piece] else: sign = reprSign[piece] if bitPosArray[(7 - r) * 8 + i] & self.friends[WHITE]: sign = sign.upper() else: sign = sign.lower() fenstr.append(sign) if self.variant in (BUGHOUSECHESS, CRAZYHOUSECHESS): if self.promoted[r * 8 + i]: fenstr.append("~") else: empty += 1 if empty > 0: fenstr.append(str(empty)) if r != 7: fenstr.append("/") if self.variant in DROP_VARIANTS: holding_pieces = [] for color in (BLACK, WHITE): holding = self.holding[color] for piece in holding: if holding[piece] > 0: if self.variant == SITTUYINCHESS: sign = reprSignSittuyin[piece] else: sign = reprSign[piece] sign = sign.upper() if color == WHITE else sign.lower() holding_pieces.append(sign * holding[piece]) if holding_pieces: if enable_bfen: fenstr.append("/") fenstr += holding_pieces else: fenstr.append("[") fenstr += holding_pieces fenstr.append("]") fenstr.append(" ") fenstr.append(self.color == WHITE and "w" or "b") fenstr.append(" ") if self.variant == CAMBODIANCHESS: cast = "" if self.is_first_move[KING][WHITE]: cast += "D" if self.is_first_move[QUEEN][WHITE]: cast += "E" if self.is_first_move[KING][BLACK]: cast += "d" if self.is_first_move[QUEEN][BLACK]: cast += "e" if not cast: cast = "-" fenstr.append(cast) else: fenstr.append(self.reprCastling()) fenstr.append(" ") if not self.enpassant: fenstr.append("-") else: fenstr.append(reprCord[self.enpassant]) fenstr.append(" ") fenstr.append(str(self.fifty)) fenstr.append(" ") fullmove = (self.plyCount) // 2 + 1 fenstr.append(str(fullmove)) return "".join(fenstr) def clone(self): copy = LBoard(self.variant) copy.blocker = self.blocker copy.friends = self.friends[:] copy.kings = self.kings[:] copy.boards = (self.boards[WHITE][:], self.boards[BLACK][:]) copy.arBoard = self.arBoard[:] copy.pieceCount = (self.pieceCount[WHITE][:], self.pieceCount[BLACK][:]) copy.color = self.color copy.plyCount = self.plyCount copy.hasCastled = self.hasCastled[:] copy.enpassant = self.enpassant copy.castling = self.castling copy.hash = self.hash copy.pawnhash = self.pawnhash copy.fifty = self.fifty copy.checked = self.checked copy.opchecked = self.opchecked copy.hist_move = self.hist_move[:] copy.hist_tpiece = self.hist_tpiece[:] copy.hist_enpassant = self.hist_enpassant[:] copy.hist_castling = self.hist_castling[:] copy.hist_hash = self.hist_hash[:] copy.hist_fifty = self.hist_fifty[:] copy.hist_checked = self.hist_checked[:] copy.hist_opchecked = self.hist_opchecked[:] if self.variant == FISCHERRANDOMCHESS: copy.ini_kings = self.ini_kings[:] copy.ini_rooks = (self.ini_rooks[0][:], self.ini_rooks[1][:]) elif self.variant in (WILDCASTLECHESS, WILDCASTLESHUFFLECHESS): copy.ini_kings = self.ini_kings[:] copy.fin_kings = (self.fin_kings[0][:], self.fin_kings[1][:]) copy.fin_rooks = (self.fin_rooks[0][:], self.fin_rooks[1][:]) elif self.variant in DROP_VARIANTS: copy.promoted = self.promoted[:] copy.holding = (self.holding[0].copy(), self.holding[1].copy()) copy.capture_promoting = self.capture_promoting copy.hist_capture_promoting = self.hist_capture_promoting[:] elif self.variant == ATOMICCHESS: copy.hist_exploding_around = [a[:] for a in self.hist_exploding_around] elif self.variant == THREECHECKCHESS: copy.remaining_checks = self.remaining_checks[:] elif self.variant == CAMBODIANCHESS: copy.ini_kings = self.ini_kings copy.ini_queens = self.ini_queens copy.is_first_move = {KING: self.is_first_move[KING][:], QUEEN: self.is_first_move[QUEEN][:]} copy.hist_is_first_move = self.hist_is_first_move[:] copy.fen_was_applied = self.fen_was_applied return copy START_BOARD = LBoard() START_BOARD.applyFen(FEN_START) pychess-1.0.0/lib/pychess/Utils/lutils/validator.py0000755000175000017500000000056213365557673021467 0ustar varunvarun from pychess.Utils.lutils.lmovegen import genAllMoves ################################################################################ # Validate move # ################################################################################ def validateMove(board, move): return move in genAllMoves(board) pychess-1.0.0/lib/pychess/Utils/lutils/bitboard.py0000755000175000017500000000360313353143212021240 0ustar varunvarunfrom array import array # setBit returns a bitboard with the ith bit set def setBit(bitboard, i): return bitboard | bitPosArray[i] bitPosArray = [2**(63 - i) for i in range(64)] # clearBit returns the bitboard with the ith bit unset def clearBit(bitboard, i): return bitboard & notBitPosArray[i] notBitPosArray = [~2**(63 - i) for i in range(64)] # firstBit returns the bit closest to 0 (A4) that is set in the board def firstBit(bitboard): """ Returns the index of the first non-zero bit from left """ if (bitboard >> 48): return lzArray[bitboard >> 48] if (bitboard >> 32): return lzArray[bitboard >> 32] + 16 if (bitboard >> 16): return lzArray[bitboard >> 16] + 32 return lzArray[bitboard] + 48 # The bitCount array returns the leading non-zero bit in the 16 bit # input argument. lzArray = array('B', [0] * 65536) s = n = 1 for i in range(16): for j in range(s, s + n): lzArray[j] = 16 - 1 - i s += n n += n # lastBit returns the bit closest to 63 (H8) that is set in the board def lastBit(bitboard): return lsb[bitboard & -bitboard] lsb = {} for i in range(64): lsb[2**i] = 63 - i # iterBits yields, or returns a list of, the positions of all set bits in a # bitboard. There is no guarantee of the order. def iterBits(bitboard): while bitboard: bit = bitboard & -bitboard yield lsb[bit] bitboard -= bit # toString returns a representation of the bitboard for debugging def toString(bitboard): s = [] last = -1 while bitboard: cord = firstBit(bitboard) bitboard = clearBit(bitboard, cord) for c in range(cord - last - 1): s.append(" -") s.append(" #") last = cord while len(s) < 64: s.append(" -") s2 = "" for i in range(64, 0, -8): a = s[i - 8:i] s2 += "".join(a) + "\n" return s2 pychess-1.0.0/lib/pychess/Utils/lutils/lsearch.py0000755000175000017500000003240313415461277021110 0ustar varunvarunfrom time import time from random import random from heapq import heappush, heappop from .lmovegen import genAllMoves, genCheckEvasions, genCaptures from .egtb_gaviota import EgtbGaviota from pychess.Utils.const import ATOMICCHESS, KINGOFTHEHILLCHESS, THREECHECKCHESS,\ LOSERSCHESS, SUICIDECHESS, GIVEAWAYCHESS, EMPTY, PROMOTIONS, DROP, KING,\ RACINGKINGSCHESS, hashfALPHA, hashfBETA, hashfEXACT, hashfBAD, DRAW, WHITE, WHITEWON from .leval import evaluateComplete from .lsort import getCaptureValue, getMoveValue from .ldata import MATE_VALUE, VALUE_AT_PLY from .TranspositionTable import TranspositionTable from pychess.Variants.atomic import kingExplode from pychess.Variants.kingofthehill import testKingInCenter from pychess.Variants.suicide import pieceCount from pychess.Variants.threecheck import checkCount from . import ldraw TIMECHECK_FREQ = 500 table = TranspositionTable(32 * 1024 * 1024) skipPruneChance = 0 searching = False nodes = 0 endtime = 0 timecheck_counter = TIMECHECK_FREQ egtb = None def alphaBeta(board, depth, alpha=-MATE_VALUE, beta=MATE_VALUE, ply=0): """ This is a alphabeta/negamax/quiescent/iterativedeepend search algorithm Based on moves found by the validator.py findmoves2 function and evaluated by eval.py. The function recalls itself "depth" times. If the last move in range depth was a capture, it will continue calling itself, only searching for captures. It returns a tuple of * a list of the path it found through the search tree (last item being the deepest) * a score of your standing the the last possition. """ global searching, nodes, table, endtime, timecheck_counter foundPv = False hashf = hashfALPHA amove = [] ############################################################################ # Mate distance pruning ############################################################################ MATED = -MATE_VALUE + ply MATE_IN_1 = MATE_VALUE - ply - 1 if beta <= MATED: return [], MATED if beta >= MATE_IN_1: beta = MATE_IN_1 if alpha >= beta: return [], MATE_IN_1 if board.variant == ATOMICCHESS: if bin(board.boards[board.color][KING]).count("1") == 0: return [], MATED elif board.variant == LOSERSCHESS: if pieceCount(board, board.color) == 1: return [], -MATED elif board.variant == SUICIDECHESS or board.variant == GIVEAWAYCHESS: if pieceCount(board, board.color) == 0: return [], -MATED elif board.variant == KINGOFTHEHILLCHESS: if testKingInCenter(board): return [], MATED elif board.variant == THREECHECKCHESS: if checkCount(board, board.color) == 3: return [], MATED ############################################################################ # Look in the end game table ############################################################################ global egtb if egtb: tbhits = egtb.scoreAllMoves(board) if tbhits: move, state, steps = tbhits[0] if state == DRAW: score = 0 elif board.color == WHITE: if state == WHITEWON: score = MATE_VALUE - steps else: score = -MATE_VALUE + steps else: if state == WHITEWON: score = -MATE_VALUE + steps else: score = MATE_VALUE - steps return [move], score ########################################################################### # We don't save repetition in the table, so we need to test draw before # # table. # ########################################################################### # We don't adjudicate draws. Clients may have different rules for that. if ply > 0: if ldraw.test(board): return [], 0 ############################################################################ # Look up transposition table # ############################################################################ if ply == 0: table.newSearch() table.setHashMove(depth, -1) probe = table.probe(board, depth, alpha, beta) if probe: move, score, hashf = probe score = VALUE_AT_PLY(score, ply) table.setHashMove(depth, move) if hashf == hashfEXACT: return [move], score elif hashf == hashfBETA: beta = min(score, beta) elif hashf == hashfALPHA: alpha = score if hashf != hashfBAD and alpha >= beta: return [move], score ############################################################################ # Cheking the time # ############################################################################ timecheck_counter -= 1 if timecheck_counter == 0: if time() > endtime: searching = False timecheck_counter = TIMECHECK_FREQ ############################################################################ # Break itereation if interupted or if times up # ############################################################################ if not searching: return [], -evaluateComplete(board, 1 - board.color) ############################################################################ # Go for quiescent search # ############################################################################ isCheck = board.isChecked() if depth <= 0: if isCheck: # Being in check is that serious, that we want to take a deeper look depth += 1 elif board.variant in (LOSERSCHESS, SUICIDECHESS, GIVEAWAYCHESS, ATOMICCHESS, RACINGKINGSCHESS): return [], evaluateComplete(board, board.color) else: mvs, val = quiescent(board, alpha, beta, ply) return mvs, val ############################################################################ # Find and sort moves # ############################################################################ if board.variant in (LOSERSCHESS, SUICIDECHESS, GIVEAWAYCHESS): mlist = [m for m in genCaptures(board)] if board.variant == LOSERSCHESS: if isCheck: evasions = [m for m in genCheckEvasions(board)] eva_cap = [m for m in evasions if m in mlist] mlist = eva_cap if eva_cap else evasions else: valid_captures = [] for move in mlist: board.applyMove(move) if not board.opIsChecked(): valid_captures.append(move) board.popMove() mlist = valid_captures if not mlist and not isCheck: mlist = [m for m in genAllMoves(board)] moves = [(-getMoveValue(board, table, depth, m), m) for m in mlist] elif board.variant == ATOMICCHESS: if isCheck: mlist = [m for m in genCheckEvasions(board) if not kingExplode(board, m, board.color)] else: mlist = [m for m in genAllMoves(board) if not kingExplode(board, m, board.color)] moves = [(-getMoveValue(board, table, depth, m), m) for m in mlist] elif board.variant == RACINGKINGSCHESS: mlist = [m for m in genAllMoves(board) if not board.willGiveCheck(m)] moves = [(-getMoveValue(board, table, depth, m), m) for m in mlist] else: if isCheck: moves = [(-getMoveValue(board, table, depth, m), m) for m in genCheckEvasions(board)] else: moves = [(-getMoveValue(board, table, depth, m), m) for m in genAllMoves(board)] moves.sort() # This is needed on checkmate catchFailLow = None ############################################################################ # Loop moves # ############################################################################ for moveValue, move in moves: nodes += 1 board.applyMove(move) if not isCheck: if board.opIsChecked(): board.popMove() continue catchFailLow = move if foundPv: mvs, val = alphaBeta(board, depth - 1, -alpha - 1, -alpha, ply + 1) val = -val if val > alpha and val < beta: mvs, val = alphaBeta(board, depth - 1, -beta, -alpha, ply + 1) val = -val else: mvs, val = alphaBeta(board, depth - 1, -beta, -alpha, ply + 1) val = -val board.popMove() if val > alpha: if val >= beta: if searching and move >> 12 != DROP: table.record(board, move, VALUE_AT_PLY(beta, -ply), hashfBETA, depth) # We don't want to use our valuable killer move spaces for # captures and promotions, as these are searched early anyways. if board.arBoard[move & 63] == EMPTY and \ not move >> 12 in PROMOTIONS: table.addKiller(depth, move) table.addButterfly(move, depth) return [move] + mvs, beta alpha = val amove = [move] + mvs hashf = hashfEXACT foundPv = True ############################################################################ # Return # ############################################################################ if amove: if searching: table.record(board, amove[0], VALUE_AT_PLY(alpha, -ply), hashf, depth) if board.arBoard[amove[0] & 63] == EMPTY: table.addKiller(depth, amove[0]) return amove, alpha if catchFailLow: if searching: table.record(board, catchFailLow, VALUE_AT_PLY(alpha, -ply), hashf, depth) return [catchFailLow], alpha # If no moves were found, this must be a mate or stalemate if isCheck: return [], MATED return [], 0 def quiescent(board, alpha, beta, ply): if skipPruneChance and random() < skipPruneChance: return [], (alpha + beta) // 2 global searching, nodes, endtime, timecheck_counter if ldraw.test(board): return [], 0 timecheck_counter -= 1 if timecheck_counter == 0: if time() > endtime: searching = False timecheck_counter = TIMECHECK_FREQ ############################################################################ # Break itereation if interupted or if times up # ############################################################################ if not searching: return [], -evaluateComplete(board, 1 - board.color) isCheck = board.isChecked() # no stand-pat when in check if not isCheck: value = evaluateComplete(board, board.color) if value >= beta: return [], beta if value > alpha: alpha = value amove = [] heap = [] if isCheck: someMove = False for move in genCheckEvasions(board): someMove = True # Heap.append is fine, as we don't really do sorting on the few moves heap.append((0, move)) if not someMove: return [], -MATE_VALUE + ply else: for move in genCaptures(board): heappush(heap, (-getCaptureValue(board, move), move)) while heap: nodes += 1 v, move = heappop(heap) board.applyMove(move) if not isCheck: if board.opIsChecked(): board.popMove() continue mvs, val = quiescent(board, -beta, -alpha, ply + 1) val = -val board.popMove() if val >= beta: return [move] + mvs, beta if val > alpha: alpha = val amove = [move] + mvs if amove: return amove, alpha else: return [], alpha class EndgameTable(): def __init__(self): self.provider = EgtbGaviota() def _pieceCounts(self, board): return sorted([bin(board.friends[i]).count("1") for i in range(2)]) def scoreAllMoves(self, lBoard): """ Return each move's result and depth to mate. lBoard: A low-level board structure Return value: a list, with best moves first, of: move: A high-level move structure game_result: Either WHITEWON, DRAW, BLACKWON depth: Depth to mate """ pc = self._pieceCounts(lBoard) if self.provider.supports(pc): return self.provider.scoreAllMoves(lBoard) return [] def enableEGTB(): global egtb egtb = EndgameTable() pychess-1.0.0/lib/pychess/Utils/lutils/PolyglotHash.py0000644000175000017500000005567013353143212022077 0ustar varunvarun# -*- coding: UTF-8 -*- import random from pychess.Utils.const import WHITE, BLACK, PAWN, KNIGHT, BISHOP, ROOK, QUEEN, KING # Polyglot opening books are indexed by 64-bit Zobrist hash keys. # The standard specifies the following Zobrist seed values. # The numbers in this file come from PolyGlot by Fabien Letouzey. # PolyGlot is available under the GNU GPL from http://wbec-ridderkerk.nl pieceHashes = [ [ [0x0000000000000000] * 64, [0x5355f900c2a82dc7, 0x07fb9f855a997142, 0x5093417aa8a7ed5e, 0x7bcbc38da25a7f3c, 0x19fc8a768cf4b6d4, 0x637a7780decfc0d9, 0x8249a47aee0e41f7, 0x79ad695501e7d1e8, 0x14acbaf4777d5776, 0xf145b6beccdea195, 0xdabf2ac8201752fc, 0x24c3c94df9c8d3f6, 0xbb6e2924f03912ea, 0x0ce26c0b95c980d9, 0xa49cd132bfbf7cc4, 0xe99d662af4243939, 0x27e6ad7891165c3f, 0x8535f040b9744ff1, 0x54b3f4fa5f40d873, 0x72b12c32127fed2b, 0xee954d3c7b411f47, 0x9a85ac909a24eaa1, 0x70ac4cd9f04f21f5, 0xf9b89d3e99a075c2, 0x87b3e2b2b5c907b1, 0xa366e5b8c54f48b8, 0xae4a9346cc3f7cf2, 0x1920c04d47267bbd, 0x87bf02c6b49e2ae9, 0x092237ac237f3859, 0xff07f64ef8ed14d0, 0x8de8dca9f03cc54e, 0x9c1633264db49c89, 0xb3f22c3d0b0b38ed, 0x390e5fb44d01144b, 0x5bfea5b4712768e9, 0x1e1032911fa78984, 0x9a74acb964e78cb3, 0x4f80f7a035dafb04, 0x6304d09a0b3738c4, 0x2171e64683023a08, 0x5b9b63eb9ceff80c, 0x506aacf489889342, 0x1881afc9a3a701d6, 0x6503080440750644, 0xdfd395339cdbf4a7, 0xef927dbcf00c20f2, 0x7b32f7d1e03680ec, 0xb9fd7620e7316243, 0x05a7e8a57db91b77, 0xb5889c6e15630a75, 0x4a750a09ce9573f7, 0xcf464cec899a2f8a, 0xf538639ce705b824, 0x3c79a0ff5580ef7f, 0xede6c87f8477609d, 0x799e81f05bc93f31, 0x86536b8cf3428a8c, 0x97d7374c60087b73, 0xa246637cff328532, 0x043fcae60cc0eba0, 0x920e449535dd359e, 0x70eb093b15b290cc, 0x73a1921916591cbd, ], [0xc547f57e42a7444e, 0x78e37644e7cad29e, 0xfe9a44e9362f05fa, 0x08bd35cc38336615, 0x9315e5eb3a129ace, 0x94061b871e04df75, 0xdf1d9f9d784ba010, 0x3bba57b68871b59d, 0xd2b7adeeded1f73f, 0xf7a255d83bc373f8, 0xd7f4f2448c0ceb81, 0xd95be88cd210ffa7, 0x336f52f8ff4728e7, 0xa74049dac312ac71, 0xa2f61bb6e437fdb5, 0x4f2a5cb07f6a35b3, 0x87d380bda5bf7859, 0x16b9f7e06c453a21, 0x7ba2484c8a0fd54e, 0xf3a678cad9a2e38c, 0x39b0bf7dde437ba2, 0xfcaf55c1bf8a4424, 0x18fcf680573fa594, 0x4c0563b89f495ac3, 0x40e087931a00930d, 0x8cffa9412eb642c1, 0x68ca39053261169f, 0x7a1ee967d27579e2, 0x9d1d60e5076f5b6f, 0x3810e399b6f65ba2, 0x32095b6d4ab5f9b1, 0x35cab62109dd038a, 0xa90b24499fcfafb1, 0x77a225a07cc2c6bd, 0x513e5e634c70e331, 0x4361c0ca3f692f12, 0xd941aca44b20a45b, 0x528f7c8602c5807b, 0x52ab92beb9613989, 0x9d1dfa2efc557f73, 0x722ff175f572c348, 0x1d1260a51107fe97, 0x7a249a57ec0c9ba2, 0x04208fe9e8f7f2d6, 0x5a110c6058b920a0, 0x0cd9a497658a5698, 0x56fd23c8f9715a4c, 0x284c847b9d887aae, 0x04feabfbbdb619cb, 0x742e1e651c60ba83, 0x9a9632e65904ad3c, 0x881b82a13b51b9e2, 0x506e6744cd974924, 0xb0183db56ffc6a79, 0x0ed9b915c66ed37e, 0x5e11e86d5873d484, 0xf678647e3519ac6e, 0x1b85d488d0f20cc5, 0xdab9fe6525d89021, 0x0d151d86adb73615, 0xa865a54edcc0f019, 0x93c42566aef98ffb, 0x99e7afeabe000731, 0x48cbff086ddf285a, ], [0x23b70edb1955c4bf, 0xc330de426430f69d, 0x4715ed43e8a45c0a, 0xa8d7e4dab780a08d, 0x0572b974f03ce0bb, 0xb57d2e985e1419c7, 0xe8d9ecbe2cf3d73f, 0x2fe4b17170e59750, 0x11317ba87905e790, 0x7fbf21ec8a1f45ec, 0x1725cabfcb045b00, 0x964e915cd5e2b207, 0x3e2b8bcbf016d66d, 0xbe7444e39328a0ac, 0xf85b2b4fbcde44b7, 0x49353fea39ba63b1, 0x1dd01aafcd53486a, 0x1fca8a92fd719f85, 0xfc7c95d827357afa, 0x18a6a990c8b35ebd, 0xcccb7005c6b9c28d, 0x3bdbb92c43b17f26, 0xaa70b5b4f89695a2, 0xe94c39a54a98307f, 0xb7a0b174cff6f36e, 0xd4dba84729af48ad, 0x2e18bc1ad9704a68, 0x2de0966daf2f8b1c, 0xb9c11d5b1e43a07e, 0x64972d68dee33360, 0x94628d38d0c20584, 0xdbc0d2b6ab90a559, 0xd2733c4335c6a72f, 0x7e75d99d94a70f4d, 0x6ced1983376fa72b, 0x97fcaacbf030bc24, 0x7b77497b32503b12, 0x8547eddfb81ccb94, 0x79999cdff70902cb, 0xcffe1939438e9b24, 0x829626e3892d95d7, 0x92fae24291f2b3f1, 0x63e22c147b9c3403, 0xc678b6d860284a1c, 0x5873888850659ae7, 0x0981dcd296a8736d, 0x9f65789a6509a440, 0x9ff38fed72e9052f, 0xe479ee5b9930578c, 0xe7f28ecd2d49eecd, 0x56c074a581ea17fe, 0x5544f7d774b14aef, 0x7b3f0195fc6f290f, 0x12153635b2c0cf57, 0x7f5126dbba5e0ca7, 0x7a76956c3eafb413, 0x3d5774a11d31ab39, 0x8a1b083821f40cb4, 0x7b4a38e32537df62, 0x950113646d1d6e03, 0x4da8979a0041e8a9, 0x3bc36e078f7515d7, 0x5d0a12f27ad310d1, 0x7f9d1a2e1ebe1327, ], [0xa09e8c8c35ab96de, 0xfa7e393983325753, 0xd6b6d0ecc617c699, 0xdfea21ea9e7557e3, 0xb67c1fa481680af8, 0xca1e3785a9e724e5, 0x1cfc8bed0d681639, 0xd18d8549d140caea, 0x4ed0fe7e9dc91335, 0xe4dbf0634473f5d2, 0x1761f93a44d5aefe, 0x53898e4c3910da55, 0x734de8181f6ec39a, 0x2680b122baa28d97, 0x298af231c85bafab, 0x7983eed3740847d5, 0x66c1a2a1a60cd889, 0x9e17e49642a3e4c1, 0xedb454e7badc0805, 0x50b704cab602c329, 0x4cc317fb9cddd023, 0x66b4835d9eafea22, 0x219b97e26ffc81bd, 0x261e4e4c0a333a9d, 0x1fe2cca76517db90, 0xd7504dfa8816edbb, 0xb9571fa04dc089c8, 0x1ddc0325259b27de, 0xcf3f4688801eb9aa, 0xf4f5d05c10cab243, 0x38b6525c21a42b0e, 0x36f60e2ba4fa6800, 0xeb3593803173e0ce, 0x9c4cd6257c5a3603, 0xaf0c317d32adaa8a, 0x258e5a80c7204c4b, 0x8b889d624d44885d, 0xf4d14597e660f855, 0xd4347f66ec8941c3, 0xe699ed85b0dfb40d, 0x2472f6207c2d0484, 0xc2a1e7b5b459aeb5, 0xab4f6451cc1d45ec, 0x63767572ae3d6174, 0xa59e0bd101731a28, 0x116d0016cb948f09, 0x2cf9c8ca052f6e9f, 0x0b090a7560a968e3, 0xabeeddb2dde06ff1, 0x58efc10b06a2068d, 0xc6e57a78fbd986e0, 0x2eab8ca63ce802d7, 0x14a195640116f336, 0x7c0828dd624ec390, 0xd74bbe77e6116ac7, 0x804456af10f5fb53, 0xebe9ea2adf4321c7, 0x03219a39ee587a30, 0x49787fef17af9924, 0xa1e9300cd8520548, 0x5b45e522e4b1b4ef, 0xb49c3b3995091a36, 0xd4490ad526f14431, 0x12a8f216af9418c2, ], [0x6ffe73e81b637fb3, 0xddf957bc36d8b9ca, 0x64d0e29eea8838b3, 0x08dd9bdfd96b9f63, 0x087e79e5a57d1d13, 0xe328e230e3e2b3fb, 0x1c2559e30f0946be, 0x720bf5f26f4d2eaa, 0xb0774d261cc609db, 0x443f64ec5a371195, 0x4112cf68649a260e, 0xd813f2fab7f5c5ca, 0x660d3257380841ee, 0x59ac2c7873f910a3, 0xe846963877671a17, 0x93b633abfa3469f8, 0xc0c0f5a60ef4cdcf, 0xcaf21ecd4377b28c, 0x57277707199b8175, 0x506c11b9d90e8b1d, 0xd83cc2687a19255f, 0x4a29c6465a314cd1, 0xed2df21216235097, 0xb5635c95ff7296e2, 0x22af003ab672e811, 0x52e762596bf68235, 0x9aeba33ac6ecc6b0, 0x944f6de09134dfb6, 0x6c47bec883a7de39, 0x6ad047c430a12104, 0xa5b1cfdba0ab4067, 0x7c45d833aff07862, 0x5092ef950a16da0b, 0x9338e69c052b8e7b, 0x455a4b4cfe30e3f5, 0x6b02e63195ad0cf8, 0x6b17b224bad6bf27, 0xd1e0ccd25bb9c169, 0xde0c89a556b9ae70, 0x50065e535a213cf6, 0x9c1169fa2777b874, 0x78edefd694af1eed, 0x6dc93d9526a50e68, 0xee97f453f06791ed, 0x32ab0edb696703d3, 0x3a6853c7e70757a7, 0x31865ced6120f37d, 0x67fef95d92607890, 0x1f2b1d1f15f6dc9c, 0xb69e38a8965c6b65, 0xaa9119ff184cccf4, 0xf43c732873f24c13, 0xfb4a3d794a9a80d2, 0x3550c2321fd6109c, 0x371f77e76bb8417e, 0x6bfa9aae5ec05779, 0xcd04f3ff001a4778, 0xe3273522064480ca, 0x9f91508bffcfc14a, 0x049a7f41061a9e60, 0xfcb6be43a9f2fe9b, 0x08de8a1c7797da9b, 0x8f9887e6078735a1, 0xb5b4071dbfc73a66, ], [0x55b6344cf97aafae, 0xb862225b055b6960, 0xcac09afbddd2cdb4, 0xdaf8e9829fe96b5f, 0xb5fdfc5d3132c498, 0x310cb380db6f7503, 0xe87fbb46217a360e, 0x2102ae466ebb1148, 0xf8549e1a3aa5e00d, 0x07a69afdcc42261a, 0xc4c118bfe78feaae, 0xf9f4892ed96bd438, 0x1af3dbe25d8f45da, 0xf5b4b0b0d2deeeb4, 0x962aceefa82e1c84, 0x046e3ecaaf453ce9, 0xf05d129681949a4c, 0x964781ce734b3c84, 0x9c2ed44081ce5fbd, 0x522e23f3925e319e, 0x177e00f9fc32f791, 0x2bc60a63a6f3b3f2, 0x222bbfae61725606, 0x486289ddcc3d6780, 0x7dc7785b8efdfc80, 0x8af38731c02ba980, 0x1fab64ea29a2ddf7, 0xe4d9429322cd065a, 0x9da058c67844f20c, 0x24c0e332b70019b0, 0x233003b5a6cfe6ad, 0xd586bd01c5c217f6, 0x5e5637885f29bc2b, 0x7eba726d8c94094b, 0x0a56a5f0bfe39272, 0xd79476a84ee20d06, 0x9e4c1269baa4bf37, 0x17efee45b0dee640, 0x1d95b0a5fcf90bc6, 0x93cbe0b699c2585d, 0x65fa4f227a2b6d79, 0xd5f9e858292504d5, 0xc2b5a03f71471a6f, 0x59300222b4561e00, 0xce2f8642ca0712dc, 0x7ca9723fbb2e8988, 0x2785338347f2ba08, 0xc61bb3a141e50e8c, 0x150f361dab9dec26, 0x9f6a419d382595f4, 0x64a53dc924fe7ac9, 0x142de49fff7a7c3d, 0x0c335248857fa9e7, 0x0a9c32d5eae45305, 0xe6c42178c4bbb92e, 0x71f1ce2490d20b07, 0xf1bcc3d275afe51a, 0xe728e8c83c334074, 0x96fbf83a12884624, 0x81a1549fd6573da5, 0x5fa7867caf35e149, 0x56986e2ef3ed091b, 0x917f1dd5f8886c61, 0xd20d8c88c8ffe65f, ], ], [ [0x0000000000000000] * 64, [0x9d39247e33776d41, 0x2af7398005aaa5c7, 0x44db015024623547, 0x9c15f73e62a76ae2, 0x75834465489c0c89, 0x3290ac3a203001bf, 0x0fbbad1f61042279, 0xe83a908ff2fb60ca, 0x0d7e765d58755c10, 0x1a083822ceafe02d, 0x9605d5f0e25ec3b0, 0xd021ff5cd13a2ed5, 0x40bdf15d4a672e32, 0x011355146fd56395, 0x5db4832046f3d9e5, 0x239f8b2d7ff719cc, 0x05d1a1ae85b49aa1, 0x679f848f6e8fc971, 0x7449bbff801fed0b, 0x7d11cdb1c3b7adf0, 0x82c7709e781eb7cc, 0xf3218f1c9510786c, 0x331478f3af51bbe6, 0x4bb38de5e7219443, 0xaa649c6ebcfd50fc, 0x8dbd98a352afd40b, 0x87d2074b81d79217, 0x19f3c751d3e92ae1, 0xb4ab30f062b19abf, 0x7b0500ac42047ac4, 0xc9452ca81a09d85d, 0x24aa6c514da27500, 0x4c9f34427501b447, 0x14a68fd73c910841, 0xa71b9b83461cbd93, 0x03488b95b0f1850f, 0x637b2b34ff93c040, 0x09d1bc9a3dd90a94, 0x3575668334a1dd3b, 0x735e2b97a4c45a23, 0x18727070f1bd400b, 0x1fcbacd259bf02e7, 0xd310a7c2ce9b6555, 0xbf983fe0fe5d8244, 0x9f74d14f7454a824, 0x51ebdc4ab9ba3035, 0x5c82c505db9ab0fa, 0xfcf7fe8a3430b241, 0x3253a729b9ba3dde, 0x8c74c368081b3075, 0xb9bc6c87167c33e7, 0x7ef48f2b83024e20, 0x11d505d4c351bd7f, 0x6568fca92c76a243, 0x4de0b0f40f32a7b8, 0x96d693460cc37e5d, 0x42e240cb63689f2f, 0x6d2bdcdae2919661, 0x42880b0236e4d951, 0x5f0f4a5898171bb6, 0x39f890f579f92f88, 0x93c5b5f47356388b, 0x63dc359d8d231b78, 0xec16ca8aea98ad76, ], [0x56436c9fe1a1aa8d, 0xefac4b70633b8f81, 0xbb215798d45df7af, 0x45f20042f24f1768, 0x930f80f4e8eb7462, 0xff6712ffcfd75ea1, 0xae623fd67468aa70, 0xdd2c5bc84bc8d8fc, 0x7eed120d54cf2dd9, 0x22fe545401165f1c, 0xc91800e98fb99929, 0x808bd68e6ac10365, 0xdec468145b7605f6, 0x1bede3a3aef53302, 0x43539603d6c55602, 0xaa969b5c691ccb7a, 0xa87832d392efee56, 0x65942c7b3c7e11ae, 0xded2d633cad004f6, 0x21f08570f420e565, 0xb415938d7da94e3c, 0x91b859e59ecb6350, 0x10cff333e0ed804a, 0x28aed140be0bb7dd, 0xc5cc1d89724fa456, 0x5648f680f11a2741, 0x2d255069f0b7dab3, 0x9bc5a38ef729abd4, 0xef2f054308f6a2bc, 0xaf2042f5cc5c2858, 0x480412bab7f5be2a, 0xaef3af4a563dfe43, 0x19afe59ae451497f, 0x52593803dff1e840, 0xf4f076e65f2ce6f0, 0x11379625747d5af3, 0xbce5d2248682c115, 0x9da4243de836994f, 0x066f70b33fe09017, 0x4dc4de189b671a1c, 0x51039ab7712457c3, 0xc07a3f80c31fb4b4, 0xb46ee9c5e64a6e7c, 0xb3819a42abe61c87, 0x21a007933a522a20, 0x2df16f761598aa4f, 0x763c4a1371b368fd, 0xf793c46702e086a0, 0xd7288e012aeb8d31, 0xde336a2a4bc1c44b, 0x0bf692b38d079f23, 0x2c604a7a177326b3, 0x4850e73e03eb6064, 0xcfc447f1e53c8e1b, 0xb05ca3f564268d99, 0x9ae182c8bc9474e8, 0xa4fc4bd4fc5558ca, 0xe755178d58fc4e76, 0x69b97db1a4c03dfe, 0xf9b5b7c4acc67c96, 0xfc6a82d64b8655fb, 0x9c684cb6c4d24417, 0x8ec97d2917456ed0, 0x6703df9d2924e97e, ], [0x7f9b6af1ebf78baf, 0x58627e1a149bba21, 0x2cd16e2abd791e33, 0xd363eff5f0977996, 0x0ce2a38c344a6eed, 0x1a804aadb9cfa741, 0x907f30421d78c5de, 0x501f65edb3034d07, 0x37624ae5a48fa6e9, 0x957baf61700cff4e, 0x3a6c27934e31188a, 0xd49503536abca345, 0x088e049589c432e0, 0xf943aee7febf21b8, 0x6c3b8e3e336139d3, 0x364f6ffa464ee52e, 0xd60f6dcedc314222, 0x56963b0dca418fc0, 0x16f50edf91e513af, 0xef1955914b609f93, 0x565601c0364e3228, 0xecb53939887e8175, 0xbac7a9a18531294b, 0xb344c470397bba52, 0x65d34954daf3cebd, 0xb4b81b3fa97511e2, 0xb422061193d6f6a7, 0x071582401c38434d, 0x7a13f18bbedc4ff5, 0xbc4097b116c524d2, 0x59b97885e2f2ea28, 0x99170a5dc3115544, 0x6f423357e7c6a9f9, 0x325928ee6e6f8794, 0xd0e4366228b03343, 0x565c31f7de89ea27, 0x30f5611484119414, 0xd873db391292ed4f, 0x7bd94e1d8e17debc, 0xc7d9f16864a76e94, 0x947ae053ee56e63c, 0xc8c93882f9475f5f, 0x3a9bf55ba91f81ca, 0xd9a11fbb3d9808e4, 0x0fd22063edc29fca, 0xb3f256d8aca0b0b9, 0xb03031a8b4516e84, 0x35dd37d5871448af, 0xe9f6082b05542e4e, 0xebfafa33d7254b59, 0x9255abb50d532280, 0xb9ab4ce57f2d34f3, 0x693501d628297551, 0xc62c58f97dd949bf, 0xcd454f8f19c5126a, 0xbbe83f4ecc2bdecb, 0xdc842b7e2819e230, 0xba89142e007503b8, 0xa3bc941d0a5061cb, 0xe9f6760e32cd8021, 0x09c7e552bc76492f, 0x852f54934da55cc9, 0x8107fccf064fcf56, 0x098954d51fff6580, ], [0xda3a361b1c5157b1, 0xdcdd7d20903d0c25, 0x36833336d068f707, 0xce68341f79893389, 0xab9090168dd05f34, 0x43954b3252dc25e5, 0xb438c2b67f98e5e9, 0x10dcd78e3851a492, 0xdbc27ab5447822bf, 0x9b3cdb65f82ca382, 0xb67b7896167b4c84, 0xbfced1b0048eac50, 0xa9119b60369ffebd, 0x1fff7ac80904bf45, 0xac12fb171817eee7, 0xaf08da9177dda93d, 0x1b0cab936e65c744, 0xb559eb1d04e5e932, 0xc37b45b3f8d6f2ba, 0xc3a9dc228caac9e9, 0xf3b8b6675a6507ff, 0x9fc477de4ed681da, 0x67378d8eccef96cb, 0x6dd856d94d259236, 0xa319ce15b0b4db31, 0x073973751f12dd5e, 0x8a8e849eb32781a5, 0xe1925c71285279f5, 0x74c04bf1790c0efe, 0x4dda48153c94938a, 0x9d266d6a1cc0542c, 0x7440fb816508c4fe, 0x13328503df48229f, 0xd6bf7baee43cac40, 0x4838d65f6ef6748f, 0x1e152328f3318dea, 0x8f8419a348f296bf, 0x72c8834a5957b511, 0xd7a023a73260b45c, 0x94ebc8abcfb56dae, 0x9fc10d0f989993e0, 0xde68a2355b93cae6, 0xa44cfe79ae538bbe, 0x9d1d84fcce371425, 0x51d2b1ab2ddfb636, 0x2fd7e4b9e72cd38c, 0x65ca5b96b7552210, 0xdd69a0d8ab3b546d, 0x604d51b25fbf70e2, 0x73aa8a564fb7ac9e, 0x1a8c1e992b941148, 0xaac40a2703d9bea0, 0x764dbeae7fa4f3a6, 0x1e99b96e70a9be8b, 0x2c5e9deb57ef4743, 0x3a938fee32d29981, 0x26e6db8ffdf5adfe, 0x469356c504ec9f9d, 0xc8763c5b08d1908c, 0x3f6c6af859d80055, 0x7f7cc39420a3a545, 0x9bfb227ebdf4c5ce, 0x89039d79d6fc5c5c, 0x8fe88b57305e2ab6, ], [0x001f837cc7350524, 0x1877b51e57a764d5, 0xa2853b80f17f58ee, 0x993e1de72d36d310, 0xb3598080ce64a656, 0x252f59cf0d9f04bb, 0xd23c8e176d113600, 0x1bda0492e7e4586e, 0x21e0bd5026c619bf, 0x3b097adaf088f94e, 0x8d14dedb30be846e, 0xf95cffa23af5f6f4, 0x3871700761b3f743, 0xca672b91e9e4fa16, 0x64c8e531bff53b55, 0x241260ed4ad1e87d, 0x106c09b972d2e822, 0x7fba195410e5ca30, 0x7884d9bc6cb569d8, 0x0647dfedcd894a29, 0x63573ff03e224774, 0x4fc8e9560f91b123, 0x1db956e450275779, 0xb8d91274b9e9d4fb, 0xa2ebee47e2fbfce1, 0xd9f1f30ccd97fb09, 0xefed53d75fd64e6b, 0x2e6d02c36017f67f, 0xa9aa4d20db084e9b, 0xb64be8d8b25396c1, 0x70cb6af7c2d5bcf0, 0x98f076a4f7a2322e, 0xbf84470805e69b5f, 0x94c3251f06f90cf3, 0x3e003e616a6591e9, 0xb925a6cd0421aff3, 0x61bdd1307c66e300, 0xbf8d5108e27e0d48, 0x240ab57a8b888b20, 0xfc87614baf287e07, 0xef02cdd06ffdb432, 0xa1082c0466df6c0a, 0x8215e577001332c8, 0xd39bb9c3a48db6cf, 0x2738259634305c14, 0x61cf4f94c97df93d, 0x1b6baca2ae4e125b, 0x758f450c88572e0b, 0x959f587d507a8359, 0xb063e962e045f54d, 0x60e8ed72c0dff5d1, 0x7b64978555326f9f, 0xfd080d236da814ba, 0x8c90fd9b083f4558, 0x106f72fe81e2c590, 0x7976033a39f7d952, 0xa4ec0132764ca04b, 0x733ea705fae4fa77, 0xb4d8f77bc3e56167, 0x9e21f4f903b33fd9, 0x9d765e419fb69f6d, 0xd30c088ba61ea5ef, 0x5d94337fbfaf7f5b, 0x1a4e4822eb4d7a59, ], [0x230e343dfba08d33, 0x43ed7f5a0fae657d, 0x3a88a0fbbcb05c63, 0x21874b8b4d2dbc4f, 0x1bdea12e35f6a8c9, 0x53c065c6c8e63528, 0xe34a1d250e7a8d6b, 0xd6b04d3b7651dd7e, 0x5e90277e7cb39e2d, 0x2c046f22062dc67d, 0xb10bb459132d0a26, 0x3fa9ddfb67e2f199, 0x0e09b88e1914f7af, 0x10e8b35af3eeab37, 0x9eedeca8e272b933, 0xd4c718bc4ae8ae5f, 0x81536d601170fc20, 0x91b534f885818a06, 0xec8177f83f900978, 0x190e714fada5156e, 0xb592bf39b0364963, 0x89c350c893ae7dc1, 0xac042e70f8b383f2, 0xb49b52e587a1ee60, 0xfb152fe3ff26da89, 0x3e666e6f69ae2c15, 0x3b544ebe544c19f9, 0xe805a1e290cf2456, 0x24b33c9d7ed25117, 0xe74733427b72f0c1, 0x0a804d18b7097475, 0x57e3306d881edb4f, 0x4ae7d6a36eb5dbcb, 0x2d8d5432157064c8, 0xd1e649de1e7f268b, 0x8a328a1cedfe552c, 0x07a3aec79624c7da, 0x84547ddc3e203c94, 0x990a98fd5071d263, 0x1a4ff12616eefc89, 0xf6f7fd1431714200, 0x30c05b1ba332f41c, 0x8d2636b81555a786, 0x46c9feb55d120902, 0xccec0a73b49c9921, 0x4e9d2827355fc492, 0x19ebb029435dcb0f, 0x4659d2b743848a2c, 0x963ef2c96b33be31, 0x74f85198b05a2e7d, 0x5a0f544dd2b1fb18, 0x03727073c2e134b1, 0xc7f6aa2de59aea61, 0x352787baa0d7c22f, 0x9853eab63b5e0b35, 0xabbdcdd7ed5c0860, 0xcf05daf5ac8d77b0, 0x49cad48cebf4a71e, 0x7a4c10ec2158c4a6, 0xd9e92aa246bf719e, 0x13ae978d09fe5557, 0x730499af921549ff, 0x4e4b705b92903ba4, 0xff577222c14f0a3a, ], ], ] epHashes = [0x70cc73d90bc26e24, 0xe21a6b35df0c3ad7, 0x003a93d8b2806962, 0x1c99ded33cb890a1, 0xcf3145de0add4289, 0xd0e4427a5514fb72, 0x77c621cc9fb3a483, 0x67a34dac4356550b] W_OOHash = 0x31d71dce64b2c310 W_OOOHash = 0xf165b587df898190 B_OOHash = 0xa57e6339dd2cf3a0 B_OOOHash = 0x1ef6e6dbb1961ec9 colorHash = 0xf8d626aaaf278509 holdingHash = [[[0, ], [0, ], [0, ], [0, ], [0, ], [0, ], [0, ]], [[0, ], [0, ], [0, ], [0, ], [0, ], [0, ], [0, ]]] for color in (WHITE, BLACK): for pt in (PAWN, KNIGHT, BISHOP, ROOK, QUEEN, KING): for i in range(16): holdingHash[color][pt].append(random.getrandbits(64)) pychess-1.0.0/lib/pychess/Utils/lutils/lmovegen.py0000755000175000017500000007270513407365640021312 0ustar varunvarunfrom .bitboard import bitPosArray, iterBits, clearBit, firstBit from .attack import isAttacked, pinnedOnKing, getAttacks from .ldata import fromToRay, moveArray, directions, fileBits, rankBits,\ ray45, attack45, ray135, attack135, ray90, attack90, ray00, attack00, FILE, rays from pychess.Utils.const import EMPTY, PAWN,\ QUEEN, KNIGHT, BISHOP, ROOK, KING, WHITE, BLACK,\ SITTUYINCHESS, FISCHERRANDOMCHESS, SUICIDECHESS, GIVEAWAYCHESS, CAMBODIANCHESS,\ ATOMICCHESS, WILDCASTLECHESS, WILDCASTLESHUFFLECHESS, CRAZYHOUSECHESS, ASEAN_VARIANTS,\ HORDECHESS, PLACEMENTCHESS, BPAWN, sliders,\ A8, A6, G6, F6, H1, C3, B2, B3, A3, D6, D8, E3, E1, E8, C7, F2, D1, E6, H3, D3, H2, G7, H6, H7,\ ASEAN_QUEEN, ASEAN_BBISHOP, ASEAN_WBISHOP, NORMAL_MOVE, QUEEN_CASTLE, KING_CASTLE, ENPASSANT,\ KNIGHT_PROMOTION, BISHOP_PROMOTION, ROOK_PROMOTION, QUEEN_PROMOTION, KING_PROMOTION, NULL_MOVE,\ DROP_VARIANTS, DROP, B_OOO, B_OO, W_OOO, W_OO # The format of a move is as follows - from left: # 4 bits: Descriping the type of the move # 6 bits: cord to move from # 6 bits: cord to move to shiftedFromCords = [] for i in range(64): shiftedFromCords.append(i << 6) shiftedFlags = [] for i in NORMAL_MOVE, QUEEN_CASTLE, KING_CASTLE, ENPASSANT, \ KNIGHT_PROMOTION, BISHOP_PROMOTION, ROOK_PROMOTION, QUEEN_PROMOTION, KING_PROMOTION, NULL_MOVE, DROP: shiftedFlags.append(i << 12) def newMove(fromcord, tocord, flag=NORMAL_MOVE): return shiftedFlags[flag] + shiftedFromCords[fromcord] + tocord # Generate all moves def genCastles(board): def generateOne(color, side, king_after, rook_after): if side == 0: castle = QUEEN_CASTLE else: castle = KING_CASTLE king = board.ini_kings[color] rook = board.ini_rooks[color][side] blocker = clearBit(clearBit(board.blocker, king), rook) stepover = fromToRay[king][king_after] | fromToRay[rook][rook_after] if not stepover & blocker: for cord in range( min(king, king_after), max(king, king_after) + 1): if isAttacked(board, cord, 1 - color): return if FILE(king) == 3 and board.variant in (WILDCASTLECHESS, WILDCASTLESHUFFLECHESS): castle = QUEEN_CASTLE if castle == KING_CASTLE else KING_CASTLE if board.variant == FISCHERRANDOMCHESS: return newMove(king, rook, castle) else: return newMove(king, king_after, castle) king = board.ini_kings[board.color] wildcastle = FILE(king) == 3 and board.variant in (WILDCASTLECHESS, WILDCASTLESHUFFLECHESS) if board.color == WHITE: if board.castling & W_OO: side = 0 if wildcastle else 1 move = generateOne(WHITE, side, board.fin_kings[WHITE][side], board.fin_rooks[WHITE][side]) if move: yield move if board.castling & W_OOO: side = 1 if wildcastle else 0 move = generateOne(WHITE, side, board.fin_kings[WHITE][side], board.fin_rooks[WHITE][side]) if move: yield move else: if board.castling & B_OO: side = 0 if wildcastle else 1 move = generateOne(BLACK, side, board.fin_kings[BLACK][side], board.fin_rooks[BLACK][side]) if move: yield move if board.castling & B_OOO: side = 1 if wildcastle else 0 move = generateOne(BLACK, side, board.fin_kings[BLACK][side], board.fin_rooks[BLACK][side]) if move: yield move def genPieceMoves(board, piece, tcord): """" Used by parseSAN only to accelerate it a bit """ moves = set() friends = board.friends[board.color] notfriends = ~friends if piece == KNIGHT: knights = board.boards[board.color][KNIGHT] knightMoves = moveArray[KNIGHT] for fcord in iterBits(knights): if tcord in iterBits(knightMoves[fcord] & notfriends): moves.add(newMove(fcord, tcord)) return moves if piece == BISHOP: bishops = board.boards[board.color][BISHOP] if board.variant in ASEAN_VARIANTS: bishopMoves = moveArray[ASEAN_WBISHOP if board.color == WHITE else ASEAN_BBISHOP] for fcord in iterBits(bishops): if tcord in iterBits(bishopMoves[fcord] & notfriends): moves.add(newMove(fcord, tcord)) return moves else: blocker = board.blocker for fcord in iterBits(bishops): try: attackBoard = attack45[fcord][ray45[fcord] & blocker] | \ attack135[fcord][ray135[fcord] & blocker] except KeyError: attackBoard = 0 if tcord in iterBits(attackBoard & notfriends): moves.add(newMove(fcord, tcord)) return moves if piece == ROOK: blocker = board.blocker rooks = board.boards[board.color][ROOK] for fcord in iterBits(rooks): try: attackBoard = attack00[fcord][ray00[fcord] & blocker] | \ attack90[fcord][ray90[fcord] & blocker] except KeyError: attackBoard = 0 if tcord in iterBits(attackBoard & notfriends): moves.add(newMove(fcord, tcord)) return moves if piece == QUEEN: queens = board.boards[board.color][QUEEN] if board.variant in ASEAN_VARIANTS: queenMoves = moveArray[ASEAN_QUEEN] for fcord in iterBits(queens): if tcord in iterBits(queenMoves[fcord] & notfriends): moves.add(newMove(fcord, tcord)) # Cambodian extra first move if board.variant == CAMBODIANCHESS: if board.is_first_move[QUEEN][board.color]: if board.color == WHITE: if not board.arBoard[E3]: moves.add(newMove(E1, E3)) else: if not board.arBoard[D6]: moves.add(newMove(D8, D6)) return moves else: blocker = board.blocker for fcord in iterBits(queens): try: attackBoard = attack45[fcord][ray45[fcord] & blocker] | \ attack135[fcord][ray135[fcord] & blocker] except KeyError: attackBoard = 0 if tcord in iterBits(attackBoard & notfriends): moves.add(newMove(fcord, tcord)) try: attackBoard = attack00[fcord][ray00[fcord] & blocker] | \ attack90[fcord][ray90[fcord] & blocker] except KeyError: attackBoard = 0 if tcord in iterBits(attackBoard & notfriends): moves.add(newMove(fcord, tcord)) return moves if (board.variant == SUICIDECHESS or board.variant == GIVEAWAYCHESS) and piece == KING: kings = board.boards[board.color][KING] if kings: kingMoves = moveArray[KING] for fcord in iterBits(kings): for tc in iterBits(kingMoves[fcord] & notfriends): if tc == tcord: moves.add(newMove(fcord, tcord)) return moves return moves def gen_sittuyin_promotions(board): from pychess.Variants import variants blocker = board.blocker notblocker = ~blocker pawns = board.boards[board.color][PAWN] queenMoves = moveArray[ASEAN_QUEEN] def willDirectAttack(board, move, cord): board_clone = board.clone() board_clone.applyMove(move) return board.friends[1 - board.color] & moveArray[ASEAN_QUEEN][cord] promotion_zone = variants[SITTUYINCHESS].PROMOTION_ZONE[board.color] for cord in iterBits(pawns): if board.pieceCount[board.color][PAWN] == 1 or cord in promotion_zone: # in place promotions move = newMove(cord, cord, QUEEN_PROMOTION) if not board.willGiveCheck(move) and not willDirectAttack(board, move, cord): yield move # queen move promotion for c in iterBits(queenMoves[cord] & notblocker): move = newMove(cord, c, QUEEN_PROMOTION) if not board.willGiveCheck(move) and not willDirectAttack(board, move, c): yield move def genAllMoves(board, drops=True): from pychess.Variants import variants if drops and board.variant in DROP_VARIANTS: for move in genDrops(board): yield move # In sittuyin you have to place your pieces before any real move if board.variant == SITTUYINCHESS or board.variant == PLACEMENTCHESS: if board.plyCount < 16: return blocker = board.blocker notblocker = ~blocker enpassant = board.enpassant friends = board.friends[board.color] notfriends = ~friends enemies = board.friends[1 - board.color] pawns = board.boards[board.color][PAWN] knights = board.boards[board.color][KNIGHT] bishops = board.boards[board.color][BISHOP] rooks = board.boards[board.color][ROOK] queens = board.boards[board.color][QUEEN] kings = board.boards[board.color][KING] PROMOTIONS = variants[board.variant].PROMOTIONS # In sittuyin only one queen allowed to exist any time per side if board.variant == SITTUYINCHESS and queens: PROMOTIONS = (NORMAL_MOVE, ) # Knights knightMoves = moveArray[KNIGHT] for cord in iterBits(knights): for c in iterBits(knightMoves[cord] & notfriends): yield newMove(cord, c) # King if kings: kingMoves = moveArray[KING] # cord = firstBit(kings) for cord in iterBits(kings): for c in iterBits(kingMoves[cord] & notfriends): if board.variant == ATOMICCHESS: if not board.arBoard[c]: yield newMove(cord, c) else: yield newMove(cord, c) if board.variant in ASEAN_VARIANTS: # Rooks for cord in iterBits(rooks): try: attackBoard = attack00[cord][ray00[cord] & blocker] | \ attack90[cord][ray90[cord] & blocker] except KeyError: attackBoard = 0 for c in iterBits(attackBoard & notfriends): yield newMove(cord, c) # Queens queenMoves = moveArray[ASEAN_QUEEN] for cord in iterBits(queens): for c in iterBits(queenMoves[cord] & notfriends): yield newMove(cord, c) # Bishops bishopMoves = moveArray[ASEAN_WBISHOP if board.color == WHITE else ASEAN_BBISHOP] for cord in iterBits(bishops): for c in iterBits(bishopMoves[cord] & notfriends): yield newMove(cord, c) else: # Rooks and Queens for cord in iterBits(rooks | queens): try: attackBoard = attack00[cord][ray00[cord] & blocker] | \ attack90[cord][ray90[cord] & blocker] except KeyError: attackBoard = 0 for c in iterBits(attackBoard & notfriends): yield newMove(cord, c) # Bishops and Queens for cord in iterBits(bishops | queens): try: attackBoard = attack45[cord][ray45[cord] & blocker] | \ attack135[cord][ray135[cord] & blocker] except KeyError: attackBoard = 0 for c in iterBits(attackBoard & notfriends): yield newMove(cord, c) # White pawns pawnEnemies = enemies | (enpassant is not None and bitPosArray[enpassant] or 0) if board.color == WHITE: # One step if board.variant == SITTUYINCHESS: promotion_zone = [] else: promotion_zone = variants[board.variant].PROMOTION_ZONE[WHITE] movedpawns = (pawns >> 8) & notblocker # Move all pawns one step forward for cord in iterBits(movedpawns): if cord in promotion_zone: for p in PROMOTIONS: yield newMove(cord - 8, cord, p) else: yield newMove(cord - 8, cord) # Two steps seccondrow = pawns & rankBits[1] # Get seccond row pawns movedpawns = (seccondrow >> 8) & notblocker # Move two steps forward, while movedpawns = (movedpawns >> 8) & notblocker # ensuring middle cord is clear for cord in iterBits(movedpawns): yield newMove(cord - 16, cord) # In horde white pawns on first rank may move two squares also if board.variant == HORDECHESS: firstrow = pawns & rankBits[0] # Get first row pawns movedpawns = (firstrow >> 8) & notblocker # Move two steps forward, while movedpawns = (movedpawns >> 8) & notblocker # ensuring middle cord is clear for cord in iterBits(movedpawns): yield newMove(cord - 16, cord) # Capture left capLeftPawns = pawns & ~fileBits[0] capLeftPawns = (capLeftPawns >> 7) & pawnEnemies for cord in iterBits(capLeftPawns): if cord in promotion_zone: for p in PROMOTIONS: yield newMove(cord - 7, cord, p) elif cord == enpassant: yield newMove(cord - 7, cord, ENPASSANT) else: yield newMove(cord - 7, cord) # Capture right capRightPawns = pawns & ~fileBits[7] capRightPawns = (capRightPawns >> 9) & pawnEnemies for cord in iterBits(capRightPawns): if cord in promotion_zone: for p in PROMOTIONS: yield newMove(cord - 9, cord, p) elif cord == enpassant: yield newMove(cord - 9, cord, ENPASSANT) else: yield newMove(cord - 9, cord) # Black pawns else: # One step if board.variant == SITTUYINCHESS: promotion_zone = [] else: promotion_zone = variants[board.variant].PROMOTION_ZONE[BLACK] movedpawns = (pawns << 8) & notblocker movedpawns &= 0xffffffffffffffff # contrain to 64 bits for cord in iterBits(movedpawns): if cord in promotion_zone: for p in PROMOTIONS: yield newMove(cord + 8, cord, p) else: yield newMove(cord + 8, cord) # Two steps seccondrow = pawns & rankBits[6] # Get seventh row pawns # Move two steps forward, while ensuring middle cord is clear movedpawns = seccondrow << 8 & notblocker movedpawns = movedpawns << 8 & notblocker for cord in iterBits(movedpawns): yield newMove(cord + 16, cord) # Capture left capLeftPawns = pawns & ~fileBits[7] capLeftPawns = capLeftPawns << 7 & pawnEnemies for cord in iterBits(capLeftPawns): if cord in promotion_zone: for p in PROMOTIONS: yield newMove(cord + 7, cord, p) elif cord == enpassant: yield newMove(cord + 7, cord, ENPASSANT) else: yield newMove(cord + 7, cord) # Capture right capRightPawns = pawns & ~fileBits[0] capRightPawns = capRightPawns << 9 & pawnEnemies for cord in iterBits(capRightPawns): if cord in promotion_zone: for p in PROMOTIONS: yield newMove(cord + 9, cord, p) elif cord == enpassant: yield newMove(cord + 9, cord, ENPASSANT) else: yield newMove(cord + 9, cord) # Sittuyin promotions if board.variant == SITTUYINCHESS and pawns and not queens: for move in gen_sittuyin_promotions(board): yield move # Cambodian extra first moves for king and queen if board.variant == CAMBODIANCHESS: if board.arBoard[board.ini_kings[board.color]] == KING and \ board.is_first_move[KING][board.color]: if board.color == WHITE: if not board.arBoard[B2]: yield newMove(D1, B2) if not board.arBoard[F2]: yield newMove(D1, F2) else: if not board.arBoard[C7]: yield newMove(E8, C7) if not board.arBoard[G7]: yield newMove(E8, G7) if board.arBoard[board.ini_queens[board.color]] == QUEEN and \ board.is_first_move[QUEEN][board.color]: if board.color == WHITE: if not board.arBoard[E3]: yield newMove(E1, E3) else: if not board.arBoard[D6]: yield newMove(D8, D6) # Castling if kings: for move in genCastles(board): yield move ################################################################################ # Generate capturing moves # ################################################################################ def genCaptures(board): from pychess.Variants import variants blocker = board.blocker enpassant = board.enpassant enemies = board.friends[1 - board.color] pawns = board.boards[board.color][PAWN] knights = board.boards[board.color][KNIGHT] bishops = board.boards[board.color][BISHOP] rooks = board.boards[board.color][ROOK] queens = board.boards[board.color][QUEEN] kings = board.boards[board.color][KING] PROMOTIONS = variants[board.variant].PROMOTIONS # In sittuyin promotion can't give capture if board.variant == SITTUYINCHESS: PROMOTIONS = (NORMAL_MOVE, ) # Knights knightMoves = moveArray[KNIGHT] for cord in iterBits(knights): for c in iterBits(knightMoves[cord] & enemies): yield newMove(cord, c) # King if kings: kingMoves = moveArray[KING] # cord = firstBit(kings) for cord in iterBits(kings): for c in iterBits(kingMoves[cord] & enemies): if board.variant != ATOMICCHESS: yield newMove(cord, c) # Rooks and Queens if board.variant in ASEAN_VARIANTS: for cord in iterBits(rooks): try: attackBoard = attack00[cord][ray00[cord] & blocker] | \ attack90[cord][ray90[cord] & blocker] except KeyError: attackBoard = 0 for c in iterBits(attackBoard & enemies): yield newMove(cord, c) else: for cord in iterBits(rooks | queens): try: attackBoard = attack00[cord][ray00[cord] & blocker] | \ attack90[cord][ray90[cord] & blocker] except KeyError: attackBoard = 0 for c in iterBits(attackBoard & enemies): yield newMove(cord, c) # Bishops and Queens if board.variant in ASEAN_VARIANTS: bishopMoves = moveArray[ASEAN_WBISHOP if board.color == WHITE else ASEAN_BBISHOP] for cord in iterBits(bishops): for c in iterBits(bishopMoves[cord] & enemies): yield newMove(cord, c) queenMoves = moveArray[ASEAN_QUEEN] for cord in iterBits(queens): for c in iterBits(queenMoves[cord] & enemies): yield newMove(cord, c) else: for cord in iterBits(bishops | queens): try: attackBoard = attack45[cord][ray45[cord] & blocker] | \ attack135[cord][ray135[cord] & blocker] except KeyError: attackBoard = 0 for c in iterBits(attackBoard & enemies): yield newMove(cord, c) # White pawns pawnEnemies = enemies | (enpassant is not None and bitPosArray[enpassant] or 0) if board.color == WHITE: promotion_zone = variants[board.variant].PROMOTION_ZONE[WHITE] # Promotes # Capture left capLeftPawns = pawns & ~fileBits[0] capLeftPawns = (capLeftPawns >> 7) & pawnEnemies for cord in iterBits(capLeftPawns): if cord in promotion_zone: for p in PROMOTIONS: yield newMove(cord - 7, cord, p) elif cord == enpassant: yield newMove(cord - 7, cord, ENPASSANT) else: yield newMove(cord - 7, cord) # Capture right capRightPawns = pawns & ~fileBits[7] capRightPawns = (capRightPawns >> 9) & pawnEnemies for cord in iterBits(capRightPawns): if cord in promotion_zone: for p in PROMOTIONS: yield newMove(cord - 9, cord, p) elif cord == enpassant: yield newMove(cord - 9, cord, ENPASSANT) else: yield newMove(cord - 9, cord) # Black pawns else: promotion_zone = variants[board.variant].PROMOTION_ZONE[BLACK] # One step # Capture left capLeftPawns = pawns & ~fileBits[7] capLeftPawns = capLeftPawns << 7 & pawnEnemies for cord in iterBits(capLeftPawns): if cord in promotion_zone: for p in PROMOTIONS: yield newMove(cord + 7, cord, p) elif cord == enpassant: yield newMove(cord + 7, cord, ENPASSANT) else: yield newMove(cord + 7, cord) # Capture right capRightPawns = pawns & ~fileBits[0] capRightPawns = capRightPawns << 9 & pawnEnemies for cord in iterBits(capRightPawns): if cord in promotion_zone: for p in PROMOTIONS: yield newMove(cord + 9, cord, p) elif cord == enpassant: yield newMove(cord + 9, cord, ENPASSANT) else: yield newMove(cord + 9, cord) ################################################################################ # Generate escapes from check # ################################################################################ def genCheckEvasions(board): from pychess.Variants import variants color = board.color opcolor = 1 - color kcord = board.kings[color] kings = board.boards[color][KING] pawns = board.boards[color][PAWN] queens = board.boards[board.color][QUEEN] checkers = getAttacks(board, kcord, opcolor) arBoard = board.arBoard if bin(checkers).count("1") == 1: PROMOTIONS = variants[board.variant].PROMOTIONS # In sittuyin promotion move not allowed to capture opponent pieces if board.variant == SITTUYINCHESS and board.boards[board.color][QUEEN]: PROMOTIONS = (NORMAL_MOVE, ) promotion_zone = variants[board.variant].PROMOTION_ZONE[color] # Captures of checking pieces (except by king, which we will test later) chkcord = firstBit(checkers) b = getAttacks(board, chkcord, color) & ~kings for cord in iterBits(b): if not pinnedOnKing(board, cord, color): if arBoard[cord] == PAWN and chkcord in promotion_zone and board.variant != SITTUYINCHESS: for p in PROMOTIONS: yield newMove(cord, chkcord, p) else: yield newMove(cord, chkcord) # Maybe enpassant can help if board.enpassant: ep = board.enpassant if ep + (color == WHITE and -8 or 8) == chkcord: bits = moveArray[color == WHITE and BPAWN or PAWN][ep] & pawns for cord in iterBits(bits): if not pinnedOnKing(board, cord, color): yield newMove(cord, ep, ENPASSANT) # Lets block/capture the checking piece if sliders[arBoard[chkcord]]: bits = clearBit(fromToRay[kcord][chkcord], chkcord) for cord in iterBits(bits): b = getAttacks(board, cord, color) b &= ~(kings | pawns) # Add in pawn advances if color == WHITE and cord > H2: if bitPosArray[cord - 8] & pawns: b |= bitPosArray[cord - 8] if cord >> 3 == 3 and arBoard[cord - 8] == EMPTY and \ bitPosArray[cord - 16] & pawns: b |= bitPosArray[cord - 16] elif color == BLACK and cord < H7: if bitPosArray[cord + 8] & pawns: b |= bitPosArray[cord + 8] if cord >> 3 == 4 and arBoard[cord + 8] == EMPTY and \ bitPosArray[cord + 16] & pawns: b |= bitPosArray[cord + 16] for fcord in iterBits(b): # If the piece is blocking another attack, we cannot move it if pinnedOnKing(board, fcord, color): continue if arBoard[fcord] == PAWN and cord in promotion_zone: for p in PROMOTIONS: yield newMove(fcord, cord, p) else: yield newMove(fcord, cord) if board.variant == CRAZYHOUSECHESS: holding = board.holding[color] for piece in holding: if holding[piece] > 0: if piece == PAWN: if cord >= 56 or cord <= 7: continue yield newMove(piece, cord, DROP) if board.variant == SITTUYINCHESS and pawns and not queens: from .lmove import TCORD for move in gen_sittuyin_promotions(board): if TCORD(move) == cord: yield move # If more than one checkers, move king to get out of check if checkers: escapes = moveArray[KING][kcord] & ~board.friends[color] else: escapes = 0 for chkcord in iterBits(checkers): dir = directions[chkcord][kcord] if sliders[arBoard[chkcord]]: escapes &= ~rays[chkcord][dir] for cord in iterBits(escapes): if not isAttacked(board, cord, opcolor): yield newMove(kcord, cord) def genDrops(board): color = board.color arBoard = board.arBoard holding = board.holding[color] for piece in holding: if holding[piece] > 0: for cord, elem in enumerate(arBoard): if elem == EMPTY: # forbidden drop moves if board.variant == SITTUYINCHESS: if color == WHITE: if cord in (A3, B3, C3, D3) or cord > H3: continue if piece == ROOK and cord > H1: continue else: if cord in (E6, F6, G6, H6) or cord < A6: continue if piece == ROOK and cord < A8: continue elif board.variant == PLACEMENTCHESS: # drop pieces enabled on base line only if color == WHITE: if cord > H1: continue else: if cord < A8: continue # bishops must be on opposite colour squares base_line = arBoard[0:8] if color == WHITE else arBoard[56:64] occupied_colors = [0, 0] occupied_colors[cord % 2] += 1 for i, baseline_piece in enumerate(base_line): if baseline_piece != EMPTY: occupied_colors[i % 2] += 1 if holding[BISHOP] == 2 and piece != BISHOP: # occupying all same colored fields before any bishop dropped is no-no if occupied_colors[WHITE] == 4 or occupied_colors[BLACK] == 4: continue elif holding[BISHOP] == 1: for i, baseline_piece in enumerate(base_line): if baseline_piece == BISHOP: first_bishop_cord = i break # occupying all possible place of opp colored bishop is no-no if piece != BISHOP and occupied_colors[1 - first_bishop_cord % 2] == 4: continue # same colored bishop is no-no elif piece == BISHOP and first_bishop_cord % 2 == cord % 2: continue if piece == PAWN: if cord >= 56 or cord <= 7: continue yield newMove(piece, cord, DROP) pychess-1.0.0/lib/pychess/Utils/lutils/lsort.py0000755000175000017500000000630013402267600020615 0ustar varunvarunimport sys from .attack import staticExchangeEvaluate from .ldata import PIECE_VALUES, ASEAN_PIECE_VALUES, PAWN_VALUE, MATE_VALUE from pychess.Utils.const import DROP, EMPTY, ASEAN_VARIANTS, PROMOTIONS, ATOMICCHESS from pychess.Utils.eval import pos as position_values from pychess.Variants.atomic import kingExplode def getCaptureValue(board, move): if board.variant in ASEAN_VARIANTS: mpV = ASEAN_PIECE_VALUES[board.arBoard[move >> 6 & 63]] cpV = ASEAN_PIECE_VALUES[board.arBoard[move & 63]] else: mpV = PIECE_VALUES[board.arBoard[move >> 6 & 63]] cpV = PIECE_VALUES[board.arBoard[move & 63]] if mpV < cpV: return cpV - mpV else: temp = staticExchangeEvaluate(board, move) return temp < 0 and -sys.maxsize or temp def sortCaptures(board, moves): def sort_captures_func(move): return getCaptureValue(board, move) moves.sort(key=sort_captures_func, reverse=True) return moves def getMoveValue(board, table, depth, move): """ Sort criteria is as follows. 1. The move from the hash table 2. Captures as above. 3. Killers. 4. History. 5. Moves to the centre. """ # As we only return directly from transposition table if hashf == hashfEXACT # There could be a non hashfEXACT very promising move for us to test if table.isHashMove(depth, move): return sys.maxsize fcord = (move >> 6) & 63 tcord = move & 63 flag = move >> 12 arBoard = board.arBoard fpiece = fcord if flag == DROP else arBoard[fcord] tpiece = arBoard[tcord] if tpiece != EMPTY: if board.variant == ATOMICCHESS: if kingExplode(board, move, board.color): return MATE_VALUE # We add some extra to ensure also bad captures will be searched early if board.variant in ASEAN_VARIANTS: return ASEAN_PIECE_VALUES[tpiece] - PIECE_VALUES[fpiece] + 1000 else: return PIECE_VALUES[tpiece] - PIECE_VALUES[fpiece] + 1000 if flag in PROMOTIONS: if board.variant in ASEAN_VARIANTS: return ASEAN_PIECE_VALUES[flag - 3] - PAWN_VALUE + 1000 else: return PIECE_VALUES[flag - 3] - PAWN_VALUE + 1000 if flag == DROP: return PIECE_VALUES[tpiece] + 1000 killervalue = table.isKiller(depth, move) if killervalue: return 1000 + killervalue # King tropism - a move that brings us nearer to the enemy king, is probably # a good move # opking = board.kings[1-board.color] # score = distance[fpiece][fcord][opking] - distance[fpiece][tcord][opking] if fpiece not in position_values: # That is, fpiece == EMPTY print(fcord, tcord) print(board) if board.variant in ASEAN_VARIANTS: score = 0 else: score = position_values[fpiece][board.color][tcord] - \ position_values[fpiece][board.color][fcord] # History heuristic score += table.getButterfly(move) return score def sortMoves(board, table, ply, hashmove, moves): def sort_moves_func(move): return getMoveValue(board, table, ply, hashmove, move) moves.sort(key=sort_moves_func, reverse=True) return moves pychess-1.0.0/lib/pychess/Utils/lutils/TranspositionTable.py0000755000175000017500000000776213353143212023310 0ustar varunvarunfrom ctypes import create_string_buffer, memset from struct import Struct from pychess.Utils.const import hashfALPHA, hashfBETA, hashfEXACT, hashfBAD from pychess.Utils.lutils.ldata import MATE_VALUE, MAXPLY # Store hash entries in buckets of 4. An entry consists of: # key 32 bits derived from the board hash # search_id counter used to determine entry's age # hashf bound type (one of the hashf* constants) # depth search depth # score search score # move best move (or cutoff move) entryType = Struct('=I B B H h H') class TranspositionTable: def __init__(self, maxSize): assert maxSize > 0 self.buckets = maxSize // (4 * entryType.size) self.data = create_string_buffer(self.buckets * 4 * entryType.size) self.search_id = 0 self.killer1 = [-1] * 80 self.killer2 = [-1] * 80 self.hashmove = [-1] * 80 self.butterfly = [0] * (64 * 64) def clear(self): memset(self.data, 0, self.buckets * 4 * entryType.size) self.killer1 = [-1] * 80 self.killer2 = [-1] * 80 self.hashmove = [-1] * 80 self.butterfly = [0] * (64 * 64) def newSearch(self): self.search_id = (self.search_id + 1) & 0xff # TODO: consider clearing butterfly table def probe(self, board, depth, alpha, beta): baseIndex = (board.hash % self.buckets) * 4 key = (board.hash // self.buckets) & 0xffffffff for i in range(baseIndex, baseIndex + 4): tkey, search_id, hashf, tdepth, score, move = entryType.unpack_from( self.data, i * entryType.size) if tkey == key: # Mate score bounds are guaranteed to be accurate at any depth. if tdepth < depth and abs(score) < MATE_VALUE - MAXPLY: return move, score, hashfBAD if hashf == hashfEXACT: return move, score, hashf if hashf == hashfALPHA and score <= alpha: return move, alpha, hashf if hashf == hashfBETA and score >= beta: return move, beta, hashf def record(self, board, move, score, hashf, depth): baseIndex = (board.hash % self.buckets) * 4 key = (board.hash // self.buckets) & 0xffffffff # We always overwrite *something*: an empty slot, this position's last entry, or else the least relevant. staleIndex = baseIndex staleRelevance = 0xffff for i in range(baseIndex, baseIndex + 4): tkey, search_id, thashf, tdepth, tscore, tmove = entryType.unpack_from( self.data, i * entryType.size) if tkey == 0 or tkey == key: staleIndex = i break relevance = (0x8000 if search_id != self.search_id and thashf == hashfEXACT else 0) + \ (0x4000 if ((self.search_id - search_id) & 0xff) > 1 else 0) + tdepth if relevance < staleRelevance: staleIndex = i staleRelevance = relevance entryType.pack_into(self.data, staleIndex * entryType.size, key, self.search_id, hashf, depth, score, move) def addKiller(self, ply, move): if self.killer1[ply] == -1: self.killer1[ply] = move elif move != self.killer1[ply]: self.killer2[ply] = move def isKiller(self, ply, move): if self.killer1[ply] == move: return 10 elif self.killer2[ply] == move: return 8 if ply >= 2: if self.killer1[ply - 2] == move: return 6 elif self.killer2[ply - 2] == move: return 4 return 0 def setHashMove(self, ply, move): self.hashmove[ply] = move def isHashMove(self, ply, move): return self.hashmove[ply] == move def addButterfly(self, move, depth): self.butterfly[move & 0xfff] += 1 << depth def getButterfly(self, move): return self.butterfly[move & 0xfff] pychess-1.0.0/lib/pychess/Utils/lutils/egtb_k4it.py0000755000175000017500000001047313365545272021350 0ustar varunvarunimport asyncio import re from urllib.request import urlopen from pychess.Utils.lutils.lmovegen import newMove from pychess.Utils.lutils.lmove import FILE, RANK from pychess.Utils.const import WHITE, DRAW, NORMAL_MOVE, ENPASSANT, \ EMPTY, PAWN, BLACKWON, WHITEWON, \ QUEEN_PROMOTION, ROOK_PROMOTION, BISHOP_PROMOTION, KNIGHT_PROMOTION from pychess.Utils.repr import reprColor from pychess.System.Log import log from pychess.System import conf URL = "http://www.k4it.de/egtb/fetch.php?action=egtb&fen=" expression = re.compile("(\d+)-(\d+)-?(\d+)?: (Win in \d+|Draw|Lose in \d+)") PROMOTION_FLAGS = { 2: QUEEN_PROMOTION, 3: ROOK_PROMOTION, 4: BISHOP_PROMOTION, 5: KNIGHT_PROMOTION, 8: QUEEN_PROMOTION, 9: ROOK_PROMOTION, 10: BISHOP_PROMOTION, 11: KNIGHT_PROMOTION } class EgtbK4kit: def __init__(self): self.table = {} def supports(self, size): return sum(size) < 7 @asyncio.coroutine def scoreAllMoves(self, board, probeSoft=False): global URL, expression, PROMOTION_FLAGS fen = board.asFen().split()[0] + " w - - 0 1" if (fen, board.color) in self.table: return self.table[(fen, board.color)] if probeSoft or not conf.get("online_egtb_check"): return [] def get_data(URL, fen): # Request the page url = (URL + fen).replace(" ", "%20") try: f = urlopen(url) except IOError as e: log.warning( "Unable to read endgame tablebase from the Internet: %s" % repr(e)) data = b"" data = f.read() return data loop = asyncio.get_event_loop() future = loop.run_in_executor(None, get_data, URL, fen) data = yield from future # Parse for color, move_data in enumerate(data.split(b"\nNEXTCOLOR\n")): try: moves = [] for fcord, tcord, promotion, result in expression.findall( move_data.decode()): fcord = int(fcord) tcord = int(tcord) if promotion: flag = PROMOTION_FLAGS[int(promotion)] elif RANK(fcord) != RANK(tcord) and FILE(fcord) != FILE(tcord) and \ board.arBoard[fcord] == PAWN and board.arBoard[tcord] == EMPTY: flag = ENPASSANT else: flag = NORMAL_MOVE move = newMove(fcord, tcord, flag) if result == "Draw": state = DRAW steps = 0 else: s, steps = result.split(" in ") steps = int(steps) if result.startswith("Win"): if color == WHITE: state = WHITEWON else: state = BLACKWON elif result.startswith("Lose"): if color == WHITE: state = BLACKWON else: state = WHITEWON moves.append((move, state, steps)) if moves: self.table[(fen, color)] = moves elif color == board.color and board.opIsChecked(): log.warning("Asked endgametable for a won position: %s" % fen) elif color == board.color: log.warning( "Couldn't get %s data for position %s.\nData was: %s" % (reprColor[color], fen, repr(data))) except (KeyError, ValueError): log.warning( "Couldn't parse %s data for position %s.\nData was: %s" % ( reprColor[color], fen, repr(data))) self.table[(fen, color)] = [] # Don't try again. if (fen, board.color) in self.table: return self.table[(fen, board.color)] return [] def scoreGame(self, board, omitDepth, probeSoft): scores = self.scoreAllMoves(board, probeSoft) if scores: return scores[0][1], scores[0][2] return None, None pychess-1.0.0/lib/pychess/Utils/lutils/ldraw.py0000755000175000017500000000500413353143212020560 0ustar varunvarun from .ldata import BLACK_SQUARES from pychess.Utils.const import WHITE, BLACK, KNIGHT, BISHOP, ROOK, QUEEN, PAWN def testFifty(board): if board.fifty >= 100: return True return False drawSet = set(((0, 0, 0, 0, 0, 0, 0, 0), # KK (0, 1, 0, 0, 0, 0, 0, 0), # KBK (1, 0, 0, 0, 0, 0, 0, 0), # KNK (0, 0, 0, 0, 0, 1, 0, 0), # KKB (0, 0, 0, 0, 1, 0, 0, 0), # KNK (1, 0, 0, 0, 0, 1, 0, 0), # KNKB (0, 1, 0, 0, 1, 0, 0, 0), # KBKN )) # Contains not 100% sure ones drawSet2 = set(((2, 0, 0, 0, 0, 0, 0, 0), # KNNK (0, 0, 0, 0, 2, 0, 0, 0), # KKNN (2, 0, 0, 0, 1, 0, 0, 0), # KNNKN (1, 0, 0, 0, 2, 0, 0, 0), # KNKNN (2, 0, 0, 0, 0, 1, 0, 0), # KNNKB (0, 1, 0, 0, 2, 0, 0, 0), # KBKNN (2, 0, 0, 0, 0, 0, 1, 0), # KNNKR (0, 0, 1, 0, 2, 0, 0, 0) # KRKNN )) def testMaterial(board): """ Tests if no players are able to win the game from the current position """ whitePieceCount = board.pieceCount[WHITE] blackPieceCount = board.pieceCount[BLACK] if whitePieceCount[PAWN] or blackPieceCount[PAWN]: return False if whitePieceCount[QUEEN] or blackPieceCount[QUEEN]: return False wn = whitePieceCount[KNIGHT] wb = whitePieceCount[BISHOP] wr = whitePieceCount[ROOK] bn = blackPieceCount[KNIGHT] bb = blackPieceCount[BISHOP] br = blackPieceCount[ROOK] if (wn, wb, wr, 0, bn, bb, br, 0) in drawSet: return True # Tests KBKB. Draw if bishops are of same color if not wn + wr + bn + br and wb == 1 and bb == 1: if board.boards[WHITE][BISHOP] & BLACK_SQUARES != \ board.boards[BLACK][BISHOP] & BLACK_SQUARES: return True def testPlayerMatingMaterial(board, color): """ Tests if given color has enough material to mate on board """ pieceCount = board.pieceCount[color] if pieceCount[PAWN] or pieceCount[QUEEN] or pieceCount[ROOK] \ or (pieceCount[KNIGHT] + pieceCount[BISHOP] > 1): return True return False # This could be expanded by the fruit kpk draw function, which can test if a # certain king verus king and pawn posistion is winable. def test(board): """ Test if the position is drawn. Two-fold repetitions are counted. """ return board.repetitionCount(draw_threshold=2) > 1 or \ testFifty(board) or \ testMaterial(board) pychess-1.0.0/lib/pychess/Utils/lutils/lmove.py0000755000175000017500000006521213407365640020613 0ustar varunvarun# -*- coding: UTF-8 -*- from .ldata import bitPosArray, fileBits, rankBits, moveArray from .bitboard import firstBit, iterBits from .validator import validateMove from pychess.Utils.const import SAN, AN, LAN, ENPASSANT, EMPTY, PAWN, KING_CASTLE, QUEEN_CASTLE,\ reprFile, reprRank, chr2Sign, cordDic, reprSign, reprCord, reprSignSittuyin, reprSignMakruk,\ QUEEN, KNIGHT, BISHOP, ROOK, KING, NORMALCHESS, NORMAL_MOVE, PROMOTIONS, WHITE, BLACK, DROP,\ FAN_PIECES, SITTUYINCHESS, FISCHERRANDOMCHESS, SUICIDECHESS, MAKRUKCHESS, CAMBODIANCHESS,\ GIVEAWAYCHESS, ATOMICCHESS, WILDCASTLECHESS, WILDCASTLESHUFFLECHESS, HORDECHESS,\ chrU2Sign, CASTLE_KR, CASTLE_SAN, QUEEN_PROMOTION, NULL_MOVE, FAN, ASEAN_QUEEN from pychess.Utils.repr import reprPiece, localReprSign from pychess.Utils.lutils.lmovegen import genAllMoves, genPieceMoves, newMove def RANK(cord): return cord >> 3 def FILE(cord): return cord & 7 def TCORD(move): return move & 63 def FCORD(move): return move >> 6 & 63 def FLAG(move): return move >> 12 def PROMOTE_PIECE(flag): return flag - 2 def FLAG_PIECE(piece): return piece + 2 class ParsingError(Exception): """ Please raise this with a 3-tupple: (move, reason, board.asFen()) The reason should be usable in the context: 'Move was not parseable because %s' % reason """ pass def sittuyin_promotion_fcord(board, tcord): from pychess.Variants import variants queenMoves = moveArray[ASEAN_QUEEN] promotion_zone = variants[SITTUYINCHESS].PROMOTION_ZONE[board.color] for fcord in iterBits(queenMoves[tcord]): if fcord in promotion_zone: return fcord ################################################################################ # parseAny # ################################################################################ def parseAny(board, algnot): type = determineAlgebraicNotation(algnot) if type == SAN: return parseSAN(board, algnot) if type == AN: return parseAN(board, algnot) if type == LAN: return parseLAN(board, algnot) return parseFAN(board, algnot) def determineAlgebraicNotation(algnot): upnot = algnot.upper() if upnot in ("O-O", "O-O-O", "0-0", "0-0-0", "OO", "OOO", "00", "000"): return SAN # Test for e2-e4 if "-" in algnot: return LAN # Test for b4xc5 if "x" in algnot and algnot.split('x')[0] in cordDic: return LAN # Test for e2e4 or a7a8q or a7a8=q if algnot[:2] in cordDic and algnot[2:4] in cordDic: return AN if algnot[0] in FAN_PIECES[WHITE] or algnot[0] in FAN_PIECES[BLACK]: return FAN return SAN ################################################################################ # listToSan # ################################################################################ def listToSan(board, moves): # Work on a copy to ensure we don't break things board = board.clone() sanmoves = [] for move in moves: san = toSAN(board, move) sanmoves.append(san) board.applyMove(move) return sanmoves ################################################################################ # listToMoves # ################################################################################ def listToMoves(board, movstrs, type=None, testvalidate=False, ignoreErrors=False): # Work on a copy to ensure we don't break things board = board.clone() moves = [] for mstr in movstrs: try: if type is None: move = parseAny(board, mstr) elif type == SAN: move = parseSAN(board, mstr) elif type == AN: move = parseAN(board, mstr) elif type == LAN: move = parseLAN(board, mstr) except ParsingError: if ignoreErrors: break raise if testvalidate and mstr != "--": if not validateMove(board, move): if not ignoreErrors: raise ParsingError(mstr, 'Validation', board.asFen()) break moves.append(move) board.applyMove(move) return moves ################################################################################ # toSan # ################################################################################ def toSAN(board, move, localRepr=False): """ Returns a Short/Abbreviated Algebraic Notation string of a move The board should be prior to the move """ def check_or_mate(): board_clone = board.clone() board_clone.applyMove(move) sign = "" if board_clone.isChecked(): for altmove in genAllMoves(board_clone): if board.variant == ATOMICCHESS: from pychess.Variants.atomic import kingExplode if kingExplode(board_clone, altmove, 1 - board_clone.color) and \ not kingExplode(board_clone, altmove, board_clone.color): sign = "+" break elif kingExplode(board_clone, altmove, board_clone.color): continue board_clone.applyMove(altmove) if board_clone.opIsChecked(): board_clone.popMove() continue sign = "+" break else: sign = "#" return sign flag = move >> 12 if flag == NULL_MOVE: return "--" fcord = (move >> 6) & 63 if flag == KING_CASTLE: return "O-O%s" % check_or_mate() elif flag == QUEEN_CASTLE: return "O-O-O%s" % check_or_mate() tcord = move & 63 fpiece = fcord if flag == DROP else board.arBoard[fcord] tpiece = board.arBoard[tcord] part0 = "" part1 = "" if fpiece != PAWN or flag == DROP: if board.variant in (CAMBODIANCHESS, MAKRUKCHESS): part0 += reprSignMakruk[fpiece] elif board.variant == SITTUYINCHESS: part0 += reprSignSittuyin[fpiece] elif localRepr: part0 += localReprSign[fpiece] else: part0 += reprSign[fpiece] part1 = reprCord[tcord] if flag == DROP: return "%s@%s%s" % (part0, part1, check_or_mate()) if fpiece != PAWN: xs = [] ys = [] board_clone = board.clone() for altmove in genAllMoves(board_clone, drops=False): mfcord = FCORD(altmove) if board_clone.arBoard[mfcord] == fpiece and \ mfcord != fcord and \ TCORD(altmove) == tcord: board_clone.applyMove(altmove) if not board_clone.opIsChecked(): xs.append(FILE(mfcord)) ys.append(RANK(mfcord)) board_clone.popMove() x = FILE(fcord) y = RANK(fcord) if ys or xs: if y in ys and x not in xs: # If we share rank with another piece, but not file part0 += reprFile[x] elif x in xs and y not in ys: # If we share file with another piece, but not rank part0 += reprRank[y] elif x in xs and y in ys: # If we share both file and rank with other pieces part0 += reprFile[x] + reprRank[y] else: # If we doesn't share anything, it is standard to put file part0 += reprFile[x] if tpiece != EMPTY or flag == ENPASSANT: if not (board.variant == SITTUYINCHESS and fcord == tcord): part1 = "x" + part1 if fpiece == PAWN: part0 += reprFile[FILE(fcord)] if board.variant == SITTUYINCHESS and flag in PROMOTIONS: part0 = reprCord[fcord] notat = part0 + part1 if flag in PROMOTIONS: if board.variant in (CAMBODIANCHESS, MAKRUKCHESS): notat += "=" + reprSignMakruk[PROMOTE_PIECE(flag)] elif board.variant == SITTUYINCHESS: notat += "=" + reprSignSittuyin[PROMOTE_PIECE(flag)] elif localRepr: notat += "=" + localReprSign[PROMOTE_PIECE(flag)] else: notat += "=" + reprSign[PROMOTE_PIECE(flag)] return "%s%s" % (notat, check_or_mate()) ################################################################################ # parseSan # ################################################################################ def parseSAN(board, san): """ Parse a Short/Abbreviated Algebraic Notation string """ notat = san color = board.color if notat == "--": return newMove(board.kings[color], board.kings[color], NULL_MOVE) if notat[-1] in "+#": notat = notat[:-1] # If '++' was used in place of # if notat[-1] == "+": notat = notat[:-1] flag = NORMAL_MOVE # If last char is a piece char, we assue it the promote char c = notat[-1] if c in "KQRBNSMFkqrbnsmf.": c = c.lower() if c == "k" and board.variant != SUICIDECHESS and board.variant != GIVEAWAYCHESS: raise ParsingError(san, _("invalid promoted piece"), board.asFen()) elif c == ".": if board.variant in (CAMBODIANCHESS, MAKRUKCHESS, SITTUYINCHESS): # temporary hack for xboard bug flag = QUEEN_PROMOTION else: raise ParsingError(san, "invalid san", board.asFen()) else: flag = chr2Sign[c] + 2 if notat[-2] == "=": notat = notat[:-2] else: notat = notat[:-1] if len(notat) < 2: raise ParsingError(san, _("the move needs a piece and a cord"), board.asFen()) if notat[0] in "O0o": fcord = board.ini_kings[color] flag = KING_CASTLE if notat in ("O-O", "0-0", "o-o", "OO", "00", "oo") else QUEEN_CASTLE side = flag - QUEEN_CASTLE if FILE(fcord) == 3 and board.variant in (WILDCASTLECHESS, WILDCASTLESHUFFLECHESS): side = 0 if side == 1 else 1 if board.variant == FISCHERRANDOMCHESS: tcord = board.ini_rooks[color][side] else: tcord = board.fin_kings[color][side] return newMove(fcord, tcord, flag) # LAN is not allowed in pgn spec, but sometimes it occures if "-" in notat: notat = notat.replace("-", "") if "@" in notat: tcord = cordDic[notat[-2:]] if notat[0].islower(): # Sjeng-ism piece = chr2Sign[notat[0]] else: piece = chrU2Sign[notat[0]] return newMove(piece, tcord, DROP) # standard piece letters if notat[0] in "QRBKNSMF": piece = chrU2Sign[notat[0]] notat = notat[1:] # unambigious lowercase piece letters elif notat[0] in "qrknsm": piece = chr2Sign[notat[0]] notat = notat[1:] # a lowercase bishop letter or a pawn capture elif notat[0] == "b" and len(notat) > 2 and board.variant == NORMALCHESS: tcord = cordDic[notat[-2:]] trank = int(notat[-1]) # if from and to lines are not neighbours -> Bishop if abs(ord(notat[0]) - ord(notat[-2])) > 1: piece = chr2Sign[notat[0]] notat = notat[1:] # if from and to lines are neighbours (or the same) but to is an empty square # which can't be en-passant square target -> Bishop elif board.arBoard[tcord] == EMPTY and ((color == BLACK and trank != 3) or (color == WHITE and trank != 6)): piece = chr2Sign[notat[0]] notat = notat[1:] # elif "ba3", "bc3" ,"ba6", "bc6" # these can be Bishop or Pawn moves, but we don't try to introspect them (sorry) else: piece = PAWN else: piece = PAWN if notat[-1] in "18" and flag == NORMAL_MOVE and board.variant != SITTUYINCHESS: flag = QUEEN_PROMOTION if "x" in notat: notat, tcord = notat.split("x") if tcord not in cordDic: raise ParsingError(san, _("the captured cord (%s) is incorrect") % tcord, board.asFen()) tcord = cordDic[tcord] if piece == PAWN: # If a pawn is attacking an empty cord, we assue it an enpassant if board.arBoard[tcord] == EMPTY: if (color == BLACK and 2 * 8 <= tcord < 3 * 8) or (color == WHITE and 5 * 8 <= tcord < 6 * 8): flag = ENPASSANT else: raise ParsingError( san, _("pawn capture without target piece is invalid"), board.asFen()) else: if not notat[-2:] in cordDic: raise ParsingError(san, _("the end cord (%s) is incorrect") % notat[-2:], board.asFen()) tcord = cordDic[notat[-2:]] notat = notat[:-2] # In suicide promoting to king is valid, so # more than 1 king per side can exist ! if board.variant != SUICIDECHESS and board.variant != GIVEAWAYCHESS and piece == KING: return newMove(board.kings[color], tcord, flag) # If there is any extra location info, like in the move Bexd1 or Nh3f4 we # want to know frank = None ffile = None if notat and notat[0] in reprRank: frank = int(notat[0]) - 1 notat = notat[1:] if notat and notat[0] in reprFile: ffile = ord(notat[0]) - ord("a") notat = notat[1:] if notat and notat[0] in reprRank: frank = int(notat[0]) - 1 notat = notat[1:] # we know all we want return newMove(frank * 8 + ffile, tcord, flag) if piece == PAWN: if (ffile is not None) and ffile != FILE(tcord): # capture if color == WHITE: fcord = tcord - 7 if ffile > FILE(tcord) else tcord - 9 else: fcord = tcord + 7 if ffile < FILE(tcord) else tcord + 9 else: if color == WHITE: pawns = board.boards[WHITE][PAWN] # In horde white pawns on first rank may move two squares also if board.variant == HORDECHESS and RANK(tcord) == 2 and not ( pawns & fileBits[FILE(tcord)] & rankBits[1]): fcord = tcord - 16 else: fcord = tcord - 16 if RANK(tcord) == 3 and not ( pawns & fileBits[FILE(tcord)] & rankBits[2]) else tcord - 8 else: pawns = board.boards[BLACK][PAWN] fcord = tcord + 16 if RANK(tcord) == 4 and not ( pawns & fileBits[FILE(tcord)] & rankBits[5]) else tcord + 8 if board.variant == SITTUYINCHESS and flag == QUEEN_PROMOTION: if pawns & fileBits[FILE(tcord)] & rankBits[RANK(tcord)]: # in place promotion return newMove(tcord, tcord, flag) else: # queen move promotion (fcord have to be the closest cord of promotion zone) fcord = sittuyin_promotion_fcord(board, tcord) return newMove(fcord, tcord, flag) return newMove(fcord, tcord, flag) else: if board.pieceCount[color][piece] == 1: # we have only one from this kind if piece, so: fcord = firstBit(board.boards[color][piece]) return newMove(fcord, tcord, flag) else: # We find all pieces who could have done it. (If san was legal, there should # never be more than one) moves = genPieceMoves(board, piece, tcord) if len(moves) == 1: return moves.pop() else: for move in moves: f = FCORD(move) if frank is not None and frank != RANK(f): continue if ffile is not None and ffile != FILE(f): continue board_clone = board.clone() board_clone.applyMove(move) if board_clone.opIsChecked(): continue return move errstring = "no %s is able to move to %s" % (reprPiece[piece], reprCord[tcord]) raise ParsingError(san, errstring, board.asFen()) ################################################################################ # toLan # ################################################################################ def toLAN(board, move, localRepr=False): """ Returns a Long/Expanded Algebraic Notation string of a move board should be prior to the move """ fcord = FCORD(move) tcord = TCORD(move) flag = FLAG(move) fpiece = fcord if flag == DROP else board.arBoard[fcord] s = "" if fpiece != PAWN or flag == DROP: if board.variant in (CAMBODIANCHESS, MAKRUKCHESS): s = reprSignMakruk[fpiece] elif board.variant == SITTUYINCHESS: s = reprSignSittuyin[fpiece] elif localRepr: s = localReprSign[fpiece] else: s = reprSign[fpiece] if flag == DROP: s += "@" else: s += reprCord[FCORD(move)] if board.arBoard[tcord] == EMPTY: s += "-" else: s += "x" s += reprCord[tcord] if flag in PROMOTIONS: s += "=" + reprSign[PROMOTE_PIECE(flag)] return s ################################################################################ # parseLan # ################################################################################ def parseLAN(board, lan): """ Parse a Long/Expanded Algebraic Notation string """ # To parse LAN pawn moves like "e2-e4" as SAN moves, we have to remove a few # fields if len(lan) == 5: if "x" in lan: # e4xd5 -> exd5 return parseSAN(board, lan[0] + lan[3:]) else: # e2-e4 -> e4 return parseSAN(board, lan[3:]) # We want to use the SAN parser for LAN moves like "Nb1-c3" or "Rd3xd7" # The san parser should be able to handle most stuff, as long as we remove # the slash if not lan.upper().startswith("O-O") and not lan.startswith("--"): lan = lan.replace("-", "") return parseSAN(board, lan) ################################################################################ # toAN # ################################################################################ def toAN(board, move, short=False, castleNotation=CASTLE_SAN): """ Returns a Algebraic Notation string of a move board should be prior to the move short -- returns the short variant, e.g. f7f8q rather than f7f8=Q """ fcord = (move >> 6) & 63 tcord = move & 63 flag = move >> 12 if flag in (KING_CASTLE, QUEEN_CASTLE): if castleNotation == CASTLE_SAN: return flag == KING_CASTLE and "O-O" or "O-O-O" elif castleNotation == CASTLE_KR: rooks = board.ini_rooks[board.color] tcord = rooks[flag == KING_CASTLE and 1 or 0] # No treatment needed for CASTLE_KK if flag == DROP: if board.variant == SITTUYINCHESS: s = "%s@%s" % (reprSignSittuyin[fcord], reprCord[tcord]) else: s = "%s@%s" % (reprSign[fcord], reprCord[tcord]) else: s = reprCord[fcord] + reprCord[tcord] if flag in PROMOTIONS: if short: if board.variant in (CAMBODIANCHESS, MAKRUKCHESS): s += reprSignMakruk[PROMOTE_PIECE(flag)].lower() elif board.variant == SITTUYINCHESS: s += reprSignSittuyin[PROMOTE_PIECE(flag)].lower() else: s += reprSign[PROMOTE_PIECE(flag)].lower() else: if board.variant in (CAMBODIANCHESS, MAKRUKCHESS): s += "=" + reprSignMakruk[PROMOTE_PIECE(flag)] elif board.variant == SITTUYINCHESS: s += "=" + reprSignSittuyin[PROMOTE_PIECE(flag)] else: s += "=" + reprSign[PROMOTE_PIECE(flag)] return s ################################################################################ # parseAN # ################################################################################ def parseAN(board, an): """ Parse an Algebraic Notation string """ if not 4 <= len(an) <= 6: raise ParsingError(an, "the move must be 4 or 6 chars long", board.asFen()) if "@" in an: tcord = cordDic[an[-2:]] if an[0].islower(): # Sjeng-ism piece = chr2Sign[an[0]] else: piece = chrU2Sign[an[0]] return newMove(piece, tcord, DROP) try: fcord = cordDic[an[:2]] tcord = cordDic[an[2:4]] except KeyError as e: raise ParsingError(an, "the cord (%s) is incorrect" % e.args[0], board.asFen()) flag = NORMAL_MOVE if len(an) > 4 and not an[-1] in "QRBNMSFqrbnmsf": if (board.variant != SUICIDECHESS and board.variant != GIVEAWAYCHESS) or \ (board.variant == SUICIDECHESS or board.variant == GIVEAWAYCHESS) and not an[ -1] in "Kk": raise ParsingError(an, "invalid promoted piece", board.asFen()) if len(an) == 5: # The a7a8q variant flag = chr2Sign[an[4].lower()] + 2 elif len(an) == 6: # The a7a8=q variant flag = chr2Sign[an[5].lower()] + 2 elif board.arBoard[fcord] == KING: if fcord - tcord == 2: flag = QUEEN_CASTLE if board.variant == FISCHERRANDOMCHESS: tcord = board.ini_rooks[board.color][0] elif fcord - tcord == -2: flag = KING_CASTLE if board.variant == FISCHERRANDOMCHESS: tcord = board.ini_rooks[board.color][1] elif board.arBoard[ tcord] == ROOK: color = board.color friends = board.friends[color] if bitPosArray[tcord] & friends: if board.ini_rooks[color][0] == tcord: flag = QUEEN_CASTLE else: flag = KING_CASTLE else: flag = NORMAL_MOVE elif board.arBoard[fcord] == PAWN and board.arBoard[tcord] == EMPTY and \ FILE(fcord) != FILE(tcord) and RANK(fcord) != RANK(tcord): flag = ENPASSANT elif board.arBoard[fcord] == PAWN: if an[3] in "18" and board.variant != SITTUYINCHESS: flag = QUEEN_PROMOTION return newMove(fcord, tcord, flag) ################################################################################ # toFAN # ################################################################################ san2WhiteFanDic = { ord("K"): FAN_PIECES[WHITE][KING], ord("Q"): FAN_PIECES[WHITE][QUEEN], ord("M"): FAN_PIECES[WHITE][QUEEN], ord("F"): FAN_PIECES[WHITE][QUEEN], ord("R"): FAN_PIECES[WHITE][ROOK], ord("B"): FAN_PIECES[WHITE][BISHOP], ord("S"): FAN_PIECES[WHITE][BISHOP], ord("N"): FAN_PIECES[WHITE][KNIGHT], ord("P"): FAN_PIECES[WHITE][PAWN], ord("+"): "†", ord("#"): "‡" } san2BlackFanDic = { ord("K"): FAN_PIECES[BLACK][KING], ord("Q"): FAN_PIECES[BLACK][QUEEN], ord("M"): FAN_PIECES[BLACK][QUEEN], ord("F"): FAN_PIECES[BLACK][QUEEN], ord("R"): FAN_PIECES[BLACK][ROOK], ord("B"): FAN_PIECES[BLACK][BISHOP], ord("S"): FAN_PIECES[BLACK][BISHOP], ord("N"): FAN_PIECES[BLACK][KNIGHT], ord("P"): FAN_PIECES[BLACK][PAWN], ord("+"): "†", ord("#"): "‡" } def toFAN(board, move): """ Returns a Figurine Algebraic Notation string of a move """ san = toSAN(board, move) return san.translate(san2WhiteFanDic) ################################################################################ # parseFAN # ################################################################################ fan2SanDic = {} for k, v in san2WhiteFanDic.items(): fan2SanDic[ord(v)] = chr(k) for k, v in san2BlackFanDic.items(): fan2SanDic[ord(v)] = chr(k) def parseFAN(board, fan): """ Parse a Figurine Algebraic Notation string """ san = fan.translate(fan2SanDic) return parseSAN(board, san) ################################################################################ # toPolyglot # ################################################################################ def toPolyglot(board, move): """ Returns a 16-bit Polyglot-format move board should be prior to the move """ pg = move & 4095 if FLAG(move) in PROMOTIONS: pg |= (PROMOTE_PIECE(FLAG(move)) - 1) << 12 elif FLAG(move) == QUEEN_CASTLE: pg = (pg & 4032) | board.ini_rooks[board.color][0] elif FLAG(move) == KING_CASTLE: pg = (pg & 4032) | board.ini_rooks[board.color][1] return pg ################################################################################ # parsePolyglot # ################################################################################ def parsePolyglot(board, pg): """ Parse a 16-bit Polyglot-format move """ tcord = TCORD(pg) fcord = FCORD(pg) flag = NORMAL_MOVE if pg >> 12: flag = FLAG_PIECE((pg >> 12) + 1) elif board.arBoard[fcord] == KING: if board.arBoard[tcord] == ROOK: color = board.color friends = board.friends[color] if bitPosArray[tcord] & friends: if board.ini_rooks[color][0] == tcord: flag = QUEEN_CASTLE if board.variant == NORMALCHESS: # Want e1c1/e8c8 tcord += 2 else: flag = KING_CASTLE if board.variant == NORMALCHESS: # Want e1g1/e8g8 tcord -= 1 elif board.arBoard[fcord] == PAWN and board.arBoard[tcord] == EMPTY and \ FILE(fcord) != FILE(tcord) and RANK(fcord) != RANK(tcord): flag = ENPASSANT return newMove(fcord, tcord, flag) pychess-1.0.0/lib/pychess/Utils/lutils/perft.py0000644000175000017500000000153113353143212020565 0ustar varunvarun from time import time from pychess.Utils.lutils.lmovegen import genAllMoves from pychess.Utils.lutils.lmove import toLAN def do_perft(board, depth, root): nodes = 0 if depth == 0: return 1 for move in genAllMoves(board): board.applyMove(move) if board.opIsChecked(): board.popMove() continue count = do_perft(board, depth - 1, root - 1) nodes += count board.popMove() if root > 0: print("%8s %10d %10d" % (toLAN(board, move), count, nodes)) return nodes def perft(board, depth, root): for i in range(depth): start_time = time() nodes = do_perft(board, i + 1, root) ttime = time() - start_time print("%2d %10d %5.2f %12.2fnps" % (i + 1, nodes, ttime, nodes / ttime if ttime > 0 else nodes)) pychess-1.0.0/lib/pychess/Utils/TimeModel.py0000644000175000017500000002276213365545272020040 0ustar varunvarunfrom time import time from gi.repository import GLib, GObject from pychess.Utils.const import WHITE, BLACK from pychess.System.Log import log class TimeModel(GObject.GObject): __gsignals__ = { "player_changed": (GObject.SignalFlags.RUN_FIRST, None, ()), "time_changed": (GObject.SignalFlags.RUN_FIRST, None, ()), "zero_reached": (GObject.SignalFlags.RUN_FIRST, None, (int, )), "pause_changed": (GObject.SignalFlags.RUN_FIRST, None, (bool, )) } ############################################################################ # Initing # ############################################################################ def __init__(self, secs=0, gain=0, bsecs=-1, minutes=-1, moves=0): GObject.GObject.__init__(self) if bsecs < 0: bsecs = secs if minutes < 0: minutes = secs / 60 self.minutes = minutes # The number of minutes for the original starting self.moves = moves # time control (not necessarily where the game was resumed, # i.e. self.intervals[0][0]) if secs == 0 and gain > 0: self.intervals = [[gain], [gain]] else: self.intervals = [[secs], [bsecs]] self.gain = gain self.secs = secs # to know if game is played on ICS or not self.gamemodel = None # in FICS games we don't count gain self.handle_gain = True self.paused = False # The left number of secconds at the time pause was turned on self.pauseInterval = 0 self.counter = None self.started = False self.ended = False self.movingColor = WHITE self.connect('time_changed', self.__zerolistener, 'time_changed') self.connect('player_changed', self.__zerolistener, 'player_changed') self.connect('pause_changed', self.__zerolistener, 'pause_changed') self.zero_listener_id = None self.zero_listener_time = 0 self.zero_listener_source = None def __repr__(self): text = "" % \ (id(self), str(self.getPlayerTime(WHITE)), str(self.getPlayerTime(BLACK)), self.ended) return text def __zerolistener(self, *args): if self.ended: return False cur_time = time() whites_time = cur_time + self.getPlayerTime(WHITE) blacks_time = cur_time + self.getPlayerTime(BLACK) if self.movingColor == WHITE: the_time = whites_time color = WHITE else: the_time = blacks_time color = BLACK remaining_time = the_time - cur_time + 0.01 if remaining_time > 0 and remaining_time != self.zero_listener_time: if (self.zero_listener_id is not None) and \ (self.zero_listener_source is not None) and \ not self.zero_listener_source.is_destroyed(): GLib.source_remove(self.zero_listener_id) self.zero_listener_time = remaining_time self.zero_listener_id = GLib.timeout_add(10, self.__checkzero, color) default_context = GLib.main_context_get_thread_default( ) or GLib.main_context_default() if hasattr(default_context, "find_source_by_id"): self.zero_listener_source = default_context.find_source_by_id( self.zero_listener_id) def __checkzero(self, color): if self.getPlayerTime(color) <= 0 and self.started: self.emit("time_changed") self.emit('zero_reached', color) return False return True ############################################################################ # Interacting # ############################################################################ def setMovingColor(self, movingColor): self.movingColor = movingColor self.emit("player_changed") def tap(self): if self.paused: return gain = self.gain if self.handle_gain else 0 ticker = self.intervals[self.movingColor][-1] + gain if self.started: if self.counter is not None: ticker -= time() - self.counter else: # FICS rule if self.gamemodel.isPlayingICSGame(): if self.ply >= 1: self.started = True else: self.started = True if self.moves == 0: self.intervals[self.movingColor].append(ticker) else: if len(self.intervals[self.movingColor]) % self.moves == 0: self.intervals[self.movingColor].append(self.intervals[self.movingColor][0]) else: self.intervals[self.movingColor].append(ticker) self.movingColor = 1 - self.movingColor if self.started: self.counter = time() self.emit("time_changed") self.emit("player_changed") def start(self): if self.started: return self.counter = time() self.emit("time_changed") def end(self): log.debug("TimeModel.end: self=%s" % self) self.pause() self.ended = True if (self.zero_listener_id is not None) and \ (self.zero_listener_source is not None) and \ not self.zero_listener_source.is_destroyed(): GLib.source_remove(self.zero_listener_id) def pause(self): log.debug("TimeModel.pause: self=%s" % self) if self.paused: return self.paused = True if self.counter is not None: self.pauseInterval = time() - self.counter self.counter = None self.emit("time_changed") self.emit("pause_changed", True) def resume(self): log.debug("TimeModel.resume: self=%s" % self) if not self.paused: return self.paused = False self.counter = time() - self.pauseInterval self.emit("pause_changed", False) ############################################################################ # Undo and redo in TimeModel # ############################################################################ def undoMoves(self, moves): """ Sets time and color to move, to the values they were having in the beginning of the ply before the current. his move. Example: White intervals (is thinking): [120, 130, ...] Black intervals: [120, 115] Is undoed to: White intervals: [120, 130] Black intervals (is thinking): [120, ...] """ if not self.started: self.start() for move in range(moves): self.movingColor = 1 - self.movingColor del self.intervals[self.movingColor][-1] if len(self.intervals[0]) + len(self.intervals[1]) >= 4: self.counter = time() else: self.started = False self.counter = None self.emit("time_changed") self.emit("player_changed") ############################################################################ # Updating # ############################################################################ def updatePlayer(self, color, secs): self.intervals[color][-1] = secs if color == self.movingColor and self.started: self.counter = secs + time() - self.intervals[color][-1] self.emit("time_changed") ############################################################################ # Info # ############################################################################ def getPlayerTime(self, color, movecount=-1): if color == self.movingColor and self.started and movecount == -1: if self.paused: return max(0, self.intervals[color][movecount] - self.pauseInterval) elif self.counter: return max(0, self.intervals[color][movecount] - (time() - self.counter)) return max(0, self.intervals[color][movecount]) def getInitialTime(self): return self.intervals[WHITE][0] def getElapsedMoveTime(self, ply): movecount, color = divmod(ply + 1, 2) gain = self.gain if ply > 2 else 0 if len(self.intervals[color]) > movecount: return self.intervals[color][movecount - 1] - self.intervals[ color][movecount] + gain else: return 0 @property def display_text(self): text = ("%d " % self.minutes) + _("min") if self.gain != 0: text += (" + %d " % self.gain) + _("sec") return text @property def hasTimes(self): return len(self.intervals[0]) > 1 @property def ply(self): return len(self.intervals[BLACK]) + len(self.intervals[WHITE]) - 2 def hasBWTimes(self, bmovecount, wmovecount): return len(self.intervals[BLACK]) > bmovecount and len(self.intervals[ WHITE]) > wmovecount def isBlitzFide(self): val = 60 * self.minutes + 60 * (self.gain if self.handle_gain else 0) return val > 0 and val <= 600 # Less or equal than 10 minutes for 60 moves and for each player pychess-1.0.0/lib/pychess/Utils/elo.py0000644000175000017500000001333213365545272016731 0ustar varunvarun# -*- coding: UTF-8 -*- from pychess.Utils.const import WHITE, WHITEWON, BLACK, BLACKWON, DRAW def get_elo_rating_change(model, overridden_welo, overridden_belo): """ http://www.fide.com/fide/handbook.html?id=197&view=article (§8.5, July 2017) """ def individual_elo_change(elo_player, elo_opponent, blitz): result = {} # Adaptation of the inbound parameters pprov = '?' in elo_player try: pval = int(elo_player.replace("?", "")) except ValueError: pval = 0 try: oval = int(elo_opponent.replace("?", "")) except ValueError: oval = 0 if pval == 0 or oval == 0: return None # Development coefficient - We ignore the age of the player and we assume that # he is already rated. The provisional flag '?' just denotes that he has not # played his first 30 games, but it may also denotes that he never had any # ranking. The calculation being based on the current game only, we can't # handle that second specific case if blitz: k = 20 else: if pprov: k = 40 else: if pval >= 2400: k = 10 else: k = 20 # Probability of gain d = pval - oval d = max(-400, d) d = min(400, d) # The approximate formula should not be used : result["pd"] = 1.0/(1+10**(-d/400)) pd = [50, 50, 50, 50, 51, 51, 51, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, 53, 53, 54, 54, 54, 54, 54, 54, 54, 55, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56, 56, 57, 57, 57, 57, 57, 57, 57, 58, 58, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 62, 62, 63, 63, 63, 63, 63, 63, 63, 64, 64, 64, 64, 64, 64, 64, 64, 65, 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 66, 66, 67, 67, 67, 67, 67, 67, 67, 67, 68, 68, 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 69, 69, 70, 70, 70, 70, 70, 70, 70, 70, 71, 71, 71, 71, 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 73, 73, 73, 74, 74, 74, 74, 74, 74, 74, 74, 74, 75, 75, 75, 75, 75, 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 76, 76, 76, 77, 77, 77, 77, 77, 77, 77, 77, 77, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 92, 92, 92, 92, 92, 92, 92, 92, 92][abs(d)] / 100.0 result["pd"] = pd if pval >= oval else 1.0 - pd # New difference in Elo for loss, draw, win for score in [0, 1, 2]: result["diff%d" % score] = round(k * ([0, 0.5, 1][score] - result["pd"]), 1) # Result return result # Gathering of the data welo = model.tags["WhiteElo"] if overridden_welo is None else overridden_welo belo = model.tags["BlackElo"] if overridden_belo is None else overridden_belo blitz = model.timemodel.isBlitzFide() # Result result = [None, None] result[WHITE] = individual_elo_change(welo, belo, blitz) result[BLACK] = individual_elo_change(belo, welo, blitz) return None if result[WHITE] is None or result[BLACK] is None else result def get_elo_rating_change_str(model, player, overridden_welo, overridden_belo): """ Determination of the ELO rating change """ erc = get_elo_rating_change(model, overridden_welo, overridden_belo) if erc is None: return "" erc = erc[player] # Status of the game if (model.status == WHITEWON and player == WHITE) or (model.status == BLACKWON and player == BLACK): d = 2 else: if (model.status == WHITEWON and player == BLACK) or (model.status == BLACKWON and player == WHITE): d = 0 else: if model.status == DRAW: d = 1 else: return "%.0f%%, %.1f / %.1f / %.1f" % (100 * erc["pd"], erc["diff0"], erc["diff1"], erc["diff2"]) # Result return "%s%.1f" % ("+" if erc["diff%d" % d] > 0 else "", erc["diff%d" % d]) def get_elo_rating_change_pgn(model, player): # One move must occur to validate the rating if model.ply == 0: return "" # Retrieval of the statistics for the player data = get_elo_rating_change(model, None, None) if data is None: return "" data = data[player] # Status of the game if (model.status == WHITEWON and player == WHITE) or (model.status == BLACKWON and player == BLACK): d = 2 else: if (model.status == WHITEWON and player == BLACK) or (model.status == BLACKWON and player == WHITE): d = 0 else: if model.status == DRAW: d = 1 else: return "" # Result is rounded to the nearest integer r = int(round(data["diff%s" % d], 0)) return "+%d" % r if r > 0 else str(r) pychess-1.0.0/lib/pychess/Utils/LearnModel.py0000644000175000017500000001303713365545272020176 0ustar varunvarunimport asyncio from gi.repository import GObject from pychess.Utils.const import BLACKWON, WHITEWON, DRAW, UNDOABLE_STATES,\ CANCELLED, PRACTICE_GOAL_REACHED, BLACK, WHITE, LECTURE, LESSON, PUZZLE, ENDGAME from pychess.Utils.GameModel import GameModel learn2str = { LECTURE: "Lecture", PUZZLE: "Puzzle", LESSON: "Lesson", ENDGAME: "Endgame", } MATE, MATE_IN, DRAW_IN, EQUAL_IN, EVAL_IN, PROMOTION = range(6) class Goal(): def __init__(self, termination): self.termination = termination # print(termination) if termination.startswith("mate in"): self.result = MATE_IN self.moves = int(termination.split()[-1]) self.cp = None elif termination.startswith("draw in"): self.result = DRAW_IN self.moves = int(termination.split()[-1]) self.cp = None elif termination.startswith("equalize in"): self.result = EQUAL_IN self.moves = int(termination.split()[-1]) self.cp = None elif "cp in" in termination: self.result = EVAL_IN parts = termination.split() self.moves = int(parts[-1]) self.cp = int(parts[0][1:-2]) elif "promotion with" in termination: self.result = PROMOTION self.moves = None parts = termination.split() self.cp = int(parts[-1][1:-2]) else: self.result = MATE self.moves = None self.cp = None # print("No termination tag, expecting MATE", termination) class LearnModel(GameModel): __gsignals__ = { # goal_checked is emitted after puzzle game goal check finished "goal_checked": (GObject.SignalFlags.RUN_FIRST, None, ()), "learn_success": (GObject.SignalFlags.RUN_FIRST, None, ()), } def isChanged(self): """ Never save learn games changes to .pgn """ return False def set_learn_data(self, learn_type, source, current_index=None, game_count=None, from_lesson=False): self.learn_type = learn_type self.source = source self.current_index = current_index self.game_count = game_count self.from_lesson = from_lesson self.hints = {} self.goal = None self.failed_playing_best = False if learn_type == LECTURE: self.offline_lecture = True self.lecture_skip_event = asyncio.Event() # set when 'Go on' button pressed self.lecture_pause_event = asyncio.Event() # set when 'Pause' button pressed self.lecture_exit_event = asyncio.Event() # set when 'Exit' button pressed elif learn_type == PUZZLE: self.puzzle_game = True self.goal = Goal(self.tags["Termination"]) elif learn_type == LESSON: self.lesson_game = True elif learn_type == ENDGAME: self.end_game = True def check_failed_playing_best(self, status): if self.ply - 1 in self.hints: best_score = self.hints[self.ply - 1][0][1] best_moves = [hint[0] for hint in self.hints[self.ply - 1] if abs(hint[1] - best_score) <= 10] else: best_moves = [] if self.puzzle_game: # No need to check in best moves (and let add more time to analyzer) in trivial cases if self.goal.result in (MATE, MATE_IN) and ( (status == BLACKWON and self.starting_color == BLACK) or (status == WHITEWON and self.starting_color == WHITE)): return False elif self.goal.result == DRAW_IN and status == DRAW: return False elif self.goal.result in (MATE_IN, DRAW_IN, EQUAL_IN, EVAL_IN, PROMOTION): expect_best = True else: expect_best = False else: expect_best = False failed = expect_best and self.moves[-1].as_uci() not in best_moves return failed def check_goal(self, status, reason): if self.end_game: if status in UNDOABLE_STATES: self.end(status, reason) self.emit("goal_checked") return full_moves = (self.ply - self.lowply) // 2 + 1 # print("Is Goal not reached?", self.goal.result, status, full_moves, self.goal.moves, self.failed_playing_best) if (self.goal.result == DRAW_IN and status == DRAW and full_moves <= self.goal.moves) or \ (self.goal.result == MATE_IN and status == WHITEWON and full_moves <= self.goal.moves and self.starting_color == WHITE) or \ (self.goal.result == MATE_IN and status == BLACKWON and full_moves <= self.goal.moves and self.starting_color == BLACK) or \ (self.goal.result in (EVAL_IN, EQUAL_IN) and full_moves == self.goal.moves and not self.failed_playing_best) or \ (self.goal.result == MATE and status in (WHITEWON, BLACKWON)) or \ (self.goal.result == PROMOTION and self.moves[-1].promotion): if status in UNDOABLE_STATES: self.end(status, PRACTICE_GOAL_REACHED) else: self.end(CANCELLED, PRACTICE_GOAL_REACHED) else: if status in UNDOABLE_STATES: # print("check_goal() status in UNDOABLE_STATES -> self.end(status, reason)") self.failed_playing_best = True self.end(status, reason) # print("Goal not reached yet.", self.goal.result, status, full_moves, self.goal.moves, self.failed_playing_best) self.emit("goal_checked") return pychess-1.0.0/lib/pychess/Utils/Move.py0000755000175000017500000001614413432501026017047 0ustar varunvarunfrom pychess.Utils.Cord import Cord from pychess.Utils.const import DROP, NORMAL_MOVE, PAWN, SITTUYINCHESS, QUEEN, KING, \ NULL_MOVE, WHITE, BLACK, W_OOO, W_OO, B_OOO, B_OO, QUEEN_CASTLE, FISCHERRANDOMCHESS,\ KING_CASTLE, CAMBODIANCHESS, ENPASSANT, PROMOTIONS, CASTLE_SAN, C1, G1, reprSign from pychess.Utils.lutils.lmovegen import newMove from .lutils import lmove class Move: def __init__(self, cord0, cord1=None, board=None, promotion=None): """ Inits a new highlevel Move object. The object can be initialized in the follow ways: Move(cord0, cord1, board, [promotionPiece]) Move(lovLevelMoveInt) """ if not cord1: self.move = cord0 self.flag = self.move >> 12 self.cord0 = None if self.flag == DROP else Cord(lmove.FCORD( self.move)) self.cord1 = Cord(lmove.TCORD(self.move)) else: assert cord0 is not None and cord1 is not None, "cord0=%s, cord1=%s, board=%s" % ( cord0, cord1, board) assert board[cord0] is not None, "cord0=%s, cord1=%s, board=%s" % ( cord0, cord1, board) self.cord0 = cord0 self.cord1 = cord1 if not board: raise ValueError( "Move needs a Board object in order to investigate flags") self.flag = NORMAL_MOVE if board[self.cord0].piece == PAWN and \ self.cord1.cord in board.PROMOTION_ZONE[board.board.color] and \ board.variant != SITTUYINCHESS: if promotion is None: self.flag = lmove.FLAG_PIECE(QUEEN) else: self.flag = lmove.FLAG_PIECE(promotion) elif board[self.cord0].piece == PAWN and board.variant == SITTUYINCHESS: if cord0 == cord1: # in place promotion self.flag = lmove.FLAG_PIECE(QUEEN) elif board[self.cord1] is None and \ (self.cord0.cord + self.cord1.cord) % 2 == 1 and \ (self.cord0.cord in board.PROMOTION_ZONE[board.board.color] or board.board.pieceCount[board.color][PAWN] == 1): # queen move promotion self.flag = lmove.FLAG_PIECE(QUEEN) elif board[self.cord0].piece == KING: if self.cord0 == self.cord1: self.flag = NULL_MOVE if self.cord0.x - self.cord1.x == 2 and board.variant not in (CAMBODIANCHESS, FISCHERRANDOMCHESS): self.flag = QUEEN_CASTLE if self.cord0.x == 4 else KING_CASTLE elif self.cord0.x - self.cord1.x == -2 and board.variant not in (CAMBODIANCHESS, FISCHERRANDOMCHESS): self.flag = KING_CASTLE if self.cord0.x == 4 else QUEEN_CASTLE else: if (abs(self.cord0.x - self.cord1.x) > 1 and self.cord1.x == C1) or ( board.board.ini_rooks[board.color][0] == self.cord1.cord and ( (board.board.color == WHITE and board.board.castling & W_OOO) or ( board.board.color == BLACK and board.board.castling & B_OOO))): self.flag = QUEEN_CASTLE elif (abs(self.cord0.x - self.cord1.x) > 1 and self.cord1.x == G1) or ( board.board.ini_rooks[board.color][1] == self.cord1.cord and ( (board.board.color == WHITE and board.board.castling & W_OO) or ( board.board.color == BLACK and board.board.castling & B_OO))): self.flag = KING_CASTLE elif board[self.cord0].piece == PAWN and \ board[self.cord1] is None and \ self.cord0.x != self.cord1.x and \ self.cord0.y != self.cord1.y: self.flag = ENPASSANT self.move = newMove(self.cord0.cord, self.cord1.cord, self.flag) def _get_cords(self): return (self.cord0, self.cord1) cords = property(_get_cords) def _get_promotion(self): if self.flag in PROMOTIONS: return lmove.PROMOTE_PIECE(self.flag) return None promotion = property(_get_promotion) def __repr__(self): promotion = "=" + reprSign[lmove.PROMOTE_PIECE(self.flag)] \ if self.flag in PROMOTIONS else "" if self.flag == DROP: piece = reprSign[lmove.FCORD(self.move)] return piece + "@" + str(self.cord1) + promotion else: return str(self.cord0) + str(self.cord1) + promotion def __eq__(self, other): if isinstance(other, Move): return self.move == other.move def __hash__(self): return hash(self.cords) def is_capture(self, board): return self.flag == ENPASSANT or \ board[self.cord1] is not None and \ self.flag != QUEEN_CASTLE and self.flag != KING_CASTLE def as_uci(self): move = "%s%s%s%s" % (self.cord0.cx, self.cord0.cy, self.cord1.cx, self.cord1.cy) if self.flag in PROMOTIONS: move += reprSign[lmove.PROMOTE_PIECE(self.flag)].lower() return move # Parsers def listToMoves(board, mstrs, type=None, validate=False, ignoreErrors=False): return [Move(move) for move in lmove.listToMoves(board.board, mstrs, type, validate, ignoreErrors)] def parseAny(board, algnot): return Move(lmove.parseAny(board.board, algnot)) def parseSAN(board, san): """ Parse a Short/Abbreviated Algebraic Notation string """ return Move(lmove.parseSAN(board.board, san)) def parseLAN(board, lan): """ Parse a Long/Expanded Algebraic Notation string """ return Move(lmove.parseLAN(board.board, lan)) def parseFAN(board, lan): """ Parse a Long/Expanded Algebraic Notation string """ return Move(lmove.parseFAN(board.board, lan)) def parseAN(board, an): """ Parse an Algebraic Notation string """ return Move(lmove.parseAN(board.board, an)) # Exporters def listToSan(board, moves): return lmove.listToSan(board.board, (m.move for m in moves)) def toAN(board, move, short=False, castleNotation=CASTLE_SAN): """ Returns a Algebraic Notation string of a move board should be prior to the move """ return lmove.toAN(board.board, move.move, short=short, castleNotation=castleNotation) def toSAN(board, move, localRepr=False): """ Returns a Short/Abbreviated Algebraic Notation string of a move The board should be prior to the move, board2 past. If not board2, toSAN will not test mate """ return lmove.toSAN(board.board, move.move, localRepr) def toLAN(board, move): """ Returns a Long/Expanded Algebraic Notation string of a move board should be prior to the move """ return lmove.toLAN(board.board, move.move) def toFAN(board, move): """ Returns a Figurine Algebraic Notation string of a move """ return lmove.toFAN(board.board, move.move) pychess-1.0.0/lib/pychess/Utils/__init__.py0000755000175000017500000000366213365545272017721 0ustar varunvarunimport asyncio import weakref from pychess.Utils.lutils.ldata import MATE_VALUE, MATE_DEPTH def prettyPrintScore(s, depth, format_mate=False): """The score parameter is an eval value from White point of view""" # Particular values if s is None: return "?" if s == -MATE_VALUE: return _("Illegal") if s == 0: return "0.00/%s" % depth # Preparation if s > 0: pp = "+" mp = "" else: pp = "-" mp = "-" s = -s if depth: depth = "/" + depth else: depth = "" # Rendering if s < MATE_VALUE - MATE_DEPTH: return "%s%0.2f%s" % (pp, s / 100.0, depth) else: mate_in = int(MATE_VALUE - s) if format_mate: if mate_in == 0: return _("Mate") return "%s #%s%d" % (_("Mate"), mp, mate_in) else: return "%s#%.0f" % (pp, s) # Sign before sharp to be parsed in PGN def createStoryTextAppEvent(text): try: import storytext storytext.applicationEvent(text) except AttributeError: pass except ImportError: pass class wait_signal(asyncio.Future): """A future for waiting for a given signal to occur.""" def __init__(self, obj, name, *, loop=None): super().__init__(loop=loop) self._obj = weakref.ref(obj, lambda s: self.cancel()) self._hnd = obj.connect(name, self._signal_callback) def _signal_callback(self, *k): obj = self._obj() if obj is not None: obj.disconnect(self._hnd) self.set_result(k) def cancel(self): if self.cancelled(): return False try: super().cancel() except AttributeError: pass try: obj = self._obj() if obj is not None: obj.disconnect(self._hnd) except AttributeError: pass return True pychess-1.0.0/lib/pychess/Utils/checkversion.py0000644000175000017500000000217513365545272020640 0ustar varunvarunimport asyncio import json from gi.repository import GLib, Gtk from pychess import VERSION from pychess.widgets import mainwindow from pychess.System import download_file_async URL = "https://api.github.com/repos/pychess/pychess/releases/latest" LINK = "https://github.com/pychess/pychess/releases" @asyncio.coroutine def checkversion(): new_version = None filename = yield from download_file_async(URL) if filename is not None: with open(filename, encoding="utf-8") as f: new_version = json.loads(f.read())["name"] def notify(new_version): msg_dialog = Gtk.MessageDialog(mainwindow(), type=Gtk.MessageType.INFO, buttons=Gtk.ButtonsType.OK) msg = _("New version %s is available!" % new_version) msg_dialog.set_markup(msg) msg_dialog.format_secondary_markup('%s' % (LINK, LINK)) msg_dialog.connect("response", lambda msg_dialog, a: msg_dialog.hide()) msg_dialog.show() if new_version is not None and VERSION.split(".") < new_version.split("."): GLib.idle_add(notify, new_version) pychess-1.0.0/lib/pychess/Utils/logic.py0000755000175000017500000002176413402304121017234 0ustar varunvarun""" This module contains chess logic functins for the pychess client. They are based upon the lutils modules, but supports standard object types and is therefore not as fast. """ from .lutils import lmovegen from .lutils.validator import validateMove from .lutils.lmove import FCORD, TCORD from .lutils import ldraw from .Cord import Cord from .Move import Move from .const import LOSERSCHESS, WHITE, WHITEWON, BLACKWON, WON_NOMATERIAL, KING, HORDECHESS, \ SUICIDECHESS, GIVEAWAYCHESS, ATOMICCHESS, WON_KINGEXPLODE, KINGOFTHEHILLCHESS, BLACK, DRAW, \ CRAZYHOUSECHESS, WON_KINGINCENTER, THREECHECKCHESS, WON_THREECHECK, WON_MATE, DRAW_STALEMATE, \ DRAW_INSUFFICIENT, DRAW_EQUALMATERIAL, WON_LESSMATERIAL, WON_WIPEOUT, DRAW_REPITITION, \ WON_KINGINEIGHTROW, RACINGKINGSCHESS, DRAW_50MOVES, DRAW_KINGSINEIGHTROW, RUNNING, ENPASSANT, UNKNOWN_REASON from .lutils.bitboard import iterBits from .lutils.attack import getAttacks from pychess.Variants.suicide import pieceCount from pychess.Variants.losers import testKingOnly from pychess.Variants.atomic import kingExplode from pychess.Variants.kingofthehill import testKingInCenter from pychess.Variants.threecheck import checkCount from pychess.Variants.racingkings import testKingInEightRow, test2KingInEightRow def getDestinationCords(board, cord): tcords = [] for move in lmovegen.genAllMoves(board.board): if FCORD(move) == cord.cord: if not board.board.willLeaveInCheck(move): tcords.append(Cord(TCORD(move))) return tcords def isClaimableDraw(board): lboard = board.board if lboard.repetitionCount() >= 3: return True if ldraw.testFifty(lboard): return True return False def playerHasMatingMaterial(board, playercolor): if board.variant == CRAZYHOUSECHESS: return True lboard = board.board return ldraw.testPlayerMatingMaterial(lboard, playercolor) def getStatus(board): lboard = board.board if board.variant == LOSERSCHESS: if testKingOnly(lboard): if board.color == WHITE: status = WHITEWON else: status = BLACKWON return status, WON_NOMATERIAL elif board.variant == SUICIDECHESS or board.variant == GIVEAWAYCHESS: if pieceCount(lboard, lboard.color) == 0: if board.color == WHITE: status = WHITEWON else: status = BLACKWON return status, WON_NOMATERIAL elif board.variant == HORDECHESS: if pieceCount(lboard, lboard.color) == 0 and board.color == WHITE: status = BLACKWON return status, WON_WIPEOUT elif board.variant == ATOMICCHESS: if lboard.boards[board.color][KING] == 0: if board.color == WHITE: status = BLACKWON else: status = WHITEWON return status, WON_KINGEXPLODE elif board.variant == KINGOFTHEHILLCHESS: if testKingInCenter(lboard): if board.color == BLACK: status = WHITEWON else: status = BLACKWON return status, WON_KINGINCENTER elif board.variant == THREECHECKCHESS: if checkCount(lboard, lboard.color) == 3: if board.color == BLACK: status = WHITEWON else: status = BLACKWON return status, WON_THREECHECK elif board.variant == RACINGKINGSCHESS: if test2KingInEightRow(lboard): return DRAW, DRAW_KINGSINEIGHTROW elif testKingInEightRow(lboard): can_save = False for move in lmovegen.genAllMoves(lboard): if lboard.willGiveCheck(move) or lboard.willLeaveInCheck(move): continue lboard.applyMove(move) if testKingInEightRow(lboard): can_save = True lboard.popMove() break lboard.popMove() if not can_save: if board.color == BLACK: status = WHITEWON else: status = BLACKWON return status, WON_KINGINEIGHTROW else: if ldraw.testMaterial(lboard): return DRAW, DRAW_INSUFFICIENT hasMove = False for move in lmovegen.genAllMoves(lboard): if board.variant == ATOMICCHESS: if kingExplode(lboard, move, 1 - board.color) and not kingExplode( lboard, move, board.color): hasMove = True break elif kingExplode(lboard, move, board.color): continue lboard.applyMove(move) if lboard.opIsChecked(): lboard.popMove() continue hasMove = True lboard.popMove() break if not hasMove: if lboard.isChecked(): if board.variant == LOSERSCHESS: if board.color == WHITE: status = WHITEWON else: status = BLACKWON else: if board.color == WHITE: status = BLACKWON else: status = WHITEWON return status, WON_MATE else: if board.variant == LOSERSCHESS or board.variant == GIVEAWAYCHESS: if board.color == WHITE: status = WHITEWON else: status = BLACKWON return status, DRAW_STALEMATE elif board.variant == SUICIDECHESS: if pieceCount(lboard, WHITE) == pieceCount(lboard, BLACK): return status, DRAW_EQUALMATERIAL else: if board.color == WHITE and pieceCount( lboard, WHITE) < pieceCount(lboard, BLACK): status = WHITEWON else: status = BLACKWON return status, WON_LESSMATERIAL else: return DRAW, DRAW_STALEMATE if lboard.repetitionCount() >= 3: return DRAW, DRAW_REPITITION if ldraw.testFifty(lboard): return DRAW, DRAW_50MOVES return RUNNING, UNKNOWN_REASON def standard_validate(board, move): return validateMove(board.board, move.move) and \ not board.board.willLeaveInCheck(move.move) def validate(board, move): if board.variant == LOSERSCHESS: capture = move.flag == ENPASSANT or board[move.cord1] is not None if capture: return standard_validate(board, move) else: can_capture = False can_escape_with_capture = False ischecked = board.board.isChecked() for c in lmovegen.genCaptures(board.board): if board.board.willLeaveInCheck(c): continue else: can_capture = True if ischecked: can_escape_with_capture = True break if can_capture: if ischecked and not can_escape_with_capture: return standard_validate(board, move) else: return False else: return standard_validate(board, move) elif board.variant == SUICIDECHESS: capture = move.flag == ENPASSANT or board[move.cord1] is not None if capture: return standard_validate(board, move) else: can_capture = False for c in lmovegen.genCaptures(board.board): can_capture = True if can_capture: return False else: return standard_validate(board, move) elif board.variant == ATOMICCHESS: # Moves exploding our king are not allowed if kingExplode(board.board, move.move, board.color): return False # Exploding oppont king takes precedence over mate elif kingExplode(board.board, move.move, 1 - board.color) and validateMove(board.board, move.move): return True else: return standard_validate(board, move) elif board.variant == RACINGKINGSCHESS: # Giving check is forbidden if board.board.willGiveCheck(move.move): return False else: return standard_validate(board, move) else: return standard_validate(board, move) def getMoveKillingKing(board): """ Returns a move from the current color, able to capture the opponent king """ lboard = board.board color = lboard.color opking = lboard.kings[1 - color] for cord in iterBits(getAttacks(lboard, opking, color)): return Move(Cord(cord), Cord(opking), board) def genCastles(board): for move in lmovegen.genCastles(board.board): yield Move(move) def legalMoveCount(board): moves = 0 for move in lmovegen.genAllMoves(board.board): if not board.board.willLeaveInCheck(move): moves += 1 return moves pychess-1.0.0/lib/pychess/Utils/IconLoader.py0000755000175000017500000000166513353143212020163 0ustar varunvarunfrom gi.repository import Gio from gi.repository import Gtk from gi.repository import GdkPixbuf from pychess.System.Log import log from pychess.System.prefix import addDataPrefix it = Gtk.IconTheme.get_default() def load_icon(size, *alternatives): alternatives = list(alternatives) name = alternatives.pop(0) try: return it.load_icon(name, size, Gtk.IconLookupFlags.USE_BUILTIN) except Exception: if alternatives: return load_icon(size, *alternatives) log.warning("no %s icon in icon-theme-gnome" % name) # Gdk.Pixbuf.new_from_file() doesn't work on Windows if path contains non ascii chars def get_pixbuf(path, size=None): file = Gio.File.new_for_path(addDataPrefix(path)) if size is None: return GdkPixbuf.Pixbuf.new_from_stream(file.read(None), None) else: return GdkPixbuf.Pixbuf.new_from_stream_at_scale( file.read(None), size, size, True, None) pychess-1.0.0/lib/pychess/Utils/Piece.py0000755000175000017500000000216113353143212017161 0ustar varunvarunfrom pychess.Utils.repr import reprColor, reprPiece class Piece: def __init__(self, color, piece, captured=False): self.color = color self.piece = piece self.captured = captured # in crazyhouse we need to know this for later captures self.promoted = False self.opacity = 1.0 self.x = None self.y = None # Sign is a deprecated synonym for piece def _set_sign(self, sign): self.piece = sign def _get_sign(self): return self.piece sign = property(_get_sign, _set_sign) def __repr__(self): represen = "<%s %s" % (reprColor[self.color], reprPiece[self.piece]) if self.opacity != 1.0: represen += " Op:%0.1f" % self.opacity if self.x is not None or self.y is not None: if self.x is not None: represen += " X:%0.1f" % self.x else: represen += " X:None" if self.y is not None: represen += " Y:%0.1f" % self.y else: represen += " Y:None" represen += ">" return represen pychess-1.0.0/lib/pychess/Utils/EndgameTable.py0000644000175000017500000000464313365545272020467 0ustar varunvarunimport asyncio from gi.repository import GObject from .Move import Move from .lutils.egtb_k4it import EgtbK4kit from .lutils.egtb_gaviota import EgtbGaviota providers = [] class EndgameTable(GObject.GObject): """ Wrap the low-level providers of exact endgame knowledge. """ __gsignals__ = { "scored": (GObject.SignalFlags.RUN_FIRST, None, (object, )), } def __init__(self): GObject.GObject.__init__(self) global providers if not providers: providers = [EgtbGaviota(), EgtbK4kit()] self.providers = providers def _pieceCounts(self, board): return sorted([bin(board.friends[i]).count("1") for i in range(2)]) def scoreGame(self, lBoard, omitDepth=False, probeSoft=False): """ Return result and depth to mate. (Intended for engine use.) lBoard: A low-level board structure omitDepth: Look up only the game's outcome (may save time) probeSoft: Fail if the probe would require disk or network access. Return value: game_result: Either WHITEWON, DRAW, BLACKWON, or (on failure) None depth: Depth to mate, or (if omitDepth or the game is drawn) None """ piece_count = self._pieceCounts(lBoard) for provider in self.providers: if provider.supports(piece_count): result, depth = provider.scoreGame(lBoard, omitDepth, probeSoft) if result is not None: return result, depth return None, None @asyncio.coroutine def scoreAllMoves(self, lBoard): """ Return each move's result and depth to mate. lBoard: A low-level board structure Return value: a list, with best moves first, of: move: A high-level move structure game_result: Either WHITEWON, DRAW, BLACKWON depth: Depth to mate """ piece_count = self._pieceCounts(lBoard) for provider in self.providers: if provider.supports(piece_count): results = yield from provider.scoreAllMoves(lBoard) if results: ret = [] for lmove, result, depth in results: ret.append((Move(lmove), result, depth)) self.emit("scored", (lBoard, ret)) return ret return [] pychess-1.0.0/lib/pychess/Utils/GameModel.py0000644000175000017500000013024213417061505017772 0ustar varunvarunimport asyncio import collections import datetime import random import traceback from queue import Queue from io import StringIO from gi.repository import GObject from pychess.compat import create_task from pychess.Savers.ChessFile import LoadingError from pychess.Players.Player import PlayerIsDead, PassInterrupt, TurnInterrupt, InvalidMove, GameEnded from pychess.System import conf from pychess.System.protoopen import protoopen, protosave from pychess.System.Log import log from pychess.Utils.book import getOpenings from pychess.Utils.Move import Move from pychess.Utils.eco import get_eco from pychess.Utils.Offer import Offer from pychess.Utils.TimeModel import TimeModel from pychess.Savers import html, txt from pychess.Variants.normal import NormalBoard from .logic import getStatus, isClaimableDraw, playerHasMatingMaterial from .const import WAITING_TO_START, UNKNOWN_REASON, WHITE, ARTIFICIAL, RUNNING, \ FLAG_CALL, BLACK, KILLED, ANALYZING, LOCAL, REMOTE, PAUSED, HURRY_ACTION, \ CHAT_ACTION, RESIGNATION, BLACKWON, WHITEWON, DRAW_CALLFLAG, WON_RESIGN, DRAW, \ WON_CALLFLAG, DRAW_WHITEINSUFFICIENTANDBLACKTIME, DRAW_OFFER, TAKEBACK_OFFER, \ DRAW_BLACKINSUFFICIENTANDWHITETIME, ACTION_ERROR_NOT_OUT_OF_TIME, OFFERS, \ ACTION_ERROR_TOO_LARGE_UNDO, ACTION_ERROR_NONE_TO_WITHDRAW, DRAW_AGREE, \ ACTION_ERROR_NONE_TO_DECLINE, ADJOURN_OFFER, ADJOURNED, ABORT_OFFER, ABORTED, \ ADJOURNED_AGREEMENT, PAUSE_OFFER, RESUME_OFFER, ACTION_ERROR_NONE_TO_ACCEPT, \ ABORTED_AGREEMENT, WHITE_ENGINE_DIED, BLACK_ENGINE_DIED, WON_ADJUDICATION, \ UNDOABLE_STATES, DRAW_REPITITION, UNDOABLE_REASONS, UNFINISHED_STATES, \ DRAW_50MOVES, HINT class GameModel(GObject.GObject): """ GameModel contains all available data on a chessgame. It also has the task of controlling players actions and moves """ __gsignals__ = { # game_started is emitted when control is given to the players for the # first time. Notice this is after players.start has been called. "game_started": (GObject.SignalFlags.RUN_FIRST, None, ()), # game_changed is emitted when a move has been made. "game_changed": (GObject.SignalFlags.RUN_FIRST, None, (int, )), # moves_undoig is emitted when a undoMoves call has been accepted, but # before any work has been done to execute it. "moves_undoing": (GObject.SignalFlags.RUN_FIRST, None, (int, )), # moves_undone is emitted after n moves have been undone in the # gamemodel and the players. "moves_undone": (GObject.SignalFlags.RUN_FIRST, None, (int, )), # variation_undoig is emitted when a undo_in_variation call has been started, but # before any work has been done to execute it. "variation_undoing": (GObject.SignalFlags.RUN_FIRST, None, ()), # variation_undone is emitted after 1 move have been undone in the # boardview shown variation "variation_undone": (GObject.SignalFlags.RUN_FIRST, None, ()), # game_unended is emitted if moves have been undone, such that the game # which had previously ended, is now again active. "game_unended": (GObject.SignalFlags.RUN_FIRST, None, ()), # game_loading is emitted if the GameModel is about to load in a chess # game from a file. "game_loading": (GObject.SignalFlags.RUN_FIRST, None, (object, )), # game_loaded is emitted after the chessformat handler has loaded in # all the moves from a file to the game model. "game_loaded": (GObject.SignalFlags.RUN_FIRST, None, (object, )), # game_saved is emitted in the end of model.save() "game_saved": (GObject.SignalFlags.RUN_FIRST, None, (str, )), # game_ended is emitted if the models state has been changed to an # "ended state" "game_ended": (GObject.SignalFlags.RUN_FIRST, None, (int, )), # game_terminated is emitted if the game was terminated. That is all # players and clocks were stopped, and it is no longer possible to # resume the game, even by undo. "game_terminated": (GObject.SignalFlags.RUN_FIRST, None, ()), # game_paused is emitted if the game was successfully paused. "game_paused": (GObject.SignalFlags.RUN_FIRST, None, ()), # game_paused is emitted if the game was successfully resumed from a # pause. "game_resumed": (GObject.SignalFlags.RUN_FIRST, None, ()), # action_error is currently only emitted by ICGameModel, in the case # the "web model" didn't accept the action you were trying to do. "action_error": (GObject.SignalFlags.RUN_FIRST, None, (object, int)), # players_changed is emitted if the players list was changed. "players_changed": (GObject.SignalFlags.RUN_FIRST, None, ()), "analyzer_added": (GObject.SignalFlags.RUN_FIRST, None, (object, str)), "analyzer_removed": (GObject.SignalFlags.RUN_FIRST, None, (object, str)), "analyzer_paused": (GObject.SignalFlags.RUN_FIRST, None, (object, str)), "analyzer_resumed": (GObject.SignalFlags.RUN_FIRST, None, (object, str)), # opening_changed is emitted if the move changed the opening. "opening_changed": (GObject.SignalFlags.RUN_FIRST, None, ()), # variation_added is emitted if a variation was added. "variation_added": (GObject.SignalFlags.RUN_FIRST, None, (object, object)), # variation_extended is emitted if a new move was added to a variation. "variation_extended": (GObject.SignalFlags.RUN_FIRST, None, (object, object)), # scores_changed is emitted if the analyzing scores was changed. "analysis_changed": (GObject.SignalFlags.RUN_FIRST, None, (int, )), # analysis_finished is emitted if the game analyzing finished stepping on all moves. "analysis_finished": (GObject.SignalFlags.RUN_FIRST, None, ()), # FICS games can get kibitz/whisper messages "message_received": (GObject.SignalFlags.RUN_FIRST, None, (str, str)), # FICS games can have observers "observers_received": (GObject.SignalFlags.RUN_FIRST, None, (str, )), } def __init__(self, timemodel=None, variant=NormalBoard): GObject.GObject.__init__(self) self.daemon = True self.variant = variant self.boards = [variant(setup=True)] self.moves = [] self.scores = {} self.spy_scores = {} self.players = [] self.gameno = None self.variations = [self.boards] self.terminated = False self.status = WAITING_TO_START self.reason = UNKNOWN_REASON self.curColor = WHITE if timemodel is None: self.timemodel = TimeModel() else: self.timemodel = timemodel self.timemodel.gamemodel = self self.connections = collections.defaultdict(list) # mainly for IC subclasses self.analyzer_cids = {} self.examined = False now = datetime.datetime.now() self.tags = collections.defaultdict(str) self.tags["Event"] = _("Local Event") self.tags["Site"] = _("Local Site") self.tags["Date"] = "%04d.%02d.%02d" % (now.year, now.month, now.day) self.tags["Round"] = "1" self.endstatus = None self.zero_reached_cid = None self.timed = self.timemodel.minutes != 0 or self.timemodel.gain != 0 if self.timed: self.zero_reached_cid = self.timemodel.connect('zero_reached', self.zero_reached) if self.timemodel.moves == 0: self.tags["TimeControl"] = "%d%s%d" % (self.timemodel.minutes * 60, "+" if self.timemodel.gain >= 0 else "-", abs(self.timemodel.gain)) else: self.tags["TimeControl"] = "%d/%d" % (self.timemodel.moves, self.timemodel.minutes * 60) # Notice: tags["WhiteClock"] and tags["BlackClock"] are never set # on the gamemodel, but simply written or read during saving/ # loading from pgn. If you want to know the time left for a player, # check the time model. # Keeps track of offers, so that accepts can be spotted self.offers = {} # True if the game has been changed since last save self.needsSave = False # The uri the current game was loaded from, or None if not a loaded game self.uri = None # Link to additiona info self.info = None self.spectators = {} self.undoQueue = Queue() # learn_type set by LearnModel.set_learn_data() self.offline_lecture = False self.puzzle_game = False self.lesson_game = False self.end_game = False self.solved = False @property def practice_game(self): return self.puzzle_game or self.end_game @property def starting_color(self): return BLACK if "FEN" in self.tags and self.tags["FEN"].split()[1] == "b" else WHITE @property def orientation(self): if "Orientation" in self.tags: return BLACK if self.tags["Orintation"].lower() == "black" else WHITE else: return self.starting_color def zero_reached(self, timemodel, color): if conf.get('autoCallFlag'): if self.status == RUNNING and timemodel.getPlayerTime(color) <= 0: log.info( 'Automatically sending flag call on behalf of player %s.' % self.players[1 - color].name) self.players[1 - color].emit("offer", Offer(FLAG_CALL)) def __repr__(self): string = " 0: string += ", move=%s" % self.moves[-1] string += ", variant=%s" % self.variant.name.encode('utf-8') string += ", status=%s, reason=%s" % (str(self.status), str(self.reason)) string += ", players=%s" % str(self.players) string += ", tags=%s" % str(self.tags) if len(self.boards) > 0: string += "\nboard=%s" % self.boards[-1] return string + ")>" @property def display_text(self): if self.variant == NormalBoard and not self.timed: return "[ " + _("Untimed") + " ]" else: text = "[ " if self.variant != NormalBoard: text += self.variant.name + " " if self.timed: text += self.timemodel.display_text + " " return text + "]" def setPlayers(self, players): log.debug("GameModel.setPlayers: starting") assert self.status == WAITING_TO_START self.players = players for player in self.players: self.connections[player].append(player.connect("offer", self.offerReceived)) self.connections[player].append(player.connect( "withdraw", self.withdrawReceived)) self.connections[player].append(player.connect( "decline", self.declineReceived)) self.connections[player].append(player.connect( "accept", self.acceptReceived)) self.tags["White"] = str(self.players[WHITE]) self.tags["Black"] = str(self.players[BLACK]) log.debug("GameModel.setPlayers: -> emit players_changed") self.emit("players_changed") log.debug("GameModel.setPlayers: <- emit players_changed") log.debug("GameModel.setPlayers: returning") def color(self, player): if player is self.players[0]: return WHITE else: return BLACK @asyncio.coroutine def start_analyzer(self, analyzer_type, force_engine=None): # Don't start regular analyzers if (self.practice_game or self.lesson_game) and force_engine is None and not self.solved: return # prevent starting new analyzers again and again # when fics lecture reuses the same gamemodel if analyzer_type in self.spectators: return from pychess.Players.engineNest import init_engine analyzer = yield from init_engine(analyzer_type, self, force_engine=force_engine) if analyzer is None: return analyzer.setOptionInitialBoard(self) # Enable to find alternate hint in learn perspective puzzles if force_engine is not None: analyzer.setOption("MultiPV", 3) analyzer.analysis_depth = 20 self.spectators[analyzer_type] = analyzer self.emit("analyzer_added", analyzer, analyzer_type) self.analyzer_cids[analyzer_type] = analyzer.connect("analyze", self.on_analyze) def remove_analyzer(self, analyzer_type): try: analyzer = self.spectators[analyzer_type] except KeyError: return analyzer.disconnect(self.analyzer_cids[analyzer_type]) analyzer.end(KILLED, UNKNOWN_REASON) self.emit("analyzer_removed", analyzer, analyzer_type) del self.spectators[analyzer_type] def resume_analyzer(self, analyzer_type): try: analyzer = self.spectators[analyzer_type] except KeyError: return analyzer.resume() self.emit("analyzer_resumed", analyzer, analyzer_type) def pause_analyzer(self, analyzer_type): try: analyzer = self.spectators[analyzer_type] except KeyError: return analyzer.pause() self.emit("analyzer_paused", analyzer, analyzer_type) @asyncio.coroutine def restart_analyzer(self, analyzer_type): self.remove_analyzer(analyzer_type) yield from self.start_analyzer(analyzer_type) def on_analyze(self, analyzer, analysis): if analysis and (self.practice_game or self.lesson_game): for i, anal in enumerate(analysis): if anal is not None: ply, pv, score, depth, nps = anal if len(pv) > 0: if ply not in self.hints: self.hints[ply] = [] if len(self.hints[ply]) < i + 1: self.hints[ply].append((pv[0], score)) else: self.hints[ply][i] = (pv[0], score) if analysis and analysis[0] is not None: ply, pv, score, depth, nps = analysis[0] if score is not None and depth: if analyzer.mode == ANALYZING: if (ply not in self.scores) or (int(self.scores[ply][2]) <= int(depth)): self.scores[ply] = (pv, score, depth) self.emit("analysis_changed", ply) else: if (ply not in self.spy_scores) or (int(self.spy_scores[ply][2]) <= int(depth)): self.spy_scores[ply] = (pv, score, depth) def setOpening(self, ply=None): if ply is None: ply = self.ply if ply > 40: return if ply > 0: opening = get_eco(self.getBoardAtPly(ply).board.hash) else: opening = None if opening is not None: self.tags["ECO"] = opening[0] self.tags["Opening"] = opening[1] self.tags["Variation"] = opening[2] self.emit("opening_changed") # Board stuff def _get_ply(self): return self.boards[-1].ply ply = property(_get_ply) def _get_lowest_ply(self): return self.boards[0].ply lowply = property(_get_lowest_ply) def _get_curplayer(self): try: return self.players[self.getBoardAtPly(self.ply).color] except IndexError: log.error("%s %s" % (self.players, self.getBoardAtPly(self.ply).color)) raise curplayer = property(_get_curplayer) def _get_waitingplayer(self): try: return self.players[1 - self.getBoardAtPly(self.ply).color] except IndexError: log.error("%s %s" % (self.players, 1 - self.getBoardAtPly(self.ply).color)) raise waitingplayer = property(_get_waitingplayer) def _plyToIndex(self, ply): index = ply - self.lowply if index < 0: raise IndexError("%s < %s\n" % (ply, self.lowply)) return index def getBoardAtPly(self, ply, variation=0): try: return self.variations[variation][self._plyToIndex(ply)] except IndexError: log.error("%d\t%d\t%d\t%d\t%d" % (self.lowply, ply, self.ply, variation, len(self.variations))) raise def getMoveAtPly(self, ply, variation=0): try: return Move(self.variations[variation][self._plyToIndex(ply) + 1].board.lastMove) except IndexError: log.error("%d\t%d\t%d\t%d\t%d" % (self.lowply, ply, self.ply, variation, len(self.variations))) raise def hasLocalPlayer(self): if self.players[0].__type__ == LOCAL or self.players[ 1].__type__ == LOCAL: return True else: return False def hasEnginePlayer(self): if self.players[0].__type__ == ARTIFICIAL or self.players[ 1].__type__ == ARTIFICIAL: return True else: return False def isLocalGame(self): if self.players[0].__type__ != REMOTE and self.players[ 1].__type__ != REMOTE: return True else: return False def isObservationGame(self): return not self.hasLocalPlayer() def isEngine2EngineGame(self): if len(self.players) == 2 and self.players[0].__type__ == ARTIFICIAL and self.players[1].__type__ == ARTIFICIAL: return True else: return False def isPlayingICSGame(self): if self.players and self.status in (WAITING_TO_START, PAUSED, RUNNING): if (self.players[0].__type__ == LOCAL and self.players[1].__type__ == REMOTE) or \ (self.players[1].__type__ == LOCAL and self.players[0].__type__ == REMOTE) or \ ((self.offline_lecture or self.practice_game or self.lesson_game) and not self.solved) or \ (self.players[1].__type__ == REMOTE and self.players[0].__type__ == REMOTE and self.examined and ( self.players[0].name == "puzzlebot" or self.players[1].name == "puzzlebot") or self.players[0].name == "endgamebot" or self.players[1].name == "endgamebot"): return True return False def isLoadedGame(self): return self.gameno is not None # Offer management def offerReceived(self, player, offer): log.debug("GameModel.offerReceived: offerer=%s %s" % (repr(player), offer)) if player == self.players[WHITE]: opPlayer = self.players[BLACK] elif player == self.players[BLACK]: opPlayer = self.players[WHITE] else: # Player comments echoed to opponent if the player started a conversation # with you prior to observing a game the player is in #1113 return if offer.type == HURRY_ACTION: opPlayer.hurry() elif offer.type == CHAT_ACTION: # print("GameModel.offerreceived(player, offer)", player.name, offer.param) opPlayer.putMessage(offer.param) elif offer.type == RESIGNATION: if player == self.players[WHITE]: self.end(BLACKWON, WON_RESIGN) else: self.end(WHITEWON, WON_RESIGN) elif offer.type == FLAG_CALL: assert self.timed if self.timemodel.getPlayerTime(1 - player.color) <= 0: if self.timemodel.getPlayerTime(player.color) <= 0: self.end(DRAW, DRAW_CALLFLAG) elif not playerHasMatingMaterial(self.boards[-1], player.color): if player.color == WHITE: self.end(DRAW, DRAW_WHITEINSUFFICIENTANDBLACKTIME) else: self.end(DRAW, DRAW_BLACKINSUFFICIENTANDWHITETIME) else: if player == self.players[WHITE]: self.end(WHITEWON, WON_CALLFLAG) else: self.end(BLACKWON, WON_CALLFLAG) else: player.offerError(offer, ACTION_ERROR_NOT_OUT_OF_TIME) elif offer.type == DRAW_OFFER and isClaimableDraw(self.boards[-1]): reason = getStatus(self.boards[-1])[1] self.end(DRAW, reason) elif offer.type == TAKEBACK_OFFER and offer.param < self.lowply: player.offerError(offer, ACTION_ERROR_TOO_LARGE_UNDO) elif offer.type in OFFERS: if offer not in self.offers: log.debug("GameModel.offerReceived: doing %s.offer(%s)" % ( repr(opPlayer), offer)) self.offers[offer] = player opPlayer.offer(offer) # If we updated an older offer, we want to delete the old one keys = self.offers.keys() for offer_ in keys: if offer.type == offer_.type and offer != offer_: del self.offers[offer_] def withdrawReceived(self, player, offer): log.debug("GameModel.withdrawReceived: withdrawer=%s %s" % ( repr(player), offer)) if player == self.players[WHITE]: opPlayer = self.players[BLACK] else: opPlayer = self.players[WHITE] if offer in self.offers and self.offers[offer] == player: del self.offers[offer] opPlayer.offerWithdrawn(offer) else: player.offerError(offer, ACTION_ERROR_NONE_TO_WITHDRAW) def declineReceived(self, player, offer): log.debug("GameModel.declineReceived: decliner=%s %s" % ( repr(player), offer)) if player == self.players[WHITE]: opPlayer = self.players[BLACK] else: opPlayer = self.players[WHITE] if offer in self.offers and self.offers[offer] == opPlayer: del self.offers[offer] log.debug("GameModel.declineReceived: declining %s" % offer) opPlayer.offerDeclined(offer) else: player.offerError(offer, ACTION_ERROR_NONE_TO_DECLINE) def acceptReceived(self, player, offer): log.debug("GameModel.acceptReceived: accepter=%s %s" % ( repr(player), offer)) if player == self.players[WHITE]: opPlayer = self.players[BLACK] else: opPlayer = self.players[WHITE] if offer in self.offers and self.offers[offer] == opPlayer: if offer.type == DRAW_OFFER: self.end(DRAW, DRAW_AGREE) elif offer.type == TAKEBACK_OFFER: log.debug("GameModel.acceptReceived: undoMoves(%s)" % offer.param) self.undoMoves(offer.param) elif offer.type == ADJOURN_OFFER: self.end(ADJOURNED, ADJOURNED_AGREEMENT) elif offer.type == ABORT_OFFER: self.end(ABORTED, ABORTED_AGREEMENT) elif offer.type == PAUSE_OFFER: self.pause() elif offer.type == RESUME_OFFER: self.resume() del self.offers[offer] else: player.offerError(offer, ACTION_ERROR_NONE_TO_ACCEPT) # Data stuff def loadAndStart(self, uri, loader, gameno, position, first_time=True): if first_time: assert self.status == WAITING_TO_START uriIsFile = not isinstance(uri, str) if not uriIsFile: chessfile = loader.load(protoopen(uri)) else: chessfile = loader.load(uri) self.gameno = gameno self.emit("game_loading", uri) try: chessfile.loadToModel(gameno, -1, self) # Postpone error raising to make games loadable to the point of the # error except LoadingError as e: error = e else: error = None if self.players: self.players[WHITE].setName(self.tags["White"]) self.players[BLACK].setName(self.tags["Black"]) self.emit("game_loaded", uri) self.needsSave = False if not uriIsFile: self.uri = uri else: self.uri = None # Even if the game "starts ended", the players should still be moved # to the last position, so analysis is correct, and a possible "undo" # will work as expected. for spectator in self.spectators.values(): spectator.setOptionInitialBoard(self) for player in self.players: player.setOptionInitialBoard(self) if self.timed: self.timemodel.setMovingColor(self.boards[-1].color) if first_time: if self.status == RUNNING: if self.timed: self.timemodel.start() # Store end status from Result tag if self.status in (DRAW, WHITEWON, BLACKWON): self.endstatus = self.status self.status = WAITING_TO_START self.start() if error: raise error def save(self, uri, saver, append, position=None, flip=False): if saver in (html, txt): fileobj = open(uri, "a" if append else "w", encoding="utf-8", newline="") self.uri = uri elif isinstance(uri, str): fileobj = protosave(uri, append) self.uri = uri else: fileobj = uri self.uri = None saver.save(fileobj, self, position, flip) self.needsSave = False self.emit("game_saved", uri) def get_book_move(self): openings = getOpenings(self.boards[-1].board) openings.sort(key=lambda t: t[1], reverse=True) if not openings: return None total_weights = 0 for move, weight, learn in openings: total_weights += weight if total_weights < 1: return None choice = random.randint(0, total_weights - 1) current_sum = 0 for move, weight, learn in openings: current_sum += weight if current_sum > choice: return Move(move) # Run stuff def start(self): @asyncio.coroutine def coro(): log.debug("GameModel.run: Starting. self=%s" % self) # Avoid racecondition when self.start is called while we are in # self.end if self.status != WAITING_TO_START: return if not self.isLocalGame(): self.timemodel.handle_gain = False self.status = RUNNING for player in self.players + list(self.spectators.values()): event = asyncio.Event() is_dead = set() player.start(event, is_dead) yield from event.wait() if is_dead: if player in self.players[WHITE]: self.kill(WHITE_ENGINE_DIED) break elif player in self.players[BLACK]: self.kill(BLACK_ENGINE_DIED) break log.debug("GameModel.run: emitting 'game_started' self=%s" % self) self.emit("game_started") # Let GameModel end() itself on games started with loadAndStart() if not self.lesson_game: self.checkStatus() if self.isEngine2EngineGame() and self.timed: self.timemodel.start() self.timemodel.started = True self.curColor = self.boards[-1].color book_depth_max = conf.get("book_depth_max") while self.status in (PAUSED, RUNNING, DRAW, WHITEWON, BLACKWON): curPlayer = self.players[self.curColor] if self.timed: log.debug("GameModel.run: id=%s, players=%s, self.ply=%s: updating %s's time" % ( id(self), str(self.players), str(self.ply), str(curPlayer))) curPlayer.updateTime( self.timemodel.getPlayerTime(self.curColor), self.timemodel.getPlayerTime(1 - self.curColor)) try: log.debug("GameModel.run: id=%s, players=%s, self.ply=%s: calling %s.makeMove()" % ( id(self), str(self.players), self.ply, str(curPlayer))) move = None if curPlayer.__type__ == ARTIFICIAL and book_depth_max > 0 and self.ply <= book_depth_max: move = self.get_book_move() log.debug("GameModel.run: id=%s, players=%s, self.ply=%s: got move=%s from book" % ( id(self), str(self.players), self.ply, move)) if move is not None: curPlayer.set_board(self.boards[-1].move(move)) if move is None: if self.ply > self.lowply: move = yield from curPlayer.makeMove(self.boards[-1], self.moves[-1], self.boards[-2]) else: move = yield from curPlayer.makeMove(self.boards[-1], None, None) log.debug("GameModel.run: id=%s, players=%s, self.ply=%s: got move=%s from %s" % ( id(self), str(self.players), self.ply, move, str(curPlayer))) except PlayerIsDead as e: if self.status in (WAITING_TO_START, PAUSED, RUNNING): stringio = StringIO() traceback.print_exc(file=stringio) error = stringio.getvalue() log.error( "GameModel.run: A Player died: player=%s error=%s\n%s" % (curPlayer, error, e)) if self.curColor == WHITE: self.kill(WHITE_ENGINE_DIED) else: self.kill(BLACK_ENGINE_DIED) break except InvalidMove as e: stringio = StringIO() traceback.print_exc(file=stringio) error = stringio.getvalue() log.error( "GameModel.run: InvalidMove by player=%s error=%s\n%s" % (curPlayer, error, e)) if self.curColor == WHITE: self.end(BLACKWON, WON_ADJUDICATION) else: self.end(WHITEWON, WON_ADJUDICATION) break except PassInterrupt: log.debug("GameModel.run: id=%s, players=%s, self.ply=%s: PassInterrupt" % ( id(self), str(self.players), self.ply)) continue except TurnInterrupt: log.debug("GameModel.run: id=%s, players=%s, self.ply=%s: TurnInterrupt" % ( id(self), str(self.players), self.ply)) self.curColor = self.boards[-1].color continue except GameEnded: log.debug("GameModel.run: got GameEnded exception") break assert isinstance(move, Move), "%s" % repr(move) log.debug("GameModel.run: id=%s, players=%s, self.ply=%s: applying move=%s" % ( id(self), str(self.players), self.ply, str(move))) self.needsSave = True newBoard = self.boards[-1].move(move) newBoard.board.prev = self.boards[-1].board # newBoard.printPieces() # Variation on next move can exist from the hint panel... if self.boards[-1].board.next is not None: newBoard.board.children = self.boards[ -1].board.next.children self.boards = self.variations[0] self.boards[-1].board.next = newBoard.board self.boards.append(newBoard) self.moves.append(move) if self.timed: self.timemodel.tap() if not self.terminated: self.emit("game_changed", self.ply) for spectator in self.spectators.values(): if spectator.board == self.boards[-2]: spectator.putMove(self.boards[-1], self.moves[-1], self.boards[-2]) if self.puzzle_game and len(self.moves) % 2 == 1: status, reason = getStatus(self.boards[-1]) self.failed_playing_best = self.check_failed_playing_best(status) if self.failed_playing_best: # print("failed_playing_best() == True -> yield from asyncio.sleep(1.5) ") # It may happen that analysis had no time to fill hints with best moves # so we give him another chance with some additional time to think on it self.spectators[HINT].setBoard(self.boards[-2]) # TODO: wait for an event (analyzer PV reaching 18 ply) # instead of hard coded sleep time yield from asyncio.sleep(1.5) self.failed_playing_best = self.check_failed_playing_best(status) self.checkStatus() self.setOpening() self.curColor = 1 - self.curColor self.checkStatus() create_task(coro()) def checkStatus(self): """ Updates self.status so it fits with what getStatus(boards[-1]) would return. That is, if the game is e.g. check mated this will call mode.end(), or if moves have been undone from an otherwise ended position, this will call __resume and emit game_unended. """ log.debug("GameModel.checkStatus:") # call flag by engine if self.isEngine2EngineGame() and self.status in UNDOABLE_STATES: return status, reason = getStatus(self.boards[-1]) if self.practice_game and (len(self.moves) % 2 == 1 or status in UNDOABLE_STATES): self.check_goal(status, reason) if self.endstatus is not None: self.end(self.endstatus, reason) return if status != RUNNING and self.status in (WAITING_TO_START, PAUSED, RUNNING): if status == DRAW and reason in (DRAW_REPITITION, DRAW_50MOVES): if self.isEngine2EngineGame(): self.end(status, reason) return else: self.end(status, reason) return if status != self.status and self.status in UNDOABLE_STATES \ and self.reason in UNDOABLE_REASONS: self.__resume() self.status = status self.reason = UNKNOWN_REASON self.emit("game_unended") def __pause(self): log.debug("GameModel.__pause: %s" % self) if self.isEngine2EngineGame(): for player in self.players: player.end(self.status, self.reason) if self.timed: self.timemodel.end() else: for player in self.players: player.pause() if self.timed: self.timemodel.pause() def pause(self): """ Players will raise NotImplementedError if they doesn't support pause. Spectators will be ignored. """ self.__pause() self.status = PAUSED self.emit("game_paused") def __resume(self): for player in self.players: player.resume() if self.timed: self.timemodel.resume() self.emit("game_resumed") def resume(self): self.status = RUNNING self.__resume() def end(self, status, reason): if self.status not in UNFINISHED_STATES: log.info( "GameModel.end: Can't end a game that's already ended: %s %s" % (status, reason)) return if self.status not in (WAITING_TO_START, PAUSED, RUNNING): self.needsSave = True log.debug("GameModel.end: players=%s, self.ply=%s: Ending a game with status %d for reason %d" % ( repr(self.players), str(self.ply), status, reason)) self.status = status self.reason = reason self.emit("game_ended", reason) self.__pause() def kill(self, reason): log.debug("GameModel.kill: players=%s, self.ply=%s: Killing a game for reason %d\n%s" % ( repr(self.players), str(self.ply), reason, "".join( traceback.format_list(traceback.extract_stack())).strip())) self.status = KILLED self.reason = reason for player in self.players: player.end(self.status, reason) for spectator in self.spectators.values(): spectator.end(self.status, reason) if self.timed: self.timemodel.end() self.emit("game_ended", reason) def terminate(self): log.debug("GameModel.terminate: %s" % self) self.terminated = True if self.status != KILLED: for player in self.players: player.end(self.status, self.reason) analyzer_types = list(self.spectators.keys()) for analyzer_type in analyzer_types: self.remove_analyzer(analyzer_type) if self.timed: log.debug("GameModel.terminate: -> timemodel.end()") self.timemodel.end() log.debug("GameModel.terminate: <- timemodel.end() %s" % repr(self.timemodel)) if self.zero_reached_cid is not None: self.timemodel.disconnect(self.zero_reached_cid) # ICGameModel may did this if game was a FICS game if self.connections is not None: for player in self.players: for cid in self.connections[player]: player.disconnect(cid) self.connections = {} self.timemodel.gamemodel = None self.players = [] self.emit("game_terminated") # Other stuff def undoMoves(self, moves): """ Undo and remove moves number of moves from the game history from the GameModel, players, and any spectators """ if self.ply < 1 or moves < 1: return if self.ply - moves < 0: # There is no way in the current threaded/asynchronous design # for the GUI to know that the number of moves it requests to takeback # will still be valid once the undo is actually processed. So, until # we either add some locking or get a synchronous design, we quietly # "fix" the takeback request rather than cause AssertionError or IndexError moves = 1 log.debug("GameModel.undoMoves: players=%s, self.ply=%s, moves=%s, board=%s" % ( repr(self.players), self.ply, moves, self.boards[-1])) self.emit("moves_undoing", moves) self.needsSave = True self.boards = self.variations[0] del self.boards[-moves:] del self.moves[-moves:] self.boards[-1].board.next = None for player in self.players: player.playerUndoMoves(moves, self) for spectator in self.spectators.values(): spectator.spectatorUndoMoves(moves, self) log.debug("GameModel.undoMoves: undoing timemodel") if self.timed: self.timemodel.undoMoves(moves) self.checkStatus() self.setOpening() self.emit("moves_undone", moves) def isChanged(self): if self.ply == 0: return False if self.needsSave: return True # what was this for? # if not self.uri or not isWriteable(self.uri): # return True return False def add_variation(self, board, moves, comment="", score="", emit=True): if board.board.next is None: # If we are in the latest played board, and want to add a variation # we have to add the latest move first if board.board.lastMove is None or board.board.prev is None: return moves = [Move(board.board.lastMove)] + moves board = board.board.prev.pieceBoard board0 = board board = board0.clone() board.board.prev = None # this prevents annotation panel node searches to find this instead of board0 board.board.hash = -1 if comment: board.board.children.append(comment) variation = [board] for move in moves: new = board.move(move) if len(variation) == 1: new.board.prev = board0.board variation[0].board.next = new.board else: new.board.prev = board.board board.board.next = new.board variation.append(new) board = new board0.board.next.children.append( [vboard.board for vboard in variation]) if score: variation[-1].board.children.append(score) head = None for vari in self.variations: if board0 in vari: head = vari break variation[0] = board0 self.variations.append(head[:board0.ply - self.lowply] + variation) self.needsSave = True if emit: self.emit("variation_added", board0.board.next.children[-1], board0.board.next) return self.variations[-1] def add_move2variation(self, board, move, variationIdx): new = board.move(move) new.board.prev = board.board board.board.next = new.board # Find the variation (low level lboard list) to append cur_board = board.board vari = None while cur_board.prev is not None: for child in cur_board.prev.next.children: if isinstance(child, list) and cur_board in child: vari = child break if vari is None: cur_board = cur_board.prev else: break vari.append(new.board) self.variations[variationIdx].append(new) self.needsSave = True self.emit("variation_extended", board.board, new.board) def remove_variation(self, board, parent): """ board must be an lboard object of the first Board object of a variation Board(!) list """ # Remove the variation (list of lboards) containing board from parent's children list for child in parent.children: if isinstance(child, list) and board in child: parent.children.remove(child) break # Remove all variations from gamemodel's variations list which contains this board for vari in self.variations[1:]: if board.pieceBoard in vari: self.variations.remove(vari) # remove null_board if variation was added on last played move if not parent.fen_was_applied: parent.prev.next = None self.needsSave = True def undo_in_variation(self, board): """ board must be the latest Board object of a variation board list """ assert board.board.next is None and len(board.board.children) == 0 self.emit("variation_undoing") for vari in self.variations[1:]: if board in vari: break board = board.board parent = board.prev.next # If this is a one move only variation we have to remove the whole variation # if it's a longer one, just remove the latest move from it first_vari_moves = [child[1] for child in parent.children if not isinstance(child, str)] if board in first_vari_moves: self.remove_variation(board, parent) else: board.prev.next = None del vari[-1] self.needsSave = True self.emit("variation_undone") pychess-1.0.0/lib/pychess/Utils/SetupModel.py0000644000175000017500000000656613365545272020246 0ustar varunvarun# -*- coding: UTF-8 -*- import asyncio from gi.repository import GObject from pychess.compat import create_task from pychess.Utils.const import LOCAL, RUNNING from pychess.Variants.setupposition import SetupBoard class SetupMove: def __init__(self, move): self.cord0 = move[0] self.cord1 = move[1] self.flag = 0 def is_capture(self, board): return False class SetupPlayer: __type__ = LOCAL def __init__(self, board_control): self.queue = asyncio.Queue() self.board_control = board_control self.board_control.connect("action", self.on_action) self.board_control.connect("piece_moved", self.piece_moved) def on_action(self, bc, action, player, param): self.queue.put_nowait((action, param)) if action == "SETUP": # force both virtual player to make_move() self.queue.put_nowait((action, param)) @asyncio.coroutine def make_move(self): item = yield from self.queue.get() return item def piece_moved(self, board, move, color): self.queue.put_nowait((SetupMove(move), color)) class SetupModel(GObject.GObject): __gsignals__ = { "game_started": (GObject.SignalFlags.RUN_FIRST, None, ()), "game_changed": (GObject.SignalFlags.RUN_FIRST, None, (int, )), "moves_undoing": (GObject.SignalFlags.RUN_FIRST, None, (int, )), "variation_undoing": (GObject.SignalFlags.RUN_FIRST, None, ()), "game_loading": (GObject.SignalFlags.RUN_FIRST, None, (object, )), "game_loaded": (GObject.SignalFlags.RUN_FIRST, None, (object, )), "game_ended": (GObject.SignalFlags.RUN_FIRST, None, (int, )), } def __init__(self): GObject.GObject.__init__(self) self.stop = False self.lowply = 0 self.status = RUNNING self.players = [] self.moves = [] self.variant = SetupBoard self.boards = [self.variant()] self.variations = [self.boards] self.lesson_game = False def _get_ply(self): return self.boards[-1].ply ply = property(_get_ply) def getBoardAtPly(self, ply, variation=0): return self.boards[ply] def getMoveAtPly(self, ply, variation=0): return self.moves[ply] def isPlayingICSGame(self): # prevent hovering over fields return True def start(self): def coro(): self.emit("game_started") while True: player0, player1 = yield from self.curplayer.make_move() if isinstance(player0, SetupMove): # print(player0.cord0, player0.cord1, player1) new_board = self.boards[-1].move(player0, player1) self.moves.append(player0) self.boards.append(new_board) self.emit("game_changed", self.ply) elif player0 == "SETUP": # print("SETUP", player0, player1) self.emit("game_ended", 0) self.boards = [self.variant(setup=player1)] self.variations = [self.boards] self.emit("game_loaded", 0) self.emit("game_started") self.emit("game_changed", 0) elif player0 == "CLOSE": # print("CLOSE") break create_task(coro()) pychess-1.0.0/lib/pychess/Utils/eco.py0000644000175000017500000000204113370132544016701 0ustar varunvarunimport os import atexit import gettext import sqlite3 import struct from pychess.System import conf from pychess.System.prefix import addDataPrefix, isInstalled db_path = os.path.join(addDataPrefix("eco.db")) if os.path.exists(db_path): conn = sqlite3.connect(db_path, check_same_thread=False) atexit.register(conn.close) ECO_OK = True else: print("Warning: eco.db not found, please run pgn2ecodb.sh") ECO_OK = False if isInstalled(): mofile = gettext.find('pychess') else: mofile = gettext.find('pychess', localedir=addDataPrefix("lang")) if mofile is None: lang = "en" else: lang = mofile.split(os.sep)[-3] # big-endian, unsigned long long (uint64) hash_struct = struct.Struct('>Q') def get_eco(hash): if not ECO_OK: return None cur = conn.cursor() select = "select eco, opening, variation from openings where hash=? and lang=?" cur.execute(select, (memoryview(hash_struct.pack(hash)), "en" if conf.no_gettext or lang not in ("da", "de", "es", "hu") else lang)) return cur.fetchone() pychess-1.0.0/lib/pychess/Utils/const.py0000755000175000017500000002061313434743747017307 0ustar varunvarun# -*- coding: UTF-8 -*- NAME = "PyChess" # Player types LOCAL, ARTIFICIAL, REMOTE = range(3) # Engine strengths EASY, INTERMEDIATE, EXPERT = range(3) # Tools TOOL_NONE, TOOL_CHESSDB, TOOL_SCOUTFISH = range(3) # Player colors WHITE, BLACK = range(2) # Game states WAITING_TO_START, PAUSED, RUNNING, DRAW, WHITEWON, BLACKWON, KILLED, \ ADJOURNED, ABORTED, UNKNOWN_STATE, ICC_ABORTED, CANCELLED = range(12) reprResult = ["*", "*", "*", "1/2-1/2", "1-0", "0-1", "*", "*", "*", "*", "*", "*"] UNDOABLE_STATES = (DRAW, WHITEWON, BLACKWON) UNFINISHED_STATES = (WAITING_TO_START, PAUSED, RUNNING, UNKNOWN_STATE) # Chess variants NORMALCHESS, CORNERCHESS, SHUFFLECHESS, FISCHERRANDOMCHESS, RANDOMCHESS, \ ASYMMETRICRANDOMCHESS, UPSIDEDOWNCHESS, PAWNSPUSHEDCHESS, PAWNSPASSEDCHESS, \ THEBANCHESS, PAWNODDSCHESS, KNIGHTODDSCHESS, ROOKODDSCHESS, QUEENODDSCHESS, \ BLINDFOLDCHESS, HIDDENPAWNSCHESS, HIDDENPIECESCHESS, ALLWHITECHESS, \ ATOMICCHESS, BUGHOUSECHESS, CRAZYHOUSECHESS, LOSERSCHESS, SUICIDECHESS, GIVEAWAYCHESS, \ WILDCASTLECHESS, WILDCASTLESHUFFLECHESS, KINGOFTHEHILLCHESS, THREECHECKCHESS, HORDECHESS, \ RACINGKINGSCHESS, ASEANCHESS, MAKRUKCHESS, SITTUYINCHESS, CAMBODIANCHESS, AIWOKCHESS, \ EUROSHOGICHESS, SETUPCHESS, PLACEMENTCHESS = range(38) ASEAN_VARIANTS = (ASEANCHESS, MAKRUKCHESS, CAMBODIANCHESS, AIWOKCHESS, SITTUYINCHESS) DROP_VARIANTS = (BUGHOUSECHESS, CRAZYHOUSECHESS, EUROSHOGICHESS, SITTUYINCHESS, SETUPCHESS, PLACEMENTCHESS) UNSUPPORTED = (BUGHOUSECHESS, AIWOKCHESS, EUROSHOGICHESS, SETUPCHESS) # Chess variant groups VARIANTS_BLINDFOLD, VARIANTS_ODDS, VARIANTS_SHUFFLE, VARIANTS_OTHER, \ VARIANTS_OTHER_NONSTANDARD, VARIANTS_ASEAN = range(6) # Action errors ACTION_ERROR_NOT_OUT_OF_TIME, \ ACTION_ERROR_CLOCK_NOT_STARTED, ACTION_ERROR_SWITCH_UNDERWAY, \ ACTION_ERROR_CLOCK_NOT_PAUSED, ACTION_ERROR_TOO_LARGE_UNDO, \ ACTION_ERROR_NONE_TO_ACCEPT, ACTION_ERROR_NONE_TO_WITHDRAW, \ ACTION_ERROR_NONE_TO_DECLINE, = range(8) # Game state reasons ABORTED_ADJUDICATION, ABORTED_AGREEMENT, ABORTED_COURTESY, ABORTED_EARLY, \ ABORTED_SERVER_SHUTDOWN, ADJOURNED_COURTESY, ABORTED_DISCONNECTION, \ ADJOURNED_AGREEMENT, ADJOURNED_LOST_CONNECTION, ADJOURNED_SERVER_SHUTDOWN, \ ADJOURNED_COURTESY_WHITE, ADJOURNED_COURTESY_BLACK, \ ADJOURNED_LOST_CONNECTION_WHITE, ADJOURNED_LOST_CONNECTION_BLACK, \ DRAW_50MOVES, DRAW_ADJUDICATION, DRAW_AGREE, DRAW_CALLFLAG, DRAW_INSUFFICIENT, \ DRAW_EQUALMATERIAL, DRAW_LENGTH, DRAW_REPITITION, DRAW_STALEMATE, DRAW_KINGSINEIGHTROW, \ DRAW_BLACKINSUFFICIENTANDWHITETIME, DRAW_WHITEINSUFFICIENTANDBLACKTIME, \ WON_ADJUDICATION, WON_CALLFLAG, WON_DISCONNECTION, WON_MATE, WON_RESIGN, \ WON_LESSMATERIAL, WON_NOMATERIAL, WON_KINGEXPLODE, WON_KINGINCENTER, \ WON_THREECHECK, WON_KINGINEIGHTROW, WON_WIPEOUT, PRACTICE_GOAL_REACHED, \ WHITE_ENGINE_DIED, BLACK_ENGINE_DIED, DISCONNECTED, UNKNOWN_REASON = range(43) UNDOABLE_REASONS = (DRAW_50MOVES, DRAW_INSUFFICIENT, DRAW_LENGTH, DRAW_REPITITION, DRAW_STALEMATE, DRAW_AGREE, DRAW_CALLFLAG, DRAW_BLACKINSUFFICIENTANDWHITETIME, DRAW_WHITEINSUFFICIENTANDBLACKTIME, WON_MATE, WON_NOMATERIAL, WON_CALLFLAG, WON_RESIGN) UNRESUMEABLE_REASONS = (DRAW_50MOVES, DRAW_INSUFFICIENT, DRAW_LENGTH, DRAW_REPITITION, DRAW_STALEMATE, WON_MATE, WON_NOMATERIAL) ABORTED_REASONS = (ABORTED_ADJUDICATION, ABORTED_AGREEMENT, ABORTED_COURTESY, ABORTED_EARLY, ABORTED_SERVER_SHUTDOWN, ABORTED_DISCONNECTION) ADJOURNED_REASONS = (ADJOURNED_COURTESY, ADJOURNED_AGREEMENT, ADJOURNED_LOST_CONNECTION, ADJOURNED_SERVER_SHUTDOWN, ADJOURNED_COURTESY_WHITE, ADJOURNED_COURTESY_BLACK, ADJOURNED_LOST_CONNECTION_WHITE, ADJOURNED_LOST_CONNECTION_BLACK) # Player actions RESIGNATION = "resignation" FLAG_CALL = "flag call" DRAW_OFFER = "draw offer" ABORT_OFFER = "abort offer" ADJOURN_OFFER = "adjourn offer" PAUSE_OFFER = "pause offer" RESUME_OFFER = "resume offer" SWITCH_OFFER = "switch offer" TAKEBACK_OFFER = "takeback offer" MATCH_OFFER = "match offer" HURRY_ACTION = "hurry action" CHAT_ACTION = "chat action" ACTIONS = (RESIGNATION, FLAG_CALL, DRAW_OFFER, ABORT_OFFER, ADJOURN_OFFER, PAUSE_OFFER, RESUME_OFFER, SWITCH_OFFER, TAKEBACK_OFFER, MATCH_OFFER, HURRY_ACTION, CHAT_ACTION) OFFERS = (DRAW_OFFER, ABORT_OFFER, ADJOURN_OFFER, PAUSE_OFFER, RESUME_OFFER, SWITCH_OFFER, TAKEBACK_OFFER, MATCH_OFFER) INGAME_ACTIONS = (RESIGNATION, FLAG_CALL, DRAW_OFFER, ABORT_OFFER, ADJOURN_OFFER, PAUSE_OFFER, SWITCH_OFFER, HURRY_ACTION) # A few nice to have boards FEN_EMPTY = "4k3/8/8/8/8/8/8/4K3 w - - 0 1" FEN_START = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1" # Search values hashfALPHA, hashfBETA, hashfEXACT, hashfBAD = range(4) # Engine modes NORMAL, ANALYZING, INVERSE_ANALYZING = range(3) # Piece types # BPAWN is a pawn that moves in the opposite direction EMPTY, PAWN, KNIGHT, BISHOP, ROOK, QUEEN, KING, BPAWN, \ ASEAN_WBISHOP, ASEAN_BBISHOP, ASEAN_QUEEN = range(11) # Is sliding piece sliders = [False, False, False, True, True, True, False, False, False, False, False] # Piece signs reprSign = ["", "P", "N", "B", "R", "Q", "K"] reprSignMakruk = ["", "P", "N", "S", "R", "M", "K"] reprSignSittuyin = ["", "P", "N", "S", "R", "F", "K"] chr2Sign = {"k": KING, "q": QUEEN, "r": ROOK, "b": BISHOP, "n": KNIGHT, "p": PAWN, "m": QUEEN, "s": BISHOP, "f": QUEEN} chrU2Sign = {"K": KING, "Q": QUEEN, "R": ROOK, "B": BISHOP, "N": KNIGHT, "P": PAWN, "M": QUEEN, "S": BISHOP, "F": QUEEN} # Move values NORMAL_MOVE, QUEEN_CASTLE, KING_CASTLE, ENPASSANT, \ KNIGHT_PROMOTION, BISHOP_PROMOTION, ROOK_PROMOTION, \ QUEEN_PROMOTION, KING_PROMOTION, NULL_MOVE, DROP = range(11) PROMOTIONS = (KING_PROMOTION, QUEEN_PROMOTION, ROOK_PROMOTION, BISHOP_PROMOTION, KNIGHT_PROMOTION) # Algebraic notation types: Short, Long, Figure and Simpe SAN, LAN, FAN, AN = range(4) # Castling notation types: e.g., O-O, e1g1, e1h1 CASTLE_SAN, CASTLE_KK, CASTLE_KR = range(3) FAN_PIECES = [ ["", "♙", "♘", "♗", "♖", "♕", "♔", ""], ["", "♟", "♞", "♝", "♜", "♛", "♚", ""] ] # Castling values W_OO, W_OOO, B_OO, B_OOO = [2**i for i in range(4)] CAS_FLAGS = ((W_OOO, W_OO), (B_OOO, B_OO)) W_CASTLED, B_CASTLED = [2**i for i in range(2)] # Cords types A1, B1, C1, D1, E1, F1, G1, H1,\ A2, B2, C2, D2, E2, F2, G2, H2,\ A3, B3, C3, D3, E3, F3, G3, H3,\ A4, B4, C4, D4, E4, F4, G4, H4,\ A5, B5, C5, D5, E5, F5, G5, H5,\ A6, B6, C6, D6, E6, F6, G6, H6,\ A7, B7, C7, D7, E7, F7, G7, H7,\ A8, B8, C8, D8, E8, F8, G8, H8 = range(64) reprCord = [ "a1", "b1", "c1", "d1", "e1", "f1", "g1", "h1", "a2", "b2", "c2", "d2", "e2", "f2", "g2", "h2", "a3", "b3", "c3", "d3", "e3", "f3", "g3", "h3", "a4", "b4", "c4", "d4", "e4", "f4", "g4", "h4", "a5", "b5", "c5", "d5", "e5", "f5", "g5", "h5", "a6", "b6", "c6", "d6", "e6", "f6", "g6", "h6", "a7", "b7", "c7", "d7", "e7", "f7", "g7", "h7", "a8", "b8", "c8", "d8", "e8", "f8", "g8", "h8" ] reprFile = ["a", "b", "c", "d", "e", "f", "g", "h"] reprRank = ["1", "2", "3", "4", "5", "6", "7", "8"] cordDic = {} for cord, name in enumerate(reprCord): cordDic[name] = cord # User interface # pagination in database game list FIRST_PAGE = 0 PREV_PAGE = -1 NEXT_PAGE = 1 # Hint modes OPENING, ENDGAME, HINT, SPY = ["opening", "endgame", "hint", "spy"] # Sound settings SOUND_MUTE, SOUND_BEEP, SOUND_SELECT, SOUND_URI = range(4) COUNT_OF_SOUNDS = 13 # Brush types. Send piece object for Piece brush CLEAR, ENPAS = range(2) # Main menu items GAME_MENU_ITEMS = ("save_game1", "save_game_as1", "share_game", "export_position1", "analyze_game1", "properties1", "close1") ACTION_MENU_ITEMS = ("abort", "adjourn", "draw", "pause1", "resume1", "undo1", "call_flag", "resign", "ask_to_move") VIEW_MENU_ITEMS = ("rotate_board1", "show_sidepanels", "hint_mode", "spy_mode") EDIT_MENU_ITEMS = ("copy_pgn", "copy_fen", ) MENU_ITEMS = GAME_MENU_ITEMS + ACTION_MENU_ITEMS + VIEW_MENU_ITEMS + EDIT_MENU_ITEMS # Learn categories LECTURE, LESSON, PUZZLE, ENDGAME = range(4) pychess-1.0.0/lib/pychess/Utils/repr.py0000755000175000017500000001242013365545272017122 0ustar varunvarunimport builtins from .const import ADJOURNED_LOST_CONNECTION_BLACK, UNKNOWN_REASON, WON_LESSMATERIAL, \ KILLED, ADJOURNED_SERVER_SHUTDOWN, DRAW_EQUALMATERIAL, \ ABORTED_ADJUDICATION, DISCONNECTED, BLACKWON, WHITEWON, DRAW_CALLFLAG, WON_RESIGN, DRAW, \ WON_CALLFLAG, DRAW_WHITEINSUFFICIENTANDBLACKTIME, DRAW_LENGTH, WON_MATE, WON_KINGINEIGHTROW, \ DRAW_BLACKINSUFFICIENTANDWHITETIME, ADJOURNED_COURTESY_WHITE, WON_THREECHECK, WON_WIPEOUT, \ DRAW_AGREE, DRAW_INSUFFICIENT, DRAW_STALEMATE, DRAW_ADJUDICATION, UNKNOWN_STATE, \ ADJOURNED_LOST_CONNECTION, WON_NOMATERIAL, ADJOURNED, WON_DISCONNECTION, ABORTED, \ ADJOURNED_AGREEMENT, WON_KINGEXPLODE, WON_KINGINCENTER, ABORTED_SERVER_SHUTDOWN, \ ABORTED_AGREEMENT, WHITE_ENGINE_DIED, BLACK_ENGINE_DIED, WON_ADJUDICATION, \ ADJOURNED_COURTESY_BLACK, ADJOURNED_COURTESY, DRAW_REPITITION, ABORTED_COURTESY, \ DRAW_50MOVES, ADJOURNED_LOST_CONNECTION_WHITE, ABORTED_EARLY, ABORTED_DISCONNECTION, \ CANCELLED, PRACTICE_GOAL_REACHED, DRAW_KINGSINEIGHTROW if '_' not in builtins.__dict__: builtins.__dict__['_'] = lambda s: s builtins.__dict__[ 'ngettext'] = lambda singular, plural, n: singular if n == 1 else plural reprColor = [_("White"), _("Black")] reprPiece = ["Empty", _("Pawn"), _("Knight"), _("Bishop"), _("Rook"), _("Queen"), _("King"), "BPawn"] localReprSign = ["", _("P"), _("N"), _("B"), _("R"), _("Q"), _("K")] reprResult_long = { DRAW: _("The game ended in a draw"), WHITEWON: _("%(white)s won the game"), BLACKWON: _("%(black)s won the game"), KILLED: _("The game has been killed"), ADJOURNED: _("The game has been adjourned"), ABORTED: _("The game has been aborted"), UNKNOWN_STATE: _("Unknown game state"), CANCELLED: _("Game cancelled"), } reprReason_long = { DRAW_INSUFFICIENT: _("Because neither player has sufficient material to mate"), DRAW_REPITITION: _("Because the same position was repeated three times in a row"), DRAW_50MOVES: _("Because the last 50 moves brought nothing new"), DRAW_CALLFLAG: _("Because both players ran out of time"), DRAW_STALEMATE: _("Because %(mover)s stalemated"), DRAW_AGREE: _("Because both players agreed to a draw"), DRAW_ADJUDICATION: _("Because of adjudication by an admin"), DRAW_LENGTH: _("Because the game exceed the max length"), DRAW_BLACKINSUFFICIENTANDWHITETIME: _("Because %(white)s ran out of time and %(black)s has insufficient material to mate"), DRAW_WHITEINSUFFICIENTANDBLACKTIME: _("Because %(black)s ran out of time and %(white)s has insufficient material to mate"), DRAW_EQUALMATERIAL: _("Because both players have the same amount of pieces"), DRAW_KINGSINEIGHTROW: _("Because both king reached the eight row"), WON_RESIGN: _("Because %(loser)s resigned"), WON_CALLFLAG: _("Because %(loser)s ran out of time"), WON_MATE: _("Because %(loser)s was checkmated"), WON_DISCONNECTION: _("Because %(loser)s disconnected"), WON_ADJUDICATION: _("Because of adjudication by an admin"), WON_LESSMATERIAL: _("Because %(winner)s has fewer pieces"), WON_NOMATERIAL: _("Because %(winner)s lost all pieces"), WON_KINGEXPLODE: _("Because %(loser)s king exploded"), WON_KINGINCENTER: _("Because %(winner)s king reached the center"), WON_THREECHECK: _("Because %(winner)s was giving check 3 times"), WON_KINGINEIGHTROW: _("Because %(winner)s king reached the eight row"), WON_WIPEOUT: _("Because %(winner)s wiped out white horde"), ADJOURNED_LOST_CONNECTION: _("Because a player lost connection"), ADJOURNED_AGREEMENT: _("Because both players agreed to an adjournment"), ADJOURNED_SERVER_SHUTDOWN: _("Because the server was shut down"), ADJOURNED_COURTESY: _("Because a player lost connection and the other player requested adjournment"), ADJOURNED_COURTESY_WHITE: _("Because %(black)s lost connection to the server and %(white)s requested adjournment"), ADJOURNED_COURTESY_BLACK: _("Because %(white)s lost connection to the server and %(black)s requested adjournment"), ADJOURNED_LOST_CONNECTION_WHITE: _("Because %(white)s lost connection to the server"), ADJOURNED_LOST_CONNECTION_BLACK: _("Because %(black)s lost connection to the server"), ABORTED_ADJUDICATION: _("Because of adjudication by an admin. No rating changes have occurred."), ABORTED_AGREEMENT: _("Because both players agreed to abort the game. No rating changes have occurred."), ABORTED_COURTESY: _("Because of courtesy by a player. No rating changes have occurred."), ABORTED_EARLY: _("Because a player aborted the game. Either player can abort the game without \ the other's consent before the second move. No rating changes have occurred."), ABORTED_DISCONNECTION: _("Because a player disconnected and there are too few moves to warrant adjournment. No rating changes have occurred."), ABORTED_SERVER_SHUTDOWN: _("Because the server was shut down. No rating changes have occurred."), WHITE_ENGINE_DIED: _("Because the %(white)s engine died"), BLACK_ENGINE_DIED: _("Because the %(black)s engine died"), DISCONNECTED: _("Because the connection to the server was lost"), UNKNOWN_REASON: _("The reason is unknown"), PRACTICE_GOAL_REACHED: _("Because practice goal reached"), } pychess-1.0.0/lib/pychess/Utils/book.py0000755000175000017500000000473613365545272017117 0ustar varunvarun import os from struct import Struct from collections import namedtuple from pychess.System import conf from pychess.Utils.lutils.lmove import parsePolyglot from pychess.System.Log import log path = conf.get("opening_file_entry") if os.path.isfile(path): bookfile = True else: bookfile = False log.warning("Could not find %s" % path) # The book probing code is based on that of PolyGlot by Fabien Letouzey. # PolyGlot is available under the GNU GPL from http://wbec-ridderkerk.nl BookEntry = namedtuple('BookEntry', 'key move weight learn') # 'key' c_uint64 the position's hash # 'move' c_uint16 the candidate move # 'weight' c_uint16 proportional to prob. we should play it # The following terms are not always available: # 'learn' c_uint32 we use this NOT the polyglot way but as in # https://github.com/mcostalba/chess_db entrystruct = Struct(">QHHI") entrysize = entrystruct.size def getOpenings(board): """ Return a tuple (move, weight, learn) for each opening move in the given position. The weight is proportional to the probability that a move should be played. By convention, games is the number of times a move has been tried, and score the number of points it has scored (with 2 per victory and 1 per draw). However, opening books aren't required to keep this information. """ openings = [] if not bookfile: return openings with open(path, "rb") as bookFile: key = board.hash # Find the first entry whose key is >= the position's hash bookFile.seek(0, os.SEEK_END) low, high = 0, bookFile.tell() // 16 - 1 if high < 0: return openings while low < high: mid = (low + high) // 2 bookFile.seek(mid * 16) entry = bookFile.read(entrysize) if len(entry) != entrysize: return openings entry = BookEntry._make(entrystruct.unpack(entry)) if entry.key < key: low = mid + 1 else: high = mid bookFile.seek(low * 16) while True: entry = bookFile.read(entrysize) if len(entry) != entrysize: return openings entry = BookEntry._make(entrystruct.unpack(entry)) if entry.key != key: break move = parsePolyglot(board, entry.move) openings.append((move, entry.weight, entry.learn)) return openings pychess-1.0.0/lib/pychess/Utils/eval.py0000755000175000017500000005042713353143212017073 0ustar varunvarun# DEPRECATED # SHOULD ONLY BE USED AS A REFERENCE TO MAKE leval from array import array from pychess.Utils.const import PAWN, WHITE, KNIGHT, QUEEN, KING, BISHOP, ROOK, BLACK, \ B_OOO, B_OO, W_OO, W_OOO, DRAW, RUNNING, WHITEWON pieceValues = [0, 900, 500, 350, 300, 100] # these tables will be used for positional bonuses: # whiteknight = array('b', [ -20, -35, -10, -10, -10, -10, -35, -20, -10, 0, 0, 3, 3, 0, 0, -10, -10, 0, 15, 15, 15, 15, 0, -10, -10, 0, 20, 20, 20, 20, 0, -10, -10, 10, 25, 20, 25, 25, 10, -10, -10, 15, 25, 35, 35, 35, 15, -10, -10, 15, 25, 25, 25, 25, 15, -10, -20, -10, -10, -10, -10, -10, -10, -20 ]) blackknight = array('b', [ -20, -10, -10, -10, -10, -10, -10, -20, -10, 15, 25, 25, 25, 25, 15, -10, -10, 15, 25, 35, 35, 35, 15, -10, -10, 10, 25, 20, 25, 25, 10, -10, -10, 0, 20, 20, 20, 20, 0, -10, -10, 0, 15, 15, 15, 15, 0, -10, -10, 0, 0, 3, 3, 0, 0, -10, -20, -35, -10, -10, -10, -10, -35, -20 ]) whitepawn = array('b', [ 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 35, 5, 5, 50, 45, 30, 0, 0, 0, 7, 7, 5, 5, 0, 0, 0, 0, 14, 14, 0, 0, 0, 0, 0, 10, 20, 20, 10, 5, 5, 12, 18, 18, 27, 27, 18, 18, 18, 25, 30, 30, 35, 35, 35, 30, 25, 0, 0, 0, 0, 0, 0, 0, 0 ]) blackpawn = array('b', [ 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 35, 35, 35, 30, 25, 12, 18, 18, 27, 27, 18, 18, 18, 0, 0, 10, 20, 20, 10, 5, 5, 0, 0, 0, 14, 14, 0, 0, 0, 0, 0, 0, 7, 7, 5, 5, 0, 25, 25, 35, 5, 5, 50, 45, 30, 0, 0, 0, 0, 0, 0, 0, 0 ]) whiteking = array('h', [ -100, 15, 15, -20, 10, 4, 15, -100, -250, -200, -150, -100, -100, -150, -200, -250, -350, -300, -300, -250, -250, -300, -300, -350, -400, -400, -400, -350, -350, -400, -400, -400, -450, -450, -450, -450, -450, -450, -450, -450, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500 ]) blackking = array('h', [ -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -450, -450, -450, -450, -450, -450, -450, -450, -400, -400, -400, -350, -350, -400, -400, -400, -350, -300, -300, -250, -250, -300, -300, -350, -250, -200, -150, -100, -100, -150, -200, -250, -100, 7, 15, -20, 10, 4, 15, -100 ]) whitequeen = array('b', [ 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 7, 10, 5, 0, 0, -15, -15, -15, -10, -10, -15, -15, -15, -40, -40, -40, -40, -40, -40, -40, -40, -60, -40, -40, -60, -60, -40, -40, -60, -30, -30, -30, -30, -30, -30, -30, -30, 0, 0, 3, 3, 3, 3, 3, 0, 5, 5, 5, 10, 10, 7, 5, 5 ]) blackqueen = array('b', [ 5, 5, 5, 10, 10, 7, 5, 5, 0, 0, 3, 3, 3, 3, 3, 0, -30, -30, -30, -30, -30, -30, -30, -30, -60, -40, -40, -60, -60, -40, -40, -60, -40, -40, -40, -40, -40, -40, -40, -40, -15, -15, -15, -10, -10, -15, -15, -15, 0, 0, 0, 7, 10, 5, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0 ]) whiterook = array('b', [ 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 7, 10, 0, 0, 0, -15, -15, -15, -10, -10, -15, -15, -15, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -30, -30, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, 0, 10, 15, 20, 20, 15, 10, 0, 10, 15, 20, 25, 25, 20, 15, 10 ]) blackrook = array('b', [ 10, 15, 20, 25, 25, 20, 15, 10, 0, 10, 15, 20, 20, 15, 10, 0, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -30, -30, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -15, -15, -15, -10, -10, -15, -15, -15, 0, 0, 0, 7, 10, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2 ]) whitebishop = array('b', [ -5, -5, -10, -5, -5, -10, -5, -5, -5, 10, 5, 10, 10, 5, 10, -5, -5, 5, 6, 15, 15, 6, 5, -5, -5, 3, 15, 10, 10, 15, 3, -5, -5, 3, 15, 10, 10, 15, 3, -5, -5, 5, 6, 15, 15, 6, 5, -5, -5, 10, 5, 10, 10, 5, 10, -5, -5, -5, -10, -5, -5, -10, -5, -5 ]) blackbishop = array('b', [ -5, -5, -10, -5, -5, -10, -5, -5, -5, 10, 5, 10, 10, 5, 10, -5, -5, 5, 6, 15, 15, 6, 5, -5, -5, 3, 15, 10, 10, 15, 3, -5, -5, 3, 15, 10, 10, 15, 3, -5, -5, 5, 6, 15, 15, 6, 5, -5, -5, 10, 5, 10, 10, 5, 10, -5, -5, -5, -10, -5, -5, -10, -5, -5 ]) pos = { KNIGHT: { BLACK: array('b', [ -20, -10, -10, -10, -10, -10, -10, -20, -10, 15, 25, 25, 25, 25, 15, -10, -10, 15, 25, 35, 35, 35, 15, -10, -10, 10, 25, 20, 25, 25, 10, -10, -10, 0, 20, 20, 20, 20, 0, -10, -10, 0, 15, 15, 15, 15, 0, -10, -10, 0, 0, 3, 3, 0, 0, -10, -20, -35, -10, -10, -10, -10, -35, -20 ]), WHITE: array('b', [ -20, -35, -10, -10, -10, -10, -35, -20, -10, 0, 0, 3, 3, 0, 0, -10, -10, 0, 15, 15, 15, 15, 0, -10, -10, 0, 20, 20, 20, 20, 0, -10, -10, 10, 25, 20, 25, 25, 10, -10, -10, 15, 25, 35, 35, 35, 15, -10, -10, 15, 25, 25, 25, 25, 15, -10, -20, -10, -10, -10, -10, -10, -10, -20 ]) }, PAWN: { WHITE: array('b', [ 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 35, 5, 5, 50, 45, 30, 0, 0, 0, 7, 7, 5, 5, 0, 0, 0, 0, 14, 14, 0, 0, 0, 0, 0, 10, 20, 20, 10, 5, 5, 12, 18, 18, 27, 27, 18, 18, 18, 25, 30, 30, 35, 35, 35, 30, 25, 0, 0, 0, 0, 0, 0, 0, 0 ]), BLACK: array('b', [ 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 35, 35, 35, 30, 25, 12, 18, 18, 27, 27, 18, 18, 18, 0, 0, 10, 20, 20, 10, 5, 5, 0, 0, 0, 14, 14, 0, 0, 0, 0, 0, 0, 7, 7, 5, 5, 0, 25, 25, 35, 5, 5, 50, 45, 30, 0, 0, 0, 0, 0, 0, 0, 0 ]) }, KING: { WHITE: array('h', [ -100, 15, 15, -20, 10, 4, 15, -100, -250, -200, -150, -100, -100, -150, -200, -250, -350, -300, -300, -250, -250, -300, -300, -350, -400, -400, -400, -350, -350, -400, -400, -400, -450, -450, -450, -450, -450, -450, -450, -450, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500 ]), BLACK: array('h', [ -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -500, -450, -450, -450, -450, -450, -450, -450, -450, -400, -400, -400, -350, -350, -400, -400, -400, -350, -300, -300, -250, -250, -300, -300, -350, -250, -200, -150, -100, -100, -150, -200, -250, -100, 7, 15, -20, 10, 4, 15, -100 ]) }, QUEEN: { BLACK: array('b', [ 5, 5, 5, 10, 10, 7, 5, 5, 0, 0, 3, 3, 3, 3, 3, 0, -30, -30, -30, -30, -30, -30, -30, -30, -60, -40, -40, -60, -60, -40, -40, -60, -40, -40, -40, -40, -40, -40, -40, -40, -15, -15, -15, -10, -10, -15, -15, -15, 0, 0, 0, 7, 10, 5, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0 ]), WHITE: array('b', [ 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 7, 10, 5, 0, 0, -15, -15, -15, -10, -10, -15, -15, -15, -40, -40, -40, -40, -40, -40, -40, -40, -60, -40, -40, -60, -60, -40, -40, -60, -30, -30, -30, -30, -30, -30, -30, -30, 0, 0, 3, 3, 3, 3, 3, 0, 5, 5, 5, 10, 10, 7, 5, 5 ]) }, ROOK: { WHITE: array('b', [ 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 7, 10, 0, 0, 0, -15, -15, -15, -10, -10, -15, -15, -15, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -30, -30, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, 0, 10, 15, 20, 20, 15, 10, 0, 10, 15, 20, 25, 25, 20, 15, 10 ]), BLACK: array('b', [ 10, 15, 20, 25, 25, 20, 15, 10, 0, 10, 15, 20, 20, 15, 10, 0, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -30, -30, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -15, -15, -15, -10, -10, -15, -15, -15, 0, 0, 0, 7, 10, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2 ]) }, BISHOP: { WHITE: array('b', [ -5, -5, -10, -5, -5, -10, -5, -5, -5, 10, 5, 10, 10, 5, 10, -5, -5, 5, 6, 15, 15, 6, 5, -5, -5, 3, 15, 10, 10, 15, 3, -5, -5, 3, 15, 10, 10, 15, 3, -5, -5, 5, 6, 15, 15, 6, 5, -5, -5, 10, 5, 10, 10, 5, 10, -5, -5, -5, -10, -5, -5, -10, -5, -5 ]), BLACK: array('b', [ -5, -5, -10, -5, -5, -10, -5, -5, -5, 10, 5, 10, 10, 5, 10, -5, -5, 5, 6, 15, 15, 6, 5, -5, -5, 3, 15, 10, 10, 15, 3, -5, -5, 3, 15, 10, 10, 15, 3, -5, -5, 5, 6, 15, 15, 6, 5, -5, -5, 10, 5, 10, 10, 5, 10, -5, -5, -5, -10, -5, -5, -10, -5, -5 ]) } } endking = array('b', [ -5, -3, -1, 0, 0, -1, -3, -5, -3, 10, 10, 10, 10, 10, 10, -3, -1, 10, 25, 25, 25, 25, 10, -1, 0, 10, 25, 30, 30, 25, 10, 0, 0, 10, 25, 30, 30, 25, 10, 0, -1, 10, 25, 25, 25, 25, 10, -1, -3, 10, 10, 10, 10, 10, 10, -3, -5, -3, -1, 0, 0, -1, -3, -5 ]) # Init KingTropism table # Sjeng uses max instead of min.. tropismTable = [] for px in range(8): for py in range(8): for kx in range(8): for ky in range(8): knight = abs(ky - py) + abs(kx - px) rook = min(abs(ky - py), abs(kx - px)) * 2 + 5 queen = min(abs(ky - py), abs(kx - px)) + 5 tropismTable.append(knight + rook * 20 + queen * 20 * 20) tropismArray = array('I', tropismTable) def lookUpTropism(px, py, kx, ky, piece): value = tropismArray[ky + kx * 8 + py * 8 * 8 + px * 8 * 8 * 8] knight = value % 20 rook = (value - knight) / 20 % 20 queen = (value - knight - rook * 20) / 20 / 20 if piece == knight: return knight - 5 if piece == rook: return rook - 5 return queen - 5 def evaluateComplete(board, color=WHITE): """ A detailed evaluation function, taking into account several positional factors """ if board.status == RUNNING: analyzePawnStructure(board) status = evalMaterial(board) + \ evalPawnStructure(board) + \ evalBadBishops(board) + \ evalDevelopment(board) + \ evalCastling(board) + \ evalRookBonus(board) + \ evalKingTropism(board) elif board.status == DRAW: status = 0 elif board.status == WHITEWON: status = 9999 else: status = -9999 return (color == WHITE and [status] or [-status])[0] def evalMaterial(board): materialValue = [0, 0] numPawns = [0, 0] for row in board.data: for piece in row: if not piece: continue materialValue[piece.color] += pieceValues[piece.sign] if piece.sign == PAWN: numPawns[piece.color] += 1 # If both sides are equal, no need to compute anything! if materialValue[BLACK] == materialValue[WHITE]: return 0 matTotal = materialValue[BLACK] + materialValue[WHITE] # Who is leading the game, material-wise? if materialValue[BLACK] > materialValue[WHITE]: # Black leading matDiff = materialValue[BLACK] - materialValue[WHITE] val = min(2400, matDiff) + \ (matDiff * (12000 - matTotal) * numPawns[BLACK]) \ / (6400 * (numPawns[BLACK] + 1)) return -val else: # White leading matDiff = materialValue[WHITE] - materialValue[BLACK] val = min(2400, matDiff) + \ (matDiff * (12000 - matTotal) * numPawns[WHITE]) \ / (6400 * (numPawns[WHITE] + 1)) return val def evalKingTropism(board): """ All other things being equal, having your Knights, Queens and Rooks close to the opponent's king is a good thing """ score = 0 try: wking, bking = board.kings wky, wkx = wking.cords bky, bkx = bking.cords except AttributeError: return 0 for py, row in enumerate(board.data): for px, piece in enumerate(row): if piece and piece.color == WHITE: if piece.sign == KNIGHT: score += lookUpTropism(px, py, bkx, bky, KNIGHT) elif piece.sign == ROOK: score += lookUpTropism(px, py, bkx, bky, ROOK) elif piece.sign == QUEEN: score += lookUpTropism(px, py, bkx, bky, QUEEN) elif piece and piece.color == BLACK: if piece.sign == KNIGHT: score -= lookUpTropism(px, py, wkx, wky, KNIGHT) elif piece.sign == ROOK: score -= lookUpTropism(px, py, wkx, wky, ROOK) elif piece.sign == QUEEN: score -= lookUpTropism(px, py, wkx, wky, QUEEN) return score def evalRookBonus(board): """ Rooks are more effective on the seventh rank and on open files """ score = 0 for y_loc, row in enumerate(board.data): for x_loc, piece in enumerate(row): if not piece or not piece.sign == ROOK: continue if pieceCount <= 6: # We should try to keep the rooks at the back lines if y_loc in (0, 7): score += piece.color == WHITE and 12 or -12 # Is this rook on a semi- or completely open file? noblack = blackPawnFileBins[x_loc] == 0 and 1 or 0 nowhite = whitePawnFileBins[x_loc] == 0 and 1 or 0 if piece.color == WHITE: if noblack: score += (noblack + nowhite) * 6 else: score += nowhite * 8 else: if nowhite: score -= (noblack + nowhite) * 6 else: score -= nowhite * 8 return score def evalDevelopment(board): """ Mostly useful in the opening, this term encourages the machine to move its bishops and knights into play, to control the center with its queen's and king's pawns """ score = 0 # Test endgame if pieceCount <= 8: wking, bking = board.kings score += endking[wking.y * 8 + wking.x] score -= endking[bking.y * 8 + bking.x] return score for y_loc, row in enumerate(board.data): for x_loc, piece in enumerate(row): if not piece: continue # s = pos[piece.sign][piece.color][y*8+x] if piece.color == WHITE: if piece.sign == PAWN: score += whitepawn[x_loc + y_loc * 8] elif piece.sign == KNIGHT: score += whiteknight[x_loc + y_loc * 8] elif piece.sign == BISHOP: score += whitebishop[x_loc + y_loc * 8] elif piece.sign == ROOK: score += whiterook[x_loc + y_loc * 8] elif piece.sign == QUEEN: score += whitequeen[x_loc + y_loc * 8] elif piece.sign == KING: score += whiteking[x_loc + y_loc * 8] else: if piece.sign == PAWN: score -= blackpawn[x_loc + y_loc * 8] elif piece.sign == KNIGHT: score -= blackknight[x_loc + y_loc * 8] elif piece.sign == BISHOP: score -= blackbishop[x_loc + y_loc * 8] elif piece.sign == ROOK: score -= blackrook[x_loc + y_loc * 8] elif piece.sign == QUEEN: score -= blackqueen[x_loc + y_loc * 8] elif piece.sign == KING: score -= blackking[x_loc + y_loc * 8] return score def evalCastling(board): """ Used to encourage castling """ if pieceCount <= 6: return 0 score = 0 for color, mod in ((WHITE, 1), (BLACK, -1)): mainrow = board.data[int(3.5 - 3.5 * mod)] # It is good to have a pawn in the king column for x_loc, piece in enumerate(mainrow): if piece and piece.sign == KING and piece.color == color: bin = color == WHITE and whitePawnFileBins or blackPawnFileBins if not bin[x_loc]: score -= 10 * mod break kside = color == BLACK and B_OO or W_OO qside = color == BLACK and B_OOO or W_OOO # Being castled deserves a bonus if board.hasCastled[color]: score += 15 * mod continue # Biggest penalty if you can't castle at all if not board.castling & (qside | kside): score -= 60 * mod # Penalty if you can only castle kingside elif not board.castling & qside: score -= 30 * mod # Bigger penalty if you can only castle queenside elif not board.castling & kside: score -= 45 * mod return score def evalBadBishops(board): """ Bishops may be limited in their movement if there are too many pawns on squares of their color """ score = 0 for y_loc, row in enumerate(board.data): for x_loc, piece in enumerate(row): if not piece or not piece.sign == BISHOP: continue mod = piece.color == WHITE and 1 or -1 # What is the bishop's square color? lightsq = x_loc % 2 + y_loc % 2 == 1 if lightsq: score -= pawnColorBins[0] * 7 * mod else: score -= pawnColorBins[1] * 7 * mod return score def evalPawnStructure(board): """ Given the pawn formations, penalize or bonify the position according to the features it contains """ score = 0 for x_loc in range(8): # First, look for doubled pawns # In chess, two or more pawns on the same file usually hinder each other, # so we assign a penalty if whitePawnFileBins[x_loc] > 1: score -= 10 if blackPawnFileBins[x_loc] > 1: score += 10 # Now, look for an isolated pawn, i.e., one which has no neighbor pawns # capable of protecting it from attack at some point in the future if x_loc == 0 and whitePawnFileBins[x_loc] > 0 and whitePawnFileBins[1] == 0: score -= 15 elif x_loc == 7 and whitePawnFileBins[x_loc] > 0 and whitePawnFileBins[6] == 0: score -= 15 elif whitePawnFileBins[x_loc] > 0 and whitePawnFileBins[x_loc - 1] == 0 and \ whitePawnFileBins[x_loc + 1] == 0: score -= 15 if x_loc == 0 and blackPawnFileBins[x_loc] > 0 and blackPawnFileBins[1] == 0: score += 15 elif x_loc == 7 and blackPawnFileBins[x_loc] > 0 and blackPawnFileBins[6] == 0: score += 15 elif blackPawnFileBins[x_loc] > 0 and blackPawnFileBins[x_loc - 1] == 0 and \ blackPawnFileBins[x_loc + 1] == 0: score += 15 # Penalize pawn rams, because they restrict movement score -= 8 * pawnRams return score whitePawnFileBins = [0] * 8 pawnColorBins = [0] * 2 pawnRams = 0 blackPawnFileBins = [0] * 8 def analyzePawnStructure(board): """ Look at pawn positions to be able to detect features such as doubled, isolated or passed pawns """ global whitePawnFileBins, blackPawnFileBins, pawnColorBins, pawnRams whitePawnFileBins = [0] * 8 blackPawnFileBins = [0] * 8 pawnColorBins[0] = 0 pawnColorBins[1] = 0 # Whiterams-Blackrams pawnRams = 0 global pieceCount pieceCount = 0 data = board.data for y, row in enumerate(data[::-1]): for x, piece in enumerate(row): if not piece: continue if piece.sign == PAWN and y not in (0, 7): if piece.color == WHITE: whitePawnFileBins[x] += 1 else: blackPawnFileBins[x] += 1 # Is this pawn on a white or a black square? if y % 2 == x % 2: pawnColorBins[0] += 1 else: pawnColorBins[1] += 1 # Look for a "pawn ram", i.e., a situation where a black pawn # is located in the square immediately ahead of this one. if piece.color == WHITE: ahead = data[y + 1][x] else: ahead = data[y - 1][x] if ahead and ahead.sign == PAWN and ahead.color == piece.color: if piece.color == WHITE: pawnRams += 1 else: pawnRams -= 1 elif piece: pieceCount += 1 pychess-1.0.0/lib/pychess/Utils/isoCountries.py0000644000175000017500000002355013365545272020643 0ustar varunvarun# -*- coding: UTF-8 -*- from collections import namedtuple # https://www.iso.org/obp/ui/#iso:pub:PUB500001:en ISO3166 = namedtuple('ISO3166', 'iso2, country') ISO3166_LIST = [ ISO3166("unknown", _("Unknown")), # Specific to pyChess: ISO3166("C", _("Computer")), ISO3166("ad", _("Andorra")), ISO3166("ae", _("United Arab Emirates")), ISO3166("af", _("Afghanistan")), ISO3166("ag", _("Antigua and Barbuda")), ISO3166("ai", _("Anguilla")), ISO3166("al", _("Albania")), ISO3166("am", _("Armenia")), # Discontinued: ISO3166("an", _("Netherlands Antilles")), ISO3166("ao", _("Angola")), ISO3166("aq", _("Antarctica")), ISO3166("ar", _("Argentina")), ISO3166("as", _("American Samoa")), ISO3166("at", _("Austria")), ISO3166("au", _("Australia")), ISO3166("aw", _("Aruba")), ISO3166("ax", _("Åland Islands")), ISO3166("az", _("Azerbaijan")), ISO3166("ba", _("Bosnia and Herzegovina")), ISO3166("bb", _("Barbados")), ISO3166("bd", _("Bangladesh")), ISO3166("be", _("Belgium")), ISO3166("bf", _("Burkina Faso")), ISO3166("bg", _("Bulgaria")), ISO3166("bh", _("Bahrain")), ISO3166("bi", _("Burundi")), ISO3166("bj", _("Benin")), ISO3166("bl", _("Saint Barthélemy")), ISO3166("bm", _("Bermuda")), ISO3166("bn", _("Brunei Darussalam")), ISO3166("bo", _("Bolivia (Plurinational State of)")), ISO3166("bq", _("Bonaire, Sint Eustatius and Saba")), ISO3166("br", _("Brazil")), ISO3166("bs", _("Bahamas")), ISO3166("bt", _("Bhutan")), ISO3166("bv", _("Bouvet Island")), ISO3166("bw", _("Botswana")), ISO3166("by", _("Belarus")), ISO3166("bz", _("Belize")), ISO3166("ca", _("Canada")), ISO3166("cc", _("Cocos (Keeling) Islands")), ISO3166("cd", _("Congo (the Democratic Republic of the)")), ISO3166("cf", _("Central African Republic")), ISO3166("cg", _("Congo")), ISO3166("ch", _("Switzerland")), ISO3166("ci", _("Côte d'Ivoire")), ISO3166("ck", _("Cook Islands")), ISO3166("cl", _("Chile")), ISO3166("cm", _("Cameroon")), ISO3166("cn", _("China")), ISO3166("co", _("Colombia")), ISO3166("cr", _("Costa Rica")), ISO3166("cu", _("Cuba")), ISO3166("cv", _("Cabo Verde")), ISO3166("cw", _("Curaçao")), ISO3166("cx", _("Christmas Island")), ISO3166("cy", _("Cyprus")), ISO3166("cz", _("Czechia")), ISO3166("de", _("Germany")), ISO3166("dj", _("Djibouti")), ISO3166("dk", _("Denmark")), ISO3166("dm", _("Dominica")), ISO3166("do", _("Dominican Republic")), ISO3166("dz", _("Algeria")), ISO3166("ec", _("Ecuador")), ISO3166("ee", _("Estonia")), ISO3166("eg", _("Egypt")), ISO3166("eh", _("Western Sahara")), ISO3166("er", _("Eritrea")), ISO3166("es", _("Spain")), ISO3166("et", _("Ethiopia")), ISO3166("fi", _("Finland")), ISO3166("fj", _("Fiji")), ISO3166("fk", _("Falkland Islands [Malvinas]")), ISO3166("fm", _("Micronesia (Federated States of)")), ISO3166("fo", _("Faroe Islands")), ISO3166("fr", _("France")), ISO3166("ga", _("Gabon")), ISO3166("gb", _("United Kingdom of Great Britain and Northern Ireland")), ISO3166("gd", _("Grenada")), ISO3166("ge", _("Georgia")), ISO3166("gf", _("French Guiana")), ISO3166("gg", _("Guernsey")), ISO3166("gh", _("Ghana")), ISO3166("gi", _("Gibraltar")), ISO3166("gl", _("Greenland")), ISO3166("gm", _("Gambia")), ISO3166("gn", _("Guinea")), ISO3166("gp", _("Guadeloupe")), ISO3166("gq", _("Equatorial Guinea")), ISO3166("gr", _("Greece")), ISO3166("gs", _("South Georgia and the South Sandwich Islands")), ISO3166("gt", _("Guatemala")), ISO3166("gu", _("Guam")), ISO3166("gw", _("Guinea-Bissau")), ISO3166("gy", _("Guyana")), ISO3166("hk", _("Hong Kong")), ISO3166("hm", _("Heard Island and McDonald Islands")), ISO3166("hn", _("Honduras")), ISO3166("hr", _("Croatia")), ISO3166("ht", _("Haiti")), ISO3166("hu", _("Hungary")), ISO3166("id", _("Indonesia")), ISO3166("ie", _("Ireland")), ISO3166("il", _("Israel")), ISO3166("im", _("Isle of Man")), ISO3166("in", _("India")), ISO3166("io", _("British Indian Ocean Territory")), ISO3166("iq", _("Iraq")), ISO3166("ir", _("Iran (Islamic Republic of)")), ISO3166("is", _("Iceland")), ISO3166("it", _("Italy")), ISO3166("je", _("Jersey")), ISO3166("jm", _("Jamaica")), ISO3166("jo", _("Jordan")), ISO3166("jp", _("Japan")), ISO3166("ke", _("Kenya")), ISO3166("kg", _("Kyrgyzstan")), ISO3166("kh", _("Cambodia")), ISO3166("ki", _("Kiribati")), ISO3166("km", _("Comoros")), ISO3166("kn", _("Saint Kitts and Nevis")), ISO3166("kp", _("Korea (the Democratic People's Republic of)")), ISO3166("kr", _("Korea (the Republic of)")), ISO3166("kw", _("Kuwait")), ISO3166("ky", _("Cayman Islands")), ISO3166("kz", _("Kazakhstan")), ISO3166("la", _("Lao People's Democratic Republic")), ISO3166("lb", _("Lebanon")), ISO3166("lc", _("Saint Lucia")), ISO3166("li", _("Liechtenstein")), ISO3166("lk", _("Sri Lanka")), ISO3166("lr", _("Liberia")), ISO3166("ls", _("Lesotho")), ISO3166("lt", _("Lithuania")), ISO3166("lu", _("Luxembourg")), ISO3166("lv", _("Latvia")), ISO3166("ly", _("Libya")), ISO3166("ma", _("Morocco")), ISO3166("mc", _("Monaco")), ISO3166("md", _("Moldova (the Republic of)")), ISO3166("me", _("Montenegro")), ISO3166("mf", _("Saint Martin (French part)")), ISO3166("mg", _("Madagascar")), ISO3166("mh", _("Marshall Islands")), ISO3166("mk", _("Macedonia (the former Yugoslav Republic of)")), ISO3166("ml", _("Mali")), ISO3166("mm", _("Myanmar")), ISO3166("mn", _("Mongolia")), ISO3166("mo", _("Macao")), ISO3166("mp", _("Northern Mariana Islands")), ISO3166("mq", _("Martinique")), ISO3166("mr", _("Mauritania")), ISO3166("ms", _("Montserrat")), ISO3166("mt", _("Malta")), ISO3166("mu", _("Mauritius")), ISO3166("mv", _("Maldives")), ISO3166("mw", _("Malawi")), ISO3166("mx", _("Mexico")), ISO3166("my", _("Malaysia")), ISO3166("mz", _("Mozambique")), ISO3166("na", _("Namibia")), ISO3166("nc", _("New Caledonia")), ISO3166("ne", _("Niger")), ISO3166("nf", _("Norfolk Island")), ISO3166("ng", _("Nigeria")), ISO3166("ni", _("Nicaragua")), ISO3166("nl", _("Netherlands")), ISO3166("no", _("Norway")), ISO3166("np", _("Nepal")), ISO3166("nr", _("Nauru")), ISO3166("nu", _("Niue")), ISO3166("nz", _("New Zealand")), ISO3166("om", _("Oman")), ISO3166("pa", _("Panama")), ISO3166("pe", _("Peru")), ISO3166("pf", _("French Polynesia")), ISO3166("pg", _("Papua New Guinea")), ISO3166("ph", _("Philippines")), ISO3166("pk", _("Pakistan")), ISO3166("pl", _("Poland")), ISO3166("pm", _("Saint Pierre and Miquelon")), ISO3166("pn", _("Pitcairn")), ISO3166("pr", _("Puerto Rico")), ISO3166("ps", _("Palestine, State of")), ISO3166("pt", _("Portugal")), ISO3166("pw", _("Palau")), ISO3166("py", _("Paraguay")), ISO3166("qa", _("Qatar")), ISO3166("re", _("Réunion")), ISO3166("ro", _("Romania")), ISO3166("rs", _("Serbia")), ISO3166("ru", _("Russian Federation")), ISO3166("rw", _("Rwanda")), ISO3166("sa", _("Saudi Arabia")), ISO3166("sb", _("Solomon Islands")), ISO3166("sc", _("Seychelles")), ISO3166("sd", _("Sudan")), ISO3166("se", _("Sweden")), ISO3166("sg", _("Singapore")), ISO3166("sh", _("Saint Helena, Ascension and Tristan da Cunha")), ISO3166("si", _("Slovenia")), ISO3166("sj", _("Svalbard and Jan Mayen")), ISO3166("sk", _("Slovakia")), ISO3166("sl", _("Sierra Leone")), ISO3166("sm", _("San Marino")), ISO3166("sn", _("Senegal")), ISO3166("so", _("Somalia")), ISO3166("sr", _("Suriname")), ISO3166("ss", _("South Sudan")), ISO3166("st", _("Sao Tome and Principe")), ISO3166("sv", _("El Salvador")), ISO3166("sx", _("Sint Maarten (Dutch part)")), ISO3166("sy", _("Syrian Arab Republic")), ISO3166("sz", _("Swaziland")), ISO3166("tc", _("Turks and Caicos Islands")), ISO3166("td", _("Chad")), ISO3166("tf", _("French Southern Territories")), ISO3166("tg", _("Togo")), ISO3166("th", _("Thailand")), ISO3166("tj", _("Tajikistan")), ISO3166("tk", _("Tokelau")), ISO3166("tl", _("Timor-Leste")), ISO3166("tm", _("Turkmenistan")), ISO3166("tn", _("Tunisia")), ISO3166("to", _("Tonga")), # Discontinued: ISO3166("tp", _("East Timor")), ISO3166("tr", _("Turkey")), ISO3166("tt", _("Trinidad and Tobago")), ISO3166("tv", _("Tuvalu")), ISO3166("tw", _("Taiwan (Province of China)")), ISO3166("tz", _("Tanzania, United Republic of")), ISO3166("ua", _("Ukraine")), ISO3166("ug", _("Uganda")), ISO3166("um", _("United States Minor Outlying Islands")), ISO3166("us", _("United States of America")), ISO3166("uy", _("Uruguay")), ISO3166("uz", _("Uzbekistan")), ISO3166("va", _("Holy See")), ISO3166("vc", _("Saint Vincent and the Grenadines")), ISO3166("ve", _("Venezuela (Bolivarian Republic of)")), ISO3166("vg", _("Virgin Islands (British)")), ISO3166("vi", _("Virgin Islands (U.S.)")), ISO3166("vn", _("Viet Nam")), ISO3166("vu", _("Vanuatu")), ISO3166("wf", _("Wallis and Futuna")), ISO3166("ws", _("Samoa")), ISO3166("ye", _("Yemen")), ISO3166("yt", _("Mayotte")), # Discontinued: ISO3166("yu", _("Yugoslavia")), ISO3166("za", _("South Africa")), ISO3166("zm", _("Zambia")), ISO3166("zw", _("Zimbabwe")) ] # Bubble sort for the translated countries for i in range(len(ISO3166_LIST) - 1, 1, - 1): for j in range(1, i - 1): if ISO3166_LIST[i].country < ISO3166_LIST[j].country: tmp = ISO3166_LIST[i] ISO3166_LIST[i] = ISO3166_LIST[j] ISO3166_LIST[j] = tmp pychess-1.0.0/lib/pychess/Utils/Cord.py0000755000175000017500000000470713365545272017052 0ustar varunvarunfrom .lutils.lmove import FILE, RANK def cmp(x, y): return (x > y) - (x < y) class CordFormatException(Exception): pass class Cord: def __init__(self, var1, var2=None, color=None): """ Inits a new highlevel cord object. The cord B3 can be inited in the folowing ways: Cord(17), Cord("b3"), Cord(1,2), Cord("b",3) color can be one of "R", "G", "B", "Y" """ self.color = color if var2 is None: if isinstance(var1, int): # We assume the format Cord(17) self.x = FILE(var1) self.y = RANK(var1) else: # We assume the format Cord("b3") self.x = self.charToInt(var1[0]) self.y = int(var1[1]) - 1 else: if isinstance(var1, str): # We assume the format Cord("b",3) self.x = self.charToInt(var1) self.y = var2 - 1 else: # We assume the format Cord(1,2) self.x = var1 self.y = var2 def _get_cord(self): return self.y * 8 + self.x cord = property(_get_cord) def _get_cx(self): return self.intToChar(self.x) cx = property(_get_cx) def _get_cy(self): return str(self.y + 1) cy = property(_get_cy) def intToChar(self, x): # assert 0 <= x <= 7 return chr(x + ord('a')) def charToInt(self, char): ord_char = ord(char) if ord('A') <= ord_char <= ord('H'): ord_char -= ord('A') elif ord('a') <= ord_char <= ord('h'): ord_char -= ord('a') else: raise CordFormatException("x < 0 || x > 7 (%s, %d)" % (char, ord_char)) return ord_char def _set_cords(self, x_y): self.x, self.y = x_y def _get_cords(self): return (self.x, self.y) cords = property(_get_cords, _set_cords) def __cmp__(self, other): if other is None: return 1 if cmp(self.x, other.x): return cmp(self.x, other.x) if cmp(self.y, other.y): return cmp(self.y, other.y) return 0 def __eq__(self, other): return other is not None and other.x == self.x and other.y == self.y def __ne__(self, other): return not self.__eq__(other) def __repr__(self): return self.cx + self.cy def __hash__(self): return self.x * 8 + self.y pychess-1.0.0/lib/pychess/Utils/Offer.py0000755000175000017500000000201413353143212017172 0ustar varunvarunfrom pychess.Utils.const import ACTIONS def cmp(x, y): return (x > y) - (x < y) class Offer: def __init__(self, type_, param=None, index=None): assert type_ in ACTIONS, "Offer.__init__(): type not in ACTIONS: %s" % repr( type_) assert index is None or isinstance(index, int), \ "Offer.__init__(): index not int: %s" % repr(index) self.type = type_ self.param = param self.index = index # for IC games def __hash__(self): return hash((self.type, self.param, self.index)) def __cmp__(self, other): assert isinstance( other, type(self)), "Offer.__cmp__(): not of type Offer: %s" % repr(other) return cmp(hash(self), hash(other)) def __repr__(self): text = "type=\"%s\"" % self.type if self.param is not None: text += ", param=%s" % str(self.param) if self.index is not None: text += ", index=%s" % str(self.index) return "Offer(" + text + ")" pychess-1.0.0/lib/pychess/Utils/Board.py0000755000175000017500000004316413370275211017177 0ustar varunvarun from .lutils.bitboard import iterBits from .lutils.LBoard import LBoard from .lutils.lmove import RANK, FILE, FCORD, FLAG, PROMOTE_PIECE from .Piece import Piece from .Cord import Cord from .const import A1, A8, B1, B8, C1, C8, D1, D8, E1, E8, F1, F8, G1, G8, H1, H8, \ BISHOP, ROOK, ROOK_PROMOTION, QUEEN_PROMOTION, KNIGHT_PROMOTION, BLACK, FEN_START, \ WHITE, NORMALCHESS, PAWN, BISHOP_PROMOTION, KNIGHT, QUEEN, KING, DROP_VARIANTS, NULL_MOVE, \ DROP, ATOMICCHESS, ENPASSANT, FISCHERRANDOMCHESS, QUEEN_CASTLE, CRAZYHOUSECHESS, KING_CASTLE, \ WILDCASTLECHESS, PROMOTIONS, WILDCASTLESHUFFLECHESS, SITTUYINCHESS, FAN_PIECES def reverse_enum(L): for index in reversed(range(len(L))): yield index, L[index] class Board: """ Board is a thin layer above LBoard, adding the Piece objects, which are needed for animation in BoardView. In contrast to LBoard, Board is immutable, which means it will clone itself each time you apply a move to it. Caveat: As the only objects, the Piece objects in the self.data lists will not be cloned, to make animation state preserve between moves """ variant = NORMALCHESS RANKS = 8 FILES = 8 HOLDING_FILES = ((FILES + 3, FILES + 2, FILES + 1), (-4, -3, -2)) PROMOTION_ZONE = ((A8, B8, C8, D8, E8, F8, G8, H8), (A1, B1, C1, D1, E1, F1, G1, H1)) PROMOTIONS = (QUEEN_PROMOTION, ROOK_PROMOTION, BISHOP_PROMOTION, KNIGHT_PROMOTION) def __init__(self, setup=False, lboard=None): self.data = [dict(enumerate([None] * self.FILES)) for i in range(self.RANKS)] if lboard is None: self.board = LBoard(self.variant) else: self.board = lboard self.board.pieceBoard = self # Set True in interactive lesson games after they happened self.played = False if setup: if lboard is None: if setup is True: self.board.applyFen(FEN_START) elif isinstance(setup, str): self.board.applyFen(setup) for color in (BLACK, WHITE): pieces = self.board.boards[color] for piece in (PAWN, KNIGHT, BISHOP, ROOK, QUEEN, KING): for cord in iterBits(pieces[piece]): self.data[RANK(cord)][FILE(cord)] = Piece(color, piece) if self.variant in DROP_VARIANTS: for color in (BLACK, WHITE): holding = self.board.holding[color] for piece in holding: for i in range(holding[piece]): self[self.newHoldingCord(color, 1)] = Piece(color, piece) def getHoldingCord(self, color, piece): """Get the chord of first occurrence of piece in given color holding""" enum = reverse_enum if color == WHITE else enumerate for x_loc in self.HOLDING_FILES[color]: for y_loc, row in enum(self.data): if (row.get(x_loc) is not None) and row.get(x_loc).piece == piece: return Cord(x_loc, y_loc) def newHoldingCord(self, color, nth=1): """Find the nth empty slot in given color holding. In atomic explosions nth can be > 1. """ enum = reverse_enum if color == BLACK else enumerate empty = 0 for x_loc in reversed(self.HOLDING_FILES[color]): for y_loc, row in enum(self.data): if row.get(x_loc) is None: empty += 1 if empty == nth: return Cord(x_loc, y_loc) def getHoldingPieces(self, color): """Get the list of pieces from given color holding""" pieces = [] for x_loc in self.HOLDING_FILES[color]: for row in self.data: if row.get(x_loc) is not None: pieces.append(row.get(x_loc)) return pieces def popPieceFromHolding(self, color, piece): """Remove and return a piece in given color holding""" for x_loc in self.HOLDING_FILES[color]: for row in self.data: if (row.get(x_loc) is not None) and row.get(x_loc).piece == piece: piece = row.get(x_loc) del row[x_loc] return piece return None def reorderHolding(self, color): """Reorder captured pieces by their value""" pieces = [] for piece in (PAWN, KNIGHT, BISHOP, ROOK, QUEEN, KING): while True: col_piece = self.popPieceFromHolding(color, piece) if col_piece is not None: pieces.append(col_piece) else: break for piece in pieces: self[self.newHoldingCord(color, 1)] = piece def simulateMove(self, board1, move): moved = [] new = [] dead = [] if move.flag == NULL_MOVE: return moved, new, dead cord0, cord1 = move.cords if cord0 == cord1 and self.variant == SITTUYINCHESS: return moved, new, dead if move.flag == DROP: piece = FCORD(move.move) cord0 = self.getHoldingCord(self.color, piece) moved.append((self[cord0], cord0)) # add all captured pieces to "new" list to enforce repainting them after a possible reordering new = board1.getHoldingPieces(self.color) dead = new return moved, new, dead if self.variant == ATOMICCHESS and (self[cord1] or move.flag == ENPASSANT): # Sequence nubers of next newHoldingCord of WHITE and BLACK nth = [0, 0] piece = self[cord0] nth[1 - piece.color] += 1 cord = self.newHoldingCord(1 - piece.color, nth[1 - piece.color]) moved.append((board1[cord], cord0)) new.append(board1[cord]) else: if move.flag in PROMOTIONS: dead.append(self[cord0]) else: moved.append((self[cord0], cord0)) if self[cord1] and not (self.variant == FISCHERRANDOMCHESS and move.flag in (QUEEN_CASTLE, KING_CASTLE)): piece = PAWN if self.variant == CRAZYHOUSECHESS and self[ cord1].promoted else self[cord1].piece cord = board1.getHoldingCord(self.color, piece) moved.append((board1[cord], cord1)) # add all captured pieces to "new" list to enforce repainting them after a possible reordering new = board1.getHoldingPieces(self.color) if self.variant == ATOMICCHESS: nth[self.color] += 1 from pychess.Variants.atomic import cordsAround for acord in cordsAround(cord1): piece = self[acord] if piece and piece.piece != PAWN and acord != cord0: nth[1 - piece.color] += 1 cord = self.newHoldingCord(1 - piece.color, nth[1 - piece.color]) moved.append((board1[cord], acord)) new.append(board1[cord]) if move.flag in (QUEEN_CASTLE, KING_CASTLE): side = move.flag - QUEEN_CASTLE if FILE(cord0.x) == 3 and self.board.variant in ( WILDCASTLECHESS, WILDCASTLESHUFFLECHESS): side = 0 if side == 1 else 1 rook = self.board.ini_rooks[self.color][side] moved.append((self[Cord(rook)], Cord(rook))) elif move.flag in PROMOTIONS: newPiece = board1[cord1] moved.append((newPiece, cord0)) new.append(newPiece) elif move.flag == ENPASSANT: shift = -1 if self.color == WHITE else 1 ep_cord = Cord(cord1.x, cord1.y + shift) moved.append((self[ep_cord], ep_cord)) # add all captured pieces to "new" list to enforce repainting them after a possible reordering new = board1.getHoldingPieces(self.color) return moved, new, dead def simulateUnmove(self, board1, move): moved = [] new = [] dead = [] if move.flag == NULL_MOVE: return moved, new, dead cord0, cord1 = move.cords if cord0 == cord1 and self.variant == SITTUYINCHESS: return moved, new, dead if self.variant == ATOMICCHESS and (board1[cord1] or move.flag == ENPASSANT): piece = board1[cord0].piece cord = self.getHoldingCord(self.color, piece) moved.append((self[cord], cord)) self[cord].opacity = 1 dead.append(self[cord]) elif not (self.variant == FISCHERRANDOMCHESS and move.flag in (QUEEN_CASTLE, KING_CASTLE)): moved.append((self[cord1], cord1)) if board1[cord1] and not (self.variant == FISCHERRANDOMCHESS and move.flag in (QUEEN_CASTLE, KING_CASTLE)): piece = PAWN if self.variant == CRAZYHOUSECHESS and board1[ cord1].promoted else board1[cord1].piece cord = self.getHoldingCord(1 - self.color, piece) moved.append((self[cord], cord)) self[cord].opacity = 1 # add all captured pieces to "new" list to enforce repainting them after a possible reordering new = self.getHoldingPieces(self.color) dead.append(self[cord]) if self.variant == ATOMICCHESS: from pychess.Variants.atomic import cordsAround for acord in cordsAround(cord1): piece = board1[acord] if piece and piece.piece != PAWN and acord != cord0: piece.opacity = 0 cord = self.getHoldingCord(1 - piece.color, piece.piece) moved.append((self[cord], cord)) self[cord].opacity = 1 dead.append(self[cord]) if move.flag in (QUEEN_CASTLE, KING_CASTLE): side = move.flag - QUEEN_CASTLE if FILE(cord0.x) == 3 and self.board.variant in ( WILDCASTLECHESS, WILDCASTLESHUFFLECHESS): side = 0 if side == 1 else 1 rook = self.board.fin_rooks[board1.color][side] moved.append((self[Cord(rook)], Cord(rook))) elif move.flag in PROMOTIONS: newPiece = board1[cord0] moved.append((newPiece, cord1)) new.append(newPiece) elif move.flag == ENPASSANT: cord = self.getHoldingCord(1 - self.color, PAWN) moved.append((self[cord], cord)) self[cord].opacity = 1 # add all captured pieces to "new" list to enforce repainting them after a possible reordering new = self.getHoldingPieces(self.color) dead.append(self[cord]) return moved, new, dead def move(self, move, lboard=None): """ Creates a new Board object cloning itself then applying the move.move to the clone Board's lboard. If lboard param was given, it will be used when cloning, and move will not be applyed, just the high level Piece objects will be adjusted.""" # Sequence nubers of next newHoldingCord of WHITE and BLACK nth = [0, 0] flag = FLAG(move.move) if flag != DROP: assert self[move.cord0], "%s %s" % (move, self.asFen()) newBoard = self.clone(lboard=lboard) if lboard is None: newBoard.board.applyMove(move.move) cord0, cord1 = move.cords if (self[move.cord1] is not None or flag == ENPASSANT) and \ not (cord0 == cord1 and self.variant == SITTUYINCHESS) and \ not (flag in (QUEEN_CASTLE, KING_CASTLE)): if self.variant == CRAZYHOUSECHESS: piece = PAWN if flag == ENPASSANT or self[ move.cord1].promoted else self[move.cord1].piece new_piece = Piece(self.color, piece, captured=True) else: piece = PAWN if flag == ENPASSANT else self[move.cord1].piece new_piece = Piece(1 - self.color, piece, captured=True) nth[self.color] += 1 newBoard[self.newHoldingCord(self.color, nth[ self.color])] = new_piece if self.variant == ATOMICCHESS: from pychess.Variants.atomic import cordsAround for acord in cordsAround(move.cord1): piece = self[acord] if piece and piece.piece != PAWN and acord != cord0: new_piece = Piece(piece.color, piece.piece, captured=True) nth[1 - piece.color] += 1 newBoard[self.newHoldingCord(1 - piece.color, nth[ 1 - piece.color])] = new_piece newBoard[acord] = None if flag == DROP: piece = FCORD(move.move) holding_coord = self.getHoldingCord(self.color, piece) if holding_coord is None: newBoard[cord1] = Piece(self.color, piece) else: newBoard[cord1] = newBoard[holding_coord] newBoard[cord1].captured = False newBoard[holding_coord] = None else: if self.variant == ATOMICCHESS and ( flag == ENPASSANT or self[move.cord1] is not None) and ( flag not in (QUEEN_CASTLE, KING_CASTLE)): piece = self[move.cord0].piece new_piece = Piece(self.color, piece, captured=True) nth[1 - self.color] += 1 newBoard[self.newHoldingCord(1 - self.color, nth[ 1 - self.color])] = new_piece newBoard[cord1] = None else: if flag in (QUEEN_CASTLE, KING_CASTLE): king = newBoard[cord0] else: newBoard[cord1] = newBoard[cord0] if flag != NULL_MOVE and flag != DROP: newBoard[cord0] = None if flag in (QUEEN_CASTLE, KING_CASTLE): side = flag - QUEEN_CASTLE if FILE(cord0.x) == 3 and self.board.variant in ( WILDCASTLECHESS, WILDCASTLESHUFFLECHESS): side = 0 if side == 1 else 1 inirook = self.board.ini_rooks[self.color][side] finrook = self.board.fin_rooks[self.color][side] newBoard[Cord(finrook)] = newBoard[Cord(inirook)] if inirook != finrook: newBoard[Cord(inirook)] = None finking = self.board.fin_kings[self.color][side] newBoard[Cord(finking)] = king if flag in PROMOTIONS: new_piece = Piece(self.color, PROMOTE_PIECE(flag)) new_piece.promoted = True newBoard[cord1] = new_piece elif flag == ENPASSANT: newBoard[Cord(cord1.x, cord0.y)] = None if flag == DROP or flag == ENPASSANT or self[move.cord1] is not None: newBoard.reorderHolding(self.color) return newBoard def switchColor(self): """ Switches the current color to move and unsets the enpassant cord. Mostly to be used by inversed analyzers """ new_board = self.setColor(1 - self.color) new_board.board.next = self.board.next return new_board def _get_enpassant(self): if self.board.enpassant is not None: return Cord(self.board.enpassant) return None enpassant = property(_get_enpassant) def setColor(self, color): newBoard = self.clone() newBoard.board.setColor(color) newBoard.board.setEnpassant(None) return newBoard def _get_color(self): return self.board.color color = property(_get_color) def _get_ply(self): return self.board.plyCount ply = property(_get_ply) def asFen(self, enable_bfen=True): return self.board.asFen(enable_bfen) def __repr__(self): return repr(self.board) def __getitem__(self, cord): return self.data[cord.y].get(cord.x) def __setitem__(self, cord, piece): self.data[cord.y][cord.x] = piece def clone(self, lboard=None): if lboard is None: lboard = self.board.clone() if self.variant != NORMALCHESS: from pychess.Variants import variants newBoard = variants[self.variant]() else: newBoard = Board() newBoard.board = lboard newBoard.board.pieceBoard = newBoard for y, row in enumerate(self.data): for x, piece in row.items(): newBoard.data[y][x] = piece return newBoard def __eq__(self, other): if not isinstance(self, type(other)): return False return self.board == other.board def printPieces(self): board = "" for row in reversed(self.data): for i in range(-3, 11): piece = row.get(i) if piece is not None: if piece.color == BLACK: piece_colour = FAN_PIECES[BLACK][piece.piece] else: piece_colour = FAN_PIECES[WHITE][piece.piece] board += piece_colour else: board += '.' board += "\n" print(board) pychess-1.0.0/pychess_book.bin0000644000175000017500000033352013353143212015423 0ustar varunvarun ΩP*ym@W !;gݐ-& ;Tf`:zjPK?yJXXMR_()1?g⎟Rg⎟Dg⎟ujoA jDPsV@?+zO1R^^6s}4e8[C $*C aMwS[Rwz}' ,̼֓S R+O o Mv@b>+S &= ,J0u b;vl^1R7%  7%o%Wz/y z/y -SjSS \S?grStˑd'};vo!+*9 $(bB DL̰ISDq&B&S!Q*PGC,S @_?tsfVҭ|juʡYgStlê"7Z͞KC?ж= P ,h;_hT=b3^\ GՖDkxDs kxD kxDjkxD kxD|bbYH[{?[TN)k n /O!6!s]X?7TNv:ɪr Q<R^%;p`Gv] #wgyΜYl̚ |Z_aDu F45aDu , aDu aDu aDu aDu aDu iSc1a9OWvU0sAZ\! $<[4jS:?Z;) R 숕JHՖDQHՖDN5N5gB Yn $_=RB6?#%K?7Q*OChdChGZFvIhJ#M53sT=CR _3mgU~[R-l,{*NO[INO[IvK }ɾݴ=B xIt+) ]Hs&" 6՞=MQSO l̖ \oHnjSjoSoSNoSww}>S{l! ; s@,|3 \?R5!w ?R5!wss ЛpWRAwYAw^QoOt'"z c??? 5n:]NYabbdLd"el*1l;mB tn`1.oR5p $     *7AF*e" *e"t ]TfN-Jאǚ.߉E~?߉E~5LG;[pmWs;[pmW?z RWh 3T9KL$)~A P L)VDa#pY_tͨ)o A}(~ۉ!s}(~ۉ! ,>,T #Ȗ ,C&ttC&t  C&t C&tC&t eC&tYY|< |<t|< i[ 9 [[Zo\ǁu ǁu 'z~v\ǸGX wc1Yy  x\p¶t x\p¶tR 6,Yө GIc Ĉ* %ME86 %ML&'! %MZ %M] %M %MU  %M %M %M N> j l de de  fA c *`Ѹ- xl; xl; e xl;  xl;  .cə[ 5P=bE $ Q Q  RN WȕB&: iP0X k\;? z j }k 4{? 2d  jj j  H> l כ(P Ń .,oPo |& (/M ܁T ,)" ܁T  ܁T 5:U ^ 5:U n bF Ў#G ŞUL    # FL ,`  9XڵuN :޹Ӽt E N c bj b nѷ< sbp0 tG  ugڣOh v.rb9H E}  E}R `'Wv @-j  Q/7 ?I AOoj ́#<  ́#<Y ́#< ́#< ," U'' L ] S   ?e ZsR H A# f' AX# tLB i IΤ UTTUs UTTUs] UTTUs Xz` _?ho  k{c[]BG wd')FR }q\1w z֜  H$K6 Ӡ!Z" כD WZS  ][< i -c$ =F rQ  l^U l^  l^ l^L l^ l^ ?Ij  䅶N 1[= y-xv #n  #n ,nj/ Bvʠ \ BvʠR Bvʠ hb+ݵ t6  t6Y V[=̀El S#e<I^uٵ|wK1@P{=솑 솑 tBT BTBT$!cOV (U.  _e p8 +~w ,iOVfj2 C@%etDWڡP҅WݩWݩQd1hj[WjtT]pevF ) $v1{ (@4sq i6v*H{) K mK $KNlƦX,ƦX,#a5yu7Q5yu7Kٹb:|Kpvp~(tDfs(tDf ]2"$޹  "$޹ "$޹ \+HO 3]R3]3מ& .ERIwSTΎ \\P1)c7$sni{@ow tqٮ ~c)6!?t>?f&Em f&Emf&Em ,.F-t(*cLvIL IL ILsIL?f4=,/ 6 øw(s/=]c*BPy+TkY-)8Y}cfk k k/7 ePlv ˊ壅 CXKaZ Yޚ^  ( ߃zrh#Vɢ?6Wjks ˄ ~  9Y`-t 9Y`-8=3P;1<1.tIDh%zS@+ S@+S@+ Tl_?_ (_rq lZmH6q$ mH6q  t$lN|V~Y/!vR''OU+f*R~{!a-!~{!) ~{!Rʯ7 SҴP|E󑫨 ,L#%w$/NGr /aUF6O=-˃>LWd0%WdWdWdZSk \[VI:Ii , i i (ii;n }m~X#/KO(Vkm/%:8؟ B; F*/wAR,]gCȲ t ' (t 'tns_*QӰ:#A18Y_[Ϧs뫣/ i Ooj Oojt %D . YQWu2It; -?M|"l:N<%PBc 2NR4^_?$ 8?(K-`@D"2OFvB ^֋tsa+ a+ a+Rm1>L aqAHA w;έxZh~b {/urU*/urU*Ke^ F(KYǾFɖ*]6Eɇj|$Qbxa< GŤ  `R `5XӇ/&'5XӇ 5XӇ=mCDe9K=mCDR8 *H+6oRL7EDkYkAtR`xvd1"Sd ;m;ad ;m;Rhd0tia<Nrо $rо uāp Ruāp onQh (#15=|15=j15= D>hrǔbo ǔboi:11 bbSPޝUtv çM* 5 xv+!ʰ+Sm (5a\ˏU w ˏU w # s?@iK?@i ?@i?@i )+v) ,OAa|9 z,~? ~kCm0LF FpRnC[F\\^) IaGZSp^ $yp[]t-?G@ ..txn H[ġQmn ?# a)DEMx Oؿ !g܌/]9~ $; wP $L 5M=s"Pa9w)s9w)  čXXtn+FsLz=]J ng6 g6v`+Yc D oR~Ew CD\ C01Aj~q c]܌ fS e4  e4 $  $)?5E?/zޢBʒSNiRNfNfvrb[O)unde"vvKb$v򂟶tzΠW?}@0Qy #~&?8b ~&?8 ଅvJFX*LJFX*S !v ,8ƍa+ E-N;/j RL#q aZ" 19D#4S/R8N 8RGX_7 $Znufc}vfc}vfc}vh8Ey3 jI2?s;ܛu g N"SD-"SD-j"0V ,T+A?&?[&?tsXyEt]`ERԉFZԉFJYt7 ,Oof  $Oof jOof sOof  (Oof  k5N a2 K a$2!ޘe%o6t %o6K(B(B1Y" #A3j& # J淅 ?c? u*\+ u*\+ au*\+ iR t  (͕Vĕ5Rl55Rl55l55  ڑ^?$${#(kr)1Z# *J?[jV;b@^ _dNA u!?zH\jrhg R$(6 E l 1{s 1{t9$T;9$T;9$T;j}jն ?SjJ]K( aLf/?|JV?gZ+Hs4Gb|+:S318j<~=! i<~=!?EʺT (LuP_ ,j/ j/Ludz_l`⩽ i~ɓpS. \pS. Z N ]kE8 c f.] f.]R f.] f.]mL ,b)PwW~ @ b 52 \ Tt.S i Tt.S? M†X FG a +\d  ;|_j? UC a‹zz wY+ $ M /pґ# aq` aq` , aq`  aq`  &Nt X[{N  GfR  ha \ <  ^h>R {hcD +!n !n!n![!-ωN%!/۩S!AUoަ!Zu #![[9C;kj!kdN!rz;s!|u F3t!}c!Ld_R!8ek !>O !`!J <j!Oҧ!S)e!/n !/nR!/n"9 "%]KOv#z̞#$r%&R #8E& b#hk8 #Zg. #Zg.#Zg.R #Zg.#Zg.#1 #u.S #u.S#u.S#u.S#ۍdlY#ǘ?$ $ $;Ó?$5P2vT$;$^F$=K"ui $Ex>R$J&wq ,$MӇT{$Z3땡 $i$i$xL@ S$'+t$F4X$c ݣt$WS׉N$WS׉$az  $k*]$MG[#$#]] a$#]]t$4k^$٩$}÷L$)ǚ$)ǚ$)ǚj$[@t$@Ïv$}A \$ܷ s$ܷ j$5u*Z% F% w3%/b%g;%~~*S%0O Ũ %0O Ũ ,%7qK6]R%DN+W $%DN+W%PDQfl%]nZd/U %]nZd/R %O[%٣%m}b% %ح`v%!Bmzs%!Bmzh%F%C;*%;E R%;E &?ym&)(=cq&/V%}  &]F*#L&&1D[3%&'e&0ƨf&<}{ӓ?&Gq&!8&)')*8&t~ġ&w).?&JKP&>С$&N`% #&Az, 'LP 'LPR' ?U ?'>=T a'L'EV ,'EV  'EV 'EV ']y']yU'# ';)h'+:b :'+:b :R',TkwQa 1',x (';I6QO ';I6QOh'TEGŐ  'TEGŐ 'TEGŐ'kU-f ,'kU-f ('\'em8h'em8h'em8h'nL$'aߨj'nh ,'炂'8%m_v'pRCa 's@ '\GkR'@v 'N$p?t'F6is'$$]' (n{" c( kF"(9 $(maas()Q(!sVM (!sVM 1(!sVMY(*h+,_SC(**݊(7Xoj(PW{(gd/1i(tQ D(}\4;JN(qhe(Gt j(:ТU(mvQֽj(mvQֽ ,(;: $)aSVd)8R)cS6R)%`=zh)%`=zhj)FşY)ZQ8$q)`B,wS)hLJ~ \)in)q(h>)yx0M)yx0M);N);R)-^?)}R)l)} )Csx )Csx)y&)j9!^pj)6"A# )i9}%u)52|*zWw *) I  *i J*X'sL* sצj*)EnC7N*;Z2TV #*;Z2TV*G1)z $*O XY*ZqFQ l*_ͰW*r| *n#*Tˊ3/0*ӏ-*0*C"/R*aVDZ*aVD* L+ćR+ Q8{R+ u+6f4R+;xgP c+=At +PW+V8+s" $+~F +~F (+ .> .`(%/'XMk/42~/42~S/&@zdV/&.?/&.s/ULcRH /eYeA /jaS/jkgosQ/m j/pq%h/Gk܅/01v/!j j/A# / @!pz /oiv+/HFt[/'ţj/]SvN /= /= /թ`aY/TFk/:5 /:5h/r!l湙/98 -/Go%?0 96t0 96 0n $0M.0{mN 0%d t07N>3s0=3}vs0@0R6>q20YP+Z0]TBG90my&DN0uZ 90eҞ 0eҞK 0- 2{ 0c 0ii00;I=s0$ "0]׳$0ȉR~ 0%05b kR0+V94s1]R19#=E~P1=s7Õ1=s7ÕR1U.?y a1Z3&_! 1`m- 1`m- 1dk ]v1hLJK1~F 21~F 1,C1ݫt1"s 1'Qs1?~1?~1at,?1at,s1K)v1K) 1fuS1JZԯ1KcR1zӦZR1pN26AN2%/8*f2-#d 2-#2-#K242q (H92|a2N2NeQ=o2Z2= j2 2Lp9] 2Lp9] (2Lp9]j2HM$N2Mpd2b3x 2#cU4 $2#cU4h2ᇧS2%+[t2%+[j2Bpd$22ȔO=2+| 2+| i2+|?3υcЉ3=˺;3'H3WD 3w3rPX 3 AR3+{-i3,8$3ArP3Bvi3GfKe3Vf'P*'#3e\3q 43r4f 3yh3IG+3Z[3m4 30pAN3sr锳1U3iGVR3z3*jsX3N~ٔ4?rYә4KM44-;h40d]; ~47%m1 47%m147%m1a47%m1]4DТ j4F15 4T t@_4Us4Us4UsQ4[uԫ4mp $4D6jp ,4SUsd$4` (4C]f2 4(4͒䔄 4SyoY4}BP c4t 4t 4'liR4m.%4m.j"4m. (5n>5)aN)5Oo:pT5Oo:pT5j$59j5sNOK (5sNOK5sNOK5sNOK ,5sNOK 5ΞZ5.%x@5= a5 qF5}αy5Q-Bc 5Ҍ<?5ֲ]Y5-ql5-ql5-qlt54c t5ewL5ew5X 5X 5X?6)EUQ6)EUN6:$_s6 DR6xX@YP 6?V6?VR6(#ʏ.$6Wt6_/7Z6<= 6"3ar j6/3 $6]$nv6~3 \6~36 o86 o86崻*6P1U6mS68K686ȕ8[ 6SOs6>6n,Jv6LW g6Q`Y6ע 6ע 7 ䷨7 (yf76* c77t,=7I A7J:=x27h‹V6N7ta6j7x`<?7~@0<s7~]*7t7~]*7t7~]*7tL7~]*7t7J[ 7eRVR7B7g7XD1L7j 7jj7j7js7p7#!?7JyE (7ijTc 7kT&7Dbl7}ȗOt7潬ޥR7 ( n 7a< 8{!Q/ ?8{!Q/ 8%P'd88h8d?8q7.R8tBa8tBZ8}7 \8~õ|N 8@=?8=;Y8FrյK8e6FR8 9@ŀ9,qw 9C UD9W"4ИG 9W"4ИG9$ޣr9+L&pQ9KNB-9qP> 9{v9`PH \s9Mg?9('N9ϝ>;19%ҭ?lu `9z(j :00%b:5KcW:5KcW \:<J :><R:><:A}ʪE:Fk({G i:Fk({Gs:Fk({G \:IQ2 :m::U%!Y:fhk :fh i:kowYb:: :`.VDR:RmN:息=9:i]^.Y:i]^.:>6$#;3~rF ;#q ;2l*:;3 ;M)/iFt;M)/iFs;WJ;t $;\VyN;c#%TM_;q -;} j;~O ;l] #;djY$8;djY$8 ,;djY$8 ;[pd;?ٟ^;2;"? ;NZ ;K h_ ;1l";]|{B<Q< r4<Q#SI<Pk<*.H{ (<- Ÿ/<- Ÿ/<- Ÿ/<>ThHg(?=..\j- =..\j- => #=?).G/=XB4iv=[2v =_AN =a??=KDe=z $=[QѰQ=[QѰQ =[QѰQ ^=[QѰQ =Vɭf= $=[K xY=[K xt=[7Q  =[7Qs=پ=Ҡl*=5It=)I:?=p?W=:<=h˞ a>#>#>7i?g>7i?g>JkLt>L쩱Ͻ >NQ>ULNf>` 6c$ >v0l >u3A\>b_1/>5=>#>Rq}!>Zzaz>Zzazt>ZzazY>̩R$d>e5 >][F ->p > 8-??"LKk ?# ?JFQ8 ?N*jIN?NªfY?R)^*" ?[r]?kvb|Q?qX7@ ?uhNq b ?uhNq b ?za˾n?|N ?}) k?\噿?C?n+? o ? o?`'3 ?DKj?EN?!l?￯?Y?h?i6@C1E e@T@!98~#@=|`\E@F.f #@F.f c@RϽ@Rݝ-L#@WhgNK@`v{R@`v{ @mhR|( @~LHR ,@}H @|JO7o@|JO7oQ@ 4@'Ӓ: @'Ӓ:f@J%S@03rR@0D8iZ@ୡ@5;@/J@)Es@XV2v @ @ rY@R ,@QTgAQPĦEA{bA{ A{YADA).RBA.FeB (A1GDA8;M ASJAqmTAvD|#2$Aiկ  A(A4|گvA9 Aݘ}vAfl?Ag1oAy' AD)a{\ $D39yED9'1 $D:@DAR  DEKU0 ?DEKU0 jDUH&q[Da2cT $Da2cT Da2cTjDa2cT ,Dt*n Dv{ o3 Dv{ o3vDwnT*f DwnT*fsDwnT*fD/ND4DA;vD D DWQ- (D[ Dn+>vEhKEy9  Ey9 Ey9 Ey9 E(N W a E,\:kEO EWc ,E[ŨvE[Ũv ,E^LE`u`_0 iEpI,kE}1jEM3b $Er0 jEAYf9?E.?EE.?EE[{RE[C?jEhE"yxE"yxEFMzV dE@j>?Ea0 "Ea0 " E4m E4mE4m iF`kF;kRF;F;F;F;F;F;F;RFT?nvFg 0Fq?4 $FDv6NF1FSjF_BF.]>FbZJ FYP+vXhFYP+ [JIFYP+ FF|7sFnpjc9FtsbFtsbF G 2E G n"yG  C;RGbS#nGbS#nG!H> G+BBɻjvG<\YGBS>@FGG{DoGHpp GHpp?GN{R}GQۛ}sGbR#rGeki<-Gx(I[ G{7.|k G&] GS4VG · GʸsGʸG{x G>O"vGk -Gk G0`J G0`JsG㯏^E G㯏^E iG㯏^EYG㯏^EHNH2M wH6Rf (H>UwVZHGtwHZ80HZ80Ht'oGRH[ Hi%_)uIfH-$?H=L %% cHd~-jH|@-? H ,H H"RHZq\NHHBR Hw-9Ii50 $Ii50 Ii50 ,Iˏv8  I5%P)bI9؅H ,IB^NIF \II,nyUI[2| IxƚT}NIy$INIh Pb IIdI-tYI-tI6lq!-I()<I碪9I碪9 $Iٳ-ԟU I LU I LUI LUIv\yIv\y ,Ij?IjjIj $J.O Z J ބ?J&?Dm?J.A?J8 X# JB|A4$Jh}¨Jk[ Jk[ J'RJ?w0 .'%J?w0 J?w0 ,J?w0 i J?w0 J?w0 Jj,ȭ Jƶg_tJZɥYJm Jގ|FdzJ߫[ J߫["JW ,JԖyKP%[Kvr (1J.Kvr Kvr Kvr Kvr Kvr eK!ɨCRK3<ݙ4K@FE~K?KCDڏxKJK`{ýxKpIBV sK ~*UK ~*K ~*hK ~*iK?K?KzLjK͊mKÁw:KÁw:KɯbY K/Žf K?okKѦF0K戕_ Kq; pKgDGKgDGK_3^ K_3^sK_3^ K_3^ $KR2DL T-^.L T-^. ,L3 LYR LYR L4Z|V-L:o ZF L;[LC #SLP jLP LTVMoLm~y Lvހ)RL|Z-_CjL|' OL~9G»B LT1!L .wcLe[L8mEL-c vLZRJ L} [LtLM \ vM4+Q \M.4eM; ,M4otP\j\>Pg$V Pho_P|Q/\PQkwDP;!ѽĝkP_2xRPRHP[FLP<:5 ^P<:5 P<:5P<:5 P<:5hP<:5 PvК7Pwj@sQQHKWtQQD*T+DQRwNnRsQ\Sɪ ,Q\Sɪ $Q\SɪjQ\Sɪ (Q]&l:vQ_RO?QansQm]t Qm]tQ8TRQc4;͍bQc4;͍b (Qc3 ,Q&g^  Q|vQKcYQ {CQvJQՖOQ=;SQ=;Q)sw4Q*mr ,QѴK۟sR١?R١R 7Ob )R >m#R&j%VR)][ R+w9 #R1+ -R=Fo#RN?l4#)RN?lRUҬ4 gRaf"9RcA) ws #RcA) ws cRt[XR_ $R_ (RQGZR,/iRjV RRRٮVDRRٮVDRٮVDR gRa{F0R?K~ZS SG~+USMq>sSMq> SP8i3SjO ,SsF-aNSu[NB=SXzbBDSS+[F/S۳ ݹS8S8SWSSq 2 SA”Tg]v^Tg]v^ Tg]v^ TnYT{񏦾 cT; T6y>nre$TD~?TD̄Q (T`TdA) \Te. cT};YT:sdT]TF0sT`bTc;O Tc;O ,Tc;O Tc;O Tc;O $Tc;O Tc;OjTc;O Tɒ%KTo T0wT/ U+ a<U+ a<U+ a<U+ a<U0=U1 w U<,V>NUGDSKUIr?$U]18kZRUk@qNUywB]nU'hŜ?U4h tUԟkUgC7:UgC7: (UkN$U˽~q !U˽~q?  UE_}qc$U˚ÎZQUUf_OU!+i U tUEmB ~U_#MU40U40V iVq]V$^EZV%H{ğ#8V%H{ğ#8RVH{J= VNϊ&Vl+B iVt2V~W D j V\rcR VUצDNVS?V?嵽aVRWHb V: h aVL*V£7X Vŕ &V@,VGhKWHUWj>ֳp W(G8 W3yXMWQ5*ΑJ sWZ’?W_@娠Wt3' ,Wt3' Wt3'j Wt3' Wws<' W$+jW! sW-ZW4`W Te W\Q՟?Wm0SWm0LWQjWbKWbWjҙ WaN W#6vW6PFvWQ> WW cX- aݍXA= XA= XA=XA=RXZ-Y,m?Xb"^ Xb"^ Xb"^ XhgB> &XhgB>Xmkn5Xa& ( Xa& Xa&X|ntGLX&}?X>;5jXǿGOX)gvX)g X*Xd_LNX,DEcX)tY0SY YIUY(: aY(: Y(: Y(: iY%t. Y%t. Y%t. Y%t.Y(SVY* kWS'v"#Y+ Y YMZ"jYm &kYr2M.@o $YvX)LYv'~vYF'3 Y1/bYT)ݾVY/x5ɊtYŷXh?Yχ8PY,BdYxjr YTJY wY wd Y w_Zu]5: $Z|FZ)D $Z**C&Z01nZO'I,Zf[yZ.ZnU&$Zo (Zu_tZ|?) Z}U*jZ}U*jZGE Zif Z{t|vZMQZZּ]MWZmY9"BZ華j [-FD  [-FD?[%p-J|?[,y&[,y&[>ꣂb?  [>ꣂb?S[>ꣂb?[>ꣂb?[>do1 [P31`V [P31`V [P31`V[grr[v0 ] [v0 ]j[9\?[_a[[=lx[y)>[Ac9OW[Ac9OWb[Ac9OWY[s[$[*S[Ǣ:B[Q_[ѨW [_+4u8[琟N][p#g [aqG [iPS[{'~x[r [r\ c40 \Ӱ(\ x,\ x,\WtQ\r8K\r8KR\3g/L\5Ό \=`s?\I䯹g:)\I䯹g\I䯹g\Vn??\X@ \YGU\]3J #\fgj'T\g YJ\\!^\™ %\׹*L\׹*\C ^\ V \Ӯ \ӮR\cyגN] CI^\@ g]6-N]!L]!]!]!]BZՀ]N<@6]N<@6]UI;j ]soGl ]wy[d6]{{;v]{U$]!Rؤ a]vUӳZ]Cj) ]Ch]kK˕ ]L*> ]٪+qfC$]i]+eaŒ0]6]>q ]o}P3^@끅Z}R^@끅Z}^TrBm \^wozE^wozE^wozE^{>tga^8S \^r:X[^^ ^GIF^ѽ<|˗ ^W˕;^զ ^[ d a^^y )'^\ۼ ^^c?_*Q _ |5P_h Y _|h'm_|h'm_A2} ~_vhR_' Τ\_2zڲ_2zڲ_;1,w_@5[S?_@5[S _@5[S _U71_X<j_c4Q_uM nԑ?_yĉ:0_X6_ _r':|_r':| $_B:/ #_-e _-e_ٱB`k_ވd& _L%lU ,_L%lU _L%lU a`+_:a`+_:`z(g_ `(ڟsR`{K`, #t`FRhD9y ,`O?zY)R  `iPeN`u`D-%A #`}˗(uj`lX͇{`lX͇{`Ov`J` Qý}v` Qý} `,'g[`۬Y  `۬Y `hu e`B>+`.X&?`V7 aQWWT<a = $a2d (a2dja2da6< a&33BV #a*LaDl[aOQ0i2 ,aSE .rja`3s}Saj{KNLakr^~ au3s.Jdazp`ۯ a ǧ)o atr?ainԳ/ainԳ/aN=jta%a%a% ah5J $aؽNac$(va%^2b1 aDRa _ja _bEfebEfeb%] b"nftbT6SbN +bAGBbFbMCw@ bS+~j bfsYbj@0u bk[ oZLjblt./ a blt./sblt./tblt./jbsP|fs -  bcL bcbcMx&\RbtIP ,bk<|6t bͺb4\<bG$U?b8`vbKb uQZb=jb ٤?b]~b ocO~h_cO~h_Zc Cd cbȠIc  cڒǃP?cxuYcR: ac(mcjї­jNcu&<c )̨E6 ,c )̨E6 c )̨E6 ( c )̨E6 c )̨E6sc )̨E6c7)j?(c7)j?(c7)j?(]cH]*L=cIꎴ)Wa cW0w:Cck8 ick8ck8sck8jczɯc Vrjere|J)gPe|J)gPke|J)gP (ehڣe[[3MKel/ReLtLyxeɍ e` e  e eCTe<f40 (f40fMJD f9v7'+f9 fPa f5c&^uf5c&^uRf9L9f;fU-fGe-v]%8Rfzg< f5C&;?fSQeN fSQef+8N> f+8N>f͹3%)fIR fUNЋ[ f|+YfϾ,ɝ?fՏO-f vf#>g %Z g %Zg>6` , g>6`g>6` $g>wѐjgT:sgZlNg(3g1MgM g9q[Ӌ?g; 3wvgp${ gE, gE, gTKm, gbe/ (gbe/ goJ g PQQ g*+9hj g*+9htg}  g} ggzD gBHUj +g'=gѶM;gsЪg6Pjg3u~x #hs78 xhs78 x Ah[I$1 hfm?h%2 hK$hrG2 ah%vK h3Qф$Q?h3֖Nh: _+NhB`Ni!4 #i!4 ci(ٰ=Li7%՞jiG qviПn)iDi/;~ Q ih 33iۯiG iHc2 iiHc2 iHc2?iHc2 jWw0j'eY$ ,j$A j3Ԋ#sj4!½Uj5,>j]ja%k:  ja%k: $ ja%k:  ja%k: ,ja%k: ja%k: jft{ jz?7*Rj|}#LjW-jhsQjhsjq2, j[~17wVj|Cj|Cj|Cj-YF$ j-YF$ j-YF$ $j" N $jͭajj ޱk讞 ak讞 ko1Jk$BrFk3bI)&k3bI)&k3bI)&kC@5|8 kDRkF-Rkf^v`]Rkn!Rkw[vk{ԙ#gk{ԙ#gkYk  ka e kj}Rk `; 2k `; kU&"  k'2Fojk'2Fol?lPl2h(l#4tl+\cRl6,'?lCw|֩RlF)lY~ p[lgS@ vlrز3l7&wl7&wjl7&w l7&w l(o\$l)ljq4l?lq xLlLel l؜sl@B7%l@B7%m6a #m^jİtm!ʘrvm&vCm+lI"ym4? im81<\_m9Pq ,m?*m.mwҳ47'my;r"RmFZmYj m~$mv+m3 m(Dޚvm> (mW mW mM #maen1jvn? \n$tUt n$tUn!xf[ Nn"&f] n"&f]?nZ_ +n_Unlq nw_n|:n9`t \ n9`t nt}/x sn4?qnGoRnGonתJRneY*kneY* nJ3n<qbn#+" \n#+"nUcn#U  od,Roo+4o^+XRo1,զR, ,o<`ajo=NJ)NoBE>0of澢2KoycRomMou"o^l\toRK?#oԷ5,"oԷ5oԷ5oԷ5RoT`|o-"p!zoPvoo oo//Շsp ůZFp&tp4İ#kp>;?p`Eu۫8Ypkz^wJ (pt/9ʊpJIpp}p M]p M]Zp M]]pL) RpL) pĴa pĴa pĴa p؂z}tpfGItpӰ۽s% p 1$p1*}GpEF,p?bp?bq N c  q 9fsLq"d0  #q!ys q!ysqE ޷uc qO}QqO}Kq[;kqiqxgqjZio6RqnF Ig] qpi#m quSy0SqɈB `rRqW Tq9nqg|Hqtq qqBۡq_ jq#tSqi r9?|r /(ctr#1^ O/vr'/ r([hmr.+$l r/Lr? &23rMYZwsrMYZw ,rU Q ,rr.IWշlr~ uCr]*7r"r7[IrD5/RrD5/r}s #r }ry}0 rAz rAz rAz erop r5;irBSWÿSr$pb rpOnVrdMGKrɑKFXrɑKFX rɑKFXrkURn r]r ~ s sLO%? sLO% sLO%ss^y swɁws(G^B>] s1Nlss9tuO (sABdsD?6sL~jRsYSi js_kE .sbv_7Lszh.sB@ ,sɁe٪sʧ s̰esq%sW jtz6,t|a&tĦt!?t"$ycv?t1ebUDtNq}*\??tNa1Z t\a^ ctd.05tw]t~=t2Lt:_E ,tAU t`L1[tLRtng`Rt7t6 t;rt)t)t|-Ytv^^ou=MS u*FP cu^u(W s u鐺 J u鐺 Juovu! au7r{4Nu7r{4u;7Yu?"}b #uO}֢Juh_usg"Nu"+ut榿s?umbǟu|J-uƣ%,_uuE"UY]uE"UYZuE"UYUuȯ auRQk uѺQaukrukr ,u`5x ufa' ufa'  ufa' ufa'v%~J?v wkv;=vdvj[pNvoSltvoSltYv/Rdvfh vfh avFXuvFXuv Z cv.R vy}s " vB2!vjlzRv[v# RwJº aw K/HwA-gN wL-f ,w4`Yz w5m3,{|Zw:F*C?wB9sRwQ"٘o  wQ"٘own `Yw% (w% $wS$Lw~fwim֩:wQ w[QPw[QPw[QPjw[QP wf.~] wf.~]twqLݣO wƻR[A rw+׍zAw+׍zAw␇Je?w/Z2dWw/Z2dWZwT||< x8fxӘ1?x;ZKxt1_x(OIx/)Qx/t~? ,xxQE6Nxm%Ltxm%L xOk?xOk x( x( xD@MJ UxD@MJ ,xU"?ݏxͧ}a_xͧ}3%xͧ}Z0"x^?ycu2 yuHz yYo^y5}y5}sy#5k !1yKNN2?yQӴٯiyTVvyUv܀ yXTxҵtyXTxҵyXTxҵ yZԧ\u yZԧ\u iyZԧ\u eyo*JywFgy y7 ѣyNaZ yNaZ cyNaZyyyyyykyOn` 6y\ m.by# yͱVIR-WRyͱVIR-WQyͱVIR-Wyϱnh!yv?yZ jyWL yI\vDz`EUDa z(;m[z{>9{7?Kk{r.v{,Ĵ{.@0 {.@0{3""!{96p}v{;yRM{BP0j~r; >~~j~&vVR~*f~5wX ~7TYaZ~Tl5~hx~i qy| ~i_K~lXa-~qMǮ'>~WM| ~2|jj ~">%~">% ~">% ~PHLjJ=~̍aH~r6=R~yӳ~wP ~Ew~9V~r # -}# -}N$$~o>$r+_ ,Hv(^ R4+ Zb]+Nk`nU[oe cf^ ( Hp>tr4:UC p8=`QLYv (LYvjЏu iЏu Џu  ߩ ,"ܦj$% $% $$% $Yh){$Yh){$Yh){R4TLco_4jY7 ;x B@w0hMXwaZd?b|`Ddnְ mpcFtlr0Q.s'&E%s'&E%]Z8Zral t)1# i>lri>lrSrlBzZUBzZ#]WT gasi*ӛ$>I $+9 ,\eA jY_l$MlV5ݥtvt .ftvt .|3piTfKjP%A ,ЉGQD-1.qMvB߶; SgrR_r \S[Bjd_D,  ,j90=sR3ӌSMv0A  v0A v0A +^|lUO  ,s 6g$K#QR#QRȞ v6~ <7T0=<7T0=B2aUz5A=:?X,m3 ,f  iWkSlNt.[yS ayS`&?Ս[Q -0-Bo^dˇXN?S{xsS{x ,Ӵe&4 FjRv _3(tE% /S+kMN?p Sx  cGYv@NJq^&|K  Jq^&|Zj U #g`\pjg`\p?sw cs'sھdsk}t? mSˆ-Sˆ- Sˆ- # @7y%v@7y%byjF?%;jk?%;jk Rs!'t P %`;c<C>M FA; +I0 LD'OZ2kSH j?zTlIL\I(osf >~td?PN:fh0ib0iba&0ib#0ibQ0ibR0ibZ0ib~j1k #  * $==+?cwP{;[$ 0ɭ (0§ 0§C^SO<AC^S =by8wL vbq)[mKǖv tc5)VFN -6_t*1&-6_ -6_-6_s-6_Y 32HIj`"OLXI]2~wl-N6y P3?TC!Q($&1Þ"+6"<"5 NP)N#hNP)N#tS}d~IkޔTQu $sWA!>~8#o ю2ȕ+RK d/%K  K R8;dtf\tݯ~V4\}"j)])GVtE2ԃH&`KrW:N3 $[~GV[d#7Jkϧoǟ)SRbǗ  A4&[]v r+S %W:  %W:?2p2S DV؏bG؃4 ?S6G؃4 ,0>)G؃4G؃4G؃4 G؃4jG؃4Y*`43ْto/oqev9Rw {}j'RWQt|Ygj.%<\69[ Z'p.? Z~qtZ~qsZ~qkz2}/ݣuRhRhR'2g  W0bPvռ褠f^ 1vd,/1vd,/=SBLav Zv m,T8n \,tsB 8y=N CM${Qf[xB\tY\jȈ1F$ Ȉ1F#th th S th L5$'|e*{?m"TTBmx`*菆E$  ] %  .Zbj; jɝv; jɝ KinQEpgTR/?|SsS]Ӯ^~] xYN N  JLeYijbY-Fw #/E ,Ji5x\ ,5x\ &ףt&ףta[zW>a3zW>a3vRAyB Fv\-B f݁Aso))' urTJz|аHmt&5#|аHm a|аHm \ |аHmb(pVȬV?ȬV ȬV 1o+o+ ,q +z޾e?)_ ޾e?)_̓`\/4S !* -/⇼ a%jD%jw66leKڿS7v謫NR+v tĩ2ĩ2)~)z ,ߋ"vL=՘_եuQ[) dCKdCO1ZS>Lz#*Bxu?4qSIEUX)vTTT'n[ ,Tv$Y~ XbrB|[TjY_#y׫Wq[#{%,jR h n$O n$O7v =_7]9% =Cv 9% =C ύ)^=ps$=M?M S$x-v. x?CT 7yX餥+X餥+ ,a9y 2ݿ y 2ݿ ,@Lk @Lk {6v555vq߉h3RIRmˡvl[~ F: (9GN)fR d,h~U6Y3^뱋CB>?;G?Bt.X D^ٯ\dQk\殕]_p9&]_p9&*]_p9&%tyrq<v  yrq< yrq< Vhl ʊ?EZ-R=T=d RN'6=d   =d =d ^" 5FhگQ"E3/2  "E3/2j(-U"c1- ,[  ezo  vjg#Eg}:)Eg}&Eg}R&Eg}(er uNj GPbM`Y a$s("\,#6E.\h8_;. sJBaTP8H ,Wvp$OcRs1sqX%3YqX%3 (C|RFC1ZE Ȉ kW!nA #Or!Ѽ?b~XDE NI0;E N E N:c4h2ޥk<Ƹ Iޡx ,ޡx /B656U?V\Nołz`3t~i@PGc `a `aj`aYg$ xDN mJKK mJK~: (~:Umt c\ _b? _b _b _b k_ * ZxnV㫶Dʵ<]2UcL:ePgcZ?B3 O΍NLBvW{xhvi[q|Qi[q|Np"=hp"=tw9.ro;*$OI҆MFCoOAhoOA _l  uu(D8(D8)PT J$6< $CL4Oa5&ve6n+GDR?P*ϺB &pwHRIF:Ѱ"#M-.^#d*Q^SqsiTX v'<$G%32 G%32e]?ȕzz)Wȑ YZS  YZZ ,7 $7s7  *sL *sY *sqE/qE/ 9a{Cs4pH2h ;ޒ@6Bhz}nSChTM`kH5'Hk Mk Mm<z6 jkK ($   inFRtw@D ҽBD M {jNTpw{&Zi{T{rN K#^z8-E5P 4/M 7E&? d\qBlpy?"e9"1nj_Ro<T1nj_ 1nj_1nj_1nj_7 #δG0cW[e:R:$y^$3>FZVTO sUA9n?[7wb ^@bptbU( bm cbm #p#yN4 v@ (~أb `~أb-t! l H ,i=`c ?zYDW2C?zY*,g6$&  6$&h6$&sR7XGbR7j_v3 ?TE Cvf%D k//_RB@WIC?L0$U Wx u+? A;v!A;v! m`߃b0}j@ɯ*tx T%/J# = 9 ee і𪦻RB0kbu% !z!F-)Y?3W=j}\S<߆EHzc0(^p!jp> ,q Pٙ^tC_l_& jl_& >p#tВ[Q?DUClQ8fUBNR\2j R\2  R\2 , Uن  @? @jA%|R YGN8;{+r8;{+r?9HLGaI<=mv]mvLmvUmvo47@  o47@o47@o47@zh Rhc 'n&5QJFo4JFo4JFo46m 6K9H9Ha#ĜR FŅ FŅѳ/2_> -$ =i'})=i'})O%G ,O%G u} ;` *(z ]LhL ( L;̡u?p͟Y3)NE: Ii=ljP3n_$DNr ,_$DNr_$DNr q@,y{jL݂ {jL݂? {jL݂ ɴjmN׸R_MXs {}'Y7²so} {'\?m$_NqSAoAo7DI:7KSRH JsN_do N_do ,PcآXH XHf?Rl~Ln5OY@Ѽo5W]Z% |V܊I,7Nՙ;]pBAT`R D  DlOY&d {R'&d { &d {Q,v@@Y/{5wF b5ZrDC_ |SH; \KzkA $YW #H]BS#GAj{Onz zk/ DCNfthtZ6&zmkzm /n}$s/Q"XX%h`=́_`=́_`=́_`=́_]vDDIvDDIx1{q c{e߁X?q9 ITuN6 yF[zKڌYj)-1!aAo-C*aAo aAo xQYHti.!?N \ORRs%?[)l1  )l13DGRAi(ybN*q, N*q,Qg"h_jQZNY QZNYVR KgaTqFpsvn3Y2P}WfB WfB (WfB (}.e $U>A}.e}.ej}.es}.e ffSSS?Ϧ3j[xzz?Q8i0'?6o j;P۶ ;P۶ , _@/  K_s{/R e:N $i%}WKKS1| }NӺtt?w wt<~Ȥ<~ȤKPJk,x a FI$ qW?xXpy&Ɗ ,K.Zed'a9Ȗ[466! e466! 硗Wv硗W )\  |Ljkh?rj4ubA$ \4ubA$ i$8s%F6Ͷ 3qާv3qާ 7xkr;eZ< T <>ί<>ίE ^ ,G3{z #J-vff_hט^ pV>Se w('!Nz5"nj ."ܝ mtD>sAhTS^+2*jȱv}I2 %{K'ikjJ[ ̤ sH) s] DX[ۇ*T vG">Pj#v$xv$x =7 h2ueR x>|R cOHyfs!5^d$'&&1$&&G 2@K2 9<SDZf l!x3ze|4A k[Ui n{[k"c HvuR?O?O?O?Od&zۻ-1"1"v B(ΕKryLEmѮYEmѮjEmѮRl[I^]3M c[g*|1`#ur87j yr7ޠ yr7ޠ yr7ޠRyr7ޠK 'BqI BqI iBqIjhFTdݫRU/tF`=QpNt[ ,t\M~0202:=6`kp./:猡j:D1v@όX`JĈZ ^nN}M[6?̪>Wb6og6ogUԳLI( Vj2eYؔ4bc'r78Ķj Ķj /L˂s}|zo 1ô?㓅R XbJl9RJl9 CD1dh.R2$dh.K.dh.#  dh.$~sRD ~sRD|.? .j-օoY@)% RR's; UQi{5?d(g`2 d(g`2kl2sЛɨ I UD; }l }ls}lj}lh:#[R9MaMO'MO'MO'נd $mA \@N1qvg**? Ss_}M* 2~ hR2~ h!bXB"e^auǓ .߇+K.߇+2K{?-3?M\8 M\8s M\8jdu z*Xz*L׸{ ޼}a:xu [ŪJr[|j [2'W+ И$ 1K  4:S4:7䗥/7䗥/ RRs s RRs  RRst4 |8N=v4Hz 4HzvhS3s" jT\LlebacNcW}A cW}AYcW}Ac.'Kn^b0 tP̌tP̌zD٢t.NRFRRFSH_)[$ h8LRUse^ yQ9Y](ivڱ~ ,_ [( ,  [( (9H\Rs?I?IM-/U|Kc%wGwG-,  GF. GF. I噵' R9O"^ ,R9O"^{w mR= ? = ?= ?t= ?sj2j2 mj2 ({=ɮ/-S%|B(19>󉜀S >󉜀xzD8 \p9?V#!IK7a26h7ҙ=D:[$ D:[$   D:[$ Rqj"u iRqj"u]qKf&^enB y1 +zO]s%zO]zO] (jI` ,E: $+~XT&d cX;[M֪ >|rutྦ@Rો8j}40 󊝩hn?SAۀJ+I J+Is(L ,1-.8և > |:v>"P4SH TEN_ a`f" i  `f" `f" e!.|,  [0 qCjvk,tS9stI ~ T]  T=rR% 1^qm,:[ЬKuE oi'm= 'm= MշW\@ 0۵ , O; v? a(dr#q Srj$* # ,B'7CVsNOt/ `$ a>r o=(,铥 $=TC =TCIݟ|n8s0Rj/  /  / ښ8?0 Ojc^ $iW iYq4|ׅ2ky7_y7_tւ9 # bV n#ڑO(8*B[0]|0]|2ĥ&S>_ұ? at? aYUhɡׯ?]³i8ߺvpqiyIyeɜ9®OP  1/i! IFj  IFtIFkhp\w2N !N}vZ-t  -t -tj-tY 0+Fjd2IMR TX" TX";MDZj4(7Ll8N.2Ã5-J1Z>H k>M AOsށjj~mԃo MR o M o M o MqғPvt0pY vt0p vt0pt}mN +`Jv p[ԓ/tԓ/ }|EQD.m ︽˂j^5j^5 X#S>ћ?Jgj5 / 571WOD\iB?  OD\iB  OD\iB iOD\iB OD\iB OD\iBRRӦwA8"RwA8"*wA8"wA8"Uj*Pl,=b kkNuB&S0-Є8AtJP   k!aZә  ә $AVzl.&N/یBAP[6SDSA cHz.E= LdhY}_ Zs_=_={s|CZhܯN|CZhܯp7* ^CX$JjKh֨l%Xb ΰ=qҠ٪EF~jKޮl3,v),v),v)*en )j+ G)j+ ,dMM)j+j<D3)j+ ()j+* c?>͜ H5# IH^- (T< VЖdobN riQD8 8o%c4mm&;#QUI؛H ܐ5BNgLJpX]zC (iW& UԎԯj?; s?\6VVon[Zn{4 {4ܴw -tW%%N=6`?U׏ y j2ۉb v{D -%W8Hԝ?J/G5MJR2JR2K4 @t $j.r j.r j.r pz527Y q5 .q5 . ,ush j\hr:r: %i0«7n8 *m~;Gm $ݢ [CƓ ʋG 1\jT)0#>I -(UEJ4_TK3\Y#K aM+YOFt`bV+ cf#PY &u&HE=x9)0(&z6|\‚qm'‰ ]Œ%*R’ 6 Ÿ jMŸ jM·tL¿ɠ#9r ;pC^tÚ`ﶨ Ú`ﶨ? Ú`ﶨ ãx^لRæ)ۑ ,ë=KZ ò]ܸӅI.?Y愕5? V ƞl/ ,ƞl/ (R?XnbX~0>\_?tdPNp aow#/~qY& w}e¬ĉzĉzRġQ:L;c %L ,ѸݞN`hl R}=12t0 12t0? n]NY§ ]E a xt"/q9 = R 8JƹKRR<2Z *᪾tBUAK<**LY*8 LY*8 W#__Lkb7=ҖNr;JBe r;JBeYr;JBe ir;JBe Njǐ7HjǞ3 Ǟv{$TsǨ &$Ǽ8.L Ǽ8.LtCѹ׮R@ÄN' ƢURx4isK(q TI  VcUGa! u+q.hŏ ?{Q`lvۈ+xMD{Vm[MRȓ? Ȥ2ljȤvO> Ȧ)vȷ _"tr  2z:A>: RHϛXm@^T9rNB=^T9rQ ^T9r^T9r^T9rR^T9rs\6AɁtBfuɁtBfuɆ1OLɚ{dɡ5YL!RWsYL!RW YL!RWS (jciZg`J s S8/vHW'2Ll% L{ĩO?dQ7vĂVS.[RVS.[``$c anyp>nyp>]o〉TubqdGE ({{o|E|\K}|qS~RʋjLʗ]Vm ʗ]Vm (ʪkY!Q $ʽ^A ʾnqb=*P0mM*P0mM?jla+F?j1}!}|  }| i}|?}| \ûAV:!Z%Y #{M2 [.d,(*<~JVO<*7=O<*7?gt^gN~-}J ˁ0CGNˏ]fD6R˯{? \T1NV1?hKy\/$??䳥NQF:G+[Ss}%tO'S.\ .\ i2t w4WN==6? >?CkMsY SZⲻSZⲻSX^*/"Y`T3,DqGjvaf-x $̄|W̝jW] R̟W;1Ṇ,RI #m7/0tBĽRߍ-shK) a+K<-`I Cʻ?EmXtEmXt ,U #ZC%Q.ZD> ZD>Y]S _)?sjgx s,ǨZOzNX9NC)*o?͈J e͍;dn͠Cnq c%$ͤe$@Ͳ9]t2B ΢7uRظ tx ?P> h 2/V ?F܎ck\SxdN9  A]RtRC&NPݩ0Q\*G c[&df G h#zrŹe} iΆKS·YY0Έ1RSΐ aΕ{ʯ?΢6ԒÉ$Φ2*hά!Ъήe:jήe:δߢlO δ\p9ν#$^bν#$^bѕ ѕGovr2NIV&(  O~nP& #   2o c5>ptH?$우jO .vO(<Y_~TO_snm=UKDBeT} $BeT}hϹ?]Ϲ״(g[31@D31@Dr9vTJ ,r9vTJj787878 # H„ u$*8cL8{*QL.roerpoerpoerpj{\a {\a Ѕu-?@51А,P_oАfEeZ Д7 ZС3*YЪsKkЪ.<Zк, }Eo; Z' ; Z'; Z' =Js^?NjF9X[P%vP= Ƨ 2Fuvc5Lv#= cȸ) S~5e5ejr9Y:S(Zoks3W v3W v5 R8{cj8;K $9`GF[;H ?Or9fx%kԃJ7D@ Ԛu'fԩqoFm ԱzQPRԷ- sԾK{ˠjEhEhRFaYE!FaYE!++s+ L&RRW ] υ ebs4 a bs4sbs4jbs4tkq 㺕mr"l0 sYo *sYo zV4 ,Մ^kY ՍC ՙs ՙs ,ղ?{gյ%T# ջ]?ջ]s8߄$ߛ1YǯFXOo ٕ|>Ef嫛 ޒ2]?,bc}RYeNCCr  ͼ ͼ&TFS&TFDeNEKE:)tE:)E:)Lo1x U;dW ,W W ց=4փ5%3Qօn1~Z\$֌])M ֥0?֥+,'C֥+,'CK֯x"֯xR ֱ@q.ֹ2z+j{91p -@)kEaI/u (LbŇ NW Re uyMb(u R(u =DcQ \B{c #Iܼ>Tbĕ2qϹh[(/psiq5ON k 9R׎rgf׎R*0Lד/{ssףs! ף ' ץ 'lצD , u*s`g9[7}b \[7}b s0h;? b$ $ $ 'gf'gfs'gf 'gf ('gfj5퉲;BG v ;BG S͐; S͐;tv cZsv cZ s؏`múvؙث&c.شYxGStORO>x]Ef[t< ZHxGH?GHW`GH$GH ړD9` ڕ0}Tڬ :M (ڴ#-'G?ھjwR0v3cP ع:R4#)n~  n~hFa !jhEA$,R(ϩ.p`ۃL .p`ۃL R;oj E ,S@T>Uw^ (Uw^j Uw^ Uw^ ,ۅK-- ,ۇ"( (ۇ"( $یHyۙ(-oj̊) +[+hu @yݡj1o?S]Nvغ:,T|,T|L. 5R4= c @g?@ApGvGDDŲ IOS4kIOS4`L^|EROVrRVBѓSasaKwf;!M զe9NܖU&^dܗT 4sܜөF ,ܼ" lYܼ" l ܼ" lj6|$}ҔB{9 w$:̮y ()[2 2jwPj941wPj wPj ,wPjwPjjwPj 7 p͐ QJROiT:T OiT:TOiT:ThE (̫Q1@y cY ;$;rew+Oa9L |8̟R߃׷at c߅=w$6K߆%bPDt߇%RߓBa>jߓBa> ߕJUE ߨǼӽb/d%[R '(j '( 1  -!cl-!cl-!cl7v89@BXL>hWP>hWPKKx+'ve@pK. G[ME/1K%eܒ +oD+9   dٺS|N BtՐ}K` `OD}k C4$R! c* $3ћK5YX< ,V8e\dm`}uohby?hby k,Yy"r |d2U[ /蹅1懯y1懯yRWw}S៻ۗtLs\ C2[i ?- ?- c [ࣇRĪq @⧐n<|3J1]b\3¸~z3¸~zt;q$(?Iɟѻ $IɟѻjIɟѻ _ia5﹎ a5﹎Qa5﹎cBzV,a▖@ 4☁JlXq'VhZ @qI #QB QB Nw _n# ļy:j"P?>3u+C|_vX]a  ev׊ pYzٱh㎻e nh%ի 㗒MnN@K㤆J mememe $mexa)j=az"wبessg呭 3fC%$%oi c 3N"{6ŨC6ŨCj;}Բ $Djb$YEg\tfC!·jT$pT1}f 䅆j ?͚h ͚h ~+R"(,s9R(,s9(,s9|LYfÇ ,2ˇVN6r#m(K#x9Y&V "v|  "v| i "v|  "v|? FD;f+#'2ːj-ZDqs02c>02c>02c> 02c>02c>02c>R1yDZ?U4EO«tWZ3Z WZ3Z l3!PtH |i)|i)ꑙ{[ ꔿ1ڎyjZjƓ%깗.66*2Kꄆ$ WyC]}/ ̖" sr%[ Ԫ2t8 .v $QRJ?(fU 6?9*f&D5 ,LEb6 \X`\X`cf 9lqN oN R raX s֧#H{qY}v| RGUJ0"l|2l$ϋ̮9gt?:d 2U5{*RQgX~t?Y.T#pY.T#pbM_ifKK kt~Әx+HPzܽ  zܽzܽ izܽzܽj{Vks~0G ,)pFv퐙hH$j퐙hH$?홚ZqsI:,t/M1tt/M1kؽ) sJ |*~1cap p? az  az \ Q&8 9N.d  ۏX _ϭ#ک2 +R5<-kV7;/=d i4֪Qzb4֪Qzt4֪Qz 4֪Qz ?>f UtU?U[`i d*PLawhͷLsk6ڐ `p5S+!  hteuGj NxUl[Bs} ##Vg E-k `N1W R |Lbt8E~ 8E~ sz !Z+rX ^% x]($D)JS)J0 ye!b 0 ye!bs0 ye!b (SfH $ SfH SfH SfH ,SfH ZYBd jf~Rd jf~LoD}jkFk;w~f)^J[8C (80j9 ,C# Ihm= Ihm=jL*ZS X*Z<= gä][l{.k (𙴵 ? a)%oВTҖ_#l:Җ_#l:{( i`cƎ4 2@NLsS磺.k" c15 !.pFR.pF" $\"B4\sk|?9xuR ;d\;d\jBIkcC)Mjht LL \U.51UU.51`cb,(? `cb,( ebJ}'BNwsgE8 x+ s2h<-jl1y 7E : jcWזJ ,%څ-|u9 a$`<ִDp DN *P]  ݂ ,/huOa>Lx  >LxsAIQ%$l90g#8& g#8& g#8& Lg#8& IJ?MW;Df $$*bcZUDTv ̻.}xC\ qQP rsl' x9;|fv󕷧SL }r[]BxY[7Rv]$RɄ` IWC?ZoZZ?̜tA✄<A✄<)|o4,&7͕ $6m$=yS8 %̠?BUBUC3NL Kia3i0JKia3Kia3RqNczmCl RTJ-. ^TJ-. \5:vdB1MXTm , XTm  XTm $XTm s-GE9_8vPJV E.2 ,QPt t2Z%N c$Le-\xL(8D , k *$oL$oLj(DD fh+\V! (<*Oq*R#wy+s R#wy+sRwe) UKe^tkF:vlRp;x v*"uպEx +!yKzA yKzAyKzAyKzA{ 2}چs؏S: $ŵ6t aKXU (@HKE , D'JnE1H1Tb (#V< a  h3 P5e%!⬸?5N<97aiD6ED/U (Xl)DZ\d,wX[J\d,wwK8}/Yal $̀[> ,Գ9.bc. ai[<6݉*dNueq?g ut& ,zQث)? -rv 4d?= 4d?=j 4d?= *a K =gלP'(A|ke~ke~Yv"ȯYaM8 3|-XKyCUӻa>Ifx*0 m|RūhKFI;d᭗[& lM>` (kwC-NauM\k$ q+ZģjX=kjX=k (y$ ,K/G5Ś] ȶFv o@ [zy`ZCAFڞe W96 9vP 9vP  6{4 #e?L 4vj4v4v $6xE$<a>M LLb +cWwfBEB;ָ?o \o zN. +/uD#A$77ΐƭBRv l~ GHuѨ8uѨ8{pvi 0RR0>0!<ʌ AYUOQBZ+_o^riJm -Ċq%mz ervkV yG2zW)J=Wl? ֻESѼ[ Ѽ[Ѽ[?t v?t jΥŜ-~N?ӟ>ߠ֎eߠ֎eLpJ 09 R09 4sb!$Y ,*'o%jNYd QP=]N_rZyAh|:2%RF{'XcÇeO1UEY E E 1oTYζA7xJjaqbL4Dtc(sC\Qmk Qmk Qmk fL"!^ $fL"!^Yl (l fg8 PiGSNHCb>rIXIgN]]j] ] ,&ſ 6 MK곾,S @v{9>? aJ S[oN: g%kڎ%kڎ*ϫ4E.ʁ= 3.4.2') sys.exit(1) try: import cairo cairo.version except ImportError: print("ERROR: PyChess requires python-cairo to be installed.") sys.exit(1) try: import gi except ImportError: print("ERROR: PyChess requires pygobject to be installed.") sys.exit(1) try: gi.require_version("cairo", "1.0") gi.require_version("GLib", "2.0") gi.require_version("Gdk", "3.0") gi.require_version("GdkPixbuf", "2.0") gi.require_version("GObject", "2.0") gi.require_version("Gtk", "3.0") gi.require_version("GtkSource", "3.0") gi.require_version("Pango", "1.0") gi.require_version("PangoCairo", "1.0") gi.require_version("Rsvg", "2.0") from gi.repository import GLib except ValueError as e: print("ERROR: Not all dependencies installed! You can find them in INSTALL") print(e) sys.exit(1) try: import sqlalchemy sqlalchemy.__version__ except ImportError: print("ERROR: PyChess requires sqlalchemy to be installed") sys.exit(1) try: import psutil psutil.__version__ except ImportError: print("ERROR: PyChess requires psutil to be installed") sys.exit(1) # Ensure access to data store try: import pychess from pychess.System.prefix import addDataPrefix, getDataPrefix, isInstalled except ImportError: print("ERROR: Could not import modules.") print("Please try to run pychess as stated in the INSTALL file") sys.exit(1) # Parse command line arguments try: from pychess.System.Log import log, LoggerWriter, setup_glib_logging except ImportError: pass if getattr(sys, 'frozen', False): sys.stdout = LoggerWriter(logging.getLogger("STDOUT"), logging.INFO) sys.stderr = LoggerWriter(logging.getLogger("STDERR"), logging.ERROR) log_viewer = False chess_file = sys.argv[1] if len(sys.argv) > 1 else None ics_host = None ics_port = None version = "%s (%s)" % (pychess.VERSION, pychess.VERSION_NAME) description = "The PyChess chess client, version %s." % version parser = argparse.ArgumentParser(description=description) parser.add_argument('--version', action='version', version="%(prog)s" + " %s" % version) parser.add_argument('--log-debug', action='store_true', help='change default logging level from INFO to DEBUG') parser.add_argument('--no-gettext', action='store_true', help='turn off locale translations') parser.add_argument('--log-viewer', action='store_true', help='enable Log Viewer menu') parser.add_argument('--purge-recent', action='store_true', help='purge recent games menu') parser.add_argument('--ics-host', action='store', help='the hostname of internet chess server (default is freechess.org)') parser.add_argument('--ics-port', action='store', type=int, help='the connection port of internet chess server (default is 5000)') parser.add_argument('chess_file', nargs='?', metavar='chessfile', help='a chess file in PGN, EPD, FEN, or HTML (Chess Alpha 2 Diagram) format') parser.add_argument('--gbulb-loop', action='store_true', help='use gbulb event loop based on GLib') args = parser.parse_args() log_debug = args.log_debug no_gettext = args.no_gettext log_viewer = args.log_viewer purge_recent = args.purge_recent chess_file = args.chess_file ics_host = args.ics_host ics_port = args.ics_port gbulb_loop = args.gbulb_loop if gbulb_loop: try: from pychess.external import gbulb gbulb.install(gtk=True) except ImportError: print("ERROR: PyChess requires gbulb to be installed.") sys.exit(1) # Set sqlite temp dir path os.environ["SQLITE_TMPDIR"] = os.path.expanduser("~") # Set up translations if no_gettext: os.environ['LANG'] = "C" locale.setlocale(locale.LC_ALL, 'C') else: locale.setlocale(locale.LC_ALL, '') # http://stackoverflow.com/questions/3678174/python-gettext-doesnt-load-translations-on-windows if sys.platform.startswith('win'): if os.getenv('LANG') is None: lang, enc = locale.getdefaultlocale() os.environ['LANG'] = lang locale.setlocale(locale.LC_ALL, '') domain = "pychess" if isInstalled(): if sys.platform == "win32": locale_dir = os.path.join(os.path.dirname(getDataPrefix()), "locale") else: locale_dir = None else: locale_dir = addDataPrefix("lang") gettext.install(domain, localedir=locale_dir, names=('ngettext',)) # http://stackoverflow.com/questions/10094335/how-to-bind-a-text-domain-to-a-local-folder-for-gettext-under-gtk3 if sys.platform == "win32": from ctypes import cdll libintl = cdll.LoadLibrary("libintl-8") libintl.bindtextdomain(domain, locale_dir) libintl.bind_textdomain_codeset(domain, 'UTF-8') else: locale.bindtextdomain(domain, locale_dir) try: from pychess.compat import create_task from pychess.System.LogEmitter import GLogHandler, logemitter from pychess.System.prefix import getUserDataPrefix, addUserDataPrefix from pychess.System import conf from pychess.Main import PyChess except ImportError: raise pass conf.no_gettext = no_gettext # Start logging if log_debug: setup_glib_logging() if log_viewer: log.logger.addHandler(GLogHandler(logemitter)) log.logger.setLevel(logging.DEBUG if log_debug is True else logging.INFO) oldlogs = [l for l in os.listdir(getUserDataPrefix()) if l.endswith(".log")] conf.set("max_log_files", conf.get("max_log_files")) oldlogs.sort() lel_oldlogs = len(oldlogs) while lel_oldlogs > conf.get("max_log_files"): try: os.remove(addUserDataPrefix(oldlogs[0])) del oldlogs[0] except OSError: pass lel_oldlogs -= 1 @asyncio.coroutine def start(gtk_app): yield from asyncio.sleep(0) gtk_app.register() gtk_app.activate() def glib_update(main_context, loop): while main_context.pending(): main_context.iteration(False) loop.call_later(.01, glib_update, main_context, loop) if gbulb_loop: loop = asyncio.get_event_loop() elif sys.platform == "win32": from asyncio.windows_events import ProactorEventLoop loop = ProactorEventLoop() asyncio.set_event_loop(loop) else: loop = asyncio.SelectorEventLoop() asyncio.set_event_loop(loop) gtk_app = PyChess(log_viewer, purge_recent, chess_file, ics_host, ics_port, loop, splash) if log_debug: loop.set_debug(enabled=True) try: if gbulb_loop: loop.run_forever(application=gtk_app) else: main_context = GLib.MainContext.default() create_task(start(gtk_app)) glib_update(main_context, loop) loop.run_forever() finally: loop.close() pychess-1.0.0/DOCUMENTERS0000644000175000017500000000007613353143212013751 0ustar varunvarunPeter Thomson Tamás Bajusz Thomas Dybdahl Ahle Thijs Vermeir pychess-1.0.0/flags/0000755000175000017500000000000013467766037013355 5ustar varunvarunpychess-1.0.0/flags/bm.png0000644000175000017500000000304113353143212014431 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLYIDATX[lTEsv/Ͷ`dHc 6Bb >T$ZXQ%1EQ<B EJ%ے.4嶥{Ö@47?g}ǰ4MӴ+aXc)u]u4Gg5o$kiZEB!Nv-X,Ǖ@ 0ۑ!Z/ix;Za 'oY߻\0i=ᢽg Dv0dȧb"PƗr3cCt[]@v_Q '!.q \.(8.,>Psld`3CAxd ?A,r7WTqqȱ@8RZZBs o4k ruOu6\_0Ob7ˣ>osJ.m]o>.1Y ϾznpRr("@{&{L KnZs oki?h֙Ki+]{@;ӿy뱮pvqkePXzy_*}ѵw if^`T'_ ,pQ6?TkYr]#>҅L +/^;3~wEln`x L4BLzGgg0  t\.됪WdWm`dN2dU8&0~)΀܂ *l)%i"//Dv0 ә[ .kyw+@)AY$=sCO|NZopP$e,0 PиzMz/vӴv];:::! B!nȡZ+Zu}2|>S %%VQ%[rh4wllllljۛqFw&0q7ekt:N'x^ P[[[[[ d2YYiy?^ϘQUb99H$dʪQUPٳ ՉBxnOdBa 0`042= ~?RT*Ҵz!0}$(i(VIjcH$twwwwwgo֫A/^[eeeeeeOnb˜gmUl˺/ť+Wuc ӭ&ݞHPawUJݝol,JGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/mm.png0000644000175000017500000000242113353143212014445 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIIDATXOlU?oNgaaTL6SRIWI HodFNx$j D'ݽKԚ6at7lL;umn4^7UbIajj,iiRk$هozZ!q,X>|>7m*|@ lc Cx<~fŽ^qDA>&okߎ '3\G9 /{2 @Ā- & }+9zl TG=T*Je& q?ZSWr~}v7 >#vVqI3āj$P:9 8Eh,ƍK#"EmW+ćֽsp39qAo\I!l3XaT\. b>_&ƒ39%yv]9% UnV]m rabɗd^Գg!;#t~ NQ&IENDB`pychess-1.0.0/flags/lv.png0000644000175000017500000000260013353143212014454 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXh[U?4}Җ+ f&nÍ#"P+LXa 6S7n\&MAIQ[2G.˯6m8_w;` kXCii/$w-뺮뎳4Urr#dBb?L&lֲ,K\w,>P8iےP+YL*^tQ aFOqqA 3/EEhzA{yIr\^lfyқ23bh/`^,wez* 0@CP>3.ˊhiQO3աcf1pO'ρ9Jv2C4ŭdz~eҤ4a7Lk;6pZ;Jb?5d;έ[㑈ZS)#Sb ޾=>>1QҀ٧>O__ֳf ALb<ԿPz#Ƀ]>^'=xi"hΦR[12u\affJ&λobJB[[[[[BP(l&l +0=fWi7111198^z$LNB"H$ '|ÊV^<  ضm۶dT+[w`&Z֥K####0x<%'U TZ0 04M4P[7EooooOϮ]l6kYW64RT*U52&ʠW UD(gch4j*wQalllll S,Ţ Qۛ ZCQzy\.A,b$9rDc|uwKZ*IzJ-@ T![ѹK,>UQOͼm.^6[Ύ?d,}$.?_P,y ܥPbwGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/by.png0000644000175000017500000000202013353143212014441 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLHIDATXVOP AiQV!RTJeFȜHLD´M"ELbDAD];wᄏx#q'$I$ikFKcߗeYemy0;n~ͦBy B&p~h4ӧm6G`X,.yggό xvvqaYoϿ./'&yy$2)Puoi3>!4MNNL4 B(,˽Cld2L×eYBo w^U=)f0T@Oz/,.gt --iFT*˞((\T*2P:@7)a p_Ot$Kxf󳳖eYdN%.H8ki-#{DBP(t:Nvn%)fY![.0qqjZVo#Kvoa!{z:iD"H$8NЇCLp,/W|n\FM%2 f; 8ۓ 1@sGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/dm.png0000644000175000017500000000304013353143212014432 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLXIDATXmhSgϽ55_jMbg_8&"2!86̉20S()Yu&lm~(2QgSu*+n󅶮Qik㪩&i&1mj[Z6/>s{.a cx&EQezgPUUUU]Jpn B@x p8D$0*oR0tqk[3a0G>Y@z%!^ƧO!i4ܙ]w/6xfQ>3Ӹ T>㷛ljD"H t?LBu軄 *^_\aW(WC/L*Mc 8Ug-3@JZ,n +޶Q#/#N`4/ŀt!t\9aճ=i!z-xr [f,L7N luTɺ7Ϲ]8 2O86ƍ J5O"?t:ǍkiA6[ZZZh*/ JU.&[Y,k쁜\X^ҹw jC,7ט~_F9vn+ 5tL@n~m63kkkkkkJyOvn {!;;;;; #B:Ng~ӹreccccSki677775A{{{{{;of&^Ĥ^'W\\\\\ x<KɂС9~|ii(G"ǎ||>A$bndr'0ll68N px<F ֯].UTlY8G"N[`0 & ʍ(+(Bv"2X!~W2> z^/XbX,SJ!RgSb0`!,`6nhmmmmm#g͛Ms'* Lk۷GjPI۟^bmTJjI%K:zّg쁡E"ݪwGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/jp.png0000644000175000017500000000125513365545272014470 0ustar varunvarunPNG  IHDRw=bKGDbIDATHTkAM2IHIY i{򐛤xPE_MQhr(TzڴЕVڭ&x&f7ă͛|o"ZpuHMH뚈3Y[H<D`fFr 1lVps7r8?>07ƗWEf]fj Ʀy=؜ۯyI a(?|=/TaWݟ$Pu$מ>#l)Ʌ7Z>bju_ "J̀L*Z=""@eYz@ !+o`4 !@D(PJ19[t-ebqf{Uj<shAD r7$d2(Jv:|d++˷[-MV 51`3gbC̲,8)R}(ˈz=T*l'ۡNA)-ndo<|r.|sCsb MA|X5 |/C-w΢) ') 4t;-ut)ZbX_O/<Bͥ|2J(c A$GK2_[7-yr l~qM0ꩥ7@}U.9t\h >5 dw=ІAGsj/o,L= 2+'׼ Z,9"p72y|UG]]0M4DMu!ygCxާvz.1S\.%\'Mz }ud(sZ(Mm~c'0udJ))a:9|:&:Nөiv:D_5`۹rói@D^L:sH<`6@h_% 3G9Ƭ5 x ƕPE:huq322222~nT­a9P[[XXXXX(DUUUUuu"cUɵkih_HJJJJJ)@ @MM tHI1iJKKKLnv]?uԩ2C^+8wL_o[h4VUJWkrv=;C[7mCE=D"C|G KqGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/kz.png0000644000175000017500000000260113353143212014460 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX]lSe gdVQPLԐiya@ @$yb4c2hL\ xkW* [l;X9^{׭]lo~><1#TUUUuѲ,vM4MVΫdkm/REQG9 \H$ĢEt&~ǩF@Pql,KՕwpddt4J`!v>Ё^9p(^xݾPe'\^( B (o "HaXu4G|;à| d8-z|PÕRz G@uÍortaŴ¡_`1 "`f-Lcv 8ΤCaO[߅߃!9,l9\U ν` |QiƄ~*XA$!u r.`]6 ;  ! 8/(~DE*"ul۶mSUMSD P`#G1E` mu D=#peh3-~vj (JsalVYDzUU5M@ Xa- u,} /`~ .zxff8`0 |ɤi\,=}/xQg0 .X \1qNRSStg w̜;bgeY%# P0fض߶u]u]axxxxx 9աXک%Y\W^)kkkkkk ș--Tjp0rIm~}}{{*Ng2ǎB B A&#^dqIDz]Zmx0 0:::::: ߰A*knڔNәp8ՙifqcɬ|%=WJ!㙞Ȗ-ebX,d= H$@WWWWW|>WnE)զDJҐVRIjel6 x<O'̞=8psji a/]@ },y |>aoT\r\ڹOO"!&T饛yK[>ZgQyJjIe3ޔGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/sz.png0000644000175000017500000000307313353143212014474 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLsIDATX[LTW} H"JѤ14ڦ⥦ T/Bk[1)ijS/>UBckS#CJM6u0ȴ 3a}8lA 6}Ygk <3*_ 90(3:?do Ϛ3צBkuS wcF-Mipۋp8/m,ܔ1X+L)dYeY.9B@F.]-/1W)mfm0yGq=;t?LpjF60ot{IH9rn(F+ #gfA2W=x@  odUbjbItt:x<pnʠ0 cl;zC(***1cH$FϞKM BP/ꬺU=YZHnʧ!%%&i~߯ijlW*HbXLӪH`j`Tn.hnnnnn~d-**lYY܊myF(,,,,,Tq`ShMl]=MlU2%H&ӒO 'T_Կa%Cu~8bOf/šs_GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ba.png0000644000175000017500000000313013353143212014414 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX[lTEsNwK- E*6K$&H7 bY-Dhx+$,FyPBB! 7 %al^۳s|8 [ |gn_9ppwi-Zd j뺮K94yp르 B@v+//FQ`C%`!ZoRv݆al33xZv0<o怨clZi%r@{M%H1t%n՜\_|wfz̮*.gAggggg'D֋rLmڷYZpmp8x<((((((z!1ò~(----)D"h- BaY" H*TU K8~Y04"""BG|+FV\#?thG"L&dIZ,.'_^U5nf@In;Gj'?tk- )b~!++@Ž֊{@HuÅB}YB)'PQ&Ԉ hоF{wv Pn8Ӥ,,YYzzp{pXIʼntZhm#%'ӷ@8ShHj gZq`ndnQHDZ^}\0~ '20d;zdžՏͨGdI2,})8Bj2q3Tb/SFmoOGƁw67}~j30h.]@vAv~ŊAH](bI$IR2Y0`(---8A |;@0[ۗl6 PEQ:eRz-l./FcxQK\.^q:f10),{6 EQEbX,H&eY/\ Դuk[[,P( efeUs ։Bx'gQI$I82k係vKRT $W ԊK$Dyk^gNS~r'444444s{sd2̋\q*>9샾X$/|1Ry>SgGZGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/et.png0000644000175000017500000000270113353143212014445 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX[leL;h e.ҥ"&\\4ТƤhƒ Ƅ>&$Dx0I4R.mն^;;nݖ6_99|]` XPEQ;acRUUUUӜYJ\r6ӴB!dS!f.``  Bŋ#h4z˚3 !e&TVVVVV϶ϛ-``8 ߽vSG)LH cR,BFb։l>jS'+22JRTY g̩w%Vc`}Fi~ PR@j dθlM#WP^.V/*xaK>/`R u,Mmo%>%aphu9bVJt+K[]WT`/˦1,CPj$6R`|bB76N}oh\:»?n~G=՜$$W\ y̳aeeZ[;, +~a;4V+9_Wy N7>W)L@ c3E$siYR(*$.6!Yzv_ G1 Ϗyc׭}e`jW#`įpuMAhhƚi7x1Ju;HCPQ4MUU-liن`E,.8xݺn \';|Cp.<%P!nv ᰦ6 y#} >4+>_94M= n $ 0 0d&i(T<]N4M4U^oȌ l@il{x<iY]m7ztTRi[eeee[F"ٳmmmm^y^ ======7ӉɉX"[?p8u]up:N!:;͛f͚#H$p|p8Ӂeg(;(BDv#d> ٴI1@ E.-d2TV!)K RʆlbX,`0 f[67cݹFp\.KIæСCVR>[˺/%K9_I&4\簔S16}!o_++A6GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/mh.png0000644000175000017500000000314413353143212014443 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXileL;BɖR-@*H0XPBBTjAZ` z 1!!ĨC,"mH-TVؒ=E:.3~-mS /yy \U\e!I$Iee(7dž!˲,˺?[y !!#H$_7CNNNNNN>lTYo1ŘB#u16"zB\g| H 1Rd2^0[{GW} 0+ՕH$Do@3l{uuPxW*h6#'i@OyD&ǁLI@[|"[퐙أ'ƄA0u%2&lv.I"˲ ;5<guvGn$^v3Z#gWa\rwͽ&>,I@=M|c!Wx9nvgd9(Dwf3쬮5Ȥ*{rqz0aMӴQ ttp:ss ^]WEQYnjjjz! B!0; dû40k]zBxܚ9ahMtA[1|xqÑȎ5555x<`0 B$bvdr'NVD}flt:N'dgggggCyyyyy9twww;&'O3'#}jkkkkkUUUU5Y#Z+UDX\N<|>$Y%3P_____b$UUUUUU M }% %΋Fh@ hI&Ykϝ3y;\.e퓄)U.\bӜajqZJH+n}e@X@gԎ|_~$ְ*GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/cd.png0000644000175000017500000000262313353143212014426 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX[lTEsmJE6J P"^x0!JCL4'5FZ41hb54FAjh7bܮ,mv9{Ƈvw3s`Ŵ0 0;qXJ4MtݙWLw]/B!tS!fND"H$O3LFH9Sf^-! f {Jrڵd>?w,/,8^1d8bH @ .R@}}~Audh(J$ N!vr#UBF\ @ ~q`ϰ#oo@\ psc|ꥻ^.֗(Qy>cYxOL 436| ɥbun8 ~!be Ot'qc H9EQIlwARmXھyюrwoG\w쇁rp8/'Rhz [)z\u]3 A.o@XUM 7s)Q6--18ζm{Μh4)e/yH'^ߺS9AȽ4XB c B%rd:>@2LZZ&^1彵.QJXYy'~R>S9%%㨍3<rwqN` U¶l{˖^׵,˲,ӌD"^x 9TXiB}g\Y'w׫BRJcܪھ=J3Ç;;;;C! BP!Q/>:0x K^۶mFFnаbt:ɜ>pYY2L&ue+ 7 ݉Bx&'iPqh4F CLɛBWWWWW`0\. ]Bnj/M -uAQl6f!b سGɶ^J^ 7j!mgB{b5)[Z,^);kDAZN? ]Rnl _Y_ku&:GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/pe.png0000644000175000017500000000270313353143212014443 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX]hTGs7ޘI4R(nb|TRCm6"BA-1`R)Z+})Z"TZlU( &i4&]1w;};ٸf1%s̜3?3% M4Mۿٶ;x<YXud>{qńB\x Fxܲ,K\ ^JǁJv 93MzӵPdԀoyZnޔ@[n=۶E5?ȝr#vD{Ȗ ~ l1`@a˻ ۑT*JƗ'!:mP0rcA;,oJ@w~exVBO;u՛7f kti~3?8 <%u .K\O9tg(+J1# M@:} âOS^/{xFi%tz@u΁h;92*OqxCT # H9eBB X1@,}Fž"L00 RBgOƃ17E&AIil92@*=Oj>\rRqq^Mx6`1#Hn#8O*kX< ndD4Mr 8-{7 r&FQQQwD?UaOoqyJ^+IY K{ :j6`uw_ 8$ rq[w|4MSOfT=oe`qe6?HiV-R1^` =oh@+<śҏOsdWg@X)g۶m*]6I8 kmw]u]xaxxxxx2H7Trv2eۻd욛UjeM[XLQi[%%{beuwD"H$pj76 0 |>******&'''nuߺ%Ꚛxܲ\-,4M4͌cUY" *}xP.DZZKBPHT\@+`0]]]]]]PL&ɤ~/D67rsAQCIU\T˷_"H$upeg[WNOrpq=*?:ztjוUɂ"\j^ŒO&=H.{XɹBU>C EGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ms.png0000644000175000017500000000302613353143212014455 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLNIDATX{lSU?޵t :¦! YDBPLD$D@b0D%hgPm斠Svݎ[{-{=\883BQEQa}RUUUUӜ|<|ӴńBDD"H$O$ i0Bη,ӄrðG]?? wΥHt3\}PY2^,' NuAg|?//NlqV/3v~Xio әL&Low< ԯ?۵ 2zg 9󶗯&W, ", 7P mI&_.gP̜)[wUQV^=@ѣkC3.,GoA8vG妢zׇPb\(^`~ZSp,+`Y[YQA_>h_kyyZ8u!Yj:;si-迅3Ւ aszK.7-_TjO/ 7O5Ŀ*;|7!Y3UN(;nc[?ە8ٻnz{tCǡ=W7K2OH6G4ziۭ(*D \\,2\i B BB]z,W[/0wŶ U5~~F MӴiӎ d2orUXXX(N*Xihse2 Y^ e+U͏`Y(N2Fu]םά' ykxwGdl&GھqA;eͲfYaDp MB**4mn4NT՞p8 ;gt^]]]]] @I)hx׬Dbkmu:[[[[[[! B!H$>ܣɍG+`#>Ur\.4M4z^!^^QSSS`exWySH<|}~)@K)R*N XJYB\|S$888)%as11333HSIç>ޡ4i1)%y <S Zm&.*vks (jvZk;c[ܿ3OzL.ܹ}aDlq#YIzIJRxjg1~9nr4͑o1@uȹٌ'UËWٯlirǗfP%RԂZQoDG!o>楩 tZqoDR=8Ru(̎H!s,WS \Zz^ud8<+CϳLFZJe;,J+U]&.SӅ,U߷gϳ0^=~ןJ"!\uNlYݡR _4t &[%-x^}Xl|r=X_߰666(˄aR8Rv~Щ81992(: oAf}8CF1??O,;~p]WEZqnmmBXz"Dk=D[^ѠT*UtlhO2(. gnMԆȴz6Ywӫ !e zIENDB`pychess-1.0.0/flags/be.png0000644000175000017500000000123413365545272014442 0ustar varunvarunPNG  IHDRw=bKGDQIDATHUnA};k]P4ң4Q!?@2-M HuIHv$K%gޡrw8RRH{;ovfg/Q !"RڌrF떈BZrO!tVzA"8 N`(J@>sYo?|Ԟ>Ia덴8NA߼x|g ۉn ޽aq0F+doO.%8ZHR\@.Vօ EC|)}H"+aLPֺ@DE"{'ɜV6TrR'pe*1 V̓曤Bx])"1@uBQֺtQofv  Dkm),zEhzp0Ilnnya3c<CfD)~Dr_8c<#c0t]FpH"'$0J[~Vύg^a`#_rX__Dv8fl>ƩoB?IENDB`pychess-1.0.0/flags/nc.png0000644000175000017500000000275313353143212014444 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL#IDATX[lTEsN{ť\j!k/ A -j @m5>(RA%DEHtk0n`bfam{9qe{/wwqw1"4M4mzk[s)u]u4ǖn49zӴ !*c'~NN(J XB4t:xҦڧa  /6 I3)rNy]K<!ˋ ɔQ9m|O~ks'X};H$vl&UHtj 84ǽ=  Lmӽ÷-9 w7Jo_=5]Z3A.9xyƂ̃5J+Dnredy^ (C-333S Cu5PQ>}fYI~ N a>#k:K"XJ/!~1j(*****{z`0,P[͖->w,w㳓s)+$R`g'䟃m),1_<*o\.ʕ--ia>Bw$)\\W\\\\\PyyV=ujii__(zu>YNBsg"+V8zZf_ -FQM" G Qm<H$@GGGGG;Kld^yy,>nV$aQh۶ClvKV%RދTrJN|jxj4ؤ; VrP"Qg!GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/sx.png0000644000175000017500000000137313353143212014473 0ustar varunvarunPNG  IHDRw=bKGDIDATHUkAMIhZTډZ= XoœPEC/=A!^TmHZ 5nmͦ.5<(`73o{?{ Jh$"9}C&cl&s\G4ADw@ _L+3oW*4`pj:g߽{sgg(o_>n'q,j5vR5t>wW??+S݆qA9Q[;C ^|<)@wȶj kXJ)b1!B?E"nk#s|RzݽG"0442 ĄQ(|^^ذBg*\RR.]uVVҶi|u5 0܋J*j`1\4 @_LZ&chtBќKiT 0Msض "FPe{ݞ3a!ՅQXqKlpؙb|5??4 mC)JRh:ar.3 I)5ELLL P.)L2'}D)e]vvvfݾq  S3>GJ1Z z!=_Zn$M|^95 chԈMte2ֿ’R.IENDB`pychess-1.0.0/flags/ec.png0000644000175000017500000000302413353143212014423 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLLIDATX[lTU}N;ҩSHS@b+m BI Lj0M@C'J&j>bUĈ`x!NKB[:9ۇ6_Y{`3iVRb"s,뺮Vōg'o|>!B1bb]]̞H9Q&~;>P4 HOOOOODLo||l|d vv޻}g ;@N7K#Goܠ\dx[Q0_;BzY#Fhtt$0ܣd~= #!'0>0.8{SJ `[4$&$X l.Gu8iGpeRR 0NA7vn[!KUc0wjX{8:K^XR9 +ԲO؜㖻 A[.B2YlMBHڱ` ҧﯼUEcqG"XW%4 %n.lHm=8"i15h_(>b3E|*ꀃ43J<6ǿ_W?- ?"m@h9@Eni=eaai  {vyv hZl'WaEQ(AjyWE϶?@Vp?_ ii@ a:Y)F HHhnvq @5111Q,]u `uK68Ka=@Xx d"X.>pLփ(j`D2P&a <&˳ٺ^b 7yu7(+#а2YRRF^ts')I`55ˀuH)D"HDe!8GQQCCCCcaX,ŢMMMM 9|^NL͋o~gh^AAAAA""33B|JJڲbNu,r F67PbC0llZV+8PZZZZZ }}P(bk"7777'gjj^ZXUV݈;.T'b IDž)HvnMS-3P_____NtB\8ÚVYYYYY)D6% eUAƓd `Z[[[[[řfӖ4mioߞ j!:p`pnʹUٸ"V\꽲7:zlH"Aʎ? UO7 /_ͥlcGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ml.png0000644000175000017500000000212513353143212014445 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVkYv:q#5xS^GsYžޚU,!)t*$)T&Ûo8^|8 NEH$Iҽ{b8b̹,˲,x}a%^c`n3g]˲,%`j8#y]HRTqtpTM CKgjm,gicxt=.x'O="?`0_Dz˗oRZښ뺮OOi2K/"eIA&5&q 0 Cd'wkZVUX,E`}I*r`o@AL k({m۶ 4Fqh ǛtZ୭jd2L-qo+T6O|$ݦ"tà{x|(G,Q'8>vj4GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/id.png0000644000175000017500000000216713353143212014437 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVoZݺH_+:D"yPP@B &1ԠnX"W0tAzM1C,I.D28mb7ƾ N]yyzKs^89~ EQEyD|_PUUUUGK9z1qlt{{eYuR8CzbTFc/@&d2/Qqöʷ߬y 6"V:|ȉAi10&{ qڛ!M-uFcgw"=8@SyD1fBH.3\]p|uE]`_}yy` x1apm&Ԯ֮v.| ힹ9' wIii* LP:P*J0yyRT* cQnq jQm~뺮 ZV5d'ӧRO_KKR)Y#dl6KqBH =~Ku2)%Qr{ű,z:B@0'A;D*GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/bo.png0000644000175000017500000000270413353143212014440 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXmh[U$MdTfm[Y3Ɗ( GQ(vKDXEd"2Ne!cA@6aSޱ]^=~=M6--_p?n1/΁ɻ { 80Uxq'"(YMV@gIXYm,p7ݳ*+ Za7dOK~e#pCFO^Y;/8vZڝ9 taօNBy,)m. We>u#DTTvvNv`ltx"z~yL7׶[o< Xm<w̤)F XbwHL%kzL<zH /6-[&+C cd7_}{l Q)qx+p<]eYeyhoooool6mlO 6mۖJRNg<ㅃUgՋ:BM*!l☦aah-H$D\.iZWWWWWT(/E %UCJQmxL&@4Fla˽{~+=^SM={>b[R*(z/ɥ\*BĦ.!,=P_P"/?0*GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/cu.png0000644000175000017500000000255413353143212014452 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXV_L[U{6tRf7\E:S%貑i6;ƒ,f2D! qqL܃gf SĄ)QfĸL/ va-{}8 +j|wuqqǎёѱa ^t5O&;/Me;aןj/Fsv3̟c^B%IJKC!YżDQ4fy`Qٝ/%}B۞53]Vߺ~b;-j> 1r\ܜ( I`(fTK'Oۀ hMo0`?:YhJ{/4M4 #ʖ!IՒ cc. >>>6Dh4 r̮,@VٸxO6vnFt8hq&˷m;z4O$TőO|>"H$Tpgcg;@/4EQE@$IfxŅ{׮CDBU~7EQ%0,Y?wYN峚ȑ# GdYeX˨|"@ z{{{{{T*J8z^BrɐϟL̲Zd2p8^1'wpPDD+8NɂJ;sb2[s_䊋gvcq։SI3|5X !*[7^V)s/GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/tn.png0000644000175000017500000000217113353143212014457 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXV?LQ;8i0\cMl i E'7袃 ql,L[7MS%M+;Gi(Ѹ[{߽}ws'BA<#cEQEnim_cQ` iiõaq[w0Fc@( BŽO].yyu6+=Lޑ_FA1^&|_[ nj|t>@f63 ZTGן9scJN,4䌜yXZ]ZblzAqN'@L Upn87`4<{Oɇ̇ k,,x[-䥼+]7gm۶~AEU`kjk `>|+W`oroWÊ(_| I8x=Ixx<wwu]ץ?;%οsnܾ温s;^8N eYEH;"p%V[ BXmI$IbT*J7yd81k4D" 43ᅮVIJGsZ cyy}}}=l6fr\.72nJ6nv˲,2((@0 @2L&_}cbصkZfL.r\*K7"U㳂:^ʧ$±,UUUUjgO_!y JR)4M4!NiڵIp󻁤A &5z^JRT:6nn"nh4uzs-k/EɞU|絎QZd;[Aios/7~ZGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/unknown.png0000644000175000017500000000245513353143212015542 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLeIDATXVK[f&NFMJvJAW\D|Pܔ,\ٍ(*ōtQ Bpč ĕ@.B&w%( NZ3y4b<>c69g~7 g<^,˲7*ׄpq=,gizsayp߿˲,ryy"J[c0 'DfٲY}(Wߔogg?{I~ 5NMioڛ2^@H !=f` X'< Oζ]>?/..... Y$o!Ux!8)ҽ޽޽NH"ãã#c?4N$O)wvfe|y81k|&}~[BP/ˍˍˍ@qF7΍< +r+++<0;; 555@?O$TÇ``0NNNNNNUodqh`ϷA@EQjZ NR˯gիD"PՍP( EQ1,i~mv!_3:qX,XLOOvn7`d2Legfffff&FFԠ6Ĉj%d2 ۷_Puuuuuu5t {sAX,Tr\rT>|.YOWC2nT? |d 1F=7D]GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/nf.png0000644000175000017500000000261713353143212014446 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXV_H[Wν1MmHחyZрRD(iZ/[eeI&`ɇW)NՇ0 5jb%FS7\5gc4Dec/~>8 Np Am646TEQu=3u8~]gE"Bc?HB`0 ϝFUUU(͔̳AO$Ii̚ސUE~+_/@jQBj:P]rzSyz@_ q~3މ5wk"f"Ok"D"H/K<$ 6 4C&Z=K?*Gn`d[72 ((FIAu& ؋ˀu^Gں={/'^&_W0k_!3t3̻W#KB,"`{< LvzEC梍'"=~35N@:C:PNP0vuDZ0n|ni9?fҾ]u]QϚ<},?-?%.TK6V "//VE12"Iu}M&j_____!KKKK [KnU}'rG bFH$r<ʾ nC eajjjuh4Eqzzz@ X ss KI4M4,.fDv͛H4ϟ\Fr\#'+TR&d2,˲ XV vlmmnnnVV''IyyyyYٕ+h4^n۝((ɃyfyGq+@ |>'dQt:Nb MttNj~ߵѽ{(.f3; 6fs`jmy̜ǘmlH+>/9~@|o$? lŎfR; /%ܽhiGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/bl.png0000644000175000017500000000124113353143212014430 0ustar varunvarunPNG  IHDRw=bKGDVIDATHU=oA};kQ$"IqGiQ"@$$JJ**~ TqTWQD( #%w(;. 1jfܛ_%DK)mfqfe-5kɘ"p\ga"8IN`7=u#o) xJ[݇'Rz bc))dž硛uU\@+g0ON֖HIDY¹&.H nn\w\_<J$v Pֺ@DE"x"dc{s!k҃efcJqG]{{8::by3/%R DUcJYƾEY{ffsj!ւ`؞E{XsssX__GպX^~ omm ̌^!9ljR*N"pOay666t:TVETOHa"1&U{ggg888#0 ./+nG( Fl> rabɗd^Գg!;#t~ NQ&IENDB`pychess-1.0.0/flags/th.png0000644000175000017500000000214013353143212014445 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXV1hg󹕹5HQbk &JPNdfd CcS$l,[{ g$8q$I$uK ]W0cQ޾mZVn4My 0m8#s] H$ ɠĨ;;䳋zCV~Dvw~?j7c~Mpf~Z_wj?<ܹsX_[<>˛X>B8&~[O.y+¿7?x^ߩ_l<>6g9N뒤DEwΛډy8x+v"ssۺ9yMӴ)E\%I K B}vHt:i 0dYJ\WOߕ{sa8C܇kڝ;JR,˲,KRVU@l6 I`>_&d2D,IQNZQUUUgft], bQbXFLSLdq B@?j((iX,l6޵k"˗liiiiqƍn5/JRT4 0 ?0U&"UIA',s 89'Od\(rr\m۶m|>g,؛0}5HRAZm~eYz>`'ÇBnI!?|իFHRT-z udxo+ɉ6'y#QqZ-z:8D@0ɣA>N3|.|( w]GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/sl.png0000644000175000017500000000123113353143212014450 0ustar varunvarunPNG  IHDRw=bKGDNIDATHTAkQf^󒲑jB)o` U"< ū"-mmICk&  oyfgW 3,J)Qh19 Ƥ z~`f@+#"@.ٟ:6Ex]@)bALT*d% p6!x0!| ͳFc@ 'S_J8SJ>5&{ۉy:9WdExFL[ćG°=/LOV*[(~䙹wwHLu=Dfaez"` C03Ce]\\8/fbK.|簼V#67vO%vO=|}5ٿ3F:n%IENDB`pychess-1.0.0/flags/sv.png0000644000175000017500000000270413353143212014470 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX_lSU?ޭf,L,w:mdHEL  ( d&FHd!LH$b4 &h"f^K6IA{pzVэ-_w~Ϲaa]VRiNN\>:b1!B1bnߎD"Hdxܶm[,Z_Jׅ*Q\ ޺uN4 n4ß%OBv&<R$(:n|Ƚ{t:NO"!T=! ;dZ3.il̈fl]¿*R!Vgܯwʥ[_ ĪܺL;rb)o{w&"f (crԏM,R^u~YJmv8(b^" G8a~Uxh^w˗C>)<]~@JyHq^y*L&R?* A4.{@ *]6 O꜏Gh`ͽPZ:<Fz@q^oWw<,n+r+kl1qG{x@ -kŊ^x<4z{appppp 9@)eޟzꜬ^SSSSS@KԨDbzVq>r-x`0m":V@!?z^,˲,~@ ёFeK-Y}t{{{{{{aa4FY:EL+@/q'a%StWf(H&d0Z[[[[[M||ЭNHVD"H$>9ElQt7_55R^6] Nob.-UTjZ^6tͧ诱"$=Й "?3i~\GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ps.png0000644000175000017500000000224313353143212014460 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVAhG}kש !mAzAbz0.5j J(ҋ{!P^{*9$(%Kni# Nֶ+ɫF_%BK/~gY$I51r]1\eY=dKQ'ΫVc1cd/_V*JrJf۶M~<;Q<BP(W~x~8ݓskXDGZV\7cmB߭u|\Ɨ相 n t UK AMXǝ6{ 8pi <#|;ǘ8ZV@]pg`as /z8%}@GܼɄp\4M4%Z&rL&$0l6ͦ$RT*X6 @ K&Q98P,b:a0η^ᰰ>>H$>] ݿy~[NyōڧRN?? (4HWO-GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/bz.png0000644000175000017500000000302513353143212014450 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLMIDATXklUwfw;[ZZp- ,b#1B@}D4V HZDA+DI/y `matv-m3=s5\5\idK뺮5TC[/B!T!/P( Fx\B()- ^5Mtfw akk[[8 Y7w UBR7,ψ kEW&@| -XTVp6t)JR Qv`_شm @8cꁥ]N:ƘpnlSg88ya pIKH\ (O-3r竧0Lfm$mG <o0KHa>[ǔ/ZԘz|ڥ3+Lh eo.r d]>yaw::]_ eG_m,yb멛R9ݻF恾ZFq* ho9"lR DWǹYFgch\|+Иhs=ɭ A cee 8n}LG0;NkfSȲ,˲rr4MׅL-k}Ҁ]׿~gX(moGa=&{=[ֻ?35SO9mkaJC |>/+1:;,@-4 4˞p4\QnvЅZ~ywk1Q+ǽO{( -j cO\nq$mAqqqqqqNN$.2s0ݕK]ӬGwO<(\wxOH)4M4U&PhX7| |9s,r\.]?{نhiiiiiPڅٲwҔLeq~%%%%%%**p+////7wh4ǷovqFVJLVB}(0 0|>x<ʠcd{ӧEQQQѤI3fbX<~@MMMMMpzcYu#*{~Plʧo!f 8PWWWWWH&dR*+++++@j@T*^"H$ `uX̖n~[vuٲJw(,,,,,TaShꞏ6R*ȸ/2ɥ+yS~C !-d sX}:?+C| ZGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/hr.png0000644000175000017500000000253613353143212014454 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXV_L[U{K ]BͪI`̇YG&E}q̥cd&4a|0TbO̽8 E`$f6Bs{[J/ d~/=|~ a{ AA8qT)EQEM^r;#Y_y4! }d2L67g2l6@v ~pJ5 p:NSUl7 xʊߌhCٓZ@=ZT*J[@4Śbk׌=4Ou}Ưtfo|p(<o<+8 )@^9o5vy^5b|^Q2.Jy` w/`Ha ȟۇK{_KEV@[#Kەsev7o^}|W:n_{xVnf+@/ 5 Cp?z6qif (;  ^P€pHOP&|3]nj>{.H@:y~?]FA{X;)ĭْ6Y円h4- j $(n|uq۾Orp+ pƳ@P^-P3@/`〹_:..B x<͖J)HsQO}-{P8H)@/rOJ }re}sBm-3Ԡ=er[,I$I(F">=== JR0 @<@6ndr 0T-bdYep8|>(|E#Gd2L6;1133333c6+(w߈\_-$\ȱcGUh4>2&wP( SX,!0SK#;/r9 b ;&]:KK;vn7Qhhh%fj[ri/-_8$B\n? z(wo=_|UP;iGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/mf.png0000644000175000017500000000124113353143212014435 0ustar varunvarunPNG  IHDRw=bKGDVIDATHU=oA};kQ$"IqGiQ"@$$JJ**~ TqTWQD( #%w(;. 1jfܛ_%DK)mfqfe-5kɘ"p\ga"8IN`7=u#o) xJ[݇'Rz bc))dž硛uU\@+g0ON֖HIDY¹&.H nn\w\_<J$v Pֺ@DE"x"dc{s!k҃efcJqG]{{8::by3/%R DUcJYƾEY{ffsj!ւ`؞E{XsssX__GպX^~ omm ̌^!9ljR*N"pOay666t:TVETOHa"1&U{ggg888#0 ./+nG( Fl> rabɗd^Գg!;#t~ NQ&IENDB`pychess-1.0.0/flags/bd.png0000644000175000017500000000132213365545272014437 0ustar varunvarunPNG  IHDRw=bKGDIDATHUkAMIZ#8`jjJw V?(d6}hD;Ow|\%^^-EjuhUn_"mV6 İD>(:( &N2;gR&&r)ühecJ$?I<E/%y5GT*ZTD/fcL$gU&V"۶mUV666eYrkkaL["BVZ.+v_*xoWWV^<σQ?'tX,B)I,..vo*fgw:Zu]cB0sEeEA;+l֎Zhh4\ףe!bNd\A"Ak([1vwww 4;Y333v >lMžbӌ^ zr>?⼗!cq7j\IENDB`pychess-1.0.0/flags/sc.png0000644000175000017500000000310213353143212014436 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLzIDATXmlSUw:R6˦&.1M9㌁D2#8_%ac4QQQ55jHPYDHkp-Rnne{p8t9 /pgp bXnMiu0 0LszMSńBǩ'BP(TT'H9]:5R&Jjϛp${SNrT*J9$~wVlYi8rVer< 04??wqKUC>4Ցc2L&E%T#~)%RRJ龏U}/rtrۜ,NJyUJlz)Σ\*ORJ)j)dLnjybJ Wy Bp0̰&=^`ϭ^ؾ ~ ȼB`|Ï $" â[+*~v-xP$IqfN'S(>4~<ԣm ? // fv ]Tx~)@Y9䢏> ) ۍ0~ V$k :4Mt8,; 4F _w@S5@=7_R-i}.2+pԚ*?G_5A`G` 0'|c sؕB%46]1v>S&/f%/ jkKWAxUIwaD} AdWȫ02|!y'MCri2ȕ 8hNEgV555555H4l*l"7pUHGGGGGCCCCPv"Sߓɝ;U>۽P\\\\\ RX,6o)snnwcfl6U Ĵ^x<t:7Uc1=J'ft: bx<شټ^녁H$FV/w608\Lgnvnp\. ZZZZZZ`||lllVY?tHTWWWWU-^޽]]]]]]Vk4FYúz# jyt;[ɉ4458t n係|yT*JY,BΦTGC.T6d2L&! I]x^'&l-TVVVVVj;Yz/;o漜};\>7A=0H4~2tgB*5;9n36w( 4GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/mn.png0000644000175000017500000000235313353143212014452 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL#IDATXVOUf6Y ֋a 4B)"TXX BOPP$ R&.x4(HYQG BM$$563$zxyM2$$]~}}x&DQE52 &$I$0o^. ܏FW.麮s9JOdz6̸ +jUU@̿Ÿ`"w:N3q UT6KFkDDN8Dy埈A&CGkp;T:[Z0N;d\2>7]L~?& g1~/}xEut J_rn?Xvtj`iN(JRe2ؙꮷYnM (֝C?h;(2/ p>?uxFs]An%W 7FE@ ZMUUUn44Yj,bP*JnNx' nvP( iZ^/, 58 kqF|>;hucn3~p~ZMˀpvwo+˼6H8?8ZNcfV6GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/nr.png0000644000175000017500000000244613353143212014462 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL^IDATXMh\UubN*:}Ф6 @J)XYXTJW*"]#cW.-]t" 6XhgR4$3ͻ.nnd2Is=s9}MlbEaFwZ9ZKiivd9URB!c9LN&D"}{:d2Z j Xmit]@qؾ\;wItC^=_)P'2;r2 ݟzA@"@Y06xhŎ+ͣ}]sx8i~` HI)C\VcH,D;;:3g!xۻ@vÝphQc{<y֌w>t3¹B,`fFqKf/U߂/<l=G~nynN75׆?ϑgʅYg?vzz뺮k)?{nI.A^}n'8#RrGb3Z+Dmm-cch4͖,@zv]SN4|۶ :NB'N,~J*[(/ɥkQirq xHK )=\˭O7&/ pEUVGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ly.png0000644000175000017500000000167313353143212014470 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVo@~wQH"nPQG,QmҬ`ȆZ1e( R`;\_ v u[ݽwwwXc5RzrGǮ+ 3[0e8|~B8 xx4MӴ0MD=*p8t:N6bQuǗҷKmL|-|y~8."Bx<\ +C}^t3eՅ:HurEDOO;^oq'T 9o $aMLBIqJEqoR^BP(^Ou]hH$y=gয়7X9}Nxyϒ뺻m۶`ot_00vth4ͦ㈢( ZV v.!',dbhxvbX,b2onTUUGWn%qoyyYV"(t:i7{@*Lƒ$IcRT*P*Jh450 ӼjZ-u]u1V_D ENpضR-r@Vz^*JRذ,˲,JeYe?7a0 5PbA¨`0 vnOryf|yv^\.ˡBgg"[Qn ?pC(?_M {馁04Qx.V5?hP6,GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ws.png0000644000175000017500000000245213353143212014471 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLbIDATX_TU?ޝnڐܥ& L#}RBe "wz#1ćDʐ Ev);;p<;N#E/}=EakKii0yzS B!c>nr\nbT*@ʅB󠿿ukSSGx04KXDʣz}wG?O_yY!/|;AB /עO͛z^ϟA* "@]9ͥpߺ{^: KXs {39Qwݰ O`L8Eh,,` $/LG8J g]Px,'`jC\U,\zw](.+ e!t-ؾV稜u.xҟ-8['+/ $?r[OTӪk+q qd-0y›96{e䣜]`?y T&w-< 4{vzB ~`p \l۠!m%WRTVhYiOAy*&cs2>n8}}8߯F\}-Wxq+?z1nt>'͕o^X%* \u]WG40+`-mo6>>>>1y~dl6 lP9jƺH$D=spP%PЭ4[@ l / bth"'D"L&@nduЭ0ilYeY`۶m  Dh4 jRlܨ_(߲֯X,Kg|>qi8֙7ΠuP㺩T*J.;B2L&022222=ZVF<BF;{;ЬҮ:W.2t:4O݊c1U *Q|ZBP(~P-4<<{Omr_6~NO'OE+wXЙZ;;ȋ7*PG=GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/gm.png0000644000175000017500000000213013353143212014434 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVkYv:ai% 8eDl@K.E,x(eA؅hBs0A/WOݓ$n]{I NaXg̤'3~tbR ^|{~o8!> AAXZ#cEQEo)4u~:c1Fyt'iiSSiYE~~7@,býA }?i™JnޑVj``!{02Dίx+?$=5s`U, ԝǐjZV72?~bXeYEQEh4t:ͽ lvvvٹ94MzP( q]u]ҍH$p|PP'|g\8@- bX,L&cm۶-l62&Hd 6hFh4JRT:⸹sەO[xvD"H$h\B1wo+ٱ}'{PѼAh=H/wl~P M5GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/la.png0000644000175000017500000000242013353143212014427 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLHIDATXOhU?o&lM 5L(PVD=6hMN"GB ƋK ͆ڐS&nI&I3޼f5%wo~~y8!i;'G-Ǯ뺮S_%8rtZ!Py솨.`e%JRL&fuBŻ@[[[[[mKk}}] WW- 2eC䪸7{ll Bۯ!d^z31,qqQ5 8xKws';?/𯱶o8k /}pĂͥď"$~|cGg:+rybN\L8m4MΝx<ڪ(@9|f!<=b CB~ nR&:8======~ښeYaH=w+~eΝuv8.v:';Wb7Vmu[m۶U&J@x0v뛟_Xp0 ŅXZZZZZyCt+V\ZRa*<^S pX P]]j 3gL&|yrrr23X, L&If,w11pq$>iiB0 D"lmmnnnDwww'Of2L6{T}eYe'VU7 Prꔐcx<k2O,@]>FѨ彩P^ 5TjZr\.D"HI<?^ۿRT\yR)I;T+7!/+XGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ni.png0000644000175000017500000000237413353143212014451 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL4IDATXVMhGfWZ".j:zhRI 4ӖRՇ*t.ѤBnIS M{՗J!1)ےJ64@`kH+a4^YJI{ޛ73  8trNyyyMgotzBaq N`kRT*PUUer0QjBi~SٯpsZU}6y$>݈vŋNt$@E&7npMب0pc]ĮǮ75qVvIauuΟ='P–'9 Z9XЁA7%Ҁ~sfX/ :놱Q(.Ĥp(`'4T+?ջlY~x:xJK.P}V}f?`po~5GWɷd!X.# 2>ڞ0 0 x3vF~$Wt>e,6%b h|#%dzZ$ibYeMM)rq <h;jj赨rShjx64<ɣBP(vj(@$/}O +Vx7;vnPw2]u]g,$0م$MOKҩS\.  |P(@\.}!{3[Ę]=Dz p%4Zzly<ϡC덆޿JR t: JR*}c[藏EQE$I$|> D"@ӶWW̱cFd2L&t*(UL`NdnuYeY82Jl6fx<GjZL&$!`' FYAFm~flbX,Q2?O^)Jnӧ{  cP4s2{/3cvT*kI? Vqh&__/HGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/gi.png0000644000175000017500000000261713353143212014442 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX]L[e8,0[!1..få4.Qt7yCMqDtf&s⌉7jM(9>"e`םB9=NjwB[4y<}<X*V,TUUUu~YG4Ml{e)哅۶7=((2PV. Fhsb# '6S-`? q嫗y+$:8b3zZiͪӱX8ľǜZgvn\+XmSN}C  p玘AZs-])x ࠲Wy2(ykWb`O3?|x-d';y2,522:kچoYX!M(dC"0g[T|9 ʛA#TEAn}o۶uk{>ѐRo KRT "H$YNÇwrnNȱ{|>cba.-R~JY^_>hTۤŅ䃼\}BH/*/ mLW|GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/vg.png0000644000175000017500000000307013353143212014451 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLpIDATX[lUg]X,-TVh /QDBRE@%ژ>(TX"!(mQrmK޺ÖҔh|w?ߙ3(,Yb4Zflqz}qa B/֭`0 32"h4rӼ_o!M0 '''''G,Ñoakk[[(Ӈ.dÍK2Ù &OW yƖ]0ypopyUё /@#NZp b+.z'lkG:;u]u)@:uC [{bf2/sYfzS bŐË o h.s[&%'sdf f0=ܟsG6\H {q$m6/,(mMn1-QD37xEUƣ(:8kb0ĆK> 0 QMh?5/+.`9D'aPޢ/Pbps2&}#7.'Wv"iiW|>_WWHEvl6 1S*H)N=;ptN%veW<\z=$Y"RO{{( 9{ .W{oMSOZ\'R;KS{[3@-S~ϴ5M4Mf"  ^[_oNtl  tdV@ɽл0ijoIf^pXJOOO2dp8Fwv:!F:dXHv\. TUUUx|Dٳ`i"H$=|BP(XvVވR~PȝHmBfh|"OB]]]]]=H$ E"u6%9eCbX,~ҳhJ~Ymqc@=K?IX#~Cl=od{}:\>iן`P>ޤ; ;,;!;!F~ u^ʊGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/vc.png0000644000175000017500000000275113353143212014452 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL!IDATXkLUm)-,Mqdı-(LedޢQdm14.1r&zp`+yzʇ v_mdEFGtZZ+!d -Y]ݶWCЁVY+R;wύzܘy<> p_HGOZܻ2rN=ɟ<`9A{. [3X spAx~7 7xøA袗C rql 4'{ن4PD!,]4mp08(1Q_$pKX`##en+g p|qjU8@_􋒔X( tȼ0 0 C,!4qryZrRZg?pܑ?ܽ5 qm|G-#`ͤ2Q\zٙ_]bn4MV@N4y5At<':g#KE8ݬ']Vb_4u> 𠻬+~b[.Dpf,2wnBB S9ՕWܓMw.\.uuuuuuEҥ~?4>MV`bwӦή.ðl6b@ @N+ JJN Sv)u]uD&:$tnb---->|> @<.'܊:x,C?nvz^ ɱuQQQQQ^^]bsYYp8O9VUQeP3 Df"qt~MS%rD/Accccc#XST*Ҵ&!2{Sa&LPJL6yD"H@صKʆ뛯)ǥ뛯2g vo֌y\껒 m>e7_c~$JN~5TB*5?=gtaZ(zYGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/dj.png0000644000175000017500000000236013353143212014433 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL(IDATXVoEv7ެkUn$r&SSTA@j4'J`Í*\ ?)7@=4\TBl%i׭7]6仼of޷3 cx!XeYvjtM8 qlAah>'OdYeСBAUU4`:4 p\.K׉biӧ,֣HMaÛoJR4uHaHC7`=:0/?V@[x ?$I$,mb BЧii,04j4i%Nbt:]G, n7;GÇݮx<] "ݏvbo+} E{j{iYOMO9Lmy=eiy &6GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/br.png0000644000175000017500000000272313353143212014444 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL IDATX]lU[V:t[*$cTXaGD.40>0(r%!& 2 B#QG&AQdu0dvX}ݺ}x{h׭kh<_S$&1*dYey&M 5]Uu:NSK&SW-_$I$:FB.z@ vUkc&$(kִD)޻'9*Gmh=QRow~)csYkNN/D"h@9hpDY&,X~/A/dX23}n}|?@J:dh 33N[nxɂ3g6qA֭O𜡵Yxd۹&^׷ B9E - ܍3'kv6&c< eIȞU``ޕy쟪6w5^Yt[#!|0|Yzgi׃]+vnr%7Iu1z{5v[>zeZgNY(].*;~ fi;]:x nu)_.KNp{W,,=0q7((E@6{ҷ Knz@%1T};.R ͡hS(Ն̑HR^l6Or\ICzzz,:N!U矇 K7o S7jz-B 47ׁpZ:,maXV՚|hQk50}A ijRU՚a'W[L(j?aQh` =ٜg69zNtBggggg'h/d|ZB!dl_~-Ol_qqqqqh@xhT-h>}ݺ~?s8zp8x<YcBH `l6d2L&l6 /֢H\@MM}}}}}}Z|bED}'8QFV4.rɲ82MN `v;L BPH+*****$) !H2  n秉m4Y^Ϋ@CC}{,bqb({X3gdhRmrJ{H..D'_ix# a!G?1Tgy zYOGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ch.png0000644000175000017500000000256713353143212014441 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX]hWM&foilSWU^ (x#!l0k2&]9 @pVh A QF76_M1i4l'9y='`Ahi(Rl6f[7Mkx\!PẏXOh4O$dR\ϖ/iv٬孮.]_U)'Ϟ4m7-/ªvTwWw^ 0mzkg>sg^Ds\.BBX}(y8+77쿶@\U0?O]v.?%PWW~γ޳M&?kNN܉܉ lRD 2yT(@JK ueeغc_?#: 0@;5[`2 x`mW^6x.]I')ލ{7D@*,вJI-4Mt4f[kBN?.;G_wf$|[ρܯ9MOG@~7# .cבO1ߔG`sp8!u]kjᙙtjnlp3m.wؐ}.%U|@[+_>r8a1=<qb10 b/PJܺ}o)pGyGJ< ) Nb+w%yb@6)!fY*` Cכu}߾ѱ1ӴvfH$Dz!VŅ)^)ڧPVq%ڪ]3O$ɋA= AdzڸpJp뺮Cccccc#|>33t:Z6ؑH$puaaΪQuPK˅:F|g͆p8i,D+BP(======Pd2 QMrrPPV5*JRLNNNNNղ}`T, 8#.eVeJދRqye+>ū'U^BA>,/ /ta}GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/fo.png0000644000175000017500000000136513365545272014465 0ustar varunvarunPNG  IHDRw=bKGDIDATHkA?ݤZz eBL)^ē^Hѓ( œɃPY)9$iNf<45<(afͼ?*,`DygcFnEmbBx\FDEp]SsQvzZnڂ{[q]~my'эկE సC)!sįVV![ms!5^lvdN΁~"0xX{pcS,k87Vߏ=|DËhϐ!%בZ/bG9xV?5ȕ.9X uc>_N$O9%Sܡ`Q099ٿ> uBD"8VVHL81{DT*zmlF)Uϼ9wT|GRj}GDŏ|UN \,...KKKlmmQ.<k-"QƜL&Z3<<J,Ne2g.J˽ab9GVC)s9w 0l\TTy1(ckA0??O,,,XBD0Ddgss7w~3qxc]Tn b{[jôi=-`ڜ)4;_$6:iTFP*iGqIENDB`pychess-1.0.0/flags/ir.png0000644000175000017500000000254013353143212014450 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXOlGGM\q3RKTU UU^(ԅp!C*q^"@P'*8@MPũ\ ;a7 bR$_z P( 9z9|bb¶r6-.= ǀަTlGhsw.pdgbІ@ /U>*߶ȫWJR,P:vӲ.ܼrsrSLjxV忪k޳bymmu8-CuY0mqla@$ 0ukj?ȳWN^F[_LyVA8ƹ6hyK'JKƱjZwǏ2)b\-Rʣ/Oײ Γ'CC~Rȳѽtgw n BB|L_q~{]`JH1 Hqgę{A5g@q2lVboLRe5??]˫Y-˲6mj=knnn6 x<Y%:q4qG<E%8H@ޖT"D9Ub% k`"MbX,kim6M4j盿՝>?>})y){߽^>~{E-r 88Do` UeÖup:id2L: ^Uknuy::;;;;;v%H6͖JB+NO }}}}iRT*\.A^dUu_ި|>XeY`0x<C4;;;{>8(hc߾BP(zm۶m{ޱVVZAm:BxnKql6f CL000000D"H@S\.ˆL&ɤ}9ЬY733333cccccc58ޮxnNZ=D"H$CЙ3bҢXjn{/K׼uu{BÚ/VA_joGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/kw.png0000644000175000017500000000221713353143212014460 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVMhGfZXע,QB*^BI.Mq{sz )H9P#Ӟ is齅 r(-6XxVciRV;=̾ڲ{wv̛y{Np I$IqCG9eYeϴn8`1(a zUͦeYq ȟs"H$qa Omצ |Og >-fcQ{K9[_QNtƘvp~}߄=%4_)> {p}I6ѣ$gN;w8P^OXƹ>9Jl^uooO&PhpFy"x:hYx?! ŕdٙp3) 4O4WBUB8b]\X4M-T`0$EeY~4Os3~ڱ$6H$4MEPU{ߋ-퍟^!OROu]W[þ s9qq(J` A4bX,\WQEQd\.K%Vj5@{M9]?]u]he4*n4 0Z-FʇBЩS׮5ͦe=|)J.r@ZVeYf70:[j~XUUUUM4Mp8RT*ZϞx<_Zxl6-|>4MnLҋH }p<)BP<\D8aaHL_( Bd2Ljv[l6el7 @ALj5l۶mT*Jg7ǫWxV!bh[X13#~[ދyI]Ft{xF'LJ_j.˜g.GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/lk.png0000644000175000017500000000272413353143212014450 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL IDATX[lTEs۴ bMA 1A5$&"1(B5TK1MpqvkHv+Keoݞ=LJemC|3}]3s`34MӴ[fRmp8,kr֕S[/B!T!&OΝd2L&I3LFd|4PmYPUUUUUer*^}}Go9\mJ𞶖.,O E>8cpl`=gaz`~%}ۃ˗pW'c H.Á.\!}̰b@#} X^Ͼ&T6LY{/T%πeYep @8m=ݲ1w[lع=x0+[89ZeZ%vʾY @~0 l$;zKf7/]gAz{9ч;wʲ[mQa55R7.ҶJ0M4MJ` WWڵ]]]]ѨenptwwwG ud+9+544444`P:RTVyyyyYن T:ɜ8p8C"H$YnX S^뺮C  \.B^ \&jkkk-OLN0 0FʪQUPӅDq!T<&f1X,4ML_!D"hmmmmmg>&D17J 6~l6B<cIc--nA)~~=BP(BRh׮C,~)o΢\j^OM'T_#M7RPTo__stlGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/in.png0000644000175000017500000000275513353143212014454 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL%IDATXohUe?޻5'mAXS0tjJ!OђtA8z[3eB %ڄ֬+hWnc眧gλ(zy909PUUUM[c!4M44r_&9iZEQE1 Bp8,ӯfH}!L\.uk6;;}Lo޼u+ү.LY01H"!0&eeY?oXBVG1 0fH@Q:KݐB*P{7v=@_{we3S 0I}N_ӳ 2?/y'mvhvCH,ӗ'|]ϲ'{=VcXXͺ#{)6g-Tv+e fh@# 1E G;VP7d/|VtwA_oջlW/6~JjJ',;paDNFC@8Y0ψXqq kv?\8vay(RWhzWCxmj48D (kZv&=Wz؜X3rkœ?0kډ6#W^?׆u J*JP{fpD1Glmn j)c(X))g`şԮ5Y}AUŕcc.WiiiiQb;PVvvÑ6iZ%"xr;04q][%bADL@|DpxՍ@\Ys؞ko*卍6kj2pw8/vK<'=iֽ%N2W|h@ˮ뺮Hd8p޾>Ӵl6M`hhhhhrC)S K׷$ergyUqI%EV ?ÆP(>zټ^A:d,4v8nt:bh4]IJ~R]]]]UUW Bӝ`0 & QVPΧg ىBxNd*"~߯e} |>fȊx\U=QtnJdI )eA2Qm&H$@ ),c%wwU^nD’ׯ߯ i' BMMؚ˳m2+H'\rz3_M;LSLo_9_@q*GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ph.png0000644000175000017500000000260113353143212014443 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXKlTUt Jk& @ Qql U$.*1&.#,Te! ]:ڒN 3ifqqz:0tZ`||;xaܬFKii3vTG !:!&OH$DfώDB- !|)*+++++3u틦rxАmCb9prYbGA~/! leO<(sudl6{ gEK'Kaûk 8d @äo"{e ̚ߞ_ OD5aʳa _~4ahMË %)vqL3)? exW’u_z"9s" 1;{F^@yT,$D?jMP'< 8aÊ1Xo,9著7ʟox߇^j);wRM> a:P sq1؃Ƹ6v8SZj, +3@롁ѽ uye/xW N3s1 b;aV*˲@ H & =pM4хفV+b&7^sb>:jaA/חFmn2 :=yj5)ymϗlsXȍr+85{B YL&HtP1XVUe\8nvf____o/p8 9Rmx-o/@y:yMMMMMM:mY] i*slX,O$n! B!H$ԍ6w.0k{<eY^|J64(ݢvx<O$;;;;;;].۶m9֕7g ݉BxLd @ `eJ< ]]]]]]Et:NF[[[[[(/M -uA Qmd2`0 oSbz%lV-%롦FAQhӦMԥJgEyE>-gJ>=o*?oҝ>}~'tB:===_npT>uGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/tg.png0000644000175000017500000000246513353143212014456 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLmIDATX_h[U?6uYu[V5PU,AA6̗Fi!0e/{| i2kM˒tҮ{}89M6Z_}s9ֱuM4M;rD,KGu]m6+j\omBrI$DbӦt:dqj%Bw,KZ]Jz &wRsgw0Y$͓69!RH B;c +r^X,B@vh:=040 $ͧpknۂf?o(+֨)V\\.ҲhQe=!kg-|797$Ìv{@cņZ8vuyIk07'{{~[8OJ·Zo~ }m>u* X{;::;jm۶h S'o=TrZ3Nx3'@듍;ݼP a81F|Unjjj4u] gQ>}üd9 ^|Hpta3;JR!}V]>e4nyjy\J,0Ծ{iu,˲,KE `C aٶaaLOOOOO!(V8y>yJ씉W[^׻qco|:\0888F88d2Fw90BJn i mmmmmm  \.o\uյgt:\D"˕JRTyaYu# *{xPLg!Dzh44U2kBP( BP(hZP^ 5Tkzel6 X,-t侾7_ߗ<9~W![ĉX=UqC}Q\6WoDB=-ijPK2_Py#?,<m+GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/gr.png0000644000175000017500000000240213353143212014443 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL:IDATXMH\W=}( :W&P[C̦h BvBf4U6i :C4I4{]\dlK77<>#4M4mxXJ%9v]]u]wݭW[8lV!Pql؝7L&ɴr|>[v[B8 `$m۷ ~llxŽa2ܬmS?OAVݻr\.ϯC@8~Bj{||Z<8{`Zr\ @7u1l-j*Ç7p]=hߺ߸?X!Բ?pSצ? pƑ L3Hb+\ıGR@ɎV܊=>u\(JRIETA:L4fggg 1 0 ]K$ Nirs2`e7'`31z<_P3-K&:URV  f\>D,fX,A*JRˎ,/w%0upzcx4M4"H$Օ̌>v/x<onm۶*# *xPNg+ӧNL&ɤI@+LNNNNNB4FT,Ţ QMZZPPV%W( ,.....n'^ZoFkkҾ|P( YV_JōK,~U٦~Q-.^ٽOO&6H-ﰲϷBePݑoC2aȰ/GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ls.png0000644000175000017500000000302213353143212014450 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLJIDATXV]hWl͏kkԆ &-%-BJ V, &BK)l>!J!HE%,d5Mf9}^V7&K}=s~=`+x&$I$in>2 >&X,4g1o!δ4~c1&CP(ϏFu]ׅ` 14"V-}5épXӀNlh. *2v8(@aC!eXa-f̜9X߽߳l2L&KP+ |D:DM\ziLJ"s?$)^ʈ@#хI"m۪N]=@hpphhxX\8P2'O5, |%|o5ukV_}|8,eHc^+o@n@۶$޳g7О]0xF^DY%d{aYg[g^nX1;8$|pˋrNʑ2H$*)_DZ <|S+$Wv6u9@aoaErL9xu4@xh;V2?c?v@E#oIXe`RB`#",Dz^COf/83&csH^.D&҅<}Z 0~$2B_____XD"$vKM A`!BiX,ŀ@ AWΏqwo\.~R%t({Api"{->.q?,h$m~H,ktyB?}oGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/tk.png0000644000175000017500000000273213353143212014457 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX_LSw?R,eN0?4JLLHf؃|{]%/,2M\o[E8HP$K'EG̈́@w? R%~Ο=ְe!˲,J̵a((,Źt2MOK$Ic)BP FQ0 nzH7 ]t:5Z->~<1Ï/̅B ИR{C`Y|0t;(45er0/o la W@+핶A2tt}~5[O݆OޞYy,z6pz%pTxS㘜|躮zN,+8~pE`hMGî wFƒ}uo. ̰QǦtHRqreee8heggg˲*$[81ԨM]` :硰 >\ո `muqتNz f%jr+fjjjjjjrr&'pXU[ܜ6[rޛ 1 GFCEEEEEI'RSBZRދTr}!WK>aO($~=mRn1rŘ=]]|m GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/np.png0000644000175000017500000000315713353143212014460 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX]l3;5km qk VA4J@RNDL"UJR(ns5Q^ iI^V(4"]ؤ`{nfp1LYc[{|swgo(<2 {-Z웏;oY}ɤB px<Rt:\( ?B8祴,2 vw-p||rRģo7,lEG˺0Jc`;AOD Ȓci/%-f̙:zgm`W$0M4͹ @;;7z䫍0> ǽE;!{*puArs7P R =_ʯV/_ 6_ց… b ࡕ:C}xa]@i -`?W]w@u度N(;c`U͑N _tX^Hܳd}׷m_R?_e+ Geć(XbRڽ,C@ƣ`H5[eg*/lMM(2ڛc[cMo>Vz(y^*U68 w+ `zA)lyZ 6pV϶ATwE7kj_ F}!HnFBb ⹉4/v&cjjXeYϧ(*SlݵZnĶRXq~˻1HO*Z>xb57-󏅫n39Op?MM_Q] ˖}e4flx^WQ4MUU9= ?޵c[a83G|I=zNOk˖=[sX}nZ)v+ 9] ŵvvM?p盚u]4[e>Q({[u]:ɠc/\_)J&sy 7 q #FQEqJf r\NQ(M; /d2Ϧ{m޿/^ܹzBPBmm^b:*@`Fxp 3Gn;ر=@v=c;Y]peƞ}=1 S+pc(uHOP^%`m`&rl۶m;Qd 8r 8^ߓ: X\BˢQEQϟUUUk(P@@$IE(0n<$MP;/+paԡ3/ݱJ:';eYEkD21mK$I( @\.! mn@31uܼD"H$EFW*$5mBOW*assss$e2L&JR&v ;eYePEQ a L&IV[]]]FFFF3 0/l6u]uݝ:K7"uq6YOd|qX m/r\.RT*z^t:Nj $ ԐVR^ZV@X,MqLNr;5o5<_~ X,<.nX; rKd}+.zOWQ^y46i=V0ٍAz;?ད@rgkGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ke.png0000644000175000017500000000303313353143212014433 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLSIDATXmlSUqΎds,’q! ơј@b &qj&&LE|@ a]pQIM&][{pwV޲E<=OS5L@shCv\$kd8vkhl!;n{ݪ]`Odp0NvS T,l+F'`ޞy{-V '͓&lˇӷwwnaYap@)B|Zx?{.. ?_^^P5< hhh 8MF86y<վ˟[[k={ O.nYr.\ϔSˋ?.xyvgi;AǽV 9O0@ƉNj.hd#iǩSP(HLX2t:ssss50t]סgmhspK\ Wh#F8$_ޓx>$%=Ji/aaxDڗ+G A "H0y3s |ǫn)ΰRxftrW1~ %lH͡qN_RT*Rơe#0M+,0 `z{{{{{~!/ ( P2oթeY!EQny<O^޽ EGuttt~?@,f$B~t:`iz^/466666B"ǎEn5Fc@ ̉D"H$zU>{=SId7Bsi!˖ 8T( BFf˙'_|>烜d2L&5Yln*LJLD C8b[65*+PQQQQQVݶTJdR+9S)SFti!AJ>S!_Y__՝R:$GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/bn.png0000644000175000017500000000313113353143212014432 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXklSe眭kKGRV/Q4>bfQ$&L\`-@M"jtm K(ms[]/Rֹ-#?ss9p p YeY^1uEQEѴY'Ziy$I$ ?FC?p8KKD"v]/$뺦r\jX La_@$ezq7ls^~Lrz^`w~~Pi4|mɑJlFEl6HPzK\炐URtڃ'L!H}$O`)~>}2n T2[.DTUUUUzDbBJe+Wbx"'MMMM~~?tuuuuuA"atdr*` >l6fpnNZHd]?:C@ (,D"H$Ȭ"ž?XJ'B32K%C8 B,|W` NiY|m e BEBƒD Cggggg ڰM|yg293>9ڸ%66UpA^x/b'MCH? NO/ ;o9"7GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/az.png0000644000175000017500000000275713353143212014462 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL'IDATXoLU?繗U ɒkmd-rF̅3M f/j9e˚r5B-hV+&7jEJ^<oZo{y`Ÿ4MӴ kZk)m6f3ɥHNoV@@!Pu`0 @0C/iBvvvvvv4jiSRS| ?xwL0 )(i̗9MyG~$a?X8n>^bav?bvS4 5$_Aqu" gy@cϼ?p |xr+_r;pf&˴PJb[agQ[ &:K~y|TK׮B݇`0M{7 k.5+s@*_c HiqYUb'ogV^`LE O p`y@/eX.!m^|}g;<ޣbyB3l`zoݧwA_lH YƓ Hh*!-cpl)%i|}N079_ aC X6qEUi7`iNlB7pJ: _@x rAv?◴ZPIлWG^YTEQ#գ"'rRS=gppa8fA$f(+a_ߩLp ½k# RJNfa 8-@bD hJ+nt~[Ii@n-pΆW~Tdd~3뭳@1l*g) RJ)C4F8J˕r뺮lmmmmz^/X/dRBS2oe^5@@Qi[s]ЩSuuuu^_____ Y/uㅩjjmar\.deeeeeAUUUUU  ZћEAAAҥ+W`(trCCCCCCJjETTLv"yэ^-,Dh2Kμ PSSSSSH$D4Vdn*LJLDp8  ɖ-w畗gɡ!K޽;*Nv9Ė鴤lUҞ^$KLɧݭ~lF&}>jS!_Y_iGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/mp.png0000644000175000017500000000145413353143212014455 0ustar varunvarunPNG  IHDRw=bKGDIDATHk[G?;k=)y6ImܧPj!C \ BK?_K-6. mBll/$'v{%lz衅,;ovf3;WFDzy?"PJ TZmj!"p,ssscbτ)ϳjOy*?g_JNI.ST»351[ 465i|S.GW8G5ger30qorQיΏ,ڐ?Ή:6Sa;Cf,^n2<ͬNxebƋ3~i*FX|>~+YkEN)>y_*Ϯ|0OêE2(EQpZFr"j^PH$ PDp|n1eNc20JѭݡZ:6t8w A1F(jqJQxl}sFV 5ZDAۇdP(EӬe7u[כ֏$I✣頔9O A$I04q1FcYTX[[cn`!"1fl!qo6ORXXXY~k 3GSOy'q B 1W+vIENDB`pychess-1.0.0/flags/ar.png0000644000175000017500000000275613353143212014451 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL&IDATXklU3nif"*vT!1H D$FQo /1QCT֪5Ll]dm/;vmmO?o{9i]kLnK뺮52~xe-B_=SSr}Rfa_Z7[lDGG zˆi67qk᳋+K'=@#qT l}Gʫ3^fFA~lmb1@8g7W:B鯩uٳgii h4{^oj˕iN:DffuXx)>p9L>!e䗘lż\(KA\|P(r:^Py{o;ĸ!G89 KџeYereo'8ĨRl0M4M0Hכ.[dYNtzssssS}C^P~XԸ:˕ճ.twPw+a8xw:~60 Fwbj;Їhmrz^x< 7ϞYQRRRR\hQ8uuuuuuG( BʪQUPډB| YD1@ 4MmOBCCCCCTWWWWWCJ,bVSSSSS#D7œAYC*H2^$D":M7ڼ}[B{{m>wn3ya[hgdج~[$R|jh&  ;x`ʏXllqH'ou65GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/gt.png0000644000175000017500000000277413353143212014461 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL4IDATXklTE3w{Zvsk*UƈZc F+/+`"YhB51 1C|*]jn隶۲nel6m[_N̜3{.bWH)ֹ+vJaL.Br*{qK&BDx|T*N@ 0nar~߶]mQQyT ɍekj>!SUfP*wV  |w gNɜzӛA֊7Eau ab{}v…\.&7EBuWga#n•sψrrц[ȉ=e~[+׮Z.Pw89ײIrdv8IiBIjmT7`D<.Ap7 -ׯvF5las_*;;$!yPV;b{~4BTW[eLx[RRR"i^4v[PשF@}vyO֧n{X,W|Ac.g|> OxjAn_%dD>H>zoh(H$LӍ2;&08"D____<>qV^NMOw.CcccccRT2L.XF:0",ڲVhkkkkow4M4vwB3@7`-ޥi|{qm۶m}-t2&ͭy+-]:L[[[[C! BPbX,tڝqS^˲,˂ @2ѥK]'Oŋo=JGp8.*J$DbܱZ)t' 4˅KێFhTJ2W< H$@0 flVʦ&!QH_ZT@OOOOO?ιb&W֫ƕccꚮZg.m>+oyO.Lɧ?2&@-'_ ]NO3:B_&V^(GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ru.png0000644000175000017500000000221013353143212014456 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVMhGf^bP XQ!)ć >@!=Tɡrn%ފN%KK/hjE*B1٠MA$Y+jɓBnD/.o'8 $I$]"f+˲,˲mi]yf1<&y^KK8C~4Q<bX,;?_?7ig^,`o6PDG^~|:r' ݇׳#~ջ}j'~ӧiumUƽ'fGv;7paLn<) p.X t*+/#δwqL`$)?;;g>⿞ Ig JRpx߲,KQĪCP;Pڟϸ38a^s"jTc*Abb/p.eB8 k˥Ry("{{{{@Vj!G -(1NjsqNh(tIRh+D77Mv|00 0jZV7x檪 hiF(N4bL&g^d۶8\P( eY5ܘ*K7"UqA9Hd} ḮiiJL'2+bd2L&un+Il62&!Y*H&jZPT*:a_[Ua{=a>vD"H$h!n Kd|_\qGqi4hA"A0OB;'/+vGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ye.png0000644000175000017500000000202613353143212014452 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLNIDATXV;oPMDaCuȚ&Jv9{mWd"b:)@oSAa˷{p-$I$igG\W9eYeϛ.$t{c1F~Mׯfl6>lm۶IOK`sy@4F+ mYjn y1 ~gƪ&ʊ\?q8\f u]x1O?s 0 8~H)xU5ig4纕Jjgxg8eb~999=-ZV,iv^`蠪B$),˲/c I⏛L&eYnw,r\yU/g% <}kXӹW*_\u]<+hZ,iRT.{(rR@h4 I&`007z_u4Dt2nU4nQpxyykjmӧ|^Q|>z^l[LdM1zدQaXVUUUU@4MӀH$Dt:Nnt=ֿ~ekkkkOm BhYeYa,MD G׳*1g8 &㺦i)IT2!gwd^(bflXz^Or\.clII jLZ{8jZ6pN=!3W<.奐߾B"H$dLJ۷lx@,- I$F(h{AvMH&0>e>u_|pGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/pw.png0000644000175000017500000000262513353143212014470 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXmlSevZ[-Jx"!CBHLBd'*%148 I0EBLY'31]@wkv/[[>9ys09aZȲ,mJUL&ɤi+'4#$I$& Q$55Gˑ!''IOKc??ܸfT*HCIg,ԓt>֏3ò/E[oK Cᗖ?/u{s.`==u\_f\@CԚPсrj'f𾸩+v@\J>ب;oZK~v d?]`KsvFytݘ:X/_3n+ቯ; }@1yk<[|S'Ҿٚ󜨔Grׯ3XJa3}a{Fq.PSjCS:FqiVW'&Sw {Ȇg{};k`epV5 p|hWvZDHU/@\.鬭-ݙ2Bjl6YX;Уo}d?T͹6W Z գݡ9^p'amb_j c|gbfe6xEQ,c7RHܸ}oL֟T9ON ;u &g8PsQuPUUUU(`ܒr96@0ibL Dh4 YP7 ĹFNQlk3 Btlv{}D2yD___g|>H$@2iQ(W[[V NtBSSSSStwwwwwC:=111jEcuD"<}lVEQcxB_-D'Jqd BP($ˢe}"~z&d2Y핤(/1B BʍZxT*JA8vعӐ==-_mm4+3vn1Bw<uu[)y/JK 9įM*CBN^ |5d23ӃFgG;ez)GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/co.png0000644000175000017500000000231113353143212014433 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVMlEf&ެ+7`w#|p!R_C.HHA  7 {@*O z+p@B@ Ta! ũU$Ļ Φk%}o}}!qGRJ)w#`18ߪnW>rjBQuٟz\.ˣe۶ ~ iwpqZpmmc4ʹ߾仅k[$/烙 '庮{z DRiw@l(v}D_鬣[|G.`ﳏ_xk=.͝m_GBj˖.kO&O38a@w3 lnJ K[O[qiI:9~"goŋk[Ms9(e_W/ȧ1 +E.'0q ϴa ߿FW*P~RMc1ਗ਼V_?1y~w JP 9 /Տ@,b@bi2T;T<~m!1kY!ďɬN{.<)d8J6ZFv`ccqJ.ǹi1RT*,Pnlg:iiVU'{DΟ'R8h M|@'hDx-QE @ߐ(&D$A#Hu XBtK(BۤA^Nݺu/>=s~~{΅9aSB4MӶn#Ӕcu]u˚^ud9{˒%B!c2FFbX,[ LR)0lim۲4x}E9p= +QwFXOr #KANq?(ݱwAV\.&W2Ih ~ Kb}p/'W7#վ.蘪.3&0z>= ȹozWw[۟nXhTJ}} ^adHO ضe!X%55dvlvf3}i'w.\?pw}Z}&5hIlp.Nt|$pA; 9yv]E:Psφ ,p0s8FGgL,˲\.Mu!0t|Ǟy `x]e%(fhA- ~>ʳէ,|@hۻt@ӄЄ3 èy3 2BZ]uYpW?u٠.q내ԟ`?nw~^!h|pu׸k4.>\x4ڶL4MSELB0:hoAr8Cׇ!FQ7 m+9>)b{OEP+e Jzvkj6mJ$Tԩ@@"H$TJ.6.T@X_nt:N'ax<Ɍ57Kq͚kd2x2cYu# *}xP(Ng"6!4CP(4U2)g>l6f5~!{STk(RN4p8RG :_*wVH(w:s3¿ CoIENDB`pychess-1.0.0/flags/nu.png0000644000175000017500000000255213353143212014463 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVMlEvެ4jn Ώ IE,AhA nAPT5J@17H@#P[D66T8lGn.abrvμy{,`S,˲cd(diq[[:OV[dTaahlM`i)H$ -d2M۪[t:BFc|C˒=yfuK|NLc@̐|`>ο Px H#tEs#bX,nWÐ: ?.Mf|ە̧_}6Wojע}u/.,l]CGo| ``7ج<2mC/Cvk@8lYq@y;=7Z@e- p!ߗ,dHVUn54e9|yQ7-}S2_|)mH`l.벐wЋZ 蟨*ZY!Zr;:_z_6 h5_Tz( H+ri`w~@>aVIݞPUUUUe9ar]#I :4{$V2{3x֚8ô(F"H.KNdbY8`y@>+ oǕ*9|[[,KvK2)I&h;/=Qԑ#C%UIs vͮiv@QEQh&@ k(Cᰪ<<̄@<!$ S[^rbt]zOix<A JQ)ijZMLܹ@@ bX,2r#]Jn\z  (8x^ rl6{>5tw t&3> (I$IFvA;QYz" D"H$²en? P( >|>Y~&_T҂I~,˲ Dh4Z6'ƿb bjr\.SЩSk-bo+R\=]W-N"A֚wڍA+_ |m~F$WO8GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ai.png0000644000175000017500000000307013353143212014426 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLpIDATX[lUg;B/rKƂ5@@A"1 D<  TT-)T@ht+l mngg|=l6%_|s|s PoAWMs1tGnY:a~r)ŒϭDd~iC7uӴ0cކg _ A0dzd&4kfr> jO/g<;sҚ 7mxZ[LK`{^!|..Ùs`E Rh'6&NN8=E8;"^f?nO[pysqs~;0 HNVU:_%F'|s HT4qBPqXF HWKJ+.SW7]WSv{xE׺z#DVp$&ֺnw(crݞ(-bg}㍳v3ʣ lf0;̎PLiĖ4K>Hǭsn *T<"6u']+]~,g$ ɫ9l뺮}Zh`GV1{rUWijMMMMu5444444uCvurXrt L[ drfvvJw{+----%e޼v?(--+++s:5t:N@sL.xy_cnp8Ȁ"::::&M_"rsssǍ>cm6bef(3(D|"?RX(uvEwBeeeee%CB8ÊRRRRRR"D|oJ$ 5$˄j}  x<eE˗[~Aiq]]-H;1X-fMl-%?hIx7 aݿ|_'!/`Ⱦe8GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/gh.png0000644000175000017500000000271213353143212014435 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX]lUwݖ\L@RqhĨ|41jT$(Ć -m4 9p`II7ޮ tQ| `?`qՓXE@ŇzOȧf>p++~|`|:Y88^apqV!hY}&<)Z=@<"6!vFԤy/5yD`.<[,_:!-˲7p8me  [` (hP @:\\Q)Y2&@J elc qKEO:qxr{Wm^̭X>'\)iU\бcOj)UL&dt&Ph(,ܲ6ovrL@ݐ7r|>9j]U M1n,\XSH$}Xkkkk0r`0h4mY\bz3=˲,RkUQYYYYQaC2LP( x< ;oDA_zL,d&Ʉp8lzdJ= t:NFSSSSSԘJ?45 j3744444H$Sb%~J z{g!'EC^U˂"\s%)N,Ɔ4ZN?NN7 \Zt Iԟ\&YNZN`Ʒ-?6BlAh״nn?=Pa$C8C;j 1%w[ 躡 @z lC%P*u]soP?Ml` 3Hx*"suV^Ư#[ ܹchp"к9Щ]u:X *C4 g ǡ`ǃj7uH>vec``'iiN,L*p=p%QK^\:xs@ܮuJ5K\q^a֯n0lHǣ(wf $Y m6neu TӤW0.aУ UA`u.Gi U?i @TDNZus~swZf@, mN@8[F4 76[{o(n/3WiU?W)tHH;J.:Z&J"]UUUUƑc(fZV`Fc$2yjkkkkkEbeiAt$"tW[kF"h,vXKKKg|>`0 B,frDb1l6(.rACCCCC$CCCCF6beˢh4;b p8X0+^Dg$2nN2@ Ȳ82!~zL&ɤ,777777KR6AHCXAH68ܳ0mjw*-5a&\IÐжmw/v: + kx/2%慽_}BCH6ﰰc`>!Elt]GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/tv.png0000644000175000017500000000307413353143212014472 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLtIDATX[lUg¶PoYHk4*EIXL hh񖐢`"n/hƠ(mj]:ݝtK@4o3pgp'ixlK뺮;5yt]^<.B8&BLѣH$TU%d2RNUN!z)]jkkkkkYZ\\8h:G6wk @BJt"  #@ҡ/(MUcࢥK^Gr\ni«|g{>~?$w֌PIMrXo.DEq7KKe1 <^V8n#\z_ӌe;')'PY]m\=e.nk|"2@<B=P0QZ@*?e ."1ڷ ܀u j'S)31a?n ?-'-|pN#4o{V_vςwSq0LU7U}!76BɰVWsǟg?qfb1O~1@cU͹0xE\pv_I$vO3ONFB< ̏ݏjok31X˗+vPXe: B̤ |fs'ُ`nf¢sjZV[l7-fPtq[.H^*A{h p;X ܓMP,ˣQ۶mT9oS`K׮[ :dlrsK]{a %u %1ɠaCU~:8Ω١F> ^7fXGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/gf.png0000644000175000017500000000124113353143212014427 0ustar varunvarunPNG  IHDRw=bKGDVIDATHU=oA};kQ$"IqGiQ"@$$JJ**~ TqTWQD( #%w(;. 1jfܛ_%DK)mfqfe-5kɘ"p\ga"8IN`7=u#o) xJ[݇'Rz bc))dž硛uU\@+g0ON֖HIDY¹&.H nn\w\_<J$v Pֺ@DE"x"dc{s!k҃efcJqG]{{8::by3/%R DUcJYƾEY{ffsj!ւ`؞E{XsssX__GպX^~ omm ̌^!9ljR*N"pOay666t:TVETOHa"1&U{ggg888#0 ./+nG( Fl> rabɗd^Գg!;#t~ NQ&IENDB`pychess-1.0.0/flags/hu.png0000644000175000017500000000203213353143212014446 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLRIDATXVOP\G lȨ"A,U2*-kWt#*KTSD8!!uDAI;{ᄏ{~G I$IܤdYeukGw]گB!8~z^m-˲7,<\xq:5Z4"-S"n f*3 }r8 ssLC:41ϣ^f<O'IYh 4ԃhSM/L !. n$"I,Y'A2)쮒i[X\4M{/0QUpXEehΓlhވTe JRH0MTNyUԁos[~77ys8p$L-7дEM{T*eUEQY>>>>.ZV!{Y& Χ}yt:N3L$(ѭmoEzn[֗/|>Tj Xtxc}XUUUUM4MbX,t]uZYՏZn[ַoBP(LMi0goD ۃ㇂+Ls˗q 0 CdȤP,"d2 t:NGr\."؛AA` jm۶mRT*?RߓJ$HCdd2u|P }p{V֡}l.~FSm? (t:فD6"QGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/re.png0000644000175000017500000000124113353143212014441 0ustar varunvarunPNG  IHDRw=bKGDVIDATHU=oA};kQ$"IqGiQ"@$$JJ**~ TqTWQD( #%w(;. 1jfܛ_%DK)mfqfe-5kɘ"p\ga"8IN`7=u#o) xJ[݇'Rz bc))dž硛uU\@+g0ON֖HIDY¹&.H nn\w\_<J$v Pֺ@DE"x"dc{s!k҃efcJqG]{{8::by3/%R DUcJYƾEY{ffsj!ւ`؞E{XsssX__GպX^~ omm ̌^!9ljR*N"pOay666t:TVETOHa"1&U{ggg888#0 ./+nG( Fl> rabɗd^Գg!;#t~ NQ&IENDB`pychess-1.0.0/flags/eh.png0000644000175000017500000000263613353143212014440 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX]lUw҅-tM`FZb 6!%K5.jDy@& ~[A[Aö lvW3>~lݴj|=sι,` i$W\۶뺮[R哅-K !*Fҥx"H(=mր߶- *+++++3-.ε/*o`4?XWRo.Ϸ>\tp6f  T' }r8?Kom&Q PV6xE5G^^R+2Ϻ?sBzOWP|ⷊJֵ([-)!1 ,a\o 6ᕻ+CpW 8â ]PtBXpk"y04$9ddž5I܆}-F_/A~}RMKvo@꓿D.B%Gжd]C۽[?(%@X2(;P`/7/`ppXeYۭi.#% ·o='쭆ĩlzD;'>N ڈ,oqSl†կ@Ƴ0 ƍp8[2t:].K]uuc$^2jvl`}z, ^np5gK>WԸ̭q:A4MCZPJ\~Ήdmkw5=mVO\Vd&B,2۶A&d2*U *aTU͡P(iYpzWWWWg'!''(Vrr&r>~eY]-)*sx/޺5'[[[[A# ADBpO$6Dt:N0 0 z^|>烑T*jhѯ]klĹsmmmmmmŦi9XuV݈J/$rZȦMB' pXȤ":::::: (JtZZZZZZZB>}>(j(jK&d"H$d'Es~ۯj)GGysjjjjjjT H :4~R*Ys_KWrS~Di|HS VrTB:=7= 7&rGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/es.png0000644000175000017500000000214113353143212014442 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXV?hWw(Z:8c :CBP44=PITH)DJt,ItЌB-աPئ$QA;^O'|:,"|}}8)s~ܹ ((7^]G}DgHyÚ^o#~!1 >>ryRVĒ|40 48i ~|"H<ϋ9WWOg} Z 0L4;PbXsUUE&,=D{\:rU2}~u 3߀L&d˲,UV@F{@I`B sGX#_7r9B .eB cq0_灙nv9/ B 7 a05HRC¨u^jZ@RT*vRܾ-ݻo_Rxqt:NSBw_bBo+ə}$='9)/*NN }I:ndz x#fL[#GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ss.png0000644000175000017500000000137113353143212014464 0ustar varunvarunPNG  IHDRw=bKGDIDATHKTQ?^hZ!RL )Z&RZDnۺ Z"T6pFRZsa\uN<ϫ~rRi1Fcettr,E'@H)1?I>΍_, o٥bhڶFl7L͟RHL{-M_$/7ߖo}F.IENDB`pychess-1.0.0/flags/sa.png0000644000175000017500000000254613353143212014447 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXV_h[UνIi?=YjMMX:f2ì(>ԁ>-TCвmNnJ. W`k{ޛù%E˗;~|6 AAd-`mJEQE43W+7M*!R^b2L& @i- B|JMz^0Xn/oҒ,[QJZ[[[-~ w-X̫[ _|,Nde%fٍU@Cg?!}D8m EC'RquKZSP[u+w{a#>~Юf.+6Pm0v79v%yjsy#2/W?}vQe?ԓ^鬮CE1ןwɬ-*d%`(ފDX|>sR)Ye>DO}9p=C/O9W{+ϱZ|JH)m 0 g.Ƃ$57K3333p8(D"HO%9lܼ.lia^]VZv*ONNNBG( B@<〪]\b| p++N$I$ x<~X[K}4hoVEQՉp8vYeY-+_D^A/no$ )ra1h4F'_!D" 뺮  !(/n μ Vi?M4MbX,hhȿ[ƙ ͮɁYhxxŘml+z/9o||^uIk s뛋/6/ FcV2GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/kh.png0000644000175000017500000000265313353143212014445 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX]hUM_Ȑ,PK@Uu P4(zq# ()8(2A&`km6qѮi6MK?bM7lJ)Kil6ajj\0LBXv$D"tәL&RU!nvn/_QnɩdζiFQ"[\eqon; Ba2 av@&_NKh A3q; FA< -IV7 'SG+˺زEz=h>{r,AޢP9Tw߄B < .@lwYF ۣ]lpSðx*+ǣht~~KijWUUUe. qzwso8%_xfo[천[c/V d2t:fg ܼuxߛ^9U])|ްvn/*%-)@S;@n[V|^Ep[LڂtuF"p86666@<`K4(dѮST fS)JU____[{@*Ng2G0 bd2lb`ʱJd]u]xr\.~ommmm{t&sr( Bv{2L&ŅUeՋ*Fv*ٷOGh4ijLx p8~r\N@ 7VӯUAVkrl6%L:z'z5[‚wwz:E-t!655&V%^is7|ʮ:-nÉu+^0T![J_M_x㑂xGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/rs.png0000644000175000017500000000136513353143212014466 0ustar varunvarunPNG  IHDRw=bKGDIDATHOA?3n@ĭX"==ql'ѻ _ECbr` 5,1@h,n[x菴kp/7ow;} 2)ỳ9GջmvpCc \)K>X8䝂sT^s{iBn8ߛ}o;F)&l; IK6$H@*?s] 4RFas3`jd7nzFk-X,f'G;;eY*!D Ƙ`BeYH)Ih0=ǩmGEzd2yJ)|GJY;AMmFmQbfރbv]1PVB`iν̲&\m<XL;#Bkg6eyy\YY >Z@3DJֺ{RfX) L&~\~!请p6t˗jy(9fkU^#_u(~gq*oKP=ʝIENDB`pychess-1.0.0/flags/is.png0000644000175000017500000000260313353143212014451 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXV_h[U{ĦdR[+GU9}2nC d67fh_6{0"M+Ih\57zs'gҵiK/=|. l8JQZxy^UWLn%ZM_Uy4!XzD"H46r&0>hj X}we5MUfrJy]5ssɤ$緞sCŦxupe5з w|u֯ _xʨt?'ZbX,W bqr܎֛:u#3_'ԗk}8}l ,< ̑(I-Y;Y=3#QM˽c0PƷuT4N|} :^}c1ML۝!z4ArN6\0Qb(MME"H>bL`0Ff+ЧiҺpl [:)>:B_!WH*7 p\.2R)I$ARH7hɤ&TVӖv%'K+_\X,x<Gd9NhUQEqp8PUAAɉ qNȥR-czv݀(0I&:ftfa߾tZ3A@bX dD;\J~`0 ((Vj^|.INYL`0 zI$I*fee+De"?g(H$p+wB( B|P( '7VjflFht%==r8(],Z-8NA[%lRʨb^T6gtaCA(jyp:GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/aw.png0000644000175000017500000000236313353143212014450 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL+IDATXAlEMMi0EH4DiH "J0R@Hnpr@** >RR)ISve񦍝]pN8uCfga [aaG몱iy[W֛yj!BX\.m+bQ( !|)=]Wy-xv>87ex#i7OY3 l{y IؤvoUwr\^WG* 87+~-ޑWs_=$?> <Nf]й1#cǾ[nU%ɏAM& ?s@6T?wѠ)U/ !?O ik'y(EyDa8O? 6@=ؤ;wTm. =l1 vs@b0x8!V)7,<0M!`׉?ϘR Nh~(^!zzl۶7RTjyhY----i[z_?>4 fYP7jZW=_SFѨ#Tt+V0 >P(MLLL>_<d2 FVBLo\Bز,˲m۶! B!bX WBP(/\H$Dqq* QgPǛDu"4Bq\7JR)%SvD+$d2 T*Ja Qݛ[C[ZVoEHtzU2Ǐ+{W_);; p8u*P-t!V@@Y۪mS}Q\m>=:~Z)Z!ڮ?_ z(C *YވGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/to.png0000644000175000017500000000231713353143212014462 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXMhSYҔh RfE6]"% f݌ψqc#Hq\80(Qwj .BLl1yw|$0lߜ={8 ]u]zUj590 0Uql#+4M4MձZwl69R,JѭݿvB8|>WIp{P[[ ?o58qu]H?O?|@D rGvvz^׃>_ p!w_L>0717-ʮLyߡ<;#f:: >ܔv .rOsOvn|@<ȓo[{{?@N3  -lA t>Q=$K z5WlVۤV"ae?o|/TE>a-: GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ky.png0000644000175000017500000000313413353143212014461 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX[lUgf;[UeUkhQP1D( %A5-M$x4[U!Fbmht/\|m?]g\\(t32 gl۪jY#G,gx\!q\1rX,H$ɤHmn!m۲ pyy]-xT_/ޅ̼UOG<|N6 k>WN AˋHf8~ JR%> bh{ `Gõ|i/ӑ4MӼ0Q©9)3n<{΂"]]S %[aU!23vp$oVZ`\G1 5Gݐה?^~qd4BL nѣh4:439WMSUU@'{5?=k}>l?X& 38(ZL (lkdRsK0}X |eׁX8TTTTTTxludw; |`\sҳ@ 7Qs`,u^TgUgWZ *!wa!# \DBg N .XaYi y1s|n%93W]]]]]-3C!Ym|>_aEx"LnkZ8 ɤs#;{80KdG{<`0 PSSSSSCC3f8iӪD"lllnnnnnu]ee(+(˅Dv!d<'raDh4(e_~ "H$:pt:(BdkS"=4$˂hRT*]]]]]]shj׭w 98矗BYYYYY\gjkb:,[%lq/W|oub1tI' ;,!+?KC|ͲGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/mq.png0000644000175000017500000000124113353143212014450 0ustar varunvarunPNG  IHDRw=bKGDVIDATHU=oA};kQ$"IqGiQ"@$$JJ**~ TqTWQD( #%w(;. 1jfܛ_%DK)mfqfe-5kɘ"p\ga"8IN`7=u#o) xJ[݇'Rz bc))dž硛uU\@+g0ON֖HIDY¹&.H nn\w\_<J$v Pֺ@DE"x"dc{s!k҃efcJqG]{{8::by3/%R DUcJYƾEY{ffsj!ւ`؞E{XsssX__GպX^~ omm ̌^!9ljR*N"pOay666t:TVETOHa"1&U{ggg888#0 ./+nG( Fl> rabɗd^Գg!;#t~ NQ&IENDB`pychess-1.0.0/flags/ae.png0000644000175000017500000000216713353143212014430 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVMlWn X*U i MoT #cg3"!q)HO,F",ے%`n<lq[7oqC|$Its.˲,˞7Ӻ yv1#?իVjt,˲%޳`sy@<+ӣ|k-qů>5a҇pi۷^덯 15vm o_fs|XX`0;v'._穟K'>{'~#$E-+XƗ?ߏ}غj?xb xF`4ϷYϬgցߞ\I|G֝ sZm{08xSF|A9.ytkRkiGfj$HȲ,jɖ₵ f$Im:N33;;i"fݱqUBs<f~6S8#IBP(06Z {4IR ϶m۶z^ |Yp.wz% ~cOH&d21y"J6@V⩑bhx}aZ}^aP&>)8;@mt2qp|#ezZGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/kr.png0000644000175000017500000000145313365545272014473 0ustar varunvarunPNG  IHDRw=bKGDIDATHTkAfٍ&De[`xAJADD ڣJzR\ozDo⭩PX4k- l~t2!vw ~0{3=?*PJGpJTE8t,繠BF6N6 R@m#\2ILF !Bdl{dJ*c D%`bbsssBXIXIB p8)Dfɘp*^###u9{_>G.ihg@JKPPPxz2\*Ɨ1>>ތiَJ, .Oť@]󘝝!:r@.8~?>s @9x<`RUNbkk z%Q By*( 0e`LW0^Gh4MEQ Am{c ~ccc(J|"W ‚+C)%*!RvPU "7\%N9s&''QT4i V1@)Fb sn<K }}} \*=&44 ɝ9Nl5/\obBơn'wաTtIENDB`pychess-1.0.0/flags/mv.png0000644000175000017500000000261013353143212014456 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX_lSU?++&(`"m@Ԡ V# [EMԇ J06DCM"^딘m"tuM[ùvݺfD˾/~; X"aaء$TpXUj-K75%Bh?fCx2L&˗әL&RΗG+C^JMSikj;~ƍT Vwkl-`~a+e6וaI{N[)Rà*29Y( l C㝢S@kw@U:^1B>c]Lu ߓ#449q`a3-+ڰ>ֹւq]m}h#y)8g~n6d G{/l R Q`m>k8;F|8l_S<ݯCw77H\@>j ><47o,Qc!_# SAV 7/ j&!C}2@l?&&\˲,x (@٢1}lZqq6qix/s 0`}n`/ \o@ d˱X,6=]1=5 ˮ] KW A g+=dTYŌ C z<T*rIsWyWx)W{3T'5K+}%KY/4M4':9ZF l:4444AGGGGGLOr܆ yӦt:dNﯩIRThXgV߈:Z_.)t%B5ibX,fdܑ D"8|>7.!{Stkh jflx</h |55)uK+  Sj={nbxgfg}Q\z\6^WNRq3<}>:Ր/L7"/?c`ݛGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/pm.png0000644000175000017500000000323413353143212014453 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXmlu?3ݶ[.Gm5@*[ 44Trԣw(XsFs#Q1hR ) ҇n3bWM7||U\U\(i1RUc$Iiӳ9o*ib `1Dh4ZX+v].ӿ`uMvUհZ-3m8<<:*-N@leDM_a ]X-[m9jP~=e9Xp812߈G!њ7\#_{j?aMo~xuV`~ޝG6uSuoyOv 2ԿT#m%E/to`GuGP/Ciwޡw۠%Kd?}gh霈{,gW>k(jK]oln8[]=a_ŭ{L7N\yo?> y-NqWƏYii(J @m|n9h{ }(]i mjַB0ȃyd={2Jcf)K^M7O8(.xp8AQl\c ȶ4v<ぢ"hiiiiid2\ bŊx<W.VYeYllffM{JaV";?j`GU`0Ed_#?z{{{{{ ,T*JbGGGGG dkT`Jd3!SImD"P( ~4Ϡ; ޽WI;7}20$%6oɖ~-.W*>sL0ɓ/J*~)+ִGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/an.png0000644000175000017500000000300413353143212014430 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLʔ o] bq y/~g説F8&;ڙ:D~`pyeE/&ToeEkP>o,@U) 9ro#ǧ)Y o R`B`[= ,| Eצ>Nw}t;x;F5Nv]]iuf&&( K;K;E`ce?Kw[[|WcW5 ;6ex P|ްPeuvvhF<](tvIOmumukV08~Nn k}?ao߁5׎]?Va*S!\ח|mxkzB$I_x +SQr ̈fIs ZZ. AAF({桖8JvNwn6[ûpg X-VU@eYY&y(T0I&rEAx~xxx~ &g6 Mɴ_?]' `մ04 p8FOq8p8|> /2=l̐5EQE@$IjZV qF$f\SaC$Dݽyy`0 βu3KۉF|fH(qdx<c[Ft:N'`l6I&dvn'$ $kH6Z/b1zvTOe{ۯj*''qcL&dbqҠ:xpSNG%meR^d3T1\q/&.$=`υdrqz E^=MfGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/dz.png0000644000175000017500000000234613353143212014457 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXMlEolhdA],DB*ȡR H/H@E%>T $D%C%Z=$q`Iloػ&vlc򿼝73o7p UUUU=^ 1mM4MR%,q^:((ҏj( ,@? ลP+5F~4 `۵kYy#npaa|5Ck7|7LkG[%Pۋ66D k'\C_tx`=ӝn\8rIxX_oeYeݪi5**@>0eXҝol̿h3P0 r˅Nrg`~fv<t^\sș#@\@ vR\t\Ngxg7~)KUY~OD怡pܦc=6 B =gccKK뺮뚶D"H%C-H7{}9}\+NDh.[[]]]]t&^>???z88d#-f`Ntaax<011111ݻJ_H&d7o.,,,,,8T*J ʎ(#(V!3QO9SQ8B4F*S&d_D"H`0|>U5 B!EMZZ! HRktiiB,b{ 19)WoB6k~iQBSS RJV/*KKj}$k7I:]9;,ey9d!oNm-Pxtۭӕ0GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/bh.png0000644000175000017500000000204513353143212014427 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL]IDATXV=o@~FPFLmj9RS%Rvc]3@Tԭk̔)NFJo &-pw{~< np-8gu%I$f3Eq}cϟ^ݽkYm4?Wbvu5l_ 2ELυCd;pv`5u]u)J$B664mgl6[-ϓeYeI::::jnvB(&/@ /yJ,77Ec]J[t:}v[mppppPrVjaa-^dq4097VEQ@4MӀL&dRT*#!z˲,^U4M 6ҋHxQP'…x&fB8뺮S/Bh4@\.p8WjXX(4 QR;qqNt|)xoo|y)dl6} TJ0m%^ aq:#}z=uդntO?U>|]<חRGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ie.png0000644000175000017500000000123013365545272014445 0ustar varunvarunPNG  IHDRw=bKGDMIDATHU1oP޽%ũZN !` c\uC_€t!MQ R[))/DH'{w"b)0g8o#JVn7 AD @.e 9ҽvQ9jp84v$x+$4y@;9+[(,,s)MSEuZKZ 'pWݸ.p#T*b;~ P:OD"xLf+܏+4z^a!*uq]V)%8==b\y3oJ!}0%;G% /:n]u CH)aZu{JBZk`{{^/bcn7 Z03!`xEJ8 "gq>c1yV TDOHʙa"1&w8>>w:KߦHzo(Gl.&qLiœ/yQƜ/'8Lq7IENDB`pychess-1.0.0/flags/sn.png0000644000175000017500000000240313353143212014454 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL;IDATX;l[U:Q 1j,, U$e@Bf`eBH1b"RQ%. Hxt vC"iƏعvl7Q_gr~G;wdpahm%cjͮI71^oξ˵8&y!.yiG{vhldE*JRiMB1@2Br<3*Ym(;Z^.Nm5o-J_R\*K  D pέ"<{7rD? 7&_X^fT6i7#vvvV.H 3s^?)Q0EۥzXk yͣz䤁sQzPDF7Q3cwwZ> >[۝aMj5!c(3n0[(`** }h{ރN'ptt9!"~uDE !yg0dk-YkX X \V)'Lffv*lsnf3Oc|akkk3 XDm؉4?K=!S9\fjI5<^*lIENDB`pychess-1.0.0/flags/ki.png0000644000175000017500000000304013353143212014435 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLXIDATXmlSUޮFS[Ʉpb2H/a AhH11&(º 16\n¶ֵ[_|yz{9ILb#BQEQ Q$bu]UUUU5mlFk᯻[!q ;6RR`0v]cBiք6lmmo!đsP77(GvXOZV5o:i'Z<"'A 6W8 <ls{1 6]$>V .@ìYo޽l?0Lfv{8B;]wl QO+G?S@4C+N]IǺʄr?>GUe?x˗u*ǡwS4冸%;ihn23- !ͨuO߱ysRNk58ZCQy5оly Wы'LˇgSM9 L4mO8::9M4MEU߾|UUPSR' 4!2OJʟL>ַ,,W {"e_xTl/z|QS#j[ڨ,=&_t:KCh&&&&*٬ }K*} GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/cm.png0000644000175000017500000000233513353143212014437 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVMhGfHRŮ)nu.RJ )SӸSC/.bzR -4EO Q$Q$XZxÛՏW̛ۘ77of8!/EQyjYGUUUUm{28/mZB!8q 4 `^+C\2s xCi3DK%zU?ʽVKn$ bC ԣpv D+T_' ^I, @;ά ?CBƉ_$^yK2rar>Ύ3͏g[koL$F&"=SBQ XqC6op%8)g1 /ضmv((*&j$8/:KէybM&~/5D,~Ȩelx`  i}ݙCƷ6軫@;cȚ\-,RV!D" 0 M#k;N| Tnݪs'mY}4ufg,˲,gJz,gbdۚi;;;;Pj@/;P"̃\ߨ?%d2 yټ}\.'ǎ-/7i^iZ.r@ZViҋL [ ~@ ]u]"H$RT*NYZo NZi^aa"?>(x'Fx9}ZPXV\.ˊ[F|@/ Bt: Lz^(l6 1Z ~/pi0 ^^n@RT*.^$^_z߹3x<Z[y B[Fދb;A&yt{y|z=Pxvx ?EGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/li.png0000644000175000017500000000240613353143212014443 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL>IDATXk\U?:M ^``k)mDFAE@҅fqᏡRqgA\Xt'fFlY4Ḯ23vj6#3ouqfI&c&ys=sλv aaJbeԿZZu iIk>\Pn7/ >#wGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ga.png0000644000175000017500000000210313353143212014420 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL{IDATXV1hQ]{`$it\h]t)AšTBit*fvrhtqD,.MpXĦUIUs6^/4 ) .{8/Aajl]WEQ=_+4q~ c1Fq4Y.iZe\]ڿm h:((ͭ~N a9"SWn^߿z^o 1pb)aUZA@8LO>zw> 8ѥصߝSz)zo{8_xB'Ctzw¯oL&Ⱥյq Az:;6 ,,͜tz'`.<LFaUUՁ/_t]wvZ GYA$QE\4SB⇹h@ȳ<i nmaHGο}yN|J:'kw{/Cm۶MZ>8$I$޼x<IyDW*J BǏOLT*iYϟd2d2 P,"`YF 6*w˲,2@$D"@"H$(_}ubcciflaax SfF ?>(DP<{\xض뺮 r\.d2jZVt:N&5)!Z~jZBP(4qskd?76]!FQZoC gm%m>irvWH+w|/(Pug7ف GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/sm.png0000644000175000017500000000254313353143212014460 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX_lSU?ޮtXXF0L OF]f"!!!q01.5J /K Ɍc0J&GX B9:fPюvn[Gױ`|;s΅E,b7aa44㨱isWZotT!y̆x<Ǘ/Ol۶@ʹ0!uq$X XӶ_MWԎܸfyE B!ҖҖҖydC.r.+E[qtK%=+(-[6vٓ6sg9{:= P~p'~WyQdTZ"N kUSa˄@⑉`D>з0<>" eDsރ>vec;;FFA_/@ |*0{e!5p6J_BkW d ?x`њG2y뺮o)e+ojւ<| z=^+y^4= e_8mr3} <p?\6BTUYe-YrJ$,@OJKKK 5MV`ݟ[r*9ܹ7 \ */\8Lt7P$,ʲ6mv]zM@3T)ހ$s~j_}}}}}.@ϬVRV ,]eh*eGB^o( Bbضz%c|{|`YeYPQQQQQMMMMMM0>>666a~񢨭].Jlp8KJD"֝/ ,dF8H$2 OBggggg'477777'd2hmmmmm"_셠Y7ԊN4Dh4:m;{{U]xbBq_߭FqrPڽ{+߯Xjk^_85I3 )}k}>Őܚ_E_f86[GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/dk.png0000644000175000017500000000126313365545272014454 0ustar varunvarunPNG  IHDRw=bKGDhIDATHUkAM3IJkK;H' ŃPO={g_xkr( M ]M!nmMy]6kD{P0o߼}~ *"UXJiSS+}n\)R6 N`52|,囏G/d s³P'gab˸ o0 u:(QIM]A*F%~?ߥO5Rڤ4Dߥ0wwFCC!N kyqRRl/#8q @;v:KD9"xzw랻oOF431@qGZ*NNN D.f3w %R DRc0"uvrffw* : ZQɢ=AkjA,,ܼloj}XkB0s"Tqyc1Xӡm I>Ո "c`Kwqqxn<p 0B0Vk#jވ$z$*m,=F<嬷2)!<? Kh˙{=s3p7qBeY͑cPEQ]_ucɉu<s恺V]RʙqeIoo1cO+s;ssӚ5+Am~vHr`fֻ}-rre "Unף of5~L2iiy#pG9S~'Z;>-ԲkH)D gfWjC2w r }_K6[ k7뺮;(,e)s^z1Pu7N?}ۣ03 2w漏 ee'\򣐗*{fc)b/BlNYNi=|6n˲*$#"L`%x;Z- 7aڅ4WE;mq{aߦA/'S@;ZTRS} f\.p^p|m{o2cyb`zY*Rׁ Ha3 ]~ %,a 02 4M4Mx"BS5,/?uԩN]WUUUUE^0;r73 HP2alosn[ Vr+----5u`0 UUza#ŝpL,6ft:@4:444TryKEE BP8sssss@bcYE>yYWf;_jkkkkk!%b1Ydn  BE΋D"HYg6 /*(0t܍PXXXXX(IPM"6)o)I"\b^ɒOM/^@Ƃx|$GnL&/ ϯGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/pl.png0000644000175000017500000000212713353143212014452 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVMhGfڬ\APAHGK!RKEC `A/Ы qK(%R!P$l @dH+i;y+uwy3oޛy?,psXp9o˙ȹ)('K11 vrz^<Xe< t:v 6|{>rg;gc׍_OǏ뺮;i?%d|ķ%f:8$=qܖۚ_û]U8NI.39ݵ6 ʏ~3&`2 | s۽S E!"\QH/q]l躮_^jZ<s(@[ŕEcRq.vcX\r\"gj D T(M;o8Cn퀝wJudߗ͛f,CR8V "L.Z'9+o>$'Ϗ*? }:=@l:6gGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/mk.png0000644000175000017500000000321213353143212014442 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVklSe~9=]kmLm. ذBI$?HF( CjÂS\4p0:--t=vzáб5[ϟ'{{y=#<#<$I$$8N'EQc8o4δB!  b<cp8L'<p`Lz>#Wd՝#eoO)>)@rS2H4]gM@~;{mz]IVZ'e`Y28}C"uWKCy7"`"H$#AyFo#;;o %%@^gnֹ/ ze*s" ^*@_~ <@)cVߍe~@̤۠|-ϟ+4qY@ڠVpX[@o@^h(Gw @bVK\78+L Z&sKW1@If`7Dz\_[޶QZ]Ds_)g(pA50IK*PQs1g~4XcUua=QtN[GN yTbѳAy7/6{ ]C)`k.Ni'{ـ1J u[dnO[B<bXv="Sɽio_h40 !dP(*,vwDr@-+j{{{{x^*JR\.y" z^pq8\Ht($ՖJR)B,8aJVjNtБ˝rL<8U;,͞i,d2jZ-PPPPPPFbh4ZS#MTVVVVT̙ò,8al6M3 0Ljc1bG3(XDHC!vn'IdOܑ ]]]]]]d2L$q4f ҵ)b4h!ѤH$Dp8'ЊYpU^.At:q 5B`UdIZH]䉊O\iA@<~τx||v@|F'Gxx#M\0 GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ao.png0000644000175000017500000000232113353143212014432 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL IDATXVOU2;(+ەdd6K#Bzh1KScK][i"\&'_oq~4!xk0!-_IH>'u8ZK\ wQ X g {,˲@@D1Vf̃sCNW3c`|a"~:./߽VVVEQ>TUU'&@eADQi{C>MvmӖ ?x<ͦi$9i'@{^+>]U9vnnlc{Zd/iIP^8xՁ(ʹsRT.[$I$bR@^!=<`boѺ|w]"H$͌DxmҞ`pa!l;]y3yI|jZ u"F ) geYePEQ  B! JR)zSX,9t:~NP( >i"R>:>,x9{qᘦ P,"d2 0gaf,c$LOI 2IjvnVj3˜iTD"?A=Dh4J~\p mlbn8V⹑bT\u4kIÉLχA8}_@wGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/kg.png0000644000175000017500000000220213353143212014432 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXKhQ@iԖ0ՀA]"M)ݎ.u,\utwW".$(~(I"?I dd}L2[t׻9y%[%CEAΟǑiضEQEѲFgoY_cFgZVa~-m[@$D"[o?~u]nGo+.ySO8U\P Xn 1̃#%_7)}ǐ>p4{훋 @w`ǎH9 {~3B(`0(_ᇬo3o O#뷐pEaYx(T麮KfQ9*0:j`QL8M$ht|hlu"F/8RV$K7S,Ay)̺aQX(*Ӌ_c>`D`Y -$a2yKh<ϯM;׵+;@/1q8I$ l6Bny9+`mt8nWUU&j郆C|GgH?F(I~Ri-4,wl.wU}[-8NxhA:([ GFhn7YRB&nB F"t{bVn~st:N2bP(R eenm]]]]݆avtw~&aKfsM?s555555iiΊ 3ѱH*uϯD-@ ~H$̉l^ 1q,Kkp8n .rA}}}}}=Rכ֯]^[Yys<'`0FhưYk"ZªDv",>8 BX%3܉_耆t:(MMMMMMBdj KZ rK&dp8o)57_{ה7oւx< ڿ?k@m-k^d7ݒsm>\.;փ90kXrdXυtzvzѹ%xfGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/mr.png0000644000175000017500000000252113353143212014453 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX_h[U?v̶v,5 an >@AP|s8D{ڃD(6m*ym)6&u]4ͽ>{6W_};sN`XESbdb캚i8YkŝGW(((c9LO|>aCX*Jkk(w]ǁ^VqS7oݲ,(u5| <> @B-0׮_ );rvVju(@QD8\>rLY {{KOUӇH\z~aQwvOi_,W6[;+=s̻@o@[=@ +ɣCDB;,7OLٳ8 :a偮!l{`q_kG ;HhvVh0\ Pʷw.<ܨwXF Ryo+W7Q88jZM6#%On9g>Y-^; p]' @7oniY35NӕJDRU]4mѦۏ,>d_y/.l{Mqznq _cQZPUѶH$D˲,]S a{~1>k}s3W;8@hqмkS{>nswm۶e&&`}}944111J9뺮kd*\.ˁx!-芄%/n@]uFN/FQYF RJ u+Rԩx\x<l6fT/8r,h46 0 0M4MBPR۵KDtIܱcϞbX,ΝK$D,˲z`Y"J{x;BUpl;NiU[&xWH&dbX,_ZV:66666(ڔheo) ɲ!ir\.!d2E_E8,x~^kwa`````@ƩCHСC,́`Uh.y~&--=,y󥐝j"ߟ.F'qGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/kn.png0000644000175000017500000000305713353143212014452 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLgIDATX[lUg;]FLj-HEHMkQ^4$FbA )<Ѩm 7FŶEiKJ^Ӗ-m\e70ILPEQacRUUUU弑xi !Rpt) #h4v-BeiH6ֆ]]/Ah8Y? W| S6 -]y}Q"$@ .(+g}&d29\aA>7$)*g}Lt6>F8ʷ(0+/nWOF3.ѩ!h8t"+CG^,q;<b[k9σ@B^cA n%f(0q^XVxWfޛQwKaUw0\E,`n4JY,`u\ӸD -M:~XG`mUΡܓaᢋK``BPc*s1AzzxHW_P+ƀZb,W:=`sh.8S2 ߼/i ó{zgH 8s =Beiv+ \# U~/PJuZn>\t&u*.7 +O_t894@TmeTOU#DV)cf@Nt:].KQ4MUUb/%ƬDSЧ3K`,l*@_8<$É~[ ηy*0˕7AHyP(4[ek{ꪬ# /|>~[V$3g@4iYYzuccccSiji677775A{{{{{;r@[wcr]zuEEEEEE`arfvpv<'=}͚p8F?Fjjjjjj Q#0y`.d)Nt뺮CFFFFFB___ߝwڻ:%rs7D#GjkkkkkP( 7QFPSDj +YJ؅c@ (L!-qE"6%FYe@F*΋bX Z[[[[[̳iFʮmmN$l>{v;}aЦM) YJNK%Khuc#/D+!#?A^ $.ϣQeGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/vn.png0000644000175000017500000000231713353143212014463 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVOUtۮQD%Nl`7֓ A-â4)EIAXoId'IH-fx|s4MSF`W}X?_4{t@ﭡ|Ci{<8' KдTJӎVZuEQEk5fl6 :̼=#>3r\4&ݾz0 ǎ۝e麢躮:@h4/2nv7򨱪hi@"H$|>^wbaaaNӱr\.ggM4Msd3/"gn&$q0 0$K{G/T*JP,"m۶mKRT*JB{&3'$բvn^mND.ni۷76vj!d23rcĿ3"\<ϼc(; 0(|.Q{{xkEVGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/no.png0000644000175000017500000000261613353143212014456 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVmh[U~νMzc3hVvf~Bb(QVۍq*ߔUi]qœnc &0]e4[욛^K&-y~< cXq?<󪺲d~dJ !R plN$d@V*_6_TZVUQU+($)6Z} vϕ!,yˈ~@J'jK 34Ym;7 Ўbl6./!G-@uG;7#N@]@ΓP#^+Τ7\ڗU'qcnx@fjQjl5)3`V#Ym՗eX]FLȩ-_矞t^8~=s]-o<@>$6")/w[o+4v}d>< 4\ [[~x7v`[feA@N߁dV̦?ؒFN@UUUUFyBlW4r #RT|]љ ݑ  s1q}Ԟg[sVBjjDQ++oLhQ zy@~߄^WE Nuvgc;}pD; lp8hT$I^$ {DUo~e:-=xr7U_OL3xAc+]0 CӴ*@QEQX$,e(TQݻ~bBUz^ɉ  B!4&)W8t:N'Kyl8R[&ɴa޽x"L;7:::@2I_dz󁱍Ph/  (bX,r\@&NtqP_ښH$z:$I$fe/" kDa!X<&F(q%c-rW|>pneYe# $+H1/JR)  E~T6:0`"a&?VRفyb[f>AGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/bf.png0000644000175000017500000000223413353143212014425 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXV?lUrGN,D,Ojt #YflgU#S} <;z/;[W?R?;f)Yq W~x|0?K`˘\Sw`4~'ه|o_Jc'88$2cKɤ9E@2ԱWegՉG[ 2Ji߼>&@F(,vE>=oB蹛(Ir\.ua".yUu{1W]SI۹iq~s~m۶mpqhZ*iz8("˻n6 ^Ho"`bo^|>O f:- (V</,?](JRT*@jZiYn70ayZUUUUM4MD" BPFp8\]wvX6ͮ=yZZVaa"RI_ !(É118뺮D-|@jZVJRT,˲,Kr\f? yh4 A`0 @l6=AG[tZo:L&dȏ 1B/b!V9{.N|#0?:hD@0àʇ'/)/ ^լGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/gy.png0000644000175000017500000000311213353143212014451 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXYlTeߝv-m"8`ŀc*EHRM .Tq-1>`F1aQ"mN3--t{SڦD ssY{.\\%((WL\bX,>/B!$#pl$D"'bx<.1RF~;(ݞ%xzθ0ĮMknHݢ/H=:D==0^L/:AW nh.[H+9wN4Mӆ%!'1Ceɼb9 X) W-yaa'B<ǀ,gρ:{?2lUkqdؽ렳;sg.1W@u]EXq*ܐlg+BՏ9nޥ=E/{8'ʶCpn/pj}HwW [ d?~=~0|Ə;`X3YEd#r\Ƶ@29lrfbe Zz7ԏo2]֗^3v&|2R,tT~rUT{*),t5@\W ?y`fPz<pZi6KlfBtuuuE"َv'Vn~s #FI A\n˵lYKKKKk[Vj:uTk+p8 愼IX80ikoUUUUUUA&d2rgyhT*,,,,(X2]^z^BPqs"-I Տl6 \.Rdr````|'Deeeܹb}>竪j`Y9e>w}Msq Kq2@ E̔O係PWWWWWyT*J)JCCCCC)1~8֐R&dV_"H$ Lq)kk|~2iS yNf mtjÔUʼy\򽔗|nss`drH9b̏TjlzȝWكB_cbGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/zw.png0000644000175000017500000000254313353143212014501 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX_hUw&;ٴI֒M'5mEBЖZEmXŇMbEPb "R*h(Z,TbmV,]flfg|f$ݠ=sν;sEioY;뺮Vf˷m^2)B:fBMx<Ǘ/OtZgvvǶ޲*o‘DRClċ ҼC15H@Ṷ:䎌|>?3nB>@ؽ4xc߫7ᳯ_:OA0Kykpo2Wy81s_&lT`JfsΟOaUg= |ƹPn b'p0JΉ/o[GGjYtćYȌ&^~6sNçN?~2KZZV7ױ@nI z<{ɩ>}gw?]ɷ*σ!b~'jHXMVuvwllm۶]]i.\1 0k7ᗿ>qx-ZW{I9/? S %>uZZ۪lE}Q*.^مO7O<6i:٠?˕yXGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/au.png0000644000175000017500000000317113353143212014444 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXlg_{ WZs*.[[uM h&mn+*1-.F1H&fa΅iL&dš?#nzûÖoۻ{_\^ ?>x?[[. 0 cgN_)4MӔr~qR:e2B!c.t:xq6rz@0BWJJhnnnnnmgeple˂Ze>WӇ`z'wû}-'~iKn\ 'N^svzTO׀_+^:(| SRT*W#!<ѭ'a^ @);a;`C V^8fOkpƑuhHkAƯ mpRydH\G)ب[[/M&>3~Wҽ \or|[ˉ]/C{`y.X~g3\|?_!s4kO]x7RZ74>z!= ˖:~Zľ?;9(lh޹4ŖY4M%Ș0gg.]BRw5$49ha mS`dWf;wxkTT2\ ރ]obˠJ 0V8n,Vˠ̱RX@ՋNُRJi fQND8Np=:=Mn{\ԛ RT {<%7aZ| 2" R(Johi AfD0<4Mqpu@n.o#n=Cr1'D@` T| \'g(d<0hooooo'&,˲<BaNq{{}mN͞O\12RO^53+*~\}w+l ps۶m֞SW ?<<<Ix<ibJR8/P (KrOy]WWWWW@lmuɌx0L&#'D"H&dr9Evw1Z}  A@zzzzzzPNӢ׭f\n` FQ۲,˲ʆuf3+7 ]Dh dFǶx<7 ]2oޑ\bX,F8BTjSx5hih &ZMOOOOOC"H$Ws詧}ǒߨP( 2 m^@VͮR\^WN:[E] }k~-tkXq%;cq:GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/zm.png0000644000175000017500000000240013353143212014457 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL8IDATXMH\W=}4cf!Ry6 ZJaHMjE\T,-CM..J)~dSUvYL$*dig7y;78ts{ιyiv\9\{뺮RU]WL !*J X]M$D9Jiy:P8R[__n_W+ښe߽\<;>zh߬2Ah=L g5 ;|!5 BPuqun { / z8:i  =x# [/|P!/}s XU/ͭy75i/_W t?#cilj,vGȌ^r. / ɛS_ٟ9ߝϼVx_vy쳀O >@3{ @@|`w4ܱde=ຮ뺁tW;9 nPS (C50J;0ymlwcY8[.d/oxtYM[eܵTߏ.New";W ;,].J]ğglqGe ئ 0v陟_Xp]0 ŅX^^^^^ByLXɭl-Ls~p8eG$:|(ll555556%T:}L$bH$EVJL\R}|`i  mgɓ2ܜ ՠFCIEHQu^&d2;)FF{|utHYR?kP( T"]T@RJ֕å)Zq YtPK\nozP:ÿs s=GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/it.png0000644000175000017500000000123613365545272014472 0ustar varunvarunPNG  IHDRw=bKGDSIDATHU=oA};]dά%KD"q (DF-U"Q@GA?*N* H9+?ޡ︻RRH7;so/Q !"Rʞ[":BԒ1Ejh!t<%9٢T*>u#@u߾>|JZl0``;T<ϋya< ;*kh44RʫNΑWe\:_%5ip+(u4:w @/(k'`?b2߀'m`Y &31@n8UJ=4M!Fg0|RB+@DV0e ửj48::BRZ "6b{BZkEu{>;kvq{{;`f !>MRqAD 8}2c̵ N󰱱~O"'$0*[Nxn<U\:ayynEDш%a_Ly1>x%lrŘ :|:/ċ}g"IENDB`pychess-1.0.0/flags/eg.png0000644000175000017500000000253113353143212014431 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXMh\UD'UJdE]h PD*Pł jt!`-bETuIF!_Όμdf޼L&M҄v{=_s޹maqZyZKii֒!:'pV:NӍ٬뺮r=6R>zڭ>͛o;4'uxY.x, rʧ d_*Io4QAIpyG|k<7FUwbX\ xqk/~ _qZxhd ٢ m#V9y߀b)QtfEw_T'd.N`ǎeNh׉gO g8b//w4!7敺PAr'%/㾡z'&b1)S)Fɫ?ܿ39955=]X;wpx<ūB⳹<2종Z #4| -vM P7hN qE7Is̓L|oBTZkAZm#H$D9%Srpѡd4h]۬Nm BǏD(m2Pu_T7~VOmd'OEZ[ =\|~sֈƃ(>>GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/cx.png0000644000175000017500000000310313353143212014444 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL{IDATX_lSU?v:(v BƸUQ$L` DA`H$1@A4%De``Xd*XXgn0V/ߞ_9s΅GxG/EQi96 bXt/B!dB[@ dfÑH$"_o!Cvvvvv)mxf[[0{u<ǫ*0b@Lh><6p;2S4ܚmXq1% fG::D"7¬wGaX=0%~Clvg䔤"Y\+>n}Nz'=,ސ!E~ a PGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/tz.png0000644000175000017500000000272513353143212014500 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL IDATXMLTW=vAZQ*FJMc011Iim `~4idӅi0.h6ISlԆĠ3 >ady7ׁA 6ߜye,PEQU"aMSUUUU c~)%7 _$"B8fC̟{P( Xb|Bڛa@IIIIII"ai3g-th8 6_nwk*d֊26@H~oHV%}8VGǓd2tqJRoKɼTF4@q @ϷOw&$s;ɝ']'unkf_@~ ?qi,@7y9Y}=CWV8.9UEYl:>oI4-. BIP%y*e?~ pP z:~ ~}gx}kZKL}.$@iK|*-'ntw*ڦ/zso'@͖U`GiBJciآ0 0 CQTUԖs? ;>npD1Tl;1Xm~2z}Yߺ""SN l0 @:0--QZis ȍv{nnnl0LE]ɾS$yvMg$)<(zACY;֚^BiE.nEEEEE16öԃN@dnvzB BiFY)/v.@]]]]]iFH$rՁYx<M+-մ]~?0 fT7!7Ӵ2=f&&2-?iH$DBtBG"Jr\Ngmm$b/|6|0888885˝L:Nw@Ra~niiPXXXXX 099111eu[|ۣh4kmp8}R^*d'2 !㙙Ν"N"뺮"[fɥ_ <ぬ)Einnnnn"s炤 sQm!x<}8rĒMMnnK>x`ŞPVVVVV&IâPcKlKV)2E&w)J>i9A߁$R? Y058=dNe_ "o/`sGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/lb.png0000644000175000017500000000246113353143212014435 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLiIDATXV_h[e{n6t LEee/-C$ ˃*)Tyʒ 8G_dcIXmܛ?7%i2񥿗sss]8@S,˲,Y*Y:qiZ{IZNFe 0 ChӞV:N}},2+@0_5 ZVUUiG$ K<&s;Qt$)rѮ!uCi {k@I/(;=r@ 3G?c_YọUz{34%b2/?^ν+ӧͣ[[G_2?a5`lZ/AgOa̰GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/bs.png0000644000175000017500000000251313353143212014442 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX_TU?^w*#Xr׶Zq!X(A!va u-,j@i@T, %XpwYcflRΟ;p8N{;?sυ,`B4Mv#ۖcu]uǙռJ\mi!Bq? ܾJRL6*;UVj:455555ٶՕ_T[cc>vv @e';CV1<“,OBdG- ,$ hh/'p| z> p($tsu{Mqix}}9s9 0`Hxd/Ez~Yh{tx+rބn0wGM Բ nXO~n?l;8]l}ȓk%p%q3;w}>YN:rx3Xvpnf':hX2}&8x]ju|q4]Vh?h}@nw/HwmTi5T}XW)ٞS <^ lxkX,69Y1505u]ЏG=։u+Ȃ}@<XR!})@,xYPaRv}wZS7OTJ=kD*A}>ՐfyDAGGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/sy.png0000644000175000017500000000223513353143212014472 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVWޮn:PX*>U. qcpʊJ w X@&t!p@$sNT- " ww֮Nj_~#q׌޼yofY8XH$Ib8b͹,˲,tIv+ی11 6=VjVW-˶m4Ncts"H$q]Z̺p{{w4w̡y*^H,"_~?j7#w{ GOTM8#ӧ:,1atoz 3~ m:>~\ p.z1@u9mbW?:z3 l~e ީ}\wFjwt__ &/z0flXU!?|S7smx? v^^ndn,9iRV O'&N_(5hT4ĉ CU AIRYeo_8X9 I⏛H$ޞinw$ \kO=oou%u]֠~޹_q"TдhT._.JruEQE+J\fĄ(&'>/xt]<"vj2b> Nzݶ,~0yE|h4Fm1Eozc YkUUUU4M4 pH&dvΝ?{Ϟp,˶=* Bai4M4Y ׋*1L3ȥKL4a$QɄ\b~z=ur<ԱGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/td.png0000644000175000017500000000214513353143212014446 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXV=lg~4F(u*.HQR&(:dE{\!bAaca0PyK+TKwqw/s>Jgy~?SGB$In sYeYL8 {>c1F~Lnvϟ l۶i8ٻ`s@&d2'Vye} Fu`` ܼᅡULП};m.rX_wx<%Cm)BO;?yyP N`w2Nȋ|ڏ8;TOx?|^>Y{zc$r|~*0ivLtg#$I2Y"/r AL!eX|c1S苇* ~<&$Ҧ뺮TgY(bw4 s^Uy/Tzys(Dj:` 7MZ*X|yGPGT`9kڵkFl(rj5ii q.!>Z2/|>d6+aF{keee~0GvwwwUEVjt:Nm"MaV\OUUUU4M4 NiP( `4KWŋ/m?}ZjeYe)"Ri=* D4d W28gaD%<#z^JRT\u]W*JRa,ڛ8PkSBZ-ɞ8vn:'hkKpxf xr\.#=!D ݽy R)x!^Dm>ۥ_M0IP[hΗSkp_GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/er.png0000644000175000017500000000271013353143212014443 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXMLTW{/3s"(*QT%MFĴImv&RݸMmIҮv]cMeX`hpFtƙ{8s&6n9=;3BUUUUDBMS4M caq!TEQc. x$p8Dd4jOCQz4 J$Dbɜ+ӧ]~=>Rymy3@ mֿb=yOJJS*Ձ?h_D&&d2/G";[]ʊn^[p$uH=!TSz/8 nnnm7Ȧ0G+VH7 3P`}[qϵoF:v/{tFW=^/t)gӱLSxYQ@PF`@`ñG_Kipqݣ.Uz/XwAVu,qA]Xͩc =ܰR+f{z|{"<,vz?{Գ<8;4zpbZآ 0 0BU4@p܂B;wn\sn{0'p_֝a5xbE`Mmz L~RTWve{^TD-???_UVM40A!f_ T ~_^Jz`w?Cdn @} h| F1Z)8*p8GaX( Y<H;ow߁b,]YiP:q7>0_M<\a&$D"!PA v{uݾ{wcVjj n⅗<iKe9N) 3kjD''^Twd8?rY.rYiarc9N[av͘'Mp{ۯRb3'_75MU!######ֽ&S.loT0 HݱŻk,w\f51T `xPHa8֨5>1[$$nO 0a΄SϘ:.>XzGzz"H$7@Buk izyxʴ0qBHmX |yr7 =,0EBcq6m:@҇TP^Zhw6rcj_l1}tÆ_a3l>{- ~揻pA<3bSk0Z\X{n}p z=ߓ>;֧ǎSۺJ3> 4]Bxr1A`{$lٳo9jiãCM'ކH^_w v–L J>*9X}14@wAVl hP+ CA-k B͖_T/LϝzX<61H(6ݛP X]]&% F@ː>Vz;p[nZT-el^dvQPg_ |dߗ[Ә;6w7}PճP/ö3MwMK8n9 l̴vr+OˍVk|||_]]]E= Ob09BAg` E}٦&oL 39<ݱ]PݹO lO[EEEEEEHW(ͦ'$V=Ϊ*!^ER'Ww.?عz<OZ@{{/n̴έWUl6Ɔzhmmmmm}B^MP',m61y.\~~~~~>p8,wfexh+999yȐ=竬q8fp8|>}"˗[{;#?jZVvRSSSSS@ .ӧEnnnnNN^|֚L({^NDB69s.pr\.ALO係t:PVVVVVqP(  BDkS/_ҐV/ ~hnnnnnjn^xA˖Kmj ^ZKt+J5%K{G~al?!' _!n؀!GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/tm.png0000644000175000017500000000251013353143212014453 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXOlTUnjvh*TkE6h$bQ X`c+WN `H!NI#8a0N'0:3ouq2[pos޽{yE,⾰,˲}X)۶mۖrnkղeB!c6 ܼd2̲e\>ϛy"`!WJJhkkkkk}= Vƍ[<7?;LUOjIiIR/w[g:NaC9NyW@#m:x`tEܩT*Je: y~'wß[ (GY_*ֲ)  d'x3E' .D~عcUVzf^ Lm&5X!HmWxM\yc`+OZZojJHJ)lh,W.!t! ^EqKgK h๻\Wx`dI P8[ضm h޳fͯ!Ь*;`OfW&PP'? ٲ01y8m8+C^+a)j;(ŧ)`O9ܬT3$p , mow-[DbtTJqDZQHtt_>gʯ$`VvthkגdXm۲\.?sfhhh(sX,`|||||yݑ=9،0s8 B!p]u]hiiiii>(''''7lл_*֭ۼ9A<ϛ0k:aW Sj"L<3Z8L&ɤei@/x<(JRɲh4ZkHXCH-;P( HRTj:mԶѡmݡ3-#GDC@UyoBgɘ{Ef? |=Js.E<< MbʼGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/je.png0000644000175000017500000000142613353143212014436 0ustar varunvarunPNG  IHDRw=bKGDIDATHUOQyt[(hp"H$EB텣ƙpV41 c"x) - 4A.m&N23z_ED4@K)mam":BW?L6 ":nlKM^ãc=w3Uj/D6ă!H)ZUEۉ33|8:Ň9ߢx6Zً6 *R*Aami>s%:_! kb;v 9 e IENDB`pychess-1.0.0/flags/gs.png0000644000175000017500000000153613353143212014453 0ustar varunvarunPNG  IHDRw=bKGDIDATHoE?3㬝lIHCh,ir{AP !!qcZ\8 ETP+ܩTuEr#m~DpfpweoC y;}ߏyoWF)G/B)"JHR6<8399`=sj$;Uǯ FRv!PΎ ~1R&!Lm>;M>uJɦσ1N1^ll6;*gai4?\h+Yb| LCJ<0D{s)v NrL#A /N,c©fټ=7UQ=T\n_w8engu%`${r?,֒Xa%]yL;NҎO JK)Τzn;LxeZ@=H;N\JR _L+ޅ|{ u#.l۶oYZ__c{{!Dx*6"ܷ, )%ssshI;fPiljRϼ_._rbPJ>RʖjZ D"81??OV;,ffYxW\}14McqdYVh[¶m](ZhZ,,,k4rqqQlmR [\Zekk+g/а pO`jj*ZӠ(-v6tMu"Cv r}x6 ;̃ށIENDB`pychess-1.0.0/flags/gd.png0000644000175000017500000000317213353143212014432 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXmpT͆lLMU M;!dY5̘2R+S:ةSk6Nt2֎SJeGcKmI j6vM/srlHv`7/=瞗? qqNH)-Z[eYR7_:-B!f`h(L&ɹs3l65Zϖ !|{KJ -xp*/pepՓoYzQFԒ!G\T%k~Cp7'[pe(1ƃ6x/;`􋷬yyt}EȝjeAߑ7~R ~Ѽw~pp<,d/j1:&d%^x ~ Ko?h{pW"*j!L3),@Uy^)̑ŻF?UfLU %?SOMUʂG_p~pIqN }AMO\:3}/ !b!;YfhV z^}'sP6ܼ$_ϝTuzrx[ 'E_Ck"kt3)0:{? n?|)+7_]hzY ͙].h*[r 8eI q+[;C uwJ)T($e bx:O@Bm 6=o4Lʧz K(z5Eၿ+Agurl}&-+૿ ^o} 9,Rju)--j!30,+++Ҷ LnT)4|ak4>e[ѡE_D_X ~2Z򟍵 mzx.;D?O}Zy9n$D"H*JٶrbbZFK_߄vAzn\X) =7"GY9KK纮F (?ǩun:z^l۶m۲z{apppppcohLYrj^|yh4Ⱥ:?x<>1q[--t&v,bH$dlf66ӇX; Apqpabb|||_ظhѪUL&8]RJR&F44 Da"YFqx<ǥ4%…|^N! i0SL00l2Պr 1Χ}~7_uu>ON+כu[h˖ "2 _̼b$tfΆ~6L!?~0 KE|~A%ƒvuGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/sg.png0000644000175000017500000000231213353143212014444 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX햿oI?k:#Cu#슎"rN q>PW?P՜" h ]pJ"aN ;Y^17`Xɷy;o̼{ߝY8 NU͛bdb캚i8fw_((2PFTr\>sѰ,˒~UoCQ|upض[ӧϟU?~'Df**jU} >k\uDG|vnh"K_a ͺY'Ϟ<y]cK%Gԇ\Yvݣy WG8}&$Q#U*ݗݗs9@{ @Ŀ=cuurs9k"O#O\({{¹^@CܫWLcޞ`0]pꍫ77N̉\"x2yPj&88jPo7 -L4}i|o|= 4 WU]4͕Js{PUQx<ZZVu] 8 w n^޼boSND{/LS m۶-3z8 ÿ0H4Gu]5mgggg{JRTqC'(b޼D"H$$9;+ ]K)h+ OZ\ zx}}}=L&dX,E,q#ܸ)qc0 4MӄP( L&Ih[Vb7eel6Vj[XVVވ?8&r"c|>ϫl'rRT*NtT5NiEԦ00HiH+ 2Ljk6f BPaz /w]!FQNBBw|+[ 諾T|r޸uetФDA?? Yqt2(wGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ug.png0000644000175000017500000000256113353143212014454 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX_lSU?^vh ,qȊH jfa`i0}X@xhy0Dc $3}%.R BX{}8=ڭ+[49~,f1IbdblۚifYS[oYbdRQEQdLMΝx<Rt:=UZ"m۲z^uu 844X'%*52H$8mLB@&.yt myJ*99;[R4ȶm{iDDB" 06n-Ku]5m``` A/d)m "Ҏ/xbү_S~_+DI)1mn[&T:}tOOOO0`0 B,bNYRbrR5v8 0 <ぎlvUSZZZZ/omMRt…޺D"H$Jee(+(+3De!d>D!ӌD"HDUe˄y"BP(@ `N>ݭ(ڔ6_ RʂTZ2L&h4FǭSخ^MMŽ+7Y)AHhC,].aViTߥ_85֤r" ai'?/|-ӛy|QT]^rGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/rw.png0000644000175000017500000000244113353143212014466 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLYIDATXMhe3L6qc>?j1L4`m%R[=hbуi]"9i"BK<U@5&n݅M'~uvûo6Po_|?ϼvM'OmjiTg)WGK&EQEƱJD"hiT*[VH}uhooooom[[[._e[Lx$[ N|Եqor9;N q];jDGVW|>h#Eu(~xDY߷Y+VeIJu]û O$^Xw W\t7Q)B:ėO\3X{"c ~X'=}TC躞R࿕瓟վ`>m@E_}}}ziA7YC[,Gzw?`'p8b]}[z ([ ~i lvC2pq|^L__.New8*έŒammmmmm044444l&<((===={YeR.MMMMMM֚ifѰe~z(/4Ç18D"ʖ ~ ! B!r\NUGGGGGG|6%*W ɲ F_:NF:9AO l:;߾-xaa"=[vAo䚲|{>e'OkMtӕBÒ7BV A+u-GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/va.png0000644000175000017500000000252013353143212014442 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVKlU=ovƍ@CqJVHHAmqJ(XA S`A.t eZ$"B*DTFH68q{xMb9~w~3=aKpqܩStitm<{:wu]u}_}=}nnVp@y)5Z ir?k-@^Pˎ hmNa<9xyGw[<, HvqEHǑ_b-ϣNIl߁MС0I+|(@AG>/kvt;) 44jvqgJ5xɯp‰g'wX#K@y ߝ3@ ?(c.v<0 x8cpnv~}0<`A1/7P( sst:0GApns6N4Z t+5^@Gn{ò?W:>u +P8BV`0 $I.uآ8 B{O85<5̍꺪J&[Y~d[޴x0^ff hi˄-/'OŘa\.󳳳33@.r!LT%YWS B+yFLJjiiiij)eYQ._]x<ǁl6fE72{Yb`f[  (z@8Àr?>5E>qBeYQD"p:%I$u݈^-$jXѴt:N9L&$F(T*JbX,#V vv;0i0f ZJRT2L&ǏӔ#_==(߾@ 8UP =SCme쨹/jŞ3ޭؾzqyk}H 3|#XRٙ#VN GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/wf.png0000644000175000017500000000266613353143212014463 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX_lSU?ed8\dvqH#ـ4)A^B7Ahq@Lj$OFI qY UeY'['%ۭk[٢eߗ9saXĬ4MӴ={K۶u]uݲf5.goYrQ!B 1w`0X\i*?mUfjm[қ>>'[GFFB!8w ^N/:7ti DG.z1m&z25)P;hi< rG>M$Db, !"'֟#=75 6A.kǯ+yg@XTD0-YS".m:2)̒ex^߅m z7׬[ hZ3F6Vq OٰdK~g<[<mBޤݿi3\|K/<,G.vt/wI[ ֭]` Wkj`WVZ捁6Xi[o5 iN:v:'g{?rMO{ /@ )0࣌2͔R ]ρkOj|5,,ĺd:y'`YeYEEB@cO|$>i C%=6_]n;N7?))c _WWWWWWP#++eGGU+Mt.Ych$b^ax^ @ iY0pjT+Lgr<񱱱 dNQUUUv͑H$bWvtttttBP( *nDUAO Pz'u~߯ij$/\rbX,ӴF!{S!?Tk(Vj֋Fht^'&$ 7v*N <]T$Y*I/қKWS &MO$wXPφXl~~Hd.شGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/mg.png0000644000175000017500000000224113353143212014437 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVOe}3tY]sQ8EMN ^dK.]/T`!R0A`nVyփnrKN),t*Mt'3d×&C~3_3 O  \Wמ'(;R\|?`1ƨI>4MӴn4My0i0|s] H$ px<>4:p}iZRK.G|;W9>~2n|DbXcxn]n>\qǂ2o ϋ= }8ZK^y ;9/ ÞՋ?<)=y!|lL&D$ hNw^=W`mug_cȻ8 _|O9[~^6fD" 4V,loFko˒T.2jZ`F/mLk_ ֲ,˲ (( 8r띜llKK._v]߯T*J%u]u0MnD ˂Nb|i"W0.QUUUUA#vF+Tj  Bl۶m[JRTbl\ Hdi AReYeflqs;un<޽E+RT*Eu|p _bFdCcŸ9eGyhi"A0A^g qSGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ci.png0000644000175000017500000000221713353143212014432 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVkGf^GuM j+^H qH| ͽs 9Xg]J  =8?(%7KPBJ^C%#ZjZT '̼g8 EQE{W\WPUUUUG38}~&c1F~ Fh4Νkl۶iѫ`xu_~jݽ=.fi (B\(` xy޾("ӖJRT8oYir {_鍽͎IEV{sr] `ٓgv#=bnN9u]u =Ø77rR\4MTukkkRz^ BB|<209rO/Ni $ fs{4M>H$]Yi6[-~lcccPдBP(ZVۖ/2nr6 ƺabd2 n^*onŅVղ/bX,˲,0e^D Ǔ*O3L6뚦iP$OȇBT*J@6fTt:#$0^m/>Q矞?lIHzҳMmw Y)bB<QN]r|fvhHڊ.RƽCyaRZ⧦'] +b e? W)Ci/xoa{Pws:HNxZ wGIY{ٮ}p-#CmM ul:;  /gC`9h`oI6B+kzAj\`2/%2ǞD}O#<;aa8fKO~sx_rG~|4 q75 ?["GYz#`[ɡaF ٺ^7ϛcƌiVف#`JWn!~:xB\< YlA'sl#`9.&ӁTMDBv8@ 'I@7y]Ϟ{ad`!fU< ød[~=lfXӴR)!JR)D%p 3p:+*κή.ðZVbx<.|>2HJ7 +>u555555*5sLСҠ, Hjunz{{{{{!1odq+bjc5V4u]up:NʠX,3nj~ꔨ\ ##GZ[[[[[ @ VU7P|nMVI^42= D"HhZsssssT% eUAImh4f:nkL&pN#\.˥daJhӦt;2?ZUق"W\꽲w+>n8~zlҭ:~+TGB"qg~ȽG3ƤGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/gg.png0000644000175000017500000000137113353143212014434 0ustar varunvarunPNG  IHDRw=bKGDIDATHU;oAv>;:*po{kpq3Jj: (F]9sxOTns9`܋s O>1hā#_bH҃7fx_>Vr5g:OXZlaa\ > 'np}5:t~3=y-]su[X,˲ݞNg2Ɔep:NA$ށ}N)i*O_6%*oD} U,*H_C8;=W3_NMi0WtNV^5^4M4c+d_ƒd22 I$IT |7dc<`4&Fv=u`0 )94 ]*ӳxիѨ$Eh4 r\.FMы )4Ϸ;Ȳ,2vn7 B><̽3FFTUU噙X,l6EQE;ҍHnAh-Ӝ(ѴL&dZyWH$DpVjU"H$aUy+4 VRkJRTl6fq:yԽMKKzz^%t!ӮuO]-Ehx#v~ zjRs"V0fPۡZlh/GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/cl.png0000644000175000017500000000250713353143212014437 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX_h[U?4Mlkx*ڂ0}pmncs("u+2LALm0:t.fnr4LJitihQ|w~\X2qSa޽jj-iizRՓ=O !: pj.rW;NP(h= 5`! D"UڦZ{_WLN6|q& `%y ȣ<%_ɕmͯ/n5ۃKg}?yi?\VT*|\?w᱁AÕW/gx-7w /2VOc[<[rXqʇU{*Gisfjo"'  ޞge*w$:/-. G߁#=cgW@>aLFp5cLO+B)w_/Yf*Qxs7.pM?WQDž!g;ٷEk]y絶i NFyq#Bi$Oݽ@ `]gt?ݲ,…T*[6 `0~4M+|ɾ^zsNGHӀT oIWr CAwwwwwwkԔm۶߯nRN\yvc]g!N rޗR];9U kw]u].&jnY;vy9>>>>6l6͂!TjY݀´_g/b1]P5f B+WS(81<<cQMsi/&|zޑ{F^}`ekl@<6SmBKxZy̓YB{֬[ s7a8w={k8#z =<Hu9I&.}Oس@lO֭y.}w'3 W+s㫝l*کym۶m[t]G_̴$^c'@e NO<kM;5K+DWifK˕+X,% ]VM3 ]uXkI#ѣH?8m o|S 1 gyIq[4yp~wRT0M *qw*{9?qq8 @gZ 魕ߕϏvi˲,R( ,)4Lsh4m0 ёyCБ +9)jOůOPݲly<ҥ[әL6{P(dP( A"H$YJbjrT].4Mӄ@keEooooOφ L&͞=pss*JRFTTB:Q]D6mrp,+b1MS-rWD"H`0BP(4mpppppPT5JFr\.x<ϲb~)zuwKy㆔cc|>SˇXn)oMUEpJ.t_8ɤz*7f"J~3TPoE_IqC>GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/cy.png0000644000175000017500000000240413353143212014450 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL%NX[k[m۶mwu5@i_!+~ʓS?ɻݟ 1*~ w(æiǎݿL&Mȅx<뚦]}/^v>?1ڈ1 \PUm% UeZ[r9]aԾk])Io:sNcB9`YeY2) Lsx4/^L$yu]uM[XXXL&d@ ! P/L5}j~`0 JrȈ(ljoy^owf>_(ܾ=777z$D"N4 EܸzVmo56 0 0M4M|>BP(gEx\=w. {h4us\./7 yr"Dzd2TUydX, apJR333333؛ [C,HVk_X,JRT:ASS_w52"xgGb@ qj-tZ sW`Uhl.9/'Zf! ;,yݐoR=;4G"tKGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/tr.png0000644000175000017500000000243713353143212014470 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLWIDATXMLSY%@*6cUҵ)Qcbp;0P&~ĨΕHd&Dv1Lh0%)|}ok-gsz;v]l UUUU+kq\.˶+KiWNVm_*((2R( -H$t:dq*5P8 ~[T Loﶿ~dW+9~~Bj>vU PчW+8pKfNy Ñ#ћћX>V~^)ͣ}-//ܞ=u6(Gx !o qxylǖ phX . Xzd}ihzrVZNZqeEppnAshH[[{{cg:u\\ m۶Uu620M{=A~.~xa0^{`{Yt|n?ʫWNӳEu}Ϟ/%nw]]]j E >ΎN:XUm `ay9L&5M|J {.oa]`<'\纜sٹ 8i˲,˒6@zK<bmki5999<qD!Ro ~b_( Bi&JMMar?x|3Z^b SHon~xאuy=:osHLEJ?8g/z =vIn%@VCc2:s:t2#$!ƝEp! lmh6s*OI03go>bRH$QM@aVdm(B50t }?g'B=G(,[*JRhi۶iRJ缮{罜[_[Or;;ܪ 0 0@otPu]ץH(C: cf0n(JrsM4MSJR)z^yCPD@&9瞝^٥t:M f"! jZeu5====5uvn;˦ii jZ8hc 0Yu]0 bX,2L&ݝ+W6????7wjn;ΫWBP(LNڶm۶*K7"UN A &r:㺖eY(2P,"r0z|>Ϙ6 AA Z~NjZГ(9=z%ww%C2L&ǃ%?\x#0?=7)烠ʇ;:@x:?*4xGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/mu.png0000644000175000017500000000212313353143212014454 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVkAfn4VsŰ&E4 *To!֛=5 AoA *%=\$6XdӤ]˦&1}3Y`ĆA4ضEQEѲ[ke;ͷ,_cQ` Q( HdA~vh5mY@ ɽN .-'3Gi˥XzYYjZ9x02Tnc3;i{r %Oo۶'R0fgUUTUUUr\0 ~#I6v:w˲,2((@,b@:>W=JaxL&࠮뺮; SeF = w!(De\8ii@-DT*Jx<ǁjZV!H$ $I,:W.2flC7NOzܮqs+BP(D8rKd\[\ly)ޤDZaAj;?ྑ7GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ck.png0000644000175000017500000000303013353143212014426 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLPIDATX]lU3;\Z,ۈ@H0WHZ1JӖ@nw;ׇeCo_Μ;?ށxx(TUUUu ˋ,_M4M3G[9/M4EQE z^כ BQxP^ӄXۓw{fZԥpsY`mxzN]צMΛZⷝUS>jOVqmmQ.GG̅Bvs5Xx|44 (Uw '|?^gY͇l dz|iЧ ɿ}?ډ_pKKx lmu:.@䑊aS@`#][Xm9bmZ#(3 8WLxwwhZ+@}FQ}a<3!,-+J/w^ "Lp~ V6|5/x}ewϼ egy~-Sty^<fČnn 텖vc ss[_z~#_yʳ ]R]5C9vxF,Q\3'H7()bxDor@Xɪ?C5 4MVUMS]/@adZD1osѩ9bq!q>V/dޓothW z &c@599CCͣ(Jqtfd퀜hƍiql' [3h4$&Du١j}eeeeee~-$n8-.ҿ ?J qQEՈ1m]! b1D&d݇Y\t.^n뺮i 9rC+1/>u29stׯnw$@[WV uuuu^_____@(dǝ &7NtBx:0 0t:Np8\.Hdpppp+zKRZZZ:k`0 =`|>ϗ,++oDYA9Ʌ|F&hb 'sn[Ue,;v"lh4jmmmmm$kS"x*HiH+ Jj pͳݾkt YƍǍPRRRRR"$`Ih˖ ";۲UZ[},.^ڱOKO yK;|$d!}q O_GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/pg.png0000644000175000017500000000262613353143212014451 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXV]h[e~s3Bbv5I[βF͛V!HXB/B+a 2C/4l&0)sPҌf+m`ד?=9̚6 -s|;6u!I$IǏ$s.˲,ˆ1ua\1q8{t:vBPz|l1x<b_låeM.:O5 jR6>e?-q!k0;'fH6[VZ/M`tbWI8C: i4`_w_c{ƨ{?ZH'sx_k__ *G؇O싘`]*oy}Fql2g}> ؿ~`b ?|xwgO?ٍ#@> >3],G4.xNx=@i@'.'.&vYvY}ʜ2dLGsKMnpOS[}A8UpK}Q?\kO:-kRn59,xj7C9= ѭjB@m۬GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/bj.png0000644000175000017500000000220113353143212014423 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXV=l#Ef7l8G+lDtXJ\]2Dq:8]QآHй: $$먠$Ȣ& iQuݍ}]&|7ofW΄$I$ݿO#ϣqȲ,˲q}BcM4Muva;y? !x}>f٬u~~.nÃ#!߼=cȿjS{_G|PENNp8I@dca᱘HWx5ց$pw.TODvJL8HIx8b3?=!`Z}< SgL9ZϗK`Bۍ&|}?$Y@VFb%{1fbmM4ma!쨪(,@W@)XFj@jۇ?^Le%-T۵,R0L8:?(8޻>n컰+ yy 'pFд5Msgooo^}EQEFѨׁNtz!y\[rnz=3ZW( '$tla/{+Nlq>uEu]unmqE{Q+Lƪ hid2 P,"޼I?{&677776nݲmvjZV-˲,k1+/"+qRp%x&}[PxaaH8y jZVr\`0JRTMF= ,HTŝ纮@jZc~DJxX_'~x;r\.@-5@Ryn꽘n.gN|.n_/Ma`0\5L+:zȍGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/tf.png0000644000175000017500000000137613353143212014455 0ustar varunvarunPNG  IHDRw=bKGDIDATHTOA[v[B{PfVW58q5ē1ě 7oމGo&(c|.`nKviA_vμ_ED4 @T p#?{`ǬeYj}cM3 AUf1/gZ~$I$8fB;g@ X D"aд 0$^Tl6fukVV|c&O> BO˚ Lo!ly'06K2޲}|>MN} 5 JOKg^;2665555553 H^$, K=<~t1T kS[6AoU*&jjqFhl{ 'OhiE괙q0CKʎY{ˎwUR3v~d33AN̘8!UjAٚ8G4Mr fXӓÚX~6gim'ﹶHĂ ,YYի ^޵G58)@׊ߺVݶmJuWqzAi(n]kȾ6,DDbXddށhC!%vDi~>rFZ1Blpl?T,>US41 K@ܑ`049$ y9y ٞKCT=iuŚ)@1r%gslj:ծ4B-x<E$"Y$+ʖ-^L&d0y088888 ti/$%\^'p8YZ:Rz'ˢe:~ <z0bX,&NtJR6AHC(H:e/FQ~y:>s]ݿ[29nv' ]BGusnU1Hx/u'eMH:sXτXz#S|BatGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/mw.png0000644000175000017500000000224313353143212014461 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXoEǿoő*ⷊD 8AħJ޹Abs,ae-YjnYrx3Y{ %gx͛NuSM$I$ݸA-ۦʲ,˲̦İCu:1ƘcRlvZV횦i ;~,xu L&I&k$6{p/X'Q/Ju?=Wݬ# p8/$(vۙoQn{E_??>Okhݼ=X)!,-׉o_s_K|Mmbzx7bE4oyg8aK \8#x=WNȹoO N~ÇTx뻥F]N^xgY4ƧaNb=k88$2cy n~|:3fqb\Y>2. Gbig꺮F(,@R.=>H5@&d2Xm}p}/䵽dt&'w]l۶m[x"tc\i׮Uj8("l6&@7䨃hFio\6f"3Dw:k+_t]Ӽ}{oooTRRT*Fh4ӤXVUUUU@4MӀD"H$\.\իnkr\.G"aM,2+nDAa "?ll0*u]uI[FߑJJRBP( eY%IbX,2M {DiZz^z^#lm7_(ܽ{t:x>>dR . q6OKxx Aaq̇ɲNf7/ ]]7WGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/qa.png0000644000175000017500000000221313353143212014434 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXV?hWw((J$Tɐ1(1M-%La6%ZR2t::.BۭB;XZ(:)' ϱtgɧ{Ȓ"RͿ{~>'8 9|qQʄ2L??|`]6^-T=]^2tg9[_m4X&yBK_p^r~l}Sp⺰qi yy 8u]յ5WUUUUEY____[r\Hpdˮ^i%d2IԔltaQ?V$>Pj˩j.r@T*JȉL7%FiݢBiDh4 RT*{{{{{ffff/^j5y8@m۶[4߹t| c8gaӕI9z" BPt:F|޽s$I$].V-֜˲,˲ tw^g1(` lojZ69hi>p>(cϹH$ض3Ύa׾5\ANrX W8v}DwWfZ{}.&U4H}OsLMsn&&ܗ?% YϡClޅn/l~\o1$E/3靧{sZ)qH`oO`(@N"OJhwlR,[ݡ 88N0(I<LmCuff&Ns1MGg`jJ4ԩ-]蠪$),2pwşw'bb{s~sm۶)"K4mjJ BXtEQERT*jZVqC8䂘G!8~\d2L&FEujnoBЙ3׮덆i޿*J6f@RT*iY 95VUUUU@4MӀp8T*JfټrEX`/6ir\.7>naa,݈AGU›<cۺ.IT2!GB>@:NXjZd2 c$j ~ϲ,˲r\. !ow yx(ZbX-tfwv0($$Gm>SSHD$2Vk}{#?98'#GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/pn.png0000644000175000017500000000313113353143212014450 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX{lSU?Y;2bQ !%d h jb4"q-/S dXkwq9vtE| pPEQ띖a8mVUUUU:7~x嬗J !RDs;pT"H$t&H;m+ZBmYa8Vk OJ&!C_\5z>l-p޹_jU_ٌGV = E@tx0 cYbe=z p222biMN 6 :ܰym莃[!q_] e ?gн8Vhnp?rxRȦw=F/ʜY~{q^ہ32}xv/[S;(Jpx⥡-~d&=ڐU  | !/~Ȯ>9YuԲCӽ/YDwneMk {%3ّa8%m`0#0XP=O _p7Xb(蘢O;5Xw(l-<v ? u0j5{WhQjA}ϕަ>{ɜ+f|50a/e'KYP1<\JReYeUT( #gL pUv:G0_$.^jH ܍fƦYiZ- ϯ/~=t;8{`-_SFul ȎOyyyh* ~G|.xBe~`#;(&1}L=`O1P" ܨ4- B= wiO瀢8bx8L&5QMp@ wyp;x;n(څd|&.c9 gxy*۶0 0d{^SVuvvvvuYijwwwwWsCh;%x:qP( IdZ'ЩTOO4rԖM~睩T:lkZ88d2΍l0p!g6Y}x<뺮~?466666B.7:::~[ht:dvD"HN&d0e=ULB9ۑ+S8FѨȔ9+Jkkkkkŵ)Q^ 4$ˀ*flbX,ϡ&7moU[ؘý;C0 rzɢ a*Ut_.y'M6O"!IRlsX!#?Xд)uM$m{}9M6+ߗ_|ֱu)a{eڲ0եWL7Mx\!Pq,X=;wh4ݸ1H&I B[iBmmmmmaZM+,pjjz:M ]E;x7C:E/Iy/X\gd/94$ 0mvvGfgl6]_Gg?@y.LjZowك0^fqq-rF|`[H^h펳`s1p>xZGK$PYYⲝHRU=\q6JZ^08kC1xe ۂڣj0c@#z˪۶ָu 0mRvM/&#櫰OMcm`3Xcw\W`V9.G&ml kGPyT!vC?k?}Ps㬗f8ff94Mxt80Pբ>B2{Η;jxCW+<0áw*xMgP^yorVuu~r~YvFLJ]u 7}\%ۗ3؉T_Gæ5nnZ#Te(J\@l`pqzFIi㙙b1=7Re 9v]_Y'΍s:br"49m5UU_0 PV@y~]Аi꺮1<<<<4`e*yJ svmmmmmm*.t<>2é^=O$ɞ`P׃`0H$D _duU``^dRkv~|>@ Tj~~~>0 vjmM$dƍP( 4-bcUY" *}zP(,gi" 8ᰔe\{  t:NK-D!7AQCIUbT+uLLLLLL,gN[>}`LƖꡱQæɓcKUIg{QH.]ɵOٕ_ M*-J.Nߛ][q/jK?UGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/na.png0000644000175000017500000000311013353143212014426 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXmlSUޭkgIoC4 +CQ#QY0 q!&_CCԈ|U#eهEE$DhC bۚؕ{p{(9 ϗ=/sυ8Y|j iiyvƛ^*((RǙPΞx<_xa:m!Bg;6E4.ƛ?+VcPW뀍lTnss* .A)wz~JUWA~QN=Ȃ/6ڑ'FFFFFF7NbFfjj[ ]]ZȮ̮,FFIBd{A}Tjzǭ;XZwJ?ݿ/F8|/<C}pUU'8O>8-o'R˶po]IgGK] ?5 m) V5G^.hKcb ayYQ+8pǁ? Kv).u /o`N{аj>UÕa/7/m(l~Luwa(8I˃.ȋðOL C/И< l ruTUUۮj<:o>cI{xPoK7EN4M4NU4ElQ{|7ow>Q+?Gڟj:_I % _;%Vn5 c&#:T[Qu]+*~5L@vCUm6M4X8ˁaR@_cVZR9~kSOC:$_ bSn9̂RhTUz^t&f%)koTB@@ !.߱]#j!D5|>/Fz}Ϟ?0`6fi @,b`ݐ,(/-YW:Z8U& {VS)ir\IMiޱcǎ`f `h4ðndpɅehvn]u]耡l69Ӛ}~iڴt:6-[zzzzzzD"(N,++oDYA/m+NB9=62N>ᰪ-܅WBP~\.T5E)X !Yd,^&d2D"),Zez[|Dgx<GSe?yim\Vr_K|ƛ'O'7DƂK>tʏ\nbq(x>θGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ne.png0000644000175000017500000000255413353143212014445 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXMh\UuIIGk/m(i>pQJ D EQ,҂4T܄"4.\(ZCA]؂ (Xf:3$d>ɛ\ܹt2&(n=s׻6B4M+˒ku]u^^%fordR!PqX=x<ǛRt:VrY !6x^kYRZ[[_SL">9Ҳ}ܾV6dؕL/#\.˭ԫNIBJVZۈympy}=*˚ؼؕ'bOaC _\sp߯GF\@G_iqFcM 8e!`kvt =D*u繟o|~`YW×y|/vi Ϣ8֙ܜA@潻a~1si~MZ;9$[{\~(CN~`|#6? p(*JV|qpX/<}>8 <|#GN.#'geܹsvmmmmݺub"S[с64M\:M3 ]uH_8z1̻y!/ƙ|%G$'-$>&======D"as$U8_/ S ۶mynz/8͎4eYeHT,'`f}}`0 ٶaax(X,!+..@qbʮ^SU (vYdRPwT*pattt7 !FQH,?B`jB$.riix<|>,..,,,%߼)KRtձD"H$ UeՍ*Bu*Drp,+aMS-@+@ Pf٬  Q> 䕠FC*HQ_&d2D"HɧOjo$~uk::::::<Kq}d۪(.^zOU&&R VՐͮM7/ "WR[GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/us.png0000644000175000017500000000232313353143212014464 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL IDATXVAhG}3+%[:%u n+!RhBRJiKz=!ѭ4^ڞCOnu ŽTPPim i䘕;+EڵݝVU)]?3fgC{RJ)|,$I$ߊ^|5BȣdjZ9la?0_9FѨeq[pcS]~408(o=A_poy6ؗ p'>/<|/k#Ϟٶmvw\:u:"-K2~_\y_牛g՗ 'h0G=Ĝ,p\KCwRuoYeY"A.zJ8,˲,I"PT* o¶q%d2)ȩ)^FCHiW[( Fil6r.r@\.ˀan71!Nq H$T*J[[[['O՗H<;vtlB>~뺮 ʊQTPBt[O'3geJRDhOBP( @:NӀjZ-J3L&!īM^^Vgiiqs*n=zMMqï8 B,bb\Bׯb1ClXCjjf :%%%|f*~ #̌:MD"xBėnUA c P9hW/lnnY.l1|0!D\)"<1@h:=>~Q=|_,TTBZERZ "jGnطdF6,obzz=6`fBfD)#ApxGac\.P( jheeEt Q;1@D0Җ#/I,@eЅ\n6OuXgĎDzD^Z*'ϝZou@b5hrq`HysIENDB`pychess-1.0.0/flags/de.png0000644000175000017500000000121113365545272014437 0ustar varunvarunPNG  IHDRw=bKGD>IDATH픽nAM'D"aQ *JP "RQ#tHGCA)GD\ z>cG 1jgٙWVD/ڠMU|WYvw,,,XO~х"[?:ʻDƫȨW^W 6u1! >HU]k==tO8 p͈Vp 2$!@dL2=-ֽ Hq/@dLYD*"x޿ n0_ܜZ+@00 C;;.J^=n`J~Xks$-S𤑽ڪZC,Cks龠[Ck\T00??:f6Q-/߼hdﶷKi{OA)?'AH4Wa$IZqqSv[677UOA Ca+;==7~ӱE x?[[. 0 cgN_)4MӔr~qR:e2B!c.t:xq6rz@0BWJJhnnnnnmgeple˂Ze>WӇ`z'wû}-'~iKn\ 'N^svzTO׀_+^:(| SRT*W#!<ѭ'a^ @);a;`C V^8fOkpƑuhHkAƯ mpRydH\G)ب[[/M&>3~Wҽ \or|[ˉ]/C{`y.X~g3\|?_!s4kO]x7RZ74>z!= ˖:~Zľ?;9(lh޹4ŖY4M%Ș0gg.]BRw5$49ha mS`dWf;wxkTT2\ ރ]obˠJ 0V8n,Vˠ̱RX@ՋNُRJi fQND8Np=:=Mn{\ԛ RT {<%7aZ| 2" R(Johi AfD0<4Mqpu@n.o#n=Cr1'D@` T| \'g(d<0hooooo'&,˲<BaNq{{}mN͞O\12RO^53+*~\}w+l ps۶m֞SW ?<<<Ix<ibJR8/P (KrOy]WWWWW@lmuɌx0L&#'D"H&dr9Evw1Z}  A@zzzzzzPNӢ׭f\n` FQ۲,˲ʆuf3+7 ]Dh dFǶx<7 ]2oޑ\bX,F8BTjSx5hih &ZMOOOOOC"H$Ws詧}ǒߨP( 2 m^@VͮR\^WN:[E] }k~-tkXq%;cq:GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/bv.png0000644000175000017500000000261613353143212014451 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVmh[U~νMzc3hVvf~Bb(QVۍq*ߔUi]qœnc &0]e4[욛^K&-y~< cXq?<󪺲d~dJ !R plN$d@V*_6_TZVUQU+($)6Z} vϕ!,yˈ~@J'jK 34Ym;7 Ўbl6./!G-@uG;7#N@]@ΓP#^+Τ7\ڗU'qcnx@fjQjl5)3`V#Ym՗eX]FLȩ-_矞t^8~=s]-o<@>$6")/w[o+4v}d>< 4\ [[~x7v`[feA@N߁dV̦?ؒFN@UUUUFyBlW4r #RT|]љ ݑ  s1q}Ԟg[sVBjjDQ++oLhQ zy@~߄^WE Nuvgc;}pD; lp8hT$I^$ {DUo~e:-=xr7U_OL3xAc+]0 CӴ*@QEQX$,e(TQݻ~bBUz^ɉ  B!4&)W8t:N'Kyl8R[&ɴa޽x"L;7:::@2I_dz󁱍Ph/  (bX,r\@&NtqP_ښH$z:$I$fe/" kDa!X<&F(q%c-rW|>pneYe# $+H1/JR)  E~T6:0`"a&?VRفyb[f>AGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/yu.png0000644000175000017500000000211713353143212014473 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVMh[f:JEʝd#.E OϢF(΍7MUAbG$ DlIddi!}76gs=߹ߝ;!q}9̈㈱I$Iˆ廮X^g1ƨ` lmjZ6>neY׀o{1<d2tD#a~mK7/7{Ď|n޸>ފK"[d+|ΛƟx^u!p=iw"0cfx"pܧ x2cWގn^3gx>2OuׯB8;j0~'G#elwgg`뺮q.IBO,R?]]3Wvh UUM]f' Th4\%I`kakLM Xs/M4Mvv 0dYC yEBk?sҽs{ =88T !OĄ^P*J+˲,˒Tj @ t`XKtPhtNRh+Ǐ|^7MZYY]]]e9yRT*č,_-@6VEQ@UUUUD"H$L&dfh4N>SΝ3MӴW BPD 0 ß:K7"uAA;lճLqt]us2a^ȰP,"f,0jZ\.1&Hd!m۶mr\.w sss_~.ǏΐJRCHΝ!XLXm%;/d*> V&& &|7ah ?XqWGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/sj.png0000644000175000017500000000261613353143212014456 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVmh[U~νMzc3hVvf~Bb(QVۍq*ߔUi]qœnc &0]e4[욛^K&-y~< cXq?<󪺲d~dJ !R plN$d@V*_6_TZVUQU+($)6Z} vϕ!,yˈ~@J'jK 34Ym;7 Ўbl6./!G-@uG;7#N@]@ΓP#^+Τ7\ڗU'qcnx@fjQjl5)3`V#Ym՗eX]FLȩ-_矞t^8~=s]-o<@>$6")/w[o+4v}d>< 4\ [[~x7v`[feA@N߁dV̦?ؒFN@UUUUFyBlW4r #RT|]љ ݑ  s1q}Ԟg[sVBjjDQ++oLhQ zy@~߄^WE Nuvgc;}pD; lp8hT$I^$ {DUo~e:-=xr7U_OL3xAc+]0 CӴ*@QEQX$,e(TQݻ~bBUz^ɉ  B!4&)W8t:N'Kyl8R[&ɴa޽x"L;7:::@2I_dz󁱍Ph/  (bX,r\@&NtqP_ښH$z:$I$fe/" kDa!X<&F(q%c-rW|>pneYe# $+H1/JR)  E~T6:0`"a&?VRفyb[f>AGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/cg.png0000644000175000017500000000243413353143212014431 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLTIDATX_h[U?6iKf2q-s/:ځ_=/}ʼnBӡQFV@͖?Mvs'giӦi|{s.civٶ뺮;άF#fBVX]Mt+y%pݝl}]qǶ]ښeEwr]w+gevqA8OK1Z^zkdE)ryf B@`RXLn_7ZNj?{O &}1qg/HKq`xߴ:;wi3gEh,;=@G|q_'W>nƏ6$z_x'`rc_drOOK~uɟf۲~> TZq95N_}Bf|At]#i8i eߪv j `ޗ㛊BlN9hq!z{M4[[V@-z40t]C(wg|o uҏ!ɝ+͸i`0e2eYF[P{_7Vp]Xg5CQ[ʏ^]۶mV@{kg,,,,,.:aaz,-.B*JR _Ȫ!ו(ޘJ`Tj>UP( Tje_Lt6{V<z;:Νfs|~ffvvv65h4F!L&I,w1W[az^0M4M@FFFFFFX\___?vLZyS  rabɗd^Գg!;#t~ NQ&IENDB`pychess-1.0.0/flags/my.png0000644000175000017500000000271313353143212014465 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX_lSU?ޭtڱ1$j'&h\ ibpb20B4$>aIX|%b{$. )H;Rdtnpvѭ[4wߟ=0IiirdrlۺnYS[oYr!!B1bh4]0x\l{L67Pm۲vnӔy9y֭X >Yz?@ۢmǡxCx1 k1%v?Al´{`c%;Z`;Z} \b5"2V^Z{OAvdp0NI@Y?*ncT翂SSWg>{f;tyei]a͚U fOPoU $J:1x? Mki߶u~pg[@];juɦF0 Bc12N5r1ضԲ_M?t~^)y kvsfC jDIFR8&NEzL:V'vq ;,,*x7AUާ~cod} t-j V Pm^q;ԴX`~!YٻeqeYri +_nއQ/r%:$l`akO3, JPCMXH01Q^x<] B##9P΂Ms8t]~'u xUGߨ:ppccNc!&T]RV 4M~^\X,p9$ә9ϝ[x=N*;7cĶK0M4MJ` 9 㩭,p8tz{{{{{AސG-V<S}2|>S CCJJc*****,2xѶ@@"H$x\6t@">t:Nx<JKKKKK~;;EUUUՊa'ObX,q*nDUAeمPܞB 4CP(42ɳB0 yd2LjZsssssTe% Ū 6~D"H@8So֫Br*%ʕzT~2ڱc#fKmUu_dKW<[uFXnO$9xP}#߬Ǚ 'GGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ua.png0000644000175000017500000000202113353143212014435 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIIDATXVO@~w㈠"GA2 P:P!ub"RK{SEH8C.tH"a&"$vsqoywߏ p{VPJ)|e|mY `vnĕ) v- }.D78FLs0_?`{;O"ju7{c cB"Y)N_P|>RQAиA)/["H$~i&|K$=gڋC{m޹~saΚ94MH0[:0jP(( JRPV*7Y9y\2L&ZFЍ񱪪j}ͭ@ Y_o4M]@QDQQEQ*JRu>m/;T{%I$ @eYBP(HRT nZ%rl~.rif;D ޹ g!0DVV'i*2.Gd\| NiNt(d2L'7nz7 5PbAܨ>0 (r[[\mQ.<9C,bc@\o+ Ǽp QJ>.v^Ju_"!B8CNΝX,VJ&-˲q Bw)ڶ*pttl,u֞yXkr{4ރ/[k  l޺Owos~o #L&̏HB:̢'B )v|p5 JtN6`S <>h Pa8fc3p޾,:+0^f*>~ j D_{]/\~~' 8rvanQ1׸vțW/s?~x<[7[vi׳@)]0|O LL( fS_Iɍh4:=7----5 gnRZZ#`si}jŧ ۦ5$C)x `ؖ<߹ihp_0$0 Ux<(2 \}^X8BbjdR'ٝo_\`0 'L$իUFGu.|o޾>)=1>5!Tkxsrϫ{f@ m۶w֪B'ZJUQQQ|ΝD2iY]]]]D" e_nx bkz|>P( `zzjjjjF5P_eK2LZnw<㳎ueDBw":l&pl;FQ-S|WVpt:mBjS#=44ZRT*}U<3z~_СC^be./W[5rEs+>}A_`@BW!w"/ߎSz򗹸GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/so.png0000644000175000017500000000222113353143212014453 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVAhG}+WTAOʡ^ @rC9V T0Jr%JAjHvV֫F+ZdZz񻼝ϟ.qKL$I$ݻ'F-Ɯ˲,˲Lgb#kc1<NNFX\lM4IO+t7;m i08nsx|aOV{]p*{_Ggm`ޝ2=WgTn%>pd7qŹe n%`cݚXN(lm`? x(޼=/¶xK+8=j* ϖM&lΝ8Ò$˳@;ofڰZ_Rg:̃eMӴC]^32TP($EeYvH@|_F$)pIeK&d2n6 06! \?VܱەtNw|wG9F۶mۦHe,wдeM,QEQYT*^u@ 0/qt:M ʊ(tEt[H$rݻVm;; BjZxvVUUUU4M4 b1 d2vݍ }RvmϞb a*K/"U㋂vbh"o38뺮D[&W(JR flXeY$r\.xo^ xzNjZ z@[H$q!ZóC,`m%Ez6h&&*˚OȗQoCGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/gl.png0000644000175000017500000000306113353143212014437 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLiIDATXklTEsovyUe (MhE+ 4(3DD$![X#Rb t{amR /;gfΜs?3 `@hiN˲ng5.6߶BG'ߝFE"h4R^!|)m ,˱\ssxtWiuO6~4't Ke9$=@z+Hn_ Ύ;JRT$ Sgys5&džO<'XHsOa󮯟g<^+ ;=YbA< :9ڗ!'0rohc˟mpW"ZO0\3.d>濵~k0gVhsEsNZbb5 `e8ql_ g>^ܵvho#Xr.p<|{в?k-HkY)Sr f殛X1fTB4M3`ECJY}M?Hy`^#Y'"#RۢqWR17IYc[*e$*aQ)_-Ѧ`PZ]]C۶mz5Mׅ^'cb 0n* 0V柹f-Ч}uv n/Ef$mϡam䦣rs[ZBP(Țv{<:$bܦU;HSnhuH5DKۈ6&r|  o6v)*;A{ZxgΘi Q`PS/d}g"`m{:TJ}'My4P fh?˲,RU|cma|p8 KHK2=/sNz^YYYYYJ@:)twm1bKtwG"Νuuuua@ :/sҁUe}\fvn|>򠼼x<5~(...>}H$FwL4M3XUVʞپ\,o"  G8 B-sUUUUUUL&ɤMllPP MjbPEÕnNu'ꡨHIÑƍczVs2ދLq~ŗ+>5o0?&M$=y_drhv|?R)x1GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/mx.png0000644000175000017500000000300713353143212014461 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL?IDATXYL\UP0J3 JXԆ jUiUĄ4E}1ч15ՠq I[۴/h 4jM4 0 wr@4ݳ|ii۶#]7RZ,bs7Ϸ0B!!B1b@ #HD+sBR\.˥jM4߆ |LGۭ# d< ԳSȳV,r<òpR59@$^Yq\6<DK%̊x<>ݿyĶNW+^2V#r'!4KPb;/a,p1Qt0t8}=0,]le.,9$e@zvn . c<8 ?}S]O\QJ83&퀓;x9XXRNj9 ; 9 2 0"Nh 83o×(`7\ԼT=V 04rN2 ~,2aS@N`5YAF| GU #9?})X 髋e딋f BpQ0 934440 p:5bf9:pyN (U/HVF ~[מ 2e7@97dw0n߉%z#D~v==^;66kjÑi6DC" ;V\!d,><ůK͐ھl4{bb+.U; pw10l",@ӄ Ar*w8 9ʛd233333Zp8 O@|{ή.ðl6b7;h:xZّV*`">p8pnFGGGEqqqqQQEE8G".Z`0 Nm2:ʠ' UD(n dza G׽^4U26X,4x<!0}6(i(V MjF(4Ϥ]L޿WA&_ >S0%TW7yMimU/ť+^ԺQFxPؑ VoGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/se.png0000644000175000017500000000262413353143212014450 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX]lUwelKiB[ P U%1DÃDM K_` #>Hb m`RL?a[Z-ӻnٮm4Lνs{fBQEQvfnMSUUUU c~) ba !2{7D"x]Aem`^RmhQ8W 'iX}z?(/֦_-W\yWl]NLo?nk/瞹sϽ,&i,K뺮=9yx*vB!TBL^@wP8+;5`!Ҷ!'''''Dz;?a]]wm-P?VÂB^R)}rء|ٚY!}-Hoн(@i`ۙB' ~ e_6 '>rCn  Ep_]ܹ#El5@EW낣y7VvpP^ _D"]Ʉff/á/L Ѳe,|႔wZX.|b8ӹNVf J\iߛZ7"HP208~ԼÕ<5&h0=TN_g{ 8tƫep;Fm`K}s<\ G<Vd< ȀX9o8, 2[m۶mh X]lz7 ] Mg<  "/`?V`p9(^f/d®Z;2/e^OPBnwbb[ -@M4ͤ$M3 ]u΃}>|l K7Bnv01soxZ#=VmO@ ` P;i<H` d*,OܶL)3e&XeYD0vݛ65777ضaazkkkkK ttttttsCm$GbuFJKKKKKUjf~>%mn ǎ{} @`4ꬺU=vm۶ 0 *+oǎ{ BqFGǛl6֝7WDu#t> ٷO(n2L&Gd<(bX,H$@ST*J1<<<<<,D575jkASCKݐZT# b"`Kհդ (ڒrۥ{^0˙9ߜ3nnpq+,5su]ztickmŔRJ)ǵP'p`eeCLp,ۑsDo 2_@قI[[cdI/=}E0\ر^ߧx:SѿNݤѭKD'?Ϗ=V$rͿkψGR!""2Edwѽ"]]Ct8*M|}Wvm)gAsxiݟ=g=д/`Y)9NvDr@;:w FEX4ֺq\W)8rxe;twӪ NcQP@ڮ%o j:r D4pn`=1B^eX˟@ zO ؅>_iiix<뺐ۑ;/\<Ͽ dQ/0نeh%Cؤ<,2K6rqҮTrxmz8RLh4D<ctl>_7wcgi4MvX#>BI|;Zl6C# {zx<u{{{{{z`````` wd7\+7mveM)t,ft[&,^Ν8 y^Q߻XԉD"H/C}}m#@C'}$Sv8W8plުY|)y"i?Xn/ h.r  k  O6Tmz6܃)`0'erk|`Ƭkv($ T.//zO^vkg'sO#5`7'cP˄8h˿ \P&2`H 0ʫ?q;|pY+P#O3i3e:4 Z+< I$I4Z=&TRb2\p2qDZt:xӚyd2h4z D"ŋUl6.\, Cn۳DQE1vވT.$A󹻐GAaT9D/tuuuuù&b1iiiiii!$'!Q-Sp8rSEC*oT˩T ڕvAtTjtrTN|.>D7ݠ0|&bS^fpN鞴bGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/cw.png0000644000175000017500000000127613353143212014454 0ustar varunvarunPNG  IHDRw=bKGDsIDATHTkTAln;I"}0!8 6XX 1/Hy0Es>cqw'  ;;;ٙ_ED4 K)m9{KDGBٸM8(J pN`@*<H*1h NAh^>[@783{O YI3쵋k ~H|97VW)Ӈp]/I8 `͑x8׭ao w7:y6GtfpXZ"*p0==;}u2DiL&s]$w+]f1e٬v ݅"zk !{3330G[WW*ARZ "jFpd2Zcll sssUs.ەւh4 3Gk/RJEN\lxGacu]c^‚ q91 AD0ƴ-R`{{;d2dTUU \ϖ!|aP nۭLZ]mկdpeeuUQW۾z,"|>o׫!, MHEM49Dp\*K@.-uk/OEQY*g^YΞMkq\J~N gVA5|ov ht]u{bY u^f[Kt:[[.tә^6555 l`0 x<^dv*4veYe@$Il6=rY%wue2޺ BPu( g˭݂Wš@'qt=FQA%c{G+p8 @ Tr\.'CCCCCCX{xkp )j4M4 bMzΙWW[/.Ԃxd5R0[3_ E[㲆GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/hk.png0000644000175000017500000000243413353143212014442 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLTIDATXMhSY6H?~S_H +AwQ±ˌp]W\(r'Ԋ`8m`4@D|Y\o$MBs=s` [º4MӴg4ضu]uݲKlfoYrtZ!PqB4Nd2L&;;3l6UznTƳ!m˂nӔ-~J rWJJȷoRT*ծke7D#~`hphqc;/0>7:ltOԵh@G:J7nҤC!E 닯Юk> `|^QvsCq5Nr<~~{?'\]<&oss-- .(&X^P#!ˌ=A0xW/ '`YeYnzaSL>>Z0NU6/x`_UtuombL2v*&@mw]`i*:; 0HIJh4D H$ /dّmˀ\[YU|>S ^,t:C, jooo߾t:fߟP( `aaaaaY"íSq fct:0 0x<@ |>?xPz9d2x8íT*JʪQUPǛDu!T<<)$qL3b1MS-r_h)bQӂ`0 *H=5/r9x|:)ΟrxreEʏ7ꡯO)CRҥ-rV[lz/ɥ,]3?ɤZmRVP,nL\;c_GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/im.png0000644000175000017500000000130713353143212014443 0ustar varunvarunPNG  IHDRw=bKGD|IDATHU1o@]rqqP R UXP$+b:11WFؙ[R``T3NI>1$6k@I'?{{{_%D@2DeMd)vLAD0FcaaA(B#=->> ()[ZE \(vT8٬"3/þssͫ0,7Y&goށWP~p3 A0"M1缒uK#6W8gJ@k]&}@C[՚9RNdHYHp.I9}ĀraHY""l={WEkyp(m[:B161f|c0X/VA),:Rv\w)K[ݞ^oF9 QnO˲ DZ:%+l=σDQ1s! <ϋA1۶뺤bJ?68[666P677Y'La"Rj~dn[w`iii1ևø)[ 5&޳Dei'o⚍W1e39:\w8*IENDB`pychess-1.0.0/flags/za.png0000644000175000017500000000306613353143212014454 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLnIDATX]lUwfwv+[[`.%b ~eQ+"%*<`<&|E"1Fh[bmW,ۏms}.[ڦD 3̽;w:: M4M[%XJ]u]᭚7iez{BUǕD"HdX4MSÿBRZ|>ϗL^3sc}B4 G`;\/E#80isį ^3k%XK#5/s X C ogD+n%}`HOO*JRW7!>@wgGpBhm6Y q-oM=hYe0/HDo0fߓoRg˨ 檧οp̆/hMs˯}c@nk733 |Sѱo7VN{^@n8 ta1|ʷKH1JRZqwϾ}Ċu1Vy`ܛpsٛ4^>}`Џ ǬOϻӃFݶsrmT|> `9>{3'H}+2rl z,0zۓD3fl}:FM,˲<Mu! [=ş> w6rP98^7/wy~f&wDŞ b&Њ n  KuمGa6sU#Da\g΄BPD;+++K Cu {E.|f*dM7\&u=϶rq;05 .&I)e`jfgv޵niiiiiFa/ Uw{[w9~/d U~$< p#| #P'^O eg98)!L&IU"p _ٲ 0 C[ZZZ!aot )%^Γ^ "fNb7WI钶rrrr/LsÇ7zӴodp SX!?vn~^j++<)JJJJcX4hhhhhhp:h4MVU7gj'2깜N2 B-_jjjjjjH$ MCAICYՐ6Rx<ǡ}<۬^mu~Mbہ۞=;@ 8iZ!mo"S\꽲*>n8zI ;Cu~$$C|d QGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/cn.png0000644000175000017500000000223213353143212014434 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVOh#Uv:)JDÔllEJ֞Y'''mxÇY*VhWOL;?t7h3] @G⿖ǪWk ݭzevNuӭ@>]!;/7o \));/ğw-X,nEpƵ+3"~d24=qz'N缮w{@/K+R+G^ݝ&R>Ӏ)唔nfg-keessssk+4M4MUr\.!`t~azO/JR)WjugǶm^oV4NO?_]iZ.r@T*Jэ7 w*@ۇu]u,˲, b1 Ni^?888X\76뺮筭|>?9889|#r D8h j߷m۶mE/BP( @&d2Dh4f٬d3'_ {_Vj@X,].^$|+'><$uD"H$x.] ]A̿"\ycaT*n!w]ǁ@ l[r:m_96p8<p1r10{~<$ȿO}[aqdȊzު!!d36nn>1 p*s*0~w.#wp tD;R=ֲCǎ5s o~ud POk3·}ԏາ)8/+{.GέY_)@!/d|06K( ֍~nBDk'pqWt]w_/7M~Nzo|>ѣWR|tgto:?S[ !nuGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/gq.png0000644000175000017500000000266413353143212014454 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX[lU3NHْ*Kh 5-% !Fİ}V-4h *DIxD>TmC[زv;;LJӳ[7h|?|3g`sÄu]:m0 0gjVztG4M4M1 D"H$RZ[e)9S`귓C~!m[Jsss3V4 ﻰk._(l8ZP[ 䱚)&^G; )|>h_ ȎܹJRxi4YMž{iŒR r m\D$쬵EC~8y2ϩ?k#ѲK{_\;?e 9e*,ߤAFcׁTo&s+.%8׮B]]B_XBPJr…b9!S;N?쾦JS\GB R'Fj=Yvmi$-E)dy4xnmnaa񞮏cˁN.AءgR|d5pE,ݵ8g8ݺnhyInF `_';У3_t;B0Pp垑ʑ F\܋90pbˀM7Ա+UTx^o^ލp8<<ӇXnUqN}=\7HD=tw"A}?!o9_i.?8GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/md.png0000644000175000017500000000260613353143212014441 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVmh[U~ιRqKoG7ڵhQd.:vc Q6eC_ )~fhR?6Y[h6H2m&I\Z>޼=`=A)9=>c$IdYX[/%BDA70;D"HEE,.| BD?-Wkҵi?YvSl^VבB|ݥF)'o|F`cO)uqT]MѲ` $"pme@petCU^0KL[E*lXX̻ۏ^^RvNo*_5g:$؜}kn,˲JJ( tdVz5p(4r ؽouE>J^$!uuEE3BEq8Je9z^HBT'vJ{ |⡩}@]/(Rp?Km_F7FXȐ yM4Y泉ĪDW}S?i[c$cq- 7X_7[ 4p{`73*daaJD8TNU;;'''',KeY%izzzzj p/ =1^+ HK2Iǹ\.%+9L $wUVVVVZz`4ؘ+^P( _dqOK!sWEQ@UUUU*vn XZZZjmٯ\!MMX,|>WXiiĂY" x^&BԓHG1@ (G ~?x<PL&$dkS x.i+%5x<`0\n{{/_./s{Z3444444Bgix͢lX۵ׇu/|9w|w>>(4˕k_T(;w;̗{AIn1؄H ڳ_3{t:^lW!>}>מKs͜Jgݬ|a_;o('~26dBwL79x.+.L>u'hgJ0Ν;vD>_UUUUeȈz2w~_\v(`4 B -Kժ? `p2r~! XK45 4jd{μm9afa<',˲, Po_aEm4M4e& X;߻wpppphȲ4M4MU`bbbbbrRf7 0 `P -kjFOOK* yYn߾X,x7ҴP( `|||||qFvw&1$rnvz^/A29333k}`@X,_raF&쬼e>wZI6B泰&4u]u]QD+CGGGGGRT*(]]]]]]BrS">$5 GB%D"p8g9QG?Ƒ]iZ'BǎbG]:&?[,ʹ/r%r~D"i~H rBB*2=ozj܂GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/tj.png0000644000175000017500000000233713353143212014457 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXV?lUrV s5AHd!mY@`"%`T@0Ub`*rQP#rږ&9]|91smĒ}p#ၐ$Is\}YeYLvxz1 ?jZVOh4,˲H߯c=H$Duvt4l?2iS_?mw'S}kgrVju H1^1r\2ve#xV%xW/4Wqp@Ǐo, U4/ʩ.KL`&&P >ecoX{'T0{QTQk?:m2G!w`,9w pm"%Q]|Goγ ;ŗ=x/jC'yyѨ$2c7N~{ەi 6xC>'쟥Mň:xxl;Ʀ5Mƶ 0Sҕj$HȲ,ǵ/ Uz:蛳E JRhV3MTn(pW{'p'ճ?r0tN:;׭^'&|p]u]NMOkڙ3Ţ)(,onnn@RT*!;w31Z^ ֥t:M /tNԞX,_Z Z[[___uEu]u\.ewmt#$*ii@<@&d2@7?ϽߺNGGM4M3pL*H|XP'…x&r4㺆a!I2·BP( @6f8HR.rgK 4T^6h?۶mJRTt^339߾=d2L&O>B/1WG鷕x$t_vh ?*=t0^0qAPq#"UtGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/tp.png0000644000175000017500000000240513353143212014461 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL=IDATXV]h[e~sdV"Bx#L2a]vQ j*zMjD1bat/Yq&7)#7+ԤTL'kNҦNj/oӝfo:*po{kpq3Jj: (F]9sxOTns9`܋s O>1hā#_bH҃7fx_>Vr5g:OXZlaa\ > 'np}5:t~3=y-]su[X,˲ݞNg2Ɔep:NA$ށ}N)i*O_6%*oD} U,*H_C8;=W3_NMi0WtNV^5^4M4c+d_ƒd22 I$IT |7dc<`4&Fv=u`0 )94 ]*ӳxիѨ$Eh4 r\.FMы )4Ϸ;Ȳ,2vn7 B><̽3FFTUU噙X,l6EQE;ҍHnAh-Ӝ(ѴL&dZyWH$DpVjU"H$aUy+4 VRkJRTl6fq:yԽMKKzz^%t!ӮuO]-Ehx#v~ zjRs"V0fPۡZlh/GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/tt.png0000644000175000017500000000313713353143212014470 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXklTEsw-][BM `yyHHhDJ$D* HBb"Ay(]@cRK)[ݶ;~L [چr2ss3s M4M7G9bX,تu /B!'PW@^p$y);*@_ۇ_JÀX̜MJJ\o,kׯtfG!>[NTBnW 1˥~BӸ3g(pR.OXxMnd$Z}U1r "XQg4YϷgO *Νltp9W`eҨL rҒ-@2> @6ݖG"Eq@̲"K[R޹%M^+kxeCpG#`?TIm~ }$ 3Ł-.&pㆩAl؀r+u &23 OfWOI c7`îrّǒ?fÜƵDaa8f>}`b_5;a8v՝ />&ʢpzЗOyO}r麮wP v4VRAZ 62dN7(Z?s_ '*ωG"f̏&@FR3nNNNNNY_ 6ɲMy@'Ǐ C= C %_w&2i0y^׫ie: PXXXXXh4F5HDm*74UiOj>ݶ4KvŊ[L67^#deeeee80%lY4KZ~[&Rߕ_gq-wK{m~'T;C4zoѮ @fSGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/hn.png0000644000175000017500000000270013353143212014441 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX_lSU?ޭ` :p"  &:Dd3&hbH&&YMX"Yk6ޮݽp{֭+[4w{Ϲ,`FhiΝ4n۳KeOoNx\!PyLh4F+* 0 r6?Pm6MG[\k_Tby ]k h^UX mJkl'L2 x-78qò,˲(@ ߒ{c?ǀL:.r@/0AuDih}w󎥧3ssKmK/ֿ_>˵G.1 ,&ro$?CyGI&^~Qpq&u;+K0 e8\˗A){ZzizYMr:F%:}Mʞeo+{5OI9x7//h7ڍv)\~ؘ{;]{S'A۫[ / K< #kV^+~FT0Qe_,oC&wQxR1::l۶mLt]5r+83@<Z~ tPc%E uA^6.G@0_SAqwal9<ڲꁬV-) BT*o.---4KuRoga}k&FlV`SHF)J 2]lP&@ccccccYh,\ 9ӛV<@8&Avpg399џ1[R.`i*U Z[Sn?0`.rz0  @$D"ܐSJ00/w'|>Uu+*o'qDgggg r@ p8a87qgSp/vn^JhnnnnnTj||||F{ohhhhX)H$ ٮX,ŲUgՍ:BM"*l"f( BF'_ڠ(NiM~_\n*烢!V(^2L&0444444w;Wm#'&y\=+?Y8ڻG~[,ʹ/rɥ+9_}D搦VrTB:=7= y%|0~>lGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/gw.png0000644000175000017500000000233213353143212014452 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVMlEf7ެbـ=H UP*zbPŖ8q{AB\@(b# H؆n!UKm63f'ر-y3ͼqC I$IZX#cdYeY a)&!"߁{fٜ,۶m! DgR qP0wnl.~^>T; 3+o|>sߋVmu]\7Bx|d,9psx> O̿q o-#2āGw>8y;| B1|d;c y?xUyOX?tcrA)~scc8K{d`ʃjٳr\P((\V h4;d`DIs}t:N D4ou]tvj+F9w4-˶][[[[+P( ^uyG7L,~)*ii@,b@&d2@nۧNq7oO,˲׋bX 0 W,"+:DžD =9sq]u]$2T*J% r9`v]I|A`Rv^jZ@Vj=8-.rfl s}d2z|rADn)~[O->ofS|$)x069x:ă_*GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/om.png0000644000175000017500000000227113353143212014452 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVAlG},đ#6Q-Q( q|- Rk\8")!G|@}(m"UT,mmkǻL&N1U/yYG8¾$Iu1YeY`+aMB!DԱ`oVj:;kYmԀ!"1J`0 ]{'''MMf(pP=EOQ[6 h44MGߟlmu:N7nBx:~n"" x7x7h wVUg<ɯ^Y y PJ)>$~ $s5H?t{8,< gߵu]?v+0DjIȲ,-&`,}4E'D"Wi* ه(\5/^b0,;#?Dcຮ뺢ACT>7W BH(fT*Jrg`aw6KRuX, F7BJ=m~t}eYmӹ\.MNi7謸E|Xog7+Wa$-W|H&dhv[RT*"_ !h [qqRT*vqs++_}_:C8b\Bw>bN=DްyUۤDA? ahG7/ rE0GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/sr.png0000644000175000017500000000234213353143212014462 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXV]h[e~sS.햭p2X#bz!P2n6:/腈HnEw#~uE$7  I֝iғs7?'KQs=~;p$I%2MmYeYLzݸexc1Fy.`k+bT*Hݫvcdoۖx^k\:< Tnӧ'g,w&9jZ֮קxg?<3ݻjX0%vTD|Dɝ"oN|lkVxõ_[F,{{{FT.-ZE |?gc`/UNq 3g;D)#>n7psp[c ~zsE(q=Rb{{,˲,$Yf <> 6hr{=7W,z"H$ÆapL:Hrzp6i-d~1M]u]$2OB2L&@$D"PZVF(c$tw15ۨW.2d2L9_/n }{wP@ n>B++C.gm%r>'& &n?ouF>P<GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/cf.png0000644000175000017500000000305213353143212014425 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLbIDATXklUwnu.S-*(QlQ @iL4F|ED 6D! 15 "Kiv eh˙{s\5\eii?.W)׶뺮5Tvd.˒E"B!c< GX,=Q&~B(۶,(+++++3Mϴܹpv^o0mr[|LqMq@o,=yFwOne:u5 ~.6UU]s1`= r".RT*5>!]@w~p68m U0paz9g5 %*} k;OܸUfn#%@`M]Ki02f{8Pr`=Z[PC`-SALY0OZ\ S/8X -k!ie >vXӁ 6ȁ`P3QCsl={֬3AN`|!9&`ےB0wz7{Nhf'Py[{pO{x/{/ ?W| ZUgt1Pf8$\7&=#[9 8^rhc'?|#luv 0q`}Ntp__^ٙѽ߷~wl? H47Z1t*+.,˲\.Mu!}$4p̉At NuᅛO] /,ykm| Moa>`OrVPQ[2 SPpT0 &Y PNgaaa9Pi @}/,H-[XQP{5Kg@+9,W<[.H8;2u:{]KJӬTw뮐5s'iqD>4yK.4MT.C{<@we9á====000000LmYl@iLOگN,+*d#E****4iɒH$Z[}>|>BPb1y#ÝNLm \kt:x<pn!L$yd.QUUU5{vmm4b~ߟp:ꬺU>s}PlB$i`0ijdR^}":;;;;; 0 CӼ^" ٠jH6/qkJyۯ )GG<}J#TVVVVV8iH 55] 1i8XR6iSk ؟׺Q< _.Ԩj|>g%(@gsX}OCl+գ3VaVv*6h3M4McpGJI^YYYY]uAAU D" ?縙Bj{l 53AZ~L&P( UQ<9t-} x< B<6eR^6g|cʼnدC2{a`7B>q]OUW NWGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/fk.png0000644000175000017500000000311513353143212014435 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXmlSUŲY5;3ݦ.FD)_@F&u_Ԩ *A #`Q m۸Yssιp'p EQEY3mUUUUcK޲ !B1 x<^YLR pB۶eAuuuuui:Zx}D1 OuAvlFc3×@ﭹ*!,sj)_$L?> © $,eAmm{C VG ([t{a,)]mk| ~QYu>_1)h Cupw= /q'0m_pJ/Pdoh}'ɛ!+7~%x.1_8mauk@w]Zxk7:/q&`?qiۻ']Wv*s T7 el6*J[[[[[ܔ(/I )eAJQmt:H$GY z͚\Α==롶V)ڵEH*eY{QL.9/d'&˯T;rѐA^+ wP@V{~GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/lc.png0000644000175000017500000000300013353143212014424 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL8IDATX[lTU}3L˔^RO` mjS_D5Xh4>QcH#Dї& D(ABL: FŪ\SN\陳}8-Li6ee/Z{,fqShiZM52 k,fl9U&S7MHD!P W}r`Y^Xd=<0킌>6d_ l(,u]3'˸;&:pX.^s >n`LP2O%h*{<Y(QûPw xm:q$\p8pX,FCK%nN@__CCCCC]]]]И"Ty=xtBnnnnn.TWWWWWKF"H^ޥK@ 3sG녅^Ujplmmmm VEXٱwc`j]z뜱uaaEEV#+Qmeeeeef]DX}}cccp~YY]nEL>c$}{Jp,~[MKRߕԺQMF2?A=3K,nhG=GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ge.png0000644000175000017500000000312313353143212014427 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXV}Le]^B[(c수LΠB Yt>ɖEt.ۢl,seq,F) Ȧ͂ Zʸ?n/J3~<}}{>~0-hiJ]IVa%ٗH&e{~?EQE<7^XQEE3[2-I6%eJ yZo22OɌrdZX+ lL`W-vZjK/怉La+ٽn#|! xU|֮M>'KF_ } K$H> ˲,F#M3 EkiJj3нZ{v:KceSۆ|qZ )jf礥_wNε,a4@6P]PTN^r\pF3 fYa`2n9˳oo9coa> uС5Y\b ,fbbHeё#GȽM|vhAXV6M$qrv߫ ,,zP[+++&X3$>vÂ(` ݒs!@+$I$LHPh-|Nϯ_t:̲,˲  R"cQRW\~?$L&)5Dɖe<DQ}í%F>Ldk8xyZVP(**RwwS@ ͭ)) &UcD-$A򹽐k)8r\.MrWjkkkkk]$D"4]WWWWWGQ$HOB "ICQ-`0n٧;UgϿۯ\UNLr`N#l6FhP)TS3yUѨJH]{O.b'r#~xn/$=L緃t>";//9GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/jm.png0000644000175000017500000000301213353143212014437 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLBIDATXLu_(LLΖ.m9XkH39&Ǫ1+VYjkM~,ȒX\ H N{+x W|~>=7 p&,JOXK v gK{H(iٴ[{M_̵xL0M{Y1C$A49v[TMjms>=Pfy|VlT( UWޙpc8:֑mI/ N3xb,{, 䶤ޠ#pbX,X`&a 3AюU$= .% v /' EwOXά-/m3&.^ 4H<!v}Ҥ65lNLLLTI@vaF ߴl@NiG7KAӆMu)KRVP" ׭wwڂ9R_Vp8K &r(O\Λz>_]]]]]]]]]^PGu'+7R?ѹ`l6kZ0WgD&_ݞe/[L&d0@ggggg'r8AC]~ΐ]^^^^^D"H$"wfgVUJWzjZ/W`0wL&rB!}"-Ƀ*#^?l6fvRSSSSS,н75ܹs, P񆆆!2r" J}z!+@ 8v݊"K'_N鄄p8RޔM?dkH)2Zw^_____x<3l.6neyl]경}rrrrrr!-TVvjEUʄy\|nY[=BG;Me6o_?<;p{,Ho@KSlߛ[;'._C6zf>ﮮՏܻ7?5i<UO5u}/%+zui>fߚ~,M` c?[y<Ӡxm`zp|t4l8t5r?n> X^ y'k^읛[3M4M3A o%zOA, Ąpk 5|;ɬ@ij-N#{VG"ؑvrpoBeY&'^7/H;tz^/$ u6{w9Q`jDaDQ1 c'n6MfjZVanNQEX2x2=S}[TtiJ);e2;ǢpNhں1ZE(TUUUg ,#4dZ=glL$I$IvCf'6x\n<[' pϚVPKiQ[FѸiSKK(G"NrIr\ ܙ™`/t:eYed2L&fl6 b:6ݵkp8DJKEQ%31,yyn{;[R"MM GU^e̮? nvvn%D"Hp8jP!pip RHj֋Fh|>_ r4}IIf:bX,| _Y,r[s_䊋s^bkq)~s>_ ^bH$@ox!YGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/jo.png0000644000175000017500000000266513353143212014456 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXV_lSU{׻;a`sʶ.p/,*!eLgBLA 1$bQD#' #?UBUqM( ]z7χn]E~/{{} c$Ic|L$˲,˖5;yz cL1ln݊bX24 v Mcb=envj/)͛֟p[@YjzHqLlc{ # Va=9~_XbzWL&dP+ ]~6-Ϛ%A"!W gGD}}hx<_*PQ!ʏViCf`WutpG={PJ~@~d;u;kߵ#< J08pǚEj:g<`^VjjTUUKK\ v{YYY$),2%k=[j?T<1} HOZ hjo9,Waa} WvSQIb 8x^p躮+ 4C"pv{g&;jD GR0_E?e*^ ZDD@:N" -tTFU7m B~REQYh4 9!Q mOv]SSSSSH@̬B'&{t:[Zd0::4MQ4M4  &@nv@UUUUrV`||llllJ{w7khhh߰!L& ܹ@ l6]u]n,7PPssD"infqp8%I  i$~Xno h B|V_*JR@$D"Sqjkzrsիx<' BM~ppKrϵĺBbiHw'\ኔ wr.`N,!4ߤ&.&?~k/e7H$ J` d-(z7mjiiiim5Mnu!G;Ti9/ugx_YYYYYJ@,,@ Jy1< #|>|>HĺL9Vctct:z^˃*/_&JJJJ׬ HY32 0 cذRV݈JA5:*T%RPLda5N"Y<@/477777C]]]]]x<״z!R{SaZCdVK/FQxdE>^ -֭Z(*****RvaPMyA\VŶ"{Sm>/`P==,x7HsXPʧC<>yPԄ˗GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ht.png0000644000175000017500000000205313353143212014450 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLcIDATXVAkAf6n0q AmNK.IP{Ы4]#ޚxRBM*I jvl7;ƗM7&!}3Y_9?|(G+B((獷7NyrV1<h4E˲m&?1ߎc4_x<w]靛 Ƈ&-{iۛo0eQ]dG~z^o8nd6 ^29ij= k~'XX'xB7ލ<$ 2cppdv;.]AZ"`4́{;#pj <?|l$@Ü( ~'f猡 RT*i J\Rwzdsi%!ຮ뺔 'pt}eE77KR\ 1Kc\|a?F )X?>0H[zr2tyI, 7@dyv bnN4ƍ_u]{F(,a%6[#X@&d2ɉi`W༧{is0U[>03 ຮ Q1~67iW*((|pppPZVtCv:H3w&30^^Ol6Xs~hp+]V<ON48R,"PV*8t#8 檪 hiH$rp~~vvvv>Y w..ڶm;ǏRT*MLif`37"gJ\ diIP㸮뺮KxtGƅr\.|>HjZT( d3'W گl6M0 0:^$' mX t:NB^]~$ň9/Gm>^7NOEH/9~Ah DGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/um.png0000644000175000017500000000232313353143212014456 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL IDATXVAhG}3+%[:%u n+!RhBRJiKz=!ѭ4^ڞCOnu ŽTPPim i䘕;+EڵݝVU)]?3fgC{RJ)|,$I$ߊ^|5BȣdjZ9la?0_9FѨeq[pcS]~408(o=A_poy6ؗ p'>/<|/k#Ϟٶmvw\:u:"-K2~_\y_牛g՗ 'h0G=Ĝ,p\KCwRuoYeY"A.zJ8,˲,I"PT* o¶q%d2)ȩ)^FCHiW[( Fil6r.r@\.ˀan71!Nq H$T*J[[[['O՗H<;vtlB>~뺮 ʊQTPBt[O'3geJRDhOBP( @:NӀjZ-J3L&!īM^^Vgiiqs*n=zMMqï8 B,bb\BׯbB`art,O_6ӎwx9pçˏ ,| \^>0 e@ܜ }! pfԶG91մZzߝ$'ж(b(ty(qtq{2puuXND/Ams@+߼ 6is@u]1, `G&+ʓFbX Xڲ= QJ>#nHn/0F> ݇QOx<ٍc9GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/uz.png0000644000175000017500000000265713353143212014505 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXMlTUt&6%N_Mb(F]~BÇ+XHChXЅ, Lڊ!B?F;:#δySFr=ss}aa٣FRi/BB!t!'04H$Dii:d2Z | BK8m+U8h!$ݽ"8)d%p0h׈ll\f D8p7AFab?20R8R9|~GVח~.:-?x/AejI{Q'$P% O]vT*(/F9+PUeYU\x^aݦiR4Osn;@6 #rDN=ґ)r\ ki0 1KPRJ%ɤۭC@zɟL_HښKIM?qT/^RI m۶#"$,ʲmsvM3D qP7"L' :y&M@ϬVѭ$t}>oٲ;FFL…PBPbX,LFjs +P_hx<XeY~`0 Xc%6oNLʕv+L&ɼcY}# j}xЕ(Lg&-[jێFh0tɔ\z  p8Csssss3el6kB\[CKZmFGGGGGa``````<%P6_JN7롦FCSXKJԿZͥkv I$Tf rL/lvqz(?0_z-KGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ax.png0000644000175000017500000000257413353143212014455 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXV_H[W{cLPgR:.c:&)QvBևl/ń>*iЧ2De062CDI$3`gg'L9}8p(AadT)EQEM;Q\O_{,!8rϞt:}|.|(=.ǟ B>l6ͦlA/owӯuM:x^V5Mx\hZn |8^x-:D h;jr`)r\aq:A&_+?0<:< f{]I!AG]xm}^NsZ1MKFU!8zU\_-/`ᕥ1ൗ A^n`qB(eLo&X<%>@ =`=>,Պ/ KqJ?g5Į@𠒁O*~p5Oͳ sاAMEŸJغLtW NU76dR/8K-f(C}2K)귑YJGޙ:ZOյh]E$Ijl.h2f (t.#H9}F;iŸd t:͙(Ȅvw8`tZժc4Mc}kIbX,vݔrl6{Ɔ,ց 4U Itz4bf4F(x,RT* Yk 3suw;U=rUUUUv; t6%<򭭭--7nd\>b(d4BP($d2 l"ڬfA_om2L& I$IjZx!"H$|> RT* $!8j(rT{P(  H$9Fw0z_l앿=Op8v>+{̘r6慾9׫wóRdo ^=7Q6GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/me.png0000644000175000017500000000130613353143212014436 0ustar varunvarunPNG  IHDRw=bKGD{IDATHTkAMIلR, zz@OţCOy򢞚^MJ@6GgyHvͮ٠AüyWDRJ}CDBVu "x 9٠T*ip= Uoe)~  zǯ|>@߾~oXY$\ 0!3*i#-tnsA@"wZH0ƀ =|J),,,`}}^wbiʍN<03 ̲y!Ma۶v]Bkg^GZEf0Ɔq? ADZdKv8<<]~"3b{Q*0jٱc/-3=VF ;lblRIVm "IENDB`pychess-1.0.0/flags/mt.png0000644000175000017500000000266513353143212014466 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX]lUcȜ0B6qs#YLTH h F $IbcԠ0D@"J"q`Qͬ@juЍ~l]/uƛo=9;wtEׅy*g[B{ irapNwNZz2q ͿH9@< LbO#[ (ҶgG:1<#ejm۶m0!R$6pa_PQ,! 4p} V^XeuwPәo& #Nșh{  ^GA.拗H[/|S{k˿>qH\&ˣr6`Tn}}}}}æW9v+#y |pkk|9P۶اGk㏨3x?jژeJO&dRg B#,DzVm4Mt8:;! AP/Ar$ _3Ԥ ЖUUё( |2Fc[[[[}>|>z{{{{{!S/ub:^kd[;N eYeeeeee CC#ӻrE.[Fmmmmmmp8;_DA\-$2_ȊB' @0ȔD+~------H$ax^+D&75ASCKݐlT.^<ӓfĶmJJa%_ 1( 9+˥۪eN{I.ݒOMwN(i|!٠a-'?HL/,/ uGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/iq.png0000644000175000017500000000266613353143212014460 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX_h[U?&麲Vtح S*Ёms tdǍ=2@AȚ 6Mm:H:B$Mӛ{|;K-[/ߜ_󻰊U4MӴݕmk)u]uqfo1.8TJ!P~,X:d2L&L&Qr)J.!@ ض+-++)ue/9{ DO@5AƸ SS@:~6i%$̀^ 7uTlck a`[ nE|>__p:s+vh_!ItE,wG5y9z|4)0X\ev#No>϶g#O0vbfN H;8, V!| 8~K4{@֬ p{qnF [h_wH9qJtMA>tJʑ3Rvi2wЕ!h*_R: zN@$RXV$24TU5ccaHOo`z}Z t8}Y uy(wxImJxw L[ب5x@Y{36*5'q-[,˽ˬmGñ!!ޖG X֦Mi^o;6|fi4{ R.O=0J80FP5@ Fif⊸"V+j`0 w-˲ rffAqu|{g_7.H)8vsgr{#m۶'*TLs&lmD"A1 0 ]FAwB.4xn];Y_&:b2_UUUUYwo*Ng2Æ0$D";,8 *X^j|>i&@{{{{{;d7oƝ;t:|̲,˲ ̪2BU8ʟ-ƱX,4M;r\NӺ(MAbZix|>p9zwyv呑Р)m#G>[{Eqs^sI~ta CerA=+K*Ԛ?GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/bq.png0000644000175000017500000000122513365545272014456 0ustar varunvarunPNG  IHDRw=bKGDJIDATHkQǿ3yIJz)-,wE1@2Br<3*Ym(;Z^.Nm5o-J_R\*K  D pέ"<{7rD? 7&_X^fT6i7#vvvV.H 3s^?)Q0EۥzXk yͣz䤁sQzPDF7Q3cwwZ> >[۝aMj5!c(3n0[(`** }h{ރN'ptt9!"~uDE !yg0dk-YkX X \V)'Lffv*lsnf3Oc|akkk3 XDm؉4?K=!S9\fjI5<^*lIENDB`pychess-1.0.0/flags/pt.png0000644000175000017500000000256713353143212014472 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXmlSevkCq,VaԻ00TRM$Q)D~01Mh41&$$5 E%"Hp2m]g-]rrs<`,˲,oh4bX,>JrnHH$Iȣn݊bX6LR)1`S`Ґ$o.ri9k*phx݋K_p)hI< åkK[qZzܹ̎r\_dZxIս7%?Dm82>8| ho¾C:9L[v~Xwqop,M[̬ݞ3zlK0:yTH0uci-p|dj}moüzW@?Jެ,mG.1M##Ak\>68hdឡv8 s\U ̫cAtMU:<\1]u]w8db$0g @ p%>-t -8ܖ^=XsV*I Յ+E?bfvYV5k>O]4}WIK0ozχrgŧqfu|^l k8x<(y""q&{SMuP?75YK)YD=o[bps1 4M4Md"ܣPՆU]OEQbh4F|!''h(LHr¯Lftttt 3zOԴt5d2J:ex<>XTVbp<]NBs7BP($ˢe~"~flV@ Bm /! aEAJIyt:NC8Ófn~hڱ1޸QivE jk+x ӊVNW|¯\XL|7Kw7=,l!*_le j 6XG&kGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/fj.png0000644000175000017500000000310213353143212014430 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLzIDATXklUwfw [ۭXl 5`B -DI >B *F4 Ƅ*JRXT0VYavݝpٲP_9sϜsy܁*EQZ麵6MUUUU5kKiח0b1!Bq%ĵ p8O$ 0k5o4 ^uKk x\ww$?ol gF̀;k/[Zmb浑),L5w”3şONen1'ЀèR;?Ӌȅ l6^_?a;3 26l F !`9VޗF__/~؍_y4e& PF0ş=rd;xW2䓽]@ :JlAzjIK JǓO4l($ l_zkO 13~Q0]\̸z,4-. qvwbj8|,Dm} ]xI/.9i7=%kG)Ht@ PV<)HՌR 2Ne>d̹-pAQ: gGq7E?lreۯu D!;hta˥(*O1\ˀlu -@=kɂ㠧Xg &;#|_|nh$:'@ 8{@|v(-|'BP(ip8Nh*P-,Yrlԋ!@-?Y{QA zhw `5ez\vR&`ڇbyƃtH$4+U [y#xocos+9=+^݊[:]u]B|s洴ij[[[[k+tvvvvvuCJдwz&}r~UUUUUUiYVf5:T-.,??mۚM @:::::: ndp&`!_p8|><ZHzzzzN;&****g͊D1 A=D"\`Yy#J}z!'̞-,z( B"GfOBsssss3Ձ-NiE"}!}Qd2^vX̒+W*+d&cɓ'~'B+V\:Ė岤mҖw_Kz'˧KC R^~9dC:=0=7#GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/bw.png0000644000175000017500000000213113353143212014442 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVAhG}3kWDF#h0TYSB PZJbҋ!$܋ACt/  VzHri9B, @zEk[ڕ׫_+" ^.o1qOs9qC\W=OQEQ׉{BW2cG;Xw[[JR_OOȉGzzzh*1 7hkz7GLv 2 ={ X׶=pH_4,9Ϝ ;mW|&w6 a (2@QQQQQyF0 je2w8_=H*2JyOn\_PvPVVVVVfp( =U>s666665ijssssS~VAaɆwg`r]zRx\Ϸ I)Җref.X Ñ^y^ mmmmmmXٺI XH6v8t]uzzNvoh&p$rh]]]]] `rcYe=u|HM@~ZX‰}>SY2ݑ PQQQQQX,JTmJgReB`Eh4 ͳhJׯwoqoŗ/uO֭u-imlK%߫Dr;!3?b!#qY4GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/am.png0000644000175000017500000000207213353143212014433 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLrIDATXV1hazikF WY.5KRDBqht젋RG&NP5A!!*$ZswM9\ziR .w81  e㈢(mdJvm\f1(fvvJRTu0 +@;mP( Y{:mϟ^/{Ƴ7ȯ_ZV5u ;-.%\\p{97V ӗ>6pS}㜼 ks]p>ˌ.χ,zpn k'Κ 4?:#@`vMm۶~AEƀk5%={qw|w'| Ե) lmV*- ,|> H("p W[#:sh4F]M4I&w^=G/o}pT9i\{aeYEu(cc2=fmK$I(nnnnr@X,!I6yy/b1"@0/tLT@ )u0VVS)IJRT ( B0 ~#&Fpxֲ,˲ ((   8P_w`ON꺮Z:NinL*HzNx A$25X ˣ'+d2L&$D"Uj*d2L2MB+}+hNL4M|y.ma.r{"H$}\z~~[Iy p{G>ODO&$ &~TNV rDGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/cc.png0000644000175000017500000000314113353143212014421 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVmlSU~mwuat_ "8 È%sNVYVc1 %A0( d -бr~㏻قx}O9>sι<<qWSzj4F(S[6/M^QxD!<&L]z^oNN  l(MBzJ0L&IQ6q>jáD~lvnۀx4wz}~9 5v cgfɹ1,pַW|9_#rnx:jGFFx<_Qy#b]әKrz|WW@VݼA`ޛמjn]lٗ'͢ˋn񣌋7QPuLpu[-~x!Pz,LڗG(e*]X6g /޸}57 i3,+8 D:̑mU,V/p}C} ,=x`uf(ULgWp{ "m7j))7.zN ;g _lo Ph+l8 77 k.xFfK;pe\v- ;0m0.]vz ' nk@W+y 0LhSniiiii(tHdR,q^U`u{u;EB6MQi ΍kE+j'>R Ȳ,2˄dlXNGQt:Nhz{{{{zxىKr|]z5JVYX-Iw\.W$2M$)Ojiiiu:nہ T_dvYb,0Yx*_Al6h4jZH$+*o$%%%%ūW@0p8V+(3fًdL:HB*Yv\.XT;D/tvvvvv6f|4F@H6'dRK/ B!n T*Jdx<I֦dAHCXAdR˵_"H$?!PGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/mz.png0000644000175000017500000000255313353143212014470 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX_lSU?ҍ&RoF61">HT㟁*1^ %Q4$&C HL*a$t`;Vtׇӳn˯=\,f1!4M4mVdڶu]uݲ&J޲dx\!Py7h4L$dRd B۶er\---/a͛^^w~U9,K?mȭ[l6͎כ!d`q_3 h_9)5[WB5t @[k:Zke̟?b D-Pގ|61<='sl<tх ^b4!ll&!C{cضdYp-=`q{Ck^08(9XQoqH?gGB͙7 uzu@unGwۅt100,˲,4]p#==iEBGWH% ~?*?3 rO@> Ur$D>!n49s._B(EL Cuk<?+-jlp 3 _mbAhlllllt:bX0=p{g6~ml9>?9i5}*ۮL&dT& (47tMsÆ`в 0 C׻ABMP&-L8y;zUJ^6:WTVEEEży7D2yX{{{o~C$D"LY|b*p~S4Mӄhiiiiiᡡ+NаlYSS"H$OwtttttbX,w:^DA_)$ 򹽐$N& BI9D+@ >AI:NӚ&D!7!Ũ6UT*J cʎR^ʑ){zx<'IC,N)g%E!JΔ|n*?Ѩ5: )u+9vOtzzP"$QB}PWGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/yt.png0000644000175000017500000000124113353143212014467 0ustar varunvarunPNG  IHDRw=bKGDVIDATHU=oA};kQ$"IqGiQ"@$$JJ**~ TqTWQD( #%w(;. 1jfܛ_%DK)mfqfe-5kɘ"p\ga"8IN`7=u#o) xJ[݇'Rz bc))dž硛uU\@+g0ON֖HIDY¹&.H nn\w\_<J$v Pֺ@DE"x"dc{s!k҃efcJqG]{{8::by3/%R DUcJYƾEY{ffsj!ւ`؞E{XsssX__GպX^~ omm ̌^!9ljR*N"pOay666t:TVETOHa"1&U{ggg888#0 ./+nG( Fl> rabɗd^Գg!;#t~ NQ&IENDB`pychess-1.0.0/flags/uy.png0000644000175000017500000000272013353143212014473 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX_lSU?޵kn2;7p5 \XDB4Jtb(ds>,M}@"1`jF(Pmp9-_}s.as'4M4mVkeZJ]u]7饲&s/B!TS!/?ᒒX,Ǖ@0BKiPVVVVVff˴˵;^sCEo.\2%AgYzF[x)yxb>0He4-(# 66;Jq]5t:N旣!><{сaɺ ^W CZ ?l>8qʅᝠr{["}t$@X*ŕJq[9P\x1* j[ :(πl[I$A7:'yB1A^䦩y̲!n ߟ_>s.M}Ngؓ#\j8ǁadTD!2P| J^QF3.4M4].Mu!ϖuP;m(F@-?' J~apR⯜Ef![FB{^o~`08:ep8N됬M^LC@(F'o%c%Dnh8 ÿ}9ж|>D"rG*qw8{cݖ %{[l'0 @]MRJY*0 0T&{P.r4vnn놜00oQ(JѨnhӦh4Ǐkkkk @   B!ǭS'pU\kp8z^x<`ttddddJkNQ]]]bڵX,6[$D"ΪQuP3׳Df#T> q # AMS#MMMMMML&ɤ MllPPR5$rK$Dz{{{{{'YbK66d*e7fCUUUUUgv-eI۪d^}I.^ْO'VOcC\H6sXɩ瓡: y#C8 GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/il.png0000644000175000017500000000271613353143212014447 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX]HTi93 Mn͎$ `&BPD޸DU{]DRMxQlI.M-*eGsftΙs:(.{9{yX:(44#ðǖzJi7=-B8C,D,b6D"!,k,7?eaسNgc%i_]eZtn.uٺ_TOKOf&M .KleFǏsWv vG>~Ltzq|+$ ]pwW'N؀ F). CabjbJf<ź<#`=Qk4g' {yX@n_V@Q:y,ּΣq ::I06umuopkV/_,:$[-xGKı,N}>'0gOAoT='\{1ܽyoֲڣ_t@ݵke`mbYɜѱLkL`j||.vrafÛBUeUAײ:pFϡqc].U8ZhSg''WiizBN={'g.v :O`2n>OȻ*PV() Whtv6oRx<EqTUUAYo7==Srv(,>i'm ވ7lYiVJ(>v4FP( IM4D2pw3Cb%qr0L[k%@y/lXe[`a20`$2MrTuxxxxh!.h'fd(˵fi]iIyn|>ƍNODGGoooo$rE"H$H73Ʌx9+n`0 ~hjjjjjٙJ:>S4M2ee(+(skDn!d< 6q #FQE-p8#JR)Eimmmmm"ARCJY|T[id2L&addddd$KN^u[~ZeeeeeeO6Νw%R:r\rR|n%?oDAR.~/JHV77:/6fGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/sb.png0000644000175000017500000000310113353143212014434 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLyIDATX[lU3nKaR ]APK RR[%h45M|4"  J.w,R0V*ݚlwnp(ݶ4%_^9s_wKK-ӴBhie]xeTEQG(N  pxx>񪨀+Ve'q 3!l-+JVvVru| Wo_[ ť敂{{QӎwPؤYα?7EcíG| qqoqtP+5}m \gb7`{Gi{ ;vBړPz)ǖ6׼akSkʺoCо /[I_@X8q~ذ,˲2W4RTd ݃& :9999뚦iPZFc* jNV$'[aN0y3u6):pKmU>^bh4v {mkmO`V{C~#eS,{AeXB|0M4ML` 8 (*23,Ku]5ZZZZZZ~!s(/Jw^|OrY\lSJ霶\.kȹs;;Dbݺ_~P( _dp&vڇj;N aPYYYYY ]]]]Sث;LPVĎ@ deEh4ڻ|e=};YOD[c`0 2/> |>8RT*Rժ*EԦ` !Yd0 /L&Ihnnnnn>oM˗+nm?x _'EGJ HYT vwS6dܙf$)>=s{~sI)oZJiRqM!9hS$jژl"s `LĄ=}*yﱳKj4ǽMdO||9hl4uE~(ulƲ垢:a_npGN8TkGl~tZ]'wdߦp$F{uc ˃^o^fgT6< hkK)3RJ0_Lcz~cZK:8[t}h+,K=~6BcL}˲RZSEm<)ۢv.7~o޻Z[[Zl6QJ1Rnn?뭙Lu,//nn̛z}}=yqc!"cȲ@r,Bk R N#WWWE/rb"Dk}"m{APTstl O<MOOOvu#6=z॥"}ƙZ v^fǜN3wΑyR.tCzIENDB`pychess-1.0.0/flags/sh.png0000644000175000017500000000302613353143212014450 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLNIDATXmlSUޮt[( [7nlCB|AR d /Am~ /`4KTLP!(: .ҡkڮ{p{ѭ,[4~ss?\۸a((+Wd뺪jڭYek_8,B8B:7`00!FQi[oC9_5 IÚoi;;C!:I:o 9|KM/>8&+?Kps1"tNJ@/@}f z8555555VkWW( ͆0 27ӓkdpڇQwOAEzC2L&20K(-u8,immmz5l6fUmkkkz!0nK\y}9N)Fa)~ml6[~~mm8D{4444x7DA~%?#!2oH.GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/pa.png0000644000175000017500000000311313353143212014433 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXklTE3wPmJB)6TC)Ę`@hD@* FP **HxD HJ[nWn7_w̙9sn)rgL:c 0 öoz@9>/I(7cu@.] :D,Qj 5rjYӻVt_}YbYça`a<4wb|̵{Pz(&5 6j:{CwCtަܠ0~֘v*Oy|r$|E@ͫkŝ+6 _'NX"3snmս>\ʎvtu dh¶m۶ӥ4 !UBv&NCh} Bo%g!%H9ߝcj>7lؠ =4)M0 ݬRോK=VE@.hqNA1N .ĒRsDF~60w,.?FBO`ͳY@Jwui:V\6y=ީٍUAUߓP8X} 'IS^`/O^`F+H&dR[AFkjjj:sƶM4M0Ϝ6p:dk8;Rs˵zeAp9Z[^כpa8D;wՙf]]]]]@ Ѩӑg>/,E>x<|>zzKKԩSE"H4z@}}}}} `:#jyxЙH ZGyD8L~/NC7BCCCCCTUUUUU+q)HMAfJmbX,~Z5kno N$>Vw(,,,,,)+SDzU+_$d2y7j˗mǁ߇4wDW ^Ȓ,fԎ|h4yPuhaV̊oLbX ``t``u]崬/:*%S?\bggNlĔ/KsF Բ }} pG RR/@?^J/͇{i$`~Uǃ>} \@l,@u:-|%_92}ߏF 4;+S]]Xc 3gf ?sg NB ڶm|֑G"aXifkCB|)l^3zccHKZ&ktaxt:NG;;8F!W|8ܺo~V=[;-R?s@^PwF@~ y3Zh+WWV|߲,˲Lsuuuue677777UJKJED۽KLuZ~94 ]*i)5dT.ger\.BP(YVbz4?0ضm6$D"L&@VV*Obdddr\v7oB!qi֕/ooz' Oey|>2eEz^ #fY!ڵѩ4$*JR=󔙚Rvz߭Аʮ5B*JR:N JB5FտW|/(NH'{Xۃ+zh"?K?;GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ee.png0000644000175000017500000000121513365545272014444 0ustar varunvarunPNG  IHDRw=bKGDBIDATHUMA}] YΤH\놋䑄@zc Ƙ`eBu eYqRJ1kmZ"2ͨV%ꇚ!J5ctݠo<7 q[@. :L(-6 EV7 tC |[bDCW϶8 &SyIENDB`pychess-1.0.0/flags/mo.png0000644000175000017500000000257213353143212014456 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX_lSU?nt#g`!4qΌ3xb Vb/l$ >C !&?N`@])k{|8=OX4z95$t]u9m90 0Tzd#iic% w}@X@Y ^c>To~+e7|NdGfgs\.WBJ&P1cK`VuCOb/$,D' ;<%`@+(^9 ҍ]\[ܝN_|*l~hu)av9 s5qT%+ )cOvx/u/s|ky}>".mB= +űff$={YwfSEZ{FCS?^q#g/{ ͸\9qqu00PkЎq;㎟_|utoڇ0Ԃky]xn[z`z Lh4jk܉D"V&-NM0 ^|4]~b93hgşY0⒙egxNm~n;yOg \(^]힞N$ 3NJ$e{׮[_0^dU!U67 hBA1> !0EʓWB۶mV+b57|Îci1111C,b _%烦&@2t:޽[ZuKkooookN&Tjxxttttt&H$aUY" j:Q\Dz{5IێD"HDUˤ\} BP(Apel6CCCCCCVMr堨*H9U7?????K8tHʁ^--R.,HyZ~_)@RC,n)V%]EE1Ժ%WN<~-6iy"a%W?_Ujfm_5_(|{PdM 6M\\כ4=M6-/|}==l AA8vy )EQE]Bz]gb1B!d p:4Mqt;Z:`v{&â%6\ZZ^VUGZBOHy׆ṾI烼{Nde%fyE `%g_1>2?`3b?4|9* WCQRP)EZG >W䉔 0?aIj_Ӯwwsy q;qK3qm7V(eZ&詼=wtix+pvT7_"% `y[' E ?bW\^4@yS#>QA;M@_1PZh\Xѿtc]@GE%54@j7Jm2{Zs'jj&yHd躮,H{>r~>N[@OLanUd_j_bWcY*:?UA ZoЏMb:WS*ninVE1@ *8O岲2A$QE`4T[ot#4  (WV hsKv\Z>m]o4zmQot:fs$*I,kx;/˹=S`ddO)|J$ *ݯS}#ts84Zd2L&;l! ܬ(==3333~K$I(@( B!v=9Igur\.̖Ft,ƥ-jXqMpalll$z`0 Mc72{sȏeYePEQfl6vn J&Ɏ[x<״˗}>+-UUUUƜY~#ry<-I8Hw7ad@ ~d SSSSSSx<@I:Nӂ0<<<<:*& 纮iȗqC -քO~>d2L&9躚FW_`E9^s2X95hB/sR9  (/R`wr"뺮kvzr0@0`__el6KhJtMD"|yuv]{zkkk˲tݲ,˲ZVS7:a`qX^KGƆai&L&$rpttxxxV----]⺮yob8588”Y)d D4I!o38A`۶mۜS? RT*|>1}P( ƢIfj bJȰV_t:@ZV=|xccZ\T||xw+t:MP-I+s<~[c"\G~i4_BħO2?6;/_0GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/gb.png0000644000175000017500000000316313353143212014430 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXklSe眭tLltD$l`L87b0%&.JvѵfZ@']Hnڝkc[7_}.< 8/dYeyjsi0EQEGfo8E$I$t 4r]]]]]]X< ;aI Cp8M3ٙFsD">~=Z?=ZK<|d~XuTgP&8얟W;?5p&>Dټ(l}G,W_>̍*^fEΜIRTjQ$3໮u ]˯=9N랱vtO.x |;% 8[ZVa}s?4.u3k1Svu[5g 86.c ?_rN;(śkaÓ^< z{۲O9`ý_..L&o;'¢ lMύLK71 eIڦ4WCNMí`De+`/WZ3{ 0c$ -bY0 mJ%olKg}}f{o˒ݿGKO׫/@_miW.|tew_~ق<4a[N6ؿ?^ =߬+:z{S(@u]m6YVIeL֗ÔC]7P5;ꜰeaU~b9dd{G?ޥiAؽH~3\xugSZI*)QUU0a VkNNN,[,(yC?sٵ<8`qT咩y38UyU׾8+85zڭow/4_veV=pǂOSՁ*07CyyyyyD"27Lwj5qn[:;;;J]΅B0X,F pxHrҥ----nX,~k+BP(<[)Xpz8y޼'}r\.4M4Lt4jH[v>qGX#_ υhH&f_.Q+#FGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/kp.png0000644000175000017500000000274713353143212014461 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX[lUg]h D &FD&((h+c |H%I F$%K@%+o(EBs|]mh||?aii6#ӴR꺮e,ռ|r4{˲EB!^ };Scx<Wz)GjCe/evݦik s氻'_{vC,1,C& L.Ɍ3 I7CsS\{+ 7Zv)! M]}2@Oo6qpAK A{S\>K]7wJ,nB='Yڋl"< ⣁A,G17Qۛ/üXeYVQ`LKoۦ3пCvY c}[aS(np ~sͫ ^, }^H"@g pb @;$! 0&LT*oj9qĉp躮s)w qǷ>Yʃx\n>^V0O6F&vQ xDJXx<OQQoo$80s̞6ڻk< a3i%@,7TL{iD0 &0 =,p8tʕ+WBP2HTrpqv^FGJwr\kFX<~XKKKp|>]]]]]]7jmt:N'aBmmmmm-Rd2tEQYYYdIuu,~F"H$u:nDAj%rZȪU&i`0ijl9D+B]]]]]t:iBrS!>5T G%D"b[nk|[ڵzP~)mMllJR/h~auwVPΏtzlzȽ?gvQGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/ng.png0000644000175000017500000000223413353143212014442 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXVoW;s)"J-d)s\* K&2d:FeK)jQ JP ҁ,Ts*F%qsi}.pBAnf#bcJEQEѶ'Kn߶=]'B x^˗ 4MI <;6 e1\0F4??64%M[B[{CD4!wwOU}CeU^F!,쒗]%w?%l,6@,W4#J.Rܿ3F>5cHҍL1CarKKR`St^./{1%7o?v''3`۶m^ x_ dmMQvΌ\bP=G$iI_2+тwh[V#Υ/w{+|}PD@X"H$zON4M$l߅th6l6%^LϲrʍgK~x<SjW6#EY[S7JR\mI$IŃrjZ `a. o80ϹFh,˲,2buH[>͛nI.===z6 0g BPp4M4mp0,<\ ^ g"?Á\Nq,KUUUUP(bHRT Xt:NG2L&!Mqq'dզkZV T*J:&a2<|BLvLzB8u4Imr/\K>o9AOl7.GNg6=uGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/mc.png0000644000175000017500000000177113353143212014442 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL1IDATXVoPgcTȨ H){eI)Rڮ4k&ÚUHq*$ c-w~}w3 +&88 GcyyӜmiu[o_cQ` <=)(ViF~˚Uo,BP0L_s |MߟSo`0 \0u^KKM[1gTs.,2cd4 pD"H$͌D6Ii@ X_?:j;M!yz^4 odD 0dYeehOdY(b d2~9.r9&Ip;A $5t]uVjyhѦ[H+ڇy#Dh4Jql..~?Zm%6q_Lޓ]T|-ӰID@aʻߟ0y#ځRjShGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/bt.png0000644000175000017500000000273113353143212014445 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATX]lU3]tnQl15 R!Q+%D%)UXҍ1hP#^$7B| DF[B@[Rlw;;ׇ¶ݦ {ss,c˘`  al6ifn>^4b1EQEq̆;H$Dq]u9 D.r"0Mx<0Y={}B 7#a*l!PQ*[\d4 z"t:NϵzX:r `ضӖJ٢gxMƶ`to|G`x*q^ݫ/{}ԽPw_ m=gGށSշ}O?Ȯl(*~#ů/_nW1&f89z9FiFֶgsl&$>^ p YzJaЦ 2V̎c [=r Y~ ՏT6COȺAݕ.x:ѡCs(K 3%R&b4;E'`i.lfL>Hvo86C߭ Onw߼ %>}J#_vƻIpN& (X=FQ5MV̪ͬC,:p F*[z䡂րzb `: A7Y eS!]fl-d4TYPUKZkl,FkI29+w:gVnW^/-9 s4}.y~ّJ=̥yBaaHdsT M+/״;{{{{Lp8p8놜q$il{k;zeree%t,60 toZo_, ~8@ @( B֍, Ln,Ӈ,k~t:iivn7466666B29999Y_oyVjjjjnq]|nFhtƱTVވRA9=^*d%<Ȏ8 ʒY@/tuuuuu|JR*JvoJ7?dkHj H$ =΢&[Z^OMY|b=TUUUUUI?3Z9p,%/B~"4]nG!Òg? BH734iS 6GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/si.png0000644000175000017500000000240713353143212014453 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxL?IDATXVQh[UνMͺ*RKiQ(c 0N)MW˓OnPMYQTksvK]oܛ^NOo6 /^{ssv]l 8;} -yMsgVMW,B!, ;x$^U4Mc~ ͷ,|>3 u:\YY]U`w߾ ].U*C!=;N+u|tOtO8Ýw~rJyyVj-BW\u_uzx|ٗK#f@ږyRZس=ݸpaˏ. /{? +?m/I0h/0zɣMELlLrUh3X}uF[: &-cK$uu-.ʲ,W*M @Qt\.y 'F81 m?M;#% B]((چK~ES-c[wn ^0 `066tC~IDMSAx~aaaa~r\7d}4af POkOp8AZbIiC[i7o$L&$f,iFNmlwj,($I$^X,J\.:DW6=JRө((¬Fddq`h,g3caȲ,2DZQy"t:x<qD"HҨMff``ZW*Jd2L]5Q{[AjUj]! *71uԲVf E{f;j|=m4i3f`af-~X[A7./ :>+GzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/lr.png0000644000175000017500000000243513353143212014456 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLUIDATXVMlEޮY+'CܵRbr"'TNHBBV PO, J+q3 U#br,$U*iMjgwtllj8仼f޷3 a{(22"F-Ɯ*c[9mϘدP ""ylmO|>绺E˲,η+oHsm 8je>;0~ < j/nѥ0_ n -ȝ;8+ @$x< @O9L`;_z EǍ}i@g|bOK`~}(#@_=e/Oɏ,Bo.1hBDG<|SLzy&]*8EW./ҫ 89jc$*4v}zs 849K< 7(ٗ7@ z4/p;O,; }]Yic1*l?^-US O1M}`0 cn.N֚uxETUUzpc@QC ( ]5 awe4MS-9^(pd?5U菉s \۶m۶DJ޻0`0aL4MTuvvvvfr\7d}bCi POL5Ƌ}jqH$Hrfo(t TՖwxP,Z%D"dl6 X]KLn\뀔F뺮a~Dh4 X}j)E˺r%L&I4M4k QVPǻDc!d> mt:(e> T*JX,JRT%qFmJ47 ͤjRT*L&d sℰccnz{]{ϷB( BrFGp{Vi] E{iw+>j|^>UH3sXßJ=?x#ɖUё_n]B1Q+l!rtVxqύtWpǎM[/Omxv ŞLk/yiϘ¹&@ "DB? b{=Zz5\~6Nyo|x0;fsjyr.Il'* WvlqQUUСO 0vz!@ %D8eI`~K\M4MӢf4MS.(qW{/y[q{":7.-.eB U]\Tr\Ts8yP( k0?$ TqR ;nmZVվuܿ/l.}E2)noO!JR)@H%hTXJvn͓U|/,NAzM$2&;|T08t~`E>-DGzTXtCommentxs.JM,IMQ(,PHUp HT0200VJ.MRPMLVW.IK- AڞIENDB`pychess-1.0.0/flags/nz.png0000644000175000017500000000315413353143212014467 0ustar varunvarunPNG  IHDRbKGDC pHYs   vpAgxLIDATXml[! i҄R5 %mB4*MEl:- l%mCP;&J+u[biZԦiľ{p9uDoyyy??pqRJy;mwaa8VϛNqI!B1ux<^]JYei?RS%`귓C^)ǁvO6N$ 7y}X}9/շ=4m˂gƬ=0|| ę?éggG@v$8:] J_ ,~ vml܊|>?4F>ޝ_^&bLU  ,^/? ?%wު>us-|G+r۠ʦ _\D)S0g~Gғ|?~-ozԶKu@6}݋a e򷹟A,k);VE29V@)WBy?zĞ=X 1+:М@j\\ļ s죞pT_'PAňB5Hs=y2QWUUsa?r!4zep~{1(P3`#?6ȅ@Ԩ@u`EH\s.RUpcddrq ) C+酒$ˡ"_〬pIS`6ws1 Qgx/=p:ζ;@C8 P_|[8:kU\} dEHO- V.V86q8s@J!##D"a.LЊy `xWX, ,Rߓ+7?ӾPSSSSSJRd2YWwt$ M@w}oBpqL4M0aCO%m]^W=l۶m[ljrLd2krd27M~r;{ |wɊӍ^ _ Ҳti[[*JYѣ@ x pychess.desktop GFDL PyChess Chess client

PyChess is a chess client for playing and analyzing chess games. It is intended to be usable both for those totally new to chess as well as advanced users who want to use a computer to further enhance their play.

PyChess has a builtin python chess engine and auto-detects most popular chess engines (Stockfish, Rybka, Houdini, Shredder, GNU Chess, Crafty, Fruit, and many more). These engines are available as opponents, and are used to provide hints and analysis. PyChess also shows analysis from opening books and Gaviota end-game tablebases.

When you get sick of playing computer players you can login to FICS (the Free Internet Chess Server) and play against people all over the world. PyChess has a built-in Timeseal client, so you won't lose clock time during a game due to lag. PyChess also has pre-move support, which means you can make (or start making) a move before your opponent has made their move.

PyChess has many other features including:

  • CECP and UCI chess engine support with customizable engine configurations
  • Polyglot opening book support
  • Gaviota end-game tablebase support
  • Hint and Spy move arrows
  • Hint, Score, and Annotation panels
  • Play and analyze games in separate game tabs
  • Countless chess variants including Chess960, Suicide, Crazyhouse, Shuffle, Wildcastle, Losers, Atomic, Three-check, King of the hill, Makruk, Sittuyin, Cambodian
  • Reads and writes PGN, EPD and FEN chess file formats
  • Undo and pause chess games
  • Move animation in games
  • Drag and drop chess files
  • Optional game move and event sounds
  • Chess piece themes with 42 built-in piece themes
  • Legal move highlighting
  • Direct copy+paste pgn game input via Enter Game Notation open-game dialog
  • Internationalised text and Figurine Algebraic Notation (FAN) support
  • Translated into 38 languages (languages with +5% strings translated)
  • Easy to use and intuitive look and feel
http://pychess.org/images/feature-1.png http://pychess.org/images/feature-2.png http://pychess.org/images/feature-3.png http://pychess.org pychess-people@googlegroups.com
pychess-1.0.0/eco.db0000644000175000017500000076000013370132576013325 0ustar varunvarunSQLite format 3@ >. ~OtableopeningsopeningsCREATE TABLE openings(hash blob, base integer, eco text, lang text, opening text, variation text);}wqke_YSMGA;5/)# 7p6r , o (>_=&{%7$n#7"!J LG9q#c+s%c[M; k S <X xA e . R  b  x : d Jl3Qq9Iq)Q Es o H74${kE99deKlassisches System (Königsindische Verteidigung)Er o 㓎&QE98deKlassisches System (Königsindische Verteidigung)Eq o Xȏt!(E97deKlassisches System (Königsindische Verteidigung)Ep o ³&E96deKlassisches System (Königsindische Verteidigung)Eo o sm>E95deKlassisches System (Königsindische Verteidigung)En o K6͸}E94deKlassisches System (Königsindische Verteidigung)Em o ldt E93deKlassisches System (Königsindische Verteidigung)El o tiE92deKlassisches System (Königsindische Verteidigung)Ek o ~i`؏E91deKlassisches System (Königsindische Verteidigung)Ej o -D/E90deKlassisches System (Königsindische Verteidigung)5i O ^V3*E89deKönigsindisch (Sämisch-Angriff)5h O lktE88deKönigsindisch (Sämisch-Angriff)5g O cMR5E87deKönigsindisch (Sämisch-Angriff)5f O VA/wE86deKönigsindisch (Sämisch-Angriff)5e O qNLY%E85deKönigsindisch (Sämisch-Angriff)5d O i/1E84deKönigsindisch (Sämisch-Angriff)5c O  O GSE46deNimzo-Indisch (Rubinstein-System)5= O #LE45deNimzo-Indisch (Rubinstein-System)5< O r9?|E44deNimzo-Indisch (Rubinstein-System)5; O +;E43deNimzo-Indisch (Rubinstein-System)5: O O%oE42deNimzo-Indisch (Rubinstein-System)59 O 3HLE41deNimzo-Indisch (Rubinstein-System)58 O  MTAE40deNimzo-Indisch (Rubinstein-System) StO%P ` % | Z 3  s M ' d ' l 0h1Y&N,vHS"c5N,b6 .S3^wozEA10enEnglishAnglo-Dutch defense*R+c)3A10enEnglishJaenisch gambit*Q+m_eVtA10enEnglishAdorjan defense#P+ #Zg.A10enEnglish Opening#O +  JY6NV7A08enRetiKing's Indian attack, French variation,I 5gRhػA08enRetiKing's Indian attack9HOҢ23A07enRetiKing's Indian attack (with ...c5) % 5XӇA06enReti OpeningD=eӭc`A05enRetiKing's Indian attack, Reti-Smyslov variation,<5HՖDA05enRetiKing's Indian attackA;_SO2A05enRetiKing's Indian attack, Spassky's variation : % ƱNӍ7A05enReti Opening)9/3b+A04enRetiHerrstroem gambit$8%b1+ g,A04enRetiWade defense 7% 쏬A04enReti Opening06=8}7A04enRetiLisitsin gambit deferred,557?+ uA04enRetiPirc-Lisitsin gambit 4% 0wA04enReti v Dutch 3 % _z~wA04enReti Opening22)-,AA03enBird's OpeningLasker variation11)+@IxT29A03enBird's OpeningWilliams gambit$0- dV%$4A03enMujannah Opening"/ ) >Gԏ3A03enBird's Opening$.%;nț>A02enBirdHobbs gambit0-E *bC@XA02enBird's Opening, Swiss gambit4,Eg|p1A02enBirdFrom gambit, Lipke variation5+G"Q'OdEA02enBirdFrom gambit, Lasker variation#*#1U_9#A02enBirdFrom gambit") ) -A02enBird's Opening@(;7\2 jA01enNimzovich-Larsen attackSymmetrical variation;';-YW*A01enNimzovich-Larsen attackPolish variation:&;+^r/A01enNimzovich-Larsen attackDutch variation<%;/,'3[A01enNimzovich-Larsen attackEnglish variation>$;3OXPA01enNimzovich-Larsen attackClassical variation;#;-s¹agA01enNimzovich-Larsen attackIndian variation;";-@_oA01enNimzovich-Larsen attackModern variation+! ; ʝLA01enNimzovich-Larsen attack# + AFKRA00enDurkin's attack/C ژ 1A00enAnti-Borg (Desprez) Opening>a ߺmN~A00enHammerschlag (Fried fox/Pork chop Opening)$- (p)[A00enGedult's Opening$- SADXcEA00enAmsterdam attack(5 Ԫ2t8A00enVan't Kruijs Opening&1 rrbA00enVenezolana Opening$- ;[NA00enValencia Opening") b]~A00enMieses Opening") URGHA00enMieses Opening%/ 0nA00enSaragossa Opening % ;)|CبA00enCrab Opening-? -{)RA00enWare (Meadow Hay) Opening'3 >_rA00enAnderssen's Opening'3 pY_A00enNovosibirsk Opening&1 H3A00enBattambang Opening9W 7ԆGsA00enDunst (Sleipner, Heinrichsen) Opening9W s~EA00enDunst (Sleipner, Heinrichsen) Opening# zŃA00enAmar gambit( 5 -L^FA00enAmar (Paris) Opening" ) ,rCA00enGlobal OpeningD m K25nA00enClemenz (Mead's, Basman's or de Klerk's) Opening. 9Fv_A00enGrobRomford counter-gambit$ %5Ӻ6A00enGrobFritz gambit$%\ : >A00enGrobSpike attack!' vA00enGrob's attack4+/; EA00enBenko's Openingreversed Alekhine(5 w"fA00enLasker simul special#+ j-YF$A00enBenko's Opening,1~[CA00enPolishOutflank variation-3mB|P A00enPolishTuebingen variation- ? 㴰'A00enPolish (Sokolsky) opening Gd-Q u =  ` ! a 4  ^  KiG%{Y7k.v@ _s;?T%,7 = 2A"NhxE39deNimzo-Indisch mit 4. Dc2,6 = mD2pE38deNimzo-Indisch mit 4. Dc2,5 = WZSE37deNimzo-Indisch mit 4. Dc2,4 = δߢlOE36deNimzo-Indisch mit 4. Dc2,3 = /NGrE35deNimzo-Indisch mit 4. Dc2,2 = *;Z2TVE34deNimzo-Indisch mit 4. Dc2,1 = ; {xE33deNimzo-Indisch mit 4. Dc2,0 = {jL݂E32deNimzo-Indisch mit 4. Dc2C/ k {cE31deNimzo-Indisch mit 4. Lg5 (Leningrader Variante,C. k "=QqE30deNimzo-Indisch mit 4. Lg5 (Leningrader Variante)5- O  b߮E29deNimzo-Indisch (Sämisch-Variante)5, O Qd3E28deNimzo-Indisch (Sämisch-Variante)5+ O avE27deNimzo-Indisch (Sämisch-Variante)5* O p4E26deNimzo-Indisch (Sämisch-Variante)5) O ?lE25deNimzo-Indisch (Sämisch-Variante)5( O Wc`I~uّE24deNimzo-Indisch (Sämisch-Variante)A' g @kE23deNimzo-Indisch mit 4. Db3 (Spielmann-Variante)A& g jE22deNimzo-Indisch mit 4. Db3 (Spielmann-Variante),% = }|E21deNimzo-Indisch mit 4. Sf35$ O ~wPE20deNimzowitsch-Indisch,Nimzo-Indisch3# K ) FE19deDamenindisch (Hauptfortsetzung)3" K Y qXE18deDamenindisch (Hauptfortsetzung)3! K цڥE17deDamenindisch (Hauptfortsetzung);  [ r~ uCE16deDamenindisch (Hauptfortsetzung mit Lb4)A g ϶qo E15deDamenindisch (Hauptfortsetzung, Abweichungen): Y ?CE14deDamenindisch (Zentralsystem mit 4. e3)+ ; BgЋ1E13deDamenindisch mit 5. Lg50 E Y%t.E12deDamenindischPetrosjan-System@ e 0eҞE11deBogoljubow-Indische Verteidigung,Bogoindisch% / ŭLd=E10deBlumenfeld-Gambit # S-ŰE09deKatalanisch # GZ9˅E08deKatalanisch # ^(+.E07deKatalanisch # `cb,(E06deKatalanisch # #fQ05E05deKatalanisch # ^aE04deKatalanisch # '-E03deKatalanisch # Z.E02deKatalanisch # ع?&E01deKatalanisch7 S P\j\>E00deKatalanische Eröffnung,KatalanischQ  LSD99deGrünfeld-Verteidigung (Russisches System, Smyslow-Variante)Q  )>q;D98deGrünfeld-Verteidigung (Russisches System, Smyslow-Variante)Q   =+"D97deGrünfeld-Verteidigung (Russisches System, Ragosin-Variante)>  a 5Wb݋D96deGrünfeld-Verteidigung (Russisches System)<  ] 5.sD95deGrünfeld-Indisch (Geschlossenes System)<  ]  }>D94deGrünfeld-Indisch (Geschlossenes System)5  O ԃJ7D@D93deGrünfeld-Verteidigung mit 5. Lf45 O yD92deGrünfeld-Verteidigung mit 5. Lf45 O n?D91deGrünfeld-Verteidigung mit 5. Lg5+ ; x1{qD90deGrünfeld-Verteidigung(* 9 }D89deGrünfeld-Verteidigung= _ $9cD88deGrünfeld-Verteidigung(Hauptfortsetzung, = _ r8qD87deGrünfeld-Verteidigung(Hauptfortsetzung, = _ oBQ D86deGrünfeld-Verteidigung(Hauptfortsetzung, < ] 2+|D85deGrünfeld-Verteidigung(Hauptfortsetzung)< ] ͔q1`D84deGrünfeld-Verteidigung(Hauptfortsetzung)5 O 5jD83deGrünfeld-Verteidigung mit 4. Lf45~ O ޝUtD82deGrünfeld-Verteidigung mit 4. Lf4+} ; s6/D81deGrünfeld-Verteidigung(5| O ,|3D80deGrünfeld-Verteidigung mit 4. Lg54{ M "^LɸD79deGrünfeld-Verteidigung mit 3. g34z M u^tD78deGrünfeld-Verteidigung mit 3. g34y M lD77deGrünfeld-Verteidigung mit 3. g34x M Q\D76deGrünfeld-Verteidigung mit 3. g34w M X-*_D75deGrünfeld-Verteidigung mit 3. g34v M +9D74deGrünfeld-Verteidigung mit 3. g34u M +/TD73deGrünfeld-Verteidigung mit 3. g34t M maeD72deGrünfeld-Verteidigung mit 3. g34s M la``9D71deGrünfeld-Verteidigung mit 3. g34r M 3q 4D70deGrünfeld-Indische Verteidigung,bq ' D~`=D69deOrthodoxe Verteidigung, (Capablancas Entlastungsmanöver, Rubinstein-Angriff) :<x< { L  a 2  s 9 M q +U;<Y A_R6\p  >_dD68deAbgelehntes Damengambit (Hauptvariante,Capablancas Entlastungsmanöver)\o  .!6MD67deAbgelehntes Damengambit (Hauptvariante,Capablancas Entlastungsmanöver)]n  7|3VD66deAbgelehntes Damengambit (Orthodoxe Verteidigung, Erweitertes Fianchetto)Zm  A:D65deAbgelehntes Damengambit (Orthodoxe Verteidigung, Tempokampf-Variante)Zl  NV0D64deAbgelehntes Damengambit (Orthodoxe Verteidigung, Tempokampf-Variante)Pk  F /©D63deAbgelehntes Damengambit (Orthodoxe Verteidigung mit 7. Tc1)Zj  e AAD62deAbgelehntes Damengambit (Orthodoxe Verteidigung mit 7. Dc2 c5 8. cd5)Pi  3)҈tD61deAbgelehntes Damengambit (Orthodoxe Verteidigung mit 7. Dc2)Dh m g1P?vD60deAbgelehntes Damengambit (Orthodoxe Verteidigung)Eg o 6˺ŝD59deAbgelehntes Damengambit (Tartakower-Verteidigung)Ef o `rn D58deAbgelehntes Damengambit (Tartakower-Verteidigung)?e c ߸c7D57deAbgelehntes Damengambit,Lasker-Verteidigung?d c 7YD56deAbgelehntes Damengambit,Lasker-VerteidigungIc w >LxD55deAbgelehntes Damengambit (Hauptvariante, Abweichungen)Ib w qǍdwD54deAbgelehntes Damengambit (Hauptvariante, Abweichungen)Ia w l+K D53deAbgelehntes Damengambit (Hauptvariante, Abweichungen)H` u Mõ$kD52deAbgelehntes Damengambit (Cambridge-Springs-Variante)Z_  ݴ=BD51deAbgelehntes Damengambit (Cambridge-Springs-Variante und Abweichungen)@^ e |b\|tWD50deAbgelehntes Damengambit (Canal-Prins-Gambit)\]  EiʀfD49deDamengambit,Halbslawische Verteidigung (Meraner Variante,Sosin-Angriff)M\  9/KjD48deDamengambit,Halbslawische Verteidigung (Meraner Variante)M[  E(N WD47deDamengambit,Halbslawische Verteidigung (Meraner Variante):Z Y ޔCMrD46deDamengambit,Halbslawische Verteidigung:Y Y :fhD45deDamengambit,Halbslawische VerteidigungPX   R+OD44deDamengambit,Halbslawische Verteidigung (Botwinnik-Variante,:W Y WdD43deDamengambit,Halbslawische VerteidigungCV k ]DlGD42deDamengambit (Verbesserte Tarrasch-Verteidigung)CU k ov|qD41deDamengambit (Verbesserte Tarrasch-Verteidigung)CT k a\8 D40deDamengambit (Verbesserte Tarrasch-Verteidigung)1S G Z01nD39deDamengambit (Wiener Variante)2R I Nl_D38deDamengambit (Ragosin-Variante)*Q 9 -6_D37deDamengambit mit 5. Lf42P I NP)N#D36deDamengambit (Abtauschvariante)2O I \I䯹gD35deDamengambit (Abtauschvariante)EN o iq5OD34deDamengambit (Tarrasch-Verteidigung Hauptvariante)7M S D33deDamengambit (Tarrasch-Verteidigung)7L S ?- D32deDamengambit (Tarrasch-Verteidigung) q E.2D18deDamengambit (Slawische Verteidigung Hauptvariante)9= W S{xD17deDamengambit (Slawische Verteidigung),9< W ołD16deDamengambit (Lasker/Smyslow-Variante)9; W &D15deDamengambit (Slawische Verteidigung),I: w J |D14deDamengambit (Slawische Verteidigung),AbtauschvarianteI9 w ȑD13deDamengambit (Slawische Verteidigung),Abtauschvariante98 W 5sNOKD12deDamengambit (Slawische Verteidigung),97 W YǥyD11deDamengambit (Slawische Verteidigung), D_7P- w C  ?  v $ j 7  L LaS]*~KJyQ)S*96 W =mCDD10deDamengambit (Slawische Verteidigung),&5 1 "MXD09deAlbins Gegengambit&4 1 W(l=PD08deAlbins Gegengambit93 W !`D07deDamengambit (Tschigorin-Verteidigung)/2 C ^m of=rD06deDamengambit (seltene Züge)11 G ]&bD05deDamenbauernspiel:Colle-System10 G Ͳй- a `GDD01deDamenbauernspiel (Richter-Weressow-System)%, / dD00deDamenbauernspiel,1+ G 4Q۾C99deSpanisch, (Tschigorin-System)1* G o@GC98deSpanisch, (Tschigorin-System)Y)  _JXJ}C97deSpanisch, (Abweichungen vom Tschigorin-System), (Panow-Verteidigung)B( i %o#CC96deSpanisch, (Abweichungen vom Tschigorin-System)-' ? _%UHC95deSpanisch, (Breyer-System)-& ? +j %eC94deSpanisch, (Breyer-System)0% E p{y`C93deSpanisch, (Smyslow-Variante)0$ E C92deSpanisch, (Saitzew-Variante)2# I A =$uC91deSpanisch (Bogoljubow-Variante)A" g )>ZC90deSpanisch (Abweichungen von der Hauptvariante)0! E Ԥb|C89deSpanisch, (Marshall-Angriff)@  e 'aZ.OC88deGeschlossene Verteidigung (Spanische Partie)C k $m/3C87deSpanisch, (Russische Variante mitZugumstellung)/ C z4xC86deSpanisch, (Worrall-Angriff)8 U J0uC85deSpanisch, (Steenwijker Verteidigung)0 E \ڕk*tC84deSpanisch, (Zentrums-Angriff)C k Tg C83deSpanisch, (Offene Verteidigung) (Hauptvariante)L } '`;C82deSpanisch, (Offene Verteidigung), (Italienische Variante)C k P3K9C81deSpanisch, (Offene Verteidigung), (Keres-System)3 K 0ȉR~C80deSpanisch, (Offene Verteidigung)2 I b0C79deSpanisch, (Russische Variante)H u |аHmC78deSpanisch, (Archangelsk-Variante), (Möller-Variante)2 I ̻.}C77deSpanisch, (Anderssen-Variante)= _ )%KUF8C76deSpanisch, (Moderne Steinitz-Verteidigung)= _ FY1C75deSpanisch, (Moderne Steinitz-Verteidigung)= _ 燧cI)C74deSpanisch, (Moderne Steinitz-Verteidigung)= _ LMC73deSpanisch, (Moderne Steinitz-Verteidigung)= _ ($DC72deSpanisch, (Moderne Steinitz-Verteidigung)= _ ]_p9&C71deSpanisch, (Moderne Steinitz-Verteidigung)5 O aAoC70deSpanisch (Abweichungen im 4. Zug)0  E 4C69deSpanisch, (Abtauschvariante)0  E ˽3aC68deSpanisch, (Abtauschvariante)7  S ?w9ӈC67deSpanisch, (Rio-de-Janeiro-Variante)A  g W2qf=C66deSpanisch, (Verbesserte Steinitz-Verteidigung)9  W BTC65deSpanisch: (Berliner Verteidigung bzw.O  2%C64deSpanisch, (Cordel-Verteidigung), (Schliemann-Verteidigung). A |8̟C63deSpanisch (Jänisch-Gambit)4 M ropC62deSpanisch (Steinitz-Verteidigung)0 E n@SC61deSpanisch (Bird-Verteidigung)+ ; KvrC60deSpanische Partie (kurz:F q #xHC59deZweispringerspiel im Nachzuge (Klassisches System)F q Īq C58deZweispringerspiel im Nachzuge (Klassisches System); [ B; C57dePreußische Partie,Traxler-Gegenangriff1 G yC56deZweispringerspiel im Nachzuge1 G @'Ӓ:C55deZweispringerspiel im Nachzuge7~ S WxC54deItalienische Partie (Hauptvariante)F} q %N=C53deItalienische Partie,Giuoco Piano,Spiel des Polerio0| E v:ĉ C52deEvans-Gambit (Hauptvariante) { % pEF,C51deEvans-Gambit4z M cW}AC50deItalienische Partie,Italienisch,:y Y "+3VpC49deVierspringerspiel (Symmetrie-Variante);x [ <6KmC48deVierspringerspiel (Rubinstein-Variante)2w I q)C47deSchottisches Vierspringerspiel%v / ZaGC46deDreispringerspiel&u 1 A{C45deSchottische Partie6t Q xͧ}C44deKönigsbauernspiele mit 2. Sf3 Sc6 JC28deWiener Partie!c ' v9ESZzC25deWiener Partie ` % 0M.C24deLäuferspiel _ % ciC23deLäuferspiel ^ % +oC22deMittelgambit%] / Nk6qC21deNordisches Gambit'\ 3 DnC20deKönigsbauernspiele?[ c v'ӻrC19deFranzösisch (Nimzowitsch/Winawer-Variante)?Z c NXCmC18deFranzösisch (Nimzowitsch/Winawer-Variante)?Y c VS.[C17deFranzösisch (Nimzowitsch/Winawer-Variante)?X c JiC16deFranzösisch (Nimzowitsch/Winawer-Variante)?W c M^$]wvC15deFranzösisch (Nimzowitsch/Winawer-Variante)DV m ̀C a ;)B95deSizilianisch (Najdorf-Variante) mit 6. Lg5>B a  d޹B94deSizilianisch (Najdorf-Variante) mit 6. Lg5=A _ XTm B93deSizilianisch (Najdorf-Variante) mit 6. f4H@ u z"L!B92deSizilianisch (Najdorf-Variante), (Opocenský-System)=? _ %DN+WB91deSizilianisch (Najdorf-Variante) mit 6. g3A> g j'eY$B90deSizilianisch (Najdorf-Variante), AbweichungenG= s t 'B89deSizilianisch (Sosin-Angriff), (Velimirovic-Angriff)0< E bs4B88deSizilianisch (Sosin-Angriff)0; E f!m$B87deSizilianisch (Sosin-Angriff)D: m Α嚽1B86deSizilianisch (Sosin-Angriff), (Fischer-Variante)69 Q f\"B85deSizilianisch (Scheveninger System)68 Q t?DCbB84deSizilianisch (Scheveninger System)67 Q uO}֢JB83deSizilianisch (Scheveninger System)66 Q P4[oڅB82deSizilianisch (Scheveninger System)05 E o'Z B81deSizilianisch (Keres-Angriff)64 Q ĝR)?4B80deSizilianisch (Scheveninger System):3 Y vaB79deSizilianisch (Moderne Drachenvariante):2 Y S1|B78deSizilianisch (Moderne Drachenvariante):1 Y lOB77deSizilianisch (Moderne Drachenvariante):0 Y IB76deSizilianisch (Moderne Drachenvariante):/ Y 4 ?.uCB75deSizilianisch (Moderne Drachenvariante)2. I ɔH'.B74deSizilianisch (Drachenvariante)2- I uӉ7B73deSizilianisch (Drachenvariante) =CG j 5 [ h 0 z $ z &~<[#o9AX$s6BN2, I Ib˪[B72deSizilianisch (Drachenvariante)2+ I ؜B71deSizilianisch (Drachenvariante)2* I 2ᇧSB70deSizilianisch (Drachenvariante):) Y [>UB69deSizilianisch (Richter-Rauser-Variante):( Y Lo> B68deSizilianisch (Richter-Rauser-Variante):' Y aB67deSizilianisch (Richter-Rauser-Variante):& Y :ze5|B66deSizilianisch (Richter-Rauser-Variante):% Y XqCB55deSizilianisch (Rauser-Variante), (Anti-Drachen-Variante)K { ^h>B54deSizilianisch (Rauser-Variante), (Anti-Drachen-Variante)O  a2dB53deSizilianisch (Ungarische Variante), (Tschechower-Variante)5 O W! B52deSizilianisch (Rossolimo-Variante)H u 9$T;B51deSizilianisch (Rossolimo-Variante), (Moskauer System)  % }(z*bB50deSizilianisch3 K |יB49deSizilianisch (Paulsen-Variante)3 K {)ּB48deSizilianisch (Paulsen-Variante)< ] NbPqB47deSizilianisch (Paulsen-Taimanow-Variante)< ] lH;Ͳ(B46deSizilianisch (Paulsen-Taimanow-Variante)5 O ?uhNq bB45deSizilianisch (Klassisches System)< ] jft{B44deSizilianisch (Paulsen-Taimanow-Variante)3 K u*\+B43deSizilianisch (Paulsen-Variante)3 K ̪>WB42deSizilianisch (Paulsen-Variante)3  K j5,>B41deSizilianisch (Paulsen-Variante)?  c od,B40deSizilianisch (Klassisches System) mit e7-e6Q   r<&4B39deSizilianisch (beschleunigte Drachenvariante, Maroczy-Aufbau)Q   *B38deSizilianisch (beschleunigte Drachenvariante, Maroczy-Aufbau)Q   ilzh4B37deSizilianisch (beschleunigte Drachenvariante, Maroczy-Aufbau)Q  NW B36deSizilianisch (beschleunigte Drachenvariante, Maroczy-Aufbau)S  V@B35deSizilianisch (beschleunigte Drachenvariante, Simagin-Variante)S  KgDGB34deSizilianisch (beschleunigte Drachenvariante, Simagin-Variante)_ ! nF rB33deSizilianisch (Sweschnikow-Variante), (Lasker-Variante), (Pelikan-Variante)Q  cbȠIB32deSizilianisch (Löwenthal-Variante), (Labourdonnais-Variante)5 O ήe:B31deSizilianisch (Rossolimo-Variante)5 O Qm]tB30deSizilianisch (Rossolimo-Variante)6 Q ǒJj@B29deSizilianisch (Rubinstein-Variante)1 G mW B28deSizilianisch (O'Kelly-System)K { VS?B27deSizilianisch (frühes Fianchetto) (Ungarische Variante)8~ U ?7ݦB26deSizilianisch, (geschlossenes System)8} U !TsB25deSizilianisch, (geschlossenes System)8| U ZGEB24deSizilianisch, (geschlossenes System)&{ 1 !ȴPB23deGrand-Prix-Angriff2z I f&EmB22deSizilianisch (Alapin-Variante)Oy  'B21deSizilianisch (Morra-Gambit), (Sizilianisches Mittelgambit)Kx { θ?R&B20deSizilianische Verteidigung,Sizilianisch (seltene Züge):w Y rMYZwB19deCaro-Kann-Verteidigung (Hauptvariante):v Y T?}a(-+B18deCaro-Kann-Verteidigung (Hauptvariante):u Y %B17deCaro-Kann-Verteidigung (Hauptvariante)At g >ϕEulB16deCaro-Kann-Verteidigung (Nimzowitsch-Variante);s [ b oB15deCaro-Kann-Verteidigung (Flohr-Variante):r Y ^GIFB14deCaro-Kann-Verteidigung (Panow-Angriff)=q _ VEUمB13deCaro-Kann-Verteidigung (Abtauschvariante)=p _ 1`m-B12deCaro-Kann-Verteidigung (Vorstoßvariante) G`2b4 g 8 } L / g 5 c % Q QK(x6Mb,z%w8SBo i j1B11deCaro-Kann-Verteidigung (Zweispringer-Variante)*n 9 }U?uB10deCaro-Kann-VerteidigungAm g h 3I4B09dePirc-Ufimzew-Verteidigung (Dreibauernangriff)-l ? aBB08dePirc-Ufimzew-VerteidigungHk u %]nZd/B07dePirc-Ufimzew-Verteidigung,Jugoslawische Verteidigung(j 5 l55B06deModerne Verteidigungg a @NB03deAljechin-Verteidigung (Vierbauernvariante)8f U 8B02deAljechin-Verteidigung (Jagdvariante)/e C VDaB01deSkandinavische VerteidigungRd  U@ B00deOwen-Verteidigung;Nimzowitsch-Verteidigung;Baker-Verteidigung c % !uA99deHolländisch b %  gشA98deHolländisch a % )7M C QU^A62deModerne Benoni-Verteidigung/= C ,v)A61deModerne Benoni-Verteidigung<  Bv!|RA60deBenoni.; A BivA59deWolga-Gambit,Benkö-Gambit.: A 9qP>A58deWolga-Gambit,Benkö-Gambit.9 A v@A57deWolga-Gambit,Benkö-Gambit'8 3 ̦oA56deBenoni-Verteidigung,7 = 0 96A55deAltindische Verteidigung,6 = x4iA54deAltindische Verteidigung,5 = my;r"A53deAltindische Verteidigung54 O QXWA52deBudapester Gambit (Hauptvariante)73 S x.4A51deBudapester Gambit,Fajarowicz-Gambit)2 7 =C A50deDamenindischer Aufbau+1 ; ։YA49deKönigsindischer Aufbau+0 ; ,je AA48deKönigsindischer Aufbau)/ 7 z0%7A47deDamenindischer Aufbau4. M ĶjA46deDamenbauernspiel (Torre-Angriff)<- ] q(KA45deDamenbauernspiel (Trompowsky-Eröffnung)+, ; >fAA44deAlt-Benoni-Verteidigung++ ; ͽ.AA43deAlt-Benoni-Verteidigung/* C 6/3A42dez. B. Moderne Verteidigung=) _ / A41deunregelmäßige Systeme,Wade-Verteidigung K_+W  U  f / L  X 3 Y Mn@MxMx=P`0vC D_WtkA30enEnglishSymmetrical, hedgehog, flexible formation7E U{q"A30enEnglishSymmetrical, hedgehog system0 7,iؒ\A30enEnglishSymmetrical variation< Ovt0pA29enEnglishFour knights, kingside Fianchetto=Qd;҆4A28enEnglishFour knights, Romanishin variation8G-WlA28enEnglishFour knights, Stean variation-1=[K xA28enEnglishFour knights, 4.e3=Q>4A28enEnglishFour knights, Capablanca variation9I[ (X&A28enEnglishFour knights, Marini variation<OT};A28enEnglishFour knights, Nimzovich variation2;z ZhA28enEnglishBradley Beach variation.3pA28enEnglishNenarokov variation. 35A28enEnglishFour knights system/ 5~-}JA27enEnglishThree knights system+-oEdA26enEnglishBotvinnik system( 'GbS#nA26enEnglishClosed system8G~2|jjA25enEnglishClosed system (without ...d6); MێDOyA25enEnglishClosed, 5.Rb1 Taimanov variation( 'WA25enEnglishClosed, 5.Rb11 9/CfA25enEnglishClosed, Hort variation5 Aѻ\tpA25enEnglishClosed, Taimanov variation( '78A25enEnglishClosed system, /6wA25enEnglishSicilian Reversed3 =%K;2;&A24enEnglishBremen system with ...g69 I^{>tgaA23enEnglishBremen system, Keres variation19fC|A22enEnglishBremen, Smyslov system19It`A22enEnglishBremen, reverse Dragon/5`IA22enEnglishCarls' Bremen system('"wyᗰA22enEnglishBellon gambit# + -!clA22enEnglish Opening9W rpOnVA21enEnglish, Kramnik-Shirov counterattack,= [q A21enEnglish, Smyslov defense#~+ Y)cC$A21enEnglish Opening,}= <AoA21enEnglish, Keres variation,|= ]"SA21enEnglish, Troeger defense#{ + -tA21enEnglish Opening7zS fA20enEnglish, Nimzovich, Flohr variation0yE 퀮ΐA20enEnglish, Nimzovich variation#x + @`v{A20enEnglish Opening` 6cA19enEnglishMikenas-Carls, Sicilian variation:vKsصA18enEnglishMikenas-Carls, Kevitz variation9uI<QA18enEnglishMikenas-Carls, Flohr variation2t ;$A18enEnglishMikenas-Carls variation0s73RA17enEnglishNimzo-English Opening>rSA17enEnglishQueens Indian, Romanishin variation2q;r A17enEnglishQueens Indian formation#p + Z"A17enEnglish OpeningFocmA16enEnglishAnglo-Gruenfeld defense, Korchnoi variation2n; ӟA16enEnglishAnglo-Gruenfeld defense9mI'u*A16enEnglishAnglo-Gruenfeld, Czech defense;lMBhIOA16enEnglishAnglo-Gruenfeld, Smyslov defense2k; RA16enEnglishAnglo-Gruenfeld defense#j + ja%k:A16enEnglish Opening#i+ J?w0A15enEnglish Opening&h1 ;He^z)A15enEnglish orang-utan;g [ =d A15enEnglish, 1...Nf6 (Anglo-Indian defense)5fAma> bA14enEnglishSymmetrical, Keres defense/e 5J ބA14enEnglishNeo-Catalan declined/d5pGA13enEnglishNeo-Catalan accepted&c#i[q|A13enEnglishNeo-Catalan+b-\cA.QA13enEnglishKurajica defense6a+3·YY0A13enEnglish OpeningAgincourt variation(`' W}A13enEnglishWimpey system6_+3a5﹎A13enEnglish OpeningAgincourt variation,^/ YA13enEnglishRomanishin gambit#] + o MA13enEnglish OpeningK\mWKdμA12enEnglishCaro-Kann defensive system, Bogoljubov variation1[9^+A12enEnglishCapablanca's variation=ZQAbA12enEnglishNew York (London) defensive system)Y)dA12enEnglishBled variation5XAXl/A12enEnglishCaro-Kann defensive system2W;~۬_)PuA12enEnglishLondon defensive system1V9IWA12enEnglishTorre defensive system5U AJe VA12enEnglishCaro-Kann defensive system5T AXb"^ A11enEnglishCaro-Kann defensive system IuLI V " q 1 t 5 j ( s p7J<Z;bC d-e3V$u( M v)A40deEnglund-Gambit,Owen-Verteidigung,Känguru-Verteidigung,Moderne Verteidigung,Horwitz-Verteidigung/' C o))'A39deEnglische Symmetrievariante/& C cV|~A38deEnglische Symmetrievariante/% C  [A37deEnglische SymmetrievarianteD$ m x K؟A36deEnglische Symmetrievariante (Botwinnik-Variante)/# C =C2A35deEnglische Symmetrievariante/" C qeVA34deEnglische Symmetrievariante/! C wQ"٘oA33deEnglische Symmetrievariante/  C nJA32deEnglische Symmetrievariante/ C 2A31deEnglische Symmetrievariante/ C ЏuA30deEnglische Symmetrievariante4 M vt0pA29deEnglisch (Vierspringer-Variante)4 M U6݅A28deEnglisch (Vierspringer-Variante)5 O _KYfĔA27deEnglisch (Holländische Struktur)5 O `PA26deEnglisch (Sizilianisch im Anzuge)5 O })uUYsA25deEnglisch (Sizilianisch im Anzuge)  c7wTA24deEnglisch  ^{>tgaA23deEnglisch  fC|A22deEnglisch  MdA21deEnglisch  퀮ΐA20deEnglisch  >` 6cA19deEnglisch  $A18deEnglisch  3RA17deEnglisch  ja%k:A16deEnglisch3 K =d A15deEnglisch gegenKönigsfianchetto# + J ބA14deReti-Eröffnung#  + o MA13deReti-Eröffnung7  S Je VA12deReti-Eröffnung (New Yorker System)#  + Xb"^ A11deReti-EröffnungV    Gԏ3A03deBird-Eröffnung3 K -A02deFroms Gambit undBird-Eröffnung% / ʝLA01deLarsen-Eröffnung6 Q >_rA00deseltene Eröffnungen wieOrang-UtanH u XݵE99daKongeindisk, ortodoks, Aronin-Taimanov, hovedvariantB~ i +)}E98daKongeindisk, ortodoks, Aronin-Taimanov, 9. Se1p} C M!bP@E97daKongeindisk, ortodoks, Aronin-Taimanov variant (jugoslavisk angreb / Mar del Plata variant)A| g ³&E96daKongeindisk, ortodoks, 7...Nbd7, Hovedvariant:{ Y {E95daKongeindisk, ortodoks, 7...Nbd7, 8.Re11z G ]CE94daKongeindisk, ortodoks variant?y c >MĎUE93daKongeindisk, Petrosjan system, Hovedvariant1x G #u.SE92daKongeindisk, klassisk variant'w 3 }.eE91daKongeindisk, 6. Le2'v 3 Ѕu-E90daKongeindisk, 5. Sf3@u e .E89daKongeindisk, Sämisch, ortodoks hovedvariantk a RUx4]E79daKongeindisk, firbonde-angreb, hovedvariantAj g 3E78daKongeindisk, firbonde-angreb, med Le2 and Sf38i U F_E77daKongeindisk, firbonde-angreb, 6. Le20h E )E76daKongeindisk, firbonde-angreb7g S aE75daKongeindisk, Averbakh, hovedvariant1f G R gE74daKongeindisk, Averbakh, 6...c5'e 3 xa|Z^E73daKongeindisk, 5. Le2,d = 'DDr(E72daKongeindisk med e4 og g39c W "PE71daKongeindisk, Makagonov system (5. h3)&b 1 2[id@]}E70daKongeindisk, 4. e4Ba i \^ 8'H$E69daKongeindisk, fianchetto, klassisk hovedvariantC` k n[DRmE68daKongeindisk, fianchetto, klassisk variant, 8.e4 M_$C f " p =  f $ ` = ] !e;KtK^9W(](|KY&$k -  7eA52enBudapest defense9jG7ŗA51enBudapestFajarowicz, Steiner variation0i5x.4A51enBudapestFajarowicz variation-h ? ޻)zHyA51enBudapest defense declined.gA ?[s.A50enQueen's Indian Accelerated-f? .ʁA48enKing's IndianEast Indian defenseB`)M bϵA47enQueen's IndianMarienbad system, Berg variation2_)-)IA47enQueen's IndianMarienbad system*^ 9 h(fAA44enOld Benoni defense-O!+ ,A43enOld BenoniSchmid's system&N1 ͽ.AA43enOld Benoni defense*M9 I.A43enHawk (Habichd) defense&L1 _L%lUA43enOld Benoni defense"K) }CS>A43enWoozle defense&J1  hA43enOld Benoni defense0I!1KM߱a A43enOld BenoniMujannah formation3H!7m6aA43enOld BenoniFranco-Benoni defense&G 1 ehڣA43enOld Benoni defenseBF)M.A42enModern defenseAverbakh system, Kotov variationIE)[`i xXA42enModern defenseAverbakh system, Randspringer variation'D3 icVIA42enPterodactyl defense1C )+P?UA42enModern defenseAverbakh system7B-3r/A41enRobatsch defenseRossolimo variation"A) ƸA41enModern defense&@1 6/3A41enOld Indian defense9?!Cc CdA41enOld IndianTartakower (Wade) variation > % / A41enQueen's pawn%=/ v:A40enBeefeater defense"<) j|CA40enModern defense=;%G"A40enQueen's pawnFranco-Indian (Keres) defense-:%'3]A40enQueen's pawnKeres defense 9% yKzAA40enQueen's pawn"8) ӧlA40enPolish defense/7%+gfEA40enQueen's pawnEnglish defense.6%)WY A40enQueen's pawnEnglund gambit95%? v)A40enQueen's pawnCharlick (Englund) gambit?4%K(aPtA40enQueen's pawnLundin (Kevitz-Mikenas) defense 3 % XA40enQueen's pawn92 Io))'A39enEnglishSymmetrical, Main line with d491Ic[A38enEnglishSymmetrical, Main line with b390IcV|~A38enEnglishSymmetrical, Main line with d30/ 7<6D7A38enEnglishSymmetrical variationA.Y [A37enEnglishSymmetrical, Botvinnik system Reversed0- 7giUA84enDutch defense16'-0*A84enDutch defenseBladel variation!5 ' B@WA84enDutch defense=4U?H7A83enDutchStaunton gambit, Nimzovich variation<3S,ӵA83enDutchStaunton gambit, Chigorin variation:2OSnV|A83enDutchStaunton gambit, Lasker variation<1SAvsA83enDutchStaunton gambit, Alekhine variation90 MwVfFA83enDutchStaunton gambit, Staunton's line>/WAWPA82enDutchStaunton gambit, Tartakower variation(.+uze~A82enDutchStaunton gambit'-)D(gA82enDutchBalogh defense(, +fcRPA A82enDutchStaunton gambit6+GuzA81enDutchLeningrad, Karlsbad variation1*=a3MuOA81enDutchLeningrad, Basman system!)' <- Ÿ/A81enDutch defense7(S [\R_A81enDutch defense, Blackburne variation!' ' ;djY$8A81enDutch defense*&9 ; Z'A80enDutch, 2.Bg5 variation)%7 ,QA80enDutch, Krejcik gambit*$9 {s5A80enDutch, Korchnoi attack-#? b<8A80enDutch, Von Pretzel gambitA"g smwA80enDutch, Manhattan (Alapin, Ulvestad) variation+!; U>RA80enDutch, Spielmann gambit   a+A80enDutch* --5JB|A79enBenoniClassical, 11.f3: MC{ eA78enBenoniClassical with ...Re8 and ...Na64 A xdA77enBenoniClassical, 9...Re8, 10.Nd2, 1й N1SA76enBenoniClassical, 9...Re8; OwaaY)A75enBenoniClassical with ...a6 and 10...Bg42 =u֫SA74enBenoniClassical, 9...a6, 10.a4* -$L>A73enBenoniClassical, 9.O-O1 ;_xA72enBenoniClassical without 9.O-O* - f;wAA71enBenoniClassical, 8.Bg51;5=*A70enBenoniClassical without 9.O-O3 ?{ g#A70enBenoniClassical with e4 and Nf36 ES5,A69enBenoniFour pawns attack, Main line+ /< yxA68enBenoniFour pawns attack, 1qb(RcA67enBenoniTaimanov variation+/0IYA66enBenoniMikenas variation. 5]{{;A66enBenonipawn storm variation Iٳ-ԟUA65enBenoni6.e4. 5ך$Iw8A64enBenoniFianchetto, 11...Re8.  5њI3 A63enBenoniFianchetto, 9...Nbd7.  5 IR)A62enBenoniFianchetto variation. 5躉̡A61enBenoniFianchetto variation= Sb,/A61enBenoniNimzovich (knight's tour) variation+ /yTVA61enBenoniUhlmann variation" ) ,v)A61enBenoni defense" ) ~r6=A60enBenoni defense)%O{JA59enBenko gambitMain line % qg8A59enBenko gambit-%'I7=0#A59enBenko gambitNe2 variation$ %BivA59enBenko gambit7.e44%5 ܯRZW52A58enBenko gambitFianchetto variation-%'x=ӀA58enBenko gambitNd2 variation) 7 9qP>A58enBenko gambit accepted5%7uiA57enBenko gambitNescafe Frappe attack.~%)e!A57enBenko gambitZaitsev system.}A K ~*A57enBenko gambit half accepted | % haRA57enBenko gambit4{%5m\XA56enCzech BenoniKing's Indian system(z5 M A56enCzech Benoni defense#y+ 2=+A56enVulture defense3xK 1]A56enBenoni defense, Hromodka system"w ) 02A56enBenoni defense'v !0 96A55enOld IndianMain line8u!Ax4iA54enOld IndianUkrainian variation, 4.Nf37t!?U A54enOld IndianDus-Khotimirsky variation1s !3jA54enOld IndianUkrainian variation0r!1.NvA53enOld IndianJanowski variation&q 1 my;r"A53enOld Indian defense=pO"%$FA52enBudapestAlekhine variation, Balogh gambit6oAn><4A52enBudapestAlekhine, Abonyi variation.n1EXoA52enBudapestAlekhine variation0m5QXWA52enBudapestRubinstein variation+l+aRфXA52enBudapestAdler variation JxC\% v H  x I  ` 6 | T / n ;``#}2_(u@s7y@mD B1Ed~(B02enAlekhine's defenseTwo pawns' (Lasker's) attack71/UB02enAlekhine's defenseSteiner variation&1 8B02enAlekhine's defense71/@8B02enAlekhine's defenseWelling variation51+,~XB02enAlekhine's defenseSaemisch attack51+B_ߚtB02enAlekhine's defenseKmoch variation&1 |f7SB02enAlekhine's defense6~1-EgB02enAlekhine's defenseBrooklyn defenseG}1O漫B02enAlekhine's defenseMokele Mbembe (Buecker) variation7|1/ax֦B02enAlekhine's defenseKrejcik variation7{1/wvlp{B02enAlekhine's defenseMaroczy variation9z13ԜwWB02enAlekhine's defenseSpielmann variationB01enScandinavianMarshall variation(t5 RV!bB01enScandinavian defense's3 e>7"tB01enScandinavian gambit0r%-3M}7uB01enScandinavianIcelandic gambit(q5 {gP B01enScandinavian defense4p%5ZC%Q.B01enScandinavianPytel-Wade variation6oQ Bo$B01enScandinavian, Mieses-Kotrvc gambitKn%c7ʣuB01enScandinavianAnderssen counter-attack, Collijn variationIm%_5lvIB01enScandinavianAnderssen counter-attack, Goteborg systemHl%]b$B01enScandinavianAnderssen counter-attack Orthodox attack8k%=tB01enScandinavianAnderssen counter-attack=j_ ?2\B01enScandinavian defense, Gruenfeld variation(i5 g#m dB01enScandinavian defense:hY ]_B01enScandinavian defense, Lasker variation9g W VDaB01enScandinavian (centre counter) defense4f#7 jQǢިB00enKing's pawnNeo-Mongoloid defenseFe#[V(B00enKing's pawnNimzovich defense, Bogolyubov variationAd#Q1ɠ:B00enKing's pawnNimzovich defense, Marshall gambit0c#/lIB00enKing's pawnNimzovich defense/b#-f:vB00enKing's pawnColorado counter0a#/DfB00enKing's pawnNimzovich defense@`#ONB00enKing's pawnNimzovich defense, Wheeler gambit0_#/)CB00enKing's pawnNimzovich defense%^/ pYzٱB00enGuatemala defense ]% U@ B00enOwen defense.\A Pj1JB00enSt. George (Baker) defenseB[i kiB00enReversed Grob (Borg/Basman defense/macho Grob)"Z) 6jB00enCarr's defense%Y/ ̼B00enFried fox defense"X) NiVB00enBarnes defenseW SClHB00enFred#V+ ̼0{*B00enLemming defense&U1 &.MB00enCorn stalk defense(T5 oG(T1/B00enHippopotamus defense'S 3 3}\A86enDutchLeningrad variation-=5AA86enDutchHort-Antoshin system&< 1 JϻΩA86enDutch with c4 & g3 HP'G | - O v 5 o - j *iBV{O'zD qGOF s?%M/ P{IB12enCaro-Kann defense%L/ m6B12enCaro-Masi defense'K3 GĉB12ende Bruycker defense%J / sYoB12enCaro-Kann defense1I 5 j1B11enCaro-KannTwo knights, 3...Bg42H7ߠ?B10enCaro-KannTwo knights variation:GGԙ7:iB10enCaro-KannGOldman (Spielmann) variation%F/ nH3B10enCaro-Kann defense6E?jA)B10enCaro-KannClosed (Breyer) variation8DCˏU w B10enCaro-KannAnti-anti-Caro-Kann defense3C9e9*B10enCaro-KannAnti-Caro-Kann defense-B-s—DB10enCaro-KannHillbilly attack%A / Fvђ-B10enCaro-Kann defense=@WgT8B09enPircAustrian attack, Ljubojevic variation9?OG t_@B09enPircAustrian attack, Dragon formation.>9L;B09enPircAustrian attack, 6.Bd3.=9dB09enPircAustrian attack, 6.Be3-<7a q@,,B09enPircAustrian attack, 6.e5';+mu^ HB09enPircAustrian attack': +h 3I4B09enPircAustrian attack/9;/&.B08enPircClassical system, 5.Be2,85UQi{5B08enPircClassical, h3 system67I\׹*B08enPircClassical (Two knights) system66 IaBB08enPircClassical (Two knights) system35-+XB07enRobatsch defenseGeller's system14?h{jB07enPircbayonet (Mariotti) attack)3/W8 B07enPircChinese variation 2% Dn+>B07enPirc defense'1+$ uB07enPircByrne variation%0'TtB07enPircHolmov system)//ଅB07enPircSveshnikov system".!Dtc(B07enPirc150 attack -% 7~]*7tB07enPirc defense0,=L#&x5MB07enPircUfimtsev-Pytel variation + % QB07enPirc defense:*-9!:)eB06enRobatsch defensePseudo-Austrian attackB)-I2UcLB06enRobatsch defenseTwo knights, Suttles variation9(-7H"lB06enRobatsch defenseTwo knights variation-'? ,T|B06enRobatsch (Modern) defense8&-5s_IB06enRobatsch defenseGurgenidze variation$%- µB06enRobatsch defense6$-1uB06enRobatsch defenseThree pawns attack-#? l55B06enRobatsch (Modern) defense%"/ xSB06enNorwegian defense-! ? k B06enRobatsch (Modern) defense= 1;F3ִ=B05enAlekhine's defenseModern, Vitolins attack@1Aՠf5.B05enAlekhine's defenseModern, Alekhine variation=1;p$FB05enAlekhine's defenseModern, Panov variation=1;y1B05enAlekhine's defenseModern, Flohr variation? 1?YvX)B05enAlekhine's defenseModern variation, 4...Bg4=1;g7B04enAlekhine's defenseModern, Keres variationB1E`JĈB04enAlekhine's defenseModern, Fianchetto variation>1=r˼)%=B04enAlekhine's defenseModern, Schmid variation>1=au3s.JB04enAlekhine's defenseModern, Larsen variation6 1-[P31`VB04enAlekhine's defenseModern variationM1[[¬óB03enAlekhine's defenseFour pawns attack, Trifunovic variationM1[1.`XuB03enAlekhine's defenseFour pawns attack, Fianchetto variationJ1UXB5B03enAlekhine's defenseFour pawns attack, Planinc variationM1[TORB03enAlekhine's defenseFour pawns attack, Tartakower variation>1=VήB03enAlekhine's defenseFour pawns attack, 7.Be3L1Y ԤB03enAlekhine's defenseFour pawns attack, Ilyin-Genevsky var.@1Ab B03enAlekhine's defenseFour pawns attack, 6...Nc6K1Wdy7sɮB03enAlekhine's defenseFour pawns attack, Korchnoi variation71/ؚL]>B03enAlekhine's defenseFour pawns attack@ 1AՔtB03enAlekhine's defenseExchange, Karpov variation8 11dSKSxB03enAlekhine's defenseExchange variation& 1 @NB03enAlekhine's defense6 1-kBqXB03enAlekhine's defenseBalogh variation& 1 4jY7B03enAlekhine's defense71/ي#SîB03enAlekhine's defenseO'Sullivan gambit& 1 I ~B03enAlekhine's defenseJ1UHژ&B02enAlekhine's defenseTwo pawns' attack, Mikenas variation Ij9[ e " Y 1 l = ` - Y l,q; x6g9n6qE~Lc<R yήe:B31enSicilianNimzovich-Rossolimo attack (with ...g6, without ...d6)Fa'EVB30enSicilianNimzovich-Rossolimo attack (without ...d6)$ - ~{!B30enSicilian defenseKkT?‘B29enSicilianNimzovich-Rubinstein; Rubinstein counter-gambit: IǒJj@B29enSicilianNimzovich-Rubinstein variation- /mW B28enSicilianO'Kelly variation++/7B27enSicilianActon extension/3VS?B27enSicilianHungarian variation/3@3MB27enSicilianKatalimov variation/ 36)dB27enSicilianQuinteros variation9 GfZ3S YB27enSicilianStiletto (Althouse) variation$  - )j+B27enSicilian defense)  '?7ݦB26enSicilianClosed, 6.Be37 CY\KB25enSicilianClosed, 6.f4 e5 (Botvinnik)(%!TsB25enSicilianClosed, 6.f48E^3B25enSicilianClosed, 6.Ne2 e5 (Botvinnik)" c7)j?(B25enSicilianClosed5?8EtϕEulB16enCaro-KannBronstein-Larsen variation.e/I B15enCaro-KannForgacs variation=dMb oB15enCaro-KannTartakower (Nimzovich) variation,c+%W[ѲB15enCaro-KannAlekhine gambit%b/ YL!RWB15enCaro-Kann defense0a3 ,B15enCaro-KannRasa-Studier gambit.`/B:0B15enCaro-KannGurgenidze system6_?ˊ ^έB15enCaro-KannGurgenidze counter-attack%^ / c.sB15enCaro-Kann defense;]IX>-*QDB14enCaro-KannPanov-Botvinnik attack, 5...g6;\ I^GIFB14enCaro-KannPanov-Botvinnik attack, 5...e6J[g:~B13enCaro-KannPanov-Botvinnik, Reifir (Spielmann) variation@ZS(wYB13enCaro-KannPanov-Botvinnik, Czerniak variation>YO3,8$B13enCaro-KannPanov-Botvinnik, normal variationB13enCaro-KannPanov-Botvinnik attack;TI 62}B13enCaro-KannExchange, Rubinstein variation/S 1wqLݣOB13enCaro-KannExchange variation5R=T"}@ B12enCaro-KannAdvance, Short variation.Q/1`m-B12enCaro-KannAdvance variation0P3Έ=4WzB12enCaro-KannEdinburgh variation"O wc1YyB12enCaro-Kann3.Nd2;NI>08B12enCaro-KannTartakower (fantasy) variation E\*s/ @ f  = w E n -OKl/{)^*\=W/X<[MT#zѝ٤B60enSicilianRichter-Rauzer, Larsen variationAZW_VspHB60enSicilianRichter-Rauzer, Bondarevsky variation*Y )[( B60enSicilianRichter-Rauzer8X E18B59enSicilianBoleslavsky variation, 7.Nb38WE;^iB58enSicilianBoleslavsky, Louma variation1V7@)`B58enSicilianBoleslavsky variation%U 8hB58enSicilianClassical2T9FaYE!B57enSicilianSozin, Benko variation-S/ ҙ jB57enSicilianMagnus Smith trap3R ; 6B57enSicilianSozin, not ScheveningenQ p M]B56enSicilian)P'b \B56enSicilianVenice attackO  Uw^B56enSicilian:N I>qCB55enSicilianPrins variation, Venice attack4M=Ns*oB54enSicilianPrins (Moscow) variationL  {,ĴB54enSicilian8KEm*B53enSicilianChekhover, Zaitsev variation1J G a2dB53enSicilian, Chekhover variationEI_4vB52enSicilianCanal-Sokolsky attack, Sokolsky variationCH[H,WB52enSicilianCanal-Sokolsky attack, Bronstein gambit:G IW! B52enSicilianCanal-Sokolsky attack, 3...Bd7OF sM\8B51enSicilianCanal-Sokolsky (Nimzovich-Rossolimo, Moscow) attack0E5,fE~B50enSicilianwing gambit deferredD  0ibB50enSicilian.C 1|יB49enSicilianTaimanov variation.B 1v1{B48enSicilianTaimanov variation:A IbcB47enSicilianTaimanov (Bastrikov) variation.@ 1lH;Ͳ(B46enSicilianTaimanov variation5?? gbHtB45enSicilianTaimanov, American attack.> 1d\JB45enSicilianTaimanov variationB=i k-B44enSicilian, Szen variation, Dely-Kasparov gambit6<Q .֧-s=B44enSicilian, Szen, hedgehog variation>;a jft{B44enSicilian, Szen (`anti-Taimanov') variation$: - D-B44enSicilian defense&9 !u*\+B43enSicilianKan, 5.Nc378CZB42enSicilianKan, Swiss cheese variation77C B42enSicilianKan, Polugaievsky variation269ʭuϽ&B42enSicilianKan, Gipslis variation&5 !̪>WB42enSicilianKan, 5.Bd3C4[ \B41enSicilianKan, Maroczy bind - Bronstein variation>3Qj5,>B41enSicilianKan, Maroczy bind (Reti variation))2 'm辕B41enSicilianKan variation/13a3B36enSicilianAccelerated Fianchetto, Maroczy bindM$ oV@B35enSicilianAccelerated Fianchetto, Modern variation with Bc4D#]Xѿ@HB34enSicilianAccelerated Fianchetto, Modern variationF" aLMY, B34enSicilianAccelerated Fianchetto, Exchange variation0!5[>yJ B33enSicilianSveshnikov variation: Is^eB33enSicilianPelikan, Chelyabinsk variation3;GY@}sB33enSicilianPelikan, Bird variationAWz5cB33enSicilianPelikan (Lasker/Sveshnikov) variation$ - ݫB33enSicilian defenseLmnF rB32enSicilianLabourdonnais-Loewenthal (Kalashnikov) variation>QcbȠIB32enSicilianLabourdonnais-Loewenthal variation/3l<YB32enSicilianNimzovich variation++d jf~B32enSicilianFlohr variation$ - Q@j裗B32enSicilian defenseLm^PuB31enSicilianNimzovich-Rossolimo attack, Gurgenidze variation <B|@ Z  h  i : \  U YDJGT~L=V ( %Α嚽1B86enSicilianSozin attack=OTeB85enSicilianScheveningen, Classical Main line3;QyBfB85enSicilianScheveningen, ClassicalC[lj B85enSicilianScheveningen, Classical, Maroczy systemT }"ĵ=LCYB85enSicilianScheveningen, Classical variation with ...Qc7 and ...Nc6Gct?DCbB84enSicilianScheveningen (Paulsen), Classical variation?SATȠcB84enSicilianScheveningen, Classical, Nd7 systemG c UTTUsB84enSicilianScheveningen (Paulsen), Classical variationC[$:B83enSicilianModern Scheveningen, Main line with Nb3:I@^[YB83enSicilianModern Scheveningen, Main line/ 3uO}֢JB83enSicilianModern Scheveningen/  3ޢ4ۭB83enSicilianScheveningen, 6.Be27 C&?0"B82enSicilianScheveningen, Tal variation.  1P4[oڅB82enSicilianScheveningen, 6.f46  Ao'Z B81enSicilianScheveningen, Keres attack>QĝR)?4B80enSicilianScheveningen, Fianchetto variation<MbjtB80enSicilianScheveningen, Vitolins variation;K$#]]B80enSicilianScheveningen, English variation2 9"&Ͳ B80enSicilianScheveningen variation: Ii<ǘYB79enSicilianDragon, Yugoslav attack, 12.h4= OO@B78enSicilianDragon, Yugoslav attack, 10.O-O-O<MlOB77enSicilianDragon, Yugoslav attack, 9...Bd7D]EJ>B77enSicilianDragon, Yugoslav attack, Byrne variation: Iu )>&֟B77enSicilianDragon, Yugoslav attack, 9.Bc4E_.5]FB76enSicilianDragon, Yugoslav attack, Rauser variation<~ ML {޽3B76enSicilianDragon, Yugoslav attack, 7...O-O3} ; @B75enSicilianDragon, Yugoslav attackA|WOA`"0B74enSicilianDragon, Classical, Alekhine variationH{e>=rB74enSicilianDragon, Classical, Reti-Tartakower variation>zQ\VٷB74enSicilianDragon, Classical, Bernard defenseByYЈQ1uB74enSicilianDragon, Classical, Spielmann variation?xSt "$.B74enSicilianDragon, Classical, Stockholm attack4w =ɔH'.B74enSicilianDragon, Classical, 9.Nb3@vUuӉ7B73enSicilianDragon, Classical, Richter variation=uOuY%]B73enSicilianDragon, Classical, Zollner gambit4t =WM!iB73enSicilianDragon, Classical, 8.O-OCs[Ib˪[B72enSicilianDragon, Classical, Nottingham variationBrY3XBB72enSicilianDragon, Classical, Grigoriev variationBqY iz#1B72enSicilianDragon, Classical, Amsterdam variation4p=Ղ B72enSicilianDragon, Classical attack)o 'AnQ(j5PB71enSicilianDragon, Levenfish; Flohr variation7m C؜B71enSicilianDragon, Levenfish variation,l -2ᇧSB70enSicilianDragon variationRk y[>UB69enSicilianRichter-Rauzer, Rauzer attack, 7...a6 defense, 11.Bxf6Rj y Lo> B68enSicilianRichter-Rauzer, Rauzer attack, 7...a6 defense, 9...Be7Ri yaB67enSicilianRichter-Rauzer, Rauzer attack, 7...a6 defense, 8...Bd7Ah W:ze5|B66enSicilianRichter-Rauzer, Rauzer attack, 7...a6Tg}XSQ!5cC狉MsC10enFrenchRubinstein, Capablanca line.b5(krC10enFrenchRubinstein variation-a3oP7jC10enFrenchFort Knox variation.`5 tc5)C10enFrenchRubinstein variation,_1U;C10enFrenchMarshall variation+^ /O|}0yC10enFrenchPaulsen variation=] ScIꎴ)WC09enFrenchTarrasch, Open variation, Main line1\ ;ޚ^ C08enFrenchTarrasch, Open, 4.ed ed7[G@_C07enFrenchTarrasch, Eliskases variation2Z =  C07enFrenchTarrasch, Open variation7YG!zh C06enFrenchTarrasch, Leningrad variation?X W)C06enFrenchTarrasch, Closed variation, Main line4WA@eC05enFrenchTarrasch, Closed variation7VGe<C05enFrenchTarrasch, Botvinnik variation4U AH_)[C05enFrenchTarrasch, Closed variation5T C\&^8C04enFrenchTarrasch, Guimard Main line5SCF_BC03enFrenchTarrasch, Guimard variation7RGy$L[7NC03enFrenchTarrasch, Haberditz variation"Q zܽC03enFrenchTarrasch1P;׎R*0C02enFrenchAdvance, Euwe variation6OE0ɻ@C02enFrenchAdvance, Milner-Barry gambit1N;5Oo:pTC02enFrenchAdvance, Paulsen attack+M/+R5) 1~FC00enFrench defense5=C r"C C00enFrenchReversed Philidor formation.<5Z華jC00enFrenchKing's Indian attack,;1bMCw@C00enFrenchChigorin variation/:7Qҿ!|C00enFrenchTwo knights variation+9/w.ڢ C00enFrenchPelikan variation"8) q'SC00enFrench defense%7#|LC00enFrenchwing gambit"6) //հC00enFrench defense15; ]lMC00enFrenchLabourdonnais variation)4+2-C00enFrenchSteinitz attack43Ax 5?C00enFrenchReti (Spielmann) variation52O xhEC11enFrenchSwiss variation"e ) mH6qC11enFrench defense2d=vC10enFrenchFrere (Becker) variation Nf2]9 y W ' V & I P  t B b,](C_/`0zP.lHtA5sO ~#9C29enVienna gambit, Steinitz variation2rI n.ēeC29enVienna gambit, Wurzburger trap!q' Oe{C29enVienna gambit0p'+ m. C29enVienna gambitHeyde variation5o'5~)C29enVienna gambitBardeleben variation/n')[Kݝo |C29enVienna gambitPaulsen attack1m'-.9L_kC29enVienna gambitBreyer variation3l'1H5nC29enVienna gambitKaufmann variation!k ' AT @C29enVienna gambitj # `cӇ8> JC28enVienna game?i=3(7J$AC27enBoden-Kieseritsky gambitLichtenhein defense,h= ]GjgC27enBoden-Kieseritsky gambit,g1aNƋC27enViennaAlekhine variationf# ||NC27enVienna game'e'Րۄ\QC27enViennaAdams' gambit:dMţoF[C27enVienna`Frankenstein-Dracula' variationc # v9ESZzC25enVienna game, Max Lange defense1P;4ƤC25enViennaZhuravlev countergambitO # Ӌ;yC25enVienna gameBN-I3缮JC24enBishop's OpeningUrusov gambit, Panov variation1M-'6VvC24enBishop's OpeningUrusov gambit3L-+,-=A?BC23enBishop's OpeningCalabrese counter-gambit6=-1U[C23enBishop's OpeningLisitsyn variation;<-;1wC23enBishop's OpeningPhilidor counter-attack$; - k'2FoC23enBishop's Opening-:#)v'dfVC22enCentre gameHall variation39#5kVxj6C22enCentre gameKupreichik variation/8#-owC22enCentre gameBerger variation17#1dĘC22enCentre gamel'Hermet variation26#30]o7C22enCentre gameCharousek variation-5#)46L)C22enCentre gamePaulsen attack4 # UyFC22enCentre game3# +oC21enCentre game22'/lWC21enDanish gambitSoerensen defense31'1uRJC21enDanish gambitSchlechter defense00'+J8UC21enDanish gambitCollijn defense!/' Nk6qC21enDanish gambit!.' ?׽~C21enHalasz gambit6-Q hUW ,C21enCentre game, Kieseritsky variation, # V2FC21enCentre game$+- xFߴ^C20enAlapin's Opening,*#'~k&C20enKing's pawnLopez Opening1)#1f)BC20enKing's pawnNapoleon's Opening-(#)IpVC20enKing's pawnKing's head Opening2&#3آ<'7C20enKing's pawnMengarini's Opening 8f'M = c / S  B y >eIZIr#=R\ O+9Wo DfC33enKing's gambit acceptedBishop's gambit, Bryan counter-gambitO*9W]o}P3C33enKing's gambit acceptedBishop's gambit, Bryan counter-gambitH)9I݊C33enKing's gambit acceptedBishop's gambit, Boden defenseZ(9msWC33enKing's gambit acceptedBishop's gambit, Classical defense, Cozio attackK'9O>C33enKing's gambit acceptedBishop's gambit, Fraser variationK&9OwkXvC33enKing's gambit acceptedBishop's gambit, McDonnell attackK%9O! ,cC33enKing's gambit acceptedBishop's gambit, McDonnell attackL$9Q CϻC33enKing's gambit acceptedBishop's gambit, Classical defenseG#9Gkg _C33enKing's gambit acceptedBishop's gambit, Grimm attackL"9Q_*T=C33enKing's gambit acceptedBishop's gambit, Classical defenseJ!9MA3A4C33enKing's gambit acceptedBishop's gambit, Greco variationL 9QVL4iC33enKing's gambit acceptedBishop's gambit, Chigorin's attack99+k`nU[C33enKing's gambit acceptedBishop's gambit^9uoXWpG^C33enKing's gambit acceptedLesser Bishop's (Petroff-Jaenisch-Tartakower) gambit79'jFC33enKing's gambit acceptedBreyer gambitG9GO+H$C33enKing's gambit acceptedKeres (Mason-Steinitz) gambitE9C#WcC33enKing's gambit acceptedVillemson (Steinitz) gambitA9;[yC33enKing's gambit acceptedCarrera (Basman) gambit89)Iu+*AC33enKing's gambit acceptedSchurig gambitG9G{HC33enKing's gambit acceptedPawn's gambit (Stamma gambit)79'~ݜ'C33enKing's gambit acceptedOrsini gambit;9/dZnXC33enKing's gambit acceptedTumbleweed gambit* 9 ԉFC33enKing's gambit acceptedB9="9C32enKing's gambit declinedFalkbeer, Reti variationC9?ŴbpLC32enKing's gambit declinedFalkbeer, Keres variationG9G ǜgC32enKing's gambit declinedFalkbeer, Charousek variationD9AiU^C32enKing's gambit declinedFalkbeer, Charousek gambitF9ECؗHC32enKing's gambit declinedFalkbeer, Tarrasch variationF9E 4d mC32enKing's gambit declinedFalkbeer, Main line, 7...Bf5D9A2AC32enKing's gambit declinedFalkbeer, Alapin variation8  9)44uC32enKing's gambit declinedFalkbeer, 5.deA 9;XJADM$8C31enKing's gambit declinedFalkbeer, Morphy gambit8 9)E8GK+C31enKing's gambit declinedFalkbeer, 4.d3G 9GK?*fO|C31enKing's gambit declinedFalkbeer, Nimzovich variationH 9INXU"4C31enKing's gambit declinedFalkbeer, Rubinstein variation:9-x WC31enKing's gambit declinedFalkbeer, 3...e4B9=ŝ+F[C31enKing's gambit declinedNimzovich counter-gambitA9;WN1ވ C31enKing's gambit declinedFalkbeer counter-gambitJ9Mԡ)SHC31enKing's gambit declinedFalkbeer, Milner-Barry variationH9I\ W2C31enKing's gambit declinedFalkbeer, Tartakower variationA 9;p8C31enKing's gambit declinedFalkbeer counter-gambit19ڟſC30enKing's gambit declined2...Nf6D9Adw*C30enKing's gambit declinedClassical, Heath variationJ9M6xknC30enKing's gambit declinedClassical, SOldatenkov variationC9?fזI1NC30enKing's gambit declinedClassical, Reti variationB~9=X$Ni1dC30enKing's gambit declinedClassical counter-gambitD}9AWr C30enKing's gambit declinedClassical, Marshall attack9|9+K(C׹I|C30enKing's gambit declinedClassical, 4.c3E{9Cr$%)C30enKing's gambit declinedClassical, Hanham variationHz9IZ\XC30enKing's gambit declinedClassical, Svenonius variation=y93XOLWnC30enKing's gambit declinedClassical variationLx9Q^,JC30enKing's gambit declinedNorwalde variation, Buecker gambitk zMM Ac9;=8}C39enKing's gambit acceptedAllgaier, Horny defense9b9+h9C39enKing's gambit acceptedAllgaier gambit*a 9 \Td4C39enKing's knight's gambitL`9QLt9uC38enKing's gambit acceptedPhilidor gambit, Schultz variation6_9%L⿰C38enKing's gambit acceptedGreco gambit9^9+Sy8C38enKing's gambit acceptedPhilidor gambit9]9+:VC38enKing's gambit acceptedHanstein gambit*\ 9 AC37enKing's gambit acceptedMuzio gambit, Kling and Horwitz counter-attackHY9I,-Xz[C37enKing's gambit acceptedMuzio gambit, Holloway defenseDX9A>"q2C37enKing's gambit acceptedMuzio gambit, From defense=W93FœC37enKing's gambit accepteddouble Muzio gambitIV9K8[ XC37enKing's gambit acceptedMuzio gambit, Paulsen variation6U9%^k?oǐC37enKing's gambit acceptedMuzio gambit9T9+r_uC37enKing's gambit acceptedHerzfeld gambit9S9+WC37enKing's gambit acceptedCochrane gambitQR9["OC37enKing's gambit acceptedSalvio gambit, Anderssen counter-attack>Q95KY>C37enKing's gambit acceptedSilberschmidt gambit7P9'H.C37enKing's gambit acceptedSalvio gambit;O9/=ZC37enKing's gambit acceptedMacDonnell gambit>N95?fC37enKing's gambit acceptedGhulam Kassim gambitGM9GK U'C37enKing's gambit acceptedLolli gambit, Young variationJL9M@'C37enKing's gambit acceptedLolli gambit (wild Muzio gambit)8K9)h*nC37enKing's gambit acceptedBlachly gambit@J99$L|C37enKing's gambit acceptedKing's knight's gambit:I9-[TFq3C37enKing's gambit acceptedSoerensen gambit$ vC36enKing's gambit acceptedAbbazia defense, Modern variation`D 9yBkC36enKing's gambit acceptedAbbazia defense (Classical defense, Modern defense[!])BC9=-Ma^aC35enKing's gambit acceptedCunningham, Euwe defenseHB9I4HC35enKing's gambit acceptedCunningham, Three pawns gambitCA9?ihlC35enKing's gambit acceptedCunningham, Bertin gambit<@ 91pKNQC35enKing's gambit acceptedCunningham defense:?9-R VC34enKing's gambit acceptedSchallop defense8>9)UKsC34enKing's gambit acceptedBecker defense9=9+4C34enKing's gambit acceptedFischer defenseA<9;S^C34enKing's gambit acceptedGianutio counter-gambitE;9C•i}C34enKing's gambit acceptedBonsch-Osmolovsky variation*: 9 Ǽ8.LC34enKing's knight's gambitM99SMhv1EC33enKing's gambit acceptedBishop's gambit, Jaenisch variationI89Kw*3 NxRC33enKing's gambit acceptedBishop's gambit, Paulsen attackO79WLC33enKing's gambit acceptedBishop's gambit, Bogolyubov variationQ69[$TTC33enKing's gambit acceptedBishop's gambit, Cozio (Morphy) defenseK59OͮiQC33enKing's gambit acceptedBishop's gambit, Morphy variationN49U*k>C33enKing's gambit acceptedBishop's gambit, Anderssen variationT39a^C33enKing's gambit acceptedBishop's gambit, Boren-Svenonius variationL29QVL4iC33enKing's gambit acceptedBishop's gambit, Gifford variationK19OB=}C33enKing's gambit acceptedBishop's gambit, Bledow variationW09gdu;2 C33enKing's gambit acceptedLopez-Gianutio counter-gambit, Hein variationX/9i8axC33enKing's gambit acceptedBishop's gambit, Lopez-Gianutio counter-gambitL.9QN)C33enKing's gambit acceptedBishop's gambit, Ruy Lopez defenseJ-9MԆCxXC33enKing's gambit acceptedBishop's gambit, Maurian defenseK,9OA$`C33enKing's gambit acceptedBishop's gambit, Steinitz defense @s+Z P S L  q )  : a+uFT h vELn2T3#;WhDC41enPhilidorHanham, Kmoch variation5"?$唒C41enPhilidorHanham, Steiner variation4!={sC41enPhilidorHanham, Krause variation, -Lz% Q~C41enPhilidorHanham variation6AF@+C41enPhilidorNimzovich, Klein variation7C"C41enPhilidorNimzovich, Locock variation9GbZC41enPhilidorNimzovich, Rellstab variation9G FEwC41enPhilidorNimzovich, Sokolsky variation/3 `lJTC41enPhilidorNimzovich variation8E6 <[C40enLatvianPolerio variation,/:~3C40enLatvianBehting variation)7 $]#C40enLatvian gambit, 3.Bc4))R5l vC40enLatvianFraser defense.3 Yr]knC40enLatvianNimzovich variation*9 GOuCC40enLatvian counter-gambit3/):7C40enQP counter-gambitMaroczy gambit7~S VJ]ƖC40enQP counter-gambit (elephant gambit)%}/ uys0JC39enKing's gambit acceptedKieseritsky, Paulsen defenseFi9E҆*~]iC39enKing's gambit acceptedAllgaier, Schlechter defenseAh9;i YC39enKing's gambit acceptedAllgaier, Urusov attackAg9;S֗bC39enKing's gambit acceptedAllgaier, Walker attackEf9CJq<66C39enKing's gambit acceptedAllgaier, Blackburne gambitBe9=H>-lC39enKing's gambit acceptedAllgaier, Cook variationEd9CthFsC39enKing's gambit acceptedAllgaier, ThorOld variation NW0{N O  N  } O  I ^ 7 e@S&Za6 {. yC^*}M#+q/~qC45enScotchSchmidt variation,p1Dc.JC45enScotchSteinitz variation'o'rJC45enScotchFraser attack-n353C45enScotchRosenthal variationm# RP0iC45enScotch game*l-e| C45enScotchBerger variation(k)JቦdOC45enScotchHorwitz attack0j9{6^C45enScotchPulling counter-attack1i;G%D C45enScotchGhulam Kassim variationh # A{C45enScotch game4g'3GC44enScotch gambitDubois-Reti defense/f')QE >C44enScotch gambitBenima defense3e'1PM@HC44enScotch gambitCochrane variation!d' n޿C44enScotch gambit3c'1pԔjC44enScotch gambitHanneken variation!b' t_ZMC44enScotch gambit/a'){Bc˭C44enScotch gambitVitzhum attack8`';ePSC44enScotch gambitCochrane-Shumov defense!_' HC44enScotch gambitJ^'_>C44enScotch gambitAnderssen (Paulsen, Suhle) counter-attack!]' E56roC44enScotch gambit>\UA=cC44enScotchGoering gambit, Bardeleben variation([)v/C44enScotchGoering gambit(Z)%C44enScotchSea-cadet mate(Y)P\zAKOC44enScotchGoering gambit6XEXSJC44enScotchRelfsson gambit ('MacLopez'),W1PmC44enScotchCochrane variation)V+s$(kC44enScotchLolli variation"U) JPC44enScotch Opening=T_ z7P)C44enPonziani counter-gambit, Cordel variation;S[ ×#쭴C44enPonziani counter-gambit, Schmidt attack+R; x9y{_C44enPonziani counter-gambit0Q5,y XމC44enPonzianiRomanishin variation*P)0X+|zC44enPonzianiReti variation*O):n .C44enPonzianiFraser defense3N;Ukcj 3C44enPonzianiJaenisch counter-attack.M1Ƅ:C44enPonzianiSteinitz variation/L3786C44enPonzianiLeonhardt variation*K)>ACtC44enPonzianiCaro variation$J- _rC44enPonziani Opening"I) ?[C44enTayler Opening#H+ "I+iC44enInverted Hanham&G1 M$7=C44enInverted Hungarian#F+ 8*T֙C44enDresden Opening-E? T+OTC44enKonstantinopolsky Opening*D9 *Ͱ&{C44enIrish (Chicago) gambit$C - xͧ}C44enKing's pawn game=BS #ՍCC43enPetrovModern attack, Trifunovic variation>AUL*ZC43enPetrovModern attack, Symmetrical variation'@'6VvC43enPetrovUrusov gambit=?S4k~.C43enPetrovModern attack, Bardeleben variation;>OqIPFC43enPetrovModern attack, Steinitz variation2==C#C43enPetrovModern attack, Main line2< =Md!IC43enPetrovModern (Steinitz) attack+;/}1OC42enPetrovItalian variation-:? sYSi C42enPetrov Three knights game+9/: !.C42enPetrovDamiano variation(8)Fj BC42enPetrovPaulsen attack)7+bz8C42enPetrovCochrane gambit;6O #TC42enPetrovClassical attack, close variation95Kˀ_YC42enPetrovClassical attack, Marshall trap>4U ;,tC42enPetrovClassical attack, Tarrasch variation>3U@ bC42enPetrovClassical attack, Marshall variation;2OۗA*D,C42enPetrovClassical attack, Mason variation>1U߭УC42enPetrovClassical attack, Jaenisch variation=0SBt8M C42enPetrovClassical attack, Maroczy variation-UfzpiwC42enPetrovClassical attack, Chigorin variation*,-wC42enPetrovClassical attack/+777ΐC42enPetrovCozio (Lasker) attack**-/B65C42enPetrovNimzovich attack))+'12C42enPetrovKaufmann attack'('{D C42enPetrovFrench attack$' - K C42enPetrov's defense4&=_%[C41enPhilidorHanham, Delmar variation8%EjֺC41enPhilidorHanham, Schlechter variation4$=h"C41enPhilidorHanham, Berger variation HR!d7 a + T  ~ L  r ;  x 5DmJk'c%g?wOrF J >9a ĝ&ekAC51enEvans gambit declined, Showalter variation/8C tw@DC51enEvans gambit declined, 5.a4;7[ &ګC51enEvans gambit declined, Hicken variation<6] +>qqTC51enEvans gambit declined, Vasquez variation?5c \bC51enEvans gambit declined, Hirschbach variation;4[ QodӚLC51enEvans gambit declined, Pavlov variation:3Y ~^W[C51enEvans gambit declined, Lange variation)2 7 "SD-C51enEvans gambit declined41/+G^yC50enGiuoco PianissimoCanal variationC0/Iz9 C50enGiuoco PianissimoItalian Four knights variation%// C)]C50enGiuoco Pianissimo5./-PxxvLC50enGiuoco PianissimoDubois variation%-/ ǔboC50enGiuoco Pianissimo-,%'QC50enGiuoco PianoJerome gambit6+%9{*C50enGiuoco PianoFour knights variation *% cW}AC50enGiuoco Piano9)/5'pC50enHungarian defenseTartakower variation%(/ `kC50enHungarian defense#'+ uHC50enRousseau gambit.&A Ȼ 6C50enBlackburne shilling gambit$% - ~&?8C50enKing's pawn game=$%GٟYC49enFour knightsNimzovich (Paulsen) variation;#%Cqٳ]C49enFour knightsSymmetrical, Maroczy system?"%KS 5%C49enFour knightsSymmetrical, Tarrasch variationUC49enFour knights4%5Vܧ8^uC49enFour knightsGunsberg counter-attack0 %-"+3VpC49enFour knightsdouble Ruy LopezP%mBbM#߸C48enFour knightsRubinstein counter-gambit, Henneberger variationM%gٵ~C48enFour knightsRubinstein counter-gambit, Exchange variationK%c'QwC48enFour knightsRubinstein counter-gambit Maroczy variation@%MBh1C48enFour knightsRubinstein counter-gambit, 5.Be2O%k`[&C48enFour knightsRubinstein counter-gambit, Bogolyubov variation9%?<6KmC48enFour knightsRubinstein counter-gambit2%1[4dC48enFour knightsMarshall variation4%5hv*IC48enFour knightsBardeleben variation: %AFw=C48enFour knightsSpanish, Classical defense3 %3 MC48enFour knightsSpielmann variation0 %-h\yC48enFour knightsRanken variation1  %/jZ-RC48enFour knightsSpanish variation/ %+F]hC47enFour knightsBelgrade gambit0%-q)C47enFour knightsScotch, 4...exd48%=j9C47enFour knightsScotch, Krause variation0 %-iRC47enFour knightsScotch variation2%1(10C46enFour knightsGunsberg variation1%/?qPhwC46enFour knightsItalian variation7%;f܅C46enFour knightsSchultze-Mueller gambit%/ شYxC46enFour knights game>'Gga+C46enThree knightsSteinitz, Rosenthal variation3'1jm C46enThree knightsSteinitz variationA'M55kҙC46enThree knightsWinawer defense (Gothic defense)5~'5Ls)- C46enThree knightsSchlechter variation&} 1 ZaGC46enThree knights game.|5&]C45enScotchRomanishin variation*{-x~ %C45enScotchPotter variation+z/mUWfq^QC45enScotchBlumenfeld attack+y/ħgFVC45enScotchMeitner variation3x?VyP*'\C45enScotchPaulsen, Gunsberg defense(w)t(sC45enScotchPaulsen attack.v5Ek 3C45enScotchGottschall variation+u/W?C45enScotchBlackburne attackt#  2#Kz߼ oC55enTwo knightsMax Lange attack, Loman defenseE#Y{캺yoC55enTwo knightsMax Lange attack, Rubinstein variationC~#U-?pC55enTwo knightsMax Lange attack, Marshall variationA}#Q:%xSdMC55enTwo knightsMax Lange attack, Berger variation/|#-+iWC55enTwo knightsMax Lange attack'{3 `y;{C55enTwo knights defense:zY H .D+]C55enTwo knights defense, Perreux variation:yY qq+jzn2C55enTwo knights defense, Keidanz variation'x3 yC55enTwo knights defenseAwg 4֪QzC55enTwo knights defense (Modern Bishop's Opening)1v%/`C55enGiuoco PianoHolzhausen attack u% K;9N9(C55enGiuoco Piano5t%7ǬZAC55enGiuoco PianoRosentreter variation's 3 @'Ӓ:C55enTwo knights defense7r%;>rC54enGiuoco PianoMoeller, bayonet attack9q%? z,C54enGiuoco PianoTherkatz-Herzog variation9p%?VDu+اC54enGiuoco PianoMoeller (Therkatz) attack2o%1) C54enGiuoco PianoSteinitz variation n% L6J1C54enGiuoco Piano0m%-P5TC54enGiuoco PianoAitken variation3l%3M9KC54enGiuoco PianoBernstein variation/k%+HHC54enGiuoco PianoGreco variation.j%)x!bC54enGiuoco PianoGreco's attack0i%-I`C54enGiuoco PianoCracow variation0h%-JcC54enGiuoco PianoKrause variation g % ikt9b:C54enGiuoco Piano3f%3[C53enGiuoco PianoAnderssen variation e% =TC53enGiuoco Piano7d%;RއC53enGiuoco PianoGhulam Kassim variation c% ^b"C53enGiuoco Piano-b%'1.cC53enGiuoco PianoBird's attack a% WxC53enGiuoco Piano2`%1~hC53enGiuoco PianoEisinger variation0_%- C;-C53enGiuoco PianoMestel variation2^%1GnC53enGiuoco PianoTarrasch variation8]%=~wu$C53enGiuoco Pianocentre-hOlding variation/\%+[FpWC53enGiuoco Pianoclose variation7[%;804C53enGiuoco PianoLabourdonnais variation Z % %N=C53enGiuoco Piano9Y%?2 qAC52enEvans gambitAlapin-Steinitz variation8X%=iC52enEvans gambitSanders-Alapin variation.W%)+D%1)޼C51enEvans gambitUlvestad variation0=%- ':$C51enEvans gambitnormal variation <% #z̞C51enEvans gambit(;5 ϐcC51enEvans counter-gambit;:[ <XeC51enEvans gambit declined, Cordel variation BSg- Y / x N  _ 5 Z ( d 4VQ]&X+~A}HMt+DG[.zrC67enRuy LopezOpen Berlin defense, l'Hermet variation;F I?w9ӈC67enRuy LopezBerlin defense, Open variationFE_k@ cAC66enRuy LopezClosed Berlin defense, Chigorin variationBDW/lټlVIC66enRuy LopezClosed Berlin defense, Wolf variationGCaβ/R>C66enRuy LopezClosed Berlin defense, Showalter variationGBaYB65C66enRuy LopezClosed Berlin defense, Bernstein variation:AGM2C66enRuy LopezBerlin defense, Tarrasch trap?@QC66enRuy LopezBerlin defense, hedgehog variation6? ?W2qf=C66enRuy LopezBerlin defense, 4.O-O, d6@>SÕ};i,C65enRuy LopezBerlin defense, Beverwijk variation2=7n9`tC65enRuy LopezBerlin defense, 4.O-O?<Q`L~6uRC65enRuy LopezBerlin defense, Kaufmann variation<;K 5C65enRuy LopezBerlin defense, Duras variation@:S-S C65enRuy LopezBerlin defense, Anderssen variation:9G%C65enRuy LopezBerlin defense, Mortimer trap?8QNC65enRuy LopezBerlin defense, Mortimer variation:7G0HvMC65enRuy LopezBerlin defense, Nyholm attack+6 )BTC65enRuy LopezBerlin defense*5'&C64enRuy LopezCordel gambit?4Q +irC64enRuy LopezClassical defense, Boden variationC3Yp/( C64enRuy LopezClassical defense, Charousek variationC2Y)o"C64enRuy LopezClassical defense, Benelux variation 41;bhU C64enRuy LopezClassical defense, 4.c3A0UP$ C64enRuy LopezClassical defense, Zaitsev variation7/ A2%C64enRuy LopezClassical (Cordel) defenseA.U$}AC63enRuy LopezSchliemann defense, Berger variation/- 1|8̟C63enRuy LopezSchliemann defenseG,a~(C62enRuy LopezOld Steinitz defense, Semi-Duras variationC+Y 'IwC62enRuy LopezOld Steinitz defense, Nimzovich attack1* 5ropC62enRuy LopezOld Steinitz defense>)Oo@C61enRuy LopezBird's defense, Paulsen variation+( )n@SC61enRuy LopezBird's defense='Mgpu2C60enRuy LopezCozio defense, Paulsen variation*&'u\ɞeC60enRuy LopezCozio defense@%S% |VC60enRuy LopezFianchetto (Smyslov/Barnes) defense-$-P|C60enRuy LopezBrentano defense1#5ѳ+@wC60enRuy LopezVinogradov variation+")_NBC60enRuy LopezLucena defense,!+\T+LC60enRuy LopezPollock defense0 3FpHbC60enRuy LopezNuernberg variation/ C KvrC60enRuy Lopez (Spanish Opening)9310TC59enTwo knights defenseSteinitz variation83/'{02C59enTwo knights defenseGoering variation73-搂xPC59enTwo knights defenseKnorre variation' 3 &3.`?C59enTwo knights defense'3 #xHC58enTwo knights defense;35يFC58enTwo knights defenseBlackburne variation73-0:3C58enTwo knights defenseColman variation63+.x:hC58enTwo knights defensePaoli variation;35wC58enTwo knights defenseBogolyubov variation'3 I[2| C58enTwo knights defense83/ኛr hC58enTwo knights defenseMaroczy variation:33&=VtC58enTwo knights defenseYankovich variation<37ODC58enTwo knights defenseKieseritsky variation' 3 Īq C58enTwo knights defenseH3OśsYcC57enTwo knights defenseFegatello attack, Polerio defenseL3WVWZAC57enTwo knights defenseFegatello attack, Leonhardt variation73-TdwC57enTwo knights defenseFegatello attack7 3-'mҾC57enTwo knights defensePincus variation3 3%,a.4C57enTwo knights defenseLolli attack> 3;i [%C57enTwo knights defenseFritz, Gruber variation6 3+c ^C57enTwo knights defenseFritz variation9 31JC57enTwo knights defenseUlvestad variationG3M_]C57enTwo knights defenseWilkes Barre (Traxler) variation' 3 B; C57enTwo knights defense63+'P2C56enTwo knights defenseCanal variation @|4p0 f 4 H  n 3 S % c ,]U O2F!P!9xB*'6<C80enRuy LopezOpen, 6.d4 b515nc-k)C80enRuy LopezOpen, Riga variation'!#V1+C77enRuy LopezAnderssen variation@uSC77enRuy LopezWormald attack, Gruenfeld variation4t;erƂuC77enRuy LopezWormald (Alapin) attackRswk1eC77enRuy LopezTreybal (Bayreuth) variation (Exchange var. deferred)>rOFYC77enRuy LopezFour knights (Tarrasch) variation+q ) ̻.}C77enRuy LopezMorphy defenseVp )%KUF8C76enRuy LopezModern Steinitz defense, Fianchetto (Bronstein) variationJog<ʭS_C75enRuy LopezModern Steinitz defense, Rubinstein variation4n ;FY1C75enRuy LopezModern Steinitz defense6m?C70enRuy LopezTaimanov (chase/wing/Accelerated counterthrust) variation+a)5B~ѷC70enRuy LopezGraz variation+`)C70enRuy LopezCaro variation7_AJshC70enRuy LopezClassical defense deferred6^?a*C70enRuy LopezAlapin's defense deferred4];/JC70enRuy LopezBird's defense deferred3\9uVC70enRuy LopezCozio defense deferred8[CASJC70enRuy LopezFianchetto defense deferredZ  aAoC70enRuy Lopez:YG5GީC69enRuy LopezExchange, Bronstein variation9XEL;[C69enRuy LopezExchange, Gligoric variation>WOwm TC69enRuy LopezExchange variation, Alapin gambit6V ?nְC69enRuy LopezExchange variation, 5.O-O;UIg}BrC68enRuy LopezExchange, Romanovsky variation6T?Ah\C68enRuy LopezExchange, Keres variation9SEvnBwC68enRuy LopezExchange, Alekhine variation/R 1˽3aC68enRuy LopezExchange variation@QS`S C67enRuy LopezBerlin defense, Rosenthal variation@PS[>v+C67enRuy LopezBerlin defense, Minckwitz variationAOUJ;GC67enRuy LopezBerlin defense, Trifunovic variation=NM.lwMC67enRuy LopezBerlin defense, Cordel variation;MIY XTC67enRuy LopezBerlin defense, Winawer attack@LS  $C67enRuy LopezBerlin defense, Pillsbury variation@KS GNC67enRuy LopezBerlin defense, Zukertort variationEJ]7&C67enRuy LopezBerlin defense, Rio de Janeiro variation9IE+|~R[C67enRuy LopezOpen Berlin defense, 5...Be7EH]q{LAC67enRuy LopezOpen Berlin defense, Showalter variation Ek3f9 > d & s <  g 9  k = i.\-PWq9 e,Td#6L?tc ИC96enRuy LopezClosed, Rossolimo defense-K -%o#CC96enRuy LopezClosed (8...Na5)>JOB4gC95enRuy LopezClosed, Breyer, Simagin variation?IQ" ǀC95enRuy LopezClosed, Breyer, Gligoric variation@HSݼ^DHC95enRuy LopezClosed, Breyer, Borisenko variation2G 7_%UHC95enRuy LopezClosed, Breyer, 10.d43F 9+j %eC94enRuy LopezClosed, Breyer defense4E ;p{y`C93enRuy LopezClosed, Smyslov defenseQDu0o^C92enRuy LopezClosed, Flohr-Zaitsev system (Lenzerheide variation)JCgyѻCx0C92enRuy LopezClosed, Ragozin-Petrosian (`Keres') variation6B??@ɦC92enRuy LopezClosed, Kholmov variation=AM,/C92enRuy LopezClosed, Keres (9...a5) variation)@ %C92enRuy LopezClosed, 9.h39?E;z[*C91enRuy LopezClosed, Bogolyubov variation)> %A =$uC91enRuy LopezClosed, 9.d45==>e[wC90enRuy LopezClosed, Suetin variation6<?Mi$EHC90enRuy LopezClosed, Lutikov variation5;=vhC90enRuy LopezClosed, Pilnik variation0: 3ht, 7C90enRuy LopezClosed (with ...d6)?9Q}ѓC89enRuy LopezMarshall, Herman Steiner variationC8Yz߅/CC89enRuy LopezMarshall, Main line, Spassky variation:7GR<'paC89enRuy LopezMarshall, Main line, 14...Qh396EB:Ϥ`BkC89enRuy LopezMarshall, Main line, 12.d2d475A|8ۗ.BC89enRuy LopezMarshall, Kevitz variation=4Mweo)C89enRuy LopezMarshall counter-attack, 11...c643 ;Ԥb|C89enRuy LopezMarshall counter-attack)2%QΙo@ZC88enRuy LopezClosed, 8.c371ALCC88enRuy LopezClosed, anti-Marshall 8.a4,0+'aZ.OC88enRuy LopezClosed, 7...O-O5/=,i C88enRuy LopezTrajkovic counter-attack,.+JEnC88enRuy LopezNoah's ark trap1-535&8C88enRuy LopezClosed, 7...d6, 8.d44,;`"vC88enRuy LopezClosed, Balla variation8+CKexC88enRuy LopezClosed, Leonhardt variation#* -F7C88enRuy LopezClosed7) A$m/3C87enRuy LopezClosed, Averbach variation7(A%C86enRuy LopezWorrall attack, solid line7'A5LC86enRuy LopezWorrall attack, sharp line+& )z4xC86enRuy LopezWorrall attackG% aJ0uC85enRuy LopezExchange variation doubly deferred (DERLD)L$kPrvijC84enRuy LopezClosed, Basque gambit (North Spanish variation)2#7\ڕk*tC84enRuy LopezClosed, centre attack+" )?zYC84enRuy LopezClosed defense4!;)e'S~C83enRuy LopezOpen, Breslau variation0 3Ni]}C83enRuy LopezOpen, Tarrasch trap27nZ|C83enRuy LopezOpen, 9...Be7, 10.Re139/ߎxf4C83enRuy LopezOpen, Malkin variation4 ;Tg C83enRuy LopezOpen, Classical defenseE]A禂VC82enRuy LopezOpen, Motzko attack, Nenarokov variation03C82enRuy LopezOpen, Motzko attack5=(-V؁C82enRuy LopezOpen, Dilworth variation;I YC82enRuy LopezOpen, St. Petersburg variation4;Sc;gMLC82enRuy LopezOpen, Italian variation39roUg~C82enRuy LopezOpen, Berlin variation' !'`;C82enRuy LopezOpen, 9.c3@SC81enRuy LopezOpen, Howell attack, Adam variationD[ ZC81enRuy LopezOpen, Howell attack, Ekstroem variation0 3P3K9C81enRuy LopezOpen, Howell attackE] A C80enRuy LopezOpen, Bernstein variation, Karpov gambit6?ggC80enRuy LopezOpen, Bernstein variation*' }C80enRuy LopezOpen, 8...Be66?Ye}̐+D0D00enLevitsky attack (Queen's Bishop attack)JWy ;A~D00enQueen's pawn, Mason variation, Steinitz counter-gambit1VG 0}'uD00enQueen's pawn, Mason variation%U / dD00enQueen's pawn game8T C4Q۾C99enRuy LopezClosed, Chigorin, 12...c5d4QOSڐ]C97enRuy LopezClosed, Chigorin, Yugoslav system5P =_JXJ}C97enRuy LopezClosed, Chigorin defense;OIc͙ C96enRuy LopezClosed, Keres (...Nd7) defense6N?SJhvC96enRuy LopezClosed, Borisenko defense-M-O%(>C96enRuy LopezClosed (10...c5) >}1` N  A h  } ? s 5r2_4v.WI ^c5m-=J;1PcިD31enQueen's Gambit declinedJanowski variation0I ;C&tD31enQueen's Gambit declined3.Nc3=H;1Ѕ,ъ?D30enQueen's Gambit declinedHastings variationEG;A(2"D30enQueen's Gambit declinedCapablanca-Duras variation;F;-sD30enQueen's Gambit declinedVienna variation?E;5:A-D30enQueen's Gambit declinedCapablanca variation+D; y7_D30enQueen's Gambit declined>C;37jԷPbD30enQueen's Gambit declinedSpielmann variationCBE32WYD30enQueen's Gambit declined SlavSemmering variation0AE )`B,wD30enQueen's Gambit declined Slav>@;3+~D30enQueen's Gambit declinedStonewall variation0?E 9w)D30enQueen's Gambit declined Slav+> ; 0D30enQueen's Gambit declinedG=;E>߹D29enQueen's gambit acceptedClassical, Smyslov variation=< ;1"AD29enQueen's gambit acceptedClassical, 8...Bb7E;;Aw~VD28enQueen's gambit acceptedClassical, Flohr variation<:;/[X k5hD28enQueen's gambit acceptedClassical, 7...b5;9 ;-;2D28enQueen's gambit acceptedClassical, 7.Qe2F8;CD27enQueen's gambit acceptedClassical, Geller variationJ7;KO[D27enQueen's gambit acceptedClassical, Rubinstein variation<6 ;/:܎AD27enQueen's gambit acceptedClassical, 6...a6H5;G $[D26enQueen's gambit acceptedClassical, Steinitz variationE4;ALYvD26enQueen's gambit acceptedClassical variation, 6.O-OF3;C}zmD26enQueen's gambit acceptedClassical, Furman variation>2;37%D26enQueen's gambit acceptedClassical variation11 ;U0sAD26enQueen's gambit accepted4...e6(05 !^5#K D25enQGA, Flohr variation2/I w5m3,{|D25enQGA, Janowsky-Larsen variation*.9 RZqXD25enQGA, Smyslov variation-  ukrD25enQGA, 4.e3-,? 5=D24enQGA, Bogolyubov variation+ ! #\CxnD24enQGA, 4.Nc3=*;1 oXD23enQueen's gambit acceptedMannheim variation+) ; OD23enQueen's gambit accepted>(;3vdD22enQueen's gambit acceptedHaberditz variationQ';Y24N1 D22enQueen's gambit acceptedAlekhine defense, Alatortsev variation;& ;-Q {CD22enQueen's gambit acceptedAlekhine defenseW%;e-D21enQueen's gambit acceptedAlekhine defense, Borisenko-Furman variation<$;/!SyD21enQueen's gambit acceptedEricson variation0# ;%F[!D21enQueen's gambit accepted3.Nf3;";-)VaߵJD20enQueen's gambit acceptedSchwartz defenseb A \  t z ) ;r5d|Iz7=\Uw.POCj)DVD44enQueen's Gambit declined Semi-SlavAnti-Meran, Szabo variationUOMr6n)D44enQueen's Gambit declined Semi-SlavAnti-Meran, Lilienthal variationF~O/wKwD44enQueen's Gambit declined Semi-SlavAnti-Meran gambitF}O/w_^<`D44enQueen's Gambit declined Semi-SlavEkstrom variationR|OG ]ED44enQueen's Gambit declined Semi-SlavBotvinnik system (anti-Meran)={ O R+OD44enQueen's Gambit declined Semi-Slav5.Bg5 dcGzO1Ѕ,ъ?D43enQueen's Gambit declined Semi-SlavHastings variation5y O WdD43enQueen's Gambit declined Semi-Slav?x ;5U=)}7D42enQueen's Gambit declinedSemi-Tarrasch, 7.Bd3@w;7]DlGD41enQueen's Gambit declinedSemi-Tarrasch with e3Qv;Y1^D41enQueen's Gambit declinedSemi-Tarrasch, San Sebastian variationIu;I#Q PD41enQueen's Gambit declinedSemi-Tarrasch, Kmoch variation>t ;3ov|qD41enQueen's Gambit declinedSemi-Tarrasch, 5.cdUs;ajD40enQueen's Gambit declinedSemi-Tarrasch defense, Pillsbury variationMr;QolZtiD40enQueen's Gambit declinedSemi-Tarrasch, Levenfish variationOq;U'OBD40enQueen's Gambit declinedSemi-Tarrasch, Symmetrical variation@p ;7a\8 D40enQueen's Gambit declinedSemi-Tarrasch defenseDo ;?Z01nD39enQueen's Gambit declinedRagozin, Vienna variationPD32enQueen's Gambit declinedTarrasch, von Hennig-Schara gambit;S ;-?- D32enQueen's Gambit declinedTarrasch defenseER;AQHD31enQueen's Gambit declinedSemi-Slav, Marshall gambitHQ;G\'05D31enQueen's Gambit declinedSemi-Slav, Abrahams variationEP;AlMD31enQueen's Gambit declinedSemi-Slav, Junge variationFO;CAll D31enQueen's Gambit declinedSemi-Slav, Koomen variationHN;G:O[zD31enQueen's Gambit declinedSemi-Slav, Noteboom variation4M;uD31enQueen's Gambit declinedSemi-SlavJL;KkD31enQueen's Gambit declinedCharousek (Petrosian) variation;K;-lΧD31enQueen's Gambit declinedAlapin variation 7~o&A b  O i  A M_,BJ g<&~G L~I7;Iy{D55enQueen's Gambit declinedPillsbury attack04 ;>LxD55enQueen's Gambit declined6.Nf3F3 ;CVu%*D54enQueen's Gambit declinedAnti-neo-Orthodox variation>2;3)ZQ8$qD53enQueen's Gambit declined4.Bg5 Be7, 5.e3 O-O;1;-CD53enQueen's Gambit declinedLasker variation40 ;=՘D53enQueen's Gambit declined4.Bg5 Be7X/;gtpC D52enQueen's Gambit declinedCambridge Springs defense, Yugoslav variationJ.;K^^VD52enQueen's Gambit declinedCambridge Springs defense, 7.cdZ-;k1)D52enQueen's Gambit declinedCambridge Springs defense, Capablanca variationZ,;k"D52enQueen's Gambit declinedCambridge Springs defense, Rubinstein variationY+;ia%KD52enQueen's Gambit declinedCambridge Springs defense, Argentine variationZ*;k1ʠ D52enQueen's Gambit declinedCambridge Springs defense, Bogoljubow variationD);? mJKD52enQueen's Gambit declinedCambridge Springs defense+( ; Mõ$kD52enQueen's Gambit declinedV';c];hHD51enQueen's Gambit declinedCapablanca anti-Cambridge Springs variation1&;YҬ D51enQueen's Gambit declined5...c6>%;3͜;3`D51enQueen's Gambit declinedManhattan variation+$; ݴ=BD51enQueen's Gambit declined=#;1$ =^jD51enQueen's Gambit declinedAlekhine variation<";/QGD51enQueen's Gambit declinedRochlin variation5! ;!QD51enQueen's Gambit declined4.Bg5 Nbd7C ;=9uD50enQueen's Gambit declinedCanal (Venice) variation8;'rHDZBJD50enQueen's Gambit declinedSemi-TarraschW;e{PD50enQueen's Gambit declinedSemi-Tarrasch, Primitive Pillsbury variationJ;Knl-9D50enQueen's Gambit declinedSemi-Tarrasch, Krause variation@;7|b\|tWD50enQueen's Gambit declinedBeen-Koomen variation0 ;3*D50enQueen's Gambit declined4.Bg5KO9PP:[,D49enQueen's Gambit declined Semi-SlavMeran, Rellstab attackKO9'D49enQueen's Gambit declined Semi-SlavMeran, Sozin variationOOAԙweD49enQueen's Gambit declined Semi-SlavMeran, Stahlberg variationKO9q40D49enQueen's Gambit declined Semi-SlavMeran, Sozin variationPOCgwD49enQueen's Gambit declined Semi-SlavMeran, Rabinovich variationP OC͹EwD49enQueen's Gambit declined Semi-SlavMeran, Blumenfeld variationIO5EiʀfD48enQueen's Gambit declined Semi-SlavMeran, Old Main lineOOA<0_D48enQueen's Gambit declined Semi-SlavMeran, ReynOlds' variation:O$ԦD48enQueen's Gambit declined Semi-SlavMeranJO7ɂCmD48enQueen's Gambit declined Semi-SlavMeran, Pirc variationB O'9/KjD48enQueen's Gambit declined Semi-SlavMeran, 8...a6JO7[_Xw-D47enQueen's Gambit declined Semi-SlavMeran, Wade variationQOE&ĵD47enQueen's Gambit declined Semi-Slavneo-Meran (Lundin variation)D O+%,$H"jD47enQueen's Gambit declined Semi-SlavMeran variation:  OE(N WD47enQueen's Gambit declined Semi-Slav7.Bc4E O-z.2[D46enQueen's Gambit declined Semi-SlavChigorin defenseD O+*]D46enQueen's Gambit declined Semi-SlavRomih variationI O5X0_CD46enQueen's Gambit declined Semi-SlavBogolyubov variation: OޔCMrD46enQueen's Gambit declined Semi-Slav6.Bd3SOIV=/zD45enQueen's Gambit declined Semi-SlavRubinstein (anti-Meran) systemEO-:fhD45enQueen's Gambit declined Semi-SlavStoltz variation<Oth D45enQueen's Gambit declined Semi-Slav5...Nd7[OYjhsD45enQueen's Gambit declined Semi-SlavAccelerated Meran (Alekhine variation)FO/C롁?D45enQueen's Gambit declined Semi-SlavStonewall defense9 OzO]D45enQueen's Gambit declined Semi-Slav5.e3ROG+Oi2D44enQueen's Gambit declined Semi-SlavAnti-Meran, Alatortsev system 7t8Q G  t $ u 0 / <vlMYOt?_%nB"n ޝUtD82enGruenfeld4.Bf4.m /s6/D81enGruenfeldRussian variation-l-lVD80enGruenfeldLundin variation0k3,|3D80enGruenfeldStockholm variation)j%`zX$aD80enGruenfeldSpike gambit%i / Ê{eD80enGruenfeld defense3h K Q.e죵D79enNeo-Gruenfeld, 6.O-O, Main line+g ; ,tQ<D78enNeo-Gruenfeld, 6.O-O c6(f 5 әD77enNeo-Gruenfeld, 6.O-O7e S Q\D76enNeo-Gruenfeld, 6.cd Nxd5, 7.O-O Nb6_dD68enQueen's Gambit declinedOrthodox defense, Classical, 13.d1c2 (Vidmar)YZ;iQ)6)D68enQueen's Gambit declinedOrthodox defense, Classical, 13.d1b1 (Maroczy)PY ;WFvUD68enQueen's Gambit declinedOrthodox defense, Classical variationMX;Q=S &D67enQueen's Gambit declinedOrthodox defense, Bd3 line, 11.O-OYW;iKqQ1w_D67enQueen's Gambit declinedOrthodox defense, Bd3 line, Alekhine variationEV;AUsv|wD67enQueen's Gambit declinedOrthodox defense, Bd3 lineYU;i> irYD67enQueen's Gambit declinedOrthodox defense, Bd3 line, Janowski variationbT ;{&3M D67enQueen's Gambit declinedOrthodox defense, Bd3 line, Capablanca freeing manoevre[S;m"ߗ"D66enQueen's Gambit declinedOrthodox defense, Bd3 line, Fianchetto variationER ;Ay1EaD66enQueen's Gambit declinedOrthodox defense, Bd3 lineYQ ;iA:D65enQueen's Gambit declinedOrthodox defense, Rubinstein attack, Main linecP;}NV0D64enQueen's Gambit declinedOrthodox defense, Rubinstein attack, Gruenfeld variationbO;{Og߭D64enQueen's Gambit declinedOrthodox defense, Rubinstein attack, Karlsbad variation^N;s-ڳD64enQueen's Gambit declinedOrthodox defense, Rubinstein attack, Wolf variationYM ;i%,JFD64enQueen's Gambit declinedOrthodox defense, Rubinstein attack (with Rc1);L;-,<1Xz`D63enQueen's Gambit declinedOrthodox defenseVK;cbcj,ED63enQueen's Gambit declinedOrthodox defense, Swiss, Karlsbad variationZJ;kl-QD63enQueen's Gambit declinedOrthodox defense, Swiss (Henneberger) variationQI;Yh YD63enQueen's Gambit declinedOrthodox defense, Capablanca variationMH;QePD63enQueen's Gambit declinedOrthodox defense, Pillsbury attackBG ;;F /©D63enQueen's Gambit declinedOrthodox defense, 7.Rc1XF ;gD62enQueen's Gambit declinedOrthodox defense, 7.Qc2 c5, 8.cd (Rubinstein)QE ;YpĴaD61enQueen's Gambit declinedOrthodox defense, Rubinstein variationMD;Q$e+UD60enQueen's Gambit declinedOrthodox defense, Rauzer variationPC;Wg1P?vD60enQueen's Gambit declinedOrthodox defense, Botvinnik variation;B ;-ƓD60enQueen's Gambit declinedOrthodox defense?A;5̽khD59enQueen's Gambit declinedTartakower variation_@ ;u6˺ŝD59enQueen's Gambit declinedTartakower (Makagonov-Bondarevsky) system, 8.cd Nxd5T? ;_Q/{֑D58enQueen's Gambit declinedTartakower (Makagonov-Bondarevsky) systemN>;S=kXD57enQueen's Gambit declinedLasker defense, Bernstein variationD= ;?lPD57enQueen's Gambit declinedLasker defense, Main lineL<;O8S!CD56enQueen's Gambit declinedLasker defense, Russian variationN;;S`Se/1D56enQueen's Gambit declinedLasker defense, Teichmann variation9: ;)N[D56enQueen's Gambit declinedLasker defenseH9;G:Fk({GD55enQueen's Gambit declinedNeo-Orthodox variation, 7.Bh4>8;3qi^9+D55enQueen's Gambit declinedPetrosian variation IE d* e * ^ ' h C  Z + l ; u9MuO+m;~CzR"Y*^#17)+I5E12enQueen's IndianMiles variation*6 9 Eg}E12enQueen's Indian defense85U peE11enBogo-Indian defense, Monticelli trap<4] glE11enBogo-Indian defense, Nimzovich variation<3] iHc2E11enBogo-Indian defense, Gruenfeld variation'2 3 0eҞE11enBogo-Indian defense!1' @;+ GE10enDoery defense,0= +'W~I2E10enDzindzikhashvili defenseB/i >6E10enBlumenfeld counter-gambit, Spielmann variationH.u z/1E10enBlumenfeld counter-gambit, Dus-Chotimursky variation6-Q CE10enBlumenfeld counter-gambit accepted-,? ŭLd=E10enBlumenfeld counter-gambit%+ / i E10enQueen's pawn game5*A+IyE09enCatalanClosed, Sokolsky variation,) /S-ŰE09enCatalanClosed, Main line1(9'lG:*E08enCatalanClosed, Spassky gambit+'-sSE08enCatalanClosed, Qc2 & b38&GxvEdE08enCatalanClosed, Zagoryansky variation(% 'GZ9˅E08enCatalanClosed, 7.Qc26$Cq<1N7E07enCatalanClosed, Botvinnik variation+# -^(+.E07enCatalanClosed, 6...Nbd7(" '`cb,(E06enCatalanClosed, 5.Nf3/! 5#fQ05E05enCatalanOpen, Classical line&  #7jE04enCatalanOpen, 5.Nf33='-E03enCatalanOpen, 5.Qa4 Nbd7, 6.Qxc43 =;ְE03enCatalanOpen, Alekhine variation& #>jRaE02enCatalanOpen, 5.Qa4! >ZzazE01enCatalanClosed#+ R[Xs%E00enCatalan Opening0E dApE00enNeo-Indian (Seirawan) attack% / "RE00enQueen's pawn game@/Cg=t&XsD99enGruenfeld defenseSmyslov, Yugoslav variation7 /1LSD99enGruenfeld defenseSmyslov, Main line5=^NiD98enGruenfeldRussian, Keres variation7 Ăꇰ@D98enGruenfeldRussian, Smyslov variation5==+"D97enGruenfeldRussian, Prins variation?Q OD97enGruenfeldRussian, Byrne (Simagin) variation9EvS 1D97enGruenfeldRussian, Levenfish variationCY3eBmD97enGruenfeldRussian, Szabo (Boleslavsky) variationD[s^J"FvD97enGruenfeldRussian, Alekhine (Hungarian) variation6 ?LD97enGruenfeldRussian variation with e4. / vjgD96enGruenfeldRussian variation. /fx)FD95enGruenfeldPachman variation0 3CYTBD95enGruenfeldBotvinnik variation+  ; 5.sD95enGruenfeld with e3 & Qb3* '5[<+mvD94enGruenfeldFlohr defense, +ۅjD94enGruenfeldSmyslov defense,= Zڤi3lPD94enGruenfeld with e3 Bd315&Z_~<'D94enGruenfeldOpovcensky variation03"pgD94enGruenfeldMakogonov variation! |{GD94enGruenfeld5.e3, = ԃJ7D@D93enGruenfeld with Bf4 e3" sLO%D92enGruenfeld5.Bf4" n?D91enGruenfeld5.Bg5,+z=D90enGruenfeldFlohr variation4;R_lD90enGruenfeldThree knights variation15z2}D90enGruenfeldSchlechter variation4~ ;xD90enGruenfeldThree knights variation9}E*a D89enGruenfeldExchange, Sokolsky variationA| U~i'TD89enGruenfeldSpassky variation, Main line, 13.Bd3I{ e'`"`sfD88enGruenfeldSpassky variation, Main line, 10...cd, 11.cd8zCLȨQD87enGruenfeldExchange, Seville variation8y CrXU#bՏD87enGruenfeldExchange, Spassky variationCxY?\oh{D86enGruenfeldExchange, Simagin's improved variationAwU@͝iiD86enGruenfeldExchange, Simagin's lesser variation7vAg6D86enGruenfeldExchange, Larsen variation:u G%W:D86enGruenfeldExchange, Classical variation6t?2+|D85enGruenfeldModern Exchange variation/s 1RN?lD85enGruenfeldExchange variation6r ?q]D84enGruenfeldGruenfeld gambit acceptedBqWV[VD83enGruenfeldGruenfeld gambit, Botvinnik variationCpYp|'qD83enGruenfeldGruenfeld gambit, Capablanca variation-o -_5%}D83enGruenfeldGruenfeld gambit Db-S& ~ J  o 6  e 3  = I Rk-Lo3v2jmF k7A{ %O #LE45enNimzo-Indian4.e3, Bronstein (Byrne) variation8z %=‚qm'E44enNimzo-IndianFischer variation, 5.Ne21y %/&TFE43enNimzo-IndianFischer variation;x %CO%oE42enNimzo-Indian4.e3 c5, 5.Ne2 (Rubinstein)5w%7- UE41enNimzo-Indiane3, Huebner variation'v %[>ꣂb?E41enNimzo-Indian4.e3 c58u%= MTAE40enNimzo-Indian4.e3, Taimanov variation$t %OD\iBE40enNimzo-Indian4.e39s %?2A"NhxE39enNimzo-IndianClassical, Pirc variation1r %/G 2E E38enNimzo-IndianClassical, 4...c5=q%GPqE37enNimzo-IndianClassical, San Remo variationJp %aIɟѻE37enNimzo-IndianClassical, Noa variation, Main line, 7.Qc2Co%S WZSE36enNimzo-IndianClassical, Noa variation, Main line>n%IO'>0E36enNimzo-IndianClassical, Botvinnik variation>m %IٿE36enNimzo-IndianClassical, Noa variation, 5.a3Al %O/NGrE35enNimzo-IndianClassical, Noa variation, 5.cd ed8k %=$E34enNimzo-IndianClassical, Noa variationJj%aHACPE33enNimzo-IndianClassical, Milner-Barry (Zurich) variation2i %1 ; {xE33enNimzo-IndianClassical, 4...Nc69h%?ds3dE32enNimzo-IndianClassical, Adorjan gambit3g %3{jL݂E32enNimzo-IndianClassical variation4f %5{cE31enNimzo-IndianLeningrad, Main line7e%;"=QqE30enNimzo-IndianLeningrad, ...b5 gambit3d %38:.E30enNimzo-IndianLeningrad variation>c%Iz E29enNimzo-IndianSaemisch, Capablanca variation3b %3 b߮E29enNimzo-IndianSaemisch, Main line2a %1p4E28enNimzo-IndianSaemisch variation2` %1\PTk;E27enNimzo-IndianSaemisch variation;_%C'k뤩E26enNimzo-IndianSaemisch, O'Kelly variation2^ %1N"Z*Q5E26enNimzo-IndianSaemisch variation>]%I 5E25enNimzo-IndianSaemisch, Romanovsky variation9\%?Rg<\&E25enNimzo-IndianSaemisch, Keres variation2[ %1?lE25enNimzo-IndianSaemisch variation=Z%GFE24enNimzo-IndianSaemisch, Botvinnik variation2Y %12E24enNimzo-IndianSaemisch variation?X%KbkE23enNimzo-IndianSpielmann, Staahlberg variation=W%G 鵽YE23enNimzo-IndianSpielmann, San Remo variation=V%G95WE23enNimzo-IndianSpielmann, Karlsbad variation;U %C@kE23enNimzo-IndianSpielmann, 4...c5, 5.dc Nc63T %3*2NMIE22enNimzo-IndianSpielmann variation=S%GwbTE21enNimzo-IndianThree knights, Euwe variationAR%OvE21enNimzo-IndianThree knights, Korchnoi variation7Q %;}|E21enNimzo-IndianThree knights variationDP%U<*M9E20enNimzo-IndianRomanishin-Kasparov (Steiner) system.O%)=:pE20enNimzo-IndianMikenas attack/N%+~wPE20enNimzo-IndianKmoch variation(M 5 bxE20enNimzo-Indian defense7L )7) FE19enQueen's IndianOld Main line, 9.Qxc36K )5 haE18enQueen's IndianOld Main line, 7.Nc30J))W4'fE17enQueen's IndianEuwe variation6I)5цڥE17enQueen's IndianOld Main line, 6.O-O6H)5GkE17enQueen's IndianOpovcensky variation )_=E15enQueen's Indian4.g34=)1(9E14enQueen's IndianAverbakh variation&< )?CE14enQueen's Indian4.e32; )-HM(E13enQueen's Indian4.Nc3, Main line<:)AFZGJE12enQueen's Indian4.Nc3, Botvinnik variation'9)i.]bE12enQueen's Indian4.Nc328)-Y%t.E12enQueen's IndianPetrosian system Ck9Q e  C  { I  \ 4 V Iw8>Y~UJb](F> 'WwUE82enKing's IndianSaemisch, double Fianchetto variation:='? p϶E81enKing's IndianSaemisch, Byrne variation2< '/oE81enKing's IndianSaemisch, 5...O-O3; '1eP42aE80enKing's IndianSaemisch variation=: 'ERUx4]E79enKing's IndianFour pawns attack, Main lineD9 'S3E78enKing's IndianFour pawns attack, with Be2 and Nf3E8'U دEW1E77enKing's IndianFour pawns attack, Florentine gambit27'/~`|I7E77enKing's IndianFour pawns attack16'-D.[|iE77enKing's IndianSix pawns attack95 '=F_E77enKing's IndianFour pawns attack, 6.Be2@4'K{BP0'GPwCQtE62enKing's IndianFianchetto, Simagin variationO'iѽhVE62enKing's IndianFianchetto, lesser Simagin (Spassky) variationF'WE62enKing's IndianFianchetto, Uhlmann (Szabo) variation7'9,ѳx넎E62enKing's IndianFianchetto with ...Nc6J'_@h;E62enKing's IndianFianchetto, Kavalek (Bronstein) variation:'?*eլ E62enKing's IndianFianchetto, Larsen system5 '58dE62enKing's IndianFianchetto variation/')IE61enKing's IndianSmyslov system0 E FYP+E61enKing's Indian defense, 3.Nc3>'GƦX,E60enKing's Indian3.g3, counterthrust variation%'yrqE46enNimzo-IndianSimagin variation3}%3C󉜀E46enNimzo-Indian4.e3 O-O ?QW d 0 e . y : K  Y 5d7 W0WFH H9} W ,iؒ\A30esApertura inglesa, variante simétricaS|  vt0pA29esApertura inglesa, cuatro caballos, fianchetto en flanco de reyD{ m 5A28esApertura inglesa, sistema de los cuatro caballosBz i ~-}JA27esApertura inglesa, sistema de los tres caballos5y O GbS#nA26esApertura inglesa, sistema cerrado9x W 6wA25esApertura inglesa, Siciliana invertida?w c %K;2;&A24esApertura inglesa, sistema Bremen con 3...g6Dv m ^{>tgaA23esApertura inglesa, sistema Bremen, variante Keres$u - -!clA22esApertura inglesa$t - -tA21esApertura inglesa$s - @`v{A20esApertura inglesa>r a >` 6cA19esInglesa, Mikenas-Carls, variante Siciliana3q K $A18esInglesa, variante Mikenas-Carls3p K Z"A17esApertura inglesa, Defensa Erizo$o - ja%k:A16esApertura inglesa:n Y =d A15esInglesa, 1...Cf6 (Defensa Anglo-India)9m W J ބA14esInglesa, declinada hacia Neo-Catalana$l - o MA13esApertura inglesa8k U Je VA12esInglesa, sistema defensivo Caro-Kann8j U Xb"^ A11esInglesa, sistema defensivo Caro-Kann$i -  Gԏ3A03esApertura Bird, 1...d5!a ' -A02esApertura Bird#` + ʝLA01esApertura Larsen+_ 9 㴰'A00esAperturas irregulares (incluye Apertura Anderssen, Apertura Amar, Apertura Barnes, Apertura Benko, Apertura Clemenz, Apertura Desprez, Apertura Dunst , Apertura Durkin, Ataque Grob, Apertura Mieses, Apertura Saragossa, Apertura Sokolsky, Apertura Van 't Kruijs, y Apertura Ware)H^'[{r0E99enKing's IndianOrthodox, Aronin-Taimanov, Benko attackE] 'UXݵE99enKing's IndianOrthodox, Aronin-Taimanov, Main lineA\ 'M+)}E98enKing's IndianOrthodox, Aronin-Taimanov, 9.Ne1J['_Xȏt!(E97enKing's IndianOrthodox, Aronin-Taimanov, bayonet attackqZ '+M!bP@E97enKing's IndianOrthodox, Aronin-Taimanov variation (Yugoslav attack / Mar del Plata variation)>Y 'G³&E96enKing's IndianOrthodox, 7...Nbd7, Main line:X '?{E95enKing's IndianOrthodox, 7...Nbd7, 8.Re13W'1nCu![E94enKing's IndianOrthodox, 7...Nbd7;V'A,3&E94enKing's IndianOrthodox, Donner variation3U '1]CE94enKing's IndianOrthodox variationBT'O&E93enKing's IndianPetrosian system, Keres variationMĎUE93enKing's IndianPetrosian system, Main lineBR'OǃeGE92enKing's IndianPetrosian system, Stein variation1Q'-6$&E92enKing's IndianPetrosian system9P'=P<:5E92enKing's IndianGligoric-Taimanov system4O'3H5#E92enKing's IndianAndersson variation4N '3#u.SE92enKing's IndianClassical variation1M'---JE91enKing's IndianKazakh variation&L '}.eE91enKing's Indian6.Be24K'3wrJGE90enKing's IndianZinnowitz variation1J'-%EHE90enKing's IndianLarsen variation&I 'Ѕu-E90enKing's Indian5.Nf3=H 'E.E89enKing's IndianSaemisch, Orthodox Main lineD 'GVA/wE86enKing's IndianSaemisch, Orthodox, 7.Nge2 c6=C 'EG%32E85enKing's IndianSaemisch, Orthodox variation:B '?i/1E84enKing's IndianSaemisch, Panno Main line:A'?qNLY%E83enKing's IndianSaemisch, Panno formation:@'?;ע RE83enKing's IndianSaemisch, Ruban variation2? '/wGE83enKing's IndianSaemisch, 6...Nc6 EMT!U l . ^ .  D  O *  e /R"h:i9pHV&W/m:M=B _ !uA99esHolandesa, variante Ilyin-Genevsky con b3>A a  gشA98esHolandesa, variante Ilyin-Genevsky con Dc26@ Q bA97esHolandesa, variante Ilyin-Genevsky0? E  ;0A96esHolandesa, variante clásica0> E x?4,fA95esHolandesa, Stonewall con Cc30= E iRLA94esHolandesa, Stonewall con Aa3<< ] tU-\A93esHolandesa, Stonewall, variante Botvinnik%; / lY)A92esDefensa holandesa%: / ;m(*A91esDefensa holandesa%9 / /=A90esDefensa holandesaD8 m ˮr@A89esHolandesa, Leningrad, variante principal con Cc6F7 q \rA88esHolandesa, Leningrad, varante principal con 7...c6<6 ] n1. A87esHolandesa, Leningrad, variante principal-5 ? JϻΩA86esHolandesa con 2.c4 y 3.g3.4 A ;;lXǔHA85esHolandesa con 2.c4 y 3.Cc3%3 / B@WA84esDefensa holandesaB2 i wVfFA83esHolandesa, gambito Staunton, variante StauntonQ1  fcRPA A82esHolandesa, gambito Staunton, incluye también Defensa Balogh%0 / ;djY$8A81esDefensa holandesa%/ / a+A80esDefensa holandesa+. ; -5JB|A79esBenoni, clásica, 11.f38- U C{ eA78esBenoni, clásica con ...Te8 y ...Ca65, O xdA77esBenoni, clásica, 9...Te8, 10.Cd2-+ ? й N1SA76esBenoni, clásica, 9...Te88* U waaY)A75esBenoni, clásica con...a6 y 10...Ag43) K u֫SA74esBenoni, clásica, 9...a6, 10.a4+( ; $L>A73esBenoni, clásica, 9.O-O/' C _xA72esBenoni, clásica sint 9.O-O+& ; f;wAA71esBenoni, clásica, 8.Bg51% G { g#A70esBenoni, clásica con e4 y Cf3I$ w S5,A69esBenoni, ataque de los cuatro peones, línea principal7# S < yxA68esBenoni, ataque de los cuatro peones-" ? qb(RcA67esBenoni, variante Taimanov7! S ]{{;A66esBenoni, variante tormenta de peones  % Iٳ-ԟUA65esBenoni, 6.e4= _ ך$Iw8A64esBenoni, variante del Fianchetto, 11...Te8= _ њI3 A63esBenoni, variante del Fianchetto, 9...Cbd73 K IR)A62esBenoni, variante del Fianchetto" ) ,v)A61esDefensa Benoni" ) ~r6=A60esDefensa Benoni' 3 BivA59esGambito Benko, 7.e4* 9 9qP>A58esGambito Benko aceptado! ' haRA57esGambito Benko" ) 02A56esDefensa Benoni3 K 0 96A55esIndia antigua, línea principal6 Q jA54esIndia antigua, variante ucrainiana) 7 my;r"A53esDefensa india antigua$ -  7eA52esGambito Budapest0 E ޻)zHyA51esGambito Budapest no aceptadoK { Tc;OA50esApertura de peón de dama, Tango de los caballos negros3 K ։YA49esIndia de rey, fianchetto sin c47 S 02c>A48esIndia de rey, Defensa india de este) 7 h(fAA44esOld Benoni defence&  1 ehڣA43esOld Benoni defenceK  { P?UA42esDefensa moderna, sistema Averbakh también Defensa Wade; [ / A41esApertura de peón de dama, Defensa Wade  XA40esApertura de peón de dama (incluyendo Defensa inglesa, Gambito Englund, Defensa del caballo de dama, Defensa polaca y Defensa Keres)I w o))'A39esApertura inglesa, simétrica, línea principal con d40 E <6D7A38esApertura inglesa, simétrica0 E giqCB55esSiciliana, Prins variation, Venice attacky  {,ĴB54esSiciliana1x G a2dB53esSiciliana, variante Chekhover=w _ W! B52esSiciliana, ataque Canal-Sokolsky, 3...Ad74v M M\8B51esSiciliana, ataque Canal-Sokolskyu  0ibB50esSiciliana0t E |יB49esSiciliana, variante Taimanov0s E v1{B48esSiciliana, variante TaimanovWB42esSiciliana, Kan, 5.Ad3+l ; m辕B41esSiciliana, variante Kan%k / ^T9rB40esDefensa sicilianaLj } r<&4B39esDefensa siciliana, fianchetto acelerado, variante BreyerUi  OX DбB38esDefensa siciliana, fianchetto acelerado, variante Maroczy, 6.Ae3Wh  a3B36esDefensa siciliana, fianchetto acelerado, variante MaróczyVf  V@B35esDefensa siciliana, fianchetto acelerado, variante moderna con Ac4Qe  LMY, B34esDefensa siciliana, fianchetto acelerado, variante del cambioCd k ݫB33esSiciliana, variante Sveshnikov (Lasker-Pelikan)%c / Q@j裗B32esDefensa sicilianaQb  ήe:B31esSiciliana, ataque Nimzovich-Rossolimo (con ...g6, sin ...d6)%a / ~{!B30esDefensa siciliana<` ] ǒJj@B29esSiciliana, variante Nimzovich-Rubinstein/_ C mW B28esSiciliana, variante O'Kelly%^ / )j+B27esDefensa siciliana-] ? ?7ݦB26esSiciliana, cerrada, 6.Ae3&\ 1 c7)j?(B25esSiciliana, cerrada&[ 1 11 B24esSiciliana, cerrada&Z 1 R\2B23esSiciliana, cerrada=Y _ f&EmB22esDefensa siciliana, variante Alapin (2.c3)gX 1 [7wbB21esSiciliana, ataque Grand Prix y Gambito Smith-Morra, incluyendo la Trampa Siberiana%W / dMJVJB20esDefensa siciliana0V E AǹpB19esCaro-Kann, clásica, 7...Cd70U E J߫[B18esCaro-Kann, variante clásica0T E %B17esCaro-Kann, variante Steinitz8S U >ϕEulB16esCaro-Kann, variante Bronstein-Larsen%R / c.sB15esDefensa Caro-Kann JC28esApertura vienesaCB k v9E / k'2FoC23esApertura de alfil'= 3 UyFC22esApertura del centroC< k V2FC21esApertura del centro (incluyendo Gambito danés);  DnC20esApertura de peón de rey (incluye Apertura Alapín, Apertura López, Apertura Napoleón, Apertura portuguesa y Ataque Parham)6: Q NXCmC19esFrancesa, Winawer, avance, 6...Ce7:9 Y 9HC18esFrancesa, Winawer, variante del avance:8 Y (bBC17esFrancesa, Winawer, variante del avance:7 Y %?C16esFrancesa, Winawer, variante del avance:6 Y {;[C15esFrancesa, variante Winawer (Nimzovich)/5 C -@euC14esFrancesa, variante clásica/4 C lQ}C13esFrancesa, variante clásica23 I vvKbC12esFrancesa, variante MacCutcheon$2 - mH6qC11esDefensa francesa.1 A O|}0yC10esFrancesa, variante PaulsenJ0 y cIꎴ)WC09esFrancesa, Tarrasch, variante abierta, línea principal&֟B77esSiciliana, Dragón, ataque Yugoslavo, 9.Ac4A g L {޽3B76esSiciliana, Dragón, ataque Yugoslavo, 7...O-O8 U @B75esSiciliana, Dragón, ataque Yugoslavo7  S ɔH'.B74esSiciliana, Dragón, clásica, 9.Cb37  S WM!iB73esSiciliana, Dragón, clásica, 8.O-O-  ? AUB69esSiciliana, Richter-Rauzer, ataque Rauzer, defensa 7...a6, 11.Axf6V  Lo> B68esSiciliana, Richter-Rauzer, ataque Rauzer, defensa 7...a6, 9...Ae7V  aB67esSiciliana, Richter-Rauzer, ataque Rauzer, defensa 7...a6, 8...Ad7D m :ze5|B66esSiciliana, Richter-Rauzer, ataque Rauzer, 7...a6 <sER t | = \  q ) v R nTc'sSi/iBUp4 1 G ht, 7C90esEspañola, cerrada (con...d6)4 M Ԥb|C89esEspañola, Contraataque Marshall& 1 -F7C88esEspañola, cerrada9~ W $m/3C87esEspañola, cerrada, variante Averbach-} ? z4xC86esEspañola, Ataque WorrallF| q J0uC85esEspañola, variante del cambio doblemente diferido.{ A ?zYC84esEspañola, Defensa cerrada8z U Tg C83esEspañola, abierta, Defensa clásica,y = '`;C82esEspañola, abierta, 9.c35x O P3K9C81esEspañola, abierta, Ataque Howell9w W 0ȉR~C80esEspañola, Defensa abierta (Tarrasch)Gv s b0C79esEspañola, Defensa Steinitz diferida (Defensa Rusa)$u - |аHmC78esEspañola, 5.O-O-t ? ̻.}C77esEspañola, Defensa MorphyYs  )%KUF8C76esEspañola, Defensa Steinitz moderna, variante fianchetto (Bronstein)7r S FY1C75esEspañola, Defensa Steinitz moderna7q S 燧cI)C74esEspañola, Defensa Steinitz modernaIp w LMC73esEspañola, Defensa Steinitz moderna, variante Richter=o _ ($DC72esEspañola, Defensa Steinitz moderna 5.0-0[n  ]_p9&C71esEspañola, Defensa Steinitz moderna incluyendo Celada del Arca de Noém  aAoC70esEspañola9l W nְC69esEspañola, variante del cambio, 5.O-O2k I ˽3aC68esEspañola, variante del cambio@j e ?w9ӈC67esEspañola, Defensa Berlín, variante abierta9i W W2qf=C66esEspañola, Defensa Berlín, 4.O-O, d6Ih w BTC65esEspañola, Defensa Berlín incluyendo Celada Mortimer8g U 2%C64esEspañola, Defensa clásica (Cordel)1f G |8̟C63esEspañola, Defensa Schliemann3e K ropC62esEspañola, Defensa Old Steinitz+d ; n@SC61esEspañola, Defensa Bird3c K KvrC60esApertura española (Ruy López)/b C &3.`?C59esDefensa de los dos caballos/a C Īq C58esDefensa de los dos caballosO`  B; C57esDefensa de los dos caballos, incluyendo Ataque Fried Liver/_ C 7=C56esDefensa de los dos caballos/^ C @'Ӓ:C55esDefensa de los dos caballos ] % ikt9b:C54esGiuoco Piano \ % %N=C53esGiuoco Piano7[ S v:ĉ C52esGambito Evans con 4...Axb4 5.c3 Aa5!Z ' "SD-C51esGambito Evans/Y A ~&?8C50esApertura de peón de rey (incluyendo Gambito Blackburne Shilling, Defensa Húngara, Gambito Italiano, Celada Légal, Gambito Rousseau y Giuoco Pianissimo)EX o "+3VpC49esApertura de los cuatro caballos, Doble Ruy LópezGW s jZ-RC48esApertura de los cuatro caballos, variante españolaFV q iRC47esApertura de los cuatro caballos, variante escocesaUU  ZaGC46esApertura de los tres caballos incluyendo Gambito Müller-Schulze%T / A{C45esApertura escocesa5S M xͧ}C44esApertura de peón de rey (incluyendo Apertura Ponziani, Apertura húngara invertida, Gambito irlandés, Apertura Konstantinopolsky y parte de Apertura escocesa)Q a K C42esDefensa Petrov, incluyendo Celada Marshall$P - jC41esDefensa Philidor O { ؝C40esApertura de caballo (incluyendo defensa Gunderam, defensa Greco, defensa Damiano , gambito elefante, y gambito letón.)oN A \Td4C39esGambito de rey aceptado, gambito Allagier y gambito Kiesertisky incluyendo el Gambito Rice+M ; A! a Q {CD22esGambito de dama aceptado, Defensa Alekhine3  K %F[!D21esGambito de dama aceptado, 3.Cf3, = XA=D20esGambito de dama aceptadoI w N8D19esGambito de dama declinado, Eslava, variante HolandesaI w E.2D18esGambito de dama declinado, Eslava, variante HolandesaD m Y wD17esGambito de dama declinado, Eslava, Defensa ChecaP  n~D16esGambito de dama declinado, Eslava Aceptada, variante Alapin< ] c )̨E6D15esGambito de dama declinado, Eslava, 4.Cc3V  J |D14esGambito de dama declinado, Eslava, variante del cambio, 6.Af4 Af5J y hHD13esGambito de dama declinado, Eslava, variante del cambio? c RFD12esGambito de dama declinado, Eslava, 4.e3 Af5< ] YǥyD11esGambito de dama declinado, Eslava, 3.Cf3= _ =mCDD10esGambito de dama declinado, Defensa EslavaH u "MXD09esGambito de dama declinado, Contragambito Albin, 5.g3S  ? KfD08esGambito de dama declinado, Contragambito Albin y Celada Lasker@ e !`D07esGambito de dama declinado, variante Chigorinv O G؃4D06esGambito de dama declinado (incluyendo la Defensa Báltica, Defensa Marshall y Defensa Simétrica)]  ]&bD05esApertura de peón de dama, variante Zukertort (incluyendo Sistema Colle)- ? +z7D04esApertura de peón de dama5 O @dD03esAtaque Torre, variante TartakowerU   wPjD02esApertura Grünfeld invertida (Apertura de peón de dama, 2. Cf3)$  - `GDD01esApertura Veresovk  9 dD00esApertura de peón de dama (incluyendo Gambito Blackmar-Diemer, Celada Halosar y otras);  [ 4Q۾C99esEspañola, cerrada, Chigorin, 12...c5d4:  Y o@GC98esEspañola, cerrada, Chigorin, 12...Cc68 U _JXJ}C97esEspañola, cerrada, Defensa Chigorin/ C %o#CC96esEspañola, cerrada, 8...Ca55 O _%UHC95esEspañola, cerrada, Breyer, 10.d46 Q +j %eC94esEspañola, cerrada, Defensa Breyer7 S p{y`C93esEspañola, cerrada, Defensa Smyslov, = C92esEspañola, cerrada, 9.h3, = A =$uC91esEspañola, cerrada, 9.d4 ?^.p0  ~  u / W -PX)t9^&n; YG~O){ 7 Eg}E12esDefensa india de dama&z 1 0eҞE11esDefensa Bogo-India+y ; i E10esQueen's Pawn Game 3.Cf37x S S-ŰE09esCatalana, cerrada, línea principal,w = GZ9˅E08esCatalana, cerrada, 7.Dc2/v C ^(+.E07esCatalana, cerrada, 6...Cbd7,u = `cb,(E06esCatalana, cerrada, 5.Cf36t Q #fQ05E05esCatalana, abierta, línea clásica,s = 7jE04esCatalana, abierta, 5.Cf38r U ;ְE03esCatalana, abierta, variante Alekhine,q = >jRaE02esCatalana, abierta, 5.Da4%p / >ZzazE01esCatalana, cerrada}o ] "RE00esApertura de peón de dama (incluyendo Ataque NeoIndio, Ataque Trompowski, Apertura Catalana entre otros)@n e LSD99esDefensa Grünfeld, Smyslov, línea principal5m O ̆ꇰ@D98esGrünfeld, Rusa, variante Smyslov5l O LD97esGrünfeld, variante Rusa con 7.e4,k = vjgD96esGrünfeld, variante Rusa0j E 5.sD95esGrünfeld con 5.e3 O-O 6.Db3#i + |{GD94esGrünfeld, 5.e30h E ԃJ7D@D93esGrünfeld con 5.Af4 O-O 6.e3$g - sLO%D92esGrünfeld, 5.Af45f O n?D91esGrünfeld, variante tres caballos5e O xD90esGrünfeld, variante tres caballosId w ~i'TD89esGrünfeld, variante Spassky, línea principal, 13.Ad3Rc  '`"`sfD88esGrünfeld, variante Spassky, línea principal, 10...cd, 11.cd7b S rXU#bՏD87esGrünfeld, cambio, variante Spassky8a U %W:D86esGrünfeld, cambio, variante clásica2` I RN?lD85esGrünfeld, variante del cambio._ A q]D84esGambito Grünfeld aceptado%^ / _5%}D83esGambito Grünfeld$] - ޝUtD82esGrünfeld, 4.Af4,\ = s6/D81esGrünfeld, variante Rusa%[ / Ê{eD80esDefensa Grünfeld:Z Y Q.e죵D79esNeo-Grünfeld, 6.O-O, línea principal+Y ; ,tQ<D78esNeo-Grünfeld, 6.O-O c6(X 5 әD77esNeo-Grünfeld, 6.O-O7W S Q\D76esNeo-Grünfeld, 6.cd Cxd5, 7.O-O Cb6=V _ 2,_ID75esNeo-Grünfeld, 6.cd Cxd5, 7.O-O c5, 8.Cc33U K /]SvND74esNeo-Grünfeld, 6.cd Cxd5, 7.O-O(T 5 *P0mMD73esNeo-Grünfeld, 5.Cf39S W yKNN2D72esNeo-Grünfeld, 5.cd, línea principal'R 3 s'&E%D71esNeo-Grünfeld, 5.cd)Q 7 V<SD70esDefensa Neo-GrünfeldSP  g1wפkD69esGambito de dama declinado, Defensa Ortodoxa, clásica, 13.dxe5SO  FvUD68esGambito de dama declinado, Defensa Ortodoxa, variante clásicaoN A &3M D67esGambito de dama declinado, Defensa Ortodoxa, línea Ad3, Maniobra Liberadora de CapablancaiM 5 y1EaD66esGambito de dama declinado, Defensa Ortodoxa, línea Ad3 incluyendo Celada RubinsteineL - A:D65esGambito de dama declinado, Defensa Ortodoxa, Ataque Rubinstein, línea principal]K  %,JFD64esGambito de dama declinado, Defensa Ortodoxa, Ataque Rubinstein (con Tc1)FJ q F /©D63esGambito de dama declinado, Defensa Ortodoxa, 7.Tc1]I  D62esGambito de dama declinado, Defensa Ortodoxa, 7.Dc2 c5, 8.cd (Rubinstein)UH  pĴaD61esGambito de dama declinado, Defensa Ortodoxa, variante Rubinstein?G c ƓD60esGambito de dama declinado, Defensa OrtodoxaeF - 6˺ŝD59esGambito de dama declinado, Sistema Tartakower (Makagonov-Bondarevsky), 8.cd Cxd5ZE  Q/{֑D58esGambito de dama declinado, Sistema Tartakower (Makagonov-Bondarevsky)PD  lPD57esGambito de dama declinado, Defensa Lasker, línea principal=C _ N[D56esGambito de dama declinado, Defensa Lasker4B M >LxD55esGambito de dama declinado, 6.Cf3IA w Vu%*D54esGambito de dama declinado, variante Anti-Neo-Ortodoxa8@ U =՘D53esGambito de dama declinado, 4.Ag5 Ae7-? ? Mõ$kD52esGambito de dama declinadoh> 3 QD51esGambito de dama declinado, 4.Ag5 Cbd7 (Defensa Cambridge Springs y Celada Elefante)4= M 3*D50esGambito de dama declinado, 4.Ag5 Au; m, > u . z <  { ' e &rFc*]o(Ub(c&YL< } F_E77esDefensa India de Rey, Ataque de los cuatro peones, 6.Ae2E; o )E76esDefensa India de Rey, Ataque de los cuatro peones<: ] aE75esIndia de Rey, Averbakh, línea principal29 I R gE74esIndia de Rey, Averbakh, 6...c5'8 3 xa|Z^E73esIndia de Rey, 5.Ae2,7 = 'DDr(E72esIndia de Rey con e4 & g3:6 Y "PE71esIndia de Rey, sistema Makagonov (5.h3)&5 1 2[id@]}E70esIndia de Rey, 4.e4Q4  \^ 8'H$E69esIndia de Rey, Fianchetto, variante Clásica línea principalE3 o n[DRmE68esIndia de Rey, Fianchetto, variante Clásica, 8.e472 S mAE67esIndia de Rey, Fianchetto con ...Cd7<1 ] Zby¾E66esIndia de Rey, Fianchetto, Yugoslav Panno10 G 8E65esIndia de Rey, Yugoslav, 7.O-O>/ a aM=*E64esIndia de Rey, Fianchetto, sistema Yugoslav<. ] S98BE63esIndia de Rey, Fianchetto, variante Panno9- W 8dE62esIndia de Rey, variante del Fianchetto/, C FYP+E61esDefensa India de Rey, 3.Cc3(+ 5 wA8"E60esDefensa India de Rey7* S BƍE59esNimzo-India, 4.e3, Línea principalD) m .}/+E58esNimzo-India, 4.e3, Línea principal con 8...Axc3W(  3E57esNimzo-India, 4.e3, Línea principal con 8...dxc4 and 9...Axc4 cxd4C' k # E56esNimzo-India, 4.e3, Línea principal con 7...Cc6K& { -J?HE55esNimzo-India, 4.e3, sistema Gligoric, variante BronsteinB% i \pPE54esNimzo-India, 4.e3, sistema Gligoric con 7...dcA$ g ZifE53esNimzo-India, 4.e3, Línea principal con ...c5A# g ׍ZE52esNimzo-India, 4.e3, Línea principal con ...b66" Q }E51esNimzo-India, 4.e3 e8g8, 5.Cf3 d7d5󉜀E46esNimzo-India, 4.e3 O-OB i #LE45esNimzo-India, 4.e3, Bronstein (Byrne) variation8 U ‚qm'E44esNimzo-India, variante Fischer, 5.Ce21 G &TFE43esNimzo-India, variante Fischer< ] O%oE42esNimzo-India, 4.e3 c5, 5.Ce2 (Rubinstein)( 5 [>ꣂb?E41esNimzo-India, 4.e3 c5% / OD\iBE40esNimzo-India, 4.e38 U 2A"NhxE39esNimzo-India, Clásica, variante Pirc1 G G 2E E38esNimzo-India, Clásica, 4...c5Q  IɟѻE37esNimzo-India, Clásica, variante Noa, línea principal, 7.Dc2= _ ٿE36esNimzo-India, Clásica, variante Noa, 5.a3D m /NGrE35esNimzo-India, Clásica, variante Noa, 5.cxd5 exd57 S $E34esNimzo-India, Clásica, variante Noa; [ ; {xE33esNimzo-India, variante Clásica, 4...Cc62 I {jL݂E32esNimzo-India, variante ClásicaE o {cE31esNimzo-India, variante Leningrad, línea principal4  M 8:.E30esNimzo-India, variante Leningrad,D  m  b߮E29esNimzo-India, variante Saemisch, línea principal8  U p4E28esNimzo-India, variante Saemisch, 6.e3;  [ \PTk;E27esNimzo-India, variante Saemisch, 5...0-0M   N"Z*Q5E26esNimzo-India, variante Saemisch, 4.a3 Axc3+ 5.bxc3 c5 6.e3B i ?lE25esNimzo-India, variante Saemisch, variante Keres2 I 2E24esNimzo-India, variante Saemisch< ] @kE23esNimzo-India, Spielmann, 4...c5, 5.dc Cc62 I *2NMIE22esNimzo-India, variante Spielman> a }|E21esNimzo-India, variante de los trec caballos' 3 bxE20esDefensa Nimzo-India8 U ) FE19esIndia de Dama, Old Main line, 9.Dxc37 S haE18esIndia de Dama, Old Main line, 7.Cc3, = r)~E17esIndia de Dama, 5.Ag2 Ae77 S r~ uCE16esIndia de Dama, Capablanca variation'~ 3 _=E15esIndia de Dama, 4.g3(} 5 ?CE14esQueen's Indian, 4.e33| K HM(E13esIndia de Dama, 4.Cc3, Main line KM_ X  y C > 5 u ; rL,W1 f: `9e6oHN'^7G s ^{>tgaA23huAngol megnyitás, Brémai rendszer, Keres-változat$ - -!clA22huAngol megnyitás$ - -tA21huAngol megnyitás$ - @`v{A20huAngol megnyitásI w >` 6cA19huAngol megnyitás, Mikenas-Carls, szicíliai változat= _ $A18huAngol megnyitás, Mikenas-Carls változat: Y Z"A17huAngol megnyitás, sündisznó védelem$ - ja%k:A16huAngol megnyitás: Y =d A15huAngol, 1...Hf6 (Anglo-indiai védelem)3~ K J ބA14huAngol, elhárított újkatalán$} - o MA13huAngol megnyitás-| ? Je VA12huAngol, Caro-Kann védelem-{ ? Xb"^ A11huAngol, Caro-Kann védelem$z -  Gԏ3A03huBird megnyitása, 1...d5#r + -A02huBird megnyitás%q / ʝLA01huLarsen megnyitás$p- AFKRA00huDurkin támadás(o5 ژ 1A00huAnti-Borg megnyitás+n; ߺmN~A00huHammerschlag megnyitás%m/ (p)[A00huGedult megnyitás(l5 SADXcEA00huAmszterdam támadás+k; Ԫ2t8A00huVan't Kruijs megnyitás)j7 rrbA00huVenezolana megnyitás'i3 ;[NA00huValencia megnyitás%h/ b]~A00huMieses megnyitás%g/ URGHA00huMieses megnyitás(f5 0nA00huZaragóza megnyitás#e+ ;)|CبA00huCrab megnyitás#d+ -{)RA00huWare megnyitás'c3 >_rA00huAnderzen megnyitás,b= pY_A00huNovoszibirszk megnyitás)a7 H3A00huBattambang megnyitás%`/ 7ԆGsA00huDunszt megnyitás%_/ s~EA00huDunszt megnyitás^ zŃA00huAmar csel#]+ -L^FA00huAmar megnyitás&\1 K25nA00huClemenz megnyitás)[/Fv_A00huGrobRomford ellencsel"Z!5Ӻ6A00huGrobFritz-csel'Y+\ : >A00huGrobSpike támadás"X) vA00huGrob támadás7W/1; EA00huBenkö-megnyitásfordított Aljehin%V/ j-YF$A00huBenkö-megnyitás-U1~[CA00huLengyelOutflank változat.T3mB|P A00huLengyelTuebingen változat4S M 㴰'A00huLengyel (Szokolszkij) megnyitásMR  XݵE99esIndia de Rey, Ortodoxa, Aronin-Taimanov, línea principalBQ i +)}E98esIndia de Rey, Ortodoxa, Aronin-Taimanov, 9.Ce1qP E M!bP@E97esIndia de Rey, Ortodoxa, variante Aronin-Taimanov (ataque Yugoslavo / variante Mar del Plata)FO q ³&E96esIndia de Rey, Ortodoxa, 7...Cbd7, línea principal;N [ {E95esIndia de Rey, Ortodoxa, 7...Cbd7, 8.Te13M K ]CE94esIndia de Rey, variante OrtodoxaEL o >MĎUE93esIndia de Rey, sistema Petrosian, línea principal3K K #u.SE92esIndia de Rey, variante Clásica'J 3 }.eE91esIndia de Rey, 6.Ae2'I 3 Ѕu-E90esIndia de Rey, 5.Cf3HH u .E89esIndia de Rey, Sämisch, línea principal de Ortodoxa=G _ մE88esIndia de Rey, Sämisch, Ortodoxa, 7.d5 c6:F Y ,vlgoE87esIndia de Rey, Sämisch, Ortodoxa, 7.d5?E c VA/wE86esIndia de Rey, Sämisch, Ortodoxa, 7.Cge2 c6=D _ G%32E85esIndia de Rey, Sämisch, variante OrtodoxaEC o i/1E84esIndia de Rey, Sämisch, línea principal de Panno3B K wGE83esIndia de Rey, Sämisch, 6...Cc6IA w wUE82esIndia de Rey, Sämisch, variante del doble Fianchetto3@ K oE81esIndia de Rey, Sämisch, 5...O-O3? K eP42aE80esIndia de Rey, variante SämischX>  RUx4]E79esDefensa India de Rey, Ataque de los cuatro peones, línea principalU=  3E78esDefensa India de Rey, Ataque de los cuatro peones, con Be2 y Cf3 J~Gq2 L  x :  [ 1  [ 0 x K % b/^-zJh6hAu?c<f%>Q a bA97huHolland védelem, Ilyin-Genevsky változatAP g  ;0A96huHolland védelem, Dutch, klasszikus változat>O a x?4,fA95huHolland védelem, Dutch, Stonewall Hc3-mal>N a iRLA94huHolland védelem, Dutch, Stonewall Ba3-malDM m tU-\A93huHolland védelem, Stonewall, Botwinnik-változat$L - lY)A92huHolland védelem$K - ;m(*A91huHolland védelem$J - /=A90huHolland védelemHI u ˮr@A89huHolland védelem, leningrádi, fö változat Hc6-talKH { \rA88huHolland védelem, leningrádi, fö változat 7...c6-tal@G e n1. A87huHolland védelem, leningrádi, fö változat3F K JϻΩA86huHolland védelem, 2.c4 és 3.g34E M ;;lXǔHA85huHolland védelem, 2.c4 és 3.Hc3$D - B@WA84huHolland védelem>C a wVfFA83huHolland, Staunton-csel, Staunton-változat*B 9 fcRPA A82huHolland, Staunton-csel$A - ;djY$8A81huHolland védelem$@ - a+A80huHolland védelem-? ? -5JB|A79huBenoni, klasszikus, 11.f3:> Y C{ eA78huBenoni, klasszikus, Be8 és ...Ha6-tal7= S xdA77huBenoni, klasszikus, 9...Be8, 10.Hd2/< C й N1SA76huBenoni, klasszikus, 9...Be8>; a waaY)A75huBenoni, klasszikus ...a6 és 10...Fg4-gyel5: O u֫SA74huBenoni, klasszikus, 9...a6, 10.a4-9 ? $L>A73huBenoni, klasszikus, 9.O-O68 Q _xA72huBenoni, klasszikus, 9.O-O nélkül-7 ? f;wAA71huBenoni, klasszikus, 8.Bg566 Q { g#A70huBenoni, klasszikus, e4 és Hf3-malA5 g S5,A69huBenoni, négygyalogos támadás, föváltozat34 K < yxA68huBenoni, négygyalogos támadás.3 A qb(RcA67huBenoni, Tajmanov változat12 G ]{{;A66huBenoni, gyalogroham változat 1 % Iٳ-ԟUA65huBenoni, 6.e4:0 Y ך$Iw8A64huBenoni, Fianchetto változat, 11...Re8:/ Y њI3 A63huBenoni, Fianchetto változat, 9...Hbd70. E IR)A62huBenoni, Fianchetto változat#- + ,v)A61huBenoni védelem#, + ~r6=A60huBenoni védelem%+ / BivA59huBenkö csel, 7.e4** 9 9qP>A58huElfogadott Benkö-csel) # haRA57huBenkö-csel#( + 02A56huBenoni védelem*' 9 0 96A55huÓindiai, föváltozat.& A jA54huÓindiai, ukrán változat%% / my;r"A53huÓindiai védelem&$ 1  7eA52huBudapesti védelem3# K ޻)zHyA51huElhárított Budapesti védelem(" 5 Tc;OA50huVezérgyalog játék9! W ։YA49huKirályindiai, Fianchetto c4 nélkülA  g 02c>A48huKirályindiai védelem, kelet-indiai védelem) 7 h(fAA44huÓbenoni védelem% / ehڣA43huÓbenoni védelem6 Q P?UA42huModern védelem, Averbakh-rendszer( 5 / A41huVezérgyalog játék( 5 XA40huVezérgyalog játék; [ o))'A39huAngol megnyitás, szimmetrikus, d4-gyel2 I <6D7A38huAngol megnyitás, szimmetrikus2 I gi  a ~-}JA27huAngol megnyitás, háromhuszáros rendszer4  M GbS#nA26huAngol megnyitás, zárt rendszer;  [ 6wA25huAngol megnyitás, fordított szicíliaiA g %K;2;&A24huAngol megnyitás, Brémai rendszer 3...g6-tal Go@H ] ' b & ] ( O e ; ?(,W*Tk5s?i@ e \FgB63huSzicíliai, Richter-Rauzer, Rauzer-támadás6 Q B62huSzicíliai, Richter-Rauzer, 6...e6G s |;$B61huSzicíliai, Richter-Rauzer, Larsen-változat, 7.Vd2. A [( B60huSzicíliai, Richter-Rauzer< ] 18B59huSzicíliai, Boleslavsky-változat, 7.Hb3* 9 8hB58huSzicíliai, klasszikus6!=FaYE!B57huSzicíliaiSzozin, Benkö változat1!3 ҙ jB57huSzicíliaiMagnus Smith csapda7 !? 6B57huSzicíliaiSzozin, nem Scheveningeni ! Uw^B56huSzicíliaiC k >qCB55huSzicíliai, Prins-változat, Velencei támadás  ! {,ĴB54huSzicíliai3  K a2dB53huSzicíliai, Chekhover-változatA  g W! B52huSzicíliai, Canal-Sokolsky-támadás, 3...Fd78  U M\8B51huSzicíliai, Canal-Sokolsky-támadás2  I |יB49huSzicíliai, Tajmanov-változat2 I v1{B48huSzicíliai, Tajmanov-változat? c bcB47huSzicíliai, Tajmanov (Basztrikov) változat2 I lH;Ͳ(B46huSzicíliai, Tajmanov-változat2 I d\JB45huSzicíliai, Tajmanov-változat' 3 D-B44huSzicíliai védelem* 9 u*\+B43huSzicíliai, Kan, 5.Hh3* 9 ̪>WB42huSzicíliai, Kan, 5.Fd3- ? m辕B41huSzicíliai, Kan-változat' 3 ^T9rB40huSzicíliai védelemK { r<&4B39huSzicíliai védelem, gyors fianchetto, Breyer-változatS~  OX DбB38huSzicíliai védelem, gyors fianchetto, Maróczy-kötés, 6.Fe3U}  a3B36huSzicíliai védelem, gyors fianchetto, Maróczy-kötésU{  V@B35huSzicíliai védelem, gyors fianchetto, modern változat Fc4-gyelIz w LMY, B34huSzicíliai védelem, gyors fianchetto, csereváltozatFy q ݫB33huSzicíliai, Szvesnyikov (Lasker-Pelikan) változat'x 3 Q@j裗B32huSzicíliai védelemZw  ήe:B31huSzicíliai, Nimzovich-Rossolimo-támadás (...g6-tal, ...d6 nélkül)'v 3 ~{!B30huSzicíliai védelem>u a ǒJj@B29huSzicíliai, Nimzovich-Rubinstein-változat1t G mW B28huSzicíliai, O'Kelly-változat's 3 )j+B27huSzicíliai védelem,r = ?7ݦB26huSzicíliai, zárt, 6.Fe3%q / c7)j?(B25huSzicíliai, zárt%p / 11 B24huSzicíliai, zárt%o / R\2B23huSzicíliai, zárt@n e f&EmB22huSzicíliai védelem, Alapin-változat (2.c3)Cm!WEAB21huSzicíliaiSmith-Morra csel, csikágói védelem.l!-'B21huSzicíliaiSmith-Morra csel.k!-٠EEB21huSzicíliaiAndreaschek csel.j!-xeTgB21huSzicíliaiSmith-Morra csel2i !5[7wbB21huSzicíliaiGrand Prix támadás'h 3 dMJVJB20huSzicíliai védelem2g I AǹpB19huCaro-Kann, klasszikus, 7...Hd73f K J߫[B18huCaro-Kann, klasszikus változat1e G %B17huCaro-Kann, Steinitz-változat9d W >ϕEulB16huCaro-Kann, Bronstein-Larsen-változat&c 1 c.sB15huCaro-Kann védelem@b e ^GIFB14huCaro-Kann, Panov-Botvinnik-támadás, 5...e6-a ? wqLݣOB13huCaro-Kann, csereváltozat&` 1 sYoB12huCaro-Kann védelem3_ K j1B11huCaro-Kann, kétcsikós, 3...Fg4&^ 1 Fvђ-B10huCaro-Kann védelem,] = h 3I4B09huPirc, osztrák támadás;\ [ aBB08huPirc, klasszikus (kétcsikós) rendszer![ ' QB07huPirc-védelem.Z A k B06huRobatsch (modern)-védelem?Y c YvX)B05huAljehin-védelem, modern változat, 4...Fg46X Q [P31`VB04huAljehin-védelem, modern változat)W 7 I ~B03huAljehin-védelem 3.d4$V - үPB02huAljehin-védelem'U 3 VDaB01huSkandináv védelem,T = D= i 6 v + N \ x C W}M}Vm4t*i5z;Z 5V'5f)BC20huKirálygyalogNapóleon megnyitás2U'/IpVC20huKirálygyalogKing's head megnyitás5S'5آ<'7C20huKirálygyalogMengarini megnyitás2R'/P*dtC20huKirálygyalogIndiai megnyitás)Q 7 DnC20huKirálygyalog-játékEP o NXCmC19huFrancia, Winawer, elöretörö változat, 6...He7> a nAC01huFrancia, csereváltozat, Kingston-védelem$= - Kia3C00huFrancia védelem>< a ҮB99huSzicíliai, Najdorf, 7...Fe7 Fö változat0; E PU6nUB98huSzicíliai, Najdorf, 7...Fe7Y:  fR6/KB97huSzicíliai, Najdorf, 7...Vb6 beleértve: Mérgezett gyalog változat-9 ? DB96huSzicíliai, Najdorf, 7.f4/8 C TB95huSzicíliai, Najdorf, 6...e6.7 A r9vTJB94huSzicíliai, Najdorf, 6.Fg5-6 ? XTm B93huSzicíliai, Najdorf, 6.f4D5 m z"L!B92huSzicíliai, Najdorf, Opocensky-változat (6.Fe2)Q4  %DN+WB91huSzicíliai, Najdorf, zágrábi (fianchetto) változat (6.g3)'3 3 %MB90huSzicíliai, Najdorf-2 ? t 'B89huSzicíliai, Szozin, 7.Fe3;1 [ e|J,B88huSzicíliai, Szozin, Leonhardt-változat20 I f!m$B87huSzozin ...a6-tal és ...b5-tel0/ E Α嚽1B86huSzicíliai, Szozin-támadás^.  "ĵ=LCYB85huSzicíliai, scheveningeni, klasszikus változat ...Vc7-tel és ...Hc6-talM-  UTTUsB84huSzicíliai, scheveningeni (Paulsen), klasszikus változat4, M ޢ4ۭB83huSzicíliai, scheveningeni, 6.fe23+ K P4[oڅB82huSzicíliai, scheveningeni, 6.f4?* c o'Z B81huSzicíliai, scheveningeni, Keresz-támadás@) e "&Ͳ B80huSzicíliai védelem, scheveningeni változatE( o i<ǘYB79huSzicíliai, sárkány, jugoszláv tamadás, 12.h4I' w O@B78huSzicíliai, sárkány, jugoszláv támadás, 10.O-O-OF& q u )>&֟B77huSzicíliai, sárkány, jugoszláv támadás, 9.Fc4H% u L {޽3B76huSzicíliai, sárkány, jugoszláv támadás, 7...O-O?$ c @B75huSzicíliai, sárkány, jugoszláv támadás<# ] ɔH'.B74huSzicíliai, sárkány, klasszikus, 9.Hb3<" ] WM!iB73huSzicíliai, sárkány, klasszikus, 8.O-O0! E A  a ؜B71huSzicíliai, sárkány, Levenfish-változat2 I 2ᇧSB70huSzicíliai, sárkányváltozat[  [>UB69huSzicíliai, Richter-Rauzer, Rauzer-támadás, 7...a6 védelem, 11.Fxf6[  Lo> B68huSzicíliai, Richter-Rauzer, Rauzer-támadás, 7...a6 védelem, 9...Fe7[  aB67huSzicíliai, Richter-Rauzer, Rauzer-támadás, 7...a6 védelem, 8...Fd7H u :ze5|B66huSzicíliai, Richter-Rauzer, Rauzer-támadás, 7...a6]  f,OB65huSzicíliai, Richter-Rauzer, Rauzer-támadás, 7...Fe7 védelem, 9...Hxd4Y  3@1 B64huSzicíliai, Richter-Rauzer, Rauzer-támadás, 7...Fe7 védelem, 9.f4 MC hC b *  t >  t ;  r & { A jCnA^8v8e- `3b$S6# Q ˽3aC68huSpanyol megnyitás, csereváltozatJ" y ?w9ӈC67huSpanyol megnyitás, berlini védelem, nyílt változatC! k W2qf=C66huSpanyol megnyitás, berlini védelem, 4.0-0, d68  U BTC65huSpanyol megnyitás, berlini védelemM  2%C64huSpanyol megnyitás, Cordel-védelem (Klasszikus védelem); [ |8̟C63huSpanyol megnyitás, Schliemann-védelem@ e ropC62huSpanyol megnyitás Régi Steinitz-megnyitás5 O n@SC61huSpanyol megnyitás, Bird-védelem& 1 KvrC60huSpanyol megnyitás* 9 &3.`?C59huKéthuszáros védelem* 9 Īq C58huKéthuszáros védelem* 9 B; C57huKéthuszáros védelem* 9 7=C56huKéthuszáros védelem* 9 @'Ӓ:C55huKéthuszáros védelem  % ikt9b:C54huGiuoco Piano  % %N=C53huGiuoco Piano5 O v:ĉ C52huEvans-csel 4...Fxb4, 5.c3 Fa5-tel ! "SD-C51huEvans-csel) 7 ~&?8C50huKirálygyalog-játékC k "+3VpC49huNégyhuszáros játék, dupla spanyol változat= _ jZ-RC48huNégyhuszáros játék, spanyol változat; [ iRC47huNégyhuszáros játék, skót változat+  ; ZaGC46huHáromhuszáros játék!  ' A{C45huSkót játék)  7 xͧ}C44huKirálygyalog-játékA  g Md!IC43huPetrov-védelem, modern (Steinitz-) támadás#  + K C42huPetrov-védelem% / jC41huPhilidor-védelem.3BUC40huLitváncorkscrew ellencsel,/Ӵ>C40huLitvánPolerio változat,/:~3C40huLitvánBehting változat)7 $]#C40huLitván gambit, 3.Bc4*+R5l vC40huLitvánFraser védelem.3 Yr]knC40huLitvánNimzovich változat%/ GOuCC40huLitván ellencsel:=):7C40huKirályhuszár ellencselMaroczy gambit<] VJ]ƖC40huKirályhuszár ellencsel (elefánt csel)$~- uy JC28huBécsi játék5f O v9Ec a ?- D32huElhárított vezércsel, Tarrasch-védelem2b I C&tD31huElhárított vezércsel, 3.Hc3+a ; 0D30huElhárított vezércselG` s "AD29huElfogadott vezércsel, klasszikus változat 8...Fb7E_ o ;2D28huElfogadott vezércsel, klasszikus változat 7.Ve2?^ c :܎AD27huElfogadott vezércsel, klasszikus változat?] c U0sAD26huElfogadott vezércsel, klasszikus változat/\ C ukrD25huElfogadott vezércsel, 4.e30[ E #\CxnD24huElfogadott vezércsel, 4.Hc3)Z 7 OD23huElfogadott vezércsel;Y [ Q {CD22huElfogadott vezércsel, Aljehin-védelem0X E %F[!D21huElfogadott vezércsel, 3.Hf3)W 7 XA=D20huElfogadott vezércsel0V E N8D19huVezércsel, Holand változat1U G E.2D18huVezércsel, Holland változat>T a Y wD17huVezércsel, Szláv védelem, Cseh védelemKS { n~D16huVezércsel, Elfogadott szlav védelem, Alapin-változat6R Q c )̨E6D15huVezércsel, Szláv védelem, 4.Hc3?Q c J |D14huVezércsel, Szláv védelem, csereváltozat?P c hHD13huVezércsel, Szláv védelem, csereváltozat9O W RFD12huVezércsel, Szláv védelem, 4.e3 Ff56N Q YǥyD11huVezércsel, Szláv védelem, 3.Hf3/M C =mCDD10huVezércsel, Szláv védelem5L O "MXD09huVezércsel, Albin-ellencsel, 5.g3AK g ? KfD08huVezércsel, Albin-ellencsel és Lasker-csapda1J G !`D07huVezércsel, Csigorin-védelemI ! G؃4D06huVezércsel=H _ ]&bD05huVezérgyalog-játék, Zukertort-változat(G 5 +z7D04huVezérgyalog játék:F Y @dD03huTorre-támadás, Tartakower-válto9zat/E C wPjD02huVezérgyalog-játék, 2.Hf3.D A `GDD01huRichter-Vereszov-támadás(C 5 dD00huVezérgyalog játékCB k 4Q۾C99huSpanyol megnyitás, zárt, Csigorin, 12....c5d4AA g o@GC98huSpanyol megnyitás, zárt, Csigorin, 12...Hc6@@ e _JXJ}C97huSpanyol megnyitás, zárt, Csigorin-védelem6? Q %o#CC96huSpanyol megnyitás, zárt, 8...Ha5<> ] _%UHC95huSpanyol megnyitás, zárt, Breyer, 10.d4>= a +j %eC94huSpanyol megnyitás, zárt, Breyer-védelemA< g p{y`C93huSpanyol megnyitás, zárt, Szmiszlov-védelem3; K C92huSpanyol megnyitás, zárt, 9.h32: I A =$uC91huSpanyol megnyitás, zárt 9.d489 U ht, 7C90huSpanyol megnyitás, zárt, ...d6-tal?8 c Ԥb|C89huSpanyol megnyitás, Marshall-ellentámadás-7 ? -F7C88huSpanyol megnyitás, zártA6 g $m/3C87huSpanyol megnyitás, zárt, Averbach-változat95 W z4xC86huSpanyol megnyitás. Worrall-támadásK4 { J0uC85huSpanyol megnyitás, duplán elhárított csereváltozat63 Q ?zYC84huSpanyol megnyitás, zárt védelemC2 k Tg C83huSpanyol megnyitás, nyílt, klasszikus védelem41 M '`;C82huSpanyol megnyitás, nyílt, 9.c3@0 e P3K9C81huSpanyol megnyitás, nyílt, Howell-támadásK/ { 0ȉR~C80huSpanyol megnyitás, nyílt védelem (Tarrasch-védelem)X.  b0C79huSpanyol megnyitás, elhárított Steinitz-védelem (orosz védelem)-- ? |аHmC78huSpanyol megnyitás, 5.0-07, S ̻.}C77huSpanyol megnyitás, Morphy-védelemm+ = )%KUF8C76huSpanyol megnyitás, modern Steinitz-védelem, Bronstein-változat (fianchetto-változat)@* e FY1C75huSpanyol megnyitás, modern Steinitz-védelem@) e 燧cI)C74huSpanyol megnyitás, modern Steinitz-védelemT(  LMC73huSpanyol megnyitás, modern Steinitz-védelem, Richter-változatG' s ($DC72huSpanyol megnyitás, modern Steinitz-védelem, 5.0-0@& e ]_p9&C71huSpanyol megnyitás, modern Steinitz-védelem&% 1 aAoC70huSpanyol megnyitás=$ _ nְC69huSpanyol megnyitás, csereváltozat, 5.0-0 ;TH v 2 h ' g 2 _  XQUF~(j2["|L:$ - n?D91huGrünfeld, 5.Fg58 U xD90huGrünfeld, háromhuszáros változatG s ~i'TD89huGrünfeld, Spaszkij-változat, föváltozat, 13.Fd3U  '`"`sfD88huGrünfeld, Spaszkij-változat, föváltozat, 10...cxd4, 11. cxd4A g rXU#bՏD87huGrünfeld, csereváltozat, Spaszkij-változatC k %W:D86huGrünfeld, csereváltozat, klasszikus változat- ? RN?lD85huGrünfeld, csereváltozat- ? q]D84huElfogadott Grünfeld-csel" ) _5%}D83huGrünfeld-csel$ - ޝUtD82huGrünfeld, 4.Ff4. A s6/D81huGrünfeld, orosz változat& 1 Ê{eD80huGrünfeld-védelem6 Q Q.e죵D79huÚj-Grünfeld, 6.O-O, föváltozat+ ; ,tQ<D78huÚj-Grünfeld, 6.O-O c6( 5 әD77huÚj-Grünfeld, 6.O-O9 W Q\D76huÚj-Grünfeld, 6.cxd5 Hxd5, 7.O-O Hb6? c 2,_ID75huÚj-Grünfeld, 6.cxd5 Hxd5, 7.O-O c5, 8.Hc35  O /]SvND74huÚj-Grünfeld, 6.cxd5 Hxd5, 7.O-O(  5 *P0mMD73huÚj-Grünfeld, 5.Hf37  S yKNN2D72huÚj-Grünfeld, 5.cxd5, föváltozat)  7 s'&E%D71huÚj-Grünfeld, 5.cxd5*  9 V<SD70huÚj-Grünfeld-védelemS  g1wפkD69huElhárított vezércsel, Ortodox védelem, klasszikus, 13.dxe5T  FvUD68huElhárított vezércsel, Ortodox védelem, klasszikus változatn ? &3M D67huElhárított vezércsel, Ortodox védelem, Fd3 vonal, Capablanca felszabadító manövereH u y1EaD66huElhárított vezércsel, Ortodox védelem, Fd3 vonal_ ! A:D65huElhárított vezércsel, Ortodox védelem, Rubinstein-támadás, fö vonal_ ! %,JFD64huElhárított vezércsel, Ortodox védelem, Rubinstein-támadás (Bc1-gyel)D m F /©D63huElhárított vezércsel, Ortodox védelem, 7.Bc1[  D62huElhárított vezércsel, Ortodox védelem, 7.Vc2 c5, 8.cd (Rubinstein)T  pĴaD61huElhárított vezércsel, Ortodox védelem, Rubinstein-változat= _ ƓD60huElhárított vezércsel, Ortodox védelem]~  6˺ŝD59huElhárított vezércsel, Tartakower (Makagonov-Bondarevszkij), 8.cd Hxd5d} + Q/{֑D58huElhárított vezércsel, Tartakower-rendszer (Makagonov-Bondarevszkij-rendszer)G| s lPD57huElhárított vezércsel, Lasker-védelem, fö vonal<{ ] N[D56huElhárított vezércsel, Lasker-védelem2z I >LxD55huElhárított vezércsel, 6.Hf3Fy q Vu%*D54huElhárított vezércsel, Anti-neoortodox változat6x Q =՘D53huElhárított vezércsel, 4.Fg5 Fe7+w ; Mõ$kD52huElhárított vezércseliv 5 QD51huElhárított vezércsel, 4.Fg5 Hbd7 (Cambridge Springs-védelem és elefánt-csapda)2u I 3*D50huElhárított vezércsel, 4.Fg5=t _ ͹EwD49huElhárított vezércsel, meráni, 11.Hxb5r a E(N WD47huElhárított vezércsel, Fél-szláv 7.Fc4>q a ޔCMrD46huElhárított vezércsel, Fél-szláv 6.Fd3=p _ zO]D45huElhárított vezércsel, Fél-szláv 5.e3Co k  R+OD44huElhárított vezércsel, Fél-szláv 5.Fg5 dxc4An g WdD43huElhárított vezércsel, Fél-szláv védelemAm g U=)}7D42huElhárított vezércsel, fél-Tarrasch, 7.Fd3@l e ov|qD41huElhárított vezércsel, fél-Tarrasch, 5.cdCk k a\8 D40huElhárított vezércsel, fél-Tarrasch-védelemFj q Z01nD39huElhárított vezércsel, Ragozin, bécsi változat>i a Nl_D38huElhárított vezércsel, Ragozin-változat2h I -6_D37huElhárított vezércsel, 4.Hf3Ug  NP)N#D36huElhárított vezércsel, csereváltozat, pozíciós vonal, 6.Vc2;f [ \I䯹gD35huElhárított vezércsel, csereváltozatGe s vUsЧD34huElhárított vezércsel, Tarrasch-védelem, 7...Fe7_d ! D33huElhárított vezércsel, Tarrasch-védelem, Schlechter-Rubinstein-rendszer @S"m@ Z  ^ -  t K  e : l -7eFG[? Jq'L^ } \pPE54huNimzoindiai védelem, 4.e3, Gligoric-rendszer 7...dc-velG] s ZifE53huNimzoindiai védelem, 4.e3, fö változat ...c5-telG\ s ׍ZE52huNimzoindiai védelem, 4.e3, fö változat ...b6-tal?[ c }E51huNimzoindiai védelem, 4.e3 e8g8, 5.Hf3 d7d5JZ y lzE50huNimzoindiai védelem, 4.e3 e8g8, 5.Hf3, ...d5 nélkülBY i T`?E49huNimzoindiai védelem, 4.e3, Botvinnik-rendszer󉜀E46huNimzoindiai védelem, 4.e3 O-OLU } #LE45huNimzoindiai védelem, 4.e3, Bronstein (Byrne)-variációCT k ‚qm'E44huNimzoindiai védelem, Fischer-variáció, 5.He2ꣂb?E41huNimzoindiai védelem, 4.e3 c5.P A OD\iBE40huNimzoindiai védelem, 4.e3EO o 2A"NhxE39huNimzoindiai védelem, klasszikus, Pirc-variációH a {jL݂E32huNimzoindiai védelem, klasszikus változatJG y {cE31huNimzoindiai védelem, leningrádi változat, fö vonal@F e 8:.E30huNimzoindiai védelem, leningrádi változat,GE s  b߮E29huNimzoindiai védelem, Saemisch-változat, fö vonalBD i p4E28huNimzoindiai védelem, Saemisch-változat, 6.e3EC o \PTk;E27huNimzoindiai védelem, Saemisch-változat, 5...0-0XB  N"Z*Q5E26huNimzoindiai védelem, Saemisch-változat, 4.a3 Fxc3+ 5.bxc3 c5 6.e3PA  ?lE25huNimzoindiai védelem, Saemisch-változat, Keresz-variáció<@ ] 2E24huNimzoindiai védelem, Saemisch-változatE? o @kE23huNimzoindiai védelem, Spielmann, 4...c5, 5.dc Hc6=> _ *2NMIE22huNimzoindiai védelem, Spielmann-változatC= k }|E21huNimzoindiai védelem, háromhuszáros változat(< 5 bxE20huNimzoindiai védelem=; _ ) FE19huVezérindiai, régi fö változat, 9.Vxc3<: ] haE18huVezérindiai, régi fö változat, 7.Hc3+9 ; r)~E17huVezérindiai, 5.Fg2 Fe768 Q r~ uCE16huVezérindiai, Capablanca-változat&7 1 _=E15huVezérindiai, 4.g3&6 1 ?CE14huVezérindiai, 4.e365 Q HM(E13huVezérindiai, 4.Hc3, fö változat)4 7 Eg}E12huVezérindiai védelem(3 5 0eҞE11huBogo-indiai védelem.2 A i E10huVezérgyalog játék 3.Hf321 I S-ŰE09huKatalán, zárt, fö változat*0 9 GZ9˅E08huKatalán, zárt, 7.Vc2-/ ? ^(+.E07huKatalán, zárt, 6...Hbd7*. 9 `cb,(E06huKatalán, zárt, 5.Hf3:- Y #fQ05E05huKatalán, nyílt, klasszikus változat+, ; 7jE04huKatalán, nyílt, 5.Hf37+ S ;ְE03huKatalán, nyílt, Aljehin-változat+* ; >jRaE02huKatalán, nyílt, 5.Va4#) + >ZzazE01huKatalán, zárt'( 3 "RE00huVezérgyalog játek*' 9 V<SD70huÚj-Grünfeld-védelem?& c LSD99huGrünfeld-védelem, Szmiszlov, föváltozat9% W ̆ꇰ@D98huGrünfeld, orosz, Szmiszlov-változat4$ M LD97huGrünfeld, orosz változat, 7.e4.# A vjgD96huGrünfeld, orosz változat-" ? 5.sD95huGrünfeld, 5.e3 O-O 6.Vb3#! + |{GD94huGrünfeld, 5.e3-  ? ԃJ7D@D93huGrünfeld, 5.Ff4 O-O 6.e3$ - sLO%D92huGrünfeld, 5.Ff4 DYtG R  Q  n C  F l 5p/p+RW'dd3e0"  -!clA22daEngelsk!  -tA21daEngelsk   @`v{A20daEngelsk> a >` 6cA19daEngelsk, Mikenas-Carls, siciliansk variant2 I $A18daEngelsk, Mikenas-Carls variant  Z"A17daEngelsk  ja%k:A16daEngelsk; [ =d A15daEngelsk, 1...Sf6 (Anglo-Indisk forsvar)3 K J ބA14daEngelsk, Neo-Katalansk afslået  o MA13daEngelsk. A Je VA12daEngelsk, Caro-Kann forsvar. A Xb"^ A11daEngelsk, Caro-Kann forsvar   Gԏ3A03daBirds åbning! ' -A02daBirds åbning-  ? ʝLA01daNimzowitsch-Larsen angreb-  ? 㴰'A00daIrregulære Ã¥bningerL  } XݵE99huKirályindiai, Orthodox, Aronyin-Tajmanov, fö változatC  k +)}E98huKirályindiai, Ortodox, Aronyin-Tajmanov, 9.He1x  S M!bP@E97huKirályindiai, Ortodox, Aronyin-Tajmanov változat (Jugoszláv támadás / Mar del Plata-változat)B i ³&E96huKirályindiai Ortodox, 7...Hbd7, fö változat; [ {E95huKirályindiai, Ortodox, 7...Hbd7, 8.Be15 O ]CE94huKirályindiai, Ortodox variációE o >MĎUE93huKirályindiai, Petroszjan-rendszer, fö változat8 U #u.SE92huKirályindiai, klasszikus variáció( 5 }.eE91huKirályindiai, 6.Fe2( 5 Ѕu-E90huKirályindiai, 5.Hf3B i .E89huKirályindiai, Sämisch, Ortodox fö változat= _ մE88huKirályindiai, Sämisch, Ortodox, 7.d5 c6: Y ,vlgoE87huKirályindiai, Sämisch, Ortodox, 7.d5?~ c VA/wE86huKirályindiai, Sämisch, Ortodox, 7.Hge2 c6>} a G%32E85huKirályindiai, Sämisch, Ortodox változatA| g i/1E84huKirályindiai, Sämisch, Panno, fö változat4{ M wGE83huKirályindiai, Sämisch, 6...Hc6Gz s wUE82huKirályindiai, Sämisch, dupla fianchetto változat4y M oE81huKirályindiai, Sämisch, 5...O-O6x Q eP42aE80huKirályindiai, Sämisch-variációJw y RUx4]E79huKirályindiai, négy gyalogos támadás, fö változatQv  3E78huKirályindiai, négy gyalogos támadás, Fe2-vel és Hf3-malBu i F_E77huKirályindiai, négy gyalogos támadás, 6.Fe2Dt m )E76huKirályindiai védelem, négy gyalogos támadás9s W aE75huKirályindiai, Averbah, fö változat2r I R gE74huKirályindiai, Averbah, 6...c5(q 5 xa|Z^E73huKirályindiai, 5.Fe2-p ? 'DDr(E72huKirályindiai e4 & g3-male a ˮr@A89daHollandsk, Leningrad, hovedvariant med Sc6Ad g \rA88daHollandsk, Leningrad, hovedvariant med 7...c66c Q n1. A87daHollandsk, Leningrad, hovedvariant0b E JϻΩA86daHollandsk med 2. c4 og 3. g31a G ;;lXǔHA85daHollandsk med 2. c4 og 3. Sc3%` / B@WA84daHollandsk forsvar?_ c wVfFA83daHollandsk, Staunton gambit, Stauntons linje.^ A fcRPA A82daHollandsk, Staunton gambit%] / ;djY$8A81daHollandsk forsvar%\ / a+A80daHollandsk åbning,[ = -5JB|A79daBenoni, klassisk, 11. f39Z W C{ eA78daBenoni, klassisk med ...Te8 og ...Sa65Y O xdA77daBenoni, klassisk, 9...Te8, 10.Sd2-X ? й N1SA76daBenoni, klassisk, 9...Te8:W Y waaY)A75daBenoni, klassisk med ...a6 og 10...Lg44V M u֫SA74daBenoni, klassisk, 9...a6, 10. a4,U = $L>A73daBenoni, klassisk, 9. O-O0T E _xA72daBenoni, klassisk uden 9. O-O+S ; f;wAA71daBenoni, klassisk, 8.Lg52R I { g#A70daBenoni, klassisk med e4 og Sf39Q W S5,A69daBenoni, firbonde-angreb, hovedvariant+P ; < yxA68daBenoni, firbonde-angreb,O = qb(RcA67daBenoni, Taimanov variant.N A ]{{;A66daBenoni, bondestorm-variant!M ' Iٳ-ԟUA65daBenoni, 6. e48L U ך$Iw8A64daBenoni, fianchetto variant, 11...Te88K U њI3 A63daBenoni, fianchetto variant, 9...Sbd7.J A IR)A62daBenoni, fianchetto variant"I ) ,v)A61daBenoni forsvar"H ) ~r6=A60daBenoni forsvar(G 5 BivA59daBenkö gambit, 7. e4*F 9 9qP>A58daBenkö gambit modtaget!E ' haRA57daBenkö gambit"D ) 02A56daBenoni forsvar.C A 0 96A55daGammelindisk, hovedvariant2B I jA54daGammelindisk, ukrainsk variant(A 5 my;r"A53daGammelindisk forsvar$@ -  7eA52daBudapestergambit-? ? ޻)zHyA51daBudapestergambit afslået&> 1 Tc;OA50daDronningebondespil3= K ։YA49daKongeindisk, fianchetto uden c44< M 02c>A48daKongeindisk, Øst-indisk forsvar+; ; h(fAA44daGammelt Benoni forsvar*7 9 ehڣA43daGammelt Benoni forsvar46 M P?UA42daModerne forsvar, Averbakh system&5 1 / A41daDronningebondespil&4 1 XA40daDronningebondespil<3 ] o))'A39daEngelsk, symmetrisk, hovedvariant med d4'2 3 <6D7A38daEngelsk, symmetrisk'1 3 gitgaA23daEngelsk, Bremen system, Keres variant E], zE H  >  X / ;  J Y]4\)n:|Q` l$p>7 a ؜B71daSiciliansk, Dragevar., Löwenfisch variant,6 = 2ᇧSB70daSiciliansk, DragevariantW5  [>UB69daSiciliansk, Richter-Rauzer, Rauzer angreb, 7...a6 forsvar, 11.Lxf6W4  Lo> B68daSiciliansk, Richter-Rauzer, Rauzer angreb, 7...a6 forsvar, 9...Le7W3  aB67daSiciliansk, Richter-Rauzer, Rauzer angreb, 7...a6 forsvar, 8...Ld7E2 o :ze5|B66daSiciliansk, Richter-Rauzer, Rauzer angreb, 7...a6Y1  f,OB65daSiciliansk, Richter-Rauzer, Rauzer angreb, 7...Le7 forsvar, 9...Sxd4U0  3@1 B64daSiciliansk, Richter-Rauzer, Rauzer angreb, 7...Le7 forsvar, 9.f4=/ _ \FgB63daSiciliansk, Richter-Rauzer, Rauzer angreb6. Q B62daSiciliansk, Richter-Rauzer, 6...e6F- q |;$B61daSiciliansk, Richter-Rauzer, Larsen variant, 7. Dd2., A [( B60daSiciliansk, Richter-Rauzer;+ [ 18B59daSiciliansk, Boleslavsky variant, 7. Sb3(* 5 8hB58daSiciliansk, Klassisk9) W  6B57daSiciliansk, Sozin (ikke Scheveningen)( ! Uw^B56daSiciliansk=' _ >qCB55daSiciliansk, Prins variant, Venedig-angreb& ! {,ĴB54daSiciliansk1% G a2dB53daSiciliansk, Chekhover variant>$ a W! B52daSiciliansk, Canal-Sokolsky angreb, 3...Ld7V#  M\8B51daSiciliansk, Canal-Sokolsky (Nimzowitsch-Rossolimo, Moskva) angreb" ! 0ibB50daSiciliansk0! E |יB49daSiciliansk, Taimanov variant0  E v1{B48daSiciliansk, Taimanov variant< ] bcB47daSiciliansk, Taimanov (Bastrikov) variant0 E lH;Ͳ(B46daSiciliansk, Taimanov variant0 E d\JB45daSiciliansk, Taimanov variant& 1 D-B44daSiciliansk forsvar+ ; u*\+B43daSiciliansk, Kan, 5. Sc3+ ; ̪>WB42daSiciliansk, Kan, 5. Ld3+ ; m辕B41daSiciliansk, Kan variant& 1 ^T9rB40daSiciliansk forsvarF q r<&4B39daSiciliansk, accelereret fianchetto, Breyer variantP  OX DбB38daSiciliansk, accelereret fianchetto, Maroczy binding, 6. Le3Q  a3B36daSiciliansk, accelereret fianchetto, Maroczy bindingP  V@B35daSiciliansk, accelereret fianchetto, moderne variant med Lc4I w LMY, B34daSiciliansk, accelereret fianchetto, afbytningsvariant& 1 ݫB33daSiciliansk forsvar& 1 Q@j裗B32daSiciliansk forsvarU  ήe:B31daSiciliansk, Nimzowitsch-Rossolimo angreb (med ...g6, uden ...d6)& 1 ~{!B30daSiciliansk forsvar>  a ǒJj@B29daSiciliansk, Nimzowitsch-Rubinstein variant/  C mW B28daSiciliansk, O'Kelly variant&  1 )j+B27daSiciliansk forsvar.  A ?7ݦB26daSiciliansk, Lukket, 6. Le3&  1 c7)j?(B25daSiciliansk, Lukket& 1 11 B24daSiciliansk, Lukket& 1 R\2B23daSiciliansk, Lukket7 S f&EmB22daSiciliansk, Alapins variant (2. c3)G s [7wbB21daSiciliansk, Grand Prix angreb og Smith-Morra Gambit& 1 dMJVJB20daSiciliansk forsvar0 E AǹpB19daCaro-Kann, Klassisk, 7...Sd7/ C J߫[B18daCaro-Kann, Klassisk variant/ C %B17daCaro-Kann, Steinitz variant7 S >ϕEulB16daCaro-Kann, Bronstein-Larsen variant% / c.sB15daCaro-Kann forsvar=~ _ ^GIFB14daCaro-Kann, Panov-Botvinnik angreb, 5...e60} E wqLݣOB13daCaro-Kann, Afbytningsvariant%| / sYoB12daCaro-Kann forsvar2{ I j1B11daCaro-Kann, Tospringer, 3...Lg4%z / Fvђ-B10daCaro-Kann forsvar*y 9 h 3I4B09daPirc, østrigsk angreb7x S aBB08daPirc, Klassisk (Tospringer-) system w % QB07daPirc forsvar.v A k B06daRobatsch (Moderne) forsvar?u c YvX)B05daAljechins forsvar, Moderne variant, 4...Lg46t Q [P31`VB04daAljechins forsvar, Moderne variant%s / I ~B03daAljechins forsvar KP4 x B h 9 u . R ! { ^ .ag9PT/ o;pCoFv># + ZaGC46daTrespringerspil  A{C45daSkotsk' 3 xͧ}C44daKongebondespil game5 O Md!IC43daPetrov, moderne (Steinitz) angreb#~ + K C42daPetrovs forsvar%} / jC41daPhilidors forsvar)| 7 ؝C40daKongespringer åbning({ 5 \Td4C39daKongespringer gambit(z 5 A JC28daWienerpartio # v9E u O@B78daSiciliansk, Dragevar., jugoslavisk angreb, 10. O-O-OE= o u )>&֟B77daSiciliansk, Dragevar., jugoslavisk angreb, 9. Lc4F< q L {޽3B76daSiciliansk, Dragevar., jugoslavisk angreb, 7...O-O=; _ @B75daSiciliansk, Dragevar., jugoslavisk angreb;: [ ɔH'.B74daSiciliansk, Dragevar., klassisk, 9. Sb3;9 [ WM!iB73daSiciliansk, Dragevar., klassisk, 8. O-O18 G A ) G؃4D06daDronninggambit9= W ]&bD05daDronningebondespil, Zukertort variant&< 1 +z7D04daDronningebondespil4; M @dD03daTorre angreb, Tartakower variant.: A wPjD02daDronningebondespil, 2. Sf3*9 9 `GDD01daRichter-Veresov Angreb&8 1 dD00daDronningebondespil97 W 4Q۾C99daSpansk, Lukket, Tschigorin, 12...c5d486 U o@GC98daSpansk, Lukket, Tschigorin, 12...Sc665 Q _JXJ}C97daSpansk, Lukket, Tschigorin forsvar+4 ; %o#CC96daSpansk, lukket, 8...Sa523 I _%UHC95daSpansk, lukket, Breyer, 10. d422 I +j %eC94daSpansk, Lukket, Breyer forsvar31 K p{y`C93daSpansk, lukket, Smyslov forsvar)0 7 C92daSpansk, lukket, 9. d4)/ 7 A =$uC91daSpansk, lukket, 9. d4.. A ht, 7C90daSpansk, lukket (med ...d6)/- C Ԥb|C89daSpansk, Marshalls modangreb", ) -F7C88daSpansk, lukket4+ M $m/3C87daSpansk, lukket, Averbach variant** 9 z4xC86daSpansk, Worrall angrebC) k J0uC85daSpansk, afbytningsvariant dobbelt udsat (DERLD)*( 9 ?zYC84daSpansk, lukket forsvar4' M Tg C83daSpansk, åbent, klassisk forsvar)& 7 '`;C82daSpansk, åbent, 9. c31% G P3K9C81daSpansk, åbent, Howell angreb5$ O 0ȉR~C80daSpansk, åbent (Tarrasch) forsvarD# m b0C79daSpansk, Steinitz forsvar udsat (Russisk forsvar)"" ) |аHmC78daSpansk, 5. O-O*! 9 ̻.}C77daSpansk, Morphy forsvarU   )%KUF8C76daSpansk, moderne Steinitz forsvar, fianchetto (Bronstein) variant4 M FY1C75daSpansk, moderne Steinitz forsvar4 M 燧cI)C74daSpansk, moderne Steinitz forsvarE o LMC73daSpansk, moderne Steinitz forsvar, Richter variant: Y ($DC72daSpansk, moderne Steinitz forsvar 5.0-04 M ]_p9&C71daSpansk, moderne Steinitz forsvar  aAoC70daSpansk5 O nְC69daSpansk, afbytningsvariant, 5. O-O- ? ˽3aC68daSpansk, afbytningsvariant9 W ?w9ӈC67daSpansk, Berlin forsvar, åben variant6 Q W2qf=C66daSpansk, Berlin forsvar, 4. O-O, d6* 9 BTC65daSpansk, Berlin forsvar5 O 2%C64daSpansk, klassisk (Cordel) forsvar. A |8̟C63daSpansk, Schliemann forsvar4 M ropC62daSpansk, gammelt Steinitz forsvar* 9 n@SC61daSpansk, Bird's forsvar  KvrC60daSpansk& 1 &3.`?C59daTospringer forsvar& 1 Īq C58daTospringer forsvar&  1 B; C57daTospringer forsvar&  1 7=C56daTospringer forsvar&  1 @'Ӓ:C55daTospringer forsvar  % ikt9b:C54daGiuoco piano  % %N=C53daGiuoco piano: Y v:ĉ C52daEvans gambit med 4. ... Lxb4 5. c3 La5  % "SD-C51daEvans gambit" ) ~&?8C50daKongebondespil3 K "+3VpC49daFirspringerspil, dobbelt spansk3 K jZ-RC48daFirspringerspil, spansk variant3 K iRC47daFirspringerspil, skotsk variant KuAV3 q @  } O w P 6  U  P 7d#g/VuE7_*b(& 1 "RE00daDronningebondespil< ] LSD99daGrünfeld forsvar, Smyslov, hovedvariant7 S ̆ꇰ@D98daGrünfeld, russisk, Smyslov variant8 U LD97daGrünfeld, russisk variant med 7. e4. A vjgD96daGrünfeld, russisk variant2 I 5.sD95daGrünfeld med 5. e3 O-O 6. Db3$ - |{GD94daGrünfeld, 5. e32 I ԃJ7D@D93daGrünfeld med 5. Lf4 O-O 6. e3% / sLO%D92daGrünfeld, 5. Lf41 G n?D91daGrünfeld, Trespringervariant1 G xD90daGrünfeld, TrespringervariantE o ~i'TD89daGrünfeld, Spassky variant, hovedvariant, 13. Ld3M  '`"`sfD88daGrünfeld, Spassky variant, hovedvariant, 10...cd, 11. cd9 W rXU#bՏD87daGrünfeld, afbytning, Spassky variant: Y %W:D86daGrünfeld, afbytning, klassisk variantB  i RN?lD85daGrünfeld, afbytningsvariant, Nadanian variant-  ? q]D84daGrünfeld gambit modtaget$  - _5%}D83daGrünfeld gambit$  - ޝUtD82daGrünfeld 4. Lf4.  A s6/D81daGrünfeld; russisk variant% / Ê{eD80daGrünfeld forsvar7 S Q.e죵D79daNeo-Grünfeld, 6. O-O, hovedvariant, = ,tQ<D78daNeo-Grünfeld, 6. O-O c6) 7 әD77daNeo-Grünfeld, 6. O-O9 W Q\D76daNeo-Grünfeld, 6. cd Sxd5, 7. O-O Sb6? c 2,_ID75daNeo-Grünfeld, 6. cd Sxd5, 7. O-O c5, 8.Sc35 O /]SvND74daNeo-Grünfeld, 6. cd Sxd5, 7. O-O) 7 *P0mMD73daNeo-Grünfeld, 5. Sf36 Q yKNN2D72daNeo-Grünfeld, 5. cd, hovedvariant( 5 s'&E%D71daNeo-Grünfeld, 5. cd)~ 7 V<SD70daNeo-Grünfeld forsvar>} a g1wפkD69daQGD; Ortodokst forsvar, klassisk, 13. dxe5<| ] FvUD68daQGD; Ortodokst forsvar, klassisk variantU{  &3M D67daQGD; Ortodokst forsvar, Ld3 line, Capablancas befrielsesmanøvre9z W y1EaD66daQGD; Ortodokst forsvar, Ld3 varianterKy { A:D65daQGD; Ortodokst forsvar, Rubinstein angreb, HovedvariantGx s %,JFD64daQGD; Ortodokst forsvar, Rubinstein angreb (med Tc1)2w I F /©D63daQGD; Ortodokst forsvar, 7. Tc1Iv w D62daQGD; Ortodokst forsvar, 7. Dc2 c5, 8. cd (Rubinstein)>u a pĴaD61daQGD; Ortodokst forsvar, Rubinstein variant*t 9 ƓD60daQGD; Ortodokst forsvarOs  6˺ŝD59daQGD; Tartakower (Makagonov-Bondarevsky) system, 8. cd Sxd5Br i Q/{֑D58daQGD; Tartakower (Makagonov-Bondarevsky) system6q Q lPD57daQGD; Laskers forsvar, hovedvariant(p 5 N[D56daQGD; Laskers forsvaro # >LxD55daQGD; 6. Sf32n I Vu%*D54daQGD; Anti-neo-Ortodoks variant#m + =՘D53daQGD; 4. Lg5 Le7l  Mõ$kD52daQGD$k - QD51daQGD; 4. Lg5 Sbd7j # 3*D50daQGD; 4. Lg5*i 9 ͹EwD49daQGD; Meraner, 11. Sxb5(h 5 9/KjD48daQGD; Meraner, 8...a6,g = E(N WD47daQGD; Semi-slavisk 7. Lc4,f = ޔCMrD46daQGD; Semi-slavisk 6. Ld3+e ; zO]D45daQGD; Semi-slavisk 5. e3/d C  R+OD44daQGD; Semi-slavisk 5. Lg5 dc-c ? WdD43daQGD; Semi-slavisk forsvar.b A U=)}7D42daQGD; Semi-Tarrasch, 7. Ld3-a ? ov|qD41daQGD; Semi-Tarrasch, 5. cd.` A a\8 D40daQGD; Semi-Tarrasch forsvar._ A Z01nD39daQGD; Ragozin, Wien variant(^ 5 Nl_D38daQGD; Ragozin variant] # -6_D37daQGD; 4. Sf3A\ g NP)N#D36daQGD; afbytning, positionsspilsvariant, 6. Dc2 [ % \I䯹gD35daQGD; 3...Sf6*Z 9 vUsЧD34daQGD; Tarrasch, 7...Le7?Y c D33daQGD; Tarrasch, Schlechter-Rubinstein system)X 7 ?- D32daQGD; Tarrasch forsvarW # C&tD31daQGD, 3. Sc3+V ; 0D30daDronninggambit afslået1U G "AD29daQGA; klassisk variant 8...Lb70T E ;2D28daQGA; klassisk variant 7. De2)S 7 :܎AD27daQGA; klassisk variant)R 7 U0sAD26daQGA; klassisk variant Cn>t> z M q -  R  G N YX.O n2q/WY's<6_ Q mAE67daKongeindisk, fianchetto med ...Sd7>^ a Zby¾E66daKongeindisk, fianchetto, jugoslavisk Panno4] M 8E65daKongeindisk, jugoslavisk, 7. O-O?\ c aM=*E64daKongeindisk, fianchetto, jugoslavisk system:[ Y S98BE63daKongeindisk, fianchetto, Panno variant2Z I 8dE62daKongeindisk, fianchettovariant/Y C FYP+E61daKongeindisk forsvar, 3. Sc3'X 3 wA8"E60daKongeindisk forsvar5W O BƍE59daNimzo-indisk, 4. e3, hovedvariantBV i .}/+E58daNimzo-indisk, 4. e3, hovedvariant med 8...Lxc3TU  3E57daNimzo-indisk, 4. e3, hovedvariant med 8...dxc4 og 9...Lxc4 cxd4AT g # E56daNimzo-indisk, 4. e3, hovedvariant med 7...Sc6KS { -J?HE55daNimzo-indisk, 4. e3, Gligoric system, Bronstein variantCR k \pPE54daNimzo-indisk, 4. e3, Gligoric system med 7...dc?Q c ZifE53daNimzo-indisk, 4. e3, hovedvariant med ...c5?P c ׍ZE52daNimzo-indisk, 4. e3, hovedvariant med ...b69O W }E51daNimzo-indisk, 4. e3 e8g8, 5. Sf3 d7d5@N e lzE50daNimzo-indisk, 4. e3 e8g8, 5. Sf3, uden ...d59M W T`?E49daNimzo-indisk, 4. e3, Botvinnik system6L Q gE, E48daNimzo-indisk, 4. e3 O-O, 5. Ld3 d52K I QBE47daNimzo-indisk, 4. e3 O-O, 5.Ld3+J ; >󉜀E46daNimzo-indisk, 4. e3 O-OBI i #LE45daNimzo-indisk, 4. e3, Bronstein (Byrne) variant9H W ‚qm'E44daNimzo-indisk, Fischer variant, 5. Se21G G &TFE43daNimzo-indisk, Fischer variant?F c O%oE42daNimzo-indisk, 4. e3 c5, 5. Se2 (Rubinstein)*E 9 [>ꣂb?E41daNimzo-indisk, 4. e3 c5'D 3 OD\iBE40daNimzo-indisk, 4. e38C U 2A"NhxE39daNimzo-indisk, klassisk, Pirc variant2B I G 2E E38daNimzo-indisk, klassisk, 4...c5MA  IɟѻE37daNimzo-indisk, klassisk, Noa variant, Hovedvariant, 7. Dc2>@ a ٿE36daNimzo-indisk, klassisk, Noa variant, 5. a3E? o /NGrE35daNimzo-indisk, klassisk, Noa variant, 5. cxd5 exd57> S $E34daNimzo-indisk, klassisk, Noa variant;= [ ; {xE33daNimzo-indisk, klassisk variant, 4...Sc62< I {jL݂E32daNimzo-indisk, klassisk variantA; g {cE31daNimzo-indisk, Leningrad variant, hovedvariant3: K 8:.E30daNimzo-indisk, Leningrad variant@9 e  b߮E29daNimzo-indisk, Sämisch variant, hovedvariant98 W p4E28daNimzo-indisk, Sämisch variant, 6. e3;7 [ \PTk;E27daNimzo-indisk, Sämisch variant, 5...0-0Q6  N"Z*Q5E26daNimzo-indisk, Sämisch variant, 4. a3 Lxc3+ 5. bxc3 c5 6. e3A5 g ?lE25daNimzo-indisk, Sämisch variant, Keres variant24 I 2E24daNimzo-indisk, Sämisch variant>3 a @kE23daNimzo-indisk, Spielmann, 4...c5, 5. dc Sc632 K *2NMIE22daNimzo-indisk, Spielmann variant61 Q }|E21daNimzo-indisk, Trespringer- variant(0 5 bxE20daNimzo-indisk forsvarA/ g ) FE19daDronningeindisk, gammel hovedvariant, 9. Dxc3@. e haE18daDronningeindisk, gammel hovedvariant, 7. Sc3/- C r)~E17daDronningeindisk, 5. Lg2 Le77, S r~ uCE16daDronningeindisk, Capablanca variant*+ 9 _=E15daDronningeindisk, 4. g3** 9 ?CE14daDronningeindisk, 4. e39) W HM(E13daDronningeindisk, 4. Sc3, hovedvariant+( ; Eg}E12daDronningeindisk forsvar'' 3 0eҞE11daBogo-Indisk forsvar-& ? i E10daDronningebondespil 3. Sf33% K S-ŰE09daKatalansk, lukket, hovedvariant-$ ? GZ9˅E08daKatalansk, lukket, 7. Dc2/# C ^(+.E07daKatalansk, lukket, 6...Sbd7-" ? `cb,(E06daKatalansk, lukket, 5. Sf35! O #fQ05E05daKatalansk, åbent, klassisk linje-  ? 7jE04daKatalansk, åbent, 5. Sf37 S ;ְE03daKatalansk, åbent, Aljechin variant- ? >jRaE02daKatalansk, åbent, 5. Da4% / >ZzazE01daKatalansk, lukketpychess-1.0.0/pychess.desktop0000644000175000017500000000055713353143212015313 0ustar varunvarun[Desktop Entry] Type=Application Name=PyChess Comment=PyChess is a fully featured, nice looking, easy to use chess client for the Gnome desktop GenericName=Chess Game Icon=pychess Exec=env UBUNTU_MENUPROXY= pychess Terminal=false Categories=Game;BoardGame; MimeType=application/x-chess-pgn;application/x-chess-epd;application/x-chess-fen;application/x-chess-pychess; pychess-1.0.0/README.md0000644000175000017500000000223213365545272013530 0ustar varunvarun[![Build Status](https://travis-ci.org/pychess/pychess.svg?branch=master)](https://travis-ci.org/pychess/pychess) [![Build status](https://ci.appveyor.com/api/projects/status/6ogd60wtqw84k5yv?svg=true)](https://ci.appveyor.com/project/gbtami/pychess-1t7a2) [![codecov](https://codecov.io/gh/pychess/pychess/branch/master/graph/badge.svg)](https://codecov.io/gh/pychess/pychess) [![Documentation Status](https://readthedocs.org/projects/pychess/badge/?version=latest)](http://pychess.readthedocs.org/en/latest/?badge=latest) PyChess - a free chess client for Linux/Windows The mission of PyChess is to create a free, pleasant, [PyGObject](https://pygobject.readthedocs.io/) based chess game for the Linux desktop that does everything you require from an advanced chess client. - Project homepage: http://pychess.org/ - Download page: http://pychess.org/download/ - Development page: https://github.com/pychess/pychess - Translations: https://www.transifex.com/projects/p/pychess/ - Mailing list: http://groups.google.com/group/pychess-people - Chat: http://webchat.freenode.net/?channels=pychess&uio=d4 - pychess-engine playing on lichess.org https://lichess.org/@/PyChessBot pychess-1.0.0/setup.py0000755000175000017500000003202013441162511013746 0ustar varunvarun# -*- coding: UTF-8 -*- from glob import glob from os import listdir from os.path import isdir, isfile import os import site import sys import subprocess this_dir = os.path.dirname(os.path.abspath(__file__)) sys.path = [os.path.join(this_dir, "lib")] + sys.path from pychess.Savers.pgn import PGNFile from pychess.System.protoopen import protoopen msi = False if len(sys.argv) > 1 and sys.argv[1] == "bdist_msi": import msilib # monkeypatching msilib to add missing Win64 needed by distutils.command.bdist_msi # see https://bugs.python.org/issue34251 msilib.Win64 = msilib.AMD64 try: from cx_Freeze import setup, Executable from cx_Freeze.windist import bdist_msi msi = True except ImportError: print("ERROR: can't import cx_Freeze!") sys.exit(1) # Monkeypatching cx_freezee to do per user installer class peruser_bdist_msi(bdist_msi): # noqa def add_properties(self): metadata = self.distribution.metadata props = [ ('DistVersion', metadata.get_version()), ('DefaultUIFont', 'DlgFont8'), ('ErrorDialog', 'ErrorDlg'), ('Progress1', 'Install'), ('Progress2', 'installs'), ('MaintenanceForm_Action', 'Repair'), ('ALLUSERS', '2'), ('MSIINSTALLPERUSER', '1')] email = metadata.author_email or metadata.maintainer_email if email: props.append(("ARPCONTACT", email)) if metadata.url: props.append(("ARPURLINFOABOUT", metadata.url)) if self.upgrade_code is not None: props.append(("UpgradeCode", self.upgrade_code)) msilib.add_data(self.db, 'Property', props) bdist_msi.add_properties = peruser_bdist_msi.add_properties else: from distutils.core import setup if sys.version_info < (3, 4, 2): print('ERROR: PyChess requires Python >= 3.4.2') sys.exit(1) if sys.platform == "win32": try: from gi.repository import Gtk print("Gtk verion is %s.%s.%s", (Gtk.MAJOR_VERSION, Gtk.MINOR_VERSION, Gtk.MICRO_VERSION)) except ImportError: print('ERROR: PyChess in Windows Platform requires to install PyGObject.') print('Installing from http://sourceforge.net/projects/pygobjectwin32') sys.exit(1) from imp import load_module, find_module pychess = load_module("pychess", *find_module("pychess", ["lib"])) VERSION = pychess.VERSION NAME = "pychess" # We have to subclass register command because # PyChess from another author already exist on pypi. from distutils.command.register import register class RegisterCommand(register): def run(self): self.distribution.metadata.name = "PyChess-%s" % pychess.VERSION_NAME register.run(self) DESC = "Chess client" LONG_DESC = """PyChess is a chess client for playing and analyzing chess games. It is intended to be usable both for those totally new to chess as well as advanced users who want to use a computer to further enhance their play. PyChess has a builtin python chess engine and auto-detects most popular chess engines (Stockfish, Rybka, Houdini, Shredder, GNU Chess, Crafty, Fruit, and many more). These engines are available as opponents, and are used to provide hints and analysis. PyChess also shows analysis from opening books and Gaviota end-game tablebases. When you get sick of playing computer players you can login to FICS (the Free Internet Chess Server) and play against people all over the world. PyChess has a built-in Timeseal client, so you won't lose clock time during a game due to lag. PyChess also has pre-move support, which means you can make (or start making) a move before your opponent has made their move. PyChess has many other features including: - CECP and UCI chess engine support with customizable engine configurations - Polyglot opening book support - Hint and Spy move arrows - Hint, Score, and Annotation panels - Play and analyze games in separate game tabs - 18 chess variants including Chess960, Suicide, Crazyhouse, Shuffle, Losers, Piece Odds, and Atomic - Reads and writes PGN, EPD and FEN chess file formats - Undo and pause chess games - Move animation in games - Drag and drop chess files - Optional game move and event sounds - Chess piece themes with 40 built-in piece themes - Legal move highlighting - Direct copy+paste pgn game input via Enter Game Notation open-game dialog - Internationalised text and Figurine Algebraic Notation (FAN) support - Translated into 38 languages (languages with +5% strings translated) - Easy to use and intuitive look and feel""" CLASSIFIERS = [ 'Development Status :: 3 - Alpha', 'Environment :: X11 Applications :: GTK', 'Intended Audience :: End Users/Desktop', 'License :: OSI Approved :: GNU General Public License v3 (GPLv3)', 'Operating System :: POSIX', 'Programming Language :: Python :: 3', 'Topic :: Games/Entertainment :: Board Games'] os.chdir(os.path.abspath(os.path.dirname(__file__))) # save stderr = sys.stderr stdout = sys.stdout if not isfile("eco.db"): exec(open("pgn2ecodb.py").read()) if not isfile(os.path.abspath("pieces/Pychess.png")): exec(open("create_theme_preview.py").read()) # restore sys.stderr = stderr sys.stdout = stdout DATA_FILES = [("share/pychess", ["README.md", "AUTHORS", "ARTISTS", "DOCUMENTERS", "LICENSE", "TRANSLATORS", "pychess_book.bin", "eco.db"])] # UI DATA_FILES += [("share/pychess/glade", glob('glade/*.glade'))] DATA_FILES += [("share/pychess/glade", ['glade/background.jpg'])] DATA_FILES += [("share/pychess/glade", glob('glade/*.png'))] DATA_FILES += [("share/pychess/glade/16x16", glob('glade/16x16/*.png'))] DATA_FILES += [("share/pychess/glade/48x48", glob('glade/48x48/*.png'))] DATA_FILES += [("share/pychess/glade", glob('glade/*.svg'))] DATA_FILES += [("share/pychess/flags", glob('flags/*.png'))] DATA_FILES += [("share/pychess/boards", glob('boards/*.png'))] # Data DATA_FILES += [('share/mime/packages', ['pychess.xml'])] DATA_FILES += [('share/appdata', ['pychess.appdata.xml'])] DATA_FILES += [('share/applications', ['pychess.desktop'])] DATA_FILES += [('share/icons/hicolor/scalable/apps', ['pychess.svg'])] DATA_FILES += [('share/menu', ['menu/pychess'])] DATA_FILES += [('share/pixmaps', ['pychess.svg', 'pychess.xmp'])] if sys.platform == "win32": DATA_FILES += [("share/pychess/sounds", glob('sounds/*.wav'))] DATA_FILES += [("share/pychess/engines", glob('engines/*.*'))] else: DATA_FILES += [("share/pychess/sounds", glob('sounds/*.ogg'))] DATA_FILES += [('share/icons/hicolor/24x24/apps', ['pychess.png'])] DATA_FILES += [('share/gtksourceview-3.0/language-specs', ['gtksourceview-3.0/language-specs/pgn.lang'])] # Piece sets DATA_FILES += [("share/pychess/pieces", glob('pieces/*.png'))] DATA_FILES += [("share/pychess/pieces/ttf", glob('pieces/ttf/*.ttf'))] # Lectures, puzzles, lessons for filename in glob('learn/puzzles/*.pgn'): chessfile = PGNFile(protoopen(filename)) chessfile.init_tag_database() for filename in glob('learn/lessons/*.pgn'): chessfile = PGNFile(protoopen(filename)) chessfile.init_tag_database() DATA_FILES += [("share/pychess/learn/puzzles", glob('learn/puzzles/*.olv'))] DATA_FILES += [("share/pychess/learn/puzzles", glob('learn/puzzles/*.pgn'))] DATA_FILES += [("share/pychess/learn/puzzles", glob('learn/puzzles/*.sqlite'))] DATA_FILES += [("share/pychess/learn/lessons", glob('learn/lessons/*.pgn'))] DATA_FILES += [("share/pychess/learn/lessons", glob('learn/lessons/*.sqlite'))] DATA_FILES += [("share/pychess/learn/lectures", glob('learn/lectures/*.txt'))] for dir in [d for d in listdir('pieces') if isdir(os.path.join('pieces', d)) and d != 'ttf']: DATA_FILES += [("share/pychess/pieces/" + dir, glob('pieces/' + dir + '/*.svg'))] # Manpages DATA_FILES += [('share/man/man1', ['manpages/pychess.1.gz'])] # Language pofile = "LC_MESSAGES/pychess" if sys.platform == "win32": argv0_path = os.path.dirname(os.path.abspath(sys.executable)) if pychess.MSYS2: major, minor, micro, releaselevel, serial = sys.version_info msgfmt_path = argv0_path + "/../lib/python%s.%s/tools/i18n/" % (major, minor) else: msgfmt_path = argv0_path + "/tools/i18n/" msgfmt = "%s %smsgfmt.py" % (os.path.abspath(sys.executable), msgfmt_path) else: msgfmt = "msgfmt" pychess_langs = [] for dir in [d for d in listdir("lang") if isdir("lang/" + d) and d != "en"]: if sys.platform == "win32": command = "%s lang/%s/%s.po" % (msgfmt, dir, pofile) else: command = "%s lang/%s/%s.po -o lang/%s/%s.mo" % (msgfmt, dir, pofile, dir, pofile) subprocess.call(command.split()) DATA_FILES += [("share/locale/" + dir + "/LC_MESSAGES", ["lang/" + dir + "/" + pofile + ".mo"])] pychess_langs.append(dir) PACKAGES = [] if msi: if pychess.MSYS2: gtk_data_path = sys.prefix gtk_exec_path = os.path.join(sys.prefix, "bin") lang_path = os.path.join(sys.prefix, "share", "locale") else: # Get the site-package folder, not everybody will install # Python into C:\PythonXX site_dir = site.getsitepackages()[1] gtk_data_path = os.path.join(site_dir, "gnome") gtk_exec_path = os.path.join(site_dir, "gnome") lang_path = os.path.join(site_dir, "gnome", "share", "locale") # gtk3.0 .mo files gtk_mo = [f + "/LC_MESSAGES/gtk30.mo" for f in os.listdir(lang_path) if f in pychess_langs] # Collect the list of missing dll when cx_freeze builds the app gtk_exec = ['libgtksourceview-3.0-1.dll', 'libjpeg-8.dll', 'librsvg-2-2.dll', ] # We need to add all the libraries too (for themes, etc..) gtk_data = ['etc', 'lib/gdk-pixbuf-2.0', 'lib/girepository-1.0', 'share/icons/adwaita/icon-theme.cache', 'share/icons/adwaita/index.theme', 'share/icons/adwaita/16x16', 'share/icons/adwaita/24x24', 'share/icons/adwaita/48x48', 'share/glib-2.0'] # Create the list of includes as cx_freeze likes include_files = [] for mo in gtk_mo: mofile = os.path.join(lang_path, mo) if os.path.isfile(mofile): include_files.append((mofile, "share/locale/" + mo)) for dll in gtk_exec: include_files.append((os.path.join(gtk_exec_path, dll), dll)) # Let's add gtk data for lib in gtk_data: include_files.append((os.path.join(gtk_data_path, lib), lib)) base = None # Lets not open the console while running the app if sys.platform == "win32": base = "Win32GUI" executables = [Executable("pychess", base=base, icon="pychess.ico", shortcutName="PyChess", shortcutDir="DesktopFolder"), Executable(script="lib/__main__.py", targetName="pychess-engine.exe", base=base)] bdist_msi_options = { "upgrade_code": "{5167584f-c196-428f-be40-4c861025e90a}", "add_to_path": False} perspectives = ["pychess.perspectives"] for persp in ("welcome", "games", "fics", "database", "learn"): perspectives.append("pychess.perspectives.%s" % persp) build_exe_options = { "path": sys.path + ["lib"], "includes": ["gi"], "packages": ["asyncio", "gi", "sqlalchemy.dialects.sqlite", "sqlalchemy.sql.default_comparator", "pexpect", "pychess"] + perspectives, "include_files": include_files} if pychess.MSYS2: build_exe_options["excludes"] = ["tkinter", "pychess.external.gbulb"] else: build_exe_options["include_msvcr"] = True else: PACKAGES = ["pychess", "pychess.gfx", "pychess.ic", "pychess.ic.managers", "pychess.Players", "pychess.Savers", "pychess.System", "pychess.Utils", "pychess.Utils.lutils", "pychess.Variants", "pychess.Database", "pychess.widgets", "pychess.widgets.pydock", "pychess.perspectives", "pychess.perspectives.welcome", "pychess.perspectives.games", "pychess.perspectives.fics", "pychess.perspectives.database", "pychess.perspectives.learn", "pychess.external", "pychess.external.gbulb"] build_exe_options = {} bdist_msi_options = {} executables = {} setup( cmdclass={"register": RegisterCommand}, name=NAME, version=VERSION, author='Pychess team', author_email='pychess-people@googlegroups.com', maintainer='Thomas Dybdahl Ahle', classifiers=CLASSIFIERS, keywords='python gtk chess xboard gnuchess game pgn epd board linux', description=DESC, long_description=LONG_DESC, license='GPL3', url='http://pychess.org', download_url='http://pychess.org/download/', package_dir={'': 'lib'}, packages=PACKAGES, data_files=DATA_FILES, scripts=['pychess'], options={"build_exe": build_exe_options, "bdist_msi": bdist_msi_options}, executables=executables ) pychess-1.0.0/setup.cfg0000644000175000017500000000102413365551753014071 0ustar varunvarun[flake8] builtins = _,ngettext,reload ignore = E501,N802,N806,N803,N805,C901,W504,W605 # http://pep8.readthedocs.org/en/latest/intro.html#error-codes # - E501 line too long # https://github.com/PyCQA/pep8-naming # - N802 function name should be lowercase # - N803 argument name should be lowercase # - N805 first argument of a method should be named 'self' # - N806 variable in function should be lowercase # https://github.com/pycqa/mccabe # - C901 'some_code_you_wrote' is too complex exclude = build/*,lib/pychess/__pycache__/* pychess-1.0.0/learn/0000755000175000017500000000000013467766037013362 5ustar varunvarunpychess-1.0.0/learn/puzzles/0000755000175000017500000000000013467766037015076 5ustar varunvarunpychess-1.0.0/learn/puzzles/mate_in_2.sqlite0000644000175000017500000041000013441162257020133 0ustar varunvarunSQLite format 3@ !. >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) 3k/home/tamas/pychess/learn/puzzles/mate_in_2.pgnG+John Richardson g ufWJ9+ zpdULC6) w f Y L > 6 ,    x f [ K > 0 "   x a U I ? 5 )  gMeissen fHaguenau eLegnica dBratto cTallinn bRijekaa+Khanty Mansyisk`Sochi _Dresden^Tulsa]Malme \Bristol [GausdalZ1Cappelle la GrandeYTurin XGibraltar WCalviaVKazan UGerani TBelgium SCalicut RRethymnon QInternet P!Kramatorsk O!ChalkidikiNNarva MAviles LTbilisi KLippstadt JZalakaros IBesanconH#Marina d'Or GBastiaF'StaffordshireE)St. Petersburg DKoszalin CVoronezhB/Kremlin PCA Rapid AMitilini @Hungary ?Weilburg>+Villa Ballester =Nijmegen <Duisburg ;Brussels:#Bad Mondorf9Torcy8USA 7Wuppertal 6Adelaide 5Tashkent4%Wijk aan Zee3Minsk2%Philadelphia1Nouro 0Germany /Lucerne .Palo Alto -Caorle ,Amsterdam +Moscow *Skopje )Hastings (Siegen 'Vinkovci&)Polanica Zdroj %Novi Sad $Belgrade#Baku"Bled !!Ulan Bator Vilniuscorr. Budapest Southsea%Buenos Aires !Montevideo Stockholm Warsaw !Folkestone Munich#Netherlands)Bad OeynhausenGrazBrunn corr. USA Melbourne%Scheveningen Carlsbad !Heidelberg !Manchester Leipzig Riga Vienna NurembergSimul Frankfurt England Berlin BreslauParis New York London g M D \ 7 ?M  J { bK *  V  X v # @g L , x    *    :   y g Z  - 6 y 7V e  g ? 1q Meisseng Haguenauf Legnicae Brattod Tallinnc Rijekab+Khanty Mansyiska Sochi` Dresden_ Tulsa^ Malme] Bristol\ Gausdal[1Cappelle la GrandeZ TurinY GibraltarX CalviaW KazanV GeraniU BelgiumT CalicutS RethymnonR InternetQ!KramatorskP!ChalkidikiO NarvaN AvilesM TbilisiL LippstadtK ZalakarosJ BesanconI#Marina d'OrH BastiaG'StaffordshireF)St. PetersburgE KoszalinD VoronezhC/Kremlin PCA RapidB MitiliniA Hungary@ Weilburg?+Villa Ballester> Nijmegen= Duisburg< Brussels;#Bad Mondorf: Torcy9USA8 Wuppertal7 Adelaide6 Tashkent5%Wijk aan Zee4 Minsk3%Philadelphia2 Nouro1 Germany0 Lucerne/ Palo Alto. Caorle- Amsterdam, Moscow+ Skopje* Hastings) Siegen( Vinkovci')Polanica Zdroj& Novi Sad% Belgrade$Baku#Bled"!Ulan Bator! Vilnius corr. Budapest Southsea%Buenos Aires!Montevideo Stockholm Warsaw!Folkestone Munich#Netherlands)Bad OeynhausenGraz Brunn corr. USA Melbourne%Scheveningen Carlsbad!Heidelberg!Manchester Leipzig Riga Vienna Nuremberg Simul Frankfurt England Berlin Breslau Paris New York  London   ?  ?  20180221! vN' qk}we_YSMG5A;/)# {uoic]WPIB;4 g-&  ~ w p i b [ T M F ? 8 1 * #      w o _ W O G ? 7 / '     /-+)'%#!  ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIH~G}F{EyDxCvBtAr@p?n>l=j<h;f:d9b8`7^6\5Z4X3J2U1S0Q/O.M-K,I+G*E)C(A'?&=%;$9#3"6!4 20.,*($#!          ~xrlf`ZTNHB<60*$ |vpjd^XRLF@:4.("  z t n h b \ V P J D > 8 2 , &     x p h ` X P H @ 8 0 (    ~~}}||{{zzyyxxwwvvuuttssrrqqppoonnmmllkkjjiihhggffeeddccbbaa``__^^]]\\[[ZZYYXXWWVVUUTTSSRRQQPPOONNMMLLKKJJIIHHGGFFEEDDCCBBAA@@??>>==<<;;::99887766554433221100//..--,,++**))((''&&%%$$##""!!       zupkfa\WRMHC>94/*%  {vqlgb]XSNID?:50+&!  z t n h b \ V P J D > 8 2 , &      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!       '~wpib[TMF?81*#{tmf_XQJC<5.'    x q j c \ U N G @ 9 2 + $      } t k b Y P G > 5 , #    x o f ] T K B 9 0 '~plmZG4tvrqfd^F~D}5| {~$z}y|xzwyvxuwtvsurtqsproqnpmolnxkmdjlVik?hj/gifhefdecdbcab`a_`^_]^\][\Z[YZXY}WXpVWsUVgTU\STPRSNQRCPQ2OPNOMNLLKKJJIIHHGGFFEEDDCCBBrAAn@@s??a>>\==Z<7 0)"  U  x q j c  \ N G @ 9 2 + $      w o g _ W O G ?  7 / '    .,*(&$"    ~}|{zyxwvutsrqponmlkjihgfYedcgbga`_^]\[ZYXWVUTSRmQHPONMLKlJIHHG|FzEYDwCuBsAq@o?m>k=i<g;e:c9a8_7]6[5Y4W3V2T1R0P/N.L-J,H+F*D)B(@'>&<%:$8#7"5!3 1/-+)'&%"           '~wpib[TMF?81*#{tmf_XQJC<5.'    x q j c \ U N G @ 9 2 + $      } t k b Y P G > 5 , #    x o f ] T K B 9 0 'xphhX@0pppp``X@~@}0| {~ z}y|xzwyvxuwtvsurtqsproqnpmolnxkm`jlPik8hj(gifhefdecdbcab`a_`^_]^\][\Z[YZXYxWXpVWpUV`TUXSTPRSHQR@PQ0OPNOMNLLKKJJIIHHGGFFEEDDCCBBpAAh@@p??`>>X==X<94/*%  {vqlgb]XSNID?:50+&!  z t n h b \ V P J D > 8 2 , &                                               ~ } | { z y x w v u t s r q p o n m l k j i h g f e d c b a ` _ ^ ] \ [ Z Y X W V U T S R Q P O N M L K J I H G F E D C B A @ ? > = < ; : 9 8 7 6 5 4 3 2 1 0 / . - , + * ) ( ' & % $ # " !                                      zupkfa\WRMHC>94/*%  {vqlgb]XSNID?:50+&!  z t n h b \ V P J D > 8 2 , &                                               ~ } | { z y x w v u t s r q p o n m l k j i h g f e d c b a ` _ ^ ] \ [ Z Y X W V U T S R Q P O N M L K J I H G F E D C B A @ ? > = < ; : 9 8 7 6 5 4 3 2 1 0 / . - , + * ) ( ' & % $ # " !                                       5# saI7ymg[UOC=1+%  e     ?}wqk  i T M F 8_YMS GA [;/)  v @ | p j d ^ . X R L F : 4 ( "    ~ w p b 1 * #  $$$$gfeed0+0005c0aaa0aa0ba++E`#__^]XXY\0~[}Z|Y{XzQyWxVwLvUuTtSsRrQqPpOoNn;mMlLkKjJiIhDgHfGeFdEcDbCaB`A_@^?]>\3[ Z5YX=W+=*<);(:'9&8%7$65#43"2 1!0 /.-,+*)('&%$#"!                 @   + 6CgI $v E ?$o p<  #  j<D^] ~ xr  a k 2Y ' M MP q 5 l I"T~ = 3b  m  j vV U[ Zt   6 O  _  t  M5 7 rJ#  8- H cQ .  a *G: ( ` # !u_L'Boris Grachev-Helgi Gretarsson'Axel Bachmann'Bart Michiels=Ernesto Fernandez Romero)Gadir Guseinov#Felix Levin5Inga Charkhalashvili3Ioannis Papaioannou%Gordon Plomp B Zambo!Darcy Lima3Alexandra Kosteniuk)Etienne Bacrot/Bogdan Grabarczyk'Emil Sutovsky3Bathuyag MongontuulG Gilquin+Elina Danielian)Garcia Vicente#Artem Iljin5Alexander Riazantsev-Iweta RadziewiczBidjukovaE. Bareev5;Aleksandra Dimitrijevic1Georgios Efthimiou%Diana Nemeth'Ferenc Berkes3Camilla Baginskaite+Carlos Bulcourf'Claudia Amura)Ilia Botvinnik%Colin Horton#Aiden Leech!Axel SmithI Dgumaev#James Berry'James Sherwin9Ana-Cristina Calotescu)Harmen Jonkman/Dmitri Reinderman%Alina Calota-Hoang Thanh Tran#Eric Lobron%David Howell1Almira Skripchenko'Alexei Shirov)Grigory Serper1Eric-Thierry Petit-Gregory KaidanovJohn Nunn)Fabian Geisler+Anatoly Trubmanf)Boguslaw Major-Eliska Richtrova1Alexander Van Beek-Bozidar Ivanovic'Eltaj Safarli1Alexander Gorbunov'Evgeny Agrest/Evgeny Vladimirov'Alexey Kuzmin%+Edward Formanek1Alexander Grischuk-Alexander Tjurin-Dmitry Andreikin1Bela Khotenashvili!Ian Rogers|'Baadur Jobava1Arnulf Westermeiery!Alex DunnexM 7Aleksandar Berelovich'Jeremy SilmanuM#Burak Firat#-Dragoslav Andrics%C Van Baarler9Francisco Vallejo Pons#Bent Larseno #3Aljoscha Feuerstack9Euler da Costa Moreira 9Badr-Eddine Khelfallah %Coskun Kulurj%Ana Srebrnic.-Henrique Meckingh)Anatoly Karpovg /Alexander Motylev+Dragoslav Tomicd+David Baramidze'Heinz Liebertb 7Gudmundur Kjartansson )Albin Planinec_+Dragoljub Ciric^7Dragoljub Velimirovic] I J Golemo[-Boris VladimirovZ'Boris SpasskyY+Erich EliskasesX t -Hichem Hamdouchi$DerrU ?Cedendemberel LhagvasurenS (7Cristina Adela Foisor,-Bojana Bejatovic+1Ekaterini Pavlidou* G KreppM BennsdorfL%Erno GerebenK Y!J. PenroseI+Arthur BisguierH z#Heinz HelmsF %Isaias PleciD H CordovaC  FahardoA1Alexander Alekhine@ %Boris Kostic> `:#Arthur Dake:%Jacob Gemzoe9 '+Dietmar Gebhard6 'A Van Mindeno4 'Albert Becker2 !7'Johann Berger- I Brunnemer')Charles Watson& 'Fritz Englund$'Hugo Suchting#)George Rotlevi")Emanuel Lasker%George Marco*/Aaron Nimzowitsch/Herbert Trenchard'Eugene Delmar!Frank Teed$+Harry Pillsbury Fiedler 'Albert Hodges#David SandsU!Carl Mayet )Gustav Neumann +Adolf Anderssen1Johannes Zukertort%Duke Isouard Blachy% Henry Buckle j,|eN;$:~lZ'B+0_X  r   | h S : %   D& w j V D 1  z d x k V C ,   S  @Ll tH _M H 8  r 7 } h U = -  d-%Laura Rogule/;Maja Velickovski-Kostic-/Tijana Blagojevic)'Maria Kursova(+Vitezslav Rasik'+Sasa Martinovic&#Samy Shoker%3Vlad-Cristian Jianu"-Sergey Fedorchuk!%Mladen Palac-Michal Olszewski'Rainer Polzin+Martin Zumsande1Krishnan Sasikiran)Pavel Tregubov)Marina Gabriel/Teodora Rogozenco'Pavel Potapov+Mukhit Ismailov#Tomi Nyback/Vladimir Fedoseev1Julia Krasnopeyeva)Tanja Butschek'Silvia Collas)Katrina Skinke )Phemelo Khetho 'Liem Le Quang /Tomasz Warakomski9Rodolfo Varron Abelgas+Suradj Hanoeman9Marvorii Nasriddinzoda+Mekhri Geldyeva-Vadim Zvjaginsev-Vladimir Akopian'Peter Svidler)Maxim Matlakov)Sanan Sjugirov'solomon Celis'Stephen Lukey/Shakil Abu Sufian!Jon Hammer#Robert Wade'Yuriy Kuzubov+Sergei Zhigalko1Radoslaw Wojtaszek#Joshua Hall-Katharina Bacler'Kaido Kulaots+Michail Brodsky K White!M Calzetta+Vladimir Potkin1Tatiana Shumiakina Zhu Chen'Michel Jadoul'M R Venkatesh'Surya Ganguly)Magnus Carlsen/Vladimir Galakhov%Zoltan Riblip'Zlatko Klaric} Z Vecsey,%Yury Shulman-Yasuji Matsumotof#Y KliavinshQ3Wlodzimierz Schmidta)William Winter8-Wilhelm Steinitz-Wilfried Paulsen )Werner Hobuschz'Walter Brownei)Vlastimil Hortw+Vladimir PetrovB/Viktor Kupreichik+Viktor Korchnoil-Vassily Ivanchuk3Valentina Golubenko!V Siametis/Tsiala Kasoshvili-Timothy Cranston;-Tigran Petrosianc+Thomas Willemze Springe5+Sofia Shepeleva Smith/Siegbert TarraschSery+'Sergey Smagin'Sergey Kudrin~'Sergey Chapar Schwartz 1Saviely Tartakower))Samuel Tinsley-Samuel Reshevskye Samsonov!/Saidali Iuldachev S Sulek\ Ryder'Ronald Bancod+Roman Slobodjan/Rodolfo KalksteinO/Richard Teichmann%%Richard Reti*+Richard Forster'Raymond Keeneq)Ratmir KholmovP%Ralph Zimmer+Rafael Vaganiank Pulitzer Probst/ PoschT-Piotr Mickiewicz5Paul Van Der Sterrenn#Paul Morphy!Paul Keres? Patton( Pal BenkoJ#P Froehlich.%Ozdal Barkanv%Oscar TennerG-Octav TroianescuR3Nona Gaprindashvili+Nick De Firmian)Nana DzagnidzeNN)Moshe Czerniak=+Milan Vidmar Sr7+Milan Matulovic`#Mikhail TalV)Miguel NajdorfN'Michael Adams'Max Kurschner Max Euwe3 Martin 'Mark TaimanovW'Marcos Luckis<1Maia Chiburdanidze'Lyons Rodgers%Luke McShane/Luis Hoyos-Millan1Luis Comas Fabrego+Luigi Santolinit)Ludwig Deutsch-Lucius EndzelinsE Lowig0'Louis Paulsen Liebscher{!Lev Gutman/Leonid Shamkovich'Lazaro Bruzon/Laurent Fressinet1Larry Christiansenm'Lajos Steiner1!Kerttu Oja#Katya Lahno'Judit Polgár'Josh Waitzkin/Joseph Blackburne +Jonathan Rowson l]G<'}kU?," w i ^ G 6 -  r _ N > )   y i X D 5 '   } s j Z H 4 " u ` L 7 " o^L;&tbP9$~eO8#pZH1 q\I4!u`K<)q]F2G#Katya LahnoF'Sergey ChaparE'Boris Grachev D!Kerttu OjaC3Valentina GolubenkoB'Bart MichielsA=Ernesto Fernandez Romero@)Gadir Guseinov?/Tsiala Kasoshvili>)Nana Dzagnidze=+Roman Slobodjan<1Maia Chiburdanidze ;B Zambo:)Ludwig Deutsch9/Laurent Fressinet8)Etienne Bacrot7/Bogdan Grabarczyk6'Emil Sutovsky5+Thomas Willemze4'Lazaro Bruzon 3G Gilquin2+John Richardson1+Jonathan Rowson0#Artem Iljin/5Alexander Riazantsev.-Piotr Mickiewicz -Bidjukova ,E. Bareev+'Judit Polgár *!V Siametis)1Georgios Efthimiou(%Diana Nemeth''Ferenc Berkes&+Richard Forster%'Ronald Bancod$+Carlos Bulcourf#'Claudia Amura")Ilia Botvinnik!%Yury Shulman #Aiden Leech%Luke McShane I Dgumaev/Saidali Iuldachev/Luis Hoyos-Millan'Josh Waitzkin)Harmen Jonkman/Dmitri Reinderman%Alina Calota-Hoang Thanh Tran#Eric Lobron%Ralph Zimmer1Almira Skripchenko'Alexei Shirov)Grigory Serper1Eric-Thierry Petit-Gregory Kaidanov John Nunn)Fabian Geisler +Anatoly Trubman /Leonid Shamkovich -Eliska Richtrova 3Nona Gaprindashvili -Bozidar Ivanovic-Vassily Ivanchuk1Luis Comas Fabrego'Michael Adams/Evgeny Vladimirov'Alexey Kuzmin !Lev Gutman+Edward Formanek+Nick De Firmian/Viktor Kupreichik'Sergey Smagin~'Sergey Kudrin}'Zlatko Klaric |!Ian Rogers {Liebscherz)Werner Hobuschy1Arnulf Westermeier x!Alex Dunnew)Vlastimil Hortv%Ozdal Barkanu'Jeremy Silmant+Luigi Santolinis-Dragoslav Andricr%C Van Baarleq'Raymond Keenep%Zoltan Riblio#Bent Larsenn5Paul Van Der Sterrenm1Larry Christiansenl+Viktor Korchnoik+Rafael Vaganianj%Coskun Kuluri'Walter Browneh-Henrique Meckingg)Anatoly Karpovf-Yasuji Matsumotoe-Samuel Reshevskyd+Dragoslav Tomicc-Tigran Petrosianb'Heinz Lieberta3Wlodzimierz Schmidt`+Milan Matulovic_)Albin Planinec^+Dragoljub Ciric]7Dragoljub Velimirovic \S Sulek [J GolemoZ-Boris VladimirovY'Boris SpasskyX+Erich EliskasesW'Mark TaimanovV#Mikhail TalUDerrTPoschS?Cedendemberel LhagvasurenR-Octav TroianescuQ#Y KliavinshP)Ratmir KholmovO/Rodolfo KalksteinN)Miguel Najdorf MG Krepp LBennsdorfK%Erno Gereben JPal Benko I!J. PenroseH+Arthur BisguierG%Oscar TennerF#Heinz HelmsE-Lucius EndzelinsD%Isaias Pleci CH CordovaB+Vladimir Petrov AFahardo@1Alexander Alekhine ?!Paul Keres>%Boris Kostic=)Moshe Czerniak<'Marcos Luckis;-Timothy Cranston:#Arthur Dake9%Jacob Gemzoe8)William Winter7+Milan Vidmar Sr6+Dietmar Gebhard 5Springe4'A Van Mindeno 3Max Euwe2'Albert Becker1'Lajos Steiner0Lowig /Probst.#P Froehlich-'Johann Berger ,Z Vecsey+Sery*%Richard Reti)1Saviely Tartakower (Patton 'Brunnemer&)Charles Watson%/Richard Teichmann$'Fritz Englund#'Hugo Suchting")George Rotlevi !Samsonov Schwartz)Emanuel Lasker%George Marco PulitzerRyder)Samuel Tinsley/Aaron Nimzowitsch/Herbert Trenchard'Eugene Delmar !Frank Teed'Max Kurschner'Lyons Rodgers+Harry Pillsbury Fiedler/Siegbert Tarrasch'Albert Hodges#David Sands-Wilhelm SteinitzSmith -Wilfried Paulsen Martin /Joseph Blackburne !Carl Mayet )Gustav Neumann+Adolf Anderssen1Johannes Zukertort%Duke Isouard#Paul Morphy Blachy'Louis PaulsenNN%Henry Buckle hZq^L>% {k^E) s c N : '  y f S @ (  j O 3   p ] I 5 "  v a J 6 " p_I8#~lZ/%Laura Rogule.%Ana Srebrnic-;Maja Velickovski-Kostic,7Cristina Adela Foisor+-Bojana Bejatovic*1Ekaterini Pavlidou)/Tijana Blagojevic('Maria Kursova'+Vitezslav Rasik&+Sasa Martinovic%#Samy Shoker$-Hichem Hamdouchi##Burak Firat"3Vlad-Cristian Jianu!-Sergey Fedorchuk 7Gudmundur Kjartansson%Mladen Palac-Michal Olszewski'Rainer Polzin+Martin Zumsande1Krishnan Sasikiran)Pavel Tregubov)Marina Gabriel/Teodora Rogozenco+David Baramidze/Alexander Motylev3Aljoscha Feuerstack'Pavel Potapov+Mukhit Ismailov#Tomi Nyback/Vladimir Fedoseev1Julia Krasnopeyeva)Tanja Butschek'Silvia Collas )Katrina Skinke )Phemelo Khetho 'Liem Le Quang 9Euler da Costa Moreira 9Badr-Eddine Khelfallah/Tomasz Warakomski%David Howell9Rodolfo Varron Abelgas+Suradj Hanoeman9Marvorii Nasriddinzoda+Mekhri Geldyeva9Francisco Vallejo Pons7Aleksandar Berelovich-Vadim Zvjaginsev-Vladimir Akopian~'Baadur Jobava}1Alexander Grischuk|'Peter Svidler{-Alexander Tjurinz)Maxim Matlakovy)Sanan Sjugirovx-Dmitry Andreikinw1Bela Khotenashviliv'Eltaj Safarliu'solomon Celist'Stephen Lukeys/Shakil Abu Sufian r!Jon Hammerq1Alexander Gorbunovp#James Berry o!Axel Smithn'Evgeny Agrestm%Colin Hortonl#Robert Wadek1Alexander Van Beekj'Yuriy Kuzubovi)Boguslaw Majorh+Sergei Zhigalko g!Darcy Limaf1Radoslaw Wojtaszeke#Joshua Halld'James Sherwinc-Katharina Baclerb-Iweta Radziewicza#Felix Levin`'Kaido Kulaots_+Michail Brodsky^+Elina Danielian]9Ana-Cristina Calotescu\3Camilla Baginskaite [K White Z!M CalzettaY;Aleksandra DimitrijevicX+Vladimir PotkinW)Garcia VicenteV3Bathuyag MongontuulU1Tatiana ShumiakinaT3Alexandra KosteniukS5Inga CharkhalashviliR3Ioannis Papaioannou QZhu ChenP%Gordon PlompO'Michel JadoulN'M R VenkateshM'Surya GangulyL-Helgi GretarssonK)Magnus CarlsenJ/Vladimir GalakhovI'Axel BachmannH+Sofia Shepeleva -uY=!y]A% } a E ) e I -  i M 1  m Q 5  q U 9  uY=!y]A% }aE) eI-iM1mQ5qU9iK-#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2~#~Terminationmate in 2}#}Terminationmate in 2|#|Terminationmate in 2{#{Terminationmate in 2z#zTerminationmate in 2y#yTerminationmate in 2x#xTerminationmate in 2w#wTerminationmate in 2v#vTerminationmate in 2u#uTerminationmate in 2t#tTerminationmate in 2s#sTerminationmate in 2r#rTerminationmate in 2q#qTerminationmate in 2p#pTerminationmate in 2o#oTerminationmate in 2n#nTerminationmate in 2m#mTerminationmate in 2l#lTerminationmate in 2k#kTerminationmate in 2j#jTerminationmate in 2i#iTerminationmate in 2h#hTerminationmate in 2g#gTerminationmate in 2f#fTerminationmate in 2e#eTerminationmate in 2d#dTerminationmate in 2c#cTerminationmate in 2b#bTerminationmate in 2a#aTerminationmate in 2`#`Terminationmate in 2_#_Terminationmate in 2^#^Terminationmate in 2]#]Terminationmate in 2\#\Terminationmate in 2[#[Terminationmate in 2Z#ZTerminationmate in 2Y#YTerminationmate in 2X#XTerminationmate in 2W#WTerminationmate in 2V#VTerminationmate in 2U#UTerminationmate in 2T#TTerminationmate in 2S#STerminationmate in 2R#RTerminationmate in 2Q#QTerminationmate in 2P#PTerminationmate in 2O#OTerminationmate in 2N#NTerminationmate in 2M#MTerminationmate in 2L#LTerminationmate in 2K#KTerminationmate in 2J#JTerminationmate in 2I#ITerminationmate in 2H#HTerminationmate in 2G#GTerminationmate in 2F#FTerminationmate in 2E#ETerminationmate in 2D#DTerminationmate in 2C#CTerminationmate in 2B#BTerminationmate in 2A#ATerminationmate in 2@#@Terminationmate in 2?#?Terminationmate in 2>#>Terminationmate in 2=#=Terminationmate in 2<#  l N 0  | ^&#Terminationmate in 2%#Terminationmate in 2$#Terminationmate in 2##Terminationmate in 2"#Terminationmate in 2!#Terminationmate in 2 #Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2#Terminationmate in 2 #Terminationmate in 2 #Terminationmate in 2 #Terminationmate in 2 #Terminationmate in 2 #Terminationmate in 2#Terminationmate in 2 '9r E }  I v  MO}R~W2fb' !  } 'Y'X1939.??.???@A174r3/pbpn2n1/1p1prp1k/8/2PP2PB/P5N1/2B2R1P/R5K1 w - - 1 0e& !   &P&P1937.??.???>?17r1bq3r/ppp1b1kp/2n3p1/3B3Q/3p4/8/PPP2PPP/RNB2RK1 w - - 1 0c% !   %C%@1935.??.???<=17k1n3rr/Pp3p2/3q4/3N4/3Pp2p/1Q2P1p1/3B1PP1/R4RK1 w - - 1 0e$ !   $5$01935.??.???:;17r1bq2rk/pp3pbp/2p1p1pQ/7P/3P4/2PB1N2/PP3PPR/2KR4 w - - 1 0]# !  s #.#(1933.??.???8917r3q3/ppp3k1/3p3R/5b2/2PR3Q/2P1PrP1/P7/4K3 w - - 1 0X" !  i "0"01929.??.???73176k1/5p2/1p5p/p4Np1/5q2/Q6P/PPr5/3R3K w - - 1 0j! !    !#! 1927.??.???5617r1b1kb1r/pp1n1pp1/1qp1p2p/6B1/2PPQ3/3B1N2/P4PPP/R4RK1 w - - 1 0a  !  {  1927.??.???3417r1b2rk1/pp3ppp/3p4/3Q1nq1/2B1R3/8/PP3PPP/R5K1 w - - 1 0] !  s  1923.??.???12174rk2/2pQn2p/p4p2/1p2pN1P/4q3/2P3R1/5PPK/8 w - - 1 0c !   1922.??.???/017rnbkn2r/pppp1Qpp/5b2/3NN3/3Pp3/8/PPP1KP1P/R1B4q w - - 1 0j !    1922.??.???-.17r2qkb1r/2p1nppp/p2p4/np1NN3/4P3/1BP5/PP1P1PPP/R1B1K2R w - - 1 0f !    1921.??.???+,17r1b2rk1/2p2ppp/p7/1p6/3P3q/1BP3bP/PP3QP1/RNB1R1K1 w - - 1 0W !  g  1920.??.???)*178/1r5p/kpQ3p1/p3rp2/P6P/8/4bPPK/1R6 w - - 1 0k !    1920.??.???'(17r1b1k2r/ppQ1q2n/2p2p2/P3p2p/N3P1pP/1B4P1/1PP2P2/3R1NK1 w - - 1 0c !   1916.??.???&17rnb2b1r/p3kBp1/3pNn1p/2pQN3/1p2PP2/4B3/Pq5P/4K3 w - - 1 0g !   1914.??.???%17rn2kb1r/pp3ppp/4p1qn/1p4B1/2B5/3P2QP/PPP2PP1/R3K2R w - - 1 0g !   1913.??.???$172kr1b1r/pp3ppp/2p1b2q/4B3/4Q3/2PB2R1/PPP2PPP/3R2K1 w - - 1 0c !   1911.??.???"#176k1/1p1r1pp1/p1r3b1/3pPqB1/2pP4/Q1P4R/P3P2K/6R1 w - - 1 0c !   1908.??.??? !17r2q1k1r/ppp1bB1p/2np4/6N1/3PP1bP/8/PPP5/RNB2RK1 w - - 1 0k !     1903.??.???17r2q2nr/5p1p/p1Bp3b/1p1NkP2/3pP1p1/2PP2P1/PP5P/R1Bb1RK1 w - - 1 0a !  {  1900.??.???17r2k2nr/pp1b1Q1p/2n4b/3N4/3q4/3P4/PPP3PP/4RR1K w - - 1 0b !  }  1899.??.???17rn2kb1r/1pQbpppp/1p6/qp1N4/6n1/8/PPP3PP/2KR2NR w - - 1 0` !  { 1899.??.???173k1r1r/pb3p2/1p4p1/1B2B3/3qn3/6QP/P4RP1/2R3K1 w - - 1 0e !    1899.??.??? 17r1b3nr/ppqk1Bbp/2pp4/4P1B1/3n4/3P4/PPP2QPP/R4RK1 w - - 1 0^ !  u  1898.??.???17r2qrb2/p1pn1Qp1/1p4Nk/4PR2/3n4/7N/P5PP/R6K w - - 1 0i !    1896.??.???17rnbqkbn1/ppppp3/7r/6pp/3P1p2/3BP1B1/PPP2PPP/RN1QK1NR w - - 1 0f  !    x 1893.??.???17r2qk2r/pb4pp/1n2Pb2/2B2Q2/p1p5/2P5/2B2PPP/RN2R1K1 w - - 1 0e  !   o h1893.??.???173q2r1/4n2k/p1p1rBpp/PpPpPp2/1P3P1Q/2P3R1/7P/1R5K w - - 1 0h  !   ` ` 1892.??.???17r2q1b1r/1pN1n1pp/p1n3k1/4Pb2/2BP4/8/PPP3PP/R1BQ1RK1 w - - 1 0a  !  { R P1891.??.???17r1b2k1r/ppppq3/5N1p/4P2Q/4PP2/1B6/PP5P/n2K2R1 w - - 1 0b  !  } E@1887.??.???17r4br1/3b1kpp/1q1P4/1pp1RP1N/p7/6Q1/PPB3PP/2KR4 w - - 1 0b !  } @@1882.??.??? 17r1nk3r/2b2ppp/p3b3/3NN3/Q2P3q/B2B4/P4PPP/4R1K1 w - - 1 0c !   ,(1878.??.??? 175rk1/1p1q2bp/p2pN1p1/2pP2Bn/2P3P1/1P6/P4QKP/5R2 w - - 1 0a !  { % 1876.??.??? 171r1kr3/Nbppn1pp/1b6/8/6Q1/3B1P2/Pq3P1P/3RR1K1 w - - 1 0c !   1866.??.??? 175rkr/pp2Rp2/1b1p1Pb1/3P2Q1/2n3P1/2p5/P4P2/4R1K1 w - - 1 0c !    1865.??.???17r1b2k1r/ppp1bppp/8/1B1Q4/5q2/2P5/PPP2PPP/R3R1K1 w - - 1 0` !  y 1858.??.???174kb1r/p2n1ppp/4q3/4p1B1/4P3/1Q6/PPP2PPP/2KR4 w k - 1 0] !  s 1857.??.???171rb4r/pkPp3p/1b1P3n/1Q6/N3Pp2/8/P1P3PP/7K w - - 1 0f !    1840.??.???17r2qkb1r/pp2nppp/3p4/2pNN1B1/2BnP3/3P4/PPP2PPP/R2bK2R w KQkq - 1 0 '1_ . Z 1 b ?~cJP#R.mN !    PP71990.??.???171r3rk1/1pnnq1bR/p1pp2B1/P2P1p2/1PP1pP2/2B3P1/5PK1/2Q4R w - - 1 0TM !  ] OO1988.??.???173n4/1R6/p5k1/2B5/1P3PK1/r7/8/8 w - - 1 0cL !  { NN61988.??.???17r4kr1/1b2R1n1/pq4p1/4Q3/1p4P1/5P2/PPP4P/1K2R3 w - - 1 0gK !   LL51987.??.???173rrk2/2p2pR1/p4n2/1p1PpP2/2p2q1P/3P1BQ1/PPP5/6RK w - - 1 0fJ !   KK41987.??.???l178/1p3Qb1/p5pk/P1p1p1p1/1P2P1P1/2P1N2n/5P1P/4qB1K w - - 1 0gI !   JJ21987.??.???17r2r3k/b1qn2pp/1p2Bp2/2p2P2/PP1pQ3/7R/1B3PPP/5RK1 w - - 1 0\H !  o II31985.??.???176k1/3r3p/p1q3pP/1p1p4/3Q4/4R1P1/P4PK1/8 w - - 1 0fG !   HH21985.??.???H~173r2k1/p1p2p2/bp2p1nQ/4PB1P/2pr3q/6R1/PP3PP1/3R2K1 w - - 1 0eF !   GG11984.??.???|}171nbk1b1r/1r6/p2P2pp/1B2PpN1/2p2P2/2P1B3/7P/R3K2R w - - 1 0nE !   FF1984.??.???z{172bq1rk1/r1p1b1pn/p2pP1Np/1p1B1Q2/4P3/2P4P/PP3PP1/R1B1R1K1 w - - 1 0]D !  s EE01982.??.???Yy175R2/4r1r1/1p4k1/p1pB2Bp/P1P4K/2P1p3/1P6/8 w - - 1 0`C !  y DD/1982.??.???wx171r2q2k/4N2p/3p1Pp1/2p1n1P1/2P5/p2P2KQ/P3R3/8 w - - 1 0cB !   CC.1981.??.???uv17r3q1r1/1p2bNkp/p3n3/2PN1B1Q/PP1P1p2/7P/5PP1/6K1 w - - 1 0bA !  } BrBp-1981.??.???st175b2/R4p1p/1r2kp2/1p2pN2/2r1P3/P1P3P1/1PK4P/3R4 w - - 1 0^@ !  u AnAh1980.??.???qr17r3q1k1/5p2/3P2pQ/Ppp5/1pnbN2R/8/1P4PP/5R1K w - - 1 0X? !  i @s@p 1979.??.???op172QR4/6b1/1p4pk/7p/5n1P/4rq2/5P2/5BK1 w - - 1 0]> !  s ?a?`,1978.??.???mn171n6/p3q2p/2pNk3/1pP1p3/1P2P2Q/2P3P1/6K1/8 w - - 1 0Z= !  m >\>X+1975.??.???kl176rk/6pp/5p2/p7/P2Q1N2/4P1P1/2r2n1P/6K1 w - - 1 0]< !  s =Z=X*1972.??.???ij17r4kr1/pbNn1q1p/1p6/2p2BPQ/5B2/8/P6P/b4RK1 w - - 1 0^; !  u 1996.??.???178/p1R3p1/4p1kn/3p3N/3Pr2P/6P1/PP3K2/8 w - - 1 0h[ !   ]]31994.??.???17r3nr1k/1b2Nppp/pn6/q3p1P1/P1p4Q/R7/1P2PP1P/2B2RK1 w - - 1 0aZ !  y \\1994.??.???175b2/q4r1p/p3k1p1/2pNppP1/1P6/3Q1P1P/P7/1K1R4 w - - 1 0TY !  ] [[51993.??.???178/8/2N1P3/1P6/4Q3/4b2K/4k3/4q3 w - - 1 0^X !  q ZZ1992.??.???176k1/5p2/p3bRpQ/4q3/2r3P1/6NP/P1p2R1K/1r6 w - - 1 0[W !  k Y}Yx=1992.??.???173R1rk1/1pp2pp1/1p6/8/8/P7/1q4BP/3Q2K1 w - - 1 0cV !  { XpXp<1992.??.???172Q5/pp2rk1p/3p2pq/2bP1r2/5RR1/1P2P3/PB3P1P/7K w - - 1 0[U !  k WsWp;1992.??.???178/7p/5pk1/3n2pq/3N1nR1/1P3P2/P6P/4QK2 w - - 1 0]T !  o VgV`:1991.??.???175r1k/p2n1p1p/5P1N/1p1p4/2pP3P/8/PP4RK/8 w - - 1 0dS !  } U\UX+1991.??.???17q2br1k1/1b4pp/3Bp3/p6n/1p3R2/3B1N2/PP2QPPP/6K1 w - - 1 0aR !  w TPTP91991.??.???172q1r3/4pR2/3rQ1pk/p1pnN2p/Pn5B/8/1P4PP/3R3K w - - 1 0ZQ !  k SNSH 1991.??.???m174rk2/pp2N1bQ/5p2/8/2q5/P7/3r2PP/4RR1K w - - 1 0`P !  w RCR@1991.??.???H175k2/p3Rr2/1p4pp/q4p2/1nbQ1P2/6P1/5N1P/3R2K1 w - - 1 0hO !   Q2Q081990.??.???175r1k/pp1n1p1p/5n1Q/3p1pN1/3P4/1P4RP/P1r1qPP1/R5K1 w - - 1 0 (qE ` + i  5 o DyS(]+b9q_   q d2013.30.4?172r5/2k4p/1p2pp2/1P2qp2/8/Q5P1/4PP1P/R5K1 w - - 1 0c   { 02013.7.4?17n3r1k1/Q4R1p/p5pb/1p2p1N1/1q2P3/1P4PB/2P3KP/8 w - - 1 0\   k +2013.12.2?176k1/p2p2p1/8/3np1N1/1P5R/3q2P1/5RKP/8 w - - 1 0Z   g 02012.2.12?178/R7/pp1b2kp/1b1B1p2/5P1P/5KP1/P7/8 w - - 1 0j !   ~x02012.21.10?174rk2/1bq2p1Q/3p1bp1/1p1n2N1/4PB2/2Pp3P/1P1N4/5RK1 w - - 1 0d !  y pp02012.20.10?17k2r4/ppRn2p1/6p1/1P3p2/3p1B2/6P1/P4PBP/4n1K1 w - - 1 0_   q lh52012.14.3?178/3R3p/2b4k/p1p1B1p1/2n2PB1/3p1P2/P7/6K1 w - - 1 0Z   i mhc2012.8.1?178/8/2K2b2/2N2k2/1p4R1/1B3n1P/3r1P2/8 w - - 1 0k !   ZX02011.??.???17r1b2k2/1p1p1r1B/n4p2/p1qPp3/2P4N/4P1R1/PPQ3PP/R5K1 w - - 1 0d !  y G@a2010.??.??? 177k/p1p2bp1/3q1N1p/4rP2/4pQ2/2P4R/P2r2PP/4R2K w - - 1 0g !   40a2010.??.???  17r4r1k/pp5p/n5p1/1q2Np1n/1Pb5/6P1/PQ2PPBP/1RB3K1 w - - 1 0^ !  m a2010.??.???  176rk/6p1/4R2p/p2pP2b/5Q2/2P2PB1/1q4PK/8 w - - 1 0b !  u 02010.??.???17rnR5/p3p1kp/4p1pn/bpP5/5BP1/5N1P/2P2P2/2K5 w - - 1 0g !   a2010.??.???173n1k2/5p2/2p1bb2/1p2pN1q/1P2P3/2P3Q1/5PB1/3R2K1 w - - 1 0Y !  c a2010.??.???178/5Qpk/p1R4p/P2p4/6P1/2rq4/5PPK/8 w - - 1 0a !  s 02010.??.???172Q5/1p3p2/3b1k1p/3Pp3/4B1R1/4q1P1/r4PK1/8 w - - 1 0d !  y b2010.??.???17r7/4k1Pp/2n1p2P/q2pp1N1/1p4P1/1P6/P4R2/1K1R4 w - - 1 0X  !  a a2009.??.???178/p4q2/6k1/1p3rP1/3Q4/8/PPP5/K6R w - - 1 0Z  !  e +2008.??.???178/k1p1q3/Pp5Q/4p3/2P1P2p/3P4/4K3/8 w - - 1 0k  !   +2008.??.???171r3b2/1bp2pkp/p1q4N/1p1n1pBn/8/2P3QP/PPB2PP1/4R1K1 w - - 1 0g  !   E2008.??.???17r4r1k/p2p3p/bp1Np3/4P3/2P2nR1/3B1q2/P1PQ4/2K3R1 w - - 1 0]  !  k `2008.??.???177r/3kbp1p/1Q3R2/3p3q/p2P3B/1P5K/P6P/8 w - - 1 0^ !  m #2008.??.???175r2/7p/3R4/p3pk2/1p2N2p/1P2BP2/6PK/4r3 w - - 1 0` !  q _2008.??.???173R4/3Q1p2/q1rn2kp/4p3/4P3/2N3P1/5P1P/6K1 w - - 1 0` !  q _2008.??.???171Q6/r3R2p/k2p2pP/p1q5/Pp4P1/5P2/1PP3K1/8 w - - 1 0j !   tp^2008.??.???17rqb2bk1/3n2pr/p1pp2Qp/1p6/3BP2N/2N4P/PPP3P1/2KR3R w - - 1 0_ !  o vp]2008.??.???178/5prk/p5rb/P3N2R/1p1PQ2p/7P/1P3RPq/5K2 w - - 1 0b !  u rpX2007.??.???178/1R3p2/3rk2p/p2p2p1/P2P2P1/3B1PN1/5K1P/r7 w - - 1 0X !  a qpX2007.??.???177R/3r4/8/3pkp1p/5N1P/b3PK2/5P2/8 w - - 1 0d !  y f`2006.??.???17r4rk1/5Rbp/p1qN2p1/P1n1P3/8/1Q3N1P/5PP1/5RK1 w - - 1 0] !  k d`Y2006.??.???171r2Rr2/3P1p1k/5Rpp/qp6/2pQ4/7P/5PPK/8 w - - 1 0c !  w ^X\2006.??.???176rk/1r2pR1p/3pP1pB/2p1p3/P6Q/P1q3P1/7P/5BK1 w - - 1 0n~ !    F@02006.??.???17r2q1k1r/3bnp2/p1n1pNp1/3pP1Qp/Pp1P4/2PB4/5PPP/R1B2RK1 w - - 1 0_} !  o D@[2006.??.???17r7/6R1/ppkqrn1B/2pp3p/P6n/2N5/8/1Q1R1K2 w - - 1 0]| !  k 50Z2006.??.???178/p2q1p1k/4pQp1/1p1b2Bp/7P/8/5PP1/6K1 w - - 1 0b{ !  y   Y2006.??.???176k1/1r4np/pp1p1R1B/2pP2p1/P1P5/1n5P/6P1/4R2K w - - 1 0]z !  o ~$~ X2005.??.???171k3r2/4R1Q1/p2q1r2/8/2p1Bb2/5R2/pP5P/K7 w - - 1 0`y !  u }}Q2004.??.???173nk1r1/1pq4p/p3PQpB/5p2/2r5/8/P4PPP/3RR1K1 w - - 1 0ax !  w ||W2004.??.???175r2/1qp2pp1/bnpk3p/4NQ2/2P5/1P5P/5PP1/4R1K1 w - - 1 0Vw !  a zzV2004.??.???175R2/6k1/3K4/p6r/1p1NB3/1P4r1/8/8 w - - 1 0  <| K Z&   i $2013.2.8?./175bk1/6p1/5PQ1/pp4Pp/2p4P/P2r4/1PK5/8 w - - 1 0a%   u $2013.26.7?,-173r2k1/6pp/1nQ1R3/3r4/3N2q1/6N1/n4PPP/4R1K1 w - - 1 0h$    $2013.24.7?*+173rr2k/pp1b2b1/4q1pp/2Pp1p2/3B4/1P2QNP1/P6P/R4RK1 w - - 1 0_#   q $2013.23.7?()171r3k2/4R3/1p4Pp/p1pN1p2/2Pn1K2/1P6/1P6/8 w - - 1 0]"   o g2013.5.6?&'171r3r1k/qp5p/3N4/3p2Q1/p6P/P7/1b6/1KR3R1 w - - 1 0]!   o f2013.5.6?$%177R/1bpkp3/p2pp3/3P4/4B1q1/2Q5/4NrP1/3K4 w - - 1 0`    s e2013.13.5?"#176k1/p2rR1p1/1p1r1p1R/3P4/4QPq1/1P6/P5PK/8 w - - 1 0^   q e2013.5.5? !176k1/4q1b1/p1p1p1Q1/1r4N1/4p3/1P5R/5P2/7K w - - 1 0pychess-1.0.0/learn/puzzles/mate_in_4.sqlite0000644000175000017500000053000013441162534020136 0ustar varunvarunSQLite format 3@ +. >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) Clearn/puzzles/mate_in_4.pgn:F+Serafino Dubois 'Loek Van Wely'Eugenio Torre c~pcUH>2# vlTG=2)  p b W J ? 5 ,    | i W J = 2 #   q b W K < . "   v _ S = 0 "  v i Z M B 6 (  uh\PB8+ yj[O>-zi^QB6" {l_SG4( reZM>*~qc mVoronezh lLegnica kPlovdivjZadar iHungary hAthensg+Sarata Monteoru fChotowae+Khanty Mansyisk dBussumc)St. Petersburg bPoland aPeabody`Hamar_)Great Yarmouth ^Gibraltar ]Kirishi\Mainz [Ermioni ZTromsoeYTurin XLausanneWAlbox VBelfort USibenik TAbudhabi SLahijan RRybinskQ#Catalan BayPIzmirOTomsk NInternet MElgoibar LCalviaK'Coria del Rio JBatumi IDieren HSharjah GLindsborg FPanormoE+Bad WoerishofenD#Nyiregyhaza CAntalya B!Travemunde A!Vlissingen@Bled ?Heraklio >Alushta =Senden<-Ho Chi Minh City;)Czech Republic :Oakham 9Pardubice 8Kharkov7Minsk6#Quezon City 5Passau4'Villarrobledo 3Las Vegas 2Monaco 1Marganets 0Lisbon/)Recklinghausen .Yerevan -Sivakasi,'Saint Vincent+Kona*%Philadelphia)#New Zealand(#Marina d'Or 'Bastia &Krasnodar %Ljubljana $Antwerpen #Beijing "Bratto !Chandler Defi Quebec Seinajoki Winnipeg TelfordGraz'Alexandria VA Wiesbaden !Copenhagen AustriaAzov Calcutta France Laguna WrexhamRiga Giessen LucerneReno Orange +Baile Herculane Loosdorf !Eastpointe %L'Hospitalet%Saint Martin Halkidiki'Mar del Plata Oberwart LeidenAruba Yurmala St Martin Tilburg Germany ~Pavlodar}#Cheliabinsk|%Bad Neuenahr {Triberg zCetinje yYaroslavl xKecskemetwLyons vCannesu=San Benedetto del Tronto tChicago sReykjavik rKlaipedaq/Cambridge Springs pGausdalo1Cappelle la Grande nBilbaomBRD lSzirak kBrusselsj#Los Angeles iCanadahDubaigTaxcofBieleMilan dSweden cTunisia bSalonika aEsbjerg `!Beer-Sheva _Jakarta ^Sao Paulo ]!Yugoslavia \Torquay [Malaga Z!BratislavaY%Wijk aan Zee XBarcelonaWAyr VColumbus UMentor TMariborS)Frankfurt/Oder R!Banja-Luke QMichigan PTjentiste OCioccoNNice MEl PasoLDubna K!Petropolis JVenice ISarajevo HBulgariaG'San FranciscoF)Polanica ZdrojE? DHabanaCSochi BKraljevoAHalle@%Santa Monica ?Brunnen >Titograd=%Bognor Regis <Leningrad ;Belgrade :Beverwijk9Baku8%Buenos Aires7Kiev6Varna 5Munich 4Portoroz 3Zagreb 2Bucharest1'Marktoberdorf0'Reggio Emilia /Vilnius .Baltimore-%Saltsjobaden ,Tbilisi +Novi Sad *Madrid )Tallinn(USA 'Boston &Jurata %Warsaw$%Bad Niendorf#Brno "Moscow!Liege Carlsbad3Trencianske TepliceHague The Hague Rotterdam Dresden Herning#Baden-Baden Trautenau Amsterdam Goteborg Stockholm Kaschau !Pardentown Hamburg Prague !Dusseldorf Bristolcorr. Budapest Nuremberg New York Frankfurt 'St Petersburg ViennaParis London Geneva?New Orleans (blind simul)#New Orleans Berlin Leipzig d }z C, 9   PH    w c3* cI  KC) > `H   5#T $ f Qq T w?+ m       # R -N 1 \]r 7 >mk  [ X  ? q _3 @d.  V7 )|C{  $ j Kj  #v X / >` [ w j  LU s  6 3 d ri  = N X? Voronezh Legnica Plovdiv Zadar Hungary Athens+Sarata Monteoru Chotowa+Khanty Mansyisk Bussum)St. Petersburg Poland Peabody Hamar)Great YarmouthGibraltar Kirishi Mainz Ermioni Tromsoe Turin Lausanne Albox Belfort Sibenik Abudhabi Lahijan Rybinsk#Catalan Bay Izmir Tomsk Internet Elgoibar Calvia'Coria del Rio Batumi Dieren SharjahLindsborg Panormo+Bad Woerishofen#Nyiregyhaza Antalya!Travemunde!Vlissingen Bled Heraklio Alushta Senden-Ho Chi Minh City)Czech Republic OakhamPardubice Kharkov Minsk#Quezon City Passau'VillarrobledoLas Vegas MonacoMarganets Lisbon)Recklinghausen Yerevan Sivakasi'Saint Vincent Kona%Philadelphia#New Zealand#Marina d'Or BastiaKrasnodarLjubljanaAntwerpen Beijing Bratto Chandler Defi QuebecSeinajoki Winnipeg Telford Graz'Alexandria VAWiesbaden!Copenhagen Austria Azov Calcutta France Laguna Wrexham Riga Giessen Lucerne Reno Orange+Baile Herculane Loosdorf!Eastpointe%L'Hospitalet%Saint MartinHalkidiki'Mar del Plata Oberwart Leiden Aruba YurmalaSt Martin Tilburg Germany Pavlodar~#Cheliabinsk}%Bad Neuenahr| Triberg{ Cetinjez Yaroslavly Kecskemetx Lyonsw Cannesv=San Benedetto del Trontou Chicagot Reykjaviks Klaipedar/Cambridge Springsq Gausdalp1Cappelle la Grandeo BilbaonBRDm Szirakl Brusselsk#Los Angelesj Canadai Dubaih TaxcogBielf Milane Swedend Tunisiac Salonikab Esbjerga!Beer-Sheva` Jakarta_ Sao Paulo^!Yugoslavia] Torquay\ Malaga[!BratislavaZ%Wijk aan ZeeY BarcelonaXAyrW ColumbusV MentorU MariborT)Frankfurt/OderS!Banja-LukeR MichiganQ TjentisteP CioccoONiceN El PasoM DubnaL!PetropolisK VeniceJ SarajevoI BulgariaH'San FranciscoG)Polanica ZdrojF?E HabanaD SochiC KraljevoB HalleA%Santa Monica@ Brunnen? Titograd>%Bognor Regis= Leningrad< Belgrade; Beverwijk:Baku9%Buenos Aires8Kiev7 Varna6 Munich5 Portoroz4 Zagreb3 Bucharest2'Marktoberdorf1'Reggio Emilia0 Vilnius/ Baltimore.%Saltsjobaden- Tbilisi, Novi Sad+ Madrid* Tallinn)USA( Boston' Jurata& Warsaw%%Bad Niendorf$Brno# Moscow" Liege! Carlsbad 3Trencianske Teplice Hague The Hague Rotterdam Dresden Herning#Baden-Baden Trautenau Amsterdam Goteborg Stockholm Kaschau!Pardentown Hamburg Prague!Dusseldorf Bristol corr. Budapest Nuremberg New York Frankfurt 'St Petersburg Vienna Paris London Geneva?New Orleans (blind simul)#New Orleans Berlin  Leipzig   ?  ?  20180221 +*\)6('j&D%$w#P"( u$}wqke_YSMGA;5 /)#K{uoic]WQ2E?8 +$ | u n g ` Y R K D = 6 / ( !    D 4 | t l d \ T L < 4 , $   l  | t l d \ T L D < 4 , $    | t l d \ T L D < , $    | t d \ T L D < 4 , $   $|tld\TLD<4, |tld\TLD<4,$ |tld\TLD<4,$ |tld\TLD<4,$ountlskriqgpeocnam_l]k[jYiWhUgSfRePdNcLbJaI`G_^E]\B[@Z>Y<X;WV8U7T5S3R1Q/P-O+N)M'L&K$JI#H!G FEDCBA@?>= < ; :9876543210/.-,+*)('&%$#"!      }{zxvtrpnljigec`^][YWVTRQOMKIHGECA@><:87531/-+)(&$"    ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPON{MLK~J>I{HyGwFuEtDsCqBoAm@l?b>i=g<e;c:a9_8]7\6Z5X4V3T2R1P07/N.L-J,H+F*7)C(A'?&=%;$9#7"5!3 10.,*('%#!          uX~xrlf`ZTNHB<60*$ |vpjd^XRLF@:4.("  z t n h b \ V P J D > 8 2 , &     x p h ` X P H @ 8 0 (    x p h ` X P H @ 8 0 (    x p h ` X P H @ 8 0 (    x p h ` X P H @ 8 0 (    xph`XPH@80( xph`XPH@80( xph`XPH@80( xph`Xuuttssrrqqppoonnmmllkkjjiihhggffeeddccbbaa``__^^]]\\[[ZZYYXXWWVVUUTTSSRRQQPPOONNMMLLKKJJIIHHGGFFEEDDCCBBAA@@??>>==<<;;::99887766554433221100//..--,,++**))((''&&%%$$##""!!            ~~}}||{{zzyyxxwwvvuuttssrrqqppoonnmmllkkjjiihhggffeeddccbbaa``__^^]]\\[[ZZYYXXWWVVUUTTSSRRQQPPOONNMMLLKKJJIIHHGGFFEEDDCCBBAA@@??>>==<<;;::99887766554433221100//..--,,++**))((''&&%%$$##""!!       uzupkfa\WRMHC>94/*%  {vqlgb]XSNID?:50+&!  z t n h b \ V P J D > 8 2 , &      ~ x r l f ` Z T N H B < 6 0 * $     | v p j d ^ X R L F @ : 4 . ( "     z t n h b \ V P J D > 8 2 , &      ~ x r l f ` Z T N H B < 6 0 * $     |vpjd^XRLF@:4.(" utsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!       u~wpib[TMF?81*#{tmf_XQJC<5.'    x q j c \ U N G @ 9 2 + $      | s j a X O F = 4 + "    w n e \ S J A 8 / &    { r i ` W N E < 3 * !     v m d [ R I @ 7 . %   zqh_VMD;2) ~ulcZQH?6-$ ypg^ULC:1( }tkbYPG>5,#xof]TKB90' u}t[s2rqponmcl:k jihgPf#edcbaQ` _^]\[RZ&YXWVUhT=SR}Q|P{OzNyuMxULw5KvJtIsHrGqFpmEoGDn>CmBkAj@i?h>gx=fZ<e8;d :b9a8`7_n6^T5]'4\3Z2Y1X0Wj/VE.U"-T,R+Q*P)Ox(NP'M&&L%J$I#H"Gn!FE E&CBA@?^>9=;:987a6=5 3210w /] .A -  + *)('f&B%#"! |]?u_8~qP 5   hF"vR$[=yQ' xI3ߦzU;גhL2$ ή͌eI'ƱŃT,_*]4fC,X,oK<nF*~}|{tz\y;xwvutsfrBq~'p}o{nzmylxkwgjvHiu hsgrfqepdomcnNbm/al`j_i^h]gy\fP[e+ZdYbXaW`V_mU^KT]S[RZQYPXOWwNVTMU&LSKRJQIPHOwGNYFM>EL!DKCIBHAG@F?Et>DI=C,<B;@:?9>8=g7<@6;+5:48372615l04B/3 .1-0,/+.*-`),8(+')&(%'$&#%Y"$;!# ! \G"oG;   {  e  @   iJ$ u&~xHrfl`ZTNB<60*$ :@|vdpj^XRLF 3, %   ^ # 6 * ~ w . p b i [ T M ? F 6 8 1 n      ~ v n f ^ V N F  > &    fV &  ~ v n f V N6 F > . > &n      F 6 f ~ v n ^ V N > 6 . &     .  ~ v n ^ V N F 6 &   ^^~vfVNF>.v~nf~NF>6.&&vf^VNF>6.&~vnf^VNF>.Qumt#sjrhqfpdobn`m^l\kZjXiVhTgfQeOdMcKbaH`F_^D]C\A[?Z=YX:W9VU6T4S2R0Q.P,O*N(ML%KJI"HGFEDCBA@?>= <; :987J6543210/.-,+*)('&%$#9"! ~ D ,    ,hw*J h~|?ywusqomkDhfdba_?\ZXUSPPNLJ'FDB??=;9*6420.,*'%#!  ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[}ZYXWVUTSRQPONMMLfK}J|IzHxGvFpErDrCpBnAj@k?j>h=f<d;b:`9^877[6Y5W4U3S2Q1O0M/M.K-I,G+E*D)B(@'>&<%:$8#6"4!2 "/-+)$&$"         u~wpib[TMF?81*#{tmf_XQJC<5.'    x q j c \ U N G @ 9 2 + $      | s j a X O F = 4 + "    w n e \ S J A 8 / &    { r i ` W N E < 3 * !     v m d [ R I @ 7 . %   zqh_VMD;2) ~ulcZQH?6-$ ypg^ULC:1( }tkbYPG>5,#xof]TKB90' uxtXs0rqponm`l8kjihgPf edcbxaP` _^]\[PZ YXWVUhT8SR}Q|P{OzNypMxPLw0KvJtIsHrGqFphEo@Dn8CmBkAj@i?h>gx=fX<e8;d:b9a8`7_h6^P5] 4\3Z2Y1X0Wh/V@.U -T,R+Q*P)Ox(NP'M &L%J$I#H"Gh!F@ E CBA@?X>8=;:987`685 3210p /X .@ -  + *)('`&@%#"! xX8pX8xpP 0   h@ pP X8xP xH0ߠxP8אhH0 Ψ͈`H ưŀP(X(X0`@(X(hH8h@(~}|{pzXy8xwvuts`r@q~ p}o{nzmylxkw`jvHiu hsgrfqepdohcnHbm(al`j_i^h]gx\fP[e(ZdYbXaW`V_hU^HT]S[RZQYPXOWpNVPMU LSKRJQIPHOpGNXFM8EL DKCIBHAG@F?Ep>DH=C(<B;@:?9>8=`7<@6;(5:48372615h04@/3.1-0,/+.*-`),8(+')&(%'$&#%X"$8!# ! X@ h@8  x  `  @   hH  uzupkfa\WRMHC>94/*%  {vqlgb]XSNID?:50+&!  z t n h b \ V P J D > 8 2 , &      ~ x r l f ` Z T N H B < 6 0 * $     | v p j d ^ X R L F @ : 4 . ( "     z t n h b \ V P J D > 8 2 , &      ~ x r l f ` Z T N H B < 6 0 * $     |vpjd^XRLF@:4.("  u t s r q p o n m l k j i h g f e d c b a ` _ ^ ] \ [ Z Y X W V U T S R Q P O N M L K J I H G F E D C B A @ ? > = < ; : 9 8 7 6 5 4 3 2 1 0 / . - , + * ) ( ' & % $ # " !                                                                                                                                                                         ~ } | { z y x w v u t s r q p o n m l k j i h g f e d c b a ` _ ^ ] \ [ Z Y X W V U T S R Q P O N M L K J I H G F E D C B A @ ? > = < ; : 9 8 7 6 5 4 3 2 1 0 / . - , + * ) ( ' & % $ # " !                                      uzupkfa\WRMHC>94/*%  {vqlgb]XSNID?:50+&!  z t n h b \ V P J D > 8 2 , &      ~ x r l f ` Z T N H B < 6 0 * $     | v p j d ^ X R L F @ : 4 . ( "     z t n h b \ V P J D > 8 2 , &      ~ x r l f ` Z T N H B < 6 0 * $     |vpjd^XRLF@:4.("  u t s r q p o n m l k j i h g f e d c b a ` _ ^ ] \ [ Z Y X W V U T S R Q P O N M L K J I H G F E D C B A @ ? > = < ; : 9 8 7 6 5 4 3 2 1 0 / . - , + * ) ( ' & % $ # " !                                                                                                                                                                         ~ } | { z y x w v u t s r q p o n m l k j i h g f e d c b a ` _ ^ ] \ [ Z Y X W V U T S R Q P O N M L K J I H G F E D C B A @ ? > = < ; : 9 8 7 6 5 4 3 2 1 0 / . - , + * ) ( ' & % $ # " !                                      u  C~ NH0xl $ rf` 6ZT  !B <6*$ & h   [ y |vd p ,j^ X RLF@ :4.("   & E z t n b \ V P J D > 8 2       uA | n g ` Y D R K = 6 / r (     L* j b Z R J ; 3 +1    U } u 5 m e ] M E = . &      z - r j b S =    pxh`XPH9" ~vnf>.^pVNF6&xh`XH@80( P ;u;t;srqsponmlk_jihgfedcba`_^]"\[ZYXW"VUTSRQPONML"KJIHGFEDCBA@?>=<;:o9876`5432810/.-,Y+*)('&%$#f"! w   ,  Gvv "" p Y p~}0|s{zjyx+ wvstu"(tsrqponkmlkjihfgIfedcbaa`_^],\["Z~Y}X|W{]7\=[$=#<";:!9 8765432 10/.-,+*)( '&%$ #"!                 !  uhU>*7|aH1 s Y A +  q Y C 1 # v ` O ? *  % o} W J 7 "j  $  G n ] J 7 # ZwaM;&yfTK8* p`MB0>S~qaP;'}lWC2  q"-Dmitry Jakovenko9 9Ekaterina Kovalevskaya:f3Antoaneta Stefanovan+Dimante Daulytem/Dmitry Svetushkinh'Bartosz Sockof%Atanas Koleve)Bojan Kurajicac+Borislav Ivanovb5Ekaterini FakhiridouU#Anna RudolfT/Aisha Al-KhelaifiS#Alina MotocO3Andrey BaryshpoletsL'Biljana DekicG!Alba MunozE'Boris GelfandC/Camille De SerouxB1Eugene Perelshteyn'Eugene Delmar)Ernst JacobsonG%Erno Maraczi-Ernesto Inarkiev'Erkki Havansi'Erik AndersenW#Eric Lobron)Eric GaudineauU%Ergin MollovV#Enver Bukic)Enrique Loritas+Emir Dizdarevic#Emin Duraku'Eltaj Safarli'Eliot Ailloud+Elina Danielian-Elena Winkelmann'Elena Tairova1Eldis Cobo Arteaga+Eirik Gullaksen3Ehsan Ghaem Maghami+Efim BogoljubovD-Eduard Hammacher%Eduard GlassZ#Edgar Colle` EB AdamsR7Dragoljub Velimirovic+Dragoljub Ciric1Dmitry Zilberstein-Dmitry Andreikin/Dmitri Reinderman='Dion Martinez'+Dimitar Pelitov-Dennis De Vreugt%Denis Shilin Delva)Dawid Janowski@!David Tebb%David Navara%David Howell +David Bronstein%David ArnettG'Danny Schmidty-Danny Goldenberg)Daniel Campora%Dale Haessel D Spigel%Craig Dawson Costanzo'Corina PeptanCook2) Claus Pitschel'Claudia Amura-Christopher Lutz1Christoph SchroderS-Christer Hartmani)Chris Morrison1Charousek & allies03Charles Van Buskirkb+Charles Maurian'Charles Jaffeo+Chanda Sandipan%Cesar Soares)Celine Carencon-Catherine Perena#Carsten Hoi CarstenJ Campbell3Camilla Baginskaite C Houze%Byron Jacobs Bui Vinh#Brian Kelly'Brian Hartman/Bram Van Den Berg)Bosse Lindberg)Borislav Milicv'Boris Spassky%Boris Ratner~%Boris Geller)Boris De Greif%Boris Avrukh%Bogdan Lalic'Bjorn NielsenO#Bjorn FrankK-Birger Rasmussoni!Bernd Baumd%Berfu Dincok#Bent Larsen+Balazs Palinkas'Baadur Jobava B Peake3Augustus Mongredien /Arusiak Grigorian+Artyom Timofeev-Arthur Kurschner%/Arthur Dunkelblum'Arnold Denkerp/Arkadij Naiditsch#Anton Olson;1Anthony SantasiereQ'Anthony Miles +Anna Gordiyenko!Anish Giri6#Andrew Muir-Andrei Volokitin+Andrei Peterson%Andrei Lukin /Andrei Kharitonov-Andor Lilienthalb+Anatoly Vaisser)Anatoly Karpov*3Anastazia Karlovich1Anastasia Bodnaruk Amos Burn%Amir Bagheri--Amador Rodriguez1Almira Skripchenko#!Ali GatteaAli Frhat7Alfonso Romero Holmes'Alexsej Lanin1-Alexey Korotylev'Alexei Shirov)Alexei Fedorov/Alexandre Lesiege3Alexandra Kosteniuk-Alexander Tolush1Alexander Shabalov?5Alexander Riazantsev5Alexander Munninghof35Alexander Morozevich9-Alexander Lastinq9Alexander Kostiuchenko-Alexander IllgenT)Alexander Grafo-Alexander Goldin 3Alexander Filipenko-/Alexander Chernin3Alexander Beliavsky(7Alexander Areshchenko/Aleksandr Volodin1Aleksander Delchev5Aleksandar Kovacevic)Albin Planinec3Alberto Mascarenhas#Albert Chow'Albert BeckerY-Akiba Rubinstein6+Adolf Anderssen/Abram Zamikhovsky'Abhijit Kuntep AP Forde#A Stavrinovg A Mueller3A Korolev A CuadrasI A Adamsq"Pawnder"R!"Mephisto"2#"Francesca"Q%"Chess Guru"P tt_J: |fzdS>*jZI=.# h V A; .  { h Y At 0   | n ` N ; *   } e S ? +   } f W G 2  z`P>))Sy\G4"oYB-"reP4xhTB,%Ioulia Makkal%Kamil Draguni!Imre Balog`9Evandro Amorim Barbosa_'Ilyas Sodikov^'Johan AlvarezJ+Gundula HeinatzI)Kateryna LahnoH-Julia KochetkovaF%Judith FuchsA1Hisako Wakabayashi@'Kanwal Bhatia?-Gaston TrombettaC)Garry Kasparov G Berry1Friedrich SaemischM Fraser+#Franz Jacob4!Franz Auer/Frantisek Vykydal'Frank Naumann-Frank J Marshall?9Francisco Vallejo Pons #Francis Lee!+Francesco Nitti+Flemming Preussx-Fernando Peralta 'Ferenc Berkes/Ferdinand Hellers)Federico Perez Farrow, F Braund'Evgeny Postny'Evgeny Agrest~+Evgeni Vasiukov3Ljubomir Ljubojevic9Liviu-Dieter Nisipeanuu+Liubov Idelchik Li Chao,'Levon Aronian'Levente Vajdav-Levan Pantsulaia#Lev Psakhis\+Lev Polugaevsky!Lev Alburt/Leonid Shamkovich'Leon Pliester<+Leo Fleischmann8 Leiden.+Lawrence Gilden/Lawrence Chachere@-Lauriane Ducassem)Laszlo Barczay#Larry Evans|1Larry Christiansen/Larry Chistiansen'Lajos Steinerk)Lajos Portisch!Kurt Meier//Krzysztof Checiak('Krishna Ramya'Kornel Havasi['Kick Langeweg+Kevin Spraggett;Ketevan Arakhamia-Grant##Kerim Aliev#Katya Lahno!Karl Ahuesh)Kamran Shirazi!Kalle Kiik'Juraj Nikolac5Julien Estrada Nieto)Julian Hodgson5Julian Estrada Nieto}-Jules De Riviere %Judit Polgar;!Jude Acers5Juan Gonzalez Zamora)Jovanka Houska'Joseph Pribyl/Joseph Blackburne")Jose Dominguez)Jorge Llorente'Jordan Ivanov3Joran Aulin-Jansson!%Jonny Hector+Jonathan Rowsonw+Jonathan Mestel!Jon HammerJohn Nunn1Johannes Zukertort%Joel Lautier'Joel Benjamin#Joao Rebelo1Joanna Dworakowska4%Jessica Nill+Jesper Celander%Jeroen Piket-Jennifer Shahade#Jeff Horner)Jean-Rene Koch+Jean Taubenhaus('Jean Dufresne1Janusch Koscielski+Jan-Hein Donner+Jan-Heim Donner!Jan Turner!Jan Timman Jan Lind!Jan Donner%James Tarjan#James Mason%James Howell %James Hanham#%James Grundy)Jacques Mieses5%Jaan Ehlvest' J WillensL J SolskiM'Iversen GutadT#Ivan Ryzhov%Ivan Radulov3Ivan Boere de Souza-Ivaan Cheparinov'Istvan Almasi[+Isidor Gunsberg'Isaac Kashdann/Isaac Boleslavskyz#Irina Krush1Ioannis NikolaidisZ!Imre KonigE'Ilya GurevichH#Ilja Brener'#Ilia SmirinJ#Ilia Shumov'Igor Platonov#Igor IvanovIgor Glek 'Ignac Kolisch1Ian Nepomniachtchi%Humpy Koneru %Hubert Schuh'Hrvoje Stevic+Hikaru Nakamura'Hermann WeissF5Herman Van RiemsdijkB)Herman Steinerf/Herbert Trenchard1+Herbert Bastian'Helge Nordahl]3Heinrich Von HennigH#Heikki Salo)Harald Matthey0'Hannu Salmela Hamid+!H Wegemund= H Kleinu%Gyula BreyerC#Gyozo Exner*+Gyorgy Szilagyi)Grigory Serper4-Gregory Kaidanovc%Gosta Stoltz{%Goran Dizdar#Glenn Flear'Giuseppe Laco+Giulio Lagumina!Gino Celli+Gildardo Garcia")Gilberto Milos-Gideon Stahlbergj%Geza Maroczy)-Gert-Jan De BoerK)Gerhard Schnur+Georgi Daskalov+George Trammell8'George Thomas^'Gedeon Barcza%Gawain Jones#Gata Kamsky6 }lWE1p[J8( u ` S A -   r _ J 5 ! k Z F 7 %  r [ N 7 "   v e U < '  ~jXF4"p_O=,~mZD3qZA,rbL7#zeP=,r]M=+F'Thomas CasperE/Milenko Sibarevic DB PeakeC#Carsten HoiB5Paul Van der Sterren ACostanzo@+Francesco Nitti?%Ramon Lontoc >!Jan Donner =!Jan Timman<+Lawrence Gilden;%James Tarjan:'Igor Platonov9#Mikhail Tal8%Shimon Kagan7)Lajos Portisch6+Mato Damjanovic5)Renato Incelli 4!Gino Celli3%Marta Kovacs2'Walter Browne1#Noel Craske0'Eugenio Torre/+Georgi Daskalov.+Dimitar Pelitov -G Berry ,!Jude Acers+#Werner Golz*/Sergey Makarichev)+Rafael Vaganian(1Eldis Cobo Arteaga''Boris Spassky&#Enver Bukic%'Erkki Havansi$)Vlastimil Hort#+Jan-Hein Donner"-Samuel Reshevsky !!Franz Auer 'Kick Langeweg+Milan Matulovic7Dragoljub Velimirovic+Andrei Peterson+viktor Korchnoi#PA Sorensen#Owen Hindle-Victor Bojarinov+Dragoljub Ciric+Liubov Idelchik3Nona Gaprindashvili/Arthur Dunkelblum+Jan-Heim Donner+David Bronstein+Evgeni Vasiukov'Osvaldo Bazan'Mark Taimanov+Gyorgy Szilagyi+Lev Polugaevsky 9Alexander Kostiuchenko /Abram Zamikhovsky #Emin Duraku -Purev Tumurbator 'Gedeon Barcza#Oscar Panno)Boris De Greif)Miroslav Filip%Mario Bertok)Vasily Smyslov#Suboticanec#Bent Larsen-Alexander Tolush#O Menzinger1Ludwig Rellstab Sr~%Boris Ratner}'Semyon Furman|#Larry Evans{%Gosta Stoltzz/Isaac Boleslavskyy1Rafael Kakiashvilix1Tigran V Petrosianw'Oleg Neikirchv)Borislav Milic uH Kleint+Pomar Salamanca sV Rootare r!Paul Keres qA Adamsp'Arnold Denkero'Charles Jaffen'Isaac Kashdanm'Moishe Lowckil+Vladimir Petrovk'Lajos Steinerj-Gideon Stahlbergi-Birger Rasmusson h!Karl Ahuesg)Vladas Mikenasf)Herman Steinere+Victor Goglidzed/Mikhail Botvinnik cMeir Rommb-Andor Lilienthala5Victor Soultanbeieff`#Edgar Colle_%Vera Menchik^'George Thomas ]!Max Walter\)William Rivier['Kornel HavasiZ%Eduard GlassY'Albert BeckerX'Wilhelm HilseW'Erik AndersenV#Salo Landau U!M NoordijkT-Alexander IllgenS1Christoph Schroder REB AdamsQ1Anthony SantasiereP'Moller JensenO'Bjorn NielsenN/Michael SchlosserM1Friedrich Saemisch LJ WillensK#Bjorn Frank JCarsten IMax EuweH3Heinrich Von HennigG)Ernst JacobsonF'Hermann Weiss E!Imre KonigD+Efim BogoljubovC%Gyula BreyerB-Zoltan Von BallaA%Oscar Chajes@)Dawid Janowski?-Frank J Marshall >W Young =!H Wegemund<%Oskar Tenner;#Anton Olson:+Mojsesz Lowtzky93Savielly Tartakower8+Leo Fleischmann7-Rudolf Spielmann6-Akiba Rubinstein5)Jacques Mieses4#Franz Jacob 3A Mueller2Cook1/Herbert Trenchard01Charousek & allies/1Marco & Schlechter .Leiden -Rotterdam ,Farrow +Fraser*#Gyozo Exner)%Geza Maroczy(+Jean Taubenhaus''Dion Martinez &Max Judd%-Arthur Kurschner$/Siegbert Tarrasch#%James Hanham"/Joseph Blackburne!#Francis Lee +William Pollock !Richardson F Braund Amos Burn+Charles Maurian+Isidor Gunsberg#James Mason'Eugene Delmar%James Grundy-Eduard Hammacher-Wilfried Paulsen#Ilia Shumov-Mikhail Chigorin-Samuel Rosenthal !Von Schutz1Johannes Zukertort V Beljaev%Peter Wilson-Wilhelm Steinitz 3Augustus Mongredien +Serafino Dubois 'Paul Journoud -Jules De Riviere %Samuel Boden+Luigi Centurini'Ignac KolischNN AP Forde#Paul Morphy'Jean Dufresne+Adolf Anderssen)Claus Pitschel xeSB.oaF2  w b Q < '  x _ E 0   ~ m [ D /  } o a J : &   p \ J 4  ycO6$q\B/ o\D0 }l]G4 oZE0paK7#r]J2"%Dale Haessel)Julian Hodgson'Corina Peptan !David Tebb/Reinhardt Bachler~'Evgeny Agrest}5Julian Estrada Nieto|#Maxim Turov {!Vinay Bhatz1Martin Januszewskiy'Danny Schmidtx+Flemming Preussw+Jonathan Rowsonv'Levente Vajdau9Liviu-Dieter Nisipeanut1Siegfried Halwachss)Enrique Loritar1Vladimir Zhuravlevq-Alexander Lastinp'Abhijit Kunteo)Alexander Grafn)Celine Carencom-Lauriane Ducasse lP Ribeirok#Paul Benson jP Burkarti-Christer Hartmanh%Nigel Daviesg#A Stavrinovf)Viktor Bologane)Wirsam Mueller d!Bernd Baumc-Gregory Kaidanovb3Charles Van Buskirka+Veselin Topalov`+Rodrigo Alarcon_+Praveen Thipsay^#Roman Levit]'Helge Nordahl\#Lev Psakhis['Istvan AlmasiZ1Ioannis NikolaidisY'Nikolay LegkyX5Vladislav NevednichyW%Steve JacobiV%Ergin MollovU)Eric GaudineauT'Iversen GutadS-Victoria Cmilyte R"Pawnder"Q#"Francesca"P%"Chess Guru"O)Wolfgang HumerN-Vadim Zvjaginsev MJ Solski LTim WardK-Gert-Jan De BoerJ#Ilia Smirin IA CuadrasH'Ilya GurevichG%David ArnettF)Maurice AshleyE1Vasilios KotroniasD'Michael AdamsC-Gaston TrombettaB5Herman Van RiemsdijkA#Pavel Vavra@/Lawrence Chachere?1Alexander Shabalov>)Wilbert Kocken=/Dmitri Reinderman<'Leon Pliester;%Judit Polgar:'Petr Kiriakov95Alexander Morozevich8+George Trammell7%Vasil Spasov6#Gata Kamsky5-Oystein Dannevig4)Grigory Serper35Alexander Munninghof 2!"Mephisto"1%Lothar Olzem0)Harald Matthey/-Valerij Filippov.%Oleg Korneev-3Alexander Filipenko,)Ratmir Kholmov+-Mikhail Gurevich*)Anatoly Karpov)%Ralf Schoene(3Alexander Beliavsky'%Jaan Ehlvest&%Thomas Pioch%%Pavel Blatny$)Miroljub Lazic#;Ketevan Arakhamia-Grant"+Gildardo Garcia!-Vladimir Akopian %James Howell)Laszlo Barczay#Oliver Reeh+Rumiana Gocheva%Sofia Polgar'Frank Naumann%Mihail Marin)Jean-Rene Koch%Joel Lautier Pal Kiss%Bogdan Lalic'Joel Benjamin)Tobias Werther !Ugo Guerra/Andrei Kharitonov D Spigel Campbell Peter Yu !Lev Alburt %Andrei Lukin -Alexander Goldin A Korolev Igor Glek 'Anthony Miles3Alberto Mascarenhas !Terje Wibe%Byron Jacobs+Anatoly Vaisser/Ochoa De Echaguen%Hubert Schuh#Glenn Flear1Larry Christiansen#Nigel Short)Kamran Shirazi~'Brian Hartman}#Igor Ivanov|'Turhan Yilmaz{)Daniel Camporaz+Vlastimil Jansay+Marcel Sisniegax+Emir Dizdarevicw5Slavoljub Marjanovicv3Ljubomir Ljubojevicu+Giulio Laguminat'Giuseppe Lacos%Jeroen Piketr/Ferdinand Hellers qJan Lindp%Jonny Hectoro+Herbert Bastiann%Boris Gellerm/Alexander Cherninl+Nick De Firmiank+Simen Agdesteinj#Luc Winantsi+Jonathan Mestelh%Ole Jakobsen g!Tony Miles f!Mihai Subae'Sergey Kudrind#Eric Lobronc3Ivan Boere de Souzab%Cesar Soaresa'Stefan Djuric`+Predrag Nikolic_%Craig Dawson^)Michael Basman]7Ricardo Calvo Minguez \Zakharov[)Garry KasparovZ+Riitta JarvinenY#Heikki Salo XTC Fox WJohn NunnV%Tadeus NemecU/Frantisek VykydalT'Juraj NikolacS-Amador RodriguezR1Maia ChiburdanidzeQ)Chris MorrisonP#Jeff HornerO%Ivan RadulovN'Joseph PribylMDelvaL+Kevin SpraggettK/Larry ChistiansenJ/Leonid Shamkovich I!Nino KirovH)Albin PlaninecG-Reinhard Postler r\J5"sYF5" v _ G 6 " } i R ? ,   q _ J /  } m W E ,  w i X F 4  {iS=&kT@,yaH6%kO9'xeJ7jX@/ vfR?,:9Ekaterina Kovalevskaya9-Dmitry Jakovenko8/Magnus Carlhammar7'Romain Picard 6!Anish Giri5'Manuela Mader41Joanna Dworakowska3)Michiel Bosman2'Rustem Dautov1'Alexsej Lanin0)Sanan Sjugirov /!Kurt Meier.%Roy Phillips-%Amir Bagheri ,Li Chao+Hamid*3Valentina Golubenko)-Michal Wengierow(/Krzysztof Checiak'#Ilja Brener&'Marina Guseva%'Maxim Sorokin$#S Shankland#1Almira Skripchenko"%Maxim Korman!3Joran Aulin-Jansson %David Howell)Steven Barrett)Jovanka Houska Zhao Xue+Natalia Zhukova-Catherine Perena%Jessica Nill/Aleksandr Volodin1Ian Nepomniachtchi'Stefan Martin7Shakhriyar Mamedyarov'Evgeny Postny-Ernesto Inarkiev+Eirik Gullaksen !Jon Hammer)Zozik Mohommed Ali Frhat+Tshepiso Lopang#Paula Delai %Nazrana Khan 3Camilla Baginskaite %Humpy Koneru -Fernando Peralta 9Francisco Vallejo Pons-Sylvain Leburgue7Throstur Thorhallsson-Elena Winkelmann'Krishna Ramya%Goran Dizdar-Sergei Rublevsky Shen Yang-Sergei Simonenko'Eltaj Safarli#Kerim Aliev~%Rauf Mamedov}3Anastazia Karlovich|1Anastasia Bodnaruk{5Juan Gonzalez Zamoraz'Claudia Amuray#Ivan Ryzhovx+Nikita Vitiugovw#Andrew Muirv3Stefan Kristjanssonu%Rao Prasanna t!Roy Robsons)Jose Dominguezr)Roselli Mailheq)Maarten Etmansp/Valeri Yandemirovo+Mikhail Kobalian'Jordan Ivanovm-Ivaan Cheparinovl/Stanislav Mikheevk)Jorge Llorentej/Stefan Kindermanni'Levon Aronianh+Anna Gordiyenkog'Elena Tairovaf/Arusiak Grigoriane-Levan Pantsulaiad-Christopher Lutzc%Yvette Nagelb#Saeed Ishaqa3Ehsan Ghaem Maghami`1Dmitry Zilberstein_'Ferenc Berkes^3Peter Heine Nielsen])Gerhard Schnur \!Ali Gattea[%Paul MotwaniZ+Balazs PalinkasY%Erno MaracziX%Berfu DincokW#Katya Lahno VBui VinhU5Aleksandar KovacevicT+Artyom TimofeevS-Alexey KorotylevR/Michael WiertzemaQ)Mihail KopylovP/Bram Van Den BergO1Shakhiyar RahmanovN-Dmitry AndreikinM3Vladislav BorovikovL%Denis ShilinK-Andrei Volokitin J!Mona GoihlI+Chanda SandipanH/Phuc Tuong NguyenG#Ngoc NguyenF'Pavel RozumekE+Viktor LaznickaD5Julien Estrada Nieto CC HouzeB-Vladimir Kramnik A!Jan Turner@7Alexander Areshchenko?+Sergey Karjakin>%Zviad Izoria=+Elina Danielian<#Reggie Olay;+Rogelio Antonio:)Manfred Keller9%David Navara87Alfonso Romero Holmes7+Jesper Celander6)Bosse Lindberg5-Dennis De Vreugt4'Baadur Jobava3'Eliot Ailloud2/Stephanie Bermond1)Gilberto Milos0'Alexei Shirov/#Irina Krush.1Eugene Perelshteyn-'Stefan Hirsch,/Arkadij Naiditsch+'Loek Van Wely*'Tina Mietzner)3Alexandra Kosteniuk()Nikolai Kushch'#Joao Rebelo&1Janusch Koscielski%/Saidali Iuldachev$)Nonna Sahakian#/Rusudan Goletiani"#P Abinandan!'Surya Ganguly %Vlad Tomescu !Sean Nagle#Albert Chow-Jennifer Shahade)Robert Gibbons'Ortvin Sarapu#Brian Kelly'Hrvoje Stevic5Alexander Riazantsev)Federico Perez+Nino Khurtsidze)Alexei Fedorov+Marko Podvrsnik1Aleksander Delchev%Merlijn Donk%Boris Avrukh Zhu Chen'Ye Jiangchuan'Sahbaz Nurkic +Yasser Seirawan %Gawain Jones -Teimour Radjabov /Mohamad El Mikati +Hikaru Nakamura-Danny Goldenberg%Robin Girard/Alexandre Lesiege'Hannu Salmela !Kalle Kiik Y`ye N)p |]HiUH;, & f = '   v a J % 6 "D g /  SygUC2rdSs`L 7" A~{gL=(D  ;* G  ry ~3 f4 T" d NA : "  w e P < )  f_Xl/Mohamad El Mikati+Mojsesz Lowtzky:'Moishe Lowckim'Romain Picard7!Mona Goihl'Moller JensenP'Rustem Dautov2)Sanan Sjugirov0%Roy Phillips.%Lothar Olzem1#S Shankland$+Nino Khurtsidze'Nikolay LegkyY)Nikolai Kushch+Nikita Vitiugov#Nigel Short%Nigel Daviesh+Nick De Firmian#Ngoc Nguyen%Nazrana Khan +Natalia ZhukovaNN/Magnus Carlhammar8)Maarten Etmans!M NoordijkU+Luigi Centurini1Ludwig Rellstab Sr#Luc Winants#Paula Delai1Marco & Schlechter/+Marcel Sisniega'Manuela Mader5)Manfred Keller1Maia Chiburdanidze%Rauf Mamedov#Paul Bensonk Pal Kiss#PA SorensenP RibeirolP Burkartj#P Abinandan-Oystein Dannevig5#Owen Hindle'Osvaldo Bazan%Oskar Tenner<#Oscar Panno%Oscar ChajesA'Ortvin Sarapu#Oliver Reeh'Oleg Neikirchw%Oleg Korneev.%Ole Jakobsen/Ochoa De Echaguen#O Menzinger)Nonna Sahakian3Nona Gaprindashvili#Noel Craske!Nino Kirov>'Maria Schoene;%Rao Prasanna!Roy Robson)Roselli Mailhe +Marko Podvrsnik'Mark Taimanov%Mario Bertok'Marina Guseva&#Saeed Ishaq3Peter Heine Nielsen%Paul Motwani1Martin Januszewskiz%Marta Kovacs/Phuc Tuong Nguyen'Pavel Rozumek!Max Walter] Max Judd& Max EuweI)Maurice AshleyF+Mato Damjanovic#Reggie Olay+Rogelio Antonio#Maxim Turov|'Maxim Sorokin%%Maxim Korman"/Saidali Iuldachev/Rusudan GoletianiX%Merlijn Donk Meir Rommc!Sean Nagle)Robert Gibbons'Michael AdamsD'Sahbaz Nurkic/Michael SchlosserN)Michael Basman%Robin Girard6'Mads Anderseng'Robert Markusa-Mircea Parligras]1Robin Dragomirescu\)Nibal AlgildahY+Nadezhda ZykinaX1Mark Machin-RiveraW'Nelly AginianR)Rulp Ylem JoseP-Pradeep SeegolamN)Maxim MatlakovK'Melissa GreefD)Nana Dzagnidze>-Natalia Pogonina=)Miroslav Filip)Miroljub Lazic$/Milenko Sibarevic+Milan Matulovic#Mikhail Tal+Mikhail Kobalia-Mikhail Gurevich+-Mikhail Chigorin/Mikhail Botvinnikd%Mihail Marin)Mihail Kopylov!Mihai Suba)Michiel Bosman3-Michal Wengierow)/Michael Wiertzema'Semyon Furman}3Savielly Tartakower9-Samuel Rosenthal-Samuel Reshevsky%Samuel Boden #Salo LandauV+Rumiana Gocheva-Rudolf Spielmann7 Rotterdam-#Roman Levit^+Rodrigo Alarcon`+Riitta Jarvinen!Richardson7Ricardo Calvo Minguez)Renato Incelli/Reinhardt Bachler-Reinhard Postler)Ratmir Kholmov,%Ramon Lontoc%Ralf Schoene)+Rafael Vaganian1Rafael Kakiashviliy-Purev Tumurbator+Predrag Nikolic+Praveen Thipsay_+Pomar Salamancat'Petr Kiriakov: Peter Yu%Peter Wilson#Pavel VavraA%Pavel Blatny%5Paul Van der Sterren#Paul Morphy!Paul Keresr'Paul Journoud 5 pYF3# }gVB- l V > (  o \ E 3 o)Sopio Gvetadzen3Antoaneta Stefanovam+Dimante Daulytel%Ioulia Makkak/Vladimir Onischukj'Yuriy Kuzubovi%Kamil Dragunh/Dmitry Svetushking'Mads Andersenf'Bartosz Sockoe%Atanas Kolevd3Vlad-Cristian Jianuc)Bojan Kurajicab+Borislav Ivanova'Robert Markus `!Imre Balog_9Evandro Amorim Barbosa^'Ilyas Sodikov]-Mircea Parligras\1Robin Dragomirescu[-Tommy SupriyantoZ/Susanto MegarantoY)Nibal AlgildahX+Nadezhda ZykinaW1Mark Machin-RiveraV)Zong-Yuan ZhaoU5Ekaterini FakhiridouT#Anna RudolfS/Aisha Al-KhelaifiR'Nelly AginianQ+Tereza OlsarovaP)Rulp Ylem JoseO#Alina MotocN-Pradeep SeegolamM)Shane MatthewsL3Andrey BaryshpoletsK)Maxim MatlakovJ'Johan AlvarezI+Gundula HeinatzH)Kateryna LahnoG'Biljana DekicF-Julia Kochetkova E!Alba MunozD'Melissa GreefC'Boris GelfandB/Camille De SerouxA%Judith Fuchs@1Hisako Wakabayashi?'Kanwal Bhatia>)Nana Dzagnidze=-Natalia Pogonina<-Sergey Fedorchuk;'Maria Schoene egL=+hO<%   n \ A *  j { b K 5 # x d O ? -Q   ' { f W K 8 '  s `> N @ 2 $ )Sopio Gvetadzeo/Vladimir Onischukk'Yuriy Kuzubovj3Vlad-Cristian Jianud-Tommy Supriyanto[/Susanto MegarantoZ)Zong-Yuan ZhaoV+Tereza OlsarovaQ)Shane MatthewsM+viktor Korchnoi%Zviad Izoria)Zozik Mohommed-Zoltan Von BallaB Zhu Chen Zhao Xue Zakharov%Yvette Nagel'Ye Jiangchuan+Yasser Seirawan)Wolfgang HumerO)Wirsam Muellere)William Rivier\+William Pollock -Wilhelm Steinitz'Wilhelm HilseX-Wilfried Paulsen)Wilbert Kocken>#Werner Golz'Walter Browne W Young>!Von Schutz+Vlastimil Jansa)Vlastimil Hort5Vladislav NevednichyX3Vladislav Borovikov1Vladimir Zhuravlevr+Vladimir Petrovl-Vladimir Kramnik-Vladimir Akopian!)Vladas Mikenasg%Vlad Tomescu!Vinay Bhat{+Viktor Laznicka)Viktor Bologanf-Victoria CmilyteS5Victor Soultanbeieffa+Victor Goglidzee-Victor Bojarinov+Veselin Topalova%Vera Menchik_)Vasily Smyslov1Vasilios KotroniasE%Vasil Spasov7-Valerij Filippov//Valeri Yandemirov3Valentina Golubenko*-Vadim ZvjaginsevN V Rootares V Beljaev!Ugo Guerra'Turhan Yilmaz+Tshepiso Lopang!Tony Miles)Tobias Werther'Tina Mietzner Tim WardL1Tigran V Petrosianx7Throstur Thorhallsson%Thomas Pioch&'Thomas Casper!Terje Wibe-Teimour Radjabov%Tadeus Nemec TC Fox-Sylvain Leburgue'Surya Ganguly#Suboticanec)Steven Barrett%Steve JacobiW/Stephanie Bermond'Stefan Martin3Stefan Kristjansson/Stefan Kindermann'Stefan Hirsch'Stefan Djuric/Stanislav Mikheev%Sofia Polgar5Slavoljub Marjanovic+Simen Agdestein1Siegfried Halwachst/Siegbert Tarrasch$%Shimon KaganShen Yang7Shakhriyar Mamedyarov1Shakhiyar Rahmanov/Sergey Makarichev'Sergey Kudrin+Sergey Karjakin-Sergey Fedorchuk<-Sergei Simonenko-Sergei Rublevsky -uY=!y]A% } a E ) e I -  i M 1  m Q 5  q U 9  uY=!y]A% }aE) eI-iM1mQ5qU9iK-#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4~#~Terminationmate in 4}#}Terminationmate in 4|#|Terminationmate in 4{#{Terminationmate in 4z#zTerminationmate in 4y#yTerminationmate in 4x#xTerminationmate in 4w#wTerminationmate in 4v#vTerminationmate in 4u#uTerminationmate in 4t#tTerminationmate in 4s#sTerminationmate in 4r#rTerminationmate in 4q#qTerminationmate in 4p#pTerminationmate in 4o#oTerminationmate in 4n#nTerminationmate in 4m#mTerminationmate in 4l#lTerminationmate in 4k#kTerminationmate in 4j#jTerminationmate in 4i#iTerminationmate in 4h#hTerminationmate in 4g#gTerminationmate in 4f#fTerminationmate in 4e#eTerminationmate in 4d#dTerminationmate in 4c#cTerminationmate in 4b#bTerminationmate in 4a#aTerminationmate in 4`#`Terminationmate in 4_#_Terminationmate in 4^#^Terminationmate in 4]#]Terminationmate in 4\#\Terminationmate in 4[#[Terminationmate in 4Z#ZTerminationmate in 4Y#YTerminationmate in 4X#XTerminationmate in 4W#WTerminationmate in 4V#VTerminationmate in 4U#UTerminationmate in 4T#TTerminationmate in 4S#STerminationmate in 4R#RTerminationmate in 4Q#QTerminationmate in 4P#PTerminationmate in 4O#OTerminationmate in 4N#NTerminationmate in 4M#MTerminationmate in 4L#LTerminationmate in 4K#KTerminationmate in 4J#JTerminationmate in 4I#ITerminationmate in 4H#HTerminationmate in 4G#GTerminationmate in 4F#FTerminationmate in 4E#ETerminationmate in 4D#DTerminationmate in 4C#CTerminationmate in 4B#BTerminationmate in 4A#ATerminationmate in 4@#@Terminationmate in 4?#?Terminationmate in 4>#>Terminationmate in 4=#=Terminationmate in 4<#  l N 0  | ^ @ "  n P 2  ~ ` B $  p R 4 bD&rT6dF( tV8fH* vX:hJ,xZ<#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4~#Terminationmate in 4}#Terminationmate in 4|#Terminationmate in 4{#Terminationmate in 4z#Terminationmate in 4y#Terminationmate in 4x#Terminationmate in 4w#Terminationmate in 4v#Terminationmate in 4u#Terminationmate in 4t#Terminationmate in 4s#Terminationmate in 4r#Terminationmate in 4q#Terminationmate in 4p#Terminationmate in 4o#Terminationmate in 4n#Terminationmate in 4m#Terminationmate in 4l#Terminationmate in 4k#Terminationmate in 4j#Terminationmate in 4i#Terminationmate in 4h#Terminationmate in 4g#Terminationmate in 4f#Terminationmate in 4e#Terminationmate in 4d#Terminationmate in 4c#Terminationmate in 4b#Terminationmate in 4a#Terminationmate in 4`#Terminationmate in 4_#Terminationmate in 4^#Terminationmate in 4]#Terminationmate in 4\#Terminationmate in 4[#Terminationmate in 4Z#Terminationmate in 4Y#Terminationmate in 4X#Terminationmate in 4W#Terminationmate in 4V#Terminationmate in 4U#Terminationmate in 4T#Terminationmate in 4S#Terminationmate in 4R#Terminationmate in 4Q#Terminationmate in 4P#Terminationmate in 4O#Terminationmate in 4N#Terminationmate in 4M#Terminationmate in 4L#Terminationmate in 4K#Terminationmate in 4J#Terminationmate in 4I#Terminationmate in 4H#Terminationmate in 4G#Terminationmate in 4F#Terminationmate in 4E#Terminationmate in 4D#Terminationmate in 4C#Terminationmate in 4B#Terminationmate in 4A#Terminationmate in 4@#Terminationmate in 4?#Terminationmate in 4>#Terminationmate in 4=#Terminationmate in 4<#Terminationmate in 4;#Terminationmate in 4:#Terminationmate in 49#Terminationmate in 48#Terminationmate in 47#Terminationmate in 46#Terminationmate in 45#Terminationmate in 44#Terminationmate in 43#Terminationmate in 42#Terminationmate in 41#Terminationmate in 40#Terminationmate in 4/#Terminationmate in 4.#Terminationmate in 4-#Terminationmate in 4,#Terminationmate in 4+#Terminationmate in 4*#Terminationmate in 4)#Terminationmate in 4(#Terminationmate in 4'#Terminationmate in 4&#Terminationmate in 4%#Terminationmate in 4$#Terminationmate in 4##Terminationmate in 4"#Terminationmate in 4!#Terminationmate in 4 #Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4#Terminationmate in 4 #Terminationmate in 4 #Terminationmate in 4 #Terminationmate in 4 #Terminationmate in 4 #Terminationmate in 4#Terminationmate in 4 ojL.z\>  l N 0  | ^ @ "  n P 2  ~ ` B $  p R 4 bD&rT6dF( tV8fH* vX:u#uTerminationmate in 4t#tTerminationmate in 4s#sTerminationmate in 4r#rTerminationmate in 4q#qTerminationmate in 4p#pTerminationmate in 4o#oTerminationmate in 4n#nTerminationmate in 4m#mTerminationmate in 4l#lTerminationmate in 4k#kTerminationmate in 4j#jTerminationmate in 4i#iTerminationmate in 4h#hTerminationmate in 4g#gTerminationmate in 4f#fTerminationmate in 4e#eTerminationmate in 4d#dTerminationmate in 4c#cTerminationmate in 4b#bTerminationmate in 4a#aTerminationmate in 4`#`Terminationmate in 4_#_Terminationmate in 4^#^Terminationmate in 4]#]Terminationmate in 4\#\Terminationmate in 4[#[Terminationmate in 4Z#ZTerminationmate in 4Y#YTerminationmate in 4X#XTerminationmate in 4W#WTerminationmate in 4V#VTerminationmate in 4U#UTerminationmate in 4T#TTerminationmate in 4S#STerminationmate in 4R#RTerminationmate in 4Q#QTerminationmate in 4P#PTerminationmate in 4O#OTerminationmate in 4N#NTerminationmate in 4M#MTerminationmate in 4L#LTerminationmate in 4K#KTerminationmate in 4J#JTerminationmate in 4I#ITerminationmate in 4H#HTerminationmate in 4G#GTerminationmate in 4F#FTerminationmate in 4E#ETerminationmate in 4D#DTerminationmate in 4C#CTerminationmate in 4B#BTerminationmate in 4A#ATerminationmate in 4@#@Terminationmate in 4?#?Terminationmate in 4>#>Terminationmate in 4=#=Terminationmate in 4<#?17rnb2b1r/ppp1n1kp/3p1q2/7Q/4PB2/2N5/PPP3PP/R4RK1 w - - 1 0i% !    ((1910.??.???<=17r1b2r2/p2p1pk1/1qp1pN1p/3nP1p1/2B4Q/3R4/PPP2PPP/2K4R w - - 1 0_$ !  w ''1910.??.???:;175r1k/3q3p/p1pP4/2p2pQ1/r1P3R1/3P4/6PP/1R4K1 w - - 1 0c# !   && 1909.??.???89173nbr2/4q2p/r3pRpk/p2pQRN1/1ppP2p1/2P5/PPB4P/6K1 w - - 1 0a" !  { %Y%X1908.??.???67175r2/pq4k1/1pp1Qn2/2bp1PB1/3R1R2/2P3P1/P6P/6K1 w - - 1 0[! !  o $;$81908.??.???45172r2r2/7k/5pRp/5q2/3p1P2/6QP/P2B1P1K/6R1 w - - 1 0n  !   ##1906.??.???2317rnbq1rk1/pp2bp1p/4p1p1/2pp2Nn/5P1P/1P1BP3/PBPP2P1/RN1QK2R w - - 1 0X !  i !!1898.??.???"1172k5/p1p1q3/2P3p1/3QP3/7p/7P/1PK3P1/8 w - - 1 0` !  y 1897.??.???/0173k1r2/2pb4/2p3P1/2Np1p2/1P6/4nN1R/2P1q3/Q5K1 w - - 1 0a !  { 1896.??.???-.174q1kr/p4p2/1p1QbPp1/2p1P1Np/2P5/7P/PP4P1/3R3K w - - 1 0_ !  w 1896.??.???+,171rb3k1/ppN2R1p/2n1P1p1/6p1/6B1/8/PPP3PP/6K1 w - - 1 0c !    1894.??.???)*17r2q3r/ppp5/2n4p/4Pbk1/2BP1Npb/P2QB3/1PP3P1/R5K1 w - - 1 0k !    \X 1892.??.???$(17r2q1rk1/ppp1n1p1/1b1p1p2/1B1N2BQ/3pP3/2P3P1/PP3P2/R5K1 w - - 1 0Z !  m G@ 1889.??.???&'175rbk/2pq3p/5PQR/p7/3p3R/1P4N1/P5PP/6K1 w - - 1 0] !  s " 1889.??.???$%171rb2r1k/pp1p2pp/5n1N/8/P7/1Q6/1PP3PP/4R2K w - - 1 0k !     1889.??.???"#173r1r1k/q2n3p/b1p2ppQ/p1n1p3/Pp2P3/1B1PBR2/1PPN2PP/R5K1 w - - 1 0f !   1888.??.??? !173q1rk1/4bp1p/1n2P2Q/1p1p1p2/6r1/Pp2R2N/1B1P2PP/7K w - - 1 0c !    1887.??.???17rnb3kr/ppp2ppp/1b6/3q4/3pN3/Q4N2/PPP2KPP/R1B1R3 w - - 1 0Y !  k 1887.??.???17r6k/pppb1B2/6Q1/8/3P4/2P1q3/PKP3PP/7R w - - 1 0g !   oh1883.??.???17qr6/1b1p1krQ/p2Pp1p1/4PP2/1p1B1n2/3B4/PP3K1P/2R2R2 w - - 1 0c !   G@ 1883.??.???172q2r2/5rk1/4pNpp/p2pPn2/P1pP2QP/2P2R2/2B3P1/6K1 w - - 1 0L !  Q ;8 1880.??.???17k1K5/7r/8/4B3/1RP5/8/8/8 w - - 1 0j !      1878.??.???17r1qbr2k/1p2n1pp/3B1n2/2P1Np2/p4N2/PQ4P1/1P3P1P/3RR1K1 w - - 1 0_ !  w  1876.??.???17r2r4/p1p2p1p/n5k1/1p5N/2p2R2/5N2/P1K3PP/5R2 w - - 1 0j !    1873.??.???17r1bnk2r/pppp1ppp/1b4q1/4P3/2B1N3/Q1Pp1N2/P4PPP/R3R1K1 w - - 1 0X  !  i 1869.??.???175r1k/7p/3p1PpN/4p1P1/4P2P/1R6/5b2/7K w - - 1 0b  !  } { x1866.??.???17rnbk2r1/ppp2Q1p/8/1B1Pp1q1/8/2N3B1/PPP3P1/R5K1 w - - 1 0_  !  w e `1866.??.???172r2b2/p2q1P1p/3p2k1/4pNP1/4P1RQ/7K/2pr4/5R2 w - - 1 0c  !   @ @1862.??.???17rnb3kr/ppp4p/3b3B/3Pp2n/2BP4/4KRp1/PPP3q1/RN1Q4 w - - 1 0c  !    1862.??.??? 17r3k3/pbpqb1r1/1p2Q1p1/3pP1B1/3P4/3B4/PPP4P/5RK1 w - - 1 0` !  y 1862.??.??? 176kr/pp2r2p/n1p1PB1Q/2q5/2B4P/2N3p1/PPP3P1/7K w - - 1 0b !  } 1860.??.??? 17r1bk3r/pppq1ppp/5n2/4N1N1/2Bp4/Bn6/P4PPP/4R1K1 w - - 1 0c !   1859.??.??? 172r1r3/p3P1k1/1p1pR1Pp/n2q1P2/8/2p4P/P4Q2/1B3RK1 w - - 1 0[ !  o 1859.??.???172k4r/1r1q2pp/QBp2p2/1p6/8/8/P4PPP/2R3K1 w - - 1 0\ !  q ih1858.??.???17r1b3kr/3pR1p1/ppq4p/5P2/4Q3/B7/P5PP/5RK1 w - - 1 0e !   JH1858.??.???17r1bqr3/ppp1B1kp/1b4p1/n2B4/3PQ1P1/2P5/P4P2/RN4K1 w - - 1 0c !   $ 1852.??.???171r2k1r1/pbppnp1p/1b3P2/8/Q7/B1PB1q2/P4PPP/3R2K1 w - - 1 0Y !   w 1851.??.???17r5rk/2p1Nppp/3p3P/pp2p1P1/4P3/2qnPQK1/8/R6R w - - 1 0 (s4s @ n  8 w <zZ?qI%h<s^P !  q YY41958.??.???174k3/R3n2p/4N3/3p1p2/2b2P2/5BP1/4P1K1/2r5 w - - 1 0gO !   XX31955.??.???17r7/1p3Q2/2kpr2p/p1p2Rp1/P3Pp2/1P3P2/1B2q1PP/3R3K w - - 1 0aN !  w WwWp31955.??.???17r4r1k/pp4R1/3pN1p1/3P2Qp/1q2Ppn1/8/6PP/5RK1 w - - 1 0^M !  s VTVP21953.??.???{173r4/6kp/1p1r1pN1/5Qq1/6p1/PB4P1/1P3P2/6KR w - - 1 0gL !   U&U 11953.??.???M172br3k/pp3Pp1/1n2p3/1P2N1pr/2P2qP1/8/1BQ2P1P/4R1K1 w - - 1 0]K !  s SS01951.??.???f175k2/p2Q1pp1/1b5p/1p2PB1P/2p2P2/8/PP3qPK/8 w - - 1 0\J !  q RR/1949.??.???}~17r3QnR1/1bk5/pp5q/2b5/2p1P3/P7/1BB4P/3R3K w - - 1 0bI !  } QQ.1948.??.???|>17r7/p1n2p1R/qp1p1k2/3Pp3/bPp1P3/2P1BBN1/3Q2K1/8 w - - 1 0^H !  u PP-1948.??.???z{174b3/k1r1q2p/p3p3/3pQ3/2pN4/1R6/P4PPP/1R4K1 w - - 1 0^G !  u OwOp,1945.??.???xy174r2r/5k2/2p2P1p/p2pP1p1/3P2Q1/6PB/1n5P/6K1 w - - 1 0^F !  u NYNX+1945.??.???vw173r4/pk3pq1/Nb2p2p/3n4/2QP4/6P1/1P3PBP/5RK1 w - - 1 0eE !   M>M8(1944.??.???pu173rb1k1/ppq3p1/2p1p1p1/6P1/2Pr3R/1P1Q4/P1B4P/5RK1 w - - 1 0_D !  w L!L *1943.??.???rt177R/r1p1q1pp/3k4/1p1n1Q2/3N4/8/1PP2PPP/2B3K1 w - - 1 0eC !   KK)1942.??.???rs17r3r1k1/ppp2p1p/1b3Bp1/4P3/3P1n2/2PB1N2/PP6/2KR3R w - - 1 0eB !   II(1940.??.???pq173r1k1r/p1q2p2/1pp2N1p/n3RQ2/3P4/2p1PR2/PP4PP/6K1 w - - 1 0`A !  y HH'1938.??.???no17rq3kB1/pp1b1p2/4pB1p/4P3/3P3Q/P1n5/5PPP/R5K1 w - - 1 0S@ !  _ GG&1937.??.???jm178/Q7/5pkp/2n1q3/8/1B5P/5PP1/6K1 w - - 1 0b? !  } FF%1935.??.???kl174r3/p1r2p1k/1p2pPpp/2qpP3/3R2P1/1PPQ3R/1P5P/7K w - - 1 0W> !  g EtEp"1935.??.???jb173kn3/p1p2Rp1/1p2q3/7p/7P/5QP1/P6K/8 w - - 1 0e= !   DIDH$1934.??.???hi172r2rk1/1b3pp1/4p3/p3P1Q1/1pqP1R2/2P5/PP1B1K1P/R7 w - - 1 0^< !  u C,C(#1931.??.???fg174r2k/pp2q2b/2p2p1Q/4rP2/P7/1B5P/1P2R1R1/7K w - - 1 0_; !  w BB"1931.??.???de172bk4/6b1/2pNp3/r1PpP1P1/P1pP1Q2/2rq4/7R/6RK w - - 1 0_: !  w @@1930.??.???bc173r1bN1/3p1p1p/pp6/5k2/5P2/P7/1P2PPBq/R2R1K2 w - - 1 0e9 !   ??!1930.??.???`a17r1b1rk2/ppq3p1/2nbpp2/3pN1BQ/2PP4/7R/PP3PPP/R5K1 w - - 1 0e8 !   >> 1929.??.???^_172r3k1/pp3ppp/1qr2n2/3p1Q2/1P6/P2BP2P/5PP1/2R2RK1 w - - 1 0k7 !    =g=`1928.??.???7]17r2Nqb1r/pQ1bp1pp/1pn1p3/1k1p4/2p2B2/2P5/PPP2PPP/R3KB1R w - - 1 0g6 !   <@<@1928.??.???[\174q1rk/pb2bpnp/2r4Q/1p1p1pP1/4NP2/1P3R2/PBn4P/RB4K1 w - - 1 0V5 !  e ;+;(1928.??.???YZ17rk6/N4ppp/Qp2q3/3p4/8/8/5PPP/2R3K1 w - - 1 0_4 !  w ::1928.??.???WX17r3rk2/5pR1/pp1q1P1p/8/3p3P/P2B4/1P1Q2b1/1K6 w - - 1 0i3 !    881927.??.???UV17rnbq1b1r/ppp1pQ1p/1n1p2p1/4P2k/3P4/8/PPP2PPP/RNB1K2R w - - 1 0h2 !   771926.??.???ST17r4b1r/pppq2pp/2n1b1k1/3n4/2Bp4/5Q2/PPP2PPP/RNB1R1K1 w - - 1 0e1 !   66 1926.??.???QR17r2q2rk/ppp2p1p/3b1pn1/5R1Q/3P4/2P4N/PP4PP/R1B3K1 w - - 1 0i0 !    5l5h1926.??.???OP17rnbq1bkr/pp3p1p/2p3pQ/3N2N1/2B2p2/8/PPPP2PP/R1B1R1K1 w - - 1 0\/ !  q 4B4@1925.??.???M7174r3/6kp/ppr3P1/3p4/3Pq3/3nBR2/PP4QP/5R1K w - - 1 0l. !   3 31924.??.???MN17rnbq1bnr/pp1p1p1p/3pk3/3NP1p1/5p2/5N2/PPP1Q1PP/R1B1KB1R w - - 1 0e- !   111923.??.???KL17r1r3k1/pp1q1p1p/4nBpQ/3pP3/1b5P/3B4/P1P3P1/R2K3R w - - 1 0^, !  u 001922.??.???IJ172r3k1/4p1nR/p3p1p1/4N3/1p2Q3/1P6/P1Pq4/1K6 w - - 1 0_+ !  w //1920.??.???GH174b3/pkb5/1pp1Bp2/4pPp1/PP2P2r/2PQBq2/8/2KR4 w - - 1 0h* !   ..1919.??.???EF17r2qrk2/p5b1/2b1p1Q1/1p1pP3/2p1nB2/2P1P3/PP3P2/2KR3R w - - 1 0`) !  y -`-`1919.??.???D7173rkq1r/1pQ2p1p/p3bPp1/3pR3/8/8/PPP2PP1/1K1R4 w - - 1 0 '6i ; m  : l  M!S$X'e)Z]w !  k U1977.??.???176r1/p5bk/4N1pp/2B1p3/4Q2N/8/2P2KPP/q7 w - - 1 0^v !  m T1977.??.???176rk/1b6/p5pB/1q2P2Q/4p2P/6R1/PP4PK/3r4 w - - 1 0ju !   S1977.??.???17r1bq2k1/pp2n1p1/5r2/2p2pNQ/3p4/3P4/PPP2PBP/R3R1K1 w - - 1 0at !  s R1976.??.???171R2R3/p1r2pk1/3b1pp1/8/2Pr4/4N1P1/P4PK1/8 w - - 1 0ks !   Q1976.??.???173q1r2/2rbnp2/p3pp1k/1p1p2N1/3P2Q1/P3P3/1P3PPP/5RK1 w - - 1 0dr !  y f`P1975.??.???172k3rr/p4q1p/N2B4/p3PpQ1/3P2n1/8/2P2PPP/1R4K1 w - - 1 0gq !   B@O1975.??.???17rqr3k1/3bppBp/3p2P1/p7/1n2P3/1p3P2/1PPQ2P1/2KR3R w - - 1 0ap !  w ~'~ N1974.??.???173q3r/r4pk1/pp2pNp1/3bP1Q1/7R/8/PP3PPP/3R2K1 w - - 1 0]o !  o }}1973.??.???173rkb2/pp3R1R/8/2p1P3/3pKB2/6P1/PrP2P2/8 w - - 1 0`n !  u {{M1973.??.???172R2bk1/5rr1/p3Q2R/3Ppq2/1p3p2/8/PP1B2PP/7K w - - 1 0gm !   zzL1973.??.???175r1k/1p1b1p1p/p2ppb2/5P1B/1q6/1Pr3R1/2PQ2PP/5R1K w - - 1 0dl !  } yyK1973.??.???176rk/3b3p/p2b1p2/2pPpP2/2P1B3/1P4q1/P2BQ1PR/6K1 w - - 1 0ck !  { xxJ1971.??.???175Q1R/3qn1p1/p3p1k1/1pp1PpB1/3r3P/5P2/PPP3K1/8 w - - 1 0ej !   wgw`1970.??.???171qbk2nr/1pNp2Bp/2n1pp2/8/2P1P3/8/Pr3PPP/R2QKB1R w - - 1 0`i !  u vHvHI1970.??.???176rk/5p1p/5p2/1p2bP2/1P2R2Q/2q1BBPP/5PK1/r7 w - - 1 0ih !   u u 1969.??.???17r2r1k2/5pRp/pq2pBn1/1p2P2Q/2p4P/2Pn2P1/PP3Pb1/5RK1 w - - 1 0`g !  u ssH1969.??.???17r1q5/2p2k2/p4Bp1/2Nb1N2/p6Q/7P/nn3PP1/R5K1 w - - 1 0jf !   rrG1969.??.???17rn3k1r/pbpp1Bbp/1p4pN/4P1B1/3n4/2q3Q1/PPP2PPP/2KR3R w - - 1 0`e !  u qqF1968.??.???17r2q4/1p2N2k/1P3Qp1/pBnpp3/4b1P1/8/P6P/5RK1 w - - 1 0ad !  w ppE1967.??.???177R/2rr1kp1/p3p3/1p1q1p2/n4P1Q/P4P2/4B2P/6RK w - - 1 0dc !  } omohD1967.??.???173q1r2/2n5/p4pkp/3PrN1p/1pP2Q2/1P4BP/P4PP1/R5K1 w - - 1 0ab !  w nNnHC1967.??.???17r1r2bk1/p4pBp/1p6/3q1N2/n1P5/4R3/P3QPPP/6K1 w - - 1 0`a !  u m/m(B1967.??.???17r4rk1/p4pp1/7P/2pp4/3Bn3/8/qPP1QP1P/2KR2R1 w - - 1 0^` !  q llA1967.??.???171R6/4r1pk/pp2N2p/4nP2/2p5/2P3P1/P2P1K2/8 w - - 1 0[_ !  k jj@1966.??.???17q5k1/1b2R1pp/1p3n2/4BQ2/8/7P/5PPK/4r3 w - - 1 0k^ !    ii?1966.??.???17r2r1k2/pbq2pp1/2p1p1p1/1pP1N1P1/6Q1/P6R/1P3P1P/4R1K1 w - - 1 0_] !  s hh>1965.??.???171r4k1/3p3R/4p3/2p1P1qp/2P1Q3/1n1B4/6P1/7K w - - 1 0g\ !   gygx71965.??.???17r2r1n2/pp2bk2/2p1p2p/3q4/3PN1QP/2P3R1/P4PP1/5RK1 w - - 1 0i[ !   fPfP=1965.??.???17rq3rk1/1p1bpp1p/3p2pQ/p2N3n/2BnP1P1/5P2/PPP5/2KR3R w - - 1 0]Z !  q e+e(<1965.??.???}178/p5Qp/1p2q2B/2p2rp1/2P3Pk/2P2P2/P6P/6K1 w - - 1 0_Y !  s dd;1964.??.???175nk1/2N2p2/2b2Qp1/p3PpNp/2qP3P/6P1/5P1K/8 w - - 1 0kX !    bb"1964.??.???172r1rk2/1p2qp1R/4p1p1/1b1pP1N1/p2P4/nBP1Q3/P4PPP/R5K1 w - - 1 0jW !   aa:1964.??.???172rqrb2/p2nk3/bp2pnQp/4B1p1/3P4/P1N5/1P3PPP/1B1RR1K1 w - - 1 0[V !  k ``91961.??.???17kb3R2/1p5r/5p2/1P1Q4/p5P1/q7/5P2/4RK2 w - - 1 0cU !  { _m_h81960.??.???17R4rk1/4r1p1/1q2p1Qp/1pb5/1n5R/5NB1/1P3PPP/6K1 w - - 1 0aT !  w ^K^H"1960.??.???17r2r4/1p1R3p/5p1k/b1B1Pp2/p4P2/P7/1P5P/1K4R1 w - - 1 0hS !   ]]71958.??.???172r2rk1/pp3nbp/2p1bq2/2Pp4/1P1P1PP1/P1NB4/1BQK4/7R w - - 1 0dR !  } [[61958.??.???17r1b2rk1/1p4qp/p5pQ/2nN1p2/2B2P2/8/PPP3PP/2K1R3 w - - 1 0bQ !  y ZZ51958.??.???171R4Q1/3nr1pp/3p1k2/5Bb1/4P3/2q1B1P1/5P1P/6K1 w - - 1 0 &3n 1 T  V $N$TvO~>k ] !  k o1987.??.???173q4/8/r1b4Q/2P2kp1/p2p4/P7/1P5P/4R1K1 w - - 1 0] !  k n1987.??.???171r4k1/7R/p2p4/P5q1/1P2B3/5Pb1/2Q3K1/8 w - - 1 0g !   k1987.??.???171qr2bk1/pb3pp1/1pn3np/3N2NQ/8/P7/BP3PPP/2B1R1K1 w - - 1 0f !  } m1987.??.???173r2k1/6p1/3Np2p/2P1P3/1p2Q1Pb/1P3R1P/1qr5/5RK1 w - - 1 0f !  } l1987.??.???17n2q1r1k/4bp1p/4p3/4P1p1/2pPNQ2/2p4R/5PPP/2B3K1 w - - 1 0l !   f`k1986.??.???171r3rk1/1nqb2n1/6R1/1p1Pp3/1Pp3p1/2P4P/2B2QP1/2B2RK1 w - - 1 0e !  { C@j1986.??.???17r3r3/1q2Pk1p/pn1Q2p1/1p3pB1/8/5N2/P5PP/2R1b2K w - - 1 0] !  k ,(i1986.??.???176k1/ppR3pp/8/3Np3/1Q4bP/6P1/PP2qbK1/8 w - - 1 0n !    h1986.??.???17br1qr1k1/b1pnnp2/p2p2p1/P4PB1/3NP2Q/2P3N1/B5PP/R3R1K1 w - - 1 0` !  q f1985.??.???178/5R1p/4p1p1/3pN1k1/1rnP4/p3P3/P1K2PPP/8 w - - 1 0Z !  e g1985.??.???17r4k2/PR6/1b6/4p1Np/2B2p2/2p5/2K5/8 w - - 1 0d !  y I1985.??.???174n3/pbq2rk1/1p3pN1/8/2p2Q2/Pn4N1/B4PP1/4R1K1 w - - 1 0e !  { f1985.??.???175k2/ppqrRB2/3r1p2/2p2p2/7P/P1PP2P1/1P2QP2/6K1 w - - 1 0s !   XXe1985.??.???17r2qr1k1/1p3pP1/p2p1np1/2pPp1B1/2PnP1b1/2N2p2/PP1Q4/2KR1BNR w - - 1 0j !   ,(1985.??.???17r1b2n2/2q3rk/p3p2n/1p3p1P/4N3/PN1B1P2/1PPQ4/2K3R1 w - - 1 0` !  q d1985.??.???17r1b4k/1p4qp/p7/4p2P/2B5/6Q1/PPP3P1/2K2R2 w - - 1 0d  !  y 1985.??.???174R3/2p2kpQ/3p3p/p2r2q1/8/1Pr2P2/P1P3PP/4R1K1 w - - 1 0a  !  s c1985.??.???17k1b4r/1p6/pR3p2/P1Qp2p1/2pp4/6PP/2P2qBK/8 w - - 1 0\  !  i b1984.??.???175k2/6r1/p7/2p1P3/1p2Q3/8/1q4PP/3R2K1 w - - 1 0j  !   a1984.??.???17r2r2k1/1p3pb1/q2p2p1/3PnN1R/p1P1p3/N6Q/PP5P/1K4R1 w - - 1 0f  !  } oha1984.??.???172r1rk2/p1q3pQ/4p3/1pppP1N1/7p/4P2P/PP3P2/1K4R1 w - - 1 0i !   KH`1984.??.???17rr2k3/5p2/p1bppPpQ/2p1n1P1/1q2PB2/2N4R/PP4BP/6K1 w - - 1 0W !  _ <8_1983.??.???172r1k3/2P3R1/3P2K1/6N1/8/8/8/3r4 w - - 1 0i !   ^1983.??.???173r1rk1/ppqn3p/1npb1P2/5B2/2P5/2N3B1/PP2Q1PP/R5K1 w - - 1 0_ !  o ]1983.??.???171q1N4/3k1BQp/5r2/5p2/3P3P/8/3B1PPb/3n3K w - - 1 0d !  y ,1982.??.???172b2k2/2p2r1p/p2pR3/1p3PQ1/3q3N/1P6/2P3PP/5K2 w - - 1 0` !  q \1982.??.???17r5nr/6Rp/p1NNkp2/1p3b2/2p5/5K2/PP2P3/3R4 w - - 1 0` !  q [1981.??.???178/6R1/p2kp2r/qb5P/3p1N1Q/1p1Pr3/PP6/1K5R w - - 1 0l !   nh"1981.??.???175r1k/2q1r1p1/1npbBpQB/1p1p3P/p2P2R1/P4PP1/1PR2PK1/8 w - - 1 0n !    F@1980.??.???17r1b3kn/2p1q1p1/2p2rP1/p2p1p2/4pP2/1PN1P3/PKPPQ3/3R2NR w - - 1 0j !   *(1980.??.???17r1b2rk1/p3Rp1p/3q2pQ/2pp2B1/3b4/3B4/PPP2PPP/4R1K1 w - - 1 0l~ !   Z1979.??.???17r3r2k/pb1n3p/1p1q1pp1/4p1B1/2BP3Q/2P1R3/P4PPP/4R1K1 w - - 1 0f} !  } Y1979.??.???172r1r3/pp1nbN2/4p3/q7/P1pP2nk/2P2P2/1PQ5/R3R1K1 w - - 1 0e| !  { X1979.??.???17r2r2k1/1q4p1/ppb3p1/2bNp3/P1Q5/1N5R/1P4BP/n6K w - - 1 0d{ !  y W1978.??.???17r1bqkb2/6p1/p1p4p/1p1N4/8/1B3Q2/PP3PPP/3R2K1 w - - 1 0]z !  k tp<1977.??.???178/r7/3pNb2/3R3p/1p2p3/pPk5/P1P3PP/1K6 w - - 1 0_y !  o \X)1977.??.???17r7/5pk1/2p4p/1p1p4/1qnP4/5QPP/2B1RP1K/8 w - - 1 0jx !   ;8V1977.??.???172rq2k1/3bb2p/n2p2pQ/p2Pp3/2P1N1P1/1P5P/6B1/2B2R1K w - - 1 0 '^'^ " b " T } 4eCpM6`#^cD !  u UP1993.??.???'H173r1b2/3P1p2/p3rpkp/2q2N2/5Q1R/2P3BP/P5PK/8 w - - 1 0\C !  i ;8 1993.??.???FG174k3/2q2p2/4p3/3bP1Q1/p6R/r6P/6PK/5B2 w - - 1 0^B !  k 1993.??.???DE173r3k/6pp/p3Qn2/P3N3/4q3/2P4P/5PP1/6K1 w - - 1 0jA !   1992.??.???BC17rk3q1r/pbp4p/1p3P2/2p1N3/3p2Q1/3P4/PPP3PP/R3R1K1 w - - 1 0l@ !   1992.??.????A17r1r3k1/1bq2pbR/p5p1/1pnpp1B1/3NP3/3B1P2/PPPQ4/1K5R w - - 1 0f? !  } גא1992.??.????@17r3rn1k/4b1Rp/pp1p2pB/3Pp3/P2qB1Q1/8/2P3PP/5R1K w - - 1 0j> !   hh1992.??.???=>17r4r1k/1p3p1p/pp1p1p2/4qN1R/PP2P1n1/6Q1/5PPP/R5K1 w - - 1 0e= !  y LH1992.??.???;<17q3r3/4b1pn/pNrp2kp/1p6/4P3/1Q2B3/PPP1B1PP/7K w - - 1 0Y< !  a 201992.??.???9:174kb1Q/5p2/1p6/1K1N4/2P2P2/8/q7/8 w - - 1 0P; !  O $ 1992.??.???*8178/8/5K2/6r1/8/8/5Q1p/7k w - - 1 0^: !  k 1992.??.???67175r2/R4Nkp/1p4p1/2nR2N1/5p2/7P/6PK/1r6 w - - 1 0_9 !  o p1991.??.???45172r5/1p5p/3p4/pP1P1R2/1n2B1k1/8/1P3KPP/8 w - - 1 0]8 !  k 1991.??.???23173Q4/4r1pp/b6k/6R1/8/1qBn1N2/1P4PP/6KR w - - 1 0j7 !   ήΨ1991.??.???0117rnb3kb/pp5p/4p1pB/q1p2pN1/2r1PQ2/2P5/P4PPP/2R2RK1 w - - 1 0c6 !  w ͈͌~1991.??.???./172qk1r2/Q3pr2/3p2pn/7p/5P2/4B2P/P1P3P1/1R4K1 w - - 1 0]5 !  k e`}1991.??.???,-172Rr1qk1/5ppp/p2N4/P7/5Q2/8/1r4PP/5BK1 w - - 1 0Y4 !  c IH01991.??.???*+175Q2/8/6p1/2p4k/p1Bpq2P/6PK/P2b4/8 w - - 1 0c3 !  w ' |1991.??.???)17r3b3/1p3N1k/n4p2/p2PpP2/n7/6P1/1P1QB1P1/4K3 w - - 1 0_2 !  o s1991.??.???'(178/1p3pkp/6p1/6P1/5n2/p5q1/PP1Q2P1/3R2K1 w - - 1 0j1 !   {1991.??.???%&172r2k2/pb4bQ/1p1qr1pR/3p1pB1/3Pp3/2P5/PPB2PP1/1K5R w - - 1 0i0 !   Ʊưz1991.??.???#$17r1b1r1k1/p1q3p1/1pp1pn1p/8/3PQ3/B1PB4/P5PP/R4RK1 w - - 1 0i/ !   Ńŀj1991.??.???!"174rk2/pb1Q1p2/6p1/3p2p1/2pP4/2q1PPK1/Pr4P1/1B2R2R w - - 1 0n. !    TPy1990.??.??? 172rqr1k1/1p2bp1p/pn4p1/3p1bP1/3B3Q/2NR2R1/PPP1NP1P/1K6 w - - 1 0j- !   ,(x1990.??.???17rnb2rk1/ppp2qb1/6pQ/2pN1p2/8/1P3BP1/PB2PP1P/R4RK1 w - - 1 0g, !   +1990.??.???173r1kbR/1p1r2p1/2qp1n2/p3pPQ1/P1P1P3/BP6/2B5/6RK w - - 1 0e+ !  { 1990.??.???172r2bk1/2qn1ppp/pn1p4/5N2/N3r3/1Q6/5PPP/BR3BK1 w - - 1 0c* !  w w1990.??.???173q4/1p3p1k/1P1prPp1/P1rNn1Qp/8/7R/6PP/3R2K1 w - - 1 0l) !   v1990.??.???17rn2rk2/p1q1Nppp/1p4b1/2pP2Q1/2P5/6P1/PB3P1P/2R1R1K1 w - - 1 0`( !  q s1990.??.???173q1r2/6k1/p2pQb2/4pR1p/4B3/2P3P1/P4PK1/8 w - - 1 0k' !   _Xt1989.??.???175n1k/rq4rp/p1bp1b2/2p1pP1Q/P1B1P2R/2N3R1/1P4PP/6K1 w - - 1 0g& !   *(u1989.??.???172r3k1/pp4rp/1q1p2pQ/1N2p1PR/2nNP3/5P2/PPP5/2K4R w - - 1 0S% !  W "1989.??.???175r1k/7b/4B3/6K1/3R1N2/8/8/8 w - - 1 0e$ !  { (1989.??.???17r3rk2/6b1/q2pQBp1/1NpP4/1n2PP2/nP6/P3N1K1/R6R w - - 1 0e# !  { t1989.??.???176k1/5pb1/3p1n2/q1pP2Q1/2P4p/1r2R2P/5PPB/4R1K1 w - - 1 0i" !   s1988.??.???176rk/2p2p1p/p2q1p1Q/2p1pP2/1nP1R3/1P5P/P5P1/2B3K1 w - - 1 0e! !  { r1988.??.???  175q1k/p3R1rp/2pr2p1/1pN2bP1/3Q1P2/1B6/PP5P/2K5 w - - 1 0^  !  m 1988.??.???  175q2/p7/3R4/3Q2p1/5pk1/4p1P1/P6P/2r2NK1 w - - 1 0j !   ]Xq1988.??.??? 17r4n1k/ppBnN1p1/2p1p3/6Np/q2bP1b1/3B4/PPP3PP/R4Q1K w - - 1 0i !   40p1987.??.???17r1b2k1r/2q1b3/p3ppBp/2n3B1/1p6/2N4Q/PPP3PP/2KRR3 w - - 1 0 &f+M  C k 7 p 1_.P{ Dp5fbj !  u v1997.??.???17r1b1Q3/p1p3p1/1p3k1p/4N3/8/2P5/PP3PPP/2K4R w - - 1 0gi !  } 1997.??.???175r1k/1p4pp/p2N4/3Qp3/P2n1bP1/5P1q/1PP2R1P/4R2K w - - 1 0dh !  w hh1997.??.???178/pp2Q1p1/2p3kp/6q1/5n2/1B2R2P/PP1r1PP1/6K1 w - - 1 0fg !  { F@1997.??.???17r1kq1b1r/5ppp/p4n2/2pPR1B1/Q7/2P5/P4PPP/1R4K1 w - - 1 0hf !   " 1997.??.???17r2r4/1bp2pk1/p3pNp1/4P1P1/2p2Q2/2P5/qP3PP1/2K4R w - - 1 0ie !   1997.??.??? 174r1k1/1R4bp/pB2p1p1/P4p2/2r1pP1Q/2P4P/1q4P1/3R3K w - - 1 0ed !  y 1997.??.???h178/6R1/1p1p4/1P1Np2k/2P1N2p/3P1p1q/1B2PP2/6K1 w - - 1 0ac !  q 1997.??.???~17r4k2/1pp3q1/3p1NnQ/p3P3/2P3p1/8/PP6/2K4R w - - 1 0ab !  s 1996.??.???|}17r6r/pp2pk1p/1n3b2/5Q1N/8/3B4/q4PPP/3RR1K1 w - - 1 0la !   vp1996.??.????{17r3r1k1/pp3pb1/3pb1p1/q5B1/1n2N3/3B1N2/PPP2PPQ/2K4R w - - 1 0b` !  s RP1996.??.???yz175k2/r3pp1p/6p1/q1pP3R/5B2/2b3PP/PQ3PK1/R7 w - - 1 0m_ !   $ 1996.??.???wx17r4b1r/pp1n2k1/1qp1p2p/3pP1pQ/1P6/2BP2N1/P4PPP/R4RK1 w - - 1 0p^ !    1996.??.???uv17rr4Rb/2pnqb1k/np1p1p1B/3PpP2/p1P1P2P/2N3R1/PP2BP2/1KQ5 w - - 1 0h] !   1996.??.???st17r1bq1bkr/6pp/p1p3P1/1p1p3Q/4P3/8/PPP3PP/RNB2RK1 w - - 1 0_\ !  m 1996.??.???qr172b5/3qr2k/5Q1p/P3B3/1PB1PPp1/4K1P1/8/8 w - - 1 0_[ !  m 1996.??.???op172Q5/4ppbk/3p4/3P1NPp/4P3/5NB1/5PPK/rq6 w - - 1 0jZ !   [X1996.??.???mn17r4r1k/pppq1p1p/3p4/5p1Q/2B1Pp2/3P3P/PPn2P1K/R5R1 w - - 1 0hY !   =81996.??.???kl17r1bkr3/1p3ppp/p1p5/4P3/2B1n3/2P1B3/P1P3PP/R4RK1 w - - 1 0dX !  y 1996.??.???Dj172r3k1/p4p2/1p2P1pQ/3bR2p/1q6/1B6/PP2RPr1/5K2 w - - 1 0eW !  y 1995.??.???hi17r1qr3k/3R2p1/p3Q3/1p2p1p1/3bN3/8/PP3PPP/5RK1 w - - 1 0lV !   1995.??.???fg17r1brn3/p1q4p/p1p2P1k/2PpPPp1/P7/1Q2B2P/1P6/1K1R1R2 w - - 1 0eU !  y 1995.??.???de172r4k/ppqbpQ1p/3p1bpB/8/8/1Nr2P2/PPP3P1/2KR3R w - - 1 0bT !  s 1994.??.???bc171R2n1k1/r3pp1p/6p1/3P4/P1p2B2/6P1/5PKP/b7 w - - 1 0_S !  o yx"1994.??.???a174k2r/1R3R2/p3p1pp/4b3/1BnNr3/8/P1P5/5K2 w - - 1 0eR !  { QP"1994.??.???_`171b4rk/4R1pp/p1b4r/2PB4/Pp1Q4/6Pq/1P3P1P/4RNK1 w - - 1 0gQ !   ' 1994.??.????^171r2r3/2p2pkp/p1b2Np1/4P3/2p4P/qP4N1/2P2QP1/5RK1 w - - 1 0_P !  o p1994.??.???\]175rk1/pR4bp/6p1/6B1/5Q2/4P3/q2r1PPP/5RK1 w - - 1 0gO !   1994.??.???Z[17r3r1n1/pp3pk1/2q2p1p/P2NP3/2p1QP2/8/1P5P/1B1R3K w - - 1 0kN !   1994.??.???XY173rnn2/p1r2pkp/1p2pN2/2p1P3/5Q1N/2P3P1/PP2qPK1/R6R w - - 1 0fM !  { 1994.??.???W172rr3k/1p1b1pq1/4pNp1/Pp2Q2p/3P4/7R/5PPP/4R1K1 w - - 1 0hL !   xx1994.??.???UV17r1bq1rk1/4np1p/1p3RpB/p1Q5/2Bp4/3P4/PPP3PP/R5K1 w - - 1 0hK !   IH1994.??.???ST171r3r1k/6R1/1p2Qp1p/p1p4N/3pP3/3P1P2/PP2q2P/5R1K w - - 1 0_J !  o 301994.??.???PR174r3/2B4B/2p1b3/ppk5/5R2/P2P3p/1PP5/1K5R w - - 1 0fI !  } 1994.??.???PQ175r2/1pP1b1p1/pqn1k2p/4p3/QP2BP2/P3P1PK/3R4/3R4 w - - 1 0lH !   1993.??.???NO173R4/rr2pp1k/1p1p1np1/1B1Pq2p/1P2P3/5P2/3Q2PP/2R3K1 w - - 1 0lG !   1993.??.???LM17r1bqr3/4pkbp/2p1N2B/p2nP1Q1/2pP4/2N2P2/PP4P1/R3K2R w - - 1 0^F !  m ߦߠY1993.??.???JK172q2r1k/5Qp1/4p1P1/3p4/r6b/7R/5BPP/5RK1 w - - 1 0qE !   zx1993.??.???I17r2qr1k1/1p1n2pp/2b1p3/p2pP1b1/P2P1Np1/3BPR2/1PQB3P/5RK1 w - - 1 0 &0c @ f  7 n  *W&YzR_e !  y 332001.??.???176k1/1p2q2p/p3P1pB/8/1P2p3/2Qr2P1/P4P1P/2R3K1 w - - 1 0k !   222001.??.???17rn3rk1/2qp2pp/p3P3/1p1b4/3b4/3B4/PPP1Q1PP/R1B2R1K w - - 1 0m !   112001.??.???17r4r1k/1bpq1p1n/p1np4/1p1Bb1BQ/P7/6R1/1P3PPP/1N2R1K1 w - - 1 0i  !   0w0pw2001.??.???17r1b2k2/1p4pp/p4N1r/4Pp2/P3pP1q/4P2P/1P2Q2K/3R2R1 w - - 1 0_  !  m /]/X2001.??.???,173r2k1/3N3p/4p1pQ/3p1p2/3P4/6BP/q4PPK/8 w - - 1 0X  !  _ .A.@2001.??.???171r6/1p3K1k/p3N3/P6n/6RP/2P5/8/8 w - - 1 0d  !  y - - ,2001.??.???172q4k/5pNP/p2p1BpP/4p3/1p2b3/1P6/P1r2R2/1K4Q1 w - - 1 0d  !  w ++2001.??.???176rk/6pp/2p2p2/2B2P1q/1P2Pb2/1Q5P/2P2P2/3R3K w - - 1 0e !  y **2001.??.???172b3k1/r3q2p/4p1pB/p4r2/4N3/P1Q5/1P4PP/2R2R1K w - - 1 0a !  q ))2000.??.???175rk1/3p1p1p/p4Qq1/1p1P2R1/7N/n6P/2r3PK/8 w - - 1 0[ !  e ((2000.??.???178/8/p6p/1p3Kpk/1P2P3/P1b3P1/2N4P/8 w - - 1 0c !  w 'f'`2000.??.???17rnb2r1k/pp2q2p/2p2R2/8/2Bp3Q/8/PPP3PP/RN4K1 w - - 1 0g !  } &B&@2000.??.???17qr3b1r/Q5pp/3p4/1kp5/2Nn1B2/Pp6/1P3PPP/2R1R1K1 w - - 1 0r !   %%2000.??.???17r1b2rk1/p1qnbp1p/2p3p1/2pp3Q/4pP2/1P1BP1R1/PBPP2PP/RN4K1 w - - 1 0` !  o ##1999.??.???174qk2/6p1/p7/1p1Qp3/r1P2b2/1K5P/1P6/4RR2 w - - 1 0g !   ""G1999.??.???17r2q4/pp1rpQbk/3p2p1/2pPP2p/5P2/2N5/PPP2P2/2KR3R w - - 1 0b !  u !!1999.??.???17r6r/p1qbB1kp/5p2/3Q2p1/8/P4N2/1P3PPP/4R1K1 w - - 1 0h !    | x1999.??.???17rn3rk1/1p3pB1/p4b2/q4P1p/6Q1/1B6/PPp2P1P/R1K3R1 w - - 1 0^~ !  m ]X1999.??.???177r/p3R3/BpkP4/2b1P1p1/8/1K2n1B1/P5P1/8 w - - 1 0^} !  k ?81999.??.???,17R6R/2kr4/1p3pb1/3prN2/6P1/2P2K2/1P6/8 w - - 1 0o| !    1999.??.???17r3r3/pppq1p1k/1bn2Bp1/3pPb2/1P1P4/P4N2/2BQ1PPP/R3R1K1 w - - 1 0j{ !   1999.??.???172rr2k1/1b3ppp/nq1p4/pB1P2Q1/PpP5/1N6/1P4PP/4RR1K w - - 1 0gz !  } 1999.??.???174Q3/1b5r/1p1kp3/5p1r/3p1nq1/P4NP1/1P3PB1/2R3K1 w - - 1 0jy !   1999.??.???17r2b2Q1/1bq5/pp1k2p1/2p1n1B1/P3P3/2N5/1PP3PP/5R1K w - - 1 0ex !  y up1999.??.???h178/1R4pp/k2rQp2/2p2P2/p2q1P2/1n1r2P1/6BP/4R2K w - - 1 0^w !  k _X1998.??.???17R7/5pkp/3N2p1/2r3Pn/5r2/1P6/P1P5/2KR4 w - - 1 0gv !  } 881998.??.???17r1br2k1/4p1b1/pq2pn2/1p4N1/7Q/3B4/PPP3PP/R4R1K w - - 1 0au !  q 1998.??.???172R1R1nk/1p4rp/p1n5/3N2p1/1P6/2P5/P6P/2K5 w - - 1 0^t !  m 1998.??.???w173r1kr1/8/p2q2p1/1p2R3/1Q6/8/PPP5/1K4R1 w - - 1 0hs !   1998.??.???175r1k/1q4bp/3pB1p1/2pPn1B1/1r6/1p5R/1P2PPQP/R5K1 w - - 1 0lr !   1998.??.???*171r1qrbk1/3b3p/p2p1pp1/3NnP2/3N4/1Q4BP/PP4P1/1R2R2K w - - 1 0fq !  { ~x1998.??.???17r3r1k1/1b6/p1np1ppQ/4n3/4P3/PNB4R/2P1BK1P/1q6 w - - 1 0Np !  K qp1998.??.???178/8/2N5/8/8/p7/2K5/k7 w - - 1 0fo !  { PP1998.??.???173q1r2/pb3pp1/1p6/3pP1Nk/2r2Q2/8/Pn3PP1/3RR1K1 w - - 1 0dn !  w  5 01997.??.???172rkr3/3b1p1R/3R1P2/1p2Q1P1/pPq5/P1N5/1KP5/8 w - - 1 0cm !  u   1997.??.???J174kr2/3rn2p/1P4p1/2p5/Q1B2P2/8/P2q2PP/4R1K1 w - - 1 0`l !  o   1997.??.???176k1/B2N1pp1/p6p/P3N1r1/4nb2/8/2R3B1/6K1 w - - 1 0jk !     v1997.??.???173q1rk1/ppr1pp1p/n5pQ/2pP4/4PP1N/PP1n2PB/7P/1R3RK1 w - - 1 0 &0] 2 ] | ; q @u <j :i7Wl6 !   _n_h2005.??.???J174rk1r/p2b1pp1/1q5p/3pR1n1/3N1p2/1P1Q1P2/PBP3PK/4R3 w - - 1 0]5 !  k ^T^P`2005.??.???174r3/2RN4/p1r5/1k1p4/5Bp1/p2P4/1P4PK/8 w - - 1 0n4 !    ]'] 2005.??.???174r1k1/3r1p1p/bqp1n3/p2p1NP1/Pn1Q1b2/7P/1PP3B1/R2NR2K w - - 1 0l3 !   \\2005.??.???172rq1rk1/pp4p1/2pb1pN1/n2p3Q/3P4/2N1B3/PPP2PP1/2K4R w - - 1 0b2 !  s ZZ2005.??.???176k1/6p1/p5p1/3pB3/1p1b4/2r1q1PP/P4R1K/5Q2 w - - 1 0d1 !  y YY82005.??.???178/2Q1R1bk/3r3p/p2N1p1P/P2P4/1p3Pq1/1P4P1/1K6 w - - 1 0c0 !  u XX2004.??.???177r/pp4Q1/1qp2p1r/5k2/2P4P/1PB5/P4PP1/4R1K1 w - - 1 0g/ !  } WjWh2004.??.???172r2n1k/2q3pp/p2p1b2/2nB1P2/1p1N4/8/PPP4Q/2K3RR w - - 1 0d. !  w VEV@2004.??.???172kr3r/R4Q2/1pq1n3/7p/3R1B1P/2p3P1/2P2P2/6K1 w - - 1 0m- !   U"U 2004.??.???172rqnk2/pp2p1b1/3pbpQR/4P1p1/2r3P1/1NN1BP2/PPP5/2K4R w - - 1 0_, !  m TT2004.??.???171R3nk1/5pp1/3N2b1/4p1n1/2BqP1Q1/8/8/7K w - - 1 0[+ !  g RRY2004.??.???173R4/1p6/p1b1Q2p/6pk/1P6/P6P/1q4PK/8 w - - 1 0g* !  } QQ2004.??.???17r3rk2/p3bp2/2p1qB2/1p1nP1RP/3P4/2PQ4/P5P1/5RK1 w - - 1 0e) !  y PP2004.??.???175k1r/3b4/3p1p2/p4Pqp/1pB5/1P4r1/P1P5/1K1RR2Q w - - 1 0d( !  w OxOx2004.??.???172R2bk1/r4ppp/3pp3/1B2n1P1/3QP2P/5P2/1PK5/7q w - - 1 0g' !  } NPNP2004.??.???174r2R/3q1kbR/1p4p1/p1pP1pP1/P1P2P2/K5Q1/1P2p3/8 w - - 1 0e& !  y M&M 2004.??.???176k1/1p5p/1p2bp2/1Pnp1N2/1r6/3nBB2/1P4PP/R5K1 w - - 1 0a% !  s LL2004.??.???173r2r1/4q1Bp/4k3/nBP2p1Q/P3p2P/4P1R1/8/4K3 w - - 1 0d$ !  w JJ2003.??.???172rk2r1/3b3R/n3pRB1/p2pP1P1/3N4/1Pp5/P1K4P/8 w - - 1 0Y# !  a II2003.??.???178/6pk/2qrQ3/5P1p/5PNK/2n5/7P/4R3 w - - 1 0e" !  { HHf2003.??.???9177k/3qbR1n/r5p1/3Bp1P1/1p1pP1r1/3P2Q1/1P5K/2R5 w - - 1 0j! !   GnGh2003.??.???174rqk1/1bp2r1p/1p1p2pQ/3P1p2/P1P5/2B3RP/2B3P1/6K1 w - - 1 0g  !  } FEF@2003.??.???17k2n1q1r/p1pB2p1/P4pP1/1Qp1p3/8/2P1BbN1/P7/2KR4 w - - 1 0] !  i E&E 2003.??.???~178/QrkbR3/3p3p/2pP4/1P3N2/6P1/6pK/2q5 w - - 1 0j !   CC2002.??.???171q1r1k2/1b2Rpp1/p1pQ3p/PpPp4/3P1NP1/1P3P1P/6K1/8 w - - 1 0a !  q BB2002.??.???17r4r1k/pp1b2pn/8/3pR3/5N2/3Q4/Pq3PPP/5RK1 w - - 1 0m !   AA2002.??.???17r1qb1rk1/3R1pp1/p1nR2p1/1p2p2N/6Q1/2P1B3/PP3PPP/6K1 w - - 1 0o !    @@2002.??.???17r1b1qr2/pp2n1k1/3pp1pR/2p2pQ1/4PN2/2NP2P1/PP1K1PB1/n7 w - - 1 0l !   ?^?X2002.??.???17r2qr3/pbpnb1kp/1p2Q1p1/3p4/3P4/2P3NP/PPBB2P1/R4RK1 w - - 1 0m !   >9>82002.??.???173r1rk1/1q2b1n1/p1b1pRpQ/1p2P3/3BN3/P1PB4/1P4PP/4R2K w - - 1 0b !  s ==2002.??.???172r2k2/4p3/p3Rb2/1p1Q3p/5P2/8/Pqn1NP1K/6R1 w - - 1 0k !   ;;2002.??.???17r2r4/1p1bn2p/pn2ppkB/5p2/4PQN1/6P1/PPq2PBP/R2R2K1 w - - 1 0] !  i ::2002.??.??? 178/2B3R1/2p1pkp1/1r2N3/1p6/7P/2r3PK/8 w - - 1 0Z !  c 992002.??.???178/pp3r2/5p2/kPR3p1/3Q4/4P3/q5PK/8 w - - 1 0f !  { 882002.??.???171r3r2/1p5R/p1n2pp1/1n1B1Pk1/8/8/P1P2BPP/2K1R3 w - - 1 0g !  } 7a7`2002.??.???D173r2k1/1p3p1p/p1n2qp1/2B5/1P2Q2P/6P1/B2bRP2/6K1 w - - 1 0h !   6=682001.??.???17r3n1k1/pb5p/4N1p1/2pr4/q7/3B3P/1P1Q1PP1/2B1R1K1 w - - 1 0b !  s 5 5 2001.??.???17rk1r4/p3RR2/1p3Q2/3q1p2/2p2P2/7P/2P3P1/7K w - - 1 0 &*d 8 m 9 ~  HyDxAh;\d\ !  y "2010.??.???C175Q2/1p3p1N/2p3p1/5b1k/2P3n1/P4RP1/3q2rP/5R1K w - - 1 0l[ !   2010.??.???AB17r4r2/2qnbpkp/b3p3/2ppP1N1/p2P1Q2/P1P5/5PPP/nBBR2K1 w - - 1 0hZ !   RP2010.??.????@172q3k1/1b1Q2bp/p1n2pp1/1p6/4B3/5N2/1PP2PPP/4R1K1 w - - 1 0cY !  u & 2009.??.???=>172q5/p3p2k/3pP1p1/2rN2Pn/1p1Q4/7R/PPr5/1K5R w - - 1 0nX !    2009.??.???<17r3rb2/2qnk2p/p1bp2pB/n3p1N1/P3P3/2P3N1/Q4PPP/1R2R1K1 w - - 1 0kW !   2009.??.???:;17r1b2r1k/p1n3b1/7p/5q2/2BpN1p1/P5P1/1P1Q1NP1/2K1R2R w - - 1 0cV !  w "2009.??.???9178/3n2pp/2qBkp2/ppPpp1P1/1P2P3/1Q6/P4PP1/6K1 w - - 1 0aU !  q 2009.??.???8173rk3/1q4pp/3B1p2/3R4/1pQ5/1Pb5/P4PPP/6K1 w - - 1 0`T !  o hh2009.??.???67175rk1/pp2Rppp/nqp5/8/5Q2/6PB/PPP2P1P/6K1 w - - 1 0jS !   =82009.??.???45174rnrk/ppqn2p1/4p1Pp/2p5/2PP1P2/3N3R/PP1N2Q1/1K4R1 w - - 1 0iR !   2009.??.???23173qr1k1/1pp3rn/p2p1Qp1/3P1pP1/2P2P2/2P2BK1/P6R/7R w - - 1 0aQ !  q }}2008.??.???01174kb1r/1R6/p2rp3/2Q1p1q1/4p3/3B4/P6P/4KR2 w - - 1 0gP !   ||2008.??.???./171R1br1k1/pR5p/2p3pB/2p2P2/P1qp2Q1/2n4P/P5P1/6K1 w - - 1 0fO !  { {{2008.??.???,-172r3k1/pp2Bp1p/6p1/1P2P3/P7/1q2bP1P/3Q2P1/3R3K w - - 1 0[N !  g zz2008.??.???*+173k4/1R6/1P2PNp1/7p/2n4P/8/4rPP1/6K1 w - - 1 0kM !   yuyp2008.??.???()17r1bq1rk1/pp1nb1pp/5p2/6B1/3pQ3/3BPN2/PP3PPP/R4RK1 w - - 1 0eL !  { xUxP2008.??.???'176r1/pp3p1k/4bQ1p/2p2P1N/2P5/1P5P/1P3P1q/3R1K2 w - - 1 0cK !  w w5w0"2007.??.???%&17r1b2r2/4nn1k/1q2PQ1p/5p2/pp5R/5N2/5PPP/5RK1 w - - 1 0dJ !  w vv2007.??.???$175k1r/6p1/1Qq2p1p/2r1p3/2B3P1/1P6/1PP5/2K2R2 w - - 1 0hI !   tt2007.??.???17r3k3/3b3R/1n1p1b1Q/1p1PpP1N/1P2P1P1/6K1/2B1q3/8 w - - 1 0aH !  s ss2007.??.???"#17r1b2RB1/pp4p1/q5kp/5p2/3Q1P2/6P1/1PPK3P/8 w - - 1 0gG !  } rr2007.??.???!171r3k2/5p1p/1qbRp3/2r1Pp2/ppB4Q/1P6/P1P4P/1K1R4 w - - 1 0aF !  q qq2007.??.??? 178/1bn5/ppk4q/1p1pQ2B/5P2/P3R2P/1Pr5/3R3K w - - 1 0eE !  y pmph2006.??.???173r1nQ1/1b4p1/1p3k1p/p1q5/P2N4/5P2/6PP/1B2R2K w - - 1 0eD !  y oGo@2006.??.???17r1b2rk1/5pb1/p1n1p3/4B3/4N2R/8/1PP1p1PP/5RK1 w - - 1 0PC !  O n>n82006.??.???178/8/8/k1KB4/5r2/4R3/8/8 w - - 1 0eB !  y mm2006.??.???172r1rk2/6b1/1q2ppP1/pp1PpQB1/8/PPP2BP1/6K1/7R w - - 1 0eA !  y kk2006.??.???173n3k/1p3B2/p2p1P2/2rP1br1/5p2/2P5/PP6/2KR2R1 w - - 1 0a@ !  q jj2006.??.???175r1k/4R3/6pP/r1pQPp2/5P2/2p1PN2/2q5/5K1R w - - 1 0]? !  i ii2006.??.???171k6/5Q2/2Rr2pp/pqP5/1p6/7P/2P3PK/4r3 w - - 1 0h> !   hh2006.??.???17r3r3/2qb1pkp/p2p2pN/1p1pn3/7Q/P3B3/1PP1B1PP/R6K w - - 1 0d= !  w gxgx2006.??.???171R6/rbr2p2/5Pkp/2pBP1p1/ppP3P1/5K1P/P1PR4/8 w - - 1 0_< !  m fZfX2006.??.???  177k/1p1P1Qpq/p6p/5p1N/6N1/7P/PP1r1PPK/8 w - - 1 0`; !  o e8e82006.??.??? 174q3/pb5p/1p2p2k/4N3/PP1QP3/2P2PP1/6K1/8 w - - 1 0e: !  y d d2005.??.???  171r3r1k/2R4p/q4ppP/3PpQ2/2RbP3/pP6/P2B2P1/1K6 w - - 1 0[9 !  g bbo2005.??.???17b4rk1/5Npp/p3B3/1p6/8/3R4/PP4nP/6K1 w - - 1 0c8 !  u aa2005.??.???178/5r2/3R4/3Pp1p1/p2pPk1p/P2PbP2/1P2K2P/4B3 w - - 1 0m7 !   ``2005.??.???172b1rqk1/r1p2pp1/pp4n1/3Np1Q1/4P2P/1BP5/PP3P2/2KR2R1 w - - 1 0 )R  K r  9 i ;n:mu     ;2013.27.7?Qo171r2r2k/1q1n1p1p/p1b1pp2/3pP3/1b5R/2N1BBQ1/1PP3PP/3R3K w - - 1 0et   } }x;2013.27.7?mn174Nr1k/1bp2p1p/1r4p1/3P4/1p1q1P1Q/4R3/P5PP/4R2K w - - 1 0\s   k [X;2013.24.7?#l173R4/7R/1P2k3/3p1pr1/3B4/2P5/r5b1/5BK1 w - - 1 0jr    202013.20.6?jk171r1q4/5k2/1p1p2p1/2p4p/pPP1B1N1/P3Q1P1/2r2P1P/6K1 w - - 1 0dq   y 2013.14.5?hi173Q1b2/5pk1/p3rNpp/1p2P3/4NP2/nP6/P3q1PP/3R3K w - - 1 0cp   { s2013.2.3?fg171r1r4/Rp2np2/3k4/3P3p/2Q2p2/2P4q/1P1N1P1P/6RK w - - 1 0ao   u 2013.4.2?de172r4k/p4rRp/1p1R3B/5p1q/2Pn4/5p2/PP4QP/1B5K w - - 1 0cn !  u 2012.17.12?bc176Q1/1q2N1n1/3p3k/3P3p/2P5/3bp1P1/1P4BP/6K1 w - - 1 0am   s 2012.7.10?`a172R3nk/3r2b1/p2pr1Q1/4pN2/1P6/P6P/q7/B4RK1 w - - 1 0ml     c`2012.15.8?^_172r1rk2/1b2b1p1/p1q2nP1/1p2Q3/4P3/P1N1B3/1PP1B2R/2K4R w - - 1 0]k   k :82012.15.2?\]178/pp2k1r1/3Np2p/5p1P/8/2Q3P1/5P1K/1q6 w - - 1 0mj !     _2011.??.???Z[172rq1n1Q/p1r2k2/2p1p1p1/1p1pP3/3P2p1/2N4R/PPP2P2/2K4R w - - 1 0ci !  u 2010.??.???XY174r1k1/5q2/p5pQ/3b1pB1/2pP4/2P3P1/1P2R1PK/8 w - - 1 0`h !  o 2010.??.???VW175Q2/1R6/p5p1/3P3k/2p1rP1p/8/4p1PP/q4BK1 w - - 1 0cg !  u 2010.??.???TU175r1k/r2b1p1p/p4Pp1/1p2R3/3qBQ2/P7/6PP/2R4K w - - 1 0pf !    PP2010.??.???S17r6r/1q1nbkp1/pn2p2p/1p1pP1P1/3P1N1P/1P1Q1P2/P2B1K2/R6R w - - 1 0ee !  y # 2010.??.???QR173r3r/ppk2B2/2n1Q1pp/5p2/3p4/q5P1/5P1P/1RR3K1 w - - 1 0`d !  o 2010.??.???OP173Q4/6kp/4q1p1/2pnN2P/1p3P2/1Pn3P1/6BK/8 w - - 1 0kc !   2010.??.???MN17r1br4/1p2bpk1/p1nppn1p/5P2/4P2B/qNNB3R/P1PQ2PP/7K w - - 1 0eb !  y 2010.??.???KL174k3/1p2rn2/pP1p1Q2/3Pp3/4Pp2/5q2/1PR5/1KN3B1 w - - 1 0ca !  u x2010.??.???J175rk1/pp1qpR2/6Pp/3ppNbQ/2nP4/B1P5/P5PP/6K1 w - - 1 0e` !  y QP2010.??.???HI176r1/1p1qp1rk/p2pR1p1/3P2Qp/7P/5P2/PPP5/1K4R1 w - - 1 0l_ !     2010.??.???FG17r1br1b2/4pPk1/1p1q3p/p2PR3/P1P2N2/1P1Q2P1/5PBK/4R3 w - - 1 0f^ !  { 2010.??.???17r4rk1/1q2bp1p/5Rp1/pp1Pp3/4B2Q/P2R4/1PP3PP/7K w - - 1 0k] !   2010.??.???DE17rn3rk1/pp3p2/2b1pnp1/4N3/3q4/P1NB3R/1P1Q1PPP/R5K1 w - - 1 0pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-double-check_by_arex_2017.02.12.pgn0000644000175000017500000000541713365545272031136 0ustar varunvarun[Termination "mate in 2"] [Event "Lichess Practice: Double Check: Double Check Introduction"] [Site "https://lichess.org/study/RUQASaZm"] [UTCDate "2017.02.12"] [UTCTime "12:57:34"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "k1q5/1pp5/8/8/N7/8/8/R5K1 w - - 0 1"] [SetUp "1"] { A Double Check is when two pieces are delivering check simultaneously. A Double Check is generally more powerful than a normal check, because the opponent can only respond with a king move. (The pieces that are delivering check cannot both be captured or blocked with one move.) } * [Termination "mate in 3"] [Event "Lichess Practice: Double Check: Double Check #1"] [Site "https://lichess.org/study/RUQASaZm"] [UTCDate "2017.02.12"] [UTCTime "11:22:53"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r3k2r/ppp2pp1/2np4/2B1p2n/2B1P1Nq/3P4/PPP2PP1/RN1Q1RK1 b kq - 0 11"] [SetUp "1"] { From Schwartz - Carl Hartlaub, 1918. } 11... Qh1+ 12. Kxh1 Ng3+ 13. Kg1 Rh1# * [Termination "mate in 3"] [Event "Lichess Practice: Double Check: Double Check #2"] [Site "https://lichess.org/study/RUQASaZm"] [UTCDate "2017.02.12"] [UTCTime "11:27:04"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "rn2kb1r/pp2pp1p/2p2p2/8/8/3Q1N2/qPPB1PPP/2KR3R w kq - 0 13"] [SetUp "1"] { From Georges Koltanowski - Arthur Dunkelblum, 1923. } 13. Qd8+ Kxd8 14. Ba5+ Kc8 15. Rd8# * [Termination "mate in 3"] [Event "Lichess Practice: Double Check: Double Check #3"] [Site "https://lichess.org/study/RUQASaZm"] [UTCDate "2017.02.12"] [UTCTime "11:33:14"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r4k2/pppb1Pp1/2np3p/2b5/2B2Bnq/2N5/PP2Q1PP/4RR1K w - - 6 17"] [SetUp "1"] { From Rudolf Rezso Charousek - Jakob Wollner, 1893. } 17. Qe8+ Rxe8 18. fxe8=Q+ Bxe8 19. Bxd6# * [Termination "mate in 4"] [Event "Lichess Practice: Double Check: Double Check #4"] [Site "https://lichess.org/study/RUQASaZm"] [UTCDate "2017.02.12"] [UTCTime "11:58:04"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "3r2k1/pp5p/6p1/2Ppq3/4Nr2/4B2b/PP2P2K/R1Q1R2B b - - 0 26"] [SetUp "1"] { From Milorad Kapelan - James Tarjan, 1983. } * [Termination "+1500cp in 5"] [Event "Lichess Practice: Double Check: Double Check #5"] [Site "https://lichess.org/study/RUQASaZm"] [UTCDate "2017.02.12"] [UTCTime "11:17:01"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r3k2r/2q1np1p/p3P1p1/1p2p3/8/2PBB3/P1PR2PP/5RK1 w kq - 0 21"] [SetUp "1"] { From Mikhail Tal - Alexey Suetin, 1969. } 21. exf7+ Kd7 22. Bf5+ Kc6 23. Be4+ Nd5 24. Bxd5+ Kd7 25. Bxa8+ Ke6 *pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-the-fork_by_arex_2017.01.29.sqlite0000644000175000017500000026000013441162535031033 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) Q%learn/puzzles/lichess_study_lichess-practice-the-fork_by_arex_2017.01.29.pgn   %Qhttps://lichess.org/study/Qj281y1p %Q https://lichess.org/study/Qj281y1p Ahttps://lichess.org/@/arex A https://lichess.org/@/arex  tG[' W # 6sLichess Practice: The Fork: // Fork Challenge #9 BN5qLichess Practice: The Fork: // Fork Challenge #8 P2kLichess Practice: The Fork: Fork Challenge #7 P2kLichess Practice: The Fork: Fork Challenge #6 P2kLichess Practice: The Fork: Fork Challenge #5 Q2 kLichess Practice: The Fork: Fork Challenge #4 Q2 kLichess Practice: The Fork: Fork Challenge #3 N2 kLichess Practice: The Fork: Fork Challenge #2 N2 kLichess Practice: The Fork: Fork Challenge #1 N/ eLichess Practice: The Fork: Double Attack #2/eLichess Practice: The Fork: Double Attack #1,_Lichess Practice: The Fork: Queen Fork #1-aLichess Practice: The Fork: Bishop Fork #1+]Lichess Practice: The Fork: Rook Fork #1+]Lichess Practice: The Fork: Pawn Fork #2,_Lichess Practice: The Fork: Pawn Fork #1-aLichess Practice: The Fork: Knight Fork #2-aLichess Practice: The Fork: Knight Fork #1  \( X $ uH7sLichess Practice: The Fork: // Fork Challenge #9 BN6qLichess Practice: The Fork: // Fork Challenge #8 P3kLichess Practice: The Fork: Fork Challenge #7 P3kLichess Practice: The Fork: Fork Challenge #6 P3kLichess Practice: The Fork: Fork Challenge #5 Q3kLichess Practice: The Fork: Fork Challenge #4 Q 3kLichess Practice: The Fork: Fork Challenge #3 N 3kLichess Practice: The Fork: Fork Challenge #2 N 3kLichess Practice: The Fork: Fork Challenge #1 N 0eLichess Practice: The Fork: Double Attack #2 0eLichess Practice: The Fork: Double Attack #1-_Lichess Practice: The Fork: Queen Fork #1.aLichess Practice: The Fork: Bishop Fork #1,]Lichess Practice: The Fork: Rook Fork #1,]Lichess Practice: The Fork: Pawn Fork #2-_Lichess Practice: The Fork: Pawn Fork #1.aLichess Practice: The Fork: Knight Fork #2-a Lichess Practice: The Fork: Knight Fork #1  20180221  Pt1Q X l  g P[    vp0?r3kbnr/p3pppp/2pp4/qB2N3/4P3/2N5/PPP2PPP/R1BbK2R w KQkq - 0 1\     0?4r1k1/1pp1npbp/p2qnBp1/3pN1P1/3P4/2P1N1Q1/PP3P1P/R6K b - - 0 1Z    0?4b1rr/4k1p1/4pp1n/pp1pP1RP/2pP1R2/P1P2B1N/2PK1P2/8 w - - 0 1b    ``0?r1bq1rk1/3np1bp/p2p1pp1/1PpP3n/4PP1B/2N2Q2/PP1N2PP/R3KB1R b KQ - 1 1Q   u ]X0?5Bk1/1b1r2p1/q4p1p/2Q5/2P5/6PP/P4P2/4R1K1 b - - 0 31L    k  0?8/1q6/p3p1k1/2P1Q2p/P3P2P/2P5/4r1PK/8 w - - 0 1X     E@ 0?r5k1/ppp2p1p/6pB/4n2n/3bPp1q/2NB3P/PPP3PK/R2Q1R2 b - - 1 1C    Y  0?4k3/R4br1/8/p3P3/4N3/5K2/8/8 w - - 0 1K    i -( 0?8/5pk1/8/4p3/pp1qPn2/5P2/PP2B3/2Q2K2 b - - 0 1^      < 8 0?3r1k2/pp1n2pb/q1p1Qp2/2P2r2/3Pp1Np/P1P1B2P/6P1/1R1R2K1 w - - 0 1L   k 0?r3k3/7p/6p1/5p2/5r2/2NP4/PPP2PPP/R5K1 w - - 0 1I   e 3 00?4k2r/2n2p1p/6p1/3n4/5Q2/8/5PPP/6K1 w - - 0 1>   O 0?5k2/8/8/8/8/r6P/5B2/6K1 w - - 0 1=   M 0?8/8/b5k1/8/8/8/1K6/3R4 w - - 0 1_    A@0?r1bqkb1r/pppp1ppp/2n5/4p3/2B1N3/5N2/PPPP1PPP/R1BQK2R b KQkq - 0 2A   U 0?7k/8/8/4b1n1/8/8/5PPP/5R1K w - - 0 1N   o d`0?6k1/5r1p/p2N4/nppP2q1/2P5/1P2N3/PQ5P/7K w - - 0 1:   Q 0?2q3k1/8/8/5N2/6P1/7K/8/8 w - - 0 1                                    v`] E  -  <   3Ad       p`X @  (  8   0@`                                                     H foXH*lS<, p R 9 "  } f V 8   | c L <   d K 4 $  v fHOpening?GUTCTime23:18:59F!UTCDate2017.01.29E##Termination+300cp in 4DOpening?CUTCTime23:14:31B!UTCDate2017.01.29A#'Terminationequalize in 3@Opening??UTCTime23:11:23>!UTCDate2017.01.29=#!Termination+20cp in 3<Opening?;UTCTime22:47:38:!UTCDate2017.01.299#!Termination-30cp in 38Opening?7UTCTime22:42:226!UTCDate2017.01.295##Termination-700cp in 34 Opening?3 UTCTime22:34:102! UTCDate2017.01.291## Termination+400cp in 30 Opening?/ UTCTime22:17:07.! UTCDate2017.01.29-## Termination-300cp in 4, Opening?+ UTCTime22:09:50*! UTCDate2017.01.29)## Termination+400cp in 4( Opening?' UTCTime21:48:58&! UTCDate2017.01.29%## Termination-500cp in 3$ Opening?# UTCTime19:15:26"! UTCDate2017.01.30!## Termination+800cp in 2 Opening?UTCTime18:54:39!UTCDate2017.01.30##Termination+400cp in 3Opening?UTCTime21:09:50!UTCDate2017.01.29##Termination+200cp in 2Opening?UTCTime20:52:49!UTCDate2017.01.29##Termination+100cp in 2Opening?UTCTime20:47:36!UTCDate2017.01.29##Termination+100cp in 2Opening?UTCTime19:41:40!UTCDate2017.01.29 #'Terminationequalize in 2 Opening? UTCTime20:44:21 !UTCDate2017.01.29 ##Termination+500cp in 2Opening?UTCTime20:32:50!UTCDate2017.01.29##Termination+300cp in 2  Opening? UTCTime19:28:36 !UTCDate2017.01.29 ##Termination+100cp in 2pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-double-check_by_arex_2017.02.12.sqlite0000644000175000017500000026000013441162535031632 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) U-learn/puzzles/lichess_study_lichess-practice-double-check_by_arex_2017.02.12.pgn   %Qhttps://lichess.org/study/RUQASaZm %Q https://lichess.org/study/RUQASaZm Ahttps://lichess.org/@/arex A https://lichess.org/@/arex Z&2kLichess Practice: Double Check: Double Check #52kLichess Practice: Double Check: Double Check #42kLichess Practice: Double Check: Double Check #32kLichess Practice: Double Check: Double Check #22kLichess Practice: Double Check: Double Check #1<Lichess Practice: Double Check: Double Check Introduction ['3kLichess Practice: Double Check: Double Check #53kLichess Practice: Double Check: Double Check #43kLichess Practice: Double Check: Double Check #33kLichess Practice: Double Check: Double Check #23kLichess Practice: Double Check: Double Check #1< Lichess Practice: Double Check: Double Check Introduction  20180221  aU Y    : 80?r3k2r/2q1np1p/p3P1p1/1p2p3/8/2PBB3/P1PR2PP/5RK1 w kq - 0 21U   } 0?3r2k1/pp5p/6p1/2Ppq3/4Nr2/4B2b/PP2P2K/R1Q1R2B b - - 0 26Y    0?r4k2/pppb1Pp1/2np3p/2b5/2B2Bnq/2N5/PP2Q1PP/4RR1K w - - 6 17X    )(0?rn2kb1r/pp2pp1p/2p2p2/8/8/3Q1N2/qPPB1PPP/2KR3R w kq - 0 13`    pp0?r3k2r/ppp2pp1/2np4/2B1p2n/2B1P1Nq/3P4/PPP2PP1/RN1Q1RK1 b kq - 0 11;   S 0?k1q5/1pp5/8/8/N7/8/8/R5K1 w - - 0 1          :)p   8(p               s\L0x_H8 Opening?UTCTime11:17:01!UTCDate2017.02.12#%Termination+1500cp in 5Opening?UTCTime11:58:04!UTCDate2017.02.12#Terminationmate in 4Opening?UTCTime11:33:14!UTCDate2017.02.12 #Terminationmate in 3 Opening? UTCTime11:27:04 !UTCDate2017.02.12 #Terminationmate in 3Opening?UTCTime11:22:53!UTCDate2017.02.12#Terminationmate in 3  Opening? UTCTime12:57:34 !UTCDate2017.02.12 #Terminationmate in 2pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-rook-endgames_by_TonyRo_2017.02.01.pgn0000644000175000017500000001140513365545272031627 0ustar varunvarun[Termination "promotion with +100cp"] [Event "Lichess Practice: Rook Endgames: Lucena - The Bridge"] [Site "https://lichess.org/study/9c6GrCTk"] [UTCDate "2017.02.01"] [UTCTime "02:04:04"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/TonyRo"] [FEN "6K1/4k1P1/8/8/8/7r/8/5R2 w - - 0 1"] [SetUp "1"] { This is the classic Lucena position. White is definitely winning, but has a major problem to solve: His king stands on the pawn's promotion square and currently can't move. Furthermore, even if he could, repeated rook checks from behind will force him back in front of the pawn. The next sequence, famously called "building a bridge", addresses those issues elegantly. Analysis from B.Larsen-W.Browne, Las Palmas 1982. } 1. Re1+! Kd7 { [%cal Ge1e4,Ge4g4,Bg8f7,Bf7g5] } (1... Kd6 2. Kf8 (2. Re4 Rh1 3. Kf7 $18) 2... Rf3+ 3. Ke8 Rg3 4. Re7 Rg1 5. Kf8 $18 { [%cal Ge7f7,Gg1f1] }) 2. Re4! Rh1 (2... Kd6 3. Kf7 Rf3+ 4. Kg6 Rg3+ 5. Kf6 Kd5 6. Re5+ Kd4 7. Rg5) (2... Ra3 3. Rh4! $18 { [%cal Gg8h7] }) 3. Kf7 Rf1+ 4. Kg6 Rg1+ 5. Kf6 { [%cal Rg1g7,Rf6g7] } (5. Kh6 Rh1+ (5... Kd6 6. Rh4! $18 { [%cal Gh6h7] }) 6. Kg5 Rg1+ 7. Rg4) 5... Rf1+ (5... Kd6 6. Re6+! (6. Re5?? { [%cal Ge5g5] } 6... Rxg7! $10) 6... Kd5 (6... Kd7 7. Re5 $18) 7. Re5+ Kd4 (7... Kd6) 8. Rg5 $18) 6. Kg5 Rg1+ 7. Rg4 $18 { [%cal Gg7g8] } * [Termination "promotion with +100cp"] [Event "Lichess Practice: Rook Endgames: Lucena - Alternative Wins"] [Site "https://lichess.org/study/9c6GrCTk"] [UTCDate "2017.02.01"] [UTCTime "02:45:41"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/TonyRo"] [FEN "5K2/3k1P2/8/8/8/8/6r1/4R3 w - - 0 1"] [SetUp "1"] { In the case where White has a central or bishop's pawn there is an alternative winning method: to maneuver the rook to the g8-square and budge Black's rook from that file, then simply marching forward with the king until there are no checks left. Be careful to not allow the rook to skewer the king and pawn! H.Ni-N.Pert, Liverpool 2007. } 1. Rh1! { [%cal Gh1h8,Gh8g8] } (1. Re4!? Rg1 2. Rd4+ Kc6 3. Ke7) 1... Rg3 2. Rh8!? (2. Rh7 Rg1 3. Rg7 Rf1 4. Kg8 $18 { [%cal Gf7f8,Gg7d7] }) 2... Rg2 3. Rg8 Rb2 4. Kg7 (4. Rg4! Rb8+ 5. Kg7 Ke7 6. f8=Q+ Rxf8 7. Re4+ $18) 4... Rg2+ 5. Kh6 { [%cal Gf7f8] } 5... Rh2+ 6. Kg5 Rg2+ 7. Kh4 (7. Kf4?? Rf2+ 8. Kg5 Rxf7 $10) 7... Rh2+ 8. Kg3 $18 * [Termination "promotion with +100cp"] [Event "Lichess Practice: Rook Endgames: Reaching the Lucena I"] [Site "https://lichess.org/study/9c6GrCTk"] [UTCDate "2017.02.01"] [UTCTime "03:05:26"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/TonyRo"] [FEN "8/4k3/8/6P1/6K1/8/7r/5R2 w - - 0 1"] [SetUp "1"] { In this position Black is unable to stop White from reaching the Lucena Position. See if you can reach the Lucena and "build the bridge"! J.Steer-A.Szurkos, Budapest 2014 } 1. g6 Rg2+ 2. Kh5! (2. Kf5?? Kf8! $10) 2... Rh2+ 3. Kg5 Rg2+ 4. Kh6 Rh2+ 5. Kg7 Rh3 6. Kg8 Rh2 7. g7 $18 { [%cal Gf1e1,Ge1e4] } * [Termination "promotion with +100cp"] [Event "Lichess Practice: Rook Endgames: Reaching the Lucena II"] [Site "https://lichess.org/study/9c6GrCTk"] [UTCDate "2017.02.01"] [UTCTime "03:02:09"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/TonyRo"] [FEN "8/6R1/8/5K2/1k6/r3P3/8/8 w - - 0 1"] [SetUp "1"] { A slightly trickier example, but the idea is the same. Cut off Black's king, reach the Lucena Position, and then either "build the bridge" or use the alternative winning method discussed in example #2. D.Andreikin-A.Korobov, Karpov Memorial 2016. } 1. e4! (1. Rd7?? Rxe3 $10) 1... Kc5 2. Rd7! { [%csl Gc5][%cal Gd7d1] } 2... Kc6 3. Rd1 (3. Rd2 $18) 3... Rh3 4. e5 Rh5+ 5. Kf6 Rh6+ 6. Kf7 (6. Kg5 Rh2 7. e6 $18) 6... Rh7+ 7. Kg6 Rh2 8. e6 Kc7 9. e7 Rg2+ 10. Kf7 Rf2+ 11. Ke8 $18 * [Termination "draw in 20"] [Event "Lichess Practice: Rook Endgames: Philidor Position"] [Site "https://lichess.org/study/9c6GrCTk"] [UTCDate "2017.02.13"] [UTCTime "03:29:57"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/TonyRo"] [FEN "1r2k3/R7/8/4PK2/8/8/8/8 b - - 0 1"] [SetUp "1"] { The Philidor Position, named after the legendary François-André Danican Philidor, who's analysis of this position dates all the way back to 1777! The key idea here is to cut off White's king along Black's 3rd rank, leaving White with no choice but to push the pawn to make safety for his king. This allows Black to switch to checks from behind, when the pawn sadly leaves White's king no safe shelter! } 1... Rb6! { [%cal Gb6h6,Rf5e6,Rf5f6,Rf5g6] } (1... Rd8 2. Ke6) 2. e6 (2. Rc7 Ra6! { [%cal Ga6h6] } 3. Rh7) 2... Rb1! { [%csl Yf5][%cal Gb1f1] } 3. Kf6 Rf1+ 4. Kg5 Rg1+ { and so forth: the checks never stop if White wants to keep his e-pawn protected. } *pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-rook-endgames_by_TonyRo_2017.02.01.sqlite0000644000175000017500000026000013441162535032331 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) X3learn/puzzles/lichess_study_lichess-practice-rook-endgames_by_TonyRo_2017.02.01.pgn   %Qhttps://lichess.org/study/9c6GrCTk %Q https://lichess.org/study/9c6GrCTk Ehttps://lichess.org/@/TonyRo E https://lichess.org/@/TonyRo L5qLichess Practice: Rook Endgames: Philidor Position:{Lichess Practice: Rook Endgames: Reaching the Lucena II9yLichess Practice: Rook Endgames: Reaching the Lucena I>Lichess Practice: Rook Endgames: Lucena - Alternative Wins7uLichess Practice: Rook Endgames: Lucena - The Bridge M6qLichess Practice: Rook Endgames: Philidor Position;{Lichess Practice: Rook Endgames: Reaching the Lucena II:yLichess Practice: Rook Endgames: Reaching the Lucena I?Lichess Practice: Rook Endgames: Lucena - Alternative Wins7u Lichess Practice: Rook Endgames: Lucena - The Bridge  20180221 A>   O " 0?1r2k3/R7/8/4PK2/8/8/8/8 b - - 0 1?   Q 0?8/6R1/8/5K2/1k6/r3P3/8/8 w - - 0 1?   Q R P0?8/4k3/8/6P1/6K1/8/7r/5R2 w - - 0 1@   S G@0?5K2/3k1P2/8/8/8/8/6r1/4R3 w - - 0 1:   Q 0?6K1/4k1P1/8/8/8/7r/8/5R2 w - - 0 1        "  RG     P@            t[D4 tdG.Opening?UTCTime03:29:57!UTCDate2017.02.13#!Terminationdraw in 20Opening?UTCTime03:02:09!UTCDate2017.02.01& #7Terminationpromotion with +100cp Opening? UTCTime03:05:26 !UTCDate2017.02.01& #7Terminationpromotion with +100cpOpening?UTCTime02:45:41!UTCDate2017.02.01&#7Terminationpromotion with +100cp  Opening? UTCTime02:04:04 !UTCDate2017.02.01% #7Terminationpromotion with +100cppychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-zwischenzug_by_arex_2017.02.02.sqlite0000644000175000017500000026000013441162535031664 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) T+learn/puzzles/lichess_study_lichess-practice-zwischenzug_by_arex_2017.02.02.pgn   %Qhttps://lichess.org/study/ITWY4GN2 %Q https://lichess.org/study/ITWY4GN2 Ahttps://lichess.org/@/arex A https://lichess.org/@/arex c':{Lichess Practice: Zwischenzug: Zwischenzug Challenge #3:{Lichess Practice: Zwischenzug: Zwischenzug Challenge #2:{Lichess Practice: Zwischenzug: Zwischenzug Challenge #10gLichess Practice: Zwischenzug: Zwischenschach-aLichess Practice: Zwischenzug: Zwischenzug d(;{Lichess Practice: Zwischenzug: Zwischenzug Challenge #3;{Lichess Practice: Zwischenzug: Zwischenzug Challenge #2;{Lichess Practice: Zwischenzug: Zwischenzug Challenge #11gLichess Practice: Zwischenzug: Zwischenschach-a Lichess Practice: Zwischenzug: Zwischenzug  20180221 JNJV    0?2r2r1k/1pN1Qpbp/p4pp1/qb6/8/1B6/PP3PPP/2RR2K1 w - - 10 23X    G@0?2r3k1/q5pp/4p3/2rp1p2/1p1B1P2/1P1QP3/P1R3PP/6K1 w - - 2 28P   s 0?r1b5/4kq2/p1Bbp1Qp/6p1/8/4B1P1/PPP4P/6K1 w - - 0 29^     0?2r2rk1/pp1b1ppp/1q2p3/3pP3/1B3Pn1/3B1N2/P3Q1PP/RN2KR2 b Q - 0 16P   } 0?rBbqk2r/pp3ppp/5n2/8/1bpP4/8/PP2B1PP/RN1Q1KNR b kq - 0 9         G   @            .oXH*nU>.Opening?UTCTime00:25:19!UTCDate2017.02.03##Termination+220cp in 3Opening?UTCTime00:24:16!UTCDate2017.02.03 ##Termination+400cp in 2 Opening? UTCTime23:32:35 !UTCDate2017.02.02 ##Termination+300cp in 3Opening?UTCTime00:29:32!UTCDate2017.02.03##Termination-500cp in 3  Opening? UTCTime00:35:00 !UTCDate2017.02.03 ##Termination-100cp in 2././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootpychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-checkmate-patterns-iv_by_arex_2017.01.25.sqlitepychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-checkmate-patterns-iv_by_arex_2017.01.25.0000644000175000017500000026000013441162535032264 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) ^?learn/puzzles/lichess_study_lichess-practice-checkmate-patterns-iv_by_arex_2017.01.25.pgn   %Qhttps://lichess.org/study/96Lij7wH %Q https://lichess.org/study/96Lij7wH Ahttps://lichess.org/@/arex A https://lichess.org/@/arex  |?A | > H ;}Lichess Practice: Checkmate Patterns IV: Vukovic Mate #3;}Lichess Practice: Checkmate Patterns IV: Vukovic Mate #2;}Lichess Practice: Checkmate Patterns IV: Vukovic Mate #1< Lichess Practice: Checkmate Patterns IV: Triangle Mate #1< Lichess Practice: Checkmate Patterns IV: Kill Box Mate #1< Lichess Practice: Checkmate Patterns IV: Légal's Mate #1; }Lichess Practice: Checkmate Patterns IV: Réti's Mate #1C  Lichess Practice: Checkmate Patterns IV: //Blackburne's Mate #2ALichess Practice: Checkmate Patterns IV: Blackburne's Mate #1@Lichess Practice: Checkmate Patterns IV: Max Lange's Mate #2@Lichess Practice: Checkmate Patterns IV: Max Lange's Mate #1;}Lichess Practice: Checkmate Patterns IV: Greco's Mate #3;}Lichess Practice: Checkmate Patterns IV: Greco's Mate #2;}Lichess Practice: Checkmate Patterns IV: Greco's Mate #1@Lichess Practice: Checkmate Patterns IV: Suffocation Mate #2@Lichess Practice: Checkmate Patterns IV: Suffocation Mate #1  @  ?B }} I <}Lichess Practice: Checkmate Patterns IV: Vukovic Mate #3<}Lichess Practice: Checkmate Patterns IV: Vukovic Mate #2<}Lichess Practice: Checkmate Patterns IV: Vukovic Mate #1=Lichess Practice: Checkmate Patterns IV: Triangle Mate #1 =Lichess Practice: Checkmate Patterns IV: Kill Box Mate #1 =Lichess Practice: Checkmate Patterns IV: Légal's Mate #1 <}Lichess Practice: Checkmate Patterns IV: Réti's Mate #1 D Lichess Practice: Checkmate Patterns IV: //Blackburne's Mate #2 BLichess Practice: Checkmate Patterns IV: Blackburne's Mate #1ALichess Practice: Checkmate Patterns IV: Max Lange's Mate #2ALichess Practice: Checkmate Patterns IV: Max Lange's Mate #1<}Lichess Practice: Checkmate Patterns IV: Greco's Mate #3<}Lichess Practice: Checkmate Patterns IV: Greco's Mate #2<}Lichess Practice: Checkmate Patterns IV: Greco's Mate #1ALichess Practice: Checkmate Patterns IV: Suffocation Mate #2@ Lichess Practice: Checkmate Patterns IV: Suffocation Mate #1  20180221  hh'u5 ? o . h@   S 0?2r5/8/8/5K1k/4N1R1/7P/8/8 w - - 0 1@   S 0?R7/8/8/7p/6n1/6k1/3r4/5K2 b - - 0 1@   S 0?4k3/R7/4N3/3r4/8/B7/4K3/8 w - - 0 1?    Q  0?8/3p4/3k4/2R4Q/8/4K3/8/8 w - - 0 1C    Y  0?2kr4/8/1Q6/8/8/8/5PPP/3R1RK1 w - - 0 1E    ]  0?3q1b2/4kB2/3p4/4N3/8/2N5/8/6K1 w - - 0 1B    W  0?1nb5/1pk5/2p5/8/7B/8/8/3R3K w - - 0 1Y     ~x 0?r2q1rk1/pp2bp2/2n3p1/3b2Np/8/1P1B4/PB3PPP/R2Q1RK1 w - - 0 1A   U 0?5rk1/7p/8/6N1/8/8/1BB5/6K1 w - - 0 1V    G @0?r3k3/ppp2pp1/8/2bpP2P/4q3/1B1p1Q2/PPPP2P1/RNB4K b q - 0 1>   O K H0?2Q5/5Bpk/7p/8/8/8/8/6K1 w - - 0 1[    0?r2q1rk1/pbp3pp/1p1b4/3N1p2/2B5/P3PPn1/1P3P1P/2RQK2R w K - 0 1S   y 0?r4r1k/ppn1NBpp/4b3/4P3/3p1R2/1P6/P1P3PP/R5K1 w - - 0 1?   Q 0?7k/6p1/6Q1/8/8/1B6/8/6K1 w - - 0 1X    0?r4k1r/1q3p1p/p1N2p2/1pp5/8/1PPP4/1P3PPP/R1B1R1K1 w - - 0 1<   U 0?5rk1/5p1p/8/3N4/8/8/1B6/7K w - - 0 1                                      ~   G K           x   @ H                                                 @ Ds\L0x_H8 d K 4 $  | l P 7   h X < # k T D@Opening??UTCTime01:49:28>!UTCDate2017.01.29=#Terminationmate in 2<Opening?;UTCTime01:44:52:!UTCDate2017.01.299#Terminationmate in 38Opening?7UTCTime09:44:326!UTCDate2017.01.315#Terminationmate in 14 Opening?3 UTCTime09:51:192! UTCDate2017.01.311# Terminationmate in 10 Opening?/ UTCTime09:47:13.! UTCDate2017.01.31-# Terminationmate in 1, Opening?+ UTCTime15:06:41*! UTCDate2017.01.28)# Terminationmate in 1( Opening?' UTCTime14:57:52&! UTCDate2017.01.28%# Terminationmate in 1$ Opening?# UTCTime22:27:36"! UTCDate2017.01.25!# Terminationmate in 2 Opening?UTCTime22:25:44!UTCDate2017.01.25#Terminationmate in 1Opening?UTCTime01:42:44!UTCDate2017.01.28#Terminationmate in 5Opening?UTCTime01:34:34!UTCDate2017.01.28#Terminationmate in 1Opening?UTCTime01:23:00!UTCDate2017.01.28#Terminationmate in 4Opening?UTCTime01:15:03!UTCDate2017.01.28 #Terminationmate in 2 Opening? UTCTime00:48:24 !UTCDate2017.01.28 #Terminationmate in 1Opening?UTCTime15:16:22!UTCDate2017.01.28#Terminationmate in 4  Opening? UTCTime15:13:38 !UTCDate2017.01.28 #Terminationmate in 1pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-the-fork_by_arex_2017.01.29.pgn0000644000175000017500000001713513365545272030337 0ustar varunvarun[Termination "+100cp in 2"] [Event "Lichess Practice: The Fork: Knight Fork #1"] [Site "https://lichess.org/study/Qj281y1p"] [UTCDate "2017.01.29"] [UTCTime "19:28:36"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2q3k1/8/8/5N2/6P1/7K/8/8 w - - 0 1"] [SetUp "1"] { A fork is a tactic whereby a single piece makes two or more direct attacks simultaneously. Most commonly two pieces are threatened, which is also sometimes called a double attack. The attacking piece is called the forking piece; the pieces attacked are said to be forked. } 1... Nxg5 * [Termination "+300cp in 2"] [Event "Lichess Practice: The Fork: Knight Fork #2"] [Site "https://lichess.org/study/Qj281y1p"] [UTCDate "2017.01.29"] [UTCTime "20:32:50"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "6k1/5r1p/p2N4/nppP2q1/2P5/1P2N3/PQ5P/7K w - - 0 1"] [SetUp "1"] { From Tigran Vartanovich Petrosian - Boris Spassky, 1966. } * [Termination "+500cp in 2"] [Event "Lichess Practice: The Fork: Pawn Fork #1"] [Site "https://lichess.org/study/Qj281y1p"] [UTCDate "2017.01.29"] [UTCTime "20:44:21"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "7k/8/8/4b1n1/8/8/5PPP/5R1K w - - 0 1"] [SetUp "1"] * [Termination "equalize in 2"] [Event "Lichess Practice: The Fork: Pawn Fork #2"] [Site "https://lichess.org/study/Qj281y1p"] [UTCDate "2017.01.29"] [UTCTime "19:41:40"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r1bqkb1r/pppp1ppp/2n5/4p3/2B1N3/5N2/PPPP1PPP/R1BQK2R b KQkq - 0 2"] [SetUp "1"] * [Termination "+100cp in 2"] [Event "Lichess Practice: The Fork: Rook Fork #1"] [Site "https://lichess.org/study/Qj281y1p"] [UTCDate "2017.01.29"] [UTCTime "20:47:36"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/b5k1/8/8/8/1K6/3R4 w - - 0 1"] [SetUp "1"] * [Termination "+100cp in 2"] [Event "Lichess Practice: The Fork: Bishop Fork #1"] [Site "https://lichess.org/study/Qj281y1p"] [UTCDate "2017.01.29"] [UTCTime "20:52:49"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5k2/8/8/8/8/r6P/5B2/6K1 w - - 0 1"] [SetUp "1"] * [Termination "+200cp in 2"] [Event "Lichess Practice: The Fork: Queen Fork #1"] [Site "https://lichess.org/study/Qj281y1p"] [UTCDate "2017.01.29"] [UTCTime "21:09:50"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "4k2r/2n2p1p/6p1/3n4/5Q2/8/5PPP/6K1 w - - 0 1"] [SetUp "1"] * [Termination "+400cp in 3"] [Event "Lichess Practice: The Fork: Double Attack #1"] [Site "https://lichess.org/study/Qj281y1p"] [UTCDate "2017.01.30"] [UTCTime "18:54:39"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r3k3/7p/6p1/5p2/5r2/2NP4/PPP2PPP/R5K1 w - - 0 1"] [SetUp "1"] { A fork is often also called a double attack, because it usually attacks two targets. A fork can of course attack more than two targets, and the targets don't have to be pieces. Direct mating threats, or even an implied threat can also be excellent targets for a fork. In this position, you can fork an undefended piece and a second implied threat. } * [Termination "+800cp in 2"] [Event "Lichess Practice: The Fork: Double Attack #2"] [Site "https://lichess.org/study/Qj281y1p"] [UTCDate "2017.01.30"] [UTCTime "19:15:26"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "3r1k2/pp1n2pb/q1p1Qp2/2P2r2/3Pp1Np/P1P1B2P/6P1/1R1R2K1 w - - 0 1"] [SetUp "1"] { In this position, you can fork an undefended piece and a direct mate threat. From Hans-Dieter Mueller vs Arlette van Weersel, 2001. } * [Termination "-500cp in 3"] [Event "Lichess Practice: The Fork: Fork Challenge #1 N"] [Site "https://lichess.org/study/Qj281y1p"] [UTCDate "2017.01.29"] [UTCTime "21:48:58"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/5pk1/8/4p3/pp1qPn2/5P2/PP2B3/2Q2K2 b - - 0 1"] [SetUp "1"] { From Alexander Kazimirovich Tolush - Vladimir Simagin, 1952. } * [Termination "+400cp in 4"] [Event "Lichess Practice: The Fork: Fork Challenge #2 N"] [Site "https://lichess.org/study/Qj281y1p"] [UTCDate "2017.01.29"] [UTCTime "22:09:50"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "4k3/R4br1/8/p3P3/4N3/5K2/8/8 w - - 0 1"] [SetUp "1"] { From Magnus Carlsen - Nigel Short, 2004. } * [Termination "-300cp in 4"] [Event "Lichess Practice: The Fork: Fork Challenge #3 N"] [Site "https://lichess.org/study/Qj281y1p"] [UTCDate "2017.01.29"] [UTCTime "22:17:07"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r5k1/ppp2p1p/6pB/4n2n/3bPp1q/2NB3P/PPP3PK/R2Q1R2 b - - 1 1"] [SetUp "1"] { From Harris - Sunil Weeramantry, 1972. } * [Termination "+400cp in 3"] [Event "Lichess Practice: The Fork: Fork Challenge #4 Q"] [Site "https://lichess.org/study/Qj281y1p"] [UTCDate "2017.01.29"] [UTCTime "22:34:10"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/1q6/p3p1k1/2P1Q2p/P3P2P/2P5/4r1PK/8 w - - 0 1"] [SetUp "1"] { From Peter Leko - Vladimir Kramnik, 2007. } * [Termination "-700cp in 3"] [Event "Lichess Practice: The Fork: Fork Challenge #5 Q"] [Site "https://lichess.org/study/Qj281y1p"] [UTCDate "2017.01.29"] [UTCTime "22:42:22"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5Bk1/1b1r2p1/q4p1p/2Q5/2P5/6PP/P4P2/4R1K1 b - - 0 31"] [SetUp "1"] { Can you make multiple mate threats with one move? A missed tactic from Jon Ludvig Hammer - Viswanathan Anand, 2010. } 31... Qe6 32. Qb4 Qxh3 33. Qxb7 Rxb7 34. Bd6 * [Termination "-30cp in 3"] [Event "Lichess Practice: The Fork: Fork Challenge #6 P"] [Site "https://lichess.org/study/Qj281y1p"] [UTCDate "2017.01.29"] [UTCTime "22:47:38"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r1bq1rk1/3np1bp/p2p1pp1/1PpP3n/4PP1B/2N2Q2/PP1N2PP/R3KB1R b KQ - 1 1"] [SetUp "1"] { From Viktor Korchnoi - John Nunn, 1988. } 1... Nxf4 2. Qxf4 g5 3. Qf2 gxh4 * [Termination "+20cp in 3"] [Event "Lichess Practice: The Fork: Fork Challenge #7 P"] [Site "https://lichess.org/study/Qj281y1p"] [UTCDate "2017.01.29"] [UTCTime "23:11:23"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "4b1rr/4k1p1/4pp1n/pp1pP1RP/2pP1R2/P1P2B1N/2PK1P2/8 w - - 0 1"] [SetUp "1"] { From Judit Polgar vs Viktor Korchnoi, 2006. } * [Termination "equalize in 3"] [Event "Lichess Practice: The Fork: // Fork Challenge #8 P"] [Site "https://lichess.org/study/Qj281y1p"] [UTCDate "2017.01.29"] [UTCTime "23:14:31"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "4r1k1/1pp1npbp/p2qnBp1/3pN1P1/3P4/2P1N1Q1/PP3P1P/R6K b - - 0 1"] [SetUp "1"] { From Luke McShane - Magnus Carlsen, 2012. } 1... Nxg5 (1. Bxc6+) (1. Nxc6) 2. Bxg5 f6 * [Termination "+300cp in 4"] [Event "Lichess Practice: The Fork: // Fork Challenge #9 BN"] [Site "https://lichess.org/study/Qj281y1p"] [UTCDate "2017.01.29"] [UTCTime "23:18:59"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r3kbnr/p3pppp/2pp4/qB2N3/4P3/2N5/PPP2PPP/R1BbK2R w KQkq - 0 1"] [SetUp "1"] { From Raymond Keene - E Fielder, 1964. } 1. Bxc6+ (1... Nxg5) 1... Kd8 2. Nxf7+ Kc7 3. Bxa8 Bh5 (3... Bxc2 4. Nxh8) 4. Nxh8 *pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-key-squares_by_arex_2017.01.21.pgn0000644000175000017500000001347113365545272031060 0ustar varunvarun[Termination "promotion with +100cp"] [Event "Lichess Practice: Key Squares: Pawn on the 2nd rank"] [Site "https://lichess.org/study/xebrDvFe"] [UTCDate "2017.01.21"] [UTCTime "23:42:21"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/8/1k6/8/4K3/2P5/8 w - - 0 1"] [SetUp "1"] { If the pawn is on the second, third, or fourth rank, there are three key squares – the square two squares in front of the pawn and the squares to the left and right of that square. Reach a key square and win. } * [Termination "promotion with +100cp"] [Event "Lichess Practice: Key Squares: Pawn on the 3rd rank"] [Site "https://lichess.org/study/xebrDvFe"] [UTCDate "2017.01.21"] [UTCTime "23:47:55"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "4k3/8/8/8/8/1KP5/8/8 w - - 0 1"] [SetUp "1"] { If the pawn is on the second, third, or fourth rank, there are three key squares – the square two squares in front of the pawn and the squares to the left and right of that square. Reach a key square and win. } * [Termination "promotion with +100cp"] [Event "Lichess Practice: Key Squares: Pawn on the 4th rank"] [Site "https://lichess.org/study/xebrDvFe"] [UTCDate "2017.01.21"] [UTCTime "23:46:52"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/k7/4K3/2P5/8/8/8 w - - 0 1"] [SetUp "1"] { If the pawn is on the second, third, or fourth rank, there are three key squares – the square two squares in front of the pawn and the squares to the left and right of that square. Reach a key square and win. } * [Termination "promotion with +100cp"] [Event "Lichess Practice: Key Squares: Pawn on the 5th rank"] [Site "https://lichess.org/study/xebrDvFe"] [UTCDate "2017.01.21"] [UTCTime "23:49:37"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "3k4/8/8/1KP5/8/8/8/8 w - - 0 1"] [SetUp "1"] { If the pawn is on the fifth or sixth rank, there are six key squares: the square in front of the pawn and the squares to the left and right, as well as the square two squares in front of the pawn, and the squares to the left and right of it. Reach a key square and win. } * [Termination "promotion with +100cp"] [Event "Lichess Practice: Key Squares: Pawn on the 6th rank"] [Site "https://lichess.org/study/xebrDvFe"] [UTCDate "2017.01.21"] [UTCTime "23:50:53"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2k5/8/1KP5/8/8/8/8/8 w - - 0 1"] [SetUp "1"] { If the pawn is on the fifth or sixth rank, there are six key squares: the square in front of the pawn and the squares to the left and right, as well as the square two squares in front of the pawn, and the squares to the left and right of it. Reach a key square and win. } * [Termination "promotion with +100cp"] [Event "Lichess Practice: Key Squares: Knight pawn on the 6th exception #1"] [Site "https://lichess.org/study/xebrDvFe"] [UTCDate "2017.01.22"] [UTCTime "00:08:51"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "k7/2K5/8/1P6/8/8/8/8 w - - 0 1"] [SetUp "1"] { There is an exception to the key squares rule when a knight pawn is on its sixth rank, and the defending king is in the corner. Avoid the stalemate trick and win. } 1. Kc6 Ka7 2. Kc7 Ka8 3. Kb6 Kb8 4. Ka6 Kc7 5. Ka7 Kd6 6. b6 Kc5 7. b7 Kc4 8. b8=Q Kd5 * [Termination "promotion with +100cp"] [Event "Lichess Practice: Key Squares: Knight pawn on the 6th exception #2"] [Site "https://lichess.org/study/xebrDvFe"] [UTCDate "2017.01.22"] [UTCTime "02:26:10"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "6k1/8/6K1/6P1/8/8/8/8 w - - 0 1"] [SetUp "1"] * [Termination "promotion with +100cp"] [Event "Lichess Practice: Key Squares: Pawn on the 7th rank"] [Site "https://lichess.org/study/xebrDvFe"] [UTCDate "2017.01.21"] [UTCTime "23:55:29"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/1kP1K3/8/8/8/8/8/8 w - - 0 1"] [SetUp "1"] { When the pawn is on the seventh rank, the key squares are the squares on the seventh and eighth rank that touch the pawn's square. Reach a key square and win. } * [Termination "promotion with +100cp"] [Event "Lichess Practice: Key Squares: Rook pawn #1"] [Site "https://lichess.org/study/xebrDvFe"] [UTCDate "2017.01.21"] [UTCTime "23:33:21"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/4k3/6K1/7P/8/8/8/8 w - - 0 1"] [SetUp "1"] { An advanced rook pawn generally has two key squares: the two squares on the adjacent file that touch the promotion square. Reach a key square and win. } * [Termination "Draw in 10"] [Event "Lichess Practice: Key Squares: Rook pawn #2"] [Site "https://lichess.org/study/xebrDvFe"] [UTCDate "2017.01.21"] [UTCTime "23:37:24"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/8/8/pk6/8/3K4/8 w - - 0 1"] [SetUp "1"] { An advanced rook pawn generally has two key squares: the two squares on the adjacent file that touch the promotion square. Reach a key square and win. Prevent black from reaching a key square to draw the game. } * [Termination "promotion with +100cp"] [Event "Lichess Practice: Key Squares: Any key square by any route"] [Site "https://lichess.org/study/xebrDvFe"] [UTCDate "2017.01.22"] [UTCTime "00:26:57"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5k2/8/8/8/8/2P5/8/3K4 w - - 0 1"] [SetUp "1"] { With a king and pawn versus a lone king, it is important to get the attacking king to any key square and the path to a key square is not always direct. Reach a key square and win. } *pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-discovered-attacks_by_arex_2017.01.30.pgn0000644000175000017500000001073113365545272032362 0ustar varunvarun[Termination "+300cp in 2"] [Event "Lichess Practice: Discovered Attacks: Discovered Attack #1"] [Site "https://lichess.org/study/MnsJEWnI"] [UTCDate "2017.01.30"] [UTCTime "19:34:48"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5q2/3k2pp/8/8/8/5N2/6PP/5RK1 w - - 0 1"] [SetUp "1"] { A Discovered Attack is an attack that is revealed when one piece moves out of the way of another. Discovered Attacks can be extremely powerful, as the piece moved can make a threat independently of the piece it reveals. Like many chess tactics, they succeed because the opponent is unable to meet two threats at once. While typically the consequence of a discovered attack is the gain of material, they do not have to do this to be effective; the tactic can be used merely to gain a tempo. } * [Termination "+1000cp in 2"] [Event "Lichess Practice: Discovered Attacks: Discovered Check #1"] [Site "https://lichess.org/study/MnsJEWnI"] [UTCDate "2017.01.30"] [UTCTime "19:26:56"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5k2/3q2pp/8/8/8/5N2/6PP/5RK1 w - - 0 1"] [SetUp "1"] { When a Discovered Attack is a check, it is called a Discovered Check. } * [Termination "+400cp in 2"] [Event "Lichess Practice: Discovered Attacks: Discovered Attack #2"] [Site "https://lichess.org/study/MnsJEWnI"] [UTCDate "2017.01.30"] [UTCTime "19:32:51"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r4k2/2r2pp1/7p/3P4/4B3/5N2/6PP/5RK1 w - - 0 1"] [SetUp "1"] * [Termination "mate in 2"] [Event "Lichess Practice: Discovered Attacks: Discovered Check #2"] [Site "https://lichess.org/study/MnsJEWnI"] [UTCDate "2017.01.30"] [UTCTime "20:03:58"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r2q1bnr/pp2k1pp/3p1p2/1Bp1N1B1/8/2Pp4/PP3PPP/RN1bR1K1 w - - 0 12"] [SetUp "1"] { From William Norwood Potter - Matthews, 1868. } * [Termination "-270cp in 3"] [Event "Lichess Practice: Discovered Attacks: Discovered Attack #3"] [Site "https://lichess.org/study/MnsJEWnI"] [UTCDate "2017.01.30"] [UTCTime "19:39:53"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r1b2rk1/ppqn1pbp/5np1/3p4/3BP3/1P1B1P1P/P2N2PN/R2Q1RK1 b - - 0 14"] [SetUp "1"] { From Marianna Bagdasarova - Ksenya Rybenko, 1998. } * [Termination "+300cp in 3"] [Event "Lichess Practice: Discovered Attacks: Discovered Check #3"] [Site "https://lichess.org/study/MnsJEWnI"] [UTCDate "2017.01.30"] [UTCTime "19:54:55"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "3k4/7R/p2P4/2p1b3/8/2P3rB/P4r2/1K2R3 w - - 3 41"] [SetUp "1"] { From Viswanathan Anand - Vladimir Kramnik, 2005. } * [Termination "+400cp in 2"] [Event "Lichess Practice: Discovered Attacks: Discovered Attack #4"] [Site "https://lichess.org/study/MnsJEWnI"] [UTCDate "2017.01.30"] [UTCTime "19:49:07"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/4np2/4pk1p/RNr4P/P3KP2/1P6/8 w - - 1 1"] [SetUp "1"] { From Mikhail Tal - Orest Averkin, 1973. } 1. Nd5 Rc7 2. Nxc7 * [Termination "mate in 3"] [Event "Lichess Practice: Discovered Attacks: Discovered Check #4"] [Site "https://lichess.org/study/MnsJEWnI"] [UTCDate "2017.01.30"] [UTCTime "20:01:39"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r1bq2rk/1p1p4/p1n1pPQp/3n4/4N3/1N1Bb3/PPP3PP/R4R1K w - - 0 1"] [SetUp "1"] { From Jiri Lechtynsky - Ludek Pachman, 1968. } * [Termination "-500cp in 3"] [Event "Lichess Practice: Discovered Attacks: Discovered Attack #5"] [Site "https://lichess.org/study/MnsJEWnI"] [UTCDate "2017.01.30"] [UTCTime "21:33:21"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/1b1Q1ppk/p2bp2p/1p1q4/3Pp3/1P2B1P1/P6P/2R3K1 b - - 0 1"] [SetUp "1"] { From Yasser Seirawan - Alexey Shirov, 1993. } 1... Bf4 2. Rc7 (2. Qxd5 Bxe3+ 3. Kf1 Bxd5) * [Termination "+700cp in 3"] [Event "Lichess Practice: Discovered Attacks: Discovered Check #5"] [Site "https://lichess.org/study/MnsJEWnI"] [UTCDate "2017.01.30"] [UTCTime "21:27:51"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "3r4/1R1P1k1p/1p1q2p1/1Pp5/2P5/6P1/4Q1KP/8 w - - 6 51"] [SetUp "1"] { From Viktor Korchnoi - Piet Bakker, 1976. } *pychess-1.0.0/learn/puzzles/mate_in_3.sqlite0000644000175000017500000053000013441162535020136 0ustar varunvarunSQLite format 3@ +. >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) Clearn/puzzles/mate_in_3.pgn:K#S WainsteinH5Laura Collado Barbas7-Evgenij Ermenkov zsfZL>0%uiZN@4+! | n a U J ? 0 "    y o e Y L = 2 )  v k [ K > 2 %   u h [ F 5 )    { i Z B 5 &  ym\L?0! rfVH</%zk`UF;0"n]NB5(z]/Ledec nad Sazavou \Tallinn [Voronezh ZNingboY#Nova GoricaX)Monaco (blind)WSentaV+Khanty MansyiskUMesaTKemerSTulsaRBorup QNovetle PVogosca OBilbao NPardubiceM#Herceg NoviL)Great Yarmouth KValjevo J!StillwaterI)St. Petersburg HAugsburgG#Mexico City F!CuernavacaE)Rishon le ZionD#Netherlands CAbudhabi BYerevan AVladimir@Turin?Jinan >Gibraltar=Dubai<Xiapu ;Serpukhov:Mainz 9Sanxenxo8Zadar7'Krasnoturinsk6Sochi5Izmir4Budva 3Halkidiki 2Austria 1Merano 0Torquay /!Parsippany .Heraklio-Bled ,Vukovar +Deurne *Istanbul )!Chalkidiki (Samara 'Brussels &Internet %Gausdal$)Fredericksburg#Paris"Soest !Batumi Shenyang Suwalki%Kohtla-JarveCreonUbeda Tampere Hampstead North Bay Dresden !Beer-Sheva#Finkenstein Brasov Olomouc Elista Hungary !Cap d'Agde Wiesbaden Korinthos)Isla Margarita )Vrnjacka Banja Dong Thap #Bad Wildbad #Monte Carlo Rotherham Alushta1Melody Amber Rapid Volgograd%Marijarnpole Novgorod !Wellington KishinevBonn Las Vegas !Lubniewice ~Kladovo }Canada |Boston{'Rostov on Don zMislata y!Bratislava xTicino wCaceresv%Wijk aan Zeeu-Palma de Majorca tDuisburg sCappelle rSevilla qWarsawpEspoooLyons nNovi Sadmcorrl%Philadelphia kAsturias jGoteborg i!Kramatorsk hNaestvedg%Thessalonika fFrance eSwansea dNaleczow cLinares bTashkenta#Espergaerde`#Southampton _Zenica^Malme ]Belgrade \Rostock[DDR ZSalonikaYBRDXBielWOsloVTuzle ULucerne TLone Pine SBrilonR+Marianske Lazne QGenevaP)Polanica ZdrojONice NVittel M!Las Palmas LBudapest KVenturaJParnuIMinskH'Mar del Plata GLugano FSarajevo ESkopje DSousseCURS BKraljevoA%Bognor Regis @Titograd ?Tel Aviv >Krakow =Habana<Halle;Kiev :Reykjavik 9!Wageningen 8Moscow 7Tonder 6Tbilisi 5Helsinki 4Leningrad 3Ljubljana 2Groningen 1Stockholm0USA /Germany .Ujpest -San Remo,Tenby+Hague *Bremen )Debrecen(#Baden-Baden'USSR&Basel%Perth$Gyor #Antwerp "Amsterdam !Utrecht !Copenhagen Chicago Odessa'St Petersburg%Buenos Aires'San Sebastian Munich St Louis Carlsbad Tangier Barmen%Scheveningen Hastings/Cambridge Springs Prague Craigside Edinburgh Nuremberg Zugridi New York !Regensberg England Hamburg Simulcorr. Vienna !Dusseldorf#New Orleans? Leipzig Berlin London { 6A5   M  C&  n  s M *  iWj[1 =@V \? L ]  G o ,   " b^I<    > { o 3 } { w z j C p   @ &g *1) | Mvz GO f" &t # ' g  l v  \   ? V  K1  O Z 3#6 [0 1  6a l[ /Ledec nad Sazavou Tallinn Voronezh Ningbo#Nova Gorica)Monaco (blind) Senta+Khanty Mansyisk Mesa Kemer Tulsa Borup Novetle Vogosca BilbaoPardubice#Herceg Novi)Great Yarmouth Valjevo!Stillwater)St. Petersburg Augsburg#Mexico City!Cuernavaca)Rishon le Zion#Netherlands Abudhabi Yerevan Vladimir Turin JinanGibraltar Dubai XiapuSerpukhov Mainz Sanxenxo Zadar'Krasnoturinsk Sochi Izmir BudvaHalkidiki Austria Merano Torquay!Parsippany Heraklio Bled Vukovar Deurne Istanbul!Chalkidiki Samara Brussels Internet Gausdal)Fredericksburg Paris Soest Batumi Shenyang Suwalki%Kohtla-Jarve Creon Ubeda TampereHampsteadNorth Bay Dresden!Beer-Sheva#Finkenstein Brasov Olomouc Elista Hungary!Cap d'AgdeWiesbadenKorinthos)Isla Margarita)Vrnjacka BanjaDong Thap#Bad Wildbad#Monte CarloRotherham Alushta1Melody Amber RapidVolgograd%Marijarnpole Novgorod!Wellington Kishinev BonnLas Vegas!Lubniewice Kladovo~ Canada} Boston|'Rostov on Don{ Mislataz!Bratislavay Ticinox Caceresw%Wijk aan Zeev-Palma de Majorcau Duisburgt Cappelles Sevillar Warsawq Espoop Lyonso Novi Sadncorrm%Philadelphial Asturiask Goteborgj!Kramatorski Naestvedh%Thessalonikag Francef Swanseae Naleczowd Linaresc Tashkentb#Espergaerdea#Southampton` Zenica_ Malme^ Belgrade] Rostock\DDR[ SalonikaZBRDYBielXOsloW TuzleV LucerneU Lone PineT BrilonS+Marianske LazneR GenevaQ)Polanica ZdrojPNiceO VittelN!Las PalmasM BudapestL VenturaK ParnuJ MinskI'Mar del PlataH LuganoG SarajevoF SkopjeE SousseDURSC KraljevoB%Bognor RegisA Titograd@ Tel Aviv? Krakow> Habana= Halle<Kiev; Reykjavik:!Wageningen9 Moscow8 Tonder7 Tbilisi6 Helsinki5 Leningrad4 Ljubljana3 Groningen2 Stockholm1USA0 Germany/ Ujpest. San Remo- Tenby, Hague+ Bremen* Debrecen)#Baden-Baden(USSR' Basel& Perth%Gyor$ Antwerp# Amsterdam" Utrecht!!Copenhagen Chicago Odessa'St Petersburg%Buenos Aires'San Sebastian Munich St Louis Carlsbad Tangier Barmen%Scheveningen Hastings/Cambridge Springs Prague Craigside Edinburgh Nuremberg Zugridi New York !Regensberg England Hamburg Simul corr. Vienna!Dusseldorf#New Orleans? Leipzig Berlin  London   ?  ?  20180221 +*[)4('i&C%$w#P"( w5 }wqke_YSMGA;/)# {uoic]WQKE?93-'    x q j c \ U N G @ 9 2 + $      x p h ` X P H @ 8 0 (     x p h ` X P H @ 8 0 (    p p x x h ` X P H @ 8 0 (    @ x p h ` X0 P H @ 8 0 (    xpXh`XPH@80( h`XPH@8( `xphXPH@80( xph`PH80( owmvkuitgsyrdqbpo_n]m\l[kYjWiUhSgMfPeNdLcJbHaG`_F^D]3\B[@Z>Y=X<W:V8U6T4S2R0Q/P.ON-M,L*K)J(I&H$GF"E DDCBA@?>=<;:98 7 6 543210/.-D,H+*)($'&%$#"!      ~|zxvtrpnlkihfdb`^\[FYWUSQOLKIGECBA?;97531/.,+)'%#!   ~} |{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPO}N{MyLxKvJuIsHqGoFmEkDiCgBeAc@a?_>]=[< ;Y:,9V8 7T6R5>4P3N2L1J0H/F.D-B,A+>*>)<(9':&9%7$5# "2!1 /-+)'&$"!           wH~xrlf`ZTNHB<60*$ |vpjd^XRLF@:4.("  z t n h b \ V P J D > 8 2 , &     x p h ` X P H @ 8 0 (    x p h ` X P H @ 8 0 (    x p h ` X P H @ 8 0 (    x p h ` X P H @ 8 0 (    xph`XPH@80( xph`XPH@80( xph`XPH@80( xph`XPHwwvvuuttssrrqqppoonnmmllkkjjiihhggffeeddccbbaa``__^^]]\\[[ZZYYXXWWVVUUTTSSRRQQPPOONNMMLLKKJJIIHHGGFFEEDDCCBBAA@@??>>==<<;;::99887766554433221100//..--,,++**))((''&&%%$$##""!!            ~~}}||{{zzyyxxwwvvuuttssrrqqppoonnmmllkkjjiihhggffeeddccbbaa``__^^]]\\[[ZZYYXXWWVVUUTTSSRRQQPPOONNMMLLKKJJIIHHGGFFEEDDCCBBAA@@??>>==<<;;::99887766554433221100//..--,,++**))((''&&%%$$##""!!       wzupkfa\WRMHC>94/*%  {vqlgb]XSNID?:50+&!  z t n h b \ V P J D > 8 2 , &      ~ x r l f ` Z T N H B < 6 0 * $     | v p j d ^ X R L F @ : 4 . ( "     z t n h b \ V P J D > 8 2 , &      ~ x r l f ` Z T N H B < 6 0 * $     |vpjd^XRLF@:4.(" wvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!       w~wpib[TMF?81*#{tmf_XQJC<5.'    x q j c \ U N G @ 9 2 + $      y p g ^ U L C : 1 (    } t k b Y P G > 5 , #    x o f ] T K B 9 0 '    | s j a X O F = 4 + "   wne\SJA8/& {ri`WNE<3*!vmd[RI@7.% zqh_VMD;2) ~ulcZQH?6-$ wvuhtYsAr'qponmlkjqibh9g)fedcba~`}_|^{l]z_\yU[xGZw1Yv#Xu WsVrUqTpSopRnVQm@Pl:OkNjMhLgKfJeIdHcGbkFaRE`6D_C^B\A[@Z?Y>Xq=Wm<VN;U=:T9S8R7P6O5N4M3L2K1J0Iq/Hc.GG-F%,E+D*B)A(@'?&>r%=a$*#޺ݣ܍mP?) јІfJ/DZƚŊqO?&k[;" sU@*}iL6$v\9~q}h|?{)zyxw~v}u|t{szgryQqx:pw-ov ntmslrkqjpiohngmgflPek=dj*ci"bhaf`e_d^c]b\a[`}Z_aY^DX]3W\VZUYTXSWRVQUiPTPOSHNR7MQLPKNJMILHKGJFIEHdDGGCF5BE!AD@B?A>@=?<>;=:=<;:98 7 6543=210/.-,+*)('D&%$#"!    n  n"V*j"}{ywusqomjRgeca_]ZXVTRPNMJJHFD8@>=<:86420$-"*(&$"   ~}|{zyxtwvutsrqponmlkjihgfedcba`_t^]\[ZYXWVUTSRQP~O|NzMwLwKPJtIrHpGnFlEjDhCfBdAb@`?^>\=G<Z;X:W9G8U7S6P5Q4O3M2K1I0G/E.C-5,@+?*=);(8'5&8%6$4#3"*!0 .,*(%#          w~wpib[TMF?81*#{tmf_XQJC<5.'    x q j c \ U N G @ 9 2 + $      y p g ^ U L C : 1 (    } t k b Y P G > 5 , #    x o f ] T K B 9 0 '    | s j a X O F = 4 + "   wne\SJA8/& {ri`WNE<3*!vmd[RI@7.% zqh_VMD;2) ~ulcZQH?6-$ wvuhtXs@r qponmlkjpi`h8g(fedcba~`}_|^{h]zX\yP[x@Zw0Yv XuWsVrUqTpSopRnPQm@Pl8OkNjMhLgKfJeIdHcGbhFaPE`0D_C^B\A[@Z?Y>Xp=Wh<VH;U8:T9S8R7P6O5N4M3L2K1J0Ip/H`.G@-F ,E+D*B)A(@'?&>p%=`$@=?<>;=:94/*%  {vqlgb]XSNID?:50+&!  z t n h b \ V P J D > 8 2 , &      ~ x r l f ` Z T N H B < 6 0 * $     | v p j d ^ X R L F @ : 4 . ( "     z t n h b \ V P J D > 8 2 , &      ~ x r l f ` Z T N H B < 6 0 * $     |vpjd^XRLF@:4.("  w v u t s r q p o n m l k j i h g f e d c b a ` _ ^ ] \ [ Z Y X W V U T S R Q P O N M L K J I H G F E D C B A @ ? > = < ; : 9 8 7 6 5 4 3 2 1 0 / . - , + * ) ( ' & % $ # " !                                                                                                                                                                         ~ } | { z y x w v u t s r q p o n m l k j i h g f e d c b a ` _ ^ ] \ [ Z Y X W V U T S R Q P O N M L K J I H G F E D C B A @ ? > = < ; : 9 8 7 6 5 4 3 2 1 0 / . - , + * ) ( ' & % $ # " !                                      wzupkfa\WRMHC>94/*%  {vqlgb]XSNID?:50+&!  z t n h b \ V P J D > 8 2 , &      ~ x r l f ` Z T N H B < 6 0 * $     | v p j d ^ X R L F @ : 4 . ( "     z t n h b \ V P J D > 8 2 , &      ~ x r l f ` Z T N H B < 6 0 * $     |vpjd^XRLF@:4.("  w v u t s r q p o n m l k j i h g f e d c b a ` _ ^ ] \ [ Z Y X W V U T S R Q P O N M L K J I H G F E D C B A @ ? > = < ; : 9 8 7 6 5 4 3 2 1 0 / . - , + * ) ( ' & % $ # " !                                                                                                                                                                         ~ } | { z y x w v u t s r q p o n m l k j i h g f e d c b a ` _ ^ ] \ [ Z Y X W V U T S R Q P O N M L K J I H G F E D C B A @ ? > = < ; : 9 8 7 6 5 4 3 2 1 0 / . - , + * ) ( ' & % $ # " !                                      w B q 3 U m %s[I ,W mi  7 ] V ; 6yg aOcC=]K 71+%-    V!  {QuoE? & ~ q R TMqJ93'   G 3     y s g a [ U I O  C = 1 +   r y O k d H 4 -   j O   M w c \ U N @ 9] %   x i a Y J B : + #     E | t l{ d \Y T E =| 5 - %   tdlG?7/'skc[=.&xiaQB2:*" ]w]v]ut/sr/qp:onmlkji/hgfed/cbaO`_8^8]8\[Z8Y8XW/VUT8SR/QPONMLKJ IHG/F/EDCBA@?>=<;:98/76543210/j.-,+*)('&f%&$v#"!  nI ?/I     o/8//l5 cP 8~}c|{zyxw vu8tsrqc p/#o nmlkj/ihg)fedcb8aI/`_  ^[  ]\Z[2ZYLXF/WVU'"TTTSRQCPO ~N}|M{Lz yKxJwHvIuHtGsGrFqpEoDnCmBlkAj@i?h>gf=e4d'=&< ;%:$9 8 7#6"5 4!3 210/.-, +*)('&%$#"!                   !  |iXI6(  jP3 | c N 8 7   z e R ?p )  v a M : ' C   { d N 8 !  ~ k V A 5w #dQ  r^@,veVA,|hS<'t]S>, VkUB/WD0 5Annett Wagner-Michel:-Boonsueb Saeheng6'Anna Muzychukl5Elena Cherednichenkoj-Alexey Kislinskyh#Arnd Lauberg)Bergit Brendeld+Alexander Zubovb!Ding Liren^7Austin Yang Ching WeiS%Ahmid JuddanRB AdhibanM)Edyta JakubiecL/Alejandro RamirezI5Alexander MorozevichG'Boris GrachevE'Boris Gelfand=7Bo Garner Christensen<'Eugenio Torre9Eugene Znosko-Borovskyj'Etienne Vezerr)Ernst Falkbeer+Erich Eliskasesy-Erhard Bernhoeft!Endre Vegh!Emory Tate'Emil Sutovsky)Emanuel LaskerE-Elmar Magerramov+Elizbar UbilavaI+Elina DanielianP ElekesK#Efim Geller%Effim Treger(%Edgard Collem Eckart"%E Svedenloef!E Knoppert9)Drazen Marovic/Dragan Vasiljevic%Dragan Solak+Dmitry Knyazhev Distl./Dimitrij Bunzmann!3Devarajen Chinasamy'Deep Sengupta-David Przepiorka`%David Navara%David Levinex%David Gedult+David Bronstein)Darko Gliksman'Darius Ruzele'+Daniel Yanofsky/Daniel Stellwagen+Daniel Pedersen+Daniel Noteboomk#Daniel King5+Daniel Harrwitz)Daniel Fridmany)Daniel Campora%Daniel Birth Dadian Curtalin'Csaba Horvath%Csaba Balogh'Cristian Faig+Corvin Radovici-Constant Burille&Colm Daly#Colin McNab+ ColemanY%Coen Zuidema3Christopher Dossett29Christopher Dorrington3Christoph Engelbert/Christian Lecuyer Chen Zhu'Charles JaffeA'Cesar Malagon)Carlos Reynoso =Carlos Gutierrez Canseco.)Carl Poschauko C Portelab C Bollen#Bu Xiangzhi.'Bruno Marzolf)Branko Macanga+Bosko Abramovic)Borislav Ivkov'Boris ZlotnikB%Boris KosticX#Boris Gulko%Bogdan LalicT Bitcham!-Bernhard Horwitz+Bernd Kievelitz1'Berik Akkozov#Bent Larsen-Benjamin Leussen4/Benjamin Finegold8%Bengt Wikman!Ben KakimiBela Soos'Bartosz Socko$ B Salamon9)Artur Jussupow/Arthur Feuerstein/Arthur DunkelblumT-Arthur Abolianin/Artashes MinasianArpi Shah-Arnoldo EllermanC'Arnold Denker|1Arn Neuenschwander'Antonio Rocha3Antoaneta StefanovaAnto Rmus-'Anna Ushenina!Anish Giri%'Angela Khegai'Andrew Soltis)Andreas Peters|-Andor Lilienthalw)Anatoly Karpov)Anatoly Bannik%Amos Pokornyn Amos BurnB1Almira Skripchenkon)Alin Ardeleanu)Alfred Kerteszk-Alfred Binckmanne/Alexey Vyzmanavinu-Alexey Korotylev'Alexei Suetin'Alexei Shirov+Alexei Iljushin+Alexei Gavrilovv5Alexandre Lambrescak3Alexandra Kosteniuk-Alexander Tolush-Alexander Shukan5Alexander Riazantsev/Alexander Motylev5Alexander MacDonnell-Alexander Lastinc+Alexander Kotov3Alexander Khalifman-Alexander Karman-Alexander Ivanov[-Alexander Huzman1Alexander GrischukD-Alexander Gamota/Alexander Chernin3Alexander Beliavsky?1Alexander AlekhineG;Aleksandra Dimitrijevic5Aleksandar Savanovic/5Aleksandar Kovacevic_'Albert Hodges2-Aggelos Sismanis'Adolf Schwarz%Adolf Olland:1Adolf Georg OllandO+Adolf Anderssen%Aad TenwoldeAB Arnold A Ynigow A Westol'A SummerscaleU!A Saalbach %A Rutherford))A Nogues Acunac A Neumann##A Kizhikina~ A CuberoN!A CaresanaS#A Arcimeniaz/"Socrates Expert"Z "Mirage"e#"Francesca"f |UthUE-!wk^H23%!vbM5)v]I1" } q ] K > -    l S G 9 !    k Q ?? -   { k X D 2 "  z h W E 6  lwbP6 zfYLA5#~hVG3!Rq`M@/|!Ken McEwan,?%G Bellingham(+Karsten Mueller0;Gallego Sergio CastilloG Vassaux#G TatarlievE G Straub G Lepge'Iulia Gromova9|+Evgeny Alekseev3!Jon Hammer;//Irina Zakurdjaevan/Evgeny Sveshnikove+Katrin GrohmannU G BwalyaP!Jens Nebel@+James McDonnell?#Gata Kamsky>/Fritzis Apsheniek-Fridrik Olafsson Freymann] FreemanV+Frederic Deacon%Fred Lindsay^%Franz Hoelzl)Frans Cuijpers)Frank MarshallF-Frank J Marshall^9Francisco Vallejo Pons5Fran Sanchez Alvarez- Forsyth'1Fiona Steil-Antoni#FinkelsteinN)Filip Rozsypal/ Fiechtl)Ferenc Palasti)Fenella Foster%FA Spinhovenv F Tiero%Ewan Stewart'Evgeny Bareev9Evgenij Miroshnichenko'Lars Karlsson 'Larry Kaufman'Lajos Steinera)Lajos Portisch!L Bachmann%Koneru Humpy-Klisurica Jashar)Klaus Bischoff)Kiril Georgiev#%Kevin Wicker!Ken Rogoff'Karsten Kuehn#Karl Winter)Karl Pulkkinen<+Karl Berndtssono!Karl Ahuesz'Karel Treybalh Kaldegg0 K Meck[ K Kunitz8 Jun Xie)Julian Hodgson*'Juergen Wempe'Juergen Fleck%Judit Polgar"3Juan Dominguez Sanz'Josif Dorfman-Joseph Holzwarth$-Joseph Gallagher/Joseph Blackburne/Josef Haelterlein 5Jose Raul Capablanca%Jonny Hector+Jonathan Rowson+Jonathan Mestel5Jonathan Dourerassou+Jonas Barkhagenp/John Van Der Wiel'John O'HanlonsJohn Nunn1Johannes Zukertort-Johannes Addicksp/Johann HjartarsonJoerg Ott%Joel Lautier#Jesse Kraai{%Jeroen PiketK'Jeremy Silman/-Jennifer Shahade1Jean-Marc Degraeve1Jean-Louis Sabatie+Jean Taubenhaus%Janos BaloghW+Jan-Hein Donner+Jan-Heim Donner!Jan Timman%Jan Sorensen)Jan Helbich Jr'James Sherwin!James Reed#James Mason-Jaime Sunye Neto\!Jac Thomas'JR Capablanca;J Ciprian0%Izrail Kogan!Ivan Nemet'Ivan Jankovec#Ivan Farago+Ivan Cheparinov%Ivan Balzano %Iskir Kurass5Isabel De Los Santos3/Isaac Boleslavsky#Irina Krush+Ilya Rabinovich_#Ilkka Kanko'Ilan Kreitnerh%Igor Smirnov)Igor Ratkovich#Igor Ivanov]Igor Glekj!Ian Rogers=1Ian Nepomniachtchi I Husain Hua Ni5Holger Norman-HansenM'Hillar Karner+Hermann Krieger'Herman Pilnik/Herbert Trenchard+'Henryk Dobosz%!Henry Bird-Henrique Mecking'Henri Weeninkf'Heinrich Wolf-+Heinrich Wagnerd#Heike Vogel) Hausius%Hartmut Kohl)Harmen Jonkman Hansen5Hans-Helmut Moschell'Hans Waldmann!Hans Kmochg+Hans K Harestad%Hannu Wegner'H Winfridsson,#H Strickert'H Pollmaecher H Baker}Gyula Sax1Guenter Schuchardt)Grigory Serper3Grigory Lowenfische1Grigory Lowenfisch\-Grigory Goldberg-Gregory Kaidanov!Greg Smallg'Goran Cabrilo#Glenn Flear+Gilberto Garcia-Gideon Stahlberg%Geza Maroczy, GessnerI3Gerhard Weissgerber{+Gerhard Schmidt)Gerald Bennett-Georgy Bastrikov-George Mackenzie1George KoltanowskiS#Georg Meier#Georg Marco*'Gedeon Barcza)Garry Kasparov nbPI9*|mcN9# o c R A 1   v n a S B 0 " } j S C 7 *   } r f U D 8 + w b P A / {iWH=,hYD/}iTF3 s`K:&}jU?-oS?$q[I6$K+Tamas Hradeczky JGyula SaxI'Larry KaufmanH-William Lombardy G!Ben KakimiF-Michael McSorleyE'Hillar KarnerD%Victor BrondC'Walter BrowneB%Izrail KoganA-Georgy Bastrikov@'Antonio Rocha?-Henrique Mecking>'Cesar Malagon=1Roman Toran Albero<+Daniel Yanofsky;%Slavko Leban:1Guenter Schuchardt9#Karl Winter 8Bela Soos77Lhamsuren Miagmasuren6)Robert Fischer59Roman Dzindzichashvili4/Isaac Boleslavsky3)Darko Gliksman 2!O. Ermakov1/Alexander Chernin 0MR Myant/#Robert Wade.#Miso Cebalo--Rajko Bogdanovic,%Coen Zuidema+)Drazen Marovic*%E Svedenloef)-Erhard Bernhoeft(+Gilberto Garcia''Rene Letelier&'Alexei Suetin%)Ratmir Kholmov$#Ilkka Kanko#+Lubomir Kavalek"%Iskir Kurass!)Anatoly Bannik 'Gedeon Barcza-Alexander Tolush Piranty)Marco Piccardo#Efim Geller+Corvin Radovici'Herman Pilnik-Fridrik Olafsson+Jan-Hein Donner A Westol-Gideon Stahlberg Hansen#Bent Larsen+Lev Polugaevsky+viktor Korchnoi)Miguel Najdorf-Samuel Reshevsky'James Sherwin Olafsson +Jan-Heim Donner )Carl Poschauko 7Wladyslaw Litmanowicz %Paul Mueller -Grigory Goldberg'Mark Taimanov/Miroslav Radojcic/Svetozar Gligoric3Grigory Lowenfische+David Bronstein+Alexander Kotov+Ossip Bernstein G Vassaux5Jose Raul Capablanca/Fritzis Apsheniek~-Petar Trifunovic }H Baker|'Arnold Denker{3Gerhard Weissgerber z!Karl Ahuesy+Erich Eliskasesx%Vera Menchikw-Andor Lilienthalv%FA Spinhoven uVerbak t!Paul Keress'John O'Hanlonr'Etienne Vezerq'Mladen Gudjevp-Johannes Addickso+Karl Berndtssonn%Amos Pokornym%Edgard Collel%Roberto Grauk+Daniel Noteboomj9Eugene Znosko-Borovskyi1Walter Hennebergerh'Karel Treybal g!Hans Kmochf'Henri Weeninke-Alfred Binckmannd+Heinrich Wagnerc)A Nogues Acuna bC Portelaa'Lajos Steiner`-David Przepiorka_+Ilya Rabinovich^-Frank J Marshall ]Freymann\1Grigory Lowenfisch [K Meck ZMeergrun YColemanX%Boris KosticW%Janos Balogh VFreeman USomersT/Arthur DunkelblumS1George KoltanowskiRLohrQ+Milan Vidmar Sr PMax EuweO1Adolf Georg OllandN#FinkelsteinM5Holger Norman-Hansen LZitzen KElekes JWhitaker IGessnerH#S WainsteinG1Alexander AlekhineF)Frank MarshallE)Emanuel Lasker D!V SarracanC-Arnoldo Ellerman BAmos BurnA'Charles Jaffe@%Oscar Chajes?%Richard Reti>1Saviely Tartakower=-Rudolf Spielmann <TA Carter;'JR Capablanca:%Adolf Olland 9B Salamon 8K Kunitz7Lee6Post5'Oldrich Duras4-Benjamin Leussen 3Napier2'Albert Hodges 1Zeissel 0Kaldegg/)Filip Rozsypal.Distl-'Heinrich Wolf,%Geza Maroczy+/Herbert Trenchard*#Georg Marco)%A Rutherford(%G Bellingham 'Forsyth&-Constant Burille %Orchard$-Joseph Holzwarth #A Neumann "Eckart !Bitcham Dadian+Jean Taubenhaus#James Mason Fiechtl !L Bachmann !Henry Bird/Siegbert Tarrasch-George Mackenzie-Wilhelm SteinitzSmith !Yakubovich-Mikhail Chigorin)William Potter1Johannes Zukertort'Adolf Schwarz/Joseph Blackburne C Bollen+Valentine Green+Frederic Deacon 'H Pollmaecher !A Saalbach #Paul Morphy NN 'Louis Paulsen G Lepge1Lionel Kieseritzky)Ernst Falkbeer+Adolf Anderssen-Bernhard Horwitz+Daniel Harrwitz5Alexander MacDonnell'William Evans wdQ@,{kV?0  h S C 3  z h N = %  v i T A 0  s ` K 9 '  o ] K 5 " qS@1wdP<,v_J5"|jWG3mWC-hP7"yhWC-)Anatoly Karpov3Ljubomir Ljubojevic+Jonathan Rowson)Frans Cuijpers-Alexander Shukan+Sergey Akchelov Jun Xie~#A Kizhikina}-Natalia Pogonina|)Andreas Peters{#Jesse Kraaiz#A Arcimeniay)Daniel Fridmanx%David Levine wA Ynigov+Alexei Gavrilovu/Alexey Vyzmanavint%Peter Stuarts%Paul Tufferyr'Riku Molanderq'Risto Redsvenp+Jonas Barkhageno3Peter Heine Nielsenn1Almira Skripchenkom/Svetlana Matveeval=Ribeiro Gonzalez Bolivark)Alfred Kertesz jIgor Gleki)Robert Huebnerh'Ilan Kreitner g!Greg Smallf#"Francesca" e"Mirage"d/Vladimir Burmakinc-Alexander Lastinb)Oleg Nikolenkoa-Michal Krasenkow`)Miroslav Tosic_5Aleksandar Kovacevic^%Fred Lindsay]#Igor Ivanov\-Jaime Sunye Neto[-Alexander IvanovZ/"Socrates Expert"Y1Slobodan KovacevicX5Zenon Franco OcamposW)Vladimir Turta V!Peter LekoU'A SummerscaleT%Bogdan Lalic S!A CaresanaR+Nick De FirmianQ+Monica CalzettaP+Elina DanielianO#Wen Yen Lin NA CuberoM1Maya Chiburdanidze LSherhardK%Jeroen PiketJ'Michael AdamsI+Elizbar UbilavaH+Veselin TopalovG/Vladimir Tukmakov F!Lembit OllE#G TatarlievD1Alexander Grischuk C!Y BalashovB'Boris ZlotnikA1Shamir Sivakumaran@/Sebastian Tudorie?3Alexander Beliavsky>%Valery Salov =!Ian Rogers<)Karl Pulkkinen;)Peter Gellrich:'Thorsten Oest 9!E Knoppert8/Benjamin Finegold7'Norbert Stull6#Luc Winants5#Daniel King41Vasilios Kotronias35Isabel De Los Santos2/Yudania Hernandez1+Bernd Kievelitz 0J Ciprian/'Jeremy Silman.=Carlos Gutierrez Canseco-5Fran Sanchez Alvarez,'H Winfridsson+#Colin McNab*)Julian Hodgson)#Heike Vogel()Uwe Dietzinger''Darius Ruzele&)Viktor Bologan%'Henryk Dobosz$'Sergey Smagin#-Pavlina Angelova"%Judit Polgar!%Peter Lukacs /Christian Lecuyer1Jean-Marc Degraeve+Jonathan Mestel1Miroslaw Sarwinski-Alexander Huzman3Alexander Khalifman/Viswanathan Anand-Gregory Kaidanov%Jonny Hector%Nigel Davies+Viktor Gavrikov'Evgeny Bareev1Udo Wallrabenstein'Hans Waldmann'Juergen Fleck#Nigel Short%Kevin Wicker%Paul Motwani+Bosko Abramovic 5Slavoljub Marjanovic 7Ricardo Calvo Minguez #Maxim Dlugy 'Lars Karlsson +Stellan Brynell Hausius#H Strickert !Marc Weber)Walter Shipman#Mark Meeres-Yahuda Gruenfeld+Nenad Jovanovic/Dragan Vasiljevic1Vitaly Cseshkovsky AB Arnold~1Panayotis Pandavos}#U Auerswald|5Hans-Helmut Moschell{%Ewan Stewartz'Csaba Horvathy/John Van Der Wielx'Karsten Kuehnw%Hannu Wegner v!Endre Veghu+Raj Tischbierek t!Ivan Nemet sJohn Nunnr#Ivan Faragoq+Predrag Nikolic p!Ralf Laven o!Tony Milesn+Timo Pirttimakim/Johann Hjartarsonl#Osman Palosk)Daniel Campora jI Husaini/Wolfgang Unzickerh-Elmar Magerramovg)Garry Kasparovf)Lajos Portische-Miguel Quinterosd'Andrew Soltis cRoy Ervinb/Leonid Shamkovicha+Rosendo Balinas `!Ken Rogoff_'Rudi Koepsell^3Tigran V. Petrosian])Fenella Foster\)Sheila Jackson['Ivan JankovecZ+Lubomir Ftacnik Y!Jan TimmanX'Leonid KaplunW%NigmadzianovV)Borislav IvkovU#Boris GulkoT'Lothar SchmidS'Eugenio TorreR)Gerald BennettQ-Michael Haygarth PTisserandO%David GedultN#Mikhail TalM3Juan Dominguez SanzL)Vasily Smyslov z{hUB,tbN4  v _ P > -   z d X : #   } k V ? *  | c P = +   o Y B & lXD/t]K5|jWE3 ziWC/|gQ='wbN;+nYF-z:5Annett Wagner-Michel9'Iulia Gromova81Maria Acebal Muniz75Laura Collado Barbas6-Boonsueb Saeheng5)Rainer Buhmann4+Sergey Karjakin3+Evgeny Alekseev23Christopher Dossett1'Michael White0+Karsten Mueller/5Aleksandar Savanovic.#Bu Xiangzhi -Anto Rmus ,!Ken McEwan+#Simon Knott*1Mahajlo Stojanovic))Michael Langer(%Effim Treger'#Robert Hess&'Olga Lelekova %!Anish Giri$'Bartosz Socko#)Kiril Georgiev"+Thies Heinemann!/Dimitrij Bunzmann /Josef Haelterlein%Daniel Birth/Manuel Leon Hoyos7Patricia Llaneza Vega1Fiona Steil-Antoni#Prasad Arun+Maxim Rodshtein-Teimour Radjabov)Mihail Saltaev-Sergei Movsesian+Sadegh Mahmoody'Deep Sengupta3Nadezhda Kharmunova !Peter Rowe-Evgenij Ermenkov)Artur Jussupow9Lenier Dominguez-Perez !Jac Thomas Colm Daly %Zoltan Ribli )Pawel Czarnota )Carlos Reynoso %Ivan Balzano #Wang Yaoyao#Zhang Zhong)Klaus Bischoff'Alexei Shirov#St Bergsson Zhao Xue9Evgenij Miroshnichenko#Liu Qingnan Li Chao'Thomas Schunk+Viktor Laznicka~%Meelis Kanep}%Joel Lautier|'Berik Akkozov{%Oleg Korneevz9Francisco Vallejo Ponsy/Marijan Kristovicx3Antoaneta Stefanovaw#Irina Krushv-Alexey Korotylevu-Klisurica Jashart5Alexandre Lambrescaks-Sebastien Fellerr-Joseph Gallagherq%Koneru Humpyp/Daniel Stellwageno5Jonathan Dourerassoun'Oleg Shelajevm#Georg Meierl+Sasa Martinovick)Maxim Matlakovj7Zurab Azmaiparashvilii%Rauf Mamedovh+Michael Schwarzg%Franz Hoelzlf+Hans K Harestade)Magnus Carlsend)Stig Martinsenc+Mark Bluvshteinb;Aleksandra Dimitrijevica%Csaba Balogh`%Dragan Solak_'Levon Aronian^)Igor Ratkovich]+Sergei Zhigalko\+Hermann Krieger['Juergen WempeZ9Christopher DorringtonY/Arthur FeuersteinX-Jennifer ShahadeW%Igor SmirnovV-Levan PantsulaiaU#Peter RoderT1Vitezslav PriehodaS7Shakhriyar MamedyarovR3Devarajen Chinasamy Q!Nase LunguP)Harmen JonkmanO'Emil SutovskyN%Hartmut KohlM'Bruno MarzolfL'Anna UsheninaK3Alexandra KosteniukJ9Panayiotis KakogiannisI)Branko MacangaH+Ivan CheparinovG%Yuri ShulmanF-Arthur AbolianinE'Angela KhegaiD-Aggelos SismanisC1Ian NepomniachtchiB+Alexei IljushinA/Alexander Motylev@+Daniel Pedersen?%Luke McShane>-Alexander Karman=3Christoph Engelbert <Curtalin ;F Tiero:'Rodney Flores 9!Emory Tate8/Rosa Te-Llalemand7%Aad Tenwolde 6!James Reed5/Artashes Minasian4=M Ssegirinya Joseph-Mary 3Hua Ni2-Piotr Mickiewicz15Zbigniew Jasnikowski0+Dmitry Knyazhev//Stanislav Beljaev.3Valentina Golubenko-1Jean-Louis Sabatie,#Glenn Flear+;Gallego Sergio Castillo *Chen Zhu)#Leo Peltola(%Bengt Wikman 'Arpi Shah&/Panayotis Vlassis%-Ronald Reichardt$)Robert Gardner#)Grigory Serper"+Gerhard Schmidt!+Oleg Romanishin 'Viktor Aronov%Michael Roiz G Straub Joerg Ott)Alin Ardeleanu5Vladislav Nevednichy)Jan Helbich Jr%David Navara1Monica Vilar Lopez+Lilit Mkrtchian)Ferenc Palasti'Josif Dorfman-Vassily Ivanchuk%Udo Helscher)Manfred Herzog%Jan Sorensen-Tamaz Gelashvili-Vinicius Marques'Cristian Faig 'Petar Popovic 'Goran Cabrilo 3Nguyen Thi Thanh An #Le Thanh Tu -Alexander Gamota5Alexander Riazantsev'Oskar Nadenau1Arn Neuenschwander   F5" = eP;  'yeN> o X C 2    x d N < l[ *G 0~lW? 8b- P |l^L8#o k`P>, t({bUL7" xeQ=,~  9 ` I 5E "  o X H 2 # l +Michael Schwarz)Miguel Najdorf-Michal Krasenkowa'Michael White1)Rainer Buhmann5#Le Thanh Tu)Miroslav Tosic`/Miroslav Radojcic+Milan Vidmar SrQ#Mikhail Tal-Mikhail Chigorin)Mihail Saltaev-Miguel QuinterosLohrRLee7#Robert Hess''Olga Lelekova&!Lembit OllF7Patricia Llaneza Vega#Prasad Arun'Leonid Kaplun#Leo Peltola9Lenier Dominguez-Perez3Nadezhda Kharmunova!Peter Rowe Li Chao)Pawel Czarnota #Liu Qingnan'Levon Aronian-Levan Pantsulaia+Lev Polugaevsky/Leonid Shamkovich%Oleg Korneev%Paul Mueller%Paul Motwani#Paul Morphy !Paul Kerest/Panayotis Vlassis1Panayotis Pandavos9Panayiotis Kakogiannis+Ossip Bernstein#Osman Palos'Oskar Nadenau%Oscar Chajes@ Orchard%'Oleg Shelajev+Oleg Romanishin)Oleg Nikolenkob'Oldrich Duras5 Olafsson!O. Ermakov'Norbert Stull7%Nigmadzianov#Nigel Short%Nigel Davies+Nick De FirmianR3Nguyen Thi Thanh An+Nenad Jovanovic-Natalia Pogonina}!Nase Lungu Napier3NN 1Monica Vilar Lopez+Monica CalzettaQ'Mladen Gudjevq#Miso Cebalo1Miroslaw Sarwinski'Lothar Schmid+Lilit Mkrtchian7Lhamsuren Miagmasuren%Rauf Mamedov'Louis Paulsen 1Lionel Kieseritzky#Peter Roder+Lubomir Kavalek+Lubomir Ftacnik3Ljubomir Ljubojevic'Rodney Flores/Rosa Te-Llalemand-Piotr Mickiewicz2 =M Ssegirinya Joseph-Mary%Luke McShane#Luc Winants6-Ronald Reichardt)Robert Gardner !Marc Weber/Manuel Leon Hoyos)Manfred Herzog1Mahajlo Stojanovic*)Magnus Carlsen MR Myant'Petar Popovica-Madona Bokuchavao'Lilit Galojanm7Natasa Korbovljanovick+Parimarjan Negif'Liubka Genovac#Ma Zhonghan_'Milovan PericY'Mihaly UjhaziX+Pauline MertensT%Monika SockoK)Nenad RistovicJ/Ruslan PonomariovC M NugentB%Mila MokryakA%Michael Roiz-Michael McSorley)Michael Langer)-Michael Haygarth'Michael AdamsJ MeergrunZ%Meelis Kanep1Maya ChiburdanidzeM+Maxim Rodshtein)Maxim Matlakov#Maxim Dlugy Max EuweP'Mark Taimanov#Mark Meeres+Mark Bluvshtein/Marijan Kristovic1Maria Acebal Muniz8)Marco Piccardo-Rudolf Spielmann='Rudi KoepsellRoy Ervin+Rosendo Balinas1Roman Toran Albero9Roman Dzindzichashvili%Roberto Graul#Robert Wade)Robert Huebneri)Robert Fischer'Risto Redsvenq'Riku Molanderr%Richard Reti?7Ricardo Calvo Minguez =Ribeiro Gonzalez Bolivarl'Rene Letelier)Ratmir Kholmov!Ralf Laven-Rajko Bogdanovic+Raj Tischbierek+Predrag NikolicPost6 Piranty%Peter Stuartt%Peter Lukacs!!Peter LekoV3Peter Heine Nielseno)Peter Gellrich;-Petar Trifunovic~-Pavlina Angelova#%Paul Tufferys 5 zlU=*s]O9' k U E 5 $  w a O 5   o-Madona Bokuchavan/Irina Zakurdjaevam'Lilit Galojanl'Anna Muzychukk7Natasa Korbovljanovicj5Elena Cherednichenkoi%Vojtech Plath-Alexey Kislinskyg#Arnd Lauberf+Parimarjan Negie/Evgeny Sveshnikovd)Bergit Brendelc'Liubka Genovab+Alexander Zubova/Vladimir Fedoseev`;Svetlana Cherednichenko_#Ma Zhonghan ^!Ding Liren ]!Samo Kralj\-Vladimir Kramnik[-Tatev AbrahamyanZ)Szidonia VajdaY'Milovan PericX'Mihaly Ujhazi W!Xiuwen NeoV/Yelizaveta OrlovaU+Katrin GrohmannT+Pauline MertensS7Austin Yang Ching WeiR%Ahmid JuddanQ-Tigran Gharamian PG BwalyaO-Sebastian BognerN%Sergei Salov MB AdhibanL)Edyta JakubiecK%Monika SockoJ)Nenad RistovicI/Alejandro RamirezH+Shamil ArslanovG5Alexander MorozevichF-Varuzhan AkobianE'Boris GrachevD1Vladislav TkachievC/Ruslan Ponomariov BM NugentA%Mila Mokryak @!Jens Nebel?+James McDonnell>#Gata Kamsky='Boris Gelfand<7Bo Garner Christensen ;!Jon Hammer kZ|fpQ<'lTJ?.    q \ I 6D   r ^ L 4 v ` I 1     n ] P ; *    - q W K 1  %Vojtech Plati/Vladimir Fedoseeva;Svetlana Cherednichenko`!Samo Kralj]-Vladimir Kramnik\-Tatev Abrahamyan[)Szidonia VajdaZ!Xiuwen NeoW/Yelizaveta OrlovaV-Tigran GharamianQ-Sebastian BognerO%Sergei SalovN+Shamil ArslanovH-Varuzhan AkobianF1Vladislav TkachievD+viktor Korchnoi7Zurab Azmaiparashvili%Zoltan Ribli ZitzenL Zhao Xue#Zhang Zhong5Zenon Franco OcamposX Zeissel15Zbigniew Jasnikowski%Yuri Shulman/Yudania Hernandez2!Yakubovich-Yahuda Gruenfeld!Y BalashovC/Wolfgang Unzicker7Wladyslaw Litmanowicz)William Potter-William Lombardy' William Evans-Wilhelm Steinitz WhitakerJ#Wen Yen LinO#Wang Yaoyao )Walter Shipman1Walter Hennebergeri'Walter Browne5Vladislav Nevednichy)Vladimir TurtaW/Vladimir TukmakovG/Vladimir Burmakind1Vitezslav Priehoda1Vitaly Cseshkovsky/Viswanathan Anand-Vinicius Marques+Viktor Laznicka+Viktor Gavrikov)Viktor Bologan&'Viktor Aronov%Victor Brond+Veselin TopalovH Verbaku%Vera Menchikx-Vassily Ivanchuk)Vasily Smyslov1Vasilios Kotronias4%Valery Salov>+Valentine Green3Valentina Golubenko!V SarracanD)Uwe Dietzinger(1Udo Wallrabenstein%Udo Helscher#U Auerswald!Tony MilesTisserand+Timo Pirttimaki3Tigran V. Petrosian'Thorsten Oest:'Thomas Schunk+Thies Heinemann"-Teimour Radjabov-Tamaz Gelashvili+Tamas Hradeczky TA Carter</Svetozar Gligoric/Svetlana Matveevam)Stig Martinsen+Stellan Brynell /Stanislav Beljaev#St Bergsson SomersU Smith1Slobodan KovacevicY5Slavoljub Marjanovic %Slavko Leban#Simon Knott+/Siegbert Tarrasch SherhardL)Sheila Jackson1Shamir SivakumaranA7Shakhriyar Mamedyarov'Sergey Smagin$+Sergey Karjakin4+Sergey Akchelov+Sergei Zhigalko-Sergei Movsesian-Sebastien Feller/Sebastian Tudorie@1Saviely Tartakower>+Sasa Martinovic-Samuel Reshevsky+Sadegh Mahmoody -uY=!y]A% } a E ) e I -  i M 1  m Q 5  q U 9  uY=!y]A% }aE) eI-iM1mQ5qU9iK-#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3~#~Terminationmate in 3}#}Terminationmate in 3|#|Terminationmate in 3{#{Terminationmate in 3z#zTerminationmate in 3y#yTerminationmate in 3x#xTerminationmate in 3w#wTerminationmate in 3v#vTerminationmate in 3u#uTerminationmate in 3t#tTerminationmate in 3s#sTerminationmate in 3r#rTerminationmate in 3q#qTerminationmate in 3p#pTerminationmate in 3o#oTerminationmate in 3n#nTerminationmate in 3m#mTerminationmate in 3l#lTerminationmate in 3k#kTerminationmate in 3j#jTerminationmate in 3i#iTerminationmate in 3h#hTerminationmate in 3g#gTerminationmate in 3f#fTerminationmate in 3e#eTerminationmate in 3d#dTerminationmate in 3c#cTerminationmate in 3b#bTerminationmate in 3a#aTerminationmate in 3`#`Terminationmate in 3_#_Terminationmate in 3^#^Terminationmate in 3]#]Terminationmate in 3\#\Terminationmate in 3[#[Terminationmate in 3Z#ZTerminationmate in 3Y#YTerminationmate in 3X#XTerminationmate in 3W#WTerminationmate in 3V#VTerminationmate in 3U#UTerminationmate in 3T#TTerminationmate in 3S#STerminationmate in 3R#RTerminationmate in 3Q#QTerminationmate in 3P#PTerminationmate in 3O#OTerminationmate in 3N#NTerminationmate in 3M#MTerminationmate in 3L#LTerminationmate in 3K#KTerminationmate in 3J#JTerminationmate in 3I#ITerminationmate in 3H#HTerminationmate in 3G#GTerminationmate in 3F#FTerminationmate in 3E#ETerminationmate in 3D#DTerminationmate in 3C#CTerminationmate in 3B#BTerminationmate in 3A#ATerminationmate in 3@#@Terminationmate in 3?#?Terminationmate in 3>#>Terminationmate in 3=#=Terminationmate in 3<#  l N 0  | ^ @ "  n P 2  ~ ` B $  p R 4 bD&rT6dF( tV8fH* vX:hJ,xZ<#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3~#Terminationmate in 3}#Terminationmate in 3|#Terminationmate in 3{#Terminationmate in 3z#Terminationmate in 3y#Terminationmate in 3x#Terminationmate in 3w#Terminationmate in 3v#Terminationmate in 3u#Terminationmate in 3t#Terminationmate in 3s#Terminationmate in 3r#Terminationmate in 3q#Terminationmate in 3p#Terminationmate in 3o#Terminationmate in 3n#Terminationmate in 3m#Terminationmate in 3l#Terminationmate in 3k#Terminationmate in 3j#Terminationmate in 3i#Terminationmate in 3h#Terminationmate in 3g#Terminationmate in 3f#Terminationmate in 3e#Terminationmate in 3d#Terminationmate in 3c#Terminationmate in 3b#Terminationmate in 3a#Terminationmate in 3`#Terminationmate in 3_#Terminationmate in 3^#Terminationmate in 3]#Terminationmate in 3\#Terminationmate in 3[#Terminationmate in 3Z#Terminationmate in 3Y#Terminationmate in 3X#Terminationmate in 3W#Terminationmate in 3V#Terminationmate in 3U#Terminationmate in 3T#Terminationmate in 3S#Terminationmate in 3R#Terminationmate in 3Q#Terminationmate in 3P#Terminationmate in 3O#Terminationmate in 3N#Terminationmate in 3M#Terminationmate in 3L#Terminationmate in 3K#Terminationmate in 3J#Terminationmate in 3I#Terminationmate in 3H#Terminationmate in 3G#Terminationmate in 3F#Terminationmate in 3E#Terminationmate in 3D#Terminationmate in 3C#Terminationmate in 3B#Terminationmate in 3A#Terminationmate in 3@#Terminationmate in 3?#Terminationmate in 3>#Terminationmate in 3=#Terminationmate in 3<#Terminationmate in 3;#Terminationmate in 3:#Terminationmate in 39#Terminationmate in 38#Terminationmate in 37#Terminationmate in 36#Terminationmate in 35#Terminationmate in 34#Terminationmate in 33#Terminationmate in 32#Terminationmate in 31#Terminationmate in 30#Terminationmate in 3/#Terminationmate in 3.#Terminationmate in 3-#Terminationmate in 3,#Terminationmate in 3+#Terminationmate in 3*#Terminationmate in 3)#Terminationmate in 3(#Terminationmate in 3'#Terminationmate in 3&#Terminationmate in 3%#Terminationmate in 3$#Terminationmate in 3##Terminationmate in 3"#Terminationmate in 3!#Terminationmate in 3 #Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3#Terminationmate in 3 #Terminationmate in 3 #Terminationmate in 3 #Terminationmate in 3 #Terminationmate in 3 #Terminationmate in 3#Terminationmate in 3 qjL.z\>  l N 0  | ^ @ "  n P 2  ~ ` B $  p R 4 bD&rT6dF( tV8fH* vX:w#wTerminationmate in 3v#vTerminationmate in 3u#uTerminationmate in 3t#tTerminationmate in 3s#sTerminationmate in 3r#rTerminationmate in 3q#qTerminationmate in 3p#pTerminationmate in 3o#oTerminationmate in 3n#nTerminationmate in 3m#mTerminationmate in 3l#lTerminationmate in 3k#kTerminationmate in 3j#jTerminationmate in 3i#iTerminationmate in 3h#hTerminationmate in 3g#gTerminationmate in 3f#fTerminationmate in 3e#eTerminationmate in 3d#dTerminationmate in 3c#cTerminationmate in 3b#bTerminationmate in 3a#aTerminationmate in 3`#`Terminationmate in 3_#_Terminationmate in 3^#^Terminationmate in 3]#]Terminationmate in 3\#\Terminationmate in 3[#[Terminationmate in 3Z#ZTerminationmate in 3Y#YTerminationmate in 3X#XTerminationmate in 3W#WTerminationmate in 3V#VTerminationmate in 3U#UTerminationmate in 3T#TTerminationmate in 3S#STerminationmate in 3R#RTerminationmate in 3Q#QTerminationmate in 3P#PTerminationmate in 3O#OTerminationmate in 3N#NTerminationmate in 3M#MTerminationmate in 3L#LTerminationmate in 3K#KTerminationmate in 3J#JTerminationmate in 3I#ITerminationmate in 3H#HTerminationmate in 3G#GTerminationmate in 3F#FTerminationmate in 3E#ETerminationmate in 3D#DTerminationmate in 3C#CTerminationmate in 3B#BTerminationmate in 3A#ATerminationmate in 3@#@Terminationmate in 3?#?Terminationmate in 3>#>Terminationmate in 3=#=Terminationmate in 3<# !   AA(1925.??.???^_175kqQ/1b1r2p1/ppn1p1Bp/2b5/2P2rP1/P4N2/1B5P/4RR1K w - - 1 0_= !  w @@'1925.??.???\]17b2rB3/p7/1n2kp2/2b2N1Q/2p1rP2/2P5/P5PP/5R1K w - - 1 0^< !  u ??&1925.??.???G[176r1/6rk/pq1P4/1p2p1pB/2p1P2Q/2P3RP/PP4PK/8 w - - 1 0f; !   >>1924.??.???Z 17r1b1k1nr/p5bp/p1pBq1p1/3pP1P1/N4Q2/8/PPP1N2P/R4RK1 w - - 1 0c: !   ==%1924.??.???XY17r5rk/2b2p1p/1pppq3/5Np1/p1n4Q/P4R2/1PB3PP/4R1K1 w - - 1 0l9 !   174R3/1p4rk/6p1/2pQBpP1/p1P1pP2/Pq6/1P6/K7 w - - 1 0a3 !  { 55!1921.??.???OP174rk2/2pQ1p2/2p2B2/2P1P2q/1b4R1/1P6/r5PP/2R3K1 w - - 1 0X2 !  i 44 1918.??.???MN17r1b5/kpQ4p/p1q5/2P5/3B4/8/P4PPP/R5K1 w - - 1 0b1 !  } 331917.??.???KL17r1b2k1r/1p1p1pp1/p2P4/4N1Bp/3p4/8/PPB2P2/2K1R3 w - - 1 0]0 !  s 221916.??.???IJ17r1b2r2/pp3Npk/6np/8/2q1N3/4Q3/PPP2RPP/6K1 w - - 1 0e/ !   111916.??.???GH17r3q2k/1bn2p2/p4P1p/1pPp2R1/3P4/P1N1Q3/1PB3PP/6K1 w - - 1 0g. !   001914.??.???EF171k1r4/3b1p2/QP1b3p/1p1p4/3P2pN/1R4P1/KPPq1PP1/4r2R w - - 1 0g- !   //1913.??.???CD176rb/1p2k3/p2p1nQ1/q1p1p2r/B1P1P3/2N4P/PP4P1/1R3RK1 w - - 1 0U, !  c .y.x1911.??.???5B178/p3Q2p/6pk/1N6/4nP2/7P/P5PK/3rr3 w - - 1 0j+ !    -[-X 1911.??.???@A174k3/r2bnn1r/1q2pR1p/p2pPp1B/2pP1N1P/PpP1B3/1P4Q1/5KR1 w - - 1 0e* !   ,@,@1910.??.????>17rnb1kb1r/pp3ppp/2p5/4q3/4n3/3Q4/PPPB1PPP/2KR1BNR w - - 1 0_) !  w +#+ 1909.??.???=>17r3nrkq/pp3p1p/2p3nQ/5NN1/8/3BP3/PPP3PP/2KR4 w - - 1 0 ';o > u  Q G)Y-pGCx[w !  m J1971.??.???t172bkr3/5Q1R/p2pp1N1/1p6/8/2q3P1/P4P1K/8 w - - 1 0^v !  q ~~H1971.??.???174rk2/5p1b/1p3R1K/p6p/2P2P2/1P6/2q4P/Q5R1 w - - 1 0hu !   }}I1971.??.???17r3kb1r/1b4p1/pq2pn1p/1N2p3/8/3B2Q1/PPP2PPP/2KRR3 w kq - 1 0_t !  s ||H1969.??.???17rk5r/2p3pp/p1p5/4N3/4P3/2q4P/P4PP1/R2Q2K1 w - - 1 0ms !    {{G1968.??.???17r1bq1rk1/p3b1np/1pp2ppQ/3nB3/3P4/2NB1N1P/PP3PP1/3R1RK1 w - - 1 0kr !    zgz`G1968.??.???17r1b2rk1/1p3pb1/2p3p1/p1B5/P3N3/1B1Q1Pn1/1PP3q1/2KR3R w - - 1 0`q !  u yQyPF1968.??.???17r1b5/5p2/5Npk/p1pP2q1/4P2p/1PQ2R1P/6P1/6K1 w - - 1 0cp !  { x:x81967.??.???17k2r3r/p3Rppp/1p4q1/1P1b4/3Q1B2/6N1/PP3PPP/6K1 w - - 1 0_o !  s w-w(E1967.??.???17b2k3r/1q4p1/p2p4/1p1N1Q2/4P3/P7/1PR4P/1K6 w - - 1 0gn !   v vD1967.??.???172r2qk1/r4p1p/b3pBpQ/n3P2P/p2p3R/P5P1/2p2PB1/R5K1 w - - 1 0_m !  s ttC1967.??.???177r/1qr1nNp1/p1k4p/1pB5/4P1Q1/8/PP3PPP/6K1 w - - 1 0]l !  o ssB1967.??.???175qr1/kp2R3/5p2/1b1N1p2/5Q2/P5P1/6BP/6K1 w - - 1 0Vk !  a rr1966.??.???178/6pB/7p/2p4k/3b4/1P3RP1/r4PKP/8 w - - 1 0cj !  { qqA1965.??.???175r2/pp2R3/1q1p3Q/2pP1b2/2Pkrp2/3B4/PPK2PP1/R7 w - - 1 0_i !  s pp@1965.??.???171k1r4/1b1p2pp/PQ2p3/nN6/P3P3/8/6PP/2q2BK1 w - - 1 0dh !  } oo?1964.??.???174r3/2p5/2p1q1kp/p1r1p1pN/P5P1/1P3P2/4Q3/3RB1K1 w - - 1 0cg !  { nn>1964.??.???175rk1/ppR2p1p/q2p2pB/P2pb3/1P1n2P1/5Q1P/6B1/7K w - - 1 0if !   mgm`1964.??.???17r3kb1r/1b1n2pp/pq1pN3/1p1Q2B1/4P3/8/PPP2PPP/R4RK1 w kq - 1 0ce !  { lPlP=1963.??.???17rq2r1k1/1b3pp1/p3p1n1/1p4BQ/8/7R/PP3PPP/4R1K1 w - - 1 0^d !  q k=k841963.??.???173Q3R/4rqp1/6k1/p3Pp1p/Pp3P1P/1Pp4K/2P5/8 w - - 1 0bc !  y j*j(<1963.??.???172bqQ3/p2n1pk1/2p2b2/6p1/P1PP2P1/1P3R2/6K1/7R w - - 1 0Xb !  e i"i ;1963.??.???175Q2/6r1/6pp/7k/2pq1P2/P5RP/1P4PK/8 w - - 1 0ia !   hh41962.??.???172r3k1/1p1r1p1p/pnb1pB2/5p2/1bP5/1P2QP2/P1B3PP/4RK2 w - - 1 0l` !    ff1961.??.???173rkb1r/ppn2pp1/1qp1p2p/4P3/2P4P/3Q2N1/PP1B1PP1/1K1R3R w - - 1 0d_ !  } ee81961.??.???174r1k1/pR3pp1/1n3P1p/q2p4/5N1P/P1rQpP2/8/2B2RK1 w - - 1 0]^ !  q dd1960.??.???t172b2rk1/2q2pp1/1p1R3p/8/1PBQ4/7P/5PP1/6K1 w - - 1 0j] !   cc:1957.??.???17r5k1/1b1r1p1p/ppq1nBpQ/2p1P3/5p2/2PB2R1/P1P3PP/R5K1 w - - 1 0]\ !  o bb91957.??.???173rk3/1b4BR/3p2p1/3P4/1r4n1/1P6/6BP/5RK1 w - - 1 0^[ !  q aa81956.??.???176qk/4rRn1/1p3NQp/p3P3/8/1P2b2P/PB4PK/3r4 w - - 1 0cZ !  { `}`x71956.??.???17r3q1rk/1pp3pb/pb5Q/3pB3/3P4/2P2N1P/PP1N2P1/7K w - - 1 0dY !  } _a_`61956.??.???173r1rk1/2qP1p2/p2R2pp/6b1/6P1/2pQR2P/P1B2P2/6K1 w - - 1 0aX !  w ^D^@1953.??.???172Q1N1k1/5p2/1b2p2p/3bN1p1/nq4P1/6BP/5P2/6K1 w - - 1 0`W !  u ]3]0 1953.??.???177k/5p2/2b2p1B/1pn1p2p/4P3/q1P2PPB/3Q1K1P/8 w - - 1 0cV !  { \\51952.??.???17r5rk/ppq2p2/2pb1P1B/3n4/3P4/2PB3P/PP1QNP2/1K6 w - - 1 0hU !   ZZ51952.??.???17r3nrk1/1p1b2pp/3p2n1/3PpNP1/3Q4/1q5P/3N1R2/1B3RK1 w - - 1 0aT !  w YY41947.??.???171r1b1n2/1pk3p1/4P2p/3pP3/3N4/1p2B3/6PP/R5K1 w - - 1 0gS !   XX31947.??.???175qr1/pr3p1k/1n1p2p1/2pPpP1p/P3P2Q/2P1BP1R/7P/6RK w - - 1 0bR !  y WW'1946.??.???17r3kr2/6Qp/1Pb2p2/pB3R2/3pq2B/4n3/1P4PP/4R1K1 w - - 1 0_Q !  s VV21946.??.???17R6R/1r3pp1/4p1kp/3pP3/1r2qPP1/7P/1P1Q3K/8 w - - 1 0 &7^  N v  6 e(l=t:b2[b !  w *(1986.??.???  171rb2RR1/p1p3p1/2p3k1/5p1p/8/3N1PP1/PP5r/2K5 w - - 1 0^ !  m ^1986.??.???  17r4r2/p1p4p/1p2R3/5p2/2B2K2/7k/PPP2P2/8 w - - 1 0l !   [1985.??.???173r3r/p1pqppbp/1kN3p1/2pnP3/Q5b1/1NP5/PP3PPP/R1B2RK1 w - - 1 0e !  { 1985.??.???17r1b3r1/ppp1R2p/3p3k/1q2B1p1/5Q2/8/PPP2PPP/6K1 w - - 1 0` !  q 1985.??.???178/1p2p1kp/2rRB3/pq2n1Pp/4P3/8/PPP2Q2/2K5 w - - 1 0f !  } ]1984.??.???172r2bk1/pb3ppp/1p6/n7/q2P4/P1P1R2Q/B2B1PPP/R5K1 w - - 1 0a !  s \1984.??.???173r3k/7p/pp2B1p1/3N2P1/P2qPQ2/8/1Pr4P/5R1K w - - 1 0k !   Z1984.??.???176rk/p1pb1p1p/2pp1P2/2b1n2Q/4PR2/3B4/PPP1K2P/RNB3q1 w - - 1 0g !   }x[1984.??.???17r1b1nb1r/3pk1pp/p2N1pn1/Q1Bp4/8/8/PP2BP1P/2K1R3 w - - 1 0d !  y ih21984.??.???17r2q1rk1/p4p1p/3p1Q2/2n3B1/B2R4/8/PP3PPP/5bK1 w - - 1 0c !  w LHZ1984.??.???17n7/pk3pp1/1rR3p1/QP1pq3/4n3/6PB/4PP1P/2R3K1 w - - 1 0j !   60Y1983.??.???172r1k2r/pR2p1bp/2n1P1p1/8/2QP4/q2b1N2/P2B1PPP/4K2R w - - 1 0c !  w $ L1983.??.???17r1b3r1/1p3p1p/1q2pQ2/1Bk5/4p3/8/P1P3PP/3R3K w - - 1 0` !  q X1983.??.???17r5rR/3Nkp2/4p3/1Q4q1/np1N4/8/bPPR2P1/2K5 w - - 1 0[ !  g F1983.??.???172R5/4k1p1/nr2P2p/3PK3/4N1PP/8/1p6/8 w - - 1 0d !  y /1983.??.???173r2qk/p2Q3p/1p3R2/2pPp3/1nb5/6N1/PB4PP/1B4K1 w - - 1 0g  !   W1983.??.???17rr6/p1n4k/1p1NqBp1/2p1P2p/4P3/6R1/bP1Q2PP/4R1K1 w - - 1 0V  !  ] V1983.??.???17k1br4/ppQ5/8/2PB3p/7b/8/PP6/7K w - - 1 0`  !  q U1982.??.???172r1qr1k/7p/7P/p2pPpR1/3N1P1Q/P2b4/6R1/7K w - - 1 0f  !  } '1982.??.???173r1r1k/1p3p1p/p2p4/4n1NN/6bQ/1BPq4/P3p1PP/1R5K w - - 1 0g  !   "1981.??.???173q2rn/pp3rBk/1npp1p2/5P2/2PPP1RP/2P2B2/P5Q1/6RK w - - 1 0g !   T1979.??.???175qk1/1p4b1/p1p2pQn/3p1N2/3P2P1/1PP2PK1/1P2r3/7R w - - 1 0` !  q vpT1979.??.???175rrk/5pb1/p1pN3p/7Q/1p2PP1R/1q5P/6P1/6RK w - - 1 0k !   \XT1978.??.???17r4b1r/pp2kbp1/3R2B1/4P2p/2p2N1P/P4Pn1/1P1B2P1/R3K3 w - - 1 0m !    98S1978.??.???172rn2k1/1q1N1pbp/4pB1P/pp1pPn2/3P4/1Pr2N2/P2Q1P1K/6R1 w - - 1 0i !   1978.??.???17r4k1r/p1q2P1p/1pnb2p1/2p5/8/2P1BN2/PP4PP/R2QR1K1 w - - 1 0a !  s R1978.??.???17R7/3nbpkp/4p1p1/3rP1P1/P2B1Q1P/3q1NK1/8/8 w - - 1 0f !  } Q1977.??.???171r2bk2/1p3ppp/p1n2q2/2N5/1P6/P3R1P1/5PBP/4Q1K1 w - - 1 0l !   C1977.??.???17r1n1kbr1/ppq1pN2/2p1Pn1p/2Pp3Q/3P3P/8/PP3P2/R1B1K2R w - - 1 0b !  u P1977.??.???171r2r3/1n3Nkp/p2P2p1/3B4/1p5Q/1P5P/6P1/2b4K w - - 1 0j !   O1974.??.???17r5k1/q4ppp/rnR1pb2/1Q1p4/1P1P4/P4N1P/1B3PP1/2R3K1 w - - 1 0d~ !  y 1974.??.???174nrk1/rR5p/4pnpQ/4p1N1/2p1N3/6P1/q4P1P/4R1K1 w - - 1 0l} !   qpN1974.??.???17rn2k2r/ppp1bppp/5p2/3N1b2/1q6/5p2/PPP1QPPP/2KR1B1R w kq - 1 0i| !   hh1973.??.??? 17rn1q3r/pp2kppp/3Np3/2b1n3/3N2Q1/3B4/PP4PP/R1B2RK1 w - - 1 0o{ !    ?8M1972.??.???172bqr2k/1r1n2bp/pp1pBp2/2pP1PQ1/P3PN2/1P4P1/1B5P/R3R1K1 w - - 1 0fz !  } )(L1972.??.???173rn2r/3kb2p/p4ppB/1q1Pp3/8/3P1N2/1P2Q1PP/R1R4K w - - 1 0_y !  o  1972.??.???171k6/b2q1r2/p2PQ1p1/4Bp1p/3P3P/6PK/6B1/8 w - - 1 0fx !  } K1971.??.???17r1b2nrk/1p3p1p/p2p1P2/5P2/2q1P2Q/8/PpP5/1K1R3R w - - 1 0 &: M u  J }  Hr >m8d!Hu\C !  i v1993.??.???JK178/2k2r2/pp6/2p1R1Np/6pn/8/Pr4B1/3R3K w - - 1 0pB !   јјu1992.??.???HI17r1b1r3/qp1n1pk1/2pp2p1/p3n3/N1PNP1P1/1P3P2/P6Q/1K1R1B1R w - - 1 0aA !  s ІЀ81992.??.???FG172rk4/5R2/3pp1Q1/pb2q2N/1p2P3/8/PPr5/1K1R4 w - - 1 0l@ !   f`t1992.??.???DE172rr2k1/1b3p1p/1p1b2p1/p1qP3Q/3R4/1P6/PB3PPP/1B2R1K1 w - - 1 0j? !   JHs1992.??.???8C172q1rnk1/p4r2/1p3pp1/3P3Q/2bPp2B/2P4R/P1B3PP/4R1K1 w - - 1 0i> !   /(r1992.??.???B172b2r1k/1p2R3/2n2r1p/p1P1N1p1/2B3P1/P6P/1P3R2/6K1 w - - 1 0s= !   q1991.??.???@A17r1b2r2/p1q1npkB/1pn1p1p1/2ppP1N1/3P4/P1P2Q2/2P2PPP/R1B2RK1 w - - 1 0_< !  o c1991.??.???>?176k1/pp1Q4/6Bb/2p1P1qP/4P3/1P1P1rPK/P7/8 w - - 1 0h; !   1991.??.???=175q2/1ppr1br1/1p1p1knR/1N4R1/P1P1PP2/1P6/2P4Q/2K5 w - - 1 0l: !   p1991.??.???<172rb3r/3N1pk1/p2pp2p/qp2PB1Q/n2N1P2/6P1/P1P4P/1K1RR3 w - - 1 0b9 !  u DZǰ/1991.??.???:;176rk/1pqbbp1p/p3p2Q/6R1/4N1nP/3B4/PPP5/2KR4 w - - 1 0e8 !  { ƚƘ#1991.??.???89173R4/6rk/1p4p1/p2Q1p2/P1B1p2p/1n2P1P1/5PKP/2q5 w - - 1 0c7 !  w Ŋňo1990.??.???67171r3k2/3Rnp2/6p1/6q1/p1BQ1p2/P1P5/1P3PP1/6K1 w - - 1 0d6 !  y qp 1990.??.???4517r4rk1/p4ppp/Pp4n1/4BN2/1bq5/7Q/2P2PPP/3RR1K1 w - - 1 0g5 !   OHn1990.??.???23172q1n3/1p1bppkp/p2p2p1/3P4/P2N4/1PQ3PP/4PPB1/6K1 w - - 1 0d4 !  y ?8m1990.??.???01171rb1kb1r/5pp1/p4q1p/3Q4/5P2/8/PPP3PP/2KR1B1R w k - 1 0_3 !  o & l1989.??.???$/17b4rk1/p4p2/1p4Pq/4p3/8/P1N2PQ1/BP3PK1/8 w - - 1 0g2 !   k1989.??.???-.17rn4k1/pp1r1pp1/1q1b4/5QN1/5N2/4P3/PP3PPP/3R1RK1 w - - 1 0e1 !  { j1989.??.???",17r4r1k/1pqb1B1p/p3p2B/2bpP2Q/8/1NP5/PP4PP/5R1K w - - 1 0^0 !  m 1989.??.???*+17r1k2r2/p5Rp/3R4/3p3p/3B4/3B4/PP1q3P/7K w - - 1 0r/ !   /1989.??.???()17r1bqn1rk/1p1np1bp/p1pp2p1/6P1/2PPP3/2N1BPN1/PP1Q4/2KR1B1R w - - 1 0`. !  q i1989.??.???&'176r1/pp3N1k/1q2bQpp/3pP3/8/6RP/PP3PP1/6K1 w - - 1 0g- !   h1988.??.???$%17r3q2k/p2n1r2/2bP1ppB/b3p2Q/N1Pp4/P5R1/5PPP/R5K1 w - - 1 0e, !  { khg1988.??.???"#17r1b2rk1/pp1p1p1p/2n3pQ/5qB1/8/2P5/P4PPP/4RRK1 w - - 1 0`+ !  q [X)1988.??.???!173r4/7p/2RN2k1/4n2q/P2p4/3P2P1/4p1P1/5QK1 w - - 1 0g* !   ;8f1988.??.??? 171r2nr2/2q3kp/p2pQ1pR/4n1P1/Np2P3/1B6/PPP4P/2KR4 w - - 1 0g) !   " e1987.??.???174b1k1/2r2p2/1q1pnPpQ/7p/p3P2P/pN5B/P1P5/1K1R2R1 w - - 1 0X( !  a d1987.??.???174r2k/4R1pp/7N/p6n/qp6/6QP/5PPK/8 w - - 1 0c' !  w c1987.??.???17R2Q4/6k1/3p1qp1/3n2p1/1p1r1p2/3B1P2/2P3PK/8 w - - 1 0k& !   b1987.??.???173r1r1k/p4p1p/1pp2p2/2b2P1Q/3q1PR1/1PN2R1P/1P4P1/7K w - - 1 0g% !   81987.??.???173qrk2/p1r2pp1/1p2pb2/nP1bN2Q/3PN3/P6R/5PPP/R5K1 w - - 1 0^$ !  m a1987.??.???178/5k2/6pQ/1p5p/2pqN3/1p3P1P/1r4P1/4R2K w - - 1 0_# !  o I1987.??.???177r/1Q6/pp1pkPn1/6B1/2qP2P1/3p4/P7/1K4R1 w - - 1 0m" !    1986.??.???17r1b2rk1/1p2nppp/p2R1b2/4qP1Q/4P3/1B2B3/PPP2P1P/2K3R1 w - - 1 0Z! !  e /1986.??.???17kr6/pR5R/1q1pp3/8/1Q6/2P5/PKP5/5r2 w - - 1 0Z  !  e sp`1986.??.???172k5/p1p4R/P3r1p1/2r2p2/8/1R6/8/5K2 w - - 1 0c !  w UP_1986.??.??? 173r1q1k/6bp/p1p5/1p2B1Q1/P1B5/3P4/5PPP/4R1K1 w - - 1 0] !  k @@ 1986.??.???178/R4R1p/4p1p1/r3p3/1b2PnkP/6P1/5PK1/8 w - - 1 0 &V+\  P " ` 1Rz8]@w0Vji !   1998.??.???172kr3r/1p3ppp/p3pn2/2b1B2q/Q1N5/2P5/PP3PPP/R2R2K1 w - - 1 0jh !   e`1997.??.???17r2q1rk1/pp3pp1/2n5/3p1b2/2P4R/2B1Q1P1/PP2P3/R3K3 w Q - 1 0ig !   C@81997.??.???177k/pb4rp/2qp1Q2/1p3pP1/np3P2/3PrN1R/P1P4P/R3N1K1 w - - 1 0rf !   1997.??.???17r1bq2r1/ppnn1pk1/2p3pR/2B1p1P1/2P1P1P1/2N2P2/PP1Q4/R3KB2 w Q - 1 0ce !  u 1997.??.???173r4/4RRpk/5n1N/8/p1p2qPP/P1Qp1P2/1P4K1/3b4 w - - 1 0bd !  s 1997.??.???*171k5r/3R1pbp/1B2p3/2NpPn2/5p2/8/1PP3PP/6K1 w - - 1 0ac !  s /1997.??.???j171qr1k3/pb2p3/1p2N3/1NpPp3/8/7Q/PPP5/2K1R3 w - - 1 0pb !    1997.??.???17r1bn1b2/ppk1n2r/2p3pp/5p2/N1PNpPP1/2B1P3/PP2B2P/2KR2R1 w - - 1 0ha !   1996.??.???"173r2k1/1b2Qp2/pqnp3b/1pn5/3B3p/1PR4P/P4PP1/1B4K1 w - - 1 0g` !  } x1996.??.???}~172r3k1/ppq3p1/2n2p1p/2pr4/5P1N/6QP/PP2R1P1/4R2K w - - 1 0c_ !  w nh/1996.??.???{|172rnk3/pq3p2/3P1Q1R/1p6/3P4/5P2/P1b1N1P1/5K2 w - - 1 0l^ !   QP1996.??.???yz17r1bnrn2/ppp1k2p/4p3/3PNp1P/5Q2/3B2R1/PPP2PP1/2K1R3 w - - 1 0o] !    40l1995.??.???wx17r5rk/pp2qb1p/2p2pn1/2bp4/3pP1Q1/1B1P1N1R/PPP3PP/R1B3K1 w - - 1 0f\ !  { 1995.??.???uv17r1q2b2/p4p1k/1p1r3p/3B1P2/3B2Q1/4P3/P5PP/5RK1 w - - 1 0n[ !    1995.??.???st171r2qrk1/p4p1p/bp1p1Qp1/n1ppP3/P1P5/2PB1PN1/6PP/R4RK1 w - - 1 0lZ !   51995.??.???qr174r1r1/pb1Q2bp/1p1Rnkp1/5p2/2P1P3/4BP2/qP2B1PP/2R3K1 w - - 1 0_Y !  o 1995.??.???op17r2r1b1k/pR6/6pp/5Q2/3qB3/6P1/P3PP1P/6K1 w - - 1 0lX !   1995.??.???mn17r1b1r3/ppq2pk1/2n1p2p/b7/3PB3/2P2Q2/P2B1PPP/1R3RK1 w - - 1 0fW !  } xxc1995.??.???l174r2k/4Q1bp/4B1p1/1q2n3/4pN2/P1B3P1/4pP1P/4R1K1 w - - 1 0pV !    ``1995.??.???jk17r1n1qnr1/2p3k1/1pP1p1pp/bP1pPp2/3P1P1Q/BR3NR1/4BP1P/7K w - - 1 0iU !   >8P1995.??.???Ri17r1bq2rk/pp1n1p1p/5P1Q/1B3p2/3B3b/P5R1/2P3PP/3K3R w - - 1 0eT !  y *(1994.??.???gh17rq2r2k/pp2p2p/3p1pp1/6R1/4P3/4B3/PPP1Q3/2K4R w - - 1 0_S !  q # 1994.??.???ef176kr/p1Q3pp/3Bbbq1/8/5R2/5P2/PP3P1P/4KB1R w - - 1 0bR !  u 81994.??.???cd173r3k/1p3Rpp/p2nn3/3N4/8/1PB1PQ1P/q4PP1/6K1 w - - 1 0aQ !  s 1994.??.???ab17r3r3/ppp4p/2bq2Nk/8/1PP5/P1B3Q1/6PP/4R1K1 w - - 1 0[P !  g ~1994.??.???_`175r1k/7p/8/4NP2/8/3p2R1/2r3PP/2n1RK2 w - - 1 0jO !   }1994.??.???]^172rr1k2/pb4p1/1p1qpp2/4R2Q/3n4/P1N5/1P3PPP/1B2R1K1 w - - 1 0[N !  g ޺޸c1994.??.???\176k1/5p2/4nQ1P/p4N2/1p1b4/7K/PP3r2/8 w - - 1 0`M !  q ݣݠ|1993.??.???Z[173k4/1R6/3N2n1/p2Pp3/2P1N3/3n2Pp/q6P/5RK1 w - - 1 0dL !  y ܍܈{1993.??.???F174r3/pp1nr3/2p4p/4p1b1/4kPP1/1PBN4/P1P1K3/3R4 w - - 1 0dK !  y mhz1993.??.???XY17r2r4/1b3k2/3Pq3/pBp1p2p/Pp6/6R1/1P3P2/R2Q2K1 w - - 1 0nJ !    PPy1993.??.???VW17nr2kb1r/1p3p1p/p2p1q2/P2Pp3/2N2p2/2P3PB/1P3P1P/R2QK2R w - - 1 0`I !  q ?81993.??.???TU173Q1R2/pp4bk/6p1/6p1/2B1b1q1/P7/1P4P1/6K1 w - - 1 0gH !   )(x1993.??.???RS174r1k1/pp3p2/3p1P1p/3PbR2/1P1p2PQ/P2P3P/2q5/5RK1 w - - 1 0dG !  y 1993.??.???PQ173r4/p4Q1p/1p2P2k/2p3pq/2P2B2/1P2p2P/P5P1/6K1 w - - 1 0eF !  { w1993.??.???NO17r5k1/pp2ppb1/3p4/q3P1QR/6b1/r2B1p2/1PP5/1K4R1 w - - 1 0fE !  } 1993.??.???M171r3r1k/6p1/p6p/2bpNBP1/1p2n3/1P5Q/PBP1q2P/1K5R w - - 1 0iD !   1993.??.???JL172bq1k1r/r5pp/p2b1Pn1/1p1Q4/3P4/1B6/PP3PPP/2R1R1K1 w - - 1 0 %/b ( P w  8 ZOEl=_*p !    %*%(2001.??.???17rq2kb1r/1p1n1pp1/p3p1b1/1B1pP1Bp/NP1P3P/P7/5PP1/2RQK2R w - - 1 0j  !   $$2001.??.???172b1r2r/2q1p1kn/pN1pPp2/P2P1RpQ/3p4/3B4/1P4PP/R6K w - - 1 0c  !  u ""2001.??.???175n2/2B4k/ppb3p1/2p2N1p/P1r5/7P/1P4P1/4R1K1 w - - 1 0_  !  m !!2000.??.???17k7/4rp1p/p1q3p1/Q1r2p2/1R6/8/P5PP/1R5K w - - 1 0l  !     2000.??.???n172r1n1k1/1q1r1p1p/pp1ppBp1/8/P1P2PP1/1P1R3Q/7P/5RK1 w - - 1 0l  !   2000.??.???172r2b1k/p2Q3p/b1n2PpP/2p5/3r1BN1/3q2P1/P4PB1/R3R1K1 w - - 1 0a !  q 2000.??.???17r3rnk1/pp6/1q3B1p/3pP2Q/8/8/PP4PP/1B3b1K w - - 1 0V !  [ 2000.??.???178/7p/4Nppk/R7/6PP/3n2K1/Pr6/8 w - - 1 0o !    kh2000.??.???17r3rk2/5pn1/pb1nq1pR/1p2p1P1/2p1P3/2P2QN1/PPBB1P2/2K4R w - - 1 0c !  u SP2000.??.???175rn1/1q1r3k/7p/3N1p2/P1p1pP2/2Q5/1P4RP/6RK w - - 1 0p !   A@o1999.??.???17r2q1r2/pppb1pkn/3p1np1/3Pp3/2P1P1PB/2N3P1/PP1QB3/R3K2R w KQ - 1 0] !  i 201999.??.???17Q7/1R5p/2kqr2n/7p/5Pb1/8/P1P2BP1/6K1 w - - 1 0g !  } 1999.??.???n17r2r2k1/p3bppp/3p4/q2p3n/3QP3/1P4R1/PB3PPP/R5K1 w - - 1 0p !    1999.??.???17r1bqr1k1/pp3pbR/2n1p1p1/4PnN1/2Bp1P2/2N4Q/PP4P1/R1B1K3 w Q - 1 0\ !  g 1999.??.???"174R3/p2r1q1k/5B1P/6P1/2p4K/3b4/4Q3/8 w - - 1 0k !   1999.??.???172r4b/pp1kprNp/3pNp1P/q2P2p1/2n5/4B2Q/PPP3R1/1K1R4 w - - 1 0f~ !  { 1999.??.???172n2rk1/5p1p/6p1/1pQ5/2q5/2N1B1P1/1b3P1P/4R1K1 w - - 1 0^} !  k 1999.??.???176k1/3q1ppp/p2r4/1p6/4Q3/8/PPP3PP/3R3K w - - 1 0e| !  y qp1999.??.???17r4k2/6pp/p1n1p2N/2p5/1q6/6QP/PbP2PP1/1K1R1B2 w - - 1 0o{ !    RP1999.??.???17r3kb1r/1p3ppp/p1n2n2/4p1N1/2B3b1/1P2P3/P4PPP/RNBR2K1 w kq - 1 0dz !  w ;81998.??.???17r2q3k/ppb3pp/2p1B3/2P1RQ2/8/6P1/PP1r3P/5RK1 w - - 1 0ry !   1998.??.???172rq1r1k/1b2bp1p/p1nppp1Q/1p3P2/4P1PP/2N2N2/PPP5/1K1R1B1R w - - 1 0fx !  {   1998.??.???173r1k2/r1q2p1Q/pp2B3/4P3/1P1p4/2N5/P1P3PP/5R1K w - - 1 0ow !      1998.??.???17r1b2rk1/pp2b1pp/q3pn2/3nN1N1/3p4/P2Q4/1P3PPP/RBB1R1K1 w - - 1 0av !  s   /1998.??.???177k/1ppq4/1n1p2Q1/1P4Np/1P3p1B/3B4/7P/rn5K w - - 1 0fu !  {   1998.??.???172r1r3/p5q1/1p2k1p1/4p2p/2P5/1P1QR1P1/P6P/5RK1 w - - 1 0nt !    1998.??.???171r1rb3/p1q2pkp/Pnp2np1/4p3/4P3/Q1N1B1PP/2PRBP2/3R2K1 w - - 1 0es !  y 1998.??.???173Rrk2/1p1R1pr1/2p1p2Q/2q1P1p1/5P2/8/1PP5/1K6 w - - 1 0rr !   f`1998.??.???17r1bqrnk1/ppp3pp/2nbpp2/3pN2Q/3P1P2/2PBP1B1/PP4PP/RN2K2R w KQ - 1 0`q !  o QP1998.??.???174B3/6R1/1p5k/p2r3N/Pn1p2P1/7P/1P3P2/6K1 w - - 1 0bp !  s =81998.??.???17r3Rnkr/1b5p/p3NpB1/3p4/1p6/8/PPP3P1/2K2R2 w - - 1 0jo !   1998.??.???174q2r/5npr/1R1Qpkb1/3p1pR1/2pP1P1P/2P1KB2/2P3N1/8 w - - 1 0en !  y 1998.??.???V173R4/p1r3rk/1q2P1p1/5p1p/1n6/1B5P/P2Q2P1/3R3K w - - 1 0]m !  i 1998.??.???174rk2/p5p1/1p2P2N/7R/nP5P/5PQ1/b6K/q7 w - - 1 0jl !   1998.??.???17rnbqr1k1/ppp3p1/4pR1p/4p2Q/3P4/B1PB4/P1P3PP/R5K1 w - - 1 0ek !  y 1998.??.???172r3r1/7p/b3P2k/p1bp1p1B/P2N1P2/1P4Q1/2P4P/7K w - - 1 0fj !  { 1998.??.???17r1b2rk1/1p3ppp/p2p4/3NnQ2/2B1R3/8/PqP3PP/5RK1 w - - 1 0 &/b 5 f ; s &R$F~[Pa4 !  s NN2005.??.???17q2rrk2/1b4pQ/p7/3pP3/1b3P2/3B3R/6PP/2R3K1 w - - 1 0g3 !  } MM2005.??.???171r2r2k/5p1p/ppbp1P1B/5PR1/2P3Rp/3n4/PP1N3P/6K1 w - - 1 0a2 !  q LL2005.??.???=17b5r1/2r5/2pk4/2N1R1p1/1P4P1/4K2p/4P2P/R7 w - - 1 0`1 !  o KK2005.??.???17b3n1k1/5pP1/2N5/pp1P4/4Bb2/qP4QP/5P1K/8 w - - 1 0c0 !  u JJ2005.??.???17r2r2k1/1q2bpB1/pp1p1PBp/8/P7/7Q/1PP3PP/R6K w - - 1 0f/ !  { IqIp2005.??.???17r3k2r/pR2ppbp/2p2np1/8/4N3/3PB1QP/q4PP1/5RK1 w kq - 1 0`. !  q HcH`j2005.??.???177k/2R5/pp1p1r1p/3B1P2/P1n3pN/2p5/1b5P/7K w - - 1 0f- !  { GGG@2005.??.???171rb2k2/1pq3pQ/pRpNp3/P1P2n2/3P1P2/4P3/6PP/6K1 w - - 1 0m, !   F%F 2005.??.???D17rn1r4/pp2p1b1/5kpp/q1PQ1b2/6n1/2N2N2/PPP3PP/R1B2RK1 w - - 1 0^+ !  k EE2005.??.???H175b2/8/2p1b3/2p1Pp2/p1P2P2/k1B5/1NK5/8 w - - 1 0W* !  ] DD2004.??.???174k3/4n3/3R2P1/7N/5P2/2r5/5K2/8 w - - 1 0e) !  y BB2004.??.???17r3b3/4R3/2p3p1/pp1k2Np/4NP2/P5P1/1PP4P/2K2n2 w - - 1 0`( !  o AA2004.??.???173kr3/p1r1bR2/4P2p/1Qp5/3p3p/8/PP4PP/6K1 w - - 1 0b' !  s @@2004.??.???$173br3/pp2r3/2p4k/4N1pp/3PP3/P1N5/1P2K3/6RR w - - 1 0h& !   ??2004.??.???D17r3n2R/pp2n3/3p1kp1/1q1Pp1N1/6P1/2P1BP2/PP6/2KR4 w - - 1 0p% !   >r>pf2004.??.???17r1b1nn1k/p3p1b1/1qp1B1p1/1p1p4/3P3N/2N1B3/PPP3PP/R2Q1K2 w - - 1 0`$ !  q =a=`&2004.??.???171r2r1k1/5p2/5Rp1/4Q2p/P2B2qP/1NP5/1KP5/8 w - - 1 0`# !  q 171n1N2rk/2Q2pb1/p3p2p/Pq2P3/3R4/6B1/1P3P1P/6K1 w - - 1 0]X !  k v#v 82008.??.???=173R4/1r3pkp/3Np1bp/n3P3/2B5/7P/6P1/6K1 w - - 1 0hW !   u u2008.??.???;<172r1k3/3n1p2/6p1/1p1Qb3/1B2N1q1/2P1p3/P4PP1/2KR4 w - - 1 0dV !  y ss/2008.??.???9:17b3r1k1/p4RbN/P3P1p1/1p6/1qp4P/4Q1P1/5P2/5BK1 w - - 1 0mU !   rr2008.??.???7817r1r2k1b/pp1n1p1p/4p2P/2Pp4/2P3Q1/BP2P3/P2N1PP1/R3K3 w Q - 1 0lT !   qq2008.??.???5617q1r2b1k/rb4np/1p2p2N/pB1n4/6Q1/1P2P3/PB3PPP/2RR2K1 w - - 1 0eS !  { pp82008.??.???34175rk1/4Rp1p/1q1pBQp1/5r2/1p6/1P4P1/2n2P2/3R2K1 w - - 1 0eR !  y opop2007.??.???1217r2k1r2/3b2pp/p5p1/2Q1R3/1pB1Pq2/1P6/PKP4P/7R w - - 1 0dQ !  y nVnP/2007.??.???0172k5/1b1r1Rbp/p3p3/Bp4P1/3p1Q1P/P7/1PP1q3/1K6 w - - 1 0bP !  s m@m@2007.??.???/173rbk2/2q2p2/p4P1p/1p6/4BP2/P6P/1P1Q3K/6R1 w - - 1 0[O !  e l:l82007.??.???".176k1/6p1/4R2p/5R2/1P3PK1/5QP1/6rq/8 w - - 1 0dN !  w kk2007.??.???174N1k1/1p2qrb1/p1p1np2/2P5/8/4B3/Pp5Q/1K1R3R w - - 1 0gM !  } jj2007.??.???_-171r4k1/1r2ppb1/4bPp1/3pP3/2qB2P1/p7/1PP4Q/2KR3R w - - 1 0bL !  s hh2007.??.???+,172q1b1k1/p5pp/n2R4/1p2P3/2p5/B1P5/5QPP/6K1 w - - 1 0kK #   gg 2007.??.???*172q1rb1k/prp3pp/1pn1p3/5p1N/2PP3Q/6R1/PP3PPP/R5K1 w - - 1 0_J !  m ff2007.??.???[)175rk1/2R4p/3QP1p1/3p4/4p3/1P5P/q7/2R3K1 w - - 1 0fI !  } ee 2007.??.???'(171R4nr/p1k1ppb1/2p4p/4Pp2/3N1P1B/8/q1P3PP/3Q2K1 w - - 1 0WH !  ] dd2007.??.???%&178/pR6/2rp4/2k5/4Q3/5P2/q1PK4/8 w - - 1 0gG !  } cc2007.??.???#$171r4k1/5bp1/pr1P2p1/1np1p3/2B1P2R/2P2PN1/6K1/R7 w - - 1 0aF !  s bkbh/2007.??.???177k/1p2b2p/1qp2r2/p3pPQ1/8/P2P3P/1P4B1/6RK w - - 1 0aE !  s aRaP/2007.??.???!"17r3r1k1/7p/2pRR1p1/p7/2P5/qnQ1P1P1/6BP/6K1 w - - 1 0hD !   `6`02007.??.??? 17r1b4r/1k2bppp/p1p1p3/8/Np2nB2/3R4/PPP1BPPP/2KR4 w - - 1 0^C !  k __2007.??.???D173rk2b/5R1P/6B1/8/1P3pN1/7P/P2pbP2/6K1 w - - 1 0aB !  q ^^2006.??.???174r2k/2pb1R2/2p4P/3pr1N1/1p6/7P/P1P5/2K4R w - - 1 0bA !  s \\2006.??.???173r4/p1rk4/1p2p1q1/3PQp2/5P2/2P3PR/3K4/2R5 w - - 1 0b@ !  s [[2006.??.???173RQn2/2r1q1k1/4Bppp/3p3P/3p4/4P1P1/5PK1/8 w - - 1 0r? !   ZZ2006.??.???17r1b1kb1r/1p1n1p2/p1n1N2p/4P1p1/q3N2B/8/P1PQB1PP/1R2K2R w Kkq - 1 0`> !  o YY2006.??.???176k1/p1q3pp/7P/1p3P2/4N1P1/3P1K2/4Q3/2b5 w - - 1 0`= !  o XqXp2006.??.???17r2Q1q1k/pp5r/4B1p1/5p2/P7/4P2R/7P/1R4K1 w - - 1 0[< !  e WmWh2006.??.???172q4r/R7/5p1k/2BpPn2/6Qp/6PN/5P1K/8 w - - 1 0d; !  w VNVH2006.??.???173q1r2/p2nr3/1k1NB1pp/1Pp5/5B2/1Q6/P5PP/5RK1 w - - 1 0c: !  u U=U82006.??.???171r2r3/2p2p2/5Bpk/3pP1Rp/pp3P1Q/7P/qPP3PK/8 w - - 1 0h9 !   TT2006.??.???174r1k1/pp1q3p/2n1NBb1/3pP1Q1/2pP2P1/2P2P2/5K2/7R w - - 1 0\8 !  g SS2006.??.???175q2/7k/1Q3B1p/1P3P2/2P5/1KN2p2/8/r7 w - - 1 0i7 !   RR/2006.??.???  173r1k2/1pr2pR1/p1bq1n1Q/P3pP2/3pP3/3P4/1P2N2P/6RK w - - 1 0l6 !   PP2006.??.???  17r1bq1r1k/pp4pp/2pp4/2b2p2/4PN2/1BPP1Q2/PP3PPP/R4RK1 w - - 1 0e5 !  y OO2005.??.??? 175rkr/1p2Qpbp/pq1P4/2nB4/5p2/2N5/PPP4P/1K1RR3 w - - 1 0 ;u I ~  E  L*Y(^^w   o ]2013.31.7?no178/p2pQ2p/2p1p2k/4Bqp1/2P2P2/P6P/6PK/3r4 w - - 1 0\v   k ]2013.26.7?lm177k/1R6/5pP1/1p1Np3/1P2P3/6r1/2PK4/5b2 w - - 1 0hu    ]2013.24.7?jk17b1r3k1/pq2b1r1/1p3R1p/5Q2/2P5/P4N1P/5PP1/1B2R1K1 w - - 1 0dt   y hh2013.25.5?hi17k7/p1Qnr2p/b1pB1p2/3p3q/N1p5/3P3P/PPP3P1/6K1 w - - 1 0^s   o YX/2013.17.3?fg173R4/r6p/Pkp1N1p1/3p1n2/1P3P2/2P2K2/7P/8 w - - 1 0fr   } A@2013.13.1?ey17rnb1qr2/ppp1Nkp1/3p4/4P1B1/7Q/5N2/PPP3PP/R3K2n w Q - 1 0iq    ' /2012.7.10?cd17r2qr3/p4pk1/1pp3p1/n1Pp2P1/3P1Q2/1P1B4/P4PK1/2R4R w - - 1 0bp   u 2012.16.6?ab175rk1/p1pQ3R/1p4pp/2q1b3/8/2pB3P/PP2N1P1/7K w - - 1 0]o   o :2012.7.3?`173Q4/p4p2/4p1bk/4P2p/1p2P2B/7P/6PK/1Brq4 w - - 1 0_n !  m 2011.??.???^_176r1/r5PR/2p3R1/2Pk1n2/3p4/1P1NP3/4K3/8 w - - 1 0]m !  i 2011.??.???_]173k4/2p1q1p1/8/1QPPp2p/4Pp2/7P/6P1/7K w - - 1 0]l !  i 2011.??.???\178/ppp5/6Np/7k/8/1Br1nP1n/P4B1P/1K4R1 w - - 1 0jk !   2010.??.???Z[173rk2r/pQR1np1p/1n4p1/8/3PN2b/1B1qB2P/P4PP1/4K2R w Kk - 1 0gj !  } 2010.??.???XY173r1r2/ppb1qBpk/2pp1R1p/7Q/4P3/2PP2P1/PP4KP/5R2 w - - 1 0`i !  o qp2010.??.???VW178/5Q2/p1nq3k/1p4pp/1Pn2PP1/P6B/5N1P/6K1 w - - 1 0\h !  i b`/2010.??.???TU17r4rk1/3R3p/1q2pQp1/p7/P7/8/1P5P/4RK2 w - - 1 0mg !   982010.??.???RS172rr2k1/1b1q2p1/p2Pp1Qp/1pn1P2P/2p5/8/PP3PP1/1BR2RK1 w - - 1 0ef !  y )(2010.??.???QM17r6r/1p2pp1k/p1b2q1p/4pP2/6QR/3B2P1/P1P2K2/7R w - - 1 0^e !  k 2010.??.???OP174kq1Q/p2b3p/1pR5/3B2p1/5Pr1/8/PP5P/7K w - - 1 0bd !  s 2010.??.???MN173r2kq/1p2r3/3p1R2/p4Q2/2Pp4/6P1/PPB2PK1/8 w - - 1 0cc !  w /2009.??.???KL175r1k/1q4b1/p1b3Qp/1pPNp3/1P2p3/PB5R/6PP/6K1 w - - 1 0bb !  s 2009.??.???IJ176k1/pR2p2p/q5p1/3P1p2/6b1/5N2/5PPP/B2B2K1 w - - 1 0ea !  y 2009.??.???H17b4rk1/6p1/4p1N1/q3P1Q1/1p1R4/1P5r/P4P2/3R2K1 w - - 1 0\` !  i ~~O2009.??.???VG174Q3/p2r2pk/1n5p/8/8/5N1P/q4PP1/4R1K1 w - - 1 0`_ !  o }}2009.??.???4173r1b1k/1p3R2/7p/2p4N/p4P2/2K3R1/PP6/3r4 w - - 1 0`^ !  q ||82009.??.???EF177k/1pqr2p1/1R2Q2p/r2p4/6R1/4P2P/5PP1/6K1 w - - 1 0f] !  } {l{h82009.??.???D173r1q1r/1p4k1/1pp2pp1/4p3/4P2R/1nP3PQ/PP3PK1/7R w - - 1 0Y\ !  c z_zX82008.??.???C3178/8/p3B1bk/b1P3pp/3QP3/1KN3q1/8/8 w - - 1 0pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-greek-gift_by_arex_2017.02.11.sqlite0000644000175000017500000026000013441162535031330 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) S)learn/puzzles/lichess_study_lichess-practice-greek-gift_by_arex_2017.02.11.pgn   %Qhttps://lichess.org/study/s5pLU7Of %Q https://lichess.org/study/s5pLU7Of Ahttps://lichess.org/@/arex A https://lichess.org/@/arex R?Lichess Practice: Greek Gift: Defend against the Greek Gift8wLichess Practice: Greek Gift: Greek Gift Challenge #48wLichess Practice: Greek Gift: Greek Gift Challenge #38wLichess Practice: Greek Gift: Greek Gift Challenge #28wLichess Practice: Greek Gift: Greek Gift Challenge #18wLichess Practice: Greek Gift: Greek Gift Introduction S@Lichess Practice: Greek Gift: Defend against the Greek Gift9wLichess Practice: Greek Gift: Greek Gift Challenge #49wLichess Practice: Greek Gift: Greek Gift Challenge #39wLichess Practice: Greek Gift: Greek Gift Challenge #29wLichess Practice: Greek Gift: Greek Gift Challenge #18w Lichess Practice: Greek Gift: Greek Gift Introduction  20180221  C- ^     0?r1b2rk1/ppqn1ppB/4p3/2pnP3/1p1P4/5N2/PP1N1PPP/R2Q1RK1 b - - 0 12[    p p0?3r1rk1/bpq2ppp/p1b1p3/2P5/1P2B3/P4Q2/1B3PPP/2R2RK1 w - - 3 18\     0?r2qrbk1/5ppp/pn1p4/np2P1P1/3p4/5N2/PPB2PP1/R1BQR1K1 w - - 1 20Y    0?r3r1k1/1b2qppp/p7/1p1Pb3/1P6/P2B4/1B2Q1PP/3R1RK1 w - - 0 21]     0?rnb2rk1/pp1nqppp/4p3/3pP3/3p3P/2NB3N/PPP2PP1/R2QK2R w KQ - 0 10\    0?rnbq1rk1/pppn1ppp/4p3/3pP3/1b1P4/2NB1N2/PPP2PPP/R1BQK2R w KQq - 0 1           p    p               qZJ,pW@0 Opening?UTCTime09:53:53!UTCDate2017.02.12##Termination+400cp in 4Opening?UTCTime12:48:30!UTCDate2017.02.11##Termination+290cp in 5Opening?UTCTime11:59:04!UTCDate2017.02.11 ##Termination+340cp in 6 Opening? UTCTime12:30:09 !UTCDate2017.02.11 ##Termination+260cp in 6Opening?UTCTime14:35:48!UTCDate2017.02.11#Terminationmate in 7  Opening? UTCTime11:16:11 !UTCDate2017.02.11 ##Termination+370cp in 4pychess-1.0.0/learn/puzzles/mansfield.olv0000644000175000017500000232555613365545272017575 0ustar varunvarun--- authors: - Mansfield, Comins source: The Good Companion Chess Problem Club date: 1914-04 distinction: 1st Prize algebraic: white: [Ka8, Qh8, Rb8, Ba2, Sc5, Sa4] black: [Kc4, Rd3, Rb3, Be1, Pd5] stipulation: "#2" solution: | "1.Sc5-d7 ! threat: 2.Sa4-b2 # 1...Be1-c3 2.Ba2*b3 # 1...Rd3-d2 2.Qh8-c3 # 1...Rd3-d4 2.Sd7-e5 # 1...d5-d4 2.Qh8-g8 #" --- authors: - Mansfield, Comins source: The Hampshire Telegraph and Post date: 1914-01 algebraic: white: [Kh3, Rg4, Rd1, Be7, Ba4, Sd6, Sd2, Pf2, Pc6, Pc4, Pb7, Pa5, Pa3] black: [Kc5, Re5, Bd5, Sa1, Ph4, Pf3] stipulation: "#2" solution: | "1.Rg4-g5 ! zugzwang. 1...Sa1-c2 2.Sd2-b3 # 1...Sa1-b3 2.Sd2*b3 # 1...Kc5-d4 2.Sd2-e4 # 1...Bd5*c4 2.Sd2-e4 # 1...Bd5-e4 2.Sd2*e4 # 1...Bd5-g8 2.Sd2-e4 # 1...Bd5-f7 2.Sd2-e4 # 1...Bd5-e6 + 2.Sd6-f5 # 1...Bd5*c6 2.Sd6-b5 # 1...Re5-e1 2.Rg5*d5 # 1...Re5-e2 2.Rg5*d5 # 1...Re5-e3 2.Rg5*d5 # 1...Re5*e7 2.Rg5*d5 # 1...Re5-e6 2.Rg5*d5 # 1...Re5*g5 2.Sd6-f5 # 1...Re5-f5 2.Sd6*f5 # 1...Re5-e4 2.Rg5*d5 # 2.Sd2*e4 #" keywords: - Flight giving key - Black correction - Goethart --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1915-11 algebraic: white: [Ka6, Qe6, Rh1, Rb3, Bh7, Bb2, Sc1, Sa1, Pb4] black: [Kb1, Qf5, Ba3, Pe5, Pd4] stipulation: "#2" solution: | "1.Rb3-g3 ! threat: 2.Qe6-a2 # 1...Qf5-d3 + 2.Sc1*d3 # 1...Qf5-g6 2.Sc1-d3 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: The Hampshire Telegraph and Post date: 1915 distinction: 2nd Prize, ex aequo algebraic: white: [Kf6, Qa5, Rc1, Ra8, Bh3, Bb8, Se5, Sd7, Pa6] black: [Kc8, Qc2, Rb3, Rb2, Bh1, Sb5] stipulation: "#2" solution: | "1...Qc2-c3 2.Sd7-f8 # 1...Sb5-c3 2.Qa5-c7 # 1.Se5-f7 ! threat: 2.Sd7-b6 # 2.Qa5-d8 # 1...Qc2-c6 + 2.Bb8-d6 # 1...Qc2-c3 + 2.Sd7-e5 # 1...Rb3-f3 + 2.Bb8-f4 #" keywords: - Transferred mates --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1916 algebraic: white: [Ka8, Qa6, Rb8, Be8, Ba7, Sf2] black: [Kg1, Rh1, Ph2, Pb7] stipulation: "#2" solution: | "1.Be8-c6 ! threat: 2.Rb8-g8 # 2.Qa6-a1 # 2.Sf2-h3 # 1...b7-b5 2.Qa6-a1 # 1...b7-b6 2.Sf2-h3 # 1...b7*c6 2.Rb8-g8 # 1...b7*a6 2.Rb8-b1 #" keywords: - Flight taking key - Pickaninny - Fleck - Karlstrom-Fleck --- authors: - Mansfield, Comins source: The Good Companion Chess Problem Club date: 1916-12 distinction: 2nd Prize algebraic: white: [Ka7, Qb3, Rh2, Rf6, Bh4, Bh1, Sc5, Sb5, Pg4, Pe6] black: [Ke5, Qh7, Rg6, Be8, Ba1, Sg7, Ph6, Pg2, Pd7] stipulation: "#2" solution: | "1.Rf6-f2 ? threat: 2.Bh4-g3 # but 1...g2*h1=S ! 1.Rf6-f3 ? threat: 2.Bh4-g3 # but 1...g2-g1=Q ! 1.Rf6-f1 ! threat: 2.Bh4-g3 # 1...g2-g1=Q 2.Qb3-d5 # 1...g2*h1=S 2.Rh2-e2 # 1...g2*f1=Q 2.Qb3-e3 # 1...g2*f1=S 2.Sc5-d3 # 1...Rg6*g4 2.Bh4-f6 # 1...Rg6-f6 2.Bh4*f6 # 1...Sg7*e6 2.Rf1-f5 # 1...Sg7-f5 2.Rf1*f5 # 1...Sg7-h5 2.Rf1-f5 #" --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1917 algebraic: white: [Ka5, Qa8, Re1, Rc6, Bg2, Sf5, Sb8, Pg3, Pf3] black: [Kd5, Rh4, Bf8, Sh8, Sf1, Pe7, Pe4, Pa4] stipulation: "#2" solution: | "1.Ka5-b6 ? threat: 2.Qa8-a5 # 1...e7-e6 2.Rc6-c5 # but 1...e7-e5 ! 1.Qa8-a6 ? threat: 2.Qa6-b5 # 1...e7-e5 2.Qa6-c4 # but 1...e7-e6 ! 1.Ka5-b4 ! threat: 2.Qa8-a5 # 1...e7-e5 + 2.Rc6-d6 # 1...e7-e6 + 2.Rc6-c5 # 1...e4-e3 + 2.f3-f4 # 1...e4*f3 + 2.Rc6-c4 #" --- authors: - Mansfield, Comins source: Good Companion, Meredith Ty date: 1918-11 distinction: 1st HM algebraic: white: [Kg2, Qd4, Ra2, Ba4, Sd3] black: [Ke2, Qa6, Bd2, Sb2, Pc6, Pa5, Pa3] stipulation: "#2" solution: | "1.Sd3-c5 ! threat: 2.Qd4-f2 # 1...Sb2-d1 2.Qd4*d2 # 1...Sb2-d3 2.Qd4-e4 # 1...Sb2*a4 2.Qd4*d2 # 1...Bd2-e1 2.Ba4-d1 # 1...Bd2-e3 2.Qd4-d1 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: The Pittsburgh Gazette Times, Densmore MT 1918-20 source-id: 3135 date: 1918-11-03 distinction: 2nd Prize algebraic: white: [Kf7, Qb5, Rh4, Rh3, Bf4, Sb6, Ph6, Pe3, Pd6, Pd4, Pb4] black: [Ke4, Sf5, Pg7, Pe7] stipulation: "#2" solution: | "1.Qb5-f1 ! threat: 2.Qf1-b1 # 1...Sf5*d4 2.Bf4-h2 # 1...Sf5*e3 2.Bf4*e3 # 1...Sf5-g3 2.Bf4-g5 # 1...Sf5*h6 + 2.Bf4*h6 # 1...Sf5*d6 + 2.Bf4*d6 #" keywords: - Battery play --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1918 algebraic: white: [Kh6, Qg6, Rf7, Rd6, Bg2, Ba5, Pa7] black: [Kc7, Qb6, Rh1, Rc8, Be8, Bd8, Sd7, Sa8, Ph5, Pe7] stipulation: "#2" solution: | "1.Rd6-d1 ! threat: 2.Qg6-c6 # 1...Sd7-c5 {(S~ )} 2.Qg6-d6 # 1...Sd7-f6 2.Qg6-g3 # 1...e7-e6 2.Qg6-c2 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Good Companions Meredith Ty. date: 1919 distinction: 5th Prize algebraic: white: [Ke6, Qc6, Rb8, Ra2, Sb4, Pa4] black: [Kb3, Qa3, Pc3] stipulation: "#2" solution: | "1.Qc6-e4 ! zugzwang. 1...Qa3-c1 2.Qe4-d5 # 1...Qa3-b2 2.Qe4-d5 # 1...Qa3*b4 2.Qe4-d5 # 1...Qa3*a2 2.Sb4-c2 # 1...Qa3*a4 2.Qe4-d5 # 1...Kb3*a4 2.Sb4-c6 # 1...c3-c2 2.Qe4*c2 #" keywords: - Flight giving key - Black correction --- authors: - Mansfield, Comins source: The Good Companion Chess Problem Club date: 1919-12 algebraic: white: [Ka6, Qe6, Ra4, Bh1, Bb2, Sg4, Sd1, Pg3, Pc2] black: [Ke4, Rf3, Bd4, Sg2, Sc4, Ph7, Pe5, Pd5, Pc5, Pb6] stipulation: "#2" solution: | "1.Sd1-e3 ? {display-departure-square} threat: 2.Qe6*d5 # 1...Sc4*e3 2.Qe6*e5 # 1...Bd4*e3 2.Qe6*e5 # but 1...Rf3*e3 ! 1.Sg4-e3 ! {display-departure-square} threat: 2.Qe6*d5 # 1...Sg2-f4 2.Qe6-f5 # 1...Sg2*e3 2.Sd1-f2 # 1...Rf3*e3 2.Qe6-g4 # 1...Rf3*g3 2.Qe6-f5 # 1...Sc4*e3 2.Sd1-c3 # 1...Bd4*e3 2.Qe6*e5 #" keywords: - Active sacrifice - Defences on same square --- authors: - Mansfield, Comins source: Surrey Mirror date: 1920 algebraic: white: [Kd1, Qh6, Re2, Rd3, Sg8, Se3, Pg6] black: [Ke6, Qb5, Ra7, Bb4, Pg5, Pf6, Pf5, Pd7, Pd2, Pc4, Pa6, Pa5] stipulation: "#2" solution: | "1...Qb5-a4 + 2.Se3-c2 # 1...Ke6-e5 2.Se3-g2 # 1.Qh6-g7 ! threat: 2.Qg7*f6 # 1...Qb5-a4 + 2.Se3-c2 # 1...Ke6-e5 2.Se3-g2 # 1...Bb4-c3 2.Qg7-e7 # 1...Bb4-e7 2.Qg7*e7 # 1...Qb5-e5 2.Qg7-f7 # 1...d7-d5 2.Se3*c4 # 1...d7-d6 2.Se3-d5 #" --- authors: - Mansfield, Comins source: Good Companion, 8th American Chess Problem Congress Ty date: 1921-07-09 distinction: 2nd Prize, ex aequo algebraic: white: [Kb3, Qe3, Rg8, Rf1, Bb1, Se8, Sc2, Pd4] black: [Kf5, Rh3, Re5, Bc1, Sf4, Sf2, Ph6, Pe6, Pd5] stipulation: "#2" solution: | "1.Qe3-g3 ! threat: 2.Sc2-e3 # 1...Sf2-e4 2.Qg3*h3 # 1...Sf2-d3 2.Qg3-g6 # 1...Sf4-d3 2.Qg3-g4 # 1...Re5-e4 2.Rg8-f8 # 1...Kf5-e4 2.Se8-d6 #" keywords: - Flight giving key - Defences on same square - Levman --- authors: - Mansfield, Comins source: Haagsche Post date: 1921 algebraic: white: [Kg6, Qh1, Rf4, Rb6, Bd7, Ba7, Sf3, Sa2, Pc2, Pb7] black: [Kc4, Bc3, Se4, Sd4, Pf5, Pd6, Pd5] stipulation: "#2" solution: | "1.Qh1-h8 ! zugzwang. 1...Bc3-a1 {(B~ )} 2.Rb6-b4 # 1...Bc3-e1 {(B~ )} 2.Qh8*d4 # 1...Kc4-c5 2.Rb6-b4 # 1...Sd4-b3 {(Sd~ )} 2.Qh8*c3 # 1...Sd4-e2 2.Qh8-c8 # 1...Sd4-b5 2.Rb6-c6 # 1...Se4-d2 {(Se~ )} 2.Qh8-c8 # 1...Se4-c5 2.Bd7-b5 #" keywords: - Half-pin --- authors: - Mansfield, Comins source: In Tramway (Lo Scacchista) date: 1921-01-22 algebraic: white: [Kg5, Qf7, Re1, Bb1, Sf3, Sc7, Pf2, Pc2] black: [Ke4, Re3, Be2, Sg2, Sc8, Pg6, Pe6, Pd5] stipulation: "#2" solution: | "1.Sc7-b5 ! zugzwang. 1...Be2-d1 2.Sb5-c3 # 1...Be2-f1 2.Sb5-c3 # 1...Be2*f3 2.Qf7*e6 # 1...Be2*b5 2.c2-c4 # 1...Be2-c4 2.Sb5-c3 # 1...Sg2*e1 {(Sg~ )} 2.Qf7-f4 # 1...Re3-a3 2.c2-c3 # 1...Re3-b3 2.c2*b3 # 1...Re3-c3 2.Sb5*c3 # 1...Re3-d3 2.c2*d3 # 1...Re3*f3 2.Qf7*e6 # 1...d5-d4 2.Qf7-b7 # 1...e6-e5 2.Sf3-d2 # 1...Sc8-a7 {(Sc~ )} 2.Sb5-d6 # 1...Be2-d3 2.Sb5-c3 # 2.c2*d3 #" keywords: - Active sacrifice - Black correction - Albino --- authors: - Mansfield, Comins source: The Brisbane Courier source-id: 2401 date: 1922-04-29 distinction: 3rd Prize algebraic: white: [Kg1, Qh1, Re1, Bf8, Ba2, Sf3, Sd4] black: [Kd5, Qb6, Rc5, Bb4, Ba8, Pf6, Pd7, Pd3, Pc7, Pc3, Pb3, Pa5] stipulation: "#2" solution: | "1...Rc5-b5 2.Ba2*b3 # 1...Kd5-c4 2.Ba2*b3 # 1.Sd4*b3 ! threat: 2.Sf3-d2 # 1...Rc5-c4 + 2.Sf3-d4 # 1...Rc5-b5 + 2.Sb3-d4 # 1...Rc5-c6 + 2.Sb3-c5 # 1...Kd5-c4 2.Sb3-d4 # 1...Kd5-c6 2.Sf3-d4 # 1...Qb6-e6 2.Sf3-e5 #" keywords: - Flight giving key - Black correction - Switchback - Battery play --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1922 distinction: 2nd Prize algebraic: white: [Kg8, Qc4, Rg3, Rf1, Bc3, Ph4, Pg2, Pe5] black: [Kf5, Bh6, Sf4, Sf2, Pg7] stipulation: "#2" solution: | "1...Sf2-e4 2.Qc4-c8 # 1.Rg3-g6 ! zugzwang. 1...Sf2-d1 {(S2~ )} 2.Qc4-d3 # 1...Sf2-e4 2.Qc4-e6 # 1...Sf4-d3 {(S4~ )} 2.Qc4-g4 # 1...Sf4*g6 2.g2-g4 # 1...Kf5*g6 2.Qc4-f7 # 1...Bh6-g5 2.Rg6*g5 #" keywords: - Flight giving key - Active sacrifice - Black correction - Changed mates --- authors: - Mansfield, Comins source: The Chess Amateur date: 1922 algebraic: white: [Ka2, Qc7, Bd3, Pd4, Pc3, Pa4] black: [Kd5, Ra6, Ba7, Pe6, Pe5, Pa5] stipulation: "#2" solution: | "1.Ka2-a3 ! zugzwang. 1...e5-e4 2.Bd3-c4 # 1...e5*d4 2.c3-c4 # 1...Ra6-d6 2.Qc7-c4 # 1...Ra6-c6 2.Qc7*e5 # 1...Ra6-b6 2.Qc7-c5 # 1...Ba7*d4 2.c3-c4 # 1...Ba7-c5 + 2.Qc7*c5 # 1...Ba7-b6 2.Qc7-d7 # 1...Ba7-b8 2.Qc7-c5 #" keywords: - Black correction - Grimshaw - Mates on same square - Block --- authors: - Mansfield, Comins source: Bristol Observer date: 1923 algebraic: white: [Kh8, Qe4, Rh1, Re2, Ba3, Sf2, Sb2] black: [Kc1, Rg1, Ba2, Ba1, Ph2, Pb3] stipulation: "#2" solution: | "1.Kh8-h7 ! zugzwang. 1...Ba1*b2 2.Ba3*b2 # 1...Rg1-d1 2.Rh1*d1 # 1...Rg1-e1 2.Rh1*e1 # 1...Rg1-f1 2.Rh1*f1 # 1...Rg1*h1 2.Qe4*h1 # 1...Ba2-b1 2.Sb2-d3 #" keywords: - Mutate --- authors: - Mansfield, Comins source: Stroud News date: 1924 algebraic: white: [Kg4, Qe4, Ra1, Bc3, Sd2] black: [Kd1, Bc1, Sb1, Pa3, Pa2] stipulation: "#2" solution: | "1.Qe4-d3 ! zugzwang. 1...Sb1*d2 2.Qd3*d2 # 1...Sb1*c3 2.Sd2-f3 # 1...Bc1*d2 2.Qd3*d2 # 1...Bc1-b2 2.Sd2-b3 # 1...Kd1-e1 2.Qd3-f1 #" keywords: - Flight giving key - Black correction --- authors: - Mansfield, Comins source: The Grantham Journal Meredith Ty. date: 1926 distinction: Special HM algebraic: white: [Kd8, Qc7, Bd3, Sd5, Pc6, Pb2, Pa2] black: [Ka4, Ba7, Pg5, Pb7, Pa5] stipulation: "#2" solution: | "1.Qc7-d7 ! threat: 2.c6*b7 # 1...Ba7-b6 + 2.c6-c7 # 1...b7-b5 2.Bd3-c2 # 1...b7-b6 2.Qd7-g4 # 1...b7*c6 2.Qd7*c6 #" keywords: - Pickabish --- authors: - Mansfield, Comins source: The Falkirk Herald date: 1927 distinction: 1st Prize algebraic: white: [Kb6, Qd7, Rf4, Be1, Se4, Pf6] black: [Kc4, Qf3, Bd1, Sg3, Pc5, Pb3] stipulation: "#2" solution: | "1.Kb6-c6 ! threat: 2.Qd7-d5 # 1...Qf3-h5 2.Se4*g3 # 1...Qf3-c3 2.Se4-d2 # 1...Qf3-d3 2.Se4-d6 #" keywords: - B2 --- authors: - Mansfield, Comins source: T.T. British Chess Federation date: 1927 distinction: 2nd Prize algebraic: white: [Kf4, Qa7, Rd8, Bh1, Se4, Pf2, Pa4] black: [Kc6, Qb1, Sf5, Sa1, Pe3] stipulation: "#2" solution: | "1.Kf4-e5 ! threat: 2.Rd8-c8 # 1...Qb1*e4 + 2.Bh1*e4 # 1...Qb1-b8 + 2.Se4-d6 # 1...Qb1-b7 2.Qa7-c5 # 1...Qb1-b6 2.Qa7-d7 # 1...Qb1-b5 + 2.Se4-c5 # 1...Qb1-b2 + 2.Se4-c3 # 1...Sf5-e7 2.Rd8-d6 # 1...Sf5-d6 2.Rd8*d6 #" --- authors: - Mansfield, Comins source: Шахматы source-id: 8/599 date: 1928 distinction: 1st Prize, 2nd half-year algebraic: white: [Ka6, Qb8, Rh4, Bh1, Bg1, Se3, Sc6, Pc2] black: [Kc5, Qg7, Rg6, Be6, Bb6, Sg8, Se1, Pd7, Pb3, Pa5] stipulation: "#2" solution: | "1.Sc6-e5 ! threat: 2.Qb8*b6 # 1...Bb6-d8 2.Se3-g4 # 1...Bb6-c7 2.Qb8*c7 # 1...Be6-c4 + 2.Rh4*c4 # 1...Be6-d5 2.Se3-g2 # 1...Be6-h3 2.Rh4-c4 # 1...Be6-g4 2.Se3-d5 # 1...Be6-f5 2.Rh4-c4 # 1...Be6-f7 2.Se5*d7 # 1...Bb6-a7 2.Qb8-c7 # 2.Se3-g4 #" keywords: - Black correction comments: - 107 p.33, Album FIDE 1914-44/I --- authors: - Mansfield, Comins source: The Australian Meredith Ty. date: 1928 distinction: Comm. algebraic: white: [Kh1, Rf1, Ra3, Bd3, Bb6, Se4, Sb1, Pd4, Pc2, Pb5] black: [Ke3, Qa6] stipulation: "#2" solution: | "1.Se4-g3 ! threat: 2.Sg3-f5 # 1...Qa6*b5 2.Bd3*b5 # 1...Qa6-c8 2.Bd3-c4 # 1...Qa6-b7 + 2.Bd3-e4 # 1...Qa6-a8 + 2.d4-d5 #" --- authors: - Mansfield, Comins source: The Observer date: 1928 algebraic: white: [Kd1, Qg3, Ra5, Bb1, Sg8, Sd3] black: [Kf5, Rd5, Pd7, Pd6] stipulation: "#2" solution: | "1.Bb1-c2 ! zugzwang. 1...Rd5*a5 2.Sd3-c5 # 1...Rd5-b5 2.Sd3-c5 # 1...Rd5-c5 2.Sd3*c5 # 1...Rd5-e5 2.Sd3-f4 # 1...Kf5-e4 2.Qg3-f4 # 1...Kf5-e6 2.Qg3-g6 #" --- authors: - Mansfield, Comins source: The Evening Standard date: 1928 distinction: 1st Prize algebraic: white: [Kd1, Qb7, Re1, Bd8, Bb1, Sd5, Ph5, Pf3, Pc2] black: [Kf5, Qa4, Rd6, Pf4, Pd7, Pb4, Pa5] stipulation: "#2" solution: | "1.Qb7-b5 ! threat: 2.Qb5-d3 # 1...Qa4*c2 + 2.Bb1*c2 # 1...Qa4-b3 2.c2*b3 # 1...Qa4*b5 2.c2-c4 # 1...Qa4-a3 2.c2-c3 # 1...b4-b3 2.c2-c4 # 1...Rd6*d5 + 2.Qb5*d5 # 1...Rd6-f6 2.Sd5-e7 # 1...Rd6-e6 2.Sd5-e3 #" keywords: - Active sacrifice - B2 --- authors: - Mansfield, Comins source: The Evening Standard date: 1930 distinction: 1st Prize algebraic: white: [Kg1, Qg2, Rh5, Rd1, Bd3, Sf3, Sb8, Pf5, Pc5, Pb4] black: [Kd5, Ra6, Be4, Sd8, Pc7, Pb5] stipulation: "#2" solution: | "1.Sb8-c6 ! threat: 2.Sc6-e7 # 1...Be4*d3 2.Sf3-e5 # 1...Be4*f3 2.Qg2*f3 # 1...Be4*f5 2.Sf3-d4 # 1...Kd5*c6 2.Bd3*e4 # 1...Ra6*c6 2.Qg2-a2 # 1...Sd8*c6 2.Qg2-g8 #" keywords: - Flight giving key - Active sacrifice - Defences on same square - Mansfield-Schiffmann theme comments: - 342 p.72, Album FIDE 1914-44/I --- authors: - Mansfield, Comins source: L'Italia Scacchistica date: 1930 algebraic: white: [Kg7, Qd7, Re8, Rd1, Bc2, Ba7, Se5, Pf3, Pd2] black: [Ke2, Rb3, Ba8, Pf4, Pb2] stipulation: "#2" solution: | "1.Qd7-g4 ! threat: 2.Qg4-g2 # 1...Rb3-b7 + 2.Se5-d7 # 1...Rb3*f3 2.Se5-c6 # 1...Ba8*f3 2.Se5-d3 #" keywords: - Nietvelt --- authors: - Mansfield, Comins source: Brisbane Sports Referee date: 1930 distinction: 1st Prize algebraic: white: [Kc8, Qf5, Rd3, Ra1, Be8, Bd8, Sc1, Pa3] black: [Ka4, Bg2, Be1, Sb5, Pf3, Pc4, Pa6] stipulation: "#2" solution: | "1.Rd3-d1 ? {(Rd~ )}threat: 2.Qf5-c2 # but 1...Bg2-h3 ! 1.Rd3-d7 ! threat: 2.Qf5-c2 # 1...Sb5*a3 2.Rd7-b7 # 1...Sb5-c3 2.Qf5-a5 # 1...Sb5-d4 2.Rd7*d4 # 1...Sb5-d6 + 2.Rd7*d6 # 1...Sb5-c7 2.Rd7*c7 # 1...Sb5-a7 + 2.Rd7*a7 #" keywords: - Black correction --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1930 distinction: 1st Prize algebraic: white: [Kh3, Qb5, Rf1, Rc6, Bb1, Sf3, Pe3, Pd5, Pd4] black: [Kf5, Bh2, Be4, Sa2, Pg6, Pf6, Pb2] stipulation: "#2" solution: | "1.Qb5-d3 ? threat: 2.Qd3*e4 # 1...Be4*d3 2.Bb1*d3 # but 1...Sa2-c3 ! 1.Rc6-c2 ! threat: 2.Qb5-d7 # 1...Be4*c2 2.Bb1*c2 # 1...Be4-d3 2.Qb5*d3 # 1...Be4*f3 2.Rc2-g2 # 1...Be4*d5 2.Rc2-c6 # 1...g6-g5 2.Sf3-h4 #" keywords: - Active sacrifice - Black correction - Anti-reversal - Switchback comments: - 335 p.71, Album FIDE 1914-44/I --- authors: - Mansfield, Comins source: The Problemist date: 1930 algebraic: white: [Ke8, Qb1, Ra7, Bd6, Bb5, Pc4, Pb4] black: [Ka3, Qa6, Sa1, Pb7] stipulation: "#2" solution: | "1.Bb5-a4 ! threat: 2.Qb1*a1 # 1...Sa1-c2 2.Qb1-b3 # 1...Sa1-b3 2.Qb1*b3 # 1...Ka3*a4 2.Qb1-a2 # 1...Qa6*c4 2.Ba4-b5 # 1...Qa6-b5 + 2.Ba4*b5 # 1...Qa6*a4 + 2.b4-b5 # 1...Qa6*d6 2.Ba4-c6 # 1...Qa6-c6 + 2.Ba4*c6 #" keywords: - Flight giving key - Active sacrifice - Switchback --- authors: - Mansfield, Comins source: British Chess Federation 4th Tourney date: 1930 distinction: 3rd Prize, 1930-1931 algebraic: white: [Kf2, Qe1, Rh3, Rd7, Bh1, Sf6, Se3, Pf4, Pb4, Pb3] black: [Kd3, Re8, Rc8, Bh7, Bd4, Pc2] stipulation: "#2" solution: | "1.Sf6-d5 ! {display-departure-square} threat: 2.Qe1-e2 # 1...c2-c1=S 2.Qe1-d1 # 1...Bd4-a1 2.Sd5-c3 # 1...Bd4-b2 2.Sd5-c3 # 1...Bd4-c3 2.Sd5*c3 # 1...Bd4*e3 + 2.Sd5*e3 # 1...Bd4-h8 2.Sd5-f6 # 1...Bd4-g7 2.Sd5-f6 # 1...Bd4-f6 2.Sd5*f6 # 1...Bd4-e5 2.Se3-f5 # 1...Bd4-a7 2.Sd5-b6 # 1...Bd4-b6 2.Sd5*b6 # 1...Bd4-c5 2.Qe1-c3 #" keywords: - Black correction - Switchback --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1932 distinction: 1st Prize algebraic: white: [Kg3, Qc4, Rd8, Rc1, Bh1, Bg1, Sd5, Sc5] black: [Kc6, Qa3, Bb6, Sg8, Pg4, Pf3, Pc7, Pb4, Pa4] stipulation: "#2" solution: | "1.Qc4-e2 ! threat: 2.Qe2-e8 # 1...Qa3-e3 2.Sd5*b4 # 1...f3-f2 + 2.Sd5-e3 # 1...f3*e2 + 2.Sd5-c3 # 1...Bb6*c5 2.Qe2-a6 # 1...Sg8-e7 2.Sd5*e7 # 1...Sg8-f6 2.Sd5-e7 #" keywords: - Active sacrifice - Transferred mates comments: - 356 p.75, Album FIDE 1914-44/I --- authors: - Mansfield, Comins source: Falkirk Herald Meredith Ty. date: 1932 distinction: 2nd Prize algebraic: white: [Kg7, Qc3, Rf2, Bc1, Bb1, Sf4, Ph3, Pd3] black: [Kf5, Rc2, Bd8, Ph4] stipulation: "#2" solution: | "1.Bb1-a2 ! threat: 2.Sf4-e2 # 1...Rc2*c1 2.Sf4-e6 # 1...Rc2*a2 2.Qc3-c5 # 1...Rc2*c3 2.Sf4-g6 # 1...Rc2*f2 2.Qc3-c5 # 1...Rc2-d2 2.Qc3-c5 # 1...Kf5-g5 2.Qc3-e5 # 1...Bd8-b6 2.Qc3-f6 # 1...Bd8-c7 2.Qc3-f6 # 1...Bd8-g5 2.Ba2-e6 # 1...Bd8-f6 + 2.Qc3*f6 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: Morning Post date: 1932 algebraic: white: [Kg1, Qf7, Rh4, Sf4, Sb3, Pf2, Pc4, Pc2] black: [Ke4, Bg4, Pg2, Pe5, Pb4] stipulation: "#2" solution: | "1...e5*f4 2.Qf7-d5 # 1.Qf7-f6 ! zugzwang. 1...Ke4-f3 2.Sb3-d2 # 1...Bg4-d1 2.Sf4-e2 # 1...Bg4-e2 2.Sf4*e2 # 1...Bg4-f3 2.Qf6-g6 # 1...Bg4-h3 2.Sf4*h3 # 1...Bg4-h5 2.Sf4*h5 # 1...Bg4-c8 2.Sf4-e6 # 1...Bg4-d7 2.Sf4-e6 # 1...Bg4-e6 2.Sf4*e6 # 1...Bg4-f5 2.Qf6-c6 # 1...e5*f4 2.Sb3-d2 #" keywords: - Black correction - Mutate --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1933 distinction: 1st HM algebraic: white: [Kd1, Qa2, Rd3, Rb6, Bg2, Sd7] black: [Kd5, Se4, Sc4, Pg5, Pd4, Pa4] stipulation: "#2" solution: | "1.Rd3-f3 ? threat: 2.Rf3-f5 # 1...d4-d3 2.Rf3*d3 # 1...Se4-c3 + 2.Rf3*c3 # 1...Se4-f2 + 2.Rf3*f2 # but 1...Se4-d6 ! 1.Rd3-b3 ! {display-departure-square} threat: 2.Rb3-b5 # 1...a4*b3 2.Qa2-a8 # 1...Sc4-b2 + 2.Rb3*b2 # 1...Sc4-e3 + 2.Rb3*e3 # 1...Sc4*b6 2.Rb3*b6 # 1...d4-d3 2.Rb3*d3 #" keywords: - Active sacrifice - Switchback --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1936 distinction: 1st HM, ex aequo algebraic: white: [Ke2, Qd8, Bg5, Be6, Sd3, Sc7] black: [Ke4, Bb8, Sg4, Sd7, Pf6, Pd4] stipulation: "#2" solution: | "1.Be6*d7 ? zugzwang. 1...f6-f5 2.Bd7-c6 # but 1...f6*g5 ! 1.Be6*g4 ? zugzwang. 1...f6-f5 2.Bg4-f3 # 1...Sd7-c5 {(Sd~ )} 2.Qd8-d5 # but 1...f6*g5 ! 1.Qd8-c8 ? threat: 2.Qc8-b7 # 1...Sd7-b6 2.Be6-f5 # but 1...Sg4-e3 ! 1.Qd8-e8 ! zugzwang. 1...Sg4-e3 {(Sg~ )} 2.Be6*d7 # 1...Sg4-e5 2.Sd3-f2 # 1...f6-f5 2.Be6-d5 # 1...f6*g5 2.Qe8-g6 # 1...Sd7-b6 2.Be6*g4 # 1...Sd7-c5 {(Sd~ )} 2.Qe8-c6 # 1...Sd7-e5 2.Sd3-c5 # 1...Bb8-a7 {(B~ )} 2.Qe8-a8 #" keywords: - Black correction - Changed mates --- authors: - Mansfield, Comins source: London Observer date: 1941 algebraic: white: [Kh1, Rf3, Bg5, Be2, Sh7, Ph3] black: [Kh5, Qe4, Pg6, Pe6] stipulation: "#2" solution: | "1.h3-h4 ! threat: 2.Sh7-f6 # 1...Qe4-b1 + 2.Rf3-f1 # 1...Qe4*f3 + 2.Be2*f3 # 1...Qe4-f5 2.Rf3*f5 # 1...Qe4-d4 2.Rf3-f4 # 1...Qe4-e5 2.Rf3-e3 # 1...Qe4*h4 + 2.Rf3-h3 # 1...Qe4-f4 2.Rf3*f4 #" keywords: - Flight giving key - Active sacrifice --- authors: - Mansfield, Comins source: Adventures in Composition date: 1944 algebraic: white: [Kf8, Qe4, Rh6, Rh2, Sf7, Pf2] black: [Kg4, Sh5, Sh3, Pf4] stipulation: "#2" solution: | "1.Kf8-e7 ! zugzwang. 1...Sh3*f2 {S3~ )} 2.Rh6-g6 # 1...Sh3-g5 2.Sf7-e5 # 1...Kg4-h4 2.Qe4*f4 # 1...Sh5-g3 2.f2-f3 # 1...Sh5-g7 {S5~ )} 2.Rh2-g2 #" keywords: - Black correction - Block --- authors: - Mansfield, Comins source: The Chess Bulletin date: 1944 algebraic: white: [Ka4, Qb8, Rh6, Rf3, Bg2, Sd7, Sc7, Pb7, Pb6, Pa6] black: [Kc6, Qd6, Rf6, Be5, Sh7, Sg7, Pd3, Pb4] stipulation: "#2" solution: | "1.Qb8-f8 ! threat: 2.b7-b8=S # 1...Qd6*f8 2.Rf3*d3 # 1...Qd6-e7 2.Rf3*d3 # 1...Qd6*c7 2.Rf3*d3 # 1...Qd6*d7 2.Rf3*f6 # 1...Rf6*f8 2.Rf3-f7 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: Chess World Meredith Tourney source-id: 114 date: 1946 distinction: 3rd Prize algebraic: white: [Ka4, Qa6, Rh6, Bh7, Sc4, Pe3, Pb4] black: [Kd5, Bf8, Sc6, Sa3, Pd6] stipulation: "#2" solution: | "1.Qa6-c8 ! threat: 2.Qc8-e6 # 1...Kd5*c4 2.Qc8*c6 # 1...Sc6-a5 2.Rh6-h5 # 1...Sc6*b4 2.Rh6-h5 # 1...Sc6-d4 2.e3-e4 # 1...Sc6-e5 2.Sc4-b6 # 1...Sc6-e7 2.Rh6*d6 # 1...Sc6-d8 2.Rh6-h5 # 1...Sc6-b8 2.Rh6-h5 # 1...Sc6-a7 2.Rh6-h5 # 1...Bf8*h6 2.Qc8-g8 #" keywords: - Flight giving key - Black correction --- authors: - Mansfield, Comins source: The Observer date: 1946 algebraic: white: [Kc4, Re2, Rb7, Bd5, Bc3, Sb1, Pa6] black: [Ka2, Rd2, Pc2, Pa7] stipulation: "#2" solution: | "1.Rb7-b5 ! zugzwang. 1...c2-c1=Q 2.Kc4-c5 # 1...c2-c1=S 2.Re2*d2 # 1...c2*b1=Q 2.Rb5-a5 # 1...c2*b1=S 2.Kc4-b4 # 1...c2*b1=R 2.Rb5-a5 # 1...Rd2-d1 2.Re2*c2 # 1...Rd2*d5 2.Re2*c2 # 1...Rd2-d4 + 2.Kc4*d4 # 1...Rd2-d3 2.Kc4*d3 # 2.Re2*c2 # 1...Rd2*e2 2.Kc4-d3 # 2.Kc4-c5 # 2.Kc4-d4 #" --- authors: - Mansfield, Comins source: South African Chess Magazine, Meredith Ty. date: 1946 distinction: HM algebraic: white: [Kg6, Qa1, Rb3, Ba3, Ba2, Pf2, Pe6, Pe2, Pb6] black: [Kd5, Pg7, Pe7] stipulation: "#2" solution: | "1...Kd5-e4 2.Rb3-b4 # 1.e2-e3 ? zugzwang. 1...Kd5-c4 2.Qa1-d4 # but 1...Kd5-e4 ! 1.f2-f4 ! zugzwang. 1...Kd5-c4 2.Rb3-b1 # 1...Kd5-e4 2.Qa1-e5 # 1...Kd5*e6 2.Rb3-d3 # 1...Kd5-c6 2.Qa1-h1 #" keywords: - King star flight - Mutate --- authors: - Mansfield, Comins source: British Chess Federation 66th Tourney date: 1950 distinction: 4th Comm., 1950-1951 algebraic: white: [Ka8, Qh1, Rg3, Rc8, Ba3, Ba2, Sf7, Pf2, Pb6] black: [Kd4, Re4, Ba5, Sd3, Pf5, Pf4, Pb2] stipulation: "#2" solution: | "1.Sf7-e5 ! threat: 2.Se5-f3 # 1...Sd3-c1 {(S~ )} 2.Se5-c6 # 1...Sd3*e5 2.Ba3-c5 # 1...Sd3-b4 2.Ba3*b2 # 1...Kd4*e5 2.Qh1-h8 # 1...Re4-e1 {(R~ )} 2.Qh1-d5 # 1...Re4*e5 2.Rc8-c4 #" keywords: - Flight giving key - Active sacrifice - Defences on same square - Black correction - Somov (B1) --- authors: - Mansfield, Comins source: The American Chess Problemist date: 1952 distinction: 7th HM, 1951-52 algebraic: white: [Kh8, Qc4, Ra6, Be7, Bb5, Sg6, Ph5, Pg5, Pe3] black: [Kf7, Qa2, Rc3, Ra4, Pe6] stipulation: "#2" solution: | "1.Be7-a3 ! threat: 2.Sg6-e5 # 1...Qa2*a3 2.Qc4*e6 # 1...Qa2-h2 2.Qc4*e6 # 1...Rc3*a3 2.Qc4-c7 # 1...Rc3*e3 2.Qc4-c7 # 1...Ra4*a3 2.Qc4-f4 # 1...Ra4-b4 2.Ra6-a7 #" keywords: - Defences on same square --- authors: - Mansfield, Comins source: British Chess Federation 69th Tourney date: 1951 distinction: 4th HM, 1951-1952 algebraic: white: [Kh4, Qd4, Rg6, Rf7, Bc8, Ba3, Sd3, Pf5, Pe7, Pd5] black: [Kd6, Rb4, Rb3, Bc7, Ba4, Sf6, Ph6, Ph5, Pg7] stipulation: "#2" solution: | "1.Bc8-e6 ! threat: 2.Qd4-f4 # 1...Rb3*a3 2.Qd4*b4 # 1...Rb3*d3 2.Ba3*b4 # 1...Sf6*d5 2.Be6-c8 # 1...Sf6-e4 2.Qd4-e5 # 1...Sf6-g4 2.Qd4-c5 # 1...Sf6-d7 2.e7-e8=S #" keywords: - Rudenko - Switchback --- authors: - Mansfield, Comins source: El Ajedrez Español date: 1956 distinction: 3rd Prize algebraic: white: [Ke6, Qc1, Rc8, Ra8, Be7, Sb7, Pd2, Pa4] black: [Kb3, Bc2, Ba1, Sb2, Pd4, Pd3, Pa2] stipulation: "#2" solution: | "1.Rc8-c6 ? zugzwang. 1...Bc2-b1 {(Bc~ )} 2.Rc6-b6 # but 1...Sb2-c4 ! 1.Sb7-d8 ? zugzwang. 1...Sb2-d1 2.Qc1-a3 # 1...Bc2-b1 {(Bc~ )} 2.Rc8-b8 # but 1...Sb2-c4 ! 1.Rc8-b8 ! zugzwang. 1...Sb2-d1 2.Sb7-d6 # 1...Sb2-c4 2.Sb7-c5 # 1...Sb2*a4 2.Sb7-a5 # 1...Bc2-b1 {(Bc~ )} 2.Sb7-d8 # 1...Kb3-c4 2.Sb7-a5 #" keywords: - Flight giving key - Black correction - Somov (B1) - Changed mates - Reversal comments: - 133 p.39, Album FIDE 1956-58 --- authors: - Mansfield, Comins source: British Chess Federation 83rd Tourney date: 1956 distinction: 3rd Prize, 1956-1957 algebraic: white: [Ka8, Qg6, Rf3, Rc1, Bh1, Be3, Sb5, Sa4, Pe6, Pc4] black: [Kc6, Bd5, Bb8, Sg7, Sb3, Pc7] stipulation: "#2" solution: | "1.Qg6-f7 ? threat: 2.Qf7-d7 # 1...Bd5*e6 2.Rf3-f6 # but 1...Sb3-c5 ! 1.Be3-f4 ! zugzwang. 1...Sb3-a1 {(Sb~ )} 2.Sb5-d4 # 1...Bd5*c4 2.Rf3*b3 # 1...Bd5*f3 2.Bh1*f3 # 1...Bd5-e4 2.Qg6*e4 # 1...Bd5*e6 2.Rf3-d3 # 1...Sg7*e6 {(Sb~ )} 2.Qg6-e8 # 1...Bb8-a7 2.Sb5*a7 #" keywords: - Black correction - Changed mates comments: - 44 p.24, Album FIDE 1956-58 --- authors: - Mansfield, Comins source: Time & Tide date: 1956 algebraic: white: [Kh7, Qg1, Rd4, Bb5, Se5, Pd7, Pd3, Pa4] black: [Kc5, Rb7, Bf1, Pb6] stipulation: "#2" solution: | "1...Bf1*d3 + 2.Se5*d3 # 1...Rb7*d7 + 2.Se5*d7 # 1.Se5-c6 ! threat: 2.Qg1-g5 # 1...Bf1-h3 2.Qg1-c1 # 1...Bf1-g2 2.Qg1-c1 # 1...Bf1*d3 + 2.Rd4*d3 # 1...Rb7*d7 + 2.Rd4*d7 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: Chess Life date: 1956 algebraic: white: [Ka3, Qh8, Rf5, Bg6, Sc4, Pe2] black: [Ke4, Qg4, Rd5, Sf1, Pd3, Pa4] stipulation: "#2" solution: | "1...Qg4*f5 2.Qh8-h4 # 1...Rd5*f5 2.Qh8-e5 # 1.e2-e3 ! threat: 2.Rf5-f4 # 1...Sf1*e3 2.Sc4-d2 # 1...Qg4*f5 2.Qh8-h1 # 1...Rd5-a5 2.Qh8-d4 # 1...Rd5-b5 2.Qh8-d4 # 1...Rd5-c5 2.Qh8-d4 # 1...Rd5-d8 2.Qh8-e5 # 1...Rd5-d7 2.Qh8-e5 # 1...Rd5-d6 2.Qh8-e5 # 1...Rd5*f5 2.Qh8-a8 # 1...Rd5-e5 2.Qh8*e5 # 1...Rd5-d4 2.Qh8*d4 # 2.Qh8-e5 # 2.Qh8-e8 #" comments: - 9 p.18, Album FIDE 1956-58 --- authors: - Mansfield, Comins source: The Problemist date: 1956 algebraic: white: [Kc8, Qe8, Rg6, Rd6, Be4, Pf7] black: [Kh7, Rh8, Sf8, Pg5, Pg4] stipulation: "#2" solution: | "1.Qe8-d7 ! zugzwang. 1...g4-g3 2.Qd7-h3 # 1...Sf8*d7 + 2.Rg6-g8 # 1...Sf8-e6 + 2.f7-f8=S # 1...Sf8*g6 + 2.f7-f8=Q # 1...Rh8-g8 2.f7*g8=Q #" keywords: - Active sacrifice - Black correction --- authors: - Mansfield, Comins source: Israel Ring Tourney date: 1957 distinction: 3rd Prize algebraic: white: [Ka6, Qh1, Rg5, Rf3, Bf2, Bb3, Sf7, Sc3, Pe6, Pb7] black: [Kc6, Qf8, Bb8, Se5, Sd4, Pc7, Pb4] stipulation: "#2" solution: | "1...Sd4*e6 2.Bb3-a4 # 1.Sc3-b5 ! threat: 2.Rf3-c3 # 1...Sd4*e6 2.Sf7*e5 # 1...Sd4*f3 2.Sf7*e5 # 1...Se5-c4 2.Sb5*d4 # 1...Se5-d3 2.Sb5*d4 # 1...Se5*f3 2.Sb5*d4 # 1...Kc6-c5 2.Qh1-c1 # 1...Qf8-c5 2.Sf7-d8 #" comments: - 155 p.43, Album FIDE 1956-58 --- authors: - Mansfield, Comins source: Chess date: 1957 distinction: 1st Prize algebraic: white: [Ka2, Qh7, Rd3, Bg1, Bc2, Sh5, Sd5, Pf5] black: [Ke4, Qh1, Re5, Rc8, Bh4, Be6, Sd8, Sc7, Ph3, Pg3, Pa6] stipulation: "#2" solution: | "1.Qh7-g7 ! threat: 2.Qg7-g4 # 1...Qh1-f3 2.Rd3-d4 # 1...Ke4*f5 2.Rd3-f3 # 1...Bh4-g5 2.Sh5*g3 # 1...Re5*d5 2.Rd3-e3 # 1...Re5*f5 2.Qg7-d4 # 1...Be6*d5 + 2.Rd3-b3 # 1...Be6*f5 2.Sd5-c3 # 1...Sc7*d5 2.Rd3-c3 #" keywords: - Flight giving key - Defences on same square comments: - 171 p.45, Album FIDE 1956-58 --- authors: - Mansfield, Comins source: Schweizerische Schachzeitung date: 1957 distinction: 3rd Prize algebraic: white: [Ka1, Qe2, Rh3, Ra8, Be7, Bd3, Sa4] black: [Kb3, Qf5, Rh4, Rh2, Bg7, Bf1, Pe5, Pd5, Pc3, Pb5, Pa2] stipulation: "#2" solution: | "1.Bd3-e4 ! threat: 2.Rh3*c3 # 1...Bf1*h3 2.Qe2*b5 # 1...Rh2*h3 2.Qe2*a2 # 1...Rh4*h3 2.Be4*d5 # 1...b5-b4 2.Sa4-c5 # 1...b5*a4 2.Ra8-b8 # 1...d5-d4 2.Be4-d5 # 1...Qf5*h3 2.Be4-c2 # 1...Qf5-c8 2.Be4-c2 # 1...Qf5-f3 2.Be4-c2 #" keywords: - Defences on same square comments: - 160 p.43, Album FIDE 1956-58 --- authors: - Mansfield, Comins source: British Chess Problem Society date: 1958 distinction: 1st Prize algebraic: white: [Kh6, Qg1, Re4, Se3, Pd3] black: [Kf3, Qa8, Sh1, Sf8, Ph3, Pb7, Pb6] stipulation: "#2" solution: | "1.Se3-d5 ? threat: 2.Re4-e3 # but 1...Sh1-g3 ! 1...Qa8-e8 ! 1.Se3-c2 ? threat: 2.Sc2-e1 # 2.Sc2-d4 # but 1...Qa8-a1 ! 1.Se3-d1 ? threat: 2.Qg1-g4 # but 1...Qa8-c8 ! 1.Se3-f1 ? threat: 2.Sf1-h2 # 2.Sf1-d2 # but 1...Qa8-a2 ! 1.Se3-g4 ? threat: 2.Sg4-h2 # 2.Sg4-e5 # but 1...Qa8-b8 ! 1.Se3-f5 ? threat: 2.Sf5-d4 # 2.Sf5-h4 # but 1...Qa8-d8 ! 1.Se3-c4 ? threat: 2.Sc4-d2 # 2.Sc4-e5 # but 1...Qa8-a5 ! 1.Se3-g2 ! threat: 2.Sg2-e1 # 2.Sg2-h4 # 1...h3*g2 2.Qg1-e3 #" keywords: - Flight giving and taking key comments: - 8 p.18, Album FIDE 1956-58 --- authors: - Mansfield, Comins source: problem (Zagreb) source-id: 52/1264 date: 1958-08 algebraic: white: [Kd1, Qe5, Rh3, Rb8, Bg1, Bf7, Sa6, Pd2, Pb5] black: [Kc4, Qh8, Rg5, Re8, Bg8, Bf4, Sh5, Sa2, Pg2, Pd5] stipulation: "#2" solution: | "1.Rh3-a3 ! threat: 2.d2-d3 # 1...Sa2-c1 {(S~ )} 2.Ra3-c3 # 1...Bf4*d2 2.Qe5-c7 # 1...Rg5-g3 2.Qe5*d5 # 1...Re8*b8 2.Qe5-e2 # 1...Bg8-h7 2.Bf7*d5 # 1...Qh8-h7 2.Qe5-d4 #" comments: - 172 p.45, Album FIDE 1956-58 --- authors: - Mansfield, Comins source: The Observer date: 1958 distinction: 3rd HM algebraic: white: [Ka8, Qf1, Rg5, Re3, Bh2, Bg4, Sg3, Sa6, Pd5] black: [Kd6, Rh7, Rb2, Bg8, Ba3, Pf3, Pc5, Pb7] stipulation: "#2" solution: | "1.Qf1-b5 ! zugzwang. 1...Rb2-a2 {(Rb~ 2)} 2.Qb5-b6 # 1...Rb2*b5 {(Rb~ b)} 2.Sg3-h5 # 1...Rb2-b4 2.Qb5*c5 # 1...Ba3-b4 2.Qb5-b6 # 1...f3-f2 2.Sg3-h5 # 1...c5-c4 2.Sg3-f5 # 1...b7-b6 2.Qb5-c6 # 1...b7*a6 2.Qb5-c6 # 1...Rh7*h2 {(Rh~ h)} 2.Qb5-d7 # 1...Rh7-c7 2.Sg3-e2 # 1...Rh7-e7 2.Sg3-e4 # 1...Rh7-f7 2.Re3-e6 # 1...Rh7-g7 2.Sg3-e2 # 1...Bg8*d5 2.Sg3-f5 # 1...Bg8-e6 2.Re3*e6 # 1...Bg8-f7 2.Qb5-d7 # 1...Rh7-d7 2.Qb5*d7 # 2.Sg3-e2 #" keywords: - Black correction - Grimshaw comments: - 154 p.42, Album FIDE 1956-58 --- authors: - Mansfield, Comins source: Thémes-64 date: 1961 distinction: Prize algebraic: white: [Kh7, Qf3, Rc4, Bb3, Se4, Pg5, Pd6] black: [Kf5, Pf4, Pe7] stipulation: "#2" solution: | "1.Se4-f6 ! zugzwang. 1...Kf5-e6 2.Qf3-d5 # 1...Kf5-e5 2.Qf3-d5 # 1...Kf5*g5 2.Qf3*f4 # 1...e7-e5 2.Qf3-g4 # 1...e7-e6 2.Qf3*f4 # 1...e7*f6 2.Rc4-c5 # 1...e7*d6 2.Qf3-d5 #" keywords: - Flight giving key - Pickaninny --- authors: - Mansfield, Comins source: 40 Dubbele task problemen date: 1962 algebraic: white: [Kf4, Qf8, Bd8, Sf6, Pf7] black: [Kg6, Rh8, Rh7, Sg8, Ph6, Pg7] stipulation: "#2" solution: | "1.Qf8-e8 ! threat: 2.f7*g8=Q # 2.f7*g8=S # 2.f7*g8=R # 2.f7*g8=B # 2.f7-f8=Q # 2.f7-f8=S # 2.f7-f8=R # 2.f7-f8=B # 1...h6-h5 2.f7*g8=S # 1...g7*f6 2.f7*g8=Q # 1...Sg8-e7 2.f7-f8=Q # 1...Sg8*f6 2.f7-f8=S #" --- authors: - Mansfield, Comins source: Československý šach date: 1962 distinction: 1st Prize algebraic: white: [Kh7, Qe3, Rg6, Rc2, Bb1, Sf6] black: [Kf5, Qg4, Rf3, Ra6, Bh3, Sc6, Ph5, Ph4, Pg5, Pd5, Pc4, Pa7] stipulation: "#2" solution: | "1...Qg4-g1 2.Rc2-c1 # 1.Sf6-d7 ! threat: 2.Rg6-f6 # 1...Qg4-g1 2.Qe3*f3 # 1...Qg4-g2 2.Rc2*g2 # 1...Qg4-g3 2.Rc2*c4 # 1...Qg4-d4 2.Rg6*g5 # 1...Qg4-e4 2.Qe3*g5 # 1...Qg4-f4 2.Qe3-e6 # 1...Rf3*e3 2.Rc2-f2 # 1...Sc6-a5 2.Qe3-e5 # 1...Sc6-b4 2.Qe3-e5 # 1...Sc6-d4 2.Qe3-e5 # 1...Sc6-e5 2.Qe3*e5 # 1...Sc6-e7 2.Qe3-e5 # 1...Sc6-d8 2.Qe3-e5 # 1...Sc6-b8 2.Qe3-e5 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Ľud Meredith Ty. source-id: 86 date: 1964-04-15 distinction: Comm. algebraic: white: [Ka7, Qh2, Rg5, Ra5, Bf5, Sb5, Pd6, Pb3] black: [Kd5, Ph5, Pe7, Pc7] stipulation: "#2" solution: | "1...Kd5-c6 2.Sb5-d4 # 1.Qh2-h4 ! zugzwang. 1...Kd5-c6 2.Qh4-c4 # 1...Kd5-c5 2.Qh4-c4 # 1...Kd5-e5 2.Qh4-d4 # 1...c7-c5 2.Qh4-e4 # 1...c7-c6 2.Qh4-d4 # 1...c7*d6 2.Sb5-d4 # 1...e7-e5 2.Qh4-c4 # 1...e7-e6 2.Bf5-e4 # 1...e7*d6 2.Bf5-d7 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Die Schwalbe date: 1964-05 distinction: 5th HM algebraic: white: [Ke8, Qb8, Rc1, Sc4, Sc2, Pe4, Pc5] black: [Kc6, Bc3, Ba6, Sa4] stipulation: "#2" solution: | "1.Sc4-a3 ? {display-departure-square} zugzwang. 1...Bc3-a1 {(Bc~ )} 2.Sc2-b4 # 1...Bc3-e1 {(Bc~ )} 2.Sc2-d4 # 1...Kc6*c5 2.Qb8-c7 # but 1...Sa4*c5 ! 1.Sc2-a3 ! {display-departure-square} zugzwang. 1...Bc3-a1 {(Bc~ )} 2.Sc4-a5 # 1...Bc3-e1 {(Bc~ )} 2.Sc4-e5 # 1...Sa4-b2 {(S~ )} 2.Qb8-b6 # 1...Ba6*c4 2.Qb8-c8 # 1...Ba6-b5 2.Qb8-c8 # 1...Ba6-c8 2.Qb8*c8 # 1...Ba6-b7 2.Qb8-d6 # 1...Kc6*c5 2.Qb8-d6 #" keywords: - Black correction - Changed mates --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1966 distinction: Comm. algebraic: white: [Kc2, Qh5, Bf6, Sc6, Pg3, Pf2] black: [Ke4, Bh4, Sh1] stipulation: "#2" solution: | "1.Sc6-e7 ! threat: 2.Qh5-e2 # 2.Qh5-g4 # 2.Qh5-d5 # 2.Qh5-f5 # 1...Sh1*g3 2.Qh5-g4 # 1...Sh1*f2 2.Qh5-e2 # 1...Bh4*g3 2.Qh5-f5 # 1...Bh4*f6 2.Qh5-d5 # 1...Bh4-g5 2.Qh5*h1 #" keywords: - Fleck - Karlstrom-Fleck --- authors: - Mansfield, Comins source: The Problemist source-id: C6217 date: 1979 distinction: 2nd Prize algebraic: white: [Kh2, Qd2, Rf1, Rd6, Bh5, Bf4, Ph4] black: [Kf5, Qa1, Sh7, Sf8, Pe4, Pd5, Pd3, Pb7, Pa2] stipulation: "#2" solution: | "1.Qd2-c3 ! threat: 2.Bf4-c1 # 1...Qa1*c3 2.Bf4-g3 # 1...Qa1-b2 + 2.Bf4-d2 # 1...Qa1*f1 2.Qc3-e5 # 1...Qa1-e1 2.Qc3-e5 # 1...Qa1-d1 2.Qc3-e5 # 1...d3-d2 2.Qc3-h3 # 1...e4-e3 2.Qc3*d3 # 1...d5-d4 2.Qc3-c5 # 1...Sh7-g5 2.Rd6-f6 # 1...Sf8-e6 2.Rd6*d5 # 1...Sf8-g6 2.Qc3-c8 #" keywords: - Active sacrifice comments: - 44 p.16, Album FIDE 1977-79 --- authors: - Mansfield, Comins source: Magyar Sakkélet date: 1985 algebraic: white: [Ka5, Qg7, Bb1, Sf4, Ph5, Pg3, Pd5] black: [Kf5, Qe4, Sg2, Ph4, Pd6, Pb5, Pa4] stipulation: "#2" solution: | "1.Sf4-d3 ! threat: 2.Qg7-g6 # 1...Sg2-f4 2.g3-g4 # 1...Qe4*d3 2.Bb1*d3 # 1...Qe4-e1 + 2.Sd3*e1 # 1...Qe4-b4 + 2.Sd3*b4 # 1...Qe4-e8 2.Sd3-e5 # 1...Qe4-e6 2.Sd3-e5 # 1...Qe4-g4 2.Sd3-f4 #" keywords: - Switchback --- authors: - Mansfield, Comins source: Tijdschrift vd NSB date: 1918 distinction: 2nd Prize algebraic: white: [Kc7, Qf1, Ra5, Sh5, Se5, Pd4] black: [Ke6, Qh6, Rc3, Bh1, Bf8, Sg5, Sf7, Ph7, Ph3, Pg6, Pe7, Pc4] stipulation: "#2" solution: | "1...Sg5-e4 2.Qf1*f7 # 1.Se5-d7 ! threat: 2.Sh5-f4 # 1...Bh1-d5 2.Sd7-c5 # 1...Rc3-f3 2.Qf1*c4 # 1...Sg5-e4 2.d4-d5 # 1...Sg5-f3 2.Qf1*h3 # 1...g6*h5 2.Qf1-f5 # 1...Qh6*h5 2.Sd7*f8 # 1...Sf7-d6 {(Sf~ )} 2.Ra5-e5 #" keywords: - Barulin (A) --- authors: - Mansfield, Comins source: Queensland Chess Association date: 1919 distinction: 1st Prize algebraic: white: [Kf8, Qb7, Rd3, Rc6, Bh8, Bg2, Sd6, Sd4, Pe3, Pc2] black: [Kd5, Qb2, Rf1, Re1, Bd7, Sf3, Sa6, Pg5, Pc3] stipulation: "#2" solution: | "1.Sd6-e4 ! threat: 2.Rc6-c5 # 1...Qb2*b7 2.Se4*c3 # 1...Sf3-d2 + {(S~ )} 2.Sd4-f5 # 1...Sf3-e5 + 2.Se4-f6 # 1...Sf3*d4 + 2.Se4-f2 # 1...Kd5*e4 2.Rc6-e6 # 1...Bd7*c6 2.Qb7*c6 #" keywords: - Flight giving key - Black correction --- authors: - Mansfield, Comins source: The Hampshire Telegraph and Post date: 1919 distinction: 1st Prize algebraic: white: [Kh2, Qe6, Rd5, Rc1, Ba5, Ba2, Sb3, Sa1, Pd2, Pc6] black: [Kc4, Qc2, Rh4, Ra4, Bf1, Se4, Sc3, Ph3, Pa3] stipulation: "#2" solution: | "1.Qe6-f5 ! threat: 2.Rd5-d4 # 1...Qc2-d3 2.Sb3-d4 # 1...Qc2*b3 2.Ba2*b3 # 1...Qc2*d2 + 2.Sb3*d2 # 1...Sc3-e2 2.d2-d3 # 1...Sc3*d5 2.Qf5*f1 # 1...Sc3-b5 2.Sb3-c5 # 1...Se4-f2 {(Se~ )} 2.Rd5-c5 # 1...Se4*d2 2.Rd5-c5 # 2.Sb3*d2 #" keywords: - B2 comments: - 148 p.39, Album FIDE 1914-44/I --- authors: - Mansfield, Comins - Chandler, Guy Wills source: The Good Companion Chess Problem Club date: 1914 distinction: 3rd Prize algebraic: white: [Kh7, Qf7, Rh3, Be5, Bc6, Sd5, Pf4, Pc3] black: [Ke4, Re2, Ra7, Bh5, Bb8, Pg6, Pd7, Pb5] stipulation: "#2" solution: | "1.Qf7-e6 ! threat: 2.Sd5-f6 # 1...Re2-e3 2.Rh3*e3 # 1...Bh5-f3 2.Qe6*g6 # 1...d7-d6 + 2.Be5-g7 # 1...d7*e6 + 2.Sd5-e7 # 1...d7*c6 + 2.Be5-c7 # 1...Bb8*e5 2.Qe6*e5 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: The Good Companion Chess Problem Club date: 1916-02-22 algebraic: white: [Kd2, Qh8, Rc7, Rb8, Bg8, Sc5, Sb3, Pa2] black: [Kc4, Qa7, Re8, Ra6, Ba8, Ba5, Se6, Sd5, Pb4, Pa4] stipulation: "#2" solution: | "1.Qh8-e5 ! threat: 2.Qe5-e2 # 1...a4*b3 2.a2*b3 # 1...Sd5-c3 {(Sd~ )} 2.Qe5-d4 # 1...Sd5-b6 2.Sc5-b7 # 1...Se6*c5 {(Se~ )} 2.Qe5-d4 #" keywords: - Black correction --- authors: - Mansfield, Comins source: The Observer date: 1925-10 algebraic: white: [Kh3, Qe3, Rh7, Bh2, Ba2, Se8, Pg4, Pg2, Pd4, Pb5] black: [Ke6, Rb3, Ra3, Se4, Pg5, Pf2, Pa4] stipulation: "#2" solution: | "1.Qe3-d3 ! threat: 2.d4-d5 # 1...Se4-c3 2.Qd3-f5 # 1...Se4-g3 2.Qd3-c4 # 1...Se4-f6 2.Se8-c7 # 1...Ke6-d5 2.Se8-c7 #" --- authors: - Mansfield, Comins source: The Chess Amateur date: 1926 algebraic: white: [Kc2, Qb1, Rf1, Ra4, Bh6, Ba8, Se6, Se3, Pe2, Pc4] black: [Ke4, Qd5, Rb7, Ra7, Se7, Pe5, Pd6, Pc7] stipulation: "#2" solution: | "1.Se3-d1 ! threat: 2.Sd1-c3 # 1...Qd5*e6 2.Kc2-c3 # 1...Qd5*d1 + 2.Kc2*d1 # 1...Qd5-d2 + 2.Kc2*d2 # 1...Qd5-d3 + 2.e2*d3 # 1...Qd5-d4 2.Se6-g5 # 1...Qd5-a5 2.Kc2-c1 # 1...Rb7-b2 + 2.Kc2*b2 # 1...Rb7-b3 2.Kc2*b3 #" comments: - 120 p.35, Album FIDE 1914-44/I --- authors: - Mansfield, Comins source: US Chess Federation date: 1928 distinction: 2nd Prize algebraic: white: [Kh8, Qb6, Ra7, Ra5, Bd8, Bc6, Sc8, Sb4, Pf7] black: [Ke6, Qh2, Rf4, Ra6, Ph4, Pf3, Pd4, Pc4, Pc3] stipulation: "#2" solution: | "1.Bd8-g5 ? threat: 2.Ra7-e7 # but 1...Ra6*a5 ! 1.Sb4-d3 ! threat: 2.Ra5-e5 # 1...Qh2-e2 2.Sd3*f4 # 1...c4*d3 2.Qb6-b3 # 1...Rf4-e4 2.f7-f8=S # 1...Rf4*f7 2.Bc6-d7 # 1...Rf4-f6 2.Ra7-e7 # 1...Rf4-f5 2.Bc6-d5 # 1...Rf4-g4 2.f7-f8=S # 1...Ra6*a5 2.Bc6-e4 # 1...Ra6*a7 2.Bc6-e8 #" keywords: - Active sacrifice - Black correction - B2 comments: - 114 p.34, Album FIDE 1914-44/I --- authors: - Mansfield, Comins source: Skakbladet date: 1930 distinction: 1st Prize algebraic: white: [Kb8, Qb7, Bc8, Bc3, Sf4, Se6, Ph4, Ph3, Pg5] black: [Kf5, Rh6, Re2, Sc4, Pf3] stipulation: "#2" solution: | "1.Sf4-d5 ! threat: 2.Sd5-e7 # 1...Re2*e6 2.Qb7-b1 # 1...Kf5-e4 2.Se6-c5 # 1...Kf5-g6 2.Se6-f4 # 1...Rh6*e6 2.Qb7-h7 # 1...Rh6-h7 2.Qb7*h7 #" keywords: - 2 flights giving key - Changed mates comments: - 287 p.63, Album FIDE 1914-44/I --- authors: - Mansfield, Comins source: Świat Szachowy source-id: 11-12/586 date: 1931-11 distinction: 1st Prize algebraic: white: [Ka1, Qf2, Rg8, Ra4, Bd3, Sf3, Se1] black: [Kf4, Re4, Bb8, Sb1, Ph4, Ph3, Ph2, Pf5, Pa2] stipulation: "#2" solution: | "1.Bd3-c4 ! threat: 2.Se1-d3 # 1...Re4*e1 2.Bc4-e2 # 1...Re4-e2 2.Bc4*e2 # 1...Re4-e3 2.Qf2*h4 # 1...Re4*c4 2.Ra4*c4 # 1...Re4-d4 2.Qf2*d4 # 1...Re4-e8 2.Bc4-e6 # 1...Re4-e7 2.Bc4-e6 # 1...Re4-e6 2.Bc4*e6 # 1...Re4-e5 2.Sf3-d2 # 1...Bb8-e5 + 2.Sf3-d4 #" keywords: - Active sacrifice - Black correction --- authors: - Mansfield, Comins source: The Sports Referee date: 1931 distinction: 2nd Prize algebraic: white: [Ke7, Qf3, Rh4, Rc8, Be8, Se2, Sc5, Pc3, Pb2] black: [Kc4, Se6, Sb3, Pd4, Pa6] stipulation: "#2" solution: | "1.Se2*d4 ! zugzwang. 1...Se6-f4 2.Sc5*b3 #{display-departure-square} 1...Se6-g5 2.Sc5*b3 #{display-departure-square} 1...Se6-d8 2.Sd4*b3 #{display-departure-square} 1...Se6-c7 2.Sd4*b3 #{display-departure-square} 1...Sb3-d2 2.Sc5*e6 # {display-departure-square} 1...Sb3-a5 2.Sd4*e6 # {display-departure-square} 1...Sb3*d4 2.b2-b3 # 1...Sb3*c5 2.b2-b3 # 1...a6-a5 2.Be8-b5 # 1...Se6*c5 2.Be8-f7 # 1...Se6*d4 2.Qf3-f7 # 1...Se6-g7 2.Sc5*b3 # 2.Sd4*b3 # 1...Se6-f8 2.Sc5*b3 # 2.Sd4*b3 # 1...Sb3-c1 2.Sc5*e6 # 2.Sd4*e6 # 1...Sb3-a1 2.Sc5*e6 # 2.Sd4*e6 #" keywords: - Active sacrifice - Changed mates - Mates on same square comments: - 288 p.63, Album FIDE 1914-44/I --- authors: - Mansfield, Comins source: Sports Referee date: 1931 distinction: 2nd Prize algebraic: white: [Ke4, Qh2, Re8, Rd1, Ba3, Sg5, Sb8, Pf4, Pe6, Pb4] black: [Kd6, Rf6, Ba8, Sd5, Ph4, Pg4, Pc7, Pc6, Pb6] stipulation: "#2" solution: | "1...Rf6*f4 + 2.Qh2*f4 # 1.Ke4-d3 ! threat: 2.Sg5-e4 # 1...Rf6*f4 2.Sg5-f7 # 1...Sd5*b4 + 2.Kd3-c4 # 1...Sd5-c3 2.Kd3*c3 # 1...Sd5-e3 2.Kd3*e3 # 1...Sd5*f4 + 2.Kd3-e4 # 1...Sd5-e7 2.Re8-d8 # 1...Rf6*e6 2.Re8*e6 # 2.Sg5-f7 #" keywords: - Black correction - Switchback --- authors: - Mansfield, Comins source: Il Problema date: 1932 distinction: 4th Prize algebraic: white: [Kg8, Qe8, Rd3, Ra6, Bd2, Bc2, Sf2, Pf4, Pe5] black: [Kf5, Qb1, Ra1, Bf6, Sh4, Sh2, Ph6, Ph5, Pe7, Pa2] stipulation: "#2" solution: | "1.Qe8-a4 ! threat: 2.Qa4-e4 # 1...Qb1-b8 + 2.Rd3-d8 # 1...Qb1-b7 2.Rd3-d5 # 1...Qb1-b6 2.Rd3-d6 # 1...Qb1-b4 2.Rd3-d4 # 1...Qb1-b3 + 2.Rd3*b3 # 1...Qb1-h1 2.Rd3-f3 # 1...Qb1-g1 + 2.Rd3-g3 # 1...Qb1-e1 2.Rd3-e3 # 1...Kf5-g6 2.Rd3-g3 #" keywords: - Flight giving key comments: - 472 p.94, Album FIDE 1914-44/I --- authors: - Mansfield, Comins source: T.T. British Chess Federation date: 1934 distinction: 2nd Prize, 1933-34 algebraic: white: [Kh7, Qd2, Ra2, Be1, Bc6, Sg6, Se3] black: [Kf3, Qa7, Re4, Bb8, Ba6, Sh4, Pg4, Pg3, Pe7, Pe6] stipulation: "#2" solution: | "1.Se3-d5 ! threat: 2.Sg6*h4 # 1...Re4*e1 2.Sd5-e3 # 1...Re4-e2 2.Sd5-e3 # 1...Re4-e3 2.Sd5*e3 # 1...Re4-a4 2.Sd5-b4 # 1...Re4-b4 2.Sd5*b4 # 1...Re4-c4 2.Qd2-e2 # 1...Re4-d4 2.Qd2-e3 # 1...Re4-e5 2.Qd2-f4 # 1...Re4-f4 2.Sd5*f4 # 1...Sh4-g2 2.Qd2*g2 # 1...Sh4*g6 2.Qd2-g2 # 1...Sh4-f5 2.Qd2-g2 #" keywords: - Black correction - Transferred mates - Switchback comments: - 348 p.73, Album FIDE 1914-44/I --- authors: - Mansfield, Comins source: Il Problema date: 1933 distinction: 1st Prize algebraic: white: [Kh7, Qg7, Rf1, Ra5, Bb2, Bb1, Sd3, Sb3, Pf3, Pe5] black: [Kf5, Re3, Bh5, Sg8, Sc6] stipulation: "#2" solution: | "1.Bb2-c1 ! zugzwang. 1...Re3-e1 2.Qg7-d7 # 1...Re3-e2 2.Qg7-d7 # 1...Re3*d3 2.Qg7-d7 # 1...Re3*e5 2.Sd3-f4 # 1...Re3-e4 2.Qg7-d7 # 1...Re3*f3 2.Sd3-c5 # 1...Kf5-e6 2.Sd3-f4 # 1...Bh5*f3 2.Qg7-g6 # 1...Bh5-e8 {(B~ )} 2.Qg7-g4 # 1...Bh5-g6 + 2.Qg7*g6 # 1...Sc6*a5 {(Sc~ )} 2.Sb3-d4 # 1...Sg8-e7 {(Sg~ )} 2.Qg7-f6 # 1...Bh5-g4 2.Qg7*g4 # 2.Qg7-g6 #" comments: - 314 p.68, Album FIDE 1914-44/I --- authors: - Mansfield, Comins source: La Settimana Enigmistica date: 1935 distinction: 2nd Prize algebraic: white: [Ke6, Qf7, Rh6, Rc2, Bg2, Bd6, Se4, Sc3, Pa4] black: [Kc6, Re1, Ra5, Bc5, Sb8, Sa8, Pb6] stipulation: "#2" solution: | "1...Sb8-d7 2.Qf7*d7 # 1.Ke6-f5 ! threat: 2.Bd6*c5 # 1...Re1-d1 2.Se4-d2 # 1...Re1*e4 2.Bg2*e4 # 1...Re1-f1 + 2.Se4-f2 # 1...Bc5-e3 + 2.Se4-c5 # 1...Bc5-d4 + 2.Bd6-e5 # 1...Bc5*d6 + 2.Sc3-b5 # 1...Sa8-c7 2.Qf7*c7 # 1...Sb8-d7 2.Qf7-d5 # 1...Re1-h1 2.Se4-d2 # 2.Se4-f2 # 2.Se4-g3 # 2.Se4-g5 # 2.Se4*c5 #" --- authors: - Mansfield, Comins source: Olympia-Turnier date: 1936 distinction: 1st Prize algebraic: white: [Ka7, Qe4, Rb6, Sb7, Pb2, Pa2] black: [Ka4, Qh1, Rh4, Rd1, Bh7, Bg1, Sf1, Se3, Pc4, Pc2, Pa6] stipulation: "#2" solution: | "1.a2-a3 ! threat: 2.Rb6-b4 # 1...Se3-g2 2.Qe4-c6 # 1...Se3-g4 2.Qe4*c4 # 1...Se3-f5 2.Qe4*c2 # 1...Se3-d5 2.Qe4-e8 # 1...a6-a5 2.Sb7-c5 #" comments: - 347 p.73, Album FIDE 1914-44/I --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1941 distinction: 1st Prize algebraic: white: [Ka8, Qa1, Rh5, Rc1, Bg8, Bf8, Sd6, Pb7, Pb5, Pb2] black: [Kb4, Qf3, Rh3, Ba4, Sd8, Sa7] stipulation: "#2" solution: | "1.b2-b3 ! threat: 2.Qa1*a4 # 1...Qf3*b7 + 2.Sd6*b7 # 1...Qf3*b3 2.Sd6-c4 # 1...Ba4*b3 2.Sd6-f7 # 1...Ba4*b5 2.Sd6-f5 # 1...Kb4-a5 2.Sd6-c4 #" keywords: - Active sacrifice - Black correction - B2 --- authors: - Mansfield, Comins source: T.T. British Chess Federation date: 1944 distinction: 1st Prize algebraic: white: [Ka3, Qf4, Rh5, Re4, Bf7, Bf2, Se2, Sc4, Pf3, Pd5, Pa4] black: [Kc5, Qd8, Rd4, Ba7, Sa2, Ph2, Pf6] stipulation: "#2" solution: | "1.Re4-e3 ! threat: 2.Qf4*d4 # 1...Rd4-d1 2.Re3-d3 # 1...Rd4-d2 2.Re3-d3 # 1...Rd4-d3 + 2.Re3*d3 # 1...Rd4*c4 2.Re3-c3 # 1...Rd4*d5 2.Re3-e6 # 1...Rd4*f4 2.Re3-e4 # 1...Rd4-e4 2.Re3*e4 # 1...Kc5*c4 2.d5-d6 # 1...Qd8*d5 2.Qf4-c7 #" keywords: - Switchback comments: - 444 p.89, Album FIDE 1914-44/I --- authors: - Mansfield, Comins source: To Alain White source-id: 33 date: 1945 algebraic: white: [Ka2, Qh4, Rd3, Rb5, Bc2, Sf6, Se3] black: [Kg6, Qd8, Rg3, Rd7, Bd1, Bc1, Pg7, Pf7, Pe6, Pa5] stipulation: "#2" solution: | "1...Rg3*e3 2.Qh4-g5 # 1...Rg3-f3 2.Qh4-g5 # 1...Rg3-g5 2.Qh4*g5 # 1.Se3-d5 ! threat: 2.Rd3*g3 # 1...Bc1-g5 2.Qh4-h7 # 1...Bc1-e3 2.Rd3*d1 # 1...Bd1-h5 2.Qh4*h5 # 1...Bd1-f3 2.Rd3*f3 # 1...Bd1*c2 2.Qh4-h5 # 1...Rg3*d3 2.Bc2*d3 # 1...Rg3-e3 2.Sd5-f4 # 1...Rg3-f3 2.Qh4-h5 # 1...Rg3-g5 2.Qh4-h7 # 1...Rg3-g4 2.Qh4-h5 # 1...Kg6-f5 2.Sd5-e7 #" keywords: - Flight giving key - Grimshaw - Levman comments: - 157 p.43, Album FIDE 1945-55 --- authors: - Mansfield, Comins source: SEPA source-id: 57/269 date: 1946 distinction: 3rd Prize algebraic: white: [Kb1, Qd7, Rg7, Ra5, Bb5, Sf3, Se2, Pg3] black: [Kf5, Qa7, Re6, Ra6, Bd8, Bb7, Sh6, Sh3, Pf6, Pe4, Pe3] stipulation: "#2" solution: | "1.Qd7-f7 ! threat: 2.Qf7-g6 # 1...Sh3-g5 2.Rg7*g5 # 1...Sh3-f4 2.Rg7-g5 # 1...e4*f3 2.Bb5-d3 # 1...Re6-e5 2.Sf3-h4 # 1...Re6-b6 2.Se2-d4 # 1...Re6-c6 2.Qf7-d5 # 1...Re6-d6 2.Bb5-d7 # 1...Re6-e8 2.Bb5-d7 # 1...Re6-e7 2.Bb5-d7 # 1...Sh6*f7 2.g3-g4 #" keywords: - Active sacrifice - Black correction comments: - 274 p.62, Album FIDE 1945-55 --- authors: - Mansfield, Comins source: El Ajedrez Español date: 1946 distinction: 2nd Prize algebraic: white: [Kh7, Qa5, Rh6, Rc1, Bh3, Be5, Sg6, Sf4, Pa6] black: [Kc6, Qf2, Bc2, Ba1, Pf7, Pd4, Pb7] stipulation: "#2" solution: | "1...f7-f5 2.Sg6-f8 # 1.Be5-c7 ? threat: 2.Qa5-b6 # 1...f7-f5 2.Sg6-e5 # 2.Sg6-f8 # but 1...Qf2*f4 ! 1.Be5-d6 ! threat: 2.Qa5-c5 # 1...d4-d3 2.Sg6-e7 # 1...Kc6*d6 2.Qa5-b6 # 1...b7-b5 2.Qa5-c7 # 1...b7-b6 2.Qa5-d5 # 1...b7*a6 2.Qa5*a6 # 1...f7-f5 2.Sg6-e5 #" keywords: - Flight giving key - Active sacrifice comments: - 136 p.39, Album FIDE 1945-55 --- authors: - Mansfield, Comins source: American Chess Bulletin date: 1947 distinction: 1st Prize algebraic: white: [Kh5, Qd7, Ra4, Ba2, Ba1, Sh1, Sd3] black: [Kf5, Re6, Rb7, Bf4, Sh3, Sd8, Ph2, Pf6, Pd6, Pa7] stipulation: "#2" solution: | "1.Ba2-b1 ! threat: 2.Sd3-b4 # 1...Sh3-f2 2.Ra4*f4 # 1...Sh3-g5 2.Ra4*f4 # 1...Bf4-c1 {(B~ )} 2.Sh1-g3 # 1...Bf4-e5 2.Sd3-b2 # 1...Rb7*b1 2.Qd7-h7 # 1...Rb7-b2 2.Qd7-h7 # 1...Rb7-b3 2.Qd7-h7 # 1...Rb7*d7 2.Sd3-e5 # 1...Rb7-c7 2.Sd3-c5 #" keywords: - Black correction comments: - 159 p.43, Album FIDE 1945-55 --- authors: - Mansfield, Comins source: Milwaukee Journal date: 1947 distinction: 1st Prize algebraic: white: [Ka3, Qb2, Rd3, Ra8, Bf1, Bc5, Sd8, Pb6] black: [Ka6, Qf7, Rh3, Re6, Bb8, Bb7, Ph2, Pa7, Pa5] stipulation: "#2" solution: | "1...Bb8-g3 2.Ra8*a7 # 1...Bb8-d6 2.Ra8*a7 # 1...Bb8-c7 2.Ra8*a7 # 1.b6*a7 ! threat: 2.a7*b8=S # 1...Rh3*d3 + 2.Bf1*d3 # 1...Bb8*a7 2.Ra8*a7 # 1...Bb8-g3 2.Rd3-d6 # 1...Bb8-f4 2.Rd3-e3 # 1...Bb8-e5 2.Rd3-f3 # 1...Bb8-d6 2.Qb2-b6 # 1...Bb8-c7 2.Qb2*b7 #" keywords: - Black correction - Transferred mates comments: - 164 p.44, Album FIDE 1945-55 --- authors: - Mansfield, Comins source: American Chess Bulletin date: 1948 distinction: 1st Prize algebraic: white: [Kc2, Qb1, Rd5, Ra4, Bc1, Ba8, Sh4, Sh3, Pe2] black: [Ke4, Qd4, Rg8, Bc4, Sh1, Pf6, Pc5, Pb5] stipulation: "#2" solution: | "1.Bc1-f4 ! threat: 2.Rd5-e5 # 1...Bc4-b3 + 2.Kc2*b3 # 1...Bc4-d3 + 2.e2*d3 # 1...Bc4*d5 2.Kc2-c1 # 1...Qd4-a1 2.Rd5-d8 # 1...Qd4-b2 + 2.Kc2*b2 # 1...Qd4-c3 + 2.Kc2*c3 # 1...Qd4-g1 2.Rd5-d8 # 1...Qd4-e3 2.Rd5-d8 # 1...Qd4-d1 + 2.Kc2*d1 # 1...Qd4-d2 + 2.Kc2*d2 # 1...Qd4-d3 + 2.e2*d3 # 1...Qd4*d5 2.Kc2-c3 # 1...Rg8*a8 2.Qb1*h1 # 1...Qd4-e5 2.Kc2-d1 # 2.Kc2-c1 # 2.Kc2-d2 # 1...Qd4-f2 2.Rd5-d8 # 2.Kc2-d1 # 2.Kc2-c1 # 2.Kc2-b2 # 2.Kc2-c3 # 2.Kc2-d2 #" keywords: - Black correction comments: - 178 p.46, Album FIDE 1945-55 --- authors: - Mansfield, Comins source: Die Schwalbe date: 1948 distinction: 1st HM algebraic: white: [Ka6, Qb7, Rg2, Rc6, Bh1, Sg7, Sb4] black: [Ke4, Bf5, Bd4, Sc8, Pg6, Pe3] stipulation: "#2" solution: | "1.Sb4-d3 ! threat: 2.Rc6-c3 # 2.Rg2-d2 # 1...e3-e2 2.Rg2-g3 # 1...Bd4-a1 {(Bd~ )} 2.Rc6-d6 # 1...Ke4*d3 2.Qb7-b1 # 1...Ke4-f3 2.Rc6-f6 # 1...Ke4-d5 2.Rg2-g5 #" keywords: - Flight giving and taking key - Active sacrifice --- authors: - Mansfield, Comins source: Die Schwalbe date: 1948 distinction: Commendation algebraic: white: [Kf2, Qh4, Rc7, Ra4, Bg3, Sa3] black: [Kd5, Qb3, Bg6, Ba1, Sd4, Pe6, Pd3, Pc5, Pc2] stipulation: "#2" solution: | "1.Qh4-f4 ? threat: 2.Qf4-e5 # but 1...Sd4-b5 ! 1.Qh4-h8 ! threat: 2.Qh8-e5 # 1...Sd4-e2 2.Qh8-d8 # 1...Sd4-f3 2.Qh8-d8 # 1...Sd4-f5 2.Qh8-h1 # 1...Sd4-c6 2.Rc7-d7 # 1...Sd4-b5 2.Qh8-a8 #" keywords: - Flight giving key - Black correction --- authors: - Mansfield, Comins source: Stratford Express date: 1950 distinction: 2nd Prize algebraic: white: [Ka8, Qb3, Re5, Bh1, Bb6, Sf7, Pd6, Pc5] black: [Kc6, Qd4, Bh4, Sh7, Pe4, Pd7, Pa3] stipulation: "#2" solution: | "1...Qd4-b2 2.Bh1*e4 # 1...Qd4*c5 2.Re5*c5 # 1...Qd4-d2 2.Qb3-a4 # 1...Qd4-a4 + 2.Qb3*a4 # 1...Qd4*d6 2.Qb3-a4 # 1...Qd4-d5 2.Qb3-a4 # 1.Re5*e4 ! threat: 2.Re4*d4 # 1...Qd4-a1 2.Re4-e1 # 1...Qd4-b2 2.Re4-e2 # 1...Qd4-c3 2.Re4-e3 # 1...Qd4-g1 2.Sf7-e5 # 1...Qd4-f2 2.Sf7-e5 # 1...Qd4-h8 + 2.Re4-e8 # 1...Qd4-g7 2.Re4-g4 # 1...Qd4-f6 2.Re4-f4 # 1...Qd4*c5 2.Re4-c4 # 1...Qd4-d1 2.Sf7-e5 # 1...Qd4-d2 2.Sf7-e5 # 1...Qd4-d3 2.Sf7-e5 # 1...Qd4-a4 + 2.Re4*a4 # 1...Qd4-b4 2.Re4*b4 # 1...Qd4-c4 2.Re4*c4 # 1...Qd4*d6 2.Re4-e6 # 1...Qd4-d5 2.Qb3-a4 # 1...Sh7-f6 2.Sf7-d8 # 1...Sh7-g5 2.Sf7-d8 # 1...Qd4-e3 2.Sf7-e5 # 2.Re4*e3 # 1...Qd4-e5 2.Sf7*e5 # 2.Re4*e5 # 1...Qd4*e4 2.Sf7-e5 # 2.Bh1*e4 #" keywords: - Changed mates comments: - 90 p.32, Album FIDE 1945-55 --- authors: - Mansfield, Comins source: Chess date: 1954 distinction: 1st Prize algebraic: white: [Ka3, Qa2, Rh5, Ra6, Bh1, Be5, Sf8, Sb3, Pd6, Pc2] black: [Kd5, Qh4, Re4, Pc4] stipulation: "#2" solution: | "1.Ka3-b4 ! threat: 2.Qa2-a5 # 1...c4-c3 + 2.Sb3-d4 # 1...c4*b3 + 2.c2-c4 # 1...Qh4-e1 + 2.Be5-c3 # 1...Qh4-f2 2.Be5-f4 # 1...Qh4-d8 2.Be5-f6 #" comments: - 70 p.28, Album FIDE 1945-55 --- authors: - Mansfield, Comins source: Chess date: 1950 distinction: 1st Prize algebraic: white: [Ka4, Qh1, Re4, Rc6, Ba8, Ba3, Se6, Sc5, Pb3, Pa6] black: [Kd5, Rh4, Rg8, Bh2, Ph5, Pd2] stipulation: "#2" solution: | "1.Ba3-b2 ! threat: 2.Re4-g4 # 1...d2-d1=Q 2.Qh1*d1 # 1...d2-d1=R 2.Qh1*d1 # 1...d2-d1=B 2.Qh1*d1 # 1...Bh2-g1 2.Se6-c7 # 1...Bh2-b8 2.Rc6-b6 # 1...Bh2-c7 2.Se6*c7 # 1...Bh2-d6 2.Rc6-c8 # 1...Bh2-e5 2.Re4-d4 # 1...Bh2-f4 2.Re4-e5 # 1...Bh2-g3 2.Re4*h4 # 1...Rh4-h3 2.Re4-e5 # 1...Rh4*e4 + 2.Qh1*e4 # 1...Rh4-f4 2.Se6-c7 # 1...Rg8-g1 2.Rc6-b6 # 1...Rg8-g2 2.Rc6-b6 # 1...Rg8-f8 2.Re4-f4 # 1...Rg8-g3 2.Se6-c7 # 2.Rc6-b6 #" keywords: - Black correction comments: - 148 p.41, Album FIDE 1945-55 --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1952 distinction: 3rd HM algebraic: white: [Kb1, Qf8, Rg6, Re4, Bf3, Ba5, Sf6] black: [Kc6, Qf5, Rh7, Bg1, Sb8, Pd4, Pc4, Pb7, Pb5] stipulation: "#2" solution: | "1...Qf5*e4 + 2.Bf3*e4 # 1...Qf5*f6 2.Re4*d4 # 1.Qf8-d8 ! threat: 2.Qd8-b6 # 1...d4-d3 2.Re4*c4 # 1...Qf5*e4 + 2.Sf6*e4 # 1...Qf5-c5 2.Re4-e6 # 1...Qf5*f6 2.Re4-e5 # 1...Rh7-c7 2.Qd8*c7 # 1...Sb8-d7 2.Qd8-c7 #" keywords: - Flight giving key - Changed mates comments: - 119 p.37, Album FIDE 1945-55 --- authors: - Mansfield, Comins source: The Argonaut date: 1953 distinction: 1st Prize algebraic: white: [Kf7, Qa7, Rd3, Rb8, Bf4, Bc2, Ph6] black: [Kh7, Qb1, Ba1, Sa2, Pe7, Pd2, Pc5] stipulation: "#2" solution: | "1.Qa7-b7 ? threat: 2.Qb7-e4 # but 1...Sa2-c3 ! 1.Qa7*e7 ? threat: 2.Qe7-e4 # 1...Sa2-c3 2.Kf7-f6 # but 1...Ba1-e5 ! 1.Qa7-a8 ! threat: 2.Qa8-e4 # 1...Qb1*b8 2.Rd3-d8 # 1...Qb1-b7 2.Rd3-d5 # 1...Qb1-b6 2.Rd3-d6 # 1...Qb1-b4 2.Rd3-d4 # 1...Qb1-b3 + 2.Rd3*b3 # 1...Qb1-h1 2.Rd3-f3 # 1...Qb1-g1 2.Rd3-g3 # 1...Qb1-e1 2.Rd3-e3 # 1...Sa2-c3 2.Rb8-h8 #" comments: - 56 p.26, Album FIDE 1945-55 --- authors: - Mansfield, Comins source: American Chess Bulletin date: 1953 distinction: HM algebraic: white: [Kb1, Qe2, Rf7, Rd5, Bf3, Se5, Se4, Ph7, Pg7, Pb5] black: [Ke6, Rf5, Rd7, Pf4, Pb6] stipulation: "#2" solution: | "1.Se5-c6 ! threat: 2.Se4-g5 # 1...Rf5*d5 2.Rf7-f6 # 1...Rf5*f7 2.Rd5-e5 # 1...Ke6*d5 2.Qe2-a2 # 1...Ke6*f7 2.g7-g8=Q # 1...Rd7*d5 2.Rf7-e7 # 1...Rd7*f7 2.Rd5-d6 #" keywords: - Flight giving key - Defences on same square comments: - anticipated 331528 --- authors: - Mansfield, Comins source: The Problemist date: 1953 distinction: 4th Prize algebraic: white: [Kh6, Qb5, Rc3, Ra4, Bb7, Sb4] black: [Kf4, Rf2, Ra1, Bg2, Bb8, Sf8, Sf1, Pg4, Pg3, Pf5] stipulation: "#2" solution: | "1.Bb7-e4 ! threat: 2.Qb5*f5 # 1...Sf1-e3 2.Sb4-d3 # 1...Bg2*e4 2.Qb5*b8 # 1...Kf4*e4 2.Sb4-a2 # 1...f5*e4 2.Qb5-g5 # 1...Bb8-e5 2.Sb4-d5 #" keywords: - Flight giving key - Defences on same square - B2 - Rudenko comments: - 114 p.36, Album FIDE 1945-55 --- authors: - Mansfield, Comins source: Alain C. White MT date: 1952 distinction: HM, 1952-1953 algebraic: white: [Kg1, Qa1, Re1, Ra6, Bb3, Ba3, Sh4, Sd5, Ph7, Ph6, Pf6] black: [Kf7, Rg3, Rb7, Ba5, Sh8, Se8, Pg7, Pg2] stipulation: "#2" solution: | "1...Ra7 2.Ne3#/Nc3# 1...Rg6 2.Nb6# 1...Bb6+ 2.Ne3# 1.fxg7! (2.gxh8N#) 1...Ng6 2.g8Q#/g8B# 1...Rb4/Re7 2.Re7# 1...Rxg7 2.Nb6# 1...Bb4 2.Nc3# 1...Bc3 2.Nb4# 1...Bb6+ 2.Ne3# 1...Nxg7 2.Qf6#/Rf6# 1...Nd6 2.Qf6#" --- authors: - Mansfield, Comins source: The Problemist date: 1959 algebraic: white: [Kc8, Qb1, Bg8, Bd8, Sb3, Ph3, Pg6, Pg3, Pf6, Pd6, Pc5] black: [Ke5] stipulation: "#2" twins: b: Move c8 b4 c: Move c8 b5 d: Move c8 b7 e: Move c8 h4 f: Move c8 h7 g: Move c8 e2 h: Move c8 f2 solution: | "a) 1.Bg8-e6 ! threat: 2.Qb1-f5 # 2.Qb1-e1 # 1...Ke5*e6 2.Qb1-e4 # b) wKc8--b4 1.Sb3-d2 ! threat: 2.Sd2-f3 # 2.Qb1-e4 # 1...Ke5-d4 2.Qb1-e4 # c) wKc8--b5 1.Bg8-d5 ! threat: 2.Qb1-e4 # 1...Ke5*d5 2.Qb1-f5 # d) wKc8--b7 1.c5-c6 ! zugzwang. 1...Ke5*d6 2.Bd8-c7 # e) wKc8--h4 1.Bd8-a5 ! threat: 2.Ba5-c3 # f) wKc8--h7 1.Qb1-h1 ! threat: 2.Qh1-d5 # g) wKc8--e2 1.Qb1-f1 ! threat: 2.Qf1-f4 # h) wKc8--f2 1.g3-g4 ! threat: 2.Qb1-f5 #" --- authors: - Mansfield, Comins source: Magyar Sakkélet date: 1959 distinction: 2nd Prize algebraic: white: [Kd8, Qg5, Rc4, Ra7, Ba2, Se7, Sd7, Pc5] black: [Kf7, Qh7, Rf4, Rc1, Bh2, Bg8, Sf1, Pg7, Pf5, Pb5] stipulation: "#2" solution: | "1.Se7-g6 ! threat: 2.Sd7-f8 # 1...Rf4*c4 {(Rf~ )} 2.Qg5*f5 # 1...Rc1-e1 2.Rc4-e4 # 1...Rc1-d1 2.Rc4-d4 # 1...Rf4-f2 2.Rc4-c2 # 1...Rf4-f3 2.Rc4-c3 # 1...Kf7-e6 2.Rc4-e4 # 1...Qh7*g6 2.Qg5-e7 #" comments: - 20 p.20, Album FIDE 1959-61 --- authors: - Mansfield, Comins source: M.Chigorin MT date: 1958 distinction: 8th Comm., 1958-1959 algebraic: white: [Ka8, Qe5, Rg4, Rd5, Bh3, Be7, Sd7, Pb6] black: [Kc8, Qh2, Re1, Rd1, Bh1, Ba1, Sh5, Sa3, Pg6, Pb7] stipulation: "#2" solution: | "1.Sd7-b8 ! threat: 2.Rg4-c4 # 1...Ba1-d4 2.Rd5-d8 # 1...Rd1-d4 2.Qe5-h8 # 1...Re1-e4 2.Rd5-c5 # 1...Bh1-e4 2.Qe5-e6 # 1...Qh2-f4 2.Rg4*f4 # 1...Qh2*h3 2.Qe5-c7 # 1...Sh5-f4 2.Qe5-c7 #" keywords: - Grimshaw comments: - 19 p.20, Album FIDE 1959-61 --- authors: - Mansfield, Comins source: British Chess Federation 89th Tourney date: 1958 distinction: 1st Prize, 1958-1959 algebraic: white: [Kf3, Qa6, Rh5, Rd1, Be5, Sc2, Sb8, Pg6, Pf6, Pd4, Pa4] black: [Kd5, Bf8, Sc6, Sa5, Pf4, Pc3] stipulation: "#2" solution: | "1...Kd5-e6 2.d4-d5 # 1...Sc6*d4 + 2.Be5*d4 # 1...Sc6*e5 + 2.Rh5*e5 # 1.Qa6-c8 ! zugzwang. 1...Sa5-b3 {(Sa~ )} 2.Qc8*c6 # 1...Kd5-c4 2.Qc8-e6 # 1...Sc6-b4 {(Sc~ )} 2.Be5*f4 # 1...Sc6*d4 + 2.Rd1*d4 # 1...Sc6*e5 + 2.d4*e5 # 1...Sc6-e7 2.Sc2-b4 # 1...Sc6-a7 2.Be5*f4 # 1...Bf8-a3 {(B~ )} 2.Qc8-g8 # 1...Sc6*b8 2.Be5*f4 # 2.Be5*b8 #" keywords: - Flight giving and taking key - Black correction - Changed mates comments: - 118 p.36, Album FIDE 1959-61 --- authors: - Mansfield, Comins source: American Chess Bulletin date: 1960 distinction: 1st Prize algebraic: white: [Kf7, Qe8, Rf5, Rd5, Bg2, Be7, Sf2, Sc2, Pd2, Pc4, Pb3] black: [Ke2, Rf1, Rd1, Ba3, Sh1, Pe6] stipulation: "#2" solution: | "1...e6*f5 2.Be7-c5 # 1...e6*d5 2.Be7-b4 # 1.c4-c5 ! threat: 2.Qe8-b5 # 1...e6*f5 2.Be7-h4 # 1...e6*d5 2.Be7-g5 # 1...Rd1*d2 2.Rd5-e5 # 1...Sh1*f2 2.Bg2-f3 #" keywords: - Changed mates comments: - 119 p.37, Album FIDE 1959-61 --- authors: - Mansfield, Comins source: British Chess Federation 92nd Tourney date: 1959 distinction: 4th Prize, 1959-1960 algebraic: white: [Kh1, Qd4, Rb3, Ba2, Sh8, Sg6] black: [Ke6, Rh3, Rb8, Bc8, Sg2, Ph2, Pg7, Pf6, Pc6, Pa6, Pa4] stipulation: "#2" solution: | "1...Bb7[a]/Ra8 2.Rf3#[A] 1...f5[b] 2.Re3#[B] 1...Rh4/Rh6/Rh7/Rxh8[c] 2.Rb5#[C] 1.Qe4+?? 1...Kd7 2.Qe7# but 1...Kd6! 1.Qe5+?? 1...Kd7 2.Qe7# but 1...fxe5! 1.Rb4+?? 1...Kf5 2.Qg4#/Qc5# but 1...Rb3! 1.Rc3+?? 1...Kf5 2.Rc5# but 1...Rb3! 1.Rd3+[D]?? 1...Rb3 2.Qe4# but 1...Kf5! 1.Rg3+?? 1...Kf5 2.Ne7#/Qd3#/Qg4# but 1...Rb3! 1.Rxh3+?? 1...Kf5 2.Rh5# but 1...Rb3! 1.Qc5! (2.Nf8#) 1...Bb7[a] 2.Rd3#[D] 1...f5[b] 2.Qxc6#[F] 1...Rxh8[c] 2.Rb7#[E] 1...Kd7 2.Qe7# 1...Bd7 2.Re3#[B]" keywords: - Flight giving and taking key - Changed mates --- authors: - Mansfield, Comins source: The South African Chess Player date: 1960 distinction: 1st Prize algebraic: white: [Kh1, Qh5, Re6, Rc8, Bd8, Bc6, Sc2, Sa7, Pf2, Pa2] black: [Kc5, Ra3, Bh2, Bd5, Sc3, Sa4, Pf3, Pe5, Pc4] stipulation: "#2" solution: | "1.Qh5*f3 ! threat: 2.Bc6*d5 # 1...Sc3-e4 2.Qf3*a3 # 1...Sc3-b5 2.Qf3*d5 # 1...Sa4-b6 2.Bd8-e7 # 1...Bd5*f3 + 2.Bc6*f3 # 1...Bd5-e4 2.Bc6*e4 # 1...Bd5*e6 2.Qf3-f8 # 1...e5-e4 2.Qf3-e3 # 1...Bd5*c6 2.Rc8*c6 # 2.Re6*c6 # 2.Qf3*c6 #" keywords: - Active sacrifice - Defences on same square comments: - 27 p.21, Album FIDE 1959-61 --- authors: - Mansfield, Comins source: Tijdschrift vd KNSB date: 1960 distinction: 2nd Prize algebraic: white: [Ka4, Qa3, Ra7, Bg2, Sf6, Sc3, Pe6, Pb2, Pa5] black: [Kc6, Rh4, Re8, Bf7, Pe7, Pe4, Pc7, Pc2, Pb3] stipulation: "#2" solution: | "1.Sf6*e4 ? {display-departure-square} threat: 2.Qa3-c5 # 1...Rh4*e4 + 2.Bg2*e4 # 1...Rh4-h5 2.Se4-g5 # but 1...Bf7*e6 ! 1.Sc3*e4 ? {display-departure-square} threat: 2.Qa3-c5 # but 1...c2-c1=Q ! 1.Sc3-d5 ? {display-departure-square} threat: 2.Ra7*c7 # but 1...e7*f6 ! 1.Sf6-d5 ! {display-departure-square} threat: 2.Ra7*c7 # 1...e4-e3 + 2.Sd5-f4 # 1...Re8-c8 2.Sd5*e7 #" comments: - 131 p.39, Album FIDE 1959-61 --- authors: - Mansfield, Comins source: Il Due Mosse source-id: 1349 date: 1960-01 distinction: 2nd Prize algebraic: white: [Ka7, Qc7, Rh5, Bf5, Be5, Sf3, Pf6] black: [Kd5, Qa2, Rh1, Rg2, Pe4, Pb2, Pa3] stipulation: "#2" solution: | "1.Be5-d4 ? threat: 2.Qc7-c5 # 1...Rh1-c1 2.Bf5-g4 # 1...Qa2-c4 2.Qc7-d7 # 1...Rg2-c2 2.Bf5-h3 # but 1...Rg2-g7 ! 1.Bf5-d7 ! threat: 2.Qc7-c6 # 1...Rh1-c1 2.Be5-g3 # 1...Qa2-c4 2.Qc7-d6 # 1...Rg2-c2 2.Be5-h2 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: The Observer date: 1961 distinction: 2nd Prize algebraic: white: [Ke3, Qa1, Rc7, Bd7, Sb2, Pg3, Pf4, Pe6, Pb4] black: [Kd5, Qh8, Sg7, Sa8, Pg4, Pf5, Pd6, Pd2, Pc4, Pb5] stipulation: "#2" solution: | "1.Sb2-d3 ? threat: 2.Qa1-d4 # but 1...d2-d1=S + ! 1.Sb2*c4 ? threat: 2.Qa1-d4 # but 1...Sg7*e6 ! 1.Sb2-a4 ? threat: 2.Sa4-c3 # 2.Qa1-d4 # but 1...Sg7-e8 ! 1.Sb2-d1 ? threat: 2.Sd1-c3 # 2.Qa1-d4 # but 1...Sg7-h5 ! 1.Rc7*c4 ! threat: 2.Rc4-d4 # 1...d2-d1=Q 2.Qa1*d1 # 1...d2-d1=S + 2.Qa1*d1 # 1...b5*c4 2.Qa1-a5 # 1...Sg7*e6 2.Bd7-c6 # 1...Sg7-h5 2.Qa1-h1 # 1...Sg7-e8 2.Qa1*a8 #" comments: - 150 p.42, Album FIDE 1959-61 --- authors: - Mansfield, Comins source: Шахматы в СССР source-id: 2/10 date: 1961 distinction: 2nd Prize algebraic: white: [Ka7, Qf4, Rc1, Rb5, Bd4, Ba6, Sb6] black: [Kd3, Qb1, Rh5, Bf3, Sc2, Ph6, Pe4, Pc6] stipulation: "#2" solution: | "1...Qb1*c1 2.Rb5-d5 # 1...Sc2-e3 2.Qf4*e3 # 1...Kd3*d4 2.Qf4-d2 # 1...Rh5-h2 2.Rb5-b4 # 1.Bd4-c3 ! threat: 2.Qf4-d2 # 1...Qb1*c1 2.Rb5-c5 # 1...Sc2-e3 2.Rb5-d5 # 1...Kd3*c3 2.Qf4-e3 # 1...e4-e3 2.Qf4-c4 # 1...Rh5-h2 2.Rb5-b3 #" keywords: - Flight giving and taking key - Rukhlis comments: - 78 p.30, Album FIDE 1959-61 --- authors: - Mansfield, Comins source: The Problemist date: 1962 distinction: 4th Prize algebraic: white: [Ka1, Qh3, Rb7, Bc1, Ba8, Sc7, Sc2, Pf4] black: [Ke4, Rg6, Rg5, Bh8, Ba2, Sg7, Se8, Ph5, Pg2, Pe6, Pc4] stipulation: "#2" solution: | "1...Rg5-g3 2.Rb7-b3 # 1...Rg5-g4 2.Rb7-b5 # 1...Sg7-f5 + 2.Rb7-b2 # 1.Sc7-b5 ! threat: 2.Sb5-c3 # 1...Ke4-d5 2.Rb7-c7 # 1...Rg5-g3 2.Rb7-d7 # 1...Rg5-g4 2.Rb7-f7 # 1...Rg5*b5 2.Rb7*b5 # 1...Sg7-f5 + 2.Rb7-g7 #" keywords: - Flight giving key - Black correction - Changed mates comments: - 136 p.39, Album FIDE 1962-64 --- authors: - Mansfield, Comins source: Boletim da UBP date: 1962 distinction: 2nd Comm. algebraic: white: [Ke2, Qf5, Bf7, Bd6, Sb5, Sa5, Pf4, Pd4] black: [Kd5, Qe6, Bg8, Bf6, Ph2, Pe5, Pb4] stipulation: "#2" solution: | "1.Bd6*e5 ? threat: 2.Sb5-c7 # 1...Qe6*f7 2.Be5*f6 # but 1...Bf6-d8 ! 1.d4*e5 ! threat: 2.Qf5-d3 # 1...Qe6*f7 2.e5*f6 # 1...Bf6*e5 2.Qf5*e5 # 1...Bg8-h7 2.Bf7*e6 #" --- authors: - Mansfield, Comins source: Die Schwalbe date: 1963-02 distinction: 5th HM algebraic: white: [Kh8, Qh3, Rf1, Rd5, Bd6, Ba2, Sh4, Sg7, Pg5, Pb4] black: [Kf7, Qe2, Be8, Sf6, Se4, Ph7, Pd7, Pc3, Pb5] stipulation: "#2" solution: | "1...Se4-d2 2.Rf1*f6 # 1...Se4-g3 2.Rf1*f6 # 1...Se4-c5 2.Rf1*f6 # 1.Qh3-f3 ! zugzwang. 1...Qe2-d1 2.Rd5*d1 # 1...Qe2*f1 2.Rd5-d3 # 1...Qe2*f3 2.Rd5-f5 # 1...Qe2-c4 2.Qf3-h5 # 1...Qe2*a2 2.Qf3-h5 # 1...Qe2-b2 2.Qf3-h5 # 1...Qe2-c2 2.Qf3-h5 # 1...Qe2-f2 2.Rd5-d2 # 1...c3-c2 2.Rd5-d3 # 1...Se4-d2 {(Se~ )} 2.Qf3*f6 # 1...h7-h5 2.g5-g6 # 1...h7-h6 2.g5-g6 # 1...Qe2-d2 2.Rd5*d2 # 2.Qf3-h5 # 1...Qe2-d3 2.Rd5*d3 # 2.Qf3-h5 # 1...Qe2-e1 2.Rd5-d1 #{(Rd~ )} 1...Qe2-e3 2.Rd5-d1 # {(Rd~ )} 1...Qe2-h2 2.Rd5-d2 # 2.Qf3-h5 # 1...Qe2-g2 2.Rd5-d2 # 2.Qf3-h5 #" keywords: - Active sacrifice - Transferred mates --- authors: - Mansfield, Comins source: A.Galitzky -100 MT date: 1964 distinction: 2nd HM, 1963-64 algebraic: white: [Kg7, Qb5, Rh8, Rd1, Bd3, Se8, Sc7, Pg5, Pe3, Pb7] black: [Kd8, Qg4, Rb8, Pg3, Pf7, Pe7, Pe5, Pc4] stipulation: "#2" solution: | "1.Qb5-b6 ! threat: 2.Se8-f6 # 1...Qg4-h3 2.Bd3-f5 # 1...Qg4-h5 2.Bd3-e2 # 1...Qg4-d7 2.Sc7-e6 # 1...Qg4*g5 + 2.Bd3-g6 # 1...Qg4-h4 2.Bd3-e4 # 1...e7-e6 2.Qb6-d6 # 1...Kd8-d7 2.Bd3-f5 #" keywords: - Flight giving key - Transferred mates comments: - 18 p.20, Album FIDE 1962-64 --- authors: - Mansfield, Comins source: The Problemist date: 1965 distinction: 1st Prize algebraic: white: [Ke2, Rh6, Rc1, Bg7, Bb1, Sa7, Ph5, Pd2, Pc6, Pb4] black: [Kd5, Pd6, Pc7] stipulation: "#2" twins: b: Move e2 d7 c: Move e2 g3 d: Move e2 g5 e: Move e2 f8 f: Move e2 a3 solution: | "a) 1.Bg7-c3 ! zugzwang. 1...Kd5-c4 2.Bb1-a2 # b) wKe2--d7 1.Rh6-f6 ! threat: 2.Rf6-f5 # c) wKe2--g3 1.Rc1-c2 ! zugzwang. 1...Kd5-e4 2.Rc2-c5 # d) wKe2--g5 1.Kg5-f6 ! zugzwang. 1...Kd5-d4 2.Kf6-e6 # e) wKe2--f8 1.Bb1-g6 ! zugzwang. 1...Kd5-e6 2.Bg6-e4 # f) wKe2--a3 1.Bb1-c2 ! zugzwang. 1...Kd5-c4 2.Bc2-e4 #" --- authors: - Mansfield, Comins source: Шахматы в СССР source-id: 4/27 date: 1965 distinction: 3rd Prize algebraic: white: [Kh7, Qc1, Rh5, Rc4, Bf5, Ba3, Sd8, Pg4, Pf6, Pf3, Pc6] black: [Kb5, Qd5, Ra6, Pf7, Pf4, Pb6, Pa7, Pa5] stipulation: "#2" solution: | "1.Qc1-f1 ! zugzwang. 1...a5-a4 2.Rc4-c5 # 1...Qd5*c4 2.Bf5-c2 # 1...Qd5*f3 2.Bf5-e4 # 1...Qd5-e6 2.Bf5*e6 # 1...Qd5*c6 2.Bf5-d7 # 1...Qd5-d1 2.Bf5-d3 # 1...Qd5-d2 2.Bf5-d3 # 1...Qd5-d3 2.Bf5*d3 # 1...Qd5-d4 2.Rc4*d4 # 1...Qd5-c5 2.Rc4-b4 # 1...Qd5*d8 2.Bf5-d7 # 1...Qd5-d6 2.Rc4-d4 # 1...Qd5*f5 + 2.Rh5*f5 # 1...Qd5-e5 2.Rc4-e4 # 1...Qd5-e4 2.Bf5*e4 # 2.Rc4*e4 # 1...Qd5-d7 2.Bf5*d7 # 2.Rc4-d4 #" keywords: - Black correction comments: - 27 p.13, Album FIDE 1965-67 --- authors: - Mansfield, Comins source: The Problemist date: 1965 algebraic: white: [Ke6, Qb7, Rd4, Bd3, Bc5, Sh3, Sb1, Pg4, Pd6, Pa4] black: [Ke3, Ra7, Ba8, Sg1, Sa1, Pe7, Pa5, Pa2] stipulation: "#2" solution: | "1.Bd3-a6 ! threat: 2.Rd4-d1 # 2.Rd4-d2 # 2.Rd4-b4 # 2.Rd4-f4 # 1...Sa1-c2 {(Sa~ )} 2.Qb7-b3 # 1...Sg1-f3 2.Rd4-e4 # 1...Sg1-e2 2.Rd4-d3 # 1...e7*d6 2.Rd4*d6 #" keywords: - B2 - Fleck - Karlstrom-Fleck comments: - 23 p.13, Album FIDE 1965-67 --- authors: - Mansfield, Comins source: Europe Échecs date: 1965 distinction: 1st HM algebraic: white: [Kc6, Qf4, Rd5, Rc1, Bf1, Be5, Sc2, Pe4, Pa2] black: [Kc4, Qe2, Rh4, Ra1, Bh6, Bh1, Pf3, Pb6, Pa5] stipulation: "#2" solution: | "1.Rd5-d3 ! threat: 2.Rd3-c3 # 1...Qe2*d3 2.Qf4-f7 # 1...Qe2*c2 2.Rd3-b3 # 1...Qe2*e4 + 2.Rd3-d5 # 1...Kc4*d3 2.Sc2-e1 #" keywords: - Flight giving key - Switchback --- authors: - Mansfield, Comins source: Sydsvenska Dagbladet Snällposten date: 1966 distinction: 2nd Place algebraic: white: [Kc8, Rd7, Rc1, Bc2, Sd5, Sc5, Pe5, Pb4] black: [Kc6, Bd8, Bc4, Pe7, Pb5] stipulation: "#2" solution: | "1.Bc2-e4 ? zugzwang. 1...Bc4-a2 2.Sc5-b3 # 1...Bc4-b3 2.Sc5*b3 # 1...Bc4-f1 2.Sc5-d3 # 1...Bc4-e2 2.Sc5-d3 # 1...Bc4-d3 2.Sc5*d3 # 1...Bc4*d5 2.Sc5-a4 # 1...e7-e6 2.Rd7-d6 # 1...Bd8-b6 2.Sd5*e7 # 1...Bd8-c7 2.Rd7*c7 # but 1...Bd8-a5 ! 1.Sc5-a4 ! zugzwang. 1...Bc4-a2 2.Bc2-b3 # 1...Bc4-b3 2.Bc2*b3 # 1...Bc4-f1 2.Bc2-d3 # 1...Bc4-e2 2.Bc2-d3 # 1...Bc4-d3 2.Bc2*d3 # 1...Bc4*d5 2.Bc2-e4 # 1...b5*a4 2.Bc2*a4 # 1...e7-e6 2.Rd7-d6 # 1...Bd8-a5 2.Sd5*e7 # 1...Bd8-b6 2.Sd5*e7 # 1...Bd8-c7 2.Sd5*e7 #" keywords: - Reversal - Anti-reversal - Stocchi comments: - 52 p.17, Album FIDE 1965-67 --- authors: - Mansfield, Comins source: U.S. Problem Bulletin date: 1969 distinction: 2nd Prize algebraic: white: [Ka6, Qh8, Rf1, Rb7, Bf4, Ba8, Sd4, Sb6, Pg6, Pe6, Pd2] black: [Ke4, Rg7, Bf2, Pd3] stipulation: "#2" solution: | "1...Bf2-e1 {(B~ )} 2.Rb7-d7 # 1...Bf2*d4 2.Rb7-f7 # 1.Sb6-d7 ! zugzwang. 1...Bf2-e1 {(B~ )} 2.Rb7-b4 # 1...Bf2*d4 2.Rb7-b5 # 1...Ke4-d5 2.Rb7-b4 # 1...Ke4*d4 2.Rb7-b4 # 1...Ke4*f4 2.Qh8-h4 # 1...Rg7*g6 {(R~ )} 2.Qh8-e5 #" keywords: - Flight giving key - Black correction - Changed mates - Rudenko - Barnes comments: - 45 p.16, Album FIDE 1968-70 --- authors: - Mansfield, Comins source: Chess Life & Review date: 1971 distinction: 1st Prize algebraic: white: [Ka7, Qf8, Re1, Rc5, Bd4, Se5, Ph5, Pg6, Pd7] black: [Ke6, Qh4, Bb5, Ba1, Pg4, Pc6, Pb7] stipulation: "#2" solution: | "1...Qh3/Qh2/Qh1/Qxh5/Qg3/Qf2/Qxe1 2.d8N# 1.Qg8+? 1...Ke7[a] 2.d8Q#[A] 1...Kf6 2.Nxg4# 1...Kf5 2.Nd3# but 1...Kd6! 1.d8Q[A]? (2.Qf7#/Qd7#/Qdd6#/Qc8#) 1...Qf2 2.Qd7#/Qdd6#/Qc8#/Qde8#/Qde7# 1...Qf6 2.Qd7#/Qc8#/Qdxf6#/Qfxf6# 1...Qe7 2.Qdxe7#/Nd3#/Nc4# but 1...Qxd8! 1.Qf6+?? 1...Kxf6 2.Nxg4# but 1...Qxf6! 1.Qe8+?? 1...Kf6 2.Nxg4# 1...Kf5 2.Nd3# 1...Qe7 2.Nc4# but 1...Kd6! 1.Qd6+?? 1...Kf5 2.Nf3#/Nf7#/Nd3#/Nc4#/Nxc6# but 1...Kxd6! 1.Nf7+?? 1...Be2 2.Qd6# 1...Qxe1 2.Qe8#/Qd6# but 1...Kxd7! 1.Nc4+?? 1...Qxe1 2.Qf7#/Qe8#/Qd6# but 1...Kxd7! 1.Nxc6+?? 1...Kxd7 2.Nb8# 1...Qxe1 2.Qe7# but 1...Be2! 1.Qc8! (2.d8Q#[A]) 1...Kd6 2.Nf7# 1...Kf6 2.Nxg4# 1...Kf5 2.Nd3# 1...Qe7/Qd8 2.Nc4#" keywords: - 3+ flights giving key - Urania --- authors: - Mansfield, Comins source: Probleemblad source-id: 30/7281 date: 1972-09 distinction: 5th Commendation algebraic: white: [Kb8, Qb5, Rh5, Re8, Be5, Sg5, Pd2] black: [Kd5, Rc1, Sc5, Sb2, Pg7, Pd3] stipulation: "#2" solution: | "1.Sg5-e4 ? threat: 2.Be5*g7 # 1...Rc1-h1 2.Se4-c3 # 1...Rc1-g1 2.Se4-c3 # 1...Rc1-f1 2.Se4-c3 # 1...Kd5*e4 2.Qb5-c6 # 1...g7-g5 2.Se4-f6 # 1...g7-g6 2.Se4-f6 # but 1...Sb2-c4 ! 1.Be5-d4 ! threat: 2.Re8-d8 # 1...Sb2-c4 2.Qb5*c5 # 1...Kd5*d4 2.Sg5-f3 # 1...Kd5-d6 2.Sg5-f7 #" keywords: - 2 flights giving key comments: - 18 p.12, Album FIDE 1971-73 --- authors: - Mansfield, Comins source: Canadian Chess Chat date: 1980 algebraic: white: [Kf4, Rh7, Re4, Bh5, Ba5, Sd5, Sc4, Pf6, Pe7] black: [Kd7, Qe8, Rh8, Bc8, Sg8, Sb5, Pf5, Pc6] stipulation: "#2" solution: | "1.f6-f7 ! threat: 2.f7*e8=Q # 1...Sb5-d6 2.Sc4-b6 # 1...Sb5-c7 2.Sd5-b6 # 1...f5*e4 2.Bh5-g4 # 1...Bc8-a6 2.f7*e8=Q # 1...Bc8-b7 2.f7*e8=Q # 1...Qe8*f7 2.e7-e8=Q # 1...Qe8*e7 2.f7-f8=S # 1...Qe8-d8 2.e7*d8=Q # 1...Qe8-f8 2.e7*f8=S # 1...Sg8*e7 2.Sd5-f6 # 1...Sg8-f6 2.Sd5*f6 # 1...Sg8-h6 2.Sd5-f6 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Canadian Chess Chat date: 1981 algebraic: white: [Kh5, Qc6, Rg6, Bb1, Sd3] black: [Kf5, Rg4, Ra4, Be3, Bc8, Sb6, Ph4, Pg5, Pe6, Pa5] stipulation: "#2" solution: | "1.Qc6-d6 ! threat: 2.Qd6-e5 # 1...Be3-f4 2.Sd3-b4 # 1...Be3-d4 2.Sd3-f4 # 1...Ra4-e4 {display-departure-square} 2.Qd6-f8 # 1...Rg4-e4 {display-departure-square} 2.Qd6-f8 # 1...Kf5-e4 2.Sd3-e1 # 1...Sb6-c4 2.Sd3-f4 # 1...Sb6-d7 2.Qd6*e6 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Problemas source-id: 13/248 date: 1981 distinction: 1st HM algebraic: white: [Ka8, Qa5, Rd5, Rd3, Bc2, Bb2, Sf4, Sc7, Ph4, Ph3, Pe5, Pe2, Pb7] black: [Kf5, Qc4, Pb5] stipulation: "#2" solution: | "1.Qa5-b4 ! zugzwang. 1...Qc4-a2 + 2.Rd3-a3 # 1...Qc4-b3 2.Rd3*b3 # 1...Qc4*d5 2.Rd3*d5 # 1...Qc4*c2 2.e5-e6 # 1...Qc4-c3 2.Rd3*c3 # 1...Qc4*b4 2.Rd3-d4 # 1...Qc4*c7 2.Rd3-c3 # 1...Qc4-c6 2.Rd3-c3 # 1...Qc4-c5 2.Rd3-c3 # 1...Qc4*f4 2.Rd3-f3 # 1...Qc4-e4 2.Qb4-f8 # 1...Qc4-d4 2.Rd3*d4 # 1...Kf5-e4 2.Rd3-f3 # 1...Kf5*f4 2.Rd3-f3 # 1...Qc4*d3 2.e5-e6 # 2.Bc2*d3 #" keywords: - Active sacrifice - Black correction - Battery play --- authors: - Mansfield, Comins source: Шахматы в СССР source-id: 10/75 date: 1963 distinction: 1st-2nd Prize algebraic: white: [Ka5, Qh1, Rh2, Be1, Bb5, Sb3, Sb2, Pf2] black: [Ke2, Qe3, Rc2, Sd3, Sc3, Ph3, Pg5, Pe6, Pd4] stipulation: "#2" solution: | "1...Qe3-g3 2.Sb3*d4 # 1...Qe3-f3 2.Sb3*d4 # 1.Be1-d2 ! threat: 2.f2*e3 # 1...Qe3-g3 2.f2*g3 # 1...Qe3-f3 2.Qh1-e1 # 1...Rc2*d2 2.Sb3-c1 # 1...Sc3-d1 2.Qh1*d1 # 1...Sc3-e4 2.Qh1-d1 # 1...Sc3*b5 2.Qh1-d1 # 1...Qe3*d2 2.Sb3*d4 # 1...Qe3*f2 2.Bb5*d3 # 1...Qe3-f4 2.Bb5*d3 # 1...Qe3-e5 2.f2-f4 # 1...Qe3-e4 2.f2-f3 #" keywords: - Albino - Selfblock comments: - Album FIDE 1962-1964 №14 --- authors: - Mansfield, Comins source: The Hampshire Telegraph and Post date: 1915-01 distinction: 2nd Prize, ex aequo algebraic: white: [Ka7, Qh1, Rf1, Rb8, Bf5, Sc1, Sa4, Pa2] black: [Kb1, Qc2, Rc7, Ra1, Bb7, Sd7, Pc3] stipulation: "#2" solution: | "1.Rf1-f2 ! threat: 2.Bf5*c2 # 1...Ra1*a2 2.Sc1-e2 # 1...Qc2*f5 2.Sc1-d3 # 1...Qc2-e4 2.Sc1-b3 # 1...Qc2-d3 2.Sc1*d3 #" keywords: - Goethart --- authors: - Mansfield, Comins source: The Evening News (London) date: 1933 algebraic: white: [Ke3, Qa1, Rh2, Rc8, Bh7, Se4, Sc1, Pa3] black: [Kc2, Rc6, Bg2, Sg5, Ph3, Pb7, Pa4] stipulation: "#2" solution: | "1...Sg5-f3 2.Se4-f2 # 1...Sg5-e6 2.Se4-c3 # 1.Sc1-b3 ! threat: 2.Sb3-d4 # 1...Kc2*b3 2.Se4-d2 # 1...a4*b3 2.Se4*g5 # 1...Sg5-f3 2.Se4-d2 # 1...Sg5-e6 2.Se4-c5 # 1...Rc6-c3 + 2.Rc8*c3 #" keywords: - Flight giving and taking key - Goethart - Changed mates - Transferred mates --- authors: - Mansfield, Comins source: The Observer date: 1919-12 algebraic: white: [Kh2, Qf6, Rg1, Re5, Pg2, Pd3] black: [Kg4, Bf5, Pf7, Pe6] stipulation: "#2" solution: | "1...Kg4-h5 2.g2-g4 # 1...Kg4-f4 2.Re5-e4 # 1...Bf5*d3 {(B~ )} 2.Qf6-g5 # 1.Rg1-h1 ! zugzwang. 1...Kg4-h5 2.Kh2-g3 # 1...Kg4-f4 2.Re5-e4 # 1...Bf5*d3 {(B~ )} 2.Qf6-g5 #" keywords: - Mutate comments: - partially anticipated by 2376 --- authors: - Mansfield, Comins source: Świat Szachowy date: 1930 distinction: 2nd Place algebraic: white: [Ka2, Rh2, Rd8, Bg6, Bd2, Sg4, Sb3, Pg3, Pc2] black: [Kd1, Qh4, Re1, Ra4, Ph3, Pe5, Pa3] stipulation: "#2" solution: | "1.Bg6-h5 ! threat: 2.Sg4-e3 # 1...Kd1*c2 2.Bd2*e1 # 1...Ra4*g4 2.Bd2-g5 # 1...Qh4*g4 2.Bd2-b4 # 1...Qh4*h5 2.Bd2-b4 #" keywords: - Flight giving key - Active sacrifice - Mansfield battery --- authors: - Mansfield, Comins - Bettmann, Henry Wald - Hume, George - White, Alain Campbell source: Good Companion, 1st Magee Theme Supplement date: 1919-02 distinction: Prize algebraic: white: [Kc8, Qa7, Rg8, Rb7, Bf8, Sh6, Se4, Pc5] black: [Ke8, Qh4, Bh2, Ba2, Sc7, Ph5, Pe7, Pd7, Pc6] stipulation: "#2" solution: | "1.Rb7-b8 ! threat: 2.Kc8-b7 # 1...Sc7-a6 {(S~ )} 2.Qa7*d7 # 1...d7-d5 2.Bf8-g7 # 1...d7-d6 2.Kc8*c7 # 1...e7-e5 2.Se4-d6 # 1...e7-e6 2.Bf8-d6 #" --- authors: - Mansfield, Comins source: La Salut Publique Miniature Ty. date: 1929 distinction: 1st Special Prize algebraic: white: [Kh5, Qe7, Bh1, Se2] black: [Kf5, Be5, Ph2] stipulation: "#2" solution: | "1...Be5-a1 {(B~ )} 2.Bh1-e4 # 1.Se2-f4 ! threat: 2.Qe7-g5 # 1...Be5*f4 2.Bh1-e4 # 1...Be5-f6 2.Qe7-e4 #" keywords: - Flight giving key - Active sacrifice - Changed mates --- authors: - Mansfield, Comins source: 134°T.T. British Chess Federation date: 1974 distinction: 1st Prize, 1973-74 algebraic: white: [Kh5, Qe8, Rh4, Re1, Be4, Bc5, Sg8, Sb7, Pe6] black: [Ke5, Qb2, Rd5, Rc6, Ba6, Sh8, Ph6, Pf3, Pc3] stipulation: "#2" solution: | "1.Bc5-e7 ! threat: 2.Be7-f6 # 1...Qb2*b7 2.Be4-d3 # 1...Ke5-d4 + 2.Be4-f5 # 1...Ke5*e6 + 2.Be7-g5 # 1...Ba6*b7 2.Be4-c2 #" keywords: - 2 flights giving key --- authors: - Mansfield, Comins source: Hlas ľudu source-id: 659 date: 1977-03-31 distinction: Special Comm. algebraic: white: [Kg6, Qb3, Rh5, Ra4, Bh6, Pf4, Pf2] black: [Ke4, Ra2, Ba3, Sb4, Pg4, Pf6, Pd4, Pc2, Pb5, Pa6] stipulation: "#2" solution: | "1...d4-d3 2.Qb3-d5 # 1...Sb4-d3 2.Qb3-d5 # 1...Sb4-c6 2.Qb3-e3 # 1.Rh5-h3 ! threat: 2.Qb3-e6 # 1...d4-d3 2.Qb3*d3 # 1...Sb4-d3 2.Rh3-e3 # 1...Sb4-c6 2.Rh3-e3 # 1...Sb4-d5 2.Qb3-d3 # 1...g4-g3 2.f2-f3 # 1...g4*h3 2.f2-f3 #" keywords: - Active sacrifice - Changed mates --- authors: - Mansfield, Comins source: Hlas ľudu source-id: 817 date: 1978-10-12 algebraic: white: [Kf1, Qe2, Rg6, Rc1, Bh3, Be5, Sc7, Sa8, Pc5] black: [Kc6, Rh7, Re6, Sb8, Sa7, Pg7, Pd4, Pb7, Pb6] stipulation: "#2" solution: | "1.Be5-f6 ! threat: 2.Qe2*e6 # 1...Re6*e2 2.Bf6-e5 # 1...Re6-e3 2.Bf6-e5 # 1...Re6-e5 2.Bf6*e5 # 1...Re6-d6 2.c5*b6 # 1...Re6-e8 2.Bf6-e7 # 1...Re6-e7 2.Bf6*e7 # 1...Re6*f6 + 2.Qe2-f3 # 1...Sa7-b5 2.Qe2*b5 # 1...Sa7-c8 2.Qe2-b5 # 1...Re6-e4 2.Bf6-e5 # 2.Qe2*e4 #" keywords: - Active sacrifice - Black correction - Switchback --- authors: - Mansfield, Comins source: The Australian Meredith Ty date: 1928 distinction: 1st Prize algebraic: white: [Kd1, Qg4, Ra8, Bh4, Bd5, Sh7, Pg6] black: [Ke8, Rd8, Ba3, Sc5, Pe7] stipulation: "#2" solution: | "1...Sc5-a4 2.Qg4*a4 # {(S~ )} 1.Qg4-e2 ! threat: 2.Qe2*e7 # 1...Sc5-a4 2.Qe2-b5 # 1...Sc5-b3 2.Qe2-b5 # 1...Sc5-d3 2.Bd5-c6 # 1...Sc5-e4 2.Qe2-b5 # 1...Sc5-e6 2.Qe2-b5 # 1...Sc5-d7 2.Bd5-f7 # 1...Sc5-b7 2.Qe2-b5 # 1...Sc5-a6 2.Qe2-b5 # 1...e7-e5 2.Ra8*d8 # 1...e7-e6 2.Ra8*d8 #" keywords: - Flight giving key - Black correction - Changed mates comments: - 17 p.18, Album FIDE 1914-44/I --- authors: - Mansfield, Comins source: Probleemblad source-id: 1525 date: 1952 algebraic: white: [Ka5, Qh3, Re2, Rc4, Bc3, Ba6, Sg1, Pe3, Pa4] black: [Kd3, Qg6, Rf5, Bb1, Ba1, Sf6, Sd1, Pg5, Pf3, Pe5] stipulation: "#2" solution: | "1.Qh3-f1 ! threat: 2.Qf1*d1 # 1...Ba1*c3 + 2.Rc4-b4 # 1...Bb1-c2 2.Re2-e1 # 1...Sd1-f2 2.Qf1*b1 # 1...Sd1*e3 2.Re2-d2 # 1...Sd1*c3 2.Rc4-d4 # 1...Sd1-b2 2.Qf1*b1 # 1...f3*e2 2.Qf1*e2 # 1...e5-e4 + 2.Rc4-c5 # 1...Sf6-e4 2.Rc4-c6 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Magyar Sakkélet date: 1963 distinction: Comm. algebraic: white: [Kg1, Qa7, Rg2, Rf3, Bh1, Se6, Pe5, Pd7, Pc5, Pa4] black: [Kc6, Qd5, Ba5, Sa8, Pd4] stipulation: "#2" solution: | "1...Bb4/Bc3/Bd2/Be1/Bd8 2.Nd8# 1...Nb6 2.Qc7# 1.Rf7? (2.Qxa8#) 1...Qxc5[a] 2.Rc2#[A] 1...Qxe6[b] 2.Rg6#[B] 1...Nb6 2.Qc7# 1...Nc7 2.Nd8# 1...Qxd7 2.Qxd7# 1...Qxg2+ 2.Bxg2# but 1...Qb3! 1.Rg7! (2.Qxa8#) 1...Qxc5[a] 2.Rc3#[C] 1...Qxe6[b] 2.Rf6#[D] 1...Qxd7 2.Qxd7# 1...Qb3 2.Rxb3# 1...Nb6 2.Qc7# 1...Nc7 2.Nd8#" keywords: - Black correction - Changed mates --- authors: - Mansfield, Comins source: Magyar Sakkélet source-id: 3152 date: 1964 distinction: 1st HM algebraic: white: [Kc3, Rf1, Ra6, Bf8, Bc6, Sc7, Ph5, Ph4, Pg4, Pg2, Pd4] black: [Kf6, Sf2, Sd6, Pg3, Pf7, Pc4] stipulation: "#2" solution: | "1.Bc6-f3 ! threat: 2.Ra6*d6 # 1...Sf2-d1 + 2.Bf3*d1 # 1...Sf2*g4 2.Bf3*g4 # 1...Sf2-e4 + 2.Bf3*e4 #" --- authors: - Mansfield, Comins source: Magyar Sakkélet source-id: 3239 date: 1965 distinction: 4th HM algebraic: white: [Kh6, Qe6, Bh5, Sh1, Se4, Pg6, Pg2, Pa6] black: [Kh4, Qb4, Ra7, Sh2, Sg1, Pf4, Pe7, Pd4, Pc7, Pb7] stipulation: "#2" solution: | "1.Se4-c5 ? threat: 2.Qe6*e7 # 1...Qb4-b6 2.Qe6-e1 # but 1...Ra7*a6 ! 1.Se4-d6 ? threat: 2.Qe6*e7 # 2.Sd6-f5 # but 1...Qb4-a5 ! 1.Se4-d2 ? threat: 2.Qe6-e1 # but 1...Qb4-a3 ! 1.Se4-c3 ! threat: 2.Qe6-e1 # 1...Sg1-h3 {(Sg~ )} 2.Qe6*h3 # 1...Sh2-f1 {(Sh~ )} 2.Qe6-g4 # 1...Qb4*c3 2.Qe6*e7 # 1...Qb4-b1 2.Qe6*e7 # 1...Qb4-b2 2.Qe6*e7 # 1...f4-f3 2.g2-g3 #" keywords: - Defences on same square - Transferred mates - Pseudo Le Grand --- authors: - Mansfield, Comins source: Magyar Sakkélet source-id: 3361 date: 1966 distinction: 4th HM algebraic: white: [Kb5, Qa3, Rh8, Re2, Bg8, Sc6, Sb6, Pf6, Pd4] black: [Ke8, Qf8, Bd8, Pe7, Pd5] stipulation: "#2" solution: | "1.f6*e7 ! threat: 2.e7*f8=Q # 2.e7*f8=R # 2.e7*d8=Q # 2.e7*d8=R # 1...Bd8*b6 2.e7*f8=S # 1...Qf8*g8 2.e7*d8=S # 1...Bd8*e7 2.Qa3-a8 # 1...Qf8*e7 2.Bg8*d5 #" --- authors: - Mansfield, Comins source: Magyar Sakkélet date: 1969 distinction: 7th Comm. algebraic: white: [Kf8, Qd7, Rh5, Rc1, Bd5, Ba5, Pf5, Pa6, Pa4] black: [Kc5, Qc2, Ra7, Ba2, Se8, Ph7, Pg6, Pd4, Pb7, Pb3] stipulation: "#2" solution: | "1.Bd5-c4 ! threat: 2.Qd7-d5 # 1...Qc2*f5 + 2.Bc4-f7 # 1...Qc2-e4 2.Bc4-d3 # 1...Qc2*c4 2.f5*g6 # 1...Qc2-g2 2.Bc4-e2 # 1...Kc5*c4 2.Qd7-b5 # 1...Se8-c7 2.Qd7*c7 # 1...Se8-d6 2.Qd7-c7 # 1...Se8-f6 2.Qd7-c7 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Magyar Sakkélet source-id: 4469 date: 1981 distinction: Comm. algebraic: white: [Ka4, Qb7, Rg4, Re1, Bc4, Se2, Sd4, Pf2, Pa3] black: [Ke4, Rf5, Rd5, Bf4, Pg5, Pc5] stipulation: "#2" solution: | "1...Rf5-e5 2.Qb7-b1 # 1...Rf5-f8 {(Rf~ )} 2.Qb7*d5 # 1.Qb7-h7 ! zugzwang. 1...Ke4-e5 2.Qh7-e7 # 1...c5*d4 2.Se2-g1 # 1...Rd5*d4 2.Se2-g1 # 1...Rd5-d8 {(Rd~ )} 2.Qh7*f5 # 1...Rd5-e5 2.Qh7-h1 #" keywords: - Black correction - Block --- authors: - Mansfield, Comins source: Il Due Mosse date: 1959 algebraic: white: [Ka3, Rd1, Ba6, Sf3, Sb7, Pe4, Pb5, Pb2] black: [Kc4, Se6, Pd6, Pd4, Pb6] stipulation: "#2" solution: | "1.Sb7-c5 ! threat: 2.Rd1-c1 # 1...b6*c5 2.b5-b6 # 1...d6*c5 2.Sf3-e5 # 1...Se6*c5 2.Rd1*d4 #" keywords: - Flight giving key - Active sacrifice - Defences on same square - Transferred mates --- authors: - Mansfield, Comins source: The Chess Amateur date: 1918 algebraic: white: [Kd1, Rc8, Rb8, Bd8, Ba8, Sa7, Pc2, Pa3] black: [Kc3, Bc4, Ba1, Se2, Pe4, Pe3, Pa5, Pa4, Pa2] stipulation: "#2" solution: | "1...Se2-d4 2.Bd8*a5 # 1.Bd8-h4 ! zugzwang. 1...Ba1-b2 2.Sa7-b5 # 1...Se2-c1 {(S~ )} 2.Bh4-f6 # 1...Se2-d4 2.Bh4-e1 # 1...Kc3-d4 2.Bh4-f6 #" keywords: - Black correction - Mutate --- authors: - Mansfield, Comins source: The Morning Post date: 1933-12-09 algebraic: white: [Ka7, Rh6, Rg2, Bh1, Sf6, Sf5, Pd4, Pc3, Pa4] black: [Kc6, Se4, Pc7] stipulation: "#2" solution: | "1.Rh6-h7 ! zugzwang. 1...Se4*c3 2.Rg2-c2 # 1...Se4-d2 2.Rg2*d2 # 1...Se4-f2 2.Rg2*f2 # 1...Se4-g3 2.Rg2*g3 # 1...Se4-g5 2.Rg2*g5 # 1...Se4*f6 2.Rg2-g6 # 1...Se4-d6 2.Sf5-e7 # 1...Se4-c5 2.d4-d5 #" keywords: - BS wheel - Battery play comments: - 269 p.60, Album FIDE 1914-44/I --- authors: - Mansfield, Comins source: Chess date: 1941 algebraic: white: [Ke1, Qd1, Rh5, Rg2, Bh1, Sd3, Sb2, Pf5, Pf4, Pe3] black: [Kd5, Be4, Pd6, Pc6, Pb3, Pa4] stipulation: "#2" solution: | "1...Be4*f5 2.Rg2-g6 # 1.Rh5-h6 ! zugzwang. 1...a4-a3 2.Qd1*b3 # 1...Be4*d3 2.Rg2-c2 # 1...Be4*g2 2.Bh1*g2 # 1...Be4-f3 2.Qd1*f3 # 1...Be4*f5 2.Rg2-g5 # 1...c6-c5 2.Sd3-b4 #" keywords: - Black correction - Mutate --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1921 algebraic: white: [Ka1, Qa5, Rc5, Bd3] black: [Kb3, Bd1, Sd6, Pd4, Pb5, Pa2] stipulation: "#2" solution: | "1...Sd6-b7 {(S~ )} 2.Rc5*b5 # 1.Bd3-g6 ! zugzwang. 1...Bd1-h5 {(B~ )} 2.Bg6-c2 # 1...d4-d3 2.Rc5-c3 # 1...b5-b4 2.Qa5*a2 # 1...Sd6-c4 2.Rc5*b5 # 1...Sd6-e4 {(S~ )} 2.Bg6-f7 #" keywords: - Black correction - Mutate --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1924 algebraic: white: [Kb1, Qc7, Rg5, Rd2, Be1, Se3, Se2, Pc2, Pb3, Pa4] black: [Kc5, Bf5, Ba1, Sc6, Pg6, Pd3, Pb2, Pa5] stipulation: "#2" solution: | "1...d3*e2 2.Rd2-d5 # 1...d3*c2 + 2.Rd2*c2 # 1.Be1-f2 ! zugzwang. 1...d3*e2 2.Se3-d5 # 1...d3*c2 + 2.Se3*c2 # 1...Kc5-b4 2.Qc7-d6 #" keywords: - Changed mates - Mutate --- authors: - Mansfield, Comins source: The Chess Amateur date: 1915 algebraic: white: [Kg3, Qd1, Ra6, Ba4, Sg4, Se4, Pc3, Pb2] black: [Kd5, Bd4, Sc2, Pe7, Pc4, Pb3, Pa7, Pa5] stipulation: "#2" solution: | "1...Kd5*e4 2.Qd1-f3 # 1...e7-e5 2.Sg4-f6 # 1...e7-e6 2.Ba4-c6 # 1.Sg4-f2 ! zugzwang. 1...Kd5-e5 2.Qd1-h5 # 1...e7-e5 2.Ra6-d6 # 1...e7-e6 2.Ra6*a5 # 1...Sc2-a1 {(S~ )} 2.Qd1*d4 #" keywords: - Flight giving and taking key - Changed mates - Mutate --- authors: - Mansfield, Comins source: The Observer date: 1926 algebraic: white: [Kf5, Qf3, Be1, Bb1, Sd1, Pc3] black: [Kd3, Bd2, Sc2, Pf6, Pe3, Pc4, Pb2] stipulation: "#2" solution: | "1...Bd2-c1 2.Sd1-f2 # 1...Bd2*e1 2.Qf3*e3 # 1...Bd2*c3 2.Qf3*e3 # 1.Sd1*e3 ! zugzwang. 1...Bd2-c1 2.Bb1*c2 # 1...Bd2*e1 2.Se3-f1 # 1...Bd2*e3 2.Qf3-f1 # 1...Bd2*c3 2.Se3*c2 # 1...Kd3*c3 2.Se3*c2 #" keywords: - Flight giving key - Active sacrifice - Black correction - Changed mates - Mutate --- authors: - Mansfield, Comins source: The Morning Post date: 1923-04 algebraic: white: [Kd7, Qa3, Rf7, Sf3, Sf1] black: [Ke4, Rg2, Pd5, Pd4] stipulation: "#2" solution: | "1...Rg2-g1 {(R~ )} 2.Sf1-d2 # 1...Rg2-a2 {(R~ )} 2.Sf1-g3 # 1...d4-d3 2.Qa3-e7 # 1.Qa3-a6 ! zugzwang. 1...Rg2-g1 {(R~ )} 2.Qa6-e2 # 1...Rg2-a2 {(R~ )} 2.Qa6-g6 # 1...d4-d3 2.Qa6-e6 #" keywords: - Changed mates - Mutate --- authors: - Mansfield, Comins source: The Chess Amateur date: 1918 algebraic: white: [Ka2, Qf5, Rb1, Bc5, Sb5, Pe6] black: [Kc4, Ra5, Ra4, Pe7, Pd6, Pa6, Pa3] stipulation: "#2" solution: | "1...Ra4-b4 2.Rb1*b4 # 1...Ra5*b5 2.Rb1-c1 # 1...a6*b5 2.Rb1-c1 # 1...d6-d5 2.Qf5-c2 # 1...d6*c5 2.Qf5-e4 # 1.Bc5-b4 ! zugzwang. 1...Ra4*b4 2.Rb1-c1 # 1...Ra5*b5 2.Qf5-e4 # 1...a6*b5 2.Qf5-e4 # 1...d6-d5 2.Qf5-f1 #" keywords: - Changed mates - Mutate - Transferred mates comments: - 24 p.19, Album FIDE 1914-44/I --- authors: - Mansfield, Comins - Mansfield, Comins source: The British Chess Magazine date: 1961 distinction: 1st HM algebraic: white: [Kd1, Qb1, Rc6, Bh4, Se2, Sc2, Ph3, Pf5, Pd4, Pa5] black: [Ke4, Pf6, Pe3, Pc7, Pc3, Pa6] stipulation: "#2" solution: | "1...Ke4-f3 2.Sc2-e1 # 1...Ke4*f5 2.Sc2*e3 # 1...Ke4-d5 2.Sc2-b4 # 1.Qb1-b7 ! zugzwang. 1...Ke4-d3 2.Rc6*c3 # 1...Ke4-f3 2.Rc6*c7 # 1...Ke4*f5 2.Rc6*f6 # 1...Ke4-d5 2.Se2*c3 #" keywords: - King star flight - Changed mates - Mutate --- authors: - Mansfield, Comins - Mansfield, Comins source: The British Chess Magazine date: 1961 distinction: 1st HM algebraic: white: [Kd1, Qb1, Rc6, Bh4, Se2, Sc2, Ph3, Pf5, Pd4, Pa5] black: [Ke4, Pf6, Pe3, Pc7, Pc3, Pa6] stipulation: "#2" solution: | "1...Ke4-f3 2.Sc2-e1 # 1...Ke4*f5 2.Sc2*e3 # 1...Ke4-d5 2.Sc2-b4 # 1.Qb1-b7 ! zugzwang. 1...Ke4-d3 2.Rc6*c3 # 1...Ke4-f3 2.Rc6*c7 # 1...Ke4*f5 2.Rc6*f6 # 1...Ke4-d5 2.Se2*c3 #" keywords: - King star flight - Changed mates - Mutate --- authors: - Mansfield, Comins source: The Tablet date: 1955 algebraic: white: [Ke6, Rd3, Sh5, Sb5, Pe2] black: [Ke4, Be5] stipulation: "#2" solution: | "1...Be5-f6 {(B~ )} 2.Sb5-d6 # 1...Be5-b8 {(B~ )} 2.Sb5-c3 # 1.Rd3-f3 ! zugzwang. 1...Be5-a1 {(B~ )} 2.Sh5-g3 # 1...Be5-h2 {(B~ )} 2.Sh5-f6 # 1...Be5-d4 2.Sh5-g3 # 2.Sb5-d6 #" keywords: - Changed mates - Mutate comments: - anticipated 871 --- authors: - Mansfield, Comins source: Suomen Shakki date: 1979 distinction: 5th HM algebraic: white: [Kh4, Qe7, Rd5, Bh8, Ba8, Se8, Ph6, Pf2, Pd7, Pd6, Pd2] black: [Ke4, Qe5, Be6, Pf4, Pf3, Pd3] stipulation: "#2" solution: | "1.Bh8-f6 ! zugzwang. 1...Ke4-f5 2.Qe7-h7 # 1...Qe5-a1 2.Rd5-a5 # 1...Qe5-b2 2.Rd5-b5 # 1...Qe5-c3 2.Rd5-c5 # 1...Qe5-d4 2.Rd5-e5 # 1...Qe5*f6 + 2.Se8*f6 # 1...Qe5*d6 2.Se8*d6 # 1...Qe5*d5 2.Qe7*e6 # 1...Qe5-h5 + 2.Rd5*h5 # 1...Qe5-g5 + 2.Rd5*g5 # 1...Qe5-f5 2.Rd5-d4 # 1...Be6*d5 {(B~)} 2.Qe7*e5 #" keywords: - Defences on same square - Black correction - Rudenko --- authors: - Mansfield, Comins source: The Good Companion Chess Problem Club date: 1917-03 distinction: 1st Prize algebraic: white: [Ka6, Qc1, Re3, Ra4, Bg2, Bb8, Sh7, Sd6, Ph3, Pf5, Pc3] black: [Kf4, Be2, Sg8, Sc4, Pc6] stipulation: "#2" solution: | "1.Bg2-e4 ! threat: 2.Sd6*c4 # 1...Sc4*e3 + 2.Sd6-b5 # 1...Sc4-e5 + 2.Re3-d3 # 1...Sc4*d6 + 2.Be4-d3 #" keywords: - Flight giving key comments: - 72 p.27, Album FIDE 1914-44/I --- authors: - Mansfield, Comins source: Neue Zürcher Zeitung date: 1977 algebraic: white: [Kh1, Qb3, Rg6, Bh7, Bb2, Sf1, Sb6, Pg7, Pg4, Pe5] black: [Ke4, Rf5, Re2, Se1, Ph6, Ph4, Pf2, Pd2] stipulation: "#2" solution: | "1.Qb3-f7 ! threat: 2.Qf7*f5 # 1...Ke4-d3 2.Qf7-c4 # 1...Rf5-f3 2.Qf7-c4 # 1...Rf5-f4 2.Qf7-d5 # 1...Rf5*e5 2.Rg6-e6 # 1...Rf5*f7 2.Rg6-f6 # 1...Rf5-f6 2.Rg6*f6 # 1...Rf5-h5 2.Rg6-g5 # 1...Rf5-g5 2.Rg6*g5 #" keywords: - 2 flights giving key - Black correction --- authors: - Barclay, William L. - Mansfield, Comins source: Die Schwalbe date: 1968-01 algebraic: white: [Kc5, Qb2, Rf1, Rb6, Bd8, Sg4, Ph3, Pg3] black: [Kf5, Rh7, Rh2, Bf2, Be2, Ph6, Pg7, Pe4, Pd4, Pc4, Pa5] stipulation: "#2" solution: | "1...d4-d3 + 2.Sg4-e3 # 1.Qb2-b5 ! threat: 2.Qb5-d7 # 1...Be2*g4 2.Kc5*c4 # 1...d4-d3 + 2.Kc5*c4 # 1...e4-e3 2.Kc5*d4 # 1...g7-g5 2.Rb6-f6 # 1...g7-g6 2.Kc5-d6 #" keywords: - B2 --- authors: - Mansfield, Comins source: L'Echiquier date: 1927 distinction: 3rd Prize algebraic: white: [Kh3, Qc8, Rh6, Ra5, Bb1, Se6, Sc4, Pg3, Pe2, Pd3] black: [Kf5, Qd5, Re5, Bb8, Ba8, Ph5, Pf7, Pf3, Pc3] stipulation: "#2" solution: | "1...Qd5-d8 2.Sc4-e3 # 1.Kh3-h4 ! threat: 2.Se6-d4 # 2.Se6-g7 # 1...Qd5-d8 + 2.Se6*d8 # 1...Qd5*c4 + 2.Se6-d4 # 1...Qd5-e4 + 2.Se6-f4 # 1...Qd5*e6 2.Sc4-e3 # 1...Qd5*d3 2.Se6-g5 # 1...Qd5-d4 + 2.Se6*d4 # 1...Re5-e4 + 2.d3*e4 # 1...Re5*e6 2.e2-e4 # 1...f7*e6 2.Qc8-f8 #" keywords: - Defences on same square comments: - 147 p.39, Album FIDE 1914-44/I --- authors: - Mansfield, Comins source: New York Post date: 1980 algebraic: white: [Ka5, Qg1, Rf1, Re8, Be7, Bc6, Sc4, Pf7, Pe2, Pd5] black: [Ke4, Qe5, Sd1, Pf5, Pc7, Pc3] stipulation: "#2" solution: | "1.Qg1-g7 ! threat: 2.Qg7*e5 # 1...Ke4-d4 2.Rf1-f4 # 1...Qe5-d4 2.Qg7-g2 # 1...Qe5-h2 2.d5-d6 # 1...Qe5-g3 2.d5-d6 # 1...Qe5-f4 2.d5-d6 # 1...Qe5*g7 2.Be7-f6 # 1...Qe5-f6 2.Be7*f6 # 1...Qe5-d6 2.Be7*d6 # 1...Qe5*d5 + 2.Be7-c5 # 1...Qe5*e7 2.Re8*e7 # 2.d5-d6 # 1...Qe5-e6 2.d5*e6 #" keywords: - Flight giving key - Black correction --- authors: - Mansfield, Comins source: Problemas source-id: 21-24/ date: 1966 algebraic: white: [Kh3, Qe4, Rf5, Rc7, Bd2, Bc6, Sc8, Pa4] black: [Kc5, Qd5, Be5, Pf6, Pe6, Pd4, Pd3] stipulation: "#2" solution: | "1... Kc4 2. B:d5# 1... Qd7 2. B:d7# 1... Q:e4 2. B:e4# 1. Qh1! waiting 1... e:f5 2. Q:d5# 1... Kc4 2. B:d5# 1... Qd6/d8 2. Qc1# 1... Qd7 2. B:d7, Qc1# 1... Qe4 2. B:e4, Qc1# 1... Qf3+ 2. B:f3# 1... Qg2+ 2. B:g2# 1... Q:h1+ 2. B:h1# 1... Qc4/b3/a2 2. Bc~# 1... Q:c6 2. R:c6, Q:c6# 1. Q:d3! [2. Q:b5#] 1... Qf3+ 2. B:f3# 1... Qg2+ 2. B:g2# 1... Qh1+ 2. B:h1# 1... Qc4/b3 2. Bc~#" keywords: - Flight taking key - Half-pin - Provoked check - Battery play - Cooked --- authors: - Mansfield, Comins source: El Ajedrez Español source-id: 1 date: 1963-02 distinction: 1st HM algebraic: white: [Ka5, Qg7, Rh4, Rd2, Bh1, Bb6, Sh5, Sf3, Pe5, Pe3] black: [Ke4, Qg4, Bg3, Be8, Sc3, Pg5, Pf4, Pe7] stipulation: "#2" solution: | "1.e5-e6 ! threat: 2.Qg7-e5 # 1...Ke4-f5 2.Sf3-d4 # 1...f4*e3 2.Sf3-d4 # 1...Qg4*f3 2.Sh5*g3 # 1...Qg4*e6 2.Sh5*g3 # 1...Qg4-f5 + 2.Sf3-e5 #" keywords: - Half-pin - Selfpinning - Battery play --- authors: - Mansfield, Comins source: Problemas source-id: 25-28/118 date: 1967 algebraic: white: [Kf7, Qg8, Rb3, Bf8, Ba2, Sf2, Sb7, Pf4, Pe3, Pd4, Pb2, Pa3] black: [Kd5, Re6, Rc4, Pf5, Pc6] stipulation: "#2" solution: | "1.Bf8-c5 ! zugzwang. 1...Rc4-c1 2.Rb3-c3 # 1...Rc4-c2 2.Rb3-c3 # 1...Rc4-c3 2.Rb3*c3 # 1...Rc4-a4 2.Rb3-b4 # 1...Rc4-b4 2.Rb3*b4 # 1...Rc4*c5 2.Rb3-b5 # 1...Rc4*d4 2.Rb3-d3 # 1...Re6*e3 2.Qg8-d8 # 1...Re6-e4 2.Qg8-d8 # 1...Re6-e5 2.Qg8-d8 # 1...Re6-d6 2.Qg8-g2 # 1...Re6-e8 2.Kf7*e8 # 1...Re6-e7 + 2.Kf7*e7 # 1...Re6-h6 2.Qg8-g2 # 1...Re6-g6 2.Kf7*g6 # 1...Re6-f6 + 2.Kf7*f6 #" keywords: - Active sacrifice - Battery play - King's battery --- authors: - Mansfield, Comins source: The Problemist date: 1926 distinction: HM algebraic: white: [Ka1, Rg5, Re1, Be4, Bb4, Sh7, Sb7] black: [Ke8, Qh3, Rh8, Ba2, Sh5, Ph4, Pf7, Pf3, Pd7] stipulation: "#2" solution: | "1.Rg5-c5 ! threat: 2.Rc5-c8 # 1...d7-d5 2.Be4-f5 # 1...d7-d6 2.Be4-c6 # 1...f7-f5 2.Be4-d5 # 1...f7-f6 2.Be4-g6 # 1...Ke8-e7 2.Rc5-e5 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: The Problemist date: 1926 algebraic: white: [Kb4, Qf2, Rh5, Re8, Bf3, Se4, Pc2, Pb5] black: [Kd5, Bf5, Be5, Sd7, Ph6, Pf6, Pf4, Pc3] stipulation: "#2" solution: | "1.Qf2-g1 ! zugzwang. 1...Be5-d4 2.Qg1-g8 # 1...Be5-b8 {(Be~ )} 2.Qg1-d1 # 1...Be5-d6 + 2.Se4-c5 # 1...Bf5*e4 {(Bf~ )} 2.Qg1-d1 # 1...Sd7-b6 {(S~ )} 2.Qg1-c5 #" keywords: - Black correction --- authors: - Mansfield, Comins source: The Problemist date: 1927 algebraic: white: [Ke8, Qh1, Rb5, Ba6, Ba5, Sd2, Sd1, Pc2] black: [Ke2, Qa4, Sh2, Pa2] stipulation: "#2" solution: | "1...Qc4/Qd4/Qe4+/Qf4/Qg4/Qh4/Qxc2[a] 2.Re5#[A] 1...Ng4/Nf1[b]/Nf3 2.Qf1#[B] 1...Qa3/Qb3 2.Rb3#/Re5#[A] 1...Qxb5+ 2.Bxb5# 1.Ne4! (2.Ng3#) 1...Qxc2[a] 2.Rb2#[D] 1...Nf1[b] 2.Qh5#[C] 1...Qa3/Qb3 2.Rb3# 1...Qxa5 2.Rxa5# 1...Qb4 2.Rxb4# 1...Qxe4+ 2.Re5#[A] 1...Qxb5+ 2.Bxb5#" keywords: - Changed mates --- authors: - Mansfield, Comins source: The Brisbane Courier date: 1927 distinction: 5th Prize algebraic: white: [Ke8, Qb1, Rc7, Bg5, Sh6, Sd7, Pf3, Pe5, Pc4] black: [Kg7, Qc6, Ra6, Bh8, Sa1, Ph7, Pe6, Pa7] stipulation: "#2" solution: | "1.Bg5-e3 ? threat: 2.Qb1-g1 # but 1...Ra6-a2 ! 1.Bg5-f4 ? threat: 2.Qb1-g1 # but 1...Ra6-a2 ! 1.Bg5-d2 ! threat: 2.Qb1-g1 # 1...Qc6*f3 2.Sd7-f6 # 1...Qc6-e4 2.Sd7-f8 # 1...Qc6*d7 + 2.Rc7*d7 # 1...Qc6-a8 + 2.Sd7-b8 # 1...Qc6*c4 2.Sd7-c5 # 1...Qc6-c5 2.Sd7*c5 # 1...Qc6-b6 2.Sd7*b6 #" --- authors: - Mansfield, Comins source: BCPS 004. Ty. date: 1927 distinction: 1st Prize algebraic: white: [Ka8, Qc8, Rh1, Bg5, Bc2, Se3, Sb2, Pg2, Pd5] black: [Kd2, Qh6, Ra3, Sa1, Ph7, Pe2, Pb7, Pa6] stipulation: "#2" solution: | "1.Bc2-d3 ! threat: 2.Qc8-c1 # 1...Sa1-c2 2.Qc8*c2 # 1...Sa1-b3 2.Qc8-c2 # 1...e2-e1=Q 2.Se3-f1 # 1...Ra3-c3 2.Se3-c4 # 1...Qh6-f8 2.Se3-f5 # 1...Qh6*h1 2.Se3-c2 # 1...Qh6-c6 2.Se3-d1 #" keywords: - B2 --- authors: - Mansfield, Comins source: The Problemist date: 1928 algebraic: white: [Kd3, Re7, Bf7, Se4, Sd6, Pf4, Pe6, Pb3] black: [Kd5, Qa7, Bh8, Se8, Sb5, Pc6, Pc5] stipulation: "#2" solution: | "1.Re7-d7 ! threat: 2.e6-e7 # 1...Sb5-d4 2.Se4-c3 # 1...Sb5-c7 2.Sd6*e8 # 1...c5-c4 + 2.b3*c4 # 1...Qa7*d7 2.e6*d7 # 1...Se8-c7 2.Sd6*b5 # 1...Se8-g7 2.Se4-f6 #" --- authors: - Mansfield, Comins source: The Observer date: 1929 algebraic: white: [Kh7, Qe6, Rg2, Rd1, Bb1, Sf2, Sd2, Pc3] black: [Ke2, Rh1, Ba4, Ph2, Pf5, Pe3, Pd5, Pc4] stipulation: "#2" solution: | "1.Bb1-e4 ! threat: 2.Be4-f3 # 1...Rh1*d1 2.Sf2-d3 # 1...e3*f2 2.Be4-c2 # 1...e3*d2 2.Be4*d5 # 1...Ba4*d1 2.Sf2-d3 # 1...d5*e4 2.Qe6*c4 # 1...f5*e4 2.Qe6-g4 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: The Problemist date: 1930 algebraic: white: [Ka2, Qc2, Rh7, Be4, Bd4, Sb7, Sb3] black: [Kc6, Qd5, Bc1, Sc4, Pf6, Pe3, Pb6, Pb5, Pa3] stipulation: "#2" solution: | "1...b5-b4 2.Qc2*c4 # 1.Qc2-g2 ? threat: 2.Be4*d5 # but 1...b5-b4 ! 1.Bd4-a1 ? threat: 2.Sb3-d4 # but 1...Bc1-b2 ! 1.Bd4-c3 ! threat: 2.Sb3-d4 # 1...Sc4-b2 2.Bc3*b2 # 1...Sc4-d2 2.Bc3*d2 # 1...Sc4-e5 2.Bc3*e5 # 1...Sc4-d6 2.Sb7-d8 # 1...Sc4-a5 2.Bc3*a5 # 1...Qd5*e4 2.Qc2*e4 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Sportowiec, Meredith Tourney date: 1959 distinction: 3rd Prize algebraic: white: [Kb4, Qf6, Rc2, Bb1, Sb3, Pg4, Pd2] black: [Kd5, Be3, Pd7] stipulation: "#2" solution: | "1...Be3*d2 + 2.Rc2*d2 # 1...Be3-c5 + 2.Rc2*c5 # 1.Bb1-a2 ! threat: 2.Sb3-c5 # 1...Be3*d2 + 2.Sb3*d2 # 1...Kd5-e4 2.Qf6-f5 # 1...d7-d6 2.Qf6-f5 #" keywords: - Threat reversal - Rudenko --- authors: - Mansfield, Comins source: Problemas source-id: 676 date: 1975 algebraic: white: [Kf1, Qd5, Rg7, Rc6, Bd3, Se6, Sd8, Pg4] black: [Kh6, Qa5, Ra8, Ra7, Bf6, Pf4, Pb4, Pa4] stipulation: "#2" solution: | "1.Rg7-f7 ! threat: 2.Rf7*f6 # 1...Qa5*d8 2.Qd5-h5 # 1...Bf6-a1 2.Se6-d4 # 1...Bf6-b2 2.Se6-d4 # 1...Bf6-c3 2.Se6-d4 # 1...Bf6-d4 2.Se6*d4 # 1...Bf6-e5 2.Qd5-h1 # 1...Bf6-h4 2.Se6-g5 # 1...Bf6-g5 2.Se6*g5 # 1...Bf6-h8 2.Se6-g7 # 1...Bf6-g7 2.Se6*g7 # 1...Bf6*d8 2.Se6*d8 # 1...Bf6-e7 2.Rf7-h7 # 1...Ra7*f7 2.Sd8*f7 #" keywords: - Black correction - Battery play --- authors: - Mansfield, Comins source: Problemas source-id: 91-96/475 date: 1972 algebraic: white: [Kb8, Qh3, Rf4, Re5, Bc3, Bb7, Pc5, Pa6, Pa4, Pa2] black: [Kc4, Qa3, Sc1, Pf5, Pe4, Pb2] stipulation: "#2" solution: | "1.Bb7*e4 ! threat: 2.Be4-b1 # 2.Be4-c2 # 2.Be4-h1 # 2.Be4-g2 # 2.Be4*f5 # 2.Be4-a8 # 2.Be4-b7 # 2.Be4-c6 # 1...Sc1-e2 2.Qh3-d3 # 1...Sc1-d3 2.Qh3*d3 # 1...Sc1-b3 2.Qh3-d3 # 1...Qa3*c5 2.Be4-d5 # 1...Qa3*c3 2.Be4-d3 # 1...f5*e4 2.Rf4*e4 #" keywords: - Active sacrifice - B2 - Switchback - Battery play --- authors: - Mansfield, Comins source: Sinfonie Scacchistiche source-id: 21/815 date: 1970-07 algebraic: white: [Ka5, Qf8, Rg4, Rc1, Bh8, Sd5, Sb3] black: [Kd3, Re2, Ba6, Ba1, Ph5, Pg6, Pg2, Pf7, Pa3] stipulation: "#2" solution: | "1.Qf8-h6 ! threat: 2.Sd5-b4 # 2.Sb3-c5 # 1...Ba1-c3 + 2.Rc1*c3 # 1...Re2-e1 2.Qh6-d2 # 1...Re2-a2 2.Qh6-e3 # 1...Re2-b2 2.Qh6-e3 # 1...Re2-c2 2.Qh6-e3 # 1...Re2-e8 2.Qh6-d2 # 1...Re2-e7 2.Qh6-d2 # 1...Re2-e6 2.Qh6-d2 # 1...Re2-e5 2.Qh6-d2 # 1...Re2-e4 2.Qh6-d2 # 1...Re2-e3 2.Qh6*e3 # 1...Re2-f2 2.Qh6-e3 # 1...g6-g5 2.Qh6*a6 #" --- authors: - Mansfield, Comins source: Die Schwalbe date: 1968-01 algebraic: white: [Ka4, Qh7, Rh8, Bh3, Bh2, Sf6, Sc3, Pf3, Pe5, Pd3, Pb5] black: [Ke6, Rg4, Rg1, Bh1, Ba3, Sb8, Ph5, Pc5] stipulation: "#2" solution: | "1.Bh2-f4 ? threat: 2.Rh8-e8 # but 1...c5-c4 ! 1.f3-f4 ? threat: 2.Rh8-e8 # 1...c5-c4 2.f4-f5 # but 1...Bh1-c6 ! 1.d3-d4 ? threat: 2.Rh8-e8 # 1...c5-c4 2.d4-d5 # but 1...c5*d4 ! 1.Sf6-e4 ? {display-departure-square} threat: 2.Rh8-e8 # 1...c5-c4 2.Se4-g5 # but 1...Sb8-c6 ! 1.Sc3-e4 ! {display-departure-square} threat: 2.Rh8-e8 # 1...c5-c4 2.Se4-g5 # 1...Sb8-c6 2.Qh7-d7 #" --- authors: - Mansfield, Comins source: Skakbladet date: 1964 distinction: 1st Prize algebraic: white: [Ke2, Qa4, Rd8, Ra5, Bg8, Sf7, Sa6, Pf4, Pe6, Pb5] black: [Kd5, Qd7, Be7, Sa8, Pf6] stipulation: "#2" solution: | "1.Sf7-d6 ! threat: 2.Qa4-d1 # 1...Qd7*b5 + 2.Qa4-c4 # 1...Qd7*e6 + 2.Qa4-e4 # 1...Qd7*d6 2.b5-b6 # 1...Qd7-a7 2.b5-b6 # 2.Qa4-e4 # 2.Qa4-c4 # 1...Be7*d6 2.e6*d7 #" keywords: - Flight giving and taking key - Active sacrifice --- authors: - Mansfield, Comins source: The Problemist date: 1967 distinction: 2nd Prize algebraic: white: [Kf8, Re8, Ra4, Bc1, Se6, Sc4, Pf4, Pe2, Pd6] black: [Ke4, Rf3, Bc7, Sd5, Pf5, Pd3, Pb6, Pa5] stipulation: "#2" solution: | "1.e2-e3 ! threat: 2.Se6-c5 # 2.Se6-g5 # 1...Rf3*e3 2.Sc4-d2 # 1...Sd5-b4 2.Se6*c7 # 1...Sd5-c3 2.Se6*c7 # 1...Sd5*e3 2.Sc4*e3 # 1...Sd5*f4 2.Se6*f4 # 1...Sd5-f6 2.Sc4*b6 # 1...Sd5-e7 2.Sc4*b6 # 1...Bc7*d6 + 2.Sc4*d6 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Problemas source-id: 49-52/231 date: 1969 algebraic: white: [Kh1, Qh4, Rb7, Be1, Ba8, Sd5, Sc5] black: [Kf3, Rh7, Rb1, Sg1, Ph3, Pg4, Pf4, Pe3, Pe2] stipulation: "#2" solution: | "1.Sd5*e3 ? threat: 2.Qh4-f2 # 1...Rb1*e1 2.Rb7-e7 # 1...f4*e3 2.Rb7-f7 # 2.Qh4-g3 # 2.Qh4-f6 # 1...Rh7*h4 2.Rb7-b3 # but 1...g4-g3 ! 1.Sd5*f4 ! threat: 2.Qh4-g3 # 1...Rb1*e1 2.Rb7-f7 # 1...Kf3*f4 2.Qh4-f6 # 1...Rh7*h4 2.Rb7-b4 #" keywords: - Flight giving key - Active sacrifice - Changed mates - Half-battery --- authors: - Mansfield, Comins source: Devon and Exeter Gazette date: 1911 algebraic: white: [Ke7, Ra4, Ba7, Sd4, Pf3, Pc5, Pc2, Pb3] black: [Ke5, Pf4, Pd7, Pc3] stipulation: "#2" solution: | "1...d7-d5 2.Ba7-b8 # 1.Ra4-a5 ! zugzwang. 1...Ke5*d4 2.c5-c6 # 1...Ke5-d5 2.c5-c6 # 1...d7-d5 2.c5*d6 ep. # 1...d7-d6 2.c5*d6 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Hampshire Telegraph and Post date: 1916 algebraic: white: [Kb3, Rf7, Rd3, Bc8, Bc5, Sd4] black: [Ke5, Bh7, Pg4, Pb5] stipulation: "#3" solution: | "1.Bc8-f5 ! threat: 2.Sd4-f3 + 2...g4*f3 3.Bc5-d6 # 2...Ke5-f4 3.Bc5-d6 # 1...Ke5-d5 2.Sd4-e6 + 2...Kd5-e5 3.Bc5-d6 # 2...Kd5-c6 3.Rf7-c7 # 3.Rd3-d6 # 1...Ke5-f4 2.Sd4-e6 + 2...Kf4-e5 3.Bc5-d6 # 1...Bh7*f5 2.Rd3-e3 + 2...Ke5-d5 3.Rf7*f5 # 2...Ke5-f4 3.Sd4-e6 # 2...Bf5-e4 3.Rf7-f5 #" --- authors: - Mansfield, Comins source: Bournemouth Evening Echo date: 1961 algebraic: white: [Kh1, Qg1, Rf3, Be5] black: [Ka2, Ba1, Pb2] stipulation: "#2" solution: | "1.Kh1-h2 ! zugzwang. 1...b2-b1=Q 2.Qg1-a7 # 1...b2-b1=S 2.Qg1-g8 #" --- authors: - Mansfield, Comins source: The Problemist source-id: T326 date: 1978-09 algebraic: white: [Kd8, Qg5, Rd7] black: [Ke6, Sh8, Pf7, Pc2] stipulation: "#2" twins: b: Move c2 d2 solution: | "a) 1.Qg5-f4 ! threat: 2.Rd7-d6 # 1...f7-f5 2.Qf4-d6 # 1...f7-f6 2.Qf4-e4 # b) bPc2--d2 1.Kd8-c7 ! threat: 2.Rd7-d6 # 2.Rd7-e7 # 1...f7-f5 2.Qg5-e7 # 1...f7-f6 2.Qg5-d5 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: Tasks and Echoes date: 1915 algebraic: white: [Ka1, Qf6, Rh5, Rb8, Bg8, Bd6, Sd4, Sb1, Pc5, Pc2, Pb5] black: [Kc4, Rd5, Ba8, Pe7, Pe4, Pb4] stipulation: "#2" solution: | "1.Sd4-b3 ? threat: 2.Qf6-d4 # 2.Qf6-f1 # 2.Sb3-d2 # 2.Sb3-a5 # 2.Sb1-d2 # but 1...e7*f6 ! 1.Sd4-c6 ! threat: 2.Bg8*d5 # 2.Qf6-d4 # 2.Qf6-f1 # 2.Sc6-a5 # 2.Sb1-d2 # 1...e7-e5 2.Qf6-f1 # 1...e7-e6 2.Sc6-a5 # 1...e7*f6 2.Bg8*d5 # 1...e7*d6 2.Qf6-d4 # 1...Ba8*c6 2.Sb1-d2 #" keywords: - Pickaninny - Fleck --- authors: - Mansfield, Comins source: Die Schwalbe date: 1951 algebraic: white: [Ka1, Qe7, Rf3, Rb7, Bg2, Sf4, Sc3, Pa7] black: [Kc6, Rf8, Rb8, Bh3, Bg3, Sg6, Sb5, Pa5] stipulation: "#2" solution: | "1.Sf4-d3 ! threat: 2.Rf3-f6 # 1...Bg3-d6 2.Qe7-e4 # 1...Bg3-f4 2.Rf3*h3 # 1...Bh3*g2 2.Qe7-d7 # 1...Bh3-f5 2.Rf3*f5 # 1...Sb5-d6 2.Qe7-c7 # 1...Sg6-f4 2.Sd3-e5 # 1...Rf8*f3 2.Bg2*f3 # 1...Rf8-f4 2.a7*b8=S # 1...Rf8-f5 2.Qe7-d7 #" keywords: - Latvian Novotny - Defences on same square - Grimshaw --- authors: - Mansfield, Comins source: Adventures in Composition date: 1948 algebraic: white: [Ka2, Qb1, Rd2, Ra4, Bc5, Ba8, Sf3, Sb7, Pf4, Pd4, Pb5, Pb2] black: [Kd5, Qe6, Rg8, Bh7, Pf6, Pf5, Pd7] stipulation: "#2" solution: | "1.Qb1-h1 ! zugzwang. 1...Kd5-e4 + 2.d4-d5 # 1...Qe6-f7 {(Q~ )} 2.Sb7-d8 # 2.Sf3-g5 # 1...Qe6-e1 {(Q~ )} 2.Sb7-d8 # 1...Qe6-a6 {(Q~ )} 2.Sf3-g5 # 1...d7-d6 2.Sb7-d8 # 1...Bh7-g6 2.Sf3-e5 # 1...Rg8-g1 {(R~g )} 2.Sb7-d6 # 1...Rg8*a8 {(R~8 )} 2.Sf3-e5 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Magyar Sakkvilág date: 1928 distinction: Comm. algebraic: white: [Ka2, Qe2, Rd8, Bb3, Ba1, Sh6, Sc3] black: [Ke5, Qh2, Ph3, Pg5, Pg3, Pf6, Pe4] stipulation: "#2" solution: | "1...Qh2*e2 + 2.Sc3*e2 # 1.Qe2-g2 ! threat: 2.Sc3-e2 # 1...Qh2-g1 2.Qg2*e4 # 1...Qh2-h1 2.Qg2*g3 # 1...Ke5-f4 2.Sc3-d5 #" --- authors: - Mansfield, Comins source: British Chess Federation 131st Tourney date: 1972 distinction: Comm., 1972-1973 algebraic: white: [Ka3, Qf1, Rd3, Bg1, Ba6, Sf5, Pe7, Pb2] black: [Kc6, Rh7, Rg7, Bh1, Bb8, Pg5, Pf4, Pc7, Pc2, Pa5] stipulation: "#2" solution: | "1.Rd3-e3 ! threat: 2.Qf1-b5 # 1...Kc6-d5 2.Qf1-c4 # 1...Kc6-d7 2.e7-e8=Q # 1...Kc6-b6 2.Re3-e6 #" keywords: - King Y-flight - 3+ flights giving key --- authors: - Mansfield, Comins source: Deutsche Schachzeitung date: 1960 algebraic: white: [Ka3, Qh2, Rd2, Bg2, Bb8, Sg3, Sc7, Pg4, Pe3, Pc6] black: [Ke5, Rh8, Rf6, Bf7, Pg6, Pg5, Pe7] stipulation: "#2" solution: | "1...e6/Be6 2.Ne8# 1...Bd5/Be8 2.Rxd5# 1...Re6/Rd6/Rxc6 2.Nh5# 1...Rg8/Rf8/Re8/Rd8/Rc8/Rxb8 2.Nf5# 1.Ne6+?? 1...Kxe6 2.Bd5# but 1...Rxb8! 1.Ne8+?? 1...Ke6 2.Bd5#/Ng7# but 1...Rd6! 1.Bd5! zz 1...Kd6 2.Ne4# 1...Rf5/Rf4/Rf3/Rf2/Rf1/e6/Be6 2.Ne8# 1...Re6/Rd6/Rxc6 2.Nh5# 1...Bg8/Be8/Rh7/Rh6/Rh5/Rh4/Rh3/Rxh2 2.Ne6# 1...Bxd5 2.Rxd5# 1...Rg8/Rf8/Re8/Rd8/Rc8/Rxb8 2.Nf5#" keywords: - Active sacrifice - Flight giving key --- authors: - Mansfield, Comins source: Magasinet date: 1949 distinction: 1st HM algebraic: white: [Ka5, Qg4, Rd4, Rc4, Bh4, Bd7, Sc8, Pb6] black: [Kd8, Rh8, Rg5, Bh6, Sg2, Sa8, Pf7, Pd5] stipulation: "#2" solution: | "1...d5*c4 + 2.Bd7-b5 # 1.Qg4-e2 ? threat: 2.Qe2-e7 # but 1...Sg2-e3 ! 1.Qg4-e4 ! threat: 2.Qe4-e7 # 1...d5*e4 + 2.Bd7-b5 # 1...d5*c4 + 2.Bd7-f5 # 1...Bh6-f8 2.Qe4-e8 # 1...Rh8-e8 2.Qe4*e8 #" keywords: - Active sacrifice - Flight giving key --- authors: - Mansfield, Comins source: Schach-Echo date: 1972 distinction: 4th Prize algebraic: white: [Ka5, Qb1, Rg1, Bg7, Bc8, Se6, Se4, Pf6] black: [Kf5, Rh5, Sg8, Ph4, Pf4] stipulation: "#2" solution: | "1.Rg1-e1 ! threat: 2.Se4-f2 # 1...Kf5-g4 + 2.Se6-g5 # 1...Kf5-g6 + 2.Se4-g5 # 1...Kf5-e5 2.Qb1-b5 # 1...Sg8*f6 2.Se4*f6 #" keywords: - 2 flights giving key - King Y-flight --- authors: - Mansfield, Comins source: Probleemblad date: 1981 algebraic: white: [Ka6, Qf3, Rd8, Bd6, Bd5, Pb3] black: [Kd4, Rh8, Rg7, Sb1, Pe5, Pc2, Pb6, Pa7] stipulation: "#2" solution: | "1.Bd6-b4 ! threat: 2.Qf3-e4 # 1...Sb1-d2 2.Qf3-c3 # 1...Sb1-c3 2.Qf3*c3 # 1...Rg7-g4 2.Bd5-g8 # 1...Rh8-h4 2.Bd5-f7 #" --- authors: - Mansfield, Comins source: Schakend Nederland date: 1977-06 distinction: 2nd Prize algebraic: white: [Ka6, Qg5, Re2, Rc7, Bf5, Se5, Sa5, Pe6] black: [Kd5, Rg7, Rg1, Bh1, Sh5, Pd6, Pd4] stipulation: "#2" solution: | "1.Se5-d3 ? threat: 2.Sd3-b4 # 1...Rg1-b1 2.Bf5-g6 # 1...Rg7*c7 2.Bf5-g4 # but 1...Bh1-e4 ! 1.Bf5-d3 ! threat: 2.Bd3-c4 # 1...Rg1-c1 2.Se5-g6 # 1...Kd5*e6 2.Se5-f3 # 1...d6*e5 2.Qg5*e5 # 1...Rg7*c7 2.Se5-g4 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Die Schwalbe date: 1966 algebraic: white: [Ka7, Qb2, Rg6, Bh7, Bd4, Sg1, Sd7, Ph6, Pf3, Pf2, Pd5, Pb3] black: [Kd3, Rf5, Bb1, Sc1, Sa2, Pb6] stipulation: "#2" solution: | "1.Rg6-g2 ? {(R~ )} threat: 2.Bh7*f5 # 2.Sd7-e5 # 1...Sa2-c3 2.Qb2*c3 # but 1...Bb1-c2 ! 1.Bd4-h8 ? zugzwang. but 1...Rf5-f7 ! 1.Bd4-f6 ? zugzwang. but 1...Rf5*d5 ! 1.Bd4-g7 ! zugzwang. 1...Bb1-c2 2.Qb2-d4 # 1...Sc1-e2 2.Qb2*e2 # 1...Sc1*b3 2.Qb2-e2 # 1...Sa2-c3 2.Qb2*c3 # 1...Sa2-b4 2.Qb2-c3 # 1...Rf5*f3 2.Rg6-g3 # 1...Rf5-f4 2.Sd7-e5 # 1...Rf5*d5 2.Rg6-d6 # 1...Rf5-e5 2.Sd7*e5 # 1...Rf5-f7 2.Rg6-f6 # 1...Rf5-h5 2.Rg6-g5 # 1...Rf5-g5 2.Rg6*g5 # 1...b6-b5 2.Sd7-c5 # 1...Rf5-f8 2.Sd7-e5 # 2.Rg6-f6 # 1...Rf5-f6 2.Sd7-e5 # 2.Rg6*f6 #" --- authors: - Mansfield, Comins source: The Problemist source-id: 5845 date: 1976 distinction: 1st HM algebraic: white: [Ka7, Qa3, Rh4, Rd8, Bg3, Bd5, Se7, Sd7, Pe5, Pc5] black: [Kd4, Qg4, Re1, Sc1, Ph5, Pf3, Pe3, Pe2, Pb5] stipulation: "#2" solution: | "1.Bd5-e4 ! threat: 2.Qa3-b4 # 1...Sc1-d3 2.Qa3*d3 # 1...Sc1-a2 2.Qa3-d3 # 1...Kd4-c4 2.Sd7-b6 # 1...Kd4*e4 2.Sd7-f6 # 1...Qg4*d7 + 2.Be4-b7 # 1...Qg4-e6 2.Be4-f5 # 1...Qg4*e4 2.Sd7-b6 # 1...Qg4-g8 2.Be4-g6 #" keywords: - 2 flights giving key --- authors: - Mansfield, Comins source: British Chess Federation 19th Tourney date: 1935 algebraic: white: [Ka7, Qh3, Re3, Rc3, Bb6, Ba4, Sf5, Sb5] black: [Kd7, Rh7, Bf8, Bd1, Ph5, Pd5, Pd3, Pb2] stipulation: "#2" solution: | "1.Rc3-b3 ! threat: 2.Sb5-d6 # 1...Bd1*b3 2.Sf5-d4 # 1...Kd7-c6 + 2.Sb5-c7 # 1...Kd7-c8 + 2.Sf5-e7 #" keywords: - Active sacrifice - 2 flights giving key --- authors: - Mansfield, Comins source: Chess date: 1958 distinction: 3rd Prize algebraic: white: [Ka7, Qc1, Rb7, Bb6, Ba8, Sh3, Sa4, Pg4, Pc4, Pc2, Pb3] black: [Ke4, Rd1, Bb2, Sg2, Sf3, Pg3, Pe6, Pe5] stipulation: "#2" solution: | "1.Bb6-d4 ! threat: 2.Rb7-d7 # 1...Rd1*d4 2.Sa4-c5 # 1...Bb2*d4 + 2.Rb7-b6 # 1...Sg2-f4 2.Qc1-e3 # 1...Sg2-e3 2.Qc1*e3 # 1...Sf3*d4 2.Sh3-g5 # 1...e5*d4 2.Rb7-b5 #" keywords: - Active sacrifice - Defences on same square - Flight giving key --- authors: - Mansfield, Comins source: Il Due Mosse source-id: 349 date: 1954-01 distinction: Comm. algebraic: white: [Ka8, Qf8, Rf1, Rd1, Be8, Bd8, Sf3, Sd3, Pg4, Pe7, Pc4] black: [Ke6, Bh1, Be5, Sg5, Se4, Pf7] stipulation: "#2" solution: | "1.Be8-c6 ! threat: 2.e7-e8=Q # 1...Se4-f6 2.Sd3-c5 # 1...Se4-d6 2.Sf3*g5 # 1...Be5-f6 2.Sd3-f4 # 1...Be5-d6 2.Sf3-d4 # 1...Ke6-d6 2.e7-e8=Q # 1...Ke6-f6 2.Qf8-h6 #" keywords: - Defences on same square --- authors: - Mansfield, Comins source: Die Schwalbe date: 1957 distinction: 9th HM algebraic: white: [Ka8, Qg4, Rh5, Rd3, Bc2, Se6, Pg5, Pd7] black: [Kg6, Qa1, Re5, Ba3, Sg8, Pd2, Pb7, Pa6] stipulation: "#2" solution: | "1.Rh5-h7 ! threat: 2.Rh7-g7 # 1...Ba3-f8 2.Se6*f8 # 1...Re5-e1 2.Rd3-e3 # 1...Re5-e2 2.Rd3-e3 # 1...Re5-e3 2.Rd3*e3 # 1...Re5-e4 2.Qg4*e4 # 1...Re5-a5 2.Rd3-d5 # 1...Re5-b5 2.Rd3-d5 # 1...Re5-c5 2.Se6-f8 # 1...Re5-d5 2.Rd3*d5 # 1...Re5*e6 2.Rd3-d6 # 1...Re5*g5 2.Rd3-f3 # 1...Re5-f5 2.Qg4-h5 # 1...Kg6*h7 2.Rd3-h3 #" keywords: - Black correction - Flight giving and taking key --- authors: - Mansfield, Comins source: Die Schwalbe source-id: 3005 date: 1980 algebraic: white: [Kb1, Qb2, Ra4, Bc3, Ba2, Sh3, Se1, Pg4, Pe3, Pd2] black: [Ke4, Rg8, Rf8, Bg2, Bd4, Sh8, Pg5, Pd7, Pa6] stipulation: "#2" solution: | "1.Bc3-b4 ! threat: 2.Qb2*d4 # 1...Bd4*b2 2.Bb4-c3 # 1...Bd4-c3 2.Bb4*c3 # 1...Bd4*e3 2.d2-d3 # 1...Bd4-g7 2.Sh3*g5 # 1...Bd4-f6 2.Sh3-f2 # 1...Bd4-e5 2.Qb2-c2 # 1...Bd4-a7 2.Bb4-c5 # 1...Bd4-b6 2.Bb4-c5 # 1...Bd4-c5 2.Bb4*c5 #" keywords: - Black correction - Switchback --- authors: - Mansfield, Comins source: Deutsche Schachzeitung date: 1960 algebraic: white: [Kb2, Qb1, Bc7, Ba8, Sf3, Sb7, Pf4, Pd2, Pc3, Pb6, Pb4] black: [Kd5, Rg8, Re6, Bh7, Pf6, Pf5, Pd7, Pc4] stipulation: "#2" solution: | "1...Rg7/Rg6/Rg5/Rg4/Rg3/Rg2/Rg1 2.Nd6# 1...Re5/Re4/Re3/Re2/Re1/Re7/Ree8/d6 2.Nd8# 1.Qd3+?? 1...Kc6 2.Qxc4# but 1...cxd3! 1.Qe4+?? 1...Kxe4 2.Nc5# 1...Rxe4 2.Nd8# but 1...fxe4! 1.Qxf5+?? 1...Kc6 2.b5#/Nd4#/Nd8#/Na5#/Qc5# 1...Re5 2.Nd8# but 1...Bxf5! 1.Qh1! zz 1...Ke4 2.Nc5# 1...Kc6 2.Nd4# 1...Bg6/Rf8/Rge8/Rd8/Rc8/Rb8/Rxa8/Rh8 2.Ne5# 1...d6/Re5/Re4/Re3/Re2/Re1/Re7/Ree8 2.Nd8# 1...Rd6/Rc6/Rxb6 2.Ng5# 1...Rg7/Rg6/Rg5/Rg4/Rg3/Rg2/Rg1 2.Nd6#" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Alain C. White MT date: 1952 distinction: Comm., 1952-1954 algebraic: white: [Kb2, Qh1, Rd2, Rc6, Ba8, Sg4, Se5, Pf3, Pb4] black: [Kd5, Rh8, Rf5, Bb3, Sf8, Sd4, Pg5, Pe6, Pc7] stipulation: "#2" solution: | "1.Se5-d3 ! threat: 2.Sg4-e3 # 1...Sd4-c2 2.Sd3-f4 # 1...Sd4-e2 2.Sd3-f4 # 1...Sd4*f3 2.Sd3-f2 # 1...Sd4*c6 2.Sd3-e5 # 1...Sd4-b5 2.Sd3-f4 # 1...Rf5*f3 2.Sg4-f6 # 1...Rf5-e5 2.Sg4-f6 #" keywords: - Switchback --- authors: - Mansfield, Comins source: Adventures in Composition date: 1948 algebraic: white: [Kb2, Qa8, Rd3, Bh1, Be5, Sg2, Sc6, Pg3, Pc2] black: [Ke4, Rh7, Rf5, Pg4, Pe6, Pb4] stipulation: "#2" solution: | "1...Rg7/Rhf7/Re7/Rd7/Rc7/Rb7/Ra7 2.Nf4# 1...Rxe5/Rg5/Rfh5 2.Nh4# 1...b3 2.Qa4# 1.Nxb4+?? 1...Rb7 2.Re3# but 1...Kxe5! 1.Bf4?? (2.Nh4#) 1...Rh3/Rh2/Rxh1 2.Ne5# but 1...Rxf4! 1.Bb8! zz 1...Rh6/Rhh5/Rh4/Rh3/Rh2/Rxh1/Rh8 2.Ne5# 1...Rg7/Rhf7/Re7/Rd7/Rc7/Rb7/Ra7 2.Nf4# 1...e5/Rf4/Rf3/Rf2/Rf1/Rf6/Rff7/Rf8 2.Ne7# 1...Re5/Rd5/Rc5/Rb5/Ra5/Rg5/Rfh5 2.Nh4# 1...b3 2.Qa4#" --- authors: - Mansfield, Comins source: Probleemblad source-id: 8477 date: 1981 algebraic: white: [Kb5, Qc8, Rd7, Ra4, Ba1, Sg4, Pf3, Pe4, Pd2] black: [Kd4, Sb2, Pf4, Pe7, Pe6, Pd6, Pd5, Pc4, Pb4] stipulation: "#2" solution: | "1.Sg4-e5 ! zugzwang. 1...b4-b3 2.Ba1*b2 # 1...c4-c3 2.Qc8*c3 # 1...Kd4*e5 2.Qc8-h8 # 1...d5*e4 2.Qc8-c5 # 1...d6*e5 2.Qc8*c4 #" keywords: - Active sacrifice - Flight giving and taking key --- authors: - Mansfield, Comins source: Good Companion date: 1919 algebraic: white: [Kb5, Qc4, Rh7, Rc6, Bh3, Bd6, Pf6, Pc5] black: [Kd7, Rg4, Be8, Sf7, Pe7] stipulation: "#2" solution: | "1...Nd8 2.Rxe7#/Rc7# 1.fxe7?? (2.Bxg4#/Qxg4#/Rc7#) 1...Ng5/Nh6/Ne5/Nd8 2.Rc7# but 1...Nxd6+! 1.Qxg4+?? 1...Kd8 2.Qc8#/fxe7#/Bxe7#/Bc7# but 1...e6! 1.Qd3?? zz 1...Kd8 2.Bxe7# 1...Ng5/Nh6/Nh8 2.Be5#/Bf4#/Bg3#/Bh2#/Bxe7#/Bb8# 1...Ne5 2.Bxe5# 1...Nxd6+/exd6 2.Qxd6# 1...Nd8 2.Rxe7#/Be5#/Bf4#/Bg3#/Bh2#/Bxe7#/Bb8# 1...exf6 2.Bf8# 1...e6 2.Bf4# 1...e5 2.Bxe5#/Bf8#/Bb8# but 1...Ke6! 1.Qd5?? zz 1...Kd8 2.Bxe7# 1...Ng5/Nh6/Nh8 2.Be5#/Bf4#/Bg3#/Bh2#/Bxe7#/Bb8# 1...Ne5 2.Bxe5#/Bxe7#/Bb8# 1...Nxd6+/exd6 2.Qxd6# 1...Nd8 2.Rxe7#/Rc7#/Be5#/Bf4#/Bg3#/Bh2#/Bxe7#/Bb8# 1...exf6 2.Bf8# 1...e5 2.Bxe5#/Bf8#/Bb8# but 1...e6! 1.Qe6+?? 1...Kd8 2.fxe7#/Qxe7#/Qc8#/Bxe7#/Bc7# but 1...Kxe6! 1.Qxf7?? (2.Qxe7#) but 1...Bxf7! 1.Bxg4+?? 1...Kd8 2.fxe7#/Bxe7#/Bc7# but 1...e6! 1.Bxe7?? (2.Bxg4#/Qxg4#/Qe6#) 1...Ng5/Nd8 2.Qd4#/Qd3#/Qd5# 1...Nh6 2.Qd4#/Qd3#/Qd5#/Qe6# 1...Ne5 2.Qd4#/Qd5#/Qe6# but 1...Nd6+! 1.Qd4! zz 1...Kd8 2.Bxe7# 1...Ke6 2.Bxg4# 1...Ng5/Nh6/Nh8 2.Be5#/Bf4#/Bg3#/Bh2#/Bxe7#/Bb8# 1...Ne5 2.Bxe5#/Bxe7#/Bb8# 1...Nxd6+/exd6 2.Qxd6# 1...Nd8 2.Rxe7#/Be5#/Bf4#/Bg3#/Bh2#/Bxe7#/Bb8# 1...exf6 2.Bf8# 1...e6 2.Bf4# 1...e5 2.Bxe5#" keywords: - Pickaninny - Black correction - Flight giving key --- authors: - Mansfield, Comins source: Die Schwalbe date: 1971-02 algebraic: white: [Kb6, Qd2, Bg6, Ba5, Sa7, Pd6, Pa6] black: [Kd8, Qb3, Rh5, Bf3, Ph6, Pd7, Pc5, Pb5, Pa3] stipulation: "#2" solution: | "1...Qe3/Qc2/Qd1/Qd5/Qe6/Qg8/Qa2/b4 2.Kxb5# 1...Bg4/Be2/Bd1/Bb7/Rd5 2.Kb7# 1...Bd5/Rh4/Rh3/Rh2/Rh1 2.Kxc5# 1.Qg5+?? 1...hxg5 2.Kxc5# but 1...Rxg5! 1.Qd5! (2.Kb7#/Kxc5#) 1...Qb4/Qc3/Qa4 2.Qg8# 1...Qe3 2.Kxb5#/Kb7# 1...Qc2 2.Kxb5#/Kb7#/Qg8# 1...Qc4/Rxd5 2.Kb7# 1...Qxd5 2.Kxb5# 1...Bxd5 2.Kxc5#" keywords: - Active sacrifice - Defences on same square --- authors: - Mansfield, Comins source: problem (Zagreb) date: 1970 distinction: 3rd Prize algebraic: white: [Kb6, Qd3, Rh4, Rc4, Bf7, Sf5, Ph3, Pc2] black: [Ke5, Se4, Pf6, Pf4, Pe6, Pd4, Pc3, Pb7] stipulation: "#2" solution: | "1...f4-f3 2.Qd3*e4 # 1...Ke5-d5 2.Qd3*d4 # 1...Ke5*f5 2.Rh4-h5 # 1...e6*f5 2.Qd3*d4 # 1.Qd3-f3 ! zugzwang. 1...d4-d3 2.Qf3*e4 # 1...Se4-d2 2.Rc4-c5 # 1...Se4-f2 2.Rc4-c5 # 1...Se4-g3 2.Rc4-c5 # 1...Se4-g5 2.Rc4-c5 # 1...Se4-d6 2.Rc4-c5 # 1...Se4-c5 2.Rc4*c5 # 1...Ke5-d5 2.Rc4-c5 # 1...Ke5*f5 2.Qf3*f4 # 1...e6*f5 2.Qf3*f4 #" keywords: - Mutate - Changed mates --- authors: - Mansfield, Comins source: Skakbladet date: 1962 distinction: 1st Prize algebraic: white: [Kb7, Qd7, Rc1, Bf7, Bb6, Sc2, Sb4, Pe2, Pc7, Pa2] black: [Kc4, Qe6, Rh5, Rc3, Bg8, Sf2, Pe3, Pd6] stipulation: "#2" solution: | "1.Sb4-d5 ! threat: 2.Qd7-c6 # 1...Sf2-e4 2.Sc2*e3 # 1...Sf2-d3 2.Sd5*e3 # 1...Kc4*d5 2.Qd7*e6 # 1...Rh5*d5 2.Qd7-a4 # 1...Qe6*d7 2.Sc2-a3 # 1...Qe6-e8 2.Sd5*e3 # 2.Sc2-a3 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Themes 64 source-id: 19/601 date: 1960-07 algebraic: white: [Kb7, Qd1, Re7, Ra4, Bh3, Be5, Pd4, Pb3] black: [Kd5, Re4, Bf4, Pf2, Pe3, Pd7, Pd6, Pc5] stipulation: "#2" solution: | "1.Qd1-d3 ? threat: 2.Qd3-c4 # 1...Re4*d4 2.Bh3-g2 # 1...Re4*e5 2.d4*e5 # 1...d6*e5 2.Re7*d7 # but 1...f2-f1=Q ! 1.Qd1-h5 ! threat: 2.Qh5-f7 # 1...Re4*d4 2.Be5*f4 # 1...Re4*e5 2.Bh3-g2 # 1...c5*d4 2.Ra4-a5 # 1...d6*e5 2.Re7*d7 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: Die Schwalbe date: 1952-07 algebraic: white: [Kb7, Qe3, Rc6, Sg4, Pe6, Pb6, Pb3] black: [Kd5, Ra4, Ba1, Pg6, Pe7, Pa6] stipulation: "#2" solution: | "1...Ba1-d4 2.Qe3-f3 # 1...Ra4-d4 2.Qe3-e5 # 1.Sg4-f2 ! threat: 2.Qe3-c5 # 1...Ba1-d4 2.Qe3-e4 # 1...Ra4-a5 2.Qe3-e4 # 1...Ra4-d4 2.Qe3-g5 # 1...Ra4-c4 2.b3*c4 #" keywords: - Grimshaw - Changed mates --- authors: - Mansfield, Comins source: The Problemist date: 1976 algebraic: white: [Kb7, Qg8, Re3, Ra6, Bh4, Se5, Sb6, Pg4, Pc5] black: [Ke6, Rh8, Rf1, Bg1, Sc7, Ph5, Pf7] stipulation: "#2" solution: | "1.Bh4-f2 ! threat: 2.Qg8*f7 # 2.Se5-d7 # 1...Ke6-e7 2.Sb6-c8 #" keywords: - 2 flights giving key - Novotny --- authors: - Mansfield, Comins source: Stratford Express date: 1950 distinction: 5th Prize algebraic: white: [Kb8, Qg6, Rh3, Rc8, Be1, Bd1, Sg2, Sc4, Pe4, Pb2] black: [Kd3, Qg3, Re7, Ba8, Ba5, Sc7, Ph4, Pd4, Pa6] stipulation: "#2" solution: | "1.b2-b4 ! threat: 2.Sc4-b2 # 1...Kd3*c4 2.Qg6*a6 # 1...Sc7-b5 + 2.Sg2-f4 # 1...Sc7-d5 + 2.e4-e5 # 1...Sc7-e6 + 2.Sc4-e5 # 1...Sc7-e8 + 2.Sg2-f4 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Hastings date: 1919 distinction: 4th Prize algebraic: white: [Kb8, Qh5, Rc8, Ra4, Bf8, Bb1, Sg7, Sd4] black: [Kd5, Qh2, Rg8, Rf4, Bg2, Bg1, Ph3, Pf7, Pe5, Pd7, Pb6] stipulation: "#2" solution: | "1.Sd4-c6 ! threat: 2.Qh5*e5 # 1...Bg1-d4 2.Sc6-b4 # 1...Rf4-f1 {(R4~ f)} 2.Bb1-a2 # 1...Rf4-f2 2.Ra4-d4 # 1...Rf4-f3 2.Bb1-e4 # 1...Rf4*a4 {(R4~ 4)} 2.Qh5*f7 # 1...d7-d6 2.Sc6-e7 # 1...d7*c6 2.Rc8-d8 # 1...f7-f5 2.Qh5-f7 # 1...f7-f6 2.Qh5-f7 #" keywords: - Black correction - B2 --- authors: - Mansfield, Comins source: Die Schwalbe date: 1961-06 distinction: 6th HM algebraic: white: [Kb8, Qf3, Re6, Rc4, Ba1, Sd6, Sc5, Pg5, Pd2, Pb5] black: [Kd5, Qh1, Ba8, Sc8, Pg7, Pg6, Pe4, Pb6, Pb4] stipulation: "#2" solution: | "1...Qh1*a1 2.Qf3*e4 # 1.Sc5*e4 ? {display-departure-square} threat: 2.Re6-e5 # 1...Qh1*a1 2.Se4-c5 # 1...Kd5*e6 2.Qf3-f7 # but 1...Sc8*d6 ! 1.Sd6*e4 ? {display-departure-square} threat: 2.Rc4-d4 # 2.Qf3-d3 # 1...Qh1*a1 2.Se4-d6 # but 1...b6*c5 ! 1.Rc4*e4 ! {display-departure-square} threat: 2.Re4-e5 # 1...Qh1*a1 2.Re4-c4 # 1...Kd5*c5 2.Re4-c4 # 1...Sc8*d6 2.Re6-e5 #" keywords: - Flight giving key - Switchback comments: - Check also 171450 --- authors: - Mansfield, Comins source: Probleemblad date: 1969 distinction: 3rd HM algebraic: white: [Kb8, Qd7, Re1, Ra4, Bf2, Bb1, Sd3, Sc2, Pg2, Pf5, Pe5, Pc6] black: [Ke4, Be2, Sc7, Sb4, Pf3, Pa6, Pa5] stipulation: "#2" solution: | "1.Sc2-e3 ? zugzwang. 1...Be2-d1 2.Se3*d1 # 1...Be2-f1 2.Se3*f1 # 1...Be2*d3 2.Se3-d5 # 1...Sc7-b5 {(S~ )} 2.Qd7-d5 # but 1...f3*g2 ! 1.Sc2-d4 ! threat: 2.g2*f3 # 1...f3*g2 2.Re1*e2 # 1...Sb4-c2 2.Sd4*c2 # 1...Sb4*d3 2.Sd4*f3 # 1...Sb4*c6 + 2.Sd4*c6 #" keywords: - Switchback --- authors: - Mansfield, Comins source: Deutsche Schachzeitung date: 1960 algebraic: white: [Kc3, Qa8, Re2, Rd8, Bh1, Be5, Sg2, Sc6, Pg3, Pe3] black: [Ke4, Rh7, Rf5, Pg4, Pc5, Pc4] stipulation: "#2" solution: | "1...Kf3 2.Nd4# 1...Rg7/Rhf7/Re7/Rd7/Rc7/Rb7/Ra7 2.Nf4#[A] 1...Rxe5/Rg5/Rfh5 2.Nh4#[B] 1.Bf4?? (2.Nh4#[B]) 1...Kf3 2.Nd4# 1...Rh3/Rh2/Rxh1 2.Ne5# but 1...Rxf4! 1.Bd6! zz 1...Kf3 2.Nd4# 1...Kd5/Rg7/Rhf7/Re7/Rd7/Rc7/Rb7/Ra7 2.Nf4#[A] 1...Rh6/Rhh5/Rh4/Rh3/Rh2/Rxh1/Rh8 2.Ne5# 1...Rf4/Rf3/Rf2/Rf1/Rf6/Rff7/Rf8 2.Ne7# 1...Re5/Rd5/Rg5/Rfh5 2.Nh4#[B]" keywords: - Flight giving key - Transferred mates --- authors: - Mansfield, Comins source: Probleemblad source-id: 28/6826 date: 1970-07 distinction: 2nd Commendation algebraic: white: [Kc6, Qf8, Re4, Rb8, Sc4, Sb5, Pd5, Pb4, Pa2] black: [Ka4, Qe1, Rh2, Bg1, Bd1, Ph3, Pa5] stipulation: "#2" solution: | "1...Bg1-f2 2.Sc4-b2 # 1...Rh2-f2 2.Sc4-b6 # 1.Qf8-f2 ! threat: 2.Sc4-b2 # 2.Sc4-b6 # 1...Qe1*f2 2.Sb5-c3 # 1...Qe1-c3 2.Sb5*c3 # 1...Qe1*e4 2.Sb5-c3 # 1...Ka4*b4 2.Sc4-e3 # 1...a5*b4 2.Rb8-a8 #" keywords: - Defences on same square - Flight giving key - Grimshaw - Novotny --- authors: - Mansfield, Comins source: Tijdschrift vd KNSB date: 1956 distinction: 4th HM algebraic: white: [Kc8, Qb2, Rd3, Rc1, Bf2, Bc2, Sa8, Pa4] black: [Kc6, Rb5, Ra5, Bg5, Sb8, Pe6, Pd6] stipulation: "#2" solution: | "1.Rd3-e3 ! threat: 2.Bc2-e4 # 1...Ra5*a8 2.Qb2*b5 # 1...Rb5-d5 2.Qb2-b6 # 1...Rb5-c5 2.Qb2-b7 # 1...d6-d5 2.Re3*e6 #" keywords: - 2 flights giving key - Transferred mates --- authors: - Mansfield, Comins source: Die Schwalbe date: 1954-07 distinction: Comm. algebraic: white: [Kc8, Qc7, Rb6, Ra4, Bb1, Sh2, Sd5, Ph5, Pf4, Pe6] black: [Kf5, Rc2, Rc1, Bg1, Ba6, Sa5, Pe3, Pb7] stipulation: "#2" solution: | "1...Sa5-c4 2.Qc7-h7 # 1...Sa5-c6 2.Qc7-f7 # 1.e6-e7 ? threat: 2.Rb6-f6 # 1...Sa5-c6 2.Qc7-d7 # but 1...Sa5-c4 ! 1.Qc7-c3 ! threat: 2.Sd5-e7 # 1...Bg1*h2 2.Sd5*e3 # 1...Sa5-c4 2.Qc3-d3 # 1...Sa5-c6 2.Qc3-f6 # 1...Ba6-c4 2.Qc3-e5 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: Schach (magazine) source-id: 6/6010 date: 1969 algebraic: white: [Kc8, Qh5, Rg4, Ra8, Bb2, Sg7, Pf5, Pe6, Pd4, Pc4] black: [Kh8, Qc6, Bh7, Pe7, Pd7, Pc7, Pc5, Pb7] stipulation: "#2" solution: | "1.d4-d5 ! threat: 2.Sg7-e8 # 1...Qc6-b5 2.Kc8*c7 # 1...Qc6*d5 2.Kc8*c7 # 1...Qc6-b6 2.Kc8*d7 # 1...Qc6*e6 2.Sg7*e6 # 1...Qc6-d6 2.Kc8*b7 # 1...d7*e6 2.Sg7*e6 # 1...Kh8-g8 2.Qh5-e8 #" --- authors: - Mansfield, Comins source: The Problemist source-id: 5733 date: 1975 algebraic: white: [Kd1, Qe2, Rb3, Ra7, Bf8, Ba2, Sc6, Sc3, Pg5, Pe4] black: [Ke6, Qa4, Rf6, Be8, Bd2, Sf3, Pf7, Pa3] stipulation: "#2" solution: | "1...Qa4*a7 2.Rb3-b7 # 1...Qa4*e4 2.Rb3-b5 # 1.Sc3-b5 ! threat: 2.Ra7-e7 # 1...Qa4*a7 2.Rb3-d3 # 1...Qa4*e4 2.Rb3*f3 # 1...Bd2-b4 2.Qe2-c4 # 1...Qa4*b3 + 2.Ba2*b3 # 1...Qa4*b5 2.Rb3*b5 # 1...Qa4-b4 2.Rb3*b4 # 1...Be8-d7 2.Sb5-c7 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: problem (Zagreb) source-id: 2124 date: 1964 distinction: 7th Comm. algebraic: white: - Kd1 - Qa2 - Re1 - Rb3 - Be3 - Bb1 - Sb5 - Sb4 - Ph5 - Pg6 - Pg5 - Pf4 - Pf2 - Pc6 - Pb2 - Pa3 black: [Ke6, Sd3, Pe7] stipulation: "#2" solution: | "1.f2-f3 ! zugzwang. 1...Sd3*b2 + 2.Rb3*b2 # 1...Sd3-c1 2.Be3*c1 # 1...Sd3*e1 2.Rb3-c3 # 1...Sd3-f2 + 2.Be3*f2 # 1...Sd3*f4 2.Be3*f4 # 1...Sd3-e5 2.f4-f5 # 1...Sd3-c5 2.Be3*c5 # 1...Sd3*b4 2.Rb3*b4 # 1...Ke6-f5 2.Sb5-d4 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Die Schwalbe source-id: 10084 date: 1955-07 distinction: Comm. algebraic: white: [Kd2, Qc8, Rf8, Re3, Bf3, Bb8, Sd5, Sd3] black: [Ke6, Qd7, Ra6, Bh8, Ba2, Se2, Sb7, Pg3, Pe7, Pe5, Pc6] stipulation: "#2" solution: | "1.Sd3-b4 ? {display-departure-square} threat: 2.Bf3-g4 # 1...Se2-d4 2.Sd5-f4 # 1...Sb7-d6 2.Sd5-c7 # but 1...Ba2-b1 ! 1.Sd5-b4 ! {display-departure-square} threat: 2.Bf3-g4 # 1...Se2-d4 2.Sd3-f4 # 1...Sb7-d6 2.Sd3-c5 #" --- authors: - Mansfield, Comins source: Die Schwalbe date: 1955-09 distinction: Comm. algebraic: white: [Kd3, Qh5, Rh8, Ra8, Ba4, Sf5, Se7, Pd5, Pc4] black: [Ke8, Qf8, Bf7, Bd8, Sd7, Pc5] stipulation: "#2" solution: | "1.Se7-c8 ? threat: 2.Sc8-d6 # 2.Sf5-g7 # 2.Sf5-d6 # but 1...Qf8*h8 ! 1.Se7-g6 ? threat: 2.Rh8*f8 # 2.Sf5-g7 # 2.Sf5-d6 # but 1...Bf7-g8 ! 1.Se7-c6 ! threat: 2.Ra8*d8 # 2.Sf5-g7 # 2.Sf5-d6 # 1...Sd7-e5 + 2.Sc6*e5 # 1...Sd7-b8 2.Sc6*b8 # 1...Bf7-g6 2.Qh5*g6 #" --- authors: - Mansfield, Comins source: problem (Zagreb) source-id: 1191 date: 1958 distinction: 2nd HM algebraic: white: [Kd4, Qe4, Rb5, Be2, Bc3, Pf4, Pe3, Pb6, Pb2, Pa2] black: [Ka4, Qh5, Rh3, Bd1, Ph6, Pb7, Pa6] stipulation: "#2" solution: | "1...Qh5-c5 + 2.Kd4*c5 # 1...Qh5-d5 + 2.Kd4*d5 # 1...Qh5-e5 + 2.Kd4*e5 # 1.Qe4-e8 ! threat: 2.Rb5-a5 # 2.Rb5*h5 # 1...Qh5*b5 2.Be2*d1 # 1...Qh5-c5 + 2.Rb5*c5 # 1...Qh5-d5 + 2.Rb5*d5 # 1...Qh5-e5 + 2.Rb5*e5 # 1...a6*b5 2.Qe8-a8 #" keywords: - Anti-reversal - Changed mates --- authors: - Mansfield, Comins source: Die Schwalbe source-id: 2541 date: 1978 distinction: Comm. algebraic: white: [Kd6, Qb1, Rh4, Rc8, Bg8, Ba1, Sc7, Sc5, Pa2] black: [Kc4, Rh6, Rd2, Ba4, Sd4, Sc2, Pe6, Pd3, Pa7, Pa3] stipulation: "#2" solution: | "1.Sc5*e6 ! threat: 2.Sc7-b5 # 1...Sc2-b4 2.Rh4*d4 # 1...Ba4-b3 2.Qb1*b3 # 1...Ba4-e8 2.Sc7*e8 # 2.Qb1-b3 # 1...Ba4-d7 2.Qb1-b3 # 1...Ba4-c6 2.Qb1-b3 # 1...Rh6*h4 2.Se6*d4 # 1...Rh6-h5 2.Se6-g5 # 1...Rh6*e6 + 2.Bg8*e6 # 1...Rh6-h7 2.Se6-g7 #" keywords: - Transferred mates - Threat anti-reversal --- authors: - Mansfield, Comins source: El Ajedrez Español date: 1949 algebraic: white: [Kd6, Rf1, Ra3, Bc5, Bb7, Sd3, Sc6] black: [Ke4, Qa8, Bh4, Sg8, Pg5, Pg4, Pf5, Pf4] stipulation: "#2" solution: | "1.Bc5-f2 ! threat: 2.Sd3-c5 # 1...Ke4-f3 2.Sc6-d4 # 1...f4-f3 2.Rf1-e1 # 1...Bh4*f2 2.Sd3*f2 # 1...Qa8*a3 + 2.Sc6-b4 # 1...Qa8-a5 2.Sc6*a5 # 1...Qa8-a7 2.Sc6*a7 # 1...Qa8-f8 + 2.Sc6-e7 # 1...Qa8-d8 + 2.Sc6*d8 # 1...Qa8-b8 + 2.Sc6*b8 #" keywords: - Active sacrifice - Flight giving key --- authors: - Mansfield, Comins source: Mat (Beograd) date: 1978 distinction: 4th Prize algebraic: white: [Kd6, Qg2, Rf1, Bd8, Bc8, Se4, Sd7, Pg6] black: [Kf5, Bh2, Bb7, Sf4, Ph6, Ph5, Pg7, Pe3, Pd4, Pc6] stipulation: "#2" solution: | "1.Qg2-a2 ! threat: 2.Qa2-e6 # 1...Kf5*e4 2.Sd7-c5 # 1...Kf5-g4 2.Sd7-e5 # 1...Kf5*g6 2.Sd7-f8 #" keywords: - 3+ flights giving key --- authors: - Mansfield, Comins source: Morning Post date: 1923-04 algebraic: white: [Kd7, Qa3, Rf5, Sf3, Sf1] black: [Ke4, Rg2, Pd5, Pd4] stipulation: "#2" solution: | "1...Rg3/Rf2/Re2/Rd2/Rc2/Rb2/Ra2/Rh2 2.Nxg3# 1.Ng5+?? 1...Rxg5 2.Qf3# but 1...Kxf5! 1.N3d2+?? 1...Rxd2 2.Ng3#/Qf3# but 1...Kxf5! 1.Rf6?? zz 1...Rg1/Rg4/Rg5/Rg6/Rg8 2.N1d2# 1...Rg3/Rd2 2.Nxg3#/N1d2# 1...Rf2/Re2/Rc2/Rb2/Ra2/Rh2 2.Ng3# 1...d3 2.Qe7# but 1...Rg7+! 1.Rf8?? zz 1...Rg1/Rg4/Rg5/Rg6/Rg8 2.N1d2# 1...Rg3/Rd2 2.Nxg3#/N1d2# 1...Rf2/Re2/Rc2/Rb2/Ra2/Rh2 2.Ng3# 1...d3 2.Qe7# but 1...Rg7+! 1.Rf7! zz 1...Rg1/Rg4/Rg5/Rg6/Rg7/Rg8 2.N1d2# 1...Rg3/Rd2 2.Nxg3#/N1d2# 1...Rf2/Re2/Rc2/Rb2/Ra2/Rh2 2.Ng3# 1...d3 2.Qe7#" keywords: - Flight taking key --- authors: - Mansfield, Comins source: Schach (magazine) source-id: 3549 date: 1960 distinction: 1st Prize algebraic: white: [Kd8, Qb7, Rd5, Rd3, Ba7, Sc7, Pe3, Pe2, Pa3] black: [Ke4, Rd4, Bg1, Pa5, Pa4] stipulation: "#2" solution: | "1...Rd4-b4 2.Rd5-b5 # 1...Rd4-c4 2.Rd5-c5 # 1...Rd4*d5 + 2.Qb7*d5 # 1.Qb7-b5 ? threat: 2.Rd5*d4 # 2.Qb5-e8 # 1...Rd4*d5 + 2.Qb5*d5 # but 1...Bg1*e3 ! 1.Qb7-b1 ! zugzwang. 1...Bg1-h2 2.Qb1-h1 # 1...Bg1*e3 2.Rd3*d4 # 1...Bg1-f2 2.Qb1-h1 # 1...Rd4*d3 2.Qb1*d3 # 1...Rd4-b4 2.Rd3-b3 # 1...Rd4-c4 2.Rd3-c3 # 1...Rd4*d5 + 2.Rd3*d5 #" keywords: - Black correction - Changed mates --- authors: - Mansfield, Comins source: Schakend Nederland date: 1971 distinction: 3rd Commendation algebraic: white: [Ke2, Qh1, Rb5, Bd7, Sc2, Pg6, Pf2, Pd2] black: [Kc4, Rg5, Ba2, Pf5, Pe3, Pc5, Pb6] stipulation: "#2" solution: | "1.Qh1-a8 ? threat: 2.Qa8*a2 # 2.Qa8-g8 # but 1...e3*d2 ! 1.Qh1-h8 ? threat: 2.Qh8-g8 # 2.Sc2*e3 # but 1...f5-f4 ! 1.Qh1-a1 ! threat: 2.Sc2*e3 # 2.Qa1*a2 # 1...Kc4-d5 2.Qa1-d4 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Express Wieczorny date: 1953 distinction: 2nd Prize algebraic: white: [Ke6, Qe8, Bg8, Bd2, Sf3] black: [Kc5, Rh3, Ph6, Pd3, Pb6, Pa6] stipulation: "#2" solution: | "1...Kc5-c4 2.Ke6-d6 # 1.Qe8-d7 ? threat: 2.Qd7-d5 # 1...b6-b5 2.Qd7-c7 # but 1...Rh3-h5 ! 1.Ke6-d7 ! threat: 2.Qe8-e5 # 1...b6-b5 2.Qe8-e3 # 1...Rh3-h5 2.Qe8*h5 # 1...Kc5-b5 2.Kd7-d6 #" keywords: - Flight giving and taking key --- authors: - Mansfield, Comins source: T.T. The Western Morning News date: 1933 distinction: 1st Prize algebraic: white: [Ke7, Qc2, Rd3, Sf7, Sf6, Ph5, Pd5] black: [Kf5, Ba6, Ba1, Sd2, Sc3, Pg4, Pg3, Pf4, Pb7] stipulation: "#2" solution: | "1.Sf6-e8 ! threat: 2.Se8-d6 # 1...Sd2-e4 2.Se8-g7 # 1...Sd2-c4 2.Rd3*c3 # 1...Sc3-e4 2.Qc2-c8 # 1...Sc3*d5 + 2.Rd3*d5 # 1...Sc3-b5 2.Rd3*d2 # 1...f4-f3 2.Rd3*f3 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Die Schwalbe source-id: 4641 date: 1984 algebraic: white: [Ke8, Qg2, Rg6, Sd3, Pf5, Pf3, Pe7, Pb5, Pb3] black: [Kd5, Rf4, Rb4, Bh2, Pe3, Pd4, Pc3] stipulation: "#2" solution: | "1.Qg2-a2 ! threat: 2.Qa2-a8 # 1...Rb4*b3 2.Qa2*b3 # 1...Rb4-a4 2.b3*a4 # 1...Rb4*b5 2.b3-b4 # 1...Rb4-c4 2.b3*c4 #" --- authors: - Mansfield, Comins source: Die Schwalbe source-id: 3622 date: 1981 algebraic: white: [Kf1, Qg2, Rc7, Rc2, Bd7, Ba7, Se1, Sb5, Pe5, Pc3, Pa2] black: [Kc4, Qb4, Bd4, Sc8, Pd6, Pc5, Pa4, Pa3] stipulation: "#2" solution: | "1.Ba7*c5 ! zugzwang. 1...Qb4*c3 2.Sb5*a3 # 1...Qb4*c5 2.Sb5*a3 # 1...Qb4-a5 2.Sb5*a3 # 1...Qb4-b2 2.Bc5*d4 # 1...Qb4-b3 2.Bc5*d4 # 1...Qb4*b5 2.c3*d4 # 1...Bd4*c3 2.Qg2-e4 # 1...Bd4-g1 2.c3*b4 # 1...Bd4-f2 2.c3*b4 # 1...Bd4-e3 2.c3*b4 # 1...Bd4*e5 2.Bc5*b4 # 1...Bd4*c5 2.Qg2-e4 # 1...d6-d5 2.Qg2-e2 # 1...d6*e5 2.Qg2-g8 # 1...d6*c5 2.Qg2-g8 # 1...Sc8-a7 2.Sb5*d6 # 1...Sc8-b6 2.Sb5*d6 # 1...Sc8-e7 2.Sb5*d6 # 1...Qb4-b1 2.Bc5*d4 # 2.Sb5*a3 #" keywords: - Defences on same square - Transferred mates --- authors: - Mansfield, Comins source: problem (Zagreb) date: 1967 distinction: 2nd Prize algebraic: white: [Kf1, Qa3, Re1, Rb6, Ba7, Ba2, Sf2, Sd3, Pe6, Pe4, Pd5, Pc4, Pb7, Pa6] black: [Kd4, Rc5, Bd2, Pf3, Pe5] stipulation: "#2" solution: | "1.Re1-d1 ! zugzwang. 1...Bd2-c1 2.Sd3*c1 # 1...Bd2-e1 2.Sd3*e1 # 1...Bd2-h6 2.Sd3-f4 # 1...Bd2-g5 2.Sd3-f4 # 1...Bd2-f4 2.Sd3*f4 # 1...Bd2-e3 2.Qa3-b2 # 1...Bd2-a5 2.Sd3-b4 # 1...Bd2-b4 2.Sd3*b4 # 1...Bd2-c3 2.Qa3*c5 # 1...Kd4-e3 2.Qa3*c5 # 1...Rc5*c4 2.Rb6-b4 # 1...Rc5-a5 2.Rb6-b5 # 1...Rc5-b5 2.Rb6*b5 # 1...Rc5-c8 2.Rb6-c6 # 1...Rc5-c7 2.Rb6-c6 # 1...Rc5-c6 2.Rb6*c6 # 1...Rc5*d5 2.Rb6-d6 #" keywords: - Banny - Black correction - Flight giving key --- authors: - Mansfield, Comins source: Schach-Echo source-id: 6748 date: 1971 distinction: Comm. algebraic: white: [Kf2, Qa3, Re6, Re4, Ba2, Sh8, Ph4, Ph3, Pg3, Pe5, Pd6, Pc3] black: [Kf5, Bd5] stipulation: "#2" solution: | "1.Qa3-a8 ! zugzwang. 1...Bd5*a2 2.Re6-f6 # 1...Bd5-b3 2.Re6-f6 # 1...Bd5-c4 2.Re6-f6 # 1...Bd5*e4 2.Qa8-f8 # 1...Bd5*e6 2.g3-g4 # 1...Bd5*a8 2.Re4-f4 # 1...Bd5-b7 2.Re4-f4 # 1...Bd5-c6 2.Re4-f4 # 1...Kf5*e4 2.Ba2-b1 # 1...Kf5*e6 2.Qa8-c8 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Die Schwalbe date: 1953-03 distinction: 4th HM algebraic: white: [Kf3, Qg7, Rh5, Re6, Bf7, Be7, Sf5, Sa3, Pd3] black: [Kd5, Qh8, Rf8, Re5, Bb8, Ph6, Pc7] stipulation: "#2" solution: | "1...Re5-e1 2.Sf5-e3 # 1...Re5-e2 2.Sf5-e3 # 1...Re5-e3 + 2.Sf5*e3 # 1...Re5*e6 2.Sf5-d4 # 1...Re5*f5 + 2.Rh5*f5 # 1.Qg7-g2 ! threat: 2.Qg2-a2 # 1...Re5-e2 2.Kf3*e2 # 1...Re5-e3 + 2.Kf3*e3 # 1...Re5-e4 2.d3*e4 # 1...Re5*e6 2.Kf3-f4 # 1...Re5*f5 + 2.Kf3-e3 # 1...c7-c5 2.Re6-d6 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: The Observer date: 1947 algebraic: white: [Kf3, Qh8, Rg6, Ra5, Bh3, Sh6, Pe3, Pc4] black: [Ke5, Qc7, Re6, Bf6, Sg7, Sc5, Pd6, Pc6] stipulation: "#2" solution: | "1...Bf6-h4 2.Rg6*e6 # 1...Bf6-g5 2.Rg6*e6 # 1...Bf6-d8 2.Rg6*e6 # 1...Sg7-h5 2.Rg6-g5 # 1...Sg7-e8 2.Rg6-g5 # 1.Qh8-b8 ! threat: 2.Qb8-b2 # 1...d6-d5 2.Sh6-f7 # 1...Qc7*a5 2.Sh6-f7 # 1...Qc7-b6 2.Sh6-f7 # 1...Qc7*b8 2.Sh6-f7 # 1...Qc7-b7 2.Ra5*c5 # 1...Sg7-f5 2.Sh6-g4 #" --- authors: - Mansfield, Comins source: T.T.American Chess Bulletin date: 1959 distinction: 2nd Prize algebraic: white: [Kf7, Qb3, Rf3, Ra4, Sg6, Pf2, Pb2] black: [Ke4, Sh4, Sb4, Pg5, Pf6, Pf5, Pd4] stipulation: "#2" solution: | "1...Sb4-c2 2.Qb3-b7 # 1...Sb4-d5 2.Qb3-d3 # 1...Sb4-c6 2.Rf3-e3 # 1...d4-d3 2.Qb3*d3 # 1.Rf3*f5 ! zugzwang. 1...Sb4-c2 {(Sb~ )} 2.Qb3*c2 # 1...Sb4-d3 2.Qb3-d5 # 1...d4-d3 2.Qb3-d5 # 1...Ke4*f5 2.Qb3-e6 # 1...Sh4-f3 {(Sh~ )} 2.Qb3*f3 # 1...Sh4*f5 2.f2-f3 # 1...g5-g4 2.Rf5-f4 #" keywords: - Black correction - Flight giving key - Changed mates --- authors: - Mansfield, Comins source: New York Post date: 1952 distinction: 2nd Prize algebraic: white: [Kg1, Qh5, Ra5, Bh7, Bh4, Sf4, Se5, Pf3, Pe2, Pd3] black: [Kf5, Rg6, Re3, Bh3, Bg5, Ph6, Pe4] stipulation: "#2" solution: | "1.Qh5*h6 ! threat: 2.Qh6*g5 # 1...Kf5*f4 2.Se5*g6 # 1...Kf5-f6 2.Qh6-f8 # 1...Bg5*f4 + 2.Qh6*g6 # 1...Bg5*h4 + 2.Se5-g4 # 1...Bg5*h6 + 2.Se5*g6 # 1...Bg5-d8 + 2.Bh7*g6 # 1...Bg5-e7 + 2.Bh7*g6 # 1...Bg5-f6 + 2.Bh7*g6 #" keywords: - Active sacrifice - Mates on same square - Black correction --- authors: - Mansfield, Comins source: Die Schwalbe date: 1950-11 algebraic: white: [Kg2, Qh1, Rg6, Rc2, Be3, Bb1, Sg7, Se8, Pf4, Pb3] black: [Kd5, Bb4, Ba4, Se4, Sa6, Pg3, Pd7] stipulation: "#2" solution: | "1.Qh1-h7 ! threat: 2.Qh7-g8 # 1...Se4-c3 2.Rc2-d2 # 1...Se4-d2 2.Rg6-g5 # 1...Se4-f2 2.Rg6-g5 # 1...Se4-g5 2.Rg6*g5 # 1...Se4-f6 2.Rg6-g5 # 1...Se4-d6 2.Se8-f6 # 1...Se4-c5 2.Rg6-d6 # 1...Sa6-c5 2.Se8-c7 # 1...Sa6-c7 2.Se8*c7 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Themes 64 source-id: 31/1032 date: 1963-07 algebraic: white: [Kg2, Qh3, Rd6, Rb7, Ba8, Sf7] black: [Ke4, Re5, Rd4, Sc3, Pg7, Pg5, Pf4, Pd2] stipulation: "#2" solution: | "1.Rd6-d5 ! threat: 2.Rd5*e5 # 1...Sc3*d5 2.Sf7-d6 # 1...Rd4-d3 2.Qh3*d3 # 1...Rd4-a4 2.Qh3-d3 # 1...Rd4-c4 2.Qh3-d3 # 1...Rd4*d5 2.Rb7-b4 # 1...Ke4*d5 2.Rb7-c7 # 1...f4-f3 + 2.Qh3*f3 # 1...Re5*d5 2.Rb7-e7 # 1...Re5-e8 2.Qh3-f3 # 1...Re5-e6 2.Qh3-f3 # 1...Re5-f5 2.Qh3-f3 # 1...Rd4-b4 2.Rb7*b4 # 2.Qh3-d3 # 1...Re5-e7 2.Rb7*e7 # 2.Qh3-f3 #" keywords: - Defences on same square - Flight giving key - Transferred mates --- authors: - Mansfield, Comins source: Deutsche Schachzeitung source-id: 1051 date: 1958 distinction: 3rd Prize algebraic: white: [Kg3, Qf1, Rb2, Be3, Bc6, Se2, Sc2, Pe4, Pb3] black: [Kd3, Sg2, Sd5, Pg4, Pe5] stipulation: "#2" solution: | "1.Qf1-h1 ! zugzwang. 1...Sg2-e1 {(Sg~ )} 2.Bc6-b5 # 1...Sg2*e3 2.Sc2-e1 # 1...Kd3*e2 2.Bc6-b5 # 1...Kd3*e4 2.Qh1-h7 # 1...Sd5-b4 {(Sd~ )} 2.Qh1-d1 # 1...Sd5-c3 2.Se2-c1 # 1...Sd5*e3 2.Sc2-b4 #" keywords: - Black correction - Flight giving key --- authors: - Mansfield, Comins source: Teplitz-Schönauer Anzeiger source-id: 32 date: 1932 distinction: 1st Prize algebraic: white: [Kg3, Rd1, Ba8, Sf3, Sf1] black: [Kh1, Ra2, Ra1, Bb2, Pg4, Pc3] stipulation: "#2" solution: | "1.Kg3-f2 ! threat: 2.Sf1-g3 # 1...Bb2-c1 + 2.Sf1-d2 # 1...Bb2-a3 + 2.Sf3-d2 # 1...g4*f3 2.Ba8*f3 #" --- authors: - Mansfield, Comins source: Die Schwalbe source-id: 8/355 date: 1971-04 algebraic: white: [Kg7, Qg6, Re1, Be3, Bb5, Sf6, Sc8, Pc6, Pc4] black: [Ke6, Qe5, Sh2, Sb2, Pf3, Pc3] stipulation: "#2" solution: | "1.c6-c7 ! threat: 2.Bb5-d7 # 1...Qe5-d4 2.Be3*d4 # 1...Qe5-g3 2.Sf6-g4 # 1...Qe5-f4 2.Be3*f4 # 1...Qe5*f6 + 2.Qg6*f6 # 1...Qe5*c7 + 2.Sf6-d7 # 1...Qe5-e4 2.Qg6*e4 # 1...Qe5*b5 2.Be3-c5 # 1...Qe5-h5 2.Be3-g5 # 1...Qe5-g5 2.Be3*g5 # 1...Qe5-f5 2.Qg6-e8 # 1...Qe5-d6 2.Sf6-g4 # 2.Sf6-d7 # 1...Qe5*e3 2.Sf6-g4 # 2.Sf6-d7 # 2.Re1*e3 # 1...Qe5-c5 2.Sf6-g4 # 2.Sf6-d7 # 2.Be3*c5 # 1...Qe5-d5 2.Sf6-g4 # 2.Sf6-d7 #" keywords: - Active sacrifice - Black correction --- authors: - Mansfield, Comins source: Deutsche Schachblätter source-id: 233 date: 1963 distinction: 3rd HM algebraic: white: [Kg7, Re1, Rd1, Bf1, Bc1, Sg5, Sc6, Pe6, Pd7] black: [Kf5, Bd8, Bc4, Sb5, Pg4, Pf6, Pe7] stipulation: "#2" solution: | "1.Re1-e2 ! threat: 2.Re2-f2 # 1...Bc4*e2 2.Rd1-d5 # 1...Bc4-d5 2.Rd1*d5 # 1...g4-g3 2.Bf1-h3 # 1...Sb5-d4 2.Sc6*d4 # 1...f6*g5 2.Re2-e5 # 1...Bd8-b6 2.Sc6*e7 # 1...Bd8-c7 2.Sc6*e7 #" keywords: - Active sacrifice - Transferred mates --- authors: - Mansfield, Comins source: problem (Zagreb) source-id: 21/481 date: 1954-03 distinction: 4th HM algebraic: white: [Kg8, Qb5, Rh5, Re7, Bg6, Bb2, Se8, Se2] black: [Kd5, Re3, Ra4, Be5, Sg5, Sf3, Pd7, Pd3, Pc5, Pa5] stipulation: "#2" solution: | "1.Bb2-d4 ! threat: 2.Qb5*c5 # 1...Sf3*d4 2.Se2-c3 # 1...Ra4*d4 2.Se2-c3 # 1...Ra4-c4 2.Qb5-b7 # 1...Be5*d4 2.Se2-f4 # 1...Be5-d6 2.Se8-f6 # 1...Sg5-e4 2.Bg6-f7 # 1...Sg5-e6 2.Re7*d7 # 1...d7-d6 2.Se8-c7 #" keywords: - Grimshaw - Novotny --- authors: - Mansfield, Comins source: British Chess Federation date: 1940 distinction: Comm., 1940-1941 algebraic: white: [Kg8, Qh4, Rg5, Rc4, Bb6, Bb3, Sf8, Sc8] black: [Kd5, Qa4, Rc3, Bh1, Bb8, Se5, Sc2, Pg4] stipulation: "#2" solution: | "1.Qh4-h7 ! threat: 2.Qh7-f7 # 1...Sc2-d4 2.Rc4-c5 # 1...Rc3*c4 2.Qh7*h1 # 1...Rc3-f3 2.Qh7-e4 # 1...Qa4-e8 2.Rc4*c3 # 1...Qa4-d7 2.Rc4*c3 # 1...Qa4-c6 2.Rc4-d4 # 1...Qa4-a7 2.Rc4*c3 # 1...Qa4*c4 2.Qh7-b7 #" keywords: - Model mates --- authors: - Mansfield, Comins source: Adventures in Composition date: 1944 algebraic: white: [Kg8, Qc7, Rf6, Bf2, Bc2, Sg6, Sd3, Pc5, Pb3] black: [Ke4, Qd1, Rd6, Bf8, Pg5, Pg4, Pe6] stipulation: "#2" solution: | "1.Qc7-h7 ! threat: 2.Sg6-e7 # 1...Qd1-f3 2.Sg6-f4 # 1...Qd1*d3 2.Qh7-h1 # 1...Qd1-h1 2.Qh7*h1 # 1...Ke4-d5 2.Sd3-b4 # 1...Rd6*d3 2.Qh7-b7 # 1...Rd6-d5 2.Sg6-e5 #" --- authors: - Mansfield, Comins source: Observer date: 1932-07-03 algebraic: white: [Kg8, Qh3, Rd3, Ra6, Bg7, Bc2, Pf2] black: [Kg6, Qb1, Ba1, Sh5, Pg5, Pf6, Pd2, Pc5, Pa2] stipulation: "#2" solution: | "1.Qh3-h4 ! threat: 2.Qh4-e4 # 1...Qb1-b8 + 2.Rd3-d8 # 1...Qb1-b7 2.Rd3-d5 # 1...Qb1-b6 2.Rd3-d6 # 1...Qb1-b4 2.Rd3-d4 # 1...Qb1-b3 + 2.Rd3*b3 # 1...Qb1-h1 2.Rd3-f3 # 1...Qb1-e1 2.Rd3-e3 # 1...g5-g4 2.Qh4*g4 # 1...g5*h4 2.Rd3-g3 # 1...Sh5-f4 2.Qh4-h7 # 1...Sh5-g3 2.Qh4-h7 # 1...Sh5*g7 2.Qh4-h7 # 1...Kg6-f5 2.Rd3-d5 #" keywords: - Active sacrifice - Flight giving key --- authors: - Mansfield, Comins source: Observer date: 1944 algebraic: white: [Kg8, Qb5, Rg3, Rf1, Bd8, Sg4] black: [Kg6, Rh2, Rg2, Ph6, Pg7, Pe6, Pe3, Pd7] stipulation: "#2" solution: | "1.Qb5-e2 ! threat: 2.Sg4-e5 # 1...Rg2*e2 2.Sg4-f6 # 1...Rg2-f2 2.Sg4*e3 # 1...Kg6-h5 2.Sg4-f2 # 1...h6-h5 2.Qe2-d3 #" keywords: - Active sacrifice - Flight giving key --- authors: - Mansfield, Comins source: Die Schwalbe source-id: 1945 date: 1945 algebraic: white: [Kh2, Qc2, Rg6, Rb1, Sc6, Sc4, Pb6, Pb4, Pa5] black: [Kb5, Qf8, Rh7, Ra1, Bh8, Ph6, Pf4, Pd5, Pa6, Pa3] stipulation: "#2" solution: | "1...Rh7-g7 2.Sc6-d4 # 1...Bh8-g7 2.Sc6-a7 # 1.Rg6-g7 ! threat: 2.Sc6-d4 # 2.Sc6-a7 # 1...Ra1*b1 2.Sc4*a3 # 1...Kb5*c6 2.Qc2-a4 # 1...Qf8*g7 2.Sc4-d6 # 1...Qf8*b4 2.Sc4-d6 #" keywords: - Active sacrifice - Defences on same square - Flight giving key - Grimshaw - Novotny --- authors: - Mansfield, Comins source: Arbeiter-Zeitung (Wien) date: 1977 distinction: 3rd Prize algebraic: white: [Kh2, Qg4, Rd1, Rc3, Bg7, Be8, Se2, Pf3, Pd6, Pc5, Pb3] black: [Kd5, Qd3, Be5, Sb4, Ph6, Pg6, Pf4] stipulation: "#2" solution: | "1.Qg4*f4 ! threat: 2.Qf4*e5 # 1...Sb4-c6 2.Be8-f7 # 1...Be5*c3 2.Qf4-c4 # 1...Be5-d4 2.Qf4-f7 # 1...Be5*f4 + 2.Se2*f4 # 1...Be5*g7 2.Qf4-e4 # 1...Be5-f6 2.Qf4-e4 # 1...Be5*d6 2.Qf4*d6 #" keywords: - Active sacrifice - Barnes - Black correction - Flight giving key --- authors: - Mansfield, Comins source: South African Chess Player date: 1958 distinction: 2nd Prize algebraic: white: [Kh2, Qb6, Re2, Bh8, Bg4, Sh5, Sf4, Pe3, Pc6, Pc5] black: [Ke4, Bh7, Be1, Sf7, Sb5, Ph6] stipulation: "#2" solution: | "1.Qb6-b7 ! threat: 2.c6-c7 # 1...Be1-g3 + 2.Sh5*g3 # 1...Sb5-c3 2.Qb7-b4 # 1...Sb5-d4 2.e3*d4 # 1...Sb5-d6 2.Qb7-b1 # 1...Sb5-c7 2.Qb7-b1 # 1...Sb5-a7 2.Qb7-b1 # 1...Sf7-d6 2.Qb7-e7 # 1...Sf7-e5 2.Sh5-f6 # 1...Sf7*h8 2.Qb7-e7 # 1...Sf7-d8 2.Qb7*h7 #" --- authors: - Mansfield, Comins source: problem (Zagreb) source-id: 2631 date: 1967 distinction: Comm. algebraic: white: [Kh2, Qd1, Rh5, Rb7, Bb8, Ba8, Sd5, Sc6, Pg3, Pf5, Pf2] black: [Ke4, Re6, Rc4, Bc1, Sf6, Pg4, Pe3] stipulation: "#2" solution: | "1.Rb7-b3 ? threat: 2.Qd1-h1 # 1...Rc4*c6 {display-departure-square} 2.Sd5-c3 # 1...Re6*c6 {display-departure-square} 2.Sd5*f6 # but 1...Sf6*h5 ! 1.Sd5-f4 ! threat: 2.Qd1-h1 # 1...Rc4*c6 {display-departure-square} 2.Rb7-b4 # 1...Re6*c6 {display-departure-square} 2.Rb7-e7 # 1...e3*f2 2.Qd1-d3 # 1...Sf6*h5 2.Qd1-d5 #" keywords: - Stocchi --- authors: - Mansfield, Comins source: Die Schwalbe source-id: 18/859 date: 1972-12 algebraic: white: [Kh2, Qd6, Rc6, Ba8, Sg4, Sg3, Ph3] black: [Kf3, Qb1, Ra3, Bc4, Bc1, Sh7, Pg6, Pg5, Pe3, Pd2] stipulation: "#2" solution: | "1.Qd6-d3 ! threat: 2.Rc6-f6 # 1...Qb1-b7 2.Qd3-e4 # 1...Ra3*a8 2.Qd3*e3 # 1...Kf3-f4 2.Rc6*c4 # 1...Bc4-e6 2.Qd3-f1 # 1...Bc4-d5 2.Qd3-f1 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Österreichische Schachzeitung date: 1969 distinction: 2nd Prize algebraic: white: [Kh3, Qc8, Rg5, Rc1, Sc6, Sb1, Pe2, Pd6, Pc2, Pa5, Pa2] black: [Kc4, Qb4, Bf7, Bd4, Pe3, Pb6, Pb5] stipulation: "#2" solution: | "1...Bg6/Bh5/Be6+/Be8 2.Qe6# 1...Bg8 2.Qxg8# 1...Bd5 2.Ne5# 1...bxa5 2.Nxa5# 1...Qb3 2.axb3#/cxb3# 1.Qf5?? (2.Qxf7#/Qd3#) 1...Bg6 2.Qd5#/Qe6# 1...Bh5/Be8 2.Qd5#/Qd3#/Qe6# 1...Bg8/Bf6/Qxb1/Qc5 2.Qd3# 1...Be6 2.Qxe6# 1...Bd5 2.Qxd5# 1...Qb3 2.axb3#/cxb3#/Qxf7# 1...Qc3/Qd2/Qa3 2.Qxf7#/Qxb5# 1...Qxd6 2.Qxb5#/Qd3# but 1...Be5! 1.Nxd4+?? 1...Kxd4 2.Qg4# but 1...Qc5! 1.Ne7+?? 1...Bc5 2.Rg4# but 1...Qc5! 1.Nxb4+?? 1...Bc5 2.Rg4# but 1...Kxb4! 1.c3! zz 1...Bg6/Bh5/Be6+/Be8 2.Qe6# 1...Bg8 2.Qxg8# 1...Bd5 2.Ne5# 1...Be5/Bf6/Bg7/Bh8 2.Nxb4# 1...Bxc3 2.Qg4# 1...Bc5 2.cxb4# 1...bxa5 2.Nxa5# 1...Qb3/Qb2/Qxb1/Qa4 2.Nxd4# 1...Qxc3/Qa3 2.Na3# 1...Qc5/Qxd6 2.cxd4# 1...Qxa5 2.Nxd4#/Nxa5#" keywords: - Active sacrifice - Black correction --- authors: - Mansfield, Comins source: problem (Zagreb) date: 1956 algebraic: white: [Kh5, Qe7, Rf4, Rd4, Bd5, Pf3, Pb4] black: [Ke5, Qd2, Re1, Bh2, Bc8, Sb5, Pe6, Pc7] stipulation: "#2" solution: | "1.Bd5-e4 ! threat: 2.Qe7-f6 # 1...Qd2*f4 2.Rd4-d5 # 1...Qd2*d4 2.Rf4-f5 # 1...Bh2*f4 2.Qe7-g7 # 1...Sb5*d4 2.Qe7*c7 # 1...Ke5*d4 2.Qe7-c5 # 1...Ke5*f4 2.Qe7-g5 #" keywords: - Defences on same square - 2 flights giving key --- authors: - Mansfield, Comins source: Die Schwalbe source-id: 4237 date: 1983 algebraic: white: [Kh6, Qb6, Rh2, Ra2, Be3, Sf4, Sd4] black: [Kc3, Rb1, Ra7, Bb8, Ph7, Pe2, Pd6, Pc4, Pb2] stipulation: "#2" solution: | "1.Be3-c1 ! threat: 2.Rh2-h3 # 1...Rb1*c1 2.Qb6*b2 # 1...b2*c1=Q 2.Sd4*e2 # 1...b2*c1=S 2.Ra2-c2 # 1...e2-e1=Q 2.Rh2-c2 # 1...e2-e1=S 2.Bc1-d2 # 1...e2-e1=B 2.Rh2-c2 # 1...Ra7-g7 2.Ra2-a3 # 1...Ra7-e7 2.Ra2-a3 #" keywords: - Active sacrifice - Defences on same square - Rudenko --- authors: - Mansfield, Comins source: Die Schwalbe source-id: 2273 date: 1977 distinction: Comm. algebraic: white: [Kh7, Qb5, Rf3, Re6, Bh1, Sd6, Sc5, Pg7, Pc3] black: [Kd5, Re4, Ra7, Bf8, Bb1, Sg3, Pg4, Pe2, Pd7, Pc4] stipulation: "#2" solution: | "1.g7-g8=S ! threat: 2.Sg8-f6 # 1...Sg3-h5 2.Rf3-f5 # 1...Re4-e3 + 2.Rf3-f5 # 1...Re4-d4 + 2.Rf3-f5 # 1...Re4*e6 + 2.Sc5-e4 # 1...Re4-e5 + 2.Rf3-d3 # 1...Re4-f4 + 2.Rf3-d3 # 1...d7*e6 + 2.Sc5-b7 # 1...Bf8-e7 2.Sg8*e7 # 1...Bf8-g7 2.Sg8-e7 #" keywords: - Black correction --- authors: - Mansfield, Comins source: problem (Zagreb) source-id: 2383 date: 1966 algebraic: white: [Kh7, Qa8, Rf4, Re8, Bb4, Se5, Sb8, Pg6, Pf3, Pe3, Pd6, Pb6] black: [Kd5, Qb7, Rd1, Bh6, Sa5, Pf6] stipulation: "#2" solution: | "1.Se5-d7 ? threat: 2.Qa8*a5 # 1...Qb7-c6 2.Sd7*f6 # 1...Qb7*a8 2.Sd7*f6 # but 1...Bh6*f4 ! 1.Sb8-d7 ? threat: 2.Qa8*a5 # 1...Qb7-c6 2.Sd7*f6 # 1...Qb7*a8 2.Sd7*f6 # but 1...f6*e5 ! 1.d6-d7 ? threat: 2.Qa8*a5 # 1...Qb7-c6 2.d7-d8=Q # 1...Qb7*a8 2.d7-d8=Q # but 1...Bh6-f8 ! 1.g6-g7 ! threat: 2.Qa8*a5 # 1...Rd1-a1 2.Rf4-d4 # 1...Rd1-c1 2.Rf4-d4 # 1...Sa5-b3 2.Qa8*b7 # 1...Sa5-c4 2.Qa8*b7 # 1...Sa5-c6 2.Qa8-a2 # 1...Qb7-c6 2.g7-g8=Q # 1...Qb7*a8 2.g7-g8=Q #" --- authors: - Mansfield, Comins source: Probleemblad source-id: 7969 date: 1977 algebraic: white: [Kh8, Qe2, Rb5, Bc1, Ba6, Sb7] black: [Kd4, Rh3, Bg2, Bg1, Sh2, Se8, Ph4, Pd6, Pc3, Pc2, Pb4, Pb3] stipulation: "#2" solution: | "1.Qe2-h5 ! threat: 2.Rb5*b4 # 1...Bg2-f1 2.Qh5-d5 # 1...Bg2-d5 2.Qh5*d5 # 1...Kd4-c4 2.Rb5-d5 # 1...Kd4-e4 2.Qh5-d5 #" keywords: - 3+ flights giving key --- authors: - Mansfield, Comins source: The Problemist date: 1981 distinction: 3rd Prize algebraic: white: [Kh8, Qg4, Rh5, Bd7, Bb2, Sd1, Sc8] black: [Kd5, Qc1, Bg8, Be1, Se4, Sc4, Pg5, Pf2, Pe5, Pe3, Pc5, Pc2] stipulation: "#2" solution: | "1.Rh5-h4 ! threat: 2.Qg4*e4 # 1...Sc4-d2 2.Sd1*e3 # 1...Sc4-d6 2.Sc8-b6 # 1...Se4-d2 2.Sd1-c3 # 1...Se4-g3 {(Se~ )} 2.Qg4*c4 # 1...Se4-d6 2.Sc8-e7 # 1...g5*h4 2.Qg4*g8 # 1...Bg8-h7 2.Qg4-e6 #" keywords: - Active sacrifice - Black correction --- authors: - Mansfield, Comins source: Die Schwalbe date: 1954 distinction: 2nd Prize algebraic: white: [Kh8, Qa3, Re6, Bg8, Sc2, Pd3, Pb5, Pb3] black: [Kd5, Qa4, Rd4, Rc5, Sc4, Ph4, Pe3] stipulation: "#2" solution: | "1...Rc5-c8 2.Re6-e8 # 1...Rc5-c7 2.Re6-e7 # 1.Qa3-b2 ? threat: 2.Qb2*d4 # but 1...Rd4*d3 ! 1.Qa3-a1 ! threat: 2.Qa1*d4 # 1...Qa4*a1 2.Sc2-b4 # 1...Sc4-a3 {(S~ )} 2.Sc2*e3 # 1...Rd4*d3 2.Qa1-h1 # 1...Rd4-g4 2.Re6-g6 # 1...Rd4-f4 2.Re6-f6 # 1...Rd4-e4 2.d3*e4 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Chess date: 1952 distinction: 1st Prize algebraic: white: [Kh8, Qe8, Rf7, Ra3, Bc6, Ba7, Sg6, Sd5, Pf4, Pb4] black: [Ke4, Qa6, Rh5, Bg1, Bb1, Se5, Ph6, Pe2] stipulation: "#2" solution: | "1.f4-f5 ! threat: 2.Qe8*e5 # 1...Bb1-d3 2.Sd5-c3 # 1...Bg1-h2 2.Ra3-e3 # 1...Bg1-d4 2.Sd5-b6 # 1...Bg1-e3 2.Ra3*e3 # 1...Rh5*f5 2.Sd5-f6 # 1...Qa6-d3 2.Sd5-c3 # 1...Qa6-c8 2.Sd5-c7 # 1...Qa6*a3 2.Sd5-f4 #" keywords: - B2 --- authors: - Mansfield, Comins source: Problemas date: 1951 algebraic: white: [Kh8, Qd1, Rf5, Rb4, Bh7, Bb2, Pf2, Pe2, Pc4] black: [Ke4, Re3, Rd4, Sg2, Pd3] stipulation: "#2" solution: | "1.Qd1-d2 ! zugzwang. 1...Sg2-e1 {(S~ )} 2.Qd2*e3 # 1...d3*e2 2.Qd2*d4 # 1...Re3*e2 2.f2-f3 # 1...Re3-h3 2.Rf5-h5 # 1...Re3-g3 2.Rf5-g5 # 1...Re3-f3 2.e2*f3 # 1...Rd4*c4 2.Rb4*c4 # 1...Rd4-d8 + 2.Rf5-f8 # 1...Rd4-d7 2.Rf5-f7 # 1...Rd4-d6 2.Rf5-f6 # 1...Rd4-d5 2.c4*d5 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Die Schwalbe date: 1984 algebraic: white: [Kh8, Qd7, Rc6, Ra3, Bb7, Sf5, Sd3, Ph3] black: [Kf3, Re1, Be4, Sg2, Sb5, Ph4, Pg3, Pf2, Pe2] stipulation: "#2" solution: | "1...Nf4 2.Nxe1# 1...Ne3 2.Nxh4# 1...Bxd3 2.Rc4# 1...Bd5 2.Qxd5# 1...Bxc6 2.Bxc6#/Qxc6# 1.Qg7?? (2.Qg4#) 1...Nf4 2.Nxe1# 1...Ne3 2.Nxh4# but 1...Bxf5! 1.Qe8?? (2.Qh5#) 1...Nf4 2.Nxe1# 1...Ne3 2.Nxh4# 1...Bxf5 2.Rf6# 1...Bxd3 2.Rc4# 1...Bxc6 2.Bxc6#/Qxc6# but 1...Bd5! 1.Qf7! (2.Qh5#) 1...Nf4 2.Nxe1# 1...Ne3 2.Nxh4# 1...Bxf5 2.Re6# 1...Bxd3 2.Rc4# 1...Bd5 2.Qxd5# 1...Bxc6 2.Bxc6#" keywords: - Black correction --- authors: - Mansfield, Comins source: The Problemist source-id: 3620 date: 1955 algebraic: white: [Kh8, Qc7, Rg6, Be3, Bb1, Sg8, Sc2, Pd5, Pd4, Pc4, Pc3] black: [Kf5, Qg2, Rg4, Bg1, Be8, Sg3, Ph4] stipulation: "#2" solution: | "1.Be3-d2 ! threat: 2.Sc2-e3 # 1...Bg1*d4 + 2.Sc2*d4 # 1...Qg2-e4 2.Rg6-f6 # 1...Sg3-e4 2.Sg8-e7 # 1...Rg4-e4 2.Rg6-g5 # 1...Rg4*g6 2.Qc7-f4 # 1...Kf5-e4 2.Sc2-e1 # 1...Kf5*g6 2.Qc7-h7 # 1...Be8*g6 2.Qc7-e5 #" keywords: - Defences on same square - Levman --- authors: - Mansfield, Comins source: Magyar Sakkvilág source-id: 336 date: 1926-12-01 distinction: 2nd Place algebraic: white: [Kc2, Qc6, Rf4, Ba6, Sf5, Sc5, Pd4, Pb6, Pb5, Pa3] black: [Kc4, Rh6, Be8, Bb8, Sh7, Sf1, Ph5, Pe3, Pa7] stipulation: "#2" solution: | "1.Sf5-e7 ! threat: 2.Qc6-d5 # 1...Rh6*c6 2.b5*c6 # 1...Rh6-d6 2.d4-d5 # 1...Sh7-f6 2.Sc5-d7 # 1...Be8*c6 2.b5*c6 # 1...Be8-g6 + 2.Sc5-d3 # 1...Be8-f7 2.Sc5-e6 #" --- authors: - Mansfield, Comins source: Skakbladet date: 1932 distinction: 2nd Place algebraic: white: [Kb8, Qe2, Ba8, Ba7, Sg6, Sd6, Pc5, Pc2] black: [Kd4, Rh6, Rh5, Bg8, Bf4, Sb2, Ph4, Pg3, Pf5, Pd2, Pc3] stipulation: "#2" solution: | "1...Bf4-e5 2.Qe2*e5 # 1.Qe2-f1 ! threat: 2.Qf1*f4 # 1...Bf4-e5 2.Qf1-g1 # 1...Sb2-d3 2.Qf1*d3 # 1...Kd4-e3 2.c5-c6 # 1...Bf4-e3 2.Sd6-b5 # 1...Bf4-g5 2.Sd6*f5 # 1...Bf4*d6 + 2.c5*d6 # 1...Bg8-d5 2.c5-c6 #" keywords: - Barnes - Black correction - Flight giving key - Rudenko --- authors: - Mansfield, Comins source: Sports Referee date: 1932 distinction: 2nd Prize, I algebraic: white: [Kh7, Qg4, Re6, Rc6, Ba4, Se7, Sc7, Ph6, Pg5] black: [Kd7, Qd1, Bd8, Bd3, Pg6, Pd5, Pa6, Pa5] stipulation: "#2" solution: | "1.Kh7-g8 ! zugzwang. 1...Qd1*g4 2.Rc6-c4 # 1...Qd1-f3 2.Rc6-c4 # 1...Qd1-e2 2.Rc6-c4 # 1...Qd1*a4 2.Re6-e4 # 1...Qd1-b3 2.Re6-e4 # 1...Qd1-c2 2.Re6-e4 # 1...Qd1-a1 2.Re6-e4 # 1...Qd1-b1 2.Re6-e4 # 1...Qd1-c1 2.Re6-e4 # 2.Rc6-c4 # 1...Qd1-d2 2.Re6-e4 # 2.Rc6-c4 # 1...Qd1-h1 2.Re6-e4 # 2.Rc6-c4 # 1...Qd1-g1 2.Rc6-c4 # 1...Qd1-f1 2.Rc6-c4 # 1...Qd1-e1 2.Re6-e4 # 2.Rc6-c4 # 1...Bd3-b1 2.Rc6-c2 # 1...Bd3-c2 2.Rc6*c2 # 1...Bd3-f1 2.Re6-e2 # 1...Bd3-e2 2.Re6*e2 # 1...Bd3-f5 2.Rc6-c2 # 1...Bd3-e4 2.Rc6-c2 # 1...Bd3-b5 2.Re6-e2 # 1...Bd3-c4 2.Re6-e2 # 1...d5-d4 2.Qg4*d4 # 1...Bd8*c7 2.Rc6-d6 # 1...Bd8*e7 2.Re6-d6 #" keywords: - Block --- authors: - Mansfield, Comins source: The Western Daily Mercury date: 1919 distinction: 2nd Prize algebraic: white: [Ke8, Qa2, Rh4, Rc4, Ba4, Sf7, Pf5] black: [Kd5, Qe1, Rh3, Rh2, Bb7, Ba1, Se4, Pg5, Pf6, Pe7, Pd6, Pa6] stipulation: "#2" solution: | "1.Ba4-d7 ! threat: 2.Bd7-e6 # 1...Se4-c3 2.Rh4-d4 # 1...Se4-d2 2.Qa2-a5 # 1...Se4-f2 2.Rc4-c3 # 1...Se4-g3 2.Rc4-c2 # 1...Se4-c5 2.Rc4-d4 # 1...Bb7-c6 2.Bd7*c6 # 1...Bb7-c8 2.Bd7-c6 #" --- authors: - Mansfield, Comins source: The Hampshire Telegraph and Post date: 1921 distinction: 2nd Place algebraic: white: [Kf6, Rf4, Rd8, Bh5, Bc1, Se6, Sd4, Pb3, Pb2] black: [Kd3, Qc3, Rh4, Bf1, Ph6, Ph3, Pf5, Pc7, Pc2] stipulation: "#2" solution: | "1.Kf6-e5 ! threat: 2.Rf4-f3 # 1...Bf1-g2 2.Bh5-e2 # 1...Bf1-e2 2.Bh5*e2 # 1...Qc3-e1 + 2.Sd4-e2 # 1...Qc3-d2 2.Sd4*f5 # 1...Qc3*d4 + 2.Rd8*d4 # 1...Qc3-a5 + 2.Sd4-b5 # 1...Qc3*b3 2.Sd4*b3 # 1...Qc3-c6 2.Sd4*c6 # 1...Qc3-c5 + 2.Se6*c5 # 1...Rh4*f4 2.Se6*f4 #" --- authors: - Mansfield, Comins source: Gazette de Liege date: 1930 distinction: 1st Prize algebraic: white: [Kh1, Qf3, Rc4, Ra6, Be8, Bc3, Sb4, Sa5, Pe2, Pb2, Pa2] black: [Ka4, Qa8, Rc6, Bb5, Ph2, Pa7] stipulation: "#2" solution: | "1.Qf3-f5 ! threat: 2.Qf5-c2 # 1...Bb5*c4 2.Sa5*c4 # 1...Bb5*a6 2.Sb4*a6 # 1...Rc6*c4 + {(R~ )} 2.Sa5-b7 # 1...Rc6-b6 + {(R~ )} 2.Sb4-d5 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Bonavia-Hunt Research Pamphlet date: 1950 distinction: 1st Prize algebraic: white: [Kc6, Qe4, Rg1, Bd8, Bd1, Sg6, Sf5, Ph5, Pf6] black: [Kg5, Rf3, Bh8, Bg2, Sh1, Se1, Ph6, Ph3, Pd3, Pc5] stipulation: "#2" solution: | "1.Bxf3?? (2.Qf4#/Qg4#) 1...Nf2 2.Qf4# but 1...Nxf3! 1.Ne5?? (2.Qg4#) 1...Rf2/Rf1/Rf4/Rxf5/Re3/Rg3 2.Nf7# but 1...Nf2! 1.Ng7?? (2.Qh4#) 1...Rf2/Rf1/Rf4/Rf5/Rxf6+ 2.Ne6# 1...Re3/Rg3 2.Ne6#/f7# but 1...Bxg7! 1.Nd4?? (2.Qh4#) 1...Kxh5 2.Qf5# 1...Rf2/Rf1/Rf4/Rf5/Rxf6+/Re3/Rg3 2.Ne6# but 1...cxd4! 1.Nd6! (2.Qh4#) 1...Kxh5 2.Qf5# 1...Rf2/Rf1/Rf4/Rf5/Re3/Rg3 2.Nf7# 1...Rxf6 2.Qd5#" --- authors: - Mansfield, Comins source: The Observer date: 1965 distinction: 1st Prize algebraic: white: [Kb2, Qf1, Rg1, Rc6, Bb7, Sc1, Pg3, Pf2] black: [Kf3, Bd1, Se4, Sd5, Ph3, Pg4] stipulation: "#2" solution: | "1.Rc6-c4 ? zugzwang. 1...Se4-c3 {(Se~ )} 2.Rc4-f4 # 1...Se4*g3 2.Rg1*g3 # 1...Sd5-b4 {(Sd~ )} 2.Bb7*e4 # 1...Sd5-c3 2.Rc4*c3 # 1...Sd5-f6 2.Rc4-c3 # but 1...Se4*f2 ! 1.Rc6-e6 ! zugzwang. 1...Se4-c3 {(Se~ )} 2.Re6-e3 # 1...Se4*f2 2.Bb7*d5 # 1...Se4*g3 2.f2*g3 # 1...Sd5-c3 2.Re6-f6 # 1...Sd5-e3 {(Sd~ )} 2.Bb7*e4 # 1...Sd5-f6 2.Re6*f6 # 1...Bd1-e2 {(B~ )} 2.Qf1*e2 # 1...h3-h2 2.Qf1-g2 #" keywords: - Black correction - Changed mates --- authors: - Mansfield, Comins source: Tijdschrift vd NSB date: 1928 distinction: 1st Prize algebraic: white: [Kd8, Qb8, Rh3, Re1, Ba8, Se2, Sd4, Pf4] black: [Ke4, Qa2, Bg5, Ba6, Pf6, Pf5, Pd5, Pa3] stipulation: "#2" solution: | "1...Bg5*f4 2.Qb8*f4 # 1.Qb8-b4 ! threat: 2.Qb4-e7 # 1...Qa2*e2 2.Sd4-b5 # 1...Bg5*f4 2.Se2-c3 # 1...Ba6*e2 2.Sd4-b3 # 1...Ba6-c8 2.Sd4-b3 #" keywords: - Anti-reversal --- authors: - Mansfield, Comins source: Falkirk Herald (Difficulty Ty.) date: 1929 distinction: 1st Prize algebraic: white: [Ka2, Qb7, Rh3, Rd7, Bh8, Bh7, Se5, Sd5, Pf5, Pc3] black: [Ke4, Bg8, Sa3, Pf4, Pf2, Pb6] stipulation: "#2" solution: | "1...Bg8*d5 + 2.Qb7*d5 # 1.Rd7-e7 ! threat: 2.Se5-f7 # 1...Sa3-c4 2.Sd5-f6 # 1...f4-f3 2.Rh3-h4 # 1...Bg8*d5 + 2.Se5-c4 # 1...Bg8-e6 2.f5*e6 # 1...Bg8*h7 2.Sd5-e3 #" --- authors: - Mansfield, Comins source: The Hindu date: 1960 distinction: 1st Prize algebraic: white: [Kh1, Qg2, Rd5, Rc4, Ba7, Sf3, Sb6, Pg3] black: [Ke3, Qa4, Rd6, Rc5, Bg1, Sh2, Pd7, Pc3] stipulation: "#2" solution: | "1.Sf3-e1 ! zugzwang. 1...Bg1-f2 2.Qg2-e4 # 1...Sh2-f1 {(S~ )} 2.Qg2-f3 # 1...c3-c2 2.Qg2-d2 # 1...Qa4-d1 2.Rc4-e4 # 1...Qa4-c2 2.Se1*c2 # 1...Qa4-b3 2.Rc4-e4 # 1...Qa4-a2 2.Rc4-e4 # 1...Qa4-b4 2.Se1-c2 # 1...Rc5*c4 2.Sb6*c4 # 1...Rc5-a5 2.Rc4*c3 # 1...Rc5-b5 2.Rc4*c3 # 1...Rc5-c8 2.Rd5-e5 # 1...Rc5-c7 2.Rd5-e5 # 1...Rc5-c6 2.Rd5-e5 # 1...Rc5*d5 2.Sb6*d5 # 1...Rd6*d5 2.Sb6*d5 # 1...Rd6*b6 2.Rd5-d3 # 1...Rd6-c6 2.Rd5-d3 # 1...Rd6-h6 2.Rd5-d3 # 1...Rd6-g6 2.Rd5-d3 # 1...Rd6-f6 2.Rd5-d3 # 1...Rd6-e6 2.Rd5-d3 # 1...Qa4-a3 2.Rc4-e4 # 2.Se1-c2 # 1...Qa4*a7 2.Rc4-e4 # 2.Se1-c2 # 1...Qa4-a6 2.Rc4-e4 # 2.Se1-c2 # 1...Qa4-a5 2.Rc4-e4 # 2.Se1-c2 # 1...Qa4-c6 2.Rc4-e4 # 2.Se1-c2 # 1...Qa4-b5 2.Rc4-e4 # 2.Se1-c2 # 1...Qa4-a1 2.Rc4-e4 # 2.Se1-c2 # 1...Qa4*c4 2.Sb6*c4 # 2.Se1-c2 #" keywords: - Black correction - Transferred mates --- authors: - Mansfield, Comins source: Problemnoter date: 1964 distinction: 1st Prize algebraic: white: [Kg6, Qc8, Rg5, Bf8, Be2, Sf5, Sc6, Pe3, Pb5] black: [Kd5, Rh4, Ra6, Be5, Ba2, Sh2, Ph5, Pf3, Pc4] stipulation: "#2" solution: | "1.Qc8-e8 ! threat: 2.Qe8*e5 # 1...Sh2-g4 2.Be2*f3 # 1...Rh4-e4 2.Qe8-f7 # 1...Be5-a1 2.Sf5-d4 # 1...Be5-b2 2.Sf5-d4 # 1...Be5-c3 2.Sf5-d4 # 1...Be5-d4 2.Sf5*d4 # 1...Be5-g3 2.Sf5*g3 # 1...Be5-f4 2.e3-e4 # 1...Be5-h8 2.Sf5-g7 # 1...Be5-g7 2.Sf5*g7 # 1...Be5-f6 2.Sc6-b4 # 1...Be5-b8 2.Sf5-d6 # 1...Be5-c7 2.Sf5-d6 # 1...Be5-d6 2.Sf5*d6 # 1...Ra6*c6 + 2.Qe8*c6 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Skakbladet date: 1964 distinction: 1st Prize algebraic: white: [Ke2, Qa4, Rd8, Ra5, Bg8, Sf7, Sa6, Pf4, Pe7, Pe6, Pb5] black: [Kd5, Qd7, Bb8, Pa7] stipulation: "#2" solution: | "1.Sf7-d6 ! threat: 2.Qa4-d1 # 1...Kd5*d6 2.Rd8*d7 # 1...Qd7*b5 + 2.Qa4-c4 # 1...Qd7*e6 + 2.Qa4-e4 # 1...Qd7*d6 2.b5-b6 # 1...Bb8*d6 2.e6*d7 #" keywords: - Active sacrifice - Defences on same square - Flight giving and taking key --- authors: - Mansfield, Comins source: Skakbladet date: 1936 distinction: 1st Prize algebraic: white: [Kb8, Qh4, Rc6, Ra7, Bg5, Sf6, Se6, Pg6, Pg4, Pf7, Pc7] black: [Ke7, Qf8, Bc8] stipulation: "#2" solution: | "1.Qh4-e1 ! threat: 2.Qe1-b4 # 1...Bc8-a6 + 2.c7-c8=S # 1...Bc8-b7 + 2.Se6-d8 # 1...Bc8*e6 + 2.c7-c8=Q # 1...Bc8-d7 + 2.Sf6-e8 # 1...Qf8-d8 2.c7*d8=Q #" keywords: - Black correction --- authors: - Mansfield, Comins source: El Ajedrez Español source-id: 200 date: 1944 distinction: 1st Prize algebraic: white: [Kb7, Qd1, Rc2, Ra4, Bc1, Bb1, Sh4, Pf4, Pe3, Pb2] black: [Ke4, Qh1, Bg1, Bc4, Sh3, Sb5, Pf7, Pd6, Pd4] stipulation: "#2" solution: | "1.Qd1-g4 ! threat: 2.Qg4-f5 # 1...Bc4-e6 2.Rc2-c5 # 1...Bc4-d5 + 2.Rc2-c6 # 1...d4*e3 2.Rc2-d2 # 1...Ke4-d3 + 2.Rc2-g2 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: BCPS 055. Ty. date: 1944 distinction: 1st Prize, 1944-1945 algebraic: white: [Kh1, Qf3, Ba8, Ba1, Se4, Sc6, Pe2, Pa4, Pa2] black: [Kc4, Qh6, Re8, Ra3, Bd8, Sd5, Sd2, Ph5, Pc5, Pb4] stipulation: "#2" solution: | "1.Ba8-b7 ! threat: 2.Bb7-a6 # 1...Ra3*a4 2.Qf3-d3 # 1...Sd5-c3 2.Qf3-d3 # 1...Sd5-e3 2.Se4*d2 # 1...Sd5-f4 2.Se4*d2 # 1...Sd5-f6 2.Se4-d6 # 1...Sd5-e7 2.Sc6-e5 # 1...Sd5-c7 2.Sc6-a5 # 1...Sd5-b6 2.Sc6-a5 # 1...Qh6*c6 2.Se4*d2 #" keywords: - Gamage --- authors: - Mansfield, Comins source: Chess date: 1955 distinction: 1st Prize algebraic: white: [Kh1, Qf4, Rc1, Ba4, Sc8, Sa3, Pf5, Pd4] black: [Kd5, Rh6, Re7, Bb6, Ba8, Se5, Sa5, Ph5, Pd7] stipulation: "#2" solution: | "1.Ba4-c2 ! threat: 2.Qf4-e4 # 1...Kd5-c6 2.Bc2-e4 # 1...Se5-c4 {(Se~ )} 2.Sc8*e7 # 1...Se5-g6 2.Qf4-d6 # 1...Se5-c6 2.Sc8*b6 # 1...Bb6*d4 2.Bc2-e4 #" keywords: - Black correction - Flight giving key --- authors: - Mansfield, Comins - Chandler, Guy Wills source: The Four-Leaved Shamrock date: 1913 distinction: 1st Prize algebraic: white: [Kc1, Qh5, Rf4, Ra5, Bc7, Ba4, Sb7, Sa3] black: [Kd5, Qg5, Rc5, Bb6, Sh2, Sb8, Pf6, Pe6, Pc2, Pb4] stipulation: "#2" solution: | "1.Sa3*c2 ! threat: 2.Qh5-d1 # 1...Sh2-f1 2.Qh5-f3 # 1...Sh2-g4 2.Qh5-h1 # 1...Sh2-f3 2.Qh5*f3 # 1...Rc5*a5 2.Sc2*b4 # 1...Rc5-b5 2.Sc2*b4 # 1...Qg5-e5 2.Rf4-d4 # 1...Qg5-f5 2.Rf4-d4 # 1...Qg5*h5 2.Rf4-d4 # 1...Bb6*c7 2.Ra5*c5 # 1...e6-e5 2.Qh5-f7 # 1...Sb8-c6 2.Ba4-b3 #" --- authors: - Mansfield, Comins source: Circolo Luigi Centurini date: 1922 distinction: 1st Prize algebraic: white: [Ke8, Qf4, Rc1, Rb5, Bg2, Bd4, Sc3, Pd3, Pc7, Pb6] black: [Kc6, Rf3, Se7, Sd5, Pg3, Pf6, Pe3, Pb7] stipulation: "#2" solution: | "1.Rb5-a5 ! threat: 2.Sc3*d5 # 1...Rf3-f1 2.Sc3-d1 # 1...Rf3-f2 2.Sc3-e2 # 1...Rf3*f4 2.Sc3-b5 # 1...Sd5-b4 2.Qf4*f6 # 1...Sd5*c3 2.Qf4*f6 # 2.Rc1*c3 # 1...Sd5*f4 2.Sc3-e4 # 1...Sd5*c7 + 2.Qf4*c7 # 1...Sd5*b6 2.Ra5-c5 #" --- authors: - Mansfield, Comins source: L'Alfiere di Re source-id: 631 date: 1924-09 distinction: 1st Prize algebraic: white: [Ka6, Qb8, Rh3, Rd4, Bd1, Ba1, Sb6, Sb4] black: [Kb3, Qa2, Rg3, Be1, Sc3, Sc2, Pg2, Pe4, Pa3] stipulation: "#2" solution: | "1.Sb6-a4 ! threat: 2.Sa4-c5 # 1...Qa2*a1 2.Bd1*c2 # 1...Kb3*a4 2.Sb4*a2 # 1...Sc3*a4 2.Qb8-g8 # 1...Rg3-g6 + 2.Sb4-c6 # 1...Rg3-g5 2.Sb4-d5 #" keywords: - Active sacrifice - Flight giving key --- authors: - Mansfield, Comins source: Europe Echecs, Charles Pelle M.T. date: 1967 distinction: 1st Prize algebraic: white: [Ke6, Qb3, Rg6, Re7, Bh2, Bh1, Pd4] black: [Kc6, Qg2, Bf8, Ph6, Ph3, Pf6, Pe5, Pc7] stipulation: "#2" solution: | "1.Rg6*f6 ? threat: 2.Ke6-f5 # 2.Ke6-f7 # 2.Ke6*e5 # but 1...Bf8-g7 ! 1.Qb3-b8 ? threat: 2.Re7*c7 # but 1...Bf8*e7 ! 1.Ke6*f6 ! threat: 2.Kf6*e5 # 2.Kf6-f5 # 2.Kf6-f7 # 1...Qg2-d5 2.Kf6-f5 # 1...Qg2-e4 2.Kf6-f7 # 1...Qg2-f3 + 2.Kf6*e5 # 1...e5-e4 2.Re7*c7 # 1...e5*d4 2.Re7*c7 # 1...Kc6-d6 2.Qb3-e6 # 1...Bf8*e7 + 2.Kf6*e7 # 1...Bf8-g7 + 2.Kf6*g7 #" keywords: - Flight giving key - Fleck - Karlstrom-Fleck --- authors: - Mansfield, Comins source: Skakbladet date: 1971 distinction: 1st Prize algebraic: white: [Kf2, Qc6, Rf3, Bb4, Se6, Sd3, Pd6, Pa6] black: [Kc4, Bf1, Ba1, Sg6, Sa8, Pf7, Pc5, Pb6, Pb3, Pb2, Pa4] stipulation: "#2" solution: | "1.Bb4*c5 ! threat: 2.Bc5-a3 # 2.Bc5-b4 # 2.Bc5-d4 # 2.Bc5*b6 # 1...b6*c5 2.Qc6*c5 # 1...Sg6-e5 2.Sd3*e5 # 1...Sg6-e7 2.Sd3-e5 #" keywords: - Flight giving key - Switchback --- authors: - Mansfield, Comins source: Gazeta Częstochowska date: 1981 distinction: 1st Prize algebraic: white: [Kf8, Qe8, Rh6, Rg5, Bh3, Bf2, Sf5, Sf1, Pg3, Pe7, Pd4, Pd3, Pc2] black: [Kd5, Rf3, Se4, Sc3, Pd6, Pc7] stipulation: "#2" solution: | "1.Bh3-g2 ! zugzwang. 1...Sc3-a2 2.c2-c4 # 1...Sc3-b1 2.c2-c4 # 1...Sc3-d1 2.c2-c4 # 1...Sc3-e2 2.c2-c4 # 1...Sc3-b5 2.c2-c4 # 1...Sc3-a4 2.c2-c4 # 1...Rf3*f2 2.Sf1-e3 # 1...Rf3*d3 2.Sf5*d6 # 1...Rf3-e3 2.Sf1*e3 # 1...Rf3*f5 + 2.Rg5*f5 # 1...Rf3-f4 2.Sf1-e3 # 1...Rf3*g3 2.Sf5*g3 # 1...Se4-d2 2.Sf1-e3 # 1...Se4*f2 2.Sf1-e3 # 1...Se4*g3 2.Sf1-e3 # 1...Se4*g5 2.Sf1-e3 # 1...Se4-f6 2.Sf5-g7 # 1...Se4-c5 2.Sf1-e3 # 1...c7-c5 2.Qe8-a8 # 1...c7-c6 2.Qe8-f7 #" keywords: - Black correction - Transferred mates --- authors: - Mansfield, Comins source: 10°T.T. L'Italia Scacchistica date: 1922 distinction: 5th Prize, 1919-22 algebraic: white: [Kg8, Qg7, Rb5, Bh2, Bb7, Se2, Sd6, Pf6] black: [Ke6, Rc4, Rc1, Bh1, Bb6, Sh8, Sc8, Pf5] stipulation: "#2" solution: | "1.Sd6-e8 ! threat: 2.Rb5-e5 # 1...Bh1-d5 2.Bb7*d5 # 1...Rc4-c5 2.Se2-d4 # 1...Rc4-f4 2.Se2*f4 # 1...Rc4-e4 2.Bb7-d5 # 1...f5-f4 2.Qg7-g4 # 1...Bb6-d4 2.Se2-f4 # 1...Bb6-c5 2.Se8-c7 # 1...Bb6-c7 2.Bb7*c8 # 1...Sc8-e7 + 2.Qg7*e7 # 1...Sh8-f7 2.Qg7*f7 # 1...Sh8-g6 2.Qg7-f7 #" keywords: - Grimshaw --- authors: - Mansfield, Comins source: Le Roi Blanc Peugeot TT date: 1962 distinction: 5th Prize, 1961-1962 algebraic: white: [Kg4, Qg2, Rf5, Rf3, Bf7, Bf6, Sc4, Sb2] black: [Ke4, Qa3, Ra1, Bd1, Bc1, Sg7, Sb3, Pf4, Pc6, Pc2, Pa5] stipulation: "#2" solution: | "1...Bd1*f3 + 2.Qg2*f3 # 1.Kg4-h3 ! threat: 2.Rf3*f4 # 1...Sb3-d2 2.Rf5*f4 # 1...Sb3-d4 2.Rf5-e5 # 1...Sb3-c5 2.Sc4-d6 # 1...Ke4*f5 2.Qg2-g6 # 1...Bc1*b2 2.Rf5*f4 # 1...Bd1*f3 2.Qg2*c2 # 1...Sg7*f5 2.Rf3-e3 #" keywords: - Flight giving key - Monreal theme - Changed mates --- authors: - Mansfield, Comins source: The Brisbane Courier source-id: 3075 date: 1928-11-03 distinction: 4th Prize algebraic: white: [Kd3, Qb5, Ra6, Ra4, Bh6, Sd5] black: [Kh5, Ra5, Sh2, Sf8, Ph7, Ph4, Pc3] stipulation: "#2" solution: | "1.Bh6-c1 ! threat: 2.Ra6-h6 # 1...Sh2-g4 2.Sd5-f4 # 1...Ra5*a4 2.Sd5-e3 # 1...Ra5*a6 2.Sd5-e7 # 1...Sf8-e6 2.Qb5-e8 # 1...Sf8-g6 2.Sd5-f6 #" keywords: - B2 comments: - 198199 (version) --- authors: - Mansfield, Comins source: Europe Échecs date: 1963 distinction: 4th Prize algebraic: white: [Kg2, Qf8, Rf1, Ra4, Bd8, Bc8, Sf4, Pg5, Pe6, Pe5, Pc5] black: [Kf5, Bf6, Pg6, Pc7, Pc6] stipulation: "#2" solution: | "1...Kxe5 2.Qxf6# 1.Bxf6?? (2.Nh3#/Nh5#/Ne2#/Nd3#/Nd5#/e7#) but 1...Kg4! 1.e7+?? 1...Kxe5 2.Re1#/Qxf6#/Bxc7# but 1...Kxg5! 1.Kg3?? (2.Qxf6#) but 1...Kxg5! 1.Kh3?? (2.Qxf6#) but 1...Kxg5! 1.Kf3?? (2.Qxf6#) but 1...Kxg5! 1.Qh6?? (2.Nxg6#/Nd3#) 1...Bxg5 2.Qxg5# 1...Bxe5 2.Qh3#/e7# but 1...Kxe5! 1.Nxg6+?? 1...Kxg6 2.Qh6# but 1...Kxg5! 1.Qh8! zz 1...Kxe5 2.Qxf6# 1...Kxg5/Kg4/Be7/Bxd8 2.Nh3# 1...Bxg5 2.e7# 1...Bg7/Bxh8 2.Nd3# 1...Bxe5 2.Qh3#" keywords: - Black correction --- authors: - Mansfield, Comins source: Chess date: 1946 distinction: 4th Prize algebraic: white: [Ke8, Qc8, Rd4, Rc2, Bg8, Bg7, Sh4, Sf5, Pf7, Pd7] black: [Ke6, Qb5, Bg6, Ph5, Pe5, Pc7, Pb6] stipulation: "#2" solution: | "1.Rd4-e4 ! zugzwang. 1...Bg6*f5 2.f7-f8=Q # 1...Qb5-a4 2.Re4*e5 # 1...Qb5-f1 2.d7-d8=Q # 2.Re4*e5 # 1...Qb5-e2 2.d7-d8=Q # 1...Qb5-d3 2.Re4*e5 # 1...Qb5-c4 2.d7-d8=Q # 2.Re4*e5 # 1...Qb5*d7 + 2.Qc8*d7 # 1...Qb5-c6 2.Re4*e5 # 1...Qb5-a6 2.Re4*e5 # 1...Qb5-b1 2.d7-d8=Q # 2.Re4*e5 # 1...Qb5-b2 2.d7-d8=Q # 1...Qb5-b3 2.d7-d8=Q # 2.Re4*e5 # 1...Qb5-b4 2.d7-d8=Q # 2.Re4*e5 # 1...Qb5-a5 2.d7-d8=Q # 1...Qb5-d5 2.d7-d8=S # 1...Qb5-c5 2.d7-d8=Q # 1...Ke6-d5 2.Re4*e5 # 1...Bg6-h7 2.f7-f8=S # 1...Bg6*f7 + 2.Bg8*f7 # 1...c7-c5 2.Re4*e5 # 1...c7-c6 2.d7-d8=Q #" keywords: - Black correction - Flight giving key --- authors: - Mansfield, Comins source: The Problemist date: 1951 distinction: 4th Prize algebraic: white: [Ka2, Qf6, Rh4, Rd3, Bh6, Bb1, Se7, Sb4, Pg2, Pd4] black: [Ke4, Qe5, Rf4, Pg4, Pg3, Pf5, Pe6, Pd6] stipulation: "#2" solution: | "1.Se7-g8 ? zugzwang. but 1...Qe5-b5 ! 1.Se7-c8 ! zugzwang. 1...Rf4-f1 2.Rd3-d1 # 1...Rf4-f2 + 2.Rd3-d2 # 1...Rf4-f3 2.g2*f3 # 1...Qe5*d4 2.Qf6*d4 # 1...Qe5*f6 2.Sc8*d6 # 1...Qe5-a5 + 2.Rd3-a3 # 1...Qe5-b5 2.Sc8*d6 # 1...Qe5-c5 2.Rd3-c3 # 1...Qe5-d5 + 2.Rd3-b3 # 1...d6-d5 2.Qf6*e5 #" keywords: - Black correction --- authors: - Mansfield, Comins source: stella polaris source-id: 1909 date: 1968 distinction: 4th Prize algebraic: white: [Kh1, Qe8, Rh4, Ra1, Bg1, Bc8, Se5, Sd8, Pc6, Pc3, Pb4] black: [Kb5, Qb7, Ra8, Ba4, Sf8, Ph6] stipulation: "#2" solution: | "1.Qe8-h5 ! threat: 2.Qh5-e2 # 1...Ba4-d1 2.Se5-f3 # 1...Ba4-c2 2.Se5-d3 # 1...Ba4-b3 2.Se5-c4 # 1...Qb7*c6 + 2.Se5*c6 # 1...Qb7-h7 2.Se5-g6 # 1...Qb7-f7 2.Se5*f7 # 1...Qb7-d7 2.Se5*d7 #" --- authors: - Mansfield, Comins source: Friends of Chess Traditional Ty. date: 1971 distinction: 4th Prize algebraic: white: [Kg2, Qg4, Rb3, Bh6, Ba8, Pf4, Pe3, Pd5, Pc2] black: [Ke4, Rg7, Bg6, Pg3, Pf7, Pd6, Pa5] stipulation: "#2" solution: | "1.Rb3-b7 ! threat: 2.Rb7-e7 # 1...Ke4*d5 2.Rb7-c7 # 1...Ke4*e3 2.f4-f5 # 1...Bg6-f5 2.Qg4-f3 # 1...f7-f5 2.Qg4-f3 # 1...f7-f6 2.Qg4-e6 #" keywords: - 2 flights giving key --- authors: - Mansfield, Comins source: The Sun-Herald source-id: 658 date: 1961 distinction: 1st-2nd Prize algebraic: white: [Ka1, Qa3, Rg7, Re6, Bc4, Ba7, Sf7, Ph3, Pg3, Pd7, Pc3] black: [Kf3, Qa8, Bd1, Bc7, Sh1, Pg2, Pa5] stipulation: "#2" solution: | "1.Qa3-f8 ! threat: 2.Qf8*a8 # 1...Bd1-a4 2.Bc4-e2 # 1...Bd1-c2 2.Bc4-e2 # 1...Sh1*g3 2.Sf7-g5 # 1...Sh1-f2 2.Re6-e3 # 1...Bc7-b6 2.Sf7-d8 # 1...Bc7*g3 2.Sf7-g5 # 1...Bc7-d8 2.Sf7*d8 # 1...Bc7-b8 2.Sf7-d6 # 1...Qa8-e4 2.Sf7-e5 # 1...Qa8-d5 2.Bc4*d5 # 1...Qa8-c6 2.Sf7-d6 # 1...Qa8-b7 2.Sf7-d6 # 1...Qa8*a7 2.Sf7-d6 # 1...Qa8*f8 2.Bc4-d5 # 1...Qa8-e8 2.Bc4-d5 # 1...Qa8-d8 2.Bc4-d5 # 1...Qa8-c8 2.Bc4-d5 # 1...Qa8-b8 2.Bc4-d5 #" keywords: - Black correction - B2 --- authors: - Mansfield, Comins source: Bath Chronicle date: 1930 algebraic: white: [Kb2, Qc8, Rb7, Bf1, Se2, Pb4, Pa4] black: [Ka6, Qh1, Rf7, Sd8, Sb3, Ph4, Pg7, Pa7] stipulation: "#2" solution: | "1.a4-a5 ! threat: 2.Rb7-b6 # 1...Qh1*b7 2.Se2-f4 # 1...Sb3*a5 2.b4-b5 # 1...Rf7*b7 2.Se2-g1 # 1...Sd8*b7 2.Qc8-c4 #" keywords: - Active sacrifice - Defences on same square --- authors: - Mansfield, Comins source: The Brisbane Courier date: 1930 algebraic: white: [Kg6, Qf7, Rg5, Re5, Bd4, Bb1, Sh5, Se2, Pb6] black: [Kf3, Rh3, Rh1, Bf1, Pg7, Pf6, Pe6, Pc6, Pb7] stipulation: "#2" solution: | "1.Bb1-f5 ! zugzwang. 1...Bf1-g2 2.Bf5-g4 # 1...Bf1*e2 2.Bf5-e4 # 1...Rh1-g1 2.Se2*g1 # 1...Rh1-h2 2.Se2-g1 # 1...Rh3-h2 2.Rg5-g3 # 1...Rh3-g3 2.Rg5*g3 # 1...Rh3*h5 2.Rg5-g3 # 1...Rh3-h4 2.Rg5-g3 # 1...c6-c5 2.Qf7*b7 # 1...e6*f5 2.Qf7-b3 # 1...f6*g5 2.Bf5*h3 # 1...f6*e5 2.Bf5-d3 #" keywords: - Active sacrifice - B2 --- authors: - Mansfield, Comins source: The Chess Amateur date: 1930 algebraic: white: [Kh6, Qe8, Rd3, Bd6, Sd2, Sd1, Pe2, Pd4, Pc5, Pc2] black: [Kd5, Qa1, Rh4, Ra4, Bg1, Se6, Sc6, Ph5] stipulation: "#2" solution: | "1.Qe8-d7 ! threat: 2.Bd6-h2 # {(B~ )} 1...Qa1*d4 2.Sd1-c3 # 1...Bg1*d4 2.Sd1-e3 # 1...Ra4*d4 2.c2-c4 # 1...Rh4*d4 2.e2-e4 # 1...Sc6*d4 {display-departure-square} 2.Qd7-b7 # 1...Sc6-e5 2.Bd6*e5 # 1...Sc6-b8 2.Bd6*b8 # 1...Se6*c5 2.Bd6*c5 # 1...Se6*d4 {display-departure-square} 2.Qd7-f7 # 1...Se6-f8 2.Bd6*f8 #" keywords: - Defences on same square - Plachutta --- authors: - Mansfield, Comins source: De Problemist date: 1930 algebraic: white: [Kb1, Qa8, Rh4, Re1, Bh7, Sg4, Se2, Ph2, Pg3, Pf6, Pf5, Pd2] black: [Ke4, Qb6, Rd5, Bf3, Pg2, Pd3, Pb5] stipulation: "#2" solution: | "1.Qa8-a1 ! threat: 2.Sg4-f2 # 1...Bf3*e2 2.Sg4-e5 # 1...Bf3*g4 2.Se2-d4 # 1...Rd5-d4 2.Se2-c3 # 1...Rd5-c5 2.Qa1-d4 # 1...Rd5-d8 2.Qa1-e5 # 1...Rd5-d7 2.Qa1-e5 # 1...Rd5-d6 2.Qa1-e5 # 1...Rd5*f5 2.Qa1-e5 # 1...Rd5-e5 2.Qa1*e5 # 1...Qb6-d4 2.Se2-c3 #" keywords: - Black correction - B2 --- authors: - Mansfield, Comins source: The Grantham Journal date: 1930 distinction: Comm. algebraic: white: [Kh5, Qb4, Rf1, Re6, Bb6, Ba6, Se5, Sb1, Pg4, Pf4, Pe2] black: [Ke3, Qc5, Rg3, Bf8, Sb3, Ph4, Pf7, Pd7] stipulation: "#2" solution: | "1.Ba6-d3 ? threat: 2.Qb4-e4 # but 1...Sb3-d2 ! 1.Qb4-c4 ? threat: 2.Qc4-d3 # but 1...Sb3-c1 ! 1.f4-f5 ? threat: 2.Qb4-f4 # 1...Sb3-d4 2.Se5-c4 # 1...Qc5-d4 2.Se5-c4 # but 1...Bf8-h6 ! 1.Ba6-b7 ! threat: 2.Qb4-e4 # 1...Sb3-d2 2.Qb4*d2 # 1...Sb3-d4 2.Qb4-d2 # 1...Ke3*e2 2.Qb4-e1 # 1...Qc5-d4 2.Se5-c4 # 1...d7-d5 2.Se5*f7 # 1...f7-f5 2.Se5*d7 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Morecombe Visitor date: 1930 algebraic: white: [Kh5, Qd4, Rc5, Bd5, Sf2, Pf6] black: [Kf5, Bc1, Bb1, Sf7, Sc4, Pd7, Pd3, Pb2] stipulation: "#2" solution: | "1.Sf2-g4 ! threat: 2.Qd4-e4 # 1...d3-d2 2.Qd4-f2 # 1...Sc4-d2 2.Sg4-e3 # 1...Sc4-d6 2.Bd5*f7 # 1...Sf7-d6 2.Bd5*c4 # 1...Sf7-g5 2.Sg4-h6 #" --- authors: - Mansfield, Comins source: The Observer date: 1930 algebraic: white: [Kh7, Qb1, Rf8, Rf1, Bh5, Bh2, Sf7, Se4, Pg2, Pd6, Pd5, Pc3] black: [Kf5, Qf3, Rf4, Bc1, Sh4, Ph6] stipulation: "#2" solution: | "1...Qf3*c3 2.g2-g4 # 1.Kh7-g7 ! threat: 2.Se4-g3 # 1...Qf3*c3 + 2.Se4*c3 # 1...Qf3*h5 2.Se4-f6 # 1...Qf3-g4 + 2.Se4-g5 # 1...Qf3*e4 2.g2-g4 # 1...Rf4*e4 2.g2-g4 # 1...Rf4-g4 + 2.Sf7-g5 #" --- authors: - Mansfield, Comins source: The Observer date: 1930 algebraic: white: [Kh2, Qg4, Rh5, Rd1, Bf4, Bc2, Sa4, Sa3, Pe6, Pe5] black: [Kd5, Qa7, Rb6, Bd4, Sg1, Sa5, Pf3, Pc6, Pb7] stipulation: "#2" solution: | "1.Bf4-d2 ! threat: 2.Bc2-e4 # 1...Bd4-a1 2.Bd2-c3 # 1...Bd4-b2 2.Bd2-c3 # 1...Bd4-c3 2.Bd2*c3 # 1...Bd4-f2 2.Bd2-e3 # 1...Bd4-e3 2.Bd2*e3 # 1...Bd4*e5 + 2.Bd2-f4 # 1...Bd4-c5 2.Sa4-c3 #" keywords: - Black correction - Switchback --- authors: - Mansfield, Comins source: American Chess Problemist date: 1950 algebraic: white: [Kb1, Qg4, Rd8, Rc3, Bb5, Ba5, Sf1, Se2] black: [Kd1, Qa6, Rh3, Rc7, Bh6, Bd7, Se1, Pb6, Pb2] stipulation: "#2" solution: | "1.Rc3-c6 ! threat: 2.Se2-c3 # 1...Se1-g2 2.Se2-g3 # 1...Se1-f3 2.Qg4-a4 # 1...Se1-d3 2.Bb5-a4 # 1...Se1-c2 2.Se2-g3 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Manchester Guardian date: 1950 algebraic: white: [Kb8, Qa2, Rf6, Re7, Bc7, Sf3, Pe5, Pd2, Pc3, Pc2] black: [Ke4, Rf8, Be8, Ba3, Sf7, Sb2, Pd7] stipulation: "#2" solution: | "1.e5-e6 ! threat: 2.Rf6-f4 # 1...Sb2-d3 2.Qa2-c4 # 1...Sb2-c4 2.Qa2*c4 # 1...Ba3-d6 2.Qa2-a8 # 1...d7-d6 2.e6*f7 # 1...Sf7-d6 2.e6*d7 # 1...Sf7-e5 2.Sf3-g5 # 1...Sf7-g5 {Sf~ )} 2.Sf3*g5 #" keywords: - Defences on same square - Black correction - Pickabish --- authors: - Mansfield, Comins source: The Observer date: 1950 algebraic: white: [Kf6, Qa5, Rh4, Bg4, Bc3, Sc7, Pa3] black: [Kc4, Rd3, Bb3, Sf5, Sc8, Pe6, Pe3, Pc5, Pc2] stipulation: "#2" solution: | "1.Bc3-d4 ! threat: 2.Qa5*c5 # 1...Bb3-a2 2.Qa5-a4 # 1...Bb3-a4 2.Qa5*a4 # 1...Rd3-d1 2.Qa5-c3 # 1...Rd3-d2 2.Qa5-c3 # 1...Rd3-c3 2.Qa5*c3 # 1...Rd3*d4 2.Bg4-e2 # 1...Kc4*d4 2.Bg4*f5 # 1...c5*d4 2.Qa5-b4 # 1...Sf5*d4 2.Bg4*e6 #" keywords: - Defences on same square - Flight giving key --- authors: - Mansfield, Comins source: The Observer date: 1950 algebraic: white: [Kb8, Qe6, Rh3, Rd6, Bd1, Bc5, Sd7, Pd5, Pd2, Pa4] black: [Kc4, Qh2, Bg2, Ba1, Sg3, Pd4] stipulation: "#2" solution: | "1.Rd6-c6 ! threat: 2.Sd7-e5 # 1...Sg3-e2 + {(S~ )} 2.Bc5-d6 # 1...Sg3-e4 + 2.d5-d6 # 1...Kc4-d3 2.Qe6-e2 # 1...d4-d3 2.Sd7-b6 #" keywords: - Black correction --- authors: - Mansfield, Comins source: The Observer date: 1924 algebraic: white: [Ka2, Qe6, Sd5, Pe3, Pe2, Pa4, Pa3] black: [Kc4, Qh8, Rg6, Rg5, Bh2, Bf3, Pg4, Pf6, Pe4, Pc5] stipulation: "#2" solution: | "1.Ka2-b2 ! threat: 2.Sd5-b6 # 1...Bh2-e5 + 2.Sd5-c3 # 1...Bf3*e2 2.Qe6*e4 # 1...Rg5*d5 2.Qe6-a6 # 1...f6-f5 + 2.Sd5-f6 #" --- authors: - Mansfield, Comins source: The Observer date: 1927 algebraic: white: [Kg8, Qe3, Rh4, Rb2, Bg4, Sc3, Sa1, Pd5, Pa5] black: [Kc4, Qg2, Bf1, Pc5] stipulation: "#2" solution: | "1.Rb2-a2 ? threat: 2.Ra2-a4 # but 1...Bf1-d3 ! 1.Sa1-c2 ? threat: 2.Sc2-a3 # but 1...Bf1-d3 ! 1.Sa1-b3 ! zugzwang. 1...Bf1-d3 2.Qe3*c5 # 1...Bf1-e2 2.Sb3-d2 # 1...Qg2*d5 + 2.Bg4-e6 # 1...Qg2-e4 2.Sb3-d2 # 1...Qg2-g1 2.Sb3-d2 # 1...Qg2*b2 2.Bg4-d1 # 1...Qg2-c2 2.Bg4-e2 # 1...Qg2-f2 2.Bg4-e2 # 1...Qg2*g4 + 2.Rh4*g4 # 1...Qg2-g3 2.Sb3-d2 # 1...Qg2-h2 2.Bg4-e2 # 1...Kc4-b4 2.Qe3*c5 #" keywords: - Black correction - Flight giving key --- authors: - Mansfield, Comins source: The Observer date: 1929 algebraic: white: [Kb8, Rf5, Rd1, Bd5, Ba3, Se6, Pf6, Pb4] black: [Kd6, Qa4, Rf4, Rb6, Pd7, Pb7, Pa6] stipulation: "#2" solution: | "1.Se6-g5 ? threat: 2.Sg5-f7 # 1...Rf4*b4 {display-departure-square} 2.Sg5-e4 # but 1...Rb6*b4 ! {display-departure-square} 1.Se6-d8 ! threat: 2.Sd8-f7 # 1...Rf4*b4 {display-departure-square} 2.Bd5-b3 # 1...Rb6*b4 {display-departure-square} 2.Sd8*b7 # 1...Qa4*b4 2.Bd5-e4 #" keywords: - Defences on same square --- authors: - Mansfield, Comins source: The Observer date: 1931 algebraic: white: [Kh7, Qf3, Re4, Bf5, Bf4, Pg3, Pe7, Pe3, Pd4, Pc5, Pc4, Pa6] black: [Kc6, Qa7, Bd8, Ba4, Sa8, Pb6] stipulation: "#2" solution: | "1.Qf3-h1 ! threat: 2.Qh1-h6 # 1...Qa7-b8 2.e7-e8=Q # 1...Qa7*a6 2.e7*d8=S # 1...Qa7*e7 + 2.Re4*e7 # 1...Qa7-d7 2.Re4-e6 # 1...Qa7-c7 2.Re4-e5 # 1...Sa8-c7 2.e7*d8=S # 1...Bd8-c7 2.e7-e8=Q # 2.Re4-e5 # 1...Bd8*e7 2.Re4*e7 #" keywords: - Transferred mates - B2 --- authors: - Mansfield, Comins source: The Observer date: 1933 algebraic: white: [Kc3, Rg1, Ra6, Bg2, Bf4, Sh6, Sf5, Ph4, Pe3] black: [Kg6, Bg4, Sf6, Ph7, Ph5, Pc4, Pa7] stipulation: "#2" solution: | "1...Bg4-d1 {(B~ )} 2.Bg2-f3 # 1...Bg4-h3 2.Bg2*h3 # 1...Bg4*f5 2.Bg2-e4 # 1.Bg2-c6 ! threat: 2.Bc6-e8 # 1...Sf6-d5 + 2.Bc6*d5 # 1...Sf6-e4 + 2.Bc6*e4 # 1...Sf6-d7 2.Bc6*d7 #" --- authors: - Mansfield, Comins source: The Observer date: 1934 algebraic: white: [Kh3, Qe8, Rh5, Sc7, Pg5, Pd4] black: [Kf5, Bh7, Sh8, Sf8, Pf4, Pe4, Pd7] stipulation: "#2" solution: | "1.Sc7-d5 ! threat: 2.g5-g6 # 1...Bh7-g6 2.Qe8-e5 # 1...Sf8-e6 2.Sd5-e7 # 1...Sf8-g6 2.Qe8*d7 # 1...Sh8-f7 2.Qe8*f7 # 1...Sh8-g6 2.Qe8-f7 #" keywords: - Defences on same square --- authors: - Mansfield, Comins source: The Observer date: 1934 algebraic: white: [Kg1, Qf1, Re4, Be5, Ba2, Sb3, Pf5, Pd3, Pb4] black: [Kd5, Rb1, Bh8, Bd1, Pg6, Pc6, Pb2, Pa4] stipulation: "#2" solution: | "1.Qf1-g2 ! threat: 2.Re4-e2 # 1...Bd1-h5 + 2.Sb3-c1 # 1...Bd1-g4 + 2.Sb3-c1 # 1...Bd1-f3 + 2.Sb3-c1 # 1...Bd1-e2 + 2.Sb3-c1 # 1...Bd1*b3 + 2.Re4-e1 # 1...Bd1-c2 + 2.Re4-e1 # 1...g6*f5 2.Qg2-g8 # 1...Bh8*e5 2.Re4-d4 #" --- authors: - Mansfield, Comins source: The Observer date: 1935 algebraic: white: [Ke6, Qf5, Rd8, Rc2, Bg8, Bf8, Sc6, Sa1, Pf6, Pf2, Pc5, Pa4] black: [Kc4, Re4, Bd4, Sc3, Pe5, Pc7, Pa5] stipulation: "#2" solution: | "1.Qf5-g6 ! zugzwang. 1...Kc4-d3 2.Sc6*e5 # 1...Bd4*f2 2.Ke6-f5 # 1...Bd4-e3 2.Ke6-f5 # 1...Bd4*c5 2.Ke6-f5 # 1...Re4-e1 2.Ke6-d7 # 1...Re4-e2 2.Ke6-d7 # 1...Re4-e3 2.Ke6-d7 # 1...Re4-h4 2.Ke6-d7 # 1...Re4-g4 2.Ke6-d7 # 1...Re4-f4 2.Ke6-d7 #" keywords: - Rudenko --- authors: - Mansfield, Comins source: The Observer date: 1935 algebraic: white: [Kh3, Qc5, Rf3, Re1, Bh6, Bd5, Se2, Pg4] black: [Ke5, Ra3, Bh2, Ba2, Se3, Pf6, Pe6, Pd4, Pc2] stipulation: "#2" solution: | "1.Rf3-f4 ! threat: 2.Rf4-e4 # 1...Ba2*d5 2.Qc5-c7 # 1...Bh2*f4 2.Bh6*f4 # 1...Se3-d1 + 2.Bd5-b3 # 1...Se3-f1 + 2.Bd5-b3 # 1...Se3-g2 + 2.Bd5-b3 # 1...Se3*g4 + 2.Bd5-b3 # 1...Se3-f5 + 2.Bd5-b3 # 1...Se3*d5 + 2.Se2-c3 # 1...Se3-c4 + 2.Bd5-f3 # 1...e6*d5 2.Qc5-e7 # 1...f6-f5 2.Bh6-g7 #" keywords: - Active sacrifice - Defences on same square - Black correction comments: - | after Von Duben G.H., The Puzzler, 1933 - 26642 - | after Von Duben G.H., The Puzzler, 1933 - 329613 --- authors: - Mansfield, Comins source: The Observer date: 1936 algebraic: white: [Kh8, Qb3, Re8, Bg8, Ba1, Sh3, Sh2, Pg7, Pg4, Pf6] black: [Ke4, Rd4, Rc4, Pe5, Pe3, Pa2] stipulation: "#2" solution: | "1.g4-g5 ! zugzwang. 1...e3-e2 2.Qb3-f3 # 1...Rc4-c1 {(Rc~ )} 2.Bg8-h7 # 1...Rd4-d1 {(Rd~ )} 2.Re8*e5 # 1...Rd4-d5 2.Bg8-h7 # 1...Ke4-f5 2.Bg8-h7 #" keywords: - Black correction - Flight giving key - Block --- authors: - Mansfield, Comins source: The Observer source-id: v date: 1936 algebraic: white: [Ka1, Qg8, Rd4, Ra5, Bh8, Ba2, Ph4, Pc3, Pb2] black: [Kf5, Rf7, Rf6, Sh7, Se5, Pg5] stipulation: "#2" solution: | "1.b2-b4 ! zugzwang. 1...g5-g4 2.Qg8*g4 # 1...g5*h4 2.Qg8-g4 # 1...Rf6-b6 {(R6~ )} 2.Ra5*e5 # 1...Rf6-e6 2.Ba2-b1 # 1...Rf7-a7 {(R7~ )} 2.Ba2-b1 # 1...Sh7-f8 2.Qg8*g5 #" keywords: - Black correction - Transferred mates - Block --- authors: - Mansfield, Comins source: The Observer date: 1937 algebraic: white: [Ka4, Qh5, Rh6, Rc4, Bb3, Se6, Pf7, Pe5, Pd4] black: [Kd7, Be7, Sg7, Se8] stipulation: "#2" solution: | "1.Rh6-h7 ! zugzwang. 1...Kd7*e6 2.Rc4-c7 # 1...Be7-a3 {(B~ )} 2.f7*e8=Q # 1...Sg7-f5 {(Sg~ )} 2.f7-f8=S # 1...Sg7*e6 2.f7*e8=Q # 1...Se8-c7 {(Se~ )} 2.Rc4*c7 #" keywords: - Black correction - Flight giving key - Transferred mates --- authors: - Mansfield, Comins source: The Observer date: 1937 algebraic: white: [Kb5, Qa2, Re2, Bh1, Bg3, Sf3, Sb3, Pf2, Pc5, Pb4] black: [Kd5, Re6, Rb1, Ba1, Pf5, Pd6, Pc3, Pa4] stipulation: "#2" solution: | "1.Re2-b2 ! threat: 2.Sb3-d2 # 1...Rb1*b2 2.Sf3-e5 # 1...a4*b3 2.Qa2-a8 # 1...Kd5-e4 2.Sf3-e1 # 1...d6*c5 2.Sb3*c5 # 1...Re6-e4 2.Sb3-d4 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: The Observer date: 1938 algebraic: white: [Ka4, Qa1, Ra2, Ba6, Se1, Sd2, Ph2] black: [Ke2, Qh4, Rf7, Re3, Bg8, Sd3, Pe4] stipulation: "#2" solution: | "1.Se1-f3 ! threat: 2.Qa1-f1 # 1...Re3*f3 2.Sd2-f1 # 1...e4*f3 + 2.Sd2-e4 # 1...Qh4-e1 2.Qa1*e1 # 1...Qh4-f2 2.Sf3-d4 # 1...Qh4-h3 2.Qa1-e1 # 1...Rf7*f3 2.Sd2-b3 #" keywords: - Defences on same square - Black correction --- authors: - Mansfield, Comins source: The Observer date: 1939 algebraic: white: [Ke8, Qd6, Rg3, Ra4, Be6, Sh6, Ph2, Pg2, Pe5] black: [Kf4, Re4, Sd7, Pg6] stipulation: "#2" solution: | "1...Sd7*e5 2.Qd6-d2 # 1...Sd7-f6 + 2.e5*f6 # 1.Be6-c4 ! zugzwang. 1...Re4-e1 2.Bc4-e2 # 1...Re4-e2 2.Bc4*e2 # 1...Re4-e3 2.Rg3-g4 # 1...Re4*c4 2.Ra4*c4 # 1...Re4-d4 2.Qd6*d4 # 1...Re4*e5 + 2.Bc4-e6 # 1...g6-g5 2.Rg3-f3 # 1...Sd7-b6 {(S~ )} 2.Qd6-f6 #" keywords: - Active sacrifice - Black correction - Rudenko - Switchback --- authors: - Mansfield, Comins source: «64» source-id: 15/173 date: 1938-03-15 algebraic: white: [Kh6, Qc1, Rd2, Rb7, Ba8, Sf3, Sa4, Pe5] black: [Kc6, Rh8, Ra3, Bh7, Bc5, Sb5, Sa6, Pg6, Pf6, Pa2] stipulation: "#2" solution: | "1.Qc1-h1 ! threat: 2.Sf3-d4 # 1...Ra3*f3 2.Qh1*f3 # 1...Sb5-c7 2.Rb7-b6 # 1...Bc5-e3 + 2.Sf3-g5 # 1...Bc5-f8 + 2.Rb7-g7 # 1...Sa6-c7 2.Rb7-b6 # 1...f6*e5 2.Sf3*e5 # 1...Bh7-g8 + 2.Rb7-h7 #" keywords: - Unpinning - Cross-checks - Battery play --- authors: - Mansfield, Comins source: The Observer date: 1941 algebraic: white: [Ka1, Qc1, Rc5, Ra2, Bg2, Bd4, Pc4, Pb5] black: [Kb6, Qa7, Sa8, Pf6, Pe5, Pa6] stipulation: "#2" solution: | "1.Qc1-f4 ! threat: 2.Qf4*f6 # 1...e5-e4 2.Rc5-c7 # 1...e5*f4 2.Rc5-c8 # 1...e5*d4 2.Qf4-d6 # 1...f6-f5 2.Qf4-h6 # 1...Qa7-b8 {(Q~ )} 2.Ra2*a6 # 1...Qa7-b7 2.Rc5-c6 # 1...Sa8-c7 2.Rc5*e5 #" keywords: - Active sacrifice - Black correction --- authors: - Mansfield, Comins source: The Observer date: 1942 algebraic: white: [Kh4, Qg4, Rh6, Rc1, Bf6, Ba6, Sb5, Sb3, Pc3] black: [Kc6, Rd4, Se4, Sc7, Pd5, Pb6] stipulation: "#2" solution: | "1.Qg4-c8 ! threat: 2.Qc8*c7 # 1...Se4*c3 + 2.Bf6*d4 # 1...Se4-d2 + 2.Bf6*d4 # 1...Se4-g5 + 2.c3*d4 # 1...Se4*f6 + 2.c3*d4 # 1...Se4-d6 + 2.Sb5*d4 # 1...Se4-c5 + 2.Sb3*d4 # 1...Se4-f2 + 2.Bf6*d4 # 2.c3*d4 # 1...Se4-g3 + 2.Bf6*d4 # 2.c3*d4 #" keywords: - Mates on same square - Black correction --- authors: - Mansfield, Comins source: The Observer date: 1942 algebraic: white: [Kh5, Qg8, Rd8, Rc1, Ba4, Sc5] black: [Kc6, Qc8, Rb6, Rb5, Sh4, Pd7, Pc7, Pb7, Pa6] stipulation: "#2" solution: | "1.Kh5-g4 ! threat: 2.Sc5-e4 # 1...Kc6-d6 2.Qg8-e6 # 1...d7-d5 + 2.Sc5-e6 # 1...d7-d6 + 2.Sc5-d7 #" --- authors: - Mansfield, Comins source: The Observer date: 1943 algebraic: white: [Kb8, Qc8, Rg6, Rb7, Bh5, Bf8, Sh4] black: [Kf7, Qh2, Ra5, Ba4, Sh6, Pc7, Pa6] stipulation: "#2" solution: | "1.Bf8-e7 ! threat: 2.Qc8-f8 # 1...Ba4-e8 2.Qc8-e6 # 1...c7-c5 + 2.Rg6-g3 # 1...c7-c6 + 2.Be7-d6 # 1...Kf7*e7 2.Rg6-e6 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: The Observer date: 1947 algebraic: white: [Ka6, Qd2, Rf7, Bb8, Ba8, Sc6, Sc5, Ph3, Pc2] black: [Kf3, Qh8, Rf6, Bh7, Sf8, Pg6, Pd7] stipulation: "#2" solution: | "1.Sc5-e4 ! threat: 2.Se4-g5 # 1...Kf3*e4 2.Qd2-d3 # 1...Rf6-f4 2.Rf7*f4 # 1...d7-d6 2.Sc6-d4 # 1...Sf8-e6 2.Sc6-e5 #" keywords: - Active sacrifice - Flight giving key --- authors: - Mansfield, Comins source: The Observer date: 1948 algebraic: white: [Ke1, Qa4, Rg1, Rc3, Bd6, Bd3, Sg2, Pg4] black: [Kh3, Bf3, Ph4, Pg5, Pa5] stipulation: "#2" solution: | "1.Qa4-d1 ! threat: 2.Qd1*f3 # 1...Bf3*d1 2.Bd3-e2 # 1...Bf3-e2 2.Bd3*e2 # 1...Bf3*g2 2.Bd3-f1 # 1...Bf3*g4 2.Bd3-f5 # 1...Bf3-a8 2.Bd3-e4 # 1...Bf3-b7 2.Bd3-e4 # 1...Bf3-c6 2.Bd3-e4 # 1...Bf3-d5 2.Bd3-e4 # 1...Bf3-e4 2.Bd3*e4 # 1...Kh3*g4 2.Sg2-f4 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: The Observer date: 1949 algebraic: white: [Ka4, Qe6, Re3, Rd1, Bf2, Sc4, Pe2, Pd5] black: [Kc5, Rd4, Sb7, Pf3, Pd6, Pc6, Pb4] stipulation: "#2" solution: | "1.Qe6-g4 ! threat: 2.Qg4*d4 # 1...Rd4*d1 2.Re3-d3 # 1...Rd4-d2 2.Re3-d3 # 1...Rd4-d3 2.Re3*d3 # 1...Rd4*c4 2.Re3-c3 # 1...Rd4*d5 2.Re3-e5 # 1...Rd4*g4 2.Re3-e4 # 1...Rd4-f4 2.Re3-e4 # 1...Rd4-e4 2.Re3*e4 # 1...c6*d5 2.Qg4-c8 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: The Observer date: 1949 algebraic: white: [Kc8, Qd5, Rg4, Rd3, Bd1, Ba5, Sc4, Sa3] black: [Ka4, Qc2, Rc1, Rb2, Bd4, Pb6] stipulation: "#2" solution: | "1.Ba5-b4 ! threat: 2.Qd5-b5 # 1...Rb2*b4 2.Qd5-a8 # 1...Bd4-c3 2.Sc4*b6 # 1...Bd4-c5 2.Sc4*b2 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: The Observer date: 1951 algebraic: white: [Ka8, Qh7, Rf6, Bb8, Bb5, Sc2, Sa4, Pg4, Pf4] black: [Kd5, Rd8, Rd1, Bc8, Ba5, Pc5, Pc3] stipulation: "#2" solution: | "1.Bb5-e2 ! zugzwang. 1...Rd1-a1 2.Qh7-d3 # 1...Rd1-b1 2.Qh7-d3 # 1...Rd1-c1 2.Qh7-d3 # 1...Rd1-d4 2.Sc2-e3 # 1...Rd1-d3 2.Qh7*d3 # 1...Rd1-d2 2.Qh7-h1 # 1...Rd1-g1 2.Qh7-d3 # 1...Rd1-f1 2.Qh7-d3 # 1...Rd1-e1 2.Qh7-d3 # 1...Ba5-b4 2.Sa4-b6 # 1...Ba5-c7 2.Sa4*c3 # 1...c5-c4 2.Be2-f3 # 1...Bc8-a6 2.Qh7-f5 # 1...Bc8-b7 + 2.Qh7*b7 # 1...Bc8*g4 2.Qh7-b7 # 1...Bc8-e6 2.Qh7-b7 # 1...Bc8-d7 2.Rf6-d6 # 1...Rd8-d6 2.Rf6*d6 # 1...Rd8-d7 2.Qh7-f5 # 1...Rd8-h8 2.Rf6-d6 # 1...Rd8-g8 2.Rf6-d6 # 1...Rd8-f8 2.Rf6-d6 # 1...Rd8-e8 2.Rf6-d6 # 1...Rd1-h1 2.Qh7-d3 # 2.Qh7*h1 # 1...Ba5-b6 2.Sa4*c3 # 2.Sa4*b6 # 1...Bc8-f5 2.Qh7*f5 # 2.Qh7-b7 #" keywords: - Black correction - Transferred mates - Grimshaw --- authors: - Mansfield, Comins source: The Observer date: 1952 algebraic: white: [Kh7, Qa5, Rc8, Bc4, Se8, Se3, Pg6, Pc7] black: [Kc6, Rb7, Bb3, Sd8, Sb8, Pb4] stipulation: "#2" solution: | "1.Se3-g4 ! threat: 2.Sg4-e5 # 1...Kc6-d7 2.c7*d8=Q # 1...Rb7-b5 2.Qa5*b5 # 1...Rb7-b6 2.Qa5-d5 # 1...Rb7-a7 2.Qa5-b5 # 1...Rb7*c7 + 2.Rc8*c7 # 2.Qa5*c7 # 1...Sb8-d7 2.c7*d8=S # 1...Sd8-f7 2.c7*b8=S #" keywords: - Black correction --- authors: - Mansfield, Comins source: The Observer date: 1952 algebraic: white: [Ka8, Qd5, Rf8, Ra7, Ba4, Sg8, Sc4] black: [Kd7, Rb5, Bd6, Ba6, Sg4, Sb7, Pg6, Pg5, Pc7] stipulation: "#2" solution: | "1.Ka8-b8 ! zugzwang. 1...Sg4-f2 {(Sg~ )} 2.Sc4-e5 # 1...Sb7-a5 + {(Sb~ )} 2.Sc4-b6 # 1...c7-c5 + 2.Qd5*d6 # 1...c7-c6 + 2.Qd5*d6 #" keywords: - Block - Rudenko --- authors: - Mansfield, Comins source: The Observer date: 1952 algebraic: white: [Ka6, Qf6, Rb3, Bh7, Sd3, Sc7, Pc2] black: [Ke4, Rg8, Rg6, Bf2, Bf1, Sg1, Sd8, Pg2, Pf3, Pe3, Pa5] stipulation: "#2" solution: | "1.Rb3-c3 ! threat: 2.Rc3-c4 # 1...Bf1*d3 + 2.c2*d3 # 1...Sg1-e2 2.Sd3-c5 # 1...e3-e2 2.Sd3*f2 # 1...Sd8-c6 2.Qf6-f4 # 1...Sd8-e6 2.Qf6-e5 #" keywords: - Rudenko --- authors: - Mansfield, Comins source: The Observer date: 1953 algebraic: white: [Kf1, Qd7, Rh4, Ra5, Bh1, Se4, Sc4, Pf4, Pf2, Pd2] black: [Kf5, Re6, Rd3, Bb5, Ph2, Pg6, Pf6, Pd6, Pa6] stipulation: "#2" solution: | "1...Rd3*d2 {(Rd~ )} 2.Se4-g3 # 1...Rd3-a3 {(Rd~ )} 2.Se4*d6 # 1.Kf1-e1 ! zugzwang. 1...Rd3*d2 {(Rd~ )} 2.Sc4-e3 # 1...Rd3-a3 {(Rd~ )} 2.Sc4*d6 # 1...d6-d5 2.Sc4-d6 # 1...g6-g5 2.Qd7-h7 #" keywords: - Mutate --- authors: - Mansfield, Comins source: The Observer date: 1953 algebraic: white: [Kd4, Qf1, Rf8, Ra3, Bh4, Ba8, Sg4, Sd5, Pg3, Pe5] black: [Kf3, Qf7, Rh7, Bg1, Bb3, Sf2, Sb6, Ph5, Pa4] stipulation: "#2" solution: | "1.e5-e6 ! threat: 2.Sg4-e5 # 1...Kf3*g4 2.Sd5-e3 # 1...h5*g4 2.Sd5*b6 # 1...Sb6-c4 2.Sd5-e3 # 1...Sb6-d7 2.Sd5-f6 # 1...Qf7-f4 + 2.Rf8*f4 #" keywords: - Goethart --- authors: - Mansfield, Comins source: The Observer date: 1954 algebraic: white: [Ke7, Qg8, Rg6, Ra4, Bb1, Sf7, Sd3, Pg5, Pg3, Pe2, Pd6] black: [Kd5, Bf4, Pe3, Pd7, Pd4, Pc6] stipulation: "#2" solution: | "1...Bf4*g5 + 2.Sf7*g5 # 1...Bf4*d6 + 2.Sf7*d6 # 1.Qg8-h7 ! threat: 2.Qh7-h1 # 1...Bf4*g5 + 2.Rg6*g5 # 1...Bf4*d6 + 2.Rg6*d6 # 1...Kd5-e4 2.Sd3*f4 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: The Observer date: 1954 algebraic: white: [Kd1, Qg2, Re7, Be3, Bb1, Sh2, Pf4, Pe6, Pc2] black: [Kf5, Qa4, Ph5, Pf6, Pc6, Pb4, Pa5] stipulation: "#2" solution: | "1.Qg2-f1 ! threat: 2.Qf1-d3 # 1...Qa4*c2 + 2.Bb1*c2 # 1...Qa4-b3 2.c2*b3 # 1...Qa4-b5 2.c2-c4 # 1...Qa4-a3 2.c2-c3 # 1...b4-b3 2.c2-c4 # 1...Kf5-g6 2.f4-f5 #" keywords: - 2 flights giving key --- authors: - Mansfield, Comins source: The Observer date: 1954 algebraic: white: [Kh2, Qg3, Rf3, Rc4, Ba2, Sf7, Pc3] black: [Kd5, Qb8, Re5, Bg7, Ph5, Pe6, Pe3, Pd4, Pb7] stipulation: "#2" solution: | "1.Qg3-g2 ! threat: 2.Rf3-f5 # 1...Kd5-e4 2.Rc4*d4 # 1...Re5-e4 + 2.Rc4-c7 # 1...Re5-g5 + 2.Rf3-g3 # 1...Re5-f5 + 2.Rf3-f4 #" keywords: - Black correction --- authors: - Mansfield, Comins source: The Observer date: 1955 algebraic: white: [Kc8, Qg3, Re8, Ra4, Bf6, Bb7, Sd7, Sc6, Ph3, Pe6, Pc4] black: [Ke4, Rc1, Bd5, Ph6] stipulation: "#2" solution: | "1...Ke4-f5 2.Qg3-g4 # 1...Bd5*c4 2.Sc6-e7 # 1...Bd5*e6 2.Sc6-d4 # 1.Qg3-f2 ! threat: 2.Sd7-c5 # 1...Bd5*c4 2.Sc6-e5 # 1...Bd5*e6 2.Sc6-b4 #" keywords: - Flight giving and taking key - Changed mates --- authors: - Mansfield, Comins source: The Observer date: 1957 algebraic: white: [Kb7, Qc5, Bb8, Bb3, Sd5, Pc6] black: [Ke6, Rh5, Bd8, Pf7, Pf5, Pe7, Pe4] stipulation: "#2" solution: | "1.c6-c7 ! threat: 2.c7-c8=Q # 2.c7-c8=B # 1...Ke6-d7 2.Qc5-c6 # 1...Ke6-e5 2.c7*d8=S # 1...f7-f6 2.Sd5-b6 # 1...Bd8*c7 2.Qc5*e7 #" keywords: - Active sacrifice - 2 flights giving key --- authors: - Mansfield, Comins source: The Observer date: 1957 algebraic: white: [Kh2, Qg3, Rg8, Sa6, Ph6, Pe6, Pc4, Pb3] black: [Kc8, Rd8, Rb7, Pc5] stipulation: "#2" solution: | "1.Kh2-h1 ! zugzwang. 1...Rb7*b3 2.Qg3-c7 # 1...Rb7-b4 2.Qg3-c7 # 1...Rb7-b5 2.Qg3-c7 # 1...Rb7-b6 2.Qg3-c7 # 1...Rb7-a7 2.Qg3-b8 # 1...Rb7-h7 2.Qg3-b8 # 1...Rb7-g7 2.Qg3-b8 # 1...Rb7-f7 2.Qg3-b8 # 1...Rb7-e7 2.Qg3-b8 # 1...Rb7-d7 2.Qg3-b8 # 1...Rb7-c7 2.Qg3*c7 # 1...Rd8*g8 2.Qg3*g8 # 1...Rd8-f8 2.Rg8*f8 # 1...Rd8-e8 2.Rg8*e8 # 1...Rb7-b8 2.Qg3*b8 # 2.Qg3-c7 #" keywords: - Vladimirov - Block --- authors: - Mansfield, Comins source: The Observer date: 1957 algebraic: white: [Ka6, Qg2, Rc7, Bd6, Bc2, Se2, Sc6, Pe5, Pd5, Pd4, Pb2, Pa5] black: [Kc4, Qa3, Rf7, Pa4] stipulation: "#2" solution: | "1.Qg2-f1 ! zugzwang. 1...Qa3*b2 {(Q~ )} 2.Sc6-e7 # 1...Qa3*d6 {(Q~ )} 2.Se2-f4 # 1...Qa3-a2 2.Sc6-e7 # 2.Se2-f4 # 1...Kc4*d5 2.Qf1*f7 # 1...Rf7*f1 {(R~ )} 2.Sc6-b4 # 1...Rf7*c7 {(R~ )} 2.Se2-c3 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: The Observer date: 1959 algebraic: white: [Ka2, Qh8, Rh5, Rb3, Bg1, Bb7, Sf3, Pg7, Pg3, Pg2, Pf5, Pd5] black: [Ke4, Qe6, Be7, Pf7, Pd7, Pd3, Pa3] stipulation: "#2" solution: | "1.Qh8-h7 ! zugzwang. 1...d3-d2 2.Rb3-e3 # 1...Qe6*d5 2.f5-f6 # 1...Qe6-e5 2.Sf3-d2 # 1...Qe6-a6 2.f5-f6 # 1...Qe6-b6 2.f5-f6 # 1...Qe6-c6 2.f5-f6 # 1...Qe6-d6 2.f5-f6 # 1...Qe6-h6 2.d5-d6 # 1...Qe6-g6 2.d5-d6 # 1...Qe6-f6 2.d5-d6 # 1...d7-d6 2.Rb3-b4 # 1...Be7-c5 2.Rh5-h4 # 1...Be7-d6 2.d5*e6 # 1...Be7-g5 2.Rb3-b4 # 1...Be7-f6 2.f5*e6 # 1...Be7-f8 2.Rh5-h4 # 1...Be7-d8 2.Rb3-b4 # 1...f7-f6 2.Rh5-h4 # 1...Qe6*f5 2.Qh7*f5 # 2.d5-d6 # 1...Be7-b4 2.Rh5-h4 # 2.Rb3*b4 # 1...Be7-h4 2.Rh5*h4 # 2.Rb3-b4 #" keywords: - Defences on same square - Black correction - Pickabish --- authors: - Mansfield, Comins source: The Observer date: 1966 algebraic: white: [Kg1, Qd6, Rf1, Ra6, Bf2, Bb5, Sf6, Se4, Ph5, Pg5, Pe6] black: [Kf5, Rf3, Bd5] stipulation: "#2" solution: | "1...Rxf2 2.Rxf2# 1...Rf4 2.Qxd5# 1...Re3/Rd3/Rc3/Rb3/Ra3 2.Bxe3# 1...Rg3+/Rh3 2.Bxg3# 1.Be8?? (2.Bg6#) 1...Rg3+ 2.Bxg3# but 1...Bxe4! 1.Bg3?? (2.Rxf3#/Qxd5#/Qe5#) 1...Rf2 2.Rxf2#/Qxd5#/Qe5# 1...Rf4 2.Qxd5#/Qxf4#/Rxf4# 1...Bxe4 2.Qe5# 1...Bxe6 2.Rxf3#/Qxe6#/Qe5# 1...Bc4/Bb3/Ba2/Bc6/Bb7/Ba8 2.Qe5#/Rxf3# but 1...Rxf1+! 1.Bd4?? (2.Qe5#/Rxf3#) 1...Rf2 2.Qe5#/Rxf2# 1...Rf4 2.Qxd5#/Qe5#/Qxf4#/Rxf4# 1...Bxe4 2.Qe5# but 1...Rxf1+! 1.Ra5! zz 1...Rxf2 2.Rxf2# 1...Rf4 2.Qxd5# 1...Re3/Rd3/Rc3/Rb3/Ra3 2.Bxe3# 1...Rg3+/Rh3 2.Bxg3# 1...Bxe4 2.Bd3# 1...Bxe6 2.Bd7# 1...Bc4/Bb3/Ba2 2.Bxc4# 1...Bc6/Bb7/Ba8 2.Bxc6#" keywords: - Black correction --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1916-07 algebraic: white: [Kh8, Qh7, Rf5, Rd1, Bg8, Bg7, Sd4, Pf3, Pb2] black: [Kd3, Bg1, Bb1, Sd2, Sa3] stipulation: "#2" solution: | "1.Bg7-h6 ! threat: 2.Rd1*d2 # 1...Bg1*d4 + 2.Rf5-e5 # 1...Bg1-e3 2.Rf5-f4 # 1...Sa3-c4 2.Rf5-d5 # 1...Kd3*d4 2.Qh7-d7 #" keywords: - Flight giving and taking key - B2 --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1919 algebraic: white: [Kc1, Qc4, Rh5, Be4, Bb8, Sg3] black: [Kd6, Rc8, Rc7, Bd1, Sb5, Pg7, Pf3, Pe7, Pd7] stipulation: "#2" solution: | "1.Be4-g6 ! threat: 2.Sg3-e4 # 1...Bd1-c2 2.Qc4-d5 # 1...Sb5-c3 2.Qc4-a6 # 1...e7-e5 2.Sg3-f5 # 1...e7-e6 2.Qc4-c5 #" keywords: - Barnes - Rudenko --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1924 algebraic: white: [Kb3, Qa8, Bg8, Bf8, Se8, Sc6, Pf3, Pd6, Pb5, Pb4] black: [Kd5, Qe6, Rg7, Rf7, Sg6, Pf6, Pf5, Pe3] stipulation: "#2" solution: | "1...Qe6-e4 2.Se8-c7 # 1...Qe6-e5 2.Se8-c7 # 1...Rf7-a7 2.Se8*f6 # 1...Rf7-b7 2.Se8*f6 # 1...Rf7-c7 2.Se8*f6 # 1...Rf7-d7 2.Se8*f6 # 1.Qa8-a2 ? but 1...Sg6-e5 ! 1.Kb3-c3 ! threat: 2.Qa8-a2 # 1...Qe6-e4 2.Se8-c7 # 1...Qe6-e5 + 2.Sc6-d4 # 1...Sg6-e5 2.Sc6-e7 # 1...Rf7-a7 2.Se8*f6 #" --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1925 algebraic: white: [Kh7, Qe1, Rf8, Rb3, Bc7, Ba8, Sf5, Ph3, Pe3] black: [Kf3, Qe4, Ra7, Sg1, Pg7, Pg5, Pg2, Pa6] stipulation: "#2" solution: | "1.Bc7-g3 ! threat: 2.Qe1-f2 # 1...Sg1*h3 2.Qe1-d1 # 1...Qe4*a8 2.e3-e4 # 1...Qe4-b7 2.Sf5-d6 # 1...Qe4-c6 2.Ba8*c6 # 1...Qe4-d5 2.Ba8*d5 # 1...g7-g6 + 2.Sf5-e7 #" --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1927 algebraic: white: [Kf6, Qd1, Rc8, Bg2, Se5, Pe3, Pc5] black: [Kd5, Re4, Rc4, Bd4, Bb1, Pf4] stipulation: "#2" solution: | "1.Qd1-h5 ! threat: 2.Qh5-f7 # 1...Rc4*c5 2.Rc8-d8 # 1...Bd4*e3 2.Se5-c6 # 1...Bd4*e5 + 2.Qh5*e5 # 1...Bd4*c5 2.Se5-f7 #" --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1928 algebraic: white: [Ka3, Ra5, Bg7, Bb1, Se8, Sd3, Pf7, Pf2, Pe6] black: [Kg6, Qh3, Rh8, Rh2, Bh7, Sa2, Pg4] stipulation: "#2" solution: | "1.f2-f4 ! threat: 2.Ra5-g5 # 1...Qh3*d3 + 2.Bb1*d3 # 1...Qh3-h6 2.Sd3-f2 # 1...Qh3-h5 2.Sd3-e5 # 1...Qh3-h4 2.Sd3-f2 # 1...g4*f3 ep. 2.Sd3-f4 # 1...Bh7-g8 2.f7-f8=S #" keywords: - Black correction --- authors: - Mansfield, Comins source: The British Chess Magazine source-id: v date: 1932 algebraic: white: [Kd8, Qe8, Rg4, Rb3, Ba6, Ba1, Sf4, Sd4] black: [Ke4, Ba8, Sg2, Sa3, Pf7, Pf6, Pe5] stipulation: "#2" solution: | "1.Kd8-e7 ! threat: 2.Qe8*a8 # 1...Sg2-e3 2.Ba6-d3 # 1...e5*f4 2.Ke7-d6 # 1...e5*d4 2.Ke7*f6 # 1...Ba8-d5 2.Sf4*g2 # 1...Ba8-c6 2.Qe8*c6 # 1...Ba8-b7 2.Ba6*b7 #" keywords: - Black correction --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1934 algebraic: white: [Kf3, Qg4, Re6, Rc6, Ba4, Sg7, Pc5, Pb7] black: [Kd7, Qa7, Bd8, Pg6, Pg5, Pf7, Pf4] stipulation: "#2" solution: | "1.Kf3-f2 ! threat: 2.Qg4-d1 # 1...f4-f3 2.Qg4-d4 # 1...Qa7*c5 + 2.Rc6*c5 # 1...Qa7-b8 2.Rc6-c8 # 1...Qa7*a4 2.b7-b8=S # 1...Qa7-a5 2.b7-b8=S # 1...Qa7-a6 2.b7-b8=S # 1...f7*e6 2.Qg4*e6 # 1...Bd8-a5 2.Rc6-c8 # 1...Bd8-c7 2.Rc6-d6 # 1...Bd8-f6 2.Re6-e8 # 1...Bd8-e7 2.Re6-d6 #" --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1953 algebraic: white: [Kd1, Qh6, Rg8, Rc4, Bg3, Bc8, Sg6, Se6, Ph4, Ph2, Pe5, Pe4] black: [Kg4, Bf5, Pd2, Pc6, Pc5] stipulation: "#2" solution: | "1...Bf5*e4 2.Se6-g5 # 1...Bf5*g6 2.Se6-d4 # 1.Qh6-e3 ! zugzwang. 1...Kg4-h3 2.Sg6-f4 # 1...Kg4-h5 2.Qe3-g5 # 1...Bf5*e4 2.Se6-g7 # 1...Bf5*g6 2.Se6-f4 # 1...Bf5*e6 2.Sg6-f4 #" keywords: - Flight giving and taking key - Changed mates --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1954 algebraic: white: [Kg1, Qd5, Rb8, Bf4, Sf8, Pe6, Pc4, Pa3] black: [Kb6, Ra7, Be8, Bd8, Sb7, Pf5, Pe7, Pa6, Pa5, Pa4] stipulation: "#2" solution: | "1.Kg1-f2 ! zugzwang. 1...Ra7-a8 2.Rb8*b7 # 1...Bd8-c7 2.Bf4-e3 # 1...Be8-b5 2.c4-c5 # 1...Be8-c6 2.Qd5-d4 # 1...Be8-d7 2.Sf8*d7 # 1...Be8-h5 2.Sf8-d7 # 1...Be8-g6 2.Sf8-d7 # 1...Be8-f7 2.Sf8-d7 #" keywords: - Black correction - Block --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1964 algebraic: white: [Kh6, Qh3, Rf1, Rb4, Bb2, Se4, Sc4, Pf2, Pd3] black: [Kf4, Qe1, Rg1, Bc8, Ba7, Sh7, Sd7, Ph4, Pg2, Pe2] stipulation: "#2" solution: | "1...Be3 2.fxe3# 1...Ne5/Ndf6/Ndf8/Nc5/Nb6/Nb8 2.Bxe5# 1.Ne5?? (2.Ng6#/Qf3#/Qg4#) 1...Bd4/Qc3 2.Ng6# 1...Bxf2 2.Qf3#/Nd2#/Ng6# 1...Ng5 2.Qg4#/Ng6# 1...Nhf6/Ndf6/Nc5/Nb6/Nb8 2.Ng6#/Qf3# 1...Nhf8 2.Qf3#/Qg4# 1...gxf1Q/gxf1R/gxf1B/gxf1N/Ndf8 2.Qf3# 1...Qxf2 2.Ng6#/Nc5# but 1...Nxe5! 1.Qxh4+?? 1...Kf3 2.Qg3# but 1...Kf5! 1.Nf6?? (2.Nh5#/Nd5#/Qg4#) 1...gxf1Q/gxf1R/gxf1B/gxf1N 2.Nh5#/Nd5# 1...Bb7 2.Nh5#/Qg4# 1...Ne5/Ndf8/Nc5/Nb8 2.Bxe5#/Nh5#/Nd5# 1...Ndxf6 2.Be5# 1...Nb6 2.Be5#/Nh5# but 1...Nhxf6! 1.Ng3?? (2.Qf5#/Nh5#) 1...Bxf2/Ne5/Ndf8/Nc5/Nb6/Nb8 2.Nh5# 1...Nhf6 2.Qf5# 1...Qxf2 2.Nh5#/Nxe2# 1...hxg3 2.fxg3# but 1...Ndf6! 1.Ng5?? (2.Qf3#/Ne6#) 1...Bb7 2.Ne6# 1...Nhf8/exf1Q/exf1R/exf1B/exf1N 2.Qf3# 1...Ne5 2.Bxe5# 1...Ndf6/Ndf8/Nc5/Nb6/Nb8 2.Be5#/Qf3# 1...Qxf2 2.Nb6#/Ne6# but 1...Nxg5! 1.Rb5?? (2.Qf5#/Rf5#) 1...Qa5 2.Qf5# 1...Ne5/Ndf6/Ndf8/Nc5/Nb6/Nb8 2.Bxe5# but 1...Bc5! 1.Ned6! (2.Qf5#) 1...Bxf2 2.Nd2# 1...Qxf2 2.Nb6# 1...Ne5/Ndf6/Ndf8/Nc5/Nb6/Nb8 2.Bxe5#" --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1965 algebraic: white: [Kg8, Qf5, Rg2, Bh1, Bb8, Pe2, Pd7, Pd3, Pa7, Pa5] black: [Kb7, Qc6, Ba8, Sf7, Ph6, Pa6] stipulation: "#2" solution: | "1.e2-e3 ! threat: 2.Rg2-b2 # 1...Qc6*g2 + 2.Bh1*g2 # 1...Qc6-f3 2.Qf5*f3 # 1...Qc6-e4 2.Qf5*e4 # 1...Qc6-d5 2.Qf5*d5 # 1...Qc6*d7 2.Qf5*d7 # 1...Qc6-c2 2.Rg2*c2 # 1...Qc6-c8 + 2.d7*c8=Q # 1...Qc6-g6 + 2.Rg2*g6 # 1...Sf7-d6 2.d7-d8=S #" keywords: - Levman --- authors: - Mansfield, Comins source: The Observer date: 1939 algebraic: white: [Kd5, Rd2, Bh3, Bg3, Se2, Pf2] black: [Kf3, Qa1, Pd4, Pd3, Pa2] stipulation: "#2" solution: | "1.Rd2-b2 ? threat: 2.Se2*d4 # 1...Qa1*b2 2.Se2-g1 # but 1...d3*e2 ! 1.Rd2-d1 ! threat: 2.Se2-g1 # 1...Qa1*d1 2.Se2*d4 # 1...d3*e2 2.Rd1-d3 # 1...Kf3*e2 2.Bh3-g4 #" keywords: - Active sacrifice - Flight giving key - Pseudo Le Grand --- authors: - Mansfield, Comins source: The Brisbane Courier date: 1928 algebraic: white: [Kd2, Qb4, Ra5, Ra3, Bh5, Sd4] black: [Kh4, Ra4, Sh1, Sf7, Ph6, Ph3] stipulation: "#2" solution: | "1.Bh5-d1 ! threat: 2.Ra5-h5 # 1...Sh1-g3 2.Sd4-f3 # 1...Ra4*a3 2.Sd4-e2 # 1...Ra4*a5 2.Sd4-e6 # 1...Sf7-e5 2.Qb4-e7 # 1...Sf7-g5 2.Sd4-f5 #" keywords: - B2 comments: - this is version 196337 --- authors: - Mansfield, Comins source: The Observer date: 1930 algebraic: white: [Kg6, Qb7, Rh3, Rd8, Bb1, Sc6, Pc2] black: [Ke4, Rc3, Ra4, Bb2, Pf6, Pf4, Pe6, Pe3, Pa6, Pa3] stipulation: "#2" solution: | "1...Rxc2[a] 2.Bxc2#[A] 1...Rd3[b] 2.cxd3#[B] 1...f3 2.Rh4# 1...Ra5/Rd4 2.Rd4# 1...Rcc4 2.c3# 1...Rc5 2.c3#/c4# 1...Rb3 2.cxb3#/c3# 1.Qb4+?? 1...Rc4 2.c3# but 1...Rxb4! 1.Qd7?? (2.Qxe6#) 1...Rxc2[a] 2.Bxc2#[A]/Qd3# 1...Rd3[b] 2.cxd3#[B]/Qxd3# 1...e5 2.Qd5#/Qf5# 1...Rcc4 2.Qd3#/c3# 1...Rc5 2.Qd3#/c3#/c4# 1...Rb3 2.cxb3#/c3# 1...Ra5 2.Qd4# 1...f3 2.Rh4# but 1...Rxc6! 1.Qf7? (2.Qxe6#) 1...Rxc2[a] 2.Bxc2#[A] 1...Rd3[b] 2.cxd3#[B] 1...f3 2.Rh4# 1...Ra5 2.Rd4# 1...Rcc4 2.c3# 1...Rc5 2.c3#/c4# 1...Rb3 2.cxb3#/c3# 1...e5 2.Qd5# but 1...Rxc6! 1.Qc8? (2.Qxe6#) 1...Rxc2[a] 2.Bxc2#[A] 1...Rd3[b] 2.cxd3#[B] 1...f3 2.Rh4# 1...Ra5 2.Rd4# 1...e5 2.Qf5# 1...Rcc4 2.c3# 1...Rc5 2.c3#/c4# 1...Rb3 2.cxb3#/c3# but 1...Rxc6! 1.Nd4+[C]?? 1...Ke5 2.Nf3# but 1...Rc6! 1.Kxf6! (2.Qh7#) 1...Rxc2+[a] 2.Ne5#[D] 1...Rd3+[b] 2.Nd4#[C] 1...Ra5 2.Rd4# 1...f3 2.Rh4# 1...Rcc4+/Rc5+/Rxc6+/Rb3+ 2.c3#" keywords: - Changed mates --- authors: - Mansfield, Comins source: The Observer date: 1936-08-16 algebraic: white: [Ke6, Qg1, Bc7, Bc6, Sd5, Sc1, Ph3, Pd3, Pc3] black: [Kf3, Qa2, Ra5, Ra3, Ph4, Pc5, Pb6, Pa4] stipulation: "#2" solution: | "1.Sc1-b3 ! threat: 2.Sd5-f4 # 1...Qa2*b3 2.Qg1-f1 # 1...Qa2-g2 2.Qg1-e3 # 1...Qa2-f2 2.Qg1-g4 # 1...Qa2-e2 + 2.Sd5-e3 # 1...c5-c4 2.Sb3-d4 #" keywords: - Active sacrifice - Flight giving key --- authors: - Mansfield, Comins source: The Observer date: 1954 algebraic: white: [Ke8, Qd7, Rg6, Ra4, Bh1, Bd2] black: [Ke5, Ra2, Bf6, Sb4, Pg5] stipulation: "#2" solution: | "1.Qd7-f7 ! threat: 2.Qf7*f6 # 1...Sb4-d5 2.Qf7*d5 # 1...Ke5-d4 2.Qf7-d5 # 1...Ke5-d6 2.Qf7-e7 # 1...Ke5-f5 2.Rg6*g5 # 1...Bf6-h8 2.Bd2-c3 # 1...Bf6-g7 2.Bd2-c3 # 1...Bf6-d8 2.Bd2-c3 # 1...Bf6-e7 2.Bd2-c3 #" keywords: - King Y-flight - 3+ flights giving key --- authors: - Mansfield, Comins source: Sunday Telegraph date: 1971 algebraic: white: [Ka3, Qe3, Rf1, Rb5, Bh2, Sf8, Sc8, Pg4, Pe4] black: [Ke5, Rh3, Rg3, Bh7, Sc5, Pb6, Pa4] stipulation: "#2" solution: | "1.Rb5-b4 ! threat: 2.Qe3-c3 # 1...Rh3*h2 2.Qe3*g3 # 1...Sc5-b3 2.Qe3-f4 # 1...Sc5-d3 2.Qe3-d4 # 1...Sc5*e4 2.Rb4-b5 # 1...Sc5-e6 2.Sf8-d7 # 1...Bh7*e4 2.Rf1-f5 #" keywords: - Switchback --- authors: - Mansfield, Comins source: Nice-Matin date: 1971 algebraic: white: [Kc7, Qe8, Rh4, Bf7, Bb2, Sf5, Sd5, Pf4, Pe2, Pd6] black: [Ke4, Be6, Pg7, Pg5, Pd7, Pa3] stipulation: "#2" solution: | "1.Qe8*d7 ! threat: 2.Qd7*e6 # 1...Ke4*d5 2.Qd7-c6 # 1...Be6*d5 2.f4*g5 # 1...Be6*f5 2.Qd7-a4 # 1...Be6*f7 2.Sd5-c3 # 1...Be6*d7 2.Sf5-g3 #" keywords: - Active sacrifice - Black correction --- authors: - Mansfield, Comins source: Šahovski glasnik date: 1971 algebraic: white: [Ka3, Qg8, Rh5, Rf7, Bg2, Bb4, Sg7, Se5, Pd6] black: [Kd5, Re6, Re4, Bf8, Pg3, Pf2, Pd4] stipulation: "#2" solution: | "1.Rf7-f3 ! threat: 2.Qg8*e6 # 1...d4-d3 2.Rf3*d3 # 1...Re4-e1 2.Rf3-e3 # 1...Re4-e2 2.Rf3-e3 # 1...Re4-e3 + 2.Rf3*e3 # 1...Re4*e5 2.Rf3-c3 # 1...Re4-h4 2.Rf3-f4 # 1...Re4-g4 2.Rf3-f4 # 1...Re4-f4 2.Rf3*f4 # 1...Bf8*g7 2.Qg8-a8 #" --- authors: - Mansfield, Comins source: Šahs/Шахматы (Rīga) source-id: 15/289 date: 1969 distinction: 6th Comm., 1968-1969 algebraic: white: [Kh5, Qe8, Rh3, Be7, Bc4, Sg2, Sf3, Pg4, Pd5] black: [Ke4, Rg3, Bb4, Ph4, Pg5, Pf2, Pd7] stipulation: "#2" solution: | "1...Rg3*g2 2.Be7-d6 # 1...Rg3*f3 2.Be7-c5 # 1.d5-d6 ! threat: 2.Qe8-a8 # 1...Rg3*g2 2.Be7*g5 # 1...Rg3*f3 2.Be7-f6 # 1...Rg3*g4 2.Qe8-g6 #" keywords: - Changed mates - Battery play --- authors: - Mansfield, Comins source: Arbeiter-Zeitung (Wien) date: 1971 algebraic: white: [Kd8, Qc2, Rg4, Rf1, Bf4, Sg8, Sf6] black: [Kf5, Qe5, Sh7, Pg6, Pe7, Pe6, Pe4, Pd5] stipulation: "#2" solution: | "1.Qc2-h2 ! threat: 2.Bf4*e5 # 1...Qe5-a1 2.Bf4-c1 # 1...Qe5-b2 2.Bf4-d2 # 1...Qe5-c3 2.Bf4-e3 # 1...Qe5-d4 2.Bf4-e3 # 1...Qe5*f4 2.Qh2*f4 # 1...Qe5*f6 2.Sg8-h6 # 1...Qe5-b8 + 2.Bf4*b8 # 1...Qe5-c7 + 2.Bf4*c7 # 1...Qe5-d6 + 2.Bf4*d6 # 1...g6-g5 2.Qh2*h7 # 1...e7*f6 2.Sg8-h6 # 1...Sh7-g5 2.Rg4*g5 # 1...Sh7*f6 2.Sg8-h6 # 2.Rg4-g5 #" --- authors: - Mansfield, Comins source: stella polaris source-id: 5027 date: 1972 algebraic: white: [Kd2, Qc7, Ra4, Bh4, Bb3, Se5, Pg2, Pf6, Pe6, Pc6] black: [Kf5, Ph6, Ph5, Pc5] stipulation: "#2" solution: | "1.Se5-c4 ! zugzwang. 1...Kf5-e4 2.Qc7-e5 # 1...Kf5-g4 2.Sc4-e3 # 1...Kf5-g6 2.Bb3-c2 # 1...Kf5*e6 2.Qc7-d7 #" keywords: - King star flight - 3+ flights giving key --- authors: - Mansfield, Comins source: Het Belgisch Schaakbord (L'Echiquier Belge) date: 1972 algebraic: white: [Kb5, Qc2, Rd8, Rd1, Bh3, Bb4, Se2, Sc5, Pf4, Pd7] black: [Kd5, Qf5, Rg5, Rf7, Bg6, Pf6, Pe7, Pe3, Pd3] stipulation: "#2" solution: | "1...Qf5*d7 + 2.Rd8*d7 # 1.Sc5*d3 ! threat: 2.Qc2-c6 # 2.Qc2-c4 # 1...Kd5-e4 + 2.Sd3-e5 # 1...Kd5-e6 + 2.Sd3-c5 #" keywords: - Flight giving key - Flight giving and taking key - Switchback --- authors: - Mansfield, Comins source: problem (Zagreb) date: 1973 algebraic: white: [Ka5, Qh1, Rh4, Ra4, Bc1, Bb1, Se6, Sc7, Pg2, Pf4, Pe3, Pd4, Pc2] black: [Ke4, Rg3, Rc3] stipulation: "#2" solution: | "1.Se6-g7 ! zugzwang. 1...Rc3*c2 2.Bb1*c2 # 1...Rc3-a3 2.c2-c3 # 1...Rc3-b3 2.c2*b3 # 1...Rc3*c7 2.c2-c4 # 1...Rc3-c6 2.c2-c4 # 2.c2-c3 # 1...Rc3-c5 + 2.d4*c5 # 1...Rc3-c4 2.c2-c3 # 1...Rc3*e3 2.d4-d5 # 1...Rc3-d3 2.c2*d3 # 1...Rg3*g2 2.Qh1*g2 # 1...Rg3*e3 2.f4-f5 # 1...Rg3-f3 2.g2*f3 # 1...Rg3*g7 2.g2-g4 # 1...Rg3-g6 2.g2-g4 # 2.g2-g3 # 1...Rg3-g5 + 2.f4*g5 # 1...Rg3-g4 2.g2-g3 # 1...Rg3-h3 2.g2*h3 #" keywords: - Active sacrifice - Albino - Black correction - Flight taking key --- authors: - Mansfield, Comins source: Themes 64 date: 1973 algebraic: white: [Kb5, Qc4, Rh5, Bh6, Sf5, Sd1, Pf4, Pe2, Pd5, Pb3] black: [Ke4, Rd3, Bd4, Sh1, Sb7, Pf6, Pd2, Pb4] stipulation: "#2" solution: | "1...Sh1-g3 {(Sh~ )} 2.Sd1-f2 # 1...Rd3*b3 {(R~ )} 2.Qc4*d4 # 1.Qc4-c2 ! zugzwang. 1...Sh1-g3 {(Sh~ )} 2.Sf5*g3 # 1...Bd4-a1 {(B~ )} 2.Qc2*d3 # 1...Ke4*d5 2.Qc2-c6 # 1...Sb7-a5 {(Sb~ )} 2.Sf5-d6 #" keywords: - Mutate - Flight giving key --- authors: - Mansfield, Comins source: Suomen Shakki Try Ty. source-id: 4/647 date: 1973 algebraic: white: [Kh7, Qh1, Re2, Ba7, Sg6, Se3, Ph4, Pg2, Pc2] black: [Ke4, Rg3, Pe7, Pe5] stipulation: "#2" solution: | "1.Qh1-b1 ! threat: 2.c2-c4 # 2.c2-c3 # 2.Qb1-b7 # 2.Qb1-b4 # 1...Rg3*g2 2.Qb1-b7 # 1...Rg3*e3 2.c2-c4 # 1...Rg3*g6 2.Qb1-b4 #" --- authors: - Mansfield, Comins source: Northwest Chess source-id: 17 date: 1973-03 algebraic: white: [Kf7, Qb7, Re4, Ra1, Bb1, Sa2, Pc3] black: [Kd1, Qc2, Ra5, Sh4, Pd2, Pc5, Pb3] stipulation: "#2" solution: | "1.Re4-e7 ! threat: 2.Qb7-h1 # 1...Qc2*b1 2.Qb7*b3 # 1...Qc2-h7 + 2.Bb1*h7 # 1...Qc2-g6 + 2.Bb1*g6 # 1...Qc2-f5 + 2.Bb1*f5 # 1...Qc2-e4 2.Bb1-d3 # 1...Qc2-d3 2.Bb1*d3 # 1...Sh4-f3 2.Qb7*f3 # 1...Sh4-g2 2.Qb7-f3 #" --- authors: - Mansfield, Comins source: The Problemist source-id: 5703 date: 1974 algebraic: white: [Ka2, Qc7, Rd8, Rc2, Bb1, Sd5, Sc5, Pe6] black: [Kd4, Qe1, Rh4, Re2, Bc1, Pf3, Pd2, Pa4] stipulation: "#2" solution: | "1.Sc5-d7 ! threat: 2.Qc7-c4 # 1...Kd4-d3 2.Rc2-c4 # 1...Kd4*d5 2.Sd7-c5 # 1...Kd4-e4 2.Rc2*d2 #" keywords: - 3+ flights giving key - Switchback --- authors: - Mansfield, Comins source: The Problemist date: 1974 algebraic: white: [Kc2, Rb5, Bg8, Ba7, Sh2, Pg3, Pf5, Pf4] black: [Ke4, Pf6, Pb7] stipulation: "#2" solution: | "1.Rb5-b6 ! zugzwang. 1...Ke4*f5 2.Bg8-h7 # 1...Ke4-e3 2.Rb6-e6 # 1...Ke4-d4 2.Rb6-b4 #" keywords: - 3+ flights giving key --- authors: - Mansfield, Comins source: Probleemblad source-id: 32/7486 date: 1974-01 algebraic: white: [Kb8, Qb3, Rg5, Rd8, Bf2, Pe6] black: [Kc6, Qa2, Bd1, Ba3, Sa8, Pc7, Pb4, Pa6] stipulation: "#2" solution: | "1.e6-e7 ! threat: 2.e7-e8=Q # 2.e7-e8=B # 1...Bd1-h5 2.Qb3-a4 # 1...Bd1-g4 2.Qb3-a4 # 1...Qa2*f2 2.Qb3-e6 # 1...Qa2-e2 2.Qb3-d5 # 1...Qa2-d2 2.Qb3-c4 # 1...Sa8-b6 2.Rg5-c5 #" --- authors: - Mansfield, Comins source: Schach-Echo date: 1975 algebraic: white: [Kb1, Qh4, Rf6, Rd8, Bg4, Sf4, Sb2, Pg7, Pd2, Pc4] black: [Ke4, Qh7, Rh3, Se1, Pg2, Pe5, Pe2, Pc5, Pb6] stipulation: "#2" solution: | "1...Rh3-d3 2.Qh4*h7 # 1...e5*f4 2.Rf6-e6 # 1.Bg4-d7 ! threat: 2.Bd7-c6 # 1...Rh3-d3 2.Sf4-h5 # 1...e5*f4 2.Qh4*f4 # 1...Ke4-f3 + 2.Sf4-g6 # 1...Ke4-d4 + 2.Bd7-f5 # 1...Qh7-g8 2.Sf4*h3 #" keywords: - 2 flights giving key - Changed mates --- authors: - Mansfield, Comins source: Šachové umění source-id: 2783 date: 1971-06 algebraic: white: [Ka7, Qb3, Re4, Bh1, Be7, Sd4, Pe3, Pc6] black: [Kd5, Rh7, Sc4, Pf7, Pe5, Pa6] stipulation: "#2" solution: | "1.Nf3! (2.Qxc4#) 1...Kxe4 2.Nh4# 1...Ke6 2.Rxe5# 1...Kxc6 2.Qb7#" keywords: - 3+ flights giving key --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1975 algebraic: white: [Ka7, Qa4, Rc7, Bc6, Ba3, Se4, Pa5] black: [Kc4, Rh3, Bg7, Ba6, Pd4, Pd2, Pb4] stipulation: "#2" solution: | "1.Se4-g3 ! threat: 2.Bc6-e4 # 2.Qa4-c2 # 1...Kc4-d3 2.Qa4-b3 # 1...Kc4-c3 2.Bc6-b5 # 1...Kc4-c5 2.Qa4*b4 # 1...d4-d3 2.Qa4*b4 #" keywords: - 2 flights giving key --- authors: - Mansfield, Comins source: Themes 64 source-id: 2935 date: 1975 algebraic: white: [Kh8, Qh4, Rf3, Sh7, Sg7, Ph5, Pf6, Pf5] black: [Kf7, Qa5, Re6, Bb5, Bb4, Sf8, Sd8, Ph6, Pe7, Pa6] stipulation: "#2" solution: | "1.f6*e7 ! threat: 2.f5*e6 # 1...Re6-e1 2.Qh4-f6 # 1...Re6-e2 2.Qh4-f6 # 1...Re6-e3 2.Qh4-f6 # 1...Re6-e4 2.Qh4-f6 # 1...Re6-e5 2.Qh4-f6 # 1...Re6-b6 2.e7*d8=S # 1...Re6-c6 2.e7-e8=Q # 1...Re6-d6 2.e7*f8=Q # 1...Re6*e7 2.Qh4-f6 # 1...Re6-g6 2.f5*g6 # 1...Re6-f6 2.Qh4*f6 # 1...Sf8-g6 + 2.f5*g6 #" keywords: - Black correction --- authors: - Mansfield, Comins source: The Problemist date: 1976 algebraic: white: [Kb7, Qg8, Re3, Ra6, Bh4, Se5, Sb6, Pg4, Pc5] black: [Ke6, Rh8, Rf1, Bg1, Sc7, Sb8, Ph5, Pf7] stipulation: "#2" solution: | "1.Bh4-f2 ! threat: 2.Qg8*f7 # 2.Se5-d7 # 1...Ke6-e7 2.Sb6-c8 # 1...Ke6-f6 2.Sb6-d5 #" keywords: - 2 flights giving key - Novotny --- authors: - Mansfield, Comins source: Suomen Shakki date: 1976 algebraic: white: [Kf3, Qg3, Bf1, Bc3, Sd8, Sa4] black: [Kd5, Ba7, Se8, Pf6, Pc5, Pb5] stipulation: "#2" solution: | "1.Kf3-e2 ! threat: 2.Qg3-d3 # 1...c5-c4 2.Bf1-g2 # 1...Kd5-c4 2.Qg3-g8 # 1...Kd5-e4 2.Qg3-f3 #" keywords: - 2 flights giving key --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1976 algebraic: white: [Kg5, Qb6, Re5, Rc5, Bh8, Bc4, Sf7, Sa4, Pd5] black: [Kd4, Rd8, Sc8, Sb5, Pg6, Pe7, Pd6, Pc7, Pa6] stipulation: "#2" solution: | "1.Sf7*d6 ! threat: 2.Re5-e4 # 1...Sb5*d6 2.Qb6-b2 # 1...c7*d6 2.Rc5*c8 # 1...e7*d6 2.Re5-e8 # 1...Sc8*d6 2.Rc5*c7 # 1...Rd8*d6 2.Re5-e6 #" keywords: - Active sacrifice - Defences on same square - Transferred mates --- authors: - Mansfield, Comins source: Neue Zürcher Zeitung date: 1976 algebraic: white: [Kh8, Qc4, Bh1, Ba7, Sf3, Pg5, Pe3, Pd5, Pc2] black: [Ke4, Ra5, Bb2, Pf5, Pf2, Pd4] stipulation: "#2" solution: | "1...Ra5*d5 2.Qc4-d3 # 1.Qc4-c7 ! threat: 2.Qc7-e5 # 1...Ra5*d5 2.Qc7-f4 # 1...d4-d3 + 2.Sf3-e5 # 1...d4*e3 + 2.Sf3-d4 # 1...Ke4*d5 2.Sf3*d4 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Schach-Echo source-id: 9031 date: 1976 algebraic: white: [Kh8, Qc2, Rh7, Rb7, Bb4, Sh4, Sg8, Pg7, Pe7, Pd5] black: [Kf7, Ra8, Ra6, Bd2, Se8] stipulation: "#2" solution: | "1.Sg8-f6 ! threat: 2.Qc2-g6 # 1...Ra6*f6 2.g7-g8=Q # 1...Kf7*f6 2.Qc2-f5 # 1...Se8-c7 + 2.g7-g8=S # 1...Se8-d6 + 2.g7-g8=S # 1...Se8*f6 + 2.g7-g8=Q # 1...Se8*g7 + 2.e7-e8=S #" keywords: - Black correction - Flight giving key --- authors: - Mansfield, Comins source: Europe Échecs date: 1976 algebraic: white: [Ka1, Qf1, Bc6, Se5, Se4, Pg6, Pg5, Pf7, Pd6, Pd4, Pc7] black: [Ke6, Qh8, Be7, Sg7, Pb6, Pa4] stipulation: "#2" solution: | "1.Se5-c4 ? threat: 2.d4-d5 # but 1...Sg7-f5 ! 1.Se5-g4 ? threat: 2.d4-d5 # but 1...Sg7-h5 ! 1.Se5-d7 ? threat: 2.d4-d5 # but 1...Sg7-e8 ! 1...Qh8-h5 ! 1.Se5-d3 ! threat: 2.d4-d5 # 1...Be7*d6 2.Qf1-f6 # 1...Be7-f6 2.Qf1*f6 # 1...Sg7-f5 2.Sd3-f4 # 1...Sg7-h5 2.Qf1-h3 # 1...Sg7-e8 2.c7-c8=Q #" --- authors: - Mansfield, Comins source: Aamulehti date: 1976 algebraic: white: [Ke2, Qb3, Rh4, Bh8, Bh7, Pe4, Pa5] black: [Kd4, Rd5, Rc4, Se5, Pc3] stipulation: "#2" solution: | "1.Bh7-g8 ! zugzwang. 1...c3-c2 2.Qb3-e3 # 1...Rc4-a4 {(Rc~ )} 2.Qb3*d5 # 1...Rc4-c5 2.e4*d5 # 1...Kd4-c5 2.Qb3-b6 # 1...Rd5*a5 {(Rd~ )} 2.Qb3*c4 # 1...Rd5-c5 2.Qb3-d1 # 1...Rc4-b4 2.Qb3*d5 # 2.Qb3*b4 #" keywords: - Defences on same square - Black correction --- authors: - Mansfield, Comins source: Sächsische Zeitung date: 1976 algebraic: white: [Kb2, Qb1, Ra4, Be5, Sc3, Pe2, Pd4, Pb4] black: [Kc4, Bc6, Bc5, Sc1, Pe6] stipulation: "#2" solution: | "1.Qb1-e4 ! zugzwang. 1...Sc1*e2 2.Qe4*e2 # 1...Sc1-b3 2.Qe4-d3 # 1...Sc1-a2 2.Qe4-d3 # 1...Bc5*b4 2.Qe4*c6 # 1...Bc5*d4 2.Qe4*d4 # 1...Bc5-f8 2.d4-d5 # 1...Bc5-e7 2.d4-d5 # 1...Bc5-d6 2.d4-d5 # 1...Bc5-a7 2.b4-b5 # 1...Bc5-b6 2.b4-b5 # 1...Bc6*a4 2.d4*c5 # 1...Bc6-b5 2.d4*c5 # 1...Bc6*e4 2.b4*c5 # 1...Bc6-d5 2.b4*c5 # 1...Bc6-e8 2.d4*c5 # 1...Bc6-d7 2.d4*c5 # 1...Bc6-a8 2.b4*c5 # 1...Bc6-b7 2.b4*c5 # 1...Sc1-d3 + 2.Qe4*d3 # 2.e2*d3 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Chess Life & Review date: 1976 algebraic: white: [Kd6, Qc2, Ra5, Bd1, Sh5] black: [Ke4, Rd3, Sf3, Pd4, Pc3, Pa6] stipulation: "#2" solution: | "1...Sf3-d2 {(S~ )} 2.Ra5-e5 # 1.Qc2-g2 ! threat: 2.Ra5-e5 # 1...Rd3*d1 2.Qg2-e2 # 1...Rd3-d2 2.Qg2*f3 # 1...Rd3-e3 2.Qg2-g6 # 1...Ke4-e3 2.Qg2-e2 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Sunday Times date: 1976 algebraic: white: [Kh6, Qd7, Rf4, Rf3, Bh2, Bd3, Sh7] black: [Ke5, Rg8, Re2, Bf7, Bd2, Sd1, Pg6, Pf2, Pb5] stipulation: "#2" solution: | "1.Rf3-g3 ! threat: 2.Rg3-g5 # 1...Sd1-e3 2.Rf4-e4 # 1...Ke5*f4 2.Rg3-h3 # 1...g6-g5 2.Rf4-f5 # 1...Bf7-e6 2.Qd7-d4 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Christian Science Monitor date: 1976 algebraic: white: [Kd1, Qg2, Rf3, Rd8, Bh3, Ba3, Sd7, Sa5, Pf6, Pe6, Pd3, Pc3] black: [Kd5, Qg4, Ph5, Pb7, Pb5, Pa4] stipulation: "#2" solution: | "1.d3-d4 ! threat: 2.Sd7-c5 # 1...Qg4*f3 + 2.Qg2*f3 # 1...Qg4*e6 2.Rf3-f5 # 1...Qg4-g3 2.Rf3*g3 # 1...Qg4*d4 + 2.Rf3-d3 # 1...Qg4-f4 2.Rf3*f4 # 1...Qg4-g8 2.Rf3-g3 # 1...Qg4-g7 2.Rf3-g3 # 1...Kd5*e6 2.Qg2-a2 #" keywords: - Active sacrifice - Flight giving key --- authors: - Mansfield, Comins source: Problemas source-id: 825 date: 1977 algebraic: white: [Kf8, Qf2, Rb4, Bc4, Bb8, Ph5, Pf5, Pc2] black: [Ke4, Rh4, Rc5, Ph6, Pc6, Pb5] stipulation: "#2" solution: | "1.Qf2-g3 ! threat: 2.Qg3-d3 # 1...Ke4*f5 2.Qg3-g6 # 1...Rh4-h3 2.Qg3-f4 # 1...Rc5*f5 + 2.Bc4-f7 # 1...Rc5-e5 2.Bc4-e6 # 1...Rc5-d5 2.Bc4-d3 #" keywords: - 2 flights giving key --- authors: - Mansfield, Comins source: Scacco! date: 1977 algebraic: white: [Kc8, Qc7, Rd8, Ra4, Be5, Ba8, Sd3, Sb3, Pe2, Pd2] black: [Ke4, Rc2, Bc4, Bb4, Sh3, Sd5, Pf5, Pb6, Pb5] stipulation: "#2" solution: | "1...Bc4*d3 2.Ba8*d5 # 1.Qc7-e7 ! threat: 2.Be5-d6 # 1...Bc4*d3 + 2.Be5-c7 # 1...Sh3-g5 2.Sd3-f2 # 1...Sh3-f4 2.Sd3-f2 # 1...Bb4*e7 2.Ba8*d5 # 1...Bc4*b3 + 2.Be5-c3 # 1...f5-f4 2.Qe7-h7 # 1...Bb4-c3 2.Ba8*d5 # 2.Be5*c3 # 2.Be5-d4 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: Brogi MT, Sinfonie Scacchistiche date: 1977 algebraic: white: [Ka5, Qh7, Rf3, Re7, Bg2, Sf4, Pd5, Pc3] black: [Ke4, Qe5, Rf5, Ra3, Sb2, Ph5, Pg3, Pf6, Pc4, Pb4, Pa4] stipulation: "#2" solution: | "1.Sf4-e6 ! threat: 2.Rf3*g3 # 1...Ra3*c3 2.Rf3*c3 # 1...Ke4*d5 2.Rf3-d3 # 1...Qe5*c3 2.Qh7*f5 # 1...Qe5-d4 2.Qh7*f5 # 1...Qe5-f4 2.Se6*f4 # 1...Qe5-c7 + 2.Se6*c7 # 1...Qe5-d6 2.Qh7*f5 # 1...Qe5*d5 + 2.Se6-c5 # 1...Qe5*e6 2.Qh7*f5 # 1...Qe5-b8 2.Qh7*f5 # 2.Se6-c7 #" keywords: - Black correction - Flight giving key - Switchback --- authors: - Mansfield, Comins source: Sunday Plain Dealer date: 1977 algebraic: white: [Kh8, Qf2, Rd7, Rc4, Bd3, Pg3] black: [Kd2, Rh4, Bh3, Sg1, Se2, Ph5, Pg2, Pc5] stipulation: "#2" solution: | "1.g3-g4 ! threat: 2.Bd3-b1 # 2.Bd3*e2 # 2.Bd3-h7 # 2.Bd3-g6 # 2.Bd3-f5 # 2.Bd3-e4 # 1...Sg1-f3 2.Qf2*e2 # 1...Kd2-d1 2.Bd3*e2 # 1...Bh3*g4 2.Bd3-f5 # 1...Rh4*g4 2.Bd3-e4 # 1...h5*g4 + 2.Bd3-h7 #" keywords: - Defences on same square - Grimshaw - Novotny --- authors: - Mansfield, Comins source: Christian Science Monitor date: 1977 algebraic: white: [Kf4, Qf5, Be8, Sc6, Sb5, Pd6, Pd4, Pa3, Pa2] black: [Kc4, Rc1, Bg8, Pf7, Pf3, Pe2, Pd2, Pb6, Pa5] stipulation: "#2" solution: | "1.Qf5-c8 ! threat: 2.Sc6-b4 # 1...Kc4-d3 2.Sc6-e5 # 1...Kc4-d5 2.Sc6-e7 # 1...Kc4*b5 2.Sc6-a7 #" keywords: - 3+ flights giving key --- authors: - Mansfield, Comins source: Europe Echecs source-id: 228/2538 date: 1977-12 algebraic: white: [Kc6, Qg8, Rd3, Rc2, Bb1, Sf7, Pg5, Pg4] black: [Kg6, Bf8, Sh6, Pg7, Pe7, Pe6] stipulation: "#2" solution: | "1.Rd3-e3 ? threat: 2.Re3*e6 # 1...Sh6*g4 2.Rc2-h2 # 1...Sh6*g8 2.Rc2-f2 # 1...Sh6*f7 2.Rc2-c5 # but 1...e6-e5 ! 1.Rc2-e2 ! threat: 2.Re2*e6 # 1...e6-e5 2.Rd3-d6 # 1...Sh6*g4 2.Rd3-h3 # 1...Sh6*g8 2.Rd3-f3 # 1...Sh6*f7 2.Rd3-d5 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: Europe Échecs date: 1978 distinction: 3rd HM algebraic: white: [Kh4, Qb6, Rg4, Re7, Bd1, Bc7, Sh1, Se6, Pf3, Pd3] black: [Ke3, Qa6, Rd4, Rc8, Be4, Se8, Sc2, Pd5, Pd2] stipulation: "#2" solution: | "1.Rg4-g3 ! threat: 2.f3*e4 # 1...Sc2-e1 2.Qb6*d4 # 1...Ke3*d3 2.Qb6-b3 # 1...Be4*d3 + 2.Bc7-f4 # 1...Be4*f3 + 2.Se6-f4 # 1...Be4-h7 + 2.f3-f4 #{(B~ )} 1...Qa6*d3 2.Bc7-f4 #" keywords: - Mates on same square - Threat reversal - Black correction --- authors: - Mansfield, Comins source: Het Belgisch Schaakbord (L'Echiquier Belge) date: 1978 algebraic: white: [Kh4, Qa7, Rd1, Bb2, Ba2, Sd4, Sc4] black: [Kd5, Qa4, Re8, Ba3, Ph5, Pe4, Pd6, Pb5, Pa6] stipulation: "#2" solution: | "1.Qa7-d7 ! threat: 2.Qd7-c6 # 1...Qa4*c4 2.Sd4-e6 # 1...b5-b4 2.Qd7*d6 # 1...b5*c4 2.Sd4-b3 # 1...Kd5-c5 2.Qd7*d6 # 1...Re8-c8 2.Qd7-f5 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: The Problemist date: 1978 algebraic: white: [Kh1, Qa7, Bg2, Bf8, Sd7, Sd4, Pf5, Pe6, Pb3] black: [Kd5, Re4, Bc7, Ba8, Sa6, Pd3, Pb5] stipulation: "#2" solution: | "1.Sd4-f3 ! threat: 2.Qa7*a8 # 1...Re4-e1 + 2.Sf3*e1 # 1...Re4-c4 2.Sf3-d4 # 1...Re4*e6 2.Sf3-e5 # 1...Re4-h4 + 2.Sf3*h4 # 1...Sa6-b4 2.Qa7-c5 # 1...Sa6-c5 2.Qa7*c5 # 1...Sa6-b8 2.Qa7-c5 # 1...Ba8-c6 2.Sd7-f6 # 1...Ba8-b7 2.Qa7*b7 #" keywords: - Black correction - Flight giving key - Levman - Switchback --- authors: - Mansfield, Comins source: The Plain Dealer date: 1978 algebraic: white: [Kh5, Qe6, Rh4, Rb5, Bg6, Be5, Sc6, Pd5, Pd2, Pc5, Pc3, Pa4] black: [Kc4, Rg8, Se4, Ph6, Pf6, Pe7, Pb6] stipulation: "#2" solution: | "1.Be5-f4 ! threat: 2.Qe6*e4 # 1...Se4*c3 2.d2-d3 # 1...Se4*d2 2.Bf4*d2 # 1...Se4-f2 2.d5-d6 # 1...Se4-g3 + 2.Bf4*g3 # 1...Se4-g5 2.Bf4*g5 # 1...Se4-d6 2.Bf4*d6 # 1...Se4*c5 2.Rb5-b4 # 1...f6-f5 2.Sc6-e5 #" keywords: - Black correction - Rudenko --- authors: - Mansfield, Comins source: Problemas source-id: 4/47 date: 1978-10 algebraic: white: [Kg5, Qc6, Rb7, Ba8, Sc8, Sb3, Pf6, Pf2, Pe5, Pe2, Pd4] black: [Ke4, Rd5, Rc1, Ba3, Sg3, Sc2, Pa7] stipulation: "#2" solution: | "1.Qc6-e6 ! threat: 2.Qe6-g4 # 1...Sc2-e3 2.f2-f3 # 1...Sc2*d4 2.Sb3-d2 # 1...Sg3*e2 2.Qe6-f5 # 1...Sg3-h5 {(Sg~ )} 2.Qe6-f5 # 1...Rd5*d4 2.Rb7-b4 # 1...Rd5-a5 2.Rb7-b5 # 1...Rd5-b5 2.Rb7*b5 # 1...Rd5-c5 2.Sc8-d6 # 1...Rd5-d8 2.Rb7-d7 # 1...Rd5-d7 2.Rb7*d7 # 1...Rd5-d6 2.e5*d6 # 1...Rd5*e5 + 2.Qe6*e5 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Szachy date: 1978 algebraic: white: [Kg6, Qf7, Rg3, Rd8, Bb7, Sc2, Pg2, Pf4] black: [Ke4, Qc6, Bb8, Ba8, Sc4, Pe6, Pe5, Pa7] stipulation: "#2" solution: | "1.Qf7*e6 ! threat: 2.Rd8-d4 # 1...Sc4-d6 2.Qe6*e5 # 1...Ke4*f4 2.Rg3-g4 # 1...Qc6-d5 2.Qe6-f5 # 1...Bb8-d6 2.Qe6*c4 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: 100 date: 1979 algebraic: white: [Ka3, Qa6, Re1, Bb5, Bb2, Se8, Pb4] black: [Kd5, Bf8, Ba2, Se7, Pf6, Pf5, Pf4, Pd7, Pb6] stipulation: "#2" solution: | "1.Bb5-e2 ! threat: 2.Be2-f3 # 1...Ba2-b1 2.Qa6-c4 # 1...Kd5-e4 2.Qa6-d3 # 1...Kd5-e6 2.Be2-c4 # 1...Kd5-c6 2.Qa6-a8 # 1...b6-b5 2.Se8*f6 #" keywords: - 3+ flights giving key --- authors: - Mansfield, Comins source: Suomen Shakki source-id: 1/1016 date: 1979 algebraic: white: [Kh4, Qh5, Rb5, Bd5, Bb8, Pg6, Pc7, Pc6] black: [Kd6, Re8, Bf8, Sc8, Sc3, Pg7, Pe7] stipulation: "#2" solution: | "1.Bd5-e6 ! zugzwang. 1...Sc3-a2 {(S3~ )} 2.Qh5-d5 # 1...Sc8-a7 {(S8~ )} 2.c7-c8=Q # 1...Kd6*c6 2.Qh5-c5 # 1...Kd6*e6 2.Qh5-e5 # 1...Re8-d8 2.c7*d8=S #" keywords: - 2 flights giving key - Transferred mates --- authors: - Mansfield, Comins source: Canadian Chess Chat date: 1980 algebraic: white: [Kb5, Rh7, Re5, Bh5, Bc7, Se4, Pf6, Pe7, Pd6] black: [Kd7, Qe8, Bd4, Bc8, Sh6, Sg8, Pb7] stipulation: "#2" solution: | "1.f6-f7 ! threat: 2.f7*e8=Q # 1...Bd4*e5 2.Se4-c5 # 1...Sh6*f7 2.Bh5-g4 # 1...Qe8*f7 2.e7-e8=Q # 1...Qe8*e7 2.f7-f8=S # 1...Qe8-d8 2.e7*d8=Q # 1...Qe8-f8 2.e7*f8=S # 1...Sg8-f6 2.Se4*f6 #" keywords: - Black correction --- authors: - Mansfield, Comins source: problem (Zagreb) date: 1980 algebraic: white: [Kg6, Qe6, Re8, Ra4, Bb4, Sh3, Se5, Pc6, Pb5, Pa3] black: [Ke4, Qd4, Bd1, Sb8, Ph5, Pf3, Pe3, Pb3, Pa6] stipulation: "#2" solution: | "1...Qd2 2.Bxd2# 1...Qd6/Qd7/Qd8 2.Bxd6# 1...Qc4/Qxe5 2.Qxc4# 1...Qxb4 2.Rxb4# 1...Qc3/Qb2/Qa1 2.Bxc3# 1...Qc5/Qb6/Qa7 2.Bxc5# 1.Nf7+?? 1...Qe5 2.Qc4# but 1...Kd3! 1.Ng4+?? 1...Qe5 2.Qc4# but 1...Kd3! 1.Nd3+?? 1...Qe5 2.Qc4# but 1...Kxd3! 1.Nd7+?? 1...Qe5 2.Qc4# but 1...Kd3! 1.Qf7! (2.Ng5#) 1...e2 2.Qxf3# 1...Qd3 2.Nxf3# 1...Qd2 2.Bxd2# 1...Qd5 2.Qf4# 1...Qd6+/Qd7/Qd8 2.Bxd6# 1...Qc4/Qxe5 2.Qxc4# 1...Qxb4 2.Rxb4# 1...Qc3/Qb2/Qa1 2.Bxc3# 1...Qc5/Qb6/Qa7 2.Bxc5#" keywords: - Black correction --- authors: - Mansfield, Comins source: Schach-Aktiv date: 1980 algebraic: white: [Kh1, Qg1, Ra4, Be5, Sf3, Se3, Pg5, Pe2, Pd5] black: [Ke4, Qb4, Pa5] stipulation: "#2" solution: | "1.Be5-d4 ! threat: 2.Qg1-g4 # 1...Qb4-e1 2.Bd4-c3 # 1...Qb4-f8 2.Bd4-c5 # 1...Qb4-d6 2.Bd4-c5 # 1...Qb4-b1 2.Bd4-b2 # 1...Qb4-b8 2.Bd4-b6 # 1...Qb4*d4 2.Ra4*d4 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Neue Zürcher Zeitung date: 1981 algebraic: white: [Kb8, Qc3, Rh7, Ra7, Bf7, Bc7, Sf5, Sd4, Pe3, Pc4] black: [Kd7, Rh2, Ra2, Pg6, Pe4, Pc6, Pc5, Pb6, Pb3] stipulation: "#2" solution: | "1.Qc3-d2 ! zugzwang. 1...Ra2-a1 {(Ra~a)} 2.Sd4-e2 # 1...Ra2*d2 {(Ra~2)} 2.Bc7*b6 # 1...Rh2-h1 2.Sd4-c2 # 1...Rh2*d2 {(Rh~2)} 2.Bf7*g6 # 1...Rh2*h7 2.Sd4-c2 # 1...Rh2-h6 2.Sd4-c2 # 1...Rh2-h5 2.Sd4-c2 # 1...Rh2-h4 2.Sd4-c2 # 1...Rh2-h3 2.Sd4-c2 # 1...b3-b2 2.Sd4-e2 # 1...c5*d4 2.Qd2*d4 # 1...b6-b5 2.Bc7-a5 # 1...g6-g5 2.Bf7-h5 # 1...g6*f5 2.Bf7-h5 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: Probleemblad source-id: 8449 date: 1981 algebraic: white: [Kf3, Qg3, Re8, Bf2, Bf1, Sd7, Sa7, Pe6, Pd2, Pa2] black: [Kd5, Rh6, Sa8, Ph5, Pf6, Pc5, Pb6, Pa3] stipulation: "#2" solution: | "1.Kf3-e2 ! threat: 2.Qg3-d3 # 1...c5-c4 2.Bf1-g2 # 1...Kd5-c4 2.Qg3-b3 # 1...Kd5-e4 2.Qg3-f3 #" keywords: - 2 flights giving key --- authors: - Mansfield, Comins source: Canadian Chess Chat date: 1981 algebraic: white: [Kb1, Qc8, Rf5, Rc4, Bf8, Bc2, Sa8, Pc3] black: [Ke6, Bg6, Bc7, Pg5, Pf6, Pe5, Pd7] stipulation: "#2" solution: | "1.Bc2-b3 ! threat: 2.Rc4-f4 # 1...e5-e4 2.Rc4-c5 # 1...Ke6-d5 2.Sa8*c7 # 1...Ke6*f5 2.Qc8*d7 # 1...Ke6-f7 2.Rc4*c7 # 1...Bg6*f5 + 2.Rc4-e4 #" keywords: - Flight giving key - Reversal --- authors: - Mansfield, Comins source: problem (Zagreb) date: 1981 algebraic: white: [Kh4, Rg1, Ra6, Bg5, Be6, Ph6, Ph3, Pf3, Pe5, Pe3, Pd4] black: [Kg6, Rb2, Ra1, Sh8, Ph7, Pc3] stipulation: "#2" solution: | "1.e3-e4 ! zugzwang. 1...Ra1-a5 {(Ra~a)} 2.Bg5-d2 # 1...Ra1-f1 {(Ra~1)} 2.Be6-b3 # 1...Rb2-b1 {(Rb~b)} 2.Bg5-c1 # 1...Rb2-a2 {(Rb~2)} 2.Be6*a2 # 1...c3-c2 2.Bg5-c1 # 1...Sh8-f7 2.Be6-f5 #" --- authors: - Mansfield, Comins source: Mat (Beograd) source-id: 3142 date: 1981 algebraic: white: [Kg8, Qh4, Rb2, Ra3, Bc1, Sb3, Sb1, Pe3] black: [Kd3, Qa7, Bf8, Ba2, Pf5, Pe5, Pc5, Pb7, Pa5] stipulation: "#2" solution: | "1.Qh4-h1 ! threat: 2.Qh1-d5 # 1...Ba2*b1 2.Sb3*a5 # 1...Kd3-c4 2.Sb3-d2 # 1...c5-c4 2.Sb3-c5 # 1...e5-e4 2.Qh1-f1 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Shaki date: 1981 algebraic: white: [Kd4, Qf7, Re3, Re1, Be2, Sh5, Ph3, Pc3] black: [Kg2, Bh1, Sf2, Ph4, Ph2, Pg5, Pe4, Pa3] stipulation: "#2" solution: | "1.Qf7-a2 ! zugzwang. 1...Sf2-d1 2.Be2*d1 # 1...Sf2*h3 2.Be2-f3 # 1...Sf2-g4 2.Be2*g4 # 1...Sf2-d3 2.Be2*d3 # 1...g5-g4 2.Sh5-f4 #" keywords: - Black correction - Anti-reversal - Transferred mates --- authors: - Mansfield, Comins source: Sinfonie Scacchistiche source-id: 63/3388 date: 1981-01 algebraic: white: [Ka8, Qc1, Rh7, Rg2, Bh1, Bb8, Se6, Sd7, Pf5, Pf4, Pc4] black: [Kc6, Qa6, Re4, Bg1, Sb7, Pa7, Pa4] stipulation: "#2" solution: | "1.Qc1-b1 ! threat: 2.Qb1*e4 # 1...Re4-e1 2.Rg2-e2 # 1...Re4-e2 2.Rg2*e2 # 1...Re4-e3 2.Se6-d4 # 1...Re4*c4 2.Rg2-c2 # 1...Re4-d4 2.Sd7-e5 # 1...Re4*e6 2.Rg2-g6 # 1...Re4-e5 2.Sd7*e5 # 1...Re4*f4 2.Sd7-e5 # 1...Qa6*c4 2.Qb1*b7 # 1...Qa6-b5 2.Qb1*b5 # 1...Qa6-a5 2.Qb1*b7 # 1...Sb7-c5 2.Se6-d8 # 1...Sb7-d6 2.Se6-d8 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Contromossa Scacchi date: 1981 algebraic: white: [Kf4, Qh3, Rc4, Ba2, Se5, Pf6, Pd6, Pc5] black: [Kd5, Qa8, Pd4, Pc3] stipulation: "#2" solution: | "1.Qh3-c8 ! threat: 2.Rc4-a4 # 1...Qa8-c6 2.Qc8-g8 # 2.Rc4*c3 # 1...Qa8-b7 2.Rc4-b4 # 1...Qa8*a2 2.Qc8-g8 # 1...Qa8-a3 2.Qc8-g8 # 1...Qa8-a6 2.Qc8-g8 # 1...Qa8*c8 2.Rc4*c3 # 1...Qa8-b8 2.Rc4-b4 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: Échecs Français date: 1982 distinction: Comm. algebraic: white: [Kh5, Qe1, Re6, Ra5, Bb1, Sf4, Sb5, Pe3, Pd3] black: [Kf5, Qe5, Rd5, Bd8, Sc3, Ph7, Pd6] stipulation: "#2" solution: | "1.Qe1-f1 ! threat: 2.Qf1-h3 # 1...Rd5*d3 2.Sb5*d6 # 1...Qe5*f4 2.Sb5-d4 # 1...Qe5-g7 2.Sb5*d6 # 1...Qe5*e3 2.Sb5*d6 # 1...Qe5*e6 2.Sf4-g6 #" keywords: - Transferred mates --- authors: - Mansfield, Comins source: Suomen Shakki date: 1983 algebraic: white: [Kh1, Qg2, Rc8, Rb2, Sc5, Sa4, Pd5, Pa3] black: [Kc4, Bh8, Bc6, Sa2, Pf5, Pd4, Pd3, Pa7] stipulation: "#2" solution: | "1.Qg2-g8 ! threat: 2.d5*c6 # 1...Sa2-c3 2.Rb2-b4 # 1...Sa2-b4 2.Rb2*b4 # 1...Bc6*a4 2.Sc5*a4 # 1...Bc6-b5 2.d5-d6 # 1...Bc6*d5 + 2.Sc5-e4 # 1...Bc6-e8 2.Sc5-d7 # 1...Bc6-d7 2.Sc5*d7 # 1...Bc6-a8 2.Sc5-b7 # 1...Bc6-b7 2.Sc5*b7 #" keywords: - Threat reversal - Black correction - Urania --- authors: - Mansfield, Comins source: Canadian Chess Chat date: 1983 algebraic: white: [Ke1, Qa2, Rd2, Rb3, Bg2, Bd6, Sd7, Sd4, Pe5, Pc5, Pc2, Pb2] black: [Kd5, Qe4, Rc4, Ba3, Sg4, Sa8, Pe2] stipulation: "#2" solution: | "1.Rb3-f3 ! zugzwang. 1...Ba3*b2 {(Ba~ )} 2.Qa2*a8 # 1...Qe4*c2 2.Rf3-d3 # 1...Qe4-d3 2.Rf3*d3 # 1...Qe4*f3 2.Bg2*f3 # 1...Qe4-h7 {(Q~ )} 2.Rf3-f5 # 1...Qe4-e3 2.Rf3*e3 # 1...Qe4*d4 2.Rf3-f6 # 1...Qe4-f4 2.Rf3*f4 # 1...Sg4-e3 {(Sg~ )} 2.Sd7-f6 # 1...Sa8-b6 {(Sa~ )} 2.Sd7*b6 #" keywords: - Active sacrifice - Black correction - Transferred mates --- authors: - Mansfield, Comins source: Die Schwalbe date: 1984 algebraic: white: [Kh8, Qd7, Rc6, Ra3, Ba8, Sf5, Sd3, Ph3] black: [Kf3, Re1, Be4, Sg2, Sb5, Ph4, Pg3, Pf2, Pe2] stipulation: "#2" solution: | "1.Qd7-f7 ! threat: 2.Qf7-h5 # 1...Sg2-f4 2.Sd3*e1 # 1...Sg2-e3 2.Sf5*h4 # 1...Be4*d3 2.Rc6-c4 # 1...Be4*f5 2.Rc6-e6 # 1...Be4*c6 2.Ba8*c6 # 1...Be4-d5 2.Qf7*d5 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Complete Mansfield/III date: 1999 algebraic: white: [Ka6, Qf8, Rg3, Rd6, Bc6, Sg6, Sd8, Ph5, Ph4] black: [Kf5, Qa4, Rf6, Ra3, Bh8, Sc4, Ph6, Pb5, Pa5, Pa2] stipulation: "#2" solution: | "1.Rd6-d4 ! threat: 2.Rd4-f4 # 1...Ra3-f3 2.Rg3*f3 # 1...Sc4-b2 2.Qf8-c5 # 1...Sc4-d2 2.Qf8-c5 # 1...Sc4-e3 2.Rg3-f3 # 1...Sc4-e5 2.Sg6-e7 # 1...Sc4-d6 2.Bc6-d7 # 1...Sc4-b6 2.Bc6-e4 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Complete Mansfield/III date: 1999 algebraic: white: [Kc8, Qf7, Rh4, Rb3, Be8, Bc7, Sd7, Pd3] black: [Ka4, Qh3, Rg6, Bg4, Sf8, Sc2, Pg3, Pb7, Pa5, Pa3] stipulation: "#2" solution: | "1.Rb3-b5 ! threat: 2.Qf7-b3 # 1...Sc2-a1 2.Qf7-c4 # 1...Sc2-d4 2.Qf7-c4 # 1...Sc2-b4 2.Rb5*a5 # 1...Ka4*b5 2.Qf7-c4 # 1...Rg6-e6 2.Sd7-c5 # 1...Sf8-e6 2.Sd7-b6 #" keywords: - Flight giving key - Rudenko --- authors: - Mansfield, Comins source: Complete Mansfield/III date: 1999 algebraic: white: [Kh3, Qa6, Rc2, Bf6, Sa8, Pd5, Pd3, Pa2] black: [Kc5, Qb3, Sc3, Pa4, Pa3] stipulation: "#2" solution: | "1.Bf6-e5 ! zugzwang. 1...Qb3*c2 {(Q~ )} 2.Qa6-c4 # 1...Qb3*a2 2.Qa6-a5 # 1...Qb3*d5 2.Qa6-b6 # 1...Qb3-b5 2.Qa6-d6 # 1...Qb3-b4 2.Qa6-c6 # 1...Kc5-b4 2.Be5-d6 # 1...Kc5*d5 2.Qa6-d6 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Complete Mansfield/III date: 1999 algebraic: white: [Ka1, Qe2, Rc6, Rb3, Bg8, Bf8] black: [Kc4, Rd3, Rc5, Ba4, Pe3, Pd5, Pc3, Pb6, Pb5, Pb4] stipulation: "#2" solution: | "1.Rc6-e6 ! zugzwang. 1...c3-c2 2.Qe2*d3 # 1...Ba4*b3 2.Re6-e4 # 1...Kc4*b3 2.Qe2-a2 # 1...Kc4-d4 2.Qe2-g4 # 1...Rc5-c8 2.Rb3*b4 # 1...Rc5-c7 2.Rb3*b4 # 1...Rc5-c6 2.Rb3*b4 # 1...d5-d4 2.Re6-c6 #" keywords: - Changed mates - Switchback --- authors: - Mansfield, Comins source: Complete Mansfield/III date: 1999 algebraic: white: [Kc8, Qg1, Re4, Re2, Bh2, Bf3, Sc4, Pc3, Pb6] black: [Kd5, Qg2, Rd2, Bb8, Ph3, Pg5, Pc6] stipulation: "#2" solution: | "1.Sc4-d6 ! threat: 2.c3-c4 # 1...Rd2-c2 2.Qg1-d4 # 1...Rd2-d4 2.Qg1*d4 # 1...Qg2*g1 2.Re4-c4 # 1...Qg2-f2 2.Qg1*g5 # 1...Qg2-g4 + 2.Re4*g4 # 1...Qg2-g3 2.Re2*d2 # 1...Qg2*h2 2.Re4-e6 # 1...c6-c5 2.Re4-d4 # 1...Qg2*e2 2.Re4*e2 # 2.Qg1*g5 #" --- authors: - Mansfield, Comins source: Complete Mansfield/III date: 1999 algebraic: white: [Kh4, Qd1, Re1, Rd8, Be5, Bd7, Sf2, Sa5, Pc3, Pb2] black: [Kd5, Qa2, Rb8, Bg8, Bd4, Sg1, Pd6, Pc5, Pa3] stipulation: "#2" solution: | "1.Qd1-h5 ! threat: 2.Be5*d4 # 1...Sg1-h3 2.Qh5-f3 # 1...Sg1-f3 + 2.Qh5*f3 # 1...Qa2-b1 2.c3-c4 # 1...Bd4*c3 2.Be5*c3 # 1...Bd4*f2 + 2.Be5-g3 # 1...Bd4-e3 2.Be5-f4 # 1...Bd4*e5 2.Re1-d1 # 1...d6*e5 2.Bd7-c8 # 1...Bg8-e6 2.Bd7-c6 # 1...Bg8-f7 2.Qh5*f7 # 1...Bg8-h7 2.Qh5-f7 #" --- authors: - Mansfield, Comins source: Complete Mansfield/III date: 1999 algebraic: white: [Kf1, Qf2, Re7, Bg8, Se5, Sc7, Pg4] black: [Ke4, Qg7, Ra5, Bg5, Pf4, Pd3, Pa4] stipulation: "#2" solution: | "1...Ra5*e5 2.Bg8-d5 # 1...Ra5-d5 2.Bg8*d5 # 1...Qg7*e5 2.Bg8-h7 # 1.Sc7-e6 ! threat: 2.Qf2-d4 # 1...Ra5*e5 2.Se6-c5 # 1...Ra5-d5 2.Qf2-e1 # 1...Qg7*e5 2.Se6*g5 #" keywords: - 2 flights giving key - Changed mates --- authors: - Mansfield, Comins source: Complete Mansfield/III date: 1999 algebraic: white: [Ke7, Qb7, Rg5, Rd4, Pe3, Pd5] black: [Kc5, Ra2, Bh7, Bd2, Pg6, Pf7, Pd7, Pc6] stipulation: "#2" solution: | "1.Ke7-f6 ! threat: 2.d5-d6 # 1...Bd2*e3 2.Qb7-b4 # 1...Kc5-d6 2.d5*c6 # 1...c6*d5 2.Rg5*d5 # 1...d7-d6 2.Qb7*c6 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Complete Mansfield/III date: 1999 algebraic: white: [Kg2, Qf3, Rf8, Ra5, Be3, Bb3, Sh7, Sc4, Ph5, Pf4, Pd6] black: [Kf5, Qd5, Bc2, Sg4, Se4, Ph6, Pf6, Pe6] stipulation: "#2" solution: | "1...Ng5 2.fxg5# 1...Nxd6 2.Nxd6# 1...Qe5/Ne5 2.fxe5# 1...Nxe3+ 2.Nxe3# 1.Bxc2?? (2.Qxe4#/Bxe4#) 1...Nh2 2.Rxf6#/Bxe4# 1...Nf2 2.Rxf6# 1...Nxe3+ 2.Nxe3# 1...Ne5 2.Rxf6#/fxe5# but 1...e5! 1.Nxf6! (2.Qxg4#) 1...Bd1 2.Qxe4# 1...Nh2/Ngf2 2.Nxe4# 1...Ngxf6 2.Qh3# 1...Nxe3+ 2.Nxe3# 1...Ne5 2.fxe5# 1...Nef2/Ng3/Nd2/Nc3/Nc5 2.Nxg4# 1...Nexf6 2.Bxc2# 1...Ng5 2.fxg5# 1...Nxd6 2.Nxd6#" keywords: - Active sacrifice - Black correction --- authors: - Mansfield, Comins source: Complete Mansfield/III date: 1999 algebraic: white: [Ka6, Qe1, Rf3, Rd2, Be3, Pg4, Pc6, Pc4] black: [Ke5, Qh4, Se8, Sb1, Pg3, Pe6, Pe4, Pc7, Pa3] stipulation: "#2" solution: | "1.Rd2-d3 ! threat: 2.Qe1-a5 # 1...Sb1-d2 2.Qe1-a1 # 1...Sb1-c3 2.Qe1*c3 # 1...e4*f3 2.Be3-g5 # 1...e4*d3 2.Be3-c5 # 1...Qh4-d8 2.Qe1*g3 # 1...Qh4-e7 2.Qe1*g3 # 1...Se8-d6 2.Be3-d4 # 1...Se8-f6 2.Be3-f4 #" keywords: - B2 --- authors: - Mansfield, Comins source: Complete Mansfield/III date: 1999 algebraic: white: [Ke8, Qc8, Rf3, Rd4, Ba8, Se4, Ph5, Ph3, Pf4, Pc5] black: [Kf5, Se6] stipulation: "#2" solution: | "1.Ke8-d7 ? zugzwang. 1...Se6*f4 2.Kd7-d6 # 1...Se6-g7 2.Qc8-f8 # but 1...Se6-g5 ! 1.Rd4-d7 ! threat: 2.Rd7-f7 # 1...Se6*f4 2.Rd7-e7 # 1...Se6-g7 + 2.Rd7*g7 # 1...Se6-c7 + 2.Rd7*c7 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: Sunday Times date: 1934 algebraic: white: [Ka4, Rh8, Re3, Bf2, Sc4, Pb5, Pa6] black: [Ka7, Ra2, Ba1, Sg1, Pe6, Pe5, Pa3] stipulation: "#2" solution: | "1.Sc4-b2 ! 1...Ba1*b2 2.Re3-c3 # 1...Sg1-h3 2.Re3*h3 # 1...Sg1-f3 2.Re3*f3 # 1...Sg1-e2 2.Re3*e2 # 1...Ra2*b2 2.Re3-e2 # 1...a3*b2 + 2.Re3-a3 # 1...e5-e4 2.Re3*e4 # 1...Ka7-b6 2.Re3-c3 #" keywords: - Defences on same square - Flight giving key - Grimshaw - Novotny --- authors: - Mansfield, Comins source: The Daily News date: 1926 algebraic: white: [Kc1, Qe3, Rf8, Bd5, Sf5, Ph4] black: [Kg6, Qh7, Rg2, Rf2, Bh2, Bd1, Sh5, Sc8, Ph6, Pg7, Pe5, Pe2] stipulation: "#2" solution: | "1.Qe3-e4 ! threat: 2.Sf5-e7 # 1...Rf2*f5 2.Qe4*f5 # 1...Bh2-f4 + 2.Sf5-e3 # 1...Sh5-f4 2.Sf5-g3 # 1...Sh5-g3 2.Qe4-g4 # 1...Sh5-f6 2.Bd5-f7 #" --- authors: - Mansfield, Comins source: The Morning Post date: 1926 algebraic: white: [Kh1, Qh7, Rh4, Rd6, Bh8, Bd7, Sc6, Pg3, Pd2, Pc2] black: [Ke4, Rg6, Rf3, Bh5, Bf2, Sg4, Sf4, Ph2] stipulation: "#2" solution: | "1.Sc6-d4 ! threat: 2.Bd7-f5 # 1...Bf2*d4 2.Rd6*d4 # 1...Sf4-d3 2.Bd7-c6 # 1...Sf4-e2 2.Bd7-c6 # 1...Sf4-g2 2.Bd7-c6 # 1...Sf4-h3 2.Bd7-c6 # 1...Sf4-e6 2.Bd7-c6 # 1...Sf4-d5 2.Rd6-e6 # 1...Sg4-e3 2.d2-d3 # 1...Sg4-h6 2.Bd7-c6 # 1...Sg4-f6 2.Qh7-e7 #" keywords: - Active sacrifice - Black correction --- authors: - Mansfield, Comins source: The Problemist date: 1926 algebraic: white: [Ka6, Qa4, Rh7, Rf6, Bf7, Sg8, Ph5] black: [Kf8, Rg2, Rb1, Bd3, Sb5, Pe4, Pd6, Pc7, Pa3] stipulation: "#2" solution: | "1...Sb5-c3 + {(S~ )} 2.Bf7-c4 # 1.Ka6-b7 ! threat: 2.Qa4-a8 # 1...Sb5-c3 + {(S~ )} 2.Bf7-b3 # 1...Rg2*g8 2.Bf7-g6 #" --- authors: - Mansfield, Comins source: T.T. British Chess Federation date: 1927 algebraic: white: [Kh2, Qg2, Re6, Bf8, Ba4, Sd8, Sd6, Pg5, Pc7, Pb6] black: [Kd7, Qa8, Rc6, Rb5, Sc1, Sb8, Ph6, Pb4] stipulation: "#2" solution: | "1...Rb5-a5 2.c7-c8=Q # 1...Rb5*b6 2.c7-c8=Q # 1...Rb5*g5 2.c7-c8=Q # 1...Rb5-f5 2.c7-c8=Q # 1...Rb5-e5 2.c7-c8=Q # 1...Rb5-d5 2.c7-c8=Q # 1...Rb5-c5 2.c7-c8=Q # 1...Rc6*b6 2.c7-c8=Q # 1.Qg2-h3 ! threat: 2.Re6-e5 # 1...Rb5*b6 2.c7-c8=Q # 1...Rb5*g5 2.c7-c8=Q # 1...Rb5-f5 2.c7-c8=Q # 1...Rc6-c2 + 2.Re6-e2 # 1...Rc6-c3 2.Re6-e3 # 1...Rc6-c4 2.Re6-e4 # 1...Rc6*b6 2.c7-c8=Q # 1...Rc6*c7 2.Re6-e8 # 1...Rc6*d6 2.Re6-e7 # 1...h6*g5 2.Qh3-h7 #" --- authors: - Mansfield, Comins source: De Problemist date: 1927 algebraic: white: [Kh5, Qg2, Rd6, Bg1, Bd5, Sa3, Pf3] black: [Kd3, Qb5, Sc1, Pc3, Pb3, Pa4] stipulation: "#2" solution: | "1...Qb5*d5 + 2.Rd6*d5 # 1.Kh5-g6 ? but 1...c3-c2 ! 1.Kh5-h4 ? but 1...c3-c2 ! 1.Kh5-h6 ? but 1...c3-c2 ! 1.Sa3*b5 ? but 1...Sc1-e2 ! 1.Qg2-f2 ? threat: 2.Qf2-e3 # but 1...Qb5-c5 ! 1.Sa3-c4 ! threat: 2.Sc4-e5 # 1...Sc1-e2 2.Qg2-g6 # 1...c3-c2 2.Qg2-d2 # 1...Qb5*c4 2.Bd5-e4 # 1...Qb5-e8 + 2.Bd5-f7 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: Falkirk Herald Meredith Ty. date: 1927 algebraic: white: [Kh1, Qf6, Rf3, Be2, Ph3, Pf5, Pe3] black: [Kh5, Qe4, Pf7, Pe5, Pd4] stipulation: "#2" solution: | "1.h3-h4 ! threat: 2.Qf6-g5 # 1...Qe4-b1 + 2.Rf3-f1 # 1...Qe4*f3 + 2.Be2*f3 # 1...Qe4*f5 2.Rf3*f5 # 1...Qe4*e3 2.Rf3*e3 # 1...Qe4*h4 + 2.Rf3-h3 # 1...Qe4-g4 2.Qf6-h8 # 1...Qe4-f4 2.Rf3*f4 #" --- authors: - Mansfield, Comins source: L'Echiquier date: 1927 algebraic: white: [Kg8, Qg4, Rh2, Ra1, Bh6, Bh5, Se3, Sc5, Pf3] black: [Ke2, Qf2, Bf1, Be1, Sg2, Sg1, Ph4, Pb5] stipulation: "#2" solution: | "1.Qg4-e4 ! threat: 2.Qe4-d3 # 1...Ke2-d2 2.Qe4-c2 # 1...Qf2-g3 + 2.Se3-g4 # 1...Qf2*e3 2.Qe4*e3 # 1...Qf2*f3 2.Se3-d1 # 1...Sg2-f4 2.Se3-c4 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Magyar Sakkvilág source-id: 393 date: 1927-09-01 algebraic: white: [Ka3, Qh7, Rh4, Re7, Be6, Bb2, Sg1, Sf1, Pe2] black: [Ke4, Qg4, Bh3, Bf4, Sg2, Sf5, Ph5, Pf6, Pc5] stipulation: "#2" solution: | "1.Sg1*h3 ? threat: 2.Sh3-f2 # but 1...Qg4*e2 ! 1.Re7-e8 ! threat: 2.Qh7-b7 # 1...Sg2-e3 2.Sf1-d2 # 1...Bf4-c1 {(B~ )} 2.Qh7*f5 # 1...Qg4*e2 2.Be6-c4 # 1...Qg4-f3 + 2.Be6-b3 # 1...Qg4-g3 + 2.Be6-b3 # 1...Qg4-g7 2.Be6-f7 #" keywords: - Transferred mates --- authors: - Mansfield, Comins source: South Wales News date: 1927 algebraic: white: [Kd2, Qa4, Rc5, Be3, Se7, Sd5, Pf6] black: [Kh5, Qd7, Be8, Ph6, Ph3, Pc7] stipulation: "#2" solution: | "1.Be3-f2 ! threat: 2.Qa4-h4 # 1...Qd7*a4 2.Sd5-e3 # 1...Qd7-g4 2.Sd5-f4 # 1...Qd7*d5 + 2.Rc5*d5 # 1...Qd7*e7 2.Sd5*e7 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Tijdschrift vd NSB date: 1927 algebraic: white: [Kh7, Qh1, Rb7, Bg3, Ba6, Sb6, Pe4] black: [Kc6, Qb1, Sc1, Ph4, Pg4, Pd4, Pc5, Pc4, Pa7, Pa5] stipulation: "#2" solution: | "1.Rb7-g7 ! threat: 2.Rg7-g6 # 1...Qb1*b6 2.e4-e5 # 1...h4*g3 2.Qh1-h6 # 1...a7*b6 2.Rg7-c7 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Britannia date: 1928 algebraic: white: [Kg2, Qg8, Rd5, Bh6, Sh2, Sd3, Pf5, Pc2] black: [Ke4, Qb3, Bf2, Bc8, Sh1, Sb5, Pd7] stipulation: "#2" solution: | "1.Kg2-h3 ! threat: 2.Qg8-g2 # 1...Sh1-g3 2.Sd3*f2 # 1...Bf2-g3 2.Sd3-c5 # 1...Qb3*d5 2.Qg8-g4 # 1...Qb3*d3 + 2.c2*d3 # 1...Sb5-d4 2.Rd5-e5 #" --- authors: - Mansfield, Comins source: Brixton Free Press date: 1928 algebraic: white: [Kh5, Qf5, Rh4, Rh3, Sg4, Sb3, Pd6, Pb2, Pa3] black: [Kc4, Qd1, Rc1, Rb7, Se1, Pg5, Pd7, Pb6] stipulation: "#2" solution: | "1.a3-a4 ! threat: 2.Qf5-b5 # 1...Qd1*g4 + 2.Rh4*g4 # 1...Qd1*b3 2.Sg4-e3 # 1...Qd1-d5 2.Sg4-e5 # 1...b6-b5 2.Qf5-c5 #" keywords: - Flight giving key - B2 --- authors: - Mansfield, Comins source: De Problemist date: 1928 algebraic: white: [Ke8, Qh6, Rd3, Rb8, Bg3, Bc4, Sf7, Sb3, Pe3] black: [Kc6, Qg6, Bh4, Bh1, Sh8, Sa1, Pf5, Pc7, Pa6] stipulation: "#2" solution: | "1.Rd3-d7 ? threat: 2.Rd7*c7 # but 1...f5-f4 ! 1.Bc4*a6 ? threat: 2.Ba6-b5 # but 1...Sa1*b3 ! 1.Rd3-c3 ! threat: 2.Bc4-e6 # 1...Sa1*b3 2.Bc4*b3 # 1...Bh1-d5 2.Bc4-b5 # 1...Bh4-e7 2.Qh6*h1 # 1...Bh4-f6 2.Qh6*h1 # 1...Qg6-d6 2.Sf7-e5 # 1...Qg6-f6 2.Sf7-d8 #" keywords: - Schiffmann --- authors: - Mansfield, Comins source: Deaf Times date: 1928 algebraic: white: [Kb3, Rh8, Ra1, Bg2, Be3, Se4, Sa6, Pc6] black: [Ka8, Rf8, Rd8, Pc3, Pb4] stipulation: "#2" solution: | "1.c6-c7 ! threat: 2.Sa6-c5 # 1...Ka8-b7 2.Se4-d6 # 1...Rd8-d1 2.Se4-d2 # 1...Rd8-d2 2.Se4*d2 # 1...Rd8-d6 2.Se4*d6 # 1...Rf8-f1 2.Se4-f2 # 1...Rf8-f2 2.Se4*f2 # 1...Rf8-f6 2.Se4*f6 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Devon and Exeter Gazette date: 1928 algebraic: white: [Kd7, Qf2, Rf1, Rc4, Bb3, Sg6, Sf8, Pf6, Pe3, Pd6] black: [Kf7, Qa2, Rh8, Ba1, Sb1, Ph6, Pc3] stipulation: "#2" solution: | "1.Qf2-g2 ! threat: 2.Qg2-d5 # 1...Qa2-a8 2.Rc4-c6 # 1...Qa2-a7 + 2.Rc4-c7 # 1...Qa2-a5 2.Rc4-c5 # 1...Qa2-a4 + 2.Rc4*a4 # 1...Qa2*g2 2.Rc4-e4 # 1...Qa2-f2 2.Rc4-f4 # 1...Qa2-d2 2.Rc4-d4 # 1...Rh8*f8 2.Sg6-e5 #" --- authors: - Mansfield, Comins source: Evening News (Cardiff) date: 1928 algebraic: white: [Kh5, Qb1, Rc4, Bd5, Bd2, Sa4] black: [Kb5, Bb3, Sa1, Pf5, Pd6, Pa6] stipulation: "#2" solution: | "1.Qb1-d3 ! threat: 2.Bd5-c6 # 1...Bb3-d1 + 2.Rc4-g4 # 1...Bb3*c4 2.Qd3*c4 # 1...Bb3*a4 2.Rc4-c6 # 1...a6-a5 2.Rc4-b4 #" --- authors: - Mansfield, Comins source: The Grantham Journal date: 1928 algebraic: white: [Kg7, Qf6, Rh8, Rf7, Ba7, Sg8, Ph6, Pa6] black: [Kc8, Rc4, Rb4, Bd4, Pe6] stipulation: "#2" solution: | "1...Bd4*f6 + 2.Sg8*f6 # 1.Qf6-e5 ! threat: 2.Sg8-f6 # 1...Bd4-b6 2.Qe5-b8 # 1...Bd4-c5 2.Qe5-c7 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Budapest Chess Club date: 1929 distinction: Comm. algebraic: white: [Ka5, Qa6, Rh4, Rb5, Bg4, Sc7, Sc6] black: [Kc4, Rd3, Bh8, Ba2, Sf5, Sa4, Pe3, Pc3, Pc2] stipulation: "#2" solution: | "1.Sc6-d4 ! threat: 2.Rb5-d5 # 1...Rd3*d4 2.Bg4-e2 # 1...Sa4-c5 2.Rb5-b4 # 1...Kc4*d4 2.Bg4*f5 # 1...Sf5*d4 2.Bg4-e6 # 1...Sf5-d6 2.Bg4-e6 # 1...Bh8*d4 2.Qa6-e6 #" keywords: - Active sacrifice - Defences on same square - Flight giving key --- authors: - Mansfield, Comins source: Daily Telegraph date: 1929 algebraic: white: [Kc3, Qf8, Re7, Bc8, Bc1, Sf3, Se5, Pf6, Pf4, Pc4] black: [Ke4, Qh3, Bh7, Sg2, Ph4, Ph2, Pg4, Pc5] stipulation: "#2" solution: | "1.Qf8-h6 ! threat: 2.Qh6*h7 # 1...Sg2*f4 2.Qh6*f4 # 1...Sg2-e3 2.Sf3-d2 # 1...Qh3*f3 + 2.Se5-d3 # 1...g4-g3 2.Sf3-g5 # 1...g4*f3 2.Se5-g4 # 1...Bh7-f5 2.Bc8-b7 # 1...Bh7-g6 2.Qh6*g6 # 1...Bh7-g8 2.Qh6-g6 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Revista Română de Şah date: 1929 algebraic: white: [Kg3, Qf2, Rd5, Ba2, Se3, Sd6, Pg5, Pf4, Pd2] black: [Ke6, Qb5, Bh7, Pg6, Pe7, Pd7, Pc6] stipulation: "#2" solution: | "1.Qf2-e2 ! threat: 2.Qe2-g4 # 1...Qb5*e2 2.Rd5-d3 # 1...Qb5-d3 2.Rd5*d3 # 1...Qb5-b1 2.Se3-c2 # 1...Qb5*d5 2.Se3-f5 # 1...c6*d5 2.Se3-c4 # 1...e7*d6 2.Rd5-e5 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: Skakbladet date: 1929 algebraic: white: [Kh1, Qg3, Rc7, Bg4, Bb4, Sg2, Sc6, Pe2, Pd3, Pc3] black: [Kd5, Bf8, Be4, Sd7, Sa5, Pe7, Pe3] stipulation: "#2" solution: | "1.Bg4-f5 ! zugzwang. 1...Be4*d3 2.Sg2*e3 # 1...Be4*g2 + 2.Qg3*g2 # 1...Be4-f3 2.Qg3*f3 # 1...Be4*f5 2.Sg2-f4 # 1...Sa5-b3 {(Sa~ )} 2.c3-c4 # 1...Sa5-c4 2.d3*e4 # 1...Sa5*c6 2.Rc7*d7 # 1...Sd7-b6 {(Sd~ )} 2.Qg3-e5 # 1...e7-e5 2.Qg3-g8 # 1...e7-e6 2.Bf5*e4 # 1...Bf8-h6 {(Bf~ )} 2.Sc6*e7 #" keywords: - Active sacrifice - Black correction - Rudenko --- authors: - Mansfield, Comins source: Tijdschrift vd NSB date: 1929 distinction: 6th Comm. algebraic: white: [Ka3, Qa4, Rh6, Bc8, Bc5, Sg6, Se8, Ph4, Pg3, Pd4, Pc6] black: [Kf5, Qd7, Be6, Pg4, Pe7, Pe4, Pd3] stipulation: "#2" solution: | "1.Qa4-b5 ! zugzwang. 1...d3-d2 2.Qb5-f1 # 1...e4-e3 2.Qb5*d3 # 1...Be6-a2 {(B~ )} 2.Sg6*e7 # 1...Qd7*c6 2.Sg6*e7 # 1...Qd7*e8 2.Bc5*e7 # 1...Qd7*c8 2.Sg6*e7 # 1...Qd7*d4 2.Bc5*d4 # 1...Qd7-d5 2.Sg6*e7 # 1...Qd7-d6 2.Bc5*d6 # 1...Qd7-a7 + 2.Bc5*a7 # 1...Qd7-b7 2.Bc5-b6 # 1...Qd7-c7 2.Bc5-d6 # 1...Qd7-d8 2.Bc5-d6 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Wembley Enterprise date: 1929 algebraic: white: [Kf8, Qf3, Rf5, Bb1, Sd6] black: [Kg6, Qc2, Rh6, Bc1, Se2, Ph7, Ph5, Pe5, Pc3, Pb2] stipulation: "#2" solution: | "1...Qc2*f5 + 2.Qf3*f5 # 1...Se2-f4 2.Qf3-g3 # 1.Qf3-b7 ? threat: 2.Qb7-g7 # 2.Qb7-f7 # but 1...Qc2*f5 + ! 1.Sd6-c8 ? threat: 2.Sc8-e7 # but 1...Bc1-g5 ! 1.Qf3-c6 ! threat: 2.Qc6-e8 # 1...Qc2*f5 + 2.Sd6-f7 # 1...Qc2-a4 2.Sd6-b5 # 1...Qc2-b3 2.Sd6-c4 #" --- authors: - Mansfield, Comins source: The Western Morning News date: 1929 algebraic: white: [Ke3, Qa8, Rg4, Rd3, Be8, Se4, Sb7, Pe2, Pc5, Pb5] black: [Ka4, Qh4, Bd1, Ba7, Ph3, Pc7, Pa3] stipulation: "#2" solution: | "1.Qa8-d8 ! threat: 2.Qd8-d4 # 1...Bd1-b3 2.Se4-c3 # 1...Qh4-e1 2.Se4-d2 # 1...Qh4-f2 + 2.Se4*f2 # 1...Qh4-g3 + 2.Se4*g3 # 1...Qh4*d8 2.Se4-d6 # 1...Qh4-f6 2.Se4*f6 # 1...Qh4-g5 + 2.Se4*g5 # 1...Qh4-h8 2.Se4-f6 # 1...Qh4-h6 + 2.Se4-g5 # 1...Ba7*c5 + 2.Se4*c5 # 1...c7-c6 2.Qd8-a5 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: The Australasian Chess Review date: 1931 algebraic: white: [Ka4, Qb7, Rg5, Rc4, Bb5, Sh5, Sg4, Pe2, Pd7] black: [Ke4, Qh7, Re8, Sd5, Ph6, Pe5, Pd4, Pb4, Pa5] stipulation: "#2" solution: | "1.Rc4-c6 ! threat: 2.Bb5-d3 # 1...d4-d3 2.Rc6-c4 # 1...Sd5-c3 + 2.Rc6*c3 # 1...Sd5-e3 2.Sg4-f6 # 1...Sd5-f4 2.Sh5-f6 # 1...Sd5-f6 2.Rc6*f6 # 1...Sd5-e7 2.Rg5*e5 # 1...Sd5-c7 2.Rc6*c7 # 1...Sd5-b6 + 2.Rc6*b6 #" keywords: - Mates on same square - Black correction - Switchback --- authors: - Mansfield, Comins source: BCPS 013. Ty. date: 1931 algebraic: white: [Kg7, Qg8, Re4, Rb6, Bg2, Ph7, Pc3, Pb4] black: [Kd5, Re6, Ba1, Sb8, Sb2, Pd7, Pd6] stipulation: "#2" solution: | "1...Nc4 2.Re3#/Re2#/Re1#/Rxe6# 1...Nc6 2.Rb5# 1...Na6 2.Qa8# 1.Kf8?? zz 1...Nc4 2.Re3#/Re2#/Re1#/Rxe6# 1...Nd1/Nd3/Na4 2.c4# 1...Nc6 2.Rb5# but 1...Na6! 1.h8Q?? (2.Qh5#) 1...Nc4 2.Re3#/Re2#/Re1#/Rxe6# 1...Nc6 2.Rb5# but 1...Nd3! 1.h8R?? (2.Rh5#) 1...Nc4 2.Re3#/Re2#/Re1#/Rxe6# 1...Nc6 2.Rb5# but 1...Nd3! 1.Kf7! zz 1...Nc4 2.Rxe6# 1...Nd1/Nd3/Na4 2.c4# 1...Nc6 2.Rb5# 1...Na6 2.Qa8# 1...Re5 2.Rd4# 1...Rxe4/Rf6+ 2.Kf6# 1...Re7+ 2.Kxe7# 1...Re8 2.Kxe8# 1...Rg6 2.Kxg6# 1...Rh6 2.Qg5#" keywords: - Black correction --- authors: - Mansfield, Comins source: The Brisbane Courier source-id: 3546 date: 1933-03-04 algebraic: white: [Ke3, Qg2, Rc1, Bb2, Se4, Sc8] black: [Kd5, Qe6, Sf7, Sa6, Pg3, Pd7, Pd3] stipulation: "#2" solution: | "1.Bb2-a1 ! threat: 2.Qg2-a2 # 1...d3-d2 2.Qg2*d2 # 1...Sa6-b4 2.Rc1-c5 # 1...Sa6-c5 2.Rc1*c5 # 1...Qe6*e4 + 2.Qg2*e4 # 1...Qe6-b6 + 2.Se4-c5 # 1...Qe6-h6 + 2.Se4-g5 # 1...Sf7-d6 2.Sc8-b6 # 1...Sf7-e5 2.Se4-f6 # 1...Qe6-c6 2.Se4-g5 # 2.Se4-c5 #" --- authors: - Mansfield, Comins source: Dzień Polski date: 1932 algebraic: white: [Kf6, Qb1, Ra2, Bh5, Bg1, Sg2, Sf3] black: [Ke2, Rf2, Bd2, Pg3, Pf7, Pd4, Pc4, Pc3] stipulation: "#2" solution: | "1.Ra2-c2 ! zugzwang. 1...Ke2-d3 2.Rc2*d2 # 1...Rf2-f1 2.Sg2-f4 # 1...Rf2*f3 + 2.Sg2-f4 # 1...Rf2*g2 2.Sf3-e5 # 1...d4-d3 2.Qb1-e1 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: La Settimana Enigmistica date: 1932 algebraic: white: [Ke7, Qa2, Rh4, Re8, Bc4, Sf7, Sb3, Pg5, Pg4, Pg3, Pf2, Pc2, Pa5] black: [Ke4, Re3, Be6, Se2, Pf3, Pc3] stipulation: "#2" solution: | "1.Qa2-a4 ! zugzwang. 1...Se2-c1 2.Bc4*e6 # 1...Se2-g1 2.Bc4*e6 # 1...Se2*g3 2.Bc4*e6 # 1...Se2-f4 2.Bc4*e6 # 1...Se2-d4 2.Sb3-c5 # 1...Re3-d3 2.c2*d3 # 1...Be6*c4 2.Ke7-d6 # 1...Be6-d5 2.Bc4-d3 # 1...Be6*g4 2.Ke7-f6 # 1...Be6-f5 2.Qa4-c6 # 1...Be6*f7 2.Ke7*f7 # 1...Be6-c8 2.Qa4-c6 # 1...Be6-d7 2.Ke7*d7 #" keywords: - Black correction - Reversal --- authors: - Mansfield, Comins source: Morning Post date: 1932 algebraic: white: [Ka4, Qc2, Bg8, Bf8, Se5, Sd7, Pf4, Pe6] black: [Kd5, Be8, Bd2, Pd4, Pc3] stipulation: "#2" solution: | "1.Qc2-g6 ! threat: 2.Qg6-g2 # 1...d4-d3 2.Qg6*d3 # 1...Be8*d7 + 2.e6*d7 # 1...Be8*g6 2.Sd7-f6 # 1...Be8-f7 2.Sd7-b6 #" keywords: - Active sacrifice - Rudenko --- authors: - Mansfield, Comins source: The Morning Post date: 1932 algebraic: white: [Ka7, Qb7, Re8, Rd1, Bb4, Sh3, Sd4, Pf4, Pb2] black: [Ke3, Rg4, Re4, Pg3, Pf5] stipulation: "#2" solution: | "1.Bb4-e7 ! threat: 2.Qb7-b3 # 1...Re4*d4 2.Be7-c5 # 1...Re4*e7 2.Re8*e7 # 2.Qb7*e7 # 1...Re4-e6 2.Qb7-f3 # 1...Re4-e5 2.Qb7-f3 # 1...Re4*f4 2.Be7-g5 #" --- authors: - Mansfield, Comins source: The Morning Post date: 1932 algebraic: white: [Kb4, Qh2, Re3, Bc3, Ba6, Sf2, Pe2] black: [Kf1, Qg4, Ph5, Pe4] stipulation: "#2" solution: | "1.Re3-f3 ! threat: 2.e2-e3 # 1...e4-e3 + 2.Sf2*g4 # 1...e4*f3 + 2.e2-e4 # 1...Qg4*f3 2.e2*f3 # 1...Qg4-f5 2.Qh2-h1 # 1...Qg4-g8 2.Sf2*e4 # 1...Qg4-g6 2.Sf2*e4 # 1...Qg4-g5 2.Sf2*e4 # 1...Qg4-c8 2.Qh2-h1 # 2.Sf2*e4 # 1...Qg4-d7 2.Qh2-h1 # 2.Sf2*e4 # 1...Qg4-e6 2.Qh2-h1 # 2.Sf2*e4 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: Evening Standard date: 1933 algebraic: white: [Ke7, Qh7, Rd4, Bb1, Sg6, Sd3, Ph4] black: [Kf5, Rg3, Bh2, Sh5, Ph6, Pg2, Pf7, Pf6, Pc4] stipulation: "#2" solution: | "1.Ke7-d6 ! threat: 2.Sg6-e7 # 1...Rg3*d3 + 2.Sg6-e5 # 1...Rg3-e3 + 2.Sg6-e5 # 1...Rg3-f3 + 2.Sg6-e5 # 1...Rg3*g6 + 2.Sd3-e5 # 1...Rg3-g5 + 2.Sd3-e5 # 1...Rg3-g4 + 2.Sd3-f4 # 1...Rg3-h3 + 2.Sg6-e5 # 1...Sh5-f4 2.Rd4*f4 # 1...f7*g6 2.Qh7-d7 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Morning Post date: 1933 algebraic: white: [Kh7, Qe2, Rc8, Be3, Sc7, Pb3, Pa2] black: [Kc3, Rb8, Rb7, Be1, Pb4] stipulation: "#2" solution: | "1...Rb7*c7 + 2.Rc8*c7 # 1.Be3-h6 ! threat: 2.Bh6-g7 # 1...Be1-h4 2.Qe2-d2 # 1...Be1-g3 2.Qe2-d2 # 1...Be1-f2 2.Qe2-d2 # 1...Be1-d2 2.Qe2*d2 # 1...Kc3-d4 2.Qe2-e3 # 1...Rb7-b5 2.Sc7*b5 # 1...Rb7-b6 2.Sc7-b5 #" keywords: - Flight giving key - Transferred mates --- authors: - Mansfield, Comins source: Morning Post date: 1933 algebraic: white: [Kh7, Qe2, Rd8, Bc5, Sg3, Sd7, Pd4] black: [Kd5, Qa7, Ra6, Ba1, Sa8, Pg6, Pc6] stipulation: "#2" solution: | "1.Qe2-f1 ! threat: 2.Qf1-f7 # 1...Kd5-e6 2.Qf1-c4 # 1...Qa7*c5 2.Sd7*c5 # 1...Sa8-c7 2.Sd7-f8 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Newark Evening News date: 1933 algebraic: white: [Kc8, Qf5, Re3, Ra8, Bh4, Sg8, Pg6] black: [Ke8, Qe5, Bh1, Bd4, Sg5, Pg7, Pc7, Pb7] stipulation: "#2" solution: | "1.Kc8-b8 ! threat: 2.Qf5-c8 # 1...Bd4-a7 + 2.Kb8*a7 # 1...Qe5-e6 2.Kb8*c7 # 1...Sg5-f7 2.Qf5*f7 # 1...Sg5-e6 2.Qf5-f7 # 1...c7-c5 + 2.Kb8-a7 # 1...c7-c6 + 2.Kb8*b7 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Social Chess Quarterly date: 1933 algebraic: white: [Kh6, Qa1, Re2, Ra4, Ba2, Sg7, Sb4, Pg2, Pe3] black: [Ke4, Bg8, Sc2, Pg4, Pe5, Pb5] stipulation: "#2" solution: | "1.Sg7-h5 ! threat: 2.Sh5-g3 # 1...Sc2*e3 2.Ba2-b1 # 1...Sc2*b4 2.Qa1-b1 # 1...Ke4-f5 2.e3-e4 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Świat Szachowy source-id: 5-6/781 date: 1933-05 algebraic: white: [Ka5, Qd8, Rh3, Rc1, Bg8, Ba3, Se4, Pd5, Pc3] black: [Kc4, Rd4, Sa6, Pc7, Pa2] stipulation: "#2" solution: | "1.Qd8-h4 ! threat: 2.Se4-d2 # 1...Kc4-b3 2.c3*d4 # 1...Rd4*d5 + 2.Se4-c5 # 1...Rd4*e4 2.d5-d6 # 1...Sa6-b4 2.c3*b4 #" --- authors: - Mansfield, Comins source: Dagens Nyheder date: 1934 algebraic: white: [Kg6, Qa7, Rh1, Be8, Sh2, Se7, Pe6, Pd2] black: [Kh8, Rc1, Rb4, Bb2, Sa1, Pg5, Pf5, Pe5, Pb3] stipulation: "#2" solution: | "1.Qa7-b8 ! zugzwang. 1...Sa1-c2 2.Be8-b5 # 1...Rc1-b1 2.Be8-b5 # 1...Rc1-c8 {(Rc~c )} 2.Sh2-g4 # 1...Rc1-c3 2.Qb8*e5 # 1...Rc1-g1 {(Rc~1 )} 2.Be8-b5 # 1...Bb2-d4 2.Sh2-f1 # 1...Bb2-c3 2.Be8-b5 # 1...Bb2-a3 2.Qb8*e5 # 1...Rb4-b7 {(Rb~b )} 2.Sh2-f1 # 1...Rb4-g4 {(Rb~4 )} 2.Be8-c6 # 1...Rb4-d4 2.Qb8*e5 # 1...e5-e4 2.Sh2-f1 # 1...f5-f4 2.Sh2-f1 # 1...g5-g4 2.Sh2-f1 #" keywords: - Black correction - Grimshaw --- authors: - Mansfield, Comins source: Empire Chess Quaterly Review date: 1934 algebraic: white: [Kb5, Qb7, Rh4, Re1, Be7, Pg2, Pf4, Pe3, Pc2, Pb4] black: [Ke4, Sd5, Pf6, Pf5, Pc3] stipulation: "#2" solution: | "1.Kb5-c6 ! zugzwang. 1...Sd5*b4 + 2.Qb7*b4 # 1...Sd5*e3 2.Kc6-c5 # 1...Sd5*f4 2.Kc6-d6 # 1...Sd5*e7 + 2.Qb7*e7 # 1...Sd5-c7 2.Kc6*c7 # 1...Sd5-b6 2.Kc6*b6 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Il Problema date: 1934 algebraic: white: [Kc2, Qc4, Bd1, Sb1, Sa6] black: [Ka4, Be1, Sd3, Sa2, Pe4, Pd2, Pc6, Pc5, Pb4, Pa5] stipulation: "#2" solution: | "1.Sa6*b4 ! zugzwang. 1...Be1-h4 2.Kc2*d2 # 1...Be1-g3 2.Kc2*d2 # 1...Be1-f2 2.Kc2*d2 # 1...Sa2-c1 2.Sb4*d3 # 1...Sa2*b4 + 2.Kc2-c3 # 1...Sd3-b2 2.Kc2*b2 # 1...Sd3-c1 2.Sb4*a2 # 1...Sd3-f2 2.Sb4*a2 # 1...Sd3-e5 2.Kc2-b2 # 1...Sd3*b4 + 2.Kc2-b2 # 1...e4-e3 2.Kc2*d3 # 1...a5*b4 2.Qc4-a6 # 1...c5*b4 2.Qc4*c6 # 1...Sd3-f4 2.Sb4*a2 # 2.Kc2-b2 # 1...Sa2-c3 2.Sb4*d3 # 2.Kc2*c3 #" keywords: - Active sacrifice - Defences on same square --- authors: - Mansfield, Comins source: La Settimana Enigmistica date: 1934 algebraic: white: [Kg6, Qd1, Rh4, Rc8, Bh8, Bg8, Sg4, Se6, Pd6, Pc5, Pa4, Pa2] black: [Kc4, Re4, Sf1, Pd7, Pc3] stipulation: "#2" solution: | "1...Re4-d4 2.Qd1*d4 # 1...Re4*g4 + 2.Rh4*g4 # 1.Qd1-b1 ! threat: 2.Qb1*e4 # 1...Sf1-g3 2.Sg4-e3 # 1...Sf1-d2 2.Sg4-e3 # 1...c3-c2 2.Qb1-b3 # 1...Kc4-d5 2.Se6-f4 # 1...Re4-e1 2.Sg4-e3 # 1...Re4-e2 2.Sg4-e3 # 1...Re4-e3 2.Sg4*e3 # 1...Re4-d4 2.Se6*d4 # 1...Re4*e6 + 2.Sg4-f6 # 1...Re4-e5 2.Sg4-e3 # 1...Re4*g4 + 2.Se6-g5 # 1...Re4-f4 2.Se6*f4 #" keywords: - Flight giving and taking key - Changed mates --- authors: - Mansfield, Comins source: La Settimana Enigmistica date: 1934 algebraic: white: [Kd2, Qd4, Rd5, Rc1, Bf4, Bc2, Sf8, Se6, Pb4] black: [Kc6, Qa2, Rd6, Bb8, Sa7, Pb7, Pb6] stipulation: "#2" solution: | "1...Qa2*d5 2.Bc2-a4 # 1...b6-b5 2.Qd4-c5 # 1.Qd4-e4 ! zugzwang. 1...Qa2*d5 + 2.Bc2-d3 # 1...b6-b5 2.Rd5*d6 # 1...Qa2-c4 2.Qe4*c4 # 1...Qa2-b3 2.Bc2*b3 # 1...Qa2-a6 2.Bc2-a4 # 1...Qa2-a5 2.Bc2-a4 # 1...Qa2*c2 + 2.Rc1*c2 # 1...Qa2-b2 2.Qe4-c4 # 1...Rd6*d5 + 2.Se6-d4 # 1...Rd6-d7 2.Se6-d4 # 1...Rd6*e6 2.Rd5-c5 # 1...Sa7-b5 2.Rd5*d6 # 1...Sa7-c8 2.b4-b5 # 1...Bb8-c7 2.Se6-d4 # 1...Rd6-d8 2.Se6-d4 # 2.Se6*d8 # 1...Qa2-a1 2.Qe4-c4 # 2.Bc2-a4 # 1...Qa2-a4 2.Qe4-c4 # 2.Bc2*a4 # 2.Bc2-b3 # 1...Qa2-a3 2.Qe4-c4 # 2.Bc2-a4 # 1...Qa2-b1 2.Qe4-c4 # 2.Bc2*b1 # 2.Bc2-a4 #" keywords: - Black correction - Provoked check - Selfpinning - Unpinning comments: - 31541 --- authors: - Mansfield, Comins source: Morning Post date: 1934 algebraic: white: [Kf4, Rc3, Ra7, Bf8, Be6, Sc7, Sc4, Pa5] black: [Kc6, Qa4, Ra3] stipulation: "#2" solution: | "1.Sc7-b5 ! threat: 2.Sb5-d4 # 1...Qa4-d1 2.Sc4*a3 # 1...Qa4*b5 2.Sc4-e5 # 1...Kc6*b5 2.Be6-d7 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Probleme date: 1934 algebraic: white: [Kb6, Qe5, Ra1, Bc7, Ba2, Pf6, Pe6, Pb2] black: [Ka8, Qh1, Rd3, Ph2, Pc6, Pc5, Pb4] stipulation: "#2" solution: | "1.Qe5-d5 ! zugzwang. 1...Qh1*d5 2.Ba2-b3 # 1...Qh1-e4 2.Ba2-b3 # 1...Qh1-f3 2.Ba2-b3 # 1...Qh1-g2 2.Ba2-b3 # 1...Qh1*a1 {(Q~1)} 2.Qd5*c6 # 1...Rd3-d1 {(Rd~d)} 2.Ba2-b1 # 1...Rd3-a3 {(Rd~3)} 2.Qd5-d8 # 1...b4-b3 2.Ba2-b1 # 1...c5-c4 2.Qd5-a5 # 1...c6*d5 2.Ba2*d5 # 1...Rd3-f3 2.Qd5*c6 # 2.Qd5-d8 #" keywords: - Active sacrifice - Defences on same square --- authors: - Mansfield, Comins source: The Problemist date: 1934 algebraic: white: [Kh6, Qc1, Rf2, Rb5, Bg8, Sf6, Pg5, Pf4, Pe2] black: [Kf5, Qh2, Ra5, Bb8, Ba4, Sc7, Ph3, Pe5, Pd5] stipulation: "#2" solution: | "1.Qc1-c3 ! threat: 2.Qc3*e5 # 1...Qh2*f4 2.Qc3*h3 # 1...d5-d4 2.Qc3-d3 # 1...e5*f4 2.e2-e4 # 1...Sc7-a6 {(S~ )} 2.Qc3-c8 # 1...Sc7-e6 2.Bg8-h7 #" keywords: - Black correction --- authors: - Mansfield, Comins source: The Grantham Journal date: 1935 algebraic: white: [Kd4, Qb8, Bf1, Sc4, Pe4, Pc5, Pb7, Pb3] black: [Ka6, Rf8, Bh4, Pa7, Pa5] stipulation: "#2" solution: | "1.Qb8-c8 ! threat: 2.Qc8-c6 # 1...Bh4-f2 + 2.Sc4-e3 # 1...Bh4-d8 2.b7-b8=Q # 1...Bh4-f6 + 2.Sc4-e5 # 1...Ka6-b5 2.b7-b8=Q # 1...Rf8-f6 2.b7-b8=Q # 1...Rf8*c8 2.Sc4-d6 # 1...Rf8-d8 + 2.Sc4-d6 #" --- authors: - Mansfield, Comins source: La Settimana Enigmistica date: 1935 algebraic: white: [Kh7, Qf1, Rh4, Re8, Bh8, Bg8, Sf5, Sb1, Pc7, Pc2, Pa3] black: [Kc4, Qe2, Rd5, Bc5, Se5, Se4, Pf3, Pb5] stipulation: "#2" solution: | "1.c7-c8=Q ! threat: 2.Rh4*e4 # 1...b5-b4 2.Qc8-a6 # 1...Se5-d3 2.Sf5-d6 # 1...Se5-g4 2.Re8*e4 # 1...Se5-f7 2.Sf5-e3 # 1...Se5-c6 2.Sb1-d2 #" --- authors: - Mansfield, Comins source: Lo Scacchista di Roma date: 1935 algebraic: white: [Kf2, Qe8, Rb3, Bh8, Ba2, Sb2, Pd4, Pd2, Pb4] black: [Kd5, Rc7, Rb6, Bh7, Pd6, Pb5] stipulation: "#2" solution: | "1.Sb2-d1 ! threat: 2.Sd1-e3 # 1...Rc7-c3 2.Rb3*c3 # 1...Rc7-g7 2.Rb3-d3 # 1...Rc7-f7 + 2.Rb3-f3 # 1...Rc7-e7 2.Rb3-e3 # 1...Rc7-d7 2.Rb3-c3 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: The Morning Post date: 1935 algebraic: white: [Ka5, Qb1, Bf4, Be8, Se6, Pf5] black: [Kd5, Rh7, Bb7, Pg4, Pf6, Pc4, Pc3] stipulation: "#2" solution: | "1.Be8-h5 ! threat: 2.Qb1-h1 # 1...g4-g3 2.Bh5-f3 # 1...Kd5-c6 2.Qb1-b5 # 1...Rh7*h5 2.Qb1*b7 #" keywords: - Active sacrifice - Flight giving key --- authors: - Mansfield, Comins source: The Morning Post date: 1935 algebraic: white: [Ka1, Qb8, Rd3, Rb1, Bf7, Pe5, Pa7] black: [Kc5, Qh6, Sc7, Ph7, Ph5, Pa5] stipulation: "#2" solution: | "1.Bf7-g6 ! threat: 2.Qb8*c7 # 1...Kc5-c6 2.Qb8-b6 # 1...Qh6-g7 2.Rb1-c1 # 1...Qh6*g6 2.Rb1-c1 # 1...Sc7-a6 {(S~ )} 2.Qb8-b5 #" keywords: - Active sacrifice - Flight giving key --- authors: - Mansfield, Comins source: O Democrata date: 1935 algebraic: white: [Kf3, Re5, Bf6, Bb5, Sg5, Sa4] black: [Kd4, Rb6, Be3, Bc8, Ph4, Pf4, Pd7, Pd3, Pb7] stipulation: "#2" solution: | "1.Kf3-g4 ! threat: 2.Sg5-f3 # 1...Rb6*b5 2.Re5-c5 # 1...d7-d5 + 2.Re5-e6 # 1...d7-d6 + 2.Re5-f5 #" --- authors: - Mansfield, Comins source: Skakbladet date: 1935 algebraic: white: [Kh6, Qf6, Re7, Ra4, Bf4, Ba6, Sc7, Sb4, Pe5] black: [Ke4, Qd8, Rd1, Rc1, Be8, Sh1, Pf3, Pc6, Pc3, Pb6] stipulation: "#2" solution: | "1.Bf4-g5 ! threat: 2.Qf6-f4 # 1...Rd1-d6 2.Sb4-d5 # 1...Ke4-d4 2.Sb4-d3 # 1...Qd8-d2 2.Sb4-d3 # 1...Qd8-d6 2.e5*d6 #" --- authors: - Mansfield, Comins source: The Sunday Times date: 1935 algebraic: white: [Kc2, Qd1, Re2, Ra5, Be7, Sd2, Pd5, Pd3] black: [Ke5, Qe3, Rg3, Pf5, Pf4, Pc3] stipulation: "#2" solution: | "1.Qd1-g1 ! zugzwang. 1...c3*d2 2.Qg1-a1 # 1...Qe3*e2 2.d3-d4 # 1...Qe3-e4 2.Sd2-c4 # 1...Rg3*g1 2.Sd2-f3 # 1...Rg3-g2 2.Sd2-f3 # 1...Rg3-g8 2.Sd2-f3 # 1...Rg3-g6 2.Sd2-f3 # 1...Rg3-g5 2.Sd2-f3 # 1...Rg3-g4 2.Sd2-f3 # 1...Rg3-h3 2.Qg1-g7 # 1...f4-f3 2.Qg1*e3 # 1...Ke5-d4 2.Be7-f6 # 1...Rg3-f3 2.Sd2*f3 # 2.Qg1-g7 # 1...Rg3-g7 2.Sd2-f3 # 2.Qg1*g7 #" --- authors: - Mansfield, Comins source: Bournemouth Evening Echo date: 1960 algebraic: white: [Kb8, Qf8, Re5, Sf6, Pf7] black: [Kg6, Qh6, Sg8, Pg7, Pe6] stipulation: "#2" solution: | "1.Qf8-e8 ! threat: 2.f7*g8=S # 2.f7-f8=Q # 2.f7-f8=R # 1...Sg8*f6 2.f7-f8=S # 1...Kg6*f6 2.Qe8*e6 # 1...g7*f6 2.f7*g8=Q #" keywords: - Defences on same square --- authors: - Mansfield, Comins source: Chess date: 1960 algebraic: white: [Ka4, Qa7, Re6, Rd1, Bh8, Bh7, Sf2, Sb2, Pc6] black: [Kd5, Rg4, Bg8, Sd4, Pa5] stipulation: "#2" solution: | "1.Sf2-d3 ! threat: 2.Qa7-d7 # 1...Sd4-b3 + {(S~ )} 2.Sd3-f4 # 1...Sd4*e6 + 2.Sd3-b4 # 1...Rg4-g7 2.Sd3-f4 # 1...Bg8*e6 2.Qa7-c5 #" keywords: - Black correction --- authors: - Mansfield, Comins source: L'Italia Scacchistica date: 1960 algebraic: white: [Kf7, Qh3, Rc2, Rb1, Bc3, Sd3, Sa1, Pf6, Pe4, Pa3] black: [Kc4, Sc5, Sb2, Pc6, Pa6, Pa5, Pa4] stipulation: "#2" solution: | "1.Qh3-h5 ! zugzwang. 1...Sb2-d1 2.Sd3-e5 # 1...Sb2*d3 2.Bc3-e5 # 1...Kc4*d3 2.Qh5-e2 # 1...Kc4-b5 2.Qh5*c5 # 1...Sc5-b3 2.Sd3*b2 # 1...Sc5*d3 2.Bc3*b2 # 1...Sc5*e4 2.Sd3*b2 # 1...Sc5-e6 2.Sd3*b2 # 1...Sc5-d7 2.Sd3*b2 # 1...Sc5-b7 2.Sd3*b2 #" keywords: - Defences on same square - Black correction - Flight giving key --- authors: - Mansfield, Comins source: Schach-Echo date: 1960 algebraic: white: [Kc4, Qd6, Rh1, Ra1, Se1, Sc1, Pf3, Pb3] black: [Kd1, Rg3, Ra3, Pg4, Pd7, Pd2, Pa4] stipulation: "#2" solution: | "1.Kc4-d3 ! threat: 2.Se1-g2 # 2.Sc1-a2 # 1...d2*e1=S + 2.Kd3-c3 # 1...d2*c1=S + 2.Kd3-e3 # 1...Ra3*b3 + 2.Sc1*b3 # 1...Rg3*f3 + 2.Se1*f3 #" --- authors: - Mansfield, Comins source: Skakbladet date: 1960 algebraic: white: [Ka8, Qb6, Rh3, Rc7, Bf3, Be1, Sa1, Pf4, Pf2] black: [Kd3, Be4, Sb4, Sa7, Pg6, Pf7, Pf5, Pe2, Pd4, Pb7] stipulation: "#2" solution: | "1.Qb6*b7 ! threat: 2.Bf3*e4 # 1...Sb4-d5 2.Qb7-b1 # 1...Sb4-c6 2.Qb7-b3 # 1...Be4*b7 + 2.Bf3*b7 # 1...Be4-c6 2.Bf3-d5 # 1...Be4-d5 2.Bf3*d5 # 1...Sa7-c6 2.Qb7-b5 # 1...Be4*f3 2.Qb7*f3 # 2.Rh3*f3 #" keywords: - Active sacrifice - Defences on same square --- authors: - Mansfield, Comins source: The Problemist date: 1960 algebraic: white: [Kg3, Qh4, Rd1, Bh6, Bc8, Sg4, Se5, Ph2, Pd4, Pc4] black: [Ke4, Qg7, Sh8, Ph7, Pc5] stipulation: "#2" solution: | "1...Qg7*e5 + 2.Sg4*e5 # 1...Qg7*g4 + 2.Qh4*g4 # 1.Qh4-e7 ! zugzwang. 1...Qg7*e5 + 2.Qe7*e5 # 1...Qg7*g4 + 2.Se5*g4 # 1...Qg7-f6 2.Sg4*f6 # 1...Qg7*h6 2.Se5-g6 # 1...Qg7-f8 2.Qe7-b7 # 1...Qg7-g5 2.Qe7-b7 # 1...Qg7-g6 2.Se5*g6 # 1...Qg7*e7 2.Sg4-f2 # 1...Qg7-f7 2.Se5*f7 # 1...Qg7-g8 2.Se5-f7 # 1...c5*d4 2.Rd1-e1 # 1...Sh8-f7 2.Qe7-b7 # 1...Sh8-g6 2.Sg4-f2 #" keywords: - Active sacrifice - Black correction - Changed mates --- authors: - Mansfield, Comins source: Time & Tide date: 1960 algebraic: white: [Kg2, Rd5, Bh8, Be6, Sc3, Sa6, Pe2] black: [Kc4, Qb7, Rb3, Pg6, Pb6, Pa7] stipulation: "#2" solution: | "1.Kg2-h2 ! threat: 2.Rd5-c5 # 1...Qb7*a6 2.Rd5-b5 # 1...Qb7*d5 2.Be6*d5 # 1...Qb7-b8 + 2.Rd5-d6 # 1...Qb7-h7 + 2.Rd5-h5 # 1...Qb7-g7 2.Rd5-d3 # 1...Qb7-c7 + 2.Rd5-d6 #" --- authors: - Mansfield, Comins source: American Chess Bulletin date: 1961 algebraic: white: [Ka1, Rh6, Rc1, Bg3, Be4, Sf3, Se2, Pf4, Pb2] black: [Kh1, Qd5, Bd1, Ph5, Pg2, Pe6, Pa2] stipulation: "#2" solution: | "1.Sf3-e5 ? threat: 2.Rh6*h5 # but 1...Qd5-d8 ! 1.Sf3-d4 ? threat: 2.Rc1*d1 # but 1...Qd5-a5 ! 1.Sf3-d2 ? threat: 2.Rc1*d1 # but 1...Qd5-c5 ! 1.Sf3-g5 ! threat: 2.Rh6*h5 # 1...Qd5*g5 2.Rc1*d1 # 1...Qd5-f5 2.Rc1*d1 # 1...h5-h4 2.Rh6*h4 #" keywords: - Pseudo Le Grand --- authors: - Mansfield, Comins source: Arbejder-Skak date: 1961 algebraic: white: [Kd1, Qb7, Rd3, Rb3, Pe5, Pd5, Pb5] black: [Kc4, Rc5, Ph6] stipulation: "#2" solution: | "1...Rc5*b5 2.Qb7*b5 # 1...Rc5-c8 2.Qb7*c8 # 1...Rc5-c6 2.Qb7*c6 # 1...Rc5*d5 2.Qb7*d5 # 1.Qb7-e7 ! threat: 2.Qe7-h4 # 1...Rc5*b5 2.Rb3-c3 # 1...Rc5-c8 2.Qe7-b4 # 1...Rc5-c6 2.Qe7-b4 # 1...Rc5*d5 2.Qe7-b4 # 1...Rc5-c7 2.Qe7-b4 # 2.Qe7*c7 #" keywords: - Black correction - Changed mates --- authors: - Mansfield, Comins source: Busmen's Chess Review date: 1961 algebraic: white: [Ka8, Qg3, Rg6, Bb7, Ph4] black: [Kf5, Bb1, Ph6, Ph5, Pg7, Pe5, Pd4] stipulation: "#2" solution: | "1.Rg6-c6 ! threat: 2.Qg3-f3 # 1...Bb1-e4 2.Bb7-c8 # 1...e5-e4 2.Bb7-c8 # 1...Kf5-e4 2.Rc6-f6 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Manchester Guardian date: 1961 algebraic: white: [Kf1, Qa8, Rf3, Bh1, Sd7, Sb5, Pg3, Pd2] black: [Ke4, Rd5, Ph4, Pf7, Pe6, Pd6, Pc5, Pc4] stipulation: "#2" solution: | "1.Qa8-a1 ? threat: 2.Sd7-f6 # 2.Qa1-e1 # but 1...Rd5-f5 ! 1.Qa8-a3 ? threat: 2.Rf3-f2 # 2.Rf3*f7 # 2.Rf3-f6 # 2.Rf3-f4 # 2.Qa3-e3 # but 1...c4-c3 ! 1.Qa8-h8 ! threat: 2.Qh8*h4 # 2.Sb5-c3 # 1...Rd5-d3 2.Rf3-f4 # 1...Rd5-e5 2.Sd7-f6 #" --- authors: - Mansfield, Comins source: Manchester Guardian date: 1961 algebraic: white: [Ka2, Qb3, Rg4, Bg6, Sg8] black: [Kf8, Qh8, Rh6, Rf3, Sg1, Pg7, Pf2, Pb5] stipulation: "#2" solution: | "1.Rg4-c4 ! threat: 2.Rc4-c8 # 1...Rf3-c3 2.Rc4-f4 # 1...Rf3-d3 2.Rc4-f4 # 1...Rf3-e3 2.Rc4-f4 # 1...b5*c4 2.Qb3-b8 # 1...Qh8*g8 2.Qb3-b4 #" keywords: - Active sacrifice - Flight giving key --- authors: - Mansfield, Comins source: Sunday Times date: 1961 algebraic: white: [Kf1, Qc8, Rf2, Bh2, Bc6, Sh4, Pg5] black: [Ke6, Re7, Sf8, Sd7, Pg7] stipulation: "#2" solution: | "1.Bc6-f3 ! threat: 2.Qc8-c4 # 1...Ke6-f7 2.Bf3-d5 # 1...Re7-e8 2.Qc8*e8 # 1...Re7-f7 2.Rf2-e2 #" keywords: - Black correction - Flight giving key --- authors: - Mansfield, Comins source: Busmen's Chess Review date: 1962 algebraic: white: [Ke8, Qh5, Rd6, Bh6, Bc8, Sf3, Sd3, Pf5, Pd5, Pc2] black: [Ke4, Sg5, Ph7, Pf7, Pf6] stipulation: "#2" solution: | "1.Rd6-d7 ! zugzwang. 1...Ke4*f5 2.Rd7-e7 # 1...Ke4-e3 2.Rd7-e7 # 1...Sg5*f3 2.Qh5-g4 # 1...Sg5-h3 2.Sd3-c5 # 1...Sg5-e6 2.Sd3-f2 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Die Schwalbe date: 1962 algebraic: white: [Ke2, Qc3, Re6, Ra5, Ba3, Sd3, Sc2, Pg4, Pf5, Pb6, Pb3, Pa6] black: [Kd5, Bb5, Sd6, Sc4, Pe5] stipulation: "#2" solution: | "1...Sc4*a3 {(Sc~ )} 2.Re6*e5 # 1...Kd5-e4 2.Qc3-d4 # 1...Kd5-c6 2.Re6*d6 # 1...e5-e4 2.Sc2-b4 # 1.Qc3-b4 ! zugzwang. 1...Sc4*a3 {(Sc~ )} 2.Re6*d6 # 1...Kd5-e4 2.Re6*e5 # 1...Kd5-c6 2.Qb4*b5 # 1...e5-e4 2.Qb4-c5 # 1...Sd6*f5 2.Qb4*c4 # 1...Sd6-f7 2.Qb4*c4 # 1...Sd6-e8 2.Qb4*c4 # 1...Sd6-c8 2.Qb4*c4 # 1...Sd6-b7 2.Qb4*c4 # 1...Sd6-e4 2.Qb4*c4 # 2.b3*c4 #" keywords: - Mutate - Stocchi --- authors: - Mansfield, Comins source: Die Schwalbe date: 1962 algebraic: white: [Kc1, Qa2, Rh3, Rh1, Sh5, Sd1, Pd2, Pc5, Pc2, Pa3] black: [Kg2, Bb7, Bb6, Sg6, Sc7, Pf5, Pa4] stipulation: "#2" solution: | "1.c2-c4 ? threat: 2.d2-d4 # 2.d2-d3 # but 1...Bb6-a5 ! 1.c2-c3 ? threat: 2.d2-d4 # 2.d2-d3 # but 1...Bb7-d5 ! 1.d2-d4 ? threat: 2.c2-c4 # 2.c2-c3 # but 1...Bb7-e4 ! 1.d2-d3 ? threat: 2.c2-c4 # 2.c2-c3 # but 1...Bb6*c5 ! 1.Qa2-f7 ! threat: 2.Qf7*g6 # 1...Sg6-e5 {(Sg~ )} 2.Sh5-f4 # 1...Bb7-f3 2.Rh3-h2 # 1...Sc7-e6 2.Qf7*b7 #" --- authors: - Mansfield, Comins source: Europe Échecs date: 1962 algebraic: white: [Kg5, Qh7, Rg6, Bh5, Ba3, Sb3, Sa4, Ph6, Pf4, Pa2] black: [Kc2, Rb1, Ba6, Sc1, Ph2, Pc4] stipulation: "#2" solution: | "1...Sc1-e2 2.Rg6-d6 # 1...Sc1*a2 2.Rg6-b6 # 1...Kc2-d3 2.Rg6-e6 # 1.Kg5-f6 ! threat: 2.Rg6-g2 # 1...Sc1-e2 2.Rg6-g1 # 1...Sc1*a2 2.Rg6-g3 # 1...Kc2-d3 2.Rg6-g3 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: Evening News date: 1962 algebraic: white: [Ka2, Qg1, Rg6, Bg4, Pf4, Pe6, Pc2, Pb3] black: [Kh4, Qa8, Pg3, Pf5, Pe7, Pa3] stipulation: "#2" solution: | "1.Qg1-a1 ! zugzwang. 1...g3-g2 2.Qa1-e1 # 1...f5*g4 2.Rg6-h6 # 1...Qa8-h1 {(Q~ )} 2.Qa1-h8 # 2.Qa1*h1 #" --- authors: - Mansfield, Comins source: | Match: Great Britain - Israel date: 1962 distinction: 22nd Place algebraic: white: [Kg1, Rg6, Re1, Bh7, Bd2, Ph2, Pf4, Pe5, Pe3, Pd4, Pb3] black: [Ke4, Pg2] stipulation: "#2" solution: | "1...Ke4-d3 2.Rg6*g2 # 1.Bd2-c1 ! zugzwang. 1...Ke4-d3 2.Rg6-c6 # 1...Ke4-f3 2.Rg6-g3 # 1...Ke4-f5 2.e3-e4 # 1...Ke4-d5 2.Rg6-d6 #" keywords: - Mutate - King star flight --- authors: - Mansfield, Comins source: L'Italia Scacchistica date: 1962 algebraic: white: [Kg4, Qc7, Bb6, Ba8, Se3, Sb7, Ph4, Pg3, Pe6, Pc4] black: [Ke4, Qh8, Ra2, Bh7, Pg6, Pg5, Pd3] stipulation: "#2" solution: | "1...Rb2/Rc2/Rd2/Re2/Rf2/Rg2/Rh2 2.Nd8# 1...Qg7/Qf6/Qc3/Qb2/Qa1/Bg8 2.Na5# 1...Qe5 2.Nd6# 1...gxh4 2.Qf4# 1.Nc5+?? 1...Kd4 2.Ne4#/Na4# but 1...Kxe3! 1.Nf5?? (2.Nc5#) but 1...gxf5+! 1.Nc2?? (2.Nc5#) 1...Rxc2 2.Nd8# but 1...dxc2! 1.Qe5+?? 1...Qxe5 2.Nd6# but 1...Kxe5! 1.Nd1! zz 1...d2/Ra1/Ra3/Ra4/Ra5/Ra6/Ra7/Rxa8 2.Nf2# 1...Qg8/Qf8/Qe8/Qd8/Qc8/Qb8/Qxa8 2.Nc3# 1...Qg7/Qf6/Qb2/Qa1/Bg8 2.Na5# 1...Qe5 2.Nd6# 1...Qd4 2.Nc5# 1...Qc3 2.Nxc3#/Na5# 1...Rb2/Rc2/Rd2/Re2/Rg2/Rh2 2.Nd8# 1...Rf2 2.Nd8#/Nxf2# 1...gxh4 2.Qf4# 1.Qc5! (2.Qd5#/Nd6#) 1...d2 2.Qd5# 1...Ra5/Qd8/Qe5 2.Nd6# 1...Qd4 2.Qxd4#" keywords: - Black correction - Cooked - B2 --- authors: - Mansfield, Comins source: Magyar Sakkélet source-id: 2952 date: 1962 algebraic: white: [Kh4, Qf4, Rc8, Rc2, Ba5, Sc5, Sc3, Pe2, Pd4] black: [Kc4, Rd5, Rd1, Bg6, Sb2, Ph5, Ph3, Pf7, Pe3, Pa6] stipulation: "#2" solution: | "1.Qf4-b8 ! threat: 2.Qb8-b4 # 1...Rd1*d4 + 2.Sc3-e4 # 1...Sb2-d3 2.Sc3-b5 # 1...Kc4*d4 2.Sc5-b3 # 1...Rd5*d4 + 2.Sc5-e4 #" keywords: - Defences on same square - Flight giving key --- authors: - Mansfield, Comins source: Postsjakk date: 1962 algebraic: white: [Kb4, Qd1, Rh2, Bf2, Sd3, Sa4, Pg3, Pe4, Pc3] black: [Ka2, Qh8, Pf5, Pa3] stipulation: "#2" solution: | "1.Kb4-a5 ! threat: 2.Sd3-b4 # 1...Qh8*c3 + 2.Sa4*c3 # 1...Qh8-e5 + 2.Bf2-c5 # 1...Qh8-a8 + 2.Bf2-a7 # 1...Qh8-b8 2.Bf2-b6 # 1...Qh8-d8 + 2.Bf2-b6 # 1...Qh8-d4 2.Bf2*d4 # 2.Bf2-e3 # 1...Qh8-f8 2.Bf2-e1 # 2.Bf2-g1 # 2.Bf2-a7 # 2.Bf2-b6 # 2.Bf2-c5 # 2.Bf2-d4 # 2.Bf2-e3 #" keywords: - Transferred mates --- authors: - Mansfield, Comins source: Šahs/Шахматы (Rīga) source-id: 22/1431 date: 1962 algebraic: white: [Kd7, Qa3, Rg4, Rd2, Bh7, Sf5, Sd4, Ph3, Pf2, Pd5] black: [Ke4, Rh1, Rd3, Sf4, Pg5] stipulation: "#2" solution: | "1.Sd4-f3 ! threat: 2.Qa3*d3 # 1...Rd3*d2 2.Sf5-e7 # 1...Rd3*a3 2.Sf5-h4 # 1...Rd3-b3 2.Sf5-h4 # 1...Rd3-c3 2.Sf5-h4 # 1...Rd3*d5 + 2.Sf5-d6 # 1...Rd3*f3 2.Qa3-e7 # 1...Ke4*f3 2.Sf5-d4 # 1...Ke4*d5 2.Sf5-e3 # 1...Rd3-d4 2.Sf5-e7 # 2.Rd2*d4 # 1...Rd3-e3 2.Sf5-h4 # 2.Qa3*e3 #" keywords: - Black correction - Flight giving and taking key - Battery play --- authors: - Mansfield, Comins source: Themes 64 source-id: 27/887 date: 1962-07 algebraic: white: [Kh8, Qc4, Rg8, Rd5, Bh5, Bd4, Sg6, Pg5, Pf4, Pe7] black: [Kf7, Qa4, Re6, Bb4, Bb1, Sh7, Sb7, Pc7, Pa2] stipulation: "#2" solution: | "1.Bd4-f6 ! threat: 2.Sg6-e5 # 1...Bb1*g6 2.Bh5*g6 # 1...Re6-e1 2.Rd5-e5 # 1...Re6-e2 2.Rd5-e5 # 1...Re6-e3 2.Rd5-e5 # 1...Re6-e4 2.Sg6-f8 # 1...Re6-e5 2.Rd5*e5 # 1...Re6-a6 2.Rd5-d6 # 1...Re6-b6 2.Rd5-d6 # 1...Re6-c6 2.e7-e8=Q # 1...Re6-d6 2.Rd5*d6 # 1...Re6*e7 2.Rd5-d7 # 1...Re6*f6 2.Rd5-f5 # 1...Sh7*f6 2.Rg8-f8 # 1...Sh7*g5 2.Rg8-f8 #" keywords: - Active sacrifice - Black correction --- authors: - Mansfield, Comins source: Correspondence Chess date: 1963 algebraic: white: [Kf6, Qd5, Re4, Bb6, Sc6, Pb2] black: [Ka4, Rb4, Pc7, Pa6, Pa5] stipulation: "#2" solution: | "1.Bb6-d4 ! zugzwang. 1...Rb4*b2 2.Bd4*b2 # 1...Rb4-b3 2.Qd5*a5 # 1...Rb4-b8 2.Bd4-b6 # 1...Rb4-b7 2.Bd4-b6 # 1...Rb4-b6 2.Bd4*b6 # 1...Rb4-b5 2.Qd5-a2 # 1...Rb4*d4 2.Re4*d4 # 1...Rb4-c4 2.Qd5*c4 #" keywords: - Black correction - Rudenko - Switchback --- authors: - Mansfield, Comins source: Deutsche Schachzeitung date: 1963 algebraic: white: [Kg8, Re2, Ra6, Bd8, Bc8, Se3, Sb6, Pd7] black: [Ke6, Qa2, Bh5, Pg6, Pg5, Pf5, Pf4, Pd4, Pc5, Pb5] stipulation: "#2" solution: | "1.Bd8-c7 ! threat: 2.d7-d8=Q # 1...Qa2-d5 2.Sb6*d5 # 1...Qa2*a6 2.Se3-g4 # 1...Ke6-e7 + 2.Se3-d5 # 1...Ke6-f6 + 2.Sb6-d5 #" keywords: - Flight giving and taking key --- authors: - Mansfield, Comins source: Evening News date: 1963 algebraic: white: [Kg1, Qa8, Rg5, Rg2, Bd3, Sc4, Pg4, Pg3, Pd5] black: [Kf3, Sf6, Sf1, Pf7, Pd6, Pd2, Pc2, Pb3] stipulation: "#2" solution: | "1.Qa8-a1 ! threat: 2.Qa1*f6 # 2.Qa1*f1 # 1...Sf1*g3 2.Rg2-f2 # 1...Sf1-e3 2.Sc4*d2 # 1...Sf6-e4 2.Bd3-e2 # 1...Sf6*g4 2.Rg5-f5 #" --- authors: - Mansfield, Comins source: Postsjakk date: 1963 algebraic: white: [Kc3, Qh8, Rd1, Bh5, Bg3, Sf2, Sd3, Pe6, Pe2, Pb4] black: [Kd5, Rf7, Se7, Sd7, Pf3, Pb6] stipulation: "#2" solution: | "1.Qh8-e8 ! threat: 2.Qe8*d7 # 1...Kd5*e6 2.Qe8*f7 # 1...Sd7-c5 {(Sd~ )} 2.Sd3*c5 # 1...Sd7-e5 2.Sd3-f4 # 1...Se7-c6 2.e2-e4 # 1...Se7-f5 2.Bh5*f3 # 1...Se7-g6 {(Se~ )} 2.Sd3-e5 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Skakbladet date: 1963 algebraic: white: [Kf1, Qh2, Rc7, Bf7, Bc3, Sf2, Sa6, Pc5] black: [Kd5, Re6, Rb4, Bg6, Sd4, Sd3, Pe7, Pc4, Pb3] stipulation: "#2" solution: | "1.Qh2-h8 ! threat: 2.Qh8*d4 # 1...Sd3-e5 2.Sa6*b4 # 1...Sd4-c2 {(S4~)} 2.Qh8-d8 # 1...Sd4-f5 2.Qh8-h1 # 1...Sd4-c6 2.Rc7-d7 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Skakbladet date: 1963 algebraic: white: [Kb3, Qe1, Rf4, Ra4, Be2, Se7, Ph5, Ph2, Pc5, Pa6] black: [Ke5, Qb7, Bh6, Pg2, Pe6, Pe4, Pc6, Pb4] stipulation: "#2" solution: | "1.Be2-f1 ! threat: 2.Qe1*e4 # 1...e4-e3 2.Qe1*e3 # 1...Ke5-d4 2.Qe1-c3 # 1...Ke5*f4 2.Qe1-g3 # 1...Bh6*f4 2.Qe1-a1 #" --- authors: - Mansfield, Comins source: Sunday Times date: 1963 algebraic: white: [Kh1, Qg8, Re3, Rc3, Ba1, Sd7, Pe2, Pd5, Pc2] black: [Kd4, Bf6, Sf8, Sd6, Ph5, Pf3, Pb3] stipulation: "#2" solution: | "1.Qg8-g1 ! threat: 2.Qg1-d1 # 1...b3*c2 2.Rc3-c5 # 1...f3*e2 2.Re3-e5 # 1...Kd4*d5 2.Rc3-c5 # 1...Sd6-c4 2.Rc3-d3 # 1...Sd6-e4 2.Re3-d3 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: The Field date: 1963 algebraic: white: [Ke1, Qd8, Rg6, Bb8, Ba8, Sf7, Sc4, Ph2, Pe7, Pe6, Pe4, Pb4, Pa3] black: [Kf3, Sd5, Ph4, Ph3, Pg7] stipulation: "#2" solution: | "1.Qd8-a5 ! zugzwang. 1...Kf3*e4 2.Qa5*d5 # 1...Sd5-e3 2.Sc4-d2 # 1...Sd5-f4 2.Sf7-e5 # 1...Sd5-f6 2.Qa5-f5 # 1...Sd5*e7 2.Qa5-h5 # 1...Sd5-c7 2.Qa5-f5 # 1...Sd5*b4 {S~ )} 2.Qa5-h5 # 2.Qa5-f5 #" keywords: - Black correction --- authors: - Mansfield, Comins source: The Field date: 1963 algebraic: white: [Ke1, Qb6, Re6, Ra1, Bd1, Sa5, Pc7, Pc6, Pc4] black: [Kd3, Bb1, Sg3, Pf4, Pc3] stipulation: "#2" solution: | "1.Bd1-f3 ! zugzwang. 1...Bb1-c2 2.Re6-d6 # 1...Bb1-a2 2.0-0-0 # 1...c3-c2 2.Ra1-a3 # 1...Kd3-c2 2.Qb6*b1 # 1...Sg3-e2 2.Bf3-e4 # 1...Sg3-f1 2.Bf3-e4 # 1...Sg3-h1 2.Bf3-e4 # 1...Sg3-h5 2.Bf3-e4 # 1...Sg3-f5 2.Bf3-e4 # 1...Sg3-e4 2.Bf3*e4 #" keywords: - Defences on same square - Black correction - Flight giving key - Changed mates --- authors: - Mansfield, Comins source: Busmen's Chess Review date: 1964 algebraic: white: [Kh4, Qg4, Rb1, Bh3, Bc1, Pf2, Pd3, Pc2] black: [Kh1, Qa1, Bd5, Ph2, Pf3, Pa3] stipulation: "#2" solution: | "1.Qg4-b4 ! threat: 2.Qb4-e1 # 1...Qa1-h8 + 2.Bc1-h6 # 1...Qa1-g7 2.Bc1-g5 # 1...Qa1-f6 + 2.Bc1-g5 # 1...Qa1-e5 2.Bc1-e3 # 1...Qa1-d4 + 2.Bc1-f4 # 1...Qa1-c3 2.Bc1-d2 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Corriere Mercantile date: 1964 algebraic: white: [Kh7, Qf1, Rd3, Rc2, Bb1, Sf6, Sd7, Pf4, Pd5] black: [Kf5, Qb8, Ra4, Bc1, Sc8, Ph5, Pf7] stipulation: "#2" solution: | "1.Rc2-g2 ? threat: 2.Rg2-g5 # 1...Ra4*f4 2.Rd3-b3 # 1...Qb8*f4 2.Rd3-d4 # but 1...Bc1*f4 ! 1.Rd3-g3 ! threat: 2.Rg3-g5 # 1...Bc1*f4 2.Qf1-h3 # 1...Ra4*f4 2.Rc2-b2 # 1...Qb8*f4 2.Rc2-c4 #" keywords: - Defences on same square - Changed mates --- authors: - Mansfield, Comins source: Deutsche Schachblätter date: 1964 algebraic: white: [Ka1, Qb7, Rf5, Re1, Bg6, Sf1, Pd4, Pb3, Pa3] black: [Kc2, Rc4, Sh8, Pc6, Pa4] stipulation: "#2" solution: | "1.Qb7-f7 ! threat: 2.Qf7*c4 # 1...Kc2*b3 2.Rf5-f3 # 1...Rc4-c3 2.Rf5-f2 # 1...Rc4-b4 2.Rf5-c5 # 1...Rc4-c5 2.Rf5*c5 # 1...Rc4*d4 2.Rf5-c5 # 1...Sh8*f7 2.Rf5-f3 #" keywords: - Active sacrifice - Black correction - Flight giving key - Transferred mates --- authors: - Mansfield, Comins source: Dunaújvárosi Hirlap TT date: 1964 algebraic: white: [Ke1, Qa6, Rh5, Ra5, Be8, Bd6, Sg5, Sd7, Pf6, Pe2, Pd4, Pc3] black: [Kd5, Se6, Se4, Pc5] stipulation: "#2" solution: | "1.Sd7*c5 ! zugzwang. 1...Se4*c3 2.Sg5*e6 # 1...Se4-g3 2.Sc5*e6 # 1...Se4*g5 2.e2-e4 # 1...Se4*f6 2.Sc5*e6 # 1...Se4*d6 2.Be8-c6 # 1...Se4*c5 2.e2-e4 # 1...Se6*c5 2.Be8-f7 # 1...Se6*d4 2.c3-c4 # 1...Se6-f4 2.Sc5*e4 # 1...Se6*g5 2.Be8-f7 # 1...Se6-g7 2.Sc5*e4 # 1...Se6-c7 2.Sg5*e4 # 1...Se6-f8 2.Sg5*e4 # 2.Sc5*e4 # 1...Se6-d8 2.Sg5*e4 # 2.Sc5*e4 # 1...Se4-d2 2.Sg5*e6 # 2.Sc5*e6 # 1...Se4-f2 2.Sg5*e6 # 2.Sc5*e6 #" keywords: - Active sacrifice - Mates on same square - Black correction - Changed mates comments: - 1964-1966 --- authors: - Mansfield, Comins source: Glasgow Herald date: 1964 algebraic: white: [Kh1, Qe8, Re4, Be1, Bb7, Sh6, Sc1] black: [Kf3, Qd5, Bc3, Ph7, Ph5, Pf6, Pf4, Pe3] stipulation: "#2" solution: | "1.Qe8-g8 ! threat: 2.Qg8-g2 # 1...Kf3*e4 2.Qg8*d5 # 1...Qd5-a2 2.Re4-c4 # 1...Qd5*g8 2.Re4-e6 # 1...Qd5-d2 2.Re4-d4 # 1...Qd5-g5 2.Re4-e5 #" keywords: - Active sacrifice - Flight giving key - Transferred mates --- authors: - Mansfield, Comins source: Problemnoter date: 1964 algebraic: white: [Kb5, Qf3, Rd8, Ra4, Bd5, Sd6, Sa5, Pf5, Pe4, Pc6, Pa3] black: [Kd4, Qh8, Rg7, Rb1, Pe5, Pb7, Pb4] stipulation: "#2" solution: | "1.Bd5-c4 ! threat: 2.Qf3-d3 # 1...Rb1-b3 2.Sa5*b3 # 1...Rb1-d1 2.Sa5-b3 # 1...b4*a3 + 2.Bc4-b3 # 1...b7*c6 + 2.Sa5*c6 # 1...Rg7-g3 2.Sd6-e8 # 1...Qh8-h3 2.Sd6-f7 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: Sunday Times date: 1964 algebraic: white: [Kh8, Qf8, Ra3, Bf4, Bc6, Sd5] black: [Ke4, Qb1, Rc8, Ra6, Bh7, Bd8, Pe7, Pe5, Pd4, Pb2, Pa5] stipulation: "#2" solution: | "1.Bf4-c1 ! threat: 2.Qf8-f3 # 1...Qb1-d3 2.Sd5-c3 # 1...d4-d3 2.Ra3-a4 # 1...Bh7-f5 2.Sd5-f6 # 1...Bd8-b6 2.Sd5-c7 # 1...Bd8-c7 2.Sd5-b6 #" keywords: - B2 --- authors: - Mansfield, Comins source: The Problemist date: 1964 algebraic: white: [Kg5, Rf8, Rb3, Be1, Bd1, Sf6, Se3] black: [Kf3, Qh1, Sg1, Se2, Ph3, Ph2, Pa6] stipulation: "#2" solution: | "1.Be1-a5 ! zugzwang. 1...Qh1-g2 + 2.Se3-g4 # 1...Kf3-f2 2.Sf6-e4 # 1...Kf3-g3 2.Sf6-h5 #" keywords: - 2 flights giving key --- authors: - Mansfield, Comins source: Busmen's Chess Review date: 1965 algebraic: white: [Kh1, Qb1, Re7, Ra5, Bg8, Bg1, Se6, Sb4, Pg5, Pe2] black: [Ke4, Rf8, Rd8, Be5, Sa1, Pg4, Pd3] stipulation: "#2" solution: | "1.Sb4*d3 ! threat: 2.Ra5*e5 # 1...Ke4-f5 2.Bg8-h7 # 1...Be5-b2 2.Se6-d4 # 1...Be5-c3 2.Se6-d4 # 1...Be5-d4 2.Se6*d4 # 1...Be5-h2 2.Se6-f4 # 1...Be5-g3 2.Se6-f4 # 1...Be5-f4 2.Se6*f4 # 1...Be5-h8 2.Se6-g7 # 1...Be5-g7 2.Se6*g7 # 1...Be5-f6 2.Bg8-h7 # 1...Be5-b8 2.Se6-c7 # 1...Be5-c7 2.Se6*c7 # 1...Be5-d6 2.Qb1-b7 # 1...Rd8*d3 2.Qb1*d3 # 1...Rd8-d5 2.Sd3-c5 # 1...Rf8-f5 2.Se6-c5 #" keywords: - Active sacrifice - Black correction --- authors: - Mansfield, Comins source: Glasgow Herald date: 1965 algebraic: white: [Ka5, Qe8, Rc6, Pf5, Pe3, Pd6] black: [Kd5, Qh2, Sa4, Ph3, Pc3] stipulation: "#2" solution: | "1.Rc6-c4 ! threat: 2.Qe8-e6 # 1...Qh2*d6 2.Qe8-e4 # 1...Qh2-e5 2.Qe8-c6 # 1...Sa4-c5 2.Rc4-d4 # 1...Kd5*c4 2.Qe8-b5 #" keywords: - 2 flights giving key --- authors: - Mansfield, Comins source: L'Italia Scacchistica date: 1965 algebraic: white: [Kc7, Qa8, Rb3, Ba2, Sd7, Pf5, Pe3, Pa7] black: [Kc4, Sb7, Pf7, Pf6] stipulation: "#2" solution: | "1...Sb7-a5 2.Qa8-e4 # 1...Sb7-d6 2.Qa8-c6 # 1.Qa8-b8 ! zugzwang. 1...Sb7-a5 2.Qb8-b5 # 1...Sb7-c5 2.Sd7-b6 # 1...Kc4-d5 2.Rb3-b4 # 1...Sb7-d6 2.Rb3-a3 # 1...Sb7-d8 2.Qb8-b5 # 2.Rb3-a3 #" keywords: - Mutate - Black correction - Changed mates --- authors: - Mansfield, Comins source: Probleemblad date: 1965 algebraic: white: [Kd2, Qh1, Rd1, Bb8, Ba2, Sd4, Sb3, Pg3, Pb5, Pa3] black: [Kd5, Rd6, Pf3, Pe6, Pe5, Pc5] stipulation: "#2" solution: | "1...Kd5-e4 2.Qh1*f3 # 1.Sd4*f3 ! zugzwang. 1...c5-c4 2.Kd2-e3 # 1...Kd5-c4 + 2.Sb3-d4 # 1...Kd5-e4 + 2.Sf3-d4 # 1...e5-e4 2.Kd2-c3 # 1...Rd6-a6 {(R~ )} 2.Sf3*e5 #" keywords: - Switchback --- authors: - Mansfield, Comins source: Skakbladet date: 1965 algebraic: white: [Kh1, Qd8, Rd1, Ra4, Bd2, Bb1, Pd4, Pb3] black: [Kd5, Qa5, Bg5, Sg6, Sa6, Pe6, Pe5, Pd6, Pc6, Pc5] stipulation: "#2" solution: | "1.d4*e5 ! threat: 2.Qd8*d6 # 1...Qa5*d8 2.Bd2-f4 # 1...Qa5-c7 2.Bd2-f4 # 1...Kd5*e5 2.Qd8*g5 # 1...Bg5*d8 2.Bd2-c3 # 1...Bg5-e7 2.Bd2-c3 # 1...Sg6*e5 2.Bb1-e4 #" keywords: - Flight giving key - Changed mates --- authors: - Mansfield, Comins source: The Problemist source-id: 4755 date: 1965 algebraic: white: [Kh1, Qg5, Rf6, Rc1, Sd1, Pg3, Pf3, Pe2, Pc2, Pb3] black: [Kd5, Rb1, Ba2, Pg4, Pf7, Pe5, Pd4, Pc5] stipulation: "#2" solution: | "1.Qg5-d2 ! threat: 2.e2-e4 # 2.c2-c4 # 2.Sd1-e3 # 2.Sd1-c3 # 1...d4-d3 2.Qd2*d3 # 1...c5-c4 2.Qd2-a5 # 1...e5-e4 2.Qd2-g5 #" keywords: - Fleck - Karlstrom-Fleck - Switchback --- authors: - Mansfield, Comins source: The Problemist date: 1965 algebraic: white: [Kb2, Qe7, Re1, Rc4, Bd3, Sf4, Pg3, Pd2] black: [Ke5, Rh6, Rb6, Be4, Sa8, Pg6, Pf5, Pe6, Pb7, Pb3] stipulation: "#2" solution: | "1.Bd3-e2 ! threat: 2.d2-d4 # 1...Be4-b1 2.Be2-d3 # 1...Be4-c2 2.Be2-d3 # 1...Be4-d3 2.Be2*d3 # 1...Be4-h1 2.Be2-f3 # 1...Be4-g2 2.Be2-f3 # 1...Be4-f3 2.Be2*f3 # 1...Be4-c6 2.Qe7*e6 # 1...Be4-d5 2.Sf4-d3 # 1...Rb6-d6 2.Qe7-g7 #" keywords: - Black correction - Switchback --- authors: - Mansfield, Comins source: The Problemist date: 1965 algebraic: white: [Kg7, Qd7, Rb6, Bg8, Sa6, Pf3, Pe6, Pe3, Pc2] black: [Kc4, Qb7, Pb3] stipulation: "#2" solution: | "1.Rb6*b3 ! zugzwang. 1...Qb7*a6 2.Qd7-d4 # 1...Qb7-e4 2.Qd7-b5 # 1...Qb7-d5 2.Qd7-a4 # 1...Qb7*b3 2.Qd7-c6 # 1...Qb7-b6 2.Qd7-d3 # 1...Qb7-a7 2.e6-e7 # 1...Qb7*d7 + 2.e6*d7 # 1...Qb7-c7 2.e6-e7 # 1...Qb7-b4 2.Qd7-d3 # 2.e6-e7 # 1...Qb7-a8 {(Qxf3, Qb8, Qc8, Qc6, Qb5)} 2.Qd7-b5 # 2.Qd7-d3 # 2.Qd7-d4 #" keywords: - Black correction - Flight taking key --- authors: - Mansfield, Comins source: Deike Bildmaterndienst date: 1966 algebraic: white: [Kg5, Qh3, Rd8, Ra2, Bf5, Bc3, Se4, Sb6, Pg4, Pf6, Pf2, Pc5] black: [Kd3, Qf3, Rd5, Bd1, Sb3, Pc6] stipulation: "#2" solution: | "1.Bc3-a1 ! zugzwang. 1...Bd1-e2 2.Se4-d2 # 1...Bd1-c2 2.Qh3*f3 # 1...Sb3*a1 {(S~ )} 2.Ra2-d2 # 1...Qf3-e3 + 2.Qh3*e3 # 1...Qf3*h3 {(Q~ )} 2.Se4-g3 # 1...Rd5-d4 2.Se4-c3 # 1...Rd5*d8 {(R~ )} 2.Se4-d6 # 1...Sb3*c5 2.Se4*c5 # 2.Ra2-d2 #" keywords: - Black correction - Rudenko comments: - 1966-1967 --- authors: - Mansfield, Comins source: Deike Bildmaterndienst date: 1966 algebraic: white: [Kf2, Qf4, Rg5, Rc6, Bh3, Sc5, Pe3, Pb5] black: [Kd5, Qf7, Re7, Re5, Sf5, Pd6] stipulation: "#2" solution: | "1.Sc5-b7 ! threat: 2.Qf4-c4 # 1...Kd5-e6 2.Rc6*d6 # 1...Re5*e3 2.Rc6*d6 # 1...Re5-e4 2.Qf4*d6 # 1...Re5-e6 2.Qf4-d4 # 1...Sf5-d4 2.e3-e4 # 1...Sf5*e3 {(S~ )} 2.Rc6*d6 #" keywords: - Black correction - Flight giving key comments: - 1966-1967 --- authors: - Mansfield, Comins source: Sunday Citizen date: 1966 algebraic: white: [Kc7, Qa6, Rh4, Ra5, Bb1, Sh7, Sd3, Pg6] black: [Kf5, Bd7, Se7, Sc8, Pg7, Pf3, Pe5, Pd5] stipulation: "#2" solution: | "1.Qa6-c4 ! threat: 2.Qc4-g4 # 1...d5-d4 2.Qc4-f7 # 1...d5*c4 2.Sd3-f4 # 1...e5-e4 2.Qc4*e4 # 1...Kf5*g6 2.Sd3*e5 # 1...Kf5-e6 2.Sd3-c5 #" keywords: - Active sacrifice - 2 flights giving key --- authors: - Mansfield, Comins source: Sunday Citizen date: 1966 algebraic: white: [Kh7, Qh5, Rc6, Bb4, Pg4, Pf7, Pe6] black: [Kf6, Qe7, Bd8, Sh4, Sg8, Ph6, Pd4, Pc7] stipulation: "#2" solution: | "1.Qh5-d5 ! zugzwang. 1...d4-d3 2.Bb4-c3 # 1...Sh4-f3 2.Qd5-f5 # 1...Sh4-g2 2.Qd5-f5 # 1...Sh4-g6 2.Qd5-f5 # 1...Sh4-f5 2.Qd5*f5 # 1...h6-h5 2.g4-g5 # 1...Qe7*b4 2.f7*g8=S # 1...Qe7-c5 2.f7*g8=S # 1...Qe7-d6 2.f7*g8=S # 1...Qe7-f8 2.e6-e7 # 1...Qe7*e6 2.f7-f8=Q # 1...Qe7-d7 2.e6*d7 # 1...Qe7-e8 2.f7*e8=S # 1...Qe7*f7 + 2.e6*f7 #" keywords: - Black correction - Transferred mates --- authors: - Mansfield, Comins source: Sunday Times date: 1966 algebraic: white: [Kb5, Qf2, Rh5, Bg8, Bg5, Sg6, Pf3, Pe6, Pe3] black: [Kd5, Rb7, Ra8, Be5, Pc3, Pb6, Pa5] stipulation: "#2" solution: | "1.Qf2-h2 ! threat: 2.Qh2*e5 # 1...Be5-d4 2.e3-e4 # 1...Be5*h2 2.Bg5-f4 # 1...Be5-g3 2.Bg5-f4 # 1...Be5-f4 2.Bg5*f4 # 1...Be5-h8 2.Bg5-f6 # 1...Be5-g7 2.Bg5-f6 # 1...Be5-f6 2.Bg5*f6 # 1...Be5-b8 2.e6-e7 # 1...Be5-c7 2.Sg6-e7 # 1...Be5-d6 2.Qh2-a2 #" keywords: - Active sacrifice - Black correction --- authors: - Mansfield, Comins source: Sunday Citizen date: 1967 algebraic: white: [Kh7, Qd4, Rb6, Bg6, Pf6, Pd6, Pc6] black: [Ke6, Ra6, Pg7] stipulation: "#2" solution: | "1.d6-d7 ? threat: 2.d7-d8=S # 1...Ra6-a8 2.c6-c7 # but 1...g7*f6 ! 1.c6-c7 ! threat: 2.c7-c8=Q # 1...Ra6-a8 2.d6-d7 # 1...Ra6-a7 2.d6-d7 # 1...Ke6-d7 2.Qd4-g4 #" keywords: - Flight giving key - Reversal --- authors: - Mansfield, Comins source: Sunday Citizen date: 1967 algebraic: white: [Ke5, Rf5, Rc6, Bf8, Sh5, Se6, Pf4] black: [Kg6, Qa8, Bd1, Ph7, Ph6] stipulation: "#2" solution: | "1.Bf8-e7 ! threat: 2.Se6-f8 # 1...Bd1*h5 2.Rf5-f6 # 1...Qa8-a1 + 2.Se6-d4 # 1...Qa8-a5 + 2.Se6-c5 # 1...Qa8-h8 + 2.Se6-g7 # 1...Qa8-b8 + 2.Se6-c7 #" --- authors: - Mansfield, Comins source: Sunday Citizen date: 1967 algebraic: white: [Kh3, Qa3, Rh4, Rd6, Bg4, Sf6, Sd5, Pa4, Pa2] black: [Kc4, Qb1, Rc8, Rc1, Bg1, Sg7, Sd4, Pe3, Pd3] stipulation: "#2" solution: | "1.Sf6-d7 ! threat: 2.Sd7-e5 # 1...Qb1-b4 2.Qa3*b4 # 1...Bg1-h2 2.Sd5*e3 # 1...Sd4-b3 2.Qa3-b4 # 1...Sd4-c2 2.Qa3-c3 # 1...Sd4-e2 2.Bg4*e2 # 1...Sd4-f3 2.Bg4*f3 # 1...Sd4-f5 2.Bg4*f5 # 1...Sd4-e6 2.Bg4*e6 # 1...Sd4-c6 2.Qa3-c5 # 1...Sd4-b5 2.Sd5-b6 # 1...Rc8-e8 2.Qa3-c5 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Suomen Shakki date: 1967 algebraic: white: [Ka2, Qf5, Re6, Rb7, Bb4, Sg6, Sd5, Pe3] black: [Kc4, Qg3, Rh5, Rh4, Bg5, Ba8, Sg7, Sd8, Pf2, Pa5] stipulation: "#2" solution: | "1.Sd5-f4 ! threat: 2.Sg6-e5 # 2.Re6-e4 # 2.Qf5-c2 # 2.Qf5-d3 # 2.Qf5-e4 # 2.Qf5-b5 # 2.Qf5-c5 # 2.Qf5-d5 # 1...Qg3*f4 2.Qf5-b5 # 1...Qg3*e3 2.Qf5-d5 # 1...Rh4*f4 2.Qf5-b5 # 1...a5*b4 2.Qf5-c2 # 1...Bg5*f4 2.Qf5-e4 # 1...Bg5-f6 2.Qf5-d3 # 1...Sg7*f5 2.Sg6-e5 # 1...Ba8*b7 2.Qf5-c5 # 1...Sd8*b7 2.Re6-e4 #" keywords: - Fleck --- authors: - Mansfield, Comins source: The Grantham Journal TT date: 1936 algebraic: white: [Ke5, Qb8, Rh4, Rd7, Bd1, Sc2, Sa7, Pg7, Pf5, Pc3, Pa2] black: [Ka4, Rg2, Bh5, Ba3, Sb4, Pd2, Pa6, Pa5] stipulation: "#2" solution: | "1.Qb8-e8 ! threat: 2.Rd7-f7 # 1...Rg2-e2 + 2.Sc2-e3 # 1...Rg2-g6 2.Rd7-d6 # 1...Rg2-g4 2.Sc2*b4 # 1...Bh5-e2 2.Rd7-d3 # 1...Bh5-f3 2.Rd7-d5 # 1...Bh5-g4 2.Rd7-d4 # 1...Bh5*e8 2.Sc2-a1 # 2.Sc2-e1 # 2.Sc2-e3 # 2.Sc2*b4 #" --- authors: - Mansfield, Comins source: Newark Evening News date: 1936 algebraic: white: [Kd1, Qe5, Rd6, Rb4, Bd4, Sc4, Pe6, Pe4, Pb2] black: [Kd3, Rh4, Rd8, Bh2, Bh1, Sf6, Sb6, Pg3, Pf3, Pa6] stipulation: "#2" solution: | "1.Qe5-f5 ! threat: 2.Sc4-e5 # 1...g3-g2 2.Qf5*f3 # 1...Sb6*c4 2.Rb4-b3 # 1...Sb6-d7 2.Bd4*f6 # 1...Sf6-g4 2.e4-e5 # 1...Sf6-d7 2.Bd4*b6 #" --- authors: - Mansfield, Comins source: The Sunday Times date: 1936 algebraic: white: [Ka8, Qb1, Re2, Ra4, Ba2, Se3, Pg5, Pg3, Pd4] black: [Ke4, Rd3, Bc8, Bc3, Pf6, Pf3, Pe6, Pd2] stipulation: "#2" solution: | "1.Qb1-b8 ! threat: 2.Qb8-f4 # 1...Rd3*d4 2.Ba2-b1 # 1...Rd3*e3 2.Qb8-b1 # 1...e6-e5 2.Ba2-d5 # 1...f6*g5 2.Qb8-e5 # 1...Bc8-b7 + 2.Qb8*b7 #" keywords: - Switchback --- authors: - Mansfield, Comins source: Tijdschrift vd KNSB date: 1936 algebraic: white: [Kf7, Qd7, Ra6, Bh6, Se6, Sc3, Ph3, Pg7, Pd4] black: [Kf5, Qb3, Rf1, Sa7, Ph7, Pc2, Pb2] stipulation: "#2" solution: | "1.Kf7-f8 ! threat: 2.Qd7-f7 # 1...Qb3*e6 2.Qd7*e6 # 1...Qb3-a3 + 2.Se6-c5 # 1...Qb3-b8 + 2.Se6-d8 # 1...Qb3-b7 2.Se6-c7 # 1...Qb3-b4 + 2.Se6-c5 # 1...Qb3*c3 2.Se6-c5 # 1...Kf5-g6 + 2.Se6-f4 #" keywords: - 2 flights giving key --- authors: - Mansfield, Comins source: Tukor date: 1936 algebraic: white: [Ka4, Qd3, Rh7, Ba5, Se8, Sd5, Pf7, Pf5, Pc5, Pb7] black: [Kd7, Rg8, Rd8, Bh4, Be6, Pg4, Pc6] stipulation: "#2" solution: | "1...Rg5/Bg3/Bf2/Be1/Bf6 2.Nef6# 1...Rgxe8/Rdxe8 2.f8N# 1...Be7 2.Ndf6#/Nb6# 1...Bxf5 2.Qxf5# 1.Qe3?? (2.Qxe6#/fxe6#) 1...cxd5 2.Qxe6# 1...Rdxe8/Bxd5/Rgxe8 2.f8N# 1...Bxf5 2.f8N#/Nb6# 1...Bxf7 2.Qe6#/Nb6# but 1...Rg6! 1.Qg3?? (2.Qd6#/Qc7#) 1...Rc8/Bxf5 2.Qd6# 1...Bxg3 2.Nef6# 1...Be7 2.Qc7#/Nb6# but 1...Bxf7! 1.Qe2?? (2.fxe6#/Qxe6#) 1...cxd5 2.Qxe6# 1...Rdxe8/Bxd5/Rgxe8 2.f8N# 1...Bxf5 2.f8N#/Nb6# 1...Bxf7 2.Qe6#/Nb6# but 1...Rg6! 1.Qe4?? (2.Qxe6#/fxe6#) 1...cxd5 2.Qxe6# 1...Rdxe8/Rgxe8/Bxd5 2.f8N# 1...Bxf5 2.f8N#/Qxf5#/Nb6# 1...Bxf7 2.Nb6#/Qe6# but 1...Rg6! 1.fxg8Q+?? 1...Be7 2.Rxe7#/Ndf6#/Nb6#/fxe6#/Nef6# but 1...Bf7! 1.fxg8R+?? 1...Be7 2.Rxe7#/Ndf6#/Nb6#/Nef6# but 1...Bf7! 1.fxg8N+?? 1...Be7 2.Ngf6#/Rxe7#/Ndf6#/Nef6# 1...Bf7 2.Ndf6#/Ndc7# but 1...Kxe8! 1.f8B+?? 1...Be7 2.Rxe7#/Ndf6#/Nef6# 1...Bf7 2.Ndf6#/Ndc7# 1...Rg7 2.Ndf6# but 1...Kxe8! 1.Ndc7+?? 1...Bd5 2.f8N# but 1...Ke7! 1.f8Q+! 1...Be7 2.Rxe7#/Qxe7#/Ndf6#/Nb6#/Nef6# 1...Bf7 2.Ne3#/Nf4#/Ndf6#/Nc3#/Ndc7#/Nb4#/Nb6# 1...Rg7 2.Ndf6#/Nb6# 1.f6! (2.Nb6#) 1...cxd5 2.Qb5# 1...Bxf6 2.Nexf6# 1...Rdxe8/Rgxe8 2.f8N# 1...Bf5 2.Qxf5# 1...Bxf7 2.Ndc7# 1...Bxd5 2.fxg8Q#" keywords: - Checking key - Cooked --- authors: - Mansfield, Comins source: Chess date: 1937 algebraic: white: [Ka8, Qf3, Bf8, Sg7, Sd6, Ph5, Pf7, Pf4, Pd7] black: [Kf6, Qa4, Re8, Bg6, Sd8, Pg5, Pe5, Pb7, Pa5] stipulation: "#2" solution: | "1.Qf3-e4 ! threat: 2.Qe4*g6 # 1...Qa4-c2 2.d7*e8=S # 1...Qa4*e4 2.d7*e8=S # 1...e5*f4 2.Sg7*e8 # 1...Bg6*e4 2.f7*e8=S # 1...Bg6*h5 2.Qe4-f5 # 1...Bg6-h7 2.f7*e8=S # 1...Bg6*f7 2.Qe4-f5 # 1...Sd8-c6 + 2.d7*e8=S # 1...Sd8-e6 + 2.Sg7*e8 # 1...Sd8*f7 + 2.Sd6*e8 # 1...Re8*f8 2.Qe4*e5 # 1...Bg6-f5 2.f7*e8=S # 2.Qe4*f5 #" keywords: - Active sacrifice - Mates on same square - Black correction --- authors: - Mansfield, Comins source: Die Schwalbe date: 1937 algebraic: white: [Kg1, Qa2, Rh4, Rb3, Bd1, Se7] black: [Kc4, Qa8, Bf8, Sd4, Pg7, Pd3, Pc5, Pc3, Pb7, Pb6] stipulation: "#2" solution: | "1.Bd1-h5 ? threat: 2.Bh5-f7 # but 1...g7-g6 ! 1.Bd1-f3 ? threat: 2.Bf3-d5 # but 1...Bf8*e7 ! 1.Bd1-g4 ! threat: 2.Bg4-e6 # 1...d3-d2 2.Bg4-e2 # 1...Sd4*b3 2.Bg4-d7 # 1...Sd4-e2 + 2.Bg4*e2 # 1...Sd4-f3 + 2.Bg4*f3 # 1...Sd4-f5 2.Bg4*f5 # 1...Qa8-d8 2.Qa2-a4 # 1...Qa8-c8 2.Qa2-a4 #" --- authors: - Mansfield, Comins source: Glasgow Herald date: 1937 algebraic: white: [Kg8, Qh3, Rd6, Rb4, Bh8, Sd5, Pg2] black: [Ke4, Qa7, Ra3, Bc4, Sc2, Sb8, Ph4, Pg5, Pf7, Pf4, Pc3, Pb5] stipulation: "#2" solution: | "1.Sd5-b6 ! threat: 2.Qh3-d3 # 1...Sc2-e1 2.Rd6-d4 # 1...Sc2-e3 2.Rd6-d4 # 1...Sc2-d4 2.Rd6*d4 # 1...Sc2*b4 2.Rd6-d4 # 1...f4-f3 2.Qh3*f3 # 1...f7-f5 + 2.Rd6-e6 # 1...f7-f6 + 2.Qh3-e6 #" --- authors: - Mansfield, Comins source: L'Echiquier EP Ty. date: 1937 algebraic: white: [Kg6, Qe3, Rd7, Rc5, Sd8, Sb7, Pf2, Pd2] black: [Kb6, Qg3, Rf1, Bh2, Bb1, Sa8, Pg4, Pe4, Pd6, Pa7, Pa6] stipulation: "#2" solution: | "1.f2-f4 ! threat: 2.Rd7*d6 # 1...Qg3*f4 2.Qe3-b3 # 1...e4*f3 ep. + 2.Rc5-f5 # 1...g4*f3 ep. + 2.Rc5-g5 # 1...d6*c5 2.Qe3*c5 #" --- authors: - Mansfield, Comins source: L'Echiquier EP Ty. date: 1937 algebraic: white: [Kh3, Qf3, Re7, Ra2, Bb4, Sg4, Sb2, Pg2, Pe2] black: [Ke1, Qd8, Rf8, Rc3, Bh7, Ba7, Sh6, Pf4, Pd4] stipulation: "#2" solution: | "1.e2-e4 ! threat: 2.Sb2-d3 # 1...d4-d3 2.Qf3-d1 # 1...d4*e3 ep. 2.Qf3-f2 # 1...f4*e3 ep. 2.Qf3-d1 #" keywords: - Rudenko --- authors: - Mansfield, Comins source: Morning Post date: 1937 algebraic: white: [Kc8, Ra1, Bh1, Ba7, Sd8, Sc6, Pc7, Pb2] black: [Ka8, Rd1, Bd2, Pe3, Pc3] stipulation: "#2" solution: | "1.Kc8-d7 ! threat: 2.c7-c8=Q # 2.c7-c8=R # 1...Bd2-c1 + 2.Ba7-d4 # 1...Bd2-e1 + 2.Sc6-d4 #" comments: - anticipated mirror 382775 --- authors: - Mansfield, Comins source: Skakbladet date: 1937 algebraic: white: [Kg8, Qc6, Rh5, Ra4, Bh8, Sg7, Se4, Pe5, Pe2, Pc5, Pb2] black: [Kd4, Bc4, Ba5, Se3, Pf7] stipulation: "#2" solution: | "1.Se4-g5 ! threat: 2.Sg5-f3 # 1...Se3-c2 {S~ )} 2.Sg7-f5 # 1...Kd4*e5 2.Qc6-d6 # 1...f7-f5 + 2.Sg7-e6 # 1...f7-f6 + 2.Sg5-e6 #" keywords: - Flight giving key - Changed mates --- authors: - Mansfield, Comins source: Chess date: 1938 algebraic: white: [Kg1, Qa3, Rg8, Re6, Bd5, Se7] black: [Kf7, Rh7, Ra5, Ba7, Sd1, Sc8, Ph5, Pg4, Pb6, Pa6, Pa4] stipulation: "#2" solution: | "1.Qa3-a1 ! threat: 2.Qa1-f6 # 1...Sd1-c3 2.Qa1-f1 # 1...Sd1-b2 2.Qa1-f1 # 1...b6-b5 + 2.Re6-e3 # 1...Rh7-h6 2.Qa1-g7 # 1...Sc8*e7 2.Re6-f6 #" --- authors: - Mansfield, Comins source: The Problemist date: 1938 algebraic: white: [Kg1, Qf8, Rh3, Ra5, Bb4, Ba6, Se1, Pd2] black: [Kb3, Rg3, Bc3, Sd1, Sb1, Pg2, Pd4, Pb2] stipulation: "#2" solution: | "1.Qf8-b8 ! threat: 2.Bb4*c3 # 1...Sb1*d2 2.Ra5-a3 # 1...Sb1-a3 2.Ra5*a3 # 1...Bc3*d2 2.Bb4*d2 # 1...Bc3*b4 2.Qb8-g8 # 1...Rg3-g8 2.Bb4-f8 # 1...Rg3-g7 2.Bb4-e7 # 1...Rg3-g6 2.Bb4-d6 # 1...Rg3-g5 2.Bb4-c5 #" --- authors: - Mansfield, Comins source: The Springbok date: 1938 algebraic: white: [Kg4, Qh7, Rd8, Bg8, Be7, Sg3, Sa3, Ph6, Pf6, Pe6, Pe3] black: [Ke5, Rd1, Rc1, Sd4, Sc5] stipulation: "#2" solution: | "1.Qh7-b1 ! threat: 2.Qb1-b8 # 1...Rc1*b1 2.Sa3-c4 # 1...Sd4-b3 {(Sd~ )} 2.Qb1-f5 # 1...Sd4-c2 2.Sa3-c4 # 1...Sc5-a4 {(Sc~ )} 2.Qb1-e4 # 1...Sc5-d3 2.e3*d4 #" keywords: - Active sacrifice - Black correction - Transferred mates --- authors: - Mansfield, Comins source: Western Morning News date: 1938 algebraic: white: [Kg3, Qe8, Rf7, Rd1, Ba7, Sc8, Pc3] black: [Ke4, Ra6, Bf8, Ba8, Sg6, Sc6, Pe5, Pa5] stipulation: "#2" solution: | "1.Rf7-f3 ! threat: 2.Qe8*g6 # 1...Sc6-b4 {(Sc~)} 2.Rd1-d4 # 1...Sc6-e7 2.Qe8-a4 # 1...Sg6-f4 {(Sg~)} 2.Rf3*f4 # 1...Sg6-e7 2.Sc8-d6 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Young Scotland date: 1938 algebraic: white: [Ke8, Qh8, Bb2, Sg7, Se3, Pg2, Pf3, Pb5] black: [Kg5, Rc6, Pg6, Pg3, Pc7, Pb6] stipulation: "#2" solution: | "1.Bb2-c1 ! zugzwang. 1...Kg5-f4 2.Se3-c4 # 1...Kg5-f6 2.Se3-g4 # 1...Rc6*c1 {(R~ )} 2.Sg7-e6 # 1...Rc6-f6 2.Se3-f5 # 1...Rc6-d6 2.Se3-d5 #" keywords: - Black correction - Flight giving key --- authors: - Mansfield, Comins source: Tidskrift för Schack date: 1939 algebraic: white: [Kh6, Qh8, Rb6, Sf1, Se6, Pf2] black: [Kf5, Rg3, Re3, Bd8, Bd7, Ph5, Pg5, Pg4, Pe5, Pe4] stipulation: "#2" solution: | "1.f2-f4 ! threat: 2.Qh8*e5 # 1...e4*f3 ep. 2.Sf1*g3 # 1...g4*f3 ep. 2.Sf1*e3 # 1...e5*f4 2.Se6-d4 # 1...g5*f4 2.Se6-g7 # 1...Bd8-c7 2.Qh8-f8 # 1...Bd8-f6 2.Qh8-h7 #" keywords: - Active sacrifice - Transferred mates --- authors: - Mansfield, Comins source: Schach-Echo date: 1970 algebraic: white: [Ke8, Rf6, Re3, Bh8, Be4, Sd5, Sc2, Pg6, Pf3, Pc6, Pb7] black: [Ke5, Qa4, Rb3, Bh7, Sh3, Pc4, Pa5] stipulation: "#2" solution: | "1...Qa4*c6 + 2.Rf6*c6 # 1...Bh7*g6 + 2.Rf6*g6 # 1.Sd5-e7 ? threat: 2.Be4-d3 # 1...Qa4*c6 + 2.Se7*c6 # 1...Bh7*g6 + 2.Se7*g6 # but 1...c4-c3 ! 1.Sd5-c3 ! threat: 2.Be4-d3 # 2.Be4-d5 # 1...Qa4*c6 + 2.Be4*c6 # 1...Bh7*g6 + 2.Be4*g6 # 1...Rb3*c3 2.b7-b8=Q # 1...Sh3-f2 2.f3-f4 # 1...Sh3-g5 2.f3-f4 #" keywords: - Zagoruiko --- authors: - Mansfield, Comins source: The Problemist source-id: 5562 date: 1973 algebraic: white: [Kc4, Qd5, Rh1, Ra1, Se1, Sc1, Pe2, Pb4, Pa2] black: [Kd1, Ra7, Bh5, Bh4, Pg5, Pf5, Pe3, Pd2, Pc7] stipulation: "#2" solution: | "1...Bh5*e2 + 2.Sc1-d3 # 1.Kc4-d3 ! threat: 2.Qd5-b3 # 2.Sc1-b3 # 1...d2*e1=S + 2.Kd3-c3 # 1...d2*c1=S + 2.Kd3*e3 # 1...Bh5*e2 + 2.Sc1*e2 # 1...Ra7*a2 2.Sc1*a2 #" --- authors: - Mansfield, Comins source: Natal Mercury date: 1912 algebraic: white: [Kd1, Bf3, Sa5, Pg3, Pf4, Pd6, Pd2, Pc3] black: [Kd3, Pf5, Pd7, Pc5] stipulation: "#3" solution: | "1.Bf3-a8 ! zugzwang. 1...c5-c4 2.Sa5-b7 threat: 3.Sb7-c5 #" --- authors: - Mansfield, Comins source: Natal Mercury date: 1912 algebraic: white: [Kc8, Rd6, Bg3, Bb5, Sh8, Sg6, Pg5, Pg2, Pf6, Pf3, Pb3, Pa4] black: [Kc5, Sd1, Sc7, Pf2, Pd5, Pb6, Pb4] stipulation: "#3" solution: | "1.Sg6-f4 ! threat: 2.Rd6*d5 + 2...Sc7*d5 3.Sf4-e6 # 1...Sd1-e3 2.Rd6-c6 + 2...Kc5-d4 3.Sf4-e2 # 2.Sf4-d3 + 2...Kc5-d4 3.Bg3-e5 # 1...Sd1-c3 2.Sf4-d3 + 2...Kc5-d4 3.Bg3*f2 # 2.Bg3*f2 + 2...Kc5*d6 3.Sh8-f7 # 2...d5-d4 3.Rd6-c6 # 1...Kc5*d6 2.Sf4-d3 + 2...Kd6-e6 3.Bb5-d7 # 2.Sf4-e6 + 2...Kd6*e6 3.Bb5-d7 # 1...Kc5-d4 2.Sf4-e2 + 2...Kd4-c5 3.Rd6-c6 # 2...Kd4-e3 3.Bg3-f4 #" --- authors: - Mansfield, Comins source: Chess date: 1941 algebraic: white: [Kb8, Qg4, Rd6, Rb2, Ba1, Sf5, Pe2, Pd5, Pb7] black: [Ke5, Ra6, Sb5, Sa8, Pd3, Pc5] stipulation: "#2" solution: | "1.Sf5-e3 ! threat: 2.Se3-c4 # 1...Sb5-a3 2.Rb2-b6 # 1...Sb5*d6 2.Rb2-a2 # 1...Ke5*d6 2.Qg4-e6 # 1...Ra6-a4 2.Rd6-e6 # 1...Ra6*d6 2.Rb2*b5 # 1...Sa8-b6 2.Rd6-e6 #" keywords: - Defences on same square - Flight giving key - Transferred mates --- authors: - Mansfield, Comins source: The Chess Review date: 1941 algebraic: white: [Ka8, Qf4, Rg7, Bh8, Bc4, Sd3, Sc6, Pa4] black: [Kc3, Bh1, Bb2, Pe4, Pb3] stipulation: "#2" solution: | "1...e4*d3 2.Rg7-g2 # 1.Sc6-b4 ! threat: 2.Rg7-c7 # 1...e4-e3 + 2.Rg7-g2 # 1...e4*d3 + 2.Rg7-b7 #" keywords: - Flight giving and taking key --- authors: - Mansfield, Comins source: American Chess Bulletin date: 1942 algebraic: white: [Kb3, Qh7, Ra5, Bf5, Bc1, Sh4, Se8, Ph3, Pe7] black: [Kg5, Bh5, Bg3, Sh2, Sf4] stipulation: "#2" solution: | "1.Qh7-h8 ! threat: 2.Qh8-f6 # 1...Sh2-g4 2.Sh4-f3 # 1...Bh5-d1 + 2.Bf5-c2 # 1...Bh5-e2 2.Bf5-d3 # 1...Bh5-f3 2.Bf5-e4 # 1...Bh5-g4 2.Bf5*g4 # 1...Bh5*e8 2.Bf5-d7 # 1...Bh5-f7 + 2.Bf5-e6 # 1...Bh5-g6 2.Bf5*g6 #" --- authors: - Mansfield, Comins source: American Chess Bulletin date: 1942 algebraic: white: [Kh8, Qg7, Rg6, Re2, Bd1, Pg3, Pf4] black: [Kh5, Qa1, Re6, Bg5, Bb1, Sh3, Sf6, Ph6, Pf5, Pe7, Pa3] stipulation: "#2" solution: | "1.Qg7-f7 ! threat: 2.Rg6*g5 # 1...Sh3*f4 2.Re2-h2 # 1...Kh5-g4 2.Re2-e3 # 1...Sf6-d5 + 2.Re2-e5 # 1...Sf6-e4 + 2.Re2-b2 # 1...Sf6-g4 + 2.Rg6-f6 # 1...Sf6-h7 + 2.Re2-e5 # 1...Sf6-g8 + 2.Re2-e5 # 1...Sf6-e8 + 2.Re2-e5 # 1...Sf6-d7 + 2.Re2-e5 # 1...Bg5*f4 2.Rg6-g8 # 2.Rg6-g7 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Blighty date: 1942 algebraic: white: [Kh8, Qf6, Rd2, Rb7, Ba8, Sf5, Sc4, Pd6] black: [Ke4, Rh1, Rb1, Ba1, Sg1, Sc3, Ph4, Pg3, Pf4, Pe6, Pc5] stipulation: "#2" solution: | "1.Qf6-g6 ! threat: 2.Sf5*h4 # 1...Sc3-a2 + 2.Rb7-b2 # 1...Sc3-d1 + 2.Rb7-b2 # 1...Sc3-e2 + 2.Rb7-b2 # 1...Sc3-d5 + 2.Sf5-d4 # 1...Sc3-b5 + 2.Rb7-g7 # 1...Sc3-a4 + 2.Rb7-b2 # 1...Ke4-f3 2.Rb7-b3 # 1...f4-f3 2.Qg6-g4 # 1...e6*f5 2.Rb7-e7 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Christian Science Monitor date: 1942 algebraic: white: [Kh7, Qc8, Rh5, Rb5, Be5, Bb1, Sc6, Sa3, Pc3] black: [Kd5, Qa7, Bc5, Sh8, Sf1, Pd7, Pa4] stipulation: "#2" solution: | "1.Qc8-e8 ! threat: 2.Sc6-b4 # 1...Kd5*c6 2.Bb1-e4 # 1...Qa7-a5 2.Qe8*d7 # 1...d7-d6 + 2.Be5-g7 # 1...d7*c6 + 2.Be5-c7 #" keywords: - Flight giving and taking key --- authors: - Mansfield, Comins source: The Fairy Chess Review date: 1942 algebraic: white: [Kc2, Rd1, Bg6, Bc1, Sh7, Ph5, Ph3, Pe2, Pc4, Pb3] black: [Ke5, Pe7, Pe6, Pc6, Pc5] stipulation: "#2" twins: b: Move b3 b4 c: Move b3 b6 d: Move b3 h2 e: Move b3 h6 solution: | "a) 1.Bc1-d2 ! zugzwang. 1...Ke5-d4 2.Bd2-f4 # 1...Ke5-d6 2.Bd2-f4 # b) wPb3--b4 1.e2-e3 ! threat: 2.Bc1-b2 # c) wPb3--b6 1.Kc2-d3 ! zugzwang. 1...Ke5-d6 2.Kd3-e4 # d) wPb3--h2 1.Rd1-d2 ! zugzwang. 1...Ke5-f4 2.Rd2-d5 # e) wPb3--h6 1.Sh7-f8 ! threat: 2.Sf8-d7 #" keywords: - 2 flights giving key --- authors: - Mansfield, Comins source: The Chess Correspondent date: 1942 algebraic: white: [Kb1, Qb2, Rg8, Bg3, Bc8, Sc2, Ph3, Pg5, Pg2, Pd3] black: [Kf5, Re6, Rd7, Ba7, Sb8, Pe3] stipulation: "#2" solution: | "1.Bg3-h2 ! threat: 2.g2-g4 # 1...Re6-e4 2.Qb2-f6 # 1...Re6-e5 2.Qb2*e5 # 1...Re6-a6 2.Qb2-e5 # 1...Re6-b6 2.Sc2-d4 # 1...Re6-c6 2.Qb2-e5 # 1...Re6-d6 2.Qb2-e5 # 1...Re6-e8 2.Qb2-f6 # 1...Re6-e7 2.Qb2-f6 # 1...Re6-h6 2.Qb2-e5 # 1...Re6-g6 2.Qb2-e5 # 1...Rd7*d3 2.Qb2-e5 # 1...Rd7-d4 2.Sc2*e3 # 1...Rd7-g7 2.Qb2-f6 # 1...Re6-f6 2.Qb2*f6 # 2.Qb2-e5 #" keywords: - Black correction - Transferred mates - Rudenko --- authors: - Mansfield, Comins source: Evening Standard date: 1943 algebraic: white: [Kc8, Qb6, Rd7, Ra2, Be2, Sc5, Pe4] black: [Ke3, Bh3, Bg1, Pg3, Pg2, Pf7, Pf5] stipulation: "#2" solution: | "1...Ke3-f2 2.Sc5-d3 # 1.Rd7-e7 ! threat: 2.Sc5-d3 # 1...Ke3-f4 2.Qb6-h6 # 1...Ke3-d4 2.Sc5-a4 # 1...f5-f4 + 2.Sc5-d7 # 1...f5*e4 + 2.Sc5-e6 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Evening Standard date: 1943 algebraic: white: [Kg8, Rh6, Ra4, Bf8, Sf6, Sb6, Pg4] black: [Ke6, Qh1, Bd3, Ph7, Pf4, Pe5] stipulation: "#2" solution: | "1.Ra4-a6 ! zugzwang. 1...Qh1-a8 2.Sf6-e4 # 1...Qh1-b7 2.Sf6-e4 # 1...Qh1-c6 2.Sf6-e4 # 1...Qh1-d5 2.Sf6-e4 # 1...Qh1-e4 2.Sf6*e4 # 1...Qh1-f3 2.Sf6-e4 # 1...Qh1-g2 2.Sf6-e4 # 1...Qh1-a1 2.Sf6-e4 # 1...Qh1-b1 2.Sf6-e4 # 1...Qh1-c1 2.Sf6-e4 # 2.Sb6-c4 # 1...Qh1-d1 2.Sf6-e4 # 2.Sb6-c4 # 1...Qh1-e1 2.Sf6-e4 # 2.Sb6-c4 # 1...Qh1-f1 2.Sf6-e4 # 2.Sb6-c4 # 1...Qh1-g1 2.Sf6-e4 # 1...Qh1*h6 2.Sb6-c4 # 1...Qh1-h5 2.Sb6-c4 # 1...Qh1-h4 2.Sb6-c4 # 1...Qh1-h3 2.Sb6-c4 # 1...Qh1-h2 2.Sb6-c4 # 1...Bd3-b1 2.Sb6-d5 # 1...Bd3-c2 2.Sb6-d5 # 1...Bd3-f1 2.Sf6-h5 # 1...Bd3-e2 2.Sf6-h5 # 1...Bd3-g6 2.Sb6-d5 # 1...Bd3-f5 2.Sb6-d5 # 1...Bd3-e4 2.Sb6-d5 # 1...Bd3*a6 2.Sf6-h5 # 1...Bd3-b5 2.Sf6-h5 # 1...Bd3-c4 2.Sf6-h5 # 1...f4-f3 2.Sb6-c4 # 1...e5-e4 2.Sb6-c4 #" keywords: - Defences on same square --- authors: - Mansfield, Comins source: Stratford Express date: 1943 algebraic: white: [Ka7, Qc7, Re4, Bd7, Sc4] black: [Kb4, Rh5, Bh7, Sa2, Pe7, Pd2, Pb3, Pb2, Pa3] stipulation: "#2" solution: | "1.Bd7-f5 ! threat: 2.Qc7-a5 # 2.Sc4-d6 # 1...Kb4-c3 2.Sc4-e5 # 1...Kb4-b5 2.Sc4*a3 #" keywords: - 2 flights giving key - Novotny --- authors: - Mansfield, Comins source: Adventures in Composition date: 1944 algebraic: white: [Kh4, Qh1, Ba3, Ba2, Sf8, Sd8, Pg5, Pg3, Pc3] black: [Ke5, Se4, Sc7, Pg4] stipulation: "#2" solution: | "1.Ba2-b1 ! threat: 2.Qh1*e4 # 1...Se4*c3 2.Sd8-c6 # 1...Se4-c5 2.Sd8-f7 # 1...Se4*g3 2.Sf8-g6 # 1...Se4*g5 2.Sf8-d7 # 1...Se4-d2 2.Sf8-d7 # 2.Sf8-g6 # 2.Sd8-c6 # 2.Sd8-f7 # 1...Se4-f2 2.Sf8-d7 # 2.Sf8-g6 # 2.Sd8-c6 # 2.Sd8-f7 # 1...Se4-f6 2.Sf8-g6 # 2.Sd8-c6 # 2.Sd8-f7 # 1...Se4-d6 2.Sf8-d7 # 2.Sf8-g6 # 2.Sd8-c6 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Adventures in Composition date: 1944 algebraic: white: [Ka8, Qa6, Bh8, Bh3, Sf2, Sc2, Pc5, Pb4] black: [Kd5, Bh5, Bh2, Sf1, Se5, Pd7] stipulation: "#2" solution: | "1...Se5-c6 2.Qa6-a2 # 1.Sc2-a3 ! threat: 2.Qa6-d6 # 1...Se5-c6 2.Qa6-c4 # 1...Kd5-d4 2.Qa6-d3 # 1...Se5-c4 {(Se~ )} 2.Qa6-b7 # 1...Se5-g4 2.Bh3-g2 # 1...Se5-g6 2.Qa6-b7 #" keywords: - Black correction - Flight giving key --- authors: - Mansfield, Comins source: Adventures in Composition date: 1944 algebraic: white: [Ka7, Qc8, Rh1, Ra3, Bh2, Bb3, Se1, Pg3, Pe4] black: [Kh3, Rh7, Bh5, Ph4, Pg5, Pf6, Pd7] stipulation: "#2" solution: | "1.g3-g4 ! threat: 2.Bb3-d1 # 2.Bb3-e6 # 1...d7-d5 + 2.Bh2-c7 # 1...d7-d6 + 2.Bb3-f7 #" --- authors: - Mansfield, Comins source: Adventures in Composition date: 1944 algebraic: white: [Kf4, Qg2, Rg4, Rd7, Bb8, Ba8, Sd3, Sb2, Pd2] black: [Kd4, Qc5, Bh1, Be7, Sf5, Sb7, Pd6] stipulation: "#2" solution: | "1.Bb8*d6 ! threat: 2.Bd6*c5 # 2.Bd6-e5 # 1...Qc5*d6 + 2.Kf4*f5 # 1...Sf5*d6 2.Kf4-g3 # 1...Sb7*d6 2.Kf4-f3 # 1...Be7*d6 + 2.Kf4-g5 # 1...Be7-g5 + 2.Kf4*g5 #" keywords: - Active sacrifice - Defences on same square - Transferred mates --- authors: - Mansfield, Comins source: Adventures in Composition date: 1944 algebraic: white: [Ka1, Qe1, Bh7, Se4, Sc5] black: [Kc2, Qa8, Rb7, Sd8, Pe3, Pc6, Pc4, Pa4] stipulation: "#2" solution: | "1.Sc5-d7 ! threat: 2.Se4-c5 # 1...Kc2-d3 2.Qe1-d1 # 1...Kc2-b3 2.Qe1-c3 # 1...Rb7-b1 + 2.Qe1*b1 # 1...Rb7-b3 2.Se4-c3 # 1...Rb7*d7 2.Qe1-b1 #" keywords: - Active sacrifice - Barnes - 2 flights giving key --- authors: - Mansfield, Comins source: Adventures in Composition date: 1944 algebraic: white: [Ka4, Qb8, Rc4, Bf6, Bb3, Sh6, Se8, Pg4, Pe7] black: [Ke6, Qa1, Rd5, Ba3, Sa5, Pe5, Pd7, Pa2] stipulation: "#2" solution: | "1.g4-g5 ! threat: 2.Se8-g7 # 1...Rd5-d1 {(R~ )} 2.Rc4-c6 # 1...Rd5-d4 2.Qb8*e5 # 1...Rd5-c5 2.Qb8-d6 # 1...Rd5-d6 2.Se8-c7 # 1...d7-d6 2.Qb8-c8 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Adventures in Composition date: 1944 algebraic: white: [Kh8, Qg7, Rb5, Bh6, Ba4, Sf8, Sf7] black: [Ke8, Qh3, Rb8, Ra8, Bg4, Bd8, Sc4, Ph4, Pe7, Pa6] stipulation: "#2" solution: | "1.Qg7-g6 ! threat: 2.Sf7-d6 # 2.Sf7-e5 # 2.Sf7-g5 # 1...e7-e5 2.Rb5*e5 # 1...e7-e6 2.Rb5-b7 # 1...Bd8-a5 2.Rb5*b8 # 1...Bd8-b6 2.Rb5-f5 # 1...Bd8-c7 2.Rb5*b8 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Chess date: 1944 algebraic: white: [Kd1, Qg2, Ra3, Bd5, Ba1, Se3] black: [Kf4, Rg5, Bc1, Sh3, Sa6, Pg4, Pf5] stipulation: "#2" solution: | "1.Qg2-d2 ! threat: 2.Se3-g2 # 1...Bc1*a3 2.Se3-f1 # 1...Bc1-b2 2.Se3-c4 # 1...Sh3-f2 + 2.Qd2*f2 # 1...Kf4-g3 2.Se3*f5 # 1...g4-g3 2.Qd2-d4 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Chess Correspondent Meredith Ty. date: 1945 algebraic: white: [Kf4, Qe4, Rb5, Rb3, Sa6, Sa3, Pa2] black: [Ka4, Rb4, Sc4, Pb6] stipulation: "#2" solution: | "1.Qe4-a8 ! threat: 2.Sa6-c5 # 1...Sc4*a3 + 2.Rb3*b4 # 1...Sc4-b2 + {(S~ )} 2.Sa6*b4 # 1...Sc4-a5 + 2.Rb5*b4 #" keywords: - Mates on same square - Black correction --- authors: - Mansfield, Comins source: Lunds Dagblad date: 1945 algebraic: white: [Kh8, Qg2, Rc8, Bb8, Sd2, Sb5, Pb4] black: [Kd5, Qe4, Bf2, Ba2, Pf6, Pf5, Pe6, Pd3] stipulation: "#2" solution: | "1.Sd2-f3 ! threat: 2.Sb5-c3 # 1...Bf2-e1 2.Rc8-c5 # 1...Bf2-c5 2.Rc8*c5 # 1...Bf2-d4 2.Qg2*a2 # 1...Qe4*f3 2.Qg2*f3 # 1...Qe4-e1 2.Sf3*e1 # 1...Qe4*b4 2.Sf3-d4 # 1...Qe4-c4 2.Sf3-d4 # 1...Qe4-d4 2.Sf3*d4 # 1...Qe4-e5 2.Sf3*e5 # 1...Qe4-h4 + 2.Sf3*h4 # 1...e6-e5 2.Qg2-g8 #" keywords: - Active sacrifice - Gamage --- authors: - Mansfield, Comins source: The Problemist date: 1945 algebraic: white: [Kb1, Qe2, Rh3, Ra5, Bb5, Se7, Se4, Ph4] black: [Kh5, Qb8, Bc3, Ba6, Sg4, Sf7, Ph6, Pf6, Pb6] stipulation: "#2" solution: | "1.Qe2-a2 ! threat: 2.Qa2*f7 # 1...Sg4-e3 2.Bb5-e2 # 1...Sg4-f2 2.Bb5-e2 # 1...Sg4-h2 2.Bb5-e2 # 1...Sg4-e5 2.Se4*f6 # 1...Sf7-d6 2.Bb5-e8 # 2.Se4-g3 # 1...Sf7-e5 2.Se4-g3 # 1...Sf7-g5 2.h4*g5 # 1...Sf7-h8 2.Bb5-e8 # 1...Sf7-d8 2.Bb5-e8 # 1...Qb8-g8 2.Se4-g3 # 1...Qb8-f8 2.Se4-g3 # 1...Qb8-e8 2.Se4-g3 #" keywords: - Black correction - Transferred mates --- authors: - Mansfield, Comins source: To Alain White source-id: 32 date: 1945 algebraic: white: [Kb1, Qb3, Re1, Ra5, Be7, Bc4, Sh4, Se6, Pe4] black: [Ke5, Rg6, Bg1, Bd5, Sf8, Sf7, Pg4, Pd4] stipulation: "#2" solution: | "1.Bc4-b5 ! threat: 2.Qb3*d5 # 1...Bd5*b3 2.Bb5-c4 # 1...Bd5-c4 2.Bb5*c4 # 1...Bd5*e4 + 2.Bb5-d3 # 1...Bd5*e6 2.Qb3-g3 # 1...Bd5-a8 2.Bb5-c6 # 1...Bd5-b7 2.Bb5-c6 # 1...Bd5-c6 2.Bb5*c6 # 1...Ke5*e6 2.e4*d5 # 1...Rg6*e6 2.Qb3-g3 # 1...Sf8*e6 2.Sh4*g6 #" keywords: - Defences on same square - Black correction - Transferred mates - Switchback --- authors: - Mansfield, Comins source: The Daily News date: 1925 algebraic: white: [Ka8, Qb7, Rc8, Rb3, Bb4, Sf5, Pc5, Pb5, Pa2] black: [Kc4, Bg7, Sf3, Se4, Pg5, Pd3] stipulation: "#2" solution: | "1.Bb4-a3 ? threat: 2.Qb7-f7 # but 1...Se4-f6 ! 1.Bb4-e1 ? {(Bd2?)} threat: 2.Qb7-f7 # 2.Rb3-b4 # but 1...Se4-c3 ! 1.Bb4-a5 ! threat: 2.Qb7-f7 # 1...Sf3-e5 2.Qb7*e4 # 1...Sf3-d4 2.Sf5-e3 # 1...Se4-c3 2.Rb3-b4 # 1...Se4-f6 2.Rb3-c3 # 1...Se4-d6 2.c5*d6 #" --- authors: - Mansfield, Comins source: The Daily News date: 1925 algebraic: white: [Kg1, Qh5, Re1, Rd1, Be5, Se4, Pf6, Pf2, Pc5, Pc4] black: [Ke6, Rc7, Ra2, Bh3, Ba5, Sa6, Pe7, Pb6] stipulation: "#2" solution: | "1...Bh3-f5 2.Se4-g5 # 1.Be5-b2 ! threat: 2.Qh5-d5 # 1...Bh3-f5 2.Se4-g5 # 1...Sa6-b4 2.Se4-g3 # 1...Rc7*c5 2.Se4*c5 # 1...Rc7-d7 2.Se4-d2 # 1...e7*f6 2.Se4-c3 #" keywords: - B2 --- authors: - Mansfield, Comins source: Grand Magazine (Norway) date: 1925 algebraic: white: [Ka8, Qd2, Rg4, Ba7, Ba4, Sf4, Pd3, Pb6, Pb2] black: [Kc5, Be5, Bd5, Sb7, Pe6, Pd6, Pb3] stipulation: "#2" solution: | "1.Rg4-g5 ! zugzwang. 1...Kc5-d4 2.Qd2-f2 # 1...Bd5-c4 2.d3-d4 # 1...Bd5-h1 2.Qd2-c3 # 1...Bd5-g2 2.Qd2-c3 # 1...Bd5-f3 2.Qd2-c3 # 1...Bd5-e4 2.Qd2-c3 # 1...Bd5-c6 2.Qd2-c3 # 1...Be5*b2 2.Sf4*e6 # 1...Be5-c3 2.Qd2*c3 # 1...Be5-d4 2.Sf4*e6 # 1...Be5*f4 2.Qd2-c3 # 1...Be5-h8 2.Sf4*e6 # 1...Be5-g7 2.Sf4*e6 # 1...Be5-f6 2.Sf4*e6 # 1...Sb7-a5 + 2.b6-b7 # 1...Sb7-d8 + 2.b6-b7 #" keywords: - Model mates - Black correction --- authors: - Mansfield, Comins source: L'Alfiere di Re source-id: 952 date: 1925-12 algebraic: white: [Kb7, Qf5, Sa6, Pe5, Pd3, Pc3, Pb3] black: [Kd5, Sa8, Pf6, Pe7, Pd7, Pc5] stipulation: "#2" solution: | "1...c5-c4 2.d3*c4 # 2.b3*c4 # 1...f6*e5 2.Qf5*d7 # 1...d7-d6 2.e5-e6 # 1...e7-e6 2.Qf5-e4 # 1...Sa8-b6 2.Sa6-c7 # 1...Sa8-c7 2.Sa6*c7 # 1.d3-d4 ! zugzwang. 1...c5-c4 2.Sa6-b4 # 1...c5*d4 2.c3-c4 # 1...f6*e5 2.Qf5*e5 # 1...d7-d6 2.e5-e6 # 1...e7-e6 2.Qf5-f3 # 1...Sa8-b6 2.Sa6-c7 # 1...Sa8-c7 2.Sa6*c7 #" keywords: - Active sacrifice - Mutate - Changed mates --- authors: - Mansfield, Comins source: L'Alfiere di Re source-id: 768 date: 1925-07 algebraic: white: [Kh7, Qg8, Rf8, Bd2, Bb1, Sd7, Sb3, Pg4, Pg2] black: [Ke4, Qc2, Rc1, Bg1, Bd1, Sh2, Sd3, Pe7, Pc5, Pb2] stipulation: "#2" solution: | "1.Rf8-f2 ! threat: 2.Qg8-a8 # 1...Qc2*b3 2.Rf2-f4 # 1...Qc2-c4 2.Rf2-f4 # 1...Qc2*d2 2.Qg8-e6 # 1...Sd3-e1 2.Qg8-c4 # 1...Sd3*f2 2.Qg8-c4 # 1...Sd3-f4 2.Qg8-c4 # 1...Sd3-e5 2.Sd7*c5 # 1...Sd3-b4 2.Qg8-c4 #" keywords: - Active sacrifice - Black correction --- authors: - Mansfield, Comins source: L'Echiquier date: 1925 algebraic: white: [Kd1, Qb1, Rb6, Bg8, Ba3, Sc6, Pe3] black: [Kd5, Rf7, Sb8, Pf5, Pe7, Pe6, Pc4, Pb3] stipulation: "#2" solution: | "1.Kd1-e2 ! threat: 2.Qb1-h1 # 1...c4-c3 2.Qb1-d3 # 1...f5-f4 2.e3-e4 # 1...e6-e5 2.Sc6*e7 # 1...Rf7-h7 2.Qb1*f5 # 1...Rf7-g7 2.Qb1*f5 # 1...Sb8*c6 2.Rb6-b5 #" --- authors: - Mansfield, Comins source: Tijdschrift vd NSB date: 1925 algebraic: white: [Kb7, Qf7, Bh1, Sc4, Sb3, Pd6] black: [Ke4, Rg2, Re3, Bh8, Sf3, Pf5, Pf4, Pd3, Pd2, Pb6] stipulation: "#2" solution: | "1...Sf3-e5 2.Sc4*d2 # 1...Sf3-d4 2.Sb3*d2 # 1.Kb7-a7 ? threat: 2.Qf7-b7 # but 1...Rg2-g7 ! 1.Kb7*b6 ? threat: 2.Qf7-b7 # but 1...Bh8-d4 + ! 1.Kb7-a8 ? {(Kb8?/Kc8?)} threat: 2.Qf7-b7 # but 1...Rg2-g8 + ! 1.Kb7-a6 ! threat: 2.Qf7-b7 # 1...Rg2-g7 2.Qf7-e6 # 1...Sf3-e5 2.Sc4*d2 # 1...Sf3-d4 2.Sb3*d2 #" --- authors: - Mansfield, Comins source: La Nau date: 1946 distinction: 1st HM algebraic: white: [Kc1, Qd2, Ra7, Bh4, Bh3, Sf3, Sd5, Pg4, Pc5] black: [Ke6, Rg5, Re8, Bh6, Pg7, Pg6, Pc6] stipulation: "#2" solution: | "1...Re7/Rd8/Rc8/Rb8/Ra8/Rf8/Rg8/Rh8 2.Rxe7# 1...Rxg4 2.Bxg4# 1...Rh5 2.gxh5#/g5# 1.Bxg5?? (2.Nf4#) 1...Re7/Rf8 2.Rxe7# 1...cxd5 2.Qe2#/Qe1#/Qe3# but 1...Bxg5! 1.Nxg5+?? 1...Ke5 2.Bg3# but 1...Bxg5! 1.Qxg5?? (2.Nd4#/Nf4#) 1...cxd5 2.Nd4# 1...Re7 2.Rxe7# 1...Rf8 2.Nd4#/Re7# but 1...Bxg5+! 1.Qa2! zz 1...cxd5 2.Qa6# 1...Rxg4+ 2.Ne3# 1...Rf5+/Re5+ 2.Nf4# 1...Rxd5+ 2.g5# 1...Rh5+ 2.g5#/Nf4# 1...Re7/Rd8/Rc8/Rb8/Ra8/Rf8/Rg8/Rh8 2.Rxe7#" --- authors: - Mansfield, Comins source: Social-Demokraten date: 1946 algebraic: white: [Kh7, Qb2, Rg6, Rd8, Bb6, Ba8, Sf6, Sd3, Pc7, Pa4] black: [Kc6, Rh5, Rb7, Be6, Sb8, Sa7, Ph6, Pe5] stipulation: "#2" solution: | "1.Qb2-b3 ! threat: 2.Qb3*e6 # 1...Be6*b3 2.Sf6-d5 # 1...Be6-c4 2.Sf6-d5 # 1...Be6-d5 2.Sf6*d5 # 1...Be6-h3 2.Sf6-g4 # 1...Be6-g4 2.Sf6*g4 # 1...Be6-f5 2.Sd3*e5 # 1...Be6-g8 + 2.Sf6*g8 # 1...Be6-f7 2.c7*b8=S # 1...Be6-c8 2.Sf6-d7 # 1...Be6-d7 2.Sf6*d7 # 1...Sa7-b5 2.Qb3*b5 # 1...Sa7-c8 2.Qb3-b5 #" keywords: - Active sacrifice - Black correction --- authors: - Mansfield, Comins source: South African Chess Magazine date: 1946 algebraic: white: [Ka8, Qd1, Re6, Ra2, Bf7, Bd4, Sc3, Sb2, Pc5] black: [Kb3, Rf2, Rc2, Bh5, Bb4, Pe3, Pd3] stipulation: "#2" solution: | "1.Sc3-e2 ! threat: 2.Se2-c1 # 1...Rf2*e2 2.Re6-g6 # 1...Kb3*a2 2.Re6-a6 # 1...d3-d2 2.Re6*e3 # 1...d3*e2 2.Re6*e3 # 1...Bb4-a3 {(Bb~ )} 2.Re6-b6 # 1...Bh5*e2 2.Re6-f6 # 1...Bh5-f3 + 2.Re6-e4 #" keywords: - Defences on same square - Flight giving key --- authors: - Mansfield, Comins source: The Chess Problem date: 1946 algebraic: white: [Kh8, Qd8, Rh5, Rd1, Bh6, Se5, Sd3] black: [Ke4, Rc1, Ra2, Bd4, Sf2, Sa1, Pf3, Pc6, Pc5, Pa4] stipulation: "#2" solution: | "1.Qd8-e8 ! threat: 2.Qe8*c6 # 1...Bd4-b2 2.Sd3*f2 # 1...Bd4-c3 2.Sd3*c5 # 1...Bd4-e3 2.Se5*c6 # 1...Bd4*e5 + 2.Qe8*e5 #" keywords: - Black correction - Flight giving key --- authors: - Mansfield, Comins source: Colville's Magazine date: 1947 algebraic: white: [Kb4, Qe8, Bh1, Bd6, Se4, Pe6, Pc3, Pb6, Pa5] black: [Kc6, Rg7, Rf8, Sd7] stipulation: "#2" solution: | "1.Bd6-h2 ! zugzwang. 1...Kc6-d5 2.Se4-f6 # 1...Kc6-b7 2.Se4-c5 # 1...Rg7-g1 {(Rg~g)} 2.Qe8*d7 # 1...Rg7-e7 {(Rg~7)} 2.Se4-f6 # 1...Rf8-f1 {(Rf~f)} 2.Qe8-a8 # 1...Rf8*e8 {(Rf~8)} 2.Se4-g5 #" --- authors: - Mansfield, Comins source: L'Italia Scacchistica date: 1947 algebraic: white: [Ka8, Qb7, Rh6, Rf2, Be7, Se2, Sc4, Ph5, Ph4, Pg2] black: [Kf5, Rf1, Rd6, Bf3, Bb8, Sd1, Pg4, Pa7] stipulation: "#2" solution: | "1.Be7-g5 ! threat: 2.Se2-g3 # 1...g4-g3 2.Qb7*f3 # 1...Rd6-d2 2.Rh6-f6 # 1...Rd6-d3 2.Rh6-f6 # 1...Rd6-d5 2.Qb7-h7 # 1...Rd6-a6 2.Se2-d4 # 1...Rd6-b6 2.Se2-d4 # 1...Rd6-c6 2.Qb7-b1 # 1...Rd6-d8 2.Rh6-f6 # 1...Rd6-d7 2.Rh6-f6 # 1...Rd6*h6 2.Se2-d4 # 1...Rd6-g6 2.Se2-d4 # 1...Rd6-e6 2.Se2-d4 # 1...Rd6-d4 2.Rh6-f6 # 2.Se2*d4 # 1...Rd6-f6 2.Rh6*f6 # 2.Se2-d4 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Somerset Chess Association Supplement date: 1948 algebraic: white: [Ke1, Qh8, Be6, Sh5, Sf3, Pg3, Pe3, Pd2] black: [Kg2, Pe7, Pd3] stipulation: "#2" solution: | "1...Kg2-h1 2.Sh5-f4 # 1.Qh8-a1 ! zugzwang. 1...Kg2-h1 2.Ke1-f2 # 1...Kg2*f3 2.Qa1-a8 #" keywords: - Mutate --- authors: - Mansfield, Comins source: South African Chess Magazine date: 1948 algebraic: white: [Kb1, Qb5, Re7, Rd5, Bh5, Be5, Se6, Pg5] black: [Ke4, Qe8, Rh3, Bc3, Ba8, Sd1, Ph4, Pf5, Pd4, Pb2] stipulation: "#2" solution: | "1.Be5-g3 ! threat: 2.Rd5-e5 # 1...d4-d3 2.Qb5*d3 # 1...Ke4-e3 2.Qb5-e2 # 1...Ba8*d5 2.Se6-c5 # 1...Qe8*b5 2.Se6-f4 # 1...Qe8*h5 2.Se6*d4 # 1...Qe8-b8 2.Se6-c7 # 1...Qe8-h8 2.Se6-g7 #" --- authors: - Mansfield, Comins source: Stratford Express date: 1948 algebraic: white: [Ka2, Qd1, Rg6, Rf8, Bd2, Ba8, Sc4, Ph5, Pg3] black: [Kf5, Qf7, Rd3, Bh3, Bb2, Sh6, Pg5, Pe5, Pd6, Pc3] stipulation: "#2" solution: | "1.Qd1-a4 ! threat: 2.Qa4-d7 # 1...Rd3-d5 2.Sc4-e3 # 1...Kf5-g4 2.Rg6*g5 # 1...d6-d5 2.Sc4-d6 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Sunday Chronicle date: 1948 algebraic: white: [Kh2, Qe5, Rf8, Rc6, Bh4, Ba8, Sf4, Se3, Ph3, Pe6] black: [Kf3, Qa7, Bc2, Sg1, Sc5, Pd2, Pc3, Pb3] stipulation: "#2" solution: | "1.Se3-g2 ! threat: 2.Qe5-e3 # 1...Sg1*h3 2.Qe5-e2 # 1...Bc2-e4 2.Qe5-h5 # 1...d2-d1=S 2.Sg2-e1 # 1...Sc5-a4 {(Sc~ )} 2.Rc6*c3 # 1...Sc5-d3 2.Qe5-d5 # 1...Sc5-e4 2.Qe5-h5 # 1...Sc5-b7 2.Sf4-d3 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Suomen Shakki date: 1948 algebraic: white: [Kh1, Qd7, Rc8, Rb2, Bb1, Ba1, Sg5, Sa3, Pe3, Pa2] black: [Kc3, Qa8, Ra4, Bf8, Ba6, Sc6, Pg4, Pe7, Pd3] stipulation: "#2" solution: | "1.Sa3-c4 ! threat: 2.Qd7*d3 # 1...Kc3*c4 2.Qd7-d4 # 1...Ba6*c4 2.Sg5-e4 # 1...Sc6-a5 + {(S~ )} 2.Rb2-b7 # 1...Sc6-b4 + 2.Rb2-g2 #" keywords: - Black correction - Flight giving key - Grimshaw --- authors: - Mansfield, Comins source: Tidskrift för Schack date: 1948 algebraic: white: [Ka4, Qh2, Rf3, Rb3, Sd6, Sa3, Pe3, Pc3] black: [Kd3, Re8, Rc8, Sd2, Sb4, Pf4, Pa7] stipulation: "#2" solution: | "1.Sa3-b1 ! threat: 2.Qh2*d2 # 1...Sd2*b1 2.e3-e4 # 1...Sd2-f1 2.c3-c4 # 1...Sd2*f3 2.c3-c4 # 1...Sd2-e4 2.e3*f4 # 1...Sd2-c4 2.c3*b4 # 1...Sd2*b3 2.e3-e4 #" keywords: - Active sacrifice - Black correction - Flight giving key --- authors: - Mansfield, Comins source: Tijdschrift vd KNSB date: 1948 algebraic: white: [Kf8, Qb8, Re8, Rd2, Bh1, Ba7, Se7, Sb1, Pg3] black: [Ke3, Qc5, Rc4, Ra6, Bf5, Ba3, Sc8, Pf6] stipulation: "#2" solution: | "1.Bh1-e4 ! threat: 2.Qb8-f4 # 1...Rc4*e4 2.Qb8-b3 # 1...Ra6-d6 2.Se7*f5 # 1...Sc8-d6 2.Se7-d5 #" keywords: - Active sacrifice - Flight giving key - Grimshaw - Rudenko --- authors: - Mansfield, Comins source: Chess date: 1949 algebraic: white: [Kd1, Qc2, Ra1, Bh2, Sh4, Sf2, Pg2] black: [Kf1, Qc8, Rg6, Rf5, Bh8, Bc4, Se5, Pf7, Pd6, Pb7, Pa6] stipulation: "#2" solution: | "1.Sf2-h1 ! threat: 2.Kd1-d2 # 1...Bc4-a2 2.Qc2-e2 # 1...Bc4-e2 + 2.Qc2*e2 # 1...Se5-d3 2.Qc2-e2 # 1...Se5-f3 2.Qc2-f2 # 1...Se5-g4 2.Sh1-g3 # 1...Se5-d7 2.Qc2*f5 # 1...Se5-c6 2.Qc2*c4 # 1...Rf5-f2 2.Qc2*f2 # 1...Rg6*g2 2.Qc2*g2 #" --- authors: - Mansfield, Comins source: The Field date: 1949-11-19 algebraic: white: [Kb7, Qb4, Rh5, Re8, Sf7, Se6, Ph7, Pf2, Pe5] black: [Kd5, Re1, Rd1, Bf1, Bc1, Sa8, Pf4, Pf3, Pb6, Pb5] stipulation: "#2" solution: | "1.Sf7-g5 ! zugzwang. 1...Bc1-e3 2.Qb4-e4 # 1...Bc1-d2 2.Qb4-d4 # 1...Bc1-a3 2.Se6*f4 # 1...Bc1-b2 2.Se6*f4 # 1...Rd1-d4 2.Qb4*d4 # 1...Rd1-d3 2.Qb4*b5 # 1...Rd1-d2 2.Se6*f4 # 1...Re1*e5 2.Re8-d8 # 1...Re1-e4 2.Qb4*e4 # 1...Re1-e3 2.Se6*f4 # 1...Re1-e2 2.Qb4*b5 # 1...Bf1-h3 2.Qb4*b5 # 1...Bf1-g2 2.Qb4*b5 # 1...Bf1-c4 2.Qb4-d6 # 1...Bf1-d3 2.Qb4-d4 # 1...Bf1-e2 2.Qb4-e4 # 1...Kd5*e5 2.Sg5-e4 # 1...Sa8-c7 2.Se6*c7 #" keywords: - Black correction - Flight giving key - Grimshaw --- authors: - Mansfield, Comins source: American Chess Bulletin date: 1952 algebraic: white: [Kf1, Qa7, Rd1, Rc1, Bg4, Sd6, Sc4, Pf6, Pc7, Pb6] black: [Kd7, Qc8, Rh7, Bh2, Se6, Sd8, Pe5] stipulation: "#2" solution: | "1.b6-b7 ! threat: 2.Sc4-b6 # 1...Bh2-g1 2.Sc4*e5 # 1...Kd7-c6 2.Sc4*e5 # 1...Kd7*c7 2.b7*c8=Q # 1...Qc8*b7 2.c7-c8=Q # 1...Qc8*c7 2.b7-b8=S # 1...Sd8-c6 2.b7*c8=Q #" keywords: - Active sacrifice - Flight giving key --- authors: - Mansfield, Comins source: Chess date: 1952 algebraic: white: [Kd7, Qf1, Rg5, Ra4, Ba8, Ba1, Sg2, Sf7, Pd5] black: [Ke4, Rd4, Bf5, Bb4, Se2, Pg3, Pe6, Pd3, Pa5] stipulation: "#2" solution: | "1.Rg5-h5 ! zugzwang. 1...Se2-c1 {(S~ )} 2.Qf1-f4 # 1...d3-d2 2.Qf1*e2 # 1...Bb4-a3 2.d5-d6 # 1...Bb4-e1 {(Bb~ )} 2.d5-d6 # 1...Bb4-d6 2.d5*e6 # 1...Bb4-c5 2.d5-d6 # 1...Rd4-c4 2.Sf7-g5 # 1...Rd4*d5 + 2.Sf7-d6 # 1...Bf5-h3 {(Bf~ )} 2.Rh5-e5 # 1...e6-e5 + 2.Qf1*f5 # 1...e6*d5 + 2.Qf1*f5 #" keywords: - Black correction - Transferred mates --- authors: - Mansfield, Comins source: Chess Life date: 1952 algebraic: white: [Ka6, Qh7, Re8, Rc3, Be6, Ba1, Sd7, Sb4, Pg4, Pe3, Pd2, Pc5] black: [Ke4, Qh8, Rg6, Bg3, Sc8] stipulation: "#2" solution: | "1.Sd7-e5 ! threat: 2.Rc3-c4 # 1...Bg3*e5 2.Qh7-b7 # 1...Sc8-b6 2.Be6-f5 # 1...Sc8-d6 2.Be6-d5 # 1...Qh8*e5 2.Qh7-h1 #" keywords: - Active sacrifice - Flight giving and taking key --- authors: - Mansfield, Comins source: Il Due Mosse source-id: 100 date: 1952-10 algebraic: white: [Kg3, Qb3, Rf2, Re5, Bd5, Sg4, Sf1, Pc3] black: [Kd3, Qc7, Bf5, Be1, Sg2, Sa3, Pb4] stipulation: "#2" solution: | "1.Bd5-f3 ! threat: 2.Bf3-e2 # 1...Be1*f2 + 2.Sg4*f2 # 1...Be1*c3 2.Rf2-d2 # 1...Sg2-f4 2.Re5-e3 # 1...b4*c3 2.Qb3-d5 # 1...Bf5*g4 2.Bf3-e4 # 1...Qc7*e5 + 2.Sg4*e5 # 1...Qc7*c3 2.Re5-d5 #" keywords: - Defences on same square --- authors: - Mansfield, Comins source: The Jerusalem Post date: 1952 algebraic: white: [Kg4, Qe4, Rb6, Be8, Sc6, Sb3] black: [Ka4, Rd1, Rc4, Bd4, Pg3, Pb7, Pa3] stipulation: "#2" solution: | "1.Qe4-c2 ! threat: 2.Sb3-c5 # 2.Qc2*c4 # 1...a3-a2 2.Qc2*a2 # 1...Rc4*c2 2.Rb6-b4 # 1...Bd4-c3 + 2.Sb3-d4 # 1...Bd4-c5 + 2.Sc6-d4 # 1...b7*c6 2.Qc2*c4 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: The Argonaut date: 1952 algebraic: white: [Kb7, Qc8, Rd6, Be6, Sh5, Sf7, Pe2, Pd2, Pc7] black: [Ke4, Rh8, Rh3, Bh7, Sg2, Sf3, Ph4, Pg5, Pb5] stipulation: "#2" solution: | "1.Be6-b3 ! threat: 2.Bb3-c2 # 1...Sg2-e1 2.Qc8-g4 # 1...Sg2-f4 2.Sh5-f6 # 1...Sg2-e3 2.d2-d3 # 1...Sf3*d2 2.Qc8-e6 # 1...Sf3-e1 2.Qc8-e6 # 1...Sf3-g1 2.Qc8-e6 # 1...Sf3-h2 2.Qc8-e6 # 1...Sf3-e5 2.Sf7*g5 # 1...Sf3-d4 2.Bb3-d5 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Tijdschrift vd KNSB date: 1952 algebraic: white: [Kf7, Qa2, Rh5, Rc7, Bg2, Bc5, Se4, Sc4, Pf3, Pb3] black: [Kd5, Qd3, Rf4, Rb5, Bf1, Sa7, Pf6, Pe5, Pb6] stipulation: "#2" solution: | "1.Rh5-h8 ! threat: 2.Rh8-d8 # 1...Qd3*b3 2.Sc4-e3 # 1...Qd3*f3 2.Se4-c3 # 1...Rf4*f3 2.Se4*f6 # 1...Rb5*b3 2.Sc4*b6 # 1...Sa7-c6 2.Rc7-d7 # 1...Sa7-c8 2.Qa2-a8 #" --- authors: - Mansfield, Comins source: Time & Tide date: 1952 algebraic: white: [Ka5, Qb5, Rf8, Ra2, Bf4, Bd3, Ph2] black: [Kf3, Rh5, Ph4, Pg5, Pe6, Pd7] stipulation: "#2" solution: | "1.Qb5-e5 ? threat: 2.Qe5-e2 # 1...g5*f4 2.Rf8*f4 # but 1...Kf3-g4 ! 1.Bd3-f1 ? threat: 2.Qb5-e2 # 1...Kf3-e4 2.Qb5-d3 # 1...g5-g4 2.Bf1-g2 # but 1...g5*f4 ! 1.Qb5-b3 ! threat: 2.Qb3-d1 # 1...Kf3-g4 2.Bd3-e2 # 1...g5-g4 + 2.Bf4-g5 # 1...g5*f4 + 2.Bd3-f5 #" --- authors: - Mansfield, Comins source: Time & Tide date: 1952 algebraic: white: [Kc1, Qe8, Rd3, Be2, Bd6, Sa2, Pc5] black: [Kc4, Qh2, Rh4, Bb3, Se7] stipulation: "#2" solution: | "1.Qe8-a8 ! threat: 2.Qa8-a6 # 1...Qh2-g1 + 2.Rd3-d1 # 1...Qh2*d6 2.Rd3-d5 # 1...Qh2-f4 + 2.Rd3-d2 # 1...Qh2-h1 + 2.Rd3-d1 # 1...Bb3*a2 2.Qa8-a4 # 1...Bb3-a4 2.Qa8*a4 # 1...Kc4-b5 2.Rd3*b3 # 1...Rh4-d4 2.Rd3-c3 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Time & Tide date: 1952 algebraic: white: [Kh8, Qe8, Rg3, Ra4, Bh2, Bc8, Sc5, Pf5] black: [Kf4, Qe1, Rb4, Rb2, Pg6, Pf6, Pf2, Pe4] stipulation: "#2" solution: | "1.Qe8-b5 ! threat: 2.Sc5-e6 # 1...Rb4*b5 2.Sc5-d3 # 1...e4-e3 2.Qb5-b8 # 1...Kf4-e5 2.Rg3-d3 #" keywords: - Active sacrifice - Flight giving key --- authors: - Mansfield, Comins source: The Problemist date: 1953 algebraic: white: [Kd1, Qa2, Rf3, Rb6, Bh2, Bh1, Sg4, Sa4, Pf5] black: [Kd5, Ra5, Se4, Sc4, Pd4, Pa3] stipulation: "#2" solution: | "1...Se4-d2 {(Se~ )} 2.Sg4-f6 # 1...Se4-c3 + 2.Rf3*c3 # 1...Se4-f2 + 2.Rf3*f2 # 1...Se4-g3 2.Rf3*g3 # 1.Rf3-b3 ! {display-departure-square} threat: 2.Sg4-f6 # 1...Sc4-b2 + 2.Rb3*b2 # 1...Sc4-d2 {(Sc~ )} 2.Rb3-b5 # 1...Sc4-e3 + 2.Rb3*e3 # 1...Sc4*b6 2.Rb3*b6 # 1...d4-d3 2.Rb3*d3 # 1...Ra5*a4 2.Rb3-b5 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Time & Tide date: 1953 algebraic: white: [Kb1, Re1, Rb4, Ba1, Se4, Sa3, Pf3] black: [Kd3, Bc7, Sb2, Pf4] stipulation: "#2" solution: | "1.Sa3-c4 ! threat: 2.Sc4*b2 # 1...Sb2-d1 2.Se4-c5 # 1...Sb2*c4 2.Rb4-b3 # 1...Sb2-a4 2.Se4-f2 # 1...Kd3-d4 2.Re1-d1 # 1...Bc7-e5 2.Sc4*e5 #" keywords: - Active sacrifice - Black correction - Flight giving key --- authors: - Mansfield, Comins source: Time & Tide date: 1953 algebraic: white: [Kf7, Rd1, Rc3, Bg2, Sa5, Pf2, Pd4, Pc2] black: [Kd5, Re4, Be5, Sa7, Pg3, Pf6, Pd6] stipulation: "#2" solution: | "1.Rc3-f3 ! threat: 2.c2-c4 # 1...Re4-e1 2.Rf3-e3 # 1...Re4-e2 2.Rf3-e3 # 1...Re4-e3 2.Rf3*e3 # 1...Re4*d4 2.Rf3-c3 # 1...Re4-h4 2.Rf3-f4 # 1...Re4-g4 2.Rf3-f4 # 1...Re4-f4 2.Rf3*f4 # 1...Be5*d4 2.Rf3-f5 #" keywords: - Switchback --- authors: - Mansfield, Comins source: Time & Tide date: 1953 algebraic: white: [Ke4, Qe7, Bh1, Sc4, Ph2, Pf2, Pa4] black: [Kc6, Bf4, Sh6, Sc1, Ph3, Pg5, Pc5] stipulation: "#2" solution: | "1...Sc1-e2 {(Sc~ )} 2.Ke4-d3 # 1...Sh6-f5 {(Sh~ )} 2.Ke4*f5 # 1...Bf4-d2 2.Ke4-e5 # 1.Ke4-f3 ! zugzwang. 1...Sc1-e2 {(Sc~ )} 2.Kf3*e2 # 1...Sh6-f5 {(Sh~ )} 2.Kf3-g4 # 1...Bf4-d2 2.Kf3-g3 # 1...Bf4*h2 2.Kf3-e3 # 1...Bf4-b8 2.Kf3-e3 # 1...Bf4-c7 2.Kf3-e3 # 1...Bf4-d6 2.Kf3-e3 # 1...Bf4-e5 2.Kf3-e3 # 1...g5-g4 + 2.Kf3*f4 # 1...Kc6-d5 2.Qe7-e4 #" keywords: - Mutate - Flight giving key - Changed mates --- authors: - Mansfield, Comins source: Time & Tide date: 1953 algebraic: white: [Ka6, Qg2, Rh2, Bh7, Ba7, Se4] black: [Kd3, Rd1, Bd2, Sc1, Sb1, Pf7, Pf4, Pc4, Pc2, Pb3] stipulation: "#2" solution: | "1.Qg2-g7 ! threat: 2.Qg7-d4 # 1...Sc1-e2 2.Se4-f2 # 1...Bd2-e3 2.Se4-c5 # 1...Bd2-c3 2.Se4-f6 # 1...f7-f6 2.Qg7-d7 #" keywords: - B2 --- authors: - Mansfield, Comins source: Time & Tide date: 1953 algebraic: white: [Ka2, Qb4, Rd5, Rd3, Bh5, Bd4, Sg7, Sg4, Pc3] black: [Kf4, Ra6, Sh2, Se4, Pe6, Pa4] stipulation: "#2" solution: | "1.Sg4-f2 ! threat: 2.Sf2-h3 # 1...Sh2-f3 2.Rd3*f3 # 1...Se4*c3 + 2.Bd4*c3 # 1...Se4-d2 2.Qb4-f8 # 1...Se4*f2 2.Bd4*f2 # 1...Se4-g3 2.Bd4-e3 # 1...Se4-g5 2.Bd4-e5 # 1...Se4-f6 2.Bd4*f6 # 1...Se4-d6 2.Sg7*e6 # 1...Se4-c5 2.Bd4*c5 #" keywords: - Black correction - B2 --- authors: - Mansfield, Comins source: American Chess Bulletin date: 1954 algebraic: white: [Kh8, Qa8, Ra7, Bh3, Sh6, Sd3, Pg4] black: [Ke6, Qf4, Rg6, Bb4, Ph7, Pf6, Pd6] stipulation: "#2" solution: | "1.Sh6-f5 ! threat: 2.Ra7-e7 # 1...Qf4*f5 2.g4*f5 # 1...Qf4*g4 2.Sf5-d4 # 1...d6-d5 2.Qa8-c8 # 1...Rg6*g4 2.Sf5-g7 # 1...Rg6-g8 + 2.Qa8*g8 # 1...Rg6-g7 2.Sf5*g7 #" keywords: - Changed mates --- authors: - Mansfield, Comins - Clark, Cecil Henry Douglas source: Chess Problem Research Pamphlet date: 1954 algebraic: white: [Kg8, Qd5, Rb8, Bd8, Sc5, Pc2] black: [Kb4, Qa8, Bb5, Sb7, Pc3, Pa7, Pa3] stipulation: "#2" solution: | "1.Sc5-e6 ! threat: 2.Qd5-b3 # 1...Bb5-a4 2.Bd8-a5 # 2.Bd8-e7 # 2.Qd5-c5 # 1...Bb5-c4 2.Qd5-a5 # 1...Sb7-a5 2.Qd5*b5 # 1...Sb7-c5 2.Qd5-d4 # 1...Sb7*d8 2.Qd5*b5 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: L'Italia Scacchistica date: 1954 algebraic: white: [Kh8, Qh5, Re5, Rc1, Bh1, Bg1, Sc4, Pe4, Pa4] black: [Kc6, Rd4, Ba1, Pd7, Pd6, Pc7, Pb7] stipulation: "#2" solution: | "1.Re5-e6 ! threat: 2.Qh5-b5 # 1...Rd4-d1 + {(R~ )} 2.Sc4-e5 # 1...Rd4*c4 + 2.e4-e5 # 1...Rd4*e4 + 2.Sc4-b2 # 1...b7-b6 2.Sc4-a5 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: The Problemist date: 1954 algebraic: white: [Kh7, Qb7, Rf5, Rf1, Bg6, Sd1, Sb3, Pg5, Pf6, Pc2] black: [Ke4, Qd6, Rh3, Sf3, Sd5, Ph5, Pg7, Pb4] stipulation: "#2" solution: | "1.Qb7-b5 ! threat: 2.Qb5-d3 # 1...Sf3-d2 2.Rf5*d5 # 1...Sf3-h4 2.Qb5-c4 # 1...Sf3*g5 + 2.Rf5*g5 # 1...Sf3-e5 2.Rf5-f4 # 1...Sf3-d4 2.Sb3-d2 # 1...Sd5-c3 2.Rf5*f3 # 1...Sd5-e3 2.Sd1-f2 # 1...Sd5-f4 2.Rf5-e5 # 1...Sd5*f6 + 2.Rf5*f6 # 1...Sd5-e7 2.Qb5-e2 # 1...Qd6-a6 2.Qb5*d5 # 1...Sd5-c7 2.Rf5*f3 # 2.Qb5-e2 # 1...Sd5-b6 2.Rf5*f3 # 2.Qb5-e2 # 1...Sf3-e1 2.Rf5*d5 # 2.Qb5-c4 # 1...Sf3-g1 2.Rf5*d5 # 2.Qb5-c4 # 1...Sf3-h2 2.Rf5*d5 # 2.Qb5-c4 #" keywords: - Black correction --- authors: - Mansfield, Comins source: The Tablet date: 1954-05-15 algebraic: white: [Kg6, Qd5, Ra8, Bh6, Bg8, Sg7, Sf6, Pg4, Pe5, Pd6, Pd3, Pb6] black: [Kh8, Rc2, Ra1, Bb2, Pd4, Pb7] stipulation: "#2" solution: | "1.Qd5-h1 ! zugzwang. 1...Ra1*a8 2.Bh6-d2 # 1...Ra1-a7 2.Bh6-d2 # 1...Ra1-a6 2.Bh6-d2 # 1...Ra1-a5 2.Bh6-d2 # 1...Ra1-a4 2.Bh6-d2 # 1...Ra1-a3 2.Bh6-d2 # 1...Ra1-a2 2.Bh6-d2 # 1...Ra1*h1 2.Bg8-c4 # 1...Ra1-g1 2.Bg8-c4 # 1...Ra1-f1 2.Bg8-c4 # 1...Ra1-e1 2.Bg8-c4 # 1...Ra1-d1 2.Bg8-c4 # 1...Ra1-c1 2.Bg8-c4 # 1...Ra1-b1 2.Bg8-c4 # 1...Bb2-c1 2.Bh6-d2 # 1...Bb2-c3 2.Bg8-a2 # 1...Bb2-a3 2.Bg8-c4 # 1...Rc2-c1 2.Bh6*c1 # 1...Rc2-c8 2.Bh6-c1 # 1...Rc2-c7 2.Bh6-c1 # 1...Rc2-c6 2.Bh6-c1 # 1...Rc2-c5 2.Bh6-c1 # 1...Rc2-c4 2.Bh6-c1 # 1...Rc2-c3 2.Bh6-c1 # 1...Rc2-h2 2.Bg8-a2 # 1...Rc2-g2 2.Bg8-a2 # 1...Rc2-f2 2.Bg8-a2 # 1...Rc2-e2 2.Bg8-a2 # 1...Rc2-d2 2.Bg8-a2 #" keywords: - Defences on same square --- authors: - Mansfield, Comins source: Time & Tide date: 1954 algebraic: white: [Kg2, Qb7, Rf8, Ba1, Sd5, Pg4, Pf4, Pe2, Pd4] black: [Ke4, Sc7, Sb6, Pg5, Pe5] stipulation: "#2" solution: | "1.Kg2-f2 ! zugzwang. 1...e5*f4 2.Sd5-f6 # 1...e5*d4 2.Sd5-c3 # 1...g5*f4 2.Sd5-f6 # 1...Sb6-a4 {(Sb~ )} 2.Sd5*c7 # 1...Sb6*d5 2.Qb7-b1 # 1...Sc7-a6 {(Sc~ )} 2.Sd5*b6 # 1...Sc7*d5 2.Qb7-h7 #" keywords: - Black correction - B2 --- authors: - Mansfield, Comins source: Time & Tide date: 1954 algebraic: white: [Ke1, Qc5, Rh3, Sf7, Sf1, Pd6, Pc4, Pc2] black: [Ke4, Bh6, Sg4, Pf5, Pf4, Pe6, Pe3] stipulation: "#2" solution: | "1...Sg4-f6 {(S~ )} 2.Qc5-e5 # 1.Rh3-h4 ! zugzwang. 1...Sg4-f2 {(S~ )} 2.Qc5*e3 # 1...Bh6-g5 {(B~ )} 2.Sf7*g5 # 1...e3-e2 2.Sf1-d2 # 1...Ke4-f3 2.Qc5-c6 # 1...f4-f3 2.Qc5-e5 # 1...e6-e5 2.Qc5-d5 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Time & Tide date: 1954 algebraic: white: [Kg8, Qg2, Ra6, Bc2, Pc4, Pc3] black: [Ke5, Re1, Sf3, Sd3, Pf5, Pf4, Pe2] stipulation: "#2" solution: | "1.Kg8-f8 ! zugzwang. 1...Re1-a1 {(R~ )} 2.Qg2*e2 # 1...Sd3-b2 {(Sd~ )} 2.Qg2-g7 # 1...Sf3-d2 {(Sf~ )} 2.Qg2-d5 # 1...Ke5-e4 2.Ra6-e6 #" keywords: - Transferred mates --- authors: - Mansfield, Comins source: American Chess Bulletin date: 1955 algebraic: white: [Kg2, Qa6, Re2, Rc4, Bf1, Se3] black: [Kd3, Qe7, Rh6, Rh5, Bh4, Se4, Pg4, Pb4, Pa3] stipulation: "#2" solution: | "1.Se3-c2 ! threat: 2.Re2-f2 # 1...Se4-c3 2.Rc4-d4 # 1...Se4-d2 2.Re2-e3 # 1...Se4-f2 2.Sc2-e1 # 1...Se4-g3 2.Sc2-e1 # 1...Se4-g5 2.Rc4-c6 # 1...Se4-f6 2.Rc4-c5 # 1...Se4-d6 2.Sc2*b4 # 1...Se4-c5 2.Sc2*b4 #" --- authors: - Mansfield, Comins source: The Problemist source-id: 3591 date: 1955 algebraic: white: [Kc8, Qf7, Re8, Ra4, Bc4, Sf3, Se5, Pg5, Pf4, Pd2] black: [Ke4, Qa1, Rc2, Bh2, Sa6, Pd3, Pb2, Pa3] stipulation: "#2" solution: | "1.Sf3-d4 ! threat: 2.Se5-f3 # 2.Se5-c6 # 1...Rc2*c4 + 2.Se5-c6 # 1...Bh2*f4 2.Qf7-d5 # 1...Ke4*d4 2.Qf7-d5 # 1...Sa6-c5 2.Bc4-d5 # 1...Sa6-c7 2.Bc4*d3 #" keywords: - Flight giving key - Rudenko --- authors: - Mansfield, Comins source: The Tablet date: 1955-07-09 algebraic: white: [Kc8, Qd6, Rc2, Bd8, Bb1, Sf4, Sc3, Pf3] black: [Kf5, Rg2, Rc5, Bb2, Ba2, Ph6, Pe6, Pe3, Pc6] stipulation: "#2" solution: | "1.Sc3-e2 ! threat: 2.Rc2*c5 # 1...Ba2*b1 2.Qd6*e6 # 1...Ba2-c4 2.Rc2*c4 # 1...Bb2-e5 2.Qd6-d3 # 1...Bb2-c3 2.Rc2*a2 # 1...Rc5*c2 2.Bb1*c2 # 1...Rc5-c3 2.Se2-d4 # 1...Rc5-c4 2.Qd6*e6 # 1...Rc5-e5 2.Qd6-f8 # 1...Rc5-d5 2.Qd6*e6 # 1...e6-e5 2.Qd6-f6 #" keywords: - Defences on same square - Grimshaw --- authors: - Mansfield, Comins source: Time & Tide source-id: v date: 1955-05-07 algebraic: white: [Kb5, Qb8, Re2, Bg2, Sf5, Sb3] black: [Kd7, Rc3, Ba5, Sg8, Pd2, Pc2, Pb4] stipulation: "#2" solution: | "1.Bg2-h3 ! threat: 2.Sf5-g3 # 1...Rc3-c8 2.Qb8-d6 # 1...Rc3-c7 2.Qb8-e8 # 1...Rc3-c6 2.Sf5-d6 # 1...Rc3-c5 + 2.Sb3*c5 # 1...Rc3-c4 2.Sf5-d4 # 1...Rc3*h3 2.Sb3-c5 # 1...Rc3-f3 2.Sb3-c5 # 1...Rc3-e3 2.Sb3-c5 # 1...Ba5-c7 2.Qb8-e8 # 1...Sg8-e7 {(S~ )} 2.Re2*e7 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: Time & Tide date: 1955 algebraic: white: [Kg6, Qf6, Bf7, Bd6, Sd5, Pg5, Pe2, Pc2, Pb6, Pa4] black: [Kc4, Rd4, Rc5, Pc3, Pb7] stipulation: "#2" solution: | "1.Qf6-h8 ! zugzwang. 1...Rd4-d1 {(Rd~ )} 2.Qh8*c3 # 1...Rd4-d3 2.e2*d3 # 1...Rd4*d5 2.Qh8-h4 # 1...Rc5-a5 {(Rc~ )} 2.Sd5-e3 # 1...Rc5*d5 2.Qh8-c8 # 1...Rd4-h4 2.Qh8*c3 # 2.Qh8*h4 # 1...Rc5-c8 2.Qh8*c8 # 2.Sd5-e3 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Time & Tide date: 1955 algebraic: white: [Kg3, Qc2, Rd8, Bh6, Sf7, Pe4, Pb4, Pb3] black: [Kd4, Qa4, Bh7, Pf3, Pe6, Pd6, Pd5] stipulation: "#2" solution: | "1.Sf7-e5 ! threat: 2.Se5*f3 # 1...Qa4*b3 2.Se5-c6 # 1...Kd4*e5 2.Bh6-g7 # 1...d5*e4 2.Qc2-c5 # 1...d6*e5 2.Qc2-c4 # 1...Bh7*e4 2.Qc2-b2 #" keywords: - Active sacrifice - Flight giving key --- authors: - Mansfield, Comins source: Al Hamishmar date: 1956 algebraic: white: [Ke7, Qd6, Rf7, Ra4, Sf5, Sd1, Pe3, Pe2] black: [Ke4, Qh2, Rc7, Rb1, Bb4, Pg5, Pg3, Pe6, Pd7, Pd2] stipulation: "#2" solution: | "1.Ra4-a5 ! threat: 2.Ra5-e5 # 1...Qh2*e2 2.Sf5*g3 # 1...Qh2-h8 2.Sf5*g3 # 1...g3-g2 2.Sd1-f2 # 1...Bb4-c3 2.Qd6-d3 # 1...Bb4*d6 + 2.Sf5*d6 # 1...Bb4-c5 2.Sd1-c3 # 1...Bb4*a5 2.Qd6-d4 # 1...Rc7-c5 2.Qd6-d4 #" keywords: - Active sacrifice - Transferred mates --- authors: - Mansfield, Comins source: Chess Life date: 1956 distinction: Comm. algebraic: white: [Ke3, Qf7, Rd5, Rb3, Ba2, Pe5, Pc6, Pb5] black: [Kc4, Ra5, Ba3, Pg5, Pd6, Pb2] stipulation: "#2" solution: | "1...Ba3-c5 + 2.Rd5-d4 # 1...Ba3-b4 2.Rb3-a3 # 1.Ke3-d2 ! threat: 2.Rb3*b2 # 1...Ba3-c5 2.Rd5*d6 # 1...Ba3-b4 + 2.Rb3-c3 # 1...b2-b1=Q 2.Rb3*b1 # 1...b2-b1=S + 2.Rb3*b1 # 1...b2-b1=B 2.Rb3*b1 # 1...Ra5*b5 2.Rb3*b5 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: Evening News date: 1956 algebraic: white: [Kg6, Qc7, Bg2, Sg4, Pe3] black: [Ke6, Rd3, Pf4] stipulation: "#2" solution: | "1.Bg2-h3 ! threat: 2.Sg4-f6 # 1...Rd3-d7 2.Qc7-e5 # 1...Rd3-d6 2.Qc7-f7 # 1...Rd3-d5 2.Sg4-e5 # 1...Rd3*e3 2.Sg4*e3 #" keywords: - Flight giving key comments: - 206892 --- authors: - Mansfield, Comins source: Evening News date: 1956 algebraic: white: [Ke3, Qd2, Rh6, Rh5, Sf5, Sd3, Pc3, Pc2] black: [Kd5, Qa2, Bh1, Bb8, Pc7, Pb6, Pa3] stipulation: "#2" solution: | "1.Ke3-f4 ! threat: 2.Sf5-e3 # 1...Qa2-c4 + 2.Sf5-d4 # 1...c7-c5 + 2.Sd3-e5 # 1...c7-c6 + 2.Sf5-d6 #" --- authors: - Mansfield, Comins source: The Problemist date: 1956 algebraic: white: [Kc3, Qa3, Re2, Re1, Bd4, Bc8, Sc5, Ph2, Pg3, Pd2, Pc4] black: [Kf3, Be3, Pc6] stipulation: "#2" solution: | "1...Be3*d2 + 2.Kc3*d2 # 1...Be3*d4 + 2.Kc3*d4 # 1.Sc5-b3 ! zugzwang. 1...Be3*d2 + 2.Sb3*d2 # 1...Be3*d4 + 2.Sb3*d4 # 1...Be3-g1 2.Qa3-f8 # 1...Be3-f2 2.Re2*f2 # 1...Be3-h6 2.Re2-f2 # 1...Be3-g5 2.Re2-f2 # 1...Be3-f4 2.Re2-f2 # 1...Kf3-e4 2.Re2*e3 # 1...c6-c5 2.Qa3-a8 #" keywords: - Black correction - Flight giving key - Changed mates --- authors: - Mansfield, Comins source: The Tablet date: 1956-09-15 algebraic: white: [Kf2, Qg7, Rg5, Be1, Ba4, Se2] black: [Kc4, Rd3, Rc8, Ba6, Sh8, Sb8, Pf3, Pb3] stipulation: "#2" solution: | "1...Rd3-d1 {(Rd~ )} 2.Qg7-c3 # 1...Rd3-d4 {(Rd~ )} 2.Qg7*d4 # 1.Qg7-b7 ! threat: 2.Qb7-b4 # 1...Rd3-d1 {(Rd~ )} 2.Qb7*b3 # 1...Rd3-d5 {(Rd~ )} 2.Qb7*d5 # 1...Ba6*b7 2.Ba4-b5 # 1...Sb8-c6 2.Qb7*a6 # 1...Rd3-c3 2.Qb7-e4 # 1...Ba6-b5 2.Qb7*b5 # 2.Ba4*b5 #" keywords: - Active sacrifice - Changed mates --- authors: - Mansfield, Comins source: The Tablet date: 1956-09-29 algebraic: white: [Kf7, Qb6, Re4, Bh1, Sa4, Pe5, Pc2] black: [Kd5, Rd1, Ra5, Bb4, Ba8, Sa2, Pf6, Pe7, Pc6, Pc3] stipulation: "#2" solution: | "1.Sa4-b2 ! threat: 2.Re4-e1 # 1...Rd1-d4 2.Qb6*d4 # 1...Rd1-d3 2.Re4-e3 # 1...Rd1-d2 2.Re4-e2 # 1...Rd1*h1 2.Qb6-d4 # 1...Rd1-g1 2.Qb6-d4 # 1...Rd1-f1 2.Qb6-d4 # 1...c3*b2 2.c2-c4 # 1...Bb4-c5 2.Qb6-b3 # 1...Ra5-c5 2.Qb6-d8 # 1...c6-c5 2.Qb6-e6 # 1...f6*e5 2.Re4-d4 #" keywords: - Defences on same square --- authors: - Mansfield, Comins source: Time & Tide date: 1956 algebraic: white: [Kf3, Qc8, Se5, Sb3, Pf4, Pe6, Pd6] black: [Kd5, Rb6, Ba5, Pb4, Pa6] stipulation: "#2" solution: | "1.d6-d7 ! zugzwang. 1...Kd5*e6 2.d7-d8=Q # 1...Kd5-d6 2.d7-d8=Q # 1...Rb6-b5 2.Qc8-c6 # 1...Rb6-b8 2.Qc8-c6 # 1...Rb6-b7 2.Qc8-c6 # 1...Rb6*e6 2.Qc8-c5 # 1...Rb6-d6 2.Qc8-c4 # 1...Rb6-c6 2.Qc8*c6 #" keywords: - Black correction - Flight giving key --- authors: - Mansfield, Comins source: American Chess Bulletin date: 1957 algebraic: white: [Kh8, Qe3, Rh3, Rd4, Bg5, Sh7] black: [Kh5, Qa6, Ra5, Sf5, Sd8, Ph4, Pg6, Pf7, Pf6, Pe4, Pa2] stipulation: "#2" solution: | "1.Rd4-d3 ! threat: 2.Qe3-e2 # 1...e4*d3 2.Qe3-f3 # 1...Sf5-d4 2.Rh3*h4 # 1...Sf5*e3 2.Rh3*h4 # 1...Sf5-g3 2.Rh3*h4 # 1...Sf5-h6 2.Rh3*h4 # 1...Qa6*d3 2.Sh7*f6 # 1...f6*g5 2.Qe3*g5 #" keywords: - Transferred mates - Pseudo Le Grand --- authors: - Mansfield, Comins source: Arbejder-Skak date: 1957 algebraic: white: [Kf2, Qh5, Ra6, Be8, Sg4, Sa4, Pe3, Pd6, Pd3] black: [Kd5, Be6, Sf3, Sb7, Pg5] stipulation: "#2" solution: | "1.Qh5-h7 ? threat: 2.Qh7-e4 # 2.Qh7*b7 # but 1...Be6-f5 ! 1.Qh5-g6 ? threat: 2.Qg6-e4 # but 1...Sf3-d2 ! 1.Qh5-f7 ! threat: 2.Qf7*f3 # 2.Qf7*b7 # 1...Sf3-d2 2.Qf7*b7 # 1...Sf3-e1 2.Qf7*b7 # 1...Sf3-g1 2.Qf7*b7 # 1...Sf3-h2 2.Qf7*b7 # 1...Sf3-h4 2.Qf7*b7 # 1...Sf3-e5 2.Sg4-f6 # 1...Sf3-d4 2.e3-e4 # 1...Be6*f7 2.Be8*f7 # 1...Sb7-a5 2.Qf7*f3 # 1...Sb7-c5 2.Sa4-c3 # 1...Sb7*d6 2.Be8-c6 # 1...Sb7-d8 2.Qf7*f3 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: Frederiksborg Amts Avis date: 1957 algebraic: white: [Kc3, Qc6, Rb5, Bh1, Sf3, Sd5, Ph5, Pf5] black: [Ke4, Re7, Bb8, Pg7, Pa5] stipulation: "#2" solution: | "1.Kc3-d2 ! threat: 2.Qc6-c2 # 1...Ke4*f5 2.Qc6-g6 # 1...Re7-c7 2.Qc6-e6 # 1...Bb8-f4 + 2.Sd5-e3 #" --- authors: - Mansfield, Comins source: Il Due Mosse source-id: 825 date: 1957-07 algebraic: white: [Kb7, Qa8, Rb5, Ra4, Bh3, Sg6, Pf7, Pd6, Pc5] black: [Kd5, Rc6, Pg7, Pe7] stipulation: "#2" solution: | "1...Rc6-a6 2.Kb7*a6 # 1...Rc6-b6 + 2.Kb7*b6 # 1...Rc6-c8 2.Kb7*c8 # 1...Rc6-c7 + 2.Kb7*c7 # 1.Qa8-d8 ! zugzwang. 1...Rc6*c5 2.d6*e7 # 1...Rc6-a6 2.c5-c6 # 1...Rc6-b6 + 2.c5*b6 # 1...Rc6-c8 2.c5-c6 # 1...Rc6-c7 + 2.d6*c7 # 1...Rc6*d6 2.c5*d6 # 2.c5-c6 # 1...e7-e5 2.Sg6-e7 # 1...e7-e6 2.Bh3-g2 # 1...e7*d6 2.Qd8-g5 #" keywords: - Black correction - Changed mates --- authors: - Mansfield, Comins source: San Francisco Chronicle date: 1957 algebraic: white: [Kb2, Qd1, Rh4, Rd7, Bc3, Sg6, Sd3, Pg5, Pf2, Pb3] black: [Kd5, Bd6, Se6, Sc6, Pf3, Pe4] stipulation: "#2" solution: | "1.Bc3-d4 ! zugzwang. 1...e4-e3 2.Qd1*f3 # 1...e4*d3 2.Qd1*f3 # 1...Kd5*d4 2.Rd7*d6 # 1...Sc6-a5 {(Sc~ )} 2.Sd3-b4 # 1...Sc6*d4 {display-departure-square} 2.Sg6-e7 # 1...Se6*d4 {display-departure-square} 2.Sg6-f4 # 1...Se6-c5 {(Se~ )} 2.Sd3-f4 #" keywords: - Active sacrifice - Defences on same square - Black correction - Flight giving key - Transferred mates - Changed mates - Rudenko --- authors: - Mansfield, Comins source: The South-African Chessplayer date: 1957 algebraic: white: [Ka2, Qe8, Re2, Rb5, Bf1, Bb6] black: [Kc4, Rh2, Rf6, Bh3, Bb8, Pe5, Pd5, Pc3, Pb7, Pa4] stipulation: "#2" solution: | "1.Qe8-e6 ! threat: 2.Qe6*d5 # 1...Rh2*e2 + 2.Bf1*e2 # 1...c3-c2 2.Re2*c2 # 1...Bh3-g2 2.Re2-e4 # 1...Bh3*e6 2.Re2-f2 # 1...Kc4*b5 2.Re2-b2 # 1...Rf6*e6 2.Re2-g2 #" keywords: - Active sacrifice - Flight giving key - Transferred mates --- authors: - Mansfield, Comins source: The Spectator date: 1957 algebraic: white: [Kg8, Qa8, Rf7, Bh3, Sh4, Sg4, Pg5, Pc5] black: [Ke6, Rf4, Bh6, Bh1, Sb8, Pd4] stipulation: "#2" solution: | "1.Sh4-g6 ! threat: 2.Sg6*f4 # 1...Rf4-f1 2.Sg4-f2 # 1...Rf4-f2 2.Sg4*f2 # 1...Rf4-f3 2.Qa8-e4 # 1...Rf4-e4 2.Qa8-a2 # 1...Rf4*f7 2.Sg4-f6 # 1...Rf4-f6 2.Sg4*f6 # 1...Rf4-f5 2.Rf7-e7 # 1...Rf4*g4 2.Bh3*g4 # 1...Bh6*g5 2.Sg6-f8 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Time & Tide date: 1957 algebraic: white: [Kb1, Qa3, Be4, Sf3, Pd5, Pd4, Pd2] black: [Kc4, Rb6, Ba6, Pd3, Pb7, Pb2] stipulation: "#2" solution: | "1.Sf3-g5 ! zugzwang. 1...Kc4-b5 2.Be4*d3 # 1...Kc4*d4 2.Qa3-c3 # 1...Ba6-b5 2.Qa3-c3 # 1...Rb6-b3 2.Qa3-c5 # 1...Rb6-b4 2.Qa3*d3 # 1...Rb6-b5 2.Qa3-c3 # 1...Rb6-h6 2.Qa3-a4 # 1...Rb6-g6 2.Qa3-a4 # 1...Rb6-f6 2.Qa3-a4 # 1...Rb6-e6 2.Qa3-a4 # 1...Rb6-d6 2.Qa3-a4 # 1...Rb6-c6 2.Qa3-a4 #" keywords: - Black correction - Flight giving key - Block --- authors: - Mansfield, Comins source: Al Hamishmar date: 1958 algebraic: white: [Kg8, Qe4, Rf7, Rd1, Bc8, Sg6, Sb4, Pd4, Pc7] black: [Kd6, Qa4, Rd5, Rc6, Ba2, Sh2, Pg5, Pe5, Pc3, Pa5] stipulation: "#2" solution: | "1.Bc8-f5 ! threat: 2.Rf7-d7 # 1...Rd5*d4 2.Qe4*e5 # 1...Rd5-b5 2.Qe4*c6 # 1...Rd5-c5 2.d4*e5 # 1...e5*d4 2.Qe4-e7 # 1...Rc6-c4 2.Qe4*d5 # 1...Rc6-c5 2.d4*e5 # 1...Rc6-a6 2.c7-c8=S # 1...Rc6-b6 2.c7-c8=S # 1...Rc6*c7 2.Rf7-f6 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Chess Life date: 1957 algebraic: white: [Kb4, Qe1, Rc6, Ra5, Bh3, Bd2, Sf3, Pg5, Pe2, Pc2] black: [Ke4, Rg4, Bh5, Sd7, Pg6, Pe5] stipulation: "#2" solution: | "1.Qe1-g3 ! zugzwang. 1...Ke4-f5 + 2.Qg3-f4 # 1...Sd7-c5 2.Qg3*e5 # 1...Rg4*g3 {(R~ )} 2.Rc6-c4 # 1...Sd7-b6 2.Ra5*e5 # 2.Qg3*e5 # 1...Sd7-f6 2.Ra5*e5 # 2.Qg3*e5 # 1...Sd7-f8 2.Ra5*e5 # 2.Qg3*e5 # 1...Sd7-b8 2.Ra5*e5 # 2.Qg3*e5 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: Evening News date: 1958 algebraic: white: [Kb4, Qb3, Rh8, Ra1, Bd8, Ba6, Sd7, Pb6, Pb2] black: [Ka8, Qh1, Rf1, Bg1, Be2, Sg5, Pd4, Pb7] stipulation: "#2" solution: | "1.Qb3-g3 ? threat: 2.Qg3-b8 # but 1...Qh1-h2 ! 1.Qb3-f3 ! threat: 2.Ba6*b7 # 1...Rf1*f3 2.Ba6-d3 # 1...Qh1*f3 2.Bd8-f6 # 1...Be2*f3 2.Ba6*f1 # 1...Be2*a6 2.Ra1*a6 # 1...Sg5-e4 2.Bd8-h4 # 1...Sg5*f3 2.Bd8-h4 #" keywords: - Active sacrifice - Defences on same square --- authors: - Mansfield, Comins source: Radio Times date: 1958 algebraic: white: [Kg3, Qa6, Rh4, Bg2, Sf3, Sb5, Pe6, Pd2] black: [Kd5, Qc2, Ba3, Se8, Pd3, Pc5, Pb3] stipulation: "#2" solution: | "1.Kg3-f4 ! threat: 2.Sf3-e5 # 1...Qc2-d1 2.Sb5-c3 # 1...Qc2-c4 + 2.Sf3-d4 # 1...Qc2*d2 + 2.Sf3*d2 # 1...c5-c4 2.Rh4-h5 # 1...Kd5-c4 2.Kf4-e5 # 1...Se8-d6 2.Sb5-c7 # 1...Se8-f6 2.Sb5-c7 #" keywords: - Defences on same square - Flight giving key --- authors: - Mansfield, Comins source: The Modern Two-move Chess Problem date: 1958 algebraic: white: [Kg6, Rc2, Bd4, Bb1, Sg4, Ph3, Ph2, Pf5, Pe3] black: [Ke4, Pf6, Pd6] stipulation: "#2" solution: | "1.Kg6-f7 ! zugzwang. 1...Ke4-d3 2.Sg4-f2 # 1...Ke4-f3 2.Rc2-f2 # 1...Ke4*f5 2.Rc2-c5 # 1...Ke4-d5 2.Sg4*f6 # 1...d6-d5 2.Rc2-f2 #" keywords: - Flight giving key - Block - King star flight --- authors: - Mansfield, Comins source: To Mat date: 1958 algebraic: white: [Kh3, Qb6, Rf7, Rb3, Bg8, Sf3, Sd7, Pe4, Pa4] black: [Kc4, Rc3, Ra3, Bd2, Bc8, Sh4, Pe2, Pc6, Pb7] stipulation: "#2" solution: | "1...Bxd7+ 2.Rxd7# 1...c5 2.Qb5# 1...Raxb3/Rcxb3 2.Qd4# 1...Rc2 2.Rf6#/Rf5#/Rf4#/Rf8#/Re7#/Rg7#/Rh7#/Ne5# 1...Rc1 2.Rf6#/Rf5#/Rf4#/Rf8#/Re7#/Rg7#/Rh7#/Ne5#/Nxd2# 1...Re3 2.Rf6#/Rf5#/Rf4#/Rf8#/Re7#/Rg7#/Rh7# 1...Rxf3+/Nxf3 2.Rfxf3# 1...Nf5 2.Ne5# 1...Be3 2.Ne5# 1.Rb1?? (2.Qd4#) 1...Bxd7+ 2.Rxd7# 1...Rd3 2.Qc5# 1...Rxf3+/Nxf3 2.Rxf3# 1...Be3 2.Ne5# 1...c5 2.Qb5# 1...Nf5 2.Ne5# but 1...Kd3! 1.Rb2! (2.Qd4#) 1...c5 2.Qb5# 1...Bxd7+ 2.Rxd7# 1...Rd3 2.Qc5# 1...Rxf3+/Nxf3 2.Rxf3# 1...Nf5 2.Ne5# 1...Be3 2.Ne5#" --- authors: - Mansfield, Comins source: Munich Solving Ty. date: 1959 algebraic: white: [Kb8, Qh5, Re3, Bb3, Ba3, Sd4, Sc4] black: [Kd5, Bf4, Pe6, Pe5, Pa5] stipulation: "#2" solution: | "1.Qh5-h8 ! threat: 2.Qh8-d8 # 1...Bf4*e3 2.Qh8*e5 # 1...Bf4-g5 2.Qh8*e5 # 1...e5-e4 + 2.Sc4-d6 # 1...e5*d4 + 2.Sc4-e5 #" --- authors: - Mansfield, Comins source: Skakbladet date: 1959 algebraic: white: [Ke2, Qa4, Rf3, Rd3, Bh2, Sh6, Sc7, Pg2, Pc3, Pc2] black: [Ke4, Qh5, Rb7, Ba6, Sd8, Pg6, Pg5, Pe5, Pd4] stipulation: "#2" solution: | "1...g5-g4 2.Rf3-e3 # 1...Rb7-b5 2.Rd3-e3 # 1.Qa4-e8 ! threat: 2.Qe8*e5 # 1...g5-g4 2.Rf3-f4 # 1...Rb7-b5 2.Rd3*d4 # 1...Qh5*f3 + 2.g2*f3 # 1...Qh5*h2 2.Qe8*g6 # 1...Ba6*d3 + 2.c2*d3 # 1...Sd8-c6 2.Qe8*c6 # 1...Sd8-e6 2.Qe8-c6 # 1...Sd8-f7 2.Qe8-c6 #" --- authors: - Mansfield, Comins source: The Sunday Times date: 1959 algebraic: white: [Kc2, Qh8, Rf5, Bg6, Sg1, Sf7] black: [Ke4, Qg4, Rd5, Bd2, Sd1, Ph4, Pe7, Pe3, Pc4] stipulation: "#2" solution: | "1...Qg4*f5 2.Qh8*h4 # 1...Rd5*f5 2.Qh8-e5 # 1.Sg1-e2 ! threat: 2.Rf5-f4 # 1...Qg4*f5 2.Sf7-g5 # 1...Rd5*f5 2.Qh8-a8 # 1...Qg4*e2 2.Sf7-g5 # 1...Rd5-d3 2.Qh8-e5 # 1...Rd5-a5 2.Qh8-d4 # 1...Rd5-b5 2.Qh8-d4 # 1...Rd5-c5 2.Qh8-d4 # 1...Rd5-d8 2.Qh8-e5 # 1...Rd5-d7 2.Qh8-e5 # 1...Rd5-d6 2.Qh8-e5 # 1...Rd5-e5 2.Qh8*e5 # 1...Rd5-d4 2.Qh8*d4 # 2.Qh8-e5 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: Illustrated Western Weekly News date: 1911 algebraic: white: [Kg8, Rf4, Bg3, Bb5, Sh6, Pg7, Pf6, Pe3, Pd6, Pc4, Pb6] black: [Ke5, Rg5, Bf5, Pg6, Pe6, Pc5] stipulation: "#2" solution: | "1.Kg8-f7 ? threat: 2.Rf4-g4 # 1...Ke5*d6 2.Rf4-d4 # but 1...Rg5*g3 ! 1.Bg3-h4 ! zugzwang. 1...Ke5*f6 2.Sh6-g4 # 1...Ke5*d6 2.Sh6-f7 # 1...Bf5-b1 2.Sh6-f7 # 1...Bf5-c2 2.Sh6-f7 # 1...Bf5-d3 2.Sh6-f7 # 1...Bf5-e4 2.Sh6-f7 # 1...Bf5-h3 2.Sh6-f7 # 1...Bf5-g4 2.Sh6-f7 # 1...Rg5-g1 2.Sh6-f7 # 1...Rg5-g2 2.Sh6-f7 # 1...Rg5-g3 2.Sh6-f7 # 1...Rg5-g4 2.Sh6-f7 # 1...Rg5-h5 2.Sh6-f7 # " --- authors: - Mansfield, Comins source: Magasinet date: 1936 algebraic: white: [Ke8, Qf1, Rh3, Re6, Bf4, Bb7, Sf2, Pg3] black: [Kf3, Rh7, Rh4, Sh8, Se4, Pf5, Pe7, Pa5] stipulation: "#2" solution: | "1.Re6-c6 ! threat: 2.Rc6-c3 # 1...Se4*f2 2.Rc6-g6 # 1...Se4*g3 2.Rc6-c4 # 1...Se4-f6 + 2.Rc6*f6 # 1...Se4-d6 + 2.Rc6*d6 # 1...Se4-c5 2.Rc6*c5 #" --- authors: - Mansfield, Comins source: Magasinet date: 1937 algebraic: white: [Ke8, Qb3, Re4, Bh1, Bf8, Se3, Pd6] black: [Kc6, Qa1, Ra5, Bd8, Sa4, Pc5, Pa2] stipulation: "#2" solution: | "1.Se3-c4 ! threat: 2.Re4-e1 # 1...Qa1-h8 2.Re4-h4 # 1...Qa1-g7 2.Re4-g4 # 1...Qa1-f6 2.Re4-f4 # 1...Qa1-d4 2.Re4*d4 # 1...Qa1-c3 2.Re4-e3 # 1...Qa1-b2 2.Re4-e2 # 1...Qa1*h1 2.Sc4-e5 # 1...Qa1-g1 2.Sc4-e5 # 1...Qa1-f1 2.Sc4-e5 # 1...Qa1-d1 2.Sc4-e5 # 1...Qa1-b1 2.Sc4-e5 # 1...Sa4-c3 2.Sc4-e5 # 1...Sa4-b6 2.Sc4*a5 # 1...Kc6-d5 2.Qb3-b7 # 1...Qa1-e5 + 2.Re4*e5 # 2.Sc4*e5 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Magasinet date: 1937 algebraic: white: [Kc4, Qh7, Re8, Rd6, Bh6, Bh1, Sh5, Sd1, Pe2] black: [Ke4, Qc1, Rg2, Rf5, Be5, Sg5, Ph3, Pf7, Pc5, Pc3] stipulation: "#2" solution: | "1.Rd6-e6 ! {display-departure-square} threat: 2.Re6*e5 # 1...Qc1-f4 2.Sh5-f6 # 1...Sg5-f3 2.Sh5-f6 # 1...Sg5*h7 2.Sh5-g3 # 1...Sg5*e6 2.Sd1-f2 # 1...f7-f6 2.Qh7-b7 # 1...f7*e6 2.Qh7-b7 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: The Hampshire Telegraph & Post date: 1913 algebraic: white: [Kh1, Re7, Bc8, Bb2, Sf5, Se5, Pf7] black: [Kf6, Rg7, Bf8, Ph7, Pg5, Pg4, Pd6] stipulation: "#2" solution: | "1.Sf5*d6 ? threat: 2.Re7-e6 # but 1...Kf6*e7 ! 1.Sf5-h6 ! threat: 2.Re7-e6 # 1...Kf6*e7 2.Se5-c6 # 1...Rg7-g6 2.Se5-c6 # 1...Rg7*f7 2.Re7*f7 # 1...Rg7-g8 2.f7*g8=S # 1...Bf8*e7 2.Sh6*g4 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Devon and Exeter Gazette date: 1914 algebraic: white: [Kh5, Qe4, Rf7, Bf8, Pg6, Pg5, Pd7] black: [Ke6, Rd5, Bd4, Sh6, Sc2, Pe5] stipulation: "#2" solution: | "1.g6-g7 ! threat: 2.Qe4-g6 # 1...Rd5-a5 {(R~ )} 2.d7-d8=S # 1...Rd5*d7 2.Rf7-f6 # 1...Rd5-d6 2.Rf7-e7 # 1...Ke6*f7 2.Qe4*d5 # 1...Sh6-f5 {(Sh~ )} 2.Qe4*f5 # 1...Sh6*f7 2.Qe4-g4 #" keywords: - Model mates - Black correction - Flight giving key - Transferred mates - Rudenko --- authors: - Mansfield, Comins - Chandler, Guy Wills source: The Hampshire Telegraph and Post date: 1914 algebraic: white: [Ka8, Qb2, Rd1, Rc7, Bf5, Bd8, Sg4, Pb5] black: [Kd6, Qc1, Rg7, Rb1, Bh2, Bh1, Se4, Pf7, Pd5, Pa7] stipulation: "#2" solution: | "1.Sg4-e3 ! threat: 2.Rd1*d5 # 1...Qc1*e3 2.Rc7-c6 # 1...Qc1-d2 2.Rc7-c6 # 1...Qc1-c6 + 2.Rc7*c6 # 1...Qc1-c5 2.Rc7-d7 # 1...Qc1-c4 2.Se3*c4 # 1...Qc1*d1 2.Rc7-c6 # 1...Se4-c3 2.Se3-c4 # 1...Se4-d2 {(S~ )} 2.Qb2-f6 # 1...Se4-g5 2.Qb2*h2 # 1...Se4-c5 2.Rc7-c6 # 1...d5-d4 2.Qb2*d4 #" keywords: - Black correction - Transferred mates --- authors: - Mansfield, Comins - Chandler, Guy Wills source: The Hampstead and Highgate Express date: 1914 algebraic: white: [Kg1, Qb5, Re4, Rd4, Bc1, Sf7, Ph5] black: [Kf5, Qc5, Rh8, Rc6, Bb8, Ba8, Sd1, Sa5, Pg7, Pg3, Pf6, Pd6] stipulation: "#2" solution: | "1.Re4-e7 ! threat: 2.Qb5-d3 # 1...Sd1-f2 2.Rd4-f4 # 1...Sd1-c3 2.Qb5-f1 # 1...Sd1-b2 2.Qb5-f1 # 1...Sa5-c4 2.Qb5-b1 # 1...Qc5*b5 2.Rd4-f4 # 1...Qc5-e5 2.Rd4-f4 # 1...Rc6-a6 2.Qb5-d7 # 1...Rc6-b6 2.Qb5-d7 # 1...Rc6-c8 2.Qb5-d7 # 1...Rc6-c7 2.Sf7*d6 # 1...Qc5-d5 2.Qb5*d5 # 2.Rd4-f4 #" keywords: - Black correction --- authors: - Mansfield, Comins source: The Hampstead and Highgate Express date: 1914 algebraic: white: [Kc2, Qa4, Re1, Rd6, Bh6, Bb1, Sh4, Sd7, Pe3, Pb3] black: [Ke4, Rc6, Bh5, Bd2, Sc4, Sb5, Pg7, Pa3] stipulation: "#2" solution: | "1...Bd2-c1 {(Bd~ )} 2.Kc2*c1 # 1...Bd2*e3 2.Re1*e3 # 1...Sb5-d4 + 2.Rd6*d4 # 1...Sb5*d6 2.Qa4*c6 # 1...Bh5-d1 + 2.Kc2*d1 # 1.Qa4-a8 ! threat: 2.Qa8*c6 # 1...Sc4*e3 + 2.Kc2*d2 # 1...Sc4-e5 + 2.Sd7-c5 # 1...Sc4-b6 + 2.Kc2*d2 # 1...Sc4-a5 + 2.Kc2*d2 # 1...Sb5-c3 2.Rd6-d4 # 1...Sb5-d4 + 2.Rd6*d4 # 1...Sb5-c7 2.Rd6-d4 # 1...Sb5-a7 2.Rd6-d4 # 1...Bh5-d1 + 2.Kc2*d1 # 1...Bh5-f7 2.Kc2-d1 #" --- authors: - Mansfield, Comins source: Bristol Observer date: 1915 algebraic: white: [Kd5, Qf3, Rh3, Rg3, Bh5, Bc1, Sf4, Pg6, Pe2] black: [Kh6, Qh1, Bb4, Ph2, Pg7, Pg2, Pd4, Pc5] stipulation: "#2" solution: | "1.Qf3-c3 ! threat: 2.Bh5-f3 # 1...g2-g1=S + 2.Sf4-g2 #" --- authors: - Mansfield, Comins source: Il Cintrato date: 1918 algebraic: white: [Kh6, Qa2, Re8, Rc4, Bg1, Bf1, Sa3, Pc5] black: [Kd5, Qh1, Rh2, Be1, Sd3, Ph3, Pe5, Pc6, Pb5, Pa5] stipulation: "#2" solution: | "1.Bf1*h3 ! threat: 2.Re8-d8 # 1...Be1-h4 2.Bh3-e6 # 1...Be1-d2 + 2.Rc4-f4 # 1...Rh2*h3 + 2.Rc4-h4 # 1...Sd3*c5 2.Rc4-d4 # 1...b5*c4 2.Qa2*c4 # 1...e5-e4 2.Rc4-c2 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: Sussex Chess Problem Fraternity date: 1918 algebraic: white: [Kh8, Qf7, Rh5, Ra5, Sh3, Se6, Pf3, Pd2] black: [Ke5, Sf5, Sc5, Pg5, Pd6, Pd5] stipulation: "#2" solution: | "1.Se6-c7 ! zugzwang. 1...Sc5-a4 {(Sc~ )} 2.Ra5*d5 # 1...d5-d4 2.Qf7-e6 # 1...Ke5-d4 2.Qf7*d5 # 1...Sf5-d4 {(Sf~ )} 2.Qf7-f4 # 1...g5-g4 2.Qf7-g7 #" keywords: - Defences on same square - Flight giving key --- authors: - Mansfield, Comins source: British Chess Problem Journal date: 1919 algebraic: white: [Ke4, Qd7, Rf5, Be3, Sf1] black: [Kg2, Rh2, Bh1, Ba1, Sb2, Ph3, Pf7, Pe2, Pc5] stipulation: "#2" solution: | "1.Qd7-d5 ! threat: 2.Ke4-e5 # 1...Sb2-d1 2.Ke4-d3 # 1...Sb2-d3 2.Ke4*d3 # 1...Sb2-c4 2.Ke4-d3 # 1...Sb2-a4 2.Ke4-d3 # 1...e2-e1=S 2.Qd5-d2 # 1...e2*f1=Q 2.Rf5-g5 # 1...e2*f1=S 2.Ke4-f4 # 1...f7-f6 2.Qd5-g8 #" --- authors: - Mansfield, Comins source: The Good Companion Chess Problem Club date: 1919 algebraic: white: [Kc5, Qg1, Rh7, Rc6, Bh3, Bd6, Pf6] black: [Kd7, Rg4, Be8, Sf7, Pe7] stipulation: "#2" solution: | "1.Qg1-d4 ! zugzwang. 1...Kd7-e6 2.Bh3*g4 # 1...Kd7-d8 2.Bd6*e7 # 1...e7-e5 2.Bd6*e5 # 1...e7-e6 2.Bd6-f4 # 1...e7*f6 2.Bd6-f8 # 1...e7*d6 + 2.Qd4*d6 # 1...Sf7*d6 2.Qd4*d6 #" keywords: - Pickaninny - Black correction --- authors: - Mansfield, Comins source: Sussex Chess Problem Fraternity date: 1919 algebraic: white: [Kh7, Qb6, Rf5, Bh3, Sh2, Pg3, Pe2] black: [Ke4, Rd7, Ba1, Sg7, Pg5, Pe7] stipulation: "#2" solution: | "1.Qb6-b1 + ? 1...Ke4-d4 2.Qb1-d3 # 1...Rd7-d3 2.Qb1*d3 # but 1...Ke4-e3 ! 1.Sh2-g4 ! threat: 2.Sg4-f2 # 1...Ba1-e5 2.Rf5*e5 # 1...Ba1-d4 2.Qb6-b1 # 1...Ke4*f5 2.Qb6-g6 # 1...Rd7-d4 2.Rf5-e5 # 1...e7-e5 2.Sg4-f6 # 1...Sg7*f5 2.Bh3-g2 #" keywords: - Flight giving key - Grimshaw --- authors: - Mansfield, Comins source: The Western Daily Mercury date: 1919 algebraic: white: [Kb1, Qc5, Rf1, Bh2, Sf3, Sd3, Pf5] black: [Kg4, Rh4, Rg7, Bc8, Sh6, Sg1, Ph5, Ph3, Pg6, Pb5] stipulation: "#2" solution: | "1.f5-f6 ! threat: 2.Qc5-g5 # 1...Sg1*f3 2.Sd3-f2 # 1...g6-g5 2.Sf3-e5 # 1...Sh6-f5 2.Sd3-e5 # 1...Sh6-f7 2.Qc5*c8 # 1...Bc8-f5 2.Qc5*g1 #" keywords: - B2 --- authors: - Mansfield, Comins source: The Brisbane Courier source-id: 2184 date: 1920-04-03 algebraic: white: [Kf5, Qb4, Re8, Ra5, Bf8, Sh5, Pc2, Pa2] black: [Kd5, Rd6, Rc5, Sd7, Sb5, Pg5, Pf6, Pd4, Pc6, Pc3, Pa3] stipulation: "#2" solution: | "1.Re8-e6 ? zugzwang. but 1...Rd6*e6 ! 1.Re8-d8 ! zugzwang. 1...d4-d3 2.Qb4-e4 # 1...Sb5-c7 2.Qb4-b3 # 1...Sb5-a7 2.Qb4-b3 # 1...Rc5-c4 2.Qb4*d6 # 1...g5-g4 2.Sh5-f4 # 1...Rd6-e6 2.Qb4*c5 # 1...Sd7-b6 2.Sh5*f6 # 1...Sd7-e5 2.Sh5*f6 # 1...Sd7*f8 2.Sh5*f6 # 1...Sd7-b8 2.Sh5*f6 #" keywords: - Half-pin --- authors: - Mansfield, Comins source: Brisbane Daily Mail date: 1921 algebraic: white: [Ka3, Qg8, Rh4, Re7, Bb5, Se5, Sd1, Ph2] black: [Ke4, Rf4, Bb1, Sh8, Sg4, Ph6, Pf5, Pf2, Pd4, Pb7, Pb6] stipulation: "#2" solution: | "1.Bb5-c4 ? threat: 2.Qg8-d5 # 2.Bc4-d5 # 1...d4-d3 2.Qg8-d5 # 1...Rf4-f3 + 2.Se5-d3 # 1...Sg4-e3 2.Sd1*f2 # 1...Sg4-f6 2.Qg8-g2 # but 1...Sh8-f7 ! 1.Bb5-a6 ! threat: 2.Ba6*b7 # 1...Bb1-a2 2.Ba6-d3 # 1...d4-d3 2.Qg8-c4 # 1...Rf4-f3 + 2.Se5-d3 # 1...Sg4-e3 2.Sd1*f2 # 1...Sg4-f6 2.Qg8-g2 # 1...Sg4*e5 2.Qg8-g2 # 1...b7*a6 2.Qg8-a8 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: The Western Morning News date: 1921 algebraic: white: [Kd1, Qf1, Rg8, Re5, Be8, Be1, Pe3] black: [Kg4, Rf8, Bd8, Sg7, Sg5, Ph4, Pf3] stipulation: "#2" solution: | "1.Qf1-h1 ! threat: 2.Qh1*h4 # 1...f3-f2 2.Qh1-g2 # 1...h4-h3 2.Qh1-g1 # 1...Sg5-e4 2.Be8-h5 # 1...Sg5-h3 2.Be8-h5 # 1...Sg5-h7 2.Be8-h5 # 1...Sg5-f7 2.Be8-d7 # 1...Sg5-e6 2.Be8-h5 # 1...Sg7-f5 2.Re5-e4 #" keywords: - Black correction --- authors: - Mansfield, Comins source: The Morning Post date: 1922 algebraic: white: [Ka4, Qb7, Re1, Rc4, Bf1, Sf3, Se8, Pg4, Pe7] black: [Kd5, Rd6, Sc6, Sa6, Pg5, Pf6, Pc5, Pa5] stipulation: "#2" solution: | "1...Sa6-b4 {(Sa~ )} 2.Se8-c7 # 1...Rd6-d8 2.e7*d8=Q # 1...Rd6-d7 2.Qb7*d7 # 1...Rd6-e6 2.Re1-d1 # 1...f6-f5 2.Re1-e5 # 1.Qb7-c7 ? threat: 2.Qc7*d6 # 1...Rd6-d8 2.Se8*f6 # but 1...Rd6-e6 ! 1.Bf1-g2 ! threat: 2.Sf3-d2 # 1...Kd5*c4 2.Qb7-b3 # 1...Rd6-e6 2.Sf3-e5 #" keywords: - Threat reversal - Flight giving key --- authors: - Mansfield, Comins source: The Western Morning News date: 1924 algebraic: white: [Kg3, Rh4, Re8, Bg2, Sf3, Sc8, Pe6, Pe3, Pd2] black: [Kd5, Rc2, Sb7, Pd3, Pc6, Pc5, Pb5, Pb3] stipulation: "#2" solution: | "1.Kg3-f4 ! threat: 2.Sf3-e5 # 1...Rc2-c4 + 2.Sf3-d4 # 1...Rc2*d2 2.Sf3*d2 # 1...c5-c4 2.Rh4-h5 # 1...Kd5-c4 2.Kf4-e5 # 1...Sb7-d6 2.Sc8-b6 #" keywords: - Defences on same square - Flight giving key --- authors: - Mansfield, Comins source: Western-Super-Mare Gazette date: 1924 algebraic: white: [Ka6, Qa4, Rc5, Be8, Se6, Pg5] black: [Kh5, Qg6, Bf8, Ph4, Ph3, Pg3, Pb3] stipulation: "#2" solution: | "1...b3-b2 2.Qa4-d1 # 1...Qg6-f7 2.Be8*f7 # 1...Bf8-d6 2.Se6-g7 # 1.Rc5-c4 ? threat: 2.Rc4*h4 # 1...Qg6*e8 2.Qa4*e8 # 1...Qg6-f7 2.Be8*f7 # but 1...Bf8-b4 ! 1.Qa4-c4 ? {(Qd4?/Qe4?/Qf4?)} threat: 2.Qc4-e2 # 1...Qg6-f7 2.Be8*f7 # but 1...Qg6*e8 ! 1.Qa4-d7 ! threat: 2.Qd7-d1 # 1...Qg6*e8 2.Se6-f4 # 1...Qg6-f7 2.Se6-f4 # 1...Bf8-d6 2.Se6-g7 #" keywords: - Model mates - Flight giving key --- authors: - Mansfield, Comins source: Decalet Tourney, The Chess Review source-id: 2100 date: 1943 algebraic: white: [Kh5, Qc7, Rd2, Bg6, Pf2, Pd4] black: [Kd5, Ra5, Sc3, Pe6] stipulation: "#2" solution: | "1.Bg6-d3 ! threat: 2.Qc7-d7 # 1...Sc3-e4 2.Bd3-c4 # 1...Sc3-b5 2.Qc7-c5 # 1...Ra5-a7 2.Qc7-c5 # 1...Ra5-a6 2.Qc7-c5 # 1...Kd5*d4 + 2.Bd3-f5 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: The Spectator date: 1956 algebraic: white: [Kh7, Qh2, Re1, Ra2, Bc4, Sc2, Sa4, Pg6, Pf2, Pe3, Pd3] black: [Kd2, Qb7, Be5, Ph3, Pg7] stipulation: "#2" solution: | "1.Re1-g1 ! zugzwang. 1...Kd2-e2 2.Sc2-d4 # 1...Be5-a1 2.f2-f3 # 1...Be5-b2 2.f2-f3 # 1...Be5-c3 2.f2-f3 # 1...Be5-d4 2.f2-f3 # 1...Be5*h2 2.Sc2-b4 # 1...Be5-g3 2.Sc2-b4 # 1...Be5-f4 2.Sc2-b4 # 1...Be5-f6 2.f2-f3 # 1...Be5-b8 2.Sc2-b4 # 1...Be5-c7 2.Sc2-b4 # 1...Be5-d6 2.Sc2-b4 # 1...Qb7-a6 2.f2-f4 # 2.Sc2-d4 # 1...Qb7-h1 2.Sc2-d4 # 1...Qb7-g2 2.Sc2-d4 # 1...Qb7-f3 2.Sc2-d4 # 1...Qb7-e4 2.Sc2-d4 # 1...Qb7-d5 2.Sc2-d4 # 1...Qb7-c6 2.Sc2-d4 # 1...Qb7-a8 2.Sc2-d4 # 1...Qb7-b1 2.f2-f4 # 1...Qb7-b2 2.f2-f4 # 1...Qb7-b3 2.f2-f4 # 1...Qb7-b4 2.f2-f4 # 1...Qb7-b5 2.f2-f4 # 1...Qb7-b6 2.f2-f4 # 1...Qb7-b8 2.f2-f4 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Vida Rotaria-Brasil date: 1957 algebraic: white: [Kh7, Qf1, Rd5, Bg8, Bg7, Sc6, Pf5] black: [Kc4, Qa3, Sd3, Pf4, Pb6, Pb5, Pa4] stipulation: "#2" solution: | "1.Qf1-f3 ! zugzwang. 1...Qa3-c1 {(Q~ )} 2.Qf3*d3 # 1...Qa3-c3 2.Rd5-e5 # 1...Qa3-b3 2.Qf3-e4 # 1...Sd3-b2 {(S~ )} 2.Rd5-e5 # 1...Sd3-c5 2.Rd5-d4 # 1...Kc4-b3 2.Rd5-c5 # 1...b5-b4 2.Rd5-a5 #" keywords: - Defences on same square - Somov (B1) - Black correction --- authors: - Mansfield, Comins source: stella polaris date: 1970 algebraic: white: [Kd1, Qf1, Rc6, Rb7, Bh8, Ba8, Sh3, Sf2] black: [Kf3, Rd5, Sd8, Pg3, Pe4, Pd2] stipulation: "#2" solution: | "1.Rb7-g7 ! threat: 2.Sf2-g4 # 1...Kf3-e3 2.Rg7*g3 # 1...g3-g2 2.Qf1-e2 # 1...g3*f2 2.Qf1-e2 # 2.Qf1*f2 # 1...e4-e3 2.Rc6-f6 # 1...Rd5-g5 2.Rc6-c3 #" --- authors: - Mansfield, Comins source: Complete Mansfield/III date: 1999 algebraic: white: [Kh2, Qc2, Rc4, Ra3, Bh5, Bc5, Sd3, Sb3] black: [Kf3, Qe3, Rg4, Bc3, Sf2, Pg5, Pf4] stipulation: "#2" solution: | "1.Sb3-c1 ! zugzwang. 1...Sf2-d1 2.Qc2-g2 # 1...Sf2-h1 2.Qc2-g2 # 1...Sf2-h3 2.Qc2-g2 # 1...Sf2-e4 2.Qc2-g2 # 1...Sf2*d3 2.Qc2-g2 # 1...Bc3-a1 2.Sd3-e1 # 1...Bc3-b2 2.Sd3-e1 # 1...Bc3-d2 2.Sd3-e5 # 1...Bc3-h8 2.Sd3-e1 # 1...Bc3-g7 2.Sd3-e1 # 1...Bc3-f6 2.Sd3-e1 # 1...Bc3-d4 2.Sd3-e1 # 1...Bc3-a5 2.Sd3-e5 # 1...Bc3-b4 2.Sd3-e5 # 1...Qe3-d2 2.Sd3-e5 # 1...Qe3*c5 2.Qc2-e2 # 1...Qe3-d4 2.Qc2-e2 # 1...Qe3-e1 2.Sd3*e1 # 1...Qe3-e2 2.Qc2*e2 # 1...Qe3*d3 2.Qc2*f2 # 1...Qe3-e8 2.Qc2*f2 # 1...Qe3-e7 2.Qc2*f2 # 1...Qe3-e6 2.Qc2*f2 # 1...Qe3-e4 2.Qc2*f2 # 1...Qe3-e5 2.Sd3*e5 # 2.Qc2*f2 # 1...Bc3-e5 2.Sd3-e1 # 2.Sd3*e5 # 1...Bc3-e1 2.Sd3*e1 # 2.Sd3-e5 # 1...Qe3*c1 2.Sd3-e5 # 2.Qc2*f2 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: Tükör source-id: v date: 1936 algebraic: white: [Ka4, Qd3, Rh7, Be7, Se8, Sd5, Pf7, Pc5, Pb7] black: [Kd7, Rg8, Rd8, Be6, Ba5, Sg4, Pc6] stipulation: "#2" solution: | "1.Be7-f6 ! threat: 2.Sd5-b6 # 1...Sg4*f6 2.Se8*f6 # 1...c6*d5 2.Qd3-b5 # 1...Be6*d5 2.f7*g8=Q # 1...Be6-f5 2.Qd3*f5 # 1...Be6*f7 2.Sd5-c7 # 1...Rd8*e8 2.f7-f8=S # 1...Rg8*e8 2.f7-f8=S #" --- authors: - Mansfield, Comins source: The Observer date: 1943 algebraic: white: [Kc6, Qb3, Rf8, Rc2, Bd2, Bb1, Sh2, Pc5] black: [Kf5, Rh4, Be5, Sh3, Sf6, Pg6, Pg5] stipulation: "#2" solution: | "1.Bd2-f4 ! threat: 2.Rc2-f2 # 1...Be5*f4 2.Rc2-e2 # 1...Kf5-e4 2.Rc2-c4 # 1...Kf5*f4 2.Qb3-f3 # 1...g5*f4 2.Rc2-g2 #" keywords: - Active sacrifice - Defences on same square - Flight giving key --- authors: - Mansfield, Comins source: The Observer date: 1949 algebraic: white: [Ka2, Rd4, Rb2, Bh8, Sc6, Pd3] black: [Kc3, Qh1, Bf1, Sc5] stipulation: "#2" solution: | "1.Sc6-a7 ! threat: 2.Sa7-b5 # 1...Bf1*d3 2.Rd4-h4 # 1...Qh1-a8 2.Rd4-d8 # 1...Qh1-b7 2.Rd4-d7 # 1...Qh1-c6 2.Rd4-d6 # 1...Qh1-d5 + 2.Rd4*d5 #" --- authors: - Mansfield, Comins source: Schakend Nederland date: 1967 algebraic: white: [Kd7, Qg2, Re7, Bf1, Bc3, Sf3, Se4, Pf6, Pc6, Pb4] black: [Kd5, Rh5, Rd1, Sg5, Sd2, Pd6, Pc7, Pb5] stipulation: "#2" solution: | "1.Sf3-e1 ! zugzwang. 1...Rd1-a1 {(Rd~ )} 2.Qg2*d2 # 1...Sd2*f1 {(Sd~ )} 2.Qg2-a2 # 1...Sd2-c4 2.Se4*g5 #{display-departure-square} 1...Sd2-b3 2.Se4*g5 #{display-departure-square} 1...Sg5*e4 {display-departure-square}{(Sg~ )} 2.Qg2-g8 # 1...Sg5-f7 2.Se4*d2 # 1...Sg5-e6 2.Se4*d2 # 1...Rh5-h1 {(Rh~ )} 2.Qg2*g5 # 1...Sg5-h3 2.Se4*d2 # 2.Qg2-g8 # 1...Sg5-h7 2.Se4*d2 # 2.Qg2-g8 # 1...Sd2-b1 2.Se4*g5 # 2.Qg2-a2 #" keywords: - Transferred mates --- authors: - Mansfield, Comins source: The Problemist source-id: 5066 date: 1968 algebraic: white: [Kg6, Qh8, Rd7, Rc2, Ba8, Sc7, Sc5, Pe5, Pb7, Pa4] black: [Kc6, Sb8, Sb6, Pe7] stipulation: "#2" solution: | "1.Qh8-c8 ! zugzwang. 1...Sb6*a4 2.Sc5*a4 # 1...Sb6-c4 2.Sc7-d5 # 1...Sb6-d5 2.Sc7*d5 # 1...Sb6*d7 2.Sc5*d7 # 1...Sb6*c8 2.b7*c8=S # 1...Sb6*a8 2.Sc7*a8 # 1...e7-e6 2.Rd7-d6 # 1...Sb8-a6 2.b7-b8=S # 1...Sb8*d7 2.b7-b8=S #" keywords: - Active sacrifice - Black correction --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1968 algebraic: white: [Ka3, Qh6, Re1, Rb4, Bb1, Sg5, Sc2, Ph7, Ph5, Pg2, Pf6, Pf3, Pe6] black: [Kf5, Bh4, Sh8, Sg6, Pg3] stipulation: "#2" solution: | "1...Ne5[a] 2.Ne3#[C] 1...Nf7 2.Qxg6# 1...Nf4 2.Nd4#[A] 1...Nf8/Ne7 2.Na1#[B] 1.Nd4+[A]?? 1...Kf4 2.Nf5#/Nc6#/Nb3#/Nb5#/Re4#/Nh3# but 1...Kxf6! 1.Ne3+[C]?? 1...Kxf6 2.Nd5# but 1...Ke5! 1.Nh3? zz 1...Ne5[a] 2.Nd4#[A] 1...Bg5[b] 2.Qxg5#[D] 1...Nf7 2.Qxg6# 1...Bxf6 2.Nd4#[A]/Na1#[B] 1...Nf4 2.Nd4#[A]/Rxf4#/Qxf4# 1...Nf8 2.Nd4#[A]/Na1#[B]/Rb5#/Rf4#/Qf4# 1...Ne7 2.Nd4#[A]/Na1#[B]/Rf4#/Qf4# but 1...Kxf6! 1.Nf7?? zz 1...Ne5[a] 2.Nd4#[A]/Rxe5# 1...Bg5[b] 2.Qxg5#[D] 1...Nxf7 2.Qxg6# 1...Bxf6 2.Nd4#[A]/Na1#[B]/Nd6# 1...Nf4 2.Nd4#[A]/Re5#/Rxf4#/Nd6#/Qxf4# 1...Nf8 2.Nd4#[A]/Na1#[B]/Re5#/Rb5#/Rf4#/Qf4#/Nd6# 1...Ne7 2.Nd4#[A]/Na1#[B]/Re5#/Nd6#/Rf4#/Qf4# but 1...Kxf6! 1.e7?? zz 1...Ne5[a] 2.Ne3#[C] 1...Kxf6 2.Rf4# 1...Nf7 2.Qxg6# 1...Nf4 2.Nd4#[A] 1...Nf8/Nxe7 2.Na1#[B] but 1...Bxg5[b]! 1.Rf4+?? 1...Nxf4 2.Nd4#[A] but 1...Kxf4! 1.Rg4?? zz 1...Ne5[a] 2.Nd4#[A]/Ne3#[C] 1...Bxg5[b] 2.Qxg5#[D] 1...Nf7 2.Qxg6# 1...Nf4 2.Nd4#[A] 1...Nf8/Ne7 2.Nd4#[A]/Nb4#/Na1#[B] but 1...Kxf6! 1.Qg7! zz 1...Ne5[a] 2.Ne3#[C] 1...Bxg5[b]/Nf8/Ne7 2.Na1#[B] 1...Kxg5 2.Re5# 1...Nf7 2.Qxg6# 1...Nf4 2.Nd4#[A]" keywords: - Black correction - Flight giving and taking key - Changed mates - B2 --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1968 algebraic: white: [Kc7, Qa4, Rd5, Rd3, Sh2, Sd7, Pg3, Pc3, Pb5] black: [Ke4, Rh6, Bc4, Sd1, Pg4, Pf6, Pd6, Pc5, Pb4] stipulation: "#2" solution: | "1.Qa4-a8 ? threat: 2.Qa8-e8 # 1...Bc4*d3 2.Rd5-e5 # 1...Bc4*d5 2.Qa8*d5 # but 1...Rh6-h7 ! 1.Qa4-c2 ! threat: 2.Qc2-g2 # 1...Sd1-f2 2.Qc2-e2 # 1...Sd1-e3 2.Rd3-d4 # 1...Bc4*d3 2.Qc2*d3 # 1...Bc4*d5 2.Rd3-f3 # 1...Rh6*h2 2.Sd7*f6 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1968 algebraic: white: [Ka8, Qg5, Rd1, Rc1, Bb1, Ba3, Sf2, Sd4, Pe5, Pa2] black: [Kd5, Qh2, Bg2, Ba7, Sg8, Ph3, Pg7] stipulation: "#2" solution: | "1.Bb1-f5 ! threat: 2.Bf5-e6 # 1...Kd5*e5 + 2.Bf5-e4 # 1...Ba7*d4 2.Rc1-c5 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Busmen's Chess Review date: 1968 algebraic: white: [Kh3, Rd2, Ra3, Bg1, Bb3, Sf2, Se2, Pe4, Pc2] black: [Kf3, Pe5, Pe3] stipulation: "#2" solution: | "1...e3*f2 2.Bb3-d5 # 1...e3*d2 2.Bb3-c4 # 1.c2-c4 ! zugzwang. 1...e3*f2 2.Bb3-c2 # 1...e3*d2 2.Bb3-d1 #" keywords: - Mutate - Changed mates --- authors: - Mansfield, Comins source: Sunday Times date: 1968 algebraic: white: [Kb5, Qh3, Rh6, Rf5, Bh5, Se8, Se4, Pf4, Pc7] black: [Kd7, Bc8, Sg7, Pe7, Pd6, Pb7, Pb6] stipulation: "#2" solution: | "1.Rh6-h7 ! zugzwang. 1...d6-d5 2.Rf5*d5 # 1...Kd7-e6 2.Rf5-e5 # 1...e7-e5 2.Rf5*e5 # 1...e7-e6 2.Rh7*g7 # 1...Sg7-e6 2.Se4-f6 # 1...Sg7*f5 2.Qh3*f5 # 1...Sg7*h5 2.Rf5-f8 # 1...Sg7*e8 2.Rf5-c5 #" keywords: - Defences on same square - Black correction - Flight giving key --- authors: - Mansfield, Comins source: En Liberte date: 1968 algebraic: white: [Kb5, Qf8, Rg5, Bh1, Bd6, Pg3, Pf3, Pc3] black: [Kd5, Qf5, Rh6, Bh7, Pe6, Pd3, Pb6] stipulation: "#2" solution: | "1.Bd6-e5 ! threat: 2.Qf8-d6 # 1...Kd5*e5 2.f3-f4 # 1...Qf5*f3 2.Qf8-a8 # 1...Qf5*e5 2.Qf8-d8 # 1...Qf5*f8 2.c3-c4 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Europe Échecs date: 1968 algebraic: white: [Kg8, Qa1, Rd4, Bg5, Bg2, Sh4, Pd5, Pc5] black: [Ke5, Qe1, Sb6, Ph7, Pe7, Pe3, Pd7, Pb4] stipulation: "#2" solution: | "1.Bg5-h6 ! threat: 2.Bh6-g7 # 1...Qe1*h4 2.Rd4-f4 # 1...Qe1-g3 + 2.Rd4-g4 # 1...Qe1-f2 2.Rd4-d2 # 1...Qe1-f1 2.Rd4-d1 # 1...Ke5-f6 2.Rd4-f4 # 1...Sb6*d5 2.Rd4-e4 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: L'Italia Scacchistica date: 1968 algebraic: white: [Ka6, Qb2, Re4, Bh1, Bb8, Pe6, Pa7, Pa3] black: [Ka8, Qa1, Be3, Pe7, Pb5] stipulation: "#2" solution: | "1.Qb2-h8 ! threat: 2.Bb8-e5 # 1...Qa1*h8 2.Re4-h4 # 1...Qa1-g7 2.Re4-g4 # 1...Qa1-f6 2.Re4-f4 # 1...Qa1-d4 2.Re4*d4 # 1...Qa1-c3 2.Re4-c4 # 1...Qa1*a3 + 2.Re4-a4 # 1...Qa1*h1 2.Bb8-h2 # 1...Qa1-g1 2.Bb8-g3 # 1...Qa1-f1 2.Bb8-f4 # 1...Qa1-d1 2.Bb8-d6 # 1...Qa1-c1 2.Bb8-c7 # 1...Be3-h6 2.Re4-e1 # 1...Be3*a7 2.Re4-e1 # 1...Be3-b6 2.Re4-e1 #" keywords: - Transferred mates --- authors: - Mansfield, Comins source: Chess Life source-id: 261 date: 1969-07 algebraic: white: [Kh2, Qe8, Rg2, Rc8, Bh1, Bg1, Sg5, Sb5, Pe6, Pe5] black: [Kd5, Sd6, Pe3, Pd3] stipulation: "#2" solution: | "1.Sg5-f7 ! zugzwang. 1...d3-d2 2.Rg2*d2 # 1...e3-e2 2.Sb5-c3 # 1...Kd5-e4 2.Rg2-f2 # 1...Sd6*b5 2.Rg2-g4 # 1...Sd6-c4 2.Qe8-c6 # 2.Rg2-a2 # 2.Rg2-b2 # 2.Rg2-c2 # 2.Rg2-d2 # 2.Rg2-e2 # 2.Rg2-f2 # 2.Rg2-g8 # 2.Rg2-g7 # 2.Rg2-g6 # 2.Rg2-g5 # 2.Rg2-g4 # 2.Rg2-g3 # 1...Sd6-e4 2.Qe8-c6 # 1...Sd6-f5 2.Qe8-c6 # 2.Rg2-a2 # 2.Rg2-b2 # 2.Rg2-c2 # 2.Rg2-d2 # 2.Rg2-e2 # 2.Rg2-f2 # 2.Rg2-g8 # 2.Rg2-g7 # 2.Rg2-g6 # 2.Rg2-g5 # 2.Rg2-g4 # 2.Rg2-g3 # 1...Sd6*f7 2.Rg2-g5 # 1...Sd6*e8 2.Rg2-g6 # 1...Sd6*c8 2.Rg2-c2 # 1...Sd6-b7 2.Qe8-c6 # 2.Rg2-a2 # 2.Rg2-b2 # 2.Rg2-c2 # 2.Rg2-d2 # 2.Rg2-e2 # 2.Rg2-f2 # 2.Rg2-g8 # 2.Rg2-g7 # 2.Rg2-g6 # 2.Rg2-g5 # 2.Rg2-g4 # 2.Rg2-g3 #" keywords: - Active sacrifice - Flight giving and taking key --- authors: - Mansfield, Comins source: Schakend Nederland date: 1969 algebraic: white: [Ke2, Qd3, Rb1, Ra3, Bb5, Sa6, Pe6, Pc7] black: [Kb6, Bc8, Sd7, Pe7, Pb7, Pb4, Pa7] stipulation: "#2" solution: | "1.Qd3-c3 ! zugzwang. 1...b4-b3 2.Qc3-a5 # 1...b4*c3 2.Bb5*d7 # 1...b4*a3 2.Bb5-d3 # 1...Kb6*b5 2.Rb1*b4 # 1...b7*a6 2.Qc3-c6 # 1...Sd7-c5 2.Qc3*c5 # 1...Sd7-e5 2.Qc3-c5 # 1...Sd7-f6 2.Qc3-c5 # 1...Sd7-f8 2.Qc3-c5 # 1...Sd7-b8 2.Qc3-c5 #" keywords: - Active sacrifice - Flight giving key --- authors: - Mansfield, Comins source: Sinfonie Scacchistiche source-id: 15/546 date: 1969-01 algebraic: white: [Kh6, Qg2, Rd1, Rc3, Bd2, Ba2, Se4, Sc4, Pf5, Pe5, Pc5, Pb5] black: [Kd5, Rd4, Ra6, Sb8, Pf2, Pd6, Pa7] stipulation: "#2" solution: | "1...Rd4*c4 2.Bd2-f4 # 1...Rd4*e4 2.Bd2-e3 # 1.Rc3-e3 ! threat: 2.Qg2-g8 # 1...Rd4-d3 2.Re3*d3 # 1...Rd4*c4 2.Bd2-c3 # 1...Rd4*e4 2.Bd2-b4 # 1...d6*e5 + 2.Sc4-b6 # 1...d6*c5 + 2.Se4-f6 # 1...Rd4*d2 2.Qg2*d2 # 2.Rd1*d2 #" keywords: - Black correction - Changed mates --- authors: - Mansfield, Comins source: De Waarheid Miniature Ty. date: 1969 algebraic: white: [Ka1, Qc6, Rf3, Bb2, Sa2, Pc5] black: [Kc4] stipulation: "#2" solution: | "1.Sa2-c3 ! zugzwang. 1...Kc4-b3 2.Qc6-a4 # 1...Kc4-b4 2.Qc6-b5 # 1...Kc4-d4 2.Qc6-d5 #" keywords: - 3+ flights giving key --- authors: - Mansfield, Comins source: Gazeta Częstochowska source-id: v date: 1970 algebraic: white: [Ka1, Qd8, Re2, Rc2, Sf6, Sb6, Pf3, Pf2, Pb4, Pb3] black: [Kd4, Qd6, Ra7, Ra4, Bh1, Pc7, Pa2] stipulation: "#2" solution: | "1.Sb6-d5 ? threat: 2.Rc2-d2 # 1...Qd6*b4 2.Sd5*b4 # 1...Qd6-f4 2.Sd5*f4 # but 1...Ra4*b4 ! 1.Sf6-d5 ? threat: 2.Rc2-d2 # 1...Qd6*b4 2.Sd5*b4 # 1...Qd6-f4 2.Sd5*f4 # but 1...Ra4*b4 ! 1.Sf6-d7 ? threat: 2.Re2-d2 # 1...Qd6*b4 2.Sd7-c5 # 1...Qd6-f4 2.Sd7-e5 # but 1...Bh1*f3 ! 1.Sb6-d7 ! threat: 2.Re2-d2 # 1...Qd6*b4 2.Sd7-c5 # 1...Qd6-f4 2.Sd7-e5 # 1...Qd6-a6 2.Sd7-b6 # 1...Qd6*d7 2.Qd8*d7 #" keywords: - Changed mates - Switchback --- authors: - Mansfield, Comins source: Geneva Chess Club Bulletin date: 1970 algebraic: white: [Ka5, Qb1, Rd2, Rc3, Bf8, Sc4, Pe5] black: [Kc6, Rc2, Bc8, Se1, Sa7, Pf5, Pc7] stipulation: "#2" solution: | "1.e5-e6 ! threat: 2.Sc4-e5 # 1...Se1-d3 2.Qb1-h1 # 1...Rc2-a2 + 2.Sc4-a3 # 1...Rc2-b2 2.Sc4-d6 # 1...Rc2*d2 2.Sc4-e3 # 1...Sa7-b5 2.Qb1*b5 #" --- authors: - Mansfield, Comins source: Problemas source-id: 328v date: 1970 algebraic: white: [Kh8, Qh7, Rf1, Rd6, Bf5, Sf3] black: [Kf6, Qa1, Rc6, Rb2, Be6, Bd8, Pg5, Pe5, Pd5, Pc5] stipulation: "#2" solution: | "1.Bf5-h3 ? threat: 2.Qh7-g7 # 1...Qa1-a7 2.Sf3-d2 # 1...Rb2-b7 2.Sf3-e1 # but 1...g5-g4 ! 1.Sf3-h4 ! threat: 2.Qh7-g7 # 1...Qa1-a7 2.Bf5-c2 # 1...Rb2-b7 2.Bf5-b1 # 1...Rc6-c7 2.Rd6*e6 #" keywords: - Changed mates - Half-battery - Battery creation --- authors: - Mansfield, Comins source: Schakend Nederland date: 1970 algebraic: white: [Kg2, Qh3, Ba4, Sg7, Sd2, Pg5, Pf4, Pd6, Pb4] black: [Kd5, Sd8, Ph4, Pg6, Pd4, Pb2] stipulation: "#2" solution: | "1.Sd2-b1 ! zugzwang. 1...d4-d3 2.Qh3*d3 # 1...Kd5-c4 2.Qh3-b3 # 1...Kd5-e4 2.Qh3-f3 # 1...Kd5*d6 2.Qh3-d7 # 1...Sd8-b7 {(S~ )} 2.Qh3-e6 #" keywords: - King Y-flight --- authors: - Mansfield, Comins source: Chess Life date: 1969 algebraic: white: [Kg2, Qa7, Bd4, Bb3, Se2, Ph2, Pf3, Pe4, Pd2, Pc5, Pb4, Pa3] black: [Kb1, Pb5, Pb2, Pa2] stipulation: "#3" solution: | "1.Bd4-h8 ! threat: 2.c5-c6 threat: 3.Qa7-g1 # 1...a2-a1=S 2.Qa7-g7 threat: 3.Qg7*b2 # 1...a2-a1=B 2.Bb3-d1 zugzwang. 2...Kb1-a2 3.Se2-c3 #" --- authors: - Mansfield, Comins source: Die Schwalbe source-id: 7/305 date: 1971-02 algebraic: white: [Kb6, Qd2, Bg6, Ba5, Sa7, Pd6, Pa6] black: [Kd8, Qb3, Rh5, Be4, Ph6, Pd7, Pc5, Pb5, Pa3] stipulation: "#2" solution: | "1.Qd2-d5 ! threat: 2.Kb6*c5 # 2.Kb6-b7 # 1...Qb3*d5 2.Kb6*b5 # 1...Qb3-a4 2.Qd5-g8 # 1...Qb3-b4 2.Qd5-g8 # 1...Qb3-c3 2.Qd5-g8 # 1...Be4*g6 2.Qd5-a8 #" keywords: - Active sacrifice - Defences on same square --- authors: - Mansfield, Comins source: Probleemblad date: 1971 algebraic: white: [Kd8, Qb8, Rd4, Bc3, Ph5, Pg4] black: [Kf6, Qh8, Rh7, Bf8, Sg8, Ph6, Pg5, Pe7, Pc4] stipulation: "#2" solution: | "1.Qb8-b1 ! zugzwang. 1...Kf6-e5 2.Qb1-f5 # 1...Kf6-g7 2.Qb1-g6 # 1...Kf6-e6 2.Qb1-f5 # 1...Kf6-f7 2.Qb1-g6 # 1...e7-e5 2.Qb1-g6 # 1...e7-e6 2.Rd4-f4 # 1...Rh7-f7 2.Rd4-d6 # 1...Rh7-g7 2.Qb1-f5 # 1...Bf8-g7 2.Qb1-f5 # 1...Qh8-g7 2.Qb1-f5 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Suomen Shakki date: 1971 algebraic: white: [Kd3, Qa7, Rf5, Rd5, Bh3, Pg6, Pg2, Pe7, Pc6] black: [Ke6, Rh2, Bc8, Se8, Sa1, Pg3, Pd4, Pb6, Pb5] stipulation: "#2" solution: | "1...Bd7/Ba6 2.Qxd7# 1...Nf6 2.Rfe5# 1...Nd6 2.Rde5# 1.Qa3?? (2.Rde5#) but 1...b4! 1.Qc7?? (2.Qe5#/Rde5#) 1...Nd6 2.Qxd6#/Rxd6#/Rde5# but 1...Nxc7! 1.Qb8?? (2.Rde5#/Qe5#) 1...Kxe7 2.Rf7# 1...Nd6 2.Qxd6#/Rde5# but 1...Nc7! 1.Qa2! (2.Qe2#) 1...Kxe7/Rxg2 2.Rf7# 1...Nf6 2.Rfe5# 1...Nd6 2.Rde5# 1...Nc2 2.Rd7#" keywords: - Flight giving key --- authors: - Mansfield, Comins source: L'Italia Scacchistica source-id: v date: 1962 algebraic: white: [Kh1, Qc7, Rf1, Bb6, Ba8, Se3, Sb7, Pe6, Pc4] black: [Ke4, Qh8, Ra2, Sf3, Ph2, Pf5, Pf4, Pd3] stipulation: "#2" solution: | "1.Se3-d1 ! zugzwang. 1...Ra2-a1 2.Sd1-f2 # 1...Ra2*a8 2.Sd1-f2 # 1...Ra2-a7 2.Sd1-f2 # 1...Ra2-a6 2.Sd1-f2 # 1...Ra2-a5 2.Sd1-f2 # 1...Ra2-a4 2.Sd1-f2 # 1...Ra2-a3 2.Sd1-f2 # 1...Ra2-g2 2.Sb7-d8 # 1...Ra2-e2 2.Sb7-d8 # 1...Ra2-d2 2.Sb7-d8 # 1...Ra2-c2 2.Sb7-d8 # 1...Ra2-b2 2.Sb7-d8 # 1...d3-d2 2.Sd1-f2 # 1...Qh8-a1 2.Sb7-a5 # 1...Qh8-b2 2.Sb7-a5 # 1...Qh8-d4 2.Sb7-c5 # 1...Qh8-e5 2.Sb7-d6 # 1...Qh8-f6 2.Sb7-a5 # 1...Qh8-g7 2.Sb7-a5 # 1...Qh8*a8 2.Sd1-c3 # 1...Qh8-b8 2.Sd1-c3 # 1...Qh8-c8 2.Sd1-c3 # 1...Qh8-d8 2.Sd1-c3 # 1...Qh8-e8 2.Sd1-c3 # 1...Qh8-f8 2.Sd1-c3 # 1...Qh8-g8 2.Sd1-c3 # 1...Sf3-d2 2.Qc7*f4 # 2.Rf1*f4 # 1...Sf3-e1 2.Qc7*f4 # 2.Rf1*f4 # 1...Sf3-g1 2.Qc7*f4 # 2.Rf1*f4 # 1...Sf3-h4 2.Qc7*f4 # 2.Rf1*f4 # 1...Sf3-g5 2.Qc7*f4 # 2.Rf1*f4 # 1...Sf3-e5 2.Sb7-d6 # 2.Sd1-c3 # 1...Sf3-d4 2.Qc7*f4 # 2.Sb7-c5 # 2.Rf1*f4 # 1...Qh8-h3 2.Sb7-a5 # 2.Sd1-c3 # 1...Qh8-h4 2.Sb7-a5 # 2.Sd1-c3 # 1...Qh8-h5 2.Sb7-a5 # 2.Sd1-c3 # 1...Qh8-h6 2.Sb7-a5 # 2.Sd1-c3 # 1...Qh8-h7 2.Sb7-a5 # 2.Sd1-c3 # 1...Ra2-f2 2.Sb7-d8 # 2.Sd1*f2 # 1...Qh8-c3 2.Sb7-a5 # 2.Sd1*c3 #" keywords: - Black correction - B2 --- authors: - Mansfield, Comins source: Sunday Times date: 1933-08-13 algebraic: white: [Kb6, Qg8, Re6, Bd7, Sg4, Pg7, Pc3] black: [Kd5, Rg6, Ba6, Sb5, Pg5, Pf4, Pc4, Pb7] stipulation: "#2" solution: | "1...Rxe6+[a] 2.Qxe6#[A] 1...f3 2.Ne3# 1...Nd6 2.Re5# 1...Rxg7/Rf6 2.Nf6# 1.Qf8?? (2.Qf5#/Qc5#) 1...Nxc3[b]/Nd4[b] 2.Qd6#/Qc5# 1...Nd6 2.Qxd6#/Re5# 1...Rf6 2.Nxf6#/Qc5# but 1...Rxe6+[a]! 1.Bc8[B]? zz 1...Rxe6+[a] 2.Qxe6#[A] 1...Nxc3[b]/Nc7[b]/Nd4[b]/Na3[b]/Na7[b] 2.Qd8#[C] 1...f3 2.Ne3# 1...Rxg7/Rf6 2.Nf6# 1...Nd6 2.Re5# but 1...Rh6! 1.Rd6+?? 1...Ke4 2.Qd5# but 1...Kxd6! 1.Rc6+?? 1...Re6[a] 2.Qxe6#[A] but 1...Ke4! 1.Qd8[C]! zz 1...Rxe6+[a] 2.Bc6#[D] 1...Nxc3[b]/Nc7[b]/Nd4[b]/Na3[b]/Na7[b] 2.Bc8#[B] 1...f3 2.Ne3# 1...Nd6 2.Re5# 1...Rxg7/Rf6 2.Nf6# 1...Rh6 2.Qxg5#" keywords: - Black correction - Changed mates - Reversal --- authors: - Mansfield, Comins source: Bristol Times and Mirror date: 1924 algebraic: white: [Kh5, Qe2, Rf5, Bg8, Bf4, Se3, Pd4] black: [Ke4, Ra6, Ra5, Bb6, Pe5, Pb3] stipulation: "#2" solution: | "1...Kxd4 2.Qc4# 1.Be6?? (2.Nc2#) 1...Kxd4 2.Qc4# but 1...Bxd4! 1.Bd5+?? 1...Kxd4 2.Qc4# but 1...Rxd5! 1.Kg4?? (2.Nc2#) 1...Kxd4 2.Qc4# but 1...Bxd4! 1.Qc2+?? 1...Kxd4 2.Qc4# 1...Kf3 2.Qg2# but 1...bxc2! 1.Qd3+?? 1...Kf3 2.Bh2#/Bxe5# but 1...Kxd3! 1.Rf8?? (2.Nc2#) 1...Kxd4 2.Qc4# 1...exd4+ 2.Nd5# 1...exf4+ 2.Nf5# but 1...Bxd4! 1.Rxe5+?? 1...Kxd4 2.Qd2#/Qc4# 1...Kxf4 2.Qf2#/Qg4# but 1...Rxe5+! 1.Nf1+?? 1...Kxd4 2.Qe3#/Qc4# but 1...Kxf5! 1.Ng2+?? 1...Kxd4 2.Qe3#/Qc4# but 1...Kxf5! 1.Ng4+?? 1...Kxd4 2.Qe3#/Qc4# but 1...Kxf5! 1.Nd1+?? 1...Kxd4 2.Qe3#/Qc4# but 1...Kxf5! 1.Nd5+?? 1...Kxf5 2.Qxe5# but 1...Kxd4! 1.Nc4+?? 1...Kxd4 2.Qe3# but 1...Kxf5! 1.Rf6! (2.Nc2#) 1...Kxd4 2.Qc4# 1...Bxd4 2.Bh7# 1...exd4+ 2.Nd5# 1...exf4+ 2.Nf5#" keywords: - Defences on same square --- authors: - Mansfield, Comins source: British Chess Federation 95th Tourney date: 1960 distinction: 4th Comm., 1960-1961 algebraic: white: [Kg6, Qb6, Rc5, Bh7, Bb8, Sf1, Pf6, Pc3] black: [Ke4, Ra7, Bh2, Sf2, Sd1, Pf3, Pe2, Pd5, Pa5] stipulation: "#2" solution: | "1.Rc5-c7 ! threat: 2.Qb6-d4 # 1...Sd1*c3 2.Qb6-e3 # 1...Bh2-e5 2.Kg6-g5 # 1...Ke4-d3 2.Qb6-b1 # 1...Ke4-e5 2.Rc7-e7 # 1...Ke4-f4 2.Rc7-c4 #" keywords: - 2 flights giving key --- authors: - Mansfield, Comins source: The Problemist source-id: C5107 date: 1968 distinction: 4th Comm. algebraic: white: [Kd3, Qf2, Re4, Rc4, Bf1, Be1, Pf5, Pc7] black: [Kb5, Bc8, Sd7, Sa7, Pf6, Pe5, Pb7, Pa6, Pa3] stipulation: "#2" solution: | "1.Kd3-c2 ? zugzwang. 1...a6-a5 2.Rc4-c3 # 1...Sa7-c6 2.Rc4-a4 # 1...b7-b6 2.Rc4-c5 # but 1...a3-a2 ! 1.Rc4-c1 ! zugzwang. 1...a3-a2 2.Qf2-b2 # 1...a6-a5 2.Kd3-d2 # 1...Sa7-c6 2.Kd3-c2 # 1...b7-b6 2.Kd3-e3 # 1...Sd7-c5 + 2.Qf2*c5 # 1...Sd7-f8 2.Qf2-c5 # 1...Sd7-b8 2.Qf2-c5 # 1...Sd7-b6 2.Qf2-c5 # 2.Rc1-c5 #" keywords: - Anti-reversal - Changed mates - B2 --- authors: - Mansfield, Comins source: Dunaújvárosi Hirlap T.T. date: 1962 distinction: 4th Comm., 1962-1964 algebraic: white: [Ka8, Qg4, Rh5, Ra5, Sb7, Pc3, Pb5] black: [Kd5, Rh3, Rh2, Bh8, Bb3, Sg5, Ph7, Pg6, Pe5] stipulation: "#2" solution: | "1.Ra5-a4 ! threat: 2.Qg4-d7 # 1...Bb3-c4 2.Qg4*c4 # 1...Bb3*a4 2.c3-c4 # 1...e5-e4 2.Qg4*e4 # 1...Sg5-e4 2.Ra4-d4 # 1...Sg5-f7 2.Ra4-d4 # 1...Sg5-e6 2.Qg4-e4 #" keywords: - Active sacrifice - Changed mates --- authors: - Mansfield, Comins source: KeyStip 18. Ty. date: 1976 distinction: 4th Comm., 1976-1977 algebraic: white: [Kg1, Qh5, Rg4, Bh7, Bh2, Se5, Sc7, Pf2, Pc3] black: [Ke4, Rf5, Bg7, Ph6, Pf4, Pe6] stipulation: "#2" solution: | "1.Rg4-g6 ! threat: 2.Qh5-e2 # 1...Ke4*e5 2.Rg6*e6 # 1...f4-f3 2.Rg6-g4 # 1...Rf5*e5 2.Rg6*e6 # 1...Rf5-f8 2.Rg6-f6 # 1...Rf5-f7 2.Rg6-f6 # 1...Rf5-f6 2.Rg6*f6 # 1...Rf5*h5 2.Rg6-g5 # 1...Rf5-g5 + 2.Rg6*g5 #" keywords: - Switchback --- authors: - Mansfield, Comins source: Clube da Xadrez Guanabara date: 1976 distinction: 4th Comm. algebraic: white: [Ka6, Qg4, Rc6, Rb4, Bb8, Ba8, Sf4, Sd4, Pf5, Pd5, Pd2] black: [Ke4, Rf8, Rf6, Bd6, Sg5, Pe7, Pd7] stipulation: "#2" solution: | "1...Bd6-c5 2.Qg4-e2 # 1...Bd6*b8 2.Sd4-f3 # 1...Bd6-c7 2.Sd4-f3 # 1.Rc6-c3 ! threat: 2.Rc3-e3 # 1...Ke4-e5 2.Sf4-d3 # 1...Bd6*b4 + 2.Sf4-e6 # 1...Bd6-c5 + 2.Sf4-e6 # 1...Bd6*f4 + 2.Sd4-e6 # 1...Bd6-e5 + 2.d5-d6 # 1...Bd6*b8 + 2.Sd4-c6 # 1...Bd6-c7 + 2.Sd4-c6 #" keywords: - Black correction - Changed mates --- authors: - Mansfield, Comins source: Suomen Shakki source-id: 5/1225 date: 1981 distinction: 4th Comm. algebraic: white: [Kg1, Qf5, Bf3, Se8, Pc4, Pc3, Pb5, Pb3] black: [Kc5, Rg6, Ba6, Ba3, Se5, Pg5, Pf7, Pf6, Pb7, Pb6] stipulation: "#2" solution: | "1.Bf3-d5 ! threat: 2.Qf5-f2 # 1...Ba3-c1 2.b3-b4 # 1...Se5*c4 2.Bd5*c4 # 1...Se5-d3 2.Qf5-c8 # 1...Se5-f3 + 2.Bd5*f3 # 1...Se5-g4 2.Qf5-c8 # 1...Se5-c6 2.Bd5*c6 #" keywords: - Switchback --- authors: - Mansfield, Comins source: Falkirk Herald (Middleweight Ty.) date: 1930 distinction: 3rd Prize algebraic: white: [Kh4, Qg2, Rh5, Rd1, Bf5, Ba1, Sd6, Sb7, Pd3, Pb5] black: [Kd5, Qf3, Ra8, Bc2, Sh3, Pg4, Pf7, Pf6, Pa7] stipulation: "#2" solution: | "1.Sd6-c4 ? threat: 2.Sc4-e3 # but 1...Ra8-e8 ! 1.Rd1-e1 ? threat: 2.Bf5-e6 # 1...Qf3-e4 2.Qg2*e4 # but 1...Sh3-g5 ! 1.Sd6-e4 ! threat: 2.Se4*f6 # 1...Bc2*d3 2.Qg2-a2 # 1...Qf3*e4 2.Qg2*e4 # 1...Qf3-f2 + 2.Se4*f2 # 1...Qf3*d3 2.Se4-d6 # {display-departure-square} 1...Qf3*f5 2.Se4-c5 # 1...Qf3-g3 + 2.Se4*g3 #" keywords: - Switchback --- authors: - Mansfield, Comins source: Valve Ty., The Chess Amateur date: 1928 distinction: 3rd Prize algebraic: white: [Ka2, Qa8, Rf3, Rc6, Bh1, Bf4, Sf2, Se2, Pb5] black: [Kd5, Qg7, Rh7, Rg8, Sf6, Pf5, Pe6, Pe3, Pa6] stipulation: "#2" solution: | "1...e3*f2 2.Rf3-d3 # 1.Sf2-d1 ! threat: 2.Sd1-c3 # 1...Kd5-e4 2.Rf3*e3 # 1...Sf6-e4 2.Sd1*e3 # 1...Sf6-g4 2.Rf3-h3 # 1...Sf6-h5 2.Rf3-g3 # 1...Sf6-e8 2.Rc6-c7 # 1...Sf6-d7" keywords: - Flight giving key --- authors: - Mansfield, Comins source: De Problemist date: 1929 distinction: 3rd Prize algebraic: white: [Kg8, Qg1, Rf4, Ra7, Sf7, Se3, Pg7, Pd7, Pd5] black: [Ke7, Qb5, Bh3, Bd8, Ph6, Pd6, Pb6, Pb3] stipulation: "#2" solution: | "1.Qg1-e1 ! threat: 2.Qe1-h4 # 1...Bh3*d7 2.Se3-c4 # 1...Qb5*d7 2.Se3-g4 # 1...Qb5*d5 2.Se3*d5 # 1...Bd8-c7 2.d7-d8=Q #" --- authors: - Mansfield, Comins source: L'Echiquier date: 1929 distinction: 3rd Prize algebraic: white: [Kd7, Qf1, Ra4, Bd6, Ba8, Sh4, Sb5, Pd5, Pb6] black: [Ke4, Qd4, Rh5, Sb1, Ph7, Pe5, Pe3, Pc2] stipulation: "#2" solution: | "1.Bd6-b4 ! threat: 2.Sb5-d6 # 1...e3-e2 2.Qf1-f3 # 1...Qd4-a1 2.d5-d6 # 1...Qd4-b2 2.d5-d6 # 1...Qd4-c3 2.Bb4*c3 # 1...Qd4*b6 2.Bb4-c5 # 1...Qd4-c5 2.Bb4*c5 # 1...Qd4-d1 2.Bb4-d2 # 1...Qd4-d2 2.Bb4*d2 # 1...Qd4-d3 2.Qf1-f3 # 1...Qd4-c4 2.Qf1*c4 # 1...Qd4*d5 + 2.Bb4-d6 # 1...Rh5-h6 2.Qf1-f5 # 1...Qd4*b4 2.d5-d6 # 2.Ra4*b4 #" keywords: - Black correction - Switchback --- authors: - Mansfield, Comins source: Karlovac Chess Club date: 1934 distinction: 3rd Prize, 1933-34 algebraic: white: [Kh2, Qa8, Rf1, Rc3, Bg1, Bc2, Sd3, Pd6] black: [Ke4, Qd5, Pg5, Pe6, Pb6, Pb5] stipulation: "#2" solution: | "1.Rc3-c6 ! zugzwang. 1...b5-b4 2.Rc6-c4 # 1...Qd5-a2 {(Q~ )} 2.Rc6-c4 # 1...Qd5*c6 2.Qa8*c6 # 1...Qd5*d3 2.Rc6-c5 # 1...Qd5-c5 2.Rc6*c5 # 1...Qd5*d6 + 2.Rc6*d6 # 1...Qd5-e5 + 2.Sd3-f4 # 1...g5-g4 2.Rf1-f4 # 1...e6-e5 2.Sd3-c5 #" keywords: - Active sacrifice - Black correction - Vladimirov - Changed mates --- authors: - Mansfield, Comins source: Skakbladet date: 1966 distinction: 3rd Prize algebraic: white: [Kh3, Qa5, Re7, Re1, Be3, Ba6, Se6, Sc2, Pg5, Pg4, Pg2] black: [Ke4, Rf8, Be8, Be5, Sh7, Se2, Pg3, Pd7] stipulation: "#2" solution: | "1.Qa5-b5 ! threat: 2.Qb5-d3 # 1...Se2-c1 2.Be3*c1 # 1...Se2-g1 + 2.Be3*g1 # 1...Se2-f4 + 2.Be3*f4 # 1...Se2-d4 2.Be3*d4 # 1...Be5-a1 2.Se6-d4 # 1...Be5-b2 2.Se6-d4 # 1...Be5-c3 2.Se6-d4 # 1...Be5-d4 2.Se6*d4 # 1...Be5-f4 2.Se6*f4 # 1...Be5-h8 2.Se6-g7 # 1...Be5-g7 2.Se6*g7 # 1...Be5-f6 2.Qb5-f5 # 1...Be5-b8 2.Se6-c7 # 1...Be5-c7 2.Se6*c7 # 1...Be5-d6 2.Ba6-b7 # 1...Sh7*g5 + 2.Se6*g5 #" keywords: - Black correction - Levman --- authors: - Mansfield, Comins source: The Chess Review, Sam Loyd Centenary Ty., Open Section source-id: 1977 date: 1942 distinction: 3rd Prize, 1941-1942 algebraic: white: [Kh5, Qf5, Rh4, Ra2, Bg8, Bf4, Sc7, Sc5, Pa6] black: [Kb4, Rc4, Bh8, Pb5, Pa5, Pa4] stipulation: "#2" solution: | "1.Qf5-f8 ! threat: 2.Sc7-d5 # 1...Kb4-c3 2.Bf4-d2 # 1...Rc4-c1 2.Bf4-d2 # 1...Rc4-c2 2.Bf4-d2 # 1...Rc4-c3 2.Sc5-d3 # 1...Rc4*c5 + 2.Bf4-e5 # 1...Rc4*f4 2.Sc5*a4 # 1...Rc4-e4 2.Sc5*e4 # 1...Rc4-d4 2.Bf4-d2 #" keywords: - Provoked check - Cross-checks - Battery play --- authors: - Mansfield, Comins source: Washington Star date: 1942 distinction: 3rd Prize, 1942-1943 algebraic: white: [Kg7, Qe4, Rh2, Ra5, Bb5, Sh7, Sg5, Pg2] black: [Kh5, Qb1, Rh1, Ra4, Bd1, Bb2, Sh4, Se5, Pf7, Pf6] stipulation: "#2" solution: | "1.Sg5-e6 ! threat: 2.Sh7*f6 # 1...Rh1-f1 2.Rh2*h4 # 1...Se5-c4 2.Qe4*h4 # 1...Se5-d3 2.Qe4-f5 # 1...Se5-f3 2.g2-g4 # 1...Se5-g4 2.Se6-f4 # 1...Se5-g6 2.Bb5-e2 # 1...Se5-d7 2.Bb5-e2 # 1...Se5-c6 2.Bb5-e2 # 1...f7*e6 2.Bb5-e8 #" keywords: - Black correction --- authors: - Mansfield, Comins source: The Problemist date: 1956 distinction: 3rd Prize algebraic: white: [Kd8, Qb2, Rh6, Rf3, Bh1, Be7, Sf6, Sd5, Pf5] black: [Kc6, Qc1, Ba6, Pf2, Pc4, Pc2, Pa7] stipulation: "#2" solution: | "1.Sd5-c7 ! zugzwang. 1...f2-f1=R 2.Rf3*f1 # 1...f2-f1=B 2.Rf3*f1 # 1...c4-c3 2.Rf3*c3 # 1...Ba6-b5 2.Qb2*b5 # 1...Ba6-c8 2.Qb2-b5 # 1...Ba6-b7 2.Qb2-b5 # 1...Qc1*h6 2.Rf3-h3 # 1...Qc1-g5 2.Rf3-g3 # 1...Qc1-f4 2.Rf3*f4 # 1...Qc1-e3 2.Rf3*e3 # 1...Qc1-d2 + 2.Rf3-d3 # 1...Qc1*b2 2.Rf3-b3 # 1...Qc1*h1 2.Sf6-h5 # 1...Qc1-g1 2.Sf6-g4 # 1...Qc1-e1 2.Sf6-e4 # 1...Qc1-d1 + 2.Sf6-d5 # 1...f2-f1=Q 2.Rf3*f1 # 1...Qc1-a1 2.Sf6-d5 # 2.Sf6-e4 # 2.Sf6-g4 # 2.Sf6-h5 # 2.Sf6-h7 # 2.Sf6-g8 # 2.Sf6-e8 # 2.Sf6-d7 # 1...Qc1-b1 2.Sf6-d5 # 2.Sf6-e4 # 2.Sf6-g4 # 2.Sf6-h5 # 2.Sf6-h7 # 2.Sf6-g8 # 2.Sf6-e8 # 2.Sf6-d7 # 1...Qc1-f1 2.Sf6-d5 # 2.Sf6-e4 # 2.Sf6-g4 # 2.Sf6-h5 # 2.Sf6-h7 # 2.Sf6-g8 # 2.Sf6-e8 # 2.Sf6-d7 #" --- authors: - Mansfield, Comins source: Chess date: 1959 distinction: 3rd Prize algebraic: white: [Kh7, Qe7, Rg6, Rf8, Bf1, Be1, Sf7, Sf6, Pe3] black: [Kf3, Qa3, Rd2, Ra8, Sh1, Sf2, Ph3, Ph2, Pb4] stipulation: "#2" solution: | "1.Sf6-g4 ! threat: 2.Sg4*h2 # 1...Sf2-d1 2.Sf7-d8 # 1...Sf2*g4 2.Sf7-g5 # 1...Sf2-e4 2.Sf7-e5 # 1...Sf2-d3 2.Qe7-b7 # 1...Qa3*e3 2.Qe7*e3 # 1...Kf3-g3 2.Sg4-e5 #" keywords: - Active sacrifice - Black correction - Flight giving key - B2 --- authors: - Mansfield, Comins source: The Problemist date: 1959 distinction: 3rd Prize algebraic: white: [Kh7, Qa8, Rg2, Rb6, Bh1, Be5, Sd6, Sb7, Ph5, Pf5] black: [Kd5, Rg6, Ra2, Bc1, Ph6, Pg7, Pe3, Pd3, Pc5] stipulation: "#2" solution: | "1.Qxa2+?? 1...c4 2.Qa5# but 1...Kxe5! 1.Qg8+?? 1...Re6 2.Qxe6# but 1...Kxe5! 1.Rc2+?? 1...Rg2 2.Rxc5# but 1...Kxe5! 1.Nc4! zz 1...Ke4/Ba3/Rb2/Rc2/Rd2/Re2/Rf2/Raxg2 2.Nbd6# 1...Kxc4 2.Qxa2# 1...e2/Bd2/Bb2/d2/Ra1/Ra3/Ra4/Ra5/Ra6/Ra7/Rxa8 2.Rg4# 1...Rg5/Rg4/Rg3/Rgxg2 2.Nba5# 1...Rf6/Re6/Rd6/Rc6/Rxb6 2.Rc2#" keywords: - Flight giving key - Flight giving and taking key --- authors: - Mansfield, Comins source: The Brisbane Courier date: 1915 distinction: 3rd Prize algebraic: white: [Ka6, Qb3, Rd5, Ra4, Bh7, Sh5, Sb6] black: [Ke4, Rd4, Be6, Be5, Sg6, Sb7, Pg4, Pc5, Pa5] stipulation: "#2" solution: | "1.Sb6-c4 ! threat: 2.Rd5*e5 # 1...Rd4-d1 {(R~ )} 2.Sc4-d6 # 1...Rd4-d3 2.Qb3*d3 # 1...Rd4*c4 2.Qb3-d3 # 1...Rd4*d5 2.Sc4-d6 # 1...Ke4*d5 2.Qb3*b7 # 1...Be5-h2 {(B5~ )} 2.Sc4-d2 # 1...Be5-f4 2.Sh5-f6 # 1...Be6*d5 2.Bh7*g6 #" keywords: - Active sacrifice - Defences on same square - Black correction - Flight giving key --- authors: - Mansfield, Comins source: The Good Companions (Meredith Ty.) date: 1915 distinction: 3rd Prize algebraic: white: [Ka8, Qc7, Rh4, Rc1, Sd3] black: [Kd5, Re6, Rb5, Ba6, Pe7, Pb7, Pb6] stipulation: "#2" solution: | "1.Rh4-c4 ? {display-departure-square} threat: 2.Sd3-f4 # but 1...Re6-d6 ! 1.Rh4-a4 ? threat: 2.Sd3-f4 # 1...Re6-e4 2.Qc7-d7 # 1...Re6-d6 2.Qc7-c4 # 1...Re6-f6 2.Qc7-e5 # but 1...Rb5-b4 ! 1.Rc1-d1 ! threat: 2.Sd3-b2 # {(S~ )} 1...Rb5-b1 {(Rb~ )} 2.Sd3-b4 # 1...Re6-e1 2.Qc7-d7 # 1...Re6-e2 2.Qc7-d7 # 1...Re6-e3 2.Qc7-d7 # 1...Re6-e4 2.Sd3-f4 # 1...Re6-c6 2.Qc7-e5 # 1...Re6-d6 2.Qc7-c4 # 1...Re6-h6 2.Sd3-c5 # 1...Re6-g6 2.Sd3-c5 # 1...Re6-f6 2.Sd3-c5 #" keywords: - Transferred mates --- authors: - Mansfield, Comins - Chandler, Guy Wills source: The Brisbane Courier source-id: 1765 date: 1916-11-11 distinction: 3rd Prize algebraic: white: [Ka6, Qh5, Rd8, Rb5, Bb6, Sh6, Pf6, Pe3] black: [Ke4, Qb1, Rf2, Bh4, Sg2, Se1, Ph7, Pg5, Pb2, Pa3] stipulation: "#2" solution: | "1.Sh6-f7 ! threat: 2.Rb5-e5 # 1...Qb1-d3 2.Rd8-e8 # 1...Se1-f3 2.Qh5*h7 # 1...Se1-d3 2.Sf7-d6 # 1...Rf2-f5 2.Rb5-b4 # 1...Sg2*e3 2.Rd8-d4 # 1...Bh4-g3 2.Sf7*g5 # 1...g5-g4 2.Qh5-d5 #" keywords: - B2 --- authors: - Mansfield, Comins source: BCPS date: 1921 distinction: 3rd Prize algebraic: white: [Kg8, Qf7, Rh4, Rd3, Bf1, Bb2, Sd1, Pg7, Pe5, Pd4, Pc4] black: [Ke4, Bg4, Bd2, Sh3, Sf4, Ph5] stipulation: "#2" solution: | "1.e5-e6 ! zugzwang. 1...Bd2-c1 {(Bd~ )} 2.Sd1-c3 # 1...Bd2-e1 {(Bd~ )} 2.Rd3-e3 # 1...Sh3-f2 {(Sh~ )} 2.Sd1*f2 # 1...Sf4*d3 2.Bf1-g2 # 1...Sf4-e2 {(Sf~ )} 2.Qf7-f3 # 1...Bg4*d1 {(Bg~ )} 2.Qf7-g6 # 1...Bg4*e6 2.Qf7*e6 # 1...Bg4-f5 2.Qf7-b7 #" keywords: - Black correction - Transferred mates --- authors: - Mansfield, Comins source: Problemnoter date: 1962 distinction: 3rd Prize algebraic: white: [Kd1, Rh2, Ra6, Bf8, Ba2, Sd5, Pg6, Pf2, Pe2, Pc6] black: [Kb2, Qh7, Rh8, Ba1, Ph4, Pg5, Pb3] stipulation: "#2" solution: | "1.e2-e4 ? threat: 2.f2-f4 # 2.f2-f3 # but 1...Qh7-a7 ! 1.e2-e3 ? threat: 2.f2-f4 # 2.f2-f3 # but 1...Qh7*g6 ! 1.f2-f3 ? threat: 2.e2-e4 # 2.e2-e3 # but 1...Qh7-c7 ! 1.f2-f4 ! threat: 2.e2-e4 # 2.e2-e3 # 1...b3*a2 2.Ra6-b6 # 1...Qh7*g6 2.e2-e4 # 1...Qh7-h5 2.Bf8-g7 # 1...Qh7-a7 2.e2-e3 #" --- authors: - Mansfield, Comins source: Schach-Echo date: 1970 distinction: 3rd Prize algebraic: white: [Ka4, Qc6, Re1, Be2, Bb2, Sc8, Pg4, Pg3, Pd7] black: [Ke5, Bf5, Sd4, Pg6, Pg5, Pe7, Pd5, Pb3] stipulation: "#2" solution: | "1.Qc6-b6 ! zugzwang. 1...Ke5-e4 2.Qb6*d4 # 1...Bf5-b1 {(B~ )} 2.Be2-d3 # 1...Bf5-e4 2.Bb2*d4 # 1...Bf5*g4 2.Be2*g4 # 1...Bf5*d7 + 2.Be2-b5 # 1...Bf5-e6 2.Qb6*d4 # 1...e7-e6 2.Qb6*d4 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Skakbladet date: 1970 distinction: 3rd Prize algebraic: white: [Kh1, Qa4, Re1, Rd5, Bg1, Bb7, Sh3, Se2, Pe4] black: [Kf3, Qe7, Rd8, Bc8, Ba1, Pg4, Pd3, Pb3] stipulation: "#2" solution: | "1...Qe6/Qxe4/Qe8/Qd7/Qc7/Qxb7/Qf7/Qg5/Qf8/Qd6/Qc5/Qb4/Qa3 2.Ng5# 1...Bd7/Re8/Rf8/Rg8/Rh8 2.Rxd3# 1...Bf5/Bxb7/Rd7 2.Rxf5# 1.e5?? (2.Qf4#/Rxd3#) 1...Rxd5 2.Qf4#/Bxd5# 1...Rf8/Qxe5/Qf6/Bxe5 2.Rxd3# 1...Qxb7 2.Qf4#/Ng5# 1...Qf7/Qg5/Qf8/Qb4 2.Ng5#/Rxd3# 1...Bxb7 2.Qf4# but 1...Bd4! 1.Qd7! (2.Rxd3#/Rf5#) 1...Kxe4 2.Nd4# 1...Qe6/Qf7/Qf8 2.Rxd3#/Ng5# 1...Qe5/Qh7/Qf6/Be5/gxh3/g3/Bxd7/dxe2/Rf8 2.Rxd3# 1...Qxd7/Qg5/Qd6/Qc5 2.Ng5# 1...Bd4/Rxd7 2.Rf5# 1...Bxb7 2.Qf5#" keywords: - Active sacrifice - Defences on same square - Flight giving key - Grimshaw - Novotny --- authors: - Mansfield, Comins source: Delo-Tovaris date: 1971 distinction: 3rd Prize, 1971-1972 algebraic: white: [Kh6, Qf8, Rg4, Re2, Bb8, Sc7, Sa4, Pg3, Pe4, Pd6, Pc2, Pb3] black: [Kd4, Qe5, Sd1, Pg5, Pc6, Pb7] stipulation: "#2" solution: | "1.d6-d7 ! threat: 2.Qf8-b4 # 1...Sd1-e3 2.Re2-d2 # 1...Sd1-b2 2.Qf8-f2 # 1...Qe5-h8 + 2.Qf8*h8 # 1...Qe5-g7 + 2.Qf8*g7 # 1...Qe5-f6 + 2.Qf8*f6 # 1...Qe5*c7 2.Qf8-c5 # 1...Qe5-d6 + 2.Qf8*d6 # 1...Qe5-d5 2.e4*d5 # 1...Qe5-e7 2.e4-e5 # 1...Qe5-e6 + 2.Sc7*e6 # 1...Qe5-f5 2.e4*f5 # 1...c6-c5 2.Sc7-b5 # 1...Qe5-c5 2.Qf8*c5 # 2.Sc7-e6 # 2.e4-e5 # 1...Qe5-e8 2.Qf8-c5 # 2.Qf8-d6 # 2.e4-e5 # 1...Qe5*g3 2.Qf8-c5 # 2.Sc7-e6 # 1...Qe5-f4 2.Qf8-c5 # 2.Sc7-e6 # 1...Qe5*e4 2.Qf8-c5 # 2.Qf8-d6 # 2.Qf8-g7 # 2.Qf8-f6 # 2.Qf8-h8 # 2.Rg4*e4 # 2.Re2*e4 # 1...Qe5-a5 2.Sc7-e6 # 2.e4-e5 # 1...Qe5-b5 2.Sc7-e6 # 2.e4-e5 #" keywords: - Black correction - Vladimirov --- authors: - Mansfield, Comins source: L'Italia Scacchistica date: 1972 distinction: 3rd Prize algebraic: white: [Kb2, Qd3, Rf2, Rc5, Be5, Bb7, Se4, Ph5, Pf3, Pd6] black: [Kf5, Ba2, Sg4, Se6, Pb3] stipulation: "#2" solution: | "1.f3-f4 ! threat: 2.Se4-c3 # 2.Se4-d2 # 2.Se4-g3 # 2.Se4-g5 # 2.Se4-f6 # 1...Ba2-b1 2.Se4-g3 # 1...Sg4-e3 {(Sg~ )} 2.Se4-f6 # 1...Sg4*f2 2.Se4*f2 # 1...Sg4*e5 2.Qd3-h3 # 1...Se6*c5 2.Se4*c5 # 1...Se6-d4 {(Se~ )} 2.Se4-g5 # 1...Se6*f4 2.Bb7-c8 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: L'Italia Scacchistica date: 1974 distinction: 3rd Prize algebraic: white: [Kd8, Qe7, Rf5, Ra4, Bd5, Bc7, Sf3, Pc4, Pb7, Pb5] black: [Kc5, Qh4, Ra6, Ba8, Sd6, Sd4, Ph5, Pf6, Pa5] stipulation: "#2" solution: | "1.Qe7-e3 ! threat: 2.Qe3-a3 # 1...Qh4-e1 2.Qe3*d4 # 1...Sd6*b5 2.Bd5-e4 # 1...Sd6*c4 2.Bd5*c4 # 1...Sd6-f7 + 2.Bd5*f7 # 1...Sd6*b7 + 2.Bd5*b7 #" --- authors: - Mansfield, Comins source: The Brisbane Courier source-id: 3288 date: 1930-11-22 distinction: 4th HM algebraic: white: [Kh1, Qa2, Re1, Rb4, Bh6, Bc2, Se3, Sd4] black: [Ke4, Qd8, Rd3, Bd2, Ba8, Ph3, Pf6, Pe5, Pc3] stipulation: "#2" solution: | "1.Bc2-d1 ! threat: 2.Bd1-f3 # 1...Rd3*d4 2.Qa2-c2 # 1...Rd3*e3 2.Bd1-c2 # 1...e5*d4 2.Qa2-e6 # 1...Qd8*d4 2.Qa2*a8 #" keywords: - Defences on same square - Switchback --- authors: - Mansfield, Comins source: Lippische Landeszeitung date: 1950 distinction: 4th HM, 1950/II algebraic: white: [Kg8, Qb4, Rf5, Bh1, Be5, Sd4, Sc5] black: [Kd5, Rg1, Ra3, Bh2, Bd3, Sg2, Ph4, Pe3, Pa7] stipulation: "#2" solution: | "1.Sc5-e4 ! threat: 2.Se4-f6 # 1...Sg2-e1 + 2.Be5-g3 # 1...Sg2-f4 + 2.Be5-g7 # 1...Ra3-a6 2.Se4-c3 # 1...Bd3*e4 2.Qb4-b5 # 1...Kd5*e4 2.Qb4-b7 #" keywords: - Black correction - Flight giving key --- authors: - Mansfield, Comins source: The Australasian Chess Review date: 1932 distinction: 4th HM algebraic: white: [Ka6, Qb2, Rd3, Be3, Bb1, Sd2, Sc7, Ph3] black: [Kf5, Rh6, Bf1, Ba7, Sg8, Ph4, Pg6, Pb6] stipulation: "#2" solution: | "1.Be3-g5 ! threat: 2.Qb2-b5 # 1...Bf1*h3 2.Rd3-g3 # 1...Bf1-g2 2.Rd3-d5 # 1...Kf5*g5 2.Qb2-e5 # 1...b6-b5 2.Rd3-d5 # 1...Sg8-e7 2.Qb2-f6 # 1...Sg8-f6 2.Qb2*f6 #" keywords: - Active sacrifice - Flight giving key --- authors: - Mansfield, Comins source: The Sun-Herald date: 1961 distinction: 4th HM algebraic: white: [Kg1, Qe3, Rf6, Be8, Sf7, Se5, Ph6, Pa3] black: [Kh5, Ra5, Bb6, Bb5, Sh7, Sb8, Ph4, Pe6, Pe4, Pc5] stipulation: "#2" solution: | "1.Se5-d3 ? threat: 2.Qe3-e2 # 1...Kh5-g4 2.Sf7-e5 # but 1...c5-c4 ! 1.Se5-c6 ? threat: 2.Sf7-e5 # but 1...Ra5-a7 ! 1.Se5-c4 ? threat: 2.Qe3-e2 # but 1...Ra5*a3 ! 1.Se5-d7 ! threat: 2.Sf7-e5 # 1...h4-h3 2.Qe3*h3 # 1...Bb5*d7 2.Qe3-e2 # 1...Sh7*f6 2.Qe3-g5 # 1...Sh7-g5 2.Qe3*g5 # 1...Sh7-f8 2.Qe3-g5 #" keywords: - Active sacrifice - Flight giving key - Transferred mates - Pseudo Le Grand --- authors: - Mansfield, Comins source: H.Pillsbury MT, CHess Horizon date: 1964 distinction: 4th HM algebraic: white: [Kb4, Qe2, Rg6, Rf5, Bf6, Sh6, Pd3] black: [Ke6, Qe5, Re7, Bh1, Bb8, Pd7, Pd6, Pc2] stipulation: "#2" solution: | "1.Qe2-g4 ! threat: 2.Rf5*e5 # 1...Qe5-b2 + 2.Bf6*b2 # 1...Qe5-c3 + 2.Bf6*c3 # 1...Qe5-d4 + 2.Bf6*d4 # 1...Qe5-f4 + 2.Bf6-d4 # 1...Qe5-e1 + 2.Bf6-c3 # 1...Qe5-e4 + 2.Bf6-d4 # 1...Qe5-a5 + 2.Rf5*a5 # 1...Qe5-b5 + 2.Rf5*b5 # 1...Qe5-c5 + 2.Rf5*c5 # 1...Qe5*f5 2.Qg4*f5 # 1...d6-d5 2.Bf6*e5 # 1...Ke6-d5 2.Qg4-c4 # 1...Qe5*f6 2.Rg6*f6 # 2.Rf5-a5 # 2.Rf5-b5 # 2.Rf5-c5 # 2.Rf5-h5 # 2.Rf5-g5 #" --- authors: - Mansfield, Comins source: The Problemist source-id: 4601 date: 1964 distinction: 4th HM algebraic: white: [Ka4, Qb2, Re6, Rd6, Bd5, Bd4] black: [Kd1, Qh3, Be1, Sa5, Ph4, Pg2, Pf3, Pc5] stipulation: "#2" solution: | "1.Bd5-e4 ! threat: 2.Qb2-c2 # 1...Be1-g3 2.Be4*f3 # 1...Be1-f2 2.Bd4*f2 # 1...Be1-b4 2.Bd4-c3 # 1...Be1-c3 2.Bd4*c3 # 1...Be1-d2 2.Be4-c2 #" keywords: - Black correction --- authors: - Mansfield, Comins source: BCPS Ring Ty. date: 1967 distinction: 4th HM algebraic: white: [Kb8, Qa2, Rd1, Bh3, Bb4, Sd3, Sb7, Pe7, Pe3, Pc4, Pb5] black: [Kd7, Rf7, Rf5, Be8, Sg7, Sc8, Pf6] stipulation: "#2" solution: | "1.Qa2-a7 ! zugzwang. 1...Kd7-e6 2.Sb7-d8 # 1...Rf7*e7 2.Sd3-c5 # 1...Rf7-f8 2.e7*f8=S # 1...Sg7-e6 2.Sd3-e5 # 1...Sg7-h5 2.Bh3*f5 # 1...Sc8*a7 2.Sd3-f4 # 1...Sc8-b6 2.Sb7-d8 # 1...Sc8-d6 2.Sb7-c5 # 1...Sc8*e7 2.Sd3-c5 #" keywords: - Active sacrifice - Barnes - Black correction - B2 --- authors: - Mansfield, Comins source: Magyar Sakkvilág date: 1947 distinction: 4th HM algebraic: white: [Kd1, Qa5, Rg5, Re6, Bd3, Bb6, Sf8, Se5] black: [Kd5, Rh6, Rd4, Bd2, Ph5, Pf3, Pd6, Pb5, Pa6] stipulation: "#2" solution: | "1.Bd3*b5 ! threat: 2.Bb5-c6 # 1...Bd2-c1 + 2.Bb5-d3 # 1...Bd2-e1 + 2.Se5-d3 # 1...Bd2*g5 + 2.Bb5-d3 # 1...Bd2-f4 + 2.Bb5-d3 # 1...Bd2-e3 + 2.Bb5-d3 # 1...Bd2*a5 + 2.Se5-d3 # 1...Bd2-b4 + 2.Se5-d3 # 1...Bd2-c3 + 2.Se5-d3 # 1...Kd5-e4 2.Se5-g6 # 1...a6*b5 2.Qa5-a8 # 1...d6*e5 2.Rg5*e5 #" keywords: - Flight giving key - Switchback --- authors: - Mansfield, Comins source: Europe Échecs date: 1972 distinction: 4th HM algebraic: white: [Kc2, Qb8, Ra5, Bc5, Bb1, Sh2, Pd5] black: [Ke4, Rh6, Bf2, Pg6, Pe7] stipulation: "#2" solution: | "1.Bc5-d4 ? threat: 2.Qb8-e5 # 2.Kc2-c3 # 1...Bf2*d4 2.Kc2-d2 # 1...Ke4*d4 2.Qb8-f4 # but 1...Rh6*h2 ! 1.Bc5-e3 ! threat: 2.Qb8-f4 # 2.Kc2-d2 # 1...Bf2*e3 2.Kc2-c3 # 1...Ke4*e3 2.Qb8-e5 #" keywords: - Flight giving and taking key - Rudenko --- authors: - Mansfield, Comins source: Themes 64 date: 1973 distinction: 4th HM algebraic: white: [Ke7, Qb7, Re8, Rc4, Bh7, Bh2, Se5, Pf5, Pf4, Pd5, Pd2] black: [Ke4, Re1, Bf2, Pf6, Pf3, Pd6, Pd4, Pd3] stipulation: "#2" solution: | "1...d6*e5 2.d5-d6 # 1...f6*e5 2.f5-f6 # 1.Se5-c6 ! threat: 2.Ke7*d6 # 1...Bf2-g3 2.Rc4*d4 # 1...Ke4*d5 + 2.Sc6-e5 #" keywords: - Flight giving key - Switchback --- authors: - Mansfield, Comins source: De Waarheid date: 1973 distinction: 4th HM algebraic: white: [Kh7, Qg2, Re8, Bh8, Bc8, Sf7, Sf3, Pg7, Pg6, Pc5] black: [Kf6, Rh5, Rb7, Sg8, Ph6, Pb4, Pa3] stipulation: "#2" solution: | "1.Qg2-f1 ! threat: 2.Sf3-g5 # 1...Rh5-h1 2.Sf3-g1 # 1...Rh5-h2 2.Sf3*h2 # 1...Rh5-h3 2.Qf1-a1 # 1...Rh5-h4 2.Sf3*h4 # 1...Rh5*c5 2.Sf3-e5 # 1...Rh5-d5 2.Sf3-e5 # 1...Rh5-e5 2.Sf3*e5 # 1...Rh5-f5 2.Re8-e6 # 1...Rb7*f7 2.Qf1-a6 # 1...Sg8-e7 2.g7-g8=Q # 2.g7-g8=S # 2.g7-g8=R # 2.g7-g8=B #" --- authors: - Mansfield, Comins source: Schach-Echo date: 1974 distinction: 4th HM, II algebraic: white: [Ka2, Qd7, Re7, Rd3, Bf2, Bc8, Sg6, Sf3, Pc2] black: [Ke4, Qg3, Rh5, Rh3, Ba8, Sc4, Pg4, Pe5, Pd6] stipulation: "#2" solution: | "1.Sg6*e5 ! {display-departure-square} threat: 2.Rd3-d4 # 1...Qg3*f2 2.Qd7*g4 # 1...Qg3*e5 2.Qd7*g4 # 1...Sc4*e5 2.Qd7-a4 # 1...Ke4-f4 2.Se5-g6 # 1...Rh5*e5 2.Qd7-f5 # 1...d6*e5 2.Qd7-d4 #" keywords: - Active sacrifice - Defences on same square - Flight giving key - Transferred mates - Switchback --- authors: - Mansfield, Comins source: «64» source-id: 2/1 date: 1974 distinction: 4th HM algebraic: white: [Ka7, Qd8, Re4, Re2, Ba4, Sc2, Sa6] black: [Kc3, Qf1, Rh2, Rg4, Bh8, Bg6, Sb1, Pe7, Pc4, Pb6, Pb2, Pa2] stipulation: "#2" solution: | "1.Sc2-a3 ! threat: 2.Sa3-b5 # 1...Sb1*a3 2.Qd8-d2 # 1...Qf1-f5 2.Re2-e3 # 1...Rh2-h5 2.Re2-c2 # 1...Rg4-g5 2.Re4*c4 # 1...Bg6-e8 2.Re4-e3 # 1...Bh8-d4 2.Qd8*d4 #" --- authors: - Mansfield, Comins source: G.Páros MT date: 1976 distinction: 4th HM algebraic: white: [Ka6, Qg8, Ra5, Bf4, Bc8, Sf7, Sb5, Pg3, Pf3, Pe7, Pe6, Pd6, Pd4] black: [Kf5, Qh1, Re4, Bg6, Pf6] stipulation: "#2" solution: | "1.d6-d7 ! threat: 2.Sf7-d6 # 1...Qh1*f3 2.Sf7-h6 # 1...Re4*d4 2.Sb5*d4 # 1...Re4*e6 + 2.Sb5-d6 # 1...Re4*f4 2.Sb5-c7 # 1...Kf5*e6 2.d7-d8=Q # 1...Bg6*f7 2.Qg8-g4 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1977 distinction: 4th HM algebraic: white: [Ke4, Qe1, Rh7, Bc6, Sd5, Pf4, Pe6, Pe2, Pd7] black: [Kg2, Qa8, Bh2, Pg6, Pd4, Pb5] stipulation: "#2" solution: | "1.Ke4*d4 ! threat: 2.Sd5-e3 # 1...Qa8-a1 + 2.Sd5-c3 # 1...Qa8-a4 + 2.Sd5-b4 # 1...Qa8-a7 + 2.Sd5-b6 # 1...Qa8-h8 + 2.Sd5-f6 #" --- authors: - Mansfield, Comins source: Schach-Echo source-id: 9877 date: 1979 distinction: 4th HM algebraic: white: [Kg2, Qd2, Re3, Rc3, Bg6, Bb6, Se8, Sd3, Pf6, Pc7, Pb2] black: [Kd7, Ra8, Bf8, Bc8, Sb8, Pe7, Pd4, Pb7] stipulation: "#2" solution: | "1.Qd2-d1 ! zugzwang. 1...d4*e3 2.Sd3-f4 # 1...d4*c3 2.Sd3-b4 # 1...e7-e5 2.Qd1-g4 # 1...e7-e6 2.Sd3-e5 # 1...e7*f6 2.Bg6-f5 # 1...Ra8-a1 {(R~ )} 2.c7*b8=S # 1...Sb8-a6 2.Qd1-a4 # 1...Sb8-c6 2.Sd3-c5 # 1...Bf8-h6 {(Bf~ )} 2.Re3*e7 #" keywords: - B2 --- authors: - Mansfield, Comins source: Arbeiter-Zeitung (Wien) date: 1979 distinction: 4th HM, 1979-1980 algebraic: white: [Kf2, Qe8, Rg3, Ra7, Bh2, Bh1, Se2, Pc7] black: [Kd6, Rf6, Bf8, Sg8, Pg4, Pf7, Pf5, Pd5] stipulation: "#2" solution: | "1.Qe8-b8 ! threat: 2.c7-c8=Q # 1...Kd6-c5 2.Rg3-c3 # 1...Kd6-e5 2.Rg3-e3 #" keywords: - King Y-flight - 3+ flights giving key --- authors: - Mansfield, Comins source: Il Problema date: 1931 distinction: 3rd HM algebraic: white: [Ka5, Qb5, Rh4, Bh7, Bd4, Sg6, Sf5, Pg2, Pc2] black: [Ke4, Rg5, Rf2, Pg3, Pf4, Pe7, Pd6] stipulation: "#2" solution: | "1.Qb5-c4 ! threat: 2.Qc4-e6 # 1...Rf2*c2 2.Rh4*f4 # 1...Rf2*g2 2.Rh4*f4 # 1...Ke4*f5 2.Sg6*e7 # 1...Rg5*f5 + 2.Bd4-c5 # 1...Rg5*g6 2.Sf5*g3 # 1...d6-d5 2.Qc4-d3 # 1...e7-e5 2.Sf5*d6 #" keywords: - Flight giving key - Rudenko --- authors: - Mansfield, Comins source: Шахматы в СССР source-id: 1/2 date: 1962 distinction: 3rd HM algebraic: white: [Kf8, Qd6, Rf1, Bh6, Ba2, Sf2, Se5, Pg5, Pg2, Pe3, Pd4, Pc6] black: [Kf5, Bc8, Sg4, Sd3, Ph7, Pg6, Pc4] stipulation: "#2" solution: | "1.Qd6-d5 ! zugzwang. 1...Sd3-e1 2.Se5*g4 # 1...Sd3*f2 2.Ba2-b1 # 1...Sd3-f4 2.e3-e4 # 1...Sd3*e5 2.Ba2-b1 # 1...Sd3-b4 2.Sf2*g4 # 1...c4-c3 2.Qd5-e4 # 1...Sg4*e3 2.Qd5-f7 # 1...Sg4*f2 2.g2-g4 # 1...Sg4*h6 2.Se5*d3 # 1...Sg4-f6 2.Sf2*d3 # 1...Sg4*e5 2.g2-g4 # 1...Bc8-a6 2.Qd5-d7 # 1...Bc8-b7 2.Qd5-d7 # 1...Bc8-e6 2.Qd5-e4 # 1...Bc8-d7 2.Qd5*d7 # 1...Sg4-h2 2.Se5*d3 # 2.Qd5-f7 # 1...Sd3-b2 2.Se5*g4 # 2.Sf2*g4 # 1...Sd3-c1 2.Se5*g4 # 2.Sf2*g4 # 1...Sd3-c5 2.Se5*g4 # 2.Sf2*g4 #" keywords: - Mates on same square - Black correction --- authors: - Mansfield, Comins source: Europe Échecs date: 1964 distinction: 3rd HM algebraic: white: [Kc6, Qc7, Rd8, Rb6, Be4, Sd2, Sc5, Pg4, Pe6, Pa6, Pa4] black: [Kc3, Rf5, Ra3, Bc1, Se1, Pg5, Pe5, Pc2] stipulation: "#2" solution: | "1...Ra2/Ra1/Rb3 2.Rb3#[A] 1...Rxa4 2.Nxa4#/Rb3#[A] 1...Rf4/Rf3/Rf2/Rf1/Rf6/Rf7/Rf8 2.Qxe5#[B] 1...Nf3/Ng2/Nd3 2.Rd3# 1.Kb7? zz 1...Bxd2[a] 2.Nd3#[C] 1...Bb2[b] 2.Ncb3#[D] 1...Ra2/Ra1/Rb3 2.Rb3#[A] 1...Rxa4 2.Rb3#[A]/Nxa4# 1...Nf3/Ng2/Nd3 2.Rd3# 1...Rf4/Rf3/Rf2/Rf1/Rf6/Rf8 2.Qxe5#[B] but 1...Rf7! 1.Bxf5?? (2.Nce4#/Qxe5#[B]) 1...Rxa4 2.Nxa4#/Rb3#[A] 1...Rb3 2.Qxe5#[B]/Rxb3#[A] 1...Nf3/Nd3 2.Nce4#/Rd3# but 1...Bxd2[a]! 1.gxf5?? (2.Qxe5#[B]) 1...Rxa4 2.Nxa4#/Rb3#[A] 1...Nf3/Nd3 2.Rd3# but 1...Bxd2[a]! 1.Rb5?? (2.Qa5#) 1...Nd3 2.Rxd3# 1...Rxa4 2.Nxa4#/Rb3#[A] 1...Rb3 2.Rxb3#[A] but 1...Bxd2[a]! 1.Rb7?? (2.Qa5#) 1...Rxa4 2.Nxa4#/Rb3#[A] 1...Rb3 2.Rxb3#[A] 1...Nd3 2.Rxd3# but 1...Bxd2[a]! 1.Rbb8?? (2.Qa5#) 1...Rxa4 2.Nxa4#/Rb3#[A] 1...Rb3 2.Rxb3#[A] 1...Nd3 2.Rxd3# but 1...Bxd2[a]! 1.Nb7! zz 1...Bxd2[a] 2.Kd5#[E] 1...Bb2[b] 2.Kb5#[F] 1...Ra2/Ra1/Rxa4/Rb3 2.Rb3#[A] 1...Nf3/Ng2/Nd3 2.Rd3# 1...Rf4/Rf3/Rf2/Rf1/Rf6/Rf7/Rf8 2.Qxe5#[B]" keywords: - Transferred mates - Changed mates - B2 - Half-battery --- authors: - Mansfield, Comins source: The Problemist source-id: 3271 date: 1952 distinction: 3rd HM algebraic: white: [Kb1, Qb2, Rh5, Re2, Bg2, Bd4, Se4, Sd8, Pf6, Pb4, Pb3] black: [Kd5, Qf5, Be6, Sf2, Sc5, Pd7, Pd6] stipulation: "#2" solution: | "1.Re2-d2 ! zugzwang. 1...Sf2-d1 {(Sf~ )} 2.Bd4*c5 # 1...Sf2-d3 2.Se4*c5 # 1...Sc5-a4 {(Sc~ )} 2.Bd4*f2 # 1...Sc5*b3 2.Qb2*b3 # 1...Sc5-d3 2.Se4*f2 # 1...Qf5-e5 {(Q~ )} 2.Se4-c3 # 1...Be6-g8 {(B~ )} 2.Rh5*f5 #" keywords: - Black correction --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1970 distinction: 3rd HM algebraic: white: [Kd4, Qb5, Rg6, Bg1, Bc6, Se4, Sd5, Ph2, Pe6, Pe3, Pd2] black: [Kf3, Qa8, Sh1, Pg2, Pc2] stipulation: "#2" solution: | "1.Se4-g3 ? threat: 2.Qb5-e2 # 1...Qa8-a1 + 2.Sd5-c3 # 1...Qa8-a7 + 2.Sd5-b6 # 1...Qa8-h8 + 2.Sd5-f6 # but 1...c2-c1=S ! 1.Sd5-b4 ! threat: 2.Qb5-h5 # 1...Qa8-a1 + 2.Se4-c3 # 1...Qa8-a7 + 2.Se4-c5 # 1...Qa8-h8 + 2.Se4-f6 # 1...Qa8-d8 + 2.Se4-d6 # 1...Sh1-g3 2.Rg6*g3 # 1...Sh1-f2 2.Rg6-g3 # 1...Qa8-a5 2.Se4-c3 # 2.Se4-f2 # 2.Se4-g3 # 2.Se4-f6 # 2.Se4-d6 # 2.Se4-c5 #" keywords: - Barnes --- authors: - Mansfield, Comins source: The Problemist source-id: 5232 date: 1970 distinction: 3rd HM algebraic: white: [Kc6, Rb7, Ba8, Sg6, Sc1, Ph3, Ph2, Pg4] black: [Ke4, Be3, Ph5, Ph4, Pd4] stipulation: "#2" solution: | "1.Kc6-d7 ! threat: 2.Rb7-b1 # {(R~ )} 1...Be3*c1 {(B~ )} 2.Rb7-b3 # 1...d4-d3 2.Rb7-b4 # 1...Ke4-f3 2.Rb7-b2 # 1...Ke4-d5 2.Rb7-c7 # 1...h5*g4 2.Rb7-b5 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Tidskrift för Schack date: 1971 distinction: 3rd HM algebraic: white: [Kh2, Qa6, Rg2, Rc7, Bh1, Bc3, Se4, Sc5] black: [Kd5, Rc6, Bg8, Sc1, Pf6, Pb5, Pa4] stipulation: "#2" solution: | "1.Se4-d6 ! threat: 2.Qa6*c6 # 1...Rc6*c5 2.Rg2-e2 # 1...Rc6*a6 2.Rg2-d2 # 1...Rc6-b6 2.Rg2-d2 # 1...Rc6*c7 2.Rg2-g5 # 1...Rc6*d6 2.Rg2-g4 #" keywords: - Flight giving key - Flight giving and taking key --- authors: - Mansfield, Comins source: Шахматы в СССР source-id: 3/23 date: 1971 distinction: HM algebraic: white: [Kb7, Qg8, Rh4, Bg1, Sg2, Sd6, Pd4, Pc5, Pb6] black: [Kd5, Rh3, Bh2, Pf5, Pe6] stipulation: "#2" solution: | "1...Bh2-g3 2.Sg2-e3 # 1...Rh3-g3 2.Sg2-f4 # 1.Qg8-g3 ! threat: 2.Sg2-f4 # 2.Sg2-e3 # 1...Bh2*g1 2.Qg3-e5 # 1...Rh3*h4 2.Qg3-b3 # 1...e6-e5 2.Qg3-g8 #" keywords: - Novotny - Switchback --- authors: - Mansfield, Comins source: U.Castellari MT, Sinfonie Scacchistiche source-id: 54/2828 date: 1978-10 distinction: 3rd HM algebraic: white: [Kd2, Qc6, Rf8, Rf5, Bg5, Bb1, Sf6, Sc8, Ph6, Pd7] black: [Kg6, Rh8, Be4, Sg8, Ph7] stipulation: "#2" solution: | "1.Bg5-e3 ! zugzwang. 1...Be4*b1 2.Sf6*g8 # 1...Be4-c2 2.Sf6*g8 # 1...Be4-d3 2.Sf6*g8 # 1...Be4-h1 2.Rf5-f3 # 1...Be4-f3 2.Rf5*f3 # 1...Be4*f5 2.Qc6-g2 # 1...Be4*c6 2.Rf5-d5 # 1...Be4-d5 2.Rf5*d5 # 1...Kg6*f5 2.Qc6*e4 # 1...Sg8-e7 2.Sc8*e7 # 1...Sg8*h6 2.Rf5-g5 # 1...Be4-g2 2.Qc6*g2 # 2.Rf5-f3 # 1...Sg8*f6 2.Rf8*f6 # 2.Sc8-e7 # 2.Qc6*f6 #" keywords: - Black correction --- authors: - Mansfield, Comins source: The Observer date: 1964 distinction: 1st HM algebraic: white: [Kh1, Qg8, Rg1, Bg2, Bc1, Pe6, Pd4] black: [Kf5, Bd3, Ph5, Ph4, Pf6, Pe7] stipulation: "#2" solution: | "1.Qg8-a8 ! threat: 2.Bg2-h3 # 1...Bd3-f1 2.Qa8-e4 # 1...Bd3-e2 2.Qa8-e4 # 1...Bd3-e4 2.Qa8*e4 # 1...Kf5-g4 2.Qa8-f3 # 1...Kf5-g6 2.Bg2-e4 # 1...Kf5*e6 2.Qa8-d5 #" keywords: - 3+ flights giving key --- authors: - Mansfield, Comins source: BCPS 001. Ty. date: 1926 distinction: 1st HM algebraic: white: [Ka1, Rg5, Re1, Be4, Bb4, Sh7, Sb7] black: [Ke8, Qh3, Rh8, Ba2, Sh5, Ph4, Pf7, Pf3, Pd7, Pd3] stipulation: "#2" solution: | "1.Rg5-c5 ! threat: 2.Rc5-c8 # 1...d7-d5 2.Be4-f5 # 1...d7-d6 2.Be4-c6 # 1...f7-f5 2.Be4-d5 # 1...f7-f6 2.Be4-g6 # 1...Ke8-e7 2.Rc5-e5 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: L'Italia Scacchistica date: 1926 distinction: 1st HM algebraic: white: [Ka1, Qa2, Rf3, Be5, Bb7, Sf7, Sc2, Pg4, Pg2, Pc4] black: [Ke4, Rd5, Rc6, Sd1, Sc7, Pg6, Pd6, Pd2, Pc5] stipulation: "#2" solution: | "1.Bb7*c6 ? zugzwang. 1...Sd1-f2 {(Sd~ )} 2.Rf3-e3 # 1...Sc7-a6 {(Sc~ )} 2.Bc6*d5 # but 1...g6-g5 ! 1.Qa2-b1 ! threat: 2.Sc2-d4 # 1...Sd1-f2 2.Rf3-e3 # 1...Sd1-e3 2.Rf3*e3 # 1...Sd1-c3 2.Rf3-e3 # 1...Sd1-b2 2.Rf3-e3 # 1...Rd5-d3 2.Rf3-f4 # 1...Rd5*e5 2.Sf7*d6 # 1...Rc6-a6 + 2.Sc2-a3 # 1...Rc6-b6 2.Sc2-b4 # 1...d6*e5 2.Sf7-g5 #" --- authors: - Mansfield, Comins source: The Brisbane Courier source-id: 3078 date: 1928-11-10 distinction: 1st HM algebraic: white: [Kg7, Qb7, Re8, Ra4, Bd4, Bc4, Se6, Sc6, Pf4, Pe2, Pd2] black: [Ke4, Rh3, Rc3, Bd5, Ph7, Pg4] stipulation: "#2" solution: | "1.Bd4-e3 ! threat: 2.Bc4-d3 # 1...Rc3*c4 2.Qb7-b1 # 1...Ke4-f5 2.Se6-d4 # 1...Bd5*c4 2.Sc6-e7 # 1...Bd5*e6 2.Sc6-d4 # 1...Bd5*c6 2.Se6-d4 #" --- authors: - Mansfield, Comins source: Skakbladet date: 1931 distinction: 1st HM algebraic: white: [Ke4, Qh3, Rb1, Bh2, Bg4, Sa4] black: [Kc6, Rc8, Ba7, Ba6, Sd8, Sb8, Pg7, Pd4, Pd3, Pb7] stipulation: "#2" solution: | "1.Bg4-f3 ! threat: 2.Qh3*c8 # 1...Ba7-b6 2.Rb1*b6 # 1...b7-b5 2.Ke4*d3 # 1...b7-b6 2.Ke4*d4 # 1...Sb8-d7 2.Ke4-f5 # 1...Rc8-c7 2.Ke4-e5 # 1...Sd8-e6 2.Qh3*e6 #" keywords: - Black correction - B2 --- authors: - Mansfield, Comins source: Arbejder-Skak date: 1960 distinction: 1st HM algebraic: white: [Kb7, Qh4, Rg7, Bb5, Se7, Sd5] black: [Kd8, Qg5, Bh8, Ph7, Pd2] stipulation: "#2" solution: | "1...Qg5*e7 + 2.Qh4*e7 # 1...Qg5*d5 + 2.Se7*d5 # 1...Qg5-g6 2.Se7*g6 # 1.Qh4-d4 ! threat: 2.Qd4-b6 # 1...Qg5*e7 + 2.Sd5*e7 # 1...Qg5*d5 + 2.Qd4*d5 # 1...Qg5-g6 2.Sd5-f6 # 1...Qg5-f4 2.Sd5*f4 # 1...Qg5-h6 2.Sd5-f6 # 1...Qg5-f6 2.Sd5*f6 # 1...Qg5-g1 2.Sd5-e3 # 1...Qg5-g3 2.Sd5-f4 # 1...Qg5-e5 2.Rg7-g8 # 1...Qg5-e3 2.Rg7-g8 # 2.Sd5*e3 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: BCPS Ring Ty. date: 1960 distinction: 1st HM algebraic: white: [Kg1, Qb2, Rh4, Rd3, Bg4, Bf2, Pd2] black: [Kc4, Qc8, Rc6, Ra3, Bd1, Sb6, Ph5, Pg2, Pa5] stipulation: "#2" solution: | "1...Bd1-a4 2.Bg4-f5 # 1...Qc8-a6 2.Bg4-e2 # 1.Rd3-d5 ! threat: 2.Qb2-b5 # 1...Bd1-a4 2.Bg4-e6 # 1...Qc8-a6 2.Bg4-f3 # 1...Bd1-b3 2.Bg4-e6 # 2.Qb2-d4 # 1...Ra3-b3 2.Qb2-d4 # 1...Kc4*d5 2.Qb2-d4 # 1...Sb6*d5 2.Bg4-e2 # 1...Rc6-c5 2.Rd5-d4 #" keywords: - Flight giving and taking key - Transferred mates - Changed mates --- authors: - Mansfield, Comins source: South African Chessplayer date: 1960 distinction: 1st HM, I algebraic: white: [Kh7, Qe2, Rh6, Rb5, Be8, Bc5, Sf8, Sf5, Pf4, Pe7, Pe6, Pc6] black: [Kd5, Bd8, Sd6, Sd4, Pc7] stipulation: "#2" solution: | "1.Rh6-h5 ! zugzwang. 1...Sd4-b3 {(S4~ )} 2.Sf5*d6 # 1...Sd4*f5 2.Qe2-d3 # 1...Sd4*e6 2.Qe2*e6 # 1...Sd4*c6 2.Bc5*d6 # 1...Sd4*b5 2.Sf5*d6 # 1...Sd6*b5 2.Sf5*d4 # 1...Sd6-c4 2.Bc5*d4 # 1...Sd6-e4 2.Sf5-e3 # 1...Sd6*f5 2.e7*d8=Q # 1...Sd6-f7 2.Bc5*d4 # 1...Sd6*e8 2.Sf5*d4 # 1...Sd6-b7 2.Sf5*d4 # 1...Bd8*e7 2.Sf5*e7 # 1...Sd4-c2 2.Sf5*d6 # 2.Bc5*d6 # 1...Sd6-c8 2.Sf5*d4 # 2.Bc5*d4 #" keywords: - Black correction - Reversal --- authors: - Mansfield, Comins source: Het Belgisch Schaakbord (L'Echiquier Belge) date: 1964 distinction: 1st HM algebraic: white: [Kf2, Qh4, Rd1, Rb2, Bh7, Be5, Sf5, Pf3, Pe3, Pd2] black: [Kd3, Qa6, Bc5, Pf7, Pe6, Pd5, Pa5] stipulation: "#2" solution: | "1...Bc5*e3 + 2.d2*e3 # 1...e6*f5 2.Bh7*f5 # 1.Qh4-f6 ! threat: 2.Sf5-d6 # 1...Bc5*e3 + 2.Sf5*e3 # 1...e6*f5 2.Qf6*a6 # 1...Kd3-c4 2.d2-d3 # 1...Qa6-c4 2.Sf5-d4 #" keywords: - Flight giving key - Changed mates --- authors: - Mansfield, Comins source: American Chess Bulletin date: 1949 distinction: 1st HM algebraic: white: [Kb6, Qg5, Rf4, Be2, Ba3, Se6, Sc6, Pf5, Pb7] black: [Kd5, Qh8, Rh4, Re1, Sg4, Sa6, Pg6, Pf7, Pb5] stipulation: "#2" solution: | "1.Se6-g7 ! threat: 2.Rf4-d4 # 1...Re1-d1 2.Be2-f3 # 1...Sg4-e3 2.Be2-f3 # 1...Sg4-f2 2.f5-f6 # 1...Sg4-h2 2.f5-f6 # 1...Sg4-h6 2.Qg5-g2 # 1...Sg4-f6 2.f5*g6 # 1...Sg4-e5 2.Sc6-e7 # 1...Qh8*g7 2.Qg5-d8 # 1...Qh8-d8 + 2.Qg5*d8 #" keywords: - Black correction --- authors: - Mansfield, Comins source: The Hindu date: 1951 distinction: 1st HM algebraic: white: [Kd8, Qb3, Rg4, Ra5, Be2, Bc7, Sh7, Sd5, Pg2, Pf6] black: [Kf5, Qd1, Ra1, Bg8, Sc2, Ph6, Pf7, Pe4] stipulation: "#2" solution: | "1.Be2-b5 ! threat: 2.Bb5-d7 # 1...Qd1*g4 2.Sd5-e7 # 1...Sc2-d4 2.Sd5-e3 # 1...Kf5*g4 2.Qb3-h3 #" keywords: - Flight giving key - Rudenko --- authors: - Mansfield, Comins source: The Problemist source-id: 3493 date: 1954 distinction: 1st HM algebraic: white: [Kg2, Qb1, Rf1, Bg4, Bc1, Se3, Sc5, Ph4, Pf6] black: [Kf4, Qa8, Re5, Sf3, Ph5, Pf7, Pa5] stipulation: "#2" solution: | "1.Bg4-c8 ! threat: 2.Se3-d5 # 1...Re5*e3 2.Qb1-f5 # 1...Re5-e4 2.Sc5-d3 # 1...Re5*c5 2.Se3-c4 # 1...Re5-d5 2.Qb1-e4 # 1...Re5-e8 2.Qb1-f5 # 1...Re5-e7 2.Qb1-f5 # 1...Re5-e6 2.Qb1-f5 # 1...Re5-g5 + 2.Se3-g4 # 1...Re5-f5 2.Qb1*f5 # 1...Qa8*c8 2.Rf1*f3 #" keywords: - Black correction --- authors: - Mansfield, Comins source: BCPS date: 1919 distinction: 1st HM algebraic: white: [Kg7, Qg4, Ra8, Bd8, Sf5] black: [Ke8, Rd3, Rb2, Bh1, Sh8, Ph7, Pe3, Pd7] stipulation: "#2" solution: | "1.Qg4-c4 ! threat: 2.Qc4-g8 # 1...Bh1-d5 2.Sf5-d6 # 1...Rb2-g2 + 2.Bd8-g5 # 1...Rd3-d5 2.Bd8-b6 # 1...d7-d5 2.Qc4-c6 # 1...d7-d6 2.Qc4-e6 # 1...Sh8-f7 2.Qc4*f7 # 1...Sh8-g6 2.Qc4-f7 #" keywords: - Defences on same square - Grimshaw --- authors: - Mansfield, Comins source: Circolo Luigi Centurini date: 1922 distinction: 1st HM algebraic: white: [Kf6, Qh4, Re3, Rc3, Sg4, Sd5] black: [Kd4, Rb5, Ba8, Se1, Sc2, Ph7, Pb6] stipulation: "#2" solution: | "1.Kf6-f5 ! threat: 2.Sg4-f6 # 1...Se1-g2 {(Se~ )} 2.Re3-d3 # 1...Sc2*e3 + 2.Sg4*e3 # 1...Kd4*d5 2.Qh4-d8 # 1...Rb5*d5 + 2.Sg4-e5 # 1...Ba8*d5 2.Qh4-f6 #" keywords: - Latvian Novotny - Defences on same square --- authors: - Mansfield, Comins source: Šahs/Шахматы (Rīga) source-id: /438 date: 1960 distinction: 1st HM algebraic: white: [Kh5, Qg8, Rf3, Rc4, Be3, Bd1, Sf6] black: [Kd3, Ra5, Bd6, Ba6, Ph7, Pd5, Pd2, Pb3, Pa4] stipulation: "#2" solution: | "1...d5-d4 + 2.Be3-g5 # 1...d5*c4 + 2.Be3-c5 # 1.Sf6*d5 ! threat: 2.Rc4-d4 # 1...Kd3*c4 2.Bd1-e2 # 1...Ra5*d5 + 2.Qg8*d5 # 1...Ba6*c4 2.Qg8*h7 # 1...Bd6-c5 2.Sd5-f4 # 1...Bd6-e5 2.Sd5-b4 # " keywords: - Active sacrifice - Cross-checks - Selfpinning - Indirect unpinning --- authors: - Mansfield, Comins source: British Chess Federation 116th Tourney date: 1967 distinction: 2nd HM, 1967-1968 algebraic: white: [Kb8, Qa4, Rh3, Rg6, Bf8, Sh4, Sb7, Pf2, Pc4, Pb2] black: [Kd4, Re1, Rc3, Bd3, Sd6, Sd2, Pe5, Pc5, Pb3] stipulation: "#2" solution: | "1.Qa4-c6 ! threat: 2.Qc6-d5 # 1...Sd2*c4 2.Sh4-f3 # 1...Rc3*c4 2.Rg6*d6 # 1...Bd3-e4 2.Qc6*c5 # 1...Bd3*c4 2.b2*c3 # 1...Kd4*c4 2.Qc6*c5 # 1...Sd6*c4 2.Bf8*c5 #" keywords: - Defences on same square - Flight giving and taking key - Transferred mates --- authors: - Mansfield, Comins source: Chess Life and Review date: 1968 distinction: 1st HM, 1968-1969 algebraic: white: [Kc2, Qc6, Rh4, Rc1, Ba1, Se6, Se2, Pa3] black: [Kc4, Qf8, Bh7, Bc5, Sc7, Sa8, Pf6, Pe4] stipulation: "#2" solution: | "1.Se2-d4 ? {display-departure-square} threat: 2.Kc2-d2 # 1...e4-e3 + 2.Sd4-f5 # but 1...Sc7-b5 ! 1.Se6-d4 ? {display-departure-square} threat: 2.Kc2-d2 # 1...e4-e3 + 2.Sd4-f5 # 1...Sc7-b5 2.Qc6-e6 # but 1...Qf8-h6 ! 1.Se6-f4 ? {display-departure-square} threat: 2.Kc2-b2 # 1...e4-e3 + 2.Sf4-g6 # but 1...Qf8-b8 ! 1.Se2-f4 ! {display-departure-square} threat: 2.Kc2-b2 # 1...e4-e3 + 2.Sf4-g6 # 1...Sc7-b5 2.Qc6-d5 # 1...Sc7-d5 2.Qc6-a6 # 1...Sc7*e6 2.Qc6-a6 # 1...Qf8-b8 2.Qc6*c5 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: De Waarheid date: 1969 distinction: 1st HM algebraic: white: [Kc3, Qg2, Re4, Bc8, Bb8, Sf4, Sd7, Ph5, Ph4, Pc4] black: [Kf5, Rh6, Ra6, Bd1, Se5, Sc2, Pa5] stipulation: "#2" solution: | "1.Sf4-d5 ! threat: 2.Re4*e5 # 1...Se5*c4 {(S~ )} 2.Sd5-e7 # 1...Se5-f3 2.Qg2-g4 # 1...Se5-g6 2.Sd7-b6 # 1...Se5-c6 2.Sd7-f6 # 1...Kf5-e6 2.Sd7*e5 # 1...Ra6-e6 2.Re4-f4 # 1...Rh6-e6 2.Re4-f4 #" keywords: - Black correction - Flight giving key --- authors: - Mansfield, Comins source: Gazeta Częstochowska date: 1969 distinction: 1st HM algebraic: white: [Kh1, Qc7, Re8, Bg2, Bf2, Sg5, Sd2, Pe6, Pb5] black: [Kd5, Re4, Bg8, Bf6, Sc8, Pg3, Pf5, Pb6] stipulation: "#2" solution: | "1.Sd2-f3 ? threat: 2.Qc7-c6 # 1...Re4-e1 + 2.Sf3*e1 # 1...Re4-c4 2.Sf3-d4 # 1...Re4*e6 2.Sf3-e5 # 1...Re4-h4 + 2.Sf3*h4 # 1...Sc8-e7 2.Re8-d8 # but 1...Sc8-a7 ! 1.Sg5-f3 ! threat: 2.Qc7-c6 # 1...Re4-e1 + 2.Sf3*e1 # 1...Re4-c4 2.Sf3-d4 # 1...Re4*e6 2.Sf3-e5 # 1...Re4-h4 + 2.Sf3*h4 # 1...Sc8-a7 2.Qc7-d7 # 1...Sc8-e7 2.Qc7-d7 #" --- authors: - Mansfield, Comins source: Friends of Chess Traditional Ty. date: 1971 distinction: 1st HM algebraic: white: [Kg1, Qb6, Rh4, Rf5, Bg2, Be5, Sf3, Ph2, Pe6, Pc2] black: [Kd5, Rg8, Bh8, Sg4, Ph3, Pe7, Pe3, Pb5, Pa6] stipulation: "#2" solution: | "1.Bg2-h1 ! threat: 2.Sf3-d2 # 1...Sg4-f2 + 2.Be5-g7 # 1...Sg4*h2 + 2.Be5-g7 # 1...Sg4-h6 + 2.Sf3-g5 # 1...Sg4-f6 + 2.Be5-g3 # 1...Sg4*e5 + 2.Sf3-g5 # 1...Kd5-c4 2.Qb6-d4 # 1...Kd5-e4 2.Sf3-d4 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Ferrari MT, Sinfonie Scacchistiche date: 1974 distinction: 1st HM, 1974-1975 algebraic: white: [Kc7, Qe3, Ra6, Ra5, Be7, Sf7, Sd7, Ph6, Ph3, Pg2, Pe2] black: [Kf5, Rh5, Rc3, Sg8, Sg3, Pe4, Pc5] stipulation: "#2" solution: | "1...Rc3-a3 2.Ra5*c5 # 1...Rc3-b3 2.Ra5*c5 # 1.Sd7*c5 ? zugzwang. 1...Rc3-a3 2.Sc5-a4 # 1...Rc3-b3 2.Sc5*b3 # 1...Rc3*e3 2.Sc5-d3 # 1...Rc3-d3 2.Sc5*d3 # but 1...Sg8*e7 ! 1.Be7*c5 ! zugzwang. 1...Rc3-c1 2.Qe3-f2 # 1...Rc3-c2 2.Qe3-f2 # 1...Rc3-a3 2.Bc5*a3 # 1...Rc3-b3 2.Bc5-b4 # 1...Rc3*c5 + 2.Ra5*c5 # 1...Rc3-c4 2.Qe3-f2 # 1...Rc3*e3 2.Bc5*e3 # 1...Rc3-d3 2.Bc5-d4 # 1...Sg3*e2 2.g2-g4 # 1...Sg3-f1 2.g2-g4 # 1...Sg3-h1 2.g2-g4 # 1...Rh5*h3 2.Qe3-g5 # 1...Rh5-h4 2.Qe3-g5 # 1...Rh5-g5 2.Qe3*g5 # 1...Rh5*h6 2.Qe3-g5 # 1...Sg8-e7 2.Ra6-f6 # 1...Sg8-f6 2.Ra6*f6 # 1...Sg8*h6 2.Ra6-f6 #" keywords: - Black correction - Transferred mates - Changed mates --- authors: - Mansfield, Comins source: Schach-Echo date: 1977 distinction: 1st HM algebraic: white: [Ke8, Re1, Bf8, Se5, Se3, Pg5, Pg4, Pf4, Pc4] black: [Ke6, Ra7, Bf6, Sd8, Sb3, Pc7, Pb5, Pb2] stipulation: "#2" solution: | "1...Bf6*e5 2.f4-f5 # 1.Se3-c2 ? threat: 2.f4-f5 # 1...Sb3-d4 2.Sc2*d4 # 1...Bf6*g5 2.Se5-d7 # 1...Bf6-e7 2.Se5-f7 # but 1...b5*c4 ! 1.Se5-d3 ! threat: 2.f4-f5 # 1...Sb3-d4 2.Sd3-c5 # 1...Bf6*g5 2.Se3-d5 # 1...Bf6-e7 2.Se3-f5 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: Schach-Echo date: 1980 distinction: 1st HM, 1980-1981 algebraic: white: [Kb1, Qe2, Rh4, Ra8, Bd3, Ba5, Se3, Pf5, Pf3, Pc3, Pb5, Pb2] black: [Ka4, Qc4, Bh1, Pb3] stipulation: "#2" solution: | "1.Bd3-e4 ! threat: 2.Qe2*c4 # 1...Qc4*e2 2.Be4-d3 # 1...Qc4-d3 + 2.Be4*d3 # 1...Qc4-g8 2.Ba5-d8 # 1...Qc4-e6 2.Ba5-b6 # 1...Qc4-d5 2.Be4*d5 # 1...Qc4*b5 2.Be4-c6 # 1...Qc4*c3 2.Ba5*c3 # 1...Qc4-b4 2.Ba5*b4 # 1...Qc4-c8 2.Be4-c6 # 1...Qc4-c7 2.Ba5*c7 # 1...Qc4-c6 2.Be4*c6 # 1...Qc4-c5 2.Ba5-b6 # 1...Qc4*e4 + 2.Rh4*e4 # 1...Qc4-d4 2.Ba5-b6 # 1...Qc4-f7 2.Ba5-c7 # 2.Be4-d5 #" keywords: - Active sacrifice - Black correction - Switchback --- authors: - Mansfield, Comins source: Brisbane Sports Referee date: 1928 distinction: HM algebraic: white: [Ka7, Qb2, Re4, Bd3, Bc1, Sg4, Ph6, Pg2, Pd5] black: [Kf5, Qb1, Sh1, Sb7, Pg7, Pg6, Pd6] stipulation: "#2" solution: | "1.Sg4-h2 ? threat: 2.g2-g4 # but 1...Qb1*d3 ! 1.Sg4-f2 ? threat: 2.g2-g4 # but 1...Sh1-g3 ! 1.Sg4-f6 ! threat: 2.g2-g4 # 1...Qb1-a2 + 2.Re4-a4 # 1...Qb1-a1 + 2.Re4-a4 # 1...Qb1*b2 2.Re4-e6 # 1...Qb1*c1 2.Re4-g4 # 1...Sh1-g3 2.Qb2-f2 # 1...Sh1-f2 2.Qb2*f2 # 1...g6-g5 2.Re4-f4 #" --- authors: - Mansfield, Comins source: The Evening Standard date: 1928 distinction: HM algebraic: white: [Kb2, Qg8, Rd5, Bf8, Bf1, Se2, Sb7] black: [Kc4, Qh1, Rf5, Ra4, Sa3, Ph2, Pg5, Pf6, Pb3, Pa5] stipulation: "#2" solution: | "1.Bf8-c5 ! threat: 2.Sb7-d6 # 1...Qh1*d5 2.Se2-f4 # 1...Sa3-b5 2.Rd5-d4 # 1...Kc4-b5 2.Se2-d4 # 1...Rf5*d5 2.Se2-g1 #" keywords: - Flight giving key - Mansfield Couplet --- authors: - Mansfield, Comins source: U.S. Problem Bulletin date: 1953 distinction: HM algebraic: white: [Ka5, Qg8, Re4, Rc6, Bb1, Se5, Sb5, Pb3] black: [Kd5, Re6, Sf7, Sa8, Pf5, Pe3, Pd7, Pb4] stipulation: "#2" solution: | "1.Se5-d3 ! threat: 2.Sd3*b4 # 1...Kd5*e4 2.Qg8-g2 # 1...Kd5*c6 2.Qg8*a8 # 1...f5*e4 2.Rc6-c5 # 1...Re6*e4 2.Rc6-d6 # 1...Re6*c6 2.Re4-e5 # 1...d7*c6 2.Re4-d4 #" keywords: - Defences on same square - 2 flights giving key --- authors: - Mansfield, Comins source: U.S. Problem Bulletin date: 1958 distinction: HM algebraic: white: [Kh5, Qa8, Rf6, Rd4, Bh4, Bf1, Sg2, Se6, Pg4, Pc4] black: [Ke5, Rd6, Sc6, Pe7, Pc5] stipulation: "#2" solution: | "1...Nd8/Nb4/Nb8/Na5/Na7 2.Qe4#/Re4# 1.Rd5+?? 1...Ke4 2.Bd3#/Ng5#/Nxc5#/Rf4# but 1...Rxd5! 1.Nxc5?? (2.Re4#) 1...Nxd4 2.Qe4#/Nd3# 1...Rxd4 2.Re6# 1...Re6/Rxf6 2.Rd5# but 1...Kxd4! 1.Ng5! (2.Nf3#) 1...Kxf6 2.Qh8# 1...Kxd4 2.Qa1# 1...cxd4 2.Rf5# 1...exf6 2.Re4# 1...Nxd4 2.Nf7# 1...Rxd4 2.Re6# 1...Rxf6 2.Rd5#" keywords: - Defences on same square - 2 flights giving key --- authors: - Mansfield, Comins source: The Grantham Journal date: 1926 distinction: Special HM algebraic: white: [Kh8, Qg8, Re1, Ra5, Bc5, Ba8, Se6, Pg4, Pc2, Pb3] black: [Kd5, Qb7, Be4, Sc6, Sb8, Ph6, Pg5, Pd3, Pc7] stipulation: "#2" solution: | "1.Qg8-g6 ! threat: 2.Qg6*e4 # 1...Be4-h1 {(B~ )} 2.c2-c4 # 1...Kd5-e5 2.Qg6-f5 # 1...Sc6-e5 2.Se6*c7 # 1...Qb7-c8 + 2.Bc5-f8 # 1...Qb7-b4 2.Bc5*b4 #" --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1932 distinction: Comm., II algebraic: white: [Ka6, Qe2, Rg5, Rb7, Ba8, Sh7, Sh4, Pf6, Pf4, Pe3, Pc2] black: [Ke4, Rg3, Ra3, Sd5, Sc4, Pe6, Pa4, Pa2] stipulation: "#2" solution: | "1.Rg5-g4 ! threat: 2.Sh7-g5 # 1...Ra3*e3 2.Qe2*c4 # 1...Rg3*e3 2.Qe2*c4 # 1...Rg3*g4 2.Qe2-f3 # 1...Sc4*e3 2.Rb7-b4 # 1...Sd5-b4 + 2.Rb7*b4 # 1...Sd5-c3 2.Qe2-d3 # 1...Sd5*e3 2.Rb7-d7 # 1...Sd5*f4 2.Rb7-b5 # 1...Sd5*f6 2.Sh7*f6 # 1...Sd5-e7 2.Rb7*e7 # 1...Sd5-c7 + 2.Rb7*c7 # 1...Sd5-b6 2.Rb7*b6 #" keywords: - Defences on same square - Black correction --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1943 distinction: Comm., I algebraic: white: [Kg6, Qe8, Rd3, Ra5, Bg5, Bb5, Se5, Pg2, Pd2, Pc5] black: [Ke4, Rc6, Pd6, Pd4] stipulation: "#2" solution: | "1.Bg5-e3 ! threat: 2.Rd3*d4 # 1...d4*e3 2.Ra5-a4 # 1...Ke4-d5 2.Bb5*c6 # 1...d6-d5 + 2.Se5*c6 # 1...d6*e5 + 2.Qe8*c6 # 1...d6*c5 + 2.Bb5*c6 #" keywords: - Active sacrifice - Mates on same square --- authors: - Mansfield, Comins source: The Cincinnati Enquirer date: 1929 distinction: Comm. algebraic: white: [Kb3, Qb5, Rf6, Rd4, Bh3, Sf3, Sc4, Pa2] black: [Ke2, Qf7, Rg7, Bf2, Pg6, Pe3] stipulation: "#2" solution: | "1.Kb3-a3 ! threat: 2.Qb5-b2 # 1...Bf2-e1 2.Sf3-g1 # 1...Qf7*c4 2.Qb5*c4 # 1...Qf7*f6 2.Sc4-e5 # 1...Qf7-a7 + 2.Sc4-a5 # 1...Qf7-b7 2.Sc4-b6 # 1...Qf7-e7 + 2.Sc4-d6 # 1...Qf7-f8 + 2.Sc4-d6 #" --- authors: - Mansfield, Comins source: Deutsche Schachzeitung date: 1961 distinction: Comm. algebraic: white: [Kf4, Qf7, Re6, Bf8, Bf1, Sa8, Ph7, Pe3] black: [Kd5, Qb8, Rh6, Bg8, Sb6, Ph4, Pf6, Pc7] stipulation: "#2" solution: | "1...Sb6-c4 2.Bf1-g2 # 1...f6-f5 2.Qf7*f5 # 1...c7-c5 + 2.Re6-d6 # 1...c7-c6 + 2.Re6-e5 # 1.Qf7*c7 ! threat: 2.Re6-d6 # 1...Sb6-c4 2.Bf1*c4 # 1...f6-f5 2.Re6-e5 # 1...Kd5*e6 2.h7*g8=Q # 1...Sb6-c8 2.Bf1-c4 # 1...Qb8*c7 + 2.Sa8*c7 # 1...Qb8*f8 2.Qc7-c6 # 1...Qb8-d8 2.Qc7-c6 # 1...Bg8*e6 2.Bf1-g2 #" keywords: - Flight giving key - Transferred mates - Changed mates --- authors: - Mansfield, Comins source: Schakend Nederland date: 1962 distinction: Comm. algebraic: white: [Kh1, Qg2, Rb3, Be1, Sd7, Sa1, Pf5, Pe5, Pa4] black: [Kc4, Qf8, Bc7, Sa7, Ph6, Pf6, Pd4, Pb6] stipulation: "#2" solution: | "1...d4-d3 2.Qg2-e4 # 1.Qg2-a2 ? threat: 2.Rb3-a3 # 2.Rb3-h3 # 2.Rb3-g3 # 2.Rb3-f3 # 2.Rb3-e3 # 1...d4-d3 2.Rb3-b4 # 1...Qf8-b4 2.Rb3-c3 # but 1...Kc4-d5 ! 1.Rb3-f3 ! threat: 2.Qg2-a2 # 1...Kc4-d5 2.Rf3-c3 # 1...d4-d3 2.Rf3-f4 # 1...Qf8-a3 2.Qg2-g8 # 1...Qf8-b4 2.Qg2-g8 #" keywords: - Flight giving key - Changed mates --- authors: - Mansfield, Comins source: M.Wróbel MT, Sportowiec date: 1962 distinction: Comm. algebraic: white: [Ka5, Qh1, Rf8, Rd7, Bf4, Sf3, Sd3, Pg2, Pc2] black: [Ke4, Qe2, Rg3, Rc4, Pg6, Pd4, Pc5, Pa4] stipulation: "#2" solution: | "1.Qh1-b1 ! threat: 2.Qb1-b7 # 1...Qe2-e1 + 2.Qb1*e1 # 1...Qe2*c2 2.Sd3-f2 # 1...Qe2-d2 + 2.Sf3*d2 # 1...Rg3-g5 2.Sf3*g5 # 1...Rc4*c2 2.Sd3*c5 # 1...Rc4-b4 2.Sd3*c5 #" keywords: - Transferred mates --- authors: - Mansfield, Comins source: L'Italia Scacchistica date: 1963 distinction: Comm. algebraic: white: [Ka4, Qd7, Rg4, Re2, Bh1, Sg2, Sa6, Pf7, Pe6, Pc2, Pb5] black: [Kd5, Qh8, Rb1, Ba8, Sa3, Pd6, Pc3, Pb4] stipulation: "#2" solution: | "1.Qd7-c8 ! zugzwang. 1...Rb1-a1 2.Sa6*b4 # 1...Rb1-b3 2.Sg2-h4 # 1...Rb1-b2 2.Sg2-h4 # 1...Rb1*h1 2.Sa6*b4 # 1...Rb1-g1 2.Sa6*b4 # 1...Rb1-f1 2.Sa6*b4 # 1...Rb1-e1 2.Sa6*b4 # 1...Rb1-d1 2.Sa6*b4 # 1...Rb1-c1 2.Sa6*b4 # 1...Sa3*c2 {(S~ )} 2.Qc8-c4 # 1...b4-b3 2.Sa6-b4 # 1...Ba8-c6 2.Qc8*c6 # 1...Ba8-b7 2.Qc8*b7 # 1...Qh8-d4 2.Sg2-f4 # 1...Qh8-e5 2.Sg2-e3 # 1...Qh8-f6 2.Qc8*a8 # 1...Qh8*h1 {(Q~h )} 2.Qc8*a8 # 1...Qh8-h7 2.Qc8*a8 # 1...Qh8*c8 {(Q~ )} 2.Sg2-e1 # 1...Qh8-g7 2.Qc8*a8 # 2.Sg2-e1 #" keywords: - Active sacrifice - Black correction - Changed mates - B2 --- authors: - Mansfield, Comins source: Schweizerische Schachzeitung date: 1963 distinction: Comm. algebraic: white: [Kh7, Qb8, Re2, Ra4, Bh1, Bb4, Se3, Sb3, Pd5, Pc2] black: [Ke4, Rf5, Be1, Sf3, Sb6, Pg5, Pf7, Pf6, Pa5] stipulation: "#2" solution: | "1.Qb8-c8 ! threat: 2.Qc8*f5 # 1...Ke4-f4 2.Bb4-d6 # 1...Rf5-f4 2.Qc8-e8 # 1...Rf5*d5 2.Se3-g2 # 1...Rf5-e5 2.Qc8-g4 # 1...Sb6-d7 2.Bb4-c3 # 1...Sb6*c8 2.Bb4-c3 #" keywords: - Active sacrifice - 2 flights giving key - Black correction --- authors: - Mansfield, Comins source: Festival Castellari, Boletim da UBP date: 1963 distinction: Comm. algebraic: white: [Kf6, Qg2, Rh3, Rc8, Bd6, Bb1, Sf5, Sd3, Pc4, Pa4] black: [Kc3, Bc2, Ba1, Sg6, Ph7, Pb3, Pa5, Pa2] stipulation: "#2" solution: | "1.Bd6-c7 ! threat: 2.Bc7*a5 # 1...b3-b2 2.Qg2*c2 # 1...Kc3*c4 + 2.Bc7-e5 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: L'Italia Scacchistica date: 1964 distinction: Comm. algebraic: white: [Kc6, Qa3, Re8, Ra4, Bc1, Sd5, Sd4, Pf6, Pe5] black: [Ke4, Re1, Bh4, Bh1, Pg5, Pg3, Pc2] stipulation: "#2" solution: | "1.Sd5-e7 ! threat: 2.Sd4-f3 # 1...Re1-d1 2.Qa3-e3 # 1...Re1-e3 2.Qa3*e3 # 1...Ke4*e5 + 2.Se7-d5 #" keywords: - Flight giving key - Switchback --- authors: - Mansfield, Comins source: Schakend Nederland date: 1966 distinction: Comm. algebraic: white: [Kh1, Qh4, Re2, Ra3, Be1, Bb3, Pf4, Pe4, Pc2] black: [Kf3, Pe6, Pe5, Pd3] stipulation: "#2" solution: | "1...d3-d2 2.Bb3-c4 # 1...d3*e2 2.Bb3-d5 # 1.c2-c4 ! zugzwang. 1...d3-d2 2.Bb3-d1 # 1...d3*e2 2.Bb3-c2 # 1...Kf3*e2 2.Qh4-f2 # 1...e5*f4 2.Qh4-h5 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: Le Problème TT date: 1967 distinction: Comm. algebraic: white: [Kb8, Qd1, Re5, Ra6, Bf8, Bf5, Sh7, Sf3, Ph2, Pd7, Pd2] black: [Kh5, Sf6, Sf4, Pe7, Pd3] stipulation: "#2" solution: | "1.Qd1-a4 ! zugzwang. 1...Sf4-g2 2.Bf5*d3 # 1...Sf4-h3 2.Qa4-h4 # 1...Sf4-g6 2.Bf5-g4 # 1...Sf4-e6 2.Qa4-h4 # 1...Sf6-e4 2.Ra6-h6 # 1...Sf6-g4 2.Bf5-g6 # 1...Sf6*h7 2.Ra6-h6 # 1...Sf6-g8 2.Bf5-h3 # 1...Sf6*d7 + 2.Bf5*d7 # 1...e7-e6 2.Sh7*f6 # 1...Sf4-e2 2.Bf5*d3 # 2.Qa4-h4 # 1...Sf6-d5 2.Ra6-h6 # 2.Bf5-h3 # 1...Sf4-d5 2.Bf5*d3 # 2.Qa4-h4 # 1...Sf6-e8 2.Ra6-h6 # 2.Bf5-h3 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Böhm MT, Magyar Nemzet date: 1948 distinction: Comm. algebraic: white: [Kb1, Qg7, Be4, Sd4, Sc3, Pg2] black: [Kf4, Re5, Sh2, Sg3, Pg4, Pe7, Pe3, Pd5] stipulation: "#2" solution: | "1...Sg3-e2 {(Sg~)} 2.Sd4*e2 # 1...Re5-e6 2.Sd4*e6 # 1.Be4-f5 ! threat: 2.Qg7-h6 # 1...Sg3-e2 {(Sg~)} 2.Sc3*e2 # 1...Sh2-f3 2.Qg7*g4 # 1...Re5-e4 2.Sc3*d5 # 1...Re5-e6 2.Sc3*d5 # 1...Re5*f5 2.Sd4-e6 #" keywords: - Black correction - Transferred mates - Changed mates --- authors: - Mansfield, Comins source: Frankenthal CC date: 1957 distinction: HM algebraic: white: [Ke1, Qe3, Rd7, Rb3, Bb2, Ba2, Sb7, Pg4, Pf3, Pc6] black: [Ke6, Rh8, Bb8, Sf6, Se5, Ph4, Pf7, Pb6] stipulation: "#2" solution: | "1.Qe3-h6 ! threat: 2.Rb3-e3 # 1...Se5-c4 2.Qh6*f6 # 1...Se5-d3 + 2.Rb3*d3 # 1...Se5*f3 + 2.Rb3*f3 # 1...Se5*g4 2.Rb3-b5 # 1...Se5*c6 2.Rb3-d3 # 1...Rh8*h6 2.Sb7-d8 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: The Tablet date: 1959-12-19 distinction: Comm. algebraic: white: [Ke6, Qf7, Rf5, Bb8, Pd7, Pc7] black: [Kc6, Qc8, Rb7, Pb6] stipulation: "#2" solution: | "1.Qf7-e8 ! threat: 2.d7*c8=Q # 2.d7*c8=S # 2.d7*c8=R # 2.d7*c8=B # 1...b6-b5 2.d7*c8=S # 1...Rb7-a7 2.d7*c8=Q # 1...Rb7*b8 2.d7*c8=Q # 1...Rb7*c7 2.d7*c8=Q # 1...Qc8*d7 + 2.Qe8*d7 # 1...Qc8*c7 2.d7-d8=S # 1...Qc8*b8 2.d7-d8=Q # 1...Qc8*e8 + 2.d7*e8=Q # 1...Qc8-d8 2.c7*d8=S #" keywords: - Black correction --- authors: - Mansfield, Comins source: Magasinet source-id: v date: 1933 distinction: Comm. algebraic: white: [Kh8, Qg7, Rh5, Bg8, Sf5, Se6, Pf4] black: [Kd5, Qc3, Re5, Ba8, Sc8, Pe4, Pd6, Pc4, Pb5, Pa5] stipulation: "#2" solution: | "1.Qg7-a7 ! threat: 2.Qa7*a8 # 1...Kd5-c6 2.Se6-d8 # 1...Re5*e6 + 2.Sf5-d4 # 1...Re5*f5 + 2.Se6-d4 # 1...Ba8-c6 2.Se6-c7 # 1...Ba8-b7 2.Qa7*b7 # 1...Sc8*a7 {(S~ )} 2.Sf5-e7 #" keywords: - Black correction - Levman --- authors: - Mansfield, Comins source: Federación Argentina de Ajedrez date: 1950 distinction: 1st Comm. algebraic: white: [Kd7, Qf7, Re6, Rc6, Bb7, Sc4, Pc3] black: [Kd5, Qh3, Ra6, Bg1, Be2, Sg2, Sb5, Ph2, Pg3, Pa5] stipulation: "#2" solution: | "1.Kd7-d8 ! threat: 2.Re6-e5 # 1...Bg1-b6 + 2.Rc6-c7 # 1...Be2*c4 2.Qf7-f3 # 1...Qh3*e6 2.Qf7*e6 # 1...Qh3-h8 + 2.Re6-e8 # 1...Qh3-h4 + 2.Re6-e7 # 1...Sb5*c3 2.Qf7-d7 # 1...Ra6-a8 + 2.Rc6-c8 #" --- authors: - Mansfield, Comins source: Het Belgisch Schaakbord (L'Echiquier Belge) date: 1981 distinction: Comm., 1981-1982 algebraic: white: [Kd1, Qg5, Rd5, Rb2, Bg1, Ba6, Sf4, Sa2, Pb5] black: [Kc4, Qb8, Rd8, Ra7, Bc5, Sh4, Pa3] stipulation: "#2" solution: | "1.Qg5-g8 ! threat: 2.Rd5-d4 # 1...Bc5-b4 {(R~)} 2.Rb2*b4 # 1...Bc5-f8 2.Rd5-d7 # 1...Bc5-e7 2.Rd5*d8 # 1...Bc5-d6 2.Rd5-c5 # 1...Ra7-f7 2.b5-b6 # 1...Rd8*d5 + 2.Qg8*d5 # 1...Rd8*g8 2.Rd5*c5 #" keywords: - Active sacrifice - Black correction --- authors: - Mansfield, Comins source: Het Belgisch Schaakbord (L'Echiquier Belge) date: 1982 distinction: Comm., 1982-1983 algebraic: white: [Kg6, Qa5, Rh5, Rd8, Sd2, Sc4, Pe5, Pc5, Pc2, Pb2] black: [Kd4, Qd5, Sg3, Pf4, Pe6, Pe3, Pe2, Pc6] stipulation: "#2" solution: | "1.Sc4-d6 ! threat: 2.Qa5-c3 # 1...Sg3-e4 2.Sd2-f3 # 1...Qd5-a2 2.Sd6-c4 # 1...Qd5-b3 2.Sd6-c4 # 1...Qd5-c4 2.Sd6*c4 # 1...Qd5-h1 2.Sd6-e4 # 1...Qd5-g2 2.Sd6-e4 # 1...Qd5-f3 2.Sd6-e4 # 1...Qd5-e4 + 2.Sd6*e4 # 1...Qd5*c5 2.Sd6-b5 # 1...Qd5*d6 2.Rd8*d6 # 1...Qd5*e5 2.Sd6-f5 #" keywords: - Black correction - B2 - Switchback --- authors: - Mansfield, Comins source: Magyar Sakkélet source-id: 3697 date: 1971 distinction: Comm. algebraic: white: [Kh1, Qc2, Rd4, Ra5, Bb5, Sh7, Ph3, Pe3] black: [Kf5, Re6, Re4, Bb7, Sg7, Pg6, Pf4, Pc7] stipulation: "#2" solution: | "1.Qc2-g2 ! threat: 2.Qg2-g5 # 1...Re4*e3 {(R4~ )} 2.Bb5-d3 # 1...Re4-e5 2.Rd4*f4 # 1...Re6-a6 {(R6~ )} 2.Bb5-d7 # 1...Re6-e5 2.Qg2-g4 # 1...Re6-c6 2.Qg2*e4 # 1...Kf5-e5 2.Bb5-c6 #" keywords: - Defences on same square - Black correction --- authors: - Mansfield, Comins source: Sinfonie Scacchistiche source-id: 31/1379 date: 1973-01 distinction: Comm. algebraic: white: [Ke5, Qb1, Rf6, Rc3, Be7, Be6, Sc4, Sb7, Pa5] black: [Kc6, Qe8, Rh6, Rc1, Bh1, Pf7, Pc7, Pa6] stipulation: "#2" solution: | "1...Rc1-e1 + 2.Sc4-e3 # 1...Rh6-h5 + 2.Be6-f5 # 1.Ke5-d4 ! threat: 2.Sc4-e5 # 1...Rc1*b1 2.Sc4-d6 # 1...Rc1-d1 + 2.Sc4-d2 # 1...Rh6-h4 + 2.Be6-g4 # 1...Qe8-d7 + 2.Be6-d5 # 1...Qe8-d8 + 2.Sb7*d8 #" --- authors: - Mansfield, Comins source: E.Heinonen-50 JT, Suomen Shakki date: 1973 distinction: Comm., 1972-73 algebraic: white: [Ka3, Qe5, Rh4, Rc8, Bd4, Bb7, Sc5, Pg5, Pe3, Pd5, Pc3, Pc2, Pa4] black: [Kc4, Qf8, Rh6, Sh8] stipulation: "#2" solution: | "1.Qe5-f6 ! zugzwang. 1...Rh6*h4 2.Qf6-a6 # 1...Rh6-h5 2.Qf6-a6 # 1...Rh6*f6 2.Bd4*f6 # 1...Rh6-g6 2.Bd4-e5 # 1...Rh6-h7 2.Qf6-a6 # 1...Qf8*c5 + 2.Rc8*c5 # 1...Qf8-d6 2.Qf6-f1 # 1...Qf8-e7 2.Qf6-f1 # 1...Qf8*f6 2.Sc5-e6 # 1...Qf8-f7 2.Sc5-d7 # 1...Qf8*c8 2.Qf6-f1 # 1...Qf8-d8 2.Qf6-f1 # 1...Qf8-e8 2.Qf6-f1 # 1...Qf8-g8 2.Qf6-f1 # 1...Sh8-f7 2.Qf6-f1 # 1...Sh8-g6 2.Qf6-a6 # 1...Qf8-g7 2.Qf6-f1 # 2.Sc5-d7 #" keywords: - Active sacrifice - Black correction --- authors: - Mansfield, Comins source: E.Cacciari MT, Sinfonie Scacchistiche date: 1973 distinction: Comm., 1973-74 algebraic: white: [Ke1, Qd2, Rd8, Bf6, Bd7, Sb7, Sa7, Pf3, Pe5, Pd3, Pc5, Pb6, Pb3] black: [Kd5, Rb8, Bh8, Sf8, Pd4] stipulation: "#2" solution: | "1.Qd2-g5 ! threat: 2.e5-e6 # 1...Sf8*d7 2.Qg5-g8 # 1...Sf8-e6 2.Bd7-c6 # 1...Sf8-g6 2.Bd7-c8 # 1...Sf8-h7 2.Bd7-c8 # 2.Qg5-g8 # 1...Bh8*f6 2.e5*f6 #" keywords: - Threat reversal --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1974 distinction: Comm. algebraic: white: [Ke4, Qb4, Rf3, Bg2, Pg4, Pe6, Pe2, Pd6, Pc4, Pa6] black: [Kc6, Qh1, Rg8, Pg6, Pg3, Pf2, Pe7, Pc2, Pa7] stipulation: "#2" solution: | "1.Ke4-d4 ! threat: 2.Qb4-c5 # 1...Qh1-a1 + 2.Rf3-c3 # 1...Qh1-d1 + 2.Rf3-d3 # 1...Qh1-h8 + 2.Rf3-f6 # 1...Qh1-h5 2.Rf3-f5 # 1...e7*d6 2.Qb4-b7 #" --- authors: - Mansfield, Comins source: diagrammes date: 1975 distinction: Comm. algebraic: white: [Kh7, Qa1, Rg6, Ra4, Ba2, Sf6, Pg4, Pd7, Pb2] black: [Ke5, Qa8, Bd8, Bb7, Sh3, Pg5, Pe7, Pd6, Pa7] stipulation: "#2" solution: | "1...Sh3-f4 2.b2-b4 # 1...e7-e6 2.b2-b3 # 1.Sf6-h5 ! threat: 2.Rg6-e6 # 1...Sh3-f4 2.Rg6*g5 # 1...d6-d5 2.Qa1-e1 # 1...Bb7-e4 2.b2-b4 # 1...Bb7-d5 2.b2-b3 #" keywords: - Transferred mates - B2 --- authors: - Mansfield, Comins source: Arbeiter-Zeitung (Wien) date: 1975 distinction: Comm. algebraic: white: [Kh8, Qg6, Re8, Rd1, Bh3, Bh2, Se7, Sd5, Pf6, Pf5, Pc5] black: [Kd7, Re5, Bc8, Bb2, Sh7, Sa7, Pc6] stipulation: "#2" solution: | "1...Re5-e1 {(R~ )} 2.Sd5-b6 # 1...Re5*f5 2.Bh3*f5 # 1.f6-f7 ! threat: 2.Qg6-d6 # 1...Re5-e1 + {(R~ )} 2.Sd5-f6 # 1...Re5*d5 + 2.f5-f6 # 1...Re5*f5 + 2.Sd5-c3 # 1...Sa7-b5 2.Qg6*c6 # 1...Sh7-f6 2.f7-f8=S # 1...Re5*e7 + 2.Sd5-c3 # 2.Sd5-f6 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: Magyar Sakkélet date: 1975 distinction: Comm. algebraic: white: [Kh5, Qb3, Re8, Rb4, Be5, Sh7, Se1, Pg6, Pg4, Pg2, Pd4, Pd2] black: [Ke4, Rb5, Pg7, Pf6, Pc3] stipulation: "#2" solution: | "1.g2-g3 ! zugzwang. 1...c3-c2 2.Qb3-f3 # 1...c3*d2 2.Qb3-f3 # 1...Rb5*b4 2.Be5*f6 # 1...Rb5-a5 2.d4-d5 # 1...Rb5-b8 2.Be5*b8 # 1...Rb5-b7 2.Be5-c7 # 1...Rb5-b6 2.Be5-d6 # 1...Rb5*e5 + 2.d4*e5 # 1...Rb5-d5 2.Qb3-c2 # 1...Rb5-c5 2.d4*c5 # 1...f6-f5 2.Sh7-g5 # 1...f6*e5 2.Sh7-g5 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Suomen Shakki source-id: 8/810 date: 1975 distinction: 2nd Comm. algebraic: white: [Ka6, Qa7, Rg3, Re8, Bc2, Sg1, Sb1, Pe4, Pe2, Pb3] black: [Kd4, Rc5, Bf1, Sg2, Sf2, Pd6, Pb4] stipulation: "#2" solution: | "1.Ka6-b6 ! zugzwang. 1...Bf1*e2 2.Sg1*e2 # 1...Sf2-d1 2.Rg3-d3 # 1...Sf2-h1 {(Sf~ )} 2.Rg3-d3 # 1...Sg2-e1 {(Sg~ )} 2.e2-e3 # 1...Sg2-e3 2.Sg1-f3 # 1...Rc5*c2 2.Qa7-g7 # 1...Rc5-c3 2.Qa7-g7 # 1...Rc5-c4 2.Qa7-g7 # 1...Rc5-a5 2.Kb6*a5 # 1...Rc5-b5 + 2.Kb6*b5 # 1...Rc5-c8 2.Qa7-g7 # 1...Rc5-c7 2.Kb6*c7 # 1...Rc5-c6 + 2.Kb6*c6 # 1...Rc5-h5 2.Qa7-a1 # 1...Rc5-g5 2.Qa7-a1 # 1...Rc5-f5 2.Qa7-a1 # 1...Rc5-e5 2.Qa7-a1 # 1...Rc5-d5 2.Qa7-a1 # 1...d6-d5 2.Qa7-g7 #" keywords: - Black correction --- authors: - Mansfield, Comins source: diagrammes source-id: 24/323 date: 1976-11 distinction: Comm. algebraic: white: [Kb8, Qg5, Rc8, Ra4, Bg6, Be5, Sd2, Sc4, Pd4, Pb7, Pb3] black: [Kc3, Qd1, Rf4, Bh2, Se2, Pg4, Pf3, Pb2] stipulation: "#2" solution: | "1.Be5-f6 ! threat: 2.Qg5-a5 # 1...Qd1*b3 2.Sd2-b1 # 1...Qd1*d2 2.Sc4-a5 # 1...Rf4*d4 + 2.Sc4-d6 # 1...Rf4-e4 + 2.Sc4-e5 # 1...Rf4*f6 + 2.Sc4-d6 # 1...Rf4-f5 + 2.Sc4-e5 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: «64» source-id: 27/37 date: 1976 distinction: Comm. algebraic: white: [Ke1, Qc8, Rd3, Rb1, Bc5, Bc2, Se4, Pd5, Pa4] black: [Kc4, Qd4, Sf5, Pc3, Pb7, Pa5] stipulation: "#2" solution: | "1.Rb1-b6 ! zugzwang. 1...Kc4*d5 2.Qc8-e6 # 1...Qd4-g1 + 2.Bc5*g1 # 1...Qd4-f2 + 2.Bc5*f2 # 1...Qd4-e3 + 2.Bc5*e3 # 1...Qd4-h8 2.Bc5-f8 # 1...Qd4-g7 2.Bc5-e7 # 1...Qd4-f6 2.Bc5-d6 # 1...Qd4-e5 2.Bc5-d6 # 1...Qd4*c5 2.Qc8*c5 # 1...Qd4*d3 2.Bc2-b3 # 1...Qd4*d5 2.Rd3*c3 # 1...Qd4*e4 + 2.Bc5-e3 # 1...Sf5-e3 {(S~ )} 2.Rd3*d4 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Die Schwalbe source-id: 9157 date: 1977 distinction: Comm. algebraic: white: [Kc1, Qd6, Re7, Bf8, Bd1, Sc3, Pe3, Pd2] black: [Kc4, Rh4, Re8, Bg8, Bd8, Ph5, Pb5, Pa4] stipulation: "#2" solution: | "1.Qd6-a6 ! threat: 2.Qa6*b5 # 1...Kc4-d3 2.Bd1-e2 # 1...Kc4-b4 2.Re7-e4 # 1...Kc4-c5 2.Re7-c7 #" keywords: - 3+ flights giving key --- authors: - Mansfield, Comins source: Fontaine MT date: 1978 distinction: HM algebraic: white: [Ka4, Qd3, Rd7, Ra5, Bb5, Sg6, Pd6, Pb4] black: [Kd5, Re6, Se7, Sd4, Pf6, Pe3] stipulation: "#2" solution: | "1.Rd7-d8 ! threat: 2.Bb5-e8 # 1...Re6-e4 2.Qd3-c4 # 1...Re6-e5 2.Sg6-f4 # 1...Re6*d6 2.Bb5-d7 # 1...Se7-c6 2.Bb5-c4 #" --- authors: - Mansfield, Comins source: 64 — Шахматное обозрение source-id: 7/25 date: 1980 distinction: Comm. algebraic: white: [Kf7, Qb3, Bg1, Bb1, Sc4, Sa6, Pf3, Pb6, Pb5, Pa5] black: [Kd5, Rd1, Bd6, Sc8, Sa3, Pf5, Pe2] stipulation: "#2" solution: | "1.f3-f4 ! threat: 2.Sc4*a3 # 1...Rd1*b1 2.Qb3-d3 # 1...Rd1-c1 2.Qb3-d3 # 1...Rd1-d4 2.Sc4-e3 # 1...Rd1-d3 2.Qb3*d3 # 1...Rd1*g1 2.Qb3-d3 # 1...Sa3*b1 2.Sc4-d2 # 1...Sa3-c2 2.Sc4-d2 # 1...Sa3*c4 2.Qb3-f3 # 1...Sa3*b5 2.Sc4-e5 # 1...Bd6-c5 2.Sa6-c7 # 1...Bd6*f4 2.Sa6-b4 # 1...Bd6-e5 2.Sa6-b4 # 1...Bd6-f8 2.Sa6-c7 # 1...Bd6-e7 2.Sa6-c7 # 1...Bd6-b8 2.Sa6-b4 # 1...Bd6-c7 2.Sa6-b4 # 2.Sa6*c7 # 1...Sc8*b6 2.Sc4*b6 # 1...Bd6-b4 2.Sa6*b4 # 2.Sa6-c7 #" --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1980 distinction: Comm., 1980-1982 algebraic: white: [Kg3, Qg2, Rf1, Rb5, Bh3, Bc5, Pe2, Pc3] black: [Ke5, Ba4, Se8, Pg7, Pg6, Pc4, Pb7] stipulation: "#2" solution: | "1.Kg3-f3 ! threat: 2.Qg2-g5 # 1...Ba4-c2 2.Bc5-e7 # 1...Ke5-f6 2.Kf3-e4 # 1...Ke5-d5 2.Kf3-f4 # 1...Se8-d6 2.Bc5-d4 #" keywords: - 2 flights giving key --- authors: - Mansfield, Comins source: The Problemist source-id: 6687 date: 1982 distinction: Comm., II algebraic: white: [Kb1, Qh8, Re6, Re3, Bf7, Ba5, Sd3, Sc7, Pe7, Pd4, Pc5] black: [Kc4, Rd5, Bh7, Bc1, Sf3, Pf5, Pd2] stipulation: "#2" solution: | "1.Qh8-d8 ! threat: 2.Qd8*d5 # 1...Kc4-b3 2.Sd3-b2 # 1...Rd5*d4 2.Re6-e4 # 1...Rd5*c5 2.Re6-c6 # 1...Rd5*d8 2.Re6-d6 # 1...Rd5-d7 2.Re6-d6 # 1...Rd5-d6 2.Re6*d6 # 1...Rd5-e5 2.Re6*e5 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: The Problemist source-id: 6640 date: 1982 distinction: Comm., II algebraic: white: [Kc1, Qf8, Rg1, Re7, Be6, Bb6, Sf1, Pf3, Pd3, Pc2, Pb2] black: [Ke2, Rh2, Be4, Sh8, Ph4, Pg5, Pb3] stipulation: "#2" solution: | "1.Qf8-a8 ! threat: 2.Qa8*e4 # 1...Ke2-e1 2.Sf1-g3 # 1...Be4*d3 2.Be6-c4 # 1...Be4*f3 2.Be6-g4 # 1...Be4-h7 2.Be6-f5 # 1...Be4-g6 2.Be6-f5 # 1...Be4-f5 2.Be6*f5 # 1...Be4*a8 2.Be6-d5 # 1...Be4-b7 2.Be6-d5 # 1...Be4-c6 2.Be6-d5 # 1...Be4-d5" keywords: - Flight giving key --- authors: - Mansfield, Comins source: U.S. Problem Bulletin date: 1984 distinction: Comm. algebraic: white: [Kg1, Qd1, Rb7, Ba8, Se6, Sc4, Ph3, Pf6, Pd3, Pc3, Pc2] black: [Kf3, Re2, Sd5, Pg3, Pg2] stipulation: "#2" solution: | "1.d3-d4 ! zugzwang. 1...Kf3-e4 2.Qd1-d3 # 1...Sd5-b4 2.Rb7*b4 # 1...Sd5*c3 2.Rb7-b3 # 1...Sd5-e3 2.Sc4-d2 # 1...Sd5-f4 2.Se6-g5 # 1...Sd5*f6 2.Rb7-f7 # 1...Sd5-e7 2.Rb7*e7 # 1...Sd5-c7 2.Rb7*c7 # 1...Sd5-b6 2.Rb7*b6 #" keywords: - Black correction - Flight giving key --- authors: - Mansfield, Comins source: Práca date: 1959 distinction: Prize algebraic: white: [Kd8, Qd2, Rc1, Rb8, Be6, Ba1, Sb6, Sb5] black: [Kb3, Qa4, Pe5, Pc4, Pc2, Pa7, Pa3] stipulation: "#2" solution: | "1.Sb6*c4 ! threat: 2.Sc4-a5 # 1...Kb3-a2 2.Sb5-c3 # 1...Qa4*b5 2.Sc4-b2 # 1...Qa4-a6 2.Sc4-b6 # 1...Qa4-a5 + 2.Sc4-b6 # 1...Qa4*c4 2.Sb5-c3 # 1...Qa4-b4 2.Qd2*c2 #" keywords: - Black correction - Switchback --- authors: - Mansfield, Comins source: The Observer date: 1961 distinction: 2nd HM algebraic: white: [Kd2, Qb1, Rg5, Rd4, Ba3, Sc8, Pe6, Pe2, Pd6, Pc3, Pa4] black: [Kc6, Qh7, Ba6, Sb8, Pf5, Pc4, Pa7] stipulation: "#2" solution: | "1...Sb8-d7 2.Sc8*a7 # 1.Rd4-h4 ! threat: 2.Qb1-h1 # 1...f5-f4 2.Rg5-c5 # 1...Ba6*c8 2.Qb1-b5 # 1...Kc6-d5 2.Qb1-e4 # 1...Qh7*h4 2.Sc8-e7 # 1...Qh7-h5 2.Sc8-e7 #" keywords: - Active sacrifice - Flight giving key - Transferred mates - Changed mates - Rudenko --- authors: - Mansfield, Comins source: Magyar Sakkvilág date: 1931 distinction: 2nd HM algebraic: white: [Ka4, Qg8, Rh6, Ra7, Bf5, Sd7, Sc4, Pa5] black: [Kc6, Qh2, Ba3, Se8, Pg2, Pd6, Pd4, Pc7] stipulation: "#2" solution: | "1.Sc4*d6 ! threat: 2.Ra7-a6 # 1...Qh2*d6 2.Qg8*g2 # 1...Ba3*d6 2.Qg8-c4 # 1...Ba3-c5 2.Sd7-b8 # 1...c7*d6 2.Bf5-e4 # 1...Se8*d6 2.Qg8-a8 #" keywords: - Active sacrifice - Defences on same square --- authors: - Mansfield, Comins source: Świat Szachowy date: 1932 distinction: 2nd HM algebraic: white: [Kh5, Qa4, Rh3, Rd1, Bf4, Bd3, Sc7, Sb7, Pf2, Pb2] black: [Kd4, Rb4, Bc4, Sb6, Pe6, Pa5] stipulation: "#2" solution: | "1.Bf4-d6 ! threat: 2.Rh3-h4 # 1...Rb4*b2 2.Bd3-c2 # 1...Rb4-b5 + 2.Bd3-f5 # 1...Bc4-d5 2.Sc7-b5 # 1...Sb6-d5 2.Sc7*e6 # 1...e6-e5 2.Bd6-c5 #" --- authors: - Mansfield, Comins source: Tijdschrift vd KNSB date: 1935 distinction: 2nd HM algebraic: white: [Kh3, Qe1, Rh5, Re7, Bc4, Bc1, Se6, Sd5, Pc5] black: [Ke4, Qh8, Rb8, Ba1, Sh6, Se2, Pf3, Pb6] stipulation: "#2" solution: | "1.Bc1-e3 ! threat: 2.Qe1-b1 # 1...Se2-c1 2.Be3*c1 # 1...Se2-g1 + 2.Be3*g1 # 1...Se2-f4 + 2.Be3*f4 # 1...Se2-d4 2.Be3*d4 # 1...Se2-c3 2.Se6-g7 # 1...f3-f2 2.Qe1-h1 # 1...b6*c5 2.Se6*c5 # 1...Sh6-f5 2.Se6-g5 # 1...Qh8-b2 2.Se6-d4 # 1...Qh8-c3 2.Se6-d4 # 1...Qh8-d4 2.Se6*d4 #" keywords: - Switchback --- authors: - Mansfield, Comins source: Problemnoter date: 1960 distinction: 2nd HM algebraic: white: [Kb3, Rc5, Ra4, Bh3, Bc1, Sc6, Sc2, Pe2, Pa3] black: [Ke4, Rb7, Bg6, Ba1, Sg8, Sf7, Pe5, Pc3, Pb4] stipulation: "#2" solution: | "1.Sc2*b4 ? {display-departure-square} threat: 2.Rc5-c4 # 1...Rb7-d7 2.Sb4-d5 # but 1...c3-c2 ! 1.Sc6*b4 ? {display-departure-square} threat: 2.Rc5-c4 # 1...Rb7-d7 2.Sb4-d5 # but 1...Sf7-d6 ! 1.Sc6-d4 ? {display-departure-square} threat: 2.Bh3-g2 # 1...b4*a3 + 2.Sd4-b5 # but 1...Sf7-g5 ! 1.Sc2-d4 ! {display-departure-square} threat: 2.Bh3-g2 # 1...b4*a3 + 2.Sd4-b5 # 1...Bg6-h5 2.Bh3-f5 # 1...Sf7-g5 2.Rc5*e5 #" keywords: - Barnes --- authors: - Mansfield, Comins source: American Chess Bulletin date: 1962 distinction: 2nd HM algebraic: white: [Kb8, Qb6, Rf3, Ra5, Bh1, Bg7, Sd6, Pe6, Pb3] black: [Kd5, Rh5, Re5, Bh2, Ph6, Pe3, Pe2, Pb5, Pa6] stipulation: "#2" solution: | "1...Re5*e6 2.Rf3-f5 # 1.Sd6*b5 ! threat: 2.Sb5-c3 # 2.Rf3-f5 # 1...Kd5-e4 2.Qb6-d4 # 1...Re5-e4 + 2.Sb5-c7 # 1...Re5*e6 + 2.Sb5-d6 # 1...Re5-g5 + 2.Rf3-g3 # 1...Re5-f5 + 2.Rf3-f4 #" keywords: - Black correction - Flight giving and taking key - Switchback --- authors: - Mansfield, Comins source: To Mat date: 1964 distinction: 2nd HM algebraic: white: [Kf1, Qa4, Bh5, Ba3, Se1, Sb1, Pf3, Pe2, Pc2, Pb3] black: [Kd1, Rd8, Pe5, Pc5] stipulation: "#2" solution: | "1...Rd7/Rc8/Rb8/Ra8/Re8/Rf8/Rg8/Rh8 2.Qxd7# 1...Rd2 2.Nc3# 1.b4?? (2.c3#/c4#) 1...Rd3 2.cxd3#/c3# 1...Rd2 2.Nc3# 1...Ra8 2.Qd7# 1...c4 2.c3# but 1...cxb4! 1.f4?? (2.e3#/e4#) 1...Rd3 2.exd3#/e3# 1...Rd2 2.Nc3# 1...Rg8/Rh8 2.Qd7# 1...e4 2.e3# but 1...exf4! 1.e4?? (2.f4#) 1...Rd2 2.Nc3# 1...Rg8/Rh8 2.Qd7# but 1...Rd3! 1.c3?? (2.b4#) 1...Ra8 2.Qd7# but 1...Rd2! 1.c4?? (2.b4#) 1...Rd2 2.Nc3# 1...Ra8 2.Qd7# but 1...Rd3! 1.Qf4?? (2.Nc3#/Qc1#) 1...Rd3 2.Qc1# 1...Rd2 2.Nc3#/Qxd2# but 1...exf4! 1.e3! (2.f4#) 1...Rd2 2.Nc3# 1...Rg8/Rh8 2.Qd7#" --- authors: - Mansfield, Comins source: U.S. Problem Bulletin source-id: 7/121 date: 1964-07 distinction: 2nd HM algebraic: white: [Kh1, Qd5, Rb1, Sd4, Pe2, Pc2] black: [Kd2, Se5, Pe3, Pd3, Pc3, Pb6] stipulation: "#2" solution: | "1.Qd5-e4 ? zugzwang. 1...d3*e2 2.Sd4-b3 # 1...d3*c2 2.Qe4*c2 # but 1...b6-b5 ! 1.Qd5-b5 ? zugzwang. 1...d3*e2 2.Qb5*e2 # 1...d3*c2 2.Sd4-b3 # but 1...Se5-c4 ! 1.Sd4-b5 ! zugzwang. 1...Kd2*c2 2.Qd5-a2 # 1...Kd2*e2 2.Qd5-g2 # 1...Se5-c4 {(S~ )} 2.Qd5*d3 #" keywords: - 2 flights giving key - Changed mates --- authors: - Mansfield, Comins source: The Western Morning News date: 1936 distinction: 2nd HM algebraic: white: [Kf8, Qa5, Ra6, Bh4, Bc6, Se5, Pg4] black: [Kf6, Rg5, Rd2, Pg7, Pe2, Pd7, Pb7] stipulation: "#2" solution: | "1...Kf6-e6 2.Bc6*d7 # 1.Se5-d3 ! threat: 2.Qa5-f5 # 1...Kf6-e6 2.Bc6-d5 # 1...Kf6-g6 2.Bc6-e4 # 1...b7-b5 2.Bc6*d7 # 1...d7-d5 2.Bc6*b7 # 1...g7-g6 2.Qa5-e5 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Magyar Sakkvilág date: 1937 distinction: 2nd Prize algebraic: white: [Ka5, Qg8, Rh3, Bh1, Ba7, Sg4, Sc3, Pc2] black: [Kc4, Re8, Rd8, Se4, Sd5] stipulation: "#2" solution: | "1.Qg8-f8 ! threat: 2.Qf8-f1 # 1...Se4*c3 {(Se~ )} 2.Qf8-c5 # 1...Se4-d6 2.Bh1*d5 # 1...Sd5-b4 {(Sd~ )} 2.Qf8*b4 # 1...Sd5*c3 2.Sg4-e3 # 1...Sd5-e7 2.Sg4-e5 # 1...Re8*f8 2.Sg4-e5 #" keywords: - Black correction --- authors: - Mansfield, Comins source: American Chess Bulletin date: 1943 distinction: 2nd HM algebraic: white: [Kh7, Qb3, Re1, Ra5, Bc4, Bb8, Sh2, Se4, Pg5, Pe6] black: [Kf5, Bd5, Bb2, Sh1, Pc3] stipulation: "#2" solution: | "1.Bc4-b5 ! threat: 2.Qb3*d5 # 1...c3-c2 2.Qb3-h3 # 1...Bd5*b3 2.Bb5-c4 # 1...Bd5-c4 2.Bb5*c4 # 1...Bd5*e4 2.Bb5-d3 # 1...Bd5*e6 2.Bb5-d7 # 1...Bd5-a8 2.Bb5-c6 # 1...Bd5-b7 2.Bb5-c6 # 1...Bd5-c6 2.Bb5*c6 # 1...Kf5*e6 2.Se4-d6 #" keywords: - Switchback --- authors: - Mansfield, Comins source: The Christian Science Monitor date: 1946 distinction: 2nd HM algebraic: white: [Kh7, Qe7, Sg2, Se2, Pf2] black: [Kf5, Rg3, Re3, Bd7, Sh8, Ph5, Pg5, Pg4, Pf7, Pe5, Pe4] stipulation: "#2" solution: | "1.f2-f4 ! threat: 2.Qe7*e5 # 1...e4*f3 ep. 2.Se2*g3 # 1...g4*f3 ep. 2.Sg2*e3 # 1...e5*f4 2.Se2-d4 # 1...g5*f4 2.Sg2-h4 # 1...Bd7-e6 2.Qe7*g5 # 1...f7-f6 2.Qe7*d7 # 1...Sh8-g6 2.Qe7*f7 # 1.Kh7-g7 ! {(Cook)} threat: 2.Qe7-f6 # 2.Qe7*d7 #" keywords: - Active sacrifice - Cooked --- authors: - Mansfield, Comins source: US Chess Federation date: 1946 distinction: 2nd HM algebraic: white: [Kf6, Qd1, Rc3, Rb4, Be8, Bb8, Sf3, Se4, Ph5, Pf5, Pf2, Pe6] black: [Kg4, Qa4, Rh1, Rg2, Bh3, Bg1, Sf1] stipulation: "#2" solution: | "1.Rc3-c7 ! threat: 2.Rc7-g7 # 1...Qa4*d1 2.Se4-d2 # 1...Qa4*e8 2.Se4-g3 # 1...Qa4-d7 2.Se4-d6 # 1...Qa4-a1 + 2.Se4-c3 # 1...Qa4-a7 2.Se4-c5 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Chess date: 1954 distinction: 2nd HM algebraic: white: [Kg6, Qb6, Rh3, Bb8, Ba8, Sf4, Sb7] black: [Ke4, Qa3, Rb4, Ba2, Sc2, Pf3, Pe6, Pd3, Pd2, Pb5, Pb2] stipulation: "#2" solution: | "1.Sf4-d5 ! threat: 2.Sd5-f6 # 1...Ba2*d5 2.Rh3-h4 # 1...Sc2-d4 2.Sb7-c5 # 1...Qa3-c3 2.Sd5*c3 # 1...Rb4-d4 2.Qb6*e6 # 1...Ke4*d5 2.Sb7-a5 # 1...e6-e5 2.Sb7-d6 # 1...e6*d5 2.Rh3-h4 #" keywords: - Flight giving key - B2 --- authors: - Mansfield, Comins source: Magasinet date: 1956 distinction: 2nd HM, 1956/II algebraic: white: [Kd8, Qg3, Ra5, Bc8, Sd5, Sb6, Ph3, Pc2] black: [Ke4, Bg8, Bf6, Sg2, Sd2, Pg6, Pe7, Pd4] stipulation: "#2" solution: | "1.Sb6-d7 ! threat: 2.Qg3-d3 # 1...Sd2-f3 2.Qg3*g6 # 1...Sg2-f4 2.Qg3*f4 # 1...Sg2-e3 2.Qg3-f4 # 1...Ke4-f5 2.Qg3-g4 # 1...e7-e5 + 2.Sd7*f6 # 1...e7-e6 + 2.Sd5*f6 # 1...Bg8*d5 2.Sd7-c5 # 1...Sg2-e1 2.Qg3-f4 # 2.Qg3-g4 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Le Roi Blanc Peugeot TT date: 1962 algebraic: white: [Kg4, Qf6, Rf7, Ra4, Bc6, Bb4, Sf5, Sc2, Pe2, Pd5] black: [Ke4, Qa2, Re8, Rd1, Bf8, Bc8, Se1, Pe3, Pd6] stipulation: "#2" solution: | "1.Kg4-h5 ! threat: 2.Sf5-g3 # 1...Rd1*d5 2.Qf6-d4 # 1...Qa2*d5 2.Bb4-d2 # 1...Re8-e5 2.Qf6-h4 # 1...Ke4-f4 2.Bb4*d6 # 1...Bc8*f5 2.Qf6*f5 #" keywords: - Flight giving key - Monreal theme - Battery play --- authors: - Mansfield, Comins source: Christian Science Monitor date: 1946 distinction: 2nd HM algebraic: white: [Kg7, Qd7, Sf2, Sd2, Pe2] black: [Ke5, Rf3, Rd3, Bc7, Sg8, Pg5, Pf5, Pf4, Pe7, Pd5, Pd4] stipulation: "#2" solution: | "1.e2-e4 ! threat: 2.Qd7*d5 # 1...d4*e3 ep. 2.Sd2*f3 # 1...f4*e3 ep. 2.Sf2*d3 # 1...d5*e4 2.Sd2-c4 # 1...f5*e4 2.Sf2-g4 # 1...Bc7-d6 2.Qd7*f5 # 1...e7-e6 2.Qd7*c7 # 1...Sg8-f6 2.Qd7*e7 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: Odessa Regional Chess Club date: 1967 distinction: 2nd HM, 1967-1968 algebraic: white: [Kb7, Qd1, Rd8, Rc4, Bd7, Sg5, Se4, Pf2] black: [Kd3, Bh3, Sg6, Pe7, Pd5, Pd2, Pb4] stipulation: "#2" solution: | "1.Sg5-f3 ? threat: 2.Rc4-d4 # 1...Kd3*c4 2.Qd1-c2 # 1...d5*e4 2.Bd7-e6 # 1...d5*c4 2.Bd7-f5 # but 1...e7-e5 ! 1.Sg5-e6 ! threat: 2.Rc4-d4 # 1...Kd3*c4 2.Qd1-c2 # 1...Bh3*e6 2.Qd1-f1 # 1...d5*e4 2.Bd7-b5 # 1...d5*c4 2.Bd7-c6 #" keywords: - Active sacrifice - Changed mates --- authors: - Mansfield, Comins source: Europe Échecs date: 1969 distinction: 2nd Comm. algebraic: white: [Kf5, Rg6, Bh7, Bc1, Se3, Pd4, Pc3, Pb7, Pb2] black: [Kd3, Ra7, Be1, Ba8, Sb6, Ph5, Pg3, Pe2, Pa6] stipulation: "#2" solution: | "1.Rg6-g7 ? threat: 2.Kf5-e6 # 2.Kf5-f4 # 2.Kf5-e5 # 2.Kf5-f6 # 2.Kf5-g5 # 1...Be1*c3 2.Kf5-e5 # 1...Be1-d2 2.Kf5-f4 # but 1...Ba8*b7 ! 1.Kf5-e6 ? threat: 2.Rg6*g3 # 2.Rg6-g4 # 2.Rg6-g5 # 2.Rg6-f6 # 2.Rg6-g8 # 2.Rg6-g7 # 2.Rg6-h6 # 1...Be1*c3 2.Rg6-g4 # 1...Be1-d2 2.Rg6*g3 # but 1...Ba8*b7 ! 1.Kf5-g5 ! threat: 2.Rg6*b6 # 2.Rg6-c6 # 2.Rg6-d6 # 2.Rg6-e6 # 2.Rg6-f6 # 2.Rg6-g8 # 2.Rg6-g7 # 2.Rg6-h6 # 1...Be1*c3 2.Rg6-d6 # 1...Be1-d2 2.Rg6-e6 #" keywords: - Latvian Novotny - Flight giving key --- authors: - Mansfield, Comins source: Шахматы в СССР source-id: 5/40 date: 1970 distinction: 2nd HM algebraic: white: [Kc7, Qh6, Rf5, Rc6, Bb1, Sd1, Pf3, Pe6, Pe5, Pe2, Pc2, Pa3] black: [Kd5, Qd3, Pd4, Pa4] stipulation: "#2" solution: | "1.Qh6-d2 ! zugzwang. 1...Qd3*c2 2.Sd1-e3 # 1...Qd3*e2 2.Sd1-c3 # 1...Qd3*f5 2.Qd2-a5 # 1...Qd3*d2 2.Bb1-a2 # 1...Qd3-b3 2.e2-e4 # 1...Qd3*f3 2.c2-c4 # 1...Qd3-e4 2.Qd2-a5 # 2.c2-c4 # 2.Sd1-c3 # 2.Bb1-a2 # 1...Qd3*a3 2.e2-e4 # 2.c2-c4 # 1...Qd3-a6 2.e2-e4 # 2.Sd1-e3 # 2.Sd1-c3 # 1...Qd3-b5 2.e2-e4 # 2.Sd1-e3 # 2.Sd1-c3 # 1...Qd3-c4 2.e2-e4 # 2.Sd1-e3 # 1...Qd3-c3 2.e2-e4 # 2.Sd1*c3 # 1...Qd3-e3 2.Qd2-a5 # 2.c2-c4 # 2.Sd1*e3 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: Schach-Echo date: 1973 distinction: 2nd HM, II algebraic: white: [Kf7, Qe1, Rb3, Ra4, Bc7, Ba2, Sh7, Pf4, Pd6, Pb2] black: [Kd5, Rc4, Pg4, Pf6, Pf5, Pd7, Pa3] stipulation: "#2" solution: | "1.Qe1-c1 ! threat: 2.Qc1*c4 # 1...Rc4*c1 2.Rb3-c3 # 1...Rc4-c3 2.Rb3*c3 # 1...Rc4*a4 2.Rb3-b4 # 1...Rc4-b4 2.Rb3*b4 # 1...Rc4-d4 2.Sh7*f6 # 1...Rc4*c7 2.Rb3-d3 # 1...Rc4-c5 2.Qc1-h1 # 1...Rc4*f4 2.Rb3-b5 # 1...Rc4-c6 2.Sh7*f6 # 2.Rb3-b5 # 2.Rb3-d3 # 1...Rc4-e4 2.Sh7*f6 # 2.Rb3-b5 # 2.Rb3-d3 #" keywords: - Black correction - Flight giving key - Levman - Rudenko --- authors: - Mansfield, Comins source: Mongolia TT date: 1978 distinction: 2nd HM algebraic: white: [Kh6, Qb4, Rf5, Rb6, Ba2, Sf3, Sb7, Pg4, Pd6] black: [Ke6, Qd5, Rc1, Ra8, Sh7, Sc4, Ph4, Pd7, Pd4] stipulation: "#2" solution: | "1...Ra7/Ra6/Ra5/Ra4/Ra3/Rxa2/Rd8 2.Nd8# 1...Ng5/Nf6/Nf8 2.Nxg5# 1...Nd2/Nb2/Na3/Na5 2.Nxd4#[A]/Bxd5# 1...Nxd6/Qxd6 2.Qxd6# 1...Ne3/Ne5/Nxb6/Qb5/Qa5/Qc6/Qxb7 2.Nxd4#[A] 1...Qc5/Qe4/Qxf3 2.Nxc5#[B] 1.Qxc4?? (2.Qe2#/Qxd5#/Nxd4#[A]/Nc5#[B]) 1...Rc2/Rc3/Re1 2.Nc5#[B]/Nxd4#[A]/Qxd5# 1...Rd1 2.Nc5#[B]/Qe2#/Qxd5# 1...Ra5 2.Nxd4#[A]/Nd8#/Qe2# 1...Ra3/Rxa2 2.Nxd4#[A]/Nc5#[B]/Nd8#/Qxd5# 1...Rc8 2.Nxd4#[A]/Qe2#/Qxd5# 1...Ng5 2.Nxg5#/Nxd4#[A]/Nc5#[B]/Qxd5# 1...Nf6 2.Ng5# 1...d3 2.Nd4#[A]/Qe4#/Qxd5#/Nc5#[B] 1...Qxc4 2.Nc5#[B]/Nxd4#[A] but 1...Rxc4! 1.Qe1+?? 1...Ne3 2.Nxd4#[A]/Bxd5# 1...Ne5 2.Nxd4#[A]/Qxe5# 1...Qe5 2.Qxe5# 1...Qe4 2.Nxd4#[A]/Nc5#[B]/Qxe4# but 1...Rxe1! 1.Qc5? (2.Qxd5#) 1...Ra5 2.Nd8# 1...Nf6 2.Ng5# 1...Nxd6 2.Qxd6# 1...Ne3/Nxb6 2.Nxd4#[A] 1...Qxd6 2.Qe5#/Qxd6# 1...Qxc5 2.Nxc5#[B] 1...Qe5/Qxf3 2.Qxe5# 1...Qxf5 2.Qxf5# 1...Qc6/Qxb7 2.Qe5#/Nxd4#[A] but 1...Qe4! 1.Qa5? (2.Qxd5#) 1...Rxa5 2.Nd8# 1...Nf6 2.Ng5# 1...Ne3/Nxb6/Qb5/Qxa5 2.Nxd4#[A] 1...Nxa5 2.Nxd4#[A]/Bxd5# 1...Qxd6/Qe5 2.Qe5# 1...Qc5/Qe4 2.Nxc5#[B] 1...Qxf5 2.Qxf5# 1...Qxf3 2.Nc5#[B]/Qe5# 1...Qc6/Qxb7 2.Qe5#/Nxd4#[A] but 1...Nxd6! 1.Qb5! (2.Qxd5#) 1...Ra5 2.Nd8# 1...Nf6 2.Ng5# 1...Nxd6 2.Qe2# 1...Ne3/Qxb5 2.Nxd4#[A] 1...Nxb6 2.Nxd4#[A]/Qe2# 1...Qxd6/Qe5 2.Qe5# 1...Qc5/Qe4 2.Nxc5#[B] 1...Qxf5 2.Qxf5# 1...Qxf3 2.Nc5#[B]/Qe5# 1...Qc6/Qxb7 2.Qe5#/Nxd4#[A]" keywords: - Active sacrifice - Black correction - Transferred mates --- authors: - Mansfield, Comins source: Due Alfieri date: 1978 distinction: 2nd HM, 1978-1979 algebraic: white: [Kh4, Qc8, Rf3, Re1, Be3, Bb7, Sf4, Sb3] black: [Ke4, Ra4, Ba7, Ph5, Pf7, Pd5] stipulation: "#2" solution: | "1.Sf4*d5 ! threat: 2.Qc8-f5 # 1...Ke4-d3 + 2.Be3-d4 # 1...Ke4*f3 + 2.Sd5-b4 # 1...Ke4-e5 + 2.Be3-f4 #" keywords: - King Y-flight - Flight giving key --- authors: - Mansfield, Comins source: L'Italia Scacchistica date: 1979 distinction: 2nd HM algebraic: white: [Ka8, Qc7, Ba4, Sh6, Sg5, Ph4, Pg7, Pd7] black: [Ke7, Re8, Ra6, Bh7, Sd8, Pg6, Pc6, Pa7] stipulation: "#2" solution: | "1...Kf6/c5 2.dxe8N# 1...Ne6+/Nf7+/Nb7+ 2.d8Q#/d8B# 1.Nhf7?? (2.Qd6#) 1...c5 2.dxe8N# 1...Ne6+/Nxf7+/Nb7+ 2.d8Q#/d8B# but 1...Kf6! 1.dxe8Q+?? 1...Kf6 2.Nxh7#/Ne4#/Qce7#/Qce5#/Qee7#/Qee5#/Qexd8# but 1...Kxe8! 1.dxe8R+?? 1...Kf6 2.Nxh7#/Ne4#/Qe7#/Qe5# but 1...Kxe8! 1.Ne4! (2.Qd6#) 1...c5 2.dxe8Q#/dxe8R# 1...Ne6+ 2.d8Q#/d8B# 1...Nf7+/Nb7+ 2.d8N#" keywords: - Flight giving and taking key --- authors: - Mansfield, Comins source: Quickie KeyStip 01. Ty. date: 1979 distinction: 2nd HM, 1979-1980 algebraic: white: [Kc3, Qa3, Rc2, Bg2, Bf4, Sf6, Pd3, Pb3, Pa4] black: [Kc6, Rf3, Be3, Ba2, Se8, Pg4, Pg3, Pb7, Pb6, Pa6] stipulation: "#2" solution: | "1.d3-d4 ! threat: 2.d4-d5 # 2.Kc3-b2 # 2.Kc3-b4 # 2.Kc3-d3 # 1...Ba2*b3 2.Kc3*b3 # 1...Be3-d2 + 2.Kc3*d2 # 1...Be3*d4 + 2.Kc3*d4 # 1...b6-b5 2.Qa3-c5 # 1...Se8-d6 2.Qa3*d6 # 1...Se8*f6 2.Qa3-d6 #" keywords: - Active sacrifice --- authors: - Mansfield, Comins source: Československý šach source-id: 87 date: 1963 distinction: 5th HM algebraic: white: [Kf2, Qd4, Rd3, Ra4, Bb1, Sf3, Pg5, Pe5] black: [Kf5, Bf6, Sf8, Sc4, Ph5, Ph3, Pg7, Pb5, Pb2, Pa5] stipulation: "#2" solution: | "1.Qd4-b6 ! threat: 2.Rd3-d4 # 1...Sc4-a3 2.Rd3*a3 # 1...Sc4-d2 2.Rd3*d2 # 1...Sc4-e3 2.Rd3*e3 # 1...Sc4*e5 2.Rd3-d5 # 1...Sc4-d6 2.Rd3*d6 # 1...Sc4*b6 2.Rd3-d6 # 1...Kf5-g6 2.Rd3-d7 #" keywords: - Active sacrifice - 2 flights giving key - Flight giving and taking key --- authors: - Mansfield, Comins source: Probleemblad date: 1966 distinction: 5th HM algebraic: white: [Kf1, Qc7, Re1, Rb3, Ba2, Sd5, Sa4, Pg5, Pf4, Pe4, Pd6, Pb2, Pa3] black: [Ke6, Rd8, Rc4, Sc6, Pg7, Pg6] stipulation: "#2" solution: | "1.Sd5-b6 ? {display-departure-square} zugzwang. 1...Rc4*a4 2.Rb3-b4 # 1...Rc4*e4 2.Rb3-b5 # 1...Rc4-c1 2.Rb3-c3 # 1...Rc4-c2 2.Rb3-c3 # 1...Rc4-c3 2.Rb3*c3 # but 1...Rd8*d6 ! 1.Rb3-b7 ! zugzwang. 1...Rc4-c1 2.Sd5-c3 # 1...Rc4-c2 2.Sd5-c3 # 1...Rc4-c3 2.Sd5*c3 # 1...Rc4*a4 2.Sd5-b4 # 1...Rc4-c5 2.Sa4*c5 # 1...Rc4*e4 2.Sd5-e7 # 1...Rc4-d4 2.Sa4-c5 # 1...Sc6-a5 {(S~ )} 2.Qc7-e7 # 1...Rd8*d6 2.Qc7-f7 # 1...Rd8-d7 {(Rd~ )} 2.Qc7*d7 # 1...Rc4-b4 2.Sd5*b4 # 2.Sa4-c5 #" keywords: - Black correction - Changed mates --- authors: - Mansfield, Comins source: British Chess Federation 57th Tourney date: 1947 distinction: 5th HM, 1947-1948 algebraic: white: [Kh3, Qd6, Re6, Rb3, Bg8, Ba5, Sc5, Sb7, Pc2, Pa4] black: [Kc4, Rh5, Ra3, Bc8, Sb2, Sa2, Ph4, Pe5] stipulation: "#2" solution: | "1...Ra3*b3 + 2.c2*b3 # 1...Bc8*e6 + 2.Bg8*e6 # 1.Qd6-c6 ! threat: 2.Qc6-e4 # 1...Ra3*b3 + 2.Sc5*b3 # 1...Bc8*e6 + 2.Sc5*e6 # 1...Sa2-c3 2.Rb3-b4 # 1...Bc8*b7 2.Re6-d6 #" keywords: - Flight giving key - Changed mates --- authors: - Mansfield, Comins source: Schach-Echo date: 1974 distinction: 5th HM algebraic: white: [Kc5, Qf6, Ra4, Bb7, Se5, Sd5, Pe7, Pe2, Pd6] black: [Ke4, Qf5, Rc2, Bg6, Pg5, Pg4, Pf4, Pd7, Pc4, Pb2] stipulation: "#2" solution: | "1...Rc2*e2 2.Ra4*c4 # 1.Se5*c4 ! threat: 2.Qf6-d4 # 1...Rc2*e2 2.Sc4-e5 # 1...Rc2*c4 + 2.Ra4*c4 # 1...Rc2-d2 2.Sc4*d2 # 1...Qf5-e6 2.Sd5-c3 # 1...Qf5*d5 + 2.Bb7*d5 # 1...Qf5-e5 2.Qf6*e5 # 1...Qf5*f6 2.Sd5-e3 #" keywords: - Black correction - Switchback --- authors: - Mansfield, Comins source: Schach-Echo date: 1973 distinction: 2nd Comm., II algebraic: white: [Kg2, Qd3, Rh4, Rb8, Bg4, Be7, Sb7, Pd2, Pc5, Pa6] black: [Kb4, Qb2, Rh5, Be8, Ba3, Pe5, Pc6, Pc2, Pa4] stipulation: "#2" solution: | "1.Be7-d8 ? threat: 2.Bd8-a5 # but 1...Qb2-c3 ! 1.Qd3-d8 ! threat: 2.Sb7-a5 # 1...Kb4-b3 2.Bg4-e6 # 1...Kb4-b5 2.Bg4-e2 #" keywords: - 3+ flights giving key --- authors: - Mansfield, Comins source: British Chess Federation 137th Tourney date: 1974 distinction: 2nd Comm., 1974-1975 algebraic: white: [Kg6, Re4, Bf8, Bd3, Se5, Sd4, Pc5, Pa5] black: [Kd5, Qa1, Pg4, Pe6, Pb2, Pa7] stipulation: "#2" solution: | "1.Se5-d7 ? threat: 2.Sd7-f6 # but 1...Qa1-f1 ! 1.Sd4-e2 ? threat: 2.Se2-f4 # 2.Se2-c3 # but 1...Qa1-c1 ! 1.Sd4-b5 ? threat: 2.Sb5-c3 # 2.Sb5-c7 # but 1...Qa1*a5 ! 1.Se5*g4 ? threat: 2.Sg4-e3 # 2.Sg4-f6 # but 1...Qa1-g1 ! 1.Se5-c6 ? threat: 2.Sc6-b4 # 2.Re4-e5 # but 1...Qa1-e1 ! 1.Sd4*e6 ! threat: 2.Se6-f4 # 2.Se6-c7 # 1...Kd5*e6 2.Bd3-c4 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Il Problema date: 1932 distinction: 6th Prize, II algebraic: white: [Kf8, Qf1, Rh4, Rc1, Be7, Bd7, Sf5, Sc3, Pb5, Pa3, Pa2] black: [Kc4, Qf4, Bg8, Bg3, Sa4, Pe5, Pd3] stipulation: "#2" solution: | "1.Qf1-g2 ? threat: 2.Sc3*a4 # but 1...e5-e4 ! 1.Qf1-d1 ? threat: 2.Qd1*a4 # 2.Qd1-b3 # but 1...Sa4-c5 ! 1.Qf1-g1 ! zugzwang. 1...d3-d2 2.Qg1-f1 # 1...Bg3-e1 {(B3~ )} 2.Qg1*g8 # 1...Sa4-b2 {(S~ )} 2.Qg1-c5 # 1...Qf4-d4 2.Sf5-e3 # 1...Qf4*h4 2.Sf5-d6 # 1...Qf4-g4 2.Sf5-d6 # 1...e5-e4 2.Qg1-d4 # 1...Bg8-d5 2.Sc3*a4 # 1...Bg8-e6 2.Bd7*e6 # 1...Bg8-f7 2.Sf5-d6 # 1...Bg8-h7 2.Bd7-e6 # 1...Qf4-e4 2.Sf5-d6 # 2.Rh4*e4 #" keywords: - Black correction - Switchback --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1952 distinction: 1st Comm. algebraic: white: [Ka7, Qb8, Rh5, Re6, Bf1, Sd1, Sc6, Pd4] black: [Kc4, Bg3, Sf5, Sd3, Ph4, Pg7, Pc7, Pa6, Pa4, Pa3] stipulation: "#2" solution: | "1.Qb8-g8 ! threat: 2.Re6-e5 # 1...Kc4-b3 2.Re6-e2 # 1...Kc4-d5 2.Sd1-e3 # 1...Kc4-b5 2.Bf1*d3 # 1...Sf5*d4 2.Re6-e4 # 1...Sf5-e3 2.Re6*e3 # 1...Sf5-h6 2.Re6*h6 # 1...Sf5-e7 2.Re6*e7 # 1...Sf5-d6 2.Re6*d6 #" keywords: - 2 flights giving key --- authors: - Mansfield, Comins source: Probleemblad date: 1960 distinction: 1st Comm. algebraic: white: [Kf7, Qh4, Rb5, Bh6, Sd7, Sd3] black: [Kf5, Rf3, Rd2, Ba2, Pg7, Pf2, Pd5] stipulation: "#2" solution: | "1.Sd3-e5 ? {display-departure-square} threat: 2.Qh4-g4 # 1...d5-d4 + 2.Se5-c4 # but 1...Rd2-d4 ! 1.Sd7-e5 ? {display-departure-square} threat: 2.Qh4-g4 # 1...d5-d4 + 2.Se5-c4 # but 1...Rd2*d3 ! 1.Sd3-c5 ? {display-departure-square} threat: 2.Qh4-g5 # 1...d5-d4 + 2.Sc5-b3 # but 1...g7*h6 ! 1.Sd7-c5 ! {display-departure-square} threat: 2.Qh4-g5 # 1...d5-d4 + 2.Sc5-b3 # 1...Rf3-g3 2.Qh4-f4 # 1...g7*h6 2.Qh4-h5 #" --- authors: - Mansfield, Comins source: The Problemist source-id: 4560 date: 1963 distinction: 1st Comm. algebraic: white: [Kd8, Qb6, Rf3, Rd5, Bg2, Pe5, Pc7] black: [Ka8, Qa3, Rc4, Rb4, Bd4, Ba4, Sg8, Sb3, Pc3] stipulation: "#2" solution: | "1.Rf3-f8 ! threat: 2.Rd5-a5 # 1...Sb3-c5 2.c7-c8=Q # 1...Ba4-c6 2.c7-c8=Q # 1...Ba4-b5 2.Qb6-b8 # 1...Rb4-b5 2.Rd5-c5 # 1...Rc4-c6 2.Kd8-d7 # 1...Rc4-c5 2.Qb6-a6 # 1...Bd4-c5 2.c7-c8=Q #" keywords: - Grimshaw --- authors: - Mansfield, Comins source: Themes 64 source-id: 1624 date: 1967 distinction: 1st Comm. algebraic: white: [Kg8, Qh1, Rf3, Rd5, Bc6, Bb6, Sb4, Pe5] black: [Ke4, Rd1, Rc3, Bb5, Sf2, Pg4, Pe3, Pe2, Pd4, Pc2] stipulation: "#2" solution: | "1.Sb4-d3 ! threat: 2.Rd5*d4 # 1...Rd1*d3 2.Rf3*f2 # 1...Sf2*d3 2.Rf3-f1 # 1...Rc3-c5 2.Sd3*c5 # 1...Rc3*d3 2.Rd5*b5 # 1...g4*f3 2.Qh1-h7 # 1...Bb5*d3 2.Rd5-c5 # 1...Bb5-c4 2.Sd3-c5 #" keywords: - Active sacrifice - Defences on same square - Flight giving key --- authors: - Mansfield, Comins source: Skakbladet date: 1969 distinction: 1st Comm. algebraic: white: [Ka4, Qg8, Rf8, Rb4, Bd4, Bb7, Sh7, Sg6, Pf5, Pf2] black: [Kg4, Bh3, Sh8, Se4, Ph5, Ph4, Pg2] stipulation: "#2" solution: | "1.Qg8-e6 ! threat: 2.Qe6*e4 # 1...Se4-c3 + 2.Bd4*c3 # 1...Se4-d2 2.f5-f6 # 1...Se4*f2 2.Bd4*f2 # 1...Se4-g3 2.f2-f3 # 1...Se4-g5 2.Sh7-f6 # 1...Se4-f6 2.Bd4*f6 # 1...Se4-d6 2.Qe6-e2 # 1...Se4-c5 + 2.Bd4*c5 # 1...Sh8*g6 2.f5*g6 #" keywords: - Mates on same square - Black correction --- authors: - Mansfield, Comins source: Het Belgisch Schaakbord (L'Echiquier Belge) date: 1969 distinction: 1st Comm. algebraic: white: [Kf7, Qg1, Rb5, Bg8, Ba7, Pf2, Pe2, Pd4, Pd2, Pa4] black: [Kc4, Re6, Sa2, Sa1, Pb3] stipulation: "#2" solution: | "1.Qg1-g4 ! threat: 2.Qg4*e6 # 1...Sa2-c3 2.d2-d3 # 1...Sa2-b4 2.Rb5-c5 # 1...Re6*e2 2.Qg4*e2 # 1...Re6-e3 2.Qg4-c8 # 1...Re6-e4 2.Qg4-c8 # 1...Re6-e5 2.d4*e5 # 1...Re6-a6 2.d4-d5 # 1...Re6-b6 2.d4-d5 # 1...Re6-c6 2.d4-d5 # 1...Re6-d6 2.d4-d5 # 1...Re6-e8 2.Kf7*e8 # 1...Re6-e7 + 2.Kf7*e7 # 1...Re6-h6 2.d4-d5 # 1...Re6-g6 2.Kf7*g6 # 1...Re6-f6 + 2.Kf7*f6 #" keywords: - Black correction - Changed mates --- authors: - Mansfield, Comins source: Antonio Bottacchi M.T., Sinfonie Scacchistiche date: 1973 distinction: 1st Comm. algebraic: white: [Kd6, Qa6, Re8, Rd5, Bc2, Sh5, Sf5, Pg2, Pf4, Pb4] black: [Ke4, Qd3, Rg3, Bb1, Sd2, Pg5, Pf7, Pe6] stipulation: "#2" solution: | "1.Kd6-e7 ! threat: 2.Rd5-e5 # 1...Sd2-f3 2.Qa6*d3 # 1...Sd2-c4 2.Qa6*c4 # 1...Rg3*g2 2.Qa6*d3 # 1...Ke4*d5 2.Sh5-f6 # 1...g5*f4 2.Sh5-f6 # 1...e6*f5 2.Ke7-d6 # 1...e6*d5 2.Ke7-f6 # 1...f7-f6 2.Qa6*e6 #" keywords: - Flight giving key - Switchback --- authors: - Mansfield, Comins source: Scacco! date: 1975 distinction: 1st Comm. algebraic: white: [Ke8, Qb7, Rf3, Rd2, Bh7, Be3, Sg6, Sc6, Pg3, Pg2, Pe5, Pc5] black: [Ke4, Rf5, Rd5, Bb2, Sh3] stipulation: "#2" solution: | "1...Rd4/Rd3 2.Nxd4#[A] 1...Rd8+ 2.Nxd8# 1...Rdxe5+ 2.Ncxe5# 1...Bd4 2.Qb1# 1...Rf4 2.Nxf4#[B] 1...Rf8+ 2.Nxf8# 1...Rfxe5+ 2.Ngxe5# 1.Qb4+?? 1...Bd4 2.Qb1# but 1...Rd4! 1.Bg1? (2.Re3#/Re2#) 1...Rf4/Rxf3 2.Nxf4#[B] 1...Rf6/Rf7/Rg5/Rh5/Nf2 2.Re2# 1...Rf8+ 2.Nxf8# 1...Rfxe5+ 2.Ngxe5# 1...Rd4/Rd3/Rxd2 2.Nxd4#[A] 1...Rd6/Rd7/Rxc5/Bc1/Nf4 2.Re3# 1...Rd8+ 2.Nxd8# 1...Rdxe5+ 2.Ncxe5# 1...Bd4 2.Qb1# but 1...Nxg1! 1.Rd4+?? 1...Bxd4 2.Qb1# but 1...Rxd4! 1.Bf2! (2.Re2#/Re3#) 1...Rd4/Rd3/Rxd2 2.Nxd4#[A] 1...Rd6/Rd7/Rxc5/Bc1/Ng1/Nf4 2.Re3# 1...Rd8+ 2.Nxd8# 1...Rdxe5+ 2.Ncxe5# 1...Bd4 2.Qb1# 1...Rf4/Rxf3 2.Nxf4#[B] 1...Rf6/Rf7/Rg5/Rh5/Nxf2 2.Re2# 1...Rf8+ 2.Nxf8# 1...Rfxe5+ 2.Ngxe5#" keywords: - Transferred mates --- authors: - Mansfield, Comins source: Probleemblad date: 1963 distinction: 3rd Comm. algebraic: white: [Kh1, Qh3, Rd3, Rc2, Bh2, Bb1, Sf5, Pf2] black: [Ke4, Rd2, Rc3, Se1, Sc8, Pc6] stipulation: "#2" solution: | "1.Bb1-a2 ! zugzwang. 1...Se1-g2 {(Se~ )} 2.Qh3-f3 # 1...Se1*d3 2.f2-f3 # 1...Rd2-d1 2.Rc2-e2 # 1...Rd2*c2 {(Rd~ )} 2.Rd3-d4 # 1...Rd2*d3 2.Qh3-g4 # 1...Rc3*c2 2.Rd3-e3 # 1...Rc3-a3 {(Rc~ )} 2.Rc2-c4 # 1...Rc3-c5 2.Rd3-e3 # 1...Rc3*d3 2.Qh3-g4 # 1...c6-c5 2.Ba2-d5 # 1...Sc8-a7 {(Sc~ )} 2.Sf5-d6 # 1...Rd2-e2 2.Rd3-d4 # 2.Rc2*e2 #" keywords: - Defences on same square - Black correction --- authors: - Mansfield, Comins source: Sinfonie Scacchistiche source-id: 4/73 date: 1967-04 distinction: 3rd Comm. algebraic: white: [Ka1, Qd5, Rg6, Rf1, Bh7, Bf2, Sc6, Ph3, Pd4] black: [Kf5, Rh5, Re8, Bf4, Ph4, Pe5, Pc5, Pa7] stipulation: "#2" solution: | "1.d4*e5 ! threat: 2.Qd5-d3 # 1...Bf4-c1 2.Bf2-e3 # 1...Bf4-d2 2.Bf2-e3 # 1...Bf4-e3 2.Bf2*e3 # 1...Bf4-h2 2.Bf2-g3 # 1...Bf4-g3 2.Bf2*g3 # 1...Bf4-h6 2.Rg6-g4 # 1...Bf4-g5 2.Rg6-f6 # 1...Bf4*e5 + 2.Bf2-d4 # 1...c5-c4 2.Sc6-d4 # 1...Re8*e5 2.Sc6-e7 # 1...Re8-d8 2.Sc6-e7 #" keywords: - Black correction - Transferred mates --- authors: - Mansfield, Comins - Macleod, Norman Alasdair source: Neue Zürcher Zeitung date: 1982 distinction: 3rd Comm., 1982-1983 algebraic: white: [Kb6, Qg7, Re8, Rd1, Bg6, Se6, Pg5] black: [Ke5, Qf6, Bh8, Sa6, Pf4, Pd7, Pc5] stipulation: "#2" solution: | "1.Qg7-f8 ! threat: 2.Qf8-d6 # 1...Qf6*g5 2.Se6*g5 # 1...Qf6-d8 + 2.Se6*d8 # 1...Qf6-e7 2.Qf8-f5 # 1...Qf6-f5 2.Qf8*f5 # 1...Qf6*f8 2.Se6*f8 # 1...Qf6*g6 2.Qf8*f4 # 1...d7-d5 2.Rd1-e1 #" --- authors: - Mansfield, Comins source: BCPS Ring Ty. date: 1964 distinction: 6th HM algebraic: white: [Kg3, Qe1, Re8, Rd8, Bb2, Bb1, Sd7, Sc2, Pg4, Pf4, Pe4, Pa2] black: [Kd3, Rc5, Ra3, Be2, Ba7, Pc6] stipulation: "#2" solution: | "1.Kg3-f2 ! threat: 2.Qe1*e2 # 1...Be2-d1 {(Be~ )} 2.Sd7-e5 # 1...Kd3-c4 2.Sc2*a3 # 1...Rc5*c2 + 2.Sd7-b6 # 1...Rc5-c3 + 2.Sd7-b6 # 1...Rc5-c4 + 2.Sd7-c5 # 1...Rc5-a5 + {(Rc~ )} 2.Sc2-e3 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Шахматы в СССР source-id: 9/68 date: 1972 distinction: 6th HM algebraic: white: [Kh5, Qc4, Rf3, Rb5, Bh1, Bb8, Sd6, Sc5, Pd7] black: [Kc6, Rh7, Bh4, Ba8, Se4, Ph6, Pd4, Pd2, Pa6] stipulation: "#2" solution: | "1...Se4*d6 2.Rf3-f6 # 1...Se4*c5 2.Rf3-f7 # 1...Rh7*d7 2.Sc5*e4 # 1.Qc4-e6 ! threat: 2.Qe6*e4 # 1...Se4*d6 2.Rf3-b3 # 1...Se4*c5 2.Rf3-c3 # 1...Se4-c3 2.Rf3*c3 # 1...Se4-f2 2.Rf3*f2 # 1...Se4-g3 + 2.Rf3*g3 # 1...Se4-g5 2.d7-d8=S # 1...Se4-f6 + 2.Rf3*f6 # 1...a6*b5 2.Sd6*e4 # 1...Rh7-e7 2.d7-d8=S #" keywords: - Battery play - Changed mates --- authors: - Mansfield, Comins source: «64» source-id: 52 date: 1972 distinction: 6th HM algebraic: white: [Kc6, Qe6, Rd8, Rd1, Bh6, Bb3, Pf2, Pb2] black: [Kd3, Qd4, Bh2, Sh4, Sd2, Pf6, Pf4, Pc5, Pb4] stipulation: "#2" solution: | "1...Qd4*d8 2.Qe6-c4 # 1...Qd4-d7 + 2.Rd8*d7 # 1...Qd4-d6 + 2.Rd8*d6 # 1...Qd4-d5 + 2.Rd8*d5 # 1.Rd8-e8 ! threat: 2.Qe6-e2 # 1...Qd4*b2 2.Qe6-c4 # 1...Qd4-c3 2.Qe6-e4 # 1...Qd4-e3 2.Qe6-c4 # 1...Qd4-e5 2.Qe6-c4 # 1...Qd4-c4 2.Qe6*c4 # 1...Qd4-d7 + 2.Qe6*d7 # 1...Qd4-d6 + 2.Qe6*d6 # 1...Qd4-d5 + 2.Qe6*d5 # 1...Qd4-e4 + 2.Qe6*e4 # 1...f4-f3 2.Rd1*d2 # 1...Qd4*f2 2.Qe6-c4 # 2.Qe6-e4 # 1...Qd4-d8 2.Re8*d8 # 2.Qe6-c4 # 2.Qe6-e4 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1922 distinction: 3rd Prize, ex aequo algebraic: white: [Ke1, Qd8, Rd6, Rb8, Be7, Sb3, Sb1, Pc2] black: [Kb4, Ba3, Sb7, Sb5, Pe3, Pe2, Pd5, Pb2, Pa4] stipulation: "#2" solution: | "1.Sb3-a5 ! zugzwang. 1...Kb4-c5 2.Rd6*d5 # 1...Sb5-c3 2.Rd6*d5 # 1...Sb5-d4 2.Rd6*d5 # 1...Sb5*d6 2.Qd8-b6 # 1...Sb5-c7 2.Rd6*d5 # 1...Sb5-a7 2.Rd6*d5 # 1...d5-d4 2.Rd6*d4 # 1...Sb7*a5 2.Rd6-c6 # 1...Sb7-c5 2.c2-c3 # 1...Sb7*d6 2.Be7*d6 # 1...Sb7*d8 2.Rd6-a6 #" keywords: - Black correction - Flight giving and taking key --- authors: - Mansfield, Comins source: BCPS Ring Ty. date: 1961 distinction: 1st HM, ex aequo algebraic: white: [Kb2, Qe6, Rg3, Ra4, Bc7, Sc6, Pf2, Pe7] black: [Ke4, Qb8, Ra8, Bg7, Pg2, Pe5, Pb4] stipulation: "#2" solution: | "1.Sc6*b4 ! threat: 2.Qe6-g4 # 1...Ke4-d4 2.Qe6-d5 # 1...Bg7-h6 2.Qe6*e5 # 1...Qb8*b4 + 2.Ra4*b4 # 1...Qb8-f8 2.Sb4-a6 # 1...Qb8-c8 2.Sb4-a6 #" keywords: - Active sacrifice - Flight giving key --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1937 distinction: 1st Comm., ex aequo, 1937/II algebraic: white: [Ke7, Qb3, Ra4, Bh3, Be5, Sf7, Se6, Pd2] black: [Ke4, Qb4, Bg5, Pf6, Pd6, Pa5] stipulation: "#2" solution: | "1.Bh3-g4 ! threat: 2.Qb3-f3 # 1...Bg5-e3 2.d2-d3 # 1...d6-d5 + 2.Se6-c5 # 1...d6*e5 + 2.Sf7-d6 # 1...f6-f5 + 2.Se6*g5 # 1...f6*e5 + 2.Sf7*g5 #" --- authors: - Mansfield, Comins source: Schach-Echo source-id: 10089 date: 1979 distinction: 1st Comm., ex aequo algebraic: white: [Kh5, Qh3, Rh4, Rf7, Bg8, Bg3, Se4, Sc6, Pg5, Pe2, Pb5] black: [Kd5, Qe8, Rh8, Sc8, Ph7, Pb6, Pb4] stipulation: "#2" solution: | "1...Qe8*c6 {(a)} 2.Rf7-d7 # {(A)} 1...Qe8*e4 {(b)} 2.Rf7-f5 # {(B)} 1.Bg3-f2 ! threat: 2.Qh3-b3 # 1...Qe8*c6 {(a)} 2.Rf7-f5 # {(B)} 1...Qe8*e4 {(b)} 2.Rf7-d7 # {(A)} 1...Kd5-c4 2.Qh3-d3 # 1...Sc8-d6 2.Se4-f6 # 1...Qe8*f7 + 2.Bg8*f7 #" keywords: - Reciprocal --- authors: - Mansfield, Comins source: Magyar Sakkélet source-id: 3577 date: 1960 distinction: 8th HM algebraic: white: [Kf8, Qd7, Rf3, Re8, Bg5, Bg2, Se5, Pe3, Pa7] black: [Ke4, Qf4, Rh1, Ph5, Pg6, Pg4, Pg3, Pf7, Pd5] stipulation: "#2" solution: | "1.Qd7*f7 ! threat: 2.Qf7*f4 # 1...Qf4*e3 2.Rf3-f4 # 1...Qf4*g5 2.Rf3*g3 # 1...Qf4*e5 2.Qf7*g6 # 1...Qf4*f7 + 2.Rf3*f7 # 1...Qf4-f6 2.Rf3*f6 # 1...Qf4-f5 2.Rf3*f5 # 1...d5-d4 2.a7-a8=Q #" keywords: - Active sacrifice - Black correction --- authors: - Mansfield, Comins source: FIDE Ty. date: 1962 distinction: 5th Comm., 1962-1963 algebraic: white: [Ke8, Qa6, Rf4, Rb7, Bg8, Se2, Sc3, Pe4, Pc2, Pb2, Pa3] black: [Kc4, Qa4, Bh5, Bf2, Sf1, Pf7, Pc5, Pb5] stipulation: "#2" solution: | "1.Rf4*f7 ? {display-departure-square} threat: 2.Qa6-e6 # 1...Bh5*e2 2.Rf7-d7 # 1...Bh5-g4 2.Rf7-f5 # but 1...Sf1-e3 ! 1.Rb7*f7 !{display-departure-square} threat: 2.Qa6-e6 # 1...Bh5*e2 2.Rf7-d7 # 1...Bh5-g4 2.Rf7-f5 # 1...Sf1-e3 2.e4-e5 # 1...Qa4*c2 2.Qa6*b5 # 1...Qa4*a3 2.Qa6*b5 # 1...Qa4*a6 2.b2-b3 # 1...Bh5*f7 + 2.Bg8*f7 #" keywords: - Active sacrifice - Changed mates --- authors: - Mansfield, Comins source: T.T. Dunaújvárosi Hirlap TT date: 1964 distinction: 5th Comm., 1964-1966 algebraic: white: [Kb5, Qa7, Rh4, Rd5, Bh3, Sf4, Se5, Pg3, Pf5, Pf2, Pd4, Pc4, Pa4] black: [Ke4, Rh6, Rg7, Pf3, Pb6] stipulation: "#2" solution: | "1.Qa7-b7 ? zugzwang. 1...Rh6*h4 {(Rh~ h)} 2.Rd5-d7 # 1...Rg7*g3 {(Rg~ g)} 2.Rd5-d6 # but 1...Rg7-g4 ! 1.Qa7-e7 ! zugzwang. 1...Rh6*h4 {(Rh~ h)} 2.Se5-f7 # 1...Rh6-c6 {(Rh~ 6)} 2.Sf4-g6 # 1...Rg7*g3 {(Rg~ g)} 2.Se5-g6 # 1...Rg7*e7 {(Rg~ 7)} 2.Sf4-h5 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: Probleemblad date: 1964 distinction: 5th Comm. algebraic: white: [Ka4, Qa8, Rg2, Rf3, Bh1, Bb6, Sd7, Pe5, Pc3] black: [Kc6, Rb7, Bd6, Bc8, Pe7, Pc4] stipulation: "#2" solution: | "1.Rg2-g8 ? zugzwang. 1...Kc6-d5 2.Rf3-f6 # 1...Kc6*d7 2.Qa8*c8 # 1...Bd6-a3 {(B~ )} 2.Rf3-d3 # 1...e7-e6 2.Rf3-f7 # but 1...Bc8*d7 ! 1.Rf3-f8 ! zugzwang. 1...Kc6-d5 2.Rg2-g6 # 1...Kc6*d7 2.Qa8*c8 # 1...Bd6-a3 {(B~ )} 2.Rg2-d2 # 1...e7-e6 2.Rg2-g7 # 1...Bc8*d7 2.Rg2-b2 #" keywords: - Changed mates --- authors: - Mansfield, Comins source: Echec et Mat date: 1948 distinction: 7th HM, 1948-1949 algebraic: white: [Kh3, Qa7, Rh6, Be8, Se6, Sb7, Pe4] black: [Kc6, Qd7, Rf2, Bg1, Sa8, Pg3, Pg2, Pe7, Pd4, Pc4, Pb4, Pa6] stipulation: "#2" solution: | "1.Sb7-d6 ! threat: 2.Qa7-c5 # 1...Rf2-f5 2.Se6-d8 # 1...Qd7*e8 2.Se6*d4 # 1...e7*d6 2.Be8*d7 # 1...Sa8-b6 2.Qa7-c7 #" keywords: - Flight giving and taking key --- authors: - Mansfield, Comins source: «64» source-id: 23/733 date: 1928-12-05 distinction: 5th Prize, ex aequo algebraic: white: [Kf5, Qh1, Re4, Bd7, Sd6, Sb3, Pf6, Pd2, Pc5] black: [Kd5, Qc2, Ra1, Sc1, Sa7, Pg4, Pb2] stipulation: "#2" solution: | "1.Kf5-g6 ! threat: 2.Qh1-h5 # 1...Sc1-d3 2.Re4-e1 # 1...Qc2*e4 + 2.Qh1*e4 # 1...Qc2*c5 2.Re4-e6 # 1...Qc2-c3 2.Re4-e3 # 1...Qc2*d2 2.Re4-e2 # 1...Sa7-c6 2.Bd7-e6 #" --- authors: - Mansfield, Comins source: The Sports Referee date: 1932 distinction: 5th Comm., (Highly), 1932/II algebraic: white: [Ka2, Qb6, Rd7, Bd6, Bc6, Sh7, Sb3, Pe4] black: [Ke6, Rg6, Rc7, Bd5, Sh5, Sg7, Pg3, Pa3] stipulation: "#2" solution: | "1.Qb6-b8 ! threat: 2.Qb8-g8 # 1...Bd5*b3 + 2.Qb8*b3 # 1...Bd5*e4 2.Sb3-d4 # 1...Bd5*c6 2.Sb3-c5 # 1...Sh5-f6 2.Sh7-f8 # 1...Rg6-f6 2.Sh7-g5 # 1...Rc7*c6 2.Rd7-e7 # 1...Rc7-c8 2.Rd7-e7 # 1...Rc7*d7 2.Bc6*d5 # 1...Sg7-f5 2.e4*d5 # 1...Sg7-e8 2.Qb8*e8 #" keywords: - Black correction - Rudenko --- authors: - Mansfield, Comins source: Brisbane Sports and Radio date: 1933 distinction: 6th Comm., (Highly), 1933/I algebraic: white: [Ka3, Qc2, Rh8, Ra8, Bh2, Bc6, Sd8, Sc8, Pe6, Pa4] black: [Kc7, Rg3, Sf1, Sc5, Pe7, Pc3, Pa6, Pa5] stipulation: "#2" solution: | "1.Qc2*c3 ! zugzwang. 1...Sf1*h2 2.Qc3*g3 # 1...Sc5*a4 2.Bc6*a4 # 1...Sc5-b3 2.Qc3-e5 # 1...Sc5-d3 2.Qc3*a5 # 1...Sc5-e4 2.Bc6*e4 # 1...Sc5*e6 2.Sd8*e6 # 1...Sc5-d7 2.Bc6*d7 # 1...Sc5-b7 2.Bc6*b7 # 1...Sf1-e3 2.Qc3-e5 # 2.Qc3*a5 # 2.Bh2*g3 # 1...Sf1-d2 2.Qc3*g3 # 2.Bh2*g3 #" keywords: - Black correction - Changed mates --- authors: - Mansfield, Comins source: Шахматна мисъл date: 1981 distinction: 6th Comm. algebraic: white: [Kh3, Qc6, Rb5, Rb3, Se1] black: [Kd4, Rd7, Rd2, Bc1, Sh4, Sa4, Pg7, Pe2] stipulation: "#2" solution: | "1.Qc6-e6 ! threat: 2.Qe6-g4 # 1...Rd2-d1 2.Se1-c2 # 1...Rd2-a2 2.Rb3-d3 # 1...Rd2-b2 2.Rb3-d3 # 1...Rd2-d3 + 2.Rb3*d3 # 1...Sa4-c3 2.Rb3-b4 # 1...Sa4-c5 2.Rb5-b4 # 1...Sh4-g2 2.Se1-f3 # 1...Sh4-g6 2.Se1-f3 # 1...Sh4-f5 2.Se1-f3 # 1...Rd7-d5 2.Qe6*d5 # 1...Rd7-f7 2.Qe6-d5 # 1...Rd7-e7 2.Qe6-d5 # 1...Rd2-c2 2.Rb3-d3 # 2.Se1*c2 #" --- authors: - Mansfield, Comins source: British Chess Federation 28th Tourney date: 1938 distinction: 7th Comm., 1938-1939 algebraic: white: [Ka2, Qg7, Rb2, Ra1, Bf6, Sg4, Sd3, Pc2] black: [Kd2, Qa5, Rg8, Rf8, Be4, Be1, Ph7, Pe2, Pc4, Pa4] stipulation: "#2" solution: | "1.Sd3-c5 ! threat: 2.Sc5*e4 # 1...Be4*c2 2.Qg7-d7 # 1...Be4-d3 2.c2*d3 # 1...Be4-h1 {(B~ )} 2.c2-c3 # 1...Be4-g6 2.Qg7-h6 # 1...Be4-f5 2.Bf6-g5 # 1...Qa5-a8 2.Bf6-c3 # 1...Qa5*c5 2.Bf6-c3 # 1...Rf8-e8 2.Bf6-g5 #" keywords: - Black correction --- authors: - Mansfield, Comins source: BCPS Ring Ty. date: 1961 distinction: 7th Comm. algebraic: white: [Kh6, Qg8, Rf5, Rd3, Be5, Pg3, Pf2, Pc3] black: [Ke4, Qh3, Rf3, Rc2, Ba2, Ph5, Pe2, Pd7, Pc4] stipulation: "#2" solution: | "1.Be5-h8 ! threat: 2.Qg8-d5 # 1...Rf3*d3 2.Rf5-f4 # 1...Rf3*f5 2.Rd3-e3 # 1...Qh3*f5 2.Rd3-d4 # 1...c4*d3 2.Rf5-e5 # 1...Ke4*f5 2.Qg8-g6 #" keywords: - Defences on same square --- authors: - Mansfield, Comins source: Probleemblad date: 1962 algebraic: white: [Kh6, Rf2, Rb6, Bf4, Be8, Sg8, Sg7, Ph7, Ph5, Pd5, Pc7, Pa7] black: [Kf8, Qc1, Rb2, Ra3, Pe6, Pe4, Pd7] stipulation: "#2" solution: | "1.Be8-g6 ! zugzwang. 1...Qc1*f4 + 2.Rf2*f4 # 1...Qc1-e3 2.c7-c8=Q # 1...Qc1-d2 2.c7-c8=Q # 1...Qc1*c7 2.Bf4-d6 # 1...Qc1-c6 2.Bf4-d6 # 1...Qc1-c5 2.Bf4-d6 # 1...Qc1-c4 2.Bf4-d6 # 1...Qc1-c3 2.Bf4-d6 # 1...Qc1-c2 2.Bf4-d6 # 1...Rb2-b1 2.Bf4-e3 # 1...Rb2-a2 2.Rb6-b8 # 1...Rb2*b6 2.Bf4-e3 # 1...Rb2-b5 2.Bf4-e3 # 1...Rb2-b4 2.Bf4-e3 # 1...Rb2-b3 2.Bf4-e3 # 1...Rb2*f2 2.Rb6-b8 # 1...Rb2-e2 2.Rb6-b8 # 1...Rb2-c2 2.Rb6-b8 # 1...Ra3-a1 2.Bf4-d2 # 1...Ra3-a2 2.Bf4-d2 # 1...Ra3*a7 2.Bf4-d2 # 1...Ra3-a6 2.Bf4-d2 # 1...Ra3-a5 2.Bf4-d2 # 1...Ra3-a4 2.Bf4-d2 # 1...Ra3-h3 2.a7-a8=Q # 1...Ra3-g3 2.a7-a8=Q # 1...Ra3-f3 2.a7-a8=Q # 1...Ra3-e3 2.a7-a8=Q # 2.Bf4-d6 # 1...Ra3-d3 2.a7-a8=Q # 1...Ra3-c3 2.a7-a8=Q # 1...Ra3-b3 2.a7-a8=Q # 1...e4-e3 2.Bf4-d6 # 1...e6-e5 2.Rb6-f6 # 1...e6*d5 2.Rb6-f6 # 1...d7-d6 2.Sg7*e6 # 1...Qc1-f1 2.c7-c8=Q # 2.Bf4-d6 # 1...Qc1-e1 2.c7-c8=Q # 2.Bf4-d6 # 1...Rb2-d2 2.Rb6-b8 # 2.Bf4-d6 # 1...Qc1-d1 2.c7-c8=Q # 2.Bf4-d6 # 1...Qc1-h1 2.c7-c8=Q # 2.Bf4-d6 # 1...Qc1-g1 2.c7-c8=Q # 2.Bf4-d6 # 1...Qc1-a1 2.c7-c8=Q # 2.Bf4-d6 # 1...Qc1-b1 2.c7-c8=Q # 2.Bf4-d6 #" keywords: - Black correction - Transferred mates --- authors: - Mansfield, Comins source: Schakend Nederland date: 1978 algebraic: white: [Ke5, Qf4, Rd7, Rc1, Be6, Bc5, Pg3, Pd2, Pb6, Pb4, Pa4] black: [Kc6, Rh1, Ra7, Bc8, Pf5, Pe4, Pd4, Pa6] stipulation: "#2" solution: | "1...e4-e3 2.Qf4-f3 # 1.Qf4-h6 ! zugzwang. 1...Rh1*c1 2.Be6*f5 # 1...Rh1-e1 {(Rh~1)} 2.Be6*f5 # 1...Rh1*h6 {(Rh~h)} 2.Bc5*d4 # 1...d4-d3 2.Bc5-g1 # 1...e4-e3 2.Qh6*h1 # 1...f5-f4 2.Be6-h3 # 1...a6-a5 2.b4-b5 # 1...Ra7-a8 {(Ra~)} 2.Rd7-c7 # 1...Ra7*d7 2.Be6-d5 # 1...Ra7-b7 2.Rd7-d6 # 1...Bc8*d7 2.Be6-d5 # 1...Bc8-b7 2.Rd7-d6 # 2.Rd7-c7 #" keywords: - Black correction - Rudenko - Reversal --- authors: - Mansfield, Comins source: Due Alfieri date: 1979 distinction: 3rd-4th HM algebraic: white: [Kb3, Rf5, Ra6, Bd8, Bc8, Sd6, Pg5, Pf4, Pe7, Pd7] black: [Ke6, Qb8, Bh8, Se8, Pb4] stipulation: "#2" solution: | "1...Be5/Nf6/Ng7 2.Rxe5# 1...Qb6 2.dxe8N# 1...Qxc8 2.dxc8Q#/dxc8B# 1...Qxd6 2.dxe8Q#/dxe8R#/dxe8B#/dxe8N# 1.Rb5?? (2.f5#) 1...Qb6 2.dxe8N# 1...Qxc8 2.dxc8Q#/dxc8B# 1...Qxd6 2.dxe8Q#/dxe8B# 1...Ng7 2.Re5# 1...Nxd6 2.e8Q# but 1...Qxb5! 1.Rfa5?? (2.f5#) 1...Ng7 2.Re5# 1...Nxd6 2.e8Q# 1...Qb6 2.dxe8N# 1...Qxc8 2.dxc8Q#/dxc8B# 1...Qxd6 2.dxe8Q#/dxe8B# but 1...Qb5! 1.Rc5! (2.f5#) 1...Qb6 2.dxe8N# 1...Qxc8 2.dxc8Q#/dxc8B# 1...Qxd6 2.dxe8Q#/dxe8B# 1...Ng7 2.Re5# 1...Nxd6 2.e8Q#" --- authors: - Mansfield, Comins source: T.T. British Chess Federation date: 1940 distinction: 4th Comm., ex aequo, 1940-1941 algebraic: white: [Ka2, Qg1, Re6, Bf7, Bc7, Sa6, Sa3] black: [Kd5, Qe8, Rg5, Rf6, Bh1, Sg6, Pg4, Pe2, Pd4] stipulation: "#2" solution: | "1.Qg1-b1 ! threat: 2.Qb1-b3 # 1...d4-d3 2.Qb1*d3 # 1...Rg5-e5 2.Re6-d6 # 1...Rf6-f3 2.Qb1-e4 # 1...Rf6*e6 2.Qb1*h1 # 1...Sg6-e5 2.Re6-d6 # 1...Qe8-a4 2.Re6*f6 # 1...Qe8-c6 2.Re6-e5 # 1...Qe8*e6 2.Qb1-b7 # 1...Qe8-b8 2.Re6*f6 # 1...Qe8-b5 2.Re6*f6 # 2.Qb1*b5 #" keywords: - Model mates --- authors: - Mansfield, Comins source: Walter F. James MT, The Chess Correspondent date: 1947 distinction: 6th Special HM algebraic: white: [Ka7, Qh6, Rc7, Rb4, Sf1, Sb5, Pa3] black: [Kd3, Re2, Ba1, Pf3, Pd5] stipulation: "#2" solution: | "1...Re2-c2 2.Qh6-e3 # 1...Re2-e4 2.Qh6-d2 # 1.Qh6-a6 ! threat: 2.Sb5-d6 # 1...Re2-c2 2.Sb5-c3 # 1...Re2-e4 2.Sb5-d4 # 1...Ba1-d4 + 2.Rb4*d4 # 1...Ba1-c3 2.Rc7*c3 #" keywords: - Changed mates - B2 --- authors: - Mansfield, Comins source: Echec et Mat 1. TT date: 1948 distinction: 10th HM algebraic: white: [Kd1, Qd4, Rc5, Bd6, Bc2, Sg8, Sg4] black: [Kg5, Qd5, Rh7, Bb8, Ba8, Sd7, Sb6, Ph5, Ph4, Pg7, Pf3, Pc3] stipulation: "#2" solution: | "1.Sg4-h2 ! threat: 2.Sh2*f3 # 1...Qd5*c5 2.Qd4-f4 # 1...Qd5-f5 2.Qd4-g1 # 1...Qd5-e5 2.Qd4-e3 # 1...Sd7*c5 2.Bd6-e7 # 1...Sd7-e5 2.Bd6-e7 #" --- authors: - Mansfield, Comins source: The British Chess Magazine date: 1923 distinction: 2nd Prize algebraic: white: [Kb8, Qb3, Rd5, Bd2, Bb1, Sf4, Sd4, Pg2, Pc7] black: [Ke4, Rc2, Bd3, Se1, Ph4, Pe2, Pa6] stipulation: "#2" solution: | "1...Bd3-b5 2.Qb3-e3 # 1.Qb3-a4 ! threat: 2.Qa4-e8 # 1...Se1-f3 2.g2*f3 # 1...Rc2-b2 + 2.Sd4-b3 # 1...Rc2*c7 2.Sd4-c6 # 1...Rc2-c6 2.Sd4*c6 # 1...Rc2*d2 2.Sd4-f5 # 1...Bd3-b5 2.Sd4*b5 #" --- authors: - Mansfield, Comins source: The Brisbane Courier date: 1932 distinction: 2nd Prize algebraic: white: [Kb8, Qb7, Rh5, Ra6, Bh2, Sg3, Sd5, Pc3] black: [Ke5, Rg4, Re3, Bf5, Sg7] stipulation: "#2" solution: | "1.Sd5-f4 ! threat: 2.Qb7-c7 # 1...Re3*c3 2.Qb7-e4 # 1...Re3*g3 2.Sf4-d3 # 1...Rg4*g3 2.Sf4-g6 # 1...Rg4*f4 2.Qb7-b5 # 1...Rg4-g6 2.Sf4*g6 # 1...Ke5*f4 2.Sg3-e2 # 1...Sg7-e6 2.Rh5*f5 # 1...Sg7-e8 2.Rh5*f5 # 1...Re3-d3 2.Qb7-e4 # 2.Sf4*d3 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Skakbladet date: 1961 distinction: 2nd Prize algebraic: white: [Kh6, Qe7, Rf8, Rd8, Bf7, Bf4, Sd7, Sd4, Pc4, Pc2] black: [Ke4, Sh5, Se6, Pe5] stipulation: "#2" solution: | "1...Se6-c7 {(Se~ )} 2.Qe7*e5 # 1.Qe7-a3 ! threat: 2.Qa3-e3 # 1...Ke4*d4 2.Qa3-d3 # 1...Ke4*f4 2.Qa3-f3 # 1...e5*f4 2.Qa3-d3 # 1...e5*d4 2.Bf7-g6 # 1...Sh5*f4 2.Sd7-f6 # 1...Se6*d4 2.Bf7-d5 # 1...Se6*f4 2.Sd7-c5 #" keywords: - Defences on same square --- authors: - Mansfield, Comins source: The South-African Chessplayer date: 1963 distinction: 2nd Prize algebraic: white: [Kb6, Qg4, Re7, Rc2, Bd1, Ba1, Se4, Sc1, Pg5, Pf3, Pc5] black: [Ke3, Sg1, Se2, Pc4, Pa2] stipulation: "#2" solution: | "1...Se2-f4 2.Qg4*g1 # 1.Qg4-h4 ! threat: 2.Se4-d2 # 1...Sg1*f3 2.Rc2*e2 # 1...Se2*c1 2.Se4-f2 # 1...Se2-g3 2.Se4*g3 # 1...Se2-f4 2.Qh4-f2 # 1...Se2-d4 2.Rc2-c3 # 1...Se2-c3 2.Se4*c3 # 1...Ke3*f3 2.Qh4-g3 #" keywords: - Flight giving key --- authors: - Mansfield, Comins source: Skakbladet date: 1967 distinction: 2nd Prize algebraic: white: [Kc8, Qf7, Rg5, Re4, Bg2, Sd7, Pf4, Pe6, Pc2, Pb5, Pb4, Pa6] black: [Kd5, Qf5, Pe5, Pd6, Pc4, Pc3, Pa7] stipulation: "#2" solution: | "1.Sd7*e5 ! zugzwang. 1...Qf5*e4 2.Se5-c6 # 1...Qf5-h3 2.Se5-g4 # 1...Qf5-g4 2.Se5*g4 # 1...Qf5-h7 2.Se5-g6 # 1...Qf5-g6 2.Se5*g6 # 1...Qf5*e6 + 2.Se5-d7 # 1...Qf5*f4 2.Re4*f4 # 1...Qf5*e5 2.e6-e7 # 1...Qf5*f7 2.Se5*f7 # 1...Qf5-f6 2.Re4*c4 # 1...Qf5*g5 2.e6-e7 # 1...d6*e5 2.Qf7-d7 #" keywords: - Active sacrifice - Black correction - Switchback --- authors: - Mansfield, Comins source: South African Chess Magazine date: 1936 distinction: 2nd Prize algebraic: white: [Kd3, Qa6, Rg2, Rf8, Bh3, Bd2, Sf5, Sf2] black: [Kf1, Rh6, Rc1, Bh4, Ba8, Sh2, Sd5, Pg3, Pf4, Pc2, Pb4] stipulation: "#2" solution: | "1.Sf2-h1 ! threat: 2.Rg2*g3 # 1...Bh4-d8 {(Bh~ )} 2.Sf5*g3 # 1...Bh4-f6 2.Kd3-e4 # 1...Sd5-c3 {(Sd~ )} 2.Sf5-e3 # 1...Sd5-f6 2.Kd3-d4 #" keywords: - Black correction - Changed mates --- authors: - Mansfield, Comins source: Christian Science Monitor date: 1942 distinction: 2nd Prize algebraic: white: [Kb3, Qc3, Rh4, Re2, Bg6, Sh5, Se3, Pg2, Pc2] black: [Ke4, Qg5, Bg4, Sf5, Sb4, Pf6] stipulation: "#2" solution: | "1.Qc3-c5 ! zugzwang. 1...Qg5*e3 + 2.Re2*e3 # 1...Qg5-f4 2.Sh5*f6 # 1...Qg5*h4 2.Se3*g4 # 1...Qg5-h6 2.Bg6*f5 # 1...Qg5*g6 2.Se3*f5 # 1...Qg5*h5 2.Se3-d5 # 1...Sb4-a2 {(Sb~ )} 2.Qc5-d5 #" keywords: - Black correction --- authors: - Mansfield, Comins source: The Palestine Post & Mishmar date: 1946 distinction: 2nd Prize, 1946-1947 algebraic: white: [Kh1, Qc3, Rh4, Rb6, Be4, Sb5, Sa5] black: [Ka4, Rh5, Rh3, Bc4, Sa1, Ph2, Pc5, Pa6, Pa3] stipulation: "#2" solution: | "1.Sa5-b7 ! threat: 2.Qc3*c4 # 1...Sa1-c2 2.Be4*c2 # 1...Rh3*c3 2.Sb5*c3 # 1...Bc4-a2 2.Be4-c2 # 1...Bc4-b3 2.Qc3-a5 # 1...Bc4-f1 2.Be4-c2 # 1...Bc4-e2 2.Be4-c2 # 1...Bc4-d3 2.Qc3*a3 # 1...Bc4-g8 2.Be4-c2 # 1...Bc4-f7 2.Be4-c2 # 1...Bc4-e6 2.Be4-c2 # 1...Bc4-d5 2.Sb7*c5 # 1...Bc4*b5 2.Be4-c2 # 1...a6*b5 2.Rb6-a6 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Sunday Chronicle date: 1947 distinction: 2nd Prize algebraic: white: [Ka3, Qf7, Rg2, Bh1, Bg5, Sg6, Se7, Pb2] black: [Ke4, Rh3, Be3, Ph2, Pg4, Pe6, Pe5, Pd4] stipulation: "#2" solution: | "1.Qf7-h7 ! threat: 2.Sg6-h4 # 1...Be3-c1 + 2.Rg2-g3 # 1...Be3-d2 + 2.Rg2-g3 # 1...Be3-g1 + 2.Rg2-g3 # 1...Be3-f2 + 2.Rg2-g3 # 1...Be3*g5 + 2.Rg2-g3 # 1...Be3-f4 + 2.Rg2-g3 # 1...Rh3-f3 2.Sg6-f4 # 1...Rh3*h7 2.Rg2-d2 # 1...Rh3-h6 2.Rg2-d2 # 1...Rh3-h5 2.Rg2-d2 # 1...d4-d3 2.Rg2*g4 # 1...Ke4-d3 2.Sg6*e5 # 1...Ke4-f3 2.Sg6*e5 #" keywords: - Flight giving key - Transferred mates - Rudenko --- authors: - Mansfield, Comins source: The Problemist source-id: 3391 date: 1953 distinction: 2nd Prize algebraic: white: [Kh2, Qh4, Re7, Rc2, Bb5, Ba7, Se4, Sd2, Pf3, Pd4, Pd3] black: [Ke3, Qe8, Bg2, Bc1, Pb7] stipulation: "#2" solution: | "1.Ba7-b8 ! threat: 2.Qh4-f2 # 1...Ke3*d4 2.Se4-f6 # 1...Ke3-e2 2.Se4-c3 # 1...Qe8*b5 2.Se4-c5 # 1...Qe8-h5 2.Se4-g5 # 1...Qe8*b8 + 2.Se4-d6 # 1...Qe8-h8 2.Se4-f6 #" keywords: - Active sacrifice - Flight giving key --- authors: - Mansfield, Comins source: D.Makuc & J.Moder MT, Slovenia Chess Association date: 1968 distinction: 2nd Prize, 1968-1970 algebraic: white: [Kh5, Qc2, Rf2, Ra5, Bb5, Bb2, Sf3, Sf1, Ph4, Pg3] black: [Kf5, Re6, Rb7, Bb6, Se4, Sa7, Ph7, Pg5, Pf6] stipulation: "#2" solution: | "1.Qc2-d2 ! threat: 2.g3-g4 # 1...Se4-c3 2.Bb5-d3 # 1...Se4*d2 2.Bb5-d3 # 1...Se4*f2 2.Bb5-d3 # 1...Se4*g3 + 2.Sf1*g3 # 1...Se4-d6 2.Bb5-d3 # 1...Se4-c5 2.Sf3*g5 # 1...g5-g4 2.Qd2-f4 # 1...Bb6-e3 2.Sf1*e3 # 1...Re6-e5 2.Sf3-d4 # 1...Re6-c6 2.Qd2-d5 # 1...Re6-d6 2.Bb5-d7 # 1...Re6-e8 2.Bb5-d7 # 1...Re6-e7 2.Bb5-d7 #" keywords: - Direct unpinning - Active sacrifice - Black correction comments: - authors Mr. & Mrs. C.Mansfield --- authors: - Mansfield, Comins source: Gazeta Częstochowska date: 1977 distinction: 2nd Prize algebraic: white: [Kh2, Qa4, Rf7, Re8, Bf5, Bd4, Ph4, Pg4, Pf2, Pe5, Pd3, Pb4] black: [Kf4, Qb6, Rc7, Bd5, Pf3] stipulation: "#2" solution: | "1.Qa4-c6 ! zugzwang. 1...Bd5-a2 {(B~ )} 2.Qc6-e4 # 1...Bd5*c6 2.Bf5-d7 # 1...Rc7*c6 2.Bf5-e6 # 1...Rc7-a7 2.Qc6-c1 # 1...Rc7-b7 2.Qc6-c1 # 1...Rc7-c8 2.Bf5-e6 # 1...Rc7*f7 2.Qc6-c1 # 1...Rc7-e7 2.Qc6-c1 # 1...Rc7-d7 2.Qc6-c1 # 1...Qb6-a5 {(Q~ )} 2.Qc6-h6 # 2.Bd4-e3 #" keywords: - Active sacrifice - Defences on same square - Transferred mates --- authors: - Mansfield, Comins source: British Chess Federation 7th Tourney date: 1931 distinction: Comm., 1931-1932 algebraic: white: [Kh7, Qb2, Rc3, Rb5, Bf5, Bb8, Sg5, Sd5, Pg4, Pe6] black: [Ke5, Qd6, Rd4, Bc2, Sd8, Pe4, Pb6, Pb3] stipulation: "#2" solution: | "1.Rc3-c7 ! zugzwang. 1...Bc2-b1 2.Qb2-h2 # 1...Bc2-d1 2.Qb2-h2 # 1...Bc2-d3 2.Qb2-h2 # 1...e4-e3 2.Sg5-f3 # 1...Qd6-a3 2.Rc7-c5 # 1...Qd6-b4 2.Rc7-c5 # 1...Qd6-c5 2.Rc7*c5 # 1...Qd6-f8 2.Rc7-e7 # 1...Qd6-e7 + 2.Rc7*e7 # 1...Qd6*c7 + 2.Bb8*c7 # 1...Qd6*d5 2.Rc7-f7 # 1...Qd6-c6 2.Rc7*c6 # 1...Qd6-d7 + 2.Rc7*d7 # 1...Qd6*e6 2.Rc7-e7 # 1...Sd8-b7 2.Sg5-f7 # 1...Sd8-c6 2.Sg5-f7 # 1...Sd8*e6 2.Sg5-f7 # 1...Sd8-f7 2.Sg5*f7 #" keywords: - Active sacrifice - Black correction - Transferred mates --- authors: - Mansfield, Comins source: British Chess Federation 25th Tourney date: 1937 distinction: Comm., 1937-1938 algebraic: white: [Ka6, Qg7, Rb3, Rb1, Bb4, Ba8, Sd3, Sd1, Pf7] black: [Kc4, Qh2, Re1, Bh1, Bg3, Sg2, Se2, Ph3, Pd4, Pa4] stipulation: "#2" solution: | "1.Qg7-g4 ! threat: 2.Qg4-e6 # 1...Se2-c1 {(Se~ )} 2.Rb3-c3 # 1...Se2-f4 2.Qg4-c8 # 1...Sg2-h4 {(Sg~ )} 2.Sd1-e3 # 1...Sg2-f4 2.Sd3-e5 # 1...a4*b3 2.Sd1-b2 #" keywords: - Black correction --- authors: - Mansfield, Comins source: British Chess Federation 33rd Tourney date: 1939 distinction: Comm., 1939-1940 algebraic: white: [Kh8, Qg8, Re6, Bh7, Bf4, Sc1, Sa3, Pc4] black: [Kd4, Qh1, Rc2, Rb3, Se4, Sd5, Ph6, Pc5, Pc3] stipulation: "#2" solution: | "1.Re6-e8 ! threat: 2.Qg8*d5 # 1...Qh1-h5 2.Re8*e4 # 1...Se4-d2 2.Sc1-e2 # 1...Se4-f2 {(Se~ )} 2.Sc1*b3 # 1...Sd5-b4 2.Sa3-b5 # 1...Sd5-e3 2.Bf4-e5 # 1...Sd5*f4 {(Sd~ )} 2.Sa3*c2 #" keywords: - Black correction - Transferred mates --- authors: - Mansfield, Comins source: British Chess Federation 43rd Tourney date: 1942 distinction: Comm., 1942-1943 algebraic: white: [Kf2, Qc2, Rd1, Bh2, Se6, Sd4, Ph3, Pb3] black: [Kd5, Rg7, Re8, Ba6, Sg6, Sa5, Ph4, Pf6, Pd6, Pb5] stipulation: "#2" solution: | "1.Kf2-e1 ! threat: 2.Qc2-g2 # 1...Sa5*b3 2.Qc2-c6 # 1...Sg6-e5 2.Se6-f4 # 1...Sg6-f4 2.Qc2-f5 # 1...Sg6-h8 2.Qc2-f5 # 1...Sg6-f8 2.Qc2-f5 # 1...Sg6-e7 2.Se6-c7 # 1...Re8*e6 + 2.Sd4-e2 #" keywords: - Black correction --- authors: - Mansfield, Comins source: British Chess Federation 39th Tourney date: 1941 distinction: Comm., 1941-1942 algebraic: white: [Kf8, Qe8, Rh5, Re3, Bg8, Bd4, Sf5, Sc4, Pf7, Pb4, Pa3] black: [Kd5, Qc8, Sa8, Pe4] stipulation: "#2" solution: | "1.Bd4-f6 ! zugzwang. 1...Kd5*c4 2.Sf5-d6 # 1...Sa8-b6 2.Sc4*b6 # 1...Sa8-c7 2.Sc4-b6 # 1...Qc8-a6 2.Qe8*e4 # 2.Sf5-d6 # 1...Qc8-b7 2.Qe8*e4 # 2.Sf5-d6 # 1...Qc8*f5 2.Qe8*e4 # 1...Qc8-e6 2.Qe8-b5 # 1...Qc8-d7 2.Qe8*e4 # 1...Qc8*c4 2.Qe8-d7 # 1...Qc8-c5 + 2.Sf5-d6 # 1...Qc8-c6 2.Qe8*e4 # 2.Sf5-d6 # 1...Qc8-c7 2.Qe8*e4 # 2.Sf5-d6 # 1...Qc8-b8 2.Sf5-d6 # 1...Qc8*e8 + 2.f7*e8=Q # 2.f7*e8=B # 1...Qc8-d8 2.Sf5-d6 #" keywords: - Black correction --- authors: - Mansfield, Comins source: British Chess Federation 43rd Tourney date: 1942 distinction: Comm., 1942-1943 algebraic: white: [Ka7, Qh5, Rg5, Rb2, Ba1, Sh2, Sb6, Pd5] black: [Kf6, Qg1, Rh1, Rf4, Be3, Bd1, Sg4, Pg2, Pf7, Pe7, Pa6] stipulation: "#2" solution: | "1.Rg5-g8 ! threat: 2.Qh5-g5 # 1...Be3*b6 + 2.Rb2*b6 # 1...Rf4-f1 {(Rf~ )} 2.Rb2-f2 # 1...Rf4-f3 2.Sh2*g4 # 1...Rf4-d4 2.Sb6-d7 # 1...Rf4-f5 2.Qh5-h8 #" keywords: - Black correction --- authors: - Mansfield, Comins source: Revista de Şah date: 1929 algebraic: white: [Kd8, Qf2, Rd5, Ba2, Se3, Sd6, Pg5, Pf4, Pd2] black: [Ke6, Qb5, Bh7, Pg6, Pc7, Pc6, Pb7] stipulation: "#2" solution: | "1. Qe2! [2. Qg4#] 1... c:d6 2. Re5# 1... c:d5 2. Sec4# 1... Q:d5 2. Sef5# 1... Qb1 2. Sc2# 1... Qd3/:e2 2. R(:)d3# 1. Sef5!" keywords: - Battery play - Cooked comments: - | correct (version) - Qf2-e1, add bPe2, 1.Q:e2! --- authors: - Mansfield, Comins source: Neue Zürcher Zeitung date: 1978 algebraic: white: [Ka2, Qa1, Ra4, Bc3, Sh3, Se7, Pe3, Pe2, Pd5, Pd2] black: [Ke4, Rg8, Rf8, Bd4, Bc8, Sh8] stipulation: "#2" solution: | "1.Bc3-b4 ! threat: 2.Qa1*d4 # 1...Bd4*a1 2.Bb4-c3 # 1...Bd4-b2 2.Bb4-c3 # 1...Bd4-c3 2.Bb4*c3 # 1...Bd4*e3 2.d2-d3 # 1...Bd4-g7 2.Sh3-g5 # 1...Bd4-f6 2.Sh3-f2 # 1...Bd4-e5 2.Qa1-b1 # 1...Bd4-a7 2.Bb4-c5 # 1...Bd4-b6 2.Bb4-c5 # 1...Bd4-c5 2.Bb4*c5 #" keywords: - Black correction - Switchback --- authors: - Mansfield, Comins source: Dubbele Task Problemen date: 1962 algebraic: white: [Kf4, Qf8, Bd8, Sf6, Pf7] black: [Kg6, Bh7, Sg8, Ph6, Pg7] stipulation: "#2" solution: | "1.Qf8-e8 ! threat: 2.f7*g8=Q # {(f~ )} 1...h6-h5 2.f7*g8=S # 1...Sg8-e7 2.f7-f8=Q # 1...Sg8*f6 2.f7-f8=S #" --- authors: - Mansfield, Comins source: diagrammes source-id: 36/658 date: 1978-11 algebraic: white: [Ka8, Qg2, Rd1, Rc1, Bh4, Se5, Sc4, Pe7, Pb4] black: [Kc7, Qg5, Rd8, Bc8, Ba5, Se8, Pg6, Pg3, Pd7, Pb7] stipulation: "#2" solution: | "1...Qg5*e5 2.e7*d8=Q # 1.Qg2-g1 ! threat: 2.Qg1-c5 # 1...Qg5*e5 2.Sc4*e5 # 1...Ba5*b4 2.Qg1-b6 # 1...Ba5-b6 2.Qg1*b6 # 1...Qg5-e3 2.e7*d8=Q # 1...Qg5*e7 2.Sc4-d6 # 1...Qg5-f6 2.Sc4-d6 # 1...b7-b6 2.Sc4-e3 # 1...d7-d6 2.Sc4-d2 #" keywords: - B2 --- authors: - Mansfield, Comins source: Europe Échecs date: 1976 algebraic: white: [Ka1, Qf1, Bc6, Se5, Se4, Pg6, Pf7, Pd6, Pd4, Pc7] black: [Ke6, Qh8, Be7, Sg7, Pb6, Pa4] stipulation: "#2" solution: | "1...Qh7/Qh6/Qh5/Qh4/Qh3/Qh2/Qh1/Ne8/Bd8 2.c8Q#/c8B# 1...Qg8 2.fxg8Q#/fxg8B# 1...Nh5 2.Qh3# 1...Nf5 2.Qc4# 1...Bf6/Bxd6 2.Qxf6# 1...Bf8 2.c8Q#/c8B#/Qf6# 1.f8Q?? (2.Q1f7#/Qc4#/Q8f7#/Qxe7#/c8Q#/c8B#) 1...Nf5 2.c8Q#/c8B#/Q1xf5#/Qc4#/Qf7#/Q8xf5# 1...Qh4 2.c8Q#/c8B#/Q1f7#/Qc4#/Q8f7#/Qc8#/Qg8# 1...Qh1 2.c8Q#/c8B#/Qf7#/Qc8#/Qg8#/Qxe7# 1...Qg8 2.c8Q#/c8B#/Qxg8#/Qxe7#/Qc4# 1...b5 2.c8Q#/c8B#/Q1f7#/Q8f7#/Qxe7# 1...Bf6 2.c8Q#/c8B#/Q1xf6#/Qf7#/Q8xf6# 1...Bg5 2.c8Q#/c8B#/Nxg5#/Q1f7#/Qc4#/Q8f7# 1...Bh4 2.c8Q#/c8B#/Q1f7#/Qc4#/Q8f7# 1...Bxf8 2.c8Q#/c8B#/Qf6#/Qf7# 1...Bxd6 2.c8Q#/c8B#/Ng5#/Q1f6#/Q1f7#/Qc4#/Q8f7#/Q8f6#/Qxd6# 1...Bd8 2.Q1f7#/Qc4#/cxd8N#/c8Q#/c8B#/Q8f7# but 1...Qxf8! 1.f8R?? (2.c8Q#/c8B#/Qf7#/Qc4#) 1...b5 2.Qf7#/c8Q#/c8B# 1...Bf6 2.c8Q#/c8B#/Qxf6#/Rxf6# 1...Bxf8 2.c8Q#/c8B#/Qf6#/Qf7# 1...Bxd6 2.Qf6#/Qf7# 1...Qh1 2.c8Q#/c8B# 1...Qg8 2.c8Q#/c8B#/Qc4# 1...Nf5 2.c8Q#/c8B#/Qxf5#/Qc4# but 1...Qxf8! 1.f8B?? (2.c8Q#/c8B#/Qf7#) 1...Bf6 2.c8Q#/c8B#/Qxf6# 1...Nf5 2.c8Q#/c8B#/Qc4# 1...Qh1/Qg8 2.c8Q#/c8B# but 1...Qxf8! 1.f8N+?? 1...Bxf8 2.c8Q#/c8B#/Qf6#/Qf7# but 1...Qxf8! 1.Qf4?? (2.d5#) 1...Bxd6 2.Qf6# but 1...Qh1+! 1.Qh3+?? 1...Qxh3 2.c8Q#/c8B# but 1...Nf5! 1.Ng4?? (2.d5#) 1...Nf5 2.Qc4# 1...Ne8/Qh5 2.c8Q#/c8B# 1...Bf6/Bxd6 2.Qxf6# but 1...Nh5! 1.Nc4?? (2.d5#) 1...Nh5 2.Qh3# 1...Ne8/Qh5 2.c8Q#/c8B# 1...Bf6/Bxd6 2.Qxf6# but 1...Nf5! 1.Nd3! (2.d5#) 1...Nh5 2.Qh3# 1...Nf5 2.Nf4# 1...Ne8/Qh5 2.c8Q#/c8B# 1...Bf6/Bxd6 2.Qxf6#" --- authors: - Mansfield, Comins source: Schach-Echo source-id: 10302 date: 1980-08 distinction: 1st Prize algebraic: white: [Kb1, Qe2, Rf4, Ra8, Bd3, Ba5, Se3, Pc3, Pb5, Pb2] black: [Ka4, Qc4, Bh3, Bg1, Pg2, Pe6, Pb3] stipulation: "#2" solution: | "1.Bd3-e4 ! threat: 2.Qe2*c4 # 1...Qc4*e2 2.Be4-d3 # 1...Qc4-d3 + 2.Be4*d3 # 1...Qc4-d5 2.Be4*d5 # 1...Qc4*b5 2.Be4-c6 # 1...Qc4*c3 2.Ba5*c3 # 1...Qc4-b4 2.Ba5*b4 # 1...Qc4-c8 2.Be4-c6 # 1...Qc4-c7 2.Ba5*c7 # 1...Qc4-c6 2.Be4*c6 # 1...Qc4-c5 2.Ba5-b6 # 1...Qc4*e4 + 2.Rf4*e4 # 1...Qc4-d4 2.Ba5-b6 #" keywords: - Active sacrifice - Black correction - Switchback - Indirect unpinning - Battery play --- authors: - Mansfield, Comins source: 4°T.T. Sinfonie Scacchistiche date: 1968 distinction: 5th HM, 1967-68 algebraic: white: [Kd1, Qh7, Rd3, Rb3, Sb6, Pg4, Pe2, Pd5] black: [Ke4, Rf4, Sf5, Sf3, Pe5, Pe3, Pd6] stipulation: "#2" twins: b: Move d6 d2 solution: | "a) 1.Qh7-h1 ! zugzwang. 1...Sf5-g3 {(S5~ )} 2.Rb3-b4 # 1...Sf5-d4 2.Rd3*e3 # 1...Rf4*g4 2.Qh1*f3 # b) bPd6--d2 1.Qh7-g6 ! zugzwang. 1...Sf3-e1 {(S3~ )} 2.Rb3-b4 # 1...Sf3-d4 2.Rd3*e3 # 1...Rf4*g4 2.Qg6*g4 #" keywords: - Black correction - Transferred mates --- authors: - Mansfield, Comins source: Themes 64 source-id: 2805 date: 1974 algebraic: white: [Kf3, Qh8, Rc7, Rc6, Sc8, Pe6, Pe2, Pb3] black: [Kd5, Re4, Bd8, Pf4, Pe7, Pe3, Pb4, Pa7] stipulation: "#2" solution: | "1...Re4-d4 2.Qh8-h5 # 1...Re4-e5 2.Qh8*d8 # 1.Qh8-a1 ! zugzwang. 1...Re4-d4 2.Qa1-a5 # 1...Re4-e5 2.Qa1-d1 # 1...Re4-c4 2.b3*c4 # 1...Re4*e6 2.Rc6-c5 # 1...a7-a5 2.Sc8-b6 # 1...a7-a6 2.Sc8-b6 # 1...Bd8*c7 2.Sc8*e7 #" keywords: - Mutate - Changed mates --- authors: - Mansfield, Comins - Oudot, Jean source: Europe Échecs date: 1968-02 algebraic: white: [Kh5, Qh2, Rf8, Rb3, Bg6, Be3, Sf7, Sd6, Pf4, Pd2] black: [Kf3, Qd4, Rf1, Re1, Bh6, Ph4, Pe5, Pa4] stipulation: "#2" solution: | "1...Rf2/Rg1/Rh1 2.Qxf2# 1...Re2 2.Qh3# 1...Bg5/Bxf4/Bg7/Bxf8 2.Nxg5# 1...Qd3/Qc4/Qb4/Qxf4 2.Nxe5# 1...Qxd2/Qxe3/Qb6/Qa7 2.Nxe5#/Be4# 1...Qe4/Qc3/Qb2/Qa1/Qc5 2.Bxe4# 1.Bxd4+?? 1...Re3 2.Be4#/Nxe5#/Rxe3# but 1...axb3! 1.Bd3! (2.Qh3#) 1...Rxe3 2.Be2# 1...Rg1/Rh1 2.Qf2# 1...Bxf4 2.Ng5# 1...Qxd3/Qxf4 2.Nxe5# 1...Qxe3 2.Be4#" keywords: - Active sacrifice --- authors: - Гугель, Лев Николаевич - Mansfield, Comins - Pituk, Alexander source: date: 1937 algebraic: white: [Kh6, Qf7, Rg2, Bh1, Bg7, Se6, Sa5, Pf5, Pd6, Pd2, Pc5, Pc2] black: [Kd5, Rf4, Rb4, Bc1, Ph5] stipulation: "#2" solution: | "1.d2-d4 ! threat: 2.Se6-g5 # 1...Rb4-b7 2.Qf7*b7 # 1...Rb4*d4 2.Qf7-b7 # 1...Rf4*d4 + 2.Rg2-d2 # 1...Rf4-e4 + 2.Se6-f4 # 1...Rf4*f5 + 2.Rg2-g5 # 1...Kd5-e4 2.Rg2-e2 #" --- authors: - Mansfield, Comins source: Бюллетень ЦШК СССР source-id: 3/10 date: 1974 algebraic: white: [Kg2, Qe2, Rh6, Rb5, Bc7, Sd7, Sd3, Pf7, Pf6] black: [Kf5, Qa8, Bc8, Sh7, Sd8, Pg5, Pg3, Pd5, Pb4, Pa2] stipulation: "#2" solution: | "1. S7c5? [2. Qf3#] 1... d4+ 2. Sb7# 1... g4 2. Qe5# But 1... Se6! 1. S7e5? [2. Qg4#] 1... d4+ 2. Sc6# 1... Ke6 2. Qg4# But 1... S:f6! 1. S3c5? [2. Qf3#] 1... Se6 2. Q:e6# 1... d4+ 2. Sb7# But 1... Qa3! 1. S3e5! [2. Qg4#] 1... S:f6 2. R:f6# 1... d4+ 2. Sc6# 1... Kf4 2. Qf3# 1... Ke6 2. Qg4# Cooks 1. K:g3! 1. Kh3!" keywords: - Indirect unpinning - Battery play - Cross-checks - Changed mates comments: - | correct (version) - E.Permyakov, 2012 (1b6q2n42BN1P1n5P1R1R1p1kp11p6P2N2p14Q1Kb) --- authors: - Mansfield, Comins source: The Observer source-id: v date: 1935 algebraic: white: [Kc7, Qe7, Rb8, Bd8, Bc8, Sa7, Pd7, Pd3, Pd2, Pa2] black: [Ka5, Rc5, Bb5, Pc6, Pa4, Pa3] stipulation: "#2" solution: 1. Qf8! waiting comments: - Version by David J. Shire in The Problemist Supplement 2011-07. Mansfield's original 196850 --- authors: - Mansfield, Comins source: Schach-Echo source-id: 6801 date: 1971 algebraic: white: [Kf3, Qe5, Rb6, Ba5, Se6, Ph6, Pd6] black: [Ke8, Rh8, Ra8, Bb2, Pf7, Pe7, Pd7] stipulation: "#2" solution: | "1.Se6-d4 ! threat: 2.Qe5*h8 # 2.Qe5*e7 # 1...0-0-0 2.Qe5-c5 # 1...0-0 2.Qe5-g7 #" --- authors: - Mansfield, Comins source: The Problemist date: 1978 algebraic: white: [Kh1, Qa7, Bg2, Bf8, Se5, Sd7, Pf5, Pe6, Pb3] black: [Kd5, Re4, Bc7, Ba8, Sa6, Pd3, Pb5] stipulation: "#2" solution: | "1.Se5-f3 ! threat: 2.Qa7*a8 # 1...Re4-e1 + 2.Sf3*e1 # 1...Re4-c4 2.Sf3-d4 # 1...Re4*e6 2.Sf3-e5 # 1...Re4-h4 + 2.Sf3*h4 # 1...Sa6-b4 2.Qa7-c5 # 1...Sa6-c5 2.Qa7*c5 # 1...Sa6-b8 2.Qa7-c5 # 1...Ba8-c6 2.Sd7-f6 # 1...Ba8-b7 2.Qa7*b7 # 1.Qa7-e3 ! {(Cook)} threat: 2.Qe3*d3 # 2.Qe3*e4 # 2.Bg2*e4 #" --- authors: - Mansfield, Comins source: Probleemblad date: 1971 algebraic: white: [Kd8, Qb8, Rd4, Bc3, Ph5, Pg4] black: [Kf6, Rh8, Rh7, Bf8, Sg8, Ph6, Pg5, Pe7, Pc4] stipulation: "#2" solution: | "1.Qb8-b1 ! zugzwang. 1...Kf6-e5 2.Qb1-f5 # 1...Kf6-g7 2.Qb1-g6 # 1...Kf6-e6 2.Qb1-f5 # 1...Kf6-f7 2.Qb1-g6 # 1...e7-e5 2.Qb1-g6 # 1...e7-e6 2.Rd4-f4 # 1...Rh7-f7 2.Rd4-d6 # 1...Rh7-g7 2.Qb1-f5 # 1...Bf8-g7 2.Qb1-f5 # 1.Rd4-f4 + ! {(Cook)} 1...Kf6-e6 2.Qb8-e5 #" --- authors: - Mansfield, Comins source: The Glasgow Herald date: 1964 algebraic: white: [Kh1, Qe8, Re4, Be1, Bb7, Sh6, Sc1] black: [Kf3, Qd5, Ba5, Ph7, Ph5, Pf6, Pf4, Pe3] stipulation: "#2" solution: | "1.Qe8-g8 ! threat: 2.Qg8-g2 # 1...Kf3*e4 2.Qg8*d5 # 1...Qd5-a2 2.Re4-c4 # 1...Qd5*g8 2.Re4-e6 # 1...Qd5-d2 2.Re4-d4 # 1...Qd5-g5 2.Re4-e5 # 1.Re4-b4 ! {(Cook)} threat: 2.Qe8*h5 # 2.Bb7*d5 #" --- authors: - Mansfield, Comins source: Problemas source-id: 110/663 date: 1951-05 algebraic: white: [Kh8, Qd1, Rf5, Ra4, Bh7, Bb2, Pf2, Pe2, Pc4] black: [Ke4, Re3, Rd4, Sg2, Pd3] stipulation: "#2" solution: | "1.Qd1-d2 ! zugzwang. 1...Sg2-e1 2.Qd2*e3 # 1...Sg2-h4 2.Qd2*e3 # 1...Sg2-f4 2.Qd2*e3 # 1...d3*e2 2.Qd2*d4 # 1...Re3*e2 2.f2-f3 # 1...Re3-h3 2.Rf5-h5 # 1...Re3-g3 2.Rf5-g5 # 1...Re3-f3 2.e2*f3 # 1...Rd4*c4 2.Ra4*c4 # 1...Rd4-d8 + 2.Rf5-f8 # 1...Rd4-d7 2.Rf5-f7 # 1...Rd4-d6 2.Rf5-f6 # 1...Rd4-d5 2.c4*d5 # 1.c4-c5 ! {(Cook)} threat: 2.Ra4*d4 #" --- authors: - Mansfield, Comins source: Els Escacs a Catalunya date: 1930 algebraic: white: [Ka4, Qc4, Rh1, Rc5, Bf3, Be1, Sg3, Sa2, Pe2, Pc2] black: [Kd1, Qh5, Rg8, Re8, Bh7, Sc6, Sb8, Pa5] stipulation: "#2" solution: | "1.Qc4-b3 ! threat: 2.Qb3-b1 # 1...Qh5-g4 + 2.Be1-b4 # 1...Qh5-h4 + 2.e2-e4 # 1...Bh7*c2 2.Qb3*c2 # 1...Re8-e4 + 2.c2-c4 # 1...Rg8-g4 + 2.e2-e4 # 1...Qh5-g5 2.e2-e4 # 2.e2-e3 # 2.Be1*a5 # 2.Be1-b4 # 2.Be1-c3 # 1...Qh5-h6 2.e2-e4 # 2.e2-e3 #" --- authors: - Mansfield, Comins source: The Problemist source-id: T99 date: 1968 algebraic: white: [Ka1, Ra4, Bd6, Bb1, Se8, Sd3, Pf5, Pf4, Pe7, Pe6, Pc3, Pb5, Pb2] black: [Kd5, Rd2, Rc7, Be2, Bb6] stipulation: "#2" twins: b: Move a1 h8 solution: | "a) 1.Bd6-a3 ! threat: 2.Se8-f6 # 1...Bb6-d4 2.Ra4*d4 # 1...Bb6-c5 2.Bb1-a2 # 1...Rc7-c5 2.Ra4-d4 # b) wKa1--h8 1.Sd3-c5 ! threat: 2.Bb1-e4 # 1...Rd2-c2 2.Ra4-d4 # 1...Rd2-d4 2.Ra4*d4 # 1...Rd2-d3 2.Bb1-a2 # 1...Be2-f3 2.Bb1-a2 # 1...Be2-d3 2.Ra4-d4 #" --- authors: - Mansfield, Comins source: The Problemist source-id: T72 date: 1967 algebraic: white: [Ka1, Qb2, Rd1, Rc1, Bd6, Bc4, Sc2, Sa3, Pe6, Pe3, Pe2, Pa6] black: [Kc6, Qc7, Rh3, Bb8, Sa7, Ph4, Pg7] stipulation: "#2" twins: b: Move h3 h2 solution: | "a) 1.Bc4-a2 ! threat: 2.Sc2-e1 # 1...Rh3*e3 2.Sc2*e3 # 1...Sa7-b5 2.Qb2*b5 # 1...Qc7-a5 2.Qb2-b7 # 1...Qc7-b6 2.Sc2-b4 # 1...Qc7*d6 2.Sc2-d4 # b) bRh3--h2 1.Sc2-e1 ! threat: 2.Bc4-a2 # 1...Rh2*e2 2.Bc4*e2 # 1...Sa7-b5 2.Qb2*b5 # 1...Qc7-a5 2.Qb2-b7 # 1...Qc7-b6 2.Bc4-b5 # 1...Qc7*d6 2.Bc4-d5 #" --- authors: - Mansfield, Comins source: Problem source-id: 2285 date: 1966 algebraic: white: [Kb7, Qc2, Rh5, Ra6, Bd6, Sg7, Pc3, Pb2, Pa5] black: [Kd5, Bg5, Ph6, Ph3, Pe5, Pc4] stipulation: "#2" solution: | "1.Qc2-e2 ! threat: 2.Qe2*e5 # 1...Bg5-f4 2.Qe2-f3 # 1...Bg5-f6 2.Qe2-f3 # 1...e5-e4 2.Qe2-d1 # 2.Qe2-d2 # 1...Bg5-e3 2.Rh5*e5 # 2.Qe2-f3 #" --- authors: - Mansfield, Comins source: The Western Morning News date: 1929 algebraic: white: [Ke3, Qg4, Rd3, Ra8, Bc5, Se4, Sa3, Pe2, Pb5] black: [Ka4, Qh4, Bd1, Ph3, Pb6, Pa5] stipulation: "#2" solution: | "1.Ra8-d8 ! threat: 2.Rd8-d4 # 1...Bd1-b3 2.Se4-c3 # 1...Qh4-e1 2.Se4-d2 # 1...Qh4-f2 + 2.Se4*f2 # 1...Qh4-g3 + 2.Se4*g3 # 1...Qh4*d8 2.Se4-d6 # 1...Qh4-f6 2.Se4*f6 # 1...Qh4-g5 + 2.Se4*g5 # 1...Qh4-h8 2.Se4-f6 # 1...Qh4-h6 + 2.Se4-g5 # 1...b6*c5 2.Se4*c5 #" --- authors: - Mansfield, Comins source: Problem source-id: 4058 date: 1980 algebraic: white: [Kh1, Qg2, Rf6, Rc3, Bf1, Sc6, Pf2, Pe3] black: [Kd5, Qe4, Ba3, Ph4, Pf4] stipulation: "#2" solution: | "1.f2-f3 ! threat: 2.f3*e4 # 1...Qe4-b1 2.Qg2-g8 # 1...Qe4-c2 2.Qg2-g8 # 1...Qe4-d3 2.Qg2-g8 # 1...Qe4*f3 2.Qg2*f3 # 1...Qe4-h7 2.Qg2-a2 # 1...Qe4-g6 2.Qg2-a2 # 1...Qe4-f5 2.Qg2-a2 # 1...Qe4*e3 2.Qg2-a2 # 1...Qe4-c4 2.Qg2-g5 # 1...Qe4-d4 2.Qg2-g8 # 1...Qe4-e6 2.Qg2-d2 # 1...Qe4-e5 2.Qg2-a2 # 1...Qe4-e8 2.Qg2-a2 # 2.Qg2-d2 # 1...Qe4-e7 2.Qg2-a2 # 2.Qg2-d2 # 1...Qe4-a4 2.Qg2-g8 # 2.Qg2-g5 # 1...Qe4-b4 2.Qg2-g8 # 2.Qg2-g5 #" --- authors: - Mansfield, Comins source: The Problemist source-id: T-155v date: 1971 algebraic: white: [Kc8, Qe4, Rd1, Rc4, Bd2, Sd4, Pf5, Pc3] black: [Kd6, Sh3, Sf8, Pg5, Pd5, Pb7, Pa6, Pa2] stipulation: "#2" twins: b: Move a2 g4 solution: | "a) 1.Sd4-f3 ! threat: 2.Qe4-e5 # 1...d5*e4 2.Bd2*g5 # 1...d5*c4 2.Bd2-e3 # 1...Sf8-d7 2.Qe4-e6 # 1...Sf8-e6 2.Qe4*e6 # 1...Sf8-g6 2.Qe4-e6 # b) bPa2--g4 1.Bd2-c1 ! threat: 2.Bc1-a3 # 1...d5*e4 2.Sd4-c6 # 1...b7-b5 2.Rc4-c6 # 1...Sf8-d7 2.Qe4-e6 # 1...Sf8-e6 2.Qe4*e6 #" --- authors: - Mansfield, Comins source: Jaarboek van den NBvP date: 1951 algebraic: white: [Kb1, Qh8, Rb3, Ba2, Sh3, Ph7, Ph6, Pd6] black: [Kf7, Qa5, Re6, Bc1, Sh2, Pg6, Pg5, Pe7, Pc5, Pa3] stipulation: "#2" solution: | "1.d6-d7 ! threat: 2.Qh8-g7 # 1...Bc1-b2 2.Sh3*g5 # 1...Qa5-c3 2.d7-d8=S # 1...Re6-e1 {(R~ )} 2.Rb3-f3 # 1...Re6-e3 2.Sh3*g5 # 1...Re6-b6 2.d7-d8=S # 1...Re6-f6 2.Qh8-g8 #" --- authors: - Mansfield, Comins source: A Genius of the Two-Mover date: 1936 algebraic: white: [Ka8, Qa4, Rh5, Bf5, Bf4, Be3, Bd3] black: [Kd5, Qh1, Rg2, Rc6, Bb8, Sa7, Sa1, Ph6, Pc7, Pb4, Pa5] stipulation: "#2" solution: | "1.Qa4-d1 ! threat: 2.Qd1-f3 # 1...Qh1*d1 2.Bf5-g4 # 1...Qh1-f1 2.Bf5-g4 # 1...Qh1*h5 2.Bd3-e2 # 1...Qh1-h3 2.Bd3-e2 # 1...Rg2-g1 2.Bd3-f1 # 1...Rg2-a2 2.Bf5-h3 # 1...Rg2-b2 2.Bf5-h3 # 1...Rg2-c2 2.Bf5-h3 # 1...Rg2-d2 2.Bf5-h3 # 1...Rg2-e2 2.Bf5-h3 # 1...Rg2-f2 2.Bf5-h3 # 1...Rg2-g8 2.Bd3-f1 # 1...Rg2-g7 2.Bd3-f1 # 1...Rg2-g6 2.Bd3-f1 # 1...Rg2-g5 2.Bd3-f1 # 1...Rg2-g4 2.Bd3-f1 # 1...Rg2-g3 2.Bd3-f1 # 1...Rg2-h2 2.Bf5-h3 # 1...Rc6-c4 2.Bd3-e4 # 1...Rc6-e6 2.Bf5-e4 #" --- authors: - Mansfield, Comins source: Probleemblad date: 1969 algebraic: white: [Ka8, Qe8, Rh5, Rd1, Bh1, Bc3, Sf3, Se4, Pf7, Pf6, Pb3] black: [Kd5, Bd3, Sg5, Sd8, Ph6, Pc4, Pa6] stipulation: "#2" solution: | "1.Sf3-e5 ! threat: 2.Qe8-d7 # 2.b3*c4 # 1...Sg5*e4 2.Se5*c4 # 1...Sg5-f3 2.Se5*f3 #" --- authors: - Mansfield, Comins source: El Diluvio date: 1932 distinction: Comm. algebraic: white: [Ka8, Qa6, Re1, Rb7, Bb8, Bb1, Se3, Sc4, Pg5] black: [Ke6, Qh3, Rb3, Ba2, Pg3, Pf4, Pb6, Pb2, Pa7] stipulation: "#2" solution: | "1.Sc4*b6 ! threat: 2.Qa6-c4 # 1...Rb3-a3 2.Sb6-a4 # 1...Rb3*b6 2.Bb1*a2 # 1...Rb3-b5 2.Se3-d5 # 1...Rb3-b4 2.Se3-c4 # 1...Rb3*e3 2.Qa6*a2 # 1...Rb3-d3 2.Sb6-d5 # 1...Rb3-c3 2.Sb6-c4 # 1...Qh3-f1 2.Bb1-f5 # 1...Qh3-g2 2.Bb1-f5 # 1...Qh3-f5 2.Bb1*f5 # 1...Qh3-h1 2.Bb1-f5 #" --- authors: - Mansfield, Comins source: Vitoria-800 JT, Problemas date: 1981 distinction: 4th HM, 1981-82 algebraic: white: [Kh5, Qc6, Rg6, Bb1, Sd3] black: [Kf5, Rg4, Ra4, Be3, Bc8, Sb6, Ph7, Ph4, Pg7, Pg5] stipulation: "#2" solution: | "1.Qc6-d6 ! threat: 2.Qd6-e5 # 1...Be3-f4 2.Sd3-b4 # 1...Be3-d4 2.Sd3-f4 # 1...Ra4-a5 2.Sd3-f4 # 1...Ra4-e4 2.Qd6-f8 # 1...Rg4-e4 2.Qd6-f8 # 1...Kf5-e4 2.Sd3-e1 # 1...Sb6-c4 2.Sd3-f4 # 1...Sb6-d7 2.Qd6-e6 # 1...h7*g6 + 2.Qd6*g6 #" --- authors: - Mansfield, Comins source: Die Schwalbe date: 1962 algebraic: white: [Ke2, Qc3, Rh6, Re6, Sd3, Sc2, Pg4, Pb6, Pb3, Pa4] black: [Kd5, Sd6, Sc4, Ph7, Pe5, Pb7] stipulation: "#2" solution: | "1.Qc3-b4 ! zugzwang. 1...Sc4-a3 {(Sc~ )} 2.Re6*d6 # 1...Kd5-e4 2.Re6*e5 # 1...Kd5-c6 2.Qb4-b5 # 1...e5-e4 2.Qb4-c5 # 1...Sd6-f5 {(Sd~ )} 2.Qb4*c4 # 1...Sd6-e4 2.Qb4*c4 # 2.b3*c4 # 1.Sd3*e5 ! {(Cook)} threat: 2.Qc3-d4 #" --- authors: - Mansfield, Comins source: D.Densmore MT source-id: v date: 1919 distinction: 2nd Prize algebraic: white: [Kf7, Qb5, Rh4, Rh3, Bf4, Sb6, Ph6, Pe3, Pd6, Pd4] black: [Ke4, Sf5, Pg7, Pe7, Pb2] stipulation: "#2" solution: | "1...b2-b1=Q {(b1~ )} 2.Qb5*b1 # 1...Sf5*e3 2.Bf4*e3 # 1...Sf5*h6 + 2.Bf4*h6 # 1...Sf5*d6 + 2.Bf4*d6 # 1.Rh4-g4 ? threat: 2.Bf4-h2 # 2.Bf4-g5 # 2.Bf4-e5 # but 1...Sf5-g3 ! 1.Qb5-f1 ! threat: 2.Qf1-b1 # 1...Sf5*d4 2.Bf4-h2 # 1...Sf5*e3 2.Bf4*e3 # 1...Sf5-g3 2.Bf4-g5 # 1...Sf5*h6 + 2.Bf4*h6 # 1...Sf5*d6 + 2.Bf4*d6 #" --- authors: - Mansfield, Comins source: The Problemist date: 1959 algebraic: white: [Kb4, Qb1, Bg8, Bd8, Sb3, Ph3, Pg6, Pg3, Pf6, Pd6, Pc5] black: [Ke5] stipulation: "#2" twins: b: Move b4 b5 c: Move b4 b7 d: Move b4 c8 e: Move b4 e2 f: Move b4 f2 g: Move b4 h4 h: Move b4 h7 solution: | "a) 1.Sb3-d2 ! threat: 2.Sd2-f3 # 2.Qb1-e4 # 1...Ke5-d4 2.Qb1-e4 # b) wKb4--b5 1.Bg8-d5 ! threat: 2.Qb1-e4 # 1...Ke5*d5 2.Qb1-f5 # c) wKb4--b7 1.c5-c6 ! zugzwang. 1...Ke5*d6 2.Bd8-c7 # d) wKb4--c8 1.Bg8-e6 ! threat: 2.Qb1-f5 # 2.Qb1-e1 # 1...Ke5*e6 2.Qb1-e4 # e) wKb4--e2 1.Qb1-f1 ! threat: 2.Qf1-f4 # f) wKb4--f2 1.g3-g4 ! threat: 2.Qb1-f5 # g) wKb4--h4 1.Bd8-a5 ! threat: 2.Ba5-c3 # h) wKb4--h7 1.Qb1-h1 ! threat: 2.Qh1-d5 #" pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-the-pin_by_arex_2017.01.22.pgn0000644000175000017500000000716213365545272030154 0ustar varunvarun[Termination "+200cp in 2"] [Event "Lichess Practice: The Pin: Set up an absolute pin #1"] [Site "https://lichess.org/study/9ogFv8Ac"] [UTCDate "2017.01.28"] [UTCTime "11:45:26"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "7k/8/8/4n3/4P3/8/8/6BK w - - 0 1"] [SetUp "1"] { An absolute pin is when a piece is pinned to its king and can't move without exposing its king to a check from an opposing piece on the same line or diagonal. Pin the knight to win it. } * [Termination "+200cp in 2"] [Event "Lichess Practice: The Pin: Set up an absolute pin #2"] [Site "https://lichess.org/study/9ogFv8Ac"] [UTCDate "2017.01.22"] [UTCTime "10:37:58"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5k2/p1p2pp1/7p/2r5/8/1P3P2/PBP3PP/1K6 w - - 0 1"] [SetUp "1"] { Can you set up an immediate absolute pin? } * [Termination "+700cp in 1"] [Event "Lichess Practice: The Pin: Set up a relative pin #1"] [Site "https://lichess.org/study/9ogFv8Ac"] [UTCDate "2017.01.22"] [UTCTime "10:35:53"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "1k6/ppp3q1/8/4r3/8/8/3B1PPP/R4QK1 w - - 0 1"] [SetUp "1"] { A relative pin is one where the piece shielded by the pinned piece is a piece other than the king, but it's typically more valuable than the pinned piece. Moving such a pinned piece is legal but may not be prudent, as the shielded piece would then be vulnerable to capture. Do you see the immediate relative pin? } * [Termination "+500cp in 2"] [Event "Lichess Practice: The Pin: Exploit the pin #1"] [Site "https://lichess.org/study/9ogFv8Ac"] [UTCDate "2017.01.22"] [UTCTime "10:45:15"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "4k3/6p1/5p1p/4n3/8/7P/5PP1/4R1K1 w - - 0 1"] [SetUp "1"] { Use your knowledge of pins to win a piece. } * [Termination "+300cp in 1"] [Event "Lichess Practice: The Pin: Exploit the pin #2"] [Site "https://lichess.org/study/9ogFv8Ac"] [UTCDate "2017.01.22"] [UTCTime "11:14:47"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r4rk1/pp1p1ppp/1qp2n2/8/4P3/1P1P2Q1/PBP2PPP/R4RK1 w - - 0 1"] [SetUp "1"] { Use your knowledge of pins to win a piece. } * [Termination "+70cp in 1"] [Event "Lichess Practice: The Pin: Exploit the pin #3"] [Site "https://lichess.org/study/9ogFv8Ac"] [UTCDate "2017.01.29"] [UTCTime "13:26:03"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "4r1r1/2p5/1p1kn3/p1p1R1p1/P6p/5N1P/1PP1R1PK/8 w - - 0 1"] [SetUp "1"] { Use your knowledge of pins to win a pawn. From Magnus Carlsen - Arkadij Naiditsch, 2009. } * [Termination "mate in 2"] [Event "Lichess Practice: The Pin: Exploit the pin #4"] [Site "https://lichess.org/study/9ogFv8Ac"] [UTCDate "2017.01.29"] [UTCTime "14:51:08"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "1r1n1rk1/ppq2p2/2b2bp1/2pB3p/2P4P/4P3/PBQ2PP1/1R3RK1 w - - 0 1"] [SetUp "1"] { A missed tactic in Laszlo Szabo - Samuel Reshevsky, 1953. } * [Termination "-800cp in 3"] [Event "Lichess Practice: The Pin: Exploit the pin #5"] [Site "https://lichess.org/study/9ogFv8Ac"] [UTCDate "2017.01.29"] [UTCTime "14:15:14"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "q5k1/5pp1/8/1pb1P3/2p4p/2P2r1P/1P3PQ1/1N3R1K b - - 0 1"] [SetUp "1"] { Here there are multiple pins ready to be exploited. Win white's queen! From Hampyuk - Anatoly Karpov, 1965. } *././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootpychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-piece-checkmates-i_by_arex_2017.01.25.sqlitepychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-piece-checkmates-i_by_arex_2017.01.25.sql0000644000175000017500000026000013441162535032226 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) [9learn/puzzles/lichess_study_lichess-practice-piece-checkmates-i_by_arex_2017.01.25.pgn   %Qhttps://lichess.org/study/BJy6fEDf %Q https://lichess.org/study/BJy6fEDf Ahttps://lichess.org/@/arex A https://lichess.org/@/arex I2kLichess Practice: Piece Checkmates I: Rook mate3mLichess Practice: Piece Checkmates I: Queen mate?Lichess Practice: Piece Checkmates I: Queen and knight mate?Lichess Practice: Piece Checkmates I: Queen and bishop mate6sLichess Practice: Piece Checkmates I: Two rook mate<Lichess Practice: Piece Checkmates I: Queen and rook mate J 3kLichess Practice: Piece Checkmates I: Rook mate4mLichess Practice: Piece Checkmates I: Queen mate@Lichess Practice: Piece Checkmates I: Queen and knight mate@Lichess Practice: Piece Checkmates I: Queen and bishop mate7sLichess Practice: Piece Checkmates I: Two rook mate< Lichess Practice: Piece Checkmates I: Queen and rook mate  20180221 K <   K 0?8/8/3k4/8/8/4K3/8/4R3 w - - 0 1<   K 0?8/8/3k4/8/8/4K3/8/4Q3 w - - 0 1<   K 0?8/8/3k4/8/8/2QNK3/8/8 w - - 0 1<   K b`0?8/8/3k4/8/8/2QBK3/8/8 w - - 0 1<   K 0?8/8/3k4/8/8/4K3/8/R6R w - - 0 17   K 0?8/8/3k4/8/8/4K3/8/Q6R w - - 0 1         b  `              jSC*Opening?UTCTime17:11:58!UTCDate2017.01.30Opening?UTCTime17:11:16 !UTCDate2017.01.30 Opening? UTCTime12:42:18 !UTCDate2017.02.18 Opening?UTCTime12:41:45!UTCDate2017.02.18Opening?UTCTime17:10:21!UTCDate2017.01.30  Opening? UTCTime12:42:39 !UTCDate2017.02.18pychess-1.0.0/learn/puzzles/kubbel.olv0000644000175000017500000007402313365545272017063 0ustar varunvarun--- authors: - Куббель, Леонид Иванович source: Club de Belgrade date: 1928 distinction: 1st Prize, ex aequo, 1928-1929 algebraic: white: [Ke8, Qa4, Rh8, Rf5, Bg6, Sf1, Se4] black: [Kg4, Qe3, Rh1, Bc5, Sf3, Ph3, Pg5, Pd3] stipulation: "#2" solution: | "1.Rf5-f7 ! threat: 2.Qa4-d7 # 1...Qe3-f4 2.Se4-f6 # 1...Qe3-d4{(Se5)} 2.Se4-f2 # 1...Qe3*e4 + 2.Qa4*e4 # 1...Sf3-h4 2.Bg6-h5 # 1...Sf3-d4 2.Sf1*e3 #" keywords: - Unpinning --- authors: - Куббель, Леонид Иванович source: Skakbladet date: 1933 algebraic: white: [Kb2, Qd6, Rh4, Rd8, Bh8, Bg6, Sf1, Sa3, Pf6, Pf3, Pc2, Pb5, Pb3] black: [Kd4, Rg7, Rg2, Bg4, Ba7, Sd5, Sc7, Ph5, Pg3] stipulation: "#2" solution: | "1...Rd7[a] 2.f7#[A] 1...Bc5 2.Qf4# 1...Rg1 2.c3# 1...Rxc2+ 2.Nxc2# 1...Ne6/Ne8/Na6/Na8 2.Qxd5# 1...Nxb5 2.Nxb5#/Qxd5# 1...Re7 2.fxe7# 1.Bxg7[B]? (2.f7#[A]) 1...Rxc2+ 2.Nxc2# 1...Ne6/Ne8 2.Qxd5# but 1...Re2! 1.f7[A]? (2.Bxg7#[B]) 1...Rxc2+ 2.Nxc2# 1...Ne6/Ne8 2.Qxd5# but 1...Re2! 1.Ne3?? (2.Nf5#) 1...Rxc2+ 2.Naxc2#/Nexc2# but 1...Kxe3! 1.fxg7?? (2.g8Q#/g8R#/g8B#/g8N#) 1...Rxc2+ 2.Nxc2# 1...Ne6/Ne8 2.Qxd5# but 1...Re2! 1.f4! (2.Qb4#) 1...Rd7[a] 2.f7#[A] 1...Rxc2+ 2.Nxc2# 1...Bc5 2.Qe5# 1...Na6 2.Qxd5# 1...Be2 2.c3# 1...Bd7 2.f5#" keywords: - Levman - Nietvelt - Threat reversal - Urania --- authors: - Куббель, Леонид Иванович source: The Chess Weekly source-id: 23/38 date: 1909-05-01 algebraic: white: [Kh4, Rc7, Sg7] black: [Kh6, Bf4, Pg3, Pg2] stipulation: "=" solution: 1. Sf5+ Kg6 2. Rg7+ K:f5 3. R:g3 B:g3+ 4. Kh3 g1Q = comments: - also published in «Tattersall's a Thousand End-Games» 1911 --- authors: - Куббель, Леонид Иванович source: 250 избранных этюдов source-id: 2 date: 1938 algebraic: white: [Kh1, Re2, Be4, Pc2, Pb4, Pb2] black: [Kd4, Qd8, Ph2, Pg5, Pg3, Pd7, Pc7, Pb5] stipulation: "+" solution: | "{composed 1923.} 1.Be4-c6 g3-g2+ 2.Bc6*g2 d7-d5 3.Bg2-f1 {e. g.} Qd8-d6 4.Re2-e1 4.c2-c3+ { or } Kd4-c4 5.Re2-e6+ Kc4-b3 6.Re6*d6 c7*d6 7.Bf1*b5 4.Re2-e8 1...d7*c6 2.Re2-d2+ 1...d7-d5 2.Bc6*b5 1...Qd8-f6 2.Re2-e4#" --- authors: - Куббель, Леонид Иванович source: «64» source-id: 6/290 date: 1940 distinction: 1st Comm., 1939-1940 algebraic: white: [Ke1, Qa2, Rh1, Rg8, Bc1, Bb5, Sh6, Sc6, Ph2, Pf4, Pe5, Pe3] black: [Kf3, Rc4, Bg6, Se6, Ph4, Ph3, Pc5, Pc3] stipulation: "#2" solution: | "1.Qa2-a8 ! threat: 2.Sc6-d4 # 1...Kf3-e4 2.Sc6-b4 # 1...Rc4-e4 2.0-0 # 1...Bg6-e4 2.Rh1-f1 #" keywords: - Castling - Dual avoidance - Selfblock --- authors: - Куббель, Леонид Иванович source: «64» source-id: 15-16/302 date: 1926 algebraic: white: [Kh5, Qe2, Pe7, Pe5, Pd4, Pc7, Pc3, Pa5] black: [Kd7, Pc4, Pa6] stipulation: "#3" solution: | "1.Qe2-f3 ! zugzwang. 1...Kd7-e8 2.Qf3-f8 + 2...Ke8-d7 3.c7-c8=Q # 2.c7-c8=Q + 2...Ke8*e7 3.Qf3-b7 # 3.Qf3-f8 # 3.Qf3-f6 # 1...Kd7-c8 2.e7-e8=Q + 2...Kc8*c7 3.Qf3-c6 # 3.Qf3-f7 # 1...Kd7*c7 2.Qf3-f7 threat: 3.e7-e8=Q # 1...Kd7*e7 2.Qf3-b7 threat: 3.c7-c8=Q #" --- authors: - Куббель, Леонид Иванович source: The Chess Weekly source-id: 11/158 date: 1909-02-06 algebraic: white: [Kh3, Rd2, Rb1, Sh4, Sg1, Pc2] black: [Kf1, Be1, Pf3] stipulation: "#3" solution: "1. Rh2! f2 2. Sgf3 Ke2 3. R:e1#" --- authors: - Куббель, Леонид Иванович source: The Chess Weekly source-id: 14/177 date: 1909-02-27 algebraic: white: [Kg3, Qg5, Bc4, Se7, Sd3, Pf5, Pa3, Pa2] black: [Ke4, Bc2, Pg4, Pf7, Pe5, Pc3, Pb5] stipulation: "#3" solution: | "1. Qc1! ~ 2. Qg1 ~ 3. Sc5# 2... B:d3 3. Bd5# 1... b:c4 2. Sc5+ Kd4 3. Qg1# 1... Kd4 2. Qg1+ K:c4 3. S:e5# 2... Ke4 3. Sc5# 1... Bd1 2. Q:c3 ~ 3. Q:e5, Sc5, Sf2# 2... Ke3 3. Sc5, Sf2# 1... B:d3 2. Bd5+ Kd4 3. Qg1#" --- authors: - Куббель, Леонид Иванович source: Deutsche Schachzeitung source-id: 1152 date: 1909 algebraic: white: [Kg6, Rh7, Rg5, Ph3] black: [Kg8, Qf8, Se2, Ph5] stipulation: "=" solution: 1.Rg7+ Q:g7+ 2.K:h5 Sf4+ 3.Kh4 Sg6+ 4.R:g6 Q:g6 pat --- authors: - Куббель, Леонид Иванович source: Rigaer Tageblatt source-id: version date: 1909 distinction: Comm. algebraic: white: [Ke1, Rh7, Bf8] black: [Kd8, Ra8, Pa6] stipulation: + solution: | 1. Bc5 Rc8 2. Bb6+ Ke8 3. Bc7 a5 4. Kd1 a4 5. Kc1 a3 6. Kb1 a2+ 7. Ka1 wins --- authors: - Куббель, Леонид Иванович source: Schweizerische Arbeiter-Schachzeitung source-id: /335 date: 1935-11 algebraic: white: [Kh4, Qc6, Be8, Sg6, Pf7] black: [Kg7, Bg8, Ph6] stipulation: "#2" solution: | "1. Qd7! [2. f8Q#] 1... B:f7 2. Q:f7# 1... Kh7 2. f8S# 1... K:g6/f6 2. f:g8S#" keywords: - 2 flights giving key - Promotion --- authors: - Куббель, Леонид Иванович source: Schweizerische Arbeiter-Schachzeitung source-id: 340 date: 1935-11 algebraic: white: [Kc3, Rd1, Bd7, Sg6, Sa6, Pg2, Pc6, Pa2] black: [Kd6, Bd5] stipulation: "#3" solution: | "1. Kd3! waiting 1... Bf3 2. g:f3 Kd5 3. Kc3# 1... B:g2 2. Kc4+ Bd5+ 3. R:d5# 1... Bb3 2. a:b3 Kd5 3. Ke3# 1... B:a2 2. Ke4+ Bd5+ 3. R:d5#" --- authors: - Куббель, Леонид Иванович source: Schweizerische Arbeiter-Schachzeitung source-id: 431 date: 1937-04 algebraic: white: [Ka5, Qg2, Bb7, Pe6, Pc7, Pc4] black: [Ka7, Bc8, Pc5] stipulation: "#3" solution: | "1. Qg7! waiting 1... Bd7 2. Q:d7 waiting 2... K:b7 3. c8Q# 1... B:e6 2. Qb2 ~ 3. Qb6# 1... B:b7 2. c8B Ka8/b8 3. Q:b7# 1... K:b7 2. Qb2+ 2... Ka7/a8 3. Qb8# 2... K:c7/c6 3. Qb6#" --- authors: - Куббель, Леонид Иванович source: Schweizerische Arbeiter-Schachzeitung source-id: 432 date: 1937-04 algebraic: white: [Kg1, Qb5, Ra3, Bh6, Bb3, Sg2, Sf2, Ph2, Pc2] black: [Kf3, Rd8, Ba5, Sg6, Sc5, Ph5, Pe4, Pd4] stipulation: "#2" solution: | "1. c4! [2. Bd1#] 1... S:b3 2. Q:h5# 1... d:c3 e.p. 2. Se1# 1... Ke2 2. Bd1#" --- authors: - Куббель, Леонид Иванович source: Шахіст (Київ) source-id: 8/9 date: 1936-12-15 algebraic: white: [Ka1, Qd8, Sb6, Sa7, Pe5, Pb5, Pb2] black: [Ka5, Rg6, Bh6, Bg2, Sg8, Pe6, Pe3, Pb7] stipulation: "#3" solution: | "1. Qd6? [2. b4#] 1... Bc6 2. Sc4+ 2... Ka4 3. Qa3# But 1... Rg4! 1. Qd4? ~ 2. b4# But 1... Bf8! 1. b3! [2. Sd5+ 2... b6 3. Q:b6#] 1... Rg7 2. Qd4 ~ 3. b4# 1... Bg5 2. Qd6 [3. Sc4, b4#] 2... Bf1/d5 3. b4# 2... Bc6 3. Sc4# 1... Kb4 2. Qd4+ 2... K:b3 3. Qb2# 2... Ka3 3. Qa4# 2... Ka5 3. b4#" --- authors: - Куббель, Леонид Иванович source: Národní Listy source-id: 132/669 date: 1911-05-14 algebraic: white: [Kf6, Qf2, Rb5, Pg7, Pg5, Pf7, Pf3, Pe2, Pd2, Pc2, Pb3] black: [Kd5, Rc6, Bc5, Pg6, Pf4, Pd6, Pc7, Pb6, Pb4] stipulation: "s#2" solution: "1. Qh4! Kd4 2. e4 d5#" --- authors: - Куббель, Леонид Иванович source: Národní Listy source-id: 173/687 date: 1911-06-25 algebraic: white: [Kc2, Qd2, Bf6, Sg7, Pc6, Pc3, Pb4] black: [Ke4, Pg6, Pe6] stipulation: "#3" solution: | "1. Qf2! - zz 1... e5 2. Qg2+ Kf4, Ke3 3. Bg5# 1... g5 2. Qe2+ Kf4 3. Be5# 2... Kd5 3. Q:e6# 1... Kd5 2. Qf3+ Kd6 3. Se8# 2... Kc4 3. Qd3#" --- authors: - Куббель, Леонид Иванович source: Národní Listy source-id: 201/698 date: 1911-07-23 algebraic: white: [Kf2, Rf5, Bd8, Bd3, Pd5, Pc3, Pb5] black: [Kc5, Pd6, Pc6] stipulation: "#3" solution: | "1. Ba5! - zz 1... c:d5 2. c4 Kd4 3. R:d5# 1... c:b5 2. Ke3 b4 3. c:b4#" --- authors: - Куббель, Леонид Иванович source: Magyar Sakkujság source-id: 6/54 date: 1911-07-10 algebraic: white: [Kf1, Qa1, Be5, Pg6, Pf7, Pd6, Pd2, Pb3] black: [Kf8, Ba3, Ph5, Pg5, Pe6, Pd7, Pd4, Pb4, Pa7, Pa2] stipulation: "#3" solution: | "1.Kf1-g1 ! threat: 2.Qa1-f1 threat: 3.g6-g7 # 1...Ba3-c1 2.Qa1*d4 threat: 3.Be5-g7 #" --- authors: - Куббель, Леонид Иванович source: Jas source-id: 727 date: 1935-12-06 algebraic: white: [Ka5, Qa7, Rd4, Rc3, Bh1, Bf2, Se8, Pb2] black: [Kc5, Rb6, Pe5, Pc4] stipulation: "s#3" solution: | "1.Ka5-a4 ! zugzwang. 1...e5-e4 2.b2-b4 + 2...Kc5-c6 3.Qa7-a6 3...Rb6*a6 # 1...e5*d4 2.Qa7-a5 + 2...Rb6-b5 3.Ka4-a3 3...Rb5*a5 #" --- authors: - Куббель, Леонид Иванович source: Шахматы в СССР source-id: 1/1374 date: 1932 algebraic: white: [Kc6, Qg5, Rf4, Rc3, Pg3] black: [Ke1, Pf5, Pe2, Pd2] stipulation: "#3" solution: | "1.Rf4-f3 !{display-departure-square} zugzwang. 1...Ke1-d1 2.Qg5-h5 threat: 3.Rf3-f1 # 2...Kd1-e1 3.Qh5-h1 # 1...d2-d1=Q{(d1~)} 2.Rc3-c1 zugzwang. 2...Qd1*c1 + 3.Qg5*c1 # 2...f5-f4 3.Qg5-a5 # 1...f5-f4 2.Qg5-a5 threat: 3.Rc3-c1 # 2...Ke1-d1 3.Qa5-a1 #" --- authors: - Куббель, Леонид Иванович source: Polski Zadaniowiec date: 1931 distinction: 1st Prize algebraic: white: [Ka5, Qd5, Rh2, Rg3, Bf3, Be1, Se2, Sd3, Pc2, Pb6, Pa4] black: [Ke3, Rg5, Be4, Bc1, Sg7, Sa2, Ph5, Pg4, Pe6, Pc3, Pb7, Pb4] stipulation: "s#2" solution: | "1.Sd3-b2 ! threat: 2.Qd5-c5 + 2...Rg5*c5 # 1...Be4*f3 2.Qd5-e5 + 2...Rg5*e5 # 1...Be4-f5 2.Qd5-e4 + 2...Bf5*e4 # 1...Be4*d5 2.Bf3-h1 + 2...Bd5-f3 # 1...Rg5-g6 2.Qd5-g5 + 2...Rg6*g5 # 1...e6-e5 2.Qd5-d4 + 2...e5*d4 # 1...e6*d5 2.Sb2-c4 + 2...d5*c4 # 1...Sg7-f5 2.Qd5-d4 + 2...Sf5*d4 #" --- authors: - Куббель, Леонид Иванович source: Schweizerische Schachzeitung source-id: 797 date: 1907-05 algebraic: white: [Ka4, Rb8, Rb4, Pc7, Pc6, Pa5] black: [Ka6, Rc8, Pa7] stipulation: "#3" solution: | "1.Rb8-a8 ! threat: 2.Rb4-b6 # 1...Rc8*a8 2.Rb4-b8 threat: 3.c7-c8=Q # 2...Ra8*b8 3.c7*b8=S #" --- authors: - Куббель, Леонид Иванович source: Schweizerische Schachzeitung source-id: 798 date: 1907-05 algebraic: white: [Kh3, Qf5, Se4, Sb2, Pc2, Pb4] black: [Kd4, Sa1, Pe2, Pd5] stipulation: "#3" solution: | "1.Qf5-f4 ! threat: 2.c2-c3 # 1...Sa1*c2 2.Se4-c5 + 2...Kd4-c3 3.Sb2-a4 # 1...e2-e1=Q 2.c2-c3 + 2...Qe1*c3 + 3.Se4-g3 # 1...d5*e4 2.Qf4-f6 + 2...Kd4-d5 3.c2-c4 # 2...Kd4-e3 3.Sb2-c4 #" --- authors: - Куббель, Леонид Иванович source: Schweizerische Schachzeitung source-id: 799 date: 1907-05 algebraic: white: [Kf8, Qf1, Re5, Be6, Pe4, Pc3] black: [Kd6, Ba4, Pe3, Pc6, Pc4, Pb6, Pb5] stipulation: "#3" solution: | "1.Be6-c8 ! 1...c6-c5 2.Re5-e7 threat: 3.Qf1-f6 # 1...Kd6*e5 2.Kf8-e7 threat: 3.Qf1-f5 # 1...Kd6-c7 2.Qf1-f7 + 2...Kc7-d6 3.Qf7-e7 # 2...Kc7-b8 3.Qf7-b7 # 2...Kc7*c8 3.Re5-e8 # 2...Kc7-d8 3.Qf7-d7 # 3.Re5-e8 #" --- authors: - Куббель, Леонид Иванович source: Schweizerische Schachzeitung source-id: 800 date: 1907-05 algebraic: white: [Kb8, Rd4, Sd7, Sd6, Pb5, Pb3, Pa2] black: [Ka5, Ra1, Sc3, Pd5] stipulation: "#3" solution: | "1.a2-a3 ! threat: 2.Rd4-a4 + 2...Sc3*a4 3.b3-b4 # 1...Ra1*a3 2.b3-b4 + 2...Ka5-a4 3.Sd7-c5 # 1...Ra1-b1 2.Rd4-b4 threat: 3.Sd6-b7 # 2...Sc3*b5 3.Rb4-a4 #" --- authors: - Куббель, Леонид Иванович source: Schweizerische Schachzeitung source-id: 802 date: 1907-05 algebraic: white: [Kb7, Qe3, Bc8, Se5, Pf7] black: [Kf6, Rh8, Bg7, Sg8, Ph7, Ph5, Ph4, Pg3] stipulation: "#3" solution: | "1.Qe3-d4 ! threat: 2.Qd4-d6 + 2...Kf6-g5 3.Se5-f3 # 1...Kf6-g5 2.Qd4*h4 + 2...Kg5*h4 3.Se5-f3 # 2...Kg5-h6 3.Qh4-f4 # 1...Kf6-e7 2.Qd4-d8 + 2...Ke7*d8 3.Se5-c6 # 1...Bg7-f8 2.Qd4-f4 + 2...Kf6-g7 3.Qf4-g5 # 2...Kf6-e7 3.Se5-c6 #" --- authors: - Куббель, Леонид Иванович source: Schweizerische Schachzeitung source-id: 803 date: 1907-05 algebraic: white: [Kf7, Qc1, Rb7, Rb6, Pe4, Pd7] black: [Kd6, Re1, Bc6, Sd2, Sb1, Pf5] stipulation: "#2" solution: | "1.Rb6-b5 ! threat: 2.Qc1-c5 # 1...Sb1-c3 2.Qc1-a3 # 1...Re1*c1 2.e4-e5 # 1...Sd2*e4 2.Qc1-f4 # 1...Sd2-c4 2.Qc1-h6 # 1...Bc6*b5 2.Qc1-c7 # 1...Bc6-d5 + 2.Rb5*d5 # 1...Bc6*b7 2.d7-d8=Q # 1...Sd2-b3 2.Qc1-h6 # 2.Qc1-f4 #" --- authors: - Куббель, Леонид Иванович source: Шахматы source-id: 12/288 date: 1925 algebraic: white: [Kb7, Qb2, Re1, Bf5, Ba3, Pg4, Pc2, Pa2] black: [Kd5, Re2, Pf4, Pe7, Pb6] stipulation: "#2" solution: | "1.c2-c3 ! threat: 2.Qb2-b5 # 1...Kd5-e5 2.c3-c4 # 1...Re2*b2 2.Bf5-e6 # 1...Kd5-c4 2.Qb2-b3 #" --- authors: - Куббель, Леонид Иванович source: Шахматы source-id: 12/289 date: 1925 algebraic: white: [Ka2, Qd1, Bg1, Se3, Sc3, Ph4, Pg2, Pf6, Pd5, Pd2, Pc2, Pb6] black: [Kd6, Ra7, Bd3, Ph5, Pd7, Pc4, Pa5] stipulation: "#3" solution: | "1.Qd1-f1 ! threat: 2.Se3-f5 + 2...Bd3*f5 3.Qf1-f4 # 2...Kd6-e5 3.Bg1-d4 # 1...Bd3*f1 2.d2-d4 threat: 3.Se3-f5 # 3.Sc3-e4 # 3.Sc3-b5 # 3.Bg1-h2 # 2...c4*d3 ep. 3.Se3-c4 # 1...Kd6-e5 2.Qf1-f4 + 2...Ke5*f4 3.Bg1-h2 #" --- authors: - Куббель, Леонид Иванович source: Шахматный листок source-id: 20/1024 date: 1929 algebraic: white: [Kc7, Rf4, Bb1, Pe6, Pb4, Pb2, Pa2] black: [Ka4, Pf5, Pe7] stipulation: "#3" solution: | "1.Bb1-e4 ! threat: 2.Be4-c6 # 1...Ka4-b5 2.Be4-b7 zugzwang. 2...Kb5-a4 3.Bb7-c6 # 1...Ka4*b4 2.Be4-c6 + 2...Kb4-c5 3.b2-b4 # 2...Kb4-a5 3.Rf4-a4 # 1...f5*e4 2.Kc7-b6 zugzwang. 2...Ka4*b4 3.Rf4*e4 # 2...e4-e3 3.b4-b5 #" --- authors: - Куббель, Леонид Иванович source: Шахматный листок source-id: 19/1016 date: 1929 algebraic: white: [Kf5, Bb5, Bb4, Pf3, Pd6, Pc7, Pa6] black: [Kc8, Rg1, Bh1, Pg2, Pf2, Pe2, Pb6] stipulation: "#3" solution: | "1.Bb4-e1 ! threat: 2.Kf5-e6 threat: 3.Bb5-d7 # 1...f2-f1=B 2.Be1-g3 threat: 3.d6-d7 #" --- authors: - Куббель, Леонид Иванович source: Шахматный листок source-id: 14/992 date: 1929 algebraic: white: [Ka7, Bg8, Bf8, Se3, Sb6, Ph6, Pe7] black: [Ke8, Rf2, Rd2, Be1, Sd1, Ph3, Pf6, Pf5, Pd6, Pd5, Pb5, Pa4] stipulation: "#3" solution: | "1.h6-h7 ! threat: 2.h7-h8=S threat: 3.Bg8-f7 # 1...Rd2-c2 2.Se3*d5{display-departure-file} threat: 3.Sd5*f6 # 2...Be1-c3 3.Sd5-c7 # 2...Rc2-c7 + 3.Sd5*c7 # 1...Rf2-g2 2.Se3*f5 threat: 3.Sf5*d6 # 2...Be1-g3 3.Sf5-g7 #" --- authors: - Куббель, Леонид Иванович source: Шахматный листок source-id: 12/975 date: 1929 algebraic: white: [Kg5, Qc1, Bh2, Sg2, Pf6, Pf5, Pc3, Pb7, Pb2] black: [Ke5, Ra7, Sa6, Pf4, Pd7, Pd3, Pb6] stipulation: "#3" solution: | "1.Qc1-h1 ! threat: 2.Sg2*f4 threat: 3.Sf4*d3 # 3.Sf4-e2 # 3.Sf4-h3 # 3.Sf4-h5 # 3.Sf4-g6 # 3.Sf4-e6 # 3.Sf4-d5 # 3.Qh1-d5 # 1...Ke5-e4 2.Sg2-h4 + 2...Ke4-e3 3.Qh1-e1 # 2...Ke4-e5 3.Bh2*f4 # 2...f4-f3 3.Qh1*f3 # 1...Sa6-c5 2.Bh2*f4 + 2...Ke5-e4 3.Sg2-e1 # 3.Sg2-h4 # 3.Sg2-e3 # 2...Ke5-d5 3.Sg2-e3 #" --- authors: - Куббель, Леонид Иванович source: Шахматный листок source-id: 8/939 date: 1929 algebraic: white: [Kh3, Qb4, Be3, Ph6, Pg5, Pg2, Pc5, Pc2, Pb3] black: [Kf5, Pc7] stipulation: "#3" solution: | "1.Qb4-b8 ! threat: 2.Qb8-e8 threat: 3.g2-g4 # 1...c7-c6 2.Qb8-d6 zugzwang. 2...Kf5-e4 3.Qd6-e6 #" --- authors: - Куббель, Леонид Иванович source: Шахматный листок source-id: 5/912 date: 1929 algebraic: white: [Kd1, Qg3, Pf6, Pe7, Pd6] black: [Ke8, Ba5, Pe6] stipulation: "#3" solution: "1.Qg3-e5 ? 1...Ke8-d7 !" keywords: - Unsound comments: - "with bPa5? 1.Qe5!" - 138793 --- authors: - Куббель, Леонид Иванович source: Шахматный листок source-id: 3/894 date: 1929 algebraic: white: [Ke8, Qh5, Rd7, Pg7, Pg4] black: [Kh7, Bh6, Bg8, Pg5, Pe6] stipulation: "#3" solution: | "1.Ke8-d8 ! zugzwang. 1...e6-e5 2.Qh5-e8 zugzwang. 2...e5-e4 3.Qe8*e4 # 2...Bg8-a2{(Bg~)} 3.g7-g8=Q # 2...Bh6*g7 3.Qe8-h5 # 1...Bg8-f7 2.Qh5*f7 threat: 3.g7-g8=Q # 2...Bh6*g7 3.Qf7*g7 #" --- authors: - Куббель, Леонид Иванович source: Шахматы source-id: 3-4/43 date: 1923 algebraic: white: [Ka1, Qc3, Re2, Bf1, Sd8, Sd5, Pd4, Pb2] black: [Ka6, Be3, Sa8, Sa3, Pa7, Pa4] stipulation: "#2" solution: | "1.b2-b4 ! zugzwang. 1...a4*b3 ep. 2.Re2-a2 # 1...Be3-c1{(B~)} 2.Re2-e6 # 1...Sa3-c2 + 2.Re2*c2 # 1...Sa3-c4 2.Qc3*c4 # 1...Sa3-b5 2.Qc3-c8 # 1...Ka6-b5 2.Qc3-c6 # 1...Sa8-b6 2.Sd5-c7 # 1...Sa8-c7 2.Qc3-c6 # 1...Sa3-b1 2.Qc3-c4 # 2.Qc3-d3 # 2.Re2-e1 #{(R~)}" keywords: - En passant - Battery play --- authors: - Куббель, Леонид Иванович source: Шахматы source-id: 1-2/35 date: 1923 algebraic: white: [Kc8, Bb3, Sa6, Ph5, Pg7, Pg6, Pe5, Pe3, Pa5] black: [Ke7, Sd7, Ph6] stipulation: "#4" solution: | "1.Sa6-c5 ! threat: 2.Sc5*d7 threat: 3.g7-g8=S + 3...Ke7-e8 4.Bb3-f7 # 2...Ke7-e8 3.Bb3-f7 + 3...Ke8-e7 4.g7-g8=S # 3.g7-g8=Q + 3...Ke8-e7 4.Qg8-e6 # 4.Qg8-f7 # 4.Qg8-d8 # 4.Qg8-f8 # 1...Sd7-b6 + 2.a5*b6 zugzwang. 2...Ke7-e8 3.g7-g8=Q + 3...Ke8-e7 4.Qg8-f7 # 4.Qg8-d8 # 1...Sd7*e5 2.g7-g8=Q threat: 3.Qg8-d8 # 2...Se5-f7 3.Qg8*f7 + 3...Ke7-d6 4.Qf7-c7 # 2...Se5-d7 3.Sc5*d7 threat: 4.Qg8-e6 # 4.Qg8-f8 # 3...Ke7-d6 4.Qg8-e6 # 3.Qg8-e6 + 3...Ke7-f8 4.Qe6-f7 # 2...Se5-c6 3.Qg8-e6 + 3...Ke7-f8 4.Qe6-f7 # 3.Qg8-g7 + 3...Ke7-d6 4.Sc5-e4 # 4.Sc5-b7 # 3...Ke7-e8 4.Qg7-f7 # 2...Ke7-d6 3.Sc5-e4 + 3...Kd6-e7 4.Qg8-d8 # 3...Kd6-c6 4.Qg8-d5 # 4.Bb3-a4 # 3.Sc5-b7 + 3...Kd6-e7 4.Qg8-d8 # 3...Kd6-c6 4.Qg8-d5 # 4.Bb3-a4 # 3.Qg8-d5 + 3...Kd6-e7 4.Qd5-d8 # 3.Qg8-e6 + 3...Kd6*c5 4.Qe6-b6 # 2...Ke7-f6 3.Qg8-d8 + 3...Kf6-g7 4.Sc5-e6 # 3...Kf6-f5 4.Bb3-e6 # 1...Sd7-f6 2.Bb3-f7 zugzwang. 2...Sf6-d5 3.g7-g8=S + 3...Ke7-f8 4.Sc5-e6 # 2...Sf6-e4 3.g7-g8=S + 3...Ke7-f8 4.Sc5-e6 # 2...Sf6-g4 3.g7-g8=Q threat: 4.Qg8-d8 # 4.Qg8-e8 # 3...Sg4-f6 4.Qg8-d8 # 3...Sg4*e5 4.Qg8-d8 # 3.g7-g8=S + 3...Ke7-f8 4.Sc5-e6 # 2...Sf6*h5 3.g7-g8=Q threat: 4.Qg8-d8 # 4.Qg8-e8 # 3...Sh5-g7 4.Qg8-d8 # 3...Sh5-f6 4.Qg8-d8 # 3.g7-g8=S + 3...Ke7-f8 4.Sc5-e6 # 2...Sf6-h7 3.g7-g8=S + 3...Ke7-f8 4.Sc5-e6 # 2...Sf6-g8 3.Sc5-e4 zugzwang. 3...Sg8-f6 4.e5*f6 # 2...Sf6-e8{(Sd7)} 3.g7-g8=S + 3...Ke7-f8 4.Sc5-e6 #" --- authors: - Куббель, Леонид Иванович source: Шахматы source-id: 2/7 date: 1922 algebraic: white: [Kh4, Qd2, Rf8, Ph5, Pf6, Pe3, Pd5, Pc6] black: [Ke5, Sg8, Se8, Ph6, Pe4, Pd6, Pc7] stipulation: "#3" solution: | "1.f6-f7 ! threat: 2.f7*g8=Q threat: 3.Qg8-e6 # 3.Qg8-g3 # 3.Qd2-c3 # 3.Qd2-b2 # 3.Qd2-d4 # 3.Qd2-h2 # 2.f7*e8=Q + 2...Sg8-e7 3.Qe8*e7 # 3.Qd2-d4 # 1...Ke5-f6 2.Qd2-h2 zugzwang. 2...Kf6-g7 3.f7*g8=Q # 2...Kf6-e7 3.f7*e8=Q # 2...Kf6-f5 3.Qh2-f4 # 2...Se8-g7 3.f7*g8=S # 2...Sg8-e7 3.f7*e8=S # 1...Se8-f6 2.f7*g8=Q threat: 3.Qg8-e6 # 2...Sf6*d5 3.Qg8*d5 # 3.Qd2*d5 # 3.Qd2-d4 # 2...Sf6*g8 3.Qd2-d4 # 1...Se8-g7 2.Qd2-d4 + 2...Ke5-f5 3.f7*g8=Q # 3.f7*g8=S # 3.f7*g8=R # 3.f7*g8=B # 1...Sg8-e7 2.Qd2-d4 + 2...Ke5-f5 3.f7*e8=Q # 3.f7*e8=S # 3.f7*e8=R # 3.f7*e8=B # 1...Sg8-f6 2.f7*e8=Q + 2...Ke5-f5 3.Qe8-e6 # 3.Qd2-f2 # 2...Sf6*e8 3.Qd2-d4 # 2.f7*e8=R + 2...Ke5-f5 3.Qd2-f2 # 2...Sf6*e8 3.Qd2-d4 #" --- authors: - Куббель, Леонид Иванович source: «64» source-id: 24/937 date: 1929 distinction: Comm., 2nd half-year algebraic: white: [Kg2, Qe4, Rh5, Ra8, Be7, Ba2, Sg6, Sf8] black: [Kg8, Rg4, Rd3, Bf7, Bf4, Sh3, Pg3, Pd2, Pb7] stipulation: "#2" solution: | "1.Sg6-e5 ! threat: 2.Qe4-h7 # 1...Sh3-g5 2.Qe4-g6 # 1...Rg4-g7 2.Sf8-d7 # 1...Bf7-d5 2.Sf8-e6 #" keywords: - Battery play --- authors: - Куббель, Леонид Иванович source: Конкурс имени VII шахматно-шашечного съезда, «64» source-id: 1/ date: 1932 distinction: 5th HM, 1931-1932 algebraic: white: [Ke8, Qe3, Rd7, Rc2, Bh1, Bc5, Sa3, Pe6, Pa6, Pa5] black: [Kc6, Qg2, Rh5, Re4, Sc1, Ph7, Pf7, Pf5, Pc7] stipulation: "#2" solution: | "1.Qe3-f4 ! threat: 2.Qf4*c7 # 1...Qg2-g8 + 2.Bc5-f8 # 1...Qg2-g3 2.Bc5-e3 # 1...Qg2-h2 2.Bc5-f2 # 1...Re4*e6 + 2.Bc5-e7 # 1...Re4-e5 2.Qf4-a4 # 1...Re4*f4 2.Bc5-d4 #" keywords: - Half-pin - Battery play --- authors: - Куббель, Леонид Иванович source: Tijdschrift vd NSB date: 1921 algebraic: white: [Ka3, Qb8, Rf4, Rc1, Ba1, Sb4, Pg3, Pd2] black: [Ke5, Sd6, Sb2, Pe6, Pd3, Pc4, Pb5] stipulation: "s#4" solution: | "1.Rc1-c3 ! zugzwang. 1...Sb2-d1 2.Rc3*c4 + 2...Sd1-c3 3.Ba1-b2 zugzwang. 3...b5*c4 4.Qb8-b5 + 4...Sd6*b5 # 2...Sd1-b2 3.Ka3-b3 zugzwang. 3...b5*c4 + 4.Kb3-c3 4...Sb2-d1 # 4...Sb2-a4 # 1...Sb2-a4 2.Rc3*c4 + 2...Sa4-b2 3.Ka3-b3 zugzwang. 3...b5*c4 + 4.Kb3-c3 4...Sb2-d1 # 4...Sb2-a4 # 2...Sa4-c3 3.Ba1-b2 zugzwang. 3...b5*c4 4.Qb8-b5 + 4...Sd6*b5 #" --- authors: - Куббель, Леонид Иванович source: Die Schwalbe date: 1934 algebraic: white: [Kh1, Rh2, Rb2, Bh8, Bh7, Sd2, Pa5] black: [Ka1, Ra6, Ph3, Pb6, Pa7] stipulation: "s#4" solution: | "1.Sd2-b1 ! zugzwang. 1...Ra6*a5 2.Rb2-e2 + 2...Ra5-e5 3.Re2-e1 threat: 4.Sb1-c3 + 4...Re5*e1 # 1...b6-b5 2.Rb2-f2 + 2...Ra6-f6 3.Rf2-f1 threat: 4.Sb1-c3 + 4...Rf6*f1 # 1...b6*a5 2.Rb2-f2 + 2...Ra6-f6 3.Rf2-f1 threat: 4.Sb1-c3 + 4...Rf6*f1 #" --- authors: - Куббель, Леонид Иванович source: Смена (Москва) source-id: 1/93 date: 1939 algebraic: white: [Kc8, Bd4, Bb7, Pf5, Pc5] black: [Ka7, Sh5, Pf6, Pc6] stipulation: "#3" solution: | "1.Bd4-g1 ! {- zugzwang} 1...Sh5-f4 2.Bg1-h2 {- zugzwang} 2...Sf4-d3 {(S~)} 3.Bh2-b8 # 1...Sh5-g3 2.Bg1-h2 {- zugzwang} 2...Sg3-e2 {(S~)} 3.Bh2-b8 # 1...Sh5-g7 2.Bg1-h2 threat: 3.Bh2-b8 #" --- authors: - Куббель, Леонид Иванович source: Смена (Москва) source-id: 1/94 date: 1939 algebraic: white: [Kg6, Rg5, Pb5] black: [Kh8, Rb4, Ba6, Ba5, Pd4, Pc7] stipulation: "#3" solution: | "1.Rg5-d5 ! threat: 2.Rd5-d8 # 1...Ba6*b5 2.Rd5-d8 + 2...Bb5-e8 + 3.Rd8*e8 # 1...c7-c5 2.Kg6-f7 threat: 3.Rd5-h5 # 1...c7-c6 2.Rd5-e5 threat: 3.Re5-e8 #" --- authors: - Куббель, Леонид Иванович source: date: 1908 algebraic: white: [Kd7, Rd3, Bb4, Sc4, Sa3, Pf3, Pe5, Pd4, Pc6, Pb5] black: [Kd5, Sa8, Pf5, Pf4, Pc7, Pb6, Pa6, Pa4] stipulation: "#3" solution: | "1.Rd3-d1 ! 1...a6-a5 2.Bb4-d2 2...Kd5*d4 3.Bd2-b4 # 1...a6*b5 2.Sc4-d2 2...Kd5*d4 3.Sd2-c4 #" comments: - republished in «Смена» (Москва), 1939, № 7/117 ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootpychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-checkmate-patterns-iii_by_arex_2017.01.27.pgnpychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-checkmate-patterns-iii_by_arex_2017.01.270000644000175000017500000002073213365545272032362 0ustar varunvarun[Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns III: Opera Mate #1"] [Site "https://lichess.org/study/PDkQDt6u"] [UTCDate "2017.01.27"] [UTCTime "11:34:32"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "4k3/5p2/8/6B1/8/8/8/3R2K1 w - - 0 1"] [SetUp "1"] { The Opera Mate works by attacking the king on the back rank with a rook using a bishop to protect it. A pawn or other piece other than a knight of the enemy king's is used to restrict its movement. The checkmate was named after its implementation by Paul Morphy in 1858 at a game at the Paris opera against Duke Karl of Brunswick and Count Isouard, known as the "The Opera Game". } * [Termination "mate in 2"] [Event "Lichess Practice: Checkmate Patterns III: Opera Mate #2"] [Site "https://lichess.org/study/PDkQDt6u"] [UTCDate "2017.01.27"] [UTCTime "11:37:30"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "rn1r2k1/ppp2ppp/3q1n2/4b1B1/4P1b1/1BP1Q3/PP3PPP/RN2K1NR b KQ - 0 1"] [SetUp "1"] { From Josef Emil Krejcik - Julius Thirring, 1898. } * [Termination "mate in 3"] [Event "Lichess Practice: Checkmate Patterns III: Opera Mate #3"] [Site "https://lichess.org/study/PDkQDt6u"] [UTCDate "2017.01.27"] [UTCTime "11:44:39"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "rn3rk1/p5pp/2p5/3Ppb2/2q5/1Q6/PPPB2PP/R3K1NR b KQ - 0 1"] [SetUp "1"] { From John William Schulten - Bernhard Horwitz, 1846. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns III: Anderssen's Mate #1"] [Site "https://lichess.org/study/PDkQDt6u"] [UTCDate "2017.01.27"] [UTCTime "11:49:34"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "6k1/6P1/5K1R/8/8/8/8/8 w - - 0 1"] [SetUp "1"] { In Anderssen's mate, named for Adolf Anderssen, the rook or queen is supported by a diagonally-attacking piece such as a pawn or bishop as it checkmates the opposing king along the eighth rank. } * [Termination "mate in 3"] [Event "Lichess Practice: Checkmate Patterns III: Anderssen's Mate #2"] [Site "https://lichess.org/study/PDkQDt6u"] [UTCDate "2017.01.27"] [UTCTime "13:12:17"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "1k2r3/pP3pp1/8/3P1B1p/5q2/N1P2b2/PP3Pp1/R5K1 b - - 0 1"] [SetUp "1"] { From Isidor Gunsberg - Emil Schallopp, 1886. } * [Termination "mate in 4"] [Event "Lichess Practice: Checkmate Patterns III: Anderssen's Mate #3"] [Site "https://lichess.org/study/PDkQDt6u"] [UTCDate "2017.01.27"] [UTCTime "13:25:38"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2r1nrk1/p4p1p/1p2p1pQ/nPqbRN2/8/P2B4/1BP2PPP/3R2K1 w - - 0 1"] [SetUp "1"] { From Rudolf Spielmann - Baldur Hoenlinger, 1929. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns III: Dovetail Mate #1"] [Site "https://lichess.org/study/PDkQDt6u"] [UTCDate "2017.01.27"] [UTCTime "23:39:16"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "1r6/pk6/4Q3/3P4/8/8/8/6K1 w - - 0 1"] [SetUp "1"] { In the Dovetail Mate, the mating queen is one square diagonally from the mated king which escape is blocked by two friendly non-Knight pieces. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns III: Dovetail Mate #2"] [Site "https://lichess.org/study/PDkQDt6u"] [UTCDate "2017.01.28"] [UTCTime "00:05:49"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r1b1q1r1/ppp3kp/1bnp4/4p1B1/3PP3/2P2Q2/PP3PPP/RN3RK1 w - - 0 1"] [SetUp "1"] { From Gioachino Greco - NN, 1620. } * [Termination "mate in 4"] [Event "Lichess Practice: Checkmate Patterns III: Dovetail Mate #3"] [Site "https://lichess.org/study/PDkQDt6u"] [UTCDate "2017.01.28"] [UTCTime "16:17:32"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "6k1/1p1b3p/2pp2p1/p7/2Pb2Pq/1P1PpK2/P1N3RP/1RQ5 b - - 0 1"] [SetUp "1"] { From Juan Manuel Bellon Lopez - Jan Smejkal, 1970. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns III: Dovetail Mate #4"] [Site "https://lichess.org/study/PDkQDt6u"] [UTCDate "2017.01.28"] [UTCTime "15:55:37"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "rR6/5k2/2p3q1/4Qpb1/2PB1Pb1/4P3/r5R1/6K1 w - - 0 1"] [SetUp "1"] { Other variations of the Dovetail Mate can occur if a queen delivers mate by checking the king from a diagonally adjacent square while supported by a friendly piece and you also control the two potential escape squares with other pieces, typically a bishop. } 1. Qe8# * [Termination "mate in 2"] [Event "Lichess Practice: Checkmate Patterns III: Cozio's Mate #1"] [Site "https://lichess.org/study/PDkQDt6u"] [UTCDate "2017.01.27"] [UTCTime "23:36:38"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/1Q6/8/6pk/5q2/8/6K1 w - - 0 1"] [SetUp "1"] { Cozio's Mate is an upside down version of the Dovetail Mate. It was named after a study by Carlo Cozio that was published in 1766. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns III: Swallow's Tail Mate #1"] [Site "https://lichess.org/study/PDkQDt6u"] [UTCDate "2017.01.27"] [UTCTime "23:47:52"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "3r1r2/4k3/R7/3Q4/8/8/8/6K1 w - - 0 1"] [SetUp "1"] { The Swallow's Tail Mate works by attacking the enemy king with a queen that is protected by a rook or other piece. The enemy king's own pieces block its means of escape. It is also known as the Guéridon Mate. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns III: Swallow's Tail Mate #2"] [Site "https://lichess.org/study/PDkQDt6u"] [UTCDate "2017.01.28"] [UTCTime "00:12:11"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/2P5/3K1k2/2R3p1/2q5/8/8 b - - 0 1"] [SetUp "1"] { From Paul Keres - Robert James Fischer, 1959. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns III: Epaulette Mate #1"] [Site "https://lichess.org/study/PDkQDt6u"] [UTCDate "2017.01.27"] [UTCTime "23:50:48"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "3rkr2/8/5Q2/8/8/8/8/6K1 w - - 0 1"] [SetUp "1"] { The Epaulette Mate is a checkmate where two parallel retreat squares for a checked king are occupied by its own pieces, preventing its escape. } * [Termination "mate in 2"] [Event "Lichess Practice: Checkmate Patterns III: Epaulette Mate #2"] [Site "https://lichess.org/study/PDkQDt6u"] [UTCDate "2017.01.27"] [UTCTime "23:55:58"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "1k1r4/pp1q1B1p/3bQp2/2p2r2/P6P/2BnP3/1P6/5RKR b - - 0 1"] [SetUp "1"] { From Loek van Wely - Alexander Morozevich, 2001. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns III: Epaulette Mate #3"] [Site "https://lichess.org/study/PDkQDt6u"] [UTCDate "2017.01.28"] [UTCTime "00:13:15"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5r2/pp3k2/5r2/q1p2Q2/3P4/6R1/PPP2PP1/1K6 w - - 0 1"] [SetUp "1"] { From Magnus Carlsen - Sipke Ernst, 2004. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns III: Pawn Mate #1"] [Site "https://lichess.org/study/PDkQDt6u"] [UTCDate "2017.01.28"] [UTCTime "00:33:21"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/7R/1pkp4/2p5/1PP5/8/8/6K1 w - - 0 1"] [SetUp "1"] { Although the Pawn Mate can take many forms, it is generally characterized as a mate in which a pawn is the final attacking piece and where enemy pawns are nearby. The Pawn Mate is sometimes also called the David and Goliath Mate, named after the biblical account of David and Goliath. } * [Termination "mate in 2"] [Event "Lichess Practice: Checkmate Patterns III: Pawn Mate #2"] [Site "https://lichess.org/study/PDkQDt6u"] [UTCDate "2017.01.28"] [UTCTime "00:42:44"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r1b3nr/ppp3qp/1bnpk3/4p1BQ/3PP3/2P5/PP3PPP/RN3RK1 w - - 0 1"] [SetUp "1"] { From Gioachino Greco vs NN, 1620. } *././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootpychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-discovered-attacks_by_arex_2017.01.30.sqlitepychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-discovered-attacks_by_arex_2017.01.30.sql0000644000175000017500000026000013441162535032361 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) [9learn/puzzles/lichess_study_lichess-practice-discovered-attacks_by_arex_2017.01.30.pgn   %Qhttps://lichess.org/study/MnsJEWnI %Q https://lichess.org/study/MnsJEWnI Ahttps://lichess.org/@/arex A https://lichess.org/@/arex BF < Lichess Practice: Discovered Attacks: Discovered Check #5> Lichess Practice: Discovered Attacks: Discovered Attack #5<Lichess Practice: Discovered Attacks: Discovered Check #4>Lichess Practice: Discovered Attacks: Discovered Attack #4<Lichess Practice: Discovered Attacks: Discovered Check #3>Lichess Practice: Discovered Attacks: Discovered Attack #3<Lichess Practice: Discovered Attacks: Discovered Check #2>Lichess Practice: Discovered Attacks: Discovered Attack #2<Lichess Practice: Discovered Attacks: Discovered Check #1>Lichess Practice: Discovered Attacks: Discovered Attack #1 CG  =Lichess Practice: Discovered Attacks: Discovered Check #5 ?Lichess Practice: Discovered Attacks: Discovered Attack #5 =Lichess Practice: Discovered Attacks: Discovered Check #4?Lichess Practice: Discovered Attacks: Discovered Attack #4=Lichess Practice: Discovered Attacks: Discovered Check #3?Lichess Practice: Discovered Attacks: Discovered Attack #3=Lichess Practice: Discovered Attacks: Discovered Check #2?Lichess Practice: Discovered Attacks: Discovered Attack #2=Lichess Practice: Discovered Attacks: Discovered Check #1> Lichess Practice: Discovered Attacks: Discovered Attack #1  20180221 {/n { $ Q    u C@ 0?3r4/1R1P1k1p/1p1q2p1/1Pp5/2P5/6P1/4Q1KP/8 w - - 6 51U    } zx 0?8/1b1Q1ppk/p2bp2p/1p1q4/3Pp3/1P2B1P1/P6P/2R3K1 b - - 0 1Z    0?r1bq2rk/1p1p4/p1n1pPQp/3n4/4N3/1N1Bb3/PPP3PP/R4R1K w - - 0 1G   a = 80?8/8/4np2/4pk1p/RNr4P/P3KP2/1P6/8 w - - 1 1L   k 0?3k4/7R/p2P4/2p1b3/8/2P3rB/P4r2/1K2R3 w - - 3 41_    0?r1b2rk1/ppqn1pbp/5np1/3p4/3BP3/1P1B1P1P/P2N2PN/R2Q1RK1 b - - 0 14^     RP0?r2q1bnr/pp2k1pp/3p1p2/1Bp1N1B1/8/2Pp4/PP3PPP/RN1bR1K1 w - - 0 12J   g 0?r4k2/2r2pp1/7p/3P4/4B3/5N2/6PP/5RK1 w - - 0 1C   Y IH0?5k2/3q2pp/8/8/8/5N2/6PP/5RK1 w - - 0 1>   Y 0?5q2/3k2pp/8/8/8/5N2/6PP/5RK1 w - - 0 1                   C z   = RI    @ x   8 PH                            ( [nWG)oV?/ s W > '  k [( Opening?' UTCTime21:27:51&! UTCDate2017.01.30%## Termination+700cp in 3$ Opening?# UTCTime21:33:21"! UTCDate2017.01.30!## Termination-500cp in 3 Opening?UTCTime20:01:39!UTCDate2017.01.30#Terminationmate in 3Opening?UTCTime19:49:07!UTCDate2017.01.30##Termination+400cp in 2Opening?UTCTime19:54:55!UTCDate2017.01.30##Termination+300cp in 3Opening?UTCTime19:39:53!UTCDate2017.01.30##Termination-270cp in 3Opening?UTCTime20:03:58!UTCDate2017.01.30 #Terminationmate in 2 Opening? UTCTime19:32:51 !UTCDate2017.01.30 ##Termination+400cp in 2Opening?UTCTime19:26:56!UTCDate2017.01.30#%Termination+1000cp in 2  Opening? UTCTime19:34:48 !UTCDate2017.01.30 ##Termination+300cp in 2pychess-1.0.0/learn/puzzles/alekhine.olv0000644000175000017500000002241013365545272017370 0ustar varunvarun--- authors: - Алехин, Александр Александрович source: date: 1925 algebraic: white: [Ke3, Qb6, Sc2] black: [Kb1, Pb2, Pa2] stipulation: "#3" solution: | "1.Sc2-a1 ! zugzwang. 1...Kb1-c1 2.Qb6-c6 + 2...Kc1-d1 3.Qc6-h1 # 2...Kc1-b1 3.Qc6-h1 # 1...Kb1*a1 2.Qb6-d4 zugzwang. 2...Ka1-b1 3.Qd4-d1 #" --- authors: - Алехин, Александр Александрович source: date: 1914 algebraic: white: [Kc8, Qf4, Ra8, Sg6, Se6, Ph2, Pd4] black: [Kf7, Bc2, Ba1, Ph6, Ph5, Pf6, Pd6, Pc6] stipulation: "#3" solution: | "1.Qf4-f5 ! threat: 2.Kc8-d7 threat: 3.Ra8-f8 # 3.Sg6-h8 # 2...Bc2*f5 3.Sg6-h8 # 2.Ra8-a7 + 2...Kf7-e8 3.Ra7-e7 # 3.Se6-g7 # 2...Kf7-g8 3.Ra7-g7 # 1...Ba1*d4 2.Kc8-d7 threat: 3.Ra8-f8 # 3.Sg6-h8 # 2...Bc2*f5 3.Sg6-h8 # 1...Bc2*f5 2.Ra8-a7 + 2...Kf7-e8 3.Ra7-e7 # 2...Kf7-g8 3.Ra7-g7 # 2...Kf7*g6 3.Ra7-g7 # 2...Kf7*e6 3.Sg6-f4 # 1...Bc2-a4 2.Kc8-c7 threat: 3.Ra8-f8 # 2.Kc8-b7 threat: 3.Ra8-f8 # 2.Ra8-a7 + 2...Kf7-e8 3.Ra7-e7 # 3.Se6-g7 # 2...Kf7-g8 3.Ra7-g7 # 1...Bc2-b3 2.Ra8-a7 + 2...Kf7-e8 3.Ra7-e7 # 3.Se6-g7 # 2...Kf7-g8 3.Ra7-g7 # 1...c6-c5 2.Ra8-a7 + 2...Kf7-e8 3.Ra7-e7 # 3.Se6-g7 # 2...Kf7-g8 3.Ra7-g7 # 1...Kf7-e8 2.Ra8-a7 threat: 3.Ra7-e7 # 3.Se6-g7 # 2...Bc2*f5 3.Ra7-e7 # 2.Kc8-c7 + 2...Ke8-f7 3.Ra8-f8 # 2.Kc8-b7 + 2...Ke8-f7 3.Ra8-f8 # 2...Ke8-d7 3.Ra8-d8 # 3.Se6-c5 # 3.Se6-f8 # 2.Qf5*f6 threat: 3.Kc8-c7 # 3.Qf6-e7 # 3.Qf6-f8 # 3.Se6-g7 # 3.Se6-c7 # 2...Bc2*g6 3.Kc8-c7 # 3.Qf6-f8 # 3.Se6-g7 # 3.Se6-c7 # 2...Bc2-f5 3.Kc8-c7 # 3.Qf6-e7 # 3.Qf6-f8 #" --- authors: - Алехин, Александр Александрович source: К Новой Армии source-id: 3/3 date: 1920-05-05 algebraic: white: [Kc8, Qf4, Ra8, Sg6, Se6, Pd4] black: [Kf7, Bc2, Ba1, Ph6, Ph5, Pf6, Pd6, Pc6] stipulation: "#3" solution: | "1.Qf4-f5 ! threat: 2.Kc8-d7 threat: 3.Ra8-f8 # 3.Sg6-h8 # 2...Bc2*f5 3.Sg6-h8 # 2.Ra8-a7 + 2...Kf7-e8 3.Ra7-e7 # 3.Se6-g7 # 2...Kf7-g8 3.Ra7-g7 # 1...Ba1*d4 2.Kc8-d7 threat: 3.Ra8-f8 # 3.Sg6-h8 # 2...Bc2*f5 3.Sg6-h8 # 1...Bc2*f5 2.Ra8-a7 + 2...Kf7-e8 3.Ra7-e7 # 2...Kf7-g8 3.Ra7-g7 # 2...Kf7*g6 3.Ra7-g7 # 2...Kf7*e6 3.Sg6-f4 # 1...Bc2-a4 2.Kc8-c7 threat: 3.Ra8-f8 # 2.Kc8-b7 threat: 3.Ra8-f8 # 2.Ra8-a7 + 2...Kf7-e8 3.Ra7-e7 # 3.Se6-g7 # 2...Kf7-g8 3.Ra7-g7 # 1...Bc2-b3 2.Ra8-a7 + 2...Kf7-e8 3.Ra7-e7 # 3.Se6-g7 # 2...Kf7-g8 3.Ra7-g7 # 1...c6-c5 2.Ra8-a7 + 2...Kf7-e8 3.Ra7-e7 # 3.Se6-g7 # 2...Kf7-g8 3.Ra7-g7 # 1...Kf7-e8 2.Ra8-a7 threat: 3.Ra7-e7 # 3.Se6-g7 # 2...Bc2*f5 3.Ra7-e7 # 2.Kc8-c7 + 2...Ke8-f7 3.Ra8-f8 # 2.Kc8-b7 + 2...Ke8-f7 3.Ra8-f8 # 2...Ke8-d7 3.Ra8-d8 # 3.Se6-c5 # 3.Se6-f8 # 2.Qf5*f6 threat: 3.Kc8-c7 # 3.Qf6-e7 # 3.Qf6-f8 # 3.Se6-g7 # 3.Se6-c7 # 2...Bc2*g6 3.Kc8-c7 # 3.Qf6-f8 # 3.Se6-g7 # 3.Se6-c7 # 2...Bc2-f5 3.Kc8-c7 # 3.Qf6-e7 # 3.Qf6-f8 #" --- authors: - Алехин, Александр Александрович source: Tijdschrift vd NSB date: 1933 algebraic: white: [Kd2, Rd3, Pg2, Pf2, Pc4, Pb2, Pa4] black: [Ke7, Re5, Pg6, Pf7, Pe6, Pc5, Pb4] stipulation: + solution: | 1. g4 Re4 (1... f5 $144 2. Re3 Rxe3 3. Kxe3 e5 4. b3 $18) 2. a5 Rxg4 3. a6 Rh4 (3... Rg1 $144 4. a7 Ra1 5. Ra3 $18) 4. Rd8 Kxd8 5. a7 $18 1-0 --- authors: - Алехин, Александр Александрович source: date: 1924 algebraic: white: [Kd4, Pg4, Pd6] black: [Kb7, Ph7, Pg6, Pf7] stipulation: + solution: | 1. g5 $1 Kc6 2. Ke5 Kd7 3. Kd5 (3. Kf6 $2 Kxd6 4. Kxf7 Ke5) 3... Kd8 4. Kc6 1-0 --- authors: - Алехин, Александр Александрович source: Tijdschrift vd NSB date: 1933 algebraic: white: [Kd2, Rd3, Pf2, Pc4, Pb2, Pa5] black: [Ke7, Rg4, Pg6, Pf7, Pe6, Pc5, Pb4] stipulation: + solution: | 1. a6 Rh4 (1... Rg1 2. Ra3 $1 bxa3 3. a7) 2. Rd8 Kxd8 3. a7 1-0 --- authors: - Алехин, Александр Александрович source: date: 1930 algebraic: white: [Kh8, Qb5, Rg3, Rf4] black: [Kh6, Rd4, Bd5] stipulation: "#2" solution: | "1...Be4 2.Qg5#/Rh4# 1...Bf3/Bg2/Bh1/Be6/Bg8/Bc4/Bb3/Ba2/Bc6/Bb7/Ba8 2.Rf6#/Qg5# 1...Bf7 2.Qg5# 1...Rd3/Rd2/Rd1 2.Rh4# 1.Qxd5?? (2.Qg5#/Qh1#/Rf6#) 1...Rd2/Rd1 2.Rf6#/Rh4#/Qg5# 1...Re4 2.Qg5#/Rf6# 1...Rxf4 2.Qg5# but 1...Rxd5! 1.Qd3?? (2.Qg6#/Qh7#) 1...Be4/Rxd3 2.Rh4# 1...Bf7 2.Qh7# 1...Bg8 2.Qg6# but 1...Re4! 1.Qd7?? (2.Qh7#/Qh3#) 1...Be4 2.Qh3#/Rh4# 1...Bf3/Bg2/Be6/Rxf4 2.Qh7# 1...Bg8 2.Qh3# but 1...Bf7! 1.Qe8?? (2.Qg6#/Rf6#) 1...Rxf4 2.Qg6# 1...Be4 2.Rh4# but 1...Bf7! 1.Rf7?? (2.Rh7#) 1...Be4/Bxf7 2.Qg5# but 1...Rg4! 1.Rxd4?? (2.Rh4#) 1...Be4/Bf7 2.Qg5# 1...Bf3 2.Rd6#/Qg5# but 1...Kh5! 1.Qb1! (2.Qg6#/Qh7#) 1...Be4/Rd3 2.Rh4# 1...Bf7 2.Qh7# 1...Bg8 2.Qh1#/Qg6# 1...Re4 2.Qh1#" keywords: - No pawns - Grimshaw --- authors: - Алехин, Александр Александрович source: L'Italia Scacchistica source-id: 11/ date: 1932-06-01 algebraic: white: [Kg8, Qb4, Re8, Rc2, Bg2, Bc1, Sc3, Sa5, Ph3, Pg4, Pf6, Pf2, Pd2] black: [Ke5, Rh5, Bh4, Se6, Sa7, Ph6, Pg6, Pd7, Pd4, Pb6, Pb5, Pa6] stipulation: "#3" solution: | "1. Qc4! [2. Qd5+ K:f6 3. Se4#] 1... Kd6 2. Qc7+! 2... K:c7 3. S:b5# 2... S:c7 3. Sb7# 1... Kf4 2. Q:d4+! 2... S:d4 3. d3# 2... Kg5 3. Qe5# 1... K:f6 2. Q:d4+! 2... S:d4, Re5 3. Se4# 2... Kg5 3. Qe5# 1... d:c3 2. Qf4+! K:f4 3. d3# 1... d:c3 2. Q:c3+ - Dual (1... b:c4 2. S:c4+ 2... Kf4 3. d3# 2... K:f6 3. Se4# 1... d3 2. f4+ 2... Kd6 3. Sb7, Se4# 2... K:f6 3. Se4#)" keywords: - Active sacrifice - Dual comments: - | 373639 - correction. --- authors: - Алехин, Александр Александрович source: Шахматная композиция date: 2012 algebraic: white: [Kg8, Qb4, Re8, Rc2, Bc1, Ba2, Sc3, Sb2, Pg4, Pg2, Pf3, Pd2, Pa6] black: [Ke5, Rh5, Bh4, Bf1, Se6, Sa7, Ph6, Pg6, Pg3, Pd7, Pd4, Pb6] stipulation: "#3" solution: | "1.Qc4!! [2.Qd5+] 1...B:c4 2.S:c4+ Kf4 3.d3#, 2...Kf6 3.Se4# 1...Kf4 2.Q:d4+!! S:d4 3.d3#, 2...Kg5 3.Qe5# 1...Kd6 2.Qc7+!! K:c7 3.Sb5#, 2...S:c7 3.Se4# 1...Kf6 2.Q:d4+!! S:d4 3.Se4#, 2...Kg5 3.Qe5# 1...d:c3 2.Qf4+!! K:f4 3.d4# 1...d3 2.f4+ Kd6 3.Se4# 1...Bd3 2.S:d3+ Kd6 3.Se4#" comments: - 335181 - Correction I.Agapov, V.Aberman, A,Vasilenko. pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-zwischenzug_by_arex_2017.02.02.pgn0000644000175000017500000000567213365545272031173 0ustar varunvarun[Termination "-100cp in 2"] [Event "Lichess Practice: Zwischenzug: Zwischenzug"] [Site "https://lichess.org/study/ITWY4GN2"] [UTCDate "2017.02.03"] [UTCTime "00:35:00"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "rBbqk2r/pp3ppp/5n2/8/1bpP4/8/PP2B1PP/RN1Q1KNR b kq - 0 9"] [SetUp "1"] { Whether you call it Zwischenzug (from German), Intermezzo (from Italian), an intermediate move or just an in-between move, it's all the same thing. It's a very common tactic that you need to know because it happens in almost all chess games. A Zwischenzug is when a player, instead of playing the expected move, often a recapture, plays another move that makes an immediate threat that the opponent must answer, before playing the original expected move. In this Savielly Tartakower - Jose Raul Capablanca game from 1924, Tartakower just played Bxb8. Instead of recapturing immediately with Rxb8, can you find a better move that makes a strong threat? } 9... Nd5 10. Kf2 Rxb8 * [Termination "-500cp in 3"] [Event "Lichess Practice: Zwischenzug: Zwischenschach"] [Site "https://lichess.org/study/ITWY4GN2"] [UTCDate "2017.02.03"] [UTCTime "00:29:32"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2r2rk1/pp1b1ppp/1q2p3/3pP3/1B3Pn1/3B1N2/P3Q1PP/RN2KR2 b Q - 0 16"] [SetUp "1"] { A Zwischenzug that is also a check, is called a Zwischenschach, Zwischen-check, or simply an in-between check. Instead of recapturing with Qxb4 immediately, find the Zwischenschach in this Samuel Rosenthal - Cecil Valentine De Vere game from 1867. } 16... Rc1+ 17. Kd2 Rxf1 18. Qxf1 Qxb4+ * [Termination "+300cp in 3"] [Event "Lichess Practice: Zwischenzug: Zwischenzug Challenge #1"] [Site "https://lichess.org/study/ITWY4GN2"] [UTCDate "2017.02.02"] [UTCTime "23:32:35"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r1b5/4kq2/p1Bbp1Qp/6p1/8/4B1P1/PPP4P/6K1 w - - 0 29"] [SetUp "1"] { From Wolfgang Unzicker - Mikhail Tal, 1975. } 29. Qxh6 Bd7 30. Qxg5+ Kf8 31. Bxa8 * [Termination "+400cp in 2"] [Event "Lichess Practice: Zwischenzug: Zwischenzug Challenge #2"] [Site "https://lichess.org/study/ITWY4GN2"] [UTCDate "2017.02.03"] [UTCTime "00:24:16"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2r3k1/q5pp/4p3/2rp1p2/1p1B1P2/1P1QP3/P1R3PP/6K1 w - - 2 28"] [SetUp "1"] { From Alexander Kotov - Ratmir Kholmov, 1971. } 28. Qb5 Rxc2 29. Bxa7 Rxa2 * [Termination "+220cp in 3"] [Event "Lichess Practice: Zwischenzug: Zwischenzug Challenge #3"] [Site "https://lichess.org/study/ITWY4GN2"] [UTCDate "2017.02.03"] [UTCTime "00:25:19"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2r2r1k/1pN1Qpbp/p4pp1/qb6/8/1B6/PP3PPP/2RR2K1 w - - 10 23"] [SetUp "1"] { From Boris Gelfand - Peter Svidler, 1996. } 23. Be6 Be2 24. Bxc8 Bxd1 25. Rxd1 *pychess-1.0.0/learn/puzzles/horwitz.olv0000644000175000017500000024611513365545272017330 0ustar varunvarun--- authors: - Horwitz, Bernhard source: The Chess Player's Chronicle date: 1844 algebraic: white: [Kc8, Rg7, Sd5, Sc3, Pd2] black: [Kf5] stipulation: "#4" solution: | "1.Kc8-d7 ! zugzwang. 1...Kf5-e5 2.Rg7-g5 + 2...Ke5-d4 3.Sd5-e3 threat: 4.Rg5-d5 #" --- authors: - Horwitz, Bernhard source: The Illustrated London News date: 1845 algebraic: white: [Kd6, Bc8, Sd4, Pf3, Pf2, Pe2, Pb2, Pa2] black: [Kb4, Pf4, Pb3, Pa5, Pa4] stipulation: "#4" solution: | "1.a2-a3 + ! 1...Kb4-c4 2.Bc8-h3 zugzwang. 2...Kc4*d4 3.Bh3-f1 zugzwang. 3...Kd4-c4 4.e2-e3 #" --- authors: - Horwitz, Bernhard source: Chess Monthly date: 1880 algebraic: white: [Kd2, Sc5, Sb5] black: [Kb2, Pc4, Pb3, Pa2] stipulation: "#6" solution: | "1.Sc5-a4 + ! 1...Kb2-b1 2.Sb5-a3 + 2...Kb1-a1 3.Kd2-c3 zugzwang. 3...b3-b2 4.Sa3-c2 + 4...Ka1-b1 5.Kc3-d2 threat: 6.Sa4-c3 # 1...Kb2-a1 2.Sb5-a3 threat: 3.Kd2-c3 zugzwang. 3...b3-b2 4.Sa3-c2 + 4...Ka1-b1 5.Kc3-d2 threat: 6.Sa4-c3 #" --- authors: - Horwitz, Bernhard source: Шахматный листок date: 1860 algebraic: white: [Kf3, Rd8, Bh4] black: [Kh1, Bb6, Ph3] stipulation: "#4" solution: | "1.Rd8-d1 + ! 1...Kh1-h2 2.Bh4-g3 # 1...Bb6-g1 2.Bh4-g3 zugzwang. 2...h3-h2 3.Bg3-e1 zugzwang. 3...Bg1-a7 4.Be1-f2 # 3...Bg1-b6 4.Be1-f2 # 3...Bg1-c5 4.Be1-f2 # 3...Bg1-d4 4.Be1-f2 # 3...Bg1-e3 4.Be1-f2 # 3...Bg1-f2 4.Be1*f2 #" --- authors: - Horwitz, Bernhard source: The Chess Player's Chronicle date: 1847-05-01 algebraic: white: [Ke2, Qf6, Se7] black: [Ke4] stipulation: "#4" solution: | "1. Sc8 Kd5 2. Kd3 Kc5 3. Qb6+ Kd5 4. Qd6#" keywords: - No pawns comments: - Later an identical work was published by Николай Терентьевич Майстренко, & Владимир Георгиевич Швецов, Волгоградская правда, 1971. --- authors: - Horwitz, Bernhard source: XIX Century algebraic: white: [Kf5, Bd4, Pg2] black: [Kh4, Bg8, Pf7] stipulation: "#8" solution: --- authors: - Kling, Josef - Horwitz, Bernhard source: The New Chess Player source-id: 1852 date: 1887-04-03 algebraic: white: [Kb6, Ra7, Pg6] black: [Kh8, Sg8, Pg7] stipulation: "#10" solution: | "1.Kb6-c6 Sg8-h6 2.Kc6-d6 Sh6-g8 3.Ra7-a1 Sg8-h6 4.Kd6-e6 Sh6-g8 5.Ra1-h1+ Sg8-h6 6.Rh1*h6+ g7*h6 7.Ke6-f7 h6-h5 8.g6-g7+ Kh8-h7 9.g7-g8=Q+ Kh7-h6 10.Qg8-g7# 1.Kb6-c5 {cook} 1.Kb6-c7 {cook}" keywords: - Cooked comments: - reprinted as 731 The Philadelphia Times, 1887-04-03 --- authors: - Kling, Josef - Horwitz, Bernhard source: Chess Studies date: 1851 algebraic: white: [Ka8, Qf7] black: [Ka6, Rb4, Pd7, Pb6, Pa5] stipulation: "#9" solution: --- authors: - Horwitz, Bernhard source: algebraic: white: [Kb3, Sb4] black: [Ka1, Bb2, Pc3, Pb5, Pa3] stipulation: "#6" solution: | "1.Kb3-c2 ! zugzwang. 1...Bb2-c1 2.Kc2*c1 threat: 3.Kc1-c2 zugzwang. 3...a3-a2 4.Kc2-c1 threat: 5.Sb4-c2 # 2...c3-c2 3.Kc1*c2 threat: 4.Kc2-c1 zugzwang. 4...a3-a2 5.Sb4-c2 # 3...a3-a2 4.Sb4-d3 threat: 5.Sd3-c1 threat: 6.Sc1-b3 # 5.Sd3-c5 threat: 6.Sc5-b3 # 4.Sb4-c6 threat: 5.Sc6-a5 threat: 6.Sa5-b3 # 5.Sc6-d4 threat: 6.Sd4-b3 # 4.Sb4-a6 threat: 5.Sa6-c5 threat: 6.Sc5-b3 # 1...a3-a2 2.Sb4-c6 threat: 3.Sc6-a5 threat: 4.Sa5-b3 # 3.Sc6-d4 threat: 4.Sd4-b3 #" --- authors: - Horwitz, Bernhard source: The Illustrated London News date: 1848 algebraic: white: [Kd2, Rh5, Rh3] black: [Kc4] stipulation: "#3" solution: | "1.Rh3-h4 + ! 1...Kc4-b3 2.Rh5-a5 zugzwang. 2...Kb3-b2 3.Rh4-b4 #" --- authors: - Horwitz, Bernhard source: 777 Chess Miniatures date: 1849 algebraic: white: [Kh4, Qa6, Bf6, Be4] black: [Kf4, Pf7, Pe7] stipulation: "#3" solution: | "1.Qa6-d3 ! threat: 2.Qd3-f3 # 1...e7*f6 2.Qd3-d4 zugzwang. 2...f6-f5 3.Be4-h1 # 3.Be4-g2 # 3.Be4-a8 # 3.Be4-b7 # 3.Be4-c6 # 3.Be4-d5 #" --- authors: - Horwitz, Bernhard source: The Chess Player's Chronicle date: 1848 algebraic: white: [Kg8, Sf6, Pg4] black: [Kg6, Pg7, Pg5] stipulation: "#3" solution: | "1.Sf6-d7 ! zugzwang. 1...Kg6-h6 2.Sd7-e5 zugzwang. 2...g7-g6 3.Se5-f7 #" --- authors: - Horwitz, Bernhard source: The Chess Player's Chronicle date: 1850 algebraic: white: [Kd8, Qh5, Sc3, Pf3, Pb3] black: [Kd4] stipulation: "#3" solution: | "1.Sc3-d1 ! zugzwang. 1...Kd4-d3 2.Qh5-h2 zugzwang. 2...Kd3-d4 3.Qh2-d6 #" --- authors: - Horwitz, Bernhard source: Chess Studies date: 1851 algebraic: white: [Kg3, Sf1, Se3] black: [Kh1, Pf2, Pe4] stipulation: "#6" solution: | "1.Kg3-g4 ! zugzwang. 1...Kh1-g1 2.Kg4-h3 zugzwang. 2...Kg1-h1 3.Sf1-g3 + 3...Kh1-g1 4.Sg3-e2 + 4...Kg1-h1 5.Se3-f1 threat: 6.Sf1-g3 # 1.Kg3-h4 ! zugzwang. 1...Kh1-g1 2.Kh4-h3 zugzwang. 2...Kg1-h1 3.Sf1-g3 + 3...Kh1-g1 4.Sg3-e2 + 4...Kg1-h1 5.Se3-f1 threat: 6.Sf1-g3 #" --- authors: - Horwitz, Bernhard source: Chess Studies date: 1851 algebraic: white: [Kb3, Sg1, Sd3] black: [Kb1, Pd4] stipulation: "#8" solution: --- authors: - Horwitz, Bernhard source: Chess Studies date: 1851 algebraic: white: [Ke2, Sg6, Sf5] black: [Kg2, Ph3, Ph2] stipulation: "#9" solution: --- authors: - Horwitz, Bernhard source: Chess Studies date: 1851 algebraic: white: [Kf4, Be7, Bb7] black: [Kh3, Ph4] stipulation: "#4" solution: | "1.Be7-c5 ! zugzwang. 1...Kh3-h2 2.Kf4-g4 zugzwang. 2...h4-h3 3.Kg4-f3 zugzwang. 3...Kh2-h1 4.Kf3-g3 #" --- authors: - Horwitz, Bernhard source: Chess Studies date: 1851 algebraic: white: [Kc3, Sg3, Sd7] black: [Ka5, Pa6] stipulation: "#18" solution: --- authors: - Horwitz, Bernhard source: Chess Studies date: 1851 algebraic: white: [Kg3, Sf1, Sd2] black: [Kh1, Pf2] stipulation: "#8" solution: --- authors: - Horwitz, Bernhard source: The Chess Player's Chronicle date: 1851 algebraic: white: [Kc4, Qf6, Bg8] black: [Ke4] stipulation: "#3" solution: | "1.Bg8-e6 ! threat: 2.Be6-g4 threat: 3.Qf6-d4 #" --- authors: - Horwitz, Bernhard source: The Chess Player date: 1851 algebraic: white: [Kc1, Bd1, Sc6, Sa6] black: [Ka1] stipulation: "#5" solution: | "1.Sa6-c5 ! threat: 2.Sc6-d4 zugzwang. 2...Ka1-a2 3.Bd1-b3 + 3...Ka2-a1 4.Sd4-c2 # 3...Ka2-a3 4.Sd4-c2 # 1...Ka1-a2 2.Sc5-b3 zugzwang. 2...Ka2-a3 3.Kc1-b1 zugzwang. 3...Ka3-a4 4.Sb3-d4 + 4...Ka4-a3 5.Sd4-b5 # 1.Sa6-c7 ! zugzwang. 1...Ka1-a2 2.Sc7-b5 zugzwang. 2...Ka2-a1 3.Sc6-d4 zugzwang. 3...Ka1-a2 4.Bd1-b3 + 4...Ka2-a1 5.Sd4-c2 #" --- authors: - Horwitz, Bernhard source: The New Chess Player date: 1852 algebraic: white: [Kd3, Qg6, Bc2, Sb1] black: [Kb5, Bc5, Pa5] stipulation: "#3" solution: | "1.Bc2-a4 + ! 1...Kb5-b4 2.Qg6-e4 + 2...Bc5-d4 3.Qe4*d4 # 2.Qg6-e8 threat: 3.Qe8-b5 # 2.Qg6-g4 + 2...Bc5-d4 3.Qg4*d4 # 2.Qg6-c6 threat: 3.Qc6-b5 # 1...Kb5*a4 2.Kd3-c4 threat: 3.Qg6-c2 # 3.Qg6-e8 # 3.Qg6-c6 # 2...Bc5-d6 3.Qg6-c2 # 3.Qg6-e8 #" --- authors: - Horwitz, Bernhard source: The New Chess Player date: 1852 algebraic: white: [Kf4, Rf6, Rf3, Bh6] black: [Kh4, Rg2] stipulation: "#4" solution: | "1.Bh6-g5 + ! 1...Rg2*g5 2.Rf6-h6 + 2...Rg5-h5 3.Rf3-f2 threat: 4.Rf2-h2 # 3...Kh4-h3 4.Rh6*h5 # 1...Kh4-h5 2.Rf6-h6 # 2.Rf3-h3 # 1.Kf4-f5 ! threat: 2.Bh6-c1 threat: 3.Rf6-h6 # 2...Rg2-g6 3.Rf6*g6 threat: 4.Rg6-h6 # 3.Kf5*g6 threat: 4.Rf6-f4 # 2...Rg2-g5 + 3.Bc1*g5 + 3...Kh4-h5 4.Rf3-h3 # 4.Rf6-h6 # 2.Bh6-d2 threat: 3.Rf6-h6 # 2...Rg2-g6 3.Rf6*g6 threat: 4.Rg6-h6 # 3.Kf5*g6 threat: 4.Rf6-f4 # 3.Bd2-e1 + 3...Kh4-h5 4.Rf3-h3 # 3...Rg6-g3 4.Rf6-h6 # 2...Rg2-g5 + 3.Bd2*g5 + 3...Kh4-h5 4.Rf6-h6 # 4.Rf3-h3 # 2.Bh6-e3 threat: 3.Rf6-h6 # 2...Rg2-g6 3.Rf6*g6 threat: 4.Rg6-h6 # 3.Kf5*g6 threat: 4.Rf6-f4 # 3.Be3-f2 + 3...Kh4-h5 4.Rf3-h3 # 3...Rg6-g3 4.Rf6-h6 # 2...Rg2-g5 + 3.Be3*g5 + 3...Kh4-h5 4.Rf6-h6 # 4.Rf3-h3 # 2.Bh6-f4 threat: 3.Rf6-h6 # 2...Rg2-g6 3.Rf6*g6 threat: 4.Rg6-h6 # 2...Rg2-g5 + 3.Bf4*g5 + 3...Kh4-h5 4.Rf6-h6 # 4.Rf3-h3 # 1...Rg2-g3 2.Bh6-f4 threat: 3.Rf6-h6 # 2...Rg3-g6 3.Rf6*g6 threat: 4.Rg6-h6 # 2...Rg3-g5 + 3.Bf4*g5 + 3...Kh4-h5 4.Rf3-h3 # 4.Rf6-h6 # 2...Kh4-h3 3.Rf3*g3 + 3...Kh3-h4 4.Rf6-h6 # 3...Kh3-h2 4.Rf6-h6 #" --- authors: - Horwitz, Bernhard source: Über Land und Meer date: 1862 algebraic: white: [Kf5, Bc5, Pg2] black: [Kh4, Bg8, Pf7] stipulation: "#8" solution: "1.Bf2+ Kh5 2.g4+ Kh6 3.Kf6 Kh7 4.g5 Kh8 5.Bd4 Kh7 6.Ba1 Kh8 7.g6 fxg6 8.Kxg6#" --- authors: - Horwitz, Bernhard source: "???? vor" date: 1880 algebraic: white: [Kg8, Bg6, Sd3, Pg4] black: [Kh6, Pg7, Pg5] stipulation: "#4" solution: | "1.Sd3-c5 ! zugzwang. 1...Kh6*g6 2.Sc5-d7 zugzwang. 2...Kg6-h6 3.Sd7-e5 zugzwang. 3...g7-g6 4.Se5-f7 #" --- authors: - Horwitz, Bernhard source: Chess Studies and Endgames date: 1889 algebraic: white: [Ke2, Rf6, Bh8] black: [Kh1, Ph3, Ph2] stipulation: "#9" solution: --- authors: - Horwitz, Bernhard source: algebraic: white: [Kb1, Qg6, Bb3, Pf4, Pc2, Pa4] black: [Ke7, Qc7, Rh8, Ra7, Bd8, Pa5] stipulation: "#12" solution: 1.Dg6-f7 + ! --- authors: - Horwitz, Bernhard source: algebraic: white: [Kb6, Se4, Sb3, Ph2, Pf3, Pe5, Pe3, Pc2] black: [Ka4, Rh6, Rb8, Pg3, Pf6, Pc3, Pb7, Pa3] stipulation: "#7" solution: 1.Sb3-c5 + ! --- authors: - Kling, Josef - Horwitz, Bernhard source: The Chess Player's Chronicle date: 1848 algebraic: white: [Ke1, Bb8, Sg3, Se5, Pd3, Pa3] black: [Kd4, Rb6, Bd5, Pa6] stipulation: "#5" solution: | "1.Sg3-e2 + ! 1...Kd4-c5 2.d3-d4 + 2...Kc5-b5 3.Se2-c3 + 3...Kb5-a5 4.Bb8-c7 zugzwang. 4...Bd5-a2 5.Se5-c6 # 4...Bd5-b3 5.Se5-c6 # 4...Bd5-c4 5.Se5-c6 # 5.Se5*c4 # 4...Bd5-h1 5.Se5-c4 # 4...Bd5-g2 5.Se5-c4 # 4...Bd5-f3 5.Se5-c4 # 4...Bd5-e4 5.Se5-c4 # 4...Bd5-g8 5.Se5-c6 # 4...Bd5-f7 5.Se5-c6 # 4...Bd5-e6 5.Se5-c6 # 4...Bd5-a8 5.Se5-c4 # 4...Bd5-b7 5.Se5-c4 # 4...Bd5-c6 5.Se5-c4 # 5.Se5*c6 # 1...Kd4-e3 2.Bb8-a7 threat: 3.Ba7*b6 #" --- authors: - Horwitz, Bernhard source: The Chess Player's Chronicle date: 1851 algebraic: white: [Kd7, Bh3, Be3, Se6, Ph5, Ph2, Pe2, Pc2, Pa4] black: [Kd5, Ph7, Ph6, Pe4] stipulation: "#5" solution: | "1.Se6-f4 + ! 1...Kd5-c4 2.Sf4-d5 zugzwang. 2...Kc4*d5 3.Bh3-e6 + 3...Kd5-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 1...Kd5-e5 2.Sf4-d5 zugzwang. 2...Ke5*d5 3.Bh3-e6 + 3...Kd5-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 2.Sf4-g2 zugzwang. 2...Ke5-d5 3.Bh3-e6 + 3...Kd5-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 2...Ke5-f6 3.Bh3-e6 zugzwang. 3...Kf6-g7 4.Kd7-e7 threat: 5.Be3-d4 # 4.h2-h4 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 3...Kf6-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 2.Bh3-e6 threat: 3.Sf4-h3 zugzwang. 3...Ke5-f6 4.Be3-d4 # 3.h2-h4 zugzwang. 3...Ke5-f6 4.Be3-d4 # 2...Ke5-f6 3.Sf4-h3 threat: 4.Be3-d4 # 3...Kf6-g7 4.Kd7-e7 threat: 5.Be3-d4 # 4.a4-a5 zugzwang. 4...Kg7-f6 5.Be3-d4 # 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4.c2-c4 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 4.c2-c3 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 3...Kf6-e5 4.a4-a5 zugzwang. 4...Ke5-f6 5.Be3-d4 # 4.c2-c4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 4.c2-c3 threat: 5.Be3-d4 # 3.Sf4-g2 zugzwang. 3...Kf6-g7 4.Kd7-e7 threat: 5.Be3-d4 # 4.h2-h4 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 3...Kf6-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 3.Be3-d4 + 3...Kf6-g5 4.e2-e3 zugzwang. 4...Kg5-h4 5.Bd4-f6 # 3.h2-h4 threat: 4.Be3-d4 # 3...Kf6-g7 4.Kd7-e7 threat: 5.Be3-d4 # 4.Kd7-e8 threat: 5.Be3-d4 # 4.Sf4-g2 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 4.Sf4-h3 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 4.Sf4-d5 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 3...Kf6-e5 4.Sf4-g2 zugzwang. 4...Ke5-f6 5.Be3-d4 # 4.Sf4-h3 zugzwang. 4...Ke5-f6 5.Be3-d4 # 4.a4-a5 zugzwang. 4...Ke5-f6 5.Be3-d4 # 4.c2-c4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 4.c2-c3 zugzwang. 4...Ke5-f6 5.Be3-d4 # 1.Se6-c7 + ! 1...Kd5-c4 2.Sc7-d5 zugzwang. 2...Kc4*d5 3.Bh3-e6 + 3...Kd5-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 1...Kd5-e5 2.Sc7-d5 zugzwang. 2...Ke5*d5 3.Bh3-e6 + 3...Kd5-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 2.Sc7-a6 zugzwang. 2...Ke5-f6 3.Bh3-e6 zugzwang. 3...Kf6-g7 4.Kd7-e7 threat: 5.Be3-d4 # 4.h2-h4 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 3...Kf6-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 2...Ke5-d5 3.Bh3-e6 + 3...Kd5-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 2.Sc7-b5 zugzwang. 2...Ke5-f6 3.Bh3-e6 zugzwang. 3...Kf6-g7 4.Kd7-e7 threat: 5.Be3-d4 # 4.h2-h4 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 3...Kf6-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 2...Ke5-d5 3.Bh3-e6 + 3...Kd5-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 2.Sc7-a8 zugzwang. 2...Ke5-d5 3.Bh3-e6 + 3...Kd5-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 2...Ke5-f6 3.Bh3-e6 zugzwang. 3...Kf6-g7 4.Kd7-e7 threat: 5.Be3-d4 # 4.h2-h4 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 3...Kf6-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 2.a4-a5 zugzwang. 2...Ke5-f6 3.Bh3-e6 zugzwang. 3...Kf6-g7 4.Kd7-e7 threat: 5.Be3-d4 # 4.Kd7-d6 zugzwang. 4...Kg7-f6 5.Sc7-e8 # 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4.Sc7-d5 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4.Sc7-e8 + 4...Kg7-f8 5.Be3*h6 # 5.Be3-c5 # 4...Kg7-h8 5.Be3-d4 # 4.h2-h4 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 3...Kf6-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 2.Bh3-e6 threat: 3.h2-h4 zugzwang. 3...Ke5-f6 4.Be3-d4 # 2...Ke5-f6 3.h2-h4 threat: 4.Be3-d4 # 3...Kf6-g7 4.Kd7-e7 threat: 5.Be3-d4 # 4.Kd7-d8 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 4.Kd7-d6 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 5.Sc7-e8 # 4.Kd7-e8 threat: 5.Be3-d4 # 4.Sc7-a6 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 4.Sc7-b5 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 4.Sc7-d5 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4.Sc7-e8 + 4...Kg7-f8 5.Be3*h6 # 5.Be3-c5 # 4...Kg7-h8 5.Be3-d4 # 4.Sc7-a8 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 4.a4-a5 zugzwang. 4...Kg7-f6 5.Be3-d4 # 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4.c2-c4 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 4.c2-c3 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 3...Kf6-e5 4.Sc7-a6 zugzwang. 4...Ke5-f6 5.Be3-d4 # 4.Sc7-b5 zugzwang. 4...Ke5-f6 5.Be3-d4 # 4.Sc7-a8 zugzwang. 4...Ke5-f6 5.Be3-d4 # 4.a4-a5 zugzwang. 4...Ke5-f6 5.Be3-d4 # 4.c2-c4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 4.c2-c3 zugzwang. 4...Ke5-f6 5.Be3-d4 # 3.Kd7-d6 threat: 4.Sc7-e8 # 3...Kf6-g7 4.Kd6-e7 threat: 5.Be3-d4 # 4.a4-a5 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Sc7-e8 # 4.h2-h4 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 5.Sc7-e8 # 4.h2-h3 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Sc7-e8 # 4.c2-c4 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Sc7-e8 # 4.c2-c3 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Sc7-e8 # 3.Sc7-a6 zugzwang. 3...Kf6-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 3...Kf6-g7 4.h2-h4 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 4.Kd7-e7 threat: 5.Be3-d4 # 3.Sc7-b5 zugzwang. 3...Kf6-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 3...Kf6-g7 4.h2-h4 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 4.Kd7-e7 threat: 5.Be3-d4 # 3.Sc7-a8 zugzwang. 3...Kf6-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 3...Kf6-g7 4.h2-h4 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 4.Kd7-e7 threat: 5.Be3-d4 # 3.a4-a5 zugzwang. 3...Kf6-g7 4.Kd7-e7 threat: 5.Be3-d4 # 4.Kd7-d6 zugzwang. 4...Kg7-f6 5.Sc7-e8 # 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4.Sc7-d5 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4.Sc7-e8 + 4...Kg7-f8 5.Be3*h6 # 5.Be3-c5 # 4...Kg7-h8 5.Be3-d4 # 4.h2-h4 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 3...Kf6-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 3.Be3-f4 threat: 4.Sc7-e8 # 3...Kf6-g7 4.Sc7-e8 + 4...Kg7-f8 5.Bf4*h6 # 5.Bf4-d6 # 4...Kg7-h8 5.Bf4-e5 # 4.Kd7-e7 threat: 5.Bf4-e5 # 4.e2-e3 zugzwang. 4...Kg7-f8 5.Bf4*h6 # 4...Kg7-h8 5.Bf4-e5 # 4...Kg7-f6 5.Sc7-e8 # 3.h2-h3 zugzwang. 3...Kf6-g7 4.Kd7-e7 threat: 5.Be3-d4 # 4.Kd7-d6 zugzwang. 4...Kg7-f6 5.Sc7-e8 # 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4.Sc7-d5 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4.Sc7-e8 + 4...Kg7-f8 5.Be3*h6 # 5.Be3-c5 # 4...Kg7-h8 5.Be3-d4 # 4.h3-h4 zugzwang. 4...Kg7-f6 5.Be3-d4 # 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 3...Kf6-e5 4.h3-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 3.c2-c4 zugzwang. 3...Kf6-g7 4.Kd7-e7 threat: 5.Be3-d4 # 4.Kd7-d6 zugzwang. 4...Kg7-f6 5.Sc7-e8 # 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4.Sc7-d5 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4.Sc7-e8 + 4...Kg7-f8 5.Be3*h6 # 5.Be3-c5 # 4...Kg7-h8 5.Be3-d4 # 4.h2-h4 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 3...Kf6-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 3.c2-c3 zugzwang. 3...Kf6-g7 4.Kd7-e7 threat: 5.Be3-d4 # 4.Kd7-d6 zugzwang. 4...Kg7-f6 5.Sc7-e8 # 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4.Sc7-d5 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4.Sc7-e8 + 4...Kg7-f8 5.Be3*h6 # 5.Be3-c5 # 4...Kg7-h8 5.Be3-d4 # 4.h2-h4 zugzwang. 4...Kg7-f6 5.Be3-d4 # 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 3...Kf6-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 2.Bh3-g4 zugzwang. 2...Ke5-f6 3.Bg4-e6 zugzwang. 3...Kf6-g7 4.Kd7-e7 threat: 5.Be3-d4 # 4.Kd7-d6 zugzwang. 4...Kg7-f6 5.Sc7-e8 # 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4.Sc7-d5 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4.Sc7-e8 + 4...Kg7-f8 5.Be3*h6 # 5.Be3-c5 # 4...Kg7-h8 5.Be3-d4 # 4.h2-h4 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 3...Kf6-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 2.c2-c4 zugzwang. 2...Ke5-f6 3.Bh3-e6 zugzwang. 3...Kf6-g7 4.Kd7-e7 threat: 5.Be3-d4 # 4.Kd7-d6 zugzwang. 4...Kg7-f6 5.Sc7-e8 # 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4.Sc7-d5 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4.Sc7-e8 + 4...Kg7-f8 5.Be3*h6 # 5.Be3-c5 # 4...Kg7-h8 5.Be3-d4 # 4.h2-h4 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4...Kg7-f6 5.Be3-d4 # 3...Kf6-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 # 2.c2-c3 threat: 3.Be3-d4 + 3...Ke5-f4 4.Sc7-e6 # 2...Ke5-f6 3.Bh3-e6 zugzwang. 3...Kf6-g7 4.Kd7-e7 threat: 5.Be3-d4 # 4.Kd7-d6 zugzwang. 4...Kg7-f6 5.Sc7-e8 # 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4.Sc7-d5 zugzwang. 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 4.Sc7-e8 + 4...Kg7-f8 5.Be3*h6 # 5.Be3-c5 # 4...Kg7-h8 5.Be3-d4 # 4.h2-h4 zugzwang. 4...Kg7-f6 5.Be3-d4 # 4...Kg7-f8 5.Be3*h6 # 4...Kg7-h8 5.Be3-d4 # 3...Kf6-e5 4.h2-h4 zugzwang. 4...Ke5-f6 5.Be3-d4 #" --- authors: - Horwitz, Bernhard source: The Chess Player's Chronicle date: 1846 algebraic: white: [Kg1, Re2, Bd6, Se3, Sc5] black: [Kc3] stipulation: "#3" solution: | "1.Kg1-f2 ! zugzwang. 1...Kc3-d4 2.Re2-b2 zugzwang. 2...Kd4-c3 3.Bd6-e5 # 1...Kc3-b4 2.Re2-b2 + 2...Kb4-a5 3.Bd6-c7 # 3.Se3-c4 # 2...Kb4-c3 3.Bd6-e5 # 2...Kb4-a3 3.Se3-c4 #" --- authors: - Horwitz, Bernhard source: The Chess Player's Chronicle date: 1847 algebraic: white: [Kg2, Rf6, Bf5, Se7, Se6, Pg5, Pf3, Pe2, Pd2] black: [Kd6, Rc4, Bh7, Se8, Sd4, Pf4, Pe5, Pc7, Pc5, Pb6] stipulation: "#5" solution: | "1.Se6*d4 + ! 1...Kd6*e7 2.Sd4-c6 # 1...Se8*f6 2.Se7-c8 + 2...Kd6-d5 3.Bf5-e6 + 3...Kd5*d4 4.Sc8-a7 threat: 5.Sa7-b5 # 5.Sa7-c6 # 4...Rc4-b4 5.Sa7-c6 # 4...e5-e4 5.Sa7-c6 # 4...c7-c6 5.Sa7*c6 # 4...Bh7-e4 5.Sa7-b5 #" --- authors: - Horwitz, Bernhard source: The Chess Player's Chronicle date: 1847 algebraic: white: [Kd7, Rh5, Sf5, Se2, Pc2, Pb3, Pb2] black: [Kc5, Qh8, Bc4, Pb6, Pb5, Pa6] stipulation: "#5" solution: | "1.Sf5-e7 + ! 1...Qh8*h5 2.b3-b4 + 2...Kc5*b4 3.Se7-c6 + 3...Kb4-c5 4.b2-b4 + 4...Kc5-d5 5.Se2-c3 # 3...Kb4-a4 4.Se2-c3 # 1...Bc4-d5 2.Rh5*d5 + 2...Kc5-b4 3.Se7-c6 # 1...Kc5-b4 2.Se7-c6 # 1...Qh8-e5 2.Rh5*e5 + 2...Bc4-d5 3.Re5*d5 + 3...Kc5-b4 4.Se7-c6 # 3.c2-c3 threat: 4.Re5*d5 # 2...Kc5-b4 3.Se7-c6 #" --- authors: - Horwitz, Bernhard source: The Chess Player's Chronicle date: 1848 algebraic: white: [Kd8, Bd7, Se6, Pf4, Pf3, Pe5, Pb2] black: [Kd5, Pf5, Pb5] stipulation: "#3" solution: | "1.Bd7*b5 ! threat: 2.Kd8-e8 zugzwang. 2...Kd5*e6 3.Bb5-c4 # 2.b2-b4 zugzwang. 2...Kd5*e6 3.Bb5-c4 # 2.b2-b3 zugzwang. 2...Kd5*e6 3.Bb5-c4 # 1.b2-b3 ! threat: 2.Bd7*b5 zugzwang. 2...Kd5*e6 3.Bb5-c4 #" --- authors: - Horwitz, Bernhard source: The Chess Player's Chronicle date: 1855 algebraic: white: [Kb4, Bd1, Bc1, Sh7, Pg2, Pf4, Pc6, Pc3, Pb5] black: [Kd3, Pg6, Pf7] stipulation: "#4" solution: | "1.Sh7-f6 ! threat: 2.c6-c7 threat: 3.c7-c8=Q threat: 4.Qc8-h3 # 4.Qc8-d7 # 4.Qc8-c4 # 4.Qc8-d8 # 3.c7-c8=R threat: 4.Rc8-d8 # 3.c7-c8=B zugzwang. 3...g6-g5 4.Bc8-f5 # 1.c6-c7 ! threat: 2.Sh7-f6 threat: 3.c7-c8=Q threat: 4.Qc8-h3 # 4.Qc8-d7 # 4.Qc8-c4 # 4.Qc8-d8 # 3.c7-c8=R threat: 4.Rc8-d8 # 3.c7-c8=B zugzwang. 3...g6-g5 4.Bc8-f5 # 2.c7-c8=Q threat: 3.Qc8-c4 # 2...Kd3-e4 3.Qc8-c4 + 3...Ke4-f5 4.Qc4-d5 # 4.g2-g4 # 3.Qc8-b7 + 3...Ke4-f5 4.Qb7-d5 # 3...Ke4-d3 4.Qb7-d5 # 4.Qb7-f3 # 3.Qc8-d7 threat: 4.Sh7-f6 # 4.Sh7-g5 # 4.Bd1-f3 # 4.Bd1-c2 # 3...f7-f6 4.Sh7*f6 # 4.Bd1-f3 # 4.Bd1-c2 # 3.Qc8-c5 threat: 4.Bd1-c2 # 3...Ke4-d3 4.Qc5-e3 # 4.Qc5-d4 # 4.Qc5-c4 # 4.Qc5-d5 # 3.Qc8-c6 + 3...Ke4-f5 4.Qc6-d5 # 4.g2-g4 # 3...Ke4-d3 4.Qc6-f3 # 4.Qc6-d5 # 4.Qc6-c4 # 3.Qc8-a8 + 3...Ke4-f5 4.Qa8-d5 # 3...Ke4-d3 4.Qa8-d5 # 4.Qa8-f3 # 3.Qc8-e8 + 3...Ke4-d5 4.Qe8-c6 # 4.Qe8-e5 # 3...Ke4-f5 4.Qe8-e5 # 4.g2-g4 # 3...Ke4-d3 4.Qe8-e2 # 4.Qe8-e3 # 3.Qc8-d8 threat: 4.Bd1-c2 # 3...Ke4-f5 4.Qd8-d5 # 3.Sh7-f6 + 3...Ke4-d3 4.Qc8-h3 # 4.Qc8-d7 # 4.Qc8-c4 # 4.Qc8-d8 # 3.Sh7-g5 + 3...Ke4-d5 4.Qc8-d8 # 4.Qc8-d7 # 4.Qc8-c5 # 4.Qc8-c6 # 3...Ke4-d3 4.Qc8-h3 # 4.Qc8-d7 # 4.Qc8-c4 # 4.Qc8-d8 # 3.Kb4-c4 threat: 4.Sh7-f6 # 4.Sh7-g5 # 4.Bd1-f3 # 4.Bd1-c2 # 3...f7-f6 4.Qc8-e6 # 4.Sh7*f6 # 4.Bd1-f3 # 4.Bd1-c2 # 3.g2-g4 threat: 4.Qc8-c4 # 3...Ke4-d5 4.Qc8-c6 # 3.Bd1-e2 threat: 4.Sh7-f6 # 3...Ke4-d5 4.Qc8-c6 # 3.Bd1-c2 + 3...Ke4-d5 4.Qc8-d7 # 4.Qc8-c6 # 2.c7-c8=B threat: 3.Sh7-f6 zugzwang. 3...g6-g5 4.Bc8-f5 # 2...Kd3-e4 3.Kb4-c4 threat: 4.Sh7-f6 # 4.Sh7-g5 # 4.Bd1-f3 # 4.Bd1-c2 # 3...f7-f6 4.Sh7*f6 # 4.Bd1-f3 # 4.Bd1-c2 # 2.g2-g4 threat: 3.c7-c8=Q threat: 4.Qc8-c4 # 1...Kd3-e4 2.c7-c8=Q threat: 3.Qc8-b7 + 3...Ke4-f5 4.Qb7-d5 # 3...Ke4-d3 4.Qb7-d5 # 4.Qb7-f3 # 3.Qc8-d7 threat: 4.Sh7-f6 # 4.Sh7-g5 # 4.Bd1-f3 # 4.Bd1-c2 # 3...f7-f6 4.Sh7*f6 # 4.Bd1-f3 # 4.Bd1-c2 # 3.Qc8-c4 + 3...Ke4-f5 4.Qc4-d5 # 4.g2-g4 # 3.Qc8-c5 threat: 4.Bd1-c2 # 3...Ke4-d3 4.Qc5-e3 # 4.Qc5-d4 # 4.Qc5-c4 # 4.Qc5-d5 # 3.Qc8-c6 + 3...Ke4-f5 4.Qc6-d5 # 4.g2-g4 # 3...Ke4-d3 4.Qc6-f3 # 4.Qc6-d5 # 4.Qc6-c4 # 3.Qc8-a8 + 3...Ke4-f5 4.Qa8-d5 # 3...Ke4-d3 4.Qa8-d5 # 4.Qa8-f3 # 3.Qc8-e8 + 3...Ke4-d5 4.Qe8-c6 # 4.Qe8-e5 # 3...Ke4-f5 4.Qe8-e5 # 4.g2-g4 # 3...Ke4-d3 4.Qe8-e2 # 4.Qe8-e3 # 3.Qc8-d8 threat: 4.Bd1-c2 # 3...Ke4-f5 4.Qd8-d5 # 3.Sh7-f6 + 3...Ke4-d3 4.Qc8-h3 # 4.Qc8-d7 # 4.Qc8-c4 # 4.Qc8-d8 # 3.Sh7-g5 + 3...Ke4-d5 4.Qc8-d8 # 4.Qc8-d7 # 4.Qc8-c5 # 4.Qc8-c6 # 3...Ke4-d3 4.Qc8-h3 # 4.Qc8-d7 # 4.Qc8-c4 # 4.Qc8-d8 # 3.Kb4-c4 threat: 4.Sh7-f6 # 4.Sh7-g5 # 4.Bd1-f3 # 4.Bd1-c2 # 3...f7-f6 4.Qc8-e6 # 4.Sh7*f6 # 4.Bd1-f3 # 4.Bd1-c2 # 3.g2-g4 threat: 4.Qc8-c4 # 3...Ke4-d5 4.Qc8-c6 # 3.Bd1-e2 threat: 4.Sh7-f6 # 3...Ke4-d5 4.Qc8-c6 # 3.Bd1-c2 + 3...Ke4-d5 4.Qc8-c6 # 4.Qc8-d7 # 2...g6-g5 3.Qc8-c5 threat: 4.Bd1-c2 # 3...Ke4-d3 4.Qc5-e3 # 4.Qc5-d4 # 4.Qc5-c4 # 4.Qc5-f5 # 4.Qc5-d5 # 3.Qc8-c6 + 3...Ke4-f5 4.g2-g4 # 3...Ke4-d3 4.Qc6-f3 # 4.Qc6-d5 # 4.Qc6-c4 # 3.Sh7-f6 + 3...Ke4-d3 4.Qc8-h3 # 4.Qc8-f5 # 4.Qc8-d7 # 4.Qc8-c4 # 4.Qc8-d8 # 3.Sh7*g5 + 3...Ke4-d5 4.Qc8-d8 # 4.Qc8-d7 # 4.Qc8-c5 # 4.Qc8-c6 # 3...Ke4-d3 4.Qc8-h3 # 4.Qc8-f5 # 4.Qc8-d7 # 4.Qc8-c4 # 4.Qc8-d8 # 3.g2-g4 threat: 4.Qc8-f5 # 4.Qc8-c4 # 3...Ke4-d5 4.Qc8-c6 # 3...g5*f4 4.Qc8-f5 # 3.Bd1-g4 threat: 4.Qc8-f5 # 4.Qc8-c4 # 3...Ke4-d5 4.Qc8-c6 # 3...Ke4-d3 4.Qc8-f5 # 3...g5*f4 4.Qc8-f5 # 3.Bd1-f3 + 3...Ke4-d3 4.Qc8-f5 # 3.Bd1-c2 + 3...Ke4-d5 4.Qc8-d7 # 4.Qc8-c6 # 2...f7-f6 3.Qc8-b7 + 3...Ke4-f5 4.Qb7-d5 # 3...Ke4-d3 4.Qb7-d5 # 4.Qb7-f3 # 3.Qc8-e6 + 3...Ke4-d3 4.Qe6-c4 # 4.Qe6-d5 # 4.Qe6-e2 # 4.Qe6-e3 # 3.Qc8-d7 threat: 4.Sh7*f6 # 4.Bd1-f3 # 4.Bd1-c2 # 3.Qc8-c4 + 3...Ke4-f5 4.Qc4-d5 # 4.g2-g4 # 3.Qc8-c5 threat: 4.Bd1-c2 # 3...Ke4-d3 4.Qc5-e3 # 4.Qc5-d4 # 4.Qc5-c4 # 4.Qc5-d5 # 3.Qc8-c6 + 3...Ke4-f5 4.Qc6-d5 # 4.g2-g4 # 3...Ke4-d3 4.Qc6-f3 # 4.Qc6-d5 # 4.Qc6-c4 # 3.Qc8-a8 + 3...Ke4-f5 4.Qa8-d5 # 3...Ke4-d3 4.Qa8-d5 # 4.Qa8-f3 # 3.Qc8-g8 threat: 4.Bd1-c2 # 3...Ke4-f5 4.Qg8-d5 # 3...Ke4-d3 4.Qg8-c4 # 4.Qg8-d5 # 3.Qc8-e8 + 3...Ke4-d5 4.Qe8-c6 # 3...Ke4-f5 4.g2-g4 # 3...Ke4-d3 4.Qe8-e2 # 4.Qe8-e3 # 3.Qc8-d8 threat: 4.Bd1-c2 # 3...Ke4-f5 4.Qd8-d5 # 3.Sh7*f6 + 3...Ke4-d3 4.Qc8-h3 # 4.Qc8-d7 # 4.Qc8-c4 # 4.Qc8-d8 # 3.Kb4-c4 threat: 4.Qc8-e6 # 4.Sh7*f6 # 4.Bd1-f3 # 4.Bd1-c2 # 3.g2-g4 threat: 4.Qc8-c4 # 3...Ke4-d5 4.Qc8-c6 # 3.Bd1-e2 threat: 4.Qc8-e6 # 4.Sh7*f6 # 3...Ke4-d5 4.Qc8-c6 # 3.Bd1-c2 + 3...Ke4-d5 4.Qc8-d7 # 4.Qc8-c6 # 2.Kb4-c4 threat: 3.Bd1-c2 # 2...Ke4-f5 3.c7-c8=Q + 3...Kf5-e4 4.Bd1-c2 # 4.Sh7-f6 # 4.Sh7-g5 # 4.Bd1-f3 # 3.c7-c8=B + 3...Kf5-e4 4.Bd1-f3 # 4.Sh7-f6 # 4.Sh7-g5 # 4.Bd1-c2 #" --- authors: - Horwitz, Bernhard source: algebraic: white: [Kb3, Bh1, Sb2, Pc2] black: [Kd4, Be3, Ph2, Pg3, Pf4, Pe5, Pd6, Pc7, Pa7, Pa5] stipulation: "#23" solution: | "1.c3+,Kc5 2.Sa4+,Kb5 3.c4+,Ka6 4.Kc2,Bd4 5.Kd3,Bf2 6.Ke2,Bg1 7.Kf1,Bc5 8.Bd5!,h1Q+ 9.Bxh1,g2+ 10.Bxg2,Be3 11.Bf3,Bd4 12.Kg2,Be3 13.Kh3,Bb6 14.Kg4,Bc5 15.Kf5,e4 16.Bxe4,f3 17.Bxf3,Bd4 18.Ke6,d5 19.Bxd5,Bb6 20.Kd7,c6 21.Bxc6,Lg1 22.Kc8,Bb6 23.Bb7# " --- authors: - Horwitz, Bernhard source: L'Illustration date: 1854 algebraic: white: [Kg6, Be4, Sf5, Se3, Pf3, Pe2, Pc4] black: [Kf4, Sd7, Pc5, Pb4] stipulation: "#4" solution: | "1.Se3-d5 + ! 1...Kf4-e5 2.f3-f4 + 2...Ke5-e6 3.Sd5-c7 # 2...Ke5*e4 3.Kg6-g5 zugzwang. 3...b4-b3 4.Sd5-c3 # 3...Sd7-b6 4.Sd5-f6 # 3...Sd7-e5 4.Sd5-f6 # 3...Sd7-f6 4.Sd5*f6 # 3...Sd7-f8 4.Sd5-f6 # 3...Sd7-b8 4.Sd5-f6 #" keywords: --- authors: - Horwitz, Bernhard source: The Chess Player's Chronicle date: 1845 algebraic: white: [Kg5, Re2, Bc1, Ba2, Sh2, Sd5, Ph5, Ph4, Pg6, Pf7, Pd6, Pd3, Pc5, Pb6] black: [Ke6, Bc8, Sg4, Pg7, Pf5, Pe3, Pd7, Pd4, Pb7] stipulation: "s#8" solution: --- authors: - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben, 1. Teil source-id: 1 algebraic: white: [Kc2, Se5, Sc3, Pe4, Pb2, Pa4, Pa2] black: [Kc5, Qa5, Bd5, Pa6] stipulation: + solution: --- authors: - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben, 1. Teil source-id: 2 algebraic: white: [Kd5, Qd7, Bc4] black: [Ka8, Qb8] stipulation: + solution: --- authors: - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben, 1. Teil source-id: 3 algebraic: white: [Ke5, Rd3, Bh5, Pd2, Pc2] black: [Kc4, Qb5, Pd5, Pc6, Pb6, Pb4] stipulation: + solution: --- authors: - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben, 1. Teil source-id: 4 algebraic: white: [Kd1, Bg6, Ba1, Se8, Sc8, Ph3, Pg3, Pf2, Pe2, Pd3, Pd2, Pa2] black: [Kc6, Qc5, Bd4, Sd7, Sb7, Pe4, Pc4, Pb6] stipulation: + solution: --- authors: - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben, 1. Teil source-id: 5 algebraic: white: [Kb1, Qe5, Rb5, Bc5, Sb2, Pf2, Pc2, Pa2] black: [Kg6, Qg8, Rf8, Ra8, Bg5, Sh6, Ph7, Pg4, Pf7, Pf3, Pa6] stipulation: + solution: --- authors: - Horwitz, Bernhard source: Chess Player's Chronicle source-id: 121 date: 1850 algebraic: white: [Ke2, Ra1, Sd8, Pf2, Pd2] black: [Kd4, Qd5, Pc7] stipulation: + solution: | 1.Ra1-a4+ Kd4-e5 ! 2.Ra4-a5 ! c7-c5 3.Ra5*c5 ! Qd5*c5 4.d2-d4+ ! Qc5*d4 5.Sd8-c6+ Ke5-e4 6.Sc6*d4 Ke4*d4 7.Ke2-f3 ! 4...Ke5*d4 5.Sd8-e6+ Kd4-d5 6.Se6*c5 2...Qd5*a5 3.Sd8-c6+ Ke5-d6 4.Sc6*a5 1...Kd4-c5 2.Ra4-a5+ comments: - also, with Josef Kling, in The Philadelphia Times (no. 1054), 26 October 1890 --- authors: - Kling, Josef - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben, 1. Teil source-id: 8 algebraic: white: [Kb8, Qf8] black: [Ka1, Pf2, Pb2] stipulation: + solution: 1.Qa3+! Kb1 2.Qd3+ ... 2.Qa6 ... --- authors: - Kling, Josef - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben, 1. Teil source-id: 9 algebraic: white: [Kd3, Bd8, Pe7] black: [Kb1, Pa2] stipulation: + solution: --- authors: - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben, 1. Teil source-id: 10 algebraic: white: [Kg8, Rh8, Se7, Ph7] black: [Kf6, Ba3] stipulation: + solution: --- authors: - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben, 1. Teil source-id: 15 algebraic: white: [Ka1, Rh4] black: [Ka3, Rc3, Pb4, Pa2] stipulation: "=" solution: keywords: --- authors: - Kling, Josef - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben, 1. Teil source-id: 17 algebraic: white: [Kc7, Bd1, Ba5, Sd7] black: [Ka8, Qe7, Sh7, Sg8] stipulation: "=" solution: --- authors: - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben (2. Teil) source-id: 2 date: 1882 algebraic: white: [Kf8, Rd6, Bc5, Sh1, Ph3, Ph2, Pg4, Pf3, Pe2] black: [Kh8, Ph4, Pg5, Pe3] stipulation: "#10" solution: | Weiß setzt in 10 Zügen mit dem Springer Matt, ohne ;einen Bauer zu ziehn oder zu schlagen. Td6-g6 keywords: --- authors: - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben (2. Teil) source-id: 3 date: 1882 algebraic: white: [Ke3, Qf7, Bg6, Sg8, Sd8, Pg2] black: [Kg4, Rg5, Bh4, Pg7, Pg3, Pe5] stipulation: + solution: | Weiß soll mit dem Springer d8 mattsetzen, ohne ;einen feindlichen Stein zu schlagen. Sg8-h6+ keywords: --- authors: - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben (2. Teil) source-id: 6 date: 1882 algebraic: white: [Kh6, Rf4, Bb7, Pg3, Pd6] black: [Kh8, Qd8, Pg6, Pd7] stipulation: + solution: Tf4-f7 keywords: --- authors: - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben (2. Teil) source-id: 7 date: 1882 algebraic: white: [Kg2, Rc1, Pg6] black: [Kh4, Ra3, Pf4] stipulation: + solution: Tc1-g1 keywords: --- authors: - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben (2. Teil) source-id: 8 date: 1882 algebraic: white: [Kb3, Rh2, Sd4] black: [Ka1, Qc1, Bh6, Pg7] stipulation: + solution: Th2-a2+ keywords: --- authors: - Horwitz, Bernhard source: The Chess Monthly source-id: 22 date: 1880-01 algebraic: white: [Kg5, Bc4, Pf6] black: [Kh7, Bg6] stipulation: + solution: | "1.Kg5-f4 ? Kh7-h6 2.Kf4-e5 Kh6-g5 3.Ke5-e6 Kg5-f4 4.Ke6-e7 Kf4-e5 1.Bc4-g8+ ! Kh7-h8 ! 2.Bg8-e6 ! Bg6-e8 ! 3.Kg5-f5 Kh8-h7 4.Be6-d5 ! Be8-h5 5.Kf5-e6 Kh7-g6 6.Ke6-e7 Kg6-f5 7.Bd5-f7 Bh5-d1 8.Bf7-e6+ 4...Kh7-h6 5.Kf5-e6 Kh6-g6 6.Ke6-e7 Kg6-g5 7.Bd5-e6 ! Be8-h5 8.Be6-f7 Bh5-d1 9.Bf7-e8 Bd1-b3 10.Be8-d7 Kg5-f4 11.Bd7-e6 7...Kg5-g6 8.Be6-d7 ! Be8-f7 9.Bd7-f5+ Kg6*f5 10.Ke7*f7 4...Be8-d7+ 5.Kf5-e5 Kh7-g6 6.f6-f7 Kg6-g7 7.Ke5-d6 Bd7-f5 8.Kd6-e7 2...Kh8-h7 3.Be6-f5 2...Bg6-d3 3.Kg5-f4 Bd3-b5 4.Kf4-e5 Bb5-e8 5.Ke5-d6 Kh8-h7 6.Kd6-e7 Kh7-g6 7.Be6-d7 Be8-f7 8.Bd7-f5+ 1...Kh7*g8 2.Kg5*g6 1.Bc4-e6 ! {cook} Bg6-e8 2.Be6-d5 {or Bc4,Bc3,Ba2} 2.Kg5-f5? Kh7-h6 3.Be6-d5 Be8-h5 4.Kf5-e6 Kh6-g5 5.Ke6-e7 Kg5-f4 6.Bd5-f7 Bh5-d1 7.Bf7-e8 Bd1-b3 8.Be8-d7 Kf4-e5" keywords: - Cooked --- authors: - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben (2. Teil) source-id: 10 date: 1882 algebraic: white: [Kd2, Rc7, Sd1] black: [Ka2, Qa1] stipulation: + solution: Tc7-a7+ keywords: --- authors: - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben (2. Teil) source-id: 11 date: 1882 algebraic: white: [Ke6, Rb3, Se1, Sd4, Pe2, Pb5, Pa4, Pa2] black: [Kd1, Rh2, Bh4, Sf1, Pg7, Pg2, Pf4, Pe3, Pb6, Pb4] stipulation: + solution: Tb3-b1+ keywords: --- authors: - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben (2. Teil) source-id: 12 date: 1882 algebraic: white: [Kg4, Rd1, Ba7, Sg5, Pc4, Pb3] black: [Ka8, Qa5, Pc6, Pc5, Pb7, Pb4] stipulation: + solution: La7-b6 keywords: --- authors: - Kling, Josef - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben (2. Teil) source-id: 13 date: 1882 algebraic: white: [Kb6, Se5, Se4, Pe2] black: [Ke6, Qf8, Pe7] stipulation: "=" solution: Se4-c5+ --- authors: - Kling, Josef - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben (2. Teil) source-id: 14 date: 1882 algebraic: white: [Kg2, Rc4, Bd1, Pe5, Pa4] black: [Kd7, Qf7, Pe7, Pa5] stipulation: + solution: e5-e6+ --- authors: - Kling, Josef - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben (2. Teil) source-id: 15 date: 1882 algebraic: white: [Kh7, Qg4, Sb8] black: [Kf8, Qa3, Pb6] stipulation: + solution: Dg4-g8+ --- authors: - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben, III. source-id: studies/1 date: 1887 algebraic: white: [Kb2, Bd3, Sc5, Ph2, Pg2, Pe5, Pe2, Pd4, Pc3, Pb5] black: [Kd5, Qf4, Pg4, Pf5, Pe6, Pe3, Pc4, Pb6] stipulation: + solution: | 1. Be4+ Qxe4 2. Sd7 Qxd4 3. cxd4 Kxd4 4. g3 c3+ 5. Kb3 +- 1. ... fxe4 2. Sd7 +- [ 1. Sa4 cxd3 2. exd3 Dxd4 3. cxd4 Kxd4 4. Kc2 ... ] --- authors: - Horwitz, Bernhard source: The Chess Monthly source-id: 65 date: 1885-10 algebraic: white: [Kc5, Bf4, Pa3] black: [Ka7, Pb5, Pa4] stipulation: + solution: | "1. Kc6 Ka8 2. Kb6! b4 3. axb4 a3 {eg} 4. b5 a2 5. Be5 a1Q 6. Bxa1 wins 1. ... Ka6 2. Be3 Ka5 3. Bc5 Ka6 4. Bb6 b4 5. axb4 a3 6. b5# Dual: 2. Kc7! b4 3. axb4 a3 4. b5 a2 5. b6 a1=Q 6. b7+ Ka7 7. b8Q+ Ka6 8. Qb6# 2. ... Ka7 3. Be3+ Ka6 4. Kc6 Ka5 5. Bc5 Ka6 6. Bb6 b4 7. axb4 a3 8. b5# 3. ... Ka8 4. Bf2 b4 5. axb4 a3 6. b5 a2 7. b6 a1Q 8. b7#" keywords: - Dual --- authors: - Horwitz, Bernhard source: | Dufresne: Sammlung leichterer Schachaufgaben, v. 3 source-id: 3 date: 1887 algebraic: white: [Kh4, Qc1, Ba4, Pg5] black: [Kg8, Qg7, Bb1, Ba1, Pg6, Pd3] stipulation: + solution: --- authors: - Horwitz, Bernhard source: The Chess Monthly date: 1881 algebraic: white: [Ke2, Rf6, Bh8] black: [Kh1, Ph3, Ph2] stipulation: + solution: | "1. Rf8 {with duals} (1. Ke1 $1 Kg2 2. Rf2+ Kg1 3. Bd4 h1=Q 4. Re2#) 1... Kg2 2. Rg8+ (2. Be5 $1 h1=Q 3. Rg8#) 2... Kh1 3. Bg7 $1 {Indian} Kg2 4. Be5+ Kh1 5. Bxh2 1-0" --- authors: - Horwitz, Bernhard source: The Chess Monthly date: 1881 algebraic: white: [Kd2, Ra4, Sd8] black: [Ka1, Pa3, Pa2] stipulation: + solution: | "1. Ra8 $1 {with duals} Kb2 2. Rb8+ (2. Nc6) 2... Ka1 3. Nb7 $1 {Indian} Kb2 4. Nc5+ Ka1 5. Nb3+ Kb2 6. Nd4+ Ka1 7. Nc2# 1-0" --- authors: - Kling, Josef - Horwitz, Bernhard source: The Chess Player date: 1852 algebraic: white: [Ke3, Pg4, Pf5, Pe4, Pd5] black: [Ke5, Pg5, Pf6, Pd6] stipulation: "=" solution: | {mutual zugzwang - virtual stalemate} 1. Kd3 $1 (1. Kf3 $2 Kd4 $19) 1... Kf4 2. Kd4 Kxg4 3. Ke3 Kh5 4. Kf3 g4+ ({but} 4... Kh6 $1 5. Kg4 Kg7 $19) 5. Kg2 (5. Kg3 $2 Kg5 {mutual zugzwang} 6. Kf2 Kf4 $19) ({minor dual} 5. Kf2) 5... Kg5 6. Kg3 {mutual zugzwang} 1/2-1/2 --- authors: - Kling, Josef - Horwitz, Bernhard source: The Chess Player date: 1852 algebraic: white: [Ke4, Pg4, Pf3, Pd2] black: [Ke6, Pg5, Pf4, Pe5, Pd4] stipulation: + solution: | 1. d3 $1 {mutual zugzwang - virtual stalemate} Kd6 (1... Kf6 2. Kd5 e4 3. Kxe4 Ke6 4. Kxd4 $18) 2. Kf5 Kd5 3. Kxg5 Ke6 (3... e4 4. fxe4+ Ke5 5. Kh4 $18) 4. Kh4 $1 (4. Kh5 $2 e4 $1 $19) 4... Kf6 5. Kh3 $1 1-0 --- authors: - Horwitz, Bernhard source: date: 1884 algebraic: white: [Kb2, Ph5, Pg4, Pf4] black: [Kg2, Bf7, Ph6] stipulation: + solution: | 1. f5 Kg3 2. g5 hxg5 (2... Bxh5 3. gxh6) (2... Kg4 3. g6 Bd5 4. f6 Kxh5 5. f7) 3. h6 Bg8 4. f6 Kf4 5. h7 Bxh7 6. f7 1-0 --- authors: - Kling, Josef - Horwitz, Bernhard source: date: 1904 algebraic: white: [Kg8, Qc7, Bh7, Pe2] black: [Ka1, Rb1, Pa2] stipulation: + solution: | "1.Qg7+ Rb2 2.Qg1+ (2.e4 $1 {cook JU}) 2...Rb1 3.Qd4+ Rb2 4.e4 Kb1 5.Qd1# 1-0" keywords: - "Stipulation?" --- authors: - Horwitz, Bernhard source: Land and Water source-id: 54 date: 1873-01-25 algebraic: white: [Kh6, Qb6, Bd2] black: [Ke4, Qf7] stipulation: + solution: | 1. Qe3+ Kf5 2. Qf3+ Ke6 3. Qb3+ Ke7 4. Bg5+ Kf8 5. Qb(d)8+ Qe8 6. Qd6+ Kg8 7. Be7 wins --- authors: - Kling, Josef - Horwitz, Bernhard source: algebraic: white: [Kh6, Pg7, Pf6, Pe7] black: [Kg8, Be8] stipulation: + solution: | 1.Kg5 Kf7 2.Kf5 Bd2+ 3.Ke5 Ba4 4.Kd6 Bb5 5.Kc7 Ba4 6.Kd8 Bb5 7.g8/Q+ Kxg8 8.e8/Q+ Bxe8 9.Kxe8 wins keywords: - Letters --- authors: - Horwitz, Bernhard source: "Sourse?" algebraic: white: [Kh7, Bf6, Pe7, Pc6, Pb7] black: [Ke8, Qb8, Pf7, Pc7] stipulation: + solution: | 1.Kg8 Qa7 2.Bd4 Qb8 3.Bс5 f5 4.Kg7 f4 5.Kf6 f3 6.Bf2 keywords: - Domination --- authors: - Kling, Josef - Horwitz, Bernhard source: Chess Studies source-id: 9 date: 1851 algebraic: white: [Kf3, Pc6, Pb5] black: [Kc7, Ph6, Pd6] stipulation: + solution: | "1.Kf3-f4 Kc7-b6 2.Kf4-f5 ! Kb6-c7 3.Kf5-f6 ! Kc7-b6 4.Kf6-e6 ! Kb6-c7 5.Ke6-d5 h6-h5 6.b5-b6+ Kc7*b6 7.Kd5*d6 h5-h4 8.c6-c7 Kb6-b7 9.Kd6-d7 6...Kc7-c8 7.Kd5*d6 h5-h4 8.b6-b7+ Kc8-b8 9.c6-c7+ Kb8*b7 10.Kd6-d7 4...h6-h5 5.Ke6*d6 h5-h4 6.c6-c7 h4-h3 7.c7-c8=Q h3-h2 8.Qc8-a6# 4.Kf6-g6 ! {dual} d6-d5 5.Kg6-f5 h6-h5 6.Kf5-e5 h5-h4 7.Ke5-d6 h4-h3 8.c6-c7 h3-h2 9.c7-c8=Q h2-h1=Q 10.Qc8-a6# 6...Kb6-c7 7.Ke5*d5 3...h6-h5 4.Kf6-g5 3...d6-d5 4.Kf6-e5 3.Kf5-e6 ? h6-h5 4.Ke6-f5 d6-d5 5.Kf5-f4 h5-h4 6.Kf4-g4 d5-d4 4.Ke6-d5 h5-h4 5.b5-b6+ Kc7*b6 6.Kd5*d6 h4-h3 7.c6-c7 h3-h2 8.c7-c8=Q h2-h1=Q 2...Kb6-a7 3.Kf5-e6 Ka7-b6 4.Ke6-d7 2.Kf4-e4 ! {dual} h6-h5 3.Ke4-d5 h5-h4 4.Kd5*d6 h4-h3 5.c6-c7 h3-h2 6.c7-c8=Q h2-h1=Q 7.Qc8-a6# 3...Kb6-c7 4.b5-b6+ 2...Kb6-c7 3.Ke4-d5 h6-h5 4.b5-b6+ 1...h6-h5 2.Kf4-g5 1...d6-d5 2.Kf4-e5 h6-h5 3.Ke5*d5 h5-h4 4.Kd5-e4" keywords: - Dual --- authors: - Horwitz, Bernhard source: Sonntags-Blatt für Schach-Freunde source-id: 27/135 date: 1861-07-07 algebraic: white: [Kb2, Se3, Sd2, Pa4] black: [Kb4, Pb7, Pb5, Pa7] stipulation: + solution: | "1. Sc2+ Kxa4 2. Sb3 b4 3. Scd4 b6 4. Ka2 a6 5. Kb2 a5 6. Ka2 b5 7. Sc5# 2. ... b6 3. Ka2 1. ... Ka5 2. Sb3+ Ka6 3. a5 b6 4. Sb4+ Kb7 5. a6+ 2. ... Kxa4 3. Ka2 1. ... Kc5 2. Sb3+ Kb6 3. a5+ 2. ... Kc6 3. Scd4+" --- authors: - Kling, Josef - Horwitz, Bernhard source: Chess Studies source-id: 74 date: 1851 algebraic: white: [Kc4, Rh2] black: [Ka4, Pc3, Pb2] stipulation: + solution: | 1.Rh2-h8 Ka4-a5 2.Kc4*c3 b2-b1=S+ 3.Kc3-b2 Sb1-d2 4.Rh8-h4 Ka5-b5 5.Kb2-c3 Sd2-b1+ 6.Kc3-c2 Sb1-a3+ 7.Kc2-b3 Sa3-b1 8.Rh4-h2 {or Rd4} 5...Sd2-f3 6.Rh4-h3 Sf3-g1 7.Rh3-e3 4...Sd2-f3 5.Rh4-f4 Sf3-e1 6.Kb2-c3 Se1-g2 7.Rf4-e4 4...Sd2-f1 5.Kb2-c3 Sf1-g3 6.Rh4-g4 Sg3-f1 7.Kc3-d3 Sf1-h2 8.Rg4-g2 keywords: - Black underpromotion --- authors: - Kling, Josef - Horwitz, Bernhard source: Chess Studies and End-games source-id: 33 date: 1884 algebraic: white: [Kf2, Pg2, Pf3, Pe4, Pd5, Pc6, Pb5] black: [Kh4, Pf4, Pe5, Pd6, Pc7, Pb6] stipulation: + solution: | "1.g2-g4 ? Kh4-g5 ! 2.Kf2-g2 Kg5-g6 3.Kg2-h3 Kg6-g5 4.Kh3-h2 Kg5-h6 5.Kh2-h1 Kh6-h7 1.g2-g3+ f4*g3+ 2.Kf2-g2 Kh4-h5 3.Kg2*g3 Kh5-g5 4.f3-f4+ e5*f4+ 5.Kg3-f3 Kg5-g6 6.Kf3*f4 Kg6-f6 7.e4-e5+ d6*e5+ 8.Kf4-e4 Kf6-f7 9.Ke4*e5 Kf7-e7 10.d5-d6+ c7*d6+ 11.Ke5-d5 Ke7-e8 12.Kd5*d6 Ke8-d8 13.c6-c7+ Kd8-c8 14.Kd6-e6 Kc8*c7 15.Ke6-e7 Kc7-c8 16.Ke7-d6 Kc8-b7 17.Kd6-d7 12.Kd5-e6 ! {dual} 12.c6-c7 ! {dual} 9.d5-d6 ! {dual} 6.e4-e5 ! {dual} 3.f3-f4 ! {dual} e5*f4 4.Kg2-h3 Kh5-g6 5.e4-e5 ! d6*e5 6.d5-d6 c7*d6 7.c6-c7 1.Kf2-e1 ! {cook} Kh4-g3 2.Ke1-f1 Kg3-h4 3.Kf1-f2 Kh4-h5 4.g2-g3 f4*g3+ 5.Kf2*g3 2...Kg3-h2 3.Kf1-f2 Kh2-h1 4.g2-g4 f4*g3 ep.+ 5.Kf2*g3 Kh1-g1 6.f3-f4 1.Kf2-f1 ! {cook} Kh4-g3 2.Kf1-g1 Kg3-h4 3.Kg1-h2 Kh4-h5 4.Kh2-h3 Kh5-g5 5.g2-g4 Kg5-g6 6.Kh3-h4 Kg6-h6 7.g4-g5+ Kh6-g6 8.Kh4-g4 Kg6-g7 9.Kg4-h5 Kg7-h7 10.g5-g6+ Kh7-g7 11.Kh5-g5 Kg7-g8 12.Kg5-f6 ! Kg8-f8 13.g6-g7+ Kf8-g8 14.Kf6-e7 5...f4*g3 ep. 6.Kh3*g3 Kg5-g6 7.f3-f4 3...Kh4-g5 4.Kh2-h3 Kg5-h5 5.g2-g3 f4*g3 6.Kh3*g3 Kh5-g5 7.f3-f4+ 5.g2-g4+ ? Kh5-g5 ! 6.Kh3-h2 Kg5-h6 7.Kh2-g2 Kh6-g6 ! 8.Kg2-h3 Kg6-g5" keywords: - Cooked --- authors: - Kling, Josef - Horwitz, Bernhard source: Chess Studies source-id: 20 date: 1851 algebraic: white: [Kc2, Bd7, Sh3, Sc4, Pf2, Pc3] black: [Ke4, Qd5, Pf4, Pf3] stipulation: + solution: | 1.Sh3-g5+ Qd5*g5 2.Sc4-d2+ Ke4-d5 3.c3-c4+ Kd5-c5 4.Sd2-e4+ 3...Kd5-d6 4.Sd2-e4+ 3...Kd5-e5 4.Sd2*f3+ 3...Kd5-d4 4.Sd2*f3+ keywords: - King cross flight --- authors: - Kling, Josef - Horwitz, Bernhard source: Chess Studies source-id: 12 date: 1851 algebraic: white: [Kc2, Rh7, Bf1, Pe7] black: [Ke6, Rb8, Bh8, Pa6] stipulation: + solution: | 1.Bf1-h3+ Ke6-d6 2.Bh3-d7 ! Kd6*d7 3.e7-e8=Q+ ! Kd7*e8 4.Rh7*h8+ 2...Rb8-b2+ 3.Kc2-c1 ! Kd6*d7 4.e7-e8=Q+ Kd7*e8 5.Rh7*h8+ --- authors: - Kling, Josef - Horwitz, Bernhard source: Chess Studies source-id: 22 date: 1851 algebraic: white: [Kh2, Rg4, Rf4] black: [Kg6, Qd6, Sg5] stipulation: "=" solution: | 1...Qd6-e5 2.Kh2-g2 Kg6-h6 3.Rg4-h4+ Kh6-g7 4.Rh4-g4 Kg7-h8 5.Rg4-h4+ Sg5-h7 6.Rf4-g4 --- authors: - Horwitz, Bernhard source: The Philadelphia Times source-id: 583 date: 1885-09-20 algebraic: white: [Kb5, Qh7, Pe6, Pb6] black: [Ka8, Qb8, Sg8, Pe7, Pa2] stipulation: + solution: 1.Qh7-e4 --- authors: - Horwitz, Bernhard source: The International Chess Magazine date: 1885 algebraic: white: [Kf8, Sb1, Pf5, Pe6] black: [Kd8, Bb4, Pe7] stipulation: + solution: | 1.Kf8-f7 Kd8-c7 2.Sb1-d2 Kc7-d8 3.Sd2-f3 Bb4-d6 4.Sf3-h4 Bd6-a3 5.Sh4-g6 Ba3-b4 6.Sg6*e7 ! Bb4*e7 7.f5-f6 Be7*f6 8.Kf7*f6 Kd8-e8 9.e6-e7 5.Kf7-f8 ! {dual} Kd8-c7 6.Sh4-g6 Kc7-d8 7.Sg6*e7 Ba3*e7+ 8.Kf8-f7 2...Bb4*d2 3.f5-f6 2...Kc7-c6 ! {refutation} 3.Sd2-c4 Kc6-d5 4.Sc4-b6+ Kd5-e4 5.Kf7-g6 Bb4-c5 6.Sb6-c8 Ke4-e5 7.Sc8-a7 Ke5-d5 8.Sa7-b5 Kd5-c6 9.Sb5-c3 Bc5-d6 10.Sc3-e4 Bd6-b4 11.Se4-f6 Kc6-d6 ! 12.Sf6-d7 Kd6-d5 13.f5-f6 e7*f6 1...Bb4-e1 {main} 2.Sb1-a3 Be1-c3 3.Sa3-c4 Bc3-d4 4.Sc4-d6 ! Bd4-e5 5.Sd6-c8 Be5-f6 6.Sc8*e7 4...Bd4-f6 5.Sd6-e4 Bf6-h4 6.f5-f6 4.Sc4-a5 ! {dual} Bd4-f6 5.Sa5-c6+ 1.Sb1-d2 ! {cook} Bb4*d2 2.f5-f6 Bd2-g5 3.f6-f7 Bg5-h6+ 4.Kf8-g8 Kd8-c7 5.f7-f8=Q Bh6*f8 6.Kg8*f8 Kc7-d6 7.Kf8-f7 keywords: - Cooked comments: - B. Horwitz's last composition sent to The International Chess Magazine - also in The Philadelphia Times, 11 October 1885 --- authors: - Horwitz, Bernhard source: Wiener Schach-Zeitung date: 1855-09 algebraic: white: [Ka6, Qc5, Bg1, Pe4] black: [Kb8, Qh3, Be5, Pf6] stipulation: + solution: | "1.Qc5-f8+ ? Qh3-c8+ ! 2.Qf8*c8+ Kb8*c8 1...Kb8-c7 ? 2.Bg1-b6+ Kc7-c6 3.Qf8-a8+ Kc6-d6 4.Qa8-d5+ Kd6-e7 5.Bb6-c5+ Ke7-e8 6.Qd5-g8+ Ke8-d7 7.Ka6-b7 ! 2...Kc7-d7 3.Qf8-d8+ 1.Qc5-b5+ Kb8-c8 2.Qb5-e8+ Kc8-c7 3.Bg1-b6+ Kc7-d6 4.Qe8-f8+ Kd6-c6 5.Qf8-a8+ Kc6-d6 6.Qa8-d5+ Kd6-e7 7.Bb6-c5+ Ke7-e8 8.Qd5-g8+ Ke8-d7 9.Ka6-b7 4...Kd6-e6 5.Qf8-c8+ 4...Kd6-d7 5.Qf8-d8+ 1...Kb8-c7 2.Bg1-b6+ Kc7-d6 3.Qb5-d5+" --- authors: - Kling, Josef - Horwitz, Bernhard source: Chess Studies source-id: 6 date: 1851 algebraic: white: [Kd5, Pd6, Pb5] black: [Kd7, Pb6] stipulation: + solution: | 1.Kd5-e5 Kd7-d8 2.Ke5-d4 Kd8-c8 3.Kd4-e4 Kc8-d8 4.Ke4-e5 Kd8-d7 5.Ke5-d5 2.d6-d7 ! {dual} Kd8*d7 3.Ke5-d5 2...Kd8-e7 3.d7-d8=Q+ 2.Ke5-e4 {dual} keywords: - Dual pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-opposition_by_arex_2017.01.22.pgn0000644000175000017500000000733713365545272031017 0ustar varunvarun[Termination "promotion with +100cp"] [Event "Lichess Practice: Opposition: Direct Opposition #1"] [Site "https://lichess.org/study/A4ujYOer"] [UTCDate "2017.01.22"] [UTCTime "09:50:32"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/2k5/8/8/2PK4/8/8/8 w - - 0 1"] [SetUp "1"] { Direct Opposition is a position in which the kings are on the same rank or file and they are separated by one square. In such a situation, the player not having to move is said to "have the opposition". The side without the opposition may have to move the king away, potentially allowing the opposing king access to important squares. Take the opposition to reach a key square and win! } * [Termination "draw in 20"] [Event "Lichess Practice: Opposition: Direct Opposition #2"] [Site "https://lichess.org/study/A4ujYOer"] [UTCDate "2017.01.22"] [UTCTime "00:41:28"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/8/4p3/4k3/8/8/4K3 w - - 0 1"] [SetUp "1"] { Take the opposition to prevent black from reaching a key square and hold the draw. } * [Termination "promotion with +100cp"] [Event "Lichess Practice: Opposition: Direct Opposition #3"] [Site "https://lichess.org/study/A4ujYOer"] [UTCDate "2017.01.22"] [UTCTime "00:33:52"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/4k3/8/8/2P1K3/8/8/8 w - - 0 1"] [SetUp "1"] { Take the opposition to reach a key square and win! } * [Termination "promotion with +100cp"] [Event "Lichess Practice: Opposition: Direct Opposition #4"] [Site "https://lichess.org/study/A4ujYOer"] [UTCDate "2017.01.22"] [UTCTime "00:34:22"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/7k/8/1p6/7K/2P5/8 w - - 0 1"] [SetUp "1"] { Take the opposition to reach a key square and win! } * [Termination "promotion with +100cp"] [Event "Lichess Practice: Opposition: Direct Opposition #5"] [Site "https://lichess.org/study/A4ujYOer"] [UTCDate "2017.01.22"] [UTCTime "00:35:03"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/4R2n/4K1pk/6p1/7P/8/8/8 w - - 0 1"] [SetUp "1"] { Use your knowledge of Direct Opposition to win the game. } * [Termination "draw in 20"] [Event "Lichess Practice: Opposition: Distant Opposition #1"] [Site "https://lichess.org/study/A4ujYOer"] [UTCDate "2017.01.22"] [UTCTime "00:47:49"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/8/5kp1/8/8/8/6K1 w - - 0 1"] [SetUp "1"] { Distant Opposition is a position in which the kings are on the same rank or file but are separated by more than one square. If there are an odd number of squares between the kings, the player not having the move has the (distant) opposition. Take the Distant Opposition to hold the draw. } * [Termination "promotion with +100cp"] [Event "Lichess Practice: Opposition: Distant Opposition #2"] [Site "https://lichess.org/study/A4ujYOer"] [UTCDate "2017.01.22"] [UTCTime "00:52:03"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "4k3/8/8/1p5p/1P5P/8/8/4K3 w - - 0 1"] [SetUp "1"] { Take the Distant Opposition to win the game. } * [Termination "promotion with +100cp"] [Event "Lichess Practice: Opposition: As a means to an end"] [Site "https://lichess.org/study/A4ujYOer"] [UTCDate "2017.01.22"] [UTCTime "00:56:41"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/4k3/8/2PK4/8/8/8 w - - 0 1"] [SetUp "1"] { White can take Direct Opposition, but is that the best move? Remember the key squares. } *pychess-1.0.0/learn/puzzles/loyd.olv0000644000175000017500000757025613365545272016606 0ustar varunvarun--- authors: - Loyd, Samuel source: New York Commercial Advertiser date: 1897 algebraic: white: [Kg6, Qa7, Rg4, Rd8, Bh8, Sf4, Sd4, Pf2, Pc2] black: [Ke4, Sf6, Sd5, Pf3, Pc3] stipulation: "#2" solution: | "1...Ke5 2.Nd3# 1...Ng8/Nh7/Ne8 2.Nxd5# 1...Ne3/Ne7+/Nb4/Nb6 2.Qe7# 1.Bxf6?? (2.Nxd5#) 1...Ne3 2.Re8#/Qe7# 1...Ne7+/Nxf6 2.Qxe7# but 1...Nxf4+! 1.Qa8?? zz 1...Ke5/Kxd4 2.Qxd5#/Nd3# 1...Ng8/Nd7 2.Qxd5#/Ng2#/Nh3#/Nh5#/Nfe2#/Nfe6#/Nd3#/Nxd5# 1...Nh5 2.Re8#/Qxd5#/Nxh5# 1...Nh7/Ne8 2.Re8#/Qxd5#/Ng2#/Nh3#/Nh5#/Nfe2#/Nfe6#/Nd3#/Nxd5# but 1...Nxg4! 1.Qb7?? zz 1...Ke5/Kxd4 2.Qxd5#/Nd3# 1...Ng8/Nd7 2.Qxd5#/Ng2#/Nh3#/Nh5#/Nfe2#/Nfe6#/Nd3#/Nxd5# 1...Nh5 2.Re8#/Qxd5#/Nxh5# 1...Nh7/Ne8 2.Re8#/Qxd5#/Ng2#/Nh3#/Nh5#/Nfe2#/Nfe6#/Nd3#/Nxd5# but 1...Nxg4! 1.Qe7+?? 1...Kxd4 2.Ng2#/Nh3#/Nh5#/Ne2#/Nd3#/Nxd5# but 1...Nxe7+! 1.Re8+?? 1...Ne7+ 2.Rxe7# but 1...Nxe8! 1.Nf5?? (2.Qd4#) 1...Ne7+/Nb6 2.Qxe7# but 1...Nxf4+! 1.Nc6?? (2.Qd4#) 1...Ne7+ 2.Qxe7# 1...Nb6 2.Rd4#/Qe7# but 1...Nxf4+! 1.Nb3?? (2.Qd4#) 1...Ne7+/Nb6 2.Qxe7# but 1...Nxf4+! 1.Nb5?? (2.Qd4#) 1...Ne7+/Nb6 2.Qxe7# but 1...Nxf4+! 1.Nd3+?? 1...Nf4+ 2.Rxf4# but 1...Nxg4! 1.Nxd5+?? 1...Ke5 2.Bxf6#/Qc7#/Qe7#/Qb8# but 1...Nxg4! 1.Qh7! zz 1...Ke5/Kxd4 2.Nd3# 1...Ne3/Ne7+ 2.Qe7# 1...Nxf4+/Nc7 2.Kxf6# 1...Nb4/Nb6 2.Kxf6#/Qe7# 1...Nxg4 2.Kg5# 1...Ng8 2.Kg5#/Kh5#/Kf7#/Nxd5# 1...Nh5/Nd7 2.Kg5#/Kh6#/Kxh5#/Kf7# 1...Nxh7 2.Nxd5# 1...Ne8 2.Kg5#/Kh6#/Kh5#/Kf7#/Nxd5#" keywords: - Flight giving key - Active sacrifice --- authors: - Loyd, Samuel source: Baltimore Herald date: 1880 algebraic: white: [Kh1, Qc2, Bc4, Bb4, Sb3, Sa3] black: [Ka2, Rb2] stipulation: "#2" solution: | "1.Qc2-h7 ! zugzwang. 1...Rb2-b1 + 2.Qh7*b1 # 1...Rb2*b3 2.Qh7-b1 # 1...Rb2-h2 + 2.Qh7*h2 # 1...Rb2-g2 2.Qh7-b1 # 1...Rb2-f2 2.Qh7-b1 # 1...Rb2-e2 2.Qh7-b1 # 1...Rb2-d2 2.Qh7-b1 # 1...Rb2-c2 2.Qh7*c2 #" keywords: - Vladimirov - No pawns - Switchback comments: - also in The Philadelphia Times (no. 2190), 3 August 1902 --- authors: - Loyd, Samuel source: La Stratégie source-id: 53 date: 1867-10-15 algebraic: white: [Kd1, Qb7, Bg6, Sg5] black: [Kd8, Qg8, Sb8, Pe7, Pe6] stipulation: "#2" solution: | "1...Qg7/Qf8/Qe8/Qh8/Qh7 2.Nxe6# 1.Nf7+?? 1...Ke8 2.Qc8# but 1...Qxf7! 1.Be8! (2.Qxb8#) 1...Kxe8 2.Qc8# 1...Qxe8 2.Nxe6# 1...Nc6/Nd7/Na6 2.Qd7#" keywords: - Flight giving key --- authors: - Loyd, Samuel source: Le Sphinx source-id: v 119 date: 1866-10-01 algebraic: white: [Kd8, Qf1, Rd5, Bc6, Bb2, Sf7, Pf4, Pe3] black: [Ke4, Qd2, Pf6] stipulation: "#2" solution: | "1.Bb2-c1 ! zugzwang. 1...Qd2*c1 2.Rd5-e5 # 1...Qd2-e1 2.Sf7-d6 # 2.Rd5-a5 # 2.Rd5-b5 # 2.Rd5-c5 # 2.Rd5-h5 # 2.Rd5-g5 # 2.Rd5-e5 # 2.Qf1-g2 # 1...Qd2*e3 2.Sf7-d6 # 1...Qd2-a5 + 2.Rd5*a5 # 1...Qd2-b4 2.Rd5-a5 # 2.Rd5-b5 # 2.Rd5-c5 # 2.Rd5-h5 # 2.Rd5-g5 # 2.Rd5-e5 # 2.Qf1-g2 # 2.Qf1-h1 # 1...Qd2-c3 2.Sf7-d6 # 2.Rd5-c5 # 2.Rd5-e5 # 2.Qf1-g2 # 2.Qf1-h1 # 1...Qd2-d1 2.Sf7-d6 # 1...Qd2-a2 2.Sf7-d6 # 2.Rd5-e5 # 1...Qd2-b2 2.Sf7-d6 # 2.Rd5-a5 # 2.Rd5-b5 # 2.Rd5-c5 # 2.Rd5-h5 # 2.Rd5-g5 # 2.Rd5-e5 # 1...Qd2-c2 2.Sf7-d6 # 2.Rd5-c5 # 2.Rd5-e5 # 1...Qd2*d5 + 2.Sf7-d6 # 1...Qd2-d4 2.Sf7-d6 # 1...Qd2-d3 2.Sf7-d6 # 2.Qf1-g2 # 2.Qf1-h1 # 1...Qd2-h2 2.Sf7-d6 # 2.Rd5-a5 # 2.Rd5-b5 # 2.Rd5-c5 # 2.Rd5-h5 # 2.Rd5-g5 # 2.Rd5-e5 # 1...Qd2-g2 2.Sf7-d6 # 2.Rd5-a5 # 2.Rd5-b5 # 2.Rd5-c5 # 2.Rd5-h5 # 2.Rd5-g5 # 2.Rd5-e5 # 2.Qf1*g2 # 1...Qd2-f2 2.Rd5-a5 # 2.Rd5-b5 # 2.Rd5-c5 # 2.Rd5-h5 # 2.Rd5-g5 # 2.Rd5-e5 # 1...Qd2-e2 2.Sf7-d6 # 1...Ke4*e3 2.Rd5-d3 # 1...f6-f5 2.Rd5-d3 #" comments: - also in The Philadelphia Times (no. 300), 31 December 1882 --- authors: - Loyd, Samuel source: Philadelphia Evening Bulletin date: 1858 algebraic: white: [Ke7, Qg7, Rc7, Bh8, Sg3, Sc4, Pe6, Pd6] black: [Kd5, Qb1, Ra3, Sf7, Se2, Pe3, Pb6] stipulation: "#2" solution: | "1...Qa1/Qc1/Qd1/Qe1/Qf1/Qg1/Qh1/Qc2/Qd3/Qe4/Qf5/Qg6/Qh7/Qa2/b5 2.Nxb6# 1...Ng5/Nh6/Nxh8/Ne5/Nxd6/Nd8 2.Qe5# 1...Nf4/Ng1/Nxg3/Nd4/Nc1 2.Qd4# 1...Nc3 2.Qd4#/Nxe3# 1...Ra2/Ra1/Ra4/Ra5/Ra6/Ra7/Ra8 2.Nxe3# 1.Qg5+?? 1...Qf5 2.Nxb6# 1...Ne5 2.Qxe5# but 1...Nxg5! 1.Qc3?? (2.Nxe3#) 1...Qc1/Qg1/Qd3/Qe4 2.Nxb6# 1...Nxg3 2.Qd4# but 1...Rxc3! 1.Qa1! zz 1...Ng5/Nh6/Nxh8/Ne5/Nxd6/Nd8 2.Qe5# 1...b5/Qxa1/Qc1/Qd1/Qe1/Qf1/Qg1/Qc2/Qd3/Qe4/Qf5/Qg6/Qh7 2.Nb6# 1...Qb2/Qb3/Qb4/Qb5 2.Qh1# 1...Qh1/Qa2 2.Nxb6#/Qxh1# 1...Ra2/Rxa1/Ra4/Ra5/Ra6/Ra7/Nc3 2.Nxe3# 1...Ra8 2.Nxe3#/Qxa8# 1...Rb3/Rc3/Rd3 2.Qa8# 1...Nf4/Ng1/Nxg3/Nd4/Nc1 2.Qd4#" keywords: - Active sacrifice - Black correction --- authors: - Loyd, Samuel source: Hartford Globe date: 1877 algebraic: white: [Kb5, Qf3, Rg4, Rf4] black: [Kh1, Qg2, Ph3, Ph2, Pf5] stipulation: "#2" solution: | "1...Kg1 2.Qf1#/Qd1# 1.Qd5[A]? (2.Rf1#) 1...Kg1 2.Qd1# 1...Qf3 2.Qxf3# but 1...Qxd5+[a]! 1.Qc6[B]? (2.Rf1#) 1...Qd5+[a] 2.Qxd5#[A] 1...Kg1 2.Qc1# 1...Qf3 2.Qxf3# but 1...Qxc6+[b]! 1.Rxf5?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Rd4?? (2.Rd1#) but 1...Qxf3! 1.Rc4?? (2.Rc1#) but 1...Qxf3! 1.Rb4?? (2.Rb1#) but 1...Qxf3! 1.Ra4?? (2.Ra1#) but 1...Qxf3! 1.Qf1+?? 1...Qxf1+ 2.Rxf1# but 1...Qg1! 1.Qd1+?? 1...Qf1+ 2.Rxf1#/Qxf1# but 1...Qg1! 1.Qe4?? (2.Rf1#) 1...Kg1 2.Qe1#/Qb1# 1...Qf3 2.Qxf3# but 1...fxe4! 1.Rg3?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Rxg2?? (2.Rg3#/Rgg4#/Rg5#/Rg6#/Rg7#/Rg8#/Qf1#) but 1...hxg2! 1.Rg5?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Rg6?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Rg7?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Rg8?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Qa8! (2.Rf1#) 1...Qd5+[a] 2.Qxd5#[A] 1...Qc6+[b] 2.Qxc6#[B] 1...Kg1 2.Qa1# 1...Qf3 2.Qxf3# 1...Qb7+ 2.Qxb7#" keywords: - Vladimirov - Switchback --- authors: - Loyd, Samuel source: The Musical World source-id: v 91 date: 1860-02-04 algebraic: white: [Kc2, Qg4, Bg2, Sf4, Sb5] black: [Ke4, Sf3, Pf6, Pe5, Pd6] stipulation: "#2" solution: | "1...Ke3/f5 2.Qxf3# 1...exf4 2.Qe6# 1.Kc3?? zz 1...Ke3/f5 2.Qxf3# 1...exf4 2.Qe6# but 1...d5! 1.Ng6+?? 1...Ke3 2.Qxf3# but 1...Kd5! 1.Nh3+?? 1...Ke3 2.Qxf3# but 1...Kd5! 1.Nh5+?? 1...Ke3 2.Qxf3# but 1...Kd5! 1.Ne2+?? 1...Ke3 2.Qxf3# but 1...Kd5! 1.Ne6+?? 1...Ke3 2.Qxf3# but 1...Kd5! 1.Nd3+?? 1...Ke3 2.Qxf3# but 1...Kd5! 1.Bh1! zz 1...Ke3/f5 2.Qxf3# 1...d5 2.Ng2# 1...exf4 2.Qe6#" --- authors: - Loyd, Samuel source: Boston Gazette date: 1855 algebraic: white: [Kd2, Qh5, Se3, Pg3, Pf4, Pb3] black: [Kd4, Re8, Rd8, Bf8, Bc8, Pg4, Pe4, Pd3, Pb4, Pa6] stipulation: "#2" solution: | "1...Be7/Be6/Re5 2.Qe5# 1...Bd6/Bd7/Rd5 2.Qd5# 1.Qb5?? (2.Qc4#) 1...Be6 2.Qe5# but 1...axb5! 1.Qa5! zz 1...Bg7/Bh6/Re7 2.Qxb4#/Qb6# 1...Be7/Be6/Re5 2.Qe5# 1...Bd6/Bd7/Rd5 2.Qd5# 1...Bc5 2.Qa1# 1...Bf5/Bb7/Re6/Rd7 2.Nxf5# 1...Rd6 2.Qxb4#" keywords: - Black correction - Grimshaw comments: - Later an identical work was published by Jan Hartong, Jaarboek N.B. v P., 1952. --- authors: - Loyd, Samuel source: Sporting New Yorker date: 1877 algebraic: white: [Ka2, Qd7, Rg6, Bh1, Bb8, Pb3] black: [Ke4, Qf3, Sh6, Pe3] stipulation: "#2" solution: | "1...Ng4/Ng8/Nf7 2.Rxg4# 1...Nf5 2.Rg4#/Re6# 1...Qg2+ 2.Bxg2# 1.Qe6+?? 1...Kd4 2.Qc4# but 1...Kd3! 1.Qc6+?? 1...Kd4 2.Qc4# 1...Kf5 2.Qe6# but 1...Kd3! 1.Rg5?? (2.Qd5#) 1...Nf5 2.Rg4# 1...Qg2+ 2.Bxg2# but 1...e2! 1.Rg7?? (2.Re7#) 1...Ng4/Ng8/Nf5/Nf7 2.Rxg4# 1...Qg2+ 2.Bxg2# but 1...Qxh1! 1.Rf6?? (2.Rf4#/Bxf3#) 1...Nf5 2.Re6# 1...Qg2+ 2.Bxg2# 1...Qxh1 2.Rf4# but 1...e2! 1.Rg2! zz 1...Ng4/Ng8/Nf5/Nf7/Qf1/Qf4/Qf5/Qf6/Qf7/Qf8/Qh3/Qg4/Qh5/Qd1 2.Rxg4# 1...Qf2+ 2.Rxf2# 1...Qg3 2.Rxg3# 1...Qxg2+ 2.Bxg2# 1...Qe2+/e2 2.Rxe2#" keywords: - Active sacrifice - Black correction --- authors: - Loyd, Samuel source: Wilkes' Spirit of the Times date: 1867 algebraic: white: [Kc5, Qh1, Rh3, Rg2, Bd2, Sf7] black: [Ke4, Bd1, Sh2, Pe6] stipulation: "#2" solution: | "1.Rh3-f3 ! zugzwang. 1...Bd1*f3 2.Qh1-b1 # 1...Bd1-e2 2.Rg2*e2 # 1...Bd1-a4 2.Rg2-e2 # 1...Bd1-b3 2.Rg2-e2 # 1...Bd1-c2 2.Rg2-e2 # 1...Sh2-f1 2.Rg2-g4 # 1...Sh2-g4 2.Rg2*g4 # 1...Sh2*f3 2.Qh1-h7 # 1...Ke4*f3 2.Sf7-g5 # 1...e6-e5 2.Sf7-g5 #" keywords: - Flight giving and taking key - Active sacrifice - Defences on same square - Black correction comments: - also in The Philadelphia Times (no. 1108), 3 May 1891 --- authors: - Loyd, Samuel source: New York Chess Association date: 1892-02-22 algebraic: white: [Kh8, Qb2, Ra4, Bd1, Bc1, Sg4, Sf1] black: [Kh4, Pf4] stipulation: "#2" solution: | "1.Sf1-g3 ! zugzwang. 1...f4-f3 2.Qb2-h2 # 1...f4*g3 2.Sg4-f2 # 1...Kh4*g3 2.Qb2-h2 # 1...Kh4-g5 2.Qb2-f6 # 1...Kh4-h3 2.Qb2-h2 #" keywords: - Flight giving and taking key - Active sacrifice comments: - also in The Philadelphia Times (no. 1193), 20 March 1892 --- authors: - Loyd, Samuel source: New York Chess Association date: 1892-02-22 algebraic: white: [Ka2, Qb2, Rc6, Rc4, Bf5, Bf2, Sa4, Sa3, Pa6] black: [Kd5, Qd6, Pf6, Pe7, Pc5] stipulation: "#2" solution: | "1.Qb2-b8 ! zugzwang. 1...Kd5*c6 2.Qb8-b7 # 1...Kd5-e5 2.Rc6*c5 # 1...Qd6-h2 2.Rc6*c5 # 2.Bf5-e4 # 2.Rc4*c5 # 1...Qd6-g3 2.Rc6*c5 # 2.Bf5-e4 # 2.Rc4*c5 # 1...Qd6-f4 2.Rc6*c5 # 2.Rc4*c5 # 1...Qd6-e5 2.Rc6*c5 # 2.Rc4*c5 # 1...Qd6*b8 2.Rc4*c5 # 1...Qd6-c7 2.Rc4*c5 # 1...Qd6*c6 2.Sa4-c3 # 1...Qd6-d8 2.Rc6*c5 # 2.Bf5-e4 # 2.Rc4*c5 # 1...Qd6-d7 2.Rc6*c5 # 2.Bf5-e4 # 2.Rc4*c5 # 1...Qd6-e6 2.Rc6*c5 # 2.Rc4*c5 # 1...e7-e5 2.Qb8*d6 # 2.Rc6*d6 # 1...e7-e6 2.Qb8*d6 #" keywords: - Flight giving key - Black correction comments: - also in The Philadelphia Times (no. 1187), 28 February 1892 --- authors: - Loyd, Samuel source: St. Louis Globe-Democrat source-id: 599 date: 1886-05-08 algebraic: white: [Kh6, Qf6, Rb1, Bc4, Ba5, Sh4, Sg3] black: [Ke3, Rf1, Rd3, Bc2, Se1, Pf7, Pf2, Pd6] stipulation: "#2" solution: | "1.Sg3-e2 ! threat: 2.Qf6-e7 # 1...Se1-f3 2.Qf6*f3 # 1...Rd3-d1 2.Qf6-f4 # 1...Rd3-d2 2.Qf6-f4 # 1...Rd3-a3 2.Qf6-d4 # 2.Qf6-f4 # 1...Rd3-b3 2.Qf6-d4 # 2.Qf6-f4 # 1...Rd3-c3 2.Qf6-d4 # 2.Qf6-f4 # 1...Rd3-d5 2.Qf6-f4 # 1...Rd3-d4 2.Qf6*d4 #" keywords: - 2 flights giving key --- authors: - Loyd, Samuel source: St. Louis Globe-Democrat source-id: 260 date: 1880-04-11 algebraic: white: [Kg2, Qh8, Rd8, Sc4, Sa6, Pb5] black: [Kb7, Bc8, Bc7, Pa7] stipulation: "#2" solution: | "1.Qh8-h1 ! threat: 2.Kg2-f1 # 2.Kg2-g1 # 2.Kg2-f2 # 1...Bc7-b6 2.Kg2-f1 # 2.Kg2-g3 # 2.Kg2-h2 # 1...Bc7-h2 2.Kg2-f1 # 2.Kg2-f2 # 2.Kg2*h2 # 1...Bc7-g3 2.Kg2-f1 # 2.Kg2-g1 # 2.Kg2*g3 # 1...Bc8-h3 + 2.Kg2*h3 # 1...Bc8-g4 2.Sa6-c5 # 1...Bc8-f5 2.Sa6-c5 # 1...Bc8-e6 2.Sa6-c5 # 1...Bc8-d7 2.Sa6-c5 #" keywords: - Barnes --- authors: - Loyd, Samuel source: St. Louis Globe-Democrat source-id: 213 date: 1879-06-01 algebraic: white: [Kh8, Ra8, Bf5, Be5, Sh6, Sc4, Pa5] black: [Ke7, Se8] stipulation: "#2" solution: | "1.Be5-g3 ! zugzwang. 1...Ke7-f6 2.Bg3-h4 # 1...Ke7-f8 2.Bg3-d6 # 1...Se8-c7 2.Bg3-h4 # 1...Se8-d6 2.Bg3-h4 # 1...Se8-f6 2.Bg3-d6 # 1...Se8-g7 2.Bg3-h4 #" keywords: - Flight giving key - Black correction --- authors: - Loyd, Samuel source: American Chess Journal source-id: 34 date: 1880-01 algebraic: white: [Kb2, Qe5, Rf1, Bf8, Bc8, Sc2, Pd6, Pd4] black: [Kc6, Qh1, Sa2, Ph2, Pb6, Pb5] stipulation: "#2" solution: | "1.Qe5-e2 ! zugzwang. 1...Qh1-d5 2.Qe2-e8 # 1...Qh1-e4 2.Qe2*e4 # 1...Qh1-f3 2.Qe2*f3 # 1...Qh1-g2 2.Qe2*g2 # 1...Qh1*f1 2.Qe2-e4 # 1...Qh1-g1 2.Qe2-f3 # 2.Qe2-e4 # 1...Sa2-c1 2.Sc2-b4 # 1...Sa2-c3 2.Sc2-b4 # 1...Sa2-b4 2.Sc2*b4 # 1...b5-b4 2.Qe2-c4 # 1...Kc6-d5 2.Bc8-b7 #" keywords: - Flight giving key - Black correction --- authors: - Loyd, Samuel source: Wilkes' Spirit of the Times source-id: 149 date: 1868-05-09 algebraic: white: [Kg3, Qb4, Rc7, Sd4, Sb3, Pg5, Pd3] black: [Ke5, Re6, Rd5] stipulation: "#2" solution: | "1...Rc5[a] 2.Qxc5#[A] 1...Red6[b] 2.Qe1#[C] 1...Re7 2.Rxe7#[B]/Qxe7# 1.Rf7?? (2.Rf5#/Nf3#) 1...Rc5[a] 2.Qxc5#[A] 1...Red6[b] 2.Rf5#/Qe1#[C] 1...Rxd4 2.Qxd4# 1...Rdd6/Rd7/Rd8/Rb5/Ra5/Re8/Rc6/Rb6/Ra6/Rg6/Rh6 2.Rf5# 1...Re7 2.Rf5#/Rxe7#[B]/Qxe7# but 1...Rf6! 1.Qb8! zz 1...Rxd4/Rdd6/Rd7/Rd8/Rc5[a]/Rb5/Ra5 2.Rc5#[D] 1...Re7/Re8/Red6[b]/Rc6/Rb6/Ra6/Rf6/Rg6/Rh6 2.Rxe7#[B] 1...Kd6 2.Rb7#/Ra7#/Rf7#/Rg7#/Rh7#" keywords: - Flight giving key - Changed mates --- authors: - Loyd, Samuel source: Saturday Press source-id: 17 date: 1857-02-19 algebraic: white: [Ke1, Qh1, Sf4] black: [Kc1, Rb1, Sg3, Sb2, Pc2] stipulation: "#2" solution: | "1...Nc4/Nd1/Nd3+/Na4 2.Nd3# 1...Nxh1/Nh5/Nf1/Nf5/Ne2/Ne4 2.Ne2# 1.Qh2?? (2.Qd2#) 1...Nc4/Nd1/Nd3+/Na4 2.Nd3# 1...Nf1/Ne2/Ne4 2.Ne2# but 1...Ra1! 1.Qh3?? zz 1...Nc4/Nd1/Nd3+/Na4 2.Nd3# 1...Nh1/Nh5/Ne2 2.Ne2#/Qe3# 1...Nf1/Nf5/Ne4 2.Ne2# but 1...Ra1! 1.Qh4?? zz 1...Nc4/Nd1/Nd3+/Na4 2.Nd3# 1...Nh1/Nh5/Nf1/Nf5/Ne2/Ne4 2.Ne2# but 1...Ra1! 1.Qh5?? zz 1...Nc4/Nd1/Nd3+/Na4 2.Nd3# 1...Nh1/Nxh5/Nf1/Nf5/Ne2/Ne4 2.Ne2# but 1...Ra1! 1.Qh6?? (2.Ng2#/Ng6#/Nh3#/Nh5#/Ne2#/Ne6#/Nd3#/Nd5#) 1...Nc4/Nd1/Nd3+/Na4 2.Nd3# 1...Nh5 2.Nxh5#/Ne2#/Nd3# 1...Nf1/Nf5/Ne2/Ne4 2.Ne2#/Nd3# but 1...Ra1! 1.Qh7?? zz 1...Nc4/Nd1/Nd3+/Na4 2.Nd3# 1...Nh1/Nh5/Nf1/Nf5/Ne2/Ne4 2.Ne2# but 1...Ra1! 1.Qh8?? zz 1...Nc4/Nd1/Nd3+/Na4 2.Nd3# 1...Nh1/Nh5/Nf1/Nf5/Ne2/Ne4 2.Ne2# but 1...Ra1! 1.Qg1?? (2.Qe3#) 1...Nf1/Nf5/Ne4 2.Ne2# 1...Nc4/Nd1/Nd3+/Na4 2.Nd3# but 1...Ra1! 1.Qf1?? zz 1...Nc4/Nd1/Nd3+/Na4 2.Nd3# 1...Nh1/Nh5/Nxf1/Nf5/Ne2/Ne4 2.Ne2# but 1...Ra1! 1.Qg2?? (2.Qd2#) 1...Nc4/Nd1/Nd3+/Na4 2.Nd3# 1...Nf1/Ne2/Ne4 2.Ne2# but 1...Ra1! 1.Qf3?? (2.Qe3#) 1...Nc4/Nd1/Nd3+/Na4 2.Nd3# 1...Nf1/Nf5/Ne4 2.Ne2# but 1...Ra1! 1.Qe4?? (2.Qe3#) 1...Nc4/Nd1/Nd3+/Na4 2.Nd3# 1...Nf1/Nf5/Nxe4 2.Ne2# but 1...Ra1! 1.Qd5?? (2.Qd2#) 1...Nc4/Nd1/Nd3+/Na4 2.Nd3# 1...Nf1/Ne4 2.Ne2# but 1...Ra1! 1.Qc6?? zz 1...Nc4/Nd1/Nd3+/Na4 2.Nd3# 1...Nh1/Nh5/Nf1/Nf5/Ne2/Ne4 2.Ne2# but 1...Ra1! 1.Qb7?? zz 1...Nc4/Nd1/Nd3+/Na4 2.Nd3# 1...Nh1/Nh5/Nf1/Nf5/Ne2/Ne4 2.Ne2# but 1...Ra1! 1.Qa8! zz 1...Ra1 2.Qxa1# 1...Nc4/Nd1/Nd3+/Na4 2.Nd3# 1...Nh1/Nh5/Nf1/Nf5/Ne2/Ne4 2.Ne2#" --- authors: - Loyd, Samuel source: 5th American Chess Congress date: 1880 distinction: 3rd Prize, Set algebraic: white: [Kh6, Qc2, Rg6, Rc8, Ba7, Sc7, Sc3, Pa3] black: [Kc5, Qa6, Rh2, Rd1, Bh1, Sd7, Sb3, Ph4, Pe7, Pe5, Pe3, Pb7, Pb6, Pa5] stipulation: "#2" solution: | "1.Rg6-g2 ! threat: 2.Sc7-b5 # 2.Sc3-b5 # 1...Rd1-c1 2.Sc7-b5 # 1...Rd1-d6 + 2.Sc7-e6 # 1...Rd1-d4 2.Sc7-b5 # 2.Sc7-e8 # 2.Sc3-e4 # 1...Rd1-d3 2.Sc7-b5 # 1...Rd1-d2 2.Sc7-b5 # 1...Bh1*g2 2.Sc3-b5 # 1...Rh2*g2 2.Sc7-b5 # 1...Sb3-a1 2.Sc7-b5 # 1...Sb3-d2 2.Sc7-b5 # 1...Sb3-d4 2.Sc3-e4 # 1...Kc5-d4 2.Sc7-e6 # 1...Kc5-d6 2.Sc3-e4 # 1...Kc5-c4 2.Sc3-e2 # 2.Sc3-b5 # 1...Kc5-c6 2.Sc7-b5 # 2.Sc7-e8 # 1...Qa6-f1 2.Sc7-b5 # 1...Qa6-e2 2.Sc7-b5 # 1...Qa6-d3 2.Sc7-b5 # 1...Qa6-c4 2.Sc7-b5 # 1...Sd7-b8 2.Sc3-b5 #" keywords: - 2 flights giving key - Grimshaw - Novotny comments: - also in The Philadelphia Times (no. 1723), 24 October 1897 --- authors: - Loyd, Samuel source: St. Louis Globe-Democrat source-id: 246 date: 1879-12-07 algebraic: white: [Kh1, Qf1, Rg1, Bf3, Sd6, Sc6] black: [Kf6, Ra5, Ba6, Sc3, Ph7, Ph4, Pe6] stipulation: "#2" solution: | "1.Sd6-b5 ! threat: 2.Bf3-d1 # 2.Bf3-e2 # 2.Bf3-h5 # 2.Bf3-d5 # 2.Bf3-e4 # 1...Sc3-d1 2.Bf3*d1 # 1...Sc3-e2 2.Bf3*e2 # 1...Sc3-e4 2.Bf3*e4 # 1...Sc3-d5 2.Bf3*d5 # 1...Ra5-a1 2.Bf3-d1 # 1...Ra5-a2 2.Bf3-e2 # 1...Ra5-a4 2.Bf3-e4 # 1...Ra5*b5 2.Bf3-d5 # 1...Ba6*b5 2.Bf3-e2 # 1...e6-e5 2.Bf3-d5 # 1...Kf6-f5 2.Bf3-d5 # 1...Kf6-f7 2.Bf3-h5 #" keywords: - 2 flights giving key - Grimshaw - Novotny - Fleck --- authors: - Loyd, Samuel source: American Chess Journal, Centennial Tourney source-id: 149 date: 1877-01 algebraic: white: [Ke2, Qg6, Ra4, Bg7, Sf6, Sd8, Pf4] black: [Kc5, Sb4, Pc7] stipulation: "#2" solution: | "1.Qg6-b1 ! threat: 2.Qb1*b4 # 1...Sb4-a2 2.Bg7-f8 # 1...Sb4-c2 2.Bg7-f8 # 1...Sb4-d3 2.Bg7-f8 # 1...Sb4-d5 2.Sf6-e4 # 1...Sb4-c6 2.Sd8-b7 # 1...Sb4-a6 2.Bg7-f8 # 1...Kc5-d6 2.Bg7-f8 #" keywords: - King Y-flight - Black correction --- authors: - Loyd, Samuel source: Detroit Free Press, Centennial Tourney source-id: 4 date: 1877-01-27 algebraic: white: [Kf6, Qa6] black: [Kh8, Bh7, Sa8, Pg6] stipulation: "#2" solution: | "1.Qa6-a1 ! threat: 2.Kf6-f7 # 1...Bh7-g8 2.Kf6*g6 # 1...Kh8-g8 2.Qa1*a8 #" --- authors: - Loyd, Samuel source: Baltimore Dispatch source-id: 59 date: 1859-09-11 algebraic: white: [Kb7, Qh6, Rd4, Bc1, Sc7] black: [Kc5, Qc4, Ra4, Sb5, Pa5] stipulation: "#2" solution: | "1...Kxd4 2.Qe3# 1...Rb4/Nxc7/Qe2/Qf7/Qg8/Qb3/Qa2 2.Qb6# 1...Nc3/Na3/Na7 2.Qd6#/Qb6# 1...Nxd4 2.Qb6#/Qf8# 1...Nd6+ 2.Qxd6# 1...Qc3/Qc2/Qxc1/Qb4/Qd3/Qf1 2.Ne6#/Qb6# 1...Qe6 2.Nxe6# 1.Bd2?? (2.Qb6#) 1...Kxd4 2.Qe3# 1...Nd6+ 2.Qxd6# 1...Qxd4 2.Qc6# 1...Qe6 2.Nxe6# but 1...Qd5+! 1.Qc6+?? 1...Kb4 2.Qxc4# but 1...Kxd4! 1.Qg5+?? 1...Kxd4 2.Qe3# 1...Qd5+ 2.Qxd5# but 1...Kb4! 1.Qf8+?? 1...Nd6+ 2.Qxd6# but 1...Kxd4! 1.Qe6! zz 1...Kxd4 2.Qe3# 1...Kb4 2.Qxc4# 1...Ra3/Ra2/Ra1 2.Qxc4#/Rxc4# 1...Rb4/Qb3/Qa2/Nxc7 2.Qb6# 1...Qc3/Qc2/Qxc1/Qb4/Qd3/Qf1 2.Qe5#/Qb6#/Qd5# 1...Qxd4 2.Na6# 1...Qe2 2.Qb6#/Qd5# 1...Qd5+ 2.Qxd5# 1...Qxe6 2.Nxe6# 1...Nc3/Na3/Na7 2.Qd6#/Qb6# 1...Nxd4 2.Qe7#/Qb6# 1...Nd6+ 2.Qxd6#" keywords: - Active sacrifice - Black correction --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 137 date: 1859-02 algebraic: white: [Kc1, Qh3, Rd2, Sc7, Sb2, Pe3, Pb6, Pa3] black: [Kc3, Qc5, Bc6, Se5, Sa5, Pd3, Pb7, Pb3] stipulation: "#2" solution: | "1.Qh3-c8 ! zugzwang. 1...Sa5-c4 2.Sb2-d1 # 1...Qc5*a3 2.Sc7-d5 # 1...Qc5-b4 2.Sc7-d5 # 1...Qc5*e3 2.Sc7-b5 # 1...Qc5-d4 2.Sc7-b5 # 1...Qc5-f8 2.Sc7-b5 # 2.Sc7-d5 # 1...Qc5-e7 2.Sc7-b5 # 2.Sc7-d5 # 1...Qc5-d6 2.Sc7-b5 # 1...Qc5*b6 2.Sc7-d5 # 1...Qc5-c4 2.Sb2-d1 # 1...Qc5-b5 2.Sc7*b5 # 1...Qc5-d5 2.Sc7*d5 # 1...Se5-c4 2.Rd2*d3 # 2.Sb2-d1 # 1...Se5-f3 2.Rd2*d3 # 1...Se5-g4 2.Rd2*d3 # 1...Se5-g6 2.Rd2*d3 # 1...Se5-f7 2.Rd2*d3 # 1...Se5-d7 2.Rd2*d3 # 1...Bc6-a4 2.Sc7-d5 # 1...Bc6-b5 2.Sc7*b5 # 2.Sc7-d5 # 1...Bc6-h1 2.Sc7-b5 # 1...Bc6-g2 2.Sc7-b5 # 1...Bc6-f3 2.Sc7-b5 # 1...Bc6-e4 2.Sc7-b5 # 1...Bc6-d5 2.Sc7-b5 # 2.Sc7*d5 # 1...Bc6-e8 2.Sc7-d5 # 1...Bc6-d7 2.Sc7-d5 #" keywords: - Ambush - Half-pin - Masked half-pin comments: - also in The Philadelphia Times (no. 199), 1 January 1882 --- authors: - Loyd, Samuel source: Sunny South date: 1885 algebraic: white: [Kg3, Qf8, Bf7, Sg4] black: [Kh7, Rg6, Pg5] stipulation: "#2" solution: | "1...Rg8/Rh6 2.Qxg8#/Qh6# 1...Rf6 2.Nxf6#/Qg8# 1...Re6/Rd6/Rc6/Rb6/Ra6 2.Qg8# 1.Kg2?? zz 1...Rg8/Rh6 2.Qxg8#/Qh6# 1...Rf6 2.Nxf6#/Qg8# 1...Re6/Rd6/Rc6/Rb6/Ra6 2.Qg8# but 1...Rg7! 1.Kf3?? zz 1...Rg8/Rh6 2.Qxg8#/Qh6# 1...Rf6+ 2.Nxf6# 1...Re6/Rd6/Rc6/Rb6/Ra6 2.Qg8# but 1...Rg7! 1.Kh3?? zz 1...Rg8 2.Qxg8#/Qh6# 1...Rf6 2.Nxf6#/Qg8# 1...Re6/Rd6/Rc6/Rb6/Ra6 2.Qg8# 1...Rh6+ 2.Qxh6# but 1...Rg7! 1.Kh2?? zz 1...Rg8 2.Qxg8#/Qh6# 1...Rf6 2.Nxf6#/Qg8# 1...Re6/Rd6/Rc6/Rb6/Ra6 2.Qg8# 1...Rh6+ 2.Qxh6# but 1...Rg7! 1.Kf2?? zz 1...Rg8/Rh6 2.Qxg8#/Qh6# 1...Rf6+ 2.Nxf6# 1...Re6/Rd6/Rc6/Rb6/Ra6 2.Qg8# but 1...Rg7! 1.Qe8?? zz 1...Kg7/Rg8/Rf6/Re6/Rd6/Rc6/Rb6/Ra6/Rh6 2.Qg8# but 1...Rg7! 1.Qd8?? zz 1...Kg7/Rg8/Rf6/Re6/Rd6/Rc6/Rb6/Ra6/Rh6 2.Qg8# but 1...Rg7! 1.Qc8?? zz 1...Kg7/Rg8/Rf6/Re6/Rd6/Rc6/Rb6/Ra6/Rh6 2.Qg8# but 1...Rg7! 1.Qb8?? zz 1...Kg7/Rg8/Rf6/Re6/Rd6/Rc6/Rb6/Ra6/Rh6 2.Qg8# but 1...Rg7! 1.Bg8+?? 1...Rxg8 2.Qh6# but 1...Kh8! 1.Qa8! zz 1...Kg7/Rg8/Rf6/Re6/Rd6/Rc6/Rb6/Ra6/Rh6 2.Qg8# 1...Rg7 2.Qh1#" keywords: - Flight giving key - Black correction - Letters --- authors: - Loyd, Samuel source: New York Sunday Herald date: 1889 algebraic: white: [Kf1, Qa4, Rh1, Rb2, Bd3, Ba3, Sh3, Sg2, Ph4, Pg3, Pf3, Pe2] black: [Kc1, Qh6, Rh8, Rd8, Bg7, Bb7, Se1, Ph7, Pf7, Pc7, Pb6, Pa7] stipulation: "#2" solution: | "1.Ba3-f8 ! threat: 2.Qa4-a1 # 1...Kc1*b2 2.Qa4-a3 # 1...Se1-c2 2.Qa4*c2 # 1...Bg7*b2 2.Bf8*h6 #" keywords: - American Indian - Flight giving key comments: - Check also 11335 - also in The Philadelphia Times (no. 876), 20 January 1889 - also in The New York World (no. 14), 25 December 1892 --- authors: - Loyd, Samuel source: Paris Ty. date: 1878 distinction: 3rd Prize algebraic: white: [Ka1, Qc7, Rb5, Rb3, Bc1, Sf2, Sc5] black: [Kc2, Qh3, Rg3, Ra7, Bh1, Sh8, Se1, Pf5, Pb7, Pa2] stipulation: "#2" solution: | "1.Rb3-f3 ! threat: 2.Sc5-a4 # 2.Sc5-b3 # 2.Sc5-d3 # 2.Sc5-e4 # 2.Sc5-e6 # 2.Sc5-d7 # 2.Sc5*b7 # 2.Sc5-a6 # 1...Se1-d3 2.Sc5*d3 # 1...Bh1*f3 2.Sc5-e4 # 1...Kc2*c1 2.Sc5-b3 # 1...Rg3*f3 2.Sc5-d3 # 1...Rg3-g7 2.Sc5-d7 # 1...Rg3-g6 2.Sc5-e6 # 1...Rg3-g4 2.Sc5-e4 # 1...Qh3-f1 2.Sc5-d3 # 1...Qh3-g4 2.Sc5-e4 # 1...Qh3-h7 2.Sc5-d7 # 1...Qh3-h6 2.Sc5-e6 # 1...Qh3-h4 2.Sc5-e4 # 1...Ra7-a3 2.Sc5-b3 # 1...Ra7-a4 2.Sc5*a4 # 1...Ra7-a6 2.Sc5*a6 # 1...b7-b6 2.Sc5-b7 #" keywords: - Grimshaw - Novotny - Fleck comments: - also in The Philadelphia Times (no. 1170), 20 December 1891 --- authors: - Loyd, Samuel source: Hartford Globe, American Chess and Problem Association date: 1878 distinction: 1st Prize algebraic: white: [Kh1, Qa8, Rh4, Ra5, Bg7, Bb3, Se4, Pg3, Pf3, Pe6, Pd7, Pb6] black: [Kb4, Qg6, Rf8, Rd3, Bd8, Se1, Pc2] stipulation: "#2" solution: | "1.Ra5-f5 ! threat: 2.Qa8-a4 # 1...Rd3*b3 2.Se4-g5 # 1...Kb4*b3 2.Se4-c5 #" comments: - also in The New York Turf, Field and Farm (no. 590), 25 January 1878 --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 2-moves / 298 date: 1868 algebraic: white: [Kf4, Qb6, Re6, Bd1, Sd3, Sb1, Ph3, Pg6, Pg5, Pg2] black: [Ka4, Ra2, Bf8, Sc2, Sa1, Ph4, Pg7, Pe7, Pd6, Pd4, Pb7, Pb3] stipulation: "#2" solution: | "1.Sb1-a3 ! threat: 2.Qb6-a7 # 1...Ra2*a3 2.Sd3-b2 # 1...Sc2-b4 2.Qb6*b4 # 1...Sc2*a3 2.Qb6-b4 # 1...b3-b2 2.Qb6-b4 #" keywords: - Flight giving key - Active sacrifice - Transferred mates comments: - also in The Philadelphia Times (no. 151), 17 July 1881 --- authors: - Loyd, Samuel source: New York Clipper, Centennial Problem Tourney date: 1877 algebraic: white: [Kh2, Qe2, Rb7, Bc8, Bb6, Sh4, Sg2, Pe4] black: [Kg5, Se6, Ph5, Pe5] stipulation: "#2" solution: | "1.Qe2-a6 ! zugzwang. 1...Kg5-h6 2.Bb6-e3 # 1...Kg5-f6 2.Bb6-d8 # 1...Kg5-g4 2.Rb7-g7 # 1...Se6-c5 2.Bb6-d8 # 1...Se6-d4 2.Bb6-d8 # 1...Se6-f4 2.Bb6-d8 # 1...Se6-g7 2.Bb6-e3 # 2.Bb6-d8 # 1...Se6-f8 2.Bb6-e3 # 2.Bb6-d8 # 1...Se6-d8 2.Bb6-e3 # 2.Bb6*d8 # 1...Se6-c7 2.Bb6-e3 #" keywords: - Flight giving key - King Y-flight --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 2-moves / 317 date: 1868 algebraic: white: [Kb5, Qe6, Bd5, Pb7] black: [Ke8, Rh8, Bc7, Sa8, Pe7, Pb6] stipulation: "#2" solution: | "1.b7-b8=S ! zugzwang. 1...Bc7-h2 2.Qe6-c8 # 1...Bc7-g3 2.Qe6-c8 # 1...Bc7-f4 2.Qe6-c8 # 1...Bc7-e5 2.Qe6-c8 # 1...Bc7-d6 2.Qe6-c8 # 1...Bc7-d8 2.Qe6-f7 # 1...Bc7*b8 2.Qe6-c8 # 1...Ke8-d8 2.Qe6-d7 # 1...Ke8-f8 2.Qe6-f7 # 1...Rh8-h1 2.Qe6-g8 # 1...Rh8-h2 2.Qe6-g8 # 1...Rh8-h3 2.Qe6-g8 # 1...Rh8-h4 2.Qe6-g8 # 1...Rh8-h5 2.Qe6-g8 # 1...Rh8-h6 2.Qe6-g8 # 1...Rh8-h7 2.Qe6-g8 # 1...Rh8-f8 2.Qe6-d7 # 1...Rh8-g8 2.Qe6*g8 #" keywords: - Active sacrifice - Black correction comments: - also in The Philadelphia Times (no. 514), 25 January 1885 --- authors: - Loyd, Samuel source: Chess Record, Centennial Tourney source-id: 371 date: 1876-12 algebraic: white: [Kh7, Qe1, Rf1, Rc6, Sg4, Sf6] black: [Kg5, Sd6, Sc3, Ph3] stipulation: "#2" solution: | "1.Sg4-f2 ! threat: 2.Sf2*h3 # 1...Kg5-h4 2.Sf2-e4 #" keywords: - 3+ flights giving key --- authors: - Loyd, Samuel source: New York State Chess Association date: 1892 algebraic: white: [Ka3, Qh1, Rh6, Re7, Ba2, Sf5, Sd7, Pf4, Pc2] black: [Kg8, Rg6, Rf3, Bh2, Sh8, Sb3, Ph3, Pc3, Pa4] stipulation: "#2" solution: | "1...Rf2/Rf1/Rxf4/Re3/Rd3/Rfg3 2.Qa8# 1...Nf7 2.Re8# 1...Rg7/Rf6/Re6/Rd6/Rc6/Rb6/Ra6 2.Rxg7# 1...Rxh6 2.Nxh6#/Rg7# 1.Bxb3+?? 1...Nf7 2.Re8#/Bxf7# 1...Re6 2.Rg7# but 1...axb3! 1.Qxf3?? (2.Qa8#) 1...Nf7 2.Re8# 1...Rf6/Rc6/Rb6/Ra6 2.Rg7# but 1...Bxf4! 1.Reh7?? (2.Ne7#) 1...Rg7/Re6/Rxh6 2.Rxg7# but 1...Re3! 1.Rxh3! zz 1...Rg5/Rg4/Rgg3/Rg2/Rg1 2.Nh6# 1...Rg7/Rf6/Re6/Rd6/Rc6/Rb6/Ra6 2.Rxg7# 1...Rh6 2.Rg7#/Nxh6# 1...Rf2/Rf1/Rxf4/Re3/Rd3/Rfg3/Rxh3 2.Qa8# 1...Bg1/Bg3/Bxf4 2.Rxh8# 1...Nf7 2.Re8#" keywords: - Defences on same square --- authors: - Loyd, Samuel source: New York State Chess Association date: 1892-02-22 algebraic: white: [Kh7, Qa3, Rf2, Re3, Bh2, Bg2, Sd2, Sd1, Pg6, Pe5, Pc2] black: [Kd4, Qc8, Rf6, Rc1, Bb1, Sg8, Sg7, Ph4, Pg5, Pd6, Pc4] stipulation: "#2" solution: | "1.Re3-g3 ! threat: 2.Qa3-e3 # 1...c4-c3 2.Rg3-d3 # 1...Rf6-f3 2.Qa3*d6 # 1...Sg7-f5 2.Rg3-g4 #" keywords: - Flight giving key comments: - also in The Philadelphia Times (no. 1190), 6 March 1892 --- authors: - Loyd, Samuel source: Detroit Free Press source-id: 1878 date: 1885-04-18 algebraic: white: [Kd8, Qe8, Rg7, Rf5, Bd7, Sa4, Pf2] black: [Kd6, Qh2, Rf6, Rd1, Bf8, Sa8, Ph3, Pg4, Pb7, Pb6, Pb3, Pa5] stipulation: "#2" solution: | "1.Qe8-e3 ! zugzwang. 1...Rd1-a1 2.Qe3-d2 # 2.Qe3-d4 # 2.Qe3-d3 # 1...Rd1-b1 2.Qe3-d2 # 2.Qe3-d4 # 2.Qe3-d3 # 1...Rd1-c1 2.Qe3-d2 # 2.Qe3-d4 # 2.Qe3-d3 # 1...Rd1-d5 2.Rf5*f6 # 1...Rd1-d4 2.Qe3*d4 # 1...Rd1-d3 2.Qe3*d3 # 1...Rd1-d2 2.Qe3*d2 # 1...Rd1-h1 2.Qe3-d2 # 2.Qe3-d4 # 2.Qe3-d3 # 1...Rd1-g1 2.Qe3-d2 # 2.Qe3-d4 # 2.Qe3-d3 # 1...Rd1-f1 2.Qe3-d2 # 2.Qe3-d4 # 2.Qe3-d3 # 1...Rd1-e1 2.Qe3-d2 # 2.Qe3-d4 # 2.Qe3-d3 # 1...Qh2-g1 2.Qe3-f4 # 2.Qe3-e5 # 1...Qh2-e5 2.Qe3*e5 # 1...Qh2-f4 2.Qe3*f4 # 1...Qh2-g3 2.Qe3*g3 # 1...Qh2-h1 2.Qe3-f4 # 2.Qe3-e5 # 2.Qe3-g3 # 1...Qh2*f2 2.Qe3-e5 # 1...Qh2-g2 2.Qe3-f4 # 2.Qe3-e5 # 1...b3-b2 2.Qe3-a3 # 1...g4-g3 2.Qe3-f4 # 2.Qe3-e5 # 1...b6-b5 2.Qe3-c5 # 1...Rf6*f5 2.Qe3-e6 # 1...Rf6-e6 2.Qe3*e6 # 1...Rf6-f7 2.Qe3-e6 # 1...Rf6-h6 2.Qe3*h6 # 1...Rf6-g6 2.Rg7*g6 # 1...Sa8-c7 2.Qe3*b6 # 1...Bf8-e7 + 2.Qe3*e7 # 1...Bf8*g7 2.Qe3-e7 #" keywords: - Black correction --- authors: - Loyd, Samuel source: Detroit Free Press source-id: 1908 date: 1890-05-08 algebraic: white: [Kb6, Qh8, Ra4, Ra1, Bg3, Bc6, Sg4, Sf4, Pg7] black: [Kh1, Qg1, Rh5, Be4, Pg6, Pf5, Pe3] stipulation: "#2" solution: | "1.Bc6-a8 ! zugzwang. 1...Qg1*a1 2.Ra4*a1 # 1...Qg1-b1 + 2.Ra1*b1 # 1...Qg1-c1 2.Ra1*c1 # 1...Qg1-d1 2.Ra1*d1 # 1...Qg1-e1 2.Ra1*e1 # 1...Qg1-f1 2.Ra1*f1 # 1...e3-e2 + 2.Sg4-f2 # 1...Be4-g2 2.Ba8*g2 # 1...Be4-f3 2.Ba8*f3 # 1...Be4*a8 2.Qh8*a8 # 1...Be4-b7 2.Ba8*b7 # 1...Be4-c6 2.Ba8*c6 # 1...Be4-d5 2.Ba8*d5 # 1...f5*g4 2.Ba8*e4 # 1...Rh5-h2 2.Qh8*h2 # 1...Rh5-h3 2.Qh8*h3 # 1...Rh5-h4 2.Qh8*h4 # 1...Rh5*h8 2.g7*h8=Q # 2.g7*h8=R # 1...Rh5-h7 2.Qh8*h7 # 1...Rh5-h6 2.Qh8*h6 # 1...g6-g5 2.Qh8*h5 #" keywords: - Active sacrifice - Vladimirov - Switchback --- authors: - Loyd, Samuel source: (V) Boston Gazette date: 1859 algebraic: white: [Kd2, Qh5, Se3, Pg3, Pf4, Pb3] black: [Kd4, Re8, Rd8, Bf8, Bc8, Pg4, Pe4, Pd3, Pb4, Pa7, Pa6] stipulation: "#2" solution: | "1...Be7/Be6/Re5 2.Qe5# 1...Bd6/Bd7/Rd5 2.Qd5# 1.Qb5?? (2.Qc4#) 1...Be6 2.Qe5# but 1...axb5! 1.Qa5! zz 1...Bg7/Bh6/Re7/Rd6 2.Qxb4# 1...Be7/Be6/Re5 2.Qe5# 1...Bd6/Bd7/Rd5 2.Qd5# 1...Bc5 2.Qa1# 1...Bf5/Bb7/Re6/Rd7 2.Nxf5#" keywords: - Black correction - Grimshaw - Organ Pipes --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 2-moves / 311 date: 1868 algebraic: white: [Ka3, Qh1, Rh2, Rd4, Sc2] black: [Kb1, Bc1, Pd5, Pc3, Pb2] stipulation: "#2" solution: | "1.Rh2-h8 ! zugzwang. 1...Kb1*c2 2.Qh1-h7 #" keywords: - Flight giving key - Bristol comments: - also in The Philadelphia Times (no. 44), 27 June 1880 --- authors: - Loyd, Samuel source: New York Musical World source-id: 54 date: 1859-10 algebraic: white: [Kc3, Qg5, Re4] black: [Kf2, Bf1, Pf3] stipulation: "#2" solution: | "1.Re4-e1 ! zugzwang. 1...Bf1-h3 2.Qg5-g1 # 1...Bf1-g2 2.Qg5-h4 # 1...Bf1-a6 2.Qg5-g1 # 1...Bf1-b5 2.Qg5-g1 # 1...Bf1-c4 2.Qg5-g1 # 1...Bf1-d3 2.Qg5-g1 # 1...Bf1-e2 2.Qg5-g1 # 1...Kf2*e1 2.Qg5-d2 #" keywords: - Flight giving key - Active sacrifice - Black correction - Model mates comments: - | published under one of Loyd's pseudonyms: M. R., of Cincinnati, O. --- authors: - Loyd, Samuel source: La Stratégie source-id: 6 date: 1867-02-15 algebraic: white: [Ke3, Qd4, Rh5, Rf8, Ba3, Sb7, Pg5] black: [Ke6, Pf7, Pd6] stipulation: "#2" solution: | "1.Qd4-g4 + ! 1...Ke6-d5 2.Qg4-e4 # 1...Ke6-e5 2.Qg4-e4 # 1...Ke6-e7 2.Ba3*d6 # 1...f7-f5 2.g5*f6 ep. #" keywords: - Checking key - Flight giving and taking key comments: - Dedicated to Eugene L. Lequesne - also in The York Daily (no. 26), 5 February 1887 - also in The New York Evening Telegram, 1887 - also in The Philadelphia Times (no. 724), 13 March 1887 - also in The New York World (no. 111), 8 May 1892 - also in The San Francisco Chronicle (no. 109), 15 December 1895 --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 2-moves / 314 date: 1868 algebraic: white: [Kb1, Qf5, Rc2, Ra5, Bd1, Bb8, Sd5, Pg2, Pc5, Pa6] black: [Kc6, Qh4, Sh7, Sf8, Pb2] stipulation: "#2" solution: | "1.Bb8-e5 ! zugzwang. 1...Qh4-e1 2.Sd5-e7 # 1...Qh4-f2 2.Sd5-b4 # 2.Sd5-e7 # 1...Qh4-g3 2.Sd5-b4 # 2.Sd5-e7 # 1...Qh4-d8 2.Sd5-b4 # 1...Qh4-e7 2.Sd5-b4 # 2.Sd5*e7 # 1...Qh4-f6 2.Sd5-b4 # 1...Qh4-g5 2.Sd5-b4 # 1...Qh4-h1 2.Sd5-b4 # 2.Sd5-e7 # 1...Qh4-h2 2.Sd5-b4 # 2.Sd5-e7 # 1...Qh4-h3 2.Sd5-b4 # 2.Sd5-e7 # 1...Qh4-a4 2.Sd5-e7 # 1...Qh4-b4 2.Sd5*b4 # 2.Sd5-e7 # 1...Qh4-c4 2.Sd5-e7 # 1...Qh4-d4 2.Sd5-e7 # 1...Qh4-e4 2.Sd5-e7 # 1...Qh4-f4 2.Sd5-e7 # 1...Qh4-g4 2.Sd5-e7 # 1...Qh4-h6 2.Sd5-b4 # 2.Sd5-e7 # 1...Qh4-h5 2.Sd5-b4 # 2.Sd5-e7 # 1...Kc6*d5 2.c5-c6 # 1...Sh7-f6 2.Sd5-e7 # 1...Sh7-g5 2.Sd5-e7 # 1...Sf8-d7 2.Qf5-e6 # 1...Sf8-e6 2.Qf5*e6 # 1...Sf8-g6 2.Qf5-e6 #" keywords: - Flight giving key - Transferred mates comments: - also in The Philadelphia Times (no. 2167), 11 May 1902 --- authors: - Loyd, Samuel source: Buffalo Commercial Advertiser date: 1890 algebraic: white: [Ke2, Qh1, Rg3, Rf6, Se5, Ph2] black: [Kh4, Ph5, Pg4, Pe6] stipulation: "#2" solution: | "1.Rf5?? (2.Ng6#) but 1...exf5! 1.Rf4?? (2.Nf3#) but 1...Kg5! 1.Rff3?? zz 1...gxf3+ 2.Nxf3# but 1...Kg5! 1.Qf3?? zz 1...gxf3+ 2.Nxf3# but 1...Kg5! 1.Qe4?? (2.Nf3#) but 1...Kg5! 1.Nd7?? zz 1...Kg5 2.h4# but 1...e5! 1.Rxg4+?? 1...Kh3 2.Qg2#/Rf3# but 1...hxg4! 1.Qa1! zz 1...Kg5 2.Nf3#" --- authors: - Loyd, Samuel source: Standard Union date: 1892 algebraic: white: [Ka4, Qh2, Rh3, Rc6, Bg5, Se3, Sa3, Pg6, Pf7, Pd5, Pc5] black: [Kc3, Qg7, Ba1, Sd2, Pe4, Pd3, Pc4] stipulation: "#2" solution: | "1.Rh3-h8 ! zugzwang. 1...Ba1-b2 2.Sa3-b5 # 1...Sd2-b1 2.Sa3-b5 # 1...Sd2-f1 2.Sa3-b5 # 1...Sd2-f3 2.Sa3-b5 # 1...Sd2-b3 2.Sa3-b5 # 1...Kc3-b2 2.Qh2*d2 # 1...Kc3-d4 2.Sa3-b5 # 1...Qg7-d4 2.Se3-d1 # 1...Qg7-e5 2.Qh2*e5 # 1...Qg7-f6 2.Bg5*f6 # 1...Qg7-h6 2.Bg5-f6 # 2.Qh2-e5 # 1...Qg7*h8 2.Qh2*h8 # 1...Qg7-f8 2.Bg5-f6 # 2.Qh2-e5 # 1...Qg7*g6 2.Qh2-e5 # 1...Qg7*f7 2.Qh2-e5 # 1...Qg7-g8 2.Bg5-f6 # 2.Qh2-e5 # 1...Qg7-h7 2.Bg5-f6 # 2.Qh2-e5 #" keywords: - Active sacrifice - Black correction - Annihilation --- authors: - Loyd, Samuel source: Lynn News source-id: 85 date: 1859-12-21 algebraic: white: [Kd6, Qh4, Re8, Pe4] black: [Kf7, Bh8, Pe5] stipulation: "#2" solution: | "1.Qh4-g4 ! zugzwang. 1...Kf7*e8 2.Qg4-g8 # 1...Kf7-f6 2.Re8-f8 # 1...Bh8-f6 2.Qg4-g8 # 1...Bh8-g7 2.Qg4-e6 #" keywords: - Flight taking key - Flight giving and taking key - Miniature comments: - also in The Philadelphia Times (no. 1207), 15 May 1892 --- authors: - Loyd, Samuel source: The Musical World date: 1859 algebraic: white: [Ke6, Qa6] black: [Ke8, Ra8, Pc7, Pa7] stipulation: "#2" solution: | "1...Rc8 2.Qxc8# 1.Qa1! (2.Qh8#) 1... 0-0-0?" keywords: - Retro - Cantcastler --- authors: - Loyd, Samuel source: The Musical World source-id: 77 date: 1859-12 algebraic: white: [Ke1, Qh6, Be4, Bc3, Pb5] black: [Kc4] stipulation: "#2" solution: | "1...Kc5/Kxb5 2.Qc6# 1.Qf6?? zz 1...Kc5/Kxb5 2.Qc6# but 1...Kb3! 1.Qe6+?? 1...Kc5/Kxb5 2.Qc6# but 1...Kxc3! 1.Kd2?? zz 1...Kc5/Kxb5 2.Qc6# but 1...Kb3! 1.Bd5+! 1...Kxc3/Kd3 2.Qd2# 1...Kc5/Kxd5/Kxb5 2.Qc6#" keywords: - Checking key - Flight giving key - Flight giving and taking key - Active sacrifice - King Y-flight - Model mates --- authors: - Loyd, Samuel source: The Musical World source-id: 70 date: 1859-11-19 algebraic: white: [Kf6, Qb4, Sa7] black: [Kd5, Sb8, Pd7, Pb7] stipulation: "#2" solution: | "1.Qc4+?? 1...Kd6 2.Nb5#/Nc8# but 1...Kxc4! 1.Nc8! (2.Ne7#) 1...Kc6 2.Qc4# 1...Nc6 2.Nb6#" keywords: - Flight giving key --- authors: - Loyd, Samuel source: The Gambit source-id: 12 date: 1859-10-29 algebraic: white: [Kc1, Qa5, Rb3, Sg5] black: [Kf4, Sf7, Pg4] stipulation: "#2" solution: | "1.Rb3-e3 ! zugzwang. 1...Kf4*e3 2.Qa5-d2 # 1...g4-g3 2.Re3-e4 # 1...Sf7-d6 2.Qa5-e5 # 1...Sf7-e5 2.Qa5*e5 # 1...Sf7*g5 2.Qa5-e5 # 1...Sf7-h6 2.Qa5-e5 # 1...Sf7-h8 2.Qa5-e5 # 1...Sf7-d8 2.Qa5-e5 #" keywords: - Flight giving key - Active sacrifice --- authors: - Loyd, Samuel source: Buffalo Commercial Advertiser date: 1880 algebraic: white: [Ke4, Qg4, Rc8, Sd5] black: [Kd6, Pg5] stipulation: "#2" solution: | "1.Nf4?? (2.Qe6#) but 1...gxf4! 1.Nf6?? (2.Qd7#) but 1...Ke7! 1.Nb6?? (2.Qd7#) but 1...Ke7! 1.Qxg5?? (2.Qe7#) but 1...Kd7! 1.Kf5! zz 1...Kxd5 2.Qd1# 1...Kd7 2.Ke5#" keywords: - 2 flights giving key --- authors: - Loyd, Samuel source: St. Louis Globe-Democrat source-id: 258 date: 1880-03-28 algebraic: white: [Kd3, Qf1, Re7, Ra3, Sc3] black: [Kb4] stipulation: "#2" solution: | "1.Qf1-f8 ! threat: 2.Re7-e1 # 2.Re7-e2 # 2.Re7-e3 # 2.Re7-e4 # 2.Re7-e5 # 2.Re7-e6 # 2.Re7-a7 # 2.Re7-b7 # 2.Re7-c7 # 2.Re7-d7 # 2.Re7-e8 # 2.Re7-h7 # 2.Re7-g7 # 2.Re7-f7 # 1...Kb4*a3 2.Re7-b7 # 1...Kb4-c5 2.Re7-e6 #" keywords: - No pawns --- authors: - Loyd, Samuel source: New York Commercial Advertiser date: 1895 algebraic: white: [Kc3, Qc1, Bg7, Bd5, Se5] black: [Kf5] stipulation: "#2" solution: | "1.Bh6? (2.Qf4#[A]/Qg5#[B]) 1...Kf6[b] 2.Qg5#[B] but 1...Kxe5[a]! 1.Bf6?? (2.Qf1#/Qg5#[B]) but 1...Kxf6[b]! 1.Qd1?? (2.Qg4#) but 1...Kf4! 1.Qg1?? (2.Qg4#) but 1...Kf4! 1.Bf8[C]! zz 1...Kxe5[a] 2.Qg5#[B] 1...Kf6[b] 2.Qf4#[A]" keywords: - 2 flights giving key - Rudenko - No pawns --- authors: - Loyd, Samuel source: St. Louis Globe-Democrat date: 1907 algebraic: white: [Kf4, Qa3, Rh1, Bg6, Pe3] black: [Kc4] stipulation: "#2" solution: | "1.Ke5? (2.Bd3#[A]) but 1...Kb5[a]! 1.Rb1? (2.Bf7#[B]) but 1...Kd5[b]! 1.Rc1+?? 1...Kd5[b] 2.Bf7#[B] but 1...Kb5[a]! 1.Rh6! zz 1...Kb5[a] 2.Bd3#[A] 1...Kd5[b] 2.Bf7#[B]" keywords: - Dombrovskis --- authors: - Loyd, Samuel source: New York State Chess Association date: 1892-02-22 algebraic: white: [Kh7, Qg2, Rf6, Bf5, Be7, Sh1, Sd7, Pf7] black: [Kf4, Ra5, Ra4, Sh6, Sb7, Ph4, Pg6, Pe3] stipulation: "#2" solution: | "1.Rf6-a6 ! threat: 2.Qg2-f1 # 1...e3-e2 2.Qg2-f2 # 1...Ra4-a1 2.Qg2-e4 # 1...Ra4-a2 2.Qg2-e4 # 1...Kf4*f5 2.Ra6-f6 # 1...Ra5*f5 2.Ra6*a4 # 1...g6*f5 2.Be7-g5 # 1...Sh6*f5 2.Be7-g5 # 1...Sh6-g4 2.Qg2*g4 #" keywords: - Flight giving key - Defences on same square - Switchback - American Indian comments: - also in The Philadelphia Times (no. 1154), 20 March 1892 --- authors: - Loyd, Samuel source: The Musical World source-id: 125 date: 1860-06-09 algebraic: white: [Kf1, Qh1, Rh8, Se2] black: [Kh3, Qh4, Rh2, Bg1, Pg4, Pf2] stipulation: "#2" solution: | "1...Qh5 2.Rxh5# 1...Qh6 2.Rxh6# 1...Qh7 2.Rxh7# 1.Qxh2+?? 1...Kxh2 2.Rxh4# but 1...Bxh2! 1.Qf3+?? 1...g3 2.Nf4#/Qf5#/Qxg3# but 1...gxf3! 1.Qe4?? zz 1...Rh1/Rg2 2.Qg2# 1...Qh5 2.Rxh5# 1...Qh6 2.Rxh6# 1...Qh7 2.Rxh7#/Qxh7# 1...g3 2.Qe6#/Qxh4#/Qf5#/Rxh4# but 1...Qxh8! 1.Qd5?? zz 1...Rh1/Rg2 2.Qg2# 1...g3 2.Qd7#/Qf5#/Qe6# 1...Qh5 2.Qxh5#/Rxh5# 1...Qh6 2.Rxh6# 1...Qh7 2.Rxh7# but 1...Qxh8! 1.Qc6?? zz 1...Rh1/Rg2 2.Qg2# 1...g3 2.Qc8#/Qe6#/Qd7# 1...Qh5 2.Rxh5# 1...Qh6 2.Qxh6#/Rxh6# 1...Qh7 2.Rxh7# but 1...Qxh8! 1.Qb7?? zz 1...Rh1/Rg2 2.Qg2# 1...g3 2.Qd7#/Qc8# 1...Qh5 2.Rxh5# 1...Qh6 2.Rxh6# 1...Qh7 2.Qxh7#/Rxh7# but 1...Qxh8! 1.Qa8! zz 1...Rh1/Rg2 2.Qg2# 1...g3 2.Qc8# 1...Qh5 2.Rxh5# 1...Qh6 2.Rxh6# 1...Qh7 2.Rxh7# 1...Qxh8 2.Qxh8#" --- authors: - Loyd, Samuel source: Toledo Blade date: 1887 algebraic: white: [Kc3, Qb6, Sg5, Pd3] black: [Ke2] stipulation: "#3" twins: b: Exchange c3 e2 solution: | "a) 1.Sg5-e6 ! zugzwang. 1...Ke2-f3 2.Qb6-g1 zugzwang. 2...Kf3-e2 3.Se6-d4 # 1...Ke2-e1 2.Qb6-g1 + 2...Ke1-e2 3.Se6-d4 # 1...Ke2-f1 2.Se6-f4 zugzwang. 2...Kf1-e1 3.Qb6-g1 # 1...Ke2-d1 2.Se6-f4 threat: 3.Qb6-g1 # 3.Qb6-b1 # 2...Kd1-e1 3.Qb6-g1 # 2...Kd1-c1 3.Qb6-g1 # 2.Qb6-g1 + 2...Kd1-e2 3.Se6-d4 # 2.Qb6-f2 threat: 3.Qf2-f1 # 3.Qf2-d2 # 2...Kd1-c1 3.Qf2-e1 # 3.Qf2-g1 # 3.Qf2-f1 # 3.Qf2-c2 # b) wKc3<--bKe2 1.Ke2-d1 ! threat: 2.Sg5-f3 zugzwang. 2...Kc3*d3 3.Qb6-d4 # 2.Sg5-e6 zugzwang. 2...Kc3*d3 3.Qb6-d4 # 1...Kc3*d3 2.Qb6-b4 zugzwang. 2...Kd3-e3 3.Qb4-d2 #" --- authors: - Loyd, Samuel source: New York Mail and Express source-id: 932 date: 1892 algebraic: white: [Ka1, Qd7, Rf7, Bc8] black: [Ke5, Qh6, Rg3, Sf2, Sb1, Pe3, Pd4, Pb6] stipulation: "#2" solution: | "1.Rf7-f4 ! threat: 2.Qd7*d4 # 1...Sf2-e4 2.Rf4-f5 # 1...Ke5*f4 2.Qd7-f5 # 1...Qh6*f4 2.Qd7-e6 # 1...Qh6-d6 2.Qd7-f5 #" keywords: - Flight giving and taking key - Active sacrifice - Model mates --- authors: - Loyd, Samuel source: date: 1859 algebraic: white: [Ka1, Qf6, Sf5, Se3] black: [Kf4, Pe4] stipulation: "#2" solution: | "1.Qf8?? zz 1...Kg5 2.Qh6# 1...Ke5 2.Qd6# but 1...Kf3! 1.Qe6?? zz 1...Kg5 2.Qh6# but 1...Kf3! 1.Qd6+?? 1...Kg5 2.Qh6# but 1...Kf3! 1.Qc6?? zz 1...Kg5 2.Qh6# 1...Ke5 2.Qd6# but 1...Kf3! 1.Qb6?? zz 1...Kg5 2.Qh6# 1...Ke5 2.Qd6# but 1...Kf3! 1.Qg6?? (2.Qg3#) 1...Ke5 2.Qd6# but 1...Kf3! 1.Qh6+?? 1...Ke5 2.Qd6# but 1...Kf3! 1.Qg7?? (2.Qg3#) but 1...Kf3! 1.Qh8?? zz 1...Kg5 2.Qh6# but 1...Kf3! 1.Qd8?? zz 1...Ke5 2.Qd6# but 1...Kf3! 1.Qa6! zz 1...Kf3 2.Qf1# 1...Kg5 2.Qh6# 1...Ke5 2.Qd6#" keywords: - 2 flights giving key - King Y-flight --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 2-moves / 315 date: 1868 algebraic: white: [Kb8, Qe6, Ra3, Bf7, Be3, Pe5] black: [Kb4, Rb2, Pe7, Pb6] stipulation: "#2" solution: | "1.Be3-c1 ! zugzwang. 1...Rb2-b1 2.Qe6-c4 # 2.Qe6*b6 # 1...Rb2-a2 2.Qe6-c4 # 2.Qe6*b6 # 1...Rb2-b3 2.Qe6-c4 # 1...Rb2-h2 2.Qe6-c4 # 2.Qe6*b6 # 1...Rb2-g2 2.Qe6-c4 # 2.Qe6*b6 # 1...Rb2-f2 2.Qe6-c4 # 2.Qe6*b6 # 1...Rb2-e2 2.Qe6-c4 # 2.Qe6*b6 # 1...Rb2-d2 2.Qe6-c4 # 2.Qe6*b6 # 1...Rb2-c2 2.Qe6*b6 # 1...Kb4*a3 2.Qe6-b3 # 1...Kb4-c5 2.Qe6-c4 # 1...Kb4-b5 2.Qe6-c4 # 1...b6-b5 2.Qe6*e7 #" keywords: - Flight giving key comments: - also in The Philadelphia Times (no. 761), 31 July 1887 --- authors: - Loyd, Samuel source: Turf, Field and Farm date: 1868 algebraic: white: [Kb4, Qb3, Rh5, Be8, Ba1, Sf5] black: [Ke6, Rd5, Pf6, Pe7] stipulation: "#2" solution: | "1.Kb4-c4 ! zugzwang. 1...Rd5-d1 2.Qb3-e3 # 1...Rd5-d2 2.Qb3-e3 # 1...Rd5-d3 2.Kc4*d3 # 1...Rd5-d4 + 2.Kc4*d4 # 1...Rd5-a5 2.Qb3-b6 # 1...Rd5-b5 2.Kc4*b5 # 1...Rd5-c5 + 2.Kc4*c5 # 1...Rd5-d8 2.Qb3-e3 # 1...Rd5-d7 2.Qb3-e3 # 1...Rd5-d6 2.Sf5-g7 # 2.Qb3-e3 # 1...Rd5*f5 2.Qb3-b6 # 1...Rd5-e5 2.Qb3-b6 #" keywords: - Battery play comments: - also in The Philadelphia Times (no. 864), 9 December 1888 --- authors: - Loyd, Samuel source: Baltimore Herald date: 1880 algebraic: white: [Ka1, Qf3, Rb1, Ra2, Bg1, Pe3] black: [Kh1, Qg2, Ph4, Ph3, Pg3] stipulation: "#2" solution: | "1...h2 2.Qxg2#/Bf2# 1.e4?? zz 1...h2 2.Qxg2#/Bf2#/Be3#/Bd4#/Bc5#/Bb6#/Ba7# but 1...Qxf3! 1.Ra3?? zz 1...h2 2.Bf2# but 1...Qxf3! 1.Ra4?? zz 1...h2 2.Bf2# but 1...Qxf3! 1.Ra5?? zz 1...h2 2.Bf2# but 1...Qxf3! 1.Ra6?? zz 1...h2 2.Bf2# but 1...Qxf3! 1.Ra7?? zz 1...h2 2.Bf2# but 1...Qxf3! 1.Ra8?? zz 1...h2 2.Bf2# but 1...Qxf3! 1.Rab2?? zz 1...h2 2.Bf2#/Qxg2# but 1...Qxf3! 1.Rc2?? zz 1...h2 2.Qxg2#/Bf2# but 1...Qxf3! 1.Rd2?? zz 1...h2 2.Bf2#/Qxg2# but 1...Qxf3! 1.Re2?? zz 1...h2 2.Qxg2#/Bf2# but 1...Qxf3! 1.Rxg2?? (2.Bh2#/Bf2#/Rxg3#/Rh2#) but 1...hxg2! 1.Rc1?? zz 1...h2 2.Bf2#/Qxg2# but 1...Qxf3! 1.Rd1?? zz 1...h2 2.Qxg2#/Bf2# but 1...Qxf3! 1.Re1?? zz 1...h2 2.Bf2#/Qxg2# but 1...Qxf3! 1.Rf1?? zz 1...h2 2.Qxg2#/Bf2# but 1...Qxf3! 1.Qe4?? zz 1...h2 2.Qxg2#/Bf2# 1...Qf3 2.Bh2# but 1...Qxe4! 1.Qd5?? zz 1...h2 2.Qxg2#/Bf2# 1...Qf3/Qe4 2.Bh2# but 1...Qxd5! 1.Qc6?? zz 1...h2 2.Qxg2#/Bf2# 1...Qf3/Qe4/Qd5 2.Bh2# but 1...Qxc6! 1.Qb7?? zz 1...h2 2.Qxg2#/Bf2# 1...Qf3/Qe4/Qd5/Qc6 2.Bh2# but 1...Qxb7! 1.Qa8! zz 1...h2 2.Qxg2#/Bf2# 1...Qf3/Qe4/Qd5/Qc6/Qb7/Qxa8 2.Bh2#" keywords: - Active sacrifice --- authors: - Loyd, Samuel source: The Musical World source-id: 44 date: 1859-08 algebraic: white: [Ka2, Qd4, Rb6, Sd6] black: [Ka5, Qb5, Ra7, Bc7, Pa4] stipulation: "#2" solution: | "1...Ra6 2.Nb7#/Rxb5# 1...Ra8/Rb7 2.Nb7# 1...Qb4/Qd3/Qf1/Qc6/Qa6 2.Qxb4# 1...Qc5 2.Qxc5# 1...Qe5/Qf5/Qg5/Qh5/Qd7/Qe8 2.Qb4#/Nc4# 1...Qc4+ 2.Nxc4# 1.Qd2+?? 1...Qb4 2.Qxb4#/Nc4# but 1...Kxb6! 1.Qc3+?? 1...Qb4 2.Qxb4#/Nc4# but 1...Kxb6! 1.Qc5?? (2.Qxb5#/Nc4#) 1...a3/Bxd6/Bxb6 2.Qxb5# but 1...Qxc5! 1.Qe5! (2.Qxb5#) 1...Kb4 2.Rxb5# 1...Qc5 2.Qxc5#/Nc4# 1...Qd5+/Qxe5 2.Nc4#" keywords: - 2 flights giving key --- authors: - Loyd, Samuel source: New York Commercial Advertiser date: 1892 algebraic: white: [Ka2, Qb2, Rc6, Rc4, Bf5, Bf2, Ba6, Sa4, Sa3] black: [Kd5, Qd6, Pf6, Pe7, Pc5] stipulation: "#2" solution: | "1...Kxc6 2.Qb7# 1...Qd7/Qd8/Qg3/Qh2/Qc7/Qb8 2.Be4#/R4xc5# 1...Qe6/Qe5/Qf4 2.R4xc5# 1...e6 2.Be4# 1.Nc3+?? 1...Kxc6 2.Qb7# but 1...Ke5! 1.Bg3?? (2.Qg2#) 1...Kxc6 2.Qb7# 1...Qe6 2.R4xc5#/R6xc5# 1...Qe5/Qf4 2.R4xc5# 1...Qxg3 2.Be4#/R4xc5# but 1...e5! 1.Bb5?? (2.Nb6#) 1...Qd8/Qc7/Qb8 2.Be4#/Be6#/R4xc5# but 1...Qxc6! 1.Bb7?? (2.Nb6#/R6xc5#) 1...Qd7 2.Nb6#/Be4#/R4xc5# 1...Qd8 2.Be4#/Be6#/R4xc5#/Rb6#/Ra6#/Re6#/Rxf6# 1...Qe6 2.Bxe6#/Nb6#/R4xc5#/Rxe6# 1...Qe5 2.Nb6#/Rb6#/Ra6#/Re6#/Rxf6#/R4xc5# 1...Qf4 2.Nb6#/Rb6#/Ra6#/Re6#/Rxf6#/Be6#/R4xc5# 1...Qg3/Qh2 2.Rb6#/Ra6#/Re6#/Rxf6#/Be4#/Be6#/Nb6#/R4xc5# 1...Qc7 2.Be4#/Be6#/R4xc5# 1...Qb8 2.Nb6#/Be4#/Be6#/R4xc5# but 1...Qxc6! 1.Bac8?? (2.Be4#) 1...Kxc6 2.Qb7# 1...Qe6/Qe5/Qf4 2.R4xc5# but 1...Qxc6! 1.Rxd6+?? 1...exd6 2.Bb7# but 1...Kxd6! 1.Qb1?? (2.Qe4#) 1...Kxc6 2.Qb7# 1...Qe6/Qe5/Qf4 2.R4xc5# but 1...Qxc6! 1.Qxf6?? (2.Be4#) 1...Kxc6/Qxf6 2.Rxc5# 1...Qe6 2.Qxe6#/R4xc5# 1...Qe5 2.Nb6#/R4xc5#/R6xc5# 1...Qf4 2.Nb6#/Nc3#/R4xc5#/R6xc5#/Qe6# but 1...exf6! 1.Qb8! zz 1...Ke5 2.R6xc5# 1...Kxc6 2.Bb7#/Qb7# 1...e6 2.Qxd6# 1...e5 2.Qxd6#/Rxd6# 1...Qd7/Qd8/Qg3/Qh2 2.Be4#/R6xc5#/R4xc5# 1...Qxc6 2.Nc3# 1...Qe6/Qe5/Qf4 2.R4xc5#/R6xc5# 1...Qc7/Qxb8 2.R4xc5#" keywords: - Flight giving key - Black correction --- authors: - Loyd, Samuel source: Le Sphinx date: 1866-09-01 algebraic: white: [Ka2, Qa5, Rf2, Rb3, Bh2, Bb1, Sf3, Se2, Pg4, Pg2, Pc2, Pb6] black: [Ke4, Qc4, Rf8, Re8, Bg8, Bd8, Pg5, Pe3, Pa3] stipulation: "#2" solution: | "1.Qa5-c5 ! zugzwang. 1...e3*f2 2.Sf3-d2 # 1...Qc4*b3 + 2.c2*b3 # 1...Qc4*e2 2.Qc5-d4 # 1...Qc4-d3 2.c2*d3 # 1...Qc4-f7 2.Qc5-d4 # 2.Se2-c3 # 2.c2-c4 # 2.c2-c3 # 1...Qc4-e6 2.Qc5-d4 # 2.Se2-c3 # 2.c2-c4 # 2.c2-c3 # 1...Qc4-d5 2.Qc5*e3 # 2.Se2-c3 # 1...Qc4-a6 2.Qc5-d4 # 2.Se2-c3 # 2.c2-c4 # 1...Qc4-b5 2.Qc5-d4 # 2.Se2-c3 # 2.c2-c4 # 1...Qc4*c2 + 2.Bb1*c2 # 1...Qc4-c3 2.Se2*c3 # 1...Qc4-a4 2.Se2-c3 # 2.c2-c4 # 2.c2-c3 # 1...Qc4-b4 2.c2-c4 # 2.c2-c3 # 1...Qc4*c5 2.c2-c4 # 1...Qc4-d4 2.Qc5*d4 # 1...Bd8*b6 2.Sf3*g5 # 1...Bd8-c7 2.Sf3*g5 # 1...Bd8-f6 2.Qc5-f5 # 1...Bd8-e7 2.Qc5-e5 # 1...Re8-e5 2.Qc5*e5 # 1...Re8-e6 2.Qc5*c4 # 1...Re8-e7 2.Sf3*g5 # 1...Rf8*f3 2.g2*f3 # 1...Rf8-f4 2.Se2-g3 # 1...Rf8-f5 2.Qc5*f5 # 1...Rf8-f6 2.Sf3*g5 # 1...Rf8-f7 2.Qc5*c4 # 1...Bg8-d5 2.Qc5*e3 # 1...Bg8-e6 2.Qc5-e5 # 1...Bg8-f7 2.Qc5-f5 # 1...Bg8-h7 2.Qc5*c4 #" keywords: - Active sacrifice - Black correction - Grimshaw - Organ pipes comments: - also in The Philadelphia Times (no. 1186), 21 February 1892 --- authors: - Loyd, Samuel source: Evening Telegram (New York) date: 1890 algebraic: white: [Ka4, Qa8, Rb5] black: [Ka1, Pe7, Pc5, Pb7] stipulation: "#2" solution: | "1.Qh8+?? 1...Ka2 2.Qb2# but 1...e5! 1.Rb4?? (2.Kb5#) but 1...cxb4! 1.Rb3?? (2.Kb5#) but 1...Ka2! 1.Ka5! (2.Kb6#)" --- authors: - Loyd, Samuel source: New York Mail and Express source-id: 1 date: 1891 algebraic: white: [Ka4, Qa2, Re6, Rd7, Ba3, Sf4, Sc4] black: [Kc3, Qd8, Re3, Bf1, Bb6, Sc6, Sa5] stipulation: "#2" solution: | "1.Sc4-d6 ! threat: 2.Qa2-b2 # 1...Bf1-b5 + 2.Sd6*b5 # 1...Kc3-d4 2.Sd6-b5 # 1...Re3-e2 2.Sd6-b5 # 1...Re3-e4 + 2.Sd6*e4 # 1...Sa5-c4 2.Sd6-b5 #" keywords: - Flight giving key - No pawns --- authors: - Loyd, Samuel source: New York City Chess Club, souvenir problem date: 1892-09-27 algebraic: white: [Ka5, Qe6, Rf1, Rc7, Bc3, Bb5, Sd2, Sb3, Pb4] black: [Kc2, Qa1, Rc1, Be1, Pf3, Pf2, Pb2, Pa3, Pa2] stipulation: "#2" solution: | "1.Sd2-c4 ! zugzwang. 1...Qa1-b1 2.Sc4-e3 # 1...Rc1-b1 2.Sc4-e3 # 1...Rc1-d1 2.Sc4*a3 # 1...Be1*c3 2.Sc4*a3 # 1...Be1-d2 2.Sc4*a3 # 1...b2-b1=Q 2.Sc4-e3 # 1...b2-b1=S 2.Sc4-e3 # 1...b2-b1=R 2.Sc4-e3 # 1...b2-b1=B 2.Sc4-e3 # 1...Kc2-b1 2.Sc4*a3 # 1...Kc2-d1 2.Sc4-e3 # 1...Kc2-d3 2.Sc4*a3 # 2.Sc4-e3 # 1...Kc2*b3 2.Sc4-e3 # 1...Kc2*c3 2.Sc4*a3 # 2.Sc4-d2 # 2.Sc4-e3 # 2.Sc4-e5 # 2.Sc4-d6 # 2.Sc4-b6 #" keywords: - "3+ flights giving key" - King star flight - King Y-flight comments: - also in The Louisville Courier-Journal (no. 108), 9 October 1892 --- authors: - Loyd, Samuel source: New York Mail and Express source-id: 34v date: 1892 algebraic: white: [Ka5, Qh3, Re4, Rb7, Ba4, Sf5, Sd5, Pe7, Pb4] black: [Ke8, Rg4, Rc4, Sc7, Pf6, Pd6, Pb5] stipulation: "#2" solution: | "1.Ba4-b3 ! zugzwang. 1...Rc4-c1 2.Sd5*f6 # 1...Rc4-c2 2.Sd5*f6 # 1...Rc4-c3 2.Sd5*f6 # 1...Rc4*b4 2.Sd5*f6 # 1...Rc4-c6 2.Sd5*f6 # 1...Rc4-c5 2.Sd5*f6 # 1...Rc4*e4 2.Sd5*f6 # 1...Rc4-d4 2.Sd5*f6 # 1...Rg4-g1 2.Sf5*d6 # 1...Rg4-g2 2.Sf5*d6 # 1...Rg4-g3 2.Sf5*d6 # 1...Rg4*e4 2.Sf5*d6 # 1...Rg4-f4 2.Sf5*d6 # 1...Rg4-g8 2.Sf5*d6 # 1...Rg4-g7 2.Sf5*d6 # 1...Rg4-g6 2.Sf5*d6 # 1...Rg4-g5 2.Sf5*d6 # 1...Rg4-h4 2.Sf5*d6 # 1...Sc7-a6 2.Sf5*d6 # 1...Sc7*d5 2.Sf5*d6 # 1...Sc7-e6 2.Sf5*d6 # 1...Sc7-a8 2.Sf5*d6 # 1...Ke8-d7 2.e7-e8=Q # 1...Ke8-f7 2.e7-e8=Q #" --- authors: - Loyd, Samuel source: The Musical World source-id: v 123 date: 1860-06-02 algebraic: white: [Ka7, Qh2, Rf3, Rb3, Bd8, Bb5, Sg7, Sd3, Pd2, Pc2, Pb7] black: [Kd4, Qd7, Bf1, Bc1, Sf8, Sf7, Pe4, Pe3, Pd6, Pd5, Pc7, Pc4] stipulation: "#2" solution: | "1...exf3 2.Qf4# 1...Ng5/Nh6/Nh8 2.Bf6#[A] 1...Ne6/Qxd8/Qe7/Qf5/Qe8/Qc6/Qxb5 2.Nf5#[B] 1...exd2/e2/cxb3 2.c3#[C] 1...Bb2/Ba3 2.dxe3# 1...c3 2.dxc3#[C]/Rb4# 1.Qxd6! (2.Qc5#) 1...exd3 2.Rf4# 1...exf3 2.Qf4# 1...Ne6/Qxd6/Qe7/Qc6/Qxb5 2.Nf5#[B] 1...cxd3 2.c3#[C]/Rb4# 1...cxd6 2.Bb6# 1...Ba3 2.dxe3# 1...Bxd3 2.c3#[C] 1...Nxd6 2.Bf6#[A]" keywords: - Active sacrifice - Defences on same square - Transferred mates --- authors: - Loyd, Samuel source: The Circle source-id: 4 date: 1908-04 algebraic: white: [Ka7, Qh8, Rg7, Re6, Bb8, Ba6, Sc6, Sb7, Pg5, Pe7, Pc4, Pb3] black: [Kd7, Bd6, Se8, Pg6, Pc7, Pb4] stipulation: "#2" solution: | "1.Qh8-h7 ! zugzwang. 1...Bd6-c5 + 2.Sb7*c5 # 1...Bd6-h2 2.Sb7-c5 # 1...Bd6-g3 2.Sb7-c5 # 1...Bd6-f4 2.Sb7-c5 # 1...Bd6-e5 2.Sb7-c5 # 1...Bd6*e7 2.Sb7-c5 # 1...Kd7*c6 2.Ba6-b5 # 1...Kd7*e6 2.Qh7-h3 # 1...Kd7-c8 2.Sb7-c5 # 1...Se8-f6 2.e7-e8=Q # 1...Se8*g7 2.e7-e8=Q #" keywords: - Transferred mates --- authors: - Loyd, Samuel source: Turf, Field and Farm date: 1887 algebraic: white: [Ka8, Qd1, Rh5, Ra5, Bb2, Ba2, Sc1, Sb5, Pf2] black: [Ke4, Bf5, Bf4, Sd4, Sc5] stipulation: "#2" solution: | "1...Ke5[a] 2.Qxd4#[A] 1...Ndb3[b] 2.Qh1#[B] 1...Nd3/Nd7/Nce6/Ncb3/Nb7/Na6/Be6 2.Nc3# 1...Bg4/Bh3/Bg6/Bh7/Bd7/Bc8 2.Bd5#/Nc3# 1...Ne2/Nde6/Nc2/Nc6/Nxb5 2.Bd5#/Qd5#/Qh1#[B] 1...Nf3 2.Bd5#/Qd5# 1.Nd6+?? 1...Ke5[a] 2.Qxd4#[A] but 1...Bxd6! 1.Bd5+?? 1...Ke5[a] 2.Qxd4#[A] but 1...Kxd5! 1.f3+?? 1...Ke5[a] 2.Bxd4#/Qxd4#[A] 1...Ke3 2.Bxd4# but 1...Nxf3! 1.Qd3+?? 1...Ke5[a] 2.Bxd4#/Rxf5#/Qxd4#[A]/Qxf5#[C] but 1...Nxd3! 1.Qe1+?? 1...Be3 2.Qxe3# 1...Ne2 2.Qh1#[B] but 1...Kf3! 1.Qh1+[B]?? 1...Ke5[a] 2.Bxd4# but 1...Nf3! 1.Qe2+?? 1...Be3 2.Qxe3# but 1...Nxe2! 1.Qg4! zz 1...Ke5[a] 2.Qxf5#[C] 1...Ndb3[b]/Nxb5 2.Qg2#[D] 1...Nd3/Nd7/Nce6/Ncb3/Na6/Be6 2.Nc3#/Nd6# 1...Nb7 2.Nc3# 1...Na4 2.Nd6# 1...Ne2/Nde6/Nc2/Nc6 2.Nd6#/Qg2#[D] 1...Nf3 2.Nd6#/Qxf5#[C] 1...Bxg4 2.Bd5# 1...Bg6/Bh7/Bd7/Bc8 2.Bd5#/Nc3#/Nd6#" keywords: - Active sacrifice - Changed mates --- authors: - Loyd, Samuel source: La Stratégie date: 1867-01 algebraic: white: [Ka8, Qg1, Rh4, Rd7, Bf1, Sg2, Se4] black: [Kf3, Rf5, Rc3, Be1, Pd2] stipulation: "#2" solution: | "1.Qg1-c5 ! threat: 2.Qc5*c3 # 2.Qc5*f5 # 1...Be1*h4 2.Qc5*f5 # 1...Be1-g3 2.Qc5*c3 # 2.Se4*d2 # 1...Be1-f2 2.Qc5*f2 # 2.Qc5*f5 # 1...d2-d1=Q 2.Qc5*f5 # 1...d2-d1=S 2.Qc5*f5 # 2.Sg2*e1 # 1...d2-d1=R 2.Qc5*f5 # 1...d2-d1=B 2.Qc5*f5 # 2.Sg2*e1 # 1...Rc3-c1 2.Rd7-d3 # 2.Qc5-e3 # 2.Qc5*f5 # 1...Rc3-c2 2.Rd7-d3 # 2.Qc5-e3 # 2.Qc5*f5 # 1...Rc3-a3 + 2.Qc5*a3 # 1...Rc3-b3 2.Qc5*f5 # 1...Rc3*c5 2.Rd7-d3 # 1...Rc3-c4 2.Rd7-d3 # 2.Qc5-e3 # 2.Qc5*f5 # 1...Rc3-e3 2.Qc5*e3 # 2.Qc5*f5 # 1...Rc3-d3 2.Rd7*d3 # 2.Qc5*f5 # 1...Rf5-f4 2.Rh4*f4 # 1...Rf5*c5 2.Rh4-f4 # 1...Rf5-d5 2.Rh4-f4 # 1...Rf5-e5 2.Qc5*c3 # 2.Rh4-f4 # 1...Rf5-f8 + 2.Qc5*f8 # 1...Rf5-f7 2.Rd7*f7 # 2.Qc5*c3 # 2.Qc5-h5 # 1...Rf5-f6 2.Qc5*c3 # 2.Qc5-h5 # 1...Rf5-h5 2.Qc5*c3 # 2.Qc5*h5 # 2.Rh4-f4 # 1...Rf5-g5 2.Qc5*c3 # 2.Rh4-f4 #" keywords: - Active sacrifice comments: - "and or(?) in L'Illustration, 1867" - also in The Philadelphia Times (no. 1166), 6 December 1891 --- authors: - Loyd, Samuel source: Detroit Free Press date: 1878-04-27 algebraic: white: [Kb1, Qe5, Rc4, Bd1, Sd5, Sc7, Pa4, Pa3] black: [Ka5, Sa2, Pd2, Pb3] stipulation: "#2" solution: | "1.Qe5-a1 ! zugzwang. 1...Sa2-c1 2.Qa1-c3 # 1...Sa2-c3 + 2.Qa1*c3 # 1...Sa2-b4 2.a3*b4 # 1...b3-b2 2.Rc4-c5 #" keywords: - Black correction --- authors: - Loyd, Samuel source: Mail and Express source-id: 667 date: 1891-09-12 algebraic: white: [Kb1, Rh2, Rd2, Bd4, Sf4, Se3, Pg2] black: [Kf2, Pe2] stipulation: "#2" solution: | "1.Bd4-e5 ! zugzwang. 1...Kf2-e1 2.Rd2*e2 # 1...Kf2-g1 2.Sf4-h3 # 1...Kf2-g3 2.Sf4-d3 # 1...Kf2*e3 2.Rd2*e2 #" keywords: - Flight giving key - King star flight comments: - also in The New York World (no. 8), 4 December 1892 --- authors: - Loyd, Samuel source: American Union date: 1858-10 algebraic: white: [Kb2, Qe7, Ra5, Se3, Sb4, Ph4, Pf2] black: [Ke5, Bc5, Pf3, Pe6] stipulation: "#2" solution: | "1.Qe7-h7 ! zugzwang. 1...Ke5-d4 2.Sb4-c6 # 1...Ke5-f4 2.Sb4-d3 # 1...Ke5-f6 2.Se3-g4 # 1...Ke5-d6 2.Se3-c4 #" keywords: - Flight giving key - Flight giving and taking key - King star flight comments: - also, reflected, in The Philadelphia Times (no. 7), 7 March 1880 --- authors: - Loyd, Samuel source: Chess Strategy source-id: 222 date: 1881 algebraic: white: [Kb3, Rc3, Bf3, Be1, Sf8, Sb4, Pb2] black: [Kd4, Rc1, Bg1, Se7, Sc7, Pe5, Pc6, Pc2] stipulation: "#2" solution: | "1.Be1-h4 ! zugzwang. 1...Rc1-a1 2.Sb4*c2 # 1...Rc1-b1 2.Sb4*c2 # 1...Rc1-f1 2.Sb4*c2 # 1...Rc1-e1 2.Sb4*c2 # 1...Rc1-d1 2.Sb4*c2 # 1...Bg1-h2 2.Bh4-f2 # 1...Bg1-e3 2.Rc3-c4 # 1...Bg1-f2 2.Bh4*f2 # 1...e5-e4 2.Bh4-f6 # 1...c6-c5 2.Rc3-d3 # 1...Sc7-a6 2.Sf8-e6 # 1...Sc7-b5 2.Sf8-e6 # 1...Sc7-d5 2.Sf8-e6 # 1...Sc7-e6 2.Sf8*e6 # 1...Sc7-e8 2.Sf8-e6 # 1...Sc7-a8 2.Sf8-e6 # 1...Se7-d5 2.Sb4*c6 # 1...Se7-f5 2.Sb4*c6 # 1...Se7-g6 2.Sb4*c6 # 1...Se7-g8 2.Sb4*c6 # 1...Se7-c8 2.Sb4*c6 #" keywords: - Black correction --- authors: - Loyd, Samuel source: New York Chess Association date: 1892-02-22 algebraic: white: [Kb4, Qd5, Rg1, Ra2, Bc3] black: [Ke3, Be8, Sh1, Sf7, Ph7, Ph3] stipulation: "#2" solution: | "1...Kf4 2.Bd2# 1.Bd2+?? 1...Ke2 2.Bf4#/Bg5#/Bh6#/Bc1# but 1...Kf2! 1.Bd4+?? 1...Kd3 2.Rd1#/Bf2#/Bc5#/Bb6#/Ba7# but 1...Kf4! 1.Rg3+?? 1...Kf4 2.Qf3# but 1...Nxg3! 1.Rf1?? (2.Qd4#/Qf3#/Rf3#) 1...Bc6 2.Rf3#/Qd4# 1...Ng5/Ne5 2.Qd4# but 1...Nf2! 1.Qf5?? (2.Re1#) 1...Ng3 2.Rxg3# but 1...Bb5! 1.Re2+?? 1...Kf4 2.Bd2#/Qe4# but 1...Kxe2! 1.Rh2?? (2.Bd2#) but 1...Nf2! 1.Bb2! (2.Bc1#) 1...Kf2 2.Bd4#" keywords: - 2 flights giving key --- authors: - Loyd, Samuel source: New York State Chess Association date: 1892-02-22 algebraic: white: [Kb4, Qe2, Rf7, Bh8, Sh6, Se3, Pd5] black: [Ke4, Rh4, Pd6, Pb5] stipulation: "#2" solution: | "1.Rf7-g7 ! zugzwang. 1...Ke4-d4 2.Rg7-g4 # 2.Rg7-e7 # 1...Ke4-e5 + 2.Rg7-g4 # 1...Ke4-f4 2.Se3-g2 # 1...Rh4-h1 2.Rg7-g4 # 1...Rh4-h2 2.Rg7-g4 # 1...Rh4-h3 2.Rg7-g4 # 1...Rh4-f4 2.Rg7-e7 # 1...Rh4-g4 2.Rg7*g4 # 1...Rh4*h6 2.Rg7-g4 # 1...Rh4-h5 2.Rg7-g4 #" keywords: - 3+ flights giving key - Black correction comments: - also in The Philadelphia Times (no. 1200), 10 April 1892 --- authors: - Loyd, Samuel source: The Musical World source-id: 39 date: 1859-07 algebraic: white: [Kb8, Rb3, Bg4, Be3, Sh6, Sc4] black: [Kd5, Pg5] stipulation: "#2" solution: | "1...Kxc4 2.Be6# 1.Rd3+? 1...Ke4[a] 2.Rd4#[B] 1...Kc6[b] 2.Bd7#[A] but 1...Kxc4! 1.Kb7?? zz 1...Kxc4 2.Be6# but 1...Ke4[a]! 1.Kc8?? zz 1...Kc6[b] 2.Bf3# 1...Kxc4 2.Be6# but 1...Ke4[a]! 1.Kc7?? zz 1...Kxc4 2.Be6# but 1...Ke4[a]! 1.Bd7[A]?? zz 1...Ke4[a] 2.Bc6# 1...Kxc4 2.Be6# but 1...g4! 1.Ng8! zz 1...Ke4[a] 2.Nf6#[C] 1...Kc6[b] 2.Ne7#[D] 1...Kxc4 2.Be6#" keywords: - Changed mates --- authors: - Loyd, Samuel source: Detroit Free Press source-id: 859v date: 1880-03-06 algebraic: white: [Kc2, Qg5, Rb4, Bf8, Se5, Pd3, Pc6] black: [Kd5, Sd7, Pe6, Pd6] stipulation: "#2" solution: | "1.Qg5-d8 ! zugzwang. 1...Kd5-c5 2.Qd8-a5 # 1...Kd5*e5 2.Qd8-g5 # 1...d6*e5 2.Qd8*d7 # 1...Sd7-b6 2.Qd8*d6 # 1...Sd7-c5 2.Qd8*d6 # 1...Sd7*e5 2.Qd8*d6 # 1...Sd7-f6 2.Qd8-a5 # 2.Qd8*d6 # 1...Sd7*f8 2.Qd8-a5 # 1...Sd7-b8 2.Qd8-a5 # 2.Qd8*d6 #" keywords: - Flight giving key - Defences on same square - Switchback --- authors: - Loyd, Samuel source: Detroit Free Press source-id: 1759 date: 1884-09-06 algebraic: white: [Kc4, Qc1, Ra2, Bd3, Se7, Ph2, Pg5] black: [Kf3, Ph4, Ph3, Pe5] stipulation: "#2" solution: | "1.Bd3-c2 ! zugzwang. 1...Kf3-e2 2.Bc2-e4 # 1...Kf3-g2 2.Bc2-e4 # 1...Kf3-g4 2.Bc2-d1 # 1...Kf3-f2 2.Bc2-e4 # 1...e5-e4 2.Bc2-d1 #" keywords: - 3+ flights giving key --- authors: - Loyd, Samuel source: The Musical World source-id: 38 date: 1859-07 algebraic: white: [Kc5, Rg3, Bd2, Bc8, Pg5] black: [Ke4] stipulation: "#2" solution: | "1.Rg2! zz 1...Ke5 2.Re2# 1...Kf3 2.Bb7# 1...Kd3 2.Bf5#" keywords: - 2 flights giving key - King Y-flight - Model mates --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper source-id: 138 date: 1858-07-03 algebraic: white: [Kc6, Qg6, Bb2, Sc3] black: [Kd4, Qe2, Bc4, Pd3] stipulation: "#2" solution: | "1...Ke5 2.Nxe2# 1...d2/Qe5/Qe7/Qg4 2.Nd1#/Nd5# 1...Qe3 2.Nd1#/Nd5#/Ne2#/Ne4#/Nb1#/Nb5#/Na2#/Na4# 1...Qe4+ 2.Qxe4#/Nd5# 1...Qd2/Qc2/Qf2/Qh2 2.Qe4# 1...Qf1/Qh5/Qd1 2.Nd1#/Nd5#/Qe4# 1...Qf3+ 2.Nd5# 1.Qe4+! 1...Qxe4+ 2.Nd5#" keywords: - Checking key - Flight taking key - Active sacrifice --- authors: - Loyd, Samuel source: Providence Journal date: 1886 algebraic: white: [Kc6, Qg5, Rh3, Bc4, Sd1, Pc3] black: [Ke4, Re2, Bf3, Sf2, Pd2] stipulation: "#2" solution: | "1...Re1/Re3 2.Nxf2# 1...Bg2/Bh1/Bg4/Bh5/Nd3 2.Bd5# 1.Kd6?? (2.Qe5#) 1...Nd3 2.Bd5# but 1...Ng4! 1.Rxf3?? (2.Bd5#/Qf5#/Qd5#/Qf4#/Rf4#) 1...Nh3/Nd3 2.Bd5#/Qf5#/Qd5# 1...Nxd1 2.Bd5#/Qf5#/Qd5#/Qf4# 1...Re3 2.Qf5#/Qd5#/Qf4#/Qxe3#/Rf4#/Rxe3# but 1...Kxf3! 1.Bf7?? (2.Bg6#) 1...Bg4/Bh5 2.Bd5# but 1...Kd3+! 1.Bg8?? (2.Bh7#) 1...Bg4/Bh5 2.Bd5# but 1...Kd3+! 1.Ba2?? zz 1...Re1/Re3 2.Nxf2# 1...Bg2/Bh1/Bg4/Bh5/Nd3 2.Bd5# 1...Ng4/Nh1/Nxh3/Nxd1 2.Bb1# but 1...Kd3+! 1.Bb3! zz 1...Kd3+ 2.Qd5# 1...Re1/Re3 2.Nxf2# 1...Ng4/Nh1/Nxh3/Nxd1 2.Bc2# 1...Nd3/Bg2/Bh1/Bg4/Bh5 2.Bd5#" keywords: - Flight giving key - Black correction --- authors: - Loyd, Samuel source: Detroit Free Press source-id: 19 date: 1879-03-22 algebraic: white: [Kc8, Qf6, Re2, Rb1, Bh1, Se8, Pg5, Pd3] black: [Kc5, Rg2, Bh6, Ba8, Sb7, Pb5] stipulation: "#2" solution: | "1.Re2-f2 ! threat: 2.Rf2-f5 # 1...Rg2*f2 2.Qf6*f2 # 1...Rg2*g5 2.Rf2-c2 # 1...Sb7-a5 2.Qf6-d6 # 1...Sb7-d6 + 2.Qf6*d6 # 1...Sb7-d8 2.Qf6-d6 #" keywords: - Rudenko --- authors: - Loyd, Samuel source: New Orleans Times-Democrat source-id: 1097 date: 1895-08-11 algebraic: white: [Kc8, Qc1, Rf4, Re3, Bb8] black: [Kd5, Be4, Pc6] stipulation: "#2" solution: | "1.Qc1-c2 ! zugzwang. 1...Be4*c2 2.Re3-e5 # 1...Be4-d3 2.Re3-e5 # 1...Be4-h1 2.Re3-e5 # 2.Qc2-f5 # 2.Qc2-c4 # 1...Be4-g2 2.Re3-e5 # 2.Qc2-f5 # 2.Qc2-c4 # 1...Be4-f3 2.Re3-e5 # 2.Qc2-f5 # 2.Qc2-c4 # 1...Be4-h7 2.Re3-e5 # 2.Qc2-c4 # 1...Be4-g6 2.Re3-e5 # 2.Qc2-c4 # 1...Be4-f5 + 2.Qc2*f5 # 1...Kd5-e6 2.Qc2*e4 # 1...Kd5-d4 2.Re3-d3 # 1...c6-c5 2.Qc2*e4 #" keywords: - Changed mates --- authors: - Loyd, Samuel source: New York Commercial Advertiser date: 1901 algebraic: white: [Kc8, Qa5, Rg8, Rg7, Be3, Bb7, Sb6, Pg4, Pf5, Pc7] black: [Kf6, Qa1, Rh2, Bc1, Bb1, Sh3, Sb8] stipulation: "#2" solution: | "1...Rb2/Qa2 2.Qc3#/Bd4# 1...Ng1/Nf2/Nf4 2.g5# 1...Bxf5+ 2.Qxf5# 1...Nc6/Nd7/Na6 2.Nd7# 1...Qa3/Qd4 2.Bd4# 1...Qc3 2.Qxc3# 1.Rh7?? (2.Rg6#/Rf8#) 1...Bxf5+ 2.Qxf5# 1...Ba2/Ng5/Bxe3/Ba3 2.Rg6# 1...Nf4 2.g5# 1...Qa2 2.Rg6#/Bd4#/Qc3# 1...Qa3 2.Bd4#/Rg6# 1...Nd7 2.Nxd7#/Rg6# but 1...Qxa5! 1.Qxa1+?? 1...Rb2 2.Bd4# but 1...Bb2! 1.Qc5?? (2.Qd6#/Qe7#) 1...Rd2/Ng5/Ba2 2.Qe7# 1...Nf4 2.Qe7#/g5# 1...Qa2 2.Qc3#/Qd4#/Qe7#/Bd4# 1...Qa3 2.Qd4#/Bd4# 1...Qd4 2.Qxd4#/Qe7#/Bxd4# 1...Qe5 2.Qf8# 1...Nc6 2.Qd6#/Nd7# 1...Bxf5+ 2.Qxf5# but 1...Ba3! 1.Qd5?? (2.Qd6#/Qe6#/Rf7#) 1...Rd2/Ba3 2.Qe6#/Rf7# 1...Nf4 2.g5#/Rf7# 1...Qa2 2.Qd4#/Bd4#/Rf7# 1...Qa3/Qd4 2.Qd4#/Qe6#/Bd4#/Rf7# 1...Qe5 2.Qf7#/Rf7# 1...Bxf5+ 2.Qxf5# 1...Ba2 2.Rf7# but 1...Ng5! 1.Qa6! (2.Nd7#) 1...Ke5 2.Nc4# 1...Qxa6 2.Bd4#" keywords: - Flight giving key --- authors: - Loyd, Samuel source: La Stratégie date: 1867-11 algebraic: white: [Kc8, Qg8, Bg3, Sf3, Se6, Pe7] black: [Kf6, Rh7, Bh8] stipulation: "#2" solution: | "1.Neg5? zz 1...Kxe7[a] 2.Qd8#[A] 1...Rh6[b]/Rh5[c]/Rh4[b]/Rh3[b]/Rh2[b]/Rh1[b]/Rf7[d] 2.Qf7#[B] 1...Kf5/Rg7 2.Qe6# 1...Bg7 2.Qf7#[B]/Qe6# but 1...Rxe7! 1.e8N+?? 1...Ke7[a] 2.Bd6# but 1...Kf5! 1.Nd8?? (2.Qg5#[C]) 1...Rh5[c] 2.Qf7#[B] 1...Kf5/Rg7 2.Qe6# 1...Bg7 2.Qf7#[B]/Qe6# but 1...Kxe7[a]! 1.Nf4! zz 1...Kxe7[a] 2.Nd5#[D] 1...Rh6[b]/Rh5[c]/Rh4[b]/Rh3[b]/Rh2[b]/Rh1[b] 2.Qf8#[E] 1...Rf7[d] 2.Qg5#[C] 1...Kf5 2.Qg6#/Qe6# 1...Bg7/Rg7 2.Qe6# 1...Rxe7 2.Qg6#" keywords: - Black correction - Changed mates --- authors: - Loyd, Samuel source: Lasker's Chess Magazine date: 1904 algebraic: white: [Kd1, Rh7, Rg1, Bb7, Sg6, Sc3, Pe5] black: [Kf5, Bg5, Pe7] stipulation: "#2" solution: | "1...Kxg6/e6 2.Be4# 1...Ke6 2.Bc8# 1.Rxe7?? (2.Be4#) 1...Bxe7 2.Bc8# but 1...Kxg6! 1.Rxg5+?? 1...Ke6 2.Bc8#/Rxe7#/Nf8# but 1...Kxg5! 1.Bg2! zz 1...Kg4/Kxg6/e6 2.Be4# 1...Ke6/Bh4/Bh6/Bf4/Be3/Bd2/Bc1/Bf6 2.Bh3#" keywords: - Flight giving key --- authors: - Loyd, Samuel source: The Musical World source-id: v 18 date: 1858-05-14 algebraic: white: [Kd2, Qg3, Re1, Be6] black: [Kd4, Bd3, Pd5, Pb5] stipulation: "#2" solution: | "1...Bf1/Be4/Bf5/Bg6/Bh7/Bc2/Bb1 2.Qc3# 1...Bc4 2.Qg1#/Qe3#/Qf2# 1.Qg7+?? 1...Kc4 2.Qc3# but 1...Kc5! 1.Qe5+?? 1...Kc4 2.Qc3# but 1...Kc5! 1.Rc1?? (2.Qe3#) 1...Be4 2.Qg7#/Qc3# but 1...Bc2! 1.Re4+! 1...Kxe4 2.Qe3# 1...Kc5 2.Qc7# 1...dxe4 2.Qd6# 1...Bxe4 2.Qc3#" keywords: - Checking key - Flight giving and taking key - Active sacrifice - Defences on same square --- authors: - Loyd, Samuel source: New York Chess Association date: 1892-02-22 algebraic: white: [Kd3, Qa6, Re5, Rd7, Bg4, Sb6] black: [Kc6, Rc7, Ba8, Sg1, Sf5] stipulation: "#2" solution: | "1.Re5-a5 ! zugzwang. 1...Sg1-h3 2.Bg4-f3 # 1...Sg1-f3 2.Bg4*f3 # 1...Sg1-e2 2.Bg4-f3 # 1...Sf5-d4 2.Sb6-a4 # 2.Sb6-c4 # 2.Sb6-d5 # 2.Sb6-c8 # 2.Sb6*a8 # 1...Sf5-e3 2.Sb6-a4 # 2.Sb6-c4 # 2.Sb6-d5 # 2.Sb6-c8 # 2.Sb6*a8 # 1...Sf5-g3 2.Sb6-a4 # 2.Sb6-c4 # 2.Sb6-d5 # 2.Sb6-c8 # 2.Sb6*a8 # 1...Sf5-h4 2.Sb6-a4 # 2.Sb6-c4 # 2.Sb6-d5 # 2.Sb6-c8 # 2.Sb6*a8 # 1...Sf5-h6 2.Sb6-a4 # 2.Sb6-c4 # 2.Sb6-d5 # 2.Sb6-c8 # 2.Sb6*a8 # 1...Sf5-g7 2.Sb6-a4 # 2.Sb6-c4 # 2.Sb6-d5 # 2.Sb6-c8 # 2.Sb6*a8 # 1...Sf5-e7 2.Sb6-a4 # 2.Sb6-c4 # 2.Sb6-d5 # 2.Sb6-c8 # 2.Sb6*a8 # 1...Sf5-d6 2.Sb6-a4 # 2.Sb6-c4 # 2.Sb6-d5 # 2.Sb6-c8 # 2.Sb6*a8 # 1...Rc7-a7 2.Qa6-b5 # 1...Rc7-b7 2.Qa6-b5 # 1...Rc7-c8 2.Qa6-b5 # 1...Rc7*d7 + 2.Sb6-d5 # 1...Ba8-b7 2.Qa6-b5 #" keywords: - Black correction - No pawns comments: - also in The Philadelphia Times (no. 1196), 27 March 1892 --- authors: - Loyd, Samuel source: Lynn News source-id: 74 date: 1859-08-24 algebraic: white: [Kd3, Qf4, Rg8, Sf1, Pd6] black: [Kh4, Rh7, Rh1, Se3, Pg4] stipulation: "#2" solution: | "1.Kd3-e2 ! zugzwang. 1...Rh1*f1 2.Qf4-h2 # 1...Rh1-g1 2.Qf4-h2 # 1...Rh1-h3 2.Qf4-g5 # 1...Rh1-h2 + 2.Qf4*h2 # 1...Se3-c2 2.Qf4*g4 # 1...Se3-d1 2.Qf4*g4 # 1...Se3*f1 2.Qf4*g4 # 1...Se3-g2 2.Qf4*g4 # 1...Se3-f5 2.Qf4*g4 # 1...Se3-d5 2.Qf4*g4 # 1...Se3-c4 2.Qf4*g4 # 1...Kh4-h3 2.Qf4-g3 # 1...Kh4-h5 2.Qf4-g5 # 1...Rh7-h5 2.Qf4-g3 # 1...Rh7-h6 2.Qf4*h6 # 1...Rh7-a7 2.Qf4-h6 # 1...Rh7-b7 2.Qf4-h6 # 1...Rh7-c7 2.Qf4-h6 # 1...Rh7-d7 2.Qf4-h6 # 1...Rh7-e7 2.Qf4-h6 # 1...Rh7-f7 2.Qf4-h6 # 1...Rh7-g7 2.Qf4-h6 # 1...Rh7-h8 2.Rg8*h8 #" keywords: - Black correction - Transferred mates - Block comments: - also in The Philadelphia Times (no. 886), 24 February 1889 --- authors: - Loyd, Samuel source: Sam Loyd und seine Schachaufgaben date: 1926 algebraic: white: [Kd4, Qd1, Rb8, Rb6, Bg3, Pf6] black: [Kd7, Bd5, Pf7, Pb7] stipulation: "#2" solution: | "1...Be4[a] 2.Kxe4#[A] 1...Bg2[b]/Bh1[b]/Bc6[e] 2.Qg4#[B] 1...Be6[c]/Ba2[d] 2.Qa4#[C] 1...Bc4 2.Kxc4# 1.Qh5? (2.Qxd5#) 1...Be4[a] 2.Qxf7#[E] 1...Bg2[b] 2.Qf5#[F]/Qg4#[B]/Qxf7#[E] 1...Bh1[b]/Bc6[e] 2.Qh3#/Qf5#[F]/Qg4#[B]/Qxf7#[E] 1...Be6[c]/Bb3/Ba2[d] 2.Qb5#[D] 1...Bf3 2.Qf5#[F]/Qxf7#[E] but 1...Bc4! 1.Qe2?? (2.Qe7#/Qe8#) 1...Be6[c] 2.Qb5#[D] but 1...Be4[a]! 1.Qc2?? (2.Qc7#/Qc8#/Rd6#) 1...Bc6[e] 2.Qf5#[F] but 1...Bc4! 1.Qd3! zz 1...Be4[a] 2.Kxe4#[A] 1...Bf3/Bg2[b]/Bh1[b]/Bc6[e] 2.Qf5#[F] 1...Be6[c]/Bb3/Ba2[d] 2.Qb5#[D] 1...Bc4 2.Kxc4#" keywords: - Changed mates --- authors: - Loyd, Samuel source: Detroit Free Press source-id: 96 date: 1876-09-02 algebraic: white: [Ke1, Qf7, Rc6, Ra3, Bf2, Sh7, Ph3] black: [Ke4, Pe5, Pd4, Pc3, Pa4] stipulation: "#2" solution: | "1.Qf7-b7 ! zugzwang. 1...c3-c2 2.Rc6-f6 # 1...d4-d3 2.Rc6-f6 # 1...Ke4-d3 2.Qb7-b1 # 1...Ke4-f3 2.Rc6-f6 # 1...Ke4-f5 2.Rc6-f6 # 1...Ke4-d5 2.Sh7-f6 # 1...Ke4-f4 2.Rc6-f6 #" keywords: - 3+ flights giving key - King star flight - King Y-flight --- authors: - Loyd, Samuel source: Philadelphia Progress date: 1878 algebraic: white: [Ke1, Qg4, Rh6, Rd6, Ba2, Sh3, Sg3, Pf2, Pe6, Pd2, Pc5, Pb4] black: [Ke5, Bd3, Sf6, Sd5] stipulation: "#2" solution: | "1...Nxg4/Ng8/Nh5/Nh7/Ne4/Ne8/Nd7 2.Rxd5#[A] 1...Be2/Bf1/Bf5/Bg6/Bh7/Bc2/Bb1/Bc4/Bb5/Ba6 2.d4#[B] 1...Ne3/Ne7/Nc3/Nc7/Nxb4/Nb6 2.f4#/Qf4#[C]/Qd4# 1...Nf4 2.Qxf4#[C] 1.b5? zz 1...Nxg4/Ng8/Nh5/Nh7/Ne4/Ne8/Nd7 2.Rxd5#[A] 1...Be2/Bf1/Bf5/Bg6/Bh7/Bc2/Bb1/Bc4/Bxb5 2.d4#[B] 1...Ne3/Ne7/Nc3/Nc7/Nb4/Nb6 2.f4#/Qf4#[C]/Qd4# 1...Nf4 2.Qxf4#[C] but 1...Be4! 1.Nf5? zz 1...Ng8/Nh5/Nh7/Ne4/Ne8/Nd7 2.Rxd5#[A] 1...Ne3/Ne7/Nf4/Nc3/Nc7/Nxb4/Nb6 2.Qf4#[C] 1...Be2/Bf1/Be4/Bxf5/Bc2/Bb1/Bc4/Bb5/Ba6 2.d4#[B] but 1...Nxg4! 1.Ne2? zz 1...Ng8/Nh5/Nh7/Ne4/Ne8/Nd7 2.Rxd5#[A] 1...Ne3/Ne7/Nf4/Nc3/Nc7/Nxb4/Nb6 2.Qf4#[C] 1...Bxe2/Be4/Bg6/Bh7/Bc2/Bb1/Bc4/Bb5/Ba6 2.d4#[B] 1...Bf5 2.d4#[B]/Qd4# but 1...Nxg4! 1.Bb3? zz 1...Be2/Bf1/Bf5/Bg6/Bh7/Bc2/Bb1/Bc4/Bb5/Ba6 2.d4#[B] 1...Ne3/Ne7/Nc3/Nc7/Nxb4/Nb6 2.f4#/Qf4#[C]/Qd4# 1...Nf4 2.Qxf4#[C] 1...Nxg4/Ng8/Nh5/Nh7/Ne4/Ne8/Nd7 2.Rxd5#[A] but 1...Be4! 1.Bc4? zz 1...Be2/Bf1/Bf5/Bg6/Bh7/Bc2/Bb1/Bxc4 2.d4#[B] 1...Ne3/Ne7/Nc3/Nc7/Nxb4/Nb6 2.f4#/Qf4#[C]/Qd4# 1...Nf4 2.Qxf4#[C] 1...Nxg4/Ng8/Nh5/Nh7/Ne4/Ne8/Nd7 2.Rxd5#[A] but 1...Be4! 1.Rg6? zz 1...Be2/Bf1/Bc4/Bb5/Ba6 2.d4#[B]/Rg5# 1...Bf5/Bxg6/Bc2/Bb1 2.d4#[B] 1...Ne3/Ne7/Nc3/Nc7/Nxb4/Nb6 2.f4#/Qf4#[C]/Qd4# 1...Nf4 2.Qxf4#[C] 1...Nxg4/Ng8/Nh5/Nh7/Ne4/Ne8/Nd7 2.Rxd5#[A] but 1...Be4! 1.Qh4? zz 1...Ng4/Ng8/Nh5/Nh7/Ne4/Ne8/Nd7 2.Rxd5#[A] 1...Ne3/Ne7/Nc3/Nc7/Nxb4/Nb6 2.Qf4#[C]/Qd4#/Qxf6#/f4# 1...Nf4 2.Qxf4#[C]/Qxf6# 1...Be2/Bf1/Bf5/Bg6/Bh7/Bc2/Bb1/Bc4/Bb5/Ba6 2.d4#[B] but 1...Be4! 1.e7? (2.Re6#) 1...Nxg4/Ne4 2.Rxd5#[A] 1...Bf5 2.d4#[B] 1...Nf4 2.Qxf4#[C] 1...Nc7 2.f4#/Qf4#[C]/Qd4# but 1...Be4! 1.f3? zz 1...Be2/Bf1/Bf5/Bg6/Bh7/Bc2/Bb1/Bc4/Bb5/Ba6 2.d4#[B] 1...Ne3/Ne7/Nc3/Nc7/Nxb4/Nb6 2.f4#/Qf4#[C]/Qd4# 1...Nf4 2.Qxf4#[C] 1...Nxg4/Ng8/Nh5/Nh7/Ne4/Ne8/Nd7 2.Rxd5#[A] but 1...Be4! 1.Rh5+?? 1...Bf5 2.d4#[B]/Rxf5# but 1...Nxh5! 1.Qg5+?? 1...Kd4 2.Qe3#/Qxf6# but 1...Bf5! 1.Qe4+?? 1...Nxe4 2.Rxd5#[A] but 1...Bxe4! 1.Qc4?? zz 1...Be2/Bf1/Be4/Bf5/Bg6/Bh7/Bc2/Bb1 2.d4#[B] 1...Ng4/Ng8/Nh5/Nh7/Ne4/Ne8/Nd7 2.Rxd5#[A]/Qxd5# 1...Ne3/Ne7/Nc3/Nc7/Nxb4/Nb6 2.Qc3#/Qd4#/Qf4#[C]/f4# 1...Nf4 2.Qc3#/Qd4#/Qxf4#[C] but 1...Bxc4! 1.Qf5+?? 1...Kd4 2.Qxf6# but 1...Bxf5! 1.f4+?? 1...Nxf4 2.Qxf4#[C] but 1...Kd4! 1.Qd1! zz 1...Kd4/Nf4 2.Qa1# 1...Ng4/Ng8/Nh5/Nh7/Ne4/Ne8/Nd7 2.Rxd5#[A] 1...Ne3/Ne7/Nc7/Nxb4/Nb6 2.Qa1#/f4# 1...Nc3 2.f4# 1...Be2/Bf1/Be4/Bf5/Bg6/Bh7/Bc2/Bb1/Bc4/Bb5/Ba6 2.d4#[B]" keywords: - Flight giving key - Transferred mates --- authors: - Loyd, Samuel source: Chess Monthly source-id: 35 date: 1857-08 algebraic: white: [Ke1, Qh8, Rh5, Rf6, Bh4, Be6, Sh6, Sf5, Pg6, Pg3, Pd6, Pc6, Pc2, Pb3] black: [Ke5, Qa7, Bh3, Pg4, Pe4, Pe3, Pe2] stipulation: "#2" solution: | "1...Bg2/Bf1 2.Nxg4# 1...Qa6/Qa4/Qa3/Qa2/Qa8/Qf7/Qb6/Qc5/Qd4/Qb8 2.Nf7# 1.Ne7+?? 1...Kd4 2.Rff5#/Rf4#/Rf3#/Rf2#/Rf1#/Rf7#/Rf8# but 1...Kxd6! 1.Nd4+?? 1...Kxd4 2.Rf7# but 1...Kxd6! 1.Qa8! zz 1...Bg2/Bf1 2.Nxg4# 1...Qa6/Qa4/Qa3/Qa2/Qxa8/Qb6/Qc5/Qd4 2.Nf7# 1...Qa5+ 2.Qxa5# 1...Qa1+/Qb7/Qc7 2.Qxa1# 1...Qd7/Qe7/Qg7/Qh7 2.Qa5#/Qa1# 1...Qf7 2.Qa5#/Qa1#/Nxf7# 1...Qb8 2.Qa1#/Nf7#" --- authors: - Loyd, Samuel source: Chicago Times date: 1879 algebraic: white: [Ke3, Qf2, Rg2, Rf6, Sa6, Pc6] black: [Ke5, Pe7, Pe6] stipulation: "#2" solution: | "1.Nb4?? (2.Qf4#) but 1...Kd6! 1.Nc7?? (2.Qf4#/Rxe6#) 1...exf6 2.Qf4# but 1...Kd6! 1.Kd3?? (2.Qd4#) 1...Kd5/Kd6 2.Qc5# but 1...exf6! 1.Qf5+?? 1...Kd6 2.Qc5#/Qxe6#/Rxe6# but 1...exf5! 1.Qc2?? zz 1...Kd5/Kd6/exf6 2.Qc5# but 1...Kxf6! 1.Qg3+?? 1...Kxf6 2.Rf2#/Qf4# but 1...Kd5! 1.Rxe6+?? 1...Kd5 2.Qa2# but 1...Kxe6! 1.Kf3! zz 1...Kd5/Kd6/exf6 2.Qc5# 1...Kxf6 2.Ke4#" keywords: - Flight giving key --- authors: - Loyd, Samuel source: Sam Loyd und seine Schachaufgaben date: 1926 algebraic: white: [Ke3, Qh8, Rh2, Sg4, Sf4, Pf3] black: [Kg1, Bh7, Ph6, Pf6] stipulation: "#2" solution: | "1...Kf1 2.Rh1# 1...f5 2.Qa1# 1.Qxh7?? (2.Qb1#) but 1...f5! 1.Nf2?? (2.Rh1#) but 1...Kxh2! 1.Ke2?? (2.Nh3#) but 1...Bd3+! 1.Rg2+?? 1...Kh1 2.Nf2# but 1...Kf1! 1.Rxh6! zz 1...Kf1/Bg6/Bf5/Be4/Bd3/Bc2/Bb1/Bg8 2.Rh1# 1...f5 2.Qa1#" --- authors: - Loyd, Samuel source: Detroit Free Press source-id: 1169 date: 1881-11-19 algebraic: white: [Ke5, Qh2, Rh3] black: [Kg5, Bh5, Ph6] stipulation: "#2" solution: | "1.Qh2-a2 ! zugzwang. 1...Kg5-g4 2.Qa2-g2 # 1...Kg5-g6 2.Qa2-g8 # 1...Bh5-d1 2.Qa2-g8 # 1...Bh5-e2 2.Qa2-g8 # 1...Bh5-f3 2.Qa2-g8 # 1...Bh5-g4 2.Qa2-g8 # 1...Bh5-e8 2.Qa2-g2 # 1...Bh5-f7 2.Qa2-g2 # 1...Bh5-g6 2.Qa2-g2 #" --- authors: - Loyd, Samuel source: The Musical World source-id: 48 date: 1859-09 algebraic: white: [Ke7, Rg4, Bh6, Sd6] black: [Ke5, Sh5, Se1, Pd5] stipulation: "#2" solution: | "1...Ng3/Ng7/Nf4 2.Bg7# 1.Be3?? (2.Bd4#/Rg5#) 1...d4/Nc2/Nf4 2.Rg5# 1...Ng3/Ng7 2.Bd4# but 1...Nf3! 1.Bg7+?? 1...Nf6 2.Bxf6# but 1...Nxg7! 1.Rf4! (2.Nf7#) 1...d4 2.Rf5# 1...Nxf4 2.Bg7#" keywords: - Active sacrifice --- authors: - Loyd, Samuel source: Providence Journal date: 1890 algebraic: white: [Ke8, Qa1, Se6, Se5] black: [Ke4, Bf5, Be3, Sc8, Pf3, Pd5, Pd3] stipulation: "#2" solution: | "1...Bf4/Bg5/Bh6/Bd2/Bc1/Bd4 2.Qd4# 1.Nf7! (2.Qe5#) 1...Bf4/Bd4 2.Qd4# 1...Nd6+ 2.Nxd6# 1...d2 2.Qb1# 1...d4 2.Qa8# 1...f2 2.Qh1#" --- authors: - Loyd, Samuel source: Philadelphia Evening Bulletin date: 1859 algebraic: white: [Kf1, Qa1, Rd6, Rb2, Sf5, Pg4, Pg3, Pb7] black: [Kh1, Qb8, Pe6, Pd7] stipulation: "#2" solution: | "1...Qa8 2.bxa8Q#/bxa8B# 1...exf5/e5 2.Rh6# 1.Qa2?? (2.Rh2#) but 1...Qh8! 1.Qa3?? (2.Qf3#) but 1...Qxb7! 1.Qa4?? (2.Qe4#) 1...exf5 2.Rh6# but 1...Qxb7! 1.Qa7?? (2.Qg1#) but 1...Qxa7! 1.Qb1?? (2.Qe4#) 1...exf5 2.Rh6# but 1...Qxb7! 1.Qd1?? (2.Qf3#) but 1...Qxb7! 1.Qe1?? (2.Qe4#) 1...exf5 2.Rh6# but 1...Qxb7! 1.Rf2?? (2.Ke2#) 1...Qxb7/Qh8/Qc7/Qxd6/Qa7 2.Qh8# 1...Qa8 2.bxa8Q#/bxa8B# but 1...Qc8! 1.Qa8! zz 1...exf5/e5 2.Rh6# 1...Qxb7 2.Qh8#/Qxb7# 1...Qxa8 2.bxa8Q#/bxa8B# 1...Qc8 2.bxc8Q#/bxc8R#/bxc8B#/bxc8N# 1...Qd8/Qe8/Qf8/Qg8 2.b8Q#/b8R#/b8B#/b8N# 1...Qh8 2.Qxh8#/b8Q#/b8R#/b8B#/b8N# 1...Qc7/Qxd6/Qa7 2.Qh8#" --- authors: - Loyd, Samuel source: Chess Monthly date: 1857 distinction: 1st Prize algebraic: white: [Kf2, Qh5, Sg3, Ph6, Ph4, Pd3] black: [Kf4, Rg8, Rf8, Bh8, Be8, Pg4, Pf3, Pd4, Pc6] stipulation: "#2" solution: | "1...Bg7/Rg5/Bg6 2.Qg5# 1...Bf6/Rf5/Bf7 2.Qf5# 1.Qd5?? (2.Qe4#) 1...Bg6 2.Qg5# but 1...cxd5! 1.Qc5! zz 1...Bg7/Bg6/Rg5 2.Qg5# 1...Bf6/Bf7/Rf5 2.Qf5# 1...Be5 2.Qc1# 1...Bh5/Bd7/Rg6/Rf7 2.Nxh5# 1...Rg7 2.Qxd4#/Qd6# 1...Rf6 2.Qxd4#" keywords: - Black correction - Grimshaw --- authors: - Loyd, Samuel source: Albion (New York) source-id: 497 date: 1858-07-17 algebraic: white: [Kf6, Qa4, Bd7, Sc4, Sc2, Pf3, Pe5, Pc7] black: [Kd5, Qb7, Rd3, Bb8, Ba2, Sb5, Pf4, Pe3, Pc5, Pc3] stipulation: "#2" solution: | "1...Qb6+/Qc8/Qa8 2.Nxb6# 1...Nd6/Na3/Na7 2.Be6# 1.Qxa2?? (2.N4xe3#/Nb6#) 1...Qb6+/Qa6+ 2.Nxb6# but 1...Qc6+! 1.N4xe3+?? 1...fxe3 2.Qe4# but 1...Rxe3! 1.Qa8! (2.Nb6#) 1...Kxc4 2.Qxa2# 1...Bxc4 2.Qxb7# 1...Qc6+ 2.Be6# 1...Bxc7/Ba7 2.Qg8#" keywords: - Flight giving key --- authors: - Loyd, Samuel source: Huddersfield College Magazine date: 1878-11 algebraic: white: [Kf7, Qa4, Re3, Bd1, Se6, Sd3, Pc5] black: [Kd5, Bd8, Ba2, Sg2, Pf5, Pe4, Pd2, Pc7] stipulation: "#2" solution: | "1...Nh4/Nf4/Ne1/Nxe3 2.Nef4# 1...f4 2.Qxe4# 1...Bb1/Bb3 2.Bb3# 1...Bc4 2.Qd7# 1...Be7/Bf6/Bg5/Bh4 2.Nxc7# 1...c6 2.Qxa2#/Qd4# 1...exd3 2.Bf3# 1.Kf8?? zz 1...Kxe6 2.Qc6# 1...f4 2.Qxe4# 1...Nh4/Nf4/Ne1/Nxe3 2.Nef4# 1...Bf6/Bg5/Bh4 2.Nxc7# 1...c6 2.Qxa2# 1...Bb1/Bb3 2.Bb3# 1...Bc4 2.Qd7# 1...exd3 2.Bf3# but 1...Be7+! 1.Kg8?? zz 1...Nh4/Nf4/Ne1/Nxe3 2.Nef4# 1...f4 2.Qxe4# 1...Bb1/Bb3 2.Bb3# 1...Bc4 2.Qd7# 1...exd3 2.Bf3# 1...Be7/Bf6/Bg5/Bh4 2.Nxc7# 1...c6 2.Qxa2# but 1...Kxe6! 1.Ne5?? (2.Qd4#) but 1...Bc4! 1.Ndf4+?? 1...Ke5 2.Qd4# but 1...Nxf4! 1.Nb4+?? 1...Kc4 2.Be2# but 1...Ke5! 1.Qa8+?? 1...c6 2.Qxa2# but 1...Kc4! 1.Qb3+?? 1...Kc6 2.Ne5# but 1...Bxb3! 1.Rxe4?? (2.Re5#/Rd4#) 1...Bf6 2.Nxc7# but 1...fxe4! 1.Rf3?? (2.Rxf5#) 1...Nh4/Nf4/Ne3 2.Nef4# 1...Bf6 2.Nxc7# 1...exf3 2.Bxf3# but 1...f4! 1.Ke8! zz 1...Kxe6 2.Qc6# 1...Nh4/Nf4/Ne1/Nxe3 2.Nef4# 1...f4 2.Qxe4# 1...Bb1/Bb3 2.Bb3# 1...Bc4 2.Qd7# 1...c6 2.Qxa2# 1...Be7/Bf6/Bg5/Bh4 2.Nxc7# 1...exd3 2.Bf3#" keywords: - Flight giving key - Black correction - Block --- authors: - Loyd, Samuel source: American Chronicle date: 1868 algebraic: white: [Kf8, Qg2, Bc7, Sh7, Sf6, Pd7] black: [Ke6, Rd4, Sg7] stipulation: "#2" solution: | "1...Nf5 2.Qg8# 1...Rd3/Rd2/Rd1/Rd6/Rxd7/Re4 2.Qe4# 1...Rd5/Rc4/Rb4/Ra4/Rf4/Rg4/Rh4 2.Qxd5# 1.d8N+?? 1...Kf5 2.Qg5# but 1...Rxd8+! 1.Qg4+?? 1...Nf5 2.Qg8# but 1...Rxg4! 1.Qg5?? (2.Qe5#) 1...Nf5 2.Qg8# 1...Rd5 2.Qxd5# 1...Re4 2.Qd5#/d8N# but 1...Rd6! 1.Qg6?? (2.Ng5#) 1...Rd6 2.Qe4# 1...Rg4 2.d8N# but 1...Rd5! 1.Qe2+?? 1...Re4 2.Qxe4# but 1...Kf5! 1.Qf3?? (2.Ng5#) 1...Rd5/Rf4 2.Qxd5# 1...Rd6 2.Qe4# 1...Rg4 2.Qd5#/d8N# but 1...Nf5! 1.Qc6+?? 1...Rd6 2.Qe4# but 1...Kf5! 1.Bf4! zz 1...Kf5 2.Qg4# 1...Nh5/Ne8 2.Qg4#/Qh3# 1...Nf5 2.Qg8# 1...Rd3/Rd2/Rd1/Rd6/Rxd7/Re4 2.Qe4# 1...Rd5/Rc4/Rb4/Ra4/Rxf4 2.Qxd5#" keywords: - Active sacrifice - Black correction --- authors: - Loyd, Samuel source: The Gambit source-id: 6 date: 1859-10-22 algebraic: white: [Kf8, Qh3, Se3] black: [Kg1, Qf1, Rg2, Pg3, Pf2] stipulation: "#2" solution: | "1.Kf8-e7 ! zugzwang. 1...Qf1-a6 2.Qh3*g2 # 1...Qf1-b5 2.Qh3*g2 # 1...Qf1-c4 2.Qh3*g2 # 1...Qf1-d3 2.Qh3*g2 # 1...Qf1-e2 2.Qh3*g2 # 1...Qf1-a1 2.Qh3*g2 # 1...Qf1-b1 2.Qh3*g2 # 1...Qf1-c1 2.Qh3*g2 # 1...Qf1-d1 2.Qh3*g2 # 1...Qf1-e1 2.Qh3*g2 # 1...Rg2-h2 2.Qh3*f1 #" keywords: - Block comments: - also in The Philadelphia Times (no. 2126), 8 December 1901 --- authors: - Loyd, Samuel source: The Gambit date: 1859-11 algebraic: white: [Kg1, Qd4, Sc2] black: [Kc1, Re1, Ra1, Bf1, Pg2, Pe2, Pa2] stipulation: "#2" solution: | "1.Na3[A]? zz 1...Rd1[a] 2.Qc3#[B] but 1...Rb1! 1.Qc3[B]! zz 1...Kb1/Rd1[a] 2.Na3#[A] 1...Kd1/Rb1 2.Ne3#" keywords: - Flight giving and taking key - Reversal --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 2-moves / 308 date: 1868 algebraic: white: [Kg3, Rg7, Rc2, Bh8, Bb1] black: [Kd4, Pg4, Pd6, Pd5] stipulation: "#2" solution: | "1.Rc2-b2 ! zugzwang. 1...Kd4-c3 2.Rg7-c7 # 1...Kd4-e3 2.Rg7-e7 # 1...Kd4-e5 2.Rg7-g6 # 2.Rg7-e7 # 1...Kd4-c5 2.Rg7-c7 # 1...Kd4-c4 2.Rg7-c7 #" keywords: - Flight giving key - Flight giving and taking key - King star flight - King Y-flight comments: - also in The New York Mail and Express, before 1884 - also in The Philadelphia Times (no. 425), 9 March 1884 - also in The Louisville Courier-Journal (no. 4), 15 February 1891 --- authors: - Loyd, Samuel source: Baltimore Dispatch source-id: 46 date: 1859-05-14 algebraic: white: [Kg3, Qh6, Bb3, Sg4] black: [Kf5, Rf8, Be8, Sh8, Pe6, Pe4, Pd5] stipulation: "#2" solution: | "1.Bb3-a2 ! zugzwang. 1...e4-e3 2.Ba2-b1 # 1...d5-d4 2.Ba2*e6 # 1...e6-e5 2.Sg4-e3 # 1...Be8-a4 2.Qh6-h5 # 1...Be8-b5 2.Qh6-h5 # 1...Be8-c6 2.Qh6-h5 # 1...Be8-d7 2.Qh6-h5 # 1...Be8-h5 2.Qh6*h5 # 1...Be8-g6 2.Qh6-f4 # 1...Be8-f7 2.Qh6-f6 # 1...Rf8-f6 2.Qh6*f6 # 1...Rf8-f7 2.Qh6-h5 # 1...Rf8-g8 2.Qh6-f6 # 1...Sh8-f7 2.Qh6-f6 # 1...Sh8-g6 2.Qh6-h5 #" keywords: - Black correction - Grimshaw - Mutate comments: - also in The Philadelphia Times (no. 1104), 19 April 1891 --- authors: - Loyd, Samuel source: Detroit Free Press source-id: 377 date: 1877-10-13 algebraic: white: [Kg7, Qd2, Rf1, Rb1, Bd6, Sd4, Sd3] black: [Kd5] stipulation: "#2" solution: | "1.Sd4-f5 ! zugzwang. 1...Kd5-c4 2.Sd3-e5 # 1...Kd5-e4 2.Sd3-c5 # 1...Kd5-e6 2.Sd3-c5 # 1...Kd5-c6 2.Sd3-e5 #" keywords: - Flight giving and taking key - King star flight - Changed mates - No pawns --- authors: - Loyd, Samuel source: The Musical World source-id: v 24 date: 1858-06 algebraic: white: [Kg7, Qc4, Rf6, Bg6, Bd6, Sh3, Pf3] black: [Ke3, Bd2, Se1, Sc3, Pb6] stipulation: "#2" solution: | "1...Nxf3 2.Bf4#/Qd3#[A] 1...Ng2/Nd3/Nc2 2.Qd3#[A] 1...b5 2.Bc5# 1...Nd1/Nd5/Ne2/Ne4/Nb1/Nb5/Na2/Na4 2.Qe4#[B] 1.Be5? (2.Bd4#) 1...Nxf3 2.Bf4#/Qd3#[A] 1...Nd3/Nc2 2.Qxd3#[A] 1...Ne2/Nb5 2.Qe4#[B] but 1...Bc1! 1.Bg3? (2.Bf2#) 1...Nd3 2.Qxd3#[A] 1...Nd1/Ne4 2.Qe4#[B] but 1...Bc1! 1.Bh2? (2.Bg1#) 1...Nxf3 2.Bf4#/Qd3#[A] 1...Nd3 2.Qxd3#[A] 1...Nd1/Ne2/Ne4 2.Qe4#[B] but 1...Bc1! 1.Be7? zz 1...Nxf3/Ng2/Nd3/Nc2 2.Qd3#[A] 1...b5 2.Bc5# 1...Nd1/Nd5/Ne2/Ne4/Nb1/Nb5/Na2/Na4 2.Qe4#[B] but 1...Bc1! 1.Bf8? zz 1...Nxf3/Ng2/Nd3/Nc2 2.Qd3#[A] 1...b5 2.Bc5# 1...Nd1/Nd5/Ne2/Ne4/Nb1/Nb5/Na2/Na4 2.Qe4#[B] but 1...Bc1! 1.Bb4? zz 1...Nxf3/Ng2/Nd3/Nc2 2.Qd3#[A] 1...Nd1/Nd5/Ne2/Ne4/Nb1/Nb5/Na2/Na4 2.Qe4#[B] 1...b5 2.Bc5# but 1...Bc1! 1.Bc7? (2.Bxb6#) 1...Nxf3 2.Bf4#/Qd3#[A] 1...Nd3/Nc2 2.Qxd3#[A] 1...Nd5/Ne2/Ne4/Nb5/Na4 2.Qe4#[B] but 1...Bc1! 1.Bb8? zz 1...Nxf3 2.Bf4#/Qd3#[A] 1...Ng2/Nd3/Nc2 2.Qd3#[A] 1...Nd1/Nd5/Ne2/Ne4/Nb1/Nb5/Na2/Na4 2.Qe4#[B] 1...b5 2.Ba7# but 1...Bc1! 1.Kg8?? zz 1...b5 2.Bc5# 1...Nxf3 2.Bf4#/Qd3#[A] 1...Ng2/Nd3/Nc2 2.Qd3#[A] 1...Nd1/Nd5/Ne2/Ne4/Nb1/Nb5/Na2/Na4 2.Qe4#[B] but 1...Bc1! 1.Kf7?? zz 1...b5 2.Bc5# 1...Nxf3 2.Bf4#/Qd3#[A] 1...Ng2/Nd3/Nc2 2.Qd3#[A] 1...Nd1/Nd5/Ne2/Ne4/Nb1/Nb5/Na2/Na4 2.Qe4#[B] but 1...Bc1! 1.Kh7?? zz 1...b5 2.Bc5# 1...Nxf3 2.Bf4#/Qd3#[A] 1...Ng2/Nd3/Nc2 2.Qd3#[A] 1...Nd1/Nd5/Ne2/Ne4/Nb1/Nb5/Na2/Na4 2.Qe4#[B] but 1...Bc1! 1.Kh6?? zz 1...b5 2.Bc5# 1...Nxf3 2.Bf4#/Qd3#[A] 1...Ng2/Nd3/Nc2 2.Qd3#[A] 1...Nd1/Nd5/Ne2/Ne4/Nb1/Nb5/Na2/Na4 2.Qe4#[B] but 1...Bc1! 1.Kh8?? zz 1...b5 2.Bc5# 1...Nxf3 2.Bf4#/Qd3#[A] 1...Ng2/Nd3/Nc2 2.Qd3#[A] 1...Nd1/Nd5/Ne2/Ne4/Nb1/Nb5/Na2/Na4 2.Qe4#[B] but 1...Bc1! 1.Kf8?? zz 1...b5 2.Bc5# 1...Nxf3 2.Bf4#/Qd3#[A] 1...Ng2/Nd3/Nc2 2.Qd3#[A] 1...Nd1/Nd5/Ne2/Ne4/Nb1/Nb5/Na2/Na4 2.Qe4#[B] but 1...Bc1! 1.Rf4?? zz 1...b5 2.Bc5# 1...Nxf3/Ng2/Nd3/Nc2 2.Qd3#[A] 1...Nd1/Ne2/Nb1/Nb5/Na2/Na4 2.Qe4#[B]/Qe6# 1...Nd5/Ne4 2.Qe4#[B] but 1...Bc1! 1.Rf7?? zz 1...b5 2.Bc5# 1...Nxf3 2.Bf4#/Qd3#[A] 1...Ng2/Nd3/Nc2 2.Qd3#[A] 1...Nd1/Nd5/Ne2/Ne4/Nb1/Nb5/Na2/Na4 2.Qe4#[B] but 1...Bc1! 1.Rf8?? zz 1...b5 2.Bc5# 1...Nxf3 2.Bf4#/Qd3#[A] 1...Ng2/Nd3/Nc2 2.Qd3#[A] 1...Nd1/Nd5/Ne2/Ne4/Nb1/Nb5/Na2/Na4 2.Qe4#[B] but 1...Bc1! 1.Re6+?? 1...Ne4 2.Qxe4#[B] but 1...Kxf3! 1.Bh7?? zz 1...b5 2.Bc5# 1...Nd1/Nd5/Ne2/Ne4/Nb1/Nb5/Na2/Na4 2.Qe4#[B] 1...Nxf3 2.Bf4#/Qd3#[A] 1...Ng2/Nd3/Nc2 2.Qd3#[A] but 1...Bc1! 1.Qe6+?? 1...Ne4 2.Qxe4#[B] but 1...Kd4! 1.Ba3! zz 1...Nxf3/Ng2/Nd3/Nc2 2.Qd3#[A] 1...Bc1 2.Bxc1# 1...Nd1/Nd5/Ne2/Ne4/Nb1/Nb5/Na2/Na4 2.Qe4#[B] 1...b5 2.Bc5#" keywords: - Transferred mates --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper source-id: 150 date: 1858-08-21 algebraic: white: [Kg7, Qh3, Rd4, Sf5] black: [Ke5, Bh2, Bf1, Sh1, Pe7, Pe6] stipulation: "#2" solution: | "1.Qh3-h8 ! threat: 2.Kg7-g6 # 1...Ke5*f5 2.Qh8-h5 # 1...e6*f5 2.Kg7-f7 #" keywords: - Flight giving key --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 2-moves / 302 date: 1868 algebraic: white: [Kh1, Qb8, Rd1, Bh6, Sg1, Sf3, Ph2, Pd3] black: [Kf2, Rb4, Be5, Sa6, Ph4] stipulation: "#2" solution: | "1...Bxh2 2.Qxh2# 1...Rd4 2.Qb2# 1.Qxb4?? (2.Qd2#/Qe1#) 1...Bf4/Bxh2 2.Qe1# 1...Bc3 2.Qxh4# but 1...Nxb4! 1.Qxe5?? (2.Be3#/Qe3#/Qe2#/Qe1#) 1...Rb2 2.Qe3#/Qe1#/Qd4#/Qxb2#/Be3# 1...Rf4 2.Qe2#/Qe1# but 1...Re4! 1.Nd4! (2.Nh3#) 1...Rxd4 2.Qb2# 1...Bf4/Bxd4 2.Qxf4#" keywords: - Novotny --- authors: - Loyd, Samuel source: The Musical World source-id: 58 date: 1859-10-08 algebraic: white: [Kh1, Qe8, Pg5, Pg4, Pf7, Pe7] black: [Kg6, Qa2, Rg7, Bf1, Sg2, Ph4, Pf4] stipulation: "#2" solution: | "1...Rg8 2.Qxg8#/fxg8Q# 1.f8Q+?? 1...Kxg5 2.Qxg7#/Qh5# 1...Kh7 2.Qh8#/Qh5# 1...Rf7 2.Qg8#/Qh6# but 1...Qf7! 1.Qh8! (2.Qh5#) 1...Kxg5 2.Qxg7# 1...Kxf7 2.e8Q# 1...Rg8 2.Qxg8# 1...Rxf7 2.Qh6# 1...Rh7 2.Qf6#" keywords: - Flight giving and taking key - Black correction - Model mates --- authors: - Loyd, Samuel source: Hartford Globe date: 1878 algebraic: white: [Kh3, Qe1, Rb3, Bb5, Sc2, Sb1] black: [Ka2, Rc4, Ph4] stipulation: "#2" solution: | "1.Nd4?? zz 1...Ka1/Rc3+/Rb4/Ra4 2.Nc3# 1...Rc2/Rc1/Rc5/Rc6/Rc7/Rc8 2.Qa5# but 1...Rxd4! 1.Qc3?? (2.Qb2#/Rb2#) 1...Rb4 2.Nxb4#/Qb2# but 1...Rxc3+! 1.Qb4?? (2.Rb2#/Ra3#/Qa3#) 1...Rc3+ 2.Nxc3# 1...Rxc2 2.Qa4#/Qa3#/Ra3# but 1...Rxb4! 1.Qa5+?? 1...Ra4 2.Qxa4# but 1...Kxb3! 1.Nd2?? (2.Qb1#/Qa1#) 1...Rxc2 2.Qb1# but 1...Rc3+! 1.Na1! zz 1...Kxa1/Rc3+/Rb4/Ra4/Rd4/Re4/Rf4/Rg4 2.Nc3# 1...Rc2/Rc1/Rc5/Rc6/Rc7/Rc8 2.Qa5#" keywords: - Flight giving and taking key --- authors: - Loyd, Samuel source: New York State Chess Association date: 1892-02-22 algebraic: white: [Kh3, Qb2, Rg5, Bh6, Se6, Se5] black: [Ke3, Rg8, Pg7] stipulation: "#2" solution: | "1.Qb2-a1 ! threat: 2.Qa1-e1 # 1...Ke3-d2 2.Rg5-g2 # 1...Ke3-f2 2.Rg5-g2 # 1...Ke3-e2 2.Rg5-g2 # 1...Ke3-e4 2.Qa1-d4 #" keywords: - 3+ flights giving key - King Y-flight comments: - also in The Philadelphia Times (no. 1195), 27 March 1892 --- authors: - Loyd, Samuel source: Sam Loyd und seine Schachaufgaben source-id: 198 date: 1926 algebraic: white: [Kh4, Qg2, Rf6, Ra3, Bf1, Be1, Sc3, Sc1] black: [Kd4, Ph5, Pe5, Pe4, Pd5, Pd3, Pc5] stipulation: "#2" solution: | "1...Ke3[a] 2.Qg1#[A]/Qf2#[B] 1...d2[b] 2.Qxd2#[C]/Nb5#[D] 1...e3[c] 2.Qxd5#[E] 1...Kc4 2.Ra4# 1.Re6? zz 1...Ke3[a] 2.Qf2#[B] 1...d2[b] 2.Qxd2#[C]/Nb5#[D] 1...e3[c] 2.Qxd5#[E] 1...Kc4 2.Ra4# but 1...c4! 1.Rfa6? zz 1...Ke3[a] 2.Qf2#[B] 1...d2[b] 2.Qxd2#[C]/Nb5#[D] 1...e3[c] 2.Qxd5#[E] 1...Kc4 2.R3a4#/R6a4# but 1...c4! 1.Ra2? zz 1...Ke3[a] 2.Bf2#/Qg1#[A]/Qf2#[B] 1...d2[b] 2.Qxd2#[C] 1...e3[c] 2.Qxd5#[E] 1...Kc4 2.Ra4# but 1...c4! 1.Qg6? zz 1...Ke3[a] 2.Qg1#[A] 1...d2[b] 2.Nb5#[D] 1...e3[c] 2.Qxd3#[G] 1...Kc4 2.Ra4# but 1...c4! 1.Rf5?? zz 1...Ke3[a] 2.Qg1#[A]/Qf2#[B] 1...d2[b] 2.Qxd2#[C]/Nb5#[D] 1...e3[c] 2.Qxd5#[E] 1...Kc4 2.Ra4# but 1...c4! 1.Rf4[F]?? zz 1...Ke3[a] 2.Qf2#[B] 1...d2[b] 2.Bf2#/Nb5#[D]/Qg1#[A]/Qf2#[B]/Qxd2#[C] 1...Kc4 2.Ra4# 1...c4 2.Bf2#/Qg1#[A]/Qf2#[B] but 1...exf4! 1.Rf7?? zz 1...Ke3[a] 2.Qg1#[A]/Qf2#[B] 1...d2[b] 2.Qxd2#[C]/Nb5#[D] 1...e3[c] 2.Qxd5#[E] 1...Kc4 2.Ra4# but 1...c4! 1.Rf8?? zz 1...Ke3[a] 2.Qg1#[A]/Qf2#[B] 1...d2[b] 2.Qxd2#[C]/Nb5#[D] 1...e3[c] 2.Qxd5#[E] 1...Kc4 2.Ra4# but 1...c4! 1.Rd6?? (2.Qxe4#) 1...Ke3[a] 2.Qf2#[B] 1...Kc4 2.Ra4# but 1...c4! 1.Rc6?? zz 1...Ke3[a] 2.Qf2#[B] 1...d2[b] 2.Nb5#[D]/Qxd2#[C] 1...e3[c] 2.Qxd5#[E] 1...Kc4 2.Ra4# but 1...c4! 1.Rb6?? zz 1...Ke3[a] 2.Qf2#[B] 1...d2[b] 2.Qxd2#[C]/Nb5#[D] 1...e3[c] 2.Qxd5#[E] 1...Kc4 2.Ra4# but 1...c4! 1.Rg6?? zz 1...Ke3[a] 2.Qf2#[B] 1...d2[b] 2.Qxd2#[C]/Nb5#[D] 1...e3[c] 2.Qxd5#[E] 1...Kc4 2.Ra4# but 1...c4! 1.Rh6?? zz 1...Ke3[a] 2.Qf2#[B] 1...d2[b] 2.Qxd2#[C]/Nb5#[D] 1...e3[c] 2.Qxd5#[E] 1...Kc4 2.Ra4# but 1...c4! 1.Kxh5?? zz 1...Ke3[a] 2.Qg1#[A]/Qf2#[B] 1...d2[b] 2.Qxd2#[C]/Nb5#[D] 1...e3[c] 2.Qxd5#[E] 1...Kc4 2.Ra4# but 1...c4! 1.Ra1?? zz 1...Ke3[a] 2.Qg1#[A]/Qf2#[B] 1...d2[b] 2.Qxd2#[C] 1...e3[c] 2.Qxd5#[E] 1...Kc4 2.Ra4# but 1...c4! 1.Ra4+?? 1...Ke3[a] 2.Bd2#/Qg1#[A]/Qg3#/Qg5#/Qf2#[B]/Qd2#[C]/Qh3#/Nd1#/Nxd5# but 1...c4! 1.Ra5?? zz 1...Ke3[a] 2.Qg1#[A]/Qf2#[B] 1...d2[b] 2.Qxd2#[C] 1...e3[c] 2.Qxd5#[E] 1...Kc4 2.Ra4# but 1...c4! 1.Raa6?? zz 1...Ke3[a] 2.Qg1#[A]/Qf2#[B] 1...d2[b] 2.Qxd2#[C] 1...e3[c] 2.Qxd5#[E] 1...Kc4 2.Ra4# but 1...c4! 1.Ra7?? zz 1...Ke3[a] 2.Qg1#[A]/Qf2#[B] 1...d2[b] 2.Qxd2#[C] 1...e3[c] 2.Qxd5#[E] 1...Kc4 2.Ra4# but 1...c4! 1.Ra8?? zz 1...Ke3[a] 2.Qg1#[A]/Qf2#[B] 1...d2[b] 2.Qxd2#[C] 1...e3[c] 2.Qxd5#[E] 1...Kc4 2.Ra4# but 1...c4! 1.Nb3+?? 1...Ke3[a] 2.Bf2#/Bd2#/Qg1#[A]/Qg3#/Qg5#/Qf2#[B]/Qd2#[C]/Qh3#/Nd1#/Nxd5# but 1...Kc4! 1.Bf2+?? 1...e3[c] 2.Qxd5#[E] but 1...Kc4! 1.Bd2?? zz 1...e3[c] 2.Qxd5#[E] 1...Kc4 2.Ra4# but 1...c4! 1.Nb5+[D]?? 1...Ke3[a] 2.Bd2#/Qg1#[A]/Qg3#/Qg5#/Qf2#[B]/Qe2#/Qd2#[C]/Qh3# but 1...Kc4! 1.Qg1+[A]?? 1...Kc4 2.Ra4# but 1...e3[c]! 1.Qg4?? zz 1...Ke3[a] 2.Qg1#[A] 1...d2[b] 2.Bf2#/Nb5#[D] 1...Kc4 2.Ra4# 1...c4 2.Bf2# but 1...hxg4! 1.Qg8?? zz 1...Ke3[a] 2.Qg1#[A] 1...d2[b] 2.Nb5#[D] 1...e3[c] 2.Qxd5#[E] 1...Kc4 2.Ra4# but 1...c4! 1.Qf2+[B]?? 1...Kc4 2.Ra4# but 1...e3[c]! 1.Qd2[C]?? zz 1...e3[c] 2.Qxd3#[G] 1...Kc4 2.Ra4# but 1...c4! 1.Qc2?? zz 1...Ke3[a] 2.Bf2#/Qf2#[B] 1...d2[b] 2.N3e2#/Nb5#[D]/Qxd2#[C] 1...e3[c] 2.Qxd3#[G] 1...Kc4 2.Ra4#/Qa4# 1...dxc2 2.Nb5#[D] but 1...c4! 1.Qb2?? zz 1...Ke3[a] 2.Bf2#/Qf2#[B]/Nd1#/Nxd5# 1...d2[b] 2.Qxd2#[C]/Nd1#/Nb1#/Nb5#[D]/N3a2#/Na4# 1...Kc4 2.Ra4# 1...c4 2.Qb6# but 1...e3[c]! 1.Qa2?? zz 1...Ke3[a] 2.Qf2#[B]/Bf2# 1...d2[b] 2.Qxd2#[C]/N3e2#/Nb5#[D] 1...e3[c] 2.Qxd5#[E] but 1...c4! 1.Qh1?? zz 1...Ke3[a] 2.Qg1#[A] 1...d2[b] 2.Nb5#[D] 1...e3[c] 2.Qxd5#[E] 1...Kc4 2.Ra4# but 1...c4! 1.Qg7! zz 1...Ke3[a] 2.Qg1#[A] 1...d2[b] 2.Nb5#[D] 1...e3[c] 2.Rf4#[F] 1...Kc4 2.Ra4# 1...c4 2.Qa7#" keywords: - Changed mates --- authors: - Loyd, Samuel source: New York Commercial Advertiser date: 1897 algebraic: white: [Kh6, Qb7, Rf6, Rc2, Bh8, Bb3, Pg4, Pg3, Pf2] black: [Kd4, Qc6, Sh1, Sa7] stipulation: "#2" solution: | "1.Rc2-c3 ! threat: 2.Rf6-e6 # 1...Kd4*c3 2.Rf6-d6 # 1...Qc6-b5 2.Rf6-f4 # 2.Rf6-d6 # 1...Qc6-f3 2.Rf6*f3 # 2.Rf6-f4 # 2.Rf6-f5 # 2.Rf6-d6 # 1...Qc6-e4 2.Rf6-f4 # 2.Rf6-d6 # 1...Qc6-d5 2.Rf6-f4 # 1...Qc6-e8 2.Rf6-f4 # 2.Rf6-d6 # 1...Qc6-d7 2.Rf6-f4 # 2.Rf6-d6 # 2.Rf6-f7 # 1...Qc6*b7 2.Rf6-f4 # 1...Qc6*c3 2.Qb7-d5 # 1...Qc6-c4 2.Rf6-f5 # 1...Qc6-c5 2.Rf6-f4 # 2.Rf6-d6 # 1...Qc6-c8 2.Rf6-f4 # 2.Rf6-d6 # 2.Rf6-f8 # 1...Qc6-c7 2.Rf6-f4 # 2.Rf6-d6 # 1...Qc6*f6 + 2.Bh8*f6 # 1...Qc6-d6 2.Rf6*d6 #" keywords: - Flight giving and taking key comments: - also in The San Francisco Chronicle (no. 529), 29 May 1904 --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 2-moves / 313 date: 1868 algebraic: white: [Kh6, Qa1, Rg8, Rf2, Be1, Pg2] black: [Kh2, Ph3] stipulation: "#2" solution: | "1.Qa1-a8 ! zugzwang. 1...Kh2-g1 2.g2*h3 # 1...Kh2-h1 2.g2*h3 # 1...h3*g2 2.Qa8*g2 #" comments: - also in The Wilkes-Barre Record (no. 92), 5 July 1888 - also in The Philadelphia Times (no. 2020), 11 November 1900 --- authors: - Loyd, Samuel source: New York Mail and Express date: 1889 algebraic: white: [Kh7, Qe1, Rf1, Rd2, Be3, Sf3, Sd3, Ph4, Ph2, Pf7, Pd7, Pb7, Pb6, Pb5] black: [Ke6, Pe7] stipulation: "#2" solution: | "1...Kd6/Kxd7 2.Nf4#/Nc5# 1...Kf6/Kxf7 2.Ng5#/Nd4# 1.d8Q?? (2.Ng5#/Nd4#) but 1...Kf5! 1.d8R?? (2.Ng5#/Nd4#) but 1...Kf5! 1.f8Q?? (2.Nf4#/Nc5#) but 1...Kd5! 1.f8R?? (2.Nf4#/Nc5#) but 1...Kd5! 1.Kg6?? (2.Nf4#/Nc5#) but 1...Kd5! 1.Nc5+?? 1...Kf6 2.f8Q#/f8R# 1...Kxf7 2.Ng1#/Ng5#/Ne5#/Nd4# but 1...Kf5! 1.Bg1+?? 1...Kd6 2.Nf4#/Nc1#/Nc5#/Nb2#/Nb4#/d8Q#/d8R# 1...Kf6 2.Ng5#/Nd4#/f8Q#/f8R# 1...Kxf7 2.Ng5#/Nd4# 1...Kd5 2.Nb2# 1...Kxd7 2.Nf2#/Nf4#/Nc1#/Nc5#/Nb2#/Nb4# but 1...Kf5! 1.Ng5+?? 1...Kd6 2.d8Q#/d8R# 1...Kxd7 2.Ne5#/Nf2#/Nf4#/Nc1#/Nc5#/Nb2#/Nb4# but 1...Kd5! 1.h3?? zz 1...Kd6/Kxd7 2.Nf4#/Nc5# 1...Kf6/Kxf7 2.Ng5#/Nd4# 1...Kf5 2.Ng5# but 1...Kd5! 1.Qd1?? zz 1...Kd6/Kxd7 2.Nf4#/Nc5# 1...Kf6/Kxf7 2.Ng5#/Nd4# 1...Kf5 2.Ng5# but 1...Kd5! 1.Qc1?? zz 1...Kd6 2.Qc6#/Nf4#/Nc5# 1...Kf6/Kxf7 2.Ng5#/Nd4# 1...Kd5 2.Qc6#/Nc5# 1...Kxd7 2.Nf4#/Nc5# but 1...Kf5! 1.Qg3?? zz 1...Kf6 2.Qg6#/Ng5#/Nd4# 1...Kf5 2.Qg6#/Ng5# 1...Kxf7 2.Ng5#/Nd4# 1...Kxd7 2.Nf4#/Nc5# but 1...Kd5! 1.Qe2! zz 1...Kd6/Kxd7 2.Nf4#/Nc5# 1...Kf6/Kxf7 2.Ng5#/Nd4# 1...Kf5 2.Ng5# 1...Kd5 2.Nc5#" keywords: - King star flight - King Y-flight --- authors: - Loyd, Samuel source: Hartford Globe date: 1877 algebraic: white: [Kh7, Qf3, Rg4, Rf5, Sd4, Sc2] black: [Kh1, Qg2, Ph3, Ph2] stipulation: "#2" solution: | "1...Kg1 2.Qf1#/Qd1# 1.Qe4[A]? (2.Rf1#) 1...Kg1 2.Qe1# 1...Qf3 2.Qxf3# but 1...Qxe4[a]! 1.Qb7[B]? (2.Rf1#) 1...Qe4[a] 2.Qxe4#[A] 1...Kg1 2.Qb1# 1...Qf3 2.Qxf3# but 1...Qxb7+[b]! 1.Kh6?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Kh8?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Kg7?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Kg6?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Kg8?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Rff4?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Rf6?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Rf7?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Rf8?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Re5?? (2.Re1#) but 1...Qxf3! 1.Rb5?? (2.Rb1#) but 1...Qxf3! 1.Ra5?? (2.Ra1#) but 1...Qxf3! 1.Ne6?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Nc6?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Nb3?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Nb5?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Rg3?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Rxg2?? (2.Rg3#/Rg4#/Rgg5#/Rg6#/Rg7#/Rg8#/Qf1#) but 1...hxg2! 1.Rgg5?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Rg6?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Rg7?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Rg8?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Ne1?? zz 1...Kg1 2.Qf1# but 1...Qxf3! 1.Ne3?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Nb4?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Na1?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Na3?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Qf1+?? 1...Qxf1 2.Rxf1# but 1...Qg1! 1.Qd1+?? 1...Qf1 2.Rxf1#/Qxf1# but 1...Qg1! 1.Qd5?? (2.Rf1#) 1...Qe4[a] 2.Qxe4#[A] 1...Qf3 2.Qxf3# but 1...Kg1! 1.Qc6?? (2.Rf1#) 1...Qe4[a] 2.Qxe4#[A] 1...Qf3 2.Qxf3# but 1...Kg1! 1.Qa8! (2.Rf1#) 1...Qe4[a] 2.Qxe4#[A] 1...Qb7+[b] 2.Qxb7#[B] 1...Kg1 2.Qa1# 1...Qf3 2.Qxf3#" keywords: - Vladimirov - Switchback --- authors: - Loyd, Samuel source: Baltimore Dispatch source-id: 73 date: 1860-01-07 algebraic: white: [Kh7, Qe2, Rh3, Rf5] black: [Kh5, Rg5, Bg4, Be5, Ph4] stipulation: "#2" solution: | "1.Rh3-f3 ! zugzwang. 1...Bg4*f3 2.Qe2*f3 # 1...Bg4-h3 2.Rf3*h3 # 1...Bg4*f5 + 2.Rf3*f5 # 1...h4-h3 2.Rf3*h3 # 1...Be5-a1 2.Qe2-e8 # 1...Be5-b2 2.Qe2-e8 # 1...Be5-c3 2.Qe2-e8 # 1...Be5-d4 2.Qe2-e8 # 1...Be5-h2 2.Qe2-e8 # 1...Be5-g3 2.Qe2-e8 # 1...Be5-f4 2.Qe2-e8 # 1...Be5-h8 2.Qe2-e8 # 1...Be5-g7 2.Qe2-e8 # 1...Be5-f6 2.Qe2-e8 # 1...Be5-b8 2.Qe2-e8 # 1...Be5-c7 2.Qe2-e8 # 1...Be5-d6 2.Qe2-e8 # 1...Rg5*f5 2.Rf3*f5 #" keywords: - Active sacrifice - Black correction - Model mates - Switchback --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 2-moves / 310 date: 1868 algebraic: white: [Kh8, Qe4, Rc2, Bb2, Ba4, Sd1, Sa3, Ph7, Pg7] black: [Ka2, Qa8, Rc8, Ra6, Bg8, Se8, Pd5, Pa5] stipulation: "#2" solution: | "1...Rc3/Rb8/Rd8/Nc7 2.Nxc3# 1.Rc1?? (2.Ra1#/Qb1#) 1...Rc2/dxe4/Bxh7 2.Ra1# but 1...Rxc1! 1.Rc3?? (2.Bb3#/Qb1#) 1...Rb6/Qb8/Qb7/Rxc3/Rb8/d4 2.Qb1# 1...Bxh7 2.Bb3# but 1...dxe4! 1.Qc4+?? 1...dxc4 2.Nc3# but 1...Rxc4! 1.Qb4?? (2.Bb3#/Bc3#/Qb3#) 1...Qb8/Qb7/Rb6 2.Bb3#/Bc3# 1...d4 2.Bc3# 1...Bxh7/Rxc2 2.Bb3#/Qb3# 1...Rc3 2.Nxc3#/Bxc3# 1...Rb8 2.Nc3#/Bb3#/Bc3#/Bd4#/Be5#/Bf6# but 1...axb4! 1.Rc6! (2.Qb1#) 1...dxe4 2.hxg8Q#/hxg8B# 1...Bxh7 2.Qxd5#" --- authors: - Loyd, Samuel source: Detroit Free Press source-id: 215 date: 1877-08-18 algebraic: white: [Kh8, Qc6, Rd1, Rb5, Be2, Se8, Sc5, Ph7, Ph4, Pf2, Pa4] black: [Kd4, Qh3, Rh1, Rg1, Bg2, Bd2, Sh2, Sf1, Pg7, Pe4, Pb6] stipulation: "#2" solution: | "1.Kh8-g8 ! zugzwang. 1...Sf1-g3 2.Sc5-b3 # 1...Sf1-e3 2.Sc5-b3 # 1...Bg2-f3 2.Sc5-b3 # 1...Sh2-g4 2.Sc5-e6 # 1...Sh2-f3 2.Sc5-b3 # 1...Qh3-c8 2.Sc5-b3 # 1...Qh3-d7 2.Sc5-b3 # 1...Qh3-e6 + 2.Sc5*e6 # 1...Qh3-f5 2.Sc5-b3 # 1...Qh3-g4 2.Sc5-b3 # 1...Qh3-a3 2.Sc5-e6 # 1...Qh3-b3 + 2.Sc5*b3 # 1...Qh3-c3 2.Qc6-d6 # 2.Sc5-e6 # 1...Qh3-d3 2.Sc5-e6 # 1...Qh3-e3 2.Sc5-e6 # 1...Qh3-f3 2.Sc5-e6 # 1...Qh3-g3 2.Sc5-e6 # 1...Qh3*h4 2.Sc5-b3 # 2.Sc5-e6 # 1...Kd4-c3 2.Sc5-e6 # 1...Kd4-e5 2.Sc5-e6 # 1...e4-e3 2.Sc5-b3 # 1...b6*c5 2.Qc6*c5 # 1...g7-g5 2.h7-h8=Q # 2.h7-h8=B # 1...g7-g6 2.h7-h8=Q # 2.h7-h8=B #" --- authors: - Loyd, Samuel source: Danbury News date: 1878 algebraic: white: [Kh8, Qg5, Rd8, Rd1, Sh5, Sc5, Pg2] black: [Ke5, Rf2, Ra3, Ba2, Sg1, Sb5, Pg7, Pf7, Pf5, Pe7, Pc6] stipulation: "#2" solution: | "1...Bb1/Rb3 2.Qxe7# 1...Bb3/Ra5/Ra6/Ra7/Ra8/Re3 2.Qe3# 1...Rf4/Re2/Rd2/Rc2/Rb2/Rxg2/Nf3 2.Qxf4# 1.Nd3+?? 1...Ke4 2.Ng3# 1...Ke6 2.Nxg7#/Qe3# but 1...Rxd3! 1.Nd7+?? 1...Ke6 2.Nxg7# but 1...Ke4! 1.R8d5+?? 1...cxd5 2.Qxe7# but 1...Bxd5! 1.Re1+?? 1...Re2 2.Qf4# 1...Re3 2.Rxe3#/Qxe3# but 1...Ne2! 1.Nb3! (2.Qe3#/Qxe7#) 1...Ke4/Nc3/Nd6/Bb1/Ra4/Rxb3/Rf3/Rf4/Re2 2.Qxe7# 1...Ke6/Nc7/Nd4/Bxb3/f6/Ra7/e6 2.Qe3#" keywords: - 2 flights giving key - Grimshaw - Novotny --- authors: - Loyd, Samuel source: New York State Chess Association date: 1892-02-22 algebraic: white: [Ka3, Qh1, Rh6, Re7, Bb4, Ba2, Sf5, Sd7, Pf4, Pc2] black: [Kg8, Rg6, Rf3, Bh2, Sh8, Sb3, Ph3, Pc3, Pa4] stipulation: "#2" solution: | "1.Rh6*h3 ! zugzwang. 1...Bh2-g1 2.Rh3*h8 # 1...Bh2*f4 2.Rh3*h8 # 1...Bh2-g3 2.Rh3*h8 # 1...Rf3-f1 2.Qh1-a8 # 1...Rf3-f2 2.Qh1-a8 # 1...Rf3-d3 2.Qh1-a8 # 1...Rf3-e3 2.Qh1-a8 # 1...Rf3*f4 2.Qh1-a8 # 1...Rf3*h3 2.Qh1-a8 # 1...Rf3-g3 2.Qh1-a8 # 1...Rg6-g1 2.Sf5-h6 # 1...Rg6-g2 2.Sf5-h6 # 1...Rg6-g3 2.Sf5-h6 # 1...Rg6-g4 2.Sf5-h6 # 1...Rg6-g5 2.Sf5-h6 # 1...Rg6-a6 2.Re7-g7 # 1...Rg6-b6 2.Re7-g7 # 1...Rg6-c6 2.Re7-g7 # 1...Rg6-d6 2.Re7-g7 # 1...Rg6-e6 2.Re7-g7 # 1...Rg6-f6 2.Re7-g7 # 1...Rg6-g7 2.Re7*g7 # 1...Rg6-h6 2.Re7-g7 # 2.Sf5*h6 # 1...Sh8-f7 2.Re7-e8 #" keywords: - Defences on same square comments: - also in The Philadelphia Times (no. 1189), 6 March 1892 --- authors: - Loyd, Samuel source: New York Chess Association date: 1892-02-22 algebraic: white: [Kb3, Qh1, Rf8, Re4, Bg6, Sf5] black: [Kd5, Be3, Pc6] stipulation: "#2" solution: | "1.Qh1-a1 ! threat: 2.Re4-e5 # 2.Qa1-e5 # 1...Be3-f4 2.Qa1-d4 # 1...Be3-d4 2.Qa1*d4 # 1...Kd5*e4 2.Sf5-e7 # 1...Kd5-c5 2.Qa1-a5 # 1...c6-c5 2.Qa1-a8 #" keywords: - Flight giving key comments: - also in The Philadelphia Times (no. 1199), 10 April 1892 --- authors: - Loyd, Samuel source: Hartford Globe date: 1877 algebraic: white: [Kb5, Qf3, Rg3, Rf4] black: [Kh1, Qg2, Rg5, Ph3, Ph2, Pf5] stipulation: "#2" solution: | "1...Kg1 2.Qf1#/Qd1# 1.Qd5[A]? (2.Rf1#) 1...Kg1 2.Qd1# 1...Qf3 2.Qxf3# but 1...Qxd5+[a]! 1.Qc6[B]? (2.Rf1#) 1...Qd5+[a] 2.Qxd5#[A] 1...Kg1 2.Qc1# 1...Qf3 2.Qxf3# but 1...Qxc6+[b]! 1.Qf1+?? 1...Qxf1+ 2.Rxf1# but 1...Qg1! 1.Qd1+?? 1...Qf1+ 2.Rxf1#/Qxf1# but 1...Qg1! 1.Qe4?? (2.Rf1#) 1...Kg1 2.Qe1#/Qb1# 1...Qf3 2.Qxf3# but 1...fxe4+! 1.Rxg5?? zz 1...Kg1 2.Qf1#/Qd1# but 1...Qxf3! 1.Qa8! (2.Rf1#) 1...Qd5+[a] 2.Qxd5#[A] 1...Qc6+[b] 2.Qxc6#[B] 1...Kg1 2.Qa1# 1...Qf3 2.Qxf3# 1...Qb7+ 2.Qxb7#" keywords: - Vladimirov - Switchback comments: - Version of 15310 --- authors: - Loyd, Samuel source: Chess Monthly date: 1860 algebraic: white: [Kg3, Qh5, Se3, Pf4, Pd2, Pb3] black: [Kd4, Re8, Rd8, Bf8, Bc8, Pg4, Pe4, Pd3, Pb4, Pa6] stipulation: "#2" solution: | "1.Qh5-a5 ! zugzwang. 1...Bc8-b7 2.Se3-f5 # 1...Bc8-f5 2.Se3*f5 # 1...Bc8-e6 2.Qa5-e5 # 1...Bc8-d7 2.Qa5-d5 # 1...Rd8-d5 2.Qa5*d5 # 1...Rd8-d6 2.Qa5*b4 # 1...Rd8-d7 2.Se3-f5 # 1...Re8-e5 2.Qa5*e5 # 1...Re8-e6 2.Se3-f5 # 1...Re8-e7 2.Qa5*b4 # 2.Qa5-b6 # 1...Bf8-c5 2.Qa5-a1 # 1...Bf8-d6 2.Qa5-d5 # 1...Bf8-e7 2.Qa5-e5 # 1...Bf8-h6 2.Qa5*b4 # 2.Qa5-b6 # 1...Bf8-g7 2.Qa5*b4 # 2.Qa5-b6 #" keywords: - Black correction - Grimshaw - Organ pipes comments: - Version of 15315 --- authors: - Loyd, Samuel source: The Circle date: 1909 algebraic: white: [Kg5, Bb5, Sf5, Pe7, Pd4] black: [Kd5] stipulation: "#2" solution: | "1.e8B! zz 1...Ke4 2.Bec6# 1...Ke6 2.Bc4#" --- authors: - Loyd, Samuel source: Chicago Times date: 1879 algebraic: white: [Ke2, Qf2] black: [Ke4, Pe5, Pd5] stipulation: "#2" twins: b: Shift a1 a2 solution: | "a) 1.Qf2-f8 ! zugzwang. 1...Ke4-d4 2.Qf8-b4 # 1...d5-d4 2.Qf8-f3 # b) shift a1 == a2 1.Qf3-f1 ! zugzwang. 1...Ke5-d5 2.Qf1-b5 # 1...d6-d5 2.Qf1-f4 #" keywords: - Flight giving key - Block --- authors: - Loyd, Samuel source: American Union source-id: v date: 1858-10 distinction: 1st Prize algebraic: white: [Ke3, Qe7, Rh4, Bh5, Bh2, Sf4, Pc7] black: [Kf5, Qc6, Bh7, Sh6, Pd6] stipulation: "#3" solution: | "1.Ke3-d2 ! threat: 2.Bh5-g4 + 2...Sh6*g4 3.Rh4-h5 # 1...Qc6-g2 + 2.Sf4*g2 2...Sh6-g4 3.c7-c8=Q # {(c8B)} 1...Qc6-d5 + 2.Sf4*d5 2...Sh6-g4 3.c7-c8=Q # {(c8B)} 1...Qc6-e8 2.Bh5*e8 2...Bh7-g8 3.Be8-g6 # 1...Qc6-c1 + 2.Kd2*c1 threat: 3.c7-c8=Q # {(c8B)} 2...Bh7-g8 3.Bh5-g6 # 1...Qc6-c2 + 2.Kd2*c2 threat: 3.c7-c8=Q # {(c8B)} 2...Bh7-g8 3.Bh5-g6 # 1...Qc6-c3 + 2.Kd2*c3 threat: 3.c7-c8=Q # {(c8B)} 2...Bh7-g8 3.Bh5-g6 #" --- authors: - Loyd, Samuel source: Chess Monthly date: 1859-03 algebraic: white: [Kf5, Rg7, Se1, Ph2, Pg2] black: [Kh5, Bf2, Ph6, Pg3] stipulation: "#3" twins: b: "Remove e1 Stipulation #4" c: "Cont Remove h2 Stipulation #5" solution: | "a) 1. R:g3! B:g3 2. Sf3 B~ 3. g4# (1. ... B:e1 2. Rh3) b) Remove wSe1, #4 1. hg! Be3 2. Rg4 Bg5 3. Rh4+! B:h4 4. g4# (1. ... Be1 2. Rg4 B:g3 3. R:g3) c) =b) & Remove wPh2, #5 1. Rb7!! 1. ... Be3 2. Rb1 Bg5 3. Rh1+ Bh4 4. Rh2! gh 5. g4# 1. ... Bg1 2. Rb1 Bh2 3. Re1! 3. ... Bg1 4. R:g1 Kh4 5. Rh1# 3. ... Kh4 4. Kg6! ~ 5. Re4#" keywords: - Twins strip-tease comments: - fictional story of Charles XII of Sweden at Bender in 1713 - Check also 77625, 103016, 336194, and 409441 --- authors: - Loyd, Samuel source: Leipziger Illustrirte Zeitung date: 1869-10-23 algebraic: white: [Kh1, Qc4, Sf8, Pf7] black: [Kh8, Ba1, Ph7, Pg7, Pg4] stipulation: "#3" solution: | "1.Qc4-f1 ! threat: 2.Qf1-b1 threat: 3.Qb1*h7 # 2...g7-g6 3.Qb1*a1 # 1...Ba1-f6 2.Qf1-f5 threat: 3.Qf5*h7 # 2...g7-g6 3.Qf5*f6 # 1...Ba1-e5 2.Qf1-f5 threat: 3.Qf5*h7 # 2...g7-g6 3.Qf5*e5 # 1...Ba1-d4 2.Qf1-d3 threat: 3.Qd3*h7 # 2...g7-g6 3.Qd3*d4 # 1...Ba1-c3 2.Qf1-d3 threat: 3.Qd3*h7 # 2...g7-g6 3.Qd3*c3 # 1...g4-g3 2.Sf8-g6 + 2...h7*g6 3.Qf1-h3 #" keywords: - The Love Chase comments: - also in The New York Turf, Field and Farm (no. 172), 14 January 1870 - also in The Philadelphia Times (no. 150), 10 July 1881 --- authors: - Loyd, Samuel source: Sissa date: 1868-07 algebraic: white: [Ka2, Qb6, Pc5] black: [Ka4, Pb5] stipulation: "#3" solution: | "1.Qb6-h6 ! {- zugzwang} 1...Ka4-b4 2.Qh6-c1 2...Kb4-a4 3.Qc1-a3 # 2...Kb4-a5 3.Qc1-a3 # 1...Ka4-a5 2.Ka2-b3 threat: 3.Qh6-b6 #" keywords: - Flight giving key - Miniature comments: - also in The Philadelphia Times (no. 609), 27 December 1885 --- authors: - Loyd, Samuel source: The Albion (New York) source-id: 403 date: 1856-09-20 algebraic: white: [Ke2, Qd7, Pe7] black: [Kf7] stipulation: "#3" solution: | "1.Qd7-d6 ! zugzwang. 1...Kf7-g7 2.e7-e8=Q threat: 3.Qd6-g6 # 1...Kf7-e8 2.Qd6-e5 zugzwang. 2...Ke8-f7 3.e7-e8=Q # 2...Ke8-d7 3.e7-e8=Q # 1...Kf7-g8 2.e7-e8=Q + 2...Kg8-h7 3.Qd6-g6 # 2...Kg8-g7 3.Qd6-g6 # 2.Qd6-g6 + 2...Kg8-h8 3.e7-e8=Q # 3.e7-e8=R #" keywords: - Florence Mate - Miniature comments: - also in The Philadelphia Times (no. 756), 26 June 1887 --- authors: - Loyd, Samuel source: The Albion (New York) source-id: v 430 date: 1857-03-28 algebraic: white: [Ke7, Qe1, Rb5, Pe4] black: [Kd4] stipulation: "#3" solution: | "1.Rb5-b3 ! 1...Kd4-e5 2.Rb3-e3 2...Ke5-d4 3.Qe1-c3 # 2...Ke5-f4 3.Qe1-g3 #" --- authors: - Loyd, Samuel source: The Albion (New York) source-id: 420v date: 1857-01-17 algebraic: white: [Ke1, Rh1, Rf1, Pg3] black: [Kg2] stipulation: "#3" twins: b: Move f1 f4 solution: | "a) 1.Rf1-f4 ! zugzwang. 1...Kg2*h1 2.Ke1-f2 threat: 3.Rf4-h4 # 1...Kg2*g3 2.0-0 threat: 3.Rf1-f3 # b) wRf1--f4 1.Ke1-e2 ! zugzwang. 1...Kg2*h1 2.Ke2-f2 threat: 3.Rf4-h4 # 1...Kg2*g3 2.Rh1-h4 threat: 3.Rf4-g4 #" --- authors: - Loyd, Samuel source: Evening Telegram (New York) date: 1888 algebraic: white: [Kf2, Re1, Sd4] black: [Kh1, Sg1, Ph2] stipulation: "#3" solution: | "1.Re1-e2 ! {- zugzwang} 1...Sg1*e2 2.Sd4-f5 2...Se2-c1 {(S~)} 3.Sf5-g3 # 1...Sg1-h3 + 2.Kf2-g3 2...Sh3-g1 3.Re2*h2 # 2...Kh1-g1 3.Re2-e1 # 2...Sh3-f2 {(S~)} 3.Re2-e1 # 1...Sg1-f3 2.Sd4-f5 threat: 3.Sf5-g3 # 2.Kf2*f3 threat: 3.Re2-e1 #" --- authors: - Loyd, Samuel source: New York Star date: 1890 algebraic: white: [Ke2, Qb6, Sg5, Pd3] black: [Kc3] stipulation: "#3" solution: | "1.Ke2-d1 ! threat: 2.Sg5-f3 zugzwang. 2...Kc3*d3 3.Qb6-d4 # 2.Sg5-e6 zugzwang. 2...Kc3*d3 3.Qb6-d4 # 1...Kc3*d3 2.Qb6-b4 zugzwang. 2...Kd3-e3 3.Qb4-d2 #" comments: - see also 79897 --- authors: - Loyd, Samuel source: The Albion (New York) source-id: 396 date: 1856-08-02 algebraic: white: [Kc5, Qe3, Bf1, Ph4] black: [Kg4] stipulation: "#3" solution: | "1.Bf1-c4 ! zugzwang. 1...Kg4-f5 2.Qe3-g3 zugzwang. 2...Kf5-f6 3.Qg3-g5 # 2...Kf5-e4 3.Bc4-d3 # 1...Kg4*h4 2.Qe3-f4 + 2...Kh4-h3 3.Bc4-f1 # 2...Kh4-h5 3.Bc4-f7 # 1...Kg4-h5 2.Qe3-g5 #" --- authors: - Loyd, Samuel source: Saturday Courier source-id: 47 date: 1856-03 algebraic: white: [Kh3, Bf6, Bd5, Sh6, Pd2] black: [Kf4, Pd4] stipulation: "#3" solution: | "1.Bd5-h1 ! zugzwang. 1...d4-d3 2.Kh3-g2 zugzwang. 2...Kf4-e4 3.Kg2-g3 #" keywords: - Indian --- authors: - Loyd, Samuel source: The Era (London) source-id: 64 v date: 1868-05-10 algebraic: white: [Kg8, Qe7, Bb6, Sh7, Sc8, Pe4] black: [Kc6, Qh2, Rf2, Bg3, Se2, Ph3, Pg5, Pf3, Pc4, Pb5, Pa6] stipulation: "#3" solution: | "1.e4-e5 ! threat: 2.Sh7-f6 threat: 3.Qe7-c7 # 3.Qe7-d7 # 2...Bg3*e5 3.Qe7-d7 # 2...b5-b4 3.Qe7-d7 # 1...Bg3*e5 2.Sh7-f8 threat: 3.Qe7-d7 # 2...Be5-c7 3.Qe7-e4 # 2...Be5-d6 3.Qe7-e4 # 2...Kc6-d5 3.Qe7-b7 #" --- authors: - Loyd, Samuel source: The Illustrated London News date: 1878 algebraic: white: [Ka4, Qa1, Rh1, Rd2, Bf4, Sc3, Sb7, Pg6, Pg5, Pf2, Pe6, Pd5] black: [Kd4, Bd3, Sg7, Pg4, Pf5, Pe2, Pc4, Pa3, Pa2] stipulation: "#3" solution: | "1.Rh1-h5 ! threat: 2.Qa1-h1 threat: 3.Sc3*e2 # {(Sb5#)} 2...e2-e1=Q {(e1R)} 3.Sc3-b5 # 2...Kd4*c3 3.Qh1-a1 # 1...e2-e1=Q {(e1~)} 2.Qa1*e1 threat: 3.Bf4-e5 # {(Qe5#)} 1...g4-g3 2.Bf4-e3 + 2...Kd4-e5 3.f2-f4 # 1...Sg7*e6 2.Sc3*e2 + 2...Kd4-e4 3.Qa1-h1 # 2...Kd4*d5 3.Qa1-h1 #" --- authors: - Loyd, Samuel source: Cleveland Voice, Centennial Tourney date: 1877-02-04 distinction: 2nd Prize algebraic: white: [Kh8, Qb5, Rg8, Rb2, Bg7, Bc8, Sd3, Sc3, Ph7, Ph4, Pc2, Pb3] black: [Ka1, Qe1, Ra8] stipulation: "#3" solution: | "1.Qb5-g5 ! {- zugzwang} 1...Qe1-d1 2.Sc3*d1 threat: 3.Qg5-c1 # 1...Qe1-h1 2.Qg5-g2 threat: 3.Qg2*h1 # 2...Qh1*g2 {(Q:h4)} 3.Rb2-b1 # 2...Qh1-b1 3.Rb2*b1 # 2...Qh1-g1 3.Qg2*g1 # 2...Qh1-c1 {(Q~1)} 3.Qg2*a8 # 1...Qe1-f1 2.Qg5-g2 threat: 3.Qg2*f1 # {(Q:a8#)} 2...Qf1*g2 {(Q:d3, Qb1, Qf~)} 3.Rb2-b1 # 2...Qf1-h1 3.Qg2*h1 # 2...Qf1-g1 3.Qg2*g1 # 1...Ra8-a3 2.Qg5-e7 threat: 3.Qe7*a3 # {(Q:e1#)} 2...Qe1-b1 3.Rb2*b1 # 2...Qe1*e7 3.Rb2-b1 # 1...Ra8-a4 2.b3*a4 threat: 3.Rb2-a2 # 2...Qe1*c3 3.Qg5-c1 # 2...Qe1-b1 3.Rb2*b1 # 1...Ra8-a6 2.Bc8*a6 threat: 3.Qg5-a5 # {(Ra2#)} 2...Qe1*c3 3.Qg5-c1 # 2...Qe1-b1 3.Rb2*b1 # 1...Ra8-a7 2.Qg5-e3 threat: 3.Qe3*a7 # {(Q:e1#)} 2...Qe1*c3 3.Qe3-c1 # 2...Qe1-b1 3.Rb2*b1 # 2...Qe1*e3 3.Rb2-b1 # 2...Qe1-g1 3.Qe3*g1 # 2...Ra7-e7 3.Rb2-a2 #" keywords: - Grab theme --- authors: - Loyd, Samuel source: Holyoke Transcript date: 1878 algebraic: white: [Kh7, Qh1, Rc1, Rb5, Bd4, Se6, Sd3, Pg6, Pg2, Pf4, Pe5, Pd5, Pc4] black: [Ke4, Ph2, Pg7, Pg3] stipulation: "#3" solution: | "1.Rc1-g1 ! {- zugzwang} 1...Ke4-f5 2.Sd3-f2 {- zugzwang} 2...h2*g1=S 3.Qh1-h5 # 2...g3*f2 3.g2-g4 # 1...h2*g1=S {(h:g1~)} 2.Sd3-c5 + 2...Ke4-f5 3.Qh1-h5 # 1...Ke4*d3 2.Rg1-a1 {- zugzwang} 2...Kd3-d2 {(Kc2, Ke2)} 3.Qh1-d1 # 2...Kd3*c4 3.Qh1-f1 # 2...Kd3-e4 3.Qh1-b1 #" --- authors: - Loyd, Samuel source: Chess Monthly date: 1857 algebraic: white: [Kh7, Rf4, Rf2, Bh1, Sg7, Sb2, Ph2, Pg6, Pc2] black: [Ke3, Qa2, Rd7, Rb5, Ba6, Sb1, Sa8, Pf6, Pe7, Pa3] stipulation: "#3" solution: | "1.Bh1-d5 ! threat: 2.Sg7-f5 # {(Sd1#)} 1...Qa2*d5 2.Sg7-f5 + 2...Qd5*f5 3.Sb2-c4 # 1...Rb5*d5 {display-departure-file} 2.Sb2-d1 + 2...Rd5*d1 3.Sg7-f5 # 1...Rd7*d5 {display-departure-file} 2.Sg7-f5 + 2...Rd5*f5 3.Sb2-d1 #" --- authors: - Loyd, Samuel source: 5th American Chess Congress date: 1880 distinction: 3rd Prize, Set algebraic: white: [Kh6, Qa8, Bh3, Bb6, Sf6, Sc2, Pg7, Pg6, Pd6, Pc5] black: [Kc6, Qe2, Rg4, Rb1, Bh2, Be8, Sb7, Ph4, Pg5, Pd5, Pb3] stipulation: "#3" solution: | "1.Sf6-e4 ! threat: 2.Qa8*e8 # 1...Qe2*e4 2.Sc2-d4 + 2...Qe4*d4 3.Qa8*e8 # 2...Kc6-d7 3.Qa8*b7 # 1...Rg4*e4 2.Qa8*e8 + 2...Re4*e8 3.Sc2-d4 # 1...d5-d4 {(d:e4)} 2.Qa8*e8 + 2...Kc6-d5 3.g7-g8=Q # {(g8B#)} 1...Kc6-d7 2.Qa8*e8 + 2...Kd7*e8 3.Se4-f6 # 1...Kc6-b5 2.Qa8-a4 + 2...Kb5*a4 3.Se4-c3 # 1...Be8*g6 {(Bf7)} 2.Sc2-d4 + 2...Kc6-d7 3.c5-c6 # {(Sf6#)}" --- authors: - Loyd, Samuel source: Syracuse Standard source-id: 54 date: 1858-10-14 algebraic: white: [Kf6, Be5, Sg3, Se3, Pd2, Pc3, Pa5, Pa4] black: [Kc5, Bf5, Sf4, Pg6, Pg5, Pg4, Pd7, Pc6, Pc4] stipulation: "#3" solution: | "1.Be5-b8 ! zugzwang. 1...Bf5-d3 2.Kf6-e5 threat: 3.Bb8-a7 # 3.Bb8-d6 # 2...Sf4-d5 3.Bb8-d6 # 2...d7-d6 + 3.Bb8*d6 # 1...Sf4-d3 2.Kf6-e7 threat: 3.Bb8-a7 # 3.Bb8-d6 # 1...Sf4-e2 2.Kf6-e5 threat: 3.Bb8-a7 # 3.Bb8-d6 # 2...Se2*c3 3.Bb8-d6 # 2...d7-d6 + 3.Bb8*d6 # 1...Sf4-g2 2.Kf6-e5 threat: 3.Bb8-a7 # 3.Bb8-d6 # 2...d7-d6 + 3.Bb8*d6 # 1...Sf4-h3 2.Kf6-e5 threat: 3.Bb8-a7 # 3.Bb8-d6 # 2...d7-d6 + 3.Bb8*d6 # 2.Kf6-e7 threat: 3.Bb8-a7 # 3.Bb8-d6 # 1...Sf4-h5 + 2.Kf6-e7 threat: 3.Bb8-a7 # 3.Bb8-d6 # 2.Kf6-e5 threat: 3.Bb8-a7 # 3.Bb8-d6 # 2...d7-d6 + 3.Bb8*d6 # 1...Sf4-e6 2.Kf6-e5 threat: 3.Bb8-a7 # 3.Bb8-d6 # 2...Se6-c7 3.Bb8-a7 # 2...d7-d6 + 3.Bb8*d6 # 2.Kf6-e7 threat: 3.Bb8-a7 # 3.Bb8-d6 # 2...Se6-c7 3.Bb8-a7 # 1...Sf4-d5 + 2.Kf6-e5 threat: 3.Bb8-d6 # 2...Sd5-c7 3.Bb8-a7 # 1...Bf5-b1 2.d2-d4 + 2...c4*d3 ep. 3.Sg3-e4 # 1...Bf5-c2 2.d2-d4 + 2...c4*d3 ep. 3.Sg3-e4 # 1...Bf5-e4 2.Sg3*e4 # 1...Bf5-e6 2.Sg3-e4 # 1...d7-d5 2.Kf6-e7 threat: 3.Bb8-a7 # 3.Bb8-d6 # 1...d7-d6 2.Bb8-a7 #" --- authors: - Loyd, Samuel source: The Illustrated London News source-id: 1218 date: 1867-06-29 algebraic: white: [Kf2, Qg5, Rh5, Bg1, Ph3, Ph2] black: [Kh1, Be4, Pd6] stipulation: "#3" solution: | "1.Qg5-g8 ! {- zugzwang} 1...Be4-f3 2.Kf2*f3 threat: 3.Qg8-g2 # 1...Be4-b7 {(Bc6)} 2.Rh5-d5 threat: 3.Qg8-g2 # 2...Bb7*d5 3.Qg8*d5 # 1...d6-d5 2.Qg8-g4 {- zugzwang} 2...d5-d4 3.Qg4*e4 # 2...Be4-g2 3.Qg4*g2 # 2...Be4-f3 3.Qg4*f3 #" --- authors: - Loyd, Samuel source: Boston Saturday Evening Gazette source-id: 41v date: 1859-02-05 algebraic: white: [Kd2, Rd1, Bg2, Se3, Sc5, Pg6, Pf4, Pb4] black: [Kd4, Rh8, Ba2, Ph7, Pf5, Pe4, Pc7, Pa3] stipulation: "#3" solution: | "1.Rd1-a1 ! threat: 2.Ra1*a2 2...Rh8-e8 3.Sc5-b3 # 1...Ba2-g8 2.g6-g7 threat: 3.g7*h8=Q # {(g:h8B#)} 1...Ba2-f7 2.g6*f7 2...Rh8-e8 3.Sc5-b3 # 1...Ba2-d5 2.Se3-c2 + 2...Kd4-c4 3.Bg2-f1 # 1...Ba2-c4 2.Se3*f5 + 2...Kd4-d5 3.Bg2*e4 #" --- authors: - Loyd, Samuel source: The Albion (New York) date: 1858-08-07 distinction: 1st Prize algebraic: white: [Ka3, Be7, Bc2, Sf4, Sb5, Pf3, Pe3, Pc3] black: [Ke5, Rh6, Bg8, Ba7, Sd7, Pf5, Pe6, Pc5, Pc4] stipulation: "#3" solution: | "1.Bc2-a4 ! {- zugzwang} 1...Rh6-h1 {(R~)} 2.Sf4-g6 + 2...Ke5-d5 3.Sb5-c7 # 1...Ba7-b6 2.Sb5-d6 threat: 3.Sd6*c4 # 1...Ba7-b8 2.Sb5-d4 threat: 3.Sd4-c6 # 2...c5*d4 3.c3*d4 # 1...Sd7-b6 2.Sb5-d4 {(S:a7)} threat: 3.Sd4-c6 # 2...c5*d4 3.c3*d4 # 1...Sd7-f8 2.Sb5-d6 {(S:a7)} threat: 3.Sd6*c4 # 1...Sd7-b8 2.Sb5-d6 threat: 3.Sd6*c4 # 1...Bg8-f7 {(Bh7)} 2.Sb5-d6 threat: 3.Sd6*c4 # 3.Sd6*f7 #" comments: - also in The Chess Monthly (139), February 1859 --- authors: - Loyd, Samuel source: Illustrated American date: 1890-04-26 algebraic: white: [Ka7, Qh6, Be4, Sd7, Pe5] black: [Kg8, Rg7, Pe7, Pe6] stipulation: "#3" solution: | "1.Qh6-h1 ! {- zugzwang} 1...Rg7-g6 2.Be4*g6 threat: 3.Qh1-h7 # 1...Rg7-f7 2.Be4-g6 {- zugzwang} 2...Rf7-f1 {(Rf~, Rh7)} 3.Qh1-h7 # 2...Rf7-g7 3.Qh1-a8 # 2...Kg8-g7 3.Qh1-h7 # 1...Kg8-f7 2.Qh1-h5 + 2...Kf7-g8 3.Qh5-e8 # 2...Rg7-g6 3.Qh5*g6 #" --- authors: - Loyd, Samuel source: Evening Telegram (New York) date: 1885 algebraic: white: [Ke4, Qg2, Pf4] black: [Kg4, Ph6, Ph5, Ph4, Pg7, Pg3, Pe5] stipulation: "#3" solution: | "1.f4*e5 ! zugzwang. 1...Kg4-g5 2.Qg2-f3 threat: 3.Qf3-f5 # 2...h4-h3 3.Qf3*g3 # 2...g7-g6 3.Qf3-f4 # 1...h4-h3 2.Qg2-f3 + 2...Kg4-h4 3.Qf3-f4 # 2...Kg4-g5 3.Qf3*g3 # 1...g7-g5 2.Ke4-d5 zugzwang. 2...Kg4-f5 3.Qg2-e4 # 2...Kg4-f4 3.Qg2-e4 # 2...h4-h3 3.Qg2-e4 # 1...g7-g6 2.Qg2-f1 zugzwang. 2...Kg4-g5 3.Qf1-f4 # 2...g3-g2 3.Qf1*g2 # 2...h4-h3 3.Qf1-f4 # 2...g6-g5 3.Qf1-f5 #" keywords: - Letters - Scaccografia --- authors: - Loyd, Samuel source: Seaforth Expositor source-id: 21v date: 1868-05 algebraic: white: [Ka3, Qe7, Re8, Rc1, Bb8, Se5, Sc4, Pa7] black: [Ka8, Qf5, Sa4, Pb7] stipulation: "#3" solution: | "1.Qe7-h4 ! {- zugzwang} 1...Qf5-h3 + 2.Qh4*h3 2...Sa4-b2 {(S~)} 3.Sc4-b6 # 1...Qf5-b1 2.Rc1*b1 2...Sa4-b2 {(S~)} 3.Sc4-b6 # 1...Qf5-c2 2.Rc1*c2 2...Sa4-b2 {(S~)} 3.Sc4-b6 # 1...Qf5-d3 + 2.Se5*d3 2...Sa4-b2 {(S~)} 3.Sc4-b6 # 1...Qf5-e4 2.Qh4*e4 2...Sa4-b2 {(S~)} 3.Sc4-b6 # 1...Qf5-g4 2.Se5*g4 {(Q:g4)} 2...Sa4-b2 {(S~)} 3.Sc4-b6 # 1...Qf5-h7 2.Qh4*h7 2...Sa4-b2 {(S~)} 3.Sc4-b6 # 1...Qf5-g6 2.Se5*g6 2...Sa4-b2 {(S~)} 3.Sc4-b6 # 1...Qf5-c8 2.Re8*c8 2...Sa4-b2 {(S~)} 3.Sc4-b6 # 1...Qf5-d7 2.Se5*d7 2...Sa4-b2 {(S~)} 3.Sc4-b6 # 3.Sd7-b6 # 1...Qf5-e6 2.Re8*e6 2...Sa4-b2 {(S~)} 3.Sc4-b6 # 1...Qf5-f1 2.Rc1*f1 2...Sa4-b2 {(S~)} 3.Sc4-b6 # 1...Qf5-f2 2.Qh4*f2 2...Sa4-b2 {(S~)} 3.Sc4-b6 # 1...Qf5-f3 + 2.Se5*f3 2...Sa4-b2 {(S~)} 3.Sc4-b6 # 1...Qf5-f4 2.Qh4*f4 2...Sa4-b2 {(S~)} 3.Sc4-b6 # 1...Qf5*e5 2.Re8*e5 2...Sa4-b2 {(S~)} 3.Sc4-b6 # 1...Qf5-f8 + 2.Re8*f8 2...Sa4-b2 {(S~)} 3.Sc4-b6 # 1...Qf5-f7 2.Se5*f7 2...Sa4-b2 {(S~)} 3.Sc4-b6 # 1...Qf5-f6 2.Qh4*f6 2...Sa4-b2 {(S~)} 3.Sc4-b6 # 1...Qf5-h5 2.Qh4*h5 2...Sa4-b2 {(S~)} 3.Sc4-b6 # 1...Qf5-g5 2.Qh4*g5 2...Sa4-b2 {(S~)} 3.Sc4-b6 # 1...b7-b5 2.Qh4-h1 + 2...Qf5-e4 3.Qh1*e4 # 2...Qf5-f3 + 3.Qh1*f3 # 1...b7-b6 2.Qh4-h1 + 2...Qf5-e4 3.Qh1*e4 # 2...Qf5-f3 + 3.Qh1*f3 #" --- authors: - Loyd, Samuel source: The Albion (New York) source-id: 523 date: 1859-01-15 algebraic: white: [Kf4, Qa2, Bd5, Pf3, Pb2] black: [Kd4, Bf1, Pf5, Pc5] stipulation: "#3" solution: | "1.Bd5-c4 ! threat: 2.Bc4*f1 threat: 3.Qa2-c4 # 1...Bf1-h3 2.Bc4-e2 threat: 3.Qa2-c4 # 2.Qa2-b3 threat: 3.Qb3-d3 # 3.Qb3-c3 # 2...Bh3-f1 3.Qb3-c3 # 1...Bf1-g2 2.Bc4-e2 threat: 3.Qa2-c4 # 2.Qa2-b3 threat: 3.Qb3-d3 # 3.Qb3-c3 # 2...Bg2-f1 3.Qb3-c3 # 1...Bf1*c4 2.Qa2-a4 zugzwang. 2...Kd4-d5 3.Qa4-d7 # 2...Kd4-d3 3.Qa4-d1 # 1...Bf1-d3 2.Bc4-g8 threat: 3.Qa2-d5 # 2...Bd3-e4 3.Qa2-c4 # 2...Bd3-c4 3.Qa2*c4 # 2...c5-c4 3.Qa2-a7 # 2.Bc4-f7 threat: 3.Qa2-d5 # 2...Bd3-e4 3.Qa2-c4 # 2...Bd3-c4 3.Qa2*c4 # 2...c5-c4 3.Qa2-a7 # 2.Bc4-e6 threat: 3.Qa2-d5 # 2...Bd3-e4 3.Qa2-c4 # 2...Bd3-c4 3.Qa2*c4 # 2...c5-c4 3.Qa2-a7 # 1...Bf1-e2 2.Bc4*e2 threat: 3.Qa2-c4 #" --- authors: - Loyd, Samuel source: The Albion (New York) source-id: v 513 date: 1858-11-06 algebraic: white: [Kf1, Qf5, Rb6, Bh1, Be5, Se1, Pg6, Pf2, Pb2] black: [Kd5, Rf3, Bh6, Sg5, Pg7, Pf6, Pd3, Pc6, Pc4, Pb7] stipulation: "#3" solution: | "1.Be5-h2 + ! 1...Kd5-d4 2.Bh2-g1 zugzwang. 2...d3-d2 3.Se1-c2 # 2...Rf3*f2 + 3.Bg1*f2 # 2...Rf3-e3 3.f2*e3 # 2...Rf3*f5 3.f2-f4 # 2...Rf3-f4 3.f2-f3 # 2...Rf3-h3 3.f2-f3 # 2...Rf3-g3 3.f2*g3 # 2...c4-c3 3.Rb6-b4 # 2...Sg5-e4 3.Se1*f3 # 2...Sg5-h3 3.Se1*f3 # 2...Sg5-h7 3.Se1*f3 # 2...Sg5-f7 3.Se1*f3 # 2...Sg5-e6 3.Se1*f3 # 2...c6-c5 3.Rb6-d6 #" keywords: - Battery play comments: - Dedicated to Joseph A. Potter --- authors: - Loyd, Samuel source: Bell's Life in London source-id: corr. date: 1867 algebraic: white: [Ka1, Rc7, Rb1, Ba5, Sf4, Sa2, Pf6, Pf2, Pe5, Pe3, Pc5] black: [Kc2, Bc6, Pf7, Pe4, Pa7, Pa6, Pa3] stipulation: "#3" solution: | "1.Rc7-c8 ! zugzwang. 1...Bc6-b7 2.Rc8-b8 zugzwang. 2...Bb7-c6 3.Rb1-c1 # 2...Bb7-d5 3.Rb1-c1 # 2...Bb7-c8 3.Rb1-c1 # 2...Bb7-a8 3.Rb1-c1 # 1...Bc6-a4 2.Rb1-c1 + 2...Kc2-b3 3.Rc1-c3 # 1...Bc6-b5 2.Rc8-b8 zugzwang. 2...Bb5-a4 3.Rb1-c1 # 2...Bb5-f1 3.Rb1-c1 # 2...Bb5-e2 3.Rb1-c1 # 2...Bb5-d3 3.Rb1-c1 # 2...Bb5-c4 3.Rb1-c1 # 2...Bb5-e8 3.Rb1-c1 # 2...Bb5-d7 3.Rb1-c1 # 2...Bb5-c6 3.Rb1-c1 # 1...Bc6-d5 2.Rc8-d8 zugzwang. 2...Bd5*a2 3.Rd8-d2 # 2...Bd5-b3 3.Rd8-d2 # 3.Rb1-c1 # 2...Bd5-c4 3.Rd8-d2 # 2...Bd5-e6 3.Rd8-d2 # 2...Bd5-a8 3.Rd8-d2 # 2...Bd5-b7 3.Rd8-d2 # 2...Bd5-c6 3.Rd8-d2 # 1...Bc6-e8 2.c5-c6 zugzwang. 2...Be8*c6 3.Rc8*c6 # 2...Be8-d7 3.c6*d7 # 1...Bc6-d7 2.Rc8-d8 zugzwang. 2...Bd7-b5 3.Rd8-d2 # 2...Bd7-a4 3.Rd8-d2 # 2...Bd7-c6 3.Rd8-d2 # 2...Bd7-h3 3.Rd8-d2 # 2...Bd7-g4 3.Rd8-d2 # 2...Bd7-f5 3.Rd8-d2 # 2...Bd7-e6 3.Rd8-d2 # 2...Bd7-e8 3.Rd8-d2 # 2...Bd7-c8 3.Rd8-d2 # 1...Bc6-a8 2.c5-c6 zugzwang. 2...Ba8-b7 3.c6*b7 # 2...Ba8*c6 3.Rc8*c6 #" --- authors: - Loyd, Samuel source: The Boston Globe source-id: 36 date: 1876-06-22 algebraic: white: [Kf5, Rh5, Ra1, Be2, Sg8, Sc2, Pg7, Pe7] black: [Ke8, Pf7, Pe3, Pd7, Pb3, Pa2] stipulation: "#3" solution: | "1.Rh5-h1 ! zugzwang. 1...b3-b2 2.Rh1-b1 zugzwang. 2...a2*b1=Q 3.Ra1-a8 # 2...a2*b1=S 3.Ra1-a8 # 2...a2*b1=R 3.Ra1-a8 # 2...a2*b1=B 3.Ra1-a8 # 2...b2*a1=Q 3.Rb1-b8 # 2...b2*a1=S 3.Rb1-b8 # 2...b2*a1=R 3.Rb1-b8 # 2...b2*a1=B 3.Rb1-b8 # 2...d7-d5 3.Be2-b5 # 2...d7-d6 3.Be2-b5 # 2...f7-f6 3.Be2-h5 # 1...b3*c2 2.Rh1-c1 zugzwang. 2...d7-d5 3.Be2-b5 # 2...d7-d6 3.Be2-b5 # 2...f7-f6 3.Be2-h5 # 1...d7-d5 2.Be2-b5 # 1...d7-d6 2.Be2-b5 # 1...f7-f6 2.Be2-h5 #" comments: - also in The Philadelphia Times (no. 1322), 20 August 1893 --- authors: - Loyd, Samuel source: Checkmate (Canadian), Novelty Tourney date: 1903 distinction: 1st Prize algebraic: white: [Kf1, Rf6, Ra5, Bg7, Bb5, Se4, Sb6, Pd2, Pb4] black: [Ke5, Rh2, Re8, Bg8, Bg3, Sh1, Sa2, Ph4, Pf2, Pe6, Pc3, Pb7, Pa6] stipulation: "#3" solution: | "1.Kf1-e2 ! threat: 2.Ke2-e3 threat: 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2...Sa2*b4 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.d2-d4 # 2...f2-f1=Q 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.d2-d4 # 2...f2-f1=S + 3.Rf6*f1 # 3.Bb5*f1 # 2...f2-f1=R 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Bb5-a4 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2...f2-f1=B 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.d2-d4 # 2...c3*d2 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 2...Bg3-f4 + 3.Rf6*f4 # 2...a6*b5 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Ra5*b5 # 3.d2-d4 # 2...Re8-e7 3.Rf6-f7 # 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5-e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2...Re8-c8 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5-c6 # 3.d2-d4 # 2...Re8-d8 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5-d7 # 2...Re8-f8 3.Rf6*f8 # 3.Rf6-f7 # 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5-e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2...Bg8-f7 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6*f7 # 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2.Rf6*f2 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 2.Rf6-f3 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 2.Rf6-f8 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 2.Rf6-f7 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 1...Sa2-c1 + 2.Ke2-e3 threat: 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2...Sc1-e2 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5-a4 # 3.Bb5*e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 2...Sc1-d3 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5*d3 # 2...Sc1-b3 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 2...f2-f1=Q 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.d2-d4 # 2...f2-f1=S + 3.Rf6*f1 # 3.Bb5*f1 # 2...f2-f1=R 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Bb5-a4 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2...f2-f1=B 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.d2-d4 # 2...c3*d2 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 2...Bg3-f4 + 3.Rf6*f4 # 2...a6*b5 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Ra5*b5 # 3.d2-d4 # 2...Re8-e7 3.Rf6-f7 # 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5-e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2...Re8-c8 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5-c6 # 3.d2-d4 # 2...Re8-d8 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5-d7 # 2...Re8-f8 3.Rf6*f8 # 3.Rf6-f7 # 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5-e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2...Bg8-f7 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6*f7 # 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 1...Sa2*b4 2.Bb5-d3 + 2...Sb4-d5 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f8 # 3.Rf6-f7 # 2...Ke5-d4 3.d2*c3 # 1...f2-f1=Q + 2.Ke2-e3 threat: 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.d2-d4 # 2...Qf1*b5 3.Rf6-f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.d2-d4 # 2...Qf1-c4 3.Rf6-f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5*c4 # 2...Qf1-d3 + 3.Bb5*d3 # 2...Qf1-e2 + 3.Bb5*e2 # 2...Qf1-c1 3.Rf6-f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 2...Qf1-d1 3.Rf6-f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 2...Qf1-e1 + 3.Bb5-e2 # 2...Qf1*f6 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 2...Qf1-f5 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2...Qf1-f4 + 3.Rf6*f4 # 2...Qf1-f3 + 3.Rf6*f3 # 2...Qf1-f2 + 3.Rf6*f2 # 2...Qf1-g1 + 3.Rf6-f2 # 2...Sh1-f2 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.d2-d4 # 2...Sa2*b4 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.d2-d4 # 2...Rh2*d2 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Bb5-d3 # 2...Rh2-e2 + 3.Bb5*e2 # 2...Rh2-f2 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.d2-d4 # 2...c3*d2 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 2...Bg3-f2 + 3.Rf6*f2 # 2...Bg3-f4 + 3.Rf6*f4 # 2...a6*b5 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.d2-d4 # 2...Re8-e7 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.d2-d4 # 2...Re8-c8 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.d2-d4 # 2...Re8-d8 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 2...Re8-f8 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.d2-d4 # 1...f2-f1=S + 2.Rf6-f2 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 1...f2-f1=R + 2.Ke2-e3 threat: 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Bb5-a4 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2...Rf1-d1 3.Rf6-f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 2...Rf1-e1 + 3.Bb5-e2 # 2...Rf1*f6 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 2...Rf1-f5 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2...Rf1-f4 3.Rf6*f4 # 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2...Rf1-f3 + 3.Rf6*f3 # 2...Rf1-f2 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2...Sh1-f2 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5-a4 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2...Sa2*b4 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.d2-d4 # 2...Rh2*d2 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Bb5-d3 # 2...Rh2-e2 + 3.Bb5*e2 # 2...Rh2-f2 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Bb5-a4 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2...c3*d2 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Bb5-a4 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 2...Bg3-f2 + 3.Rf6*f2 # 2...Bg3-f4 + 3.Rf6*f4 # 2...a6*b5 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Ra5*b5 # 3.d2-d4 # 2...Re8-e7 3.Bb5-a4 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5-e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2...Re8-c8 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Bb5-c6 # 3.d2-d4 # 2...Re8-d8 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Bb5-d7 # 2...Re8-f8 3.Bb5-a4 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5-e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2.Rf6-f2 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 1...f2-f1=B + 2.Ke2-e3 threat: 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.d2-d4 # 2...Bf1*b5 3.Rf6-f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.d2-d4 # 2...Bf1-c4 3.Rf6-f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5*c4 # 3.d2-d4 # 2...Bf1-d3 3.Rf6-f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5*d3 # 3.Bb5-c4 # 2...Bf1-e2 3.Rf6-f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5*e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.d2-d4 # 2...Sh1-f2 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.d2-d4 # 2...Sa2*b4 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.d2-d4 # 2...Rh2*d2 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5-d3 # 2...Rh2-e2 + 3.Bb5*e2 # 2...Rh2-f2 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.d2-d4 # 2...c3*d2 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 2...Bg3-f2 + 3.Rf6*f2 # 2...Bg3-f4 + 3.Rf6*f4 # 2...a6*b5 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.d2-d4 # 2...Re8-e7 3.Rf6-f7 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.d2-d4 # 2...Re8-c8 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.d2-d4 # 2...Re8-d8 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 2...Re8-f8 3.Rf6*f8 # 3.Rf6-f7 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.d2-d4 # 2...Bg8-f7 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6*f7 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.d2-d4 # 1...Rh2-g2 2.Rf6*f2 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 2.Rf6-f3 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 2.Rf6-f8 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 2.Rf6-f7 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 1...Rh2-h3 2.Rf6*f2 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 2.Rf6-f3 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 2.Rf6-f8 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 2.Rf6-f7 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 1...c3*d2 2.Rf6*f2 + 2...Ke5*e4 3.Bb5-d3 # 2.Rf6-f3 + 2...Ke5*e4 3.Bb5-d3 # 2.Rf6-f8 + 2...Ke5*e4 3.Bb5-d3 # 2.Rf6-f7 + 2...Ke5*e4 3.Bb5-d3 # 1...Bg3-f4 2.Rf6-f8 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 2.Rf6-f7 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 1...Ke5-d4 2.Rf6-f4 + 2...e6-e5 3.Se4*g3 # 1...Ke5*e4 2.Bb5-d3 + 2...Ke4-d4 3.Rf6-f4 # 1...Re8-e7 2.Rf6-f7 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 1...Re8-d8 2.Ke2-e3 threat: 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5-d7 # 2...Sa2*b4 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 2...f2-f1=Q 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 2...f2-f1=S + 3.Rf6*f1 # 2...f2-f1=R 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Bb5-d7 # 2...f2-f1=B 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 2...Bg3-f4 + 3.Rf6*f4 # 2...a6*b5 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 2...Rd8*d2 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5-d3 # 2...Rd8-d3 + 3.Bb5*d3 # 2...Rd8-d4 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 2...Rd8-d5 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Sb6-c4 # 2...Rd8-d6 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 2...Rd8-d7 3.Rf6-f7 # 3.Bb5*d7 # 2...Rd8-c8 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6-f8 # 3.Rf6-f7 # 3.Bb5-c6 # 3.d2-d4 # 2...Rd8-f8 3.Rf6*f8 # 3.Rf6-f7 # 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5-e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2...Bg8-f7 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6*f7 # 3.Bb5-d7 # 1...Re8-f8 2.Rf6*f8 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 2.Rf6-f7 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 1...Bg8-f7 2.Ke2-e3 threat: 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6*f7 # 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2...Sa2*b4 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6*f7 # 3.d2-d4 # 2...f2-f1=Q 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.d2-d4 # 2...f2-f1=S + 3.Rf6*f1 # 3.Bb5*f1 # 2...f2-f1=R 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Bb5-a4 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2...f2-f1=B 3.Rf6*f1 # 3.Rf6-f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6*f7 # 3.Bb5*f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.d2-d4 # 2...c3*d2 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6*f7 # 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5*e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 2...Bg3-f4 + 3.Rf6*f4 # 2...a6*b5 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6*f7 # 3.Ra5*b5 # 3.d2-d4 # 2...Re8-c8 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6*f7 # 3.Bb5-c6 # 3.d2-d4 # 2...Re8-d8 3.Rf6*f2 # 3.Rf6-f3 # 3.Rf6-f4 # 3.Rf6*f7 # 3.Bb5-d7 # 2...Re8-g8 3.Bb5-a4 # 3.Bb5-f1 # 3.Bb5-e2 # 3.Bb5-d3 # 3.Bb5-c4 # 3.Bb5-e8 # 3.Bb5-d7 # 3.Bb5-c6 # 3.Bb5*a6 # 3.d2-d4 # 2.Rf6*f2 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 2.Rf6-f3 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 2.Rf6*f7 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 1...Bg8-h7 2.Rf6*f2 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 2.Rf6-f3 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 2.Rf6-f8 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 # 2.Rf6-f7 + 2...Ke5*e4 3.Bb5-d3 # 3.d2-d3 #" keywords: - Loyd - Battery play - Check provocation comments: - Check also 367313, 211338 - also in The San Francisco Chronicle (no. 508), 3 January 1904 --- authors: - Loyd, Samuel source: 1st American Chess Congress date: 1857 distinction: 3rd Prize, set, 1857-1858 algebraic: white: [Kh4, Qa5, Rh6, Rh5, Bf5, Sg8, Sd8, Pc4, Pb3, Pa3] black: [Kd6, Rg6, Rd1, Bh8, Bg4, Sh2, Sf2, Ph3, Pf7, Pf3, Pd7, Pd4, Pd3] stipulation: "#3" solution: | "1.Kh4-g3 ! threat: 2.Qa5-b6 + 2...Kd6-e5 3.Sd8*f7 # 2.Kg3-f4 threat: 3.Qa5-b6 # 2...Bh8-e5 + 3.Qa5*e5 # 1...Rd1-b1 2.Qa5-b6 + 2...Kd6-e5 3.Sd8*f7 # 1...Rd1-c1 2.Qa5-b6 + 2...Kd6-e5 3.Sd8*f7 # 1...Rd1-g1 + 2.Kg3-f4 threat: 3.Qa5-b6 # 2...Bh8-e5 + 3.Qa5*e5 # 1...Rd1-e1 2.Qa5-b6 + 2...Kd6-e5 3.Sd8*f7 # 1...Sf2-h1 + 2.Kg3-f4 threat: 3.Qa5-b6 # 2...Bh8-e5 + 3.Qa5*e5 # 1...Sf2-e4 + 2.Kg3-f4 threat: 3.Qa5-b6 # 2...Bh8-e5 + 3.Qa5*e5 # 1...Sh2-f1 + 2.Kg3-f4 threat: 3.Qa5-b6 # 2...Bh8-e5 + 3.Qa5*e5 # 1...d3-d2 2.Qa5-b6 + 2...Kd6-e5 3.Sd8*f7 # 1...Bg4*h5 + 2.Kg3-f4 threat: 3.Qa5-b6 # 2...Bh8-e5 + 3.Qa5*e5 # 1...Bg4*f5 + 2.Kg3-f4 threat: 3.Qa5-b6 # 2...Bf5-e4 3.Qa5-c5 # 3.c4-c5 # 2...Bh8-e5 + 3.Qa5*e5 # 1...Rg6-f6 2.Kg3-f4 threat: 3.Qa5-b6 # 3.Qa5-e5 # 2...Rd1-e1 3.Qa5-b6 # 2...Rf6-e6 3.Qa5-b6 # 2...Rf6*h6 3.Qa5-b6 # 2...Rf6-g6 3.Qa5-b6 # 1...Bh8-e5 + 2.Qa5*e5 + 2...Kd6*e5 3.Sd8*f7 # 1...Bh8-f6 2.Qa5-b6 + 2...Kd6-e5 3.Sd8*f7 # 1...Bh8-g7 2.Qa5-b6 + 2...Kd6-e5 3.Sd8*f7 #" --- authors: - Loyd, Samuel source: Cleveland Voice date: 1877 distinction: 2nd Prize algebraic: white: [Kg8, Qd2, Rg2, Sf3, Pc2] black: [Ke4, Sh1, Ph6, Pf5] stipulation: "#3" solution: | "1.Qd2-c3 ! zugzwang. 1...Sh1-g3 2.Qc3-d4 + 2...Ke4*f3 3.Rg2-f2 # 1...Sh1-f2 2.Qc3-e5 + 2...Ke4*f3 3.Rg2-g3 # 1...Ke4-f4 2.Sf3-d2 threat: 3.Qc3-d4 # 2...Sh1-g3 3.Qc3*g3 # 2...Sh1-f2 3.Qc3-g3 # 1...Ke4-d5 2.Rg2-d2 + 2...Kd5-e6 3.Qc3-e5 # 2...Kd5-e4 3.Rd2-d4 # 1...f5-f4 2.Qc3-d3 # 1...h6-h5 2.Sf3-g5 + 2...Ke4-d5 3.Rg2-d2 # 2...Ke4-f4 3.Qc3-d4 #" --- authors: - Loyd, Samuel source: New York Recorder source-id: 61 date: 1891-11-14 algebraic: white: [Ka1, Rh4, Rc2, Bf8, Bd1, Sf1, Sc8, Pg5, Pe4] black: [Kd3, Pc4, Pc3] stipulation: "#3" solution: | "1.Bd1-g4 ! zugzwang. 1...Kd3-d4 2.Bg4-f5 zugzwang. 2...Kd4-d3 3.e4-e5 # 2...Kd4-e5 3.Bf8-g7 # 1...Kd3*e4 2.Bg4-e6 + 2...Ke4-e5 3.Rc2-e2 # 2...Ke4-f3 3.Be6-d5 # 2...Ke4-d3 3.Be6-f5 # 1...Kd3*c2 2.Rh4-h3 zugzwang. 2...Kc2-b3 3.Bg4-d1 # 2...Kc2-c1 3.Rh3*c3 #" --- authors: - Loyd, Samuel source: Manhattan Chess Club date: 1893 algebraic: white: [Kb8, Qa5, Rf2, Re6, Bh1, Ba7, Sd1, Sc8, Pc6, Pb6] black: [Kc4, Rb1, Ba8, Sg6, Sa1, Pg3, Pf5, Pd2, Pc3, Pa6] stipulation: "#3" solution: | "1.Re6-e1 ! threat: 2.Sd1-e3 + 2...Kc4-d4 3.Qa5-d5 # 2...Kc4-d3 3.Qa5-d5 # 2...Kc4-b3 3.Re1*b1 # 1...Sa1-c2 2.Sc8-d6 + 2...Kc4-d4 3.Qa5*c3 # 3.Qa5-d5 # 2...Kc4-d3 3.Qa5*c3 # 2...Kc4-b3 3.Bh1-d5 # 1...Sa1-b3 2.Sc8-d6 + 2...Kc4-d3 3.Qa5*c3 # 2...Kc4-d4 3.Qa5*c3 # 3.Qa5-d5 # 1...Rb1*b6 + 2.Sc8*b6 + 2...Kc4-d4 3.Qa5*c3 # 3.Qa5-d5 # 2...Kc4-d3 3.Qa5*c3 # 2...Kc4-b3 3.Qa5-a4 # 1...Rb1*d1 2.Qa5-a4 + 2...Kc4-c5 3.b6-b7 # 2...Kc4-d3 3.Rf2-f3 # 1...Rb1-c1 2.Qa5-a4 + 2...Kc4-c5 3.b6-b7 # 2...Kc4-d3 3.Rf2-f3 # 3.Re1-e3 # 1...d2*e1=Q 2.Sc8-d6 + 2...Kc4-d4 3.Qa5-d5 # 2...Kc4-d3 3.Qa5-d5 # 2...Kc4-b3 3.Bh1-d5 # 1...d2*e1=S 2.Sc8-d6 + 2...Kc4-d4 3.Qa5-d5 # 3.Qa5*c3 # 2...Kc4-d3 3.Qa5*c3 # 3.Qa5-d5 # 2...Kc4-b3 3.Bh1-d5 # 1...d2*e1=R 2.Sc8-d6 + 2...Kc4-d4 3.Qa5-d5 # 3.Qa5*c3 # 2...Kc4-d3 3.Qa5*c3 # 3.Qa5-d5 # 2...Kc4-b3 3.Bh1-d5 # 1...d2*e1=B 2.Sc8-d6 + 2...Kc4-d4 3.Qa5-d5 # 2...Kc4-d3 3.Qa5-d5 # 2...Kc4-b3 3.Bh1-d5 # 1...c3-c2 2.Sc8-d6 + 2...Kc4-b3 3.Rf2-f3 # 3.Bh1-d5 # 3.Re1-e3 # 2...Kc4-d4 3.Qa5-c3 # 3.Qa5-d5 # 3.Rf2*d2 # 2...Kc4-d3 3.Rf2*d2 # 3.Qa5*d2 # 3.Qa5-c3 # 3.Qa5-d5 # 2.Bh1-d5 + 2...Kc4-d4 3.Rf2*d2 # 2...Kc4-d3 3.Rf2*d2 # 3.Qa5*d2 # 3.Qa5-c3 # 1...Kc4-b3 2.Bh1-d5 + 2...Kb3-c2 3.Qa5*c3 # 1...f5-f4 2.Re1-e4 + 2...Kc4-d3 3.Qa5*c3 # 2...Kc4-b3 3.Qa5-a4 # 1...Sg6-f4 2.Rf2*f4 + 2...Kc4-d3 3.Qa5*c3 # 3.Qa5*f5 # 2...Kc4-b3 3.Qa5-a4 # 1...Sg6-e7 2.Rf2-f4 + 2...Kc4-d3 3.Qa5*c3 # 2...Kc4-b3 3.Qa5-a4 # 1...Ba8*c6 2.Qa5*c3 + 2...Kc4-b5 3.Bh1*c6 #" comments: - also in The Albany Evening Journal, 21 October 1893 - also in The Philadelphia Times (no. 1341), 22 October 1893 --- authors: - Loyd, Samuel source: Porter's Spirit of the Times date: 1859 algebraic: white: [Kb7, Qf1, Re6, Rc6, Sh7, Sh5, Pd6, Pb3] black: [Kd5, Rg8, Rc2, Bf8, Bd1, Sg3, Se8, Pg6, Pg5, Pc3, Pb5, Pb4] stipulation: "#3" solution: | "1.Rc6-c5 + ! 1...Kd5*c5 2.Qf1*b5 + 2...Kc5*b5 3.Re6-e5 # 2...Kc5-d4 3.Qb5-c4 # 1...Kd5-d4 2.Qf1-d3 + 2...Kd4*d3 3.Rc5-d5 # 2...Kd4*c5 3.Re6-e5 # 1...Kd5*e6 2.Qf1-f7 + 2...Ke6*d6 3.Rc5-d5 # 2...Ke6*f7 3.Sh7*g5 #" --- authors: - Loyd, Samuel source: Syracuse Standard date: 1858 algebraic: white: [Ka1, Qf1, Rf3, Sf8] black: [Kf5, Bf4, Pg6, Pf6, Pe6] stipulation: "#3" solution: | "1.Rf3-c3 ! zugzwang. 1...Kf5-g5 2.Qf1-h3 threat: 3.Sf8*e6 # 3.Sf8-h7 # 2...Bf4-c1 3.Sf8*e6 # 2...Bf4-d2 3.Sf8*e6 # 2...Bf4-e3 3.Sf8*e6 # 2...Bf4-h2 3.Sf8*e6 # 2...Bf4-g3 3.Sf8*e6 # 2...Bf4-b8 3.Sf8*e6 # 2...Bf4-c7 3.Sf8*e6 # 2...Bf4-d6 3.Sf8*e6 # 2...Bf4-e5 3.Sf8*e6 # 2...f6-f5 3.Sf8-h7 # 1...Kf5-e5 2.Qf1-d3 threat: 3.Sf8-d7 # 3.Sf8*g6 # 3.Rc3-c5 # 2...Bf4-c1 3.Sf8*g6 # 2...Bf4-d2 3.Sf8*g6 # 2...Bf4-e3 3.Sf8*g6 # 2...Bf4-h2 3.Sf8*g6 # 2...Bf4-g3 3.Sf8*g6 # 2...Bf4-h6 3.Sf8*g6 # 2...Bf4-g5 3.Sf8*g6 # 2...f6-f5 3.Sf8-d7 # 1...Kf5-g4 2.Qf1-h3 + 2...Kg4-g5 3.Sf8*e6 # 3.Sf8-h7 # 1...Kf5-e4 2.Qf1-d3 + 2...Ke4-e5 3.Sf8-d7 # 3.Sf8*g6 # 3.Rc3-c5 # 1...e6-e5 2.Qf1-h3 + 2...Kf5-g5 3.Sf8-e6 # 3.Sf8-h7 # 2...Kf5-e4 3.Qh3-d3 # 1...g6-g5 2.Qf1-d3 + 2...Kf5-e5 3.Rc3-c5 # 3.Sf8-d7 # 3.Sf8-g6 # 2...Kf5-g4 3.Qd3-h3 #" --- authors: - Loyd, Samuel source: The Saturday Courier source-id: v 12 date: 1855-06-09 algebraic: white: [Kh4, Qe5, Sg5, Sf3] black: [Kh6, Ra8, Bb1, Pg7, Pg6, Pg4] stipulation: "#3" solution: | "1.Qe5-b8 ! threat: 2.Qb8*a8 threat: 3.Qa8-h8 # 2.Sg5-f7 + 2...Kh6-h7 3.Sf3-g5 # 2.Sf3-e5 threat: 3.Se5*g4 # 3.Se5-f7 # 2...Bb1-f5 3.Se5-f7 # 2...Bb1-a2 3.Se5*g4 # 2...Ra8-a4 3.Qb8-h8 # 3.Se5-f7 # 2...Ra8-a7 3.Qb8-h8 # 3.Se5*g4 # 1...Bb1-f5 2.Sg5-f7 + 2...Kh6-h7 3.Sf3-g5 # 1...Bb1-e4 2.Sg5-f7 + 2...Kh6-h7 3.Sf3-g5 # 2.Sf3-e5 threat: 3.Se5*g4 # 3.Se5-f7 # 2...Be4-f3 3.Se5-f7 # 2...Be4-f5 3.Se5-f7 # 2...Be4-d5 3.Se5*g4 # 2...Ra8-a7 3.Qb8-h8 # 3.Se5*g4 # 1...Bb1-a2 2.Qb8-h2 threat: 3.Kh4*g4 # 3.Kh4-g3 # 2...Ba2-e6 3.Kh4-g3 # 2...g4-g3 3.Kh4*g3 # 2...g4*f3 3.Kh4-g4 # 2...Ra8-a4 3.Kh4-g3 # 1...g4-g3 2.Qb8*a8 threat: 3.Qa8-h8 # 2.Sg5-f7 + 2...Kh6-h7 3.Sf3-g5 # 1...g4*f3 2.Qb8*a8 threat: 3.Qa8-h8 # 1...Ra8*b8 2.Sf3-e5 threat: 3.Se5*g4 # 3.Se5-f7 # 2...Bb1-f5 3.Se5-f7 # 2...Bb1-a2 3.Se5*g4 # 2...Rb8-b4 3.Se5-f7 # 2...Rb8-b7 3.Se5*g4 # 2...Rb8-f8 3.Se5*g4 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 45 date: 1857-11 distinction: 1st Prize algebraic: white: [Kc7, Qb2, Rg8, Sf2] black: [Kg2, Pg3, Pf4] stipulation: "#3" solution: | "1.Sf2-g4 + ! 1...Kg2-f1 {(g1)} 2.Rg8-a8 threat: 3.Ra8-a1 # 1...Kg2-h3 2.Sg4-h2 ! 2...g3*h2 3.Qb2-h8 # 1...Kg2-h1 2.Qb2-h2 + ! 2...g3*h2 3.Sg4-f2 # 1...Kg2-f3 2.Qb2-c2 zugzwang. 2...g3-g2 3.Qc2-d3 #" keywords: - Checking key - Star Black King - Miniature comments: - also in The Cincinnati Enquirer (no. 2), 28 November 1858 - also in The Philadelphia Times (no. 363), 5 August 1883 --- authors: - Loyd, Samuel source: Chess Monthly date: 1857 algebraic: white: [Kf2, Qh5, Rd6, Sg3, Ph6, Ph4, Pd3] black: [Kf4, Rg8, Rf8, Bh8, Be8, Pg4, Pf3, Pe5, Pc7, Pc6] stipulation: "#3" solution: | "1.Rd6-d4 + ! 1...e5-e4 2.Rd4*e4 # 1...e5*d4 2.Qh5-c5 zugzwang. 2...Be8-d7 3.Sg3-h5 # 2...Be8-h5 3.Sg3*h5 # 2...Be8-g6 3.Qc5-g5 # 2...Be8-f7 3.Qc5-f5 # 2...Rf8-f5 3.Qc5*f5 # 2...Rf8-f6 3.Qc5*d4 # 2...Rf8-f7 3.Sg3-h5 # 2...Rg8-g5 3.Qc5*g5 # 2...Rg8-g6 3.Sg3-h5 # 2...Rg8-g7 3.Qc5*d4 # 2...Bh8-e5 3.Qc5-c1 # 2...Bh8-f6 3.Qc5-f5 # 2...Bh8-g7 3.Qc5-g5 #" --- authors: - Loyd, Samuel source: Cincinnati Dispatch source-id: 45 date: 1858-09-05 distinction: 2nd Prize algebraic: white: [Ka1, Qb1, Bg2, Sh3] black: [Ke1, Bd1, Sc8, Pg7, Pf5, Pe2, Pd2] stipulation: "#3" solution: | "1.Bg2-a8 ! threat: 2.Qb1-b7 threat: 3.Qb7-h1 # 1...Ke1-f1 2.Qb1*f5 + 2...Kf1-e1 3.Qf5-f2 # 1...f5-f4 2.Qb1-g6 threat: 3.Qg6-g1 # 1...Sc8-a7 2.Qb1-b6 threat: 3.Qb6-g1 # 3.Qb6-f2 # 2...Bd1-a4 3.Qb6-g1 # 2...Bd1-b3 3.Qb6-g1 # 2...Bd1-c2 3.Qb6-g1 # 1...Sc8-b6 2.Qb1*b6 threat: 3.Qb6-g1 # 3.Qb6-f2 # 2...Bd1-a4 3.Qb6-g1 # 2...Bd1-b3 3.Qb6-g1 # 2...Bd1-c2 3.Qb6-g1 # 1...Sc8-d6 2.Qb1-b6 threat: 3.Qb6-g1 # 3.Qb6-f2 # 2...Bd1-a4 3.Qb6-g1 # 2...Bd1-b3 3.Qb6-g1 # 2...Bd1-c2 3.Qb6-g1 # 2...Sd6-e4 3.Qb6-g1 # 1...Sc8-e7 2.Qb1-b6 threat: 3.Qb6-g1 # 3.Qb6-f2 # 2...Bd1-a4 3.Qb6-g1 # 2...Bd1-b3 3.Qb6-g1 # 2...Bd1-c2 3.Qb6-g1 #" keywords: - Loyd clearance comments: - also in The Turf, Field and Farm, 1886 - also in The Toledo Daily Blade, 13 May 1886 --- authors: - Loyd, Samuel source: Holyoke Transcript date: 1877 algebraic: white: [Kh4, Re1, Bg3, Sg2, Pb7, Pa7] black: [Kh1, Bg1, Ba8] stipulation: "#3" solution: | "1.b7*a8=S ! 1...Kh1*g2 2.Sa8-b6 Kg2-f3 3.a7-a8=Q # 3.a7-a8=B # 2...Kg2-h1 3.a7-a8=Q # 3.a7-a8=B #" keywords: - Underpromotion comments: - also in The Philadelphia Times (no. 1041), 7 September 1890 - reprinted in Die Tat 1970-01-31 --- authors: - Loyd, Samuel source: Wilkes' Spirit of the Times source-id: 132 date: 1868-01-04 algebraic: white: [Kb1, Qh7, Bg1, Sf4, Sf3, Ph6, Ph2, Pg2, Pe4] black: [Kh1, Sb7] stipulation: "#3" solution: | "1.Bg1-c5 ! zugzwang. 1...Sb7*c5 2.Qh7-a7 zugzwang. 2...Sc5-a4 3.Qa7-g1 # 2...Sc5-b3 3.Qa7-g1 # 2...Sc5-d3 3.Qa7-g1 # 2...Sc5*e4 3.Qa7-g1 # 2...Sc5-e6 3.Qa7-g1 # 2...Sc5-d7 3.Qa7-g1 # 2...Sc5-b7 3.Qa7-g1 # 2...Sc5-a6 3.Qa7-g1 # 1...Sb7-a5 2.Qh7-d7 threat: 3.Qd7-d1 # 1...Sb7-d6 2.Qh7-d7 zugzwang. 2...Sd6-b5 3.Qd7-d1 # 2...Sd6-c4 3.Qd7-d1 # 2...Sd6*e4 3.Qd7-d1 # 2...Sd6-f5 3.Qd7-d1 # 2...Sd6-f7 3.Qd7-d1 # 2...Sd6-e8 3.Qd7-d1 # 2...Sd6-c8 3.Qd7-d1 # 2...Sd6-b7 3.Qd7-d1 # 1...Sb7-d8 2.Qh7-d7 threat: 3.Qd7-d1 #" keywords: - Annihilation --- authors: - Loyd, Samuel source: Wilkes' Spirit of the Times source-id: 148 date: 1868-05-02 algebraic: white: [Kd7, Qc5, Rc2, Bd5, Sf1] black: [Kd1, Rb8, Ra1, Bc1, Ba6, Se7, Se1, Pf5, Pc6, Pb5, Pb4] stipulation: "#3" solution: | "1.Qc5-e3 ! threat: 2.Qe3-e2 # 1...Bc1*e3 2.Sf1*e3 # 1...Bc1-d2 2.Qe3*d2 # 1...Kd1*c2 2.Qe3-b3 # 1...Se1*c2 2.Bd5-f3 # 1...Ba6-c8 + 2.Kd7-d6 threat: 3.Qe3-e2 # 2...Bc1*e3 3.Sf1*e3 # 2...Bc1-d2 3.Qe3*d2 # 2...Kd1*c2 3.Qe3-b3 # 2...Se1*c2 3.Bd5-f3 # 1...Rb8-b7 + 2.Kd7-e6 threat: 3.Qe3-e2 # 2...Bc1*e3 3.Sf1*e3 # 2...Bc1-d2 3.Qe3*d2 # 2...Kd1*c2 3.Qe3-b3 # 2...Se1*c2 3.Bd5-f3 # 1...Rb8-d8 + 2.Kd7*d8 threat: 3.Qe3-e2 # 2...Bc1*e3 3.Sf1*e3 # 2...Bc1-d2 3.Qe3*d2 # 2...Kd1*c2 3.Qe3-b3 # 2...Se1*c2 3.Bd5-f3 #" --- authors: - Loyd, Samuel source: Cleveland Leader date: 1876-08-24 algebraic: white: [Ke1, Qg6, Bg1, Sd5, Ph5, Pc4, Pc2] black: [Kf3, Ph6, Pg7, Pf5, Pe2] stipulation: "#3" solution: | "1.Bg1-a7 ! zugzwang. 1...Kf3-e4 2.Qg6-g3 threat: 3.Sd5-c3 # 3.Qg3-f4 # 3.Qg3-e3 # 2...f5-f4 3.Qg3*f4 # 2...g7-g5 3.Sd5-c3 # 3.Sd5-f6 # 3.Qg3-e3 # 1...f5-f4 2.Sd5-b6 zugzwang. 2...Kf3-e3 3.Qg6-d3 #" keywords: - Indian --- authors: - Loyd, Samuel source: American Chess Journal date: 1876 algebraic: white: [Kc5, Rh8, Ph7, Pg4, Pg3, Pg2, Pe2, Pc6, Pa5] black: [Kc7, Bb8, Ph3, Pg7, Pg6, Pf7, Pf6, Pb5] stipulation: "#3" solution: | "1.Rh8*b8 ! threat: 2.Rb8-b7 + 2...Kc7-c8 3.h7-h8=Q # 3.h7-h8=R # 2...Kc7-d8 3.h7-h8=Q # 3.h7-h8=R # 2.h7-h8=Q threat: 3.Qh8-c8 # 3.Qh8-d8 # 3.Rb8-b7 # 3.Rb8-c8 # 2.h7-h8=R threat: 3.Rh8-c8 # 3.Rb8-b7 # 3.Rb8-c8 # 1...h3*g2 2.Rb8-b7 + 2...Kc7-c8 3.h7-h8=Q # 3.h7-h8=R # 2...Kc7-d8 3.h7-h8=Q # 3.h7-h8=R # 1...Kc7*b8 2.Kc5-b6 threat: 3.h7-h8=Q # 3.h7-h8=R #" --- authors: - Loyd, Samuel source: Newark Sunday Call date: 1877 algebraic: white: [Kd4, Rg6, Rd7, Ba7, Pf6] black: [Ka8, Bf8] stipulation: "#3" solution: | "1.Rd7-h7 ! zugzwang. 1...Bf8-a3 2.Rg6-g8 + 2...Ba3-f8 3.Rg8*f8 # 1...Bf8-b4 2.Rg6-g8 + 2...Bb4-f8 3.Rg8*f8 # 1...Bf8-c5 + 2.Ba7*c5 threat: 3.Rg6-g8 # 1...Bf8-d6 2.Rg6-g8 + 2...Bd6-f8 3.Rg8*f8 # 2...Bd6-b8 3.Rg8*b8 # 1...Bf8-e7 2.f6*e7 threat: 3.e7-e8=Q # 3.e7-e8=R # 1...Bf8-h6 2.Rg6-g8 + 2...Bh6-f8 3.Rg8*f8 # 1...Bf8-g7 2.f6*g7 threat: 3.g7-g8=Q # 3.g7-g8=R #" --- authors: - Loyd, Samuel source: New York State Chess Association date: 1889 algebraic: white: [Kf8, Qb4, Re6, Ra2, Se4, Se2, Ph4, Pg5, Pf3, Pd5, Pa3] black: [Ke3, Be5, Ph2, Pg6, Pg2, Pa4] stipulation: "#3" solution: | "1.Se4-d6 ! threat: 2.Se2-g1 threat: 3.Qb4-d2 # 3.Qb4-e4 # 2...h2*g1=Q 3.Qb4-e4 # 2...h2*g1=S 3.Qb4-e4 # 2...h2*g1=R 3.Qb4-e4 # 2...h2*g1=B 3.Qb4-e4 # 2...Ke3-d3 3.Qb4-d2 # 1...Ke3*f3 2.Re6-f6 + 2...Kf3-e3 3.Qb4-d2 # 3.Qb4-e4 # 2...Be5-f4 3.Qb4*f4 # 2...Be5*f6 3.Qb4-f4 #" comments: - also in The San Francisco Chronicle (no. 33), 23 October 1921 --- authors: - Loyd, Samuel source: The British Chess Magazine date: 1910-01 algebraic: white: [Kb7, Qf7, Rd3, Be5, Bb1, Sh6, Sf3] black: [Ke4, Qg7, Rg1, Be7, Sf1, Pg5, Pd4, Pc5, Pa7] stipulation: "#3" solution: | "1.Qf7-b3 ! threat: 2.Rd3*d4 # 2.Rd3-e3 # 1...Sf1-e3 2.Rd3*e3 # 1...c5-c4 2.Rd3*d4 # 1...Be7-d6 + 2.Kb7-a6 threat: 3.Rd3*d4 # 3.Rd3-e3 # 2...Sf1-e3 3.Rd3*e3 # 2...c5-c4 3.Rd3*d4 # 2...Bd6*e5 3.Rd3*d4 # 2...Qg7*e5 3.Rd3*d4 # 2...Qg7-b7 + 3.Qb3*b7 # 1...Be7-f6 + 2.Kb7-a6 threat: 3.Rd3*d4 # 3.Rd3-e3 # 2...Sf1-e3 3.Rd3*e3 # 2...c5-c4 3.Rd3*d4 # 2...Bf6*e5 3.Rd3*d4 # 2...Qg7-b7 + 3.Qb3*b7 # 1...Be7-f8 + 2.Kb7-a8 threat: 3.Rd3*d4 # 3.Rd3-e3 # 2...Sf1-e3 3.Rd3*e3 # 2...c5-c4 3.Rd3*d4 # 2...Qg7*e5 3.Rd3*d4 # 2...Qg7-b7 + 3.Qb3*b7 # 1...Be7-d8 + 2.Kb7-a8 threat: 3.Rd3*d4 # 3.Rd3-e3 # 2...Sf1-e3 3.Rd3*e3 # 2...c5-c4 3.Rd3*d4 # 2...Qg7*e5 3.Rd3*d4 # 2...Qg7-b7 + 3.Qb3*b7 # 1...Qg7*e5 2.Rd3*d4 #" --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper source-id: 18 date: 1856-04-12 algebraic: white: [Kh1, Qb2, Bh6, Bh5, Pe2] black: [Ke4] stipulation: "#3" solution: | "1.Bh6-g7 ! threat: 2.Qb2-e5 # 1...Ke4-e3 2.Qb2-d4 # 1...Ke4-d5 2.Bh5-e8 zugzwang. 2...Kd5-d6 3.Qb2-e5 # 2...Kd5-c5 3.Qb2-d4 # 2...Kd5-e6 3.Qb2-e5 # 2...Kd5-e4 3.Qb2-e5 # 2...Kd5-c4 3.Qb2-b5 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 48 date: 1857-11 distinction: 2nd Prize algebraic: white: [Kh7, Re1, Rd5, Be5, Be2, Pc3] black: [Ke4] stipulation: "#3" solution: | "1.Be5-c7 ! zugzwang. 1...Ke4*d5 2.Be2-b5 threat: 3.Re1-e5 # 1...Ke4-e3 2.Bc7-g3 threat: 3.Be2-d1 # 3.Be2-h5 # 3.Be2-g4 # 2...Ke3-e4 3.Rd5-e5 #" comments: - A la memoire de Szen. --- authors: - Loyd, Samuel source: American Union date: 1858-08 distinction: 2nd Prize algebraic: white: [Kh2, Qa7, Bd1, Bc3] black: [Kd5, Pd6] stipulation: "#3" solution: | "1.Bd1-b3 + ! 1...Kd5-c6 2.Bc3-b4 zugzwang. 2...d6-d5 3.Bb3-a4 # 2...Kc6-b5 3.Qa7-b7 # 1...Kd5-e4 2.Qa7-f2 zugzwang. 2...Ke4-d3 3.Qf2-f3 # 2...d6-d5 3.Bb3-c2 #" --- authors: - Loyd, Samuel source: Chess Monthly date: 1858-04 algebraic: white: [Kg3, Sf4, Sf1] black: [Kh1, Pg4] stipulation: "#3" solution: | "1.Sf4-h3 ! zugzwang. 1...g4*h3 2.Kg3-f2 zugzwang. 2...h3-h2 3.Sf1-g3 #" --- authors: - Loyd, Samuel source: Chess Monthly date: 1858-04 algebraic: white: [Kh5, Sf5, Se4] black: [Kh1, Sh2, Sf2, Pg2] stipulation: "#3" solution: | "1.Sf5-g3 + ! 1...Kh1-g1 2.Se4-g5 zugzwang. 2...Sf2-d1 3.Sg5-h3 # 2...Sf2-h1 3.Sg5-h3 # 2...Sf2-h3 3.Sg5*h3 # 2...Sf2-g4 3.Sg5-h3 # 2...Sf2-e4 3.Sg5-h3 # 2...Sf2-d3 3.Sg5-h3 # 2...Sh2-f1 3.Sg5-f3 # 2...Sh2-g4 3.Sg5-f3 # 2...Sh2-f3 3.Sg5*f3 #" --- authors: - Loyd, Samuel source: The Albion (New York) source-id: 476 date: 1858-02-13 algebraic: white: [Kd2, Rh5, Bd1, Sb2] black: [Kd4] stipulation: "#3" solution: | "1.Sb2-d3 ! zugzwang. 1...Kd4-e4 2.Kd2-c3 threat: 3.Rh5-e5 # 1...Kd4-c4 2.Kd2-e3 threat: 3.Rh5-c5 #" --- authors: - Loyd, Samuel source: Syracuse Standard source-id: 52 date: 1858-09-30 algebraic: white: [Kd7, Qh1, Ra2, Pf4] black: [Kc4, Pc5, Pb5] stipulation: "#3" solution: | "1.Ra2-a3 ! threat: 2.Qh1-e4 # 1...Kc4-d4 2.Kd7-d6 threat: 3.Qh1-d5 # 2...Kd4-c4 3.Qh1-e4 # 2.Kd7-e6 threat: 3.Qh1-d5 # 2...Kd4-c4 3.Qh1-e4 # 2.Kd7-c6 threat: 3.Qh1-d5 # 2...Kd4-c4 3.Qh1-e4 # 1...Kc4-b4 2.Qh1-a8 zugzwang. 2...Kb4-c4 3.Qa8-e4 # 2...c5-c4 3.Qa8-f8 # 1...b5-b4 2.Qh1-f1 + 2...Kc4-d4 3.Qf1-d3 # 2...Kc4-d5 3.Qf1-d3 #" --- authors: - Loyd, Samuel source: Baltimore Dispatch source-id: 33 date: 1859-02-05 algebraic: white: [Ka3, Qh6, Ba5, Sd6] black: [Kc6, Pe5] stipulation: "#3" solution: | "1.Ba5-b4 ! zugzwang. 1...e5-e4 2.Qh6-h7 threat: 3.Qh7-b7 # 2...Kc6-d5 3.Qh7*e4 # 1...Kc6-c7 2.Qh6-h7 + 2...Kc7-c6 3.Qh7-b7 # 2...Kc7-b8 3.Qh7-b7 # 2...Kc7-d8 3.Bb4-a5 # 2...Kc7-b6 3.Qh7-b7 # 2.Qh6-g7 + 2...Kc7-c6 3.Qg7-b7 # 2...Kc7-b8 3.Qg7-b7 # 2...Kc7-d8 3.Bb4-a5 # 2...Kc7-b6 3.Qg7-b7 # 1...Kc6-b6 2.Qh6-g7 threat: 3.Qg7-b7 # 2.Qh6-h7 threat: 3.Qh7-b7 # 1...Kc6-d7 2.Qh6-h7 + 2...Kd7-d8 3.Bb4-a5 # 2...Kd7-e6 3.Qh7-f7 # 2...Kd7-c6 3.Qh7-b7 # 2.Qh6-g7 + 2...Kd7-d8 3.Bb4-a5 # 2...Kd7-e6 3.Qg7-f7 # 2...Kd7-c6 3.Qg7-b7 # 1...Kc6-d5 2.Qh6-h7 zugzwang. 2...Kd5-c6 3.Qh7-b7 # 2...Kd5-d4 3.Qh7-e4 # 2...Kd5-e6 3.Qh7-f7 # 2...e5-e4 3.Qh7*e4 #" --- authors: - Loyd, Samuel source: Baltimore Dispatch source-id: 33v date: 1859-02-05 algebraic: white: [Ka3, Qd3, Bb4, Sf7] black: [Kc6, Pe5] stipulation: "#3" solution: | "1.Qd3-h7 ! zugzwang. 1...Kc6-b6 2.Sf7-d6 threat: 3.Qh7-b7 # 1...e5-e4 2.Sf7-d6 threat: 3.Qh7-b7 # 2...Kc6-d5 3.Qh7*e4 # 1...Kc6-c7 2.Sf7-d6 + 2...Kc7-c6 3.Qh7-b7 # 2...Kc7-b8 3.Qh7-b7 # 2...Kc7-d8 3.Bb4-a5 # 2...Kc7-b6 3.Qh7-b7 # 1...Kc6-b7 2.Sf7-d6 + 2...Kb7-b8 3.Qh7-b7 # 2...Kb7-b6 3.Qh7-b7 # 2...Kb7-a8 3.Qh7-b7 # 2...Kb7-c6 3.Qh7-b7 # 2...Kb7-a6 3.Qh7-b7 # 1...Kc6-d7 2.Sf7-d6 + 2...Kd7-d8 3.Bb4-a5 # 2...Kd7-e6 3.Qh7-f7 # 2...Kd7-c6 3.Qh7-b7 # 1...Kc6-d5 2.Sf7-d6 zugzwang. 2...Kd5-d4 3.Qh7-e4 # 2...Kd5-c6 3.Qh7-b7 # 2...Kd5-e6 3.Qh7-f7 # 2...e5-e4 3.Qh7*e4 # 1...Kc6-b5 2.Sf7-d6 + 2...Kb5-b6 3.Qh7-b7 # 2...Kb5-a6 3.Qh7-b7 # 2...Kb5-c6 3.Qh7-b7 #" --- authors: - Loyd, Samuel source: The Chess Monthly date: 1859-04 algebraic: white: [Kd7, Rd8, Rc6] black: [Kb7, Pa7] stipulation: "#3" solution: | "1.Rd8-a8 ! zugzwang. 1...a7-a5 2.Ra8*a5 zugzwang. 2...Kb7-b8 3.Rc6-b6 # 2.Ra8-a6 threat: 3.Rc6-b6 # 1...a7-a6 2.Ra8*a6 threat: 3.Rc6-b6 # 1...Kb7*a8 2.Kd7-c7 zugzwang. 2...a7-a5 3.Rc6-a6 # 2...a7-a6 3.Rc6*a6 # 2.Kd7-c8 zugzwang. 2...a7-a5 3.Rc6-a6 # 2...a7-a6 3.Rc6*a6 #" --- authors: - Loyd, Samuel source: The Musical World date: 1859 algebraic: white: [Kd4, Qb3, Be7, Sb6] black: [Kc6, Sa8, Pb7] stipulation: "#3" solution: | "1.Qb3-a4 + ! 1...Kc6*b6 2.Be7-d6 zugzwang. 2...Sa8-c7 3.Bd6-c5 # 1...Kc6-c7 2.Be7-d8 + 2...Kc7-b8 3.Qa4*a8 # 2...Kc7*d8 3.Qa4-d7 # 2...Kc7-d6 3.Qa4-d7 #" --- authors: - Loyd, Samuel source: The Musical World source-id: 41v date: 1859-08-06 algebraic: white: [Kh6, Qa5, Bf7, Pe5] black: [Kf8, Rd8, Pe6] stipulation: "#3" solution: | "1.Kh6-g6 ! threat: 2.Qa5*d8 # 1...Rd8-d1 2.Qa5-b4 + 2...Rd1-d6 3.Qb4*d6 # 2.Qa5-a3 + 2...Rd1-d6 3.Qa3*d6 # 2.Qa5-a8 + 2...Rd1-d8 3.Qa8*d8 # 2...Kf8-e7 3.Qa8-e8 # 2.Qa5-c5 + 2...Rd1-d6 3.Qc5*d6 # 1...Rd8-d2 2.Qa5*d2 threat: 3.Qd2-b4 # 3.Qd2-d8 # 3.Qd2-d6 # 2...Kf8-e7 3.Qd2-d6 # 2.Qa5-b4 + 2...Rd2-d6 3.Qb4*d6 # 2.Qa5-a3 + 2...Rd2-d6 3.Qa3*d6 # 2.Qa5-a8 + 2...Rd2-d8 3.Qa8*d8 # 2...Kf8-e7 3.Qa8-e8 # 2.Qa5-c5 + 2...Rd2-d6 3.Qc5*d6 # 1...Rd8-d3 2.Qa5-b4 + 2...Rd3-d6 3.Qb4*d6 # 2.Qa5-a8 + 2...Rd3-d8 3.Qa8*d8 # 2...Kf8-e7 3.Qa8-e8 # 2.Qa5-c5 + 2...Rd3-d6 3.Qc5*d6 # 1...Rd8-d4 2.Qa5-a3 + 2...Rd4-b4 3.Qa3*b4 # 2...Rd4-d6 3.Qa3*d6 # 2.Qa5-a8 + 2...Rd4-d8 3.Qa8*d8 # 2...Kf8-e7 3.Qa8-e8 # 2.Qa5-c5 + 2...Rd4-d6 3.Qc5*d6 # 1...Rd8-d5 2.Qa5-b4 + 2...Rd5-c5 3.Qb4*c5 # 2...Rd5-d6 3.Qb4*d6 # 2.Qa5-a3 + 2...Rd5-c5 3.Qa3*c5 # 2...Rd5-d6 3.Qa3*d6 # 2.Qa5-a8 + 2...Rd5-d8 3.Qa8*d8 # 2...Kf8-e7 3.Qa8-e8 # 1...Rd8-d6 2.e5*d6 threat: 3.Qa5-d8 # 3.Qa5-a8 # 2.Qa5-b4 threat: 3.Qb4*d6 # 2.Qa5-a3 threat: 3.Qa3*d6 # 2.Qa5-a8 + 2...Rd6-d8 3.Qa8*d8 # 2...Kf8-e7 3.Qa8-e8 # 2.Qa5-c5 threat: 3.Qc5*d6 # 1...Rd8-d7 2.Qa5-a8 + 2...Rd7-d8 3.Qa8*d8 # 2...Kf8-e7 3.Qa8-e8 # 1...Rd8-a8 2.Qa5-b4 # 2.Qa5-c5 # 1...Rd8-b8 2.Qa5-c5 # 1...Rd8-c8 2.Qa5-b4 + 2...Rc8-c5 3.Qb4*c5 # 2.Qa5-a3 + 2...Rc8-c5 3.Qa3*c5 # 1...Rd8-e8 2.Qa5-d2 zugzwang. 2...Re8-e7 3.Qd2-h6 # 2...Re8-a8 3.Qd2-b4 # 3.Qd2-d6 # 2...Re8-b8 3.Qd2-d6 # 2...Re8-c8 3.Qd2-d6 # 2...Re8-d8 3.Qd2*d8 # 2...Kf8-e7 3.Qd2-d6 # 1...Kf8-e7 2.Qa5-b4 + 2...Ke7-d7 3.Qb4-b7 # 2...Rd8-d6 3.Qb4*d6 #" --- authors: - Loyd, Samuel source: Saturday Press date: 1859 algebraic: white: [Ke2, Qf2, Ph2] black: [Ke4, Ph7, Pe5, Pd5] stipulation: "#3" solution: | "1.h2-h4 ! zugzwang. 1...d5-d4 2.Qf2-f3 # 1...h7-h5 2.Qf2-f8 zugzwang. 2...Ke4-d4 3.Qf8-b4 # 2...d5-d4 3.Qf8-f3 # 1...h7-h6 2.h4-h5 zugzwang. 2...d5-d4 3.Qf2-f3 #" --- authors: - Loyd, Samuel source: Baltimore Dispatch source-id: 89 date: 1860-06-09 algebraic: white: [Kd7, Bh6, Bc2, Se7, Se4] black: [Ke5, Pc4] stipulation: "#3" solution: | "1.Se4-c3 ! zugzwang. 1...Ke5-f6 2.Sc3-d5 + 2...Kf6-f7 3.Bc2-g6 # 2...Kf6-e5 3.Bh6-g7 # 1...Ke5-d4 2.Se7-d5 zugzwang. 2...Kd4-c5 3.Bh6-e3 # 2...Kd4-e5 3.Bh6-g7 #" --- authors: - Loyd, Samuel source: Fitzgerald's City Item source-id: 11 date: 1860-04-28 algebraic: white: [Ka5, Rb4, Bf8, Sg8, Se3, Pe7] black: [Ke8] stipulation: "#3" solution: | "1.Rb4-g4 ! zugzwang. 1...Ke8-f7 2.Rg4-g7 + 2...Kf7-e8 3.Sg8-f6 # 2...Kf7-e6 3.e7-e8=Q # 3.e7-e8=R # 1...Ke8-d7 2.Rg4-g7 zugzwang. 2...Kd7-c7 3.e7-e8=Q # 2...Kd7-d6 3.e7-e8=Q # 2...Kd7-c8 3.e7-e8=Q # 3.e7-e8=R # 2...Kd7-e8 3.Sg8-f6 # 2...Kd7-e6 3.e7-e8=Q # 3.e7-e8=R # 2...Kd7-c6 3.e7-e8=Q # 3.e7-e8=B #" --- authors: - Loyd, Samuel source: Le Sphinx source-id: 139 date: 1866-11 algebraic: white: [Kh1, Qc6, Rf3] black: [Ka8, Rb7, Sh6, Sc1] stipulation: "#3" solution: | "1.Qc6-d5 ! threat: 2.Rf3-a3 + 2...Ka8-b8 3.Qd5-d8 # 2.Rf3-f8 + 2...Ka8-a7 3.Qd5-a5 # 1...Sc1-d3 2.Rf3-f8 + 2...Ka8-a7 3.Qd5-a5 # 1...Sc1-b3 2.Rf3*b3 threat: 3.Qd5*b7 # 1...Sh6-f5 2.Rf3-a3 + 2...Ka8-b8 3.Qd5-d8 # 1...Sh6-f7 2.Rf3*f7 threat: 3.Qd5*b7 # 1...Ka8-b8 2.Qd5-d8 + 2...Kb8-a7 3.Rf3-a3 # 1...Ka8-a7 2.Qd5-a5 + 2...Ka7-b8 3.Rf3-f8 #" keywords: - Asymmetry --- authors: - Loyd, Samuel source: The Illustrated London News source-id: 1197 date: 1867-02-02 algebraic: white: [Kg4, Qa8, Sd7, Pe6] black: [Kh7, Pe7] stipulation: "#3" solution: | "1.Qa8-a1 ! zugzwang. 1...Kh7-h6 2.Qa1-h8 + 2...Kh6-g6 3.Sd7-e5 # 3.Sd7-f8 # 1...Kh7-g8 2.Sd7-f8 zugzwang. 2...Kg8*f8 3.Qa1-h8 # 1...Kh7-g6 2.Sd7-f8 + 2...Kg6-h6 3.Qa1-h8 #" keywords: - Miniature comments: - also in The Philadelphia Times (no. 1307), 25 June 1893 --- authors: - Loyd, Samuel source: La Stratégie source-id: 31 date: 1867-06-15 algebraic: white: [Kf5, Pf6, Pb7, Pa7] black: [Kf7] stipulation: "#3" solution: | "1.a7-a8=B ! zugzwang. 1...Kf7-f8 2.b7-b8=Q + 2...Kf8-f7 3.Ba8-d5 # 2.b7-b8=R + 2...Kf8-f7 3.Ba8-d5 # 1...Kf7-e8 2.Kf5-e6 threat: 3.b7-b8=Q # 3.b7-b8=R # 2...Ke8-d8 3.b7-b8=Q # 1...Kf7-g8 2.Kf5-g6 threat: 3.b7-b8=Q # 3.b7-b8=R #" keywords: - Miniature - Underpromotion comments: - also in The Philadelphia Times (no. 140), 5 June 1881 --- authors: - Loyd, Samuel source: La Stratégie source-id: 30 date: 1867-06-15 algebraic: white: [Ke6, Ph7, Pf7, Pf4] black: [Kg7] stipulation: "#3" solution: | "1.f7-f8=R ! threat: 2.h7-h8=Q + 2...Kg7-g6 3.Rf8-f6 # 3.Rf8-g8 # 2.h7-h8=R threat: 3.Rf8-g8 # 1...Kg7-g6 2.h7-h8=R threat: 3.Rf8-g8 # 1...Kg7*h7 2.Ke6-f7 zugzwang. 2...Kh7-h6 3.Rf8-h8 # 2.Ke6-f6 zugzwang. 2...Kh7-h6 3.Rf8-h8 #" keywords: - White underpromotion - Miniature comments: - also in The Philadelphia Times (no. 38), 6 June 1880 --- authors: - Loyd, Samuel source: La Stratégie source-id: 32 date: 1867-06-15 algebraic: white: [Kb4, Pf7, Pb7, Pa6] black: [Kb6] stipulation: "#3" solution: | "1.b7-b8=S ! zugzwang. 1...Kb6-a7 2.f7-f8=Q zugzwang. 2...Ka7-a8 3.Sb8-c6 # 2...Ka7-b6 3.Qf8-c5 # 1...Kb6-c7 2.f7-f8=Q zugzwang. 2...Kc7-b6 3.Qf8-c5 #" keywords: - Miniature - Underpromotion comments: - also in The Philadelphia Times (no. 527), 8 March 1885 --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 3-moves / 541 date: 1868 algebraic: white: [Kg4, Rc3, Sg2, Sf4] black: [Kg1, Pg3, Pf3] stipulation: "#3" solution: | "1.Rc3-c1 + ! 1...Kg1-h2 2.Sg2-h4 threat: 3.Sh4*f3 # 1...Kg1-f2 2.Rc1-e1 zugzwang. 2...f3*g2 3.Sf4-d3 #" --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 3-moves / 575 date: 1868 algebraic: white: [Kf6, Qe4, Sb3, Pc4] black: [Kb6, Pb4] stipulation: "#3" solution: | "1.Sb3-a5 ! threat: 2.Qe4-c6 + 2...Kb6-a7 3.Qc6-b7 # 2...Kb6*a5 3.Qc6-b5 # 1...Kb6-c5 2.Qe4-e3 + 2...Kc5-d6 3.Qe3-e7 #" keywords: - Active sacrifice - Miniature comments: - also in The Philadelphia Times (no. 1009), 18 May 1890 --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 3-moves / 558 date: 1868 algebraic: white: [Ka4, Qc8, Bb1, Sd7] black: [Ke6, Pb2] stipulation: "#3" solution: | "1.Ka4-a5 ! zugzwang. 1...Ke6-d6 2.Bb1-f5 threat: 3.Qc8-c5 # 2...Kd6-e7 3.Qc8-f8 # 1...Ke6-e7 2.Bb1-f5 threat: 3.Qc8-f8 # 2...Ke7-d6 3.Qc8-c5 # 1...Ke6-f7 2.Bb1-f5 threat: 3.Qc8-f8 # 1...Ke6-d5 2.Bb1-f5 threat: 3.Qc8-c5 # 2.Qc8-a6 zugzwang. 2...Kd5-d4 3.Qa6-d3 #" --- authors: - Loyd, Samuel source: American Chess Nuts source-id: 430 date: 1868 algebraic: white: [Kg5, Rg3, Be5, Be2, Sg1] black: [Kf2] stipulation: "#3" solution: | "1.Rg3-g2 + ! 1...Kf2-e1 2.Be5-c3 # 2.Sg1-f3 # 1...Kf2*g2 2.Sg1-h3 zugzwang. 2...Kg2*h3 3.Be2-f1 # 2...Kg2-h1 3.Be2-f3 # 1...Kf2-e3 2.Be2-c4 threat: 3.Rg2-e2 #" --- authors: - Loyd, Samuel source: Turf Register date: 1868 algebraic: white: [Kd1, Qf5, Se2] black: [Kh4, Pg5] stipulation: "#3" solution: | "1.Kd1-e1 ! zugzwang. 1...Kh4-h5 2.Se2-f4 + 2...Kh5-h6 3.Qf5-g6 # 2...Kh5-h4 3.Qf5-h3 # 1...g5-g4 2.Se2-g1 zugzwang. 2...g4-g3 3.Sg1-f3 # 2...Kh4-g3 3.Qf5-f2 #" keywords: - Miniature comments: - also in The Philadelphia Times (no. 1015), 8 June 1890 --- authors: - Loyd, Samuel source: Chess Record source-id: 356 date: 1876-08-15 algebraic: white: [Kc1, Qa3, Re2, Sa4] black: [Kc4, Pf6, Pb6] stipulation: "#3" solution: | "1.Re2-e7 ! zugzwang. 1...Kc4-b5 2.Re7-c7 threat: 3.Sa4-c3 # 1...Kc4-d4 2.Sa4*b6 threat: 3.Qa3-e3 # 1...Kc4-d5 2.Qa3-d3 + 2...Kd5-c6 3.Qd3-d7 # 1...b6-b5 2.Sa4-b6 + 2...Kc4-d4 3.Qa3-e3 # 2.Qa3-c3 + 2...Kc4-d5 3.Qc3-c5 # 1...f6-f5 2.Re7-e5 threat: 3.Qa3-c3 #" --- authors: - Loyd, Samuel source: The Chess Player's Chronicle source-id: 91 date: 1877-12-01 algebraic: white: [Kc8, Bd8, Ba4] black: [Ka7, Pc6, Pa6, Pa5] stipulation: "#3" solution: | "1.Bd8-e7 ! threat: 2.Be7-c5 + 2...Ka7-a8 3.Ba4*c6 # 1...Ka7-a8 2.Ba4*c6 + 2...Ka8-a7 3.Be7-c5 # 1...Ka7-b6 2.Kc8-b8 zugzwang. 2...c6-c5 3.Be7-d8 #" --- authors: - Loyd, Samuel source: Lebanon Herald date: 1877 algebraic: white: [Kf8, Qa1, Bd6, Bc8, Pa4, Pa2] black: [Kc4] stipulation: "#3" solution: | "1.Bd6-e5 ! threat: 2.Qa1-d4 # 1...Kc4-c5 2.Qa1-d4 + 2...Kc5-c6 3.Qd4-d6 # 1...Kc4-b4 2.Qa1-c3 + 2...Kb4*a4 3.Bc8-d7 # 1...Kc4-d5 2.Qa1-d4 + 2...Kd5-c6 3.Qd4-d6 # 1...Kc4-d3 2.Bc8-g4 zugzwang. 2...Kd3-e3 3.Qa1-d4 # 2...Kd3-d2 3.Qa1-c3 # 2...Kd3-c4 3.Qa1-d4 # 2...Kd3-e4 3.Qa1-d4 # 2...Kd3-c2 3.Qa1-d1 #" --- authors: - Loyd, Samuel source: Cleveland Sunday Voice source-id: 167 date: 1878-03-10 algebraic: white: [Ke3, Rb7, Bd1, Sd3] black: [Kc4, Pd7] stipulation: "#3" solution: | "1.Rb7-b6 ! zugzwang. 1...Kc4-c3 2.Sd3-b2 threat: 3.Rb6-b3 # 2.Sd3-e5 threat: 3.Rb6-b3 # 1...Kc4-d5 2.Bd1-b3 # 1...d7-d5 2.Ke3-d2 threat: 3.Rb6-b4 # 2...d5-d4 3.Bd1-b3 # 1...d7-d6 2.Bd1-a4 zugzwang. 2...Kc4-c3 3.Rb6-c6 # 2...Kc4-d5 3.Ba4-b3 # 2...d6-d5 3.Rb6-c6 #" --- authors: - Loyd, Samuel source: American Chess Journal source-id: 301 date: 1879-05 algebraic: white: [Ke4, Qb2, Sa4, Pc5] black: [Kc4, Pb7] stipulation: "#3" solution: | "1.Qb2-a3 ! zugzwang. 1...Kc4-b5 2.Ke4-d5 threat: 3.Sa4-c3 # 1...b7-b5 2.Sa4-b2 # 2.Sa4-b6 # 2.Qa3-c3 # 1...b7-b6 2.Qa3-b2 zugzwang. 2...b6-b5 3.Qb2-c3 # 2...b6*c5 3.Sa4-b6 #" --- authors: - Loyd, Samuel source: American Chess Journal date: 1879-10 algebraic: white: [Kc6, Bb3, Sd6, Sb5, Pd3, Pc2] black: [Kb4] stipulation: "#3" solution: | "1.Sb5-c7 ! zugzwang. 1...Kb4-a5 2.Sd6-c4 + 2...Ka5-b4 3.Sc7-d5 # 1...Kb4-c3 2.Sd6-c4 zugzwang. 2...Kc3-b4 3.Sc7-d5 # 2...Kc3-d4 3.Sc7-b5 # 1...Kb4-a3 2.Sd6-c4 + 2...Ka3-b4 3.Sc7-d5 #" keywords: - Letters comments: - Dedicated to Eugene B. Cook --- authors: - Loyd, Samuel source: Detroit Free Press date: 1882-12-23 algebraic: white: [Kg7, Qh2, Bf7, Be7, Sg3] black: [Kd7, Pa6] stipulation: "#3" solution: | "1.Qh2-h6 ! threat: 2.Qh6-b6 threat: 3.Qb6-b7 # 2...Kd7*e7 3.Qb6-c7 # 2...Kd7-c8 3.Bf7-e6 # 1...Kd7*e7 2.Qh6-d2 threat: 3.Sg3-f5 # 1...Kd7-c7 2.Qh6*a6 zugzwang. 2...Kc7-d7 3.Qa6-b7 # 2...Kc7-b8 3.Be7-d6 #" comments: - Christmas problem inscribed to beginners --- authors: - Loyd, Samuel source: The Sunny South date: 1884 algebraic: white: [Kf3, Qf1, Sc3, Sb1, Pc2] black: [Kb2] stipulation: "#3" solution: | "1.Sc3-a2 ! threat: 2.Qf1-c1 + 2...Kb2-a1 3.Sb1-c3 # {display-departure-file} 2...Kb2*a2 3.Sb1-c3 # {display-departure-file} 1...Kb2*c2 2.Qf1-b5 zugzwang. 2...Kc2-d1 3.Qb5-e2 #" comments: - "also, but mistakenly(?) placed wSc3-b4, in The Toledo Daily Blade (no. 78), 1 September 1887" --- authors: - Loyd, Samuel source: St. Louis Globe-Democrat source-id: 563 date: 1885-07-18 algebraic: white: [Kh5, Qa6, Bf4, Pb5] black: [Ke8, Pe7, Pa7] stipulation: "#3" solution: | "1.Bf4-d2 ! zugzwang. 1...Ke8-d8 2.Qa6-c6 threat: 3.Bd2-a5 # 2...e7-e5 3.Bd2-g5 # 2...e7-e6 3.Bd2-g5 # 1...e7-e5 2.Qa6-e6 + 2...Ke8-f8 3.Bd2-h6 # 2...Ke8-d8 3.Bd2-a5 # 1...e7-e6 2.Qa6*e6 + 2...Ke8-f8 3.Bd2-h6 # 2...Ke8-d8 3.Bd2-a5 # 1...Ke8-f8 2.Qa6-g6 threat: 3.Bd2-h6 # 2...e7-e5 3.Bd2-b4 # 2...e7-e6 3.Bd2-b4 # 1...Ke8-f7 2.Qa6-g6 + 2...Kf7-f8 3.Bd2-h6 # 1...Ke8-d7 2.Qa6-c6 + 2...Kd7-d8 3.Bd2-a5 #" keywords: - Miniature comments: - also in The Philadelphia Times (no. 567), 26 July 1885 --- authors: - Loyd, Samuel source: Chess Monthly date: 1885 algebraic: white: [Kg2, Qf2, Be6, Pc2] black: [Ke4, Pe5, Pc4] stipulation: "#3" solution: | "1.Qf2-g1 ! zugzwang. 1...Ke4-f4 2.Kg2-f2 threat: 3.Qg1-g4 # 2...e5-e4 3.Qg1-g3 # 1...c4-c3 2.Kg2-f2 threat: 3.Qg1-g4 # 2...Ke4-d4 3.Kf2-f3 #" --- authors: - Loyd, Samuel source: The Toledo Daily Blade source-id: 72 date: 1887-07-14 algebraic: white: [Kc2, Qh4, Bh5, Pe2] black: [Ke3, Pd4] stipulation: "#3" solution: | "1.Kc2-b2 ! zugzwang. 1...Ke3-d2 2.Qh4-f2 zugzwang. 2...Kd2-d1 3.e2-e4 # 3.e2-e3 # 2...d4-d3 3.e2-e3 # 3.e2-e4 # 1...d4-d3 2.Kb2-c3 threat: 3.Qh4-d4 #" keywords: - Miniature --- authors: - Loyd, Samuel source: The Toledo Daily Blade source-id: 57 date: 1887-03-24 algebraic: white: [Ka4, Rb1, Bc5, Se1, Sb5] black: [Kd2, Pd3] stipulation: "#3" solution: | "1.Sb5-d6 ! zugzwang. 1...Kd2-c3 2.Bc5-e3 threat: 3.Rb1-b3 # 1...Kd2-e2 2.Sd6-e4 zugzwang. 2...Ke2-f1 3.Se4-g3 # 2...d3-d2 3.Se4-g3 #" keywords: - Miniature - Flight giving key --- authors: - Loyd, Samuel source: New York Tribune date: 1891 algebraic: white: [Kd2, Rg4, Sg5, Ph2, Pf2] black: [Kg1, Sg2] stipulation: "#3" solution: | "1.Rg4-g3 ! zugzwang. 1...Kg1-h1 2.Sg5-f3 zugzwang. 2...Sg2-e1 3.Rg3-g1 # 2...Sg2-h4 3.Rg3-g1 # 2...Sg2-f4 3.Rg3-g1 # 2...Sg2-e3 3.Rg3-g1 # 1...Kg1-f1 2.Sg5-h3 zugzwang. 2...Sg2-e1 3.Rg3-g1 # 2...Sg2-h4 3.Rg3-g1 # 2...Sg2-f4 3.Rg3-g1 # 2...Sg2-e3 3.Rg3-g1 # 1...Kg1*f2 2.Sg5-h3 + 2...Kf2-f1 3.Rg3-f3 # 1...Kg1*h2 2.Sg5-f3 + 2...Kh2-h1 3.Rg3-h3 #" --- authors: - Loyd, Samuel source: Lasker's Chess Magazine source-id: 361 date: 1906-07 algebraic: white: [Kf7, Qf2, Ra1, Bf5] black: [Kb4, Sb8, Pg2] stipulation: "#3" solution: | "1.Ra1-a5 ! threat: 2.Qf2-d2 + 2...Kb4-c4 3.Bf5-e6 # 2...Kb4-b3 3.Bf5-e6 # 1...Kb4*a5 2.Qf2-c5 + 2...Ka5-a4 3.Bf5-c2 # 2...Ka5-a6 3.Bf5-c8 # 1...Kb4-c3 2.Ra5-a4 threat: 3.Qf2-c2 #" --- authors: - Loyd, Samuel source: St. Louis Globe-Democrat source-id: 195 date: 1908 algebraic: white: [Ka3, Qa2, Bb7, Sb5, Ph3, Pf4] black: [Ke3] stipulation: "#3" solution: | "1.Sb5-d4 ! zugzwang. 1...Ke3*f4 2.Sd4-f3 zugzwang. 2...Kf4-f5 3.Qa2-f7 # 2...Kf4-g3 3.Qa2-h2 # 2...Kf4-e3 3.Qa2-d2 # 1...Ke3-d3 2.Sd4-f3 zugzwang. 2...Kd3-e3 3.Qa2-d2 # 2...Kd3-c3 3.Qa2-b3 # 1...Ke3*d4 2.Qa2-b3 zugzwang. 2...Kd4-c5 3.Qb3-b4 #" --- authors: - Loyd, Samuel source: The Philadelphia Times source-id: 578 date: 1885-08-06 algebraic: white: [Kh1, Qd2, Bf5, Sd8, Sd4] black: [Ke5] stipulation: "#3" solution: | "1.Bf5-e6 ! zugzwang. 1...Ke5-e4 2.Sd4-c2 threat: 3.Qd2-e3 # 2...Ke4-e5 3.Qd2-d4 # 1...Ke5-d6 2.Sd4-f5 + 2...Kd6-c7 3.Qd2-d6 # 2...Kd6-e5 3.Qd2-d4 # 2...Kd6-c5 3.Qd2-a5 # 1...Ke5-f6 2.Sd4-f5 zugzwang. 2...Kf6-g6 3.Qd2-h6 # 2...Kf6-e5 3.Qd2-d4 #" keywords: - Miniature --- authors: - Loyd, Samuel source: La Stratégie, Numa Preti Memorial Tourney date: 1910 algebraic: white: [Kg8, Re3, Rb3, Bf1, Bd4, Sf7, Sd1, Pg3, Pf2, Pc7] black: [Kg4, Qc1, Rh6, Bh5, Ba5, Sa7, Sa4, Ph7, Ph3, Pg6, Pe4, Pd5, Pd2, Pc5] stipulation: "#3" solution: | "1.Rb3-b6 ! threat: 2.Rb6-f6 threat: 3.Rf6-f4 # 3.Bf1-e2 # 2...Qc1-c4 3.Rf6-f4 # 2...Qc1*d1 3.Rf6-f4 # 2...h3-h2 3.Rf6-f4 # 2...Sa4-c3 3.Rf6-f4 # 2...Ba5*c7 3.Bf1-e2 # 2...g6-g5 3.Sf7-e5 # 3.Sf7*h6 # 3.Bf1-e2 # 2.Bd4-f6 threat: 3.Sf7*h6 # 2.Re3-f3 threat: 3.Rf3-f4 # 2...e4*f3 3.Sd1-e3 # 2...Kg4*f3 3.Sf7-e5 # 2...g6-g5 3.Sf7-e5 # 2.Bf1-e2 + 2...Kg4-f5 3.Rb6-f6 # 1...Qc1-a3 2.Rb6-f6 threat: 3.Rf6-f4 # 3.Bf1-e2 # 2...Qa3*e3 3.Sd1*e3 # 2...Qa3-d3 3.Rf6-f4 # 2...h3-h2 3.Rf6-f4 # 2...Sa4-c3 3.Rf6-f4 # 2...Ba5*c7 3.Bf1-e2 # 2...g6-g5 3.Sf7-e5 # 3.Sf7*h6 # 3.Bf1-e2 # 2.Bf1-e2 + 2...Kg4-f5 3.Rb6-f6 # 1...Qc1-b2 2.Re3-f3 threat: 3.Rf3-f4 # 2...e4*f3 3.Sd1-e3 # 2...Kg4*f3 3.Sf7-e5 # 2...g6-g5 3.Sf7-e5 # 2.Bf1-e2 + 2...Kg4-f5 3.Rb6-f6 # 1...Qc1-a1 2.Rb6-f6 threat: 3.Rf6-f4 # 3.Bf1-e2 # 2...Qa1*d1 3.Rf6-f4 # 2...h3-h2 3.Rf6-f4 # 2...Sa4-c3 3.Rf6-f4 # 2...Ba5*c7 3.Bf1-e2 # 2...g6-g5 3.Sf7-e5 # 3.Sf7*h6 # 3.Bf1-e2 # 2.Re3-f3 threat: 3.Rf3-f4 # 2...e4*f3 3.Sd1-e3 # 2...Kg4*f3 3.Sf7-e5 # 2...g6-g5 3.Sf7-e5 # 2.Bf1-e2 + 2...Kg4-f5 3.Rb6-f6 # 1...Qc1-b1 2.Bd4-f6 threat: 3.Sf7*h6 # 2.Re3-f3 threat: 3.Rf3-f4 # 2...e4*f3 3.Sd1-e3 # 2...Kg4*f3 3.Sf7-e5 # 2...g6-g5 3.Sf7-e5 # 2.Bf1-e2 + 2...Kg4-f5 3.Rb6-f6 # 1...Qc1-c4 2.Re3-f3 threat: 3.Rf3-f4 # 2...e4*f3 3.Sd1-e3 # 2...Kg4*f3 3.Sf7-e5 # 2...g6-g5 3.Sf7-e5 # 1...Qc1-c3 2.Rb6-f6 threat: 3.Rf6-f4 # 3.Bf1-e2 # 2...Qc3-c4 3.Rf6-f4 # 2...Qc3*e3 3.Sd1*e3 # 2...Qc3-d3 3.Rf6-f4 # 2...h3-h2 3.Rf6-f4 # 2...Ba5*c7 3.Bf1-e2 # 2...g6-g5 3.Sf7-e5 # 3.Sf7*h6 # 3.Bf1-e2 # 2.Bf1-e2 + 2...Kg4-f5 3.Rb6-f6 # 1...Qc1*d1 2.Bd4-f6 threat: 3.Sf7*h6 # 1...h3-h2 2.Bd4-f6 threat: 3.Sf7*h6 # 2.Re3-f3 threat: 3.Rf3-f4 # 2...e4*f3 3.Sd1-e3 # 2...Kg4*f3 3.Sf7-e5 # 2...g6-g5 3.Sf7-e5 # 1...Sa4-b2 2.Rb6-f6 threat: 3.Rf6-f4 # 3.Bf1-e2 # 2...Qc1-c4 3.Rf6-f4 # 2...Qc1*d1 3.Rf6-f4 # 2...Sb2-d3 3.Bf1-e2 # 2...h3-h2 3.Rf6-f4 # 2...Ba5*c7 3.Bf1-e2 # 2...g6-g5 3.Sf7-e5 # 3.Sf7*h6 # 3.Bf1-e2 # 2.Bd4-f6 threat: 3.Sf7*h6 # 2.Bf1-b5 threat: 3.Bb5-d7 # 2...g6-g5 3.Sf7*h6 # 2...Sa7*b5 3.c7-c8=Q # 3.c7-c8=B # 2...Sa7-c6 3.c7-c8=Q # 3.c7-c8=B # 2.Bf1-e2 + 2...Kg4-f5 3.Rb6-f6 # 1...Sa4-c3 2.Bd4-f6 threat: 3.Sf7*h6 # 1...Sa4*b6 2.Re3-f3 threat: 3.Rf3-f4 # 2...e4*f3 3.Sd1-e3 # 2...Kg4*f3 3.Sf7-e5 # 2...g6-g5 3.Sf7-e5 # 1...Kg4-f5 2.Rb6-f6 + 2...Kf5-g4 3.Rf6-f4 # 3.Bf1-e2 # 2.Bf1*h3 + 2...Bh5-g4 3.Rb6-f6 # 1...Ba5-c3 2.Rb6-f6 threat: 3.Rf6-f4 # 3.Bf1-e2 # 2...Qc1*d1 3.Rf6-f4 # 2...h3-h2 3.Rf6-f4 # 2...g6-g5 3.Sf7-e5 # 3.Sf7*h6 # 3.Bf1-e2 # 2.Re3-f3 threat: 3.Rf3-f4 # 2...e4*f3 3.Sd1-e3 # 2...Kg4*f3 3.Sf7-e5 # 2...g6-g5 3.Sf7-e5 # 2.Bf1-e2 + 2...Kg4-f5 3.Rb6-f6 # 1...Ba5*b6 2.Bf1-b5 threat: 3.Bb5-d7 # 2...g6-g5 3.Sf7*h6 # 2...Sa7*b5 3.c7-c8=Q # 3.c7-c8=B # 2...Sa7-c6 3.c7-c8=Q # 3.c7-c8=B # 1...c5*d4 2.Rb6-f6 threat: 3.Rf6-f4 # 3.Bf1-e2 # 2...Qc1*c7 3.Bf1-e2 # 2...Qc1-c4 3.Rf6-f4 # 2...Qc1*d1 3.Rf6-f4 # 2...h3-h2 3.Rf6-f4 # 2...Sa4-c3 3.Rf6-f4 # 2...d4-d3 3.Rf6-f4 # 2...Ba5*c7 3.Bf1-e2 # 2...g6-g5 3.Sf7-e5 # 3.Sf7*h6 # 3.Bf1-e2 # 1...Sa7-c8 2.Bf1-e2 + 2...Kg4-f5 3.Rb6-f6 #" --- authors: - Loyd, Samuel source: Paris Tourney date: 1867 distinction: 2nd Prize, Set algebraic: white: [Kf2, Qh8, Sf3, Pd2, Pb7, Pb3, Pa7] black: [Kh1, Rf6, Ba8, Sh6, Pf5, Pf4] stipulation: "#3" solution: | "1.b7*a8=S ! zugzwang. 1...Rf6-a6 2.Sa8-b6 threat: 3.Qh8*h6 # 2...Ra6*b6 3.Qh8-a1 # 1...Rf6-b6 2.Qh8-a1 # 1...Rf6-c6 2.Qh8-a1 + 2...Rc6-c1 3.Qa1*c1 # 1...Rf6-d6 2.Qh8-a1 # 1...Rf6-e6 2.Qh8-a1 + 2...Re6-e1 3.Qa1*e1 # 1...Rf6-f8 2.Qh8-a1 # 2.Qh8*h6 # 1...Rf6-f7 2.Qh8*h6 # 2.Qh8-a1 # 1...Rf6-g6 2.Qh8-a1 + 2...Rg6-g1 3.Qa1*g1 #" comments: - "also(?) in The Illustrated London News, 1867" - also in The New York Turf, Field and Farm (no. 59), 2 November 1867 - also in The Philadelphia Times (no. 391), 11 November 1883 --- authors: - Loyd, Samuel source: The Albion (New York) date: 1858 algebraic: white: [Kb4, Qf6, Rg7, Pb3] black: [Ka8, Bg2, Ba7, Pb6, Pb5] stipulation: "#3" solution: | "1.Rg7-f7 ! zugzwang. 1...Bg2-b7 2.Qf6-e7 threat: 3.Qe7*b7 # 2...Bb7-a6 3.Qe7*a7 # 2...Bb7-h1 3.Qe7*a7 # 2...Bb7-g2 3.Qe7*a7 # 2...Bb7-f3 3.Qe7*a7 # 2...Bb7-e4 3.Qe7*a7 # 2...Bb7-d5 3.Qe7*a7 # 2...Bb7-c6 3.Qe7*a7 # 2...Bb7-c8 3.Qe7*a7 # 1...Bg2-f1 2.Qf6-e7 threat: 3.Qe7*a7 # 3.Qe7-b7 # 2...Bf1-g2 3.Qe7*a7 # 2...Ba7-b8 3.Qe7-e4 # 3.Qe7-b7 # 2...Ka8-b8 3.Rf7-f8 # 3.Qe7-f8 # 3.Qe7-d8 # 3.Qe7-b7 # 3.Qe7-e8 # 2.Qf6-a1 threat: 3.Qa1*a7 # 2...Ka8-b8 3.Qa1-h8 # 2.Qf6-d8 + 2...Ba7-b8 3.Qd8-d5 # 2.Qf6-f3 + 2...Ka8-b8 3.Qf3-b7 # 2.Qf6-c6 + 2...Ka8-b8 3.Rf7-f8 # 3.Qc6-e8 # 3.Qc6-b7 # 1...Bg2-h1 2.Qf6-h8 + 2...Ba7-b8 3.Qh8*h1 # 1...Bg2-h3 2.Qf6-f3 + 2...Ka8-b8 3.Qf3-b7 # 2.Qf6-c6 + 2...Ka8-b8 3.Qc6-b7 # 1...Bg2-c6 2.Qf6*c6 + 2...Ka8-b8 3.Qc6-b7 # 3.Rf7-f8 # 3.Qc6-e8 # 1...Bg2-d5 2.Qf6-d8 + 2...Ba7-b8 3.Qd8*d5 # 1...Bg2-e4 2.Qf6-e7 threat: 3.Qe7*a7 # 2...Be4-b7 3.Qe7*b7 # 2...Ba7-b8 3.Qe7*e4 # 2...Ka8-b8 3.Rf7-f8 # 3.Qe7-f8 # 3.Qe7-d8 # 3.Qe7-e8 # 1...Bg2-f3 2.Qf6*f3 + 2...Ka8-b8 3.Qf3-b7 # 1...Ba7-b8 2.Qf6-a1 + 2...Bb8-a7 3.Qa1*a7 # 1...Ka8-b8 2.Qf6-h8 # 2.Qf6-d8 #" comments: - also in The Philadelphia Times (no. 219), 12 March 1882 --- authors: - Loyd, Samuel source: The Chess Monthly date: 1859-04 algebraic: white: [Kf5, Rg1, Rf3] black: [Kh4, Rh2, Ph5, Pf4] stipulation: "#3" solution: | "1.Rg1-g5 ! zugzwang. 1...Rh2-a2 2.Rg5*h5 + 2...Kh4*h5 3.Rf3-h3 # 1...Rh2-h1 2.Rg5-g2 zugzwang. 2...Rh1-g1 3.Rg2-h2 # 2...Rh1-a1 3.Rg2-h2 # 2...Rh1-b1 3.Rg2-h2 # 2...Rh1-c1 3.Rg2-h2 # 2...Rh1-d1 3.Rg2-h2 # 2...Rh1-e1 3.Rg2-h2 # 2...Rh1-f1 3.Rg2-h2 # 2...Rh1-h3 3.Rf3*f4 # 2...Rh1-h2 3.Rg2*h2 # 1...Rh2-b2 2.Rg5*h5 + 2...Kh4*h5 3.Rf3-h3 # 1...Rh2-c2 2.Rg5*h5 + 2...Kh4*h5 3.Rf3-h3 # 1...Rh2-d2 2.Rg5*h5 + 2...Kh4*h5 3.Rf3-h3 # 1...Rh2-e2 2.Rg5*h5 + 2...Kh4*h5 3.Rf3-h3 # 1...Rh2-f2 2.Rg5*h5 + 2...Kh4*h5 3.Rf3-h3 # 1...Rh2-g2 2.Rg5*h5 + 2...Kh4*h5 3.Rf3-h3 # 1...Rh2-h3 2.Rf3*f4 #" keywords: - Miniature comments: - also in The Philadelphia Times (no. 120), 27 March 1881 --- authors: - Loyd, Samuel source: Detroit Free Press, Centennial Tourney date: 1877-01-27 algebraic: white: [Kc5, Qd3] black: [Ka5, Bd1, Pc7, Pc6] stipulation: "#3" solution: | "1.Qd3-g3 ! threat: 2.Qg3-g8 threat: 3.Qg8-a8 # 2...Bd1-e2 3.Qg8-a2 # 2...Ka5-a4 3.Qg8-a2 # 1...Bd1-a4 2.Qg3*c7 + 2...Ka5-a6 3.Qc7-b6 # 1...Bd1-b3 2.Qg3*c7 + 2...Ka5-a6 3.Qc7-b6 # 2...Ka5-a4 3.Qc7-a7 # 1...Ka5-a6 2.Qg3*c7 threat: 3.Qc7-b6 # 1...Ka5-a4 2.Qg3-c3 threat: 3.Qc3-b4 #" keywords: - Miniature comments: - also in The Philadelphia Times (no. 799), 15 April 1888 --- authors: - Loyd, Samuel source: | American Chess and Problem Association, St. Louis Globe - Democrat date: 1878 distinction: 1st Prize algebraic: white: [Kd8, Qd3, Ra5, Bf5, Be7, Sd2] black: [Kb4, Sd6, Sa8, Pc7, Pc6, Pa4] stipulation: "#3" solution: | "1.Sd2-b3 ! zugzwang. 1...c6-c5 2.Ra5-b5 + 2...Kb4-a3 3.Sb3-c1 # 2...Sd6*b5 3.Be7*c5 # 1...a4-a3 2.Bf5-e6 threat: 3.Qd3-c4 # 3.Qd3-d2 # 3.Qd3-d4 # 2...c6-c5 3.Qd3-d2 # 2...Sa8-b6 3.Qd3-d2 # 1...a4*b3 2.Qd3-d2 + 2...Kb4-c4 3.Bf5-e6 # 1...Kb4-a3 2.Qd3-c3 threat: 3.Sb3-c1 # 1...Sa8-b6 2.Sb3-d4 threat: 3.Sd4*c6 #" --- authors: - Loyd, Samuel source: Missouri Democrat date: 1858 algebraic: white: [Ke8, Qh4, Bh7, Bb2, Pe2, Pd4, Pa6] black: [Kd5, Pf5, Pe3, Pd6, Pb3] stipulation: "#3" solution: | "1.Qh4-e1 ! zugzwang. 1...Kd5-c6 2.Qe1-a5 threat: 3.d4-d5 # 2...d6-d5 3.Qa5-c5 # 1...Kd5-e6 2.Qe1-h1 threat: 3.d4-d5 # 2...d6-d5 3.Qh1-h6 # 2...Ke6-f6 3.Qh1-h6 # 1...Kd5-e4 2.Qe1-h1 + 2...Ke4-f4 3.Qh1-h4 # 1...Kd5-c4 2.Qe1-a5 zugzwang. 2...f5-f4 3.Bh7-d3 # 2...d6-d5 3.Qa5-a4 # 3.Qa5-c5 # 1...f5-f4 2.Qe1-a5 + 2...Kd5-c6 3.d4-d5 # 2...Kd5-e6 3.d4-d5 # 3.Qa5-f5 # 2...Kd5-c4 3.Bh7-d3 #" --- authors: - Loyd, Samuel source: Boston Evening Gazette source-id: 45 date: 1859-03 algebraic: white: [Ke4, Qh7, Bd7, Bb6] black: [Kg5, Bg7, Bg4, Sh2, Sd8, Ph3, Pf3, Pe5] stipulation: "#3" solution: | "1.Bd7-f5 ! threat: 2.Qh7-g6 + 2...Kg5-h4 3.Bb6-f2 # 1...Bg4-h5 2.Qh7-h6 + 2...Kg5*h6 3.Bb6-e3 # 2...Kg5-h4 3.Bb6-f2 # 2...Bg7*h6 3.Bb6*d8 # 1...Bg4*f5 + 2.Qh7*f5 + 2...Kg5-h6 3.Bb6-e3 # 2...Kg5-h4 3.Bb6-f2 #" --- authors: - Loyd, Samuel source: The Albion (New York) source-id: 508 date: 1858-10-02 algebraic: white: [Ka4, Qg8, Bc8, Pe3, Pc7] black: [Kc6, Pe7, Pe5, Pe4, Pd6] stipulation: "#3" solution: | "1.Qg8-d5 + ! 1...Kc6-b6 2.Qd5-b7 + 2...Kb6-c5 3.Qb7-b5 # 1...Kc6*c7 2.Qd5-b7 + 2...Kc7-d8 3.Qb7-d7 # 1...Kc6*d5 2.Ka4-b5 zugzwang. 2...e7-e6 3.Bc8-b7 #" --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper, Frere's Problem Tournament date: 1859-02-12 algebraic: white: [Kb2, Qd6, Sd1, Pb4, Pa5] black: [Kc4, Rc5, Pc6, Pa6] stipulation: "#3" solution: | "1.Kb2-c2 ! threat: 2.Qd6*c5 # 1...Kc4*b4 + 2.Sd1-c3 zugzwang. 2...Kb4-c4 3.Qd6-f4 # 2...Kb4*a5 3.Qd6*c5 # 2...Kb4-a3 3.Qd6*c5 # 1...Kc4-b5 + 2.Kc2-b3 threat: 3.Qd6*c5 # 3.Qd6-b8 # 2...Rc5-c1 3.Qd6-b8 # 2...Rc5-c2 3.Qd6-b8 # 2...Rc5-c3 + 3.Sd1*c3 # 2...Rc5-c4 3.Qd6-b8 # 2...Rc5-h5 3.Qd6-b8 # 3.Qd6-d3 # 3.Sd1-c3 # 2...Rc5-g5 3.Qd6-b8 # 3.Qd6-d3 # 3.Sd1-c3 # 2...Rc5-f5 3.Qd6-b8 # 3.Qd6-d3 # 3.Sd1-c3 # 2...Rc5-e5 3.Qd6-b8 # 3.Qd6-d3 # 3.Sd1-c3 # 2...Rc5-d5 3.Qd6-b8 # 3.Sd1-c3 # 1...Rc5*a5 2.Sd1-b2 + 2...Kc4-b5 3.Qd6-c5 # 3.Qd6-b8 # 1...Rc5-b5 2.Sd1-e3 # 2.Sd1-b2 # 1...Rc5-h5 2.Sd1-b2 + 2...Kc4-b5 3.Qd6-b8 # 1...Rc5-g5 2.Sd1-b2 + 2...Kc4-b5 3.Qd6-b8 # 1...Rc5-f5 2.Sd1-b2 + 2...Kc4-b5 3.Qd6-b8 # 1...Rc5-e5 2.Sd1-b2 + 2...Kc4-b5 3.Qd6-b8 # 1...Rc5-d5 2.Sd1-b2 + 2...Kc4-d4 3.Qd6-f4 # 2...Kc4-b5 3.Qd6-b8 #" --- authors: - Loyd, Samuel source: Porter's Spirit of the Times date: 1858 algebraic: white: [Kg7, Qa4, Bf4, Pe2, Pc5] black: [Ke6, Bc4, Pe7] stipulation: "#3" solution: | "1. e4! ~ 2. Qc6# 1... Bb5 2. Qd1 ~ 3. Qd5, Qg4# 2... Bc4, Bd3, Bc6 3. Qg4# 2... Be2 3. Qd5# 1... Bd5 2. c6 - zz 2... B:e4 3. Q:e4# 2... Bc4 3. Q:c4# 2... Bb3 3. Q:b3# 2... Ba2 3. Q:a2# 2... B:c6 3. Q:c6#" --- authors: - Loyd, Samuel source: The Saturday Courier source-id: 56 date: 1856-05 algebraic: white: [Kb7, Qc1, Sc6, Pf4, Pe5, Pd3] black: [Kd5, Re8, Ra4, Sa8, Pe6, Pd4] stipulation: "#3" solution: | "1.Qc1-c2 ! zugzwang. 1...Ra4-a7 + 2.Kb7*a7 threat: 3.Sc6-b4 # 3.Qc2-c4 # 2...Sa8-b6 3.Sc6-b4 # 2...Re8-e7 + 3.Sc6*e7 # 2...Re8-b8 3.Sc6-e7 # 3.Qc2-c4 # 1...Ra4-a1 2.Sc6-b4 # 2.Qc2-c4 # 1...Ra4-a2 2.Qc2-c4 # 2.Sc6-b4 # 1...Ra4-a3 2.Sc6-b4 # 2.Qc2-c4 # 1...Ra4-a6 2.Qc2-c4 # 2.Sc6-b4 # 1...Ra4-a5 2.Sc6-b4 # 2.Qc2-c4 # 1...Ra4-c4 2.Qc2*c4 # 1...Ra4-b4 + 2.Sc6*b4 # 1...Sa8-b6 2.Sc6-b4 + 2...Ra4*b4 3.Qc2-c6 # 1...Sa8-c7 2.Sc6-e7 + 2...Re8*e7 3.Qc2-c6 # 1...Re8-e7 + 2.Sc6*e7 # 1...Re8-b8 + 2.Kb7*b8 threat: 3.Sc6-e7 # 2...Ra4-a7 3.Sc6-b4 # 3.Qc2-c4 # 2...Ra4-c4 3.Qc2*c4 # 2...Ra4-b4 + 3.Sc6*b4 # 1...Re8-c8 2.Sc6-e7 # 1...Re8-d8 2.Sc6-e7 # 1...Re8-h8 2.Sc6-e7 # 1...Re8-g8 2.Sc6-e7 # 1...Re8-f8 2.Sc6-e7 #" --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 3-moves / 455 date: 1868 algebraic: white: [Kf8, Qa7, Bd1, Bc3] black: [Kd5] stipulation: "#3" solution: | "1.Qa7-a6 ! threat: 2.Bd1-f3 + 2...Kd5-c5 3.Qa6-c6 # 1...Kd5-c5 2.Bd1-a4 threat: 3.Qa6-c6 # 1...Kd5-e4 2.Qa6-c4 + 2...Ke4-e3 3.Qc4-d4 # 2...Ke4-f5 3.Qc4-g4 # 1.Bd1-b3 + ! 1...Kd5-e4 2.Qa7-f2 zugzwang. 2...Ke4-d3 3.Qf2-f3 # 1...Kd5-d6 2.Qa7-b6 + 2...Kd6-d7 3.Bb3-e6 # 1...Kd5-c6 2.Bc3-a5 zugzwang. 2...Kc6-d6 3.Qa7-c7 # 2...Kc6-b5 3.Qa7-b6 # 2.Bc3-b4 zugzwang. 2...Kc6-b5 3.Qa7-b7 #" --- authors: - Loyd, Samuel source: The Era (London) date: 1859 algebraic: white: [Kg6, Qg1, Bh1, Bd8, Sf7, Pg4, Pd6, Pb5] black: [Kf4, Qb8, Ph6, Pg5] stipulation: "#3" solution: | "1.Sf7-e5 ! threat: 2.Se5-d3 # 1...Kf4*e5 2.Qg1-e3 + 2...Ke5*d6 3.Qe3-e7 # 1...Qb8*d6 + 2.Kg6-h5 zugzwang. 2...Qd6*e5 3.Qg1-f2 # 2...Kf4*e5 3.Qg1-e3 # 2...Qd6-a3 3.Se5-g6 # 2...Qd6-b4 3.Se5-g6 # 3.Se5-d3 # 2...Qd6-c5 3.Se5-d3 # 3.Se5-g6 # 2...Qd6-f8 3.Se5-g6 # 3.Se5-d3 # 2...Qd6-e7 3.Se5-d3 # 3.Se5-g6 # 2...Qd6-b8 3.Se5-g6 # 3.Se5-d3 # 2...Qd6-c7 3.Se5-d3 # 3.Se5-g6 # 2...Qd6-d1 3.Se5-g6 # 2...Qd6-d2 3.Se5-g6 # 2...Qd6-d3 3.Se5*d3 # 2...Qd6-d4 3.Se5-g6 # 2...Qd6-d5 3.Se5-g6 # 2...Qd6-a6 3.Se5-d3 # 2...Qd6-b6 3.Se5-d3 # 2...Qd6-c6 3.Se5-d3 # 2...Qd6*d8 3.Se5-g6 # 2...Qd6-d7 3.Se5-g6 # 2...Qd6-g6 + 3.Se5*g6 # 2...Qd6-f6 3.Se5-d3 # 2...Qd6-e6 3.Se5-d3 # 1...Qb8*b5 2.Qg1-f2 + 2...Kf4*e5 3.Qf2-f6 #" --- authors: - Loyd, Samuel source: Cincinnati Daily Gazette source-id: v12 date: 1859-11-24 algebraic: white: [Kd6, Qg1, Re3, Sd5, Sc4, Pb3] black: [Kd4, Rf4, Rd2, Bh5, Ba1, Sh2, Pf7, Pf6, Pc3, Pb6, Pa5, Pa3] stipulation: "#3" solution: | "1.Qg1-f2 ! threat: 2.Qf2*f4 # 1...Rd2*f2 {display-departure-square} 2.Sc4*a3 threat: 3.Sa3-b5 # 2...Bh5-e2 3.Sa3-c2 # 1...Rf4*f2 {display-departure-square} 2.Sd5-e7 threat: 3.Se7-c6 # 2...Bh5-f3 3.Se7-f5 # 1.Qg1-f2 ! threat: 2.Qf2*f4 # 1...Rd2*f2 {display-departure-square} 2.Sc4*a3 threat: 3.Sa3-b5 # 2...Bh5-e2 3.Sa3-c2 # 1...Sh2-f3 2.Sc4*a3 threat: 3.Sa3-b5 # 2.Sd5-e7 threat: 3.Se7-c6 # 2...Sf3-e5 3.Qf2*f4 # 1...Rf4*f2 {display-departure-square} 2.Sd5-e7 threat: 3.Se7-c6 # 2...Bh5-f3 3.Se7-f5 # 1...Rf4-f3 2.Sd5-e7 threat: 3.Se7-c6 # 2...Rf3*e3 3.Qf2*e3 # 2.Sc4*a3 threat: 3.Sa3-b5 # 2...Rf3*e3 3.Qf2*e3 # 1...Rf4-e4 2.Qf2*f6 + 2...Re4-e5 3.Qf6*e5 # 1...Rf4-f5 2.Qf2*f5 threat: 3.Qf5-e4 # 3.Qf5-f4 # 3.Qf5*f6 # 2...Rd2-f2 3.Qf5-d3 # 3.Qf5-e4 # 3.Re3-d3 # 2...Sh2-g4 3.Qf5-e4 # 3.Qf5-f4 # 2...Sh2-f3 3.Qf5-e4 # 3.Qf5-f4 # 2...Bh5-f3 3.Qf5*f6 # 2...Bh5-g6 3.Qf5*f6 # 1...Rf4-h4 2.Qf2*f6 # 1...Rf4-g4 2.Qf2*f6 # 1...Bh5-f3 2.Sc4*a3 threat: 3.Sa3-b5 # 2...Bf3-e2 3.Qf2*f4 # 1...Bh5-g6 2.Qf2*f4 + 2...Bg6-e4 3.Qf4*e4 # 3.Qf4*f6 #" keywords: - Grimshaw --- authors: - Loyd, Samuel source: La Stratégie source-id: 1570 date: 1880 algebraic: white: [Kb4, Qc2, Rc4, Bc3, Pa2] black: [Ka1, Bb2, Pa4, Pa3] stipulation: "#3" solution: | "1.Bc3-h8 ! zugzwang. 1...Ka1*a2 2.Rc4-c3 threat: 3.Rc3*a3 # 1...Bb2*h8 2.Kb4*a3 threat: 3.Qc2-d1 # 3.Qc2-c1 # 2...Bh8-b2 + 3.Qc2*b2 # 1...Bb2-g7 2.Bh8*g7 # 1...Bb2-f6 2.Bh8*f6 # 1...Bb2-e5 2.Bh8*e5 # 1...Bb2-d4 2.Bh8*d4 # 1...Bb2-c3 + 2.Bh8*c3 #" keywords: - Letters comments: - Dedicated to Jean Preti --- authors: - Loyd, Samuel source: The Boston Globe date: 1876 algebraic: white: [Kc8, Sh8, Sf6, Pf3, Pe7, Pd7] black: [Kg7, Sg5] stipulation: "#3" solution: | "1.e7-e8=S + ! 1...Kg7-f8 2.d7-d8=S threat: 3.Sh8-g6 # 1...Kg7*h8 2.d7-d8=S zugzwang. 2...Sg5-h7 3.Sd8-f7 # 2...Sg5-e4 3.Sd8-f7 # 2...Sg5*f3 3.Sd8-f7 # 2...Sg5-h3 3.Sd8-f7 # 2...Sg5-f7 3.Sd8*f7 # 2...Sg5-e6 3.Sd8-f7 # 1...Kg7-h6 2.d7-d8=S zugzwang. 2...Sg5-h7 3.Sd8-f7 # 2...Sg5-e4 3.Sd8-f7 # 2...Sg5*f3 3.Sd8-f7 # 2...Sg5-h3 3.Sd8-f7 # 2...Sg5-f7 3.Sd8*f7 # 2...Sg5-e6 3.Sd8-f7 #" --- authors: - Loyd, Samuel source: New York Herald date: 1889 algebraic: white: [Kf1, Rh5, Bd5, Se5, Sc2] black: [Kg3] stipulation: "#3" solution: | "1.Bd5-h1 ! zugzwang. 1...Kg3-f4 2.Kf1-g2 zugzwang. 2...Kf4-e4 3.Kg2-g3 #" keywords: - Indian - Miniature comments: - also in The Philadelphia Inquirer (no. 168), 6 October 1907 --- authors: - Loyd, Samuel source: The Albion (New York) source-id: 489 date: 1858-05-22 algebraic: white: [Kf1, Qc6, Se5] black: [Kh2, Rg4, Bg1, Pf2] stipulation: "#3" solution: | "1.Qc6-h1 + ! 1...Kh2*h1 2.Se5*g4 zugzwang. 2...Bg1-h2 3.Sg4*f2 # 1...Kh2-g3 2.Qh1-f3 + 2...Kg3-h4 3.Qf3*g4 # 2...Kg3-h2 3.Se5*g4 #" --- authors: - Loyd, Samuel source: New York Mail and Express date: 1890-12-18 algebraic: white: [Kf2, Rd8, Rd2, Ph2] black: [Kh1, Ba4, Pf3] stipulation: "#3" solution: | "1.Rd2-b2 ! zugzwang. 1...Ba4-b3 2.Rb2*b3 zugzwang. 2...Kh1*h2 3.Rd8-h8 # 1...Kh1*h2 2.Rd8-h8 # 1...Ba4-d1 2.Rb2-b1 zugzwang. 2...Kh1*h2 3.Rd8-h8 # 1...Ba4-c2 2.Rb2*c2 zugzwang. 2...Kh1*h2 3.Rd8-h8 # 1...Ba4-e8 2.Rd8*e8 zugzwang. 2...Kh1*h2 3.Re8-h8 # 1...Ba4-d7 2.Rd8*d7 zugzwang. 2...Kh1*h2 3.Rd7-h7 # 1...Ba4-c6 2.Rb2-b1 + 2...Kh1*h2 3.Rd8-h8 # 1...Ba4-b5 2.Rb2*b5 zugzwang. 2...Kh1*h2 3.Rd8-h8 # 3.Rb5-h5 #" keywords: - Grab theme comments: - "and or(?) New York Evening Telegram, circa 1890" --- authors: - Loyd, Samuel source: L'Illustration date: 1867 algebraic: white: [Kf6, Qe5, Rg3, Rc3, Sf2, Sd2, Pg7, Pd6, Pc7] black: [Ke1, Qe2, Rb5, Bh6, Sh4, Sb4, Ph5, Pf5, Pd5, Pb6] stipulation: "#3" solution: | "1.Rce3! ~ 2.R:e2# 1... B:e3 2.R:e3 ~ 3.R:e2# 2... Q:e3 3.Q:e3# 2... K:d2 3.Qc3# 2... K:f2 3.Qg3# 1... Bg5+ 2. R:g5 ~ 3.R:e2# 2... Q:e3 3.Q:e3# 2... K:d2 3.Qc3# 1... B:g7+ 2.K:g7, R:g7 ~ 3.R:e2# 2... Q:e3 3.Q:e3# 2... K:d2 3.Qc3# 1... Q:e3 2.R:e3+ K:d2 3.Qc3# 2... K:f2 3.Qg3# 2... B:e3 3.Q:e3#" keywords: - Scaccografia comments: - Charity --- authors: - Loyd, Samuel source: Philadelphia Evening Bulletin date: 1859 algebraic: white: [Kf8, Rc1, Bf3, Sh6, Pf2] black: [Kf6] stipulation: "#3" solution: | "1.Sh6-f7 ! zugzwang. 1...Kf6-g6 2.Bf3-g4 zugzwang. 2...Kg6-f6 3.Rc1-c6 # 2...Kg6-h7 3.Bg4-f5 # 1...Kf6-e6 2.Bf3-e4 zugzwang. 2...Ke6-f6 3.Rc1-c6 # 2...Ke6-d7 3.Be4-f5 # 1...Kf6-f5 2.Rc1-c6 zugzwang. 2...Kf5-f4 3.Rc6-f6 #" --- authors: - Loyd, Samuel source: Detroit Free Press date: 1882 algebraic: white: [Kg7, Qh2, Bf7, Be7] black: [Kd7, Pa6] stipulation: "#3" solution: | "1.Bf7-d5 ! threat: 2.Qh2-d6 + 2...Kd7-c8 3.Qd6-d8 # 2...Kd7-e8 3.Qd6-d8 # 3.Bd5-f7 # 3.Bd5-c6 # 1...Kd7*e7 2.Qh2-c7 + 2...Ke7-e8 3.Bd5-f7 # 3.Bd5-c6 # 1.Qh2-d6 + ! 1...Kd7-c8 2.Bf7-d5 threat: 3.Qd6-d8 # 2.Qd6-b6 threat: 3.Bf7-e6 # 2...Kc8-d7 3.Qb6-b7 #" --- authors: - Loyd, Samuel source: Britisches Problemturnier date: 1873 algebraic: white: [Kg7, Qg1, Sf6, Sd4] black: [Ke5] stipulation: "#3" solution: | "1.Qg1-a1 ! zugzwang. 1...Ke5-d6 2.Qa1-a5 zugzwang. 2...Kd6-e7 3.Qa5-c7 # 1...Ke5-f4 2.Qa1-e1 zugzwang. 2...Kf4-g5 3.Qe1-g3 #" --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper date: 1856 algebraic: white: [Kh1, Qa2, Bh6, Bh5, Pe2] black: [Ke4] stipulation: "#3" solution: | "1.Bh5-f7 ! threat: 2.Qa2-d5 # 1...Ke4-e5 2.Qa2-d5 + 2...Ke5-f6 3.Qd5-e6 # 2.Qa2-e6 + 2...Ke5-d4 3.Qe6-e3 # 1...Ke4-d4 2.Qa2-d5 + 2...Kd4-c3 3.Qd5-d2 # 2.Qa2-c4 + 2...Kd4-e5 3.Qc4-f4 # 2.Qa2-a5 zugzwang. 2...Kd4-e4 3.Qa5-d5 # 1...Ke4-f5 2.Qa2-e6 # 1.Qa2-a5 ! zugzwang. 1...Ke4-d4 2.Bh5-f7 zugzwang. 2...Kd4-e4 3.Qa5-d5 #" --- authors: - Loyd, Samuel source: "Philadelphia Times ????" date: 1888 algebraic: white: [Kh1, Qd2, Bf5, Sd8, Sd4] black: [Kd5] stipulation: "#3" solution: | "1.Sd4-e6 + ! 1...Kd5-e5 2.Bf5-b1 threat: 3.Qd2-d4 # 2...Ke5-f6 3.Qd2-g5 # 2.Bf5-c2 threat: 3.Qd2-d4 # 2...Ke5-f6 3.Qd2-g5 # 2.Bf5-g4 threat: 3.Qd2-d4 # 2...Ke5-f6 3.Qd2-g5 # 2.Bf5-h7 threat: 3.Qd2-d4 # 2...Ke5-f6 3.Qd2-g5 # 2.Bf5-g6 threat: 3.Qd2-d4 # 2...Ke5-f6 3.Qd2-g5 # 1...Kd5-c4 2.Qd2-b2 zugzwang. 2...Kc4-d5 3.Qb2-d4 # 1.Sd4-c6 + ! 1...Kd5-c5 2.Bf5-e6 threat: 3.Qd2-b4 # 2...Kc5-b5 3.Qd2-a5 # 2...Kc5-b6 3.Qd2-a5 # 2.Qd2-b4 + 2...Kc5-d5 3.Bf5-e4 # 3.Bf5-e6 # 3.Qb4-d4 # 2.Qd2-d4 + 2...Kc5-b5 3.Bf5-d3 # 1...Kd5-c4 2.Bf5-e6 + 2...Kc4-c5 3.Qd2-b4 # 2...Kc4-b5 3.Qd2-a5 # 2.Qd2-b4 + 2...Kc4-d5 3.Bf5-e4 # 3.Bf5-e6 # 3.Qb4-d4 #" --- authors: - Loyd, Samuel source: The Toledo Daily Blade source-id: 74 date: 1887-08-04 algebraic: white: [Kh2, Qb1, Re4, Be7] black: [Kd2, Sd1, Ph3] stipulation: "#3" solution: | "1.Re4-e1 ! threat: 2.Be7-b4 + 2...Sd1-c3 3.Qb1-d1 # 1...Kd2-c3 2.Re1*d1 zugzwang. 2...Kc3-c4 3.Qb1-d3 # 3.Qb1-b4 # 1...Kd2*e1 2.Qb1-d3 zugzwang. 2...Sd1-e3 3.Be7-h4 # 2...Sd1-f2 3.Be7-b4 # 2...Sd1-c3 3.Be7-h4 # 2...Sd1-b2 3.Be7-h4 # 2...Ke1-f2 3.Be7-h4 #" keywords: - Active sacrifice - Miniature --- authors: - Loyd, Samuel source: Lebanon Herald date: 1892 algebraic: white: [Kh2, Qb3, Sg3, Se3, Pd6] black: [Kf4] stipulation: "#3" solution: | "1.Se3-g4 ! zugzwang. 1...Kf4*g4 2.Qb3-e3 zugzwang. 2...Kg4-h4 3.Qe3-f4 # 1...Kf4-g5 2.Kh2-h3 zugzwang. 2...Kg5-g6 3.Qb3-g8 # 2...Kg5-f4 3.Qb3-e3 #" --- authors: - Loyd, Samuel source: The Boston Globe source-id: 46 date: 1876-08-16 algebraic: white: [Kc8, Sh8, Sf6, Pe7, Pd7] black: [Kg7, Sg5] stipulation: "#3" solution: | "1.e7-e8=S + ! 1...Kg7-f8 2.d7-d8=S threat: 3.Sh8-g6 # 1...Kg7*h8 2.d7-d8=S zugzwang. 2...Sg5-h7 3.Sd8-f7 # 2...Sg5-e4 3.Sd8-f7 # 2...Sg5-f3 3.Sd8-f7 # 2...Sg5-h3 3.Sd8-f7 # 2...Sg5-f7 3.Sd8*f7 # 2...Sg5-e6 3.Sd8-f7 # 1...Kg7-h6 2.d7-d8=S zugzwang. 2...Sg5-h7 3.Sd8-f7 # 2...Sg5-e4 3.Sd8-f7 # 2...Sg5-f3 3.Sd8-f7 # 2...Sg5-h3 3.Sd8-f7 # 2...Sg5-f7 3.Sd8*f7 # 2...Sg5-e6 3.Sd8-f7 #" keywords: - Letters - Underpromotion - Miniature comments: - also in The Philadelphia Times (no. 101), 23 January 1881 --- authors: - Loyd, Samuel source: Cleveland Voice source-id: 246 date: 1879-06-15 algebraic: white: [Kg1, Qa8, Rg3, Sh5, Se3, Ph2, Pg5, Pg4, Pf6, Pf5] black: [Kh4, Ph6, Ph3, Pf7] stipulation: "#3" solution: | "1.Qa8-h1 ! zugzwang. 1...Kh4*g5 2.Se3-g2 zugzwang. 2...h3*g2 3.h2-h4 # 1...h6*g5 2.Qh1-g2 threat: 3.Rg3*h3 # 3.Qg2*h3 # 2...h3*g2 3.Se3*g2 #" --- authors: - Loyd, Samuel source: Texas Siftings date: 1888 algebraic: white: [Ke6, Qe3] black: [Ke8, Rh8, Ra8, Ph7, Pe7, Pc7, Pa7] stipulation: "#3" solution: keywords: - Retro comments: - pRA --- authors: - Loyd, Samuel source: Leeds Mercury source-id: 164 date: 1881-03-12 algebraic: white: [Kb2, Qh4, Rd2, Sd4] black: [Ke1, Sg3, Pe3, Pe2] stipulation: "#3" solution: | "1.Sd4-f5 ! zugzwang. 1...Ke1-f2 2.Qh4*g3 + 2...Kf2-f1 3.Sf5*e3 # 1...Ke1-f1 2.Qh4*g3 threat: 3.Sf5*e3 # 2...e2-e1=Q 3.Qg3-g2 # 2...e2-e1=R 3.Qg3-g2 # 1...Ke1*d2 2.Qh4-b4 + 2...Kd2-d3 3.Qb4-d4 # 2...Kd2-d1 3.Sf5*e3 # 1...e3*d2 2.Qh4*g3 + 2...Ke1-f1 3.Sf5-e3 # 2...Ke1-d1 3.Sf5-e3 #" --- authors: - Loyd, Samuel source: Mirror of American Sports date: 1886 algebraic: white: [Ka8, Qe6, Re1, Rd5, Ba1] black: [Kg7, Rb2, Be8, Sh3, Ph5, Pd6, Pb7, Pa2] stipulation: "#3" solution: | "1.Qe6-e2 ! threat: 2.Qe2*b2 + 2...Kg7-h7 3.Qb2-g7 # 2...Kg7-g8 3.Qb2-g7 # 2...Kg7-f7 3.Qb2-g7 # 2...Kg7-g6 3.Qb2-g7 # 2...Kg7-f8 3.Qb2-g7 # 2...Kg7-h6 3.Qb2-g7 #" --- authors: - Loyd, Samuel source: The Albion (New York) source-id: 989 date: 1867-12-28 algebraic: white: [Kf1, Qc8, Rh8, Rh7, Bf5, Ph3] black: [Kh2, Rg2, Bh1, Bg1, Pg4, Pf2] stipulation: "#3" solution: | "1.Rh7-d7 ! zugzwang. 1...g4-g3 2.Bf5-h7 zugzwang. 2...Kh2*h3 3.Bh7-f5 # 1...Rg2-g3 2.h3*g4 + 2...Rg3-h3 3.Qc8-c7 # 3.Qc8-b8 # 1...Kh2-g3 2.Qc8-c7 + 2...Kg3-f3 3.Rd7-d3 # 2.Qc8-b8 + 2...Kg3-f3 3.Rd7-d3 # 1...g4*h3 2.Rh8*h3 #" comments: - also in The Philadelphia Times (no. 1003), 27 April 1890 --- authors: - Loyd, Samuel source: Chess Monthly date: 1858 algebraic: white: - Ke1 - Qd1 - Rh1 - Ra1 - Bf1 - Bc1 - Sg1 - Sb1 - Ph2 - Pg2 - Pf2 - Pe2 - Pd2 - Pc2 - Pb2 - Pa2 black: [Kh4] stipulation: "#3" solution: | "1.d2-d4 ! threat: 2.Qd1-d2 threat: 3.Qd2-g5 # 1...Kh4-h5 2.Qd1-d3 zugzwang. 2...Kh5-h4 3.Qd3-h3 # 2...Kh5-g4 3.Qd3-h3 # 1...Kh4-g4 2.e2-e4 + 2...Kg4-h4 3.g2-g3 #" keywords: - White homebase comments: - also in The Philadelphia Times (no. 637), 4 April 1886 --- authors: - Loyd, Samuel source: New York Saturday Courier date: 1855-05-12 algebraic: white: [Kd2, Qc4, Bf6, Sd4, Ph2, Pf3, Pf2, Pc6] black: [Kf4, Pf7, Pc7] stipulation: "#3" solution: | "1.Qc4-e6 ! threat: 2.Qe6-g4 # 2.Qe6-f5 # 2.Qe6-e3 # 2.Qe6-e4 # 2.Qe6-e5 # 1...f7*e6 2.h2-h4 zugzwang. 2...e6-e5 3.Bf6-g5 #" --- authors: - Loyd, Samuel source: The Chess Monthly date: 1860-11 algebraic: white: [Kd4, Rg8, Bf4] black: [Kf5, Qh7, Bh2] stipulation: "h#3" solution: "1.Kf5-f6 Rg8-a8 2.Kf6-g7 Bf4-b8 3.Kg7-h8 Bb8-e5 #" keywords: - Indian - Double check comments: - | Remove h2 - version by Eduard Schildberg --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper date: 1856-07-26 distinction: 1st Prize algebraic: white: [Kg1, Qe6, Re4, Rc2, Bh5, Bg7] black: [Kd3, Qa6, Rh7, Rb4, Sd4] stipulation: "#4" solution: | "1.Re4*d4 + ! 1...Kd3*c2 2.Rd4-d2 + 2...Kc2*d2 3.Qe6-e1 + 3...Kd2-d3 4.Qe1-e2 # 3...Kd2-c2 4.Qe1-d1 # 3...Kd2*e1 4.Bg7-c3 # 2...Kc2-c1 3.Qe6-e1 # 2...Kc2-b1 3.Qe6-e1 # 1...Rb4*d4 2.Qe6-e2 #" comments: - There is another current version without Rb4. --- authors: - Loyd, Samuel source: Frères Chess Hand-Book source-id: 7 date: 1857 algebraic: white: [Kf5, Qc1, Ra1, Sf2] black: [Kh5, Ra4, Sd3, Pg7, Pf6] stipulation: "#4" solution: | "1.Qc1-h6 + ! 1...Kh5*h6 2.Ra1-h1 + 2...Ra4-h4 3.Rh1*h4 # 1...g7*h6 2.Ra1-h1 + 2...Ra4-h4 3.Sf2-h3 zugzwang. 3...Sd3-b2 4.Sh3-f4 # 3...Sd3-c1 4.Sh3-f4 # 3...Sd3-e1 4.Sh3-f4 # 3...Sd3-f2 4.Sh3-f4 # 3...Sd3-f4 4.Sh3*f4 # 3...Sd3-e5 4.Sh3-f4 # 3...Sd3-c5 4.Sh3-f4 # 3...Sd3-b4 4.Sh3-f4 # 3...Rh4*h3 4.Rh1*h3 # 3...Rh4-a4 4.Sh3-f4 # 3...Rh4-b4 4.Sh3-f4 # 3...Rh4-c4 4.Sh3-f4 # 3...Rh4-d4 4.Sh3-f4 # 3...Rh4-e4 4.Sh3-f4 # 3...Rh4-f4 + 4.Sh3*f4 # 3...Rh4-g4 4.Sh3-f4 #" --- authors: - Loyd, Samuel source: 1st American Chess Congress date: 1857 distinction: 3rd Prize, set, 1857-1858 algebraic: white: [Ke1, Qh2, Rh5, Re7, Bd3, Bb8, Sg5, Sc7, Pd5, Pd2, Pc4, Pc2, Pb2] black: [Kd4, Qf4, Rb6, Ra6, Ba7, Sg1, Sf2, Ph7, Pg7, Pg3, Pc5, Pa3] stipulation: "#4" solution: | "1.Qh2*f2 + !! 1...g3*f2 + 2.Ke1-f1 threat: 3.Sg5-e6 + 3...Rb6*e6 4.Sc7-b5 # 2...Qf4-f5 3.Rh5-h4 + 3...Qf5-g4 4.Rh4*g4 # 3...Qf5-f4 4.Rh4*f4 # 2...Qf4-g4 3.Sc7-b5 + 3...Rb6*b5 4.Bb8-e5 # 1...Qf4*f2 + 2.Ke1-d1 threat: 3.Re7-e4 # 2...Qf2-e1 + 3.Re7*e1 threat: 4.Rh5-h4 # 4.Re1-e4 # 3...Sg1-e2 4.Sg5-f3 # 3...Rb6-e6 4.Sc7-b5 # 2...Qf2-f1 + 3.Bd3*f1 threat: 4.Re7-e4 # 4.Rh5-h4 # 4.c2-c3 # 3...Rb6-e6 4.Sc7-b5 # 2...Qf2*d2 + 3.Kd1*d2 threat: 4.c2-c3 # 4.Re7-e4 # 4.Rh5-h4 # 3...Rb6-e6 4.Sc7-b5 # 2...Qf2-f5 3.Rh5-h4 + 3...Qf5-f4 4.Rh4*f4 # 2...Qf2-f4 3.Sg5-e6 + 3...Rb6*e6 4.Sc7-b5 # 2...Qf2-f3 + 3.Sg5*f3 + 3...Sg1*f3 4.Re7-e4 #" keywords: - Checking key --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper source-id: 70 date: 1857-04-18 algebraic: white: [Kb1, Qg3, Bd2, Se6] black: [Ke7, Pd5, Pa7] stipulation: "#4" solution: | "1.Se6-d8 ! threat: 2.Qg3-c7 + 2...Ke7-f6 3.Qc7-f7 + 3...Kf6-e5 4.Qf7-f4 # 2...Ke7-e8 3.Bd2-g5 threat: 4.Qc7-f7 # 4.Qc7-e7 # 3...Ke8-f8 4.Qc7-f7 # 3.Bd2-a5 threat: 4.Qc7-f7 # 3.Bd2-b4 threat: 4.Qc7-e7 # 2...Ke7-f8 3.Qc7-f7 # 1...Ke7-d7 2.Bd2-a5 threat: 3.Qg3-c7 + 3...Kd7-e8 4.Qc7-f7 # 3.Qg3-e5 threat: 4.Qe5-e6 # 3...Kd7-c8 4.Qe5-c7 # 3.Qg3-g7 + 3...Kd7-d6 4.Qg7-c7 # 4.Ba5-b4 # 3...Kd7-c8 4.Qg7-b7 # 4.Qg7-c7 # 3...Kd7-e8 4.Qg7-f7 # 2...d5-d4 3.Qg3-c7 + 3...Kd7-e8 4.Qc7-f7 # 3.Qg3-e5 threat: 4.Qe5-e6 # 3...Kd7-c8 4.Qe5-c7 # 2...Kd7-e7 3.Qg3-g7 + 3...Ke7-e8 4.Qg7-f7 # 3...Ke7-d6 4.Qg7-c7 # 4.Ba5-b4 # 2...Kd7-e8 3.Qg3-c7 threat: 4.Qc7-f7 # 3.Qg3-g7 threat: 4.Qg7-f7 # 1...Ke7*d8 2.Qg3-d6 + 2...Kd8-e8 3.Qd6-e6 + 3...Ke8-f8 4.Bd2-h6 # 3...Ke8-d8 4.Bd2-a5 # 2...Kd8-c8 3.Qd6-c6 + 3...Kc8-d8 4.Bd2-g5 # 3...Kc8-b8 4.Bd2-f4 #" --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper source-id: 118v date: 1858-03-20 algebraic: white: [Kh3, Qc5, Se1] black: [Kf4, Pe3, Pe2] stipulation: "#4" solution: | "1.Qc5-b5 ! zugzwang. 1...Kf4-e4 2.Kh3-g4 threat: 3.Se1-f3 threat: 4.Qb5-c4 # 4.Qb5-f5 # 3.Se1-c2 threat: 4.Qb5-f5 # 2...Ke4-d4 3.Qb5-c6 zugzwang. 3...Kd4-e5 4.Se1-f3 #" --- authors: - Loyd, Samuel source: London Chess Congress date: 1866 algebraic: white: [Kf1, Qf6, Bg4, Bc3, Pc6] black: [Kd3, Pc5] stipulation: "#4" solution: | "1.Bc3-d2 ! threat: 2.Qf6-c3 + 2...Kd3-e4 3.Bg4-e6 threat: 4.Qc3-e3 # 1...Kd3*d2 2.Bg4-f5 threat: 3.Qf6-b2 + 3...Kd2-e3 4.Qb2-f2 # 3...Kd2-d1 4.Bf5-g4 # 4.Qb2-c2 # 2...Kd2-e3 3.Qf6-h4 threat: 4.Qh4-f2 # 3...Ke3-d2 4.Qh4-e1 # 2...Kd2-c1 3.Qf6-a1 + 3...Kc1-d2 4.Qa1-e1 # 3.Qf6-c3 + 3...Kc1-d1 4.Bf5-g4 # 4.Qc3-e1 # 4.Qc3-c2 # 3.Kf1-e1 threat: 4.Qf6-a1 # 4.Qf6-c3 # 3.Kf1-e2 threat: 4.Qf6-c3 # 4.Qf6-a1 # 1...Kd3-c4 2.Bg4-e2 + 2...Kc4-d5 3.Bd2-e3 zugzwang. 3...c5-c4 4.Be2-f3 # 3...Kd5-e4 4.Qf6-e6 # 2...Kc4-b3 3.Qf6-a1 zugzwang. 3...c5-c4 4.Be2-d1 # 3...Kb3-c2 4.Qa1-a2 # 1...c5-c4 2.Bg4-f5 + 2...Kd3*d2 3.Qf6-b2 + 3...Kd2-e3 4.Qb2-f2 # 3...Kd2-d1 4.Bf5-g4 # 4.Qb2-c2 #" --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper source-id: 123v date: 1858-04-24 algebraic: white: [Kg2, Rd5, Ba6, Sh4] black: [Kg4, Pg6] stipulation: "#4" solution: | "1.Ba6-e2 + ! 1...Kg4*h4 2.Be2-h5 zugzwang. 2...g6-g5 3.Bh5-g6 zugzwang. 3...Kh4-g4 4.Rd5-d4 # 3...g5-g4 4.Rd5-h5 # 2...g6*h5 3.Kg2-f3 zugzwang. 3...Kh4-h3 4.Rd5*h5 # 1...Kg4-f4 2.Kg2-f2 threat: 3.Sh4-g2 + 3...Kf4-e4 4.Be2-f3 # 3.Sh4*g6 + 3...Kf4-e4 4.Be2-f3 # 3.Be2-f3 threat: 4.Sh4-g2 # 4.Sh4*g6 # 2...Kf4-e4 3.Be2-f3 + 3...Ke4-f4 4.Sh4-g2 # 4.Sh4*g6 # 2...g6-g5 3.Sh4-g2 + 3...Kf4-e4 4.Be2-f3 # 3.Sh4-g6 + 3...Kf4-e4 4.Be2-f3 #" --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper source-id: 67 date: 1857-03-28 algebraic: white: [Kf4, Rc6, Bd1, Ba5] black: [Kd3, Pd6] stipulation: "#4" solution: | "1.Ba5-c3 ! zugzwang. 1...d6-d5 2.Kf4-f3 zugzwang. 2...d5-d4 3.Bd1-b3 zugzwang. 3...d4*c3 4.Rc6-d6 # 1.Ba5-b6 ! threat: 2.Bb6-e3 threat: 3.Kf4-f3 threat: 4.Bd1-e2 # 4.Bd1-c2 # 2.Kf4-f3 threat: 3.Bb6-e3 threat: 4.Bd1-e2 # 4.Bd1-c2 # 3.Bd1-e2 + 3...Kd3-d2 4.Bb6-a5 # 2...Kd3-d2 3.Bd1-e2 threat: 4.Bb6-a5 # 1...d6-d5 2.Kf4-f3 threat: 3.Bb6-e3 threat: 4.Bd1-e2 # 4.Bd1-c2 # 3.Bd1-e2 + 3...Kd3-d2 4.Bb6-a5 # 2...Kd3-d2 3.Bd1-e2 threat: 4.Bb6-a5 # 2...d5-d4 3.Bd1-e2 + 3...Kd3-d2 4.Bb6-a5 #" keywords: - Cooked comments: - also in The New York Turf, Field and Farm (no. 232), 10 March 1871 --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 11 date: 1857-02 algebraic: white: [Ka1, Rg3, Rd1, Sc3] black: [Kf1, Be1, Pf2, Pe4] stipulation: "#4" solution: | "1.Ka1-a2 ! zugzwang. 1...e4-e3 2.Rd1-a1 zugzwang. 2...e3-e2 3.Sc3-b1 threat: 4.Sb1-d2 #" keywords: - Indian --- authors: - Loyd, Samuel source: Cleveland Voice, Centennial Tourney source-id: 6 date: 1877-02-11 distinction: 2nd Prize algebraic: white: [Kb6, Rh1, Rd5, Bf1, Ba3, Se1, Ph2, Pc5, Pc4] black: [Kd1, Pe3, Pd3, Pc6] stipulation: "#4" solution: | "1.Rd5-d8 ! zugzwang. 1...e3-e2 2.Bf1-h3 threat: 3.Rd8*d3 # 2...d3-d2 3.Bh3-d7 zugzwang. 3...d2*e1=Q 4.Bd7-f5 # 3...d2*e1=S 4.Bd7-f5 # 3...d2*e1=R 4.Bd7-f5 # 3...d2*e1=B 4.Bd7-f5 # 1...Kd1*e1 2.Ba3-b4 + 2...Ke1-d1 3.Bf1*d3 # 2...Ke1-f2 3.Rd8-f8 # 2...d3-d2 3.Rd8-f8 threat: 4.Bf1-d3 # 3...e3-e2 4.Bf1-h3 # 4.Bf1-g2 # 1...Kd1-d2 2.Bf1-h3 zugzwang. 2...Kd2-e2 3.Bh3-g4 + 3...Ke2-d2 4.Rd8*d3 # 3...Ke2-f2 4.Rd8-f8 # 2...Kd2-d1 3.Bh3-g4 + 3...Kd1-d2 4.Rd8*d3 # 3...e3-e2 4.Rd8*d3 # 2...Kd2-c3 3.Rd8*d3 + 3...Kc3*c4 4.Bh3-e6 # 2...e3-e2 3.Rd8*d3 # 1...d3-d2 2.Bf1-h3 zugzwang. 2...Kd1-e2 3.Bh3-g4 + 3...Ke2-f2 4.Rd8-f8 # 2...e3-e2 3.Bh3-d7 zugzwang. 3...d2*e1=Q 4.Bd7-f5 # 3...d2*e1=S 4.Bd7-f5 # 3...d2*e1=R 4.Bd7-f5 # 3...d2*e1=B 4.Bd7-f5 #" --- authors: - Loyd, Samuel source: The New York Albion date: 1858-08-21 distinction: 2nd Prize algebraic: white: [Ke1, Rh1, Bh4, Bb3, Sc1, Sa6, Ph3, Pg5, Pd2, Pc5, Pa3] black: [Ke4, Pg6, Pg3, Pe5, Pd4, Pd3, Pc6, Pc2, Pa5] stipulation: "#4" solution: | "1.0-0 ! zugzwang. 1...g3-g2 2.Rf1-f8 zugzwang. 2...a5-a4 3.Bb3-f7 zugzwang. 3...Ke4-f4 4.Bf7-d5 # 4.Bf7*g6 # 3...Ke4-f5 4.Bf7-d5 # 3...Ke4-f3 4.Bf7-d5 # 4.Bf7*g6 # 1...a5-a4 2.Bb3-g8 zugzwang. 2...g3-g2 3.Rf1-f7 zugzwang. 3...Ke4-d5 4.Rf7-f4 #" --- authors: - Loyd, Samuel source: Mirror of American Sports date: 1885 algebraic: white: [Kg1, Bb8, Se3, Sc3, Pf4, Pd2, Pc4, Pb2] black: [Kd4, Bc6, Pg7, Pg3, Pf7, Pf6, Pd3, Pc5, Pa7] stipulation: "#4" solution: | "1.Bb8-d6 ! threat: 2.Bd6-f8 threat: 3.Bf8*g7 threat: 4.Bg7*f6 #" --- authors: - Loyd, Samuel source: Philadelphia Evening Bulletin date: 1859 algebraic: white: [Kc6, Qf8, Rg1, Sh4, Sf3, Pg5, Pd7, Pd2] black: [Kf4, Rh7, Ra6, Bd8, Sb2, Sa3, Ph6, Pf6, Pd3, Pc7, Pb6] stipulation: "#4" solution: | "1.Qf8-d6 + ! 1...Kf4-e4 2.Qd6-d4 # 2.Rg1-e1 # 2.Rg1-g4 # 1...c7*d6 2.Sf3-d4 threat: 3.Sh4-g6 + 3...Kf4-e4 4.Rg1-g4 # 3.Sd4-e6 + 3...Kf4-e4 4.Rg1-e1 # 3...Kf4-e5 4.Rg1-e1 # 2...Sb2-d1 3.Sh4-g6 + 3...Kf4-e4 4.Rg1-g4 # 2...Sb2-c4 3.Sh4-g6 + 3...Kf4-e4 4.Rg1-g4 # 2...Sa3-c2 3.Sh4-g6 + 3...Kf4-e4 4.Rg1-g4 # 2...Sa3-c4 3.Sh4-g6 + 3...Kf4-e4 4.Rg1-g4 # 2...Kf4-e4 3.Rg1-g4 + 3...Ke4-e5 4.Sh4-f3 # 4.Sh4-g6 # 2...Kf4-e5 3.Sh4-g6 + 3...Ke5-e4 4.Rg1-g4 # 3...Ke5*d4 4.Rg1-g4 # 2...Ra6-a4 3.Sh4-g6 + 3...Kf4-e4 4.Rg1-g4 # 2...b6-b5 + 3.Kc6-d5 threat: 4.Sh4-g6 # 4.Sd4-e6 # 3...Rh7-e7 4.Sh4-g6 # 3...Rh7-g7 4.Sd4-e6 # 2...f6-f5 3.Sd4-e6 + 3...Kf4-e4 4.Rg1-e1 # 3...Kf4-e5 4.Rg1-e1 # 2...f6*g5 3.Sh4-g6 + 3...Kf4-e4 4.Rg1-g4 # 2...h6-h5 3.Sd4-e6 + 3...Kf4-e4 4.Rg1-e1 # 3...Kf4-e5 4.Rg1-e1 # 2...Rh7-e7 3.Sh4-g6 + 3...Kf4-e4 4.Rg1-g4 # 2...Rh7-g7 3.Sd4-e6 + 3...Kf4-e4 4.Rg1-e1 # 3...Kf4-e5 4.Rg1-e1 #" --- authors: - Loyd, Samuel source: American Union date: 1858-09 distinction: 1st Prize algebraic: white: [Kh3, Qg7, Sd4, Sc6, Pe5] black: [Kc5, Sh8, Pd6] stipulation: "#4" solution: | "1.e5-e6 ! threat: 2.Qg7-b7 threat: 3.Qb7-b5 # 2...Kc5-d5 3.Qb7-b3 + 3...Kd5-c5 4.Qb3-b5 # 3...Kd5-e4 4.Qb3-f3 # 2...Kc5-c4 3.Qb7-b3 + 3...Kc4-c5 4.Qb3-b5 # 2...d6-d5 3.Qb7-b4 # 1...Kc5-d5 2.Qg7-g3 threat: 3.Qg3-b3 + 3...Kd5-c5 4.Qb3-b5 # 3...Kd5-e4 4.Qb3-f3 # 1...Kc5-c4 2.Qg7-g3 threat: 3.Qg3-b3 + 3...Kc4-c5 4.Qb3-b5 # 1...Sh8-f7 2.Qg7*f7 zugzwang. 2...Kc5-d5 3.Qf7-f1 zugzwang. 3...Kd5-c5 4.Qf1-b5 # 3...Kd5-e4 4.Qf1-f3 # 2...Kc5-c4 3.Qf7-f5 zugzwang. 3...Kc4-c3 4.Qf5-c2 # 3...d6-d5 4.Qf5-c2 # 2...Kc5-b6 3.Qf7-a7 # 2...d6-d5 3.Qf7-h7 zugzwang. 3...Kc5-c4 4.Qh7-c2 # 3...Kc5-b6 4.Qh7-a7 # 3...Kc5-d6 4.Qh7-e7 # 1...Sh8-g6 2.Qg7*g6 zugzwang. 2...Kc5-d5 3.Qg6-d3 zugzwang. 3...Kd5-c5 4.Qd3-b5 # 2...Kc5-c4 3.Qg6-f5 zugzwang. 3...Kc4-c3 4.Qf5-c2 # 3...d6-d5 4.Qf5-c2 # 2...Kc5-b6 3.Qg6-b1 + 3...Kb6-a6 4.Qb1-b5 # 3...Kb6-c7 4.Qb1-b8 # 3...Kb6-c5 4.Qb1-b5 # 2...d6-d5 3.Qg6-h7 zugzwang. 3...Kc5-d6 4.Qh7-e7 # 3...Kc5-c4 4.Qh7-c2 # 3...Kc5-b6 4.Qh7-a7 #" --- authors: - Loyd, Samuel source: American Chess Journal date: 1877 algebraic: white: [Ke1, Ra1, Bc7, Sc2, Sa7, Pd4, Pb6, Pb5, Pa4] black: [Kb7, Ba8, Pe6, Pd5, Pa6, Pa5] stipulation: "#4" solution: | "1.K~? e5! 1.R~? axb5! 1.0-0-0!! 1...axb5 2.Se1 ~ 3.Sd3 ~ 4.Sc5# 1...e5 2.Sa1 ~ 3.Sb3 ~ 4.Sc5#" keywords: - Castling --- authors: - Loyd, Samuel source: Paris Tourney date: 1867 distinction: 2nd Prize, set algebraic: white: [Kh4, Qd5, Rg1, Bf4, Ph5, Pe2, Pc2, Pb4] black: [Kd2, Re3, Rd3, Ph6, Pg3, Pf5, Pd7, Pd4, Pc3, Pb5] stipulation: "#4" solution: | "1.Qd5-a8 ! threat: 2.Qa8-a1 threat: 3.Qa1-d1 # 2...Kd2*e2 3.Rg1-f1 threat: 4.Qa1-e1 # 3...Ke2-d2 4.Qa1-d1 # 3...Rd3-d1 4.Qa1*d1 # 3.Qa1-f1 + 3...Ke2-d2 4.Rg1-g2 # 4.Qf1-g2 # 4.Qf1*d3 # 4.Qf1-d1 # 2...Kd2*c2 3.Qa1-a2 # 1...g3-g2 2.Qa8-g8 zugzwang. 2...d7-d6 3.Qg8-d5 zugzwang. 3...Kd2*e2 4.Qd5*g2 # 3...Kd2*c2 4.Qd5-a2 # 2...Kd2*e2 3.Qg8*g2 # 2...Kd2*c2 3.Qg8-a2 # 2...d7-d5 3.Qg8*d5 zugzwang. 3...Kd2*e2 4.Qd5*g2 # 3...Kd2*c2 4.Qd5-a2 #" --- authors: - Loyd, Samuel source: Detroit Free Press source-id: 1537 date: 1883-09-08 algebraic: white: [Ke7, Qe2, Se6, Ph3, Pf4, Pb3] black: [Ke4, Se3] stipulation: "#4" solution: | "1.Ke7-e8 ! threat: 2.Ke8-e7 zugzwang. 2...Ke4-d5 3.Qe2-f3 # 2...Ke4-f5 3.Qe2-d3 # 1...Ke4-d5 2.Ke8-d7 threat: 3.Qe2-f3 # 3.Qe2-d3 # 2...Se3-c2 3.Qe2-f3 # 3.Qe2-c4 # 3.Qe2-e5 # 3.Qe2-g2 # 2...Se3-f5 3.Qe2-f3 # 3.Qe2-c4 # 3.Qe2-e5 # 3.Qe2-g2 # 2...Kd5-e4 3.Kd7-e7 zugzwang. 3...Ke4-f5 4.Qe2-d3 # 3...Ke4-d5 4.Qe2-f3 # 1...Ke4-f5 2.Ke8-f7 threat: 3.Qe2-d3 # 2...Kf5-e4 3.Kf7-e7 zugzwang. 3...Ke4-d5 4.Qe2-f3 # 3...Ke4-f5 4.Qe2-d3 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 17 date: 1857-04 algebraic: white: [Ke1, Qc1, Sc4, Pd5] black: [Kg1, Pg4, Pg3, Pg2] stipulation: "#4" solution: | "1.Ke1-d1 ! zugzwang. 1...Kg1-h2 2.Qc1-h6 + 2...Kh2-g1 3.Sc4-d2 zugzwang. 3...Kg1-f2 4.Qh6-b6 # 1...Kg1-h1 2.Qc1-h6 + 2...Kh1-g1 3.Sc4-d2 zugzwang. 3...Kg1-f2 4.Qh6-b6 # 1...Kg1-f1 2.Kd1-d2 + 2...Kf1-f2 3.Qc1-e1 + 3...Kf2-f3 4.Qe1-e3 # 2.Kd1-c2 + 2...Kf1-f2 3.Qc1-e3 + 3...Kf2-f1 4.Sc4-d2 # 2...Kf1-e2 3.Qc1-e3 + 3...Ke2-f1 4.Sc4-d2 # 3.Qc1-g1 zugzwang. 3...Ke2-f3 4.Qg1-e3 # 2.Qc1-e3 threat: 3.Sc4-d2 # 3.Qe3-e1 # 2...g2-g1=Q 3.Qe3-e2 # 2...g2-g1=S 3.Qe3*g3 threat: 4.Sc4-d2 # 4.Sc4-e3 # 3...Sg1-f3 4.Sc4-e3 # 2...g2-g1=R 3.Qe3-e2 # 2...g2-g1=B 3.Qe3-e2 # 2.Qc1-d2 threat: 3.Qd2-e1 # 2...Kf1-g1 3.Sc4-e3 threat: 4.Qd2*g2 # 2...g2-g1=Q 3.Qd2-e2 # 2...g2-g1=S 3.Sc4-e3 # 2...g2-g1=R 3.Sc4-e3 # 3.Qd2-e2 # 2...g2-g1=B 3.Qd2-e2 # 2.Qc1-b2 threat: 3.Sc4-e3 + 3...Kf1-g1 4.Qb2*g2 # 2.Qc1-c2 threat: 3.Sc4-e3 + 3...Kf1-g1 4.Qc2*g2 # 1...Kg1-f2 2.Qc1-e3 + 2...Kf2-f1 3.Sc4-d2 # 3.Qe3-e1 #" --- authors: - Loyd, Samuel source: London Chess Congress date: 1866 algebraic: white: [Kf8, Qh4, Bc3, Sc5, Ph3, Pb2] black: [Kc4, Pe4] stipulation: "#4" solution: | "1.Sc5-b3 ! zugzwang. 1...Kc4-d3 2.Sb3-d4 zugzwang. 2...Kd3-e3 3.Qh4-g3 # 2...Kd3-c4 3.Qh4*e4 zugzwang. 3...Kc4-c5 4.Qe4-c6 # 3.Qh4-h5 threat: 4.Qh5-b5 # 3...Kc4-d3 4.Qh5-e2 # 2...e4-e3 3.Qh4-h5 zugzwang. 3...Kd3-c4 4.Qh5-b5 # 3...Kd3-e4 4.Qh5-f5 # 3...e3-e2 4.Qh5*e2 # 1...Kc4-b5 2.Qh4-h6 threat: 3.Sb3-a5 threat: 4.Qh6-c6 # 1...Kc4-d5 2.Sb3-a5 threat: 3.Qh4-e7 threat: 4.Qe7-e5 # 3.Qh4-f6 threat: 4.Qf6-e5 # 4.Qf6-c6 # 3...Kd5-c5 4.Qf6-c6 # 3.Qh4-h6 threat: 4.Qh6-c6 # 2...e4-e3 3.Qh4-e7 threat: 4.Qe7-e5 # 3.Qh4-c4 + 3...Kd5-d6 4.Qc4-c6 # 2...Kd5-d6 3.Qh4-e7 + 3...Kd6-d5 4.Qe7-e5 # 2...Kd5-c5 3.Qh4-f6 threat: 4.Qf6-c6 # 3.Qh4-h6 threat: 4.Qh6-c6 # 2...Kd5-e6 3.Qh4-e7 + 3...Ke6-f5 4.Qe7-f6 # 3...Ke6-d5 4.Qe7-e5 # 1...Kc4*b3 2.Qh4*e4 zugzwang. 2...Kb3-a2 3.Qe4-c2 zugzwang. 3...Ka2-a1 4.b2-b4 # 4.b2-b3 #" --- authors: - Loyd, Samuel source: American Union source-id: 1 date: 1858-05-08 algebraic: white: [Kh2, Rh4, Re8, Bf6, Sf3, Sa5, Ph5, Pe5, Pd3, Pd2, Pc6] black: [Kf5, Qb2, Ph6, Pf7, Pf4, Pd5, Pd4, Pc7, Pb3, Pa4] stipulation: "#4" solution: | "1.Re8-a8 ! zugzwang. 1...Qb2-a1 2.Sa5*b3 threat: 3.Sf3*d4 + 3...Qa1*d4 4.Sb3*d4 # 3.Sb3*a1 threat: 4.Sf3*d4 # 3.Sb3*d4 + 3...Qa1*d4 4.Sf3*d4 # 2...Qa1-c3 3.Sf3*d4 + 3...Qc3*d4 4.Sb3*d4 # 3.Sb3*d4 + 3...Qc3*d4 4.Sf3*d4 # 3.d2*c3 threat: 4.Sf3*d4 # 4.Sb3*d4 # 3...a4*b3 4.Sf3*d4 # 2...Qa1-b2 3.Sf3*d4 + 3...Qb2*d4 4.Sb3*d4 # 3.Sb3*d4 + 3...Qb2*d4 4.Sf3*d4 # 2...Qa1-h1 + 3.Kh2*h1 threat: 4.Sf3*d4 # 4.Sb3*d4 # 3...a4*b3 4.Sf3*d4 # 2...Qa1-g1 + 3.Kh2*g1 threat: 4.Sf3*d4 # 4.Sb3*d4 # 3...a4*b3 4.Sf3*d4 # 2...a4*b3 3.Ra8*a1 threat: 4.Sf3*d4 # 1...Qb2-c1 2.Sf3*d4 # 1...Qb2-c3 2.d2*c3 threat: 3.Sf3*d4 # 1...Qb2-a3 2.Sf3*d4 # 1...Qb2-b1 2.Sf3*d4 # 1...Qb2-a2 2.Sf3*d4 # 1...Qb2*d2 + 2.Sf3*d2 threat: 3.Sd2-f3 threat: 4.Sf3*d4 # 1...Qb2-c2 2.Sf3*d4 # 1...a4-a3 2.Sa5*b3 threat: 3.Sf3*d4 + 3...Qb2*d4 4.Sb3*d4 # 3.Sb3*d4 + 3...Qb2*d4 4.Sf3*d4 # 2...Qb2*d2 + 3.Sf3*d2 threat: 4.Sb3*d4 # 3.Sb3*d2 threat: 4.Sf3*d4 # 1...Kf5-e6 2.Rh4*f4 threat: 3.Ra8-e8 # 2...Qb2-a3 3.Sf3*d4 # 2...Qb2*d2 + 3.Sf3*d2 threat: 4.Ra8-e8 #" --- authors: - Loyd, Samuel source: Texas Siftings date: 1888 algebraic: white: [Kb1, Rg1, Rc4, Bg5, Bc2, Sd3, Sc3, Pg4, Pf5, Pf3, Pe2, Pc7, Pb7, Pb5, Pa6] black: [Kd2, Rf1, Bc1, Se3, Pg3, Pg2, Pf2, Pd7, Pb2] stipulation: "#4" solution: | "1.b7-b8=S ! threat: 2.Sb8*d7 threat: 3.Sd7-c5 threat: 4.Sc5-b3 # 4.Sc5-e4 # 3.Sd7-f6 threat: 4.Sf6-e4 # 1...d7-d5 2.Sb8-c6 threat: 3.Sc6-d4 threat: 4.Sd4-b3 # 3...d5*c4 4.Sc3-e4 # 2...d5*c4 3.Sc3-e4 + 3...Kd2*e2 4.Sc6-d4 # 1...d7-d6 2.Sb8-c6 threat: 3.Sc6-a5 threat: 4.Sa5-b3 # 3.Sc6-d4 threat: 4.Sd4-b3 # 4.Sc3-e4 # 3...d6-d5 4.Sd4-b3 # 3.Sc3-e4 + 3...Kd2*e2 4.Sc6-d4 # 2...Rf1*g1 3.Sc6-a5 threat: 4.Sa5-b3 # 3.Sc6-d4 threat: 4.Sd4-b3 # 4.Sc3-e4 # 3...d6-d5 4.Sd4-b3 # 2...d6-d5 3.Sc6-d4 threat: 4.Sd4-b3 # 3...d5*c4 4.Sc3-e4 #" keywords: - Scaccografia comments: - The Kilkenny Cats --- authors: - Loyd, Samuel source: New York Clipper, Saturday Courier Tourney source-id: 25 date: 1856-10-11 distinction: 1st Prize algebraic: white: [Ke1, Qd4, Bg3, Sd6, Sa6, Pe5] black: [Kc6, Ba2, Sa8, Pg6, Pf7, Pe6, Pd7, Pb6, Pb5] stipulation: "#4" solution: | "1.Qd4-g1 ! threat: 2.Bg3-f2 threat: 3.Bf2*b6 threat: 4.Sa6-b4 # 4.Qg1-c5 # 3...Kc6-d5 4.Qg1-c5 # 3...Sa8*b6 4.Qg1-c5 #" keywords: - Loyd-Turton --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 46 date: 1857-11 distinction: Prize algebraic: white: [Kh7, Rf3, Rf2, Bh1, Sg7, Sb2, Ph2, Pg6, Pc2] black: [Ke4, Qa2, Rd7, Rb5, Bf4, Ba6, Sb1, Sa8, Pf6, Pe7, Pa3] stipulation: "#4" solution: | "1.Rf3*f4 + ! 1...Ke4-e3 2.Bh1-d5 threat: 3.Sg7-f5 # 3.Sb2-d1 # 2...Sb1-c3 3.Sg7-f5 # 2...Qa2*d5 3.Sg7-f5 + 3...Qd5*f5 4.Sb2-c4 # 2...Qa2*b2 3.Sg7-f5 # 2...a3*b2 3.Sg7-f5 # 2...Rb5*b2 3.Sg7-f5 # 2...Rb5*d5 3.Sb2-d1 + 3...Rd5*d1 4.Sg7-f5 # 2...Rd7*d5 3.Sg7-f5 + 3...Rd5*f5 4.Sb2-d1 # 2...e7-e5 3.Sb2-d1 # 2...e7-e6 3.Sb2-d1 # 1...Ke4-e5 2.Rf2-e2 + 2...Ke5-d6 3.Sg7-e8 + 3...Kd6-c5 4.Sb2-a4 # 2...Ke5*f4 3.Re2-e4 + 3...Kf4-g5 4.h2-h4 #" --- authors: - Loyd, Samuel source: The New York Turf, Field and Farm source-id: 588 date: 1878-01-11 distinction: 1st Prize, Set algebraic: white: [Kg4, Qf2, Ba3, Se1, Sb4, Pd4] black: [Kb3, Ph4, Pd5, Pc3] stipulation: "#4" solution: | "1.Qf2-f8 ! threat: 2.Sb4*d5 threat: 3.Sd5*c3 threat: 4.Qf8-b4 # 1...Kb3*a3 2.Sb4-c2 + 2...Ka3-a2 3.Qf8-a3 + 3...Ka2-b1 4.Qa3-a1 # 2...Ka3-b3 3.Qf8-a3 + 3...Kb3-c4 4.Qa3-b4 # 4.Qa3-a4 # 2...Ka3-a4 3.Qf8-b4 # 2...Ka3-b2 3.Qf8-a3 + 3...Kb2-b1 4.Qa3-a1 # 1...c3-c2 2.Sb4*c2 threat: 3.Qf8-b4 + 3...Kb3-a2 4.Qb4-b2 # 3.Qf8-b8 + 3...Kb3-a2 4.Qb8-b2 # 3...Kb3-c3 4.Qb8-b4 # 3...Kb3-a4 4.Qb8-b4 # 3...Kb3-c4 4.Qb8-b4 #" --- authors: - Loyd, Samuel source: New York State Chess Association date: 1894-08-16 algebraic: white: [Kh7, Qh6, Rh8, Rg6, Sf8, Sa1, Ph2, Pg5, Pe2, Pd2, Pc2, Pb4, Pb3, Pa7] black: [Kg4, Rg8, Bb8, Pg7, Pf5, Pf4, Pe6, Pd7, Pc7, Pb6] stipulation: "#4" solution: "1.g5*f6 e.p.+! Kf5 2.Rg5+ Ke4 3.Qg6+ Kd4 4.Qd3#" keywords: - Retro --- authors: - Loyd, Samuel source: Milwaukee Telegraph date: 1885 algebraic: white: [Kf3, Rd5] black: [Kh1, Se2, Ph2] stipulation: "#4" solution: | "1.Rd5-d2 ! threat: 2.Rd2*e2 threat: 3.Re2-e1 # 1...Se2-g1 + 2.Kf3-g3 threat: 3.Rd2*h2 # 2...Sg1-h3 3.Rd2-e2 zugzwang. 3...Sh3-f2 4.Re2-e1 # 3...Kh1-g1 4.Re2-e1 # 3...Sh3-g1 4.Re2*h2 # 3...Sh3-g5 4.Re2-e1 # 3...Sh3-f4 4.Re2-e1 # 2...Sg1-f3 3.Kg3*f3 threat: 4.Rd2-d1 # 2...Sg1-e2 + 3.Rd2*e2 threat: 4.Re2-e1 # 1...Se2-g3 2.Kf3*g3 threat: 3.Rd2-d1 # 2.Rd2-d1 + 2...Sg3-f1 3.Rd1*f1 # 1...Se2-d4 + 2.Rd2*d4 threat: 3.Rd4-d1 # 1...Se2-c3 2.Rd2-c2 threat: 3.Rc2-c1 + 3...Sc3-d1 4.Rc1*d1 # 3.Rc2*c3 threat: 4.Rc3-c1 # 2...Kh1-g1 3.Rc2-c1 + 3...Sc3-d1 4.Rc1*d1 # 2...Sc3-a2 3.Rc2*a2 threat: 4.Ra2-a1 # 3.Rc2-e2 threat: 4.Re2-e1 # 2...Sc3-d1 3.Rc2-c1 threat: 4.Rc1*d1 # 2...Sc3-e2 3.Rc2*e2 threat: 4.Re2-e1 #" --- authors: - Loyd, Samuel source: American Union source-id: 31 date: 1858-11 algebraic: white: [Ke8, Rg1, Bg7, Bb3, Sd3, Sa1, Ph4, Pg5, Pe4] black: [Ka3, Qf2, Rh2, Bh1, Ph3, Pg2, Pa5] stipulation: "#4" solution: | "1.g5-g6 ! zugzwang. 1...Qf2-f8 + 2.Bg7*f8 # 1...Qf2-e1 2.Bg7-b2 # 1...Qf2*g1 2.Bg7-b2 # 1...Qf2*h4 2.Bg7-b2 # 1...Qf2-g3 2.Bg7-b2 # 1...Qf2-a7 2.Bg7-b2 # 1...Qf2-b6 2.Bg7-b2 # 1...Qf2-c5 2.Bg7-b2 # 1...Qf2-d4 2.Bg7*d4 threat: 3.Bd4-b2 # 3.Bd4-c5 # 1...Qf2-e3 2.Bg7-b2 # 1...Qf2-f1 2.Bg7-b2 # 1...Qf2-a2 2.Bg7-f8 # 1...Qf2-b2 2.Bg7-f8 # 2.Bg7*b2 # 1...Qf2-c2 2.Bg7-f8 + 2...Qc2-c5 3.Bf8*c5 # 1...Qf2-d2 2.Bg7-f8 + 2...Qd2-b4 3.g6-g7 zugzwang. 3...Qb4*f8 + 4.g7*f8=Q # 4.g7*f8=B # 3...Qb4-e7 + 4.Bf8*e7 # 3...Qb4-d6 4.Bf8*d6 # 3...Qb4-c5 4.Bf8*c5 # 3...a5-a4 4.Bf8*b4 # 1...Qf2-e2 2.Bg7-f8 # 1...Qf2-f7 + 2.Ke8*f7 threat: 3.Bg7-b2 # 3.Bg7-f8 # 2.g6*f7 threat: 3.Bg7-f8 # 3.Bg7-b2 # 3.f7-f8=Q # 3.f7-f8=B # 1...Qf2-f6 2.Bg7*f6 threat: 3.Bf6-b2 # 3.Bf6-e7 # 1...Qf2-f5 2.Bg7-b2 # 1...Qf2-f4 2.Bg7-b2 # 1...Qf2-f3 2.Bg7-b2 # 1...a5-a4 2.Bb3-g8 zugzwang. 2...Qf2-f7 + 3.g6*f7 threat: 4.f7-f8=Q # 4.f7-f8=B # 2...Qf2-e1 3.Bg7-b2 # 3.Sa1-c2 # 2...Qf2*g1 3.Sa1-c2 # 3.Bg7-b2 # 2...Qf2*h4 3.Bg7-b2 # 3.Sa1-c2 # 2...Qf2-g3 3.Sa1-c2 # 3.Bg7-b2 # 2...Qf2-a7 3.Bg7-b2 # 3.Sa1-c2 # 2...Qf2-b6 3.Sa1-c2 # 2...Qf2-c5 3.Bg7-b2 # 2...Qf2-d4 3.Sa1-c2 # 2...Qf2-e3 3.Sa1-c2 # 3.Bg7-b2 # 2...Qf2-f1 3.Bg7-b2 # 3.Sa1-c2 # 2...Qf2-a2 3.Bg7-f8 # 2...Qf2-b2 3.Bg7*b2 # 2...Qf2-c2 3.Sa1*c2 # 2...Qf2-d2 3.Bg7-f8 + 3...Qd2-b4 4.Bf8*b4 # 4.Sa1-c2 # 2...Qf2-e2 3.Bg7-f8 # 2...Qf2-f8 + 3.Bg7*f8 # 2...Qf2-f6 3.Sa1-c2 # 2...Qf2-f5 3.Sa1-c2 # 3.Bg7-b2 # 2...Qf2-f4 3.Bg7-b2 # 3.Sa1-c2 # 2...Qf2-f3 3.Sa1-c2 # 3.Bg7-b2 #" keywords: - Siegfried theme --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 28 date: 1857-06 algebraic: white: [Ke5, Qh4, Pf7] black: [Kg7, Sh8] stipulation: "#4" solution: | "1.Qh4*h8 + ! 1...Kg7*f7 2.Qh8-h7 + 2...Kf7-f8 3.Ke5-e6 threat: 4.Qh7-f7 # 4.Qh7-h8 # 3...Kf8-e8 4.Qh7-g8 # 4.Qh7-e7 # 4.Qh7-h8 # 3.Ke5-d6 zugzwang. 3...Kf8-e8 4.Qh7-g8 # 4.Qh7-e7 # 3.Ke5-f6 threat: 4.Qh7-f7 # 4.Qh7-h8 # 3...Kf8-e8 4.Qh7-e7 # 2...Kf7-e8 3.Ke5-e6 threat: 4.Qh7-g8 # 4.Qh7-e7 # 4.Qh7-h8 # 3...Ke8-f8 4.Qh7-f7 # 4.Qh7-h8 # 3...Ke8-d8 4.Qh7-d7 # 1...Kg7-g6 2.f7-f8=Q threat: 3.Qh8-h6 # 3.Qf8-g7 # 3.Qf8-f5 # 3.Qf8-f6 # 3.Qf8-g8 # 2...Kg6-g5 3.Qf8-g7 # 3.Qf8-f5 # 3.Qf8-g8 # 2.f7-f8=R zugzwang. 2...Kg6-g5 3.Rf8-g8 # 1...Kg7*h8 2.Ke5-f6 threat: 3.f7-f8=Q + 3...Kh8-h7 4.Qf8-g7 # 2...Kh8-h7 3.f7-f8=R zugzwang. 3...Kh7-h6 4.Rf8-h8 #" --- authors: - Loyd, Samuel source: Baltimore Dispatch date: 1858 algebraic: white: [Ka4, Qb8, Be6, Pc4] black: [Ka6, Ra8, Se7] stipulation: "#4" solution: | "1.Be6-c8 + ! 1...Se7*c8 2.Qb8-b5 + 2...Ka6-a7 3.Ka4-a5 zugzwang. 3...Ra8-b8 4.Qb5-a6 # 3...Sc8-b6 4.Qb5*b6 # 3...Sc8-d6 4.Qb5-b6 # 3...Sc8-e7 4.Qb5-b6 #" --- authors: - Loyd, Samuel source: The Chess Monthly date: 1858-04 algebraic: white: [Kc2, Sf5, Se3] black: [Ka1, Sa8, Sa6, Pa2] stipulation: "#4" solution: | "1.Se3-d5 ! zugzwang. 1...Sa6-b4 + 2.Sd5*b4 threat: 3.Sf5-d4 threat: 4.Sd4-b3 # 3.Kc2-c1 threat: 4.Sb4-c2 # 1...Sa6-c5 2.Sf5-d4 zugzwang. 2...Sa8-c7 3.Sd5*c7 zugzwang. 3...Sc5-a4 4.Sd4-b3 # 3...Sc5-b3 4.Sd4*b3 # 3...Sc5-d3 4.Sd4-b3 # 3...Sc5-e4 4.Sd4-b3 # 3...Sc5-e6 4.Sd4-b3 # 3...Sc5-d7 4.Sd4-b3 # 3...Sc5-b7 4.Sd4-b3 # 3...Sc5-a6 4.Sd4-b3 # 2...Sc5-a4 3.Sd4-b3 # 2...Sc5-b3 3.Sd4*b3 # 2...Sc5-d3 3.Sd4-b3 # 2...Sc5-e4 3.Sd4-b3 # 2...Sc5-e6 3.Sd4-b3 # 2...Sc5-d7 3.Sd4-b3 # 2...Sc5-b7 3.Sd4-b3 # 2...Sc5-a6 3.Sd4-b3 # 2...Sa8-b6 3.Sd5*b6 zugzwang. 3...Sc5-a4 4.Sd4-b3 # 3...Sc5-b3 4.Sd4*b3 # 3...Sc5-d3 4.Sd4-b3 # 3...Sc5-e4 4.Sd4-b3 # 3...Sc5-e6 4.Sd4-b3 # 3...Sc5-d7 4.Sd4-b3 # 3...Sc5-b7 4.Sd4-b3 # 3...Sc5-a6 4.Sd4-b3 # 1...Sa6-c7 2.Sf5-d4 threat: 3.Sd4-b3 # 1...Sa6-b8 2.Sf5-d4 threat: 3.Sd4-b3 # 1...Sa8-b6 2.Sf5-d4 threat: 3.Sd4-b3 # 2...Sa6-b4 + 3.Sd5*b4 threat: 4.Sd4-b3 # 2...Sa6-c5 3.Sd5*b6 zugzwang. 3...Sc5-a4 4.Sd4-b3 # 3...Sc5-b3 4.Sd4*b3 # 3...Sc5-d3 4.Sd4-b3 # 3...Sc5-e4 4.Sd4-b3 # 3...Sc5-e6 4.Sd4-b3 # 3...Sc5-d7 4.Sd4-b3 # 3...Sc5-b7 4.Sd4-b3 # 3...Sc5-a6 4.Sd4-b3 # 1...Sa8-c7 2.Sf5-d4 threat: 3.Sd4-b3 # 2...Sa6-b4 + 3.Sd5*b4 threat: 4.Sd4-b3 # 2...Sa6-c5 3.Sd5*c7 zugzwang. 3...Sc5-a4 4.Sd4-b3 # 3...Sc5-b3 4.Sd4*b3 # 3...Sc5-d3 4.Sd4-b3 # 3...Sc5-e4 4.Sd4-b3 # 3...Sc5-e6 4.Sd4-b3 # 3...Sc5-d7 4.Sd4-b3 # 3...Sc5-b7 4.Sd4-b3 # 3...Sc5-a6 4.Sd4-b3 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 96 date: 1858-07 algebraic: white: [Kb6, Rc5, Rc3, Ph2, Pf2, Pd2] black: [Ke4] stipulation: "#4" solution: | "1.f2-f3 + ! 1...Ke4-d4 2.Rc5-c6 zugzwang. 2...Kd4-d5 3.Rc3-c5 + 3...Kd5-d4 4.Rc6-d6 # 2...Kd4-e5 3.Rc3-c5 + 3...Ke5-f4 4.Rc6-f6 # 3...Ke5-d4 4.Rc6-d6 # 1...Ke4-f4 2.Rc5-c6 zugzwang. 2...Kf4-f5 3.Rc3-c5 + 3...Kf5-f4 4.Rc6-f6 # 2...Kf4-e5 3.Rc3-c5 + 3...Ke5-f4 4.Rc6-f6 # 3...Ke5-d4 4.Rc6-d6 # 2...Kf4-g5 3.Rc3-c5 + 3...Kg5-h4 4.Rc6-h6 # 3...Kg5-f4 4.Rc6-f6 #" --- authors: - Loyd, Samuel source: The Chess Monthly date: 1859-04 algebraic: white: [Ke3, Rh4, Rf2] black: [Kg3, Ph7, Ph5, Ph3] stipulation: "#4" solution: | "1.Rf2-h2 ! zugzwang. 1...Kg3*h4 2.Ke3-f4 zugzwang. 2...h7-h6 3.Rh2-h1 zugzwang. 3...h3-h2 4.Rh1*h2 # 3.Rh2-a2 zugzwang. 3...h3-h2 4.Ra2*h2 # 3.Rh2-b2 zugzwang. 3...h3-h2 4.Rb2*h2 # 3.Rh2-c2 zugzwang. 3...h3-h2 4.Rc2*h2 # 3.Rh2-d2 zugzwang. 3...h3-h2 4.Rd2*h2 # 3.Rh2-e2 zugzwang. 3...h3-h2 4.Re2*h2 # 3.Rh2-f2 zugzwang. 3...h3-h2 4.Rf2*h2 # 1...Kg3*h2 2.Ke3-f2 zugzwang. 2...h7-h6 3.Rh4*h5 zugzwang. 3...Kh2-h1 4.Rh5*h3 # 2...Kh2-h1 3.Rh4*h3 # 1...h7-h6 2.Rh2*h3 + 2...Kg3-g2 3.Ke3-e2 zugzwang. 3...Kg2-g1 4.Rh3-g3 #" --- authors: - Loyd, Samuel source: Saturday Press source-id: v 18 date: 1859-02-26 algebraic: white: [Ke4, Bg1, Bc2, Sf3] black: [Ke2, Pg5, Pg2] stipulation: "#4" solution: | "1.Ke4-f5 ! threat: 2.Kf5-g4 zugzwang. 2...Ke2-f1 3.Bc2-d3 # 1...Ke2*f3 2.Bc2-d1 + 2...Kf3-g3 3.Bd1-g4 zugzwang. 3...Kg3-h4 4.Bg1-f2 #" --- authors: - Loyd, Samuel source: Bell's Life in London date: 1867 algebraic: white: [Kf1, Rf3, Rb6, Be1, Ph2] black: [Kh1, Bd8] stipulation: "#4" solution: | "1.Rf3-f6 ! zugzwang. 1...Bd8*b6 2.Rf6*b6 zugzwang. 2...Kh1*h2 3.Rb6-h6 # 1...Kh1*h2 2.Rf6-h6 + 2...Bd8-h4 3.Rh6*h4 # 1...Bd8-c7 2.Rf6-d6 zugzwang. 2...Kh1*h2 3.Rd6-h6 # 2...Bc7*b6 3.Rd6*b6 zugzwang. 3...Kh1*h2 4.Rb6-h6 # 2...Bc7*d6 3.Rb6*d6 zugzwang. 3...Kh1*h2 4.Rd6-h6 # 2...Bc7-d8 3.Rd6*d8 zugzwang. 3...Kh1*h2 4.Rd8-h8 # 4.Rb6-h6 # 2...Bc7-b8 3.Rb6*b8 zugzwang. 3...Kh1*h2 4.Rb8-h8 # 4.Rd6-h6 # 1...Bd8*f6 2.Rb6*f6 zugzwang. 2...Kh1*h2 3.Rf6-h6 # 1...Bd8-e7 2.Rb6-d6 zugzwang. 2...Kh1*h2 3.Rf6-h6 + 3...Be7-h4 4.Rh6*h4 # 2...Be7*d6 3.Rf6*d6 zugzwang. 3...Kh1*h2 4.Rd6-h6 # 2...Be7*f6 3.Rd6*f6 zugzwang. 3...Kh1*h2 4.Rf6-h6 # 2...Be7-f8 3.Rf6*f8 zugzwang. 3...Kh1*h2 4.Rf8-h8 # 4.Rd6-h6 # 2...Be7-d8 3.Rd6*d8 zugzwang. 3...Kh1*h2 4.Rd8-h8 # 4.Rf6-h6 #" --- authors: - Loyd, Samuel source: The Illustrated London News source-id: 1221 date: 1867-07-20 algebraic: white: [Ka7, Qe2, Be5, Se3, Sd5] black: [Ke4, Bc3] stipulation: "#4" solution: | "1.Se3-f5 + ! 1...Ke4*d5 2.Qe2-b5 + 2...Kd5-e6 3.Sf5-g7 + 3...Ke6-e7 4.Qb5-e8 # 3...Ke6-f7 4.Qb5-e8 # 2...Kd5-e4 3.Sf5-g3 + 3...Ke4-e3 4.Qb5-e2 # 3...Ke4-f3 4.Qb5-e2 # 1...Ke4*f5 2.Qe2-h5 + 2...Kf5-e6 3.Sd5-c7 + 3...Ke6-e7 4.Qh5-e8 # 3...Ke6-d7 4.Qh5-e8 # 2...Kf5-e4 3.Sd5*c3 + 3...Ke4-e3 4.Qh5-e2 # 3...Ke4-d3 4.Qh5-e2 #" --- authors: - Loyd, Samuel source: American Chess Journal source-id: 17 date: 1876-06-15 algebraic: white: [Ke8, Qd4, Bc5] black: [Ke6, Pe7] stipulation: "#4" solution: | "1.Qd4-g4 + ! 1...Ke6-d5 2.Bc5-a7 zugzwang. 2...Kd5-d6 3.Qg4-f5 zugzwang. 3...Kd6-c6 4.Qf5-d7 # 3...Kd6-c7 4.Qf5-d7 # 3...e7-e5 4.Qf5-d7 # 3...e7-e6 4.Qf5-c5 # 2...Kd5-e5 3.Ke8*e7 zugzwang. 3...Ke5-d5 4.Qg4-e6 # 2...Kd5-c6 3.Qg4-d7 # 2...e7-e5 3.Ke8-e7 zugzwang. 3...e5-e4 4.Qg4-e6 # 3...Kd5-c6 4.Qg4-d7 # 3.Ke8-d7 zugzwang. 3...e5-e4 4.Qg4-e6 # 2...e7-e6 3.Qg4-d4 + 3...Kd5-c6 4.Qd4-d7 # 1...Ke6-f6 2.Bc5-f2 zugzwang. 2...e7-e6 3.Bf2-g3 zugzwang. 3...e6-e5 4.Bg3-h4 # 2...Kf6-e5 3.Ke8*e7 zugzwang. 3...Ke5-d5 4.Qg4-e6 # 2...e7-e5 3.Bf2-h4 # 2.Bc5-e3 zugzwang. 2...e7-e6 3.Qg4-g5 # 2...Kf6-e5 3.Ke8*e7 threat: 4.Qg4-e6 # 2...e7-e5 3.Ke8-f8 zugzwang. 3...e5-e4 4.Be3-d4 # 3.Be3-c1 zugzwang. 3...e5-e4 4.Bc1-b2 # 3.Be3-d2 zugzwang. 3...e5-e4 4.Bd2-c3 # 3.Be3-g1 zugzwang. 3...e5-e4 4.Bg1-d4 # 3.Be3-f2 threat: 4.Bf2-h4 # 3...e5-e4 4.Bf2-d4 # 3.Be3-h6 threat: 4.Bh6-g7 # 3.Be3-a7 zugzwang. 3...e5-e4 4.Ba7-d4 # 3.Be3-b6 threat: 4.Bb6-d8 # 3...e5-e4 4.Bb6-d4 # 3.Be3-c5 threat: 4.Bc5-e7 # 3...e5-e4 4.Bc5-d4 # 2.Bc5-d4 + 2...e7-e5 3.Bd4-g1 zugzwang. 3...e5-e4 4.Bg1-d4 # 3.Bd4-f2 threat: 4.Bf2-h4 # 3...e5-e4 4.Bf2-d4 # 3.Bd4-e3 zugzwang. 3...e5-e4 4.Be3-d4 # 3.Bd4-a7 zugzwang. 3...e5-e4 4.Ba7-d4 # 3.Bd4-b6 threat: 4.Bb6-d8 # 3...e5-e4 4.Bb6-d4 # 3.Bd4-c5 threat: 4.Bc5-e7 # 3...e5-e4 4.Bc5-d4 # 2.Bc5-b6 zugzwang. 2...Kf6-e5 3.Ke8*e7 zugzwang. 3...Ke5-d5 4.Qg4-e6 # 2...e7-e5 3.Bb6-d8 # 2...e7-e6 3.Bb6-c7 zugzwang. 3...e6-e5 4.Bc7-d8 # 1...Ke6-e5 2.Ke8*e7 threat: 3.Bc5-g1 zugzwang. 3...Ke5-d5 4.Qg4-e6 # 3.Bc5-f2 zugzwang. 3...Ke5-d5 4.Qg4-e6 # 3.Bc5-e3 threat: 4.Qg4-e6 # 3.Bc5-a7 zugzwang. 3...Ke5-d5 4.Qg4-e6 # 3.Bc5-b6 zugzwang. 3...Ke5-d5 4.Qg4-e6 # 2...Ke5-d5 3.Bc5-e3 threat: 4.Qg4-e6 # 3...Kd5-c6 4.Qg4-d7 #" --- authors: - Loyd, Samuel source: Danbury News, Centennial Tourney date: 1877 algebraic: white: [Kd5, Rd8, Bf2, Sb7, Pb5] black: [Ke7, Pd6] stipulation: "#4" solution: | "1.Sb7*d6 ! threat: 2.Bf2-h4 # 1...Ke7*d8 2.Kd5-e6 threat: 3.Bf2-b6 # 2...Kd8-c7 3.Bf2-a7 zugzwang. 3...Kc7-d8 4.Ba7-b6 # 1...Ke7-f6 2.Rd8-g8 threat: 3.Bf2-h4 # 2...Kf6-e7 3.Bf2-h4 + 3...Ke7-d7 4.Rg8-g7 # 3.Bf2-b6 zugzwang. 3...Ke7-d7 4.Rg8-g7 # 3...Ke7-f6 4.Bb6-d8 #" --- authors: - Loyd, Samuel source: Danbury News, Centennial Tourney date: 1877 algebraic: white: [Ke4, Rb7, Bc7, Sf7, Pd4] black: [Kd7, Pd6] stipulation: "#4" solution: | "1.Bc7*d6 + ! 1...Kd7-e6 2.Sf7-e5 zugzwang. 2...Ke6-f6 3.Rb7-h7 zugzwang. 3...Kf6-e6 4.Rh7-h6 # 3...Kf6-g5 4.Bd6-e7 # 2...Ke6*d6 3.Ke4-f5 threat: 4.Rb7-d7 # 1...Kd7-c8 2.Rb7-b6 threat: 3.Sf7-e5 threat: 4.Rb6-b8 # 1...Kd7-e8 2.Sf7-e5 threat: 3.Rb7-b8 # 1...Kd7-c6 2.Sf7-d8 + 2...Kc6*d6 3.Ke4-d3 zugzwang. 3...Kd6-d5 4.Rb7-d7 #" --- authors: - Loyd, Samuel source: Sporting New Yorker, Centennial Tourney date: 1877 algebraic: white: [Kb1, Rg2, Bb2, Se5, Se1] black: [Ke3] stipulation: "#4" solution: | "1.Se5-g6 ! zugzwang. 1...Ke3-e4 2.Sg6-e7 zugzwang. 2...Ke4-f4 3.Bb2-d4 zugzwang. 3...Kf4-e4 4.Rg2-g4 # 2...Ke4-e3 3.Bb2-e5 zugzwang. 3...Ke3-e4 4.Rg2-e2 #" --- authors: - Loyd, Samuel source: Cleveland Sunday Voice source-id: 206 date: 1878-09-08 algebraic: white: [Kb4, Bd4, Bc2] black: [Ka2, Pa4, Pa3] stipulation: "#4" solution: | "1.Bc2*a4 ! zugzwang. 1...Ka2-b1 2.Kb4-c3 zugzwang. 2...a3-a2 3.Ba4-c2 + 3...Kb1-c1 4.Bd4-e3 # 3...Kb1-a1 4.Kc3-d3 # 4.Kc3-c4 # 4.Kc3-b3 # 4.Kc3-b4 # 4.Kc3-d2 # 2...Kb1-c1 3.Ba4-c2 threat: 4.Bd4-e3 # 2...Kb1-a1 3.Kc3-c2 + 3...Ka1-a2 4.Ba4-b3 # 2...Kb1-a2 3.Ba4-c2 zugzwang. 3...Ka2-a1 4.Kc3-b3 #" --- authors: - Loyd, Samuel source: Detroit Free Press date: 1878-04-27 algebraic: white: [Kc2, Bd2, Bb5, Sa4] black: [Ka3, Pa7] stipulation: "#4" solution: | "1.Sa4-b6 ! zugzwang. 1...a7-a5 2.Bb5-a4 threat: 3.Ba4-b3 threat: 4.Sb6-c4 # 1...Ka3-a2 2.Bd2-c1 threat: 3.Bb5-c4 + 3...Ka2-a1 4.Bc1-b2 # 3.Bc1-b2 threat: 4.Bb5-c4 # 2...a7-a6 3.Bb5-c4 + 3...Ka2-a1 4.Bc1-b2 # 2...a7*b6 3.Bb5-c4 + 3...Ka2-a1 4.Bc1-b2 # 2.Bd2-b4 threat: 3.Bb5-c4 + 3...Ka2-a1 4.Bb4-c3 # 1...a7-a6 2.Bb5-a4 threat: 3.Ba4-b3 threat: 4.Sb6-c4 # 2.Bb5-c4 threat: 3.Bc4-b3 threat: 4.Sb6-c4 # 3.Kc2-c3 threat: 4.Bd2-c1 # 1...a7*b6 2.Bb5-c4 zugzwang. 2...Ka3-a4 3.Kc2-b2 zugzwang. 3...b6-b5 4.Bc4-b3 # 2...b6-b5 3.Bc4-b3 zugzwang. 3...b5-b4 4.Bd2-c1 #" --- authors: - Loyd, Samuel source: Hartford Times date: 1878 algebraic: white: [Kg5, Bf8, Bc4, Sf6, Se6] black: [Kf7] stipulation: "#4" solution: | "1.Bf8-h6 ! zugzwang. 1...Kf7-e7 2.Kg5-g6 threat: 3.Bh6-f8 # 2...Ke7-d6 3.Bc4-d5 zugzwang. 3...Kd6-e7 4.Bh6-f8 # 3...Kd6-e5 4.Bh6-f4 #" --- authors: - Loyd, Samuel source: Detroit Free Press date: 1879-03-22 distinction: 3rd Prize, ex aequo algebraic: white: [Kf7, Qe1, Sd4, Pe3, Pa6] black: [Kd5, Pd3] stipulation: "#4" solution: | "1.Qe1-d2 ! zugzwang. 1...Kd5-e4 2.Kf7-e7 zugzwang. 2...Ke4-d5 3.Qd2*d3 zugzwang. 3...Kd5-e5 4.Sd4-f3 # 4.Sd4-c6 # 4.Qd3-f5 # 3...Kd5-c5 4.Qd3-b5 # 2...Ke4-e5 3.Qd2-a2 threat: 4.Qa2-e6 # 1...Kd5-e5 2.Qd2-g2 threat: 3.Qg2-c6 threat: 4.Qc6-e6 # 1...Kd5-d6 2.Qd2-c1 threat: 3.Qc1-c6 + 3...Kd6-e5 4.Qc6-e6 # 2.Qd2-c3 threat: 3.Qc3-c6 + 3...Kd6-e5 4.Qc6-e6 # 1...Kd5-c5 2.Qd2-c3 + 2...Kc5-d5 3.Qc3-c6 + 3...Kd5-e5 4.Qc6-e6 # 2...Kc5-b6 3.Qc3-c6 + 3...Kb6-a7 4.Qc6-b7 # 3...Kb6-a5 4.Qc6-b5 # 2...Kc5-d6 3.Qc3-c6 + 3...Kd6-e5 4.Qc6-e6 # 1...Kd5-c4 2.Qd2-a5 zugzwang. 2...d3-d2 3.Qa5-b5 + 3...Kc4-c3 4.Qb5-b3 #" --- authors: - Loyd, Samuel source: Chess Strategie date: 1878 algebraic: white: [Kf4, Qe8, Se4, Pb4] black: [Ke6, Pe7] stipulation: "#4" solution: | "1.Kf4-e3 ! zugzwang. 1...Ke6-f5 2.Qe8-f7 + 2...Kf5-e5 3.b4-b5 zugzwang. 3...e7-e6 4.Qf7-h5 # 2...Kf5-g4 3.Qf7-f4 + 3...Kg4-h5 4.Qf4-g5 # 3...Kg4-h3 4.Qf4-g3 # 1...Ke6-e5 2.Qe8-f7 zugzwang. 2...e7-e6 3.Qf7-h5 # 2.Qe8-d7 zugzwang. 2...e7-e6 3.Qd7-b5 # 1...Ke6-d5 2.Qe8-c8 zugzwang. 2...e7-e5 3.Se4-f6 + 3...Kd5-d6 4.Qc8-d7 # 2...Kd5-e5 3.Qc8-d7 zugzwang. 3...e7-e6 4.Qd7-b5 # 2...e7-e6 3.Qc8-c5 #" comments: - "also(?) in Chess Strategy (515), 1881" --- authors: - Loyd, Samuel source: Newark Sunday Call source-id: 95 date: 1877-07-22 algebraic: white: [Kh6, Rf2, Ba1, Ph2, Pe5] black: [Kh4, Bg4, Ph5, Ph3] stipulation: "#4" solution: | "1.Rf2-b2 ! zugzwang. 1...Bg4-e2 {(B~)} 2.Rb2-b4 + 2...Be2-g4 3.Ba1-d4 Bg4-e2 {(B~)} 4.Bd4-f2 #" --- authors: - Loyd, Samuel source: Boston Evening Gazette source-id: 17 date: 1858-09 algebraic: white: [Kd1, Rh7, Sh1, Se4, Pe3] black: [Kf1, Pg5, Pe5] stipulation: "#4" solution: | "1.Se4*g5 ! zugzwang. 1...Kf1-g2 2.Rh7-g7 zugzwang. 2...Kg2*h1 3.Sg5-f3 threat: 4.Rg7-g1 # 2...Kg2-h2 3.Sg5-f3 + 3...Kh2-h3 4.Rg7-g3 # 4.Sh1-f2 # 3...Kh2*h1 4.Rg7-g1 # 2...Kg2-g1 3.Sg5-f3 + 3...Kg1*h1 4.Rg7-g1 # 3...Kg1-f1 4.Rg7-g1 # 4.Sf3-d2 # 4.Sf3-h2 # 2...Kg2-f1 3.Sg5-f3 threat: 4.Rg7-g1 # 4.Sf3-d2 # 4.Sf3-h2 # 3.Sg5-h3 threat: 4.Rg7-g1 # 2...e5-e4 3.Sg5-f3 + 3...Kg2*f3 4.Rg7-g3 # 3...Kg2-h3 4.Rg7-g3 # 4.Sh1-f2 # 3...Kg2*h1 4.Rg7-g1 # 3...Kg2-f1 4.Rg7-g1 # 4.Sf3-d2 # 4.Sf3-h2 # 1...Kf1-g1 2.Sg5-f3 + 2...Kg1-f1 3.Rh7-g7 threat: 4.Rg7-g1 # 4.Sf3-d2 # 4.Sf3-h2 # 3.Rh7-h2 threat: 4.Rh2-f2 # 4.Sh1-g3 # 2...Kg1-g2 3.Kd1-e2 threat: 4.Rh7-h2 # 1...e5-e4 2.Rh7-g7 zugzwang. 2...Kf1-g2 3.Sg5-f3 + 3...Kg2*f3 4.Rg7-g3 # 3...Kg2-h3 4.Rg7-g3 # 4.Sh1-f2 # 3...Kg2*h1 4.Rg7-g1 # 3...Kg2-f1 4.Rg7-g1 # 4.Sf3-d2 # 4.Sf3-h2 # 2...Kf1-g1 3.Sg5-f3 + 3...Kg1*h1 4.Rg7-g1 # 3...Kg1-f1 4.Rg7-g1 # 4.Sf3-d2 # 4.Sf3-h2 #" comments: - also in The New York Turf. Field and Farm (no. 240), 5 May 1871 --- authors: - Loyd, Samuel source: Charleston Courier date: 1859 distinction: 1st Prize algebraic: white: [Kc2, Qd1, Bf1, Ph5, Pg3, Pd4, Pc7] black: [Ke4, Bc8, Pe3, Pd6, Pd5, Pc3, Pb6, Pa6] stipulation: "#4" solution: | "1.Bf1-b5 ! threat: 2.Bb5-e8 threat: 3.Be8-g6 + 3...Bc8-f5 4.Qd1-g4 # 2...Ke4-f5 3.Qd1-f3 + 3...Kf5-g5 4.Qf3-f4 # 3...Kf5-e6 4.Qf3-f7 # 1...Ke4-f5 2.Qd1-f3 + 2...Kf5-g5 3.Qf3-f4 + 3...Kg5*h5 4.Bb5-e8 # 2...Kf5-e6 3.Bb5-e8 threat: 4.Qf3-f7 # 1...a6*b5 2.Qd1-f1 threat: 3.Qf1-f4 # 2...Ke4*d4 3.Qf1-f6 + 3...Kd4-e4 4.Qf6-f4 # 3...Kd4-c4 4.Qf6*c3 # 3...Kd4-c5 4.Qf6*c3 #" comments: - also in The Chess Monthly (3), January 1861 --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 10 date: 1857-02 algebraic: white: [Kb5, Rh4, Rf3, Pf5, Pe2, Pd3, Pc5] black: [Kd5, Pf6] stipulation: "#4" solution: | "1.Kb5-b6 ! zugzwang. 1...Kd5-e5 2.d3-d4 + 2...Ke5-d5 3.Rf3-d3 zugzwang. 3...Kd5-c4 4.d4-d5 #" --- authors: - Loyd, Samuel source: Detroit Free Press, Centennial Tourney date: 1877 algebraic: white: [Kc3, Qh3] black: [Ka1, Rd4, Pd5] stipulation: "#4" solution: | "1.Qh3-h8 ! threat: 2.Qh8*d4 threat: 3.Kc3-b3 + 3...Ka1-b1 4.Qd4-b2 # 4.Qd4-g1 # 4.Qd4-d1 # 3.Kc3-c2 + 3...Ka1-a2 4.Qd4-b2 # 4.Qd4-a7 # 4.Qd4-a4 # 2...Ka1-b1 3.Qd4-b6 + 3...Kb1-c1 4.Qb6-g1 # 3...Kb1-a1 4.Qb6-b2 # 3...Kb1-a2 4.Qb6-b2 # 2...Ka1-a2 3.Qd4-f2 + 3...Ka2-a3 4.Qf2-a7 # 3...Ka2-a1 4.Qf2-b2 # 3...Ka2-b1 4.Qf2-b2 # 2.Kc3-b3 threat: 3.Qh8*d4 + 3...Ka1-b1 4.Qd4-b2 # 4.Qd4-g1 # 4.Qd4-d1 # 3.Qh8-h1 + 3...Rd4-d1 4.Qh1*d1 # 2...Ka1-b1 3.Qh8-h1 + 3...Rd4-d1 4.Qh1*d1 # 2.Kc3-c2 threat: 3.Qh8*d4 + 3...Ka1-a2 4.Qd4-b2 # 4.Qd4-a7 # 4.Qd4-a4 # 3.Qh8-a8 + 3...Rd4-a4 4.Qa8*a4 # 2...Ka1-a2 3.Qh8-a8 + 3...Rd4-a4 4.Qa8*a4 # 1...Ka1-b1 2.Qh8*d4 threat: 3.Qd4-b6 + 3...Kb1-c1 4.Qb6-g1 # 3...Kb1-a1 4.Qb6-b2 # 3...Kb1-a2 4.Qb6-b2 # 2...Kb1-a1 3.Kc3-b3 + 3...Ka1-b1 4.Qd4-b2 # 4.Qd4-g1 # 4.Qd4-d1 # 3.Kc3-c2 + 3...Ka1-a2 4.Qd4-b2 # 4.Qd4-a7 # 4.Qd4-a4 # 2...Kb1-a2 3.Qd4-f2 + 3...Ka2-a3 4.Qf2-a7 # 3...Ka2-a1 4.Qf2-b2 # 3...Ka2-b1 4.Qf2-b2 # 1...Ka1-a2 2.Qh8*d4 threat: 3.Qd4-f2 + 3...Ka2-a3 4.Qf2-a7 # 3...Ka2-a1 4.Qf2-b2 # 3...Ka2-b1 4.Qf2-b2 # 2...Ka2-a1 3.Kc3-b3 + 3...Ka1-b1 4.Qd4-b2 # 4.Qd4-g1 # 4.Qd4-d1 # 3.Kc3-c2 + 3...Ka1-a2 4.Qd4-b2 # 4.Qd4-a7 # 4.Qd4-a4 # 2...Ka2-b1 3.Qd4-b6 + 3...Kb1-c1 4.Qb6-g1 # 3...Kb1-a1 4.Qb6-b2 # 3...Kb1-a2 4.Qb6-b2 # 1...Rd4-d1 2.Qh8-a8 + 2...Ka1-b1 3.Qa8-b7 + 3...Kb1-c1 4.Qb7-b2 # 3...Kb1-a1 4.Qb7-b2 # 3...Kb1-a2 4.Qb7-b2 # 3.Qa8-b8 + 3...Kb1-c1 4.Qb8-b2 # 3...Kb1-a1 4.Qb8-b2 # 3...Kb1-a2 4.Qb8-b2 # 2.Kc3-c2 + 2...d5-d4 3.Qh8-a8 # 2...Ka1-a2 3.Qh8-a8 # 3.Qh8-b2 # 2...Rd1-d4 3.Qh8*d4 + 3...Ka1-a2 4.Qd4-b2 # 4.Qd4-a7 # 4.Qd4-a4 # 3.Qh8-a8 + 3...Rd4-a4 4.Qa8*a4 # 1...Rd4-d2 2.Kc3-b3 + 2...Ka1-b1 3.Qh8-h1 + 3...Rd2-d1 4.Qh1*d1 # 2...Rd2-b2 + 3.Qh8*b2 # 2...Rd2-d4 3.Qh8*d4 + 3...Ka1-b1 4.Qd4-b2 # 4.Qd4-g1 # 4.Qd4-d1 # 3.Qh8-h1 + 3...Rd4-d1 4.Qh1*d1 # 2...d5-d4 3.Qh8-h1 + 3...Rd2-d1 4.Qh1*d1 # 1...Rd4-d3 + 2.Kc3-c2 + 2...Ka1-a2 3.Qh8-b2 # 2...Rd3-c3 + 3.Qh8*c3 + 3...Ka1-a2 4.Qc3-b2 # 4.Qc3-a5 # 2...Rd3-d4 3.Qh8*d4 + 3...Ka1-a2 4.Qd4-b2 # 4.Qd4-a7 # 4.Qd4-a4 # 3.Qh8-a8 + 3...Rd4-a4 4.Qa8*a4 # 2...d5-d4 3.Qh8-a8 + 3...Rd3-a3 4.Qa8*a3 # 1...Rd4-a4 2.Qh8-h1 + 2...Ka1-a2 3.Qh1-g2 + 3...Ka2-a1 4.Qg2-b2 # 3...Ka2-a3 4.Qg2-b2 # 3...Ka2-b1 4.Qg2-b2 # 3.Qh1-h2 + 3...Ka2-a3 4.Qh2-b2 # 3...Ka2-a1 4.Qh2-b2 # 3...Ka2-b1 4.Qh2-b2 # 2.Kc3-b3 + 2...Ra4-d4 3.Qh8-h1 + 3...Rd4-d1 4.Qh1*d1 # 3.Qh8*d4 + 3...Ka1-b1 4.Qd4-b2 # 4.Qd4-g1 # 4.Qd4-d1 # 2...Ka1-b1 3.Qh8-b2 # 3.Qh8-h1 # 2...d5-d4 3.Qh8-h1 # 1...Rd4-b4 2.Kc3-c2 + 2...Rb4-d4 3.Qh8*d4 + 3...Ka1-a2 4.Qd4-b2 # 4.Qd4-a7 # 4.Qd4-a4 # 3.Qh8-a8 + 3...Rd4-a4 4.Qa8*a4 # 2...Ka1-a2 3.Qh8-a8 + 3...Rb4-a4 4.Qa8*a4 # 2...Rb4-b2 + 3.Qh8*b2 # 2...d5-d4 3.Qh8-a8 + 3...Rb4-a4 4.Qa8*a4 # 1...Rd4-c4 + 2.Kc3-b3 + 2...Rc4-c3 + 3.Qh8*c3 + 3...Ka1-b1 4.Qc3-b2 # 4.Qc3-e1 # 2...Ka1-b1 3.Qh8-b2 # 2...Rc4-d4 3.Qh8*d4 + 3...Ka1-b1 4.Qd4-b2 # 4.Qd4-g1 # 4.Qd4-d1 # 3.Qh8-h1 + 3...Rd4-d1 4.Qh1*d1 # 2...d5-d4 3.Qh8-h1 + 3...Rc4-c1 4.Qh1*c1 # 1...Rd4-h4 2.Qh8*h4 threat: 3.Kc3-b3 threat: 4.Qh4-e1 # 4.Qh4-h1 # 2...Ka1-a2 3.Qh4-f2 + 3...Ka2-a3 4.Qf2-a7 # 3...Ka2-a1 4.Qf2-b2 # 3...Ka2-b1 4.Qf2-b2 # 1...Rd4-g4 2.Kc3-b3 + 2...Rg4-d4 3.Qh8*d4 + 3...Ka1-b1 4.Qd4-b2 # 4.Qd4-g1 # 4.Qd4-d1 # 3.Qh8-h1 + 3...Rd4-d1 4.Qh1*d1 # 2...Ka1-b1 3.Qh8-b2 # 2...Rg4-g7 3.Qh8*g7 + 3...Ka1-b1 4.Qg7-b2 # 4.Qg7-g1 # 3...d5-d4 4.Qg7-g1 # 3.Qh8-h1 + 3...Rg7-g1 4.Qh1*g1 # 2...d5-d4 3.Qh8-h1 + 3...Rg4-g1 4.Qh1*g1 # 2.Kc3-c2 + 2...Rg4-d4 3.Qh8-a8 + 3...Rd4-a4 4.Qa8*a4 # 3.Qh8*d4 + 3...Ka1-a2 4.Qd4-b2 # 4.Qd4-a7 # 4.Qd4-a4 # 2...Ka1-a2 3.Qh8-b2 # 2...Rg4-g7 3.Qh8*g7 + 3...Ka1-a2 4.Qg7-b2 # 4.Qg7-a7 # 3...d5-d4 4.Qg7-a7 # 3.Qh8-a8 + 3...Rg7-a7 4.Qa8*a7 # 2...d5-d4 3.Qh8-a8 # 1...Rd4-f4 2.Kc3-b3 + 2...Rf4-d4 3.Qh8*d4 + 3...Ka1-b1 4.Qd4-b2 # 4.Qd4-g1 # 4.Qd4-d1 # 3.Qh8-h1 + 3...Rd4-d1 4.Qh1*d1 # 2...Ka1-b1 3.Qh8-b2 # 2...Rf4-f6 3.Qh8*f6 + 3...Ka1-b1 4.Qf6-b2 # 4.Qf6-f1 # 3...d5-d4 4.Qf6-f1 # 3.Qh8-h1 + 3...Rf6-f1 4.Qh1*f1 # 2...d5-d4 3.Qh8-h1 + 3...Rf4-f1 4.Qh1*f1 # 2.Kc3-c2 + 2...Rf4-d4 3.Qh8*d4 + 3...Ka1-a2 4.Qd4-b2 # 4.Qd4-a7 # 4.Qd4-a4 # 3.Qh8-a8 + 3...Rd4-a4 4.Qa8*a4 # 2...Ka1-a2 3.Qh8-b2 # 2...Rf4-f6 3.Qh8*f6 + 3...Ka1-a2 4.Qf6-a6 # 4.Qf6-b2 # 3...d5-d4 4.Qf6-a6 # 3.Qh8-a8 + 3...Rf6-a6 4.Qa8*a6 # 2...d5-d4 3.Qh8-a8 # 1...Rd4-e4 2.Kc3-b3 + 2...Re4-d4 3.Qh8*d4 + 3...Ka1-b1 4.Qd4-b2 # 4.Qd4-g1 # 4.Qd4-d1 # 3.Qh8-h1 + 3...Rd4-d1 4.Qh1*d1 # 2...Ka1-b1 3.Qh8-b2 # 2...Re4-e5 3.Qh8*e5 + 3...Ka1-b1 4.Qe5-b2 # 4.Qe5-e1 # 3...d5-d4 4.Qe5-e1 # 3.Qh8-h1 + 3...Re5-e1 4.Qh1*e1 # 2...d5-d4 3.Qh8-h1 + 3...Re4-e1 4.Qh1*e1 # 2.Kc3-c2 + 2...Re4-d4 3.Qh8*d4 + 3...Ka1-a2 4.Qd4-b2 # 4.Qd4-a7 # 4.Qd4-a4 # 3.Qh8-a8 + 3...Rd4-a4 4.Qa8*a4 # 2...Ka1-a2 3.Qh8-b2 # 2...Re4-e5 3.Qh8-a8 # 2...d5-d4 3.Qh8-a8 #" --- authors: - Loyd, Samuel source: The New York Albion source-id: 420 date: 1857-01-17 algebraic: white: [Ke1, Qg1, Rh1, Rf1] black: [Kg3, Rg2, Bf4] stipulation: "#4" solution: | "1.Qg1*g2 + ! 1...Kg3*g2 2.Rf1*f4 zugzwang. 2...Kg2-g3 3.0-0 threat: 4.Rf1-f3 # 2...Kg2*h1 3.Ke1-f2 threat: 4.Rf4-h4 #" --- authors: - Loyd, Samuel source: Danbury News date: 1877 algebraic: white: [Ke5, Rc8, Bb5, Sg8, Pf4] black: [Kf7, Pe7] stipulation: "#4" solution: | "1.Sg8*e7 ! threat: 2.Se7-f5 threat: 3.Rc8-h8 threat: 4.Bb5-e8 # 3.Bb5-e8 + 3...Kf7-f8 4.Be8-h5 # 4.Be8-g6 # 3...Kf7-g8 4.Be8-g6 # 2...Kf7-g6 3.Rc8-h8 threat: 4.Bb5-e8 # 1...Kf7*e7 2.Bb5-e8 zugzwang. 2...Ke7-f8 3.Ke5-f6 threat: 4.Be8-a4 # 4.Be8-b5 # 4.Be8-c6 # 4.Be8-d7 # 4.Be8-h5 # 4.Be8-g6 # 4.Be8-f7 # 3...Kf8-g8 4.Be8-g6 #" --- authors: - Loyd, Samuel source: The Albion (New York) source-id: 431 date: 1857-04-04 algebraic: white: [Kg1, Rf1, Be1, Sb5, Pc2] black: [Ke2] stipulation: "#4" solution: | "1.Be1-b4 ! zugzwang. 1...Ke2-e3 2.Sb5-c3 zugzwang. 2...Ke3-d4 3.Rf1-e1 threat: 4.Re1-e4 # 2...Ke3-d2 3.Rf1-f2 + 3...Kd2-e3 4.Bb4-c5 # 3...Kd2-e1 4.Rf2-e2 # 3...Kd2-c1 4.Bb4-a3 #" --- authors: - Loyd, Samuel source: American Chess Journal date: 1877 algebraic: white: [Kg5, Qh5, Se4, Sd3, Pd6] black: [Kd5] stipulation: "#4" solution: | "1.Se4-c5 ! zugzwang. 1...Kd5*d6 2.Qh5-f7 threat: 3.Qf7-d7 # 2...Kd6-c6 3.Qf7-b7 + 3...Kc6-d6 4.Qb7-d7 # 1...Kd5-d4 2.Qh5-f7 zugzwang. 2...Kd4-e3 3.Qf7-f2 # 2...Kd4-c3 3.Qf7-f4 zugzwang. 3...Kc3-c2 4.Qf4-c1 # 2.Qh5-h4 + 2...Kd4-c3 3.Qh4-f4 zugzwang. 3...Kc3-c2 4.Qf4-c1 # 2...Kd4-d5 3.Qh4-a4 zugzwang. 3...Kd5*d6 4.Qa4-d7 # 2...Kd4-e3 3.Qh4-f2 # 1...Kd5-c6 2.Qh5-g4 zugzwang. 2...Kc6*d6 3.Qg4-d7 # 2...Kc6-b6 3.Qg4-c8 threat: 4.Qc8-a6 # 3...Kb6-a7 4.Qc8-b7 # 2...Kc6-d5 3.Qg4-a4 zugzwang. 3...Kd5*d6 4.Qa4-d7 # 2...Kc6-b5 3.Qg4-a4 + 3...Kb5-b6 4.Qa4-a6 # 2.Qh5-e8 + 2...Kc6*d6 3.Qe8-d7 # 2...Kc6-b6 3.Qe8-a8 threat: 4.Qa8-a6 # 3.Qe8-c8 threat: 4.Qc8-a6 # 3...Kb6-a7 4.Qc8-b7 # 2...Kc6-d5 3.Qe8-a4 zugzwang. 3...Kd5*d6 4.Qa4-d7 # 1...Kd5-c4 2.Qh5-g4 + 2...Kc4-b5 3.Qg4-a4 + 3...Kb5-b6 4.Qa4-a6 # 2...Kc4-c3 3.Qg4-f4 zugzwang. 3...Kc3-c2 4.Qf4-c1 # 2...Kc4-d5 3.Qg4-a4 zugzwang. 3...Kd5*d6 4.Qa4-d7 # 2.Qh5-h4 + 2...Kc4-d5 3.Qh4-a4 zugzwang. 3...Kd5*d6 4.Qa4-d7 # 2...Kc4-c3 3.Qh4-f4 zugzwang. 3...Kc3-c2 4.Qf4-c1 # 2...Kc4-b5 3.Qh4-a4 + 3...Kb5-b6 4.Qa4-a6 #" --- authors: - Loyd, Samuel source: The Albion (New York) source-id: 433 date: 1857-04-18 algebraic: white: [Kh1, Qa8, Bb8, Sb7, Pc4] black: [Kc6, Rc8] stipulation: "#4" solution: | "1.Qa8-a4 + ! 1...Kc6-b6 2.Qa4-b5 # 1...Kc6*b7 2.Qa4-a7 + 2...Kb7-c6 3.Bb8-h2 zugzwang. 3...Rc8-c7 4.Qa7*c7 # 3...Rc8-a8 4.Qa7-c7 # 3...Rc8-b8 4.Qa7-c7 # 3...Rc8-h8 4.Qa7-c7 # 3...Rc8-g8 4.Qa7-c7 # 3...Rc8-f8 4.Qa7-c7 # 3...Rc8-e8 4.Qa7-c7 # 3...Rc8-d8 4.Qa7-c7 #" --- authors: - Loyd, Samuel source: Texas Siftings date: 1888 algebraic: white: [Kc1, Rh1, Rd4, Bh5, Bd2, Se3, Sd3, Ph4, Pg5, Pg3, Pf2, Pd7, Pc7, Pc5, Pb6] black: [Ke2, Rg1, Bd1, Sf3, Ph3, Ph2, Pg2, Pe7, Pc2] stipulation: "#4" twins: b: Shift h1 g1 solution: | "a) 1.Sd3-f4 + ! 1...Ke2*f2 2.Sf4*h3 + 2...Kf2-e2 3.c7-c8=Q threat: 4.Qc8-a6 # 3.c7-c8=B threat: 4.Bc8-a6 # 2...Kf2*g3 3.Se3-f5 + 3...Kg3*h3 4.Bh5-g4 # b) shift h1 == g1 1.b7-b8=S ! threat: 2.Sb8*d7 threat: 3.Sd7-c5 threat: 4.Sc5-b3 # 4.Sc5-e4 # 3.Sd7-f6 threat: 4.Sf6-e4 # 1...d7-d5 2.Sb8-c6 threat: 3.Sc6-d4 threat: 4.Sd4-b3 # 3...d5*c4 4.Sc3-e4 # 2...d5*c4 3.Sc3-e4 + 3...Kd2*e2 4.Sc6-d4 # 1...d7-d6 2.Sb8-c6 threat: 3.Sc6-a5 threat: 4.Sa5-b3 # 3.Sc6-d4 threat: 4.Sd4-b3 # 4.Sc3-e4 # 3...d6-d5 4.Sd4-b3 # 3.Sc3-e4 + 3...Kd2*e2 4.Sc6-d4 # 2...Rf1*g1 3.Sc6-a5 threat: 4.Sa5-b3 # 3.Sc6-d4 threat: 4.Sd4-b3 # 4.Sc3-e4 # 3...d6-d5 4.Sd4-b3 # 2...d6-d5 3.Sc6-d4 threat: 4.Sd4-b3 # 3...d5*c4 4.Sc3-e4 #" keywords: - Scaccografia comments: - The Kilkenny Cats --- authors: - Loyd, Samuel - Loyd, Samuel source: Pariser Problemturnier date: 1867 distinction: 2nd Prize algebraic: white: [Ka8, Qh8, Rg2, Bf1, Be1, Sh4, Ph6, Pg5, Pf4, Pb6, Pa5] black: [Kh3, Qc6, Sb1, Sa2, Pe4, Pd5, Pb7, Pa6] stipulation: "#4" solution: | "1.Bf1*a6 ! threat: 2.Ba6*b7 threat: 3.Qh8-c8 + 3...Qc6-d7 4.Qc8*d7 # 3...Qc6*c8 + 4.Bb7*c8 # 3...Qc6-e6 4.Qc8*e6 # 3.Bb7*c6 threat: 4.Qh8-c8 # 4.Bc6-d7 # 2...Qc6-a4 3.Qh8-c8 + 3...Qa4-d7 4.Qc8*d7 # 3.Bb7-c8 + 3...Qa4-d7 4.Bc8*d7 # 2...Qc6-b5 3.Qh8-c8 + 3...Qb5-d7 4.Qc8*d7 # 3.Bb7-c8 + 3...Qb5-d7 4.Bc8*d7 # 2...Qc6-e8 + 3.Bb7-c8 + 3...Qe8-d7 4.Bc8*d7 # 3...Qe8-e6 4.Bc8*e6 # 3...Qe8*c8 + 4.Qh8*c8 # 3.Qh8*e8 threat: 4.Qe8-d7 # 4.Qe8-e6 # 4.Qe8-c8 # 4.Bb7-c8 # 2...Qc6-d7 3.Qh8-c8 threat: 4.Qc8*d7 # 3...Qd7-g4 4.Qc8*g4 # 3...Qd7-f5 4.Qc8*f5 # 3...Qd7-e6 4.Qc8*e6 # 3...Qd7*c8 + 4.Bb7*c8 # 3.Bb7-c8 threat: 4.Bc8*d7 # 3...Qd7-g4 4.Bc8*g4 # 3...Qd7-f5 4.Bc8*f5 # 3...Qd7-e6 4.Bc8*e6 # 3...Qd7*c8 + 4.Qh8*c8 # 2...Qc6*b7 + 3.Ka8*b7 threat: 4.Qh8-c8 # 2...Qc6-c1 3.Qh8-c8 + 3...Qc1*c8 + 4.Bb7*c8 # 3.Bb7-c8 + 3...Qc1*c8 + 4.Qh8*c8 # 2...Qc6-c2 3.Qh8-c8 + 3...Qc2*c8 + 4.Bb7*c8 # 3.Bb7-c8 + 3...Qc2*c8 + 4.Qh8*c8 # 2...Qc6-c3 3.Qh8*c3 + 3...Sb1*c3 4.Bb7-c8 # 3...Sa2*c3 4.Bb7-c8 # 3...e4-e3 4.Bb7-c8 # 4.Qc3-c8 # 4.Qc3*e3 # 3.Qh8-c8 + 3...Qc3*c8 + 4.Bb7*c8 # 3.Bb7-c8 + 3...Qc3*c8 + 4.Qh8*c8 # 2...Qc6-c4 3.Qh8-c8 + 3...Qc4*c8 + 4.Bb7*c8 # 3.Bb7-c8 + 3...Qc4*c8 + 4.Qh8*c8 # 2...Qc6-c5 3.Qh8-c8 + 3...Qc5*c8 + 4.Bb7*c8 # 3.Bb7-c8 + 3...Qc5*c8 + 4.Qh8*c8 # 2...Qc6*b6 3.Qh8-c8 + 3...Qb6-e6 4.Qc8*e6 # 3.Bb7-c8 + 3...Qb6-e6 4.Bc8*e6 # 3.a5*b6 threat: 4.Qh8-c8 # 4.Bb7-c8 # 2...Qc6-c7 3.Qh8-c8 + 3...Qc7*c8 + 4.Bb7*c8 # 3...Qc7-d7 4.Qc8*d7 # 3.Bb7-c8 + 3...Qc7*c8 + 4.Qh8*c8 # 3...Qc7-d7 4.Bc8*d7 # 3.b6*c7 threat: 4.Qh8-c8 # 4.c7-c8=Q # 4.c7-c8=B # 4.Bb7-c8 # 2...Qc6*h6 3.Qh8*h6 threat: 4.Bb7-c8 # 4.Qh6-e6 # 3.Qh8-c8 + 3...Qh6-e6 4.Qc8*e6 # 3.Bb7-c8 + 3...Qh6-e6 4.Bc8*e6 # 3.g5*h6 threat: 4.Qh8-c8 # 4.Bb7-c8 # 2...Qc6-g6 3.Qh8-c8 + 3...Qg6-f5 4.Qc8*f5 # 3...Qg6-e6 4.Qc8*e6 # 3.Bb7-c8 + 3...Qg6-f5 4.Bc8*f5 # 3...Qg6-e6 4.Bc8*e6 # 2...Qc6-f6 3.Qh8*f6 threat: 4.Bb7-c8 # 4.Qf6-f5 # 4.Qf6-e6 # 3.Qh8-c8 + 3...Qf6-e6 4.Qc8*e6 # 3...Qf6-f5 4.Qc8*f5 # 3.Bb7-c8 + 3...Qf6-f5 4.Bc8*f5 # 3...Qf6-e6 4.Bc8*e6 # 3.g5*f6 threat: 4.Qh8-c8 # 4.Bb7-c8 # 2...Qc6-e6 3.Qh8-c8 threat: 4.Qc8*e6 # 3...Qe6-g4 4.Qc8*g4 # 3...Qe6-f5 4.Qc8*f5 # 3...Qe6*c8 + 4.Bb7*c8 # 3...Qe6-d7 4.Qc8*d7 # 3.Bb7-c8 threat: 4.Bc8*e6 # 3...Qe6-g4 4.Bc8*g4 # 3...Qe6-f5 4.Bc8*f5 # 3...Qe6*c8 + 4.Qh8*c8 # 3...Qe6-d7 4.Bc8*d7 # 2...Qc6-d6 3.Qh8-c8 + 3...Qd6-d7 4.Qc8*d7 # 3...Qd6-e6 4.Qc8*e6 # 3.Bb7-c8 + 3...Qd6-d7 4.Bc8*d7 # 3...Qd6-e6 4.Bc8*e6 # 1...Qc6-c2 2.Ba6-e2 threat: 3.Be2-g4 # 2...Qc2-d1 3.Qh8-c8 # 2...Qc2-c8 + 3.Qh8*c8 # 2...Qc2*e2 3.Qh8-c8 + 3...Qe2-g4 4.Qc8*g4 # 1...Qc6-c3 2.Qh8*c3 + 2...Sb1*c3 3.Ba6*b7 threat: 4.Bb7-c8 # 2...Sa2*c3 3.Ba6*b7 threat: 4.Bb7-c8 # 2...e4-e3 3.Qc3-c8 # 3.Qc3*e3 # 2.Qh8-e8 threat: 3.Qe8-d7 # 3.Qe8-e6 # 2...Qc3*e1 3.Qe8-d7 + 3...Kh3*h4 4.Qd7-g4 # 3.Qe8-e6 + 3...Kh3*h4 4.Qe6-g4 # 3.Qe8-c8 + 3...Kh3*h4 4.Qc8-g4 # 2...Qc3-h8 3.Qe8*h8 threat: 4.Qh8-c8 # 2...Qc3-g7 3.Qe8-e6 # 2...Qc3-f6 3.Qe8-d7 + 3...Qf6-f5 4.Qd7*f5 # 3...Qf6-e6 4.Qd7*e6 # 3.Qe8-c8 + 3...Qf6-f5 4.Qc8*f5 # 3...Qf6-e6 4.Qc8*e6 # 3.g5*f6 threat: 4.Qe8-d7 # 4.Qe8-e6 # 4.Qe8-c8 # 2...Qc3-e5 3.Qe8-d7 + 3...Qe5-e6 4.Qd7*e6 # 3...Qe5-f5 4.Qd7*f5 # 3.Qe8*e5 threat: 4.Qe5-e6 # 4.Qe5-f5 # 3.Qe8-c8 + 3...Qe5-e6 4.Qc8*e6 # 3...Qe5-f5 4.Qc8*f5 # 3.f4*e5 threat: 4.Qe8-d7 # 4.Qe8-e6 # 4.Qe8-c8 # 2...Qc3-c8 + 3.Qe8*c8 # 2...Qc3-c7 3.Qe8-e6 # 2...Qc3-c6 3.Qe8*c6 threat: 4.Qc6-e6 # 4.Qc6-d7 # 4.Qc6-c8 # 3...b7*c6 4.Ba6-c8 # 2...Qc3-g3 3.Qe8-d7 + 3...Qg3-g4 4.Qd7*g4 # 3...Kh3*h4 4.Rg2-h2 # 3.Qe8-e6 + 3...Qg3-g4 4.Qe6*g4 # 3...Kh3*h4 4.Rg2-h2 # 3.Qe8-c8 + 3...Qg3-g4 4.Qc8*g4 # 3...Kh3*h4 4.Rg2-h2 # 2...Qc3-f3 3.Qe8-d7 + 3...Qf3-g4 4.Qd7*g4 # 3.Qe8-e6 + 3...Qf3-g4 4.Qe6*g4 # 3.Qe8-c8 + 3...Qf3-g4 4.Qc8*g4 # 2.Qh8-f8 threat: 3.Qf8-f5 # 2...Qc3*e1 3.Qf8-f5 + 3...Kh3*h4 4.Qf5-g4 # 3.Qf8-c8 + 3...Kh3*h4 4.Qc8-g4 # 2...Qc3-h8 3.Qf8*h8 threat: 4.Qh8-c8 # 2...Qc3-f6 3.Qf8*f6 threat: 4.Qf6-f5 # 4.Qf6-e6 # 3.Qf8-c8 + 3...Qf6-f5 4.Qc8*f5 # 3...Qf6-e6 4.Qc8*e6 # 3.g5*f6 threat: 4.Qf8-c8 # 2...Qc3-e5 3.Qf8-c8 + 3...Qe5-e6 4.Qc8*e6 # 3...Qe5-f5 4.Qc8*f5 # 3.f4*e5 threat: 4.Qf8-f5 # 4.Qf8-c8 # 2...Qc3-c8 + 3.Qf8*c8 # 2...Qc3-g3 3.Qf8-f5 + 3...Qg3-g4 4.Qf5*g4 # 3...Kh3*h4 4.Rg2-h2 # 3.Qf8-c8 + 3...Qg3-g4 4.Qc8*g4 # 3...Kh3*h4 4.Rg2-h2 # 2...Qc3-f3 3.Qf8-f5 + 3...Qf3-g4 4.Qf5*g4 # 3.Qf8-c8 + 3...Qf3-g4 4.Qc8*g4 # 1...Qc6-c5 2.Qh8-e8 threat: 3.Qe8-d7 # 3.Qe8-e6 # 2...Qc5-f2 3.Qe8-d7 + 3...Kh3*h4 4.Qd7-g4 # 3.Qe8-e6 + 3...Kh3*h4 4.Qe6-g4 # 3.Qe8-c8 + 3...Kh3*h4 4.Qc8-g4 # 3.Be1*f2 threat: 4.Qe8-d7 # 4.Qe8-e6 # 4.Qe8-c8 # 2...Qc5-f8 3.Qe8*f8 threat: 4.Qf8-f5 # 4.Qf8-c8 # 2...Qc5-e7 3.Qe8*e7 threat: 4.Qe7-e6 # 4.Qe7-d7 # 3.Qe8-c8 + 3...Qe7-d7 4.Qc8*d7 # 3...Qe7-e6 4.Qc8*e6 # 2...Qc5-d6 3.Qe8-c8 + 3...Qd6-d7 4.Qc8*d7 # 3...Qd6-e6 4.Qc8*e6 # 2...Qc5*b6 3.Qe8-d7 + 3...Qb6-e6 4.Qd7*e6 # 3.Qe8-c8 + 3...Qb6-e6 4.Qc8*e6 # 3.a5*b6 threat: 4.Qe8-d7 # 4.Qe8-e6 # 4.Qe8-c8 # 2...Qc5-b5 3.Qe8-e6 # 2...Qc5-c8 + 3.Qe8*c8 # 2...Qc5-c7 3.Qe8-e6 # 2...Qc5-c6 3.Qe8*c6 threat: 4.Qc6-e6 # 4.Qc6-d7 # 4.Qc6-c8 # 3...b7*c6 4.Ba6-c8 # 2...d5-d4 3.Qe8-d7 + 3...Qc5-f5 4.Qd7*f5 # 3.Qe8-e6 + 3...Qc5-f5 4.Qe6*f5 # 2.Ba6-b5 threat: 3.Bb5-d7 # 2...Qc5-f2 3.Qh8-c8 + 3...Kh3*h4 4.Qc8-g4 # 3.Be1*f2 threat: 4.Qh8-c8 # 4.Bb5-d7 # 2...Qc5-f8 + 3.Qh8*f8 threat: 4.Qf8-f5 # 4.Qf8-c8 # 4.Bb5-d7 # 2...Qc5-e7 3.Qh8-c8 + 3...Qe7-e6 4.Qc8*e6 # 3...Qe7-d7 4.Qc8*d7 # 4.Bb5*d7 # 2...Qc5-d6 3.Qh8-c8 + 3...Qd6-d7 4.Qc8*d7 # 4.Bb5*d7 # 3...Qd6-e6 4.Qc8*e6 # 2...Qc5*b6 3.Bb5-d7 + 3...Qb6-e6 4.Bd7*e6 # 3.Qh8-c8 + 3...Qb6-e6 4.Qc8*e6 # 3.a5*b6 threat: 4.Qh8-c8 # 4.Bb5-d7 # 2...Qc5*b5 3.Qh8-c8 + 3...Qb5-d7 4.Qc8*d7 # 2...Qc5-c8 + 3.Qh8*c8 # 2...Qc5-c7 3.b6*c7 threat: 4.Qh8-c8 # 4.c7-c8=Q # 4.c7-c8=B # 4.Bb5-d7 # 2...Qc5-c6 3.Bb5*c6 threat: 4.Qh8-c8 # 4.Bc6-d7 # 3...b7*c6 4.Qh8-c8 # 2...d5-d4 3.Bb5-d7 + 3...Qc5-f5 4.Bd7*f5 # 1...b7*a6 + 2.b6-b7 threat: 3.Qh8-c8 + 3...Qc6-d7 4.Qc8*d7 # 3...Qc6*c8 + 4.b7*c8=Q # 4.b7*c8=B # 3...Qc6-e6 4.Qc8*e6 # 2...Qc6-e8 + 3.Qh8*e8 threat: 4.Qe8-d7 # 4.Qe8-e6 # 4.Qe8-c8 # 2...Qc6*b7 + 3.Ka8*b7 threat: 4.Qh8-c8 #" --- authors: - Loyd, Samuel - Loyd, Samuel source: Pariser Problemturnier date: 1867 distinction: 2nd Prize algebraic: white: [Ka8, Qh8, Rg2, Bf1, Be1, Sh4, Ph6, Pg5, Pf4, Pb6, Pa5] black: [Kh3, Qc6, Sb1, Sa2, Pe4, Pd5, Pb7, Pa6] stipulation: "#4" solution: | "1.Bf1*a6 ! threat: 2.Ba6*b7 threat: 3.Qh8-c8 + 3...Qc6-d7 4.Qc8*d7 # 3...Qc6*c8 + 4.Bb7*c8 # 3...Qc6-e6 4.Qc8*e6 # 3.Bb7*c6 threat: 4.Qh8-c8 # 4.Bc6-d7 # 2...Qc6-a4 3.Qh8-c8 + 3...Qa4-d7 4.Qc8*d7 # 3.Bb7-c8 + 3...Qa4-d7 4.Bc8*d7 # 2...Qc6-b5 3.Qh8-c8 + 3...Qb5-d7 4.Qc8*d7 # 3.Bb7-c8 + 3...Qb5-d7 4.Bc8*d7 # 2...Qc6-e8 + 3.Bb7-c8 + 3...Qe8-d7 4.Bc8*d7 # 3...Qe8-e6 4.Bc8*e6 # 3...Qe8*c8 + 4.Qh8*c8 # 3.Qh8*e8 threat: 4.Qe8-d7 # 4.Qe8-e6 # 4.Qe8-c8 # 4.Bb7-c8 # 2...Qc6-d7 3.Qh8-c8 threat: 4.Qc8*d7 # 3...Qd7-g4 4.Qc8*g4 # 3...Qd7-f5 4.Qc8*f5 # 3...Qd7-e6 4.Qc8*e6 # 3...Qd7*c8 + 4.Bb7*c8 # 3.Bb7-c8 threat: 4.Bc8*d7 # 3...Qd7-g4 4.Bc8*g4 # 3...Qd7-f5 4.Bc8*f5 # 3...Qd7-e6 4.Bc8*e6 # 3...Qd7*c8 + 4.Qh8*c8 # 2...Qc6*b7 + 3.Ka8*b7 threat: 4.Qh8-c8 # 2...Qc6-c1 3.Qh8-c8 + 3...Qc1*c8 + 4.Bb7*c8 # 3.Bb7-c8 + 3...Qc1*c8 + 4.Qh8*c8 # 2...Qc6-c2 3.Qh8-c8 + 3...Qc2*c8 + 4.Bb7*c8 # 3.Bb7-c8 + 3...Qc2*c8 + 4.Qh8*c8 # 2...Qc6-c3 3.Qh8*c3 + 3...Sb1*c3 4.Bb7-c8 # 3...Sa2*c3 4.Bb7-c8 # 3...e4-e3 4.Bb7-c8 # 4.Qc3-c8 # 4.Qc3*e3 # 3.Qh8-c8 + 3...Qc3*c8 + 4.Bb7*c8 # 3.Bb7-c8 + 3...Qc3*c8 + 4.Qh8*c8 # 2...Qc6-c4 3.Qh8-c8 + 3...Qc4*c8 + 4.Bb7*c8 # 3.Bb7-c8 + 3...Qc4*c8 + 4.Qh8*c8 # 2...Qc6-c5 3.Qh8-c8 + 3...Qc5*c8 + 4.Bb7*c8 # 3.Bb7-c8 + 3...Qc5*c8 + 4.Qh8*c8 # 2...Qc6*b6 3.Qh8-c8 + 3...Qb6-e6 4.Qc8*e6 # 3.Bb7-c8 + 3...Qb6-e6 4.Bc8*e6 # 3.a5*b6 threat: 4.Qh8-c8 # 4.Bb7-c8 # 2...Qc6-c7 3.Qh8-c8 + 3...Qc7*c8 + 4.Bb7*c8 # 3...Qc7-d7 4.Qc8*d7 # 3.Bb7-c8 + 3...Qc7*c8 + 4.Qh8*c8 # 3...Qc7-d7 4.Bc8*d7 # 3.b6*c7 threat: 4.Qh8-c8 # 4.c7-c8=Q # 4.c7-c8=B # 4.Bb7-c8 # 2...Qc6*h6 3.Qh8*h6 threat: 4.Bb7-c8 # 4.Qh6-e6 # 3.Qh8-c8 + 3...Qh6-e6 4.Qc8*e6 # 3.Bb7-c8 + 3...Qh6-e6 4.Bc8*e6 # 3.g5*h6 threat: 4.Qh8-c8 # 4.Bb7-c8 # 2...Qc6-g6 3.Qh8-c8 + 3...Qg6-f5 4.Qc8*f5 # 3...Qg6-e6 4.Qc8*e6 # 3.Bb7-c8 + 3...Qg6-f5 4.Bc8*f5 # 3...Qg6-e6 4.Bc8*e6 # 2...Qc6-f6 3.Qh8*f6 threat: 4.Bb7-c8 # 4.Qf6-f5 # 4.Qf6-e6 # 3.Qh8-c8 + 3...Qf6-e6 4.Qc8*e6 # 3...Qf6-f5 4.Qc8*f5 # 3.Bb7-c8 + 3...Qf6-f5 4.Bc8*f5 # 3...Qf6-e6 4.Bc8*e6 # 3.g5*f6 threat: 4.Qh8-c8 # 4.Bb7-c8 # 2...Qc6-e6 3.Qh8-c8 threat: 4.Qc8*e6 # 3...Qe6-g4 4.Qc8*g4 # 3...Qe6-f5 4.Qc8*f5 # 3...Qe6*c8 + 4.Bb7*c8 # 3...Qe6-d7 4.Qc8*d7 # 3.Bb7-c8 threat: 4.Bc8*e6 # 3...Qe6-g4 4.Bc8*g4 # 3...Qe6-f5 4.Bc8*f5 # 3...Qe6*c8 + 4.Qh8*c8 # 3...Qe6-d7 4.Bc8*d7 # 2...Qc6-d6 3.Qh8-c8 + 3...Qd6-d7 4.Qc8*d7 # 3...Qd6-e6 4.Qc8*e6 # 3.Bb7-c8 + 3...Qd6-d7 4.Bc8*d7 # 3...Qd6-e6 4.Bc8*e6 # 1...Qc6-c2 2.Ba6-e2 threat: 3.Be2-g4 # 2...Qc2-d1 3.Qh8-c8 # 2...Qc2-c8 + 3.Qh8*c8 # 2...Qc2*e2 3.Qh8-c8 + 3...Qe2-g4 4.Qc8*g4 # 1...Qc6-c3 2.Qh8*c3 + 2...Sb1*c3 3.Ba6*b7 threat: 4.Bb7-c8 # 2...Sa2*c3 3.Ba6*b7 threat: 4.Bb7-c8 # 2...e4-e3 3.Qc3-c8 # 3.Qc3*e3 # 2.Qh8-e8 threat: 3.Qe8-d7 # 3.Qe8-e6 # 2...Qc3*e1 3.Qe8-d7 + 3...Kh3*h4 4.Qd7-g4 # 3.Qe8-e6 + 3...Kh3*h4 4.Qe6-g4 # 3.Qe8-c8 + 3...Kh3*h4 4.Qc8-g4 # 2...Qc3-h8 3.Qe8*h8 threat: 4.Qh8-c8 # 2...Qc3-g7 3.Qe8-e6 # 2...Qc3-f6 3.Qe8-d7 + 3...Qf6-f5 4.Qd7*f5 # 3...Qf6-e6 4.Qd7*e6 # 3.Qe8-c8 + 3...Qf6-f5 4.Qc8*f5 # 3...Qf6-e6 4.Qc8*e6 # 3.g5*f6 threat: 4.Qe8-d7 # 4.Qe8-e6 # 4.Qe8-c8 # 2...Qc3-e5 3.Qe8-d7 + 3...Qe5-e6 4.Qd7*e6 # 3...Qe5-f5 4.Qd7*f5 # 3.Qe8*e5 threat: 4.Qe5-e6 # 4.Qe5-f5 # 3.Qe8-c8 + 3...Qe5-e6 4.Qc8*e6 # 3...Qe5-f5 4.Qc8*f5 # 3.f4*e5 threat: 4.Qe8-d7 # 4.Qe8-e6 # 4.Qe8-c8 # 2...Qc3-c8 + 3.Qe8*c8 # 2...Qc3-c7 3.Qe8-e6 # 2...Qc3-c6 3.Qe8*c6 threat: 4.Qc6-e6 # 4.Qc6-d7 # 4.Qc6-c8 # 3...b7*c6 4.Ba6-c8 # 2...Qc3-g3 3.Qe8-d7 + 3...Qg3-g4 4.Qd7*g4 # 3...Kh3*h4 4.Rg2-h2 # 3.Qe8-e6 + 3...Qg3-g4 4.Qe6*g4 # 3...Kh3*h4 4.Rg2-h2 # 3.Qe8-c8 + 3...Qg3-g4 4.Qc8*g4 # 3...Kh3*h4 4.Rg2-h2 # 2...Qc3-f3 3.Qe8-d7 + 3...Qf3-g4 4.Qd7*g4 # 3.Qe8-e6 + 3...Qf3-g4 4.Qe6*g4 # 3.Qe8-c8 + 3...Qf3-g4 4.Qc8*g4 # 2.Qh8-f8 threat: 3.Qf8-f5 # 2...Qc3*e1 3.Qf8-f5 + 3...Kh3*h4 4.Qf5-g4 # 3.Qf8-c8 + 3...Kh3*h4 4.Qc8-g4 # 2...Qc3-h8 3.Qf8*h8 threat: 4.Qh8-c8 # 2...Qc3-f6 3.Qf8*f6 threat: 4.Qf6-f5 # 4.Qf6-e6 # 3.Qf8-c8 + 3...Qf6-f5 4.Qc8*f5 # 3...Qf6-e6 4.Qc8*e6 # 3.g5*f6 threat: 4.Qf8-c8 # 2...Qc3-e5 3.Qf8-c8 + 3...Qe5-e6 4.Qc8*e6 # 3...Qe5-f5 4.Qc8*f5 # 3.f4*e5 threat: 4.Qf8-f5 # 4.Qf8-c8 # 2...Qc3-c8 + 3.Qf8*c8 # 2...Qc3-g3 3.Qf8-f5 + 3...Qg3-g4 4.Qf5*g4 # 3...Kh3*h4 4.Rg2-h2 # 3.Qf8-c8 + 3...Qg3-g4 4.Qc8*g4 # 3...Kh3*h4 4.Rg2-h2 # 2...Qc3-f3 3.Qf8-f5 + 3...Qf3-g4 4.Qf5*g4 # 3.Qf8-c8 + 3...Qf3-g4 4.Qc8*g4 # 1...Qc6-c5 2.Qh8-e8 threat: 3.Qe8-d7 # 3.Qe8-e6 # 2...Qc5-f2 3.Qe8-d7 + 3...Kh3*h4 4.Qd7-g4 # 3.Qe8-e6 + 3...Kh3*h4 4.Qe6-g4 # 3.Qe8-c8 + 3...Kh3*h4 4.Qc8-g4 # 3.Be1*f2 threat: 4.Qe8-d7 # 4.Qe8-e6 # 4.Qe8-c8 # 2...Qc5-f8 3.Qe8*f8 threat: 4.Qf8-f5 # 4.Qf8-c8 # 2...Qc5-e7 3.Qe8*e7 threat: 4.Qe7-e6 # 4.Qe7-d7 # 3.Qe8-c8 + 3...Qe7-d7 4.Qc8*d7 # 3...Qe7-e6 4.Qc8*e6 # 2...Qc5-d6 3.Qe8-c8 + 3...Qd6-d7 4.Qc8*d7 # 3...Qd6-e6 4.Qc8*e6 # 2...Qc5*b6 3.Qe8-d7 + 3...Qb6-e6 4.Qd7*e6 # 3.Qe8-c8 + 3...Qb6-e6 4.Qc8*e6 # 3.a5*b6 threat: 4.Qe8-d7 # 4.Qe8-e6 # 4.Qe8-c8 # 2...Qc5-b5 3.Qe8-e6 # 2...Qc5-c8 + 3.Qe8*c8 # 2...Qc5-c7 3.Qe8-e6 # 2...Qc5-c6 3.Qe8*c6 threat: 4.Qc6-e6 # 4.Qc6-d7 # 4.Qc6-c8 # 3...b7*c6 4.Ba6-c8 # 2...d5-d4 3.Qe8-d7 + 3...Qc5-f5 4.Qd7*f5 # 3.Qe8-e6 + 3...Qc5-f5 4.Qe6*f5 # 2.Ba6-b5 threat: 3.Bb5-d7 # 2...Qc5-f2 3.Qh8-c8 + 3...Kh3*h4 4.Qc8-g4 # 3.Be1*f2 threat: 4.Qh8-c8 # 4.Bb5-d7 # 2...Qc5-f8 + 3.Qh8*f8 threat: 4.Qf8-f5 # 4.Qf8-c8 # 4.Bb5-d7 # 2...Qc5-e7 3.Qh8-c8 + 3...Qe7-e6 4.Qc8*e6 # 3...Qe7-d7 4.Qc8*d7 # 4.Bb5*d7 # 2...Qc5-d6 3.Qh8-c8 + 3...Qd6-d7 4.Qc8*d7 # 4.Bb5*d7 # 3...Qd6-e6 4.Qc8*e6 # 2...Qc5*b6 3.Bb5-d7 + 3...Qb6-e6 4.Bd7*e6 # 3.Qh8-c8 + 3...Qb6-e6 4.Qc8*e6 # 3.a5*b6 threat: 4.Qh8-c8 # 4.Bb5-d7 # 2...Qc5*b5 3.Qh8-c8 + 3...Qb5-d7 4.Qc8*d7 # 2...Qc5-c8 + 3.Qh8*c8 # 2...Qc5-c7 3.b6*c7 threat: 4.Qh8-c8 # 4.c7-c8=Q # 4.c7-c8=B # 4.Bb5-d7 # 2...Qc5-c6 3.Bb5*c6 threat: 4.Qh8-c8 # 4.Bc6-d7 # 3...b7*c6 4.Qh8-c8 # 2...d5-d4 3.Bb5-d7 + 3...Qc5-f5 4.Bd7*f5 # 1...b7*a6 + 2.b6-b7 threat: 3.Qh8-c8 + 3...Qc6-d7 4.Qc8*d7 # 3...Qc6*c8 + 4.b7*c8=Q # 4.b7*c8=B # 3...Qc6-e6 4.Qc8*e6 # 2...Qc6-e8 + 3.Qh8*e8 threat: 4.Qe8-d7 # 4.Qe8-e6 # 4.Qe8-c8 # 2...Qc6*b7 + 3.Ka8*b7 threat: 4.Qh8-c8 #" --- authors: - Loyd, Samuel source: Paris Ty. date: 1878 distinction: 3rd Prize algebraic: white: [Ka2, Qg4, Rg1, Bd7] black: [Ka6, Rh8, Bh4, Sb2] stipulation: "#5" solution: "1.Dg4-b4! Bf6 2.Rg7 Bxg7 3.Qb5+ Ka7 4.Bc6 Rb8 5.Qa5#" keywords: - Deflect --- authors: - Loyd, Samuel source: The Albion (New York) source-id: 389 date: 1856-06-14 algebraic: white: [Kf1, Qb8, Sa7] black: [Kd7, Rb5, Bb4, Pe6, Pe5, Pd6, Pd4, Pc5, Pc3, Pb6] stipulation: "#5" solution: | "1.Sa7-c6 ! threat: 2.Qb8-b7 + 2...Kd7-e8 3.Qb7-e7 # 1...d6-d5 2.Qb8-b7 + 2...Kd7-d6 3.Sc6-d8 threat: 4.Sd8-f7 # 3...c5-c4 4.Sd8-f7 + 4...Kd6-c5 5.Qb7-c8 # 5.Qb7-c7 # 2...Kd7-e8 3.Qb7-e7 # 1...Kd7*c6 2.Qb8-c8 + 2...Kc6-d5 3.Qc8-a8 + 3...Kd5-c4 4.Qa8-a2 + 4...Kc4-d3 5.Qa2-e2 #" --- authors: - Loyd, Samuel source: The Era (London) source-id: 337 date: 1861-01-13 distinction: 2nd Prize algebraic: white: [Kh5, Re2, Rb5, Sh3, Sa1, Pg3, Pc2, Pb2] black: [Kh1, Rc8, Bd8, Sa8, Ph7, Pf7, Pe3, Pb7, Pb6, Pa3] stipulation: "#5" solution: | "1.b2-b4 ! threat: 2.Rb5-f5 threat: 3.Rf5-f1 # 2...Rc8-c5 3.b4*c5 threat: 4.Rf5-f1 # 2.Rb5-d5 threat: 3.Rd5-d1 # 2...Rc8-c5 3.b4*c5 threat: 4.Rd5-d1 # 1...Rc8*c2 2.Sa1*c2 threat: 3.Rb5-f5 threat: 4.Rf5-f1 # 3.Rb5-d5 threat: 4.Rd5-d1 # 2...a3-a2 3.Rb5-f5 threat: 4.Rf5-f1 # 3...a2-a1=Q 4.Sc2*a1 threat: 5.Rf5-f1 # 3...a2-a1=R 4.Sc2*a1 threat: 5.Rf5-f1 # 3.Rb5-d5 threat: 4.Rd5-d1 # 3...a2-a1=Q 4.Sc2*a1 threat: 5.Rd5-d1 # 3...a2-a1=R 4.Sc2*a1 threat: 5.Rd5-d1 # 2...Sa8-c7 3.Rb5-f5 threat: 4.Rf5-f1 # 2...Bd8-c7 3.Rb5-f5 threat: 4.Rf5-f1 # 3...Bc7-f4 4.Rf5*f4 threat: 5.Rf4-f1 # 3.Rb5-d5 threat: 4.Rd5-d1 # 3...Bc7*g3 4.Rd5-d1 + 4...Bg3-e1 5.Rd1*e1 # 2...Bd8-h4 3.Rb5-f5 threat: 4.Rf5-f1 # 2...Bd8-g5 3.Rb5-d5 threat: 4.Rd5-d1 # 2...Bd8-f6 3.Rb5-f5 threat: 4.Rf5-f1 # 2...Bd8-e7 3.Rb5-f5 threat: 4.Rf5-f1 # 1...Rc8-c4 2.Rb5-f5 threat: 3.Rf5-f1 # 2...Rc4-c5 3.b4*c5 threat: 4.Rf5-f1 # 2...Rc4-h4 + 3.g3*h4 threat: 4.Rf5-f1 # 2...Rc4-f4 3.Rf5*f4 threat: 4.Rf4-f1 # 1...Rc8-c5 + 2.b4*c5 threat: 3.Rb5-b1 # 2...a3-a2 3.c5-c6 threat: 4.Rb5-f5 threat: 5.Rf5-f1 # 4.Rb5-d5 threat: 5.Rd5-d1 # 3...b7*c6 4.Rb5-f5 threat: 5.Rf5-f1 # 3...Sa8-c7 4.Rb5-f5 threat: 5.Rf5-f1 # 3...Bd8-c7 4.c6*b7 threat: 5.b7*a8=Q # 5.b7*a8=B # 3...Bd8-h4 4.Rb5-f5 threat: 5.Rf5-f1 # 3...Bd8-g5 4.Rb5-d5 threat: 5.Rd5-d1 # 3...Bd8-f6 4.Rb5-f5 threat: 5.Rf5-f1 # 3...Bd8-e7 4.Rb5-f5 threat: 5.Rf5-f1 # 1...Rc8-c6 2.Rb5-d5 threat: 3.Rd5-d1 # 2...Rc6-c5 3.b4*c5 threat: 4.Rd5-d1 # 2...Rc6-h6 + 3.Kh5*h6 threat: 4.Rd5-d1 # 3...Bd8-g5 + 4.Kh6*h7 threat: 5.Rd5-d1 # 4.Kh6-h5 threat: 5.Rd5-d1 # 4.Sh3*g5 threat: 5.Rd5-d1 # 2...Rc6-f6 3.Rd5-d1 + 3...Rf6-f1 4.Rd1*f1 # 2...Rc6-d6 3.Rd5*d6 threat: 4.Rd6-d1 # 1...Bd8-c7 2.Rb5-f5 threat: 3.Rf5-f1 # 2...Bc7-f4 3.Rf5*f4 threat: 4.Rf4-f1 # 3...Rc8-c5 + 4.b4*c5 threat: 5.Rf4-f1 # 1...Bd8-h4 2.Rb5-f5 threat: 3.Rf5-f1 # 2...Rc8-c5 3.b4*c5 threat: 4.Rf5-f1 # 1...Bd8-g5 2.Rb5-f5 threat: 3.Rf5-f1 # 2...Bg5-f4 3.Rf5*f4 threat: 4.Rf4-f1 # 3...Rc8-c5 + 4.b4*c5 threat: 5.Rf4-f1 # 1...Bd8-f6 2.Rb5-f5 threat: 3.Rf5-f1 # 2...Rc8-c5 3.b4*c5 threat: 4.Rf5-f1 # 1...Bd8-e7 2.Rb5-f5 threat: 3.Rf5-f1 # 2...Rc8-c5 3.b4*c5 threat: 4.Rf5-f1 #" keywords: - Excelsior comments: - also in The Chess Monthly (12), March 1861 --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 12 date: 1857-02 algebraic: white: [Kh1, Qa3] black: [Kf1, Pe2] stipulation: "#5" solution: | "1.Qa3-f8 + ! 1...Kf1-e1 2.Qf8-d6 threat: 3.Qd6-d4 zugzwang. 3...Ke1-f1 4.Qd4-g1 # 2...Ke1-f1 3.Qd6-f4 + 3...Kf1-e1 4.Qf4-d4 zugzwang. 4...Ke1-f1 5.Qd4-g1 # 3.Qd6-f6 + 3...Kf1-e1 4.Qf6-d4 zugzwang. 4...Ke1-f1 5.Qd4-g1 # 2...Ke1-f2 3.Qd6-f4 + 3...Kf2-e1 4.Qf4-d4 zugzwang. 4...Ke1-f1 5.Qd4-g1 #" keywords: - Amazon theme comments: - also in The Philadelphia Times (no. 733), 10 April 1887 --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 5-moves / 154 date: 1868 algebraic: white: [Kf2, Rg8, Bf1, Pe5, Pd4, Pc2, Pb5] black: [Kh1, Bd5, Ph5, Ph4, Ph2, Pe7, Pe6] stipulation: "#5" solution: | "Intention: 1.b6! Bb7 2.Ba6 Bd5 3.Ra8 Bc6 4.Bb7 ~ 5. # 3. ... Bxa8 4.b7 ~ 5. # 2. ... Bxa6 3.Ra8 h3 4.Rxa6 P~ 5.Ra1# but cooked 1.Rc8! 1.Be2! 1.Bh3!" keywords: - Cooked --- authors: - Loyd, Samuel source: Chess Monthly source-id: 778 date: 1886-05 algebraic: white: [Ke1, Bh6, Pe2, Pc2] black: [Kg1, Qh1, Rg3, Ba8, Ph5, Ph2, Pg2, Pc3] stipulation: "#5" solution: | "1.Bh6-c1 ! zugzwang. 1...h5-h4 2.Bc1-f4 zugzwang. 2...Rg3-h3 3.Bf4-b8 threat: 4.Bb8-a7 + 4...Rh3-e3 5.Ba7*e3 # 3.Bf4-c7 threat: 4.Bc7-b6 + 4...Rh3-e3 5.Bb6*e3 # 3.Bf4-d6 threat: 4.Bd6-c5 + 4...Rh3-e3 5.Bc5*e3 # 3.Bf4-e5 threat: 4.Be5-d4 + 4...Rh3-e3 5.Bd4*e3 # 3...Rh3-d3 4.e2*d3 threat: 5.Be5-d4 # 4.c2*d3 threat: 5.Be5-d4 # 2...Ba8-e4 3.Bf4-e5 threat: 4.Be5-d4 + 4...Rg3-e3 5.Bd4*e3 # 3...Rg3-d3 4.e2*d3 threat: 5.Be5-d4 # 4.c2*d3 threat: 5.Be5-d4 # 2...Ba8-d5 3.Bf4-d6 threat: 4.Bd6-c5 + 4...Rg3-e3 5.Bc5*e3 # 2...Ba8-c6 3.Bf4-c7 threat: 4.Bc7-b6 + 4...Rg3-e3 5.Bb6*e3 # 2...Ba8-b7 3.Bf4-b8 threat: 4.Bb8-a7 + 4...Rg3-e3 5.Ba7*e3 # 1...Ba8-e4 2.Bc1-f4 threat: 3.Bf4*g3 threat: 4.Bg3-f2 # 2...Rg3-h3 3.Bf4-b8 threat: 4.Bb8-a7 + 4...Rh3-e3 5.Ba7*e3 # 3.Bf4-c7 threat: 4.Bc7-b6 + 4...Rh3-e3 5.Bb6*e3 # 3.Bf4-d6 threat: 4.Bd6-c5 + 4...Rh3-e3 5.Bc5*e3 # 3.Bf4-e5 threat: 4.Be5-d4 + 4...Rh3-e3 5.Bd4*e3 # 3...Rh3-d3 4.e2*d3 threat: 5.Be5-d4 # 4.c2*d3 threat: 5.Be5-d4 # 2...h5-h4 3.Bf4-e5 threat: 4.Be5-d4 + 4...Rg3-e3 5.Bd4*e3 # 3...Rg3-d3 4.e2*d3 threat: 5.Be5-d4 # 4.c2*d3 threat: 5.Be5-d4 # 1...Ba8-c6 2.Bc1-f4 threat: 3.Bf4*g3 threat: 4.Bg3-f2 # 2...Rg3-h3 3.Bf4-b8 threat: 4.Bb8-a7 + 4...Rh3-e3 5.Ba7*e3 # 3.Bf4-c7 threat: 4.Bc7-b6 + 4...Rh3-e3 5.Bb6*e3 # 3.Bf4-d6 threat: 4.Bd6-c5 + 4...Rh3-e3 5.Bc5*e3 # 2...h5-h4 3.Bf4-c7 threat: 4.Bc7-b6 + 4...Rg3-e3 5.Bb6*e3 # 1...Ba8-b7 2.Bc1-f4 2...Rg3-h3 3.Bf4-b8 threat: 4.Bb8-a7 + 4...Rh3-e3 5.Ba7*e3 # 3.Bf4-c7 threat: 4.Bc7-b6 + 4...Rh3-e3 5.Bb6*e3 # 3.Bf4-d6 threat: 4.Bd6-c5 + 4...Rh3-e3 5.Bc5*e3 # 2...h5-h4 3.Bf4-b8 threat: 4.Bb8-a7 + 4...Rg3-e3 5.Ba7*e3 #" comments: - also in The Toledo Daily Blade (no. 31), 26 August 1886 --- authors: - Loyd, Samuel source: Porter's Spirit of the Times source-id: 16 date: 1856-12-20 algebraic: white: [Ke7, Qa1, Rd6, Be5, Pe3] black: [Ke4, Qh8, Rh3, Rc5, Bg8, Sh1, Sf1, Pg6, Pf5, Pc2] stipulation: "#5" solution: | "1.Rd6-d4 + ! 1...Ke4*e5 2.Rd4-g4 + 2...Ke5-d5 3.Qa1-a8 + 3...Rc5-c6 4.Qa8-d8 + 4...Kd5-e5 5.Qd8-d4 # 4...Kd5-c5 5.Qd8-a5 # 4...Rc6-d6 5.Qd8*d6 # 3...Kd5-e5 4.Qa8-e4 + 4...f5*e4 5.Rg4-g5 # 2...Rc5-c3 3.Qa1*c3 + 3...Ke5-d5 4.Qc3-c4 + 4...Kd5-e5 5.Qc4-d4 # 3.Qa1-a5 + 3...Rc3-c5 4.Qa5*c5 + 4...Bg8-d5 5.Qc5-d4 # 5.Qc5-d6 # 5.Qc5-c3 # 5.Qc5-c7 # 3...Bg8-d5 4.Qa5*c3 # 1...Ke4*e3 2.Qa1-e1 + 2...Ke3-f3 3.Rd4-f4 + 3...Kf3-g2 4.Qe1*f1 + 4...Kg2-h2 5.Rf4-f2 # 4...Kg2-g3 5.Qf1-g1 # 1...Ke4-f3 2.Qa1*f1 + 2...Sh1-f2 3.Rd4-f4 + 3...Kf3-g3 4.Qf1*f2 # 4.Qf1-g1 # 3...Kf3*e3 4.Qf1-e1 + 4...Ke3-d3 5.Rf4-d4 # 2...Kf3*e3 3.Rd4-d3 + 3...Ke3-e4 4.Qf1-e2 + 4...Rh3-e3 5.Qe2*e3 #" --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 5-moves / 135 v date: 1868 algebraic: white: [Kf1, Qf5, Bh3, Pg2, Pe2] black: [Kh1, Bg3, Sc5, Ph2, Pe5] stipulation: "#5" solution: | "1.Qf5*e5 ! threat: 2.Qe5*c5 threat: 3.Qc5-c6 zugzwang. 3...Bg3-e1 4.g2-g4 # 4.g2-g3 # 3...Bg3-f2 4.g2-g3 # 4.g2-g4 # 3...Bg3-h4 4.g2-g4 # 4.g2-g3 # 3...Bg3-b8 4.g2-g3 # 4.g2-g4 # 3...Bg3-c7 4.g2-g4 # 4.g2-g3 # 3...Bg3-d6 4.g2-g3 # 4.g2-g4 # 3...Bg3-e5 4.g2-g4 # 4.g2-g3 # 3...Bg3-f4 4.g2-g3 # 4.g2-g4 # 3.Qc5-d5 zugzwang. 3...Bg3-e1 4.g2-g4 # 4.g2-g3 # 3...Bg3-f2 4.g2-g3 # 4.g2-g4 # 3...Bg3-h4 4.g2-g4 # 4.g2-g3 # 3...Bg3-b8 4.g2-g3 # 4.g2-g4 # 3...Bg3-c7 4.g2-g4 # 4.g2-g3 # 3...Bg3-d6 4.g2-g3 # 4.g2-g4 # 3...Bg3-e5 4.g2-g4 # 4.g2-g3 # 3...Bg3-f4 4.g2-g3 # 4.g2-g4 # 2...Bg3-e1 3.g2-g4 threat: 4.Qc5-c6 # 4.Qc5-d5 # 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 4.Qc5-c6 # 4.Qc5-d5 # 2...Bg3-f2 3.g2-g4 threat: 4.Qc5-c6 # 4.Qc5-d5 # 4.Bh3-g2 # 3...Bf2*c5 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 4.Qc5-c6 # 4.Qc5-d5 # 3...Bf2*c5 4.Bh3-g2 # 2...Bg3-h4 3.g2-g4 threat: 4.Qc5-c6 # 4.Qc5-d5 # 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 4.Qc5-c6 # 4.Qc5-d5 # 2...Bg3-b8 3.g2-g4 threat: 4.Qc5-c6 # 4.Qc5-d5 # 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 4.Qc5-c6 # 4.Qc5-d5 # 2...Bg3-c7 3.g2-g4 threat: 4.Qc5-c6 # 4.Qc5-d5 # 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 4.Qc5-c6 # 4.Qc5-d5 # 2...Bg3-d6 3.g2-g4 threat: 4.Qc5-c6 # 4.Qc5-d5 # 4.Bh3-g2 # 3...Bd6*c5 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 4.Qc5-c6 # 4.Qc5-d5 # 3...Bd6*c5 4.Bh3-g2 # 2...Bg3-e5 3.g2-g4 threat: 4.Qc5-c6 # 4.Qc5-d5 # 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 4.Qc5-c6 # 4.Qc5-d5 # 2...Bg3-f4 3.g2-g4 threat: 4.Qc5-c6 # 4.Qc5-d5 # 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 4.Qc5-c6 # 4.Qc5-d5 # 1...Sc5-a4 2.Qe5*g3 threat: 3.Qg3-e1 threat: 4.Kf1-f2 # 3.Qg3-f3 threat: 4.g2-g4 # 4.g2-g3 # 2...Sa4-b2 3.Qg3-f3 threat: 4.g2-g4 # 4.g2-g3 # 2...Sa4-c3 3.Qg3-f3 threat: 4.g2-g4 # 4.g2-g3 # 2...Sa4-c5 3.Qg3-f3 threat: 4.g2-g4 # 4.g2-g3 # 1...Sc5-b3 2.Qe5-c3 threat: 3.Qc3*b3 threat: 4.Qb3-d5 zugzwang. 4...Bg3-e1 5.g2-g4 # 5.g2-g3 # 4...Bg3-f2 5.g2-g3 # 5.g2-g4 # 4...Bg3-h4 5.g2-g4 # 5.g2-g3 # 4...Bg3-b8 5.g2-g3 # 5.g2-g4 # 4...Bg3-c7 5.g2-g4 # 5.g2-g3 # 4...Bg3-d6 5.g2-g3 # 5.g2-g4 # 4...Bg3-e5 5.g2-g4 # 5.g2-g3 # 4...Bg3-f4 5.g2-g3 # 5.g2-g4 # 4.Qb3-b7 zugzwang. 4...Bg3-e1 5.g2-g4 # 5.g2-g3 # 4...Bg3-f2 5.g2-g3 # 5.g2-g4 # 4...Bg3-h4 5.g2-g4 # 5.g2-g3 # 4...Bg3-b8 5.g2-g3 # 5.g2-g4 # 4...Bg3-c7 5.g2-g4 # 5.g2-g3 # 4...Bg3-d6 5.g2-g3 # 5.g2-g4 # 4...Bg3-e5 5.g2-g4 # 5.g2-g3 # 4...Bg3-f4 5.g2-g3 # 5.g2-g4 # 4.Qb3-f3 zugzwang. 4...Bg3-e1 5.g2-g4 # 5.g2-g3 # 4...Bg3-f2 5.g2-g3 # 5.g2-g4 # 4...Bg3-h4 5.g2-g4 # 5.g2-g3 # 4...Bg3-b8 5.g2-g3 # 5.g2-g4 # 4...Bg3-c7 5.g2-g4 # 5.g2-g3 # 4...Bg3-d6 5.g2-g3 # 5.g2-g4 # 4...Bg3-e5 5.g2-g4 # 5.g2-g3 # 4...Bg3-f4 5.g2-g3 # 5.g2-g4 # 3...Bg3-e1 4.g2-g4 threat: 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-b7 # 5.Qb3-f3 # 4...Be1-b4 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-f3 # 4...Be1-c3 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-b7 # 4.g2-g3 threat: 5.Qb3-f3 # 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-b7 # 4...Be1-b4 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-f3 # 4...Be1-c3 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-b7 # 3...Bg3-f2 4.g2-g4 threat: 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-b7 # 5.Qb3-f3 # 4...Bf2-b6 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-f3 # 4...Bf2-e3 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-b7 # 4.g2-g3 threat: 5.Qb3-f3 # 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-b7 # 4...Bf2-b6 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-f3 # 4...Bf2-e3 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-b7 # 3...Bg3-h4 4.g2-g4 threat: 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-b7 # 5.Qb3-f3 # 4.g2-g3 threat: 5.Qb3-f3 # 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-b7 # 3...Bg3-b8 4.g2-g4 threat: 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-b7 # 5.Qb3-f3 # 4.g2-g3 threat: 5.Qb3-f3 # 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-b7 # 3...Bg3-c7 4.g2-g4 threat: 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-b7 # 5.Qb3-f3 # 4...Bc7-b6 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-f3 # 4.g2-g3 threat: 5.Qb3-f3 # 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-b7 # 4...Bc7-b6 5.Qb3-f3 # 5.Bh3-g2 # 5.Qb3-d5 # 3...Bg3-d6 4.g2-g4 threat: 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-b7 # 5.Qb3-f3 # 4...Bd6-b4 5.Qb3-d5 # 5.Bh3-g2 # 5.Qb3-f3 # 4.g2-g3 threat: 5.Qb3-f3 # 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-b7 # 4...Bd6-b4 5.Qb3-f3 # 5.Bh3-g2 # 5.Qb3-d5 # 3...Bg3-e5 4.g2-g4 threat: 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-b7 # 5.Qb3-f3 # 4...Be5-c3 5.Qb3-d5 # 5.Bh3-g2 # 5.Qb3-b7 # 4.g2-g3 threat: 5.Qb3-f3 # 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-b7 # 4...Be5-c3 5.Qb3-b7 # 5.Bh3-g2 # 5.Qb3-d5 # 3...Bg3-f4 4.g2-g4 threat: 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-b7 # 5.Qb3-f3 # 4...Bf4-e3 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-b7 # 4.g2-g3 threat: 5.Qb3-f3 # 5.Bh3-g2 # 5.Qb3-d5 # 5.Qb3-b7 # 4...Bf4-e3 5.Qb3-b7 # 5.Bh3-g2 # 5.Qb3-d5 # 2...Sb3-a1 3.Qc3*a1 threat: 4.Qa1-a8 zugzwang. 4...Bg3-e1 5.g2-g4 # 5.g2-g3 # 4...Bg3-f2 5.g2-g3 # 5.g2-g4 # 4...Bg3-h4 5.g2-g4 # 5.g2-g3 # 4...Bg3-b8 5.g2-g3 # 5.g2-g4 # 4...Bg3-c7 5.g2-g4 # 5.g2-g3 # 4...Bg3-d6 5.g2-g3 # 5.g2-g4 # 4...Bg3-e5 5.g2-g4 # 5.g2-g3 # 4...Bg3-f4 5.g2-g3 # 5.g2-g4 # 3...Bg3-e1 4.g2-g4 threat: 5.Bh3-g2 # 5.Qa1-a8 # 4...Be1-a5 5.Bh3-g2 # 4.g2-g3 threat: 5.Qa1-a8 # 5.Bh3-g2 # 4...Be1-a5 5.Bh3-g2 # 3...Bg3-h4 4.g2-g4 threat: 5.Bh3-g2 # 5.Qa1-a8 # 4.g2-g3 threat: 5.Qa1-a8 # 5.Bh3-g2 # 5.Kf1-f2 # 4...Bh4*g3 5.Bh3-g2 # 5.Qa1-a8 # 4...Bh4-f6 5.Bh3-g2 # 5.Qa1-a8 # 4...Bh4-g5 5.Bh3-g2 # 5.Qa1-a8 # 3...Bg3-e5 4.g2-g4 threat: 5.Bh3-g2 # 5.Qa1-a8 # 4...Be5*a1 5.Bh3-g2 # 4.g2-g3 threat: 5.Qa1-a8 # 5.Bh3-g2 # 4...Be5*a1 5.Bh3-g2 # 3...Bg3-f4 4.g2-g4 threat: 5.Bh3-g2 # 5.Qa1-a8 # 4.g2-g3 threat: 5.Qa1-a8 # 5.Bh3-g2 # 4.Kf1-f2 + 4...Bf4-c1 5.Qa1*c1 # 2...Sb3-c1 3.Qc3*c1 threat: 4.Qc1-c6 zugzwang. 4...Bg3-e1 5.g2-g4 # 5.g2-g3 # 4...Bg3-f2 5.g2-g3 # 5.g2-g4 # 4...Bg3-h4 5.g2-g4 # 5.g2-g3 # 4...Bg3-b8 5.g2-g3 # 5.g2-g4 # 4...Bg3-c7 5.g2-g4 # 5.g2-g3 # 4...Bg3-d6 5.g2-g3 # 5.g2-g4 # 4...Bg3-e5 5.g2-g4 # 5.g2-g3 # 4...Bg3-f4 5.g2-g3 # 5.g2-g4 # 3...Bg3-e1 4.g2-g4 threat: 5.Bh3-g2 # 5.Qc1-c6 # 4...Be1-c3 5.Bh3-g2 # 4.g2-g3 threat: 5.Qc1-c6 # 5.Bh3-g2 # 4...Be1-c3 5.Bh3-g2 # 3...Bg3-h4 4.g2-g4 threat: 5.Bh3-g2 # 5.Qc1-c6 # 4.g2-g3 threat: 5.Qc1-c6 # 5.Bh3-g2 # 5.Kf1-f2 # 4...Bh4*g3 5.Bh3-g2 # 5.Qc1-c6 # 4...Bh4-g5 5.Bh3-g2 # 5.Qc1-c6 # 3...Bg3-f4 4.g2-g4 threat: 5.Bh3-g2 # 5.Qc1-c6 # 4...Bf4*c1 5.Bh3-g2 # 4.g2-g3 threat: 5.Qc1-c6 # 5.Bh3-g2 # 4...Bf4*c1 5.Bh3-g2 # 2...Sb3-d2 + 3.Qc3*d2 threat: 4.Qd2-d5 zugzwang. 4...Bg3-e1 5.g2-g4 # 5.g2-g3 # 4...Bg3-f2 5.g2-g3 # 5.g2-g4 # 4...Bg3-h4 5.g2-g4 # 5.g2-g3 # 4...Bg3-b8 5.g2-g3 # 5.g2-g4 # 4...Bg3-c7 5.g2-g4 # 5.g2-g3 # 4...Bg3-d6 5.g2-g3 # 5.g2-g4 # 4...Bg3-e5 5.g2-g4 # 5.g2-g3 # 4...Bg3-f4 5.g2-g3 # 5.g2-g4 # 3...Bg3-e1 4.g2-g4 threat: 5.Bh3-g2 # 5.Qd2-d5 # 4...Be1*d2 5.Bh3-g2 # 4.g2-g3 threat: 5.Qd2-d5 # 5.Bh3-g2 # 4...Be1*d2 5.Bh3-g2 # 3...Bg3-f2 4.g2-g4 threat: 5.Bh3-g2 # 5.Qd2-d5 # 4...Bf2-d4 5.Bh3-g2 # 4.g2-g3 threat: 5.Qd2-d5 # 5.Bh3-g2 # 4...Bf2-d4 5.Bh3-g2 # 3...Bg3-h4 4.g2-g4 threat: 5.Bh3-g2 # 5.Qd2-d5 # 4.g2-g3 threat: 5.Qd2-d5 # 5.Bh3-g2 # 3...Bg3-b8 4.g2-g4 threat: 5.Bh3-g2 # 5.Qd2-d5 # 4.g2-g3 threat: 5.Qd2-d5 # 5.Bh3-g2 # 3...Bg3-c7 4.g2-g4 threat: 5.Bh3-g2 # 5.Qd2-d5 # 4.g2-g3 threat: 5.Qd2-d5 # 5.Bh3-g2 # 3...Bg3-d6 4.g2-g4 threat: 5.Bh3-g2 # 5.Qd2-d5 # 4.g2-g3 threat: 5.Qd2-d5 # 5.Bh3-g2 # 3...Bg3-e5 4.g2-g4 threat: 5.Bh3-g2 # 5.Qd2-d5 # 4...Be5-d4 5.Bh3-g2 # 4.g2-g3 threat: 5.Qd2-d5 # 5.Bh3-g2 # 4...Be5-d4 5.Bh3-g2 # 3...Bg3-f4 4.g2-g4 threat: 5.Bh3-g2 # 5.Qd2-d5 # 4...Bf4*d2 5.Bh3-g2 # 4.g2-g3 threat: 5.Qd2-d5 # 5.Bh3-g2 # 4...Bf4*d2 5.Bh3-g2 # 2...Sb3-d4 3.Qc3*d4 threat: 4.Qd4-d5 zugzwang. 4...Bg3-e1 5.g2-g4 # 5.g2-g3 # 4...Bg3-f2 5.g2-g3 # 5.g2-g4 # 4...Bg3-h4 5.g2-g4 # 5.g2-g3 # 4...Bg3-b8 5.g2-g3 # 5.g2-g4 # 4...Bg3-c7 5.g2-g4 # 5.g2-g3 # 4...Bg3-d6 5.g2-g3 # 5.g2-g4 # 4...Bg3-e5 5.g2-g4 # 5.g2-g3 # 4...Bg3-f4 5.g2-g3 # 5.g2-g4 # 4.Qd4-e4 zugzwang. 4...Bg3-e1 5.g2-g4 # 5.g2-g3 # 4...Bg3-f2 5.g2-g3 # 5.g2-g4 # 4...Bg3-h4 5.g2-g4 # 5.g2-g3 # 4...Bg3-b8 5.g2-g3 # 5.g2-g4 # 4...Bg3-c7 5.g2-g4 # 5.g2-g3 # 4...Bg3-d6 5.g2-g3 # 5.g2-g4 # 4...Bg3-e5 5.g2-g4 # 5.g2-g3 # 4...Bg3-f4 5.g2-g3 # 5.g2-g4 # 3...Bg3-e1 4.g2-g4 threat: 5.Qd4-d5 # 5.Qd4-e4 # 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qd4-d5 # 5.Qd4-e4 # 3...Bg3-f2 4.g2-g4 threat: 5.Qd4-d5 # 5.Qd4-e4 # 5.Bh3-g2 # 4...Bf2*d4 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qd4-d5 # 5.Qd4-e4 # 4...Bf2*d4 5.Bh3-g2 # 3...Bg3-h4 4.g2-g4 threat: 5.Qd4-d5 # 5.Qd4-e4 # 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qd4-d5 # 5.Qd4-e4 # 3...Bg3-b8 4.g2-g4 threat: 5.Qd4-d5 # 5.Qd4-e4 # 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qd4-d5 # 5.Qd4-e4 # 3...Bg3-c7 4.g2-g4 threat: 5.Qd4-d5 # 5.Qd4-e4 # 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qd4-d5 # 5.Qd4-e4 # 3...Bg3-d6 4.g2-g4 threat: 5.Qd4-d5 # 5.Qd4-e4 # 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qd4-d5 # 5.Qd4-e4 # 3...Bg3-e5 4.g2-g4 threat: 5.Qd4-d5 # 5.Qd4-e4 # 5.Bh3-g2 # 4...Be5*d4 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qd4-d5 # 5.Qd4-e4 # 4...Be5*d4 5.Bh3-g2 # 3...Bg3-f4 4.g2-g4 threat: 5.Qd4-d5 # 5.Qd4-e4 # 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qd4-d5 # 5.Qd4-e4 # 2...Sb3-c5 3.Qc3*c5 threat: 4.Qc5-c6 zugzwang. 4...Bg3-e1 5.g2-g4 # 5.g2-g3 # 4...Bg3-f2 5.g2-g3 # 5.g2-g4 # 4...Bg3-h4 5.g2-g4 # 5.g2-g3 # 4...Bg3-b8 5.g2-g3 # 5.g2-g4 # 4...Bg3-c7 5.g2-g4 # 5.g2-g3 # 4...Bg3-d6 5.g2-g3 # 5.g2-g4 # 4...Bg3-e5 5.g2-g4 # 5.g2-g3 # 4...Bg3-f4 5.g2-g3 # 5.g2-g4 # 4.Qc5-d5 zugzwang. 4...Bg3-e1 5.g2-g4 # 5.g2-g3 # 4...Bg3-f2 5.g2-g3 # 5.g2-g4 # 4...Bg3-h4 5.g2-g4 # 5.g2-g3 # 4...Bg3-b8 5.g2-g3 # 5.g2-g4 # 4...Bg3-c7 5.g2-g4 # 5.g2-g3 # 4...Bg3-d6 5.g2-g3 # 5.g2-g4 # 4...Bg3-e5 5.g2-g4 # 5.g2-g3 # 4...Bg3-f4 5.g2-g3 # 5.g2-g4 # 3...Bg3-e1 4.g2-g4 threat: 5.Qc5-c6 # 5.Qc5-d5 # 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qc5-c6 # 5.Qc5-d5 # 3...Bg3-f2 4.g2-g4 threat: 5.Qc5-c6 # 5.Qc5-d5 # 5.Bh3-g2 # 4...Bf2*c5 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qc5-c6 # 5.Qc5-d5 # 4...Bf2*c5 5.Bh3-g2 # 3...Bg3-h4 4.g2-g4 threat: 5.Qc5-c6 # 5.Qc5-d5 # 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qc5-c6 # 5.Qc5-d5 # 3...Bg3-b8 4.g2-g4 threat: 5.Qc5-c6 # 5.Qc5-d5 # 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qc5-c6 # 5.Qc5-d5 # 3...Bg3-c7 4.g2-g4 threat: 5.Qc5-c6 # 5.Qc5-d5 # 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qc5-c6 # 5.Qc5-d5 # 3...Bg3-d6 4.g2-g4 threat: 5.Qc5-c6 # 5.Qc5-d5 # 5.Bh3-g2 # 4...Bd6*c5 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qc5-c6 # 5.Qc5-d5 # 4...Bd6*c5 5.Bh3-g2 # 3...Bg3-e5 4.g2-g4 threat: 5.Qc5-c6 # 5.Qc5-d5 # 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qc5-c6 # 5.Qc5-d5 # 3...Bg3-f4 4.g2-g4 threat: 5.Qc5-c6 # 5.Qc5-d5 # 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qc5-c6 # 5.Qc5-d5 # 2...Sb3-a5 3.Qc3*a5 threat: 4.Qa5-a8 zugzwang. 4...Bg3-e1 5.g2-g4 # 5.g2-g3 # 4...Bg3-f2 5.g2-g3 # 5.g2-g4 # 4...Bg3-h4 5.g2-g4 # 5.g2-g3 # 4...Bg3-b8 5.g2-g3 # 5.g2-g4 # 4...Bg3-c7 5.g2-g4 # 5.g2-g3 # 4...Bg3-d6 5.g2-g3 # 5.g2-g4 # 4...Bg3-e5 5.g2-g4 # 5.g2-g3 # 4...Bg3-f4 5.g2-g3 # 5.g2-g4 # 4.Qa5-d5 zugzwang. 4...Bg3-e1 5.g2-g4 # 5.g2-g3 # 4...Bg3-f2 5.g2-g3 # 5.g2-g4 # 4...Bg3-h4 5.g2-g4 # 5.g2-g3 # 4...Bg3-b8 5.g2-g3 # 5.g2-g4 # 4...Bg3-c7 5.g2-g4 # 5.g2-g3 # 4...Bg3-d6 5.g2-g3 # 5.g2-g4 # 4...Bg3-e5 5.g2-g4 # 5.g2-g3 # 4...Bg3-f4 5.g2-g3 # 5.g2-g4 # 3...Bg3-e1 4.g2-g4 threat: 5.Qa5-a8 # 5.Qa5-d5 # 5.Bh3-g2 # 4...Be1*a5 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qa5-a8 # 5.Qa5-d5 # 4...Be1*a5 5.Bh3-g2 # 3...Bg3-f2 4.g2-g4 threat: 5.Qa5-a8 # 5.Qa5-d5 # 5.Bh3-g2 # 4...Bf2-a7 5.Qa5-d5 # 5.Bh3-g2 # 4...Bf2-c5 5.Bh3-g2 # 5.Qa5-a8 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qa5-a8 # 5.Qa5-d5 # 4...Bf2-a7 5.Qa5-d5 # 5.Bh3-g2 # 4...Bf2-c5 5.Bh3-g2 # 5.Qa5-a8 # 3...Bg3-h4 4.g2-g4 threat: 5.Qa5-a8 # 5.Qa5-d5 # 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qa5-a8 # 5.Qa5-d5 # 3...Bg3-b8 4.g2-g4 threat: 5.Qa5-a8 # 5.Qa5-d5 # 5.Bh3-g2 # 4...Bb8-a7 5.Qa5-d5 # 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qa5-a8 # 5.Qa5-d5 # 4...Bb8-a7 5.Bh3-g2 # 5.Qa5-d5 # 3...Bg3-c7 4.g2-g4 threat: 5.Qa5-a8 # 5.Qa5-d5 # 5.Bh3-g2 # 4...Bc7*a5 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qa5-a8 # 5.Qa5-d5 # 4...Bc7*a5 5.Bh3-g2 # 3...Bg3-d6 4.g2-g4 threat: 5.Qa5-a8 # 5.Qa5-d5 # 5.Bh3-g2 # 4...Bd6-c5 5.Qa5-a8 # 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qa5-a8 # 5.Qa5-d5 # 4...Bd6-c5 5.Bh3-g2 # 5.Qa5-a8 # 3...Bg3-e5 4.g2-g4 threat: 5.Qa5-a8 # 5.Qa5-d5 # 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qa5-a8 # 5.Qa5-d5 # 3...Bg3-f4 4.g2-g4 threat: 5.Qa5-a8 # 5.Qa5-d5 # 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 5.Qa5-a8 # 5.Qa5-d5 # 1...Sc5-d3 2.e2*d3 threat: 3.Qe5-e4 zugzwang. 3...Bg3-e1 4.g2-g4 # 4.g2-g3 # 3...Bg3-f2 4.g2-g3 # 4.g2-g4 # 3...Bg3-h4 4.g2-g4 # 4.g2-g3 # 3...Bg3-b8 4.g2-g3 # 4.g2-g4 # 3...Bg3-c7 4.g2-g4 # 4.g2-g3 # 3...Bg3-d6 4.g2-g3 # 4.g2-g4 # 3...Bg3-e5 4.g2-g4 # 4.g2-g3 # 3...Bg3-f4 4.g2-g3 # 4.g2-g4 # 3.Qe5-d5 zugzwang. 3...Bg3-e1 4.g2-g4 # 4.g2-g3 # 3...Bg3-f2 4.g2-g3 # 4.g2-g4 # 3...Bg3-h4 4.g2-g4 # 4.g2-g3 # 3...Bg3-b8 4.g2-g3 # 4.g2-g4 # 3...Bg3-c7 4.g2-g4 # 4.g2-g3 # 3...Bg3-d6 4.g2-g3 # 4.g2-g4 # 3...Bg3-e5 4.g2-g4 # 4.g2-g3 # 3...Bg3-f4 4.g2-g3 # 4.g2-g4 # 2...Bg3-e1 3.g2-g4 threat: 4.Qe5-e4 # 4.Qe5-d5 # 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 4.Qe5-e4 # 4.Qe5-d5 # 2...Bg3-f2 3.g2-g4 threat: 4.Qe5-e4 # 4.Qe5-d5 # 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 4.Qe5-e4 # 4.Qe5-d5 # 2...Bg3-h4 3.g2-g4 threat: 4.Qe5-e4 # 4.Qe5-d5 # 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 4.Qe5-e4 # 4.Qe5-d5 # 2...Bg3*e5 3.g2-g3 threat: 4.Bh3-g2 # 3.g2-g4 threat: 4.Bh3-g2 # 2...Bg3-f4 3.g2-g4 threat: 4.Qe5-e4 # 4.Qe5-d5 # 4.Bh3-g2 # 3...Bf4*e5 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 4.Qe5-e4 # 4.Qe5-d5 # 3...Bf4*e5 4.Bh3-g2 # 1...Sc5-e6 2.Qe5*e6 threat: 3.Qe6-d5 zugzwang. 3...Bg3-e1 4.g2-g4 # 4.g2-g3 # 3...Bg3-f2 4.g2-g3 # 4.g2-g4 # 3...Bg3-h4 4.g2-g4 # 4.g2-g3 # 3...Bg3-b8 4.g2-g3 # 4.g2-g4 # 3...Bg3-c7 4.g2-g4 # 4.g2-g3 # 3...Bg3-d6 4.g2-g3 # 4.g2-g4 # 3...Bg3-e5 4.g2-g4 # 4.g2-g3 # 3...Bg3-f4 4.g2-g3 # 4.g2-g4 # 3.Qe6-e4 zugzwang. 3...Bg3-e1 4.g2-g4 # 4.g2-g3 # 3...Bg3-f2 4.g2-g3 # 4.g2-g4 # 3...Bg3-h4 4.g2-g4 # 4.g2-g3 # 3...Bg3-b8 4.g2-g3 # 4.g2-g4 # 3...Bg3-c7 4.g2-g4 # 4.g2-g3 # 3...Bg3-d6 4.g2-g3 # 4.g2-g4 # 3...Bg3-e5 4.g2-g4 # 4.g2-g3 # 3...Bg3-f4 4.g2-g3 # 4.g2-g4 # 3.Qe6-c6 zugzwang. 3...Bg3-e1 4.g2-g4 # 4.g2-g3 # 3...Bg3-f2 4.g2-g3 # 4.g2-g4 # 3...Bg3-h4 4.g2-g4 # 4.g2-g3 # 3...Bg3-b8 4.g2-g3 # 4.g2-g4 # 3...Bg3-c7 4.g2-g4 # 4.g2-g3 # 3...Bg3-d6 4.g2-g3 # 4.g2-g4 # 3...Bg3-e5 4.g2-g4 # 4.g2-g3 # 3...Bg3-f4 4.g2-g3 # 4.g2-g4 # 2...Bg3-e1 3.g2-g4 threat: 4.Qe6-d5 # 4.Qe6-e4 # 4.Qe6-c6 # 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 4.Qe6-d5 # 4.Qe6-e4 # 4.Qe6-c6 # 2...Bg3-f2 3.g2-g4 threat: 4.Qe6-d5 # 4.Qe6-e4 # 4.Qe6-c6 # 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 4.Qe6-d5 # 4.Qe6-e4 # 4.Qe6-c6 # 2...Bg3-h4 3.g2-g4 threat: 4.Qe6-d5 # 4.Qe6-e4 # 4.Qe6-c6 # 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 4.Qe6-d5 # 4.Qe6-e4 # 4.Qe6-c6 # 2...Bg3-b8 3.g2-g4 threat: 4.Qe6-d5 # 4.Qe6-e4 # 4.Qe6-c6 # 4.Bh3-g2 # 3...Bb8-e5 4.Qe6-d5 # 4.Qe6-c6 # 4.Bh3-g2 # 3...Bb8-d6 4.Bh3-g2 # 4.Qe6-d5 # 4.Qe6-e4 # 3.g2-g3 threat: 4.Bh3-g2 # 4.Qe6-d5 # 4.Qe6-e4 # 4.Qe6-c6 # 3...Bb8-e5 4.Qe6-d5 # 4.Qe6-c6 # 4.Bh3-g2 # 3...Bb8-d6 4.Bh3-g2 # 4.Qe6-d5 # 4.Qe6-e4 # 2...Bg3-c7 3.g2-g4 threat: 4.Qe6-d5 # 4.Qe6-e4 # 4.Qe6-c6 # 4.Bh3-g2 # 3...Bc7-e5 4.Qe6-d5 # 4.Qe6-c6 # 4.Bh3-g2 # 3...Bc7-d6 4.Bh3-g2 # 4.Qe6-d5 # 4.Qe6-e4 # 3.g2-g3 threat: 4.Bh3-g2 # 4.Qe6-d5 # 4.Qe6-e4 # 4.Qe6-c6 # 3...Bc7-e5 4.Qe6-d5 # 4.Qe6-c6 # 4.Bh3-g2 # 3...Bc7-d6 4.Bh3-g2 # 4.Qe6-d5 # 4.Qe6-e4 # 2...Bg3-d6 3.g2-g4 threat: 4.Qe6-d5 # 4.Qe6-e4 # 4.Bh3-g2 # 3...Bd6-e5 4.Qe6-d5 # 4.Qe6-c6 # 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 4.Qe6-d5 # 4.Qe6-e4 # 3...Bd6-e5 4.Bh3-g2 # 4.Qe6-d5 # 4.Qe6-c6 # 2...Bg3-e5 3.g2-g4 threat: 4.Qe6-d5 # 4.Qe6-c6 # 4.Bh3-g2 # 3...Be5-d6 4.Qe6-d5 # 4.Qe6-e4 # 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 4.Qe6-d5 # 4.Qe6-c6 # 3...Be5-d6 4.Bh3-g2 # 4.Qe6-d5 # 4.Qe6-e4 # 2...Bg3-f4 3.g2-g4 threat: 4.Qe6-d5 # 4.Qe6-e4 # 4.Qe6-c6 # 4.Bh3-g2 # 3...Bf4-d6 4.Qe6-e4 # 4.Qe6-d5 # 4.Bh3-g2 # 3...Bf4-e5 4.Bh3-g2 # 4.Qe6-d5 # 4.Qe6-c6 # 3.g2-g3 threat: 4.Bh3-g2 # 4.Qe6-d5 # 4.Qe6-e4 # 4.Qe6-c6 # 3...Bf4-d6 4.Qe6-d5 # 4.Qe6-e4 # 4.Bh3-g2 # 3...Bf4-e5 4.Bh3-g2 # 4.Qe6-d5 # 4.Qe6-c6 # 2.Bh3*e6 threat: 3.Be6-d5 zugzwang. 3...Bg3-e1 4.g2-g4 # 4.g2-g3 # 3...Bg3-f2 4.g2-g3 # 4.g2-g4 # 3...Bg3-h4 4.g2-g4 # 4.g2-g3 # 3...Bg3*e5 4.g2-g3 # 4.g2-g4 # 3...Bg3-f4 4.g2-g4 # 4.g2-g3 # 3.Qe5-e4 zugzwang. 3...Bg3-e1 4.g2-g3 # 4.g2-g4 # 3...Bg3-f2 4.g2-g4 # 4.g2-g3 # 3...Bg3-h4 4.g2-g3 # 4.g2-g4 # 3...Bg3-b8 4.g2-g4 # 4.g2-g3 # 3...Bg3-c7 4.g2-g3 # 4.g2-g4 # 3...Bg3-d6 4.g2-g4 # 4.g2-g3 # 3...Bg3-e5 4.g2-g3 # 4.g2-g4 # 3...Bg3-f4 4.g2-g4 # 4.g2-g3 # 3.Qe5-d5 zugzwang. 3...Bg3-e1 4.g2-g3 # 4.g2-g4 # 3...Bg3-f2 4.g2-g4 # 4.g2-g3 # 3...Bg3-h4 4.g2-g3 # 4.g2-g4 # 3...Bg3-b8 4.g2-g4 # 4.g2-g3 # 3...Bg3-c7 4.g2-g3 # 4.g2-g4 # 3...Bg3-d6 4.g2-g4 # 4.g2-g3 # 3...Bg3-e5 4.g2-g3 # 4.g2-g4 # 3...Bg3-f4 4.g2-g4 # 4.g2-g3 # 2...Bg3-e1 3.g2-g4 threat: 4.Be6-d5 # 4.Qe5-e4 # 4.Qe5-d5 # 3.g2-g3 threat: 4.Qe5-d5 # 4.Be6-d5 # 4.Qe5-e4 # 2...Bg3-f2 3.g2-g4 threat: 4.Be6-d5 # 4.Qe5-e4 # 4.Qe5-d5 # 3.g2-g3 threat: 4.Qe5-d5 # 4.Be6-d5 # 4.Qe5-e4 # 2...Bg3-h4 3.g2-g4 threat: 4.Be6-d5 # 4.Qe5-e4 # 4.Qe5-d5 # 3.g2-g3 threat: 4.Qe5-d5 # 4.Be6-d5 # 4.Qe5-e4 # 2...Bg3*e5 3.g2-g4 threat: 4.Be6-d5 # 3.g2-g3 threat: 4.Be6-d5 # 2...Bg3-f4 3.g2-g4 threat: 4.Be6-d5 # 4.Qe5-e4 # 4.Qe5-d5 # 3...Bf4*e5 4.Be6-d5 # 3.g2-g3 threat: 4.Qe5-d5 # 4.Be6-d5 # 4.Qe5-e4 # 3...Bf4*e5 4.Be6-d5 # 1...Sc5-d7 2.Bh3*d7 threat: 3.Bd7-c6 zugzwang. 3...Bg3-e1 4.g2-g4 # 4.g2-g3 # 3...Bg3-f2 4.g2-g3 # 4.g2-g4 # 3...Bg3-h4 4.g2-g4 # 4.g2-g3 # 3...Bg3*e5 4.g2-g3 # 4.g2-g4 # 3...Bg3-f4 4.g2-g4 # 4.g2-g3 # 3.Qe5-e4 zugzwang. ............. " comments: - Version. The original has additional white Pg4 and black Ph4 --- authors: - Loyd, Samuel source: Paris Tourney date: 1867 distinction: 2nd Prize, Set algebraic: white: [Kf1, Ra8, Bh3, Pg2] black: [Kh1, Bg3, Sg6, Ph2] stipulation: "#5" solution: | "1.Ra8-f8 ! zugzwang. 1...Bg3-e1 2.g2-g3 threat: 3.Bh3-g2 # 2...Sg6-f4 3.g3*f4 threat: 4.Bh3-g2 # 3.Rf8*f4 threat: 4.Bh3-g2 # 2...Sg6-h4 3.g3*h4 threat: 4.Bh3-g2 # 1...Bg3-f2 2.g2-g4 threat: 3.Bh3-g2 # 2...Sg6-f4 3.Rf8*f4 threat: 4.Bh3-g2 # 2...Sg6-h4 3.Kf1*f2 zugzwang. 3...Sh4-f3 4.Bh3-g2 # 3...Sh4-g2 4.Bh3*g2 # 3...Sh4-g6 4.Bh3-g2 # 3...Sh4-f5 4.Bh3-g2 # 3.Rf8*f2 zugzwang. 3...Sh4-f3 4.Bh3-g2 # 3...Sh4-g2 4.Bh3*g2 # 3...Sh4-g6 4.Bh3-g2 # 3...Sh4-f5 4.Bh3-g2 # 2.g2-g3 threat: 3.Bh3-g2 # 2...Sg6-f4 3.g3*f4 threat: 4.Bh3-g2 # 3.Rf8*f4 threat: 4.Bh3-g2 # 2...Sg6-h4 3.Kf1*f2 zugzwang. 3...Sh4-f3 4.Bh3-g2 # 3...Sh4-g2 4.Bh3*g2 # 3...Sh4-g6 4.Bh3-g2 # 3...Sh4-f5 4.Bh3-g2 # 3.g3*h4 threat: 4.Bh3-g2 # 3.Rf8*f2 zugzwang. 3...Sh4-f3 4.Bh3-g2 # 3...Sh4-g2 4.Bh3*g2 # 3...Sh4-g6 4.Bh3-g2 # 3...Sh4-f5 4.Bh3-g2 # 1...Bg3-h4 2.g2-g4 threat: 3.Bh3-g2 # 2...Sg6-f4 3.Rf8*f4 threat: 4.Bh3-g2 # 2.g2-g3 threat: 3.Bh3-g2 # 2...Sg6-f4 3.g3*f4 threat: 4.Bh3-g2 # 3.Rf8*f4 threat: 4.Bh3-g2 # 1...Bg3-b8 2.g2-g4 threat: 3.Bh3-g2 # 2...Sg6-f4 3.Rf8*f4 threat: 4.Bh3-g2 # 2...Sg6-h4 3.Rf8*b8 zugzwang. 3...Sh4-f3 4.Bh3-g2 # 3...Sh4-g2 4.Bh3*g2 # 3...Sh4-g6 4.Bh3-g2 # 3...Sh4-f5 4.Bh3-g2 # 2.g2-g3 threat: 3.Bh3-g2 # 2...Sg6-f4 3.g3*f4 threat: 4.Bh3-g2 # 3.Rf8*f4 threat: 4.Bh3-g2 # 2...Sg6-h4 3.g3*h4 threat: 4.Bh3-g2 # 3.Rf8*b8 zugzwang. 3...Sh4-f3 4.Bh3-g2 # 3...Sh4-g2 4.Bh3*g2 # 3...Sh4-g6 4.Bh3-g2 # 3...Sh4-f5 4.Bh3-g2 # 1...Bg3-c7 2.g2-g3 threat: 3.Bh3-g2 # 2...Sg6-f4 3.g3*f4 threat: 4.Bh3-g2 # 3.Rf8*f4 threat: 4.Bh3-g2 # 2...Sg6-h4 3.g3*h4 threat: 4.Bh3-g2 # 1...Bg3-d6 2.g2-g3 threat: 3.Bh3-g2 # 2...Sg6-f4 3.g3*f4 threat: 4.Bh3-g2 # 3.Rf8*f4 threat: 4.Bh3-g2 # 2...Sg6-h4 3.g3*h4 threat: 4.Bh3-g2 # 1...Bg3-e5 2.g2-g3 threat: 3.Bh3-g2 # 2...Sg6-f4 3.g3*f4 threat: 4.Bh3-g2 # 3.Rf8*f4 threat: 4.Bh3-g2 # 2...Sg6-h4 3.g3*h4 threat: 4.Bh3-g2 # 1...Bg3-f4 2.g2-g4 threat: 3.Bh3-g2 # 2...Sg6-h4 3.Rf8*f4 zugzwang. 3...Sh4-f3 4.Bh3-g2 # 3...Sh4-g2 4.Bh3*g2 # 3...Sh4-g6 4.Bh3-g2 # 3...Sh4-f5 4.Bh3-g2 # 2.g2-g3 threat: 3.Bh3-g2 # 2...Sg6-h4 3.g3*h4 threat: 4.Bh3-g2 # 3.g3*f4 zugzwang. 3...Sh4-f3 4.Bh3-g2 # 3...Sh4-g2 4.Bh3*g2 # 3...Sh4-g6 4.Bh3-g2 # 3...Sh4-f5 4.Bh3-g2 # 3.Rf8*f4 zugzwang. 3...Sh4-f3 4.Bh3-g2 # 3...Sh4-g2 4.Bh3*g2 # 3...Sh4-g6 4.Bh3-g2 # 3...Sh4-f5 4.Bh3-g2 # 1...Sg6-e5 2.Kf1-e2 threat: 3.Rf8-f1 # 2...Bg3-f2 3.Rf8*f2 threat: 4.Rf2-f1 # 3...Se5-f3 4.Rf2*f3 threat: 5.Rf3-f1 # 4.g2*f3 threat: 5.Rf2-f1 # 2...Bg3-f4 3.Rf8*f4 threat: 4.Rf4-f1 # 3...Se5-f3 4.Rf4*f3 threat: 5.Rf3-f1 # 2...Se5-f3 3.Rf8*f3 threat: 4.Rf3-f1 # 3...Bg3-f2 4.Rf3*f2 threat: 5.Rf2-f1 # 2...Se5-f7 3.Rf8*f7 threat: 4.Rf7-f1 # 3...Bg3-f2 4.Rf7*f2 threat: 5.Rf2-f1 # 3...Bg3-f4 4.Rf7*f4 threat: 5.Rf4-f1 # 1...Sg6-f4 2.Rf8*f4 zugzwang. 2...Bg3-e1 3.Kf1*e1 threat: 4.Rf4-f1 # 3.g2-g4 threat: 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 2...Bg3-f2 3.g2-g4 threat: 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 2...Bg3-h4 3.g2-g4 threat: 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 2...Bg3*f4 3.g2-g4 threat: 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 1...Sg6-h4 2.Kf1-e2 threat: 3.Rf8-f1 # 2...Bg3-f2 3.Rf8*f2 threat: 4.Rf2-f1 # 3...Sh4-f3 4.Rf2*f3 threat: 5.Rf3-f1 # 4.g2*f3 threat: 5.Rf2-f1 # 2...Bg3-f4 3.Rf8*f4 threat: 4.Rf4-f1 # 3...Sh4-f3 4.Rf4*f3 threat: 5.Rf3-f1 # 2...Sh4-f3 3.Rf8*f3 threat: 4.Rf3-f1 # 3...Bg3-f2 4.Rf3*f2 threat: 5.Rf2-f1 # 2...Sh4-f5 3.Rf8*f5 threat: 4.Rf5-f1 # 3...Bg3-f2 4.Rf5*f2 threat: 5.Rf2-f1 # 3...Bg3-f4 4.Rf5*f4 threat: 5.Rf4-f1 # 2.Rf8-g8 zugzwang. 2...Bg3-e1 3.g2-g3 threat: 4.g3*h4 threat: 5.Bh3-g2 # 3...Be1*g3 4.Rg8*g3 zugzwang. 4...Sh4-f3 5.Bh3-g2 # 4...Sh4-g2 5.Bh3*g2 # 4...Sh4-g6 5.Bh3-g2 # 4...Sh4-f5 5.Bh3-g2 # 2...Bg3-f2 3.g2-g3 threat: 4.Kf1*f2 zugzwang. 4...Sh4-f3 5.Bh3-g2 # 4...Sh4-g2 5.Bh3*g2 # 4...Sh4-g6 5.Bh3-g2 # 4...Sh4-f5 5.Bh3-g2 # 4.g3*h4 threat: 5.Bh3-g2 # 3...Bf2-e1 4.g3*h4 threat: 5.Bh3-g2 # 3...Bf2-g1 4.g3*h4 threat: 5.Bh3-g2 # 3...Bf2*g3 4.Rg8*g3 zugzwang. 4...Sh4-f3 5.Bh3-g2 # 4...Sh4-g2 5.Bh3*g2 # 4...Sh4-g6 5.Bh3-g2 # 4...Sh4-f5 5.Bh3-g2 # 3...Bf2-a7 4.g3*h4 threat: 5.Bh3-g2 # 3...Bf2-b6 4.g3*h4 threat: 5.Bh3-g2 # 3...Bf2-c5 4.g3*h4 threat: 5.Bh3-g2 # 3...Bf2-d4 4.g3*h4 threat: 5.Bh3-g2 # 3...Bf2-e3 4.g3*h4 threat: 5.Bh3-g2 # 2...Bg3-b8 3.g2-g3 threat: 4.g3*h4 threat: 5.Bh3-g2 # 4.Rg8*b8 zugzwang. 4...Sh4-f3 5.Bh3-g2 # 4...Sh4-g2 5.Bh3*g2 # 4...Sh4-g6 5.Bh3-g2 # 4...Sh4-f5 5.Bh3-g2 # 3...Bb8-a7 4.g3*h4 threat: 5.Bh3-g2 # 3...Bb8*g3 4.Rg8*g3 zugzwang. 4...Sh4-f3 5.Bh3-g2 # 4...Sh4-g2 5.Bh3*g2 # 4...Sh4-g6 5.Bh3-g2 # 4...Sh4-f5 5.Bh3-g2 # 3...Bb8-f4 4.g3*h4 threat: 5.Bh3-g2 # 4.g3*f4 zugzwang. 4...Sh4-f3 5.Bh3-g2 # 4...Sh4-g2 5.Bh3*g2 # 4...Sh4-g6 5.Bh3-g2 # 4...Sh4-f5 5.Bh3-g2 # 3...Bb8-e5 4.g3*h4 threat: 5.Bh3-g2 # 3...Bb8-d6 4.g3*h4 threat: 5.Bh3-g2 # 3...Bb8-c7 4.g3*h4 threat: 5.Bh3-g2 # 2...Bg3-c7 3.g2-g3 threat: 4.g3*h4 threat: 5.Bh3-g2 # 3...Bc7*g3 4.Rg8*g3 zugzwang. 4...Sh4-f3 5.Bh3-g2 # 4...Sh4-g2 5.Bh3*g2 # 4...Sh4-g6 5.Bh3-g2 # 4...Sh4-f5 5.Bh3-g2 # 2...Bg3-d6 3.g2-g3 threat: 4.g3*h4 threat: 5.Bh3-g2 # 3...Bd6*g3 4.Rg8*g3 zugzwang. 4...Sh4-f3 5.Bh3-g2 # 4...Sh4-g2 5.Bh3*g2 # 4...Sh4-g6 5.Bh3-g2 # 4...Sh4-f5 5.Bh3-g2 # 2...Bg3-e5 3.g2-g3 threat: 4.g3*h4 threat: 5.Bh3-g2 # 3...Be5*g3 4.Rg8*g3 zugzwang. 4...Sh4-f3 5.Bh3-g2 # 4...Sh4-g2 5.Bh3*g2 # 4...Sh4-g6 5.Bh3-g2 # 4...Sh4-f5 5.Bh3-g2 # 2...Bg3-f4 3.g2-g3 threat: 4.g3*h4 threat: 5.Bh3-g2 # 4.g3*f4 zugzwang. 4...Sh4-f3 5.Bh3-g2 # 4...Sh4-g2 5.Bh3*g2 # 4...Sh4-g6 5.Bh3-g2 # 4...Sh4-f5 5.Bh3-g2 # 3...Bf4-c1 4.g3*h4 threat: 5.Bh3-g2 # 3...Bf4-d2 4.g3*h4 threat: 5.Bh3-g2 # 3...Bf4-e3 4.g3*h4 threat: 5.Bh3-g2 # 3...Bf4*g3 4.Rg8*g3 zugzwang. 4...Sh4-f3 5.Bh3-g2 # 4...Sh4-g2 5.Bh3*g2 # 4...Sh4-g6 5.Bh3-g2 # 4...Sh4-f5 5.Bh3-g2 # 3...Bf4-h6 4.g3*h4 threat: 5.Bh3-g2 # 3...Bf4-g5 4.g3*h4 threat: 5.Bh3-g2 # 4.Rg8*g5 zugzwang. 4...Sh4-f3 5.Bh3-g2 # 4...Sh4-g2 5.Bh3*g2 # 4...Sh4-g6 5.Bh3-g2 # 4...Sh4-f5 5.Bh3-g2 # 3...Bf4-b8 4.g3*h4 threat: 5.Bh3-g2 # 4.Rg8*b8 zugzwang. 4...Sh4-f3 5.Bh3-g2 # 4...Sh4-g2 5.Bh3*g2 # 4...Sh4-g6 5.Bh3-g2 # 4...Sh4-f5 5.Bh3-g2 # 3...Bf4-c7 4.g3*h4 threat: 5.Bh3-g2 # 3...Bf4-d6 4.g3*h4 threat: 5.Bh3-g2 # 3...Bf4-e5 4.g3*h4 threat: 5.Bh3-g2 # 2...Sh4-f3 3.g2*f3 threat: 4.Bh3-g2 # 2...Sh4*g2 3.Bh3*g2 # 2...Sh4-g6 3.Rg8*g6 zugzwang. 3...Bg3-e1 4.g2-g4 threat: 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 3...Bg3-f2 4.g2-g4 threat: 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 3...Bg3-h4 4.g2-g4 threat: 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 3...Bg3-b8 4.g2-g4 threat: 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 3...Bg3-c7 4.g2-g4 threat: 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 3...Bg3-d6 4.g2-g4 threat: 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 3...Bg3-e5 4.g2-g4 threat: 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 3...Bg3-f4 4.g2-g4 threat: 5.Bh3-g2 # 4.g2-g3 threat: 5.Bh3-g2 # 2...Sh4-f5 3.Bh3*f5 threat: 4.Bf5-e4 zugzwang. 4...Bg3-e1 5.g2-g4 # 5.g2-g3 # 4...Bg3-f2 5.g2-g4 # 5.g2-g3 # 4...Bg3-h4 5.g2-g4 # 5.g2-g3 # 4...Bg3-b8 5.g2-g4 # 5.g2-g3 # 4...Bg3-c7 5.g2-g4 # 5.g2-g3 # 4...Bg3-d6 5.g2-g4 # 5.g2-g3 # 4...Bg3-e5 5.g2-g4 # 5.g2-g3 # 4...Bg3-f4 5.g2-g4 # 5.g2-g3 # 3...Bg3-e1 4.g2-g4 threat: 5.Bf5-e4 # 4.g2-g3 threat: 5.Bf5-e4 # 3...Bg3-f2 4.g2-g4 threat: 5.Bf5-e4 # 4.g2-g3 threat: 5.Bf5-e4 # 3...Bg3-h4 4.g2-g4 threat: 5.Bf5-e4 # 4.g2-g3 threat: 5.Bf5-e4 # 3...Bg3-b8 4.g2-g4 threat: 5.Bf5-e4 # 4.g2-g3 threat: 5.Bf5-e4 # 3...Bg3-c7 4.g2-g4 threat: 5.Bf5-e4 # 4.g2-g3 threat: 5.Bf5-e4 # 3...Bg3-d6 4.g2-g4 threat: 5.Bf5-e4 # 4.g2-g3 threat: 5.Bf5-e4 # 3...Bg3-e5 4.g2-g4 threat: 5.Bf5-e4 # 4.g2-g3 threat: 5.Bf5-e4 # 3...Bg3-f4 4.g2-g4 threat: 5.Bf5-e4 # 4.g2-g3 threat: 5.Bf5-e4 # 1...Sg6-h8 2.Rf8*h8 zugzwang. 2...Bg3-e1 3.g2-g4 threat: 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 2...Bg3-f2 3.g2-g4 threat: 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 2...Bg3-h4 3.g2-g4 threat: 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 2...Bg3-b8 3.g2-g4 threat: 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 2...Bg3-c7 3.g2-g4 threat: 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 2...Bg3-d6 3.g2-g4 threat: 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 2...Bg3-e5 3.g2-g4 threat: 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 2...Bg3-f4 3.g2-g4 threat: 4.Bh3-g2 # 3.g2-g3 threat: 4.Bh3-g2 # 1...Sg6*f8 2.Bh3-f5 zugzwang. 2...Bg3-e1 3.g2-g4 threat: 4.Bf5-e4 # 3.g2-g3 threat: 4.Bf5-e4 # 2...Bg3-f2 3.g2-g4 threat: 4.Bf5-e4 # 3.g2-g3 threat: 4.Bf5-e4 # 2...Bg3-h4 3.g2-g4 threat: 4.Bf5-e4 # 3.g2-g3 threat: 4.Bf5-e4 # 2...Bg3-b8 3.g2-g4 threat: 4.Bf5-e4 # 3.g2-g3 threat: 4.Bf5-e4 # 2...Bg3-c7 3.g2-g4 threat: 4.Bf5-e4 # 3.g2-g3 threat: 4.Bf5-e4 # 2...Bg3-d6 3.g2-g4 threat: 4.Bf5-e4 # 3.g2-g3 threat: 4.Bf5-e4 # 2...Bg3-e5 3.g2-g4 threat: 4.Bf5-e4 # 3.g2-g3 threat: 4.Bf5-e4 # 2...Bg3-f4 3.g2-g4 threat: 4.Bf5-e4 # 3.g2-g3 threat: 4.Bf5-e4 # 2...Sf8-d7 3.Bf5*d7 threat: 4.Bd7-c6 zugzwang. 4...Bg3-e1 5.g2-g4 # 5.g2-g3 # 4...Bg3-f2 5.g2-g4 # 5.g2-g3 # 4...Bg3-h4 5.g2-g4 # 5.g2-g3 # 4...Bg3-b8 5.g2-g4 # 5.g2-g3 # 4...Bg3-c7 5.g2-g4 # 5.g2-g3 # 4...Bg3-d6 5.g2-g4 # 5.g2-g3 # 4...Bg3-e5 5.g2-g4 # 5.g2-g3 # 4...Bg3-f4 5.g2-g4 # 5.g2-g3 # 3...Bg3-e1 4.g2-g4 threat: 5.Bd7-c6 # 4.g2-g3 threat: 5.Bd7-c6 # 3...Bg3-f2 4.g2-g4 threat: 5.Bd7-c6 # 4.g2-g3 threat: 5.Bd7-c6 # 3...Bg3-h4 4.g2-g4 threat: 5.Bd7-c6 # 4.g2-g3 threat: 5.Bd7-c6 # 3...Bg3-b8 4.g2-g4 threat: 5.Bd7-c6 # 4.g2-g3 threat: 5.Bd7-c6 # 3...Bg3-c7 4.g2-g4 threat: 5.Bd7-c6 # 4.g2-g3 threat: 5.Bd7-c6 # 3...Bg3-d6 4.g2-g4 threat: 5.Bd7-c6 # 4.g2-g3 threat: 5.Bd7-c6 # 3...Bg3-e5 4.g2-g4 threat: 5.Bd7-c6 # 4.g2-g3 threat: 5.Bd7-c6 # 3...Bg3-f4 4.g2-g4 threat: 5.Bd7-c6 # 4.g2-g3 threat: 5.Bd7-c6 # 2...Sf8-e6 3.Bf5*e6 threat: 4.Be6-d5 zugzwang. 4...Bg3-e1 5.g2-g4 # 5.g2-g3 # 4...Bg3-f2 5.g2-g4 # 5.g2-g3 # 4...Bg3-h4 5.g2-g4 # 5.g2-g3 # 4...Bg3-b8 5.g2-g4 # 5.g2-g3 # 4...Bg3-c7 5.g2-g4 # 5.g2-g3 # 4...Bg3-d6 5.g2-g4 # 5.g2-g3 # 4...Bg3-e5 5.g2-g4 # 5.g2-g3 # 4...Bg3-f4 5.g2-g4 # 5.g2-g3 # 3...Bg3-e1 4.g2-g4 threat: 5.Be6-d5 # 4.g2-g3 threat: 5.Be6-d5 # 3...Bg3-f2 4.g2-g4 threat: 5.Be6-d5 # 4.g2-g3 threat: 5.Be6-d5 # 3...Bg3-h4 4.g2-g4 threat: 5.Be6-d5 # 4.g2-g3 threat: 5.Be6-d5 # 3...Bg3-b8 4.g2-g4 threat: 5.Be6-d5 # 4.g2-g3 threat: 5.Be6-d5 # 3...Bg3-c7 4.g2-g4 threat: 5.Be6-d5 # 4.g2-g3 threat: 5.Be6-d5 # 3...Bg3-d6 4.g2-g4 threat: 5.Be6-d5 # 4.g2-g3 threat: 5.Be6-d5 # 3...Bg3-e5 4.g2-g4 threat: 5.Be6-d5 # 4.g2-g3 threat: 5.Be6-d5 # 3...Bg3-f4 4.g2-g4 threat: 5.Be6-d5 # 4.g2-g3 threat: 5.Be6-d5 # 2...Sf8-g6 3.Bf5*g6 threat: 4.Bg6-e4 zugzwang. 4...Bg3-e1 5.g2-g4 # 5.g2-g3 # 4...Bg3-f2 5.g2-g4 # 5.g2-g3 # 4...Bg3-h4 5.g2-g4 # 5.g2-g3 # 4...Bg3-b8 5.g2-g4 # 5.g2-g3 # 4...Bg3-c7 5.g2-g4 # 5.g2-g3 # 4...Bg3-d6 5.g2-g4 # 5.g2-g3 # 4...Bg3-e5 5.g2-g4 # 5.g2-g3 # 4...Bg3-f4 5.g2-g4 # 5.g2-g3 # 3...Bg3-e1 4.g2-g4 threat: 5.Bg6-e4 # 4.g2-g3 threat: 5.Bg6-e4 # 3...Bg3-f2 4.g2-g4 threat: 5.Bg6-e4 # 4.g2-g3 threat: 5.Bg6-e4 # 3...Bg3-h4 4.g2-g4 threat: 5.Bg6-e4 # 4.g2-g3 threat: 5.Bg6-e4 # 3...Bg3-b8 4.g2-g4 threat: 5.Bg6-e4 # 4.g2-g3 threat: 5.Bg6-e4 # 3...Bg3-c7 4.g2-g4 threat: 5.Bg6-e4 # 4.g2-g3 threat: 5.Bg6-e4 # 3...Bg3-d6 4.g2-g4 threat: 5.Bg6-e4 # 4.g2-g3 threat: 5.Bg6-e4 # 3...Bg3-e5 4.g2-g4 threat: 5.Bg6-e4 # 4.g2-g3 threat: 5.Bg6-e4 # 3...Bg3-f4 4.g2-g4 threat: 5.Bg6-e4 # 4.g2-g3 threat: 5.Bg6-e4 # 2...Sf8-h7 3.Bf5*h7 threat: 4.Bh7-e4 zugzwang. 4...Bg3-e1 5.g2-g4 # 5.g2-g3 # 4...Bg3-f2 5.g2-g4 # 5.g2-g3 # 4...Bg3-h4 5.g2-g4 # 5.g2-g3 # 4...Bg3-b8 5.g2-g4 # 5.g2-g3 # 4...Bg3-c7 5.g2-g4 # 5.g2-g3 # 4...Bg3-d6 5.g2-g4 # 5.g2-g3 # 4...Bg3-e5 5.g2-g4 # 5.g2-g3 # 4...Bg3-f4 5.g2-g4 # 5.g2-g3 # 3...Bg3-e1 4.g2-g4 threat: 5.Bh7-e4 # 4.g2-g3 threat: 5.Bh7-e4 # 3...Bg3-f2 4.g2-g4 threat: 5.Bh7-e4 # 4.g2-g3 threat: 5.Bh7-e4 # 3...Bg3-h4 4.g2-g4 threat: 5.Bh7-e4 # 4.g2-g3 threat: 5.Bh7-e4 # 3...Bg3-b8 4.g2-g4 threat: 5.Bh7-e4 # 4.g2-g3 threat: 5.Bh7-e4 # 3...Bg3-c7 4.g2-g4 threat: 5.Bh7-e4 # 4.g2-g3 threat: 5.Bh7-e4 # 3...Bg3-d6 4.g2-g4 threat: 5.Bh7-e4 # 4.g2-g3 threat: 5.Bh7-e4 # 3...Bg3-e5 4.g2-g4 threat: 5.Bh7-e4 # 4.g2-g3 threat: 5.Bh7-e4 # 3...Bg3-f4 4.g2-g4 threat: 5.Bh7-e4 # 4.g2-g3 threat: 5.Bh7-e4 # 1...Sg6-e7 2.Kf1-e2 threat: 3.Rf8-f1 # 2...Bg3-f2 3.Rf8*f2 threat: 4.Rf2-f1 # 2...Bg3-f4 3.Rf8*f4 threat: 4.Rf4-f1 # 2...Se7-f5 3.Rf8*f5 threat: 4.Rf5-f1 # 3...Bg3-f2 4.Rf5*f2 threat: 5.Rf2-f1 # 3...Bg3-f4 4.Rf5*f4 threat: 5.Rf4-f1 #" --- authors: - Loyd, Samuel source: The Chess Monthly date: 1858-04 algebraic: white: [Kg3, Sh2, Se4] black: [Kg1, Ph3] stipulation: "#5" solution: | "1.Se4-f6 ! threat: 2.Sf6-e4 zugzwang. 2...Kg1-h1 3.Sh2-f3 threat: 4.Se4-f2 # 2.Sf6-g4 zugzwang. 2...Kg1-h1 3.Sh2-f3 threat: 4.Sg4-f2 # 1...Kg1-h1 2.Kg3-f2 threat: 3.Sh2-f1 zugzwang. 3...h3-h2 4.Sf1-g3 # 2...Kh1*h2 3.Sf6-g4 + 3...Kh2-h1 4.Kf2-f1 zugzwang. 4...h3-h2 5.Sg4-f2 #" --- authors: - Loyd, Samuel source: The Chess Monthly date: 1858-04 algebraic: white: [Kc1, Sh3, Sg3] black: [Ke1, Pf3, Pe4, Pe2] stipulation: "#5" solution: | "1.Sg3-f5 ! zugzwang. 1...f3-f2 2.Sf5-e3 zugzwang. 2...f2-f1=Q 3.Se3-c2 # 2...f2-f1=S 3.Se3-c2 # 3.Se3-g2 # 2...f2-f1=R 3.Se3-g2 # 3.Se3-c2 # 2...f2-f1=B 3.Se3-c2 # 1...Ke1-f1 2.Sf5-e3 + 2...Kf1-e1 3.Kc1-c2 zugzwang. 3...f3-f2 4.Kc2-c1 zugzwang. 4...f2-f1=Q 5.Se3-c2 # 4...f2-f1=S 5.Se3-c2 # 5.Se3-g2 # 4...f2-f1=R 5.Se3-g2 # 5.Se3-c2 # 4...f2-f1=B 5.Se3-c2 # 1...e4-e3 2.Sf5*e3 zugzwang. 2...f3-f2 3.Sh3-f4 threat: 4.Sf4-d3 # 4.Sf4-g2 # 3...f2-f1=Q 4.Sf4-d3 # 3...f2-f1=S 4.Sf4-d3 # 3...f2-f1=R 4.Sf4-d3 # 3...f2-f1=B 4.Sf4-d3 # 2.Sf5-g3 zugzwang. 2...f3-f2 3.Sh3-f4 threat: 4.Sf4-d3 # 4.Sf4-g2 # 3...f2-f1=Q 4.Sf4-d3 # 3...f2-f1=S 4.Sf4-d3 # 3...f2-f1=R 4.Sf4-d3 # 3...f2-f1=B 4.Sf4-d3 #" --- authors: - Loyd, Samuel source: The Chess Monthly date: 1859-04 algebraic: white: [Kc1, Rf1, Ra2] black: [Kh1, Bg1, Ph2, Pa5] stipulation: "#5" solution: | "1.Ra2-f2 ! zugzwang. 1...a5-a4 2.Kc1-d2 zugzwang. 2...a4-a3 3.Rf1-a1 zugzwang. 3...a3-a2 4.Kd2-e1 zugzwang. 4...Bg1*f2 + 5.Ke1*f2 #" comments: - Check also 74057 --- authors: - Loyd, Samuel source: Lynn News source-id: 58 date: 1859 algebraic: white: [Kf7, Rc8, Be5, Pg4, Pf3, Pf2] black: [Kd5] stipulation: "#5" solution: | "1.Rc8-c3 ! zugzwang. 1...Kd5*e5 2.Rc3-d3 zugzwang. 2...Ke5-f4 3.Rd3-e3 zugzwang. 3...Kf4-g5 4.Re3-e5 + 4...Kg5-h4 5.Re5-h5 # 4...Kg5-h6 5.Re5-h5 # 4...Kg5-f4 5.Re5-f5 #" --- authors: - Loyd, Samuel source: Chess Monthly date: 1860-02 algebraic: white: [Ka3, Bh2, Sa2] black: [Ka1] stipulation: "#5" solution: | "1.Ka3-b3 ! threat: 2.Bh2-d6 threat: 3.Bd6-a3 threat: 4.Ba3-b2 + 4...Ka1-b1 5.Sa2-c3 # 3...Ka1-b1 4.Sa2-c3 + 4...Kb1-a1 5.Ba3-b2 # 2.Bh2-f4 zugzwang. 2...Ka1-b1 3.Bf4-c1 zugzwang. 3...Kb1-a1 4.Bc1-b2 + 4...Ka1-b1 5.Sa2-c3 # 1...Ka1-b1 2.Bh2-d6 threat: 3.Bd6-a3 threat: 4.Sa2-c3 + 4...Kb1-a1 5.Ba3-b2 # 3...Kb1-a1 4.Ba3-b2 + 4...Ka1-b1 5.Sa2-c3 # 1.Bh2-d6 ! threat: 2.Ka3-b3 threat: 3.Bd6-a3 threat: 4.Ba3-b2 + 4...Ka1-b1 5.Sa2-c3 # 3...Ka1-b1 4.Sa2-c3 + 4...Kb1-a1 5.Ba3-b2 #" keywords: - Cooked --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 5-moves / 153 date: 1868 algebraic: white: [Ke7, Rh3, Bd4, Pg4] black: [Kg7, Rf6, Bg8, Pf7] stipulation: "#5" solution: | "1.Rh3-h6 ! threat: 2.g4-g5 threat: 3.Bd4*f6 # 2...Bg8-h7 3.Bd4*f6 + 3...Kg7-g8 4.Rh6-h1 zugzwang. 4...Bh7-b1 5.Rh1-h8 # 4...Bh7-c2 5.Rh1-h8 # 4...Bh7-d3 5.Rh1-h8 # 4...Bh7-e4 5.Rh1-h8 # 4...Bh7-f5 5.Rh1-h8 # 4...Bh7-g6 5.Rh1-h8 # 4.Rh6-h2 zugzwang. 4...Bh7-b1 5.Rh2-h8 # 4...Bh7-c2 5.Rh2-h8 # 4...Bh7-d3 5.Rh2-h8 # 4...Bh7-e4 5.Rh2-h8 # 4...Bh7-f5 5.Rh2-h8 # 4...Bh7-g6 5.Rh2-h8 # 4.Rh6-h3 zugzwang. 4...Bh7-b1 5.Rh3-h8 # 4...Bh7-c2 5.Rh3-h8 # 4...Bh7-d3 5.Rh3-h8 # 4...Bh7-e4 5.Rh3-h8 # 4...Bh7-f5 5.Rh3-h8 # 4...Bh7-g6 5.Rh3-h8 # 4.Rh6-h4 zugzwang. 4...Bh7-b1 5.Rh4-h8 # 4...Bh7-c2 5.Rh4-h8 # 4...Bh7-d3 5.Rh4-h8 # 4...Bh7-e4 5.Rh4-h8 # 4...Bh7-f5 5.Rh4-h8 # 4...Bh7-g6 5.Rh4-h8 # 4.Rh6-h5 zugzwang. 4...Bh7-b1 5.Rh5-h8 # 4...Bh7-c2 5.Rh5-h8 # 4...Bh7-d3 5.Rh5-h8 # 4...Bh7-e4 5.Rh5-h8 # 4...Bh7-f5 5.Rh5-h8 # 4...Bh7-g6 5.Rh5-h8 # 4.Ke7-e8 zugzwang. 4...Bh7-b1 5.Rh6-h8 # 4...Bh7-c2 5.Rh6-h8 # 4...Bh7-d3 5.Rh6-h8 # 4...Bh7-e4 5.Rh6-h8 # 4...Bh7-f5 5.Rh6-h8 # 4...Bh7-g6 5.Rh6-h8 # 1...Kg7*h6 2.Ke7*f6 zugzwang. 2...Kh6-h7 3.g4-g5 zugzwang. 3...Kh7-h8 4.g5-g6 zugzwang. 4...f7*g6 5.Kf6*g6 # 4...Bg8-h7 5.Kf6*f7 # 2...Bg8-h7 3.Bd4-e3 #" --- authors: - Loyd, Samuel source: Seaforth Expositor source-id: 22 date: 1868-05 algebraic: white: [Ka4, Qh7, Rh4, Ba2, Sg4, Sb3, Pe2] black: [Kc4, Rh8, Rd2, Bg8, Se8, Pf4, Pe6, Pd4, Pc3, Pc2] stipulation: "#2" solution: | "1...f3 2.Ne3# 1...d3 2.Ne3#/Qe4# 1.Rh5?? (2.Rc5#/Nc1#/Nc5#/Nxd2#/Na1#/Na5#) 1...c1Q/c1R/c1B/c1N 2.Nxd2#/Na5#/Rc5# 1...d3 2.Rc5#/Qe4# but 1...e5! 1.Qd7?? (2.Ne5#/Qc6#/Qb5#) 1...Rxe2 2.Qxd4#/Qb5# 1...Nd6 2.Qc6# 1...Nc7 2.Ne5#/Qc6# but 1...Rh5! 1.Qc7+?? 1...Kd5 2.Nc5#/Nxd2# but 1...Nxc7! 1.Qb7?? (2.Ne5#/Qb5#/Qc6#) 1...Nd6/Nc7 2.Ne5#/Qc6# 1...Rxe2 2.Qb5# but 1...Rh5! 1.Qa7?? (2.Qc5#/Nc1#/Nc5#/Nxd2#/Nxd4#/Na1#/Na5#) 1...c1Q/c1R/c1B/c1N 2.Qc5#/Nxd2#/Na5# 1...Rh5 2.Nc1#/Nc5#/Nxd2#/Nxd4#/Na1#/Na5# 1...Rxe2 2.Qxd4#/Nc1#/Nc5# 1...d3 2.Ne3#/Qc5#/Qd4#/Nc1#/Nxd2#/Nd4#/Na1#/Na5# but 1...Kd5! 1.Qe4?? (2.Ne5#/Qc6#) 1...Rxe2 2.Qxd4#/Ne5# but 1...Rh5! 1.e4! (2.Ne5#) 1...Kd3 2.Nc1# 1...fxe3 e.p./dxe3 e.p. 2.Nxe3#" keywords: - Flight giving and taking key --- authors: - Loyd, Samuel source: Saturday Courier date: 1856 algebraic: white: [Kd4, Rh3, Bh1, Bc1, Sf6, Sf4, Pb2] black: [Kf3, Rg2, Bh2, Bf1, Sg3, Sa1, Ph4, Pf2, Pc2, Pb3] stipulation: "#14" solution: | "1.Kc5,Bg1 2.Kb6 ,Bh2 3.Ka7,Bg1 4.Ka8 ,Bh2 5.Kb8,Bg1 6.Kc7 ,Bh2 7.Kd8,Bg1 8.ke7 ,Bh2 9,Kf8,Bg1 10.Kg7 ,Bh2 11.Kh6,Bg1 12.Kg5 ,Bh2 13.Kxh4,Bg1 14..Rxg3#" --- authors: - Loyd, Samuel source: American Chess Journal source-id: 315 date: 1879-06 algebraic: white: [Kh4, Qe4, Sd1] black: [Kh1, Qg1, Rh2, Ra3, Bf1, Ba1, Ph7, Ph3, Pg2, Pf7, Pf2, Pb3, Pb2, Pa4] stipulation: "#50" solution: 1.Qe4-b1! comments: - Dedicated to Charles A. Gilberg --- authors: - Loyd, Samuel source: date: 1878 algebraic: white: [Kf2, Qg6, Bg4, Sd8] black: [Kc7, Pd7] stipulation: "#4" solution: | "1.Bg4-e2 ! zugzwang. 1...d7-d6 2.Qg6-f7 + 2...Kc7-c8 3.Sd8-c6 threat: 4.Be2-g4 # 4.Be2-a6 # 3.Be2-g4 + 3...Kc8*d8 4.Qf7-d7 # 3...Kc8-b8 4.Qf7-b7 # 2...Kc7-b8 3.Qf7-b7 # 2...Kc7*d8 3.Be2-g4 threat: 4.Qf7-d7 # 2...Kc7-b6 3.Qf7-b7 + 3...Kb6-c5 4.Sd8-e6 # 3...Kb6-a5 4.Qb7-b5 # 1...Kc7-c8 2.Qg6-b6 threat: 3.Be2-a6 # 2...d7-d5 3.Be2-g4 # 2...d7-d6 3.Be2-g4 # 1...Kc7-b8 2.Qg6-b6 + 2...Kb8-c8 3.Be2-a6 # 2...Kb8-a8 3.Qb6-b7 # 1...Kc7*d8 2.Qg6-d6 zugzwang. 2...Kd8-e8 3.Qd6-f6 threat: 4.Be2-h5 # 3...d7-d5 4.Be2-b5 # 3...d7-d6 4.Be2-b5 # 2...Kd8-c8 3.Qd6-b6 threat: 4.Be2-a6 # 3...d7-d5 4.Be2-g4 # 3...d7-d6 4.Be2-g4 # 1...d7-d5 2.Qg6-c6 + 2...Kc7-b8 3.Qc6-b7 # 2...Kc7*d8 3.Qc6-d6 + 3...Kd8-e8 4.Be2-h5 # 3...Kd8-c8 4.Be2-a6 # 2.Be2-g4 threat: 3.Qg6-c6 + 3...Kc7-b8 4.Qc6-b7 # 3...Kc7*d8 4.Qc6-d7 # 2...Kc7*d8 3.Qg6-f7 threat: 4.Qf7-d7 # 3.Qg6-d6 + 3...Kd8-e8 4.Bg4-h5 # 2.Be2-b5 threat: 3.Qg6-c6 + 3...Kc7-b8 4.Qc6-b7 # 3...Kc7*d8 4.Qc6-d7 # 2...Kc7*d8 3.Qg6-d6 + 3...Kd8-c8 4.Bb5-a6 #" --- authors: - Loyd, Samuel source: Chess Monthly date: 1860 algebraic: white: [Kb3, Bh2, Sa2] black: [Kb1] stipulation: "#4" solution: | "1.Bh2-d6 ! threat: 2.Bd6-a3 threat: 3.Sa2-c3 + 3...Kb1-a1 4.Ba3-b2 # 2...Kb1-a1 3.Ba3-b2 + 3...Ka1-b1 4.Sa2-c3 #" --- authors: - Loyd, Samuel source: The Musical World source-id: 9 date: 1859-04 algebraic: white: [Kb6, Rc4, Sb5, Pb7] black: [Kb8, Rc3] stipulation: "#8" solution: | "1.Rc4-c8 + ! 1...Rc3*c8 2.Sb5-d4 threat: 3.Sd4-c6 + 3...Rc8*c6 + 4.Kb6*c6 zugzwang. 4...Kb8-a7 5.Kc6-c7 threat: 6.b7-b8=Q + 6...Ka7-a6 7.Qb8-b6 # 5...Ka7-a6 6.b7-b8=Q threat: 7.Qb8-b6 # 6...Ka6-a5 7.Qb8-b3 zugzwang. 7...Ka5-a6 8.Qb3-a4 # 8.Qb3-b6 # 2.Sb5-a7 threat: 3.b7*c8=Q # 3.b7*c8=R # 2...Rc8-c1 3.Sa7-c6 + 3...Rc1*c6 + 4.Kb6*c6 zugzwang. 4...Kb8-a7 5.Kc6-c7 threat: 6.b7-b8=Q + 6...Ka7-a6 7.Qb8-b6 # 5...Ka7-a6 6.b7-b8=Q threat: 7.Qb8-b6 # 6...Ka6-a5 7.Qb8-b3 zugzwang. 7...Ka5-a6 8.Qb3-a4 # 8.Qb3-b6 # 2...Rc8-c2 3.Sa7-c6 + 3...Rc2*c6 + 4.Kb6*c6 zugzwang. 4...Kb8-a7 5.Kc6-c7 threat: 6.b7-b8=Q + 6...Ka7-a6 7.Qb8-b6 # 5...Ka7-a6 6.b7-b8=Q threat: 7.Qb8-b6 # 6...Ka6-a5 7.Qb8-b3 zugzwang. 7...Ka5-a6 8.Qb3-a4 # 8.Qb3-b6 # 2...Rc8-c3 3.Sa7-c6 + 3...Rc3*c6 + 4.Kb6*c6 zugzwang. 4...Kb8-a7 5.Kc6-c7 threat: 6.b7-b8=Q + 6...Ka7-a6 7.Qb8-b6 # 5...Ka7-a6 6.b7-b8=Q threat: 7.Qb8-b6 # 6...Ka6-a5 7.Qb8-b3 zugzwang. 7...Ka5-a6 8.Qb3-a4 # 8.Qb3-b6 # 2...Rc8-c4 3.Sa7-c6 + 3...Rc4*c6 + 4.Kb6*c6 zugzwang. 4...Kb8-a7 5.Kc6-c7 threat: 6.b7-b8=Q + 6...Ka7-a6 7.Qb8-b6 # 5...Ka7-a6 6.b7-b8=Q threat: 7.Qb8-b6 # 6...Ka6-a5 7.Qb8-b3 zugzwang. 7...Ka5-a6 8.Qb3-a4 # 8.Qb3-b6 # 2...Rc8-c5 3.Sa7-c6 + 3...Rc5*c6 + 4.Kb6*c6 zugzwang. 4...Kb8-a7 5.Kc6-c7 threat: 6.b7-b8=Q + 6...Ka7-a6 7.Qb8-b6 # 5...Ka7-a6 6.b7-b8=Q threat: 7.Qb8-b6 # 6...Ka6-a5 7.Qb8-b3 zugzwang. 7...Ka5-a6 8.Qb3-a4 # 8.Qb3-b6 # 2...Rc8-c6 + 3.Sa7*c6 # 2...Rc8-c7 3.Sa7-c6 + 3...Rc7*c6 + 4.Kb6*c6 zugzwang. 4...Kb8-a7 5.Kc6-c7 threat: 6.b7-b8=Q + 6...Ka7-a6 7.Qb8-b6 # 5...Ka7-a6 6.b7-b8=Q threat: 7.Qb8-b6 # 6...Ka6-a5 7.Qb8-b3 zugzwang. 7...Ka5-a6 8.Qb3-a4 # 8.Qb3-b6 # 2...Rc8-h8 3.Sa7-c6 # 2...Rc8-g8 3.Sa7-c6 # 2...Rc8-f8 3.Sa7-c6 # 2...Rc8-e8 3.Sa7-c6 # 2...Rc8-d8 3.Sa7-c6 #" --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper date: 1857 algebraic: white: [Kf4, Rc6, Be1, Bd1] black: [Kd3, Pd6] stipulation: "#4" solution: | "1.Be1-c3 ! zugzwang. 1...d6-d5 2.Kf4-f3 zugzwang. 2...d5-d4 3.Bd1-b3 zugzwang. 3...d4*c3 4.Rc6-d6 #" --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper source-id: 48v date: 1856-11-08 algebraic: white: [Kd2, Bd6, Se3, Sc3] black: [Kd4, Pd3] stipulation: "#5" solution: | "1.Sc3-b5 + ! 1...Kd4-e4 2.Bd6-h2 zugzwang. 2...Ke4-f3 3.Kd2*d3 zugzwang. 3...Kf3-f2 4.Sb5-d4 zugzwang. 4...Kf2-e1 5.Bh2-g3 #" comments: - The original was published without black pawn. Loyd did tolerate the dual in this case. --- authors: - Loyd, Samuel source: New York Clipper source-id: v 7 date: 1856-05 algebraic: white: [Kc4, Qe1, Se4] black: [Kf4, Pf6, Pe5] stipulation: "#4" solution: | "1.Qe1-g1 ! zugzwang. 1...f6-f5 2.Qg1-f2 + 2...Kf4-g4 3.Qf2-g3 + 3...Kg4-h5 4.Qg3-g5 # 2...Kf4*e4 3.Qf2-g3 zugzwang. 3...f5-f4 4.Qg3-d3 # 1...Kf4-f5 2.Kc4-d5 zugzwang. 2...Kf5-f4 3.Qg1-g3 + 3...Kf4-f5 4.Se4-d6 # 1...Kf4*e4 2.Qg1-f2 zugzwang. 2...f6-f5 3.Qf2-g3 zugzwang. 3...f5-f4 4.Qg3-d3 # 1...Kf4-f3 2.Kc4-d3 threat: 3.Qg1-g3 # 2...Kf3-f4 3.Qg1-g6 zugzwang. 3...Kf4-f3 4.Qg6-g3 # 3...f6-f5 4.Qg6-g3 #" --- authors: - Loyd, Samuel source: The New York Albion source-id: 473 date: 1858-01-23 algebraic: white: [Kf5, Rg7, Pg2] black: [Kh5, Bf2, Ph6, Pg3] stipulation: "#5" solution: | "1.Rg7-b7 ! threat: 2.Rb7-b1 threat: 3.Rb1-h1 # 2...Bf2-e1 3.Rb1*e1 threat: 4.Re1-h1 # 2...Bf2-g1 3.Rb1*g1 threat: 4.Rg1-h1 # 1...Bf2-g1 2.Rb7-b1 threat: 3.Rb1*g1 threat: 4.Rg1-h1 # 2...Bg1-h2 3.Rb1-e1 zugzwang. 3...Bh2-g1 4.Re1*g1 threat: 5.Rg1-h1 # 3...Kh5-h4 4.Kf5-g6 threat: 5.Re1-e4 # 1...Bf2-c5 2.Rb7-b1 threat: 3.Rb1-h1 # 2...Bc5-g1 3.Rb1*g1 threat: 4.Rg1-h1 # 2...Bc5-e7 3.Rb1-h1 + 3...Be7-h4 4.Rh1-h2 zugzwang. 4...g3*h2 5.g2-g4 # 1...Bf2-d4 2.Rb7-b1 threat: 3.Rb1-h1 # 2...Bd4-g1 3.Rb1*g1 threat: 4.Rg1-h1 # 2...Bd4-f6 3.Rb1-h1 + 3...Bf6-h4 4.Rh1-h2 zugzwang. 4...g3*h2 5.g2-g4 # 1...Bf2-e3 2.Rb7-b1 threat: 3.Rb1-h1 # 2...Be3-c1 3.Rb1*c1 threat: 4.Rc1-h1 # 2...Be3-g1 3.Rb1*g1 threat: 4.Rg1-h1 # 2...Be3-g5 3.Rb1-h1 + 3...Bg5-h4 4.Rh1-h2 zugzwang. 4...g3*h2 5.g2-g4 #" comments: - Check also 47427, 103016, 336194 --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 2-moves / 271 date: 1868 algebraic: white: [Kh8, Qd2, Rh4, Rf6] black: [Kh6, Qg6, Bg5, Ph5] stipulation: "#2" solution: | "1.Rh4-f4 ! zugzwang. 1...h5-h4 2.Rf4*h4 # 1...Bg5-h4 2.Rf4*h4 # 1...Bg5*f4 2.Qd2*f4 # 1...Bg5*f6 + 2.Rf4*f6 # 1...Qg6*f6 + 2.Rf4*f6 #" keywords: - Active sacrifice - Model mates - Switchback comments: - Version of 37036 - also in The New York Turf, Field and Farm (no. 173), 21 January 1870 - also in The Philadelphia Times (no. 1493), 2 June 1895 --- authors: - Loyd, Samuel source: Charleston Courier date: 1859 algebraic: white: [Kh3, Qe7, Ra1, Sh2, Pc7, Pc2] black: [Kf2, Qa7, Be1, Pf3, Pe2, Pa4, Pa3, Pa2] stipulation: "#2" solution: | "1...Qa6/Qa8/Qb7/Qc5/Qb8 2.Qc5# 1...Bd2/Bc3/Bb4/Ba5 2.Ng4# 1.Ng4+?? 1...Kg1 2.Rxe1# but 1...Kf1! 1.Qh4+?? 1...Kg1 2.Rxe1#/Qxe1# but 1...Ke3! 1.Qb4! zz 1...Kg1/Qe3 2.Qxe1# 1...Ke3/Bd2/Bc3/Bxb4 2.Ng4# 1...Qa6/Qb7/Qb8 2.Qd4#/Qc5# 1...Qa5/Qxc7/Qd4 2.Qd4# 1...Qa8 2.Qb6#/Qd4#/Qc5# 1...Qb6 2.Qxb6# 1...Qc5 2.Qxc5#" keywords: - Flight giving key - Black correction --- authors: - Loyd, Samuel source: algebraic: white: [Kf1, Qa1, Rd6, Rb2, Pg4, Pg3, Pf5, Pb7] black: [Kh1, Qb8, Pe6, Pd7] stipulation: "#2" solution: | "1...Qa8 2.bxa8Q#/bxa8B# 1...exf5/e5 2.Rh6# 1.Qa2?? (2.Rh2#) but 1...Qh8! 1.Qa3?? (2.Qf3#) but 1...Qxb7! 1.Qa4?? (2.Qe4#) 1...exf5 2.Rh6# but 1...Qxb7! 1.Qa7?? (2.Qg1#) but 1...Qxa7! 1.Qb1?? (2.Qe4#) 1...exf5 2.Rh6# but 1...Qxb7! 1.Qd1?? (2.Qf3#) but 1...Qxb7! 1.Qe1?? (2.Qe4#) 1...exf5 2.Rh6# but 1...Qxb7! 1.Rf2?? (2.Ke2#) 1...Qxb7/Qh8/Qc7/Qxd6/Qa7 2.Qh8# 1...Qa8 2.bxa8Q#/bxa8B# but 1...Qc8! 1.Qa8! zz 1...exf5/e5 2.Rh6# 1...Qxb7 2.Qh8#/Qxb7# 1...Qxa8 2.bxa8Q#/bxa8B# 1...Qc8 2.bxc8Q#/bxc8R#/bxc8B#/bxc8N# 1...Qd8/Qe8/Qf8/Qg8 2.b8Q#/b8R#/b8B#/b8N# 1...Qh8 2.Qxh8#/b8Q#/b8R#/b8B#/b8N# 1...Qc7/Qxd6/Qa7 2.Qh8#" --- authors: - Loyd, Samuel source: Berliner Schachzeitung date: 1857 algebraic: white: [Kc8, Qg8, Bg3, Sg6, Sf3, Pe7] black: [Kf6, Rh7, Bh8] stipulation: "#2" solution: | "1.Nf4! zz 1...Kf5 2.Qg6#/Qe6# 1...Kxe7 2.Nd5# 1...Rh6/Rh5/Rh4/Rh3/Rh2/Rh1 2.Qf8# 1...Rg7/Bg7 2.Qe6# 1...Rf7 2.Qg5# 1...Rxe7 2.Qg6#" keywords: - Flight giving key - Black correction --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 2-moves / 299 date: 1868 algebraic: white: [Kh8, Qa7, Re4, Ba4, Sh4, Pc3] black: [Kd5, Rd3, Pd6, Pc6] stipulation: "#2" solution: | "1...Rd4/Rxc3/Re3/Rf3/Rg3/Rh3 2.Qxd4# 1...c5 2.Qa8#/Qb7# 1.Qa5+?? 1...c5 2.Qa8# but 1...Kxe4! 1.Qd7?? (2.Qf5#/Qxc6#) 1...Kc5/Rd4/Rf3 2.Qxc6# 1...Rxc3 2.Qf5# but 1...Kxe4! 1.Qb6?? (2.Bxc6#/Qxc6#) 1...Rd4 2.Qxc6#/Qxd4# 1...Rxc3 2.Qd4# but 1...Kxe4! 1.Qe3?? (2.Bb3#/c4#) 1...c5 2.Qxd3#/c4# 1...Rd4/Rxc3 2.Qxd4# but 1...Rxe3! 1.Qf2?? (2.Qf5#) 1...Rd4/Rf3 2.Qxd4# but 1...Kxe4! 1.Bc2! zz 1...Kxe4/Rd4/Rxc3 2.Qd4# 1...Rd2/Rd1 2.c4# 1...Re3/Rf3/Rg3/Rh3 2.Qd4#/c4# 1...c5 2.Qa8#/Qb7#" --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 2-moves / 312 date: 1868 algebraic: white: [Kf8, Qg2, Rh6, Bc7, Sf6, Pe2, Pd7] black: [Ke6, Rd4, Sg7] stipulation: "#2" solution: | "1...Rd3/Rd2/Rd1/Rd6/Rxd7/Re4 2.Qe4# 1...Rd5/Rc4/Rb4/Ra4/Rf4/Rg4/Rh4 2.Qxd5# 1...Nf5 2.Qg8# 1.d8N+?? 1...Kf5 2.Qg6# but 1...Rxd8+! 1.Qg4+?? 1...Nf5 2.Qg8# but 1...Rxg4! 1.Qg5?? (2.Qe5#) 1...Nf5 2.Qg8# 1...Rd5 2.Qxd5# 1...Re4 2.Qd5#/d8N# but 1...Rd6! 1.Qc6+?? 1...Rd6 2.Qe4# but 1...Kf5! 1.Ng4+?? 1...Kf5 2.Ne3# but 1...Kxd7! 1.Ng8+?? 1...Kf5 2.Qg6#/Rf6#/Ne7# but 1...Kxd7! 1.Nh5+?? 1...Kf5 2.Nxg7#/Qg6#/Rf6# but 1...Kxd7! 1.Nh7+?? 1...Kf5 2.Qg6#/Rf6# but 1...Kxd7! 1.Ne8+?? 1...Kf5 2.Qg6#/Nxg7#/Rf6# but 1...Kxd7! 1.Nd5+?? 1...Kf5 2.Qg6#/Rf6#/Ne3#/Ne7# but 1...Kxd7! 1.Bf4! zz 1...Kf5 2.Qg4# 1...Nh5/Ne8 2.Qg4#/Qh3# 1...Nf5 2.Qg8# 1...Rd3/Rd2/Rd1/Rd6/Rxd7/Re4 2.Qe4# 1...Rd5/Rc4/Rb4/Ra4/Rxf4 2.Qxd5#" keywords: - Black correction --- authors: - Loyd, Samuel source: The Boston Globe, Centennial Tourney source-id: 72 date: 1876-12-06 distinction: 1st Prize algebraic: white: [Kc2, Qh8, Bb3, Sg1, Pf2, Pe6, Pd5, Pb2] black: [Kg4, Rb4, Pg6, Pg5, Pf5, Pf3, Pc3] stipulation: "#4" solution: | "1.Kc2-d3 ! threat: 2.Qh8-h3 + 2...Kg4-f4 3.Qh3-g3 # 1...Rb4-d4 + 2.Kd3*c3 zugzwang. 2...Kg4-f4 3.Qh8*d4 # 2...Rd4-d1 3.Bb3*d1 zugzwang. 3...Kg4-f4 4.Qh8-d4 # 3...f5-f4 4.Qh8-h3 # 2...Rd4-d2 3.Kc3*d2 zugzwang. 3...Kg4-f4 4.Qh8-d4 # 3...f5-f4 4.Qh8-h3 # 2...Rd4-d3 + 3.Kc3*d3 zugzwang. 3...Kg4-f4 4.Qh8-d4 # 3...f5-f4 4.Qh8-h3 # 2...Rd4-a4 3.Bb3*a4 zugzwang. 3...Kg4-f4 4.Qh8-d4 # 3...f5-f4 4.Qh8-h3 # 2...Rd4-b4 3.Kc3*b4 zugzwang. 3...Kg4-f4 4.Qh8-d4 # 3...f5-f4 4.Qh8-h3 # 2...Rd4-c4 + 3.Kc3*c4 zugzwang. 3...Kg4-f4 4.Qh8-d4 # 3...f5-f4 4.Qh8-h3 # 3.Bb3*c4 zugzwang. 3...Kg4-f4 4.Qh8-d4 # 3...f5-f4 4.Qh8-h3 # 2...Rd4*d5 3.Bb3*d5 zugzwang. 3...Kg4-f4 4.Qh8-d4 # 3...f5-f4 4.Qh8-h3 # 2...Rd4-f4 3.Qh8-h3 # 2...Rd4-e4 3.Qh8-h3 + 3...Kg4-f4 4.Qh3-g3 # 2...f5-f4 3.Qh8-h3 # 1...Kg4-f4 2.Qh8-h2 + 2...Kf4-g4 3.Qh2-h3 + 3...Kg4-f4 4.Qh3-g3 #" --- authors: - Loyd, Samuel source: Detroit Free Press date: 1877 algebraic: white: [Kf6, Qf1] black: [Kh8, Bh7, Pg6] stipulation: "#2" solution: | "1.Kf7?? (2.Qf6#/Qa1#) but 1...Bg8+! 1.Qh1?? zz 1...Kg8 2.Qa8# but 1...g5! 1.Qh3?? zz 1...Kg8 2.Qc8# but 1...g5! 1.Qa1! (2.Kf7#) 1...Kg8 2.Qa8# 1...Bg8 2.Kxg6#" --- authors: - Loyd, Samuel source: Cleveland Leader, Centennial Tourney source-id: 4 date: 1876-12-21 distinction: 1st Prize algebraic: white: [Kc4, Qa7, Rg4, Rd7, Bh7, Sh6, Se1] black: [Ke5, Qf5, Rf8, Sc2, Sb7, Pf6, Pe7, Pe6] stipulation: "#2" solution: | "1.Kc4-b3 ! zugzwang. 1...Sc2-a1 + 2.Qa7*a1 # 1...Sc2*e1 2.Qa7-d4 # 2.Qa7-a1 # 1...Sc2-e3 2.Qa7-d4 # 2.Qa7-a1 # 1...Sc2-d4 + 2.Qa7*d4 # 1...Sc2-b4 2.Qa7-d4 # 2.Qa7-a1 # 1...Sc2-a3 2.Qa7-d4 # 1...Qf5-d3 + 2.Se1*d3 # 1...Qf5-e4 2.Rg4*e4 # 1...Qf5*g4 2.Se1-d3 # 1...Qf5*h7 2.Se1-f3 # 1...Qf5-g6 2.Se1-f3 # 1...Qf5-f1 2.Rg4-e4 # 1...Qf5-f2 2.Rg4-e4 # 2.Se1-d3 # 1...Qf5-f3 + 2.Se1*f3 # 1...Qf5-f4 2.Se1-d3 # 1...Qf5-h5 2.Rg4-e4 # 2.Se1-f3 # 2.Se1-d3 # 1...Qf5-g5 2.Rg4-e4 # 2.Se1-f3 # 2.Se1-d3 # 1...Sb7-a5 + 2.Qa7*a5 # 1...Sb7-c5 + 2.Qa7*c5 # 1...Sb7-d6 2.Qa7-c5 # 1...Sb7-d8 2.Qa7-c5 # 2.Qa7-b8 # 2.Qa7-a5 # 2.Qa7-c7 # 1...Rf8-f7 2.Sh6*f7 # 1...Rf8-a8 2.Sh6-f7 # 1...Rf8-b8 2.Sh6-f7 # 1...Rf8-c8 2.Sh6-f7 # 1...Rf8-d8 2.Sh6-f7 # 1...Rf8-e8 2.Sh6-f7 # 1...Rf8-h8 2.Sh6-f7 # 1...Rf8-g8 2.Sh6-f7 #" keywords: - Transferred mates comments: - also in The Philadelphia Times (no. 829), 5 August 1888 --- authors: - Loyd, Samuel source: Montreal Gazette date: 1897 algebraic: white: [Kd7, Qh1, Rh2, Pf4] black: [Kc4, Pc5, Pb5] stipulation: "#3" solution: | "1.Rh2-h3 ! threat: 2.Qh1-e4 # 1...Kc4-d4 2.Kd7-d6 threat: 3.Qh1-d5 # 2...Kd4-c4 3.Qh1-e4 # 2.Kd7-e6 threat: 3.Qh1-d5 # 2...Kd4-c4 3.Qh1-e4 # 2.Kd7-c6 threat: 3.Qh1-d5 # 2...Kd4-c4 3.Qh1-e4 # 1...Kc4-b4 2.Qh1-a8 zugzwang. 2...Kb4-c4 3.Qa8-e4 # 2...c5-c4 3.Qa8-a3 # 1...b5-b4 2.Kd7-c6 threat: 3.Qh1-d5 # 3.Qh1-e4 # 2...b4-b3 3.Qh1-e4 # 2...Kc4-d4 3.Qh1-d5 # 2.Qh1-f1 + 2...Kc4-d4 3.Qf1-d3 # 2...Kc4-d5 3.Qf1-d3 #" --- authors: - Loyd, Samuel source: The Chess Monthly date: 1859-04 algebraic: white: [Kc8, Rd6, Ra5] black: [Ka8, Sc5, Pb6, Pa7, Pa6] stipulation: "#3" solution: | "1.Kc8-c7 ! threat: 2.Rd6-d8 # 1...Sc5-e6 + 2.Rd6*e6 threat: 3.Re6-e8 # 1...Sc5-d7 2.Rd6*d7 threat: 3.Rd7-d8 # 1...Sc5-b7 2.Rd6*b6 zugzwang. 2...a7*b6 3.Ra5*a6 # 2...Sb7*a5 3.Rb6-b8 # 2...Sb7-c5 3.Rb6-b8 # 2...Sb7-d6 3.Rb6-b8 # 2...Sb7-d8 3.Rb6-b8 #" comments: - also in The Philadelphia Times (no. 225), 2 April 1882 --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper source-id: 186 date: 1859-03-05 algebraic: white: [Kb7, Qe7, Bb2, Pf4, Pd4, Pa4] black: [Kd5, Pb4] stipulation: "#3" solution: | "1.Qe7-h7 ! zugzwang. 1...Kd5-c4 2.Qh7-c2 + 2...Kc4-d5 3.Qc2-c6 # 1...b4-b3 2.Qh7-f5 + 2...Kd5-d6 3.Bb2-a3 # 2...Kd5-c4 3.Qf5-b5 # 1...Kd5-d6 2.Qh7-f7 zugzwang. 2...b4-b3 3.Bb2-a3 # 1...Kd5-e6 2.Kb7-c6 threat: 3.d4-d5 #" --- authors: - Loyd, Samuel source: Baltimore Dispatch source-id: 52 date: 1859-06 algebraic: white: [Kc5, Qh1, Bf3, Se3, Pg2, Pf4] black: [Kf2, Pf5, Pc6] stipulation: "#3" solution: | "1.Qh1-h8 ! zugzwang. 1...Kf2-g1 2.Se3-d1 zugzwang. 2...Kg1-f1 3.Qh8-h1 # 1...Kf2*e3 2.Qh8-d4 # 1...Kf2-g3 2.Qh8-h4 + 2...Kg3*h4 3.Se3*f5 # 1...Kf2-e1 2.Se3-d1 zugzwang. 2...Ke1-f1 3.Qh8-h1 # 2...Ke1-d2 3.Qh8-c3 #" comments: - also in The Philadelphia Times (no. 1017), 15 June 1890 --- authors: - Loyd, Samuel source: Cleveland Voice source-id: 275 date: 1880-01-04 algebraic: white: [Kg7, Rc8, Bf4, Sa5, Pf3, Pe3] black: [Kd5, Pd7] stipulation: "#3" solution: | "1.Bf4-b8 ! zugzwang. 1...d7-d6 2.Kg7-f7 zugzwang. 2...Kd5-e5 3.Rc8-c5 # 1...Kd5-e6 2.Rc8-e8 + 2...Ke6-f5 3.Re8-e5 # 2...Ke6-d5 3.Re8-e5 #" --- authors: - Loyd, Samuel source: Detroit Free Press source-id: 840 date: 1880-03-06 algebraic: white: [Kf7, Qh2, Rd5, Bg6, Sc1, Pc5, Pb3] black: [Kc3, Sd7, Ph3, Pd3] stipulation: "#3" solution: | "1.Rd5-d4 ! threat: 2.Rd4-c4 # 1...Kc3*d4 2.Sc1*d3 zugzwang. 2...Kd4-d5 3.Qh2-d6 # 2...Kd4-e3 3.Qh2-f2 # 2...Kd4-c3 3.Qh2-b2 # 2...Sd7-b6 3.Qh2-e5 # 2...Sd7*c5 3.Qh2-e5 # 2...Sd7-e5 + 3.Qh2*e5 # 2...Sd7-f6 3.Qh2-e5 # 2...Sd7-f8 3.Qh2-e5 # 2...Sd7-b8 3.Qh2-e5 # 1...d3-d2 2.Qh2*d2 # 1...Sd7-b6 2.Kf7-e6 zugzwang. 2...Kc3*d4 3.Qh2-e5 # 2...d3-d2 3.Qh2*d2 # 2...Sb6-a4 3.Rd4-c4 # 2...Sb6-c4 3.Rd4*c4 # 2...Sb6-d5 3.Rd4-c4 # 2...Sb6-d7 3.Rd4-c4 # 2...Sb6-c8 3.Rd4-c4 # 2...Sb6-a8 3.Rd4-c4 # 2.Rd4-h4 zugzwang. 2...d3-d2 3.Qh2-e5 # 2...Sb6-a4 3.Rh4-c4 # 2...Sb6-c4 3.Rh4*c4 # 2...Sb6-d5 3.Rh4-c4 # 2...Sb6-d7 3.Rh4-c4 # 2...Sb6-c8 3.Rh4-c4 # 2...Sb6-a8 3.Rh4-c4 # 2.Rd4-g4 zugzwang. 2...d3-d2 3.Qh2-e5 # 2...Sb6-a4 3.Rg4-c4 # 2...Sb6-c4 3.Rg4*c4 # 2...Sb6-d5 3.Rg4-c4 # 2...Sb6-d7 3.Rg4-c4 # 2...Sb6-c8 3.Rg4-c4 # 2...Sb6-a8 3.Rg4-c4 # 1...Sd7-e5 + 2.Kf7-e6 zugzwang. 2...Kc3*d4 3.Qh2*e5 # 2...d3-d2 3.Qh2*d2 # 2...Se5-c4 3.Rd4*c4 # 2...Se5-f3 3.Rd4-c4 # 2...Se5-g4 3.Rd4-c4 # 2...Se5*g6 3.Rd4-c4 # 2...Se5-f7 3.Rd4-c4 # 2...Se5-d7 3.Rd4-c4 # 2...Se5-c6 3.Rd4-c4 #" --- authors: - Loyd, Samuel source: New York Sunday Times date: 1886 algebraic: white: [Kc3, Rh6, Rf2, Sg5, Sb7] black: [Ke5, Pe7, Pd7] stipulation: "#3" solution: | "1.Rh6-d6 ! zugzwang. 1...e7-e6 2.Rd6-d4 threat: 3.Sg5-f7 # 1...e7*d6 2.Sb7-d8 zugzwang. 2...Ke5-d5 3.Rf2-f5 # 2...d6-d5 3.Sd8-f7 #" --- authors: - Loyd, Samuel source: New York Chess Association date: 1890-01 algebraic: white: [Kh5, Qg7, Bd4, Sb5, Pc2, Pa3] black: [Kc6, Pb6] stipulation: "#3" solution: | "1.Bd4*b6 ! zugzwang. 1...Kc6*b5 2.Qg7-b7 zugzwang. 2...Kb5-c4 3.Qb7-c6 # 2...Kb5-a4 3.Qb7-a6 # 1...Kc6*b6 2.c2-c4 zugzwang. 2...Kb6-c6 3.Qg7-c7 # 2...Kb6-a6 3.Qg7-a7 # 2...Kb6-c5 3.Qg7-c7 # 2...Kb6-a5 3.Qg7-a7 # 1...Kc6-d5 2.Qg7-f6 zugzwang. 2...Kd5-e4 3.Sb5-c3 # 2...Kd5-c4 3.Qf6-c6 #" comments: - also, with wKh1, in The Philadelphia Times (no. 989), 2 March 1890 --- authors: - Loyd, Samuel source: Brooklyn Eagle date: 1900 algebraic: white: [Ka2, Rc2, Bf5, Be3, Sb6, Sb3] black: [Kb4, Rd6, Sd8, Sb7, Pb5] stipulation: "#3" solution: | "1.Rc2-d2 ! threat: 2.Rd2*d6 threat: 3.Be3-d2 # 1...Rd6-d3 2.Rd2*d3 threat: 3.Be3-d2 # 1...Rd6-d4 2.Rd2*d4 + 2...Kb4-c3 3.Be3-d2 # 3.Sb6-d5 # 1...Rd6-d5 2.Rd2*d5 threat: 3.Be3-d2 # 1...Rd6*b6 2.Rd2-d4 + 2...Kb4-c3 3.Be3-d2 # 1...Rd6-c6 2.Rd2-d4 + 2...Kb4-c3 3.Sb6-d5 # 3.Be3-d2 # 2...Rc6-c4 3.Be3-d2 # 1...Rd6-d7 2.Rd2*d7 threat: 3.Be3-d2 # 1...Rd6-h6 2.Rd2-d4 + 2...Kb4-c3 3.Be3-d2 # 3.Sb6-d5 # 1...Rd6-g6 2.Rd2-d4 + 2...Kb4-c3 3.Be3-d2 # 3.Sb6-d5 # 1...Rd6-f6 2.Rd2-d4 + 2...Kb4-c3 3.Be3-d2 # 3.Sb6-d5 # 1...Rd6-e6 2.Rd2-d4 + 2...Kb4-c3 3.Be3-d2 # 3.Sb6-d5 # 1...Sb7-a5 2.Be3-c5 + 2...Kb4-c3 3.Rd2-c2 # 1...Sb7-c5 2.Be3*c5 + 2...Kb4-c3 3.Rd2-c2 #" --- authors: - Loyd, Samuel source: Saturday Courier source-id: 56v date: 1856-05 algebraic: white: [Kb7, Qc1, Sc6, Pd3] black: [Kd5, Re8, Ra4, Sa8, Pe6, Pe5, Pd6, Pd4] stipulation: "#3" solution: | "1.Qc1-c2 ! zugzwang. 1...Ra4-a7 + 2.Kb7*a7 threat: 3.Sc6-b4 # 3.Qc2-c4 # 2...e5-e4 3.d3*e4 # 3.Qc2-c4 # 2...Sa8-b6 3.Sc6-b4 # 2...Re8-e7 + 3.Sc6*e7 # 2...Re8-b8 3.Sc6-e7 # 3.Qc2-c4 # 1...Ra4-a1 2.Sc6-b4 # 2.Qc2-c4 # 1...Ra4-a2 2.Qc2-c4 # 2.Sc6-b4 # 1...Ra4-a3 2.Sc6-b4 # 2.Qc2-c4 # 1...Ra4-a6 2.Qc2-c4 # 2.Sc6-b4 # 1...Ra4-a5 2.Sc6-b4 # 2.Qc2-c4 # 1...Ra4-c4 2.Qc2*c4 # 1...Ra4-b4 + 2.Sc6*b4 # 1...e5-e4 2.d3*e4 # 1...Sa8-b6 2.Sc6-b4 + 2...Ra4*b4 3.Qc2-c6 # 1...Sa8-c7 2.Sc6-e7 + 2...Re8*e7 3.Qc2-c6 # 1...Re8-e7 + 2.Sc6*e7 # 1...Re8-b8 + 2.Kb7*b8 threat: 3.Sc6-e7 # 2...Ra4-a7 3.Sc6-b4 # 3.Qc2-c4 # 2...Ra4-c4 3.Qc2*c4 # 2...Ra4-b4 + 3.Sc6*b4 # 2...e5-e4 3.d3*e4 # 1...Re8-c8 2.Sc6-e7 # 1...Re8-d8 2.Sc6-e7 # 1...Re8-h8 2.Sc6-e7 # 1...Re8-g8 2.Sc6-e7 # 1...Re8-f8 2.Sc6-e7 #" --- authors: - Loyd, Samuel source: Cincinnati Dispatch date: 1858 algebraic: white: [Ka1, Qb1, Bh1, Sh3] black: [Ke1, Bd1, Sc8, Pg7, Pf5, Pe2, Pd2] stipulation: "#3" solution: | "1.Bh1-a8 ! threat: 2.Qb1-b7 threat: 3.Qb7-h1 # 1...Ke1-f1 2.Qb1*f5 + 2...Kf1-e1 3.Qf5-f2 # 1...f5-f4 2.Qb1-g6 threat: 3.Qg6-g1 # 1...Sc8-a7 2.Qb1-b6 threat: 3.Qb6-g1 # 3.Qb6-f2 # 2...Bd1-a4 3.Qb6-g1 # 2...Bd1-b3 3.Qb6-g1 # 2...Bd1-c2 3.Qb6-g1 # 1...Sc8-b6 2.Qb1*b6 threat: 3.Qb6-g1 # 3.Qb6-f2 # 2...Bd1-a4 3.Qb6-g1 # 2...Bd1-b3 3.Qb6-g1 # 2...Bd1-c2 3.Qb6-g1 # 1...Sc8-d6 2.Qb1-b6 threat: 3.Qb6-g1 # 3.Qb6-f2 # 2...Bd1-a4 3.Qb6-g1 # 2...Bd1-b3 3.Qb6-g1 # 2...Bd1-c2 3.Qb6-g1 # 2...Sd6-e4 3.Qb6-g1 # 1...Sc8-e7 2.Qb1-b6 threat: 3.Qb6-g1 # 3.Qb6-f2 # 2...Bd1-a4 3.Qb6-g1 # 2...Bd1-b3 3.Qb6-g1 # 2...Bd1-c2 3.Qb6-g1 #" --- authors: - Loyd, Samuel source: The New York Albion source-id: 418 date: 1857-01-03 algebraic: white: [Kb1, Qf3, Bh5, Pg4, Pe3] black: [Kh4, Ba1, Pb2] stipulation: "#4" solution: | "1.g4-g5 ! threat: 2.Qf3-g4 # 1...Kh4*g5 2.Bh5-e8 threat: 3.Qf3-f4 # 2...Kg5-h6 3.Qf3-f7 threat: 4.Qf7-g6 # 3...Kh6-g5 4.Qf7-f4 # 2...Kg5-h4 3.Be8-f7 zugzwang. 3...Kh4-g5 4.Qf3-f4 #" --- authors: - Loyd, Samuel source: American Union date: 1858 distinction: 1st Prize algebraic: white: [Kh2, Qg7, Sd4, Sc6, Pe5] black: [Kc5, Sh8, Pd6] stipulation: "#4" solution: | "1.e5-e6 ! threat: 2.Qg7-b7 threat: 3.Qb7-b5 # 2...Kc5-d5 3.Qb7-b3 + 3...Kd5-c5 4.Qb3-b5 # 3...Kd5-e4 4.Qb3-f3 # 2...Kc5-c4 3.Qb7-b3 + 3...Kc4-c5 4.Qb3-b5 # 2...d6-d5 3.Qb7-b4 # 1...Kc5-d5 2.Qg7-g3 threat: 3.Qg3-b3 + 3...Kd5-c5 4.Qb3-b5 # 3...Kd5-e4 4.Qb3-f3 # 1...Kc5-c4 2.Qg7-g3 threat: 3.Qg3-b3 + 3...Kc4-c5 4.Qb3-b5 # 1...Sh8-f7 2.Qg7*f7 zugzwang. 2...Kc5-d5 3.Qf7-f1 zugzwang. 3...Kd5-c5 4.Qf1-b5 # 3...Kd5-e4 4.Qf1-f3 # 2...Kc5-c4 3.Qf7-f5 zugzwang. 3...Kc4-c3 4.Qf5-c2 # 3...d6-d5 4.Qf5-c2 # 2...Kc5-b6 3.Qf7-a7 # 2...d6-d5 3.Qf7-h7 zugzwang. 3...Kc5-c4 4.Qh7-c2 # 3...Kc5-b6 4.Qh7-a7 # 3...Kc5-d6 4.Qh7-e7 #" --- authors: - Loyd, Samuel source: St. Louis Globe-Democrat source-id: 52 date: 1877-07-22 algebraic: white: [Kc1, Bd3, Bc5, Sh1, Sf2] black: [Ka2, Ba4, Pa5] stipulation: "#4" solution: | "1.Bd3-h7 ! zugzwang. 1...Ba4-b3 2.Bh7-b1 + 2...Ka2-a1 3.Bc5-d4 # 1...Ka2-a1 2.Bh7-b1 threat: 3.Bc5-d4 # 1...Ka2-b3 2.Bh7-g8 + 2...Kb3-c3 3.Sh1-g3 threat: 4.Sg3-e2 # 4.Sg3-e4 # 3...Ba4-d1 4.Sg3-e4 # 3...Ba4-c2 4.Sg3-e2 # 3...Ba4-c6 4.Sg3-e2 # 3...Ba4-b5 4.Sg3-e4 # 1...Ba4-d1 2.Sf2*d1 threat: 3.Bh7-g8 + 3...Ka2-a1 4.Bc5-d4 # 1...Ba4-c2 2.Kc1*c2 threat: 3.Bh7-g8 + 3...Ka2-a1 4.Bc5-d4 # 1...Ba4-e8 2.Bh7-g8 + 2...Ka2-a1 3.Bc5-d4 # 2...Be8-f7 3.Bg8*f7 + 3...Ka2-a1 4.Bc5-d4 # 1...Ba4-d7 2.Bh7-g8 + 2...Ka2-a1 3.Bc5-d4 # 2...Bd7-e6 3.Bg8*e6 + 3...Ka2-a1 4.Bc5-d4 # 1...Ba4-c6 2.Bh7-g8 + 2...Ka2-a1 3.Bc5-d4 # 2...Bc6-d5 3.Bg8*d5 + 3...Ka2-a1 4.Bc5-d4 # 1...Ba4-b5 2.Bh7-g8 + 2...Ka2-a1 3.Bc5-d4 # 2...Bb5-c4 3.Bg8*c4 + 3...Ka2-a1 4.Bc5-d4 #" comments: - Dedicated to Benjamin S. Wash --- authors: - Loyd, Samuel source: Evening Telegram (New York) date: 1885 algebraic: white: [Kc8, Se7, Se5, Pc7, Pb5] black: [Ka8, Ba7, Sg2, Pb7, Pb6] stipulation: "#4" solution: | "1.Se7-d5 ! threat: 2.Se5-f3 zugzwang. 2...Sg2-h4 3.Sf3*h4 zugzwang. 3...Ba7-b8 4.c7*b8=Q # 2...Sg2-e1 3.Sf3*e1 zugzwang. 3...Ba7-b8 4.c7*b8=Q # 2...Sg2-f4 3.Sd5*f4 zugzwang. 3...Ba7-b8 4.c7*b8=Q # 2...Sg2-e3 3.Sd5*e3 zugzwang. 3...Ba7-b8 4.c7*b8=Q # 2...Ba7-b8 3.c7*b8=Q # 1...Sg2-e1 2.Sd5-e3 zugzwang. 2...Se1-c2 3.Se3*c2 zugzwang. 3...Ba7-b8 4.c7*b8=Q # 2...Se1-g2 3.Se3*g2 zugzwang. 3...Ba7-b8 4.c7*b8=Q # 2...Se1-f3 3.Se5*f3 zugzwang. 3...Ba7-b8 4.c7*b8=Q # 2...Se1-d3 3.Se5*d3 zugzwang. 3...Ba7-b8 4.c7*b8=Q # 2...Ba7-b8 3.c7*b8=Q # 1...Sg2-h4 2.Sd5-e3 zugzwang. 2...Sh4-f5 3.Se3*f5 zugzwang. 3...Ba7-b8 4.c7*b8=Q # 2...Sh4-f3 3.Se5*f3 zugzwang. 3...Ba7-b8 4.c7*b8=Q # 2...Sh4-g2 3.Se3*g2 zugzwang. 3...Ba7-b8 4.c7*b8=Q # 2...Sh4-g6 3.Se5*g6 zugzwang. 3...Ba7-b8 4.c7*b8=Q # 2...Ba7-b8 3.c7*b8=Q #" --- authors: - Loyd, Samuel source: Chess Record, Centennial Tourney source-id: 373 date: 1876-12 algebraic: white: [Ke8, Rc4, Bc6, Sh2, Sf3, Pg3, Pd3] black: [Kd6, Ph3, Pg4, Pf6, Pf5] stipulation: "#4" solution: | "1.Sf3-e5 ! zugzwang. 1...f5-f4 2.Bc6-e4 threat: 3.Se5*g4 threat: 4.Rc4-c6 # 3.Se5-g6 threat: 4.Rc4-c6 # 3.Se5-f7 + 3...Kd6-e6 4.Rc4-c6 # 3.Se5-d7 threat: 4.Rc4-c6 # 3.g3*f4 threat: 4.Rc4-c6 # 3.d3-d4 threat: 4.Rc4-c6 # 3.Sh2*g4 threat: 4.Rc4-c6 # 2...f4-f3 3.Se5*g4 threat: 4.Rc4-c6 # 3.Se5-g6 threat: 4.Rc4-c6 # 3.Se5-f7 + 3...Kd6-e6 4.Rc4-c6 # 3.Se5-d7 threat: 4.Rc4-c6 # 3.d3-d4 threat: 4.Rc4-c6 # 3.Sh2*g4 threat: 4.Rc4-c6 # 2...f4*g3 3.Sh2*g4 threat: 4.Rc4-c6 # 3.Se5*g4 threat: 4.Rc4-c6 # 3.Se5-g6 threat: 4.Rc4-c6 # 3.Se5-f7 + 3...Kd6-e6 4.Rc4-c6 # 3.Se5-d7 threat: 4.Rc4-c6 # 3.d3-d4 threat: 4.Rc4-c6 # 2...Kd6*e5 3.Sh2*g4 + 3...Ke5-e6 4.Rc4-c6 # 3...Ke5-d6 4.Rc4-c6 # 2...f6-f5 3.Se5-f7 + 3...Kd6-e6 4.Rc4-c6 # 1...Kd6-e6 2.Se5-g6 threat: 3.Rc4-d4 threat: 4.Bc6-d7 # 2...f5-f4 3.Bc6-e4 threat: 4.Rc4-c6 # 2...Ke6-d6 3.Bc6-h1 threat: 4.Rc4-c6 # 2.Se5-f7 threat: 3.Rc4-d4 threat: 4.Bc6-d5 # 4.Bc6-d7 # 4.Rd4-d6 # 3...f5-f4 4.Bc6-d7 # 3.Rc4-c5 threat: 4.Bc6-d5 # 4.Bc6-d7 # 3...f5-f4 4.Bc6-d7 # 2...f5-f4 3.Bc6-e4 threat: 4.Rc4-c6 # 2.Se5-d7 zugzwang. 2...f5-f4 3.Bc6-e4 threat: 4.Rc4-c6 # 2...Ke6-d6 3.Bc6-h1 threat: 4.Rc4-c6 # 1...Kd6-c7 2.Se5-d7 threat: 3.Ke8-e7 threat: 4.Bc6-h1 # 4.Bc6-g2 # 4.Bc6-f3 # 4.Bc6-e4 # 4.Bc6-d5 # 4.Bc6-a8 # 3.Bc6-h1 + 3...Kc7-d6 4.Rc4-c6 # 3.Bc6-g2 + 3...Kc7-d6 4.Rc4-c6 # 3.Bc6-f3 + 3...Kc7-d6 4.Rc4-c6 # 3.Bc6-e4 + 3...Kc7-d6 4.Rc4-c6 # 2...Kc7-d6 3.Bc6-h1 threat: 4.Rc4-c6 # 1...Kd6*e5 2.Ke8-e7 threat: 3.d3-d4 # 2...f5-f4 3.Rc4*f4 threat: 4.d3-d4 # 4.Sh2*g4 # 3...f6-f5 4.d3-d4 # 1...f6*e5 2.Bc6-e4 threat: 3.Rc4-c6 # 2...f5*e4 3.d3*e4 zugzwang. 3...Kd6-e6 4.Rc4-c6 #" --- authors: - Loyd, Samuel source: The Albion (New York) source-id: 423 date: 1857-02-07 algebraic: white: [Ka6, Re1, Rc5, Be7, Bb3, Pc2] black: [Kd4, Pd5, Pc7, Pc6] stipulation: "#4" solution: | "1.Bb3*d5 ! threat: 2.Re1-e4 # 1...c6*d5 2.Be7-f8 zugzwang. 2...c7-c6 3.Re1-e7 zugzwang. 3...Kd4*c5 4.Re7-e4 #" --- authors: - Loyd, Samuel source: Chess Monthly source-id: 74v date: 1858-04 algebraic: white: [Ka3, Rf2, Bg1, Sc1, Pc2] black: [Kc3, Pc4, Pb3, Pa4] stipulation: "#5" solution: | "1.Rf2-h2 ! zugzwang. 1...b3-b2 2.Sc1-a2 # 1...b3*c2 2.Rh2-h1 zugzwang. 2...Kc3-d2 3.Bg1-d4 zugzwang. 3...c4-c3 4.Bd4-g1 zugzwang. 4...Kd2-d1 5.Bg1-e3 # 4...Kd2-e1 5.Bg1-e3 # 4...Kd2*c1 5.Bg1-e3 #" --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper date: 1856-08-23 distinction: 1st Prize algebraic: white: [Kg7, Qg4, Re2, Bg6, Se4] black: [Kd3, Rg1, Rd4, Bc4, Pe3] stipulation: "#3" solution: | "1.Re2-b2 ! threat: 2.Qg4-e2 # 1...Rg1-e1 2.Se4-c5 + 2...Kd3-c3 3.Sc5-a4 # 1...Rg1*g4 2.Se4-c5 + 2...Kd3-c3 3.Sc5-a4 # 1...Rg1-g2 2.Se4-c5 + 2...Kd3-c3 3.Sc5-a4 # 1...Rd4-d8 2.Se4-c5 + 2...Kd3-c3 3.Sc5-a4 # 1...Rd4-d7 + 2.Qg4*d7 + 2...Bc4-d5 3.Qd7*d5 # 1...Rd4-d6 2.Se4-c5 + 2...Kd3-c3 3.Sc5-a4 # 1...Rd4-d5 2.Se4-c5 + 2...Kd3-c3 3.Sc5-a4 # 1...Rd4*e4 2.Qg4*e4 + 2...Kd3-c3 3.Qe4-e5 #" --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper source-id: 133 date: 1858-06-09 algebraic: white: [Kf7, Bd1, Bc3, Se6, Sd5, Ph4] black: [Kf5, Pc4] stipulation: "#3" solution: | "1.Se6-d8 ! zugzwang. 1...Kf5-e4 2.Sd8-b7 zugzwang. 2...Ke4*d5 3.Bd1-f3 # 2...Ke4-f5 3.Sb7-d6 # 2...Ke4-d3 3.Sb7-c5 #" --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper source-id: 178 date: 1858 algebraic: white: [Kh3, Qf3, Bg7, Se4] black: [Ke1, Bd2, Se3, Sa2, Pc3] stipulation: "#3" solution: | "1.Bg7-d4 ! zugzwang. 1...Sa2-c1 2.Se4*c3 zugzwang. 2...Sc1-e2 3.Qf3*e2 # 2...Sc1-d3 3.Qf3-e2 # 2...Sc1-b3 3.Qf3-e2 # 2...Sc1-a2 3.Qf3-e2 # 2...Bd2*c3 3.Bd4*c3 # 2...Se3-c2 3.Qf3-d1 # 3.Qf3-h1 # 3.Qf3-f2 # 2...Se3-d1 3.Qf3*d1 # 3.Qf3-h1 # 2...Se3-f1 3.Bd4-f2 # 3.Qf3-d1 # 3.Qf3-f2 # 2...Se3-g2 3.Qf3-f2 # 3.Qf3-d1 # 2...Se3-g4 3.Qf3-d1 # 3.Qf3-h1 # 2...Se3-f5 3.Qf3-h1 # 3.Qf3-d1 # 3.Qf3-f2 # 2...Se3-d5 3.Qf3-f2 # 3.Qf3-d1 # 3.Qf3-h1 # 2...Se3-c4 3.Qf3-h1 # 3.Qf3-d1 # 3.Qf3-f2 # 1...Sa2-b4 2.Se4*c3 threat: 3.Qf3-e2 # 2...Bd2*c3 3.Bd4*c3 # 2.Se4-g3 threat: 3.Qf3-e2 # 1...Bd2-c1 2.Se4-g3 threat: 3.Qf3-e2 # 1...c3-c2 2.Qf3-f2 + 2...Ke1-d1 3.Qf2*d2 # 1...Se3-c2 2.Se4-g3 threat: 3.Bd4-f2 # 3.Qf3-e2 # 3.Qf3-h1 # 3.Qf3-f1 # 2...Sa2-c1 3.Bd4-f2 # 3.Qf3-h1 # 3.Qf3-f1 # 2...Sc2-e3 3.Qf3-e2 # 2...Sc2*d4 3.Qf3-f1 # 2...Bd2-c1 3.Qf3-e2 # 2...Bd2-h6 3.Qf3-e2 # 2...Bd2-g5 3.Qf3-e2 # 2...Bd2-f4 3.Qf3-e2 # 2...Bd2-e3 3.Qf3-e2 # 2.Bd4-f2 + 2...Ke1-f1 3.Se4-g3 # 3.Qf3-d3 # 1...Se3-d1 2.Se4-g3 threat: 3.Qf3-e2 # 3.Qf3-h1 # 3.Qf3-f1 # 2...Sd1-f2 + 3.Bd4*f2 # 2...Sd1-e3 3.Qf3-e2 # 2...Sa2-c1 3.Qf3-h1 # 3.Qf3-f1 # 2...Bd2-c1 3.Qf3-e2 # 2...Bd2-h6 3.Qf3-e2 # 2...Bd2-g5 3.Qf3-e2 # 2...Bd2-f4 3.Qf3-e2 # 2...Bd2-e3 3.Qf3-e2 # 1...Se3-f1 2.Bd4-f2 # 1...Se3-g2 2.Bd4-f2 + 2...Ke1-f1 3.Se4-g3 # 3.Qf3-d3 # 2.Kh3*g2 threat: 3.Bd4-f2 # 3.Qf3-f1 # 2...Bd2-e3 3.Qf3-f1 # 1...Se3-g4 2.Se4-g3 threat: 3.Qf3-e2 # 3.Qf3-h1 # 3.Qf3-f1 # 2...Sa2-c1 3.Qf3-h1 # 3.Qf3-f1 # 2...Bd2-c1 3.Qf3-e2 # 2...Bd2-h6 3.Qf3-e2 # 2...Bd2-g5 3.Qf3-e2 # 2...Bd2-f4 3.Qf3-e2 # 2...Bd2-e3 3.Qf3-e2 # 2...Sg4-e3 3.Qf3-e2 # 2...Sg4-f2 + 3.Bd4*f2 # 2...Sg4-h2 3.Bd4-f2 # 3.Qf3-e2 # 1...Se3-f5 2.Bd4-f2 + 2...Ke1-f1 3.Qf3-d3 # 1...Se3-d5 2.Bd4-f2 + 2...Ke1-f1 3.Se4-g3 # 3.Qf3-d3 # 1...Se3-c4 2.Bd4-f2 + 2...Ke1-f1 3.Se4-g3 # 3.Qf3-d3 # 2.Se4-g3 threat: 3.Bd4-f2 # 3.Qf3-e2 # 3.Qf3-h1 # 3.Qf3-f1 # 2...Sa2-c1 3.Bd4-f2 # 3.Qf3-h1 # 3.Qf3-f1 # 2...Bd2-c1 3.Qf3-e2 # 2...Bd2-h6 3.Qf3-e2 # 2...Bd2-g5 3.Qf3-e2 # 2...Bd2-f4 3.Qf3-e2 # 2...Bd2-e3 3.Qf3-e2 # 2...Sc4-e3 3.Qf3-e2 #" --- authors: - Loyd, Samuel source: Cincinnati Dispatch source-id: 24 date: 1858-11-07 algebraic: white: [Kf1, Rh6, Rc3, Sf7, Sd3, Pf4] black: [Kg4, Sf6, Sd4, Pf5, Pf2] stipulation: "#3" solution: | "1.Rh6-h3 ! zugzwang. 1...Sd4-b3 2.Sd3*f2 + 2...Kg4*f4 3.Rh3-f3 # 3.Rc3-f3 # 1...Sd4-c2 2.Sd3*f2 + 2...Kg4*f4 3.Rc3-f3 # 3.Rh3-f3 # 1...Sd4-e2 2.Sd3*f2 + 2...Kg4*f4 3.Rh3-f3 # 3.Rc3-f3 # 1...Sd4-f3 2.Sd3*f2 + 2...Kg4*f4 3.Rh3*f3 # 3.Rc3*f3 # 1...Sd4-e6 2.Sd3*f2 + 2...Kg4*f4 3.Rh3-f3 # 3.Rc3-f3 # 1...Sd4-c6 2.Sd3*f2 + 2...Kg4*f4 3.Rc3-f3 # 3.Rh3-f3 # 1...Sd4-b5 2.Sd3*f2 + 2...Kg4*f4 3.Rh3-f3 # 3.Rc3-f3 # 1...Kg4*h3 2.Sd3*f2 + 2...Kh3-h4 3.Rc3-h3 # 2...Kh3-h2 3.Rc3-h3 # 1...Sf6-d5 2.Sd3*f2 + 2...Kg4*f4 3.Rh3-h4 # 2.Sd3-e5 + 2...Kg4*f4 3.Rh3-h4 # 1...Sf6-e4 2.Sd3-e5 + 2...Kg4*f4 3.Rh3-h4 # 1...Sf6-h5 2.Sd3-e5 + 2...Kg4*f4 3.Rh3-h4 # 2.Sd3*f2 + 2...Kg4*f4 3.Rh3-h4 # 1...Sf6-h7 2.Sd3*f2 + 2...Kg4*f4 3.Rh3-h4 # 2.Sd3-e5 + 2...Kg4*f4 3.Rh3-h4 # 1...Sf6-g8 2.Sd3-e5 + 2...Kg4*f4 3.Rh3-h4 # 2.Sd3*f2 + 2...Kg4*f4 3.Rh3-h4 # 1...Sf6-e8 2.Sd3*f2 + 2...Kg4*f4 3.Rh3-h4 # 2.Sd3-e5 + 2...Kg4*f4 3.Rh3-h4 # 1...Sf6-d7 2.Sd3*f2 + 2...Kg4*f4 3.Rh3-h4 #" --- authors: - Loyd, Samuel source: Philadelphia Evening Bulletin date: 1859 algebraic: white: [Ka1, Qf4, Bc8, Se6, Sc4] black: [Kd5, Sf5, Se1, Ph3, Pb7, Pa2] stipulation: "#3" solution: | "1.Ka1*a2 ! threat: 2.Bc8-d7 threat: 3.Sc4-b6 # 1...Se1-g2 2.Qf4-f3 + 2...Kd5*c4 3.Qf3-b3 # 1...Se1-f3 2.Qf4*f3 + 2...Kd5*c4 3.Qf3-b3 # 1...Se1-d3 2.Qf4-e4 + 2...Kd5*e4 3.Bc8*b7 # 1...Se1-c2 2.Qf4-f3 + 2...Kd5*c4 3.Qf3-b3 # 1...Kd5-c6 2.Qf4-e5 threat: 3.Se6-d8 # 3.Qe5-c5 # 2...Se1-d3 3.Se6-d8 # 2...Sf5-d6 3.Qe5-c5 # 2...b7-b6 3.Se6-d8 # 1...Sf5-d4 2.Qf4*d4 + 2...Kd5-c6 3.Bc8-d7 # 3.Qd4-c5 # 3.Qd4-d7 # 1...Sf5-g7 2.Qf4-d4 + 2...Kd5-c6 3.Bc8-d7 # 3.Qd4-c5 # 3.Qd4-d7 # 1...b7-b5 2.Sc4-b6 + 2...Kd5-c6 3.Qf4-c7 #" --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 3-moves / 584 date: 1868 algebraic: white: [Kc3, Qg5, Rf7, Re6] black: [Kf2, Bf1, Pf3, Pe4] stipulation: "#3" solution: | "1.Rf7*f3 + ! 1...Kf2*f3 2.Re6-f6 + 2...Kf3-e2 3.Qg5-d2 # 1...Kf2-e2 2.Qg5-e3 + 2...Ke2-d1 3.Rf3*f1 # 3.Qe3-d2 # 1...Kf2-e1 2.Qg5-d2 # 1...e4*f3 2.Re6-e1 zugzwang. 2...Bf1-e2 3.Qg5-g1 # 2...Bf1-h3 3.Qg5-g1 # 2...Bf1-g2 3.Qg5-h4 # 2...Bf1-a6 3.Qg5-g1 # 2...Bf1-b5 3.Qg5-g1 # 2...Bf1-c4 3.Qg5-g1 # 2...Bf1-d3 3.Qg5-g1 # 2...Kf2*e1 3.Qg5-d2 #" comments: - also in The Philadelphia Times (no. 575), 23 August 1885 --- authors: - Loyd, Samuel source: Chess Record, Centennial Problem Tourney source-id: 372 date: 1876-12 algebraic: white: [Kb2, Qc3, Re4, Sd5, Pb6] black: [Kb5, Sc6, Sa5, Pa7] stipulation: "#3" solution: | "1.Re4-a4 ! { (zugzwang) } 1...Kb5-a6 2.Qc3*c6 2...a7*b6 3.Qc6*b6 # 1...Kb5*a4 2.Qc3-b4 + 2...Sc6*b4 3.Sd5-c3 # 1...Sc6-b4 2.Sd5-c7 + 2...Kb5*b6 3.Ra4*b4 # 2...Kb5*a4 3.Qc3-a3 # 1...a7*b6 2.Sd5-c7 + 2...Kb5*a4 3.Qc3-a3 # 1...a7-a6 2.Qc3-c2 zugzwang. 2...Sa5-c4 + { (Sa~) } 3.Qc2*c4 # 2...Sc6-b4 { (Sc~) } 3.Ra4*b4 # 2.Kb2-a3 zugzwang. 2...Sa5-c4 + { (Sa~) } 3.Qc3*c4 # 2...Sc6-b4 { (Sc~) } 3.Ra4*b4 #" keywords: - Dual comments: - "+wPc2 or +wPd2,bPd3?" --- authors: - Loyd, Samuel source: The Dubuque Chess Journal date: 1877-11 algebraic: white: [Kh6, Qd8, Rf6, Re3] black: [Ke5, Bb1, Pe6, Pe4] stipulation: "#3" solution: | "1.Rf6-f2 ! zugzwang. 1...Bb1-c2 2.Rf2*c2 zugzwang. 2...Ke5-f5 3.Qd8-g5 # 2...Ke5-f4 3.Qd8-g5 # 1...Bb1-d3 2.Rf2-d2 zugzwang. 2...Bd3-b1 3.Qd8-g5 # 2...Bd3-c2 3.Qd8-g5 # 2...Bd3-f1 3.Qd8-g5 # 2...Bd3-e2 3.Qd8-g5 # 2...Bd3-a6 3.Qd8-g5 # 2...Bd3-b5 3.Qd8-g5 # 2...Bd3-c4 3.Qd8-g5 # 2...Ke5-f5 3.Qd8-g5 # 2...Ke5-f4 3.Qd8-g5 # 1...Bb1-a2 2.Rf2*a2 zugzwang. 2...Ke5-f5 3.Qd8-g5 # 2...Ke5-f4 3.Qd8-g5 #" --- authors: - Loyd, Samuel source: 5th American Chess Congress date: 1880 distinction: 3rd Prize, Set algebraic: white: [Ka2, Qe3, Rf6, Bh3, Bf4, Sd4, Pf7] black: [Kd5, Bb7, Pe4, Pd6, Pd3] stipulation: "#3" solution: | "1.Sd4-e6 ! threat: 2.Qe3*e4 + 2...Kd5*e4 3.Bh3-g2 # 1...d3-d2 2.Qe3-c3 threat: 3.Se6-c7 # 2...e4-e3 3.Bh3-g2 # 1...Kd5-c6 2.Qe3-c5 + 2...Kc6-d7 3.Qc5-c7 # 2...d6*c5 3.Se6-c7 # 1...Kd5-c4 2.Qe3-b6 threat: 3.Qb6-b3 # 2...Kc4-d5 3.Qb6-b5 #" --- authors: - Loyd, Samuel source: St. Louis Globe-Democrat source-id: 491v date: 1884-03-09 algebraic: white: [Kd6, Qg2, Ra2, Pd2] black: [Ke4, Rf3, Pf5, Pe6] stipulation: "#3" solution: | "1.Kd6-c5 ! zugzwang. 1...Ke4-f4 2.Ra2-a4 + 2...Kf4-e5 3.Qg2-g7 # 1...Ke4-e5 2.Qg2-g7 + 2...Ke5-e4 3.Qg7-d4 # 2...Ke5-f4 3.Ra2-a4 # 1...Ke4-d3 2.Qg2*f3 # 1...f5-f4 2.Qg2-g6 + 2...Ke4-e5 3.d2-d4 # 1...e6-e5 2.Qg2-h1 zugzwang. 2...Ke4-f4 3.Qh1-h4 # 2...Ke4-d3 3.Qh1*f3 # 2...f5-f4 3.Qh1-h7 #" --- authors: - Loyd, Samuel source: International Chess Magazine date: 1885 algebraic: white: [Kh1, Bc6, Sb8, Sa6, Pc7, Pb6, Pa7] black: [Ka8, Bc8, Pb7] stipulation: "#3" solution: | "1.Bc6-g2 ! threat: 2.Sa6-c5 zugzwang. 2...Bc8-d7 3.Bg2*b7 # 2...Bc8-h3 3.Bg2*b7 # 2...Bc8-g4 3.Bg2*b7 # 2...Bc8-f5 3.Bg2*b7 # 2...Bc8-e6 3.Bg2*b7 # 1...Bc8-h3 2.Bg2*h3 zugzwang. 2...b7*a6 3.Bh3-g2 # 1...Bc8-g4 2.c7-c8=Q threat: 3.Qc8*b7 # 3.Sb8-d7 # 3.Sa6-c7 # 3.Bg2*b7 # 2...Bg4-f3 3.Sb8-c6 # 3.Sb8-d7 # 3.Sa6-c7 # 2...Bg4*c8 3.Sa6-c7 # 2.c7-c8=S threat: 3.Sa6-c7 # 2.c7-c8=R threat: 3.Sa6-c7 # 3.Sb8-d7 # 2...Bg4*c8 3.Sa6-c7 # 2.c7-c8=B threat: 3.Bc8*b7 # 3.Sa6-c7 # 3.Bg2*b7 # 2...Bg4-f3 3.Sa6-c7 # 2...Bg4*c8 3.Sa6-c7 # 1...Bc8-f5 2.c7-c8=Q threat: 3.Qc8*b7 # 3.Sb8-d7 # 3.Sa6-c7 # 3.Bg2*b7 # 2...Bf5-e4 3.Sb8-c6 # 3.Sb8-d7 # 3.Sa6-c7 # 2...Bf5*c8 3.Sa6-c7 # 2.c7-c8=S threat: 3.Sa6-c7 # 2.c7-c8=R threat: 3.Sa6-c7 # 3.Sb8-d7 # 2...Bf5*c8 3.Sa6-c7 # 2.c7-c8=B threat: 3.Bc8*b7 # 3.Sa6-c7 # 3.Bg2*b7 # 2...Bf5-e4 3.Sa6-c7 # 2...Bf5*c8 3.Sa6-c7 # 1...Bc8-e6 2.c7-c8=Q threat: 3.Qc8*b7 # 3.Sb8-d7 # 3.Sa6-c7 # 3.Bg2*b7 # 2...Be6-d5 3.Sb8-c6 # 3.Sb8-d7 # 3.Sa6-c7 # 2...Be6*c8 3.Sa6-c7 # 2.c7-c8=S threat: 3.Sa6-c7 # 2.c7-c8=R threat: 3.Sa6-c7 # 3.Sb8-d7 # 2...Be6*c8 3.Sa6-c7 # 2.c7-c8=B threat: 3.Bc8*b7 # 3.Sa6-c7 # 3.Bg2*b7 # 2...Be6-d5 3.Sa6-c7 # 2...Be6*c8 3.Sa6-c7 # 1...Bc8-d7 2.c7-c8=Q threat: 3.Qc8*b7 # 3.Sb8*d7 # 3.Sa6-c7 # 3.Bg2*b7 # 2...Bd7-c6 3.Sb8*c6 # 3.Sb8-d7 # 3.Sa6-c7 # 2...Bd7*c8 3.Sa6-c7 # 2.c7-c8=S threat: 3.Sa6-c7 # 2.c7-c8=R threat: 3.Sa6-c7 # 3.Sb8*d7 # 2...Bd7*c8 3.Sa6-c7 # 2.c7-c8=B threat: 3.Bc8*b7 # 3.Sa6-c7 # 3.Bg2*b7 # 2...Bd7-c6 3.Sa6-c7 # 2...Bd7*c8 3.Sa6-c7 #" keywords: - Scaccografia comments: - "also(?) in The Elizabeth Herald, circa 1890" - also in The New York Evening Telegram, before 1886 - also in The Philadelphia Times (no. 555), 14 June 1885 --- authors: - Loyd, Samuel source: New Orleans Times-Democrat source-id: 762 date: 1891-09-06 algebraic: white: [Ke3, Qg4, Pe2, Pd3] black: [Ke1, Bb1, Pg3, Pe7] stipulation: "#3" solution: | "1.Qg4-g7 ! zugzwang. 1...Ke1-d1 2.Qg7-c3 threat: 3.Qc3-d2 # 1...Bb1*d3 2.Qg7-a1 + 2...Bd3-b1 3.Qa1*b1 # 1...Bb1-c2 2.Qg7*g3 + 2...Ke1-f1 3.Qg3-f2 # 2...Ke1-d1 3.Qg3-g1 # 1...Bb1-a2 2.Qg7-a1 + 2...Ba2-b1 3.Qa1*b1 # 1...Ke1-f1 2.Qg7*g3 threat: 3.Qg3-f2 # 1...g3-g2 2.Qg7-c3 + 2...Ke1-f1 3.Qc3-c1 # 2...Ke1-d1 3.Qc3-d2 # 1...e7-e5 2.Qg7-b7 threat: 3.Qb7-h1 # 3.Qb7*b1 # 2...Bb1*d3 3.Qb7-h1 # 2...Bb1-c2 3.Qb7-h1 # 2...Bb1-a2 3.Qb7-h1 # 2...Ke1-f1 3.Qb7-h1 # 2...Ke1-d1 3.Qb7*b1 # 2...g3-g2 3.Qb7*b1 # 2...e5-e4 3.Qb7*b1 # 1...e7-e6 2.Qg7-b7 threat: 3.Qb7-h1 # 3.Qb7*b1 # 2...Bb1*d3 3.Qb7-h1 # 2...Bb1-c2 3.Qb7-h1 # 2...Bb1-a2 3.Qb7-h1 # 2...Ke1-f1 3.Qb7-h1 # 2...Ke1-d1 3.Qb7*b1 # 2...g3-g2 3.Qb7*b1 #" --- authors: - Loyd, Samuel source: St. Louis Globe-Democrat date: 1906 algebraic: white: [Kh2, Qb3, Bg5, Sd6, Sc4] black: [Kd4, Sd7, Pg7, Pb6] stipulation: "#3" solution: | "1.Sc4-e5 ! threat: 2.Se5-f7 threat: 3.Bg5-e3 # 3.Qb3-c4 # 2...Kd4-c5 3.Qb3-c4 # 2...b6-b5 3.Bg5-e3 # 2...Sd7-e5 3.Bg5-e3 # 2.Se5*d7 threat: 3.Qb3-c4 # 3.Bg5-e3 # 2...b6-b5 3.Bg5-e3 # 1...Kd4-c5 2.Qb3-c4 + 2...Kc5*d6 3.Se5-f7 # 1...Kd4*e5 2.Bg5-f4 + 2...Ke5-f6 3.Qb3-f7 # 2...Ke5*f4 3.Qb3-g3 # 2...Ke5-d4 3.Qb3-c4 # 1...b6-b5 2.Se5*d7 threat: 3.Bg5-e3 # 1...Sd7-f6 2.Qb3-c4 + 2...Kd4*e5 3.Bg5-f4 # 1...Sd7-f8 2.Se5-f7 threat: 3.Bg5-e3 # 3.Qb3-c4 # 2...Kd4-c5 3.Qb3-c4 # 2...b6-b5 3.Bg5-e3 # 1...Sd7-b8 2.Se5-f7 threat: 3.Bg5-e3 # 3.Qb3-c4 # 2...Kd4-c5 3.Qb3-c4 # 2...b6-b5 3.Bg5-e3 #" --- authors: - Loyd, Samuel source: Winona Republican date: 1858 algebraic: white: [Kh3, Re2, Rd2, Sd6, Sb1, Pd5, Pc4] black: [Kf3, Ph4, Pf5, Pf4] stipulation: "#4" solution: | "1.Sd6-e4 ! threat: 2.Se4-g5 # 1...f5*e4 2.Sb1-c3 threat: 3.Re2-e1 zugzwang. 3...e4-e3 4.Re1-f1 # 3.Re2-f2 + 3...Kf3-e3 4.Sc3-d1 # 3.Rd2-d1 threat: 4.Rd1-f1 # 2...e4-e3 3.Re2-f2 + 3...e3*f2 4.Rd2-d3 #" --- authors: - Loyd, Samuel source: The Boston Globe, Centennial Tourney source-id: 73 date: 1876-12-13 distinction: 1st Prize algebraic: white: [Kc2, Qg7, Bh1, Sc3, Ph4, Pf6, Pb5] black: [Kd4, Pe6, Pd5, Pc6, Pc5] stipulation: "#4" solution: | "1.Sc3*d5 ! threat: 2.Qg7-g3 threat: 3.Qg3-f4 # 3.Qg3-c3 # 2...Kd4-c4 3.Qg3-d3 # 2...c5-c4 3.Qg3-e3 # 2...e6-e5 3.Qg3-c3 # 3.Qg3-d3 # 2.Qg7-g4 + 2...Kd4-e5 3.Qg4-f4 # 1...Kd4-c4 2.Qg7-a7 threat: 3.Qa7-a4 # 2...Kc4-d4 3.Qa7-a1 + 3...Kd4-c4 4.Qa1-a4 # 2...Kc4*b5 3.Sd5-c3 + 3...Kb5-b4 4.Qa7-a4 # 3...Kb5-c4 4.Qa7-a4 # 2...c6*b5 3.Qa7-a3 threat: 4.Qa3-d3 # 4.Qa3-c3 # 3...Kc4-d4 4.Qa3-c3 # 3...b5-b4 4.Qa3-d3 # 3...e6*d5 4.Qa3-c3 # 1...Kd4-e5 2.Qg7-g3 + 2...Ke5-f5 3.Qg3-g5 # 2...Ke5-d4 3.Qg3-f4 # 3.Qg3-c3 # 2.f6-f7 + 2...Ke5-f5 3.f7-f8=Q # 3.f7-f8=R # 3.Qg7-g5 # 2...Ke5-d6 3.f7-f8=Q # 3.f7-f8=B # 1...c5-c4 2.Qg7-g1 + 2...Kd4-e5 3.Qg1-g3 + 3...Ke5-f5 4.Qg3-g5 # 3...Ke5-d4 4.Qg3-e3 # 1...c6*d5 2.Qg7-c7 threat: 3.Qc7-f4 # 2...Kd4-c4 3.Qc7-a5 threat: 4.Qa5-a4 # 3...Kc4-d4 4.Qa5-c3 # 2...Kd4-e3 3.Qc7-h2 threat: 4.Qh2-d2 # 3...Ke3-d4 4.Qh2-f4 # 2...c5-c4 3.Kc2-d2 zugzwang. 3...c4-c3 + 4.Qc7*c3 # 3...e6-e5 4.Qc7-b6 # 4.Qc7-a7 # 2...e6-e5 3.Qc7-a5 threat: 4.Qa5-c3 # 3...Kd4-c4 4.Qa5-a4 # 3...Kd4-e3 4.Qa5-d2 # 3...c5-c4 4.Qa5-b6 # 4.Qa5-a7 # 1...e6-e5 2.Qg7-g4 + 2...e5-e4 3.Qg4*e4 # 2.Qg7-g6 threat: 3.Qg6-d3 # 3.Qg6-e4 # 2...Kd4-c4 3.Qg6-d3 # 2...c5-c4 3.Qg6-g1 # 2...e5-e4 3.Qg6*e4 # 2...c6*d5 3.Qg6-d3 # 1...e6*d5 2.f6-f7 + 2...Kd4-c4 3.Qg7-b2 zugzwang. 3...d5-d4 4.Qb2-b3 # 3...c6*b5 4.Qb2-c3 # 2...Kd4-e3 3.f7-f8=Q threat: 4.Qf8-f3 # 4.Qg7-e5 # 3...Ke3-e2 4.Qg7-e5 # 4.Qg7-e7 # 3.f7-f8=R threat: 4.Qg7-e5 #" --- authors: - Loyd, Samuel source: Oskar Blumenthal's Schachminiaturen vol.I source-id: 36 date: 1902 algebraic: white: [Ke8, Qg4, Bd4] black: [Kd5, Pe7] stipulation: "#3" solution: | "1.Bd4-a7 ! zugzwang. 1...Kd5-e5 2.Ke8*e7 zugzwang. 2...Ke5-d5 3.Qg4-e6 # 1...Kd5-d6 2.Qg4-f5 zugzwang. 2...Kd6-c6 3.Qf5-d7 # 2...Kd6-c7 3.Qf5-d7 # 2...e7-e5 3.Qf5-d7 # 2...e7-e6 3.Qf5-c5 # 1...Kd5-c6 2.Qg4-d7 # 1...e7-e5 2.Ke8-e7 zugzwang. 2...e5-e4 3.Qg4-e6 # 2...Kd5-c6 3.Qg4-d7 # 2.Ke8-d7 zugzwang. 2...e5-e4 3.Qg4-e6 # 1...e7-e6 2.Qg4-d4 + 2...Kd5-c6 3.Qd4-d7 #" --- authors: - Loyd, Samuel source: The Chess Monthly date: 1858-01 algebraic: white: [Kd3, Be6, Ba1, Se2] black: [Ke1] stipulation: "#4" solution: | "1.Kd3-e3 ! threat: 2.Ba1-c3 + 2...Ke1-f1 3.Be6-h3 # 2...Ke1-d1 3.Be6-b3 # 1...Ke1-f1 2.Ke3-f3 zugzwang. 2...Kf1-e1 3.Ba1-c3 + 3...Ke1-f1 4.Be6-h3 # 3...Ke1-d1 4.Be6-b3 # 2.Ba1-e5 zugzwang. 2...Kf1-g2 3.Be5-g3 zugzwang. 3...Kg2-h1 4.Be6-d5 # 3...Kg2-f1 4.Be6-h3 # 2...Kf1-e1 3.Be5-g3 + 3...Ke1-f1 4.Be6-h3 # 3...Ke1-d1 4.Be6-b3 # 3.Be5-c3 + 3...Ke1-d1 4.Be6-b3 # 3...Ke1-f1 4.Be6-h3 # 1...Ke1-d1 2.Ba1-c3 threat: 3.Be6-b3 # 2...Kd1-c2 3.Be6-a2 zugzwang. 3...Kc2-d1 4.Ba2-b3 #" --- authors: - Loyd, Samuel source: The Philadelphia Times source-id: 535 date: 1885-04-05 algebraic: white: [Kc2, Rd1, Se2] black: [Ka1, Sb1, Pa2] stipulation: "#3" solution: | "1.Rd1-d2 ! zugzwang. 1...Sb1-a3 + 2.Kc2-b3 zugzwang. 2...Sa3-b1 3.Rd2*a2 # 2...Ka1-b1 3.Rd2-d1 # 2...Sa3-c2 3.Rd2-d1 # 2...Sa3-c4 3.Rd2-d1 # 2...Sa3-b5 3.Rd2-d1 # 1...Sb1*d2 2.Se2-c1 zugzwang. 2...Sd2-b1 3.Sc1-b3 # 2...Sd2-f1 3.Sc1-b3 # 2...Sd2-f3 3.Sc1-b3 # 2...Sd2-e4 3.Sc1-b3 # 2...Sd2-c4 3.Sc1-b3 # 2...Sd2-b3 3.Sc1*b3 # 2.Se2-d4 zugzwang. 2...Sd2-b1 3.Sd4-b3 # 2...Sd2-f1 3.Sd4-b3 # 2...Sd2-f3 3.Sd4-b3 # 2...Sd2-e4 3.Sd4-b3 # 2...Sd2-c4 3.Sd4-b3 # 2...Sd2-b3 3.Sd4*b3 # 1...Sb1-c3 2.Se2-d4 threat: 3.Sd4-b3 # 2.Se2-c1 threat: 3.Sc1-b3 # 2.Kc2*c3 threat: 3.Rd2-d1 #" keywords: - Letters comments: - Oskar Blumenthal's Schachminiaturen Vol. I (120), 1902 --- authors: - Loyd, Samuel source: American Chess Nuts date: 1868 algebraic: white: [Kf8, Qe4, Sb3, Pc4] black: [Kb6, Pb4] stipulation: "#3" solution: | "1.Sb3-a5 ! threat: 2.Qe4-c6 + 2...Kb6-a7 3.Qc6-b7 # 2...Kb6*a5 3.Qc6-b5 # 1...Kb6-c5 2.Qe4-e3 + 2...Kc5-d6 3.Qe3-e7 #" --- authors: - Loyd, Samuel source: London Chess Congress date: 1866 algebraic: white: [Kh2, Qf1, Be7] black: [Kg4, Rg5, Sh7, Ph5] stipulation: "#3" solution: | "1.Kh2-g2 ! threat: 2.Qf1-f3 + 2...Kg4-h4 + 3.Qf3-g3 # 1...Kg4-h4 + 2.Kg2-f3 threat: 3.Qf1-h1 # 1...Rg5-f5 2.Qf1-d1 + 2...Kg4-f4 3.Qd1-d4 # 2...Rf5-f3 3.Qd1*f3 # 1...Sh7-f6 2.Qf1*f6 threat: 3.Qf6*g5 # 2...Rg5-a5 3.Qf6-f3 # 2...Rg5-b5 3.Qf6-f3 # 2...Rg5-c5 3.Qf6-f3 # 2...Rg5-d5 3.Qf6-f3 # 2...Rg5-e5 3.Qf6-f3 # 2...Rg5-f5 3.Qf6-h4 # 2...Rg5-g8 3.Qf6-f3 # 2...Rg5-g7 3.Qf6-f3 # 2...Rg5-g6 3.Qf6-f3 #" --- authors: - Loyd, Samuel source: Syracuse Standard date: 1858 algebraic: white: [Ke6, Qh1, Ra2, Pf4] black: [Kc4, Pc5, Pb5] stipulation: "#3" solution: | "1.Ra2-a3 ! threat: 2.Qh1-e4 # 1...Kc4-d4 2.Qh1-d5 # 1...Kc4-b4 2.Qh1-a8 zugzwang. 2...Kb4-c4 3.Qa8-e4 # 2...c5-c4 3.Qa8-f8 # 1...b5-b4 2.Qh1-f1 + 2...Kc4-d4 3.Qf1-d3 #" --- authors: - Loyd, Samuel source: date: 1881 algebraic: white: [Kh1, Qc7, Sf6, Se4, Pd5] black: [Kf5, Pe6] stipulation: "#3" solution: | "1.d5-d6 ! zugzwang. 1...Kf5-e5 2.Qc7-c1 zugzwang. 2...Ke5-f5 3.Qc1-g5 # 2...Ke5-d4 3.Qc1-c3 # 1...Kf5-f4 2.Qc7-c5 zugzwang. 2...Kf4-f3 3.Qc5-f2 # 2...e6-e5 3.Qc5-f2 # 1...Kf5-g6 2.Qc7-h7 # 1...e6-e5 2.Qc7-a7 zugzwang. 2...Kf5-f4 3.Qa7-f2 # 2...Kf5-e6 3.Qa7-d7 # 2...Kf5-g6 3.Qa7-h7 #" --- authors: - Loyd, Samuel source: American Chess Nuts source-id: 578 date: 1868 algebraic: white: [Kc8, Rb2, Bd4, Sg3, Se4, Pg2] black: [Kf4, Sh2, Pg4, Pe5] stipulation: "#3" solution: | "1.Bd4-g1 ! threat: 2.Rb2-b7 threat: 3.Rb7-f7 # 2.Rb2-b6 threat: 3.Rb6-f6 # 1...Sh2-f1 2.Rb2-f2 + 2...Kf4-e3 3.Rf2-f3 # 1...Sh2-f3 2.Rb2-f2 zugzwang. 2...Kf4-e3 3.Rf2*f3 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 32 date: 1857-07 algebraic: white: [Kc1, Rh2, Se4, Sb4] black: [Ke1, Sh1, Sa3] stipulation: "#3" solution: | "1.Rh2-f2 ! threat: 2.Sb4-d3 # 1...Sh1*f2 2.Se4-g3 zugzwang. 2...Sf2-d1 3.Sb4-d3 # 2...Sf2-h1 3.Sb4-d3 # 2...Sf2-h3 3.Sb4-d3 # 2...Sf2-g4 3.Sb4-d3 # 2...Sf2-e4 3.Sb4-d3 # 2...Sf2-d3 + 3.Sb4*d3 # 2...Sa3-b1 3.Sb4-c2 # 2...Sa3-c2 3.Sb4*c2 # 2...Sa3-c4 3.Sb4-c2 # 2...Sa3-b5 3.Sb4-c2 #" --- authors: - Loyd, Samuel source: Chess Monthly date: 1858 algebraic: white: [Kb3, Sc3, Sc1] black: [Ka1, Sb7, Sa8, Pa2] stipulation: "#4" solution: | "1.Kb3-c2 ! threat: 2.Sc1-b3 # 1...Sb7-a5 2.Sc3-d5 zugzwang. 2...Sa8-c7 3.Sd5*c7 zugzwang. 3...Sa5-b3 4.Sc1*b3 # 3...Sa5-c4 4.Sc1-b3 # 3...Sa5-c6 4.Sc1-b3 # 3...Sa5-b7 4.Sc1-b3 # 2...Sa5-b3 3.Sc1*b3 # 2...Sa5-c4 3.Sc1-b3 # 2...Sa5-c6 3.Sc1-b3 # 2...Sa5-b7 3.Sc1-b3 # 2...Sa8-b6 3.Sd5*b6 zugzwang. 3...Sa5-b3 4.Sc1*b3 # 3...Sa5-c4 4.Sc1-b3 # 3...Sa5-c6 4.Sc1-b3 # 3...Sa5-b7 4.Sc1-b3 # 1...Sb7-c5 2.Sc3-e4 threat: 3.Se4*c5 threat: 4.Sc5-b3 # 4.Sc1-b3 # 2.Sc3-d5 zugzwang. 2...Sc5-a4 3.Sc1-b3 # 2...Sc5-b3 3.Sc1*b3 # 2...Sc5-d3 3.Sc1-b3 # 2...Sc5-e4 3.Sc1-b3 # 2...Sc5-e6 3.Sc1-b3 # 2...Sc5-d7 3.Sc1-b3 # 2...Sc5-b7 3.Sc1-b3 # 2...Sc5-a6 3.Sc1-b3 # 2...Sa8-b6 3.Sd5*b6 zugzwang. 3...Sc5-a4 4.Sc1-b3 # 3...Sc5-b3 4.Sc1*b3 # 3...Sc5-d3 4.Sc1-b3 # 3...Sc5-e4 4.Sc1-b3 # 3...Sc5-e6 4.Sc1-b3 # 3...Sc5-d7 4.Sc1-b3 # 3...Sc5-b7 4.Sc1-b3 # 3...Sc5-a6 4.Sc1-b3 # 2...Sa8-c7 3.Sd5*c7 zugzwang. 3...Sc5-a4 4.Sc1-b3 # 3...Sc5-b3 4.Sc1*b3 # 3...Sc5-d3 4.Sc1-b3 # 3...Sc5-e4 4.Sc1-b3 # 3...Sc5-e6 4.Sc1-b3 # 3...Sc5-d7 4.Sc1-b3 # 3...Sc5-b7 4.Sc1-b3 # 3...Sc5-a6 4.Sc1-b3 # 2.Sc3-a4 threat: 3.Sa4*c5 threat: 4.Sc5-b3 # 4.Sc1-b3 #" --- authors: - Loyd, Samuel source: Illustrirte Zeitung date: 1860 algebraic: white: [Kf4, Qa2, Bd5, Pb2] black: [Kd4, Bf1, Pf5, Pc5] stipulation: "#3" solution: | "1.Bd5-c4 ! threat: 2.Bc4*f1 threat: 3.Qa2-c4 # 1...Bf1-h3 2.Bc4-e2 threat: 3.Qa2-c4 # 2.Qa2-b3 threat: 3.Qb3-d3 # 3.Qb3-c3 # 2...Bh3-f1 3.Qb3-c3 # 1...Bf1-g2 2.Qa2-b3 threat: 3.Qb3-d3 # 3.Qb3-c3 # 2...Bg2-f1 3.Qb3-c3 # 2...Bg2-e4 3.Qb3-c3 # 1...Bf1*c4 2.Qa2-a4 zugzwang. 2...Kd4-d5 3.Qa4-d7 # 2...Kd4-d3 3.Qa4-d1 # 1...Bf1-d3 2.Bc4-g8 threat: 3.Qa2-d5 # 2...Bd3-e4 3.Qa2-c4 # 2...Bd3-c4 3.Qa2*c4 # 2...c5-c4 3.Qa2-a7 # 2.Bc4-f7 threat: 3.Qa2-d5 # 2...Bd3-e4 3.Qa2-c4 # 2...Bd3-c4 3.Qa2*c4 # 2...c5-c4 3.Qa2-a7 # 2.Bc4-e6 threat: 3.Qa2-d5 # 2...Bd3-e4 3.Qa2-c4 # 2...Bd3-c4 3.Qa2*c4 # 2...c5-c4 3.Qa2-a7 # 1...Bf1-e2 2.Bc4*e2 threat: 3.Qa2-c4 # 1.Bd5-f3 ! threat: 2.Qa2-d5 # 1...Bf1-c4 2.Qa2-a5 threat: 3.Qa5-c3 # 2.Qa2-a4 zugzwang. 2...Kd4-d3 3.Qa4-d1 # 1...Kd4-d3 2.Qa2-b3 + 2...Kd3-d4 3.Qb3-d5 # 3.Qb3-c3 # 2...Kd3-d2 3.Qb3-c3 # 3.Qb3-d1 # 1...c5-c4 2.Qa2-a5 threat: 3.Qa5-d5 # 2...Kd4-d3 3.Qa5-c3 # 2.Qa2-a3 threat: 3.Qa3-d6 # 3.Qa3-e3 # 2...Bf1-d3 3.Qa3-d6 # 3.Qa3-a7 # 2...c4-c3 3.Qa3*c3 #" keywords: - Cooked comments: - also in The New York Turf, Field and Farm (no. 244), 2 June 1871 - also in The Philadelphia Times (no. 339), 13 May 1883 --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 4-moves / 430 date: 1868 algebraic: white: [Kg5, Rg3, Bf3, Be5, Sg1, Sf2] black: [Ke3] stipulation: "#4" solution: | "1.Rg3-g2 ! threat: 2.Bf3-e4 zugzwang. 2...Ke3-d2 3.Sf2-d3 + 3...Kd2-d1 4.Be4-f3 # 3...Kd2-e3 4.Rg2-e2 # 2.Sf2-d1 + 2...Ke3-d3 3.Sd1-b2 + 3...Kd3-e3 4.Rg2-e2 # 1...Ke3-d2 2.Sf2-d1 + 2...Kd2-d3 3.Sd1-b2 + 3...Kd3-e3 4.Rg2-e2 # 2...Kd2-e1 3.Be5-c3 + 3...Ke1-f1 4.Sd1-e3 # 3.Be5-g3 + 3...Ke1-f1 4.Sd1-e3 # 3.Sg1-h3 zugzwang. 3...Ke1-f1 4.Rg2-g1 # 2...Kd2-c1 3.Be5-b2 + 3...Kc1-b1 4.Sd1-c3 # 1.Rg3-g4 ! threat: 2.Rg4-d4 threat: 3.Sf2-d1 # 3.Sf2-g4 # 2...Ke3*f2 3.Rd4-d1 zugzwang. 3...Kf2-e3 4.Be5-d4 # 1...Ke3*f2 2.Be5-f4 zugzwang. 2...Kf2-f1 3.Sg1-h3 threat: 4.Rg4-g1 # 2...Kf2-e1 3.Sg1-h3 threat: 4.Rg4-g1 # 2.Rg4-e4 zugzwang. 2...Kf2-f1 3.Be5-g3 threat: 4.Re4-e1 # 2...Kf2*g1 3.Be5-g3 threat: 4.Re4-e1 # 1...Ke3-d2 2.Rg4-c4 threat: 3.Sf2-e4 + 3...Kd2-d3 4.Rc4-c3 # 3...Kd2-e3 4.Rc4-c3 # 3...Kd2-e1 4.Rc4-c1 # 1.Bf3-e2 + ! 1...Ke3*f2 2.Rg3-g2 + 2...Kf2-e1 3.Be5-c3 # 3.Sg1-f3 # 2...Kf2*g2 3.Sg1-h3 zugzwang. 3...Kg2*h3 4.Be2-f1 # 3...Kg2-h1 4.Be2-f3 # 2...Kf2-e3 3.Be2-c4 threat: 4.Rg2-e2 # 1...Ke3-d2 2.Rg3-c3 threat: 3.Sf2-e4 + 3...Kd2-e1 4.Be5-g3 # 4.Rc3-c1 # 2...Kd2-e1 3.Be5-g3 threat: 4.Sf2-e4 #" --- authors: - Loyd, Samuel source: American Chess Journal source-id: 50 date: 1876-07 algebraic: white: [Kd6, Qe5, Sc8] black: [Kd8, Pf6, Pe6, Pe4, Pd7] stipulation: "#3" solution: | "1.Qe5-b2 ! zugzwang. 1...e4-e3 2.Qb2-g2 threat: 3.Qg2-g8 # 2...Kd8*c8 3.Qg2-a8 # 1...e6-e5 2.Qb2-a2 threat: 3.Qa2-g8 # 2...Kd8*c8 3.Qa2-a8 # 1...f6-f5 2.Qb2-h8 # 1...Kd8-e8 2.Qb2*f6 threat: 3.Qf6-e7 # 1...Kd8*c8 2.Qb2-b6 threat: 3.Qb6-c7 #" keywords: - Scaccografia --- authors: - Loyd, Samuel source: Chess Strategy date: 1878 algebraic: white: [Kf1, Qh6, Bh1, Bd2, Se5] black: [Kg3, Pg5] stipulation: "#3" solution: --- authors: - Loyd, Samuel source: Chess Strategy date: 1878 algebraic: white: [Kf2, Qh7, Bh2, Se6, Sc5] black: [Kg4, Pg6] stipulation: "#3" solution: --- authors: - Loyd, Samuel source: Chess Strategy date: 1878 algebraic: white: [Ke2, Qg7, Bg2, Sd6, Sb5] black: [Kf4, Pf6] stipulation: "#3" solution: --- authors: - Loyd, Samuel source: Huddersfield College Magazine source-id: 134 date: 1878-01 algebraic: white: [Ke1, Qd5, Bd6] black: [Kf3, Sh7, Sa7, Pg5, Pe4] stipulation: "#3" solution: | "1.Qd5-e6 ! threat: 2.Qe6-h3 # 1...Kf3-e3 2.Bd6-e5 threat: 3.Qe6-b3 # 3.Qe6-h3 # 2...Ke3-f3 3.Qe6-h3 # 2...Ke3-d3 3.Qe6-b3 # 2...g5-g4 3.Qe6-b3 # 2...Sa7-b5 3.Qe6-h3 # 1...Kf3-g2 2.Qe6-f5 threat: 3.Qf5-f1 # 1...e4-e3 2.Qe6-f5 + 2...Kf3-g2 3.Qf5-f1 # 2.Ke1-f1 threat: 3.Qe6-f5 # 2...e3-e2 + 3.Qe6*e2 # 1...g5-g4 2.Qe6-c4 threat: 3.Qc4-e2 # 2...Kf3-e3 3.Qc4-c3 # 2...Kf3-g2 3.Qc4-f1 # 2...e4-e3 3.Qc4-d5 #" --- authors: - Loyd, Samuel source: Winsted News date: 1878 algebraic: white: [Kh7, Qe5, Bb5, Sd5, Pc4] black: [Kc5, Sc8, Sb3] stipulation: "#3" solution: | "1.Qe5-g3 ! zugzwang. 1...Sb3-a1 2.Qg3-a3 + 2...Kc5-d4 3.Qa3-e3 # 1...Sb3-c1 2.Qg3-a3 + 2...Kc5-d4 3.Qa3-e3 # 1...Sb3-d2 2.Qg3-a3 + 2...Kc5-d4 3.Qa3-e3 # 1...Sb3-d4 2.Qg3-a3 # 1...Sb3-a5 2.Qg3-a3 + 2...Kc5-d4 3.Qa3-e3 # 1...Kc5-d4 2.Qg3-e3 # 1...Sc8-a7 2.Qg3-e3 + 2...Sb3-d4 3.Qe3-a3 # 3.Qe3-e7 # 2...Kc5-d6 3.Qe3-e7 # 1...Sc8-b6 2.Qg3-e3 + 2...Sb3-d4 3.Qe3-a3 # 3.Qe3-e7 # 2...Kc5-d6 3.Qe3-e7 # 1...Sc8-d6 2.Qg3-e3 + 2...Sb3-d4 3.Qe3-a3 # 1...Sc8-e7 2.Qg3-e3 + 2...Sb3-d4 3.Qe3-a3 # 3.Qe3*e7 # 2...Kc5-d6 3.Qe3*e7 #" --- authors: - Loyd, Samuel source: New York Star date: 1880 algebraic: white: [Ke2, Qb1, Sg7, Pd3] black: [Kc3] stipulation: "#3" solution: | "1.Sg7-e8 ! zugzwang. 1...Kc3-d4 2.Qb1-b4 + 2...Kd4-d5 3.Qb4-d6 # 2...Kd4-e5 3.Qb4-e4 #" --- authors: - Loyd, Samuel source: New York Star date: 1880 algebraic: white: [Ke2, Qb6, Sf4, Pd3] black: [Kc3] stipulation: "#3" solution: | "1.Ke2-e3 ! zugzwang. 1...Kc3-c2 2.Sf4-e2 zugzwang. 2...Kc2-d1 3.Qb6-b1 #" --- authors: - Loyd, Samuel source: Detroit Free Press date: 1880-01 algebraic: white: [Kd1, Qh4, Sh5, Sf2] black: [Kg1, Pg6, Pg3, Pg2] stipulation: "#3" solution: | "1.Sf2-g4 ! threat: 2.Sh5*g3 threat: 3.Qh4-h2 # 2.Qh4*g3 threat: 3.Qg3-e1 # 2...Kg1-h1 3.Qg3-h2 # 1...Kg1-f1 2.Sh5*g3 + 2...Kf1-g1 3.Qh4-h2 # 1...g6-g5 2.Qh4*g3 threat: 3.Qg3-e1 # 2...Kg1-h1 3.Qg3-h2 # 1...g6*h5 2.Sg4-h2 zugzwang. 2...Kg1-f2 3.Qh4-d4 # 2...Kg1-h1 3.Sh2-f3 # 2...g3*h2 3.Qh4-e1 #" --- authors: - Loyd, Samuel source: Deutsches Wochenschach date: 1865 algebraic: white: [Ka1, Qc7, Sf6, Se4, Pd5] black: [Kf5, Pe6] stipulation: "#3" solution: | "1.d5-d6 ! zugzwang. 1...Kf5-e5 2.Qc7-c1 zugzwang. 2...Ke5-f5 3.Qc1-g5 # 2...Ke5-d4 3.Qc1-c3 # 1...Kf5-f4 2.Qc7-c5 zugzwang. 2...Kf4-f3 3.Qc5-f2 # 2...e6-e5 3.Qc5-f2 # 1...Kf5-g6 2.Qc7-h7 # 1...e6-e5 2.Qc7-a7 zugzwang. 2...Kf5-f4 3.Qa7-f2 # 2...Kf5-e6 3.Qa7-d7 # 2...Kf5-g6 3.Qa7-h7 #" --- authors: - Loyd, Samuel source: Schachminiaturen date: 1903 algebraic: white: [Kg6, Bc5, Bb5, Sd3, Pe7] black: [Kd5] stipulation: "#2" solution: | "1.e8N?? zz 1...Ke6 2.Nc7# but 1...Ke4! 1.e8B! zz 1...Ke4 2.Bec6# 1...Ke6 2.Bf7#/Bc4#" --- authors: - Loyd, Samuel source: The Circle source-id: 26 date: 1909-12 algebraic: white: [Kg5, Bb5, Sf5, Sd3, Pe7] black: [Kd5] stipulation: "#2" solution: | "1.e7-e8=B ! zugzwang. 1...Kd5-e4 2.Be8-c6 # 1...Kd5-e6 2.Bb5-c4 #" keywords: - Miniature - Underpromotion --- authors: - Loyd, Samuel source: The Musical World date: 1859 algebraic: white: [Kc3, Qg5, Re4, Bg2] black: [Kf2, Bh1, Pf3] stipulation: "#2" solution: | "1.Qg3+?? 1...Kg1 2.Re1# but 1...Kxg3! 1.Re1! zz 1...Kxe1 2.Qd2# 1...fxg2 2.Qe3# 1...Bxg2 2.Qh4#" keywords: - Flight giving and taking key - Active sacrifice - Model mates --- authors: - Loyd, Samuel source: 98953 algebraic: white: [Ka4, Qf7, Pa2, Ph3, Pc4, Pe7, Pb3] black: [Kd6, Qd2, Pf4, Pd4, Pa5, Pg7, Pb7, Ph5] stipulation: "#2" solution: | "1.e8N+! 1...Kc6/Kc5 2.Qc7# 1...Ke5 2.Qd5#" keywords: - Checking key - Flight taking key --- authors: - Loyd, Samuel source: Chess Strategy source-id: 450 date: 1881 algebraic: white: [Ka8, Qf5, Bd8, Sc7, Sb2] black: [Kb6, Bb3, Sc5, Sa5, Pc6] stipulation: "#2" solution: | "1.Qf5-b1 ! zugzwang. 1...Bb3-a2 2.Sb2-c4 # 2.Sb2-a4 # 1...Bb3-d1 2.Sb2-c4 # 2.Sb2-a4 # 1...Bb3-c2 2.Sb2-c4 # 2.Sb2-a4 # 1...Bb3-g8 2.Sb2-c4 # 2.Sb2-a4 # 1...Bb3-f7 2.Sb2-c4 # 2.Sb2-a4 # 1...Bb3-e6 2.Sb2-c4 # 2.Sb2-a4 # 1...Bb3-d5 2.Sb2-c4 # 2.Sb2-a4 # 1...Bb3-c4 2.Sb2*c4 # 2.Sb2-a4 # 1...Bb3-a4 2.Sb2-c4 # 2.Sb2*a4 # 1...Sa5-c4 2.Sb2*c4 # 1...Sa5-b7 2.Sb2-c4 # 1...Sc5-a4 2.Sb2*a4 # 1...Sc5-d3 2.Sb2-a4 # 1...Sc5-e4 2.Sb2-a4 # 1...Sc5-e6 2.Sb2-a4 # 1...Sc5-d7 2.Sb2-a4 # 1...Sc5-b7 2.Sb2-a4 # 1...Sc5-a6 2.Sb2-a4 #" --- authors: - Loyd, Samuel source: The Circle date: 1908 algebraic: white: [Kb2, Qd1, Rc1, Rb3, Bd7, Sf7, Se2] black: [Ke4, Re7, Bg6, Se3, Sc6, Pe6, Pe5] stipulation: "#2" solution: | "1...Bf5 2.Ng5# 1...Nf1/Ng2/Ng4/Nc2 2.Qd3#/Nd6# 1...Nf5 2.Ng5#/Qd3#/Qh1#/Bxc6# 1...Nd5 2.Nd6#/Qd3#/Qc2# 1.Bxc6+?? 1...Nd5 2.Nd6#/Qd3#/Qc2# but 1...Kf5! 1.Nc3+?? 1...Kf5 2.Qf3# but 1...Kf4! 1.Qh1+?? 1...Kf5 2.Qf3# but 1...Ng2! 1.Qd5+! 1...Kf5 2.Qf3# 1...Kxd5 2.Bxc6# 1...exd5 2.Ng5# 1...Nxd5 2.Nd6#" keywords: - Checking key - Defences on same square - Flight giving and taking key - Letters --- authors: - Loyd, Samuel source: Sam Loyd and his Chess Problems date: 1913 algebraic: white: [Kc2, Qg3, Rf6, Ra3, Sc3, Pd5] black: [Kd4, Pe5, Pe4, Pc5, Pa4] stipulation: "#2" solution: | "1...Kc4 2.Rxa4# 1.Rf4?? (2.Rxe4#/Qd3#) 1...Kc4 2.Rxa4#/Rxe4# 1...c4 2.Qg1#/Qf2# but 1...exf4! 1.Ne2+?? 1...Kxd5 2.Qg8# but 1...Kc4! 1.Nb5+?? 1...Kxd5 2.Qg8# but 1...Kc4! 1.Qg2?? (2.Qxe4#) but 1...c4! 1.Qg1+?? 1...Kc4 2.Rxa4# but 1...e3! 1.Qg4?? (2.Qxe4#) but 1...c4! 1.Qg6?? (2.Qxe4#) but 1...c4! 1.Qe3+?? 1...Kc4 2.Rxa4#/Qxe4# but 1...Kxe3! 1.Qh4?? (2.Qxe4#) but 1...c4! 1.Qf2+?? 1...Kc4 2.Rxa4# but 1...e3! 1.Qxe5+?? 1...Kc4 2.Rxa4#/Qxe4# 1...Ke3 2.Qxe4# but 1...Kxe5! 1.Qg7! zz 1...Kc4 2.Rxa4# 1...Ke3 2.Qg1# 1...c4 2.Qa7# 1...e3 2.Rf4#" keywords: - Flight giving key --- authors: - Loyd, Samuel source: Sam Loyd und seine Schachaufgaben date: 1926 algebraic: white: [Kd4, Qb3, Rg6, Rf7, Bf6, Bc2, Pe5] black: [Kh8, Rg7, Rc3] stipulation: "#2" solution: | "1.Qb8+?? 1...Kh7 2.Rfxg7# but 1...Rc8! 1.Bxg7+! 1...Kh7/Kg8 2.Bf6#" keywords: - Checking key - Switchback - Scaccografia comments: - The Arrow --- authors: - Loyd, Samuel source: Detroit Free Press source-id: 622 date: 1879-07-04 algebraic: white: [Ke1, Qb8, Ra1, Bc2, Sg4, Sd3, Pf6, Pe6, Pb4, Pb2] black: [Kd5, Pf7] stipulation: "#2" solution: | "1.0-0-0 ! zugzwang. 1...Kd5-c4 2.Sd3-e5 # 1...Kd5-e4 2.Sd3-e1 # 1...Kd5*e6 2.Sd3-f4 # 2.Sd3-c5 # 1...Kd5-c6 2.Sd3-e5 # 1...Kd5-d4 2.Sd3-e5 # 1...f7*e6 2.Sd3-e5 #" keywords: - King Y-flight - King star flight --- authors: - Loyd, Samuel source: The Musical World date: 1858-02-26 algebraic: white: [Ke1, Qb8, Rh1, Ra1, Bb2, Sd6, Pg3, Pd3, Pc5] black: [Ke5, Qh8, Rd4, Pg4, Pf6, Pe6, Pd7, Pd5, Pb4, Pb3] stipulation: "#2" solution: | "1...f5 2.Qxh8# 1.Qxb4?? (2.Bxd4#/Qxd4#) but 1...Qxh1+! 1.Rh5+?? 1...f5 2.Qxh8# but 1...Qxh5! 1.Rf1! (2.Nf7#/Nc4#) 1...Qxb8 2.Nf7# 1...f5 2.Qxh8#" --- authors: - Loyd, Samuel source: Buffalo Commercial Advertiser date: 1890 algebraic: white: [Ke2, Qh1, Rg3, Rf6, Se5, Ph2] black: [Kh4, Ph5, Pg4, Pe4] stipulation: "#2" solution: | "1.Rf4?? zz 1...e3 2.Nf3# but 1...Kg5! 1.Qc1?? (2.Ng6#) but 1...e3! 1.Qxe4?? (2.Nf3#) but 1...Kg5! 1.Nd7?? zz 1...Kg5 2.h4# but 1...e3! 1.Rxg4+?? 1...Kh3 2.Qg2# but 1...hxg4! 1.Rf5! (2.Ng6#)" keywords: - Flight taking key --- authors: - Loyd, Samuel source: Brooklyn Daily Eagle date: 1896 algebraic: white: [Kf1, Qd8, Rh7, Re5, Bg4, Bg3, Sd4, Pd7] black: [Kd6, Re6, Ra6, Bg8, Bg7, Sa5, Pc5, Pb7, Pa7] stipulation: "#2" solution: | "1...Rc6/Nc6 2.Nf5#/Nb5# 1...Bh6/Bh8/Bf6/Bf8/Re7/Rg6/Rh6 2.Qb8# 1...Re8 2.dxe8Q#/dxe8R#/dxe8B#/dxe8N# 1...Rf6+ 2.Rf5# 1.Qf8+?? 1...Kc7 2.d8Q# 1...Bxf8 2.d8Q#/d8R# 1...Re7 2.d8Q#/Qb8# but 1...Kxd7! 1.Qc7+?? 1...Ke7 2.d8Q# but 1...Kxc7! 1.Qe8! (2.d8Q#) 1...Nc6 2.Nb5# 1...Bf6/Re7 2.Qb8# 1...Rxe8 2.dxe8N# 1...Rf6+ 2.Rf5#" keywords: - Active sacrifice - Flight giving key --- authors: - Loyd, Samuel source: Sam Loyd und seine Schachaufgaben date: 1926 algebraic: white: [Kf2, Qe2, Rd3, Rb6, Bg6, Be5, Sd2, Ph7, Ph6, Pf7, Pf6, Pf4, Pf3, Pd4, Pc6] black: [Ke6, Re8, Sf8, Sd8, Pg7, Pf5, Pe7, Pd5, Pc7, Pb7] stipulation: "#2" solution: | "1...exf6 2.fxe8Q#/fxe8R#/Bxc7# 1...gxf6 2.Bxc7# 1.Qe4?? (2.Qxf5#) 1...dxe4 2.d5# 1...exf6 2.fxe8Q#/fxe8R# 1...fxe4 2.f5# but 1...Nxg6! 1.fxe8Q?? (2.Qxe7#) 1...gxf6 2.Bxc7# but 1...Nxg6! 1.fxe8R?? (2.Rxe7#) 1...gxf6 2.Bxc7# but 1...Nxg6! 1.Bd6+?? 1...Kxd6 2.Qe5#/fxe8N# but 1...Kxf6! 1.Ne4! (2.Ng5#/Nc5#) 1...dxe4 2.d5#/Qa2# 1...Nxf7/Nxc6/bxc6/gxf6/gxh6/Nxh7 2.Nc5# 1...cxb6/Nxg6/Nd7 2.Ng5# 1...exf6 2.fxe8Q#/fxe8R# 1...fxe4 2.f5#" keywords: - Active sacrifice - Scaccografia comments: - Emblem of Purity --- authors: - Loyd, Samuel source: American Chess Journal date: 1878-06 algebraic: white: [Kf2, Qe3, Rf7, Rd7, Be2, Bd2, Sf5, Sd5, Ph7, Pg7, Pg5, Pc7, Pc5, Pb7] black: [Ke6, Re5, Re4, Pg6, Pe7, Pc6] stipulation: "#2" solution: | "1...cxd5[a]/Rxd5[a] 2.Rdxe7#[A] 1...gxf5[b] 2.Rfxe7#[B] 1...Kxf7 2.g8Q# 1...Kxd7 2.c8Q# 1.Qxe4? (2.Rfxe7#[B]/Rdxe7#[A]) 1...Kxf7 2.g8Q# 1...Kxd7 2.c8Q# but 1...Rxe4! 1.Qf3?? (2.Rfxe7#[B]) 1...Rf4[c] 2.Rdxe7#[A] 1...Kxf7 2.g8Q# 1...Kxd7 2.c8Q# but 1...Rxe2+! 1.Nf4+?? 1...Kxf7 2.g8Q# 1...Kxd7 2.c8Q# but 1...Rxf4+[c]! 1.Rd6+?? 1...Kxf7 2.g8Q# but 1...exd6! 1.Nd4+?? 1...Kxf7 2.g8Q# 1...Kxd7 2.c8Q# but 1...Rxd4[d]! 1.Rf6+?? 1...Kxd7 2.c8Q# but 1...exf6! 1.Bf3[C]! zz 1...cxd5[a]/Rxd5[a]/Rxe3[f]/Rd4[d]/Rc4[f]/Rb4[f]/Ra4[f]/Rf4[c]/Rg4[f]/Rh4[f] 2.Rdxe7#[A] 1...gxf5[b]/Rxf5[e] 2.Rfxe7#[B] 1...Kxf7 2.g8Q# 1...Kxd7 2.c8Q#" keywords: - Transferred mates - Rudenko - Scaccografia comments: - The Challenge Cup - Dedicated to the judges in the American Problem Association --- authors: - Loyd, Samuel source: Illustrated American source-id: 3 date: 1890-03-01 algebraic: white: [Kg2, Qg3, Ra3, Bd8, Bd7, Sf3, Sb3] black: [Kd3, Qc1, Re8, Rd1, Bf8, Be1, Sf2, Sb2, Pe2, Pd5, Pc2] stipulation: "#2" solution: | "1.Bd8-e7 ! threat: 2.Sf3-d2 # 2.Sb3-d2 # 1...Qc1-h6 2.Sb3-d2 # 1...Qc1-g5 2.Sb3-d2 # 1...Qc1-f4 2.Sb3-d2 # 1...Qc1-e3 2.Sb3-d2 # 1...Qc1-a1 2.Sf3-d2 # 1...Be1-a5 2.Sf3-d2 # 1...Be1-b4 2.Sf3-d2 # 1...Be1-c3 2.Sf3-d2 # 1...Sb2-c4 2.Sb3-c5 # 1...Sb2-a4 2.Sf3-d2 # 1...Sf2-h1 2.Sb3-d2 # 1...Sf2-h3 2.Sb3-d2 # 1...Sf2-g4 2.Sb3-d2 # 1...Sf2-e4 2.Sf3-e5 # 1...Kd3-e4 2.Sb3-c5 # 1...Kd3-c4 2.Sf3-e5 # 1...Kd3-c3 2.Sb3-d2 # 2.Sb3-a5 # 1...Kd3-e3 2.Sf3-d2 # 2.Sf3-g5 # 1...Re8*e7 2.Sb3-d2 # 1...Re8-a8 2.Sf3-d2 # 1...Re8-b8 2.Sf3-d2 # 1...Re8-c8 2.Sf3-d2 # 1...Bf8*e7 2.Sf3-d2 # 1...Bf8-h6 2.Sb3-d2 # 1...Bf8-g7 2.Sf3-d2 #" keywords: - Transferred mates - Grimshaw - Novotny comments: - Black has a promoted Bishop --- authors: - Loyd, Samuel source: Bradford Courier date: 1878 algebraic: white: [Kh2, Qc2, Rb5, Bc1, Bb3] black: [Ka3, Qb2, Sd1, Sb1, Pe3, Pc3] stipulation: "#2" solution: | "1...Qxc1 2.Qa2# 1.Rb4?? (2.Ra4#) but 1...Kxb4! 1.Bc4?? zz 1...e2/Nf2 2.Qb3# 1...Qxc1 2.Qa2#/Qb3# but 1...Nd2! 1.Bd5?? zz 1...e2/Nf2 2.Qb3# 1...Qxc1 2.Qa2#/Qb3# but 1...Nd2! 1.Be6?? zz 1...e2/Nf2 2.Qb3# 1...Qxc1 2.Qa2#/Qb3# but 1...Nd2! 1.Bf7?? zz 1...e2/Nf2 2.Qb3# 1...Qxc1 2.Qa2#/Qb3# but 1...Nd2! 1.Bg8?? zz 1...e2/Nf2 2.Qb3# 1...Qxc1 2.Qa2#/Qb3# but 1...Nd2! 1.Bxb2+?? 1...cxb2 2.Qc5# but 1...Nxb2! 1.Qg2! zz 1...Nd2/c2/e2/Nf2 2.Qa8# 1...Qxc1 2.Qa2#" --- authors: - Loyd, Samuel source: Baltimore News date: 1883-12-15 algebraic: white: [Kh3, Qf3, Re1, Be3, Sa4, Pf2, Pd4, Pb3] black: [Kd3, Qh7, Bg7, Ph5, Ph4, Pb4] stipulation: "#2" solution: | "1.Qf3-f7 ! zugzwang. 1...Kd3-c2 2.Qf7-c4 # 1...Kd3-e4 2.Sa4-c5 # 1...Bg7*d4 2.Qf7*h7 # 1...Bg7-e5 2.Qf7*h7 # 1...Bg7-f6 2.Qf7*h7 # 1...Bg7-h6 2.Qf7*h7 # 1...Bg7-h8 2.Qf7*h7 # 1...Bg7-f8 2.Qf7*h7 # 1...Qh7-e4 2.Qf7-c4 # 1...Qh7-f5 + 2.Qf7*f5 # 1...Qh7-g6 2.Qf7*g6 # 1...Qh7-g8 2.Qf7-g6 # 2.Qf7-f5 # 1...Qh7-h6 2.Qf7-f5 # 1...Qh7-h8 2.Qf7-g6 # 2.Qf7-f5 #" keywords: - Grab theme --- authors: - Loyd, Samuel source: New York Star date: 1890 algebraic: white: [Kh3, Qb1, Bd1, Sg3] black: [Kg1, Qa8, Ra5, Sc7, Sa1, Pd5] stipulation: "#2" solution: | "1.Ne4?? (2.Be2#/Bf3#/Bg4#/Bh5#/Bc2#/Bb3#/Ba4#) 1...Kf1 2.Bf3#/Bg4#/Bh5# 1...Qa6 2.Be2# 1...Qb8/Qb7/Rb5/Nb3 2.Bb3# 1...Qc8+ 2.Bg4# 1...Qf8 2.Bf3# 1...Qh8+ 2.Bh5# 1...Qc6/Rc5/Nc2 2.Bc2# 1...Ra3+ 2.Bf3#/Bb3# but 1...dxe4! 1.Qb6+?? 1...d4 2.Qxd4# but 1...Rc5! 1.Nh1! (2.Be2#/Bf3#/Bg4#/Bh5#/Bc2#/Bb3#/Ba4#) 1...Kf1 2.Bf3#/Bg4#/Bh5# 1...Qa6/Qe8 2.Be2# 1...Qb8/Qb7/Rb5/Nb3 2.Bb3# 1...Qc8+ 2.Bg4# 1...Qf8 2.Bf3# 1...Qh8+ 2.Bh5# 1...Qc6/Rc5/Nc2 2.Bc2# 1...Ra3+ 2.Bf3#/Bb3#" keywords: - Flight giving key - Flight giving and taking key --- authors: - Loyd, Samuel source: Detroit Free Press date: 1876-07-15 algebraic: white: [Kh4, Qa4, Rh5, Rf3, Bg2, Bg1, Se7, Sb7, Pb4] black: [Ke4, Qd5, Rc6, Pf4, Pe5] stipulation: "#2" solution: | "1...Qd4 2.Re3# 1...Qc5 2.bxc5# 1.Nf5?? (2.Re3#) but 1...Qd8+! 1.Nxd5? zz 1...Rc5/Rc4[a]/Rc2[b]/Rc1[a]/Rc7[a]/Rc8[a] 2.Nf6#[A] 1...Rb6[c]/Ra6[c]/Rd6/Re6[c]/Rg6[c]/Rh6[c] 2.Nc3#[B] 1...Rc3/Rf6 2.Nf6#[A]/Nxc3#[B] but 1...Kxd5! 1.Nxc6?? (2.Re3#) 1...Qxc6 2.Qxc6# but 1...Qd8+! 1.Qa1?? (2.Qe1#/Re3#) 1...Rc2[b]/Rc1[a]/Qd4/Qc5/Qb5 2.Re3# 1...Qd3/Qd2/Qd1/Qc4/Qb3/Qa2 2.Rxe5#/Qxe5#/Re3# but 1...Rc3! 1.Qc2+?? 1...Qd3 2.Qxd3# but 1...Rxc2[b]! 1.Qb5?? (2.Qxd5#/Qe2#) 1...Rc4[a]/Rc3/Rc2[b] 2.Qxd5# 1...Qd4 2.Re3# 1...Qd3/Qa2 2.Rxe5#/Qxe5#/Qxd3# 1...Qd2/Qd1/Qc4/Qb3 2.Rxe5#/Qxe5# 1...Qd6/Rc5/Rd6 2.Qe2# 1...Qd7/Qd8 2.Rxe5#/Qxe5#/Qe2# 1...Qc5 2.Qd3# 1...Qe6 2.Qd3#/Qe2# 1...Qf7/Qg8 2.Rxe5#/Qxe5#/Qd3#/Qe2# but 1...Qxb5! 1.Qxc6?? (2.Nc5#[C]/Nd6#[D]/Qg6#/Qxd5#) but 1...Qxc6! 1.Nc5+[C]?? 1...Qxc5 2.bxc5# but 1...Rxc5! 1.Rxf4+?? 1...Kxf4 2.Nxd5#/Rf5# but 1...Kd3! 1.Qa8! zz 1...Qd6/Qb5/Qa5/Qc4/Rc4[a]/Rc3/Rc2[b]/Rc1[a]/Rc7[a]/Rc8[a] 2.Nxd6#[D] 1...Qd3/Qd2/Qd1/Qd7/Qd8/Qc5/Qe6/Rb6[c]/Ra6[c]/Re6[c]/Rf6/Rg6[c]/Rh6[c] 2.Nc5#[C] 1...Qd4 2.Re3# 1...Qf7/Qg8/Qb3/Qa2/Rc5/Rd6 2.Nc5#[C]/Nd6#[D]" keywords: - Black correction - Changed mates --- authors: - Loyd, Samuel source: Sam Loyd and his Chess Problems date: 1913 algebraic: white: [Kh6, Qe8, Rg5, Re2, Bc8, Bb4, Sg1, Sb3, Ph3] black: [Kf4, Se4, Sc4, Pf5] stipulation: "#2" solution: | "1.Qa4! zz 1. ... Sc4~ 2.B(x)d6# 1. ... Se4~ 2.Bd2/xd6# 1. ... Se5, Sc5 2.Bd2# 1. ... Sxg5/c3 2.Bd6# 1. ... Ke5 2.Rxf5#" keywords: - Ambush - Flight giving key - Half-pin - Masked half-pin --- authors: - Loyd, Samuel source: The Circle date: 1908 algebraic: white: [Kh7, Qb2, Rg2, Rd5, Bb7, Sf3, Sa6, Ph6, Pg6, Pg3, Pf2, Pb6] black: [Ke4, Qc6, Rb3, Ra7, Bh2, Ba2, Sg7, Pg5, Pg4, Pb5, Pb4] stipulation: "#2" solution: | "1...gxf3/Rxf3 2.Qd4#/Qe5# 1...Qc5/Qc4/Qc7/Qc8/Qxb6/Qd6/Qe6/Qd7/Qe8 2.Nxg5#/Nd2# 1...Qc3/Qc2 2.Nxg5# 1...Qf6 2.Nd2# 1.Nc5+?? 1...Kxd5 2.Qd4# 1...Qxc5 2.Nxg5#/Nd2# but 1...Kxf3! 1.Rd4+?? 1...Kxf3 2.Bxc6# but 1...Kf5! 1.Re5+?? 1...Kxf3 2.Bxc6# but 1...Kd3! 1.Qc2+?? 1...Kxd5 2.Qxc6# 1...Qxc2 2.Nxg5# 1...Rd3 2.Qxd3# but 1...Kxf3! 1.Qe2+?? 1...Re3 2.Re5# but 1...Kxd5! 1.Qf6! (2.Rd4#) 1...Kxd5 2.Qxc6# 1...Rd3 2.Re5# 1...Qxf6 2.Nd2# 1...Qxd5 2.Nc5# 1...Nf5/Ne6 2.Qxf5#" keywords: - Flight taking key - Letters --- authors: - Loyd, Samuel source: New York Graphic algebraic: white: [Kh8, Qa4, Rc8, Ra6, Bf6, Bd7, Sb5, Pc2] black: [Kd5, Qf4, Rh4, Re3, Bf5, Sg8, Sd2, Ph6] stipulation: "#2" solution: | "1.Qa4-e4 + ! 1...Sd2*e4 2.c2-c4 # 1...Re3*e4 2.Sb5-c3 # 1...Qf4*e4 2.Ra6-d6 # 1...Kd5*e4 2.Bd7-c6 # 1...Bf5*e4 2.Bd7-e6 #" keywords: - Checking key - Defences on same square - Flight giving key --- authors: - Loyd, Samuel source: Unveröffentlicht algebraic: white: [Ke5, Rd8, Bb5, Sg8, Pf4] black: [Kf7, Pe7] stipulation: "#4" solution: --- authors: - Loyd, Samuel source: Evening Telegram (New York) date: 1890 algebraic: white: [Kf2, Rd2, Ph2] black: [Kh1, Ba4, Pf3] stipulation: "#3" solution: --- authors: - Loyd, Samuel source: New York Mail and Express date: 1892 algebraic: white: [Ka1, Qc1, Rb1, Ra3, Bd8, Ba8, Sb2, Pd2, Pb4] black: [Kb6, Rd5, Bb8, Sc7, Pb7] stipulation: "#3" solution: | "1.d2-d4 ! zugzwang. 1...Rd5-b5 2.Qc1-h6 # 1...Rd5*d4 2.Qc1-c5 # 1...Rd5-a5 2.Ra3*a5 threat: 3.Sb2-a4 # 3.Qc1-h6 # 3.Qc1-c5 # 1...Rd5-c5 2.Qc1*c5 # 1...Rd5*d8 2.Qc1-c5 # 1...Rd5-d7 2.Qc1-c5 # 1...Rd5-d6 2.Qc1-c5 # 1...Rd5-h5 2.b4-b5 threat: 3.Sb2-c4 # 2...Rh5*b5 3.Qc1-h6 # 2...Rh5-c5 3.Qc1*c5 # 2...Kb6*b5 3.Sb2-d1 # 3.Sb2-d3 # 1...Rd5-g5 2.b4-b5 threat: 3.Sb2-c4 # 2...Rg5*b5 3.Qc1-h6 # 2...Rg5-c5 3.Qc1*c5 # 2...Kb6*b5 3.Sb2-d1 # 3.Sb2-d3 # 1...Rd5-f5 2.b4-b5 threat: 3.Sb2-c4 # 2...Rf5*b5 3.Qc1-h6 # 2...Rf5-c5 3.Qc1*c5 # 2...Kb6*b5 3.Sb2-d1 # 3.Sb2-d3 # 1...Rd5-e5 2.b4-b5 threat: 3.Sb2-c4 # 2...Re5*b5 3.Qc1-h6 # 2...Re5-c5 3.Qc1*c5 # 2...Kb6*b5 3.Sb2-d1 # 3.Sb2-d3 # 2.d4*e5 threat: 3.Qc1-c5 # 1...Kb6-b5 2.Ra3-a5 + 2...Kb5-b6 3.Sb2-a4 # 2...Kb5*b4 3.Sb2-c4 # 1...Bb8-a7 2.Bd8*c7 + 2...Kb6-b5 3.Qc1-c4 # 2.Qc1*c7 + 2...Kb6-b5 3.Qc7-c4 #" --- authors: - Loyd, Samuel source: Chess Monthly source-id: 18 date: 1857-04 algebraic: white: [Ka1, Qd1, Rc5, Rc3, Bf3, Bb6, Pg3, Pe6] black: [Kd4, Rg2, Re2, Ba4, Sb2, Sa3, Pd2] stipulation: "#3" solution: | "1.Qd1*d2 + ! 1...Sb2-d3 2.Rc5-a5 # 2.Rc5-b5 # 2.Rc5-h5 # 2.Rc5-g5 # 2.Rc5-f5 # 2.Rc5-d5 # 2.Rc3*d3 # 2.Qd2*d3 # 1...Re2*d2 2.Rc3-e3 threat: 3.Rc5-c1 # 3.Rc5-c2 # 3.Rc5-c3 # 3.Rc5-c8 # 3.Rc5-c7 # 3.Rc5-c6 # 2...Sb2-d3 3.Re3-e4 # 2...Sb2-c4 3.Rc5-d5 # 2...Rd2-d1 + 3.Rc5-c1 # 2...Rd2-c2 3.Rc5*c2 # 3.Rc5-c3 # 2...Rd2-d3 3.Rc5-c1 # 3.Rc5-c2 # 3.Rc5-c8 # 3.Rc5-c7 # 3.Rc5-c6 # 3.Re3-e4 # 2...Rg2-g1 + 3.Rc5-c1 # 2...Sa3-c2 + 3.Rc5*c2 # 2...Sa3-c4 3.Rc5-d5 # 2...Ba4-c2 3.Rc5*c2 # 3.Rc5-c3 # 3.Rc5-c8 # 3.Rc5-c7 # 3.Rc5-c6 # 2...Ba4-c6 3.Rc5*c6 # 3.Rc5-c1 # 3.Rc5-c2 # 3.Rc5-c3 # 2...Kd4*e3 3.Rc5-c3 #" --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 3-moves / 554 date: 1868 algebraic: white: [Ka3, Qh5, Bb7, Sd4] black: [Ka5, Rg5, Be2, Sh4, Pf4, Pb6, Pa4] stipulation: "#3" solution: | "1.Sd4-b3 + ! 1...a4*b3 2.Qh5-e8 threat: 3.Qe8-a4 # 2...Be2-b5 3.Qe8-e1 # 2...Rg5-b5 3.Qe8-a8 # 2...b6-b5 3.Qe8-d8 # 1...Ka5-b5 2.Qh5*e2 #" comments: - also in The Philadelphia Times (no. 1262), 11 December 1892 --- authors: - Loyd, Samuel source: Boston Evening Gazette source-id: 50 date: 1859-04-09 algebraic: white: [Ka3, Rd2, Bh8, Sg7, Sf3, Ph6, Ph3, Pe7] black: [Kc3, Qd4, Rh5, Pd3, Pc5, Pc4, Pa4] stipulation: "#3" solution: | "1.Sg7-e8 ! threat: 2.Se8-c7 threat: 3.Sc7-b5 # 2.Se8-d6 threat: 3.Sd6-b5 # 3.Sd6-e4 # 2...Rh5-h4 3.Sd6-b5 # 2...Rh5-e5 3.Sd6-b5 # 1...Qd4*h8 2.Se8-d6 threat: 3.Sd6-b5 # 3.Sd6-e4 # 2...Rh5-h4 3.Sd6-b5 # 2...Rh5-e5 3.Sd6-b5 # 2...Qh8-d4 3.Sd6-b5 # 2...Qh8-e5 3.Sd6-b5 # 2...Qh8-h7 3.Sd6-b5 # 2...Qh8-a8 3.Sd6-b5 # 2...Qh8-b8 3.Sd6-e4 # 2...Qh8-e8 3.Sd6-e4 # 1...Rh5*h3 2.Se8-d6 threat: 3.Sd6-b5 # 3.Sd6-e4 # 2...Rh3*f3 3.Sd6-e4 # 2...Rh3-h4 3.Sd6-b5 # 2.Se8-f6 threat: 3.Sf6-d5 # 3.Sf6-e4 # 2...Rh3*f3 3.Sf6-e4 # 2...Rh3-h5 3.Sf6-e4 # 2...Rh3-h4 3.Sf6-d5 # 2...Qd4*f6 3.Bh8*f6 # 1...Rh5-d5 2.Se8-c7 threat: 3.Sc7-b5 # 3.Sc7*d5 # 2...Rd5-d8 3.Sc7-b5 # 2...Rd5-d7 3.Sc7-b5 # 2...Rd5-d6 3.Sc7-b5 # 2...Rd5-h5 3.Sc7-b5 # 2...Rd5-g5 3.Sc7-b5 # 2...Rd5-f5 3.Sc7-b5 # 2...Rd5-e5 3.Sc7-b5 # 1...Rh5-e5 2.Se8-f6 zugzwang. 2...Qd4-d6 3.Sf6-e4 # 2...Qd4-g1 3.Sf6-e4 # 3.Sf6-d5 # 2...Qd4-f2 3.Sf6-d5 # 3.Sf6-e4 # 2...Qd4-e3 3.Sf6-d5 # 2...Qd4-d8 3.Sf6-e4 # 2...Qd4-d7 3.Sf6-e4 # 2...Qd4-d5 3.Sf6*d5 # 2...Qd4-h4 3.Sf6-d5 # 2...Qd4-g4 3.Sf6-d5 # 2...Qd4-f4 3.Sf6-d5 # 2...Qd4-e4 3.Sf6*e4 # 2...Re5-e1 3.Sf6-d5 # 2...Re5-e2 3.Sf6-d5 # 2...Re5-e3 3.Sf6-d5 # 2...Re5-e4 3.Sf6-d5 # 3.Sf6*e4 # 2...Re5-d5 3.Sf6-e4 # 3.Sf6*d5 # 2...Re5*e7 3.Sf6-d5 # 2...Re5-e6 3.Sf6-d5 # 2...Re5-h5 3.Sf6-e4 # 2...Re5-g5 3.Sf6-e4 # 2...Re5-f5 3.Sf6-e4 # 1...Rh5-f5 2.Se8-d6 threat: 3.Sd6-b5 # 3.Sd6-e4 # 2...Rf5*f3 3.Sd6-e4 # 2...Rf5-f4 3.Sd6-b5 # 2...Rf5-e5 3.Sd6-b5 # 2...Rf5-f6 3.Sd6-b5 # 1...Rh5*h6 2.Se8-c7 threat: 3.Sc7-b5 # 3.Sc7-d5 # 2...Rh6-h5 3.Sc7-b5 # 2...Rh6-b6 3.Sc7-d5 # 2...Rh6-d6 3.Sc7-b5 # 2...Rh6-f6 3.Sc7-b5 # 2...Rh6*h8 3.Sc7-b5 #" --- authors: - Loyd, Samuel source: Syracuse Standard date: 1858 algebraic: white: [Ka4, Qb5, Rd8, Ra2, Bf3, Bb4, Sc3, Sa3, Ph3, Pg7, Pb2] black: [Kd2, Qh8, Rg3, Re1, Bg2, Bf2, Se2, Sd5, Pg6, Pc5, Pb6] stipulation: "#3" solution: | "1.Sa3-b1 + ! 1...Re1*b1 2.Qb5*e2 + 2...Kd2-c1 3.Qe2-d1 # 1...Kd2-c2 2.b2-b3 + 2...Kc2-c1 3.Bb4-a3 # 1...Kd2-e3 2.Sc3*d5 + 2...Ke3*f3 3.Sb1-d2 # 2...Ke3-d4 3.g7*h8=Q # 3.g7*h8=B # 1...Kd2-c1 2.Bb4-a3 threat: 3.b2-b4 # 3.b2-b3 # 2...Se2*c3 + 3.b2*c3 # 2...Rg3-g4 + 3.b2-b4 # 2...Sd5-b4 3.b2-b3 # 2...Sd5*c3 + 3.b2*c3 # 2...Qh8-h4 + 3.b2-b4 #" --- authors: - Loyd, Samuel source: The Albion (New York) source-id: 511 date: 1858-10-23 algebraic: white: [Ka4, Qg2, Bd4, Se4, Pg3, Pc2, Pa7] black: [Kd5, Qg7, Rf6, Bd8, Pf5, Pe7, Pe6, Pd6, Pd3, Pc4, Pb6] stipulation: "#3" solution: | "1.Se4*d6 + ! 1...Kd5*d4 2.c2-c3 + 2...Kd4-c5 3.Sd6-b7 # 2...Kd4-e5 3.Sd6*c4 # 2...Kd4-e3 3.Sd6*c4 # 2...Kd4*c3 3.Sd6-b5 # 1...Kd5*d6 2.Ka4-b5 threat: 3.Qg2-c6 #" --- authors: - Loyd, Samuel source: Chicago Leader source-id: 10 date: 1859 algebraic: white: [Ka5, Qg7, Rd3, Sf3, Sd4, Pf6] black: [Kc5, Qc6, Rh3, Re1, Sc1, Pe3] stipulation: "#3" solution: | "1.Qg7-b7 ! threat: 2.Qb7*c6 # 1...Sc1-b3 + 2.Sd4*b3 + 2...Kc5-c4 3.Sf3-e5 # 1...Kc5-c4 2.Qb7*c6 + 2...Kc4*d3 3.Qc6-c2 # 1...Qc6-a4 + 2.Ka5*a4 threat: 3.Qb7-c6 # 2...Kc5-c4 3.Qb7-b5 # 1...Qc6-b5 + 2.Qb7*b5 + 2...Kc5-d6 3.Qb5-c6 # 1...Qc6*f3 2.Sd4-e6 + 2...Kc5-c4 3.Qb7-a6 # 3.Qb7-b5 # 1...Qc6-e4 2.Qb7*e4 threat: 3.Qe4-c6 # 3.Sd4-e6 # 2...Sc1*d3 3.Qe4-c6 # 2...Sc1-b3 + 3.Sd4*b3 # 2...Kc5-c4 3.Sd4-b3 # 3.Sd4-e6 # 2...Kc5-d6 3.Qe4-c6 # 2.Qb7-c8 + 2...Qe4-c6 3.Qc8*c6 # 2...Kc5-d5 3.Qc8-c6 # 2...Kc5-d6 3.Sd4-f5 # 3.Sd4-b5 # 2.Qb7-b6 + 2...Kc5-d5 3.Qb6-c6 # 2...Kc5-c4 3.Qb6-b5 # 2.Qb7-c7 + 2...Qe4-c6 3.Qc7*c6 # 2...Kc5-d5 3.Qc7-c6 # 2.Sd4-e6 + 2...Qe4*e6 3.Qb7-b5 # 2...Kc5-c4 3.Qb7-b5 # 3.Qb7-a6 # 3.Qb7*e4 # 1...Qc6-d5 2.Qb7-b4 # 1...Qc6-e8 2.Sd4-e6 + 2...Kc5-c4 3.Qb7-e4 # 3.Qb7-d5 # 3.Sf3-e5 # 2...Qe8*e6 3.Qb7-b5 # 1...Qc6-d7 2.Sd4-e6 + 2...Kc5-c4 3.Sf3-e5 # 2...Qd7*e6 3.Qb7-b5 # 1...Qc6*b7 2.Sd4-e6 + 2...Kc5-c6 3.Sf3-e5 # 2...Kc5-c4 3.Sf3-e5 # 1...Qc6-a6 + 2.Qb7*a6 threat: 3.Qa6-c6 # 3.Sd4-e6 # 2...Sc1*d3 3.Qa6-c6 # 2...Sc1-b3 + 3.Sd4*b3 # 2...Kc5-d5 3.Qa6-c6 # 1...Qc6-b6 + 2.Qb7*b6 + 2...Kc5-d5 3.Qb6-c6 # 2...Kc5-c4 3.Qb6-b5 # 1...Qc6-c8 2.Qb7*c8 + 2...Kc5-d5 3.Qc8-c6 # 2...Kc5-d6 3.Qc8-c6 # 3.Sd4-f5 # 3.Sd4-b5 # 2.Sd4-e6 + 2...Kc5-c4 3.Qb7-e4 # 3.Qb7-d5 # 3.Qb7-b5 # 3.Sf3-e5 # 2...Qc8*e6 3.Qb7-b5 # 1...Qc6-c7 + 2.Qb7*c7 + 2...Kc5-d5 3.Qc7-c6 # 1...Qc6*f6 2.Sd4-e6 + 2...Kc5-c4 3.Qb7-a6 # 3.Qb7-d5 # 3.Qb7-b5 # 2...Qf6*e6 3.Qb7-b5 # 1...Qc6-e6 2.Qb7-b5 + 2...Kc5-d6 3.Qb5-c6 # 2.Sd4*e6 + 2...Kc5-c4 3.Qb7-a6 # 3.Qb7-e4 # 3.Qb7-d5 # 3.Qb7-b5 # 3.Sf3-e5 # 2.Rd3-c3 + 2...Kc5-d6 3.Qb7-c6 # 3.Sd4-b5 # 2...Qe6-c4 3.Qb7-c6 # 1...Qc6-d6 2.Qb7-b5 # 2.Rd3-c3 #" --- authors: - Loyd, Samuel source: New York Saturday Courier date: 1855-04-14 algebraic: white: [Ka5, Qd3, Re8, Ba6, Sf7, Pc4, Pb6] black: [Kc6, Qd7, Re6, Sc5, Sb4] stipulation: "#3" solution: | "1.Re8-c8 + ! 1...Qd7*c8 2.Qd3-d6 + 2...Re6*d6 3.Sf7-e5 # 1...Qd7-c7 2.Rc8*c7 # 2.Sf7-d8 #" keywords: - Checking key - Pin mate - Selfblock comments: - This was young Samuel Loyd's first published chess composition at the age of 14 years and 3 months. --- authors: - Loyd, Samuel source: Harper's Weekly source-id: 7v date: 1858-11-27 algebraic: white: [Ka6, Qd4, Rc1, Ba8, Ba1, Sf1, Sb2, Pf3, Pe5, Pe2, Pd3, Pb5] black: [Kb4, Rg3, Rf6, Bc4, Sa3, Pf7, Pe7, Pe6, Pe3, Pc2, Pb3, Pa7] stipulation: "#3" solution: | "1.Qd4-h4 ! zugzwang. 1...Rg3-g1 2.Qh4-e1 + 2...Kb4-c5 3.Sb2-a4 # 1...Sa3-b1 2.Qh4*c4 + 2...Kb4-a3 3.Qc4-a4 # 1...Sa3*b5 2.Qh4*c4 + 2...Kb4-a3 3.Qc4-a4 # 1...Rg3-g2 2.Qh4-e1 + 2...Kb4-c5 3.Sb2-a4 # 1...Rg3*f3 2.Qh4-e1 + 2...Kb4-c5 3.Sb2-a4 # 1...Rg3-g8 2.Qh4-e1 + 2...Kb4-c5 3.Sb2-a4 # 1...Rg3-g7 2.Qh4-e1 + 2...Kb4-c5 3.Sb2-a4 # 1...Rg3-g6 2.Qh4-e1 + 2...Kb4-c5 3.Sb2-a4 # 1...Rg3-g5 2.Qh4-e1 + 2...Kb4-c5 3.Sb2-a4 # 1...Rg3-g4 2.Qh4-e1 + 2...Kb4-c5 3.Sb2-a4 # 1...Rg3-h3 2.Qh4-e1 + 2...Kb4-c5 3.Sb2-a4 # 1...Kb4-c5 2.Ka6-a5 threat: 3.d3-d4 # 3.Sb2-a4 # 2...Sa3*b5 3.Qh4*c4 # 3.Sb2-a4 # 2...Rg3-g4 3.Sb2-a4 # 2...Bc4*d3 3.Sb2-a4 # 3.Qh4-b4 # 3.Sb2*d3 # 2...Bc4*b5 3.Qh4-b4 # 3.d3-d4 # 2...Rf6-f4 3.Sb2-a4 # 1...Kb4-c3 2.Ka6-a5 threat: 3.Sb2-d1 # 3.Sb2-a4 # 1...Rf6*f3 2.Qh4*e7 + 2...Kb4-c3 3.Sb2-d1 # 3.Sb2-a4 # 1...Rf6-f4 2.Qh4*e7 + 2...Kb4-c3 3.Sb2-d1 # 3.Sb2-a4 # 1...Rf6-f5 2.Qh4*e7 + 2...Kb4-c3 3.Sb2-d1 # 3.Sb2-a4 # 1...Rf6-h6 2.Qh4*e7 + 2...Kb4-c3 3.Sb2-d1 # 3.Sb2-a4 # 1...Rf6-g6 2.Qh4*e7 + 2...Kb4-c3 3.Sb2-d1 # 3.Sb2-a4 #" --- authors: - Loyd, Samuel source: La Stratégie source-id: 3 date: 1867-01-15 algebraic: white: [Ka6, Rd6, Bg2, Bb8, Sc4, Sa3, Pc3, Pb2] black: [Kc5, Rg4, Bh7, Se7, Sd8, Pg3, Pe6, Pd5, Pc6, Pb6, Pb3] stipulation: "#3" solution: | "1.Bg2-e4 ! threat: 2.Sc4-d2 threat: 3.Sd2*b3 # 2.Sc4-e5 threat: 3.Se5-d3 # 3.Se5-d7 # 2...d5*e4 3.Se5-d7 # 2...Bh7*e4 3.Se5-d7 # 2.Sc4*b6 threat: 3.Sb6-a4 # 3.Sb6-d7 # 2...Rg4*e4 3.Sb6-d7 # 1...Rg4*e4 2.Sc4*b6 threat: 3.Sb6-d7 # 2...Re4-a4 + 3.Sb6*a4 # 1...Rg4-g5 2.Sc4-d2 threat: 3.Sd2*b3 # 2.Sc4*b6 threat: 3.Sb6-a4 # 3.Sb6-d7 # 1...d5-d4 2.Rd6*c6 + 2...Se7*c6 3.Bb8-d6 # 2...Sd8*c6 3.Bb8-d6 # 2.Sc4-e5 threat: 3.Se5-d3 # 3.Se5-d7 # 2...d4*c3 3.Se5-d3 # 2...Bh7*e4 3.Se5-d7 # 1...d5*c4 2.Rd6-d4 threat: 3.Bb8-d6 # 3.Rd4*c4 # 2...Rg4*e4 3.Bb8-d6 # 2...b6-b5 3.Bb8-a7 # 3.Bb8-d6 # 2...Se7-d5 3.Rd4*c4 # 2...Se7-f5 3.Rd4*c4 # 2...Se7-c8 3.Rd4*c4 # 2...Bh7*e4 3.Bb8-d6 # 2...Sd8-b7 3.Rd4*c4 # 2...Sd8-f7 3.Rd4*c4 # 1...Se7-f5 2.Sc4-e5 threat: 3.Se5-d3 # 3.Se5-d7 # 2...Rg4-g7 3.Se5-d3 # 2...d5*e4 3.Se5-d7 # 2.Sc4*b6 threat: 3.Sb6-a4 # 3.Sb6-d7 # 2...Rg4*e4 3.Sb6-d7 # 2...Rg4-g7 3.Sb6-a4 # 1...Se7-g6 2.Sc4-d2 threat: 3.Sd2*b3 # 2.Sc4*b6 threat: 3.Sb6-a4 # 3.Sb6-d7 # 2...Rg4*e4 3.Sb6-d7 # 2...Sg6-e5 3.Sb6-a4 # 2...Sg6-f8 3.Sb6-a4 # 1...Se7-c8 2.Sc4-d2 threat: 3.Sd2*b3 # 2.Sc4-e5 threat: 3.Se5-d3 # 3.Se5-d7 # 2...Rg4-g7 3.Se5-d3 # 2...d5*e4 3.Se5-d7 # 2...Bh7*e4 3.Se5-d7 # 1...Bh7*e4 2.Sc4-e5 threat: 3.Se5-d7 # 2...Be4-d3 + 3.Se5*d3 # 1...Sd8-b7 2.Sc4-e5 threat: 3.Se5-d3 # 3.Se5-d7 # 2...d5*e4 3.Se5-d7 # 2...Bh7*e4 3.Se5-d7 # 2.Sc4*b6 threat: 3.Sb6-a4 # 3.Sb6-d7 # 2...Rg4*e4 3.Sb6-d7 # 1...Sd8-f7 2.Sc4-d2 threat: 3.Sd2*b3 # 2.Sc4*b6 threat: 3.Sb6-a4 # 3.Sb6-d7 # 2...Rg4*e4 3.Sb6-d7 # 2...Sf7-e5 3.Sb6-a4 #" comments: - Dedicated to Jean Preti --- authors: - Loyd, Samuel source: v. American Chess-Nuts source-id: 3-moves / 592 date: 1868 algebraic: white: [Ka6, Qh1, Rd5, Bg8, Sg6, Ph6, Pc2, Pb6, Pa5] black: [Kc6, Qe2, Rh7, Pg7, Pg3, Pd3] stipulation: "#3" solution: | "1.Qh1-f1 ! threat: 2.Qf1*e2 threat: 3.Qe2-e8 # 3.Sg6-e5 # 3.Sg6-e7 # 3.Qe2-e6 # 2...d3*e2 3.Sg6-e5 # 3.Sg6-e7 # 2...g7*h6 3.Sg6-e5 # 3.Qe2-e6 # 1...Qe2-e1 2.Qf1*e1 threat: 3.Sg6-e5 # 3.Sg6-e7 # 3.Qe1-c3 # 3.Qe1-e8 # 3.Qe1-e6 # 2...d3-d2 3.Sg6-e7 # 3.Sg6-e5 # 3.Qe1-e8 # 3.Qe1-e6 # 2...g7*h6 3.Sg6-e5 # 3.Qe1-c3 # 3.Qe1-e6 # 1...Qe2-e8 2.Qf1-f8 threat: 3.Qf8-c5 # 3.Qf8-d6 # 3.Qf8*e8 # 2...g7*h6 3.Qf8-c5 # 3.Qf8-d6 # 2...Qe8-d7 3.Qf8-c5 # 3.Sg6-e5 # 3.Rd5-c5 # 2...Qe8*g6 3.Qf8-c5 # 3.Qf8-a8 # 3.Qf8-c8 # 2...Qe8-f7 3.Qf8-c5 # 3.Qf8-d6 # 2...Qe8-e1 3.Qf8-c5 # 3.Qf8-d6 # 3.Qf8-a8 # 3.Qf8-c8 # 2...Qe8-e2 3.Qf8-c5 # 3.Qf8-d6 # 3.Qf8-a8 # 3.Qf8-c8 # 2...Qe8-e3 3.Qf8-d6 # 3.Qf8-a8 # 3.Qf8-c8 # 2...Qe8-e4 3.Qf8-c5 # 3.Qf8-d6 # 3.Qf8-a8 # 3.Qf8-c8 # 2...Qe8-e5 3.Qf8-c5 # 3.Qf8-a8 # 3.Sg6*e5 # 2...Qe8-e6 3.Qf8-c5 # 3.Qf8-a8 # 2...Qe8-e7 3.Sg6*e7 # 2...Qe8-a8 + 3.Qf8*a8 # 2...Qe8-b8 3.Qf8-c5 # 3.Sg6-e7 # 2...Qe8-c8 + 3.Qf8*c8 # 2...Qe8-d8 3.Qf8-c5 # 3.Sg6-e5 # 2...Qe8*f8 3.Sg6-e5 # 1...Qe2-e6 2.Bg8*e6 threat: 3.Sg6-e5 # 3.Sg6-e7 # 2...g7*h6 3.Sg6-e5 # 1...Qe2-e4 2.Qf1-f4 threat: 3.Qf4-c7 # 3.Qf4-d6 # 2...Qe4*g6 3.Qf4-c7 # 3.Qf4-a4 # 3.Qf4-c4 # 2...Qe4*d5 3.Qf4-c7 # 2...Qe4-b4 3.Sg6-e5 # 3.Qf4-c7 # 2...Qe4-c4 + 3.Qf4*c4 # 2...Qe4-e7 3.Sg6*e7 # 3.Qf4-a4 # 2...Qe4-e6 3.Qf4-c4 # 2...Qe4-e5 3.Qf4-c4 # 3.Sg6*e5 # 3.Qf4-a4 # 2...Qe4*f4 3.Sg6-e7 # 2...g7*h6 3.Qf4-d6 # 1...Qe2-e3 2.Qf1-b1 threat: 3.Qb1-b5 # 2...Qe3*b6 + 3.Qb1*b6 # 2...Qe3-c5 3.Sg6-e5 # 1...g7*h6 2.Qf1-f6 + 2...Qe2-e6 3.Qf6*e6 #" --- authors: - Loyd, Samuel source: Lynn News source-id: 57 date: 1859-10 algebraic: white: [Ka6, Qc5, Bg4, Sd5, Pe2] black: [Ke4, Pe7, Pa7] stipulation: "#3" solution: | "1.Bg4-e6 ! threat: 2.Qc5-e3 # 1...Ke4-e5 2.e2-e4 zugzwang. 2...Ke5*e4 3.Qc5-e3 # 2...Ke5*e6 3.Qc5*e7 #" --- authors: - Loyd, Samuel source: The Gambit source-id: 16 date: 1859-11-05 algebraic: white: [Ka6, Qc5, Bg4, Sd5, Pb4] black: [Ke4, Pe7, Pb5, Pa7] stipulation: "#3" solution: | "1.Qc5-c3 ! zugzwang. 1...Ke4*d5 2.Bg4-f5 threat: 3.Qc3-c5 # 1...e7-e5 2.Bg4-d7 zugzwang. 2...Ke4*d5 3.Qc3-d3 # 1...e7-e6 2.Bg4-f3 + 2...Ke4-f5 3.Qc3-f6 #" --- authors: - Loyd, Samuel source: London Chess Congress date: 1866 algebraic: white: [Ka7, Rh5, Bd6, Bb5, Sf5, Sc6, Pd2] black: [Kd5, Sa6, Pd3, Pc5] stipulation: "#3" solution: | "1.Bb5-c4 + ! 1...Kd5*c6 2.Rh5-h7 zugzwang. 2...Sa6-b4 3.Rh7-c7 # 2...Sa6-c7 3.Rh7*c7 # 2...Sa6-b8 3.Rh7-c7 # 1...Kd5-e4 2.Sf5-d4 threat: 3.Rh5-h4 # 3.Bc4-d5 # 2...c5*d4 3.Bc4-d5 # 2...Sa6-b4 3.Rh5-h4 # 2...Sa6-c7 3.Rh5-h4 # 1...Kd5*c4 2.Sf5-d4 zugzwang. 2...c5*d4 3.Sc6-a5 # 2...Sa6-b4 3.Rh5*c5 # 2...Sa6-c7 3.Rh5*c5 # 2...Sa6-b8 3.Rh5*c5 #" --- authors: - Loyd, Samuel source: New York City Chess Club date: 1891-05-16 algebraic: white: [Ka7, Qg5, Rc4, Ra1, Be4, Sh6] black: [Ke6, Rh4, Bf7, Bb2, Se1, Pc3, Pa6, Pa2] stipulation: "#3" solution: | "1.Rc4-d4 ! threat: 2.Qg5-f5 + 2...Ke6-e7 3.Qf5*f7 # 2.Be4-f5 + 2...Ke6-e5 3.Qg5-g7 # 2.Ra1*e1 threat: 3.Be4-f5 # 2...Rh4*e4 3.Re1*e4 # 1...Se1-g2 2.Qg5-f5 + 2...Ke6-e7 3.Qf5*f7 # 2.Be4-f5 + 2...Ke6-e5 3.Qg5-g7 # 1...Se1-f3 2.Qg5-f5 + 2...Ke6-e7 3.Qf5*f7 # 2.Be4-f5 + 2...Ke6-e5 3.Qg5-g7 # 1...Se1-d3 2.Qg5-f5 + 2...Ke6-e7 3.Qf5*f7 # 2.Be4-f5 + 2...Ke6-e5 3.Qg5-g7 # 1...Se1-c2 2.Qg5-f5 + 2...Ke6-e7 3.Qf5*f7 # 2.Be4-f5 + 2...Ke6-e5 3.Qg5-g7 # 1...Bb2*a1 2.Be4-f5 + 2...Ke6-e5 3.Qg5-g7 # 2.Qg5-d8 threat: 3.Qd8-d6 # 2.Qg5-f5 + 2...Ke6-e7 3.Qf5*f7 # 1...Bb2-c1 2.Qg5-f5 + 2...Ke6-e7 3.Qf5*f7 # 2.Be4-f5 + 2...Ke6-e5 3.Qg5-g7 # 1...Bb2-a3 2.Qg5-f5 + 2...Ke6-e7 3.Qf5*f7 # 2.Be4-f5 + 2...Ke6-e5 3.Qg5-g7 # 1...c3-c2 2.Qg5-f5 + 2...Ke6-e7 3.Qf5*f7 # 2.Be4-f5 + 2...Ke6-e5 3.Qg5-g7 # 1...Rh4-h1 2.Sh6-g4 threat: 3.Qg5-f6 # 3.Qg5-e5 # 3.Be4-f5 # 2...Se1-f3 3.Qg5-f6 # 3.Be4-f5 # 2...Se1-d3 3.Qg5-f6 # 3.Be4-f5 # 2...Rh1-f1 3.Qg5-e5 # 2...Rh1-h6 3.Qg5-e5 # 3.Be4-f5 # 2...Rh1-h5 3.Qg5-f6 # 3.Be4-f5 # 2...Bf7-h5 3.Qg5-f6 # 2...Bf7-g6 3.Qg5-f6 # 2...Bf7-g8 3.Qg5-f6 # 2...Bf7-e8 3.Qg5-f6 # 2.Qg5-f5 + 2...Ke6-e7 3.Qf5*f7 # 2.Be4-b1 threat: 3.Bb1*a2 # 2...a2*b1=Q 3.Ra1*a6 # 2...a2*b1=S 3.Ra1*a6 # 2...a2*b1=R 3.Ra1*a6 # 2...a2*b1=B 3.Ra1*a6 # 2.Be4-f5 + 2...Ke6-e5 3.Qg5-g7 # 2.Rd4-d8 threat: 3.Be4-d5 # 1...Rh4-h2 2.Sh6-g4 threat: 3.Qg5-f6 # 3.Qg5-e5 # 3.Be4-f5 # 2...Se1-f3 3.Qg5-f6 # 3.Be4-f5 # 2...Se1-d3 3.Qg5-f6 # 3.Be4-f5 # 2...Rh2-f2 3.Qg5-e5 # 2...Rh2-h6 3.Qg5-e5 # 3.Be4-f5 # 2...Rh2-h5 3.Qg5-f6 # 3.Be4-f5 # 2...Bf7-h5 3.Qg5-f6 # 2...Bf7-g6 3.Qg5-f6 # 2...Bf7-g8 3.Qg5-f6 # 2...Bf7-e8 3.Qg5-f6 # 2.Qg5-f5 + 2...Ke6-e7 3.Qf5*f7 # 2.Be4-f5 + 2...Ke6-e5 3.Qg5-g7 # 1...Rh4-h3 2.Sh6-g4 threat: 3.Qg5-f6 # 3.Qg5-e5 # 3.Be4-f5 # 2...Se1-f3 3.Qg5-f6 # 3.Be4-f5 # 2...Se1-d3 3.Qg5-f6 # 3.Be4-f5 # 2...Rh3-f3 3.Qg5-e5 # 2...Rh3-h6 3.Qg5-e5 # 3.Be4-f5 # 2...Rh3-h5 3.Qg5-f6 # 3.Be4-f5 # 2...Bf7-h5 3.Qg5-f6 # 2...Bf7-g6 3.Qg5-f6 # 2...Bf7-g8 3.Qg5-f6 # 2...Bf7-e8 3.Qg5-f6 # 2.Qg5-f5 + 2...Ke6-e7 3.Qf5*f7 # 2.Be4-f5 + 2...Ke6-e5 3.Qg5-g7 # 1...Rh4*e4 2.Qg5-f5 + 2...Ke6-e7 3.Qf5*f7 # 1...Rh4-f4 2.Ra1*e1 threat: 3.Be4-f5 # 2...Rf4*e4 3.Re1*e4 # 1...Rh4-g4 2.Sh6*g4 threat: 3.Qg5-f6 # 3.Qg5-e5 # 3.Be4-f5 # 2...Se1-f3 3.Qg5-f6 # 3.Be4-f5 # 2...Se1-d3 3.Qg5-f6 # 3.Be4-f5 # 2...Bf7-h5 3.Qg5-f6 # 2...Bf7-g6 3.Qg5-f6 # 2...Bf7-g8 3.Qg5-f6 # 2...Bf7-e8 3.Qg5-f6 # 2.Qg5-f5 + 2...Ke6-e7 3.Qf5*f7 # 1...Rh4*h6 2.Be4-b1 threat: 3.Bb1*a2 # 2...a2*b1=Q 3.Ra1*a6 # 2...a2*b1=S 3.Ra1*a6 # 2...a2*b1=R 3.Ra1*a6 # 2...a2*b1=B 3.Ra1*a6 # 2...Rh6-f6 3.Qg5-e3 # 1...Rh4-h5 2.Be4-f5 + 2...Ke6-e5 3.Qg5-g7 # 1...Bf7-h5 2.Be4-f5 + 2...Ke6-e5 3.Qg5-g7 # 1...Bf7-g6 2.Qg5*g6 + 2...Ke6-e7 3.Qg6-f7 # 2...Ke6-e5 3.Qg6-d6 # 1...Bf7-g8 2.Be4-f5 + 2...Ke6-e5 3.Qg5-g7 # 2.Ra1*e1 threat: 3.Be4-f5 # 2...Rh4*e4 3.Re1*e4 # 2...Rh4*h6 3.Be4-g6 #" comments: - also in The Philadelphia Times (no. 1117), 7 June 1891 - also in The Louisville Courier-Journal (no. 26), 21 June 1891 --- authors: - Loyd, Samuel source: Hartford Globe date: 1878 algebraic: white: [Ka8, Qd3, Rh1, Bc1, Bb5, Ph2, Pf2, Pd6] black: [Ka1, Qb2, Bh8, Ba7, Pb6, Pa2] stipulation: "#3" solution: | "1.Qd3-h7 ! zugzwang. 1...Qb2-b1 2.Qh7*h8 + 2...Qb1-b2 3.Qh8*b2 # 3.Bc1-h6 # 3.Bc1-g5 # 3.Bc1-f4 # 3.Bc1-e3 # 3.Bc1-d2 # 3.Bc1*b2 # 1...Qb2*c1 2.Qh7*h8 + 2...Ka1-b1 3.Bb5-d3 # 1...Qb2-g7 2.Qh7*g7 + 2...Ka1-b1 3.Bb5-d3 # 2...Bh8*g7 3.Bc1-a3 # 2.Bc1-a3 + 2...Qg7-g1 3.Rh1*g1 # 1...Qb2-f6 2.Bc1-a3 # 1...Qb2-e5 2.Bc1-a3 + 2...Qe5-e1 3.Rh1*e1 # 1...Qb2-d4 2.Bc1-a3 + 2...Qd4-d1 3.Rh1*d1 # 1...Qb2-c3 2.Bc1-a3 + 2...Qc3-e1 3.Rh1*e1 # 2...Qc3-c1 3.Rh1*c1 # 1...Qb2-a3 2.Bc1*a3 # 1...Qb2*b5 2.Bc1-a3 + 2...Qb5-f1 3.Rh1*f1 # 2...Qb5-b1 3.Qh7*h8 # 1...Qb2-b4 2.Bc1-a3 + 2...Qb4-e1 3.Rh1*e1 # 2...Qb4-b1 3.Qh7*h8 # 2.Qh7*h8 + 2...Ka1-b1 3.Bb5-d3 # 2...Qb4-c3 3.Bc1-a3 # 2...Qb4-b2 3.Qh8*b2 # 3.Bc1-h6 # 3.Bc1-g5 # 3.Bc1-f4 # 3.Bc1-e3 # 3.Bc1-d2 # 3.Bc1*b2 # 2...Qb4-d4 3.Bc1-a3 # 1...Qb2-b3 2.Bc1-a3 + 2...Qb3-d1 3.Rh1*d1 # 2...Qb3-b1 3.Qh7*h8 # 1...Qb2*f2 2.Bc1-a3 + 2...Qf2-e1 3.Rh1*e1 # 2...Qf2-g1 3.Rh1*g1 # 2...Qf2-f1 3.Rh1*f1 # 1...Qb2-e2 2.Bc1-a3 + 2...Qe2-d1 3.Rh1*d1 # 2...Qe2-f1 3.Rh1*f1 # 2...Qe2-e1 3.Rh1*e1 # 1...Qb2-d2 2.Bc1-a3 + 2...Qd2-c1 3.Rh1*c1 # 2...Qd2-e1 3.Rh1*e1 # 2...Qd2-d1 3.Rh1*d1 # 1...Qb2-c2 2.Bc1-a3 + 2...Qc2-b1 3.Qh7*h8 # 2...Qc2-d1 3.Rh1*d1 # 2...Qc2-c1 3.Rh1*c1 # 2.Qh7*c2 threat: 3.Bc1-h6 # 3.Bc1-g5 # 3.Bc1-f4 # 3.Bc1-e3 # 3.Bc1-d2 # 3.Bc1-a3 # 3.Bc1-b2 # 2...Bh8-b2 3.Qc2*b2 # 3.Bc1*b2 # 2...Bh8-c3 3.Bc1-d2 # 3.Bc1-b2 # 1...Ba7-b8 2.Qh7*h8 threat: 3.Qh8*b2 # 3.Bc1-h6 # 3.Bc1-g5 # 3.Bc1-f4 # 3.Bc1-e3 # 3.Bc1-d2 # 3.Bc1*b2 # 2...Ka1-b1 3.Qh8*b2 # 2...Qb2*h8 3.Bc1-a3 # 2...Qb2-g7 3.Bc1-a3 # 2...Qb2-f6 3.Bc1-a3 # 2...Qb2-e5 3.Bc1-a3 # 2...Qb2-d4 3.Bc1-a3 # 2...Qb2-c3 3.Bc1-a3 # 1...Bh8-c3 2.Bc1-d2 + 2...Qb2-b1 3.Bd2*c3 # 2...Qb2-c1 3.Bd2*c3 # 1...Bh8-d4 2.Bc1-e3 + 2...Qb2-b1 3.Be3*d4 # 2...Qb2-c1 3.Be3*d4 # 1...Bh8-e5 2.Bc1-f4 + 2...Qb2-b1 3.Bf4*e5 # 2...Qb2-c1 3.Bf4*e5 # 1...Bh8-f6 2.Bc1-g5 + 2...Qb2-b1 3.Bg5*f6 # 2...Qb2-c1 3.Bg5*f6 # 1...Bh8-g7 2.Bc1-h6 + 2...Qb2-c1 3.Bh6*g7 # 2...Qb2-b1 3.Bh6*g7 # 3.Qh7*g7 #" comments: - Black has a promoted Bishop --- authors: - Loyd, Samuel source: Baltimore Dispatch source-id: 79 date: 1860-02 algebraic: white: [Ka8, Qf1, Rd6, Rb4, Sd7, Sc2, Pe6, Pb2, Pa7] black: [Ka5, Rf5, Bb3, Sh4, Sf8, Pc4, Pc3, Pb5, Pa6, Pa4] stipulation: "#3" solution: | "1.Rb4*c4 ! threat: 2.Rc4*a4 + 2...Bb3*a4 3.b2-b4 # 2...Ka5*a4 3.Rd6*a6 # 2...b5*a4 3.Rd6*a6 # 3.Qf1*a6 # 1...Bb3-a2 2.Rd6*a6 + 2...Ka5*a6 3.Rc4*a4 # 1...Bb3*c2 2.b2-b4 + 2...a4*b3 ep. 3.Qf1-a1 # 1...Bb3*c4 2.b2-b4 + 2...a4*b3 ep. 3.Qf1-a1 # 1...c3*b2 2.Qf1-e1 + 2...b5-b4 3.Qe1*b4 # 1...b5-b4 2.Rc4-c5 + 2...Rf5*c5 3.Rd6*a6 # 3.Qf1*a6 # 2.Qf1*f5 + 2...Sh4*f5 3.Rd6-d5 # 3.Rc4-c5 # 1...b5*c4 2.Qf1*f5 + 2...Sh4*f5 3.Rd6-d5 # 1...Rf5*f1 2.Ka8-b7 threat: 3.Rd6*a6 # 2...b5-b4 3.Rd6-d5 # 3.Rc4-c5 # 2...b5*c4 3.Rd6-d5 # 1...Rf5-f4 2.Ka8-b7 threat: 3.Rd6*a6 # 2...b5-b4 3.Rd6-d5 # 3.Rc4-c5 # 2...b5*c4 3.Rd6-d5 #" --- authors: - Loyd, Samuel source: The New York Turf, Field and Farm source-id: 948 date: 1886-02-05 algebraic: white: [Ka8, Qg3, Bb5, Pg4, Pd5, Pa7] black: [Kc8, Bc7, Pg5, Pd7, Pd6] stipulation: "#3" solution: | "1.Qg3-e1 ! threat: 2.Qe1-e8 + 2...Bc7-d8 3.Qe8*d7 # 2.Qe1-e7 threat: 3.Qe7*d7 # 3.Bb5*d7 # 3.Bb5-a6 # 2...Bc7-a5 3.Qe7*d7 # 2...Bc7-b6 3.Qe7*d7 # 2...Bc7-d8 3.Qe7*d7 # 2...Bc7-b8 3.Qe7*d7 # 3.a7*b8=Q # 1...Bc7-a5 2.Qe1-e8 + 2...Ba5-d8 3.Qe8*d7 # 2...Kc8-c7 3.Qe8-b8 # 1...Bc7-d8 2.Bb5-a6 + 2...Kc8-c7 3.Qe1-a5 # 1...Kc8-d8 2.Ka8-b7 zugzwang. 2...Bc7-a5 3.a7-a8=Q # 3.a7-a8=R # 2...Bc7-b6 3.a7-a8=Q # 3.a7-a8=R # 2...Bc7-b8 3.a7*b8=Q # 3.a7*b8=R #" --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper source-id: 152v date: 1858-09-04 algebraic: white: [Ka8, Qa7, Rf7, Bf1, Se8] black: [Kf3, Sf4, Pg5, Pf2, Pe5] stipulation: "#3" solution: | "1.Rf7*f4 + ! 1...Kf3-g3 2.Qa7*f2 # 1...Kf3*f4 2.Qa7*f2 + 2...Kf4-g4 3.Se8-f6 # 2...Kf4-e4 3.Se8-f6 # 1...e5*f4 2.Qa7-h7 zugzwang. 2...Kf3-g3 3.Qh7-h3 # 2...Kf3-e3 3.Qh7-d3 # 2...Kf3-g4 3.Qh7-h3 # 2...g5-g4 3.Qh7-d3 # 1...g5*f4 2.Qa7-d7 zugzwang. 2...Kf3-e3 3.Qd7-d3 # 2...Kf3-g3 3.Qd7-h3 # 2...Kf3-e4 3.Qd7-d3 # 2...e5-e4 3.Qd7-h3 #" --- authors: - Loyd, Samuel source: New York State Chess Association date: 1895-02-22 algebraic: white: [Ka8, Qd8, Rg1, Rc7, Ba4, Sg6, Sa7, Pf6, Pf5, Pa6] black: [Kf7, Qe2, Rh7, Rf2, Bh6, Bf3, Sd7, Sc5, Pg2, Pe5, Pd3, Pc6] stipulation: "#3" solution: | "1.Sa7-c8 ! threat: 2.Sc8-d6 # 1...Sc5-e4 2.Rc7*d7 # 2.Sg6*e5 # 2.Ba4-b3 # 1...Sc5-b7 2.Rc7*d7 # 1...Bh6-f8 2.Qd8*f8 #" --- authors: - Loyd, Samuel source: The Sunny South source-id: 13 date: 1886-10-16 algebraic: white: [Kb1, Qf2, Re4, Sa4, Pb3] black: [Ka3, Ba1, Sc2, Pf4, Pf3, Pb5, Pb4, Pb2] stipulation: "#3" solution: | "1.Kb1*c2 ! threat: 2.Sa4*b2 threat: 3.Qf2-a7 # 1...b2-b1=Q + 2.Kc2*b1 threat: 3.Qf2-a2 # 2...Ba1-b2 3.Qf2*b2 # 1...b2-b1=S 2.Qf2-a7 threat: 3.Sa4-b2 # 3.Sa4-c3 # 3.Sa4-c5 # 3.Sa4-b6 # 2...Ba1-d4 3.Sa4-c5 # 3.Sa4-b6 # 2...Sb1-c3 3.Sa4*c3 # 2...Ka3-a2 3.Sa4-c3 # 2...b5*a4 3.Qa7*a4 # 2.Kc2*b1 threat: 3.Qf2-a2 # 2...Ba1-b2 3.Qf2*b2 # 1...b2-b1=R 2.Kc2*b1 threat: 3.Qf2-a2 # 2...Ba1-b2 3.Qf2*b2 # 1...b2-b1=B + 2.Kc2*b1 threat: 3.Qf2-a2 # 2...Ba1-b2 3.Qf2*b2 # 1...Ka3-a2 2.Sa4-c3 + 2...Ka2-a3 3.Qf2-a7 # 2...b4*c3 3.Qf2-a7 # 1...b5*a4 2.Kc2-b1 zugzwang. 2...Ka3*b3 3.Qf2*f3 # 2...a4*b3 3.Qf2-a7 #" --- authors: - Loyd, Samuel source: Detroit Post and Tribune source-id: 11 date: 1879-12-29 algebraic: white: [Kb1, Re4, Bg5, Sb5, Pe5] black: [Kb3, Bh7, Sh8, Pg6] stipulation: "#3" solution: | "1.e5-e6 ! zugzwang. 1...Bh7-g8 2.Bg5-d2 threat: 3.Re4-b4 # 2.Bg5-e7 threat: 3.Re4-b4 # 1...Sh8-f7 2.e6*f7 zugzwang. 2...Bh7-g8 3.f7*g8=Q # 3.f7*g8=B #" --- authors: - Loyd, Samuel source: Chess Monthly source-id: v 133 date: 1859-01 algebraic: white: [Kb1, Qa3, Rg6, Bh4, Sf4, Sd1, Pc3] black: [Kc4, Qa7, Rf5, Rf2, Bb5, Sh3, Sf8, Pf7, Pd3, Pc6, Pb2, Pa5] stipulation: "#3" solution: | "1.Rg6-e6 ! threat: 2.Re6-e4 + 2...Qa7-d4 3.Re4*d4 # 3.Sd1-e3 # 2.Bh4-e7 threat: 3.Qa3-a2 # 2...Bb5-a4 3.Qa3*a4 # 2...Bb5-a6 3.Qa3-a4 # 2...Qa7*e7 3.Sd1-e3 # 1...Rf2-f1 2.Re6-e4 + 2...Qa7-d4 3.Re4*d4 # 1...Rf2-c2 2.Re6-e4 + 2...Qa7-d4 3.Re4*d4 # 3.Sd1-e3 # 1...Rf2-d2 2.Re6-e4 + 2...Qa7-d4 3.Re4*d4 # 3.Sd1-e3 # 1...Rf2-e2 2.Re6-e4 + 2...Re2*e4 3.Sd1*b2 # 2...Qa7-d4 3.Re4*d4 # 1...Rf2*f4 2.Sd1*b2 + 2...Kc4-d5 3.Qa3-d6 # 1...Sh3-g5 2.Qa3-a2 + 2...Kc4-c5 3.Bh4*f2 # 1...Sh3*f4 2.Qa3-a2 + 2...Kc4-c5 3.Bh4*f2 # 1...Bb5-a4 2.Qa3*a4 + 2...Kc4-c5 3.Re6*c6 # 3.Qa4*c6 # 1...Bb5-a6 2.Qa3-a4 + 2...Kc4-c5 3.Re6*c6 # 3.Qa4*c6 # 1...Rf5*f4 2.Re6-e5 threat: 3.Qa3-a2 # 2...d3-d2 3.Sd1*b2 # 2...Bb5-a4 3.Qa3*a4 # 1...Rf5-d5 2.Re6-e4 + 2...Rd5-d4 3.Sd1-e3 # 2...Qa7-d4 3.Sd1-e3 # 1...Rf5-e5 2.Re6*e5 threat: 3.Qa3-a2 # 2...Bb5-a4 3.Qa3*a4 # 1...Rf5-f6 2.Re6-e5 threat: 3.Qa3-a2 # 2...Bb5-a4 3.Qa3*a4 # 2.Re6-e4 + 2...Qa7-d4 3.Re4*d4 # 3.Sd1-e3 # 1...Rf5-g5 2.Re6-e4 + 2...Qa7-d4 3.Re4*d4 # 3.Sd1-e3 # 1...Qa7-d4 2.Bh4-e7 threat: 3.Qa3-a2 # 2...Qd4*c3 3.Qa3*c3 # 2...Qd4-d6 3.Sd1-e3 # 2...Bb5-a4 3.Qa3*a4 # 2...Bb5-a6 3.Qa3-a4 # 1...Qa7-b6 2.Re6-e4 + 2...Qb6-d4 3.Re4*d4 # 3.Sd1-e3 # 2.Qa3-a2 + 2...Kc4-c5 3.Bh4-e7 # 1...f7-f6 2.Re6-e4 + 2...Qa7-d4 3.Re4*d4 # 3.Sd1-e3 # 1...f7*e6 2.Bh4-e7 threat: 3.Qa3-a2 # 2...Bb5-a4 3.Qa3*a4 # 2...Bb5-a6 3.Qa3-a4 # 2...Qa7*e7 3.Sd1-e3 # 1...Sf8*e6 2.Bh4-e7 threat: 3.Qa3-a2 # 2...Bb5-a4 3.Qa3*a4 # 2...Bb5-a6 3.Qa3-a4 # 2...Se6-c5 3.Sd1-e3 # 2...Se6-d4 3.Sd1-e3 # 2...Qa7*e7 3.Sd1-e3 # 1...Sf8-g6 2.Re6-e4 + 2...Qa7-d4 3.Re4*d4 # 3.Sd1-e3 #" --- authors: - Loyd, Samuel source: The Albion (New York) source-id: 427 date: 1857-03-07 algebraic: white: [Kb1, Rg2, Rb6, Bh1, Ba7, Sh7, Sb2, Pe4] black: [Ke3, Qf5, Rh8, Rf8, Bg6, Be1] stipulation: "#3" solution: | "1.Rb6-f6 + ! 1...Ke3*e4 2.Rg2-g5 + 2...Ke4-e5 + 3.Sb2-d3 # 2...Ke4-f4 + 3.Sb2-d3 # 2...Qf5-f3 3.Bh1*f3 # 1...Ke3-f3 2.Sh7-g5 + 2...Kf3-f4 3.Sb2-d3 # 1...Ke3-f4 2.Rg2*g6 threat: 3.Sb2-d3 # 2...Rf8-b8 3.Rf6*f5 # 2...Rf8-d8 3.Rf6*f5 # 1...Qf5-c5 2.Ba7*c5 + 2...Ke3*e4 3.Rg2-e2 # 3.Rg2-g5 #" comments: - also in The Chess Monthly (85), June 1858 --- authors: - Loyd, Samuel source: American Union date: 1859-01 algebraic: white: [Kb1, Qg1, Rc4, Bh2, Bf7, Se5, Sd5, Pf2, Pd4, Pd2, Pc5] black: [Ke4, Qh6, Rb3, Ra3, Bh1, Bb4, Sh3, Sa7, Ph5, Pf5, Pf4, Pb6, Pb2] stipulation: "#3" solution: | "1.Qg1*h1 + ! 1...Rb3-f3 2.Qh1-e1 + 2...Ra3-e3 3.d2-d3 # 2...Rf3-e3 3.f2-f3 # 1...f4-f3 2.Sd5-f6 + 2...Qh6*f6 3.d4-d5 #" --- authors: - Loyd, Samuel source: The Era (London) source-id: v 277 date: 1858-07 algebraic: white: [Kb2, Qg3, Bg2, Bd8, Pa3] black: [Kc4, Ph3, Pf3] stipulation: "#3" solution: | "1.Bg2-h1 ! threat: 2.Qg3*f3 threat: 3.Qf3-d5 # 2...Kc4-d4 3.Qf3-c3 # 2...Kc4-b5 3.Qf3-c6 #" --- authors: - Loyd, Samuel source: Brooklyn Chess Chronicle source-id: 61 date: 1886-12-15 algebraic: white: [Kb2, Qe5, Bd1, Bb6, Pe2] black: [Ke1, Rh2, Ph3] stipulation: "#3" solution: | "1.Bd1-c2 ! zugzwang. 1...Rh2-g2 2.Qe5-d4 threat: 3.Qd4-d1 # 2.Qe5-d6 threat: 3.Qd6-d1 # 2.Qe5-d5 threat: 3.Qd5-d1 # 1...Ke1-f1 2.Qe5-d4 zugzwang. 2...Rh2-h1 3.Qd4-f2 # 2...Kf1-e1 3.Qd4-d1 # 2...Kf1*e2 3.Qd4-d1 # 2...Kf1-g2 3.Qd4-g1 # 2...Rh2*e2 3.Qd4-g1 # 2...Rh2-f2 3.Qd4*f2 # 2...Rh2-g2 3.Qd4-d1 # 1...Ke1-d2 2.Bb6-a5 # 1...Rh2-h1 2.Qe5-d4 threat: 3.Qd4-d1 # 2...Ke1-f1 3.Qd4-f2 # 2...Ke1*e2 3.Qd4-f2 # 1...Rh2*e2 2.Qe5-g3 + 2...Ke1-d2 3.Bb6-a5 # 3.Qg3-c3 # 2...Ke1-f1 3.Qg3-g1 # 2...Re2-f2 3.Qg3*f2 # 1...Rh2-f2 2.Qe5-d4 threat: 3.Qd4-d1 # 2...Ke1-f1 3.Qd4*f2 #" comments: - also in The Philadelphia Times (no. 704), 26 December 1886 --- authors: - Loyd, Samuel source: New York Clipper date: 1876 algebraic: white: [Kb3, Qh1, Bd6, Sd4, Sb7, Pg4, Pg3, Pf7, Pf2, Pe5, Pe2, Pc3, Pb4] black: [Kd5, Re4, Pf4, Pe6, Pb6, Pb5] stipulation: "#3" solution: | "1.f7-f8=R ! threat: 2.Rf8-d8 threat: 3.Bd6-b8 # 3.Bd6-c7 # 2.Bd6-b8 threat: 3.Rf8-d8 # 2.Bd6-c7 threat: 3.Rf8-d8 # 1...f4-f3 2.Rf8*f3 zugzwang. 2...Re4*e2 3.Rf3-e3 # 2...Re4-e3 3.Rf3*e3 # 2...Re4*d4 3.Rf3-d3 # 2...Re4*e5 3.Rf3-f5 # 2...Re4*g4 3.Rf3-f4 # 2...Re4-f4 3.Rf3*f4 #" --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper source-id: 171 date: 1858-11-20 algebraic: white: [Kb3, Qf7, Rd1, Bb6, Ba8, Sh1, Pf3, Pe2, Pd5, Pc6] black: [Ke5, Bh2, Sg4, Ph3, Pd7, Pd3, Pd2, Pb4] stipulation: "#3" solution: | "1.Qf7-g7 + ! 1...Sg4-f6 2.e2-e4 zugzwang. 2...Bh2-g1 3.Qg7-g3 # 2...Bh2-f4 3.Qg7-e7 # 2...Bh2-g3 3.Qg7*g3 # 2...Ke5-d6 3.Qg7*f6 # 2...Ke5-f4 3.Qg7*f6 # 2...d7-d6 3.Qg7-g5 # 2...d7*c6 3.Qg7-c7 # 1...Ke5-f5 2.Bb6-d8 threat: 3.Qg7-g5 # 2...Bh2-f4 3.e2-e4 # 2...Sg4-f6 3.Qg7*f6 # 1...Ke5*d5 2.Qg7-e7 threat: 3.c6-c7 # 3.c6*d7 # 3.e2-e4 # 2...Bh2-c7 3.c6*d7 # 3.e2-e4 # 2...d3*e2 3.c6-c7 # 3.c6*d7 # 3.Rd1*d2 # 2...Sg4-e3 3.c6-c7 # 3.c6*d7 # 2...Sg4-f2 3.c6-c7 # 3.c6*d7 # 2...Sg4-f6 3.c6-c7 # 3.c6*d7 # 2...Sg4-e5 3.e2-e4 # 2...d7-d6 3.e2-e4 # 3.Qe7-e4 # 3.c6-c7 # 2...d7*c6 3.e2-e4 # 1...Ke5-d6 2.c6-c7 threat: 3.c7-c8=S # 2...Sg4-f6 3.Qg7*f6 # 1...Ke5-f4 2.Bb6-d4 threat: 3.Qg7*g4 # 2...Sg4-e3 3.Qg7-e5 # 2...Sg4-f2 3.Qg7-e5 # 3.Qg7-f6 # 2...Sg4-h6 3.Qg7-e5 # 2...Sg4-f6 3.Qg7*f6 # 2...Sg4-e5 3.Qg7*e5 # 3.Qg7-f6 #" --- authors: - Loyd, Samuel source: Sam Loyd and his Chess Problems date: 1913 algebraic: white: [Kb5, Qa4, Re8, Rd2, Bh8, Ba2, Sd5, Sa8, Ph7, Pg6, Pa6] black: [Kd7, Qd8, Pe7, Pd6] stipulation: "#3" solution: | "1.Rd2-b2 ! zugzwang. 1...Qd8*e8 2.Kb5-a5 + 2...Kd7-d8 3.Rb2-b8 # 2...Kd7-c8 3.Qa4*e8 # 2...Kd7-e6 3.Qa4-g4 # 1...Kd7-c8 2.Kb5-c4 threat: 3.Sd5*e7 # 3.Qa4-c6 # 2...Qd8*e8 3.Qa4*e8 # 1...Kd7*e8 2.Kb5-c4 + 2...Qd8-d7 3.Rb2-b8 # 2...Ke8-f8 3.Rb2-f2 # 1...Kd7-e6 2.Qa4-g4 # 1...e7-e5 2.Kb5-c4 + 2...Kd7-c8 3.Sd5-e7 # 3.Qa4-c6 # 1...e7-e6 2.Kb5-c4 + 2...Kd7-c8 3.Sd5-e7 # 3.Qa4-c6 # 1...Qd8-a5 + 2.Kb5*a5 + 2...Kd7-e6 3.Qa4-g4 # 1...Qd8-b6 + 2.Kb5*b6 + 2...Kd7-e6 3.Qa4-g4 # 1...Qd8-c7 2.Sa8*c7 threat: 3.Kb5-b6 # 3.Kb5-a5 # 3.Kb5-b4 # 3.Kb5-c4 # 2.Sd5*c7 threat: 3.Kb5-b6 # 3.Kb5-a5 # 3.Kb5-b4 # 3.Kb5-c4 # 3.Ba2-e6 # 2...d6-d5 3.Kb5-c5 # 1...Qd8*a8 2.Re8*a8 zugzwang. 2...Kd7-e6 3.Qa4-g4 # 2...e7-e5 3.Qa4-g4 # 2...e7-e6 3.Kb5-b6 # 3.Kb5-a5 # 3.Kb5-b4 # 3.Kb5-c4 # 1...Qd8-b8 + 2.Re8*b8 threat: 3.Sd5-b6 # 2...Kd7-e6 3.Qa4-g4 # 2...e7-e5 3.Qa4-g4 # 2...e7-e6 3.Sa8-b6 # 3.Kb5-b6 # 3.Kb5-a5 # 3.Kb5-b4 # 3.Kb5-c4 # 1...Qd8-c8 2.Qa4-g4 + 2...Kd7*e8 3.Qg4*c8 # 2...e7-e6 3.Sd5-f6 # 3.Qg4*e6 #" --- authors: - Loyd, Samuel source: United States Chess Association date: 1890 algebraic: white: [Kb6, Qc8, Rg4, Rg2, Bg8, Bb4, Sd6, Sc6, Pg6, Pe6, Pa5, Pa3] black: [Kd5, Rd3, Bh6, Sh3, Sd1, Pg7, Pg5, Pf4, Pe7, Pe4, Pc4, Pb5, Pa4] stipulation: "#3" solution: | "1.Qc8-a8 ! zugzwang. 1...c4-c3 2.Qa8-a6 threat: 3.Qa6*b5 # 1...Sd1-f2 2.Qa8-a6 threat: 3.Qa6*b5 # 1...Sd1-e3 2.Qa8-a6 threat: 3.Qa6*b5 # 1...Sd1-c3 2.Qa8-f8 threat: 3.Qf8-f5 # 1...Sd1-b2 2.Qa8-f8 threat: 3.Qf8-f5 # 2.Qa8-a6 threat: 3.Qa6*b5 # 1...Rd3-d2 2.Rg2*d2 # 1...Rd3*a3 2.Qa8-a6 threat: 3.Qa6*b5 # 2...Sd1-c3 3.Rg2-d2 # 1...Rd3-b3 2.Qa8-a6 threat: 3.Qa6*b5 # 2...Sd1-c3 3.Rg2-d2 # 2...Rb3*b4 3.Rg2-d2 # 1...Rd3-c3 2.Qa8-a6 threat: 3.Qa6*b5 # 1...Rd3-d4 2.Sc6-b8 + 2...Kd5-e5 3.Sb8-d7 # 1...Rd3-g3 2.Qa8-f8 threat: 3.Qf8-f5 # 2...Sd1-e3 3.Rg2-d2 # 1...Rd3-f3 2.Qa8-f8 threat: 3.Qf8-f5 # 2...Sd1-e3 3.Rg2-d2 # 1...Rd3-e3 2.Qa8-f8 threat: 3.Qf8-f5 # 1...Sh3-f2 2.Rg4*g5 + 2...Bh6*g5 3.Rg2*g5 # 1...Sh3-g1 2.Rg4*g5 + 2...Bh6*g5 3.Rg2*g5 # 1...e4-e3 2.Qa8-f8 threat: 3.Qf8-f5 # 1...f4-f3 2.Rg4*e4 threat: 3.Sc6-d4 # 3.Sc6-e5 # 3.Sc6*e7 # 3.Sc6-d8 # 3.Sc6-b8 # 3.Sc6-a7 # 3.Re4-e5 # 2...Rd3-e3 3.Sc6-d4 # 3.Sc6-e5 # 3.Sc6*e7 # 3.Sc6-d8 # 3.Sc6-b8 # 3.Sc6-a7 # 3.Re4-d4 # 2...e7*d6 3.Sc6-d4 # 3.Sc6-e5 # 3.Sc6-e7 # 3.Sc6-d8 # 3.Sc6-b8 # 3.Sc6-a7 # 1...e7*d6 2.e6-e7 #" --- authors: - Loyd, Samuel source: The Musical World date: 1859 algebraic: white: [Kb6, Qd4, Bc3, Sh6, Se3, Ph2, Pf6, Pb2] black: [Kf2, Rd1, Bc6, Sg1, Sf7, Ph3, Pg2, Pf4, Pe2, Pd3, Pc4, Pb7] stipulation: "#3" solution: | "1.Se3*c4 + ! 1...Kf2-f1 2.Bc3-e1 threat: 3.Qd4-f2 # 2...Rd1*e1 3.Sc4-d2 # 2...Kf1*e1 3.Qd4*g1 # 1...Kf2-f3 2.Bc3-e1 zugzwang. 2...Rd1-a1 3.Qd4*d3 # 3.Sc4-d2 # 2...Rd1-b1 3.Sc4-d2 # 3.Qd4*d3 # 2...Rd1-c1 3.Qd4*d3 # 3.Sc4-d2 # 2...Rd1-d2 3.Sc4*d2 # 2...Rd1*e1 3.Sc4-d2 # 2...d3-d2 3.Qd4-d3 # 2...Bc6-a4 3.Qd4-d5 # 2...Bc6-b5 3.Qd4-d5 # 2...Bc6-e4 3.Qd4-f2 # 2...Bc6-d5 3.Qd4*d5 # 2...Bc6-e8 3.Qd4-d5 # 2...Bc6-d7 3.Qd4-d5 # 2...Sf7-d6 3.Sc4-e5 # 2...Sf7-e5 3.Sc4*e5 # 2...Sf7-g5 3.Sc4-e5 # 2...Sf7*h6 3.Sc4-e5 # 2...Sf7-h8 3.Sc4-e5 # 2...Sf7-d8 3.Sc4-e5 #" --- authors: - Loyd, Samuel source: American Chess Association, Indianapolis date: 1889 algebraic: white: [Kb6, Qh8, Rh1, Rf1, Bd7, Bd6, Se2, Pg3, Pe6, Pd3] black: [Kf5, Re5, Ph6, Ph2, Pg6, Pf2, Pd5, Pd4] stipulation: "#3" solution: | "1.Qh8*h6 ! threat: 2.Qh6-f4 # 1...Re5-e4 2.Rf1*f2 + 2...Re4-f4 3.Qh6*f4 # 3.Rf2*f4 # 2...Kf5-g4 3.Qh6-h4 # 1...Kf5-f6 2.Se2-f4 threat: 3.Qh6*g6 # 2...Re5-g5 3.Qh6-f8 # 1...Kf5-g4 2.Se2-g1 zugzwang. 2...f2*g1=Q 3.Qh6-h4 # 2...f2*g1=S 3.Qh6-h4 # 2...f2*g1=R 3.Qh6-h4 # 2...f2*g1=B 3.Qh6-h4 # 2...h2*g1=Q 3.Qh6-f4 # 2...h2*g1=S 3.Qh6-f4 # 2...h2*g1=R 3.Qh6-f4 # 2...h2*g1=B 3.Qh6-f4 # 2...Kg4*g3 3.Qh6-g5 # 2...Kg4-f5 3.Qh6-f4 # 2...Re5-e1 3.Qh6*g6 # 2...Re5-e2 3.Qh6*g6 # 2...Re5-e3 3.Qh6*g6 # 2...Re5-e4 3.Qh6*g6 # 2...Re5*e6 3.Qh6*g6 # 3.Bd7*e6 # 2...Re5-h5 3.Qh6-f4 # 2...Re5-g5 3.Qh6-h3 # 2...Re5-f5 3.Qh6-h4 # 2...g6-g5 3.Qh6-h3 # 1...g6-g5 2.e6-e7 + 2...Re5-e6 3.Bd7*e6 # 3.Qh6*e6 #" comments: - also in The Philadelphia Times (no. 936), 18 August 1889 --- authors: - Loyd, Samuel source: New York Tribune date: 1891 algebraic: white: [Kb7, Rg5, Re7, Bf8, Sc3, Pb5] black: [Kd6, Rd4, Bh7, Bf2, Sh2, Sc2, Pe4] stipulation: "#3" solution: | "1.Sc3-d5 ! threat: 2.Re7-e8 + 2...Kd6-d7 3.Sd5-f6 # 2.Sd5-f6 threat: 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 3.Sf6-e8 # 2...Rd4-d5 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 3.Rg5*d5 # 2...Bh7-f5 3.Re7*e4 # 3.Re7-e8 # 2...Bh7-g6 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 2.Sd5-b6 threat: 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 3.Sb6-c8 # 2...Rd4-c4 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 3.Sb6*c4 # 3.Rg5-d5 # 2...Rd4-d5 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 3.Rg5*d5 # 2...Bh7-f5 3.Re7*e4 # 3.Re7-e8 # 1...Sc2-e3 2.Re7-e8 + 2...Kd6-d7 3.Sd5-f6 # 1...Sc2-b4 2.Re7-e8 + 2...Kd6-d7 3.Sd5-f6 # 1...Bf2-h4 2.Re7-e8 + 2...Kd6-d7 3.Sd5-f6 # 2.Sd5-f6 threat: 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 3.Sf6-e8 # 2...Rd4-d5 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 3.Rg5*d5 # 2...Bh4*g5 3.Re7*e4 # 3.Re7-e8 # 2...Bh7-f5 3.Re7*e4 # 3.Re7-e8 # 2...Bh7-g6 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 1...Bf2-e3 2.Re7-e8 + 2...Kd6-d7 3.Sd5-f6 # 2.Sd5-f6 threat: 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 3.Sf6-e8 # 2...Be3*g5 3.Re7*e4 # 3.Re7-e8 # 2...Rd4-d5 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 3.Rg5*d5 # 2...Bh7-f5 3.Re7*e4 # 3.Re7-e8 # 2...Bh7-g6 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 1...Sh2-g4 2.Sd5-b6 threat: 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 3.Sb6-c8 # 2...Rd4-c4 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 3.Sb6*c4 # 3.Rg5-d5 # 2...Rd4-d5 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 3.Rg5*d5 # 2...Sg4-e5 3.Re7*e5 # 3.Re7-e8 # 2...Bh7-f5 3.Re7*e4 # 3.Re7-e8 # 1...Rd4-d1 2.Re7-e8 + 2...Kd6-d7 3.Sd5-f6 # 2.Sd5-f6 threat: 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 3.Sf6-e8 # 2...Rd1-d5 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 3.Rg5*d5 # 2...Bh7-f5 3.Re7*e4 # 3.Re7-e8 # 2...Bh7-g6 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 1...Rd4-d2 2.Re7-e8 + 2...Kd6-d7 3.Sd5-f6 # 2.Sd5-f6 threat: 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 3.Sf6-e8 # 2...Rd2-d5 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 3.Rg5*d5 # 2...Bh7-f5 3.Re7*e4 # 3.Re7-e8 # 2...Bh7-g6 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 1...Rd4-d3 2.Re7-e8 + 2...Kd6-d7 3.Sd5-f6 # 2.Sd5-f6 threat: 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 3.Sf6-e8 # 2...Rd3-d5 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 3.Rg5*d5 # 2...Bh7-f5 3.Re7*e4 # 3.Re7-e8 # 2...Bh7-g6 3.Re7*e4 # 3.Re7-e5 # 3.Re7-e8 # 1...Rd4-a4 2.Re7-e8 + 2...Kd6-d7 3.Sd5-f6 # 1...Rd4-b4 2.Re7-e8 + 2...Kd6-d7 3.Sd5-f6 # 1...Rd4-c4 2.Re7-e8 + 2...Kd6-d7 3.Sd5-f6 # 1...Rd4*d5 2.Re7*e4 + 2...Kd6-d7 3.Rg5*d5 # 1...Kd6-c5 2.Re7-c7 + 2...Kc5*b5 3.Sd5-c3 # 1...Bh7-f5 2.Sd5-b6 threat: 3.Re7*e4 # 3.Re7-e8 # 2...Bf5-c8 + 3.Sb6*c8 # 2...Bf5-e6 3.Re7-c7 # 3.Re7-d7 # 3.Re7-e8 # 3.Re7-h7 # 3.Re7-g7 # 3.Re7-f7 # 2...Kd6-c5 3.Re7-e5 # 1...Bh7-g8 2.Re7-e8 + 2...Kd6-d7 3.Sd5-f6 #" comments: - "also(?) in The British Chess Magazine, May 1910" --- authors: - Loyd, Samuel source: Porter's Spirit of the Times source-id: 32 date: 1857-04-11 algebraic: white: [Kb7, Qf3, Rd3, Bd1, Se3, Se2, Pg4] black: [Ke1, Qd2, Rh8, Ra4, Bh3, Be7, Sf8, Sa7, Ph4, Pg5, Pb4, Pa3] stipulation: "#3" solution: | "1.Se3-c2 + ! 1...Ke1*d1 2.Qf3-d5 threat: 3.Rd3*d2 # 2...Kd1*c2 3.Qd5-b3 # 2...Kd1*e2 3.Qd5-f3 # 2...Qd2*d3 3.Qd5*d3 # 1...Qd2*c2 2.Bd1*c2 threat: 3.Rd3-d1 #" --- authors: - Loyd, Samuel source: Philadelphia Chess Association date: 1886 algebraic: white: [Kb8, Qb2, Rc8, Sc5, Sa5, Pe5, Pc3] black: [Kd5, Re1, Rd1, Sh5, Ph6, Pe3, Pb5] stipulation: "#3" solution: | "1.Sa5-c6 ! threat: 2.Qb2*b5 threat: 3.Rc8-d8 # 3.c3-c4 # 2...Rd1-c1 3.Rc8-d8 # 2...Rd1-d4 3.Rc8-d8 # 2...Sh5-f6 3.c3-c4 # 1...Rd1-a1 2.c3-c4 + 2...b5*c4 3.Sc6-b4 # 3.Sc6-e7 # 3.Qb2-d4 # 2...Kd5*c5 3.Qb2-d4 # 3.Qb2*b5 # 2...Kd5*c4 3.Qb2-d4 # 1...Rd1-b1 2.c3-c4 + 2...b5*c4 3.Sc6-b4 # 3.Sc6-e7 # 2...Kd5*c5 3.Qb2-d4 # 2...Kd5*c4 3.Qb2-d4 # 1...Rd1-c1 2.c3-c4 + 2...Rc1*c4 3.Sc6-e7 # 2...b5*c4 3.Sc6-e7 # 3.Sc6-b4 # 3.Qb2-d4 # 2...Kd5*c5 3.Qb2-d4 # 3.Qb2*b5 # 2...Kd5*c4 3.Qb2-d4 # 1...Rd1-d4 2.c3-c4 + 2...Rd4*c4 3.Sc6-e7 # 2...b5*c4 3.Qb2*d4 # 2...Kd5*c5 3.Qb2*d4 # 3.Qb2*b5 # 2...Kd5*c4 3.Qb2*d4 # 1...b5-b4 2.Qb2*b4 threat: 3.c3-c4 # 2...Rd1-c1 3.Qb4-d4 # 2...Rd1-d4 3.Qb4*d4 # 1...Kd5*c5 2.c3-c4 threat: 3.Qb2*b5 # 2...Rd1-b1 3.Qb2-d4 # 2...b5-b4 3.Qb2*b4 # 2...b5*c4 3.Sc6-e7 # 2...Kc5*c4 3.Sc6-b4 # 1...Kd5-c4 2.Sc6-b4 threat: 3.Sc5-a4 # 3.Sc5-b3 # 3.Sc5-d3 # 3.Sc5-e4 # 3.Sc5-e6 # 3.Sc5-d7 # 3.Sc5-b7 # 3.Sc5-a6 # 3.Qb2-b3 # 2...Rd1-b1 3.Sc5-a4 # 3.Sc5-b3 # 3.Sc5-d3 # 3.Sc5-e4 # 3.Sc5-e6 # 3.Sc5-d7 # 3.Sc5-b7 # 3.Sc5-a6 # 2...Rd1-d8 3.Qb2-b3 # 2...Rd1-d7 3.Sc5*d7 # 3.Qb2-b3 # 2...Rd1-d6 3.Qb2-b3 # 2...Rd1-d5 3.Qb2-b3 # 1...Sh5-f6 2.Sc6-e7 + 2...Kd5*e5 3.Qb2-h2 # 2...Kd5-c4 3.Qb2-b4 # 3.Qb2-b3 #" comments: - also in The Philadelphia Times (no. 679), 12 September 1886 --- authors: - Loyd, Samuel source: The Philadelphia Times source-id: 843 date: 1888-09-23 algebraic: white: [Kb8, Qf4, Re4, Rc3, Bg6] black: [Kd5, Ra3, Bf6, Sd6, Sb3, Pa7] stipulation: "#3" solution: | "1.Re4-e6 ! threat: 2.Re6*d6 # 2.Qf4*d6 # 1...Ra3-a6 2.Re6*d6 + 2...Ra6*d6 3.Qf4-e4 # 1...Kd5*e6 2.Rc3-c6 threat: 3.Qf4*d6 # 2...Bf6-e5 3.Qf4-f7 # 2...Bf6-e7 3.Qf4-f5 # 1...Sd6-b5 2.Qf4-c4 # 2.Qf4-e4 # 1...Sd6-c4 2.Qf4*c4 # 1...Sd6-e4 2.Qf4*e4 # 1...Sd6-f5 2.Qf4-c4 # 2.Qf4-e4 # 1...Sd6-f7 2.Qf4-c4 # 2.Qf4-e4 # 1...Sd6-e8 2.Qf4-c4 # 2.Qf4-e4 # 1...Sd6-c8 2.Qf4-c4 # 2.Qf4-e4 # 1...Sd6-b7 2.Qf4-c4 # 2.Qf4-e4 # 1...Bf6*c3 2.Qf4*d6 + 2...Kd5-c4 3.Bg6-d3 # 1...Bf6-e5 2.Re6*e5 # 2.Qf4*e5 # 1...Bf6-e7 2.Re6-e5 # 2.Qf4-e5 #" comments: - New York Commercial Advertiser, 1895 --- authors: - Loyd, Samuel source: La Stratégie, Numa Preti Memorial Tourney date: 1910 algebraic: white: [Kb8, Qe3, Rh5, Re4, Bf2, Pc6, Pa7] black: [Kd5, Qc2, Ra5, Bf7, Se1, Pf5, Pf3, Pe7, Pe2, Pb5, Pb3, Pb2] stipulation: "#3" solution: | "1.Re4-e6 ! threat: 2.Rh5*f5 + 2...Qc2*f5 3.Qe3*b3 # 2...Kd5-c4 3.Qe3-d4 # 2.Qe3-e5 + 2...Kd5-c4 3.Qe5-d4 # 1...b2-b1=Q 2.Qe3-e5 + 2...Kd5-c4 3.Qe5-d4 # 1...b2-b1=R 2.Qe3-e5 + 2...Kd5-c4 3.Qe5-d4 # 1...Ra5-a3 2.Qe3-e5 + 2...Kd5-c4 3.Qe5-d4 # 1...Ra5-a4 2.Qe3-e5 + 2...Kd5-c4 3.Qe5-d4 # 1...b5-b4 2.Rh5*f5 + 2...Qc2*f5 3.Qe3*b3 # 2...Kd5-c4 3.Qe3-d4 # 1...Bf7*e6 2.Rh5-h6 threat: 3.Qe3*e6 # 2...Qc2-e4 3.Qe3-c5 # 2...Qc2*c6 3.Qe3-d4 # 2...Kd5-c4 3.Qe3-d4 # 2...Be6-g8 3.Qe3-d4 # 2...Be6-f7 3.Qe3-d4 # 2...Be6-c8 3.Qe3-d4 # 2...Be6-d7 3.Qe3-d4 # 1...Bf7*h5 2.Qe3-e5 + 2...Kd5-c4 3.Qe5-d4 # 1...Bf7-g6 2.Qe3-e5 + 2...Kd5-c4 3.Qe5-d4 #" --- authors: - Loyd, Samuel source: Sam Loyd und seine Schachaufgaben source-id: 76 date: 1926 algebraic: white: [Kb8, Qd7, Bh5, Sf5, Sd5, Pg4] black: [Ke5, Bb3, Pe7] stipulation: "#3" solution: | "1.Qd7-a7 ! threat: 2.Qa7-d4 + 2...Ke5-e6 3.Sd5-f4 # 3.Sd5-c7 # 2.Bh5-f7 threat: 3.Qa7-e3 # 3.Qa7-d4 # 3.Qa7*e7 # 2...Bb3-c2 3.Qa7-d4 # 3.Qa7*e7 # 2...Bb3*d5 3.Qa7-d4 # 2...Ke5-e4 3.Qa7-e3 # 2...e7-e6 3.Qa7-d4 # 2.Sd5-f4 threat: 3.Qa7-d4 # 2...Ke5-e4 3.Qa7-e3 # 2...Ke5-f6 3.Qa7*e7 # 2...Ke5*f4 3.Qa7-e3 # 1...Bb3-d1 2.Qa7-d4 + 2...Ke5-e6 3.Sd5-f4 # 3.Sd5-c7 # 1...Bb3-c2 2.Qa7-d4 + 2...Ke5-e6 3.Sd5-c7 # 3.Sd5-f4 # 1...Bb3*d5 2.Qa7-c5 zugzwang. 2...Ke5-e6 3.Qc5*e7 # 2...Ke5-e4 3.Qc5-e3 # 2...Ke5-f6 3.Qc5*e7 # 2...Ke5-f4 3.Qc5-e3 # 2...e7-e6 3.Qc5-d4 # 1...Ke5-e6 2.Sd5-f4 + 2...Ke6-e5 3.Qa7-d4 # 2...Ke6-f6 3.Qa7*e7 # 1...Ke5*d5 2.Qa7-d4 + 2...Kd5-c6 3.Bh5-e8 # 2...Kd5-e6 3.Sf5-g7 # 1...Ke5-e4 2.Sd5-f4 threat: 3.Qa7-e3 # 2...Ke4-e5 3.Qa7-d4 #" --- authors: - Loyd, Samuel source: US Chess Association date: 1889 algebraic: white: [Kb8, Qd8, Rf1, Bf3, Sd5, Sc8, Pg4, Pe5, Pc7, Pc4, Pb5] black: [Kf7, Rh1, Re6, Bf2, Ph2, Pg7, Pg6, Pg5, Pg2, Pc5] stipulation: "#3" solution: | "1.Sd5-b4 ! threat: 2.Bf3-d5 threat: 3.Sc8-d6 # 3.Rf1*f2 # 2...Rh1*f1 3.Sc8-d6 # 2...g2-g1=Q 3.Sc8-d6 # 2...g2-g1=S 3.Sc8-d6 # 2...g2-g1=B 3.Sc8-d6 # 2...g2*f1=Q 3.Sc8-d6 # 2...g2*f1=S 3.Sc8-d6 # 2...g2*f1=R 3.Sc8-d6 # 2...g2*f1=B 3.Sc8-d6 # 1...Re6*e5 2.Sc8-d6 + 2...Kf7-e6 3.c7-c8=Q # 3.c7-c8=B # 1...Re6-b6 + 2.Sc8*b6 threat: 3.Bf3-d5 # 2...Kf7-e6 3.Qd8-e8 # 1...Re6-d6 2.Sc8*d6 + 2...Kf7-e6 3.Qd8-e8 # 2.e5*d6 threat: 3.Bf3-d5 # 2...Kf7-e6 3.Qd8-e7 #" --- authors: - Loyd, Samuel source: Chess Monthly date: 1860-02 algebraic: white: [Kc1, Sd4, Sb4, Pe2] black: [Ka1, Bh6, Bb1, Pe3, Pc4, Pc3, Pc2] stipulation: "#3" solution: | "1.Sd4-e6 ! zugzwang. 1...Bh6-f4 2.Se6*f4 zugzwang. 2...Bb1-a2 3.Sb4*c2 # 1...Bb1-a2 2.Sb4*c2 # 1...Bh6-g5 2.Se6*g5 zugzwang. 2...Bb1-a2 3.Sb4*c2 # 1...Bh6-f8 2.Se6*f8 zugzwang. 2...Bb1-a2 3.Sb4*c2 # 1...Bh6-g7 2.Se6*g7 zugzwang. 2...Bb1-a2 3.Sb4*c2 #" --- authors: - Loyd, Samuel source: Philadelphia Bulletin date: 1858 algebraic: white: [Kc1, Qd7, Rf3, Rc3, Sb8] black: [Kb4, Rb3, Ra5, Sb6, Sa4, Pe2, Pd6, Pc5, Pa3] stipulation: "#3" solution: | "1.Rc3-c4 + ! 1...Kb4*c4 2.Rf3-f4 + 2...Kc4-c3 3.Qd7-h3 # 2...Kc4-d5 3.Qd7-f5 # 2...Kc4-d3 3.Qd7-h3 # 1...Sb6*c4 2.Qd7-b5 + 2...Kb4*b5 3.Rf3*b3 # 2...Ra5*b5 3.Sb8-c6 #" --- authors: - Loyd, Samuel source: Missouri Democrat source-id: v date: 1859 algebraic: white: [Kc1, Qh4, Rd8, Ra6, Bb8, Sc3, Pg4, Pe7, Pb5] black: [Ke5, Qh6, Rf4, Sd6, Pg6, Pf6, Pc2] stipulation: "#3" solution: | "1.Qh4-h2 ! threat: 2.Rd8*d6 threat: 3.e7-e8=Q # 3.e7-e8=R # 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...Qh6-f8 3.Rd6-d5 # 3.Rd6-d8 # 2...Qh6-g7 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...Qh6-h8 3.Rd6-d5 # 3.Rd6-d8 # 2...Qh6-h7 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2.Ra6*d6 threat: 3.e7-e8=Q # 3.e7-e8=R # 3.Rd6-a6 # 3.Rd6-b6 # 3.Rd6-c6 # 2...Qh6-f8 3.Rd6-a6 # 3.Rd6-b6 # 3.Rd6-c6 # 2...Qh6-g7 3.Rd6-a6 # 3.Rd6-b6 # 3.Rd6-c6 # 2...Qh6-h8 3.Rd6-a6 # 3.Rd6-b6 # 3.Rd6-c6 # 2...Qh6-h7 3.Rd6-a6 # 3.Rd6-b6 # 3.Rd6-c6 # 1...Ke5-d4 2.Ra6-a4 + 2...Kd4-d3 3.Qh2-d2 # 2...Kd4-c5 3.Bb8-a7 # 2...Kd4-e5 3.e7-e8=Q # 3.e7-e8=R # 3.Ra4-e4 # 2...Kd4-e3 3.Qh2-e2 # 2...Kd4*c3 3.Qh2*c2 # 1...f6-f5 2.Rd8*d6 threat: 3.e7-e8=Q # 3.e7-e8=R # 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...f5*g4 3.Rd6-d5 # 2...g6-g5 3.Rd6-d5 # 2...Qh6-g5 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...Qh6-f8 3.Rd6-d5 # 3.Rd6-d8 # 2...Qh6-g7 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...Qh6-h4 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...Qh6-h8 3.Rd6-d5 # 3.Rd6-d8 # 3.Qh2*h8 # 2...Qh6-h7 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 1...Qh6-g5 2.Rd8*d6 threat: 3.e7-e8=Q # 3.e7-e8=R # 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...Qg5*g4 3.Rd6-d5 # 2...Qg5-f5 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...f6-f5 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 1...Qh6-f8 2.Rd8*d6 threat: 3.Rd6-d5 # 3.Rd6-d8 # 2...Qf8*e7 3.Rd6-d5 # 2...Qf8*b8 3.Rd6-d5 # 2...Qf8-c8 3.Rd6-d5 # 1...Qh6-g7 2.Rd8*d6 threat: 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...Qg7-h8 3.Rd6-d5 # 3.Rd6-d8 # 2...Qg7-f8 3.Rd6-d5 # 3.Rd6-d8 # 2...Qg7*e7 3.Rd6-d5 # 2...Qg7-g8 3.Rd6-d5 # 3.Rd6-d8 # 1...Qh6*h2 2.Rd8*d6 threat: 3.e7-e8=Q # 3.e7-e8=R # 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...Qh2-g1 + 3.Rd6-d1 # 2...Qh2-h1 + 3.Rd6-d1 # 2...Qh2-d2 + 3.Rd6*d2 # 2...Qh2-h8 3.Rd6-d5 # 3.Rd6-d8 # 2...Qh2-h7 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...Rf4-f1 + 3.Rd6-d1 # 2...Rf4-f2 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...Rf4-f3 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...Rf4-a4 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...Rf4-b4 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...Rf4-c4 3.Rd6-d5 # 2...Rf4-d4 3.Rd6-d5 # 3.Rd6-e6 # 2...Rf4-e4 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...Rf4-f5 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...Rf4*g4 3.Rd6-d5 # 1...Qh6-h3 2.Rd8*d6 threat: 3.e7-e8=Q # 3.e7-e8=R # 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...Qh3-f1 + 3.Rd6-d1 # 2...Qh3*g4 3.Rd6-d5 # 2...Qh3*c3 3.e7-e8=Q # 3.e7-e8=R # 2...Qh3-d3 3.e7-e8=Q # 3.e7-e8=R # 3.Rd6*d3 # 3.Rd6-d5 # 2...Qh3-e3 + 3.Rd6-d2 # 2...Qh3-h8 3.Rd6-d5 # 3.Rd6-d8 # 2...Qh3-h7 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 1...Qh6-h4 2.Rd8*d6 threat: 3.e7-e8=Q # 3.e7-e8=R # 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...Qh4-e1 + 3.Rd6-d1 # 2...Qh4*g4 3.Rd6-d5 # 2...Qh4-h8 3.Rd6-d5 # 3.Rd6-d8 # 2...Qh4-h7 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...f6-f5 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 1...Qh6-h5 2.Rd8*d6 threat: 3.e7-e8=Q # 3.e7-e8=R # 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...Qh5*g4 3.Rd6-d5 # 2...Qh5-f5 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...Qh5-h8 3.Rd6-d5 # 3.Rd6-d8 # 2...Qh5-h7 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...g6-g5 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 1...Qh6-h8 2.Rd8*d6 threat: 3.Rd6-d5 # 3.Rd6-d8 # 2...Qh8*b8 3.Rd6-d5 # 2...Qh8-c8 3.Rd6-d5 # 1...Qh6-h7 2.Rd8*d6 threat: 3.Rd6-d1 # 3.Rd6-d2 # 3.Rd6-d3 # 3.Rd6-d5 # 3.Rd6-d8 # 3.Rd6-d7 # 2...Qh7-g8 3.Rd6-d5 # 3.Rd6-d8 # 2...Qh7*e7 3.Rd6-d5 # 2...Qh7-h8 3.Rd6-d5 # 3.Rd6-d8 #" --- authors: - Loyd, Samuel source: Syracuse Standard date: 1858-09-11 algebraic: white: [Kc1, Qf2, Ra1, Bb3, Pf3, Pe4] black: [Kh1, Ph2, Pg2, Ph3] stipulation: "#3" solution: | "1.Kc1-d2 + ! 1...g2-g1=Q 2.Ra1-f1 zugzwang. 2...Qg1*f1 3.Qf2*f1 # 1...g2-g1=S 2.Bb3-d1 zugzwang. 2...Sg1*f3 + 3.Bd1*f3 # 2...Sg1-e2 3.Bd1*e2 # 1...g2-g1=R 2.Ra1-f1 zugzwang. 2...Rg1*f1 3.Qf2*f1 # 1...g2-g1=B 2.Kd2-e1 zugzwang. 2...Bg1*f2 + 3.Ke1*f2 #" --- authors: - Loyd, Samuel source: Detroit Free Press date: 1879-03-22 distinction: 3rd Prize, ex aequo algebraic: white: [Kc2, Qa8, Rc1, Bg6, Bd6, Sf1, Sd5, Pd2, Pb4] black: [Kb5, Rf5, Re8, Bd7, Bb2, Sf2, Sd8] stipulation: "#3" solution: | "1.Bd6-c5 ! threat: 2.Sd5-c7 + 2...Kb5-c4 3.Qa8-a2 # 1...Bb2-e5 2.Sd5-b6 threat: 3.Qa8-a4 # 1...Bb2-a3 2.Qa8-a4 + 2...Kb5-c4 3.Sd5-b6 # 2...Kb5*a4 3.Sd5-c3 # 1...Kb5-c4 2.Sd5-b6 + 2...Kc4-b5 3.Qa8-a4 # 2.Kc2*b2 + 2...Kc4-b5 3.Sd5-c7 # 2...Kc4-d3 3.Sd5-f4 # 1...Rf5*d5 2.Qa8-a5 + 2...Kb5-c6 3.Qa5-b6 # 2...Kb5-c4 3.Kc2*b2 # 1...Sd8-b7 2.Qa8-a6 + 2...Kb5*a6 3.Sd5-c7 # 1...Sd8-e6 2.Qa8-b7 + 2...Kb5-c4 3.Sd5-e3 # 3.Sf1-e3 # 2...Kb5-a4 3.Qb7-a6 #" --- authors: - Loyd, Samuel source: American Chess Journal date: 1879-06 algebraic: white: [Kc2, Qd7, Rg5, Be7, Sf7, Pg3, Pe2, Pd3] black: [Kd4, Rg4, Rd6, Pg6, Pf2, Pd5, Pc7] stipulation: "#3" solution: | "1.Rg5*d5 + ! 1...Kd4-e3 2.Rd5-e5 + 2...Ke3-d4 3.Qd7-a4 # 3.Qd7*g4 # 3.e2-e3 # 2...Rg4-e4 3.Re5*e4 # 1...Kd4*d5 2.Sf7*d6 threat: 3.Sd6-c4 # 3.Sd6-f7 # 2...Rg4-c4 + 3.Sd6*c4 # 2...Kd5-e5 3.Sd6-f7 # 2...Kd5-c5 3.Sd6-c4 # 3.Sd6-c8 # 2...Kd5-d4 3.Sd6-c4 # 2...c7*d6 3.Qd7*d6 # 1...Rd6*d5 2.Qd7*g4 + 2...Kd4-e3 3.Qg4-e4 #" keywords: - Letters comments: - Dedicated to Eugene Delmar --- authors: - Loyd, Samuel source: Syracuse Standard source-id: v 43 date: 1858-07-30 algebraic: white: [Kc2, Qe6, Sf2, Pg2, Pf6, Pc7] black: [Kd4, Bb4, Sa4, Pg7, Pb5] stipulation: "#3" solution: | "1.Sf2-d3 ! threat: 2.Qe6-e5 + 2...Kd4-c4 3.Qe5-e4 # 2.Sd3-c1 threat: 3.Sc1-b3 # 2...Sa4-c5 3.Sc1-e2 # 1...Sa4-c3 2.Qe6-e5 + 2...Kd4-c4 3.Sd3-b2 # 1...Sa4-c5 2.Qe6-e5 + 2...Kd4-c4 3.Sd3-b2 # 1...Sa4-b6 2.Qe6-e5 + 2...Kd4-c4 3.Qe5-e4 # 3.Sd3-b2 # 1...Bb4-a3 2.Qe6-e5 + 2...Kd4-c4 3.Qe5-e4 # 1...Bb4-e1 2.Qe6-e5 + 2...Kd4-c4 3.Qe5-e4 # 2.Qe6-d6 + 2...Kd4-e4 3.Qd6-e5 # 2...Kd4-c4 3.Sd3-e5 # 2...Kd4-e3 3.Qd6-e5 # 1...Bb4-d2 2.Qe6-e5 + 2...Kd4-c4 3.Qe5-e4 # 2.Qe6-d6 + 2...Kd4-e4 3.Qd6-e5 # 2...Kd4-c4 3.Sd3-e5 # 2...Kd4-e3 3.Qd6-e5 # 1...Bb4-c3 2.c7-c8=Q threat: 3.Qc8-d7 # 3.Qc8-d8 # 3.Qe6-e5 # 2...Bc3-a5 3.Qc8-d7 # 3.Qe6-e5 # 2...Bc3-b4 3.Qe6-e5 # 2...Sa4-c5 3.Qc8*c5 # 2...Sa4-b6 3.Qc8*c3 # 3.Qc8-c5 # 3.Qe6-e5 # 2...g7*f6 3.Qc8-d7 # 3.Qc8-d8 # 1...Bb4-f8 2.Qe6-e5 + 2...Kd4-c4 3.Qe5-e4 # 1...Bb4-e7 2.Qe6-e5 + 2...Kd4-c4 3.Qe5-e4 # 1...Bb4-d6 2.Qe6*d6 + 2...Kd4-e4 3.Qd6-e5 # 2...Kd4-c4 3.Sd3-e5 # 2...Kd4-e3 3.Qd6-e5 # 1...Bb4-c5 2.Sd3-c1 threat: 3.Sc1-e2 # 3.Sc1-b3 # 2...Sa4-c3 3.Sc1-b3 # 2...Bc5-a3 3.Sc1-b3 # 2...Bc5-b4 3.Sc1-b3 # 2...Bc5-f8 3.Sc1-b3 # 2...Bc5-e7 3.Sc1-b3 # 2...Bc5-d6 3.Sc1-b3 # 2...Bc5-a7 3.Sc1-b3 # 2...Bc5-b6 3.Sc1-b3 # 1...Bb4-a5 2.Qe6-e5 + 2...Kd4-c4 3.Qe5-e4 # 2.Qe6-d6 + 2...Kd4-e4 3.Qd6-e5 # 2...Kd4-c4 3.Sd3-e5 # 2...Kd4-e3 3.Qd6-e5 # 1...g7*f6 2.Sd3-c1 threat: 3.Sc1-b3 # 2...Sa4-c5 3.Sc1-e2 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 24 date: 1857-05 algebraic: white: [Kc2, Qd6, Rh1, Ba3, Sc3] black: [Ke3, Qh8, Ra8, Ra7, Sg7, Sa5, Ph4, Ph3, Pg6, Pe7] stipulation: "#3" solution: | "1.Qd6-d4 + ! 1...Ke3-f3 2.Rh1-f1 + 2...Kf3-g2 3.Qd4-g1 # 3.Qd4-f2 # 2...Kf3-g3 3.Qd4-g1 # 1...Ke3*d4 2.Rh1-e1 threat: 3.Re1-e4 #" --- authors: - Loyd, Samuel source: Baltimore Dispatch source-id: 26 date: 1856-12 algebraic: white: [Kc2, Qd3, Rf7, Sh3, Pf2, Pc6] black: [Ke6, Ba7, Sb6, Pg6, Pf3, Pe7] stipulation: "#3" solution: | "1.Sh3-f4 + ! 1...Ke6-e5 2.c6-c7 zugzwang. 2...Ba7-b8 3.c7*b8=Q # 3.c7*b8=B # 2...Sb6-a4 3.Qd3-d5 # 2...Sb6-c4 3.Qd3-d5 # 2...Sb6-d5 3.Qd3*d5 # 2...Sb6-d7 3.Qd3-d5 # 2...Sb6-c8 3.Qd3-d5 # 2...Sb6-a8 3.Qd3-d5 # 2...g6-g5 3.Rf7-f5 # 2...e7-e6 3.Sf4*g6 # 1...Ke6*f7 2.Qd3*g6 + 2...Kf7-f8 3.Sf4-e6 #" --- authors: - Loyd, Samuel source: Evening Telegram (New York) date: 1890 algebraic: white: [Kc2, Qb5, Bg1, Sg4] black: [Kh1, Bd8, Pg3, Pg2] stipulation: "#3" solution: | "1.Qb5-e5 ! zugzwang. 1...Kh1*g1 2.Qe5-a1 # 2.Qe5-e1 # 1...Bd8-a5 2.Qe5*a5 zugzwang. 2...Kh1*g1 3.Qa5-e1 # 3.Qa5-a1 # 1...Bd8-b6 2.Qe5-h8 + 2...Kh1*g1 3.Qh8-a1 # 1...Bd8-c7 2.Qe5-h8 + 2...Kh1*g1 3.Qh8-a1 # 1...Bd8-h4 2.Qe5-h8 zugzwang. 2...Kh1*g1 3.Qh8-a1 # 1...Bd8-g5 2.Qe5*g5 zugzwang. 2...Kh1*g1 3.Qg5-c1 # 1...Bd8-f6 2.Qe5*f6 zugzwang. 2...Kh1*g1 3.Qf6-a1 # 1...Bd8-e7 2.Qe5*e7 zugzwang. 2...Kh1*g1 3.Qe7-e1 #" --- authors: - Loyd, Samuel source: The Chess Player's Chronicle source-id: 108 date: 1878-02-01 algebraic: white: [Kc3, Bc4, Bc1] black: [Ka4, Pc7, Pc6, Pc5, Pb6, Pa6] stipulation: "#3" solution: | "1.Bc1-f4 ! zugzwang. 1...Ka4-a5 2.Kc3-b3 threat: 3.Bf4-d2 # 2...b6-b5 3.Bf4*c7 # 1...Ka4-a3 2.Bc4-b3 threat: 3.Bf4-c1 # 1...a6-a5 2.Bf4-c1 zugzwang. 2...b6-b5 3.Bc4-b3 # 1...b6-b5 2.Bc4-b3 + 2...Ka4-a3 3.Bf4-c1 # 2...Ka4-a5 3.Bf4*c7 #" --- authors: - Loyd, Samuel source: New York Star date: 1887-01 algebraic: white: [Kc4, Rg2, Ra3, Bf4, Bc2, Sd5, Ph6] black: [Kg4, Ph5, Ph4, Pg3, Pd7] stipulation: "#3" solution: | "1.Bf4-c1 ! zugzwang. 1...Kg4-h3 2.Rg2-f2 threat: 3.Bc2-f5 # 1...h4-h3 2.Ra3*g3 + 2...Kg4-h4 3.Bc1-g5 # 2.Rg2*g3 + 2...Kg4-h4 3.Bc1-g5 # 1...d7-d6 2.Rg2-d2 zugzwang. 2...Kg4-h3 3.Bc2-f5 # 2...g3-g2 3.Rd2-d4 # 3.Rd2*g2 # 2...Kg4-g5 3.Rd2-d4 # 2...h4-h3 3.Rd2-d4 #" --- authors: - Loyd, Samuel source: Texas Siftings date: 1888 algebraic: white: [Kc4, Qf3, Bg2, Sf5, Pf2, Pc2] black: [Kh2, Rc1, Bb4, Pf4, Pd4, Pc3] stipulation: "#3" solution: | "1.Sf5-g3 ! threat: 2.Sg3-e2 threat: 3.Qf3-h3 # 2.Bg2-h1 threat: 3.Qf3-g2 # 2...Rc1*h1 3.Qf3*h1 # 2...Rc1-g1 3.Qf3-h5 # 2...Kh2-h3 3.Qf3-h5 # 1...Rc1*c2 2.Bg2-f1 threat: 3.Qf3-h1 # 3.Qf3-g2 # 2...Rc2*f2 3.Qf3*f2 # 2...Kh2-g1 3.Qf3-g2 # 2...f4*g3 3.Qf3-g2 # 1...Rc1-g1 2.Sg3-e2 threat: 3.Qf3-h3 # 2...Rg1*g2 3.Qf3-h5 # 1...Rc1-f1 2.Sg3-e2 threat: 3.Qf3-h3 # 2.Bg2*f1 threat: 3.Qf3-h1 # 3.Qf3-g2 # 2...Kh2-g1 3.Qf3-g2 # 2...f4*g3 3.Qf3-g2 # 1...Rc1-e1 2.Bg2-h1 threat: 3.Qf3-g2 # 2...Re1*h1 3.Qf3*h1 # 2...Re1-g1 3.Qf3-h5 # 2...Kh2-h3 3.Qf3-h5 # 1...Rc1-d1 2.Bg2-h1 threat: 3.Qf3-g2 # 2...Rd1*h1 3.Qf3*h1 # 2...Rd1-g1 3.Qf3-h5 # 2...Kh2-h3 3.Qf3-h5 # 1...Bb4-e7 2.Sg3-e2 threat: 3.Qf3-h3 # 1...d4-d3 2.Bg2-h1 threat: 3.Qf3-g2 # 2...Rc1*h1 3.Qf3*h1 # 2...Rc1-g1 3.Qf3-h5 # 2...Kh2-h3 3.Qf3-h5 # 1...f4*g3 2.Bg2-h1 threat: 3.Qf3-g2 # 2...Rc1*h1 3.Qf3*g3 # 2...Rc1-g1 3.Qf3-h5 # 2...Kh2-h3 3.Qf3-h5 # 3.Qf3*g3 #" keywords: - Letters comments: - Birthday card for brother Thomas Loyd --- authors: - Loyd, Samuel source: The Musical World date: 1859-11 algebraic: white: [Kc5, Bf5, Pd4, Pb3, Pa2] black: [Ka5, Rg1, Sf1, Pg7, Pd5, Pb4, Pa7] stipulation: "#3" solution: | "1.a2-a3 ! threat: 2.a3*b4 + 2...Ka5-a6 3.Bf5-c8 # 1...b4*a3 2.b3-b4 + 2...Ka5-a6 3.Bf5-c8 # 2...Ka5-a4 3.Bf5-c2 # 1...Ka5-a6 2.Bf5-c8 + 2...Ka6-a5 3.a3*b4 #" --- authors: - Loyd, Samuel source: Boston Gazette source-id: v 10 date: 1858-07 algebraic: white: [Kc5, Rf6, Rf4, Sf8, Sd6, Pg2, Pc6, Pb4] black: [Ke5, Re7, Bh8, Sh4, Sa3, Ph7, Pg6, Pg5, Pg4, Pg3] stipulation: "#3" solution: | "1.b4-b5 ! zugzwang. 1...Sa3-b1 2.Sd6-c4 # 1...Sa3-c2 2.Sd6-c4 # 1...Sa3-c4 2.Sd6*c4 # 1...Sa3*b5 2.Sd6-c4 # 1...Sh4-f3 2.Rf6-f5 + 2...g6*f5 3.Rf4*f5 # 2.Rf4-f5 + 2...g6*f5 3.Rf6*f5 # 1...Sh4*g2 2.Rf4-f5 + 2...g6*f5 3.Rf6*f5 # 2.Rf6-f5 + 2...g6*f5 3.Rf4*f5 # 1...Sh4-f5 2.Rf6*f5 + 2...g6*f5 3.Rf4*f5 # 2.Rf4*f5 + 2...g6*f5 3.Rf6*f5 # 1...g5*f4 2.Rf6-e6 + 2...Re7*e6 3.Sf8-d7 # 1...Re7-e6 2.Sf8-d7 # 2.Sd6-f7 # 1...Re7-a7 2.Rf6-e6 + 2...Ke5*f4 3.Re6-e4 # 1...Re7-b7 2.Rf6-e6 + 2...Ke5*f4 3.Re6-e4 # 1...Re7-c7 2.Rf6-e6 + 2...Ke5*f4 3.Re6-e4 # 1...Re7-d7 2.Sf8*d7 # 1...Re7-e8 2.Sf8-d7 # 2.Sd6-f7 # 1...Re7-g7 2.Rf6-e6 + 2...Ke5*f4 3.Re6-e4 # 2.Rf4-e4 + 2...Ke5*f6 3.Re4-e6 # 1...Re7-f7 2.Sd6*f7 # 1...h7-h5 2.Sf8*g6 + 2...Sh4*g6 3.Rf4-f5 # 1...h7-h6 2.Sf8*g6 + 2...Sh4*g6 3.Rf4-f5 # 1...Bh8*f6 2.Rf4-e4 # 1...Bh8-g7 2.Rf4-e4 + 2...Ke5*f6 3.Sf8*h7 #" --- authors: - Loyd, Samuel source: Illustrated American date: 1890 algebraic: white: [Kc7, Qd8, Ra7, Pa3, Pd7, Pc6] black: [Kb5, Rf5, Pc4, Pg6] stipulation: "#3" solution: | "1.Qd8-e8 ! zugzwang. 1...Rf5-f8 2.Qe8-e5 # 1...c4-c3 2.Qe8-e4 threat: 3.Qe4-b4 # 2...Kb5-c5 3.Ra7-a5 # 2...Rf5-f4 3.Qe4-d5 # 1...Kb5-c5 2.Qe8-e3 + 2...Kc5-d5 3.d7-d8=Q # 3.d7-d8=R # 3.Ra7-a5 # 2...Kc5-b5 3.Qe3-b6 # 1...Rf5-f1 2.Qe8-e5 # 1...Rf5-f2 2.Qe8-e5 # 1...Rf5-f3 2.Qe8-e5 # 1...Rf5-f4 2.Qe8-e5 # 1...Rf5-c5 2.Qe8-b8 # 1...Rf5-d5 2.Qe8-b8 + 2...Kb5-c5 3.Qb8-b6 # 1...Rf5-e5 2.Qe8*e5 # 1...Rf5-f7 2.Qe8-e5 # 1...Rf5-f6 2.Qe8-e5 # 1...Rf5-h5 2.Qe8-f8 threat: 3.Qf8-b4 # 3.a3-a4 # 2...c4-c3 3.Qf8-b4 # 2...Rh5-c5 3.Qf8-b8 # 1...Rf5-g5 2.Qe8-f8 threat: 3.Qf8-b4 # 3.a3-a4 # 2...c4-c3 3.Qf8-b4 # 2...Rg5-c5 3.Qf8-b8 # 1...g6-g5 2.Qe8-e4 threat: 3.Qe4*f5 # 2...c4-c3 3.Qe4-b4 # 2...Kb5-c5 3.Ra7-a5 # 2...Rf5-f1 3.Qe4-d5 # 3.Qe4-e5 # 2...Rf5-f2 3.Qe4-d5 # 3.Qe4-e5 # 2...Rf5-f3 3.Qe4-d5 # 3.Qe4-e5 # 2...Rf5-f4 3.Qe4-d5 # 3.Qe4-e5 # 2...Rf5-c5 3.Qe4-b1 # 2...Rf5-d5 3.Qe4*d5 # 2...Rf5-e5 3.Qe4*e5 # 2...Rf5-f8 3.Qe4-d5 # 3.Qe4-e5 # 2...Rf5-f7 3.Qe4-d5 # 3.Qe4-e5 # 2...Rf5-f6 3.Qe4-d5 # 3.Qe4-e5 #" --- authors: - Loyd, Samuel source: St. Louis Globe-Democrat source-id: 538 date: 1885-02-07 algebraic: white: [Kc8, Rb2, Ba1, Sf2, Sa6, Ph4, Ph2, Pg4, Pg2, Pd2, Pc5] black: [Kd4] stipulation: "#3" solution: | "1.Sf2-h3 ! threat: 2.Sh3-f4 threat: 3.Rb2-b4 #" comments: - also in The Philadelphia Times (no. 521), 15 February 1885 - also in The New York World (no. 4), 20 November 1892 --- authors: - Loyd, Samuel source: Boston Evening Gazette source-id: 2 date: 1858-05-08 algebraic: white: [Kd1, Qh8, Rg8, Rb8, Be3, Bc8, Sc5, Sb2, Pd6, Pa4, Pa3] black: [Ka5, Qd5, Rf6, Re5, Bh4, Sf3, Sd2, Pf5, Pd7, Pd3, Pa6] stipulation: "#3" solution: | "1.Rg8-g5 ! threat: 2.Qh8-d8 # 1...Sd2-c4 2.Sc5-b3 # 1...Qd5-b3 + 2.Sc5*b3 + 2...Sd2*b3 3.Qh8-d8 # 3.Be3-b6 # 1...Qd5-g8 2.Sc5-b7 # 1...Qd5-b7 2.Sc5*b7 # 1...Qd5-c6 2.Qh8-d8 + 2...Qc6-b6 3.Qd8*b6 # 3.Sc5-b7 # 2...Qc6-c7 3.Sc5-b7 # 3.Qd8*c7 # 1...Qd5*c5 2.Qh8-d8 + 2...Qc5-b6 3.Qd8*b6 # 3.Be3*b6 # 2...Qc5-c7 3.Qd8*c7 # 1...Qd5*d6 2.Sc5-b7 # 1...Re5-e8 2.Rg5*f5 threat: 3.Sc5-b7 # 2...Sf3-e5 3.Be3*d2 # 2...Sf3-d4 3.Be3*d2 # 2...Qd5-b3 + 3.Sc5*b3 # 2...Qd5-d4 3.Sc5-b3 # 2...Qd5*c5 3.Rf5*c5 # 2...Rf6*f5 3.Qh8-c3 # 2...Re8*e3 3.Qh8-d8 # 2...Re8-e5 3.Qh8-d8 # 1...Rf6*d6 2.Qh8-d8 + 2...Rd6-b6 3.Qd8*b6 # 1...Rf6-f8 2.Qh8*e5 threat: 3.Qe5-c3 # 3.Sc5-b7 # 2...Sd2-b1 3.Sc5-b3 # 3.Sc5-b7 # 2...Sd2-e4 3.Sc5-b3 # 3.Sc5-b7 # 2...Sf3*e5 3.Be3*d2 # 2...Sf3-d4 3.Be3*d2 # 2...Qd5-b3 + 3.Sc5*b3 # 2...Qd5-c4 3.Sc5-b3 # 3.Sc5-b7 # 2...Qd5-e4 3.Sc5-b3 # 3.Sc5-b7 # 2...Qd5-b7 3.Sc5-b3 # 3.Sc5*b7 # 2...Qd5-d4 3.Sc5-b3 # 2...Qd5*c5 3.Qe5*c5 # 2...Qd5*e5 3.Sc5-b7 #" --- authors: - Loyd, Samuel source: The Saturday Courier source-id: v date: 1857 algebraic: white: [Kd1, Qc1, Rd6, Rb1, Bc2, Sf3, Sa4, Pe4, Pd5, Pc6, Pb5] black: [Kc4, Rh5, Pb6] stipulation: "#3" solution: | "1.Sf3-e5 + ! 1...Kc4-d4 2.Qc1-d2 + 2...Kd4*e5 3.Rd6-e6 # 2.Rb1-b4 + 2...Kd4*e5 3.Rd6-e6 # 1...Rh5*e5 2.Qc1-f4 zugzwang. 2...Re5*e4 3.Qf4*e4 # 2...Kc4-d4 3.Rb1-b4 # 2...Re5*d5 + 3.e4*d5 # 2...Re5-e8 3.e4-e5 # 2...Re5-e7 3.e4-e5 # 2...Re5-e6 3.e4-e5 # 2...Re5-h5 3.e4-e5 # 2...Re5-g5 3.e4-e5 # 2...Re5-f5 3.e4*f5 # 2.Qc1-d2 threat: 3.Qd2-b4 # 3.Qd2-c3 # 3.Qd2-d3 # 3.Rb1-b4 # 2...Re5*d5 3.Qd2*d5 # 3.Rb1-b4 #" --- authors: - Loyd, Samuel source: Chess Record source-id: 27 date: 1878-02-28 algebraic: white: [Kd1, Rf7, Bd7, Sf3, Sd2, Pc5, Pb2] black: [Kd3] stipulation: "#3" solution: | "1.Sd2-b3 ! threat: 2.Sf3-d2 threat: 3.Rf7-f3 #" --- authors: - Loyd, Samuel source: The Albion (New York) source-id: 414 date: 1856-12-06 algebraic: white: [Kd1, Qa5, Rf1, Rb1, Bg3, Bg2, Sh4, Sa3, Pe2, Pd3, Pc2] black: - Ke3 - Qa8 - Rg5 - Rc3 - Bc1 - Bb7 - Sh2 - Sg4 - Pf2 - Pd7 - Pd4 - Pd2 - Pc7 - Pc5 - Pb2 - Pa4 stipulation: "#3" solution: | "1.Qa5*c5 ! threat: 2.Qc5*g5 # 1...Sh2-f3 2.Qc5*g5 + 2...Sf3*g5 3.Sh4-f5 # 2.Qc5-f5 threat: 3.Qf5-f4 # 3.Bg3-f4 # 2...Rg5*f5 3.Sh4*f5 # 2...Qa8-f8 3.Bg3-f4 # 2.Bg2*f3 threat: 3.Qc5*g5 # 3.Sh4-g2 # 2...Rc3*c5 3.Sh4-g2 # 2...Sg4-e5 3.Sh4-g2 # 2...Rg5*c5 3.Sh4-g2 # 2...Rg5-d5 3.Sh4-g2 # 2...Rg5-e5 3.Sh4-g2 # 2...Rg5-f5 3.Sh4-g2 # 3.Sh4*f5 # 2...Rg5-g8 3.Sh4-g2 # 3.Sh4-f5 # 2...Rg5-g7 3.Sh4-g2 # 3.Sh4-f5 # 2...Rg5-g6 3.Sh4-g2 # 3.Sh4-f5 # 2...Rg5-h5 3.Sh4-g2 # 2...Bb7*f3 3.Qc5*g5 # 2...Bb7-d5 3.Sh4-g2 # 2...d7-d5 3.Sh4-g2 # 2...Qa8-a5 3.Sh4-g2 # 2...Qa8-g8 3.Sh4-g2 # 2...Qa8-f8 3.Sh4-g2 # 2...Qa8-d8 3.Sh4-g2 # 1...Rc3*c5 2.c2-c4 threat: 3.Sa3-c2 # 2...Rc5*c4 3.Sa3*c4 # 1...Sg4-e5 2.Qc5*d4 + 2...Ke3*d4 3.Bg3*f2 # 1...Rg5*c5 2.Bg2-d5 threat: 3.Sh4-g2 # 3.Sh4-f5 # 2...Sg4-h6 3.Sh4-g2 # 2...Rc5*d5 3.Sh4-g2 # 2...Bb7*d5 3.Sh4-f5 # 2...Qa8-f8 3.Sh4-g2 # 1...Rg5-d5 2.Bg2*d5 threat: 3.Sh4-g2 # 3.Sh4-f5 # 2...Sg4-h6 3.Qc5-e7 # 3.Sh4-g2 # 2...Bb7*d5 3.Sh4-f5 # 2...Qa8-f8 3.Sh4-g2 # 2.Qc5-e7 + 2...Sg4-e5 3.Sh4-f5 # 3.Qe7-g5 # 2...Rd5-e5 3.Sh4-f5 # 2.Bg2-f3 threat: 3.Sh4-g2 # 1...Rg5-e5 2.Qc5*e5 + 2...Sg4*e5 3.Sh4-f5 # 2...Bb7-e4 3.Sh4-f5 # 3.Qe5-f4 # 3.Qe5-g5 # 3.Bg3-f4 # 1...Rg5-f5 2.Sh4*f5 # 1...Rg5-g8 2.Sh4-f5 # 1...Rg5-g7 2.Sh4-f5 # 1...Rg5-g6 2.Sh4-f5 # 1...Rg5-h5 2.Qc5-f5 threat: 3.Qf5-f4 # 3.Bg3-f4 # 2...Rh5*f5 3.Sh4*f5 # 2...Qa8-f8 3.Bg3-f4 # 1...Bb7-d5 2.Qc5-e7 + 2...Sg4-e5 3.Qe7*g5 # 2...Bd5-e4 3.Qe7*g5 # 2...Bd5-e6 3.Qe7*g5 # 2...Rg5-e5 3.Sh4-f5 # 2.Bg2-f3 threat: 3.Sh4-g2 # 2...Bd5*f3 3.Qc5*g5 # 1...d7-d5 2.Bg2-f3 threat: 3.Sh4-g2 # 2.Qc5-e7 + 2...Sg4-e5 3.Qe7*g5 # 2...Rg5-e5 3.Sh4-f5 # 1...Qa8-a5 2.Bg2*b7 threat: 3.Sh4-g2 # 1...Qa8-g8 2.Qc5-f5 threat: 3.Qf5-f4 # 3.Bg3-f4 # 2...Rg5*f5 3.Sh4*f5 # 2...Qg8-f7 3.Bg3-f4 # 2...Qg8-f8 3.Bg3-f4 # 1...Qa8-f8 2.Qc5*g5 + 2...Qf8-f4 3.Qg5*f4 # 3.Sh4-f5 # 3.Bg3*f4 # 1...Qa8-d8 2.Qc5-f5 threat: 3.Qf5-f4 # 3.Bg3-f4 # 2...Rg5*f5 3.Sh4*f5 # 2...Qd8-f6 3.Bg3-f4 # 2...Qd8-f8 3.Bg3-f4 # 2.Bg2*b7 threat: 3.Sh4-g2 #" --- authors: - Loyd, Samuel source: Solving Tourney at Omaha, Nebraska date: 1906-12 algebraic: white: [Kd1, Qf8, Bc8, Bc7, Pb2] black: [Ke4, Bh1, Pb7] stipulation: "#3" solution: | "1.Qf8-c5 ! threat: 2.Bc8*b7 + 2...Ke4-d3 3.Qc5-c3 # 1...Bh1-f3 + 2.Kd1-d2 threat: 3.Bc8*b7 # 3.Bc8-f5 # 3.Qc5-c4 # 3.Qc5-e5 # 2...Bf3-d1 3.Bc8*b7 # 2...Bf3-e2 3.Bc8*b7 # 2...Bf3-h1 3.Bc8*b7 # 2...Bf3-g2 3.Bc8*b7 # 2...Bf3-h5 3.Bc8*b7 # 2...Bf3-g4 3.Bc8*b7 # 2...b7-b5 3.Bc8-b7 # 3.Bc8-f5 # 3.Qc5-e5 # 1...Ke4-f3 2.Bc7-b6 zugzwang. 2...Bh1-g2 3.Qc5-e3 # 2...Kf3-g3 3.Qc5-f2 # 2...Kf3-f4 3.Qc5-e3 # 2...Kf3-e4 3.Qc5-f5 # 2...Kf3-g2 3.Qc5-f2 # 1...Ke4-d3 2.Bc8-f5 + 2...Bh1-e4 3.Qc5-c3 #" --- authors: - Loyd, Samuel source: Solving Competition, New Jersey Chess Association, Trenton Falls date: 1906-07-22 algebraic: white: [Kd1, Qh5, Sf5, Sd4, Pc5, Pc3] black: [Ke5, Bh7, Pf6, Pe6] stipulation: "#3" solution: | "1.c3-c4 ! threat: 2.Qh5-f3 threat: 3.Sd4-c6 # 3.Qf3-e3 # 2...e6*f5 3.Qf3-e3 # 2...Bh7*f5 3.Sd4-c6 # 1...Ke5-f4 2.Qh5-h6 + 2...Kf4-g4 3.Qh6-h4 # 2...Kf4-e4 3.Qh6-e3 # 2...Kf4-e5 3.Qh6-e3 # 1...e6*f5 2.Sd4-e6 threat: 3.Qh5-e2 # 2...Ke5*e6 3.Qh5-e8 # 1...Bh7*f5 2.Sd4*e6 zugzwang. 2...Ke5-e4 3.Qh5-e2 # 2...Ke5*e6 3.Qh5-e8 #" --- authors: - Loyd, Samuel source: New York Herald date: 1889 algebraic: white: [Kd1, Qh6, Ra8, Pc7, Pf4, Pf3] black: [Kg8, Bd8, Be8, Pc3, Pf5, Pf7, Pf6] stipulation: "#3" solution: | "1.Kd1-c1 ! threat: 2.Ra8*d8 threat: 3.Rd8*e8 # 2.c7*d8=Q threat: 3.Qd8*e8 # 2.c7*d8=R threat: 3.Rd8*e8 # 1...c3-c2 2.c7-c8=S zugzwang. 2...Bd8-e7 3.Sc8*e7 # 2...Bd8-a5 3.Sc8-e7 # 2...Bd8-b6 3.Sc8-e7 # 2...Bd8-c7 3.Sc8-e7 # 2...Be8-a4 3.Sc8-e7 # 2...Be8-b5 3.Sc8-e7 # 2...Be8-c6 3.Sc8-e7 # 2...Be8-d7 3.Sc8-e7 # 1...Bd8-e7 2.Ra8*e8 + 2...Be7-f8 3.Re8*f8 #" --- authors: - Loyd, Samuel source: American Union date: 1859-01 algebraic: white: [Kd1, Qb1, Rg6, Rg5, Bh6, Be8, Sh1, Sa4, Pg7, Pg3, Pf5, Pf3, Pb4] black: [Kh7, Qf8, Rf7, Bg8, Ba5, Ph2, Pf6, Pd3, Pc3, Pb2] stipulation: "#3" solution: | "1.Rg5-h5 ! threat: 2.Bh6-c1 # 2.Bh6-d2 # 2.Bh6-e3 # 2.Bh6-f4 # 2.Bh6-g5 # 1...c3-c2 + 2.Kd1-e1 threat: 3.Bh6-c1 # 3.Bh6-d2 # 3.Bh6-e3 # 3.Bh6-f4 # 3.Bh6-g5 # 2...c2-c1=Q + 3.Bh6*c1 # 2...c2-c1=R + 3.Bh6*c1 # 2...c2*b1=Q + 3.Bh6-c1 # 2...c2*b1=R + 3.Bh6-c1 # 2...d3-d2 + 3.Bh6*d2 # 2...Ba5*b4 + 3.Bh6-d2 # 2...Rf7-e7 + 3.Bh6-e3 # 2...Qf8*b4 + 3.Bh6-d2 # 2...Qf8-e7 + 3.Bh6-e3 # 2...Qf8*g7 3.Bh6*g7 # 2...Qf8*e8 + 3.Bh6-e3 # 1...d3-d2 2.Bh6*d2 # 2.Bh6-e3 # 2.Bh6-f4 # 2.Bh6-g5 # 1...Qf8*g7 2.Bh6*g7 #" --- authors: - Loyd, Samuel source: Baltimore Dispatch source-id: 39v date: 1859-03-19 algebraic: white: [Kd2, Qg1, Bf4, Sf8, Sc5, Pb5] black: [Ka8, Rg8, Bh7, Pg2, Pf6, Pf5, Pe7, Pd3, Pb7, Pa7] stipulation: "#3" solution: | "1.Sc5-a6 ! zugzwang. 1...b7-b6 2.Qg1-c1 threat: 3.Qc1-c8 # 3.Qc1-c6 # 2...Ka8-b7 3.Qc1-c6 # 2...Rg8*f8 3.Qc1-c6 # 1...b7*a6 2.Qg1-c1 threat: 3.Qc1-c8 # 3.Qc1-c6 # 2...e7-e5 3.Qc1-c8 # 2...Ka8-b7 3.Qc1-c6 # 2...Rg8*f8 3.Qc1-c6 # 2.Qg1-c5 threat: 3.Qc5-c8 # 3.Qc5-c6 # 3.Qc5-d5 # 2...e7-e5 3.Qc5-c8 # 2...e7-e6 3.Qc5-c8 # 3.Qc5-c6 # 2...Ka8-b7 3.Qc5-c6 # 2...Rg8*f8 3.Qc5-c6 # 3.Qc5-d5 # 1...e7-e5 2.Qg1-c5 threat: 3.Qc5-c8 # 2...Rg8*f8 3.Qc5*f8 # 1...e7-e6 2.Qg1-c5 threat: 3.Qc5-c8 # 2...Rg8*f8 3.Qc5*f8 # 1...Bh7-g6 2.Bf4-b8 threat: 3.Qg1*a7 # 2...b7-b6 3.Qg1*g2 # 1...Rg8-g3 2.Qg1-c5 threat: 3.Qc5-c8 # 2.Qg1-d4 threat: 3.Qd4-d8 # 2...b7-b6 3.Qd4-d5 # 2...b7*a6 3.Qd4-d5 # 2.Qg1-c1 threat: 3.Qc1-c8 # 1...Rg8-g4 2.Qg1-c1 threat: 3.Qc1-c8 # 2.Qg1-c5 threat: 3.Qc5-c8 # 2.Qg1-d4 threat: 3.Qd4-d8 # 2...b7-b6 3.Qd4-d5 # 2...b7*a6 3.Qd4-d5 # 1...Rg8-g5 2.Qg1-d4 threat: 3.Qd4-d8 # 2...b7-b6 3.Qd4-d5 # 2...b7*a6 3.Qd4-d5 # 2.Qg1-c5 threat: 3.Qc5-c8 # 2.Qg1-c1 threat: 3.Qc1-c8 # 1...Rg8-g6 2.Qg1-c1 threat: 3.Qc1-c8 # 2.Qg1-c5 threat: 3.Qc5-c8 # 2.Qg1-d4 threat: 3.Qd4-d8 # 2...b7-b6 3.Qd4-d5 # 2...b7*a6 3.Qd4-d5 # 1...Rg8-g7 2.Qg1-d4 threat: 3.Qd4-d8 # 2...b7-b6 3.Qd4-d5 # 2...b7*a6 3.Qd4-d5 # 2.Qg1-c5 threat: 3.Qc5-c8 # 2.Qg1-c1 threat: 3.Qc1-c8 # 1...Rg8*f8 2.Bf4-b8 threat: 3.Qg1*a7 # 2...b7-b6 3.Qg1*g2 # 2...Rf8*b8 3.Sa6-c7 # 1...Rg8-h8 2.Bf4-b8 threat: 3.Qg1*a7 # 2...b7-b6 3.Qg1*g2 #" --- authors: - Loyd, Samuel source: Chicago Leader source-id: 15 date: 1859 algebraic: white: [Kd2, Qc6, Sb3, Pc2] black: [Kb4, Rf7, Pf5, Pd4, Pc5, Pb6, Pb5, Pa4, Pa3, Pa2] stipulation: "#3" solution: | "1.Sb3*d4 ! threat: 2.Qc6*b5 # 1...Kb4-c4 2.Qc6-e6 + 2...Kc4*d4 3.c2-c3 # 2...Kc4-b4 3.Sd4-c6 # 1...c5*d4 2.c2-c4 threat: 3.Qc6*b5 # 2...d4*c3 ep. + 3.Qc6*c3 # 2...b5*c4 3.Qc6*b6 #" --- authors: - Loyd, Samuel source: The Albion (New York) date: 1859 algebraic: white: [Kd2, Qc5, Ba6, Se5] black: [Kf5, Bh1, Ph5, Ph4, Pg3, Pg2, Pd5, Pd4, Pc7, Pc6] stipulation: "#3" solution: | "1.Se5-f3 ! threat: 2.Qc5-f8 + 2...Kf5-e6 3.Ba6-c8 # 2...Kf5-g6 3.Ba6-d3 # 2...Kf5-g4 3.Ba6-c8 # 2...Kf5-e4 3.Ba6-d3 #" --- authors: - Loyd, Samuel source: Sam Loyd und seine Schachaufgaben date: 1926 algebraic: white: [Kd4, Ra8, Bd5, Sd6, Pc6, Pb5] black: [Kc7, Sb2] stipulation: "#3" solution: | "1.Ra8-a7 + ! 1...Kc7-b8 2.c6-c7 + 2...Kb8*a7 3.Sd6-c8 # 2.b5-b6 threat: 3.c6-c7 # 1...Kc7-d8 2.Ra7-d7 # 1...Kc7*d6 2.Ra7-d7 # 1...Kc7-b6 2.c6-c7 threat: 3.c7-c8=S # 2...Kb6*a7 3.Sd6-c8 # 1.Ra8-b8 ! threat: 2.Rb8-b7 + 2...Kc7-d8 3.Rb7-d7 # 2...Kc7*d6 3.Rb7-d7 # 1...Kc7*b8 2.b5-b6 threat: 3.c6-c7 #" --- authors: - Loyd, Samuel source: Frere's Chess Hand-Book source-id: 3 date: 1857 algebraic: white: [Kd4, Rf3, Rd2, Be2, Sh3, Ph2, Pg5, Pf6, Pc5] black: [Kg4, Rb1, Ra1, Bh1, Bb8, Ph5, Ph4, Pg6, Pf7, Pe4, Pc7, Pb4] stipulation: "#3" solution: | "1.Rf3-a3 + ! 1...Bh1-f3 2.Be2-a6 threat: 3.Ba6-c8 # 1...Kg4-f5 2.Be2-a6 threat: 3.Ba6-c8 #" --- authors: - Loyd, Samuel source: Sonntagsblätter für Schachfreunde source-id: v 28 date: 1861-02-10 algebraic: white: [Kd4, Qa8, Bg2, Bf4, Se8, Pg6, Pe5, Pd6] black: [Kh5, Bg8, Sh8, Sf8, Pf5, Pe6, Pd7] stipulation: "#3" solution: | "1.g6-g7 ! zugzwang. 1...Sf8-h7 2.Qa8-f3 + 2...Kh5-h4 3.Qf3-h3 # 2...Kh5-g6 3.g7*h8=S # 1...Kh5-h4 2.Qa8-f3 threat: 3.Qf3-h3 # 2.Qa8-d8 + 2...Kh4-h5 3.Qd8-g5 # 2...Kh4-g4 3.Qd8-g5 # 1...Kh5-g6 2.Bg2-f3 zugzwang. 2...Kg6-f7 3.g7*h8=S # 2...Kg6-h7 3.g7*f8=S # 2...Sf8-h7 3.g7*h8=S # 2...Bg8-f7 3.g7*f8=S # 2...Bg8-h7 3.g7*h8=S # 2...Sh8-f7 3.g7*f8=S # 1...Kh5-g4 2.Qa8-f3 + 2...Kg4-h4 3.Qf3-h3 # 1...Sf8-g6 2.Qa8-f3 + 2...Kh5-h4 3.Qf3-h3 # 1...Bg8-f7 2.Qa8-f3 + 2...Kh5-h4 3.Qf3-h3 # 2...Kh5-g6 3.g7*f8=S # 1...Bg8-h7 2.Qa8-f3 + 2...Kh5-h4 3.Qf3-h3 # 2...Kh5-g6 3.g7*h8=S # 1...Sh8-f7 2.Qa8-f3 + 2...Kh5-h4 3.Qf3-h3 # 2...Kh5-g6 3.g7*f8=S # 1...Sh8-g6 2.Qa8-f3 + 2...Kh5-h4 3.Qf3-h3 #" comments: - also in The Philadelphia Times (no. 962), 17 November 1889 --- authors: - Loyd, Samuel source: The Era (London) date: 1860 algebraic: white: [Kd6, Rh4, Re3, Be8, Sf1, Pg4, Pg2, Pf5] black: [Kf4, Rg5, Pg3, Pf6] stipulation: "#3" solution: | "1.Re3-d3 ! threat: 2.Rd3-d4 # 1...Kf4-e4 2.Rd3-d5 zugzwang. 2...Rg5*g4 3.Rh4*g4 # 2...Ke4-f4 3.Rd5-d4 # 2...Rg5*f5 3.g4*f5 # 2...Rg5-g8 3.g4-g5 # 2...Rg5-g7 3.g4-g5 # 2...Rg5-g6 3.g4-g5 # 2...Rg5-h5 3.g4*h5 # 1...Rg5*g4 2.Rd3-f3 + 2...Kf4-g5 3.Rh4-h5 # 2...Kf4-e4 3.Rh4*g4 # 1...Rg5*f5 2.Rd3-d4 + 2...Kf4-g5 3.Rh4-h5 # 1...Rg5-g8 2.Rd3-d4 + 2...Kf4-g5 3.Rh4-h5 # 1...Rg5-g7 2.Rd3-d4 + 2...Kf4-g5 3.Rh4-h5 # 1...Rg5-g6 2.Rd3-d4 + 2...Kf4-g5 3.Rh4-h5 # 1...Rg5-h5 2.Rd3-d4 + 2...Kf4-g5 3.Rh4*h5 #" --- authors: - Loyd, Samuel source: St. Louis Globe-Democrat date: 1907 algebraic: white: [Kd7, Rg4, Ra1, Bb4, Sh5, Sb2] black: [Kb5, Ph6, Pc6, Pb7, Pa6] stipulation: "#3" solution: | "1.Bb4-a5 ! zugzwang. 1...Kb5-c5 2.Sb2-d3 + 2...Kc5-d5 3.Sh5-f6 # 2...Kc5-b5 3.Rg4-b4 # 1...c6-c5 2.Sb2-c4 threat: 3.Sc4-d6 # 1...b7-b6 2.Sb2-a4 zugzwang. 2...c6-c5 3.Sa4-c3 # 2...Kb5*a5 3.Sa4-c3 # 2...b6*a5 3.Ra1-b1 #" --- authors: - Loyd, Samuel source: Scientific American date: 1877 distinction: Prize, (Letter Prize) algebraic: white: [Kd7, Qg4, Re7, Rc7, Bd6, Sg6, Sd4] black: [Kd5, Rd2, Rc2, Bf2, Sg3, Sf7, Pg5, Pe2, Pd3, Pb7, Pb2] stipulation: "#3" solution: | "1.Rc7-c3 ! threat: 2.Qg4-e6 + 2...Kd5*d4 3.Qe6-c4 # 2.Sd4-b3 threat: 3.Qg4-e6 # 3.Qg4-c4 # 2...Rc2*c3 3.Qg4-e6 # 2...e2-e1=Q 3.Qg4-c4 # 2...e2-e1=R 3.Qg4-c4 # 2...Bf2-d4 3.Qg4-e6 # 3.Qg4*d4 # 2...Sg3-f5 3.Qg4-f3 # 3.Qg4-g2 # 3.Qg4-c4 # 3.Qg4-e4 # 2...Sg3-e4 3.Qg4*e4 # 3.Qg4-e6 # 2...b7-b5 3.Qg4-e6 # 2...Sf7*d6 3.Re7-e5 # 3.Qg4-e6 # 2...Sf7-e5 + 3.Re7*e5 # 2...Sf7-d8 3.Re7-e5 # 3.Qg4-c4 # 2.Sd4*c2 threat: 3.Qg4-c4 # 3.Qg4-e6 # 3.Sc2-b4 # 2...b2-b1=Q 3.Qg4-e6 # 3.Qg4-c4 # 2...b2-b1=R 3.Qg4-e6 # 3.Qg4-c4 # 2...Rd2*c2 3.Qg4-c4 # 2...e2-e1=Q 3.Qg4-c4 # 3.Sc2-b4 # 2...e2-e1=R 3.Qg4-c4 # 3.Sc2-b4 # 2...Bf2-c5 3.Qg4-e6 # 3.Qg4-c4 # 3.Rc3*c5 # 2...Bf2-d4 3.Qg4-e6 # 3.Qg4*d4 # 3.Sc2-b4 # 2...d3*c2 3.Qg4-c4 # 2...Sg3-f5 3.Qg4-c4 # 3.Qg4-f3 # 3.Qg4-g2 # 3.Qg4-e4 # 3.Sc2-b4 # 2...Sg3-e4 3.Qg4-e6 # 3.Qg4*e4 # 2...b7-b5 3.Qg4-e6 # 3.Sc2-b4 # 2...Sf7*d6 3.Re7-e5 # 3.Qg4-e6 # 3.Sc2-b4 # 2...Sf7-e5 + 3.Re7*e5 # 2...Sf7-d8 3.Re7-e5 # 3.Qg4-c4 # 3.Sc2-b4 # 2.Sd4*e2 threat: 3.Qg4-e6 # 3.Qg4-c4 # 2...Rc2*c3 3.Qg4-e6 # 3.Se2*c3 # 2...Rd2*e2 3.Qg4-c4 # 2...Bf2-d4 3.Qg4-e6 # 3.Qg4*d4 # 2...d3*e2 3.Qg4-c4 # 2...Sg3*e2 3.Qg4-c4 # 3.Qg4-e4 # 2...Sg3-f5 3.Qg4-e4 # 3.Qg4-f3 # 3.Qg4-g2 # 3.Qg4-c4 # 2...Sg3-e4 3.Qg4-e6 # 3.Qg4*e4 # 2...b7-b5 3.Qg4-e6 # 2...Sf7*d6 3.Re7-e5 # 3.Qg4-e6 # 2...Sf7-e5 + 3.Re7*e5 # 2...Sf7-d8 3.Re7-e5 # 3.Qg4-c4 # 2.Sd4-f3 threat: 3.Qg4-c4 # 3.Qg4-e6 # 2...Rc2*c3 3.Qg4-e6 # 2...e2-e1=Q 3.Qg4-c4 # 2...e2-e1=R 3.Qg4-c4 # 2...Bf2-d4 3.Qg4-e6 # 3.Qg4*d4 # 2...Sg3-f5 3.Qg4-c4 # 3.Qg4-e4 # 2...Sg3-e4 3.Qg4*e4 # 3.Qg4-e6 # 2...b7-b5 3.Qg4-e6 # 2...Sf7*d6 3.Re7-e5 # 3.Qg4-e6 # 2...Sf7-e5 + 3.Re7*e5 # 2...Sf7-d8 3.Re7-e5 # 3.Qg4-c4 # 2.Sd4-c6 threat: 3.Sc6-b4 # 3.Qg4-e6 # 3.Qg4-c4 # 2...b2-b1=Q 3.Qg4-e6 # 3.Qg4-c4 # 2...b2-b1=R 3.Qg4-e6 # 3.Qg4-c4 # 2...Rc2*c3 3.Sc6-b4 # 3.Qg4-e6 # 2...e2-e1=Q 3.Sc6-b4 # 3.Qg4-c4 # 2...e2-e1=R 3.Sc6-b4 # 3.Qg4-c4 # 2...Bf2-c5 3.Qg4-e6 # 3.Qg4-c4 # 2...Bf2-d4 3.Sc6-b4 # 3.Qg4-e6 # 3.Qg4*d4 # 2...Sg3-f5 3.Sc6-b4 # 3.Qg4-f3 # 3.Qg4-g2 # 3.Qg4-c4 # 3.Qg4-e4 # 2...Sg3-e4 3.Qg4-e6 # 3.Qg4*e4 # 2...b7-b5 3.Sc6-b4 # 3.Qg4-e6 # 2...b7*c6 3.Qg4-c4 # 2...Sf7*d6 3.Re7-e5 # 3.Sc6-b4 # 3.Qg4-e6 # 2...Sf7-e5 + 3.Re7*e5 # 2...Sf7-d8 3.Re7-e5 # 3.Sc6-b4 # 3.Qg4-c4 # 2.Sd4-b5 threat: 3.Qg4-c4 # 3.Sb5-c7 # 3.Qg4-e6 # 2...Rc2*c3 3.Sb5*c3 # 3.Qg4-e6 # 2...e2-e1=Q 3.Sb5-c7 # 3.Qg4-c4 # 2...e2-e1=R 3.Sb5-c7 # 3.Qg4-c4 # 2...Bf2-b6 3.Qg4-e6 # 3.Qg4-c4 # 2...Bf2-d4 3.Sb5-c7 # 3.Qg4-e6 # 3.Qg4*d4 # 2...Sg3-f5 3.Sb5-c7 # 3.Qg4-f3 # 3.Qg4-g2 # 3.Qg4-c4 # 3.Qg4-e4 # 2...Sg3-e4 3.Qg4-e6 # 3.Qg4*e4 # 2...Sf7*d6 3.Re7-e5 # 3.Sb5-c7 # 3.Qg4-e6 # 2...Sf7-e5 + 3.Re7*e5 # 2...Sf7-d8 3.Re7-e5 # 3.Sb5-c7 # 3.Qg4-c4 # 1...b2-b1=Q 2.Qg4-e6 + 2...Kd5*d4 3.Qe6-c4 # 2.Sd4-c6 threat: 3.Qg4-e6 # 3.Qg4-c4 # 2...Qb1-a2 3.Sc6-b4 # 3.Qg4-e6 # 2...Qb1-b5 3.Qg4-e6 # 2...Qb1-b4 3.Sc6*b4 # 3.Qg4-e6 # 2...Qb1-b3 3.Qg4-e6 # 2...Rc2*c3 3.Qg4-e6 # 2...e2-e1=Q 3.Qg4-c4 # 2...e2-e1=R 3.Qg4-c4 # 2...Bf2-d4 3.Qg4-e6 # 3.Qg4*d4 # 2...Sg3-f5 3.Qg4-f3 # 3.Qg4-g2 # 3.Qg4-c4 # 3.Qg4-e4 # 2...Sg3-e4 3.Qg4*e4 # 3.Qg4-e6 # 2...b7-b5 3.Qg4-e6 # 2...b7*c6 3.Qg4-c4 # 2...Sf7*d6 3.Re7-e5 # 3.Qg4-e6 # 2...Sf7-e5 + 3.Re7*e5 # 2...Sf7-d8 3.Re7-e5 # 3.Qg4-c4 # 1...Rc2*c3 2.Sd4-b5 threat: 3.Sb5*c3 # 3.Qg4-e6 # 2...b2-b1=S 3.Qg4-e6 # 2...Rd2-c2 3.Qg4-e6 # 2...e2-e1=Q 3.Sb5*c3 # 2...e2-e1=R 3.Sb5*c3 # 2...Bf2-d4 3.Qg4-e6 # 3.Qg4*d4 # 2...Rc3-c1 3.Qg4-e6 # 2...Rc3-c2 3.Qg4-e6 # 2...Rc3-a3 3.Sb5-c7 # 3.Qg4-e6 # 2...Rc3-b3 3.Sb5-c7 # 3.Qg4-e6 # 2...Rc3-c8 3.Qg4-e6 # 2...Rc3-c7 + 3.Sb5*c7 # 2...Rc3-c6 3.Qg4-e6 # 2...Rc3-c5 3.Qg4-e6 # 2...Rc3-c4 3.Qg4-e6 # 2...Sg3-f5 3.Sb5*c3 # 3.Qg4-e4 # 2...Sg3-e4 3.Qg4-e6 # 3.Qg4*e4 # 2...Sf7*d6 3.Re7-e5 # 2...Sf7-e5 + 3.Re7*e5 # 2...Sf7-d8 3.Re7-e5 # 3.Sb5*c3 # 1...e2-e1=Q 2.Sd4-e2 threat: 3.Qg4-e6 # 3.Qg4-c4 # 2...Qe1*e2 3.Qg4-c4 # 2...Rc2*c3 3.Qg4-e6 # 3.Se2*c3 # 2...Rd2*e2 3.Qg4-c4 # 2...Bf2-d4 3.Qg4-e6 # 3.Qg4*d4 # 2...d3*e2 3.Qg4-c4 # 2...Sg3*e2 3.Qg4-c4 # 3.Qg4-e4 # 2...Sg3-f5 3.Qg4-e4 # 3.Qg4-f3 # 3.Qg4-g2 # 3.Qg4-c4 # 2...Sg3-e4 3.Qg4-e6 # 3.Qg4*e4 # 2...b7-b5 3.Qg4-e6 # 2...Sf7*d6 3.Re7-e5 # 3.Qg4-e6 # 2...Sf7-e5 + 3.Re7*e5 # 2...Sf7-d8 3.Re7-e5 # 3.Qg4-c4 # 1...e2-e1=R 2.Sd4-e2 threat: 3.Qg4-e6 # 3.Qg4-c4 # 2...Re1*e2 3.Qg4-c4 # 2...Rc2*c3 3.Qg4-e6 # 3.Se2*c3 # 2...Rd2*e2 3.Qg4-c4 # 2...Bf2-d4 3.Qg4-e6 # 3.Qg4*d4 # 2...d3*e2 3.Qg4-c4 # 2...Sg3*e2 3.Qg4-c4 # 3.Qg4-e4 # 2...Sg3-f5 3.Qg4-e4 # 3.Qg4-f3 # 3.Qg4-g2 # 3.Qg4-c4 # 2...Sg3-e4 3.Qg4-e6 # 3.Qg4*e4 # 2...b7-b5 3.Qg4-e6 # 2...Sf7*d6 3.Re7-e5 # 3.Qg4-e6 # 2...Sf7-e5 + 3.Re7*e5 # 2...Sf7-d8 3.Re7-e5 # 3.Qg4-c4 # 1...b7-b5 2.Sd4-c6 threat: 3.Sc6-b4 # 3.Qg4-e6 # 2...b2-b1=Q 3.Qg4-e6 # 2...b2-b1=R 3.Qg4-e6 # 2...e2-e1=Q 3.Sc6-b4 # 2...e2-e1=R 3.Sc6-b4 # 2...Bf2-c5 3.Qg4-e6 # 2...Sg3-f5 3.Sc6-b4 # 3.Qg4-f3 # 3.Qg4-g2 # 3.Qg4-e4 # 2...Sg3-e4 3.Qg4-e6 # 3.Qg4*e4 # 2...Sf7-e5 + 3.Re7*e5 # 2...Sf7-d8 3.Re7-e5 # 3.Sc6-b4 # 2.Sd4*b5 threat: 3.Qg4-e6 # 3.Sb5-c7 # 3.Qg4-c4 # 2...Rc2*c3 3.Sb5*c3 # 3.Qg4-e6 # 2...e2-e1=Q 3.Sb5-c7 # 3.Qg4-c4 # 2...e2-e1=R 3.Sb5-c7 # 3.Qg4-c4 # 2...Bf2-b6 3.Qg4-e6 # 3.Qg4-c4 # 2...Bf2-d4 3.Sb5-c7 # 3.Qg4-e6 # 3.Qg4*d4 # 2...Sg3-f5 3.Sb5-c7 # 3.Qg4-f3 # 3.Qg4-g2 # 3.Qg4-c4 # 3.Qg4-e4 # 2...Sg3-e4 3.Qg4-e6 # 3.Qg4*e4 # 2...Sf7*d6 3.Re7-e5 # 3.Sb5-c7 # 3.Qg4-e6 # 2...Sf7-e5 + 3.Re7*e5 # 2...Sf7-d8 3.Re7-e5 # 3.Sb5-c7 # 3.Qg4-c4 #" keywords: - Letters comments: - With 189985, 190696, and 191786 are the last name letters of Henry E. Bird --- authors: - Loyd, Samuel source: New York Herald date: 1889 algebraic: white: [Kd7, Qf4, Sg5, Sg4] black: [Kg8, Ra4, Bb4, Sg7, Pb7] stipulation: "#3" solution: | "1.Qf4-f8 + ! 1...Bb4*f8 2.Sg4-f6 + 2...Kg8-h8 3.Sg5-f7 # 1...Kg8*f8 2.Sg4-h6 threat: 3.Sg5-h7 # 2...Sg7-e6 3.Sg5*e6 # 2...Sg7-f5 3.Sg5-e6 # 2...Sg7-h5 3.Sg5-e6 # 2...Sg7-e8 3.Sg5-e6 #" --- authors: - Loyd, Samuel source: New York Mail and Express date: 1889 algebraic: white: [Kd8, Qb4, Re6, Ra2, Se4, Se2, Ph4, Pg5, Pf3, Pa3] black: [Ke3, Bh7, Be5, Ph2, Pg6, Pg2, Pa4] stipulation: "#3" solution: | "1.Se4-f2 ! threat: 2.Se2-g1 threat: 3.Re6*e5 # 3.Qb4-d2 # 3.Qb4-e4 # 3.Ra2-e2 # 2...h2*g1=Q 3.Qb4-e4 # 2...h2*g1=S 3.Qb4-e4 # 2...h2*g1=R 3.Qb4-e4 # 2...h2*g1=B 3.Qb4-e4 # 1...Ke3*f3 2.Qb4-f8 + 2...Kf3-e3 3.Qf8-f4 # 3.Re6*e5 # 2...Be5-f4 3.Qf8*f4 # 2...Be5-f6 + 3.Qf8*f6 #" --- authors: - Loyd, Samuel source: Huddersfield College Magazine date: 1878-11 algebraic: white: [Ke1, Qc2, Rd1, Pc3] black: [Ka1, Sc1, Pb2, Pa3, Pa2] stipulation: "#3" solution: | "1.Ke1-d2 ! zugzwang. 1...b2-b1=Q 2.Rd1*c1 zugzwang. 2...Qb1*c1 + 3.Qc2*c1 # 1...b2-b1=S + 2.Kd2*c1 zugzwang. 2...Sb1-d2 3.Kc1*d2 # 2...Sb1*c3 3.Qc2*c3 # 1...b2-b1=R 2.Rd1*c1 zugzwang. 2...Rb1*c1 3.Qc2*c1 # 1...b2-b1=B 2.Kd2*c1 zugzwang. 2...Bb1*c2 3.Kc1*c2 #" keywords: - Letters comments: - To the Memory of Herr (Johann) Lowenthal - also in The Philadelphia Times (no. 519), 8 February 1885 --- authors: - Loyd, Samuel source: Toledo Blade date: 1890 algebraic: white: [Ke1, Qh1, Rb6, Ra3, Bh5, Bd4, Sc1, Sb3, Ph4, Pb4, Pa4] black: [Kc4, Re6, Bd3, Pg7, Pe3, Pe2, Pd5, Pc2, Pb7] stipulation: "#3" solution: | "1.Qh1-e4 ! threat: 2.Qe4*d3 # 2.Sb3-a5 # 1...Bd3*e4 2.Bh5*e2 + 2...Be4-d3 3.Be2*d3 # 1...d5*e4 2.Bh5-f7 threat: 3.Bf7*e6 # 1...Re6*e4 2.Bh5-g6 zugzwang. 2...Re4-e8 3.Bg6*d3 # 2...Re4*d4 3.Sb3-a5 # 2...Re4-e7 3.Bg6*d3 # 2...Re4-e6 3.Bg6*d3 # 2...Re4-e5 3.Bg6*d3 # 2...Re4*h4 3.Bg6*d3 # 2...Re4-g4 3.Bg6*d3 # 2...Re4-f4 3.Bg6*d3 # 1...Re6*b6 2.Qe4*d3 + 2...Kc4*b4 3.Bd4-c5 #" --- authors: - Loyd, Samuel source: Chess Monthly source-id: 37 date: 1857-09 algebraic: white: [Ke1, Qc1, Ra1, Bh5, Bd4, Sh4] black: [Kd3, Rh1, Re8, Bg1, Ba6, Sc4, Sa4, Pf4, Pe6, Pd6] stipulation: "#3" solution: | "1.Qc1*c4 + ! 1...Kd3*c4 2.Ra1*a4 + 2...Kc4-b5 3.Bh5*e8 # 2...Kc4-d5 3.Bh5-f3 # 2...Kc4-d3 3.Bh5-g6 # 2...Kc4-b3 3.Bh5-d1 # 1...Kd3-e4 2.Bh5-f3 # 2.Bh5-g6 # 1...Ba6*c4 2.0-0-0 + 2...Kd3-e4 3.Bh5-f3 #" --- authors: - Loyd, Samuel source: New York Commercial Advertiser date: 1900 algebraic: white: [Ke1, Qd2, Rd7, Sg4, Sb3, Pd6] black: [Ke4, Pd4, Pd3] stipulation: "#3" solution: | "1.Sg4-e5 ! zugzwang. 1...Ke4-f5 2.Sb3-c5 zugzwang. 2...Kf5-f6 3.Qd2-f4 # 2...Kf5*e5 3.Qd2-g5 # 1...Ke4*e5 2.Qd2-g5 + 2...Ke5-e6 3.Sb3-c5 # 2...Ke5-e4 3.Sb3-d2 # 1...Ke4-d5 2.Sb3-c5 zugzwang. 2...Kd5*e5 3.Qd2-g5 # 2...Kd5*c5 3.Qd2-a5 #" --- authors: - Loyd, Samuel source: Detroit Free Press date: 1878-04-27 algebraic: white: [Ke1, Qb1, Rh1, Sh4, Se6, Ph5, Ph3, Pg2, Pc2] black: [Kg3, Rg5, Sb6] stipulation: "#3" solution: | "1.Qb1-d1 ! zugzwang. 1...Rg5-g4 2.Qd1*g4 # 1...Kg3*h4 2.Qd1-d8 threat: 3.Qd8*g5 # 1...Rg5-a5 2.Qd1-g4 # 1...Rg5-b5 2.Qd1-g4 # 1...Rg5-c5 2.Qd1-g4 # 1...Rg5-d5 2.Qd1-g4 # 1...Rg5-e5 + 2.Ke1-f1 threat: 3.Qd1-g4 # 2...Re5-e1 + 3.Qd1*e1 # 2...Re5-e2 3.Sh4-f5 # 2...Re5-e4 3.Sh4-f5 # 2...Re5-g5 3.Qd1-e1 # 2...Re5-f5 + 3.Sh4*f5 # 1...Rg5-f5 2.Qd1-g4 # 1...Rg5-g8 2.Qd1-d4 threat: 3.Qd4-f2 # 3.Qd4-f4 # 2...Sb6-d5 3.Qd4-f2 # 2...Rg8-g4 3.Qd4-f2 # 3.Qd4*g4 # 2...Rg8-f8 3.Qd4-g4 # 1...Rg5-g7 2.Qd1-d4 threat: 3.Qd4-f2 # 3.Qd4-f4 # 2...Sb6-d5 3.Qd4-f2 # 2...Rg7-g4 3.Qd4-f2 # 3.Qd4*g4 # 2...Rg7-f7 3.Qd4-g4 # 1...Rg5-g6 2.h5*g6 threat: 3.Qd1-g4 # 1...Rg5*h5 2.Qd1-g4 # 1...Sb6-a4 2.Sh4-f5 + 2...Kg3*g2 3.Qd1-d5 # 2...Rg5*f5 3.Qd1-g4 # 1...Sb6-c4 2.Sh4-f5 + 2...Kg3*g2 3.Qd1-d5 # 2...Rg5*f5 3.Qd1-g4 # 1...Sb6-d5 2.Sh4-f5 + 2...Kg3*g2 3.Qd1*d5 # 2...Rg5*f5 3.Qd1-g4 # 1...Sb6-d7 2.Sh4-f5 + 2...Kg3*g2 3.Qd1-d5 # 2...Rg5*f5 3.Qd1-g4 # 1...Sb6-c8 2.Sh4-f5 + 2...Kg3*g2 3.Qd1-d5 # 2...Rg5*f5 3.Qd1-g4 # 1...Sb6-a8 2.Sh4-f5 + 2...Kg3*g2 3.Qd1-d5 # 2...Rg5*f5 3.Qd1-g4 #" --- authors: - Loyd, Samuel source: Mail and Express source-id: 17 date: 1888 algebraic: white: [Ke1, Qb1, Bf5, Bd6] black: [Kh4, Bh3, Ph6, Ph5, Pg4, Pe2] stipulation: "#3" solution: | "1.Bf5*g4 ! zugzwang. 1...Bh3-f1 2.Qb1-g6 threat: 3.Qg6*h5 # 2...h5*g4 3.Qg6*h6 # 1...Bh3-g2 2.Qb1-g6 threat: 3.Qg6*h5 # 2...h5*g4 3.Qg6*h6 # 1...Bh3*g4 2.Qb1-e4 zugzwang. 2...Kh4-h3 3.Qe4-h1 # 2...Kh4-g5 3.Bd6-e7 # 1...Kh4*g4 2.Qb1-e4 + 2...Kg4-g5 3.Bd6-e7 # 1...Kh4-g5 2.Qb1-f5 + 2...Kg5-h4 3.Qf5*h5 # 1...h5*g4 2.Qb1-g6 threat: 3.Qg6*h6 # 2...g4-g3 3.Bd6*g3 # 3.Bd6-e7 # 2...h6-h5 3.Qg6-f6 #" --- authors: - Loyd, Samuel source: Lebanon Herald, Centennial Tourney date: 1877 algebraic: white: [Ke2, Qh6, Rb3, Sa3, Ph7, Pd6] black: [Kd4, Bh8, Pg5, Pe5, Pe3, Pd5] stipulation: "#3" solution: | "1.Rb3-b5 ! zugzwang. 1...e5-e4 2.Qh6*g5 zugzwang. 2...Kd4-c3 3.Qg5*e3 # 2...Bh8-e5 3.Qg5*e3 # 2...Bh8-f6 3.Qg5*f6 # 2...Bh8-g7 3.Qg5*g7 # 1...Kd4-e4 2.Qh6*g5 threat: 3.Qg5-g4 # 2...Ke4-d4 3.Qg5*e3 # 2.Qh6-h3 threat: 3.Qh3-g4 # 2...Ke4-f4 3.Qh3-f3 # 2...Ke4-d4 3.Qh3*e3 # 1...Kd4-c3 2.Qh6-h3 threat: 3.Qh3*e3 # 2...d5-d4 3.Qh3-c8 # 1...g5-g4 2.Qh6*e3 # 1...Bh8-f6 2.Qh6-g6 threat: 3.Qg6-d3 # 2...e5-e4 3.Qg6*f6 # 1...Bh8-g7 2.Qh6-g6 threat: 3.Qg6-d3 # 2...e5-e4 3.Qg6*g7 #" --- authors: - Loyd, Samuel source: Sam Loyd und seine Schachaufgaben source-id: 668 date: 1926 algebraic: white: [Ke2, Qd6, Re1, Bc1, Pe3, Pd7, Pd4, Pc3, Pc2] black: [Kd8, Sd3, Pd5] stipulation: "#3" solution: | "1.Qd6*d5 ! threat: 2.Ke2*d3 zugzwang. 2...Kd8-e7 3.d7-d8=Q # 2...Kd8-c7 3.d7-d8=Q # 2.c2*d3 zugzwang. 2...Kd8-e7 3.d7-d8=Q # 2...Kd8-c7 3.d7-d8=Q # 1...Sd3-b2 2.Bc1*b2 zugzwang. 2...Kd8-e7 3.d7-d8=Q # 2...Kd8-c7 3.d7-d8=Q # 1...Sd3*c1 + 2.Re1*c1 zugzwang. 2...Kd8-e7 3.d7-d8=Q # 2...Kd8-c7 3.d7-d8=Q # 1...Sd3*e1 2.Ke2*e1 zugzwang. 2...Kd8-e7 3.d7-d8=Q # 2...Kd8-c7 3.d7-d8=Q # 1...Sd3-f2 2.Ke2*f2 zugzwang. 2...Kd8-e7 3.d7-d8=Q # 2...Kd8-c7 3.d7-d8=Q # 1...Sd3-f4 + 2.e3*f4 zugzwang. 2...Kd8-e7 3.d7-d8=Q # 2...Kd8-c7 3.d7-d8=Q # 1...Sd3-e5 2.d4*e5 zugzwang. 2...Kd8-e7 3.d7-d8=Q # 2...Kd8-c7 3.d7-d8=Q # 1...Sd3-c5 2.d4*c5 zugzwang. 2...Kd8-e7 3.d7-d8=Q # 2...Kd8-c7 3.d7-d8=Q # 1...Sd3-b4 2.c3*b4 zugzwang. 2...Kd8-e7 3.d7-d8=Q # 2...Kd8-c7 3.d7-d8=Q #" keywords: - Scaccografia comments: - The Statue of Liberty --- authors: - Loyd, Samuel source: The Musical World source-id: 65v date: 1859-10 algebraic: white: [Ke2, Qa2, Rh6, Rd3, Bf1, Bd2, Sh1, Pg2, Pf4, Pd6] black: [Ke4, Rg4, Re8, Bf8, Bc6, Sb7, Pg3, Pf5, Pd7, Pb5, Pa5] stipulation: "#3" solution: | "1.Qa2-g8 ! threat: 2.Qg8*g4 threat: 3.Qg4-f3 # 3.Sh1*g3 # 2...f5*g4 3.Sh1*g3 # 1...Rg4*f4 2.Qg8*g3 threat: 3.Qg3*f4 # 3.Qg3-e3 # 2...Ke4-e5 3.Qg3*f4 # 2...Rf4*f1 3.Qg3-e3 # 2...Rf4-f2 + 3.Sh1*f2 # 2...Rf4-f3 3.g2*f3 # 2...Rf4-h4 3.Qg3-e3 # 3.Sh1-f2 # 2...Rf4-g4 3.Qg3-e3 # 3.Sh1-f2 # 2...Bf8*d6 3.Qg3-e3 # 2...Bf8*h6 3.Qg3-e3 # 1...Rg4*g8 2.Bd2-e3 threat: 3.Rd3-d4 # 2...Bf8-g7 3.Sh1*g3 # 1...Rg4-g7 2.Bd2-e3 threat: 3.Rd3-d4 # 2.Qg8*g7 threat: 3.Qg7-d4 # 3.Rd3-d4 # 3.Sh1*g3 # 2...Re8-e5 3.Qg7*e5 # 3.Sh1*g3 # 2...Bf8*g7 3.Sh1*g3 # 1...Rg4-g6 2.Qg8*g6 threat: 3.Sh1*g3 # 2.Rh6*g6 threat: 3.Sh1*g3 # 1...Rg4-g5 2.Qg8*g5 threat: 3.Sh1*g3 # 1...Sb7-c5 2.Rd3-e3 + 2...Ke4-d4 3.Bd2-c3 # 2...Ke4*f4 3.Re3*e8 # 3.Re3-e7 # 3.Re3-e6 # 1...Bf8-g7 2.Qg8*e8 + 2...Bg7-e5 3.Qe8*e5 #" --- authors: - Loyd, Samuel source: Paris Tourney date: 1878 distinction: 3rd Prize algebraic: white: [Ke3, Qh5, Rh8, Bd3, Bb6, Sf8, Sb8, Pe2, Pa5] black: [Kd5, Bh3, Se5, Sd8, Ph4, Pd7, Pd6, Pa6] stipulation: "#3" solution: | "1.Qh5-g5 ! zugzwang. 1...Bh3-f5 2.Qg5*f5 threat: 3.Qf5-e4 # 1...Bh3-f1 2.Rh8*h4 threat: 3.Rh4-d4 # 3.Bd3-c4 # 2...Bf1*e2 3.Rh4-d4 # 2...Sd8-c6 3.Bd3-c4 # 2...Sd8-e6 3.Bd3-c4 # 1...Bh3-g2 2.Qg5*g2 + 2...Se5-f3 3.Rh8-h5 # 1...Bh3-e6 2.Sf8-g6 threat: 3.Sg6-f4 # 3.Sg6-e7 # 2...Be6-h3 3.Sg6-f4 # 2...Be6-g4 3.Sg6-f4 # 2...Be6-f5 3.Sg6-f4 # 2...Be6-g8 3.Sg6-f4 # 2...Be6-f7 3.Sg6-f4 # 2...Sd8-c6 3.Sg6-f4 # 1...Bh3-g4 2.Qg5-f4 threat: 3.Qf4-d4 # 3.Qf4-e4 # 2...Bg4-f3 3.Qf4-d4 # 2...Bg4-f5 3.Qf4-d4 # 2...Se5-c4 + 3.Bd3*c4 # 2...Se5-f3 3.Qf4-e4 # 3.Bd3-c4 # 2...Se5-c6 3.Qf4-e4 # 3.Bd3-c4 # 2...Sd8-c6 3.Qf4-e4 # 2...Sd8-e6 3.Qf4-e4 # 1...Sd8-b7 2.Sb8*a6 threat: 3.Sa6-b4 # 1...Sd8-c6 2.Sb8*a6 threat: 3.Sa6-c7 # 2...Sc6*a5 3.Sa6-b4 # 2...Sc6-b4 3.Sa6*b4 # 2...Sc6-d4 3.Sa6-b4 # 2...Sc6-e7 3.Sa6-b4 # 2...Sc6-d8 3.Sa6-b4 # 2...Sc6-b8 3.Sa6-b4 # 2...Sc6-a7 3.Sa6-b4 # 1...Sd8-e6 2.Sf8-g6 threat: 3.Sg6-e7 # 2...Se6-c5 3.Sg6-f4 # 2...Se6-d4 3.Sg6-f4 # 2...Se6-f4 3.Sg6*f4 # 2...Se6*g5 3.Sg6-f4 # 2...Se6-g7 3.Sg6-f4 # 2...Se6-f8 3.Sg6-f4 # 2...Se6-d8 3.Sg6-f4 # 2...Se6-c7 3.Sg6-f4 # 1...Sd8-f7 2.Sf8-g6 threat: 3.Sg6-f4 #" --- authors: - Loyd, Samuel source: Detroit Free Press source-id: 1174 date: 1881-12-24 algebraic: white: [Ke1, Qg8, Bb3, Sc5, Sa8] black: [Ke3, Pg5, Pf5] stipulation: "#3" solution: | "1.Qg8-b8 ! zugzwang. 1...Ke3-f3 2.Qb8-h2 zugzwang. 2...Kf3-e3 3.Qh2-f2 # 2...Kf3-g4 3.Bb3-d1 # 2...f5-f4 3.Qh2-h3 # 2...g5-g4 3.Qh2-f2 # 1...Ke3-d4 2.Ke1-d2 threat: 3.Qb8-d6 # 2...Kd4*c5 3.Qb8-b6 # 1...f5-f4 2.Qb8-h8 threat: 3.Qh8-c3 # 2...Ke3-f3 3.Qh8-h3 # 2...f4-f3 3.Qh8-e5 # 1...g5-g4 2.Qb8-e5 + 2...Ke3-f3 3.Bb3-d5 #" --- authors: - Loyd, Samuel source: American Union source-id: 33 date: 1858-12 algebraic: white: [Ke3, Rf4, Be6, Sf8, Pd5, Pd2, Pb3] black: [Ke5, Rb7, Bh8, Be8, Pg6, Pe7, Pe4, Pd6, Pd3, Pc5] stipulation: "#3" solution: | "1.b3-b4 ! zugzwang. 1...c5-c4 2.Sf8-h7 threat: 3.Rf4*e4 # 1...c5*b4 2.Sf8-h7 threat: 3.Rf4*e4 # 1...g6-g5 2.Rf4-f5 # 1...Rb7*b4 2.Rf4-f7 threat: 3.Sf8*g6 # 2...Be8*f7 3.Sf8-d7 # 1...Rb7-b5 2.Rf4-f7 threat: 3.Sf8*g6 # 2...Be8*f7 3.Sf8-d7 # 1...Rb7-b6 2.Rf4-f7 threat: 3.Sf8*g6 # 2...Be8*f7 3.Sf8-d7 # 1...Rb7-a7 2.Sf8-h7 threat: 3.Rf4*e4 # 1...Rb7-b8 2.Rf4-f7 threat: 3.Sf8*g6 # 2...Be8*f7 3.Sf8-d7 # 1...Rb7-d7 2.Rf4-f7 threat: 3.Sf8*g6 # 2...Be8*f7 3.Sf8*d7 # 2.Sf8-h7 threat: 3.Rf4*e4 # 1...Rb7-c7 2.Sf8-h7 threat: 3.Rf4*e4 # 1...Be8-a4 2.Sf8*g6 # 1...Be8-b5 2.Sf8*g6 # 1...Be8-c6 2.Sf8*g6 # 1...Be8-d7 2.Sf8*g6 # 1...Be8-f7 2.Rf4*f7 threat: 3.Sf8*g6 # 1...Bh8-f6 2.Rf4*e4 # 1...Bh8-g7 2.Rf4*e4 + 2...Ke5-f6 3.Sf8-h7 #" --- authors: - Loyd, Samuel source: Hartford Times date: 1878 algebraic: white: [Ke7, Qf1, Rc2, Ra1, Bb2, Sa5, Pb6] black: [Kb4, Sg1, Sb8] stipulation: "#3" solution: | 1.Lb2-f6 ! - und viele NL --- authors: - Loyd, Samuel source: Saturday Press source-id: 13 date: 1859-01-22 algebraic: white: [Ke7, Qe1, Rc8, Sf7, Sb5, Pg2, Pe6, Pd2, Pb6, Pa2] black: [Kd5, Rd3, Sf2, Sa1, Pf4, Pf3, Pe4, Pd6, Pa3] stipulation: "#3" solution: | "1.Qe1*a1 ! threat: 2.Qa1-d4 + 2...Rd3*d4 3.Sb5-c3 # 1...Sf2-d1 2.Qa1*d1 zugzwang. 2...Rd3*d2 3.Qd1-b3 # 3.Qd1*d2 # 2...Rd3-b3 3.Qd1*b3 # 2...Rd3-c3 3.d2*c3 # 2...Rd3-d4 3.Sb5-c3 # 2...Rd3-e3 3.d2*e3 # 2...f3-f2 3.Qd1-h5 # 2...f3*g2 3.Qd1-h5 # 2...e4-e3 3.Qd1*f3 # 1...Rd3-c3 2.Qa1*c3 threat: 3.Sb5-c7 # 3.Qc3-d4 # 3.Qc3-b3 # 3.Qc3-c6 # 3.Qc3-c4 # 2...e4-e3 3.Qc3-d4 # 3.Qc3-c6 # 3.Qc3-c4 #" --- authors: - Loyd, Samuel source: Sam Loyd und seine Schachaufgaben source-id: 248 date: 1926 algebraic: white: [Kf2, Qa5, Rg6, Rf8, Bh6, Bb7, Se8, Sd1, Pe5, Pc7, Pa6] black: [Kc4, Rb8, Rb1, Sh2, Sa1, Pf7, Pf3, Pd2, Pc3, Pa7] stipulation: "#3" solution: | "1.Rg6-g1 ! threat: 2.Sd1-e3 + 2...Kc4-d4 3.Qa5-d5 # 2...Kc4-d3 3.Qa5-d5 # 2...Kc4-b3 3.Rg1*b1 # 1...Sa1-c2 2.Se8-d6 + 2...Kc4-d4 3.Qa5*c3 # 3.Qa5-d5 # 2...Kc4-d3 3.Qa5*c3 # 2...Kc4-b3 3.Bb7-d5 # 1...Sa1-b3 2.Se8-d6 + 2...Kc4-d4 3.Qa5*c3 # 3.Qa5-d5 # 2...Kc4-d3 3.Qa5*c3 # 1...Rb1*d1 2.Qa5-a4 + 2...Kc4-c5 3.Bh6-e3 # 2...Kc4-d3 3.Bb7-e4 # 3.Qa4-e4 # 1...Rb1-c1 2.Qa5-a4 + 2...Kc4-c5 3.Bh6-e3 # 2...Kc4-d3 3.Bb7-e4 # 3.Qa4-e4 # 1...Sh2-f1 2.Rg1-g4 + 2...Kc4-d3 3.Qa5*c3 # 2...Kc4-b3 3.Qa5-a4 # 1...Sh2-g4 + 2.Rg1*g4 + 2...Kc4-d3 3.Qa5*c3 # 2...Kc4-b3 3.Qa5-a4 # 1...c3-c2 2.Se8-d6 + 2...Kc4-d4 3.Qa5-c3 # 3.Qa5-d5 # 2...Kc4-d3 3.Qa5-d5 # 3.Qa5*d2 # 3.Qa5-c3 # 2...Kc4-b3 3.Bb7-d5 # 1...Kc4-b3 2.Bb7-d5 + 2...Kb3-c2 3.Qa5*c3 #" --- authors: - Loyd, Samuel source: Chess Monthly source-id: 51 date: 1857-11 algebraic: white: [Kf2, Qh5, Rd6, Sg3, Ph6, Ph4, Pd3] black: [Kf4, Rg8, Rf8, Bh8, Be8, Pg4, Pf3, Pe5, Pc6] stipulation: "#3" solution: | "1.Rd6-d4 + ! 1...e5-e4 2.Rd4*e4 # 1...e5*d4 2.Qh5-c5 zugzwang. 2...Be8-d7 3.Sg3-h5 # 2...Be8-h5 3.Sg3*h5 # 2...Be8-g6 3.Qc5-g5 # 2...Be8-f7 3.Qc5-f5 # 2...Rf8-f5 3.Qc5*f5 # 2...Rf8-f6 3.Qc5*d4 # 2...Rf8-f7 3.Sg3-h5 # 2...Rg8-g5 3.Qc5*g5 # 2...Rg8-g6 3.Sg3-h5 # 2...Rg8-g7 3.Qc5*d4 # 3.Qc5-d6 # 2...Bh8-e5 3.Qc5-c1 # 2...Bh8-f6 3.Qc5-f5 # 2...Bh8-g7 3.Qc5-g5 #" keywords: - Organ Pipes --- authors: - Loyd, Samuel source: La Stratégie source-id: 55 date: 1867-10-15 algebraic: white: [Kf3, Qb2, Ba7, Sf5, Ph5, Pe6] black: [Ke8, Rh8, Ra8, Ph6, Pg7, Pe7] stipulation: "#3" solution: | "1.Ba7-e3 ! zugzwang. 1...Ra8-a3 2.Qb2-b8 # 1...g7-g5 2.Qb2*h8 # 1...g7-g6 2.Qb2*h8 # 1...Ra8-a1 2.Qb2-b8 # 1...Ra8-a2 2.Qb2-b8 # 1...Ra8-a4 2.Qb2-b8 # 1...Ra8-a5 2.Qb2-b8 # 1...Ra8-a6 2.Qb2-b8 # 1...Ra8-a7 2.Qb2-b8 # 1...Ra8-d8 2.Qb2*g7 threat: 3.Qg7*h8 # 3.Qg7*e7 # 3.Qg7-f7 # 2...Rd8-d1 3.Qg7*h8 # 3.Qg7*e7 # 2...Rd8-d2 3.Qg7*h8 # 3.Qg7*e7 # 2...Rd8-d3 3.Qg7*h8 # 3.Qg7*e7 # 2...Rd8-d4 3.Qg7*h8 # 3.Qg7*e7 # 2...Rd8-d5 3.Qg7*h8 # 3.Qg7*e7 # 2...Rd8-d6 3.Qg7*h8 # 3.Qg7*e7 # 2...Rd8-d7 3.Qg7*h8 # 2...Rd8-a8 3.Qg7*h8 # 3.Qg7*e7 # 2...Rd8-b8 3.Qg7*h8 # 3.Qg7*e7 # 2...Rd8-c8 3.Qg7*h8 # 3.Qg7*e7 # 2...Rh8-h7 3.Qg7-g8 # 2...Rh8-f8 3.Qg7*e7 # 2...Rh8-g8 3.Qg7*e7 # 3.Qg7-f7 # 3.Qg7*g8 # 1...Ra8-c8 2.Qb2*g7 threat: 3.Qg7*h8 # 3.Qg7*e7 # 2...Rc8-c7 3.Qg7*h8 # 2...Ke8-d8 3.Qg7*e7 # 2...Rh8-h7 3.Qg7-g8 # 2...Rh8-f8 3.Qg7*e7 # 2...Rh8-g8 3.Qg7*e7 # 3.Qg7*g8 # 1...Ra8-b8 2.Qb2*b8 # 1...0-0-0 2.Sf5*e7 + 2...Kc8-c7 3.Qb2-b6 # 1...0-0 2.Qb2*g7 # 1...Ke8-f8 2.Qb2*g7 + 2...Kf8-e8 3.Qg7*h8 # 3.Qg7*e7 # 1...Ke8-d8 2.Qb2-b7 threat: 3.Qb7-d7 # 2...Ra8-a7 3.Qb7-b8 # 2...Kd8-e8 3.Qb7*a8 # 3.Qb7*e7 # 1...Rh8-h7 2.Qb2-b7 threat: 3.Qb7*a8 # 3.Qb7*e7 # 2...g7-g5 3.Qb7*a8 # 2...g7-g6 3.Qb7*a8 # 2...Ra8-a1 3.Qb7-c8 # 3.Qb7-b8 # 3.Qb7*e7 # 2...Ra8-a2 3.Qb7-c8 # 3.Qb7-b8 # 3.Qb7*e7 # 2...Ra8-a3 3.Qb7-c8 # 3.Qb7-b8 # 3.Qb7*e7 # 2...Ra8-a4 3.Qb7-c8 # 3.Qb7-b8 # 3.Qb7*e7 # 2...Ra8-a5 3.Qb7-c8 # 3.Qb7-b8 # 3.Qb7*e7 # 2...Ra8-a6 3.Qb7-c8 # 3.Qb7-b8 # 3.Qb7*e7 # 2...Ra8-a7 3.Qb7-c8 # 3.Qb7-b8 # 2...Ra8-d8 3.Qb7*e7 # 2...Ra8-c8 3.Qb7*c8 # 3.Qb7*e7 # 2...Ra8-b8 3.Qb7*b8 # 3.Qb7*e7 # 2...Ke8-f8 3.Qb7*a8 # 2...Ke8-d8 3.Qb7-d7 # 1...Rh8-f8 2.Qb2-b5 + 2...Ke8-d8 3.Qb5-d7 # 1...Rh8-g8 2.Qb2-b7 threat: 3.Qb7*a8 # 3.Qb7*e7 # 2...Ra8-a1 3.Qb7-c8 # 3.Qb7-b8 # 3.Qb7*e7 # 2...Ra8-a2 3.Qb7-c8 # 3.Qb7-b8 # 3.Qb7*e7 # 2...Ra8-a3 3.Qb7-c8 # 3.Qb7-b8 # 3.Qb7*e7 # 2...Ra8-a4 3.Qb7-c8 # 3.Qb7-b8 # 3.Qb7*e7 # 2...Ra8-a5 3.Qb7-c8 # 3.Qb7-b8 # 3.Qb7*e7 # 2...Ra8-a6 3.Qb7-c8 # 3.Qb7-b8 # 3.Qb7*e7 # 2...Ra8-a7 3.Qb7-c8 # 3.Qb7-b8 # 2...Ra8-d8 3.Qb7*e7 # 2...Ra8-c8 3.Qb7*c8 # 3.Qb7*e7 # 2...Ra8-b8 3.Qb7*b8 # 3.Qb7*e7 # 2...Ke8-d8 3.Qb7-d7 #" --- authors: - Loyd, Samuel source: Chess Monthly source-id: 32v date: 1857-07 algebraic: white: [Kf4, Rf5, Se6, Se5] black: [Kg8, Rh8, Sh7, Sh6] stipulation: "#3" solution: | "1.Rf5-f7 ! threat: 2.Rf7-g7 # 1...Sh6-f5 2.Kf4*f5 threat: 3.Rf7-g7 # 1...Sh6*f7 2.Se5-g4 zugzwang. 2...Sf7-d6 3.Sg4-h6 # 2...Sf7-e5 3.Sg4-h6 # 2...Sf7-g5 3.Sg4-h6 # 2...Sf7-h6 3.Sg4*h6 # 2...Sf7-d8 3.Sg4-h6 # 2...Sh7-f6 3.Sg4*f6 # 2...Sh7-g5 3.Sg4-f6 # 2...Sh7-f8 3.Sg4-f6 #" --- authors: - Loyd, Samuel source: The Albion (New York) date: 1859-07-16 algebraic: white: [Kf5, Qh1, Bf8, Se5, Sd3, Pg5, Pg2] black: [Kd5, Rc5, Rb5, Be3, Ph6, Pf7, Pf4, Pe4, Pd4] stipulation: "#3" solution: | "1.g2-g3 ! threat: 2.Qh1*e4 # 1...f4-f3 2.Qh1-h4 threat: 3.Qh4*e4 # 2...Be3-f4 3.Sd3*f4 # 1.Qh1-e1 ! threat: 2.Sd3*f4 + 2...Be3*f4 3.Qe1*e4 # 2.Qe1-a5 threat: 3.Qa5-d8 # 2...Rb5*a5 3.Sd3-b4 # 2...Rb5-b8 3.Qa5*c5 # 2...Rb5-b7 3.Qa5*c5 # 2...Rb5-b6 3.Qa5*c5 # 2...Rc5-c8 3.Sd3-b4 # 2...Rc5-c7 3.Sd3-b4 # 2...Rc5-c6 3.Sd3-b4 # 1...e4*d3 2.Qe1-d1 threat: 3.Qd1-f3 # 1...f4-f3 2.Sd3-f4 + 2...Be3*f4 3.Qe1*e4 # 2.Qe1-h4 threat: 3.Qh4*e4 # 2...Be3-f4 3.Sd3*f4 # 1...Rb5-b1 2.Sd3*f4 + 2...Be3*f4 3.Qe1*e4 # 1...Rb5-b2 2.Sd3*f4 + 2...Be3*f4 3.Qe1*e4 # 1...Rb5-b3 2.Sd3*f4 + 2...Be3*f4 3.Qe1*e4 # 1...Rb5-b8 2.Sd3*f4 + 2...Be3*f4 3.Qe1*e4 # 1...Rb5-b7 2.Sd3*f4 + 2...Be3*f4 3.Qe1*e4 # 1...Rb5-b6 2.Sd3*f4 + 2...Be3*f4 3.Qe1*e4 # 1...Rc5-c3 2.Sd3*f4 + 2...Be3*f4 3.Qe1*e4 # 1...Rc5-c4 2.Sd3*f4 + 2...Be3*f4 3.Qe1*e4 # 1...Rc5-c8 2.Sd3*f4 + 2...Be3*f4 3.Qe1*e4 # 1...Rc5-c7 2.Sd3*f4 + 2...Be3*f4 3.Qe1*e4 # 1...Rc5-c6 2.Sd3*f4 + 2...Be3*f4 3.Qe1*e4 # 1...h6*g5 2.Qe1-a5 threat: 3.Qa5-d8 # 2...Rb5*a5 3.Sd3-b4 # 2...Rb5-b8 3.Qa5*c5 # 2...Rb5-b7 3.Qa5*c5 # 2...Rb5-b6 3.Qa5*c5 # 2...Rc5-c8 3.Sd3-b4 # 2...Rc5-c7 3.Sd3-b4 # 2...Rc5-c6 3.Sd3-b4 # 1...f7-f6 2.Sd3*f4 + 2...Be3*f4 3.Qe1*e4 #" --- authors: - Loyd, Samuel source: The Albion (New York) source-id: v date: 1859-07-16 algebraic: white: [Kf5, Qf1, Bf8, Se5, Sd3, Pg5] black: [Kd5, Rc5, Rb5, Be3, Ph6, Ph2, Pf7, Pf3, Pe4, Pd4] stipulation: "#3" solution: | "1.Qf1-e1 ! threat: 2.Sd3-f4 + 2...Be3*f4 3.Qe1*e4 # 2.Qe1-h4 threat: 3.Qh4*e4 # 2...Be3-f4 3.Sd3*f4 # 1...h2-h1=Q 2.Sd3-f4 + 2...Be3*f4 3.Qe1*e4 # 1...h2-h1=S 2.Sd3-f4 + 2...Be3*f4 3.Qe1*e4 # 1...h2-h1=R 2.Sd3-f4 + 2...Be3*f4 3.Qe1*e4 # 1...h2-h1=B 2.Sd3-f4 + 2...Be3*f4 3.Qe1*e4 # 1...f3-f2 2.Sd3-f4 + 2...Be3*f4 3.Qe1*e4 # 1...e4*d3 2.Qe1-h1 threat: 3.Qh1*f3 # 1...Rb5-b8 2.Sd3-f4 + 2...Be3*f4 3.Qe1*e4 # 1...Rb5-b7 2.Sd3-f4 + 2...Be3*f4 3.Qe1*e4 # 1...Rb5-b6 2.Sd3-f4 + 2...Be3*f4 3.Qe1*e4 # 1...Rc5-c8 2.Sd3-f4 + 2...Be3*f4 3.Qe1*e4 # 1...Rc5-c7 2.Sd3-f4 + 2...Be3*f4 3.Qe1*e4 # 1...Rc5-c6 2.Sd3-f4 + 2...Be3*f4 3.Qe1*e4 # 1...h6*g5 2.Qe1-a5 threat: 3.Qa5-d8 # 2...Rb5*a5 3.Sd3-b4 # 2...Rb5-b8 3.Qa5*c5 # 2...Rb5-b7 3.Qa5*c5 # 2...Rb5-b6 3.Qa5*c5 # 2...Rc5-c8 3.Sd3-b4 # 2...Rc5-c7 3.Sd3-b4 # 2...Rc5-c6 3.Sd3-b4 # 1...f7-f6 2.Sd3-f4 + 2...Be3*f4 3.Qe1*e4 # 1.Qf1-f2 ! threat: 2.Qf2-h4 threat: 3.Qh4*e4 # 2...Be3-f4 3.Sd3*f4 # 2.Qf2-a2 + 2...Rb5-b3 3.Sd3-b4 # 2...Rc5-c4 3.Qa2*c4 # 1...h2-h1=Q 2.Qf2-a2 + 2...Rb5-b3 3.Sd3-b4 # 2...Rc5-c4 3.Qa2*c4 # 1...h2-h1=S 2.Qf2-a2 + 2...Rb5-b3 3.Sd3-b4 # 2...Rc5-c4 3.Qa2*c4 # 1...h2-h1=R 2.Qf2-a2 + 2...Rb5-b3 3.Sd3-b4 # 2...Rc5-c4 3.Qa2*c4 # 1...h2-h1=B 2.Qf2-a2 + 2...Rb5-b3 3.Sd3-b4 # 2...Rc5-c4 3.Qa2*c4 # 1...Be3-d2 2.Qf2-h4 threat: 3.Qh4*e4 # 2...Bd2-f4 3.Sd3*f4 # 1...Be3*g5 2.Qf2-a2 + 2...Rb5-b3 3.Sd3-b4 # 2...Rc5-c4 3.Qa2*c4 # 1...Rb5-b2 2.Qf2-h4 threat: 3.Qh4*e4 # 2...Be3-f4 3.Sd3*f4 # 1...Rb5-b3 2.Qf2-h4 threat: 3.Qh4*e4 # 2...Be3-f4 3.Sd3*f4 # 1...Rb5-b8 2.Qf2-a2 + 2...Rc5-c4 3.Qa2*c4 # 2...Rb8-b3 3.Sd3-b4 # 1...Rb5-b7 2.Qf2-a2 + 2...Rc5-c4 3.Qa2*c4 # 2...Rb7-b3 3.Sd3-b4 # 1...Rb5-b6 2.Qf2-a2 + 2...Rc5-c4 3.Qa2*c4 # 2...Rb6-b3 3.Sd3-b4 # 1...Rc5-c2 2.Qf2-h4 threat: 3.Qh4*e4 # 2...Be3-f4 3.Sd3*f4 # 2.Qf2*c2 threat: 3.Qc2-c6 # 3.Qc2-c4 # 2...Rb5-b4 3.Sd3*b4 # 3.Qc2-c6 # 3.Qc2-c5 # 2...Rb5-b6 3.Qc2-c5 # 3.Qc2-c4 # 2...Rb5-c5 3.Sd3-b4 # 3.Qc2*c5 # 1...Rc5-c3 2.Qf2-h4 threat: 3.Qh4*e4 # 2...Be3-f4 3.Sd3*f4 # 1...Rc5-c4 2.Qf2-h4 threat: 3.Qh4*e4 # 2...Be3-f4 3.Sd3*f4 # 1...Rc5-c8 2.Qf2-a2 + 2...Rb5-b3 3.Sd3-b4 # 2...Rc8-c4 3.Qa2*c4 # 1...Rc5-c7 2.Qf2-a2 + 2...Rb5-b3 3.Sd3-b4 # 2...Rc7-c4 3.Qa2*c4 # 1...Rc5-c6 2.Qf2-a2 + 2...Rb5-b3 3.Sd3-b4 # 2...Rc6-c4 3.Qa2*c4 # 1...h6*g5 2.Qf2-a2 + 2...Rb5-b3 3.Sd3-b4 # 2...Rc5-c4 3.Qa2*c4 # 1...f7-f6 2.Qf2-a2 + 2...Rb5-b3 3.Sd3-b4 # 2...Rc5-c4 3.Qa2*c4 #" --- authors: - Loyd, Samuel source: Saturday Press source-id: v date: 1859 algebraic: white: [Kf6, Rg3, Rb4, Sa5, Pb2, Pa3] black: [Kc5, Sg2, Sa8, Pd7, Pd6, Pa4] stipulation: "#3" solution: | "1.Rg3-c3 + ! 1...Kc5-d5 2.Sa5-c4 zugzwang. 2...Sg2-e1 3.Sc4-e3 # 2...Sg2-h4 3.Sc4-e3 # 2...Sg2-f4 3.Sc4-e3 # 2...Sg2-e3 3.Sc4*e3 # 2...Kd5-c5 3.Sc4-e3 # 3.Sc4-b6 # 2...Kd5-d4 3.Sc4-b6 # 3.Sc4-e3 # 2...Kd5-c6 3.Sc4-e3 # 2...Kd5-e4 3.Sc4-b6 # 2...Sa8-b6 3.Sc4*b6 # 2...Sa8-c7 3.Sc4-b6 #" --- authors: - Loyd, Samuel source: New York Tribune source-id: 43 date: 1891-08-09 algebraic: white: [Kf6, Rf3, Rd2, Bh1, Sc6, Pc4] black: [Ke4, Ra4, Ra3, Ba7, Ba2, Sc1, Sa6, Pb3] stipulation: "#3" solution: | "1.Rd2-d5 ! threat: 2.Rd5-e5 # 1...Sc1-d3 2.Kf6-g5 threat: 3.Rf3*d3 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sd3-e1 3.Rd5-e5 # 2...Sd3-f2 3.Rd5-e5 # 2...Sd3-f4 3.Rd5-e5 # 2...Sd3-e5 3.Rd5*e5 # 2...Ba7-e3 + 3.Rf3-f4 # 2...Ba7-d4 3.Rd5*d4 # 3.Rf3-h3 # 3.Rf3-g3 # 1...Ra4-a5 2.c4-c5 threat: 3.Rd5-d4 # 3.Rd5-e5 # 2...Sc1-e2 3.Rd5-e5 # 2...Sc1-d3 3.Rd5-d4 # 2...Ra3-a4 3.Rd5-e5 # 2...Ke4*d5 3.Rf3-c3 # 2...Ra5-a4 3.Rd5-e5 # 2...Ra5*c5 3.Rd5-d4 # 2...Ba7*c5 3.Rd5-e5 # 2...Ba7-b8 3.Rd5-d4 # 1...Ba7-e3 2.Rf3-f1 # 2.Rf3-f2 # 2.Rf3-f5 # 1...Ba7-d4 + 2.Rd5*d4 # 1...Ba7-b8 2.Rd5-d4 #" --- authors: - Loyd, Samuel source: The Albion (New York) source-id: v 440 date: 1857-06-06 algebraic: white: [Kf6, Se4, Sd6, Ph4, Pg5, Pg2, Pf3, Pe2, Pc6, Pc5] black: [Kf4, Rc4, Sh1, Sa2, Pg3, Pe3, Pc3] stipulation: "#3" solution: | "1.Sd6-f5 ! threat: 2.Sf5-g7 threat: 3.Sg7-e6 # 3.Sg7-h5 # 2...Rc4*e4 3.Sg7-h5 # 2.Sf5-e7 threat: 3.Se7-d5 # 3.Se7-g6 # 2...Sa2-b4 3.Se7-g6 # 2...Rc4*c5 3.Se7-g6 # 2...Rc4-d4 3.Se7-g6 # 1...Sh1-f2 2.Se4*f2 threat: 3.Sf2-h3 # 3.Sf2-d3 # 2...Sa2-c1 3.Sf2-h3 # 2...Sa2-b4 3.Sf2-h3 # 2...e3*f2 3.e2-e3 # 2...g3*f2 3.g2-g3 # 2...Rc4-d4 3.Sf2-h3 # 1...Sa2-b4 2.Sf5-e7 threat: 3.Se7-g6 # 2...Sb4-d5 + 3.Se7*d5 # 1...Rc4*c5 2.Se4*c5 threat: 3.Sc5-d3 # 3.Sc5-e6 # 2...Sh1-f2 3.Sc5-e6 # 2...Sa2-c1 3.Sc5-e6 # 2...Sa2-b4 3.Sc5-e6 # 1...Rc4*e4 2.Sf5-g7 threat: 3.Sg7-h5 # 2...Re4-e6 + 3.Sg7*e6 # 1...Rc4-d4 2.Sf5*d4 threat: 3.Sd4-e6 #" --- authors: - Loyd, Samuel source: La Stratégie, Numa Preti Memorial Tourney date: 1910 algebraic: white: [Kf8, Qb1, Rd8, Rc6, Bf1, Sb4, Sb3, Pe7, Pc7, Pb5, Pa2] black: [Kb7, Rb8, Bb6, Ba8, Sd4, Sc8, Pf2, Pa7] stipulation: "#3" solution: | "1.Sb4-a6 ! threat: 2.c7*b8=Q # 2.c7*b8=R # 1...Sd4-e6 + 2.Rc6*e6 threat: 3.c7*b8=Q # 3.c7*b8=R # 3.Bf1-g2 # 3.Qb1-e4 # 2...Bb6*c7 3.Sa6-c5 # 3.Sb3-c5 # 3.Bf1-g2 # 3.Qb1-e4 # 2...Sc8-d6 3.Rd8*b8 # 3.c7*b8=Q # 3.c7*b8=R # 2...Sc8*e7 3.Rd8*b8 # 3.c7*b8=Q # 3.c7*b8=R # 1...Sd4*c6 2.b5*c6 + 2...Kb7*c6 3.Qb1-e4 # 2.Qb1-e4 threat: 3.c7*b8=Q # 3.c7*b8=R # 3.b5*c6 # 3.Qe4*c6 # 2...Bb6-a5 3.c7*b8=Q # 3.c7*b8=R # 3.Qe4*c6 # 2...Bb6-e3 3.c7*b8=Q # 3.c7*b8=R # 3.Qe4*c6 # 2...Bb6-d4 3.c7*b8=Q # 3.c7*b8=R # 3.Qe4*c6 # 2...Bb6-c5 3.c7*b8=Q # 3.c7*b8=R # 3.Qe4*c6 # 2...Bb6*c7 3.Qe4*c6 # 2...Sc8*e7 3.Rd8*b8 # 3.c7*b8=Q # 3.c7*b8=R # 1...Sd4*b5 2.Rd8-d7 zugzwang. 2...Kb7*a6 3.c7*b8=S # 2...Sb5-a3 3.Sb3-a5 # 2...Sb5-c3 3.Sb3-a5 # 2...Sb5-d4 3.Sb3-a5 # 2...Sb5-d6 3.Sb3-a5 # 2...Sb5*c7 3.Sb3-a5 # 2...Bb6-a5 3.Sb3*a5 # 2...Bb6-e3 3.Sb3-a5 # 2...Bb6-d4 3.Sb3-a5 # 2...Bb6-c5 3.Sb3-a5 # 2...Bb6*c7 3.Sb3-a5 # 2...Kb7*c6 3.c7*b8=S # 2...Sc8-d6 + 3.c7-c8=Q # 2...Sc8*e7 + 3.c7-c8=Q # 1...Bb6*c7 2.Sa6-c5 # 2.Sb3-c5 #" --- authors: - Loyd, Samuel source: Syracuse Standard source-id: 25 date: 1858-04-30 algebraic: white: [Kg1, Qa3, Ph6, Ph5, Pg3, Pg2, Pf2, Pe5, Pb3] black: [Kg4, Pg6, Pg5, Pf6, Pe6] stipulation: "#3" solution: | "1.Qa3-e7 ! zugzwang. 1...f6-f5 2.f2-f4 threat: 3.Qe7*g5 # 2...g5*f4 3.Qe7-h4 # 1...Kg4-f5 2.f2-f3 threat: 3.Qe7*f6 # 2...Kf5*e5 3.Qe7-c5 # 2...f6*e5 3.Qe7-f8 # 3.Qe7-f7 # 1...Kg4*h5 2.Qe7*f6 zugzwang. 2...g5-g4 3.Qf6-h4 # 2...Kh5*h6 3.Qf6-h8 # 2...Kh5-g4 3.Qf6-f3 # 1...f6*e5 2.Qe7*e6 + 2...Kg4*h5 3.Qe6-h3 # 1...g6*h5 2.Qe7*f6 threat: 3.Qf6-f3 # 3.Qf6*e6 # 2...h5-h4 3.Qf6-f3 #" --- authors: - Loyd, Samuel source: Lynn News source-id: 26 date: 1859-08-10 algebraic: white: [Kg2, Qa5, Se2, Ph4, Pa3] black: [Ke4, Ph5, Pf5] stipulation: "#3" solution: | "1.Se2-f4 ! threat: 2.Qa5-c3 zugzwang. 2...Ke4*f4 3.Qc3-d4 # 2.Qa5-c5 zugzwang. 2...Ke4*f4 3.Qc5-d4 # 1...Ke4*f4 2.Qa5-e1 zugzwang. 2...Kf4-g4 3.Qe1-g3 # 1...Ke4-d4 2.Kg2-f3 zugzwang. 2...Kd4-c4 3.Qa5-b4 # 1...Ke4-e3 2.Qa5-d5 zugzwang. 2...Ke3*f4 3.Qd5-d4 #" --- authors: - Loyd, Samuel source: Scientific American date: 1877 algebraic: white: [Kg2, Qe4, Be7, Be2, Se5, Sd7, Pf2, Pd2] black: [Ke6, Bf7, Be3, Pg3] stipulation: "#3" solution: | "1.Be7-a3 ! threat: 2.Be2-g4 # 2.Be2-c4 # 1...Be3-c5 2.Ba3*c5 threat: 3.Be2-g4 # 3.Be2-c4 # 2...Bf7-h5 3.Be2-c4 # 2...Bf7-g6 3.Be2-c4 # 1...Bf7-h5 2.Be2-c4 # 1...Bf7-g6 2.Be2-c4 # 1.Be7-b4 ! threat: 2.Be2-c4 # 2.Be2-g4 # 1...Be3-c5 2.Bb4*c5 threat: 3.Be2-g4 # 3.Be2-c4 # 2...Bf7-h5 3.Be2-c4 # 2...Bf7-g6 3.Be2-c4 # 1...Bf7-h5 2.Be2-c4 # 1...Bf7-g6 2.Be2-c4 # 1.Be7-f6 ! threat: 2.Qe4-c4 + 2...Ke6-d6 3.Qc4-c6 # 2...Ke6-f5 3.Qc4-g4 # 3.Be2-g4 # 3.Be2-d3 # 2.Be2-g4 + 2...Ke6-d6 3.Qe4-c6 # 2.Be2-c4 + 2...Ke6-d6 3.Qe4-c6 # 1...Be3-c5 2.Be2-g4 + 2...Ke6-d6 3.Qe4-c6 # 2.Be2-c4 + 2...Ke6-d6 3.Qe4-c6 # 1...Be3-d4 2.Be2-c4 + 2...Ke6-d6 3.Qe4-c6 # 2.Be2-g4 + 2...Ke6-d6 3.Qe4-c6 # 1...Bf7-h5 2.Qe4-c4 + 2...Ke6-f5 3.Be2-d3 # 2...Ke6-d6 3.Qc4-c6 # 2.Be2-c4 + 2...Ke6-d6 3.Qe4-c6 # 1.Be7-f8 ! threat: 2.Be2-c4 # 2.Be2-g4 # 1...Bf7-h5 2.Be2-c4 # 1...Bf7-g6 2.Be2-c4 # 1.Be7-d8 ! threat: 2.Be2-g4 + 2...Ke6-d6 3.Se5*f7 # 3.Qe4-c6 # 2.Qe4-c4 + 2...Ke6-d6 3.Qc4-c6 # 2...Ke6-f5 3.Qc4-g4 # 3.Be2-g4 # 3.Be2-d3 # 2.Be2-c4 + 2...Ke6-d6 3.Qe4-c6 # 1...Be3-c5 2.Be2-g4 + 2...Ke6-d6 3.Qe4-c6 # 3.Se5*f7 # 2.Be2-c4 + 2...Ke6-d6 3.Qe4-c6 # 1...Be3-d4 2.Be2-c4 + 2...Ke6-d6 3.Qe4-c6 # 2.Be2-g4 + 2...Ke6-d6 3.Qe4-c6 # 3.Se5*f7 # 1...Bf7-h5 2.Qe4-c4 + 2...Ke6-f5 3.Be2-d3 # 2...Ke6-d6 3.Qc4-c6 # 2.Be2-c4 + 2...Ke6-d6 3.Qe4-c6 # 3.Qe4-d5 # 1.Se5-c4 + ! 1...Ke6*d7 2.Qe4-b7 + 2...Kd7-e8 3.Sc4-d6 # 2...Kd7-e6 3.Be2-g4 # 1.Se5-g6 + ! 1...Ke6*d7 2.Qe4-b7 + 2...Kd7-e8 3.Qb7-c6 # 3.Qb7-c8 # 3.Qb7-b5 # 3.Be2-b5 # 2...Kd7-e6 3.Be2-g4 # 1.Se5*f7 + ! 1...Ke6*d7 2.Be7-d6 threat: 3.Be2-g4 # 1...Ke6*f7 2.Be7-f6 threat: 3.Be2-c4 #" keywords: - Cooked - Letters --- authors: - Loyd, Samuel source: Baltimore Dispatch source-id: v 15 date: 1858-08 algebraic: white: [Kg2, Qe6, Bh6, Sg5, Pf4, Pe2, Pa4] black: [Kf8, Rg7, Ra2, Bd2, Sh8, Sh2, Pc5] stipulation: "#3" solution: | "1.e2-e3 ! threat: 2.Kg2-h3 threat: 3.Sg5-h7 # 2...Sh8-f7 3.Qe6*f7 # 1...Ra2-a3 2.Kg2*h2 threat: 3.Sg5-h7 # 2...Sh8-f7 3.Qe6*f7 # 1...Sh2-f3 2.Kg2*f3 threat: 3.Sg5-h7 # 2...Sh8-f7 3.Qe6*f7 #" --- authors: - Loyd, Samuel source: The New York Clipper Tournament Book source-id: 97 date: 1859 algebraic: white: [Kg3, Qh7, Rd6, Rc1, Bg2, Ba5, Pf6] black: [Kc5, Rf5, Be4, Bc3, Pg4, Pe3, Pb3, Pa7, Pa6, Pa4] stipulation: "#3" solution: | "1.Rd6-d5 + ! 1...Be4*d5 2.Qh7*f5 threat: 3.Qf5*d5 # 1...Kc5*d5 2.Qh7-d7 + 2...Kd5-e5 3.Ba5*c3 # 2...Kd5-c5 3.Rc1*c3 # 2...Kd5-c4 3.Rc1*c3 # 1...Kc5-c6 2.Qh7-d7 # 1...Kc5-c4 2.Qh7*f5 threat: 3.Qf5*e4 # 3.Rc1*c3 # 2...b3-b2 3.Rc1*c3 # 2...Be4-b1 3.Qf5-c8 # 3.Rc1*c3 # 2...Be4-c2 3.Qf5-c8 # 2...Be4-d3 3.Qf5*d3 # 3.Qf5-c8 # 3.Rc1*c3 # 2...Be4*g2 3.Qf5-d3 # 3.Rc1*c3 # 2...Be4-f3 3.Qf5-d3 # 3.Rc1*c3 # 2...Be4*f5 3.Rc1*c3 # 2...Be4*d5 3.Qf5*d5 # 1...Rf5*d5 2.Qh7*e4 threat: 3.Qe4*d5 # 2...Rd5-d1 3.Qe4-b4 # 2...Rd5-d2 3.Qe4-b4 # 2...Rd5-d3 3.Qe4-b4 # 2...Rd5-d4 3.Qe4-c6 # 2...Rd5-d8 3.Qe4-b4 # 2...Rd5-d7 3.Qe4-b4 # 2...Rd5-d6 3.Qe4-b4 # 2...Rd5-h5 3.Qe4-b4 # 2...Rd5-g5 3.Qe4-b4 # 2...Rd5-f5 3.Qe4-b4 # 2...Rd5-e5 3.Qe4-b4 #" --- authors: - Loyd, Samuel source: Bell's Life in London source-id: 567 date: 1867 algebraic: white: [Kg3, Qf5, Bf7, Sg8, Pe3] black: [Kh8, Rf8, Ph7, Pg7] stipulation: "#3" solution: | "1.Sg8-h6 ! zugzwang. 1...g7-g5 2.Qf5-e5 # 2.Qf5-f6 # 1...g7-g6 2.Qf5-e5 # 2.Qf5-f6 # 1...g7*h6 2.Qf5-e5 # 2.Qf5-f6 # 1...Rf8*f7 2.Qf5-c8 + 2...Rf7-f8 3.Qc8*f8 # 2.Qf5*f7 threat: 3.Qf7-g8 # 3.Qf7-e8 # 3.Qf7-f8 # 2...g7-g5 3.Qf7-g8 # 3.Qf7-f6 # 3.Qf7-f8 # 2...g7-g6 3.Qf7-g8 # 3.Qf7-f6 # 3.Qf7-f8 # 2...g7*h6 3.Qf7-f8 # 1...Rf8-a8 2.Bf7-g8 threat: 3.Qf5*h7 # 2...g7-g6 3.Qf5-e5 # 3.Qf5-f6 # 2...Ra8*g8 3.Sh6-f7 # 1...Rf8-b8 2.Bf7-g8 threat: 3.Qf5*h7 # 2...g7-g6 3.Qf5-e5 # 3.Qf5-f6 # 2...Rb8*g8 3.Sh6-f7 # 1...Rf8-c8 2.Qf5*c8 # 1...Rf8-d8 2.Bf7-g8 threat: 3.Qf5*h7 # 2...g7-g6 3.Qf5-e5 # 3.Qf5-f6 # 2...Rd8*g8 3.Sh6-f7 # 1...Rf8-e8 2.Bf7*e8 threat: 3.Qf5-f8 # 1...Rf8-g8 2.Bf7*g8 threat: 3.Qf5*h7 # 2...g7-g6 3.Qf5-e5 # 3.Qf5-f6 #" keywords: - Smothered mate comments: - also in The Philadelphia Times (no. 399), 9 December 1883 --- authors: - Loyd, Samuel source: Sam Loyd and his Chess Problems date: 1913 algebraic: white: [Kg5, Qh7, Rg1, Be6, Be1, Ph4, Pf5, Pf4, Pd2, Pc5, Pb4, Pa2] black: [Kd4, Ph5, Pg2, Pe7, Pc6, Pb5, Pa4, Pa3] stipulation: "#3" solution: | "1.Be6-f7 ! zugzwang. 1...Kd4-d3 2.f5-f6 + 2...Kd3-d4 3.Be1-f2 # 2...Kd3-e2 3.Bf7*h5 # 1...Kd4-e4 2.f5-f6 + 2...Ke4-d4 3.Be1-f2 # 2...Ke4-f3 3.Qh7-d3 # 3.Bf7*h5 # 1...e7-e5 2.f5*e6 ep. zugzwang. 2...Kd4-d5 3.Qh7-d3 # 2...Kd4-c4 3.Qh7-e4 # 1...e7-e6 2.f5*e6 zugzwang. 2...Kd4-d5 3.Qh7-d3 # 2...Kd4-c4 3.Qh7-e4 # 2.f5-f6 zugzwang. 2...Kd4-d5 3.Qh7-d3 # 2...Kd4-c4 3.Qh7-e4 # 2...e6-e5 3.Be1-f2 #" --- authors: - Loyd, Samuel source: Hartford Courier date: 1878 algebraic: white: [Kg7, Rh5, Bh6, Bf5, Sf1, Pc3, Pc2, Pa3] black: [Kc4, Pc6, Pc5, Pb6, Pa6, Pa4] stipulation: "#3" solution: | "1.Kg7-f7 ! threat: 2.Bf5-d3 + 2...Kc4*c3 3.Bh6-g7 # 1...Kc4*c3 2.Bh6-g7 + 2...Kc3-c4 3.Bf5-d3 # 1...Kc4-b5 2.Bh6-d2 zugzwang. 2...Kb5-a5 3.c3-c4 # 2...Kb5-c4 3.Bf5-d3 # 2...c5-c4 3.Bf5-d7 # 2...a6-a5 3.Bf5-d3 # 1...Kc4-d5 2.Bf5-e6 + 2...Kd5-d6 3.Bh6-f4 # 2...Kd5-e4 3.Sf1-d2 #" --- authors: - Loyd, Samuel source: The Albion date: 1858 algebraic: white: [Kg7, Qb5, Rg5, Ba4, Sf6, Sa5] black: [Kd4, Re6, Re4, Sa2, Pf7, Pf4, Pe5, Pd3, Pc5] stipulation: "#3" solution: | "1.Sf6-d5 ! threat: 2.Qb5-c4 # 1...Kd4*d5 2.Rg5*e5 + 2...Re4*e5 3.Qb5*d3 # 2...Kd5*e5 3.Qb5*c5 # 2...Kd5-d6 3.Qb5*c5 # 2...Kd5-d4 3.Qb5*c5 # 2...Re6*e5 3.Qb5-d7 # 1...Re6-g6 + 2.Rg5*g6 threat: 3.Qb5-c4 # 2...Kd4*d5 3.Qb5-d7 #" --- authors: - Loyd, Samuel source: The Albion (New York) source-id: 519 date: 1858-12-18 algebraic: white: [Ke3, Qh5, Be6, Sd5, Sa7, Pd2] black: [Ke5, Qa5, Rh8, Rb5, Bg8, Sh2, Sa1, Pg6, Pg5, Pe7, Pd6, Pc5] stipulation: "#3" solution: | "1.Qh5-e2 ! threat: 2.Ke3-d3 # 1...Sa1-c2 + 2.Ke3-d3 + 2...Sc2-e3 3.Qe2*e3 # 2.Ke3-f2 + 2...Sc2-e3 3.Qe2*e3 # 2...Ke5-d4 3.Sa7-c6 # 1...Sh2-f1 + 2.Ke3-d3 + 2...Sf1-e3 3.Qe2*e3 # 2.Ke3-f3 + 2...Sf1-e3 3.Qe2*e3 # 2...Ke5-d4 3.Sa7-c6 # 3.Qe2-e4 # 2.Ke3-f2 + 2...Sf1-e3 3.Qe2*e3 # 2...Ke5-d4 3.Sa7-c6 # 1...Sh2-g4 + 2.Ke3-d3 + 2...Sg4-e3 3.Qe2*e3 # 2.Ke3-f3 + 2...Sg4-e3 3.Qe2*e3 # 2...Ke5-d4 3.Sa7-c6 # 3.Qe2-e4 # 1...Qa5*d2 + 2.Ke3*d2 + 2...Ke5-d4 3.Sa7*b5 # 3.Sa7-c6 # 1...Qa5-c3 + 2.Ke3-f2 + 2...Qc3-e3 + 3.Qe2*e3 # 2...Ke5-d4 3.Sa7*b5 # 3.Sa7-c6 # 3.d2*c3 # 1...Qa5-b4 2.Ke3-d3 + 2...Qb4-e4 + 3.Qe2*e4 # 1...Qa5-a3 + 2.Ke3-f2 + 2...Qa3-e3 + 3.Qe2*e3 # 2...Ke5-d4 3.Sa7*b5 # 3.Sa7-c6 # 1...Qa5-a4 2.Ke3-d3 + 2...Qa4-e4 + 3.Qe2*e4 # 1...Rb5-b3 + 2.Ke3-f2 + 2...Rb3-e3 3.Qe2*e3 # 2...Ke5-d4 3.Sa7-c6 # 1...Rb5-b4 2.Ke3-d3 + 2...Rb4-e4 3.Qe2*e4 # 1...c5-c4 2.Ke3-f2 + 2...Ke5-d4 3.Qe2-e3 # 1...Ke5*e6 2.Ke3-d3 + 2...Ke6-d7 3.Qe2*e7 # 2...Ke6-f7 3.Qe2*e7 # 2...Ke6-f5 3.Qe2-e4 # 2...Ke6*d5 3.Qe2-e4 # 1...Bg8*e6 2.Ke3-d3 + 2...Ke5-f5 3.Qe2-e4 # 2...Ke5*d5 3.Qe2-e4 # 1...Rh8-h3 + 2.Ke3-f2 + 2...Rh3-e3 3.Qe2*e3 # 2...Ke5-d4 3.Sa7-c6 # 1...Rh8-h4 2.Ke3-d3 + 2...Rh4-e4 3.Qe2*e4 #" --- authors: - Loyd, Samuel source: Chicago Tribune date: 1878 algebraic: white: [Kg7, Rh5, Rh3, Sg3, Sd3, Pg2] black: [Kg4, Ra7, Sd1, Ph7, Pb7] stipulation: "#3" solution: | "1.Rh5-b5 ! threat: 2.Rb5-b4 + 2...Kg4-g5 3.Rh3-h5 # 1...Sd1-f2 2.Sd3*f2 + 2...Kg4-f4 3.Sg3-e2 # 3.Sg3-h5 # 1...Sd1-e3 2.Sd3-f2 + 2...Kg4-f4 3.Sg3-e2 # 3.Sg3-h5 # 1...Sd1-c3 2.Sd3-f2 + 2...Kg4-f4 3.Sg3-h5 # 1...Sd1-b2 2.Sd3-f2 + 2...Kg4-f4 3.Sg3-h5 # 3.Sg3-e2 # 1...Ra7-a4 2.Sg3-f1 threat: 3.Sf1-h2 # 1...b7-b6 + 2.Kg7-h6 threat: 3.Rb5-b4 # 3.Rb5-g5 # 2...Sd1-f2 3.Rb5-g5 # 2...Sd1-e3 3.Rb5-g5 # 2...Sd1-c3 3.Rb5-g5 # 2...Sd1-b2 3.Rb5-g5 # 2...Ra7-a4 3.Rb5-g5 # 2...Ra7-a5 3.Rb5-b4 # 2...Ra7-g7 3.Rb5-b4 # 2...Ra7-f7 3.Rb5-g5 # 2...Ra7-e7 3.Rb5-g5 # 2...Ra7-d7 3.Rb5-g5 # 2...Ra7-c7 3.Rb5-g5 #" --- authors: - Loyd, Samuel source: St. Louis Globe-Democrat date: 1880-02-29 algebraic: white: [Kg7, Qe4, Rb2, Ra1, Bf2, Ba6, Sh6, Pg4, Pf5, Pe3] black: [Kh2, Qg2, Ph5, Ph4, Ph3, Pg5, Pg3, Pf6] stipulation: "#3" solution: | "1.Qe4-a8 ! zugzwang. 1...Qg2-f3 2.Bf2-g1 + 2...Kh2-h1 3.Bg1-h2 # 1...Qg2-f1 2.Bf2-g1 + 2...Kh2*g1 3.Ra1*f1 # 1...Qg2-h1 2.Bf2-g1 # 2.Qa8*h1 # 2.Ra1*h1 # 1...Qg2*a8 2.Bf2-g1 + 2...Kh2-h1 3.Bg1-h2 # 1...Qg2-b7 + 2.Ba6*b7 threat: 3.Bf2-g1 # 3.Ra1-h1 # 2...g3-g2 3.Qa8-b8 # 2...g3*f2 3.Qa8-b8 # 1...Qg2-c6 2.Bf2-g1 + 2...Kh2-h1 3.Bg1-h2 # 1...Qg2-d5 2.Bf2-g1 + 2...Kh2-h1 3.Bg1-h2 # 1...Qg2-e4 2.Bf2-g1 + 2...Kh2-h1 3.Bg1-h2 # 1...Qg2-g1 2.Bf2*g1 # 1...Qg2*f2 2.Qa8-h1 # 2.Ra1-h1 # 1...g3*f2 2.Qa8-b8 + 2...Qg2-g3 3.Rb2*f2 # 1...h5*g4 2.Sh6*g4 #" --- authors: - Loyd, Samuel source: American Chess Bulletin date: 1909-10 algebraic: white: [Kg8, Qb6, Rd1, Rb4, Bg2, Bc3, Sa5, Ph4] black: [Ke5, Qd4, Sf3, Ph6, Ph5, Pf6, Pf4, Pd6, Pc6] stipulation: "#3" solution: | "1.Qb6*c6 ! threat: 2.Qc6-e8 + 2...Ke5-d5 3.Rb4-b5 # 2...Ke5-f5 3.Bg2-h3 # 2.Rb4-b5 + 2...Ke5-e6 3.Qc6-e8 # 2...d6-d5 3.Qc6*d5 # 1...Ke5-f5 2.Bg2-h3 + 2...Kf5-e5 3.Sa5-c4 # 2...Kf5-g6 3.Qc6-e8 # 1...Ke5-e6 2.Qc6-e8 + 2...Ke6-f5 3.Bg2-h3 # 2...Ke6-d5 3.Rb4-b5 # 1...d6-d5 2.Qc6-d7 zugzwang. 2...Sf3-d2 3.Qd7*d5 # 3.Sa5-c6 # 3.Bc3*d4 # 2...Sf3-e1 3.Bc3*d4 # 3.Qd7*d5 # 3.Sa5-c6 # 3.Rd1*e1 # 2...Sf3-g1 3.Qd7*d5 # 3.Sa5-c6 # 3.Bc3*d4 # 2...Sf3-h2 3.Bc3*d4 # 3.Qd7*d5 # 3.Sa5-c6 # 3.Rd1-e1 # 2...Sf3*h4 3.Rd1-e1 # 3.Qd7*d5 # 3.Sa5-c6 # 3.Bc3*d4 # 2...Sf3-g5 3.Bc3*d4 # 3.Qd7*d5 # 3.Sa5-c6 # 2...Qd4*c3 3.Qd7*d5 # 3.Rd1*d5 # 2...Ke5-e4 3.Qd7-e6 # 2...f6-f5 3.Qd7-e7 # 1...f6-f5 2.Qc6-d7 zugzwang. 2...Ke5-d5 3.Qd7*f5 # 2...Sf3-d2 3.Qd7-e7 # 3.Bc3*d4 # 2...Sf3-e1 3.Bc3*d4 # 3.Qd7-e7 # 2...Sf3-g1 3.Qd7-e7 # 3.Bc3*d4 # 2...Sf3-h2 3.Bc3*d4 # 3.Qd7-e7 # 2...Sf3*h4 3.Qd7-e7 # 3.Bc3*d4 # 2...Sf3-g5 3.Bc3*d4 # 2...Qd4*c3 3.Qd7*d6 # 3.Qd7-e7 # 2...Ke5-e4 3.Qd7-e6 # 2...Ke5-f6 3.Qd7*d6 # 2...d6-d5 3.Qd7-e7 #" --- authors: - Loyd, Samuel source: Detroit Free Press source-id: 80 date: 1876-07-01 algebraic: white: [Kg8, Qg5, Re1, Sf4, Ph7, Ph2, Pb3] black: [Kh1, Bg1, Bf1, Pg2, Pb5] stipulation: "#3" solution: | "1.h7-h8=S ! zugzwang. 1...b5-b4 2.Sh8-f7 zugzwang. 2...Bf1-a6 3.Qg5*g2 # 2...Bf1-b5 3.Qg5*g2 # 2...Bf1-c4 3.Qg5*g2 # 2...Bf1-d3 3.Qg5*g2 # 2...Bf1-e2 3.Qg5*g2 # 2...Bg1*h2 3.Qg5*g2 # 2...Bg1-a7 3.Qg5*g2 # 2...Bg1-b6 3.Qg5*g2 # 2...Bg1-c5 3.Qg5*g2 # 2...Bg1-d4 3.Qg5*g2 # 2...Bg1-e3 3.Qg5*g2 # 2...Bg1-f2 3.Qg5*g2 # 2...Kh1*h2 3.Qg5-h4 # 1...Bf1-c4 + 2.b3*c4 threat: 3.Qg5*g2 # 1...Bf1-d3 2.Qg5*g2 # 1...Bf1-e2 2.Qg5*g2 # 1...Bg1*h2 2.Qg5*g2 # 1...Bg1-a7 2.Qg5*g2 # 1...Bg1-b6 2.Qg5*g2 # 1...Bg1-c5 2.Qg5*g2 # 1...Bg1-d4 2.Qg5*g2 # 1...Bg1-e3 2.Qg5*g2 # 1...Bg1-f2 2.Qg5*g2 # 1...Kh1*h2 2.Qg5-h4 #" --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 3-moves / 585 date: 1868 algebraic: white: [Kh1, Qg1, Rd1, Rb5, Ph3] black: [Ka1, Ra4, Bb1, Pb3, Pb2] stipulation: "#3" solution: | "1.Qg1-g8 ! zugzwang. 1...Ka1-a2 2.Qg8*b3 + 2...Ka2-a1 3.Qb3*a4 # 3.Qb3*b2 # 1...Ra4-a2 2.Qg8*b3 zugzwang. 2...Ra2-a8 3.Qb3*b2 # 2...Ra2-a7 3.Qb3*b2 # 2...Ra2-a6 3.Qb3*b2 # 2...Ra2-a5 3.Qb3*b2 # 3.Rb5*a5 # 2...Ra2-a4 3.Qb3*a4 # 3.Qb3*b2 # 2...Ra2-a3 3.Qb3*b2 # 3.Qb3*a3 # 2.Qg8-h7 threat: 3.Qh7*b1 # 3.Rd1*b1 # 2...Ra2-a8 3.Qh7*b1 # 2...Ra2-a7 3.Qh7*b1 # 3.Qh7*a7 # 2...Ra2-a6 3.Qh7*b1 # 2...Ra2-a5 3.Qh7*b1 # 3.Rb5*a5 # 2...Ra2-a4 3.Qh7*b1 # 2...Ra2-a3 3.Qh7*b1 # 2.Qg8-g6 threat: 3.Qg6*b1 # 3.Rd1*b1 # 2...Ra2-a8 3.Qg6*b1 # 2...Ra2-a7 3.Qg6*b1 # 2...Ra2-a6 3.Qg6*b1 # 3.Qg6*a6 # 2...Ra2-a5 3.Qg6*b1 # 3.Rb5*a5 # 2...Ra2-a4 3.Qg6*b1 # 2...Ra2-a3 3.Qg6*b1 # 1...Ra4-a3 2.Qg8-g6 threat: 3.Qg6*b1 # 2.Qg8-h7 threat: 3.Qh7*b1 # 1...Ra4-a8 2.Qg8*a8 # 1...Ra4-a7 2.Qg8-h7 threat: 3.Qh7*b1 # 3.Qh7*a7 # 2...Ka1-a2 3.Qh7*a7 # 2...Ra7-a2 3.Qh7*b1 # 3.Rd1*b1 # 2...Ra7-a3 3.Qh7*b1 # 2...Ra7-a4 3.Qh7*b1 # 2...Ra7-a5 3.Qh7*b1 # 3.Rb5*a5 # 2...Ra7-a6 3.Qh7*b1 # 2...Ra7-a8 3.Qh7*b1 # 2...Ra7*h7 3.Rb5-a5 # 2...Ra7-g7 3.Rb5-a5 # 3.Qh7*b1 # 2...Ra7-f7 3.Qh7*b1 # 3.Rb5-a5 # 2...Ra7-e7 3.Rb5-a5 # 3.Qh7*b1 # 2...Ra7-d7 3.Qh7*b1 # 3.Rb5-a5 # 2...Ra7-c7 3.Rb5-a5 # 3.Qh7*b1 # 2...Ra7-b7 3.Qh7*b1 # 3.Rb5-a5 # 1...Ra4-a6 2.Qg8-g6 threat: 3.Qg6*b1 # 3.Qg6*a6 # 2...Ka1-a2 3.Qg6*a6 # 2...Ra6-a2 3.Qg6*b1 # 3.Rd1*b1 # 2...Ra6-a3 3.Qg6*b1 # 2...Ra6-a4 3.Qg6*b1 # 2...Ra6-a5 3.Qg6*b1 # 3.Rb5*a5 # 2...Ra6-a8 3.Qg6*b1 # 2...Ra6-a7 3.Qg6*b1 # 2...Ra6*g6 3.Rb5-a5 # 2...Ra6-f6 3.Rb5-a5 # 3.Qg6*b1 # 2...Ra6-e6 3.Qg6*b1 # 3.Rb5-a5 # 2...Ra6-d6 3.Rb5-a5 # 3.Qg6*b1 # 2...Ra6-c6 3.Qg6*b1 # 3.Rb5-a5 # 2...Ra6-b6 3.Rb5-a5 # 3.Qg6*b1 # 1...Ra4-a5 2.Rb5*a5 # 1...Ra4-h4 2.Rb5-a5 + 2...Rh4-a4 3.Ra5*a4 # 2.Qg8-a8 + 2...Rh4-a4 3.Qa8*a4 # 1...Ra4-g4 2.Qg8-a8 + 2...Rg4-a4 3.Qa8*a4 # 2.Qg8*g4 threat: 3.Rb5-a5 # 3.Qg4-a4 # 2.Rb5-a5 + 2...Rg4-a4 3.Ra5*a4 # 2.h3*g4 threat: 3.Qg8-a8 # 3.Rb5-a5 # 1...Ra4-f4 2.Qg8-a8 + 2...Rf4-a4 3.Qa8*a4 # 2.Rb5-a5 + 2...Rf4-a4 3.Ra5*a4 # 1...Ra4-e4 2.Rb5-a5 + 2...Re4-a4 3.Ra5*a4 # 2.Qg8-a8 + 2...Re4-a4 3.Qa8*a4 # 1...Ra4-d4 2.Qg8-a8 + 2...Rd4-a4 3.Qa8*a4 # 2.Rb5-a5 + 2...Rd4-a4 3.Ra5*a4 # 1...Ra4-c4 2.Rb5-a5 + 2...Rc4-a4 3.Ra5*a4 # 2.Qg8*c4 threat: 3.Rb5-a5 # 3.Qc4-a4 # 2.Qg8-a8 + 2...Rc4-a4 3.Qa8*a4 # 1...Ra4-b4 2.Qg8-a8 + 2...Rb4-a4 3.Qa8*a4 # 2.Rb5*b4 threat: 3.Qg8-a8 # 3.Rb4-a4 # 2.Rb5-a5 + 2...Rb4-a4 3.Ra5*a4 #" comments: - also in The Philadelphia Times (no. 383), 14 October 1883 --- authors: - Loyd, Samuel source: The Sunny South date: 1886 algebraic: white: [Kh1, Qe4, Bd7, Ba5] black: [Kb8, Qh8, Ra8, Be1, Ph2, Pf7, Pb3, Pa7] stipulation: "#3" solution: | "1.Bd7-c8 ! threat: 2.Qe4-b7 # 1...Kb8*c8 2.Qe4-c6 + 2...Kc8-b8 3.Qc6-c7 # 1...Qh8*c8 2.Qe4-e5 + 2...Kb8-b7 3.Qe5-b5 # 2...Qc8-c7 3.Qe5*c7 #" --- authors: - Loyd, Samuel source: Cleveland Sunday Voice source-id: 45 date: 1877-06-03 algebraic: white: [Kh1, Qh2, Rb2, Be1, Sd3, Sa3, Pf4, Pc3] black: [Kd1, Bc8, Sg2, Ph3, Pf5, Pe3] stipulation: "#3" solution: | "1.Sd3-c5 ! zugzwang. 1...Bc8-a6 2.Sc5*a6 zugzwang. 2...Kd1*e1 3.Qh2-g1 # 2...Kd1-c1 3.Rb2-b1 # 2...Sg2*e1 3.Rb2-b1 # 2...Sg2-h4 3.Rb2-b1 # 2...Sg2*f4 3.Rb2-b1 # 2...e3-e2 3.Rb2-b1 # 1...Kd1*e1 2.Qh2-g1 # 1...Kd1-c1 2.Rb2-b1 # 1...Sg2*e1 2.Rb2-b1 # 1...Sg2-h4 2.Rb2-b1 # 1...Sg2*f4 2.Rb2-b1 # 1...e3-e2 2.Rb2-b1 # 1...Bc8-b7 2.Sc5*b7 zugzwang. 2...Sg2*e1 3.Rb2-b1 # 2...Kd1*e1 3.Qh2-g1 # 2...Kd1-c1 3.Rb2-b1 # 2...Sg2-h4 3.Rb2-b1 # 2...Sg2*f4 3.Rb2-b1 # 2...e3-e2 3.Rb2-b1 # 1...Bc8-e6 2.Sc5*e6 zugzwang. 2...Kd1*e1 3.Qh2-g1 # 2...Kd1-c1 3.Rb2-b1 # 2...Sg2*e1 3.Rb2-b1 # 2...Sg2-h4 3.Rb2-b1 # 2...Sg2*f4 3.Rb2-b1 # 2...e3-e2 3.Rb2-b1 # 1...Bc8-d7 2.Sc5*d7 zugzwang. 2...Kd1*e1 3.Qh2-g1 # 2...Kd1-c1 3.Rb2-b1 # 2...Sg2*e1 3.Rb2-b1 # 2...Sg2-h4 3.Rb2-b1 # 2...Sg2*f4 3.Rb2-b1 # 2...e3-e2 3.Rb2-b1 #" --- authors: - Loyd, Samuel source: The Musical World source-id: 46 date: 1859-09 algebraic: white: [Kh1, Qa4, Rf1, Bb4, Sf2, Se3, Ph2, Pf4, Pb2] black: [Kd4, Qc7, Rf7, Ra2, Bg8, Bd8, Se6, Sa5, Pf3, Pd2, Pc2] stipulation: "#3" solution: | "1.Qa4-b5 ! threat: 2.Qb5-d3 # 1...Ra2-a3 2.Qb5-d5 + 2...Kd4*e3 3.Qd5-e4 # 3.Qd5*d2 # 1...c2-c1=S 2.Qb5-d5 + 2...Kd4*e3 3.Qd5-e4 # 3.Qd5*d2 # 1...d2-d1=Q 2.Qb5-d5 + 2...Kd4*e3 3.Qd5-e4 # 1...d2-d1=R 2.Qb5-d5 + 2...Kd4*e3 3.Qd5-e4 # 1...Kd4*e3 2.Qb5-d5 threat: 3.Qd5-e4 # 3.Qd5*d2 # 2...c2-c1=Q 3.Qd5-e4 # 2...c2-c1=B 3.Qd5-e4 # 2...d2-d1=Q 3.Qd5-e4 # 2...d2-d1=R 3.Qd5-e4 # 2...Ke3-e2 3.Qd5-d3 # 2...Ke3*f4 3.Bb4*d2 # 2...Sa5-b3 3.Qd5-e4 # 2...Sa5-c4 3.Qd5-e4 # 2...Se6-c5 3.Qd5*d2 # 2...Se6-d4 3.Qd5-e4 # 2...Se6-g5 3.Qd5*d2 # 2...Qc7*f4 3.Qd5*d2 # 3.Qd5-d3 # 2...Qc7-e5 3.Qd5*d2 # 3.Qd5*e5 # 2...Qc7-d6 3.Qd5-e4 # 2...Qc7-c3 3.Qd5-e4 # 2...Qc7-c4 3.Qd5*d2 # 2...Qc7-c6 3.Qd5*d2 # 2...Qc7-b7 3.Qd5*d2 # 2...Qc7-d7 3.Qd5-e4 # 3.Qd5-e5 # 2...Rf7*f4 3.Qd5*d2 # 3.Qd5-d3 # 2...Rf7-d7 3.Qd5-e4 # 2...Bg8-h7 3.Qd5*d2 # 1...Sa5-c4 2.Se3*c2 # 1...Se6-c5 2.Bb4*c5 + 2...Qc7*c5 3.Qb5-d3 # 1...Se6*f4 2.Bb4-d6 threat: 3.Qb5-e5 # 2...Sf4-d3 3.Qb5*d3 # 2...Sf4-g6 3.Qb5-d3 # 2...Sf4-d5 3.Qb5-d3 # 2...Sa5-c4 3.Se3*c2 # 2...Sa5-c6 3.Qb5-c5 # 3.Se3*c2 # 2...Qc7*d6 3.Se3*c2 # 2...Qc7-c5 3.Qb5*c5 # 2...Qc7-e7 3.Qb5-c5 # 3.Se3*c2 # 2...Rf7-f5 3.Se3*f5 # 2...Rf7-e7 3.Se3-f5 # 2...Bd8-f6 3.Se3-f5 # 1...Qc7*f4 2.Se3*c2 # 1...Qc7-c3 2.Qb5-e5 # 1...Qc7-c4 2.Qb5-e5 # 1...Rf7*f4 2.Qb5-d5 + 2...Kd4*e3 3.Qd5*d2 # 3.Qd5-d3 # 1...Bg8-h7 2.Qb5-d5 + 2...Kd4*e3 3.Qd5*d2 #" --- authors: - Loyd, Samuel source: Chess Monthly source-id: 13 date: 1857-03 algebraic: white: [Kh1, Qb1, Bh4, Bf1, Sc4, Pe2] black: [Ke4, Bd7, Sc2, Ph6, Ph5, Pf3, Pe5] stipulation: "#3" solution: | "1.Qb1-b8 ! threat: 2.Qb8*e5 # 1...f3*e2 2.Qb8*e5 + 2...Ke4-f3 3.Bf1*e2 # 2...Ke4-d3 3.Bf1*e2 # 1...Ke4-f4 2.Qb8*e5 + 2...Kf4-g4 3.Qe5-e4 # 1...Ke4-d4 2.e2-e4 threat: 3.Qb8*e5 # 2...Kd4-c5 3.Qb8-b6 # 2...Kd4-c3 3.Qb8-b2 # 1...Ke4-d5 2.e2-e4 + 2...Kd5-c5 3.Qb8-b6 # 2...Kd5-d4 3.Qb8*e5 # 2...Kd5-c6 3.Qb8-b6 # 2...Kd5-e6 3.Qb8-g8 # 2...Kd5*e4 3.Qb8*e5 # 1...Ke4-f5 2.Bf1-h3 + 2...Kf5-f4 3.Qb8*e5 # 2...Kf5-g6 3.Qb8-g8 # 2...Kf5-e4 3.Qb8*e5 #" --- authors: - Loyd, Samuel source: Cincinnati Independent date: 1858 algebraic: white: [Kh1, Qe6, Rf1, Be5, Se2, Pd6, Pd5] black: [Ke4, Pf2, Pe3] stipulation: "#3" solution: | "1.Qe6-e8 ! zugzwang. 1...Ke4*d5 2.Se2-c3 + 2...Kd5-c5 3.Qe8-b5 # 2...Kd5-c4 3.Qe8-b5 # 1...Ke4-f5 2.Se2-g3 + 2...Kf5-g5 3.Qe8-h5 # 2...Kf5-g4 3.Qe8-h5 # 1...Ke4-f3 2.Qe8-a4 threat: 3.Se2-g1 # 2...Kf3*e2 3.Qa4-d1 # 1...Ke4-d3 2.Qe8-a4 zugzwang. 2...Kd3-d2 3.Qa4-d1 # 2...Kd3*e2 3.Qa4-d1 # 1.Se2-g3 + ! 1...Ke4-f3 2.Qe6-f5 # 1...Ke4-d3 2.Qe6-g4 threat: 3.Qg4-e2 # 2...Kd3-c2 3.Qg4-d1 # 2.Qe6-c8 threat: 3.Qc8-c3 # 3.Rf1-d1 # 2...Kd3-d2 3.Qc8-c3 # 2...e3-e2 3.Qc8-c3 #" --- authors: - Loyd, Samuel source: The Era (London) source-id: 263 date: 1859-06-05 algebraic: white: [Kh1, Qc4, Rf5, Rf3, Be8, Sf1, Sa4, Pg3, Pg2, Pd5] black: [Ke4, Qg8, Rg4, Ra2, Bb1, Ba1, Sh8, Sh3, Pf6, Pf2, Pd4, Pc5, Pb7, Pb6, Pb3] stipulation: "#3" solution: | "1.Be8-d7 ! threat: 2.Rf3-e3 # 1...Ra2-e2 2.Qc4*e2 # 1...Rg4*g3 2.d5-d6 zugzwang. 2...Rg3*g2 3.Rf3-e3 # 2...Ba1-c3 3.Sa4*c3 # 2...Ba1-b2 3.Qc4-e2 # 3.Sf1-d2 # 2...Bb1-d3 3.Qc4*d3 # 2...Bb1-c2 3.Qc4-e2 # 3.Sf1-d2 # 2...Ra2*a4 3.Sf1-d2 # 3.Qc4-e2 # 2...Ra2-a3 3.Qc4-e2 # 3.Sf1-d2 # 2...Ra2-e2 3.Qc4*e2 # 2...Ra2-d2 3.Sf1*d2 # 2...Ra2-c2 3.Qc4-d3 # 2...Ra2-b2 3.Sa4-c3 # 2...b3-b2 3.Sa4-c3 # 3.Qc4-e2 # 3.Sf1-d2 # 2...Rg3*f3 3.g2*f3 # 2...Rg3-g7 3.Rf3-e3 # 2...Rg3-g6 3.Rf3-e3 # 2...Rg3-g5 3.Rf3-e3 # 2...Rg3-g4 3.Rf3-e3 # 2...Sh3-g1 3.Rf3-f4 # 2...Sh3-g5 3.Rf3-f4 # 3.Sf1*g3 # 2...Sh3-f4 3.Rf3*f4 # 2...b6-b5 3.Sa4*c5 # 2...Qg8*c4 3.Sf1*g3 # 2...Qg8-d5 3.Sf1*g3 # 3.Qc4*d5 # 2...Qg8-e6 3.Qc4*e6 # 3.Sf1*g3 # 2...Qg8-f7 3.Sf1*g3 # 2...Qg8-h7 3.Sf1*g3 # 3.Qc4-e6 # 3.Qc4-d5 # 2...Qg8-g4 3.Qc4-d5 # 3.Qc4-e6 # 2...Qg8-g5 3.Qc4-e6 # 3.Qc4-d5 # 2...Qg8-g6 3.Qc4-d5 # 3.Qc4-e6 # 2...Qg8-g7 3.Qc4-e6 # 3.Qc4-d5 # 2...Qg8-a8 3.Qc4-d5 # 3.Qc4-e6 # 3.Sf1*g3 # 2...Qg8-b8 3.Sf1*g3 # 3.Qc4-e6 # 3.Qc4-d5 # 2...Qg8-c8 3.Qc4-d5 # 3.Qc4-e6 # 3.Sf1*g3 # 2...Qg8-d8 3.Sf1*g3 # 3.Qc4-e6 # 3.Qc4-d5 # 2...Qg8-e8 3.Qc4-d5 # 3.Sf1*g3 # 2...Qg8-f8 3.Sf1*g3 # 3.Qc4-e6 # 3.Qc4-d5 # 2...Sh8-f7 3.Qc4-d5 # 2...Sh8-g6 3.Sf1*g3 # 1...Qg8-e6 2.Bd7*e6 threat: 3.Rf3-e3 # 2...Ra2-e2 3.Qc4*e2 # 2...Rg4*g3 3.Sf1*g3 # 2.Rf5*f6 threat: 3.Rf6*e6 # 3.Rf3-e3 # 2...Ra2-e2 3.Rf6*e6 # 2...Sh3-g5 3.Rf3-e3 # 2...Sh3-f4 3.Rf3-e3 # 2...Ke4-e5 3.Rf6*e6 # 2...Rg4*g3 3.Rf6*e6 # 2...Rg4-f4 3.Rf3-e3 # 2...Rg4-g6 3.Rf3-e3 # 2...Rg4-g5 3.Rf3-e3 # 2...Qe6*d5 3.Rf3-e3 # 2...Qe6-f5 3.Rf3-e3 # 2...Qe6-g8 3.Rf3-e3 # 2...Qe6-f7 3.Rf3-e3 # 2...Qe6*d7 3.Rf3-e3 # 2...Qe6-e5 3.Rf3-e3 # 2...Qe6-c6 3.Rf3-e3 # 2...Qe6-d6 3.Rf3-e3 # 2...Qe6-e8 3.Rf3-e3 # 2...Qe6-e7 3.Rf3-e3 # 2...Qe6*f6 3.Rf3-e3 # 2...Sh8-f7 3.Rf3-e3 # 2...Sh8-g6 3.Rf3-e3 # 1...Qg8-g5 2.Rf5*g5 threat: 3.Rf3-e3 # 2...Ra2-e2 3.Qc4*e2 # 2...Rg4*g3 3.Sf1*g3 # 2.d5-d6 threat: 3.Qc4-e6 # 3.Qc4-d5 # 2...Sh3-f4 3.Rf3-e3 # 2...Qg5-e3 3.Rf3*e3 # 2...Qg5-f4 3.Qc4-d5 # 2...Qg5*f5 3.Rf3-e3 # 2...Qg5-g8 3.Rf3-e3 # 2...Sh8-f7 3.Qc4-d5 # 2...Sh8-g6 3.Qc4-d5 #" --- authors: - Loyd, Samuel source: Chess Strategie algebraic: white: [Kh1, Qc4, Rh3, Re1, Sh4, Se5, Ph2, Pg2, Pa2] black: [Kh7, Qb2, Rf8, Ra6, Bc8, Sc7, Pg7, Pf4, Pb7, Pa5] stipulation: "#3" solution: | "1.Qc4-e6 ! threat: 2.Sh4-f3 # 2.Sh4-g6 # 2.Sh4-f5 # 1...Qb2*e5 2.Sh4-f5 # 1...Qb2-c3 2.Sh4-f3 # 1...Qb2-a3 2.Sh4-f3 # 1...Qb2-b3 2.Sh4-f3 # 1...Qb2*g2 + 2.Sh4*g2 # 1...Qb2-f2 2.Sh4-f3 + 2...Qf2-h4 3.Rh3*h4 # 2.Sh4-g6 + 2...Qf2-h4 3.Rh3*h4 # 2.Sh4-f5 + 2...Qf2-h4 3.Rh3*h4 # 1...Qb2-e2 2.Sh4-f3 # 1...Ra6*e6 2.Sh4-g6 + 2...Kh7-g8 3.Rh3-h8 # 1...Sc7*e6 2.Sh4-g6 + 2...Kh7-g8 3.Rh3-h8 # 3.Sg6-e7 # 2.Sh4-f5 + 2...Kh7-g8 3.Sf5-e7 # 1...g7-g5 2.Sh4-f5 # 1...g7-g6 2.Sh4-f5 # 1...Bc8*e6 2.Sh4-f5 + 2...Kh7-g8 3.Sf5-e7 # 1...Rf8-f5 2.Sh4*f5 # 1...Rf8-f6 2.Sh4-g6 # 1...Rf8-f7 2.Sh4-g6 + 2...Kh7-g8 3.Qe6*f7 # 3.Rh3-h8 # 2.Sh4-f3 + 2...Kh7-g8 3.Qe6*f7 # 2.Sh4-f5 + 2...Kh7-g8 3.Qe6*f7 #" --- authors: - Loyd, Samuel source: Brooklyn Chess Chronicle source-id: 166v date: 1885-08-15 algebraic: white: [Kh1, Rg1, Rd7, Sc7, Sc6] black: [Kh8, Sg2, Sa5, Pc5] stipulation: "#3" solution: | "1.Rd7-d2 ! threat: 2.Rd2*g2 threat: 3.Rg2-h2 # 1...Sg2-h4 2.Rd2-h2 threat: 3.Rh2*h4 # 1...Sg2-f4 2.Rd2-h2 + 2...Sf4-h3 3.Rh2*h3 # 2...Sf4-h5 3.Rh2*h5 #" --- authors: - Loyd, Samuel source: date: 1908 algebraic: white: [Kh2, Qc6, Rd4] black: [Ka8, Rh7, Rb7, Ph4, Pg6, Pe7, Pb2] stipulation: "#3" solution: | "1.Qc6-d5 ! threat: 2.Rd4-a4 + 2...Ka8-b8 3.Qd5-d8 # 1...Rh7-h8 2.Rd4-b4 threat: 3.Qd5*b7 # 2...Rh8-b8 3.Rb4-a4 # 1...Ka8-b8 2.Qd5-d8 + 2...Kb8-a7 3.Rd4-a4 # 1...Ka8-a7 2.Qd5-a5 + 2...Ka7-b8 3.Rd4-d8 #" --- authors: - Loyd, Samuel source: Lynn News source-id: 11 date: 1858-04-27 algebraic: white: [Kh2, Qd4, Rh6, Bc4, Sg6, Sb6, Pc6, Pb4] black: [Kc7, Qf6, Ra7, Bf3, Sc2] stipulation: "#3" solution: | "1.Sb6-a8 + ! 1...Ra7*a8 2.Qd4-d7 + 2...Kc7-b8 3.Qd7-b7 # 2...Kc7-b6 3.Qd7-b7 # 1...Kc7-c8 2.Rh6-h8 + 2...Qf6*h8 + 3.Qd4*h8 # 2...Qf6-d8 3.Rh8*d8 # 3.Qd4*d8 # 2...Qf6-f8 3.Rh8*f8 # 1...Kc7*c6 2.Qd4*a7 threat: 3.Qa7-c7 # 2...Qf6-e5 + 3.Sg6*e5 # 2...Qf6-h4 + 3.Sg6*h4 # 2...Qf6-g7 3.Sg6-e5 # 3.Sg6-e7 # 2...Qf6-d8 3.Sg6-e5 # 3.Sg6-e7 # 2...Qf6-e7 3.Sg6-e5 # 3.Sg6*e7 # 2...Qf6-f4 + 3.Sg6*f4 # 2...Qf6-d6 + 3.Sg6-e5 # 2...Qf6-f7 3.Sg6-e5 # 3.Sg6-e7 # 1...Kc7-b8 2.Rh6-h8 + 2...Qf6*h8 + 3.Qd4*h8 # 2...Qf6-d8 3.Rh8*d8 # 3.Qd4*d8 # 2...Qf6-f8 3.Rh8*f8 #" --- authors: - Loyd, Samuel source: St. Louis Globe-Democrat source-id: 179 date: 1878-12-22 algebraic: white: [Kh2, Ra1, Be3, Ba4, Sc2] black: [Kd3, Pe4, Pc3] stipulation: "#3" solution: | "1.Ra1-a2 ! threat: 2.Ba4-b5 # 1...Kd3-c4 2.Ba4-c6 zugzwang. 2...Kc4-d3 3.Bc6-b5 # 2...Kc4-b3 3.Bc6-d5 # 1...Kd3-e2 2.Ba4-e8 zugzwang. 2...Ke2-f3 3.Be8-h5 # 2...Ke2-d3 3.Be8-b5 # 2...Ke2-f1 3.Be8-b5 # 2...Ke2-d1 3.Be8-h5 #" --- authors: - Loyd, Samuel source: Porter's Spirit of the Times source-id: 77 date: 1858-02-27 algebraic: white: [Kh2, Qf6, Rh6, Rc8, Be3, Bb3, Sh7, Sa2, Pg4, Pf5, Pf4, Pf2, Pe6, Pd7, Pc7] black: [Kd5, Qa3, Rd2, Rc1, Bh1, Bb4, Sc4, Sa8, Pe2, Pd6, Pb6, Pb5, Pa5] stipulation: "#3" solution: | "1.Qf6-a1 ! threat: 2.Sh7-f6 + 2...Kd5-c6 3.d7-d8=S # 1...Rd2-d4 2.Qa1*d4 + 2...Kd5-c6 3.d7-d8=S # 1...Qa3-b2 2.Sa2*b4 + 2...a5*b4 3.Qa1*a8 # 2...Kd5-e4 3.Sh7-g5 # 1...Bb4-c3 2.Sa2*c3 + 2...Rc1*c3 3.Qa1*h1 # 2...Kd5-c6 3.d7-d8=S # 1...Kd5-c6 2.d7-d8=S + 2...Kc6-d5 3.Sh7-f6 #" --- authors: - Loyd, Samuel source: American Union date: 1859-01 algebraic: white: [Kh2, Qf1, Rf2, Bg1, Ba4, Ph7, Pf3, Pd6, Pc6, Pb7] black: [Kd8, Qb8, Rg4, Rg3, Bh3, Be1, Sh8, Sa5, Pg6, Pg2, Pf6, Pf4, Pb5] stipulation: "#3" options: - Duplex solution: | "a) Diagram Solution: 1. Qxb5! [2. c7+ 2. ... Qxc7 3. Qe8#] 1. ... Qc7 2. b8=Q+ 2. ... Qc8 3. c7# 2. ... Qxb8 3. Qxb8# 1. ... Qc7 2. b8=R+ 2. ... Qc8 3. c7# 2. ... Qc7~ 3. Qxb8# 1. ... Ke8 2. Qe2+ 2. ... Kd8/f8/f7 3. Qe7# 1. ... Sxc6 2. Qxc6 [3. Qd7, Qe8#] 2. ... Qc8 3. bxc8=Q/R, Qxc8/e8# 2. ... Qxb7, Rg4~ 3. Qe8# 2. ... Qc7 3. Qxc7/e8# 2. ... Qxd6 3. Qxd6# b) Duplex Solution: 1. Rh4! [2. Bg4, Bf5, Be6, Bd7, Bc8#] 1. ... c7+ 2. Ke8 [3. Bg4, Bf5, Be6, Bd7, Bc8#] 2. ... Qxe1+/e2+, Re2+ 3. Be6# 2. ... Qxg2 3. Bxg2# 2. ... Qxb5+, Bxb5+, d7+ 3. B(x)d7# 2. ... cxb8=Q+/R+/Q+/R+ 3. B(x)c8#" --- authors: - Loyd, Samuel source: Lynn News source-id: 84 date: 1859-12-14 algebraic: white: [Kh2, Qc2, Sd4, Sb5] black: [Ke3, Bc5, Sh8, Sg8, Ph4, Pd6, Pd5, Pc3] stipulation: "#3" solution: | "1.Sb5-c7 ! threat: 2.Qc2-e2 + 2...Ke3*d4 3.Sc7-e6 # 3.Sc7-b5 # 2...Ke3-f4 3.Sc7-e6 # 1...Ke3-f4 2.Sc7-e6 + 2...Kf4-g4 3.Qc2-d1 # 3.Qc2-f5 # 3.Qc2-e2 # 2...Kf4-e5 3.Qc2-f5 # 2...Kf4-e3 3.Qc2-e2 # 1...Bc5*d4 2.Sc7*d5 + 2...Ke3-f3 3.Qc2-g2 #" --- authors: - Loyd, Samuel source: The Era (London) source-id: 72 date: 1868 algebraic: white: [Kh2, Qe4, Re5, Bg4] black: [Kh4, Rb7, Ra5, Be2, Sb8, Ph5, Pg5, Pf6, Pc7, Pc6, Pb3, Pa4] stipulation: "#3" solution: | "1.Re5-b5 ! threat: 2.Qe4-e8 threat: 3.Qe8*h5 # 2...Be2*g4 3.Qe8-e1 # 2...Kh4*g4 3.Qe8-e4 # 2...h5*g4 3.Qe8-h8 # 1...Be2-f3 2.Qe4-e1 + 2...Kh4*g4 3.Qe1-g3 # 1...Be2-c4 2.Qe4-e1 + 2...Kh4*g4 3.Qe1-g3 # 3.Qe1-e4 # 1...Be2-d3 2.Qe4*d3 threat: 3.Qd3-h3 # 3.Qd3-g3 # 2...Kh4*g4 3.Qd3-e4 # 3.Qd3-g3 # 2...h5*g4 3.Qd3-h7 # 2.Qe4-e1 + 2...Kh4*g4 3.Qe1-g3 # 1...f6-f5 2.Bg4*f5 + 2...Be2-g4 3.Qe4-e1 # 2...g5-g4 3.Qe4-e7 # 2.Qe4-e5 threat: 3.Qe5-g3 # 2...f5-f4 3.Qe5*g5 # 2...h5*g4 3.Qe5-h8 #" --- authors: - Loyd, Samuel source: Philadelphia Progress date: 1880 algebraic: white: [Kh3, Qg4, Rf5, Rb7, Bh1, Sc2] black: [Kc5, Bc4, Sf3, Sc3, Pd6, Pd5, Pc6] stipulation: "#3" solution: | "1.Kh3-g3 ! zugzwang. 1...Sc3-d1 2.Rf5*f3 threat: 3.Qg4-d4 # 2.Rf5*d5 + 2...Bc4*d5 3.Qg4-b4 # 2...Kc5*d5 3.Qg4-f5 # 2...c6*d5 3.Qg4-c8 # 2.Bh1*f3 threat: 3.Qg4-d4 # 1...Sc3-a2 2.Bh1*f3 threat: 3.Qg4-d4 # 2.Rf5*f3 threat: 3.Qg4-d4 # 1...Sc3-b1 2.Rf5*f3 threat: 3.Qg4-d4 # 2.Rf5*d5 + 2...Bc4*d5 3.Qg4-b4 # 2...Kc5*d5 3.Qg4-f5 # 2...c6*d5 3.Qg4-c8 # 2.Bh1*f3 threat: 3.Qg4-d4 # 1...Sc3-e2 + 2.Kg3*f3 zugzwang. 2...Se2-c1 3.Qg4-d4 # 3.Qg4-g1 # 2...Se2-g1 + 3.Qg4*g1 # 2...Se2-g3 3.Qg4-d4 # 2...Se2-f4 3.Qg4-g1 # 2...Se2-d4 + 3.Qg4*d4 # 2...Se2-c3 3.Qg4-d4 # 3.Qg4-g1 # 2...Bc4-a2 3.Qg4-b4 # 2...Bc4-b3 3.Qg4-b4 # 2...Bc4-d3 3.Qg4-b4 # 2...Bc4-a6 3.Qg4-b4 # 2...Bc4-b5 3.Qg4-b4 # 1...Sc3-e4 + 2.Qg4*e4 zugzwang. 2...Bc4-a2 3.Qe4-b4 # 2...Sf3-d2 3.Qe4-e3 # 3.Qe4-d4 # 2...Sf3-e1 3.Qe4-d4 # 3.Qe4-e3 # 2...Sf3-g1 3.Qe4-e3 # 3.Qe4-d4 # 2...Sf3-h2 3.Qe4-d4 # 3.Qe4-e3 # 2...Sf3-h4 3.Qe4-e3 # 3.Qe4-d4 # 2...Sf3-g5 3.Qe4-d4 # 3.Qe4-e3 # 2...Sf3-e5 3.Qe4-d4 # 2...Sf3-d4 3.Qe4*d4 # 2...Bc4-b3 3.Qe4-b4 # 2...Bc4-f1 3.Qe4-b4 # 2...Bc4-e2 3.Qe4-b4 # 2...Bc4-d3 3.Qe4-b4 # 2...Bc4-a6 3.Qe4-b4 # 2...Bc4-b5 3.Qe4-b4 # 1...Sc3-b5 2.Bh1*f3 zugzwang. 2...Sb5-a3 3.Qg4-d4 # 2...Bc4-a2 3.Qg4-b4 # 2...Bc4-b3 3.Qg4-b4 # 2...Bc4-f1 3.Qg4-b4 # 2...Bc4-e2 3.Qg4-b4 # 2...Bc4-d3 3.Qg4-b4 # 2...Sb5-c3 3.Qg4-d4 # 2...Sb5-d4 3.Qg4*d4 # 2...Sb5-c7 3.Qg4-d4 # 2...Sb5-a7 3.Qg4-d4 # 1...Sc3-a4 2.Rf5*d5 + 2...Bc4*d5 3.Qg4-b4 # 2...Kc5*d5 3.Qg4-f5 # 2...c6*d5 3.Qg4-c8 # 1...Sf3-d2 2.Qg4-d4 # 1...Sf3-e1 2.Qg4-d4 # 1...Sf3-g1 2.Qg4-d4 # 1...Sf3-h2 2.Qg4-d4 # 1...Sf3-h4 2.Qg4-d4 # 1...Sf3-g5 2.Qg4-d4 # 1...Sf3-e5 2.Qg4-d4 # 1...Sf3-d4 2.Qg4*d4 # 1...Bc4-a2 2.Qg4-b4 # 1...Bc4-b3 2.Qg4-b4 # 1...Bc4-f1 2.Qg4-b4 # 1...Bc4-e2 2.Qg4-b4 # 1...Bc4-d3 2.Qg4-b4 # 1...Bc4-a6 2.Qg4-b4 # 1...Bc4-b5 2.Qg4-b4 #" --- authors: - Loyd, Samuel source: Trenton Falls Solving Competition date: 1906-07-22 algebraic: white: [Kh3, Qc2, Rf8, Rb2, Bf3, Ba1, Sf5, Sd8, Ph4, Pc5] black: [Ke5, Qa2, Rf4, Ra8, Bg3, Bb7, Sc6, Sc1, Pe6, Pd6, Pd5] stipulation: "#3" solution: | "1.Qc2-h2 ! threat: 2.Rb2-e2 # 1...Qa2*a1 2.Qh2*g3 threat: 3.Qg3-g7 # 1...Qa2*b2 2.Qh2*g3 threat: 3.Qg3-g7 # 1...Rf4*f3 2.Rb2-e2 + 2...Ke5-f4 3.Sd8*e6 # 3.Sf5-d4 # 3.Sf5*g3 # 3.Sf5-h6 # 3.Sf5-g7 # 3.Sf5-e7 # 3.Sf5*d6 # 1...Rf4-a4 2.Rb2-e2 + 2...Ke5-f4 3.Qh2*g3 # 3.Sf5-d4 # 3.Sf5-e3 # 3.Sf5*g3 # 3.Sf5-h6 # 3.Sf5-g7 # 3.Sf5-e7 # 3.Sf5*d6 # 2.Qh2*g3 + 2...Ra4-f4 3.Rb2-e2 # 3.Qg3-g7 # 2.Rb2*a2 + 2...Ra4-d4 3.Qh2*g3 # 2...d5-d4 3.Qh2*g3 # 2...Ke5-f4 3.Qh2*g3 # 2...Sc6-d4 3.Qh2*g3 # 2.Rb2-b4 + 2...Qa2*a1 3.Qh2*g3 # 2...Qa2-b2 3.Qh2*g3 # 2...d5-d4 3.Qh2*g3 # 2...Sc6-d4 3.Qh2*g3 # 1...Rf4-b4 2.Rb2-e2 + 2...Ke5-f4 3.Qh2*g3 # 3.Sf5-d4 # 3.Sf5-e3 # 3.Sf5*g3 # 3.Sf5-h6 # 3.Sf5-g7 # 3.Sf5-e7 # 3.Sf5*d6 # 2.Qh2*g3 + 2...Rb4-f4 3.Rb2-e2 # 3.Qg3-g7 # 2.Rb2*a2 + 2...Rb4-b2 3.Qh2*g3 # 2...Rb4-d4 3.Qh2*g3 # 2...d5-d4 3.Qh2*g3 # 2...Ke5-f4 3.Qh2*g3 # 2...Sc6-d4 3.Qh2*g3 # 2.Rb2*b4 + 2...Qa2*a1 3.Qh2*g3 # 2...Qa2-b2 3.Qh2*g3 # 2...d5-d4 3.Qh2*g3 # 2...Sc6-d4 3.Qh2*g3 # 1...Rf4-c4 2.Rb2-e2 + 2...Ke5-f4 3.Qh2*g3 # 3.Sf5-d4 # 3.Sf5-e3 # 3.Sf5*g3 # 3.Sf5-h6 # 3.Sf5-g7 # 3.Sf5-e7 # 3.Sf5*d6 # 2.Qh2*g3 + 2...Rc4-f4 3.Rb2-e2 # 3.Qg3-g7 # 2.Rb2*a2 + 2...Rc4-c3 3.Qh2*g3 # 2...Rc4-d4 3.Qh2*g3 # 2...d5-d4 3.Qh2*g3 # 2...Ke5-f4 3.Qh2*g3 # 2...Sc6-d4 3.Qh2*g3 # 1...Rf4-d4 2.Qh2*g3 + 2...Rd4-f4 3.Qg3-g7 # 3.Rb2-e2 # 1...Rf4-e4 2.Qh2*g3 + 2...Re4-f4 3.Qg3-g7 # 3.Rb2-e2 # 1...Rf4*f5 2.Rb2-e2 + 2...Ke5-f4 3.Qh2*g3 # 1...Rf4*h4 + 2.Kh3*g3 threat: 3.Kg3*h4 # 3.Rb2-e2 # 2...Sc1-e2 + 3.Rb2*e2 # 2...Sc1-d3 3.Rb2-e2 # 2...Qa2-c4 3.Rb2-e2 # 2...Qa2*a1 3.Kg3*h4 # 2...Qa2-a4 3.Rb2-e2 # 2...Qa2*b2 3.Kg3*h4 # 2...Rh4*h2 3.Rb2-e2 # 2...Rh4-h3 + 3.Kg3*h3 # 2...Rh4-a4 3.Qh2-h8 # 3.Rb2-e2 # 2...Rh4-b4 3.Rb2-e2 # 3.Qh2-h8 # 2...Rh4-c4 3.Qh2-h8 # 3.Rb2-e2 # 2...Rh4-d4 3.Qh2-h8 # 2...Rh4-e4 3.Qh2-h8 # 2...Rh4-f4 3.Qh2-h8 # 3.Rb2-e2 # 2...Rh4-g4 + 3.Kg3*g4 # 2...Rh4-h8 3.Qh2*h8 # 3.Rb2-e2 # 2...Rh4-h7 3.Rb2-e2 # 2...Rh4-h6 3.Rb2-e2 # 2...Rh4-h5 3.Rb2-e2 # 2...d5-d4 3.Kg3*h4 # 2...Sc6-d4 3.Kg3*h4 # 2...e6*f5 3.Rb2-e2 # 2...Ra8-a4 3.Rb2-e2 # 1...Rf4-g4 2.Rb2-e2 + 2...Ke5-f4 3.Sf5-d4 # 3.Sf5-e3 # 3.Sf5*g3 # 3.Sf5-h6 # 3.Sf5-g7 # 3.Sf5-e7 # 3.Sf5*d6 # 1...d5-d4 2.Qh2*g3 threat: 3.Qg3-g7 # 1...Sc6-d4 2.Qh2*g3 threat: 3.Qg3-g7 # 2...Sd4*f3 3.Rb2-e2 # 2...Sd4*f5 3.Rb2-e2 #" --- authors: - Loyd, Samuel source: date: 1877 algebraic: white: [Kh3, Qd8, Rf7, Rd2] black: [Ke5, Ba8, Pe6, Pe4, Pd3] stipulation: "#3" solution: | "1.Rf7-f4 ! threat: 2.Rd2*d3 threat: 3.Qd8-c7 # 3.Qd8-g5 # 3.Qd8-f6 # 3.Qd8-d6 # 3.Qd8-b8 # 2...e4*d3 3.Qd8-d4 # 2...Ke5*f4 3.Qd8-f6 # 2...Ba8-d5 3.Qd8-c7 # 3.Qd8-b8 # 1...Ke5*f4 2.Qd8-f6 + 2...Kf4-e3 3.Qf6-f2 #" --- authors: - Loyd, Samuel source: The San Francisco Chronicle source-id: 86 date: 1895-06-15 algebraic: white: [Kh3, Qc2, Rh4, Bc6, Ba1, Sh1, Sf7, Ph2, Pe4] black: [Kf3, Re3, Se6, Sd7, Pf4, Pe5, Pe2, Pa3] stipulation: "#3" solution: | "1.Rh4-h8 ! zugzwang. 1...a3-a2 2.Rh8-a8 zugzwang. 2...Re3-a3 3.Ra8*a3 # 2...e2-e1=Q 3.Qc2-g2 # 2...e2-e1=S 3.Qc2-f2 # 2...e2-e1=R 3.Qc2-f2 # 3.Qc2-g2 # 2...e2-e1=B 3.Qc2-g2 # 2...Re3-b3 3.Qc2*b3 # 2...Re3-c3 3.Qc2*c3 # 2...Re3-d3 3.Qc2*d3 # 2...Re3*e4 3.Qc2-d3 # 3.Ra8-a3 # 3.Qc2*e4 # 3.Qc2-b3 # 3.Qc2-c3 # 2...Se6-c5 3.Sf7-g5 # 2...Se6-d4 3.Sf7-g5 # 2...Se6-g5 + 3.Sf7*g5 # 2...Se6-g7 3.Sf7-g5 # 2...Se6-f8 3.Sf7-g5 # 2...Se6-d8 3.Sf7-g5 # 2...Se6-c7 3.Sf7-g5 # 2...Sd7-b6 3.Sf7*e5 # 2...Sd7-c5 3.Sf7*e5 # 2...Sd7-f6 3.Sf7*e5 # 2...Sd7-f8 3.Sf7*e5 # 2...Sd7-b8 3.Sf7*e5 # 1...e2-e1=Q 2.Qc2-g2 # 1...e2-e1=S 2.Qc2-f2 # 1...e2-e1=R 2.Qc2-f2 # 2.Qc2-g2 # 1...e2-e1=B 2.Qc2-g2 # 1...Re3-b3 2.Qc2*b3 # 1...Re3-c3 2.Qc2*c3 # 1...Re3-d3 2.Qc2*d3 # 1...Re3*e4 2.Qc2-d3 # 2.Qc2*e4 # 2.Qc2-b3 # 2.Qc2-c3 # 1...Se6-c5 2.Sf7-g5 # 1...Se6-d4 2.Sf7-g5 # 1...Se6-g5 + 2.Sf7*g5 # 1...Se6-g7 2.Sf7-g5 # 1...Se6-f8 2.Sf7-g5 # 1...Se6-d8 2.Sf7-g5 # 1...Se6-c7 2.Sf7-g5 # 1...Sd7-b6 2.Sf7*e5 # 1...Sd7-c5 2.Sf7*e5 # 1...Sd7-f6 2.Sf7*e5 # 1...Sd7-f8 2.Sf7*e5 # 1...Sd7-b8 2.Sf7*e5 #" --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 3-moves / 577 date: 1868 algebraic: white: [Kh3, Rf8, Re2, Bh4, Bg4, Pf2] black: [Kf4, Bf7, Bf6, Ph6, Pe7, Pd4] stipulation: "#3" solution: | "1.f2-f3 ! threat: 2.Re2-e4 # 1...Bf6*h4 2.Kh3*h4 threat: 3.Rf8*f7 # 3.Re2-e4 # 1...Bf7-d5 2.Re2-e5 threat: 3.Bh4-g3 # 2...Bd5-e4 3.Re5*e4 # 1...Bf7-g6 2.Bh4-g3 + 2...Kf4-g5 3.f3-f4 #" --- authors: - Loyd, Samuel source: Detroit Free Press date: 1878 algebraic: white: [Kh3, Qa1, Rb6, Ra2, Sf2, Pc3] black: [Kg1, Bf1, Pg2, Pf3, Pe7, Pc5] stipulation: "#3" solution: | "1.Rb6-e6 ! zugzwang. 1...c5-c4 2.Ra2-a8 zugzwang. 2...Kg1*f2 3.Qa1-a7 #" --- authors: - Loyd, Samuel source: Saturday Press date: 1859 algebraic: white: [Ka1, Qa2, Sd6, Sc4, Pe6, Pd5, Pb5] black: [Ka7, Rc8, Bd1, Sd8, Sb8, Pc5, Pb6, Pa6] stipulation: "#5" solution: | "1.Qa2-a5 ! threat: 2.Sd6*c8 + 2...Ka7-b7 3.Qa5*b6 + 3...Kb7-a8 4.Qb6-a7 # 3...Kb7*c8 4.Sc4-d6 # 2...Ka7-a8 3.Qa5*b6 threat: 4.Qb6-a7 # 3...Sb8-c6 4.Qb6-c7 threat: 5.Sc8-b6 # 5.Sc4-b6 # 4...Sd8-b7 5.Sc4-b6 # 3...Sd8-c6 4.Sc4-d6 threat: 5.Qb6-b7 # 4...Sc6-a5 5.Qb6-a7 # 4...Sc6-d8 5.Qb6-a7 # 4.Sc4-a5 threat: 5.Qb6-b7 # 4...Sc6*a5 5.Qb6-a7 # 4...Sc6-d8 5.Qb6-a7 # 2.Qa5*b6 + 2...Ka7-a8 3.Sd6*c8 threat: 4.Qb6-a7 # 3...Sb8-c6 4.Qb6-c7 threat: 5.Sc8-b6 # 5.Sc4-b6 # 4...Sd8-b7 5.Sc4-b6 # 3...Sd8-c6 4.Sc4-d6 threat: 5.Qb6-b7 # 4...Sc6-a5 5.Qb6-a7 # 4...Sc6-d8 5.Qb6-a7 # 4.Sc4-a5 threat: 5.Qb6-b7 # 4...Sc6*a5 5.Qb6-a7 # 4...Sc6-d8 5.Qb6-a7 # 3.Qb6-b7 + 3...Sd8*b7 4.Sc4-b6 + 4...Ka8-a7 5.Sd6*c8 # 1...b6*a5 2.b5-b6 + 2...Ka7-a8 3.b6-b7 + 3...Sd8*b7 4.Sc4-b6 + 4...Ka8-a7 5.Sd6*c8 # 3...Ka8-a7 4.b7*c8=S + 4...Ka7-a8 5.Sc4-b6 # 1...Ka7-a8 2.Sc4*b6 + 2...Ka8-a7 3.Sb6*c8 + 3...Ka7-a8 4.Qa5-c7 threat: 5.Sc8-b6 # 5.Qc7-a7 # 4...Sb8-c6 5.Sc8-b6 # 4...Sb8-d7 5.Qc7-a7 # 4...Sd8-b7 5.Qc7*b7 # 4...Sd8-c6 5.Sc8-b6 # 5.Qc7-b7 # 1...Sb8-c6 2.Qa5*b6 + 2...Ka7-a8 3.Sd6*c8 threat: 4.Qb6-c7 threat: 5.Sc8-b6 # 5.Sc4-b6 # 4...Sd8-b7 5.Sc4-b6 # 3...Sd8*e6 4.d5*c6 threat: 5.Qb6-a7 # 5.Qb6-b7 # 4...Se6-d8 5.Qb6-a7 # 4.b5*c6 threat: 5.Qb6-b7 # 5.Qb6-a7 # 4...Se6-d8 5.Qb6-a7 # 2.Qa5*a6 + 2...Ka7-b8 3.Qa6*c8 + 3...Kb8-a7 4.Qc8-c7 + 4...Ka7-a8 5.Sc4*b6 # 4...Sd8-b7 5.Qc7*b7 # 1...Sb8-d7 2.Qa5*a6 + 2...Ka7-b8 3.e6-e7 threat: 4.e7*d8=Q threat: 5.Qd8*c8 # 5.Qa6-b7 # 4...Rc8*d8 5.Qa6-b7 # 4.e7*d8=R threat: 5.Rd8*c8 # 5.Qa6-b7 # 4...Kb8-c7 5.Rd8*c8 # 5.Qa6*c8 # 4...Rc8*d8 5.Qa6-b7 # 1...Rc8-c6 2.d5*c6 threat: 3.Sd6-c8 + 3...Ka7-a8 4.Sc4*b6 # 2...Ka7-a8 3.Sc4*b6 + 3...Ka8-a7 4.Sd6-c8 # 2...Sb8*c6 3.Qa5*b6 + 3...Ka7-a8 4.Qb6-c7 threat: 5.Sc4-b6 # 4...Sd8-b7 5.Qc7*b7 # 2...Sb8-d7 3.Qa5*a6 + 3...Ka7-b8 4.e6-e7 threat: 5.e7*d8=Q # 4...Kb8-c7 5.Qa6-c8 # 4...Sd8-b7 5.Qa6*b7 # 4...Sd8*c6 5.Qa6-b7 # 4...Sd8-e6 5.Qa6-b7 # 4...Sd8-f7 5.Qa6-b7 # 4.c6-c7 + 4...Kb8*c7 5.Qa6-c8 # 2...Sd8*c6 3.Qa5*b6 + 3...Ka7-a8 4.Qb6-b7 # 1...Rc8-c7 2.Qa5*b6 + 2...Ka7-a8 3.Qb6*c7 threat: 4.Sc4-b6 # 3...Sb8-d7 4.e6*d7 threat: 5.Sc4-b6 # 4...Sd8-b7 5.Qc7*b7 # 4.b5-b6 threat: 5.Qc7-a7 # 4...Sd7*b6 5.Sc4*b6 # 4...Sd8-b7 5.Qc7*b7 # 4...Sd8-c6 5.Qc7-b7 # 3...Sd8-b7 4.Qc7*b7 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 73 date: 1858-04 algebraic: white: [Ka1, Qg2, Be7, Sa6, Pg3, Pf6, Pf4, Pe6, Pd6] black: [Kc6, Rf7, Bf3, Pd7, Pb5] stipulation: "#4" solution: | "1.Qg2-c2 + ! 1...Kc6-b6 2.Qc2-c7 + 2...Kb6*a6 3.Be7-d8 threat: 4.Qc7-b6 # 1...Kc6-b7 2.Qc2-c7 + 2...Kb7-a8 3.Qc7-b8 # 2...Kb7*a6 3.Be7-d8 threat: 4.Qc7-b6 # 1...Kc6-d5 2.Sa6-b4 + 2...Kd5-d4 3.Be7-d8 threat: 4.Bd8-b6 # 2...Kd5*e6 3.Qc2-g6 zugzwang. 3...Rf7*f6 4.Qg6*f6 # 3...Bf3-d1 4.Qg6-e4 # 3...Bf3-e2 4.Qg6-e4 # 3...Bf3-h1 4.Qg6-g4 # 3...Bf3-g2 4.Qg6-g4 # 3...Bf3-h5 4.Qg6-e4 # 3...Bf3-g4 4.Qg6-e4 # 4.Qg6*g4 # 3...Bf3-a8 4.Qg6-g4 # 3...Bf3-b7 4.Qg6-g4 # 3...Bf3-c6 4.Qg6-g4 # 3...Bf3-d5 4.Qg6-g4 # 3...Bf3-e4 4.Qg6*e4 # 3...Rf7*e7 4.f6-f7 # 4.f6*e7 # 3...Rf7-f8 4.f6-f7 # 3...Rf7-h7 4.f6-f7 # 3...Rf7-g7 4.f6*g7 #" --- authors: - Loyd, Samuel source: Saturday Courier source-id: 42v date: 1856-01-26 algebraic: white: [Ka1, Rf8, Bc5, Bb5, Sd3, Pd6] black: [Kd5, Rg7] stipulation: "#5" solution: | "1.Rf8-e8 ! threat: 2.Re8-e5 # 1...Rg7-g1 + 2.Bc5*g1 threat: 3.d6-d7 threat: 4.d7-d8=Q # 4.d7-d8=R # 3...Kd5-d6 4.d7-d8=Q # 2...Kd5*d6 3.Bg1-b6 zugzwang. 3...Kd6-d5 4.Sd3-f4 + 4...Kd5-d6 5.Re8-e6 # 1...Rg7-g5 2.d6-d7 threat: 3.d7-d8=Q # 3.d7-d8=R # 2...Rg5-g1 + 3.Bc5*g1 threat: 4.d7-d8=Q # 4.d7-d8=R # 3...Kd5-d6 4.d7-d8=Q # 2...Rg5-e5 3.Re8*e5 # 2...Rg5-g7 3.Re8-e5 # 2...Rg5-g6 3.Re8-e5 # 1...Rg7-a7 + 2.Bc5*a7 threat: 3.Re8-e5 + 3...Kd5*d6 4.Ba7-b8 # 3.d6-d7 threat: 4.d7-d8=Q # 4.d7-d8=R # 3...Kd5-d6 4.d7-d8=Q # 2...Kd5*d6 3.Ba7-b6 zugzwang. 3...Kd6-d5 4.Sd3-f4 + 4...Kd5-d6 5.Re8-e6 # 1...Rg7-e7 2.d6*e7 threat: 3.Re8-g8 zugzwang. 3...Kd5-e4 4.e7-e8=Q + 4...Ke4-d5 5.Rg8-g5 # 5.Qe8-c6 # 5.Qe8-e5 # 4...Ke4-f5 5.Qe8-e5 # 5.Qe8-g6 # 4...Ke4-f3 5.Qe8-e3 # 5.Bb5-c6 # 3...Kd5-e6 4.e7-e8=Q + 4...Ke6-f6 5.Qe8-g6 # 4...Ke6-f5 5.Qe8-g6 # 5.Qe8-e5 # 4...Ke6-d5 5.Qe8-e5 # 5.Rg8-g5 # 5.Qe8-c6 # 3.Re8-f8 threat: 4.e7-e8=B zugzwang. 4...Kd5-e4 5.Be8-c6 # 4...Kd5-e6 5.Bb5-c4 # 3...Kd5-e6 4.e7-e8=Q + 4...Ke6-d5 5.Rf8-f5 # 5.Qe8-c6 # 5.Qe8-e5 # 4.e7-e8=R + 4...Ke6-d5 5.Re8-e5 # 5.Rf8-f5 # 4.Sd3-f4 + 4...Ke6-e5 5.e7-e8=Q # 5.e7-e8=R # 4.Sd3-b4 threat: 5.e7-e8=Q # 5.e7-e8=R # 3...Kd5-e4 4.e7-e8=Q + 4...Ke4-d5 5.Rf8-f5 # 5.Qe8-c6 # 5.Qe8-e5 # 4.e7-e8=R + 4...Ke4-d5 5.Re8-e5 # 5.Rf8-f5 # 4.Sd3-b4 threat: 5.e7-e8=Q # 5.e7-e8=R # 2...Kd5-e6 3.Re8-f8 threat: 4.e7-e8=Q + 4...Ke6-d5 5.Rf8-f5 # 5.Qe8-c6 # 5.Qe8-e5 # 4.e7-e8=R + 4...Ke6-d5 5.Re8-e5 # 5.Rf8-f5 # 4.Sd3-f4 + 4...Ke6-e5 5.e7-e8=Q # 5.e7-e8=R # 4.Sd3-b4 threat: 5.e7-e8=Q # 5.e7-e8=R # 3...Ke6-d5 4.e7-e8=B zugzwang. 4...Kd5-e4 5.Be8-c6 # 4...Kd5-e6 5.Bb5-c4 # 2...Kd5-e4 3.Re8-f8 threat: 4.e7-e8=Q + 4...Ke4-d5 5.Rf8-f5 # 5.Qe8-c6 # 5.Qe8-e5 # 4.e7-e8=R + 4...Ke4-d5 5.Re8-e5 # 5.Rf8-f5 # 4.Sd3-b4 threat: 5.e7-e8=Q # 5.e7-e8=R # 3...Ke4-d5 4.e7-e8=B zugzwang. 4...Kd5-e4 5.Be8-c6 # 4...Kd5-e6 5.Bb5-c4 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 27 date: 1857-06 algebraic: white: [Ka1, Qh1, Se6, Se3, Pg2, Pf3, Pc3, Pb5] black: [Kd6] stipulation: "#4" solution: | "1.Se6-d8 ! zugzwang. 1...Kd6-c5 2.Qh1-h6 threat: 3.Qh6-c6 # 2...Kc5*b5 3.Qh6-c6 + 3...Kb5-a5 4.Sd8-b7 # 4.Se3-c4 # 1...Kd6-d7 2.Qh1-h7 + 2...Kd7-c8 3.Qh7-e7 zugzwang. 3...Kc8-b8 4.Qe7-b7 # 2...Kd7*d8 3.Se3-d5 zugzwang. 3...Kd8-c8 4.Qh7-c7 # 3...Kd8-e8 4.Qh7-e7 # 2...Kd7-d6 3.Qh7-a7 zugzwang. 3...Kd6-e5 4.Qa7-d4 # 2...Kd7-e8 3.Qh7-c7 zugzwang. 3...Ke8-f8 4.Qc7-f7 # 1...Kd6-c7 2.Qh1-h7 + 2...Kc7-c8 3.Qh7-e7 zugzwang. 3...Kc8-b8 4.Qe7-b7 # 2...Kc7-b8 3.Qh7-b7 # 2...Kc7*d8 3.Se3-d5 zugzwang. 3...Kd8-c8 4.Qh7-c7 # 3...Kd8-e8 4.Qh7-e7 # 2...Kc7-d6 3.Qh7-a7 zugzwang. 3...Kd6-e5 4.Qa7-d4 # 2...Kc7-b6 3.Qh7-b7 + 3...Kb6-c5 4.Qb7-c6 # 3...Kb6-a5 4.Qb7-a6 # 1...Kd6-e7 2.Qh1-h7 + 2...Ke7-e8 3.Qh7-c7 zugzwang. 3...Ke8-f8 4.Qc7-f7 # 2...Ke7*d8 3.Se3-d5 zugzwang. 3...Kd8-c8 4.Qh7-c7 # 3...Kd8-e8 4.Qh7-e7 # 2...Ke7-f8 3.Qh7-f7 # 2...Ke7-f6 3.Se3-g4 + 3...Kf6-g5 4.Sd8-e6 # 2...Ke7-d6 3.Qh7-a7 zugzwang. 3...Kd6-e5 4.Qa7-d4 # 1...Kd6-e5 2.Qh1-h7 zugzwang. 2...Ke5-f6 3.Se3-g4 + 3...Kf6-g5 4.Sd8-e6 # 2...Ke5-d6 3.Qh7-a7 zugzwang. 3...Kd6-e5 4.Qa7-d4 # 2...Ke5-f4 3.Se3-g4 zugzwang. 3...Kf4-g5 4.Sd8-e6 # 3...Kf4-g3 4.Qh7-h2 #" --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 4-moves / 434 date: 1868 algebraic: white: [Ka2, Rc5, Sd3, Sb5, Pa6] black: [Ka5, Rc8, Sb6, Sa8, Pc7, Pc6] stipulation: "#4" solution: | "1.Sb5-d4 + ! 1...Ka5*a6 2.Rc5-b5 threat: 3.Sd3-c5 + 3...Ka6-a7 4.Sd4*c6 # 2...Sb6-a4 3.Sd3-b4 + 3...Ka6-a7 4.Sd4*c6 # 2...Sb6-d7 3.Sd3-b4 + 3...Ka6-a7 4.Sd4*c6 # 1...Ka5-a4 2.Sd4*c6 threat: 3.Rc5-a5 # 3.Sd3-b2 # 2...Sb6-c4 3.Sd3-b2 + 3...Sc4*b2 4.Rc5-a5 #" --- authors: - Loyd, Samuel source: Detroit Free Press date: 1880-06-12 algebraic: white: [Ka2, Qc1, Bh1, Se4, Pg5] black: [Kd5, Ph2, Pd6, Pd3, Pa6, Pa5, Pa4] stipulation: "#4" solution: --- authors: - Loyd, Samuel source: The Albion (New York) source-id: 413 date: 1856-11-29 algebraic: white: [Ka2, Qe5, Rd6, Ra8, Bd2, Pe6] black: [Ke7, Qe2, Rg1, Re1, Bh8, Bh3, Sf6, Ph7, Pf7, Pd7, Pb5] stipulation: "#4" solution: | "1.Ra8-e8 + ! 1...Sf6*e8 2.Rd6*d7 + 2...Ke7-f8 3.Qe5*h8 + 3...Rg1-g8 4.Rd7*f7 # 1...Ke7*e8 2.e6*d7 + 2...Ke8-f8 3.d7-d8=Q + 3...Sf6-e8 4.Qd8*e8 # 3...Kf8-g7 4.Qe5*f6 # 3.d7-d8=R + 3...Sf6-e8 4.Rd8*e8 # 3...Kf8-g7 4.Qe5*f6 # 2...Ke8-d8 3.Qe5-e7 + 3...Qe2*e7 4.Bd2-a5 # 3...Kd8*e7 4.d7-d8=Q # 3...Kd8-c7 4.d7-d8=Q #" --- authors: - Loyd, Samuel source: New York Clipper date: 1857 algebraic: white: [Ka2, Qh1, Bh8, Sh7, Sc3, Ph5, Pg6, Pg4, Pc2] black: [Kh6, Re5, Sg5, Se7, Pf7, Pa3] stipulation: "#5" solution: | "1.Bh8-g7 + ! 1...Kh6*g7 2.h5-h6 + 2...Kg7-g8 3.Sh7-f6 + 3...Kg8-h8 4.g6-g7 # 3...Kg8-f8 4.g6-g7 # 2...Kg7*g6 3.Sh7-f8 + 3...Kg6-f6 4.Qh1-a1 zugzwang. 4...Re5-f5 5.Sc3-e4 # 5.Sc3-d5 # 4...Re5-e1 5.Sc3-d5 # 5.Sc3-e4 # 4...Re5-e2 5.Sc3-e4 # 5.Sc3*e2 # 5.Sc3-d5 # 4...Re5-e3 5.Sc3-d5 # 5.Sc3-e4 # 4...Re5-e4 5.Sc3*e4 # 5.Sc3-d5 # 4...Re5-a5 5.Sc3-d5 # 5.Sc3-e4 # 5.Sc3-b5 # 4...Re5-b5 5.Sc3*b5 # 5.Sc3-e4 # 5.Sc3-d5 # 4...Re5-c5 5.Sc3-d5 # 5.Sc3-e4 # 4...Re5-d5 5.Sc3-e4 # 5.Sc3*d5 # 4...Re5-e6 5.Sc3-d5 # 5.Sc3-e4 # 4...Sg5-e4 5.Sc3*e4 # 4...Sg5-f3 5.Sc3-e4 # 4...Sg5-h3 5.Sc3-e4 # 4...Sg5-h7 5.Sc3-e4 # 4...Sg5-e6 5.Sc3-e4 # 4...Se7-c6 5.Sc3-d5 # 4...Se7-d5 5.Sc3*d5 # 4...Se7-f5 5.Sc3-d5 # 4...Se7-g6 5.Sc3-d5 # 4...Se7-g8 5.Sc3-d5 # 4...Se7-c8 5.Sc3-d5 # 2...Kg7-h8 3.Qh1-a8 + 3...Se7-g8 4.Sh7-f6 threat: 5.Qa8*g8 # 5.g6-g7 # 4...Re5-e8 5.g6-g7 # 4...Sg5-e6 5.Qa8*g8 # 4...f7*g6 5.Qa8*g8 # 3...Se7-c8 4.Qa8*c8 + 4...Re5-e8 5.Qc8*e8 #" --- authors: - Loyd, Samuel source: Detroit Free Press source-id: 1000 date: 1880-12-04 algebraic: white: [Ka3, Rh1, Rd4, Bd1, Bc1, Sd3, Sc3, Pb6, Pb2] black: [Ka1, Qb1, Rd8, Rd7, Pd5, Pc6, Pb7, Pa4] stipulation: "#4" solution: 1.Td4-h4 ! comments: - 260 different lines of play --- authors: - Loyd, Samuel source: La Stratégie source-id: 104 date: 1868-07-15 algebraic: white: [Ka3, Qg6, Rh4, Bg1, Pa4] black: [Kd5, Rf2, Ph2, Pg2, Pe5, Pd3] stipulation: "#4" solution: | "1.Rh4-c4 ! threat: 2.Qg6-c6 # 1...Rf2-a2 + 2.Ka3-b3 threat: 3.Qg6-c6 # 3.Rc4-c5 # 2...Ra2-a3 + 3.Kb3*a3 threat: 4.Qg6-c6 # 4.Rc4-c5 # 3...h2*g1=Q 4.Qg6-c6 # 3...h2*g1=S 4.Qg6-c6 # 3...h2*g1=R 4.Qg6-c6 # 3...h2*g1=B 4.Qg6-c6 # 3...Kd5*c4 4.Qg6-c6 # 3...e5-e4 4.Rc4-c5 # 2...Ra2-f2 3.Qg6-c6 # 2...Ra2-c2 3.Qg6-c6 # 2...Ra2-b2 + 3.Kb3*b2 threat: 4.Qg6-c6 # 4.Rc4-c5 # 3...h2*g1=Q 4.Qg6-c6 # 3...h2*g1=S 4.Qg6-c6 # 3...h2*g1=R 4.Qg6-c6 # 3...h2*g1=B 4.Qg6-c6 # 3...Kd5*c4 4.Qg6-e4 # 3...e5-e4 4.Rc4-c5 # 2...h2*g1=Q 3.Qg6-c6 # 2...h2*g1=S 3.Qg6-c6 # 2...h2*g1=R 3.Qg6-c6 # 2...h2*g1=B 3.Qg6-c6 # 2...e5-e4 3.Rc4-c5 # 1...Rf2-f6 2.Qg6*f6 threat: 3.Qf6-c6 # 2...e5-e4 3.Rc4-c5 # 1...Kd5*c4 2.Qg6-c6 + 2...Kc4-d4 3.Bg1*f2 # 1...e5-e4 2.Bg1*f2 threat: 3.Rc4-c5 # 2...e4-e3 3.Qg6-f7 + 3...Kd5-d6 4.Bf2-g3 # 3...Kd5-e5 4.Bf2-g3 # 3.Bf2*e3 threat: 4.Rc4-c5 # 3...Kd5*c4 4.Qg6-c6 # 2...Kd5-e5 3.Rc4-c5 + 3...Ke5-f4 4.Qg6-f5 # 4.Qg6-g3 # 4.Rc5-f5 # 3.Rc4*e4 + 3...Ke5-d5 4.Qg6-e6 # 3.Bf2-g3 + 3...Ke5-d5 4.Qg6*e4 # 4.Qg6-f7 # 4.Qg6-c6 # 4.Qg6-g8 # 3.Bf2-e3 threat: 4.Rc4-c5 # 2...Kd5*c4 3.Qg6-c6 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 31v date: 1857-07 algebraic: white: [Ka4, Rd6, Be4, Sg3, Sf2, Ph2, Pb2] black: [Ke5, Pg5, Pg4] stipulation: "#4" solution: | "1.Rd6-h6 ! zugzwang. 1...Ke5-f4 2.Sf2*g4 zugzwang. 2...Kf4*g4 3.Sg3-h5 zugzwang. 3...Kg4-h4 4.Sh5-f6 # 3...Kg4-h3 4.Sh5-f6 # 1...Ke5-d4 2.Sf2*g4 zugzwang. 2...Kd4-c5 3.Sg3-e2 threat: 4.Rh6-c6 # 3.Sg3-f5 threat: 4.Rh6-c6 # 2...Kd4-c4 3.Sg3-f5 threat: 4.Rh6-c6 # 3.Sg3-e2 threat: 4.Rh6-c6 #" --- authors: - Loyd, Samuel source: The Boston Evening Gazette source-id: corr. date: 1859 algebraic: white: [Ka5, Qe5, Bh3, Ph4, Pf2, Pb6] black: [Kc6, Bc8, Ph5, Pf3, Pe7, Pe6, Pd3, Pa6] stipulation: "#4" solution: | "1.Bh3-f1 ! zugzwang. 1...d3-d2 2.Bf1-c4 threat: 3.Qe5-c7 # 2...Kc6-b7 3.Qe5-c7 + 3...Kb7-a8 4.Qc7-a7 # 4.Qc7*c8 # 2...Kc6-d7 3.Bc4*e6 + 3...Kd7-d8 4.Qe5-h8 # 3...Kd7-e8 4.Qe5-h8 # 3...Kd7-c6 4.Qe5-c7 # 4.Qe5-d5 # 1...Kc6-b7 2.Qe5-c7 + 2...Kb7-a8 3.Qc7-a7 # 3.Qc7*c8 # 1...Kc6-d7 2.Bf1*d3 zugzwang. 2...Kd7-d8 3.Bd3-g6 threat: 4.Qe5-c7 # 2...Kd7-e8 3.Bd3-g6 + 3...Ke8-f8 4.Qe5-h8 # 3...Ke8-d8 4.Qe5-c7 # 3...Ke8-d7 4.Qe5-c7 # 2...Kd7-c6 3.Bd3-g6 zugzwang. 3...Bc8-b7 4.Bg6-e8 # 3...Kc6-b7 4.Bg6-e4 # 3...Kc6-d7 4.Qe5-c7 # 3...Bc8-d7 4.Bg6-e4 # 2...Bc8-b7 3.Bd3-g6 threat: 4.Qe5-c7 # 3...Kd7-c6 4.Bg6-e8 # 1...Bc8-b7 2.Bf1*d3 threat: 3.Qe5-d4 threat: 4.Bd3-e4 # 2...Kc6-d7 3.Bd3-g6 threat: 4.Qe5-c7 # 3...Kd7-c6 4.Bg6-e8 # 2...Bb7-c8 3.Bd3-g6 zugzwang. 3...Kc6-d7 4.Qe5-c7 # 3...Kc6-b7 4.Bg6-e4 # 3...Bc8-b7 4.Bg6-e8 # 3...Bc8-d7 4.Bg6-e4 # 2...Bb7-a8 3.Bd3-g6 zugzwang. 3...Kc6-d7 4.Qe5-c7 # 3...Kc6-b7 4.Qe5-c7 # 3...Ba8-b7 4.Bg6-e8 # 1...Bc8-d7 2.Bf1*d3 threat: 3.Bd3-e4 # 2...Kc6-b7 3.Qe5-c7 + 3...Kb7-a8 4.Qc7-a7 # 2...Bd7-e8 3.Bd3-e4 + 3...Kc6-d7 4.Qe5-c7 # 3.Ka5*a6 threat: 4.Bd3-b5 # 3...Kc6-d7 4.Qe5-c7 # 2...Bd7-c8 3.Bd3-g6 zugzwang. 3...Kc6-d7 4.Qe5-c7 # 3...Kc6-b7 4.Bg6-e4 # 3...Bc8-b7 4.Bg6-e8 # 3...Bc8-d7 4.Bg6-e4 #" --- authors: - Loyd, Samuel source: The Era (London) date: 1863-12-27 algebraic: white: [Ka5, Qe7, Rh7, Re5, Bb8, Ba6, Sf1, Se3, Ph2, Pg3, Pf7, Pf2, Pd6, Pc7, Pb7] black: [Kg5, Qh1, Rf8, Rf5, Bd8, Sh8, Sa8, Pg7, Pg6, Pf6, Pe4, Pd7] stipulation: "#5" solution: | "1.Sf1-d2 ! threat: 2.f2-f4 + 2...e4*f3 ep. 3.Sd2-e4 # 1...Qh1-a1 + 2.Ka5-b4 threat: 3.h2-h4 # 3.Sd2*e4 # 2...Qa1*e5 3.h2-h4 # 2...Qa1-d4 + 3.Sd2-c4 threat: 4.h2-h4 # 3...Qd4-b2 + 4.Sc4*b2 threat: 5.h2-h4 # 3...Qd4-c3 + 4.Kb4*c3 threat: 5.h2-h4 # 3...Qd4*e3 4.Sc4*e3 threat: 5.h2-h4 # 3...Qd4-b6 + 4.Sc4*b6 threat: 5.h2-h4 # 3...Qd4-c5 + 4.Re5*c5 threat: 5.h2-h4 # 3...Qd4-d2 + 4.Sc4*d2 threat: 5.h2-h4 # 5.Sd2*e4 # 4...Rf5*e5 5.h2-h4 # 3...Qd4*c4 + 4.Ba6*c4 threat: 5.h2-h4 # 3...Qd4*d6 + 4.Qe7*d6 threat: 5.h2-h4 # 4.Sc4*d6 threat: 5.Sd6*e4 # 5.h2-h4 # 4...Rf5*e5 5.h2-h4 # 4...Bd8*e7 5.h2-h4 # 2...Qa1-c3 + 3.Kb4*c3 threat: 4.h2-h4 # 4.Sd2*e4 # 3...Rf5*e5 4.h2-h4 # 2...Qa1-b2 + 3.Sd2-b3 threat: 4.h2-h4 # 3...Qb2-d4 + 4.Sb3*d4 threat: 5.h2-h4 # 3...Qb2-c3 + 4.Kb4*c3 threat: 5.h2-h4 # 3...Qb2-a3 + 4.Kb4*a3 threat: 5.h2-h4 # 3...Qb2*b3 + 4.Kb4*b3 threat: 5.h2-h4 # 3...Qb2-d2 + 4.Sb3*d2 threat: 5.h2-h4 # 5.Sd2*e4 # 4...Rf5*e5 5.h2-h4 # 2...Qa1-a5 + 3.Re5*a5 threat: 4.h2-h4 # 4.Sd2*e4 # 3...Rf5-b5 + 4.Ra5*b5 # 2...Qa1-a4 + 3.Kb4*a4 threat: 4.h2-h4 # 4.Sd2*e4 # 3...Rf5*e5 4.h2-h4 # 3...Sa8-b6 + 4.Ka4-b3 threat: 5.h2-h4 # 5.Sd2*e4 # 4...Rf5*e5 5.h2-h4 # 2...Qa1-a3 + 3.Kb4*a3 threat: 4.h2-h4 # 4.Sd2*e4 # 3...Rf5*e5 4.h2-h4 # 2...Qa1-h1 3.f2-f4 + 3...e4*f3 ep. 4.Sd2-e4 # 2...Qa1-e1 3.h2-h4 # 2...Qa1-b1 + 3.Sd2*b1 threat: 4.h2-h4 # 2...Rf5*e5 3.h2-h4 # 1...Rf5*e5 + 2.Ka5-b4 threat: 3.f2-f4 + 3...e4*f3 ep. 4.Qe7*e5 + 4...f6-f5 5.Sd2-e4 # 4...f6*e5 5.Sd2-e4 # 4.Sd2*f3 + 4...Qh1*f3 5.h2-h4 # 2...Qh1-b1 + 3.Sd2*b1 threat: 4.h2-h4 # 3...Re5-b5 + 4.Ba6*b5 threat: 5.h2-h4 # 2...Re5-b5 + 3.Ba6*b5 threat: 4.f2-f4 + 4...e4*f3 ep. 5.Sd2-e4 # 3...Qh1-b1 + 4.Sd2*b1 threat: 5.h2-h4 # 2...Re5-f5 3.h2-h4 + 3...Qh1*h4 4.g3*h4 + 4...Kg5-f4 5.Qe7*e4 # 1...Bd8*c7 + 2.Ka5-b4 threat: 3.f2-f4 + 3...e4*f3 ep. 4.Sd2-e4 # 2...Qh1-b1 + 3.Sd2*b1 threat: 4.h2-h4 # 3...Bc7-a5 + 4.Re5*a5 threat: 5.h2-h4 # 4...Rf5-b5 + 5.Ra5*b5 # 4.Kb4-b3 threat: 5.h2-h4 # 3...Bc7*d6 + 4.Kb4-b3 threat: 5.h2-h4 # 4.Bb8*d6 threat: 5.h2-h4 # 4.Qe7*d6 threat: 5.h2-h4 # 2...Rf5*e5 3.f2-f4 + 3...e4*f3 ep. 4.Qe7*e5 + 4...f6-f5 5.Qe5-e7 # 5.Sd2-e4 # 4...f6*e5 5.Sd2-e4 # 4.Sd2*f3 + 4...Qh1*f3 5.h2-h4 # 2...Bc7-a5 + 3.Re5*a5 threat: 4.f2-f4 + 4...e4*f3 ep. 5.Sd2-e4 # 3...Qh1-b1 + 4.Sd2*b1 threat: 5.h2-h4 # 4...Rf5-b5 + 5.Ra5*b5 # 2...Bc7*d6 + 3.Bb8*d6 threat: 4.f2-f4 + 4...e4*f3 ep. 5.Sd2-e4 # 3...Qh1-b1 + 4.Sd2*b1 threat: 5.h2-h4 # 3...Rf5*e5 4.Qe7*e5 + 4...f6-f5 5.Bd6-e7 # 5.Qe5-e7 # 4...f6*e5 5.Bd6-e7 #" --- authors: - Loyd, Samuel source: Saturday Courier date: 1856 algebraic: white: [Ka6, Rd1, Ra4, Bb5, Pc6, Pb2, Pc4, Pe5, Pc3] black: [Kc5, Pb3, Pa5, Pe6, Pc7] stipulation: "#4" solution: | "1.Ra4-a2 ! threat: 2.Ka6*a5 zugzwang. 2...b3*a2 3.b2-b4 # 1...b3*a2 2.b2-b3 threat: 3.Rd1-a1 zugzwang. 3...a5-a4 4.b3-b4 # 2.Rd1-a1 threat: 3.b2-b3 zugzwang. 3...a5-a4 4.b3-b4 # 2...a5-a4 3.Ka6-a7 zugzwang. 3...a4-a3 4.b2-b4 # 3.Ka6-a5 zugzwang. 3...a4-a3 4.b2-b4 # 3.Ka6-b7 zugzwang. 3...a4-a3 4.b2-b4 # 3.Ra1*a2 zugzwang. 3...a4-a3 4.b2-b4 # 1...a5-a4 2.Ka6-b7 zugzwang. 2...a4-a3 3.Bb5-a6 zugzwang. 3...a3*b2 4.Ra2-a5 # 3...b3*a2 4.b2-b4 # 2...b3*a2 3.Rd1-a1 zugzwang. 3...a4-a3 4.b2-b4 #" --- authors: - Loyd, Samuel source: Chess Monthly date: 1858-05 algebraic: white: [Ka6, Rc2, Bc3, Sg2, Pe5, Pe3, Pe2, Pa5, Pa4, Pa3, Pa2] black: [Ke4, Pg6, Pg5, Pg4, Pg3, Pe6, Pc6, Pc5, Pc4] stipulation: "#4" solution: | "1.Rc2-c1 ! zugzwang. 1...Ke4-d5 2.e3-e4 + 2...Kd5*e4 3.Rc1-e1 zugzwang. 3...Ke4-d5 4.e2-e4 # 3...Ke4-f5 4.e2-e4 # 1...Ke4-f5 2.e3-e4 + 2...Kf5*e4 3.Rc1-e1 zugzwang. 3...Ke4-d5 4.e2-e4 # 3...Ke4-f5 4.e2-e4 #" keywords: - Digits - Scaccografia comments: - The Columns of Sissa - The New York Evening Telegram calls them Telegraph Poles. --- authors: - Loyd, Samuel source: Philadelphia Evening Bulletin date: 1860-08-25 algebraic: white: [Ka7, Qe4, Ra1, Be2, Bd8, Ph6, Pd6, Pd2, Pc3, Pb5, Pb2, Pa2] black: [Kc5, Rg6, Bf4, Sh8, Sb8, Pg5, Pg3, Pd5, Pd4, Pc6, Pc4] stipulation: "#5" solution: | "1.Qe4*d4 + ! 1...Kc5*b5 2.a2-a4 # 1...Kc5*d6 2.Qd4-c5 + 2...Kd6-e6 3.Be2-g4 + 3...Ke6-e5 4.Qc5-e7 + 4...Rg6-e6 5.Qe7*e6 # 4.Bd8-e7 threat: 5.Qc5-d4 # 4...Bf4-e3 5.Qc5*e3 # 3...Ke6-f7 4.Qc5-e7 + 4...Kf7-g8 5.h6-h7 # 2...Kd6-d7 3.Qc5-e7 + 3...Kd7-c8 4.b5-b6 threat: 5.b6-b7 # 4...Bf4-e3 5.Qe7-c7 # 2...Kd6-e5 3.Be2-g4 threat: 4.Bd8-e7 threat: 5.Qc5-d4 # 4...Bf4-e3 5.Qc5*e3 # 4.Qc5-e7 + 4...Rg6-e6 5.Qe7*e6 # 3...g3-g2 4.Qc5-e7 + 4...Rg6-e6 5.Qe7*e6 # 3...Bf4*d2 4.Bd8-e7 threat: 5.Qc5-d4 # 4...Bd2-e3 5.Qc5*e3 # 4...Bd2*c3 5.Qc5-e3 # 3...Bf4-e3 4.Qc5*e3 + 4...Ke5-d6 5.Qe3-e7 # 3...c6*b5 4.Qc5-e7 + 4...Rg6-e6 5.Qe7*e6 # 3...Rg6-e6 4.Bd8-e7 threat: 5.Qc5-d4 # 4...Bf4-e3 5.Qc5*e3 # 4...Re6*e7 + 5.Qc5*e7 # 3...Rg6-f6 4.Bd8-c7 + 4...Ke5-e4 5.Qc5-d4 # 4...Rf6-d6 5.Qc5-d4 # 4.Qc5-e7 + 4...Rf6-e6 5.Qe7*e6 # 3...Rg6-g7 + 4.Bd8-e7 threat: 5.Qc5-d4 # 4...Bf4-e3 5.Qc5*e3 # 4...Rg7*e7 + 5.Qc5*e7 # 3...Sb8-a6 4.Qc5-e7 + 4...Rg6-e6 5.Qe7*e6 # 3...Sb8-d7 4.Qc5-e7 + 4...Rg6-e6 5.Qe7*e6 # 2...Kd6*c5 3.Bd8-e7 + 3...Bf4-d6 4.b2-b4 + 4...c4*b3 ep. 5.d2-d4 # 4...Kc5*b5 5.a2-a4 # 3...Kc5*b5 4.a2-a4 + 4...Kb5-a5 5.Be7-b4 # 3...Rg6-d6 4.b2-b4 + 4...c4*b3 ep. 5.d2-d4 # 4...Kc5*b5 5.a2-a4 # 1.Qe4-e7 ! threat: 2.Bd8-b6 + 2...Kc5*b5 3.a2-a4 # 2.b2-b4 + 2...c4*b3 ep. 3.Bd8-b6 # 2...Kc5*b5 3.a2-a4 # 1...d4-d3 2.Bd8-b6 + 2...Kc5*b5 3.a2-a4 # 1...d4*c3 2.Bd8-b6 + 2...Kc5*b5 3.d2*c3 threat: 4.a2-a4 # 3...Kb5-a4 4.Be2-d1 + 4...Ka4-b5 5.a2-a4 # 3...c6-c5 4.a2-a4 + 4...Kb5-c6 5.Qe7-c7 # 2...Kc5-b4 3.d2*c3 + 3...Kb4*b5 4.a2-a4 # 3...Kb4-a4 4.Be2-d1 + 4...Ka4*b5 5.a2-a4 # 2.d2*c3 threat: 3.Bd8-b6 + 3...Kc5*b5 4.a2-a4 # 3.b2-b4 + 3...c4*b3 ep. 4.Bd8-b6 # 3...Kc5*b5 4.a2-a4 # 2...Bf4-e3 3.Bd8-b6 + 3...Kc5*b5 4.a2-a4 # 3.Qe7*e3 + 3...Kc5*b5 4.a2-a4 # 3...Kc5*d6 4.Qe3-e7 # 3...d5-d4 4.Qe3-e5 # 2...Kc5*b5 3.Qe7-b7 + 3...Kb5-a4 4.Qb7-b4 # 4.Be2-d1 # 3...Kb5-c5 4.Qb7-b4 # 3.a2-a4 + 3...Kb5-c5 4.Bd8-b6 # 2...d5-d4 3.Bd8-b6 + 3...Kc5-d5 4.Be2-f3 # 3...Kc5*b5 4.a2-a4 # 2...c6*b5 3.Bd8-b6 + 3...Kc5-c6 4.Qe7-c7 # 2...Sb8-a6 3.Bd8-b6 + 3...Kc5*b5 4.a2-a4 # 2...Sb8-d7 3.Qe7*d7 threat: 4.Qd7*c6 # 3...Kc5*b5 4.Bd8-b6 threat: 5.a2-a4 # 4...Kb5-a4 5.Qd7*c6 # 4.Qd7-b7 + 4...Kb5-c5 5.Qb7-b4 # 4...Kb5-a4 5.Qb7-b4 # 5.Qb7-a6 # 5.Qb7*c6 # 5.Be2-d1 # 4.a2-a4 + 4...Kb5-c5 5.Bd8-b6 # 3...c6*b5 4.Bd8-b6 # 4.Qd7-c7 # 3...Rg6*d6 4.Bd8-b6 + 4...Kc5*b5 5.a2-a4 # 4.b2-b4 + 4...c4*b3 ep. 5.Bd8-b6 # 4...Kc5*b5 5.a2-a4 # 3...Rg6-g7 4.b2-b4 + 4...c4*b3 ep. 5.Bd8-b6 # 4...Kc5*b5 5.a2-a4 # 4.Bd8-b6 + 4...Kc5*b5 5.a2-a4 # 3.b2-b4 + 3...c4*b3 ep. 4.Qe7*d7 threat: 5.Bd8-b6 # 5.Qd7*c6 # 4...d5-d4 5.Qd7*c6 # 4...c6*b5 5.Bd8-b6 # 5.Qd7-c7 # 4...Rg6*d6 5.Bd8-b6 # 4...Rg6-g7 5.Bd8-b6 # 3...Kc5*b5 4.a2-a4 # 2.b2*c3 threat: 3.Bd8-b6 + 3...Kc5*b5 4.a2-a4 # 2...Kc5*b5 3.Qe7-b7 + 3...Kb5-a4 4.Qb7-b4 # 3...Kb5-c5 4.Qb7-b4 # 3.a2-a4 + 3...Kb5-c5 4.Bd8-b6 # 2...Sb8-d7 3.Qe7*d7 threat: 4.Qd7*c6 # 3...Kc5*b5 4.Qd7-b7 + 4...Kb5-c5 5.Qb7-b4 # 4...Kb5-a4 5.Qb7-b4 # 5.Qb7-a6 # 4.a2-a4 + 4...Kb5-c5 5.Bd8-b6 # 3...c6*b5 4.Bd8-b6 # 4.Qd7-c7 # 3...Rg6*d6 4.Bd8-b6 + 4...Kc5*b5 5.a2-a4 # 3...Rg6-g7 4.Bd8-b6 + 4...Kc5*b5 5.a2-a4 # 1...Kc5*b5 2.Qe7-b7 + 2...Kb5-c5 3.Qb7-b4 # 2...Kb5-a4 3.Qb7-b4 # 3.Be2-d1 # 2.a2-a4 + 2...Kb5-c5 3.Bd8-b6 # 1...c6*b5 2.Bd8-b6 + 2...Kc5-c6 3.Qe7-c7 # 1...Sb8-a6 2.Bd8-b6 + 2...Kc5*b5 3.a2-a4 # 1...Sb8-d7 2.Qe7*d7 threat: 3.Qd7*c6 # 2...d4*c3 3.d2*c3 threat: 4.Qd7*c6 # 3...Kc5*b5 4.Bd8-b6 threat: 5.a2-a4 # 4...Kb5-a4 5.Qd7*c6 # 4.Qd7-b7 + 4...Kb5-c5 5.Qb7-b4 # 4...Kb5-a4 5.Qb7-b4 # 5.Qb7-a6 # 5.Qb7*c6 # 5.Be2-d1 # 4.a2-a4 + 4...Kb5-c5 5.Bd8-b6 # 3...c6*b5 4.Bd8-b6 # 4.Qd7-c7 # 3...Rg6*d6 4.Bd8-b6 + 4...Kc5*b5 5.a2-a4 # 4.b2-b4 + 4...c4*b3 ep. 5.Bd8-b6 # 4...Kc5*b5 5.a2-a4 # 3...Rg6-g7 4.b2-b4 + 4...c4*b3 ep. 5.Bd8-b6 # 4...Kc5*b5 5.a2-a4 # 4.Bd8-b6 + 4...Kc5*b5 5.a2-a4 # 3.b2*c3 threat: 4.Qd7*c6 # 3...Kc5*b5 4.Qd7-b7 + 4...Kb5-c5 5.Qb7-b4 # 4...Kb5-a4 5.Qb7-b4 # 5.Qb7-a6 # 4.a2-a4 + 4...Kb5-c5 5.Bd8-b6 # 3...c6*b5 4.Bd8-b6 # 4.Qd7-c7 # 3...Rg6*d6 4.Bd8-b6 + 4...Kc5*b5 5.a2-a4 # 3...Rg6-g7 4.Bd8-b6 + 4...Kc5*b5 5.a2-a4 # 2...Kc5*b5 3.Qd7-b7 + 3...Kb5-c5 4.Qb7-b4 # 3...Kb5-a4 4.Qb7-b4 # 4.Qb7-a6 # 4.Qb7*c6 # 4.Be2-d1 # 3.a2-a4 + 3...Kb5-c5 4.Bd8-b6 # 2...c6*b5 3.Bd8-b6 # 3.Qd7-c7 # 2...Rg6*d6 3.Bd8-b6 + 3...Kc5*b5 4.a2-a4 # 3.b2-b4 + 3...c4*b3 ep. 4.Bd8-b6 # 3...Kc5*b5 4.a2-a4 # 2...Rg6-g7 3.b2-b4 + 3...c4*b3 ep. 4.Bd8-b6 # 3...Kc5*b5 4.a2-a4 # 3.Bd8-b6 + 3...Kc5*b5 4.a2-a4 # 2.b2-b4 + 2...c4*b3 ep. 3.Qe7*d7 threat: 4.Bd8-b6 # 4.Qd7*c6 # 3...d4-d3 4.Qd7*c6 # 3...d4*c3 4.d2*c3 threat: 5.Bd8-b6 # 5.Qd7*c6 # 4...d5-d4 5.Qd7*c6 # 4...c6*b5 5.Bd8-b6 # 5.Qd7-c7 # 4...Rg6*d6 5.Bd8-b6 # 4...Rg6-g7 5.Bd8-b6 # 3...c6*b5 4.Bd8-b6 # 4.Qd7-c7 # 3...Rg6*d6 4.Bd8-b6 # 3...Rg6-g7 4.Bd8-b6 # 2...Kc5*b5 3.a2-a4 # 1.b2-b4 + ! 1...c4*b3 ep. 2.Qe4-e7 threat: 3.Bd8-b6 # 2...d4-d3 3.Be2*d3 threat: 4.Bd8-b6 # 3...d5-d4 4.Bd8-b6 + 4...Kc5-d5 5.c3-c4 # 3...c6*b5 4.Bd8-b6 + 4...Kc5-c6 5.Qe7-c7 # 3...Sb8-d7 4.Qe7*d7 threat: 5.Bd8-b6 # 5.Qd7*c6 # 4...d5-d4 5.Qd7*c6 # 4...c6*b5 5.Bd8-b6 # 5.Qd7-c7 # 4...Rg6*d6 5.Bd8-b6 # 4...Rg6-g7 5.Bd8-b6 # 2...d4*c3 3.d2*c3 threat: 4.Bd8-b6 # 3...d5-d4 4.Bd8-b6 + 4...Kc5-d5 5.c3-c4 # 3...c6*b5 4.Bd8-b6 + 4...Kc5-c6 5.Qe7-c7 # 3...Sb8-d7 4.Qe7*d7 threat: 5.Bd8-b6 # 5.Qd7*c6 # 4...d5-d4 5.Qd7*c6 # 4...c6*b5 5.Bd8-b6 # 5.Qd7-c7 # 4...Rg6*d6 5.Bd8-b6 # 4...Rg6-g7 5.Bd8-b6 # 2...c6*b5 3.Bd8-b6 + 3...Kc5-c6 4.Qe7-c7 # 2...Sb8-d7 3.Qe7*d7 threat: 4.Bd8-b6 # 4.Qd7*c6 # 3...d4-d3 4.Qd7*c6 # 3...d4*c3 4.d2*c3 threat: 5.Bd8-b6 # 5.Qd7*c6 # 4...d5-d4 5.Qd7*c6 # 4...c6*b5 5.Bd8-b6 # 5.Qd7-c7 # 4...Rg6*d6 5.Bd8-b6 # 4...Rg6-g7 5.Bd8-b6 # 3...c6*b5 4.Bd8-b6 # 4.Qd7-c7 # 3...Rg6*d6 4.Bd8-b6 # 3...Rg6-g7 4.Bd8-b6 # 1...Kc5*b5 2.a2-a4 # 1...Kc5*d6 2.Qe4-e7 #" --- authors: - Loyd, Samuel source: Chess Monthly date: 1859 algebraic: white: [Ka7, Rd3, Rb7, Bb5, Sf7, Ph5, Pd2] black: [Kc8, Rb2, Ba1, Sd7, Pg4, Pe4, Pd6, Pd4, Pc7, Pc5, Pb4, Pa5] stipulation: "#4" solution: | "1.Rd3-f3 ! threat: 2.Rf3-f6 threat: 3.Rf6*d6 threat: 4.Bb5*d7 # 3...c7-c6 4.Rd6*c6 # 3...Sd7-b6 4.Rb7-b8 # 4.Rd6-d8 # 3...Sd7-e5 4.Rb7-b8 # 4.Rd6-d8 # 3...Sd7-f6 4.Rb7-b8 # 4.Rd6-d8 # 3...Sd7-f8 4.Rb7-b8 # 4.Rd6-d8 # 3...Sd7-b8 4.Rb7*b8 # 4.Rd6-d8 # 3.Rf6-e6 threat: 4.Re6-e8 # 3...Sd7-f6 4.Rb7-b8 # 2...c7-c6 3.Rf6*d6 threat: 4.Rd6*c6 # 3...Sd7-e5 4.Rd6-d8 # 3...Sd7-b8 4.Rd6-d8 # 1...e4*f3 2.Bb5-d3 threat: 3.Bd3-f5 threat: 4.Rb7-b8 # 3...c7-c6 4.Bf5*d7 # 1...g4*f3 2.Bb5-f1 threat: 3.Bf1-h3 threat: 4.Rb7-b8 # 3...c7-c6 4.Bh3*d7 # 1...c7-c6 2.Sf7*d6 + 2...Kc8-d8 3.Rf3-f7 threat: 4.Rf7*d7 # 4.Rb7*d7 # 3...Sd7-b6 4.Rf7-f8 # 3...Sd7-e5 4.Rf7-f8 # 4.Rb7-b8 # 3...Sd7-f6 4.Rb7-b8 # 3...Sd7-f8 4.Rf7*f8 # 4.Rb7-b8 # 3...Sd7-b8 4.Rf7-f8 # 4.Rb7*b8 # 2.Bb5*c6 threat: 3.Bc6*d7 # 2...Sd7-b6 3.Sf7*d6 + 3...Kc8-d8 4.Rf3-f8 # 3.Ka7*b6 threat: 4.Bc6-d7 # 2...Sd7-e5 3.Sf7*d6 + 3...Kc8-d8 4.Rf3-f8 # 2...Sd7-f6 3.Rf3*f6 threat: 4.Bc6-d7 # 2...Sd7-f8 3.Sf7*d6 + 3...Kc8-d8 4.Rf3*f8 # 2...Sd7-b8 3.Sf7*d6 + 3...Kc8-d8 4.Rf3-f8 # 2.Bb5-a6 threat: 3.Rb7-b8 + 3...Kc8-c7 4.Rb8-c8 # 2...Sd7-b8 3.Sf7*d6 + 3...Kc8-d8 4.Rf3-f8 #" --- authors: - Loyd, Samuel source: Philadelphia Mercury date: 1858 algebraic: white: [Ka7, Qh2, Rf5, Rc8, Bg8, Bd2, Sg1, Pc5] black: [Ke4, Re1, Rd7, Bh8, Be6, Se8, Sa6, Ph5, Pg2, Pf6, Pf2, Pe2, Pc7, Pc2, Pb7] stipulation: "#4" solution: | "1.Qh2-h3 ! threat: 2.Bg8*e6 threat: 3.Qh3-e3 # 2...f2-f1=S 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 4.Sg1-f3 # 3.Qh3-f3 + 3...Ke4-d4 4.Bd2-c3 # 2...f2*g1=Q 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 3.Qh3-f3 + 3...Ke4-d4 4.Bd2-c3 # 2...f2*g1=B 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 3.Qh3-f3 + 3...Ke4-d4 4.Bd2-c3 # 2...Rd7*d2 3.Qh3-h4 + 3...Ke4-e3 4.Rf5-f3 # 3...Ke4-d3 4.Rf5-f3 # 2...Rd7-d3 3.Qh3-h4 # 2.Rf5-f4 + 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6-b6 # 2.Qh3-e3 + 2...Ke4*f5 3.Bg8*e6 + 3...Kf5-g6 4.Qe3-h6 # 2.Qh3-f3 + 2...Ke4-d4 3.Bg8*e6 threat: 4.Qf3-e3 # 4.Bd2-c3 # 3...c2-c1=Q 4.Qf3-e3 # 3...c2-c1=R 4.Qf3-e3 # 3...f2-f1=S 4.Bd2-c3 # 3...f2*g1=Q 4.Bd2-c3 # 3...f2*g1=B 4.Bd2-c3 # 3...Rd7-d5 4.Qf3*d5 # 1...Re1-a1 2.Rf5-f4 + 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6-b6 # 2.Qh3-e3 + 2...Ke4*f5 3.Bg8*e6 + 3...Kf5-g6 4.Qe3-h6 # 1...Re1-b1 2.Bg8*e6 threat: 3.Qh3-e3 # 2...Rb1-b3 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 2...e2-e1=Q 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 4.Sg1-f3 # 2...e2-e1=R 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 4.Sg1-f3 # 3.Qh3-f3 + 3...Ke4-d4 4.Bd2-c3 # 2...f2-f1=S 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 4.Sg1-f3 # 3.Qh3-f3 + 3...Ke4-d4 4.Bd2-c3 # 4.Sg1*e2 # 2...f2*g1=Q 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 3.Qh3-f3 + 3...Ke4-d4 4.Bd2-c3 # 2...f2*g1=B 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 3.Qh3-f3 + 3...Ke4-d4 4.Bd2-c3 # 2...Rd7*d2 3.Qh3-h4 + 3...Ke4-e3 4.Rf5-f3 # 3...Ke4-d3 4.Rf5-f3 # 2...Rd7-d3 3.Qh3-h4 # 2.Qh3-e3 + 2...Ke4*f5 3.Bg8*e6 + 3...Kf5-g6 4.Qe3-h6 # 1...Re1-c1 2.Bg8*e6 threat: 3.Qh3-e3 # 2...e2-e1=Q 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 4.Sg1-f3 # 2...e2-e1=R 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 4.Sg1-f3 # 3.Qh3-f3 + 3...Ke4-d4 4.Bd2-c3 # 2...f2-f1=S 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 4.Sg1-f3 # 3.Qh3-f3 + 3...Ke4-d4 4.Bd2-c3 # 4.Sg1*e2 # 2...f2*g1=Q 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 3.Qh3-f3 + 3...Ke4-d4 4.Bd2-c3 # 2...f2*g1=B 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 3.Qh3-f3 + 3...Ke4-d4 4.Bd2-c3 # 2...Rd7*d2 3.Qh3-h4 + 3...Ke4-e3 4.Rf5-f3 # 3...Ke4-d3 4.Rf5-f3 # 2...Rd7-d3 3.Qh3-h4 # 2.Rf5-f4 + 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6-b6 # 2.Qh3-e3 + 2...Ke4*f5 3.Bg8*e6 + 3...Kf5-g6 4.Qe3-h6 # 1...Re1-d1 2.Bg8*e6 threat: 3.Qh3-e3 # 2...Rd1*d2 3.Qh3-h4 + 3...Ke4-e3 4.Rf5-f3 # 3...Ke4-d3 4.Rf5-f3 # 2...e2-e1=Q 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 4.Sg1-f3 # 2...e2-e1=R 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 4.Sg1-f3 # 3.Qh3-f3 + 3...Ke4-d4 4.Bd2-c3 # 2...f2-f1=S 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 4.Sg1-f3 # 3.Qh3-f3 + 3...Ke4-d4 4.Bd2-c3 # 4.Sg1*e2 # 2...f2*g1=Q 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 3.Qh3-f3 + 3...Ke4-d4 4.Bd2-c3 # 2...f2*g1=B 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 3.Qh3-f3 + 3...Ke4-d4 4.Bd2-c3 # 2...Rd7*d2 3.Qh3-h4 + 3...Ke4-e3 4.Rf5-f3 # 3...Ke4-d3 4.Rf5-f3 # 2...Rd7-d3 3.Qh3-h4 # 2.Rf5-f4 + 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6-b6 # 2.Qh3-e3 + 2...Ke4*f5 3.Bg8*e6 + 3...Kf5-g6 4.Qe3-h6 # 1...Re1*g1 2.Rf5-f4 + 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6-b6 # 2.Qh3-e3 + 2...Ke4*f5 3.Bg8*e6 + 3...Kf5-g6 4.Qe3-h6 # 1...Re1-f1 2.Rf5-f4 + 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6-b6 # 2.Qh3-e3 + 2...Ke4*f5 3.Bg8*e6 + 3...Kf5-g6 4.Qe3-h6 # 1...c2-c1=Q 2.Rf5-f4 + 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6-b6 # 2.Qh3-e3 + 2...Ke4*f5 3.Bg8*e6 + 3...Kf5-g6 4.Qe3-h6 # 1...c2-c1=S 2.Rf5-f4 + 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6-b6 # 2.Qh3-e3 + 2...Ke4*f5 3.Bg8*e6 + 3...Kf5-g6 4.Qe3-h6 # 2.Qh3-f3 + 2...Ke4-d4 3.Bg8*e6 threat: 4.Qf3-e3 # 4.Bd2-c3 # 3...Sc1-d3 4.Qf3-e3 # 3...Sc1-a2 4.Qf3-e3 # 3...f2-f1=S 4.Bd2-c3 # 3...f2*g1=Q 4.Bd2-c3 # 3...f2*g1=B 4.Bd2-c3 # 3...Rd7-d5 4.Qf3*d5 # 1...c2-c1=R 2.Rf5-f4 + 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6-b6 # 2.Qh3-e3 + 2...Ke4*f5 3.Bg8*e6 + 3...Kf5-g6 4.Qe3-h6 # 1...c2-c1=B 2.Rf5-f4 + 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6-b6 # 2.Qh3-e3 + 2...Ke4*f5 3.Bg8*e6 + 3...Kf5-g6 4.Qe3-h6 # 1...f2-f1=Q 2.Qh3-e3 + 2...Ke4*f5 3.Bg8*e6 + 3...Kf5-g6 4.Qe3-h6 # 1...f2-f1=S 2.Rf5-f4 + 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6-b6 # 1...f2-f1=R 2.Rf5-f4 + 2...Rf1*f4 3.Qh3*e6 + 3...Ke4-d4 4.Qe6-e3 # 3...Ke4-d3 4.Qe6-e3 # 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6-b6 # 2.Qh3-e3 + 2...Ke4*f5 3.Bg8*e6 + 3...Kf5-g6 4.Qe3-h6 # 1...f2*g1=Q 2.Rf5-f4 + 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6-b6 # 1...f2*g1=S 2.Rf5-f4 + 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6-b6 # 2.Qh3-e3 + 2...Ke4*f5 3.Bg8*e6 + 3...Kf5-g6 4.Qe3-h6 # 1...f2*g1=R 2.Rf5-f4 + 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6-b6 # 2.Qh3-e3 + 2...Ke4*f5 3.Bg8*e6 + 3...Kf5-g6 4.Qe3-h6 # 2.Qh3-f3 + 2...Ke4-d4 3.Bg8*e6 threat: 4.Qf3-e3 # 4.Bd2-c3 # 3...c2-c1=Q 4.Qf3-e3 # 3...c2-c1=R 4.Qf3-e3 # 3...Rd7-d5 4.Qf3*d5 # 1...f2*g1=B 2.Rf5-f4 + 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6-b6 # 1...Ke4-d4 2.Bg8*e6 threat: 3.Qh3-e3 # 2...f2-f1=S 3.Qh3-c3 + 3...Kd4-e4 4.Rf5-f4 # 3.Bd2-c3 + 3...Kd4-e4 4.Qh3-f3 # 2...f2*g1=Q 3.Qh3-c3 + 3...Kd4-e4 4.Rf5-f4 # 3.Bd2-c3 + 3...Kd4-e4 4.Qh3-f3 # 2...f2*g1=B 3.Qh3-c3 + 3...Kd4-e4 4.Rf5-f4 # 3.Bd2-c3 + 3...Kd4-e4 4.Qh3-f3 # 2...Rd7-d5 3.Rf5*d5 + 3...Kd4-e4 4.Qh3-d3 # 4.Qh3*g2 # 4.Qh3-f5 # 4.Qh3-e3 # 4.Qh3-f3 # 4.Qh3-h4 # 3...Kd4-c4 4.Qh3-d3 # 3.Qh3-c3 + 3...Kd4-e4 4.Rf5-f4 # 4.Qc3-e3 # 1...Sa6-b4 2.Rf5-f4 + 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6-b6 # 2.Qh3-e3 + 2...Ke4*f5 3.Bg8*e6 + 3...Kf5-g6 4.Qe3-h6 # 1...Sa6*c5 2.Qh3-f3 + 2...Ke4-d4 3.Qf3-e3 + 3...Kd4-c4 4.Rf5*c5 # 1...Sa6-b8 2.Rf5-f4 + 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6-b6 # 2.Qh3-e3 + 2...Ke4*f5 3.Bg8*e6 + 3...Kf5-g6 4.Qe3-h6 # 1...Be6*g8 2.Rf5*h5 threat: 3.Qh3-e3 # 2...f2-f1=S 3.Qh3-f5 + 3...Ke4-d4 4.Rh5-h4 # 2...f2*g1=Q 3.Qh3-f5 + 3...Ke4-d4 4.Rh5-h4 # 2...f2*g1=B 3.Qh3-f5 + 3...Ke4-d4 4.Rh5-h4 # 2...Ke4-d4 3.Qh3-c3 + 3...Kd4-e4 4.Qc3-e3 # 2...f6-f5 3.Qh3*f5 + 3...Ke4-d4 4.Rh5-h4 # 2...Rd7*d2 3.Qh3-g4 + 3...Ke4-e3 4.Rh5-h3 # 3...Ke4-d3 4.Rh5-h3 # 2...Rd7-d3 3.Qh3-g4 # 3.Qh3-h4 # 1...Be6-f7 2.Bg8*f7 threat: 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-e3 # 4.Qh3-e6 # 4.Qh3-f5 # 4.Sg1-f3 # 3.Qh3-e3 + 3...Ke4*f5 4.Qe3-f4 # 4.Qe3-e6 # 3.Qh3-f3 + 3...Ke4-d4 4.Qf3-e3 # 4.Bd2-c3 # 2...f2-f1=Q 3.Qh3-e3 + 3...Ke4*f5 4.Qe3-e6 # 2...f2-f1=S 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-e6 # 4.Qh3-f5 # 4.Sg1-f3 # 3.Qh3-f3 + 3...Ke4-d4 4.Bd2-c3 # 2...f2-f1=R 3.Qh3-e3 + 3...Ke4*f5 4.Qe3-e6 # 2...f2*g1=Q 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-e6 # 4.Qh3-f5 # 3.Qh3-f3 + 3...Ke4-d4 4.Bd2-c3 # 2...f2*g1=S 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-e3 # 4.Qh3-e6 # 4.Qh3-f5 # 3.Qh3-e3 + 3...Ke4*f5 4.Qe3-f4 # 4.Qe3-e6 # 2...f2*g1=B 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-e6 # 4.Qh3-f5 # 3.Qh3-f3 + 3...Ke4-d4 4.Bd2-c3 # 2...Sa6*c5 3.Qh3-e3 + 3...Ke4*f5 4.Qe3-f4 # 3.Qh3-f3 + 3...Ke4-d4 4.Qf3-e3 # 4.Bd2-c3 # 2...Rd7*d2 3.Rc8*e8 + 3...Ke4-d4 4.Qh3-e3 # 2...Rd7-d3 3.Rc8*e8 + 3...Ke4-d4 4.Qh3-h4 # 3.Rf5-f4 + 3...Ke4-e5 4.Rc8*e8 # 4.Qh3-e6 # 4.Qh3-f5 # 3.Qh3-h4 + 3...Ke4*f5 4.Qh4-f4 # 2...Rd7*f7 3.Qh3-f3 + 3...Ke4-d4 4.Qf3-d5 # 2.Rf5*h5 threat: 3.Qh3-e3 # 2...f2-f1=S 3.Qh3-f5 + 3...Ke4-d4 4.Rh5-h4 # 2...f2*g1=Q 3.Qh3-f5 + 3...Ke4-d4 4.Rh5-h4 # 2...f2*g1=B 3.Qh3-f5 + 3...Ke4-d4 4.Rh5-h4 # 2...Ke4-d4 3.Qh3-c3 + 3...Kd4-e4 4.Qc3-e3 # 2...f6-f5 3.Qh3*f5 + 3...Ke4-d4 4.Rh5-h4 # 2...Rd7*d2 3.Qh3-g4 + 3...Ke4-e3 4.Rh5-h3 # 3...Ke4-d3 4.Rh5-h3 # 2...Rd7-d3 3.Qh3-g4 # 3.Qh3-h4 # 2...Bf7*h5 3.Qh3-e6 + 3...Ke4-d4 4.Qe6-e3 # 3...Ke4-d3 4.Qe6-e3 # 2.Qh3-f3 + 2...Ke4-d4 3.Bg8*f7 threat: 4.Qf3-e3 # 4.Bd2-c3 # 3...c2-c1=Q 4.Qf3-e3 # 3...c2-c1=R 4.Qf3-e3 # 3...f2-f1=S 4.Bd2-c3 # 3...f2*g1=Q 4.Bd2-c3 # 3...f2*g1=B 4.Bd2-c3 # 3...Rd7-d5 4.Qf3*d5 # 3...Rd7*f7 4.Qf3-d5 # 3...Rd7-e7 4.Qf3-d5 # 4.Bd2-c3 # 1...b7-b5 2.Rf5-f4 + 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6-b6 # 2.Qh3-e3 + 2...Ke4*f5 3.Bg8*e6 + 3...Kf5-g6 4.Qe3-h6 # 2.Qh3-f3 + 2...Ke4-d4 3.Qf3-e3 + 3...Kd4-c4 4.Qe3-c3 # 1...b7-b6 2.Rf5-f4 + 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6*b6 # 2.Qh3-e3 + 2...Ke4*f5 3.Bg8*e6 + 3...Kf5-g6 4.Qe3-h6 # 1...Rd7*d2 2.Qh3-h4 + 2...Ke4-e3 3.Rf5-f3 # 2...Ke4*f5 3.Bg8-h7 + 3...Kf5-e5 4.Qh4-e4 # 2...Ke4-d3 3.Rf5-f3 # 1...Rd7-d3 2.Rf5-f4 + 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6-b6 # 2.Qh3-h4 + 2...Ke4*f5 3.Bg8-h7 + 3...Kf5-e5 4.Qh4-e4 # 1...Rd7-d6 2.Bg8*e6 threat: 3.Qh3-e3 # 2...f2-f1=S 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 4.Sg1-f3 # 3.Qh3-f3 + 3...Ke4-d4 4.Bd2-c3 # 2...f2*g1=Q 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 3.Qh3-f3 + 3...Ke4-d4 4.Bd2-c3 # 2...f2*g1=B 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 3.Qh3-f3 + 3...Ke4-d4 4.Bd2-c3 # 2...Rd6*d2 3.Qh3-h4 + 3...Ke4-e3 4.Rf5-f3 # 3...Ke4-d3 4.Rf5-f3 # 2...Rd6-d3 3.Qh3-h4 # 2...Rd6*e6 3.Qh3-f3 + 3...Ke4-d4 4.Qf3-d5 # 2.Qh3-e3 + 2...Ke4*f5 3.Bg8-h7 + 3...Kf5-g4 4.Qe3-f4 # 4.Qe3-h3 # 2.Qh3-f3 + 2...Ke4-d4 3.Bg8*e6 threat: 4.Qf3-e3 # 4.Bd2-c3 # 3...c2-c1=Q 4.Qf3-e3 # 3...c2-c1=R 4.Qf3-e3 # 3...f2-f1=S 4.Bd2-c3 # 3...f2*g1=Q 4.Bd2-c3 # 3...f2*g1=B 4.Bd2-c3 # 3...Rd6-d5 4.Qf3*d5 # 3...Rd6*e6 4.Qf3-d5 # 1...Rd7-g7 2.Rf5-f4 + 2...Ke4-e5 3.Qh3*e6 # 2...Ke4-d5 3.Qh3*e6 + 3...Kd5*c5 4.Qe6-d5 # 4.Qe6-b6 # 2.Qh3-e3 + 2...Ke4*f5 3.Bg8*e6 + 3...Kf5-g6 4.Qe3-h6 # 3.Qe3-d3 + 3...Kf5-e5 4.Sg1-f3 # 3...Kf5-g4 4.Qd3-h3 # 2.Qh3-f3 + 2...Ke4-d4 3.Bg8*e6 threat: 4.Qf3-d5 # 4.Qf3-e3 # 4.Bd2-c3 # 3...c2-c1=Q 4.Qf3-d5 # 4.Qf3-e3 # 3...c2-c1=R 4.Qf3-d5 # 4.Qf3-e3 # 3...f2-f1=S 4.Qf3-d5 # 4.Bd2-c3 # 3...f2*g1=Q 4.Qf3-d5 # 4.Bd2-c3 # 3...f2*g1=B 4.Qf3-d5 # 4.Bd2-c3 # 3...Sa6-b4 4.Qf3-e3 # 4.Bd2-c3 # 3...c7-c6 4.Qf3-e3 # 4.Bd2-c3 # 3...Rg7-g3 4.Qf3-d5 # 4.Bd2-c3 # 3...Rg7-d7 4.Qf3-e3 # 4.Bd2-c3 # 3.Rf5-d5 + 3...Kd4-c4 4.Qf3-d3 # 3...Be6*d5 4.Qf3*d5 # 1...Rd7-f7 2.Qh3-e3 + 2...Ke4*f5 3.Qe3-d3 + 3...Kf5-e5 4.Sg1-f3 # 3...Kf5-g4 4.Qd3-h3 # 1...Rd7-e7 2.Bg8*e6 threat: 3.Qh3-e3 # 2...f2-f1=S 3.Be6-d5 + 3...Ke4-d4 4.Qh3-c3 # 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 4.Sg1-f3 # 3.Qh3*g2 + 3...Ke4-d4 4.Qg2-d5 # 3...Ke4-d3 4.Qg2-d5 # 3.Qh3-f3 + 3...Ke4-d4 4.Qf3-d5 # 4.Bd2-c3 # 3.Qh3-h4 + 3...Ke4-d3 4.Rf5-d5 # 2...f2*g1=Q 3.Be6-d5 + 3...Ke4-d4 4.Qh3-c3 # 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 3.Qh3-f3 + 3...Ke4-d4 4.Qf3-d5 # 4.Bd2-c3 # 2...f2*g1=B 3.Be6-d5 + 3...Ke4-d4 4.Qh3-c3 # 3.Rf5-f4 + 3...Ke4-e5 4.Qh3-f5 # 3.Qh3-f3 + 3...Ke4-d4 4.Qf3-d5 # 4.Bd2-c3 # 2...Re7*e6 3.Qh3-f3 + 3...Ke4-d4 4.Qf3-d5 # 2.Qh3-e3 + 2...Ke4*f5 3.Qe3-d3 + 3...Kf5-e5 4.Sg1-f3 # 3...Kf5-g4 4.Qd3-h3 # 2.Qh3-f3 + 2...Ke4-d4 3.Bg8*e6 threat: 4.Qf3-d5 # 4.Qf3-e3 # 4.Bd2-c3 # 3...c2-c1=Q 4.Qf3-d5 # 4.Qf3-e3 # 3...c2-c1=R 4.Qf3-d5 # 4.Qf3-e3 # 3...f2-f1=S 4.Qf3-d5 # 4.Bd2-c3 # 3...f2*g1=Q 4.Qf3-d5 # 4.Bd2-c3 # 3...f2*g1=B 4.Qf3-d5 # 4.Bd2-c3 # 3...Sa6-b4 4.Qf3-e3 # 4.Bd2-c3 # 3...c7-c6 4.Qf3-e3 # 4.Bd2-c3 # 3...Re7*e6 4.Qf3-d5 # 3...Re7-d7 4.Qf3-e3 # 4.Bd2-c3 # 3.Rf5-d5 + 3...Kd4-c4 4.Qf3-d3 # 3...Be6*d5 4.Qf3*d5 # 1...Se8-d6 2.Qh3-e3 + 2...Ke4*f5 3.Bg8*e6 + 3...Kf5-g6 4.Qe3-h6 # 2.Qh3-f3 + 2...Ke4-d4 3.Rf5-d5 + 3...Kd4-c4 4.Qf3-d3 # 3...Be6*d5 4.Qf3*d5 # 1...Se8-g7 2.Qh3-e3 + 2...Ke4*f5 3.Bg8-h7 + 3...Kf5-g4 4.Qe3-f4 # 4.Qe3-h3 #" --- authors: - Loyd, Samuel source: Hartford Times date: 1880 algebraic: white: [Ka8, Qh7, Rb7, Ba5, Pb6] black: [Kc8, Qf4, Bf7, Sh6, Pe7, Pd7, Pd4] stipulation: "#4" solution: | "1.Qh7*h6 ! threat: 2.Qh6-f8 + 2...Bf7-e8 3.Qf8*e8 # 1...Qf4-c7 2.Qh6-f8 + 2...Qc7-d8 3.Rb7-b8 # 3.Rb7-c7 # 2...Bf7-e8 3.Qf8*e8 + 3...Qc7-d8 4.Rb7-b8 # 4.Rb7-c7 # 3.b6*c7 threat: 4.Qf8*e8 # 4.Rb7-b8 # 3...d7-d5 4.Qf8*e8 # 3...d7-d6 4.Qf8*e8 # 2.Rb7*c7 + 2...Kc8-d8 3.Rc7-c8 + 3...Kd8*c8 4.b6-b7 # 2.Qh6-h8 + 2...Qc7-d8 3.Rb7-b8 # 3.Rb7-c7 # 2...Bf7-g8 3.Rb7*c7 + 3...Kc8-d8 4.Qh8*g8 # 3.Qh8*g8 + 3...Qc7-d8 4.Rb7-b8 # 4.Rb7-c7 # 2...Bf7-e8 3.Qh8*e8 + 3...Qc7-d8 4.Rb7-b8 # 4.Rb7-c7 # 3.b6*c7 threat: 4.Qh8*e8 # 4.Rb7-b8 # 3...d7-d5 4.Qh8*e8 # 3...d7-d6 4.Qh8*e8 # 2.b6*c7 threat: 3.Rb7-b8 # 2...d7-d5 3.Rb7-b8 + 3...Kc8-d7 4.c7-c8=Q # 4.Rb8-d8 # 3.Qh6-c6 threat: 4.Rb7-b8 # 2...d7-d6 3.Rb7-b8 + 3...Kc8-d7 4.c7-c8=Q # 3.Qh6-f8 + 3...Bf7-e8 4.Qf8*e8 # 3...Kc8-d7 4.c7-c8=Q # 2...Bf7-d5 3.Qh6-f8 # 1...Bf7-d5 2.Qh6-h8 + 2...Qf4-f8 3.Qh8*f8 # 2...Bd5-g8 3.Qh8*g8 + 3...Qf4-f8 4.Qg8*f8 # 4.Rb7-b8 # 1...Bf7-e8 2.Rb7-c7 + 2...Qf4*c7 3.Qh6-c1 threat: 4.Qc1*c7 # 3...Qc7*c1 4.b6-b7 # 3...Qc7-c2 4.b6-b7 # 3...Qc7-c3 4.b6-b7 # 3...Qc7-c4 4.b6-b7 # 3...Qc7-c5 4.b6-b7 # 3...Qc7-c6 + 4.b6-b7 # 2...Kc8-d8 3.Rc7-c8 + 3...Kd8*c8 4.b6-b7 # 1...Kc8-d8 2.Qh6*f4 threat: 3.Rb7-b8 # 3.Qf4-b8 # 2...d7-d5 3.Qf4-b8 # 2...d7-d6 3.Qf4*f7 threat: 4.Qf7-g8 # 4.Qf7-f8 # 2...e7-e5 3.Qf4-g5 + 3...Kd8-e8 4.Rb7-b8 # 3...Kd8-c8 4.Rb7-b8 # 4.Rb7-c7 # 3.Qf4*f7 threat: 4.Qf7*d7 # 4.Qf7-f8 # 4.Rb7-b8 # 3.Qf4-f6 + 3...Kd8-e8 4.Rb7-b8 # 3...Kd8-c8 4.Rb7-b8 # 4.Rb7-c7 # 3.Qf4-h4 + 3...Kd8-e8 4.Rb7-b8 # 3...Kd8-c8 4.Rb7-b8 # 4.Rb7-c7 # 2...e7-e6 3.Qf4-g5 + 3...Kd8-e8 4.Rb7-b8 # 3...Kd8-c8 4.Rb7-b8 # 4.Rb7-c7 # 3.Qf4-d6 threat: 4.Rb7-b8 # 4.Qd6*d7 # 3...Bf7-e8 4.Rb7-b8 # 3...Kd8-e8 4.Rb7-b8 # 3.Qf4*f7 threat: 4.Qf7*d7 # 4.Qf7-f8 # 4.Rb7-b8 # 3.Qf4-f6 + 3...Kd8-e8 4.Rb7-b8 # 3...Kd8-c8 4.Rb7-b8 # 4.Rb7-c7 # 3.Qf4-h4 + 3...Kd8-e8 4.Rb7-b8 # 3...Kd8-c8 4.Rb7-b8 # 4.Rb7-c7 # 2...Bf7-d5 3.Qf4-b8 # 3.Qf4-f8 #" --- authors: - Loyd, Samuel source: The Albion date: 1858-06-05 algebraic: white: [Ka8, Qg3, Rc6, Sh1] black: [Kg1, Rg2, Rf3, Sf8, Sa3] stipulation: "#4" solution: | "1.Qg3*f3 ! threat: 2.Rc6-c1 + 2...Kg1-h2 3.Qf3-h5 # 2.Qf3-d1 + 2...Kg1-h2 3.Rc6-h6 # 1...Kg1*h1 2.Qf3-e4 threat: 3.Rc6-c1 + 3...Kh1-h2 4.Qe4-h4 # 3.Rc6-h6 + 3...Kh1-g1 4.Qe4-e1 # 2...Kh1-h2 3.Qe4-h4 + 3...Kh2-g1 4.Rc6-c1 # 2...Kh1-g1 3.Qe4-e1 + 3...Kg1-h2 4.Rc6-h6 # 2...Sa3-c2 3.Rc6*c2 threat: 4.Qe4*g2 # 2...Sa3-c4 3.Rc6-h6 + 3...Kh1-g1 4.Qe4-e1 # 2...Sf8-e6 3.Rc6-c1 + 3...Kh1-h2 4.Qe4-h4 # 2...Sf8-g6 3.Rc6*g6 threat: 4.Qe4*g2 # 1...Kg1-h2 2.Rc6-h6 + 2...Kh2-g1 3.Qf3-d1 # 2.Qf3-h5 + 2...Kh2-g1 3.Rc6-c1 # 1...Rg2-a2 2.Rc6-c1 + 2...Kg1-h2 3.Qf3-g3 # 1...Rg2-b2 2.Rc6-c1 + 2...Kg1-h2 3.Qf3-g3 # 1...Rg2-c2 2.Qf3-g3 + 2...Kg1*h1 3.Rc6-h6 + 3...Rc2-h2 4.Rh6*h2 # 4.Qg3*h2 # 2...Kg1-f1 3.Rc6*c2 threat: 4.Qg3-f2 # 2...Rc2-g2 3.Rc6-c1 # 1...Rg2-d2 2.Rc6-c1 + 2...Kg1-h2 3.Qf3-g3 # 2...Rd2-d1 3.Qf3-g3 + 3...Kg1*h1 4.Rc1*d1 # 3...Kg1-f1 4.Qg3-f2 # 3.Qf3-f2 + 3...Kg1*h1 4.Rc1*d1 # 3.Rc1*d1 + 3...Kg1-h2 4.Qf3-g3 # 2.Qf3-g3 + 2...Kg1*h1 3.Rc6-c1 + 3...Rd2-d1 4.Rc1*d1 # 3.Rc6-h6 + 3...Rd2-h2 4.Rh6*h2 # 4.Qg3*h2 # 2...Kg1-f1 3.Rc6-c1 + 3...Kf1-e2 4.Rc1-e1 # 3...Rd2-d1 4.Qg3-f2 # 2...Rd2-g2 3.Rc6-c1 # 1...Rg2-e2 2.Rc6-c1 + 2...Kg1-h2 3.Qf3-g3 # 2...Re2-e1 3.Qf3-g3 + 3...Kg1*h1 4.Rc1*e1 # 3...Kg1-f1 4.Rc1*e1 # 4.Qg3-f2 # 3.Qf3-f2 + 3...Kg1*h1 4.Rc1*e1 # 3.Rc1*e1 + 3...Kg1-h2 4.Qf3-g3 # 2.Qf3*e2 threat: 3.Rc6-c1 # 2...Sa3-c2 3.Rc6*c2 threat: 4.Qe2-d1 # 4.Qe2-e1 # 4.Qe2-g2 # 4.Rc2-c1 # 3.Rc6-h6 threat: 4.Qe2-f2 # 3.Qe2-f2 + 3...Kg1*h1 4.Rc6-h6 # 2...Sa3-c4 3.Qe2-f2 + 3...Kg1*h1 4.Rc6-h6 # 3.Rc6*c4 threat: 4.Rc4-c1 # 2.Qf3-g3 + 2...Kg1*h1 3.Rc6-c1 + 3...Re2-e1 4.Rc1*e1 # 3.Rc6-h6 + 3...Re2-h2 4.Rh6*h2 # 4.Qg3*h2 # 2...Kg1-f1 3.Rc6-c1 + 3...Re2-e1 4.Qg3-f2 # 4.Rc1*e1 # 3.Rc6-f6 + 3...Re2-f2 4.Qg3*f2 # 2...Re2-g2 3.Rc6-c1 # 1...Rg2-f2 2.Qf3*f2 + 2...Kg1*h1 3.Rc6-c1 # 3.Rc6-h6 # 1...Rg2-g8 2.Qf3-f2 + 2...Kg1*h1 3.Rc6-h6 # 1...Rg2-g7 2.Qf3-f2 + 2...Kg1*h1 3.Rc6-h6 # 1...Rg2-g6 2.Qf3-f2 + 2...Kg1*h1 3.Rc6-c1 + 3...Rg6-g1 4.Qf2*g1 # 4.Rc1*g1 # 1...Rg2-g5 2.Qf3-f2 + 2...Kg1*h1 3.Rc6-c1 + 3...Rg5-g1 4.Qf2*g1 # 4.Rc1*g1 # 3.Rc6-h6 + 3...Rg5-h5 4.Rh6*h5 # 1...Rg2-g4 2.Qf3*g4 + 2...Kg1*h1 3.Rc6-h6 # 2...Kg1-f1 3.Rc6-c1 # 2...Kg1-h2 3.Rc6-h6 # 1...Rg2-g3 2.Rc6-c1 + 2...Kg1-h2 3.Qf3*g3 # 2.Qf3*g3 + 2...Kg1*h1 3.Rc6-c1 # 3.Rc6-h6 # 2...Kg1-f1 3.Qg3-f2 # 1...Sa3-c2 2.Qf3-d1 + 2...Kg1-h2 3.Rc6-h6 # 2...Sc2-e1 3.Qd1*e1 + 3...Kg1-h2 4.Rc6-h6 # 1...Sa3-c4 2.Qf3-d1 + 2...Kg1-h2 3.Rc6-h6 # 1...Sf8-e6 2.Rc6-c1 + 2...Kg1-h2 3.Qf3-h5 # 1...Sf8-g6 2.Rc6-c1 + 2...Kg1-h2 3.Qf3-h5 + 3...Sg6-h4 4.Qh5*h4 # 3.Sh1-f2 threat: 4.Qf3-h3 # 4.Rc1-h1 # 3...Rg2-g1 4.Qf3-h3 # 3...Rg2*f2 4.Rc1-h1 # 3...Rg2-g3 4.Rc1-h1 # 4.Qf3-h1 # 3...Sg6-f4 4.Rc1-h1 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 47 date: 1857-11 distinction: 1st Prize algebraic: white: [Ka8, Qe6, Re4, Ph7, Ph4, Pf4, Pa7] black: [Kh5, Rg1, Bh2, Bd5, Sc5, Sb8, Pg5, Pg2, Pf5, Pf2, Pb7] stipulation: "#5" solution: | "1.Qe6-h6 + ! 1...Kh5*h6 2.h7-h8=Q + 2...Kh6-g6 3.h4-h5 + 3...Kg6-f7 4.Qh8-h7 + 4...Kf7-f8 5.a7*b8=Q # 5.a7*b8=R # 4...Kf7-f6 5.Qh7-g6 # 5.Qh7-e7 # 1...Kh5-g4 2.Qh6*g5 + 2...Kg4-h3 3.Re4-e3 + 3...Bh2-g3 4.Qg5*g3 # 3...Bd5-f3 4.Re3*f3 + 4...Bh2-g3 5.Qg5*g3 # 2...Kg4-f3 3.Qg5-h5 + 3...Kf3-g3 4.Re4-e3 + 4...Kg3*f4 5.Qh5-g5 # 4...Bd5-f3 5.Re3*f3 # 3...Kf3*e4 4.Qh5-e2 + 4...Ke4*f4 5.a7*b8=Q # 5.a7*b8=B # 4...Ke4-d4 5.h7-h8=Q # 5.h7-h8=B #" --- authors: - Loyd, Samuel source: The Albion (New York) source-id: 383 date: 1856-05-03 algebraic: white: [Kb1, Qa7, Rf1, Rb4, Bg5, Be4, Sh8, Sd2, Pe2, Pc7, Pc5] black: [Ke5, Qe8, Rh2, Rg3, Bc8, Bb2, Sh5, Sg8, Pg6, Pe7, Pe6, Pe3, Pd7] stipulation: "#4" solution: | "1.Qa7-a1 ! threat: 2.Qa1*b2 # 1...Bb2*a1 2.Rf1-f7 threat: 3.Sh8*g6 # 2...Rh2-h1 + 3.Kb1-a2 threat: 4.Sh8*g6 # 3...Rg3*g5 4.Sd2-f3 # 3...Sh5-f4 4.Bg5*f4 # 3...Qe8*f7 4.Sh8*f7 # 2...Rg3-g1 + 3.Kb1-a2 threat: 4.Sh8*g6 # 4.Sd2-f3 # 3...Ba1-d4 4.Sh8*g6 # 3...Rg1-f1 4.Sh8*g6 # 3...Rg1*g5 4.Sd2-f3 # 3...Rg1-g3 4.Sh8*g6 # 3...Rh2*e2 4.Sh8*g6 # 3...Rh2-f2 4.Sh8*g6 # 3...Rh2-h3 4.Sh8*g6 # 3...e3*d2 4.Sh8*g6 # 3...Sh5-f4 4.Bg5*f4 # 4.Sd2-f3 # 3...Qe8*f7 4.Sh8*f7 # 2...Rg3*g5 3.Sd2-f3 # 2...Sh5-f4 3.Bg5*f4 # 2...Qe8*f7 3.Sh8*f7 # 1...Bb2-d4 2.Qa1*d4 # 1...Bb2-c3 2.Qa1*c3 # 1...e3*d2 2.Qa1*b2 + 2...Rg3-c3 3.Qb2*c3 # 1...d7-d5 2.Qa1*b2 + 2...d5-d4 3.Qb2*d4 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 38 date: 1857-09 algebraic: white: [Kb1, Rd7, Bf2, Be4, Sh8, Sh2, Pg2, Pf5, Pe3, Pd5, Pd3, Pc2] black: [Ke5, Qh5, Rh6, Rf8, Bg3, Se2, Sa8, Ph3, Pg5, Pf6, Pc7, Pb7] stipulation: "#4" solution: | "1.Bf2-e1 ! threat: 2.Rd7-e7 + 2...Ke5-d6 3.Be1-b4 + 3...c7-c5 4.d5*c6 ep. # 2.Be1-b4 threat: 3.Rd7-e7 # 2...Se2-f4 3.Bb4-c3 # 2...Se2-d4 3.Rd7-e7 + 3...Sd4-e6 4.Re7*e6 # 2...Se2-c3 + 3.Bb4*c3 # 2...Qh5-e8 3.Sh2-g4 # 3.Sh2-f3 # 2...Qh5-f7 3.Sh2-g4 # 3.Sh2-f3 # 2...Rh6-h7 3.Sh8-g6 + 3...Qh5*g6 4.Sh2-g4 # 4.Sh2-f3 # 3.Sh2-g4 + 3...Qh5*g4 4.Sh8-g6 # 3.Sh2-f3 + 3...Qh5*f3 4.Sh8-g6 # 2...c7-c5 3.d5*c6 ep. threat: 4.Rd7-d5 # 4.Rd7-e7 # 4.Bb4-d6 # 3...Se2-f4 4.Bb4-c3 # 4.Bb4-d6 # 3...Se2-d4 4.Rd7-d5 # 4.Bb4-d6 # 3...Se2-c3 + 4.Bb4*c3 # 3...Qh5-e8 4.Rd7-d5 # 4.Bb4-d6 # 4.Sh2-g4 # 4.Sh2-f3 # 3...Qh5-f7 4.Bb4-d6 # 4.Sh2-g4 # 4.Sh2-f3 # 3...Rh6-h7 4.Rd7-d5 # 4.Bb4-d6 # 3...b7*c6 4.Rd7-e7 # 4.Bb4-d6 # 3...Sa8-b6 4.Rd7-e7 # 4.Bb4-d6 # 3...Sa8-c7 4.Bb4-d6 # 3...Rf8-f7 4.Rd7-d5 # 4.Bb4-d6 # 3...Rf8-d8 4.Rd7-e7 # 4.Bb4-d6 # 3...Rf8-e8 4.Rd7-d5 # 4.Bb4-d6 # 2...Rf8-f7 3.Sh8*f7 + 3...Qh5*f7 4.Sh2-g4 # 4.Sh2-f3 # 3.Sh2-g4 + 3...Qh5*g4 4.Sh8*f7 # 3.Sh2-f3 + 3...Qh5*f3 4.Sh8*f7 # 2...Rf8-e8 3.Sh8-f7 + 3...Qh5*f7 4.Sh2-g4 # 4.Sh2-f3 # 3.Sh2-g4 + 3...Qh5*g4 4.Sh8-f7 # 3.Sh2-f3 + 3...Qh5*f3 4.Sh8-f7 # 1...Bg3*e1 2.g2-g4 threat: 3.Sh2-f3 # 2...Se2-g1 3.g4*h5 threat: 4.Sh2-g4 # 2...Se2-d4 3.g4*h5 threat: 4.Sh2-g4 # 2...Se2-c3 + 3.Kb1-a1 threat: 4.Sh2-f3 # 3...Qh5*g4 4.Sh2*g4 # 2...Qh5*g4 3.Sh2*g4 # 1...Bg3-f2 2.Rd7-e7 + 2...Ke5-d6 3.Be1-b4 + 3...c7-c5 4.d5*c6 ep. # 1...Bg3*h2 2.Rd7-e7 + 2...Ke5-d6 3.Be1-b4 + 3...c7-c5 4.d5*c6 ep. # 1...Bg3-f4 2.Rd7-e7 + 2...Ke5-d6 3.Be1-b4 + 3...c7-c5 4.d5*c6 ep. # 1...h3*g2 2.Rd7-e7 + 2...Ke5-d6 3.Be1-b4 + 3...c7-c5 4.d5*c6 ep. # 1...g5-g4 2.Rd7-e7 + 2...Ke5-d6 3.Be1-b4 + 3...c7-c5 4.d5*c6 ep. # 1...Rh6*h8 2.Rd7-e7 + 2...Ke5-d6 3.Be1-b4 + 3...c7-c5 4.d5*c6 ep. # 1...c7-c5 2.d5*c6 ep. threat: 3.Rd7-d5 # 2...Se2-f4 3.Be1-c3 # 2...Se2-c3 + 3.Be1*c3 # 2...Qh5-f7 3.Sh2-g4 # 3.Sh2-f3 # 2...b7*c6 3.Be1-b4 threat: 4.Rd7-e7 # 4.Bb4-d6 # 3...Se2-f4 4.Bb4-c3 # 4.Bb4-d6 # 3...Se2-d4 4.Bb4-d6 # 3...Se2-c3 + 4.Bb4*c3 # 3...Qh5-e8 4.Bb4-d6 # 4.Sh2-g4 # 4.Sh2-f3 # 3...Qh5-f7 4.Bb4-d6 # 4.Sh2-g4 # 4.Sh2-f3 # 3...c6-c5 4.Rd7-d5 # 3...Rh6-h7 4.Bb4-d6 # 3...Sa8-c7 4.Bb4-d6 # 3...Rf8-f7 4.Bb4-d6 # 3...Rf8-b8 4.Rd7-e7 # 3...Rf8-e8 4.Bb4-d6 # 2...Sa8-b6 3.Rd7-e7 + 3...Ke5-d6 4.Be1-b4 # 2...Sa8-c7 3.Rd7-e7 + 3...Ke5-d6 4.Be1-b4 # 3...Sc7-e6 4.Re7*e6 # 3.Be1-b4 threat: 4.Bb4-d6 # 3...Se2-c3 + 4.Bb4*c3 # 3...Sc7-b5 4.Rd7-d5 # 4.Rd7-e7 # 3...Sc7-e8 4.Rd7-d5 # 4.Rd7-e7 # 2...Rf8-d8 3.Sh8-f7 + 3...Qh5*f7 4.Sh2-g4 # 4.Sh2-f3 # 3.Rd7-e7 + 3...Ke5-d6 4.Be1-b4 # 3.Sh2-g4 + 3...Qh5*g4 4.Sh8-f7 # 3.Sh2-f3 + 3...Qh5*f3 4.Sh8-f7 # 1...c7-c6 2.d5*c6 threat: 3.Rd7-d5 # 2...Se2-f4 3.Be1-c3 # 2...Se2-c3 + 3.Be1*c3 # 2...Qh5-f7 3.Sh2-g4 # 3.Sh2-f3 # 2...b7*c6 3.Be1-b4 threat: 4.Rd7-e7 # 4.Bb4-d6 # 3...Se2-f4 4.Bb4-c3 # 4.Bb4-d6 # 3...Se2-d4 4.Bb4-d6 # 3...Se2-c3 + 4.Bb4*c3 # 3...Qh5-e8 4.Bb4-d6 # 4.Sh2-g4 # 4.Sh2-f3 # 3...Qh5-f7 4.Bb4-d6 # 4.Sh2-g4 # 4.Sh2-f3 # 3...c6-c5 4.Rd7-d5 # 3...Rh6-h7 4.Bb4-d6 # 3...Sa8-c7 4.Bb4-d6 # 3...Rf8-f7 4.Bb4-d6 # 3...Rf8-b8 4.Rd7-e7 # 3...Rf8-e8 4.Bb4-d6 # 2...Sa8-b6 3.Rd7-e7 + 3...Ke5-d6 4.Be1-b4 # 2...Sa8-c7 3.Rd7-e7 + 3...Ke5-d6 4.Be1-b4 # 3...Sc7-e6 4.Re7*e6 # 3.Be1-b4 threat: 4.Bb4-d6 # 3...Se2-c3 + 4.Bb4*c3 # 3...Sc7-b5 4.Rd7-d5 # 4.Rd7-e7 # 3...Sc7-e8 4.Rd7-d5 # 4.Rd7-e7 # 2...Rf8-d8 3.Sh8-f7 + 3...Qh5*f7 4.Sh2-g4 # 4.Sh2-f3 # 3.Rd7-e7 + 3...Ke5-d6 4.Be1-b4 # 3.Sh2-g4 + 3...Qh5*g4 4.Sh8-f7 # 3.Sh2-f3 + 3...Qh5*f3 4.Sh8-f7 # 1...Sa8-b6 2.Rd7-e7 + 2...Ke5-d6 3.Be1-b4 + 3...c7-c5 4.d5*c6 ep. # 1...Rf8*h8 2.Rd7-e7 + 2...Ke5-d6 3.Be1-b4 + 3...c7-c5 4.d5*c6 ep. #" --- authors: - Loyd, Samuel source: New York Clipper date: 1879 algebraic: white: [Kb1, Qc6, Rh4, Rh1, Bf4, Sh3, Se5, Pf2, Pe3, Pc2, Pb2] black: [Kg8, Qe8, Rf8, Ra8, Bd7, Sc4, Sb6, Pg7, Pf7, Pe7, Pc7, Pa3] stipulation: "#6" solution: | "1.Rh4-h8 + ! 1...Kg8*h8 2.Sh3-g5 + 2...Bd7-h3 3.Rh1*h3 + 3...Kh8-g8 4.Rh3-h8 + 4...Kg8*h8 5.Qc6-h1 + 5...Kh8-g8 6.Qh1-h7 # 2...Kh8-g8 3.Rh1-h8 + 3...Kg8*h8 4.Qc6-h1 + 4...Bd7-h3 5.Qh1*h3 + 5...Kh8-g8 6.Qh3-h7 # 4...Kh8-g8 5.Qh1-h7 #" --- authors: - Loyd, Samuel source: New York Clipper source-id: v. date: 1879 algebraic: white: [Kb2, Qd1, Rg2, Rc6, Sg5, Se4] black: [Kh8, Re8, Ra8, Ba7, Se2, Sd4, Pg7, Pf7] stipulation: "#8" solution: | 1. Tc6-h6! Cooked by 1. Qh1+ in 7 and 1. Rh2+ in 8 keywords: - Shortmate --- authors: - Loyd, Samuel source: Lynn News source-id: 36 date: 1858 algebraic: white: [Kb3, Bb8, Se6, Pd5, Pc6, Pb5, Pa4] black: [Kb6, Qh6, Rf8, Bg6, Sh5, Sa3, Pg5, Pg2, Pe7, Pd3, Pb4, Pa5] stipulation: "#6" solution: | "1.Bb8-h2 ! threat: 2.Bh2-g1 + 2...Rf8-f2 3.Bg1*f2 # 1...Sa3-c2 2.Bh2-g1 + 2...Sc2-e3 3.Bg1*e3 # 2...Sc2-d4 + 3.Bg1*d4 # 2...Rf8-f2 3.Bg1*f2 + 3...Sc2-e3 4.Bf2*e3 # 3...Sc2-d4 + 4.Bf2*d4 # 1...Sa3-c4 2.Bh2-g1 + 2...Sc4-e3 3.Bg1*e3 # 2...Rf8-f2 3.Bg1*f2 + 3...Sc4-e3 4.Bf2*e3 # 1...Sa3*b5 2.Bh2-g1 + 2...Sb5-d4 + 3.Bg1*d4 + 3...Kb6-a6 4.Se6-c7 # 2...Kb6-a6 3.a4*b5 + 3...Ka6*b5 4.Se6-c7 # 2...Rf8-f2 3.Bg1*f2 + 3...Sb5-d4 + 4.Bf2*d4 + 4...Kb6-a6 5.Se6-c7 # 3...Kb6-a6 4.a4*b5 + 4...Ka6*b5 5.Se6-c7 # 1...g5-g4 2.Bh2-g1 + 2...Qh6-e3 3.Bg1*e3 # 2...Rf8-f2 3.Bg1*f2 + 3...Qh6-e3 4.Bf2*e3 # 1...Kb6-a7 2.b5-b6 + 2...Ka7-a8 3.Se6-c7 + 3...Ka8-b8 4.Sc7-a6 + 4...Kb8-c8 5.b6-b7 + 5...Kc8-d8 6.b7-b8=Q # 6.b7-b8=R # 5.Bh2-c7 threat: 6.b6-b7 # 4...Kb8-a8 5.Bh2-b8 threat: 6.b6-b7 # 5...Rf8*b8 6.Sa6-c7 # 2...Ka7-a6 3.Bh2-g1 threat: 4.Se6-c7 # 3...Sa3-b5 4.a4*b5 + 4...Ka6*b5 5.Se6-c7 # 3...Rf8-f2 4.Bg1*f2 threat: 5.Se6-c7 # 4...Sa3-b5 5.a4*b5 + 5...Ka6*b5 6.Se6-c7 # 3...Rf8-c8 4.b6-b7 threat: 5.b7*c8=Q # 5.b7*c8=B # 4...Qh6-f8 5.b7-b8=Q threat: 6.Qb8-a7 # 6.Qb8-b6 # 6.Qb8-b7 # 6.Se6-c5 # 5...Sa3-c4 6.Qb8-a7 # 6.Qb8-b5 # 6.Qb8-b7 # 6.Se6-c5 # 5...Sa3-b5 6.Qb8*b5 # 6.Qb8-b6 # 6.Qb8-b7 # 6.Se6-c5 # 6.a4*b5 # 5...Rc8*c6 6.Qb8-a7 # 5...Rc8-c7 6.Qb8-b6 # 6.Se6-c5 # 6.Se6*c7 # 5...Rc8*b8 6.Se6-c7 # 5...Qf8-f2 6.Qb8-b7 # 5...Qf8-d8 6.Qb8-a7 # 6.Qb8-b7 # 6.Se6-c5 # 5.b7-b8=S + 5...Rc8*b8 6.Se6-c7 # 4...Qh6-h8 5.b7-b8=S + 5...Rc8*b8 6.Se6-c7 # 4...Rc8*c6 5.d5*c6 threat: 6.b7-b8=S # 6.Se6-c7 # 5...Sa3-b5 6.b7-b8=S # 5...Bg6-f7 6.b7-b8=S # 5...Qh6-f8 6.Se6-c7 # 5...Qh6-h8 6.Se6-c7 # 4...Rc8-c7 5.b7-b8=S # 5.Se6*c7 # 4...Rc8-a8 5.Se6-c7 # 5.b7*a8=Q # 5.b7*a8=R # 4...Rc8-b8 5.Se6-c7 # 4...Rc8-h8 5.Se6-c7 # 4...Rc8-g8 5.Se6-c7 # 4...Rc8-f8 5.Se6-c7 # 4...Rc8-e8 5.Se6-c7 # 4...Rc8-d8 5.Se6-c7 # 2...Ka7*b6 3.Bh2-g1 + 3...Kb6-a6 4.Se6-c7 # 3...Rf8-f2 4.Bg1*f2 + 4...Kb6-a6 5.Se6-c7 # 1...Qh6-g7 2.Bh2-g1 + 2...Qg7-d4 3.Bg1*d4 # 2...Rf8-f2 3.Bg1*f2 + 3...Qg7-d4 4.Bf2*d4 # 1...Qh6-h8 2.Bh2-g1 + 2...Rf8-f2 3.Bg1*f2 + 3...Qh8-d4 4.Bf2*d4 # 2...Qh8-d4 3.Bg1*d4 # 1...Rf8-f1 2.Bh2-c7 + 2...Kb6-a7 3.b5-b6 + 3...Ka7-a8 4.b6-b7 + 4...Ka8-a7 5.b7-b8=Q + 5...Ka7-a6 6.Qb8-b6 # 6.Qb8-b7 # 6.Qb8-a8 # 6.Se6-c5 # 3...Ka7-a6 4.Se6-c5 # 1...Rf8-f2 2.Bh2-c7 + 2...Kb6-a7 3.b5-b6 + 3...Ka7-a8 4.b6-b7 + 4...Ka8-a7 5.b7-b8=Q + 5...Ka7-a6 6.Qb8-b6 # 6.Qb8-b7 # 6.Qb8-a8 # 6.Se6-c5 # 3...Ka7-a6 4.Se6-c5 #" --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 4-moves / 411 date: 1868 algebraic: white: [Kb3, Qg8, Bd3, Se2, Sc2, Pg7, Pf5] black: [Kd1, Qh6, Bh4, Sh8, Sh7, Pg4, Pf7, Pe3, Pd2, Pb4] stipulation: "#4" solution: | "1.Qg8-a8 ! threat: 2.Qa8-a1 # 1...Bh4-f6 2.g7-g8=S threat: 3.Sg8*f6 threat: 4.Qa8-a1 # 3...Qh6*f6 4.Qa8-h1 # 3.Sg8*h6 threat: 4.Qa8-h1 # 3...Bf6-h4 4.Qa8-a1 # 2...g4-g3 3.Sg8*f6 threat: 4.Qa8-a1 # 3...Qh6*f6 4.Qa8-h1 # 2...Bf6-b2 3.Sg8*h6 threat: 4.Qa8-h1 # 2...Bf6-c3 3.Sg8*h6 threat: 4.Qa8-h1 # 3.Se2*c3 + 3...Kd1-c1 4.Qa8-a1 # 3...b4*c3 4.Qa8-a1 # 2...Bf6-d4 3.Sg8*h6 threat: 4.Qa8-h1 # 2...Bf6-e5 3.Sg8*h6 threat: 4.Qa8-h1 # 3...Be5-h2 4.Qa8-a1 # 3...Be5-g3 4.Qa8-a1 # 2...Bf6-g7 3.Sg8*h6 threat: 4.Qa8-h1 # 2...Qh6-f4 3.Qa8-h1 + 3...Qf4-f1 4.Qh1*f1 # 2...Qh6-h2 3.Sg8*f6 threat: 4.Qa8-a1 # 3...Qh2-e5 4.Qa8-h1 # 2...Qh6-h3 3.Sg8*f6 threat: 4.Qa8-a1 # 2...Qh6-h4 3.Sg8*f6 threat: 4.Qa8-a1 # 3...Qh4*f6 4.Qa8-h1 # 2...Qh6-h5 3.Sg8*f6 threat: 4.Qa8-a1 # 2...Sh7-g5 3.Sg8*f6 threat: 4.Qa8-a1 # 3...Qh6*f6 4.Qa8-h1 # 1...Qh6*g7 2.Qa8-h1 + 2...Bh4-e1 3.Sc2*e3 # 1...Qh6-a6 2.Qa8-h1 + 2...Bh4-e1 3.Sc2*e3 # 1...Qh6-e6 + 2.f5*e6 threat: 3.Qa8-a1 # 2...Bh4-f6 3.Qa8-h1 # 1...Qh6-f6 2.Qa8-h1 + 2...Bh4-e1 3.Sc2*e3 #" --- authors: - Loyd, Samuel source: 1st American Chess Congress date: 1857 algebraic: white: [Kb4, Qc6, Rf8, Rb2, Bd4, Bd1, Sh3, Pg6, Pg3, Pe2, Pd7, Pd2, Pb5, Pa5] black: [Ke4, Rc7, Ra7, Be7, Ba2, Sc3, Sb7, Ph2, Pg5, Pe3, Pd6, Pd5, Pd3, Pc4, Pa3] stipulation: "#5" solution: | "1.d2*c3 ! threat: 2.e2*d3 + 2...c4*d3 3.Bd1-f3 # 2...Ke4*d3 3.Qc6*d5 threat: 4.Qd5-f5 # 4.Bd4-h8 # 4.Bd4-g7 # 4.Bd4-f6 # 4.Bd4-e5 # 4.Bd4*a7 # 4.Bd4-b6 # 4.Bd4-c5 # 4.Bd1-e2 # 3...h2-h1=Q 4.Bd1-e2 # 3...h2-h1=B 4.Bd1-e2 # 3...a3*b2 4.Bd4-h8 # 4.Bd4-g7 # 4.Bd4-f6 # 4.Bd4-e5 # 4.Bd4*a7 # 4.Bd4-b6 # 4.Bd4-c5 # 3...e3-e2 4.Rf8-f3 # 4.Qd5-f3 # 4.Qd5-f5 # 4.Bd4-g1 # 4.Bd4-f2 # 4.Bd4*a7 # 4.Bd4-b6 # 4.Bd4-c5 # 4.Sh3-f2 # 4.Bd1*e2 # 3...Sb7-c5 4.Bd4-h8 # 4.Bd4-g7 # 4.Bd4-f6 # 4.Bd4-e5 # 4.Bd4*c5 # 4.Bd1-e2 # 3...Rc7-c5 4.Bd4*c5 # 4.Bd1-e2 # 3...Be7-f6 4.Qd5-f5 # 4.Bd4*f6 # 4.Bd4-e5 # 4.Bd1-e2 # 1...h2-h1=Q 2.e2*d3 + 2...c4*d3 3.Sh3-f2 + 3...e3*f2 4.Rb2-e2 + 4...d3*e2 5.Bd1-c2 # 3.Rb2-f2 threat: 4.Rf8-f4 + 4...g5*f4 5.Rf2*f4 # 4.Rf2-f4 + 4...g5*f4 5.Rf8*f4 # 3...Be7-f6 4.Rf8*f6 threat: 5.Rf6-e6 # 5.Sh3*g5 # 4...Qh1-f3 5.Sh3*g5 # 5.Bd1*f3 # 4...Qh1*h3 5.Bd1-f3 # 4...d3-d2 5.Bd1-c2 # 4...e3*f2 5.Sh3*f2 # 5.Sh3*g5 # 4...Sb7-c5 5.Sh3*g5 # 4...Sb7-d8 5.Sh3*g5 # 4.Rf8-e8 + 4...Bf6-e5 5.Sh3*g5 # 4...Bf6-e7 5.Sh3*g5 # 5.Re8*e7 # 4.Rf2*f6 threat: 5.Rf8-e8 # 5.Rf6-e6 # 5.Sh3*g5 # 4...Qh1*h3 5.Bd1-f3 # 4...d3-d2 5.Bd1-c2 # 4...Ra7-a8 5.Rf6-e6 # 5.Sh3*g5 # 4...Sb7-c5 5.Sh3*g5 # 4...Sb7-d8 5.Sh3*g5 # 4...Rc7-c8 5.Rf6-e6 # 5.Sh3*g5 # 4...Rc7*d7 5.Rf6-e6 # 5.Sh3*g5 # 2...Ke4*d3 3.Sh3-f4 + 3...Kd3-e4 4.Qc6*d5 # 3...g5*f4 4.Bd1-e2 + 4...Kd3-e4 5.Rf8*f4 # 1...h2-h1=B 2.e2*d3 + 2...c4*d3 3.Sh3-f2 + 3...e3*f2 4.Rb2-e2 + 4...d3*e2 5.Bd1-c2 # 3.Rb2-f2 threat: 4.Rf8-f4 + 4...g5*f4 5.Rf2*f4 # 4.Rf2-f4 + 4...g5*f4 5.Rf8*f4 # 4.Bd1-g4 threat: 5.Bg4-f5 # 4...e3*f2 5.Sh3*f2 # 3...e3-e2 4.Rf8-f4 + 4...g5*f4 5.Rf2*f4 # 4.Rf2*e2 + 4...d3*e2 5.Sh3-f2 # 5.Bd1-c2 # 4.Rf2-f4 + 4...g5*f4 5.Rf8*f4 # 3...Ra7*a5 4.Rf8-f4 + 4...g5*f4 5.Rf2*f4 # 4.Rf2-f4 + 4...g5*f4 5.Rf8*f4 # 3...Ra7-a8 4.Rf8-f4 + 4...g5*f4 5.Rf2*f4 # 4.Rf2-f4 + 4...g5*f4 5.Rf8*f4 # 3...Sb7*a5 4.Rf8-f4 + 4...g5*f4 5.Rf2*f4 # 4.Rf2-f4 + 4...g5*f4 5.Rf8*f4 # 3...Sb7-c5 4.Rf8-f4 + 4...g5*f4 5.Rf2*f4 # 4.Rf2-f4 + 4...g5*f4 5.Rf8*f4 # 3...Sb7-d8 4.Rf8-f4 + 4...g5*f4 5.Rf2*f4 # 4.Rf2-f4 + 4...g5*f4 5.Rf8*f4 # 3...Rc7*c6 4.Rf8-f4 + 4...g5*f4 5.Rf2*f4 # 4.Rf2-f4 + 4...g5*f4 5.Rf8*f4 # 3...Rc7-c8 4.Rf8-f4 + 4...g5*f4 5.Rf2*f4 # 4.d7*c8=Q threat: 5.Qc8-g4 # 5.Qc8-f5 # 5.Qc8-e6 # 4...Bh1-f3 5.Qc8-f5 # 5.Qc8-e6 # 5.Bd1*f3 # 4...d3-d2 5.Qc8-f5 # 5.Bd1-c2 # 4...Sb7-c5 5.Qc8-g4 # 5.Qc8-f5 # 4...Sb7-d8 5.Qc8-g4 # 5.Qc8-f5 # 4...Be7-f6 5.Qc8-g4 # 5.Qc8-f5 # 4.d7*c8=B threat: 5.Bc8-f5 # 4.Rf2-f4 + 4...g5*f4 5.Rf8*f4 # 3...Be7-f6 4.Rf8*f6 threat: 5.Rf6-e6 # 5.Sh3*g5 # 4...Bh1-f3 5.Sh3*g5 # 5.Bd1*f3 # 4...d3-d2 5.Bd1-c2 # 4...e3*f2 5.Sh3*f2 # 5.Sh3*g5 # 4...Sb7-c5 5.Sh3*g5 # 4...Sb7-d8 5.Sh3*g5 # 4.Rf8-e8 + 4...Bf6-e5 5.Sh3*g5 # 4...Bf6-e7 5.Sh3*g5 # 5.Re8*e7 # 4.Rf2*f6 threat: 5.Rf8-e8 # 5.Rf6-e6 # 5.Sh3*g5 # 4...d3-d2 5.Bd1-c2 # 4...Ra7-a8 5.Rf6-e6 # 5.Sh3*g5 # 4...Sb7-c5 5.Sh3*g5 # 4...Sb7-d8 5.Sh3*g5 # 4...Rc7-c8 5.Rf6-e6 # 5.Sh3*g5 # 4...Rc7*d7 5.Rf6-e6 # 5.Sh3*g5 # 2...Ke4*d3 3.Rf8-f2 threat: 4.Bd1-c2 # 3...Ba2-b1 4.Rb2-e2 threat: 5.Re2*e3 # 4...e3*f2 5.Sh3*f2 # 3...Ba2-b3 4.Rb2-e2 threat: 5.Re2*e3 # 4...e3*f2 5.Sh3*f2 # 3...e3-e2 4.Rf2*e2 threat: 5.Sh3-f2 # 5.Re2-e3 # 5.Rb2-d2 # 4...a3*b2 5.Sh3-f2 # 4.Rb2*e2 threat: 5.Re2-e3 # 5.Bd1-c2 # 4...Ba2-b1 5.Re2-e3 # 4...Ba2-b3 5.Re2-e3 # 3...e3*f2 4.Sh3*f2 # 3.Sh3-f4 + 3...Kd3-e4 4.Qc6*d5 # 3...g5*f4 4.Bd1-e2 + 4...Kd3-e4 5.Rf8*f4 # 1...a3*b2 2.Sh3-f2 + 2...e3*f2 3.Qc6*d5 + 3...Ke4*d5 4.e2-e4 + 4...Kd5-e6 5.Bd1-g4 # 4...Kd5*e4 5.Bd1-f3 # 1...Ra7*a5 2.e2*d3 + 2...c4*d3 3.Bd1-f3 # 2...Ke4*d3 3.Sh3-f4 + 3...Kd3-e4 4.Qc6*d5 # 3...g5*f4 4.Bd1-e2 + 4...Kd3-e4 5.Rf8*f4 # 2.Sh3-f2 + 2...e3*f2 3.Qc6*d5 + 3...Ke4*d5 4.e2-e4 + 4...Kd5-e6 5.Bd1-g4 # 4...Kd5*e4 5.Bd1-f3 # 1...Sb7*a5 2.e2*d3 + 2...c4*d3 3.Bd1-f3 # 2...Ke4*d3 3.Sh3-f4 + 3...Kd3-e4 4.Qc6*d5 # 3...g5*f4 4.Bd1-e2 + 4...Kd3-e4 5.Rf8*f4 # 2.Sh3-f2 + 2...e3*f2 3.Qc6*d5 + 3...Ke4*d5 4.e2-e4 + 4...Kd5-e6 5.Bd1-g4 # 4...Kd5*e4 5.Bd1-f3 # 1...Sb7-c5 2.d7-d8=Q threat: 3.Qd8*e7 + 3...Sc5-e6 4.Qe7*e6 # 4.Sh3*g5 # 3...Rc7*e7 4.Sh3*g5 # 2...d3*e2 3.Qd8*e7 + 3...Ke4-d3 4.Qe7*e3 # 4.Bd1*e2 # 3...Sc5-e6 4.Bd1-c2 # 3...Rc7*e7 4.Sh3*g5 + 4...Ke4-d3 5.Bd1*e2 # 3.Sh3-f2 + 3...e3*f2 4.Rb2*e2 + 4...Ke4-d3 5.Rf8-f3 # 2...Sc5-e6 3.Qd8*e7 threat: 4.Qe7*e6 # 4.Sh3*g5 # 3...d3*e2 4.Bd1-c2 # 3...Rc7*e7 4.Sh3*g5 + 4...Se6*g5 5.Rf8-f4 # 3.Qd8*d6 threat: 4.Qc6*d5 # 3...d3*e2 4.Bd1-c2 # 3...Se6-f4 4.Rf8*f4 + 4...g5*f4 5.Qc6*d5 # 4.Qd6*e7 + 4...Sf4-e6 5.Sh3*g5 # 5.Qe7*e6 # 5.Qc6*e6 # 4...Rc7*e7 5.Sh3*g5 # 4.Sh3*g5 + 4...Be7*g5 5.Qd6-e5 # 3...Rc7*c6 4.Sh3*g5 + 4...Se6*g5 5.Rf8-f4 # 4...Be7*g5 5.Qd6-e5 # 3...Be7*d6 + 4.Qc6*d6 threat: 5.Qd6-e5 # 5.Qd6*e6 # 4...d3*e2 5.Bd1-c2 # 4...Se6-c5 5.Qd6-e5 # 5.Sh3*g5 # 4...Se6*d4 5.Sh3*g5 # 4...Se6-f4 5.Qd6-e5 # 5.Sh3*g5 # 4...Se6-g7 5.Qd6-e5 # 5.Sh3*g5 # 4...Se6*f8 5.Qd6-e5 # 4...Se6-d8 5.Qd6-e5 # 5.Sh3*g5 # 4...Ra7-a6 5.Qd6-e5 # 4...Rc7-c6 5.Qd6-e5 # 4...Rc7-e7 5.Qd6-e5 # 3.Sh3*g5 + 3...Se6*g5 4.Rf8-f4 # 3...Be7*g5 4.Qd8*g5 threat: 5.Qc6*d5 # 5.Qg5*e3 # 5.Qg5*d5 # 5.Qg5-f5 # 4...d3*e2 5.Qg5*e3 # 5.Qg5-f5 # 5.Bd1-c2 # 4...Se6*d4 5.Rf8-f4 # 5.Qc6*d5 # 5.Qg5-f4 # 5.Qg5*d5 # 4...Se6-f4 5.Rf8*f4 # 5.Qg5*f4 # 5.Qg5-f5 # 4...Se6*g5 5.Rf8-f4 # 4...Se6-g7 5.Rf8-f4 # 5.Qc6*d5 # 5.Qg5*e3 # 5.Qg5-f4 # 5.Qg5-h4 # 5.Qg5-g4 # 5.Qg5*d5 # 4...Se6*f8 5.Qc6*d5 # 5.Qg5-f4 # 5.Qg5-g4 # 5.Qg5*d5 # 4...Rc7*c6 5.Qg5*e3 # 5.Qg5-f5 # 4...Rc7-f7 5.Qc6*d5 # 5.Qg5*d5 # 4.Qd8*d6 threat: 5.Qd6-e5 # 5.Qd6*d5 # 5.Qd6*e6 # 5.Qc6*d5 # 4...d3*e2 5.Bd1-c2 # 4...Bg5-f4 5.Qd6*d5 # 5.Qc6*d5 # 4...Bg5-e7 5.Qc6*d5 # 4...Bg5-f6 5.Qd6*d5 # 5.Qc6*d5 # 4...Se6-c5 5.Qd6-e5 # 5.Qd6*d5 # 5.Qc6*d5 # 4...Se6*d4 5.Qd6*d5 # 5.Qc6*d5 # 4...Se6-f4 5.Qd6-e5 # 4...Se6-g7 5.Qd6-e5 # 5.Qd6*d5 # 5.Qc6*d5 # 4...Se6*f8 5.Qd6-e5 # 5.Qd6*d5 # 5.Qc6*d5 # 4...Se6-d8 5.Qd6-e5 # 5.Qd6*d5 # 5.Qc6*d5 # 4...Rc7*c6 5.Qd6-e5 # 4...Rc7-e7 5.Qd6-e5 # 5.Qd6*d5 # 5.Qc6*d5 # 4...Rc7-d7 5.Qd6-e5 # 5.Qd6*e6 # 5.Qc6*d5 # 2...Sc5-a6 + 3.Kb4*a3 threat: 4.Qd8*e7 + 4...Rc7*e7 5.Sh3*g5 # 4.Qd8-e8 threat: 5.Sh3*g5 # 4...d3*e2 5.Bd1-c2 # 4.Qc6-e8 threat: 5.Sh3*g5 # 4...d3*e2 5.Bd1-c2 # 3...Ba2-b1 4.Qd8*e7 + 4...Rc7*e7 5.Sh3*g5 # 3...Ba2-b3 4.Qd8*e7 + 4...Rc7*e7 5.Sh3*g5 # 3...h2-h1=Q 4.Qd8*e7 + 4...Rc7*e7 5.Sh3*g5 # 3...h2-h1=R 4.Qd8*e7 + 4...Rc7*e7 5.Sh3*g5 # 3...Sa6-b4 4.Qd8*e7 + 4...Rc7*e7 5.Sh3*g5 # 3...Sa6-c5 4.Qd8*e7 + 4...Sc5-e6 5.Qe7*e6 # 5.Sh3*g5 # 4...Rc7*e7 5.Sh3*g5 # 3...Sa6-b8 4.Qd8*e7 + 4...Rc7*e7 5.Sh3*g5 # 3...Ra7-a8 4.Qd8*e7 + 4...Rc7*e7 5.Sh3*g5 # 4.Qc6-e8 threat: 5.Sh3*g5 # 4...d3*e2 5.Bd1-c2 # 3...Rc7*c6 4.Qd8*e7 + 4...Ra7*e7 5.Sh3*g5 # 4.Qd8-e8 threat: 5.Sh3*g5 # 4...d3*e2 5.Bd1-c2 # 3...Rc7-c8 4.Qd8*e7 + 4...Ra7*e7 5.Sh3*g5 # 4.Qc6-e8 threat: 5.Sh3*g5 # 4...d3*e2 5.Bd1-c2 # 3...Rc7-d7 4.Qd8*e7 + 4...Rd7*e7 5.Sh3*g5 # 4.Qd8-e8 threat: 5.Sh3*g5 # 4...d3*e2 5.Bd1-c2 # 3...Be7-f6 4.Rf8*f6 threat: 5.Sh3*g5 # 4...d3*e2 5.Bd1-c2 # 4.Qd8*f6 threat: 5.Qf6-f3 # 5.Qf6-f5 # 5.Qf6-e6 # 5.Sh3*g5 # 4...h2-h1=Q 5.Qf6-f5 # 5.Qf6-e6 # 5.Sh3*g5 # 4...h2-h1=B 5.Qf6-f5 # 5.Qf6-e6 # 5.Sh3*g5 # 4...d3*e2 5.Qf6-f5 # 5.Bd1-c2 # 4...g5-g4 5.Qf6-f4 # 5.Qf6-f5 # 5.Qf6-e6 # 5.Sh3-g5 # 4...Sa6-c5 5.Qf6-f3 # 5.Qf6-f5 # 5.Sh3*g5 # 4...Rc7-f7 5.Qf6-e6 # 5.Sh3*g5 # 4...Rc7-e7 5.Qf6-f3 # 5.Qf6-f5 # 5.Sh3*g5 # 3...Be7*f8 4.Qd8-f6 threat: 5.Qf6-f3 # 5.Qf6-e6 # 5.Sh3*g5 # 4...h2-h1=Q 5.Qf6-e6 # 5.Sh3*g5 # 4...h2-h1=B 5.Qf6-e6 # 5.Sh3*g5 # 4...d3*e2 5.Bd1-c2 # 4...g5-g4 5.Qf6-f4 # 5.Qf6-e6 # 5.Sh3-g5 # 4...Sa6-c5 5.Qf6-f3 # 5.Sh3*g5 # 4...Rc7-f7 5.Qf6-e6 # 5.Sh3*g5 # 4...Rc7-e7 5.Qf6-f3 # 5.Sh3*g5 # 4...Bf8-h6 5.Qf6-f3 # 5.Qf6-e6 # 4...Bf8-g7 5.Qf6-f3 # 5.Sh3*g5 # 3...Be7*d8 4.Qc6-e8 + 4...Rc7-e7 5.Sh3*g5 # 4...Bd8-e7 5.Sh3*g5 # 2...Be7-f6 3.Rf8*f6 threat: 4.Sh3*g5 # 3...d3*e2 4.Sh3*g5 + 4...Ke4-d3 5.Bd1*e2 # 3...Sc5-e6 4.Sh3*g5 + 4...Se6*g5 5.Rf6-f4 # 4.Qd8*d6 threat: 5.Qd6-e5 # 5.Qd6*d5 # 5.Qd6*e6 # 5.Qc6*d5 # 4...d3*e2 5.Bd1-c2 # 4...Se6-c5 5.Qd6-e5 # 5.Qd6*d5 # 5.Qc6*d5 # 5.Sh3*g5 # 4...Se6*d4 5.Qd6*d5 # 5.Qc6*d5 # 5.Sh3*g5 # 4...Se6-f4 5.Qd6-e5 # 5.Sh3*g5 # 4...Se6-g7 5.Qd6-e5 # 5.Qd6*d5 # 5.Qc6*d5 # 5.Sh3*g5 # 4...Se6-f8 5.Qd6-e5 # 5.Qd6*d5 # 5.Qc6*d5 # 5.Sh3*g5 # 4...Se6-d8 5.Qd6-e5 # 5.Qd6*d5 # 5.Qc6*d5 # 5.Sh3*g5 # 4...Rc7*c6 5.Qd6-e5 # 4...Rc7-e7 5.Qd6-e5 # 5.Qd6*d5 # 5.Qc6*d5 # 4...Rc7-d7 5.Qd6-e5 # 5.Qd6*e6 # 5.Qc6*d5 # 4.Qc6*d6 threat: 5.Qd6-e5 # 5.Qd6*d5 # 5.Qd6*e6 # 4...d3*e2 5.Bd1-c2 # 4...Se6-c5 5.Qd6-e5 # 5.Qd6*d5 # 5.Sh3*g5 # 4...Se6*d4 5.Qd6*d5 # 5.Sh3*g5 # 4...Se6-f4 5.Qd6-e5 # 5.Sh3*g5 # 4...Se6-g7 5.Qd6-e5 # 5.Qd6*d5 # 5.Sh3*g5 # 4...Se6-f8 5.Qd6-e5 # 5.Qd6*d5 # 5.Sh3*g5 # 4...Se6*d8 5.Qd6-e5 # 5.Sh3*g5 # 4...Ra7-a6 5.Qd6-e5 # 5.Qd6*d5 # 4...Rc7-c5 5.Qd6-e5 # 5.Qd6*e6 # 4...Rc7-c6 5.Qd6-e5 # 5.Qd6*d5 # 4...Rc7-e7 5.Qd6-e5 # 5.Qd6*d5 # 4...Rc7-d7 5.Qd6-e5 # 5.Qd6*e6 # 3...Sc5-a6 + 4.Qc6*a6 threat: 5.Sh3*g5 # 4...d3*e2 5.Bd1-c2 # 4.Kb4*a3 threat: 5.Sh3*g5 # 4...d3*e2 5.Bd1-c2 # 3.Qd8*f6 threat: 4.Qf6-f3 # 4.Qf6-f5 # 4.Sh3*g5 # 3...h2-h1=Q 4.Qf6-f5 # 4.Sh3*g5 # 3...h2-h1=B 4.Qf6-f5 # 4.Sh3*g5 # 3...d3*e2 4.Qf6-f5 # 3...Sc5-e6 4.Qf6-f3 # 4.Qf6-f5 # 4.Qf6*e6 # 3...Sc5-a6 + 4.Qc6*a6 threat: 5.Qf6-f3 # 5.Qf6-f5 # 5.Qf6-e6 # 5.Sh3*g5 # 4...h2-h1=Q 5.Qf6-f5 # 5.Qf6-e6 # 5.Sh3*g5 # 4...h2-h1=B 5.Qf6-f5 # 5.Qf6-e6 # 5.Sh3*g5 # 4...d3*e2 5.Qf6-f5 # 5.Bd1-c2 # 4...g5-g4 5.Qf6-f4 # 5.Qf6-f5 # 5.Qf6-e6 # 5.Sh3-g5 # 4...Rc7-f7 5.Qf6-e6 # 5.Sh3*g5 # 4...Rc7-e7 5.Qf6-f3 # 5.Qf6-f5 # 5.Sh3*g5 # 4.Kb4*a3 threat: 5.Qf6-f3 # 5.Qf6-f5 # 5.Qf6-e6 # 5.Sh3*g5 # 4...h2-h1=Q 5.Qf6-f5 # 5.Qf6-e6 # 5.Sh3*g5 # 4...h2-h1=B 5.Qf6-f5 # 5.Qf6-e6 # 5.Sh3*g5 # 4...d3*e2 5.Qf6-f5 # 5.Bd1-c2 # 4...g5-g4 5.Qf6-f4 # 5.Qf6-f5 # 5.Qf6-e6 # 5.Sh3-g5 # 4...Sa6-c5 5.Qf6-f3 # 5.Qf6-f5 # 5.Sh3*g5 # 4...Rc7-f7 5.Qf6-e6 # 5.Sh3*g5 # 4...Rc7-e7 5.Qf6-f3 # 5.Qf6-f5 # 5.Sh3*g5 # 3...g5-g4 4.Qf6-f4 # 4.Qf6-f5 # 4.Sh3-g5 # 3...Rc7-f7 4.Sh3*g5 # 2...Be7*f8 3.Qd8-f6 threat: 4.Qf6-f3 # 4.Sh3*g5 # 3...h2-h1=Q 4.Sh3*g5 # 3...h2-h1=B 4.Sh3*g5 # 3...d3*e2 4.Sh3*g5 + 4...Ke4-d3 5.Bd1*e2 # 4.Qc6*d5 + 4...Ke4*d5 5.Qf6-f5 # 4...Ke4-d3 5.Bd4-e5 # 5.Bd4*c5 # 5.Bd1*e2 # 3...Sc5-e6 4.Qf6-f3 # 4.Qf6*e6 # 3...Sc5-a6 + 4.Qc6*a6 threat: 5.Qf6-f3 # 5.Qf6-e6 # 5.Sh3*g5 # 4...h2-h1=Q 5.Qf6-e6 # 5.Sh3*g5 # 4...h2-h1=B 5.Qf6-e6 # 5.Sh3*g5 # 4...d3*e2 5.Bd1-c2 # 4...g5-g4 5.Qf6-f4 # 5.Qf6-e6 # 5.Sh3-g5 # 4...Rc7-f7 5.Qf6-e6 # 5.Sh3*g5 # 4...Rc7-e7 5.Qf6-f3 # 5.Sh3*g5 # 4...Bf8-h6 5.Qf6-f3 # 5.Qf6-e6 # 4...Bf8-g7 5.Qf6-f3 # 5.Sh3*g5 # 4.Kb4*a3 threat: 5.Qf6-f3 # 5.Qf6-e6 # 5.Sh3*g5 # 4...h2-h1=Q 5.Qf6-e6 # 5.Sh3*g5 # 4...h2-h1=B 5.Qf6-e6 # 5.Sh3*g5 # 4...d3*e2 5.Bd1-c2 # 4...g5-g4 5.Qf6-f4 # 5.Qf6-e6 # 5.Sh3-g5 # 4...Sa6-c5 5.Qf6-f3 # 5.Sh3*g5 # 4...Rc7-f7 5.Qf6-e6 # 5.Sh3*g5 # 4...Rc7-e7 5.Qf6-f3 # 5.Sh3*g5 # 4...Bf8-h6 5.Qf6-f3 # 5.Qf6-e6 # 4...Bf8-g7 5.Qf6-f3 # 5.Sh3*g5 # 3...g5-g4 4.Qf6-f4 # 4.Sh3-g5 # 3...Rc7-f7 4.Sh3*g5 # 3...Bf8-h6 4.Qf6-f3 # 2...Be7*d8 3.Qc6-e8 + 3...Sc5-e6 4.Qe8*e6 # 3...Rc7-e7 4.Sh3*g5 # 3...Bd8-e7 4.Sh3*g5 # 2.Sh3*g5 + 2...Be7*g5 3.Qc6*d6 threat: 4.Qd6-e5 # 3...d3*e2 4.Qd6-e5 + 4...Ke4-d3 5.Bd1*e2 # 4.Qd6-e6 + 4...Ke4-d3 5.Bd1*e2 # 4...Sc5*e6 5.Bd1-c2 # 3...Sc5*d7 4.Rf8-f4 + 4...Bg5*f4 5.Qd6*f4 # 4.Qd6-f4 + 4...Bg5*f4 5.Rf8*f4 # 4.Qd6-e6 + 4...Sd7-e5 5.Qe6-f5 # 5.Qe6*e5 # 3...Sc5-a6 + 4.Kb4*a3 threat: 5.Qd6-e5 # 5.Qd6-e6 # 4...d3*e2 5.Bd1-c2 # 4...Bg5-f4 5.Rf8*f4 # 5.Qd6*f4 # 4...Bg5-e7 5.Rf8-f4 # 5.Qd6*e7 # 4...Bg5-f6 5.Qd6-f4 # 4...Sa6-c5 5.Qd6-e5 # 4...Rc7-c6 5.Qd6-e5 # 3...Bg5-f4 4.Rf8*f4 # 4.Qd6*f4 # 3...Bg5-f6 4.Qd6-f4 # 1...Sb7-d8 2.e2*d3 + 2...c4*d3 3.Bd1-f3 # 2...Ke4*d3 3.Qc6*d5 threat: 4.Qd5-f5 # 4.Bd4-h8 # 4.Bd4-g7 # 4.Bd4-f6 # 4.Bd4-e5 # 4.Bd4*a7 # 4.Bd4-b6 # 4.Bd4-c5 # 4.Bd1-e2 # 3...h2-h1=Q 4.Bd1-e2 # 3...h2-h1=B 4.Bd1-e2 # 3...a3*b2 4.Bd4-h8 # 4.Bd4-g7 # 4.Bd4-f6 # 4.Bd4-e5 # 4.Bd4*a7 # 4.Bd4-b6 # 4.Bd4-c5 # 3...e3-e2 4.Rf8-f3 # 4.Qd5-f3 # 4.Qd5-f5 # 4.Bd4-g1 # 4.Bd4-f2 # 4.Bd4*a7 # 4.Bd4-b6 # 4.Bd4-c5 # 4.Sh3-f2 # 4.Bd1*e2 # 3...Rc7-c5 4.Bd4*c5 # 4.Bd1-e2 # 3...Be7-f6 4.Qd5-f5 # 4.Bd4*f6 # 4.Bd4-e5 # 4.Bd1-e2 # 3...Sd8-c6 + 4.b5*c6 threat: 5.Qd5-f5 # 5.Bd4-h8 # 5.Bd4-g7 # 5.Bd4-f6 # 5.Bd4-e5 # 5.Bd4*a7 # 5.Bd4-b6 # 5.Bd4-c5 # 5.Bd1-e2 # 4...h2-h1=Q 5.Bd1-e2 # 4...h2-h1=B 5.Bd1-e2 # 4...a3*b2 5.Bd4-h8 # 5.Bd4-g7 # 5.Bd4-f6 # 5.Bd4-e5 # 5.Bd4*a7 # 5.Bd4-b6 # 5.Bd4-c5 # 4...e3-e2 5.Rf8-f3 # 5.Qd5-f3 # 5.Qd5-f5 # 5.Bd4-g1 # 5.Bd4-f2 # 5.Bd4*a7 # 5.Bd4-b6 # 5.Bd4-c5 # 5.Sh3-f2 # 5.Bd1*e2 # 4...Ra7*a5 5.Bd4-c5 # 5.Bd1-e2 # 4...Ra7-b7 + 5.Bd4-b6 # 4...Rc7-b7 + 5.Bd4-b6 # 4...Be7-f6 5.Qd5-f5 # 5.Bd4*f6 # 5.Bd4-e5 # 5.Bd1-e2 # 3...Sd8-e6 4.Qd5-f5 # 4.Bd1-e2 # 3.Sh3-f4 + 3...Kd3-e4 4.Qc6*d5 # 3...g5*f4 4.Bd1-e2 + 4...Kd3-e4 5.Rf8*f4 # 2.Sh3-f2 + 2...e3*f2 3.Qc6*d5 + 3...Ke4*d5 4.e2-e4 + 4...Kd5-e6 5.Bd1-g4 # 4...Kd5*e4 5.Bd1-f3 # 1...Rc7*c6 2.e2*d3 + 2...c4*d3 3.Bd1-f3 # 2...Ke4*d3 3.Rf8-f2 threat: 4.Bd1-c2 # 3...Ba2-b1 4.Rb2-e2 threat: 5.Re2*e3 # 4...e3*f2 5.Sh3*f2 # 3...Ba2-b3 4.Rb2-e2 threat: 5.Re2*e3 # 4...e3*f2 5.Sh3*f2 # 3...e3-e2 4.Rf2*e2 threat: 5.Sh3-f2 # 5.Re2-e3 # 5.Rb2-d2 # 4...h2-h1=S 5.Re2-e3 # 5.Rb2-d2 # 4...a3*b2 5.Sh3-f2 # 4.Rb2*e2 threat: 5.Rf2-f3 # 5.Re2-e3 # 5.Bd1-c2 # 4...Ba2-b1 5.Rf2-f3 # 5.Re2-e3 # 4...Ba2-b3 5.Rf2-f3 # 5.Re2-e3 # 4...h2-h1=Q 5.Re2-e3 # 5.Bd1-c2 # 4...h2-h1=B 5.Re2-e3 # 5.Bd1-c2 # 4...g5-g4 5.Sh3-f4 # 5.Re2-e3 # 5.Bd1-c2 # 3...e3*f2 4.Sh3*f2 # 1...Be7*f8 2.e2*d3 + 2...c4*d3 3.Rb2-f2 threat: 4.Sh3*g5 # 3...d3-d2 4.Bd1-c2 # 3...e3*f2 4.Bd1-g4 threat: 5.Sh3*f2 # 5.Sh3*g5 # 4...f2-f1=Q 5.Sh3*g5 # 4...f2-f1=R 5.Sh3*g5 # 4...h2-h1=S 5.Sh3*g5 # 4...d3-d2 5.Sh3*f2 # 4...Bf8-e7 5.Sh3*f2 # 4...Bf8-h6 5.Sh3*f2 # 3...Bf8-e7 4.Bd1-g4 threat: 5.Bg4-f5 # 4...e3*f2 5.Sh3*f2 # 3...Bf8-h6 4.Bd1-g4 threat: 5.Bg4-f5 # 4...e3*f2 5.Sh3*f2 # 2...Ke4-f5 3.Qc6*d5 + 3...Kf5*g6 4.Qd5-e6 + 4...Kg6-h7 5.Sh3*g5 # 2...Ke4*d3 3.Qc6*d5 threat: 4.Qd5-f5 # 4.Bd4-h8 # 4.Bd4-g7 # 4.Bd4-f6 # 4.Bd4-e5 # 4.Bd4*a7 # 4.Bd4-b6 # 4.Bd4-c5 # 4.Bd1-e2 # 3...h2-h1=Q 4.Bd1-e2 # 3...h2-h1=B 4.Bd1-e2 # 3...a3*b2 4.Bd4-h8 # 4.Bd4-g7 # 4.Bd4-f6 # 4.Bd4-e5 # 4.Bd4*a7 # 4.Bd4-b6 # 4.Bd4-c5 # 3...e3-e2 4.Qd5-f3 # 4.Qd5-f5 # 4.Bd4-g1 # 4.Bd4-f2 # 4.Bd4*a7 # 4.Bd4-b6 # 4.Bd4-c5 # 4.Sh3-f2 # 4.Bd1*e2 # 3...Sb7-c5 4.Bd4-h8 # 4.Bd4-g7 # 4.Bd4-f6 # 4.Bd4-e5 # 4.Bd4*c5 # 4.Bd1-e2 # 3...Rc7-c5 4.Bd4*c5 # 4.Bd1-e2 # 3...Bf8-g7 4.Qd5-f5 # 4.Bd4*g7 # 4.Bd4-f6 # 4.Bd4-e5 # 4.Bd1-e2 #" --- authors: - Loyd, Samuel source: The Illustrated London News source-id: 1220 date: 1867-07-13 algebraic: white: [Kb7, Rd1, Be1, Bb1, Sc2, Pe3, Pc3] black: [Kb5, Ba5, Pd6, Pc6, Pb3, Pa4, Pa3] stipulation: "#4" solution: | "1.Rd1-d5 + ! 1...Kb5-c4 2.Kb7*c6 threat: 3.Rd5-d4 # 3.Sc2*a3 # 2...b3-b2 3.Bb1-a2 # 2...b3*c2 3.Bb1-a2 # 2...Ba5*c3 3.Rd5-d4 + 3...Bc3*d4 4.Sc2*a3 # 2...Ba5-b4 3.Rd5-d4 # 2...Ba5-b6 3.Sc2*a3 # 1...c6-c5 2.Sc2*a3 # 1...c6*d5 2.Sc2-b4 threat: 3.Bb1-d3 + 3...Kb5-c5 4.Sb4-a6 #" --- authors: - Loyd, Samuel source: The Illustrated London News date: 1858-02-20 algebraic: white: [Kb7, Qd8, Rb1, Sd1] black: [Kc4, Ra3, Sb4, Sa1, Pa5, Pa4] stipulation: "#4" solution: | "1.Rb1*b4 + ! 1...Kc4-c5 2.Qd8-d4 # 1...Kc4*b4 2.Qd8-d4 + 2...Kb4-b5 3.Sd1-b2 threat: 4.Qd4-b6 # 4.Qd4-c4 # 3...Ra3-c3 4.Qd4-b6 # 2...Kb4-b3 3.Qd4-c3 + 3...Kb3-a2 4.Qc3-b2 # 1...a5*b4 2.Kb7-c6 threat: 3.Qd8-d5 # 2...Ra3-d3 3.Qd8-g8 + 3...Rd3-d5 4.Qg8*d5 # 3...Kc4-d4 4.Qg8-d5 # 2...b4-b3 3.Qd8-d5 + 3...Kc4-b4 4.Qd5-b5 # 4.Qd5-c5 # 2...Kc4-b3 3.Qd8-d2 zugzwang. 3...Sa1-c2 4.Qd2-d5 # 3...Ra3-a2 4.Qd2-d3 # 3...Kb3-c4 4.Qd2-d5 #" comments: - "also(?) in Porter's Spirit of the Times, 1 May 1858" --- authors: - Loyd, Samuel source: Porter's Spirit of the Times source-id: 21 date: 1859-04-16 algebraic: white: [Kb8, Qd7, Bh3, Sf3, Pg5, Pf5, Pd2, Pc6, Pa4] black: [Ke4, Pg4, Pf4] stipulation: "#4" solution: | "1.Bh3-g2 ! threat: 2.Qd7-d4 + 2...Ke4*f5 3.Qd4-d3 + 3...Kf5-e6 4.Qd3-d7 # 1...g4-g3 2.Qd7-b7 zugzwang. 2...Ke4-d3 3.Qb7-b1 + 3...Kd3-c4 4.Qb1-b5 # 3...Kd3-e2 4.Qb1-f1 # 2...Ke4-d5 3.Qb7-b4 zugzwang. 3...Kd5*c6 4.Sf3-e5 # 2...Ke4*f5 3.Qb7-h7 + 3...Kf5-e6 4.Qh7-d7 # 3...Kf5-g4 4.Qh7-h3 # 1...g4*f3 2.Bg2-h1 zugzwang. 2...Ke4-e5 3.Qd7-d3 zugzwang. 3...f3-f2 4.Qd3-d5 # 3.d2-d3 zugzwang. 3...f3-f2 4.Qd7-d5 # 4.d3-d4 #" --- authors: - Loyd, Samuel source: 5th American Chess Congress date: 1880 distinction: 3rd Prize, Set algebraic: white: [Kb8, Qf7, Bg6, Sg3, Sd5, Ph5, Ph3, Pa2] black: [Ke5, Bh1, Pg7, Pa4] stipulation: "#4" solution: | "1.Sg3-f5 ! zugzwang. 1...Bh1*d5 2.Qf7-a7 zugzwang. 2...a4-a3 3.Qa7-c5 zugzwang. 3...Ke5-e6 4.Qc5-e7 # 4.Qc5-d6 # 3...Ke5-e4 4.Qc5-e3 # 3...Ke5-f6 4.Qc5-e7 # 3...Ke5-f4 4.Qc5-e3 # 2...Bd5*a2 3.Qa7-d4 + 3...Ke5-e6 4.Qd4-d6 # 2...Bd5-b3 3.Qa7-d4 + 3...Ke5-e6 4.Qd4-d6 # 2...Bd5-c4 3.Qa7-d4 + 3...Ke5-e6 4.Qd4-d6 # 2...Bd5-h1 3.Qa7-d4 + 3...Ke5-e6 4.Qd4-d6 # 2...Bd5-g2 3.Qa7-d4 + 3...Ke5-e6 4.Qd4-d6 # 2...Bd5-f3 3.Qa7-d4 + 3...Ke5-e6 4.Qd4-d6 # 2...Bd5-e4 3.Qa7-c7 + 3...Ke5-e6 4.Qc7-d6 # 3...Ke5-d5 4.Bg6-f7 # 3...Ke5-f6 4.Qc7-e7 # 2...Bd5-g8 3.Qa7-d4 + 3...Ke5-e6 4.Qd4-d6 # 2...Bd5-f7 3.Qa7-d4 + 3...Ke5-e6 4.Qd4-d6 # 2...Bd5-e6 3.Qa7-d4 # 2...Bd5-a8 3.Qa7-d4 + 3...Ke5-e6 4.Qd4-d6 # 2...Bd5-b7 3.Qa7-d4 + 3...Ke5-e6 4.Qd4-d6 # 2...Bd5-c6 3.Qa7-d4 + 3...Ke5-e6 4.Qd4-d6 # 3.Qa7-e7 + 3...Ke5-d5 4.Bg6-f7 # 3...Ke5-f4 4.Qe7-e3 # 2...Ke5-e6 3.Qa7-e7 # 2...Ke5-e4 3.Qa7-e3 # 2...Ke5-f6 3.Qa7-e7 # 2...Ke5-f4 3.Qa7-e3 # 1...Bh1-e4 2.Qf7-c7 + 2...Ke5-e6 3.Qc7-d6 # 2...Ke5*d5 3.Bg6-f7 # 1...Bh1-f3 2.Qf7*g7 + 2...Ke5-e6 3.Sd5-f4 # 3.Sd5-c7 # 2...Ke5*d5 3.Qg7-d4 + 3...Kd5-c6 4.Bg6-e8 # 3...Kd5-e6 4.Qd4-d6 # 2...Ke5-e4 3.Qg7-d4 # 3.Sf5-e3 # 3.Sf5-e7 # 1...Bh1-g2 2.Qf7*g7 + 2...Ke5-e6 3.Sd5-f4 # 3.Sd5-c7 # 2...Ke5*d5 3.Qg7-d4 + 3...Kd5-c6 4.Bg6-e8 # 3...Kd5-e6 4.Qd4-d6 # 2...Ke5-e4 3.Qg7-d4 + 3...Ke4-f3 4.Qd4-e3 # 1...a4-a3 2.Qf7-a7 threat: 3.Qa7-d4 + 3...Ke5-e6 4.Sd5-f4 # 4.Sd5-c7 # 2...Bh1*d5 3.Qa7-c5 zugzwang. 3...Ke5-e6 4.Qc5-e7 # 4.Qc5-d6 # 3...Ke5-e4 4.Qc5-e3 # 3...Ke5-f6 4.Qc5-e7 # 3...Ke5-f4 4.Qc5-e3 # 2...Ke5-e6 3.Sd5-f4 + 3...Ke6-e5 4.Qa7-d4 # 3...Ke6-f6 4.Qa7-e7 # 2...Ke5-e4 3.Sd5-f4 threat: 4.Qa7-e3 # 3...Ke4-e5 4.Qa7-d4 # 1...Ke5-e4 2.Sf5-e3 + 2...Ke4-d4 3.Qf7-c7 threat: 4.Qc7-c3 # 3...Bh1*d5 4.Se3-c2 # 2...Ke4-e5 3.Qf7-c7 + 3...Ke5-e6 4.Qc7-e7 # 4.Bg6-f5 # 4.Bg6-f7 # 3...Ke5-d4 4.Qc7-c3 #" comments: - Dedicated to Frederick Perrin --- authors: - Loyd, Samuel source: Chicago Leader source-id: 23 date: 1859 algebraic: white: [Kc1, Qg1, Rb6, Ba8, Ph2, Pe2, Pd6] black: [Kc4, Ba7, Ph7, Ph5, Ph4, Ph3, Pd7, Pc3, Pc2] stipulation: "#5" solution: | "1.Ba8-h1 ! zugzwang. 1...Ba7*b6 2.Qg1*b6 threat: 3.Bh1-f3 zugzwang. 3...h7-h6 4.e2-e3 zugzwang. 4...Kc4-d3 5.Qb6-d4 # 3.Kc1*c2 zugzwang. 3...h7-h6 4.Qb6-a5 zugzwang. 4...Kc4-d4 5.Qa5*c3 # 2...h7-h6 3.e2-e4 zugzwang. 3...Kc4-d3 4.Bh1-f3 zugzwang. 4...Kd3-c4 5.Bf3-e2 # 1...Ba7-b8 2.Qg1-g5 threat: 3.Qg5-d5 # 2...Kc4-d4 3.Rb6-b4 # 1...h7-h6 2.e2-e4 zugzwang. 2...Kc4-d3 3.Bh1-f3 zugzwang. 3...Ba7*b6 4.Qg1*b6 zugzwang. 4...Kd3-c4 5.Bf3-e2 # 3...Kd3-c4 4.Bf3-e2 # 3...Ba7-b8 4.Rb6*b8 zugzwang. 4...Kd3-c4 5.Bf3-e2 # 2...Ba7*b6 3.Qg1*b6 zugzwang. 3...Kc4-d3 4.Bh1-f3 zugzwang. 4...Kd3-c4 5.Bf3-e2 # 2...Ba7-b8 3.Rb6*b8 zugzwang. 3...Kc4-d3 4.Bh1-f3 zugzwang. 4...Kd3-c4 5.Bf3-e2 # 3.Bh1-f3 threat: 4.Bf3-e2 # 3...Kc4-d3 4.Rb6*b8 zugzwang. 4...Kd3-c4 5.Bf3-e2 #" comments: - Dedicated to Louis Paulsen --- authors: - Loyd, Samuel source: Chess Monthly date: 1858-05 algebraic: white: - Ke1 - Qf8 - Rf1 - Ra1 - Bh8 - Ba8 - Sd1 - Sb1 - Ph5 - Ph4 - Pf4 - Pc5 - Pa7 - Pa6 - Pa3 - Pa2 black: - Kc1 - Qd8 - Rg1 - Rb8 - Bg8 - Bc8 - Sh1 - Se8 - Ph7 - Ph6 - Ph3 - Ph2 - Pf5 - Pc4 - Pa5 - Pa4 stipulation: "#4" solution: | "1.Sb1-c3 + ! 1...Rb8-b1 2.Ra1*b1 + 2...Kc1-c2 3.Rb1-b2 + 3...Kc2-c1 4.Sc3-e2 # 3...Kc2-d3 4.Rb2-d2 # 1...Kc1-c2 2.Sd1-e3 + 2...Kc2-b2 3.Sc3-d1 + 3...Kb2*a3 4.Se3-c2 # 3.Ra1-b1 + 3...Kb2*a3 4.Se3-c2 # 2...Kc2-d3 3.0-0-0 + 3...Kd3*e3 4.Rf1-f3 #" keywords: - Scaccografia comments: - The Arena --- authors: - Loyd, Samuel source: American Chess Journal source-id: 139 date: 1876-12 distinction: 1st Prize algebraic: white: [Kc1, Qc3, Rd1, Rb7, Bg1, Sf2, Sc2, Pf5] black: [Kc5, Qc4, Rf6, Rd4, Bb1, Sf1, Sc6, Pf3, Pe7, Pe4, Pd7, Pc7] stipulation: "#4" solution: | "1.Qc3*c4 + ! 1...Rd4*c4 2.Sf2*e4 # 1...Kc5*c4 2.Sc2-a3 + 2...Kc4-c5 3.Rb7-b5 + 3...Kc5-d6 4.Sa3-c4 # 2...Kc4-c3 3.Rd1-d3 + 3...Bb1*d3 4.Sf2-d1 # 3...Rd4*d3 4.Sf2*e4 # 3...e4*d3 4.Sf2-d1 # 2...Kc4-d5 3.Rb7-b5 + 3...Kd5-d6 4.Sa3-c4 # 1...Kc5-d6 2.Rb7-b5 threat: 3.Qc4-c5 # 3.Sf2*e4 # 2...Bb1*c2 3.Qc4-c5 # 2...Sf1-g3 3.Qc4-c5 # 2...Sf1-d2 3.Qc4-c5 # 2...Rd4*d1 + 3.Kc1-b2 threat: 4.Qc4-c5 # 4.Sf2*e4 # 3...Bb1*c2 4.Qc4-c5 # 3...Rd1-d5 4.Rb5*d5 # 4.Qc4*d5 # 3...Rd1-d4 4.Qc4-c5 # 3...Rd1-e1 4.Rb5-d5 # 4.Qc4-d5 # 4.Qc4-c5 # 3...Sf1-g3 4.Qc4-c5 # 3...Sf1-d2 4.Rb5-d5 # 4.Qc4-d5 # 4.Qc4-c5 # 3...Rf6*f5 4.Sf2*e4 # 3...Rf6-e6 4.Qc4-c5 # 3...e7-e5 4.Qc4-c5 # 3...e7-e6 4.Qc4-c5 # 2...Rd4-d5 3.Rb5*d5 # 3.Qc4*d5 # 3.Rd1*d5 # 2...Rf6*f5 3.Sf2*e4 # 2...Rf6-e6 3.Qc4-c5 # 2...e7-e5 3.Qc4-c5 # 2...e7-e6 3.Qc4-c5 #" keywords: - Letters comments: - With 184779, 190696, and 191786 are the last name letters of Henry E. Bird --- authors: - Loyd, Samuel source: La Stratégie date: 1879-11 algebraic: white: [Kc1, Qb7, Rf2, Rd5, Bh1, Pd2, Pb4] black: [Kd3, Bh7, Bh6, Pg4, Pe6, Pd4, Pc7, Pc4, Pb6, Pa7] stipulation: "#4" solution: | "1.Rd5-g5 ! threat: 2.Qb7-g2 threat: 3.Qg2-f1 # 3.Qg2-g3 # 2...c4-c3 3.Qg2-f1 # 2...Bh6*g5 3.Qg2-f1 # 2...Bh7-e4 3.Qg2-f1 # 3.Qg2*e4 # 2.Bh1-f3 threat: 3.Bf3-e2 # 2...g4*f3 3.Qb7*f3 # 2...c7-c6 3.Qb7*h7 # 2.Bh1-g2 threat: 3.Bg2-f1 # 2...c7-c6 3.Qb7*h7 # 1...c4-c3 2.Qb7-a6 + 2...b6-b5 3.Qa6*b5 # 1...e6-e5 2.Qb7-g2 threat: 3.Qg2-f1 # 3.Qg2-g3 # 2...c4-c3 3.Qg2-f1 # 2...e5-e4 3.Qg2-f1 # 2...Bh6*g5 3.Qg2-f1 # 2...Bh7-e4 3.Qg2-f1 # 3.Qg2*e4 # 1...Bh6*g5 2.Rf2-f4 threat: 3.Qb7-g2 threat: 4.Qg2-f1 # 2...c4-c3 3.Qb7-a6 + 3...b6-b5 4.Qa6*b5 # 2...c7-c6 3.Qb7*h7 + 3...Kd3-e2 4.Qh7-e4 # 1...Bh6-g7 2.Qb7-g2 threat: 3.Qg2-f1 # 3.Qg2-g3 # 2...c4-c3 3.Qg2-f1 # 2...Bg7-e5 3.Qg2-f1 # 2...Bh7-e4 3.Qg2-f1 # 3.Qg2*e4 # 1...Bh7-f5 2.Qb7-g2 threat: 3.Qg2-f1 # 3.Qg2-g3 # 2...c4-c3 3.Qg2-f1 # 2...Bf5-e4 3.Qg2-f1 # 3.Qg2*e4 # 2...Bh6*g5 3.Qg2-f1 # 1...Bh7-g6 2.Qb7-g2 threat: 3.Qg2-f1 # 3.Qg2-g3 # 2...c4-c3 3.Qg2-f1 # 2...Bg6-e4 3.Qg2-f1 # 3.Qg2*e4 # 2...Bh6*g5 3.Qg2-f1 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 112 date: 1858-09 algebraic: white: [Kc1, Qe7, Rg3, Sc5] black: [Kd4, Rb7, Sh5, Pe4, Pc7, Pc4, Pb5, Pa3] stipulation: "#4" solution: | "1.Qe7-g5 ! threat: 2.Sc5-e6 # 1...c4-c3 2.Kc1-c2 threat: 3.Sc5-b3 + 3...Kd4-c4 4.Qg5-c5 # 3.Sc5-e6 + 3...Kd4-c4 4.Qg5-c5 # 2...Kd4-c4 3.Sc5-a6 threat: 4.Qg5-c5 # 2...Sh5-f4 3.Sc5-b3 + 3...Kd4-c4 4.Qg5-c5 # 2...Sh5-g7 3.Sc5-b3 + 3...Kd4-c4 4.Qg5-c5 # 2...Rb7-b6 3.Sc5-b3 + 3...Kd4-c4 4.Qg5-c5 # 1...e4-e3 2.Rg3*e3 threat: 3.Qg5-e5 # 3.Sc5-e6 # 2...c4-c3 3.Re3-e4 # 2...Sh5-f4 3.Qg5-e5 # 2...Sh5-g7 3.Qg5-e5 # 2...Rb7-b6 3.Qg5-e5 # 1...Sh5-f4 2.Sc5-d7 threat: 3.Qg5-c5 # 3.Qg5-e5 # 2...c4-c3 3.Qg5-c5 # 2...e4-e3 3.Qg5-e5 + 3...Kd4-d3 4.Qe5*e3 # 4.Rg3*e3 # 2...Sf4-d3 + 3.Rg3*d3 + 3...c4*d3 4.Qg5-c5 # 3...Kd4*d3 4.Qg5-d2 # 3...e4*d3 4.Qg5-e5 # 2...Sf4-e2 + 3.Kc1-c2 threat: 4.Qg5-d2 # 4.Qg5-c5 # 4.Qg5-e5 # 3...Se2-c1 4.Qg5-c5 # 4.Qg5-e5 # 3...Se2*g3 4.Qg5-d2 # 4.Qg5-c5 # 3...Se2-f4 4.Qg5-c5 # 4.Qg5-e5 # 3...c4-c3 4.Qg5-c5 # 3...e4-e3 4.Qg5-e5 # 2...Sf4-g6 3.Qg5-d2 # 3.Qg5-c5 # 2...Sf4-e6 3.Qg5-d2 # 3.Qg5-e5 # 2...Sf4-d5 3.Qg5-e5 # 3.Qg5-d2 # 1...Sh5*g3 2.Sc5-e6 + 2...Kd4-d3 3.Qg5-d2 # 2...Kd4-c3 3.Qg5-d2 + 3...Kc3-b3 4.Se6-c5 # 1...Sh5-g7 2.Sc5-d7 threat: 3.Qg5-d2 # 3.Qg5-c5 # 3.Qg5-e5 # 2...c4-c3 3.Qg5-c5 # 2...e4-e3 3.Qg5-e5 + 3...Kd4-d3 4.Qe5*e3 # 4.Rg3*e3 # 2...Sg7-e6 3.Qg5-d2 # 3.Qg5-e5 # 2...Sg7-f5 3.Qg5-d2 # 1...Rb7-b6 2.Sc5-d7 threat: 3.Qg5-d2 # 3.Qg5-c5 # 3.Qg5-e5 # 2...c4-c3 3.Qg5-c5 # 2...e4-e3 3.Qg5-e5 + 3...Kd4-d3 4.Qe5*e3 # 4.Rg3*e3 # 3.Rg3*e3 threat: 4.Qg5-c5 # 4.Qg5-e5 # 3...c4-c3 4.Qg5-c5 # 3...Rb6-e6 4.Qg5-c5 # 3...Rb6-c6 4.Qg5-e5 # 2...Sh5-f4 3.Qg5-c5 # 3.Qg5-e5 # 2...Sh5*g3 3.Qg5-d2 # 2...Rb6-e6 3.Qg5-d2 # 3.Qg5-c5 # 2...Rb6-c6 3.Qg5-d2 # 3.Qg5-e5 #" --- authors: - Loyd, Samuel source: Lynn News date: 1859 algebraic: white: [Kc1, Bh3, Bc5, Se4, Se1, Pf3, Pc4, Pb3] black: [Ke3, Sh1, Sd4, Pe2, Pc2] stipulation: "#4" solution: | "1. Bb6! waiting 1. ... Kf4 2. Bxd4 [3. Bg4 [4. Sd3, Sg2#] 3. ... Sf2 4. Sg2#] 2. ... Sg3 3. Sd3+ 3. ... Kxf3 4. Sg5/d2# 2. ... Sg3 3. Sg2+ 3. ... Kxf3 4. Sg5/d2# 2. ... Sf2 3. Bxf2 waiting 3. ... Ke5 4. Sd3# 1. ... Sg3 2. Sg2+ 2. ... Kd3 3. Sc5+ 3. ... Kc3 4. Ba5# 2. ... Kxf3 3. Sd2+ 3. ... Kf2 4. Bxd4# 1. ... Sf2 2. Sg2+ 2. ... Kd3 3. Sc5+ 3. ... Kc3 4. Ba5# 2. ... Kxf3 3. Sg5+ 3. ... Kg3 4. Bc7#" --- authors: - Loyd, Samuel source: Saturday Courier source-id: 50v date: 1856-03 algebraic: white: [Kc1, Bh3, Bc3, Sf6, Sc8, Ph5, Pe3, Pd6, Pc5, Pb7] black: [Kg5, Ph6, Ph4, Pf7, Pb4] stipulation: "#4" solution: | "1.Bc3-a1 ! zugzwang. 1...b4-b3 2.b7-b8=R zugzwang. 2...b3-b2 + 3.Rb8*b2 threat: 4.Rb2-g2 #" --- authors: - Loyd, Samuel source: Philadelphia Evening Journal date: 1860-11-03 algebraic: white: [Kc3, Qf5, Bf1, Se4] black: [Ke3, Bb1, Pg7, Pf4] stipulation: "#4" solution: | "1.Qf5-h5 ! threat: 2.Qh5-e2 # 1...Bb1-d3 2.Bf1*d3 threat: 3.Qh5-e2 # 2...f4-f3 3.Qh5-g5 # 1...Ke3*e4 2.Bf1-c4 threat: 3.Bc4-d5 + 3...Ke4-e3 4.Qh5-f3 # 2...Bb1-a2 3.Bc4-d3 + 3...Ke4-e3 4.Qh5-e2 # 2...f4-f3 3.Qh5-g5 threat: 4.Bc4-d5 # 3...Bb1-a2 4.Bc4-d3 # 2...g7-g5 3.Qh5-e2 + 3...Ke4-f5 4.Qe2-e6 # 1...f4-f3 2.Qh5-g5 + 2...Ke3*e4 3.Bf1-a6 threat: 4.Ba6-b7 # 3...Bb1-a2 4.Ba6-d3 # 3.Bf1-b5 threat: 4.Bb5-c6 # 3...Bb1-a2 4.Bb5-d3 # 3.Bf1-c4 threat: 4.Bc4-d5 # 3...Bb1-a2 4.Bc4-d3 #" --- authors: - Loyd, Samuel source: The Illustrated London News source-id: 1250 date: 1868-02-08 algebraic: white: [Kc5, Qf2, Bf5, Pe3, Pd4, Pb3, Pa2] black: [Ka5, Rg1, Sf1, Pg7, Pd5, Pb4, Pa7, Pa3] stipulation: "#4" solution: | "1.Qf2-b2 ! threat: 2.Qb2-c3 threat: 3.Qc3*b4 + 3...Ka5-a6 4.Bf5-d3 # 4.Bf5-c8 # 4.Qb4-b5 # 2...b4*c3 3.b3-b4 + 3...Ka5-a6 4.Bf5-c8 # 3...Ka5-a4 4.Bf5-c2 # 4.Bf5-d7 # 2.Qb2*a3 + 2...b4*a3 3.b3-b4 + 3...Ka5-a6 4.Bf5-c8 # 3...Ka5-a4 4.Bf5-c2 # 4.Bf5-d7 # 1...Sf1-h2 2.Qb2*a3 + 2...b4*a3 3.b3-b4 + 3...Ka5-a6 4.Bf5-c8 # 3...Ka5-a4 4.Bf5-c2 # 4.Bf5-d7 # 1...Sf1-g3 2.Qb2*a3 + 2...b4*a3 3.b3-b4 + 3...Ka5-a6 4.Bf5-c8 # 3...Ka5-a4 4.Bf5-c2 # 4.Bf5-d7 # 1...Sf1*e3 2.Qb2*a3 + 2...b4*a3 3.b3-b4 + 3...Ka5-a6 4.Bf5-c8 # 3...Ka5-a4 4.Bf5-d7 # 1...Sf1-d2 2.Qb2*a3 + 2...b4*a3 3.b3-b4 + 3...Ka5-a6 4.Bf5-c8 # 3...Ka5-a4 4.Bf5-d7 # 1...Rg1-g6 2.Qb2*a3 + 2...b4*a3 3.b3-b4 + 3...Ka5-a6 4.Bf5-c8 # 3...Ka5-a4 4.Bf5-c2 # 1...Rg1-g4 2.Qb2*a3 + 2...b4*a3 3.b3-b4 + 3...Ka5-a6 4.Bf5-c8 # 3...Ka5-a4 4.Bf5-c2 # 4.Bf5-d7 # 1...Rg1-g2 2.Qb2*a3 + 2...b4*a3 3.b3-b4 + 3...Ka5-a6 4.Bf5-c8 # 3...Ka5-a4 4.Bf5-d7 # 1...a3*b2 2.a2-a3 threat: 3.a3*b4 + 3...Ka5-a6 4.Bf5-c8 # 2...b4*a3 3.b3-b4 + 3...Ka5-a6 4.Bf5-c8 # 3...Ka5-a4 4.Bf5-c2 # 2...Ka5-a6 3.Bf5-c8 + 3...Ka6-a5 4.a3*b4 # 1...Ka5-a6 2.Bf5-c8 + 2...Ka6-a5 3.Qb2-e2 threat: 4.Qe2-a6 # 4.Qe2-b5 # 3...Rg1-g6 4.Qe2-b5 # 3...a7-a6 4.Qe2*a6 #" --- authors: - Loyd, Samuel source: New Orleans Times-Democrat date: 1896 algebraic: white: [Kc5, Qh3, Be6] black: [Ka6, Ra1, Pc4, Pb4, Pb5, Pf7, Pa7] stipulation: "#4" solution: | "1.Qh3-h2 ! threat: 2.Qh2-b8 threat: 3.Qb8*b5 # 2...Ra1-a5 3.Qb8-c8 # 3.Be6-c8 # 1...Ra1-h1 2.Be6-c8 + 2...Ka6-a5 3.Qh2-a2 # 1...Ra1-g1 2.Be6-c8 + 2...Ka6-a5 3.Qh2-a2 # 1...Ra1-f1 2.Be6-c8 + 2...Ka6-a5 3.Qh2-a2 # 1...Ra1-e1 2.Be6-c8 + 2...Ka6-a5 3.Qh2-a2 # 1...Ra1-d1 2.Be6-c8 + 2...Ka6-a5 3.Qh2-a2 # 1...Ka6-a5 2.Be6*c4 threat: 3.Qh2-c7 + 3...Ka5-a6 4.Bc4*b5 # 3...Ka5-a4 4.Qc7*a7 # 2...Ka5-a6 3.Qh2-b8 threat: 4.Qb8*b5 # 3...Ra1-a5 4.Qb8-c8 # 2...Ka5-a4 3.Qh2-b2 threat: 4.Qb2*a1 # 4.Qb2*b4 # 3...Ra1-a3 4.Qb2*b4 # 3...Ra1-a2 4.Qb2*a2 # 4.Qb2*b4 # 3...Ra1-h1 4.Qb2-a2 # 4.Qb2*b4 # 3...Ra1-g1 4.Qb2-a2 # 4.Qb2*b4 # 3...Ra1-f1 4.Qb2-a2 # 4.Qb2*b4 # 3...Ra1-e1 4.Qb2-a2 # 4.Qb2*b4 # 3...Ra1-d1 4.Qb2-a2 # 4.Qb2*b4 # 3...Ra1-c1 4.Qb2-a2 # 4.Qb2*b4 # 3...Ra1-b1 4.Qb2-a2 # 3...Ka4-a5 4.Qb2*a1 # 3...b4-b3 4.Qb2*a1 # 3...b5*c4 4.Qb2*b4 # 3...a7-a5 4.Bc4-b3 # 4.Bc4*b5 # 4.Qb2*a1 # 4.Qb2-b3 # 2...b5*c4 3.Qh2-b8 threat: 4.Qb8*a7 # 4.Qb8-b5 # 3...Ka5-a6 4.Qb8-b5 # 3...Ka5-a4 4.Qb8*b4 # 3...a7-a6 4.Qb8*b4 # 2...a7-a6 3.Qh2-d2 threat: 4.Qd2*b4 # 3...Ra1-a4 4.Qd2-d8 # 3...Ra1-b1 4.Qd2-a2 # 1...Ka6-b7 2.Qh2-g2 + 2...Kb7-c7 3.Qg2-c6 + 3...Kc7-b8 4.Qc6-c8 # 3...Kc7-d8 4.Qc6-d7 # 2...Kb7-b8 3.Qg2-g8 + 3...Kb8-b7 4.Qg8-c8 # 3...Kb8-c7 4.Qg8-c8 # 2...Kb7-a6 3.Qg2-c6 + 3...Ka6-a5 4.Qc6*b5 #" --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper source-id: 61 date: 1857-02-07 algebraic: white: [Kc5, Rc4, Bd4, Sf2, Ph2] black: [Kg1, Pg3, Pg2] stipulation: "#4" solution: | "1.Sf2-h3 + ! 1...Kg1*h2 2.Sh3-g1 threat: 3.Bd4-e3 threat: 4.Rc4-h4 # 1...Kg1-h1 2.Bd4-g1 threat: 3.Rc4-c1 zugzwang. 3...g3*h2 4.Sh3-f2 # 2...g3*h2 3.Rc4-h4 zugzwang. 3...h2*g1=Q + 4.Sh3-f2 # 3...h2*g1=S 4.Sh3-f2 # 3...h2*g1=R 4.Sh3-f2 # 4.Sh3-g5 # 4.Sh3-f4 # 3...h2*g1=B + 4.Sh3-f2 # 1...Kg1-f1 2.Sh3-g1 threat: 3.Rc4-c1 # 2...Kf1-e1 3.Bd4-e3 threat: 4.Rc4-c1 # 2.Sh3-f4 threat: 3.Rc4-c1 # 2...Kf1-e1 3.Bd4-e3 threat: 4.Rc4-c1 #" keywords: - Letters --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper source-id: 38 date: 1856-08-30 algebraic: white: [Kc6, Qc2, Be7, Be4, Sf3] black: [Ke3, Bf5, Sh3] stipulation: "#4" solution: | "1.Qc2-d2 + ! 1...Ke3*e4 2.Sf3-g5 + 2...Sh3*g5 3.Qd2-e2 + 3...Ke4-f4 4.Be7-d6 # 3...Ke4-d4 4.Be7-f6 # 2...Ke4-e5 3.Qd2-d6 #" --- authors: - Loyd, Samuel source: The New York Albion date: 1858-08-02 distinction: 2nd Prize, set algebraic: white: [Kc8, Qd7, Sf5, Ph7, Ph5, Pd3] black: [Ke5, Ph4, Pg7, Pg6, Pf6] stipulation: "#4" solution: | "1.Qd7-a4 ! threat: 2.Qa4-e4 # 1...Ke5*f5 2.h7-h8=S threat: 3.Sh8-f7 threat: 4.Qa4-e4 # 3...Kf5-e6 4.Qa4-d7 # 2...Kf5-e6 3.Qa4-d7 + 3...Ke6-e5 4.Sh8*g6 # 2...g6*h5 3.Qa4-e4 + 3...Kf5-g5 4.Sh8-f7 # 1...Ke5-e6 2.Qa4-e4 + 2...Ke6-f7 3.Qe4-e7 # 1...Ke5-d5 2.Qa4-c4 + 2...Kd5-e5 3.Qc4-e4 # 1...g6*f5 2.Kc8-d7 threat: 3.Qa4-b4 threat: 4.Qb4-d6 # 3...f5-f4 4.Qb4-c5 # 4.Qb4-e4 #" --- authors: - Loyd, Samuel source: The Albion (New York) source-id: 398v date: 1856-08-16 algebraic: white: [Kc8, Bh4, Se4, Sd6, Pd3, Pc4] black: [Ke5, Pd4] stipulation: "#5" solution: | "1.Bh4-g5 ! zugzwang. 1...Ke5-e6 2.Kc8-b7 zugzwang. 2...Ke6-e5 3.Se4-c5 zugzwang. 3...Ke5*d6 4.Bg5-f6 zugzwang. 4...Kd6*c5 5.Bf6-e7 # 2...Ke6-d7 3.Se4-c5 + 3...Kd7*d6 4.Bg5-f6 zugzwang. 4...Kd6*c5 5.Bf6-e7 #" --- authors: - Loyd, Samuel source: Chess Monthly source-id: 36 date: 1857-08 algebraic: white: [Kd1, Bd2, Pf3, Pe3, Pd4, Pc3, Pb4, Pb3] black: [Kd3, Pd7, Pa6] stipulation: "#7" solution: | "1.Pb4-b5! Pa6*b5 2.Pd4-d5 Pd7-d6 3.Pe3-e4 Pb5-b4 4.Pc3*b4 Kd3-d4 5.Kd1-e2 Kd4-e5 6.Bd2-g5 Ke5-d4 7.Bg5-f6#" --- authors: - Loyd, Samuel source: The Chicago Leader source-id: 14 date: 1859 algebraic: white: [Kd1, Be6, Se2, Sc3, Ph5, Pb3, Pa2] black: [Kd3, Ra3, Ba6, Sg8, Se7, Pg4, Pe4, Pe3, Pb5] stipulation: "#4" solution: | "1.Be6-c8 ! threat: 2.Bc8*a6 threat: 3.Ba6*b5 # 2...Ra3*a6 3.Sc3*b5 threat: 4.Se2-c1 # 4.Se2-f4 # 3...Ra6-f6 4.Se2-c1 # 3...Ra6-c6 4.Se2-f4 # 3...Se7-d5 4.Se2-c1 # 3...Se7-g6 4.Se2-c1 # 2...Ra3-a5 3.Sc3*b5 threat: 4.Se2-c1 # 4.Se2-f4 # 3...Ra5*b5 4.Ba6*b5 # 3...Se7-d5 4.Se2-c1 # 3...Se7-g6 4.Se2-c1 # 2...Ra3-a4 3.Ba6*b5 + 3...Ra4-c4 4.Bb5*c4 # 3.Sc3*b5 threat: 4.Se2-c1 # 4.Se2-f4 # 3...Ra4-c4 4.Se2-f4 # 3...Se7-d5 4.Se2-c1 # 3...Se7-g6 4.Se2-c1 # 3.Sc3*a4 threat: 4.Ba6*b5 # 4.Sa4-b2 # 4.Sa4-c5 # 2...Ra3*b3 3.a2*b3 threat: 4.Ba6*b5 # 1...Ra3*b3 2.a2*b3 threat: 3.Bc8*a6 threat: 4.Ba6*b5 # 3.Sc3-a2 threat: 4.Sa2-c1 # 4.Sa2-b4 # 3...Se7-c6 4.Sa2-c1 # 3...Se7-d5 4.Sa2-c1 # 3.Sc3-a4 threat: 4.Sa4-b2 # 4.Sa4-c5 # 3...b5*a4 4.Bc8*a6 # 2...Ba6*c8 3.Sc3-a2 threat: 4.Sa2-c1 # 4.Sa2-b4 # 3...Se7-c6 4.Sa2-c1 # 3...Se7-d5 4.Sa2-c1 # 3.Sc3*b5 threat: 4.Se2-c1 # 4.Se2-f4 # 3...Se7-d5 4.Se2-c1 # 3...Se7-g6 4.Se2-c1 # 2...Ba6-b7 3.Sc3-a2 threat: 4.Sa2-c1 # 4.Sa2-b4 # 3...Se7-c6 4.Sa2-c1 # 3...Se7-d5 4.Sa2-c1 # 3.Sc3*b5 threat: 4.Se2-c1 # 4.Se2-f4 # 3...Se7-d5 4.Se2-c1 # 3...Se7-g6 4.Se2-c1 # 2...Se7-c6 3.Sc3-a2 threat: 4.Sa2-c1 # 3.Sc3-d5 threat: 4.Sd5-f4 # 3.Sc3-a4 threat: 4.Sa4-b2 # 4.Sa4-c5 # 3...b5*a4 4.Bc8*a6 # 2...Se7-d5 3.Sc3*d5 threat: 4.Sd5-b4 # 4.Sd5-f4 # 2...Se7-f5 3.Sc3-a2 threat: 4.Sa2-c1 # 4.Sa2-b4 # 3.Sc3-d5 threat: 4.Sd5-b4 # 4.Sd5-f4 # 3.Sc3-a4 threat: 4.Sa4-b2 # 4.Sa4-c5 # 3...b5*a4 4.Bc8*a6 # 2...Se7-g6 3.Sc3-a2 threat: 4.Sa2-c1 # 4.Sa2-b4 # 3.Sc3-d5 threat: 4.Sd5-b4 # 3.Sc3-a4 threat: 4.Sa4-b2 # 4.Sa4-c5 # 3...b5*a4 4.Bc8*a6 # 2...Se7*c8 3.Sc3-a2 threat: 4.Sa2-c1 # 4.Sa2-b4 # 3.Sc3-d5 threat: 4.Sd5-b4 # 4.Sd5-f4 # 1...Ba6*c8 2.Sc3*b5 threat: 3.Se2-c1 # 3.Se2-f4 # 2...Ra3*b3 3.a2*b3 threat: 4.Se2-c1 # 4.Se2-f4 # 3...Se7-d5 4.Se2-c1 # 3...Se7-g6 4.Se2-c1 # 2...Se7-d5 3.Se2-c1 # 2...Se7-g6 3.Se2-c1 # 1...Ba6-b7 2.Sc3*b5 threat: 3.Se2-c1 # 3.Se2-f4 # 2...Ra3*b3 3.a2*b3 threat: 4.Se2-c1 # 4.Se2-f4 # 3...Se7-d5 4.Se2-c1 # 3...Se7-g6 4.Se2-c1 # 2...Se7-d5 3.Se2-c1 # 2...Se7-g6 3.Se2-c1 # 1...Se7-c6 2.Sc3-d5 threat: 3.Sd5-f4 # 2...Ra3*b3 3.a2*b3 threat: 4.Sd5-f4 # 1...Se7-d5 2.Sc3*d5 threat: 3.Sd5-b4 # 3.Sd5-f4 # 2...Ra3-a4 3.Sd5-f4 # 2...Ra3*b3 3.a2*b3 threat: 4.Sd5-b4 # 4.Sd5-f4 # 1...Se7-f5 2.Sc3-d5 threat: 3.Sd5-b4 # 3.Sd5-f4 # 2...Ra3-a4 3.Sd5-f4 # 2...Ra3*b3 3.a2*b3 threat: 4.Sd5-b4 # 4.Sd5-f4 # 1...Se7-g6 2.Sc3-d5 threat: 3.Sd5-b4 # 2...Ra3-a4 3.h5*g6 threat: 4.Sd5-f4 # 2...Ra3*b3 3.a2*b3 threat: 4.Sd5-b4 # 1...Se7*c8 2.Sc3-d5 threat: 3.Sd5-b4 # 3.Sd5-f4 # 2...Ra3-a4 3.Sd5-f4 # 2...Ra3*b3 3.a2*b3 threat: 4.Sd5-b4 # 4.Sd5-f4 #" --- authors: - Loyd, Samuel source: Porter's Spirit of the Times source-id: 31 date: 1857-04-04 algebraic: white: [Kd1, Qg5, Rf6, Bg1, Bd5, Sh6, Sd2, Pd4] black: [Ke3, Rh4, Rc3, Bg8, Bb6, Sh2, Sc2, Ph3, Pg6, Pf7, Pf4, Pf2, Pd6, Pd3, Pb4] stipulation: "#4" solution: | "1.Bd5-h1 ! threat: 2.Bg1*f2 + 2...Ke3*f2 3.Qg5-g3 + 3...Kf2*g3 4.Sd2-e4 # 1...Sh2-f3 2.Sd2-f1 + 2...Ke3-e4 3.Bh1*f3 + 3...Ke4*d4 4.Qg5-d5 # 3...Ke4*f3 4.Qg5-d5 # 2...Ke3*d4 3.Rf6*d6 + 3...Kd4-e4 4.Qg5-d5 # 4.Qg5-e7 # 3...Kd4-c4 4.Qg5-d5 #" --- authors: - Loyd, Samuel source: Scientific American date: 1877 algebraic: white: [Kd1, Qe2, Be5, Se3, Sd5] black: [Ke4, Rf1, Se1, Pf5] stipulation: "#4" solution: | "1.Se3*f5 + ! 1...Ke4*d5 2.Qe2-b5 + 2...Kd5-e6 3.Sf5-g7 + 3...Ke6-e7 4.Qb5-e8 # 3...Ke6-f7 4.Qb5-e8 # 2...Kd5-e4 3.Sf5-g3 + 3...Ke4-e3 4.Qb5-e2 # 3...Ke4-f3 4.Qb5-e2 # 3.Sf5-d6 + 3...Ke4-e3 4.Qb5-e2 # 3...Ke4-f3 4.Qb5-e2 # 1...Ke4*f5 2.Qe2-h5 + 2...Kf5-e6 3.Sd5-c7 + 3...Ke6-e7 4.Qh5-e8 # 3...Ke6-d7 4.Qh5-e8 # 2...Kf5-e4 3.Sd5-c3 + 3...Ke4-e3 4.Qh5-e2 # 3...Ke4-d3 4.Qh5-e2 # 1.Qe2*f1 ! threat: 2.Qf1*f5 # 1...Se1-f3 2.Be5-a1 threat: 3.Qf1-g2 threat: 4.Qg2-c2 # 2...Sf3-h4 3.Qf1-c4 + 3...Ke4-f3 4.Qc4-f4 # 3.Qf1-f4 + 3...Ke4-d3 4.Sd5-b4 # 4.Qf4-c4 # 4.Qf4-d4 # 3.Kd1-c2 threat: 4.Qf1-f4 # 3...Sh4-f3 4.Qf1-d3 # 3...Sh4-g2 4.Qf1*g2 # 4.Qf1*f5 # 3...Sh4-g6 4.Qf1-g2 # 4.Qf1*f5 # 4.Qf1-h1 # 3.Kd1-e2 threat: 4.Qf1-f4 # 4.Sd5-f6 # 4.Qf1-b1 # 3...Sh4-f3 4.Qf1-b1 # 4.Qf1*f3 # 3...Sh4-g2 4.Sd5-f6 # 4.Qf1*g2 # 4.Qf1-b1 # 4.Qf1*f5 # 4.Qf1-f3 # 3...Sh4-g6 4.Sd5-f6 # 4.Qf1-g2 # 4.Qf1-b1 # 4.Qf1*f5 # 4.Qf1-f3 # 4.Qf1-h1 # 2...Sf3-d4 3.Qf1-f4 + 3...Ke4-d3 4.Sd5-b4 # 4.Qf4*d4 # 2...f5-f4 3.Sd5-f6 + 3...Ke4*e3 4.Qf1-e2 # 2.Be5-b2 threat: 3.Qf1-g2 threat: 4.Qg2-c2 # 2...Sf3-h4 3.Qf1-c4 + 3...Ke4-f3 4.Qc4-f4 # 3.Qf1-f4 + 3...Ke4-d3 4.Sd5-b4 # 4.Qf4-c4 # 4.Qf4-d4 # 3.Kd1-c2 threat: 4.Qf1-f4 # 3...Sh4-f3 4.Qf1-d3 # 3...Sh4-g2 4.Qf1*g2 # 4.Qf1*f5 # 3...Sh4-g6 4.Qf1-g2 # 4.Qf1*f5 # 4.Qf1-h1 # 3.Kd1-e2 threat: 4.Qf1-f4 # 4.Sd5-f6 # 4.Qf1-b1 # 3...Sh4-f3 4.Qf1-b1 # 4.Qf1*f3 # 3...Sh4-g2 4.Sd5-f6 # 4.Qf1*g2 # 4.Qf1-b1 # 4.Qf1*f5 # 4.Qf1-f3 # 3...Sh4-g6 4.Sd5-f6 # 4.Qf1-g2 # 4.Qf1-b1 # 4.Qf1*f5 # 4.Qf1-f3 # 4.Qf1-h1 # 2...Sf3-d4 3.Qf1-f4 + 3...Ke4-d3 4.Sd5-b4 # 4.Qf4*d4 # 2...f5-f4 3.Sd5-f6 + 3...Ke4*e3 4.Qf1-e2 # 2.Be5-c3 threat: 3.Qf1-g2 threat: 4.Qg2-c2 # 2...Sf3-h4 3.Qf1-c4 + 3...Ke4-f3 4.Qc4-f4 # 3.Qf1-f4 + 3...Ke4-d3 4.Qf4-c4 # 4.Qf4-d4 # 3.Kd1-c2 threat: 4.Qf1-f4 # 3...Sh4-f3 4.Qf1-d3 # 3...Sh4-g2 4.Qf1*g2 # 4.Qf1*f5 # 3...Sh4-g6 4.Qf1-g2 # 4.Qf1*f5 # 4.Qf1-h1 # 3.Kd1-e2 threat: 4.Qf1-f4 # 4.Sd5-f6 # 4.Qf1-b1 # 3...Sh4-f3 4.Qf1-b1 # 4.Qf1*f3 # 3...Sh4-g2 4.Sd5-f6 # 4.Qf1*g2 # 4.Qf1-b1 # 4.Qf1*f5 # 4.Qf1-f3 # 3...Sh4-g6 4.Sd5-f6 # 4.Qf1-g2 # 4.Qf1-b1 # 4.Qf1*f5 # 4.Qf1-f3 # 4.Qf1-h1 # 2...Sf3-d4 3.Qf1-f4 + 3...Ke4-d3 4.Qf4*d4 # 2...f5-f4 3.Sd5-f6 + 3...Ke4*e3 4.Qf1-e2 # 2.Be5-h8 threat: 3.Qf1-g2 threat: 4.Qg2-c2 # 2...Sf3-h4 3.Qf1-c4 + 3...Ke4-f3 4.Qc4-f4 # 3.Qf1-f4 + 3...Ke4-d3 4.Sd5-b4 # 4.Qf4-c4 # 4.Qf4-d4 # 3.Kd1-c2 threat: 4.Qf1-f4 # 3...Sh4-f3 4.Qf1-d3 # 3...Sh4-g2 4.Qf1*g2 # 4.Qf1*f5 # 3...Sh4-g6 4.Qf1-g2 # 4.Qf1*f5 # 4.Qf1-h1 # 3.Kd1-e2 threat: 4.Qf1-f4 # 4.Sd5-c3 # 4.Qf1-b1 # 3...Sh4-f3 4.Qf1-b1 # 4.Qf1*f3 # 3...Sh4-g2 4.Sd5-c3 # 4.Qf1*g2 # 4.Qf1-b1 # 4.Qf1*f5 # 4.Qf1-f3 # 3...Sh4-g6 4.Sd5-c3 # 4.Qf1-g2 # 4.Qf1-b1 # 4.Qf1*f5 # 4.Qf1-f3 # 4.Qf1-h1 # 2...Sf3-e5 3.Kd1-c2 threat: 4.Qf1-f4 # 3...Ke4-d4 4.Qf1-c4 # 3...Se5-d3 4.Qf1-g2 # 4.Qf1*f5 # 4.Qf1-h1 # 3...Se5-f3 4.Qf1-d3 # 3...Se5-g6 4.Qf1-g2 # 4.Qf1*f5 # 4.Qf1-h1 # 2...Sf3-d4 3.Qf1-f4 + 3...Ke4-d3 4.Qf4*d4 # 2...f5-f4 3.Sd5-c3 + 3...Ke4*e3 4.Qf1-e2 # 2.Be5-g7 threat: 3.Qf1-g2 threat: 4.Qg2-c2 # 2...Sf3-h4 3.Qf1-c4 + 3...Ke4-f3 4.Qc4-f4 # 3.Qf1-f4 + 3...Ke4-d3 4.Sd5-b4 # 4.Qf4-c4 # 4.Qf4-d4 # 3.Kd1-c2 threat: 4.Qf1-f4 # 3...Sh4-f3 4.Qf1-d3 # 3...Sh4-g2 4.Qf1*g2 # 4.Qf1*f5 # 3...Sh4-g6 4.Qf1-g2 # 4.Qf1*f5 # 4.Qf1-h1 # 3.Kd1-e2 threat: 4.Qf1-f4 # 4.Sd5-c3 # 4.Qf1-b1 # 3...Sh4-f3 4.Qf1-b1 # 4.Qf1*f3 # 3...Sh4-g2 4.Sd5-c3 # 4.Qf1*g2 # 4.Qf1-b1 # 4.Qf1*f5 # 4.Qf1-f3 # 3...Sh4-g6 4.Sd5-c3 # 4.Qf1-g2 # 4.Qf1-b1 # 4.Qf1*f5 # 4.Qf1-f3 # 4.Qf1-h1 # 2...Sf3-e5 3.Kd1-c2 threat: 4.Qf1-f4 # 3...Ke4-d4 4.Qf1-c4 # 3...Se5-d3 4.Qf1-g2 # 4.Qf1*f5 # 4.Qf1-h1 # 3...Se5-f3 4.Qf1-d3 # 3...Se5-g6 4.Qf1-g2 # 4.Qf1*f5 # 4.Qf1-h1 # 2...Sf3-d4 3.Qf1-f4 + 3...Ke4-d3 4.Qf4*d4 # 2...f5-f4 3.Sd5-c3 + 3...Ke4*e3 4.Qf1-e2 # 2.Be5-f6 threat: 3.Qf1-g2 threat: 4.Qg2-c2 # 2...Sf3-h4 3.Qf1-c4 + 3...Ke4-f3 4.Qc4-f4 # 3.Qf1-f4 + 3...Ke4-d3 4.Sd5-b4 # 4.Qf4-c4 # 4.Qf4-d4 # 3.Kd1-c2 threat: 4.Qf1-f4 # 3...Sh4-f3 4.Qf1-d3 # 3...Sh4-g2 4.Qf1*g2 # 4.Qf1*f5 # 3...Sh4-g6 4.Qf1-g2 # 4.Qf1*f5 # 4.Qf1-h1 # 3.Kd1-e2 threat: 4.Qf1-f4 # 4.Sd5-c3 # 4.Qf1-b1 # 3...Sh4-f3 4.Qf1-b1 # 4.Qf1*f3 # 3...Sh4-g2 4.Sd5-c3 # 4.Qf1*g2 # 4.Qf1-b1 # 4.Qf1*f5 # 4.Qf1-f3 # 3...Sh4-g6 4.Sd5-c3 # 4.Qf1-g2 # 4.Qf1-b1 # 4.Qf1*f5 # 4.Qf1-f3 # 4.Qf1-h1 # 2...Sf3-e5 3.Kd1-c2 threat: 4.Qf1-f4 # 3...Ke4-d4 4.Qf1-c4 # 3...Se5-d3 4.Qf1-g2 # 4.Qf1*f5 # 4.Qf1-h1 # 3...Se5-f3 4.Qf1-d3 # 3...Se5-g6 4.Qf1-g2 # 4.Qf1*f5 # 4.Qf1-h1 # 2...Sf3-d4 3.Qf1-f4 + 3...Ke4-d3 4.Qf4*d4 # 2...f5-f4 3.Sd5-c3 + 3...Ke4*e3 4.Qf1-e2 # 1...Ke4*e5 2.Qf1-f4 + 2...Ke5-e6 3.Qf4-c7 threat: 4.Qc7-e7 # 1...f5-f4 2.Qf1*f4 + 2...Ke4-d3 3.Sd5-b4 # 3.Qf4-c4 # 3.Qf4-d4 # 3.Qf4-f5 #" keywords: - Letters comments: - With 184779, 189985, and 191786 are the last name letters of Henry E. Bird --- authors: - Loyd, Samuel source: The Chess Monthly date: 1857 algebraic: white: [Kd7, Qc4, Sd4, Ph2, Pf2, Pe2] black: [Kg4, Rh6, Rh5, Bf8, Sh7, Sg5, Ph4, Ph3, Pg7, Pf6, Pf5, Pf4, Pf3, Pe7] stipulation: "#5" solution: | "Illegal setting 1. Qe6! [2. Qxf5#] 1. ... Sxe6 2. exf3+ 2. ... Kg5 3. Sxe6+ 3. ... Kg6 4. Ke8 waiting 4. ... Sg5 5. Sxf8# 4. ... Rg5 5. Sxf4# 1. ... g6 2. Qc6 [3. Qc1 [4. Qg1#] 3. ... Se4 4. exf3+ 4. ... Kg5 5. Se6# 3. Qxf3+ 3. ... Sxf3 4. exf3+ 4. ... Kg5 5. Se6# 3. exf3+ 3. ... Sxf3 4. Qxf3+ 4. ... Kg5 5. Se6#] 2. ... Bg7 3. Qxf3+ 3. ... Sxf3 4. exf3+ 4. ... Kg5 5. Se6# 2. ... Bg7 3. exf3+ 3. ... Sxf3 4. Qxf3+ 4. ... Kg5 5. Se6# 2. ... fxe2 3. f3+ 3. ... Sxf3 4. Qxf3+ 4. ... Kg5 5. Se6# 1. ... g6 2. Qd5 [3. Qxf3+ 3. ... Sxf3 4. exf3+ 4. ... Kg5 5. Se6# 3. exf3+ 3. ... Sxf3 4. Qxf3+ 4. ... Kg5 5. Se6#] 2. ... fxe2 3. f3+ 3. ... Sxf3 4. Qxf3+ 4. ... Kg5 5. Se6# 1. ... g6 2. Qb3 [3. Qxf3+ 3. ... Sxf3 4. exf3+ 4. ... Kg5 5. Se6# 3. Qb1 [4. Qg1#] 3. ... Se4 4. exf3+ 4. ... Kg5 5. Se6# 3. Qd1 [4. Qg1#] 3. ... Se4 4. exf3+ 4. ... Kg5 5. Se6# 3. exf3+ 3. ... Sxf3 4. Qxf3+ 4. ... Kg5 5. Se6#] 2. ... Bg7 3. Qxf3+ 3. ... Sxf3 4. exf3+ 4. ... Kg5 5. Se6# 2. ... Bg7 3. exf3+ 3. ... Sxf3 4. Qxf3+ 4. ... Kg5 5. Se6# 2. ... fxe2 3. f3+ 3. ... Sxf3 4. Qxf3+ 4. ... Kg5 5. Se6#" --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper source-id: 52 date: 1856-12-06 algebraic: white: [Kd8, Qd4, Bh5, Bc7, Sa3, Sa1, Pa2] black: [Kb4, Qg5, Rc5, Rb7, Bh3, Sd3, Sa6, Pf6, Pc4, Pb2] stipulation: "#5" solution: | "1.Qd4-c3 + ! 1...Kb4-a4 2.Bh5-d1 + 2...Rb7-b3 3.Bd1*b3 + 3...Ka4*a3 4.Sa1-c2 # 3...c4*b3 4.Qc3*b3 # 1...Kb4*c3 2.Sa3-b1 + 2...Kc3-b4 3.Sa1-c2 + 3...Kb4-b5 4.Sb1-c3 + 4...Kb5-c6 5.Sc2-d4 # 3...Kb4-a4 4.Sb1-c3 # 2...Kc3-d4 3.Sa1-c2 + 3...Kd4-e4 4.Sb1-c3 + 4...Ke4-f5 5.Sc2-d4 # 3...Kd4-d5 4.Sb1-c3 + 4...Kd5-c6 5.Sc2-d4 # 4...Kd5-e6 5.Sc2-d4 #" --- authors: - Loyd, Samuel source: American Chess Journal source-id: 345v date: 1877-12 algebraic: white: [Ke1, Rb5, Ra1, Bd7, Sc2, Pe4, Pd5, Pd2, Pc7, Pb6, Pb4, Pa5, Pa4] black: [Kb7, Rg8, Ba8, Sh8, Pg6, Pf7, Pe7, Pe5, Pa6] stipulation: "#4" solution: | "1.0-0-0 ! threat: 2.Sc2-a1 threat: 3.Sa1-b3 threat: 4.Sb3-c5 # 2...Rg8-d8 3.c7*d8=Q threat: 4.Qd8-c8 # 4.Qd8-c7 # 4.Bd7-c6 # 3...a6*b5 4.Qd8-c8 # 2.Sc2-e1 threat: 3.Se1-d3 threat: 4.Sd3-c5 # 2...Rg8-d8 3.c7*d8=Q threat: 4.Qd8-c8 # 4.Qd8-c7 # 4.Bd7-c6 # 3...a6*b5 4.Qd8-c8 # 1...a6*b5 2.Sc2-e1 threat: 3.Se1-d3 threat: 4.Sd3-c5 # 2...Rg8-c8 3.Bd7-c6 + 3...Kb7-a6 4.a4*b5 # 2...Rg8-d8 3.c7*d8=Q threat: 4.Qd8-c8 # 3...Kb7-a6 4.Qd8*a8 # 1...f7-f5 2.Sc2-a1 threat: 3.Sa1-b3 threat: 4.Sb3-c5 # 2...Rg8-d8 3.c7*d8=Q threat: 4.Qd8-c8 # 4.Qd8-c7 # 4.Bd7-c6 # 3...a6*b5 4.Qd8-c8 #" --- authors: - Loyd, Samuel source: The Albion (New York) date: 1858-08-07 distinction: 1st Prize algebraic: white: [Ke2, Qb6, Bf4, Ph2, Pf2, Pd4] black: [Ke4, Ba1] stipulation: "#4" solution: | "1.Qb6-b5 ! threat: 2.Qb5-e5 # 1...Ba1*d4 2.Bf4-g3 threat: 3.f2-f3 # 2...Bd4-a1 3.Qb5-d3 # 2...Bd4-b2 3.Qb5-d3 # 2...Bd4-c3 3.Qb5-d3 # 2...Bd4*f2 3.Qb5-d3 # 3.Qb5-e5 # 2...Bd4-e3 3.Qb5-d3 # 3.Qb5-e5 # 2...Bd4-h8 3.Qb5-d3 # 2...Bd4-g7 3.Qb5-d3 # 2...Bd4-f6 3.Qb5-d3 # 2...Bd4-e5 3.Qb5-d3 # 3.Qb5*e5 # 2...Bd4-a7 3.Qb5-d3 # 3.Qb5-e5 # 2...Bd4-b6 3.Qb5-d3 # 3.Qb5-e5 # 2...Bd4-c5 3.Qb5-d3 # 2.Bf4-b8 threat: 3.f2-f3 # 2...Bd4-a1 3.Qb5-d3 # 2...Bd4-b2 3.Qb5-d3 # 2...Bd4-c3 3.Qb5-d3 # 2...Bd4*f2 3.Qb5-d3 # 3.Qb5-e5 # 2...Bd4-e3 3.Qb5-d3 # 3.Qb5-e5 # 2...Bd4-h8 3.Qb5-d3 # 2...Bd4-g7 3.Qb5-d3 # 2...Bd4-f6 3.Qb5-d3 # 2...Bd4-e5 3.Qb5*e5 # 2...Bd4-a7 3.Qb5-d3 # 3.Qb5-e5 # 2...Bd4-b6 3.Qb5-d3 # 3.Qb5-e5 # 2...Bd4-c5 3.Qb5-d3 # 2.Bf4-c7 threat: 3.f2-f3 # 2...Bd4-a1 3.Qb5-d3 # 2...Bd4-b2 3.Qb5-d3 # 2...Bd4-c3 3.Qb5-d3 # 2...Bd4*f2 3.Qb5-d3 # 3.Qb5-e5 # 2...Bd4-e3 3.Qb5-d3 # 3.Qb5-e5 # 2...Bd4-h8 3.Qb5-d3 # 2...Bd4-g7 3.Qb5-d3 # 2...Bd4-f6 3.Qb5-d3 # 2...Bd4-e5 3.Qb5*e5 # 2...Bd4-a7 3.Qb5-d3 # 3.Qb5-e5 # 2...Bd4-b6 3.Qb5-d3 # 3.Qb5-e5 # 2...Bd4-c5 3.Qb5-d3 # 2.Bf4-d6 threat: 3.f2-f3 # 2...Bd4-a1 3.Qb5-d3 # 2...Bd4-b2 3.Qb5-d3 # 2...Bd4-c3 3.Qb5-d3 # 2...Bd4*f2 3.Qb5-d3 # 3.Qb5-e5 # 2...Bd4-e3 3.Qb5-d3 # 3.Qb5-e5 # 2...Bd4-h8 3.Qb5-d3 # 2...Bd4-g7 3.Qb5-d3 # 2...Bd4-f6 3.Qb5-d3 # 2...Bd4-e5 3.Qb5*e5 # 2...Bd4-a7 3.Qb5-d3 # 3.Qb5-e5 # 2...Bd4-b6 3.Qb5-d3 # 3.Qb5-e5 # 2...Bd4-c5 3.Qb5-d3 # 1...Ke4*f4 2.h2-h4 threat: 3.Qb5-g5 + 3...Kf4-e4 4.Qg5-e5 # 1...Ke4*d4 2.Bf4-c1 zugzwang. 2...Ba1-c3 3.Bc1-e3 + 3...Kd4-e4 4.f2-f3 # 2...Ba1-b2 3.Bc1*b2 + 3...Kd4-e4 4.Qb5-e5 # 2...Kd4-e4 3.Bc1-e3 threat: 4.f2-f3 # 3...Ba1-e5 4.Qb5-d3 # 2...Kd4-c3 3.Qb5-a4 zugzwang. 3...Ba1-b2 4.Bc1-d2 # 2.Bf4-d6 threat: 3.Qb5-d3 # 2...Kd4-c3 3.Qb5-b1 zugzwang. 3...Ba1-b2 4.Qb1-d3 # 3...Kc3-c4 4.Qb1-d3 # 3...Kc3-d4 4.Qb1-d3 # 2.Bf4-e5 + 2...Kd4-e4 3.Be5-d6 threat: 4.Qb5-d3 # 3...Ba1-e5 4.Qb5*e5 # 3...Ba1-d4 4.f2-f3 #" --- authors: - Loyd, Samuel source: American Chronicle date: 1868 algebraic: white: [Ke2, Qd8, Sg7, Se4] black: [Kf4, Re5, Sh6, Sg5, Pg4, Pe3, Pc3, Pb2] stipulation: "#4" solution: | "1.Qd8-d4 ! threat: 2.Qd4*e3 # 1...g4-g3 2.Qd4*e3 + 2...Kf4-g4 3.Qe3*g3 # 1...Re5*e4 2.Sg7-h5 + 2...Kf4-f5 3.Qd4-f6 # 1...Re5-a5 2.Qd4-d6 + 2...Kf4*e4 3.Sg7-h5 threat: 4.Sh5-g3 # 3...Ra5-e5 4.Qd6-d3 # 3...Ra5-d5 4.Qd6-f4 # 3...Sh6-f5 4.Sh5-f6 # 2...Ra5-e5 3.Sg7-h5 + 3...Kf4-f5 4.Se4-g3 # 3...Kf4*e4 4.Qd6-d3 # 1...Re5-b5 2.Qd4-d6 + 2...Kf4*e4 3.Sg7-h5 threat: 4.Sh5-g3 # 3...Rb5-e5 4.Qd6-d3 # 3...Rb5-d5 4.Qd6-f4 # 3...Sh6-f5 4.Sh5-f6 # 2...Rb5-e5 3.Sg7-h5 + 3...Kf4-f5 4.Se4-g3 # 3...Kf4*e4 4.Qd6-d3 # 1...Re5-c5 2.Qd4-d6 + 2...Kf4*e4 3.Sg7-h5 threat: 4.Sh5-g3 # 3...Rc5-e5 4.Qd6-d3 # 3...Rc5-d5 4.Qd6-f4 # 3...Sh6-f5 4.Sh5-f6 # 2...Rc5-e5 3.Sg7-h5 + 3...Kf4-f5 4.Se4-g3 # 3...Kf4*e4 4.Qd6-d3 # 1...Re5-d5 2.Sg7-h5 + 2...Kf4-f5 3.Qd4-f6 + 3...Kf5*e4 4.Qf6-f4 # 4.Sh5-g3 # 2.Qd4*d5 threat: 3.Sg7-h5 # 2...g4-g3 3.Se4-f6 threat: 4.Sg7-h5 # 4.Qd5-d6 # 3...Sg5-e4 4.Sg7-e6 # 4.Sg7-h5 # 3...Sg5-f3 4.Sg7-e6 # 4.Sg7-h5 # 3...Sg5-h3 4.Sg7-e6 # 4.Sg7-h5 # 3...Sg5-h7 4.Sg7-e6 # 4.Sg7-h5 # 3...Sg5-f7 4.Sg7-e6 # 4.Sg7-h5 # 3...Sg5-e6 4.Sg7*e6 # 4.Sg7-h5 # 3...Sh6-f5 4.Sg7-h5 # 4.Qd5*f5 # 3...Sh6-g4 4.Sg7-h5 # 4.Sf6-h5 # 4.Qd5-f5 # 3...Sh6-f7 4.Sg7-h5 # 4.Qd5-f5 # 1...Re5-e8 2.Qd4-d6 + 2...Kf4*e4 3.Sg7-h5 threat: 4.Sh5-g3 # 3...Sh6-f5 4.Sh5-f6 # 3...Re8-e5 4.Qd6-d3 # 2...Re8-e5 3.Sg7-h5 + 3...Kf4-f5 4.Se4-g3 # 3...Kf4*e4 4.Qd6-d3 # 1...Re5-e7 2.Qd4-d6 + 2...Kf4*e4 3.Sg7-h5 threat: 4.Sh5-g3 # 3...Sh6-f5 4.Sh5-f6 # 3...Re7-e5 4.Qd6-d3 # 2...Re7-e5 3.Sg7-h5 + 3...Kf4-f5 4.Se4-g3 # 3...Kf4*e4 4.Qd6-d3 # 1...Re5-e6 2.Sg7-h5 + 2...Kf4-f5 3.Se4-g3 + 3...Kf5-g6 4.Qd4-g7 # 1...Re5-f5 2.Sg7-h5 # 1...Sh6-f5 2.Sg7-h5 #" --- authors: - Loyd, Samuel source: American Union source-id: 27v date: 1858-11-06 algebraic: white: [Ke3, Rb6, Se7, Ph3, Pg5, Pb3, Pb2] black: [Ke5, Ph4, Pg6] stipulation: "#5" solution: | "1.Se7-g8 ! threat: 2.Sg8-f6 zugzwang. 2...Ke5-f5 3.Sf6-g4 zugzwang. 3...Kf5*g5 4.Rb6-b5 # 1...Ke5-f5 2.Sg8-f6 threat: 3.Sf6-g4 zugzwang. 3...Kf5*g5 4.Rb6-b5 # 2...Kf5*g5 3.Sf6-g4 threat: 4.Rb6-b5 # 3...Kg5-h5 4.Rb6-a6 zugzwang. 4...g6-g5 5.Ra6-h6 # 4...Kh5-g5 5.Ra6-a5 # 4.Rb6-e6 zugzwang. 4...Kh5-g5 5.Re6-e5 # 4...g6-g5 5.Re6-h6 # 4.Rb6-d6 zugzwang. 4...Kh5-g5 5.Rd6-d5 # 4...g6-g5 5.Rd6-h6 # 4.Rb6-c6 zugzwang. 4...Kh5-g5 5.Rc6-c5 # 4...g6-g5 5.Rc6-h6 # 4.Ke3-f3 zugzwang. 4...Kh5-g5 5.Rb6-b5 # 4...g6-g5 5.Rb6-h6 # 4.Ke3-e4 zugzwang. 4...Kh5-g5 5.Rb6-b5 # 4...g6-g5 5.Rb6-h6 # 4.b3-b4 zugzwang. 4...Kh5-g5 5.Rb6-b5 # 4...g6-g5 5.Rb6-h6 # 3...Kg5-f5 4.Rb6-a6 zugzwang. 4...Kf5-g5 5.Ra6-a5 # 4...g6-g5 5.Ra6-f6 # 4.Rb6-d6 zugzwang. 4...Kf5-g5 5.Rd6-d5 # 4...g6-g5 5.Rd6-f6 # 4.Rb6-c6 zugzwang. 4...Kf5-g5 5.Rc6-c5 # 4...g6-g5 5.Rc6-f6 # 4.Ke3-f3 zugzwang. 4...Kf5-g5 5.Rb6-b5 # 4...g6-g5 5.Rb6-f6 # 4.b3-b4 zugzwang. 4...Kf5-g5 5.Rb6-b5 # 4...g6-g5 5.Rb6-f6 # 2...Kf5-e5 3.Sf6-e4 zugzwang. 3...Ke5-d5 4.Ke3-f4 threat: 5.Rb6-d6 # 3...Ke5-f5 4.Ke3-d4 threat: 5.Rb6-f6 # 3.Rb6-a6 zugzwang. 3...Ke5-f5 4.Sf6-g4 zugzwang. 4...Kf5*g5 5.Ra6-a5 # 3.Rb6-c6 zugzwang. 3...Ke5-f5 4.Sf6-g4 zugzwang. 4...Kf5*g5 5.Rc6-c5 # 3.b3-b4 zugzwang. 3...Ke5-f5 4.Sf6-g4 zugzwang. 4...Kf5*g5 5.Rb6-b5 # 2.Rb6-a6 zugzwang. 2...Kf5*g5 3.Ra6-a5 # 2...Kf5-e5 3.Sg8-f6 zugzwang. 3...Ke5-f5 4.Sf6-g4 zugzwang. 4...Kf5*g5 5.Ra6-a5 # 2.Rb6-c6 zugzwang. 2...Kf5-e5 3.Sg8-f6 zugzwang. 3...Ke5-f5 4.Sf6-g4 zugzwang. 4...Kf5*g5 5.Rc6-c5 # 2...Kf5*g5 3.Rc6-c5 # 2.b3-b4 zugzwang. 2...Kf5*g5 3.Rb6-b5 # 2...Kf5-e5 3.Sg8-f6 zugzwang. 3...Ke5-f5 4.Sf6-g4 zugzwang. 4...Kf5*g5 5.Rb6-b5 # 1...Ke5-d5 2.Sg8-f6 + 2...Kd5-e5 3.Sf6-e4 zugzwang. 3...Ke5-d5 4.Ke3-f4 threat: 5.Rb6-d6 # 3...Ke5-f5 4.Ke3-d4 threat: 5.Rb6-f6 # 3.Rb6-a6 zugzwang. 3...Ke5-f5 4.Sf6-g4 zugzwang. 4...Kf5*g5 5.Ra6-a5 # 3.Rb6-c6 zugzwang. 3...Ke5-f5 4.Sf6-g4 zugzwang. 4...Kf5*g5 5.Rc6-c5 # 3.b3-b4 zugzwang. 3...Ke5-f5 4.Sf6-g4 zugzwang. 4...Kf5*g5 5.Rb6-b5 # 2...Kd5-c5 3.Sf6-d7 + 3...Kc5-d5 4.Ke3-f3 zugzwang. 4...Kd5-d4 5.Rb6-d6 # 4.Ke3-f4 zugzwang. 4...Kd5-d4 5.Rb6-d6 #" --- authors: - Loyd, Samuel source: Philadelphia Mercury date: 1858 algebraic: white: [Ke5, Ba6, Sd5, Sa4, Pf5, Pe6, Pe4, Pd3, Pc4, Pa5, Pa3] black: [Kc6, Rh6, Rc1, Bg4, Sh7, Sh3, Pg6, Pg5, Pf3, Pd4, Pc3, Pb3] stipulation: "#4" solution: | "1.Sa4-c5 ! threat: 2.Ba6-b5 + 2...Kc6*c5 3.Sd5-b4 threat: 4.Sb4-a6 # 3.Sd5-c7 threat: 4.Sc7-a6 # 3.Sd5-b6 threat: 4.Sb6-a4 # 4.Sb6-d7 # 3...Sh7-f6 4.Sb6-a4 # 3...Sh7-f8 4.Sb6-a4 # 2.Ba6-b7 + 2...Kc6*c5 3.Sd5-b6 threat: 4.Sb6-a4 # 4.Sb6-d7 # 3...Sh7-f6 4.Sb6-a4 # 3...Sh7-f8 4.Sb6-a4 # 3.Sd5-b4 threat: 4.Sb4-a6 # 3.Sd5-c7 threat: 4.Sc7-a6 # 2.Ke5*d4 threat: 3.Ba6-b5 + 3...Kc6-d6 4.Sc5-b7 # 4.e4-e5 # 3.Ba6-b7 + 3...Kc6-d6 4.e4-e5 # 3.e4-e5 threat: 4.Ba6-b5 # 4.Ba6-b7 # 2...Rc1-e1 3.Ba6-b5 + 3...Kc6-d6 4.Sc5-b7 # 2...Rc1-d1 3.Ba6-b5 + 3...Kc6-d6 4.e4-e5 # 4.Sc5-b7 # 3.Ba6-b7 + 3...Kc6-d6 4.e4-e5 # 2...b3-b2 3.Ba6-b5 + 3...Kc6-d6 4.Sc5-b7 # 4.e4-e5 # 3.Ba6-b7 + 3...Kc6-d6 4.e4-e5 # 2...Sh3-g1 3.Ba6-b5 + 3...Kc6-d6 4.Sc5-b7 # 4.e4-e5 # 3.Ba6-b7 + 3...Kc6-d6 4.e4-e5 # 2...Sh3-f4 3.Ba6-b5 + 3...Kc6-d6 4.Sc5-b7 # 4.e4-e5 # 3.Ba6-b7 + 3...Kc6-d6 4.e4-e5 # 2...Bg4*f5 3.Ba6-b5 + 3...Kc6-d6 4.e4-e5 # 3.Ba6-b7 + 3...Kc6-d6 4.e4-e5 # 2...Kc6-d6 3.Ba6-b5 threat: 4.Sc5-b7 # 4.e4-e5 # 3...Rc1-e1 4.Sc5-b7 # 3...Bg4*f5 4.e4-e5 # 3...g6*f5 4.e4-e5 # 3.e4-e5 + 3...Kd6-c6 4.Ba6-b5 # 4.Ba6-b7 # 2...Rh6-h4 3.Ba6-b5 + 3...Kc6-d6 4.Sc5-b7 # 4.e4-e5 # 3.Ba6-b7 + 3...Kc6-d6 4.e4-e5 # 2...Sh7-f6 3.Ba6-b5 + 3...Kc6-d6 4.Sc5-b7 # 4.e4-e5 # 3.Ba6-b7 + 3...Kc6-d6 4.e4-e5 # 2...Sh7-f8 3.Ba6-b5 + 3...Kc6-d6 4.Sc5-b7 # 4.e4-e5 # 3.Ba6-b7 + 3...Kc6-d6 4.e4-e5 # 1...Rc1-e1 2.Ba6-b5 + 2...Kc6*c5 3.Sd5*c3 threat: 4.Sc3-a4 # 3...Re1*e4 + 4.Sc3*e4 # 3...d4*c3 4.d3-d4 # 1...Rc1-d1 2.Ba6-b5 + 2...Kc6*c5 3.Sd5-b4 threat: 4.Sb4-a6 # 3.Sd5-c7 threat: 4.Sc7-a6 # 3.Sd5-b6 threat: 4.Sb6-a4 # 4.Sb6-d7 # 3...Sh7-f6 4.Sb6-a4 # 3...Sh7-f8 4.Sb6-a4 # 1...b3-b2 2.Ba6-b5 + 2...Kc6*c5 3.Sd5-b4 threat: 4.Sb4-a6 # 3.Sd5-c7 threat: 4.Sc7-a6 # 3.Sd5-b6 threat: 4.Sb6-a4 # 4.Sb6-d7 # 3...Sh7-f6 4.Sb6-a4 # 3...Sh7-f8 4.Sb6-a4 # 2.Ba6-b7 + 2...Kc6*c5 3.Sd5-b6 threat: 4.Sb6-a4 # 4.Sb6-d7 # 3...Sh7-f6 4.Sb6-a4 # 3...Sh7-f8 4.Sb6-a4 # 3.Sd5-b4 threat: 4.Sb4-a6 # 3.Sd5-c7 threat: 4.Sc7-a6 # 1...Sh3-f2 2.Ba6-b5 + 2...Kc6*c5 3.Sd5-b4 threat: 4.Sb4-a6 # 3...Sf2*d3 + 4.Sb4*d3 # 2.Ke5*d4 threat: 3.Ba6-b5 + 3...Kc6-d6 4.Sc5-b7 # 4.e4-e5 # 3.Ba6-b7 + 3...Kc6-d6 4.e4-e5 # 3.e4-e5 threat: 4.Ba6-b5 # 4.Ba6-b7 # 2...Rc1-e1 3.Ba6-b5 + 3...Kc6-d6 4.Sc5-b7 # 2...Rc1-d1 3.Ba6-b5 + 3...Kc6-d6 4.e4-e5 # 4.Sc5-b7 # 3.Ba6-b7 + 3...Kc6-d6 4.e4-e5 # 2...Sf2*e4 3.Ba6-b7 + 3...Kc6-d6 4.Sc5*e4 # 3.Ba6-b5 + 3...Kc6-d6 4.Sc5*e4 # 4.Sc5-b7 # 2...Sf2*d3 3.Ba6-b5 + 3...Kc6-d6 4.Sc5-b7 # 2...b3-b2 3.Ba6-b5 + 3...Kc6-d6 4.Sc5-b7 # 4.e4-e5 # 3.Ba6-b7 + 3...Kc6-d6 4.e4-e5 # 2...Bg4-h3 3.Ba6-b5 + 3...Kc6-d6 4.Sc5-b7 # 4.e4-e5 # 3.Ba6-b7 + 3...Kc6-d6 4.e4-e5 # 2...Bg4*f5 3.Ba6-b5 + 3...Kc6-d6 4.e4-e5 # 3.Ba6-b7 + 3...Kc6-d6 4.e4-e5 # 2...Kc6-d6 3.Ba6-b5 threat: 4.Sc5-b7 # 4.e4-e5 # 3...Rc1-e1 4.Sc5-b7 # 3...Sf2*e4 4.Sc5-b7 # 4.Sc5*e4 # 3...Sf2*d3 4.Sc5-b7 # 3...Bg4*f5 4.e4-e5 # 3...g6*f5 4.e4-e5 # 3.e4-e5 + 3...Kd6-c6 4.Ba6-b5 # 4.Ba6-b7 # 2...Rh6-h4 3.Ba6-b5 + 3...Kc6-d6 4.Sc5-b7 # 4.e4-e5 # 3.Ba6-b7 + 3...Kc6-d6 4.e4-e5 # 2...Sh7-f6 3.Ba6-b5 + 3...Kc6-d6 4.Sc5-b7 # 4.e4-e5 # 3.Ba6-b7 + 3...Kc6-d6 4.e4-e5 # 2...Sh7-f8 3.Ba6-b5 + 3...Kc6-d6 4.Sc5-b7 # 4.e4-e5 # 3.Ba6-b7 + 3...Kc6-d6 4.e4-e5 # 1...Sh3-g1 2.Ba6-b5 + 2...Kc6*c5 3.Sd5-b4 threat: 4.Sb4-a6 # 3.Sd5-c7 threat: 4.Sc7-a6 # 3.Sd5-b6 threat: 4.Sb6-a4 # 4.Sb6-d7 # 3...Sh7-f6 4.Sb6-a4 # 3...Sh7-f8 4.Sb6-a4 # 2.Ba6-b7 + 2...Kc6*c5 3.Sd5-b6 threat: 4.Sb6-a4 # 4.Sb6-d7 # 3...Sh7-f6 4.Sb6-a4 # 3...Sh7-f8 4.Sb6-a4 # 3.Sd5-b4 threat: 4.Sb4-a6 # 3.Sd5-c7 threat: 4.Sc7-a6 # 1...Sh3-f4 2.Ba6-b5 + 2...Kc6*c5 3.Sd5-b4 threat: 4.Sb4-a6 # 3...Sf4*d3 + 4.Sb4*d3 # 1...Bg4*f5 2.Ba6-b5 + 2...Kc6*c5 3.Sd5-b4 threat: 4.Sb4-a6 # 3.Sd5-c7 threat: 4.Sc7-a6 # 3.Sd5-b6 threat: 4.Sb6-a4 # 4.Sb6-d7 # 3...Bf5*e6 4.Sb6-a4 # 3...Sh7-f6 4.Sb6-a4 # 3...Sh7-f8 4.Sb6-a4 # 2.Ba6-b7 + 2...Kc6*c5 3.Sd5-b6 threat: 4.Sb6-a4 # 4.Sb6-d7 # 3...Bf5*e6 4.Sb6-a4 # 3...Sh7-f6 4.Sb6-a4 # 3...Sh7-f8 4.Sb6-a4 # 3.Sd5-b4 threat: 4.Sb4-a6 # 3.Sd5-c7 threat: 4.Sc7-a6 # 1...Kc6*c5 2.Ba6-b5 threat: 3.Sd5-b4 threat: 4.Sb4-a6 # 3.Sd5-c7 threat: 4.Sc7-a6 # 3.Sd5-b6 threat: 4.Sb6-a4 # 4.Sb6-d7 # 3...Sh7-f6 4.Sb6-a4 # 3...Sh7-f8 4.Sb6-a4 # 2...Rc1-a1 3.Sd5-b4 threat: 4.Sb4-a6 # 3.Sd5-c7 threat: 4.Sc7-a6 # 2...Rc1-e1 3.Sd5*c3 threat: 4.Sc3-a4 # 3...Re1*e4 + 4.Sc3*e4 # 3...d4*c3 4.d3-d4 # 2...Sh3-f2 3.Sd5-b4 threat: 4.Sb4-a6 # 3...Sf2*d3 + 4.Sb4*d3 # 2...Sh3-f4 3.Sd5-b4 threat: 4.Sb4-a6 # 3...Sf4*d3 + 4.Sb4*d3 # 2...g6*f5 3.Sd5-c7 threat: 4.Sc7-a6 # 3...Rh6*e6 + 4.Sc7*e6 # 2...Sh7-f6 3.Sd5-b6 threat: 4.Sb6-a4 # 3...Sf6-d7 + 4.Sb6*d7 # 2...Sh7-f8 3.Sd5-b6 threat: 4.Sb6-a4 # 3...Sf8-d7 + 4.Sb6*d7 # 1...g6*f5 2.Ba6-b5 + 2...Kc6*c5 3.Sd5-c7 threat: 4.Sc7-a6 # 3...Rh6*e6 + 4.Sc7*e6 # 2.Ba6-b7 + 2...Kc6*c5 3.Sd5-c7 threat: 4.Sc7-a6 # 3...Rh6*e6 + 4.Sc7*e6 # 1...Rh6-h4 2.Ba6-b5 + 2...Kc6*c5 3.Sd5-b4 threat: 4.Sb4-a6 # 3.Sd5-c7 threat: 4.Sc7-a6 # 3.Sd5-b6 threat: 4.Sb6-a4 # 4.Sb6-d7 # 3...Sh7-f6 4.Sb6-a4 # 3...Sh7-f8 4.Sb6-a4 # 2.Ba6-b7 + 2...Kc6*c5 3.Sd5-b6 threat: 4.Sb6-a4 # 4.Sb6-d7 # 3...Sh7-f6 4.Sb6-a4 # 3...Sh7-f8 4.Sb6-a4 # 3.Sd5-b4 threat: 4.Sb4-a6 # 3.Sd5-c7 threat: 4.Sc7-a6 # 1...Sh7-f6 2.Ba6-b5 + 2...Kc6*c5 3.Sd5-b6 threat: 4.Sb6-a4 # 3...Sf6-d7 + 4.Sb6*d7 # 2.Ba6-b7 + 2...Kc6*c5 3.Sd5-b6 threat: 4.Sb6-a4 # 3...Sf6-d7 + 4.Sb6*d7 # 1...Sh7-f8 2.Ba6-b5 + 2...Kc6*c5 3.Sd5-b6 threat: 4.Sb6-a4 # 3...Sf8-d7 + 4.Sb6*d7 # 2.Ba6-b7 + 2...Kc6*c5 3.Sd5-b6 threat: 4.Sb6-a4 # 3...Sf8-d7 + 4.Sb6*d7 #" --- authors: - Loyd, Samuel source: Danbury News, Centennial Tourney date: 1877 algebraic: white: [Ke5, Rd8, Bd7, Se8, Pg5, Pg2] black: [Kf7, Pg7, Pg3] stipulation: "#4" solution: | "1.Se8*g7 ! zugzwang. 1...Kf7*g7 2.Bd7-e8 zugzwang. 2...Kg7-h7 3.Ke5-f6 threat: 4.Be8-g6 # 2...Kg7-g8 3.Ke5-f6 threat: 4.Be8-g6 # 2...Kg7-f8 3.Ke5-f6 threat: 4.Be8-a4 # 4.Be8-b5 # 4.Be8-c6 # 4.Be8-d7 # 4.Be8-h5 # 4.Be8-g6 # 4.Be8-f7 # 3...Kf8-g8 4.Be8-g6 # 2...Kg7-h8 3.Ke5-f6 threat: 4.Be8-g6 # 1...Kf7-e7 2.Sg7-e6 zugzwang. 2...Ke7-f7 3.Rd8-h8 zugzwang. 3...Kf7-e7 4.Rh8-h7 # 3...Kf7-g6 4.Bd7-e8 # 1...Kf7-g6 2.Sg7-e6 zugzwang. 2...Kg6-f7 3.Rd8-h8 zugzwang. 3...Kf7-e7 4.Rh8-h7 # 3...Kf7-g6 4.Bd7-e8 # 2...Kg6-h7 3.Bd7-e8 zugzwang. 3...Kh7-h8 4.Be8-g6 # 3...Kh7-g8 4.Be8-g6 # 2...Kg6-h5 3.Bd7-e8 + 3...Kh5-h4 4.Rd8-d4 # 3...Kh5-g4 4.Rd8-d4 # 3.Ke5-f5 threat: 4.Rd8-h8 #" --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 4-moves / 431 corr. date: 1868 algebraic: white: [Ke5, Rh6, Bh5, Be7, Sc3] black: [Kh3, Rh8, Rg1, Sa1, Ph7, Ph4, Pg2, Pe4, Pd3, Pb4] stipulation: "#4" solution: 1.Le7*h4 ! --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper source-id: 185 date: 1859-02-26 algebraic: white: [Ke5, Qd5, Sg2, Se8, Pg3, Pd2] black: [Kh5, Qa5, Rh7, Ra6, Bg5, Bb3, Sc1, Sb8, Ph6, Pe6, Pd3, Pc6, Pc5, Pc4] stipulation: "#5" solution: | "1.Se8-f6 + ! 1...Bg5*f6 + 2.Ke5*e6 + 2...Bf6-g5 3.Ke6-f5 threat: 4.Qd5-f3 # 4.g3-g4 # 3...Bb3-d1 4.Sg2-f4 + 4...Bg5*f4 5.Qd5-h1 # 3...c6*d5 4.g3-g4 # 3...Rh7-f7 + 4.Qd5*f7 # 2...Kh5-g6 3.Qd5-h5 + 3...Kg6-g7 4.Qh5-f7 + 4...Kg7-h8 5.Qf7-f8 # 3...Kg6*h5 4.Ke6-f5 threat: 5.g3-g4 # 5.Sg2-f4 # 4...Sc1-e2 5.g3-g4 # 4...Bb3-d1 5.Sg2-f4 # 4...Qa5*d2 5.g3-g4 # 4...Qa5-c7 5.g3-g4 # 4...Bf6-e5 5.g3-g4 # 4...Bf6-g5 5.g3-g4 # 4...Rh7-g7 5.Sg2-f4 # 2...Kh5-g4 3.Sg2-e3 + 3...Kg4*g3 4.Qd5-g2 + 4...Kg3-f4 5.Qg2-g4 # 4...Kg3-h4 5.Qg2-g4 # 3...Kg4-h3 4.Qd5-g2 # 2...c6*d5 + 3.Ke6-f5 threat: 4.g3-g4 # 4.Sg2-f4 # 3...Sc1-e2 4.g3-g4 # 3...Bb3-d1 4.Sg2-f4 # 3...Qa5*d2 4.g3-g4 # 3...Qa5-c7 4.g3-g4 # 3...Bf6-e5 4.g3-g4 # 3...Bf6-g5 4.g3-g4 # 3...Rh7-g7 4.Sg2-f4 # 2...Bf6-e5 3.Qd5-f3 + 3...Kh5-g5 4.Qf3-f5 # 3...Kh5-g6 4.Qf3-g4 # 1...Kh5-g6 2.Qd5-e4 + 2...Kg6-g7 3.Qe4*h7 + 3...Kg7-f8 4.Qh7-g8 + 4...Kf8-e7 5.Qg8-e8 # 2...Kg6-f7 3.Qe4*h7 + 3...Kf7-f8 4.Qh7-g8 + 4...Kf8-e7 5.Qg8-e8 #" --- authors: - Loyd, Samuel source: American Chess Nuts source-id: 385 date: 1868 algebraic: white: [Ke6, Qg3, Rd6, Rb4, Se2] black: [Kc5, Rh4, Ra1, Sc4, Pc2, Pa7, Pa3] stipulation: "#4" solution: | "1.Rd6-d5 + ! 1...Kc5-c6 2.Qg3*h4 threat: 3.Qh4*c4 # 2...c2-c1=Q 3.Se2-d4 + 3...Kc6-c7 4.Rd5-c5 # 4.Qh4-d8 # 2...c2-c1=R 3.Qh4-e7 threat: 4.Qe7-c5 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Rd5-c5 # 4.Se2-d4 # 3...Rc1-e1 4.Qe7-c5 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Rd5-c5 # 3...Rc1-d1 4.Qe7-c5 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Rd5-c5 # 3...Sc4-b2 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Se2-d4 # 3...Sc4-d2 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Se2-d4 # 3...Sc4-e3 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Se2-d4 # 3...Sc4-e5 4.Qe7-d6 # 4.Qe7-b7 # 4.Se2-d4 # 3...Sc4-d6 4.Qe7*d6 # 4.Qe7-d7 # 4.Se2-d4 # 3...Sc4-b6 4.Se2-d4 # 3...Sc4-a5 4.Qe7-d6 # 4.Qe7-d7 # 4.Se2-d4 # 3.Qh4-h7 threat: 4.Qh7-b7 # 4.Qh7-d7 # 4.Se2-d4 # 3...Rc1-e1 4.Qh7-b7 # 4.Qh7-d7 # 3...Rc1-d1 4.Qh7-b7 # 4.Qh7-d7 # 3...Sc4-e5 4.Qh7-b7 # 4.Se2-d4 # 3...Sc4-d6 4.Qh7-d7 # 4.Se2-d4 # 3...Sc4-b6 4.Se2-d4 # 3...Sc4-a5 4.Qh7-d7 # 4.Se2-d4 # 3.Se2-d4 + 3...Kc6-c7 4.Rd5-c5 # 4.Qh4-d8 # 2...Sc4-b2 3.Rd5-d6 + 3...Kc6-c7 4.Qh4-d8 # 3...Kc6-c5 4.Qh4-d4 # 3.Qh4-g3 threat: 4.Qg3-d6 # 4.Se2-d4 # 3...Ra1-e1 4.Qg3-d6 # 3...Ra1-d1 4.Qg3-d6 # 3...Sb2-c4 4.Se2-d4 # 3.Qh4-d8 threat: 4.Se2-d4 # 4.Qd8-d6 # 4.Qd8-d7 # 4.Qd8-c8 # 3...Ra1-e1 4.Qd8-d7 # 4.Qd8-d6 # 4.Qd8-c8 # 3...Ra1-d1 4.Qd8-d6 # 4.Qd8-d7 # 4.Qd8-c8 # 3...Sb2-c4 4.Qd8-d7 # 4.Qd8-c8 # 4.Se2-d4 # 3.Qh4-e7 threat: 4.Qe7-c5 # 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Rd5-c5 # 4.Se2-d4 # 3...Ra1-e1 4.Qe7-c5 # 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Rd5-c5 # 3...Ra1-d1 4.Qe7-c5 # 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Rd5-c5 # 3...Sb2-d3 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Se2-d4 # 3...Sb2-c4 4.Qe7-c5 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Rd5-c5 # 4.Se2-d4 # 3...Sb2-a4 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Se2-d4 # 3...c2-c1=Q 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Se2-d4 # 3...c2-c1=R 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Se2-d4 # 3.Qh4-h2 threat: 4.Qh2-d6 # 4.Se2-d4 # 3...Ra1-e1 4.Qh2-d6 # 3...Ra1-d1 4.Qh2-d6 # 3...Sb2-c4 4.Se2-d4 # 3.Qh4-f4 threat: 4.Qf4-d6 # 4.Se2-d4 # 3...Ra1-e1 4.Qf4-d6 # 3...Ra1-d1 4.Qf4-d6 # 3...Sb2-c4 4.Qf4*c4 # 4.Se2-d4 # 3.Qh4-h8 threat: 4.Qh8-c8 # 3...Kc6-c7 4.Rd5-c5 # 3.Qh4-h7 threat: 4.Qh7-b7 # 4.Qh7-d7 # 4.Se2-d4 # 3...Ra1-e1 4.Qh7-b7 # 4.Qh7-d7 # 3...Ra1-d1 4.Qh7-b7 # 4.Qh7-d7 # 3.Se2-d4 + 3...Kc6-c7 4.Rd5-c5 # 4.Qh4-d8 # 2...Sc4-d2 3.Rd5-d6 + 3...Kc6-c7 4.Qh4-d8 # 3...Kc6-c5 4.Qh4-d4 # 3.Qh4-g3 threat: 4.Qg3-d6 # 4.Se2-d4 # 3...Ra1-e1 4.Qg3-d6 # 3...Sd2-f3 4.Qg3-d6 # 3...Sd2-e4 4.Se2-d4 # 3...Sd2-c4 4.Se2-d4 # 3...Sd2-b3 4.Qg3-d6 # 3.Qh4-d8 threat: 4.Se2-d4 # 4.Qd8-d6 # 4.Qd8-d7 # 4.Qd8-c8 # 3...Ra1-e1 4.Qd8-d7 # 4.Qd8-d6 # 4.Qd8-c8 # 3...Sd2-f3 4.Qd8-d6 # 4.Qd8-d7 # 4.Qd8-c8 # 3...Sd2-e4 4.Qd8-d7 # 4.Qd8-c8 # 4.Se2-d4 # 3...Sd2-c4 4.Qd8-d7 # 4.Qd8-c8 # 4.Se2-d4 # 3...Sd2-b3 4.Qd8-d6 # 4.Qd8-d7 # 4.Qd8-c8 # 3.Qh4-e7 threat: 4.Qe7-c5 # 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Rd5-c5 # 4.Se2-d4 # 3...Ra1-e1 4.Qe7-c5 # 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Rd5-c5 # 3...c2-c1=Q 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Se2-d4 # 3...c2-c1=R 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Se2-d4 # 3...Sd2-f3 4.Qe7-c5 # 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Rd5-c5 # 3...Sd2-e4 4.Qe7-b7 # 4.Qe7-d7 # 4.Se2-d4 # 3...Sd2-c4 4.Qe7-c5 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Rd5-c5 # 4.Se2-d4 # 3...Sd2-b3 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 3.Qh4-h2 threat: 4.Qh2-d6 # 4.Se2-d4 # 3...Ra1-e1 4.Qh2-d6 # 3...Sd2-f3 4.Qh2-d6 # 3...Sd2-e4 4.Se2-d4 # 3...Sd2-c4 4.Se2-d4 # 3...Sd2-b3 4.Qh2-d6 # 3.Qh4-f4 threat: 4.Qf4-d6 # 4.Se2-d4 # 3...Ra1-e1 4.Qf4-d6 # 3...Sd2-f3 4.Qf4-d6 # 4.Qf4-c4 # 3...Sd2-e4 4.Se2-d4 # 3...Sd2-c4 4.Qf4*c4 # 4.Se2-d4 # 3...Sd2-b3 4.Qf4-d6 # 3.Qh4-h8 threat: 4.Qh8-c8 # 3...Kc6-c7 4.Rd5-c5 # 3.Qh4-h7 threat: 4.Qh7-b7 # 4.Qh7-d7 # 4.Se2-d4 # 3...Ra1-e1 4.Qh7-b7 # 4.Qh7-d7 # 3...Sd2-f3 4.Qh7*c2 # 4.Qh7-b7 # 4.Qh7-d7 # 3...Sd2-b3 4.Qh7-b7 # 4.Qh7-d7 # 3.Se2-d4 + 3...Kc6-c7 4.Rd5-c5 # 4.Qh4-d8 # 2...Sc4-e3 3.Rd5-d6 + 3...Kc6-c7 4.Qh4-d8 # 3...Kc6-c5 4.Qh4-d4 # 3.Qh4-g3 threat: 4.Qg3-d6 # 4.Se2-d4 # 3...Ra1-d1 4.Qg3-d6 # 3...Se3-f5 4.Qg3-c3 # 3...Se3*d5 4.Qg3-d6 # 3...Se3-c4 4.Se2-d4 # 3.Qh4-d8 threat: 4.Se2-d4 # 4.Qd8-d6 # 4.Qd8-d7 # 4.Qd8-c8 # 3...Ra1-d1 4.Qd8-d6 # 4.Qd8-d7 # 4.Qd8-c8 # 3...Se3-f5 4.Qd8-d7 # 4.Qd8-c8 # 3...Se3*d5 4.Qd8-d6 # 3...Se3-c4 4.Qd8-d7 # 4.Qd8-c8 # 4.Se2-d4 # 3.Qh4-e7 threat: 4.Qe7-c5 # 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Rd5-c5 # 4.Se2-d4 # 3...Ra1-d1 4.Qe7-c5 # 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Rd5-c5 # 3...c2-c1=Q 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Se2-d4 # 3...c2-c1=R 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Se2-d4 # 3...Se3-f5 4.Qe7-c5 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Rd5-c5 # 3...Se3*d5 4.Qe7-d6 # 4.Se2-d4 # 3...Se3-c4 4.Qe7-c5 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Rd5-c5 # 4.Se2-d4 # 3.Qh4-f4 threat: 4.Qf4-d6 # 4.Se2-d4 # 3...Ra1-d1 4.Qf4-d6 # 3...Se3-f5 4.Qf4-c4 # 3...Se3*d5 4.Qf4-d6 # 4.Qf4-c4 # 3...Se3-c4 4.Qf4*c4 # 4.Se2-d4 # 3.Se2-d4 + 3...Kc6-c7 4.Rd5-c5 # 4.Qh4-d8 # 2...Sc4-e5 3.Rd5-d6 + 3...Kc6-c5 4.Qh4-d4 # 3...Kc6-c7 4.Qh4-d8 # 3.Qh4-d8 threat: 4.Qd8-d6 # 4.Qd8-c8 # 4.Se2-d4 # 3...Ra1-d1 4.Qd8-d6 # 4.Qd8-c8 # 3...Se5-c4 4.Qd8-d7 # 4.Qd8-c8 # 4.Se2-d4 # 3...Se5-f3 4.Qd8-d6 # 4.Qd8-d7 # 4.Qd8-c8 # 3...Se5-f7 4.Qd8-d7 # 4.Qd8-c8 # 4.Se2-d4 # 3...Se5-d7 4.Se2-d4 # 4.Qd8*d7 # 4.Qd8-c8 # 3.Qh4-e7 threat: 4.Se2-d4 # 4.Qe7-c5 # 4.Qe7-d6 # 4.Qe7-b7 # 4.Rd5-c5 # 3...Ra1-d1 4.Qe7-c5 # 4.Qe7-d6 # 4.Qe7-b7 # 4.Rd5-c5 # 3...c2-c1=Q 4.Qe7-d6 # 4.Qe7-b7 # 4.Se2-d4 # 3...c2-c1=R 4.Qe7-d6 # 4.Qe7-b7 # 4.Se2-d4 # 3...Se5-c4 4.Qe7-c5 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Rd5-c5 # 4.Se2-d4 # 3...Se5-d3 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Se2-d4 # 3...Se5-f3 4.Qe7-c5 # 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Rd5-c5 # 3...Se5-f7 4.Qe7-c5 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Rd5-c5 # 4.Se2-d4 # 3...Se5-d7 4.Qe7-d6 # 4.Qe7*d7 # 3.Qh4-h7 threat: 4.Qh7-b7 # 4.Se2-d4 # 3...Ra1-d1 4.Qh7-b7 # 3...Se5-f3 4.Qh7*c2 # 4.Qh7-b7 # 4.Qh7-d7 # 3...Se5-f7 4.Qh7*c2 # 3...Se5-d7 4.Qh7*d7 # 3.Se2-d4 + 3...Kc6-c7 4.Qh4-d8 # 2...Sc4-d6 3.Rd5*d6 + 3...Kc6-c5 4.Qh4-c4 # 4.Qh4-d4 # 3...Kc6-c7 4.Qh4-d8 # 4.Qh4-c4 # 3.Se2-d4 + 3...Kc6-c7 4.Rd5-c5 # 2...Sc4-b6 3.Qh4-e7 threat: 4.Rd5-c5 # 4.Se2-d4 # 3...Ra1-e1 4.Rd5-c5 # 3...Ra1-d1 4.Rd5-c5 # 3...c2-c1=Q 4.Se2-d4 # 3...c2-c1=R 4.Se2-d4 # 3...Sb6-a4 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Se2-d4 # 3...Sb6*d5 4.Se2-d4 # 4.Qe7-d6 # 3...Sb6-d7 4.Qe7-d6 # 4.Qe7*d7 # 2...Sc4-a5 3.Rd5-d6 + 3...Kc6-c5 4.Qh4-d4 # 3...Kc6-c7 4.Qh4-d8 # 3.Qh4-g3 threat: 4.Qg3-d6 # 4.Se2-d4 # 3...Ra1-e1 4.Qg3-d6 # 3...Ra1-d1 4.Qg3-d6 # 3...Sa5-b3 4.Qg3-d6 # 3...Sa5-c4 4.Se2-d4 # 3...Sa5-b7 4.Se2-d4 # 3.Qh4-d8 threat: 4.Se2-d4 # 4.Qd8-d6 # 4.Qd8-d7 # 4.Qd8-c8 # 3...Ra1-e1 4.Qd8-d7 # 4.Qd8-d6 # 4.Qd8-c8 # 3...Ra1-d1 4.Qd8-d6 # 4.Qd8-d7 # 4.Qd8-c8 # 3...Sa5-b3 4.Qd8-d6 # 4.Qd8-d7 # 4.Qd8-c8 # 3...Sa5-c4 4.Qd8-d7 # 4.Qd8-c8 # 4.Se2-d4 # 3...Sa5-b7 4.Qd8-d7 # 4.Qd8-c8 # 4.Se2-d4 # 3.Qh4-e7 threat: 4.Qe7-c5 # 4.Qe7-d6 # 4.Qe7-d7 # 4.Rd5-c5 # 4.Se2-d4 # 3...Ra1-e1 4.Qe7-c5 # 4.Qe7-d6 # 4.Qe7-d7 # 4.Rd5-c5 # 3...Ra1-d1 4.Qe7-c5 # 4.Qe7-d6 # 4.Qe7-d7 # 4.Rd5-c5 # 3...c2-c1=Q 4.Qe7-d6 # 4.Qe7-d7 # 4.Se2-d4 # 3...c2-c1=R 4.Qe7-d6 # 4.Qe7-d7 # 4.Se2-d4 # 3...Sa5-b3 4.Qe7-d6 # 4.Qe7-b7 # 4.Qe7-d7 # 3...Sa5-c4 4.Qe7-c5 # 4.Qe7-b7 # 4.Qe7-d7 # 4.Rd5-c5 # 4.Se2-d4 # 3...Sa5-b7 4.Qe7*b7 # 4.Qe7-d7 # 4.Se2-d4 # 3.Qh4-h2 threat: 4.Qh2-d6 # 4.Se2-d4 # 3...Ra1-e1 4.Qh2-d6 # 3...Ra1-d1 4.Qh2-d6 # 3...Sa5-b3 4.Qh2-d6 # 3...Sa5-c4 4.Se2-d4 # 3...Sa5-b7 4.Se2-d4 # 3.Qh4-f4 threat: 4.Qf4-d6 # 4.Se2-d4 # 3...Ra1-e1 4.Qf4-d6 # 3...Ra1-d1 4.Qf4-d6 # 3...Sa5-b3 4.Qf4-d6 # 3...Sa5-c4 4.Qf4*c4 # 4.Se2-d4 # 3...Sa5-b7 4.Se2-d4 # 3.Qh4-h7 threat: 4.Qh7-d7 # 4.Se2-d4 # 3...Ra1-e1 4.Qh7-d7 # 3...Ra1-d1 4.Qh7-d7 # 3...Sa5-b3 4.Qh7-b7 # 4.Qh7-d7 # 3.Se2-d4 + 3...Kc6-c7 4.Qh4-d8 # 2.Qg3-c7 + 2...Kc6*c7 3.Rd5-c5 + 3...Kc7-d8 4.Rb4-b8 # 1...Kc5*b4 2.Qg3-b3 + 2...Kb4*b3 3.Rd5-b5 + 3...Kb3-a4 4.Se2-c3 # 3...Kb3-a2 4.Se2-c3 #" --- authors: - Loyd, Samuel source: Baltimore Dispatch source-id: 7 date: 1858-07-31 algebraic: white: [Ke6, Rg3, Rg2, Bh1, Sf1, Ph5, Pa3] black: [Ke4, Qa8, Sg8, Ph6, Pf6, Pf5, Pe7] stipulation: "#4" solution: | "1.Rg2-b2 + ! 1...Ke4-f4 2.Bh1-b7 threat: 3.Rb2-b4 # 3.Rb2-f2 # 2...Qa8*b7 3.Rb2*b7 threat: 4.Rb7-b4 # 2...Qa8*a3 3.Rb2-f2 + 3...Qa3-f3 4.Rf2*f3 # 2...Qa8-a4 3.Rb2-f2 # 2...Qa8-a5 3.Rb2-f2 # 2...Qa8-a6 + 3.Bb7*a6 threat: 4.Rb2-b4 # 2...Qa8-a7 3.Rb2-b4 + 3...Qa7-d4 4.Rb4*d4 # 2...Qa8-d8 3.Rb2-f2 # 2...Qa8-c8 + 3.Bb7*c8 threat: 4.Rb2-b4 # 1...Ke4-d4 2.Rb2-b4 + 2...Kd4-c5 3.Rg3-c3 #" --- authors: - Loyd, Samuel source: Neue Berliner Schachzeitung source-id: 654 date: 1869 algebraic: white: [Ke6, Qh6, Bg1, Ph5, Ph4, Pg2, Pf5, Pe4] black: [Kg4, Bf6, Pg3, Pe7, Pe5, Pc6] stipulation: "#4" solution: | "1.Qh6-c1 ! threat: 2.Bg1-e3 threat: 3.Be3-g5 threat: 4.Qc1-d1 # 3...Bf6*g5 4.Qc1*g5 # 2...Kg4*h4 3.Qc1-h1 + 3...Kh4-g4 4.Qh1-h3 # 1...Bf6*h4 2.Qc1-d1 + 2...Kg4-g5 3.Bg1-e3 # 2...Kg4-f4 3.Qd1-f3 + 3...Kf4-g5 4.Bg1-e3 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 49 date: 1857-11 distinction: 2nd Prize algebraic: white: [Ke7, Qe5, Bb1, Sd4, Pe2, Pd3, Pc4] black: [Kc3, Rh2, Bh4, Bg4, Pg5, Pg2] stipulation: "#4" solution: | "1.Qe5-a5 + ! 1...Kc3*d4 2.Qa5-e5 + 2...Kd4*e5 3.e2-e3 threat: 4.d3-d4 # 1...Kc3-b2 2.Qa5-d2 + 2...Kb2*b1 3.Qd2-c2 + 3...Kb1-a1 4.Sd4-b3 # 2...Kb2-a3 3.Sd4-c6 threat: 4.Qd2-b4 # 4.Qd2-a2 # 3...Ka3-b3 4.Qd2-b4 # 3...Bh4-e1 4.Qd2-a2 # 3.Qd2-c3 + 3...Ka3-a4 4.Bb1-c2 # 2...Kb2-a1 3.Qd2-a2 # 2.Qa5-a2 + 2...Kb2-c3 3.Sd4-c6 threat: 4.Qa2-c2 # 3.Sd4-b5 + 3...Kc3-b4 4.Qa2-a3 # 2...Kb2-c1 3.Qa2-c2 #" --- authors: - Loyd, Samuel source: American Chess Journal source-id: 326 date: 1877-09 algebraic: white: [Ke8, Qe7, Se6, Sb2, Pg4, Pd6] black: [Kd5, Bf8, Sa3, Pe5, Pe4] stipulation: "#4" solution: | "1.Ke8-d7 ! threat: 2.Qe7*f8 threat: 3.Qf8-a8 # 2.Qe7-d8 threat: 3.Qd8-a8 # 2.Qe7-e8 threat: 3.Qe8-a8 # 1...Sa3-c2 2.Qe7*f8 threat: 3.Qf8-a8 # 2...Sc2-d4 3.Qf8-a8 + 3...Sd4-c6 4.Qa8*c6 # 4.Qa8-a2 # 2...Sc2-b4 3.Qf8-a8 + 3...Sb4-c6 4.Qa8*c6 # 4.Qa8-a2 # 3.Qf8-c8 threat: 4.Qc8-c4 # 4.Qc8-c5 # 3...Sb4-d3 4.Qc8-b7 # 4.Qc8-c4 # 4.Qc8-c6 # 4.Qc8-a8 # 3...Sb4-c6 4.Qc8*c6 # 3...Sb4-a6 4.Qc8-b7 # 4.Qc8-c4 # 4.Qc8-c6 # 4.Qc8-a8 # 3...e4-e3 4.Qc8-c4 # 2.Qe7-d8 threat: 3.Qd8-a5 # 3.Qd8-a8 # 2...Sc2-d4 3.Qd8-a8 + 3...Sd4-c6 4.Qa8*c6 # 4.Qa8-a2 # 3.Qd8-a5 + 3...Sd4-b5 4.Qa5-a2 # 4.Qa5-a8 # 4.Qa5*b5 # 2...Sc2-b4 3.Qd8-a5 # 2...Sc2-a3 3.Qd8-a8 # 2...e4-e3 3.Qd8-a8 # 2...Bf8*d6 3.Qd8-a8 # 2.Qe7-e8 threat: 3.Qe8-a8 # 2...Sc2-d4 3.Qe8-a8 + 3...Sd4-c6 4.Qa8*c6 # 4.Qa8-a2 # 2...Sc2-b4 3.Qe8-a8 + 3...Sb4-c6 4.Qa8*c6 # 4.Qa8-a2 # 3.Qe8-c8 threat: 4.Qc8-c4 # 4.Qc8-c5 # 3...Sb4-d3 4.Qc8-b7 # 4.Qc8-c4 # 4.Qc8-c6 # 4.Qc8-a8 # 3...Sb4-c6 4.Qc8*c6 # 3...Sb4-a6 4.Qc8-b7 # 4.Qc8-c4 # 4.Qc8-c6 # 4.Qc8-a8 # 3...e4-e3 4.Qc8-c4 # 3...Bf8*d6 4.Qc8-c4 # 1...Sa3-c4 2.Sb2-a4 threat: 3.Sa4-c3 # 2...Sc4-a3 3.Sa4-b6 # 2...Sc4-b2 3.Sa4-b6 # 2...Sc4-d2 3.Sa4-b6 # 2...Sc4-e3 3.Sa4-b6 # 2...Sc4*d6 3.Sa4-b6 # 2...Sc4-b6 + 3.Sa4*b6 # 2...Sc4-a5 3.Sa4-b6 # 1...Sa3-b5 2.Qe7*f8 threat: 3.Qf8-a8 # 2...Sb5-d4 3.Qf8-a8 + 3...Sd4-c6 4.Qa8*c6 # 4.Qa8-a2 # 2...Sb5*d6 3.Qf8*d6 # 2...Sb5-c7 3.Qf8-f1 threat: 4.Qf1-c4 # 4.Qf1-d1 # 3...e4-e3 4.Qf1-c4 # 4.Qf1-d3 # 3...Sc7-b5 4.Qf1*b5 # 4.Qf1-c4 # 3...Sc7*e6 4.Qf1-c4 # 3.Qf8-c8 threat: 4.Qc8-b7 # 3...Sc7*e6 4.Qc8-c4 # 3.d6*c7 threat: 4.Qf8-c5 # 4.Qf8-d6 # 4.Qf8-a8 # 3...e4-e3 4.Qf8-a8 # 2...Sb5-a7 3.Qf8-a8 + 3...Sa7-c6 4.Qa8*c6 # 4.Qa8-a2 # 3.Qf8-f1 threat: 4.Qf1-c4 # 4.Qf1-d1 # 3...e4-e3 4.Qf1-c4 # 4.Qf1-d3 # 3...Sa7-b5 4.Qf1*b5 # 4.Qf1-c4 # 3...Sa7-c6 4.Qf1-b5 # 4.Qf1-c4 # 2.Qe7-d8 threat: 3.Qd8-a8 # 2...Sb5-d4 3.Qd8-a8 + 3...Sd4-c6 4.Qa8*c6 # 4.Qa8-a2 # 3.Qd8-a5 + 3...Sd4-b5 4.Qa5-a2 # 4.Qa5-a8 # 4.Qa5*b5 # 2...Sb5*d6 3.Qd8-a8 + 3...Sd6-b7 4.Qa8*b7 # 4.Qa8-a2 # 3.Qd8-a5 + 3...Sd6-b5 4.Qa5-a2 # 4.Qa5-a8 # 3.Qd8-b6 threat: 4.Se6-c7 # 4.Qb6-c5 # 4.Qb6-c6 # 3...e4-e3 4.Qb6-c6 # 3...Sd6-b5 4.Qb6-b7 # 4.Qb6-c6 # 3...Sd6-c4 4.Se6-c7 # 4.Qb6-b7 # 4.Qb6-c6 # 3...Sd6-f5 4.Se6-c7 # 4.Qb6-b3 # 4.Qb6-b7 # 4.Qb6-c6 # 3...Sd6-f7 4.Se6-c7 # 4.Qb6-b3 # 4.Qb6-b7 # 4.Qb6-c6 # 3...Sd6-e8 4.Qb6-b3 # 4.Qb6-b7 # 4.Qb6-c6 # 3...Sd6-c8 4.Se6-c7 # 4.Qb6-b3 # 4.Qb6-b7 # 4.Qb6-c6 # 3...Sd6-b7 4.Se6-c7 # 4.Qb6-b3 # 4.Qb6*b7 # 4.Qb6-c6 # 3.Qd8-c7 threat: 4.Qc7-c5 # 4.Qc7-c6 # 3...e4-e3 4.Qc7-c6 # 3...Sd6-b5 4.Qc7-c4 # 4.Qc7-c6 # 4.Qc7-b7 # 3...Sd6-c4 4.Qc7*c4 # 4.Qc7-c6 # 4.Qc7-b7 # 3...Sd6-f5 4.Qc7-c4 # 4.Qc7-c6 # 4.Qc7-b7 # 3...Sd6-f7 4.Qc7-c4 # 4.Qc7-c6 # 4.Qc7-b7 # 3...Sd6-e8 4.Qc7-c4 # 4.Qc7-c6 # 4.Qc7-b7 # 3...Sd6-c8 4.Qc7-c4 # 4.Qc7-c6 # 4.Qc7-b7 # 3...Sd6-b7 4.Qc7-c4 # 4.Qc7-c6 # 4.Qc7*b7 # 2...Sb5-c7 3.Qd8*c7 threat: 4.Qc7-a5 # 4.Qc7-c4 # 4.Qc7-c5 # 4.Qc7-c6 # 4.Qc7-b7 # 3...e4-e3 4.Qc7-c4 # 4.Qc7-c6 # 4.Qc7-b7 # 3...Bf8*d6 4.Qc7*d6 # 4.Qc7-c4 # 4.Qc7-c6 # 4.Qc7-b7 # 3.Qd8-c8 threat: 4.Qc8-b7 # 3...Sc7*e6 4.Qc8-c4 # 3.d6*c7 threat: 4.Qd8-a8 # 2...Sb5-a7 3.Qd8-a8 + 3...Sa7-c6 4.Qa8*c6 # 4.Qa8-a2 # 3.Qd8-a5 + 3...Sa7-b5 4.Qa5-a2 # 4.Qa5-a8 # 4.Qa5*b5 # 3.Qd8-c7 threat: 4.Qc7-c4 # 4.Qc7-c5 # 3...e4-e3 4.Qc7-c4 # 3...Sa7-c6 4.Qc7*c6 # 3...Bf8*d6 4.Qc7*d6 # 4.Qc7-c4 # 2.Qe7-e8 threat: 3.Qe8-a8 # 2...Sb5-d4 3.Qe8-a8 + 3...Sd4-c6 4.Qa8*c6 # 4.Qa8-a2 # 2...Sb5*d6 3.Qe8-a8 + 3...Sd6-b7 4.Qa8*b7 # 4.Qa8-a2 # 2...Sb5-c7 3.Qe8-c8 threat: 4.Qc8-b7 # 3...Sc7*e6 4.Qc8-c4 # 3.d6*c7 threat: 4.Qe8-a8 # 2...Sb5-a7 3.Qe8-a8 + 3...Sa7-c6 4.Qa8*c6 # 4.Qa8-a2 # 1...Bf8*e7 2.d6*e7 threat: 3.e7-e8=Q threat: 4.Qe8-a8 # 3.e7-e8=S threat: 4.Se8-c7 # 4.Se8-f6 # 3...Sa3-b5 4.Se8-f6 # 3...e4-e3 4.Se8-f6 # 2...Sa3-c2 3.e7-e8=S threat: 4.Se8-c7 # 4.Se8-f6 # 3...e4-e3 4.Se8-f6 # 2...Sa3-c4 3.Sb2-a4 threat: 4.Sa4-c3 # 3...Sc4-a3 4.Sa4-b6 # 3...Sc4-b2 4.Sa4-b6 # 3...Sc4-d2 4.Sa4-b6 # 3...Sc4-e3 4.Sa4-b6 # 3...Sc4-d6 4.Sa4-b6 # 3...Sc4-b6 + 4.Sa4*b6 # 3...Sc4-a5 4.Sa4-b6 # 2...Sa3-b5 3.e7-e8=S threat: 4.Se8-f6 # 2...e4-e3 3.e7-e8=Q threat: 4.Qe8-a8 # 3...e5-e4 4.Qe8-h5 # 1...Bf8-h6 2.Qe7-d8 threat: 3.Qd8-a8 # 2.Qe7-e8 threat: 3.Qe8-a8 # 1...Bf8-g7 2.Qe7-d8 threat: 3.Qd8-a8 # 2.Qe7-e8 threat: 3.Qe8-a8 #" --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper source-id: 55 date: 1856-12-27 algebraic: white: [Ke8, Rf1, Rd5, Bf8, Sf5, Se5, Pc2, Pb6, Pa5] black: [Ke6, Rh7, Re2, Pg4, Pf7, Pf6, Pe4, Pc3, Pb7] stipulation: "#4" solution: | "1.Sf5-e3 ! threat: 2.Se5*g4 threat: 3.Rd5-d6 # 3.Rf1*f6 # 2...Re2-d2 3.Rf1*f6 # 2...Re2*e3 3.Rd5-d6 # 2...Re2-f2 3.Rd5-d6 # 2...f6-f5 3.Rd5-d6 # 3.Rd5-e5 # 2...Rh7-h6 3.Rd5-d6 # 2.Se5-d7 threat: 3.Sd7-c5 # 3.Rd5-d6 # 3.Rf1*f6 # 2...Re2-d2 3.Sd7-c5 # 3.Rf1*f6 # 2...Re2*e3 3.Rd5-d6 # 2...Re2-f2 3.Rd5-d6 # 3.Sd7-c5 # 2...f6-f5 3.Rd5-d6 # 3.Rd5-e5 # 2...Rh7-h6 3.Sd7-c5 # 3.Rd5-d6 # 2.Rd5-d6 + 2...Ke6*e5 3.Se3*g4 # 3.Se3-c4 # 3.Rf1-f5 # 1...Re2-d2 2.Se5-d7 threat: 3.Sd7-c5 # 3.Rf1*f6 # 2...Rd2*d5 3.Rf1*f6 # 2...Rd2-f2 3.Sd7-c5 # 3.Rd5-d6 # 2...f6-f5 3.Rd5-e5 # 2...Rh7-h6 3.Sd7-c5 # 1...Re2*e3 2.Rf1-f5 threat: 3.Se5-d7 threat: 4.Sd7-c5 # 2...Ke6*f5 3.Se5-d3 + 3...Kf5-e6 4.Sd3-f4 # 3...Kf5-g6 4.Sd3-f4 # 2...Ke6*d5 3.Se5-c6 + 3...Kd5-c4 4.Rf5-c5 # 3...Kd5*c6 4.Rf5-c5 # 3...Kd5-e6 4.Sc6-d4 # 1...Re2-g2 2.Se5-d7 threat: 3.Sd7-c5 # 3.Rd5-d6 # 3.Rf1*f6 # 2...Rg2-d2 3.Sd7-c5 # 3.Rf1*f6 # 2...Rg2-f2 3.Sd7-c5 # 3.Rd5-d6 # 2...f6-f5 3.Rd5-d6 # 3.Rd5-e5 # 2...Rh7-h6 3.Sd7-c5 # 3.Rd5-d6 # 2.Rd5-d6 + 2...Ke6*e5 3.Se3-c4 # 3.Rf1-f5 # 1...Re2-f2 2.Se5*g4 threat: 3.Rd5-d6 # 2...Rf2-d2 3.Rf1*f6 # 2.Se5-d7 threat: 3.Sd7-c5 # 3.Rd5-d6 # 2...Rf2-d2 3.Sd7-c5 # 3.Rf1*f6 # 2...f6-f5 3.Rd5-d6 # 3.Rd5-e5 # 1...f6-f5 2.Se5-d7 threat: 3.Rd5-d6 # 3.Rd5-e5 # 2...Re2-d2 3.Rd5-e5 # 2...f7-f6 3.Sd7-c5 # 3.Rd5-d6 # 2.Rd5-d6 + 2...Ke6*e5 3.Se3-c4 # 3.Rf1*f5 # 1...Rh7-h4 2.Se5*f7 threat: 3.Sf7-d8 # 3.Rd5-d6 # 2...Re2-d2 3.Sf7-d8 # 2...Re2*e3 3.Rd5-d6 # 2...f6-f5 3.Rd5-d6 # 2.Se5-d7 threat: 3.Rd5-d6 # 3.Sd7-c5 # 3.Rf1*f6 # 2...Re2-d2 3.Sd7-c5 # 3.Rf1*f6 # 2...Re2*e3 3.Rd5-d6 # 2...Re2-f2 3.Rd5-d6 # 3.Sd7-c5 # 2...Rh4-h6 3.Sd7-c5 # 3.Rd5-d6 # 2...f6-f5 3.Rd5-d6 # 3.Rd5-e5 # 2.Rd5-d6 + 2...Ke6*e5 3.Se3-c4 # 3.Rf1-f5 # 1...Rh7-h6 2.Se5*f7 threat: 3.Sf7-d8 # 3.Rd5-d6 # 2...Re2-d2 3.Sf7-d8 # 2...Re2*e3 3.Rd5-d6 # 2...f6-f5 3.Rd5-d6 # 2.Se5-d7 threat: 3.Rd5-d6 # 3.Sd7-c5 # 2...Re2-d2 3.Sd7-c5 # 2...Re2*e3 3.Rd5-d6 # 2...f6-f5 3.Rd5-d6 # 3.Rd5-e5 # 2.Rd5-d6 + 2...Ke6*e5 3.Se3*g4 # 3.Se3-c4 # 3.Rf1-f5 # 1...Rh7-g7 2.Se5-d7 threat: 3.Sd7-c5 # 3.Rd5-d6 # 3.Rf1*f6 # 2...Re2-d2 3.Sd7-c5 # 3.Rf1*f6 # 2...Re2*e3 3.Rd5-d6 # 2...Re2-f2 3.Rd5-d6 # 3.Sd7-c5 # 2...f6-f5 3.Rd5-d6 # 3.Rd5-e5 # 2...Rg7-g6 3.Sd7-c5 # 3.Rd5-d6 # 2.Rd5-d6 + 2...Ke6*e5 3.Se3-c4 # 3.Rf1-f5 # 1...Rh7-h8 2.Se5-d7 threat: 3.Sd7-c5 # 3.Rd5-d6 # 3.Rf1*f6 # 2...Re2-d2 3.Sd7-c5 # 3.Rf1*f6 # 2...Re2*e3 3.Rd5-d6 # 2...Re2-f2 3.Rd5-d6 # 3.Sd7-c5 # 2...f6-f5 3.Rd5-d6 # 3.Rd5-e5 # 2...Rh8-h6 3.Sd7-c5 # 3.Rd5-d6 # 2...Rh8*f8 + 3.Sd7*f8 # 2.Rd5-d6 + 2...Ke6*e5 3.Se3*g4 # 3.Se3-c4 # 3.Rf1-f5 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 55 date: 1857-12 algebraic: white: [Kf1, Qe7, Bc3, Pa5] black: [Ka6, Rb4, Ba3, Sa1, Pc4, Pb5, Pa4] stipulation: "#4" solution: | "1.Qe7-d6 + ! 1...Ka6-a7 2.Qd6-c7 + 2...Ka7-a8 3.Qc7-c8 + 3...Ka8-a7 4.Bc3-d4 # 2...Ka7-a6 3.Qc7-b6 # 2.Qd6-b6 + 2...Ka7-a8 3.Qb6-a6 + 3...Ka8-b8 4.Bc3-e5 # 1...Ka6*a5 2.Kf1-f2 zugzwang. 2...Sa1-c2 3.Bc3-f6 threat: 4.Bf6-d8 # 2...Sa1-b3 3.Bc3-f6 threat: 4.Bf6-d8 # 2...Ba3-c1 3.Bc3*b4 # 2...Ba3-b2 3.Bc3*b4 # 1...Ka6-b7 2.a5-a6 + 2...Kb7-a7 3.Bc3-d4 + 3...Ka7-a8 4.Qd6-f8 # 4.Qd6-d8 # 2...Kb7-a8 3.Qd6-d5 + 3...Ka8-b8 4.Qd5-b7 # 3...Ka8-a7 4.Qd5-b7 # 3.Qd6-c6 + 3...Ka8-b8 4.Qc6-b7 # 3...Ka8-a7 4.Qc6-b7 # 2...Kb7-c8 3.Qd6-c6 + 3...Kc8-d8 4.Bc3-f6 # 3...Kc8-b8 4.Qc6-b7 #" --- authors: - Loyd, Samuel source: Amateur Chess Journal source-id: 176 date: 1877-01 algebraic: white: [Kf1, Qc1, Rg1, Rd1, Bg4, Sc3, Sb1, Ph2, Pd7, Pd4, Pc2, Pb7] black: [Kc4, Qc7, Rh5, Rc6, Be7, Se1, Sc5, Ph6, Ph3, Pg7, Pf7, Pf4, Pe4] stipulation: "#4" solution: | "1.Sb1-d2 + ! 1...Kc4*d4 2.Sc3-b5 + 2...Kd4-d5 3.c2-c4 + 3...Kd5-e5 4.Qc1-b2 # 4.Qc1-a1 # 4.Qc1-c3 # 2...Kd4-e5 3.Qc1-b2 + 3...Ke5-d5 4.c2-c4 # 4.Qb2-d4 # 3.Qc1-a1 + 3...Ke5-d5 4.c2-c4 # 4.Qa1-d4 # 2...Kd4-e3 3.Sd2-b1 # 3.Sd2-f3 # 3.Sd2-c4 # 3.Sd2-b3 # 3.Rd1*e1 # 1...Kc4-b4 2.Qc1-a3 + 2...Kb4*a3 3.Rd1-b1 threat: 4.Sd2-c4 # 3...Sc5-a4 4.Rb1-b3 # 3...Sc5-b3 4.Rb1*b3 # 3...Sc5-d3 4.Rb1-b3 # 3...Sc5-e6 4.Rb1-b3 # 3...Sc5*d7 4.Rb1-b3 # 3...Sc5*b7 4.Rb1-b3 # 3...Sc5-a6 4.Rb1-b3 # 1...Kc4*c3 2.Qc1-a1 + 2...Kc3*c2 3.Rd1-c1 + 3...Kc2*d2 4.Qa1-c3 # 3...Kc2-d3 4.Qa1-c3 # 3.Qa1-c1 + 3...Kc2-d3 4.Sd2-b1 # 4.Sd2-f3 # 4.Sd2-c4 # 4.Sd2-b3 # 2...Kc3-b4 3.Rd1-b1 + 3...Sc5-b3 4.Rb1*b3 #" keywords: - Letters comments: - | B - cause - With 184779, 189985, and 190696 are the last name letters of Henry E. Bird --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 65 date: 1858-03 algebraic: white: [Kf1, Rh5, Rf5, Sf4, Se6, Pf2] black: [Kf3, Qa8, Rc7, Ra7, Bb1, Sg8, Sb3, Ph7, Ph4, Pc2, Pa4] stipulation: "#5" solution: | "1.Sf4-d3 + ! 1...Kf3-e4 2.Sd3-c1 threat: 3.Rf5-f4 # 2...Sb3*c1 3.Rf5-f3 threat: 4.Rf3-e3 # 3...Ke4*f3 4.Rh5*h4 threat: 5.Se6-d4 # 5.Se6-g5 # 5.Rh4-f4 # 4...Sc1-e2 5.Se6-g5 # 4...Sc1-d3 5.Se6-d4 # 5.Se6-g5 # 4...Sc1-b3 5.Se6-g5 # 5.Rh4-f4 # 4...Ra7-a5 5.Se6-d4 # 5.Rh4-f4 # 4...Rc7-c4 5.Se6-g5 # 4...Rc7-c5 5.Se6-d4 # 5.Rh4-f4 # 4...Rc7-g7 5.Se6-d4 # 5.Rh4-f4 # 4...Rc7-f7 5.Se6-d4 # 5.Se6-g5 # 4...Rc7-d7 5.Se6-g5 # 5.Rh4-f4 # 4...h7-h6 5.Se6-d4 # 5.Rh4-f4 # 4...Qa8-e4 5.Se6-g5 # 4...Qa8-d5 5.Rh4-f4 # 4...Qa8-f8 5.Se6-d4 # 5.Se6-g5 # 4...Qa8-d8 5.Rh4-f4 # 3...Rc7-c3 4.Rf3-f4 + 4...Ke4-d3 5.Rf4-d4 # 2...Sb3-d2 + 3.Kf1-e2 threat: 4.Rf5-f4 # 4.Rf5-e5 # 3...Sd2-f3 4.Rf5-f4 # 3...Sd2-c4 4.Rf5-f4 # 4.f2-f3 # 3...Ra7-a5 4.Rf5-f4 # 3...Rc7-c5 4.Rf5-f4 # 3...Rc7-f7 4.Rf5-e5 # 3...Qa8-d5 4.Rf5-f4 # 3...Qa8-f8 4.Rf5-e5 # 2...Rc7-f7 3.Rf5-e5 + 3...Ke4-f3 4.Re5-e3 + 4...Kf3-g4 5.Rh5-g5 # 2...Qa8-f8 3.Rf5-e5 + 3...Ke4-f3 4.Re5-e3 + 4...Kf3-g4 5.Rh5-g5 # 1...Kf3-g4 2.Rf5-g5 + 2...Kg4-h3 3.Se6-f4 + 3...Kh3-h2 4.Rh5*h4 # 3.Rg5-g3 + 3...Kh3-h2 4.Rh5*h4 # 3.Sd3-f4 + 3...Kh3-h2 4.Rh5*h4 # 2...Kg4-f3 3.Sd3-e1 + 3...Kf3-e4 4.Rh5*h4 # 4.Rg5-g4 # 4.Rg5-e5 # 2.Sd3-e5 + 2...Kg4-h3 3.Se6-f4 + 3...Kh3-h2 4.Rh5*h4 # 3.Se6-g5 + 3...Kh3-h2 4.Rh5*h4 #" --- authors: - Loyd, Samuel source: Mirror of American Sports date: 1885 algebraic: white: [Kf2, Qg5, Re1, Bg1, Sd5, Sd4, Ph2, Pg3, Pc6] black: [Kd6, Ra6, Bf1, Bb4, Pg2, Pe2, Pc3, Pb6, Pb3, Pa7] stipulation: "#4" solution: | "1.Sd5-e3 ! threat: 2.Qg5-d8 + 2...Kd6-e5 3.Kf2-f3 threat: 4.Se3-g4 # 4.Se3-c4 # 3...Bb4-e7 4.Se3-g4 # 3...Bb4-d6 4.Qd8-h8 # 3...b6-b5 4.Se3-g4 # 2...Kd6-c5 3.Qd8-d5 # 1...Bb4-a5 2.Qg5-g8 threat: 3.Qg8-f8 + 3...Kd6-c7 4.Se3-d5 # 3...Kd6-e5 4.Qf8-f4 # 2...Kd6-e7 3.Se3-f5 + 3...Ke7-f6 4.Qg8-g7 # 2...Kd6-e5 3.Qg8-e6 + 3...Ke5*d4 4.Qe6-d5 # 2...Kd6-c5 3.Sd4-b5 threat: 4.Qg8-c4 # 3...Kc5*c6 4.Qg8-d5 # 1...Kd6-c7 2.Sd4-b5 + 2...Kc7-c8 3.Qg5-g8 + 3...Bb4-f8 4.Qg8*f8 # 2...Kc7*c6 3.Qg5-d5 # 2...Kc7-b8 3.Qg5-d8 #" comments: - "also(?) in The New York Telegram, 1890" --- authors: - Loyd, Samuel source: The Chess Monthly date: 1858-04 algebraic: white: [Kf2, Sf5, Se2] black: [Kh1, Sb6, Sa6, Ph7, Pe7, Pc5] stipulation: "#6" solution: | "1.Sf5-h6 ! threat: 2.Sh6-g4 threat: 3.Se2-g3 # 1...Kh1-h2 2.Se2-f4 threat: 3.Sh6-g4 + 3...Kh2-h1 4.Sf4-e2 threat: 5.Se2-g3 # 4.Sf4-h5 threat: 5.Sh5-g3 # 2...Kh2-h1 3.Sh6-g4 threat: 4.Sf4-e2 threat: 5.Se2-g3 # 4.Sf4-h5 threat: 5.Sh5-g3 # 3...Sa6-b4 4.Sf4-e2 threat: 5.Se2-g3 # 4...Sb4-d3 + 5.Kf2-f1 threat: 6.Se2-g3 # 4.Sf4-h5 threat: 5.Sh5-g3 # 4...Sb4-d3 + 5.Kf2-f1 threat: 6.Sh5-g3 # 3...h7-h5 4.Sf4*h5 threat: 5.Sh5-g3 # 2...Sa6-b4 3.Sh6-g4 + 3...Kh2-h1 4.Sf4-h5 threat: 5.Sh5-g3 # 4...Sb4-d3 + 5.Kf2-f1 threat: 6.Sh5-g3 # 4.Sf4-e2 threat: 5.Se2-g3 # 4...Sb4-d3 + 5.Kf2-f1 threat: 6.Se2-g3 # 1...Sa6-b4 2.Sh6-g4 threat: 3.Se2-g3 # 2...Sb4-d3 + 3.Kf2-f1 threat: 4.Se2-g3 #" --- authors: - Loyd, Samuel source: Sam Loyd und seine Schachaufgaben source-id: 289 date: 1926 algebraic: white: [Kf5, Ra4, Bc5, Sf2, Ph4, Ph2] black: [Kg1, Pg2, Pc7, Pc6] stipulation: "#4" solution: | "1.Sf2-h3 + ! 1...Kg1-h1 2.Sh3-g1 threat: 3.Ra4-a3 zugzwang. 3...Kh1*h2 4.Ra3-h3 # 2.Bc5-g1 threat: 3.Ra4-a1 threat: 4.Sh3-f2 # 1...Kg1-f1 2.Sh3-g1 threat: 3.Ra4-a1 # 2...Kf1-e1 3.Ra4-d4 zugzwang. 3...Ke1-f1 4.Rd4-d1 # 3...Ke1-f2 4.Rd4-d1 # 1...Kg1*h2 2.Sh3-g1 threat: 3.Ra4-a3 threat: 4.Ra3-h3 # 2.Bc5-g1 + 2...Kh2*h3 3.Kf5-g5 threat: 4.Ra4-a3 # 2...Kh2-h1 3.Ra4-a1 threat: 4.Sh3-f2 # 2...Kh2-g3 3.Sh3-g5 threat: 4.Ra4-g4 #" --- authors: - Loyd, Samuel source: American Union source-id: 15 date: 1858-07-31 algebraic: white: [Kf6, Qd4, Ra7, Bg8, Se5, Sc8, Pg2, Pe2] black: [Kb8, Ra1, Bf5, Bf4, Sa8, Pg6, Pg5, Pg4, Pg3, Pe6, Pe4, Pe3, Pb7] stipulation: "#4" solution: | "1.Ra7*a8 + ! 1...Ra1*a8 2.Sc8-a7 zugzwang. 2...Bf4*e5 + 3.Kf6*e5 zugzwang. 3...b7-b5 4.Qd4-b6 # 3...b7-b6 4.Qd4*b6 # 3...Ra8*a7 4.Qd4-d8 # 3...Kb8-c7 4.Qd4-d6 # 2...b7-b5 3.Qd4-b6 # 2...b7-b6 3.Qd4*b6 # 2...Ra8*a7 3.Qd4-d8 # 2...Kb8-c7 3.Qd4-c5 + 3...Kc7-b8 4.Se5-d7 # 3...Kc7-d8 4.Qc5-e7 # 1...Kb8*a8 2.Se5-d7 threat: 3.Qd4*a1 # 2...Ra1-a7 3.Sc8-b6 # 3.Qd4*a7 # 2...Ra1-a6 3.Qd4-a7 + 3...Ra6*a7 4.Sc8-b6 # 2...Ra1-a5 3.Qd4-a7 + 3...Ra5*a7 4.Sc8-b6 # 2...Ra1-a4 3.Qd4*a4 # 2...Ra1-a3 3.Qd4-a7 + 3...Ra3*a7 4.Sc8-b6 # 2...Ra1-a2 3.Qd4-a7 + 3...Ra2*a7 4.Sc8-b6 # 2...Ra1-h1 3.Qd4-a7 # 3.Qd4-a4 # 2...Ra1-g1 3.Qd4-a7 # 3.Qd4-a4 # 2...Ra1-f1 3.Qd4-a7 # 3.Qd4-a4 # 2...Ra1-e1 3.Qd4-a7 # 3.Qd4-a4 # 2...Ra1-d1 3.Qd4-a7 # 3.Qd4-a4 # 2...Ra1-c1 3.Qd4-a7 # 3.Qd4-a4 # 2...Ra1-b1 3.Qd4-a7 # 3.Qd4-a4 # 2...Bf4-b8 3.Sd7-b6 # 2...Bf4-c7 3.Qd4*a1 + 3...Bc7-a5 4.Qa1*a5 # 2...Bf4-d6 3.Qd4*a1 + 3...Bd6-a3 4.Qa1*a3 # 3.Sd7-b6 + 3...Ka8-b8 4.Qd4*d6 # 3.Qd4-a7 + 3...Ra1*a7 4.Sc8-b6 # 3.Qd4*d6 threat: 4.Sd7-b6 # 4.Qd6-b8 # 3...Ra1-a6 4.Qd6-b8 # 3...Ra1-b1 4.Qd6-a3 # 4.Qd6-b8 # 3...b7-b5 4.Qd6-b8 # 4.Qd6-c6 # 3...b7-b6 4.Qd6-b8 # 4.Qd6-c6 # 2...Bf4-e5 + 3.Qd4*e5 threat: 4.Sd7-b6 # 4.Qe5*a1 # 4.Qe5-b8 # 3...Ra1-a7 4.Sc8-b6 # 4.Sd7-b6 # 4.Qe5-b8 # 3...Ra1-a6 4.Qe5-b8 # 3...Ra1-a5 4.Sd7-b6 # 4.Qe5-b8 # 4.Qe5*a5 # 3...Ra1-a4 4.Sd7-b6 # 4.Qe5-b8 # 3...Ra1-a3 4.Sd7-b6 # 4.Qe5-b8 # 3...Ra1-a2 4.Sd7-b6 # 4.Qe5-b8 # 3...Ra1-h1 4.Sd7-b6 # 4.Qe5-b8 # 4.Qe5-a5 # 3...Ra1-g1 4.Sd7-b6 # 4.Qe5-b8 # 4.Qe5-a5 # 3...Ra1-f1 4.Sd7-b6 # 4.Qe5-b8 # 4.Qe5-a5 # 3...Ra1-e1 4.Sd7-b6 # 4.Qe5-b8 # 4.Qe5-a5 # 3...Ra1-d1 4.Sd7-b6 # 4.Qe5-b8 # 4.Qe5-a5 # 3...Ra1-c1 4.Sd7-b6 # 4.Qe5-b8 # 4.Qe5-a5 # 3...Ra1-b1 4.Qe5-b8 # 4.Qe5-a5 # 3...b7-b5 4.Qe5-b8 # 3...b7-b6 4.Qe5-b8 # 2...b7-b5 3.Qd4-d5 + 3...e6*d5 4.Bg8*d5 # 2...b7-b6 3.Qd4-d5 + 3...e6*d5 4.Bg8*d5 # 1...Kb8-c7 2.Qd4-b6 # 2.Qd4-d7 # 2.Qd4-d6 #" --- authors: - Loyd, Samuel source: Harper's Weekly source-id: 6 date: 1858-11-20 algebraic: white: [Kf7, Qe6, Sb6, Pe2, Pc4] black: [Kd4, Bc3, Ph5, Ph4, Pe7, Pc5, Pb5] stipulation: "#4" solution: | "1.Sb6-d5 ! threat: 2.Sd5-c7 threat: 3.Sc7*b5 # 1...Bc3-a1 2.Qe6-f5 threat: 3.Qf5-f4 # 2...Kd4*c4 3.Qf5-d3 # 2...b5*c4 3.e2-e3 # 2...e7-e5 3.Qf5-d3 # 2.Qe6-e3 + 2...Kd4*c4 3.Qe3-d3 # 1...Bc3-b2 2.Qe6-e3 + 2...Kd4*c4 3.Qe3-d3 # 1...Bc3-e1 2.Qe6-e3 + 2...Kd4*c4 3.Qe3-d3 # 1...Bc3-d2 2.Qe6-f5 threat: 3.Kf7-e6 threat: 4.Qf5-d3 # 3...b5*c4 4.Qf5-e5 # 1...Bc3-a5 2.Qe6-e3 + 2...Kd4*c4 3.Qe3-d3 # 1...Bc3-b4 2.Qe6-e3 + 2...Kd4*c4 3.Qe3-d3 # 3.Sd5-b6 # 1...Kd4*c4 2.Sd5-c7 + 2...Kc4-d4 3.Sc7*b5 # 2...Kc4-b4 3.Qe6-a2 threat: 4.Sc7-a6 # 4.Sc7-d5 # 3...Bc3-a1 4.Sc7-d5 # 3...Bc3-b2 4.Sc7-d5 # 3...Bc3-e1 4.Sc7-d5 # 3...Bc3-d2 4.Sc7-d5 # 3...Bc3-h8 4.Sc7-d5 # 3...Bc3-g7 4.Sc7-d5 # 3...Bc3-f6 4.Sc7-d5 # 3...Bc3-e5 4.Sc7-d5 # 3...Bc3-d4 4.Sc7-d5 # 3...c5-c4 4.Sc7-a6 # 3...e7-e6 4.Sc7-a6 #" --- authors: - Loyd, Samuel source: The Illustrated London News date: 1867 algebraic: white: [Kf8, Re3, Ra6, Be6, Ba1, Sa7, Pd5, Pd2, Pc6, Pb5, Pb3, Pa2] black: [Kc5, Rh4, Pc7, Pa3] stipulation: "#4" solution: | "1.Ba1-g7 ! threat: 2.Kf8-g8 threat: 3.Bg7-f8 + 3...Kc5-d4 4.Ra6-a4 # 3.d2-d4 + 3...Rh4*d4 4.Bg7-f8 # 3...Kc5-d6 4.Bg7-f8 # 4.Sa7-c8 # 3...Kc5-b4 4.Bg7-f8 # 4.Ra6-a4 # 2...Rh4-b4 3.d2-d4 + 3...Rb4*d4 4.Bg7-f8 # 3...Kc5-d6 4.Bg7-f8 # 4.Sa7-c8 # 2...Rh4-c4 3.d2-d4 + 3...Rc4*d4 4.Bg7-f8 # 3...Kc5-d6 4.Bg7-f8 # 4.Sa7-c8 # 3...Kc5-b4 4.Ra6-a4 # 2...Rh4-e4 3.Re3*e4 threat: 4.Bg7-f8 # 3.d2-d4 + 3...Re4*d4 4.Bg7-f8 # 3...Kc5-d6 4.Bg7-f8 # 4.Sa7-c8 # 3...Kc5-b4 4.Bg7-f8 # 4.Ra6-a4 # 2...Rh4-f4 3.d2-d4 + 3...Rf4*d4 4.Bg7-f8 # 3...Kc5-d6 4.Sa7-c8 # 3...Kc5-b4 4.Ra6-a4 # 2...Rh4-g4 3.d2-d4 + 3...Rg4*d4 4.Bg7-f8 # 3...Kc5-d6 4.Sa7-c8 # 3...Kc5-b4 4.Ra6-a4 # 2...Rh4-h8 + 3.Kg8*h8 zugzwang. 3...Kc5-d6 4.Bg7-f8 # 3...Kc5-b4 4.Bg7-f8 # 2...Rh4-h7 3.Kg8*h7 zugzwang. 3...Kc5-d6 4.Bg7-f8 # 3...Kc5-b4 4.Bg7-f8 # 3.Re3-c3 + 3...Kc5-d6 4.Sa7-c8 # 3...Kc5-b4 4.Ra6-a4 # 4.Rc3-c4 # 3.d2-d4 + 3...Kc5-d6 4.Sa7-c8 # 3...Kc5-b4 4.Ra6-a4 # 2.Re3-c3 + 2...Rh4-c4 3.Rc3*c4 + 3...Kc5-d6 4.Sa7-c8 # 3.d2-d4 + 3...Kc5-b4 4.Rc3*c4 # 3...Kc5-d6 4.Bg7-e5 # 4.Sa7-c8 # 2...Kc5-d6 3.Sa7-c8 # 2...Kc5-b4 3.Ra6-a4 # 1...Rh4-a4 2.Re3-c3 + 2...Ra4-c4 3.Rc3*c4 + 3...Kc5-d6 4.Sa7-c8 # 3.d2-d4 + 3...Kc5-b4 4.Rc3*c4 # 3...Kc5-d6 4.Bg7-e5 # 4.Sa7-c8 # 2...Kc5-d6 3.Sa7-c8 # 2...Kc5-b4 3.Ra6*a4 # 3.Rc3-c4 # 1...Rh4-b4 2.Re3-c3 + 2...Rb4-c4 3.d2-d4 + 3...Kc5-d6 4.Bg7-e5 # 4.Sa7-c8 # 3...Kc5-b4 4.Rc3*c4 # 3.Rc3*c4 + 3...Kc5-d6 4.Sa7-c8 # 2...Kc5-d6 3.Sa7-c8 # 1...Rh4-d4 2.Re3-c3 + 2...Rd4-c4 3.d2-d4 + 3...Kc5-d6 4.Sa7-c8 # 4.Bg7-e5 # 3...Kc5-b4 4.Rc3*c4 # 3.Rc3*c4 + 3...Kc5-d6 4.Sa7-c8 # 2...Kc5-d6 3.Sa7-c8 # 2...Kc5-b4 3.Ra6-a4 # 1...Rh4-e4 2.Re3-c3 + 2...Re4-c4 3.Rc3*c4 + 3...Kc5-d6 4.Sa7-c8 # 3.d2-d4 + 3...Kc5-b4 4.Rc3*c4 # 3...Kc5-d6 4.Bg7-e5 # 4.Sa7-c8 # 2...Kc5-d6 3.Sa7-c8 # 2...Kc5-b4 3.Ra6-a4 # 2.Re3*e4 threat: 3.Kf8-g8 threat: 4.Bg7-f8 # 3.Kf8-e8 threat: 4.Bg7-f8 # 3.Kf8-f7 threat: 4.Bg7-f8 # 3.Bg7-c3 threat: 4.Bc3-b4 # 3.Bg7-d4 + 3...Kc5-d6 4.Sa7-c8 # 3...Kc5-b4 4.Ra6-a4 # 4.Bd4-g1 # 4.Bd4-f2 # 4.Bd4-e3 # 4.Bd4-b6 # 3.Bg7-f6 threat: 4.Bf6-e7 # 3.Re4-c4 + 3...Kc5-d6 4.Sa7-c8 # 3.b3-b4 + 3...Kc5-d6 4.Sa7-c8 # 4.Bg7-e5 # 2...Kc5-d6 3.Kf8-e8 threat: 4.Bg7-f8 # 3.Kf8-f7 threat: 4.Bg7-f8 # 3.Bg7-c3 threat: 4.Bc3-b4 # 3.Bg7-e5 + 3...Kd6-c5 4.Re4-c4 # 4.b3-b4 # 3.Bg7-f6 threat: 4.Bf6-e7 # 1...Rh4-f4 + 2.Kf8-e8 threat: 3.d2-d4 + 3...Rf4*d4 4.Bg7-f8 # 3...Kc5-d6 4.Bg7-e5 # 4.Sa7-c8 # 3...Kc5-b4 4.Ra6-a4 # 2...Rf4-f8 + 3.Bg7*f8 + 3...Kc5-d4 4.Ra6-a4 # 2...Rf4-f6 3.Bg7*f6 zugzwang. 3...Kc5-d6 4.Bf6-e7 # 3...Kc5-b4 4.Bf6-e7 # 1...Rh4-g4 2.Bg7-f6 threat: 3.Bf6-e7 + 3...Kc5-d4 4.Ra6-a4 # 3.d2-d4 + 3...Rg4*d4 4.Bf6-e7 # 3...Kc5-d6 4.Bf6-e7 # 4.Sa7-c8 # 4.Bf6-e5 # 3...Kc5-b4 4.Bf6-e7 # 4.Ra6-a4 # 2...Rg4-b4 3.d2-d4 + 3...Rb4*d4 4.Bf6-e7 # 3...Kc5-d6 4.Bf6-e7 # 4.Sa7-c8 # 4.Bf6-e5 # 2...Rg4-c4 3.d2-d4 + 3...Rc4*d4 4.Bf6-e7 # 3...Kc5-d6 4.Bf6-e7 # 4.Sa7-c8 # 4.Bf6-e5 # 3...Kc5-b4 4.Ra6-a4 # 2...Rg4-e4 3.Re3*e4 threat: 4.Bf6-e7 # 3.d2-d4 + 3...Re4*d4 4.Bf6-e7 # 3...Kc5-d6 4.Bf6-e7 # 4.Sa7-c8 # 3...Kc5-b4 4.Bf6-e7 # 4.Ra6-a4 # 2...Rg4-f4 3.d2-d4 + 3...Rf4*d4 4.Bf6-e7 # 3...Kc5-d6 4.Sa7-c8 # 3...Kc5-b4 4.Ra6-a4 # 2...Rg4-g8 + 3.Be6*g8 zugzwang. 3...Kc5-d6 4.Bf6-e7 # 3...Kc5-b4 4.Bf6-e7 # 2...Rg4-g7 3.Re3-c3 + 3...Kc5-d6 4.Sa7-c8 # 3...Kc5-b4 4.Ra6-a4 # 4.Rc3-c4 # 3.d2-d4 + 3...Kc5-d6 4.Sa7-c8 # 4.Bf6-e5 # 3...Kc5-b4 4.Ra6-a4 # 2.Re3-c3 + 2...Rg4-c4 3.Rc3*c4 + 3...Kc5-d6 4.Sa7-c8 # 3.d2-d4 + 3...Kc5-b4 4.Rc3*c4 # 3...Kc5-d6 4.Bg7-e5 # 4.Sa7-c8 # 2...Kc5-d6 3.Sa7-c8 # 2...Kc5-b4 3.Ra6-a4 # 1...Rh4-h8 + 2.Kf8-f7 threat: 3.d2-d4 + 3...Kc5-d6 4.Bg7-e5 # 3...Kc5-b4 4.Ra6-a4 # 2...Rh8-f8 + 3.Bg7*f8 + 3...Kc5-d4 4.Ra6-a4 # 2.Kf8-e7 threat: 3.d2-d4 + 3...Kc5-b4 4.Ra6-a4 # 3.Re3-c3 + 3...Kc5-b4 4.Ra6-a4 # 4.Rc3-c4 # 2...Kc5-b4 3.Bg7-c3 + 3...Kb4-c5 4.d2-d4 # 3.Ra6-a4 + 3...Kb4-c5 4.Bg7-d4 # 3.Re3-e4 + 3...Kb4-c5 4.Re4-c4 # 4.b3-b4 # 2...Rh8-h3 3.d2-d4 + 3...Kc5-b4 4.Ra6-a4 # 2...Rh8-h4 3.Re3-c3 + 3...Rh4-c4 4.Rc3*c4 # 3...Kc5-b4 4.Ra6-a4 # 2...Rh8-e8 + 3.Ke7*e8 zugzwang. 3...Kc5-d6 4.Bg7-f8 # 3...Kc5-b4 4.Bg7-f8 # 1...Kc5-d6 2.Bg7-e5 + 2...Kd6-c5 3.Re3-c3 + 3...Rh4-c4 4.Rc3*c4 # 3...Kc5-b4 4.Ra6-a4 # 1...Kc5-b4 2.Re3-c3 threat: 3.Ra6-a4 # 2...Rh4-c4 3.Rc3*c4 # 2...Rh4-f4 + 3.Kf8-g8 threat: 4.Ra6-a4 # 3...Rf4-c4 4.Rc3*c4 # 3...Rf4-f8 + 4.Bg7*f8 # 3.Kf8-e8 threat: 4.Ra6-a4 # 3...Rf4-c4 4.Rc3*c4 # 3...Rf4-f8 + 4.Bg7*f8 # 2...Rh4-h8 + 3.Kf8-f7 threat: 4.Ra6-a4 # 4.Rc3-c4 # 3...Rh8-h4 4.Bg7-f8 # 4.Ra6-a4 # 3...Rh8-f8 + 4.Bg7*f8 #" --- authors: - Loyd, Samuel source: Boston Gazette source-id: 32 date: 1858-12-04 algebraic: white: [Kf8, Qe1, Rc3, Pe2, Pb5, Pb4, Pb2] black: [Kd4, Qa2, Rg4, Bh1, Ph2, Pg6, Pe4, Pe3, Pc7, Pb3, Pa6] stipulation: "#4" solution: | "1.Qe1-f2 ! threat: 2.Qf2-f6 + 2...Kd4-d5 3.Rc3-c5 # 1...Bh1-f3 2.Kf8-e7 threat: 3.Ke7-e6 threat: 4.Qf2*e3 # 3...e3*f2 4.e2-e3 # 3.Qf2*e3 + 3...Kd4-d5 4.Qe3-c5 # 4.Rc3-c5 # 3...Kd4-e5 4.Rc3-c5 # 2...Qa2-b1 3.Qf2*e3 + 3...Kd4-d5 4.Qe3-c5 # 4.Rc3-c5 # 3...Kd4-e5 4.Rc3-c5 # 2...Qa2-a1 3.Qf2*e3 + 3...Kd4-d5 4.Qe3-c5 # 4.Rc3-c5 # 3...Kd4-e5 4.Rc3-c5 # 2...Qa2-a5 3.Qf2*e3 + 3...Kd4-d5 4.Qe3-c5 # 4.Rc3-c5 # 3...Kd4-e5 4.Rc3-c5 # 2...Qa2*b2 3.Qf2*e3 + 3...Kd4-d5 4.Qe3-c5 # 4.Rc3-c5 # 3...Kd4-e5 4.Rc3-c5 # 2...h2-h1=Q 3.Qf2*e3 + 3...Kd4-d5 4.Qe3-c5 # 4.Rc3-c5 # 3...Kd4-e5 4.Rc3-c5 # 2...h2-h1=S 3.Qf2*e3 + 3...Kd4-d5 4.Qe3-c5 # 4.Rc3-c5 # 3...Kd4-e5 4.Rc3-c5 # 2...e3*f2 3.e2-e3 + 3...Kd4-d5 4.Rc3-c5 # 3...Kd4-e5 4.Rc3-c5 # 2...Bf3*e2 3.Qf2*e3 + 3...Kd4-d5 4.Qe3-c5 # 4.Rc3-c5 # 3...Kd4-e5 4.Rc3-c5 # 3.Qf2-f6 + 3...Kd4-d5 4.Rc3-c5 # 2...Kd4-d5 3.Qf2*e3 threat: 4.Qe3-c5 # 4.Rc3-c5 # 3...Kd5-e5 4.Rc3-c5 # 2...Kd4-e5 3.Qf2*e3 threat: 4.Rc3-c5 # 2...Rg4-g1 3.Qf2*e3 + 3...Kd4-d5 4.Qe3-c5 # 4.Rc3-c5 # 3...Kd4-e5 4.Rc3-c5 # 2...Rg4-g2 3.Qf2*e3 + 3...Kd4-d5 4.Qe3-c5 # 4.Rc3-c5 # 3...Kd4-e5 4.Rc3-c5 # 2...Rg4-g3 3.Qf2*e3 + 3...Kd4-d5 4.Qe3-c5 # 4.Rc3-c5 # 3...Kd4-e5 4.Rc3-c5 # 2...Rg4-f4 3.Qf2*e3 + 3...Kd4-d5 4.Rc3-c5 # 4.Qe3-c5 # 3...Kd4-e5 4.Qe3-c5 # 4.Rc3-c5 # 2...Rg4-g5 3.Qf2*e3 + 3...Kd4-d5 4.Qe3-c5 # 4.Rc3-c5 # 3...Kd4-e5 4.Rc3-c5 # 2...Rg4-h4 3.Qf2*e3 + 3...Kd4-d5 4.Qe3-c5 # 4.Rc3-c5 # 3...Kd4-e5 4.Rc3-c5 # 2...a6*b5 3.Qf2*e3 + 3...Kd4-d5 4.Qe3-c5 # 4.Rc3-c5 # 3...Kd4-e5 4.Rc3-c5 # 2.Qf2*e3 + 2...Kd4-d5 3.Kf8-e7 threat: 4.Qe3-c5 # 4.Rc3-c5 # 3...Kd5-e5 4.Rc3-c5 # 2...Kd4-e5 3.Kf8-e7 threat: 4.Rc3-c5 # 1...e3*f2 2.e2-e3 + 2...Kd4-d5 3.Kf8-e7 threat: 4.Rc3-c5 # 2...Kd4-e5 3.Kf8-e7 threat: 4.Rc3-c5 # 1...Kd4-e5 2.Rc3-c5 + 2...Ke5-e6 3.Qf2-f7 + 3...Ke6-d6 4.Qf7-d5 # 4.Qf7-e7 # 4.Rc5-d5 # 2...Ke5-d6 3.Qf2-f7 threat: 4.Qf7-d5 # 4.Qf7-e7 # 4.Rc5-d5 # 3...Rg4-f4 4.Rc5-d5 # 3...Rg4-g5 4.Qf7-e7 # 3...a6*b5 4.Qf7-d5 # 4.Qf7-e7 # 3...c7-c6 4.Qf7-e7 # 2...Ke5-d4 3.Qf2-f6 # 1...Rg4-f4 + 2.Qf2*f4 threat: 3.Qf4-g5 threat: 4.Qg5-c5 # 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 3.Rc3-c5 threat: 4.Qf4-e5 # 4.Qf4-f6 # 2...Bh1-f3 3.Qf4-g5 threat: 4.Qg5-c5 # 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 2...Qa2-b1 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 2...Qa2-a1 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 2...Qa2-a5 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 3.Rc3-c5 threat: 4.Qf4-e5 # 4.Qf4-f6 # 3...Qa5*b4 4.Qf4-e5 # 3...Qa5-b6 4.Qf4-e5 # 2...Qa2-a4 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 3.Rc3-c5 threat: 4.Qf4-e5 # 4.Qf4-f6 # 3...Qa4*b4 4.Qf4-e5 # 2...Qa2-a3 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 3.Rc3-c5 threat: 4.Qf4-e5 # 4.Qf4-f6 # 3...Qa3*b4 4.Qf4-e5 # 2...Qa2*b2 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 2...Kd4-d5 3.Qf4-f6 threat: 4.Rc3-c5 # 2...a6*b5 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 2...g6-g5 3.Qf4*g5 threat: 4.Qg5-c5 # 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 3.Qf4-f5 threat: 4.Qf5-c5 # 1...Rg4-g5 2.Qf2-f6 + 2...Kd4-d5 3.Rc3-c5 # 2...Rg5-e5 3.Rc3-c5 threat: 4.Qf6*e5 #" --- authors: - Loyd, Samuel source: Mirror of American Sports date: 1885 algebraic: white: [Kg1, Bb8, Se3, Sc3, Pf4, Pd2, Pc4, Pb2] black: [Kd4, Bc6, Pg7, Pg3, Pf7, Pf6, Pd3, Pc5] stipulation: "#4" solution: | "1.Bb8-d6 ! threat: 2.Bd6-f8 threat: 3.Bf8*g7 threat: 4.Bg7*f6 # 1...Bc6-h1 2.b2-b3 threat: 3.Se3-f5 # 2...Bh1-e4 3.Sc3-b5 # 2...g7-g6 3.Bd6-e7 threat: 4.Be7*f6 # 1.Bb8-c7 ! threat: 2.Bc7-b6 threat: 3.b2-b4 threat: 4.Bb6*c5 # 2...g7-g5 3.Bb6-d8 threat: 4.Bd8*f6 # 2.b2-b4 threat: 3.Bc7-b6 threat: 4.Bb6*c5 # 2...g7-g5 3.Bc7-d8 threat: 4.Bd8*f6 # 3...c5*b4 4.Bd8-b6 # 1...Bc6-a4 2.b2-b4 threat: 3.Bc7-b6 threat: 4.Bb6*c5 # 2...g7-g5 3.Bc7-d8 threat: 4.Bd8*f6 # 3...c5*b4 4.Bd8-b6 #" comments: - Version of 212721 --- authors: - Loyd, Samuel source: Mirror of American Sports date: 1885 algebraic: white: [Kg1, Bb8, Se3, Sc3, Pf4, Pd2, Pc4, Pb2, Pa6] black: [Kd4, Bc6, Pg7, Pg3, Pf7, Pf6, Pd3, Pc5, Pa7] stipulation: "#4" solution: | "1.Bb8-d6 ! threat: 2.Bd6-f8 threat: 3.Bf8*g7 threat: 4.Bg7*f6 # 1...Bc6-h1 2.b2-b3 threat: 3.Se3-f5 # 2...Bh1-e4 3.Sc3-b5 # 2...g7-g6 3.Bd6-e7 threat: 4.Be7*f6 #" --- authors: - Loyd, Samuel source: Münchner Neueste Nachrichten date: 1889 distinction: HM algebraic: white: [Kg1, Qg6, Bh5, Se5, Se4] black: [Ke3, Ra6, Ba8, Sa1, Pc6, Pc5, Pa2] stipulation: "#4" solution: --- authors: - Loyd, Samuel source: Chess Monthly date: 1859 algebraic: white: [Kg2, Qg1, Re2, Pe5, Pd4] black: [Kc1, Qa8, Rh1, Rd1, Bc7, Sa1, Ph5, Pb7, Pa6, Pa3, Pa2] stipulation: "#14" solution: | "1. Qe3+ Kb1 2. Qe4+ Kc1 3. Qf4+ Kb1 4. Qf5+ Kc1 5. Qg5+ Kb1 6. Qg6+ Kc1 7. Qh6+ Kb1 8. Qh7+ Kc1 9. Q:c7+ Kb1 10. Qb6+ Kc1 11. Qc5+ Kb1 12. Qb4+ Kc1 13. Q:a3+ Kb1 14. Qb2# 12... Sb3 13. Q:b3+ K~ 14. Qb2#" --- authors: - Loyd, Samuel source: American Union source-id: 12v date: 1858-07-24 algebraic: white: [Kg2, Qf7, Be8, Bd8, Pe6] black: [Kd6, Ra2, Bb4, Sh2, Sc2, Pg6, Pe4, Pd7, Pd4, Pc5, Pa6] stipulation: "#4" solution: | "1.Bd8-f6 ! threat: 2.Qf7*d7 # 1...Sc2-a1 + 2.Kg2-h1 threat: 3.Qf7*d7 # 2...c5-c4 3.Qf7*d7 + 3...Kd6-c5 4.Qd7-c6 # 4.Qd7*d4 # 4.Bf6*d4 # 2...Kd6-c6 3.Qf7*d7 + 3...Kc6-b6 4.Bf6-d8 # 2...Kd6-d5 3.e6*d7 + 3...Kd5-d6 4.d7-d8=Q # 4.d7-d8=R # 3...Kd5-c6 4.d7-d8=Q # 2...Kd6-c7 3.e6*d7 threat: 4.d7-d8=Q # 1...Sc2-e1 + 2.Kg2-h1 threat: 3.Qf7*d7 # 2...c5-c4 3.Qf7*d7 + 3...Kd6-c5 4.Qd7-c6 # 4.Qd7*d4 # 4.Bf6*d4 # 2...Kd6-c6 3.Qf7*d7 + 3...Kc6-b6 4.Bf6-d8 # 2...Kd6-d5 3.e6*d7 + 3...Kd5-d6 4.d7-d8=Q # 4.d7-d8=R # 3...Kd5-c6 4.d7-d8=Q # 2...Kd6-c7 3.e6*d7 threat: 4.d7-d8=Q # 1...Sc2-e3 + 2.Kg2-h3 threat: 3.Qf7*d7 # 2...c5-c4 3.Qf7*d7 + 3...Kd6-c5 4.Qd7-c6 # 4.Qd7*d4 # 4.Bf6*d4 # 2...Kd6-c6 3.Qf7*d7 + 3...Kc6-b6 4.Bf6-d8 # 2...Kd6-d5 3.e6*d7 + 3...Kd5-d6 4.d7-d8=Q # 4.d7-d8=R # 3...Kd5-c6 4.d7-d8=Q # 2...Kd6-c7 3.e6*d7 threat: 4.d7-d8=Q # 1...Sc2-a3 + 2.Kg2-h3 threat: 3.Qf7*d7 # 2...c5-c4 3.Qf7*d7 + 3...Kd6-c5 4.Qd7-c6 # 4.Qd7*d4 # 4.Bf6*d4 # 2...Kd6-c6 3.Qf7*d7 + 3...Kc6-b6 4.Bf6-d8 # 2...Kd6-d5 3.e6*d7 + 3...Kd5-d6 4.d7-d8=Q # 4.d7-d8=R # 3...Kd5-c6 4.d7-d8=Q # 2...Kd6-c7 3.e6*d7 threat: 4.d7-d8=Q # 1...c5-c4 2.Qf7*d7 + 2...Kd6-c5 3.Qd7-c6 # 1...Kd6-c6 2.Qf7*d7 + 2...Kc6-b6 3.Bf6-d8 # 1...Kd6-d5 2.e6*d7 + 2...Kd5-d6 3.d7-d8=Q # 3.d7-d8=R # 2...Kd5-c6 3.d7-d8=Q # 1...Kd6-c7 2.e6*d7 threat: 3.d7-d8=Q # 2...Sc2-a1 + 3.Kg2-h1 threat: 4.d7-d8=Q # 2...Sc2-e1 + 3.Kg2-h1 threat: 4.d7-d8=Q # 2...Sc2-e3 + 3.Kg2-h3 threat: 4.d7-d8=Q # 2...Sc2-a3 + 3.Kg2-h3 threat: 4.d7-d8=Q #" --- authors: - Loyd, Samuel source: Philadelphia Mercury date: 1858 algebraic: white: [Kg2, Qg8, Re8, Ra5, Bc8, Sf7, Sb3, Ph4, Pg5, Pe2, Pb6] black: [Kf5, Rd5, Rb7, Ba7, Ba4, Sb5, Sa3, Ph5, Pg6, Pe7, Pd7, Pc4] stipulation: "#4" solution: 1.Dg8-f8 ! --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 5-moves / 152 date: 1868 algebraic: white: [Kg4, Qb1, Bd8, Bc8, Sh1, Pd2, Pc4, Pa6] black: [Ka8, Rc2, Ra2, Pd6, Pc7, Pb4, Pa7, Pa4] stipulation: "#5" solution: --- authors: - Loyd, Samuel source: Lynn News source-id: 47 date: 1859-01-11 algebraic: white: [Kg5, Rb5, Bc4, Sc5, Pe5, Pe4, Pc3, Pb6, Pa2] black: [Kc6, Pe6, Pb7, Pa5, Pa4] stipulation: "#4" solution: | "1.Bc4-e2 ! threat: 2.c3-c4 threat: 3.Be2-h5 threat: 4.Bh5-e8 # 1...a4-a3 2.Be2-h5 threat: 3.Bh5-e8 # 2...Kc6*b5 3.Sc5-a4 zugzwang. 3...Kb5-a6 4.Bh5-e2 # 3...Kb5-c6 4.Bh5-e8 # 3...Kb5-c4 4.Bh5-e2 # 3...Kb5*a4 4.Bh5-e8 #" --- authors: - Loyd, Samuel source: New York Clipper date: 1856-08-16 algebraic: white: [Kg6, Bc4, Bc5, Pe2, Pf3] black: [Ke5, Pe3, Pf4] stipulation: "#5" solution: | "1.Bc5-b4 ! zugzwang. 1...Ke5-d4 2.Bc4-e6 zugzwang. 2...Kd4-e5 3.Kg6-f7 zugzwang. 3...Ke5-d4 4.Kf7-e7 zugzwang. 4...Kd4-e5 5.Bb4-c3 #" --- authors: - Loyd, Samuel source: American Chess Journal date: 1878-03 algebraic: white: [Kg6, Rf7, Sf8, Se7, Ph7] black: [Kh8, Re4, Rb8, Bb6] stipulation: "#4" solution: | "1.Kg6-f5 ! threat: 2.Sf8-g6 # 2.Se7-g6 # 1...Re4*e7 2.Sf8-g6 # 1...Re4-e6 2.Sf8-g6 + 2...Re6*g6 3.Se7*g6 # 2.Sf8*e6 threat: 3.Se7-g6 # 2...Rb8-g8 3.h7*g8=Q # 3.h7*g8=R # 2.Se7-g6 + 2...Re6*g6 3.Sf8*g6 # 2.Kf5*e6 threat: 3.Sf8-g6 # 3.Se7-g6 # 2...Rb8*f8 3.Se7-g6 # 2...Rb8-e8 3.Sf8-g6 # 1...Re4-e5 + 2.Kf5-f6 threat: 3.Sf8-g6 # 3.Se7-g6 # 2...Re5*e7 3.Sf8-g6 # 2...Re5-e6 + 3.Kf6*e6 threat: 4.Sf8-g6 # 4.Se7-g6 # 3...Rb8*f8 4.Se7-g6 # 3...Rb8-e8 4.Sf8-g6 # 2...Re5-g5 3.Sf8-g6 + 3...Rg5*g6 + 4.Se7*g6 # 3.Se7-g6 + 3...Rg5*g6 + 4.Sf8*g6 # 2...Re5-f5 + 3.Kf6*f5 threat: 4.Sf8-g6 # 4.Se7-g6 # 3...Rb8*f8 4.Se7-g6 # 2...Bb6-d8 3.Sf8-g6 # 2...Rb8*f8 3.Se7-g6 # 1...Re4-g4 2.Sf8-g6 + 2...Rg4*g6 3.Se7*g6 # 2.Se7-g6 + 2...Rg4*g6 3.Sf8*g6 # 2.Kf5*g4 threat: 3.Sf8-g6 # 3.Se7-g6 # 2...Rb8*f8 3.Se7-g6 # 1...Re4-f4 + 2.Kf5-g5 threat: 3.Sf8-g6 # 3.Se7-g6 # 2...Rf4*f7 3.Se7-g6 + 3...Kh8-g7 4.h7-h8=Q # 2...Rf4-f6 3.Se7-g6 + 3...Rf6*g6 + 4.Sf8*g6 # 3.Sf8-g6 + 3...Rf6*g6 + 4.Se7*g6 # 2...Rf4-f5 + 3.Kg5*f5 threat: 4.Sf8-g6 # 4.Se7-g6 # 3...Rb8*f8 4.Se7-g6 # 2...Rf4-g4 + 3.Kg5*g4 threat: 4.Sf8-g6 # 4.Se7-g6 # 3...Rb8*f8 4.Se7-g6 # 2...Bb6-d8 3.Sf8-g6 # 2...Rb8*f8 3.Se7-g6 # 1...Rb8*f8 2.Se7-g6 #" --- authors: - Loyd, Samuel source: Bell's Life date: 1867 algebraic: white: [Kg7, Rc7, Bg4, Bg3, Sf5, Sd5, Ph2] black: [Ke4, Sg8, Sa1, Ph7, Pe7, Pe6, Pb3] stipulation: "#4" solution: | "1.Bg4-e2 ! threat: 2.Rc7-c4 + 2...Ke4*d5 3.Sf5-e3 # 2...Ke4*f5 3.Sd5-e3 + 3...Kf5-g5 4.Bg3-h4 # 4.h2-h4 # 3.h2-h4 threat: 4.Sd5-e3 # 4.Be2-g4 # 4.Be2-d3 # 3...Sa1-c2 4.Be2-g4 # 4.Be2-d3 # 3...e6-e5 4.Be2-g4 # 3...e6*d5 4.Be2-g4 # 3...h7-h5 4.Sd5-e3 # 4.Be2-d3 # 3...Sg8-f6 4.Sd5-e3 # 4.Sd5*e7 # 3...Sg8-h6 4.Sd5-e3 # 4.Sd5*e7 # 4.Be2-d3 # 3.Be2-g4 + 3...Kf5-g5 4.h2-h4 # 2.Sd5-c3 + 2...Ke4*f5 3.Rc7-c5 + 3...e6-e5 4.Rc5*e5 # 1...Sa1-c2 2.Sd5-c3 + 2...Ke4*f5 3.Rc7-c5 + 3...e6-e5 4.Rc5*e5 # 1...Ke4*f5 2.Rc7-c4 threat: 3.Sd5-e3 + 3...Kf5-g5 4.Bg3-h4 # 4.h2-h4 # 3.h2-h4 threat: 4.Sd5-e3 # 4.Be2-g4 # 4.Be2-d3 # 3...Sa1-c2 4.Be2-g4 # 4.Be2-d3 # 3...e6-e5 4.Be2-g4 # 3...e6*d5 4.Be2-g4 # 3...h7-h5 4.Sd5-e3 # 4.Be2-d3 # 3...Sg8-f6 4.Sd5-e3 # 4.Sd5*e7 # 3...Sg8-h6 4.Sd5-e3 # 4.Sd5*e7 # 4.Be2-d3 # 3.Be2-g4 + 3...Kf5-g5 4.h2-h4 # 2...Sa1-c2 3.Be2-g4 + 3...Kf5-g5 4.h2-h4 # 2...e6-e5 3.Be2-g4 + 3...Kf5-g5 4.h2-h4 # 2...e6*d5 3.Be2-g4 + 3...Kf5-g5 4.h2-h4 # 2...h7-h5 3.Sd5-e3 + 3...Kf5-g5 4.h2-h4 # 4.Bg3-h4 # 3.Be2-d3 + 3...Kf5-g5 4.Bg3-h4 # 4.h2-h4 # 2...Sg8-f6 3.Sd5-e3 + 3...Kf5-g5 4.Bg3-h4 # 4.h2-h4 # 3.Sd5*e7 + 3...Kf5-g5 4.h2-h4 # 4.Bg3-h4 # 2...Sg8-h6 3.Sd5-e3 + 3...Kf5-g5 4.Bg3-h4 # 4.h2-h4 # 3.Sd5*e7 + 3...Kf5-g5 4.h2-h4 # 4.Bg3-h4 # 1...e6-e5 2.Sd5-e3 threat: 3.Rc7-c4 # 2...Sa1-c2 3.Rc7-c5 threat: 4.Rc5*e5 # 1...e6*d5 2.Rc7-c6 threat: 3.Rc6-e6 + 3...Ke4*f5 4.Re6-e5 # 2...d5-d4 3.Rc6-c5 threat: 4.Rc5-e5 # 1...e6*f5 2.Sd5-c3 + 2...Ke4-d4 3.Bg3-f4 threat: 4.Rc7-c4 # 2...Ke4-e3 3.Rc7-d7 threat: 4.Rd7-d3 # 1...Sg8-f6 2.Rc7-c4 + 2...Ke4*d5 3.Sf5-e3 # 3.Sf5*e7 # 2...Ke4*f5 3.Sd5-e3 + 3...Kf5-g5 4.Bg3-h4 # 4.h2-h4 # 3.Sd5*e7 + 3...Kf5-g5 4.h2-h4 # 4.Bg3-h4 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 77 date: 1858-05 algebraic: white: [Kg7, Rh1, Re3, Sd7, Sc7] black: [Kf4, Bg2, Ph4, Pf5, Pe5] stipulation: "#4" solution: | "1.Rh1-h3 ! threat: 2.Sc7-e6 + 2...Kf4-g4 3.Sd7-f6 # 1...Bg2*h3 2.Re3-c3 threat: 3.Sc7-e6 + 3...Kf4-g4 4.Sd7-f6 # 3...Kf4-e4 4.Sd7-f6 # 2...Kf4-g4 3.Sd7-f6 + 3...Kg4-g5 4.Sc7-e6 # 3...Kg4-f4 4.Sc7-e6 # 2...Kf4-e4 3.Sd7-f6 + 3...Ke4-f4 4.Sc7-e6 # 3...Ke4-d4 4.Sc7-b5 # 1...Bg2-d5 2.Kg7-h6 threat: 3.Sc7*d5 + 3...Kf4-g4 4.Sd7*e5 # 4.Sd7-f6 # 2...Kf4-g4 3.Sd7*e5 + 3...Kg4-f4 4.Sc7*d5 # 3.Sd7-f6 + 3...Kg4-f4 4.Sc7*d5 # 2...Bd5-a2 3.Sd7*e5 threat: 4.Rh3-f3 # 3...Ba2-d5 4.Sc7*d5 # 3.Rh3-f3 + 3...Kf4-g4 4.Sd7*e5 # 4.Sd7-f6 # 2...Bd5-b3 3.Sd7*e5 threat: 4.Rh3-f3 # 3...Bb3-d1 4.Sc7-d5 # 4.Sc7-e6 # 3...Bb3-d5 4.Sc7*d5 # 3.Rh3-f3 + 3...Kf4-g4 4.Sd7*e5 # 4.Sd7-f6 # 2...Bd5-c4 3.Sd7*e5 threat: 4.Rh3-f3 # 3...Bc4-e2 4.Sc7-d5 # 4.Sc7-e6 # 3...Bc4-d5 4.Sc7*d5 # 3.Rh3-f3 + 3...Kf4-g4 4.Sd7*e5 # 4.Sd7-f6 # 2...Bd5-h1 3.Sc7-e6 + 3...Kf4-g4 4.Sd7*e5 # 4.Sd7-f6 # 3.Kh6-h5 threat: 4.Sc7-e6 # 3...Bh1-d5 4.Sc7*d5 # 3...Bh1-f3 + 4.Rh3*f3 # 2...Bd5-g2 3.Sc7-e6 + 3...Kf4-g4 4.Sd7*e5 # 4.Sd7-f6 # 3.Kh6-h5 threat: 4.Sc7-e6 # 3...Bg2*h3 4.Sc7-d5 # 3...Bg2-d5 4.Sc7*d5 # 3...Bg2-f3 + 4.Rh3*f3 # 2...Bd5-f3 3.Rh3*f3 + 3...Kf4-g4 4.Sd7*e5 # 4.Sd7-f6 # 2...Bd5-e4 3.Sd7-f6 threat: 4.Sc7-e6 # 3...Be4-f3 4.Rh3*f3 # 4.Re3*f3 # 3...Be4-d5 4.Sc7*d5 # 3.Sc7-e6 + 3...Kf4-g4 4.Sd7*e5 # 4.Sd7-f6 # 3.Kh6-h5 threat: 4.Sc7-e6 # 3...Be4-f3 + 4.Rh3*f3 # 3...Be4-d5 4.Sc7*d5 # 2...Bd5-g8 3.Sd7*e5 threat: 4.Rh3-f3 # 3...Bg8-d5 4.Sc7*d5 # 3.Rh3-f3 + 3...Kf4-g4 4.Sd7*e5 # 4.Sd7-f6 # 2...Bd5-f7 3.Sd7*e5 threat: 4.Rh3-f3 # 3...Bf7-d5 4.Sc7*d5 # 3...Bf7-h5 4.Sc7-d5 # 4.Sc7-e6 # 3.Rh3-f3 + 3...Kf4-g4 4.Sd7*e5 # 4.Sd7-f6 # 2...Bd5-e6 3.Sd7*e5 threat: 4.Sc7*e6 # 4.Rh3-f3 # 3...Be6-a2 4.Rh3-f3 # 3...Be6-b3 4.Rh3-f3 # 3...Be6-c4 4.Rh3-f3 # 3...Be6-d5 4.Sc7*d5 # 3...Be6-g8 4.Rh3-f3 # 3...Be6-f7 4.Rh3-f3 # 3...Be6-c8 4.Sc7-d5 # 4.Rh3-f3 # 3...Be6-d7 4.Sc7-d5 # 4.Rh3-f3 # 3.Sc7*e6 + 3...Kf4-g4 4.Sd7*e5 # 4.Sd7-f6 # 3.Rh3-f3 + 3...Kf4-g4 4.Sd7*e5 # 4.Sd7-f6 # 2...Bd5-a8 3.Sc7-e6 + 3...Kf4-g4 4.Sd7-f6 # 4.Sd7*e5 # 3.Kh6-h5 threat: 4.Sc7-e6 # 3...Ba8-f3 + 4.Rh3*f3 # 3...Ba8-d5 4.Sc7*d5 # 2...Bd5-b7 3.Sc7-e6 + 3...Kf4-g4 4.Sd7*e5 # 4.Sd7-f6 # 3.Kh6-h5 threat: 4.Sc7-e6 # 3...Bb7-f3 + 4.Rh3*f3 # 3...Bb7-d5 4.Sc7*d5 # 2...Bd5-c6 3.Sc7-e6 + 3...Kf4-g4 4.Sd7*e5 # 4.Sd7-f6 # 3.Kh6-h5 threat: 4.Sc7-e6 # 3...Bc6-f3 + 4.Rh3*f3 # 3...Bc6-d5 4.Sc7*d5 # 3...Bc6*d7 4.Sc7-d5 # 4.Rh3-f3 # 1...Bg2-f3 2.Rh3*f3 + 2...Kf4-g4 3.Sd7-f6 + 3...Kg4-g5 4.Sc7-e6 # 2...Kf4-g5 3.Sc7-e6 + 3...Kg5-h5 4.Sd7-f6 # 3...Kg5-g4 4.Sd7-f6 # 1...Kf4-g4 2.Sd7-f6 + 2...Kg4-g5 3.Sc7-e6 # 2...Kg4-f4 3.Sc7-e6 #" --- authors: - Loyd, Samuel source: American Chess Nuts date: 1868 algebraic: white: [Kh1, Rg4, Rg2, Bg1, Bf5, Sh3, Ph4, Ph2, Pg6, Pg5, Pg3, Pf4, Pf2, Pd5] black: [Kf3, Pe6] stipulation: "Who plays #4?" solution: "1.exf5! g7 2.fxg4 g8Q 3.gxh3 ~ 4.hxg2#" --- authors: - Loyd, Samuel source: Paris Tourney date: 1878 distinction: 3rd Prize algebraic: white: [Kh2, Qb6, Ra2, Bd8, Ph6, Pa6] black: [Kd5, Pc7, Pa7] stipulation: "#4" solution: | "1.Qb6*c7 ! threat: 2.Qc7-d7 + 2...Kd5-c4 3.Bd8-a5 zugzwang. 3...Kc4-c5 4.Ra2-c2 # 3...Kc4-b3 4.Qd7-a4 # 4.Qd7-e6 # 4.Qd7-d5 # 4.Qd7-f7 # 2...Kd5-e5 3.Kh2-g3 threat: 4.Ra2-e2 # 2...Kd5-c5 3.Qd7-d3 zugzwang. 3...Kc5-c6 4.Ra2-c2 # 3...Kc5-b4 4.Bd8-e7 # 2...Kd5-e4 3.Bd8-g5 zugzwang. 3...Ke4-e5 4.Ra2-e2 # 3...Ke4-f3 4.Qd7-f5 # 1...Kd5-e6 2.Qc7-c6 + 2...Ke6-f7 3.Qc6-f6 + 3...Kf7-e8 4.Qf6-e7 # 3...Kf7-g8 4.Qf6-g7 # 2...Ke6-e5 3.Ra2-a4 zugzwang. 3...Ke5-f5 4.Qc6-e4 # 4.Qc6-f6 # 2...Ke6-f5 3.Ra2-f2 + 3...Kf5-e5 4.Bd8-f6 # 3...Kf5-g4 4.Qc6-f3 # 4.Qc6-g6 #" --- authors: - Loyd, Samuel source: Lynn News date: 1858-03-02 algebraic: white: [Kh2, Qe3, Rd8, Bg2, Pg5, Pd3, Pb7, Pb4] black: [Kd5, Qa7, Ra4, Ra1, Bb8, Ba8, Sh8, Sc1, Pf6, Pe5, Pe4, Pd7, Pb6, Pb5, Pa6] stipulation: "#4" solution: | "1.d3*e4 + ! 1...Kd5-d6 2.Qe3-d2 + 2...Sc1-d3 3.Qd2*d3 + 3...Kd6-e6 4.Qd3*d7 # 3...Kd6-c6 4.Qd3*d7 # 3...Kd6-c7 4.Qd3*d7 # 3...Kd6-e7 4.Qd3*d7 # 2...Kd6-e6 3.Qd2*d7 # 2...Kd6-c6 3.Qd2*d7 # 2...Kd6-c7 3.Qd2*d7 # 2...Kd6-e7 3.Qd2*d7 # 1...Kd5-c6 2.Qe3-d4 threat: 3.Qd4*d7 # 2...Ra4*b4 3.Qd4*d7 + 3...Kc6-c5 4.Qd7-d5 # 3.Qd4-d5 + 3...Kc6-c7 4.Rd8*d7 # 4.Rd8-c8 # 4.Qd5*d7 # 2...e5*d4 + 3.e4-e5 + 3...Kc6-c7 4.Rd8-c8 # 3...d7-d5 4.e5*d6 ep. # 2...Kc6*b7 3.Qd4*d7 + 3...Bb8-c7 4.Qd7-d5 # 3.Qd4-d5 + 3...Kb7-c7 4.Qd5*d7 # 2...Qa7*b7 3.Qd4-d5 + 3...Kc6-c7 4.Qd5*d7 # 2...d7-d5 3.Qd4*d5 + 3...Kc6-c7 4.Qd5-d7 # 4.Rd8-d7 # 4.Rd8-c8 # 3.Qd4-c3 + 3...Kc6*b7 4.Qc3-c8 # 2...d7-d6 3.Qd4-c3 + 3...Kc6*b7 4.Qc3-c8 # 2...Bb8-d6 3.Qd4-d5 + 3...Kc6-c7 4.Rd8-c8 # 2...Bb8-c7 3.Qd4-d5 # 1...Kd5-e6 2.Qe3-h3 + 2...Ke6-e7 3.Qh3*d7 # 2...Ke6-d6 3.Qh3*d7 # 2...Ke6-f7 3.Qh3-h7 + 3...Kf7-e6 4.Qh7*d7 # 2...f6-f5 3.Qh3*f5 + 3...Ke6-d6 4.Qf5*d7 # 3...Ke6-e7 4.Qf5*d7 # 4.Qf5-f6 # 1...Kd5-c4 2.Rd8-c8 + 2...Kc4*b4 3.Qe3-c3 # 2...Bb8-c7 3.Rc8*c7 + 3...Kc4*b4 4.Qe3-c3 #" --- authors: - Loyd, Samuel source: US Chess Association, Cincinnati date: 1888-09-07 algebraic: white: [Kh2, Qf7, Re7, Rc8, Bg5, Sb1, Pg6] black: [Kd6, Qb3, Ra8, Bf5, Sd5, Sb8, Pg7, Pe2, Pd4, Pd3, Pc4] stipulation: "#4" solution: | "1.Sb1-c3 ! threat: 2.Qf7*d5 # 1...Qb3-b7 2.Sc3-e4 + 2...Bf5*e4 3.Qf7-e6 # 3.Re7-e6 # 1...Qb3-b5 2.Sc3*b5 # 1...Qb3*c3 2.Re7-e5 threat: 3.Qf7*d5 # 3.Re5*d5 # 2...Qc3-a5 3.Re5*d5 + 3...Qa5*d5 4.Qf7-e7 # 2...Sd5-b4 3.Qf7-c7 # 3.Qf7-e7 # 2...Sd5-e3 3.Qf7-c7 # 3.Qf7-e7 # 2...Sd5-f4 3.Qf7-c7 # 3.Qf7-e7 # 2...Sd5-f6 3.Qf7-c7 # 3.Qf7-e7 # 2...Sd5-e7 3.Qf7*e7 # 2...Sd5-c7 3.Qf7*c7 # 2...Sd5-b6 3.Qf7-c7 # 3.Qf7-e7 # 2...Bf5-e4 3.Qf7-e6 # 3.Re5-e6 # 2...Bf5*c8 3.Qf7*d5 + 3...Kd6-c7 4.Bg5-d8 # 2...Bf5-e6 3.Qf7*e6 # 3.Re5*e6 # 2...Kd6*e5 3.Rc8-c5 threat: 4.Qf7*d5 # 3...Bf5-e4 4.Bg5-f4 # 3...Bf5-e6 4.Qf7-f4 # 2...Ra8-a5 3.Re5*d5 + 3...Ra5*d5 4.Qf7-e7 # 1...d4*c3 2.Qf7*f5 threat: 3.Qf5-e6 # 3.Qf5-e5 # 2...e2-e1=Q 3.Bg5-f4 + 3...Qe1-e5 4.Qf5-e6 # 4.Qf5*e5 # 3...Sd5*f4 4.Qf5-c5 # 3...Kd6*e7 4.Qf5-f7 # 2...e2-e1=R 3.Bg5-f4 + 3...Re1-e5 4.Qf5-e6 # 4.Qf5*e5 # 3...Sd5*f4 4.Qf5-c5 # 3...Kd6*e7 4.Qf5-f7 # 2...Sd5-f4 3.Qf5-c5 # 3.Qf5-e5 # 2...Sd5*e7 3.Bg5-f4 # 2...Sd5-c7 3.Rc8*c7 threat: 4.Bg5-f4 # 4.Qf5-e6 # 4.Qf5-c5 # 4.Qf5-e5 # 3...e2-e1=Q 4.Qf5-c5 # 3...e2-e1=R 4.Qf5-c5 # 3...Qb3-a3 4.Bg5-f4 # 4.Qf5-e6 # 4.Qf5-e5 # 3...Qb3-b6 4.Bg5-f4 # 4.Qf5-e6 # 4.Qf5-e5 # 3...Qb3-b5 4.Qf5-e6 # 3...Qb3-b4 4.Bg5-f4 # 4.Qf5-e6 # 4.Qf5-e5 # 3...Ra8-a5 4.Qf5-e6 # 3...Sb8-a6 4.Re7-d7 # 4.Bg5-f4 # 4.Qf5-d7 # 4.Qf5-e6 # 4.Qf5-e5 # 3...Sb8-c6 4.Re7-d7 # 4.Rc7-d7 # 3...Sb8-d7 4.Re7*d7 # 4.Qf5*d7 # 2...Sb8-c6 3.Bg5-e3 threat: 4.Re7-d7 # 4.Qf5-d7 # 4.Qf5-e6 # 3...Qb3-b7 4.Qf5-e6 # 3...Sd5*e3 4.Re7-d7 # 3...Sd5-f4 4.Re7-d7 # 4.Qf5-d7 # 4.Qf5-c5 # 4.Be3-c5 # 3...Sd5-f6 4.Qf5-e6 # 4.Qf5-c5 # 4.Be3-c5 # 3...Sd5*e7 4.Be3-c5 # 3...Sd5-c7 4.Re7-d7 # 4.Qf5-d7 # 4.Qf5-c5 # 4.Be3-c5 # 3...Sd5-b6 4.Qf5-e6 # 4.Qf5-c5 # 4.Be3-c5 # 3...Sc6-d4 4.Re7-d7 # 4.Qf5-d7 # 4.Qf5-e5 # 3...Sc6-e5 4.Qf5-e6 # 4.Qf5*e5 # 4.Be3-c5 # 3...Sc6*e7 4.Be3-c5 # 3...Sc6-d8 4.Re7-d7 # 4.Qf5-d7 # 4.Qf5-e5 # 4.Be3-c5 # 3...Sc6-b8 4.Qf5-e6 # 4.Qf5-e5 # 4.Be3-c5 # 3...Kd6*e7 4.Be3-c5 # 3...Ra8-a7 4.Qf5-e6 # 2...Sb8-d7 3.Re7-e6 # 3.Re7*d7 # 3.Qf5*d7 # 3.Qf5-e6 # 1...Sd5-b4 2.Bg5-f4 # 2.Sc3-b5 # 1...Sd5*c3 2.Bg5-f4 # 1...Sd5-e3 2.Bg5-f4 # 1...Sd5-f4 2.Bg5*f4 # 1...Sd5-f6 2.Bg5-f4 # 1...Sd5*e7 2.Qf7*e7 # 1...Sd5-c7 2.Re7*c7 threat: 3.Qf7-d5 # 3.Qf7-e7 # 3.Bg5-f4 # 2...e2-e1=Q 3.Qf7-d5 # 2...e2-e1=R 3.Qf7-d5 # 2...Qb3-b7 3.Qf7-e7 # 3.Bg5-f4 # 2...Qb3-b5 3.Qf7-e7 # 2...Qb3*c3 3.Bg5-f4 # 2...d4*c3 3.Bg5-f4 # 2...Bf5-e4 3.Qf7-e7 # 3.Bg5-f4 # 2...Bf5*c8 3.Qf7-e7 # 3.Bg5-f4 # 2...Bf5-e6 3.Qf7-f4 # 3.Bg5-f4 # 2...Kd6-e5 3.Qf7-d5 # 2...Ra8-a5 3.Qf7-e7 # 2...Sb8-c6 3.Qf7-d5 # 2...Sb8-d7 3.Qf7-d5 # 3.Qf7-e7 # 1...Sd5-b6 2.Bg5-f4 # 1...Bf5-e4 2.Qf7-e6 # 2.Re7-e6 # 2.Sc3*e4 # 1...Bf5-e6 2.Qf7*e6 # 2.Re7*e6 # 1...Ra8-a5 2.Sc3-e4 + 2...Bf5*e4 3.Qf7-e6 # 3.Re7-e6 #" --- authors: - Loyd, Samuel source: St. Louis Globe-Democrat source-id: 521 date: 1884-10-11 algebraic: white: [Kh2, Qh4, Rb1, Pg4, Pf2, Pe3, Pb4] black: [Ke2, Ph3, Pd4] stipulation: "#4" solution: | "1.Qh4-f6 ! threat: 2.Rb1-b2 + 2...Ke2-f1 3.Qf6-a6 + 3...d4-d3 4.Qa6-a1 # 3...Kf1-e1 4.Qa6-a1 # 4.Qa6-e2 # 3.Qf6-f3 threat: 4.Qf3-d1 # 4.Qf3-e2 # 4.Qf3-h1 # 4.Rb2-b1 # 3...Kf1-e1 4.Qf3-e2 # 4.Qf3-h1 # 3...d4-d3 4.Qf3-d1 # 4.Qf3-h1 # 4.Rb2-b1 # 3.Qf6-c6 threat: 4.Qc6-h1 # 4.Qc6-c1 # 2...Ke2-e1 3.Qf6-c6 threat: 4.Qc6-h1 # 4.Qc6-c1 # 3...Ke1-d1 4.Qc6-h1 # 3.Qf6*d4 zugzwang. 3...Ke1-f1 4.Qd4-d1 # 3.Qf6-f3 threat: 4.Qf3-e2 # 4.Qf3-h1 # 3...d4-d3 4.Qf3-h1 # 3.Qf6-a6 threat: 4.Qa6-e2 # 4.Qa6-a1 # 3...Ke1-d1 4.Qa6-f1 # 4.Qa6-a1 # 3...d4-d3 4.Qa6-a1 # 2...Ke2-d3 3.Qf6*d4 # 2...Ke2-d1 3.Qf6-a6 threat: 4.Qa6-f1 # 4.Qa6-a1 # 3...Kd1-e1 4.Qa6-e2 # 4.Qa6-a1 # 3...Kd1-c1 4.Qa6-a1 # 3...d4-d3 4.Qa6-a1 # 3.Qf6-c6 threat: 4.Qc6-h1 # 1...Ke2-d2 2.Qf6*d4 + 2...Kd2-e2 3.Kh2-g3 threat: 4.Qd4-d1 # 2...Kd2-c2 3.Rb1-b2 + 3...Kc2-c1 4.Qd4-d2 # 1...Ke2-d3 2.Qf6*d4 + 2...Kd3-e2 3.Kh2-g3 threat: 4.Qd4-d1 # 2...Kd3-c2 3.Rb1-b2 + 3...Kc2-c1 4.Qd4-d2 # 1...d4-d3 2.Kh2-g3 threat: 3.Qf6-c3 threat: 4.Qc3-e1 # 4.Rb1-e1 # 3...d3-d2 4.Qc3-c4 # 2...h3-h2 3.Rb1-h1 zugzwang. 3...Ke2-d2 4.Qf6-b2 # 3...d3-d2 4.Qf6-a6 # 1...d4*e3 2.Qf6-d4 threat: 3.Qd4*e3 # 2...Ke2*f2 3.Qd4-c4 threat: 4.Qc4-f1 # 4.Rb1-f1 # 3...Kf2-f3 4.Rb1-f1 # 3...e3-e2 4.Qc4-f4 # 2...Ke2-f3 3.Rb1-b2 zugzwang. 3...e3-e2 4.Rb2-b3 # 3...e3*f2 4.Rb2*f2 # 2...e3*f2 3.Rb1-f1 zugzwang. 3...Ke2-f3 4.Rf1*f2 # 3...Ke2*f1 4.Qd4-d1 #" --- authors: - Loyd, Samuel source: Lebanon Herald, Centennial Tourney date: 1877 algebraic: white: [Kh3, Qa8, Bc8, Ba1, Sb7, Sb2] black: [Ke4, Pb3, Pa3] stipulation: "#4" solution: | "1.Qa8*a3 ! zugzwang. 1...Ke4-f3 2.Qa3-e7 threat: 3.Sb2-d1 threat: 4.Qe7-e3 # 3.Sb2-d3 threat: 4.Bc8-g4 # 2...Kf3-f2 3.Sb2-d3 + 3...Kf2-f3 4.Bc8-g4 # 3...Kf2-f1 4.Qe7-e1 # 3...Kf2-g1 4.Qe7-e1 # 1...Ke4-f4 2.Qa3-e7 threat: 3.Sb2-d1 threat: 4.Qe7-e3 # 3.Sb2-d3 + 3...Kf4-f3 4.Bc8-g4 # 3.Sb2-c4 threat: 4.Qe7-e3 # 2...Kf4-f3 3.Sb2-d1 threat: 4.Qe7-e3 # 3.Sb2-d3 threat: 4.Bc8-g4 # 1...Ke4-e5 2.Qa3-d6 + 2...Ke5-e4 3.Kh3-g3 zugzwang. 3...Ke4-e3 4.Qd6-d3 # 1...Ke4-d4 2.Qa3-e7 zugzwang. 2...Kd4-d5 3.Qe7-e3 zugzwang. 3...Kd5-c6 4.Qe3-c5 # 2...Kd4-c3 3.Qe7-e3 + 3...Kc3-c2 4.Bc8-f5 # 3...Kc3-b4 4.Qe3-c5 # 1...Ke4-e3 2.Kh3-g3 zugzwang. 2...Ke3-e4 3.Qa3-d6 zugzwang. 3...Ke4-e3 4.Qd6-d3 # 2...Ke3-e2 3.Qa3-d6 zugzwang. 3...Ke2-e3 4.Qd6-d3 # 3...Ke2-e1 4.Qd6-d1 # 3...Ke2-f1 4.Qd6-d1 # 2...Ke3-d4 3.Qa3-c5 + 3...Kd4-e4 4.Bc8-f5 # 4.Sb7-d6 # 2...Ke3-d2 3.Qa3-c5 zugzwang. 3...Kd2-e2 4.Qc5-f2 # 3...Kd2-e1 4.Qc5-f2 # 1...Ke4-d5 2.Qa3-d6 + 2...Kd5-e4 3.Kh3-g3 zugzwang. 3...Ke4-e3 4.Qd6-d3 # 2.Qa3-a4 threat: 3.Qa4-c4 + 3...Kd5-e5 4.Sb2-d3 # 2...Kd5-e5 3.Sb2-d3 + 3...Ke5-d5 4.Sd3-f4 #" comments: - check also 216611 --- authors: - Loyd, Samuel source: London Chess Congress date: 1866 algebraic: white: [Kh4, Qh7, Rd6, Ra2, Bf3, Ba5, Sa1, Ph3, Pg5, Pg4, Pf6] black: [Kc4, Rf5, Rd1, Be4, Bc3, Sh1, Sc1, Pf2, Pe3, Pe2, Pd2, Pa7, Pa6, Pa4, Pa3] stipulation: "#4" solution: | "1.Ra2-c2 ! threat: 2.Qh7*f5 threat: 3.Rc2*c3 # 2...Sc1-a2 3.Qf5*e4 + 3...Kc4-c5 4.Qe4-d5 # 4.Qe4-c6 # 3...Kc4-b5 4.Qe4-d5 # 3.Bf3*e2 + 3...Be4-d3 4.Qf5-d5 # 4.Be2*d3 # 2...Be4*c2 3.Qf5-d5 # 2...Be4*f5 3.Rc2*c3 + 3...Kc4-b5 4.Rd6-d5 # 2...Be4-d5 3.Qf5*d5 # 2.Rc2*c3 + 2...Kc4-b5 3.Qh7*f5 + 3...Be4*f5 4.Rd6-d5 # 3...Be4-d5 4.Rd6*d5 # 4.Qf5*d5 # 3.Qh7*a7 threat: 4.Qa7-b6 # 4.Qa7*a6 # 3...Be4-b7 4.Qa7-b6 # 3...Be4-c6 4.Qa7-b6 # 3...Kb5*a5 4.Qa7-b6 # 1...Sc1-d3 2.Qh7*a7 threat: 3.Qa7-b6 threat: 4.Rd6-d4 # 4.Rc2*c3 # 3...Rd1-c1 4.Rd6-d4 # 3...Sd3-c5 4.Qb6-b4 # 4.Rc2*c3 # 3...Sd3-b4 4.Rd6-d4 # 4.Qb6*b4 # 3...Be4-d5 4.Rc2*c3 # 3...Rf5*a5 4.Rd6-d4 # 3...Rf5-c5 4.Rc2*c3 # 3...Rf5-d5 4.Rc2*c3 # 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...Rd1*a1 3.Qa7-b6 threat: 4.Rd6-d4 # 4.Rc2*c3 # 3...Ra1-c1 4.Rd6-d4 # 3...d2-d1=S 4.Rd6-d4 # 3...Sd3-c5 4.Qb6-b4 # 4.Rc2*c3 # 3...Sd3-b4 4.Qb6*b4 # 3...Be4-d5 4.Rc2*c3 # 3...Rf5*a5 4.Rd6-d4 # 3...Rf5-b5 4.Rc2*c3 # 3...Rf5-c5 4.Rc2*c3 # 3...Rf5-d5 4.Rc2*c3 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...Rd1-b1 3.Qa7*a6 + 3...Rb1-b5 4.Rc2*c3 # 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...Rd1-c1 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 2...Rd1-g1 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...e2-e1=Q 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...e2-e1=S 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...e2-e1=B 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...f2-f1=Q 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...f2-f1=S 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...f2-f1=R 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...f2-f1=B 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...Sd3-b2 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...Sd3-c1 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...Sd3-e1 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...Sd3-f4 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...Sd3-e5 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-c5 # 4.Qa7-b6 # 4.Qa7*a6 # 4.Rc3-c5 # 2...Sd3-c5 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 2...Sd3-b4 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4*c3 4.Qa7-d4 # 3...Kc4-b5 4.Qa7-b6 # 2...Kc4-b5 3.Qa7-b6 + 3...Kb5-c4 4.Rd6-d4 # 4.Rc2*c3 # 3.Qa7*a6 + 3...Kb5-c5 4.Rc2*c3 # 3.Rc2*c3 threat: 4.Qa7-b6 # 4.Qa7*a6 # 3...Sd3-c5 4.Qa7-b6 # 3...Sd3-b4 4.Qa7-b6 # 3...Be4-b7 4.Qa7-b6 # 3...Be4-c6 4.Qa7-b6 # 3...Kb5*a5 4.Qa7-b6 # 2...Be4-b7 3.Qa7-b6 threat: 4.Rd6-d4 # 4.Rc2*c3 # 3...Rd1-c1 4.Rd6-d4 # 3...Sd3-c5 4.Qb6-b4 # 4.Rc2*c3 # 3...Sd3-b4 4.Rd6-d4 # 4.Qb6*b4 # 3...Rf5-f4 4.Rc2*c3 # 3...Rf5*a5 4.Rd6-d4 # 3...Rf5-c5 4.Rc2*c3 # 3...Rf5-d5 4.Rc2*c3 # 3...Bb7-d5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 2...Be4-d5 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...Rf5*f3 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...Rf5-f4 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...Rf5*a5 3.Qa7-d4 + 3...Kc4-b5 4.Rd6-b6 # 2...Rf5-c5 3.Qa7*a6 + 3...Rc5-b5 4.Rc2*c3 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...Rf5-d5 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...Rf5*f6 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...Rf5*g5 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rg5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2.Rc2*c3 + 2...Kc4-b5 3.Qh7*a7 threat: 4.Qa7-b6 # 4.Qa7*a6 # 3...Sd3-c5 4.Qa7-b6 # 3...Sd3-b4 4.Qa7-b6 # 3...Be4-b7 4.Qa7-b6 # 3...Be4-c6 4.Qa7-b6 # 3...Kb5*a5 4.Qa7-b6 # 1...Sc1-b3 2.Qh7-c7 + 2...Sb3-c5 3.Bf3*e2 + 3...Be4-d3 4.Be2*d3 # 2...Kc4-b5 3.Bf3*e2 + 3...Be4-d3 4.Be2*d3 # 2...Be4-c6 3.Bf3*e2 + 3...Kc4-c5 4.Qc7*c6 # 4.Rc2*c3 # 3.Qc7*c6 + 3...Sb3-c5 4.Rc2*c3 # 4.Bf3*e2 # 3...Rf5-c5 4.Bf3*e2 # 4.Qc6*a4 # 4.Rc2*c3 # 3.Rc2*c3 + 3...Kc4-b5 4.Bf3*e2 # 4.Bf3*c6 # 2...Rf5-c5 3.Bf3*e2 + 3...Be4-d3 4.Be2*d3 # 2.Bf3*e2 + 2...Kc4-c5 3.Qh7-c7 + 3...Be4-c6 4.Qc7*c6 # 4.Rc2*c3 # 2...Be4-d3 3.Qh7-c7 + 3...Sb3-c5 4.Be2*d3 # 3...Kc4-b5 4.Be2*d3 # 3...Rf5-c5 4.Be2*d3 # 3.Be2*d3 + 3...Kc4-c5 4.Qh7-c7 # 2.Rc2*c3 + 2...Kc4-b5 3.Qh7*a7 threat: 4.Qa7-b6 # 4.Qa7*a6 # 3...Sb3-c5 4.Qa7-b6 # 3...Sb3*a5 4.Qa7-b6 # 4.Rd6-b6 # 3...Be4-b7 4.Qa7-b6 # 3...Be4-c6 4.Qa7-b6 # 3...Kb5*a5 4.Qa7-b6 # 1...Sc1-a2 2.Qh7-c7 + 2...Kc4-b5 3.Bf3*e2 + 3...Be4-d3 4.Be2*d3 # 2...Be4-c6 3.Bf3*e2 + 3...Kc4-c5 4.Qc7*c6 # 3.Qc7*c6 + 3...Rf5-c5 4.Bf3*e2 # 2...Rf5-c5 3.Bf3*e2 + 3...Be4-d3 4.Be2*d3 # 2.Bf3*e2 + 2...Kc4-c5 3.Qh7-c7 + 3...Be4-c6 4.Qc7*c6 # 2...Be4-d3 3.Qh7-c7 + 3...Kc4-b5 4.Be2*d3 # 3...Rf5-c5 4.Be2*d3 # 3.Be2*d3 + 3...Kc4-c5 4.Qh7-c7 # 1...Rd1-g1 2.Rc2*c3 + 2...Kc4-b5 3.Qh7*f5 + 3...Be4*f5 4.Rd6-d5 # 3...Be4-d5 4.Rd6*d5 # 4.Qf5*d5 # 1...Sh1-g3 2.Rc2*c3 + 2...Kc4-b5 3.Qh7*a7 threat: 4.Qa7-b6 # 4.Qa7*a6 # 3...Be4-b7 4.Qa7-b6 # 3...Be4-c6 4.Qa7-b6 # 3...Kb5*a5 4.Qa7-b6 # 1...e2-e1=Q 2.Rc2*c3 + 2...Kc4-b5 3.Qh7*f5 + 3...Be4*f5 4.Rd6-d5 # 3...Be4-d5 4.Rd6*d5 # 4.Qf5*d5 # 1...e2-e1=S 2.Rc2*c3 + 2...Kc4-b5 3.Qh7*f5 + 3...Be4*f5 4.Rd6-d5 # 3...Be4-d5 4.Rd6*d5 # 4.Qf5*d5 # 1...e2-e1=B 2.Rc2*c3 + 2...Kc4-b5 3.Qh7*f5 + 3...Be4*f5 4.Rd6-d5 # 3...Be4-d5 4.Rd6*d5 # 4.Qf5*d5 # 1...f2-f1=Q 2.Rc2*c3 + 2...Kc4-b5 3.Qh7*f5 + 3...Be4*f5 4.Rd6-d5 # 3...Be4-d5 4.Rd6*d5 # 4.Qf5*d5 # 1...f2-f1=S 2.Rc2*c3 + 2...Kc4-b5 3.Qh7*f5 + 3...Be4*f5 4.Rd6-d5 # 3...Be4-d5 4.Rd6*d5 # 4.Qf5*d5 # 1...f2-f1=R 2.Rc2*c3 + 2...Kc4-b5 3.Qh7*f5 + 3...Be4*f5 4.Rd6-d5 # 3...Be4-d5 4.Rd6*d5 # 4.Qf5*d5 # 1...f2-f1=B 2.Rc2*c3 + 2...Kc4-b5 3.Qh7*f5 + 3...Be4*f5 4.Rd6-d5 # 3...Be4-d5 4.Rd6*d5 # 4.Qf5*d5 # 1...Kc4-c5 2.Rd6-d5 + 2...Be4*d5 3.Qh7*f5 threat: 4.Qf5*d5 # 2...Kc5*d5 3.Qh7-d7 + 3...Kd5-e5 4.Ba5-c7 # 3...Kd5-c5 4.Rc2*c3 # 3...Kd5-c4 4.Rc2*c3 # 2...Kc5-c6 3.Qh7-d7 # 2...Kc5-c4 3.Qh7*f5 threat: 4.Qf5*e4 # 4.Rc2*c3 # 3...Sc1-b3 4.Rc2*c3 # 3...Sc1-a2 4.Qf5*e4 # 3...Sh1-g3 4.Rc2*c3 # 3...Be4*c2 4.Qf5-c8 # 3...Be4-d3 4.Qf5-c8 # 4.Rc2*c3 # 3...Be4*f3 4.Rc2*c3 # 3...Be4*f5 4.Rc2*c3 # 3...Be4*d5 4.Qf5*d5 # 2...Rf5*d5 3.Qh7*e4 threat: 4.Qe4*d5 # 3...Rd5-d3 4.Qe4-b4 # 3...Rd5-d4 4.Qe4-c6 # 3...Rd5-d8 4.Qe4-b4 # 3...Rd5-d7 4.Qe4-b4 # 3...Rd5-d6 4.Qe4-b4 # 3...Rd5*g5 4.Qe4-b4 # 3...Rd5-f5 4.Qe4-b4 # 3...Rd5-e5 4.Qe4-b4 # 1...Kc4-b5 2.Qh7*a7 threat: 3.Qa7-b6 + 3...Kb5-c4 4.Rd6-d4 # 4.Qb6-b4 # 4.Rc2*c3 # 3.Qa7*a6 + 3...Kb5-c5 4.Rc2*c3 # 3.Rc2*c3 threat: 4.Qa7-b6 # 4.Qa7*a6 # 3...Be4-b7 4.Qa7-b6 # 3...Be4-c6 4.Qa7-b6 # 3...Kb5*a5 4.Qa7-b6 # 2...Sc1-a2 3.Qa7-b6 + 3...Kb5-c4 4.Rd6-d4 # 2...Rd1-g1 3.Qa7-b6 + 3...Kb5-c4 4.Rd6-d4 # 4.Qb6-b4 # 4.Rc2*c3 # 3.Qa7*a6 + 3...Kb5-c5 4.Rc2*c3 # 2...e2-e1=Q 3.Qa7-b6 + 3...Kb5-c4 4.Rc2*c3 # 4.Rd6-d4 # 4.Qb6-b4 # 3.Qa7*a6 + 3...Kb5-c5 4.Rc2*c3 # 2...e2-e1=S 3.Qa7-b6 + 3...Kb5-c4 4.Rc2*c3 # 4.Rd6-d4 # 4.Qb6-b4 # 3.Qa7*a6 + 3...Kb5-c5 4.Rc2*c3 # 2...e2-e1=B 3.Qa7-b6 + 3...Kb5-c4 4.Rc2*c3 # 4.Rd6-d4 # 4.Qb6-b4 # 3.Qa7*a6 + 3...Kb5-c5 4.Rc2*c3 # 2...f2-f1=Q 3.Qa7-b6 + 3...Kb5-c4 4.Rd6-d4 # 4.Qb6-b4 # 4.Rc2*c3 # 3.Qa7*a6 + 3...Kb5-c5 4.Rc2*c3 # 2...f2-f1=S 3.Qa7-b6 + 3...Kb5-c4 4.Rd6-d4 # 4.Qb6-b4 # 4.Rc2*c3 # 3.Qa7*a6 + 3...Kb5-c5 4.Rc2*c3 # 2...f2-f1=R 3.Qa7-b6 + 3...Kb5-c4 4.Rd6-d4 # 4.Qb6-b4 # 4.Rc2*c3 # 3.Qa7*a6 + 3...Kb5-c5 4.Rc2*c3 # 2...f2-f1=B 3.Qa7-b6 + 3...Kb5-c4 4.Rd6-d4 # 4.Qb6-b4 # 4.Rc2*c3 # 3.Qa7*a6 + 3...Kb5-c5 4.Rc2*c3 # 2...a3-a2 3.Qa7-b6 + 3...Kb5-c4 4.Rd6-d4 # 4.Qb6-b4 # 4.Rc2*c3 # 3.Qa7*a6 + 3...Kb5-c5 4.Rc2*c3 # 2...Bc3*a5 3.Qa7*a6 + 3...Kb5-b4 4.Rd6-d4 # 4.Qa6-c4 # 4.Rc2-c4 # 2...Be4*c2 3.Qa7*a6 + 3...Kb5-c5 4.Qa6-c6 # 2...Be4-b7 3.Qa7-b6 + 3...Kb5-c4 4.Rd6-d4 # 4.Qb6-b4 # 4.Rc2*c3 # 3.Qa7*b7 + 3...Kb5-c5 4.Qb7-b4 # 4.Qb7-c6 # 3...Kb5*a5 4.Qb7-b6 # 4.Rd6*a6 # 3...Kb5-c4 4.Qb7-b4 # 4.Rc2*c3 # 3.Rc2*c3 threat: 4.Qa7-b6 # 2...Be4-c6 3.Qa7-b6 + 3...Kb5-c4 4.Rd6-d4 # 4.Qb6-b4 # 4.Rc2*c3 # 2...Be4-d5 3.Qa7-b6 + 3...Kb5-c4 4.Rc2*c3 # 3.Rc2*c3 threat: 4.Qa7-c5 # 4.Qa7-b6 # 4.Qa7*a6 # 4.Rc3-c5 # 3...Sc1-d3 4.Qa7-b6 # 4.Qa7*a6 # 3...Sc1-b3 4.Qa7-b6 # 4.Qa7*a6 # 3...Kb5*a5 4.Qa7-c5 # 4.Qa7-b6 # 3...Bd5-a2 4.Qa7-b6 # 4.Qa7*a6 # 3...Bd5-b3 4.Qa7-b6 # 4.Qa7*a6 # 3...Bd5-c4 4.Qa7-b6 # 3...Bd5*f3 4.Qa7-b6 # 4.Qa7*a6 # 3...Bd5-e4 4.Qa7-b6 # 4.Qa7*a6 # 3...Bd5-g8 4.Qa7-b6 # 4.Qa7*a6 # 3...Bd5-f7 4.Qa7-b6 # 4.Qa7*a6 # 3...Bd5-e6 4.Qa7-b6 # 4.Qa7*a6 # 3...Bd5-a8 4.Qa7-b6 # 4.Qa7*a6 # 3...Bd5-b7 4.Qa7-b6 # 3...Bd5-c6 4.Qa7-b6 # 2...Kb5-c4 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...Rf5*f3 3.Qa7-b6 + 3...Kb5-c4 4.Rd6-d4 # 4.Qb6-b4 # 4.Rc2*c3 # 3.Qa7*a6 + 3...Kb5-c5 4.Rc2*c3 # 2...Rf5-f4 3.Qa7-b6 + 3...Kb5-c4 4.Rd6-d4 # 4.Qb6-b4 # 4.Rc2*c3 # 3.Qa7*a6 + 3...Kb5-c5 4.Rc2*c3 # 2...Rf5-d5 3.Qa7-b6 + 3...Kb5-c4 4.Rc2*c3 # 3.Rc2*c3 threat: 4.Qa7-b6 # 4.Qa7*a6 # 3...Kb5*a5 4.Qa7-b6 # 3...Rd5*d6 4.Qa7-c5 # 4.Rc3-c5 # 2...Rf5*f6 3.Qa7-b6 + 3...Kb5-c4 4.Rd6-d4 # 4.Qb6-b4 # 4.Rc2*c3 # 3.Qa7*a6 + 3...Kb5-c5 4.Rc2*c3 # 2...Rf5*g5 3.Qa7-b6 + 3...Kb5-c4 4.Rd6-d4 # 4.Qb6-b4 # 4.Rc2*c3 # 3.Qa7*a6 + 3...Kb5-c5 4.Rc2*c3 # 1...Be4*c2 2.Qh7-g8 + 2...Kc4-c5 3.Rd6-d5 + 3...Kc5-c6 4.Qg8-a8 # 4.Qg8-c8 # 3...Kc5-c4 4.Qg8-c8 # 3...Rf5*d5 4.Qg8*d5 # 2...Kc4-b5 3.Rd6-d5 + 3...Kb5-c6 4.Qg8-a8 # 4.Qg8-c8 # 3...Kb5-c4 4.Qg8-c8 # 3...Rf5*d5 4.Qg8*d5 # 2...Rf5-d5 3.Qg8*d5 # 2.Qh7-f7 + 2...Rf5-d5 3.Qf7*d5 # 2...Kc4-c5 3.Rd6-d5 + 3...Kc5-c6 4.Qf7-c7 # 4.Qf7-d7 # 3...Kc5-c4 4.Qf7-c7 # 3...Rf5*d5 4.Qf7*d5 # 2...Kc4-b5 3.Rd6-d5 + 3...Kb5-c6 4.Qf7-c7 # 4.Qf7-d7 # 3...Kb5-c4 4.Qf7-c7 # 3...Rf5*d5 4.Qf7*d5 # 1...Be4*f3 2.Qh7*a7 threat: 3.Qa7-b6 threat: 4.Rd6-d4 # 4.Qb6-b4 # 4.Rc2*c3 # 3...Sc1-d3 4.Rd6-d4 # 4.Rc2*c3 # 3...Sc1-b3 4.Qb6-b4 # 4.Rc2*c3 # 3...Sc1-a2 4.Rd6-d4 # 3...Bf3-d5 4.Rc2*c3 # 3...Rf5-f4 4.Qb6-b4 # 4.Rc2*c3 # 3...Rf5*a5 4.Rd6-d4 # 3...Rf5-b5 4.Rd6-d4 # 4.Qb6-d4 # 4.Rc2*c3 # 3...Rf5-c5 4.Qb6-b4 # 4.Rc2*c3 # 3...Rf5-d5 4.Rc2*c3 # 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...Sc1-b3 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...Sc1-a2 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 2...Rd1-g1 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...e2-e1=Q 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...e2-e1=S 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...e2-e1=B 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...f2-f1=Q 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...f2-f1=S 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...f2-f1=R 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...f2-f1=B 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...Bf3-b7 3.Qa7-b6 threat: 4.Rd6-d4 # 4.Qb6-b4 # 4.Rc2*c3 # 3...Sc1-d3 4.Rd6-d4 # 4.Rc2*c3 # 3...Sc1-b3 4.Qb6-b4 # 4.Rc2*c3 # 3...Sc1-a2 4.Rd6-d4 # 3...Rf5-f4 4.Qb6-b4 # 4.Rc2*c3 # 3...Rf5*a5 4.Rd6-d4 # 3...Rf5-b5 4.Rd6-d4 # 4.Qb6-d4 # 4.Rc2*c3 # 3...Rf5-c5 4.Qb6-b4 # 4.Rc2*c3 # 3...Rf5-d5 4.Rc2*c3 # 3...Bb7-d5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 2...Bf3-d5 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-c5 # 4.Qa7-b6 # 4.Qa7*a6 # 4.Rc3-c5 # 2...Bf3-e4 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rf5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...Kc4-b5 3.Qa7-b6 + 3...Kb5-c4 4.Rd6-d4 # 4.Qb6-b4 # 4.Rc2*c3 # 3.Qa7*a6 + 3...Kb5-c5 4.Rc2*c3 # 3.Rc2*c3 threat: 4.Qa7-b6 # 4.Qa7*a6 # 3...Bf3-b7 4.Qa7-b6 # 3...Bf3-c6 4.Qa7-b6 # 3...Kb5*a5 4.Qa7-b6 # 2...Rf5-f4 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-c5 # 4.Qa7-b6 # 4.Qa7*a6 # 4.Rc3-c5 # 2...Rf5*a5 3.Qa7-d4 + 3...Kc4-b5 4.Rd6-b6 # 2...Rf5-c5 3.Qa7*a6 + 3...Rc5-b5 4.Rc2*c3 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7*c5 # 4.Qa7-b6 # 4.Qa7*a6 # 4.Rc3*c5 # 2...Rf5-d5 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2...Rf5*f6 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-c5 # 4.Qa7-b6 # 4.Qa7*a6 # 4.Rc3-c5 # 2...Rf5*g5 3.Qa7*a6 + 3...Kc4-c5 4.Rc2*c3 # 3...Rg5-b5 4.Rc2*c3 # 3.Rd6-d4 + 3...Kc4-b5 4.Qa7-b6 # 3.Rc2*c3 + 3...Kc4-b5 4.Qa7-b6 # 4.Qa7*a6 # 2.Rc2*c3 + 2...Kc4-b5 3.Qh7*f5 + 3...Bf3-d5 4.Rd6*d5 # 4.Qf5*d5 # 3.Qh7*a7 threat: 4.Qa7-b6 # 4.Qa7*a6 # 3...Bf3-b7 4.Qa7-b6 # 3...Bf3-c6 4.Qa7-b6 # 3...Kb5*a5 4.Qa7-b6 # 1...Rf5-f4 2.Qh7*e4 + 2...Kc4-c5 3.Qe4-c6 # 3.Qe4-d5 # 2...Kc4-b5 3.Qe4-d5 # 2...Rf4*e4 3.Rc2*c3 + 3...Kc4-b5 4.Rd6-d5 # 2.Qh7-g8 + 2...Kc4-c5 3.Rd6-d5 + 3...Be4*d5 4.Qg8*d5 # 3...Kc5-c6 4.Qg8-a8 # 3...Kc5-c4 4.Rc2*c3 # 2...Kc4-b5 3.Rd6-d5 + 3...Be4*d5 4.Qg8*d5 # 3...Kb5-c6 4.Qg8-a8 # 3...Kb5-c4 4.Rc2*c3 # 2...Be4-d5 3.Qg8*d5 # 2.Qh7-f7 + 2...Kc4-c5 3.Rd6-d5 + 3...Be4*d5 4.Qf7*d5 # 3...Kc5-c6 4.Qf7-d7 # 4.Rc2*c3 # 3...Kc5-c4 4.Rc2*c3 # 2...Kc4-b5 3.Rd6-d5 + 3...Be4*d5 4.Qf7*d5 # 3...Kb5-c6 4.Qf7-d7 # 4.Rc2*c3 # 3...Kb5-c4 4.Rc2*c3 # 2...Be4-d5 3.Qf7*d5 # 1...Rf5*a5 2.Qh7*e4 + 2...Kc4-c5 3.Rd6-c6 + 3...Kc5-b5 4.Qe4-c4 # 3.Qe4-d4 + 3...Kc5-b5 4.Bf3-c6 # 3.Rc2*c3 + 3...Kc5-b5 4.Qe4-b7 # 4.Qe4-c4 # 3...Kc5*d6 4.Qe4-e7 # 2...Kc4-b5 3.Rc2*c3 threat: 4.Qe4-b7 # 4.Qe4-c4 # 1...Rf5-c5 2.Qh7*e4 + 2...Kc4-b5 3.Qe4-b7 + 3...Kb5*a5 4.Rd6*a6 # 3...Kb5-c4 4.Qb7-b4 # 4.Rc2*c3 # 1...Rf5-d5 2.Qh7*e4 + 2...Kc4-c5 3.Qe4*d5 # 3.Qe4-b4 # 2...Kc4-b5 3.Qe4*d5 # 2...Rd5-d4 3.Rd6*d4 + 3...Kc4-c5 4.Qe4-d5 # 4.Qe4-e5 # 3...Kc4-b5 4.Qe4-e5 # 4.Qe4-f5 # 4.Qe4-d5 # 3.Qe4-c6 + 3...Kc4-d3 4.Rc2*c3 # 4.Qc6*c3 # 4.Qc6*a6 # 4.Bf3-e4 # 3.Qe4*d4 + 3...Kc4-b5 4.Qd4-d5 # 2.Rd6-c6 + 2...Kc4-d4 3.Qh7*e4 # 2...Kc4-b5 3.Qh7-b7 + 3...Kb5*a5 4.Rc6*a6 # 2...Kc4-d3 3.Qh7*e4 # 2...Rd5-c5 3.Rc2*c3 + 3...Kc4-d4 4.Qh7*e4 # 3...Kc4-b5 4.Rc6*c5 # 4.Rc3*c5 # 3...Kc4-d5 4.Qh7*e4 # 2.Rc2*c3 + 2...Kc4-d4 3.Qh7*e4 # 2...Kc4-b5 3.Qh7*a7 threat: 4.Qa7-b6 # 4.Qa7*a6 # 3...Kb5*a5 4.Qa7-b6 # 3...Rd5*d6 4.Qa7-c5 # 4.Rc3-c5 # 3.Qh7-b7 + 3...Kb5*a5 4.Rd6*a6 # 1...Rf5-e5 2.Qh7*e4 + 2...Kc4-c5 3.Qe4-c6 # 3.Qe4-b4 # 2...Kc4-b5 3.Qe4-b7 + 3...Kb5-c5 4.Qb7-c6 # 4.Qb7-b4 # 3...Kb5*a5 4.Rd6*a6 # 3...Kb5-c4 4.Qb7-b4 # 4.Rc2*c3 # 3.Qe4*e5 + 3...Bc3*e5 4.Rd6-d5 # 3...Kb5-c4 4.Rd6-d4 # 4.Qe5-d5 # 4.Rc2*c3 # 2...Re5*e4 3.Rc2*c3 + 3...Kc4-b5 4.Rd6-d5 # 2.Rc2*c3 + 2...Kc4-b5 3.Qh7*a7 threat: 4.Qa7-b6 # 4.Qa7*a6 # 3...Be4-b7 4.Qa7-b6 # 3...Be4-c6 4.Qa7-b6 # 3...Kb5*a5 4.Qa7-b6 # 1...Rf5*g5 2.Qh7*e4 + 2...Kc4-c5 3.Qe4-c6 # 3.Qe4-b4 # 2...Kc4-b5 3.Qe4-b7 + 3...Kb5-c5 4.Qb7-c6 # 4.Qb7-b4 # 3...Kb5*a5 4.Rd6*a6 # 3...Kb5-c4 4.Qb7-b4 # 4.Rc2*c3 #" --- authors: - Loyd, Samuel source: American Chess Journal date: 1878-07 algebraic: white: [Kh5, Qd4, Rf6, Re5, Pg3, Pf4, Pf2] black: [Ka1, Rc3, Rb2, Bh4, Pg5, Pg4, Pf3, Pe6] stipulation: "#4" solution: | "1.Qd4*c3 ! threat: 2.Re5-b5 threat: 3.Qc3*b2 # 1...Ka1-b1 2.Rf6*e6 threat: 3.Re6-a6 threat: 4.Re5-e1 # 3...Rb2-e2 4.Ra6-a1 # 3...Rb2-d2 4.Ra6-a1 # 3...Rb2-c2 4.Ra6-a1 # 4.Qc3-a1 # 3.Re5-e1 + 3...Kb1-a2 4.Re6-a6 # 3.Re5-a5 threat: 4.Re6-e1 # 3...Rb2-e2 4.Ra5-a1 # 3...Rb2-d2 4.Ra5-a1 # 3...Rb2-c2 4.Ra5-a1 # 4.Qc3-a1 # 2...Rb2-b8 3.Re5-e1 + 3...Kb1-a2 4.Re6-a6 # 4.Re1-a1 # 2...Rb2-b7 3.Re5-e1 + 3...Kb1-a2 4.Re6-a6 # 4.Re1-a1 # 2...Rb2-b6 3.Re5-e1 + 3...Kb1-a2 4.Re1-a1 # 3.Re6*b6 + 3...Kb1-a2 4.Re5-a5 # 4.Qc3-b2 # 4.Qc3-a5 # 3.Re5-a5 threat: 4.Re6-e1 # 4.Re6*b6 # 4.Ra5-a1 # 3...Rb6-b2 4.Re6-e1 # 3...Rb6-b3 4.Re6-e1 # 4.Ra5-a1 # 3...Rb6-b4 4.Re6-e1 # 4.Ra5-a1 # 3...Rb6-b5 4.Re6-e1 # 4.Ra5-a1 # 3...Rb6-a6 4.Re6-e1 # 3...Rb6-b8 4.Re6-e1 # 4.Ra5-a1 # 3...Rb6-b7 4.Re6-e1 # 4.Ra5-a1 # 3...Rb6*e6 4.Ra5-a1 # 3...Rb6-d6 4.Ra5-a1 # 3...Rb6-c6 4.Ra5-a1 # 4.Re6-e1 # 2...Rb2-b5 3.Re5-e1 + 3...Kb1-a2 4.Re1-a1 # 3.Re5*b5 + 3...Kb1-a2 4.Re6-a6 # 4.Qc3-b2 # 4.Qc3-a5 # 2...Rb2-b4 3.Re5-e1 + 3...Kb1-a2 4.Re1-a1 # 2...Rb2-b3 3.Re5-e1 + 3...Kb1-a2 4.Re1-a1 # 4.Qc3-a1 # 2...Rb2-e2 3.Re6-a6 threat: 4.Ra6-a1 # 3...Re2-a2 4.Re5-e1 # 3...Re2-b2 4.Re5-e1 # 3.Re6-b6 + 3...Kb1-a2 4.Re5-a5 # 4.Qc3-a5 # 3...Re2-b2 4.Qc3*b2 # 3.Re5-a5 threat: 4.Ra5-a1 # 3...Re2-a2 4.Re6-e1 # 3...Re2-b2 4.Re6-e1 # 3.Re5-b5 + 3...Kb1-a2 4.Re6-a6 # 4.Qc3-a5 # 3...Re2-b2 4.Qc3*b2 # 2...Rb2-d2 3.Re6-a6 threat: 4.Ra6-a1 # 3...Rd2-a2 4.Re5-e1 # 3...Rd2-b2 4.Re5-e1 # 3.Re6-b6 + 3...Kb1-a2 4.Re5-a5 # 4.Qc3-a5 # 3...Rd2-b2 4.Qc3*b2 # 3.Re5-a5 threat: 4.Ra5-a1 # 3...Rd2-a2 4.Re6-e1 # 3...Rd2-b2 4.Re6-e1 # 3.Re5-b5 + 3...Kb1-a2 4.Re6-a6 # 4.Qc3-a5 # 3...Rd2-b2 4.Qc3*b2 # 3.Qc3*d2 threat: 4.Re5-e1 # 2...Rb2-c2 3.Re6-b6 + 3...Kb1-c1 4.Re5-e1 # 4.Qc3-e1 # 3...Kb1-a2 4.Re5-a5 # 4.Qc3-a5 # 3...Rc2-b2 4.Qc3*b2 # 3.Re5-b5 + 3...Kb1-c1 4.Re6-e1 # 4.Qc3-e1 # 3...Kb1-a2 4.Re6-a6 # 4.Qc3-a5 # 3...Rc2-b2 4.Qc3*b2 # 2...Bh4*g3 3.Re5-e1 + 3...Kb1-a2 4.Re6-a6 # 2...g5*f4 3.Re6-a6 threat: 4.Re5-e1 # 3...Rb2-b5 4.Ra6-a1 # 4.Re5*b5 # 3...Rb2-e2 4.Ra6-a1 # 3...Rb2-d2 4.Ra6-a1 # 3...Rb2-c2 4.Ra6-a1 # 4.Qc3-a1 # 3.Re5-e1 + 3...Kb1-a2 4.Re6-a6 # 2.Rf6-f8 threat: 3.Rf8-a8 threat: 4.Re5-e1 # 3...Rb2-e2 4.Ra8-a1 # 3...Rb2-d2 4.Ra8-a1 # 3...Rb2-c2 4.Ra8-a1 # 4.Qc3-a1 # 3.Re5-e1 + 3...Kb1-a2 4.Rf8-a8 # 2...Rb2-b8 3.Re5-e1 + 3...Kb1-a2 4.Re1-a1 # 3.Rf8*b8 + 3...Kb1-a2 4.Re5-a5 # 4.Qc3-b2 # 4.Qc3-a5 # 2...Rb2-b7 3.Re5-e1 + 3...Kb1-a2 4.Re1-a1 # 2...Rb2-b6 3.Re5-e1 + 3...Kb1-a2 4.Re1-a1 # 2...Rb2-b5 3.Re5-e1 + 3...Kb1-a2 4.Re1-a1 # 3.Re5*b5 + 3...Kb1-a2 4.Rf8-a8 # 4.Qc3-b2 # 4.Qc3-a5 # 2...Rb2-b4 3.Re5-e1 + 3...Kb1-a2 4.Re1-a1 # 2...Rb2-b3 3.Re5-e1 + 3...Kb1-a2 4.Qc3-a1 # 4.Re1-a1 # 2...Rb2-e2 3.Rf8-a8 threat: 4.Ra8-a1 # 3...Re2-a2 4.Re5-e1 # 3...Re2-b2 4.Re5-e1 # 3.Rf8-b8 + 3...Kb1-a2 4.Re5-a5 # 4.Qc3-a5 # 3...Re2-b2 4.Qc3*b2 # 3.Re5-b5 + 3...Kb1-a2 4.Rf8-a8 # 4.Qc3-a5 # 3...Re2-b2 4.Qc3*b2 # 2...Rb2-d2 3.Rf8-a8 threat: 4.Ra8-a1 # 3...Rd2-a2 4.Re5-e1 # 3...Rd2-b2 4.Re5-e1 # 3.Rf8-b8 + 3...Kb1-a2 4.Re5-a5 # 4.Qc3-a5 # 3...Rd2-b2 4.Qc3*b2 # 3.Re5-b5 + 3...Kb1-a2 4.Rf8-a8 # 4.Qc3-a5 # 3...Rd2-b2 4.Qc3*b2 # 3.Qc3*d2 threat: 4.Re5-e1 # 2...Rb2-c2 3.Rf8-b8 + 3...Kb1-c1 4.Re5-e1 # 4.Qc3-e1 # 3...Kb1-a2 4.Re5-a5 # 4.Qc3-a5 # 3...Rc2-b2 4.Qc3*b2 # 3.Re5-b5 + 3...Kb1-c1 4.Qc3-e1 # 3...Kb1-a2 4.Rf8-a8 # 4.Qc3-a5 # 3...Rc2-b2 4.Qc3*b2 # 2...Bh4*g3 3.Re5-e1 + 3...Kb1-a2 4.Rf8-a8 # 2.Rf6-f7 threat: 3.Re5-e1 + 3...Kb1-a2 4.Rf7-a7 # 3.Rf7-a7 threat: 4.Re5-e1 # 3...Rb2-e2 4.Ra7-a1 # 3...Rb2-d2 4.Ra7-a1 # 3...Rb2-c2 4.Ra7-a1 # 4.Qc3-a1 # 2...Rb2-b8 3.Re5-e1 + 3...Kb1-a2 4.Rf7-a7 # 4.Re1-a1 # 2...Rb2-b7 3.Re5-e1 + 3...Kb1-a2 4.Re1-a1 # 3.Rf7*b7 + 3...Kb1-a2 4.Re5-a5 # 4.Qc3-b2 # 4.Qc3-a5 # 2...Rb2-b6 3.Re5-e1 + 3...Kb1-a2 4.Re1-a1 # 2...Rb2-b5 3.Re5-e1 + 3...Kb1-a2 4.Re1-a1 # 3.Re5*b5 + 3...Kb1-a2 4.Rf7-a7 # 4.Qc3-b2 # 4.Qc3-a5 # 2...Rb2-b4 3.Re5-e1 + 3...Kb1-a2 4.Re1-a1 # 2...Rb2-b3 3.Re5-e1 + 3...Kb1-a2 4.Qc3-a1 # 4.Re1-a1 # 2...Rb2-e2 3.Rf7-a7 threat: 4.Ra7-a1 # 3...Re2-a2 4.Re5-e1 # 3...Re2-b2 4.Re5-e1 # 3.Rf7-b7 + 3...Kb1-a2 4.Re5-a5 # 4.Qc3-a5 # 3...Re2-b2 4.Qc3*b2 # 3.Re5-b5 + 3...Kb1-a2 4.Rf7-a7 # 4.Qc3-a5 # 3...Re2-b2 4.Qc3*b2 # 2...Rb2-d2 3.Rf7-a7 threat: 4.Ra7-a1 # 3...Rd2-a2 4.Re5-e1 # 3...Rd2-b2 4.Re5-e1 # 3.Rf7-b7 + 3...Kb1-a2 4.Re5-a5 # 4.Qc3-a5 # 3...Rd2-b2 4.Qc3*b2 # 3.Re5-b5 + 3...Kb1-a2 4.Rf7-a7 # 4.Qc3-a5 # 3...Rd2-b2 4.Qc3*b2 # 3.Qc3*d2 threat: 4.Re5-e1 # 2...Rb2-c2 3.Rf7-b7 + 3...Kb1-c1 4.Re5-e1 # 4.Qc3-e1 # 3...Kb1-a2 4.Re5-a5 # 4.Qc3-a5 # 3...Rc2-b2 4.Qc3*b2 # 3.Re5-b5 + 3...Kb1-c1 4.Qc3-e1 # 3...Kb1-a2 4.Rf7-a7 # 4.Qc3-a5 # 3...Rc2-b2 4.Qc3*b2 # 2...Bh4*g3 3.Re5-e1 + 3...Kb1-a2 4.Rf7-a7 # 2.Re5-e1 + 2...Kb1-a2 3.Rf6*e6 threat: 4.Re6-a6 # 3...Rb2-b6 4.Re1-a1 # 3...Rb2-b5 4.Re1-a1 # 3...Rb2-b4 4.Re1-a1 # 3...Rb2-b3 4.Qc3-a1 # 4.Re1-a1 # 3.Rf6-f8 threat: 4.Rf8-a8 # 3...Rb2-b8 4.Re1-a1 # 3...Rb2-b7 4.Re1-a1 # 3...Rb2-b6 4.Re1-a1 # 3...Rb2-b5 4.Re1-a1 # 3...Rb2-b4 4.Re1-a1 # 3...Rb2-b3 4.Qc3-a1 # 4.Re1-a1 # 3.Rf6-f7 threat: 4.Rf7-a7 # 3...Rb2-b7 4.Re1-a1 # 3...Rb2-b6 4.Re1-a1 # 3...Rb2-b5 4.Re1-a1 # 3...Rb2-b4 4.Re1-a1 # 3...Rb2-b3 4.Qc3-a1 # 4.Re1-a1 # 2.Re5*e6 threat: 3.Re6-e1 + 3...Kb1-a2 4.Rf6-a6 # 2...Rb2-e2 3.Re6-b6 + 3...Kb1-a2 4.Qc3-a5 # 3...Re2-b2 4.Qc3*b2 # 2...Rb2-d2 3.Re6-b6 + 3...Kb1-a2 4.Qc3-a5 # 3...Rd2-b2 4.Qc3*b2 # 3.Qc3*d2 threat: 4.Re6-e1 # 2...Rb2-c2 3.Re6-b6 + 3...Kb1-c1 4.Qc3-e1 # 3...Kb1-a2 4.Qc3-a5 # 3...Rc2-b2 4.Qc3*b2 # 1...Ka1-a2 2.Re5-a5 + 2...Ka2-b1 3.Rf6*e6 threat: 4.Re6-e1 # 3...Rb2-e2 4.Ra5-a1 # 3...Rb2-d2 4.Ra5-a1 # 3...Rb2-c2 4.Ra5-a1 # 4.Qc3-a1 # 1...g5*f4 2.Qc3-d4 threat: 3.Re5-e1 + 3...Ka1-a2 4.Qd4-a4 # 3.Re5-a5 + 3...Ka1-b1 4.Qd4-d1 # 2...Ka1-b1 3.Qd4-d1 + 3...Kb1-a2 4.Re5-a5 # 2...Ka1-a2 3.Qd4-a4 + 3...Ka2-b1 4.Re5-e1 #" keywords: - Scaccografia comments: - Twixt Axe and Crown --- authors: - Loyd, Samuel source: The Boston Globe, Centennial Tourney source-id: 74 date: 1876-12-13 distinction: 1st Prize algebraic: white: [Kh6, Rd8, Ra1, Bg8, Sc4, Sa5, Pf4, Pf3, Pe6, Pd2, Pc2] black: [Kc5, Bb8, Sc7, Pe7, Pa7, Pa6] stipulation: "#4" solution: | "1.Rd8-c8 ! threat: 2.c2-c3 threat: 3.d2-d4 + 3...Kc5-b5 4.Rc8*b8 # 3...Kc5-d5 4.Rc8-d8 # 1...Kc5-d5 2.Sc4-e5 zugzwang. 2...Kd5-c5 3.c2-c4 zugzwang. 3...Kc5-d4 4.Sa5-b3 # 3...Kc5-b6 4.Se5-d7 # 3...Kc5-d6 4.Sa5-b7 # 3...Kc5-b4 4.Se5-d3 # 2...Kd5-d6 3.Sa5-b7 + 3...Kd6-d5 4.Rc8-d8 # 2...Kd5-d4 3.Sa5-b3 + 3...Kd4-d5 4.Rc8-d8 # 2...Sc7-b5 3.c2-c4 + 3...Kd5-d6 4.Sa5-b7 # 4.Rc8-c6 # 3...Kd5-d4 4.Sa5-b3 # 2...Sc7*e6 3.c2-c4 + 3...Kd5-d6 4.Rc8-c6 # 4.Sa5-b7 # 3...Kd5-d4 4.Sa5-b3 # 2...Sc7-e8 3.c2-c4 + 3...Kd5-d6 4.Sa5-b7 # 4.Rc8-c6 # 3...Kd5-d4 4.Sa5-b3 # 2...Sc7-a8 3.c2-c4 + 3...Kd5-d6 4.Rc8-c6 # 4.Sa5-b7 # 3...Kd5-d4 4.Sa5-b3 # 1...Kc5-b5 2.Sc4-e5 zugzwang. 2...Kb5-b4 3.Se5-d3 + 3...Kb4-b5 4.Rc8*b8 # 2...Kb5-c5 3.c2-c4 zugzwang. 3...Kc5-d4 4.Sa5-b3 # 3...Kc5-b6 4.Se5-d7 # 3...Kc5-d6 4.Sa5-b7 # 3...Kc5-b4 4.Se5-d3 # 2...Kb5-b6 3.Se5-d7 + 3...Kb6-b5 4.Rc8*b8 # 2...Sc7-d5 3.c2-c4 + 3...Kb5-b6 4.Se5-d7 # 4.Rc8-c6 # 3...Kb5-b4 4.Se5-d3 # 2...Sc7*e6 3.c2-c4 + 3...Kb5-b6 4.Rc8-c6 # 4.Se5-d7 # 3...Kb5-b4 4.Se5-d3 # 2...Sc7-e8 3.c2-c4 + 3...Kb5-b6 4.Rc8-c6 # 4.Se5-d7 # 3...Kb5-b4 4.Se5-d3 # 2...Sc7-a8 3.c2-c4 + 3...Kb5-b6 4.Rc8-c6 # 4.Se5-d7 # 3...Kb5-b4 4.Se5-d3 #" --- authors: - Loyd, Samuel source: Charleston Courier date: 1859 distinction: 1st Prize, set algebraic: white: [Ke8, Qh8, Rg1, Rf6, Bb4, Sc2, Sb5, Pg5, Pc3] black: [Ke5, Qe4, Rb2, Ra5, Bb3, Ba7, Pg6, Pd4, Pd3, Pc4, Pb6] stipulation: "#3" solution: | "1.Qh8-h1 ! threat: 2.Rf6-e6 + 2...Ke5-f5 3.Qh1*e4 # 2...Ke5*e6 3.Qh1*e4 # 2...Ke5-d5 3.Qh1*e4 # 3.Sb5-c7 # 2...Ke5-f4 3.Qh1*e4 # 2.Rg1-e1 threat: 3.Qh1*e4 # 2...Qe4*e1 3.Bb4-d6 # 3.c3*d4 # 2...Qe4-e2 3.Bb4-d6 # 3.c3*d4 # 2...Qe4-e3 3.Bb4-d6 # 3.c3*d4 # 1...Rb2-b1 2.Rf6-e6 + 2...Ke5-f5 3.Qh1*e4 # 2...Ke5*e6 3.Qh1*e4 # 2...Ke5-d5 3.Qh1*e4 # 3.Sb5-c7 # 2...Ke5-f4 3.Qh1*e4 # 1...Rb2*c2 2.Rf6-e6 + 2...Ke5-f5 3.Qh1*e4 # 2...Ke5*e6 3.Qh1*e4 # 2...Ke5-d5 3.Qh1*e4 # 3.Sb5-c7 # 2...Ke5-f4 3.Qh1*e4 # 1...Bb3*c2 2.Rf6-e6 + 2...Ke5-f5 3.Qh1*e4 # 2...Ke5*e6 3.Qh1*e4 # 2...Ke5-d5 3.Qh1*e4 # 3.Sb5-c7 # 2...Ke5-f4 3.Qh1*e4 # 1...Bb3-a4 2.Rf6-e6 + 2...Ke5-f5 3.Qh1*e4 # 2...Ke5*e6 3.Qh1*e4 # 2...Ke5-d5 3.Qh1*e4 # 2...Ke5-f4 3.Qh1*e4 # 1...d3-d2 2.Rf6-e6 + 2...Ke5-f5 3.Qh1*e4 # 2...Ke5*e6 3.Qh1*e4 # 2...Ke5-d5 3.Qh1*e4 # 3.Sb5-c7 # 2...Ke5-f4 3.Qh1*e4 # 1...Qe4*h1 2.c3*d4 + 2...Ke5-d5 3.Sb5-c3 # 2...Ke5-e4 3.Sb5-c3 # 1...Qe4-g2 2.Bb4-d6 + 2...Ke5-d5 3.Qh1*g2 # 2...Ke5-e4 3.Qh1*g2 # 2.c3*d4 + 2...Ke5-d5 3.Qh1*g2 # 3.Sb5-c3 # 2...Ke5-e4 3.Sb5-c3 # 3.Qh1*g2 # 2.Qh1*g2 threat: 3.Bb4-d6 # 3.c3*d4 # 3.Rg1-e1 # 2...Rb2-b1 3.Bb4-d6 # 3.c3*d4 # 2...Rb2*c2 3.Bb4-d6 # 3.c3*d4 # 2...d3-d2 3.Bb4-d6 # 3.c3*d4 # 2...d4*c3 3.Bb4*c3 # 3.Bb4-d6 # 3.Rg1-e1 # 2...Ra5-a1 3.Bb4-d6 # 3.c3*d4 # 2...Ba7-b8 3.c3*d4 # 3.Rg1-e1 # 2.Rg1-e1 + 2...Qg2-e4 3.Qh1*e4 # 2...Qg2-e2 3.Bb4-d6 # 3.c3*d4 # 2...Ke5-d5 3.Rf6-d6 # 3.Sb5-c7 # 3.Qh1*g2 # 1...Qe4-f3 2.Bb4-d6 + 2...Ke5-d5 3.Qh1*f3 # 2...Ke5-e4 3.Qh1*f3 # 2.c3*d4 + 2...Ke5-d5 3.Qh1*f3 # 3.Sb5-c3 # 2...Ke5-e4 3.Sb5-c3 # 3.Qh1*f3 # 2.Qh1*f3 threat: 3.Bb4-d6 # 3.c3*d4 # 3.Rg1-e1 # 2...Rb2-b1 3.Bb4-d6 # 3.c3*d4 # 2...Rb2*c2 3.Bb4-d6 # 3.c3*d4 # 2...d3-d2 3.Bb4-d6 # 3.c3*d4 # 2...d4*c3 3.Bb4*c3 # 3.Bb4-d6 # 3.Rg1-e1 # 2...Ra5-a1 3.Bb4-d6 # 3.c3*d4 # 2...Ba7-b8 3.c3*d4 # 3.Rg1-e1 # 2.Rg1-e1 + 2...Qf3-e2 3.Bb4-d6 # 3.c3*d4 # 2...Qf3-e4 3.Qh1*e4 # 2...Qf3-e3 3.Bb4-d6 # 3.c3*d4 # 2...Ke5-d5 3.Rf6-d6 # 3.Sb5-c7 # 3.Qh1*f3 # 1...Qe4-a8 + 2.Qh1*a8 threat: 3.Bb4-d6 # 3.c3*d4 # 3.Rg1-e1 # 2...Rb2-b1 3.Bb4-d6 # 3.c3*d4 # 2...Rb2*c2 3.Bb4-d6 # 3.c3*d4 # 2...d3-d2 3.Bb4-d6 # 3.c3*d4 # 2...d4*c3 3.Bb4*c3 # 3.Bb4-d6 # 3.Rg1-e1 # 2...Ra5-a1 3.Bb4-d6 # 3.c3*d4 # 2...Ba7-b8 3.c3*d4 # 3.Rg1-e1 # 1...Qe4-c6 + 2.Qh1*c6 threat: 3.Qc6-e6 # 3.Bb4-d6 # 3.c3*d4 # 3.Rg1-e1 # 2...Rb2-b1 3.Qc6-e6 # 3.Bb4-d6 # 3.c3*d4 # 2...Rb2*c2 3.Qc6-e6 # 3.Bb4-d6 # 3.c3*d4 # 2...d3-d2 3.Qc6-e6 # 3.Bb4-d6 # 3.c3*d4 # 2...d4*c3 3.Qc6-e6 # 3.Bb4*c3 # 3.Bb4-d6 # 3.Rg1-e1 # 2...Ra5-a1 3.Qc6-e6 # 3.Bb4-d6 # 3.c3*d4 # 2...Ba7-b8 3.Qc6-e6 # 3.c3*d4 # 3.Rg1-e1 # 1...Qe4-d5 2.Bb4-d6 + 2...Qd5*d6 3.Rg1-e1 # 2.Qh1-h2 + 2...Ke5-e4 3.Qh2-f4 # 3.Rg1-e1 # 3.Rg1-g4 # 2.Rg1-e1 + 2...Qd5-e4 3.Qh1*e4 # 1...Ra5-a1 2.Rf6-e6 + 2...Ke5-f5 3.Qh1*e4 # 2...Ke5*e6 3.Qh1*e4 # 2...Ke5-d5 3.Qh1*e4 # 3.Sb5-c7 # 2...Ke5-f4 3.Qh1*e4 # 1...Ra5*b5 2.Rg1-e1 threat: 3.Qh1*e4 # 2...Qe4*e1 3.Bb4-d6 # 3.c3*d4 # 2...Qe4-e2 3.Bb4-d6 # 3.c3*d4 # 2...Qe4-e3 3.Bb4-d6 # 3.c3*d4 # 1...Ke5-d5 + 2.Rf6-e6 threat: 3.Sb5-c7 # 3.Qh1*e4 # 2...Bb3-a4 3.Qh1*e4 # 2...Qe4*h1 3.Sb5-c7 # 2...Qe4-g2 3.Sb5-c7 # 2...Qe4-f3 3.Sb5-c7 # 2...Ra5*b5 3.Qh1*e4 # 2...Kd5*e6 3.Qh1*e4 # 2...Ba7-b8 3.Qh1*e4 # 1...Ba7-b8 2.Rg1-e1 threat: 3.Qh1*e4 # 2...Qe4*e1 3.c3*d4 # 2...Qe4-e2 3.c3*d4 # 2...Qe4-e3 3.c3*d4 #" --- authors: - Loyd, Samuel source: American Union date: 1858-07-17 algebraic: white: [Kh3, Qg2, Rf1, Rc6, Bf8, Bb1, Sd4, Sc4, Pg6, Pf3] black: [Kf4, Qh7, Re1, Rc8, Bh8, Bh1, Sd1, Ph6, Ph5, Ph4, Pf6] stipulation: "s#3" solution: | "1.Kh3*h4 ! threat: 2.Bf8*h6 + 2...Qh7*h6 3.Qg2-g4 + 3...h5*g4 # 2.Sd4-e2 + 2...Re1*e2 3.Qg2-h2 + 3...Re2*h2 # 2.Qg2-g4 + 2...h5*g4 3.Bf8*h6 + 3...Qh7*h6 # 1...Sd1-f2 2.Bf8*h6 + 2...Qh7*h6 3.Qg2-g5 + 3...f6*g5 # 3...Qh6*g5 # 1...Sd1-e3 2.Sd4-e2 + 2...Re1*e2 3.Qg2-h2 + 3...Re2*h2 # 1...Sd1-c3 2.Bf8*h6 + 2...Qh7*h6 3.Qg2-g4 + 3...h5*g4 # 2.Qg2-g4 + 2...h5*g4 3.Bf8*h6 + 3...Qh7*h6 # 1...Re1-e5 2.Sd4-e2 + 2...Re5*e2 3.Qg2-h2 + 3...Re2*h2 # 1...Re1-e4 2.Bf8*h6 + 2...Qh7*h6 3.Qg2-g4 + 3...h5*g4 # 2.Qg2-g4 + 2...h5*g4 3.Bf8*h6 + 3...Qh7*h6 # 1...Re1*f1 2.Bf8*h6 + 2...Qh7*h6 3.Qg2-g4 + 3...h5*g4 # 2.Qg2-g4 + 2...h5*g4 3.Bf8*h6 + 3...Qh7*h6 # 1...Bh1*g2 2.Bf8*h6 + 2...Qh7*h6 3.Rc6*f6 + 3...Bh8*f6 # 1...f6-f5 2.Sd4-e2 + 2...Re1*e2 3.Qg2-h2 + 3...Re2*h2 # 1...Qh7*g6 2.Bf8-d6 + 2...Re1-e5 3.Qg2-g3 + 3...Qg6*g3 # 1...Qh7-g8 2.Sd4-e2 + 2...Re1*e2 3.Qg2-h2 + 3...Re2*h2 # 1...Qh7-a7 2.Sd4-e2 + 2...Re1*e2 3.Qg2-h2 + 3...Re2*h2 # 1...Qh7-b7 2.Sd4-e2 + 2...Re1*e2 3.Qg2-h2 + 3...Re2*h2 # 1...Qh7-c7 2.Sd4-e2 + 2...Re1*e2 3.Qg2-h2 + 3...Re2*h2 # 1...Qh7-d7 2.Sd4-e2 + 2...Re1*e2 3.Qg2-h2 + 3...Re2*h2 # 1...Qh7-e7 2.Sd4-e2 + 2...Re1*e2 3.Qg2-h2 + 3...Re2*h2 # 2...Qe7*e2 3.Qg2-h2 + 3...Qe2*h2 # 1...Qh7-f7 2.Sd4-e2 + 2...Re1*e2 3.Qg2-h2 + 3...Re2*h2 # 1...Qh7-g7 2.Sd4-e2 + 2...Re1*e2 3.Qg2-h2 + 3...Re2*h2 # 1...Rc8*f8 2.Sd4-e2 + 2...Re1*e2 3.Qg2-h2 + 3...Re2*h2 # 1...Bh8-g7 2.Sd4-e2 + 2...Re1*e2 3.Qg2-h2 + 3...Re2*h2 #" comments: - also in The Chess Monthly (242), September 1860 --- authors: - Loyd, Samuel source: New York Musical World date: 1858 algebraic: white: [Kb2, Qe3, Rc1, Bc6] black: [Kb4, Bb3, Pb5] stipulation: "#2" solution: | "1...Bd1/Bc4/Bd5/Be6/Bf7/Bg8/Ba2 2.Qa3# 1...Ba4 2.Qe1#/Qc3#/Qd2# 1.Qe2?? (2.Qxb5#) 1...Ba4 2.Qe1#/Qd2# but 1...Bc4! 1.Qe7+?? 1...Ka4 2.Qa3# but 1...Ka5! 1.Ra1?? (2.Qc3#) 1...Bc4 2.Qe7#/Qa3# but 1...Ba2! 1.Qd3! (2.Qxb5#) 1...Bc4 2.Qa3# 1...Ba4 2.Qd2#/Qc3# 1.Qxb3+! 1...Ka5 2.Qxb5# 1.Qc5+! 1...Ka4 2.Qxb5#/Qa3# 1...Ka5 2.Qxb5# 1.Rc4+! 1...Kxc4 2.Qc3# 1...Ka5 2.Qa7# 1...bxc4 2.Qb6# 1...Bxc4 2.Qa3#" keywords: - Active sacrifice - Checking key - Defences on same square - Flight taking key - Flight giving and taking key - Cooked --- authors: - Loyd, Samuel source: date: 1859 algebraic: white: [Ke5, Rb1, Bh5, Be1, Pb2] black: [Kd3, Pb5] stipulation: "#2" solution: | "1.Rc1?? (2.Rc3#) but 1...b4! 1.b4! zz 1...Ke3 2.Rb3# 1...Kc2 2.Bg6# 1...Kc4 2.Be2#" keywords: - King Y-flight --- authors: - Loyd, Samuel source: date: 1867 algebraic: white: [Ka8, Qe5, Re3, Sf2, Sb1] black: [Ke1, Re2] stipulation: "#2" solution: | "1.Nd2! (2.Rxe2#) 1...Kxf2 2.Qg3# 1...Kxd2 2.Qc3# 1...Rxe3 2.Qxe3#" keywords: - Active sacrifice - Flight giving and taking key - No pawns --- authors: - Loyd, Samuel source: date: 1887 algebraic: white: [Kc7, Qb5, Pd3] black: [Ke6, Pg5, Pf7, Pf6] stipulation: "#2" solution: | "1.d4?? (2.Qd7#) 1...f5 2.Qe5# but 1...Ke7! 1.Qc5?? zz 1...f5 2.Qd6# but 1...g4! 1.Qc4+?? 1...Ke5/Kf5 2.Qe4# but 1...Ke7! 1.Qc6+?? 1...Ke5/Kf5 2.Qe4# but 1...Ke7! 1.Qe8+?? 1...Kf5 2.Qe4# but 1...Kd5! 1.Qb4! (2.Qe4#) 1...Kd5/f5 2.Qd6#" keywords: - 2 flights giving key - Flight giving and taking key --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 3-moves / 461 date: 1868 algebraic: white: [Kh2, Qg1, Be5, Sb4, Pf4] black: [Ka8, Rh8, Bg8, Ph3, Pf5, Pe6, Pb7, Pa7] stipulation: "#3" solution: | "1.Sb4-a6 ! threat: 2.Be5-b8 threat: 3.Qg1*a7 # 2...b7-b6 3.Qg1-h1 #" --- authors: - Loyd, Samuel source: Evening Telegram (New York) date: 1890 algebraic: white: [Ka4, Qa8, Rb5] black: [Ka1, Pg7, Pc5, Pb7] stipulation: "#2" solution: | "1.Rb4?? (2.Kb5#) but 1...cxb4! 1.Rb3?? (2.Kb5#) but 1...Ka2! 1.Ka3?? zz 1...g6/g5 2.Qh8# 1...b6 2.Qh1# but 1...c4! 1.Ka5! (2.Kb6#)" --- authors: - Loyd, Samuel source: New York Mail & Express date: 1892 algebraic: white: [Ke7, Qd8, Rh4, Rc5, Be2, Sh1, Sf8, Ph3, Pf3, Pe6, Pe4] black: [Kg5, Qh5, Ph2, Pg4, Pe5] stipulation: "#3" solution: | "1.Rc5-c7 ! zugzwang. 1...Kg5-h6 2.Ke7-d6 threat: 3.Qd8-f6 # 3.Rc7-h7 # 2...Qh5*h4 3.Qd8*h4 # 3.Rc7-h7 # 1...g4-g3 2.Ke7-d6 + 2...Kg5-h6 3.Rc7-h7 # 3.Qd8-f6 # 2.Ke7-d7 + 2...Kg5-h6 3.Qd8-f6 # 1...g4*f3 2.Ke7-d7 + 2...Kg5-h6 3.Qd8-f6 # 2.Ke7-d6 + 2...Kg5-h6 3.Qd8-f6 # 3.Rc7-h7 # 1...g4*h3 2.Ke7-d6 + 2...Kg5-h6 3.Rc7-h7 # 3.Qd8-f6 # 2.Ke7-d7 + 2...Kg5-h6 3.Qd8-f6 # 1...Kg5*h4 2.Ke7-d6 + 2...Kh4*h3 3.Be2-f1 # 2...Qh5-g5 3.Rc7-h7 # 1...Kg5-f4 2.Qd8-d2 # 1...Qh5-e8 + 2.Ke7*e8 + 2...Kg5-f4 3.Qd8-d2 # 1...Qh5-f7 + 2.Ke7*f7 + 2...Kg5-f4 3.Qd8-d2 # 1...Qh5-g6 2.Sf8*g6 threat: 3.Ke7-f7 # 2...Kg5*g6 3.Qd8-g8 # 1...Qh5*h4 2.Ke7-e8 + 2...Kg5-h5 3.Rc7-h7 # 2...Kg5-h6 3.Rc7-h7 # 3.Qd8*h4 # 2...Kg5-f4 3.Qd8-d2 # 1...Qh5-h8 2.Ke7-f7 + 2...Kg5-f4 3.Qd8-d2 # 2...Qh8-f6 + 3.Qd8*f6 # 2.Rh4*h8 threat: 3.Qd8-d2 # 1...Qh5-h7 + 2.Rh4*h7 threat: 3.Qd8-d2 # 1...Qh5-h6 2.Qd8-d2 + 2...Kg5*h4 3.Qd2*h6 # 2.Ke7-f7 + 2...Kg5-f4 3.Qd8-d2 # 2...Qh6-f6 + 3.Qd8*f6 # 2.Rh4*g4 + 2...Kg5-h5 3.Sh1-g3 #" --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 3-moves / 551 date: 1868 algebraic: white: [Kd7, Rg2, Bh4, Bd1, Sf8, Sd6, Pd4, Pa3] black: [Kd5] stipulation: "#3" solution: | "1.Bh4-d8 ! zugzwang. 1...Kd5*d4 2.Rg2-d2 + 2...Kd4-c5 3.Sf8-e6 # 2...Kd4-e5 3.Sf8-g6 # 2...Kd4-e3 3.Bd8-g5 # 2...Kd4-c3 3.Bd8-a5 #" --- authors: - Loyd, Samuel source: American Chess Nuts source-id: 552 date: 1868 algebraic: white: [Ke7, Qh3, Bh5, Bh2] black: [Kg5, Qh1, Ph7, Pg2, Pe5] stipulation: "#3" solution: | "1.Bh5-e2 ! threat: 2.Qh3-h5 # 1...Qh1*h2 2.Qh3-f3 threat: 3.Qf3-f6 # 2...Qh2-f4 3.Qf3-h5 # 2...Qh2-h6 3.Qf3-g4 # 2...Kg5-h4 3.Qf3-g4 # 1...Kg5-g6 2.Qh3-e6 + 2...Kg6-g7 3.Bh2*e5 # 2...Kg6-g5 3.Qe6-f6 #" --- authors: - Loyd, Samuel source: London Chess Congress date: 1866 algebraic: white: [Kh4, Qh5, Rd5, Rc6, Pc2, Pb4] black: [Ke4, Rd3, Bh1, Sb6, Ph6, Pg3, Pe7, Pe5, Pe3, Pe2] stipulation: "#3" solution: | "1.Rd5-d7 ! threat: 2.Qh5-g4 # 1...Bh1-f3 2.c2*d3 + 2...Ke4-f4 3.Qh5-f7 # 1...Rd3*d7 2.Rc6-c5 threat: 3.Qh5-g4 # 2...Bh1-f3 3.Qh5*e5 # 2...Ke4-d4 3.Qh5*e5 # 2...Sb6-d5 3.Rc5-c4 # 1...Rd3-d6 2.Qh5-g4 + 2...Ke4-d5 3.Rc6-c5 # 1...Sb6-d5 2.Qh5-g4 + 2...Sd5-f4 3.c2*d3 # 1...Sb6*d7 2.Qh5-g4 + 2...Ke4-d5 3.Qg4-c4 #" --- authors: - Loyd, Samuel source: American Chess Journal, Centennial Tourney source-id: 150 date: 1877-01 algebraic: white: [Kh6, Qa5, Rd7, Rd3, Be2, Bd8, Sd6, Sc4, Pf5, Pa7] black: [Ka8, Qb2, Rf1, Pc5, Pb6] stipulation: "#3" solution: | "1.Qa5-a1 ! zugzwang. 1...Rf1-h1 + 2.Qa1*h1 # 1...Rf1*a1 2.Be2-f3 # 1...Rf1-b1 2.Be2-f3 # 1...Rf1-c1 2.Be2-f3 # 1...Rf1-d1 2.Be2-f3 # 1...Rf1-e1 2.Be2-f3 + 2...Re1-e4 3.Bf3*e4 # 1...Rf1*f5 2.Qa1-h1 + 2...Rf5-f3 3.Be2*f3 # 3.Qh1*f3 # 2...Rf5-d5 3.Qh1*d5 # 1...Rf1-f4 2.Qa1-h1 + 2...Rf4-f3 3.Be2*f3 # 3.Qh1*f3 # 2...Rf4-e4 3.Qh1*e4 # 1...Rf1-f3 2.Be2*f3 # 1...Rf1-f2 2.Qa1-h1 + 2...Rf2-f3 3.Be2*f3 # 3.Qh1*f3 # 2...Rf2-g2 3.Be2-f3 # 3.Qh1*g2 # 1...Rf1-g1 2.Be2-f3 # 1...Qb2*a1 2.Sc4*b6 # 1...Qb2-c1 + 2.Qa1*c1 threat: 3.Sc4*b6 # 2...Rf1-h1 + 3.Qc1*h1 # 1...Qb2-h8 + 2.Qa1*h8 threat: 3.Bd8*b6 # 3.Bd8-h4 # 3.Bd8-g5 # 3.Bd8-f6 # 3.Bd8-e7 # 3.Sc4*b6 # 2...Rf1-b1 3.Bd8*b6 # 3.Bd8-h4 # 3.Bd8-g5 # 3.Bd8-f6 # 3.Bd8-e7 # 3.Be2-f3 # 2...Rf1*f5 3.Bd8-f6 # 3.Sc4*b6 # 2...Rf1-h1 + 3.Bd8-h4 # 2...Rf1-g1 3.Bd8-g5 # 3.Sc4*b6 # 3.Be2-f3 # 1...Qb2-g7 + 2.Rd7*g7 threat: 3.Sc4*b6 # 2...Rf1-b1 3.Be2-f3 # 2...Rf1-h1 + 3.Qa1*h1 # 1...Qb2-f6 + 2.Bd8*f6 threat: 3.Rd7-d8 # 3.Sc4*b6 # 2...Rf1*a1 3.Sc4*b6 # 3.Be2-f3 # 2...Rf1-b1 3.Rd7-d8 # 3.Be2-f3 # 2...Rf1-h1 + 3.Qa1*h1 # 1...Qb2-e5 2.Sc4*b6 # 1...Qb2-d4 2.Sc4*b6 # 1...Qb2-c3 2.Sc4*b6 # 1...Qb2-a3 2.Sc4*b6 # 1...Qb2-b1 2.Qa1-h8 threat: 3.Bd8*b6 # 3.Bd8-h4 # 3.Bd8-g5 # 3.Bd8-f6 # 3.Bd8-e7 # 2...Qb1-a1 3.Bd8-f6 # 3.Sc4*b6 # 2...Qb1-b2 3.Bd8-f6 # 2...Qb1-c1 + 3.Bd8-g5 # 2...Rf1*f5 3.Bd8-f6 # 2...Rf1-h1 + 3.Bd8-h4 # 2...Rf1-g1 3.Bd8-g5 # 3.Be2-f3 # 2.Qa1*b1 threat: 3.Sc4*b6 # 2...Rf1*b1 3.Be2-f3 # 2...Rf1-h1 + 3.Qb1*h1 # 1...Qb2-a2 2.Sc4*b6 # 1...Qb2-b5 2.Sd6*b5 threat: 3.Sc4*b6 # 2...Rf1-h1 + 3.Qa1*h1 # 1...Qb2-b4 2.Bd8-g5 threat: 3.Rd7-d8 # 3.Qa1-h8 # 2...Rf1*a1 3.Be2-f3 # 2...Rf1*f5 3.Rd7-d8 # 2...Rf1-h1 + 3.Qa1*h1 # 2...Qb4-a3 3.Sc4*b6 # 3.Qa1-h8 # 2...Qb4-c3 3.Rd7-d8 # 3.Sc4*b6 # 2...Qb4-a5 3.Qa1-h8 # 2...Qb4-b2 3.Rd7-d8 # 2...Qb4-a4 3.Sc4*b6 # 3.Qa1-h8 # 2...Qb4*c4 3.Rd7-d8 # 1...Qb2-b3 2.Bd8-g5 threat: 3.Rd7-d8 # 3.Qa1-h8 # 2...Rf1*a1 3.Be2-f3 # 2...Rf1*f5 3.Rd7-d8 # 2...Rf1-h1 + 3.Qa1*h1 # 2...Qb3-a2 3.Sc4*b6 # 3.Qa1-h8 # 2...Qb3*c4 3.Rd7-d8 # 2...Qb3-a4 3.Sc4*b6 # 3.Qa1-h8 # 2...Qb3-b2 3.Rd7-d8 # 2...Qb3-a3 3.Sc4*b6 # 3.Qa1-h8 # 2...Qb3-c3 3.Rd7-d8 # 3.Sc4*b6 # 2.Bd8*b6 threat: 3.Qa1-h8 # 3.Rd7-d8 # 2...Rf1*a1 3.Rd7-d8 # 3.Be2-f3 # 2...Rf1*f5 3.Rd7-d8 # 2...Rf1-h1 + 3.Qa1*h1 # 2...Rf1-g1 3.Rd7-d8 # 3.Be2-f3 # 2...Qb3*c4 3.Rd7-d8 # 2...Qb3-b2 3.Rd7-d8 # 2...Qb3*b6 3.Sc4*b6 # 2...Qb3-c3 3.Rd7-d8 # 2.Bd8-h4 threat: 3.Rd7-d8 # 3.Qa1-h8 # 2...Rf1*a1 3.Be2-f3 # 2...Rf1*f5 3.Rd7-d8 # 2...Rf1-g1 3.Rd7-d8 # 3.Be2-f3 # 2...Qb3-a2 3.Sc4*b6 # 3.Qa1-h8 # 2...Qb3*c4 3.Rd7-d8 # 2...Qb3-a4 3.Sc4*b6 # 3.Qa1-h8 # 2...Qb3-b2 3.Rd7-d8 # 2...Qb3-a3 3.Sc4*b6 # 3.Qa1-h8 # 2...Qb3-c3 3.Rd7-d8 # 3.Sc4*b6 # 2.Bd8-f6 threat: 3.Rd7-d8 # 2...Rf1*a1 3.Be2-f3 # 2...Rf1-h1 + 3.Qa1*h1 # 2...Qb3-a2 3.Sc4*b6 # 2...Qb3-a4 3.Sc4*b6 # 2...Qb3-a3 3.Sc4*b6 # 2.Bd8-e7 threat: 3.Rd7-d8 # 3.Qa1-h8 # 2...Rf1*a1 3.Be2-f3 # 2...Rf1*f5 3.Rd7-d8 # 2...Rf1-h1 + 3.Qa1*h1 # 2...Rf1-g1 3.Rd7-d8 # 3.Be2-f3 # 2...Qb3-a2 3.Sc4*b6 # 3.Qa1-h8 # 2...Qb3*c4 3.Rd7-d8 # 2...Qb3-a4 3.Sc4*b6 # 3.Qa1-h8 # 2...Qb3-b2 3.Rd7-d8 # 2...Qb3-a3 3.Sc4*b6 # 3.Qa1-h8 # 2...Qb3-c3 3.Rd7-d8 # 3.Sc4*b6 # 2.Rd7-c7 threat: 3.Rc7-c8 # 2...Rf1*a1 3.Be2-f3 # 2...Rf1-h1 + 3.Qa1*h1 # 2...Qb3-a2 3.Sc4*b6 # 2...Qb3-a4 3.Sc4*b6 # 2...Qb3-a3 3.Sc4*b6 # 2.Rd3*b3 threat: 3.Sc4*b6 # 2...Rf1-h1 + 3.Qa1*h1 # 1...Qb2*e2 2.Sc4*b6 # 1...Qb2-d2 + 2.Rd3*d2 threat: 3.Sc4*b6 # 2...Rf1-b1 3.Be2-f3 # 2...Rf1-h1 + 3.Qa1*h1 # 1...Qb2-c2 2.Sc4*b6 # 1...b6-b5 2.Sc4-b6 #" --- authors: - Loyd, Samuel source: American Chess Journal date: 1879 algebraic: white: [Ke4, Qb2, Sa4, Pe5] black: [Kc4, Pb7] stipulation: "#3" solution: | "1.e5-e6 ! zugzwang. 1...b7-b5 2.Qb2-c3 # 1...b7-b6 2.e6-e7 zugzwang. 2...b6-b5 3.Qb2-c3 # 1.Sa4-c3 ! zugzwang. 1...Kc4-c5 2.Qb2-b5 # 1...b7-b5 2.Sc3-d5 threat: 3.Qb2-c3 # 3.Qb2-b4 # 3.Qb2-c2 # 2...Kc4-c5 3.Qb2-c1 # 3.Qb2-c3 # 3.Qb2-c2 # 2...b5-b4 3.Qb2*b4 # 1...b7-b6 2.Sc3-a4 zugzwang. 2...b6-b5 3.Qb2-c3 #" --- authors: - Loyd, Samuel source: American Chess Journal source-id: 79 date: 1880-07 algebraic: white: [Kh8, Qf1, Rb3, Ba8, Se4, Sc6, Pg4, Pf6, Pd2] black: [Kd5, Bb8, Sh7, Sb7, Pg7, Pg6, Pg5, Pd6, Pd4, Pa6] stipulation: "#3" solution: | "1.f6*g7 ! threat: 2.Qf1-f7 + 2...Kd5*c6 3.Ba8*b7 # 3.Qf7*b7 # 2...Kd5*e4 3.Qf7-f3 # 1...Sb7-c5 2.Qf1-c4 + 2...Kd5*e4 3.Qc4*d4 # 2...Kd5*c4 3.Sc6-a5 # 1...Sb7-d8 2.Qf1-c4 + 2...Kd5*e4 3.Qc4*d4 # 2...Kd5*c4 3.Sc6-a5 # 1...Sh7-f6 2.Se4*f6 + 2...Kd5-c5 3.Qf1-c1 # 2...Kd5*c6 3.Qf1-c1 # 3.Qf1-c4 # 2...Kd5-e6 3.g7-g8=Q # 3.g7-g8=B # 1...Sh7-f8 2.Se4-f6 + 2...Kd5-c5 3.Qf1-c1 # 2...Kd5*c6 3.Qf1-c1 # 3.Qf1-c4 # 2...Kd5-e6 3.g7-g8=Q # 3.g7-g8=B #" --- authors: - Loyd, Samuel source: New York State Chess Association date: 1891 algebraic: white: [Kh5, Qb1, Rg4, Bh7, Bc3, Sd6, Pg6, Pg2, Pe2, Pd5, Pa4] black: [Ke5, Bd4, Ph6, Pg3, Pe6, Pc5] stipulation: "#3" solution: | "1.Qb1-b6 ! zugzwang. 1...c5-c4 2.Sd6-e8 threat: 3.Qb6*e6 # 2...Ke5*d5 3.Qb6-d6 # 2...e6*d5 3.Qb6-f6 # 2.Bc3*d4 + 2...Ke5*d5 3.Qb6-c5 # 3.e2-e4 # 1...Bd4*c3 2.Sd6-e8 threat: 3.Qb6*e6 # 2...Ke5*d5 3.Qb6-d6 # 2...e6*d5 3.Qb6-f6 # 1...Ke5*d5 2.Sd6-e4 zugzwang. 2...Kd5-c4 3.Qb6*e6 # 2...Bd4*c3 3.Qb6*c5 # 2...Bd4-g1 3.Se4-f6 # 2...Bd4-f2 3.Se4-f6 # 2...Bd4-e3 3.Se4-f6 # 2...Bd4-h8 3.Qb6*c5 # 2...Bd4-g7 3.Qb6*c5 # 2...Bd4-f6 3.Qb6*c5 # 3.Se4*f6 # 2...Bd4-e5 3.Qb6*c5 # 2...c5-c4 3.Qb6-d6 # 2...Kd5-e5 3.Qb6*c5 # 2...e6-e5 3.Bh7-g8 # 1...Ke5-f6 2.Sd6-f5 threat: 3.Qb6*e6 # 1...e6*d5 2.Sd6-f7 + 2...Ke5-f5 3.g6-g7 #" --- authors: - Loyd, Samuel source: New York State Chess Association date: 1894-08-16 algebraic: white: [Kh4, Qh3, Rf7, Ra4, Bg1, Be2, Sh6, Sc4, Pa3] black: [Kd5, Ph5, Pg7, Pe6, Pe5, Pd7, Pd6, Pd4, Pc6] stipulation: "#3" solution: | "1.Qh3-g2 + ! 1...Kd5-c5 2.Ra4-a5 # 1...e5-e4 2.Sc4-b6 + 2...Kd5-c5 3.Bg1*d4 # 2...Kd5-e5 3.Bg1*d4 # 3.Qg2*g7 # 3.Qg2-g5 # 3.Qg2-g3 # 3.Qg2-h2 # 3.Bg1-h2 # 1.Qh3-h1 + ! 1...Kd5-c5 2.Ra4-a5 # 1...e5-e4 2.Sc4-b6 + 2...Kd5-e5 3.Bg1*d4 # 3.Qh1-h2 # 3.Bg1-h2 # 2...Kd5-c5 3.Bg1*d4 # 1.Qh3-f3 + ! 1...Kd5-c5 2.Ra4-a5 # 1...e5-e4 2.Sc4-b6 + 2...Kd5-e5 3.Bg1*d4 # 3.Qf3-f4 # 3.Qf3-g3 # 3.Bg1-h2 # 2...Kd5-c5 3.Bg1*d4 # 1.Qh3-g3 ! zugzwang. 1...g7*h6 2.Qg3-g8 zugzwang. 2...e5-e4 3.Rf7-f5 # 2...d4-d3 3.Sc4-b6 # 2...Kd5-c5 3.Ra4-a5 # 2...Kd5-e4 3.Qg8-g2 # 2...c6-c5 3.Qg8-a8 # 1...d4-d3 2.Sc4-b6 # 2.Qg3*d3 # 1...Kd5-c5 2.Ra4-a5 # 1...Kd5-e4 2.Qg3-g2 # 2.Qg3-f3 # 1...e5-e4 2.Qg3*d6 # 1...c6-c5 2.Be2-f3 + 2...e5-e4 3.Qg3*d6 # 1...g7-g5 + 2.Qg3*g5 zugzwang. 2...d4-d3 3.Sc4-b6 # 3.Be2-f3 # 2...Kd5-c5 3.Ra4-a5 # 2...Kd5-e4 3.Qg5-g2 # 2...c6-c5 3.Be2-f3 # 1...g7-g6 2.Qg3-g5 zugzwang. 2...d4-d3 3.Be2-f3 # 3.Sc4-b6 # 2...Kd5-c5 3.Ra4-a5 # 2...Kd5-e4 3.Qg5-g2 # 2...c6-c5 3.Be2-f3 #" keywords: - Cooked comments: - also in The Philadelphia Times (no. 1422), 19 August 1894 --- authors: - Loyd, Samuel source: Philadelphia Evening Bulletin date: 1859 algebraic: white: [Kh4, Qh8, Rc6, Bg4, Bc5, Pe3, Pb6] black: [Kd5, Qc1, Rc2, Ra1, Bd1, Sh1, Sb2, Ph5, Pg3, Pf3, Pe4, Pd3, Pd2, Pa4] stipulation: "#3" solution: | "1.b6-b7 ! threat: 2.Rc6-b6 threat: 3.Qh8-d4 # 2...Rc2-c4 3.Qh8*h5 # 1...Sb2-c4 2.b7-b8=S threat: 3.Qh8-d4 # 3.Bg4-e6 # 2...Qc1-b2 3.Bg4-e6 # 2...Sc4-e5 3.Bg4-e6 # 2...Sc4-d6 3.Qh8-d4 # 2...h5*g4 3.Qh8-d4 # 1...Rc2-c4 2.Qh8-f6 threat: 3.Qf6-d6 # 3.Qf6-e6 # 2...Rc4-c2 3.Qf6-e6 # 2...Rc4-c3 3.Qf6-e6 # 2...Rc4-b4 3.Qf6-e6 # 2...Rc4*c5 3.Qf6-e6 # 2...Rc4-d4 3.Qf6-e6 # 2.Qh8-h6 threat: 3.Qh6-d6 # 3.Qh6-e6 # 2...Rc4-c2 3.Qh6-e6 # 2...Rc4-c3 3.Qh6-e6 # 2...Rc4-b4 3.Qh6-e6 # 2...Rc4*c5 3.Qh6-e6 # 2...Rc4-d4 3.Qh6-e6 # 2.Qh8-c8 threat: 3.Qc8-e6 # 2.Qh8-e8 threat: 3.Qe8-e6 # 2.b7-b8=S threat: 3.Qh8*h5 # 3.Bg4-e6 # 2...Qc1-c3 3.Bg4-e6 # 2...Rc4-c2 3.Qh8-d4 # 3.Bg4-e6 # 2...Rc4-c3 3.Qh8-d4 # 3.Bg4-e6 # 2...Rc4-b4 3.Bg4-e6 # 2...Rc4*c5 3.Qh8-d4 # 3.Bg4-e6 # 2...Rc4-d4 3.Qh8*d4 # 3.Bg4-e6 # 2...h5*g4 3.Qh8-h5 # 1...Kd5*c6 2.Bg4-d7 + 2...Kc6-c7 3.Qh8-c8 # 2...Kc6*c5 3.Qh8-d4 # 2...Kc6*b7 3.Qh8-c8 # 2...Kc6*d7 3.Qh8-c8 # 2...Kc6-d5 3.Qh8-d4 #" --- authors: - Loyd, Samuel source: La Stratégie source-id: 1523 date: 1879-11 algebraic: white: [Kc1, Qb7, Rf2, Rd5, Bh1, Pd2] black: [Kd3, Bh7, Bh6, Pg4, Pe6, Pd4, Pc7, Pc4, Pb6] stipulation: "#4" solution: | "1.Qb7-a8 ! threat: 2.Qa8-a3 + 2...c4-c3 3.Qa3*c3 # 1...c4-c3 2.Qa8-a6 + 2...b6-b5 3.Qa6*b5 # 1...e6*d5 2.Qa8-a3 + 2...c4-c3 3.Qa3-a6 + 3...b6-b5 4.Qa6*b5 # 2.Qa8-a1 threat: 3.Qa1-b1 # 2...c4-c3 3.Qa1-a6 + 3...b6-b5 4.Qa6*b5 # 2...Bh6*d2 + 3.Rf2*d2 + 3...Kd3-e3 4.Qa1*d4 # 2.Qa8-a2 threat: 3.Qa2-b1 # 3.Qa2-c2 # 2...c4-c3 3.Qa2-a6 + 3...b6-b5 4.Qa6*b5 # 2...Bh6*d2 + 3.Qa2*d2 # 1...Bh6*d2 + 2.Rf2*d2 + 2...Kd3-e3 3.Qa8-f8 threat: 4.Qf8-h6 # 4.Qf8-f2 # 3...g4-g3 4.Qf8-h6 # 4.Qf8-f3 # 3...Bh7-f5 4.Qf8-h6 # 2...Kd3-c3 3.Qa8-a3 # 1...Bh6-f8 2.Qa8-a1 threat: 3.Rd5*d4 # 3.Qa1*d4 # 3.Qa1-c3 # 3.Qa1-b1 # 2...c4-c3 3.Qa1*c3 # 2...e6-e5 3.Qa1-c3 # 3.Qa1-b1 # 2...e6*d5 3.Qa1-b1 # 2...c7-c5 3.Qa1-c3 # 3.Qa1-b1 # 2...Bf8-a3 + 3.Kc1-d1 threat: 4.Rd5*d4 # 4.Qa1*d4 # 4.Qa1-c3 # 4.Qa1-b1 # 3...Ba3-b2 4.Qa1-b1 # 3...Ba3-c5 4.Qa1-c3 # 4.Qa1-b1 # 3...Ba3-b4 4.Rd5*d4 # 4.Qa1*d4 # 4.Qa1-b1 # 3...c4-c3 4.Qa1*c3 # 3...e6-e5 4.Qa1-c3 # 4.Qa1-b1 # 3...e6*d5 4.Qa1-b1 # 3...c7-c5 4.Qa1-c3 # 4.Qa1-b1 # 3.Qa1*a3 + 3...c4-c3 4.Qa3*c3 # 2...Bf8-b4 3.Rd5*d4 # 3.Qa1*d4 # 3.Qa1-b1 # 2...Bf8-c5 3.Qa1-c3 # 3.Qa1-b1 # 2...Bf8-g7 3.Qa1-c3 # 3.Qa1-b1 # 2.Qa8-a2 threat: 3.Qa2-b1 # 3.Qa2-c2 # 2...c4-c3 3.Qa2-b1 + 3...c3-c2 4.Qb1-b5 # 4.Qb1*c2 # 4.Qb1-b3 # 3...Kd3-c4 4.Qb1-b5 # 3.Qa2-a6 + 3...b6-b5 4.Qa6*b5 # 2...Bf8-a3 + 3.Qa2*a3 + 3...c4-c3 4.Qa3*c3 # 2.Qa8-a4 threat: 3.Qa4-c2 # 2...c4-c3 3.Rd5*d4 # 3.Qa4-b5 # 3.Qa4*d4 # 2...Bf8-a3 + 3.Qa4*a3 + 3...c4-c3 4.Qa3*c3 # 3.Kc1-d1 threat: 4.Qa4-c2 # 3...c4-c3 4.Rd5*d4 # 4.Qa4-b5 # 4.Qa4*d4 # 3.Kc1-b1 threat: 4.Qa4-c2 # 3...c4-c3 4.Rd5*d4 # 4.Qa4-b5 # 4.Qa4*d4 # 1.Qb7*c7 ! threat: 2.Qc7*h7 # 1...c4-c3 2.Qc7*c3 # 1...e6-e5 2.Qc7*h7 + 2...e5-e4 3.Qh7*e4 # 3.Bh1*e4 # 2.Rd5*d4 + 2...Kd3*d4 3.Qc7-d6 # 2...e5*d4 3.Qc7*h7 # 1...Bh6*d2 + 2.Rf2*d2 + 2...Kd3-e3 3.Qc7-g3 # 2...Kd3-c3 3.Qc7*b6 threat: 4.Qb6-b2 # 1...Bh6-g7 2.Qc7-g3 # 1...Bh7-e4 2.Bh1*e4 + 2...Kd3*e4 3.Qc7-e5 + 3...Ke4-d3 4.Qe5*d4 # 4.Qe5-e2 # 4.Rd5*d4 # 3.Rd5-e5 + 3...Ke4-d3 4.Qc7-h7 # 1...Bh7-f5 2.Qc7-g3 + 2...Bh6-e3 3.Qg3*e3 # 2.Rd5*d4 + 2...Kd3*d4 3.Qc7-d6 # 1...Bh7-g6 2.Qc7-g3 + 2...Bh6-e3 3.Qg3*e3 # 2.Rd5*d4 + 2...Kd3*d4 3.Qc7-d6 # 1...Bh7-g8 2.Qc7-g3 + 2...Bh6-e3 3.Qg3*e3 # 2.Rd5*d4 + 2...Kd3*d4 3.Qc7-d6 #" keywords: - Cooked comments: - Dedicated to the Judges of the Paris Tourney --- authors: - Loyd, Samuel source: Porter's Spirit of the Times source-id: 82 date: 1858-04-03 algebraic: white: [Kb5, Qg6, Bb2, Sc4, Sc3, Pg3, Pd7, Pc5, Pa3] black: [Kd4, Qe2, Rh6, Bb6, Bb3, Sh4, Sg2, Pf7, Pf6, Pf3, Pe5, Pd3, Pa5] stipulation: "#3" solution: | "1.Kb5-c6 ! threat: 2.Sc3*e2 + 2...Kd4*c4 3.Qg6-e4 # 3.Qg6*f7 # 2.Sc3-b5 + 2...Kd4*c4 3.Qg6*f7 # 3.Sb5-d6 # 1...Qe2*b2 2.Sc3-b5 + 2...Kd4*c4 3.Qg6*f7 # 1...Bb3*c4 2.Qg6-e4 + 2...Qe2*e4 + 3.Sc3-d5 # 1...Bb3-a4 + 2.Sc3-b5 + 2...Kd4*c4 3.Qg6*f7 # 1...Kd4*c4 2.Sc3-b5 threat: 3.Qg6*f7 # 3.Sb5-d6 # 2...Qe2*b2 3.Qg6*f7 # 2...Qe2-e4 + 3.Qg6*e4 # 2...Sg2-f4 3.Sb5-d6 # 2...Sg2-e3 3.Qg6-e4 # 3.Sb5-d6 # 2...Bb3-a2 3.Qg6*f7 # 2...Bb3-d1 3.Qg6*f7 # 2...Bb3-c2 3.Qg6*f7 # 2...Bb3-a4 3.Qg6*f7 # 2...d3-d2 3.Sb5-d6 # 2...Sh4*g6 3.Sb5-d6 # 2...Sh4-f5 3.Qg6*f7 # 2...Bb6*c5 3.Qg6*f7 # 2...Bb6-c7 3.Qg6*f7 # 2...f6-f5 3.Sb5-d6 # 2...Rh6*g6 3.Sb5-d6 # 2...Rh6-h7 3.Sb5-d6 # 2...f7*g6 3.Sb5-d6 # 1...Sh4*g6 2.Sc3-b5 + 2...Kd4-e4 3.Sb5-d6 # 2...Kd4*c4 3.Sb5-d6 # 1...Sh4-f5 2.Sc3-b5 + 2...Kd4-e4 3.Sb5-d6 # 2...Kd4*c4 3.Qg6*f7 # 1...f6-f5 2.Sc3-b5 + 2...Kd4-e4 3.Sb5-d6 # 2...Kd4*c4 3.Sb5-d6 # 1...Rh6*g6 2.Sc3-b5 + 2...Kd4-e4 3.Sb5-d6 # 2...Kd4*c4 3.Sb5-d6 # 1...f7*g6 2.Sc3-b5 + 2...Kd4-e4 3.Sb5-d6 # 2...Kd4*c4 3.Sb5-d6 #" comments: - Dedicated to Eugene B. Cook --- authors: - Loyd, Samuel source: La Stratégie date: 1867 algebraic: white: [Kh2, Qa1, Se8, Pb2] black: [Ke5, Be4, Pf6, Pe6, Pd6] stipulation: "#3" solution: | "1.Qa1-e1 ! zugzwang. 1...Ke5-f5 2.Qe1-g3 threat: 3.Se8*d6 # 3.Se8-g7 # 2...Be4-b1 3.Se8*d6 # 2...Be4-c2 3.Se8*d6 # 2...Be4-d3 3.Se8*d6 # 2...Be4-h1 3.Se8*d6 # 2...Be4-g2 3.Se8*d6 # 2...Be4-f3 3.Se8*d6 # 2...Be4-a8 3.Se8*d6 # 2...Be4-b7 3.Se8*d6 # 2...Be4-c6 3.Se8*d6 # 2...Be4-d5 3.Se8*d6 # 2...e6-e5 3.Se8-g7 # 1...Ke5-d5 2.Qe1-c3 threat: 3.Se8-c7 # 3.Se8*f6 # 2...Be4-b1 3.Se8*f6 # 2...Be4-c2 3.Se8*f6 # 2...Be4-d3 3.Se8*f6 # 2...Be4-h1 3.Se8*f6 # 2...Be4-g2 3.Se8*f6 # 2...Be4-f3 3.Se8*f6 # 2...Be4-h7 3.Se8*f6 # 2...Be4-g6 3.Se8*f6 # 2...Be4-f5 3.Se8*f6 # 2...e6-e5 3.Se8-c7 # 1...Ke5-f4 2.Qe1-g3 + 2...Kf4-f5 3.Se8*d6 # 3.Se8-g7 # 1...Ke5-d4 2.Qe1-c3 + 2...Kd4-d5 3.Se8-c7 # 3.Se8*f6 # 1...d6-d5 2.Qe1-g3 + 2...Ke5-f5 3.Se8-d6 # 3.Se8-g7 # 2...Ke5-d4 3.Qg3-c3 # 1...f6-f5 2.Qe1-c3 + 2...Ke5-d5 3.Se8-c7 # 3.Se8-f6 # 2...Ke5-f4 3.Qc3-g3 #" --- authors: - Loyd, Samuel source: La Stratégie date: 1867 algebraic: white: [Kg5, Pg6, Pb7, Pa7] black: [Kg7] stipulation: "#3" solution: --- authors: - Loyd, Samuel source: The Albion (New York) source-id: 477 date: 1858-02-20 algebraic: white: [Ke1, Qa3, Rg4, Sd6, Sb6, Ph2, Pe2] black: [Kd4, Qc8, Rh7, Ra5, Ba4, Sg8, Sa6, Pe5, Pe4, Pe3, Pd7, Pc4, Pb7, Pb3] stipulation: "#3" solution: | "1.Qa3-c1 ! threat: 2.Sd6*e4 threat: 3.Qc1-c3 # 3.Qc1-d1 # 2...b3-b2 3.Qc1-c3 # 2...c4-c3 3.Qc1-d1 # 2...Sa6-b4 3.Qc1-c3 # 2...Sa6-c5 3.Qc1*c4 # 3.Qc1-c3 # 2.Qc1*e3 + 2...Kd4*e3 3.Sd6-f5 # 3.Rg4*e4 # 1...b3-b2 2.Qc1*e3 + 2...Kd4*e3 3.Sd6-f5 # 3.Rg4*e4 # 1...Ba4-b5 2.Qc1*e3 + 2...Kd4*e3 3.Rg4*e4 # 3.Sd6-f5 # 1...c4-c3 2.Qc1*e3 + 2...Kd4*e3 3.Sd6-f5 # 3.Rg4*e4 # 1...Kd4-c5 2.Qc1*c4 + 2...Kc5*b6 3.Sd6*c8 # 2...Kc5*d6 3.Sb6*c8 # 1...Sa6-b4 2.Qc1*e3 + 2...Kd4*e3 3.Sd6-f5 # 3.Rg4*e4 # 1...Rh7*h2 2.Qc1*e3 + 2...Kd4*e3 3.Rg4*e4 # 3.Sd6-f5 # 1...Rh7-h3 2.Sd6*e4 threat: 3.Qc1-c3 # 3.Qc1-d1 # 2...b3-b2 3.Qc1-c3 # 2...c4-c3 3.Qc1-d1 # 2...Sa6-b4 3.Qc1-c3 # 2...Sa6-c5 3.Qc1*c4 # 3.Qc1-c3 # 1...Rh7-h4 2.Qc1*e3 + 2...Kd4*e3 3.Sd6-f5 # 1...Rh7-f7 2.Qc1*e3 + 2...Kd4*e3 3.Rg4*e4 # 1...Rh7-g7 2.Qc1*e3 + 2...Kd4*e3 3.Sd6-f5 # 3.Rg4*e4 # 1...Sg8-f6 2.Qc1*e3 + 2...Kd4*e3 3.Sd6-f5 # 1...Sg8-h6 2.Qc1*e3 + 2...Kd4*e3 3.Rg4*e4 #" --- authors: - Loyd, Samuel source: Lynn News date: 1858 algebraic: white: [Kh6, Qb2, Rc3, Ra8, Sf6, Pf3, Pc6, Pb4] black: [Ke5, Qb6, Pf7, Pe6, Pc7] stipulation: "#3" solution: | "1.Qb2-c1 ! threat: 2.Qc1-g5 + 2...Ke5-d6 3.Sf6-e4 # 3.Sf6-e8 # 2...Ke5-d4 3.Qg5-e3 # 1...Ke5-d6 2.Rc3-d3 + 2...Qb6-d4 3.Qc1-c5 # 2...Kd6-e7 3.Sf6-g8 # 2...Kd6-e5 3.Qc1-g5 # 1...Qb6-g1 2.Qc1*g1 zugzwang. 2...Ke5-f5 3.Qg1-g5 # 2...Ke5-d6 3.Qg1-c5 # 2...Ke5*f6 3.Qg1-g5 # 2...Ke5-f4 3.Qg1-g5 # 1...Qb6-e3 + 2.Qc1*e3 + 2...Ke5-f5 3.Qe3-g5 # 2...Ke5-d6 3.Qe3-c5 # 2...Ke5*f6 3.Qe3-g5 # 1...Qb6*c6 2.Rc3*c6 zugzwang. 2...Ke5-f5 3.Qc1-g5 # 2...Ke5*f6 3.Qc1-g5 # 2...Ke5-d4 3.Qc1-c3 #" --- authors: - Loyd, Samuel source: La Stratégie date: 1867 algebraic: white: [Kf5, Qa3, Bd6, Sc3, Sc1, Pf2, Pe6, Pe4, Pc6] black: [Kd4, Qb6, Rd2, Bb7, Ba1, Sb4, Pf3, Pe2, Pc4, Pc2] stipulation: "#2" solution: | "1...Qb5+/Qc7/Qd8/Qa7 2.Nxb5# 1...Nd5/Na2/Na6 2.Be5# 1.Qxa1?? (2.N3xe2#/Nb5#) 1...Qb5+/Qa5+ 2.Nxb5# but 1...Qc5+! 1.N3xe2+?? 1...fxe2 2.Qe3# but 1...Rxe2! 1.Qa7! (2.Nb5#) 1...Kxc3 2.Qxa1# 1...Bxc3 2.Qxb6# 1...Qc5+ 2.Be5# 1...Bxc6/Ba6 2.Qg7#" keywords: - Flight giving key --- authors: - Loyd, Samuel source: The Illustrated London News date: 1878 algebraic: white: [Ka3, Qa1, Rh1, Rd2, Bf4, Sc3, Pg5, Pg4, Pf2, Pd5] black: [Kd4, Bd3, Sg7, Sb7, Pe2, Pc5, Pc4] stipulation: "#3" solution: | "1.Rh1-e1 ! threat: 2.Re1*e2 threat: 3.Bf4-e5 # 3.Re2-e4 # 2...Sb7-d6 3.Bf4-e5 # 1...Sb7-d6 2.Bf4-e3 + 2...Kd4-e5 3.f2-f4 # 1.Rh1-h6 ! threat: 2.Bf4-e3 + 2...Kd4-e5 3.f2-f4 # 2.Sc3*e2 + 2...Kd4-e4 3.Qa1-h1 # 2...Kd4*d5 3.Qa1-h1 # 3.Qa1-e5 # 2.Qa1-h1 threat: 3.Sc3*e2 # 3.Sc3-b5 # 2...e2-e1=Q 3.Sc3-b5 # 2...e2-e1=R 3.Sc3-b5 # 2...Kd4*c3 3.Qh1-a1 # 2...Sb7-d6 3.Sc3*e2 # 1...e2-e1=Q 2.Qa1*e1 threat: 3.Bf4-e5 # 3.Qe1-e5 # 1...e2-e1=S 2.Bf4-e3 + 2...Kd4-e5 3.f2-f4 # 2.Qa1*e1 threat: 3.Bf4-e5 # 3.Qe1-e5 # 1...e2-e1=R 2.Qa1*e1 threat: 3.Bf4-e5 # 3.Qe1-e5 # 1...e2-e1=B 2.Bf4-e3 + 2...Kd4-e5 3.f2-f4 # 2.Qa1*e1 threat: 3.Bf4-e5 # 3.Qe1-e5 # 1...Sb7-d6 2.Bf4-e3 + 2...Kd4-e5 3.f2-f4 # 1...Sg7-e6 2.Bf4-e3 + 2...Kd4-e5 3.Rh6*e6 # 2.Sc3*e2 + 2...Kd4-e4 3.Qa1-h1 # 2...Kd4*d5 3.Qa1-h1 # 1...Sg7-f5 2.Sc3*e2 + 2...Kd4-e4 3.Qa1-h1 # 2...Kd4*d5 3.Qa1-h1 # 3.Qa1-e5 # 2.Qa1-h1 threat: 3.Sc3*e2 # 3.Sc3-b5 # 2...e2-e1=Q 3.Sc3-b5 # 2...e2-e1=R 3.Sc3-b5 # 2...Kd4*c3 3.Qh1-a1 # 2...Sf5-g3 3.Sc3-b5 # 2...Sf5-d6 3.Sc3*e2 # 2...Sb7-d6 3.Sc3*e2 # 1...Sg7-h5 2.Bf4-e3 + 2...Kd4-e5 3.Rh6-e6 # 2.Sc3*e2 + 2...Kd4-e4 3.Qa1-h1 # 2...Kd4*d5 3.Qa1-h1 # 3.Qa1-e5 # 1.Rh1-h5 ! threat: 2.Qa1-h1 threat: 3.Sc3*e2 # 3.Sc3-b5 # 2...e2-e1=Q 3.Sc3-b5 # 2...e2-e1=R 3.Sc3-b5 # 2...Kd4*c3 3.Qh1-a1 # 2...Sb7-d6 3.Sc3*e2 # 1...e2-e1=Q 2.Qa1*e1 threat: 3.Bf4-e5 # 3.Qe1-e5 # 1...e2-e1=S 2.Qa1*e1 threat: 3.Qe1-e5 # 3.Bf4-e5 # 1...e2-e1=R 2.Qa1*e1 threat: 3.Bf4-e5 # 3.Qe1-e5 # 1...e2-e1=B 2.Qa1*e1 threat: 3.Bf4-e5 # 3.Qe1-e5 # 1...Sb7-d6 2.Bf4-e3 + 2...Kd4-e5 3.f2-f4 # 1...Sg7-e6 2.Sc3*e2 + 2...Kd4-e4 3.Qa1-h1 # 2...Kd4*d5 3.Qa1-h1 # 1.Rh1-h3 ! threat: 2.Rh3-e3 threat: 3.Bf4-e5 # 3.Re3-e4 # 2...e2-e1=Q 3.Bf4-e5 # 2...e2-e1=R 3.Bf4-e5 # 2...Sb7-d6 3.Bf4-e5 # 2.Qa1-h1 threat: 3.Sc3*e2 # 3.Sc3-b5 # 2...e2-e1=Q 3.Sc3-b5 # 2...e2-e1=R 3.Sc3-b5 # 2...Kd4*c3 3.Qh1-a1 # 2...Sb7-d6 3.Sc3*e2 # 1...e2-e1=Q 2.Qa1*e1 threat: 3.Bf4-e5 # 3.Qe1-e5 # 1...e2-e1=S 2.Qa1*e1 threat: 3.Bf4-e5 # 3.Qe1-e5 # 1...e2-e1=R 2.Qa1*e1 threat: 3.Bf4-e5 # 3.Qe1-e5 # 1...e2-e1=B 2.Qa1*e1 threat: 3.Qe1-e5 # 3.Bf4-e5 # 2.Rh3-e3 threat: 3.Bf4-e5 # 3.Re3-e4 # 2...Be1*f2 3.Re3-e4 # 2...Be1*d2 3.Bf4-e5 # 2...Sb7-d6 3.Bf4-e5 # 1...Sb7-d6 2.Bf4-e3 + 2...Kd4-e5 3.f2-f4 # 1...Sg7-e6 2.Rh3-e3 threat: 3.Bf4-e5 # 3.Re3-e4 # 2...e2-e1=Q 3.Bf4-e5 # 2...e2-e1=R 3.Bf4-e5 # 2...Se6*f4 3.Re3-e4 # 2...Se6*g5 3.Bf4-e5 # 2...Sb7-d6 3.Bf4-e5 # 2.Sc3*e2 + 2...Kd4-e4 3.Qa1-h1 # 3.Qa1-e5 # 2...Kd4*d5 3.Qa1-h1 # 2.Sc3-b5 + 2...Kd4-e4 3.Qa1-e5 # 2...Kd4*d5 3.Qa1-h1 # 1...Sg7-h5 2.Rh3-e3 threat: 3.Bf4-e5 # 3.Re3-e4 # 2...e2-e1=Q 3.Bf4-e5 # 2...e2-e1=R 3.Bf4-e5 # 2...Sh5*f4 3.Re3-e4 # 2...Sh5-g3 3.Bf4-e5 # 2...Sh5-f6 3.Bf4-e5 # 2...Sb7-d6 3.Bf4-e5 #" --- authors: - Loyd, Samuel source: New York Clipper date: 1895 algebraic: white: [Ka3, Rf4, Re1, Be3, Bd5, Sf1, Pf2, Pe5, Pd2] black: [Kh1, Qf3, Ph3, Ph2, Pg4, Pe7, Pe6, Pa4] stipulation: "#3" solution: --- authors: - Loyd, Samuel source: Chess Monthly date: 1859 algebraic: white: [Kb1, Rg1, Ra8, Bd5, Sd8, Sb3, Pf3, Pe4, Pa2] black: [Kb5, Rh6, Rh4, Be5, Sh7, Ph5, Ph3, Pf4, Pd6, Pb7, Pb6, Pb4, Pa3] stipulation: "#4" solution: | "1.Rg1-c1 ! threat: 2.Bd5-c4 # 1...Be5-c3 2.Sd8*b7 threat: 3.Sb3-d4 + 3...Bc3*d4 4.Bd5-c6 # 1.Rg1-g7 ! threat: 2.Rg7*b7 threat: 3.Ra8-a5 # 2.Rg7-c7 threat: 3.Bd5-c4 # 1...h3-h2 2.Ra8-a5 + 2...b6*a5 3.Rg7*b7 + 3...Kb5-a6 4.Bd5-c4 # 3...Kb5-a4 4.Bd5-c6 # 1...Rh4-g4 2.Ra8-a5 + 2...b6*a5 3.Rg7*b7 + 3...Kb5-a6 4.Bd5-c4 # 3...Kb5-a4 4.Bd5-c6 # 1...Be5-d4 2.Rg7*b7 threat: 3.Ra8-a5 # 1...Be5*g7 2.Kb1-c2 threat: 3.Kc2-d3 threat: 4.Bd5-c4 # 2...Rh6-e6 3.Sd8*e6 threat: 4.Se6-c7 # 2...Bg7-f6 3.Sd8-e6 threat: 4.Se6-c7 # 3...Bf6-d8 4.Se6-d4 # 4.Sb3-d4 # 2...Sh7-f6 3.Sb3-d4 + 3...Kb5-c5 4.Sd8-e6 # 1...Rh6-g6 2.Ra8-a5 + 2...b6*a5 3.Rg7*b7 + 3...Kb5-a6 4.Bd5-c4 # 3...Kb5-a4 4.Bd5-c6 # 1...Sh7-f6 2.Ra8-a5 + 2...b6*a5 3.Rg7*b7 + 3...Kb5-a6 4.Bd5-c4 # 3...Kb5-a4 4.Bd5-c6 #" --- authors: - Loyd, Samuel source: The Pittsburg Dispatch date: 1891-05-16 algebraic: white: [Kh5, Qb1, Rd6, Rc4, Bg2, Sh3, Pe3] black: [Ke1, Bd1, Bb6, Pf6, Pf5, Pe2, Pd2, Pc5] stipulation: "#3" solution: | "1.Bg2-a8 ! zugzwang. 1...Bb6-a5 2.Qb1-b7 threat: 3.Qb7-h1 # 1...Ke1-f1 2.Qb1*f5 + 2...Kf1-e1 3.Qf5-f2 # 1...f5-f4 2.Qb1-g6 threat: 3.Qg6-g1 # 1...Bb6-d8 2.Qb1-b7 threat: 3.Qb7-h1 # 1...Bb6-c7 2.Qb1-b7 threat: 3.Qb7-h1 # 1...Bb6-a7 2.Qb1-b7 threat: 3.Qb7-h1 #" --- authors: - Loyd, Samuel source: The Era (London) date: 1860 algebraic: white: [Kf3, Qf5, Bf2] black: [Kf1, Rh7, Rd7, Sa1, Ph3, Pf4, Pd3] stipulation: "#3" solution: | "1.Bf2-h4 ! threat: 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 3.Qh3-g2 # 2.Qf5-c5 threat: 3.Qc5-f2 # 3.Qc5-c1 # 2...Sa1-c2 3.Qc5-f2 # 2...Sa1-b3 3.Qc5-f2 # 2...d3-d2 3.Qc5-f2 # 2...Rd7-d4 3.Qc5-c1 # 2...Rd7-c7 3.Qc5-f2 # 2...Rd7-e7 3.Qc5-f2 # 2...Rh7-e7 3.Qc5-f2 # 1...Sa1-c2 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 3.Qh3-g2 # 1...Sa1-b3 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 3.Qh3-g2 # 1...Kf1-g1 2.Qf5*h3 threat: 3.Bh4-f2 # 3.Qh3-g2 # 2...Rd7-g7 3.Bh4-f2 # 2...Rh7*h4 3.Qh3-g2 # 2...Rh7-g7 3.Bh4-f2 # 1...d3-d2 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 3.Qh3-g2 # 1...h3-h2 2.Qf5-h3 + 2...Kf1-g1 3.Qh3-g2 # 1...Rd7-d4 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 3.Qh3-g2 # 1...Rd7-d5 2.Qf5*h3 + 2...Kf1-g1 3.Qh3-g2 # 3.Bh4-f2 # 1...Rd7-c7 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 3.Qh3-g2 # 1...Rd7-g7 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 2...Rg7-g2 3.Qh3*g2 # 1...Rd7-e7 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 3.Qh3-g2 # 1...Rh7*h4 2.Qf5-c5 threat: 3.Qc5-f2 # 3.Qc5-c1 # 2...Sa1-c2 3.Qc5-f2 # 2...Sa1-b3 3.Qc5-f2 # 2...Kf1-e1 3.Qc5-c1 # 2...d3-d2 3.Qc5-f2 # 2...Rd7-d4 3.Qc5-c1 # 2...Rd7-c7 3.Qc5-f2 # 2...Rd7-e7 3.Qc5-f2 # 1...Rh7-h5 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 3.Qh3-g2 # 1...Rh7-e7 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 3.Qh3-g2 # 1...Rh7-g7 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 2...Rg7-g2 3.Qh3*g2 #" --- authors: - Loyd, Samuel source: The Boston Evening Gazette date: 1859 algebraic: white: [Ka5, Qe5, Bh3, Pf2, Pb6] black: [Kc6, Bc8, Pf3, Pe7, Pe6, Pd3, Pa6] stipulation: "#4" solution: | "Intention: 1.Bh3-f1 ! zugzwang. 1...d3-d2 2.Bf1-c4 threat: 3.Qe5-c7 # 2...Kc6-b7 3.Qe5-c7 + 3...Kb7-a8 4.Qc7-a7 # 4.Qc7*c8 # 2...Kc6-d7 3.Bc4*e6 + 3...Kd7-d8 4.Qe5-h8 # 3...Kd7-e8 4.Qe5-h8 # 3...Kd7-c6 4.Qe5-c7 # 4.Qe5-d5 # 1...Kc6-b7 2.Qe5-c7 + 2...Kb7-a8 3.Qc7-a7 # 3.Qc7*c8 # 1...Kc6-d7 2.Bf1*d3 zugzwang. 2...Kd7-d8 3.Bd3-g6 threat: 4.Qe5-c7 # 2...Kd7-e8 3.Bd3-g6 + 3...Ke8-f8 4.Qe5-h8 # 3...Ke8-d8 4.Qe5-c7 # 3...Ke8-d7 4.Qe5-c7 # 2...Kd7-c6 3.Bd3-g6 zugzwang. 3...Bc8-b7 4.Bg6-e8 # 3...Kc6-b7 4.Bg6-e4 # 3...Kc6-d7 4.Qe5-c7 # 3...Bc8-d7 4.Bg6-e4 # 2...Bc8-b7 3.Bd3-g6 threat: 4.Qe5-c7 # 3...Kd7-c6 4.Bg6-e8 # 1...Bc8-b7 2.Bf1*d3 threat: 3.Qe5-d4 threat: 4.Bd3-e4 # 2...Kc6-d7 3.Bd3-g6 threat: 4.Qe5-c7 # 3...Kd7-c6 4.Bg6-e8 # 2...Bb7-c8 3.Bd3-g6 zugzwang. 3...Kc6-d7 4.Qe5-c7 # 3...Kc6-b7 4.Bg6-e4 # 3...Bc8-b7 4.Bg6-e8 # 3...Bc8-d7 4.Bg6-e4 # 2...Bb7-a8 3.Bd3-g6 zugzwang. 3...Kc6-d7 4.Qe5-c7 # 3...Kc6-b7 4.Qe5-c7 # 3...Ba8-b7 4.Bg6-e8 # 1...Bc8-d7 2.Bf1*d3 threat: 3.Bd3-e4 # 2...Kc6-b7 3.Qe5-c7 + 3...Kb7-a8 4.Qc7-a7 # 2...Bd7-e8 3.Bd3-e4 + 3...Kc6-d7 4.Qe5-c7 # 3.Ka5*a6 threat: 4.Bd3-b5 # 3...Kc6-d7 4.Qe5-c7 # 2...Bd7-c8 3.Bd3-g6 zugzwang. 3...Kc6-d7 4.Qe5-c7 # 3...Kc6-b7 4.Bg6-e4 # 3...Bc8-b7 4.Bg6-e8 # 3...Bc8-d7 4.Bg6-e4 # Cook: 1.Bh3-g4 ! threat: 2.Qe5-d4 threat: 3.Bg4*f3 # 2...Kc6-b7 3.Bg4*f3 + 3...Kb7-b8 4.Qd4-e5 # 2...e6-e5 3.Bg4*f3 + 3...e5-e4 4.Bf3*e4 # 2.Qe5-e4 + 2...Kc6-d6 3.Qe4-d4 + 3...Kd6-c6 4.Bg4*f3 # 2...Kc6-c5 3.Bg4*f3 threat: 4.Qe4-b4 # 3...Kc5-d6 4.Qe4-d4 # 2...Kc6-d7 3.Qe4*e6 + 3...Kd7-e8 4.Qe6-g8 # 3...Kd7-d8 4.Qe6-g8 # 4.Qe6*c8 # 1...d3-d2 2.Qe5-e4 + 2...Kc6-d6 3.Qe4-d4 + 3...Kd6-c6 4.Bg4*f3 # 2...Kc6-c5 3.Bg4*f3 threat: 4.Qe4-b4 # 3...Kc5-d6 4.Qe4-d4 # 2...Kc6-d7 3.Qe4*e6 + 3...Kd7-e8 4.Qe6-g8 # 3...Kd7-d8 4.Qe6-g8 # 4.Qe6*c8 #" comments: - See correction 188709. Loyd, Samuel --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 4-moves / 432 date: 1868 algebraic: white: [Ka3, Qa5, Rg3, Bh8, Sh6, Pe5, Pe3, Pc6, Pb2] black: [Kc4, Rd2, Rc3, Bd1, Sf4, Sa1, Pg5, Pg4, Pf7, Pe6, Pd3, Pb3, Pa6] stipulation: "#4" solution: | "Cook: 1.Sh6*f7 ! threat: 2.Sf7-d6 # 1...Sa1-c2 + 2.Ka3-a4 threat: 3.Sf7-d6 # 2...Sc2*e3 3.Sf7-d6 + 3...Kc4-d4 4.b2*c3 # Intention: 1.Ka3-a4 ! threat: 2.Sh6*f7 threat: 3.Sf7-d6 # 1...Sa1-c2 2.Sh6*f7 threat: 3.Sf7-d6 # 2...Sc2*e3 3.Sf7-d6 + 3...Kc4-d4 4.b2*c3 # 1...Bd1-f3 2.Qa5-b4 + 2...Kc4-d5 3.Qb4-d6 + 3...Kd5-e4 4.Qd6-d4 # 3...Kd5-c4 4.Qd6-d4 # 1...Rd2*b2 2.Qa5-b4 + 2...Kc4-d5 3.Qb4-d6 + 3...Kd5-e4 4.Qd6-d4 # 3...Kd5-c4 4.Qd6-d4 # 1...Rd2-c2 2.Qa5-b4 + 2...Kc4-d5 3.Qb4-d6 + 3...Kd5-e4 4.Qd6-d4 # 3...Kd5-c4 4.Qd6-d4 # 1...Rd2-h2 2.Sh6-g8 threat: 3.Qa5*c3 + 3...Kc4-d5 4.Sg8-f6 # 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Sa1-c2 3.Qa5*c3 + 3...Kc4-d5 4.Sg8-f6 # 2...Rh2*b2 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Rh2-c2 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Rh2*h8 3.Qa5*c3 + 3...Kc4-d5 4.Sg8-f6 # 2...Rh2-h6 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Rc3-c1 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Rc3-c2 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...d3-d2 3.Qa5*c3 + 3...Kc4-d5 4.Sg8-f6 # 2...Sf4-e2 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Sf4-h5 3.Sg8-e7 threat: 4.Qa5*c3 # 4.Qa5-b4 # 3...Sa1-c2 4.Qa5*c3 # 3...Rh2*b2 4.Qa5-b4 # 3...Rh2-c2 4.Qa5-b4 # 3...Rc3-c1 4.Qa5-b4 # 3...Rc3-c2 4.Qa5-b4 # 3...d3-d2 4.Qa5*c3 # 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Sf4-g6 3.Sg8-f6 threat: 4.Qa5*c3 # 4.Qa5-b4 # 3...Sa1-c2 4.Qa5*c3 # 3...Rh2*b2 4.Qa5-b4 # 3...Rh2-c2 4.Qa5-b4 # 3...Rc3-c1 4.Qa5-b4 # 3...Rc3-c2 4.Qa5-b4 # 3...d3-d2 4.Qa5*c3 # 3.Qa5*c3 + 3...Kc4-d5 4.Sg8-f6 # 2...Sf4-d5 3.Qa5*a6 + 3...Kc4-c5 4.Qa6-b5 # 2...f7-f6 3.Qa5*c3 + 3...Kc4-d5 4.Sg8*f6 # 2.Qa5*c3 + 2...Kc4-d5 3.e3-e4 + 3...Kd5*e4 4.Qc3-c4 # 2.Qa5-b4 + 2...Kc4-d5 3.Qb4-d6 + 3...Kd5-e4 4.Qd6-d4 # 3...Kd5-c4 4.Qd6-d4 # 1...Rd2-g2 2.Sh6-g8 threat: 3.Qa5*c3 + 3...Kc4-d5 4.Sg8-f6 # 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Sa1-c2 3.Qa5*c3 + 3...Kc4-d5 4.Sg8-f6 # 2...Rg2*b2 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Rg2-c2 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Rc3-c1 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Rc3-c2 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...d3-d2 3.Qa5*c3 + 3...Kc4-d5 4.Sg8-f6 # 2...Sf4-e2 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Sf4-h5 3.Sg8-e7 threat: 4.Qa5*c3 # 4.Qa5-b4 # 3...Sa1-c2 4.Qa5*c3 # 3...Rg2*b2 4.Qa5-b4 # 3...Rg2-c2 4.Qa5-b4 # 3...Rc3-c1 4.Qa5-b4 # 3...Rc3-c2 4.Qa5-b4 # 3...d3-d2 4.Qa5*c3 # 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Sf4-g6 3.Sg8-f6 threat: 4.Qa5*c3 # 4.Qa5-b4 # 3...Sa1-c2 4.Qa5*c3 # 3...Rg2*b2 4.Qa5-b4 # 3...Rg2-c2 4.Qa5-b4 # 3...Rc3-c1 4.Qa5-b4 # 3...Rc3-c2 4.Qa5-b4 # 3...d3-d2 4.Qa5*c3 # 3.Qa5*c3 + 3...Kc4-d5 4.Sg8-f6 # 2...Sf4-d5 3.Qa5*a6 + 3...Kc4-c5 4.Qa6-b5 # 2...f7-f6 3.Qa5*c3 + 3...Kc4-d5 4.Sg8*f6 # 2.Qa5*c3 + 2...Kc4-d5 3.e3-e4 + 3...Kd5*e4 4.Qc3-c4 # 2.Qa5-b4 + 2...Kc4-d5 3.Qb4-d6 + 3...Kd5-e4 4.Qd6-d4 # 3...Kd5-c4 4.Qd6-d4 # 1...Rd2-f2 2.Qa5*c3 + 2...Kc4-d5 3.e3-e4 + 3...Kd5*e4 4.Qc3-c4 # 2.Qa5-b4 + 2...Kc4-d5 3.Qb4-d6 + 3...Kd5-e4 4.Qd6-d4 # 3...Kd5-c4 4.Qd6-d4 # 1...Rd2-e2 2.Sh6*f7 threat: 3.Sf7-d6 # 2...Re2*e3 3.Sf7-d6 + 3...Kc4-d4 4.b2*c3 # 2...d3-d2 3.Sf7-d6 + 3...Kc4-d3 4.Qa5*c3 # 2.Sh6-g8 threat: 3.Qa5*c3 + 3...Kc4-d5 4.Sg8-f6 # 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Sa1-c2 3.Qa5*c3 + 3...Kc4-d5 4.Sg8-f6 # 2...Re2*b2 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Re2-c2 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Rc3-c1 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Rc3-c2 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...d3-d2 3.Qa5*c3 + 3...Kc4-d5 4.Sg8-f6 # 2...Sf4-h5 3.Sg8-e7 threat: 4.Qa5*c3 # 4.Qa5-b4 # 3...Sa1-c2 4.Qa5*c3 # 3...Re2*b2 4.Qa5-b4 # 3...Re2-c2 4.Qa5-b4 # 3...Rc3-c1 4.Qa5-b4 # 3...Rc3-c2 4.Qa5-b4 # 3...d3-d2 4.Qa5*c3 # 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Sf4-g6 3.Sg8-e7 threat: 4.Qa5*c3 # 4.Qa5-b4 # 3...Sa1-c2 4.Qa5*c3 # 3...Re2*b2 4.Qa5-b4 # 3...Re2-c2 4.Qa5-b4 # 3...Rc3-c1 4.Qa5-b4 # 3...Rc3-c2 4.Qa5-b4 # 3...d3-d2 4.Qa5*c3 # 3...Sg6*e7 4.Rg3*g4 # 3.Sg8-f6 threat: 4.Qa5-b4 # 4.Qa5*c3 # 3...Sa1-c2 4.Qa5*c3 # 3...Re2*b2 4.Qa5-b4 # 3...Re2-c2 4.Qa5-b4 # 3...Rc3-c1 4.Qa5-b4 # 3...Rc3-c2 4.Qa5-b4 # 3...d3-d2 4.Qa5*c3 # 3.Qa5*c3 + 3...Kc4-d5 4.Sg8-f6 # 2...Sf4-d5 3.Qa5*a6 + 3...Kc4-c5 4.Qa6-b5 # 2...f7-f6 3.Qa5*c3 + 3...Kc4-d5 4.Sg8*f6 # 2.Qa5-b4 + 2...Kc4-d5 3.Qb4-d6 + 3...Kd5-e4 4.Qd6-d4 # 3...Kd5-c4 4.Qd6-d4 # 1...Sf4-g2 2.Sh6*f7 threat: 3.Sf7-d6 # 2...Sg2*e3 3.Sf7-d6 + 3...Kc4-d4 4.b2*c3 # 2.Sh6-g8 threat: 3.Sg8-e7 threat: 4.Qa5*c3 # 4.Qa5-b4 # 3...Sa1-c2 4.Qa5*c3 # 3...Rd2*b2 4.Qa5-b4 # 3...Rd2-c2 4.Qa5-b4 # 3...Rc3-c1 4.Qa5-b4 # 3...Rc3-c2 4.Qa5-b4 # 3.Sg8-f6 threat: 4.Qa5-b4 # 4.Qa5*c3 # 3...Sa1-c2 4.Qa5*c3 # 3...Rd2*b2 4.Qa5-b4 # 3...Rd2-c2 4.Qa5-b4 # 3...Rc3-c1 4.Qa5-b4 # 3...Rc3-c2 4.Qa5-b4 # 3.Qa5*c3 + 3...Kc4-d5 4.Sg8-f6 # 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Sa1-c2 3.Sg8-e7 threat: 4.Qa5*c3 # 3...Sc2-b4 4.Qa5*b4 # 3.Sg8-f6 threat: 4.Qa5*c3 # 3...Sc2-b4 4.Qa5*b4 # 3.Qa5*c3 + 3...Kc4-d5 4.Sg8-f6 # 2...Bd1-f3 3.Qa5*c3 + 3...Kc4-d5 4.Sg8-f6 # 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Rd2*b2 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Rd2-c2 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Rd2-f2 3.Sg8-e7 threat: 4.Qa5*c3 # 4.Qa5-b4 # 3...Sa1-c2 4.Qa5*c3 # 3...Rf2*b2 4.Qa5-b4 # 3...Rf2-c2 4.Qa5-b4 # 3...Rc3-c1 4.Qa5-b4 # 3...Rc3-c2 4.Qa5-b4 # 3...d3-d2 4.Qa5*c3 # 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Sg2-f4 3.Qa5*c3 + 3...Kc4-d5 4.Sg8-f6 # 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Sg2*e3 3.Qa5*c3 + 3...Kc4-d5 4.Sg8-f6 # 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Rc3-c1 3.Sg8-e7 threat: 4.Qa5-b4 # 3...Sa1-c2 4.Qa5-c3 # 3.Sg8-f6 threat: 4.Qa5-b4 # 3...Sa1-c2 4.Qa5-c3 # 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...Rc3-c2 3.Sg8-e7 threat: 4.Qa5-b4 # 3.Sg8-f6 threat: 4.Qa5-b4 # 3.Qa5-b4 + 3...Kc4-d5 4.Sg8-e7 # 2...f7-f6 3.Sg8-e7 threat: 4.Qa5*c3 # 4.Qa5-b4 # 3...Sa1-c2 4.Qa5*c3 # 3...Rd2*b2 4.Qa5-b4 # 3...Rd2-c2 4.Qa5-b4 # 3...Rc3-c1 4.Qa5-b4 # 3...Rc3-c2 4.Qa5-b4 # 3.Sg8*f6 threat: 4.Qa5-b4 # 4.Qa5*c3 # 3...Sa1-c2 4.Qa5*c3 # 3...Rd2*b2 4.Qa5-b4 # 3...Rd2-c2 4.Qa5-b4 # 3...Rc3-c1 4.Qa5-b4 # 3...Rc3-c2 4.Qa5-b4 # 3.Qa5*c3 + 3...Kc4-d5 4.Sg8*f6 # 2.Qa5*c3 + 2...Kc4-d5 3.e3-e4 + 3...Kd5*e4 4.Qc3-c4 # 2.Qa5-b4 + 2...Kc4-d5 3.Qb4-d6 + 3...Kd5-e4 4.Qd6-d4 # 3...Kd5-c4 4.Qd6-d4 # 2.e3-e4 threat: 3.Qa5*c3 # 3.Qa5-b4 # 2...Sa1-c2 3.Qa5*c3 # 2...Rd2*b2 3.Qa5-b4 # 2...Rd2-c2 3.Qa5-b4 # 2...Rc3-c1 3.Qa5-b4 # 2...Rc3-c2 3.Qa5-b4 # 2...Kc4-d4 3.Qa5*c3 + 3...Kd4*e4 4.Qc3-c4 # 1...Sf4-d5 2.Qa5*a6 + 2...Kc4-c5 3.Qa6-b5 #" --- authors: - Loyd, Samuel source: Detroit Free Press source-id: 25 date: 1880-06-12 algebraic: white: [Ka2, Qc1, Bh1, Se4, Pg5, Pa3] black: [Kd5, Ph2, Pd6, Pd3, Pa6, Pa5, Pa4] stipulation: "#4" solution: | "1.Qc1-f4 ! threat: 2.Qf4*d6 + 2...Kd5-c4 3.Qd6-c5 # 1...d3-d2 2.Se4-c3 + 2...Kd5-c5 3.Qf4-e3 + 3...Kc5-c4 4.Bh1-d5 # 2...Kd5-e6 3.Bh1-c6 threat: 4.Qf4-f6 # 2.Se4*d6 + 2...Kd5-e6 3.Bh1-c6 threat: 4.Qf4-f6 # 2...Kd5-c5 3.Qf4-e5 + 3...Kc5-b6 4.Sd6-c8 # 1...Kd5-d4 2.Qf4-g3 zugzwang. 2...d3-d2 3.Qg3-c3 + 3...Kd4-d5 4.Se4-c5 # 2...Kd4-d5 3.Qg3*d6 + 3...Kd5-c4 4.Qd6-c5 # 2...Kd4-c4 3.Qg3-e3 zugzwang. 3...d3-d2 4.Se4*d6 # 3...Kc4-b5 4.Se4*d6 # 3...Kc4-d5 4.Se4-d2 # 3...d6-d5 4.Qe3-c5 # 2...d6-d5 3.Qg3-f2 + 3...Kd4-c4 4.Qf2-c5 # 3...Kd4-e5 4.Qf2-f6 # 1...Kd5-c6 2.Qf4*d6 + 2...Kc6-b7 3.Se4-c5 + 3...Kb7-c8 4.Bh1-b7 # 3...Kb7-a7 4.Qd6-c7 # 2...Kc6-b5 3.Qd6-c5 # 1...Kd5-e6 2.Se4-c5 + 2...d6*c5 3.Bh1-c6 threat: 4.Qf4-f6 # 2...Ke6-e7 3.Qf4-f6 + 3...Ke7-e8 4.Bh1-c6 # 1...Kd5-c4 2.Qf4-e3 zugzwang. 2...d3-d2 3.Se4*d6 # 2...Kc4-b5 3.Se4*d6 # 2...Kc4-d5 3.Se4-d2 # 2...d6-d5 3.Qe3-c5 #" --- authors: - Loyd, Samuel source: The Albion (New York) source-id: 443 date: 1857-06-27 algebraic: white: [Kb1, Rh5, Rh2, Bb2, Sf1, Se6, Pg3, Pf4, Pc3, Pc2, Pa3] black: [Ke4, Qa6, Rc8, Ra5, Ba7, Sh8, Sd7, Pg4, Pd6, Pc4] stipulation: "#4" solution: | "1.Sf1-d2 + ! 1...Ke4-e3 2.Rh5-c5 threat: 3.Se6-d4 threat: 4.Sd4-f5 # 4.Rh2-e2 # 3...Ra5*c5 4.Rh2-e2 # 3...Rc8*c5 4.Rh2-e2 # 3...Rc8-f8 4.Rh2-e2 # 3.Se6-g5 threat: 4.Sd2-f1 # 3.Sd2-f1 + 3...Ke3-f3 4.Se6-g5 # 3...Ke3-e4 4.Se6-g5 # 2...Ra5*a3 3.Sd2-f1 + 3...Ke3-f3 4.Se6-g5 # 3...Ke3-e4 4.Se6-g5 # 2...Ra5*c5 3.Se6-d4 threat: 4.Rh2-e2 # 2...Ra5-b5 3.Sd2-f1 + 3...Ke3-f3 4.Se6-g5 # 3...Ke3-e4 4.Se6-g5 # 2...Qa6-b5 3.Sd2-f1 + 3...Ke3-f3 4.Se6-g5 # 3...Ke3-e4 4.Se6-g5 # 2...Qa6-b7 3.Sd2-f1 + 3...Ke3-f3 4.Se6-g5 # 3...Ke3-e4 4.Se6-g5 # 2...Qa6-c6 3.Sd2-f1 + 3...Ke3-f3 4.Se6-g5 # 3...Ke3-e4 4.Se6-g5 # 2...Qa6-b6 3.Sd2-f1 + 3...Ke3-f3 4.Se6-g5 # 3...Ke3-e4 4.Se6-g5 # 2...d6-d5 3.Se6-d4 threat: 4.Sd4-f5 # 4.Rh2-e2 # 3...Qa6-g6 4.Rh2-e2 # 3...Qa6-f6 4.Rh2-e2 # 3...Qa6-e6 4.Rh2-e2 # 3...Rc8-f8 4.Rh2-e2 # 3.Se6-g5 threat: 4.Sd2-f1 # 2...d6*c5 3.Se6-g5 threat: 4.Sd2-f1 # 2...Ba7*c5 3.Se6-g5 threat: 4.Sd2-f1 # 2...Sd7*c5 3.Se6-d4 threat: 4.Sd4-f5 # 4.Rh2-e2 # 3...Sc5-a4 4.Rh2-e2 # 3...Sc5-b3 4.Rh2-e2 # 3...Sc5-d3 4.Rh2-e2 # 3...Sc5-e4 4.Rh2-e2 # 4.Sd2-f1 # 3...Sc5-e6 4.Rh2-e2 # 3...Sc5-d7 4.Rh2-e2 # 3...Sc5-b7 4.Rh2-e2 # 3...Rc8-f8 4.Rh2-e2 # 3.Se6-g5 threat: 4.Sd2-f1 # 2...Sd7-e5 3.Se6-d4 threat: 4.Sd4-f5 # 4.Rh2-e2 # 3...Rc8-f8 4.Rh2-e2 # 3.Se6-g5 threat: 4.Sd2-f1 # 2...Rc8*c5 3.Se6-d4 threat: 4.Rh2-e2 # 2...Rc8-b8 3.Sd2-f1 + 3...Ke3-f3 4.Se6-g5 # 3...Ke3-e4 4.Se6-g5 # 2...Rc8-g8 3.Se6-d4 threat: 4.Sd4-f5 # 4.Rh2-e2 # 3...Ra5*c5 4.Rh2-e2 # 3...Rg8-g5 4.Rh2-e2 # 3...Rg8-f8 4.Rh2-e2 # 2...Rc8-f8 3.Se6-d4 threat: 4.Rh2-e2 # 3.Sd2-f1 + 3...Ke3-f3 4.Se6-g5 # 3...Ke3-e4 4.Se6-g5 # 2...Sh8-f7 3.Se6-d4 threat: 4.Sd4-f5 # 4.Rh2-e2 # 3...Ra5*c5 4.Rh2-e2 # 3...Sf7-h6 4.Rh2-e2 # 3...Rc8*c5 4.Rh2-e2 #" --- authors: - Loyd, Samuel source: The Era (London) source-id: 240 date: 1858-11-28 algebraic: white: [Kg8, Qh6, Bd1, Sb5, Pc7] black: [Ke8, Qa7, Bd6, Bc8, Sh8, Sb7, Pe7, Pe5, Pd5, Pd4, Pa5] stipulation: "#4" solution: | "1.Sb5*d6 + ! 1...Sb7*d6 2.Bd1-a4 + 2...Sd6-b5 3.Qh6-c6 + 3...Bc8-d7 4.c7-c8=Q # 4.c7-c8=R # 3.Ba4*b5 + 3...Bc8-d7 4.c7-c8=Q # 4.c7-c8=R # 4.Qh6-f8 # 2...Bc8-d7 3.Qh6-f8 # 1...e7*d6 2.Bd1-g4 threat: 3.Qh6-f8 # 2...Bc8*g4 3.Qh6-f8 + 3...Ke8-d7 4.c7-c8=Q # 2...Bc8-f5 3.Qh6-f8 + 3...Ke8-d7 4.c7-c8=Q # 3.c7-c8=Q + 3...Bf5*c8 4.Qh6-f8 # 3...Sb7-d8 4.Qh6-f8 # 3...Ke8-e7 4.Qh6-f8 # 4.Qh6-g5 # 4.Qh6-h4 # 2...Bc8-e6 + 3.Qh6*e6 # 2...Sh8-g6 3.Qh6*g6 + 3...Ke8-e7 4.Qg6-f7 # 1...Ke8-d7 2.Sd6-e8 threat: 3.Bd1-a4 # 2...a5-a4 3.Bd1-g4 + 3...Kd7*e8 4.Qh6-f8 # 3...e7-e6 4.Qh6*e6 # 2...Qa7-c5 3.Bd1-a4 + 3...Qc5-b5 4.Ba4*b5 # 3...Qc5-c6 4.Qh6*c6 # 4.Ba4*c6 # 3.Bd1-g4 + 3...Kd7*e8 4.Qh6-f8 # 3...e7-e6 4.Qh6*e6 # 2...Qa7-b6 3.Bd1-a4 + 3...Qb6-b5 4.Ba4*b5 # 3...Qb6-c6 4.Qh6*c6 # 4.Ba4*c6 # 2...Qa7-a6 3.Bd1-a4 + 3...Qa6-b5 4.Ba4*b5 # 3...Qa6-c6 4.Qh6*c6 # 4.Ba4*c6 # 2...Sb7-c5 3.Qh6-e6 + 3...Sc5*e6 4.Bd1-a4 # 3...Kd7*e8 4.Qe6*c8 # 3...Kd7*e6 4.Bd1-g4 # 2...Sb7-d6 3.Bd1-a4 + 3...Sd6-b5 4.Ba4*b5 # 2...Sb7-d8 3.Bd1-a4 + 3...Sd8-c6 4.Qh6*c6 # 4.Ba4*c6 # 2...Kd7*e8 3.Bd1-a4 + 3...Bc8-d7 4.Qh6-f8 # 2...e7-e6 3.Bd1-a4 + 3...Kd7-e7 4.Qh6-f8 # 4.Qh6-g5 # 4.Qh6-h4 # 4.Qh6-f6 # 2...Sh8-g6 3.Bd1-a4 + 3...Kd7-e6 4.Qh6-h3 # 4.Qh6*g6 #" comments: - Dedicated to Rudolph H. Willmers - also in The Chess Monthly (156), April 1859 --- authors: - Loyd, Samuel source: Mirror of American Sports date: 1885-10-10 algebraic: white: [Kg1, Bd6, Se3, Sc3, Pf3, Pd2, Pb4, Pb2, Pa6] black: [Kd4, Bc6, Pg7, Pg3, Pf7, Pf6, Pd3, Pb6, Pb5, Pa7] stipulation: "#4" solution: | "1.f3-f4 ! threat: 2.Bd6-f8 threat: 3.Bf8*g7 threat: 4.Bg7*f6 # 1...Bc6-h1 2.Bd6-b8 threat: 3.Bb8*a7 threat: 4.Ba7*b6 # 2...g7-g5 3.b2-b3 threat: 4.Se3-f5 # 3...Bh1-e4 4.Sc3*b5 # 2.b2-b3 threat: 3.Se3-f5 # 2...Bh1-e4 3.Sc3*b5 # 2...g7-g6 3.Bd6-e7 threat: 4.Be7*f6 #" comments: - also in The Wilkes-Barre Record (no. 3), 15 April 1887 --- authors: - Loyd, Samuel source: Mirror of American Sports date: 1885-12 algebraic: white: [Kg6, Qb1, Rf4, Sg3, Sc3, Pg4] black: [Ke3, Bb8, Sg1, Ph3, Pf3, Pe4] stipulation: "#4" solution: | "1.Sc3*e4 ! threat: 2.Qb1-c1 + 2...Ke3-d3 3.Se4-f2 # 3.Se4-c5 # 3.Qc1-c3 # 2...Ke3-d4 3.Qc1-c5 + 3...Kd4-d3 4.Qc5-c3 # 1...Sg1-e2 2.Sg3-f5 + 2...Ke3*f4 3.Se4-f2 threat: 4.Qb1-e4 # 4.Qb1*b8 # 3...Se2-g3 4.Qb1*b8 # 3...Se2-c3 4.Qb1*b8 # 3...Kf4-e5 4.Qb1-e4 # 3...Bb8-a7 4.Qb1-e4 # 3...Bb8-e5 4.Qb1-e4 # 3...Bb8-d6 4.Qb1-e4 # 3...Bb8-c7 4.Qb1-e4 # 3.Se4-f6 threat: 4.Qb1-e4 # 4.Qb1*b8 # 3...Se2-g3 4.Qb1*b8 # 3...Se2-c3 4.Qb1*b8 # 3...f3-f2 4.Qb1-e4 # 3...Kf4-e5 4.Qb1-e4 # 3...Bb8-a7 4.Qb1-e4 # 3...Bb8-e5 4.Qb1-e4 # 3...Bb8-d6 4.Qb1-e4 # 3...Bb8-c7 4.Qb1-e4 # 1...Ke3-d4 2.Qb1-b5 threat: 3.Sg3-f5 # 2...Kd4-e3 3.Qb5-d5 threat: 4.Qd5-d2 # 3...Ke3*f4 4.Qd5-g5 # 3.Qb5-c5 + 3...Ke3-d3 4.Qc5-c3 # 3...Ke3*f4 4.Qc5-g5 # 2...Bb8*f4 3.Qb5-c5 + 3...Kd4-d3 4.Qc5-c3 # 1...Ke3*f4 2.Sg3-f5 threat: 3.Se4-f2 threat: 4.Qb1-e4 # 4.Qb1*b8 # 3...Kf4-e5 4.Qb1-e4 # 3...Bb8-a7 4.Qb1-e4 # 3...Bb8-e5 4.Qb1-e4 # 4.Qb1-c1 # 3...Bb8-d6 4.Qb1-e4 # 3...Bb8-c7 4.Qb1-e4 # 3.Se4-f6 threat: 4.Qb1-e4 # 4.Qb1*b8 # 3...f3-f2 4.Qb1-e4 # 3...Kf4-e5 4.Qb1-e4 # 3...Bb8-a7 4.Qb1-e4 # 3...Bb8-e5 4.Qb1-e4 # 4.Qb1-c1 # 3...Bb8-d6 4.Qb1-e4 # 3...Bb8-c7 4.Qb1-e4 # 2...f3-f2 3.Se4-f6 threat: 4.Qb1-e4 # 2...Kf4-e5 3.Se4-g5 threat: 4.Qb1-e4 # 3...Ke5-d5 4.Qb1-b5 # 2...Bb8-a7 3.Se4-c3 threat: 4.Qb1-e4 # 3.Se4-d2 threat: 4.Qb1-e4 # 3.Se4-g3 threat: 4.Qb1-e4 # 3.Se4-g5 threat: 4.Qb1-e4 # 3.Se4-f6 threat: 4.Qb1-e4 # 3.Se4-d6 threat: 4.Qb1-e4 # 2...Bb8-e5 3.Se4-f2 threat: 4.Qb1-e4 # 4.Qb1-c1 # 3...Sg1-e2 4.Qb1-e4 # 3...Be5-a1 4.Qb1-e4 # 3...Be5-b2 4.Qb1-e4 # 3...Be5-c3 4.Qb1-e4 # 3...Be5-d4 4.Qb1-e4 # 3...Be5-h8 4.Qb1-e4 # 3...Be5-g7 4.Qb1-e4 # 3...Be5-f6 4.Qb1-e4 # 3...Be5-b8 4.Qb1-e4 # 4.Qb1*b8 # 3...Be5-c7 4.Qb1-e4 # 3...Be5-d6 4.Qb1-e4 # 1...Bb8-a7 2.Rf4-f5 threat: 3.Qb1-c2 threat: 4.Qc2-c3 # 4.Qc2-d2 # 3...Sg1-e2 4.Qc2-d2 # 3...Ke3-d4 4.Qc2-c3 # 3...Ba7-d4 4.Sg3-f1 # 4.Qc2-d2 # 3.Qb1-b4 threat: 4.Qb4-d2 # 4.Qb4-c3 # 3...Sg1-e2 4.Qb4-d2 # 3...Ke3-d3 4.Qb4-c3 # 3...Ba7-d4 4.Qb4-d2 # 3.Qb1-b3 + 3...Ke3-d4 4.Rf5-d5 # 4.Qb3-c3 # 3.Qb1-b2 threat: 4.Qb2-c3 # 4.Qb2-d2 # 3...Sg1-e2 4.Qb2-d2 # 3...Ke3-d3 4.Qb2-c3 # 3...Ba7-d4 4.Qb2-d2 # 3.Qb1-e1 + 3...Sg1-e2 4.Qe1-d2 # 3...Ke3-d3 4.Qe1-c3 # 3...Ke3-d4 4.Qe1-c3 # 3.Qb1-d1 threat: 4.Qd1-d2 # 3.Qb1-c1 + 3...Ke3-d3 4.Qc1-c3 # 3...Ke3-d4 4.Qc1-c3 # 2...Sg1-e2 3.Qb1-b3 + 3...Se2-c3 4.Qb3*c3 # 3...Ke3-d4 4.Rf5-d5 # 2...Ke3-d4 3.Qb1-a1 + 3...Kd4-d3 4.Qa1-c3 # 3...Kd4-c4 4.Qa1-c3 # 3...Kd4-e3 4.Qa1-c3 # 3.Qb1-b4 + 3...Kd4-d3 4.Qb4-c3 # 3...Kd4-e3 4.Qb4-c3 # 4.Qb4-d2 # 3.Qb1-b3 threat: 4.Rf5-d5 # 4.Qb3-c3 # 3...Sg1-e2 4.Rf5-d5 # 3.Qb1-b2 + 3...Kd4-c4 4.Qb2-c3 # 3...Kd4-d3 4.Qb2-c3 # 3...Kd4-e3 4.Qb2-c3 # 4.Qb2-d2 # 2...f3-f2 3.Qb1-c2 threat: 4.Qc2-c3 # 4.Qc2-d2 # 3...Sg1-f3 4.Qc2-c3 # 3...Sg1-e2 4.Qc2-d2 # 3...f2-f1=Q 4.Qc2-d2 # 3...f2-f1=S 4.Qc2-c3 # 3...f2-f1=B 4.Qc2-d2 # 3...Ke3-d4 4.Qc2-c3 # 3...Ba7-d4 4.Sg3-f1 # 4.Qc2-d2 # 3.Qb1-b4 threat: 4.Qb4-d2 # 4.Qb4-c3 # 3...Sg1-f3 4.Qb4-c3 # 3...Sg1-e2 4.Qb4-d2 # 3...f2-f1=Q 4.Qb4-d2 # 3...f2-f1=S 4.Qb4-c3 # 3...f2-f1=B 4.Qb4-d2 # 3...Ke3-d3 4.Qb4-c3 # 3...Ba7-d4 4.Qb4-d2 # 3.Qb1-b3 + 3...Ke3-d4 4.Rf5-d5 # 4.Qb3-c3 # 3.Qb1-b2 threat: 4.Qb2-c3 # 4.Qb2-d2 # 3...Sg1-f3 4.Qb2-c3 # 3...Sg1-e2 4.Qb2-d2 # 3...f2-f1=Q 4.Qb2-d2 # 3...f2-f1=S 4.Qb2-c3 # 3...f2-f1=B 4.Qb2-d2 # 3...Ke3-d3 4.Qb2-c3 # 3...Ba7-d4 4.Qb2-d2 # 3.Qb1-c1 + 3...Ke3-d3 4.Qc1-c3 # 3...Ke3-d4 4.Qc1-c3 # 2...Ba7-d4 3.Qb1-c2 threat: 4.Sg3-f1 # 4.Qc2-d2 # 3...Bd4-a1 4.Qc2-d2 # 3...Bd4-b2 4.Qc2-d2 # 3...Bd4-c3 4.Qc2*c3 # 3...Bd4-h8 4.Qc2-d2 # 3...Bd4-g7 4.Qc2-d2 # 3...Bd4-f6 4.Qc2-d2 # 3...Bd4-e5 4.Qc2-d2 # 3...Bd4-a7 4.Qc2-c3 # 4.Qc2-d2 # 3...Bd4-b6 4.Qc2-c3 # 4.Qc2-d2 # 3...Bd4-c5 4.Qc2-c3 # 4.Qc2-d2 # 3.Qb1-b3 + 3...Bd4-c3 4.Qb3*c3 # 2...Ba7-c5 3.Qb1-b3 + 3...Ke3-d4 4.Rf5-d5 # 4.Qb3-c3 # 3.Qb1-e1 + 3...Sg1-e2 4.Qe1-d2 # 3...Ke3-d3 4.Qe1-c3 # 3...Ke3-d4 4.Qe1-c3 # 3.Qb1-c1 + 3...Ke3-d3 4.Qc1-c3 # 3...Ke3-d4 4.Qc1-c3 # 2...Ba7-b6 3.Qb1-b3 + 3...Ke3-d4 4.Rf5-d5 # 4.Qb3-c3 # 3.Qb1-e1 + 3...Sg1-e2 4.Qe1-d2 # 3...Ke3-d3 4.Qe1-c3 # 3...Ke3-d4 4.Qe1-c3 # 3.Qb1-c1 + 3...Ke3-d3 4.Qc1-c3 # 3...Ke3-d4 4.Qc1-c3 # 2...Ba7-b8 3.Qb1-b3 + 3...Ke3-d4 4.Rf5-d5 # 4.Qb3-c3 # 3.Qb1-e1 + 3...Sg1-e2 4.Qe1-d2 # 3...Ke3-d3 4.Qe1-c3 # 3...Ke3-d4 4.Qe1-c3 # 3.Qb1-c1 + 3...Ke3-d3 4.Rf5-d5 # 4.Qc1-c3 # 3...Ke3-d4 4.Qc1-c3 # 1...Bb8-e5 2.Qb1-d1 threat: 3.Qd1-d2 # 2...Ke3*f4 3.Qd1-d2 + 3...Kf4*g4 4.Qd2-g5 # 3.Qd1-c1 + 3...Kf4*g4 4.Qc1-g5 # 2...Be5-c3 3.Kg6-f5 threat: 4.Sg3-f1 # 3...Bc3-d2 4.Qd1*d2 # 1...Bb8-d6 2.Qb1-d1 threat: 3.Qd1-d2 # 2...Ke3*f4 3.Qd1-d2 + 3...Kf4*g4 4.Qd2-g5 # 3...Kf4-e5 4.Qd2*d6 # 2...Bd6-b4 3.Kg6-f5 threat: 4.Sg3-f1 # 3...Bb4-d2 4.Qd1*d2 # 1.Sc3-d5 + ! 1...Ke3-d4 2.Qb1-b5 threat: 3.Rf4*e4 # 2...Kd4-e5 3.Rf4*e4 + 3...Ke5-d6 4.Sg3-f5 # 2...Bb8*f4 3.Sg3-f5 + 3...Kd4-e5 4.Sd5-c7 # 1...Ke3-f2 2.Qb1-f1 + 2...Kf2*g3 3.Qf1*g1 + 3...Kg3-h4 4.Qg1-f2 # 1...Ke3-d2 2.Rf4*e4 threat: 3.Re4-d4 # 3.Sg3-f1 # 2...Sg1-e2 3.Sg3-f1 # 2...Bb8-a7 3.Sg3-f1 # 2...Bb8*g3 3.Qb1-b2 + 3...Kd2-d3 4.Re4-d4 # 3...Kd2-d1 4.Sd5-c3 # 2...Bb8-e5 3.Sg3-f1 # 1.Qb1-c1 + ! 1...Ke3-d3 2.Sc3*e4 threat: 3.Se4-f2 # 3.Se4-c5 # 3.Qc1-c3 # 2...Sg1-e2 3.Se4-f2 # 3.Se4-c5 # 2...Kd3-d4 3.Qc1-c5 + 3...Kd4-d3 4.Qc5-c3 # 2...Bb8-a7 3.Qc1-c3 # 2...Bb8*f4 3.Qc1-c3 # 2...Bb8-e5 3.Se4-f2 # 3.Se4-c5 # 2...Bb8-d6 3.Se4-f2 # 3.Qc1-c3 # 1...Ke3-d4 2.Sc3-b5 + 2...Kd4-d5 3.Rf4*e4 threat: 4.Qc1-c4 # 2...Kd4-d3 3.Qc1-c3 # 2...Kd4-e5 3.Rf4*e4 + 3...Ke5-d5 4.Qc1-c4 # 1...Ke3-f2 2.Sc3*e4 + 2...Kf2-g2 3.Qc1-f1 + 3...Kg2-h2 4.Qf1-f2 #" keywords: - Cooked --- authors: - Loyd, Samuel source: Syracuse Standard source-id: 49 date: 1858-09-11 algebraic: white: [Ke1, Qf2, Ra1, Bb3, Pf3, Pe4] black: [Kh1, Ph3, Ph2, Pg2] stipulation: "#3" solution: | "1.Ke1-e2 + ! 1...g2-g1=Q 2.Ra1-f1 zugzwang. 2...Qg1*f1 + 3.Qf2*f1 # 1...g2-g1=S + 2.Ke2-f1 zugzwang. 2...Sg1*f3 3.Qf2*f3 # 2...Sg1-e2 3.Kf1*e2 # 1...g2-g1=R 2.Ra1-f1 zugzwang. 2...Rg1*f1 3.Qf2*f1 # 1...g2-g1=B 2.Ke2-e1 zugzwang. 2...Bg1*f2 + 3.Ke1*f2 # 2.Ke2-f1 zugzwang. 2...Bg1*f2 3.Kf1*f2 # 1.Ke1-d2 + ! 1...g2-g1=Q 2.Ra1-f1 zugzwang. 2...Qg1*f1 3.Qf2*f1 # 1...g2-g1=S 2.Bb3-d1 zugzwang. 2...Sg1*f3 + 3.Bd1*f3 # 2...Sg1-e2 3.Bd1*e2 # 1...g2-g1=R 2.Ra1-f1 zugzwang. 2...Rg1*f1 3.Qf2*f1 # 1...g2-g1=B 2.Kd2-e1 zugzwang. 2...Bg1*f2 + 3.Ke1*f2 #" keywords: - Cooked comments: - also in The Philadelphia Times (no. 980), 19 January 1890 --- authors: - Loyd, Samuel source: Harper's Weekly source-id: 14 date: 1859-01-29 algebraic: white: [Ka5, Qg1, Bd8, Pe4, Pd2] black: [Kc5, Ra3, Bb5, Ph6, Pf7, Pf2, Pb3, Pa6, Pa4] stipulation: "#3" solution: | "1.Qg1-g7 ! threat: 2.Qg7-e5 + 2...Kc5-c6 3.Qe5-c7 # 3.Qe5-d5 # 2...Kc5-c4 3.Qe5-d5 # 3.Qe5-c3 # 1...Kc5-c6 2.Qg7*f7 threat: 3.Qf7-d5 # 3.Qf7-c7 # 2...Bb5-c4 3.Qf7-c7 # 2...Kc6-d6 3.Qf7-d5 # 2...Kc6-c5 3.Qf7-d5 # 1...Kc5-d6 2.Qg7-d4 + 2...Kd6-e6 3.Qd4-d5 # 2...Kd6-c6 3.Qd4-d5 # 1...f7-f6 2.Qg7-b7 threat: 3.Qb7-d5 # 2...Bb5-c4 3.Qb7-b6 # 2...Bb5-c6 3.Qb7-b4 #" --- authors: - Loyd, Samuel source: Baltimore News date: 1888 algebraic: white: [Kh4, Qa4, Bb6, Sf3] black: [Kd3, Pf5, Pf4, Pd6] stipulation: "#3" solution: | "1.Sf3-d4 ! threat: 2.Qa4-c2 + 2...Kd3-e3 3.Qc2-e2 # 1...Kd3-e4 2.Qa4-c4 zugzwang. 2...Ke4-e3 3.Qc4-e2 # 2...Ke4-e5 3.Qc4-e6 # 2...f4-f3 3.Sd4-c6 # 2...d6-d5 3.Qc4-e2 #" --- authors: - Loyd, Samuel source: New York State Chess Association date: 1893-02-22 algebraic: white: [Kh8, Qa5, Re8, Be6, Sd5, Sb5] black: [Ke5, Rc4, Bh6, Pf6] stipulation: "#3" solution: | "1.Qa5-a2 ! zugzwang. 1...Ke5-e4 2.Qa2-e2 + 2...Bh6-e3 3.Qe2*e3 # 1...Rc4-c1 2.Be6-h3 # 2.Be6-g4 # 2.Be6-c8 # 2.Be6-d7 # 1...Rc4-c2 2.Be6-d7 # 2.Be6-h3 # 2.Be6-g4 # 2.Be6-c8 # 1...Rc4-c3 2.Be6-c8 # 2.Be6-h3 # 2.Be6-g4 # 2.Be6-d7 # 1...Rc4-a4 2.Be6-d7 # 2.Be6-h3 # 2.Be6-g4 # 2.Be6-c8 # 1...Rc4-b4 2.Be6-c8 # 2.Be6-h3 # 2.Be6-g4 # 2.Be6-d7 # 1...Rc4-c8 2.Be6*c8 # 1...Rc4-c7 2.Be6-d7 # 1...Rc4-c6 2.Be6-h3 + 2...Rc6-e6 3.Re8*e6 # 2.Be6-g4 + 2...Rc6-e6 3.Re8*e6 # 2.Qa2-e2 + 2...Bh6-e3 3.Qe2*e3 # 1...Rc4-c5 2.Be6-h3 # 2.Be6-g4 # 2.Be6-c8 # 2.Be6-d7 # 1...Rc4-h4 2.Be6-d7 # 2.Be6-h3 # 2.Be6-g4 # 2.Be6-c8 # 1...Rc4-g4 2.Be6-c8 # 2.Be6*g4 # 2.Be6-d7 # 1...Rc4-f4 2.Be6-d7 # 2.Be6-h3 # 2.Be6-g4 # 2.Be6-c8 # 1...Rc4-e4 2.Be6-c8 # 2.Be6-h3 # 2.Be6-g4 # 2.Be6-d7 # 1...Rc4-d4 2.Be6-d7 # 2.Be6-h3 # 2.Be6-g4 # 2.Be6-c8 # 1...f6-f5 2.Be6-g8 # 2.Be6-f7 # 1...Bh6-c1 2.Qa2*c4 threat: 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 3.Be6-d7 # 3.Qc4-d4 # 2...Bc1-e3 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 3.Be6-d7 # 2...Bc1-a3 3.Qc4-e2 # 3.Qc4-f4 # 3.Qc4-d4 # 2...Bc1-b2 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 3.Be6-d7 # 3.Qc4-e2 # 3.Qc4-f4 # 2...f6-f5 3.Be6-g8 # 3.Be6-f7 # 3.Be6-c8 # 3.Be6-d7 # 3.Qc4-d4 # 1...Bh6-d2 2.Qa2*c4 threat: 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 3.Be6-d7 # 3.Qc4-d4 # 2...Bd2-e3 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 3.Be6-d7 # 2...Bd2-b4 3.Qc4-e2 # 3.Qc4-f4 # 3.Qc4-d4 # 2...Bd2-c3 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 3.Be6-d7 # 3.Qc4-e2 # 3.Qc4-f4 # 2...f6-f5 3.Be6-g8 # 3.Be6-f7 # 3.Be6-c8 # 3.Be6-d7 # 3.Qc4-d4 # 1...Bh6-e3 2.Qa2*c4 threat: 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 3.Be6-d7 # 2...Be3-c5 3.Qc4-f4 # 2...f6-f5 3.Be6-g8 # 3.Be6-f7 # 3.Be6-c8 # 3.Be6-d7 # 1...Bh6-f4 2.Qa2*c4 threat: 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 3.Be6-d7 # 3.Qc4*f4 # 3.Qc4-d4 # 2...Bf4-c1 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 3.Be6-d7 # 3.Qc4-d4 # 2...Bf4-d2 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 3.Be6-d7 # 3.Qc4-d4 # 2...Bf4-e3 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 3.Be6-d7 # 2...Bf4-h2 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 3.Be6-d7 # 3.Qc4-e2 # 3.Qc4-d4 # 2...Bf4-g3 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 3.Be6-d7 # 3.Qc4-e2 # 3.Qc4-d4 # 2...Bf4-h6 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 3.Be6-d7 # 3.Qc4-d4 # 2...Bf4-g5 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 3.Be6-d7 # 3.Qc4-d4 # 2...f6-f5 3.Qc4-d4 # 3.Be6-g8 # 3.Be6-f7 # 3.Be6-c8 # 3.Be6-d7 # 3.Qc4*f4 # 1...Bh6-g5 2.Qa2*c4 threat: 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 3.Be6-d7 # 3.Qc4-d4 # 2...Bg5-e3 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 3.Be6-d7 # 2...f6-f5 3.Qc4-d4 # 1...Bh6-f8 2.Qa2-h2 + 2...Rc4-f4 3.Qh2*f4 # 2...Ke5-e4 3.Qh2-e2 # 1...Bh6-g7 + 2.Kh8*g7 zugzwang. 2...Rc4-c1 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 3.Be6-d7 # 3.Qa2-e2 # 2...Rc4-c2 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 3.Be6-d7 # 2...Rc4-c3 3.Be6-d7 # 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 2...Rc4-a4 3.Be6-c8 # 3.Be6-h3 # 3.Be6-g4 # 3.Be6-d7 # 2...Rc4-b4 3.Be6-d7 # 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 2...Rc4-c8 3.Be6*c8 # 3.Qa2-e2 # 2...Rc4-c7 + 3.Be6-d7 # 2...Rc4-c6 3.Qa2-e2 # 2...Rc4-c5 3.Qa2-e2 # 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 3.Be6-d7 # 2...Rc4-h4 3.Be6-d7 # 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 2...Rc4-g4 + 3.Be6*g4 # 2...Rc4-f4 3.Be6-g4 # 3.Be6-h3 # 3.Be6-c8 # 3.Be6-d7 # 2...Rc4-e4 3.Be6-d7 # 3.Be6-h3 # 3.Be6-g4 # 3.Be6-c8 # 2...Rc4-d4 3.Be6-c8 # 3.Be6-h3 # 3.Be6-g4 # 3.Be6-d7 # 2...Ke5-e4 3.Qa2-e2 # 2...f6-f5 3.Be6-g8 # 3.Be6-f7 #" comments: - also in The Albany Evening Journal (no. 279), 25 February 1893 - also in The Philadelphia Times (no. 1285), 26 March 1893 --- authors: - Loyd, Samuel source: Sam Loyd and his Chess Problems date: 1913 algebraic: white: [Kf1, Rg3, Ra1, Sf4, Sc4, Pe4, Pb7] black: [Kd1, Qc8, Rd4, Bc1, Sh4, Sf7, Pc5, Pc2] stipulation: "#3" solution: | "1.Rg3-a3 ! threat: 2.Ra1*c1 + 2...Kd1*c1 3.Ra3-a1 # 1...Qc8*b7 2.Sf4-h3 threat: 3.Sh3-f2 # 2...Rd4-d2 3.Sc4-e3 # 2...Rd4*c4 3.Ra3-d3 # 1...Qc8-h3 + 2.Sf4*h3 threat: 3.Sh3-f2 # 2...Rd4-d2 3.Sc4-b2 # 3.Sc4-e3 # 2...Rd4*c4 3.Ra3-d3 # 1...Qc8-a8 2.Sf4-h3 threat: 3.Sh3-f2 # 2...Rd4-d2 3.Sc4-b2 # 3.Sc4-e3 # 2...Rd4*c4 3.Ra3-d3 #" --- authors: - Loyd, Samuel source: Sam Loyd and his Chess Problems date: 1913 algebraic: white: [Kh4, Qd6, Rf6, Re3, Bf8, Bb3, Se4, Sc5, Ph6, Pg5, Pe2] black: [Ke8, Qh1, Rh7, Rc7, Bd5, Ba7, Sc3, Sa8, Ph5, Ph3, Pg3, Pg2, Pd3] stipulation: "#3" solution: | "1.Qd6*d5 ! threat: 2.Bf8-e7 threat: 3.Qd5-d8 # 3.Se4-d6 # 2...Sc3*e4 3.Qd5-d8 # 2...Sc3*d5 3.Se4-d6 # 2...Sc3-b5 3.Qd5-d8 # 2...Ba7*c5 3.Qd5-d8 # 2...Rc7*c5 3.Qd5-d8 # 2...Rc7-c6 3.Qd5-d8 # 3.Qd5-d7 # 2...Rc7-c8 3.Qd5-d7 # 3.Se4-d6 # 2...Rc7*e7 3.Qd5-g8 # 2...Rc7-d7 3.Qd5*d7 # 2...Rh7*e7 3.Qd5-g8 # 2...Ke8*e7 3.Se4*c3 # 2.Se4-d6 + 2...Ke8-d8 3.Re3-e8 # 1...Qh1-c1 2.Se4-d6 + 2...Ke8-d8 3.Re3-e8 # 1...Qh1-f1 2.Se4-d6 + 2...Ke8-d8 3.Re3-e8 # 1...Qh1-g1 2.Se4-d6 + 2...Ke8-d8 3.Re3-e8 # 1...g2-g1=Q 2.Se4-d6 + 2...Ke8-d8 3.Re3-e8 # 1...g2-g1=S 2.Se4-d6 + 2...Ke8-d8 3.Re3-e8 # 1...g2-g1=R 2.Se4-d6 + 2...Ke8-d8 3.Re3-e8 # 1...g2-g1=B 2.Se4-d6 + 2...Ke8-d8 3.Re3-e8 # 1...Sc3-d1 2.Se4-d6 + 2...Ke8-d8 3.Re3-e8 # 1...Sc3*e4 2.Bf8-e7 threat: 3.Qd5-d8 # 2...Se4-d6 3.Rf6-f8 # 3.Qd5-g8 # 2...Rc7-c8 3.Qd5-d7 # 2...Rc7*e7 3.Qd5-g8 # 2...Rc7-d7 3.Qd5*d7 # 2...Rh7*e7 3.Qd5-g8 # 2...Ke8*e7 3.Re3*e4 # 1...Sc3*d5 2.Se4-d6 + 2...Ke8-d8 3.Re3-e8 # 1...Ba7*c5 2.Qd5*a8 + 2...Rc7-c8 3.Qa8*c8 # 2...Ke8-d7 3.Bb3-e6 # 1...Ba7-b6 2.Se4-d6 + 2...Ke8-d8 3.Re3-e8 # 1...Rc7*c5 2.Se4*c3 + 2...Rh7-e7 3.Re3*e7 # 1...Rc7-c6 2.Qd5*c6 + 2...Rh7-d7 3.Qc6*d7 # 2...Ke8-d8 3.Sc5-e6 # 1...Rc7-b7 2.Bf8-e7 threat: 3.Qd5-d8 # 3.Se4-d6 # 2...Sc3*e4 3.Qd5-d8 # 2...Sc3*d5 3.Se4-d6 # 2...Sc3-b5 3.Qd5-d8 # 2...Ba7*c5 3.Qd5-d8 # 2...Ba7-b6 3.Se4-d6 # 2...Ba7-b8 3.Qd5-d8 # 2...Rb7-b4 3.Qd5-d8 # 3.Qd5-d7 # 2...Rb7-b6 3.Qd5-d8 # 3.Qd5-d7 # 2...Rb7-b8 3.Qd5-d7 # 3.Se4-d6 # 2...Rb7*e7 3.Qd5-g8 # 2...Rb7-d7 3.Qd5*d7 # 2...Rh7*e7 3.Qd5-g8 # 2...Ke8*e7 3.Se4*c3 # 1...Rc7-c8 2.Se4*c3 + 2...Rh7-e7 3.Qd5-d7 # 3.Re3*e7 # 1...Rc7-g7 2.Bf8-e7 threat: 3.Qd5-d8 # 3.Qd5-d7 # 3.Se4-d6 # 2...Sc3*e4 3.Qd5-d8 # 3.Qd5-d7 # 2...Sc3*d5 3.Se4-d6 # 2...Sc3-b5 3.Qd5-d8 # 3.Qd5-d7 # 2...Ba7*c5 3.Qd5-d8 # 2...Ba7-b6 3.Qd5-d7 # 3.Se4-d6 # 2...Ba7-b8 3.Qd5-d8 # 3.Qd5-d7 # 2...Rg7*e7 3.Qd5-g8 # 2...Sa8-b6 3.Qd5-d8 # 3.Se4-d6 # 2...Ke8*e7 3.Qd5-d7 # 3.Se4*c3 # 2.Qd5*a8 + 2...Ba7-b8 3.Qa8*b8 # 2.Se4*c3 + 2...Rg7-e7 3.Qd5-d7 # 3.Bb3-a4 # 1...Rc7-f7 2.Qd5*a8 + 2...Ba7-b8 3.Qa8*b8 # 2.Se4*c3 + 2...Rf7-e7 3.Qd5-d7 # 3.Bb3-a4 # 2...Ke8*f8 3.Qd5-d8 # 1...Rc7-e7 2.Bf8*e7 threat: 3.Qd5-d8 # 3.Qd5-d7 # 3.Se4-d6 # 2...Sc3*e4 3.Qd5-d8 # 3.Qd5-d7 # 2...Sc3*d5 3.Se4-d6 # 2...Sc3-b5 3.Qd5-d8 # 3.Qd5-d7 # 2...Ba7*c5 3.Qd5-d8 # 2...Ba7-b6 3.Qd5-d7 # 3.Se4-d6 # 2...Ba7-b8 3.Qd5-d8 # 3.Qd5-d7 # 2...Rh7*e7 3.Qd5-g8 # 2...Sa8-b6 3.Qd5-d8 # 3.Se4-d6 # 2...Ke8*e7 3.Qd5-d7 # 3.Se4*c3 # 2.Qd5*a8 + 2...Ba7-b8 3.Qa8*b8 # 1...Rc7-d7 2.Se4-d6 + 2...Ke8-d8 3.Sc5-e6 # 1...Rh7-d7 2.Se4-d6 + 2...Ke8-d8 3.Sc5-e6 # 3.Re3-e8 # 1...Rh7-e7 2.Bf8*e7 threat: 3.Qd5-f7 # 3.Qd5-d8 # 3.Se4-d6 # 2...Sc3*e4 3.Qd5-f7 # 3.Qd5-d8 # 2...Sc3*d5 3.Se4-d6 # 2...Sc3-b5 3.Qd5-f7 # 3.Qd5-d8 # 2...Ba7*c5 3.Qd5-d8 # 2...Rc7*c5 3.Qd5-d8 # 2...Rc7-c6 3.Qd5-f7 # 3.Qd5-d8 # 3.Qd5-d7 # 2...Rc7-c8 3.Qd5-f7 # 3.Qd5-d7 # 3.Se4-d6 # 2...Rc7*e7 3.Qd5-g8 # 2...Rc7-d7 3.Qd5-f7 # 3.Qd5*d7 # 2...Ke8*e7 3.Se4*c3 # 1...Rh7-f7 2.Se4-d6 + 2...Ke8*f8 3.Re3-e8 # 2...Ke8-d8 3.Re3-e8 # 1...Rh7-g7 2.Se4-d6 + 2...Ke8-d8 3.Re3-e8 # 1...Rh7-h8 2.Se4*c3 + 2...Rc7-e7 3.Qd5-d7 # 3.Re3*e7 # 3.Bb3-a4 # 2.Se4-d6 + 2...Ke8-d8 3.Re3-e8 # 1...Sa8-b6 2.Se4-d6 + 2...Ke8-d8 3.Re3-e8 #" --- authors: - Loyd, Samuel source: Baltimore Dispatch source-id: 19 date: 1858-10 algebraic: white: [Kh5, Qe1, Rd8, Rc6, Bb4, Sg8, Pf3, Pd6, Pb7] black: [Ke5, Qa7, Rd1, Ra1, Bb8, Bb5, Sf7, Sc4, Ph3, Pf4, Pe6, Pe2] stipulation: "#3" solution: | "1.Qe1-g1 ! threat: 2.Qg1-g7 + 2...Ke5-f5 3.Sg8-e7 # 3.Qg7-f6 # 2...Ke5-d5 3.Sg8-e7 # 1...Rd1*g1 2.Bb4-c3 + 2...Ke5-f5 3.Sg8-e7 # 2...Ke5-d5 3.Sg8-e7 # 2...Qa7-d4 3.Rc6-c5 # 1...Ke5-d5 2.Sg8-e7 + 2...Kd5-e5 3.Qg1-g7 # 2.Rc6-c5 + 2...Qa7*c5 3.Qg1*c5 # 1...Qa7*g1 2.Bb4-c3 + 2...Rd1-d4 3.Rc6-c5 # 2...Qg1-d4 3.Rc6-c5 # 2...Ke5-f5 3.Sg8-e7 # 2...Ke5-d5 3.Sg8-e7 # 1...Sf7-g5 2.Bb4-c3 + 2...Rd1-d4 3.Qg1*g5 # 2...Ke5-f5 3.Qg1*g5 # 3.Sg8-e7 # 3.Sg8-h6 # 3.Qg1-g4 # 2...Ke5-d5 3.Sg8-e7 # 2...Qa7-d4 3.Rc6-c5 # 3.Qg1*g5 #" --- authors: - Loyd, Samuel source: Baltimore Dispatch date: 1859 algebraic: white: [Kh8, Qg6, Ra6, Bb3, Ba1, Se5, Sb7, Pf2] black: [Kd4, Rc3, Ra5, Sh2, Ph4, Pf6, Pd7, Pb6, Pb5, Pb4, Pa2] stipulation: "#3" solution: | "1.Kh8-g7 ! threat: 2.Kg7*f6 threat: 3.Qg6-d3 # 2...Sh2-g4 + 3.Qg6*g4 # 1...Kd4*e5 2.Bb3-c2 threat: 3.Qg6-e4 # 2...Ke5-f4 3.Qg6-f5 # 2...f6-f5 3.Qg6-d6 # 2...d7-d5 3.Qg6*f6 # 1...f6-f5 2.Qg6*f5 threat: 3.Qf5-f4 # 1...f6*e5 2.Sb7-c5 threat: 3.Qg6-d6 # 2...Kd4*c5 3.Qg6*b6 # 2...b6*c5 3.Ra6-d6 # 2...d7-d5 3.Sc5-e6 #" --- authors: - Loyd, Samuel source: Baltimore Dispatch source-id: v 91 date: 1860-01-23 algebraic: white: [Ke8, Qb8, Rf3, Rd3, Be7, Be2, Sf7, Sd7, Ph7, Pg7, Pg2, Pc7, Pc6, Pc2, Pb6] black: [Ke4, Re6, Re5, Ba7] stipulation: "#3" solution: | "1.Ke8-f8 ! threat: 2.g2-g3 threat: 3.Rf3-f4 # 2...Re5-f5 3.Rf3-e3 # 2...Re6-f6 3.Sd7*f6 # 1...Re5-d5 2.Rd3-e3 + 2...Ke4-d4 3.c2-c3 # 1...Re5-f5 2.Rf3-e3 + 2...Ke4-f4 3.g2-g3 # 1...Ba7*b6 2.Qb8*b6 threat: 3.Qb6-e3 # 3.Qb6-d4 # 3.Qb6-b4 # 3.Rd3-d4 # 2...Re5-b5 3.Qb6-e3 # 3.Qb6-d4 # 3.Rd3-d4 # 2...Re5-c5 3.Sd7*c5 # 2...Re5-d5 3.Qb6-e3 # 3.Rd3-e3 # 2...Re6*c6 3.Qb6-e3 # 3.Qb6-d4 # 3.Rd3-d4 # 2...Re6-d6 3.Sf7*d6 # 3.Qb6-e3 # 1.Ke8-d8 ! threat: 2.g2-g3 threat: 3.Rf3-f4 # 2...Re5-f5 3.Rf3-e3 # 2...Re6-f6 3.Sd7*f6 # 1...Re5-d5 2.Rd3-e3 + 2...Ke4-d4 3.c2-c3 # 1...Re5-f5 2.Rf3-e3 + 2...Ke4-f4 3.g2-g3 # 1...Ba7*b6 2.Qb8*b6 threat: 3.Qb6-e3 # 3.Qb6-d4 # 3.Qb6-b4 # 3.Rd3-d4 # 2...Re5-b5 3.Qb6-e3 # 3.Qb6-d4 # 3.Rd3-d4 # 2...Re5-c5 3.Sd7*c5 # 2...Re5-d5 3.Qb6-e3 # 3.Rd3-e3 # 2...Re6*c6 3.Qb6-e3 # 3.Qb6-d4 # 3.Rd3-d4 # 2...Re6-d6 3.Sf7*d6 # 3.Qb6-e3 # 1...Ba7*b8 2.c7*b8=Q zugzwang. 2...Re5-a5 3.Rf3-f4 # 3.Qb8-f4 # 2...Re5-b5 3.Qb8-f4 # 3.Rf3-f4 # 2...Re5-c5 3.Rf3-f4 # 3.Qb8-f4 # 3.Sd7*c5 # 2...Re5-d5 3.Qb8-f4 # 3.Rf3-f4 # 2...Re5-h5 3.Rf3-f4 # 3.Qb8-f4 # 2...Re5-g5 3.Qb8-f4 # 3.Sf7*g5 # 3.Rf3-f4 # 2...Re5-f5 3.Rf3-e3 # 2...Re6*c6 3.Qb8*e5 # 2...Re6-d6 3.Sf7*d6 # 2...Re6*e7 3.Sf7-d6 # 3.Sd7-f6 # 2...Re6-h6 3.Qb8*e5 # 2...Re6-g6 3.Qb8*e5 # 2...Re6-f6 3.Qb8*e5 # 3.Sd7*f6 #" keywords: - Scaccografia --- authors: - Loyd, Samuel source: The Era (London) date: 1860 algebraic: white: [Kg8, Qf4, Rg2, Sf7, Sf3] black: [Kg6, Rd2, Ra7, Bc8, Sh2, Sg4, Ph6] stipulation: "#3" solution: | "1.Sf7-e5 + ! 1...Kg6-h5 2.Se5-d7 threat: 3.Qf4-f7 # 3.Qf4-f5 # 2...Rd2*d7 3.Qf4-f5 # 2...Rd2-d6 3.Qf4-f5 # 2...Rd2-d5 3.Qf4-f7 # 2...Sh2*f3 3.Qf4*g4 # 2...Sg4-e3 3.Sd7-f6 # 3.Qf4*h2 # 3.Qf4-f7 # 3.Qf4-h4 # 2...Sg4-f6 + 3.Sd7*f6 # 2...Sg4-e5 3.Sd7-f6 # 3.Qf4*h2 # 3.Qf4*e5 # 3.Qf4-f5 # 3.Qf4-h4 # 2...Kh5-g6 3.Qf4-f7 # 2...Ra7-a5 3.Qf4-f7 # 2...Ra7-a6 3.Qf4-f5 # 2...Ra7*d7 3.Qf4-f5 # 2...Bc8*d7 3.Qf4-f7 #" --- authors: - Loyd, Samuel source: Cleveland Voice source-id: 145 date: 1877-12-23 algebraic: white: [Kh7, Qc6, Bg7, Sd3] black: [Ka1, Rh1, Ra8, Sh8, Sb2, Ph5, Ph2, Pg3, Pa5] stipulation: "#3" solution: | "1.Sd3-b4 ! threat: 2.Qc6*h1 # 1...Ka1-b1 2.Qc6*h1 + 2...Sb2-d1 3.Qh1*d1 # 2.Qc6-g2 threat: 3.Qg2*b2 # 2...Kb1-c1 3.Qg2-c2 # 2...Sb2-d1 3.Qg2-c2 # 2...Sb2-d3 3.Qg2-c2 # 2...Sb2-c4 3.Qg2*h1 # 3.Qg2-c2 # 2...Sb2-a4 3.Qg2*h1 # 3.Qg2-c2 # 2.Qc6-c2 + 2...Kb1-a1 3.Bg7*b2 # 3.Qc2*b2 # 2.Qc6-c3 threat: 3.Qc3*b2 # 2...Sb2-d1 3.Qc3-a1 # 3.Qc3-c2 # 2...Sb2-d3 3.Qc3-a1 # 3.Qc3-c2 # 2...Sb2-c4 3.Qc3-a1 # 3.Qc3-c2 # 2...Sb2-a4 3.Qc3-a1 # 3.Qc3-c2 # 1...Rh1-b1 2.Qc6-a4 # 1...Rh1-c1 2.Qc6*c1 # 1...Rh1-d1 2.Qc6-c2 threat: 3.Bg7*b2 # 3.Qc2*d1 # 3.Qc2*b2 # 2...Rd1-b1 3.Qc2-a4 # 2...Rd1-c1 3.Bg7*b2 # 3.Qc2*c1 # 3.Qc2*b2 # 2...Rd1-d8 3.Bg7*b2 # 3.Qc2-c1 # 3.Qc2*b2 # 2...Rd1-d7 3.Qc2-c1 # 3.Qc2*b2 # 2...Rd1-d6 3.Bg7*b2 # 3.Qc2-c1 # 3.Qc2*b2 # 2...Rd1-d5 3.Bg7*b2 # 3.Qc2-c1 # 3.Qc2*b2 # 2...Rd1-d4 3.Qc2-c1 # 2...Rd1-d3 3.Bg7*b2 # 3.Qc2-c1 # 3.Qc2*b2 # 2...Rd1-d2 3.Bg7*b2 # 3.Qc2-c1 # 2...Rd1-h1 3.Bg7*b2 # 3.Qc2*b2 # 2...Rd1-g1 3.Bg7*b2 # 3.Qc2*b2 # 2...Rd1-f1 3.Bg7*b2 # 3.Qc2*b2 # 2...Rd1-e1 3.Bg7*b2 # 3.Qc2*b2 # 2...h2-h1=Q 3.Bg7*b2 # 3.Qc2*b2 # 2...h2-h1=R 3.Bg7*b2 # 3.Qc2*b2 # 2...a5*b4 3.Qc2*b2 # 2...Ra8-a7 3.Qc2*b2 # 3.Qc2*d1 # 2...Ra8-d8 3.Bg7*b2 # 3.Qc2*b2 # 2...Ra8-c8 3.Bg7*b2 # 3.Qc2*b2 # 2.Qc6-c3 threat: 3.Qc3*b2 # 2...Rd1-b1 3.Qc3-a3 # 2...Rd1-d4 3.Qc3-c1 # 2...Rd1-d2 3.Qc3-c1 # 1...Rh1-e1 2.Qc6-c2 threat: 3.Bg7*b2 # 3.Qc2*b2 # 2...Re1-b1 3.Qc2-a4 # 2...Re1-e7 3.Qc2-d1 # 3.Qc2-c1 # 3.Qc2*b2 # 2...Re1-e5 3.Qc2-c1 # 2...Re1-e2 3.Bg7*b2 # 3.Qc2-d1 # 3.Qc2-c1 # 2...a5*b4 3.Qc2*b2 # 2...Ra8-a7 3.Qc2*b2 # 2.Qc6-c3 threat: 3.Qc3*b2 # 3.Qc3*e1 # 2...Ka1-b1 3.Qc3*b2 # 2...Re1-b1 3.Qc3-a3 # 2...Re1-c1 3.Qc3*b2 # 3.Qc3*c1 # 2...Re1-d1 3.Qc3*b2 # 2...Re1-e8 3.Qc3*b2 # 3.Qc3-c1 # 2...Re1-e7 3.Qc3*b2 # 3.Qc3-c1 # 2...Re1-e6 3.Qc3*b2 # 3.Qc3-c1 # 2...Re1-e5 3.Qc3-c1 # 2...Re1-e4 3.Qc3*b2 # 3.Qc3-c1 # 2...Re1-e3 3.Qc3*b2 # 3.Qc3-c1 # 2...Re1-e2 3.Qc3-c1 # 2...Re1-h1 3.Qc3*b2 # 2...Re1-g1 3.Qc3*b2 # 2...Re1-f1 3.Qc3*b2 # 2...h2-h1=Q 3.Qc3*b2 # 2...h2-h1=R 3.Qc3*b2 # 2...a5*b4 3.Qc3*b2 # 2...Ra8-e8 3.Qc3*b2 # 2...Ra8-d8 3.Qc3*b2 # 2...Ra8-c8 3.Qc3*b2 # 1...Rh1-f1 2.Qc6-c2 threat: 3.Bg7*b2 # 3.Qc2*b2 # 2...Rf1-b1 3.Qc2-a4 # 2...Rf1-f7 3.Qc2-d1 # 3.Qc2-c1 # 3.Qc2*b2 # 2...Rf1-f6 3.Qc2-c1 # 2...Rf1-f2 3.Bg7*b2 # 3.Qc2-d1 # 3.Qc2-c1 # 2...a5*b4 3.Qc2*b2 # 2...Ra8-a7 3.Qc2*b2 # 2.Qc6-c3 threat: 3.Qc3*b2 # 2...Rf1-b1 3.Qc3-a3 # 2...Rf1-f6 3.Qc3-c1 # 2...Rf1-f2 3.Qc3-e1 # 3.Qc3-c1 # 1...Rh1-g1 2.Qc6-c2 threat: 3.Bg7*b2 # 3.Qc2*b2 # 2...Rg1-b1 3.Qc2-a4 # 2...Rg1-g2 3.Bg7*b2 # 3.Qc2-d1 # 3.Qc2-c1 # 2...a5*b4 3.Qc2*b2 # 2...Ra8-a7 3.Qc2*b2 # 2.Qc6-c3 threat: 3.Qc3*b2 # 2...Rg1-b1 3.Qc3-a3 # 2...Rg1-g2 3.Qc3-e1 # 3.Qc3-c1 # 1...g3-g2 2.Qc6-c3 threat: 3.Qc3*b2 # 2...Rh1-b1 3.Qc3-a3 # 2.Qc6-c2 threat: 3.Bg7*b2 # 3.Qc2*b2 # 2...Rh1-b1 3.Qc2-a4 # 2...a5*b4 3.Qc2*b2 # 2...Ra8-a7 3.Qc2*b2 # 1...a5*b4 2.Qc6-g2 threat: 3.Qg2*b2 # 2...Rh1-b1 3.Qg2*a8 # 2...Ra8-a2 3.Qg2*h1 # 1...Ra8-f8 2.Qc6*h1 + 2...Rf8-f1 3.Qh1*f1 # 1...Ra8-e8 2.Qc6*h1 + 2...Re8-e1 3.Qh1*e1 # 1...Ra8-d8 2.Qc6*h1 + 2...Rd8-d1 3.Qh1*d1 # 1...Ra8-c8 2.Qc6*h1 + 2...Rc8-c1 3.Qh1*c1 #" comments: - Dedicated to George E. Carpenter --- authors: - Loyd, Samuel source: Porter's Spirit of the Times source-id: 32 date: 1859-07-09 algebraic: white: [Kb7, Qf1, Re6, Rc4, Sh7, Sh5, Pg7, Pb3] black: [Kd5, Qa1, Re8, Rc2, Bg5, Bg4, Sg8, Sg3, Pg6, Pe7, Pc5, Pc3, Pb5, Pb4] stipulation: "#3" solution: | "1.Rc4*c5 + ! 1...Kd5*e6 2.Qf1-f7 + 2...Ke6-d6 3.Qf7-d5 # 3.Rc5-d5 # 2...Ke6-d7 3.Rc5-d5 # 3.Qf7-d5 # 2...Ke6*f7 3.Sh7*g5 # 1...Kd5*c5 2.Qf1*b5 + 2...Kc5*b5 3.Re6-e5 # 2...Kc5-d4 3.Qb5-c4 # 1...Kd5-d4 2.Qf1-d3 + 2...Kd4*d3 3.Rc5-d5 # 2...Kd4*c5 3.Re6-e5 # 3.Re6-c6 # 1.Qf1-d3 + ! 1...Kd5*e6 2.Sh7*g5 + 2...Ke6-e5 3.Rc4*c5 #" keywords: - Cooked --- authors: - Loyd, Samuel source: La Strategie, Numa Preti Memorial Tourney date: 1910 algebraic: white: [Kh7, Re2, Rd7, Bc7, Ba6, Sb5, Pg4, Pb3, Pa4] black: [Kc5, Rh2, Ba8, Sh1, Sf3, Ph4, Pg7, Pg5, Pc6, Pb4, Pa7, Pa5] stipulation: "#3" solution: | "1.Ba6-b7 ! threat: 2.Bc7-b8 threat: 3.Bb8*a7 # 1...Ba8*b7 2.Sb5-d6 threat: 3.Sd6-e4 # 3.Sd6*b7 # 2...Sh1-g3 3.Sd6*b7 # 2...Sh1-f2 3.Sd6*b7 # 2...Rh2*e2 3.Sd6*b7 # 2...Sf3-d2 3.Sd6*b7 # 2...Kc5-d5 3.Sd6*b7 # 2...Kc5-d4 3.Sd6-e4 # 2...Bb7-a6 3.Sd6-e4 # 2...Bb7-c8 3.Sd6-e4 # 2...Bb7-a8 3.Sd6-e4 #" --- authors: - Loyd, Samuel source: Hartford Times date: 1878 algebraic: white: [Ke7, Qf1, Rc2, Ra1, Bb2, Sa5, Pb6] black: [Kb4, Rh4, Sg1, Sb8] stipulation: "#3" solution: | "1.Bb2-f6 ! threat: 2.Qf1-b1 # 1...Rh4-h3 2.Qf1-c4 # 1...Rh4-c4 2.Qf1*c4 # 1...Rh4-e4 + 2.Ke7-f7 threat: 3.Qf1-b1 # 2...Re4-e1 3.Qf1-c4 # 2...Re4-e3 3.Qf1-c4 # 2...Re4-c4 3.Qf1*c4 # 2...Re4-e7 + 3.Bf6*e7 # 1...Rh4-h7 + 2.Ke7-e6 threat: 3.Qf1-c4 # 3.Qf1-b1 # 2...Sg1-e2 3.Qf1-b1 # 2...Rh7-h3 3.Bf6-e7 # 3.Qf1-c4 # 2...Rh7-h4 3.Bf6-e7 # 3.Qf1-b1 # 2...Rh7-c7 3.Qf1-b1 # 2...Rh7-e7 + 3.Bf6*e7 # 1...Sb8-c6 + 2.Sa5*c6 + 2...Kb4-b3 3.Qf1-b1 # 3.Rc2-b2 # 3.Qf1-d3 #" --- authors: - Loyd, Samuel source: Lynn News source-id: v 71 date: 1859-07-06 algebraic: white: [Kc3, Bf8, Sc4, Sb3, Pf5, Pe7, Pe5, Pe4, Pa6, Pa4] black: [Kc6, Sb7, Pf6, Pd7, Pa5] stipulation: "#3" solution: | "1.a6-a7 ! zugzwang. 1...Kc6-c7 2.e7-e8=S + 2...Kc7-c8 3.a7-a8=Q # 3.a7-a8=R # 2...Kc7-c6 3.Sb3-d4 # 2...Kc7-d8 3.a7-a8=Q # 3.a7-a8=R # 1...f6*e5 2.a7-a8=S zugzwang. 2...Sb7-c5 3.Sb3*a5 # 2...Sb7-d6 3.Sc4*a5 # 2...Sb7-d8 3.e7*d8=S # 2...d7-d5 3.e7-e8=Q # 3.e7-e8=B # 2...d7-d6 3.e7-e8=Q # 3.e7-e8=B # 1...Sb7-c5 2.a7-a8=Q + 2...Kc6-c7 3.e7-e8=S # 2...Sc5-b7 3.Qa8-c8 # 1...Sb7-d6 2.a7-a8=Q + 2...Kc6-c7 3.e5*d6 # 2...Sd6-b7 3.Qa8-c8 # 1...Sb7-d8 2.a7-a8=Q + 2...Kc6-c7 3.e7-e8=S # 3.e7*d8=Q # 3.e7*d8=B # 2...Sd8-b7 3.Qa8-c8 # 2.e7*d8=Q threat: 3.Qd8-b6 # 3.Qd8-c8 # 3.a7-a8=Q # 3.a7-a8=B # 3.Sc4*a5 # 3.Sb3*a5 # 2...Kc6-b7 3.a7-a8=Q # 2...d7-d5 3.Qd8-c8 # 3.a7-a8=Q # 3.a7-a8=B # 3.Sc4*a5 # 3.Sb3*a5 # 2...d7-d6 3.Qd8-c8 # 3.a7-a8=Q # 3.a7-a8=B # 3.Sc4*a5 # 1...d7-d5 2.e7-e8=Q + 2...Kc6-c7 3.a7-a8=S # 1...d7-d6 2.e7-e8=Q + 2...Kc6-c7 3.a7-a8=S #" --- authors: - Loyd, Samuel source: Cincinnati Daily Gazette source-id: v12 date: 1859-11-24 algebraic: white: [Kd6, Qg1, Re3, Sd5, Sc4, Pc7, Pb3, Pa5] black: [Kd4, Rf4, Rd2, Bh5, Ba1, Sh2, Pf7, Pf6, Pc5, Pc3, Pb6] stipulation: "#3" solution: | "1.Qg1-f2 ! threat: 2.Qf2*f4 # 1...Rd2*f2 2.Sc4-a3 threat: 3.Sa3-b5 # 2...Bh5-e2 3.Sa3-c2 # 1...Sh2-f3 2.Sc4-a3 threat: 3.Sa3-b5 # 2.Sd5-e7 threat: 3.Se7-c6 # 2...Sf3-e5 3.Qf2*f4 # 1...Rf4*f2 2.Sd5-e7 threat: 3.Se7-c6 # 2...Bh5-f3 3.Se7-f5 # 1...Rf4-f3 2.Sd5-e7 threat: 3.Se7-c6 # 2...Rf3*e3 3.Qf2*e3 # 2.Sc4-a3 threat: 3.Sa3-b5 # 2...Rf3*e3 3.Qf2*e3 # 1...Rf4-e4 2.Qf2*f6 + 2...Re4-e5 3.Qf6*e5 # 1...Rf4-f5 2.Qf2*f5 threat: 3.Qf5-e4 # 3.Qf5-f4 # 3.Qf5*f6 # 2...Rd2-f2 3.Qf5-d3 # 3.Qf5-e4 # 3.Re3-d3 # 2...Sh2-g4 3.Qf5-e4 # 3.Qf5-f4 # 2...Sh2-f3 3.Qf5-e4 # 3.Qf5-f4 # 2...Bh5-f3 3.Qf5*f6 # 2...Bh5-g6 3.Qf5*f6 # 1...Rf4-h4 2.Qf2*f6 # 1...Rf4-g4 2.Qf2*f6 # 1...Bh5-f3 2.Sc4-a3 threat: 3.Sa3-b5 # 2...Bf3-e2 3.Qf2*f4 # 1...Bh5-g6 2.Qf2*f4 + 2...Bg6-e4 3.Qf4*e4 # 3.Qf4*f6 #" --- authors: - Loyd, Samuel source: L'Illustration date: 1867 algebraic: white: [Ke6, Qe2, Se7, Pg5, Pc5] black: [Ke4, Be3, Pf5, Pe5, Pd5] stipulation: "#3" intended-solutions: 2 solution: | "1.g5-g6 ! zugzwang. 1...d5-d4 2.Se7-d5 zugzwang. 2...d4-d3 3.Qe2*e3 # 2...f5-f4 3.Sd5-f6 # 1...Ke4-f4 2.Qe2-g2 threat: 3.Se7*d5 # 1...Ke4-d4 2.Qe2-c2 threat: 3.Se7-c6 # 3.Se7*f5 # 2...Be3-c1 3.Se7*f5 # 2...Be3-d2 3.Se7*f5 # 2...Be3-g1 3.Se7*f5 # 2...Be3-f2 3.Se7*f5 # 2...Be3-h6 3.Se7*f5 # 2...Be3-g5 3.Se7*f5 # 2...Be3-f4 3.Se7*f5 # 1...f5-f4 2.Se7-f5 zugzwang. 2...f4-f3 3.Qe2*e3 # 2...d5-d4 3.Sf5-d6 # 1.c5-c6 ! zugzwang. 1...d5-d4 2.Se7-d5 zugzwang. 2...d4-d3 3.Qe2*e3 # 2...f5-f4 3.Sd5-f6 # 1...Ke4-f4 2.Qe2-g2 threat: 3.Se7*d5 # 3.Se7-g6 # 2...Be3-c1 3.Se7*d5 # 2...Be3-d2 3.Se7*d5 # 2...Be3-g1 3.Se7*d5 # 2...Be3-f2 3.Se7*d5 # 2...Be3-a7 3.Se7*d5 # 2...Be3-b6 3.Se7*d5 # 2...Be3-c5 3.Se7*d5 # 2...Be3-d4 3.Se7*d5 # 1...Ke4-d4 2.Qe2-c2 threat: 3.Se7*f5 # 1...f5-f4 2.Se7-f5 zugzwang. 2...f4-f3 3.Qe2*e3 # 2...d5-d4 3.Sf5-d6 #" keywords: - Letters - Scaccografia comments: - Faith --- authors: - Loyd, Samuel source: L'Illustration date: 1867 algebraic: white: [Kh6, Qe2, Re6, Ph3, Pf6, Pd6, Pb6, Pb3] black: [Ke4, Rf5, Rd5, Be7, Se1, Pg6, Pg2, Pf2, Pe5, Pe3, Pd2, Pc6, Pc2] stipulation: "#3" solution: | "1.Re6*e5 + ! 1...Ke4-f4 2.Qe2*e3 # 1...Ke4*e5 2.Qe2*e3 + 2...Ke5*d6 3.Qe3*e7 # 2...Ke5*f6 3.Qe3*e7 # 1...Ke4-d4 2.Qe2*e3 # 1...Rd5*e5 2.Qe2-c4 + 2...Ke4-f3 3.Qc4-g4 # 1...Rf5*e5 2.Qe2-g4 + 2...Ke4-d3 3.Qg4-c4 #" keywords: - Scaccografia comments: - Hope --- authors: - Loyd, Samuel source: Cincinnati Dispatch source-id: 34 date: 1859-02-06 algebraic: white: [Kf2, Qa2, Bd5, Ba5, Sb6] black: [Kd4, Rh6, Bc8, Sg7, Sg3, Pg5, Pe6, Pb4] stipulation: "#3" solution: | "1.Qa2-a1 + ! 1...Kd4-d3 2.Qa1-d1 + 2...Kd3-c3 3.Sb6-a4 # 1...Kd4-c5 2.Qa1-e5 threat: 3.Bd5-h1 # 3.Bd5-g2 # 3.Bd5-f3 # 3.Bd5-e4 # 3.Bd5-a8 # 3.Bd5-b7 # 2...Sg3-h1 + 3.Bd5*h1 # 2...Sg3-e4 + 3.Bd5*e4 # 2...Kc5-b5 3.Bd5-b7 # 2...e6*d5 3.Qe5*d5 # 2...Rh6-h2 + 3.Bd5-g2 # 2...Rh6-f6 + 3.Bd5-f3 # 2...Bc8-b7 3.Bd5*b7 #" --- authors: - Loyd, Samuel source: Le Monde Illustré date: 1867 algebraic: white: [Kh7, Qh4, Rb5, Bf5, Sd3] black: [Kd5, Rb1, Ra2, Sh2, Pg4, Pf7, Pf4, Pc5, Pc3, Pa5] stipulation: "#3" solution: | "1.Sd3-b2 ! threat: 2.Qh4-d8 + 2...Kd5-e5 3.Rb5*c5 # 2...Kd5-c6 3.Qd8-d7 # 3.Rb5-b6 # 2.Qh4-e7 threat: 3.Qe7*c5 # 1...Rb1*b2 2.Qh4-d8 + 2...Kd5-e5 3.Rb5*c5 # 2...Kd5-c6 3.Qd8-d7 # 2...Kd5-c4 3.Qd8-d3 # 3.Bf5-d3 # 1...Rb1-h1 2.Qh4-d8 + 2...Kd5-e5 3.Rb5*c5 # 2...Kd5-c6 3.Qd8-d7 # 3.Rb5-b6 # 1...Rb1-e1 2.Qh4-d8 + 2...Kd5-e5 3.Rb5*c5 # 2...Kd5-c6 3.Qd8-d7 # 3.Rb5-b6 # 1...Rb1-d1 2.Qh4-e7 threat: 3.Qe7*c5 # 1...Rb1-c1 2.Qh4-d8 + 2...Kd5-e5 3.Rb5*c5 # 2...Kd5-c6 3.Qd8-d7 # 3.Rb5-b6 # 1...Ra2-a4 2.Qh4-d8 + 2...Kd5-e5 3.Rb5*c5 # 2...Kd5-c6 3.Qd8-d7 # 3.Rb5-b6 # 1...Ra2*b2 2.Qh4-d8 + 2...Kd5-e5 3.Rb5*c5 # 2...Kd5-c6 3.Qd8-d7 # 2...Kd5-c4 3.Qd8-d3 # 3.Bf5-d3 # 1...Sh2-f3 2.Qh4-d8 + 2...Kd5-e5 3.Rb5*c5 # 2...Kd5-c6 3.Qd8-d7 # 3.Rb5-b6 # 1...c3-c2 2.Qh4-d8 + 2...Kd5-e5 3.Rb5*c5 # 2...Kd5-c6 3.Qd8-d7 # 3.Rb5-b6 # 1...c3*b2 2.Qh4-d8 + 2...Kd5-e5 3.Rb5*c5 # 2...Kd5-c6 3.Qd8-d7 # 3.Rb5-b6 # 2...Kd5-c4 3.Qd8-d3 # 1...f4-f3 2.Qh4-e7 threat: 3.Qe7*c5 # 1...Kd5-e5 2.Qh4-e7 + 2...Ke5*f5 3.Rb5*c5 # 2...Ke5-d5 3.Qe7*c5 # 2...Ke5-d4 3.Qe7*c5 # 3.Qe7-e4 # 1...Kd5-d6 2.Qh4-d8 + 2...Kd6-c6 3.Qd8-d7 # 3.Rb5-b6 # 2...Kd6-e5 3.Rb5*c5 # 1...Kd5-d4 2.Qh4-e7 threat: 3.Qe7*c5 # 3.Qe7-e4 # 2...Rb1-e1 3.Qe7*c5 # 2...c3-c2 3.Qe7*c5 # 2...c3*b2 3.Qe7*c5 # 2...Kd4-d5 3.Qe7*c5 # 1...Kd5-c6 2.Qh4-e7 threat: 3.Qe7*c5 # 3.Qe7-d7 # 2...Rb1-d1 3.Qe7*c5 # 2...Kc6-d5 3.Qe7*c5 # 2...Kc6*b5 3.Qe7-b7 # 1...f7-f6 2.Qh4-f2 threat: 3.Qf2*c5 #" --- authors: - Loyd, Samuel source: Baltimore Herald date: 1878 algebraic: white: [Kh7, Rf6, Bb4, Sc6, Sa6, Pg6] black: [Kc8, Pf7, Pb6, Pb5] stipulation: "#3" solution: | "1.Bb4-f8 ! threat: 2.Rf6*f7 threat: 3.Rf7-c7 #" --- authors: - Loyd, Samuel source: Danbury News date: 1878 algebraic: white: [Kh8, Rf3, Rb7, Bh1, Bf8, Pa6] black: [Ka8, Ba3, Sh7, Sh6, Pg5, Pb6, Pb5] stipulation: "#3" solution: | "1.a6-a7 ! threat: 2.Rb7*h7 threat: 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Ba3-b2 + 3.Rf3-c3 # 3.Rf3-f6 # 2...Ba3-e7 3.Rf3-a3 # 2...Sh6-f5 3.Rf3*a3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6-f7 + 3.Rf3*f7 # 2.Rb7-g7 threat: 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 2...Ba3-e7 3.Rf3-a3 # 2...Sh6-f5 3.Rf3*a3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6-f7 + 3.Rf3*f7 # 2...Sh7-f6 3.Rf3*f6 # 2.Rb7-f7 threat: 3.Rf3-h3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-g3 # 2...Ba3-b2 + 3.Rf3-f6 # 3.Rf3-c3 # 2...Ba3-e7 3.Rf3-a3 # 2...Sh6-f5 3.Rf3*a3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6*f7 + 3.Rf3*f7 # 2...Sh7-f6 3.Rf3*f6 # 2.Rb7-e7 threat: 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 2...Ba3-b2 + 3.Rf3-f6 # 3.Rf3-c3 # 2...Ba3*e7 3.Rf3-a3 # 2...Sh6-f5 3.Rf3*a3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6-f7 + 3.Rf3*f7 # 2...Sh7-f6 3.Rf3*f6 # 2.Rb7-d7 threat: 3.Rf3-h3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-g3 # 2...Ba3-b2 + 3.Rf3-f6 # 3.Rf3-c3 # 2...Sh6-f5 3.Rf3-c3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*a3 # 3.Rf3-b3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6-f7 + 3.Rf3*f7 # 2...Sh7-f6 3.Rf3*f6 # 2.Rb7-c7 threat: 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 2...Ba3-b2 + 3.Rf3-f6 # 3.Rf3-c3 # 2...Sh6-f5 3.Rf3-c3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*a3 # 3.Rf3-b3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6-f7 + 3.Rf3*f7 # 2...Sh7-f6 3.Rf3*f6 # 2.Rf3*a3 threat: 3.Rb7*b6 # 3.Rb7-b8 # 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Sh6-f7 + 3.Rb7*f7 # 2...Sh7-f6 3.Rb7-b8 # 2.Rf3-c3 threat: 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 3.Rc3-c8 # 2...Ba3-b2 3.Rb7-f7 # 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Ba3-e7 3.Rb7-c7 # 3.Rb7*e7 # 3.Rb7-d7 # 3.Rc3-c8 # 2...Ba3-d6 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Ba3-c5 3.Rb7-c7 # 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 2...Sh6-f7 + 3.Rb7*f7 # 2...Sh7-f6 3.Rc3-c8 # 2.Rf3-d3 threat: 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 3.Rd3-d8 # 2...Ba3-b2 + 3.Rb7-g7 # 2...Ba3-e7 3.Rb7*e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Ba3-d6 3.Rb7-c7 # 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 2...Sh6-f7 + 3.Rb7*f7 # 2...Sh7-f6 3.Rd3-d8 # 1...Ba3-b2 + 2.Rf3-c3 threat: 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Bb2*c3 + 3.Rb7-g7 # 2...Sh6-f7 + 3.Rb7*f7 # 2...Sh7-f6 3.Rc3-c8 # 1...Ba3*f8 2.Rf3-a3 threat: 3.Rb7*b6 # 3.Rb7-b8 # 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Sh6-f7 + 3.Rb7*f7 # 2...Sh7-f6 3.Rb7-b8 # 2...Bf8*a3 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Bf8-e7 3.Rb7-c7 # 3.Rb7*b6 # 3.Rb7-b8 # 3.Rb7*e7 # 3.Rb7-d7 # 2...Bf8-g7 + 3.Rb7*g7 # 2.Rf3-c3 threat: 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 3.Rc3-c8 # 2...Sh6-f7 + 3.Rb7*f7 # 2...Sh7-f6 3.Rc3-c8 # 2...Bf8-c5 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Bf8-d6 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Bf8-e7 3.Rb7-c7 # 3.Rb7*e7 # 3.Rb7-d7 # 3.Rc3-c8 # 2...Bf8-g7 + 3.Rb7*g7 # 2.Rf3-d3 threat: 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 3.Rd3-d8 # 2...Sh6-f7 + 3.Rb7*f7 # 2...Sh7-f6 3.Rd3-d8 # 2...Bf8-d6 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Bf8-e7 3.Rb7*e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Bf8-g7 + 3.Rb7*g7 # 2.Rf3*f8 + 2...Sh7*f8 3.Rb7-f7 # 3.Rb7-h7 # 3.Rb7-g7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 1...Ba3-e7 2.Rb7*e7 threat: 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6-f5 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6-f7 + 3.Rf3*f7 # 2...Sh7-f6 3.Rf3*f6 # 2.Rb7-d7 threat: 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 2...Sh6-f5 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6-f7 + 3.Rf3*f7 # 2...Be7-f6 + 3.Rf3*f6 # 2...Sh7-f6 3.Rf3*f6 # 2.Rb7-c7 threat: 3.Rf3-h3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-g3 # 2...Sh6-f5 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6-f7 + 3.Rf3*f7 # 2...Be7-f6 + 3.Rf3*f6 # 2...Sh7-f6 3.Rf3*f6 # 1...Ba3-d6 2.Rb7*h7 threat: 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Bd6-g3 3.Rf3-a3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3*g3 # 2...Bd6-f4 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f4 # 3.Rf3-h3 # 2...Bd6-e5 + 3.Rf3-f6 # 2...Bd6-e7 3.Rf3-a3 # 2...Bd6-c7 3.Rf3-a3 # 2...Sh6-f5 3.Rf3-a3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6-f7 + 3.Rf3*f7 # 2.Rb7-g7 threat: 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 2...Bd6-g3 3.Rf3-f7 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3*g3 # 2...Bd6-f4 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f4 # 3.Rf3-h3 # 2...Bd6-e7 3.Rf3-a3 # 2...Bd6-c7 3.Rf3-a3 # 2...Sh6-f5 3.Rf3-a3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6-f7 + 3.Rf3*f7 # 2...Sh7-f6 3.Rf3*f6 # 2.Rb7-f7 threat: 3.Rf3-h3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-g3 # 2...Bd6-g3 3.Rf3-f6 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3*g3 # 2...Bd6-f4 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f4 # 3.Rf3-h3 # 2...Bd6-e5 + 3.Rf3-f6 # 2...Bd6-e7 3.Rf3-a3 # 2...Bd6-c7 3.Rf3-a3 # 2...Sh6-f5 3.Rf3-a3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6*f7 + 3.Rf3*f7 # 2...Sh7-f6 3.Rf3*f6 # 2.Rb7-e7 threat: 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 2...Bd6-g3 3.Rf3-f6 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3*g3 # 2...Bd6-f4 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f4 # 3.Rf3-h3 # 2...Bd6-e5 + 3.Rf3-f6 # 2...Bd6*e7 3.Rf3-a3 # 2...Bd6-c7 3.Rf3-a3 # 2...Sh6-f5 3.Rf3-a3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6-f7 + 3.Rf3*f7 # 2...Sh7-f6 3.Rf3*f6 # 2.Rb7-d7 threat: 3.Rf3-h3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-g3 # 2...Bd6-g3 3.Rf3-f6 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3*g3 # 2...Bd6-f4 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f4 # 3.Rf3-h3 # 2...Bd6-e5 + 3.Rf3-f6 # 2...Bd6-c7 3.Rf3-a3 # 2...Sh6-f5 3.Rf3-a3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6-f7 + 3.Rf3*f7 # 2...Sh7-f6 3.Rf3*f6 # 2.Rb7-c7 threat: 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 2...Bd6-g3 3.Rf3-f6 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3*g3 # 2...Bd6-f4 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f4 # 3.Rf3-h3 # 2...Bd6-e5 + 3.Rf3-f6 # 2...Bd6*c7 3.Rf3-a3 # 2...Sh6-f5 3.Rf3-a3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6-f7 + 3.Rf3*f7 # 2...Sh7-f6 3.Rf3*f6 # 2.Rf3-a3 threat: 3.Rb7*b6 # 3.Rb7-b8 # 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Bd6*a3 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Bd6-e5 + 3.Rb7-g7 # 2...Bd6-e7 3.Rb7*b6 # 3.Rb7-b8 # 3.Rb7*e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Bd6-c7 3.Rb7*c7 # 3.Rb7*b6 # 3.Rb7-b8 # 2...Sh6-f7 + 3.Rb7*f7 # 2...Sh7-f6 3.Rb7-b8 # 1...Ba3-c5 2.Rb7*h7 threat: 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Bc5-f2 3.Rf3-f7 # 3.Rf3*f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Bc5-e3 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 2...Bc5-d4 + 3.Rf3-f6 # 2...Bc5-e7 3.Rf3-a3 # 2...Sh6-f5 3.Rf3-a3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6-f7 + 3.Rf3*f7 # 2.Rb7-g7 threat: 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 2...Bc5-f2 3.Rf3-f7 # 3.Rf3*f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Bc5-e3 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 2...Bc5-e7 3.Rf3-a3 # 2...Sh6-f5 3.Rf3-a3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6-f7 + 3.Rf3*f7 # 2...Sh7-f6 3.Rf3*f6 # 2.Rb7-f7 threat: 3.Rf3-h3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-g3 # 2...Bc5-f2 3.Rf3-f6 # 3.Rf3*f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Bc5-e3 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*e3 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 2...Bc5-d4 + 3.Rf3-f6 # 2...Bc5-e7 3.Rf3-a3 # 2...Sh6-f5 3.Rf3-a3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6*f7 + 3.Rf3*f7 # 2...Sh7-f6 3.Rf3*f6 # 2.Rb7-e7 threat: 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 2...Bc5-f2 3.Rf3-f6 # 3.Rf3*f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Bc5-e3 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 2...Bc5-d4 + 3.Rf3-f6 # 2...Bc5*e7 3.Rf3-a3 # 2...Sh6-f5 3.Rf3-a3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6-f7 + 3.Rf3*f7 # 2...Sh7-f6 3.Rf3*f6 # 2.Rb7-d7 threat: 3.Rf3-h3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-g3 # 2...Bc5-f2 3.Rf3-f6 # 3.Rf3*f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Bc5-e3 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 2...Bc5-d4 + 3.Rf3-f6 # 2...Sh6-f5 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6-f7 + 3.Rf3*f7 # 2...Sh7-f6 3.Rf3*f6 # 2.Rb7-c7 threat: 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 2...Bc5-f2 3.Rf3-f6 # 3.Rf3*f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Bc5-e3 3.Rf3-g3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 2...Bc5-d4 + 3.Rf3-f6 # 2...Sh6-f5 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6-f7 + 3.Rf3*f7 # 2...Sh7-f6 3.Rf3*f6 # 2.Rf3-a3 threat: 3.Rb7*b6 # 3.Rb7-b8 # 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Bc5*a3 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Bc5-d4 + 3.Rb7-g7 # 2...Bc5-e7 3.Rb7*b6 # 3.Rb7-b8 # 3.Rb7*e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Sh6-f7 + 3.Rb7*f7 # 2...Sh7-f6 3.Rb7-b8 # 2.Rf3-d3 threat: 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 3.Rd3-d8 # 2...Bc5-d4 + 3.Rb7-g7 # 2...Bc5-e7 3.Rb7*e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Bc5-d6 3.Rb7-c7 # 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 2...Sh6-f7 + 3.Rb7*f7 # 2...Sh7-f6 3.Rd3-d8 # 1...g5-g4 2.Rb7*h7 threat: 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f7 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Ba3-b2 + 3.Rf3-c3 # 3.Rf3-f6 # 2...Ba3-e7 3.Rf3-a3 # 2...g4-g3 3.Rf3*g3 # 2...g4*f3 3.Bh1*f3 # 2...Sh6-f5 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3*f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sh6-f7 + 3.Rf3*f7 # 2.Rf3*a3 threat: 3.Rb7*b6 # 3.Rb7-b8 # 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...g4-g3 3.Rb7-b8 # 2...Sh6-f7 + 3.Rb7*f7 # 2...Sh7-f6 3.Rb7-b8 # 2...Sh7-g5 3.Rb7-b8 # 2.Rf3-c3 threat: 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 3.Rc3-c8 # 2...Ba3-b2 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Ba3-e7 3.Rb7-c7 # 3.Rb7*e7 # 3.Rb7-d7 # 3.Rc3-c8 # 2...Ba3-d6 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Ba3-c5 3.Rb7-c7 # 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 2...g4-g3 3.Rc3-c8 # 2...Sh6-f7 + 3.Rb7*f7 # 2...Sh7-f6 3.Rc3-c8 # 2...Sh7-g5 3.Rc3-c8 # 2.Rf3-d3 threat: 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 3.Rd3-d8 # 2...Ba3-b2 + 3.Rb7-g7 # 2...Ba3-e7 3.Rb7*e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Ba3-d6 3.Rb7-c7 # 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 2...g4-g3 3.Rd3-d8 # 2...Sh6-f7 + 3.Rb7*f7 # 2...Sh7-f6 3.Rd3-d8 # 2...Sh7-g5 3.Rd3-d8 # 1...Sh6-f5 2.Rf3*a3 threat: 3.Rb7*b6 # 3.Rb7-b8 # 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Sf5-d4 3.Rb7-b8 # 2...Sf5-e3 3.Rb7-b8 # 2...Sf5-g3 3.Rb7-b8 # 2...Sf5-h4 3.Rb7-b8 # 2...Sf5-g7 3.Rb7-b8 # 3.Rb7*b6 # 3.Rb7*g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Sf5-e7 3.Rb7-b8 # 3.Rb7*e7 # 2...Sf5-d6 3.Rb7-b8 # 2...Sh7-f6 3.Rb7-b8 # 1...Sh6-g4 2.Rf3*a3 threat: 3.Rb7*b6 # 3.Rb7-b8 # 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Sg4-e3 3.Rb7-b8 # 2...Sg4-f2 3.Rb7-b8 # 2...Sg4-h2 3.Rb7-b8 # 2...Sg4-f6 3.Rb7-b8 # 2...Sg4-e5 3.Rb7-b8 # 2...Sh7-f6 3.Rb7-b8 # 2.Rf3-c3 threat: 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 3.Rc3-c8 # 2...Ba3-b2 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Ba3-e7 3.Rb7-c7 # 3.Rb7*e7 # 3.Rb7-d7 # 3.Rc3-c8 # 2...Ba3-d6 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Ba3-c5 3.Rb7-c7 # 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 2...Sg4-e3 3.Rc3-c8 # 2...Sg4-f2 3.Rc3-c8 # 2...Sg4-h2 3.Rc3-c8 # 2...Sg4-f6 3.Rc3-c8 # 2...Sg4-e5 3.Rc3-c8 # 2...Sh7-f6 3.Rc3-c8 # 2.Rf3-d3 threat: 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 3.Rd3-d8 # 2...Ba3-b2 + 3.Rb7-g7 # 2...Ba3-e7 3.Rb7*e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Ba3-d6 3.Rb7-c7 # 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 2...Sg4-e3 3.Rd3-d8 # 2...Sg4-f2 3.Rd3-d8 # 2...Sg4-h2 3.Rd3-d8 # 2...Sg4-f6 3.Rd3-d8 # 2...Sg4-e5 3.Rd3-d8 # 2...Sh7-f6 3.Rd3-d8 # 1...Sh6-g8 2.Rf3*a3 threat: 3.Rb7*b6 # 3.Rb7-b8 # 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Sh7-f6 3.Rb7-b8 # 2...Sg8-e7 3.Rb7-b8 # 3.Rb7*e7 # 2...Sg8-f6 3.Rb7-b8 # 2.Rf3-c3 threat: 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 3.Rc3-c8 # 2...Ba3-b2 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Ba3-e7 3.Rb7-c7 # 3.Rb7*e7 # 3.Rb7-d7 # 3.Rc3-c8 # 2...Ba3-d6 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Ba3-c5 3.Rb7-c7 # 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 2...Sh7-f6 3.Rc3-c8 # 2...Sg8-e7 3.Rb7*e7 # 2...Sg8-f6 3.Rc3-c8 # 2.Rf3-d3 threat: 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 3.Rd3-d8 # 2...Ba3-b2 + 3.Rb7-g7 # 2...Ba3-e7 3.Rb7*e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Ba3-d6 3.Rb7-c7 # 3.Rb7*h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 2...Sh7-f6 3.Rd3-d8 # 2...Sg8-e7 3.Rb7*e7 # 2...Sg8-f6 3.Rd3-d8 # 1...Sh6-f7 + 2.Rb7*f7 threat: 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f6 # 3.Rf3-f5 # 3.Rf3-f4 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Ba3-b2 + 3.Rf3-c3 # 3.Rf3-f6 # 2...Ba3-e7 3.Rf3-a3 # 2...Sh7-f6 3.Rf3*f6 # 1...Sh7-f6 2.Rf3*f6 threat: 3.Rb7-h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Ba3-e7 3.Rb7*e7 # 3.Rb7-d7 # 3.Rb7-c7 # 2...Sh6-f7 + 3.Rb7*f7 # 1...Sh7*f8 2.Rf3*f8 + 2...Ba3*f8 3.Rb7-h7 # 3.Rb7-g7 # 3.Rb7-f7 # 3.Rb7-e7 # 3.Rb7-d7 # 3.Rb7-c7 # 1...Ka8*b7 2.Rf3-f7 + 2...Kb7-c8 3.a7-a8=Q # 3.a7-a8=R # 2...Kb7-a6 3.a7-a8=Q # 3.a7-a8=R #" --- authors: - Loyd, Samuel source: The Albion (New York) source-id: v 380 date: 1856-04-12 algebraic: white: [Kb2, Qh5, Bg7, Bb5, Sf8, Se6, Pf2, Pc3, Pc2] black: [Kd5, Qg5, Rf6, Rd6, Bb8, Pf4, Pe7, Pb6, Pa7] stipulation: "#4" solution: | "1.Bb5-c4 + ! 1...Kd5-e5 2.Sf8-g6 + 2...Ke5-f5 3.Sg6-h4 + 3...Kf5-e5 4.Qh5-e2 # 3...Kf5-e4 4.Qh5-e2 # 3.Sg6*e7 + 3...Kf5-e5 4.Qh5-e2 # 3...Kf5-e4 4.Qh5-e2 # 2...Ke5-e4 3.Qh5-e2 + 3...Ke4-f5 4.Sg6*e7 # 1...Kd5-c6 2.Qh5-e8 + 2...Kc6-b7 3.Qe8-c8 + 3...Kb7-a8 4.Se6-c7 # 3...Kb7*c8 4.Bc4-a6 # 2...Rd6-d7 3.Qe8*d7 # 1...Kd5-e4 2.Se6*g5 + 2...Ke4-e5 3.Qh5-g6 threat: 4.Qg6-e4 # 4.Sg5-f3 # 4.Sg5-f7 # 3...f4-f3 4.Qg6-e4 # 3...Rd6-d1 4.Sg5-f7 # 3...Rd6-d2 4.Sg5-f7 # 3...Rd6-d3 4.Sg5-f7 # 3...Rd6-d4 4.Sg5-f7 # 3...Rd6-d5 4.Sg5-f7 # 3...Rd6-c6 4.Sg5-f7 # 3...Rd6-d8 4.Sg5-f7 # 3...Rd6-d7 4.Sg5-f7 # 3...Rd6-e6 4.Sg5-f7 # 3.Qh5-h7 threat: 4.Qh7-e4 # 4.Sg5-f3 # 4.Sg5-f7 # 3...f4-f3 4.Qh7-e4 # 3...Rd6-d1 4.Sg5-f7 # 3...Rd6-d2 4.Sg5-f7 # 3...Rd6-d3 4.Sg5-f7 # 3...Rd6-d4 4.Sg5-f7 # 3...Rd6-d5 4.Sg5-f7 # 3...Rd6-c6 4.Sg5-f7 # 3...Rd6-d8 4.Sg5-f7 # 3...Rd6-d7 4.Sg5-f7 # 3...Rd6-e6 4.Sg5-f7 # 3.f2-f3 threat: 4.Sg5-e4 # 4.Sg5-h3 # 4.Sg5-h7 # 4.Sg5-f7 # 4.Sg5-e6 # 3...Rd6-d1 4.Sg5-e4 # 4.Sg5-f7 # 3...Rd6-d2 4.Sg5-e4 # 4.Sg5-f7 # 3...Rd6-d3 4.Sg5-e4 # 4.Sg5-f7 # 3...Rd6-d4 4.Sg5-e4 # 4.Sg5-f7 # 3...Rd6-d5 4.Sg5-e4 # 4.Sg5-f7 # 3...Rd6-c6 4.Sg5-e4 # 4.Sg5-f7 # 3...Rd6-d8 4.Sg5-e4 # 4.Sg5-f7 # 3...Rd6-d7 4.Sg5-e4 # 4.Sg5-f7 # 3...Rd6-e6 4.Sg5-e4 # 4.Sg5-f7 # 2...Ke4-f5 3.f2-f3 threat: 4.Sg5-e4 # 4.Sg5-h3 # 4.Sg5-h7 # 4.Sg5-f7 # 4.Sg5-e6 # 3...Rf6-h6 4.Qh5-g4 # 3...Rf6-g6 4.Qh5-g4 # 1...Kd5*c4 2.Qh5-e2 + 2...Kc4-d5 3.Qe2-b5 + 3...Kd5-e4 4.Se6*g5 # 2...Rd6-d3 3.Qe2*d3 #" --- authors: - Loyd, Samuel source: Philadelphia Evening Bulletin date: 1859 algebraic: white: [Kb4, Qb6, Ph6, Pg3, Pf5, Pf2, Pe4, Pd5, Pc6, Pa5] black: [Ke5, Bb8, Pf6, Pb5, Pa7] stipulation: "#5" solution: | "1.Qb6-e3 ! threat: 2.f2-f4 + 2...Ke5-d6 3.Qe3-c5 + 3...Kd6-c7 4.Qc5-e7 + 4...Kc7-c8 5.Qe7-d7 # 1...Ke5-d6 2.e4-e5 + 2...Kd6*d5 3.c6-c7 zugzwang. 3...Kd5-c6 4.c7-c8=Q + 4...Kc6-d5 5.Qc8-b7 # 5.Qc8-e6 # 5.Qc8-c5 # 4...Bb8-c7 5.Qe3-c5 # 5.Qe3-e4 # 5.Qe3-f3 # 3...f6*e5 4.c7*b8=S threat: 5.Qe3-d3 # 4...Kd5-d6 5.Qe3-c5 # 4...e5-e4 5.Qe3-c5 # 3...a7-a6 4.c7*b8=S zugzwang. 4...f6*e5 5.Qe3-d3 # 3...Bb8*c7 4.Qe3-d3 + 4...Kd5*e5 5.f2-f4 # 4...Kd5-c6 5.Qd3*b5 # 2...Kd6-c7 3.e5*f6 threat: 4.Qe3-e7 + 4...Kc7-c8 5.Qe7-d7 # 4.Qe3-e6 threat: 5.Qe6-d7 # 3...a7-a6 4.Qe3-e7 + 4...Kc7-c8 5.Qe7-d7 # 3...Kc7-c8 4.Qe3-e8 + 4...Kc8-c7 5.Qe8-d7 # 4.Qe3-e6 + 4...Kc8-d8 5.Qe6-d7 # 4...Kc8-c7 5.Qe6-d7 # 3...Kc7-d8 4.Qe3-e7 + 4...Kd8-c8 5.Qe7-d7 # 3...Kc7-d6 4.Qe3-e6 + 4...Kd6-c7 5.Qe6-d7 # 2...Kd6-e7 3.e5*f6 + 3...Ke7-f7 4.Qe3-e7 + 4...Kf7-g8 5.Qe7-g7 # 3...Ke7-d8 4.Qe3-e7 + 4...Kd8-c8 5.Qe7-d7 # 3...Ke7-f8 4.Qe3-e7 + 4...Kf8-g8 5.Qe7-g7 # 3...Ke7*f6 4.Qe3-e6 + 4...Kf6-g5 5.Qe6-g6 # 3...Ke7-d6 4.Qe3-e6 + 4...Kd6-c7 5.Qe6-d7 # 2...f6*e5 3.Qe3-c5 + 3...Kd6-c7 4.Qc5-e7 + 4...Kc7-c8 5.Qe7-d7 # 1...Bb8-d6 + 2.Kb4*b5 threat: 3.f2-f4 # 2...Bd6-a3 3.f2-f4 + 3...Ke5-d6 4.Qe3*a7 threat: 5.Qa7-d7 # 2...Bd6-b4 3.f2-f4 + 3...Ke5-d6 4.Qe3*a7 threat: 5.Qa7-d7 # 2...Bd6-c5 3.Kb5*c5 threat: 4.Qe3-f4 # 4.Qe3-d4 # 4.f2-f4 # 2...Bd6-f8 3.f2-f4 + 3...Ke5-d6 4.Qe3*a7 threat: 5.Qa7-d7 # 2...Bd6-e7 3.Kb5-c4 threat: 4.Qe3-f4 # 2...Bd6-b8 3.c6-c7 threat: 4.c7*b8=Q # 4.c7*b8=B # 3...Ke5-d6 4.c7*b8=Q + 4...Kd6-d7 5.Qe3*a7 # 4...Kd6-e7 5.Qe3*a7 # 3...a7-a6 + 4.Kb5-c6 threat: 5.c7*b8=Q # 5.c7*b8=B # 5.f2-f4 # 4...Bb8-a7 5.f2-f4 # 4...Bb8*c7 5.f2-f4 # 3...Bb8*c7 4.Kb5-c6 threat: 5.f2-f4 # 3.Kb5-c5 threat: 4.Qe3-f4 # 4.Qe3-d4 # 4.f2-f4 # 3...Bb8-d6 + 4.Kc5-c4 threat: 5.Qe3-f4 # 5.Qe3-d4 # 5.f2-f4 # 4...Bd6-a3 5.Qe3-f4 # 4...Bd6-b4 5.Qe3-f4 # 4...Bd6-c5 5.Qe3-f4 # 4...Bd6-f8 5.Qe3-f4 # 4...Bd6-e7 5.Qe3-f4 # 4...Bd6-b8 5.Qe3-f4 # 4...Bd6-c7 5.Qe3-f4 # 2...Bd6-c7 3.f2-f4 + 3...Ke5-d6 4.Qe3-c5 # 4.Qe3-a3 # 2...a7-a6 + 3.Kb5-c4 threat: 4.Qe3-f4 # 4.Qe3-d4 # 4.f2-f4 # 3...Bd6-a3 4.Qe3-f4 # 3...Bd6-b4 4.Qe3-f4 # 3...Bd6-c5 4.Qe3-f4 # 3...Bd6-f8 4.Qe3-f4 # 3...Bd6-e7 4.Qe3-f4 # 3...Bd6-b8 4.Qe3-f4 # 3...Bd6-c7 4.Qe3-f4 #" --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 3-moves / 510 date: 1868 algebraic: white: [Ka8, Qf3, Bb6, Se4] black: [Ke1, Bd2, Se3, Sa2, Pc3] stipulation: "#3" solution: | "1.Bb6-c7 ! threat: 2.Bc7-g3 # 1...Se3-d1 2.Se4-g3 threat: 3.Qf3-e2 # 3.Qf3-f1 # 2...Sd1-f2 3.Qf3-e2 # 2...Sd1-e3 3.Qf3-e2 # 2...Sa2-c1 3.Qf3-f1 # 2...Bd2-c1 3.Qf3-e2 # 2...Bd2-h6 3.Qf3-e2 # 2...Bd2-g5 3.Qf3-e2 # 2...Bd2-f4 3.Qf3-e2 # 2...Bd2-e3 3.Qf3-e2 # 1...Se3-f1 2.Se4-g3 threat: 3.Qf3-e2 # 3.Qf3*f1 # 2...Sf1-h2 3.Qf3-e2 # 2...Sf1*g3 3.Bc7*g3 # 2...Sf1-e3 3.Qf3-e2 # 2...Sa2-c1 3.Qf3*f1 # 2...Bd2-c1 3.Qf3-e2 # 2...Bd2-h6 3.Qf3-e2 # 2...Bd2-g5 3.Qf3-e2 # 2...Bd2-f4 3.Qf3-e2 # 2...Bd2-e3 3.Qf3-e2 # 1...Se3-g4 2.Se4-g3 threat: 3.Qf3-e2 # 3.Qf3-f1 # 2...Sa2-c1 3.Qf3-f1 # 2...Bd2-c1 3.Qf3-e2 # 2...Bd2-h6 3.Qf3-e2 # 2...Bd2-g5 3.Qf3-e2 # 2...Bd2-f4 3.Qf3-e2 # 2...Bd2-e3 3.Qf3-e2 # 2...Sg4-e3 3.Qf3-e2 # 2...Sg4-f2 3.Qf3-e2 # 2...Sg4-h2 3.Qf3-e2 # 1...Se3-f5 2.Se4-g3 threat: 3.Qf3-e2 # 3.Qf3-f1 # 2...Sa2-c1 3.Qf3-f1 # 2...Bd2-c1 3.Qf3-e2 # 2...Bd2-h6 3.Qf3-e2 # 2...Bd2-g5 3.Qf3-e2 # 2...Bd2-f4 3.Qf3-e2 # 2...Bd2-e3 3.Qf3-e2 # 2...Sf5-d4 3.Qf3-f1 # 2...Sf5-e3 3.Qf3-e2 # 2...Sf5*g3 3.Bc7*g3 #" --- authors: - Loyd, Samuel source: Sam Loyd and His Chess Problems source-id: 654 date: 1913 algebraic: white: [Ke1, Qc4, Rh2, Ra1, Pb2] black: [Kc2, Ph3, Pg2, Pc3, Pb4] stipulation: "#2" solution: | "1.Ke1-f2 ! zugzwang. 1...Kc2*b2 2.Qc4-a2 # 1...Kc2-d2 2.Qc4-e2 # 1...g2-g1=Q + 2.Kf2*g1 # 1...g2-g1=S 2.Kf2*g1 # 1...g2-g1=R 2.Kf2*g1 # 1...g2-g1=B + 2.Kf2*g1 # 1...b4-b3 2.Qc4-e2 # 2.Qc4*c3 # 1.Qc4-e6 ! zugzwang. 1...Kc2-d3 2.0-0-0 # 1...Kc2*b2 2.Qe6-a2 # 1...c3*b2 2.Qe6-c4 # 1...b4-b3 2.Qe6-e2 #" keywords: - Flight giving key - Cooked - Switchback --- authors: - Loyd, Samuel source: Syracuse Standard date: 1858 algebraic: white: [Kd4, Rg7, Bh6, Sg5, Ph5, Pg6, Pg3, Pf4, Pe5, Pd2, Pc3] black: [Kf5, Rd8, Rc6, Bg8, Pg4, Pe6, Pd5, Pd3, Pc4, Pb6] stipulation: "#5" solution: | "1.Sg5-f7 ! threat: 2.Bh6-g5 threat: 3.Sf7-h6 # 2...Bg8*f7 3.Rg7*f7 # 1...Rc6-c7 2.Rg7*g8 threat: 3.Rg8-f8 threat: 4.Sf7-d6 # 3...Rc7*f7 4.Rf8*f7 # 2...Rc7-c6 3.Bh6-g5 threat: 4.Sf7-h6 # 3.Bh6-f8 threat: 4.Sf7-h6 # 3.Bh6-g7 threat: 4.Sf7-h6 # 2...Rc7*f7 3.g6*f7 threat: 4.Rg8-g5 # 3...Rd8*g8 4.f7*g8=Q threat: 5.Qg8-f8 # 5.Qg8-f7 # 5.Qg8-h7 # 5.Qg8-g5 # 5.Qg8-g6 # 4.f7*g8=S threat: 5.Sg8-e7 # 4.f7*g8=R threat: 5.Rg8-g5 # 5.Rg8-f8 # 4.f7*g8=B threat: 5.Bg8-h7 # 2...Rc7-d7 3.Rg8*d8 threat: 4.Rd8-f8 threat: 5.Sf7-d6 # 4...Rd7*f7 5.Rf8*f7 # 4.Rd8*d7 threat: 5.Sf7-d6 # 4.Sf7-d6 + 4...Rd7*d6 5.Rd8-f8 # 3...Rd7*d8 4.Bh6-g5 threat: 5.Sf7-h6 # 4...Rd8-h8 5.Sf7-d6 # 4.Bh6-f8 threat: 5.Sf7-h6 # 4.Bh6-g7 threat: 5.Sf7-h6 # 4...Rd8-h8 5.Sf7-d6 # 3...Rd7*f7 4.g6*f7 threat: 5.f7-f8=Q # 5.f7-f8=R # 3.Sf7*d8 threat: 4.Rg8-f8 + 4...Rd7-f7 5.Rf8*f7 # 3...Rd7*d8 4.Rg8*d8 threat: 5.Rd8-f8 # 3...Rd7-f7 4.Sd8*f7 threat: 5.Sf7-d6 # 4.g6*f7 threat: 5.Rg8-g5 # 5.f7-f8=Q # 5.f7-f8=R # 3.Bh6-f8 threat: 4.Sf7-h6 # 3...Rd7*f7 4.g6*f7 threat: 5.Rg8-g5 # 2...Rd8-d7 3.Sf7-d6 + 3...Rd7*d6 4.Rg8-f8 + 4...Rc7-f7 5.Rf8*f7 # 3.Bh6-f8 threat: 4.Sf7-h6 # 3...Rd7*f7 4.g6*f7 threat: 5.Rg8-g5 # 2.Sf7*d8 threat: 3.Rg7*c7 threat: 4.Sd8-b7 threat: 5.Sb7-d6 # 4.Sd8-c6 threat: 5.Sc6-e7 # 4.Sd8-f7 threat: 5.Sf7-d6 # 4...Bg8*f7 5.Rc7*f7 # 3.Rg7*g8 threat: 4.Rg8-f8 + 4...Rc7-f7 5.Rf8*f7 # 3...Rc7-f7 4.Sd8*f7 threat: 5.Sf7-d6 # 4.g6*f7 threat: 5.Rg8-g5 # 5.f7-f8=Q # 5.f7-f8=R # 2...Rc7-c5 3.Sd8-b7 threat: 4.Sb7-d6 # 3...Rc5-c6 4.Rg7*g8 threat: 5.Rg8-f8 # 4...Rc6-c8 5.Sb7-d6 # 4...Rc6-c7 5.Sb7-d6 # 3.Sd8-f7 threat: 4.Sf7-d6 # 3...Rc5-c6 4.Bh6-g5 threat: 5.Sf7-h6 # 4...Bg8*f7 5.Rg7*f7 # 3...Bg8*f7 4.Rg7*f7 # 3.Rg7*g8 threat: 4.Rg8-f8 # 3...Rc5-c7 4.Rg8-f8 + 4...Rc7-f7 5.Rf8*f7 # 2...Rc7-a7 3.Sd8-c6 threat: 4.Rg7*a7 threat: 5.Sc6-e7 # 4.Kd4-e3 threat: 5.Sc6-d4 # 3...Ra7*g7 4.Bh6*g7 threat: 5.Sc6-e7 # 4.Kd4-e3 threat: 5.Sc6-d4 # 3...Ra7-f7 4.Kd4-e3 threat: 5.Sc6-d4 # 4.Rg7*f7 + 4...Bg8*f7 5.Sc6-e7 # 4.g6*f7 threat: 5.Rg7-g5 # 5.Sc6-e7 # 3...Ra7-d7 4.Rg7*d7 threat: 5.Sc6-e7 # 3...Ra7-c7 4.Rg7*c7 threat: 5.Sc6-e7 # 3...Ra7-b7 4.Rg7*b7 threat: 5.Sc6-e7 # 4.Kd4-e3 threat: 5.Sc6-d4 # 3...Bg8-f7 4.Kd4-e3 threat: 5.Sc6-d4 # 4.g6*f7 threat: 5.Rg7-g5 # 3.Rg7*a7 threat: 4.Sd8-b7 threat: 5.Sb7-d6 # 4.Sd8-c6 threat: 5.Sc6-e7 # 4.Sd8-f7 threat: 5.Sf7-d6 # 4...Bg8*f7 5.Ra7*f7 # 3.Rg7*g8 threat: 4.Rg8-f8 + 4...Ra7-f7 5.Rf8*f7 # 3...Ra7-f7 4.Sd8*f7 threat: 5.Sf7-d6 # 4.g6*f7 threat: 5.Rg8-g5 # 5.f7-f8=Q # 5.f7-f8=R # 2...Rc7-c8 3.Sd8-f7 threat: 4.Sf7-d6 # 3...Rc8-c6 4.Bh6-g5 threat: 5.Sf7-h6 # 4...Bg8*f7 5.Rg7*f7 # 3...Rc8-d8 4.Bh6-g5 threat: 5.Sf7-h6 # 4...Bg8*f7 5.Rg7*f7 # 3...Bg8*f7 4.Rg7*f7 # 3.Rg7*g8 threat: 4.Rg8-f8 # 3...Rc8-c7 4.Rg8-f8 + 4...Rc7-f7 5.Rf8*f7 # 3...Rc8*d8 4.Rg8*d8 threat: 5.Rd8-f8 # 2...Rc7*g7 3.Bh6*g7 threat: 4.Sd8-b7 threat: 5.Sb7-d6 # 4.Sd8-c6 threat: 5.Sc6-e7 # 2...Rc7-e7 3.Sd8-c6 threat: 4.Sc6*e7 # 3...Re7-a7 4.Rg7*a7 threat: 5.Sc6-e7 # 4.Kd4-e3 threat: 5.Sc6-d4 # 3...Re7-b7 4.Rg7*b7 threat: 5.Sc6-e7 # 4.Kd4-e3 threat: 5.Sc6-d4 # 3...Re7-c7 4.Rg7*c7 threat: 5.Sc6-e7 # 3...Re7-d7 4.Rg7*d7 threat: 5.Sc6-e7 # 3...Re7-e8 4.Kd4-e3 threat: 5.Sc6-d4 # 3...Re7*g7 4.Bh6*g7 threat: 5.Sc6-e7 # 4.Kd4-e3 threat: 5.Sc6-d4 # 3...Re7-f7 4.Rg7*f7 + 4...Bg8*f7 5.Sc6-e7 # 4.g6*f7 threat: 5.Rg7-g5 # 5.Sc6-e7 # 4.Kd4-e3 threat: 5.Sc6-d4 # 3.Rg7*e7 threat: 4.Sd8-b7 threat: 5.Sb7-d6 # 4.Sd8-f7 threat: 5.Sf7-d6 # 4...Bg8*f7 5.Re7*f7 # 3.Rg7*g8 threat: 4.Rg8-f8 + 4...Re7-f7 5.Rf8*f7 # 3...Re7-e8 4.Rg8*e8 threat: 5.Re8-f8 # 3...Re7-f7 4.Sd8*f7 threat: 5.Sf7-d6 # 4.g6*f7 threat: 5.Rg8-g5 # 5.f7-f8=Q # 5.f7-f8=R # 2...Rc7-d7 3.Rg7*g8 threat: 4.Rg8-f8 + 4...Rd7-f7 5.Rf8*f7 # 3...Rd7*d8 4.Rg8*d8 threat: 5.Rd8-f8 # 3...Rd7-f7 4.Sd8*f7 threat: 5.Sf7-d6 # 4.g6*f7 threat: 5.Rg8-g5 # 5.f7-f8=Q # 5.f7-f8=R # 3.Sd8-c6 threat: 4.Rg7*d7 threat: 5.Sc6-e7 # 3...Rd7-a7 4.Rg7*a7 threat: 5.Sc6-e7 # 4.Kd4-e3 threat: 5.Sc6-d4 # 3...Rd7-b7 4.Rg7*b7 threat: 5.Sc6-e7 # 4.Kd4-e3 threat: 5.Sc6-d4 # 3...Rd7-c7 4.Rg7*c7 threat: 5.Sc6-e7 # 3...Rd7*g7 4.Bh6*g7 threat: 5.Sc6-e7 # 4.Kd4-e3 threat: 5.Sc6-d4 # 3...Rd7-f7 4.Kd4-e3 threat: 5.Sc6-d4 # 4.Rg7*f7 + 4...Bg8*f7 5.Sc6-e7 # 4.g6*f7 threat: 5.Rg7-g5 # 5.Sc6-e7 # 3...Bg8-f7 4.g6*f7 threat: 5.Rg7-g5 # 3.Rg7*d7 threat: 4.Sd8-b7 threat: 5.Sb7-d6 # 4.Sd8-c6 threat: 5.Sc6-e7 # 4.Sd8-f7 threat: 5.Sf7-d6 # 4...Bg8*f7 5.Rd7*f7 # 2...Bg8-h7 3.Sd8-c6 threat: 4.Rg7*c7 threat: 5.Rc7-f7 # 5.Sc6-e7 # 4...Bh7*g6 5.Sc6-e7 # 4...Bh7-g8 5.Sc6-e7 # 4.Kd4-e3 threat: 5.Sc6-d4 # 4...Rc7*c6 5.Rg7-f7 # 3...Rc7-a7 4.Rg7*a7 threat: 5.Ra7-f7 # 5.Sc6-e7 # 4...Bh7*g6 5.Sc6-e7 # 4...Bh7-g8 5.Sc6-e7 # 4.Kd4-e3 threat: 5.Sc6-d4 # 3...Rc7-b7 4.Rg7*b7 threat: 5.Rb7-f7 # 5.Sc6-e7 # 4...Bh7*g6 5.Sc6-e7 # 4...Bh7-g8 5.Sc6-e7 # 4.Kd4-e3 threat: 5.Sc6-d4 # 3...Rc7*g7 4.Bh6*g7 threat: 5.Sc6-e7 # 4.Kd4-e3 threat: 5.Sc6-d4 # 3...Rc7-d7 4.Rg7*d7 threat: 5.Rd7-f7 # 5.Sc6-e7 # 4...Bh7*g6 5.Sc6-e7 # 4...Bh7-g8 5.Sc6-e7 # 3...Bh7*g6 4.Rg7*g6 threat: 5.Rg6-g5 # 5.Rg6-f6 # 4...Rc7-g7 5.Rg6-f6 # 4...Rc7-f7 5.Rg6-g5 # 4.Rg7*c7 threat: 5.Sc6-e7 # 3...Bh7-g8 4.Rg7*c7 threat: 5.Sc6-e7 # 3.Sd8-f7 threat: 4.Sf7-d6 # 3...Rc7-c6 4.Sf7-d6 + 4...Rc6*d6 5.Rg7-f7 # 4.Bh6-g5 threat: 5.Sf7-h6 # 4.g6*h7 threat: 5.Rg7-g5 # 3...Rc7*f7 4.Rg7*f7 # 3...Rc7-d7 4.Sf7-d6 + 4...Rd7*d6 5.Rg7-f7 # 4.Bh6-g5 threat: 5.Sf7-h6 # 4...Rd7*f7 5.Rg7*f7 # 4.g6*h7 threat: 5.Rg7-g5 # 3.Rg7*c7 threat: 4.Rc7-f7 # 3...Bh7*g6 4.Sd8-c6 threat: 5.Sc6-e7 # 3...Bh7-g8 4.Sd8-b7 threat: 5.Sb7-d6 # 4.Sd8-c6 threat: 5.Sc6-e7 # 4.Sd8-f7 threat: 5.Sf7-d6 # 4...Bg8*f7 5.Rc7*f7 # 3.Rg7-f7 + 3...Rc7*f7 4.Sd8*f7 threat: 5.Sf7-d6 # 1...Rd8-d7 2.Bh6-g5 threat: 3.Sf7-h6 # 2...Rd7*f7 3.g6*f7 threat: 4.Rg7-g6 threat: 5.Rg6-f6 # 4.f7-f8=Q + 4...Bg8-f7 5.Qf8*f7 # 5.Rg7*f7 # 4.f7-f8=R + 4...Bg8-f7 5.Rg7*f7 # 5.Rf8*f7 # 4.f7*g8=Q threat: 5.Qg8-f7 # 5.Qg8-h7 # 5.Qg8-f8 # 5.Rg7-f7 # 4...Rc6-c8 5.Qg8-f7 # 5.Qg8-h7 # 5.Rg7-f7 # 4...Rc6-c7 5.Qg8-h7 # 4.f7*g8=S threat: 5.Rg7-f7 # 5.Sg8-e7 # 5.Sg8-h6 # 4...Rc6-c7 5.Sg8-h6 # 4.f7*g8=B threat: 5.Bg8-h7 # 5.Rg7-f7 # 4...Rc6-c7 5.Bg8-h7 # 4.Bg5-h4 threat: 5.Rg7-g5 # 4.Bg5-h6 threat: 5.Rg7-g5 # 4.Bg5-d8 threat: 5.Rg7-g5 # 4.Bg5-e7 threat: 5.Rg7-g5 # 4.Bg5-f6 threat: 5.Rg7-g5 # 3...Rc6-c8 4.Rg7-g6 threat: 5.Rg6-f6 # 4.f7*g8=Q threat: 5.Qg8-f7 # 5.Qg8-h7 # 5.Rg7-f7 # 4...Rc8-c7 5.Qg8-h7 # 4...Rc8*g8 5.Rg7-f7 # 4...Rc8-f8 5.Qg8-h7 # 5.Qg8*f8 # 4.f7*g8=S threat: 5.Rg7-f7 # 5.Sg8-e7 # 5.Sg8-h6 # 4...Rc8-c7 5.Sg8-h6 # 4...Rc8*g8 5.Rg7-f7 # 4...Rc8-f8 5.Sg8-e7 # 5.Sg8-h6 # 4...Rc8-e8 5.Sg8-h6 # 5.Rg7-f7 # 4.f7*g8=B threat: 5.Bg8-h7 # 5.Rg7-f7 # 4...Rc8-c7 5.Bg8-h7 # 4...Rc8*g8 5.Rg7-f7 # 4...Rc8-f8 5.Bg8-h7 # 4.Bg5-h4 threat: 5.Rg7-g5 # 4.Bg5-h6 threat: 5.Rg7-g5 # 4.Bg5-d8 threat: 5.Rg7-g5 # 4.Bg5-e7 threat: 5.Rg7-g5 # 4.Bg5-f6 threat: 5.Rg7-g5 # 3...Rc6-c7 4.f7*g8=S threat: 5.Sg8-h6 # 4.Bg5-h4 threat: 5.Rg7-g5 # 4.Bg5-h6 threat: 5.Rg7-g5 # 4.Bg5-d8 threat: 5.Rg7-g5 # 4.Bg5-e7 threat: 5.Rg7-g5 # 4.Bg5-f6 threat: 5.Rg7-g5 # 2...Bg8*f7 3.g6*f7 threat: 4.f7-f8=Q + 4...Rd7-f7 5.Qf8*f7 # 5.Rg7*f7 # 4.f7-f8=R + 4...Rd7-f7 5.Rg7*f7 # 5.Rf8*f7 # 4.Bg5-h4 threat: 5.Rg7-g5 # 4.Bg5-h6 threat: 5.Rg7-g5 # 4.Bg5-d8 threat: 5.Rg7-g5 # 4.Bg5-e7 threat: 5.Rg7-g5 # 5.f7-f8=Q # 5.f7-f8=R # 4...Rc6-c8 5.Rg7-g5 # 4...Rd7-d8 5.Rg7-g5 # 4...Rd7*e7 5.Rg7-g5 # 4.Bg5-f6 threat: 5.Rg7-g5 # 3...Rc6-c8 4.Bg5-d8 threat: 5.Rg7-g5 # 3...Rc6-c7 4.Bg5-h4 threat: 5.Rg7-g5 # 4.Bg5-h6 threat: 5.Rg7-g5 # 4.Bg5-d8 threat: 5.Rg7-g5 # 4.Bg5-e7 threat: 5.Rg7-g5 # 5.f7-f8=Q # 5.f7-f8=R # 4...Rc7-c8 5.Rg7-g5 # 4...Rd7-d8 5.Rg7-g5 # 4...Rd7*e7 5.Rg7-g5 # 4.Bg5-f6 threat: 5.Rg7-g5 # 3...Rd7-d8 4.Rg7-g6 threat: 5.Rg6-f6 # 4.Bg5*d8 threat: 5.Rg7-g5 # 5.f7-f8=Q # 5.f7-f8=R # 4...Rc6-c7 5.Rg7-g5 # 3...Rd7-e7 4.f7-f8=Q + 4...Re7-f7 5.Qf8*f7 # 5.Rg7*f7 # 4.f7-f8=R + 4...Re7-f7 5.Rg7*f7 # 5.Rf8*f7 # 4.Bg5-h4 threat: 5.Rg7-g5 # 4.Bg5-h6 threat: 5.Rg7-g5 # 4.Bg5*e7 threat: 5.Rg7-g5 # 5.f7-f8=Q # 5.f7-f8=R # 4...Rc6-c8 5.Rg7-g5 # 4.Bg5-f6 threat: 5.Rg7-g5 # 2.Rg7*g8 threat: 3.Rg8-f8 threat: 4.Sf7-d6 # 3...Rd7*f7 4.Rf8*f7 # 2...Rc6-c8 3.Rg8*c8 threat: 4.Rc8-f8 threat: 5.Sf7-d6 # 4...Rd7*f7 5.Rf8*f7 # 4.Sf7-d6 + 4...Rd7*d6 5.Rc8-f8 # 3...Rd7-d8 4.Sf7-d6 + 4...Rd8*d6 5.Rc8-f8 # 4.Rc8*d8 threat: 5.Sf7-d6 # 4.Bh6-g5 threat: 5.Sf7-h6 # 4...Rd8-h8 5.Sf7-d6 # 4.Bh6-f8 threat: 5.Sf7-h6 # 4.Bh6-g7 threat: 5.Sf7-h6 # 4...Rd8-h8 5.Sf7-d6 # 3...Rd7*f7 4.g6*f7 threat: 5.f7-f8=Q # 5.f7-f8=R # 3.Bh6-f8 threat: 4.Sf7-h6 # 3...Rd7*f7 4.g6*f7 threat: 5.Rg8-g5 # 2...Rc6-c7 3.Sf7-d6 + 3...Rd7*d6 4.Rg8-f8 + 4...Rc7-f7 5.Rf8*f7 # 3.Bh6-f8 threat: 4.Sf7-h6 # 3...Rd7*f7 4.g6*f7 threat: 5.Rg8-g5 # 2...Rd7-d8 3.Bh6-g5 threat: 4.Sf7-h6 # 3.Bh6-f8 threat: 4.Sf7-h6 # 3.Bh6-g7 threat: 4.Sf7-h6 # 2...Rd7*f7 3.g6*f7 threat: 4.Rg8-g5 # 4.f7-f8=Q # 4.f7-f8=R # 3...Rc6-c8 4.Rg8-g5 # 3...Rc6-c7 4.Rg8-g5 # 1...Rd8-f8 2.Rg7*g8 threat: 3.Rg8*f8 threat: 4.Sf7-d6 # 4.Sf7-g5 # 4.Sf7-h8 # 4.Sf7-d8 # 3...Rc6-c8 4.Sf7-d6 # 4.Sf7-d8 # 3...Rc6-c7 4.Sf7-d6 # 3.Sf7-d6 + 3...Rc6*d6 4.Rg8*f8 # 3.Bh6*f8 threat: 4.Sf7-h6 # 2...Rf8*f7 3.g6*f7 threat: 4.Rg8-g5 # 4.f7-f8=Q # 4.f7-f8=R # 3...Rc6-c8 4.Rg8-g5 # 3...Rc6-c7 4.Rg8-g5 # 2...Rf8-a8 3.Bh6-g5 threat: 4.Sf7-h6 # 3.Bh6-f8 threat: 4.Sf7-h6 # 3.Bh6-g7 threat: 4.Sf7-h6 # 2...Rf8-b8 3.Bh6-g5 threat: 4.Sf7-h6 # 3.Bh6-f8 threat: 4.Sf7-h6 # 3.Bh6-g7 threat: 4.Sf7-h6 # 2...Rf8-c8 3.Bh6-g5 threat: 4.Sf7-h6 # 3.Bh6-f8 threat: 4.Sf7-h6 # 3.Bh6-g7 threat: 4.Sf7-h6 # 2...Rf8-d8 3.Bh6-g5 threat: 4.Sf7-h6 # 3.Bh6-f8 threat: 4.Sf7-h6 # 3.Bh6-g7 threat: 4.Sf7-h6 # 2...Rf8-e8 3.Bh6-g5 threat: 4.Sf7-h6 # 3.Bh6-f8 threat: 4.Sf7-h6 # 3.Bh6-g7 threat: 4.Sf7-h6 # 2...Rf8*g8 3.Bh6-g7 threat: 4.Sf7-h6 # 3...Rg8-h8 4.Bg7*h8 threat: 5.Sf7-h6 #" --- authors: - Loyd, Samuel source: The Saturday Courier date: 1857 algebraic: white: [Kf1, Qc1, Rd6, Rb1, Bc2, Sf3, Sa4, Pe4, Pd5, Pc6, Pb5] black: [Kc4, Rh5, Pb6] stipulation: "#3" solution: | "1.Sf3-e5 + ! 1...Kc4-d4 2.Qc1-d2 + 2...Kd4*e5 3.Rd6-e6 # 2.Rb1-b4 + 2...Kd4*e5 3.Rd6-e6 # 1...Rh5*e5 2.Qc1-f4 zugzwang. 2...Re5*e4 3.Qf4*e4 # 2...Kc4-d4 3.Rb1-b4 # 2...Re5*d5 3.e4*d5 # 2...Re5-e8 3.e4-e5 # 2...Re5-e7 3.e4-e5 # 2...Re5-e6 3.e4-e5 # 2...Re5-h5 3.e4-e5 # 2...Re5-g5 3.e4-e5 # 2...Re5-f5 3.e4*f5 # 1.Bc2-d1 + ! 1...Kc4-d3 2.Rb1-b3 + 2...Kd3*e4 3.Bd1-c2 #" --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 3-moves / 552 date: 1868 algebraic: white: [Ke7, Qe4, Rh2, Bh5] black: [Kg5, Qg1, Rf1, Ph7, Pf2, Pe6, Pd6] stipulation: "#3" solution: --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 3-moves / 570 date: 1868 algebraic: white: [Kc1, Rh6, Rc4, Bd3, Sc6, Pe6, Pa2] black: [Kd5, Pc7] stipulation: "#3" solution: | "1.Bd3-h7 ! zugzwang. 1...Kd5-d6 2.Bh7-g8 zugzwang. 2...Kd6-d5 3.e6-e7 # 1...Kd5*c4 2.Rh6-h5 zugzwang. 2...Kc4-c3 3.Rh5-c5 #" --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 3-moves / 578 date: 1868 algebraic: white: [Kd7, Rc2, Bd4, Sg3, Se4, Pg2] black: [Kf4, Sh2, Pg4, Pe5] stipulation: "#3" solution: | "1.Bd4-b2 ! threat: 2.Bb2-c1 # 1...Sh2-f1 2.Bb2-c1 + 2...Sf1-e3 3.Rc2-f2 # 2...Sf1-d2 3.Bc1*d2 # 1...Sh2-f3 2.Bb2-c1 + 2...Sf3-d2 3.Bc1*d2 # 1...Kf4-e3 2.Bb2*e5 threat: 3.Rc2-c3 # 1.Bd4-g1 ! threat: 2.Rc2-c8 threat: 3.Rc8-f8 # 2.Rc2-c6 threat: 3.Rc6-f6 # 1...Sh2-f1 2.Rc2-f2 + 2...Kf4-e3 3.Rf2-f3 # 1...Sh2-f3 2.Rc2-f2 zugzwang. 2...Kf4-e3 3.Rf2*f3 # 1.Rc2-e2 ! threat: 2.Bd4-e3 # 1...Sh2-f1 2.Re2-f2 # 1...e5*d4 2.Kd7-e6 threat: 3.Sg3-h5 #" --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 3-moves / 588 date: 1868 algebraic: white: [Kh5, Qe7, Sh7, Sc8, Pe4] black: [Kc6, Ra5, Bh2, Pd4, Pc5, Pc4, Pc3, Pb5, Pa6] stipulation: "#3" solution: --- authors: - Loyd, Samuel source: Schachzeitung date: 1858 algebraic: white: [Kc4, Qe1, Se4] black: [Kf3, Pf6, Pe5] stipulation: "#4" solution: | "1.Qe1-g3 + ! 1...Kf3*e4 2.Qg3-f2 zugzwang. 2...f6-f5 3.Qf2-g3 zugzwang. 3...f5-f4 4.Qg3-d3 # 1...Kf3-e2 2.Qg3-f2 + 2...Ke2-d1 3.Qf2-d2 #" --- authors: - Loyd, Samuel source: American Union date: 1859-01 distinction: 2nd Prize algebraic: white: [Kh4, Qg1, Rc4, Bh2, Bf7, Se5, Sd5, Pf2, Pd4, Pd2, Pc5] black: [Ke4, Qh6, Rb3, Ra3, Bh1, Bb4, Sh3, Sa7, Ph5, Pf5, Pf4, Pb6, Pb2] stipulation: "#3" solution: | "1.Qg1-g8 ! threat: 2.Sd5-c3 + 2...Rb3*c3 3.Bf7-d5 # 2...Bb4*c3 3.Bf7-d5 # 3.d2-d3 # 1...Qh6-g5 + 2.Qg8*g5 threat: 3.Sd5-f6 # 1...Qh6-c6 2.Qg8-a8 threat: 3.Sd5-f6 # 2...Qc6*d5 3.Bf7*d5 # 3.Qa8*d5 # 1...Qh6-d6 2.c5*d6 threat: 3.Sd5-f6 # 1...Qh6-e6 2.Bf7*e6 threat: 3.Sd5-f6 #" --- authors: - Loyd, Samuel source: American Chess Nuts source-id: 16 date: 1868 algebraic: white: [Kc3, Bh3] black: [Ka4, Ph2, Pg3, Pf4, Pe5, Pd6, Pc7, Pa7, Pa5] stipulation: "=" solution: | 1. Bd7+ Ka3 2. Bc6 Ka2 3. Kc2 a6 4. Bh1= --- authors: - Loyd, Samuel source: The New York Evening Telegram date: 1886-01 algebraic: white: [Ka1, Qg7, Rh6, Rd7, Bg2, Bf6, Sg1, Sd1, Ph3, Pc7] black: [Kf5, Qb3, Rc4, Ra7, Bd6, Bb1, Sf2, Sc1, Pg4, Pe3, Pd5, Pc5, Pb7, Pa2] stipulation: "#2" options: - Duplex solution: | "1.Rd7-f7 ! threat: 2.Bf6-b2 # 2.Bf6-c3 # 2.Bf6-d4 # 2.Bf6-e5 # 2.Bf6-h4 # 2.Bf6-g5 # 2.Bf6-d8 # 2.Bf6-e7 # 1...Sf2-e4 2.Qg7*g4 # 1...Qb3-b2 + 2.Bf6*b2 # 1...Qb3-c3 + 2.Bf6*c3 # 1...Rc4-c3 2.Bf6*c3 # 2.Bf6-d4 # 2.Bf6-e5 # 2.Bf6-h4 # 2.Bf6-g5 # 2.Bf6-d8 # 2.Bf6-e7 # 1...Rc4-d4 2.Bf6*d4 # 2.Bf6-e5 # 2.Bf6-h4 # 2.Bf6-g5 # 2.Bf6-d8 # 2.Bf6-e7 # 1...g4*h3 2.Bf6-b2 # 2.Bf6-c3 # 2.Bf6-d4 # 2.Bf6-e5 # 2.Bf6-h4 # 2.Bf6-d8 # 2.Bf6-e7 # 1...d5-d4 2.Bf6*d4 # 2.Bf6-e5 # 2.Bf6-h4 # 2.Bf6-g5 # 2.Bf6-d8 # 2.Bf6-e7 # 1...Kf5-e6 2.c7-c8=Q # 2.c7-c8=B # 1...Kf5-f4 2.Bf6-e5 # 1...Bd6-e5 + 2.Bf6*e5 # 1...Bd6-e7 2.Bf6*e7 # 1.Qb3-b2 + ! 1...Ka1*b2 2.a2-a1=Q # 1...Sd1*b2 2.Sc1-b3 # 1...Bf6*b2 2.Sc1-b3 #" keywords: - Letters comments: - Last name initials of Johann Zukertort and Wilhelm Steinitz - also in The Philadelphia Times (no. 616), 24 January 1886 --- authors: - Loyd, Samuel source: American Chess Journal date: 1878-08 algebraic: white: [Kf5, Qg2, Rd1, Rc4, Bf4, Be6, Sf8, Se3, Ph6, Pd3, Pa5, Pa4, Pa3] black: [Kh4, Qe1, Rf1, Rd8, Be8, Bc1, Sh3, Sc8, Ph5, Pg7, Pd6, Pc5, Pb7, Pb2, Pa6] stipulation: "#2" twins: b: Black c: "Stipulation s#2" d: "Stipulation s#2 Black" solution: | "a) 1...Bg6+/Bd7/Bc6/Bb5/Bxa4 2.Nxg6# 1...Qe2/Qxd1/Qg3/Qd2/Qc3/Qb4/Qxa5/Rf2 2.Qg3# 1...Rg1/Rh1 2.Bg3#/Bg5# 1...Nf2 2.Bg3#/Bg5#/Qg3# 1...Nxf4 2.Qh2# 1. Qxh3+! Kxh3 2. Kg5# b) Black mates 1. Se7+ Ke4 2. Rxf4# c) s#2 1. Qg3+ Qxg3 2. Sg6+ Qxg6# d) s#2 Black 1. Se7+ Ke4 2. Sg5+ Qxg5#" keywords: - Active sacrifice - Checking key - Flight giving key - Letters - Scaccografia comments: - A Wheel Within a Wheel - Dedicated to Charles H. Wheeler --- authors: - Loyd, Samuel source: Lebanon Herald date: 1877 algebraic: white: [Kh5, Qf2, Rg8, Rd7, Bd8, Bc8, Sf8, Ph4, Pg2, Pf6, Pe7, Pe6, Pb5] black: [Ke5, Qg7, Rg3, Rc5, Bd1, Bb8, Sg6, Se2, Pf4] stipulation: "#2" solution: | "1.Qxc5+! 1...Ke4 2.Bb7# 1...Kxf6 2.e8N#" keywords: - Checking key - Flight taking key --- authors: - Loyd, Samuel source: algebraic: white: [Kb2, Qc5, Re7, Rb4, Be6, Bc7, Sb7, Pc4, Pc2, Pb6] black: [Ke4, Re3, Bf2, Bb5, Sg2, Pe5, Pe2, Pb3] stipulation: "#2" solution: | "1...Rf3 2.Qxe5# 1.Rf7?? (2.Nd6#/Bd5#/cxb5#/Qd5#/Qxe5#) 1...e1Q/e1B/Be1/Bd7/Be8/Ba4/Ba6 2.Nd6#/Bd5#/Qd5#/Qxe5# 1...Bg3 2.Nd6#/Bd5#/cxb5#/Qd5# 1...bxc2 2.Qd5# 1...Bxc4 2.Nd6#/Rxc4#/Bd5#/Qxc4#/Qd5#/Qxe5# 1...Bc6 2.Nd6#/Qxe5# 1...Rd3 2.Qxe5# 1...Rc3/Rf3/Rg3/Rh3 2.Bd5#/Nd6#/Qxe5# but 1...Nf4! 1.Qd4+! 1...Kxd4 2.cxb5# 1...Kf3 2.Qg4# 1...exd4 2.Bg4#" keywords: - Active sacrifice - Checking key - Flight giving and taking key - Letters --- authors: - Loyd, Samuel source: New York Recorder 2Bda8,h1 Čh6 date: 1891 algebraic: white: [Kb4, Qa8, Re5, Bh7, Bf6, Sc5, Sb2, Ph2, Pg3, Pe2, Pb3] black: [Ka1, Qg4, Rb1, Ra2, Bf8, Sg7, Pg6, Pf4, Pd6] stipulation: "#2" solution: "1...Ra3 2.Qxa3#" keywords: - "Position?" --- authors: - Loyd, Samuel source: Missouri Democrat date: 1859 algebraic: white: [Ke1, Qb2, Rh1, Ra1, Be4, Be3, Sg5, Sd5, Ph2, Pf3, Pe6, Pc6, Pa2] black: [Ke8, Rh8, Ra8, Pg7, Pe7] stipulation: "#2" solution: | "1...O-O-O 2.Qb7# 1...Ra7/Ra6/Ra5/Ra4/Ra3/Rxa2/Rb8 2.Qb8# 1...g6 2.Qxh8# 1.Qb7?? (2.Qxe7#/Qxa8#) 1...Kd8 2.Qd7#/Qxa8# 1...Kf8 2.Qxa8# 1...Ra7 2.Qb8#/Qc8# 1...Ra6/Ra5/Ra4/Ra3/Rxa2 2.Qb8#/Qxe7#/Qc8# 1...Rb8 2.Qxb8#/Qxe7# 1...Rc8 2.Qxe7#/Qxc8# 1...Rd8 2.Qxe7# but 1...O-O! 1.Qxg7?? (2.Qxe7#/Qxh8#) 1...Kd8/Ra7 2.Qxh8# 1...Rh7 2.Qg8# 1...Rh6/Rh5/Rh4/Rh3/Rxh2/Rg8 2.Qg8#/Qxe7# 1...Rf8 2.Qxe7# but 1...O-O-O!" keywords: - Retro - Cooked --- authors: - Loyd, Samuel source: Missouri Democrat date: 1859 algebraic: white: [Ke6, Qg3] black: [Ke8, Rh8, Ra8, Ph7, Pc7, Pa7] stipulation: "#2" solution: | "1...Rg8 2.Qxg8# 1.Qg5?? (2.Qe7#) but 1...Kf8! 1.Qg7?? (2.Qe7#/Qxh8#) 1...Kd8 2.Qd7#/Qxh8# 1...Rg8 2.Qxg8#/Qe7# 1...Rf8 2.Qe7#/Qd7# but 1...O-O-O! 1.Qd6?? (2.Qe7#) but 1...cxd6! 1.Qxc7?? (2.Qe7#) 1...Kf8 2.Qf7# but 1...O-O!" keywords: - Retro comments: - pRA --- authors: - Moore, Charles C. - Loyd, Samuel source: algebraic: white: [Kh2, Qc4, Rh3, Sh4, Se5] black: [Kh7, Rf8, Ra6, Bc8, Sc7, Pg7, Pf4, Pb7, Pa5] stipulation: "#3" solution: | "1.Qc4-e6 ! threat: 2.Sh4-f3 # 2.Sh4-g2 # 2.Sh4-g6 # 2.Sh4-f5 # 1...Ra6*e6 2.Sh4-g6 + 2...Kh7-g8 3.Rh3-h8 # 1...Sc7*e6 2.Sh4-g6 + 2...Kh7-g8 3.Sg6-e7 # 3.Rh3-h8 # 2.Sh4-f5 + 2...Kh7-g8 3.Sf5-e7 # 1...g7-g5 2.Sh4-f5 # 1...g7-g6 2.Sh4-f5 # 1...Bc8*e6 2.Sh4-f5 + 2...Kh7-g8 3.Sf5-e7 # 1...Rf8-f5 2.Sh4*f5 # 1...Rf8-f6 2.Sh4-g6 # 1...Rf8-f7 2.Sh4-f5 + 2...Kh7-g8 3.Qe6*f7 # 2.Sh4-f3 + 2...Kh7-g8 3.Qe6*f7 # 2.Sh4-g2 + 2...Kh7-g8 3.Qe6*f7 # 2.Sh4-g6 + 2...Kh7-g8 3.Qe6*f7 # 3.Rh3-h8 #" --- authors: - Loyd, Samuel source: New York Saturday Courier date: 1856 algebraic: white: [Kc1, Bh3, Bc3, Sf6, Sc8, Pe3, Pd6, Pc5, Pb7] black: [Kg5, Ph5, Ph4, Pf7, Pb4] stipulation: "#4" solution: | "1.Sc8-e7 ! 1...b4-b3 2.Kc1-b2 threat: 3.Sf6-g8 threat: 4.Bc3-f6 # 2.Kc1-b1 threat: 3.Sf6-g8 threat: 4.Bc3-f6 # 2.Bc3-b2 threat: 3.Sf6-g8 threat: 4.Bb2-f6 # 2.Sf6-g8 threat: 3.Bc3-f6 # 2...b3-b2 + 3.Kc1*b2 threat: 4.Bc3-f6 # 3.Kc1-b1 threat: 4.Bc3-f6 # 3.Bc3*b2 threat: 4.Bb2-f6 # 1...b4*c3 2.b7-b8=Q threat: 3.Sf6-e4 + 3...Kg5-h6 4.Qb8-h8 # 3.Qb8-h8 threat: 4.Qh8-g7 # 4.Sf6-e4 # 2...c3-c2 3.Sf6-e4 + 3...Kg5-h6 4.Qb8-h8 # 2...Kg5-h6 3.Qb8-h8 + 3...Kh6-g5 4.Qh8-g7 # 4.Sf6-e4 # 3.Qb8-g8 threat: 4.Se7-f5 # 2...Kg5*f6 3.Qb8-h8 + 3...Kf6-g5 4.Qh8-g7 #" --- authors: - Loyd, Samuel source: The Chess Monthly date: 1857-10 algebraic: white: [Kh7, Qe8, Ra2, Pd7, Pd5] black: [Kf6, Rb6, Bd8, Sh6, Pg5, Pg4, Pg3, Pf7, Pf5, Pd6, Pb5] stipulation: "#4" solution: | "1.Qe8-e1 ! threat: 2.Ra2-e2 threat: 3.Qe1-c3 # 3.Qe1-a1 # 2...b5-b4 3.Qe1-a1 # 2...f5-f4 3.Re2-e6 + 3...Kf6-f5 4.Qe1-b1 # 4.Qe1-e4 # 3...f7*e6 4.Qe1*e6 # 2...Rb6-a6 3.Qe1-c3 # 2...Rb6-c6 3.Re2-e6 + 3...f7*e6 4.Qe1*e6 # 3.Qe1-a1 + 3...Rc6-c3 4.Qa1*c3 #" comments: - There are several current unsound versions of this problem. This is probably a correction --- authors: - Loyd, Samuel source: Chess Monthly date: 1857 distinction: 1st Prize algebraic: white: [Kh7, Rf3, Rf2, Bh1, Sg7, Sb2, Pg6, Pc2] black: [Ke4, Qa2, Rd7, Rb5, Bf4, Ba6, Sb1, Sa8, Pf6, Pe7, Pa3] stipulation: "#4" solution: --- authors: - Loyd, Samuel source: The Chess Monthly source-id: corr. date: 1857 algebraic: white: [Kh1, Qf2, Sb6, Pg3, Pc3, Pc2] black: [Ke4, Ph7, Ph3, Ph2, Pg5, Pe5, Pc4] stipulation: "#4" solution: | "1.Sb6*c4 ! threat: 2.Qf2-f6 threat: 3.Qf6-c6 + 3...Ke4-f5 4.Sc4-e3 # 2...Ke4-d5 3.Qf6-d6 + 3...Kd5-e4 4.Qd6-d3 # 3...Kd5*c4 4.Qd6-c6 # 2...g5-g4 3.Qf6*e5 + 3...Ke4-f3 4.Qe5-e3 # 1...Ke4-d5 2.Qf2-b6 threat: 3.Qb6-d6 + 3...Kd5-e4 4.Qd6-d3 # 3...Kd5*c4 4.Qd6-c6 # 2...Kd5-e4 3.Qb6-c6 + 3...Ke4-f5 4.Sc4-e3 #" --- authors: - Loyd, Samuel source: The Illustrated London News date: 1867 algebraic: white: [Ka7, Qe2, Be5, Se3, Sd5] black: [Ke4, Pc3] stipulation: "#4" solution: --- authors: - Loyd, Samuel source: De Londres date: 1867 algebraic: white: [Kh1, Qf1, Be7] black: [Kh4, Rg5, Sh7, Ph5, Pg6] stipulation: "#4" solution: | "1.Kh1-h2 ! threat: 2.Qf1-h3 # 2.Qf1-c4 # 2.Qf1-f4 # 1...Kh4-g4 2.Kh2-g2 threat: 3.Qf1-f3 + 3...Kg4-h4 + 4.Qf3-g3 # 2...Kg4-h4 + 3.Kg2-f3 threat: 4.Qf1-h1 # 2...Rg5-f5 3.Qf1-d1 + 3...Kg4-f4 4.Qd1-d4 # 3...Rf5-f3 4.Qd1*f3 # 2...Sh7-f6 3.Qf1*f6 threat: 4.Qf6*g5 # 3...Rg5-a5 4.Qf6-f3 # 3...Rg5-b5 4.Qf6-f3 # 3...Rg5-c5 4.Qf6-f3 # 3...Rg5-d5 4.Qf6-f3 # 3...Rg5-e5 4.Qf6-f3 # 3...Rg5-f5 4.Qf6-h4 # 1...Sh7-f6 2.Qf1-h3 # 1.Qf1-f4 + ! 1...Kh4-h3 2.Be7*g5 threat: 3.Qf4-f3 # 3.Qf4-h4 # 2...Sh7*g5 3.Qf4*g5 zugzwang. 3...h5-h4 4.Qg5-g2 # 1.Qf1-f3 ! threat: 2.Kh1-h2 threat: 3.Qf3-e4 # 3.Qf3-f4 # 3.Qf3-h3 # 3.Qf3-g3 # 2...Sh7-f6 3.Qf3-h3 # 1...Sh7-f6 2.Qf3-f4 + 2...Kh4-h3 3.Qf4*g5 zugzwang. 3...h5-h4 4.Qg5-g2 # 3...Sf6-d5 4.Qg5-g2 # 4.Qg5-h4 # 3...Sf6-e4 4.Qg5-h4 # 4.Qg5-g2 # 3...Sf6-g4 4.Qg5-h4 # 3...Sf6-h7 4.Qg5-h4 # 4.Qg5-g2 # 3...Sf6-g8 4.Qg5-g2 # 4.Qg5-h4 # 3...Sf6-e8 4.Qg5-h4 # 4.Qg5-g2 # 3...Sf6-d7 4.Qg5-g2 # 4.Qg5-h4 # 2...Rg5-g4 3.Be7*f6 + 3...Kh4-h3 4.Qf4-h2 # 3...g6-g5 4.Qf4-h2 # 2...Sf6-g4 3.Be7*g5 + 3...Kh4-h3 4.Qf4-f3 # 1.Qf1-g1 ! zugzwang. 1...Kh4-h3 2.Be7*g5 threat: 3.Qg1-g2 # 2...Sh7*g5 3.Qg1*g5 zugzwang. 3...h5-h4 4.Qg5-g2 # 1...Sh7-f6 2.Be7*f6 threat: 3.Bf6*g5 + 3...Kh4-h3 4.Qg1-g2 # 3.Qg1*g5 + 3...Kh4-h3 4.Qg5-h4 # 4.Qg5-g2 # 1...Sh7-f8 2.Be7*g5 + 2...Kh4-h3 3.Qg1-g2 # 2.Kh1-h2 threat: 3.Be7*g5 # 3.Qg1-d4 # 3.Qg1*g5 # 3.Qg1-g3 # 2...Sf8-e6 3.Qg1-g3 # 2...Sf8-h7 3.Qg1-d4 # 3.Qg1-g3 # 2.Qg1*g5 + 2...Kh4-h3 3.Qg5-h4 # 3.Qg5-g2 #" --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper source-id: 59 date: 1857-01-24 algebraic: white: [Ka1, Qa7, Rd7, Bg3, Bf7, Sc1, Pe6, Pc2] black: [Kc8, Qg7, Rf3, Rf1, Ba5, Sd6, Sc7, Pf5, Pd4, Pc4, Pa6] stipulation: "#4" options: - Duplex solution: | "1.Rd7-d8 + ! 1...Kc8*d8 2.Qa7-b8 + 2...Sd6-c8 3.Bg3-h4 + 3...Qg7-f6 4.Bh4*f6 # 3...Qg7-g5 4.Bh4*g5 # 2...Kd8-e7 3.Qb8-f8 + 3...Ke7-f6 4.Qf8-d8 # 3...Ke7*f8 4.Bg3*d6 # 3...Qg7*f8 4.Bg3-h4 # 1.Rf1*c1 + ! 1...Ka1-b2 2.Ba5-c3 + 2...Kb2*c1 3.Rf3-f1 + 3...Bg3-e1 4.Rf1*e1 # 2...Kb2-a3 3.Rc1-a1 # 2...Kb2-a2 3.Rc1-a1 # 1...Ka1-a2 2.Rf3-a3 + 2...Ka2*a3 3.Rc1-a1 + 3...Ka3-b2 4.Ba5-c3 # 2...Ka2-b2 3.Ba5-c3 + 3...Kb2*c1 4.Ra3-a1 # 3...Kb2*a3 4.Rc1-a1 #" --- authors: - Loyd, Samuel source: English Tournament date: 1873 algebraic: white: [Kg1, Qd3, Re1, Ba7, Sf6, Se4, Pg6, Pa4] black: [Ke6, Qc8, Rb8, Bd8, Ba2, Ph5, Pf7, Pd4, Pb7, Pb5] stipulation: "#4" solution: | "1.Ba7*d4 ! threat: 2.Se4-c3 + 2...Ke6-d6 3.Qd3-g3 + 3...Kd6-c6 4.a4*b5 # 2.Se4-d2 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-e6 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3-d6 # 4.Qd3*b5 # 2.Se4-f2 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-e6 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3*b5 # 2.Se4-g3 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-e6 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 4.Qd3-d6 # 3...Kd6-c6 4.Qd3-d6 # 4.Qd3*b5 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3*b5 # 2.Se4-g5 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3*b5 # 2.Se4-d6 + 2...Ke6*d6 3.Bd4-e5 + 3...Kd6-e6 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3*b5 # 2.Se4-c5 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-c6 4.Qd3-d6 # 4.Qd3*b5 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6*c5 4.Qd3*b5 # 1...Ba2-d5 2.Se4-c3 + 2...Bd5-e4 3.Qd3*e4 + 3...Ke6-d6 4.Sc3*b5 # 2...Ke6-d6 3.Qd3-g3 + 3...Kd6-c6 4.a4*b5 # 2.Se4-c5 + 2...Ke6-d6 3.Sf6-e8 + 3...Kd6-c6 4.Qd3*b5 # 1...Ba2-c4 2.Se4-d2 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-e6 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 3...Kd6-c6 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3-d6 # 2.Se4-f2 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-e6 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 3...Kd6-c6 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3-d6 # 2.Se4-g3 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-e6 4.Qd3-d6 # 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 3...Kd6-c6 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3-d6 # 2.Se4-g5 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-c6 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3-d6 # 2.Se4-d6 + 2...Ke6*d6 3.Bd4-e5 + 3...Kd6-e6 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 3...Kd6-c6 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3-d6 # 2.Se4-c5 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-c6 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6*c5 4.Qd3-d6 # 1...b5-b4 2.Se4-d2 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-e6 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 3...Kd6-c6 4.Qd3-b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3-d6 # 4.Qd3-b5 # 2.Se4-f2 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-e6 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 3...Kd6-c6 4.Qd3-b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3-b5 # 2.Se4-g3 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-e6 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 4.Qd3-d6 # 3...Kd6-c6 4.Qd3-d6 # 4.Qd3-b5 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3-b5 # 2.Se4-g5 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-c6 4.Qd3-b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3-b5 # 2.Se4-d6 + 2...Ke6*d6 3.Bd4-e5 + 3...Kd6-e6 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 3...Kd6-c6 4.Qd3-b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3-b5 # 2.Se4-c5 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-c6 4.Qd3-b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6*c5 4.Qd3-b5 # 1...b5*a4 2.Se4-d2 + 2...Ke6-d6 3.Qd3-a3 + 3...Kd6-c6 4.Qa3-c5 # 3...Kd6-c7 4.Qa3-c5 # 3...Qc8-c5 4.Qa3*c5 # 2.Se4-f2 + 2...Ke6-d6 3.Qd3-a3 + 3...Kd6-c6 4.Qa3-c5 # 3...Kd6-c7 4.Qa3-c5 # 3...Qc8-c5 4.Qa3*c5 # 2.Se4-g3 + 2...Ke6-d6 3.Qd3-a3 + 3...Kd6-c6 4.Qa3-c5 # 3...Kd6-c7 4.Qa3-c5 # 3...Qc8-c5 4.Qa3*c5 # 2.Se4-g5 + 2...Ke6-d6 3.Qd3-a3 + 3...Kd6-c6 4.Qa3-c5 # 3...Kd6-c7 4.Qa3-c5 # 3...Qc8-c5 4.Qa3*c5 # 2.Se4-d6 + 2...Ke6*d6 3.Qd3-a3 + 3...Kd6-c6 4.Qa3-c5 # 3...Kd6-c7 4.Qa3-c5 # 3...Qc8-c5 4.Qa3*c5 # 1...h5-h4 2.Se4-d2 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-e6 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3-d6 # 4.Qd3*b5 # 2.Se4-f2 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-e6 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3*b5 # 2.Se4-g3 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-e6 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 4.Qd3-d6 # 3...Kd6-c6 4.Qd3-d6 # 4.Qd3*b5 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3*b5 # 2.Se4-g5 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3*b5 # 2.Se4-d6 + 2...Ke6*d6 3.Bd4-e5 + 3...Kd6-e6 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3*b5 # 2.Se4-c5 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-c6 4.Qd3-d6 # 4.Qd3*b5 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6*c5 4.Qd3*b5 # 1...Ke6-e7 2.Se4-g3 + 2...Ba2-e6 3.Sg3-f5 + 3...Ke7-f8 4.g6-g7 # 2...Ke7-f8 3.Sf6-h7 + 3...Kf8-g8 4.Re1-e8 # 2...Ke7-d6 3.Bd4-e5 + 3...Kd6-e6 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 4.Qd3-d6 # 3...Kd6-c6 4.Qd3-d6 # 4.Qd3*b5 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3*b5 # 2...Qc8-e6 3.Sg3-f5 + 3...Ke7-f8 4.g6-g7 # 3.Qd3-a3 + 3...b5-b4 4.Qa3*b4 # 2.Se4-d6 + 2...Ba2-e6 3.Sd6-f5 + 3...Ke7-f8 4.g6-g7 # 2...Ke7-f8 3.Sf6-h7 + 3...Kf8-g8 4.Re1-e8 # 2...Ke7*d6 3.Bd4-e5 + 3...Kd6-e6 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3*b5 # 2...Qc8-e6 3.Sd6-f5 + 3...Ke7-f8 4.g6-g7 # 1...Ke6-f5 2.Se4-d2 + 2...Kf5-g5 3.Sd2-f3 + 3...Kg5-h6 4.Sf6-g8 # 3...Kg5-f4 4.Bd4-e5 # 2...Kf5-f4 3.Bd4-e3 + 3...Kf4-e5 4.Be3-g5 # 3...Kf4-g3 4.Be3-g5 # 1...b7-b6 2.Se4-c5 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6*c5 4.Qd3*b5 # 1...f7*g6 2.Se4-g5 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3*b5 # 1...Qc8-d7 2.Se4-c3 + 2...Ke6-d6 3.Qd3-g3 + 3...Kd6-c6 4.a4*b5 # 2.Qd3-h3 + 2...Ke6-e7 3.Bd4-c5 + 3...Qd7-d6 4.Bc5*d6 # 1...Qc8-c1 2.Se4-g5 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3*b5 # 2.Se4-c5 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6*c5 4.Qd3*b5 # 1...Qc8-c2 2.Se4-d2 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-e6 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 4.Qd3-d7 # 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3-d6 # 4.Qd3*b5 # 2.Se4-g3 + 2...Qc2-e2 3.Qd3-f5 + 3...Ke6-d6 4.Qf5-d7 # 3...Ke6-e7 4.Bd4-c5 # 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-e6 4.Qd3-d7 # 4.Qd3-d6 # 3...Kd6-c6 4.Qd3-d6 # 4.Qd3*b5 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3*b5 # 2.Se4-g5 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3*b5 # 2.Se4-c5 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6*c5 4.Qd3*b5 # 1...Qc8-c3 2.Se4*c3 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-c6 4.Qd3-d6 # 4.Qd3*b5 # 3...Kd6-e6 4.Qd3-d7 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3*b5 # 3.Qd3-g3 + 3...Kd6-c6 4.a4*b5 # 2.Se4-d2 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-e6 4.Be5*c3 # 4.Qd3-d7 # 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3-d6 # 4.Qd3*b5 # 2.Se4-g5 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3*b5 # 2.Se4-c5 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6*c5 4.Qd3*b5 # 1...Qc8-c5 2.Se4*c5 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-c6 4.Qd3-d6 # 4.Qd3*b5 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6*c5 4.Qd3*b5 # 1...Qc8-c7 2.Se4-g3 + 2...Qc7-e5 3.Qd3-f5 + 3...Ke6-e7 4.Bd4-c5 # 3...Ke6-d6 4.Qf5-d7 # 2...Ke6-d6 3.Bd4-f2 + 3...Kd6-c6 4.a4*b5 # 3...Ba2-d5 4.Qd3*d5 # 3.Bd4-a7 + 3...Ba2-d5 4.Qd3*d5 # 3...Kd6-c6 4.a4*b5 # 3.Sg3-f5 + 3...Kd6-c6 4.a4*b5 # 4.Qd3*b5 # 2.Se4-g5 + 2...Ke6-d6 3.Bd4-f2 + 3...Kd6-c6 4.a4*b5 # 3...Ba2-d5 4.Qd3*d5 # 3.Bd4-a7 + 3...Ba2-d5 4.Qd3*d5 # 3...Kd6-c6 4.a4*b5 # 2.Se4-d6 + 2...Ke6*d6 3.Bd4-a7 + 3...Ba2-d5 4.Qd3*d5 # 3...Kd6-c6 4.a4*b5 # 3.Bd4-f2 + 3...Kd6-c6 4.a4*b5 # 3...Ba2-d5 4.Qd3*d5 # 1...Bd8-a5 2.Se4-c3 + 2...Ke6-d6 3.Qd3-g3 + 3...Kd6-c6 4.a4*b5 # 2.Se4-d2 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-e6 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3-d6 # 4.Qd3*b5 # 2.Se4-g5 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3*b5 # 2.Se4-c5 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6*c5 4.Qd3*b5 # 2.Qd3-g3 threat: 3.Qg3-e5 # 2...Ba5-c7 3.Se4-d6 # 2...Ke6-e7 3.Qg3-d6 # 2...Ke6-f5 3.Se4-d6 # 2...f7*g6 3.Se4-g5 + 3...Ke6-f5 4.Qg3-e5 # 4.Re1-f1 # 3.Se4-d6 + 3...Ba5*e1 4.Qg3-e5 # 2...Qc8-c5 3.Se4*c5 + 3...Ke6-f5 4.Re1-f1 # 2...Qc8-c7 3.Se4-d6 + 3...Ba5*e1 4.Qg3-e5 # 1...Bd8-b6 2.Se4-c3 + 2...Ke6-d6 3.Qd3-g3 + 3...Kd6-c6 4.a4*b5 # 2.Se4-c5 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6*c5 4.Qd3*b5 # 1...Bd8-c7 2.Se4-g5 + 2...Ke6-d6 3.Bd4-f2 + 3...Kd6-c6 4.a4*b5 # 3...Ba2-d5 4.Qd3*d5 # 3.Bd4-a7 + 3...Ba2-d5 4.Qd3*d5 # 3...Kd6-c6 4.a4*b5 # 2.Se4-d6 + 2...Ke6*d6 3.Bd4-a7 + 3...Ba2-d5 4.Qd3*d5 # 3...Kd6-c6 4.a4*b5 # 3.Bd4-f2 + 3...Kd6-c6 4.a4*b5 # 3...Ba2-d5 4.Qd3*d5 # 1...Bd8*f6 2.Se4*f6 + 2...Ke6-d6 3.Bd4-e5 + 3...Kd6-e6 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 3...Kd6-c6 4.Qd3*b5 # 4.Qd3-d6 # 3...Kd6-e7 4.Qd3-d6 # 3...Kd6-c5 4.Qd3*b5 #" --- authors: - Loyd, Samuel source: Dansbury News date: 1877 algebraic: white: [Kd5, Rd8, Bf2, Sb7, Pb6] black: [Ke7, Pd6] stipulation: "#4" solution: --- authors: - Loyd, Samuel source: Cleveland Sunday Voice date: 1877 algebraic: white: [Kb6, Rh1, Rd5, Be1, Ba3, Ph2, Pc5, Pc4] black: [Kd1, Pe3, Pd3, Pc6] stipulation: "#4" solution: --- authors: - Loyd, Samuel source: Porter's Spirit of the Times source-id: 112 date: 1858-11-13 algebraic: white: [Ka5, Qc4, Ra4, Be1, Se2, Sb4, Pc2, Pb5, Pa6] black: [Kb2, Qh1, Rb1, Ra1, Bc1, Sc8, Pc7, Pb7, Pa2] stipulation: "s#4" solution: | "1.Qc4-g8 ! threat: 2.Qg8-h8 + 2...Qh1*h8 3.Be1-c3 + 3...Qh8*c3 4.Ra4*a2 + 4...Ra1*a2 # 1...Qh1-h8 2.Qg8-g7 + 2...Qh8*g7 3.Be1-c3 + 3...Qg7*c3 4.Ra4*a2 + 4...Ra1*a2 #" comments: - also in The Chess Monthly (258), November 1860 --- authors: - Loyd, Samuel source: The Toledo Daily Blade source-id: 62 date: 1887-04-21 algebraic: white: [Kf5, Qb1, Rc1, Ra6, Be1, Sd3, Sb4, Pe6, Pc3] black: [Kc4, Qh6, Rh4, Rb7, Bh1, Bb5, Sg4, Sg2, Ph7, Ph5, Ph3, Pg5, Pf6] stipulation: "s#2" solution: | "1.Sb4-c2 ! threat: 2.Sc2-e3 + 2...Sg2*e3 # {display-departure-rank} 2...Sg4*e3 # {display-departure-rank} 1...Kc4*d3 2.Qb1*b5 + 2...Rb7*b5 #" keywords: - Promoted force --- authors: - Loyd, Samuel source: Detroit Free Press date: 1877-12-08 algebraic: white: [Kf3, Qg5, Rh4, Rg3, Bh2, Bc2, Sd8, Sc8] black: [Ke5, Qg1, Rh1, Rg2, Bf5, Ph3, Pe3, Pe2, Pd5, Pd4] stipulation: "s#2" solution: | "1.Bc2-d1 ! threat: 2.Rh4-e4 + 2...d5*e4 # 1...Rg2*g3 + 2.Kf3*e2 2...Qg1*h2 # 2...Qg1-f2 # 2...Qg1*d1 # 2...Qg1-e1 # 2...Qg1-f1 # 2...Qg1-g2 # 2...Rh1*h2 # 2...d4-d3 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 106 date: 1858-08 algebraic: white: [Kh6, Qd1, Bg6, Bc1, Sg4, Se3, Ph7, Ph2, Pc2] black: [Kf4, Qf5, Rg8, Ra6, Bd5, Ba7, Sh1, Se8, Pe5, Pc4] stipulation: "s#4" solution: | "1.Se3*c4 + ! 1...Kf4-e4 2.Sc4-b6 threat: 3.Sg4-f2 + 3...Sh1*f2 4.Qd1-g4 + 4...Sf2*g4 # 3.Sg4-f6 + 3...Se8*f6 4.Qd1-g4 + 4...Sf6*g4 # 2...Sh1-g3 3.Sg4-f6 + 3...Se8*f6 4.Qd1-g4 + 4...Sf6*g4 # 2...Sh1-f2 3.Sg4-f6 + 3...Se8*f6 4.Qd1-g4 + 4...Sf2*g4 # 4...Sf6*g4 # 2...Ra6*b6 3.Sg4-f2 + 3...Sh1*f2 4.Qd1-g4 + 4...Sf2*g4 # 2...Ba7*b6 3.Sg4-f6 + 3...Se8*f6 4.Qd1-g4 + 4...Sf6*g4 # 2...Se8-c7 3.Sg4-f2 + 3...Sh1*f2 4.Qd1-g4 + 4...Sf2*g4 # 2...Se8-d6 3.Sg4-f2 + 3...Sh1*f2 4.Qd1-g4 + 4...Sf2*g4 # 2...Se8-f6 3.Sg4-f2 + 3...Sh1*f2 4.Qd1-g4 + 4...Sf2*g4 # 4...Sf6*g4 # 2...Se8-g7 3.Sg4-f2 + 3...Sh1*f2 4.Qd1-g4 + 4...Sf2*g4 # 2...Rg8-g7 3.Sg4-f2 + 3...Sh1*f2 4.Qd1-g4 + 4...Sf2*g4 # 2...Rg8-f8 3.Sg4-f2 + 3...Sh1*f2 4.Qd1-g4 + 4...Sf2*g4 # 2...Rg8-h8 3.Sg4-f2 + 3...Sh1*f2 4.Qd1-g4 + 4...Sf2*g4 # 1...Ba7-e3 2.Bc1*e3 + 2...Kf4-e4 3.Sg4-f2 + 3...Sh1*f2 4.Qd1-g4 + 4...Sf2*g4 #" --- authors: - Loyd, Samuel source: Cincinnati Daily Gazette source-id: v12 date: 1859-11-24 algebraic: white: [Kd6, Qg1, Re3, Sd5, Sc4, Pb3, Pa4] black: [Kd4, Rf4, Rd2, Bh5, Ba1, Sh2, Pf7, Pf6, Pc3, Pb6, Pa5] stipulation: "#3" solution: | "1.Qg1-f2 ! threat: 2.Qf2*f4 # 1...Rd2*f2 2.Sc4-a3 threat: 3.Sa3-b5 # 2...Bh5-e2 3.Sa3-c2 # 1...Sh2-f3 2.Sc4-a3 threat: 3.Sa3-b5 # 2.Sd5-e7 threat: 3.Se7-c6 # 2...Sf3-e5 3.Qf2*f4 # 1...Rf4*f2 2.Sd5-e7 threat: 3.Se7-c6 # 2...Bh5-f3 3.Se7-f5 # 1...Rf4-f3 2.Sd5-e7 threat: 3.Se7-c6 # 2...Rf3*e3 3.Qf2*e3 # 2.Sc4-a3 threat: 3.Sa3-b5 # 2...Rf3*e3 3.Qf2*e3 # 1...Rf4-e4 2.Qf2*f6 + 2...Re4-e5 3.Qf6*e5 # 1...Rf4-f5 2.Qf2*f5 threat: 3.Qf5-e4 # 3.Qf5-f4 # 3.Qf5*f6 # 2...Rd2-f2 3.Qf5-d3 # 3.Qf5-e4 # 3.Re3-d3 # 2...Sh2-g4 3.Qf5-e4 # 3.Qf5-f4 # 2...Sh2-f3 3.Qf5-e4 # 3.Qf5-f4 # 2...Bh5-f3 3.Qf5*f6 # 2...Bh5-g6 3.Qf5*f6 # 1...Rf4-h4 2.Qf2*f6 # 1...Rf4-g4 2.Qf2*f6 # 1...Bh5-f3 2.Sc4-a3 threat: 3.Sa3-b5 # 2...Bf3-e2 3.Qf2*f4 # 1...Bh5-g6 2.Qf2*f4 + 2...Bg6-e4 3.Qf4*e4 # 3.Qf4*f6 #" --- authors: - Loyd, Samuel source: Chess Monthly date: 1857 algebraic: white: [Ka1, Qd1, Rc5, Rc3, Bf3, Bb6, Pg3, Pe6] black: [Kd4, Rg2, Re2, Sb2, Sa3, Pd2] stipulation: "#3" solution: | "1.Rc5-a5 + ! 1...Kd4*c3 2.Ra5*a3 + 2...Kc3-c4 3.Qd1-b3 # 2...Kc3-b4 3.Qd1-b3 # 1.Rc5-b5 + ! 1...Kd4*c3 2.Qd1-b3 # 1.Ka1-a2 ! threat: 2.Rc5-a5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-b5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-h5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-g5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-f5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-d5 + 2...Kd4*c3 3.Qd1-b3 # 2.Ka2-b3 threat: 3.Rc5-a5 # 3.Rc5-b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Rc5-d5 # 2...Sb2-d3 3.Rc5-d5 # 2...Sb2-c4 3.Rc5-d5 # 2...Sb2-a4 3.Rc5-d5 # 2...Re2*e6 3.Rc5-d5 # 2...Re2-e5 3.Rc5-c4 # 3.Rc5-d5 # 2...Re2-e4 3.Rc5-a5 # 3.Rc5-b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 2...Sa3-c4 3.Rc5-d5 # 2...Sa3-b5 3.Rc5-d5 # 3.Rc5*b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 2.Qd1-b3 threat: 3.Rc5-a5 # 3.Rc5-b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Rc5-d5 # 3.Qb3-d5 # 2...Sb2-d3 3.Rc5-d5 # 3.Rc3*d3 # 2...Sb2-c4 3.Rc5-d5 # 3.Rc3-d3 # 2...Sb2-a4 3.Rc5-d5 # 3.Rc3-d3 # 3.Qb3-d5 # 2...Re2*e6 3.Rc5-d5 # 3.Qb3-d5 # 2...Re2-e5 3.Rc5-c4 # 3.Rc5-d5 # 2...Sa3-c4 3.Rc5-d5 # 2...Sa3-b5 3.Rc5-d5 # 3.Rc5*b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Qb3-d5 # 1...Sb2*d1 2.Ka2-b3 threat: 3.Rc5-a5 # 3.Rc5-b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Rc5-d5 # 2...Sd1*c3 3.Rc5-d5 # 2...Re2*e6 3.Rc5-d5 # 2...Re2-e5 3.Rc5-c4 # 3.Rc5-d5 # 2...Re2-e4 3.Rc5-a5 # 3.Rc5-b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 2...Sa3-c4 3.Rc5-d5 # 2...Sa3-b5 3.Rc5-d5 # 3.Rc5*b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 1...Sb2-d3 2.Rc5-d5 + 2...Kd4*c3 3.Qd1-b3 # 1...Sb2-c4 2.Rc5-d5 + 2...Kd4*c3 3.Qd1-b3 # 1...Sb2-a4 2.Rc5-d5 + 2...Kd4*c3 3.Qd1-b3 # 2.Qd1*a4 + 2...Sa3-c4 3.Qa4*c4 # 1...Re2-e1 2.Rc5-a5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-b5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-h5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-g5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-f5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-d5 + 2...Kd4*c3 3.Qd1-b3 # 2.Ka2-b3 threat: 3.Rc5-a5 # 3.Rc5-b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Rc5-d5 # 2...Re1*e6 3.Rc5-d5 # 2...Re1-e5 3.Rc5-c4 # 3.Rc5-d5 # 2...Re1-e4 3.Rc5-a5 # 3.Rc5-b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 2...Sb2-d3 3.Rc5-d5 # 2...Sb2-c4 3.Rc5-d5 # 2...Sb2-a4 3.Rc5-d5 # 2...Sa3-c4 3.Rc5-d5 # 2...Sa3-b5 3.Rc5-d5 # 3.Rc5*b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 1...Re2*e6 2.Rc5-d5 + 2...Kd4*c3 3.Qd1-b3 # 2.Qd1-b3 threat: 3.Rc5-d5 # 3.Qb3-d5 # 2...Sb2-d3 3.Rc5-d5 # 3.Rc3*d3 # 2...Sb2-c4 3.Rc3-d3 # 3.Rc5-d5 # 2...Sa3-c4 3.Rc5-d5 # 2...Re6-e5 3.Rc5-c4 # 3.Rc5-d5 # 2...Re6-d6 3.Rc5-d5 # 1...Re2-e4 2.Rc5-a5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-b5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-h5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-g5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-f5 + 2...Kd4*c3 3.Qd1-b3 # 1...Re2-e3 2.Rc5-a5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-b5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-h5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-g5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-f5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-d5 + 2...Kd4*c3 3.Qd1-b3 # 2.Qd1-b3 threat: 3.Rc5-a5 # 3.Rc5-b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Rc5-d5 # 3.Qb3-d5 # 2...Sb2-d3 3.Rc5-d5 # 3.Qb3-d5 # 2...Sb2-c4 3.Rc5-d5 # 2...Sb2-a4 3.Rc5-d5 # 3.Qb3-d5 # 2...Sa3-c4 3.Rc5-d5 # 2...Sa3-b5 3.Rc5-d5 # 3.Rc5*b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Qb3-d5 # 2...Re3*c3 3.Rc5-d5 # 3.Qb3*c3 # 2...Re3-d3 3.Rc5-a5 # 3.Rc5-b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Rc5-d5 # 2...Re3*e6 3.Rc5-d5 # 3.Qb3-d5 # 2...Re3-e5 3.Rc5-c4 # 3.Rc5-d5 # 2...Re3*f3 3.Qb3-d5 # 1...Re2-f2 2.Rc5-a5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-b5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-h5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-g5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-f5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-d5 + 2...Kd4*c3 3.Qd1-b3 # 2.Qd1-b3 threat: 3.Rc5-a5 # 3.Rc5-b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Rc5-d5 # 3.Qb3-d5 # 2...Sb2-d3 3.Rc5-d5 # 3.Rc3*d3 # 2...Sb2-c4 3.Rc5-d5 # 3.Rc3-d3 # 2...Sb2-a4 3.Rc5-d5 # 3.Rc3-d3 # 3.Qb3-d5 # 2...Rf2*f3 3.Qb3-d5 # 2...Sa3-c4 3.Rc5-d5 # 2...Sa3-b5 3.Rc5-d5 # 3.Rc5*b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Qb3-d5 # 1...Rg2-g1 2.Rc5-a5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-b5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-h5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-g5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-f5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-d5 + 2...Kd4*c3 3.Qd1-b3 # 2.Ka2-b3 threat: 3.Rc5-a5 # 3.Rc5-b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Rc5-d5 # 2...Sb2-d3 3.Rc5-d5 # 2...Sb2-c4 3.Rc5-d5 # 2...Sb2-a4 3.Rc5-d5 # 2...Re2*e6 3.Rc5-d5 # 2...Re2-e5 3.Rc5-c4 # 3.Rc5-d5 # 2...Re2-e4 3.Rc5-a5 # 3.Rc5-b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 2...Sa3-c4 3.Rc5-d5 # 2...Sa3-b5 3.Rc5-d5 # 3.Rc5*b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 2.Qd1*g1 + 2...Re2-e3 3.Qg1*e3 # 2...Re2-f2 3.Qg1*f2 # 1...Rg2-f2 2.Rc5-a5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-b5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-h5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-g5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-f5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-d5 + 2...Kd4*c3 3.Qd1-b3 # 2.Qd1-b3 threat: 3.Rc5-a5 # 3.Rc5-b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Rc5-d5 # 3.Qb3-d5 # 2...Sb2-d3 3.Rc5-d5 # 3.Rc3*d3 # 2...Sb2-c4 3.Rc5-d5 # 3.Rc3-d3 # 2...Sb2-a4 3.Rc5-d5 # 3.Rc3-d3 # 3.Qb3-d5 # 2...Re2*e6 3.Rc5-d5 # 3.Qb3-d5 # 2...Re2-e5 3.Rc5-c4 # 3.Rc5-d5 # 2...Rf2*f3 3.Qb3-d5 # 2...Sa3-c4 3.Rc5-d5 # 2...Sa3-b5 3.Rc5-d5 # 3.Rc5*b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Qb3-d5 # 1...Rg2*g3 2.Rc5-a5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-b5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-h5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-g5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-f5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-d5 + 2...Kd4*c3 3.Qd1-b3 # 2.Qd1*e2 threat: 3.Rc5-c4 # 3.Rc5-c8 # 3.Rc5-c7 # 3.Rc5-c6 # 3.Qe2-e5 # 3.Qe2-e4 # 3.Qe2-e3 # 3.Qe2-f2 # 2...Sb2-d1 3.Rc5-c4 # 3.Rc5-c8 # 3.Rc5-c7 # 3.Rc5-c6 # 3.Rc3-d3 # 3.Qe2-d3 # 3.Qe2*d2 # 3.Qe2-e5 # 3.Qe2-e4 # 2...Sb2-d3 3.Rc5-c4 # 3.Rc3*d3 # 3.Qe2*d3 # 3.Qe2-e4 # 2...Sb2-c4 3.Rc5*c4 # 3.Rc3-d3 # 3.Qe2-d3 # 2...Sb2-a4 3.Rc5-c4 # 3.Rc3-d3 # 3.Qe2-d3 # 3.Qe2*d2 # 3.Qe2-e5 # 3.Qe2-e4 # 3.Qe2-e3 # 3.Qe2-f2 # 2...d2-d1=S 3.Rc5-c4 # 3.Rc5-c8 # 3.Rc5-c7 # 3.Rc5-c6 # 3.Qe2-e5 # 3.Qe2-e4 # 2...Sa3-c2 3.Rc5-c4 # 3.Rc5-c8 # 3.Rc5-c7 # 3.Rc5-c6 # 3.Qe2-e5 # 3.Qe2-e4 # 2...Sa3-c4 3.Rc5*c4 # 2...Rg3-g2 3.Rc5-c4 # 3.Rc5-c8 # 3.Rc5-c7 # 3.Rc5-c6 # 3.Qe2-e5 # 3.Qe2-e4 # 3.Qe2-e3 # 2...Rg3*f3 3.Qe2-e5 # 2...Rg3-g5 3.Rc5-c4 # 3.Qe2-e4 # 3.Qe2-e3 # 3.Qe2-f2 # 2...Rg3-g4 3.Rc5-c4 # 3.Rc5-c8 # 3.Rc5-c7 # 3.Rc5-c6 # 3.Qe2-e5 # 3.Qe2-e3 # 3.Qe2-f2 # 2.Qd1-b3 threat: 3.Rc5-a5 # 3.Rc5-b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Rc5-d5 # 3.Qb3-d5 # 2...Sb2-d3 3.Rc5-d5 # 3.Rc3*d3 # 2...Sb2-c4 3.Rc5-d5 # 3.Rc3-d3 # 2...Sb2-a4 3.Rc5-d5 # 3.Rc3-d3 # 3.Qb3-d5 # 2...Re2*e6 3.Rc5-d5 # 3.Qb3-d5 # 2...Re2-e5 3.Rc5-c4 # 3.Rc5-d5 # 2...Sa3-c4 3.Rc5-d5 # 2...Sa3-b5 3.Rc5-d5 # 3.Rc5*b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Qb3-d5 # 2...Rg3*f3 3.Qb3-d5 # 2...Rg3-g5 3.Rc5*g5 # 3.Rc5-f5 # 3.Rc5-d5 # 1...Sa3-c2 2.Ka2*b2 threat: 3.Rc5-a5 # 3.Rc5-b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Rc5-d5 # 2...Re2*e6 3.Rc5-d5 # 2...Re2-e5 3.Rc5-c4 # 3.Rc5-d5 # 2...Re2-e4 3.Rc5-a5 # 3.Rc5-b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 2.Qd1*c2 threat: 3.Rc5-a5 # 3.Rc5-b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Rc5-d5 # 2...Sb2-d3 3.Rc5-d5 # 3.Rc3*d3 # 3.Qc2*d3 # 2...Sb2-c4 3.Rc5-d5 # 3.Rc3-d3 # 3.Qc2-d3 # 2...Sb2-a4 3.Rc5-d5 # 3.Rc3-d3 # 3.Qc2-d3 # 3.Qc2*a4 # 2...Re2*e6 3.Rc5-d5 # 2...Re2-e5 3.Rc5-c4 # 3.Rc5-d5 # 2...Re2-e4 3.Rc5-a5 # 3.Rc5-b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Qc2*e4 # 1...Sa3-c4 2.Rc5-d5 + 2...Kd4*c3 3.Qd1-b3 # 1...Sa3-b5 2.Rc5-d5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5*b5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-h5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-g5 + 2...Kd4*c3 3.Qd1-b3 # 2.Rc5-f5 + 2...Kd4*c3 3.Qd1-b3 # 2.Ka2-b3 threat: 3.Rc5*b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Rc5-d5 # 2...Sb2-d3 3.Rc5-d5 # 2...Sb2-c4 3.Rc5-d5 # 2...Sb2-a4 3.Rc5-d5 # 2...Re2*e6 3.Rc5-d5 # 2...Re2-e5 3.Rc5-c4 # 3.Rc5-d5 # 2...Re2-e4 3.Rc5*b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 2...Sb5*c3 3.Rc5-d5 # 2.Qd1-b3 threat: 3.Rc5*b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Rc5-d5 # 3.Qb3-d5 # 2...Sb2-d3 3.Rc5-d5 # 3.Rc3*d3 # 2...Sb2-c4 3.Rc5-d5 # 3.Rc3*c4 # 3.Rc3-d3 # 3.Qb3*c4 # 2...Sb2-a4 3.Rc5-d5 # 3.Rc3-c4 # 3.Rc3-d3 # 3.Qb3-d5 # 3.Qb3-c4 # 3.Qb3*a4 # 3.Qb3-b4 # 2...Re2*e6 3.Rc5-d5 # 3.Qb3-d5 # 2...Re2-e5 3.Rc5-c4 # 3.Rc5-d5 # 2...Sb5*c3 + 3.Qb3*c3 # 2...Sb5-c7 3.Rc5-a5 # 3.Rc5-b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Rc5-d5 # 2.Qd1-c2 threat: 3.Rc5*b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Rc5-d5 # 2...Sb2-d3 3.Rc5-d5 # 3.Rc3*d3 # 3.Qc2*d3 # 2...Sb2-c4 3.Rc5-d5 # 3.Rc3-d3 # 3.Qc2-d3 # 2...Sb2-a4 3.Rc5-d5 # 3.Rc3-d3 # 3.Qc2-d3 # 3.Qc2*a4 # 2...Re2*e6 3.Rc5-d5 # 2...Re2-e5 3.Rc5-c4 # 3.Rc5-d5 # 2...Re2-e4 3.Rc5*b5 # 3.Rc5-h5 # 3.Rc5-g5 # 3.Rc5-f5 # 3.Qc2*e4 # 2...Sb5*c3 + 3.Qc2*c3 #" --- authors: - Loyd, Samuel source: American Chess Magazine date: 1898-12 algebraic: white: [Ke4, Re5, Bc8, Ba3, Sa8, Pf7, Pc7, Pb5, Pb4] black: [Kd6, Rd8, Bd7] stipulation: "#3" solution: | "1.Pc7*d8=P! Bd7*c8 2.f7-f8=Q+ Kd6-d7 3.Qf8-e7# 1.Pc7*d8=P Bd7-c6+ 2.Pb5*c6 Kd6*c6 3.Pb4-b5# 1.Pc7*d8=P Bd7-f5+ 2.Re5*f5 Kd6-e7 3.f7-f8=Q#" keywords: - Joke problem comments: - wPc7xbRd8=wP (dummy Pawn!) --- authors: - Loyd, Samuel source: New York Mail And Express date: 1892 algebraic: white: [Ke7, Qd8, Rh4, Rc5, Be2, Sh1, Sf8, Ph3, Pf3, Pe4] black: [Kg5, Qh5, Ph2, Pg4, Pe5] stipulation: "#3" solution: | "1.Ke7-e6 + ! 1...Kg5-f4 2.Qd8-d2 # 1...Kg5-h6 2.Qd8-f6 # 1.Rc5-c7 ! threat: 2.Ke7-e6 + 2...Kg5-f4 3.Qd8-d2 # 2...Kg5-h6 3.Qd8-d2 # 3.Qd8-f6 # 3.Rc7-h7 # 1...Qh5-e8 + 2.Ke7*e8 + 2...Kg5-f4 3.Qd8-d2 # 1...Qh5-f7 + 2.Ke7*f7 + 2...Kg5-f4 3.Qd8-d2 # 1...Qh5-g6 2.Sf8*g6 threat: 3.Ke7-f7 # 2...Kg5*g6 3.Qd8-g8 # 1...Qh5-h7 + 2.Rh4*h7 threat: 3.Qd8-d2 # 1...Qh5-h6 2.Qd8-d2 + 2...Kg5*h4 3.Qd2*h6 # 2.Ke7-f7 + 2...Kg5-f4 3.Qd8-d2 # 2...Qh6-f6 + 3.Qd8*f6 # 2.Rh4*g4 + 2...Kg5-h5 3.Sh1-g3 #" --- authors: - Loyd, Samuel source: The Illustrated London News date: 1878 algebraic: white: [Ka3, Qa1, Rh1, Rd2, Bf4, Sc3, Pg5, Pg4, Pf2, Pd5, Pc6, Pc2] black: [Kd4, Qh8, Be8, Sg7, Sc8, Pf5, Pd3, Pc5, Pc4, Pa4] stipulation: "#3" solution: | "1.Rh1-h5 ! threat: 2.Qa1-h1 threat: 3.Sc3-e2 # 3.Sc3-b5 # 2...Kd4*c3 3.Qh1-a1 # 2...Sc8-a7 3.Sc3-e2 # 2...Sc8-d6 3.Sc3-e2 # 2...Be8*c6 3.Sc3-e2 # 1...Sg7-e6 2.Sc3-e2 + 2...Kd4-e4 3.Qa1-h1 # 2...Kd4*d5 3.Qa1-h1 # 1...Sc8-d6 2.Bf4-e3 + 2...Kd4-e5 3.f2-f4 # 1...Be8*c6 2.Sc3-e2 + 2...Kd4-e4 3.Qa1-h1 # 2...Kd4*d5 3.Qa1-e5 # 1...Qh8*h5 2.Qa1-e1 threat: 3.Bf4-e5 # 3.Qe1-e5 # 2...Qh5-h2 3.Qe1-e5 #" --- authors: - Loyd, Samuel source: The Dubuque Chess Journal date: 1890 algebraic: white: [Kf1, Qd3, Re2, Rd4, Be4, Sf5, Sc3, Pf3, Pe6, Pd5, Pd2, Pc4] black: [Ke5, Pf6, Pf4, Pb2, Pa2] stipulation: "#3" solution: | "1.e6-e7 ! threat: 2.e7-e8=Q # 2.e7-e8=R # 1...a2-a1=Q + 2.Qd3-b1 threat: 3.e7-e8=Q # 3.e7-e8=R # 3.Be4-c2 # 3.Be4-d3 # 2...Qa1-a8 3.Be4-c2 # 3.Be4-d3 # 2...Qa1-a7 3.Be4-c2 # 3.Be4-d3 # 2...Qa1-a6 3.Be4-c2 # 3.Be4-d3 # 2...Qa1-a4 3.Be4-c2 # 3.Be4-d3 # 2...Qa1-a3 3.Be4-c2 # 3.Be4-d3 # 2...Qa1*b1 + 3.Be4*b1 # 1...a2-a1=R + 2.Qd3-b1 threat: 3.e7-e8=Q # 3.e7-e8=R # 3.Be4-c2 # 3.Be4-d3 # 2...Ra1-a8 3.Be4-c2 # 3.Be4-d3 # 2...Ra1-a7 3.Be4-c2 # 3.Be4-d3 # 2...Ra1-a6 3.Be4-c2 # 3.Be4-d3 # 2...Ra1*b1 + 3.Be4*b1 # 1...b2-b1=Q + 2.Qd3*b1 threat: 3.e7-e8=Q # 3.e7-e8=R # 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2-a1=Q 3.e7-e8=Q # 3.e7-e8=R # 3.Be4-c2 # 3.Be4-d3 # 2...a2-a1=R 3.Be4-d3 # 3.e7-e8=Q # 3.e7-e8=R # 3.Be4-c2 # 2...a2*b1=Q + 3.Be4*b1 # 2...a2*b1=S 3.Be4*b1 # 3.e7-e8=Q # 3.e7-e8=R # 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=R + 3.Be4*b1 # 2...a2*b1=B 3.Be4*b1 # 3.e7-e8=Q # 3.e7-e8=R # 3.Be4-c2 # 3.Be4-d3 # 1...b2-b1=R + 2.Qd3*b1 threat: 3.Qb1-b8 # 3.e7-e8=Q # 3.e7-e8=R # 3.Be4-c2 # 3.Be4-d3 # 2...a2-a1=Q 3.e7-e8=Q # 3.e7-e8=R # 3.Be4-c2 # 3.Be4-d3 # 2...a2-a1=R 3.Be4-d3 # 3.e7-e8=Q # 3.e7-e8=R # 3.Be4-c2 # 2...a2*b1=Q + 3.Be4*b1 # 2...a2*b1=S 3.Be4*b1 # 3.e7-e8=Q # 3.e7-e8=R # 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=R + 3.Be4*b1 # 2...a2*b1=B 3.Be4*b1 # 3.e7-e8=Q # 3.e7-e8=R # 3.Be4-c2 # 3.Be4-d3 # 1.c4-c5 ! threat: 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=Q + 3.Be4*b1 # 2...a2*b1=R + 3.Be4*b1 # 2.Qd3-a6 threat: 3.Qa6-d6 # 3.Be4-b1 # 3.Be4-c2 # 3.Be4-d3 # 2...a2-a1=Q + 3.Be4-b1 # 2...a2-a1=R + 3.Be4-b1 # 2...b2-b1=Q + 3.Be4*b1 # 2...b2-b1=R + 3.Be4*b1 # 2.Qd3-b5 threat: 3.Be4-d3 # 3.Qb5-b8 # 3.Be4-b1 # 3.Be4-c2 # 2...a2-a1=Q + 3.Be4-b1 # 2...a2-a1=R + 3.Be4-b1 # 2...b2-b1=Q + 3.Be4*b1 # 2...b2-b1=R + 3.Be4*b1 # 2.Qd3-c4 threat: 3.Be4-c2 # 3.Be4-b1 # 3.Be4-d3 # 2...a2-a1=Q + 3.Be4-b1 # 2...a2-a1=R + 3.Be4-b1 # 2...b2-b1=Q + 3.Be4*b1 # 2...b2-b1=R + 3.Be4*b1 # 1...a2-a1=Q + 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2...Qa1-a6 3.Be4-d3 # 2...Qa1*b1 + 3.Be4*b1 # 1...a2-a1=R + 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2...Ra1*b1 + 3.Be4*b1 # 1...a2-a1=B 2.Qd3-a6 threat: 3.Qa6-d6 # 3.Be4-b1 # 3.Be4-c2 # 3.Be4-d3 # 2...b2-b1=Q + 3.Be4*b1 # 2...b2-b1=R + 3.Be4*b1 # 2.Qd3-b5 threat: 3.Be4-d3 # 3.Qb5-b8 # 3.Be4-b1 # 3.Be4-c2 # 2...b2-b1=Q + 3.Be4*b1 # 2...b2-b1=R + 3.Be4*b1 # 2.Qd3-c4 threat: 3.Be4-c2 # 3.Be4-b1 # 3.Be4-d3 # 2...b2-b1=Q + 3.Be4*b1 # 2...b2-b1=R + 3.Be4*b1 # 1...b2-b1=Q + 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2-a1=Q 3.Be4-c2 # 3.Be4-d3 # 2...a2-a1=R 3.Be4-d3 # 3.Be4-c2 # 2...a2*b1=Q + 3.Be4*b1 # 2...a2*b1=S 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=R + 3.Be4*b1 # 2...a2*b1=B 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 1...b2-b1=S 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2-a1=Q 3.Be4-d3 # 3.Be4-c2 # 2...a2-a1=R 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=Q + 3.Be4*b1 # 2...a2*b1=S 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=R + 3.Be4*b1 # 2...a2*b1=B 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 1...b2-b1=R + 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2-a1=Q 3.Be4-d3 # 3.Be4-c2 # 2...a2-a1=R 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=Q + 3.Be4*b1 # 2...a2*b1=S 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=R + 3.Be4*b1 # 2...a2*b1=B 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 1...b2-b1=B 2.e6-e7 threat: 3.e7-e8=Q # 3.e7-e8=R # 2.Rd4-a4 threat: 3.Qd3-d4 # 2...Bb1*d3 3.Be4*d3 # 2.Rd4-b4 threat: 3.Qd3-d4 # 2...Bb1*d3 3.Be4*d3 # 2.Rd4-c4 threat: 3.Qd3-d4 # 2...Bb1*d3 3.Be4*d3 # 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2-a1=Q 3.Be4-d3 # 3.Be4-c2 # 2...a2-a1=R 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=Q + 3.Be4*b1 # 2...a2*b1=S 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=R + 3.Be4*b1 # 2...a2*b1=B 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2.Qd3-c2 threat: 3.Be4-d3 # 1.Qd3-b1 ! threat: 2.Be4-c2 # 2.Be4-d3 # 1...a2*b1=Q + 2.Be4*b1 # 1...a2*b1=R + 2.Be4*b1 # 1.Qd3-c2 ! threat: 2.Be4-d3 # 1...a2-a1=Q + 2.Qc2-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2...Qa1*b1 + 3.Be4*b1 # 1...a2-a1=R + 2.Qc2-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2...Ra1*b1 + 3.Be4*b1 # 1...b2-b1=Q + 2.Qc2*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2-a1=Q 3.Be4-d3 # 3.Be4-c2 # 2...a2-a1=R 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=Q + 3.Be4*b1 # 2...a2*b1=S 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=R + 3.Be4*b1 # 2...a2*b1=B 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 1...b2-b1=R + 2.Qc2*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2-a1=Q 3.Be4-d3 # 3.Be4-c2 # 2...a2-a1=R 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=Q + 3.Be4*b1 # 2...a2*b1=S 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=R + 3.Be4*b1 # 2...a2*b1=B 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 1.Sc3-d1 ! threat: 2.e6-e7 threat: 3.e7-e8=Q # 3.e7-e8=R # 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2.Qd3-c2 threat: 3.Be4-d3 # 2.Qd3-a3 threat: 3.Be4-d3 # 3.Be4-b1 # 3.Be4-c2 # 3.Qa3-d6 # 2.Qd3-b3 threat: 3.Be4-b1 # 3.Be4-c2 # 3.Be4-d3 # 3.Qb3-b8 # 2...b2-b1=Q 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...b2-b1=R 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2.Qd3-c3 threat: 3.Be4-b1 # 3.Be4-c2 # 3.Be4-d3 # 3.Rd4-d3 # 2...b2-b1=S 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 1...a2-a1=Q 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2...Qa1-a3 3.Be4-d3 # 1...a2-a1=R 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2...Ra1-a3 3.Be4-d3 # 1...a2-a1=B 2.e6-e7 threat: 3.e7-e8=Q # 3.e7-e8=R # 2.Qd3-c2 threat: 3.Be4-d3 # 2.Qd3-a3 threat: 3.Be4-d3 # 3.Be4-b1 # 3.Be4-c2 # 3.Qa3-d6 # 2.Qd3-b3 threat: 3.Be4-b1 # 3.Be4-c2 # 3.Be4-d3 # 3.Qb3-b8 # 2...b2-b1=Q 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...b2-b1=R 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2.Qd3-c3 threat: 3.Be4-b1 # 3.Be4-c2 # 3.Be4-d3 # 3.Rd4-d3 # 2...b2-b1=Q 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...b2-b1=S 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...b2-b1=R 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...b2-b1=B 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 1...b2-b1=Q 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2*b1=Q 3.Be4-d3 # 3.Be4*b1 # 3.Be4-c2 # 2...a2*b1=S 3.Be4-c2 # 3.Be4*b1 # 3.Be4-d3 # 2...a2*b1=R 3.Be4-d3 # 3.Be4*b1 # 3.Be4-c2 # 2...a2*b1=B 3.Be4-c2 # 3.Be4*b1 # 3.Be4-d3 # 1...b2-b1=S 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2*b1=Q 3.Be4-d3 # 3.Be4*b1 # 3.Be4-c2 # 2...a2*b1=S 3.Be4-c2 # 3.Be4*b1 # 3.Be4-d3 # 2...a2*b1=R 3.Be4-d3 # 3.Be4*b1 # 3.Be4-c2 # 2...a2*b1=B 3.Be4-c2 # 3.Be4*b1 # 3.Be4-d3 # 1...b2-b1=R 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2*b1=Q 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=S 3.Be4-d3 # 3.Be4*b1 # 3.Be4-c2 # 2...a2*b1=R 3.Be4-c2 # 3.Be4*b1 # 3.Be4-d3 # 2...a2*b1=B 3.Be4-d3 # 3.Be4*b1 # 3.Be4-c2 # 1...b2-b1=B 2.e6-e7 threat: 3.e7-e8=Q # 3.e7-e8=R # 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2*b1=Q 3.Be4-d3 # 3.Be4*b1 # 3.Be4-c2 # 2...a2*b1=S 3.Be4-c2 # 3.Be4*b1 # 3.Be4-d3 # 2...a2*b1=R 3.Be4-d3 # 3.Be4*b1 # 3.Be4-c2 # 2...a2*b1=B 3.Be4-c2 # 3.Be4*b1 # 3.Be4-d3 # 2.Qd3-c2 threat: 3.Be4-d3 # 2.Sd1-f2 threat: 3.Sf2-g4 # 1.Sc3-b5 ! threat: 2.Qd3-c3 threat: 3.Be4-b1 # 3.Be4-c2 # 3.Be4-d3 # 3.Rd4-d3 # 2...a2-a1=Q + 3.Be4-b1 # 2...a2-a1=R + 3.Be4-b1 # 2...b2-b1=Q + 3.Be4*b1 # 2...b2-b1=S 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...b2-b1=R + 3.Be4*b1 # 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=Q + 3.Be4*b1 # 2...a2*b1=R + 3.Be4*b1 # 2.Qd3-a3 threat: 3.Be4-b1 # 3.Be4-c2 # 3.Be4-d3 # 3.Qa3-d6 # 2...a2-a1=Q + 3.Be4-b1 # 2...a2-a1=R + 3.Be4-b1 # 2...b2-b1=Q + 3.Be4*b1 # 2...b2-b1=R + 3.Be4*b1 # 2.Qd3-b3 threat: 3.Be4-b1 # 3.Be4-c2 # 3.Be4-d3 # 2...a2-a1=Q + 3.Be4-b1 # 2...a2-a1=R + 3.Be4-b1 # 2...b2-b1=Q + 3.Be4*b1 # 2...b2-b1=R + 3.Be4*b1 # 1...a2-a1=Q + 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2...Qa1-a3 3.Be4-d3 # 2...Qa1*b1 + 3.Be4*b1 # 1...a2-a1=R + 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2...Ra1-a3 3.Be4-d3 # 2...Ra1*b1 + 3.Be4*b1 # 1...a2-a1=B 2.Qd3-a3 threat: 3.Be4-b1 # 3.Be4-c2 # 3.Be4-d3 # 3.Qa3-d6 # 2...b2-b1=Q + 3.Be4*b1 # 2...b2-b1=R + 3.Be4*b1 # 2.Qd3-b3 threat: 3.Be4-b1 # 3.Be4-c2 # 3.Be4-d3 # 2...b2-b1=Q + 3.Be4*b1 # 2...b2-b1=R + 3.Be4*b1 # 2.Qd3-c3 threat: 3.Be4-d3 # 3.Be4-b1 # 3.Be4-c2 # 3.Rd4-d3 # 2...b2-b1=Q + 3.Be4*b1 # 2...b2-b1=S 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...b2-b1=R + 3.Be4*b1 # 2...b2-b1=B 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 1...b2-b1=Q + 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=Q + 3.Be4*b1 # 2...a2*b1=R + 3.Be4*b1 # 1...b2-b1=S 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=Q + 3.Be4*b1 # 2...a2*b1=R + 3.Be4*b1 # 1...b2-b1=R + 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=Q + 3.Be4*b1 # 2...a2*b1=R + 3.Be4*b1 # 1...b2-b1=B 2.e6-e7 threat: 3.e7-e8=Q # 3.e7-e8=R # 2.Sb5-d6 threat: 3.Sd6-f7 # 2.Sb5-a7 threat: 3.Sa7-c6 # 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=Q + 3.Be4*b1 # 2...a2*b1=R + 3.Be4*b1 # 2.Qd3-c2 threat: 3.Be4-d3 # 1.Sc3-a4 ! threat: 2.Qd3-b3 threat: 3.Be4-b1 # 3.Be4-c2 # 3.Be4-d3 # 3.Qb3-b8 # 2...a2-a1=Q + 3.Be4-b1 # 2...a2-a1=R + 3.Be4-b1 # 2...b2-b1=Q + 3.Be4*b1 # 2...b2-b1=R + 3.Be4*b1 # 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=Q + 3.Be4*b1 # 2...a2*b1=R + 3.Be4*b1 # 2.Qd3-a3 threat: 3.Be4-b1 # 3.Be4-c2 # 3.Be4-d3 # 3.Qa3-d6 # 2...a2-a1=Q + 3.Be4-b1 # 2...a2-a1=R + 3.Be4-b1 # 2...b2-b1=Q + 3.Be4*b1 # 2...b2-b1=R + 3.Be4*b1 # 2.Qd3-c3 threat: 3.Be4-b1 # 3.Be4-c2 # 3.Be4-d3 # 3.Rd4-d3 # 2...a2-a1=Q + 3.Be4-b1 # 2...a2-a1=R + 3.Be4-b1 # 2...b2-b1=Q + 3.Be4*b1 # 2...b2-b1=S 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...b2-b1=R + 3.Be4*b1 # 1...a2-a1=Q + 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2...Qa1-a3 3.Be4-d3 # 2...Qa1*b1 + 3.Be4*b1 # 1...a2-a1=R + 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2...Ra1-a3 3.Be4-d3 # 2...Ra1*b1 + 3.Be4*b1 # 1...a2-a1=B 2.Qd3-a3 threat: 3.Be4-b1 # 3.Be4-c2 # 3.Be4-d3 # 3.Qa3-d6 # 2...b2-b1=Q + 3.Be4*b1 # 2...b2-b1=R + 3.Be4*b1 # 2.Qd3-b3 threat: 3.Be4-b1 # 3.Be4-c2 # 3.Be4-d3 # 3.Qb3-b8 # 2...b2-b1=Q + 3.Be4*b1 # 2...b2-b1=R + 3.Be4*b1 # 2.Qd3-c3 threat: 3.Be4-b1 # 3.Be4-c2 # 3.Be4-d3 # 3.Rd4-d3 # 2...b2-b1=Q + 3.Be4*b1 # 2...b2-b1=S 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...b2-b1=R + 3.Be4*b1 # 2...b2-b1=B 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 1...b2-b1=Q + 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2-a1=Q 3.Be4-d3 # 3.Be4-c2 # 2...a2-a1=R 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=Q + 3.Be4*b1 # 2...a2*b1=S 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=R + 3.Be4*b1 # 2...a2*b1=B 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 1...b2-b1=S 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2-a1=Q 3.Be4-d3 # 3.Be4-c2 # 2...a2-a1=R 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=Q + 3.Be4*b1 # 2...a2*b1=S 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=R + 3.Be4*b1 # 2...a2*b1=B 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 1...b2-b1=R + 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2-a1=Q 3.Be4-c2 # 3.Be4-d3 # 2...a2-a1=R 3.Be4-d3 # 3.Be4-c2 # 2...a2*b1=Q + 3.Be4*b1 # 2...a2*b1=S 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=R + 3.Be4*b1 # 2...a2*b1=B 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 1...b2-b1=B 2.e6-e7 threat: 3.e7-e8=Q # 3.e7-e8=R # 2.Sa4-c5 threat: 3.Sc5-d7 # 2.Sa4-b6 threat: 3.Sb6-d7 # 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2-a1=Q 3.Be4-c2 # 3.Be4-d3 # 2...a2-a1=R 3.Be4-d3 # 3.Be4-c2 # 2...a2*b1=Q + 3.Be4*b1 # 2...a2*b1=S 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=R + 3.Be4*b1 # 2...a2*b1=B 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2.Qd3-c2 threat: 3.Be4-d3 # 1.Re2-e1 ! threat: 2.e6-e7 threat: 3.e7-e8=Q # 3.e7-e8=R # 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=Q 3.Be4*b1 # 2...a2*b1=R 3.Be4*b1 # 2.Qd3-e2 threat: 3.Be4-b1 # 3.Be4-c2 # 3.Be4-d3 # 1...a2-a1=Q 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2...Qa1*b1 3.Be4*b1 # 1...a2-a1=R 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2...Ra1*b1 3.Be4*b1 # 1...a2-a1=B 2.e6-e7 threat: 3.e7-e8=Q # 3.e7-e8=R # 2.Qd3-e2 threat: 3.Be4-b1 # 3.Be4-c2 # 3.Be4-d3 # 1...b2-b1=Q 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2*b1=Q 3.Be4*b1 # 2...a2*b1=S 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=R 3.Be4*b1 # 2...a2*b1=B 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 1...b2-b1=S 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2*b1=Q 3.Be4*b1 # 2...a2*b1=S 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=R 3.Be4*b1 # 2...a2*b1=B 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 1...b2-b1=R 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2*b1=Q 3.Be4*b1 # 2...a2*b1=S 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=R 3.Be4*b1 # 2...a2*b1=B 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 1.Kf1-f2 ! threat: 2.e6-e7 threat: 3.e7-e8=Q # 3.e7-e8=R # 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2.Qd3-c2 threat: 3.Be4-d3 # 1...a2-a1=Q 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 1...a2-a1=R 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 1...a2-a1=B 2.e6-e7 threat: 3.e7-e8=Q # 3.e7-e8=R # 2.Qd3-c2 threat: 3.Be4-d3 # 1...b2-b1=Q 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2*b1=Q 3.Be4-d3 # 3.Be4*b1 # 3.Be4-c2 # 2...a2*b1=S 3.Be4-c2 # 3.Be4*b1 # 3.Be4-d3 # 2...a2*b1=R 3.Be4-d3 # 3.Be4*b1 # 3.Be4-c2 # 2...a2*b1=B 3.Be4-c2 # 3.Be4*b1 # 3.Be4-d3 # 1...b2-b1=S 2.e6-e7 threat: 3.e7-e8=Q # 3.e7-e8=R # 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2*b1=Q 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=S 3.Be4-d3 # 3.Be4*b1 # 3.Be4-c2 # 2...a2*b1=R 3.Be4-c2 # 3.Be4*b1 # 3.Be4-d3 # 2...a2*b1=B 3.Be4-d3 # 3.Be4*b1 # 3.Be4-c2 # 1...b2-b1=R 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2*b1=Q 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=S 3.Be4-d3 # 3.Be4*b1 # 3.Be4-c2 # 2...a2*b1=R 3.Be4-c2 # 3.Be4*b1 # 3.Be4-d3 # 2...a2*b1=B 3.Be4-d3 # 3.Be4*b1 # 3.Be4-c2 # 1.Kf1-g2 ! threat: 2.e6-e7 threat: 3.e7-e8=Q # 3.e7-e8=R # 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2.Qd3-c2 threat: 3.Be4-d3 # 1...a2-a1=Q 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 1...a2-a1=R 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 1...a2-a1=B 2.e6-e7 threat: 3.e7-e8=Q # 3.e7-e8=R # 2.Qd3-c2 threat: 3.Be4-d3 # 1...b2-b1=Q 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2*b1=Q 3.Be4-d3 # 3.Be4*b1 # 3.Be4-c2 # 2...a2*b1=S 3.Be4-c2 # 3.Be4*b1 # 3.Be4-d3 # 2...a2*b1=R 3.Be4-d3 # 3.Be4*b1 # 3.Be4-c2 # 2...a2*b1=B 3.Be4-c2 # 3.Be4*b1 # 3.Be4-d3 # 1...b2-b1=S 2.e6-e7 threat: 3.e7-e8=Q # 3.e7-e8=R # 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2*b1=Q 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=S 3.Be4-d3 # 3.Be4*b1 # 3.Be4-c2 # 2...a2*b1=R 3.Be4-c2 # 3.Be4*b1 # 3.Be4-d3 # 2...a2*b1=B 3.Be4-d3 # 3.Be4*b1 # 3.Be4-c2 # 1...b2-b1=R 2.Qd3*b1 threat: 3.Be4-c2 # 3.Be4-d3 # 3.Qb1-b8 # 2...a2*b1=Q 3.Be4*b1 # 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=S 3.Be4-d3 # 3.Be4*b1 # 3.Be4-c2 # 2...a2*b1=R 3.Be4-c2 # 3.Be4*b1 # 3.Be4-d3 # 2...a2*b1=B 3.Be4-d3 # 3.Be4*b1 # 3.Be4-c2 #" --- authors: - Loyd, Samuel source: Sam Loyd and his Chess Problems date: 1913 algebraic: white: [Kf8, Qb4, Re6, Ra2, Se4, Se2, Ph4, Pg5, Pg4, Pf3, Pd5, Pa3] black: [Ke3, Be5, Ph2, Pg2, Pa4] stipulation: "#3" solution: | "1.Se4-d6 ! threat: 2.Se2-g1 threat: 3.Qb4-d2 # 3.Qb4-e4 # 2...h2*g1=Q 3.Qb4-e4 # 2...h2*g1=S 3.Qb4-e4 # 2...h2*g1=R 3.Qb4-e4 # 2...h2*g1=B 3.Qb4-e4 # 2...Ke3-d3 3.Qb4-d2 # 1...Ke3*f3 2.Re6-f6 + 2...Kf3-e3 3.Qb4-d2 # 3.Qb4-e4 # 2...Be5-f4 3.Qb4*f4 # 2...Be5*f6 3.Qb4-f4 #" --- authors: - Loyd, Samuel source: Scientific American date: 1877 algebraic: white: [Kg2, Qe4, Be7, Be2, Sf7, Se5, Pf2, Pd2] black: [Ke6, Rd7, Be3, Pg3] stipulation: "#3" solution: | "1.Se5*d7 + ! 1...Ke6*f7 2.Be7-f6 threat: 3.Be2-c4 # 1...Ke6*d7 2.Be7-d6 threat: 3.Be2-g4 #" keywords: - Letters --- authors: - Loyd, Samuel source: Philadelphia Evening Bulletin date: 1859 algebraic: white: [Kh8, Qh3, Bg6, Ba5, Sf2, Sb6, Pf7, Pf5, Pb3, Pa7] black: [Kd6, Rf1, Rb1, Bf8, Ba8, Sg8, Sb5, Ph4, Pg7, Pg5, Pd7, Pd4, Pc5, Pc3, Pa3] stipulation: "#3" solution: --- authors: - Loyd, Samuel source: Cincinnati Dispatch date: 1859 algebraic: white: [Kf2, Qa2, Bd5, Ba5, Sb6] black: [Kd4, Rh6, Bc8, Sg7, Pg5, Pe6, Pb4] stipulation: "#3" solution: | "1.Qa2-a1 + ! 1...Kd4-d3 2.Qa1-d1 + 2...Kd3-c3 3.Sb6-a4 # 1...Kd4-c5 2.Qa1-e5 threat: 3.Bd5-h1 # 3.Bd5-g2 # 3.Bd5-f3 # 3.Bd5-e4 # 3.Bd5-a8 # 3.Bd5-b7 # 2...Kc5-b5 3.Bd5-b7 # 2...e6*d5 3.Qe5*d5 # 2...Rh6-h2 + 3.Bd5-g2 # 2...Rh6-f6 + 3.Bd5-f3 # 2...Bc8-b7 3.Bd5*b7 #" --- authors: - Loyd, Samuel source: | Blumenthal: Schachminiaturen, Neue Folge algebraic: white: [Kf5, Qh4, Pf7] black: [Kg7, Sh8] stipulation: "#4" solution: | "1.Qh4*h8 + ! 1...Kg7*f7 2.Qh8-h7 + 2...Kf7-f8 3.Kf5-e6 threat: 4.Qh7-f7 # 4.Qh7-h8 # 3...Kf8-e8 4.Qh7-g8 # 4.Qh7-e7 # 4.Qh7-h8 # 3.Kf5-f6 threat: 4.Qh7-f7 # 4.Qh7-h8 # 3...Kf8-e8 4.Qh7-e7 # 2...Kf7-e8 3.Kf5-e6 threat: 4.Qh7-g8 # 4.Qh7-e7 # 4.Qh7-h8 # 3...Ke8-f8 4.Qh7-f7 # 4.Qh7-h8 # 3...Ke8-d8 4.Qh7-d7 # 1...Kg7*h8 2.Kf5-f6 threat: 3.f7-f8=Q + 3...Kh8-h7 4.Qf8-g7 # 2...Kh8-h7 3.f7-f8=R zugzwang. 3...Kh7-h6 4.Rf8-h8 #" keywords: --- authors: - Loyd, Samuel source: | Dufresne: Sammlung leichterer Schachaufgaben, 1. Teil source-id: 67 algebraic: white: [Ke7, Qe1, Rb6, Pe4] black: [Kd4] stipulation: "#3" solution: | "1.Rb6-b3 ! threat: 2.Ke7-e6 threat: 3.Qe1-b4 # 2...Kd4-c5 3.Qe1-c3 # 2.Ke7-d6 threat: 3.Qe1-b4 # 2.Qe1-e3 + 2...Kd4-c4 3.Qe3-c3 # 2...Kd4-e5 3.Rb3-b5 # 1...Kd4-e5 2.Rb3-e3 zugzwang. 2...Ke5-d4 3.Qe1-c3 # 2...Ke5-f4 3.Qe1-g3 #" keywords: --- authors: - Loyd, Samuel source: | Dufresne: Sammlung leichterer Schachaufgaben, 1. Teil source-id: 17 algebraic: white: [Ka8, Qg8, Rg2, Bf1, Be1, Sh4, Ph6, Pg5, Pf4, Pb6, Pa5] black: [Kh3, Qc6, Sb1, Sa2, Pe4, Pd5, Pb7, Pa6] stipulation: "#4" solution: Lf1xa6 keywords: --- authors: - Loyd, Samuel source: | Dufresne: Sammlung leichterer Schachaufgaben, 1. Teil source-id: 13 algebraic: white: [Ke5, Rd1, Rb2] black: [Kh7, Rg8, Rf8, Pe6, Pc6, Pa4] stipulation: + solution: 1.Rd1-h1+! comments: - Chess Monthly, April 1859 --- authors: - Loyd, Samuel source: The Chess Monthly date: 1857 algebraic: white: [Kh1, Qf2, Sb6, Pg3, Pc3, Pc2] black: [Ke4, Ph7, Pg5, Pf7, Pe5, Pc4] stipulation: "#4" solution: | "Intention: 1.Sb6*c4 ! threat: 2.Qf2-f6 threat: 3.Qf6-c6 + 3...Ke4-f5 4.Sc4-e3 # 2...Ke4-d5 3.Qf6-d6 + 3...Kd5-e4 4.Qd6-d3 # 3...Kd5*c4 4.Qd6-c6 # 2...g5-g4 3.Qf6*e5 + 3...Ke4-f3 4.Qe5-e3 # 1...Ke4-d5 2.Qf2-b6 threat: 3.Qb6-d6 + 3...Kd5-e4 4.Qd6-d3 # 3...Kd5*c4 4.Qd6-c6 # 2...Kd5-e4 3.Qb6-c6 + 3...Ke4-f5 4.Sc4-e3 # but there is a short solution: 1.g3-g4 ! threat: 2.Qf2-g2 + 2...Ke4-f4 3.Sb6-d5 # 2...Ke4-e3 3.Sb6-d5 # 2.Kh1-g2 threat: 3.Qf2-f3 # 1...f7-f5 2.Qf2-g2 + 2...Ke4-f4 3.Sb6-d5 # 2...Ke4-e3 3.Sb6-d5 # 1...h7-h5 2.Qf2-g2 + 2...Ke4-f4 3.Sb6-d5 # 2...Ke4-e3 3.Sb6-d5 #" comments: - Correction 256929 --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 3-moves / 561 date: 1868 algebraic: white: [Kf3, Qf5, Bf2] black: [Kf1, Rh8, Rd8, Sa1, Ph3, Pf4, Pd3] stipulation: "#3" solution: | "1.Bf2-h4 ! threat: 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 3.Qh3-g2 # 2.Qf5-c5 threat: 3.Qc5-f2 # 3.Qc5-c1 # 2...Sa1-c2 3.Qc5-f2 # 2...Sa1-b3 3.Qc5-f2 # 2...d3-d2 3.Qc5-f2 # 2...Rd8-d4 3.Qc5-c1 # 2...Rd8-c8 3.Qc5-f2 # 2...Rd8-e8 3.Qc5-f2 # 2...Rh8-e8 3.Qc5-f2 # 1...Sa1-c2 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 3.Qh3-g2 # 1...Sa1-b3 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 3.Qh3-g2 # 1...Kf1-g1 2.Qf5*h3 threat: 3.Bh4-f2 # 3.Qh3-g2 # 2...Rd8-g8 3.Bh4-f2 # 2...Rh8*h4 3.Qh3-g2 # 2...Rh8-g8 3.Bh4-f2 # 1...d3-d2 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 3.Qh3-g2 # 1...h3-h2 2.Qf5-h3 + 2...Kf1-g1 3.Qh3-g2 # 1...Rd8-d4 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 3.Qh3-g2 # 1...Rd8-d5 2.Qf5*h3 + 2...Kf1-g1 3.Qh3-g2 # 3.Bh4-f2 # 1...Rd8-c8 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 3.Qh3-g2 # 1...Rd8-g8 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 2...Rg8-g2 3.Qh3*g2 # 1...Rd8-e8 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 3.Qh3-g2 # 1...Rh8*h4 2.Qf5-c5 threat: 3.Qc5-f2 # 3.Qc5-c1 # 2...Sa1-c2 3.Qc5-f2 # 2...Sa1-b3 3.Qc5-f2 # 2...Kf1-e1 3.Qc5-c1 # 2...d3-d2 3.Qc5-f2 # 2...Rd8-d4 3.Qc5-c1 # 2...Rd8-c8 3.Qc5-f2 # 2...Rd8-e8 3.Qc5-f2 # 1...Rh8-h5 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 3.Qh3-g2 # 1...Rh8-e8 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 3.Qh3-g2 # 1...Rh8-g8 2.Qf5*h3 + 2...Kf1-g1 3.Bh4-f2 # 2...Rg8-g2 3.Qh3*g2 #" --- authors: - Loyd, Samuel source: Anerican Chess Journal date: 1878-06 algebraic: white: [Kf1, Pf7, Pc6] black: [Kh3, Ra4] stipulation: + solution: 1.Pf7-f8=R! Kh3-g3 2.Pc6-c7 --- authors: - Loyd, Samuel source: algebraic: white: [Kh5, Qa6, Bd2, Pb5] black: [Ke8, Pe5, Pa7] stipulation: "#3" solution: | "1.Qa6-e6 + ! 1...Ke8-f8 2.Bd2-h6 # 1...Ke8-d8 2.Bd2-a5 #" --- authors: - Loyd, Samuel source: Bell's Life in London date: 1867 algebraic: white: [Ka1, Rc7, Rb1, Ba5, Sf4, Sa2, Pg6, Pf2, Pe3, Pc5] black: [Kc2, Bc6, Pg7, Pe4, Pa7, Pa6, Pa3] stipulation: "#3" solution: | "1.Sa2-b4 + ! 1...Kc2-d2 2.Sb4*c6 + 2...Kd2-c2 3.Sc6-d4 # 2.Sb4-d3 + 2...Kd2-c2 3.Sd3-e1 # 1...Kc2-c3 2.Sb4*c6 + 2...Kc3-c4 3.Sc6-e5 # 2...Kc3-c2 3.Sc6-d4 #" comments: - Author's intention in 47468 --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 4-moves / 385 date: 1868 algebraic: white: [Ke7, Qa2, Rd6, Sb4, Sb1] black: [Kc5, Ra1, Bb6, Sc4, Pc2, Pa3] stipulation: "#4" solution: | "1.Rd6-d5 + ! 1...Kc5*b4 2.Qa2-b3 + 2...Kb4*b3 3.Rd5-b5 + 3...Kb3-a4 4.Sb1-c3 # 3...Kb3-a2 4.Sb1-c3 #" --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 4-moves / 419 date: 1868 algebraic: white: [Kb7, Qg5, Sf5, Sd5, Pg7] black: [Ke6, Qd1, Re2, Rb4, Bd2, Ba2, Sh8, Sf8, Ph7, Pg6, Pf4, Pc5, Pb6] stipulation: "#4" solution: | "1.Sf5-d4 + ! 1...Rb4*d4 2.g7*f8=Q threat: 3.Qf8-e7 # 2...Ba2*d5 + 3.Kb7-c7 threat: 4.Qf8-e7 # 4.Qf8-f6 # 4.Qf8-e8 # 4.Qg5-e7 # 4.Qg5-f6 # 3...Qd1-a4 4.Qg5-f6 # 4.Qf8-e7 # 4.Qf8-f6 # 4.Qg5-e7 # 3...Bd5-a2 4.Qf8-e7 # 4.Qf8-f6 # 4.Qf8-e8 # 3...Bd5-b3 4.Qf8-e7 # 4.Qf8-f6 # 4.Qf8-e8 # 3...Bd5-c4 4.Qf8-e7 # 4.Qf8-f6 # 4.Qf8-e8 # 3...Bd5-h1 4.Qf8-e7 # 4.Qf8-f6 # 4.Qf8-e8 # 3...Bd5-g2 4.Qf8-e7 # 4.Qf8-f6 # 4.Qf8-e8 # 3...Bd5-f3 4.Qf8-e7 # 4.Qf8-f6 # 4.Qf8-e8 # 3...Bd5-e4 4.Qf8-e7 # 4.Qf8-f6 # 4.Qf8-e8 # 3...Bd5-a8 4.Qf8-e7 # 4.Qf8-f6 # 4.Qf8-e8 # 3...Bd5-b7 4.Qf8-e7 # 4.Qf8-f6 # 4.Qf8-e8 # 3...Bd5-c6 4.Qf8-e7 # 4.Qf8-f6 # 3...Sh8-f7 4.Qf8-e7 # 4.Qf8-c8 # 4.Qf8-e8 # 2...Re2-e5 3.Sd5-c7 + 3...Ke6-d7 4.Qf8-d8 # 4.Qg5-d8 # 2...Ke6-d7 3.Qf8-e7 + 3...Re2*e7 4.Qg5*e7 # 3.Qf8-c8 + 3...Kd7-d6 4.Qc8-c6 # 3.Qf8-d8 + 3...Kd7-e6 4.Qd8-e7 # 4.Qg5-f6 # 3.Qg5-d8 + 3...Kd7-e6 4.Qf8-f6 # 4.Qd8-d6 # 3.Qg5-e7 + 3...Re2*e7 4.Qf8*e7 # 3.Qg5-g4 + 3...Re2-e6 4.Qf8-e7 # 4.Sd5-f6 # 4.Sd5*b6 # 3.Sd5*b6 + 3...Kd7-e6 4.Qf8-e7 # 4.Qf8-f6 # 4.Qg5-e7 # 4.Qg5-f6 # 1...c5*d4 2.g7*f8=Q threat: 3.Qf8-e7 # 2...Ba2*d5 + 3.Kb7-b8 threat: 4.Qf8-e7 # 4.Qg5-e7 # 3...Bd5-a2 4.Qf8-e7 # 3...Bd5-b3 4.Qf8-e7 # 3...Bd5-c4 4.Qf8-e7 # 3...Bd5-h1 4.Qf8-e7 # 3...Bd5-g2 4.Qf8-e7 # 3...Bd5-f3 4.Qf8-e7 # 3...Bd5-e4 4.Qf8-e7 # 3...Bd5-a8 4.Qf8-e7 # 3...Bd5-b7 4.Qf8-e7 # 3...Bd5-c6 4.Qf8-e7 # 3...Ke6-d7 4.Qg5*d5 # 3...Sh8-f7 4.Qf8-e7 # 2...Re2-e5 3.Qf8-f6 + 3...Ke6*d5 4.Qf6-c6 # 3...Ke6-d7 4.Qf6-c6 # 3.Qf8-c8 + 3...Ke6-d6 4.Qc8-c6 # 4.Qg5-d8 # 3...Ke6-f7 4.Qg5-f6 # 3...Ke6*d5 4.Qc8-c6 # 3.Qf8-e8 + 3...Ke6-d6 4.Qe8-c6 # 3...Ke6*d5 4.Qe8-c6 # 3.Qg5-f6 + 3...Ke6*d5 4.Qf6-c6 # 3...Ke6-d7 4.Qf6-c6 # 4.Qf8-c8 # 4.Qf8-d8 # 4.Qf6-d6 # 3.Sd5-c7 + 3...Ke6-d7 4.Qf8-d8 # 4.Qg5-d8 # 2...Ke6-d7 3.Qf8-e7 + 3...Re2*e7 4.Qg5*e7 # 3.Qf8-c8 + 3...Kd7-d6 4.Qc8-c6 # 3.Qf8-d8 + 3...Kd7-e6 4.Qd8-e7 # 4.Qg5-f6 # 3.Qg5-d8 + 3...Kd7-e6 4.Qf8-f6 # 4.Qd8-d6 # 3.Qg5-e7 + 3...Re2*e7 4.Qf8*e7 # 3.Qg5-g4 + 3...Re2-e6 4.Qf8-e7 # 4.Sd5-f6 # 1...Ke6-d6 2.g7*f8=Q + 2...Re2-e7 + 3.Qf8*e7 # 2...Kd6-d7 3.Qf8-d8 # 3.Qg5-d8 # 3.Sd5-f6 # 1...Ke6-d7 2.g7*f8=Q threat: 3.Qf8-d8 # 3.Qg5-d8 # 3.Sd5-f6 # 2...Qd1-h1 3.Qf8-d8 # 3.Qg5-d8 # 2...Ba2*d5 + 3.Qg5*d5 # 2...Re2-e8 3.Qg5-e7 + 3...Re8*e7 4.Qf8*e7 # 3.Qf8-e7 + 3...Re8*e7 4.Qg5*e7 # 3.Qf8*e8 + 3...Kd7-d6 4.Qe8-c6 # 4.Qe8-e6 # 4.Qe8-e7 # 4.Qe8-d8 # 4.Qg5-d8 # 4.Qg5-e5 # 3...Kd7*e8 4.Qg5-e7 # 3.Qg5-d8 + 3...Kd7*d8 4.Qf8-d6 # 3...Re8*d8 4.Qf8-e7 # 4.Sd5-f6 # 3.Sd5-f6 + 3...Kd7-d8 4.Qf8-d6 # 4.Qf8*e8 # 4.Sd4-c6 # 2...Re2-e7 3.Qf8*e7 # 3.Qg5*e7 # 2...Re2-e6 3.Qf8-d8 # 3.Qg5-d8 # 2...Rb4*d4 3.Qf8-e7 + 3...Re2*e7 4.Qg5*e7 # 3.Qf8-c8 + 3...Kd7-d6 4.Qc8-c6 # 3.Qf8-d8 + 3...Kd7-e6 4.Qd8-e7 # 4.Qg5-f6 # 3.Qg5-d8 + 3...Kd7-e6 4.Qf8-f6 # 4.Qd8-d6 # 3.Qg5-e7 + 3...Re2*e7 4.Qf8*e7 # 3.Qg5-g4 + 3...Re2-e6 4.Qf8-e7 # 4.Sd5-f6 # 4.Sd5*b6 # 3.Sd5*b6 + 3...Kd7-e6 4.Qf8-e7 # 4.Qf8-f6 # 4.Qg5-e7 # 4.Qg5-f6 # 2...c5*d4 3.Qf8-e7 + 3...Re2*e7 4.Qg5*e7 # 3.Qf8-c8 + 3...Kd7-d6 4.Qc8-c6 # 3.Qf8-d8 + 3...Kd7-e6 4.Qd8-e7 # 4.Qg5-f6 # 3.Qg5-d8 + 3...Kd7-e6 4.Qf8-f6 # 4.Qd8-d6 # 3.Qg5-e7 + 3...Re2*e7 4.Qf8*e7 # 3.Qg5-g4 + 3...Re2-e6 4.Qf8-e7 # 4.Sd5-f6 # 2...Sh8-f7 3.Sd5-f6 # 2.Qg5-d8 + 2...Kd7*d8 3.g7*f8=Q + 3...Re2-e8 4.Qf8-d6 # 3...Kd8-d7 4.Sd5-f6 # 1...Ke6-f7 2.Qg5-f6 + 2...Kf7-e8 3.g7*f8=Q + 3...Ke8-d7 4.Qf8-c8 # 4.Qf8-d8 # 4.Qf6-d8 # 4.Qf6-c6 # 4.Qf6-d6 # 3.g7*f8=R + 3...Ke8-d7 4.Rf8-d8 # 4.Qf6-d8 # 4.Qf6-c6 # 3.Kb7-c8 threat: 4.g7*f8=Q # 4.g7*f8=R # 4.Qf6*f8 # 4.Sd5-c7 # 3...Ba2*d5 4.g7*f8=Q # 4.g7*f8=R # 4.Qf6*f8 # 3...Re2-e7 4.g7*f8=Q # 4.g7*f8=R # 4.Qf6*e7 # 4.Qf6*f8 # 3...Sf8-d7 4.Sd5-c7 # 3...Sf8-e6 4.Qf6-e7 # 3...Sh8-f7 4.Sd5-c7 # 3.Qf6*f8 + 3...Ke8-d7 4.Sd5-f6 # 3.Sd5-c7 + 3...Ke8-d7 4.g7*f8=S # 2...Kf7-g8 3.g7*h8=Q # 3.g7*h8=R # 3.g7*f8=Q # 3.g7*f8=R # 3.Qf6*f8 #" --- authors: - Loyd, Samuel source: American Chess-Nuts source-id: 4-moves / 384 date: 1868 algebraic: white: [Ka6, Rg1, Ra4, Bb5, Sc6, Pe5, Pc4, Pb2] black: [Kc5, Pe6, Pb3, Pa5] stipulation: "#4" solution: | "Intention: 1. Ra2! [2. Kxa5 waiting 2. ... bxa2 3. b4#] 1. ... a4 2. Kb7 waiting 2. ... a3 3. Ba6 waiting 3. ... axb2 4. Ra5# 3. ... bxa2 4. b4# 2. ... bxa2 3. Rga1 waiting 3. ... a3 4. b4# 1. ... bxa2 2. b3 ad lib 3. Ra1 waiting 3. ... a4 4. b4# 1. ... bxa2 2. Rga1 waiting 2. ... a4 3. Ka7 waiting 3. ... a3 4. b4# but cooked: 1. Raa1! waiting 1. ... a4 2. Bxa4 waiting 2. ... Kxc4 3. Rgd1 [4. Rac1#] 3. ... Kc5 4. Rac1#" keywords: - Cooked --- authors: - Loyd, Samuel source: Frank Leslie's Illustrated Newspaper date: 1858 algebraic: white: [Kg2, Qa2, Rh4, Ra7, Bd6, Bc8, Sf8, Se2, Ph3, Pg3, Pf6, Pe5, Pd3, Pb4, Pb3] black: [Kc6, Qg8, Ba8, Sb5, Pg4, Pf7, Pd2, Pc5, Pc3, Pb7, Pb6] stipulation: "#4" solution: | "1.Qa2-a4 ! threat: 2.Rh4*g4 threat: 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 4.Se2*c3 # 3...Kc6*b5 4.Bc8-d7 # 3.Se2*c3 threat: 4.Bc8-d7 # 4.Qa4*b5 # 3...Qg8*g4 4.Qa4*b5 # 3...Qg8*f8 4.Qa4*b5 # 2...d2-d1=Q 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 4.Se2*c3 # 3...Kc6*b5 4.Bc8-d7 # 2...d2-d1=S 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 3...Kc6*b5 4.Bc8-d7 # 2...d2-d1=R 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 4.Se2*c3 # 3...Kc6*b5 4.Bc8-d7 # 2...d2-d1=B 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 4.Se2*c3 # 3...Kc6*b5 4.Bc8-d7 # 2...Kc6-d5 3.Rg4-d4 + 3...Sb5*d4 4.Se2-f4 # 4.Se2*c3 # 3...c5*d4 4.Qa4*b5 # 3...Kd5-c6 4.Bc8-d7 # 2...Qg8-h7 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 4.Se2*c3 # 3...Kc6*b5 4.Bc8-d7 # 2...Qg8*g4 3.Bc8*g4 threat: 4.Bg4-f3 # 2...Qg8-g5 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 4.Se2*c3 # 3...Kc6*b5 4.Bc8-d7 # 2...Qg8-g6 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 4.Se2*c3 # 3...Kc6*b5 4.Bc8-d7 # 2...Qg8*f8 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 4.Se2*c3 # 3...Kc6*b5 4.Bc8-d7 # 2...Qg8-h8 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 4.Se2*c3 # 3...Kc6*b5 4.Bc8-d7 # 2.Qa4*b5 + 2...Kc6-d5 3.Qb5-c4 + 3...Kd5-c6 4.Bc8-d7 # 4.b4-b5 # 4.Se2-d4 # 2...Kc6*b5 3.Se2-d4 + 3...Kb5*b4 4.Ra7-a4 # 3...c5*d4 4.Bc8-d7 # 1...d2-d1=Q 2.Qa4*b5 + 2...Kc6-d5 3.Qb5-c4 + 3...Kd5-c6 4.Bc8-d7 # 4.b4-b5 # 4.Se2-d4 # 2...Kc6*b5 3.Se2-d4 + 3...Kb5*b4 4.Ra7-a4 # 3...c5*d4 4.Bc8-d7 # 1...d2-d1=S 2.Qa4*b5 + 2...Kc6-d5 3.Qb5-c4 + 3...Kd5-c6 4.Bc8-d7 # 4.b4-b5 # 4.Se2-d4 # 2...Kc6*b5 3.Se2-d4 + 3...Kb5*b4 4.Ra7-a4 # 3...c5*d4 4.Bc8-d7 # 1...d2-d1=R 2.Qa4*b5 + 2...Kc6-d5 3.Qb5-c4 + 3...Kd5-c6 4.Bc8-d7 # 4.b4-b5 # 4.Se2-d4 # 2...Kc6*b5 3.Se2-d4 + 3...Kb5*b4 4.Ra7-a4 # 3...c5*d4 4.Bc8-d7 # 1...d2-d1=B 2.Qa4*b5 + 2...Kc6-d5 3.Qb5-c4 + 3...Kd5-c6 4.Bc8-d7 # 4.b4-b5 # 4.Se2-d4 # 2...Kc6*b5 3.Se2-d4 + 3...Kb5*b4 4.Ra7-a4 # 3...c5*d4 4.Bc8-d7 # 1...c3-c2 2.Rh4*g4 threat: 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 4.Se2-c3 # 3...Kc6*b5 4.Bc8-d7 # 3.Se2-c3 threat: 4.Bc8-d7 # 4.Qa4*b5 # 3...Qg8*g4 4.Qa4*b5 # 3...Qg8*f8 4.Qa4*b5 # 2...c2-c1=Q 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 3...Kc6*b5 4.Bc8-d7 # 2...c2-c1=R 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 3...Kc6*b5 4.Bc8-d7 # 2...d2-d1=Q 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 4.Se2-c3 # 3...Kc6*b5 4.Bc8-d7 # 2...d2-d1=S 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 3...Kc6*b5 4.Bc8-d7 # 2...d2-d1=R 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 4.Se2-c3 # 3...Kc6*b5 4.Bc8-d7 # 2...d2-d1=B 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 4.Se2-c3 # 3...Kc6*b5 4.Bc8-d7 # 2...Kc6-d5 3.Rg4-d4 + 3...Sb5*d4 4.Se2-f4 # 4.Se2-c3 # 3...c5*d4 4.Qa4*b5 # 3...Kd5-c6 4.Bc8-d7 # 2...Qg8-h7 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 4.Se2-c3 # 3...Kc6*b5 4.Bc8-d7 # 2...Qg8*g4 3.Bc8*g4 threat: 4.Bg4-f3 # 2...Qg8-g5 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 4.Se2-c3 # 3...Kc6*b5 4.Bc8-d7 # 2...Qg8-g6 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 4.Se2-c3 # 3...Kc6*b5 4.Bc8-d7 # 2...Qg8*f8 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 4.Se2-c3 # 3...Kc6*b5 4.Bc8-d7 # 2...Qg8-h8 3.Qa4*b5 + 3...Kc6-d5 4.Rg4-d4 # 4.Se2-c3 # 3...Kc6*b5 4.Bc8-d7 # 1...g4*h3 + 2.Bc8*h3 threat: 3.Qa4*b5 + 3...Kc6-d5 4.Rh4-d4 # 4.Se2*c3 # 3...Kc6*b5 4.Bh3-d7 # 2...Kc6-d5 3.Rh4-d4 + 3...Sb5*d4 4.Se2-f4 # 4.Se2*c3 # 3...c5*d4 4.Qa4*b5 # 3...Kd5-c6 4.Bh3-d7 # 2...Qg8*g3 + 3.Kg2*g3 threat: 4.Bh3-g2 # 2...Qg8-g4 3.Bh3*g4 threat: 4.Bg4-f3 # 1...Kc6-d5 2.Se2-f4 + 2...Kd5-d4 3.b4*c5 + 3...Kd4-e3 4.Qa4-e4 # 2...Kd5-c6 3.Bc8-d7 # 1...Qg8-h7 2.Qa4*b5 + 2...Kc6-d5 3.Qb5-c4 + 3...Kd5-c6 4.Bc8-d7 # 4.b4-b5 # 4.Se2-d4 # 2...Kc6*b5 3.Se2-d4 + 3...Kb5*b4 4.Ra7-a4 # 3...c5*d4 4.Bc8-d7 # 1...Qg8-g5 2.Qa4*b5 + 2...Kc6-d5 3.Qb5-c4 + 3...Kd5-c6 4.Bc8-d7 # 4.b4-b5 # 4.Se2-d4 # 2...Kc6*b5 3.Se2-d4 + 3...Kb5*b4 4.Ra7-a4 # 3...c5*d4 4.Bc8-d7 # 1...Qg8-g6 2.Qa4*b5 + 2...Kc6-d5 3.Qb5-c4 + 3...Kd5-c6 4.Bc8-d7 # 4.b4-b5 # 4.Se2-d4 # 2...Kc6*b5 3.Se2-d4 + 3...Kb5*b4 4.Ra7-a4 # 3...c5*d4 4.Bc8-d7 # 1...Qg8*f8 2.Qa4*b5 + 2...Kc6-d5 3.Qb5-c4 + 3...Kd5-c6 4.b4-b5 # 4.Se2-d4 # 2...Kc6*b5 3.Se2-d4 + 3...Kb5*b4 4.Ra7-a4 # 3...c5*d4 4.Bc8-d7 # 1...Qg8-h8 2.Qa4*b5 + 2...Kc6-d5 3.Qb5-c4 + 3...Kd5-c6 4.Bc8-d7 # 4.b4-b5 # 4.Se2-d4 # 2...Kc6*b5 3.Se2-d4 + 3...Kb5*b4 4.Ra7-a4 # 3...c5*d4 4.Bc8-d7 # 2.Se2*c3 threat: 3.Bc8-d7 # 3.Qa4*b5 # 2...g4*h3 + 3.Bc8*h3 threat: 4.Qa4*b5 # 4.Bh3-d7 # 3...Qh8*f8 4.Qa4*b5 # 3.Kg2-h2 threat: 4.Bc8-d7 # 4.Qa4*b5 # 3...Qh8*f8 4.Qa4*b5 # 2...Qh8*f8 3.Qa4*b5 #" comments: - Diagram according to 'American Chess-Nuts', electronic version by Anders Thulin --- authors: - Loyd, Samuel source: date: 1871 algebraic: white: [Kh3, Qe3, Pf6] black: [Kh5, Pg6] stipulation: "#3" solution: | "1.Qe3-a7 ! zugzwang. 1...g6-g5 2.Qa7-h7 # 1...Kh5-h6 2.Kh3-g4 threat: 3.Qa7-g7 # 1...Kh5-g5 2.Qa7-f2 zugzwang. 2...Kg5-h5 3.Qf2-h4 # 2...Kg5-h6 3.Qf2-h4 #" --- authors: - Loyd, Samuel source: Seaforth Expositor date: 1868 algebraic: white: [Ka5, Qh7, Rh4, Ba2, Sg4, Sb3, Pe2] black: [Kc4, Rh8, Rd2, Bg8, Se8, Pf4, Pe6, Pd4, Pc3, Pc2] stipulation: "#2" solution: | "1... f3 2. Ne3# 1. e4! [2. Ne5#] 1... d:e3 e.p. 2. N:e3#" keywords: - En passant - Flight giving and taking key - Model mates --- authors: - Loyd, Samuel source: New York State Chess Association date: 1891-02-23 algebraic: white: [Kh4, Qb1, Rg4, Bh7, Bc3, Sd6, Ph5, Pg6, Pg2, Pe2, Pd5, Pa4] black: [Ke5, Bd4, Ph6, Pg3, Pe6, Pc5] stipulation: "#3" solution: | "1.Qb1-b6 ! zugzwang. 1...Bd4*c3 2.Sd6-e8 threat: 3.Qb6*e6 # 2...Ke5*d5 3.Qb6-d6 # 2...e6*d5 3.Qb6-f6 # 1...c5-c4 2.Bc3*d4 + 2...Ke5*d5 3.Qb6-c5 # 3.e2-e4 # 2.Sd6-e8 threat: 3.Qb6*e6 # 2...Ke5*d5 3.Qb6-d6 # 2...e6*d5 3.Qb6-f6 # 1...Ke5-f6 2.Sd6-f5 threat: 3.Qb6*e6 # 1...Ke5*d5 2.Sd6-e4 zugzwang. 2...Bd4*c3 3.Qb6*c5 # 2...Bd4-g1 3.Se4-f6 # 2...Bd4-f2 3.Se4-f6 # 2...Bd4-e3 3.Se4-f6 # 2...Bd4-h8 3.Qb6*c5 # 2...Bd4-g7 3.Qb6*c5 # 2...Bd4-f6 + 3.Se4*f6 # 2...Bd4-e5 3.Qb6*c5 # 2...c5-c4 3.Qb6-d6 # 2...Kd5-c4 3.Qb6*e6 # 2...Kd5-e5 3.Qb6*c5 # 2...e6-e5 3.Bh7-g8 # 1...e6*d5 2.Sd6-f7 + 2...Ke5-f5 3.g6-g7 #" comments: - also in The Philadelphia Times (no. 1093), 8 March 1891 --- authors: - Loyd, Samuel source: Brooklyn Chess Chronicle date: 1885-08-15 algebraic: white: [Kh1, Rg1, Rd7, Sc7, Sc6] black: [Kh8, Sg2, Sa4, Pa3] stipulation: "#3" solution: | "1. Rd2! Kg8 2. Rd:g2+ 2... Kf8/f7 3. Rf2, Rf1# 2... Kh8/h7 3. Rh2# 1... Sh4 2. Rh2 [3. R:h4#] 2... Kh7 3. R:h4#" --- authors: - Loyd, Samuel source: Münchner Neueste Nachrichten date: 1889 algebraic: white: [Kg1, Qg6, Bh5, Se4, Sb2] black: [Ke3, Ra6, Bb6, Sa7, Sa1, Ph6, Pc6, Pc5] stipulation: "#4" solution: | "1. Qf6! [2. Bg6 [3. Qf2#] 2... Ke2 3. Qf2#] 1... Ra2 2. Bg6 [3. Qf2#] 2... R:b2 3. Qc3+ 3... Ke2 4. Bh5# 3... Kf4 4. Qg3# 1... Ba5 2. S:c5 [3. Qf2, Sc4#] 2... Kd2 3. Sc4+ 3... Kc2/c1 4. Qb2# 3... Ke1 4. Qe6/f2/f1/h4/e5/:a1/e7, Sd3# 1... Ba5 2. Sf2 [3. Sc4#] 2... Kd2 3. Sc4+ 3... Kc2/c1 4. Qb2# 3... Ke1 4. Qe6/e5/:a1/e7, Sd3# 1... Ba5 2. Sc4+ 2... Kd3 3. Be2+ 3... K:e2 4. Qf1# 3... Kc2 4. Qb2# 3... K:e4 4. Qe5# 2... K:e4 3. Bg6+ 3... Kd5 4. Se3# 1... Bd8 2. Sc4+ 2... Kd3 3. Be2+ 3... K:e2 4. Qf1# 3... Kc2 4. Qb2# 3... K:e4 4. Qe5# 2... K:e4 3. Bg6+ 3... Kd5 4. Se3# 1... c4 2. Sf2 [3. S:c4#] 2... Ra4 3. Qd6 [4. Sbd1#] 3... Bd4 4. Q:h6# 2... Ra4 3. Sbd1+ 3... Kd2 4. Qc3# 2... Kd2 3. S:c4+ 3... Kc2/c1 4. Qb2# 3... Ke1 4. Qc3# 1... K:e4 2. Bf3+ 2... Ke3 3. Sd1+ 3... Kd3/d2 4. Qc3# 1... K:e4 2. Sc4 [3. Bg6+ 3... Kd5 4. Se3#] 2... Sc8 3. Bg6+ 3... Kd5 4. Se3# 2... Sb5 3. Bg6+ 3... Kd5 4. Se3# 2... Ra5 3. Bg6+ 3... Kd5 4. S:b6/e3# 2... Ra4 3. Bg6+ 3... Kd5 4. S:b6/e3# 2... Ra3 3. Bg6+ 3... Kd5 4. S:b6# 2... Ra2 3. Bg6+ 3... Kd5 4. S:b6/e3# 2... Ba5 3. Bg6+ 3... Kd5 4. Se3# 2... Bc7 3. Bg6+ 3... Kd5 4. Se3# 2... Bd8 3. Bg6+ 3... Kd5 4. Se3# 2... Kd3 3. Be2+ 3... K:e2 4. Qf1# 3... Kc2 4. Qb2# 3... Ke4 4. Qe5# 2... Kd5 3. Qf4 [4. Bf7#] 3... Ke6 4. Qf7# 2... Sb3 3. Bg6+ 3... Kd5 4. Se3# 2... Sc2 3. Qe5+ 3... Kd3 4. Be2# 1... Sb3 2. Sc4+ 2... Kd3 3. Be2+ 3... K:e2 4. Qf1# 3... Kc2 4. Qb2# 3... K:e4 4. Qe5# 2... K:e4 3. Bg6+ 3... Kd5 4. Se3# 1... Sc2 2. Sc4+ 2... Kd3 3. Be2+ 3... K:e2 4. Qf1# 3... K:e4 4. Qe5# 2... K:e4 3. Qe5+ 3... Kd3 4. Be2#" --- authors: - Loyd, Samuel source: 1857 algebraic: white: [Kh7, Rf3, Rf2, Bh1, Sg7, Sb2, Ph2, Pg6, Pc2] black: [Ke4, Qa2, Rd7, Rb5, Bf4, Ba6, Pf6, Pe7, Pa3] stipulation: "#4" solution: " 1. Rxf4+! Ke3 (1... Ke5 2. Re2+!) 2. Bd5! Qxd5 (2... Rbxd5 3. Nd1+ Rxd1 4. Nf5#) (2... Rdxd5 3. Nf5+ Rxf5 4. Nd1#) 3. Nf5+ Qxf5 4. Nc4# " comments: - 2 black knights useless, see 62499 --- authors: - Loyd, Samuel source: Tid-Bits (British) algebraic: white: [Kc1, Re8, Ra1, Bg1, Be6, Pg2, Pf2, Pe2, Pd2, Pc2, Pb2, Pa2] black: [Kb4, Qe5, Re7, Rc6, Bg5, Bf5, Sh3, Sb6, Ph4, Pd5, Pc5, Pb5, Pa5] stipulation: "#5" options: - Duplex solution: | "A) #5 by White 1.a3+ Kc4 2.b3+ Kd4 3.c3+ Ke4 4.f3+ Kf4 5.Bh2# B) #5 by Black 1.Bxd2+ Kb1 2.Qxb2+ Kxb2 3.Sa4+ Kb1 4.Ka3 e4 5.Sc3#" keywords: - Scaccografia comments: - The Alligator Problem --- authors: - Loyd, Samuel source: algebraic: white: [Ka1, Qd7, Pe7] black: [Kf7] stipulation: "#3" solution: | "1.Qd7-d6 ! zugzwang. 1...Kf7-g8 2.Qd6-g6 + 2...Kg8-h8 3.e7-e8=Q # 3.e7-e8=R # 2.e7-e8=Q + 2...Kg8-h7 3.Qd6-g6 # 2...Kg8-g7 3.Qd6-g6 # 1...Kf7-e8 2.Qd6-e5 zugzwang. 2...Ke8-d7 3.e7-e8=Q # 2...Ke8-f7 3.e7-e8=Q # 1...Kf7-g7 2.e7-e8=Q threat: 3.Qd6-g6 #" --- authors: - Loyd, Samuel source: Bell's Life in London source-id: v date: 1867 algebraic: white: [Kf1, Rf6, Re6, Ph2, Pf2] black: [Kh1, Bd8] stipulation: "#4" solution: | "1. Rg6? Bg5 2. Rxg5 1. ... Bh4! 1. Rc6? Bc7 2. Rxc7 1. ... Ba5! 1. Ra6? Ba5 2. Rxa5 1. ... Bc7! 1. Rb6! Bc7,Be7 2. Rd6" comments: - Version by Michael Lipton in The Problemist Nov 2014 --- authors: - Loyd, Samuel source: U.S. Chess Association, Lexington date: 1891 algebraic: white: [Kg3, Qc8, Ba8, Pd2, Pb5, Pb4, Pa3, Pa2] black: [Kh1, Qh5, Rf5, Ph6, Pg7, Pe7] stipulation: "Last move?" solution: | White's last move was Kf3xg3+ after 1.g2-g4 fxg3 e.p.+ keywords: - Retro --- authors: - Loyd, Samuel source: American Union date: 1858-10 distinction: 1st Prize algebraic: white: [Ke3, Rh4, Re8, Bh5, Bd8, Sf4, Sb7, Pg3] black: [Kf5, Qc6, Bh7, Sh6, Sb8, Pg4, Pd7, Pd6] stipulation: "#3" solution: | "1. Kd2! ~ 2. B:g4+ S:g4 3. Rh5# 1... Qc3+ 2. K:c3 ~ 3. S:d6# 2... Sf7 3. B:g4# 1... Qc2+ 2. K:c2 ~ 3. S:d6# 2... Sf7 3. B:g4# 1... Qc1+ 2. K:c1 ~ 3. S:d6# 2... Sf7 3. B:g4# 1... Qd5+ 2. S:d5 ~ 3. S:d6, Se3# 2... Sf7 3. Se3# 1... Qg2+ 2. S:g2 ~ 3. S:d6, Se3# 2... Sf7 3. Se3#" --- authors: - Loyd, Samuel source: Sonntags-Blatt für Schachfreunde source-id: 6/28 date: 1861-02-10 algebraic: white: [Kc5, Rg4, Rb8, Be5, Sf1, Ph3, Pg6, Pg5, Pd6] black: [Kh5, Bg8, Sh8, Sf8, Pe6, Pd7] stipulation: "#3" solution: | "1. g7! ~ 2. g:f8S ~ 3. Sg3# 2. g:h8S ~ 3. Sg3# 1... Sh7 2. Sg3+ Kg6 3. g:h8S# 1... Sf7 2. Sg3+ Kg6 3. g:f8S# 1... Kg6 2. Sg3 - zz 2... Sh7, Bh7, Kf7 3. g:h8S# 2... Bf7, Sf7, Kh7 3. g:f8S#" --- authors: - Loyd, Samuel source: American Chess Journal 03/ date: 1878-03 algebraic: white: [Kg1, Qa5] black: [Kb7, Rh2, Bh1, Ph4, Pg3, Pg2] stipulation: + solution: | 1. Qc5 Kb8 2. Qc6 Ka7 3. Qb5 Ka8 4. Qb6 Rh3 5. Qd8+ Kb7 6. Qd7+ Ka8 7. Qxh3 ... 8. Qxh4 ... 9. Qxg3 wins --- authors: - Loyd, Samuel source: date: 1860 algebraic: white: [Kd4, Rg8, Bf4] black: [Kf6, Qh7, Bh2] stipulation: "h#2.5" solution: "1... Ra8 2. Kg7 Bb8 3. Kh8 Be5#" comments: - Also published in Venkov, 1933 --- authors: - Loyd, Samuel source: The Chess Monthly date: 1860-02 algebraic: white: [Ke1, Ba4] black: [Kg2, Sh4, Ph3] stipulation: "=" solution: | "1.Ba4-c6+ ? Kg2-g1 2.Bc6-h1 ? Kg1*h1 3.Ke1-f1 Kh1-h2 4.Kf1-f2 Sh4-g6 5.Kf2-f1 Kh2-g3 6.Kf1-g1 Sg6-e5 7.Kg1-h1 Se5-g4 8.Kh1-g1 Sg4-f2 1.Ba4-d7 h3-h2 2.Bd7-c6+ Kg2-g1 3.Bc6-h1 ! Kg1*h1 4.Ke1-f2 ! 4.Ke1-f1 ? Sh4-f3 5.Kf1-f2 Sf3-d2 3...Sh4-g2+ 4.Ke1-e2 Sg2-f4+ 5.Ke2-e1 2...Sh4-f3+ 3.Ke1-e2 h2-h1=Q 4.Bc6*f3+ 1...Sh4-f3+ 2.Ke1-e2 Sf3-d4+ 3.Ke2-e3 h3-h2" keywords: - Positional draw comments: - also in The Philadelphia Times (no. 6), 29 February 1880 --- authors: - Loyd, Samuel source: algebraic: white: [Kh4, Qe5, Sg5, Sf3] black: [Kh6, Ra8, Sb1, Pg7, Pg6, Pg4] stipulation: "#3" solution: | "1.Qe5-b8 ! threat: 2.Sf3-h2 threat: 3.Sh2*g4 # 2...Ra8-a4 3.Qb8-h8 # 2.Sf3-e5 threat: 3.Se5*g4 # 3.Se5-f7 # 2...Ra8-a4 3.Qb8-h8 # 3.Se5-f7 # 2...Ra8-a7 3.Qb8-h8 # 3.Se5*g4 # 2.Sg5-f7 + 2...Kh6-h7 3.Sf3-g5 # 2.Qb8*a8 threat: 3.Qa8-h8 # 1...Sb1-d2 2.Sg5-f7 + 2...Kh6-h7 3.Sf3-g5 # 1...g4-g3 2.Sg5-f7 + 2...Kh6-h7 3.Sf3-g5 # 2.Qb8*a8 threat: 3.Qa8-h8 # 1...g4*f3 2.Qb8*a8 threat: 3.Qa8-h8 # 1...Ra8*b8 2.Sf3-e5 threat: 3.Se5*g4 # 3.Se5-f7 # 2...Rb8-b4 3.Se5-f7 # 2...Rb8-b7 3.Se5*g4 # 2...Rb8-f8 3.Se5*g4 #" comments: - composed before 1903 --- authors: - Loyd, Samuel source: algebraic: white: [Kd6, Qg1, Re3, Sd5, Sc4, Pc7, Pb3, Pa5] black: [Kd4, Rf4, Rd2, Bh5, Ba1, Pf7, Pf6, Pc3, Pb6] stipulation: "#3" solution: | "1.Qg1-f2 ! threat: 2.Qf2*f4 # 1...Rd2*f2 2.Sc4-a3 threat: 3.Sa3-b5 # 2...Bh5-e2 3.Sa3-c2 # 1...Rf4*f2 2.Sd5-e7 threat: 3.Se7-c6 # 2...Bh5-f3 3.Se7-f5 # 1...Rf4-f3 2.Sc4-a3 threat: 3.Sa3-b5 # 2...Rf3*e3 3.Qf2*e3 # 2.Sd5-b4 threat: 3.Sb4-c6 # 2...Rf3*e3 3.Qf2*e3 # 2.Sd5-e7 threat: 3.Se7-c6 # 2...Rf3*e3 3.Qf2*e3 # 1...Rf4-e4 2.Qf2*f6 + 2...Re4-e5 3.Qf6*e5 # 2.Re3-e2 + 2...Kd4-d3 3.Sd5-b4 # 2...Re4-e3 3.Qf2*e3 # 2.Re3-d3 + 2...Kd4*d3 3.Sd5-b4 # 1...Rf4-f5 2.Qf2*f5 threat: 3.Qf5-e4 # 3.Qf5-f4 # 3.Qf5*f6 # 2...Rd2-f2 3.Qf5-d3 # 3.Qf5-e4 # 3.Re3-d3 # 2...Bh5-f3 3.Qf5*f6 # 2...Bh5-g6 3.Qf5*f6 # 1...Rf4-h4 2.Qf2*f6 # 1...Rf4-g4 2.Qf2*f6 # 1...Bh5-f3 2.Re3-e2 + 2...Kd4-d3 3.Sd5-b4 # 2.Sc4-a3 threat: 3.Sa3-b5 # 2...Bf3-e2 3.Qf2*f4 # 2.Sc4*d2 threat: 3.Re3*c3 # 3.Re3*f3 # 2...c3*d2 3.Qf2*d2 # 2...Bf3-d1 3.Re3-f3 # 3.Qf2*f4 # 2...Bf3-e2 3.Re3-f3 # 3.Qf2*f4 # 2...Bf3-h1 3.Re3-f3 # 2...Bf3-g2 3.Re3-f3 # 2...Bf3-h5 3.Re3-f3 # 3.Qf2*f4 # 2...Bf3-g4 3.Re3-f3 # 3.Qf2*f4 # 2...Bf3*d5 3.Re3-f3 # 2...Bf3-e4 3.Re3-f3 # 2...Rf4-e4 3.Sd2*f3 # 1...Bh5-g6 2.Qf2*f4 + 2...Bg6-e4 3.Qf4*e4 # 3.Qf4*f6 # 2.Sd5-b4 threat: 3.Sb4-c6 # 2...Bg6-e4 3.Re3-d3 # 1.Qg1-f1 ! threat: 2.Qf1*f4 # 1...Rd2-f2 2.Qf1-d3 # 1...Rf4*f1 2.Sd5-e7 threat: 3.Se7-c6 # 2...Bh5-f3 3.Se7-f5 # 1...Rf4-f2 2.Sc4-e5 threat: 3.Se5-c6 # 3.Qf1-c4 # 2...Rd2-d3 3.Se5-c6 # 3.Qf1*d3 # 2...Rd2-e2 3.Se5-c6 # 2...Rf2*f1 3.Se5-c6 # 2...Rf2-e2 3.Se5-c6 # 3.Qf1-f4 # 2...Bh5-e2 3.Se5-c6 # 2...b6-b5 3.Se5-c6 # 2...f6*e5 3.Qf1-c4 # 2.Sd5-e7 threat: 3.Se7-c6 # 2...Bh5-f3 3.Se7-f5 # 1...Rf4-f3 2.Sc4-a3 threat: 3.Sa3-b5 # 3.Qf1-c4 # 2...Rd2-d3 3.Sa3-c2 # 3.Sa3-b5 # 3.Qf1*d3 # 2...Rd2-e2 3.Sa3-b5 # 2...Rf3*f1 3.Sa3-b5 # 2...Rf3*e3 3.Qf1-c4 # 2...b6-b5 3.Sa3*b5 # 2.Sc4-e5 threat: 3.Se5-c6 # 3.Qf1-c4 # 2...Rd2-d3 3.Se5-c6 # 3.Qf1*d3 # 2...Rd2-e2 3.Se5-c6 # 2...Rf3*f1 3.Se5-c6 # 2...Rf3*e3 3.Qf1-c4 # 2...b6-b5 3.Se5-c6 # 2...f6*e5 3.Qf1-c4 # 1...Rf4-e4 2.Qf1*f6 + 2...Re4-e5 3.Qf6*e5 # 2.Sc4-e5 threat: 3.Se5-c6 # 3.Qf1-c4 # 2...Rd2-d3 3.Se5-c6 # 3.Re3*d3 # 3.Qf1*d3 # 2...Rd2-e2 3.Se5-c6 # 3.Re3-d3 # 2...Re4*e3 3.Qf1-c4 # 2...Re4*e5 3.Qf1-c4 # 2...Bh5-e2 3.Se5-c6 # 2...b6-b5 3.Se5-c6 # 2...f6*e5 3.Qf1-c4 # 1...Rf4-f5 2.Qf1*f5 threat: 3.Qf5-e4 # 3.Qf5-f4 # 3.Qf5*f6 # 2...Rd2-f2 3.Qf5-d3 # 3.Qf5-e4 # 3.Re3-d3 # 2...Bh5-f3 3.Qf5*f6 # 2...Bh5-g6 3.Qf5*f6 # 2.Sc4-e5 threat: 3.Se5-c6 # 3.Qf1-c4 # 2...Rd2-d3 3.Se5-c6 # 3.Qf1*d3 # 2...Rd2-e2 3.Se5-c6 # 2...Rf5*f1 3.Se5-c6 # 2...Rf5*e5 3.Qf1-c4 # 2...Bh5-e2 3.Se5-c6 # 2...b6-b5 3.Se5-c6 # 2...f6*e5 3.Qf1-c4 # 1...Rf4-h4 2.Qf1*f6 # 1...Rf4-g4 2.Qf1*f6 # 1...Bh5-f3 2.Sc4*d2 threat: 3.Re3-d3 # 3.Qf1-c4 # 3.Qf1-d3 # 2...c3*d2 3.Qf1-c4 # 3.Qf1-d3 # 3.Qf1*a1 # 2...Bf3-e2 3.Qf1*f4 # 2...Bf3*d5 3.Re3-d3 # 3.Qf1-d3 # 2...Bf3-e4 3.Qf1-c4 # 2...b6-b5 3.Re3-d3 # 3.Qf1-d3 # 1...Bh5-g6 2.Qf1*f4 + 2...Bg6-e4 3.Qf4*e4 # 3.Qf4*f6 # 2.Sc4-e5 threat: 3.Se5-c6 # 3.Qf1-c4 # 2...Rd2-d3 3.Se5-c6 # 2...Rd2-e2 3.Se5-c6 # 2...Rf4*f1 3.Se5-c6 # 2...b6-b5 3.Se5-c6 # 2...f6*e5 3.Qf1-c4 # 2...Bg6-d3 3.Se5-c6 # 1.Sc4*d2 ! threat: 2.Re3-f3 # 1...c3*d2 2.Qg1*a1 # 1...Rf4-f1 2.Qg1*f1 threat: 3.Re3-d3 # 3.Re3-e4 # 3.Qf1-c4 # 3.Qf1-d3 # 3.Qf1*f6 # 3.Qf1-f4 # 2...c3*d2 3.Qf1-c4 # 3.Qf1-d3 # 3.Qf1*a1 # 3.Qf1*f6 # 3.Qf1-f4 # 2...Bh5-e2 3.Qf1*f6 # 3.Qf1-f4 # 2...Bh5-f3 3.Re3-d3 # 3.Sd2*f3 # 3.Qf1-c4 # 3.Qf1-d3 # 2...Bh5-g6 3.Sd2-f3 # 3.Qf1-c4 # 3.Qf1*f6 # 2...b6-b5 3.Re3-d3 # 3.Re3-e4 # 3.Qf1-d3 # 3.Qf1*f6 # 3.Qf1-f4 # 2...f6-f5 3.Re3-d3 # 3.Qf1-c4 # 3.Qf1-d3 # 3.Qf1-f4 # 2.Sd5-b4 threat: 3.Sb4-c2 # 3.Sb4-c6 # 3.Re3-d3 # 3.Re3-e4 # 2...Rf1-c1 3.Sb4-c6 # 3.Re3-e1 # 3.Re3-d3 # 3.Re3-e4 # 2...Rf1-f2 3.Sb4-c2 # 3.Re3-d3 # 3.Re3-e4 # 2...Rf1*g1 3.Sb4-c2 # 3.Re3-d3 # 3.Re3-e4 # 2...c3-c2 3.Sb4*c2 # 3.Sb4-c6 # 3.Re3-d3 # 2...c3*d2 3.Sb4-c2 # 3.Sb4-c6 # 2...Bh5-d1 3.Sb4-c6 # 3.Re3-d3 # 3.Re3-e4 # 2...Bh5-f3 3.Sb4-c2 # 3.Re3-d3 # 3.Re3-e4 # 2...Bh5-g6 3.Sb4-c6 # 3.Re3-d3 # 3.Re3-e4 # 1...Rf4-f2 2.Qg1*f2 threat: 3.Re3*c3 # 3.Re3-h3 # 3.Re3-g3 # 3.Re3-f3 # 3.Qf2*f6 # 3.Qf2-f4 # 2...c3*d2 3.Qf2*d2 # 3.Qf2*f6 # 3.Qf2-f4 # 2...Bh5-f3 3.Re3*c3 # 3.Re3*f3 # 3.Sd2*f3 # 2...Bh5-g6 3.Re3*c3 # 3.Re3-h3 # 3.Re3-g3 # 3.Re3-f3 # 3.Qf2*f6 # 3.Sd2-f3 # 2...f6-f5 3.Re3*c3 # 3.Re3-h3 # 3.Re3-g3 # 3.Re3-f3 # 3.Qf2-f4 # 2.Qg1*a1 threat: 3.Qa1*c3 # 3.Qa1-a4 # 2...Bh5-e2 3.Qa1*c3 # 2...b6-b5 3.Qa1*c3 # 1...Rf4-e4 2.Re3*c3 + 2...Re4-e3 3.Qg1*e3 # 2.Re3-h3 + 2...Re4-e3 3.Qg1*e3 # 2.Re3-g3 + 2...Re4-e3 3.Qg1*e3 # 2.Re3-f3 + 2...Re4-e3 3.Qg1*e3 # 1...Rf4-g4 2.Re3-g3 # 2.Sd2-f3 # 1.Sd5-b4 ! threat: 2.Sb4-c6 # 1...Bh5-f3 2.Re3-e2 # 1.c7-c8=Q ! threat: 2.Sc4-b2 threat: 3.Qc8*c3 # 3.Qc8-c4 # 2...Ba1*b2 3.Qc8-c4 # 2...Rd2-c2 3.Qc8-c4 # 2...Rd2-d3 3.Qc8-c4 # 2...Bh5-e2 3.Qc8*c3 # 2...b6-b5 3.Qc8*c3 # 3.Qc8-c5 # 2.Sc4*d2 threat: 3.Qc8-c4 # 3.Re3-f3 # 2...c3*d2 3.Qc8-c4 # 3.Qg1*a1 # 2...Rf4-f1 3.Qc8-c4 # 2...Rf4-f2 3.Qc8-c4 # 2...Rf4-e4 3.Qc8-c4 # 2...Rf4-g4 3.Qc8-c4 # 3.Re3-g3 # 3.Sd2-f3 # 2...Bh5-e2 3.Re3-f3 # 2...b6-b5 3.Qc8-c5 # 3.Re3-f3 # 2.Sc4-e5 threat: 3.Qc8-c4 # 3.Se5-c6 # 2...Bh5-e2 3.Se5-c6 # 2...b6-b5 3.Qc8-c5 # 3.Se5-c6 # 2...f6*e5 3.Qc8-c4 # 2.Sc4*b6 threat: 3.Qc8-c4 # 3.Qc8-c5 # 2...Bh5-e2 3.Qc8-c5 # 2.a5*b6 threat: 3.Qc8-c5 # 2.Sd5-b4 threat: 3.Sb4-c6 # 2...Bh5-f3 3.Re3-e2 # 2.Qc8-a6 threat: 3.Qa6*b6 # 2.Qc8-b7 threat: 3.Qb7*b6 # 2.Qc8-c6 threat: 3.Qc6*b6 # 2.Qc8-c7 threat: 3.Qc7*b6 # 2.Qc8-b8 threat: 3.Qb8*b6 # 2.Qc8-d8 threat: 3.Qd8*b6 # 1...Ba1-b2 2.Sc4*b2 threat: 3.Qc8*c3 # 3.Qc8-c4 # 2...Rd2-c2 3.Qc8-c4 # 2...Rd2-d3 3.Qc8-c4 # 2...Bh5-e2 3.Qc8*c3 # 2...b6-b5 3.Qc8*c3 # 3.Qc8-c5 # 1...Rd2-d1 2.Sc4-a3 threat: 3.Qc8-c4 # 3.Sa3-c2 # 3.Sa3-b5 # 2...Rd1-c1 3.Qc8-c4 # 3.Sa3-b5 # 2...Rd1-d2 3.Qc8-c4 # 3.Sa3-b5 # 2...Rf4-f2 3.Qc8-c4 # 3.Sa3-b5 # 2...Bh5-e2 3.Sa3-c2 # 2...Bh5-g6 3.Qc8-c4 # 3.Sa3-b5 # 2...b6-b5 3.Qc8-c5 # 3.Sa3-c2 # 3.Sa3*b5 # 2.Sc4-b2 threat: 3.Qc8*c3 # 3.Qc8-c4 # 2...Ba1*b2 3.Qc8-c4 # 2...Rd1-c1 3.Qc8-c4 # 2...Rd1-d3 3.Qc8-c4 # 2...Bh5-e2 3.Qc8*c3 # 2...b6-b5 3.Qc8*c3 # 3.Qc8-c5 # 2.Sc4-e5 threat: 3.Qc8-c4 # 3.Se5-c6 # 2...Bh5-e2 3.Se5-c6 # 2...b6-b5 3.Qc8-c5 # 3.Se5-c6 # 2...f6*e5 3.Qc8-c4 # 2.Sc4*b6 threat: 3.Qc8-c4 # 3.Qc8-c5 # 2...Bh5-e2 3.Qc8-c5 # 2.a5*b6 threat: 3.Qc8-c5 # 2.Sd5-b4 threat: 3.Sb4-c2 # 3.Sb4-c6 # 2...Rd1-c1 3.Sb4-c6 # 2...Rd1-d2 3.Sb4-c6 # 2...Rf4-f2 3.Sb4-c6 # 2...Bh5-f3 3.Sb4-c2 # 3.Re3-e1 # 2...Bh5-g6 3.Sb4-c6 # 2.Qc8-a6 threat: 3.Qa6*b6 # 2.Qc8-b7 threat: 3.Qb7*b6 # 2.Qc8-c6 threat: 3.Qc6*b6 # 2.Qc8-c7 threat: 3.Qc7*b6 # 2.Qc8-b8 threat: 3.Qb8*b6 # 2.Qc8-d8 threat: 3.Qd8*b6 # 1...Rd2-a2 2.Sc4-b2 threat: 3.Qc8*c3 # 3.Qc8-c4 # 2...Ba1*b2 3.Qc8-c4 # 2...Ra2-a4 3.Qc8*c3 # 2...Bh5-e2 3.Qc8*c3 # 2...b6-b5 3.Qc8*c3 # 3.Qc8-c5 # 2.Sc4-d2 threat: 3.Qc8-c4 # 3.Re3-f3 # 2...Ra2-a4 3.Re3-f3 # 2...Ra2*d2 3.Qc8-c4 # 2...c3*d2 3.Qc8-c4 # 2...Rf4-f1 3.Qc8-c4 # 2...Rf4-f2 3.Qc8-c4 # 2...Rf4-e4 3.Qc8-c4 # 2...Rf4-g4 3.Qc8-c4 # 3.Re3-g3 # 3.Sd2-f3 # 2...Bh5-e2 3.Re3-f3 # 2...b6-b5 3.Qc8-c5 # 3.Re3-f3 # 2.Sc4-e5 threat: 3.Qc8-c4 # 3.Se5-c6 # 2...Ra2-a4 3.Se5-c6 # 2...Bh5-e2 3.Se5-c6 # 2...b6-b5 3.Qc8-c5 # 3.Se5-c6 # 2...f6*e5 3.Qc8-c4 # 2.Sc4*b6 threat: 3.Qc8-c4 # 3.Qc8-c5 # 2...Ra2*a5 3.Qc8-c4 # 2...Ra2-a4 3.Qc8-c5 # 2...Bh5-e2 3.Qc8-c5 # 2.Sd5-b4 threat: 3.Sb4-c6 # 2...Bh5-f3 3.Re3-e2 # 1...Rd2-b2 2.Sc4-a3 threat: 3.Qc8*c3 # 3.Qc8-c4 # 3.Sa3-b5 # 2...Rb2-b1 3.Qc8-c4 # 3.Sa3-c2 # 3.Sa3-b5 # 2...Rb2-a2 3.Qc8-c4 # 3.Sa3-b5 # 2...Rb2*b3 3.Qc8-c4 # 3.Sa3-c2 # 2...Rb2-h2 3.Qc8-c4 # 3.Sa3-b5 # 2...Rb2-g2 3.Qc8-c4 # 3.Sa3-b5 # 2...Rb2-f2 3.Qc8-c4 # 3.Sa3-b5 # 2...Rb2-e2 3.Qc8-c4 # 3.Sa3-b5 # 2...Rb2-d2 3.Qc8-c4 # 3.Sa3-b5 # 2...Rb2-c2 3.Qc8-c4 # 3.Sa3*c2 # 3.Sa3-b5 # 2...Bh5-e2 3.Qc8*c3 # 2...b6-b5 3.Qc8*c3 # 3.Qc8-c5 # 3.Sa3*b5 # 2.Sc4*b2 threat: 3.Qc8*c3 # 3.Qc8-c4 # 2...Ba1*b2 3.Qc8-c4 # 2...Bh5-e2 3.Qc8*c3 # 2...b6-b5 3.Qc8*c3 # 3.Qc8-c5 # 2.Sc4-d2 threat: 3.Qc8*c3 # 3.Qc8-c4 # 3.Re3-f3 # 2...Rb2-b1 3.Qc8-c4 # 2...Rb2-a2 3.Qc8-c4 # 3.Re3-f3 # 2...Rb2*b3 3.Qc8-c4 # 3.Re3-f3 # 3.Sd2*b3 # 2...Rb2*d2 3.Qc8-c4 # 2...Rb2-c2 3.Qc8-c4 # 3.Re3-f3 # 2...c3*d2 3.Qc8-c3 # 3.Qc8-c4 # 2...Rf4-f1 3.Qc8*c3 # 3.Qc8-c4 # 2...Rf4-f2 3.Qc8*c3 # 3.Qc8-c4 # 2...Rf4-e4 3.Qc8*c3 # 3.Qc8-c4 # 2...Rf4-g4 3.Qc8*c3 # 3.Qc8-c4 # 3.Re3-g3 # 3.Sd2-f3 # 2...Bh5-e2 3.Qc8*c3 # 3.Re3-f3 # 2...b6-b5 3.Qc8*c3 # 3.Qc8-c5 # 3.Re3-f3 # 2.Sc4-e5 threat: 3.Qc8*c3 # 3.Qc8-c4 # 3.Se5-c6 # 2...Rb2-b1 3.Qc8-c4 # 3.Se5-c6 # 2...Rb2-a2 3.Qc8-c4 # 3.Se5-c6 # 2...Rb2*b3 3.Qc8-c4 # 2...Rb2-h2 3.Qc8-c4 # 3.Se5-c6 # 2...Rb2-g2 3.Qc8-c4 # 3.Se5-c6 # 2...Rb2-f2 3.Qc8-c4 # 3.Se5-c6 # 2...Rb2-e2 3.Qc8-c4 # 3.Se5-c6 # 2...Rb2-d2 3.Qc8-c4 # 3.Se5-c6 # 2...Rb2-c2 3.Qc8-c4 # 3.Se5-c6 # 2...Bh5-e2 3.Qc8*c3 # 3.Se5-c6 # 2...b6-b5 3.Qc8*c3 # 3.Qc8-c5 # 3.Se5-c6 # 2...f6*e5 3.Qc8*c3 # 3.Qc8-c4 # 2.Sc4*b6 threat: 3.Qc8*c3 # 3.Qc8-c4 # 3.Qc8-c5 # 2...Rb2-b1 3.Qc8-c4 # 3.Qc8-c5 # 2...Rb2-a2 3.Qc8-c4 # 3.Qc8-c5 # 2...Rb2*b3 3.Qc8-c4 # 3.Qc8-c5 # 2...Rb2-h2 3.Qc8-c4 # 3.Qc8-c5 # 2...Rb2-g2 3.Qc8-c4 # 3.Qc8-c5 # 2...Rb2-f2 3.Qc8-c4 # 3.Qc8-c5 # 2...Rb2-e2 3.Qc8-c4 # 3.Qc8-c5 # 2...Rb2-d2 3.Qc8-c4 # 3.Qc8-c5 # 2...Rb2-c2 3.Qc8-c4 # 3.Qc8-c5 # 2...Bh5-e2 3.Qc8*c3 # 3.Qc8-c5 # 2.a5*b6 threat: 3.Qc8-c5 # 2.Sd5-b4 threat: 3.Sb4-c6 # 2...Rb2*b3 3.Sb4-c2 # 2...Bh5-f3 3.Re3-e2 # 1...Rd2-c2 2.Re3-d3 + 2...Kd4*d3 3.Qg1-e3 # 2...Kd4-e4 3.Qg1-d4 # 3.Qg1-e3 # 2.Re3-e4 + 2...Kd4-d3 3.Qg1-d4 # 3.Qg1-e3 # 2...Kd4*e4 3.Qg1-e3 # 2.Sc4-a3 threat: 3.Qc8-c4 # 3.Sa3*c2 # 3.Sa3-b5 # 2...Rc2-c1 3.Qc8-c4 # 3.Sa3-b5 # 2...Rc2-a2 3.Qc8-c4 # 3.Sa3-b5 # 2...Rc2-b2 3.Qc8*c3 # 3.Qc8-c4 # 3.Sa3-b5 # 2...Rc2-h2 3.Qc8-c4 # 3.Sa3-b5 # 2...Rc2-g2 3.Qc8-c4 # 3.Sa3-b5 # 2...Rc2-f2 3.Qc8-c4 # 3.Sa3-b5 # 2...Rc2-e2 3.Qc8-c4 # 3.Sa3-b5 # 2...Rc2-d2 3.Qc8-c4 # 3.Sa3-b5 # 2...Rf4-f2 3.Qc8-c4 # 3.Sa3-b5 # 2...Bh5-d1 3.Qc8-c4 # 3.Sa3-b5 # 2...Bh5-e2 3.Sa3*c2 # 2...Bh5-g6 3.Qc8-c4 # 3.Sa3-b5 # 2...b6-b5 3.Qc8-c5 # 3.Sa3*c2 # 3.Sa3*b5 # 2.Sc4-e5 threat: 3.Qc8-c4 # 3.Se5-c6 # 2...Bh5-e2 3.Se5-c6 # 2...b6-b5 3.Qc8-c5 # 3.Se5-c6 # 2...f6*e5 3.Qc8-c4 # 2.Sc4*b6 threat: 3.Qc8-c4 # 3.Qc8-c5 # 2...Bh5-e2 3.Qc8-c5 # 2.a5*b6 threat: 3.Qc8-c5 # 2.Sd5-b4 threat: 3.Sb4*c2 # 3.Sb4-c6 # 2...Rc2-c1 3.Sb4-c6 # 2...Rc2-a2 3.Sb4-c6 # 2...Rc2-b2 3.Sb4-c6 # 2...Rc2-h2 3.Sb4-c6 # 2...Rc2-g2 3.Sb4-c6 # 2...Rc2-f2 3.Sb4-c6 # 2...Rc2-e2 3.Sb4-c6 # 2...Rc2-d2 3.Sb4-c6 # 2...Rf4-f2 3.Sb4-c6 # 2...Bh5-d1 3.Sb4-c6 # 2...Bh5-f3 3.Sb4*c2 # 3.Re3-e2 # 2...Bh5-g6 3.Sb4-c6 # 2.Qc8-a6 threat: 3.Qa6*b6 # 2.Qc8-b7 threat: 3.Qb7*b6 # 2.Qc8-c6 threat: 3.Qc6*b6 # 2.Qc8-c7 threat: 3.Qc7*b6 # 2.Qc8-b8 threat: 3.Qb8*b6 # 2.Qc8-d8 threat: 3.Qd8*b6 # 1...Rd2-d3 2.Re3-f3 + 2...Rd3-e3 3.Qg1*e3 # 2...Kd4-e4 3.Rf3*f4 # 2.Sc4-a3 threat: 3.Qc8-c4 # 3.Sa3-c2 # 3.Sa3-b5 # 2...Rd3-d2 3.Qc8-c4 # 3.Sa3-b5 # 2...Rd3*e3 3.Qc8-c4 # 3.Qg1*e3 # 2...Rf4-f2 3.Qc8-c4 # 3.Sa3-b5 # 2...Bh5-d1 3.Qc8-c4 # 3.Sa3-b5 # 2...b6-b5 3.Qc8-c5 # 3.Sa3-c2 # 3.Sa3*b5 # 2.Sc4-b2 threat: 3.Qc8-c4 # 2...b6-b5 3.Qc8-c5 # 2.Sc4-d2 threat: 3.Qc8-c4 # 3.Re3-e4 # 2...c3*d2 3.Qc8-c4 # 2...Rd3*d2 3.Qc8-c4 # 2...Rd3*e3 3.Qc8-c4 # 3.Qg1*e3 # 2...b6-b5 3.Qc8-c5 # 3.Re3-e4 # 2.Sc4-e5 threat: 3.Qc8-c4 # 3.Se5-c6 # 2...Rd3*e3 3.Qc8-c4 # 3.Qg1*e3 # 2...b6-b5 3.Qc8-c5 # 3.Se5-c6 # 2...f6*e5 3.Qc8-c4 # 2.Sc4*b6 threat: 3.Qc8-c4 # 3.Qc8-c5 # 2...Rd3*e3 3.Qc8-c4 # 3.Qg1*e3 # 2.a5*b6 threat: 3.Qc8-c5 # 2...Rd3*e3 3.Qg1*e3 # 2.Qc8-a6 threat: 3.Qa6*b6 # 2...Rd3*e3 3.Qg1*e3 # 2.Qc8-b7 threat: 3.Qb7*b6 # 2...Rd3*e3 3.Qg1*e3 # 2.Qc8-c6 threat: 3.Qc6*b6 # 2...Rd3*e3 3.Qg1*e3 # 2.Qc8-c7 threat: 3.Qc7*b6 # 2...Rd3*e3 3.Qg1*e3 # 2.Qc8-b8 threat: 3.Qb8*b6 # 2...Rd3*e3 3.Qg1*e3 # 2.Qc8-d8 threat: 3.Qd8*b6 # 2...Rd3*e3 3.Qg1*e3 # 1...Rd2-h2 2.Re3-e2 + 2...Rh2-f2 3.Qg1-d1 # 2...Kd4-d3 3.Sd5*f4 # 3.Qg1-e3 # 3.Qg1-d1 # 2...Rf4-f2 3.Qg1-d1 # 2.Sc4-a3 threat: 3.Qc8-c4 # 3.Sa3-b5 # 2...Bh5-e2 3.Sa3-c2 # 2...b6-b5 3.Qc8-c5 # 3.Sa3*b5 # 2.Sc4-b2 threat: 3.Qc8*c3 # 3.Qc8-c4 # 2...Ba1*b2 3.Qc8-c4 # 2...Rh2-c2 3.Qc8-c4 # 2...Bh5-e2 3.Qc8*c3 # 2...b6-b5 3.Qc8*c3 # 3.Qc8-c5 # 2.Sc4-e5 threat: 3.Qc8-c4 # 3.Se5-c6 # 2...Bh5-e2 3.Se5-c6 # 2...b6-b5 3.Qc8-c5 # 3.Se5-c6 # 2...f6*e5 3.Qc8-c4 # 2.Sc4*b6 threat: 3.Qc8-c4 # 3.Qc8-c5 # 2...Bh5-e2 3.Qc8-c5 # 2.a5*b6 threat: 3.Qc8-c5 # 2.Qc8-a6 threat: 3.Qa6*b6 # 2.Qc8-b7 threat: 3.Qb7*b6 # 2.Qc8-c6 threat: 3.Qc6*b6 # 2.Qc8-c7 threat: 3.Qc7*b6 # 2.Qc8-b8 threat: 3.Qb8*b6 # 2.Qc8-d8 threat: 3.Qd8*b6 # 1...Rd2-g2 2.Sc4-a3 threat: 3.Qc8-c4 # 3.Sa3-b5 # 2...Bh5-e2 3.Sa3-c2 # 2...b6-b5 3.Qc8-c5 # 3.Sa3*b5 # 2.Sc4-b2 threat: 3.Qc8*c3 # 3.Qc8-c4 # 2...Ba1*b2 3.Qc8-c4 # 2...Rg2-c2 3.Qc8-c4 # 2...Bh5-e2 3.Qc8*c3 # 2...b6-b5 3.Qc8*c3 # 3.Qc8-c5 # 2.Sc4-e5 threat: 3.Qc8-c4 # 3.Se5-c6 # 2...Bh5-e2 3.Se5-c6 # 2...b6-b5 3.Qc8-c5 # 3.Se5-c6 # 2...f6*e5 3.Qc8-c4 # 2.Sc4*b6 threat: 3.Qc8-c4 # 3.Qc8-c5 # 2...Bh5-e2 3.Qc8-c5 # 2.a5*b6 threat: 3.Qc8-c5 # 2.Qc8-a6 threat: 3.Qa6*b6 # 2.Qc8-b7 threat: 3.Qb7*b6 # 2.Qc8-c6 threat: 3.Qc6*b6 # 2.Qc8-c7 threat: 3.Qc7*b6 # 2.Qc8-b8 threat: 3.Qb8*b6 # 2.Qc8-d8 threat: 3.Qd8*b6 # 1...Rd2-f2 2.Sc4-a3 threat: 3.Qc8-c4 # 3.Sa3-b5 # 2...Bh5-e2 3.Sa3-c2 # 2...b6-b5 3.Qc8-c5 # 3.Sa3*b5 # 2.Sc4-b2 threat: 3.Qc8*c3 # 3.Qc8-c4 # 2...Ba1*b2 3.Qc8-c4 # 2...Rf2-c2 3.Qc8-c4 # 2...Bh5-e2 3.Qc8*c3 # 2...b6-b5 3.Qc8*c3 # 3.Qc8-c5 # 2.Sc4-e5 threat: 3.Qc8-c4 # 3.Se5-c6 # 2...Bh5-e2 3.Se5-c6 # 2...b6-b5 3.Qc8-c5 # 3.Se5-c6 # 2...f6*e5 3.Qc8-c4 # 2.Sc4*b6 threat: 3.Qc8-c4 # 3.Qc8-c5 # 2...Bh5-e2 3.Qc8-c5 # 2.a5*b6 threat: 3.Qc8-c5 # 2.Qc8-a6 threat: 3.Qa6*b6 # 2.Qc8-b7 threat: 3.Qb7*b6 # 2.Qc8-c6 threat: 3.Qc6*b6 # 2.Qc8-c7 threat: 3.Qc7*b6 # 2.Qc8-b8 threat: 3.Qb8*b6 # 2.Qc8-d8 threat: 3.Qd8*b6 # 1...Rf4-f1 2.Sc4-b2 threat: 3.Qc8*c3 # 3.Qc8-c4 # 2...Ba1*b2 3.Qc8-c4 # 2...Rf1-c1 3.Qc8-c4 # 2...Rd2-c2 3.Qc8-c4 # 2...Rd2-d3 3.Qc8-c4 # 2...Bh5-e2 3.Qc8*c3 # 2...b6-b5 3.Qc8*c3 # 3.Qc8-c5 # 2.Sc4-e5 threat: 3.Qc8-c4 # 3.Se5-c6 # 2...Bh5-e2 3.Se5-c6 # 2...b6-b5 3.Qc8-c5 # 3.Se5-c6 # 2...f6*e5 3.Qc8-c4 # 2.Sc4*b6 threat: 3.Qc8-c4 # 3.Qc8-c5 # 2...Bh5-e2 3.Qc8-c5 # 2.a5*b6 threat: 3.Qc8-c5 # 2.Sd5-e7 threat: 3.Se7-c6 # 2...Bh5-f3 3.Se7-f5 # 2.Qc8-a6 threat: 3.Qa6*b6 # 2.Qc8-b7 threat: 3.Qb7*b6 # 2.Qc8-c6 threat: 3.Qc6*b6 # 2.Qc8-c7 threat: 3.Qc7*b6 # 2.Qc8-b8 threat: 3.Qb8*b6 # 2.Qc8-d8 threat: 3.Qd8*b6 # 1...Rf4-f2 2.Sc4-b2 threat: 3.Qc8*c3 # 3.Qc8-c4 # 2...Ba1*b2 3.Qc8-c4 # 2...Rd2-c2 3.Qc8-c4 # 2...Rd2-d3 3.Qc8-c4 # 2...Bh5-e2 3.Qc8*c3 # 2...b6-b5 3.Qc8*c3 # 3.Qc8-c5 # 2.Sc4-e5 threat: 3.Qc8-c4 # 3.Se5-c6 # 2...Bh5-e2 3.Se5-c6 # 2...b6-b5 3.Qc8-c5 # 3.Se5-c6 # 2...f6*e5 3.Qc8-c4 # 2.Sc4*b6 threat: 3.Qc8-c4 # 3.Qc8-c5 # 2...Bh5-e2 3.Qc8-c5 # 2.a5*b6 threat: 3.Qc8-c5 # 2.Sd5-e7 threat: 3.Se7-c6 # 2...Bh5-f3 3.Se7-f5 # 2.Qc8-a6 threat: 3.Qa6*b6 # 2.Qc8-b7 threat: 3.Qb7*b6 # 2.Qc8-c6 threat: 3.Qc6*b6 # 2.Qc8-c7 threat: 3.Qc7*b6 # 2.Qc8-b8 threat: 3.Qb8*b6 # 2.Qc8-d8 threat: 3.Qd8*b6 # 1...Rf4-e4 2.Sc4-e5 threat: 3.Qc8-c4 # 3.Se5-c6 # 3.Re3-d3 # 2...Re4*e3 3.Qc8-c4 # 3.Qg1*e3 # 2...Re4*e5 3.Qc8-c4 # 2...Re4-h4 3.Qc8-c4 # 3.Se5-c6 # 3.Re3-e2 # 2...Re4-g4 3.Qc8-c4 # 3.Se5-f3 # 3.Se5-c6 # 2...Re4-f4 3.Qc8-c4 # 3.Se5-c6 # 2...Bh5-e2 3.Se5-c6 # 3.Re3-d3 # 2...b6-b5 3.Qc8-c5 # 3.Se5-c6 # 3.Re3-d3 # 2...f6*e5 3.Qc8-c4 # 1...Rf4-f5 2.Sc4-e5 threat: 3.Qc8-c4 # 3.Se5-c6 # 2...Rf5*e5 3.Qc8-c4 # 2...Bh5-e2 3.Se5-c6 # 2...b6-b5 3.Qc8-c5 # 3.Se5-c6 # 2...f6*e5 3.Qc8-c4 # 2.Qc8-b7 threat: 3.Qb7*b6 # 2...Rf5*d5 + 3.Qb7*d5 # 2.Qc8*f5 threat: 3.Qf5-e4 # 3.Qf5-f4 # 3.Qf5*f6 # 3.Re3-e2 # 3.Re3-d3 # 2...Rd2-d1 3.Qf5-e4 # 3.Qf5-f4 # 3.Qf5*f6 # 3.Re3-e1 # 3.Re3-d3 # 2...Rd2-d3 3.Qf5*d3 # 3.Qf5-e4 # 3.Qf5-f4 # 3.Qf5*f6 # 3.Re3*d3 # 3.Re3-e4 # 2...Rd2-h2 3.Qf5-d3 # 3.Qf5-e4 # 3.Qf5-f4 # 3.Qf5*f6 # 3.Re3-d3 # 2...Rd2-g2 3.Qf5-d3 # 3.Qf5-e4 # 3.Qf5-f4 # 3.Qf5*f6 # 3.Re3-d3 # 2...Rd2-f2 3.Qf5-d3 # 3.Qf5-e4 # 3.Re3-d3 # 2...Bh5-f3 3.Qf5*f6 # 3.Re3-e2 # 3.Re3-d3 # 2...Bh5-g6 3.Qf5*f6 # 3.Re3-e2 # 3.Re3-d3 # 3.Qg1-g4 # 2.Qc8-c6 threat: 3.Qc6*b6 # 2...Rf5*d5 + 3.Qc6*d5 # 1...Bh5-d1 2.Sc4-b2 threat: 3.Qc8*c3 # 3.Qc8-c4 # 2...Ba1*b2 3.Qc8-c4 # 2...Bd1-e2 3.Qc8*c3 # 2...Bd1*b3 3.Qc8*c3 # 2...Rd2-c2 3.Qc8-c4 # 2...Rd2-d3 3.Qc8-c4 # 2...b6-b5 3.Qc8*c3 # 3.Qc8-c5 # 2.Sc4*d2 threat: 3.Qc8-c4 # 3.Re3-f3 # 2...Bd1-e2 3.Re3-f3 # 2...Bd1*b3 3.Re3-f3 # 3.Sd2*b3 # 2...c3*d2 3.Qc8-c4 # 2...Rf4-f1 3.Qc8-c4 # 2...Rf4-f2 3.Qc8-c4 # 2...Rf4-e4 3.Qc8-c4 # 2...Rf4-g4 3.Qc8-c4 # 3.Re3-g3 # 2...b6-b5 3.Qc8-c5 # 3.Re3-f3 # 2.Sc4*b6 threat: 3.Qc8-c4 # 3.Qc8-c5 # 2...Bd1-e2 3.Qc8-c5 # 2...Bd1*b3 3.Qc8-c5 # 2.a5*b6 threat: 3.Qc8-c5 # 1...Bh5-e2 2.Re3-f3 + 2...Kd4-e4 3.Qg1-e3 # 2.Sc4*b6 threat: 3.Qc8-c5 # 2.a5*b6 threat: 3.Qc8-c5 # 2.Sd5-b4 threat: 3.Sb4-c6 # 2...Be2-f3 3.Re3-e2 # 2.Sd5*f4 threat: 3.Re3*e2 # 3.Re3-e8 # 3.Re3-e7 # 3.Re3-e6 # 3.Re3-e5 # 2...Rd2-d1 3.Sf4*e2 # 2...Rd2-d3 3.Sf4*e2 # 2...Be2-d1 3.Re3-e2 # 2...Be2-f1 3.Re3-e2 # 2...Be2-h5 3.Re3-e2 # 2...Be2-g4 3.Re3-e2 # 2...Be2-f3 3.Re3-e2 # 2...Be2*c4 3.Qc8*c4 # 3.Re3-e2 # 2...Be2-d3 3.Re3-e2 # 2...c3-c2 3.Qg1*a1 # 2.Qc8-a6 threat: 3.Qa6*b6 # 2.Qc8-b7 threat: 3.Qb7*b6 # 2.Qc8-c6 threat: 3.Qc6*b6 # 2.Qc8-c7 threat: 3.Qc7*b6 # 2.Qc8-b8 threat: 3.Qb8*b6 # 2.Qc8-d8 threat: 3.Qd8*b6 # 1...Bh5-f3 2.Sc4-b2 threat: 3.Qc8*c3 # 3.Qc8-c4 # 3.Re3-e2 # 2...Ba1*b2 3.Qc8-c4 # 2...Rd2-d1 3.Qc8*c3 # 3.Qc8-c4 # 3.Re3-e1 # 2...Rd2*b2 3.Qc8*c3 # 3.Qc8-c4 # 2...Rd2-c2 3.Qc8-c4 # 3.Re3-e2 # 2...Rd2-d3 3.Qc8-c4 # 2...Rd2-h2 3.Qc8*c3 # 3.Qc8-c4 # 2...Rd2-g2 3.Qc8*c3 # 3.Qc8-c4 # 2...Rd2-f2 3.Qc8*c3 # 3.Qc8-c4 # 2...c3*b2 3.Qc8-c3 # 3.Qc8-c4 # 2...Bf3-d1 3.Qc8*c3 # 3.Qc8-c4 # 2...Bf3-e2 3.Qc8*c3 # 2...Bf3-h1 3.Qc8*c3 # 3.Qc8-c4 # 2...Bf3-g2 3.Qc8*c3 # 3.Qc8-c4 # 2...Bf3-h5 3.Qc8*c3 # 3.Qc8-c4 # 2...Bf3-g4 3.Qc8*c3 # 3.Qc8-c4 # 2...Bf3*d5 3.Qc8*c3 # 2...Bf3-e4 3.Qc8*c3 # 3.Qc8-c4 # 3.Re3-d3 # 2...Rf4-e4 3.Qc8*c3 # 3.Qc8-c4 # 3.Re3-d3 # 2...Rf4-g4 3.Qc8*c3 # 3.Qc8-c4 # 2...b6-b5 3.Qc8*c3 # 3.Qc8-c5 # 3.Re3-e2 # 2.Sc4*d2 threat: 3.Qc8-c4 # 3.Re3*c3 # 3.Re3*f3 # 2...c3*d2 3.Qc8-c4 # 3.Qg1*a1 # 2...Bf3-d1 3.Qc8-c4 # 3.Re3-f3 # 2...Bf3-e2 3.Re3-f3 # 2...Bf3-h1 3.Qc8-c4 # 3.Re3-f3 # 2...Bf3-g2 3.Qc8-c4 # 3.Re3-f3 # 2...Bf3-h5 3.Qc8-c4 # 3.Re3-f3 # 2...Bf3-g4 3.Qc8-c4 # 3.Re3-f3 # 2...Bf3*d5 3.Re3-f3 # 2...Bf3-e4 3.Qc8-c4 # 3.Re3-f3 # 2...Rf4-e4 3.Qc8-c4 # 3.Sd2*f3 # 2...Rf4-g4 3.Qc8-c4 # 3.Sd2*f3 # 2...b6-b5 3.Qc8-c5 # 3.Re3*c3 # 3.Re3*f3 # 2.Sc4*b6 threat: 3.Qc8-c4 # 3.Qc8-c5 # 2...Bf3-e2 3.Qc8-c5 # 2...Bf3*d5 3.Qc8-c5 # 2.a5*b6 threat: 3.Qc8-c5 # 2.Qc8-a6 threat: 3.Qa6*b6 # 2.Qc8-b7 threat: 3.Qb7*b6 # 2.Qc8-c6 threat: 3.Qc6*b6 # 2.Qc8-c7 threat: 3.Qc7*b6 # 2.Qc8-b8 threat: 3.Qb8*b6 # 2.Qc8-d8 threat: 3.Qd8*b6 # 1...Bh5-g4 2.Sc4*d2 threat: 3.Qc8-c4 # 3.Re3-f3 # 2...c3*d2 3.Qc8-c4 # 3.Qg1*a1 # 2...Rf4-f1 3.Qc8-c4 # 2...Rf4-f2 3.Qc8-c4 # 2...Rf4-e4 3.Qc8-c4 # 2...Bg4-e2 3.Re3-f3 # 2...Bg4*c8 3.Re3-f3 # 2...b6-b5 3.Qc8-c5 # 3.Re3-f3 # 2.Sc4-e5 threat: 3.Qc8-c4 # 3.Se5-c6 # 2...Bg4-e2 3.Se5-c6 # 2...Bg4*c8 3.Se5-c6 # 2...Bg4-d7 3.Qc8-c4 # 2...b6-b5 3.Qc8-c5 # 3.Se5-c6 # 2...f6*e5 3.Qc8-c4 # 2.Qc8-a6 threat: 3.Qa6*b6 # 2.Qc8-b7 threat: 3.Qb7*b6 # 2.Qc8-c6 threat: 3.Qc6*b6 # 2.Qc8-c7 threat: 3.Qc7*b6 # 2.Qc8-b8 threat: 3.Qb8*b6 # 2.Qc8-d8 threat: 3.Qd8*b6 #" keywords: - Cooked comments: - composed before 1903 --- authors: - Loyd, Samuel source: New York Illustrated News date: 1860-03-10 algebraic: white: [Ke1, Qb6, Rc4, Ra1, Ph2, Pf2] black: [Ka4, Qa2, Rb4, Rb2, Ba3, Sg1, Ph3, Pg2, Pf3, Pb3] stipulation: "s#1" solution: | "1.0-0-0 ! 1...Sg1-e2 # 1...Qa2-b1 # 1...Qa2-a1 # 1...Rb2-b1 # 1...Rb2*f2 # 1...Rb2-e2 # 1...Rb2-d2 # 1...Rb2-c2 # 1...Rb4*c4 #" --- authors: - Loyd, Samuel source: New York Illustrated News date: 1860-03-10 algebraic: white: [Kb8, Qg8, Rd2, Rc2, Bc4, Sf5, Sd3, Pf4, Pb7, Pb2, Pa6] black: [Kh1, Qa4, Rh8, Ba5, Sb5, Sa8, Pe7] stipulation: "#1" solution: "1.b7*a8=Q#!" comments: - also in The Philadelphia Times, 20 January 1884 --- authors: - Loyd, Samuel source: Chess Monthly source-id: 23v date: 1857-05 algebraic: white: [Kh1, Qf2, Sb6, Pg3, Pc3, Pc2] black: [Ke4, Ph7, Ph3, Ph2, Pg5, Pf7, Pe5, Pc4] stipulation: "#5" solution: | "1.Sb6*c4 ! threat: 2.Qf2-f6 threat: 3.Qf6-c6 + 3...Ke4-f5 4.Sc4-e3 # 2...Ke4-d5 3.Qf6-d6 + 3...Kd5*c4 4.Qd6-c6 # 3...Kd5-e4 4.Qd6-d3 # 2...g5-g4 3.Qf6*e5 + 3...Ke4-f3 4.Qe5-e3 # 1...Ke4-d5 2.Qf2-b6 threat: 3.Qb6-d6 + 3...Kd5*c4 4.Qd6-c6 # 3...Kd5-e4 4.Qd6-d3 # 2...Kd5-e4 3.Qb6-c6 + 3...Ke4-f5 4.Sc4-e3 # 1...f7-f5 2.Qf2-e3 + 2...Ke4-d5 3.Qe3-b6 threat: 4.Qb6-d6 + 4...Kd5*c4 5.Qd6-c6 # 4...Kd5-e4 5.Qd6-d3 # 5.Qd6-c6 #" --- authors: - Loyd, Samuel source: Chess Strategy source-id: 8 date: 1913 algebraic: white: [Ka5, Qg7, Bg8, Pf7, Pb5] black: [Kd6, Be4] stipulation: "#1" solution: | "1.f7-f8=Q # ! 1.f7-f8=B # !" comments: - Six squares are further guarded by the mating move. --- authors: - Loyd, Samuel source: American Chess Journal source-id: 318 date: 1879-06 algebraic: white: [Kd2, Ra1, Sc3, Pe3] black: [Kh1, Qg1, Rh4, Rg3, Bf1, Bb6, Sh2, Ph7, Ph5, Ph3, Pg7, Pg4, Pg2, Pf3, Pf2] stipulation: "#27" solution: 1.Sc3-e4! comments: - Dedicated to Charles H. Waterbury --- authors: - Loyd, Samuel source: algebraic: white: [Kc2, Qg3, Rf6, Ra3, Sc3, Pd5] black: [Kd4, Pe5, Pe4, Pc5] stipulation: "#2" solution: | "1.Sc3-e2 + ! 1...Kd4-c4 2.Qg3-b3 # 1...Kd4*d5 2.Qg3-g8 # 1.Sc3-b5 + ! 1...Kd4-c4 2.Qg3-b3 # 1...Kd4*d5 2.Qg3-g8 # 1.Qg3-g7 ! zugzwang. 1...Kd4-e3 2.Qg7-g1 # 1...Kd4-c4 2.Ra3-a4 # 1...e4-e3 2.Rf6-f4 # 1...c5-c4 2.Qg7-a7 #" keywords: - Cooked --- authors: - Loyd, Samuel source: Chess Monthly source-id: 42v date: 1857-10 algebraic: white: [Kh7, Qe8, Ra2, Pd7, Pd5, Pc3] black: [Kf6, Rb6, Bd8, Sh6, Pg5, Pg4, Pg3, Pf7, Pf5, Pd6, Pb7, Pb5] stipulation: "#4" solution: | "1.Ra2-e2 ! threat: 2.Qe8*d8 # 2.Qe8-h8 # 1...f5-f4 2.Kh7*h6 threat: 3.Qe8*d8 + 3...Kf6-f5 4.Qd8*g5 # 2...Kf6-f5 3.Qe8*f7 + 3...Bd8-f6 4.Qf7-e6 # 4.Qf7-g6 # 4.Qf7-h7 # 2...Bd8-c7 3.Re2-e7 threat: 4.Qe8*f7 # 4.Re7*f7 # 3.Re2-e6 + 3...Kf6-f5 4.Qe8*f7 # 3...f7*e6 4.Qe8*e6 # 3.Qe8-e7 + 3...Kf6-f5 4.Qe7*g5 # 4.Qe7*f7 # 3.Qe8-g8 threat: 4.Qg8*g5 # 2...Bd8-e7 3.Re2*e7 threat: 4.Qe8*f7 # 4.Re7*f7 # 3.Qe8*e7 + 3...Kf6-f5 4.Qe7*g5 # 4.Qe7*f7 # 1...Sh6-g8 2.Re2-e6 + 2...f7*e6 3.Qe8*e6 # 2.Qe8*d8 + 2...Sg8-e7 3.Qd8*e7 # 3.Qd8-h8 # 1...Bd8-c7 2.Qe8-e7 # 2.Qe8-h8 # 1...Bd8-e7 2.Qe8*e7 # 2.Qe8-h8 # 1.Kh7*h6 ! threat: 2.Ra2-e2 threat: 3.Qe8*d8 # 3.Qe8-h8 # 2...f5-f4 3.Qe8*d8 + 3...Kf6-f5 4.Qd8*g5 # 2...Bd8-c7 3.Qe8-e7 # 3.Qe8-h8 # 2...Bd8-e7 3.Qe8*e7 # 3.Qe8-h8 # 1.Qe8-e1 ! threat: 2.Ra2-e2 threat: 3.Re2-e6 + 3...f7*e6 4.Qe1*e6 #" keywords: - Cooked comments: - unsound even when amended --- authors: - Loyd, Samuel source: Lynn News source-id: 50 date: 1859-02 algebraic: white: [Kc1, Bh3, Bc5, Se4, Se1, Pf3, Pc4, Pb3] black: [Ke3, Sh1, Sd4, Pe2] stipulation: "#4" solution: | "1.Kc1-b2 ! zugzwang. 1...Sh1-g3 2.Se1-g2 + 2...Ke3-d3 3.Se4-f2 + 3...Kd3-d2 4.Bc5-b4 # 2...Ke3*f3 3.Se4-d2 + 3...Kf3-f2 4.Bc5*d4 # 1...Sh1-f2 2.Se1-g2 + 2...Ke3-d3 3.Se4*f2 + 3...Kd3-d2 4.Bc5-b4 # 2...Ke3*f3 3.Se4-g5 + 3...Kf3-g3 4.Bc5-d6 # 1...Ke3-f4 2.Bc5*d4 threat: 3.Bh3-g4 threat: 4.Se1-g2 # 4.Se1-d3 # 3...Sh1-f2 4.Se1-g2 # 2...Sh1-g3 3.Se1-g2 + 3...Kf4*f3 4.Se4-d2 # 4.Se4-g5 # 3.Se1-d3 + 3...Kf4*f3 4.Se4-d2 # 4.Se4-g5 # 2...Sh1-f2 3.Bd4*f2 zugzwang. 3...Kf4-e5 4.Se1-d3 # 1.Bc5-b6 ! zugzwang. 1...Sh1-g3 2.Se1-g2 + 2...Ke3-d3 3.Se4-c5 + 3...Kd3-c3 4.Bb6-a5 # 2...Ke3*f3 3.Se4-d2 + 3...Kf3-f2 4.Bb6*d4 # 1...Sh1-f2 2.Se1-g2 + 2...Ke3-d3 3.Se4-c5 + 3...Kd3-c3 4.Bb6-a5 # 2...Ke3*f3 3.Se4-g5 + 3...Kf3-g3 4.Bb6-c7 # 1...Ke3-f4 2.Bb6*d4 threat: 3.Bh3-g4 threat: 4.Se1-g2 # 4.Se1-d3 # 3...Sh1-f2 4.Se1-g2 # 2...Sh1-g3 3.Se1-g2 + 3...Kf4*f3 4.Se4-d2 # 4.Se4-g5 # 3.Se1-d3 + 3...Kf4*f3 4.Se4-d2 # 4.Se4-g5 # 2...Sh1-f2 3.Bd4*f2 zugzwang. 3...Kf4-e5 4.Se1-d3 #" keywords: - Cooked --- authors: - Loyd, Samuel source: American Chess Nuts source-id: 10 date: 1868 algebraic: white: [Kf7, Rg5, Be4, Be1, Sf6] black: [Kh6, Qg4, Re6, Bf3, Pe3, Pe2] stipulation: + solution: | "1.Rg5*g4 Re6*f6+ 2.Kf7-e7 ! Rf6-e6+ 3.Ke7*e6 Bf3*g4+ 4.Ke6-f6 Bg4-h5 5.Be1-h4 Bh5-e8 6.Bh4-g5+ Kh6-h5 7.Be4-f3#" --- authors: - Loyd, Samuel source: American Chess Journal, Centennial Tourney source-id: 151v date: 1877-01 algebraic: white: [Kg5, Qh5, Se4, Sd3, Ph4, Pd6] black: [Kd5] stipulation: "#4" solution: | "1.Se4-c5 ! zugzwang. 1...Kd5-c4 2.Qh5-g4 + 2...Kc4-d5 3.Qg4-a4 zugzwang. 3...Kd5*d6 4.Qa4-d7 # 2...Kc4-b5 3.Qg4-a4 + 3...Kb5-b6 4.Qa4-a6 # 2...Kc4-c3 3.Qg4-f4 zugzwang. 3...Kc3-c2 4.Qf4-c1 # 1...Kd5-c6 2.Qh5-g4 zugzwang. 2...Kc6-b5 3.Qg4-a4 + 3...Kb5-b6 4.Qa4-a6 # 2...Kc6-d5 3.Qg4-a4 zugzwang. 3...Kd5*d6 4.Qa4-d7 # 2...Kc6-b6 3.Qg4-c8 threat: 4.Qc8-a6 # 3...Kb6-a7 4.Qc8-b7 # 2...Kc6*d6 3.Qg4-d7 # 2.Qh5-e8 + 2...Kc6-d5 3.Qe8-a4 zugzwang. 3...Kd5*d6 4.Qa4-d7 # 2...Kc6-b6 3.Qe8-a8 threat: 4.Qa8-a6 # 3.Qe8-c8 threat: 4.Qc8-a6 # 3...Kb6-a7 4.Qc8-b7 # 2...Kc6*d6 3.Qe8-d7 # 1...Kd5-d4 2.Qh5-f7 zugzwang. 2...Kd4-c3 3.Qf7-f4 zugzwang. 3...Kc3-c2 4.Qf4-c1 # 2...Kd4-e3 3.Qf7-f2 # 1...Kd5*d6 2.Qh5-f7 threat: 3.Qf7-d7 # 2...Kd6-c6 3.Qf7-b7 + 3...Kc6-d6 4.Qb7-d7 #" --- authors: - Loyd, Samuel source: Sam Loyd and His Chess Problems source-id: 644 date: 1913 algebraic: white: [Ka1, Bf5, Se6] black: [Kf7, Qd5] stipulation: "=" solution: 1.Bf5-c2! keywords: - Cooked - Unsound comments: - Loyd purposely composed this for patzers likely to capture the Knight 1.Bc2 Q(or K)xe6 2.Bb3 Qxb3 stalemate --- authors: - Loyd, Samuel source: The Wilkes-Barre Record source-id: 13 date: 1887-06-16 algebraic: white: [Kf1, Qd3, Rg5, Re2, Rd4, Be4, Sf5, Sc3, Pf3, Pe6, Pd5, Pd2, Pc4] black: [Ke5, Pf6, Pf4, Pb2, Pa2] stipulation: "#3" solution: | "1.Rg5-g3 ! threat: 2.Qd3-b1 threat: 3.Be4-c2 # 3.Be4-d3 # 2...a2*b1=Q + 3.Be4*b1 # 2...a2*b1=R + 3.Be4*b1 # 1...f4*g3 2.f3-f4 + 2...Ke5*f4 3.Qd3*g3 #" comments: - White has a promoted Rook - also in The Dubuque Chess Journal, September 1890 --- authors: - Loyd, Samuel source: The New York Clipper date: 1878 algebraic: white: [Kh2, Qd3, Rg4, Rf4, Se5, Sb1, Pc4, Pb4] black: [Kc8, Qa6, Rh8, Ra8, Sh6, Ph7, Pc7, Pb7, Pa7] stipulation: "#6" solution: | "1.Rg4-g8 + ! 1...Sh6*g8 2.Rf4-f8 # 1...Rh8*g8 2.Qd3-h3 + 2...Qa6-e6 3.Qh3*e6 + 3...Kc8-b8 4.Qe6*g8 + 4...Sh6*g8 5.Rf4-f8 # 3...Kc8-d8 4.Qe6-d7 # 4.Rf4-d4 # 2...Sh6-f5 3.Qh3*f5 + 3...Qa6-e6 4.Qf5*e6 + 4...Kc8-b8 5.Qe6*g8 # 4...Kc8-d8 5.Qe6-d7 # 5.Se5-f7 # 5.Rf4-d4 # 3...Kc8-b8 4.Qf5-f8 + 4...Rg8*f8 5.Rf4*f8 # 3...Kc8-d8 4.Qf5-d7 # 2...Sh6-g4 + 3.Qh3*g4 + 3...Qa6-e6 4.Qg4*e6 + 4...Kc8-b8 5.Qe6*g8 # 4...Kc8-d8 5.Qe6-d7 # 5.Se5-f7 # 5.Rf4-d4 # 3...Kc8-b8 4.Qg4*g8 # 3...Kc8-d8 4.Qg4-d7 # 3...Rg8*g4 4.Rf4-f8 # 2...Kc8-b8 3.Se5-d7 + 3...Kb8-c8 4.Sd7-b6 + 4...Kc8-b8 5.Qh3-c8 + 5...Rg8*c8 6.Sb6-d7 # 4...Kc8-d8 5.Qh3-d7 # 2...Kc8-d8 3.Qh3-d7 # 2...Rg8-g4 3.Rf4-f8 #" --- authors: - Loyd, Samuel source: Chess Monthly source-id: v date: 1860-11 algebraic: white: [Kd4, Rg8, Bf4] black: [Kf5, Qh7] stipulation: "h#3" solution: "1.Kf5-f6 Rg8-a8 2.Kf6-g7 Bf4-b8 3.Kg7-h8 Bb8-e5 #" --- authors: - Loyd, Samuel source: Chess Record source-id: 356 date: 1876-08-15 algebraic: white: [Kc1, Qa3, Re2] black: [Kc4, Pf6, Pb6] stipulation: "#4" solution: | "1.Qa3-d6 ! threat: 2.Re2-b2 threat: 3.Kc1-d2 threat: 4.Rb2-b4 # 3.Kc1-c2 threat: 4.Rb2-b4 # 3.Rb2-b4 + 3...Kc4-c3 4.Qd6-d2 # 4.Qd6-d4 # 2...Kc4-c3 3.Rb2-b4 threat: 4.Qd6-d2 # 4.Qd6-d4 # 3.Qd6-d5 threat: 4.Rb2-b3 # 2.Re2-e4 + 2...Kc4-b3 3.Qd6-b4 + 3...Kb3-a2 4.Qb4-b2 # 4.Qb4-a4 # 3.Qd6-h2 threat: 4.Qh2-b2 # 3...Kb3-c3 4.Qh2-g3 # 4.Qh2-c2 # 4.Qh2-h3 # 3.Qd6-g3 + 3...Kb3-a2 4.Re4-a4 # 3.Qd6-d1 + 3...Kb3-a2 4.Re4-a4 # 4.Qd1-a4 # 3...Kb3-a3 4.Re4-a4 # 4.Qd1-a4 # 3...Kb3-c3 4.Qd1-f3 # 4.Qd1-c2 # 3.Qd6-d2 threat: 4.Qd2-b2 # 3.Qd6-d3 + 3...Kb3-a2 4.Re4-a4 # 3.Qd6-d4 threat: 4.Qd4-b2 # 3.Qd6*b6 + 3...Kb3-a2 4.Qb6-b2 # 4.Re4-a4 # 3...Kb3-a3 4.Qb6-b2 # 3...Kb3-c3 4.Qb6-e3 # 3.Qd6*f6 threat: 4.Qf6-b2 # 2...Kc4-b5 3.Re4-b4 + 3...Kb5-a6 4.Qd6*b6 # 3...Kb5-a5 4.Qd6*b6 # 3.Qd6-d5 + 3...Kb5-a6 4.Re4-a4 # 2...Kc4-c3 3.Qd6-a3 # 3.Qd6-g3 # 2.Qd6-c6 + 2...Kc4-b3 3.Re2-b2 + 3...Kb3-a3 4.Qc6-a8 # 2...Kc4-d3 3.Re2-e4 threat: 4.Qc6-c2 # 4.Qc6-c4 # 3...b6-b5 4.Qc6-c2 # 3.Qc6-e4 + 3...Kd3-c3 4.Re2-e3 # 2...Kc4-b4 3.Re2-b2 + 3...Kb4-a3 4.Qc6-a8 # 3...Kb4-a5 4.Qc6-b5 # 4.Qc6-a8 # 2...Kc4-d4 3.Re2-e4 + 3...Kd4-d3 4.Qc6-c2 # 4.Qc6-c4 # 1...Kc4-b5 2.Re2-b2 + 2...Kb5-a4 3.Qd6-b4 # 2...Kb5-c4 3.Kc1-d2 threat: 4.Rb2-b4 # 3.Kc1-c2 threat: 4.Rb2-b4 # 3.Rb2-b4 + 3...Kc4-c3 4.Qd6-d2 # 4.Qd6-d4 # 2...Kb5-a6 3.Qd6*b6 # 2...Kb5-a5 3.Qd6-a3 # 2.Qd6-c7 threat: 3.Re2-b2 + 3...Kb5-a4 4.Qc7-a7 # 3...Kb5-a6 4.Qc7*b6 # 3...Kb5-a5 4.Qc7-a7 # 2.Qd6-d5 + 2...Kb5-a4 3.Re2-b2 threat: 4.Qd5-a2 # 4.Qd5-a8 # 3.Qd5-c4 + 3...Ka4-a3 4.Re2-a2 # 4.Re2-e3 # 3...Ka4-a5 4.Re2-a2 # 2...Kb5-a6 3.Re2-a2 # 2...Kb5-b4 3.Re2-b2 + 3...Kb4-a3 4.Qd5-a2 # 4.Qd5-b3 # 4.Qd5-a8 # 3...Kb4-c3 4.Rb2-b3 # 3...Kb4-a4 4.Qd5-a2 # 4.Qd5-a8 # 1...f6-f5 2.Re2-b2 threat: 3.Kc1-d2 threat: 4.Rb2-b4 # 3.Kc1-c2 threat: 4.Rb2-b4 # 3.Rb2-b4 + 3...Kc4-c3 4.Qd6-d2 # 4.Qd6-d4 # 2...Kc4-c3 3.Rb2-b4 threat: 4.Qd6-d2 # 4.Qd6-d4 # 3.Qd6-d5 threat: 4.Rb2-b3 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 14 date: 1857-03 algebraic: white: [Ke3, Re7, Bg7, Bd3, Sa6, Pf6, Pf2] black: [Kd5, Pf7, Pd7, Pd6, Pc6, Pb6, Pb3] stipulation: "#4" solution: | "1.Re7-e4 ! threat: 2.Bd3-c4 # 1...b6-b5 2.Re4-d4 + 2...Kd5-e6 3.Sa6-c7 + 3...Ke6-e5 4.f2-f4 # 2...Kd5-e5 3.f2-f4 + 3...Ke5-e6 4.Sa6-c7 # 1...c6-c5 2.Bd3-b5 threat: 3.Sa6-c7 # 2...c5-c4 3.Sa6-c7 + 3...Kd5-c5 4.Re4*c4 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 18 date: 1857-04 algebraic: white: [Ka1, Qd1, Rc5, Rc3, Bf3, Bb6, Pg3, Pe6] black: [Kd4, Qh2, Rg2, Re2, Ba4, Sb2, Sa3, Pg5, Pd2] stipulation: "#3" solution: | "1.Qd1*d2 + ! 1...Sb2-d3 2.Rc5-a5 # 2.Rc5-b5 # 2.Rc5*g5 # 2.Rc5-f5 # 2.Rc5-d5 # 2.Rc3*d3 # 2.Qd2*d3 # 1...Re2*d2 2.Rc3-e3 threat: 3.Rc5-c1 # 3.Rc5-c2 # 3.Rc5-c3 # 3.Rc5-c8 # 3.Rc5-c7 # 3.Rc5-c6 # 2...Sb2-d3 3.Re3-e4 # 2...Sb2-c4 3.Rc5-d5 # 2...Rd2-d1 + 3.Rc5-c1 # 2...Rd2-c2 3.Rc5*c2 # 3.Rc5-c3 # 2...Rd2-d3 3.Rc5-c1 # 3.Rc5-c2 # 3.Rc5-c8 # 3.Rc5-c7 # 3.Rc5-c6 # 3.Re3-e4 # 2...Rg2-g1 + 3.Rc5-c1 # 2...Qh2-g1 + 3.Rc5-c1 # 2...Qh2-h1 + 3.Rc5-c1 # 2...Sa3-c2 + 3.Rc5*c2 # 2...Sa3-c4 3.Rc5-d5 # 2...Ba4-c2 3.Rc5*c2 # 3.Rc5-c3 # 3.Rc5-c8 # 3.Rc5-c7 # 3.Rc5-c6 # 2...Ba4-c6 3.Rc5-c1 # 3.Rc5-c2 # 3.Rc5-c3 # 3.Rc5*c6 # 2...Kd4*e3 3.Rc5-c3 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 23 date: 1857-05 algebraic: white: [Kh1, Qf7, Se3, Pg3, Pc3, Pc2] black: [Ke4, Ph2, Pg7, Pe5, Pc4] stipulation: "#4" solution: | "1.Se3*c4 ! zugzwang. 1...g7-g5 2.Qf7-f6 threat: 3.Qf6-c6 + 3...Ke4-f5 4.Sc4-e3 # 2...Ke4-d5 3.Qf6-d6 + 3...Kd5*c4 4.Qd6-c6 # 3...Kd5-e4 4.Qd6-d3 # 2...g5-g4 3.Qf6*e5 + 3...Ke4-f3 4.Qe5-e3 # 1...g7-g6 2.Qf7-f6 zugzwang. 2...Ke4-d5 3.Qf6-d6 + 3...Kd5*c4 4.Qd6-c6 # 3...Kd5-e4 4.Qd6-d3 # 2...g6-g5 3.Qf6-c6 + 3...Ke4-f5 4.Sc4-e3 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 42 date: 1857-10 algebraic: white: [Kh7, Qe8, Ra2, Pd7, Pd5] black: [Kf6, Rc6, Bd8, Sh6, Sa7, Pg5, Pg4, Pg3, Pf7, Pf5, Pd6, Pc5, Pb5] stipulation: "#4" solution: | "1.Qe8-e1 ! threat: 2.Ra2-e2 threat: 3.Qe1-c3 # 3.Qe1-a1 # 2...b5-b4 3.Qe1-a1 # 2...c5-c4 3.Qe1-c3 # 2...f5-f4 3.Re2-e6 + 3...Kf6-f5 4.Qe1-b1 # 4.Qe1-e4 # 3...f7*e6 4.Qe1*e6 # 2...Rc6-a6 3.Qe1-c3 # 2...Bd8-a5 3.Qe1-c3 + 3...Ba5*c3 4.d7-d8=Q # 4.d7-d8=B # 3.Qe1-a1 + 3...Ba5-c3 4.d7-d8=Q # 4.d7-d8=B # 4.Qa1*c3 # 3.Re2-e6 + 3...f7*e6 4.Qe1*e6 # 3.d7-d8=Q + 3...Ba5*d8 4.Qe1-c3 # 4.Qe1-a1 # 3.d7-d8=B + 3...Ba5*d8 4.Qe1-c3 # 4.Qe1-a1 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 47 date: 1857-11 algebraic: white: [Ka8, Qe6, Re4, Ph7, Ph4, Pf4, Pa7] black: [Kh5, Qb1, Rg1, Bh2, Bd5, Sc5, Sb8, Pg5, Pg2, Pf5, Pf2, Pb7] stipulation: "#5" solution: | "1.Qe6-h6 + ! 1...Kh5-g4 2.Qh6*g5 + 2...Kg4-f3 3.Qg5-h5 + 3...Kf3*e4 4.Qh5-e2 + 4...Ke4-d4 5.h7-h8=Q # 5.h7-h8=B # 4...Ke4*f4 5.a7*b8=Q # 5.a7*b8=B # 3...Kf3-g3 4.Re4-e3 + 4...Kg3*f4 5.Qh5-g5 # 4...Bd5-f3 5.Re3*f3 # 2...Kg4-h3 3.Re4-e3 + 3...Bh2-g3 4.Qg5*g3 # 3...Bd5-f3 4.Re3*f3 + 4...Bh2-g3 5.Qg5*g3 # 1...Kh5*h6 2.h7-h8=Q + 2...Kh6-g6 3.h4-h5 + 3...Kg6-f7 4.Qh8-h7 + 4...Kf7-f6 5.Qh7-g6 # 5.Qh7-e7 # 4...Kf7-f8 5.a7*b8=Q # 5.a7*b8=R #" keywords: - Active sacrifice --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 50 date: 1857-11 algebraic: white: [Kd8, Qc6, Sd4, Ph2, Pg2] black: [Kg4, Rh6, Rh5, Bf8, Sh7, Sg5, Ph4, Ph3, Pg7, Pf6, Pf5, Pf4, Pe7] stipulation: "#5" solution: | "1.Qc6-f3 + ! 1...Sg5*f3 2.g2*f3 + 2...Kg4-g5 3.Sd4-e6 + 3...Kg5-g6 4.Kd8-e8 zugzwang. 4...Rh5-g5 5.Se6*f4 # 4...Sh7-g5 5.Se6*f8 #" keywords: - Checking key --- authors: - Loyd, Samuel source: The Chess Monthly date: 1858-04 algebraic: white: [Kc1, Sg4, Sf2] black: [Ke1, Pf3, Pe2, Pc3, Pc2] stipulation: "#5" solution: | "1.Sf2-h3 ! threat: 2.Sg4-e3 zugzwang. 2...f3-f2 3.Sh3-f4 threat: 4.Sf4-d3 # 4.Sf4-g2 # 3...f2-f1=Q 4.Sf4-d3 # 3...f2-f1=S 4.Sf4-d3 # 3...f2-f1=R 4.Sf4-d3 # 3...f2-f1=B 4.Sf4-d3 # 2.Sg4-h2 zugzwang. 2...f3-f2 3.Sh3-f4 threat: 4.Sf4-d3 # 4.Sf4-g2 # 3...f2-f1=Q 4.Sf4-d3 # 3...f2-f1=S 4.Sf4-d3 # 3...f2-f1=R 4.Sf4-d3 # 3...f2-f1=B 4.Sf4-d3 # 1...Ke1-f1 2.Sg4-e3 + 2...Kf1-e1 3.Kc1*c2 zugzwang. 3...f3-f2 4.Sh3-f4 threat: 5.Sf4-d3 # 5.Sf4-g2 # 4...f2-f1=Q 5.Sf4-d3 # 4...f2-f1=S 5.Sf4-d3 # 4...f2-f1=R 5.Sf4-d3 # 4...f2-f1=B 5.Sf4-d3 #" --- authors: - Loyd, Samuel source: The Chess Monthly date: 1858-05 algebraic: white: [Kg7, Qe1, Be5, Sf5, Sd5, Pe6, Pe3] black: [Ke4, Se2] stipulation: "#4" solution: | "1.Qe1*e2 ! threat: 2.Sd5-f4 zugzwang. 2...Ke4*f5 3.Qe2-f3 zugzwang. 3...Kf5*e5 4.Qf3-d5 # 3...Kf5-g5 4.Qf3-h5 # 3.Qe2-g2 zugzwang. 3...Kf5*e5 4.Qg2-d5 # 2...Ke4*e5 3.Qe2-b5 + 3...Ke5-e4 4.Qb5-d5 # 2.Sd5-f6 + 2...Ke4*f5 3.Qe2-c4 zugzwang. 3...Kf5*e5 4.Qc4-d5 # 3...Kf5-g5 4.Qc4-g4 # 4.Qc4-f4 # 2...Ke4*e5 3.Qe2-d1 threat: 4.Qd1-d5 # 3.Qe2-g4 threat: 4.Qg4-e4 # 3.Qe2-f3 threat: 4.Qf3-d5 # 4.Qf3-e4 # 3.Qe2-b5 + 3...Ke5*e6 4.Qb5-d5 # 3.Qe2-c4 threat: 4.Qc4-d5 # 4.Qc4-e4 # 3...Ke5*f5 4.Qc4-d5 # 3.Qe2-d3 threat: 4.Qd3-e4 # 4.Qd3-d5 # 3.Qe2-a2 threat: 4.Qa2-d5 # 3.Qe2-c2 threat: 4.Qc2-e4 # 3.Qe2-d2 threat: 4.Qd2-d5 # 3.Qe2-g2 threat: 4.Qg2-d5 # 4.Qg2-e4 # 3...Ke5*f5 4.Qg2-d5 # 3.Kg7-f7 threat: 4.Qe2-b5 # 2.Sd5-e7 threat: 3.Qe2-d1 threat: 4.Qd1-d5 # 2.Sd5-c7 threat: 3.Qe2-f1 zugzwang. 3...Ke4*e5 4.Qf1-f4 # 3.Be5-f6 threat: 4.Sf5-g3 # 4.Sf5-d6 # 3...Ke4*f5 4.Qe2-f3 # 3.Sf5-d6 + 3...Ke4*e5 4.Qe2-h2 # 2...Ke4*f5 3.Qe2-f3 + 3...Kf5*e5 4.Qf3-d5 # 4.Qf3-f4 # 3...Kf5-g5 4.Be5-f6 # 3.Qe2-g2 zugzwang. 3...Kf5*e5 4.Qg2-d5 # 2...Ke4*e5 3.Qe2-b5 + 3...Ke5-e4 4.Qb5-d5 # 3.Qe2-c4 threat: 4.Qc4-d5 # 4.Qc4-f4 # 3...Ke5*f5 4.Qc4-f4 # 2.Sd5-b6 zugzwang. 2...Ke4*f5 3.Qe2-f3 + 3...Kf5*e6 4.Qf3-f6 # 3...Kf5*e5 4.Qf3-d5 # 3...Kf5-g5 4.Be5-f6 # 2...Ke4*e5 3.Qe2-g4 zugzwang. 3...Ke5*e6 4.Qg4-e4 # 3.Qe2-f3 threat: 4.Qf3-d5 # 3.Qe2-b5 + 3...Ke5-e4 4.Qb5-d5 # 3...Ke5*e6 4.Qb5-d5 # 3.Qe2-d3 threat: 4.Qd3-d5 # 3.Qe2-c2 zugzwang. 3...Ke5*e6 4.Qc2-e4 # 1...Ke4*f5 2.Qe2-h5 + 2...Kf5-e4 3.Sd5-c3 + 3...Ke4-d3 4.Qh5-e2 # 3...Ke4*e3 4.Qh5-e2 # 3.Sd5-f4 zugzwang. 3...Ke4*e3 4.Qh5-e2 # 2...Kf5*e6 3.Sd5-f6 zugzwang. 3...Ke6-e7 4.Qh5-e8 # 3.Sd5-c7 + 3...Ke6-d7 4.Qh5-e8 # 3...Ke6-e7 4.Qh5-e8 # 1...Ke4*d5 2.Qe2-b5 + 2...Kd5-e4 3.Sf5-d4 zugzwang. 3...Ke4*e3 4.Qb5-e2 # 3.Sf5-g3 + 3...Ke4-f3 4.Qb5-e2 # 3...Ke4*e3 4.Qb5-e2 # 2...Kd5*e6 3.Sf5-d6 zugzwang. 3...Ke6-e7 4.Qb5-e8 # 1...Ke4*e5 2.Qe2-f3 threat: 3.Sd5-b4 threat: 4.Qf3-d5 # 3.Sd5-c3 threat: 4.Qf3-d5 # 4.Qf3-e4 # 3...Ke5*e6 4.Qf3-d5 # 3.Sd5-f6 threat: 4.Qf3-d5 # 4.Qf3-e4 # 3.Sd5-e7 threat: 4.Qf3-d5 # 3.Sd5-b6 threat: 4.Qf3-d5 # 3.e6-e7 threat: 4.e7-e8=Q # 4.e7-e8=R # 3...Ke5-e6 4.e7-e8=Q # 2...Ke5*e6 3.Sd5-f6 threat: 4.Qf3-d5 # 4.Qf3-e4 # 3.Sd5-b6 threat: 4.Qf3-d5 # 4.Qf3-e4 # 3...Ke6-e5 4.Qf3-d5 # 2.Qe2-c4 threat: 3.Sd5-f6 threat: 4.Qc4-d5 # 4.Qc4-e4 # 3...Ke5*f5 4.Qc4-d5 # 3.Sd5-c7 threat: 4.Qc4-d5 # 4.Qc4-f4 # 3...Ke5*f5 4.Qc4-f4 # 3.Kg7-f7 zugzwang. 3...Ke5*f5 4.Qc4-f4 # 2...Ke5*e6 3.Sd5-f6 + 3...Ke6*f5 4.Qc4-d5 # 3...Ke6-e5 4.Qc4-d5 # 4.Qc4-e4 # 3.Sd5-e7 + 3...Ke6-d7 4.Qc4-c8 # 3...Ke6-e5 4.Qc4-d5 # 2...Ke5*f5 3.Sd5-f6 threat: 4.Qc4-d5 # 3...Kf5-g5 4.Qc4-g4 # 4.Qc4-f4 # 2.Qe2-d3 threat: 3.Sd5-b4 threat: 4.Qd3-d5 # 3.Sd5-c3 threat: 4.Qd3-e4 # 4.Qd3-d5 # 3...Ke5*e6 4.Qd3-d5 # 3.Sd5-f6 threat: 4.Qd3-e4 # 4.Qd3-d5 # 3.Sd5-e7 threat: 4.Qd3-d5 # 3.Sd5-b6 threat: 4.Qd3-d5 # 3.e6-e7 threat: 4.e7-e8=Q # 4.e7-e8=R # 3...Ke5-e6 4.e7-e8=Q # 2...Ke5*e6 3.Sd5-b4 threat: 4.Qd3-d5 # 3.Sd5-c3 threat: 4.Qd3-d5 # 3.Sd5-f4 + 3...Ke6-e5 4.Qd3-d5 # 3.Sd5-f6 threat: 4.Qd3-e4 # 4.Qd3-d5 # 3.Sd5-e7 threat: 4.Qd3-d6 # 4.Qd3-d5 # 3...Ke6-e5 4.Qd3-d5 # 3.Sd5-c7 + 3...Ke6-e5 4.Qd3-d5 # 3.Sd5-b6 threat: 4.Qd3-e4 # 4.Qd3-d5 # 3...Ke6-e5 4.Qd3-d5 # 2.Qe2-g2 threat: 3.Sd5-f6 threat: 4.Qg2-d5 # 4.Qg2-e4 # 3...Ke5*f5 4.Qg2-d5 # 3.Sd5-e7 threat: 4.Qg2-d5 # 2...Ke5*e6 3.Sd5-f6 threat: 4.Qg2-d5 # 4.Qg2-e4 # 3...Ke6*f5 4.Qg2-d5 # 2...Ke5*f5 3.Sd5-f4 zugzwang. 3...Kf5-e5 4.Qg2-d5 # 3.Sd5-c7 zugzwang. 3...Kf5-e5 4.Qg2-d5 # 2.e3-e4 threat: 3.e6-e7 threat: 4.e7-e8=Q # 4.e7-e8=R # 3...Ke5-e6 4.e7-e8=Q # 2...Ke5*e6 3.Qe2-b5 threat: 4.Sd5-f4 # 4.Sd5-c7 # 4.Qb5-e8 # 3...Ke6-e5 4.Qb5-e8 # 2.Sd5-f6 threat: 3.Qe2-d1 threat: 4.Qd1-d5 # 3.Qe2-g4 threat: 4.Qg4-e4 # 3.Qe2-f3 threat: 4.Qf3-d5 # 4.Qf3-e4 # 3.Qe2-b5 + 3...Ke5*e6 4.Qb5-d5 # 3.Qe2-c4 threat: 4.Qc4-d5 # 4.Qc4-e4 # 3...Ke5*f5 4.Qc4-d5 # 3.Qe2-d3 threat: 4.Qd3-e4 # 4.Qd3-d5 # 3.Qe2-a2 threat: 4.Qa2-d5 # 3.Qe2-c2 threat: 4.Qc2-e4 # 3.Qe2-d2 threat: 4.Qd2-d5 # 3.Qe2-g2 threat: 4.Qg2-d5 # 4.Qg2-e4 # 3...Ke5*f5 4.Qg2-d5 # 3.Kg7-f7 threat: 4.Qe2-b5 # 2...Ke5*e6 3.Qe2-d1 threat: 4.Qd1-d5 # 3.Qe2-g4 threat: 4.Qg4-e4 # 3.Qe2-f3 threat: 4.Qf3-d5 # 4.Qf3-e4 # 3.Qe2-c4 + 3...Ke6*f5 4.Qc4-d5 # 3...Ke6-e5 4.Qc4-d5 # 4.Qc4-e4 # 3.Qe2-d3 threat: 4.Qd3-e4 # 4.Qd3-d5 # 3.Qe2-a2 + 3...Ke6*f5 4.Qa2-d5 # 3...Ke6-e5 4.Qa2-d5 # 3.Qe2-c2 threat: 4.Qc2-e4 # 3.Qe2-d2 threat: 4.Qd2-d5 # 3.Qe2-g2 threat: 4.Qg2-d5 # 4.Qg2-e4 # 3...Ke6*f5 4.Qg2-d5 # 2...Ke5*f5 3.Qe2-c4 threat: 4.Qc4-d5 # 3...Kf5-g5 4.Qc4-g4 # 4.Qc4-f4 # 2.Sd5-e7 threat: 3.Qe2-d1 threat: 4.Qd1-d5 # 3.Qe2-f3 threat: 4.Qf3-d5 # 3.Qe2-b5 + 3...Ke5-e4 4.Qb5-d5 # 3...Ke5*e6 4.Qb5-d5 # 3.Qe2-d3 threat: 4.Qd3-d5 # 3.Qe2-a2 threat: 4.Qa2-d5 # 3.Qe2-d2 threat: 4.Qd2-d5 # 3.Qe2-g2 threat: 4.Qg2-d5 # 2...Ke5-e4 3.Qe2-d1 threat: 4.Qd1-d5 # 2...Ke5*e6 3.Qe2-d1 threat: 4.Qd1-d6 # 4.Qd1-d5 # 3...Ke6-e5 4.Qd1-d5 # 3.Qe2-c4 + 3...Ke6-d7 4.Qc4-c8 # 3...Ke6-e5 4.Qc4-d5 # 3.Qe2-d3 threat: 4.Qd3-d6 # 4.Qd3-d5 # 3...Ke6-e5 4.Qd3-d5 # 3.Qe2-d2 threat: 4.Qd2-d6 # 4.Qd2-d5 # 3...Ke6-e5 4.Qd2-d5 # 2.Sd5-c7 threat: 3.Qe2-b5 + 3...Ke5-e4 4.Qb5-d5 # 3.Qe2-c4 threat: 4.Qc4-d5 # 4.Qc4-f4 # 3...Ke5*f5 4.Qc4-f4 # 2...Ke5-e4 3.Qe2-f1 zugzwang. 3...Ke4-e5 4.Qf1-f4 # 3.Sf5-d6 + 3...Ke4-e5 4.Qe2-h2 # 2...Ke5*f5 3.Qe2-g2 zugzwang. 3...Kf5-e5 4.Qg2-d5 # 2.e6-e7 threat: 3.Qe2-f3 threat: 4.e7-e8=Q # 4.e7-e8=R # 3...Ke5-e6 4.e7-e8=Q # 3.Qe2-d3 threat: 4.e7-e8=Q # 4.e7-e8=R # 3...Ke5-e6 4.e7-e8=Q # 3.e3-e4 threat: 4.e7-e8=Q # 4.e7-e8=R # 3...Ke5-e6 4.e7-e8=Q # 3.e7-e8=Q + 3...Ke5*d5 4.Qe2-b5 # 3...Ke5*f5 4.Qe2-h5 # 3.e7-e8=R + 3...Ke5*d5 4.Qe2-b5 # 3...Ke5*f5 4.Qe2-h5 # 2...Ke5-e4 3.e7-e8=Q + 3...Ke4*f5 4.Qe2-h5 # 3...Ke4*d5 4.Qe2-b5 # 3.e7-e8=R + 3...Ke4*f5 4.Qe2-h5 # 3...Ke4*d5 4.Qe2-b5 # 2...Ke5*d5 3.e7-e8=Q threat: 4.Qe2-b5 # 2...Ke5-e6 3.e7-e8=Q + 3...Ke6*d5 4.Qe2-b5 # 3...Ke6*f5 4.Qe2-h5 # 3.e7-e8=R + 3...Ke6*d5 4.Qe2-b5 # 3...Ke6*f5 4.Qe2-h5 # 3...Ke6-d7 4.Qe2-b5 # 2...Ke5*f5 3.e7-e8=Q threat: 4.Qe2-h5 # 1.Sd5-f6 + ! 1...Ke4-d3 2.Qe1-b1 + 2...Kd3-c4 3.Sf5-d6 + 3...Kc4-c5 4.Qb1-b5 # 2...Kd3-d2 3.Sf6-e4 # 1...Ke4-f3 2.Qe1-f1 # 1...Ke4*f5 2.Qe1-a5 threat: 3.Qa5-d5 threat: 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 4.Be5-d4 # 4.Be5-h2 # 4.Be5-g3 # 4.Be5-f4 # 4.Be5-b8 # 4.Be5-c7 # 4.Be5-d6 # 3...Se2-g3 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 4.Be5-d4 # 4.Be5*g3 # 4.Be5-f4 # 4.Be5-b8 # 4.Be5-c7 # 4.Be5-d6 # 3...Se2-f4 4.Be5*f4 # 3...Se2-d4 4.Be5*d4 # 4.Be5-h2 # 4.Be5-g3 # 4.Be5-f4 # 4.Be5-b8 # 4.Be5-c7 # 4.Be5-d6 # 3...Se2-c3 4.Be5*c3 # 3...Kf5-g5 4.Be5-g3 # 3.Be5-a1 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-b2 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-c3 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-d4 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-h2 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-g3 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-f4 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-b8 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-c7 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-d6 + 3...Kf5*e6 4.Qa5-e5 # 4.Qa5-d5 # 2...Se2-c1 3.Be5-a1 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-b2 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-c3 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-d4 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-h2 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-g3 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-f4 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-b8 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-c7 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-d6 + 3...Kf5*e6 4.Qa5-e5 # 4.Qa5-d5 # 2...Se2-g1 3.Be5-a1 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-b2 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-c3 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-d4 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-h2 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-g3 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-f4 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-b8 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-c7 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-d6 + 3...Kf5*e6 4.Qa5-e5 # 4.Qa5-d5 # 2...Se2-g3 3.Be5-a1 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-b2 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-c3 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-d4 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5*g3 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-f4 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-b8 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-c7 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-d6 + 3...Kf5*e6 4.Qa5-e5 # 4.Qa5-d5 # 2...Se2-f4 3.Be5-a1 + 3...Sf4-d5 4.Qa5*d5 # 3...Kf5*e6 4.Qa5-e5 # 3.Be5-b2 + 3...Sf4-d5 4.Qa5*d5 # 3...Kf5*e6 4.Qa5-e5 # 3.Be5-c3 + 3...Sf4-d5 4.Qa5*d5 # 3...Kf5*e6 4.Qa5-e5 # 3.Be5-d4 + 3...Sf4-d5 4.Qa5*d5 # 3...Kf5*e6 4.Qa5-e5 # 3.Be5*f4 + 3...Kf5*e6 4.Qa5-e5 # 3.Be5-b8 + 3...Sf4-d5 4.Qa5*d5 # 3...Kf5*e6 4.Qa5-e5 # 3.Be5-c7 + 3...Sf4-d5 4.Qa5*d5 # 3...Kf5*e6 4.Qa5-e5 # 3.Be5-d6 + 3...Sf4-d5 4.Qa5*d5 # 3...Kf5*e6 4.Qa5-e5 # 2...Se2-d4 3.Be5*d4 + 3...Kf5*e6 4.Qa5-e5 # 2...Se2-c3 3.Be5*c3 + 3...Kf5*e6 4.Qa5-e5 # 2...Kf5*e6 3.Qa5-d5 + 3...Ke6-f5 4.Be5-a1 # 4.Be5-b2 # 4.Be5-c3 # 4.Be5-d4 # 4.Be5-h2 # 4.Be5-g3 # 4.Be5-f4 # 4.Be5-b8 # 4.Be5-c7 # 4.Be5-d6 # 3...Ke6-e7 4.Qd5-d7 # 4.Qd5-d6 # 3.Be5-c7 threat: 4.Qa5-e5 # 2.Kg7-f7 zugzwang. 2...Se2-c1 3.Qe1-h4 threat: 4.Qh4-f4 # 4.Qh4-h5 # 3...Sc1-e2 4.Qh4-h5 # 3...Sc1-d3 4.Qh4-h5 # 3...Kf5*e5 4.Qh4-f4 # 3.Qe1-g3 threat: 4.Qg3-f4 # 4.e3-e4 # 3...Sc1-e2 4.e3-e4 # 3...Sc1-d3 4.e3-e4 # 3.Qe1-f2 + 3...Kf5*e5 4.Qf2-f4 # 3...Kf5-g5 4.Qf2-f4 # 3.Qe1-h1 threat: 4.Qh1-h5 # 3...Kf5*e5 4.Qh1-d5 # 3.Qe1-f1 + 3...Kf5*e5 4.Qf1-f4 # 3...Kf5-g5 4.Qf1-f4 # 2...Se2-g1 3.Qe1-g3 threat: 4.Qg3-f4 # 4.e3-e4 # 3...Sg1-h3 4.e3-e4 # 3...Sg1-e2 4.e3-e4 # 3.Be5-f4 threat: 4.Qe1-a5 # 4.Qe1-b1 # 3...Sg1-f3 4.Qe1-b1 # 2...Se2-g3 3.Qe1-f2 + 3...Kf5*e5 4.Qf2-f4 # 3...Kf5-g5 4.Qf2-f4 # 2...Se2-f4 3.Qe1-g3 threat: 4.Qg3*f4 # 3...Sf4-d3 4.e3-e4 # 3...Sf4-e2 4.e3-e4 # 3...Sf4-g2 4.e3-e4 # 3...Sf4-h3 4.e3-e4 # 3...Sf4-h5 4.e3-e4 # 3...Sf4-g6 4.e3-e4 # 3...Sf4*e6 4.e3-e4 # 3...Sf4-d5 4.e3-e4 # 3.Qe1-f2 threat: 4.Qf2*f4 # 3.Qe1-f1 threat: 4.Qf1*f4 # 2...Se2-d4 3.Qe1-g3 threat: 4.Qg3-f4 # 4.e3-e4 # 3...Sd4-e2 4.e3-e4 # 3...Sd4*e6 4.e3-e4 # 3.Be5-f4 zugzwang. 3...Sd4-b3 4.Qe1-b1 # 3...Sd4-c2 4.Qe1-a5 # 3...Sd4-e2 4.Qe1-a5 # 4.Qe1-b1 # 3...Sd4-f3 4.Qe1-b1 # 3...Sd4*e6 4.Qe1-b1 # 3...Sd4-c6 4.Qe1-b1 # 3...Sd4-b5 4.Qe1-b1 # 2...Se2-c3 3.Qe1-h4 threat: 4.Qh4-f4 # 4.Qh4-h5 # 3...Sc3-e2 4.Qh4-h5 # 3...Sc3-e4 4.Qh4-f4 # 3...Sc3-d5 4.Qh4-h5 # 3...Kf5*e5 4.Qh4-f4 # 3.Qe1-g3 threat: 4.Qg3-f4 # 3...Sc3-e2 4.e3-e4 # 3...Sc3-d5 4.e3-e4 # 3.Qe1-f2 + 3...Kf5*e5 4.Qf2-f4 # 3...Kf5-g5 4.Qf2-f4 # 3.Qe1-f1 + 3...Kf5*e5 4.Qf1-f4 # 3...Kf5-g5 4.Qf1-f4 # 2...Kf5*e5 3.Qe1-b4 threat: 4.Qb4-c5 # 3...Se2-f4 4.Qb4*f4 # 3...Se2-c3 4.Qb4-f4 # 2...Kf5-g5 3.Qe1-f2 zugzwang. 3...Se2-c1 4.Qf2-f4 # 3...Se2-g1 4.Qf2-f4 # 3...Se2-g3 4.Qf2-f4 # 3...Se2-f4 4.Qf2*f4 # 3...Se2-d4 4.Qf2-f4 # 3...Se2-c3 4.Qf2-f4 # 3...Kg5-h6 4.Qf2-h4 # 3.Qe1*e2 threat: 4.Qe2-h5 # 1...Ke4*e5 2.Qe1-a5 + 2...Ke5*e6 3.Qa5-d5 #" keywords: - Cooked --- authors: - Loyd, Samuel source: The Chess Monthly date: 1860-02 algebraic: white: [Ke6, Se5, Sc6, Pf2, Pe3, Pd2, Pb6] black: [Ke4, Ra8, Be7, Sg8, Sc8, Pf6, Pf3, Pd6, Pd3, Pb5, Pb3] stipulation: "#3" solution: | "1.Sc6-d4 ! threat: 2.Sd4-e2 threat: 3.Se2-g3 # 3.Se2-c3 # 2...d3*e2 3.d2-d3 # 2...f3*e2 3.f2-f3 # 2...b5-b4 3.Se2-g3 # 2.Sd4-f5 threat: 3.Sf5-g3 # 2.Sd4*b5 threat: 3.Sb5-c3 # 1...b3-b2 2.Sd4-e2 threat: 3.Se2-g3 # 3.Se2-c3 # 2...b2-b1=S 3.Se2-g3 # 2...d3*e2 3.d2-d3 # 2...f3*e2 3.f2-f3 # 2...b5-b4 3.Se2-g3 # 2...Ra8-a3 3.Se2-g3 # 2.Sd4-f5 threat: 3.Sf5-g3 # 1...b5-b4 2.Sd4-e2 threat: 3.Se2-g3 # 2...d3*e2 3.d2-d3 # 2...f3*e2 3.f2-f3 # 2.Sd4-f5 threat: 3.Sf5-g3 # 1...d6-d5 2.Sd4-e2 threat: 3.Se2-g3 # 3.Se2-c3 # 2...d3*e2 3.d2-d3 # 2...f3*e2 3.f2-f3 # 2...b5-b4 3.Se2-g3 # 2...d5-d4 3.Se2-g3 # 2...Be7-b4 3.Se2-g3 # 2.Sd4-f5 threat: 3.Sf5-g3 # 1...d6*e5 2.Sd4-f5 threat: 3.Sf5-g3 # 1...f6-f5 2.Sd4-e2 threat: 3.Se2-g3 # 3.Se2-c3 # 2...d3*e2 3.d2-d3 # 2...f3*e2 3.f2-f3 # 2...b5-b4 3.Se2-g3 # 2...f5-f4 3.Se2-c3 # 2...Be7-h4 3.Se2-c3 # 2.Sd4*b5 threat: 3.Sb5-c3 # 1...f6*e5 2.Sd4*b5 threat: 3.Sb5-c3 # 1...Ra8-a1 2.Sd4-e2 threat: 3.Se2-g3 # 3.Se2-c3 # 2...Ra1-g1 3.Se2-c3 # 2...Ra1-c1 3.Se2-g3 # 2...d3*e2 3.d2-d3 # 2...f3*e2 3.f2-f3 # 2...b5-b4 3.Se2-g3 # 1...Ra8-a2 2.Sd4-e2 threat: 3.Se2-g3 # 3.Se2-c3 # 2...Ra2-c2 3.Se2-g3 # 2...d3*e2 3.d2-d3 # 2...f3*e2 3.f2-f3 # 2...b5-b4 3.Se2-g3 # 2.Sd4-f5 threat: 3.Sf5-g3 # 1...Ra8-a3 2.Sd4-e2 threat: 3.Se2-g3 # 3.Se2-c3 # 2...b3-b2 3.Se2-g3 # 2...d3*e2 3.d2-d3 # 2...f3*e2 3.f2-f3 # 2...b5-b4 3.Se2-g3 # 2.Sd4-f5 threat: 3.Sf5-g3 # 1...Ra8-a4 2.Sd4-e2 threat: 3.Se2-g3 # 3.Se2-c3 # 2...d3*e2 3.d2-d3 # 2...f3*e2 3.f2-f3 # 2...Ra4-c4 3.Se2-g3 # 2...b5-b4 3.Se2-g3 # 2.Sd4-f5 threat: 3.Sf5-g3 # 1...Ra8-a5 2.Sd4-e2 threat: 3.Se2-g3 # 3.Se2-c3 # 2...d3*e2 3.d2-d3 # 2...f3*e2 3.f2-f3 # 2...b5-b4 3.Se2-g3 # 2.Sd4-f5 threat: 3.Sf5-g3 # 1...Ra8-a7 2.Sd4-e2 threat: 3.Se2-g3 # 3.Se2-c3 # 2...d3*e2 3.d2-d3 # 2...f3*e2 3.f2-f3 # 2...b5-b4 3.Se2-g3 # 2...Ra7-c7 3.Se2-g3 # 2.Sd4-f5 threat: 3.Sf5-g3 # 1...Sc8-a7 2.Sd4-e2 threat: 3.Se2-g3 # 3.Se2-c3 # 2...d3*e2 3.d2-d3 # 2...f3*e2 3.f2-f3 # 2...b5-b4 3.Se2-g3 # 2...Ra8-c8 3.Se2-g3 # 2.Sd4-f5 threat: 3.Sf5-g3 # 1...Sc8*b6 2.Sd4-e2 threat: 3.Se2-g3 # 3.Se2-c3 # 2...d3*e2 3.d2-d3 # 2...f3*e2 3.f2-f3 # 2...b5-b4 3.Se2-g3 # 2...Sb6-a4 3.Se2-g3 # 2...Sb6-d5 3.Se2-g3 # 2...Ra8-c8 3.Se2-g3 # 2.Sd4-f5 threat: 3.Sf5-g3 # 1...Sg8-h6 2.Sd4-e2 threat: 3.Se2-g3 # 3.Se2-c3 # 2...d3*e2 3.d2-d3 # 2...f3*e2 3.f2-f3 # 2...b5-b4 3.Se2-g3 # 2...Sh6-f5 3.Se2-c3 # 2.Sd4*b5 threat: 3.Sb5-c3 #" --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 31 date: 1857-07 algebraic: white: [Ka7, Rd7, Be5, Sg4, Sf3, Ph3, Pc2, Pa3] black: [Ke6, Pg6, Pg5, Pa5, Pa4] stipulation: "#4" solution: | "1.Rd7-d1 ! threat: 2.Sf3*g5 + 2...Ke6-f5 3.Rd1-d5 threat: 4.Be5-h2 # 4.Be5-g3 # 4.Be5-b8 # 4.Be5-c7 # 4.Be5-d6 # 3...Kf5*g5 4.Be5-g3 # 3.Be5-g3 threat: 4.Rd1-d5 # 2...Ke6-e7 3.Be5-f6 + 3...Ke7-f8 4.Rd1-d8 # 3...Ke7-e8 4.Rd1-d8 # 1...Ke6-f5 2.Rd1-d6 threat: 3.Sg4-f2 threat: 4.Rd6-f6 # 3.Sg4-f6 zugzwang. 3...g5-g4 4.h3*g4 # 2...Kf5-e4 3.Sf3-d2 + 3...Ke4-f5 4.Rd6-f6 # 1.Rd7-d2 ! threat: 2.Sf3*g5 + 2...Ke6-f5 3.Rd2-d5 threat: 4.Be5-h2 # 4.Be5-g3 # 4.Be5-b8 # 4.Be5-c7 # 4.Be5-d6 # 3...Kf5*g5 4.Be5-g3 # 3.Be5-g3 threat: 4.Rd2-d5 # 2...Ke6-e7 3.Be5-f6 + 3...Ke7-f8 4.Rd2-d8 # 3...Ke7-e8 4.Rd2-d8 # 1...Ke6-f5 2.Rd2-d6 threat: 3.Sg4-f2 threat: 4.Rd6-f6 # 3.Sg4-f6 zugzwang. 3...g5-g4 4.h3*g4 # 2...Kf5-e4 3.Sf3-d2 + 3...Ke4-f5 4.Rd6-f6 # 1.Rd7-d3 ! threat: 2.Sf3*g5 + 2...Ke6-f5 3.Rd3-d5 threat: 4.Be5-h2 # 4.Be5-g3 # 4.Be5-b8 # 4.Be5-c7 # 4.Be5-d6 # 3...Kf5*g5 4.Be5-g3 # 3.Be5-g3 threat: 4.Rd3-d5 # 3.Be5-f6 threat: 4.Rd3-f3 # 2...Ke6-e7 3.Be5-f6 + 3...Ke7-f8 4.Rd3-d8 # 3...Ke7-e8 4.Rd3-d8 # 2.Be5-f6 threat: 3.Sf3*g5 + 3...Ke6-f5 4.Rd3-f3 # 1...Ke6-f5 2.Rd3-d6 threat: 3.Sg4-f2 threat: 4.Rd6-f6 # 3.Sg4-f6 zugzwang. 3...g5-g4 4.h3*g4 # 2...Kf5-e4 3.Sf3-d2 + 3...Ke4-f5 4.Rd6-f6 # 2.Be5-f6 threat: 3.Sf3*g5 threat: 4.Rd3-f3 # 1.Rd7-d4 ! threat: 2.Sf3*g5 + 2...Ke6-f5 3.Rd4-d5 threat: 4.Be5-h2 # 4.Be5-g3 # 4.Be5-b8 # 4.Be5-c7 # 4.Be5-d6 # 3...Kf5*g5 4.Be5-g3 # 3.Be5-g3 threat: 4.Rd4-d5 # 2...Ke6-e7 3.Be5-f6 + 3...Ke7-f8 4.Rd4-d8 # 3...Ke7-e8 4.Rd4-d8 # 1...Ke6-f5 2.Rd4-d6 threat: 3.Sg4-f2 threat: 4.Rd6-f6 # 3.Sg4-f6 zugzwang. 3...g5-g4 4.h3*g4 # 2...Kf5-e4 3.Sf3-d2 + 3...Ke4-f5 4.Rd6-f6 # 1.Rd7-d6 + ! 1...Ke6-f5 2.Sg4-f2 threat: 3.Rd6-f6 # 2.Sg4-f6 zugzwang. 2...g5-g4 3.h3*g4 # 1...Ke6-f7 2.Be5-f6 threat: 3.Sf3*g5 + 3...Kf7-g8 4.Rd6-d8 # 3...Kf7-e8 4.Rd6-d8 # 3...Kf7-f8 4.Rd6-d8 # 3.Sg4-h6 + 3...Kf7-e8 4.Rd6-d8 # 3...Kf7-f8 4.Rd6-d8 # 2...Kf7-g8 3.Sf3*g5 threat: 4.Rd6-d8 # 3.Rd6-d8 + 3...Kg8-f7 4.Sf3*g5 # 3...Kg8-h7 4.Rd8-h8 # 4.Sf3*g5 # 1...Ke6-e7 2.Sf3*g5 zugzwang. 2...Ke7-f8 3.Be5-f6 threat: 4.Rd6-d8 # 3.Rd6-d8 + 3...Kf8-e7 4.Be5-f6 # 3.Rd6-e6 zugzwang. 3...Kf8-g8 4.Re6-e8 # 2...Ke7-e8 3.Be5-f6 threat: 4.Rd6-d8 # 1.Rd7-h7 ! zugzwang. 1...Ke6-d5 2.Sf3*g5 threat: 3.Ka7-b6 zugzwang. 3...Kd5-c4 4.Sg4-e3 # 2...Kd5-c4 3.Rh7-c7 + 3...Kc4-d5 4.c2-c4 # 3...Kc4-b5 4.c2-c4 # 2...Kd5-c6 3.c2-c4 threat: 4.Rh7-c7 # 3.Rh7-c7 + 3...Kc6-b5 4.c2-c4 # 3...Kc6-d5 4.c2-c4 # 2...Kd5-c5 3.Rh7-c7 + 3...Kc5-b5 4.c2-c4 # 3...Kc5-d5 4.c2-c4 # 1...Ke6-f5 2.Sf3*g5 zugzwang. 2...Kf5*g5 3.Sg4-h6 zugzwang. 3...Kg5-h4 4.Sh6-f7 # 3...Kg5-h5 4.Sh6-f7 #" keywords: - Cooked --- authors: - Loyd, Samuel source: The Chess Monthly source-id: 74 date: 1858-04 algebraic: white: [Ka3, Rf2, Bc5, Sc1, Pc2] black: [Kc3, Pf4, Pc4, Pb3] stipulation: "#5" solution: | "1.Bc5-b6 ! zugzwang. 1...b3-b2 2.Sc1-a2 # 1...b3*c2 2.Rf2-f3 + 2...Kc3-d2 3.Bb6-a5 + 3...Kd2*c1 4.Rf3-f1 # 3...Kd2-d1 4.Rf3-f1 # 3...c4-c3 4.Ba5*c3 + 4...Kd2*c1 5.Rf3-f1 # 4...Kd2-d1 5.Rf3-f1 # 1...f4-f3 2.Bb6-e3 threat: 3.Rf2-d2 zugzwang. 3...b3-b2 4.Sc1-a2 # 3...b3*c2 4.Sc1-a2 # 3...f3-f2 4.Sc1-e2 #" --- authors: - Loyd, Samuel source: Brownson's Chess Journal date: 1890-10 algebraic: white: [Ka6, Qd4, Ba8, Ba1, Sf1, Sb2, Pf3, Pe5, Pe2, Pd3, Pb5] black: [Kb4, Rg3, Rf6, Bc4, Sa3, Pf7, Pe7, Pe6, Pe3, Pc2, Pb3, Pa7] stipulation: "#4" solution: | "1.Qd4-c3 + ! 1...Kb4*c3 2.Sb2-d1 + 2...Kc3-b4 3.Ba1-c3 + 3...Kb4-c5 4.d3-d4 # 3...Kb4-a4 4.Sd1-b2 # 1...Kb4-c5 2.d3-d4 # 2.Sb2-a4 #" comments: - According to the columnist of this periodical, this was composed when Samuel Loyd (1841-1911) was 10 years old. --- authors: - Loyd, Samuel source: The Philadelphia Inquirer date: 1907-03-17 algebraic: white: [Kg1, Qf7, Re7, Bg3, Pg6, Pg2, Pf2, Pe6, Pe3] black: [Ka8, Ra2, Bc5, Sh1, Sd7, Pe2, Pc2, Pa7] stipulation: "#1" solution: "1.Qf7-f3 # !" --- authors: - Loyd, Samuel source: The Philadelphia Times source-id: 111 date: 1881-02-27 algebraic: white: [Kb4, Pc7, Pb7, Pa6] black: [Kb6] stipulation: "#3" solution: | "1.b7-b8=Q + ! 1...Kb6*a6 2.c7-c8=Q # 2.c7-c8=B # 1...Kb6-c6 2.c7-c8=Q + 2...Kc6-d5 3.Qc8-c4 # 1.c7-c8=Q ! {cook} threat: 2.b7-b8=Q #" keywords: - Cooked --- authors: - Loyd, Samuel source: The Philadelphia Times source-id: 374 date: 1883-09-16 algebraic: white: [Ka2, Qa5, Rf2, Rb3, Bh2, Bb1, Sf3, Se2, Pg4, Pg2, Pc2] black: [Ke4, Qc4, Rf8, Re8, Bg8, Bd8, Pg5, Pe3, Pa3] stipulation: "#2" solution: | "1.Qa5-c5 ! zugzwang. 1...e3*f2 2.Sf3-d2 # 1...Qc4*b3 + 2.c2*b3 # 1...Qc4*e2 2.Qc5-d4 # 1...Qc4-d3 2.c2*d3 # 1...Qc4-f7 2.Qc5-d4 # 2.Se2-c3 # 2.c2-c4 # 2.c2-c3 # 1...Qc4-e6 2.Qc5-d4 # 2.Se2-c3 # 2.c2-c4 # 2.c2-c3 # 1...Qc4-d5 2.Qc5*e3 # 2.Se2-c3 # 1...Qc4-a6 2.Qc5-d4 # 2.Se2-c3 # 2.c2-c4 # 1...Qc4-b5 2.Qc5-d4 # 2.Se2-c3 # 2.c2-c4 # 1...Qc4*c2 + 2.Bb1*c2 # 1...Qc4-c3 2.Se2*c3 # 1...Qc4-a4 2.Se2-c3 # 2.c2-c4 # 2.c2-c3 # 1...Qc4-b4 2.c2-c4 # 2.c2-c3 # 1...Qc4*c5 2.c2-c4 # 1...Qc4-d4 2.Qc5*d4 # 1...Bd8-a5 2.Sf3*g5 # 1...Bd8-b6 2.Sf3*g5 # 1...Bd8-c7 2.Sf3*g5 # 1...Bd8-f6 2.Qc5-f5 # 1...Bd8-e7 2.Qc5-e5 # 1...Re8-e5 2.Qc5*e5 # 1...Re8-e6 2.Qc5*c4 # 1...Re8-e7 2.Sf3*g5 # 1...Rf8*f3 2.g2*f3 # 1...Rf8-f4 2.Se2-g3 # 1...Rf8-f5 2.Qc5*f5 # 1...Rf8-f6 2.Sf3*g5 # 1...Rf8-f7 2.Qc5*c4 # 1...Bg8-d5 2.Qc5*e3 # 1...Bg8-e6 2.Qc5-e5 # 1...Bg8-f7 2.Qc5-f5 # 1...Bg8-h7 2.Qc5*c4 #" keywords: - Organ pipes --- authors: - Loyd, Samuel source: The New York and Pennsylvania Chess Association date: 1886 algebraic: white: [Ke4, Qe5, Sc6] black: [Ka6, Pe6] stipulation: "#3" solution: | "1.Qe5-b8 ! zugzwang. 1...e6-e5 2.Sc6-a7 zugzwang. 2...Ka6-a5 3.Qb8-b5 #" keywords: - Miniature comments: - also in The Toledo Daily Blade (no. 39), 28 October 1886 - also, but named Alan Bell, in The Philadelphia Times (no. 702), 19 December 1886 --- authors: - Loyd, Samuel source: The British Chess Magazine date: 1884 algebraic: white: [Kf4, Qa8, Re6, Rb7, Bf1, Sg3, Sc1, Pg5, Pc4, Pb4, Pa3] black: [Kd4, Qa5, Sh2, Sd1, Pg6, Pd7, Pc7, Pc3, Pb5] stipulation: "s#4" solution: | "1.Re6-d6 + ! 1...c7*d6 2.Sg3-e2 + 2...Kd4*c4 3.Rb7-c7 + 3...Qa5*c7 4.Qa8-g8 + 4...d6-d5 # 3.Qa8-g8 + 3...d6-d5 4.Rb7-c7 + 4...Qa5*c7 #" --- authors: - Loyd, Samuel source: The Philadelphia Times source-id: 1188 date: 1892-02-28 algebraic: white: [Kb4, Qd5, Rg1, Ra2, Bc3] black: [Ke3, Be8, Sh1, Ph7, Ph3, Pf7] stipulation: "#2" solution: | "1.Bc3-b2 ! threat: 2.Bb2-c1 # 1...Ke3-f2 2.Bb2-d4 #" keywords: - Two flights giving key comments: - also in The Albany Evening Journal (no. 312), 24 June 1893 --- authors: - Loyd, Samuel source: The Louisville Courier-Journal source-id: 35 date: 1891-08-23 algebraic: white: [Kf6, Rf3, Rd2, Bh1, Sc6, Pc4] black: [Ke4, Ra4, Ba7, Ba2, Sc1, Sa8, Pb3] stipulation: "#3" solution: | "1.Rd2-d5 ! threat: 2.Rd5-e5 # 1...Sc1-d3 2.Kf6-g5 threat: 3.Rf3*d3 # 3.Rf3-h3 # 3.Rf3-g3 # 2...Sd3-e1 3.Rd5-e5 # 2...Sd3-f2 3.Rd5-e5 # 2...Sd3-f4 3.Rd5-e5 # 2...Sd3-e5 3.Rd5*e5 # 2...Ba7-e3 + 3.Rf3-f4 # 2...Ba7-d4 3.Rd5*d4 # 3.Rf3-h3 # 3.Rf3-g3 # 1...Ra4-a5 2.c4-c5 threat: 3.Rd5-d4 # 3.Rd5-e5 # 2...Sc1-e2 3.Rd5-e5 # 2...Sc1-d3 3.Rd5-d4 # 2...Ke4*d5 3.Rf3-c3 # 2...Ra5-a4 3.Rd5-e5 # 2...Ra5*c5 3.Rd5-d4 # 2...Ba7*c5 3.Rd5-e5 # 2...Ba7-b8 3.Rd5-d4 # 1...Ba7-e3 2.Rf3-f1 # 2.Rf3-f2 # 2.Rf3-f5 # 1...Ba7-d4 + 2.Rd5*d4 # 1...Ba7-b8 2.Rd5-d4 #" --- authors: - Loyd, Samuel source: The Toledo Daily Blade source-id: 51 date: 1887-02-10 algebraic: white: [Ke1, Qh1, Rb6, Ra3, Bh5, Bd4, Sc1, Sb3, Pb4, Pa4] black: [Kc4, Re6, Bd3, Pg7, Pe3, Pe2, Pd5, Pc2] stipulation: "#3" solution: | "1.Qh1-e4 ! threat: 2.Qe4*d3 # 2.Sb3-a5 # 1...Bd3*e4 2.Bh5*e2 + 2...Be4-d3 3.Be2*d3 # 1...d5*e4 2.Bh5-f7 threat: 3.Bf7*e6 # 1...Re6*e4 2.Bh5-g6 zugzwang. 2...Re4*d4 3.Sb3-a5 # 2...Re4-e8 3.Bg6*d3 # 2...Re4-e7 3.Bg6*d3 # 2...Re4-e6 3.Bg6*d3 # 2...Re4-e5 3.Bg6*d3 # 2...Re4-h4 3.Bg6*d3 # 2...Re4-g4 3.Bg6*d3 # 2...Re4-f4 3.Bg6*d3 # 1...Re6*b6 2.Qe4*d3 + 2...Kc4*b4 3.Bd4-c5 # 1.Qh1-h4 ! threat: 2.Sb3-a5 # 1...Bd3-e4 2.Bh5*e2 + 2...Be4-d3 3.Sb3-a5 # 3.Be2*d3 # 1...Re6-e4 2.Bh5-g6 zugzwang. 2...Re4*d4 3.Qh4*d4 # 3.Sb3-a5 # 2...Re4-e8 3.Bg6*d3 # 3.Sb3-a5 # 2...Re4-e7 3.Bg6*d3 # 3.Sb3-a5 # 2...Re4-e6 3.Bg6*d3 # 3.Sb3-a5 # 2...Re4-e5 3.Bg6*d3 # 3.Sb3-a5 # 2...Re4*h4 3.Bg6*d3 # 2...Re4-g4 3.Bg6*d3 # 2...Re4-f4 3.Bg6*d3 # 1...Re6*b6 2.Bd4-c3 + 2...Bd3-e4 3.Sb3-a5 # 2...Kc4*c3 3.Qh4-d4 # 2...d5-d4 3.Qh4*d4 # 2.Bd4-c5 + 2...Bd3-e4 3.Sb3-a5 # 2...Kc4-c3 3.Qh4-d4 # 2...d5-d4 3.Qh4*d4 # 1.Sb3-a5 + ! 1...Kc4*d4 2.Rb6*e6 threat: 3.Ra3*d3 # 2...Bd3-h7 3.Sc1*e2 # 2...Bd3-g6 3.Sc1*e2 # 2...Bd3-f5 3.Sc1*e2 # 2...Bd3-e4 3.Sc1*e2 # 2...Bd3-a6 3.Qh1-h4 # 2...Bd3-b5 3.Qh1-h4 # 2...Bd3-c4 3.Sa5-c6 # 3.Qh1-h4 # 1.Rb6-b5 ! threat: 2.Qh1*d5 # 1...Bd3-e4 2.Qh1*e4 threat: 3.Bh5*e2 # 3.Qe4*c2 # 3.Qe4-d3 # 3.Qe4*d5 # 3.Sb3-a5 # 2...d5*e4 3.Bh5*e2 # 2...Re6*e4 3.Bh5*e2 # 2...Re6-e5 3.Bh5*e2 # 3.Qe4*c2 # 3.Qe4-d3 # 3.Sb3-a5 # 2...Re6-a6 3.Bh5*e2 # 3.Qe4*c2 # 3.Qe4-d3 # 3.Qe4*d5 # 2...Re6-d6 3.Bh5*e2 # 3.Qe4*c2 # 3.Qe4-d3 # 3.Sb3-a5 # 2.Bh5*e2 + 2...Be4-d3 3.Be2*d3 # 3.Qh1*d5 # 1...Re6-e4 2.Bd4-a1 threat: 3.Sb3-a5 # 2.Bd4-b2 threat: 3.Sb3-a5 # 2.Bh5-g6 zugzwang. 2...Re4*d4 3.Sb3-a5 # 2...Re4-e8 3.Bg6*d3 # 3.Qh1*d5 # 2...Re4-e7 3.Bg6*d3 # 3.Qh1*d5 # 2...Re4-e6 3.Bg6*d3 # 3.Qh1*d5 # 2...Re4-e5 3.Bg6*d3 # 2...Re4-h4 3.Bg6*d3 # 3.Qh1*d5 # 2...Re4-g4 3.Bg6*d3 # 3.Qh1*d5 # 2...Re4-f4 3.Bg6*d3 # 3.Qh1*d5 # 1...Re6-e5 2.Sb3-a5 + 2...Kc4*d4 3.Ra3*d3 # 2.Bd4-a1 threat: 3.Sb3-a5 # 2.Bd4-b2 threat: 3.Sb3-a5 # 2.Bd4*e5 threat: 3.Sb3-a5 # 3.Qh1*d5 # 2...Bd3-e4 3.Sb3-a5 # 2...d5-d4 3.Sb3-a5 # 3.Qh1-c6 # 1...Re6-d6 2.Bd4-a1 threat: 3.Sb3-a5 # 2...Rd6-a6 3.Qh1*d5 # 2.Bd4-b2 threat: 3.Sb3-a5 # 2...Rd6-a6 3.Qh1*d5 # 2.Bd4-e5 threat: 3.Sb3-a5 # 2...Rd6-a6 3.Qh1*d5 #" keywords: - Cooked comments: - intended solution 1.Qh1-e4 --- authors: - Loyd, Samuel source: The New York Turf, Field and Farm source-id: 31 date: 1867-04-20 algebraic: white: [Kf8, Qe1, Rc3, Pe2, Pb5, Pb4, Pb2] black: [Kd4, Qa2, Rg4, Pg6, Pg2, Pe4, Pe3, Pc7, Pb3, Pa6] stipulation: "#4" solution: | "1.Qe1-f2 ! threat: 2.Qf2-f6 + 2...Kd4-d5 3.Rc3-c5 # 1...e3*f2 2.e2-e3 + 2...Kd4-e5 3.Kf8-e7 threat: 4.Rc3-c5 # 2...Kd4-d5 3.Kf8-e7 threat: 4.Rc3-c5 # 1...Kd4-e5 2.Rc3-c5 + 2...Ke5-d4 3.Qf2-f6 # 2...Ke5-d6 3.Qf2-f7 threat: 4.Qf7-d5 # 4.Qf7-e7 # 4.Rc5-d5 # 3...Rg4-f4 4.Rc5-d5 # 3...Rg4-g5 4.Qf7-e7 # 3...a6*b5 4.Qf7-d5 # 4.Qf7-e7 # 3...c7-c6 4.Qf7-e7 # 2...Ke5-e6 3.Qf2-f7 + 3...Ke6-d6 4.Qf7-d5 # 4.Qf7-e7 # 4.Rc5-d5 # 1...Rg4-f4 + 2.Qf2*f4 threat: 3.Rc3-c5 threat: 4.Qf4-e5 # 4.Qf4-f6 # 3.Qf4-g5 threat: 4.Qg5-c5 # 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 2...Qa2-b1 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 2...Qa2-a1 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 2...Qa2-a5 3.Rc3-c5 threat: 4.Qf4-e5 # 4.Qf4-f6 # 3...Qa5*b4 4.Qf4-e5 # 3...Qa5-b6 4.Qf4-e5 # 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 2...Qa2-a4 3.Rc3-c5 threat: 4.Qf4-e5 # 4.Qf4-f6 # 3...Qa4*b4 4.Qf4-e5 # 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 2...Qa2-a3 3.Rc3-c5 threat: 4.Qf4-e5 # 4.Qf4-f6 # 3...Qa3*b4 4.Qf4-e5 # 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 2...Qa2*b2 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 2...g2-g1=Q 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 2...g2-g1=S 3.Qf4-g5 threat: 4.Qg5-c5 # 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 2...g2-g1=R 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 2...g2-g1=B 3.Qf4-g5 threat: 4.Qg5-c5 # 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 2...Kd4-d5 3.Qf4-f6 threat: 4.Rc3-c5 # 2...a6*b5 3.Rc3-d3 + 3...Kd4-c4 4.Qf4*e4 # 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 2...g6-g5 3.Qf4*g5 threat: 4.Qg5-c5 # 3.Qf4-f6 + 3...Kd4-d5 4.Rc3-c5 # 3.Qf4-f5 threat: 4.Qf5-c5 # 1...Rg4-g5 2.Qf2-f6 + 2...Kd4-d5 3.Rc3-c5 # 2...Rg5-e5 3.Rc3-c5 threat: 4.Qf6*e5 #" comments: - corrected from The Chess Player's Chronicle with bPh2-g2 ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootpychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-piece-checkmates-ii_by_arex_2017.01.25.sqlitepychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-piece-checkmates-ii_by_arex_2017.01.25.sq0000644000175000017500000026000013441162535032223 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) \;learn/puzzles/lichess_study_lichess-practice-piece-checkmates-ii_by_arex_2017.01.25.pgn   %Qhttps://lichess.org/study/BJy6fEDf%Qhttps://lichess.org/study/Rg2cMBZ6 &Qhttps://lichess.org/study/BJy6fEDf%Q https://lichess.org/study/Rg2cMBZ6 Aarex @ https://lichess.orgAhttps://lichess.org/@/arex Aarex @ https://lichess.orgA https://lichess.org/@/arex >~@~>>Lichess Practice: Piece Checkmates II: Two knights vs pawnD Lichess Practice: Piece Checkmates II: Knight and bishop mate #2@Lichess Practice: Piece Checkmates I: Knight and bishop mate8wLichess Practice: Piece Checkmates I: Two bishop mate<Lichess Practice: Piece Checkmates II: Queen vs rook mate?Lichess Practice: Piece Checkmates II: Queen vs knight mate?Lichess Practice: Piece Checkmates II: Queen vs bishop mate ?A??Lichess Practice: Piece Checkmates II: Two knights vs pawnE Lichess Practice: Piece Checkmates II: Knight and bishop mate #2ALichess Practice: Piece Checkmates I: Knight and bishop mate9wLichess Practice: Piece Checkmates I: Two bishop mate=Lichess Practice: Piece Checkmates II: Queen vs rook mate@Lichess Practice: Piece Checkmates II: Queen vs knight mate? Lichess Practice: Piece Checkmates II: Queen vs bishop mate  20180221 5Kv5?   Q 0?6k1/6p1/8/4K3/4NN2/8/8/8 w - - 0 1>   O h h0?8/8/3k4/3B4/3K4/8/3N4/8 w - - 0 1I!   M 2017.01.300?8/8/1k1K4/8/2BN4/8/8/8 w - - 0 1H!   K 2017.01.300?8/8/3k4/8/8/2BBK3/8/8 w - - 0 1<   K 0?8/3kr3/8/3KQ3/8/8/8/8 w - - 0 1<   K 0?8/8/3kn3/8/8/3KQ3/8/8 w - - 0 17   K 0?8/8/3kb3/8/8/3KQ3/8/8 w - - 0 1         h   h              CjSC*jSCOpening?UTCTime22:49:55!UTCDate2017.01.25Opening?UTCTime10:05:54!UTCDate2017.02.21Opening?UTCTime12:08:37 !UTCDate2017.02.18 Opening? UTCTime12:38:24 !UTCDate2017.02.18 Opening?UTCTime17:28:17!UTCDate2017.01.30Opening?UTCTime17:26:30!UTCDate2017.01.30  Opening? UTCTime17:27:00 !UTCDate2017.01.30././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootpychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-checkmate-patterns-i_by_arex_2017.01.22.pgnpychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-checkmate-patterns-i_by_arex_2017.01.22.p0000644000175000017500000001711413365545272032271 0ustar varunvarun[Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns I: Back-Rank Mate #1"] [Site "https://lichess.org/study/fE4k21MW"] [UTCDate "2017.01.22"] [UTCTime "02:39:45"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "6k1/4Rppp/8/8/8/8/5PPP/6K1 w - - 0 1"] [SetUp "1"] { A Back-Rank Mate (also known as Corridor Mate) is a checkmate delivered by a rook or queen along the back rank in which the mated king is unable to move up the board because the king is blocked by friendly pieces (usually pawns) on the second rank. } * [Termination "mate in 2"] [Event "Lichess Practice: Checkmate Patterns I: Back-Rank Mate #2"] [Site "https://lichess.org/study/fE4k21MW"] [UTCDate "2017.01.22"] [UTCTime "02:40:32"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2r1r1k1/5ppp/8/8/Q7/8/5PPP/4R1K1 w - - 0 1"] [SetUp "1"] * [Termination "mate in 3"] [Event "Lichess Practice: Checkmate Patterns I: Back-Rank Mate #3"] [Site "https://lichess.org/study/fE4k21MW"] [UTCDate "2017.01.26"] [UTCTime "23:01:29"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "6k1/3qb1pp/4p3/ppp1P3/8/2PP1Q2/PP4PP/5RK1 w - - 0 1"] [SetUp "1"] { From Zsuzsa Markhot - Sanja Arslanagic, 1997. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns I: Hook Mate #1"] [Site "https://lichess.org/study/fE4k21MW"] [UTCDate "2017.01.22"] [UTCTime "02:42:48"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "R7/4kp2/5N2/4P3/8/8/8/6K1 w - - 0 1"] [SetUp "1"] { The Hook Mate involves the use of a white rook, knight, and pawn along with one black pawn to limit the black king's escape. The rook is protected by the knight and the knight is protected by the pawn. } * [Termination "mate in 3"] [Event "Lichess Practice: Checkmate Patterns I: Hook Mate #2"] [Site "https://lichess.org/study/fE4k21MW"] [UTCDate "2017.01.26"] [UTCTime "22:00:26"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5r1b/2R1R3/P4r2/2p2Nkp/2b3pN/6P1/4PP2/6K1 w - - 0 1"] [SetUp "1"] { From Vassily Ivanchuk - Levon Aronian, 2013. } * [Termination "mate in 3"] [Event "Lichess Practice: Checkmate Patterns I: Hook Mate #3"] [Site "https://lichess.org/study/fE4k21MW"] [UTCDate "2017.01.22"] [UTCTime "02:47:37"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2b1Q3/1kp5/p1Nb4/3P4/1P5p/p6P/K3R1P1/5q2 w - - 0 1"] [SetUp "1"] { From Ian Nepomniachtchi - Ivan Salgado Lopez, 2008. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns I: Anastasia's Mate #1"] [Site "https://lichess.org/study/fE4k21MW"] [UTCDate "2017.01.22"] [UTCTime "02:57:25"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5r2/1b2Nppk/8/2R5/8/8/5PPP/6K1 w - - 0 1"] [SetUp "1"] { In Anastasia's Mate, a knight and rook team up to trap the opposing king between the side of the board on one side and a friendly piece on the other. This checkmate got its name from the novel "Anastasia und das Schachspiel" by Johann Jakob Wilhelm Heinse. } * [Termination "mate in 2"] [Event "Lichess Practice: Checkmate Patterns I: Anastasia's Mate #2"] [Site "https://lichess.org/study/fE4k21MW"] [UTCDate "2017.01.22"] [UTCTime "02:57:59"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5r1k/1b2Nppp/8/2R5/4Q3/8/5PPP/6K1 w - - 0 1"] [SetUp "1"] * [Termination "mate in 3"] [Event "Lichess Practice: Checkmate Patterns I: Anastasia's Mate #3"] [Site "https://lichess.org/study/fE4k21MW"] [UTCDate "2017.01.22"] [UTCTime "02:48:05"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5rk1/1b3ppp/8/2RN4/8/8/2Q2PPP/6K1 w - - 0 1"] [SetUp "1"] * [Termination "mate in 3"] [Event "Lichess Practice: Checkmate Patterns I: Anastasia's Mate #4"] [Site "https://lichess.org/study/fE4k21MW"] [UTCDate "2017.01.26"] [UTCTime "23:26:13"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "1r5k/6pp/2pr4/P1Q3bq/1P2Bn2/2P5/5PPP/R3NRK1 b - - 0 1"] [SetUp "1"] { From Irina Andrenko - Olga Kalinina, 2007. } * [Termination "mate in 3"] [Event "Lichess Practice: Checkmate Patterns I: Blind Swine Mate #1"] [Site "https://lichess.org/study/fE4k21MW"] [UTCDate "2017.01.22"] [UTCTime "03:01:41"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5rk1/1R2R1pp/8/8/8/8/8/1K6 w - - 0 1"] [SetUp "1"] { The name of this pattern is attributed to Polish master Dawid Janowski referring to coupled rooks on a player's 7th rank as swine. For this type of mate, the rooks on white's 7th rank can start out on any two of the files from a to e, and although black pawns are commonly present, they are not necessary to effect the mate. } * [Termination "mate in 6"] [Event "Lichess Practice: Checkmate Patterns I: Blind Swine Mate #2"] [Site "https://lichess.org/study/fE4k21MW"] [UTCDate "2017.01.26"] [UTCTime "21:44:48"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r4rk1/2R5/1n2N1pp/2Rp4/p2P4/P3P2P/qP3PPK/8 w - - 0 1"] [SetUp "1"] { From Rudolf Swiderski - Aron Nimzowitsch, 1905. } * [Termination "mate in 5"] [Event "Lichess Practice: Checkmate Patterns I: Blind Swine Mate #3"] [Site "https://lichess.org/study/fE4k21MW"] [UTCDate "2017.01.26"] [UTCTime "21:47:31"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5rk1/1R1R1p1p/4N1p1/p7/5p2/1P4P1/r2nP1KP/8 w - - 0 1"] [SetUp "1"] { From Vassily Ivanchuk - Levon Aronian, 2006. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns I: Smothered Mate #1"] [Site "https://lichess.org/study/fE4k21MW"] [UTCDate "2017.01.26"] [UTCTime "21:14:20"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "6rk/6pp/8/6N1/8/8/8/7K w - - 0 1"] [SetUp "1"] { Smothered Mate occurs when a knight checkmates a king that is smothered (surrounded) by his friendly pieces and he has nowhere to move nor is there any way to capture the knight. It is also known as "Philidor's Legacy" after François-André Danican Philidor, though its documentation predates Philidor by several hundred years. } * [Termination "mate in 2"] [Event "Lichess Practice: Checkmate Patterns I: Smothered Mate #2"] [Site "https://lichess.org/study/fE4k21MW"] [UTCDate "2017.01.26"] [UTCTime "21:17:14"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "6rk/6pp/6q1/6N1/8/7Q/6PP/6K1 w - - 0 1"] [SetUp "1"] * [Termination "mate in 2"] [Event "Lichess Practice: Checkmate Patterns I: Smothered Mate #3"] [Site "https://lichess.org/study/fE4k21MW"] [UTCDate "2017.01.26"] [UTCTime "21:22:03"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "3r3k/1p1b1Qbp/1n2B1p1/p5N1/Pq6/8/1P4PP/R6K w - - 0 1"] [SetUp "1"] { From Alexander Grischuk - Ruslan Ponomariov, 2000. } * [Termination "mate in 6"] [Event "Lichess Practice: Checkmate Patterns I: Smothered Mate #4"] [Site "https://lichess.org/study/fE4k21MW"] [UTCDate "2017.01.26"] [UTCTime "21:20:26"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r1k4r/ppp1bq1p/2n1N3/6B1/3p2Q1/8/PPP2PPP/R5K1 w - - 0 1"] [SetUp "1"] { From Paul Morphy - Schrufer, 1859. } *pychess-1.0.0/learn/puzzles/cheron.olv0000644000175000017500000116237313365545272017104 0ustar varunvarun--- authors: - Chéron, André source: L'Illustration date: 1936-08-29 algebraic: white: [Kg6, Qc4, Bh4, Sb8, Pb4] black: [Kd6, Pe7] stipulation: "#2" solution: | "1...e6[a] 2.Qc5#[A] 1...e5[b] 2.Qc6#[B] 1...Ke5 2.Bg3# 1.Kg7[C]? zz 1...e6[a] 2.Qc5#[A] 1...e5[b] 2.Qc6#[B] but 1...Ke5! 1.Kh6[D]? zz 1...e6[a] 2.Qc5#[A] 1...e5[b] 2.Qc6#[B] but 1...Ke5! 1.Kh5[E]? zz 1...e6[a] 2.Qc5#[A] 1...e5[b] 2.Qc6#[B] but 1...Ke5! 1.Kh7[F]? zz 1...e6[a] 2.Qc5#[A] 1...e5[b] 2.Qc6#[B] but 1...Ke5! 1.Kf5? (2.Qc5#[A]/Qc6#[B]) but 1...e6+[a]! 1.Kf7? (2.Qc5#[A]) but 1...Ke5! 1.Bf6? (2.Qc6#[B]) but 1...exf6! 1.Kg5?? zz 1...e6[a] 2.Qc5#[A] 1...Ke5 2.Bg3# but 1...e5[b]! 1.b5?? zz 1...e5[b] 2.Qc6#[B] 1...Ke5 2.Bg3# but 1...e6[a]! 1.Bf2?? zz 1...e6[a] 2.Qc5#[A] 1...Ke5 2.Bg3# but 1...e5[b]! 1.Be1?? zz 1...e6[a] 2.Qc5#[A] 1...Ke5 2.Bg3# but 1...e5[b]! 1.Bxe7+?? 1...Ke5 2.Nc6#/Nd7# but 1...Kxe7! 1.Bg5[G]! zz 1...e6[a] 2.Qc5#[A] 1...e5[b] 2.Qc6#[B] 1...Ke5 2.Bf4#" keywords: - Mutate - Rudenko - Barnes --- authors: - Chéron, André source: Journal de Genève date: 1974-11-15 algebraic: white: [Ke2, Qe1, Rf7, Rd8, Bb8, Sf8, Sa5, Ph7, Ph2, Pg7, Pf3, Pc7, Pc4] black: [Ke5, Rg8, Rc8, Bg2, Sh1, Sb2, Ph6, Ph3, Pc6, Pc3, Pb7, Pb4] stipulation: "#2" solution: | "1...Bf1+ 2.Kxf1# 1...Bxf3+ 2.Kxf3# 1...Nxc4 2.Nxc4# 1...Nd1 2.Kxd1# 1...Nd3 2.Kxd3# 1...Na4 2.Kd1#/Kd3# 1...b3 2.Qxc3# 1...Rh8 2.gxh8Q#/gxh8B# 1...b6/b5 2.Nxc6# 1...c5 2.Rd5# 1...Rxc7 2.Bxc7# 1...Rxb8 2.cxb8Q#/cxb8B# 1...Rxd8 2.cxd8Q#/cxd8R# 1...Ng3+ 2.Qxg3# 1...Nf2 2.Kxf2# 1...c2 2.Kd2# 1.hxg8Q?? zz 1...b3 2.Qxc3# 1...Nxc4 2.Nxc4# 1...Nd1 2.Kxd1# 1...Nd3 2.Kxd3# 1...Na4 2.Kd1#/Kd3# 1...Bf1+ 2.Kxf1# 1...Bxf3+ 2.Kxf3# 1...Rxc7 2.Bxc7# 1...Rxb8 2.cxb8Q#/cxb8B# 1...Rxd8 2.cxd8Q#/cxd8R# 1...b6/b5 2.Nxc6# 1...c5 2.Rd5# 1...Ng3+ 2.Qxg3# 1...Nf2 2.Kxf2# 1...c2 2.Kd2# but 1...h5! 1.hxg8R?? zz 1...Nxc4 2.Nxc4# 1...Nd1 2.Kxd1# 1...Nd3 2.Kxd3# 1...Na4 2.Kd1#/Kd3# 1...Bf1+ 2.Kxf1# 1...Bxf3+ 2.Kxf3# 1...c2 2.Kd2# 1...b6/b5 2.Nxc6# 1...c5 2.Rd5# 1...Ng3+ 2.Qxg3# 1...Nf2 2.Kxf2# 1...b3 2.Qxc3# 1...Rxc7 2.Bxc7# 1...Rxb8 2.cxb8Q#/cxb8B# 1...Rxd8 2.cxd8Q#/cxd8R# but 1...h5! 1.hxg8B?? zz 1...Nxc4 2.Nxc4# 1...Nd1 2.Kxd1# 1...Nd3 2.Kxd3# 1...Na4 2.Kd1#/Kd3# 1...Bf1+ 2.Kxf1# 1...Bxf3+ 2.Kxf3# 1...b3 2.Qxc3# 1...Rxc7 2.Bxc7# 1...Rxb8 2.cxb8Q#/cxb8B# 1...Rxd8 2.cxd8Q#/cxd8R# 1...b6/b5 2.Nxc6# 1...c5 2.Rd5# 1...Ng3+ 2.Qxg3# 1...Nf2 2.Kxf2# 1...c2 2.Kd2# but 1...h5! 1.hxg8N?? zz 1...Nxc4 2.Nxc4# 1...Nd1 2.Kxd1# 1...Nd3 2.Kxd3# 1...Na4 2.Kd1#/Kd3# 1...Bf1+ 2.Kxf1# 1...Bxf3+ 2.Kxf3# 1...c2 2.Kd2# 1...b6/b5 2.Nxc6# 1...c5 2.Rd5# 1...Ng3+ 2.Qxg3# 1...Nf2 2.Kxf2# 1...b3 2.Qxc3# 1...Rxc7 2.Bxc7# 1...Rxb8 2.cxb8Q#/cxb8B# 1...Rxd8 2.cxd8Q#/cxd8R# but 1...h5! 1.h8B?? zz 1...Nxc4 2.Nxc4# 1...Nd1 2.Kxd1# 1...Nd3 2.Kxd3# 1...Na4 2.Kd1#/Kd3# 1...Bf1+ 2.Kxf1# 1...Bxf3+ 2.Kxf3# 1...b3 2.Qxc3# 1...b6/b5 2.Nxc6# 1...c5 2.Rd5# 1...Ng3+ 2.Qxg3# 1...Nf2 2.Kxf2# 1...c2 2.Kd2# 1...Rxc7 2.Bxc7# 1...Rxb8 2.cxb8Q#/cxb8B# 1...Rxd8 2.cxd8Q#/cxd8R# 1...Rxg7 2.Bxg7# 1...Rxf8 2.gxf8N# 1...Rxh8 2.gxh8Q#/gxh8B# but 1...h5! 1.h8Q! zz 1...Nxc4 2.Nxc4# 1...Nd1 2.Kxd1# 1...Nd3 2.Kxd3# 1...Na4 2.Kd1#/Kd3# 1...Bf1+ 2.Kxf1# 1...Bxf3+ 2.Kxf3# 1...b3 2.Qxc3# 1...h5 2.Qxh5# 1...Rxc7 2.Bxc7# 1...Rxb8 2.cxb8Q#/cxb8B# 1...Rxd8 2.cxd8Q#/cxd8R# 1...b6/b5 2.Nxc6# 1...c5 2.Rd5# 1...Ng3+ 2.Qxg3# 1...Nf2 2.Kxf2# 1...c2 2.Kd2# 1...Rxg7 2.Qxg7# 1...Rxf8 2.gxf8N# 1...Rxh8 2.gxh8Q#/gxh8B#" keywords: - Black correction --- authors: - Chéron, André source: L'Illustration date: 1936 algebraic: white: [Kh6, Qd4, Bh5, Sc8, Pc6] black: [Ke6, Pf7] stipulation: "#2" solution: | "1...f6[a] 2.Qe4#[A] 1...f5[b] 2.Qd6#[B] 1...Kf5 2.Bg4# 1.Kh7[C]? zz 1...f6[a] 2.Qe4#[A] 1...f5[b] 2.Qd6#[B] but 1...Kf5! 1.Kg5? (2.Qd6#[B]/Qe4#[A]) 1...f5[b] 2.Qd6#[B] but 1...f6+[a]! 1.Kg7? (2.Qe4#[A]) 1...f5[b] 2.Bf7#/Qd6#[B] but 1...Kf5! 1.Bg6? (2.Qd6#[B]) but 1...fxg6! 1.Qf4[D]? (2.Bxf7#) 1...f6[a] 2.Qe4#[A] 1...f5[b] 2.Qd6#[B] but 1...Kd5! 1.c7?? zz 1...f5[b] 2.Qd6#[B] 1...Kf5 2.Bg4# but 1...f6[a]! 1.Be2?? zz 1...f5[b] 2.Bc4# 1...Kf5 2.Bg4# but 1...f6[a]! 1.Bd1?? zz 1...f5[b] 2.Bb3# 1...Kf5 2.Bg4# but 1...f6[a]! 1.Bxf7+?? 1...Kf5 2.Nd6#/Ne7# but 1...Kxf7! 1.Bf3! zz 1...f6[a] 2.Qd5#[E] 1...f5[b] 2.Bd5#[F] 1...Kf5 2.Bg4#" keywords: - Changed mates - Mutate - Rudenko - Barnes --- authors: - Biscay, Pierre - Chéron, André source: Die Schwalbe date: 1935 algebraic: white: [Kf5, Qb6, Bd2, Sh4, Pe4, Pb3] black: [Kf1] stipulation: "#3" solution: | "1.Bd2-a5 ! zugzwang. 1...Kf1-e2 2.Qb6-b4 zugzwang. 2...Ke2-f1 3.Qb4-e1 # 2...Ke2-f2 3.Qb4-e1 # 2...Ke2-e3 3.Qb4-d2 # 2...Ke2-d3 3.Qb4-d2 # 2...Ke2-d1 3.Qb4-d2 #" --- authors: - Chéron, André source: Feuille d'Avis de Lausanne date: 1930-07-12 algebraic: white: [Ke3, Qg1, Ba1, Pd5] black: [Kf5, Pf7, Pe4] stipulation: "#3" solution: | "1.Ba1-h8 ! zugzwang. 1...f7-f6 2.Qg1-g8 zugzwang. 2...Kf5-e5 3.Qg8-e6 #" --- authors: - Chéron, André source: Hamburgischer Correspondent date: 1930-07-13 algebraic: white: [Kc2, Rh8, Bf8, Sh6] black: [Ka1, Bc3, Pa2] stipulation: "#3" solution: | "1. Sh6-f5! (2. Rh8-h1+ Bc3-e1 3. Bf8-g7#,Rh1xe1#) Bb2xh8 2. Sf5-g7 Bh8xg7 3. Bf8xg7# 1. ... Bc3-e1 2. Bf8-g7+ Be1-c3 3. Rh8-h1#, 3. Bg7xc3#" keywords: - Seeberger - Mousetrap --- authors: - Chéron, André source: Hamburgischer Correspondent source-id: correction date: 1932-12-18 algebraic: white: [Kd6, Qa6, Pe7, Pb4] black: [Ke8, Bd1] stipulation: "#3" solution: | "1. Qa6-c4! (2. Qc4-g8#) Bd1-b3 2. Qc4-f1 (3. Qf1-f8#) Bb3-f7 3. Qf1-b5#" keywords: - Roman theme comments: - original 181014 --- authors: - Chéron, André source: Le Temps date: 1933 algebraic: white: [Ka6, Qh5, Bc8, Sd5, Pe5, Pc4] black: [Kc6] stipulation: "#3" solution: | "1.Bc8-h3 ! zugzwang. 1...Kc6-c5 2.Qh5-g4 zugzwang. 2...Kc5-c6 3.Qg4-c8 #" keywords: - Turton --- authors: - Chéron, André source: Le Temps date: 1936 algebraic: white: [Ke3, Rb8, Bf3, Pa7] black: [Ka1, Rh2] stipulation: "#3" solution: | "1.Bf3-g2 ! threat: 2.a7-a8=Q # 2.a7-a8=R # 1...Rh2*g2 2.a7-a8=Q + 2...Rg2-a2 3.Qa8-h1 # 1...Rh2-h7 2.a7-a8=Q + 2...Rh7-a7 3.Qa8*a7 # 2.a7-a8=R + 2...Rh7-a7 3.Ra8*a7 # 1...Rh2-h6 2.a7-a8=Q + 2...Rh6-a6 3.Qa8*a6 # 2.a7-a8=R + 2...Rh6-a6 3.Ra8*a6 # 1...Rh2-h5 2.a7-a8=Q + 2...Rh5-a5 3.Qa8*a5 # 2.a7-a8=R + 2...Rh5-a5 3.Ra8*a5 # 1...Rh2-h4 2.a7-a8=Q + 2...Rh4-a4 3.Qa8*a4 # 2.a7-a8=R + 2...Rh4-a4 3.Ra8*a4 # 1...Rh2-h3 + 2.Bg2*h3 threat: 3.a7-a8=Q # 3.a7-a8=R #" --- authors: - Chéron, André source: Feuille d'Avis de Lausanne date: 1936 algebraic: white: [Kc3, Qg3, Ba4, Sf8] black: [Kh8, Ba2, Sa1] stipulation: "#3" solution: | "1.Ba4-c2 ! threat: 2.Qg3-g6 threat: 3.Qg6-h7 # 2...Ba2-g8 3.Qg6-f6 # 2.Bc2-h7 threat: 3.Qg3-e5 # 1...Sa1*c2 2.Qg3-g6 threat: 3.Qg6-h7 # 2...Ba2-g8 3.Qg6-f6 # 1...Ba2-b1 2.Sf8-e6 threat: 3.Qg3-b8 # 3.Qg3-g7 # 2...Sa1*c2 3.Qg3-g7 # 2...Bb1*c2 3.Qg3-g7 # 1...Ba2-f7 2.Bc2-h7 threat: 3.Qg3-e5 # 1...Ba2-e6 2.Sf8*e6 threat: 3.Qg3-b8 # 3.Qg3-g7 # 2...Sa1*c2 3.Qg3-g7 # 2.Bc2-h7 threat: 3.Qg3-e5 # 1...Ba2-d5 2.Bc2-h7 threat: 3.Qg3-e5 # 1...Ba2-c4 2.Bc2-h7 threat: 3.Qg3-e5 # 1...Ba2-b3 2.Bc2-h7 threat: 3.Qg3-e5 #" --- authors: - Chéron, André source: Bulletin de la Fédération Française des Échecs date: 1925 algebraic: white: [Kf5, Qf4, Sb8, Pb6] black: [Ka8, Sc5, Pb7] stipulation: "#3" solution: | "1.Sb8-a6 ! threat: 2.Qf4-b8 # 1...Sc5-d7 2.Qf4-b8 + 2...Sd7*b8 3.Sa6-c7 # 2.Qf4-c7 zugzwang. 2...b7*a6 3.Qc7-a7 # 2...Sd7*b6 3.Qc7-b8 # 2...Sd7-c5 3.Qc7-b8 # 3.Qc7-d8 # 3.Qc7-c8 # 2...Sd7-e5 3.Qc7-c8 # 3.Qc7-d8 # 3.Qc7-b8 # 2...Sd7-f6 3.Qc7-b8 # 3.Qc7-d8 # 3.Qc7-c8 # 2...Sd7-f8 3.Qc7-c8 # 3.Qc7-d8 # 3.Qc7-b8 # 2...Sd7-b8 3.Qc7*b8 # 1...Sc5*a6 2.Qf4-a4 zugzwang. 2...Ka8-b8 3.Qa4-e8 # 1...b7*a6 2.Qf4-c7 threat: 3.Qc7-a7 # 3.Qc7-c8 # 2...Sc5-d7 3.Qc7-a7 # 2...Sc5-b7 3.Qc7-c8 #" --- authors: - Chéron, André source: Gazette de Lausanne date: 1932-09-04 algebraic: white: [Ka1, Qb8, Sc3] black: [Kc1, Rg4, Pc2, Pa2] stipulation: "#3" solution: | "1.Qb8-h2 ! threat: 2.Qh2-e2 threat: 3.Sc3*a2 # 3.Qe2-e1 # 3.Qe2-e3 # 2...Rg4-g1 3.Sc3*a2 # 3.Qe2-e3 # 2...Rg4-g2 3.Sc3*a2 # 3.Qe2-e1 # 2...Rg4-g3 3.Sc3*a2 # 3.Qe2-e1 # 2...Rg4-a4 3.Qe2-e1 # 3.Qe2-e3 # 2...Rg4-d4 3.Sc3*a2 # 2...Rg4-e4 3.Sc3*a2 # 2.Qh2-h6 + 2...Rg4-f4 3.Qh6*f4 # 2...Rg4-g5 3.Qh6*g5 # 1...Rg4-g2 2.Qh2-d6 threat: 3.Sc3*a2 # 2...Rg2-d2 3.Qd6-a3 # 1...Rg4-b4 2.Qh2-h6 + 2...Rb4-f4 3.Qh6*f4 # 1...Rg4-d4 2.Qh2-e2 threat: 3.Sc3*a2 # 2...Rd4-a4 3.Qe2-e1 # 3.Qe2-e3 # 1...Rg4-e4 2.Sc3*e4 threat: 3.Qh2-g1 # 3.Qh2-h1 # 3.Qh2-d2 # 2...Kc1-d1 3.Qh2-d2 # 2.Qh2-h6 + 2...Re4-e3 3.Qh6*e3 # 2...Re4-f4 3.Qh6*f4 # 1...Rg4-h4 2.Qh2-e2 threat: 3.Sc3*a2 # 3.Qe2-e1 # 3.Qe2-e3 # 2...Rh4-h1 3.Sc3*a2 # 3.Qe2-e3 # 2...Rh4-h2 3.Sc3*a2 # 3.Qe2-e1 # 2...Rh4-h3 3.Sc3*a2 # 3.Qe2-e1 # 2...Rh4-a4 3.Qe2-e1 # 3.Qe2-e3 # 2...Rh4-d4 3.Sc3*a2 # 2...Rh4-e4 3.Sc3*a2 #" --- authors: - Chéron, André source: Feuille d'Avis de Lausanne algebraic: white: [Kf1, Rc4, Bg3, Ph2, Pf2, Pd4] black: [Kh1, Pf3, Pd7] stipulation: "#3" solution: | "1.Bg3-b8 ! zugzwang. 1...d7-d6 2.d4-d5 zugzwang. 2...Kh1*h2 3.Rc4-h4 # 1...d7-d5 2.Rc4-c7 zugzwang. 2...Kh1*h2 3.Rc7-h7 #" --- authors: - Chéron, André source: Journal de Genève date: 1933-04-16 algebraic: white: [Kg7, Qb5, Bd2, Pe2] black: [Kd4, Bb1, Sh8] stipulation: "#4" solution: | "1. Kg7-f6! (2. e2-e3+ Kd4-e4 3. Qb5-f5#) Bb1-h7 2. Kf6-g5 Bh7-b1(c2,e3) 3. e2-e3+ Kd4-e4 4. Qb5-f5# 1. ... Bb1-g6 2. Kf6-e6 Bg6-f7+ 3. Ke6-d6 (4. Qb5-d3#) Bf7-c4 4. Qb5-e5#" keywords: - Anti Grimshaw --- authors: - Chéron, André source: L'Illustration date: 1936-02-29 algebraic: white: [Ka4, Qg3, Sf8] black: [Kh1, Bh8, Se5, Ph2] stipulation: "#4" solution: | "1.Sf8-g6 ! threat: 2.Sg6-f4 threat: 3.Qg3-e1 # 3.Qg3-g2 # 2...Se5-d3 3.Qg3-g2 # 2...Se5-f3 3.Qg3-g2 # 2.Sg6-h4 threat: 3.Qg3-g2 # 3.Qg3-e1 # 2...Se5-d3 3.Qg3-g2 # 2...Se5-f3 3.Qg3-g2 # 1...Se5-c4 2.Sg6-f4 threat: 3.Qg3-e1 # 3.Qg3-g2 # 2...Sc4-b2 + 3.Ka4-b5 threat: 4.Qg3-e1 # 4.Qg3-g2 # 3...Sb2-d3 4.Qg3-g2 # 3...Bh8-c3 4.Qg3-g2 # 3...Bh8-d4 4.Qg3-g2 # 3.Ka4-b3 threat: 4.Qg3-g2 # 4.Qg3-e1 # 3...Sb2-d3 4.Qg3-g2 # 3...Bh8-c3 4.Qg3-g2 # 3...Bh8-d4 4.Qg3-g2 # 2...Sc4-d2 3.Qg3-g2 # 2...Sc4-e3 3.Qg3-e1 + 3...Se3-f1 4.Qe1*f1 # 3.Qg3-f3 + 3...Kh1-g1 4.Sf4-e2 # 4.Sf4-h3 # 3...Se3-g2 4.Qf3*g2 # 4.Qf3-f1 # 2...Sc4-b6 + 3.Ka4-b5 threat: 4.Qg3-e1 # 4.Qg3-g2 # 3...Bh8-c3 4.Qg3-g2 # 3...Bh8-d4 4.Qg3-g2 # 3.Ka4-b3 threat: 4.Qg3-g2 # 4.Qg3-e1 # 3...Bh8-c3 4.Qg3-g2 # 3...Bh8-d4 4.Qg3-g2 # 2...Bh8-c3 3.Qg3-g2 # 2...Bh8-d4 3.Qg3-g2 # 2.Sg6-h4 threat: 3.Qg3-e1 # 3.Qg3-g2 # 2...Sc4-b2 + 3.Ka4-b5 threat: 4.Qg3-e1 # 4.Qg3-g2 # 3...Sb2-d3 4.Qg3-g2 # 3...Bh8-c3 4.Qg3-g2 # 3...Bh8-d4 4.Qg3-g2 # 3.Ka4-b3 threat: 4.Qg3-g2 # 4.Qg3-e1 # 3...Sb2-d3 4.Qg3-g2 # 3...Bh8-c3 4.Qg3-g2 # 3...Bh8-d4 4.Qg3-g2 # 2...Sc4-d2 3.Qg3-g2 # 2...Sc4-e3 3.Qg3-e1 + 3...Se3-f1 4.Qe1*f1 # 2...Sc4-b6 + 3.Ka4-b5 threat: 4.Qg3-e1 # 4.Qg3-g2 # 3...Bh8-c3 4.Qg3-g2 # 3...Bh8-d4 4.Qg3-g2 # 3.Ka4-b3 threat: 4.Qg3-g2 # 4.Qg3-e1 # 3...Bh8-c3 4.Qg3-g2 # 3...Bh8-d4 4.Qg3-g2 # 2...Bh8-c3 3.Qg3-g2 # 2...Bh8-d4 3.Qg3-g2 # 1...Se5-d3 2.Sg6-h4 threat: 3.Qg3-g2 # 2...Sd3-b2 + 3.Ka4-b5 threat: 4.Qg3-e1 # 4.Qg3-g2 # 3...Sb2-d3 4.Qg3-g2 # 3...Bh8-c3 4.Qg3-g2 # 3...Bh8-d4 4.Qg3-g2 # 3.Ka4-b3 threat: 4.Qg3-g2 # 4.Qg3-e1 # 3...Sb2-d3 4.Qg3-g2 # 3...Bh8-c3 4.Qg3-g2 # 3...Bh8-d4 4.Qg3-g2 # 2...Sd3-e1 3.Qg3*e1 # 2...Sd3-f4 3.Qg3-e1 # 2...Sd3-c5 + 3.Ka4-b5 threat: 4.Qg3-e1 # 4.Qg3-g2 # 3...Sc5-d3 4.Qg3-g2 # 3...Bh8-c3 4.Qg3-g2 # 3...Bh8-d4 4.Qg3-g2 # 1...Se5-f3 2.Sg6-f4 threat: 3.Qg3-g2 # 2...Sf3-e1 3.Qg3*e1 # 2...Sf3-h4 3.Qg3-e1 # 1...Se5-g4 2.Sg6-f4 threat: 3.Qg3-e1 # 3.Qg3-g2 # 2...Sg4-e3 3.Qg3-e1 + 3...Se3-f1 4.Qe1*f1 # 3.Qg3-f3 + 3...Kh1-g1 4.Sf4-e2 # 4.Sf4-h3 # 3...Se3-g2 4.Qf3*g2 # 4.Qf3-f1 # 2...Sg4-f2 3.Qg3-g2 # 2...Bh8-c3 3.Qg3-g2 # 2...Bh8-d4 3.Qg3-g2 # 2.Sg6-h4 threat: 3.Qg3-e1 # 3.Qg3-g2 # 2...Sg4-e3 3.Qg3-e1 + 3...Se3-f1 4.Qe1*f1 # 2...Sg4-f2 3.Qg3-g2 # 2...Bh8-c3 3.Qg3-g2 # 2...Bh8-d4 3.Qg3-g2 # 1...Se5*g6 2.Qg3-f2 threat: 3.Qf2-f1 # 2...Bh8-d4 3.Qf2-f1 + 3...Bd4-g1 4.Qf1-f3 # 1...Se5-d7 2.Sg6-f4 threat: 3.Qg3-e1 # 3.Qg3-g2 # 2...Sd7-b6 + 3.Ka4-b5 threat: 4.Qg3-e1 # 4.Qg3-g2 # 3...Bh8-c3 4.Qg3-g2 # 3...Bh8-d4 4.Qg3-g2 # 3.Ka4-b3 threat: 4.Qg3-g2 # 4.Qg3-e1 # 3...Bh8-c3 4.Qg3-g2 # 3...Bh8-d4 4.Qg3-g2 # 2...Sd7-c5 + 3.Ka4-b5 threat: 4.Qg3-e1 # 4.Qg3-g2 # 3...Sc5-d3 4.Qg3-g2 # 3...Bh8-c3 4.Qg3-g2 # 3...Bh8-d4 4.Qg3-g2 # 2...Bh8-c3 3.Qg3-g2 # 2...Bh8-d4 3.Qg3-g2 # 2.Sg6-h4 threat: 3.Qg3-e1 # 3.Qg3-g2 # 2...Sd7-b6 + 3.Ka4-b5 threat: 4.Qg3-e1 # 4.Qg3-g2 # 3...Bh8-c3 4.Qg3-g2 # 3...Bh8-d4 4.Qg3-g2 # 3.Ka4-b3 threat: 4.Qg3-g2 # 4.Qg3-e1 # 3...Bh8-c3 4.Qg3-g2 # 3...Bh8-d4 4.Qg3-g2 # 2...Sd7-c5 + 3.Ka4-b5 threat: 4.Qg3-e1 # 4.Qg3-g2 # 3...Sc5-d3 4.Qg3-g2 # 3...Bh8-c3 4.Qg3-g2 # 3...Bh8-d4 4.Qg3-g2 # 2...Bh8-c3 3.Qg3-g2 # 2...Bh8-d4 3.Qg3-g2 # 1...Bh8-f6 2.Sg6-f4 threat: 3.Qg3-e1 # 3.Qg3-g2 # 2...Se5-d3 3.Qg3-g2 # 2...Se5-f3 3.Qg3-g2 # 2...Bf6-h4 3.Qg3-g2 #" --- authors: - Chéron, André source: L'Illustration date: 1936-02-15 algebraic: white: [Kf1, Rh5, Rd7, Bd1, Sg7, Pg4, Pf2] black: [Kh1, Be4, Bb8, Ph2, Pg5, Pf7, Pf3, Pd3, Pc7] stipulation: "#4" solution: | "1.Rd7-d4 ! threat: 2.Rd4*e4 threat: 3.Bd1*f3 # 1...Be4-a8 2.Rd4-d6 threat: 3.Sg7-f5 threat: 4.Sf5-g3 # 3.Rh5*h2 + 3...Kh1*h2 4.Rd6-h6 # 2...c7-c5 3.Rh5*h2 + 3...Kh1*h2 4.Rd6-h6 # 2...c7*d6 3.Sg7-f5 threat: 4.Sf5-g3 # 3...d6-d5 4.Bd1*f3 # 2...f7-f6 3.Sg7-f5 threat: 4.Sf5-g3 # 2...Bb8-a7 3.Rd6-h6 threat: 4.Rh5*h2 # 3.Rh5*h2 + 3...Kh1*h2 4.Rd6-h6 # 1...Be4-b7 2.Rd4-d6 threat: 3.Sg7-f5 threat: 4.Sf5-g3 # 3.Rh5*h2 + 3...Kh1*h2 4.Rd6-h6 # 2...d3-d2 3.Rh5*h2 + 3...Kh1*h2 4.Rd6-h6 # 2...c7-c5 3.Rh5*h2 + 3...Kh1*h2 4.Rd6-h6 # 2...c7*d6 3.Sg7-f5 threat: 4.Sf5-g3 # 3...d6-d5 4.Bd1*f3 # 2...f7-f6 3.Sg7-f5 threat: 4.Sf5-g3 # 2...Bb8-a7 3.Rd6-h6 threat: 4.Rh5*h2 # 3.Rh5*h2 + 3...Kh1*h2 4.Rd6-h6 # 1...Be4-c6 2.Sg7-f5 threat: 3.Sf5-g3 # 1...Be4-d5 2.Rd4*d5 threat: 3.Bd1*f3 # 1...f7-f5 2.Sg7*f5 threat: 3.Sf5-g3 # 2...Be4*f5 3.Bd1*f3 # 2...c7-c5 3.Rd4*e4 threat: 4.Bd1*f3 # 2...c7-c6 3.Rd4*e4 threat: 4.Bd1*f3 #" --- authors: - Chéron, André source: L'Illustration date: 1936-07-04 algebraic: white: [Kg4, Qf3, Sd2, Ph4, Pe3, Pe2] black: [Kg1, Bh1, Be7, Pg2] stipulation: "#4" solution: | "1.e3-e4 ! threat: 2.Qf3-e3 + 2...Kg1-h2 3.Sd2-f3 # 1...Kg1-h2 2.Qf3-f2 threat: 3.Sd2-f1 # 3.Sd2-f3 # 1...Be7-c5 2.Qf3-g3 threat: 3.Kg4-h3 threat: 4.Qg3-e1 # 3...Bc5-f2 4.Qg3-h2 # 3.Qg3-e1 + 3...Kg1-h2 4.Sd2-f3 # 3.Sd2-f3 + 3...Kg1-f1 4.Qg3-e1 # 2...Bc5-b4 3.Qg3-e1 + 3...Kg1-h2 4.Sd2-f3 # 3.Qg3-e3 + 3...Kg1-h2 4.Sd2-f3 # 2...Bc5-f2 3.Qg3-h2 + 3...Kg1*h2 4.Sd2-f3 # 2...Bc5-e3 3.Qg3-e1 + 3...Kg1-h2 4.Sd2-f3 # 3.Qg3*e3 + 3...Kg1-h2 4.Sd2-f3 # 3.Sd2-f3 + 3...Kg1-f1 4.Qg3-e1 # 2...Bc5-e7 3.Qg3-e1 + 3...Kg1-h2 4.Sd2-f3 # 3.Qg3-e3 + 3...Kg1-h2 4.Sd2-f3 # 3.Sd2-f3 + 3...Kg1-f1 4.Qg3-e1 # 2...Bc5-d6 3.Qg3-e1 + 3...Kg1-h2 4.Sd2-f3 # 3.Qg3-e3 + 3...Kg1-h2 4.Sd2-f3 # 3.Sd2-f3 + 3...Kg1-f1 4.Qg3-e1 # 1...Be7*h4 2.Kg4*h4 threat: 3.Qf3-e3 + 3...Kg1-h2 4.Sd2-f3 # 3.Qf3-f8 zugzwang. 3...Kg1-h2 4.Sd2-f3 # 3.Qf3-f7 zugzwang. 3...Kg1-h2 4.Sd2-f3 # 3.Qf3-f6 zugzwang. 3...Kg1-h2 4.Sd2-f3 # 3.Qf3-f5 zugzwang. 3...Kg1-h2 4.Sd2-f3 # 2...Kg1-h2 3.Qf3-e3 threat: 4.Sd2-f3 # 3...g2-g1=Q 4.Qe3-h3 # 3...g2-g1=S 4.Qe3-g3 # 3...g2-g1=R 4.Qe3-h3 # 3...g2-g1=B 4.Qe3-h3 # 4.Qe3-g3 # 1...Be7-g5 2.e2-e3 threat: 3.Qf3-e2 threat: 4.Sd2-f3 # 2...Bg5*e3 3.Qf3*e3 + 3...Kg1-h2 4.Sd2-f3 #" --- authors: - Chéron, André source: Hamburgischer Correspondent date: 1930-09-14 algebraic: white: [Ka5, Rg8, Rd4, Sg6, Ph5, Pd3, Pc3] black: [Kc5, Rg7, Bg5, Ph6, Pc7, Pc6] stipulation: "#4" solution: | "1.Rg8-d8 ! threat: 2.Rd4-c4 # 1...Bg5*d8 2.Sg6-f8 threat: 3.Sf8-e6 # 2...Rg7-g6 3.Sf8-d7 # 2...Rg7-e7 3.Ka5-a6 zugzwang. 3...Re7-d7 4.Sf8-e6 # 4.Sf8*d7 # 3...Re7-e1 4.Sf8-d7 # 3...Re7-e2 4.Sf8-d7 # 3...Re7-e3 4.Sf8-d7 # 3...Re7-e4 4.Sf8-d7 # 3...Re7-e5 4.Sf8-d7 # 3...Re7-e6 4.Sf8-d7 # 4.Sf8*e6 # 3...Re7-e8 4.Sf8-d7 # 3...Re7-h7 4.Sf8-e6 # 3...Re7-g7 4.Sf8-e6 # 3...Re7-f7 4.Sf8-e6 # 1...Rg7-d7 2.Rd8*d7 threat: 3.Rd4-c4 #" --- authors: - Chéron, André source: Le Temps date: 1933-12-24 algebraic: white: [Kf4, Qd7, Bf6, Sd6, Pb3] black: [Ka5, Qa6, Rb5, Ba8, Pe6, Pd5, Pb6, Pb4, Pa7] stipulation: "#5" solution: | "1.Bf6-h8 ! threat: 2.Qd7-g7 threat: 3.Qg7-a1 # 2...d5-d4 3.Sd6-c4 # 2...e6-e5 + 3.Qg7*e5 threat: 4.Qe5-a1 # 3...d5-d4 4.Sd6-c4 # 1...e6-e5 + 2.Bh8*e5 threat: 3.Be5-h8 threat: 4.Qd7-g7 threat: 5.Qg7-a1 # 4...d5-d4 5.Sd6-c4 # 3...Ba8-c6 4.Qd7*c6 zugzwang. 4...Rb5-c5 5.Qc6-a4 # 4...d5-d4 5.Sd6-c4 # 4...Qa6-c8 5.Qc6*b5 # 4...Qa6-b7 5.Qc6*b5 # 1...Ba8-c6 2.Qd7*c6 threat: 3.Bh8-e5 zugzwang. 3...Rb5-c5 4.Qc6-a4 # 3...d5-d4 4.Sd6-c4 # 3...Qa6-c8 4.Qc6*b5 # 3...Qa6-b7 4.Qc6*b5 #" --- authors: - Chéron, André - Pauly, Wolfgang source: Basler Nachrichten date: 1930 algebraic: white: [Kh2, Ra3, Be4, Sg6] black: [Kg4, Pg5, Pe6] stipulation: "#5" solution: | "1.Kh2-g2 ! zugzwang. 1...e6-e5 2.Ra3-a1 zugzwang. 2...Kg4-h5 3.Ra1-h1 + 3...Kh5-g4 4.Kg2-h2 zugzwang. 4...Kg4-h5 5.Kh2-g3 # 1...Kg4-h5 2.Ra3-h3 + 2...Kh5-g4 3.Rh3-h1 zugzwang. 3...e6-e5 4.Kg2-h2 zugzwang. 4...Kg4-h5 5.Kh2-g3 #" --- authors: - Chéron, André source: Feuille d'Avis de Lausanne date: 1933-12-09 algebraic: white: [Ke5, Rb2, Bf1, Sh4] black: [Ke3, Ba4, Pc4] stipulation: "#5" solution: | "1.Rb2-h2 ! threat: 2.Sh4-f5 + 2...Ke3-f3 3.Bf1-e2 # 1...Ba4-d1 2.Bf1*c4 zugzwang. 2...Bd1-f3 3.Sh4-f5 # 2...Bd1-h5 3.Sh4-f5 + 3...Ke3-f3 4.Bc4-e2 # 2...Bd1-g4 3.Rh2-g2 zugzwang. 3...Bg4-d1 4.Sh4-f5 + 4...Ke3-f3 5.Bc4-d5 # 3...Bg4-e2 4.Rg2*e2 # 3...Bg4-f3 4.Sh4-f5 # 3...Bg4-h3 4.Rg2-e2 # 3...Bg4-h5 4.Sh4-f5 + 4...Ke3-f3 5.Bc4-d5 # 3...Bg4-c8 4.Rg2-e2 # 3...Bg4-d7 4.Rg2-e2 # 3...Bg4-e6 4.Rg2-e2 # 3...Bg4-f5 4.Rg2-e2 # 2...Bd1-e2 3.Rh2*e2 # 2...Bd1-a4 3.Rh2-e2 # 2...Bd1-b3 3.Rh2-e2 # 2...Bd1-c2 3.Rh2-e2 # 1...Ba4-c2 2.Rh2*c2 threat: 3.Rc2-h2 threat: 4.Sh4-f5 + 4...Ke3-f3 5.Bf1-e2 # 3.Rc2-g2 zugzwang. 3...c4-c3 4.Bf1-a6 threat: 5.Rg2-e2 # 4.Bf1-b5 threat: 5.Rg2-e2 # 4.Bf1-c4 threat: 5.Rg2-e2 # 2...c4-c3 3.Rc2-h2 threat: 4.Sh4-f5 + 4...Ke3-f3 5.Bf1-e2 # 4.Bf1-a6 threat: 5.Rh2-e2 # 4.Bf1-b5 threat: 5.Rh2-e2 # 4.Bf1-c4 threat: 5.Rh2-e2 # 3...c3-c2 4.Sh4-f5 + 4...Ke3-f3 5.Bf1-e2 # 1...Ba4-d7 2.Bf1*c4 threat: 3.Rh2-e2 # 2...Bd7-g4 3.Rh2-g2 zugzwang. 3...Bg4-d1 4.Sh4-f5 + 4...Ke3-f3 5.Bc4-d5 # 3...Bg4-e2 4.Rg2*e2 # 3...Bg4-f3 4.Sh4-f5 # 3...Bg4-h3 4.Rg2-e2 # 3...Bg4-h5 4.Sh4-f5 + 4...Ke3-f3 5.Bc4-d5 # 3...Bg4-c8 4.Rg2-e2 # 3...Bg4-d7 4.Rg2-e2 # 3...Bg4-e6 4.Rg2-e2 # 3...Bg4-f5 4.Rg2-e2 #" comments: - Dedicated to Harold Lommer --- authors: - Chéron, André source: Journal de Leysin date: 1934 algebraic: white: [Ka3, Ra1, Bd5, Se3, Sb5, Pc2, Pa7, Pa5] black: [Ka8, Re8, Rb7, Bh3, Sf8, Pe2, Pd6, Pc3] stipulation: "#5" solution: | "1.a5-a6 ! threat: 2.a6*b7 # 2.Bd5*b7 # 1...Bh3-g2 2.a6*b7 # 1...Bh3-c8 2.Se3-c4 threat: 3.Sc4-b6 # 2...Sf8-d7 3.Ka3-b4 threat: 4.a6*b7 + 4...Bc8*b7 5.Sb5-c7 # 1...Re8-e7 2.Se3-c4 threat: 3.Sc4-b6 # 2...Sf8-d7 3.a6*b7 # 3.Bd5*b7 # 1...Re8-b8 2.Ra1-b1 threat: 3.a6*b7 + 3...Rb8*b7 4.Sb5-c7 + 4...Ka8*a7 5.Rb1*b7 # 2...Bh3-c8 3.Se3-c4 threat: 4.Sc4-b6 # 3...Sf8-d7 4.Rb1-e1 zugzwang. 4...Sd7-b6 5.Sc4*b6 # 4...Sd7-c5 5.Sc4-b6 # 4...Sd7-e5 5.Sc4-b6 # 4...Sd7-f6 5.Sc4-b6 # 4...Sd7-f8 5.Sc4-b6 #" --- authors: - Chéron, André source: Feuille d'Avis de Lausanne date: 1934 algebraic: white: [Ka6, Bb4, Pb7] black: [Kb8, Bd2, Sg6, Pc7] stipulation: "#5" solution: | "1.Bb4-c5 ! threat: 2.Bc5-a7 # 1...Bd2-e3 2.Bc5*e3 threat: 3.Be3-a7 # 2...c7-c5 3.Ka6-b6 threat: 4.Be3*c5 threat: 5.Bc5-d6 # 3...Sg6-e5 4.Be3-f4 threat: 5.Bf4*e5 # 2...c7-c6 3.Ka6-b6 threat: 4.Be3-c5 threat: 5.Bc5-d6 # 3...Sg6-e5 4.Be3-f4 threat: 5.Bf4*e5 # 1...c7-c6 2.Bc5-d6 #" --- authors: - Chéron, André source: L'Illustration date: 1936-01-04 algebraic: white: [Kg5, Rd4, Bc7, Se3, Pb6] black: [Kc8, Bf3] stipulation: "#5" solution: | "1. Se3-c2! (2. Rd4-d8+ Kc8-b7 3. Sc2-b4 ~ 4.Rd8-b8#) Bf3-a8 2. Sc2-b4? Kc8-b7 3. Rd4-d8 stalemate 2. Rd4-d6! Ba8-c6 3. Rd6-d8+ Kc8-b7 4. Sc2-b4 ~ 5. Rd8-b8# 2. ... Kc8-b7 3. Sc2-b4 Kb7-c8 4. Rd6-d8+ Kc8-b7 5. Rd8-b8# 1. ... Bf3-d5 2. Rd4xd5 Kc8-b7 3. Sc2-b4 Kb7-a(c)8 4. Rd5-d8+ Ka(c)8-b7 5. Rd8-b8# 1. ... Kc8-b7 2. Sc2-b4 (3. Rd4-d8 ~ 4. Rd8-b8#) Bf3-g4 3. Kg5xg4 Kb7-a(c)8 4. Rd4-d8+ Ka(c)8-b7 5. Rd8-b8# 2. ... Bf3-d5 3. Rd4xd5 Kb7-a(c)8 4. Rd5-d8+ Ka(c)8-b7 5. Rd8-b8# 1. ... Bf3-g4 2. Kg5xg4 Kc8-b7 3. Sc2-b4 Kb7-a(c)8 4. Rd4-d8+ Ka8-b7 5. Rd8-b8#" keywords: - Anti-Kling - Kling --- authors: - Chéron, André source: Journal de Genève date: 1936-06-30 algebraic: white: [Kg3, Rb3, Be3, Sa8, Ph4] black: [Kh1, Rb8] stipulation: "#6" solution: | "1.Rb3-c3 ! threat: 2.Rc3-c1 # 1...Rb8-b1 2.Rc3-c2 threat: 3.Rc2-h2 # 2...Rb1-b2 3.Rc2-c1 # 2...Rb1-g1 + 3.Be3*g1 zugzwang. 3...Kh1*g1 4.Rc2-c1 # 1...Rb8-g8 + 2.Be3-g5 threat: 3.Rc3-c1 # 2...Rg8*g5 + 3.h4*g5 threat: 4.Rc3-c1 # 2...Rg8-c8 3.Rc3*c8 threat: 4.Rc8-c1 # 2...Rg8-d8 3.Rc3-c1 + 3...Rd8-d1 4.Rc1*d1 # 3.Bg5*d8 threat: 4.Rc3-c1 # 2...Rg8-e8 3.Rc3-c1 + 3...Re8-e1 4.Rc1*e1 # 2...Rg8-f8 3.Rc3-c1 + 3...Rf8-f1 4.Rc1*f1 # 1...Rb8-f8 2.Rc3-c1 + 2...Rf8-f1 3.Rc1*f1 # 1...Rb8-d8 2.Rc3-c1 + 2...Rd8-d1 3.Rc1*d1 # 1...Rb8-c8 2.Sa8-c7 threat: 3.Rc3-c1 # 2...Rc8*c7 3.Rc3-d3 threat: 4.Rd3-d1 # 3...Rc7-c1 4.Be3*c1 threat: 5.Rd3-d1 # 3...Rc7-g7 + 4.Be3-g5 threat: 5.Rd3-d1 # 4...Rg7*g5 + 5.h4*g5 threat: 6.Rd3-d1 # 4...Rg7-d7 5.Rd3*d7 threat: 6.Rd7-d1 # 4...Rg7-e7 5.Rd3-d1 + 5...Re7-e1 6.Rd1*e1 # 5.Bg5*e7 threat: 6.Rd3-d1 # 4...Rg7-f7 5.Rd3-d1 + 5...Rf7-f1 6.Rd1*f1 # 3...Rc7-f7 4.Rd3-d1 + 4...Rf7-f1 5.Rd1*f1 # 3...Rc7-d7 4.Be3-d4 threat: 5.Rd3-d1 # 4...Rd7*d4 5.Rd3*d4 threat: 6.Rd4-d1 # 4...Rd7-g7 + 5.Bd4*g7 threat: 6.Rd3-d1 # 4...Rd7-f7 5.Rd3-d1 + 5...Rf7-f1 6.Rd1*f1 # 4...Rd7-e7 5.Rd3-d1 + 5...Re7-e1 6.Rd1*e1 # 2...Rc8-g8 + 3.Be3-g5 threat: 4.Rc3-c1 # 3...Rg8*g5 + 4.h4*g5 threat: 5.Rc3-c1 # 3...Rg8-d8 4.Rc3-c1 + 4...Rd8-d1 5.Rc1*d1 # 4.Bg5*d8 threat: 5.Rc3-c1 # 3...Rg8-e8 4.Rc3-c1 + 4...Re8-e1 5.Rc1*e1 # 4.Sc7*e8 threat: 5.Rc3-c1 # 3...Rg8-f8 4.Rc3-c1 + 4...Rf8-f1 5.Rc1*f1 # 2...Rc8-f8 3.Rc3-c1 + 3...Rf8-f1 4.Rc1*f1 # 2...Rc8-d8 3.Rc3-c1 + 3...Rd8-d1 4.Rc1*d1 #" --- authors: - Chéron, André source: Le Temps date: 1933-06-14 algebraic: white: [Kg1, Rb3, Bh3, Sd7, Sa2, Pg5, Pf3, Pe6, Pe2, Pc2] black: [Ka4, Rd6, Rc7, Ph5, Pg6, Pf5, Pe7, Pe3, Pc3, Pa5] stipulation: "#7" solution: --- authors: - Chéron, André source: Journal de Genève date: 1964 algebraic: white: [Ka6, Bh6, Sa8, Ph7, Pg7, Pf7, Pe7, Pd7, Pc7, Pb7, Pa7] black: [Kc6, Rg6, Rb3, Bf5, Ba5, Se5, Sd5, Ph5, Pc5] stipulation: "#8" solution: | "1. b8S+ R:b8 2. a:b8S+ Kd6 3. c8S+ Ke6 4. d8S+ B:d8 5. e:d8S+ Kf6 6. g8S+ R:g8 7. h:g8S+ Kg6 8. f8S# " comments: - Version William Anthony Shinkman, Deutsche Schachzeitung, Jan 1908 - Check also 286989, 274729 --- authors: - Chéron, André source: Bulletin de la Fédération Française des Échecs date: 1925 algebraic: white: [Ke5, Pe3, Pc3, Pb2, Pa3] black: [Kb5, Pe4, Pc4, Pb7, Pb6, Pb3] stipulation: + solution: --- authors: - Chéron, André source: Lehr-und Handbuch der Endspile date: 1952 algebraic: white: [Kc6, Qd4] black: [Kb8, Rb7] stipulation: "#9" solution: --- authors: - Chéron, André source: Hamburgischer Correspondent date: 1932-12-18 algebraic: white: [Kd6, Qa6, Pe7, Pb4] black: [Ke8, Bc2] stipulation: "#3" solution: | "1. Qa6-c4! Bc2-b3 2. Qc4-f1 Bb3-f7 3. Qf1-b5# 1. ... Bc2-h7 2. Qc4-a2(b3,d5,e6) or b5 ~ 3. Qa2(b3,d5,e6,c4)-g8#" keywords: - Cooked comments: - correction 47487 --- authors: - Chéron, André source: L'Illustration date: 1936 algebraic: white: [Kh8, Qg3, Bd8] black: [Kh1, Ba8, Sd5, Ph2] stipulation: "#4" solution: | "1.Bd8-c7 ! threat: 2.Qg3*h2 # 1...Sd5-f4 2.Bc7*f4 threat: 3.Qg3*h2 # 1...Sd5*c7 2.Qg3-f2 threat: 3.Qf2-f1 # 2...Ba8-g2 3.Qf2-e1 + 3...Bg2-f1 4.Qe1*f1 #" --- authors: - Chéron, André source: Journal de Genève date: 1936-06-30 algebraic: white: [Kg3, Rd3, Sf3, Sa8, Ph4] black: [Kh1, Rd8] stipulation: "#6" solution: | "1.Rd3-b3 ! threat: 2.Rb3-b1 + 2...Rd8-d1 3.Rb1*d1 # 1...Rd8-d1 2.Rb3-b2 threat: 3.Rb2-h2 # 2...Rd1-d2 3.Sf3*d2 threat: 4.Rb2-b1 # 3.Rb2-b1 + 3...Rd2-d1 4.Rb1*d1 # 2...Rd1-g1 + 3.Sf3*g1 zugzwang. 3...Kh1*g1 4.Rb2-b1 # 1...Rd8-b8 2.Sa8-b6 threat: 3.Rb3-b1 # 2...Rb8*b6 3.Rb3-e3 threat: 4.Re3-e1 # 3...Rb6-b1 4.Re3-e2 threat: 5.Re2-h2 # 4...Rb1-b2 5.Re2-e1 # 4...Rb1-g1 + 5.Sf3*g1 zugzwang. 5...Kh1*g1 6.Re2-e1 # 3...Rb6-g6 + 4.Sf3-g5 threat: 5.Re3-e1 # 4...Rg6*g5 + 5.h4*g5 threat: 6.Re3-e1 # 4...Rg6-e6 5.Sg5*e6 threat: 6.Re3-e1 # 5.Re3*e6 threat: 6.Re6-e1 # 4...Rg6-f6 5.Re3-e1 + 5...Rf6-f1 6.Re1*f1 # 3...Rb6-e6 4.Sf3-e5 threat: 5.Re3-e1 # 4...Re6*e5 5.Re3*e5 threat: 6.Re5-e1 # 4...Re6-g6 + 5.Se5*g6 threat: 6.Re3-e1 # 4...Re6-f6 5.Re3-e1 + 5...Rf6-f1 6.Re1*f1 # 2...Rb8-g8 + 3.Sf3-g5 threat: 4.Rb3-b1 # 3...Rg8*g5 + 4.h4*g5 threat: 5.Rb3-b1 # 3...Rg8-c8 4.Rb3-b1 + 4...Rc8-c1 5.Rb1*c1 # 4.Sb6*c8 threat: 5.Rb3-b1 # 3...Rg8-d8 4.Rb3-b1 + 4...Rd8-d1 5.Rb1*d1 # 3...Rg8-e8 4.Rb3-b1 + 4...Re8-e1 5.Rb1*e1 # 3...Rg8-f8 4.Rb3-b1 + 4...Rf8-f1 5.Rb1*f1 # 2...Rb8-e8 3.Rb3-b1 + 3...Re8-e1 4.Rb1*e1 # 2...Rb8-d8 3.Rb3-b1 + 3...Rd8-d1 4.Rb1*d1 # 2...Rb8-c8 3.Rb3-b1 + 3...Rc8-c1 4.Rb1*c1 # 1...Rd8-g8 + 2.Sf3-g5 threat: 3.Rb3-b1 # 2...Rg8*g5 + 3.h4*g5 threat: 4.Rb3-b1 # 2...Rg8-b8 3.Rb3*b8 threat: 4.Rb8-b1 # 2...Rg8-c8 3.Rb3-b1 + 3...Rc8-c1 4.Rb1*c1 # 2...Rg8-d8 3.Rb3-b1 + 3...Rd8-d1 4.Rb1*d1 # 2...Rg8-e8 3.Rb3-b1 + 3...Re8-e1 4.Rb1*e1 # 2...Rg8-f8 3.Rb3-b1 + 3...Rf8-f1 4.Rb1*f1 #" --- authors: - Chéron, André source: Journal de Genève date: 1936 algebraic: white: [Kg3, Rb3, Sf3, Ph4] black: [Kh1, Rb6] stipulation: "#4" solution: | "1.Rb3-e3 ! threat: 2.Re3-e1 # 1...Rb6-b1 2.Re3-e2 threat: 3.Re2-h2 # 2...Rb1-b2 3.Re2-e1 # 2...Rb1-g1 + 3.Sf3*g1 zugzwang. 3...Kh1*g1 4.Re2-e1 # 1...Rb6-g6 + 2.Sf3-g5 threat: 3.Re3-e1 # 2...Rg6*g5 + 3.h4*g5 threat: 4.Re3-e1 # 2...Rg6-e6 3.Sg5*e6 threat: 4.Re3-e1 # 3.Re3*e6 threat: 4.Re6-e1 # 2...Rg6-f6 3.Re3-e1 + 3...Rf6-f1 4.Re1*f1 # 1...Rb6-e6 2.Sf3-e5 threat: 3.Re3-e1 # 2...Re6*e5 3.Re3*e5 threat: 4.Re5-e1 # 2...Re6-g6 + 3.Se5*g6 threat: 4.Re3-e1 # 2...Re6-f6 3.Re3-e1 + 3...Rf6-f1 4.Re1*f1 #" --- authors: - Chéron, André source: Le Temps date: 1936 algebraic: white: [Kf2, Rf3, Bb2, Sb4] black: [Ke4, Pb7, Pb5] stipulation: "#4" solution: | "1.Bb2-g7 ! zugzwang. 1...b7-b6 2.Rf3-f6 zugzwang. 2...Ke4-e5 3.Kf2-f3 zugzwang. 3...Ke5-d4 4.Rf6-c6 # 2...Ke4-d4 3.Rf6-f4 + 3...Kd4-c5 4.Bg7-f8 #" --- authors: - Chéron, André source: Le Temps date: 1936 algebraic: white: [Kd5, Rg2, Be7, Sc2] black: [Kd3, Bh6, Pg3] stipulation: "#4" solution: | "1.Be7-b4 ! threat: 2.Sc2-e1 + 2...Kd3-e3 3.Bb4-d2 # 1...Bh6-c1 2.Bb4-a5 zugzwang. 2...Bc1-e3 3.Sc2-e1 # 2...Bc1-h6 3.Sc2-e1 + 3...Kd3-e3 4.Ba5-d2 # 2...Bc1-g5 3.Sc2-e1 + 3...Kd3-e3 4.Ba5-d2 # 2...Bc1-f4 3.Sc2-e1 + 3...Kd3-e3 4.Ba5-d2 # 4.Ba5-b6 # 2...Bc1-d2 3.Rg2*d2 # 2...Bc1-a3 3.Rg2-d2 # 2...Bc1-b2 3.Rg2-d2 #" --- authors: - Lamérat, Léonce - Chéron, André source: Gazette de Lausanne date: 1932 distinction: 1st Prize algebraic: white: [Ke5, Qd7, Sh1, Pe3] black: [Kg1, Ba8, Ph2] stipulation: "#4" solution: | "1.Qd7-d2 ! threat: 2.Qd2-f2 + 2...Kg1*h1 3.Qf2-f1 # 1...Kg1*h1 2.Qd2-f2 threat: 3.Qf2-f1 # 2...Ba8-g2 3.Qf2-e1 + 3...Bg2-f1 4.Qe1*f1 # 1...Ba8*h1 2.Qd2-e1 + 2...Kg1-g2 3.Ke5-f4 zugzwang. 3...Kg2-h3 4.Qe1-g3 # 1...Ba8-g2 2.Qd2-f2 + 2...Kg1*h1 3.Qf2-e1 + 3...Bg2-f1 4.Qe1*f1 # 2.Ke5-f4 zugzwang. 2...Bg2-h3 3.Kf4-g3 zugzwang. 3...Kg1*h1 4.Qd2*h2 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Bh3-f1 4.Qd2*h2 # 3...Bh3-g2 4.Qd2*g2 # 3...Bh3-c8 4.Qd2-g2 # 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh3-d7 4.Qd2-d1 # 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-g2 # 3...Bh3-e6 4.Qd2-g2 # 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh3-f5 4.Qd2-d1 # 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-g2 # 3...Bh3-g4 4.Qd2-g2 # 4.Qd2-e1 # 2...Kg1*h1 3.Kf4-g3 threat: 4.Qd2*g2 # 3...Bg2-f1 4.Qd2*h2 # 3...Bg2-h3 4.Qd2*h2 # 3...Bg2-a8 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2*h2 # 3...Bg2-b7 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2*h2 # 3...Bg2-c6 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2*h2 # 3...Bg2-d5 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2*h2 # 3...Bg2-e4 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2*h2 # 3...Bg2-f3 4.Qd2-e1 # 4.Qd2*h2 # 3.Qd2-c1 + 3...Bg2-f1 4.Qc1*f1 # 3.Qd2-e1 + 3...Bg2-f1 4.Qe1*f1 # 3.Qd2-d1 + 3...Bg2-f1 4.Qd1*f1 # 2...Kg1-f1 3.Qd2-d1 # 3.Qd2-f2 # 2...Bg2-f1 3.Qd2-f2 + 3...Kg1*h1 4.Qf2*f1 # 2...Bg2*h1 3.Kf4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2-f2 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Bh1-a8 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh1-b7 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh1-c6 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh1-d5 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh1-e4 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh1-f3 4.Qd2-e1 # 3...Bh1-g2 4.Qd2*g2 # 2...Bg2-a8 3.Kf4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Ba8-g2 4.Qd2*g2 # 3...Ba8-f3 4.Qd2-e1 # 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 2...Bg2-b7 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 3.Kf4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Bb7-a6 4.Qd2-g2 # 3...Bb7-g2 4.Qd2*g2 # 3...Bb7-f3 4.Qd2-e1 # 2...Bg2-c6 3.Kf4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Bc6-a4 4.Qd2-e1 # 4.Qd2-g2 # 3...Bc6-b5 4.Qd2-g2 # 3...Bc6-g2 4.Qd2*g2 # 3...Bc6-f3 4.Qd2-e1 # 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 2...Bg2-d5 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 3.Kf4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Bd5-b3 4.Qd2-e1 # 4.Qd2-g2 # 3...Bd5-c4 4.Qd2-g2 # 3...Bd5-g2 4.Qd2*g2 # 3...Bd5-f3 4.Qd2-e1 # 2...Bg2-e4 3.Kf4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Be4-c2 4.Qd2-e1 # 4.Qd2-g2 # 3...Be4-d3 4.Qd2-g2 # 3...Be4-g2 4.Qd2*g2 # 3...Be4-f3 4.Qd2-e1 # 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 2...Bg2-f3 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 3.Kf4*f3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2-g2 # 3...Kg1-f1 4.Qd2-c1 # 4.Qd2-d1 # 4.Qd2-f2 # 2.Qd2-e1 + 2...Bg2-f1 3.Qe1-f2 + 3...Kg1*h1 4.Qf2*f1 #" --- authors: - Chéron, André source: Le Temps date: 1930 algebraic: white: [Kb7, Bf5, Se3, Sd3, Pe2, Pd2] black: [Kd4] stipulation: "#4" solution: | "1.Bf5-c8 ! zugzwang. 1...Kd4-e4 2.Kb7-c6 zugzwang. 2...Ke4-d4 3.Bc8-b7 zugzwang. 3...Kd4-e4 4.Kc6-c5 #" --- authors: - Chéron, André source: algebraic: white: [Kh6, Rb7, Sc6, Ph7] black: [Kh8, Bg8, Be8] stipulation: "#4" solution: | "1.Rb7-g7 ! threat: 2.h7*g8=Q # 2.h7*g8=R # 2.Rg7*g8 # 1...Be8-f7 2.Sc6-e5 zugzwang. 2...Bf7-a2 3.Se5-g6 # 2...Bf7-b3 3.Se5-g6 # 2...Bf7-c4 3.Se5-g6 # 2...Bf7-d5 3.Se5-g6 # 2...Bf7-e6 3.Se5-g6 # 2...Bf7-h5 3.h7*g8=Q # 3.h7*g8=R # 3.Rg7*g8 # 2...Bf7-g6 3.Rg7*g8 # 3.h7*g8=Q # 3.h7*g8=R # 3.Se5*g6 # 2...Bf7-e8 3.h7*g8=Q # 3.h7*g8=R # 3.Rg7*g8 # 2...Bg8*h7 3.Se5*f7 # 2.Sc6-e7 zugzwang. 2...Bf7-a2 3.Se7-g6 # 2...Bf7-b3 3.Se7-g6 # 2...Bf7-c4 3.Se7-g6 # 2...Bf7-d5 3.Se7-g6 # 2...Bf7-e6 3.Se7-g6 # 2...Bf7-h5 3.h7*g8=Q # 3.h7*g8=R # 3.Rg7*g8 # 2...Bf7-g6 3.Rg7*g8 # 3.h7*g8=Q # 3.h7*g8=R # 3.Se7*g6 # 2...Bf7-e8 3.h7*g8=Q # 3.h7*g8=R # 3.Rg7*g8 # 2...Bg8*h7 3.Rg7*h7 # 1...Bg8-a2 2.Sc6-e7 threat: 3.Rg7-g8 + 3...Ba2*g8 4.h7*g8=Q # 4.h7*g8=R # 1...Bg8-b3 2.Sc6-e7 threat: 3.Rg7-g8 + 3...Bb3*g8 4.h7*g8=Q # 4.h7*g8=R # 1...Bg8-c4 2.Sc6-e7 threat: 3.Rg7-g8 + 3...Bc4*g8 4.h7*g8=Q # 4.h7*g8=R # 1...Bg8-d5 2.Sc6-e7 threat: 3.Rg7-g8 + 3...Bd5*g8 4.h7*g8=Q # 4.h7*g8=R # 1...Bg8-e6 2.Sc6-e7 threat: 3.Rg7-g8 + 3...Be6*g8 4.h7*g8=Q # 4.h7*g8=R # 1...Bg8-f7 2.Sc6-e7 threat: 3.Rg7-g8 + 3...Bf7*g8 4.h7*g8=Q # 4.h7*g8=R # 3.Se7-g6 + 3...Bf7*g6 4.Rg7-g8 # 2...Bf7-a2 3.Rg7-g8 + 3...Ba2*g8 4.h7*g8=Q # 4.h7*g8=R # 2...Bf7-b3 3.Rg7-g8 + 3...Bb3*g8 4.h7*g8=Q # 4.h7*g8=R # 2...Bf7-c4 3.Rg7-g8 + 3...Bc4*g8 4.h7*g8=Q # 4.h7*g8=R # 2...Bf7-d5 3.Rg7-g8 + 3...Bd5*g8 4.h7*g8=Q # 4.h7*g8=R # 2...Bf7-e6 3.Rg7-g8 + 3...Be6*g8 4.h7*g8=Q # 4.h7*g8=R # 1...Bg8*h7 2.Sc6-e7 threat: 3.Rg7*h7 # 2...Bh7-b1 3.Rg7-g8 # 2...Bh7-c2 3.Rg7-g8 # 2...Bh7-d3 3.Rg7-g8 # 2...Bh7-e4 3.Rg7-g8 # 2...Bh7-f5 3.Rg7-g8 # 2...Bh7-g6 3.Rg7-g8 # 2...Bh7-g8 3.Rg7*g8 # 2...Be8-g6 3.Rg7-g8 + 3...Bh7*g8 4.Se7*g6 #" --- authors: - Chéron, André source: Le Temps date: 1930-07-20 algebraic: white: [Kf1, Rh4, Bg3, Ph2] black: [Kh1, Pf5, Pe6] stipulation: "#3" solution: | "1.Bg3-e5 ! threat: 2.Rh4-f4 zugzwang. 2...Kh1*h2 3.Rf4-h4 #" --- authors: - Chéron, André source: Le Temps date: 1930 algebraic: white: [Ke6, Qe1, Rh4, Rb4] black: [Ke8, Bh2, Bb2] stipulation: "#3" solution: | "1.Qe1-e5 ! threat: 2.Rh4-h8 # 2.Rb4-b8 # 1...Bb2*e5 2.Rb4-b8 + 2...Be5*b8 3.Rh4-h8 # 1...Bh2*e5 2.Rh4-h8 + 2...Be5*h8 3.Rb4-b8 #" --- authors: - Chéron, André source: Journal de Genève date: 1934 algebraic: white: [Ka3, Rc1, Be1, Sc8, Pd3] black: [Kb5] stipulation: "#3" solution: | "1.Rc1-c4 ! zugzwang. 1...Kb5-a6 2.Rc4-b4 threat: 3.Rb4-b6 #" --- authors: - Chéron, André source: Feuille d'Avis de Lausanne date: 1933 algebraic: white: [Kc1, Bg8, Bc3, Sh4, Sf8, Pe3] black: [Ka1, Rb7, Bd7, Sb2, Pe4, Pc2, Pa2] stipulation: "#5" solution: | "1.Sh4-g2 ! threat: 2.Sg2-e1 threat: 3.Se1*c2 # 2...Bd7-a4 3.Bg8-b3 threat: 4.Bc3*b2 # 4.Se1*c2 # 3...Ba4*b3 4.Bc3*b2 # 3...Rb7*b3 4.Se1*c2 # 1...Bd7-g4 2.Sf8-d7 threat: 3.Sd7-c5 threat: 4.Bg8-b3 threat: 5.Bc3*b2 # 4...Rb7*b3 5.Sc5*b3 # 4.Sc5*b7 threat: 5.Bc3*b2 # 3...Bg4-e6 4.Sc5*b7 threat: 5.Bc3*b2 # 4.Sg2-e1 threat: 5.Se1*c2 # 4...Be6-b3 5.Bc3*b2 # 3...Rb7-b4 4.Bg8-b3 threat: 5.Bc3*b2 # 4...Rb4*b3 5.Sc5*b3 # 3...Rb7-b5 4.Bg8-b3 threat: 5.Bc3*b2 # 4...Rb5*b3 5.Sc5*b3 # 3...Rb7-b6 4.Bg8-b3 threat: 5.Bc3*b2 # 4...Rb6*b3 5.Sc5*b3 # 3...Rb7-b8 4.Bg8-b3 threat: 5.Bc3*b2 # 4...Rb8*b3 5.Sc5*b3 # 2...Bg4*d7 3.Sg2-e1 threat: 4.Se1*c2 # 3...Bd7-a4 4.Bg8-b3 threat: 5.Bc3*b2 # 5.Se1*c2 # 4...Ba4*b3 5.Bc3*b2 # 4...Rb7*b3 5.Se1*c2 #" --- authors: - Chéron, André source: Le Temps date: 1936 algebraic: white: [Kg2, Qc5, Bf3, Pf6] black: [Kh4, Bf7, Sg3] stipulation: "#3" solution: | "1.Qc5-e5 ! threat: 2.Qe5*g3 # 2.Qe5-f4 # 1...Sg3-e2 2.Qe5-f5 threat: 3.Qf5-g4 # 2...Se2-f4 + 3.Qf5*f4 # 2...Bf7-e6 3.Qf5-h5 # 2...Bf7-h5 3.Qf5*h5 # 1...Sg3-f1 2.Qe5-f4 # 1...Sg3-h1 2.Qe5-f4 # 1...Sg3-h5 2.Qe5-f5 threat: 3.Qf5-g4 # 2...Sh5-f4 + 3.Qf5*f4 # 2...Sh5*f6 3.Qf5*f6 # 2...Bf7-e6 3.Qf5*h5 # 1...Sg3-f5 2.Qe5-f4 # 1...Sg3-e4 2.Qe5-f4 # 1...Bf7-e6 2.Qe5*g3 # 1...Bf7-h5 2.Qe5*g3 #" --- authors: - Chéron, André source: L'Illustration date: 1936 algebraic: white: [Ka7, Qh5, Bf5, Se4, Pd3] black: [Kd5, Pe5] stipulation: "#3" solution: | "1.Bf5-c8 ! zugzwang. 1...Kd5-c6 2.Qh5-e8 + 2...Kc6-c7 3.Qe8-d7 # 2...Kc6-d5 3.Qe8-d7 # 1...Kd5-d4 2.Qh5-h3 zugzwang. 2...Kd4-d5 3.Qh3-d7 #" --- authors: - Chéron, André source: Morgenzeitung date: 1930-08-17 algebraic: white: [Kd5, Rg8, Bh4, Sh5, Sf8, Pg6, Pf3] black: [Kf5, Ba1, Pf4] stipulation: "#3" solution: | "1.Rg8-h8 ! threat: 2.Sh5-g7 + 2...Ba1*g7 3.Rh8-h5 # 1...Ba1*h8 2.g6-g7 zugzwang. 2...Bh8*g7 3.Sh5*g7 #" --- authors: - Chéron, André source: Die Schwalbe date: 1930 distinction: 2nd Prize algebraic: white: [Kc2, Bc6, Se7, Pd4, Pc3, Pb4] black: [Kc4, Bh2, Sb6, Pd5, Pb5] stipulation: "#4" solution: | "1.Bc6-b7 ! threat: 2.Se7-c6 threat: 3.Sc6-a5 # 1...Bh2-c7 2.Bb7-a8 zugzwang. 2...Sb6-d7 3.Ba8*d5 # 2...Sb6-a4 3.Ba8*d5 # 2...Sb6-c8 3.Ba8*d5 # 2...Sb6*a8 3.Se7-c6 zugzwang. 3...Bc7-a5 4.Sc6*a5 # 4.Sc6-e5 # 3...Bc7-b6 4.Sc6-e5 # 3...Bc7-h2 4.Sc6-a5 # 3...Bc7-g3 4.Sc6-a5 # 3...Bc7-f4 4.Sc6-a5 # 3...Bc7-e5 4.Sc6-a5 # 4.Sc6*e5 # 3...Bc7-d6 4.Sc6-a5 # 3...Bc7-d8 4.Sc6-e5 # 3...Bc7-b8 4.Sc6-a5 # 3...Sa8-b6 4.Sc6-a5 # 2...Bc7-h2 3.Se7-c6 threat: 4.Sc6-a5 # 2...Bc7-g3 3.Se7-c6 threat: 4.Sc6-a5 # 2...Bc7-f4 3.Se7-c6 threat: 4.Sc6-a5 # 2...Bc7-e5 3.Se7-c6 threat: 4.Sc6-a5 # 4.Sc6*e5 # 3...Be5*d4 4.Sc6-a5 # 3...Be5-h2 4.Sc6-a5 # 3...Be5-g3 4.Sc6-a5 # 3...Be5-f4 4.Sc6-a5 # 3...Be5-h8 4.Sc6-a5 # 3...Be5-g7 4.Sc6-a5 # 3...Be5-f6 4.Sc6-a5 # 3...Be5-b8 4.Sc6-a5 # 3...Be5-c7 4.Sc6-a5 # 3...Be5-d6 4.Sc6-a5 # 3...Sb6-d7 4.Sc6-a5 # 2...Bc7-d6 3.Se7-c6 threat: 4.Sc6-a5 # 3...Bd6*b4 4.Sc6-e5 # 2...Bc7-d8 3.Se7-f5 threat: 4.Sf5-e3 # 4.Sf5-d6 # 3...Sb6-c8 4.Sf5-e3 # 3...Bd8-c7 4.Sf5-e3 # 3...Bd8-g5 4.Sf5-d6 # 3...Bd8-e7 4.Sf5-e3 # 2...Bc7-b8 3.Se7-c6 threat: 4.Sc6-a5 #" --- authors: - Chéron, André source: Feuille d'Avis de Lausanne date: 1933 algebraic: white: [Kh6, Sd8, Sa6, Pg7, Pf2, Pe3] black: [Kg8, Bf3, Sd2, Pc6] stipulation: "#5" solution: | "1.Sa6-b8 ! threat: 2.e3-e4 threat: 3.Sb8*c6 threat: 4.Sc6-e7 # 2...Bf3*e4 3.Sb8-d7 threat: 4.Sd7-f6 # 1...Bf3-d5 2.f2-f3 threat: 3.Sb8-d7 threat: 4.Sd7-f6 # 3...Sd2-e4 4.f3*e4 threat: 5.Sd7-f6 # 2...Sd2-e4 3.f3*e4 threat: 4.Sb8-d7 threat: 5.Sd7-f6 # 3...Bd5-e6 4.Sb8*c6 threat: 5.Sc6-e7 # 2...Bd5*f3 3.e3-e4 threat: 4.Sb8*c6 threat: 5.Sc6-e7 # 3...Bf3*e4 4.Sb8-d7 threat: 5.Sd7-f6 #" --- authors: - Chéron, André source: Le Journal de Leysin date: 1933 algebraic: white: [Kb2, Rb4, Bh2, Se3, Sd8, Pc3] black: [Ka5, Rc5, Ra7, Pf3, Pa6] stipulation: "#5" solution: | "1.Bh2-d6 ! threat: 2.Bd6*c5 threat: 3.Sd8-c6 # 3.Bc5-b6 # 3.Se3-c4 # 2...Ra7-c7 3.Bc5-b6 # 3.Se3-c4 # 2...Ra7-b7 3.Sd8*b7 # 3.Sd8-c6 # 3.Se3-c4 # 1...Rc5*c3 2.Kb2*c3 threat: 3.Sd8-c6 # 3.Se3-c4 # 2...Ra7-c7 + 3.Bd6*c7 # 1...Rc5-c8 2.Bd6-b8 threat: 3.Bb8*a7 threat: 4.Sd8-b7 # 4.Ba7-b6 # 3...Rc8*c3 4.Kb2*c3 threat: 5.Sd8-b7 # 5.Sd8-c6 # 5.Ba7-b6 # 5.Se3-c4 # 3...Rc8-c6 4.Sd8-b7 # 4.Sd8*c6 # 3...Rc8-c7 4.Ba7-b6 # 3...Rc8-b8 4.Sd8-c6 # 4.Se3-c4 # 3...Rc8*d8 4.Se3-c4 # 4.Ba7-b6 # 2...Ra7-h7 3.Bb8-c7 + 3...Rh7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 2...Ra7-g7 3.Bb8-c7 + 3...Rg7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 2...Ra7-f7 3.Bb8-c7 + 3...Rf7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 2...Ra7-e7 3.Bb8-c7 + 3...Re7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 2...Ra7-d7 3.Bb8-c7 + 3...Rd7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 1...Rc5-c7 2.Bd6*c7 + 2...Ra7*c7 3.Sd8-b7 + 3...Rc7*b7 4.Se3-c4 # 3.Se3-c4 + 3...Rc7*c4 4.Sd8-b7 # 1...Ra7-h7 2.Bd6*c5 threat: 3.Sd8-c6 # 3.Bc5-b6 # 3.Se3-c4 # 2...Rh7-h2 + 3.Se3-c2 threat: 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3...Rh2*c2 + 4.Kb2*c2 threat: 5.Sd8-b7 # 5.Sd8-c6 # 5.Bc5-b6 # 3...Rh2-h7 4.Sd8-c6 # 4.Bc5-b6 # 3...Rh2-h6 4.Sd8-b7 # 3.Kb2-b3 threat: 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rh2-b2 + 4.Kb3*b2 threat: 5.Sd8-b7 # 5.Sd8-c6 # 5.Bc5-b6 # 5.Se3-c4 # 3...Rh2-h7 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rh2-h6 4.Sd8-b7 # 4.Se3-c4 # 3...Rh2-h4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3.Kb2-a3 threat: 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rh2-a2 + 4.Ka3*a2 threat: 5.Sd8-b7 # 5.Sd8-c6 # 5.Bc5-b6 # 5.Se3-c4 # 3...Rh2-h7 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rh2-h6 4.Sd8-b7 # 4.Se3-c4 # 3...Rh2-h4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 2...Rh7-h4 3.Sd8-b7 # 3.Sd8-c6 # 3.Bc5-b6 # 2...Rh7-h6 3.Sd8-b7 # 3.Se3-c4 # 2...Rh7-b7 3.Sd8*b7 # 3.Sd8-c6 # 3.Se3-c4 # 2...Rh7-c7 3.Bc5-b6 # 3.Se3-c4 # 2.Kb2-c2 zugzwang. 2...Rh7-h2 + 3.Bd6*h2 threat: 4.Sd8-b7 # 3...Rc5*c3 + 4.Kc2*c3 threat: 5.Sd8-b7 # 5.Sd8-c6 # 5.Se3-c4 # 5.Bh2-c7 # 3...Rc5-b5 4.Se3-c4 # 3...Rc5-c7 4.Bh2*c7 # 2...f3-f2 3.Bd6*c5 threat: 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...f2-f1=Q 4.Sd8-c6 # 4.Bc5-b6 # 3...f2-f1=B 4.Sd8-c6 # 4.Bc5-b6 # 3...Rh7-h4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3...Rh7-h6 4.Sd8-b7 # 4.Se3-c4 # 3...Rh7-b7 4.Sd8*b7 # 4.Sd8-c6 # 4.Se3-c4 # 3...Rh7-c7 4.Bc5-b6 # 4.Se3-c4 # 2...Rc5*c3 + 3.Kc2*c3 threat: 4.Sd8-c6 # 4.Se3-c4 # 3...Rh7-h4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bd6-c7 # 3...Rh7-c7 + 4.Bd6*c7 # 2...Rc5-c4 3.Se3*c4 # 2...Rc5-b5 3.Se3-c4 # 2...Rc5-c8 3.Bd6-c7 + 3...Rh7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 2...Rc5-c7 3.Sd8-b7 + 3...Rc7*b7 4.Se3-c4 # 2...Rc5-c6 3.Sd8*c6 # 2...Rc5-h5 3.Sd8-c6 # 3.Se3-c4 # 2...Rc5-g5 3.Se3-c4 # 3.Sd8-c6 # 2...Rc5-f5 3.Sd8-c6 # 3.Se3-c4 # 2...Rc5-e5 3.Se3-c4 # 3.Sd8-c6 # 2...Rc5-d5 3.Sd8-c6 # 3.Se3-c4 # 2...Rh7-h1 3.Sd8-b7 # 2...Rh7-h3 3.Sd8-b7 # 2...Rh7-h4 3.Sd8-b7 # 2...Rh7-h5 3.Sd8-b7 # 2...Rh7-h6 3.Sd8-b7 # 2...Rh7-a7 3.Bd6*c5 threat: 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Ra7-c7 4.Bc5-b6 # 4.Se3-c4 # 3...Ra7-b7 4.Sd8*b7 # 4.Sd8-c6 # 4.Se3-c4 # 2...Rh7-b7 3.Sd8*b7 # 2...Rh7-c7 3.Bd6*c5 threat: 4.Bc5-b6 # 4.Se3-c4 # 3...Rc7*c5 4.Sd8-b7 # 3...Rc7-c6 4.Sd8-b7 # 4.Sd8*c6 # 4.Se3-c4 # 3...Rc7-b7 4.Sd8*b7 # 4.Sd8-c6 # 4.Se3-c4 # 2...Rh7-d7 3.Bd6*c5 threat: 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rd7-d2 + 4.Kc2*d2 threat: 5.Sd8-b7 # 5.Sd8-c6 # 5.Bc5-b6 # 5.Se3-c4 # 3...Rd7-d4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3...Rd7-d6 4.Sd8-b7 # 4.Se3-c4 # 3...Rd7-b7 4.Sd8*b7 # 4.Sd8-c6 # 4.Se3-c4 # 3...Rd7-c7 4.Bc5-b6 # 4.Se3-c4 # 3...Rd7*d8 4.Se3-c4 # 4.Bc5-b6 # 2...Rh7-e7 3.Bd6*c5 threat: 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Re7*e3 4.Sd8-c6 # 4.Sd8-b7 # 4.Bc5-b6 # 3...Re7-e4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3...Re7-e6 4.Sd8-b7 # 4.Se3-c4 # 3...Re7-b7 4.Sd8*b7 # 4.Sd8-c6 # 4.Se3-c4 # 3...Re7-c7 4.Bc5-b6 # 4.Se3-c4 # 2...Rh7-f7 3.Bd6*c5 threat: 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rf7-f4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3...Rf7-f6 4.Sd8-b7 # 4.Se3-c4 # 3...Rf7-b7 4.Sd8*b7 # 4.Sd8-c6 # 4.Se3-c4 # 3...Rf7-c7 4.Bc5-b6 # 4.Se3-c4 # 2...Rh7-g7 3.Bd6*c5 threat: 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rg7-g2 + 4.Se3*g2 threat: 5.Sd8-b7 # 5.Sd8-c6 # 5.Bc5-b6 # 3...Rg7-g4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3...Rg7-g6 4.Sd8-b7 # 4.Se3-c4 # 3...Rg7-b7 4.Sd8*b7 # 4.Sd8-c6 # 4.Se3-c4 # 3...Rg7-c7 4.Bc5-b6 # 4.Se3-c4 # 2...Rh7-h8 3.Sd8-b7 # 2.Kb2-b3 threat: 3.Bd6*c5 threat: 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rh7-h4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3...Rh7-h6 4.Sd8-b7 # 4.Se3-c4 # 3...Rh7-b7 4.Sd8*b7 # 4.Sd8-c6 # 4.Se3-c4 # 3...Rh7-c7 4.Bc5-b6 # 4.Se3-c4 # 2...Rc5*c3 + 3.Kb3*c3 threat: 4.Sd8-c6 # 4.Se3-c4 # 3...Rh7-h4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bd6-c7 # 3...Rh7-c7 + 4.Bd6*c7 # 2...Rc5-c8 3.Bd6-c7 + 3...Rh7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 2...Rc5-c7 3.Sd8-b7 + 3...Rc7*b7 4.Se3-c4 # 1...Ra7-g7 2.Bd6*c5 threat: 3.Sd8-c6 # 3.Bc5-b6 # 3.Se3-c4 # 2...Rg7-g2 + 3.Se3*g2 threat: 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 2...Rg7-g4 3.Sd8-b7 # 3.Sd8-c6 # 3.Bc5-b6 # 2...Rg7-g6 3.Sd8-b7 # 3.Se3-c4 # 2...Rg7-b7 3.Sd8*b7 # 3.Sd8-c6 # 3.Se3-c4 # 2...Rg7-c7 3.Bc5-b6 # 3.Se3-c4 # 1...Ra7-d7 2.Bd6*c5 threat: 3.Sd8-c6 # 3.Bc5-b6 # 3.Se3-c4 # 2...Rd7-d2 + 3.Se3-c2 threat: 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3...Rd2*c2 + 4.Kb2*c2 threat: 5.Sd8-b7 # 5.Sd8-c6 # 5.Bc5-b6 # 3...Rd2*d8 4.Bc5-b6 # 3...Rd2-d7 4.Sd8-c6 # 4.Bc5-b6 # 3...Rd2-d6 4.Sd8-b7 # 3.Kb2-b3 threat: 4.Bc5-b6 # 4.Sd8-b7 # 4.Sd8-c6 # 4.Se3-c4 # 3...Rd2-b2 + 4.Kb3*b2 threat: 5.Sd8-b7 # 5.Sd8-c6 # 5.Bc5-b6 # 5.Se3-c4 # 3...Rd2*d8 4.Bc5-b6 # 4.Se3-c4 # 3...Rd2-d7 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rd2-d6 4.Sd8-b7 # 4.Se3-c4 # 3...Rd2-d4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3.Kb2-b1 threat: 4.Se3-c4 # 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3...Rd2-d1 + 4.Se3*d1 threat: 5.Sd8-b7 # 5.Sd8-c6 # 5.Bc5-b6 # 3...Rd2-b2 + 4.Kb1*b2 threat: 5.Sd8-b7 # 5.Sd8-c6 # 5.Bc5-b6 # 5.Se3-c4 # 3...Rd2*d8 4.Bc5-b6 # 4.Se3-c4 # 3...Rd2-d7 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rd2-d6 4.Sd8-b7 # 4.Se3-c4 # 3...Rd2-d4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3.Kb2-a3 threat: 4.Bc5-b6 # 4.Sd8-b7 # 4.Sd8-c6 # 4.Se3-c4 # 3...Rd2-a2 + 4.Ka3*a2 threat: 5.Sd8-b7 # 5.Sd8-c6 # 5.Bc5-b6 # 5.Se3-c4 # 3...Rd2*d8 4.Bc5-b6 # 4.Se3-c4 # 3...Rd2-d7 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rd2-d6 4.Sd8-b7 # 4.Se3-c4 # 3...Rd2-d4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3.Kb2-c1 threat: 4.Se3-c4 # 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3...Rd2-d1 + 4.Se3*d1 threat: 5.Sd8-b7 # 5.Sd8-c6 # 5.Bc5-b6 # 4.Kc1*d1 threat: 5.Bc5-b6 # 5.Sd8-b7 # 5.Sd8-c6 # 5.Se3-c4 # 3...Rd2-c2 + 4.Se3*c2 threat: 5.Sd8-b7 # 5.Sd8-c6 # 5.Bc5-b6 # 4.Kc1*c2 threat: 5.Bc5-b6 # 5.Sd8-b7 # 5.Sd8-c6 # 5.Se3-c4 # 3...Rd2*d8 4.Bc5-b6 # 4.Se3-c4 # 3...Rd2-d7 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rd2-d6 4.Sd8-b7 # 4.Se3-c4 # 3...Rd2-d4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3.Kb2-a1 threat: 4.Bc5-b6 # 4.Sd8-b7 # 4.Sd8-c6 # 4.Se3-c4 # 3...Rd2-d1 + 4.Se3*d1 threat: 5.Sd8-b7 # 5.Sd8-c6 # 5.Bc5-b6 # 3...Rd2-a2 + 4.Ka1*a2 threat: 5.Sd8-b7 # 5.Sd8-c6 # 5.Bc5-b6 # 5.Se3-c4 # 3...Rd2*d8 4.Bc5-b6 # 4.Se3-c4 # 3...Rd2-d7 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rd2-d6 4.Sd8-b7 # 4.Se3-c4 # 3...Rd2-d4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 2...Rd7-d4 3.Sd8-b7 # 3.Sd8-c6 # 3.Bc5-b6 # 2...Rd7-d6 3.Sd8-b7 # 3.Se3-c4 # 2...Rd7-b7 3.Sd8*b7 # 3.Sd8-c6 # 3.Se3-c4 # 2...Rd7-c7 3.Bc5-b6 # 3.Se3-c4 # 2...Rd7*d8 3.Se3-c4 # 3.Bc5-b6 # 2.Kb2-b3 threat: 3.Bd6*c5 threat: 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rd7-d4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3...Rd7-d6 4.Sd8-b7 # 4.Se3-c4 # 3...Rd7-b7 4.Sd8*b7 # 4.Sd8-c6 # 4.Se3-c4 # 3...Rd7-c7 4.Bc5-b6 # 4.Se3-c4 # 3...Rd7*d8 4.Se3-c4 # 4.Bc5-b6 # 2...Rc5*c3 + 3.Kb3*c3 threat: 4.Sd8-c6 # 4.Se3-c4 # 3...Rd7*d6 4.Sd8-b7 # 4.Se3-c4 # 3...Rd7-c7 + 4.Bd6*c7 # 3...Rd7*d8 4.Bd6-c7 # 4.Se3-c4 # 2...Rc5-c8 3.Bd6-c7 + 3...Rd7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 3.Se3-c4 + 3...Rc8*c4 4.Kb3*c4 threat: 5.Sd8-c6 # 4...Rd7*d6 5.Sd8-b7 # 4...Rd7-c7 + 5.Bd6*c7 # 4...Rd7*d8 5.Bd6-c7 # 2...Rc5-c7 3.Sd8-b7 + 3...Rc7*b7 4.Se3-c4 #" keywords: - Plachutta comments: - This is the correct position (with +bPf3) over 189338 --- authors: - Van Gool, Johann Christoffel - Chéron, André source: Journal de Genève date: 1978-03-05 algebraic: white: [Kd3, Qa2, Bf8, Bd5, Sh2, Ph4, Pg4, Pf5, Pe5, Pd2] black: [Kg3, Ph3] stipulation: "#3" solution: | "1.Qa2-a3 ! zugzwang. 1...Kg3*h4 2.Kd3-e4 ! 2...Kh4-g5 3.Qa3-e7 # 1...Kg3-f4 ! 2.Kd3-c4 2...Kf4*e5 3.Qa3-d6 # 1...Kg3*h2 2.Kd3-e2 ! zugzwang. 2...Kh2-g1 3.Qa3-g3 # 1...Kg3-f2 2.Kd3-c2 ! Kf2-e2 3.Qa3-e3 # 2...Kf2-g1 3.Qa3-g3 #" keywords: - Star Black King - Star White King comments: - reprinted in Tages-Anzeiger 1983-02-05 no.2923 - reprinted in Tages-Anzeiger 1996-03-23 no.3593 --- authors: - Chéron, André source: Feuille d'Avis de Lausanne date: 1930 algebraic: white: [Ka3, Rb3, Sf7, Sd6] black: [Ka5, Rc8, Ba8, Pa6] stipulation: "#3" solution: | "1.Sf7-e5 ! threat: 2.Sd6-c4 + 2...Rc8*c4 3.Se5*c4 # 2.Se5-c4 + 2...Rc8*c4 3.Sd6*c4 # 1...Ba8-d5 2.Se5-c6 + 2...Bd5*c6 3.Sd6-c4 # 2...Rc8*c6 3.Sd6-b7 #" --- authors: - Chéron, André source: Hamburgischer Correspondent date: 1930 algebraic: white: [Ka4, Re4, Re2, Bc4] black: [Kc3, Pb6] stipulation: "#3" solution: | "1.Bc4-a6 ! zugzwang. 1...b6-b5 + 2.Ka4*b5 zugzwang. 2...Kc3-d3 3.Kb5-b4 # 2...Kc3-b3 3.Re4-e3 #" --- authors: - Chéron, André source: Initiation au problème d'échecs stratégique date: 1930 algebraic: white: [Kg2, Rh8, Be4, Sg6] black: [Kg4, Pg5, Pe6] stipulation: "#3" solution: "1.Rh8-h1! e6-e5 2.Kg2-h2 Kg4-h5 3.Kh2-g3#" comments: - Romberg, Martin, Deutsche Schachblätter, 1938-07-01 - Shanahan, Ian, Australian Chess, 2003 - Check also 322708, 322710, 322712, 322713 --- authors: - Chéron, André source: Le Temps date: 1930 algebraic: white: [Kf2, Rd5, Bf3, Ph3, Pd2] black: [Kf4, Pd7] stipulation: "#3" solution: | "1.Bf3-h1 ! zugzwang. 1...d7-d6 2.Kf2-g2 zugzwang. 2...Kf4-e4 3.Kg2-g3 #" --- authors: - Chéron, André source: Feuille d'Avis de Lausanne date: 1930 algebraic: white: [Kb3, Ba2, Sg5, Pf2] black: [Ka1, Bh8] stipulation: "#5" solution: | "1.f2-f4 ! threat: 2.Sg5-f3 threat: 3.Sf3-e1 threat: 4.Se1-c2 # 2...Bh8-c3 3.f4-f5 zugzwang. 3...Bc3-e1 4.Sf3-d4 threat: 5.Sd4-c2 # 3...Bc3-b2 4.Sf3-e1 threat: 5.Se1-c2 # 3...Bc3-d2 4.Sf3-d4 threat: 5.Sd4-c2 # 3...Bc3-h8 4.Sf3-e1 threat: 5.Se1-c2 # 3...Bc3-g7 4.Sf3-e1 threat: 5.Se1-c2 # 3...Bc3-f6 4.Sf3-e1 threat: 5.Se1-c2 # 3...Bc3-e5 4.Sf3-e1 threat: 5.Se1-c2 # 3...Bc3-d4 4.Sf3-e1 threat: 5.Se1-c2 # 3...Bc3-a5 4.Sf3-d4 threat: 5.Sd4-c2 # 3...Bc3-b4 4.Sf3-d4 threat: 5.Sd4-c2 #" --- authors: - Chéron, André source: Le Temps date: 1930 algebraic: white: [Kd7, Rg1, Ba1, Sh5, Pd3] black: [Kf5, Ph7] stipulation: "#3" solution: | "1.Ba1-h8 ! zugzwang. 1...h7-h6 2.Rg1-g7 zugzwang. 2...Kf5-e5 3.Rg7-g5 #" --- authors: - Chéron, André source: Feuille d'Avis de Lausanne date: 1930 algebraic: white: [Kc7, Re3, Rc3, Bd4] black: [Kd5, Pd7] stipulation: "#3" solution: | "1.Bd4-a7 ! zugzwang. 1...d7-d6 2.Kc7-b6 zugzwang. 2...Kd5-d4 3.Kb6-c6 #" --- authors: - Chéron, André source: Feuille d'Avis de Lausanne date: 1930 algebraic: white: [Kf5, Ra2, Bh8, Ph7] black: [Kf3, Pg4] stipulation: "#3" solution: | "1.Bh8-a1 ! zugzwang. 1...Kf3-g3 2.h7-h8=Q zugzwang. 2...Kg3-f3 3.Qh8-c3 # 1...Kf3-e3 2.h7-h8=Q threat: 3.Qh8-c3 # 1...g4-g3 2.h7-h8=Q threat: 3.Qh8-c3 #" --- authors: - Chéron, André source: Feuille d'Avis de Lausanne date: 1930 algebraic: white: [Kc5, Re8, Pg7, Pd6, Pd5] black: [Ka7, Pd7] stipulation: "#3" solution: | "1.Re8-h8 ! threat: 2.g7-g8=Q threat: 3.Qg8-a8 #" --- authors: - Chéron, André source: Hamburgischer Correspondent date: 1930 algebraic: white: [Kc2, Rg8, Bf8, Pg6] black: [Ka1, Bb2, Pa2] stipulation: "#3" solution: | "1.Rg8-h8 ! threat: 2.Rh8-h1 + 2...Bb2-c1 3.Bf8-g7 # 3.Rh1*c1 # 2.Bf8-g7 threat: 3.Rh8-h1 # 3.Bg7*b2 # 2...Bb2*g7 3.Rh8-h1 # 2...Bb2-f6 3.Rh8-h1 # 3.Bg7*f6 # 2...Bb2-e5 3.Rh8-h1 # 3.Bg7*e5 # 2...Bb2-d4 3.Rh8-h1 # 3.Bg7*d4 # 2...Bb2-c3 3.Rh8-h1 # 3.Bg7*c3 # 1...Bb2-c1 2.Bf8-g7 + 2...Bc1-b2 3.Rh8-h1 # 3.Bg7*b2 # 1...Bb2*h8 2.g6-g7 threat: 3.g7*h8=Q # 3.g7*h8=B # 2...Bh8*g7 3.Bf8*g7 #" --- authors: - Chéron, André source: Feuille d'Avis de Lausanne date: 1930 algebraic: white: [Kf5, Rg2, Bg3, Ph4, Pf4] black: [Kh5, Ph7] stipulation: "#3" solution: | "1.Bg3-e1 ! zugzwang. 1...Kh5-h6 2.h4-h5 zugzwang. 2...Kh6*h5 3.Rg2-h2 # 1...h7-h6 2.Rg2-f2 zugzwang. 2...Kh5*h4 3.Rf2-h2 #" --- authors: - Chéron, André source: Le Temps date: 1930 algebraic: white: [Kf4, Rh6, Bg6, Ph5, Pg2] black: [Kh4, Pf6] stipulation: "#3" solution: | "1.Rh6-h8 ! zugzwang. 1...f6-f5 2.Bg6-h7 zugzwang. 2...Kh4*h5 3.Bh7*f5 #" --- authors: - Chéron, André source: Feuille d'Avis de Lausanne date: 1930 algebraic: white: [Ka6, Rh6, Ph7, Pd4] black: [Ka8, Bf4] stipulation: "#3" solution: | "1.Rh6-d6 ! threat: 2.h7-h8=Q # 2.h7-h8=R # 1...Bf4-h6 2.Rd6-d8 # 1...Bf4-g5 2.h7-h8=Q + 2...Bg5-d8 3.Qh8*d8 # 3.Rd6*d8 # 2.h7-h8=R + 2...Bg5-d8 3.Rd6*d8 # 3.Rh8*d8 # 1...Bf4*d6 2.h7-h8=Q + 2...Bd6-f8 3.Qh8*f8 # 2...Bd6-b8 3.Qh8-h1 # 1...Bf4-e5 2.h7-h8=Q + 2...Be5*h8 3.Rd6-d8 # 2.h7-h8=R + 2...Be5*h8 3.Rd6-d8 # 1...Ka8-b8 2.h7-h8=Q + 2...Kb8-c7 3.Qh8-d8 #" --- authors: - Chéron, André source: Feuille d'Avis de Lausanne date: 1930-08-02 algebraic: white: [Kf2, Rf1, Bh3, Pg2] black: [Kh2, Pf7] stipulation: "#3" solution: | "1.Bh3-f5 ! zugzwang. 1...f7-f6 2.g2-g4 zugzwang. 2...Kh2-h3 3.Rf1-h1 #" --- authors: - Chéron, André source: Feuille d'Avis de Lausanne date: 1930 algebraic: white: [Kf2, Rg1, Bh3, Pg2, Pd5] black: [Kh2, Pd7] stipulation: "#3" solution: | "1.Bh3-f5 ! zugzwang. 1...d7-d6 2.g2-g4 zugzwang. 2...Kh2-h3 3.Rg1-h1 #" --- authors: - Chéron, André source: Feuille d'Avis de Lausanne date: 1930 algebraic: white: [Kg2, Ra8, Be4, Sg6] black: [Kg4, Pg5] stipulation: "#4" solution: | "1.Ra8-a1 ! zugzwang. 1...Kg4-h5 2.Ra1-h1 + 2...Kh5-g4 3.Kg2-h2 zugzwang. 3...Kg4-h5 4.Kh2-g3 #" --- authors: - Chéron, André source: Feuille d'Avis de Lausanne date: 1930 algebraic: white: [Kf3, Rg8, Ba1, Pd5] black: [Kf5, Pf7, Pd6] stipulation: "#3" solution: | "1.Ba1-h8 ! zugzwang. 1...f7-f6 2.Kf3-e3 zugzwang. 2...Kf5-e5 3.Rg8-g5 #" --- authors: - Chéron, André source: Le Temps date: 1930 algebraic: white: [Kc2, Qb5, Bb1, Pa2] black: [Ka1, Bb2, Sa4] stipulation: "#3" solution: | "1.Qb5-b3 ! threat: 2.a2-a3 threat: 3.Qb3-a2 # 2...Sa4-c3 3.Qb3*b2 # 1...Bb2-c1 2.Kc2*c1 zugzwang. 2...Sa4-b2 3.Qb3*b2 # 2...Sa4-c3 3.Qb3-b2 # 3.Qb3*c3 # 2...Sa4-c5 3.Qb3-c3 # 3.Qb3-b2 # 2...Sa4-b6 3.Qb3-b2 # 3.Qb3-c3 # 1...Bb2-a3 2.Qb3*a3 zugzwang. 2...Sa4-b2 3.Qa3*b2 # 2...Sa4-c3 3.Qa3-b2 # 3.Qa3*c3 # 2...Sa4-c5 3.Qa3-c3 # 3.Qa3-b2 # 2...Sa4-b6 3.Qa3-b2 # 3.Qa3-c3 #" --- authors: - Chéron, André source: Le Temps date: 1930 algebraic: white: [Ka6, Qc4, Se6, Sc6] black: [Ka8, Rd7, Bb8] stipulation: "#3" solution: | "1.Qc4-b4 ! threat: 2.Qb4*b8 # 1...Rd7-a7 + 2.Sc6*a7 threat: 3.Qb4-b7 # 3.Qb4-e4 # 2...Bb8*a7 3.Se6-c7 # 3.Qb4-b7 # 2...Bb8-h2 3.Qb4-b7 # 2...Bb8-g3 3.Qb4-b7 # 2...Bb8-f4 3.Qb4-b7 # 2...Bb8-e5 3.Qb4-b7 # 2...Bb8-d6 3.Qb4-b7 # 2...Bb8-c7 3.Se6*c7 # 3.Qb4-b7 # 1...Rd7-b7 2.Qb4*b7 # 1...Rd7-d8 2.Qb4-b7 # 1...Bb8-a7 2.Qb4-f8 + 2...Ba7-b8 3.Qf8*b8 # 2...Rd7-d8 3.Se6-c7 # 1...Bb8-h2 2.Se6-c7 + 2...Bh2*c7 3.Qb4-b7 # 2...Rd7*c7 3.Qb4-b8 # 1...Bb8-g3 2.Se6-c7 + 2...Bg3*c7 3.Qb4-b7 # 2...Rd7*c7 3.Qb4-b8 # 1...Bb8-f4 2.Se6-c7 + 2...Bf4*c7 3.Qb4-b7 # 2...Rd7*c7 3.Qb4-b8 # 1...Bb8-e5 2.Se6-c7 + 2...Be5*c7 3.Qb4-b7 # 2...Rd7*c7 3.Qb4-b8 # 1...Bb8-d6 2.Se6-c7 + 2...Bd6*c7 3.Qb4-b7 # 2...Rd7*c7 3.Qb4-b8 # 1...Bb8-c7 2.Qb4-b7 #" --- authors: - Chéron, André source: Le Temps date: 1930 algebraic: white: [Ka6, Qe1, Sc6, Sb5] black: [Ka8, Rf7, Bb8] stipulation: "#3" solution: | "1.Qe1-b4 ! threat: 2.Sb5-c7 + 2...Rf7*c7 3.Qb4*b8 # 2...Bb8*c7 3.Qb4-b7 # 1...Rf7-a7 + 2.Sb5*a7 threat: 3.Qb4*b8 # 3.Qb4-b7 # 2...Bb8*a7 3.Qb4-b7 # 2...Bb8-h2 3.Qb4-b7 # 2...Bb8-g3 3.Qb4-b7 # 2...Bb8-f4 3.Qb4-b7 # 2...Bb8-e5 3.Qb4-b7 # 2...Bb8-d6 3.Qb4-b7 # 2...Bb8-c7 3.Qb4-b7 # 1...Bb8-a7 2.Qb4-f8 + 2...Ba7-b8 3.Qf8*b8 # 2...Rf7*f8 3.Sb5-c7 #" --- authors: - Chéron, André source: Feuille d'Avis de Lausanne date: 1930 algebraic: white: [Kg7, Qc7, Sa7, Pb6] black: [Ka8, Rh8, Pb7] stipulation: "#3" solution: | "1.Qc7-d7 ! threat: 2.Kg7*h8 threat: 3.Qd7-e8 # 3.Qd7-c8 # 3.Qd7-d8 # 1...Rh8-h7 + 2.Kg7*h7 threat: 3.Qd7-e8 # 3.Qd7-c8 # 3.Qd7-d8 # 1...Rh8-b8 2.Sa7-c8 threat: 3.Qd7-a4 # 2...Rb8*c8 3.Qd7*c8 # 1...Rh8-f8 2.Kg7*f8 threat: 3.Qd7-e8 # 3.Qd7-c8 # 3.Qd7-d8 # 1...Rh8-g8 + 2.Kg7*g8 threat: 3.Qd7-e8 # 3.Qd7-c8 # 3.Qd7-d8 #" --- authors: - Chéron, André source: Le Temps date: 1930 algebraic: white: [Kf3, Rb2, Be1, Bd5] black: [Kh3, Sh1, Pf5] stipulation: "#3" solution: | "1.Rb2-g2 ! zugzwang. 1...Sh1-g3 2.Be1*g3 threat: 3.Rg2-h2 # 1...Sh1-f2 2.Be1*f2 zugzwang. 2...f5-f4 3.Bd5-e6 # 1...f5-f4 2.Bd5-e6 #" --- authors: - Chéron, André source: Le Temps date: 1931 algebraic: white: [Kg5, Qd2, Sg3] black: [Kg1, Ba8, Ph2] stipulation: "#4" solution: | "1.Sg3-h1 ! threat: 2.Qd2-f2 + 2...Kg1*h1 3.Qf2-f1 # 1...Kg1*h1 2.Qd2-f2 threat: 3.Qf2-f1 # 2...Ba8-g2 3.Qf2-e1 + 3...Bg2-f1 4.Qe1*f1 # 1...Ba8*h1 2.Qd2-e1 + 2...Kg1-g2 3.Kg5-f4 zugzwang. 3...Kg2-h3 4.Qe1-g3 # 1...Ba8-g2 2.Qd2-f2 + 2...Kg1*h1 3.Qf2-e1 + 3...Bg2-f1 4.Qe1*f1 # 2.Kg5-g4 zugzwang. 2...Bg2-h3 + 3.Kg4-g3 zugzwang. 3...Kg1*h1 4.Qd2*h2 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Bh3-f1 4.Qd2*h2 # 3...Bh3-g2 4.Qd2*g2 # 3...Bh3-c8 4.Qd2-g2 # 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh3-d7 4.Qd2-d1 # 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-g2 # 3...Bh3-e6 4.Qd2-g2 # 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh3-f5 4.Qd2-d1 # 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-g2 # 3...Bh3-g4 4.Qd2-g2 # 4.Qd2-e1 # 3.Kg4*h3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2-g2 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 2...Kg1*h1 3.Kg4-g3 threat: 4.Qd2*g2 # 3...Bg2-f1 4.Qd2*h2 # 3...Bg2-h3 4.Qd2*h2 # 3...Bg2-a8 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2*h2 # 3...Bg2-b7 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2*h2 # 3...Bg2-c6 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2*h2 # 3...Bg2-d5 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2*h2 # 3...Bg2-e4 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2*h2 # 3...Bg2-f3 4.Qd2-e1 # 4.Qd2*h2 # 3.Qd2-c1 + 3...Bg2-f1 4.Qc1*f1 # 3.Qd2-e1 + 3...Bg2-f1 4.Qe1*f1 # 3.Qd2-d1 + 3...Bg2-f1 4.Qd1*f1 # 2...Kg1-f1 3.Qd2-d1 # 3.Qd2-f2 # 2...Bg2-f1 3.Qd2-f2 + 3...Kg1*h1 4.Qf2*f1 # 2...Bg2*h1 3.Kg4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2-f2 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Bh1-a8 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh1-b7 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh1-c6 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh1-d5 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh1-e4 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh1-f3 4.Qd2-e1 # 3...Bh1-g2 4.Qd2*g2 # 2...Bg2-a8 3.Kg4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Ba8-g2 4.Qd2*g2 # 3...Ba8-f3 4.Qd2-e1 # 3.Kg4-h3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Ba8*h1 4.Qd2-e1 # 3...Ba8-g2 + 4.Qd2*g2 # 3...Ba8-f3 4.Qd2-e1 # 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 2...Bg2-b7 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 3.Kg4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Bb7-a6 4.Qd2-g2 # 3...Bb7-g2 4.Qd2*g2 # 3...Bb7-f3 4.Qd2-e1 # 2...Bg2-c6 3.Kg4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Bc6-a4 4.Qd2-e1 # 4.Qd2-g2 # 3...Bc6-b5 4.Qd2-g2 # 3...Bc6-g2 4.Qd2*g2 # 3...Bc6-f3 4.Qd2-e1 # 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 2...Bg2-d5 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 3.Kg4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Bd5-b3 4.Qd2-e1 # 4.Qd2-g2 # 3...Bd5-c4 4.Qd2-g2 # 3...Bd5-g2 4.Qd2*g2 # 3...Bd5-f3 4.Qd2-e1 # 2...Bg2-e4 3.Kg4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Be4-c2 4.Qd2-e1 # 4.Qd2-g2 # 3...Be4-d3 4.Qd2-g2 # 3...Be4-g2 4.Qd2*g2 # 3...Be4-f3 4.Qd2-e1 # 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 2...Bg2-f3 + 3.Kg4*f3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2-g2 # 3...Kg1-f1 4.Qd2-c1 # 4.Qd2-d1 # 4.Qd2-f2 # 2.Kg5-h4 zugzwang. 2...Bg2*h1 3.Kh4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2-f2 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Bh1-a8 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh1-b7 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh1-c6 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh1-d5 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh1-e4 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh1-f3 4.Qd2-e1 # 3...Bh1-g2 4.Qd2*g2 # 2...Kg1*h1 3.Kh4-g3 threat: 4.Qd2*g2 # 3...Bg2-f1 4.Qd2*h2 # 3...Bg2-h3 4.Qd2*h2 # 3...Bg2-a8 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2*h2 # 3...Bg2-b7 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2*h2 # 3...Bg2-c6 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2*h2 # 3...Bg2-d5 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2*h2 # 3...Bg2-e4 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2*h2 # 3...Bg2-f3 4.Qd2-e1 # 4.Qd2*h2 # 3.Qd2-c1 + 3...Bg2-f1 4.Qc1*f1 # 3.Qd2-e1 + 3...Bg2-f1 4.Qe1*f1 # 3.Qd2-d1 + 3...Bg2-f1 4.Qd1*f1 # 2...Kg1-f1 3.Qd2-d1 # 3.Qd2-f2 # 2...Bg2-f1 3.Qd2-f2 + 3...Kg1*h1 4.Qf2*f1 # 2...Bg2-h3 3.Kh4*h3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2-g2 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3.Kh4-g3 zugzwang. 3...Kg1*h1 4.Qd2*h2 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Bh3-f1 4.Qd2*h2 # 3...Bh3-g2 4.Qd2*g2 # 3...Bh3-c8 4.Qd2-g2 # 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh3-d7 4.Qd2-d1 # 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-g2 # 3...Bh3-e6 4.Qd2-g2 # 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh3-f5 4.Qd2-d1 # 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-g2 # 3...Bh3-g4 4.Qd2-g2 # 4.Qd2-e1 # 2...Bg2-a8 3.Kh4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Ba8-g2 4.Qd2*g2 # 3...Ba8-f3 4.Qd2-e1 # 3.Kh4-h3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Ba8*h1 4.Qd2-e1 # 3...Ba8-g2 + 4.Qd2*g2 # 3...Ba8-f3 4.Qd2-e1 # 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 2...Bg2-b7 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 3.Kh4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Bb7-a6 4.Qd2-g2 # 3...Bb7-g2 4.Qd2*g2 # 3...Bb7-f3 4.Qd2-e1 # 2...Bg2-c6 3.Kh4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Bc6-a4 4.Qd2-e1 # 4.Qd2-g2 # 3...Bc6-b5 4.Qd2-g2 # 3...Bc6-g2 4.Qd2*g2 # 3...Bc6-f3 4.Qd2-e1 # 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 2...Bg2-d5 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 3.Kh4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Bd5-b3 4.Qd2-e1 # 4.Qd2-g2 # 3...Bd5-c4 4.Qd2-g2 # 3...Bd5-g2 4.Qd2*g2 # 3...Bd5-f3 4.Qd2-e1 # 2...Bg2-e4 3.Kh4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Be4-c2 4.Qd2-e1 # 4.Qd2-g2 # 3...Be4-d3 4.Qd2-g2 # 3...Be4-g2 4.Qd2*g2 # 3...Be4-f3 4.Qd2-e1 # 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 2...Bg2-f3 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 2.Kg5-f4 zugzwang. 2...Bg2*h1 3.Kf4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2-f2 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Bh1-a8 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh1-b7 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh1-c6 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh1-d5 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh1-e4 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh1-f3 4.Qd2-e1 # 3...Bh1-g2 4.Qd2*g2 # 2...Kg1*h1 3.Kf4-g3 threat: 4.Qd2*g2 # 3...Bg2-f1 4.Qd2*h2 # 3...Bg2-h3 4.Qd2*h2 # 3...Bg2-a8 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2*h2 # 3...Bg2-b7 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2*h2 # 3...Bg2-c6 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2*h2 # 3...Bg2-d5 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2*h2 # 3...Bg2-e4 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2*h2 # 3...Bg2-f3 4.Qd2-e1 # 4.Qd2*h2 # 3.Qd2-c1 + 3...Bg2-f1 4.Qc1*f1 # 3.Qd2-e1 + 3...Bg2-f1 4.Qe1*f1 # 3.Qd2-d1 + 3...Bg2-f1 4.Qd1*f1 # 2...Kg1-f1 3.Qd2-d1 # 3.Qd2-f2 # 2...Bg2-f1 3.Qd2-f2 + 3...Kg1*h1 4.Qf2*f1 # 2...Bg2-h3 3.Kf4-g3 zugzwang. 3...Kg1*h1 4.Qd2*h2 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Bh3-f1 4.Qd2*h2 # 3...Bh3-g2 4.Qd2*g2 # 3...Bh3-c8 4.Qd2-g2 # 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh3-d7 4.Qd2-d1 # 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-g2 # 3...Bh3-e6 4.Qd2-g2 # 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Bh3-f5 4.Qd2-d1 # 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-g2 # 3...Bh3-g4 4.Qd2-g2 # 4.Qd2-e1 # 2...Bg2-a8 3.Kf4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Ba8-g2 4.Qd2*g2 # 3...Ba8-f3 4.Qd2-e1 # 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 2...Bg2-b7 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 3.Kf4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Bb7-a6 4.Qd2-g2 # 3...Bb7-g2 4.Qd2*g2 # 3...Bb7-f3 4.Qd2-e1 # 2...Bg2-c6 3.Kf4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Bc6-a4 4.Qd2-e1 # 4.Qd2-g2 # 3...Bc6-b5 4.Qd2-g2 # 3...Bc6-g2 4.Qd2*g2 # 3...Bc6-f3 4.Qd2-e1 # 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 2...Bg2-d5 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 3.Kf4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Bd5-b3 4.Qd2-e1 # 4.Qd2-g2 # 3...Bd5-c4 4.Qd2-g2 # 3...Bd5-g2 4.Qd2*g2 # 3...Bd5-f3 4.Qd2-e1 # 2...Bg2-e4 3.Kf4-g3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 3...Kg1-f1 4.Qd2-d1 # 4.Qd2-f2 # 3...Be4-c2 4.Qd2-e1 # 4.Qd2-g2 # 3...Be4-d3 4.Qd2-g2 # 3...Be4-g2 4.Qd2*g2 # 3...Be4-f3 4.Qd2-e1 # 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 2...Bg2-f3 3.Qd2-f2 + 3...Kg1*h1 4.Qf2-f1 # 3.Kf4*f3 threat: 4.Qd2-c1 # 4.Qd2-e1 # 4.Qd2-d1 # 4.Qd2-g2 # 3...Kg1-f1 4.Qd2-c1 # 4.Qd2-d1 # 4.Qd2-f2 # 2.Qd2-e1 + 2...Bg2-f1 3.Qe1-f2 + 3...Kg1*h1 4.Qf2*f1 # 2.Qd2-e3 + 2...Kg1*h1 3.Qe3-c1 + 3...Bg2-f1 4.Qc1*f1 # 3.Qe3-e1 + 3...Bg2-f1 4.Qe1*f1 # 2...Kg1-f1 3.Qe3-f2 # 3.Sh1-g3 # 2.Qd2-d4 + 2...Kg1*h1 3.Qd4-a1 + 3...Bg2-f1 4.Qa1*f1 # 3.Qd4-d1 + 3...Bg2-f1 4.Qd1*f1 # 2...Kg1-f1 3.Qd4-d1 # 3.Qd4-f2 #" --- authors: - Chéron, André source: Hamburgischer Correspondent date: 1931-08-09 algebraic: white: [Kf1, Qh7, Be1, Sa6] black: [Ka8, Bd4, Pf4] stipulation: "#3" solution: | "1.Be1-f2 ! threat: 2.Qh7-c7 threat: 3.Qc7-b8 # 2...Bd4-e5 3.Qc7-c6 # 3.Qc7-a7 # 2...Bd4-a7 3.Qc7-c6 # 3.Qc7*a7 # 2.Bf2*d4 threat: 3.Qh7-e4 # 3.Qh7-a7 # 1...Bd4*f2 2.Qh7-c7 threat: 3.Qc7-b8 # 2...Bf2-a7 3.Qc7-c6 # 1...Bd4-e3 2.Qh7-c7 threat: 3.Qc7-b8 # 2...Be3-a7 3.Qc7-c6 # 3.Qc7*a7 # 1...Bd4-b6 2.Bf2*b6 threat: 3.Qh7-e4 # 3.Qh7-a7 # 1...Bd4-c5 2.Qh7-c7 threat: 3.Qc7-b8 # 2...Bc5-d6 3.Qc7-c6 # 3.Qc7-a7 # 2...Bc5-a7 3.Qc7-c6 # 3.Qc7*a7 # 2.Sa6*c5 threat: 3.Qh7-b7 # 2.Bf2*c5 threat: 3.Qh7-e4 # 3.Qh7-a7 #" --- authors: - Chéron, André source: Le Club de Maspulo date: 1933 algebraic: white: [Ke8, Rh5, Bc3, Sb5] black: [Ke6, Bb6, Pa7] stipulation: "#4" solution: | "1.Bc3-g7 ! threat: 2.Rh5-e5 # 1...Bb6-d4 2.Sb5*d4 + 2...Ke6-d6 3.Ke8-d8 threat: 4.Bg7-f8 # 1...Bb6-c7 2.Sb5-d4 + 2...Ke6-d6 3.Bg7-f8 #" --- authors: - Chéron, André source: Feuille d'Avis de Lausanne date: 1933 algebraic: white: [Ke5, Ra2, Bf1, Sh4] black: [Ke3, Ba4, Pc4] stipulation: "#5" solution: | "1.Ra2-h2 ! threat: 2.Sh4-f5 + 2...Ke3-f3 3.Bf1-e2 # 1...Ba4-d1 2.Bf1*c4 zugzwang. 2...Bd1-f3 3.Sh4-f5 # 2...Bd1-h5 3.Sh4-f5 + 3...Ke3-f3 4.Bc4-e2 # 2...Bd1-g4 3.Rh2-g2 zugzwang. 3...Bg4-d1 4.Sh4-f5 + 4...Ke3-f3 5.Bc4-d5 # 3...Bg4-e2 4.Rg2*e2 # 3...Bg4-f3 4.Sh4-f5 # 3...Bg4-h3 4.Rg2-e2 # 3...Bg4-h5 4.Sh4-f5 + 4...Ke3-f3 5.Bc4-d5 # 3...Bg4-c8 4.Rg2-e2 # 3...Bg4-d7 4.Rg2-e2 # 3...Bg4-e6 4.Rg2-e2 # 3...Bg4-f5 4.Rg2-e2 # 2...Bd1-e2 3.Rh2*e2 # 2...Bd1-a4 3.Rh2-e2 # 2...Bd1-b3 3.Rh2-e2 # 2...Bd1-c2 3.Rh2-e2 # 1...Ba4-c2 2.Rh2*c2 threat: 3.Rc2-h2 threat: 4.Sh4-f5 + 4...Ke3-f3 5.Bf1-e2 # 3.Rc2-g2 zugzwang. 3...c4-c3 4.Bf1-a6 threat: 5.Rg2-e2 # 4.Bf1-b5 threat: 5.Rg2-e2 # 4.Bf1-c4 threat: 5.Rg2-e2 # 2...c4-c3 3.Rc2-h2 threat: 4.Sh4-f5 + 4...Ke3-f3 5.Bf1-e2 # 4.Bf1-a6 threat: 5.Rh2-e2 # 4.Bf1-b5 threat: 5.Rh2-e2 # 4.Bf1-c4 threat: 5.Rh2-e2 # 3...c3-c2 4.Sh4-f5 + 4...Ke3-f3 5.Bf1-e2 # 1...Ba4-d7 2.Bf1*c4 threat: 3.Rh2-e2 # 2...Bd7-g4 3.Rh2-g2 zugzwang. 3...Bg4-d1 4.Sh4-f5 + 4...Ke3-f3 5.Bc4-d5 # 3...Bg4-e2 4.Rg2*e2 # 3...Bg4-f3 4.Sh4-f5 # 3...Bg4-h3 4.Rg2-e2 # 3...Bg4-h5 4.Sh4-f5 + 4...Ke3-f3 5.Bc4-d5 # 3...Bg4-c8 4.Rg2-e2 # 3...Bg4-d7 4.Rg2-e2 # 3...Bg4-e6 4.Rg2-e2 # 3...Bg4-f5 4.Rg2-e2 #" --- authors: - Chéron, André source: Les Echecs Artistiques date: 1934 algebraic: white: [Kb1, Qh4, Sd3] black: [Kd1, Re7, Pd2] stipulation: "#2" solution: | "1...Re2 2.Nb2#/Qa4# 1...Rd7/Rc7/Ra7 2.Qh5#/Qg4# 1...Rh7 2.Qg4# 1.Qf2?? (2.Nb2#) but 1...Rb7+! 1.Qg4+! 1...Re2 2.Qa4#" keywords: - Checking key - Flight taking key --- authors: - Chéron, André source: Journal de Genève date: 1934 algebraic: white: [Ka3, Rc1, Be1, Sa5, Pc5] black: [Kb5, Pa7] stipulation: "#3" solution: | "1.Rc1-c4 ! zugzwang. 1...Kb5-a6 2.Rc4-b4 zugzwang. 2...Ka6*a5 3.Rb4-b6 # 1...a7-a6 2.Rc4-c3 zugzwang. 2...Kb5*a5 3.Rc3-b3 #" --- authors: - Chéron, André source: Miniatures stratégiques françaises (Chéron) date: 1936 algebraic: white: [Kb3, Rc3, Be3, Pd2, Pc2] black: [Kb1] stipulation: "#3" solution: | "1.d2-d4 ! threat: 2.Rc3-d3 threat: 3.Rd3-d1 #" --- authors: - Chéron, André source: Miniatures stratégiques françaises (Chéron) date: 1936 algebraic: white: [Ke3, Rb6, Bc8, Pc4] black: [Ke5, Ba4, Ph4] stipulation: "#4" solution: | "1.Bc8-g4 ! threat: 2.Rb6-e6 # 1...Ba4-d7 2.Bg4*d7 threat: 3.Bd7-g4 threat: 4.Rb6-e6 # 1...Ba4-c6 2.Rb6*c6 threat: 3.Rc6-e6 #" --- authors: - Chéron, André source: L'Illustration date: 1936 algebraic: white: [Ka3, Qb7, Sf3, Pd4] black: [Ka1, Rc1, Pc3] stipulation: "#3" solution: | "1.Sf3-e1 ! threat: 2.Qb7-b3 threat: 3.Qb3-a2 # 2...Rc1-c2 3.Se1*c2 #" --- authors: - Chéron, André source: Le Temps date: 1936 algebraic: white: [Ka4, Rd8, Ba1, Sf4, Pg5] black: [Kc4, Ba7] stipulation: "#4" solution: | "1.Sf4-d3 ! threat: 2.Sd3-e5 + 2...Kc4-c5 3.Ba1-d4 # 1...Ba7-g1 2.g5-g6 threat: 3.g6-g7 threat: 4.g7-g8=Q # 4.g7-g8=B # 3...Bg1-d4 4.Rd8*d4 # 2...Bg1-b6 3.Sd3-e5 + 3...Kc4-c5 4.Ba1-d4 # 1...Ba7-f2 2.g5-g6 threat: 3.g6-g7 threat: 4.g7-g8=Q # 4.g7-g8=B # 3...Bf2-d4 4.Rd8*d4 # 2...Bf2-b6 3.Sd3-e5 + 3...Kc4-c5 4.Ba1-d4 # 1...Ba7-e3 2.g5-g6 threat: 3.g6-g7 threat: 4.g7-g8=Q # 4.g7-g8=B # 3...Be3-d4 4.Rd8*d4 # 2...Be3-b6 3.Sd3-e5 + 3...Kc4-c5 4.Ba1-d4 #" --- authors: - Chéron, André source: Le Temps date: 1936 algebraic: white: [Ke7, Rh4, Ba8, Se6, Ph6] black: [Ke5, Bh7] stipulation: "#4" solution: | "1.Se6-d4 ! threat: 2.Sd4-f3 + 2...Ke5-f5 3.Ba8-e4 # 1...Bh7-b1 2.h6-h7 threat: 3.h7-h8=Q # 3.h7-h8=B # 2...Bb1*h7 3.Sd4-f3 + 3...Ke5-f5 4.Ba8-e4 # 1...Bh7-c2 2.h6-h7 threat: 3.h7-h8=Q # 3.h7-h8=B # 2...Bc2*h7 3.Sd4-f3 + 3...Ke5-f5 4.Ba8-e4 # 1...Bh7-d3 2.h6-h7 threat: 3.h7-h8=Q # 3.h7-h8=B # 2...Bd3*h7 3.Sd4-f3 + 3...Ke5-f5 4.Ba8-e4 #" --- authors: - Chéron, André source: Feuille d'Avis de Lausanne date: 1936 algebraic: white: [Kf8, Rg4, Re4, Pf3, Pe3] black: [Kf6] stipulation: "#3" solution: | "1.Re4-e8 ! zugzwang. 1...Kf6-f5 2.Kf8-e7 zugzwang. 2...Kf5-e5 3.Rg4-g5 #" --- authors: - Chéron, André source: L'Illustration date: 1936 algebraic: white: [Kh2, Rf6, Bg3, Sh3, Sg4] black: [Kh5, Pg6] stipulation: "#3" solution: | "1.Bg3-e1 ! threat: 2.Kh2-g3 zugzwang. 2...g6-g5 3.Rf6-h6 # 1...Kh5*g4 2.Rf6-f4 + 2...Kg4-h5 3.Rf4-h4 # 1...g6-g5 2.Sh3-f2 threat: 3.Rf6-h6 #" --- authors: - Chéron, André source: Le Temps date: 1936 algebraic: white: [Kc3, Qb8, Sf4] black: [Ka4, Bd1, Sa1, Pa5] stipulation: "#3" solution: | "1.Sf4-d3 ! threat: 2.Sd3-c5 + 2...Ka4-a3 3.Qb8-b2 # 2.Kc3-b2 threat: 3.Qb8-e8 # 3.Sd3-c5 # 2...Sa1-b3 3.Qb8-e8 # 2...Bd1-h5 3.Sd3-c5 # 2...Bd1-g4 3.Sd3-c5 # 2...Bd1-f3 3.Sd3-c5 # 1...Sa1-b3 2.Kc3-b2 threat: 3.Qb8-e8 # 2...Bd1-h5 3.Qb8*b3 # 2...Bd1-g4 3.Qb8*b3 # 2...Bd1-f3 3.Qb8*b3 # 2...Sb3-d4 3.Sd3-c5 # 2...Sb3-c5 3.Sd3*c5 # 1...Bd1-f3 2.Qb8-b2 threat: 3.Sd3-c5 # 2...Sa1-b3 3.Qb2*b3 # 2.Sd3-c5 + 2...Ka4-a3 3.Qb8-b2 # 1...Bd1-e2 2.Sd3-c5 + 2...Ka4-a3 3.Qb8-b2 # 1...Bd1-b3 2.Kc3-b2 threat: 3.Qb8-e8 # 3.Sd3-c5 # 2...Bb3-f7 3.Sd3-c5 # 2...Bb3-e6 3.Sd3-c5 # 2...Bb3-d5 3.Sd3-c5 # 2...Bb3-c4 3.Sd3-c5 # 1...Bd1-c2 2.Sd3-c5 + 2...Ka4-a3 3.Qb8-b2 # 1...Ka4-a3 2.Qb8-b2 + 2...Ka3-a4 3.Sd3-c5 #" --- authors: - Chéron, André source: Le Temps date: 1936 algebraic: white: [Kc3, Qb2, Bd6] black: [Ka4, Bd1, Sa1, Pa5] stipulation: "#3" solution: | "1.Qb2-b6 ! threat: 2.Qb6-c6 # 1...Bd1-f3 2.Bd6-c7 threat: 3.Qb6*a5 # 2...Sa1-b3 3.Qb6*b3 # 1...Bd1-e2 2.Bd6-c7 threat: 3.Qb6*a5 # 2...Sa1-b3 3.Qb6*b3 #" --- authors: - Chéron, André source: L'Illustration date: 1936 algebraic: white: [Kb3, Rf1, Bg6, Se6, Sd4] black: [Kd2, Pd5] stipulation: "#3" solution: | "1.Bg6-b1 ! zugzwang. 1...Kd2-e3 2.Kb3-c2 zugzwang. 2...Ke3-e4 3.Rf1-e1 #" --- authors: - Chéron, André source: Feuille d'Avis de Lausanne date: 1936 algebraic: white: [Kc2, Rd6, Bc7, Bb3, Sg5, Pd5] black: [Ka3] stipulation: "#3" solution: | "1.Rd6-d8 ! threat: 2.Bc7-d6 # 1...Ka3-b4 2.Rd8-b8 + 2...Kb4-c5 3.Sg5-e6 # 2...Kb4-a3 3.Bc7-d6 #" --- authors: - Chéron, André source: Le Temps date: 1936 algebraic: white: [Kd6, Re7, Bg8, Bc5] black: [Ka4, Pa5] stipulation: "#3" solution: | "1.Re7-e8 ! zugzwang. 1...Ka4-b5 2.Re8-b8 + 2...Kb5-a6 3.Bg8-c4 # 2...Kb5-a4 3.Bg8-b3 #" --- authors: - Chéron, André source: L'Illustration date: 1936 algebraic: white: [Ka1, Qd6, Bd1, Pe2, Pb3] black: [Kc1, Re1] stipulation: "#3" solution: | "1.Qd6-d4 ! zugzwang. 1...Re1*e2 2.Bd1*e2 threat: 3.Qd4-b2 # 3.Qd4-c3 # 3.Qd4-d1 # 2...Kc1-c2 3.Qd4-b2 # 1...Re1*d1 2.Qd4-b2 # 2.Qd4-c3 # 1...Re1-h1 2.Qd4-d3 threat: 3.Qd3-c2 # 2...Rh1*d1 3.Qd3-c3 # 1...Re1-g1 2.Qd4-d3 threat: 3.Qd3-c2 # 2...Rg1*d1 3.Qd3-c3 # 1...Re1-f1 2.Qd4-d3 threat: 3.Qd3-c2 # 2...Rf1*d1 3.Qd3-c3 #" --- authors: - Chéron, André source: L'Illustration date: 1936 algebraic: white: [Ke5, Qd2, Sa3] black: [Ka1, Bg6, Pf5, Pb5] stipulation: "#3" solution: | "1.Ke5-f4 ! threat: 2.Qd2-c2 threat: 3.Qc2-b1 # 1...b5-b4 2.Sa3-c4 threat: 3.Qd2-b2 #" --- authors: - Chéron, André source: L'Illustration date: 1936 algebraic: white: [Kc2, Qg4, Bb1] black: [Ka3, Bc5, Pc3, Pa4] stipulation: "#3" solution: | "1.Qg4-f4 ! zugzwang. 1...Bc5-b4 2.Qf4-c1 # 1...Bc5-g1 2.Qf4-d6 + 2...Bg1-c5 3.Qd6*c5 # 2.Qf4-f8 + 2...Bg1-c5 3.Qf8*c5 # 1...Bc5-f2 2.Qf4-f8 + 2...Bf2-c5 3.Qf8*c5 # 2.Qf4-d6 + 2...Bf2-c5 3.Qd6*c5 # 1...Bc5-e3 2.Qf4-d6 + 2...Be3-c5 3.Qd6*c5 # 2.Qf4-f8 + 2...Be3-c5 3.Qf8*c5 # 1...Bc5-d4 2.Qf4-f8 + 2...Bd4-c5 3.Qf8*c5 # 2.Qf4-d6 + 2...Bd4-c5 3.Qd6*c5 # 1...Bc5-f8 2.Qf4*f8 # 1...Bc5-e7 2.Qf4-c4 threat: 3.Qc4*c3 # 2...Be7-b4 3.Qc4-a2 # 2...Be7-f6 3.Qc4-c5 # 1...Bc5-d6 2.Qf4*d6 # 1...Bc5-a7 2.Qf4-d6 + 2...Ba7-c5 3.Qd6*c5 # 2.Qf4-f8 + 2...Ba7-c5 3.Qf8*c5 # 1...Bc5-b6 2.Qf4-f8 + 2...Bb6-c5 3.Qf8*c5 # 2.Qf4-d6 + 2...Bb6-c5 3.Qd6*c5 #" --- authors: - Chéron, André source: Le Temps date: 1936 algebraic: white: [Ke8, Qg4, Bd2] black: [Kh8, Bf6, Sb5, Ph7] stipulation: "#4" solution: | "1.Bd2-c3 ! threat: 2.Bc3*f6 # 1...Sb5*c3 2.Ke8-f7 threat: 3.Qg4-g8 # 2...Bf6-g5 3.Qg4-c8 + 3...Bg5-d8 4.Qc8*d8 # 3.Qg4-d4 + 3...Bg5-f6 4.Qd4*f6 # 3.Qg4*g5 threat: 4.Qg5-d8 # 4.Qg5-f6 # 4.Qg5-e5 # 4.Qg5-g8 # 4.Qg5-g7 # 3...Sc3-e4 4.Qg5-d8 # 4.Qg5-g8 # 4.Qg5-g7 # 3...Sc3-d5 4.Qg5-d8 # 4.Qg5-g8 # 4.Qg5-g7 # 3...h7-h5 4.Qg5-h6 # 4.Qg5-g8 # 4.Qg5-g7 # 4.Qg5*h5 # 3...h7-h6 4.Qg5*h6 # 4.Qg5-g8 # 4.Qg5-g7 # 2...Bf6-g7 3.Qg4*g7 # 1...Sb5-d4 2.Ke8-f7 threat: 3.Qg4-g8 # 2...Bf6-g5 3.Qg4-c8 + 3...Bg5-d8 4.Qc8*d8 # 4.Bc3*d4 # 3.Qg4*d4 + 3...Bg5-f6 4.Qd4*f6 # 4.Qd4-d8 # 3.Qg4*g5 threat: 4.Qg5-d8 # 4.Qg5-f6 # 4.Qg5-e5 # 4.Qg5-g8 # 4.Qg5-g7 # 4.Bc3*d4 # 3...h7-h5 4.Qg5-h6 # 4.Qg5-g8 # 4.Qg5-g7 # 4.Qg5*h5 # 3...h7-h6 4.Qg5*h6 # 4.Qg5-g8 # 4.Qg5-g7 # 3.Bc3*d4 + 3...Bg5-f6 4.Qg4-g8 # 4.Qg4-c8 # 4.Bd4*f6 # 2...Bf6-g7 3.Qg4*g7 # 2.Bc3*d4 threat: 3.Bd4*f6 # 2...Bf6*d4 3.Ke8-f7 threat: 4.Qg4-c8 # 4.Qg4*d4 # 4.Qg4-g8 # 3...Bd4-a1 4.Qg4-c8 # 4.Qg4-g8 # 3...Bd4-b2 4.Qg4-c8 # 4.Qg4-g8 # 3...Bd4-c3 4.Qg4-c8 # 4.Qg4-g8 # 3...Bd4-g1 4.Qg4-c8 # 4.Qg4-g8 # 4.Qg4-g7 # 3...Bd4-f2 4.Qg4-c8 # 4.Qg4-g8 # 4.Qg4-g7 # 3...Bd4-e3 4.Qg4-c8 # 4.Qg4-g8 # 4.Qg4-g7 # 3...Bd4-g7 4.Qg4*g7 # 3...Bd4-f6 4.Qg4-g8 # 3...Bd4-e5 4.Qg4-c8 # 4.Qg4-g8 # 3...Bd4-a7 4.Qg4-c8 # 4.Qg4-g8 # 4.Qg4-g7 # 3...Bd4-b6 4.Qg4-g8 # 4.Qg4-g7 # 3...Bd4-c5 4.Qg4-g8 # 4.Qg4-g7 # 3...h7-h5 4.Qg4*h5 # 4.Qg4-g8 # 3...h7-h6 4.Qg4-g8 # 2...Bf6-e5 3.Bd4*e5 # 2...Bf6-g7 3.Qg4*g7 # 2...h7-h5 3.Bd4*f6 + 3...Kh8-h7 4.Qg4-g7 # 2...h7-h6 3.Bd4*f6 + 3...Kh8-h7 4.Qg4-g7 # 3.Ke8-f8 threat: 4.Qg4-g8 # 3...Bf6-g7 + 4.Qg4*g7 # 3.Ke8-f7 threat: 4.Qg4-g8 # 3...Bf6-g7 4.Qg4*g7 # 1...Sb5-d6 + 2.Ke8-f8 threat: 3.Qg4-g8 # 3.Bc3*f6 # 2...Sd6-e4 3.Qg4-g8 # 2...Sd6-f5 3.Qg4-g8 # 2...Sd6-e8 3.Qg4-g8 # 2...Bf6*c3 3.Qg4-g8 # 2...Bf6-d4 3.Qg4-g8 # 3.Qg4*d4 # 3.Bc3*d4 # 2...Bf6-e5 3.Qg4-g8 # 3.Bc3*e5 # 2...Bf6-g7 + 3.Qg4*g7 # 3.Bc3*g7 # 2...h7-h5 3.Qg4*h5 # 3.Qg4-g8 # 2...h7-h6 3.Qg4-g8 # 1...Sb5-c7 + 2.Ke8-f7 threat: 3.Qg4-g8 # 3.Bc3*f6 # 2...Bf6*c3 3.Qg4-g8 # 2...Bf6-d4 3.Qg4-g8 # 3.Qg4*d4 # 3.Bc3*d4 # 2...Bf6-e5 3.Qg4-g8 # 3.Bc3*e5 # 2...Bf6-g7 3.Qg4*g7 # 3.Bc3*g7 # 2...Sc7-d5 3.Qg4-c8 # 3.Qg4-g8 # 2...Sc7-e6 3.Qg4-g8 # 2...Sc7-e8 3.Qg4-g8 # 2...h7-h5 3.Qg4*h5 # 3.Qg4-g8 # 2...h7-h6 3.Qg4-g8 # 1...Bf6*c3 2.Ke8-f7 threat: 3.Qg4-c8 # 3.Qg4-g8 # 2...Bc3-g7 3.Qg4*g7 # 2...Bc3-f6 3.Qg4-g8 # 2...Bc3-a5 3.Qg4-g8 # 3.Qg4-g7 # 2...Bc3-b4 3.Qg4-g8 # 3.Qg4-g7 # 2...Sb5-d6 + 3.Kf7-f8 threat: 4.Qg4-g8 # 3...Bc3-g7 + 4.Qg4*g7 # 2...Sb5-c7 3.Qg4-g8 # 2...Sb5-a7 3.Qg4-g8 # 2...h7-h5 3.Qg4*h5 # 3.Qg4-g8 # 2...h7-h6 3.Qg4-g8 # 1...Bf6-d4 2.Ke8-f8 threat: 3.Qg4-g8 # 2...Bd4-g7 + 3.Qg4*g7 # 3.Bc3*g7 # 1...Bf6-e5 2.Bc3*e5 # 1...Bf6-g7 2.Qg4*g7 # 1...h7-h5 2.Bc3*f6 + 2...Kh8-h7 3.Qg4-g7 # 1...h7-h6 2.Bc3*f6 + 2...Kh8-h7 3.Qg4-g7 # 2.Ke8-f8 threat: 3.Qg4-g8 # 2...Bf6-g7 + 3.Qg4*g7 #" --- authors: - Chéron, André source: Le Temps date: 1936 algebraic: white: [Kd4, Rh2, Ba7, Sc3] black: [Ka5, Pa6] stipulation: "#3" solution: | "1.Rh2-h1 ! zugzwang. 1...Ka5-b4 2.Rh1-b1 + 2...Kb4-a5 3.Ba7-b6 # 2...Kb4-a3 3.Ba7-c5 #" --- authors: - Chéron, André source: Le Temps date: 1936 algebraic: white: [Kd4, Rh7, Ba7, Sc3] black: [Ka5, Pa6] stipulation: "#3" solution: | "1.Rh7-h1 ! zugzwang. 1...Ka5-b4 2.Rh1-b1 + 2...Kb4-a5 3.Ba7-b6 # 2...Kb4-a3 3.Ba7-c5 #" --- authors: - Chéron, André source: Le Temps date: 1936 algebraic: white: [Kc2, Qb5, Bb1, Pa2] black: [Ka1, Ba3, Sa4] stipulation: "#3" solution: | "1.Qb5-b3 ! threat: 2.Qb3*a3 zugzwang. 2...Sa4-b2 3.Qa3*b2 # 2...Sa4-c3 3.Qa3-b2 # 3.Qa3*c3 # 2...Sa4-c5 3.Qa3-c3 # 3.Qa3-b2 # 2...Sa4-b6 3.Qa3-b2 # 3.Qa3-c3 # 1...Ba3-c1 2.Kc2*c1 zugzwang. 2...Sa4-b2 3.Qb3*b2 # 2...Sa4-c3 3.Qb3-b2 # 3.Qb3*c3 # 2...Sa4-c5 3.Qb3-c3 # 3.Qb3-b2 # 2...Sa4-b6 3.Qb3-b2 # 3.Qb3-c3 # 1...Ba3-b2 2.a2-a3 threat: 3.Qb3-a2 # 2...Sa4-c3 3.Qb3*b2 # 1...Ba3-f8 2.a2-a3 threat: 3.Qb3-a2 # 2...Sa4-c3 3.Qb3-b2 # 3.Qb3*c3 # 1...Ba3-e7 2.a2-a3 threat: 3.Qb3-a2 # 2...Sa4-c3 3.Qb3-b2 # 3.Qb3*c3 # 1...Ba3-d6 2.a2-a3 threat: 3.Qb3-a2 # 2...Sa4-c3 3.Qb3-b2 # 3.Qb3*c3 # 1...Ba3-c5 2.a2-a3 threat: 3.Qb3-a2 # 2...Sa4-c3 3.Qb3-b2 # 3.Qb3*c3 # 1...Ba3-b4 2.Qb3*b4 zugzwang. 2...Sa4-b2 3.Qb4*b2 # 2...Sa4-c3 3.Qb4-b2 # 3.Qb4*c3 # 2...Sa4-c5 3.Qb4-c3 # 3.Qb4-b2 # 3.Qb4-d4 # 2...Sa4-b6 3.Qb4-d4 # 3.Qb4-c3 # 3.Qb4-b2 # 2.a2-a3 threat: 3.Qb3-a2 # 2...Sa4-c3 3.Qb3-b2 # 1...Sa4-b2 2.Qb3-c3 zugzwang. 2...Ba3-f8 3.Qc3*b2 # 2...Ba3-e7 3.Qc3*b2 # 2...Ba3-d6 3.Qc3*b2 # 2...Ba3-c5 3.Qc3*b2 # 2...Ba3-b4 3.Qc3*b2 # 1...Sa4-c3 2.Qb3*c3 + 2...Ba3-b2 3.Qc3*b2 # 1...Sa4-c5 2.Qb3-c3 + 2...Ba3-b2 3.Qc3*b2 # 1...Sa4-b6 2.Qb3-c3 + 2...Ba3-b2 3.Qc3*b2 #" --- authors: - Chéron, André source: L'Illustration date: 1936 algebraic: white: [Kd6, Qg5, Pb6] black: [Kh1, Ba8, Ph2, Pc4] stipulation: "#5" solution: | "1.Qg5-g3 ! threat: 2.Qg3-f2 threat: 3.Qf2-f1 # 2...Ba8-g2 3.Qf2-e1 + 3...Bg2-f1 4.Qe1*f1 # 1...Ba8-f3 2.b6-b7 threat: 3.b7-b8=Q threat: 4.Qb8-b1 + 4...Bf3-d1 5.Qb1*d1 # 4.Kd6-e7 threat: 5.Qg3*h2 # 4.Kd6-c5 threat: 5.Qg3*h2 # 4.Qg3*f3 + 4...Kh1-g1 5.Qb8-a7 # 5.Qb8-b1 # 5.Qb8-b6 # 5.Qb8-g8 # 3...Bf3-d1 4.Qb8-b1 threat: 5.Qb1*d1 # 4.Qb8-b7 + 4...Bd1-f3 5.Qb7*f3 # 4.Qb8-a8 + 4...Bd1-f3 5.Qa8*f3 # 4.Kd6-e7 threat: 5.Qg3*h2 # 4.Kd6-c5 threat: 5.Qg3*h2 # 3...Bf3-e2 4.Qb8-b1 + 4...Be2-d1 5.Qb1*d1 # 4...Be2-f1 5.Qb1*f1 # 4.Qb8-b7 + 4...Be2-f3 5.Qb7*f3 # 4.Qb8-a8 + 4...Be2-f3 5.Qa8*f3 # 4.Kd6-e7 threat: 5.Qg3*h2 # 4.Kd6-c5 threat: 5.Qg3*h2 # 3...Bf3-g2 4.Qb8-b1 + 4...Bg2-f1 5.Qb1*f1 # 4.Qb8-b2 threat: 5.Qg3*g2 # 5.Qb2*g2 # 4...Bg2-f1 5.Qg3*h2 # 5.Qb2*h2 # 4...Bg2-h3 5.Qg3*h2 # 5.Qb2*h2 # 4...Bg2-a8 5.Qg3-e1 # 5.Qg3*h2 # 5.Qb2-a1 # 5.Qb2-c1 # 5.Qb2-b1 # 5.Qb2*h2 # 4...Bg2-b7 5.Qg3-e1 # 5.Qg3*h2 # 5.Qb2-a1 # 5.Qb2-c1 # 5.Qb2-b1 # 5.Qb2*b7 # 5.Qb2*h2 # 4...Bg2-c6 5.Qg3-e1 # 5.Qg3*h2 # 5.Qb2-a1 # 5.Qb2-c1 # 5.Qb2-b1 # 5.Qb2*h2 # 4...Bg2-d5 5.Qg3-e1 # 5.Qg3*h2 # 5.Qb2-a1 # 5.Qb2-c1 # 5.Qb2-b1 # 5.Qb2*h2 # 4...Bg2-e4 5.Qg3-e1 # 5.Qg3*h2 # 5.Qb2-c1 # 5.Qb2*h2 # 4...Bg2-f3 5.Qg3-e1 # 5.Qg3*h2 # 5.Qb2*h2 # 4.Kd6-e7 threat: 5.Qg3*h2 # 4...Kh1-g1 5.Qb8-b1 # 4.Kd6-c5 threat: 5.Qg3*h2 # 4...Kh1-g1 5.Qb8-b1 # 4.Qg3-e1 + 4...Bg2-f1 5.Qe1*f1 # 3...Bf3-h5 4.Qb8-b1 + 4...Bh5-d1 5.Qb1*d1 # 4.Qb8-b7 + 4...Bh5-f3 5.Qb7*f3 # 4.Qb8-a8 + 4...Bh5-f3 5.Qa8*f3 # 4.Kd6-e7 threat: 5.Qg3*h2 # 4.Kd6-c5 threat: 5.Qg3*h2 # 3...Bf3-g4 4.Qb8-b1 + 4...Bg4-d1 5.Qb1*d1 # 4.Qb8-b7 + 4...Bg4-f3 5.Qb7*f3 # 4.Qb8-a8 + 4...Bg4-f3 5.Qa8*f3 # 4.Kd6-e7 threat: 5.Qg3*h2 # 4.Kd6-c5 threat: 5.Qg3*h2 # 4.Qg3*g4 threat: 5.Qb8-b1 # 5.Qb8-b7 # 5.Qb8-a8 # 3...Bf3-e4 4.Kd6-e7 threat: 5.Qg3*h2 # 4.Kd6-c5 threat: 5.Qg3*h2 # 3.b7-b8=B threat: 4.Kd6-e7 threat: 5.Qg3*h2 # 4.Kd6-c5 threat: 5.Qg3*h2 # 4.Qg3*f3 + 4...Kh1-g1 5.Bb8-a7 # 3...Bf3-d1 4.Kd6-e7 threat: 5.Qg3*h2 # 4.Kd6-c5 threat: 5.Qg3*h2 # 3...Bf3-e2 4.Kd6-e7 threat: 5.Qg3*h2 # 4.Kd6-c5 threat: 5.Qg3*h2 # 3...Bf3-g2 4.Qg3-e1 + 4...Bg2-f1 5.Qe1*f1 # 3...Bf3-h5 4.Kd6-e7 threat: 5.Qg3*h2 # 4.Kd6-c5 threat: 5.Qg3*h2 # 3...Bf3-g4 4.Kd6-e7 threat: 5.Qg3*h2 # 4.Kd6-c5 threat: 5.Qg3*h2 # 3...Bf3-a8 4.Kd6-e7 threat: 5.Qg3*h2 # 4.Kd6-c5 threat: 5.Qg3*h2 # 3...Bf3-b7 4.Kd6-e7 threat: 5.Qg3*h2 # 4.Kd6-c5 threat: 5.Qg3*h2 # 3...Bf3-c6 4.Kd6*c6 threat: 5.Qg3*h2 # 4.Kd6-e7 threat: 5.Qg3*h2 # 4.Kd6-c5 threat: 5.Qg3*h2 # 3...Bf3-d5 4.Kd6*d5 threat: 5.Qg3*h2 # 4.Kd6-e7 threat: 5.Qg3*h2 # 4.Kd6-c5 threat: 5.Qg3*h2 # 3...Bf3-e4 4.Kd6-e7 threat: 5.Qg3*h2 # 4.Kd6-c5 threat: 5.Qg3*h2 # 2...Bf3*b7 3.Qg3-f2 threat: 4.Qf2-f1 # 3...Bb7-g2 4.Qf2-e1 + 4...Bg2-f1 5.Qe1*f1 # 1...Ba8-e4 2.b6-b7 threat: 3.b7-b8=Q threat: 4.Kd6-e7 threat: 5.Qg3*h2 # 4.Kd6-c5 threat: 5.Qg3*h2 # 3.b7-b8=B threat: 4.Kd6-e7 threat: 5.Qg3*h2 # 4.Kd6-c5 threat: 5.Qg3*h2 # 3...Be4-g2 4.Qg3-e1 + 4...Bg2-f1 5.Qe1*f1 # 2...Be4*b7 3.Qg3-f2 threat: 4.Qf2-f1 # 3...Bb7-g2 4.Qf2-e1 + 4...Bg2-f1 5.Qe1*f1 #" --- authors: - Chéron, André source: L'Illustration date: 1936 algebraic: white: [Kc5, Re3, Bd1, Pa4] black: [Ka5, Pa7] stipulation: "#3" solution: | "1.Re3-e2 ! zugzwang. 1...a7-a6 2.Re2-c2 zugzwang. 2...Ka5*a4 3.Rc2-a2 # 1...Ka5-a6 2.Re2-e7 zugzwang. 2...Ka6-a5 3.Re7*a7 #" --- authors: - Chéron, André source: "????" date: 1936 algebraic: white: [Ka2, Re2, Bc2, Sg1] black: [Kc1, Pb4] stipulation: "#3" solution: | "1.Bc2-a4 ! zugzwang. 1...b4-b3 + 2.Ka2*b3 zugzwang. 2...Kc1-d1 3.Kb3-b2 # 2...Kc1-b1 3.Re2-e1 #" --- authors: - Chéron, André source: L'Illustration date: 1936 algebraic: white: [Kg1, Qa4, Ba3, Sb4] black: [Ka1, Bh3, Pb2] stipulation: "#3" solution: | "1.Qa4-a5 ! threat: 2.Qa5-e5 threat: 3.Qe5*b2 # 1...b2-b1=Q + 2.Ba3-c1 + 2...Qb1-a2 3.Qa5*a2 # 1...b2-b1=S 2.Sb4-c2 + 2...Ka1-a2 3.Qa5-d5 #" --- authors: - Chéron, André source: Le Temps date: 1936 algebraic: white: [Kb4, Rb5, Be8, Bb8, Pe3] black: [Ka6, Bd1] stipulation: "#6" solution: | "1.Be8-c6 ! threat: 2.Bc6-b7 # 1...Bd1-f3 2.e3-e4 threat: 3.Bc6-b7 # 2...Bf3*e4 3.Bc6-d7 threat: 4.Bd7-c8 + 4...Be4-b7 5.Bc8*b7 # 3...Be4-f5 4.Rb5*f5 threat: 5.Bd7-c8 + 5...Ka6-b6 6.Rf5-f6 # 4...Ka6-b6 5.Rf5-b5 + 5...Kb6-a6 6.Bd7-c8 # 4...Ka6-b7 5.Rf5-b5 + 5...Kb7-a8 6.Bd7-c6 # 5...Kb7-a6 6.Bd7-c8 # 3...Be4-b7 4.Bd7-h3 zugzwang. 4...Bb7-c6 5.Bh3-c8 + 5...Bc6-b7 6.Bc8*b7 # 4...Bb7-h1 5.Bh3-c8 + 5...Bh1-b7 6.Bc8*b7 # 4...Bb7-g2 5.Bh3-c8 + 5...Bg2-b7 6.Bc8*b7 # 4...Bb7-f3 5.Bh3-c8 + 5...Bf3-b7 6.Bc8*b7 # 4...Bb7-e4 5.Bh3-c8 + 5...Be4-b7 6.Bc8*b7 # 4...Bb7-d5 5.Bh3-c8 + 5...Bd5-b7 6.Bc8*b7 # 4...Bb7-c8 5.Bh3*c8 # 4...Bb7-a8 5.Bh3-c8 + 5...Ba8-b7 6.Bc8*b7 # 4.Bd7-g4 zugzwang. 4...Bb7-c6 5.Bg4-c8 + 5...Bc6-b7 6.Bc8*b7 # 4...Bb7-h1 5.Bg4-c8 + 5...Bh1-b7 6.Bc8*b7 # 4...Bb7-g2 5.Bg4-c8 + 5...Bg2-b7 6.Bc8*b7 # 4...Bb7-f3 5.Bg4-c8 + 5...Bf3-b7 6.Bc8*b7 # 4...Bb7-e4 5.Bg4-c8 + 5...Be4-b7 6.Bc8*b7 # 4...Bb7-d5 5.Bg4-c8 + 5...Bd5-b7 6.Bc8*b7 # 4...Bb7-c8 5.Bg4*c8 # 4...Bb7-a8 5.Bg4-c8 + 5...Ba8-b7 6.Bc8*b7 # 4.Bd7-f5 zugzwang. 4...Bb7-c6 5.Bf5-c8 + 5...Bc6-b7 6.Bc8*b7 # 4...Bb7-h1 5.Bf5-c8 + 5...Bh1-b7 6.Bc8*b7 # 4...Bb7-g2 5.Bf5-c8 + 5...Bg2-b7 6.Bc8*b7 # 4...Bb7-f3 5.Bf5-c8 + 5...Bf3-b7 6.Bc8*b7 # 4...Bb7-e4 5.Bf5-c8 + 5...Be4-b7 6.Bc8*b7 # 4...Bb7-d5 5.Bf5-c8 + 5...Bd5-b7 6.Bc8*b7 # 4...Bb7-c8 5.Bf5*c8 # 4...Bb7-a8 5.Bf5-c8 + 5...Ba8-b7 6.Bc8*b7 # 4.Bd7-e6 zugzwang. 4...Bb7-c6 5.Be6-c8 + 5...Bc6-b7 6.Bc8*b7 # 4...Bb7-h1 5.Be6-c8 + 5...Bh1-b7 6.Bc8*b7 # 4...Bb7-g2 5.Be6-c8 + 5...Bg2-b7 6.Bc8*b7 # 4...Bb7-f3 5.Be6-c8 + 5...Bf3-b7 6.Bc8*b7 # 4...Bb7-e4 5.Be6-c8 + 5...Be4-b7 6.Bc8*b7 # 4...Bb7-d5 5.Be6-c8 + 5...Bd5-b7 6.Bc8*b7 # 4...Bb7-c8 5.Be6*c8 # 4...Bb7-a8 5.Be6-c8 + 5...Ba8-b7 6.Bc8*b7 # 4.Kb4-a4 zugzwang. 4...Bb7-d5 5.Bd7-c8 + 5...Bd5-b7 6.Bc8*b7 # 4...Bb7-h1 5.Bd7-c8 + 5...Bh1-b7 6.Bc8*b7 # 4...Bb7-g2 5.Bd7-c8 + 5...Bg2-b7 6.Bc8*b7 # 4...Bb7-f3 5.Bd7-c8 + 5...Bf3-b7 6.Bc8*b7 # 4...Bb7-e4 5.Bd7-c8 + 5...Be4-b7 6.Bc8*b7 # 4...Bb7-c6 5.Bd7-c8 + 5...Bc6-b7 6.Bc8*b7 # 4...Bb7-c8 5.Bd7*c8 # 4...Bb7-a8 5.Bd7-c8 + 5...Ba8-b7 6.Bc8*b7 # 4.Kb4-c5 zugzwang. 4...Bb7-d5 5.Bd7-c8 + 5...Bd5-b7 6.Bc8*b7 # 4...Bb7-h1 5.Bd7-c8 + 5...Bh1-b7 6.Bc8*b7 # 4...Bb7-g2 5.Bd7-c8 + 5...Bg2-b7 6.Bc8*b7 # 4...Bb7-f3 5.Bd7-c8 + 5...Bf3-b7 6.Bc8*b7 # 4...Bb7-e4 5.Bd7-c8 + 5...Be4-b7 6.Bc8*b7 # 4...Bb7-c6 5.Bd7-c8 + 5...Bc6-b7 6.Bc8*b7 # 4...Bb7-c8 5.Bd7*c8 # 4...Bb7-a8 5.Bd7-c8 + 5...Ba8-b7 6.Bc8*b7 # 1.Kb4-c5 ! threat: 2.Be8-c6 threat: 3.Bc6-b7 # 2...Bd1-f3 3.Rb5-b7 threat: 4.Rb7-a7 # 2.Rb5-b6 + 2...Ka6-a5 3.Be8-b5 threat: 4.Rb6-a6 # 3.Bb8-g3 threat: 4.Bg3-e1 # 3.Bb8-e5 threat: 4.Be5-c3 # 3.Bb8-c7 threat: 4.Rb6-h6 # 4.Rb6-g6 # 4.Rb6-f6 # 4.Rb6-e6 # 4.Rb6-d6 # 3.Rb6-h6 threat: 4.Bb8-c7 # 3.Rb6-g6 threat: 4.Bb8-c7 # 3.Rb6-f6 threat: 4.Bb8-c7 # 3.Rb6-e6 threat: 4.Bb8-c7 # 3.Rb6-d6 threat: 4.Bb8-c7 # 1...Bd1-g4 2.Be8-c6 threat: 3.Bc6-b7 # 2...Bg4-f3 3.Rb5-b7 threat: 4.Rb7-a7 # 2...Bg4-c8 3.Bc6-h1 zugzwang. 3...Bc8-b7 4.Bh1*b7 # 3...Bc8-h3 4.Bh1-b7 # 3...Bc8-g4 4.Bh1-b7 # 3...Bc8-f5 4.Bh1-b7 # 3...Bc8-e6 4.Bh1-b7 # 3...Bc8-d7 4.Bh1-b7 # 3.Bc6-g2 zugzwang. 3...Bc8-b7 4.Bg2*b7 # 3...Bc8-h3 4.Bg2-b7 # 3...Bc8-g4 4.Bg2-b7 # 3...Bc8-f5 4.Bg2-b7 # 3...Bc8-e6 4.Bg2-b7 # 3...Bc8-d7 4.Bg2-b7 # 3.Bc6-f3 zugzwang. 3...Bc8-b7 4.Bf3*b7 # 3...Bc8-h3 4.Bf3-b7 # 3...Bc8-g4 4.Bf3-b7 # 3...Bc8-f5 4.Bf3-b7 # 3...Bc8-e6 4.Bf3-b7 # 3...Bc8-d7 4.Bf3-b7 # 3.Bc6-e4 zugzwang. 3...Bc8-b7 4.Be4*b7 # 3...Bc8-h3 4.Be4-b7 # 3...Bc8-g4 4.Be4-b7 # 3...Bc8-f5 4.Be4-b7 # 3...Bc8-e6 4.Be4-b7 # 3...Bc8-d7 4.Be4-b7 # 3.Bc6-d5 zugzwang. 3...Bc8-b7 4.Bd5*b7 # 3...Bc8-h3 4.Bd5-b7 # 3...Bc8-g4 4.Bd5-b7 # 3...Bc8-f5 4.Bd5-b7 # 3...Bc8-e6 4.Bd5-b7 # 3...Bc8-d7 4.Bd5-b7 # 3.Bc6-a8 zugzwang. 3...Bc8-b7 4.Ba8*b7 # 3...Bc8-h3 4.Ba8-b7 # 3...Bc8-g4 4.Ba8-b7 # 3...Bc8-f5 4.Ba8-b7 # 3...Bc8-e6 4.Ba8-b7 # 3...Bc8-d7 4.Ba8-b7 # 3.Kc5-b4 zugzwang. 3...Bc8-e6 4.Bc6-b7 # 3...Bc8-b7 4.Bc6*b7 # 3...Bc8-h3 4.Bc6-b7 # 3...Bc8-g4 4.Bc6-b7 # 3...Bc8-f5 4.Bc6-b7 # 3...Bc8-d7 4.Bc6-b7 # 3.Rb5-b3 threat: 4.Rb3-a3 # 3.Rb5-b4 threat: 4.Rb4-a4 # 3.e3-e4 zugzwang. 3...Bc8-b7 4.Bc6*b7 # 3...Bc8-h3 4.Bc6-b7 # 3...Bc8-g4 4.Bc6-b7 # 3...Bc8-f5 4.Bc6-b7 # 3...Bc8-e6 4.Bc6-b7 # 3...Bc8-d7 4.Bc6-b7 # 1...Bd1-f3 2.Be8-d7 threat: 3.Bd7-c8 + 3...Bf3-b7 4.Bc8*b7 # 2...Bf3-g4 3.Bd7-c6 threat: 4.Bc6-b7 # 3...Bg4-f3 4.Rb5-b7 threat: 5.Rb7-a7 # 3...Bg4-c8 4.Bc6-h1 zugzwang. 4...Bc8-b7 5.Bh1*b7 # 4...Bc8-h3 5.Bh1-b7 # 4...Bc8-g4 5.Bh1-b7 # 4...Bc8-f5 5.Bh1-b7 # 4...Bc8-e6 5.Bh1-b7 # 4...Bc8-d7 5.Bh1-b7 # 4.Bc6-g2 zugzwang. 4...Bc8-b7 5.Bg2*b7 # 4...Bc8-h3 5.Bg2-b7 # 4...Bc8-g4 5.Bg2-b7 # 4...Bc8-f5 5.Bg2-b7 # 4...Bc8-e6 5.Bg2-b7 # 4...Bc8-d7 5.Bg2-b7 # 4.Bc6-f3 zugzwang. 4...Bc8-b7 5.Bf3*b7 # 4...Bc8-h3 5.Bf3-b7 # 4...Bc8-g4 5.Bf3-b7 # 4...Bc8-f5 5.Bf3-b7 # 4...Bc8-e6 5.Bf3-b7 # 4...Bc8-d7 5.Bf3-b7 # 4.Bc6-e4 zugzwang. 4...Bc8-b7 5.Be4*b7 # 4...Bc8-h3 5.Be4-b7 # 4...Bc8-g4 5.Be4-b7 # 4...Bc8-f5 5.Be4-b7 # 4...Bc8-e6 5.Be4-b7 # 4...Bc8-d7 5.Be4-b7 # 4.Bc6-d5 zugzwang. 4...Bc8-b7 5.Bd5*b7 # 4...Bc8-h3 5.Bd5-b7 # 4...Bc8-g4 5.Bd5-b7 # 4...Bc8-f5 5.Bd5-b7 # 4...Bc8-e6 5.Bd5-b7 # 4...Bc8-d7 5.Bd5-b7 # 4.Bc6-a8 zugzwang. 4...Bc8-b7 5.Ba8*b7 # 4...Bc8-h3 5.Ba8-b7 # 4...Bc8-g4 5.Ba8-b7 # 4...Bc8-f5 5.Ba8-b7 # 4...Bc8-e6 5.Ba8-b7 # 4...Bc8-d7 5.Ba8-b7 # 4.Kc5-b4 zugzwang. 4...Bc8-e6 5.Bc6-b7 # 4...Bc8-b7 5.Bc6*b7 # 4...Bc8-h3 5.Bc6-b7 # 4...Bc8-g4 5.Bc6-b7 # 4...Bc8-f5 5.Bc6-b7 # 4...Bc8-d7 5.Bc6-b7 # 4.Rb5-b3 threat: 5.Rb3-a3 # 4.Rb5-b4 threat: 5.Rb4-a4 # 4.e3-e4 zugzwang. 4...Bc8-b7 5.Bc6*b7 # 4...Bc8-h3 5.Bc6-b7 # 4...Bc8-g4 5.Bc6-b7 # 4...Bc8-f5 5.Bc6-b7 # 4...Bc8-e6 5.Bc6-b7 # 4...Bc8-d7 5.Bc6-b7 # 2...Bf3-b7 3.Bd7-h3 zugzwang. 3...Bb7-c6 4.Bh3-c8 + 4...Bc6-b7 5.Bc8*b7 # 3...Bb7-h1 4.Bh3-c8 + 4...Bh1-b7 5.Bc8*b7 # 3...Bb7-g2 4.Bh3-c8 + 4...Bg2-b7 5.Bc8*b7 # 3...Bb7-f3 4.Bh3-c8 + 4...Bf3-b7 5.Bc8*b7 # 3...Bb7-e4 4.Bh3-c8 + 4...Be4-b7 5.Bc8*b7 # 3...Bb7-d5 4.Bh3-c8 + 4...Bd5-b7 5.Bc8*b7 # 3...Bb7-c8 4.Bh3*c8 # 3...Bb7-a8 4.Bh3-c8 + 4...Ba8-b7 5.Bc8*b7 # 3.Bd7-g4 zugzwang. 3...Bb7-c6 4.Bg4-c8 + 4...Bc6-b7 5.Bc8*b7 # 3...Bb7-h1 4.Bg4-c8 + 4...Bh1-b7 5.Bc8*b7 # 3...Bb7-g2 4.Bg4-c8 + 4...Bg2-b7 5.Bc8*b7 # 3...Bb7-f3 4.Bg4-c8 + 4...Bf3-b7 5.Bc8*b7 # 3...Bb7-e4 4.Bg4-c8 + 4...Be4-b7 5.Bc8*b7 # 3...Bb7-d5 4.Bg4-c8 + 4...Bd5-b7 5.Bc8*b7 # 3...Bb7-c8 4.Bg4*c8 # 3...Bb7-a8 4.Bg4-c8 + 4...Ba8-b7 5.Bc8*b7 # 3.Bd7-f5 zugzwang. 3...Bb7-c6 4.Bf5-c8 + 4...Bc6-b7 5.Bc8*b7 # 3...Bb7-h1 4.Bf5-c8 + 4...Bh1-b7 5.Bc8*b7 # 3...Bb7-g2 4.Bf5-c8 + 4...Bg2-b7 5.Bc8*b7 # 3...Bb7-f3 4.Bf5-c8 + 4...Bf3-b7 5.Bc8*b7 # 3...Bb7-e4 4.Bf5-c8 + 4...Be4-b7 5.Bc8*b7 # 3...Bb7-d5 4.Bf5-c8 + 4...Bd5-b7 5.Bc8*b7 # 3...Bb7-c8 4.Bf5*c8 # 3...Bb7-a8 4.Bf5-c8 + 4...Ba8-b7 5.Bc8*b7 # 3.Bd7-e6 zugzwang. 3...Bb7-c6 4.Be6-c8 + 4...Bc6-b7 5.Bc8*b7 # 3...Bb7-h1 4.Be6-c8 + 4...Bh1-b7 5.Bc8*b7 # 3...Bb7-g2 4.Be6-c8 + 4...Bg2-b7 5.Bc8*b7 # 3...Bb7-f3 4.Be6-c8 + 4...Bf3-b7 5.Bc8*b7 # 3...Bb7-e4 4.Be6-c8 + 4...Be4-b7 5.Bc8*b7 # 3...Bb7-d5 4.Be6-c8 + 4...Bd5-b7 5.Bc8*b7 # 3...Bb7-c8 4.Be6*c8 # 3...Bb7-a8 4.Be6-c8 + 4...Ba8-b7 5.Bc8*b7 # 3.Kc5-b4 zugzwang. 3...Bb7-d5 4.Bd7-c8 + 4...Bd5-b7 5.Bc8*b7 # 3...Bb7-h1 4.Bd7-c8 + 4...Bh1-b7 5.Bc8*b7 # 3...Bb7-g2 4.Bd7-c8 + 4...Bg2-b7 5.Bc8*b7 # 3...Bb7-f3 4.Bd7-c8 + 4...Bf3-b7 5.Bc8*b7 # 3...Bb7-e4 4.Bd7-c8 + 4...Be4-b7 5.Bc8*b7 # 3...Bb7-c6 4.Bd7-c8 + 4...Bc6-b7 5.Bc8*b7 # 3...Bb7-c8 4.Bd7*c8 # 3...Bb7-a8 4.Bd7-c8 + 4...Ba8-b7 5.Bc8*b7 # 3.Rb5-b3 threat: 4.Rb3-a3 # 3...Bb7-h1 4.Bd7-c8 + 4...Bh1-b7 5.Rb3-a3 # 4...Ka6-a5 5.Rb3-a3 # 3...Bb7-g2 4.Bd7-c8 + 4...Bg2-b7 5.Rb3-a3 # 4...Ka6-a5 5.Rb3-a3 # 3...Bb7-f3 4.Bd7-c8 + 4...Bf3-b7 5.Rb3-a3 # 4...Ka6-a5 5.Rb3-a3 # 3...Bb7-e4 4.Bd7-c8 + 4...Be4-b7 5.Rb3-a3 # 4...Ka6-a5 5.Rb3-a3 # 3...Bb7-d5 4.Bd7-c8 + 4...Bd5-b7 5.Rb3-a3 # 4...Ka6-a5 5.Rb3-a3 # 3...Bb7-c6 4.Bd7*c6 threat: 5.Rb3-a3 # 3...Bb7-c8 4.Bd7-c6 threat: 5.Rb3-a3 # 4.Bd7*c8 + 4...Ka6-a5 5.Rb3-a3 # 3...Bb7-a8 4.Bd7-c8 + 4...Ka6-a5 5.Rb3-a3 # 4...Ba8-b7 5.Rb3-a3 # 3.Rb5-b4 threat: 4.Rb4-a4 # 3...Bb7-h1 4.Bd7-c8 + 4...Bh1-b7 5.Rb4-a4 # 4...Ka6-a5 5.Bb8-c7 # 3...Bb7-g2 4.Bd7-c8 + 4...Bg2-b7 5.Rb4-a4 # 4...Ka6-a5 5.Bb8-c7 # 3...Bb7-f3 4.Bd7-c8 + 4...Bf3-b7 5.Rb4-a4 # 4...Ka6-a5 5.Bb8-c7 # 3...Bb7-e4 4.Bd7-c8 + 4...Be4-b7 5.Rb4-a4 # 4...Ka6-a5 5.Bb8-c7 # 3...Bb7-d5 4.Bd7-c8 + 4...Bd5-b7 5.Rb4-a4 # 4...Ka6-a5 5.Bb8-c7 # 3...Bb7-c6 4.Bd7*c6 threat: 5.Rb4-a4 # 4.Bd7-c8 + 4...Ka6-a5 5.Bb8-c7 # 4...Bc6-b7 5.Rb4-a4 # 3...Bb7-c8 4.Bd7-c6 threat: 5.Rb4-a4 # 4.Bd7*c8 + 4...Ka6-a5 5.Bb8-c7 # 3...Bb7-a8 4.Bd7-c8 + 4...Ka6-a5 5.Bb8-c7 # 4...Ba8-b7 5.Rb4-a4 # 3.Rb5-a5 + 3...Ka6*a5 4.Bd7-b5 threat: 5.Bb8-c7 # 3.Rb5-b6 + 3...Ka6-a5 4.Rb6*b7 threat: 5.Rb7-a7 # 3.e3-e4 zugzwang. 3...Bb7*e4 4.Bd7-c8 + 4...Be4-b7 5.Bc8*b7 # 3...Bb7-d5 4.Bd7-c8 + 4...Bd5-b7 5.Bc8*b7 # 3...Bb7-c6 4.Bd7-c8 + 4...Bc6-b7 5.Bc8*b7 # 3...Bb7-c8 4.Bd7*c8 # 3...Bb7-a8 4.Bd7-c8 + 4...Ba8-b7 5.Bc8*b7 # 2.Bb8-c7 threat: 3.Be8-c6 threat: 4.Rb5-a5 # 3...Bf3*c6 4.Kc5*c6 threat: 5.Rb5-a5 # 2...Bf3-e2 3.Rb5-b6 + 3...Ka6-a7 4.Be8-c6 threat: 5.Bc7-b8 # 4.Bc7-b8 + 4...Ka7-a8 5.Be8-c6 # 3...Ka6-a5 4.Rb6-h6 # 4.Rb6-g6 # 4.Rb6-f6 # 4.Rb6-e6 # 4.Rb6-d6 # 2.Rb5-b6 + 2...Ka6-a5 3.Be8-b5 threat: 4.Rb6-a6 # 3...Bf3-b7 4.Rb6-a6 + 4...Bb7*a6 5.Bb8-c7 # 4.Bb8-g3 threat: 5.Bg3-e1 # 4.Bb8-e5 threat: 5.Be5-c3 # 4.Bb8-c7 threat: 5.Rb6-a6 # 5.Rb6*b7 # 5.Rb6-h6 # 5.Rb6-g6 # 5.Rb6-f6 # 5.Rb6-e6 # 5.Rb6-d6 # 5.Rb6-c6 # 4...Bb7-c6 5.Rb6-a6 # 5.Rb6-b8 # 5.Rb6-b7 # 5.Rb6*c6 # 4.Rb6-h6 threat: 5.Bb8-c7 # 4.Rb6-g6 threat: 5.Bb8-c7 # 4.Rb6-f6 threat: 5.Bb8-c7 # 4.Rb6-e6 threat: 5.Bb8-c7 # 4.Rb6-d6 threat: 5.Bb8-c7 # 4.Rb6-c6 threat: 5.Bb8-c7 # 3.Rb6-b7 threat: 4.Rb7-a7 # 3...Bf3-e2 4.Rb7-a7 + 4...Be2-a6 5.Bb8-c7 # 3...Bf3*b7 4.Be8-b5 threat: 5.Bb8-c7 # 1...Bd1-e2 2.Rb5-b6 + 2...Ka6-a5 3.Rb6-b7 threat: 4.Rb7-a7 + 4...Be2-a6 5.Bb8-c7 # 1...Bd1-a4 2.Rb5-b6 + 2...Ka6-a5 3.Rb6-b7 threat: 4.Rb7-a7 # 3...Ba4-b5 4.Rb7-a7 + 4...Bb5-a6 5.Bb8-c7 #" --- authors: - Chéron, André source: Journal de Genève date: 1936-07-28 algebraic: white: [Kb5, Qh3, Bh2] black: [Ka7, Rb8, Ra8, Pb6] stipulation: "#2" solution: | "1...Kb7[a]/Re8/Rf8/Rg8/Rh8 2.Qd7#[A] 1...Rb7[b] 2.Qa3#[B] 1.Qg3? zz 1...Kb7[a]/Rd8[c]/Re8/Rf8/Rg8 2.Qc7#[C] 1...Rb7[b] 2.Qa3#[B] 1...Rh8 2.Qg7#/Qc7#[C] but 1...Rc8! 1.Kc6?? (2.Qa3#[B]) but 1...Rc8+! 1.Qe3?? zz 1...Rb7[b] 2.Qa3#[B] 1...Rc8/Rd8[c]/Re8 2.Qxb6#[D] 1...Rf8/Rg8/Rh8 2.Qe7#/Qxb6#[D] but 1...Kb7[a]! 1.Qc3?? zz 1...Kb7[a]/Rd8[c]/Re8/Rf8/Rg8 2.Qc7#[C] 1...Rb7[b] 2.Qa3#[B]/Qa1# 1...Rh8 2.Qc7#[C]/Qg7# but 1...Rc8! 1.Qe6! zz 1...Kb7[a] 2.Qd7#[A] 1...Rb7[b] 2.Qa2#[E] 1...Rc8/Rd8[c] 2.Qxb6#[D] 1...Re8 2.Qxb6#[D]/Qd7#[A] 1...Rf8 2.Qe7#/Qxb6#[D]/Qd7#[A] 1...Rg8/Rh8 2.Qe7#/Qxb6#[D]/Qf7#/Qd7#[A]" keywords: - Black correction - Changed mates --- authors: - Chéron, André source: Journal de Genève date: 1936 algebraic: white: [Kh7, Qd5, Se4, Pg3] black: [Kh5, Bh3, Sf5] stipulation: "#2" solution: | "1...Kg4[a] 2.Qd1#[A] 1...Bg4[b] 2.Qf7#[B] 1...Bg2/Bf1 2.Qxf5# 1.Qd2?? (2.Nf6#/Qg5#) 1...Kg4[a] 2.Qd1#[A]/Qe2#[C] 1...Nxg3 2.Qg5# but 1...Ne3! 1.Qd7?? zz 1...Kg4[a] 2.Qd1#[A] 1...Bg4[b] 2.Qf7#[B]/Qe8#[D] 1...Bg2/Bf1 2.Qxf5# 1...Nxg3/Ng7/Nh6/Ne3/Ne7/Nd4/Nd6 2.Qxh3# but 1...Nh4! 1.Qd8?? (2.Qg5#) 1...Kg4[a] 2.Qd1#[A] but 1...Ne7! 1.Qe5?? zz 1...Bg4[b] 2.Qe8#[D] 1...Bg2/Bf1 2.Qxf5# but 1...Kg4[a]! 1.Qg8?? (2.Nf6#/Qg6#/Qg5#) 1...Nxg3 2.Qg5# 1...Nh4/Ne7 2.Nf6#/Qg5# but 1...Ng7! 1.Qb5! zz 1...Kg4[a] 2.Qe2#[C] 1...Bg4[b] 2.Qe8#[D] 1...Bg2/Bf1 2.Qxf5#" keywords: - Black correction - Changed mates - Mutate --- authors: - Chéron, André source: L'Illustration date: 1936 algebraic: white: [Kd1, Qg3, Ph3] black: [Kh1, Bb7, Ph2, Pc5] stipulation: "#4" solution: | "1.Kd1-e2 ! threat: 2.Ke2-f2 threat: 3.Qg3-g4 threat: 4.Qg4-d1 # 3...Bb7-a6 4.Qg4-f3 # 4.Qg4-g2 # 4.Qg4-e4 # 3...Bb7-g2 4.Qg4*g2 # 3...Bb7-f3 4.Qg4*f3 # 1...c5-c4 2.Qg3-f2 threat: 3.Qf2-f1 # 2...Bb7-g2 3.Qf2-e1 + 3...Bg2-f1 + 4.Qe1*f1 # 2...Bb7-f3 + 3.Qf2*f3 + 3...Kh1-g1 4.Qf3-f1 # 3.Ke2*f3 threat: 4.Qf2-e1 # 4.Qf2-f1 # 4.Qf2-g2 #" --- authors: - Chéron, André source: Le Temps date: 1936 algebraic: white: [Kd4, Qe5, Bc4, Bc1] black: [Ka4, Rb7, Pa5] stipulation: "#3" solution: | "1.Qe5-f5 ! threat: 2.Qf5-c2 + 2...Ka4-b4 3.Qc2-b3 # 2...Rb7-b3 3.Qc2*b3 # 1...Ka4-b4 2.Qf5-c5 + 2...Kb4-a4 3.Qc5-a3 # 1...Rb7-b1 2.Qf5-d7 + 2...Rb1-b5 3.Qd7*b5 # 2...Ka4-b4 3.Qd7-b5 # 1...Rb7-b2 2.Bc1*b2 threat: 3.Qf5-b5 # 1...Rb7-d7 + 2.Qf5*d7 + 2...Ka4-b4 3.Qd7-b5 #" --- authors: - Chéron, André source: L'Illustration date: 1936-09-12 algebraic: white: [Kc4, Rf8, Bf7, Pg7, Pc5] black: [Kb7, Pc7] stipulation: "#3" solution: | "1. Rf8-h8! (2. g7-g8Q ~ 3.Qg8-a8#) c7-c6 2. g7-g8Q Kb7-c7 3. Qg8-c8#" --- authors: - Chéron, André source: L'Illustration date: 1936 algebraic: white: [Ke3, Qg6, Rb1, Bg8] black: [Kc5, Sa5, Pc6] stipulation: "#3" solution: | "1.Bg8-a2 ! zugzwang. 1...Sa5-b3 2.Rb1*b3 zugzwang. 2...Kc5-d5 3.Rb3-b5 # 2...Kc5-c4 3.Qg6*c6 # 1...Sa5-c4 + 2.Ba2*c4 zugzwang. 2...Kc5*c4 3.Qg6*c6 # 1...Sa5-b7 2.Qg6-d3 threat: 3.Qd3-a3 # 3.Qd3-d4 # 2.Qg6-g3 threat: 3.Qg3-e5 # 2.Qg6-e6 threat: 3.Qe6-e5 # 2.Qg6-f6 threat: 3.Qf6-d4 # 3.Qf6-e5 #" --- authors: - Chéron, André source: Le Temps date: 1936 algebraic: white: [Kc8, Qg6, Bg2] black: [Ka7, Bf1, Sc7, Pb7] stipulation: "#3" solution: | "1.Kc8*c7 ! threat: 2.Qg6-b6 + 2...Ka7-a8 3.Qb6*b7 # 3.Bg2*b7 # 2.Bg2*b7 threat: 3.Qg6-g1 # 3.Qg6-b6 # 2...Bf1-g2 3.Qg6-a6 # 3.Qg6-b6 # 1...Bf1*g2 2.Qg6-b6 + 2...Ka7-a8 3.Qb6-a5 # 1...Bf1-a6 2.Qg6-b6 + 2...Ka7-a8 3.Qb6*a6 # 1...Bf1-d3 2.Qg6*d3 threat: 3.Qd3-a3 # 2.Qg6-b6 + 2...Ka7-a8 3.Qb6*b7 # 3.Bg2*b7 #" --- authors: - Chéron, André source: Le Temps date: 1936 algebraic: white: [Kg6, Qa3, Bf5, Pe2] black: [Kh4, Bg2, Sg5] stipulation: "#4" solution: | "1.Qa3-e3 ! threat: 2.Qe3-f2 # 2.Qe3*g5 # 2.Qe3-f4 # 1...Bg2-h3 2.Qe3-f2 # 2.Qe3*g5 # 1...Bg2-f3 2.Qe3-f2 # 2.Qe3*g5 # 1...Sg5-e4 2.Qe3-f4 # 1...Sg5-f3 2.Qe3-f2 # 2.Qe3-f4 # 1...Sg5-h3 2.Kg6-h6 zugzwang. 2...Sh3-f4 3.Qe3-f2 # 3.Qe3*f4 # 2...Bg2-f1 3.Qe3-f3 threat: 4.Qf3-g4 # 3...Bf1*e2 4.Qf3*h3 # 3...Sh3-f2 4.Qf3*f2 # 2...Bg2-h1 3.Qe3*h3 # 2...Bg2-a8 3.Qe3*h3 # 2...Bg2-b7 3.Qe3*h3 # 2...Bg2-c6 3.Qe3*h3 # 2...Bg2-d5 3.Qe3*h3 # 2...Bg2-e4 3.Qe3*h3 # 2...Bg2-f3 3.Qe3*f3 threat: 4.Qf3-g4 # 4.Qf3*h3 # 3...Sh3-f2 4.Qf3*f2 # 3...Sh3-g1 4.Qf3-g4 # 4.Qf3-f2 # 4.Qf3-f4 # 3...Sh3-g5 4.Qf3-g4 # 4.Qf3-f2 # 4.Qf3-f4 # 3...Sh3-f4 4.Qf3-g4 # 4.Qf3-f2 # 4.Qf3*f4 # 2...Sh3-f2 3.Qe3*f2 # 3.Qe3-g5 # 2...Sh3-g1 3.Qe3-g5 # 3.Qe3-f2 # 3.Qe3-f4 # 2...Sh3-g5 3.Qe3-f4 # 3.Qe3-f2 # 3.Qe3*g5 # 1...Sg5-h7 2.Qe3-f2 # 2.Qe3-f4 # 1...Sg5-f7 2.Qe3-f2 # 2.Qe3-f4 # 1...Sg5-e6 2.Qe3-f2 #" --- authors: - Chéron, André source: | Lehr- und Handbuch der Endspiele date: 1952 algebraic: white: [Kc6, Qd8] black: [Ka7, Rb7] stipulation: "#10" solution: --- authors: - Chéron, André source: Journal de Genève date: 1970-12-29 algebraic: white: [Ka8, Re6, Bg6, Sb8, Pg5] black: [Kf8, Ba1] stipulation: "#5" solution: | "1.Sb8-c6 ! threat: 2.Re6-e8 + 2...Kf8-g7 3.Sc6-e7 threat: 4.Re8-g8 # 1...Ba1-h8 ! {(tempo!)} 2.Ka8-b7 ! zugzwang. 2...Bh8-e5 3.Re6-e8 + 3...Kf8-g7 4.Sc6-e7 threat: 5.Re8-g8 # 2...Kf8-g8 3.Sc6-e7 + 3...Kg8-f8 4.Se7-f5 threat: 5.Re6-e8 # 3...Kg8-g7 4.Se7-f5 + 4...Kg7-g8 5.Re6-e8 # 4...Kg7-f8 5.Re6-e8 # 2...Kf8-g7 3.Sc6-e7 3.Re6-f6 {(dual)} 2...Bh8-a1 {(B...b2)} 3.Re6-e8 + 3...Kf8-g7 4.Sc6-e7 threat: 5.Re8-g8 # 2.Re6-d6 !? 2...Bh8-a1 3.Rd6-d8 + 3...Kf8-g7 4.Sc6-e7 4...Ba1-b2 5.Rd8-g8 # 2...Kf8-g7 ? 3.Rd6-f6 ! 3...Kg7-g8 4.Sc6-e7 + 4...Kg8-g7 5.Rf6-f7 # 2...Kf8-g8 ! 1...Kf8-g7 2.Sc6-e7 threat: 3.Se7-f5 + 3...Kg7-g8 4.Re6-e8 # 3...Kg7-f8 4.Re6-e8 # 3...Kg7-h8 4.Re6-e8 # 2...Ba1-f6 3.Re6*f6 threat: 4.Rf6-f7 + 4...Kg7-h8 5.Rf7-h7 # 3...Kg7-h8 4.Rf6-f8 + 4...Kh8-g7 5.Rf8-g8 # 2...Kg7-h8 3.Se7-f5 threat: 4.Re6-e8 # 3...Ba1-g7 4.Re6-e8 + 4...Bg7-f8 5.Re8*f8 #" keywords: - Anti-Kling - Kling - Seeberger comments: - "Reeinterpretation of a Kling into a Seeberger. 2.Rd6? Kg7? 3.Rf6 Discovered by Eisert, Stephan in \Die Schwalbe\ 289/2018, p372, with the position of 68430" - no declaration of Zepler's 132275 --- authors: - Chéron, André source: Journal de Genève date: 1971 algebraic: white: [Kg1, Rd5, Bg4, Sf6, Sc1] black: [Kf4] stipulation: "#3" solution: | "1.Bg4-d1 ! zugzwang. 1...Kf4-g3 2.Sc1-e2 + 2...Kg3-h3 3.Rd5-h5 # 2...Kg3-f3 3.Rd5-d3 # 2...Kg3-h4 3.Rd5-h5 # 1...Kf4-e3 2.Sc1-e2 zugzwang. 2...Ke3-f3 3.Rd5-d3 #" --- authors: - Chéron, André source: Journal de Genève date: 1971 algebraic: white: [Ka5, Re7, Rd1] black: [Kc6, Sh8, Pg6, Pc4] stipulation: "#5" solution: | "1.Re7-a7 ! threat: 2.Rd1-d7 threat: 3.Ra7-c7 # 1...Sh8-f7 2.Ra7*f7 threat: 3.Rf7-a7 threat: 4.Rd1-d7 threat: 5.Ra7-c7 # 3.Rf7-d7 threat: 4.Ka5-b4 threat: 5.Rd1-d6 # 3.Ka5-b4 threat: 4.Rf7-d7 threat: 5.Rd1-d6 # 2...c4-c3 3.Rf7-a7 threat: 4.Rd1-d7 threat: 5.Ra7-c7 #" --- authors: - Chéron, André source: Journal de Genève date: 1971 algebraic: white: [Kf2, Rh1, Be4, Bc7, Pd4] black: [Kg4, Pg6] stipulation: "#3" solution: | "1.Rh1-h8 ! zugzwang. 1...Kg4-g5 2.Bc7-d8 + 2...Kg5-g4 3.Rh8-h4 # 2...Kg5-f4 3.Rh8-h4 # 1...g6-g5 2.Be4-h7 zugzwang. 2...Kg4-h4 3.Bh7-f5 # 2...Kg4-h5 3.Bh7-f5 # 2...Kg4-h3 3.Bh7-f5 #" comments: - anticipated 129047 --- authors: - Chéron, André source: Journal de Genève date: 1971 algebraic: white: [Kg8, Rh3, Be5, Pg4, Pf3] black: [Kg6] stipulation: "#3" solution: | "1.Rh3-h8 ! zugzwang. 1...Kg6-g5 2.Kg8-h7 zugzwang. 2...Kg5-h4 3.Kh7-g6 #" --- authors: - Chéron, André source: Journal de Genève date: 1972 algebraic: white: [Kd5, Qf6, Rg4, Re5, Bd6, Bd3, Sd4, Sc1, Pg7, Pe2] black: [Kc3, Qh8, Rb3, Ra5, Bb2, Ba2, Pd2, Pc5, Pc2] stipulation: "#2" solution: | "1...Rab5 2.Nxa2# 1.Nb5+?? 1...Raxb5 2.Ree4#/Re3#/Re6#/Re7#/Re8#/Rf5#/Reg5#/Rh5#/Rc4#/Nxa2# but 1...Rbxb5+! 1.Re3! (2.Ne6#/Nf3#/Nf5#/Nxc2#/Nc6#/Ndxb3#/Nb5#) 1...Kb4 2.Nxc2# 1...Bxc1 2.Ne6#/Nf3#/Nf5#/Nxc2#/Nc6#/Nb5# 1...dxc1Q/dxc1R/dxc1B/dxc1N/Qh1+ 2.Nf3# 1...d1Q/d1R/d1B/d1N 2.Nf3#/Ndxb3# 1...Ra4/c4+/Qh6/Qh4/Qh2/Qf8/Qd8/Qxg7 2.Nb5# 1...Rb4+ 2.Bc4# 1...Rbb5+/Rb6+/Rb7+/Rb8+/Rba3+ 2.Ndb3# 1...cxd4+ 2.Bb5# 1...Qh5+ 2.Nf5# 1...Qg8+ 2.Ne6# 1...Qe8 2.Ne6#/Nb5# 1...Qa8+ 2.Nc6#" keywords: - Fleck - Karlstrom-Fleck --- authors: - Chéron, André source: Journal de Genève date: 1972-08-12 algebraic: white: [Ke4, Qf1, Rf4, Rb1, Bg5, Be2, Se3, Sa2, Pg3] black: [Kd2, Qh1, Ra4, Be8, Se5, Pg2, Pd4, Pc2] stipulation: "#2" solution: | "1...c1N 2.Rb2# 1...Qh2/Qh3/Qh4/Qh5/Qh6/Qh8 2.Qe1# 1.Nc4+?? 1...Rxc4 2.Rf3#/Rf2#/Rf5#/Rf6#/Rf7#/Rf8#/Rg4#/Rh4# but 1...Nxc4! 1.Qc1+?? 1...Kxe2 2.Qxc2# but 1...Qxc1! 1.Rf2! (2.Bf3#/Bg4#/Bh5#/Bd1#/Bd3#/Bc4#/Bb5#/Ba6#/Nf5#/Nxg2#/Ng4#/Nd1#/Nd5#/Nc4#) 1...Ra3/Nf7/Ng6 2.Bf3#/Bg4#/Bh5#/Bd1#/Bd3#/Bc4#/Bb5#/Ba6#/Nc4# 1...Rxa2 2.Nd1#/Nd5# 1...Rc4 2.Bf3#/Bg4#/Bh5#/Bd1#/Bd3#/Bxc4#/Nf5#/Nxg2#/Ng4#/Nd1#/Nd5#/Nxc4# 1...Bg6+/Qh7+ 2.Nf5# 1...Bh5 2.Bf3#/Bg4#/Bxh5#/Nf5#/Nxg2#/Ng4#/Nd1#/Nd5#/Nc4# 1...Bc6+ 2.Nd5# 1...Bb5 2.Bd3#/Bc4#/Bxb5#/Nf5#/Nxg2#/Ng4#/Nd1#/Nd5#/Nc4# 1...Nf3 2.Bxf3#/Bd1#/Bd3#/Bc4#/Bb5#/Ba6#/Nc4# 1...Ng4 2.Bxg4#/Nxg4#/Nc4# 1...Nd3 2.Bxd3#/Nc4# 1...Nc4 2.Bf3#/Bg4#/Bh5#/Bd1#/Bd3#/Bxc4#/Nxc4# 1...dxe3+ 2.Bc4# 1...d3+ 2.Nc4# 1...Qh4+ 2.Bg4# 1...Qh5 2.Qe1#/Qc1#/Bf3#/Bg4#/Bxh5#/Nc4# 1...Qh6 2.Nc4#/Bf3#/Bg4#/Bh5#/Bd1#/Bd3#/Bc4#/Bb5#/Ba6#/Qe1#/Qc1# 1...Qg1 2.Nf5#/Nxg2#/Ng4#/Nd1#/Nd5#/Nc4# 1...Qxf1 2.Bxf1#/Nxf1#/Nf5#/Nxg2#/Ng4#/Nd5#/Nc4# 1...cxb1Q+/cxb1B+ 2.Bd3# 1...cxb1R/cxb1N/c1Q/c1R/c1B 2.Bf3#/Bg4#/Bh5#/Bd1#/Bd3#/Bc4#/Bb5#/Ba6# 1...c1N 2.Rb2# 1...gxf1Q+/gxf1R+/gxf1B+/g1Q+/g1B+/g1N+ 2.Ng2# 1...gxf1N+ 2.Bf3# 1...g1R+ 2.Bf3#/Ng2#" --- authors: - Chéron, André source: Journal de Leysin date: 1933 algebraic: white: [Kb2, Rb4, Bh2, Se3, Sd8, Pc3] black: [Ka5, Rc5, Ra7, Pa6] stipulation: "#5" solution: | "1.Bh2-g1 ! threat: 2.Se3-c4 + 2...Rc5*c4 3.Bg1-b6 # 1...Rc5*c3 2.Se3-d5 threat: 3.Bg1-b6 # 2...Rc3-c2 + 3.Kb2-b3 threat: 4.Bg1-b6 # 3...Rc2-b2 + 4.Kb3*b2 threat: 5.Sd8-c6 # 5.Bg1-b6 # 4...Ra7-c7 5.Bg1-b6 # 4...Ra7-b7 5.Sd8*b7 # 5.Sd8-c6 # 3...Rc2-c6 4.Sd8*c6 # 3...Rc2-c5 4.Bg1*c5 threat: 5.Sd8-c6 # 5.Bc5-b6 # 4...Ra7-c7 5.Bc5-b6 # 4...Ra7-b7 5.Sd8*b7 # 5.Sd8-c6 # 3...Rc2-c3 + 4.Sd5*c3 threat: 5.Sd8-c6 # 5.Rb4-a4 # 5.Bg1-b6 # 4...Ra7-c7 5.Rb4-a4 # 5.Bg1-b6 # 4...Ra7-b7 5.Sd8*b7 # 5.Sd8-c6 # 3...Rc2-f2 4.Sd8-c6 # 3...Ra7-b7 4.Sd8*b7 # 3.Kb2-a3 threat: 4.Bg1-b6 # 3...Rc2-a2 + 4.Ka3*a2 threat: 5.Sd8-c6 # 5.Bg1-b6 # 4...Ra7-c7 5.Bg1-b6 # 4...Ra7-b7 5.Sd8*b7 # 5.Sd8-c6 # 3...Rc2-c6 4.Sd8*c6 # 3...Rc2-c5 4.Bg1*c5 threat: 5.Sd8-c6 # 5.Bc5-b6 # 4...Ra7-c7 5.Bc5-b6 # 4...Ra7-b7 5.Sd8*b7 # 5.Sd8-c6 # 3...Rc2-c3 + 4.Sd5*c3 threat: 5.Sd8-c6 # 5.Rb4-a4 # 5.Bg1-b6 # 4...Ra7-c7 5.Rb4-a4 # 5.Bg1-b6 # 4...Ra7-b7 5.Sd8*b7 # 5.Sd8-c6 # 5.Rb4-a4 # 3...Rc2-f2 4.Sd8-c6 # 3...Ra7-b7 4.Sd8*b7 # 2...Rc3-b3 + 3.Kb2*b3 threat: 4.Sd8-c6 # 4.Bg1-b6 # 3...Ra7-c7 4.Bg1-b6 # 3...Ra7-b7 4.Sd8*b7 # 4.Sd8-c6 # 2...Rc3-c6 3.Sd8*c6 # 2...Rc3-c5 3.Bg1*c5 threat: 4.Sd8-c6 # 4.Bc5-b6 # 3...Ra7-c7 4.Bc5-b6 # 3...Ra7-b7 4.Sd8*b7 # 4.Sd8-c6 # 2...Rc3-e3 3.Sd8-c6 # 2...Ra7-b7 3.Sd8*b7 # 1.Bh2-d6 ! threat: 2.Bd6*c5 threat: 3.Sd8-c6 # 3.Bc5-b6 # 3.Se3-c4 # 2...Ra7-c7 3.Bc5-b6 # 3.Se3-c4 # 2...Ra7-b7 3.Sd8*b7 # 3.Sd8-c6 # 3.Se3-c4 # 1...Rc5*c3 2.Kb2*c3 threat: 3.Sd8-c6 # 3.Se3-c4 # 2...Ra7-c7 + 3.Bd6*c7 # 1...Rc5-c8 2.Kb2-c2 zugzwang. 2...Rc8*d8 3.Se3-c4 # 2...Ra7-a8 3.Sd8-b7 # 2...Ra7-h7 3.Bd6-c7 + 3...Rh7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 2...Ra7-g7 3.Bd6-c7 + 3...Rg7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 2...Ra7-f7 3.Bd6-c7 + 3...Rf7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 2...Ra7-e7 3.Bd6-c7 + 3...Re7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 2...Ra7-d7 3.Bd6-c7 + 3...Rd7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 2...Ra7-c7 3.Bd6-c5 threat: 4.Bc5-b6 # 4.Se3-c4 # 3...Rc7*c5 4.Sd8-b7 # 3...Rc7-c6 4.Sd8-b7 # 4.Se3-c4 # 3...Rc7-b7 4.Sd8*b7 # 4.Se3-c4 # 3...Rc8-b8 4.Se3-c4 # 3.Se3-c4 + 3...Rc7*c4 4.Sd8-b7 # 2...Ra7-b7 3.Sd8*b7 # 2...Rc8*c3 + 3.Kc2*c3 threat: 4.Sd8-c6 # 4.Se3-c4 # 3...Ra7-c7 + 4.Bd6*c7 # 2...Rc8-c4 3.Se3*c4 # 2...Rc8-c5 3.Bd6*c5 threat: 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Ra7-c7 4.Bc5-b6 # 4.Se3-c4 # 3...Ra7-b7 4.Sd8*b7 # 4.Sd8-c6 # 4.Se3-c4 # 2...Rc8-c6 3.Sd8*c6 # 2...Rc8-c7 3.Bd6*c7 + 3...Ra7*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 2...Rc8-a8 3.Sd8-c6 # 3.Se3-c4 # 2...Rc8-b8 3.Se3-c4 # 3.Sd8-c6 # 2.Kb2-b3 threat: 3.Se3-c4 + 3...Rc8*c4 4.Kb3*c4 threat: 5.Sd8-c6 # 4...Ra7-c7 + 5.Bd6*c7 # 2...Ra7-h7 3.Bd6-c7 + 3...Rh7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 2...Ra7-g7 3.Bd6-c7 + 3...Rg7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 2...Ra7-f7 3.Bd6-c7 + 3...Rf7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 2...Ra7-e7 3.Bd6-c7 + 3...Re7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 1...Rc5-c7 2.Bd6*c7 + 2...Ra7*c7 3.Sd8-b7 + 3...Rc7*b7 4.Se3-c4 # 3.Se3-c2 zugzwang. 3...Rc7*c3 4.Sd8-b7 # 3...Rc7-c4 4.Sd8-b7 # 3...Rc7-c5 4.Sd8-b7 # 3...Rc7-c6 4.Sd8-b7 # 4.Sd8*c6 # 3...Rc7-a7 4.Sd8-c6 # 3...Rc7-b7 4.Sd8-c6 # 4.Sd8*b7 # 3...Rc7-c8 4.Sd8-b7 # 3...Rc7-h7 4.Sd8-c6 # 3...Rc7-g7 4.Sd8-c6 # 3...Rc7-f7 4.Sd8-c6 # 3...Rc7-e7 4.Sd8-c6 # 3...Rc7-d7 4.Sd8-c6 # 3.Se3-d5 zugzwang. 3...Rc7*c3 4.Sd8-b7 # 3...Rc7-c4 4.Sd8-b7 # 3...Rc7-c5 4.Sd8-b7 # 3...Rc7-c6 4.Sd8-b7 # 4.Sd8*c6 # 3...Rc7-a7 4.Sd8-c6 # 3...Rc7-b7 4.Sd8-c6 # 4.Sd8*b7 # 3...Rc7-c8 4.Sd8-b7 # 3...Rc7-h7 4.Sd8-c6 # 3...Rc7-g7 4.Sd8-c6 # 3...Rc7-f7 4.Sd8-c6 # 3...Rc7-e7 4.Sd8-c6 # 3...Rc7-d7 4.Sd8-c6 # 3.Se3-c4 + 3...Rc7*c4 4.Sd8-b7 # 1...Ra7-h7 2.Kb2-b3 threat: 3.Bd6*c5 threat: 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rh7-h4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3...Rh7-h6 4.Sd8-b7 # 4.Se3-c4 # 3...Rh7-b7 4.Sd8*b7 # 4.Sd8-c6 # 4.Se3-c4 # 3...Rh7-c7 4.Bc5-b6 # 4.Se3-c4 # 2...Rc5*c3 + 3.Kb3*c3 threat: 4.Se3-c4 # 4.Sd8-c6 # 3...Rh7-h3 4.Sd8-b7 # 4.Sd8-c6 # 4.Bd6-c7 # 3...Rh7-h4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bd6-c7 # 3...Rh7-c7 + 4.Bd6*c7 # 2...Rc5-c8 3.Bd6-c7 + 3...Rh7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 2...Rc5-c7 3.Sd8-b7 + 3...Rc7*b7 4.Se3-c4 # 1...Ra7-g7 2.Kb2-b3 threat: 3.Bd6*c5 threat: 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rg7-g4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3...Rg7-g6 4.Sd8-b7 # 4.Se3-c4 # 3...Rg7-b7 4.Sd8*b7 # 4.Sd8-c6 # 4.Se3-c4 # 3...Rg7-c7 4.Bc5-b6 # 4.Se3-c4 # 2...Rc5*c3 + 3.Kb3*c3 threat: 4.Se3-c4 # 4.Sd8-c6 # 3...Rg7-g3 4.Sd8-b7 # 4.Sd8-c6 # 4.Bd6-c7 # 3...Rg7-g4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bd6-c7 # 3...Rg7-c7 + 4.Bd6*c7 # 2...Rc5-c8 3.Bd6-c7 + 3...Rg7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 2...Rc5-c7 3.Sd8-b7 + 3...Rc7*b7 4.Se3-c4 # 1...Ra7-f7 2.Kb2-b3 threat: 3.Bd6*c5 threat: 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rf7-f4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3...Rf7-f6 4.Sd8-b7 # 4.Se3-c4 # 3...Rf7-b7 4.Sd8*b7 # 4.Sd8-c6 # 4.Se3-c4 # 3...Rf7-c7 4.Bc5-b6 # 4.Se3-c4 # 2...Rc5*c3 + 3.Kb3*c3 threat: 4.Se3-c4 # 4.Sd8-c6 # 3...Rf7-f3 4.Sd8-b7 # 4.Sd8-c6 # 4.Bd6-c7 # 3...Rf7-f4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bd6-c7 # 3...Rf7-c7 + 4.Bd6*c7 # 2...Rc5-c8 3.Bd6-c7 + 3...Rf7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 2...Rc5-c7 3.Sd8-b7 + 3...Rc7*b7 4.Se3-c4 # 1...Ra7-d7 2.Kb2-b3 threat: 3.Bd6*c5 threat: 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rd7-d4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3...Rd7-d6 4.Sd8-b7 # 4.Se3-c4 # 3...Rd7-b7 4.Sd8*b7 # 4.Sd8-c6 # 4.Se3-c4 # 3...Rd7-c7 4.Bc5-b6 # 4.Se3-c4 # 3...Rd7*d8 4.Se3-c4 # 4.Bc5-b6 # 2...Rc5*c3 + 3.Kb3*c3 threat: 4.Se3-c4 # 4.Sd8-c6 # 3...Rd7*d6 4.Sd8-b7 # 4.Se3-c4 # 3...Rd7-c7 + 4.Bd6*c7 # 3...Rd7*d8 4.Bd6-c7 # 4.Se3-c4 # 2...Rc5-c8 3.Bd6-c7 + 3...Rd7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 3.Se3-c4 + 3...Rc8*c4 4.Kb3*c4 threat: 5.Sd8-c6 # 4...Rd7*d6 5.Sd8-b7 # 4...Rd7-c7 + 5.Bd6*c7 # 4...Rd7*d8 5.Bd6-c7 # 2...Rc5-c7 3.Sd8-b7 + 3...Rc7*b7 4.Se3-c4 # 1.Kb2-b3 ! threat: 2.Se3-c4 + 2...Rc5*c4 3.Kb3*c4 threat: 4.Sd8-c6 # 3...Ra7-c7 + 4.Bh2*c7 # 1...Ra7-h7 2.Se3-d5 threat: 3.Bh2-g1 threat: 4.Bg1*c5 threat: 5.Sd8-c6 # 5.Bc5-b6 # 4...Rh7-h6 5.Sd8-b7 # 4...Rh7-b7 5.Sd8*b7 # 5.Sd8-c6 # 4...Rh7-c7 5.Bc5-b6 # 3...Rc5*c3 + 4.Sd5*c3 threat: 5.Sd8-c6 # 5.Rb4-a4 # 5.Bg1-b6 # 4...Rh7-h4 5.Sd8-b7 # 5.Sd8-c6 # 5.Bg1-b6 # 4...Rh7-h6 5.Sd8-b7 # 5.Rb4-a4 # 4...Rh7-b7 5.Sd8*b7 # 5.Sd8-c6 # 4...Rh7-c7 5.Rb4-a4 # 5.Bg1-b6 # 2...Rh7-c7 3.Bh2*c7 + 3...Rc5*c7 4.c3-c4 threat: 5.Rb4-a4 # 4...Rc7*c4 5.Sd8-b7 # 4...Rc7-b7 5.Sd8*b7 # 5.Sd8-c6 # 4.Kb3-b2 zugzwang. 4...Rc7*c3 5.Sd8-b7 # 4...Rc7-c4 5.Sd8-b7 # 4...Rc7-c5 5.Sd8-b7 # 4...Rc7-c6 5.Sd8-b7 # 5.Sd8*c6 # 4...Rc7-a7 5.Sd8-c6 # 4...Rc7-b7 5.Sd8-c6 # 5.Sd8*b7 # 4...Rc7-c8 5.Sd8-b7 # 4...Rc7-h7 5.Sd8-c6 # 4...Rc7-g7 5.Sd8-c6 # 4...Rc7-f7 5.Sd8-c6 # 4...Rc7-e7 5.Sd8-c6 # 4...Rc7-d7 5.Sd8-c6 # 4.Kb3-a2 zugzwang. 4...Rc7*c3 5.Sd8-b7 # 4...Rc7-c4 5.Sd8-b7 # 4...Rc7-c5 5.Sd8-b7 # 4...Rc7-c6 5.Sd8-b7 # 5.Sd8*c6 # 4...Rc7-a7 5.Sd8-c6 # 4...Rc7-b7 5.Sd8-c6 # 5.Sd8*b7 # 4...Rc7-c8 5.Sd8-b7 # 4...Rc7-h7 5.Sd8-c6 # 4...Rc7-g7 5.Sd8-c6 # 4...Rc7-f7 5.Sd8-c6 # 4...Rc7-e7 5.Sd8-c6 # 4...Rc7-d7 5.Sd8-c6 # 2...Rh7-d7 3.c3-c4 threat: 4.Rb4-a4 # 3...Rc5*c4 4.Kb3*c4 threat: 5.Sd8-c6 # 4...Rd7-d6 5.Sd8-b7 # 4...Rd7-c7 + 5.Bh2*c7 # 4...Rd7*d8 5.Bh2-c7 # 3...Rc5-b5 4.Sd8-c6 # 3...Rc5*d5 4.Sd8-c6 # 3...Rd7*d5 4.Sd8-b7 # 3...Rd7-b7 4.Sd8*b7 # 2.Bh2-d6 threat: 3.Bd6*c5 threat: 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rh7-h4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3...Rh7-h6 4.Sd8-b7 # 4.Se3-c4 # 3...Rh7-b7 4.Sd8*b7 # 4.Sd8-c6 # 4.Se3-c4 # 3...Rh7-c7 4.Bc5-b6 # 4.Se3-c4 # 2...Rc5*c3 + 3.Kb3*c3 threat: 4.Se3-c4 # 4.Sd8-c6 # 3...Rh7-h3 4.Sd8-b7 # 4.Sd8-c6 # 4.Bd6-c7 # 3...Rh7-h4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bd6-c7 # 3...Rh7-c7 + 4.Bd6*c7 # 2...Rc5-c8 3.Bd6-c7 + 3...Rh7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 2...Rc5-c7 3.Sd8-b7 + 3...Rc7*b7 4.Se3-c4 # 1...Ra7-g7 2.Se3-d5 threat: 3.Bh2-g1 threat: 4.Bg1*c5 threat: 5.Sd8-c6 # 5.Bc5-b6 # 4...Rg7-g6 5.Sd8-b7 # 4...Rg7-b7 5.Sd8*b7 # 5.Sd8-c6 # 4...Rg7-c7 5.Bc5-b6 # 3...Rc5*c3 + 4.Sd5*c3 threat: 5.Sd8-c6 # 5.Rb4-a4 # 5.Bg1-b6 # 4...Rg7*g1 5.Sd8-b7 # 5.Sd8-c6 # 4...Rg7-g4 5.Sd8-b7 # 5.Sd8-c6 # 5.Bg1-b6 # 4...Rg7-g6 5.Sd8-b7 # 5.Rb4-a4 # 4...Rg7-b7 5.Sd8*b7 # 5.Sd8-c6 # 4...Rg7-c7 5.Rb4-a4 # 5.Bg1-b6 # 2...Rg7-c7 3.Bh2*c7 + 3...Rc5*c7 4.c3-c4 threat: 5.Rb4-a4 # 4...Rc7*c4 5.Sd8-b7 # 4...Rc7-b7 5.Sd8*b7 # 5.Sd8-c6 # 4.Kb3-b2 zugzwang. 4...Rc7*c3 5.Sd8-b7 # 4...Rc7-c4 5.Sd8-b7 # 4...Rc7-c5 5.Sd8-b7 # 4...Rc7-c6 5.Sd8-b7 # 5.Sd8*c6 # 4...Rc7-a7 5.Sd8-c6 # 4...Rc7-b7 5.Sd8-c6 # 5.Sd8*b7 # 4...Rc7-c8 5.Sd8-b7 # 4...Rc7-h7 5.Sd8-c6 # 4...Rc7-g7 5.Sd8-c6 # 4...Rc7-f7 5.Sd8-c6 # 4...Rc7-e7 5.Sd8-c6 # 4...Rc7-d7 5.Sd8-c6 # 4.Kb3-a2 zugzwang. 4...Rc7*c3 5.Sd8-b7 # 4...Rc7-c4 5.Sd8-b7 # 4...Rc7-c5 5.Sd8-b7 # 4...Rc7-c6 5.Sd8-b7 # 5.Sd8*c6 # 4...Rc7-a7 5.Sd8-c6 # 4...Rc7-b7 5.Sd8-c6 # 5.Sd8*b7 # 4...Rc7-c8 5.Sd8-b7 # 4...Rc7-h7 5.Sd8-c6 # 4...Rc7-g7 5.Sd8-c6 # 4...Rc7-f7 5.Sd8-c6 # 4...Rc7-e7 5.Sd8-c6 # 4...Rc7-d7 5.Sd8-c6 # 2...Rg7-d7 3.c3-c4 threat: 4.Rb4-a4 # 3...Rc5*c4 4.Kb3*c4 threat: 5.Sd8-c6 # 4...Rd7-d6 5.Sd8-b7 # 4...Rd7-c7 + 5.Bh2*c7 # 4...Rd7*d8 5.Bh2-c7 # 3...Rc5-b5 4.Sd8-c6 # 3...Rc5*d5 4.Sd8-c6 # 3...Rd7*d5 4.Sd8-b7 # 3...Rd7-b7 4.Sd8*b7 # 2.Bh2-d6 threat: 3.Bd6*c5 threat: 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rg7-g4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3...Rg7-g6 4.Sd8-b7 # 4.Se3-c4 # 3...Rg7-b7 4.Sd8*b7 # 4.Sd8-c6 # 4.Se3-c4 # 3...Rg7-c7 4.Bc5-b6 # 4.Se3-c4 # 2...Rc5*c3 + 3.Kb3*c3 threat: 4.Se3-c4 # 4.Sd8-c6 # 3...Rg7-g3 4.Sd8-b7 # 4.Sd8-c6 # 4.Bd6-c7 # 3...Rg7-g4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bd6-c7 # 3...Rg7-c7 + 4.Bd6*c7 # 2...Rc5-c8 3.Bd6-c7 + 3...Rg7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 2...Rc5-c7 3.Sd8-b7 + 3...Rc7*b7 4.Se3-c4 # 1...Ra7-f7 2.Se3-d5 threat: 3.Bh2-g1 threat: 4.Bg1*c5 threat: 5.Sd8-c6 # 5.Bc5-b6 # 4...Rf7-f6 5.Sd8-b7 # 4...Rf7-b7 5.Sd8*b7 # 5.Sd8-c6 # 4...Rf7-c7 5.Bc5-b6 # 3...Rc5*c3 + 4.Sd5*c3 threat: 5.Sd8-c6 # 5.Rb4-a4 # 5.Bg1-b6 # 4...Rf7-f2 5.Sd8-b7 # 5.Sd8-c6 # 4...Rf7-f4 5.Sd8-b7 # 5.Sd8-c6 # 5.Bg1-b6 # 4...Rf7-f6 5.Sd8-b7 # 5.Rb4-a4 # 4...Rf7-b7 5.Sd8*b7 # 5.Sd8-c6 # 4...Rf7-c7 5.Rb4-a4 # 5.Bg1-b6 # 2...Rf7-c7 3.Bh2*c7 + 3...Rc5*c7 4.c3-c4 threat: 5.Rb4-a4 # 4...Rc7*c4 5.Sd8-b7 # 4...Rc7-b7 5.Sd8*b7 # 5.Sd8-c6 # 4.Kb3-b2 zugzwang. 4...Rc7*c3 5.Sd8-b7 # 4...Rc7-c4 5.Sd8-b7 # 4...Rc7-c5 5.Sd8-b7 # 4...Rc7-c6 5.Sd8-b7 # 5.Sd8*c6 # 4...Rc7-a7 5.Sd8-c6 # 4...Rc7-b7 5.Sd8-c6 # 5.Sd8*b7 # 4...Rc7-c8 5.Sd8-b7 # 4...Rc7-h7 5.Sd8-c6 # 4...Rc7-g7 5.Sd8-c6 # 4...Rc7-f7 5.Sd8-c6 # 4...Rc7-e7 5.Sd8-c6 # 4...Rc7-d7 5.Sd8-c6 # 4.Kb3-a2 zugzwang. 4...Rc7*c3 5.Sd8-b7 # 4...Rc7-c4 5.Sd8-b7 # 4...Rc7-c5 5.Sd8-b7 # 4...Rc7-c6 5.Sd8-b7 # 5.Sd8*c6 # 4...Rc7-a7 5.Sd8-c6 # 4...Rc7-b7 5.Sd8-c6 # 5.Sd8*b7 # 4...Rc7-c8 5.Sd8-b7 # 4...Rc7-h7 5.Sd8-c6 # 4...Rc7-g7 5.Sd8-c6 # 4...Rc7-f7 5.Sd8-c6 # 4...Rc7-e7 5.Sd8-c6 # 4...Rc7-d7 5.Sd8-c6 # 2...Rf7-d7 3.c3-c4 threat: 4.Rb4-a4 # 3...Rc5*c4 4.Kb3*c4 threat: 5.Sd8-c6 # 4...Rd7-d6 5.Sd8-b7 # 4...Rd7-c7 + 5.Bh2*c7 # 4...Rd7*d8 5.Bh2-c7 # 3...Rc5-b5 4.Sd8-c6 # 3...Rc5*d5 4.Sd8-c6 # 3...Rd7*d5 4.Sd8-b7 # 3...Rd7-b7 4.Sd8*b7 # 2.Bh2-d6 threat: 3.Bd6*c5 threat: 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rf7-f4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3...Rf7-f6 4.Sd8-b7 # 4.Se3-c4 # 3...Rf7-b7 4.Sd8*b7 # 4.Sd8-c6 # 4.Se3-c4 # 3...Rf7-c7 4.Bc5-b6 # 4.Se3-c4 # 2...Rc5*c3 + 3.Kb3*c3 threat: 4.Se3-c4 # 4.Sd8-c6 # 3...Rf7-f3 4.Sd8-b7 # 4.Sd8-c6 # 4.Bd6-c7 # 3...Rf7-f4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bd6-c7 # 3...Rf7-c7 + 4.Bd6*c7 # 2...Rc5-c8 3.Bd6-c7 + 3...Rf7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 2...Rc5-c7 3.Sd8-b7 + 3...Rc7*b7 4.Se3-c4 # 1...Ra7-e7 2.Se3-d5 threat: 3.Bh2-g1 threat: 4.Bg1*c5 threat: 5.Sd8-c6 # 5.Bc5-b6 # 4...Re7-e6 5.Sd8-b7 # 4...Re7-b7 5.Sd8*b7 # 5.Sd8-c6 # 4...Re7-c7 5.Bc5-b6 # 3...Rc5*c3 + 4.Sd5*c3 threat: 5.Sd8-c6 # 5.Rb4-a4 # 5.Bg1-b6 # 4...Re7-e3 5.Sd8-b7 # 5.Sd8-c6 # 4...Re7-e4 5.Sd8-b7 # 5.Sd8-c6 # 5.Bg1-b6 # 4...Re7-e6 5.Sd8-b7 # 5.Rb4-a4 # 4...Re7-b7 5.Sd8*b7 # 5.Sd8-c6 # 4...Re7-c7 5.Rb4-a4 # 5.Bg1-b6 # 2...Re7-c7 3.Bh2*c7 + 3...Rc5*c7 4.c3-c4 threat: 5.Rb4-a4 # 4...Rc7*c4 5.Sd8-b7 # 4...Rc7-b7 5.Sd8*b7 # 5.Sd8-c6 # 4.Kb3-b2 zugzwang. 4...Rc7*c3 5.Sd8-b7 # 4...Rc7-c4 5.Sd8-b7 # 4...Rc7-c5 5.Sd8-b7 # 4...Rc7-c6 5.Sd8-b7 # 5.Sd8*c6 # 4...Rc7-a7 5.Sd8-c6 # 4...Rc7-b7 5.Sd8-c6 # 5.Sd8*b7 # 4...Rc7-c8 5.Sd8-b7 # 4...Rc7-h7 5.Sd8-c6 # 4...Rc7-g7 5.Sd8-c6 # 4...Rc7-f7 5.Sd8-c6 # 4...Rc7-e7 5.Sd8-c6 # 4...Rc7-d7 5.Sd8-c6 # 4.Kb3-a2 zugzwang. 4...Rc7*c3 5.Sd8-b7 # 4...Rc7-c4 5.Sd8-b7 # 4...Rc7-c5 5.Sd8-b7 # 4...Rc7-c6 5.Sd8-b7 # 5.Sd8*c6 # 4...Rc7-a7 5.Sd8-c6 # 4...Rc7-b7 5.Sd8-c6 # 5.Sd8*b7 # 4...Rc7-c8 5.Sd8-b7 # 4...Rc7-h7 5.Sd8-c6 # 4...Rc7-g7 5.Sd8-c6 # 4...Rc7-f7 5.Sd8-c6 # 4...Rc7-e7 5.Sd8-c6 # 4...Rc7-d7 5.Sd8-c6 # 2...Re7-d7 3.c3-c4 threat: 4.Rb4-a4 # 3...Rc5*c4 4.Kb3*c4 threat: 5.Sd8-c6 # 4...Rd7-d6 5.Sd8-b7 # 4...Rd7-c7 + 5.Bh2*c7 # 4...Rd7*d8 5.Bh2-c7 # 3...Rc5-b5 4.Sd8-c6 # 3...Rc5*d5 4.Sd8-c6 # 3...Rd7*d5 4.Sd8-b7 # 3...Rd7-b7 4.Sd8*b7 # 1...Ra7-d7 2.Bh2-d6 threat: 3.Bd6*c5 threat: 4.Sd8-c6 # 4.Bc5-b6 # 4.Se3-c4 # 3...Rd7-d4 4.Sd8-b7 # 4.Sd8-c6 # 4.Bc5-b6 # 3...Rd7-d6 4.Sd8-b7 # 4.Se3-c4 # 3...Rd7-b7 4.Sd8*b7 # 4.Sd8-c6 # 4.Se3-c4 # 3...Rd7-c7 4.Bc5-b6 # 4.Se3-c4 # 3...Rd7*d8 4.Se3-c4 # 4.Bc5-b6 # 2...Rc5*c3 + 3.Kb3*c3 threat: 4.Sd8-c6 # 4.Se3-c4 # 3...Rd7*d6 4.Sd8-b7 # 4.Se3-c4 # 3...Rd7-c7 + 4.Bd6*c7 # 3...Rd7*d8 4.Bd6-c7 # 4.Se3-c4 # 2...Rc5-c8 3.Bd6-c7 + 3...Rd7*c7 4.Se3-c4 + 4...Rc7*c4 5.Sd8-b7 # 3...Rc8*c7 4.Sd8-b7 + 4...Rc7*b7 5.Se3-c4 # 3.Se3-c4 + 3...Rc8*c4 4.Kb3*c4 threat: 5.Sd8-c6 # 4...Rd7*d6 5.Sd8-b7 # 4...Rd7-c7 + 5.Bd6*c7 # 4...Rd7*d8 5.Bd6-c7 # 2...Rc5-c7 3.Sd8-b7 + 3...Rc7*b7 4.Se3-c4 # 1...Ra7-c7 2.Bh2*c7 + 2...Rc5*c7 3.Se3-c4 + 3...Rc7*c4 4.Sd8-b7 # 3.Sd8-b7 + 3...Rc7*b7 4.Se3-c4 # 3.c3-c4 zugzwang. 3...Rc7*c4 4.Sd8-b7 # 4.Se3*c4 # 3...Rc7-c5 4.Sd8-b7 # 3...Rc7-c6 4.Sd8-b7 # 4.Sd8*c6 # 3...Rc7-a7 4.Sd8-c6 # 3...Rc7-b7 4.Sd8-c6 # 4.Sd8*b7 # 3...Rc7-c8 4.Sd8-b7 # 3...Rc7-h7 4.Sd8-c6 # 3...Rc7-g7 4.Sd8-c6 # 3...Rc7-f7 4.Sd8-c6 # 3...Rc7-e7 4.Sd8-c6 # 3...Rc7-d7 4.Sd8-c6 #" --- authors: - Chéron, André source: Journal de Genève date: 1933 algebraic: white: [Kc1, Rc2, Sc5, Pf4, Pe5] black: [Ka1, Qh7, Be6, Ph6, Pg6, Pf5, Pe7, Pd7, Pc3, Pa4, Pa2] stipulation: "#5" solution: | "1.Sc5-d3 ! threat: 2.Sd3-b4 threat: 3.Rc2*a2 + 3...Be6*a2 4.Sb4-c2 # 1...Be6-g8 2.e5-e6 threat: 3.Kc1-d1 threat: 4.Rc2-c1 # 2...Bg8*e6 3.Sd3-b4 threat: 4.Rc2*a2 + 4...Be6*a2 5.Sb4-c2 #" --- authors: - Chéron, André source: Le Temps date: 1933 algebraic: white: [Kh3, Qf2, Bb5, Sf1, Sa1, Pg3, Pa3] black: [Kc3, Bg7, Ph5, Pd3, Pa4] stipulation: "#4" solution: | "1.Bb5-a6 ! threat: 2.Qf2-b6 threat: 3.Qb6-b4 # 2...Bg7-f8 3.Qb6-f6 # 1...Bg7-e5 2.Kh3-h4 zugzwang. 2...Be5-f6 + 3.Qf2*f6 # 2...d3-d2 3.Qf2*d2 # 2...Be5-d4 3.Qf2-d2 # 2...Be5*g3 + 3.Sf1*g3 threat: 4.Sg3-e4 # 3...d3-d2 4.Qf2-f6 # 2...Be5-f4 3.g3*f4 zugzwang. 3...d3-d2 4.Qf2*d2 # 2...Be5-h8 3.Qf2-b6 threat: 4.Qb6-b4 # 3...Bh8-f6 + 4.Qb6*f6 # 2...Be5-g7 3.Qf2-b6 threat: 4.Qb6-b4 # 3...Bg7-f6 + 4.Qb6*f6 # 3...Bg7-f8 4.Qb6-f6 # 2...Be5-b8 3.Qf2-f6 + 3...Bb8-e5 4.Qf6*e5 # 2...Be5-c7 3.Qf2-f6 + 3...Bc7-e5 4.Qf6*e5 # 2...Be5-d6 3.Qf2-f6 + 3...Bd6-e5 4.Qf6*e5 #" --- authors: - Chéron, André source: Le Temps date: 1934 algebraic: white: [Ka3, Ra1, Bd5, Se3, Sb5, Pc2, Pa7, Pa5] black: [Ka8, Re8, Rb7, Bh3, Pe2, Pd6, Pc3] stipulation: "#5" solution: | "1.a5-a6 ! threat: 2.a6*b7 # 2.Bd5*b7 # 1...Bh3-g2 2.a6*b7 # 1...Bh3-c8 2.Se3-c4 threat: 3.Sc4-b6 # 1...Re8-e7 2.Se3-c4 threat: 3.Sc4-b6 # 1...Re8-b8 2.Se3-c4 threat: 3.Sc4-b6 # 1.Se3-c4 ! threat: 2.Sc4-b6 # 1.Ra1-b1 ! threat: 2.Sb5-c7 + 2...Ka8*a7 3.Rb1*b7 # 2.Se3-c4 threat: 3.Sc4-b6 # 1...e2-e1=Q 2.Sb5-c7 + 2...Ka8*a7 3.Rb1*b7 # 1...e2-e1=S 2.Sb5-c7 + 2...Ka8*a7 3.Rb1*b7 # 1...e2-e1=B 2.Sb5-c7 + 2...Ka8*a7 3.Rb1*b7 # 1...Bh3-g2 2.Sb5-c7 + 2...Ka8*a7 3.Rb1*b7 # 1...Bh3-c8 2.Se3-c4 threat: 3.Sc4-b6 # 1...Bh3-d7 2.Sb5-c7 + 2...Ka8*a7 3.Rb1*b7 # 1...Bh3-e6 2.Sb5-c7 + 2...Ka8*a7 3.Rb1*b7 # 1...Re8*e3 2.Sb5-c7 + 2...Ka8*a7 3.Rb1*b7 # 1...Re8-e4 2.Sb5-c7 + 2...Ka8*a7 3.Rb1*b7 # 1...Re8-e5 2.Sb5-c7 + 2...Ka8*a7 3.Rb1*b7 # 1...Re8-e7 2.Se3-c4 threat: 3.Sc4-b6 # 1...Re8-b8 2.Se3-c4 threat: 3.Sc4-b6 # 1...Re8-c8 2.a5-a6 threat: 3.a6*b7 # 3.Bd5*b7 # 2...Bh3-g2 3.a6*b7 # 2...Rc8-c6 3.Bd5*c6 threat: 4.Bc6*b7 # 4.a6*b7 # 3...Bh3-g2 4.a6*b7 # 3...Bh3-c8 4.Se3-d5 threat: 5.Sd5-c7 # 5.Sd5-b6 # 4.Se3-c4 threat: 5.Sc4-b6 # 2...Rc8-c7 3.Sb5*c7 + 3...Ka8*a7 4.Rb1*b7 # 2...Rc8-b8 3.Se3-c4 threat: 4.Sc4-b6 #" --- authors: - Chéron, André source: Journal de Genève date: 1934 algebraic: white: [Ka3, Rc2, Be1, Sa5, Pc5] black: [Kb5, Pa7] stipulation: "#3" solution: | "1.Rc2-c4 ! zugzwang. 1...Kb5-a6 2.Rc4-b4 zugzwang. 2...Ka6*a5 3.Rb4-b6 # 1...a7-a6 2.Rc4-c3 zugzwang. 2...Kb5*a5 3.Rc3-b3 #" --- authors: - Chéron, André source: Le Temps date: 1930 algebraic: white: [Kd6, Qh2, Bh8, Sc7, Pf4, Pc4, Pa4] black: [Kb8, Ba8, Pf5, Pc6, Pc5, Pa7, Pa6, Pa5] stipulation: "#3" solution: | "1.Bh8-a1 ! zugzwang. 1...Ba8-b7 2.Qh2-b2 zugzwang. 2...Kb8-c8 3.Qb2-h8 # 1...Kb8-c8 2.Qh2-b2 zugzwang. 2...Ba8-b7 3.Qb2-h8 # 2...Kc8-d8 3.Qb2-h8 # 3.Qb2-b8 # 1...Kb8-b7 2.Qh2-h8 zugzwang. 2...Kb7-b6 3.Qh8-b2 #" --- authors: - Chéron, André source: Comœdia date: 1933 algebraic: white: [Kf3, Rd7, Bh6, Pf5, Pe4, Pe2, Pc2] black: [Ke5, Ra5, Be3, Pf6, Pf4] stipulation: "#4" solution: | "1.c2-c3 ! threat: 2.Bh6-f8 threat: 3.Bf8-d6 # 2...Be3-c5 3.Rd7-d5 # 2...Ra5-a6 3.Rd7-d5 # 2...Ra5-d5 3.Rd7*d5 # 1...Be3-c1 2.e2-e3 threat: 3.Bh6*f4 # 2...Bc1*e3 3.Bh6-f8 threat: 4.Bf8-d6 # 3...Be3-c5 4.Rd7-d5 # 3...Ra5-a6 4.Rd7-d5 # 3...Ra5-d5 4.Rd7*d5 # 1...Be3-d2 2.Rd7*d2 threat: 3.Bh6*f4 #" --- authors: - Chéron, André source: Le Temps date: 1930 algebraic: white: [Ka1, Rb1, Ba7, Sd2, Sc7] black: [Ka3, Rc6, Ra5, Pa4] stipulation: "#4" solution: | "1.Ba7-b6 ! threat: 2.Bb6*a5 threat: 3.Sc7-b5 # 3.Ba5-b4 # 2...Rc6-c4 3.Sc7-b5 # 3.Sd2*c4 # 2...Rc6-c5 3.Ba5-b4 # 2...Rc6-b6 3.Sd2-c4 # 2...Rc6*c7 3.Ba5-b4 # 1...Ra5-h5 2.Bb6-c5 + 2...Rh5*c5 3.Sd2-c4 + 3...Rc5*c4 4.Sc7-b5 # 2...Rc6*c5 3.Sc7-b5 + 3...Rc5*b5 4.Sd2-c4 # 1...Ra5-g5 2.Bb6-c5 + 2...Rg5*c5 3.Sd2-c4 + 3...Rc5*c4 4.Sc7-b5 # 2...Rc6*c5 3.Sc7-b5 + 3...Rc5*b5 4.Sd2-c4 # 1...Ra5-f5 2.Bb6-c5 + 2...Rf5*c5 3.Sd2-c4 + 3...Rc5*c4 4.Sc7-b5 # 2...Rc6*c5 3.Sc7-b5 + 3...Rc5*b5 4.Sd2-c4 # 1...Ra5-e5 2.Bb6-c5 + 2...Re5*c5 3.Sd2-c4 + 3...Rc5*c4 4.Sc7-b5 # 2...Rc6*c5 3.Sc7-b5 + 3...Rc5*b5 4.Sd2-c4 # 1...Ra5-d5 2.Bb6-c5 + 2...Rd5*c5 3.Sd2-c4 + 3...Rc5*c4 4.Sc7-b5 # 2...Rc6*c5 3.Sc7-b5 + 3...Rc5*b5 4.Sd2-c4 # 1...Ra5-c5 2.Sd2-c4 + 2...Rc5*c4 3.Sc7-b5 # 1...Rc6-c1 2.Sd2-c4 + 2...Rc1*c4 3.Bb6*a5 threat: 4.Sc7-b5 # 3...Rc4-b4 4.Ba5*b4 # 3...Rc4*c7 4.Ba5-b4 # 3...Rc4-c5 4.Ba5-b4 # 1...Rc6-c2 2.Sd2-c4 + 2...Rc2*c4 3.Bb6*a5 threat: 4.Sc7-b5 # 3...Rc4-b4 4.Ba5*b4 # 3...Rc4*c7 4.Ba5-b4 # 3...Rc4-c5 4.Ba5-b4 #" keywords: --- authors: - Chéron, André source: Journal de Genève date: 1955 algebraic: white: [Kd7, Bf3, Pg2] black: [Kf4, Ph4, Pg5, Pa6] stipulation: "=" solution: | "1. Bc6 $1 (1. Kd6 $143 h3 2. Bd5 h2 3. g4 a5 4. Kc5 Kxg4 $19) (1. Be2 $143 a5 2. Bb5 g4 3. Kd6 h3 4. gxh3 g3 5. Bc6 a4 $19) (1. Bd5 $143 a5 2. Kc6 (2. Bc6 $144 Ke5 $1 3. Kc7 g4 4. Kb6 Kd6 $1 5. Bb5 h3 6. gxh3 gxh3 7. Bc6 h2 $19) 2... a4 3. Kc5 Ke5 $1 4. Bc4 a3 5. Kb4 Kd4 $1 6. Be6 g4 7. Kxa3 h3 8. gxh3 g3 $19) 1... Ke5 $1 (1... a5 $144 2. Kd6 $11 {simple draw}) 2. Kc7 (2. Ke7 $143 g4 $19) 2... a5 $1 (2... g4 $144 3. Kb6 Kd6 4. Ba8 $11 {easy draw}) 3. Bd7 $3 (3. Kb6 $143 Kd6 $1 4. Bb5 g4 5. Kxa5 g3 (5... h3 $143 6. gxh3 gxh3 7. Kb6 $11) 6. Bf1 Kc5 7. Ka6 Kd4 8. Kb6 Ke3 9. Kc5 Kf2 $19) 3... Kd5 $1 4. Kb7 $3 (4. Kd8 $143 Kd4 5. Ke8 (5. Kc7 $144 Kc5 $1 $19 {Diagramme # zz1W} 6. Bc6 (6. Kb7 $144 Kb4 7. Kc6 a4 8. Kd6 a3 9. Be6 g4 $19) (6. Kd8 $144 Kb4 7. Ke7 a4 8. Kf6 a3 9. Be6 g4 $19) 6... g4 $19) (5. Ke7 $144 Ke5 {Diagramme # zz2W} 6. Kf7 Kf4 7. Kg6 (7. Ke6 $144 g4 8. Kd6 h3 9. gxh3 g3 10. Bc6 a4 $19) 7... g4 8. Kh5 h3 9. gxh3 g3 $19) (5. Kc8 $144 Ke3 $19) 5... Ke4 $1 (5... Ke5 $143 6. Ke7 $11 { Diagramme # zz2B} Kf4 (6... Kd4 $144 7. Kf6 $11) (6... Kd5 $143 7. Kf6 $18) 7. Kd6 g4 8. Kc5 $11) 6. Bc6+ (6. Kf7 $144 Kf4 $19) (6. Ke7 $144 Ke5 $19 {zz2B}) 6... Ke5 $1 7. Bd7 Kf4 8. Ke7 g4 9. Kd6 h3 10. gxh3 g3 11. Bc6 a4 $19) (4. Bc6+ $143 Kc4 $1 (4... Kc5 $143 5. Bd7 {Diagramme # zz1B} Kb4 (5... Kd4 $144 6. Kb6 Ke3 7. Kxa5 Kf2 8. Bc6 $11) (5... Kd5 $144 6. Kb7 $1 {main line of the study} Kc4 (6... Kc5 7. Kc7 {no progress}) (6... Kd6 7. Kc8 $1 {no progress}) 7. Kc6 $11) (5... Kc4 $144 6. Be6+ (6. Kd6 $143 Kd4 7. Kc6 (7. Ke6 $144 g4 $19) (7. Ke7 $144 Ke5 $19 {Diagramme # zz2W}) (7. Kc7 $144 Kc5 $19 {Diagramme # zz1W}) 7... a4 $19) (6. Kc6 $144 a4 (6... Kb4 $144 7. Kd5 a4 8. Bxa4 Kxa4 9. Ke4 $11) (6... Kd4 $144 7. Kb5 $11) 7. Kd6 a3 8. Ke5 $11) 6... Kd4 $1 7. Kb6 (7. Bd7 $144 Kc5 $19 {Diagramme # zz1W}) 7... a4 8. Kb5 a3 9. Kb4 g4 10. Kxa3 h3 $19) 6. Kd6 a4 7. Bxa4 Kxa4 8. Ke5 $11) 5. Kd6 (5. Kb6 $144 Kb4 $19) (5. Bd7 $144 Kc5 $19 {Diagramme # zz1W}) 5... g4 6. Ke5 (6. Bd7 $144 h3 7. gxh3 g3 8. Bc6 a4 $19) 6... Kc5 $1 7. Be4 h3 8. gxh3 gxh3 9. Kf4 Kd4 $1 10. Bc6 h2 11. Kg3 a4 $19 ) (4. Kb6 $143 Kd6 $1 5. Bc6 (5. Bb5 $144 g4) 5... g4 $19 {See move 3 note}) ( 4. Kb8 $143 Kc4 5. Be6+ (5. Kc7 $144 Kc5 $19 {Diagramme # zz1W}) (5. Kc8 $144 Kb4 $19) (5. Kb7 Kb4 $19) 5... Kd4 6. Bd7 Ke3 $19) (4. Kc8 $143 Kc4 $19) 4... Kc4 (4... Kc5 $144 5. Kc7 $1 $11 {Diagramme # zz1B}) (4... Kd6 $144 5. Kc8 $1 Ke5 (5... Kc5 $144 6. Kc7 $11 {Diagramme # zz1B}) 6. Kc7 Kf4 7. Kd6 g4 8. Kc5 $11) 5. Kc6 $1 a4 6. Kd6 a3 7. Ke5 $1 Kd3 8. Be6 Ke3 9. Kf5 $11 1/2-1/2" --- authors: - Chéron, André source: Journal de Genève date: 1956 algebraic: white: [Ka7, Bb6, Pa5] black: [Kf6, Sa3, Pd6, Pc5] stipulation: + solution: | "1. Bd8+ $1 (1. Kb7 $143 Ke6 2. Kc6 (2. a6 $144 Nb5 3. Kc6 Nd4+ 4. Kb7 $11) 2... Nc2 $11) (1. a6 $143 Nb5+ 2. Kb7 Ke6 3. Bd8 (3. Kc6 $144 Nd4+ $11) 3... Kd5 4. Kb6 Kc4 $11) 1... Ke6 2. a6 (2. Kb7 $143 Kd5 3. a6 Nb5 $11) 2... Kd7 (2... Nb5+ $144 3. Kb6 Kd7 4. Be7 $18 {transpose main line}) 3. Kb6 $3 (3. Kb7 $143 Nb5 4. Bf6 (4. Kb6 $143 Kxd8 5. Kxb5 Kc8 $19) (4. Bb6 $144 c4 5. Bd4 d5 6. Be5 Ke6 $11 ) 4... c4 5. Bd4 d5 6. Be5 Ke6 7. Bd4 Kd7 $11) 3... Nb5 4. Be7 $1 c4 $1 (4... Kc8 $144 5. Bxd6 $18) (4... Nc7 $144 5. a7 Kc8 (5... Nd5+ $144 6. Kb7 Nc7 7. Bf8 c4 8. Bg7 Kd8 9. Bc3 Kd7 10. Ba5 Na8 11. Kxa8 Kc8 12. Bc3 Kc7 13. Bb4 d5 14. Bc3 Kc8 15. Be5 $18) (5... c4 6. Bf6 $1 (6. Kb7 $143 c3 7. Bf6 c2 8. Bg5 d5 9. Bf4 d4 $11) 6... Kc8 7. Kc6 Na8 8. Bc3 Nc7 9. Bd2 Na8 10. Ba5 d5 11. Bc3 Nc7 12. Bd4 Na8 13. Be5 $18) 6. Kc6 $1 (6. Bxd6 $143 Nd5+ 7. Kc6 Nb4+ $11) 6... c4 7. Bxd6 Na8 8. Be5 c3 9. Bxc3 Nc7 10. Bd2 Na8 11. Ba5 Nc7 12. Kb6 Na8+ 13. Ka6 Kd7 14. Kb7 $18) 5. Kxb5 $3 Kc8 (5... c3 $144 6. a7 c2 7. Bg5 $18) 6. Bxd6 c3 7. Kb6 c2 8. a7 c1=Q 9. a8=Q+ Kd7 10. Qd5 $3 Qb1+ 11. Bb4+ Ke8 12. Qe6+ Kd8 13. Qd6+ Kc8 14. Qc7# 1-0" --- authors: - Chéron, André source: Courier de Leysin date: 1957 algebraic: white: [Kf5, Qc8, Rf4, Pf6, Pa7] black: [Kh5, Ra8, Bh1, Se4, Sc4, Ph6, Pf7, Pc7, Pc5] stipulation: "=" solution: | 1. Rh4+ $1 Kxh4 2. Qxa8 $3 Ng3+ 3. Kf4 Nh5+ 4. Kf5 Nd6+ 5. Ke5 Nc4+ 6. Kf5 Ne3+ 7. Ke5 Ng4+ 8. Kf5 Ng3+ 9. Kf4 Ne2+ 10. Kf5 Nd4+ 11. Kf4 Ne6+ 12. Kf5 Ne3+ 13. Ke5 Nc4+ 14. Kf5 Nd6+ 15. Ke5 Nc4+ 16. Kf5 Nd4+ 17. Kf4 Ne2+ 18. Kf5 Nd6+ 19. Ke5 Nc4+ 20. Kf5 Ne3+ 21. Ke5 Ng4+ 22. Kf5 $11 1/2-1/2 --- authors: - Chéron, André source: Journal de Genève source-id: version date: 1964-02-04 algebraic: white: [Ka6, Bh6, Sa8, Ph7, Pg7, Pf7, Pe7, Pd7, Pc7, Pb7, Pa7] black: [Kc6, Qh1, Rg6, Rb3, Bf5, Ba5, Se5, Sd5, Ph5, Pf2, Pc5, Pb2, Pa2] stipulation: + solution: | "1. b8S+! Rxb8 2. axb8S+! Kd6 3. c8S+! Ke6 4. d8S+! Bxd8! 5. exd8S+! Kf6 6. g8S+! Rxg8 7. hxg8S+! Kg6 8. f8S#" keywords: - White underpromotion comments: - Version published 1964-02-18, originally the black queen was on f3 --- authors: - Chéron, André source: date: 1923 algebraic: white: [Kb3, Rd1, Pb4] black: [Ke7, Rb8] stipulation: + solution: | 1. Rd4 $1 Ke6 (1... Rd8 2. Rxd8 Kxd8 3. Ka4 $1 Kc8 4. Ka5 Kc7 5. Ka6 Kb8 6. Kb6 ) 2. Kc4 $1 Rc8+ (2... Ke5 3. Rd5+ Ke6 4. b5 Rc8+ 5. Rc5 Kd7 6. b6 Rxc5+ 7. Kxc5 Kd8 8. Kd6 Kc8 9. Kc6) 3. Kb5 Rb8+ 4. Kc6 Rc8+ 5. Kb7 Rf8 6. b5 1-0 --- authors: - Chéron, André source: Journal de Genève date: 1955 algebraic: white: [Kc6, Sa5, Pc7] black: [Kf3, Bc8] stipulation: + solution: | 1. Nc4 $1 (1. Nb7 $2 Ke3 $1 2. Nd6 Bg4 3. Nc4+ Kd4 4. Nb6 Bf3+ 5. Kd6 Bb7) 1... Kf4 (1... Bf5 2. Nb6 Be4+ 3. Kd6 Bb7 4. Na4 Bc8 5. Nc5 Ke3 6. Ke7 Kd4 7. Kd8 Bh3 8. Nd7) 2. Kd5 (2. Kc5 $2 Kf5 $3 3. Nd6+ Ke6 4. Nxc8 Kd7 5. Kb6 Kxc8 6. Kc6 ) 2... Bb7+ (2... Ba6 3. Nd6 Kg5 4. Kc6 Kf6 5. Kb6) (2... Bh3 3. Kd6 Bc8 4. Nb6 Bb7 5. Na4 Bc8 6. Nc5 Kf5 7. Ke7) (2... Kg5 3. Nb6 Bb7+ 4. Ke6 Kf4 5. Na4 Bc8+ 6. Ke7 Ke5 7. Nc5 Kd5 8. Kd8 Bh3 9. Nd7) (2... Kf3 3. Ke5 Ke2 4. Nb6 Bb7 5. Na4 Bc8 6. Nc5 Ke3 7. Kd5 $1 Kd2 8. Kd6 Kc3 9. Ke7 Kd4 10. Kd8 Bh3 11. Nd7) 3. Kc5 Bc8 4. Kc6 Kf3 5. Nb6 Ba6 6. Na4 Bc8 7. Nc5 Ke3 8. Kd5 $1 Kd2 9. Kd6 Kc3 10. Ke7 Kd4 11. Kd8 Bh3 12. Nd7 1-0 --- authors: - Chéron, André source: Národní listy date: 1929 distinction: 3rd Honorable Mention algebraic: white: [Ke5, Pe3, Pc3, Pb2, Pa3] black: [Kb5, Pe4, Pc4, Pb7, Pb6, Pb3] stipulation: + solution: | 1. a4+ (1. Kxe4 $2 Ka4 2. Kd4 b5 3. e4 b4 $1 4. cxb4 c3 5. Kxc3 b5) (1. Kd5 $2 Ka4 2. Kxc4 b5+ 3. Kd4 b4 4. axb4 b5 5. c4 bxc4 6. Kxc4) 1... Kxa4 2. Kxe4 b5 3. Kd4 (3. Kd5 $2 Ka5 4. e4 Kb6 5. e5 b4 $3 6. Kxc4 bxc3 7. Kxc3 Kc5) 3... Ka5 4. e4 Kb6 5. Kd5 b4 6. Kxc4 bxc3 7. Kxc3 Kc5 8. Kd3 Kd6 9. Kd4 Ke6 10. e5 Ke7 11. Kd5 Kd7 12. e6+ Ke7 13. Ke5 Kd8 14. Kd6 Ke8 15. e7 b6 16. Ke6 $3 b5 17. Kd6 b4 18. Kc5 Kxe7 19. Kxb4 Kd6 20. Kxb3 Kc5 21. Ka4 1-0 --- authors: - Chéron, André source: Morgenzeitung Mährisch-Ostrau date: 1928 distinction: 2nd Prize algebraic: white: [Ka2, Rg1, Pa3] black: [Kh5, Rf8] stipulation: + solution: | 1... Rf2+ 2. Kb3 Rf3+ 3. Kb4 Rf4+ 4. Kb5 Rf5+ 5. Kc6 Rf6+ 6. Kd5 Rf5+ 7. Ke6 Ra5 8. Ra1 Ra4 $1 9. Kd5 Kg6 10. Kc5 Kf6 11. Kb5 Ra8 (11... Re4 $1 {cook AC} 12. a4 Re5+ 13. Kc4 Re4+ $1 14. Kd5 Re5+ 15. Kd4 Ke6 16. a5 Kd6 17. a6 Re8) 12. a4 Ke7 13. a5 Kd7 14. a6 Kc7 15. Rc1+ Kd7 16. Rh1 Rb8+ 17. Ka5 Rb2 18. a7 Ra2+ 19. Kb6 Rb2+ 20. Kc5 Rc2+ 21. Kb4 Rc8 22. Rd1+ Ke7 23. Ra1 1-0 --- authors: - Chéron, André source: Morgenzeitung date: 1928 distinction: 3rd-4th Prize algebraic: white: [Ka2, Rg1, Pa3] black: [Kh6, Rf8] stipulation: + solution: | 1... Rf2+ (1... Ra8 2. Kb3 Rb8+ 3. Kc4 Ra8 4. Kb4 Rb8+ 5. Kc5 Ra8 6. Ra1 $1 Kg6 7. a4 Kf6 8. a5 Ke7 9. Kc6 Rc8+ 10. Kb7 Rc2 11. a6 Rb2+ 12. Kc6 Rc2+ 13. Kb6 Rb2+ 14. Ka5 $1) 2. Kb3 Rf3+ 3. Kb4 Rf4+ 4. Kb5 Rf5+ 5. Kc6 Rf6+ 6. Kd5 Rf5+ 7. Ke6 Ra5 8. Ra1 $1 Ra4 (8... Kg7 9. a4 $1 Kf8 10. Kd7) 9. Kd5 Kg6 10. Kc5 Kf6 11. Kb5 Ra8 (11... Re4 $1 {cook AC} 12. a4 Re5+ 13. Kc4 Re4+ $1 14. Kd5 Re5+ 15. Kd4 Ke6 16. a5 Kd6 17. a6 Re8) 12. a4 Ke6 13. a5 Kd7 14. a6 Kc7 (14... Rb8+ 15. Ka5 Rh8 (15... Ra8 16. Rh1) 16. a7 Kc7 17. Ka6) 15. Rc1+ $1 Kd7 (15... Kb8 16. Rh1 $1 (16. Kb6 $2 Ra7 17. Rh1 Rb7+ $1) 16... Ra7 17. Rh8+ Kc7 18. Rg8) 16. Rh1 Rb8+ 17. Ka5 Rb2 (17... Ra8 18. Rh7+) 18. a7 Ra2+ (18... Kc7 19. Rh7+) 19. Kb6 Rb2+ 20. Kc5 Rc2+ (20... Ra2 21. Rh8 Rxa7 22. Rh7+) 21. Kb4 Rc8 22. Ra1 Ra8 23. Kb5 Kc7 24. Ka6 1-0 --- authors: - Chéron, André source: Morgenzeitung date: 1928 distinction: 3rd-4th Prize algebraic: white: [Ka2, Rg1, Pa3] black: [Kh6, Rf2] stipulation: + solution: | 1. Kb3 Rf3+ 2. Kb4 Rf4+ 3. Kb5 Rf5+ 4. Kc6 Rf6+ 5. Kd5 Rf5+ 6. Ke6 Ra5 7. Ra1 $1 Ra4 (7... Kg7 8. a4 Kf8 9. Kd7) 8. Kd5 Kg6 9. Kc5 Kf6 10. Kb5 Ra8 (10... Re4 $1 {cook AC} 11. a4 Re5+ 12. Kc4 Re4+ 13. Kd5 Re5+ 14. Kd4 Ke6 15. a5 Kd6 16. a6 Re8) 11. a4 Ke6 12. a5 Kd7 13. a6 Kc7 $1 (13... Rb8+ 14. Ka5 Rh8 15. a7 Kc7 16. Ka6 $1) 14. Rc1+ $1 Kd7 (14... Kd8 15. Rh1) (14... Kd6 15. Rc6+ Kd7 16. Rh6 ) 15. Rh1 Rb8+ 16. Ka5 Rb2 17. a7 Ra2+ 18. Kb6 Rb2+ 19. Kc5 Rc2+ (19... Ra2 20. Rh8 $3) 20. Kb4 Rc8 21. Ra1 (21. Rd1+ $1 {minor dual JU} Ke6 22. Kb5) 21... Ra8 22. Kb5 Kc7 23. Ka6 1-0 --- authors: - Bédoni, Roméo - Chéron, André source: Journal de Genève date: 1975 algebraic: white: [Kg2, Rh1, Bg5, Sc6, Sc1, Pf6, Pf2] black: [Kd1, Rf1, Ra1, Bg1, Bb1, Sh8, Ph2, Pg6, Pf7, Pc7, Pc2, Pb7, Pa7, Pa2] stipulation: "#57" solution: --- authors: - Van Gool, Johann Christoffel - Chéron, André source: Journal de Genève date: 1977 algebraic: white: [Kb8, Rh7, Rb5, Bc5, Bb3, Se1, Ph5, Pg6, Pe6, Pd6] black: [Kb1, Qg8, Rg5, Rc6, Bf2, Sh6, Sd8, Pg7, Pf6, Pe5, Pe3, Pc2, Pb7, Pb6] stipulation: "#69" solution: --- authors: - Chéron, André source: algebraic: white: [Kd3, Qb8, Bh8, Sg3, Ph2, Pf4] black: [Kh4, Pg4] stipulation: "#3" solution: | "1.Bh8-a1 ! threat: 2.Qb8-h8 # 1...Kh4-h3 2.Qb8-b2 zugzwang. 2...Kh3-h4 3.Qb2-h8 #" --- authors: - Chéron, André source: Journal de Genève date: 1971-09-25 algebraic: white: [Ke2, Rg5, Bc5, Pg2, Pc3] black: [Ke4] stipulation: "#4" solution: comments: - after Uršič --- authors: - Chéron, André source: Journal de Genève date: 1971-09-10 algebraic: white: [Kc6, Rf7, Bb6, Pd2] black: [Ke4, Pe6, Pd3] stipulation: "#5" solution: --- authors: - Chéron, André source: date: 1926 algebraic: white: [Kc4, Pe5] black: [Kf7, Pe6] stipulation: + solution: "1.Kc5 Kg6 2.Kc6 (2.Kd6? Kf5!) Kg5 3.Kd7 Kf5 4.Kd6 wins" keywords: - Trebuchet --- authors: - Chéron, André source: Le Temps date: 1933-06-03 algebraic: white: [Ka3, Rb2, Bh6, Se3, Sd8, Pc3] black: [Ka5, Rh7, Rc8, Sh4, Pc4, Pa6] stipulation: "#5" solution: | "1. Bf4 Rc5 2. Bd6 Rc8 3. Bc7+ Rhxc7 4. Sxc4+ Rxc4 5. Sb7# 3. ... Rcxc7 4. Sb7+ Rxb7 5. Sxc4# 1. ... Ra7 2. Bb8 Rd(e,f,g,h)7 3. Bc7+ Rhxc7 4. Sxc4+ Rxc4 5. Sb7# 3. ... Rcxc7 4. Sb7+ Rxb7 5. Sxc4#" keywords: - Plachutta - Anti-critical move - Critical move comments: - dedicated to Henri Rinck --- authors: - Chéron, André source: Tournoi romand d'échecs, Genève date: 1933-06 algebraic: white: [Ka3, Rb3, Bg1, Se3, Sd8, Pf2, Pc2] black: [Ka5, Rh7, Rc8, Sh4, Pf3, Pc3, Pa6] stipulation: "#5" solution: | "1. Bh2 Rc5 2. Bd6 Rc8 3. Bc7+ Rhxc7 4. Sc4+ Rxc4 5. Sb7# 3. ... Rcxc7 4. Sb7+ Rxb7 5. Sc4# 1. ... Ra7 2. Bb8 Rd(e,f,g,h)7 3. Bc7+ Rhxc7 4. Sc4+ Rxc4 5. Sb7# 3. ... Rcxc7 4. Sb7+ Rxb7 5. Sc4#" keywords: - Plachutta - Anti-critical move - Critical move comments: - compare 379857 --- authors: - Chéron, André source: Courier de Leysin date: 1957 algebraic: white: [Kf4, Qd4, Rg8, Pf5, Pa6, Pa5, Pa4, Pa3] black: [Kh3, Qa7, Bb8, Se5, Sc3, Ph7, Pf6, Pc7, Pc6, Pc4] stipulation: "=" solution: --- authors: - Chéron, André source: Comœdia date: 1936-07-15 algebraic: white: [Kc7, Rc1, Bd4, Pg5, Pb4] black: [Ka8, Rg1] stipulation: "#4" solution: | "1. Rc2? Rc1! 1. Rc6? Ra1! 1. Rc5! Rc1 2. Bc3 Rxc3 3. Rxc3 Ka7 4. Ra3#" keywords: - Parakriticus --- authors: - Chéron, André source: Le Temps source-id: 24973/8 date: 1930-01-05 algebraic: white: [Ke6, Qe1, Rh4, Rb4] black: [Ke8, Bh2, Bd4] stipulation: "#3" solution: | "1. Qe5! ~ 2. Rb8, Rh8# 1... B:e5 2. Rb8+ B:b8 3. Rh8# 1... B:e5 2. Rh8+ B:h8 3. Rb8#" --- authors: - Chéron, André source: Traité Complet d'Échecs source-id: version date: 1927 algebraic: white: [Kd7, Bg8, Bf8] black: [Kc1, Pc2] stipulation: + solution: | 1. Bg7! Kd1 2. Bb3 Kd2 3. Ba4! Kc1! 4. Bc6! Kd1 5. Bf3+ Kd2 6. Bh6+ Kc3 7. Bc1! Kb3 8. Be4! wins --- authors: - Chéron, André source: Schweizerische Schachzeitung date: 1926-05 algebraic: white: [Ke3, Rg1, Pe4] black: [Kh4, Re8] stipulation: + solution: 1.e4-e5 ! Re8*e5+ 2.Ke3-f4 --- authors: - Chéron, André source: Le Temp date: 1933 algebraic: white: [Ka2, Qh8, Sc6, Sb1] black: [Ka4, Rd3, Be1, Pa7, Pa6] stipulation: "#4" solution: | "1.Qh8-b8 ! threat: 2.Sb1-c3 + 2...Be1*c3 3.Qb8-b3 # 2...Rd3*c3 3.Qb8-b4 # 1...Be1-a5 {anti-critical move} 2.Qb8-b2 zugzwang. 2...Ba5-e1 3.Sb1-c3 + 3...Be1*c3 4.Qb2-b3 # 3...Rd3*c3 4.Qb2-b4 # 2...Rd3-h3 3.Qb2-d4 + 3...Ka4-b5 4.Sc6*a7 #" keywords: - Anti-Novotny --- authors: - Chéron, André source: France Illustration date: 1951-02-24 algebraic: white: [Kh3, Rb4, Pe5, Pd6] black: [Kd5, Ra7] stipulation: + solution: | 1.Rb4-b5+ Kd5-e6 ! 2.Rb5-c5 ! Ra7-a8 3.Kh3-g3 ! Ra8-f8 4.Kg3-g4 ! Rf8-f1 5.Rc5-c8 Rf1-g1+ 6.Kg4-h5 Rg1-h1+ 7.Kh5-g6 Rh1-g1+ 8.Kg6-h6 Rg1-h1+ 9.Kh6-g7 Rh1-g1+ 10.Kg7-f8 Rg1-f1+ 11.Kf8-e8 Rf1-h1 12.Ke8-d8 Ke6*e5 13.Rc8-c6 ! Ke5-d5 14.Rc6-a6 Rh1-h6 15.Kd8-c7 12...Rh1-h7 13.Rc8-c5 --- authors: - Chéron, André source: Traité Complet d'Échecs source-id: 31 date: 1927 algebraic: white: [Kc4, Pe4] black: [Ke8, Pe6] stipulation: + solution: | "1.e4-e5 ! Ke8-d7 2.Kc4-b5 ! Kd7-c7 3.Kb5-c5 Kc7-d7 4.Kc5-b6 2.Kc4-c5 ? Kd7-c7 ! 1...Ke8-f7 2.Kc4-c5 Kf7-g6 3.Kc5-c6 ! Kg6-g5 ! 4.Kc6-d7 ! Kg5-f5 5.Kd7-d6" keywords: - Reciprocal zugzwang --- authors: - Chéron, André source: Le Temps date: 1930 algebraic: white: [Ke2, Rg4, Rb8, Bh8, Sf4, Pg3] black: [Kc4, Pc6] stipulation: "#3" solution: | "1.Bh8-a1 ! Kc4-c5 2.Rg4-g6 Kc5-c4 3.Rg6*c6 # 1... c6-c5 2.Rb8-b2 Kc4-c3 3.Sf4-d5 # 2... Kc4-d4 3.Rb2-b4 #" ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootpychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-piece-checkmates-ii_by_arex_2017.01.25.pgnpychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-piece-checkmates-ii_by_arex_2017.01.25.pg0000644000175000017500000001062113365545272032220 0ustar varunvarun[Event "Lichess Practice: Piece Checkmates II: Queen vs bishop mate"] [Site "https://lichess.org/study/Rg2cMBZ6"] [UTCDate "2017.01.30"] [UTCTime "17:27:00"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/3kb3/8/8/3KQ3/8/8 w - - 0 1"] [SetUp "1"] { Keep your pieces on the opposite color squares from the enemy bishop to stay safe. Use your queen to encroach on the king and look for double attacks. Mate in 10 if played perfectly. } * [Event "Lichess Practice: Piece Checkmates II: Queen vs knight mate"] [Site "https://lichess.org/study/Rg2cMBZ6"] [UTCDate "2017.01.30"] [UTCTime "17:26:30"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/3kn3/8/8/3KQ3/8/8 w - - 0 1"] [SetUp "1"] { Force the enemy king to the edge of the board while avoiding tricky knight forks. Mate in 12 if played perfectly. } * [Event "Lichess Practice: Piece Checkmates II: Queen vs rook mate"] [Site "https://lichess.org/study/Rg2cMBZ6"] [UTCDate "2017.01.30"] [UTCTime "17:28:17"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/3kr3/8/3KQ3/8/8/8/8 w - - 0 1"] [SetUp "1"] { Normally the winning process involves the queen first winning the rook by a fork and then checkmating with the king and queen, but forced checkmates with the rook still on the board are possible in some positions or against incorrect defense. Mate in 18 if played perfectly. } * [Date "2017.01.30"] [Site "https://lichess.org/study/BJy6fEDf"] [Event "Lichess Practice: Piece Checkmates I: Two bishop mate"] [Annotator "arex @ https://lichess.org"] [UTCDate "2017.02.18"] [UTCTime "12:38:24"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [FEN "8/8/3k4/8/8/2BBK3/8/8 w - - 0 1"] [SetUp "1"] { When trying to checkmate with two bishops, there are two important principles to follow. One, the bishops are best when they are near the center of the board and on adjacent diagonals. This cuts off the opposing king. Two, the king must be used aggressively, in conjunction with the bishops. Mate in 13 if played perfectly. } * [Date "2017.01.30"] [Site "https://lichess.org/study/BJy6fEDf"] [Event "Lichess Practice: Piece Checkmates I: Knight and bishop mate"] [Annotator "arex @ https://lichess.org"] [UTCDate "2017.02.18"] [UTCTime "12:08:37"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [FEN "8/8/1k1K4/8/2BN4/8/8/8 w - - 0 1"] [SetUp "1"] { Of the basic checkmates, this is the most difficult one to force, because the knight and bishop cannot form a linear barrier to the enemy king from a distance. The checkmate can be forced only in a corner that the bishop controls. The mating process often requires accurate play, since a few errors could result in a draw either by the fifty-move rule or stalemate. Mate in 10 if played perfectly. } * [Event "Lichess Practice: Piece Checkmates II: Knight and bishop mate #2"] [Site "https://lichess.org/study/Rg2cMBZ6"] [UTCDate "2017.02.21"] [UTCTime "10:05:54"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/3k4/3B4/3K4/8/3N4/8 w - - 0 1"] [SetUp "1"] { Of the basic checkmates, this is the most difficult one to force, because the knight and bishop cannot form a linear barrier to the enemy king from a distance. The checkmate can be forced only in a corner that the bishop controls. The mating process often requires accurate play, since a few errors could result in a draw either by the fifty-move rule or stalemate. Mate in 19 if played perfectly. } 1. Nc4+ Kd7 2. Ke5 Ke7 3. Nb6 Kf8 4. Kf6 Ke8 5. Bb3 Kf8 6. Nd7+ Ke8 7. Ke6 Kd8 8. Kd6 Ke8 9. Ba2 Kd8 10. Bf7 Kc8 11. Nc5 Kd8 12. Nb7+ Kc8 13. Kc6 Kb8 14. Nd6 Ka7 15. Bc4 Kb8 16. Kb6 Ka8 17. Kc7 Ka7 18. Nc8+ Ka8 19. Bd5# * [Event "Lichess Practice: Piece Checkmates II: Two knights vs pawn"] [Site "https://lichess.org/study/Rg2cMBZ6"] [UTCDate "2017.01.25"] [UTCTime "22:49:55"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "6k1/6p1/8/4K3/4NN2/8/8/8 w - - 0 1"] [SetUp "1"] { Two knights can't force checkmate by themselves, but if the enemy has a pawn, we can avoid stalemate and force mate. Mate in 15 if played perfectly. } 1. Ke6 Kf8 2. Nd6 g5 3. Nh5 g4 4. Ng3 Kg7 5. Ke7 Kg6 6. Nde4 Kg7 7. Nc5 Kg6 8. Ne6 Kh7 9. Kf6 Kg8 10. Kg6 Kh8 11. Kf7 Kh7 12. Nf5 Kh8 13. Nf8 g3 14. Ne7 g2 15. Neg6# *pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-interference_by_arex_2017.02.11.sqlite0000644000175000017500000026000013441162535031755 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) U-learn/puzzles/lichess_study_lichess-practice-interference_by_arex_2017.02.11.pgn   %Qhttps://lichess.org/study/g1fxVZu9 %Q https://lichess.org/study/g1fxVZu9 Ahttps://lichess.org/@/arex A https://lichess.org/@/arex Z&2kLichess Practice: Interference: Interference #72kLichess Practice: Interference: Interference #62kLichess Practice: Interference: Interference #52kLichess Practice: Interference: Interference #42kLichess Practice: Interference: Interference #32kLichess Practice: Interference: Interference #2<Lichess Practice: Interference: Interference Introduction ['3kLichess Practice: Interference: Interference #73kLichess Practice: Interference: Interference #63kLichess Practice: Interference: Interference #53kLichess Practice: Interference: Interference #43kLichess Practice: Interference: Interference #33kLichess Practice: Interference: Interference #2< Lichess Practice: Interference: Interference Introduction  20180221  G< [    0?5q2/1b4pk/1p2p1n1/1P1pPp2/P2P1P1p/rB1N1R1P/1Q4PK/8 w - - 2 46L   k 0?2r4k/5pR1/7p/4pN1q/7P/2n1P3/2Q2P1K/8 b - - 0 36X    _X0?3B2k1/6p1/3b4/1p1p3q/3P1p2/2PQ1NPb/1P2rP1P/R5K1 b - - 5 30Y    0?2rqr1k1/pp1Q1pbp/2n3p1/8/4P3/4BP2/PP2B1PP/2RR2K1 b - - 0 21T   { 0?r2q2k1/pQ2bppp/4p3/8/3r1B2/6P1/P3PP1P/1R3RK1 w - - 1 17[    0?1k1r3r/1pp2pp1/p1p5/2Q5/7q/2Pp1Pp1/PP1N2P1/R1B1RK2 b - - 3 20Z    0?1r2r1k1/p1pbqppp/Q2b1n2/3p4/P2P4/2P5/1P2BPPP/R1B1KN1R b KQ - 2 14            _    X                 tqZJ,pW@0 tOpening?UTCTime16:36:30!UTCDate2017.02.11##Termination+620cp in 3Opening?UTCTime16:24:21!UTCDate2017.02.11##Termination-360cp in 2Opening?UTCTime16:46:26!UTCDate2017.02.11##Termination-700cp in 2Opening?UTCTime16:07:23!UTCDate2017.02.11 ##Termination-115cp in 5 Opening? UTCTime16:00:07 !UTCDate2017.02.11 ##Termination+350cp in 3Opening?UTCTime16:54:47!UTCDate2017.02.11#Terminationmate in 7  Opening? UTCTime15:56:54 !UTCDate2017.02.11 ##Termination-600cp in 2pychess-1.0.0/learn/puzzles/baird.olv0000644000175000017500000272101213365545272016677 0ustar varunvarun--- authors: - Baird, Edith Elina Helen source: Weekly Gazette (Montreal) date: 1893 algebraic: white: [Kf8, Qb4, Ba7, Sd8, Sb5, Pg5, Pg3, Pf2, Pe6, Pe4, Pc2] black: [Ke5, Rc5, Sc4, Pd5] stipulation: "#2" solution: | "1...Nd2/Nd6/Ne3/Nb2/Nb6/Na3/Na5 2.f4#/Qd4# 1...dxe4 2.Qxc5# 1.Qc3+?? 1...d4 2.Qxd4# but 1...Kxe4! 1.Qxc5?? (2.Qxd5#/Qd4#) 1...Ne3/Nb6 2.Qd4# but 1...Kxe4! 1.f3?? zz 1...Rc6/Rc7/Rc8 2.Bd4# 1...Nd2/Nd6/Ne3/Nb2/Nb6/Na3/Na5 2.f4#/Qd4# 1...dxe4/d4 2.Qxc5# but 1...Rxb5! 1.Nd6! zz 1...Kd4 2.Nc6# 1...Kxd6 2.Bb8# 1...Nd2/Ne3/Nb2/Nb6/Na3/Na5 2.N6f7# 1...Nxd6/Rc6/Rc7/Rc8/Rb5/Ra5 2.f4# 1...dxe4/d4 2.Qxc5#" keywords: - Flight giving key - Flight giving and taking key - Black correction --- authors: - Baird, Edith Elina Helen source: Brighton, Hove and Sussex Society date: 1899 algebraic: white: [Kb6, Qh4, Rd1, Bh8, Sf4, Sd2, Pf5, Pf2, Pb2] black: [Kd4, Be5, Ph2, Pg5, Pg4, Pe3] stipulation: "#2" solution: | "1...gxf4 2.Qd8# 1...Bf6 2.Bxf6# 1...Bg7 2.Bxg7# 1...Bxh8 2.Qxh8# 1...exf2 2.Qxf2# 1.Qg3?? (2.Qxe3#/fxe3#) 1...exd2 2.Qd3# 1...exf2 2.Qd3#/Qc3#/Qxf2# 1...e2 2.Qe3#/Qd3#/Qc3# 1...Bf6 2.Qxe3#/Bxf6# 1...Bg7 2.Qxe3#/Bxg7# 1...Bxh8 2.Qxe3# but 1...gxf4! 1.Rc1?? (2.Rc4#) 1...gxf4 2.Qd8# 1...exf2 2.Qxf2# 1...Bf6 2.Bxf6# 1...Bg7 2.Bxg7# 1...Bxh8 2.Qxh8# but 1...exd2! 1.Ra1! (2.Ra4#) 1...gxf4 2.Qd8# 1...exf2 2.Qxf2# 1...Bf6 2.Bxf6# 1...Bg7 2.Bxg7# 1...Bxh8 2.Qxh8#" --- authors: - Baird, Edith Elina Helen source: Bradford Observer Budget date: 1900 algebraic: white: [Kd1, Qf8, Rh5, Re8, Ba2, Sh8, Sh2, Pg5, Pg3, Pd3, Pc6, Pb5, Pb4] black: [Ke5, Re7, Bf6, Pg7, Pc7] stipulation: "#2" solution: | "1...Kf5 2.g6# 1...Kd6 2.Nf7# 1...Bxg5 2.Qf4# 1...g6 2.Qxf6# 1...Re6/Rxe8 2.Qc5# 1.Rxe7+?? 1...Kf5 2.Qc8#/g6# 1...Kd6 2.Nf7#/Qd8#/Re6# 1...Bxe7 2.Qf4# but 1...Kd4! 1.Rd8?? zz 1...Kf5 2.g6# 1...g6 2.Qxf6# 1...Bxg5 2.Ng6#/Ng4#/Nf3#/Qf4#/Rxg5# 1...Re6 2.Rd5#/Qc5# 1...Re8/Rf7 2.Qc5# but 1...Rd7! 1.Bb3?? zz 1...Kf5 2.g6# 1...Kd6 2.Nf7# 1...Bxg5 2.Qf4# 1...g6 2.Qxf6# 1...Re6/Rxe8 2.Qc5# but 1...Kd4! 1.Bc4?? zz 1...Kf5 2.g6# 1...Kd6 2.Nf7# 1...Re6/Rxe8 2.Qc5# 1...g6 2.Qxf6# 1...Bxg5 2.Qf4# but 1...Kd4! 1.Nf3+?? 1...Kd6 2.Nf7#/Rd8# but 1...Kf5! 1.Kc1?? zz 1...Kf5 2.g6# 1...Kd6 2.Nf7# 1...Bxg5+ 2.Qf4# 1...g6 2.Qxf6# 1...Re6/Rxe8 2.Qc5# but 1...Kd4! 1.Kc2?? zz 1...Kf5 2.g6# 1...Kd6 2.Nf7# 1...g6 2.Qxf6# 1...Bxg5 2.Qf4# 1...Re6/Rxe8 2.Qc5# but 1...Kd4! 1.g6+?? 1...Kd6 2.Rd8#/Nf7# 1...Bg5 2.Qf4# but 1...Kd4! 1.Kd2! zz 1...Kf5 2.g6# 1...Kd4 2.Nf3# 1...Kd6 2.Nf7# 1...g6 2.Qxf6# 1...Re6/Rxe8 2.Qc5# 1...Bxg5+ 2.Qf4#" keywords: - King Y-flight --- authors: - Baird, Edith Elina Helen source: Hampstead and Highgate Express date: 1891 algebraic: white: [Ke1, Qh2, Rd6, Rc3, Ba5, Sg1, Sa7, Pg5, Pe2, Pc2, Pb3] black: [Kd4, Rb6, Bh5, Sd5, Pg2, Pe4, Pb7, Pb4] stipulation: "#2" solution: | "1...e3[a] 2.Rc4#[A] 1...bxc3[b] 2.Bxb6#[B] 1...Rb5/Ra6/Rc6/Rxd6 2.Nxb5# 1...Bg4/Bf3/Bg6/Bf7/Be8 2.Qh8# 1...Bxe2 2.Nxe2#/Qh8# 1.g6[C]? zz 1...e3[a] 2.Rc4#[A] 1...bxc3[b] 2.Bxb6#[B] 1...Bg4/Bf3/Bxg6 2.Qh8# 1...Bxe2 2.Nxe2#/Qh8# 1...Rb5/Ra6/Rc6/Rxd6 2.Nxb5# but 1...Kxc3! 1.Qg3? (2.Bxb6#[B]/Rc4#[A]) 1...e3[a] 2.Qxe3#/Rc4#[A] 1...bxc3[b] 2.Bxb6#[B]/Qxc3# 1...Bxe2 2.Nxe2#/Bxb6#[B] 1...Rb5/Ra6/Rxd6 2.Nxb5#/Rc4#[A] 1...Rc6 2.Nb5# but 1...Bf3! 1.Bxb4?? (2.e3#) 1...e3[a] 2.Qf4#/Rc4#[A] 1...Rxd6 2.Nb5# 1...Bxe2 2.Nxe2#/Qh8# but 1...Rxb4! 1.Qf4?? (2.Qf6#/Rc4#[A]) 1...bxc3[b] 2.Bxb6#[B] 1...Bxe2 2.Nxe2#/Qf6# 1...Rc6 2.Qf6#/Nb5# 1...Rxd6 2.Nb5#/Rc4#[A] but 1...Kxc3! 1.Rd3+?? 1...Kc5 2.R6xd5#/R3xd5# but 1...exd3! 1.Kd1[D]! zz 1...e3[a] 2.Rc4#[A] 1...bxc3[b] 2.Bxb6#[B] 1...Kxc3 2.Qe5# 1...Bg4/Bf3/Bg6/Bf7/Be8 2.Qh8# 1...Bxe2+ 2.Nxe2# 1...Rb5/Ra6/Rc6/Rxd6 2.Nxb5#" keywords: - Black correction - Rudenko --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1895 algebraic: white: [Kb1, Qc2, Re3, Rd8, Bh8, Ba8, Sb5, Pg3, Pd7, Pc3, Pb3] black: [Kd5, Be6, Sf6, Sc6, Pg4] stipulation: "#2" solution: | "1...Ng8/Nh5/Nh7/Ne8/Nxd7 2.Re5# 1...Bf5/Bf7/Bg8/Bxd7 2.Qxf5# 1.Bxf6?? (2.Re5#) but 1...Kc5! 1.b4?? (2.c4#/Qa2#/Qd3#/Qb3#) 1...Bf5 2.c4# but 1...Kc4! 1.Qg2+?? 1...Kc5 2.Qxc6# but 1...Ne4! 1.Qe4+?? 1...Kc5 2.Qxc6# but 1...Nxe4! 1.Qf2! zz 1...Kc5/Ng8/Nh5/Nh7/Ne8/Nxd7 2.Re5# 1...Bf5+/Bf7/Bg8/Bxd7 2.Qxf5# 1...Ne4 2.Rd3#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Kentish Express and Ashford News date: 1888 algebraic: white: [Kb2, Qf8, Rf5, Bc8, Sd7, Pf2, Pc3, Pb4] black: [Kd5, Se5, Pf6, Pb6, Pb5] stipulation: "#2" solution: | "1.Nxb6+?? 1...Kc6 2.Qc5# but 1...Ke4! 1.Qd6+?? 1...Ke4 2.Nxf6# 1...Kc4 2.Nxb6#/Qd4#/Rf4# but 1...Kxd6! 1.Qd8! zz 1...Kd6/Ke6 2.Nxe5# 1...Ke4 2.Nxf6# 1...Kc4 2.Nxb6# 1...Kc6 2.Nb8#" keywords: - Flight giving key - King star flight - King Y-flight --- authors: - Baird, Edith Elina Helen source: Natal Advertiser date: 1894 algebraic: white: [Kf2, Qb6, Ra5, Bh6, Bg8, Sh2, Sd2, Pe3] black: [Ke5, Rc5, Bb5, Pd6, Pd3] stipulation: "#2" solution: | "1...d5 2.Qe6# 1.Qxd6+?? 1...Kf5 2.e4#/Bh7#/Qe6# but 1...Kxd6! 1.e4! zz 1...Kf6 2.Qxd6# 1...Kd4 2.Bg7# 1...d5 2.Nhf3# 1...Rc4/Rc3/Rc2/Rc1/Rc6/Rc7/Rc8/Rd5 2.Ng4# 1...Bc4/Bc6/Bd7/Be8/Ba4/Ba6 2.Qb2#" keywords: - Flight giving and taking key --- authors: - Baird, Edith Elina Helen source: Southern Counties' Chess Journal date: 1895 algebraic: white: [Kh6, Qf6, Bc1, Sc7, Sb2, Ph2, Pg2, Pb4] black: [Ke4, Rd1, Sf1, Sd2, Pf5, Pf2, Pb3] stipulation: "#2" solution: | "1...Ke3 2.Qe5# 1...Kf4 2.Qd4# 1.Qe6+?? 1...Kd4 2.Nb5# but 1...Kf4! 1.Nb5! (2.Qd4#) 1...Ke3 2.Qe5# 1...Kd5/Nf3/Nc4 2.Nc3# 1...Nb1/f4 2.Qe6#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: The Chess Amateur date: 1924 algebraic: white: [Kb1, Re4, Bg6, Sf3, Sd5] black: [Kd3] stipulation: "#2" solution: | "1.Ka2! zz 1...Kc2 2.Re1#" keywords: - Flight giving key - No pawns --- authors: - Baird, Edith Elina Helen source: Montreal Gazette date: 1892 algebraic: white: [Kd1, Qf8, Rh5, Re8, Bb8, Ba2, Sh8, Sh2, Pg5, Pg3, Pd3, Pc7, Pb4] black: [Ke5, Re7, Bf6, Pg7] stipulation: "#2" solution: | "1...Kf5 2.g6# 1...Kd6 2.c8Q# 1...Bxg5 2.Qf4# 1...g6 2.Qxf6# 1...Re6/Rxe8 2.Qc5# 1.Ba7?? zz 1...Kf5 2.g6# 1...g6 2.Qxf6# 1...Re6/Rxe8 2.Qc5# 1...Bxg5 2.Qf4# but 1...Kd6! 1.Rxe7+?? 1...Kf5 2.c8Q#/c8B#/Qc8#/g6# 1...Kd6 2.c8Q#/c8R# 1...Bxe7 2.Qf4# but 1...Kd4! 1.Rd8?? zz 1...Kf5 2.g6# 1...g6 2.Qxf6# 1...Bxg5 2.Ng4#/Nf3#/Qf4#/Ng6#/Rxg5# 1...Re6 2.Rd5#/Qc5# 1...Re8 2.c8Q#/c8B#/Qc5# 1...Rxc7/Rf7 2.Qc5# but 1...Rd7! 1.c8R+?? 1...Kf5 2.g4#/g6# but 1...Kd4! 1.c8N+?? 1...Kf5 2.Nxe7#/g4#/g6# but 1...Kd4! 1.Rh4?? (2.c8Q#/c8B#) 1...Kd6 2.c8Q# 1...Re6 2.Qc5# but 1...Kf5! 1.b5?? zz 1...Kf5 2.g6# 1...Kd6 2.c8Q# 1...Bxg5 2.Qf4# 1...g6 2.Qxf6# 1...Re6/Rxe8 2.Qc5# but 1...Kd4! 1.Bb3?? zz 1...Kf5 2.g6# 1...Kd6 2.c8Q# 1...Bxg5 2.Qf4# 1...g6 2.Qxf6# 1...Re6/Rxe8 2.Qc5# but 1...Kd4! 1.Bc4?? zz 1...Kf5 2.g6# 1...Kd6 2.c8Q# 1...Re6/Rxe8 2.Qc5# 1...g6 2.Qxf6# 1...Bxg5 2.Qf4# but 1...Kd4! 1.Bg8?? zz 1...Kf5 2.g6# 1...Kd6 2.c8Q# 1...g6 2.Qxf6# 1...Re6/Rxe8 2.Qc5# 1...Bxg5 2.Qf4# but 1...Kd4! 1.Nf3+?? 1...Kd6 2.c8Q# but 1...Kf5! 1.Kc1?? zz 1...Kf5 2.g6# 1...Kd6 2.c8Q# 1...Bxg5+ 2.Qf4# 1...g6 2.Qxf6# 1...Re6/Rxe8 2.Qc5# but 1...Kd4! 1.Kc2?? zz 1...Kf5 2.g6# 1...Kd6 2.c8Q# 1...g6 2.Qxf6# 1...Bxg5 2.Qf4# 1...Re6/Rxe8 2.Qc5# but 1...Kd4! 1.g6+?? 1...Kd6 2.c8Q# 1...Bg5 2.Qf4# but 1...Kd4! 1.Kd2! zz 1...Kf5 2.g6# 1...Kd4 2.Nf3# 1...Kd6 2.c8Q# 1...g6 2.Qxf6# 1...Re6/Rxe8 2.Qc5# 1...Bxg5+ 2.Qf4#" keywords: - King Y-flight --- authors: - Baird, Edith Elina Helen source: Weekly Gazette (Montreal) date: 1893 algebraic: white: [Kd7, Qc1, Rg6, Rg5, Bh7, Ba3, Sf3, Sb1, Pg2, Pe6, Pd2, Pc6, Pa5] black: [Kd5, Rf5, Sb4, Pa6, Pa4] stipulation: "#2" solution: | "1...Ke4[a] 2.Qc4#[A] 1...Nxc6 2.Qxc6# 1...Re5 2.Rxe5# 1...Rxg5 2.Rxg5# 1.d3? (2.Qc4#[A]/Rxf5#[B]) 1...Nc2 2.Nc3#/Rxf5#[B] 1...Nxc6 2.Nc3#/Qc4#[A]/Qc5#/Qxc6# 1...Re5 2.Qc4#[A]/Rxe5# 1...Rxg5 2.Rxg5#/Qc4#[A]/Qxg5# but 1...Nxd3! 1.c7?? zz 1...Ke4[a] 2.Qc4#[A] 1...Nc6/Nd3/Na2 2.Qxc6# 1...Re5 2.Rxe5# 1...Rxg5 2.Rxg5# but 1...Nc2! 1.Bxb4?? zz 1...Ke4[a] 2.Qc4#[A] 1...Re5 2.Rxe5# 1...Rxg5 2.Rxg5# but 1...a3! 1.Qc2?? (2.Rxf5#[B]) 1...Nxc6 2.Qxc6# 1...Nd3 2.Qxd3# 1...Re5 2.Rxe5# 1...Rxg5 2.Rxg5# but 1...Nxc2! 1.Qc3?? (2.Qd4#) 1...Nxc6 2.Qxc6# but 1...Nc2! 1.Qc5+?? 1...Ke4[a] 2.Qc4#[A]/Qxf5#/Qd4# but 1...Kxc5[b]! 1.Qf1[C]! zz 1...Ke4[a] 2.Qc4#[A] 1...Kc5[b] 2.Rxf5#[B] 1...Nc2/Nxc6 2.Nc3# 1...Nd3/Na2 2.Qxd3# 1...Re5 2.Rxe5# 1...Rxg5 2.Rxg5#" keywords: - Flight giving key - Rudenko --- authors: - Baird, Edith Elina Helen source: Weekly Gazette (Montreal) date: 1895 algebraic: white: [Kh1, Qa2, Rh4, Rb4, Ba8, Ba1, Sf7, Sc7, Pg5, Pg2, Pd2] black: [Ke4, Bf4, Sd4, Sc4, Pd3, Pc6, Pb5] stipulation: "#2" solution: | "1...Nxd2[a]/Nd6/Ne3/Nb2/Nb6/Na3/Na5 2.Qe6#[A] 1...Ne5/Ne2[b]/Ne6[b]/Nf3[b]/Nc2[b]/Nb3[b] 2.Nd6#[B] 1...Nf5 2.Bxc6#[C] 1.g6? zz 1...Nxd2[a]/Nd6/Ne3/Nb2/Nb6/Na3/Na5 2.Qe6#[A] 1...Ne2[b]/Ne6[b]/Nf3[b]/Nc2[b]/Nb3[b]/Ne5 2.Nd6#[B] 1...Nf5 2.Bxc6#[C]/Ng5# but 1...Kf5! 1.Rxb5? zz 1...Nxd2[a] 2.Re5#[D] 1...Ne2[b]/Ne6[b]/Nf3[b]/Nf5/Nc2[b]/Nb3[b] 2.Bxc6#[C] 1...Nd6/Ne3/Ne5/Nb2/Nb6/Na3/Na5 2.Nxd6#[B]/Re5#[D] but 1...Nxb5! 1.Bb7?? zz 1...Nxd2[a]/Nd6/Ne3/Nb2/Nb6/Na3/Na5 2.Qe6#[A] 1...Ne5/Ne2[b]/Ne6[b]/Nf3[b]/Nc2[b]/Nb3[b] 2.Nd6#[B] 1...Nf5 2.Bxc6#[C] but 1...Kf5! 1.Bxc6+[C]?? 1...Nxc6 2.Nd6#[B] but 1...Kf5! 1.Nh6?? zz 1...Nxd2[a]/Nd6/Ne3/Nb2/Nb6/Na3/Na5 2.Qe6#[A] 1...Ne2[b]/Ne6[b]/Nf3[b]/Nf5/Nc2[b]/Nb3[b] 2.Bxc6#[C] 1...Ne5 2.Rxd4# but 1...Ke5! 1.Nd6+[B]?? 1...Nxd6 2.Qe6#[A] but 1...Ke5! 1.Qxc4?? (2.Qe6#[A]) 1...Kf5 2.Qxd3# but 1...bxc4! 1.Bb2?? zz 1...Nxd2[a]/Nd6/Ne3/Nxb2/Nb6/Na3/Na5 2.Qe6#[A] 1...Ne5/Ne2[b]/Ne6[b]/Nf3[b]/Nc2[b]/Nb3[b] 2.Nd6#[B] 1...Nf5 2.Bxc6#[C] but 1...Kf5! 1.Bc3?? zz 1...Nxd2[a]/Nd6/Ne3/Nb2/Nb6/Na3/Na5 2.Qe6#[A] 1...Ne2[b]/Ne6[b]/Nf3[b]/Nc2[b]/Nb3[b]/Ne5 2.Nd6#[B] 1...Nf5 2.Bxc6#[C] but 1...Kf5! 1.Rg4?? zz 1...Nxd2[a]/Nd6/Ne3/Nb2/Nb6/Na3/Na5 2.Qe6#[A] 1...Ne2[b]/Ne6[b]/Nf3[b]/Nc2[b]/Nb3[b]/Ne5 2.Nd6#[B] 1...Nf5 2.Bxc6#[C] but 1...Kf5! 1.Qb3! zz 1...Nxd2[a]/Nd6/Ne3/Nb2/Nb6/Na3/Na5 2.Qe6#[A] 1...Ne2[b]/Ne6[b]/Nf3[b]/Nc2[b]/Nxb3[b]/Ne5 2.Nd6#[B] 1...Kf5 2.Qxd3# 1...Nf5 2.Bxc6#[C]" keywords: - Black correction - Changed mates --- authors: - Baird, Edith Elina Helen source: Weekly Gazette (Montreal) date: 1891 algebraic: white: [Kf1, Qd8, Rd1, Ra4, Be2, Bc1, Sf7, Ph5, Ph2, Pe6, Pd4, Pd2] black: [Ke4, Sd7, Ph6] stipulation: "#2" solution: | "1.Qf6? (2.Qf3#) 1...Kd5[a] 2.Bf3#[B] 1...Ne5[b] 2.Qxe5#[C] but 1...Nxf6! 1.Qa8+[A]?? 1...Kf4 2.Qf3# but 1...Kf5! 1.Qg5?? (2.Nd6#/d3#/d5#) 1...Ne5[b] 2.Qxe5#[C] 1...Nc5 2.Nd6#/dxc5#/Qe5#[C] 1...Nb6 2.Nd6#/d3#/Qe5#[C] but 1...hxg5! 1.Qa5?? (2.d3#) 1...Ne5[b] 2.Qxe5#[C] but 1...Nc5! 1.Nd6+?? 1...Kf4 2.d3#/Qh4# but 1...Kd5[a]! 1.d3+?? 1...Kd5[a] 2.Qxd7# but 1...Kf5! 1.d5+?? 1...Kf5 2.Bg4#/Bd3# but 1...Kxd5[a]! 1.Bg4! zz 1...Kd5[a] 2.Qa8#[A] 1...Ne5[b] 2.dxe5#[D] 1...Kf4 2.d5# 1...Kd3 2.Bf5# 1...Nf6/Nf8/Nb6/Nb8 2.d3# 1...Nc5 2.dxc5#" keywords: - Flight giving and taking key - King Y-flight - Black correction - Changed mates --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1889 algebraic: white: [Kg8, Qa5, Rf2, Rd8, Ba6, Ba1, Sf7, Sf1, Pg5, Pg3, Pd2, Pc6, Pa2] black: [Ke4, Rb2, Bd5, Sf4, Se6, Pg4, Pa3] stipulation: "#2" solution: | "1...Rb1[a]/Rb3[a]/Rb4[a]/Rb6[a]/Rb7[a]/Rb8[a]/Rxa2[a]/Rc2[a]/Rxd2[a] 2.Nd6#[A] 1...Bc4[b]/Bb3[c]/Bxa2[c]/Bxc6[d] 2.Qe5#[B] 1...Kd4 2.Qb4# 1...Kf5 2.Bd3# 1...Nf8/Nxg5/Ng7/Nd4/Nxd8/Nc5/Nc7 2.Rxf4# 1...Ng2/Ng6/Nh3/Nh5/Ne2/Nd3 2.Qxd5# 1.Bc4[C]? zz 1...Rb1[a]/Rb3[a]/Rb4[a]/Rb5[e]/Rb6[a]/Rb7[a]/Rb8[a]/Rxa2[a]/Rc2[a]/Rxd2[a] 2.Nd6#[A] 1...Bxc4[b]/Bxc6[d] 2.Qe5#[B] 1...Kf5 2.Bd3# 1...Nf8/Nxg5/Ng7/Nd4/Nxd8/Nc5/Nc7 2.Rxf4# 1...Ng2/Ng6/Nh3/Nh5/Ne2/Nd3 2.Qxd5# but 1...Kd4! 1.Qc5[D]? zz 1...Rb1[a]/Rb3[a]/Rb4[a]/Rb6[a]/Rb7[a]/Rb8[a]/Rxa2[a]/Rc2[a]/Rxd2[a] 2.Nd6#[A] 1...Bc4[b] 2.Qe5#[B] 1...Bb3[c]/Bxa2[c]/Bxc6[d] 2.Nd6#[A]/Qe5#[B] 1...Kf5 2.Bd3# 1...Nf8/Nxg5/Ng7/Nd4/Nxd8/Nxc5/Nc7 2.Rxf4# 1...Ng2 2.Qxd5#/d3# 1...Ng6/Nh3/Nh5/Ne2 2.d3#/Qxd5#/Qe3# 1...Nd3 2.Qxd5#/Qe3# but 1...Rb5[e]! 1.Qc3? (2.Nd6#[A]/Qe5#[B]) 1...Bc4[b]/Bb3[c]/Bxa2[c]/Bxc6[d] 2.Qe5#[B] 1...Rb5[e] 2.Nd6#[A] 1...Nf8/Nxg5/Ng7/Nxd8/Nc5/Nc7 2.Qe5#[B]/Rxf4# 1...Nd4 2.Rxf4# 1...Ng6 2.Nd6#[A]/Qd3#/Qe3#/Bd3#/d3# 1...Nd3 2.Nd6#[A]/Bxd3#/Qxd3# but 1...Kf5! 1.Nd6+[A]?? 1...Kd4 2.Qc3# but 1...Ke5! 1.Bd3+?? 1...Kd4 2.Qc3# 1...Nxd3 2.Qxd5# but 1...Kxd3! 1.d3+?? 1...Kd4 2.Qb4# 1...Nxd3 2.Qxd5# but 1...Kf5! 1.Bxb2?? (2.Nd6#[A]) 1...Bc4[b] 2.Qe5#[B] 1...Kf5 2.Bd3# 1...Nf8/Nxg5/Ng7/Nd4/Nxd8/Nc5/Nc7 2.Rxf4# but 1...axb2! 1.Re2+?? 1...Kd4 2.Qb4#/Qc3# 1...Kf3 2.Ne5# 1...Nxe2 2.Qxd5# but 1...Kf5! 1.Be2[E]! zz 1...Rb1[a]/Rb3[a]/Rb4[a]/Rb5[e]/Rb6[a]/Rb7[a]/Rb8[a]/Rxa2[a]/Rc2[a]/Rxd2[a] 2.Nd6#[A] 1...Bc4[b]/Bb3[c]/Bxa2[c]/Bxc6[d] 2.Qe5#[B] 1...Kd4 2.Qb4# 1...Kf5 2.Bd3# 1...Nf8/Nxg5/Ng7/Nd4/Nxd8/Nc5/Nc7 2.Rxf4# 1...Ng2/Ng6/Nh3/Nh5/Nxe2/Nd3 2.Qxd5#" keywords: - Active sacrifice - Rudenko --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1888 algebraic: white: [Kb3, Qg8, Re1, Ra6, Sd4, Sb8, Pg7, Pg5, Pg3, Pc5, Pc4] black: [Ke5, Qd6, Bg6, Pe4, Pb6] stipulation: "#2" solution: | "1...Bf5 2.Nf3#[A] 1...Qd5/Qf6/Qc7/Qxb8 2.Qxd5# 1...Qd8/Qc6 2.Nbc6#[B] 1...Qe7/Qf8 2.Nbc6#[B]/Qd5# 1.Qe6+?? 1...Kxd4 2.Qxd6# but 1...Qxe6! 1.Qf8! (2.Qxd6#) 1...Qd5/Qxd4/Qd7/Qf6/Qxc5/Qc7/Qxb8 2.Qf6# 1...Qd8/Qc6/Qe7/Qxf8 2.Nbc6#[B] 1...Qe6 2.Nf3#[A] 1...e3 2.Qf4#" keywords: - Black correction - Transferred mates --- authors: - Baird, Edith Elina Helen - Winter-Wood, Carslake source: Illustrated Western Weekly News date: 1909 algebraic: white: [Kg7, Ra5, Be8, Bd8, Sg5, Pe4, Pc3, Pb3] black: [Kd6, Pe7, Pc6, Pc5] stipulation: "#2" solution: | "1...Ke5 2.Bc7# 1...c4 2.e5# 1...e6 2.Nf7# 1.Kg6?? zz 1...Ke5 2.Bc7# 1...c4 2.e5# 1...e6 2.Nf7# but 1...e5! 1.Ra2?? zz 1...Ke5 2.Bc7# 1...e6 2.Nf7# 1...e5 2.Rd2# but 1...c4! 1.Ra1?? zz 1...Ke5 2.Bc7# 1...e6 2.Nf7# 1...e5 2.Rd1# but 1...c4! 1.Ra6?? zz 1...Ke5 2.Bc7# 1...e6 2.Nf7# 1...e5 2.Rxc6# but 1...c4! 1.Ra7?? (2.Bc7#) 1...e6 2.Nf7# 1...e5 2.Be7#/Rd7# but 1...c4! 1.b4! zz 1...Ke5 2.Bc7# 1...e6 2.Nf7# 1...e5 2.bxc5# 1...cxb4/c4 2.e5#" keywords: - Active sacrifice --- authors: - Baird, Edith Elina Helen source: Sussex Chess Journal date: 1891 distinction: 2nd Prize algebraic: white: [Ka8, Qd7, Rd2, Ra5, Bh5, Sg4, Sb1, Ph2, Pg6, Pe3, Pc6, Pc3] black: [Ke4, Sd6, Sc5, Pg7, Pc7, Pc4] stipulation: "#2" solution: | "1.Rd2-e2 ! zugzwang. 1...Ke4-d3 2.Sg4-f2 # 1...Ke4-f3 2.Sg4-f6 # 1...Ke4-d5 2.e3-e4 # 1...Sc5-a4 2.Sg4-f2 # 1...Sc5-b3 2.Sg4-f2 # 1...Sc5-d3 2.Sb1-d2 # 1...Sc5-e6 2.Sg4-f2 # 1...Sc5*d7 2.Sg4-f2 # 1...Sc5-b7 2.Sg4-f2 # 1...Sc5-a6 2.Sg4-f2 # 1...Sd6-b5 2.Sb1-d2 # 1...Sd6-f5 2.Sb1-d2 # 1...Sd6-f7 2.Sb1-d2 # 1...Sd6-e8 2.Sb1-d2 # 1...Sd6-c8 2.Sb1-d2 # 1...Sd6-b7 2.Sb1-d2 #" keywords: - 2 flights giving key - Black correction comments: - also in The Philadelphia Times (no. 1565), 1 March 1896 --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1888 algebraic: white: [Kd8, Qg2, Rf7, Rc2, Bg8, Bb2, Pe4, Pa3] black: [Kd6, Bd5, Ph6, Pc3, Pb6] stipulation: "#2" solution: | "1.Qd2! (2.Qxd5#) 1...cxd2 2.Rd7#" keywords: - Active sacrifice --- authors: - Baird, Edith Elina Helen source: Sheffield Weekly Independent date: 1888 distinction: 3rd Prize algebraic: white: [Kb8, Qc4, Ra5, Bg8, Se8, Sc3, Pd3, Pc6] black: [Kf5, Rh7, Sg6, Sg4, Pg5, Pf7, Pe5, Pc7] stipulation: "#2" solution: | "1...f6 2.Be6#/Qe4# 1.Ng7+?? 1...Kf6 2.Qxf7# but 1...Rxg7! 1.Bxf7?? (2.Be6#/Qe4#) 1...Nf2/Nf6 2.Be6# 1...Nh4/Nh8/Nf4/Nf8/Ne7 2.Qe4# but 1...Rxf7! 1.Nd5! zz 1...Ke6 2.Qxg4# 1...Nh4/Nh8/Nf4/Nf8/Ne7 2.Ne7# 1...Rh6/Rh5/Rh4/Rh3/Rh2/Rh1/Rh8/Rg7 2.Ng7# 1...e4/f6 2.Qxe4# 1...Nh2/Nh6/Nf2/Nf6/Ne3 2.Ne3#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: Shoreditch Citizen date: 1889 distinction: 2nd Prize algebraic: white: [Kc5, Qb3, Rh6, Rg1, Bb8, Bb1, Sg5, Sc6, Ph2, Pe6, Pe4, Pa5] black: [Kf4, Sg2, Sc7, Ph3, Pe3, Pa6] stipulation: "#2" solution: | "1...e2 2.Qg3# 1...Nh4 2.Bxc7#/Rxh4# 1...Ne1 2.Bxc7#/Rh4#/Rf6# 1.Rh5?? zz 1...Nh4/Ne1 2.Bxc7#/Rxh4# 1...e2 2.Qf3#/Qg3# but 1...Kg4! 1.Rh4+?? 1...Nxh4 2.Bxc7# but 1...Kxg5! 1.Rg6?? zz 1...Nh4 2.Bxc7# 1...Ne1 2.Bxc7#/Rf6# 1...e2 2.Nxh3#/Qf3#/Qg3# but 1...Kg4! 1.Qxe3+?? 1...Kg4 2.Ne5#/Qg3# 1...Nxe3 2.Bxc7# but 1...Kxe3! 1.Qd5?? (2.Qf5#) 1...Nh4 2.Bxc7#/Rxh4#/Qd6#/Qe5# but 1...e2! 1.Rxg2?? (2.Bxc7#/Rh4#/Rf6#) but 1...hxg2! 1.Nxh3+?? 1...Kg4 2.Ne5# but 1...Kf3! 1.Ne5! zz 1...Kxg5 2.Qxe3# 1...Kxe5 2.Bxc7# 1...Nd5/Ne8/Nb5/Na8 2.Nxh3# 1...Nxe6+ 2.Nxe6# 1...e2 2.Qg3# 1...Nh4 2.Nd3# 1...Ne1 2.Ng6#" keywords: - Flight giving and taking key - Active sacrifice - Black correction --- authors: - Baird, Edith Elina Helen source: Sheffield Weekly Independent date: 1889 distinction: HM algebraic: white: [Kd2, Qh7, Re1, Bf8, Bb1, Sh4, Sc2, Pg4, Pc5, Pc3, Pb4] black: [Kd5, Re5, Be2, Se6, Sc6, Pc4] stipulation: "#2" solution: | "1...Nxb4 2.Nxb4# 1...Bf1/Bf3/Bxg4/Bd1/Bd3 2.Qd7# 1.Ng6! zz 1...Ke4 2.Qh1# 1...Ncd4/Ncd8/Ne7/Nb8/Na5/Na7 2.Ne7# 1...Nxb4 2.Nxb4# 1...Nf4/Nxf8/Ng5/Ng7/Ned4/Ned8/Nxc5/Nc7 2.Nxf4# 1...Bf1/Bf3/Bxg4/Bd1/Bd3/Re4 2.Qd7# 1...Re3/Rf5/Rg5/Rh5 2.Nxe3#" keywords: - Flight giving key - Black correction --- authors: - Baird, Edith Elina Helen source: East Central Times date: 1890 distinction: HM algebraic: white: [Kd7, Qg3, Sa6, Pd2, Pb3, Pa3] black: [Kd4, Sf4, Sa2, Pf5, Pe4] stipulation: "#2" solution: | "1...Ng2/Ng6/Nh3/Nh5/Ne2/Ne6/Nd3 2.Qd6# 1.Qe3+?? 1...Kd5 2.Qc5# but 1...Ke5! 1.Qc3+?? 1...Kd5 2.Nc7#/Qc5# but 1...Nxc3! 1.Nc7! zz 1...Ke5 2.Qg7# 1...Kc5/e3 2.Qe3# 1...Nb4/Nc1/Nc3 2.Qc3# 1...Ng2/Ng6/Nh3/Nh5/Ne2/Ne6/Nd3 2.Qd6# 1...Nd5 2.Ne6#" keywords: - Flight giving and taking key - Black correction --- authors: - Baird, Edith Elina Helen source: Morning date: 1895 algebraic: white: [Ka3, Qb4, Bh3, Bd6, Sh7, Sf6] black: [Ke6, Bf7, Pf5, Pe7, Pc4, Pb5] stipulation: "#2" solution: | "1...exd6 2.Qe1# 1.Qd2?? (2.Qd5#) 1...exd6 2.Qe2#/Qe1#/Qe3# 1...exf6 2.Nf8# but 1...b4+! 1.Qc5?? (2.Qd5#/Qe5#/Bxf5#) 1...Bg6/Bh5/Bg8/Be8 2.Qd5# 1...exd6 2.Qe3# 1...exf6 2.Nf8#/Bxf5# but 1...b4+! 1.Bg2! (2.Bd5#) 1...f4 2.Bh3# 1...exd6 2.Qe1# 1...exf6 2.Nf8#" keywords: - Switchback --- authors: - Baird, Edith Elina Helen source: Hackney Mercury date: 1891 distinction: HM algebraic: white: [Kg5, Qf6, Rg1, Rc5, Bd3, Sb1, Pg3, Pe2, Pb5] black: [Ke3, Sa7, Sa3, Pg4, Pe4] stipulation: "#2" solution: | "1.Rd5?? (2.Qf4#/Qb6#/Qd4#) 1...Nxb1/N3xb5/Nc2/N7xb5/Nc6 2.Qf4# 1...Nc4/Nc8 2.Qf4#/Qd4# but 1...exd3! 1.Nxa3?? (2.Nc4#) but 1...exd3! 1.Rg2?? (2.Qf2#) 1...exd3 2.Qf4#/Qe5# but 1...Nxb1! 1.Rf1?? (2.Qf2#) 1...exd3 2.Qe5# but 1...Nxb1! 1.Qb6! (2.Rc4#/Rc3#/Rc2#/Rcc1#/Rc6#/Rc7#/Rc8#/Rd5#/Re5#/Rf5#) 1...Kf2/Kd4 2.Rf5# 1...N7xb5/N3xb5 2.Rxb5# 1...Nc6 2.Rxc6# 1...Nc8 2.Rxc8# 1...Nxb1/Nc2 2.Rc2# 1...Nc4 2.Rxc4# 1...exd3 2.Re5#" keywords: - 2 flights giving key --- authors: - Baird, Edith Elina Helen source: West Sussex Times and Standard date: 1893 distinction: 2nd Prize algebraic: white: [Kc8, Qg8, Rh7, Be8, Bd8, Se4, Sa8, Pf6, Pf2, Pe6, Pc5, Pc3, Pc2, Pb2] black: [Ka4, Qb5, Bh4, Sb7, Sb1] stipulation: "#2" solution: | "1...Na3 2.b3# 1...Nxc5 2.Nxc5# 1...Nxd8 2.Ra7# 1...Na5 2.Nb6# 1...Qc6+ 2.Bxc6# 1...Qd7+ 2.Bxd7# 1...Qxe8 2.Qxe8# 1.Rxh4?? (2.Ng3#/Ng5#/Nd2#/Nd6#) 1...Nxc5 2.Nxc5# 1...Nd6+ 2.Nxd6# 1...Na5 2.Nb6# 1...Nxc3 2.Nxc3# 1...Nd2 2.Nxd2# 1...Na3 2.b3# 1...Qc6+ 2.Bxc6# 1...Qd7+ 2.Bxd7# 1...Qxe8 2.Qxe8#/Nd6# but 1...Nxd8! 1.Rxb7?? (2.Ra7#/Bxb5#) 1...Na3 2.Ra7#/b3# 1...Qc6+ 2.Bxc6# 1...Qd7+ 2.Bxd7# 1...Qxe8 2.Qxe8#/Rb4# but 1...Nxc3! 1.Qg4! (2.Ng3#/Ng5#/Nd2#/Nd6#) 1...Nxc3 2.Nxc3# 1...Nd2 2.Nxd2# 1...Na3 2.b3# 1...Nxc5 2.Nxc5# 1...Nd6+/Qxe8 2.Nxd6# 1...Nxd8 2.Ra7# 1...Na5 2.Nb6# 1...Bg3 2.Nxg3# 1...Bxf2 2.Nxf2# 1...Bg5 2.Nxg5# 1...Bxf6 2.Nxf6# 1...Qc6+ 2.Bxc6# 1...Qd7+ 2.Bxd7#" keywords: - Fleck - Karlstrom-Fleck --- authors: - Baird, Edith Elina Helen source: Southern Counties' Chess Journal date: 1893 distinction: 2nd Prize, ex aequo algebraic: white: [Ka6, Qc2, Rh5, Re1, Bg2, Bf8, Sh7, Sc5, Pg4, Pd3, Pc6] black: [Kd6, Bg5, Pe7, Pe3, Pd4, Pc7] stipulation: "#2" solution: | "1.Qc4? (2.Qxd4#[A]/Qd5#[B]) 1...Bf6 2.Qd5#[B]/Qe6#/Ne4#/Nb7# but 1...Ke5! 1.Qa2? (2.Qd5#[B]) 1...Kxc5 2.Bxe7#/Qa3# but 1...Ke5! 1.Qb3? (2.Qd5#[B]) 1...Kxc5 2.Bxe7#/Qa3# but 1...Ke5! 1.Qa4? (2.Qxd4#[A]) 1...Kxc5 2.Bxe7#/Qa3# 1...Bf6 2.Rd5# but 1...Ke5! 1.Nxg5?? (2.Nf7#) but 1...Ke5! 1.Qf2! zz 1...Ke5 2.Qg3# 1...Kxc5 2.Bxe7# 1...exf2 2.Nb7# 1...e2 2.Qxd4#[A] 1...Bh4/Bf4 2.Qf4# 1...Bh6/Bf6 2.Qf6#" keywords: - Flight giving key - Active sacrifice - Barnes --- authors: - Baird, Edith Elina Helen source: Southern Counties' Chess Journal date: 1894 distinction: 3rd Prize algebraic: white: [Kb2, Qa1, Rf1, Re5, Bg7, Bg4, Sd2, Sb4, Pg3, Pc5, Pb5] black: [Kd4, Rc3, Pg6, Pg5, Pf3, Pf2, Pe7] stipulation: "#2" solution: | "1...Rc2+ 2.Kxc2# 1...Rc1 2.Kxc1# 1...Rc4 2.Nxf3#/Nb3# 1...Rxc5 2.Re4# 1...Rb3+ 2.Kxb3# 1...Ra3 2.Kxa3# 1...Rd3 2.Nc2#/Nc6# 1...Re3 2.Rd5# 1.Bh6?? zz 1...Kxe5 2.Bg7# 1...Rc2+ 2.Kxc2# 1...Rc1 2.Kxc1# 1...Rc4 2.Nxf3# 1...Rxc5 2.Re4# 1...Rb3+ 2.Kxb3# 1...Ra3 2.Kxa3# 1...Rd3 2.Nc6# 1...Re3 2.Rd5# but 1...e6! 1.Bh8?? zz 1...Rc2+ 2.Kxc2# 1...Rc1 2.Kxc1# 1...Rc4 2.Nxf3#/Nb3# 1...Rxc5 2.Re4# 1...Rb3+ 2.Kxb3# 1...Ra3 2.Kxa3# 1...Rd3 2.Nc2#/Nc6# 1...Re3 2.Rd5# but 1...e6! 1.b6?? zz 1...Rc2+ 2.Kxc2# 1...Rc1 2.Kxc1# 1...Rc4 2.Nxf3#/Nb3# 1...Rxc5 2.Re4# 1...Rb3+ 2.Kxb3# 1...Ra3 2.Kxa3# 1...Rd3 2.Nc2#/Nc6# 1...Re3 2.Rd5# but 1...e6! 1.Nc2+?? 1...Rxc2+ 2.Kxc2# but 1...Kd3! 1.Bf5?? (2.Nc6#) 1...Rc2+ 2.Kxc2#/Nxc2# 1...Rxc5 2.Re4# 1...Rb3+ 2.Kxb3# but 1...gxf5! 1.Be6?? zz 1...Rc2+ 2.Kxc2# 1...Rc1 2.Kxc1#/Nxf3#/Nb3# 1...Rc4 2.Nxf3#/Nb3# 1...Rxc5 2.Nxf3#/Nb3#/Re4# 1...Rb3+ 2.Kxb3#/Nxb3# 1...Ra3 2.Kxa3# 1...Rd3 2.Nc2#/Nc6# 1...Re3 2.Rd5# but 1...g4! 1.Nb3+?? 1...Rxb3+ 2.Kxb3# but 1...Kc4! 1.Rxf2?? zz 1...Rc2+ 2.Kxc2# 1...Rc1 2.Kxc1# 1...Rc4 2.Nxf3#/Nb3# 1...Rxc5 2.Re4# 1...Rb3+ 2.Kxb3# 1...Ra3 2.Kxa3# 1...Rd3 2.Nc2#/Nc6# 1...Re3 2.Rd5# but 1...e6! 1.Bf8! zz 1...Kxe5 2.Bg7# 1...Rc2+ 2.Kxc2# 1...Rc1 2.Kxc1# 1...Rc4 2.Nxf3# 1...Rxc5/e6 2.Re4# 1...Rb3+ 2.Kxb3# 1...Ra3 2.Kxa3# 1...Rd3 2.Nc6# 1...Re3 2.Rd5#" keywords: - Flight giving key - Black correction - Switchback --- authors: - Baird, Edith Elina Helen source: Hackney Mercury date: 1894 distinction: 3rd HM algebraic: white: [Kf8, Qa6, Rg4, Ra3, Be6, Be1, Sa1, Pg2, Pe5] black: [Kd4, Bf4, Se4, Pg5, Pg3, Pa7] stipulation: "#2" solution: | "1...Kc5 2.Nb3# 1...Be3/Bd2/Bc1 2.Qd6# 1...Bxe5 2.Qxa7#/Qc4# 1.Nc2+?? 1...Kc5 2.Ra5#/Bb4# but 1...Kxe5! 1.Ra4+?? 1...Ke3 2.Nc2# 1...Kc5 2.Nb3#/Rc4# but 1...Kxe5! 1.Rd3+?? 1...Kc5 2.Nb3#/Rd5# but 1...Kxe5! 1.Re3! zz 1...Kxe3/Nc5 2.Nc2# 1...Kxe5 2.Bc3# 1...Kc5 2.Nb3# 1...Nf2/Nf6/Nd2/Nd6/Nc3/Bxe5 2.Qxa7# 1...Bxe3 2.Qd6#" keywords: - Flight giving key - Active sacrifice - Black correction --- authors: - Baird, Edith Elina Helen source: Wallasey and Wirral Chronicle date: 1894 distinction: 2nd Prize algebraic: white: [Ke8, Qa6, Rh4, Re1, Bb8, Bb1, Se6, Sd6, Pc3, Pb4, Pa2] black: [Kd5, Se3, Pg4, Pe7, Pc6, Pb5] stipulation: "#2" solution: | "1...Nf1/Nd1/Nc2 2.Rh5#/Nf4# 1...Nf5/Nc4 2.Nf4# 1...Ng2 2.Rh5# 1.Rh5+?? 1...Nf5 2.Rxf5#/Nf4# but 1...Kxe6! 1.Rxe3?? (2.Rh5#/Nf4#) but 1...exd6! 1.Nc4! zz 1...Kxe6/Kxc4 2.Qxc6# 1...g3 2.Nc7# 1...Nf1/Nf5/Ng2/Nd1/Nc2 2.Nb6# 1...Nxc4/bxc4 2.Nf4# 1...c5 2.Nxe3#" keywords: - Flight giving and taking key - Black correction --- authors: - Baird, Edith Elina Helen source: Brighton Society date: 1895 distinction: 3rd Prize algebraic: white: [Kc7, Qd1, Ra5, Bc8, Bb4, Sf8, Sf2, Ph6, Pc6] black: [Ke5, Bb5, Pf4, Pd7, Pd5] stipulation: "#2" solution: | "1.Nxd7+?? 1...Kf5 2.Qg4# but 1...Ke6! 1.Bc3+?? 1...Kf5 2.Qxd5#/Qg4#/Qh5# but 1...d4! 1.Qxd5+?? 1...Kf6 2.Ng4#/Ne4# but 1...Kxd5! 1.Qh5+?? 1...Kf6 2.Ng4# but 1...Kd4! 1.Qg4! zz 1...Kf6/Kd4 2.Qxf4# 1...d4 2.Qg5# 1...Bc4/Bd3/Be2/Bf1/Bxc6/Ba4/Ba6 2.Bc3# 1...dxc6/d6 2.Qg7# 1...f3 2.Nxd7#" keywords: - Flight giving and taking key --- authors: - Baird, Edith Elina Helen source: Leisure Hour date: 1901 distinction: 1st Prize algebraic: white: [Kh2, Qc2, Rd3, Be6, Sg7, Sd4, Pf6, Pf3, Pe7, Pa5] black: [Kd6, Pf7, Pc6] stipulation: "#2" solution: | "1.Qc2-b2 ! zugzwang. 1...c6-c5 2.Qb2-b8 # 1...Kd6-c5 2.Qb2-a3 # 1...Kd6-e5 2.Sd4-e2 # 1...Kd6-c7 2.Sg7-e8 # 1...f7*e6 2.Sd4*e6 #" keywords: - Flight giving key comments: - also in The Philadelphia Times (no. 2080), 16 June 1901 - also in The San Francisco Chronicle (no. 397), 17 November 1901 --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1901 algebraic: white: [Ke8, Qh5, Rb5, Bb4, Ba8, Sd1, Sa3, Pg4, Pe3, Pc2, Pa5] black: [Kd5, Sc6, Sc5, Pe6, Pe5, Pa6, Pa4] stipulation: "#2" solution: | "1.Rb5-b7 ! zugzwang. 1...Sc5-b3 2.Sd1-c3 # 1...Sc5-d3 2.Sd1-c3 # 1...Sc5-e4 2.c2-c4 # 1...Sc5-d7 2.Sd1-c3 # 1...Sc5*b7 2.Sd1-c3 # 1...Kd5-e4 2.Qh5-h1 # 1...Kd5-d6 2.Rb7-d7 # 1...Sc6*a5 2.Rb7-d7 # 1...Sc6*b4 2.Rb7-d7 # 1...Sc6-d4 2.Rb7-d7 # 1...Sc6-e7 2.Rb7-d7 # 1...Sc6-d8 2.Rb7-d7 # 1...Sc6-b8 2.Rb7-d7 # 1...Sc6-a7 2.Rb7-d7 #" keywords: - Black correction comments: - also in The Philadelphia Times (no. 2067), 28 April 1901 --- authors: - Baird, Edith Elina Helen source: Brighton Society date: 1895 algebraic: white: [Ka6, Qh7, Rb5, Bd1, Bb4, Sf3, Sc8, Pe3, Pb2] black: [Kc4, Rd4, Ba7, Se1, Pf6, Pd2, Pb6, Pa4] stipulation: "#2" solution: | "1...f5 2.Ne5# 1...a3 2.b3# 1...Bb8 2.Nxb6# 1...Nxf3/Ng2/Nc2 2.Qc2# 1...Nd3 2.Nxd2# 1...Rd3 2.Qc7# 1...Rd6 2.Nxd6# 1...Re4 2.Qxe4# 1...Rf4/Rg4/Rh4 2.Nd6#/Nxd2# 1.Qf7+?? 1...Rd5 2.Qxd5# but 1...Kd3! 1.Qe4?? (2.Qxd4#/Nd6#/Nxd2#) 1...Bb8 2.Nxb6#/Qxd4#/Nxd2# 1...Nxf3 2.Nd6#/Qc2# 1...Nc2 2.Nxd2#/Qxc2# but 1...Rxe4! 1.Qg8+?? 1...Rd5 2.Qxd5# but 1...Kd3! 1.Nxd4?? (2.Nd6#) 1...Bb8 2.Nxb6# but 1...f5! 1.Be2+?? 1...Rd3 2.Nxd2#/Qf7#/Qg8# 1...Nd3 2.Nxd2# but 1...Kb3! 1.Bd6! zz 1...a3 2.Bb3# 1...Nxf3/Ng2/Nc2 2.Qc2# 1...Nd3/Rf4/Rg4/Rh4 2.Nxd2# 1...Bb8 2.Nxb6# 1...f5 2.Ne5# 1...Rd3 2.Qc7# 1...Rd5 2.Rb4# 1...Rxd6 2.Nxd6# 1...Re4 2.Qxe4#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Chronicle date: 1895 algebraic: white: [Ka1, Qh6, Rh5, Rf6, Ba3, Sf2, Sb8, Pg3, Pd2, Pc3, Pb5] black: [Ke5, Rb7, Bf8, Bc8, Sf5, Pg7, Pe7] stipulation: "#2" solution: | "1...Rd7 2.Rhxf5#/Rfxf5# 1.Qf4+?? 1...Kd5 2.c4#/Qe4#/Qd4# but 1...Kxf6! 1.Qe3+?? 1...Kd5 2.Qe4#/Qd4#/Qc5# but 1...Kxf6! 1.Rd6?? (2.d4#/Nc6#/Qf4#/Qe3#) 1...Rb6/Rxb8/Rc7/Bd7 2.d4#/Qf4#/Qe3# 1...e6/gxh6 2.d4#/Nc6# 1...Be6 2.d4#/Nc6#/Qxe6# 1...g5 2.Nc6# but 1...exd6! 1.c4! (2.Bb2#/Nc6#) 1...Kd4 2.Qf4# 1...Bd7/gxh6/g6/Rb6/Rxb8/Rc7 2.Bb2# 1...Be6/g5/Rxb5/Ra7/Rd7/e6 2.Nc6# 1...gxf6/exf6 2.Qe3#" keywords: - Flight giving and taking key - Pickaninny --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplement date: 1900 algebraic: white: [Kd4, Qe8, Rh5, Rd6, Sc8, Pg5, Pg3, Pf6, Pb2] black: [Kf5, Bf8, Bc4, Sh7, Pg7, Pg4, Pd7, Pd5, Pb3] stipulation: "#2" solution: | "1...Bd3/Be2/Bf1/Bb5/Ba6 2.Rxd5# 1...Be7 2.Nxe7# 1...Bxd6 2.Nxd6# 1...g6 2.Qe5#/Qxd7# 1.Qxf8?? (2.Ne7#) but 1...Kg6! 1.fxg7?? (2.Qe5#/Qg6#/Qxd7#) 1...Bb5 2.Qe5#/Qg6#/Rxd5# 1...Nf6 2.Rxf6#/gxf6# 1...Be7 2.Nxe7#/Qg6#/Qxd7# 1...Bxd6 2.Nxd6# but 1...Bxg7+! 1.Qf7! zz 1...Nxg5 2.fxg7# 1...Nxf6 2.g6# 1...Bd3/Be2/Bf1/Bb5/Ba6 2.Rxd5# 1...gxf6 2.Qxh7# 1...g6 2.Qxd7# 1...Be7 2.Nxe7# 1...Bxd6 2.Nxd6#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Field date: 1892 algebraic: white: [Ka7, Qa1, Re1, Bh7, Bf8, Se3, Sc8, Pg5, Pg3, Pb2, Pa4] black: [Kd4, Bb3, Sd8, Pc6, Pa2] stipulation: "#2" solution: | "1...c5 2.Bg7# 1...Bc2/Bd1/Bc4/Bd5/Be6/Bf7/Bg8/Bxa4 2.b3#/b4# 1.Qd1+?? 1...Ke5 2.Qd6#/Nf1#/Nf5#/Ng2#/Ng4#/Nd5#/Nc2#/Nc4# but 1...Bxd1! 1.Nc2+?? 1...Kd5/Kc4 2.Nb6# but 1...Bxc2! 1.Ne7! zz 1...Ke5 2.N3f5# 1...Kc5 2.N7f5# 1...Ne6/Nf7/Nb7 2.Nxc6# 1...c5 2.Bg7# 1...Bc2/Bd1/Bc4/Bd5/Be6/Bf7/Bg8/Bxa4 2.b4#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: Nottinghamshire Guardian date: 1893 algebraic: white: [Kd3, Qb2, Rf8, Rf1, Bc8, Sf3, Sd5, Pf7] black: [Kf5, Bh5, Pg3, Pe7, Pe6] stipulation: "#2" solution: | "1...Kg4 2.Bxe6# 1.Rg8?? (2.Rg5#/Qe5#/Nh4#) 1...Bxf3 2.Rxf3#/f8Q#/f8R# but 1...Bg6! 1.Ne3+?? 1...Kf4 2.Qb4#/Qd4#/Qe5# but 1...Kg6! 1.Nxe7+?? 1...Kf4 2.Qb4#/Qd4# but 1...Kg4! 1.Qe5+?? 1...Kg4 2.Bxe6#/Qxe6# but 1...Kg6! 1.Qf6+?? 1...Kg4 2.Bxe6#/Qxe6# but 1...exf6! 1.Qg7?? (2.Nh4#/Nd4#/Qg5#) 1...Bxf3 2.Rxf3# but 1...Bg6! 1.Qh8! (2.Qxh5#) 1...Kg4 2.Bxe6# 1...Kg6 2.Nxe7# 1...Bg4 2.Qh7# 1...Bg6 2.Qh3#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Lady's Pictorial date: 1895 algebraic: white: [Kh4, Qg6, Bh2, Bd7, Sc2, Sa4] black: [Kd5, Sb5, Pe5, Pe3, Pb7] stipulation: "#2" solution: | "1...Kc4 2.Be6# 1...b6 2.Qc6# 1...Nc3/Nc7/Nd6/Na3/Na7 2.Qd3# 1...Nd4 2.Nxe3# 1...e4 2.Qg8#/Qe6#/Qf7# 1.Bxb5?? zz 1...e4 2.Qg8#/Qd6#/Qf5#/Qf7# 1...b6 2.Qc6# but 1...e2! 1.Kh3?? zz 1...Kc4 2.Be6# 1...e4 2.Qg8#/Qe6#/Qf7# 1...Nc3/Nc7/Nd6/Na3/Na7 2.Qd3# 1...Nd4 2.Nxe3# 1...b6 2.Qc6# but 1...e2! 1.Kh5?? zz 1...Kc4 2.Be6# 1...e4 2.Qg8#/Qe6#/Qf7# 1...Nc3/Nc7/Nd6/Na3/Na7 2.Qd3# 1...Nd4 2.Nxe3# 1...b6 2.Qc6# but 1...e2! 1.Kg4?? zz 1...Kc4 2.Be6# 1...e4 2.Qg8#/Qe6#/Qf7# 1...Nc3/Nc7/Nd6/Na3/Na7 2.Qd3# 1...Nd4 2.Nxe3# 1...b6 2.Qc6# but 1...e2! 1.Kg3?? zz 1...Kc4 2.Be6# 1...e4 2.Qe6# 1...Nc3/Nc7/Nd6/Na3/Na7 2.Qd3# 1...Nd4 2.Nxe3# 1...b6 2.Qc6# but 1...e2! 1.Kg5?? zz 1...Kc4 2.Be6# 1...e4 2.Qg8#/Qe6#/Qf7# 1...Nc3/Nc7/Nd6/Na3/Na7 2.Qd3# 1...Nd4 2.Nxe3# 1...b6 2.Qc6# but 1...e2! 1.Nb4+?? 1...Kd4 2.Qd3# but 1...Kc4! 1.Bg3?? zz 1...Kc4 2.Be6# 1...e4 2.Qg8#/Qe6#/Qf7# 1...Nc3/Nc7/Nd6/Na3/Na7 2.Qd3# 1...Nd4 2.Nxe3# 1...b6 2.Qc6# but 1...e2! 1.Bf4?? zz 1...Kc4 2.Be6# 1...exf4 2.Qe6# 1...e4 2.Qg8#/Qe6#/Qf7# 1...Nc3/Nc7/Nd6/Na3/Na7 2.Qd3# 1...Nd4 2.Nxe3# 1...b6 2.Qc6# but 1...e2! 1.Qf7+?? 1...Ke4 2.Nc5# but 1...Kd6! 1.Bg1! zz 1...Kc4 2.Be6# 1...e2 2.Nb6# 1...e4 2.Qe6# 1...Nc3/Nc7/Nd6/Na3/Na7 2.Qd3# 1...Nd4 2.Nxe3# 1...b6 2.Qc6#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Stamford Mercury date: 1892 algebraic: white: [Kh3, Qc2, Rh8, Ra5, Be2, Bb8, Sc5, Ph6, Pf3, Pa6, Pa2] black: [Kg5, Sg7, Sb5, Pg6, Pa7, Pa3] stipulation: "#2" solution: | "1...Kh5 2.f4# 1...Nc3/Nd4 2.Ne4# 1.Be5?? (2.f4#) 1...Nh5 2.Ne6# but 1...Ne6! 1.Nd7?? (2.f4#) 1...Nh5 2.Rxb5#/Qc5# but 1...Ne6! 1.Ne4+?? 1...Kh5 2.f4#/hxg7# but 1...Kf5! 1.Qc1+?? 1...Kf5 2.Rf8#/Qf4# 1...Kh5 2.hxg7#/f4# but 1...Kf6! 1.Qb2?? zz 1...Kf5/Nh5/Ne6/Ne8 2.Qe5# 1...Kh5/Nf5 2.f4# 1...Nc3/Nd4 2.Ne4# 1...Nc7/Nd6 2.Ne6# but 1...axb2! 1.Qd2+?? 1...Kf5 2.Rf8#/Qf4# 1...Kh5 2.f4#/hxg7# but 1...Kf6! 1.Qc3! zz 1...Kf5/Nh5/Ne6/Ne8 2.Qe5# 1...Kh5/Nf5 2.f4# 1...Nxc3/Nd4 2.Ne4# 1...Nc7/Nd6 2.Ne6#" keywords: - Flight giving and taking key - Active sacrifice - Black correction --- authors: - Baird, Edith Elina Helen source: The Times date: 1901 algebraic: white: [Kh6, Qa2, Be2, Se8, Sc6, Pg3, Pf3] black: [Kf5, Ra5, Bg8, Sd5, Pf7, Pe3, Pc7, Pa4] stipulation: "#2" solution: | "1...f6/Nf6 2.Ng7# 1...Ra6/Ra7/Ra8 2.Qxd5# 1...Ne7/Nb6 2.Bd3# 1...Nf4 2.g4# 1.Bf1?? (2.Bh3#) 1...Nf4 2.g4# 1...Nf6 2.Ng7# but 1...Ke6! 1.Qc4?? (2.Qe4#/Qg4#) 1...Nf4 2.g4#/Qe4# 1...Nf6 2.Ng7# 1...Nc3 2.g4#/Qg4# but 1...Ke6! 1.Ba6! (2.Bc8#) 1...f6/Nf6 2.Ng7# 1...Rxa6 2.Qxd5# 1...Ne7/Nb6 2.Bd3# 1...Nf4 2.g4#" keywords: - Active sacrifice --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1893 algebraic: white: [Kh3, Qg8, Re1, Bb1, Sd3, Sb7, Ph4, Pf2, Pe2, Pc3] black: [Ke4, Re6, Rc4, Sc7, Pf6, Pc6, Pc5] stipulation: "#2" solution: | "1...Kf5 2.Qh7# 1...Nd5/Ne8/Nb5/Na6/Na8 2.Qxe6# 1...f5 2.Qg2# 1...Re5/Re7/Re8/Rd6 2.Nd6# 1.Qg6+?? 1...f5 2.Qg2# but 1...Kd5! 1.Nf4+?? 1...Kxf4 2.Qg3# but 1...Ke5! 1.Nb4+?? 1...Kf4 2.Qg3# but 1...Ke5! 1.Ba2! zz 1...Kf5 2.Qh7# 1...Kd5 2.e4# 1...Rxc3/Rb4/Ra4/Rd4 2.Qg4# 1...Nd5/Ne8/Nb5/Na6/Na8 2.Qxe6# 1...f5 2.Qg2# 1...Re5/Re7/Re8/Rd6 2.Nd6#" --- authors: - Baird, Edith Elina Helen source: Pictorial World date: 1890 algebraic: white: [Kb5, Qh6, Ra5, Ra3, Bf3, Bb2, Sd3, Sc8, Pf5] black: [Kd4, Bc3, Sg2, Sa2, Pg3, Pf6] stipulation: "#2" solution: | "1.Rxc3?? zz 1...Nb4 2.Rb3#/Rca3# 1...Nc1 2.Ra4#/Rb3#/Rca3# 1...Nh4/Nf4/Ne1 2.Qf4# 1...Ne3 2.Qxf6#/Qf4# but 1...Nxc3+! 1.Bxc3+?? 1...Kxd3 2.Qd2# but 1...Nxc3+! 1.Ne1?? zz 1...Ke5 2.Kc4# 1...Nb4/Nc1 2.Bxc3# 1...Nh4/Nf4 2.Qf4# 1...Ne3 2.Qxf6#/Qf4# 1...Bxb2 2.Qxf6# but 1...Nxe1! 1.Nf2?? zz 1...Ke5 2.Kc4# 1...Nb4/Nc1 2.Bxc3# 1...Nh4/Nf4/Ne1 2.Qf4# 1...Ne3 2.Qxf6#/Qf4# 1...Bxb2 2.Qxf6# but 1...gxf2! 1.Nc1?? zz 1...Ke5 2.Kc4# 1...Nb4 2.Bxc3# 1...Nh4/Nf4/Ne1 2.Qf4# 1...Ne3 2.Qxf6#/Qf4# 1...Bxb2 2.Qxf6# but 1...Nxc1! 1.Nc5?? zz 1...Bxb2 2.Qxf6# 1...Nh4/Nf4/Ne1 2.Qf4# 1...Ne3 2.Qxf6#/Qf4# 1...Nb4/Nc1 2.Bxc3# but 1...Ke5! 1.Nb4?? zz 1...Ke5 2.Kc4# 1...Nh4/Nf4/Ne1 2.Qf4# 1...Ne3 2.Qxf6#/Qf4# 1...Nc1 2.Bxc3# 1...Bxb2 2.Nc6#/Qxf6# but 1...Nxb4! 1.Ne5! zz 1...Kxe5 2.Kc4# 1...Bxb2 2.Nc6# 1...Nb4/Nc1 2.Bxc3# 1...fxe5 2.Qd2# 1...Nh4/Nf4/Ne1/Ne3 2.Qf4#" keywords: - Flight giving and taking key - Active sacrifice --- authors: - Baird, Edith Elina Helen source: Bradford Observer Budget date: 1893 algebraic: white: [Ka7, Qg3, Rh5, Re4, Bh7, Bg5, Sc7, Sa5, Pb2] black: [Kc5, Re6, Rb6, Pf3, Pe7, Pe5, Pb7, Pb3, Pa6] stipulation: "#2" solution: | "1...Rbc6 2.Nxb7# 1...Rbd6/Red6 2.Rc4# 1...Rec6/Rf6/Rg6/Rh6 2.Qxe5# 1.Bxe7+?? 1...Rbd6 2.Qf2#/Rc4# 1...Red6 2.Rhxe5#/Qf2#/Qxe5#/Rc4# but 1...Rxe7! 1.Rxe5+?? 1...Kd4 2.Rh4#/Rd5#/Be3#/Qf4# 1...Kd6 2.Rd5# 1...Kb4 2.Rh4#/Qg4#/Qh4#/Qf4# but 1...Rxe5! 1.Rd4! zz 1...Kxd4 2.Qf2# 1...Rb5 2.Nxe6# 1...Rb4 2.Rd5# 1...Rbc6 2.Nxb3# 1...Rbd6/Red6/e4 2.Rc4# 1...f2 2.Qc3# 1...Rec6/Rf6/Rg6/Rh6 2.Qxe5# 1...exd4 2.Bxe7#" keywords: - Flight giving and taking key - Active sacrifice - Black correction --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1901 algebraic: white: [Kh3, Qe8, Rg4, Re3, Ba4, Ba3, Sg2, Sf7, Pe2, Pd7] black: [Kc4, Bf4, Pg5, Pg3, Pd5, Pd4, Pc7, Pb6] stipulation: "#2" solution: | "1...b5 2.Bb3# 1...Be5 2.Nxe5# 1.Qe4?? (2.Qd3#/Qc2#) but 1...dxe4! 1.Rxf4?? (2.Ne5#) but 1...g4+! 1.Nd6+?? 1...cxd6 2.Qc8# but 1...Bxd6! 1.Qe5! zz 1...c6/c5 2.Nd6# 1...Bxe3 2.Qxc7# 1...Bxe5 2.Nxe5# 1...dxe3 2.Nxe3# 1...d3 2.exd3# 1...b5 2.Bb3#" keywords: - Active sacrifice - Black correction --- authors: - Baird, Edith Elina Helen source: Eastern Daily Press date: 1901 algebraic: white: [Kd2, Qc2, Be1, Bb7, Sh6, Sg4, Ph4, Pe6, Pa4] black: [Kf4, Rf7, Sg2, Pf5, Pf3, Pd4] stipulation: "#2" solution: | "1...Rf6[a]/Rf8[a] 2.Qc7#[A] 1...Re7[b]/Rd7[b]/Rxb7[b]/Rg7[b]/Rh7[b] 2.Qxf5#[B] 1...Rc7[c] 2.Qxc7#[A]/Qxf5#[B] 1...d3 2.Qc4# 1...fxg4 2.Qe4# 1.exf7? (2.Qc7#[A]/Qxf5#[B]) 1...d3 2.Qc4#/Qc7#[A] 1...f2/Nxe1/Ne3 2.Qc7#[A] but 1...Nxh4! 1.Kd1[C]? zz 1...Rf6[a]/Rf8[a] 2.Qc7#[A] 1...Re7[b]/Rd7[b]/Rxb7[b]/Rg7[b]/Rh7[b] 2.Qxf5#[B] 1...Rc7[c] 2.Qxc7#[A]/Qxf5#[B] 1...d3 2.Qc4# 1...Nxh4 2.Qc1#/Qd2# 1...Nxe1 2.Qh2#[D] 1...f2 2.Qxf2# 1...fxg4 2.Qe4# but 1...Ne3+! 1.Qc5?? (2.Qe5#/Qxd4#/Qd6#) 1...Rd7[b] 2.Qe5#/Qxf5#[B] 1...Rxb7[b] 2.Qe5#/Qxf5#[B]/Qxd4# 1...fxg4 2.Qg5#/Qxd4#/Qd6# 1...f2/Nxe1 2.Qe5#/Qd6# but 1...Nxh4! 1.Kc1[E]! zz 1...Rf6[a]/Rf8[a]/Rc7[c] 2.Qc7#[A] 1...Re7[b]/Rd7[b]/Rxb7[b]/Rg7[b]/Rh7[b] 2.Qxf5#[B] 1...d3 2.Qc4# 1...f2 2.Qxf2# 1...Nxh4 2.Qd2# 1...Nxe1/Ne3 2.Qh2#[D] 1...fxg4 2.Qe4#" keywords: - Transferred mates - Rudenko --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1893 algebraic: white: [Kh2, Qa8, Re8, Bh5, Sf1, Sd3, Pg6, Pg4, Pd7, Pc6, Pc2] black: [Kf3, Be6, Pd4] stipulation: "#2" solution: | "1...Ke4 2.c7# 1...Bf5 2.Nd2#/gxf5# 1...Bxg4 2.c7#/Nd2# 1...Bf7/Bg8/Bd5/Bc4/Bb3/Ba2 2.Nd2#/g5# 1...Bxd7 2.Nd2#/cxd7# 1.Qa5?? zz 1...Ke4 2.Qf5# 1...Bf5 2.gxf5#/Nd2#/Qxf5# 1...Bxg4 2.Nd2#/Qd5#/Qf5# 1...Bf7/Bg8/Bc4/Bb3/Ba2 2.Nd2#/Qf5#/g5# 1...Bd5 2.Nd2#/Qxd5#/g5# 1...Bxd7 2.Nd2#/Qd5# but 1...Ke2! 1.Qa1?? zz 1...Ke2 2.g5# 1...Bf5 2.gxf5#/Nd2#/Qd1# 1...Bxg4/Bxd7 2.Nd2#/Qd1# 1...Bf7/Bg8/Bd5/Bc4/Bb3/Ba2 2.Nd2#/Qd1#/g5# but 1...Ke4! 1.Qb7?? zz 1...Ke4 2.c7# 1...Bf5 2.Nd2#/gxf5# 1...Bxg4 2.c7#/Nd2# 1...Bf7/Bg8/Bd5/Bc4/Bb3/Ba2 2.Nd2#/g5# 1...Bxd7 2.Nd2#/cxd7# but 1...Ke2! 1.Re7?? zz 1...Ke4 2.c7# 1...Bf5 2.Nd2#/gxf5# 1...Bxg4 2.Qf8#/c7#/Nd2# 1...Bf7/Bg8/Bd5/Bc4/Bb3/Ba2 2.Nd2#/g5# 1...Bxd7 2.Nd2#/cxd7# but 1...Ke2! 1.d8Q?? zz 1...Ke4 2.c7# 1...Bf5 2.Nd2#/gxf5# 1...Bxg4 2.c7#/Nd2#/Qd5#/Qf6# 1...Bf7/Bg8/Bc4/Bb3/Ba2 2.Nd2#/Qf6#/g5# 1...Bd5 2.Nd2#/Qxd5#/Qf6#/g5# 1...Bd7 2.Nd2#/cxd7# 1...Bc8 2.Nd2#/Qd5# but 1...Ke2! 1.d8R?? zz 1...Ke4 2.c7# 1...Bf5 2.Nd2#/gxf5# 1...Bxg4 2.c7#/Nd2# 1...Bf7/Bg8/Bd5/Bc4/Bb3/Ba2 2.Nd2#/g5# 1...Bd7 2.Nd2#/cxd7# 1...Bc8 2.Nd2# but 1...Ke2! 1.d8B?? zz 1...Ke4 2.c7# 1...Bf5 2.Nd2#/gxf5# 1...Bxg4 2.c7#/Nd2# 1...Bf7/Bg8/Bd5/Bc4/Bb3/Ba2 2.Nd2#/g5# 1...Bd7 2.Nd2#/cxd7# 1...Bc8 2.Nd2# but 1...Ke2! 1.d8N?? zz 1...Ke4 2.c7# 1...Bf5 2.Nd2#/gxf5# 1...Bxg4 2.c7#/Nd2# 1...Bf7/Bg8/Bd5/Bc4/Bb3/Ba2 2.Nd2#/g5# 1...Bd7 2.Nd2#/cxd7# 1...Bc8 2.Nd2# but 1...Ke2! 1.c7+?? 1...Bd5 2.Qxd5#/Nd2#/g5# but 1...Ke2! 1.g7?? zz 1...Ke4 2.c7# 1...Bf5 2.Nd2#/gxf5# 1...Bxg4 2.c7#/Nd2# 1...Bf7 2.Nd2# 1...Bg8/Bd5/Bc4/Bb3/Ba2 2.Nd2#/g5# 1...Bxd7 2.Nd2#/cxd7# but 1...Ke2! 1.Kh1?? zz 1...Ke4/Bxg4 2.c7# 1...Bf5 2.gxf5# 1...Bf7/Bg8/Bd5/Bc4/Bb3/Ba2 2.g5# 1...Bxd7 2.cxd7# but 1...Ke2! 1.Kh3?? zz 1...Ke4 2.c7# 1...Bf5 2.Nh2#/Nd2#/gxf5# 1...Bxg4+ 2.Bxg4# 1...Bf7/Bg8/Bd5/Bc4/Bb3/Ba2 2.Nh2#/Nd2#/g5# 1...Bxd7 2.Nh2#/Nd2#/cxd7# but 1...Ke2! 1.Ng3?? zz 1...Bf5 2.gxf5# 1...Bxg4 2.c7# 1...Bf7/Bg8/Bd5/Bc4/Bb3/Ba2 2.g5# 1...Bxd7 2.cxd7# but 1...Ke3! 1.g5+?? 1...Bg4 2.c7#/Nd2# but 1...Ke4! 1.Kg1! zz 1...Ke2/Bf7/Bg8/Bd5/Bc4/Bb3/Ba2 2.g5# 1...Ke4/Bxg4 2.c7# 1...Bf5 2.gxf5# 1...Bxd7 2.cxd7#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: The Westminster Gazette date: 1900 algebraic: white: [Kh5, Qh8, Bf7, Sf5, Sc4, Pg3, Pe2, Pd5, Pc3, Pb3] black: [Ke4, Re6, Ph6, Pf6, Pd7, Pc5] stipulation: "#2" solution: | "1...Kxd5[a] 2.Qa8#[A] 1...Kxf5 2.Qh7#/Bg6# 1...Re5 2.Nd6# 1...Re7/Re8/Rd6 2.Nfd6#[B] 1.Qh7? zz 1...Kxd5[a] 2.Ne7#[C] 1...Re7/Re8/Rd6/Rc6[b]/Rb6[b]/Ra6[b] 2.Nfd6#[B] 1...Re5 2.Nd2#/Nd6# but 1...d6! 1.Qg8? zz 1...Kxd5[a] 2.Qa8#[A] 1...Rc6[b]/Rb6[b]/Ra6[b] 2.Qg4#[D] 1...Kxf5 2.Bg6#/Qg6#/Qg4#[D]/Qh7# 1...Re5 2.Qg4#[D]/Nd6# 1...Re7/Re8/Rd6 2.Qg4#[D]/Nfd6#[B] but 1...d6! 1.Qb8?? zz 1...Kxd5[a] 2.Qb7#/Qa8#[A] 1...Rc6[b]/Rb6[b]/Ra6[b] 2.Qf4# 1...Kxf5 2.Bg6#/Qf4# 1...Re5 2.Nd6# 1...Re7/Re8 2.Qf4#/Nfd6#[B] 1...Rd6 2.Nfxd6#[B] but 1...d6! 1.Bxe6?? (2.Nfd6#[B]) but 1...dxe6! 1.Nfd6+[B]?? 1...Kxd5[a] 2.Qa8#[A] but 1...Rxd6! 1.Qe8! zz 1...Kxd5[a] 2.Qa8#[A] 1...Kxf5 2.Bg6# 1...d6 2.Qxe6# 1...Re5 2.Nd6# 1...Re7/Rxe8 2.Nfd6#[B]" keywords: - Changed mates --- authors: - Baird, Edith Elina Helen source: Kentish Mercury date: 1894 algebraic: white: [Kh2, Qg1, Rh6, Ra4, Bg7, Bb7, Sg5, Sc8, Pe2, Pc3, Pa2] black: [Kd5, Rc6, Bf5, Sg6, Sb4, Pd7, Pc5] stipulation: "#2" solution: | "1...d6/Nh4/Nh8/Nf4/Nf8/Ne5/Ne7 2.Nb6# 1...Nc2/Nd3/Nxa2/Na6 2.c4# 1...c4 2.Ra5#/Qd4# 1.Ra5?? (2.Rxc5#/Qd4#/Qxc5#) 1...d6 2.Nb6#/Qd4# 1...Nc2 2.Rxc5#/Qxc5# 1...Nd3/Na6 2.Qd4# but 1...Kc4! 1.Rxb4?? (2.c4#) 1...Ne5 2.Ne7#/Nb6#/Rd6# 1...cxb4 2.Qd4# 1...c4 2.Qd4#/Rb5# but 1...Bd3! 1.cxb4?? (2.Qxc5#) 1...d6 2.Nb6# 1...cxb4 2.Qd4# but 1...Kc4! 1.e4+?? 1...Kc4 2.Qf1# but 1...Bxe4! 1.Qg2+?? 1...Be4 2.Qxe4# but 1...Kc4! 1.Qg3?? (2.Nb6#) 1...c4 2.Ra5#/Qd6# but 1...Kc4! 1.Qh1+?? 1...Be4 2.Qxe4# but 1...Kc4! 1.Qf1! zz 1...Kc4/Bg4/Bh3/Be6 2.e4# 1...c4 2.Ra5# 1...Nh4/Nh8/Nf4/Nf8/Ne5/Ne7/d6 2.Nb6# 1...Be4/Bd3/Bc2/Bb1 2.Qf7# 1...Nc2/Nd3/Nxa2/Na6 2.c4#" --- authors: - Baird, Edith Elina Helen source: Football Field date: 1894 algebraic: white: [Ka3, Qh6, Rg7, Ra5, Bh1, Ba7, Se8, Se7, Pd2] black: [Ke5, Bf8, Sh5, Sd3, Ph7, Ph2, Pf5, Pf4, Pc7, Pc6, Pb5] stipulation: "#2" solution: | "1...Ne1/Nf2/Nc1/Nb2/Nb4 2.d4#[A] 1...Nc5/Bxg7/c5 2.Nxc6#[B] 1...Bxe7+ 2.Rxe7# 1...Ng3/Nxg7/Nf6 2.Qf6#[C] 1...f3 2.Qe3#[D] 1.Bc5? (2.Nxc6#[B]) 1...Bxe7 2.Rxe7# 1...Nb4 2.d4#[A] 1...Nf6 2.Qxf6#[C] 1...f3 2.Qe3#[D] but 1...b4+! 1.Be3? zz 1...Bxg7/c5 2.Nxc6#[B] 1...Bxe7+ 2.Rxe7# 1...Ne1/Nf2/Nc1/Nb2/Nb4 2.d4#[A] 1...Nc5 2.d4#[A]/Nxc6#[B] 1...Ng3/Nxg7/Nf6 2.Qf6#[C] 1...fxe3 2.Qxe3#[D] but 1...f3! 1.Bf2? zz 1...Bxg7/c5 2.Nxc6#[B] 1...Bxe7+ 2.Rxe7# 1...Ne1/Nc1/Nb2/Nb4 2.d4#[A] 1...Nc5 2.d4#[A]/Nxc6#[B] 1...Ng3/Nxg7/Nf6 2.Qf6#[C] 1...f3 2.Qe3#[D] but 1...Nxf2! 1.Rf7? (2.Rxf5#) 1...Nc5/c5 2.Nxc6#[B] 1...Bxe7+ 2.Rxe7# 1...Ng3/Ng7/Nf6 2.Qf6#[C] 1...f3 2.Qe3#[D] but 1...Bxh6! 1.Rxh7? zz 1...Ne1/Nf2/Nc1/Nb2/Nb4 2.d4#[A] 1...Nc5/c5/Bg7 2.Nxc6#[B] 1...f3 2.Qe3#[D] 1...Ng3/Ng7/Nf6 2.Qf6#[C] 1...Bxe7+ 2.Rxe7# but 1...Bxh6! 1.Ra6?? zz 1...Bxg7/Nc5/c5 2.Nxc6#[B] 1...Bxe7+ 2.Rxe7# 1...Ne1/Nf2/Nc1/Nb2/Nb4 2.d4#[A] 1...Ng3/Nxg7/Nf6 2.Qf6#[C] 1...f3 2.Qe3#[D] but 1...b4+! 1.Rxb5+?? 1...Nc5/c5 2.Nxc6#[B] but 1...cxb5! 1.Qg6?? (2.Qxf5#) 1...Bxe7+ 2.Rxe7# 1...Nc5/c5 2.Nxc6#[B] 1...Ng3/Nxg7 2.Qf6#[C] but 1...hxg6! 1.Qxc6?? (2.Qd5#) 1...Bxe7+ 2.Rxe7# 1...Nb4 2.d4#[A] 1...Nf6 2.Qxf6#[C] but 1...f3! 1.Bb6! zz 1...Bxg7/Nc5/c5 2.Nxc6#[B] 1...Bxe7+ 2.Rxe7# 1...Ne1/Nf2/Nc1/Nb2/Nb4 2.d4#[A] 1...cxb6 2.Qd6# 1...Ng3/Nxg7/Nf6 2.Qf6#[C] 1...f3 2.Qe3#[D]" keywords: - Active sacrifice - Black correction - Transferred mates - Block --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1888 algebraic: white: [Kd2, Qg3, Re4, Ra6, Bb1, Ba3, Pf4, Pe6, Pe3, Pd7, Pc7] black: [Kd5, Rd6, Bh6, Bh1, Sb8, Pe7] stipulation: "#2" solution: | "1...Bxe4 2.Ba2# 1...Bg5/Bf8 2.Qxg5# 1...Rxd7/Rxe6 2.Rd4# 1.cxb8Q?? (2.Qb5#/Qb3#) 1...Bxe4 2.Ba2#/Qb3# 1...Rc6 2.Qe5# 1...Rxa6 2.Qb5# but 1...Rb6! 1.d8N?? (2.Rd4#/Ra5#) 1...Bxe4 2.Ba2# 1...Nd7/Nxa6/Rxd8/Rc6/Rb6/Rxa6 2.Rd4# 1...Bxf4/Bg7 2.Ra5# but 1...Nc6! 1.c8N! (2.Nxe7#) 1...Bg5/Bf8 2.Qxg5# 1...Nc6 2.Nb6# 1...Bxe4 2.Ba2# 1...Rxd7/Rxe6 2.Rd4#" --- authors: - Baird, Edith Elina Helen source: Knowledge date: 1901 algebraic: white: [Kh2, Qa6, Rc8, Rb4, Be1, Bd3, Sf4, Pd2] black: [Kc5, Rc1, Bb1, Ba5, Sc7, Sa2, Pe6, Pd5, Pa3] stipulation: "#2" solution: | "1...Nxb4/Bxb4 2.Nxe6# 1...d4 2.Rb5# 1...Bxd3 2.Nxd3# 1...Bb6 2.Qxb6# 1.Rxc7+?? 1...Kxb4 2.Qb5# but 1...Bxc7! 1.Bf2+?? 1...d4 2.Rb5# but 1...Kxb4! 1.Qxa5+?? 1...Kc6 2.Qxc7# but 1...Kd6! 1.Bc2! (2.Nd3#/d4#) 1...Kxb4/Nc3/Rxc2/Rd1/Rxe1/e5 2.Nd3# 1...Nxb4/Bxb4 2.Nxe6# 1...d4 2.Rc4# 1...Bb6 2.Qxb6# 1...Bxc2 2.d4#" --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1899 algebraic: white: [Ka1, Qh5, Bc5, Ba8, Pe6, Pd4, Pc6] black: [Kd5, Pe5, Pe4, Pd6, Pc4] stipulation: "#2" solution: | "1...dxc5 2.Qxe5# 1.Qf5?? (2.c7#) 1...dxc5 2.Qxe5# but 1...c3! 1.Qf7! (2.c7#/e7#) 1...c3 2.e7# 1...e3 2.c7# 1...dxc5 2.Qd7# 1...exd4 2.Qf5#" keywords: - Flight taking key --- authors: - Baird, Edith Elina Helen source: Daily Chronicle date: 1901 algebraic: white: [Kh1, Qb1, Rh4, Rd5, Bh6, Bb3, Se3, Sb5, Pf5, Pe2, Pc2] black: [Ke4, Sc6, Ph2, Pf4, Pe6, Pe5, Pc5, Pc4] stipulation: "#2" solution: | "1.Qc1? (2.Nc3#[A]/Nd6#[B]) but 1...exd5! 1.Rd3? (2.Nc3#[A]/Nd6#[B]) but 1...cxd3! 1.Bxf4?? (2.Bg5#/Bh6#/c3#/Nc3#[A]/Nd6#[B]) 1...c3[a] 2.Nxc3#[A]/Nd6#[B]/Bg5#/Bh6# 1...exf5[b] 2.Nc3#[A]/Nd6#[B]/c3# 1...exd5 2.c3#/Bg5#/Bh6# 1...Nd4/Nb4 2.Nc3#[A]/Nd6#[B]/Bg5#/Bh6#/Rxe5# but 1...exf4! 1.Rh3?? (2.c3#/Nc3#[A]/Nd6#[B]) 1...c3[a]/Nd4/Nb4 2.Nxc3#[A]/Nd6#[B] 1...exd5 2.c3# but 1...fxe3! 1.Qf1?? (2.Qf3#) but 1...Nd4! 1.Ng4[C]! zz 1...c3[a] 2.Nd6#[B] 1...exf5[b] 2.Nc3#[A] 1...Kxf5/exd5 2.c3# 1...Kxd5 2.Nf6# 1...Nd4/Nd8/Ne7/Nb4/Nb8/Na5/Na7 2.Rxe5# 1...cxb3 2.c4# 1...f3 2.Ne3#" keywords: - Flight giving key - Flight giving and taking key - Rudenko - Switchback --- authors: - Baird, Edith Elina Helen source: New Zealand Mail date: 1894 algebraic: white: [Kb4, Qc7, Rf3, Bc1, Sg5, Pg3, Pe4] black: [Ke5, Rd6, Se2, Pf7, Pe6, Pb6] stipulation: "#2" solution: | "1...Kd4 2.Qxd6# 1...f5 2.Qg7# 1...Nf4/Ng1/Nxg3 2.Bb2# 1.Nxf7+?? 1...Kd4 2.Qc4# but 1...Kxe4! 1.Rf5+?? 1...Kd4 2.Qc4#/Qxd6# but 1...exf5! 1.Bf4+?? 1...Kf6 2.Qxf7# 1...Kd4 2.Qc4#/Qxd6# but 1...Nxf4! 1.Bb2+?? 1...Nc3 2.Bxc3# but 1...Nd4! 1.Rf4! (2.Nf3#) 1...Kd4 2.Qxd6# 1...f5 2.Qg7# 1...Nxf4/Ng1 2.Bb2# 1...Nd4 2.Nxf7#" keywords: - Active sacrifice --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1892 algebraic: white: [Kb4, Qa4, Rd1, Bb8, Bb1, Sh5, Sh2, Pf2, Pd3, Pa6] black: [Kd4, Ba2, Sg5, Sd6, Ph3, Pg7, Pd5] stipulation: "#2" solution: | "1...Nh7/Nf3/Ngf7/Nge4[a]/Ne6 2.Nf3#[A] 1...Nde4 2.dxe4#[B] 1...Nc4 2.dxc4# 1...Bxb1/Bb3/Bc4 2.Qa1# 1.Nxg7? zz 1...Nh7/Nf3/Ngf7/Nge4[a]/Ne6 2.Nf3#[A] 1...Ne8/Nf5/Ndf7/Nc8[b]/Nb5[c]/Nb7[b] 2.Nf5#[C] 1...Nde4 2.dxe4#[B]/Nf5#[C] 1...Nc4 2.dxc4#/Nf5#[C] 1...Bxb1/Bb3/Bc4 2.Qa1# but 1...Ke5! 1.Qc2? (2.Qc3#/Qb2#) 1...Nge4[a] 2.Nf3#[A] 1...Nb5[c] 2.Qc5#[D] 1...Nde4 2.dxe4#[B] 1...Nc4 2.Qc3#/dxc4# but 1...Ke5! 1.Ng4? (2.Ba7#) 1...Nge4[a] 2.dxe4#[B] 1...Nc8[b]/Nb5[c]/Nb7[b] 2.Be5#[E] 1...Nde4 2.Be5#[E]/dxe4#[B] 1...Nc4 2.dxc4# but 1...Ne6! 1.Bxd6?? zz 1...Nh7/Nf3/Nf7/Ne6 2.Nf3#[A] 1...Ne4 2.Nf3#[A]/dxe4#[B] 1...Bxb1/Bb3 2.Qa1#/Kb3# 1...Bc4 2.Qa1#/dxc4# but 1...g6! 1.Qe8?? (2.Ba7#/Qe3#) 1...Nge4[a] 2.Nf3#[A]/dxe4#[B] 1...Nc8[b]/Nb5[c]/Nb7[b] 2.Be5#[E]/Qe5#/Qe3# 1...Ne6 2.Nf3#[A] 1...Nde4 2.Be5#[E]/dxe4#[B]/Qe5# 1...Nf5 2.Be5#[E]/Ba7#/Qe5# 1...Nc4 2.dxc4# but 1...Nxe8! 1.Qd7! (2.Qxg7#) 1...Nh7/Nf3/Ngf7/Nge4[a]/Ne6 2.Nf3#[A] 1...Ke5 2.d4# 1...Nde4 2.dxe4#[B] 1...Ne8/Nf5/Ndf7 2.Qa7# 1...Nc4 2.dxc4#" keywords: - Changed mates --- authors: - Baird, Edith Elina Helen source: Nottinghamshire Guardian date: 1892 algebraic: white: [Kh1, Qf8, Rh3, Rg4, Bg6, Se3, Sa3, Pf4, Pd5, Pa4] black: [Kd4, Ra5, Sa6, Pg7] stipulation: "#2" solution: | "1...Rxa4/Rb5 2.Nb5# 1...Rc5/Nc5 2.Qxg7#[A] 1...Rxd5 2.Nec2# 1...Nb4/Nb8/Nc7 2.Qxb4#[B] 1.Rg5? (2.Nec2#) 1...Nb4 2.Qxb4#[B] 1...Rc5 2.Qxg7#[A] but 1...Kc3! 1.Rgh4? zz 1...Nb4/Nb8/Nc7 2.Qxb4#[B] 1...Nc5/Rc5 2.Qxg7#[A] 1...Rxa4/Rb5 2.Nb5# 1...Rxd5 2.Nec2# but 1...Kc3! 1.Rhg3? zz 1...Nb4/Nb8/Nc7 2.Qxb4#[B] 1...Nc5/Rc5 2.Qxg7#[A] 1...Rxa4/Rb5 2.Nb5# 1...Rxd5 2.Nec2# but 1...Kc3! 1.Rf3? zz 1...Nb4/Nb8/Nc7 2.Qxb4#[B] 1...Nc5/Rc5 2.Qxg7#[A] 1...Rxa4/Rb5 2.Nb5# 1...Rxd5 2.Nec2# but 1...Kc3! 1.Kh2? zz 1...Nb4/Nb8/Nc7 2.Qxb4#[B] 1...Nc5/Rc5 2.Qxg7#[A] 1...Rxa4/Rb5 2.Nb5# 1...Rxd5 2.Nec2# but 1...Kc3! 1.Kg1? zz 1...Nb4/Nb8/Nc7 2.Qxb4#[B] 1...Nc5/Rc5 2.Qxg7#[A] 1...Rxa4/Rb5 2.Nb5# 1...Rxd5 2.Nec2# but 1...Kc3! 1.Kg2? zz 1...Nb4/Nb8/Nc7 2.Qxb4#[B] 1...Nc5/Rc5 2.Qxg7#[A] 1...Rxa4/Rb5 2.Nb5# 1...Rxd5 2.Nec2# but 1...Kc3! 1.f5+?? 1...Ke5 2.Nac4#/Qe7# 1...Kc3 2.Nec4# but 1...Kd3! 1.Rgg3?? zz 1...Nb4/Nb8/Nc7 2.Qxb4#[B] 1...Nc5/Rc5 2.Qxg7#[A] 1...Rxa4/Rb5 2.Nb5# 1...Rxd5 2.Nec2# but 1...Kc3! 1.Rg1?? zz 1...Nb4/Nb8/Nc7 2.Qxb4#[B] 1...Nc5/Rc5 2.Qxg7#[A] 1...Rxa4/Rb5 2.Nb5# 1...Rxd5 2.Nec2# but 1...Kc3! 1.Qe7?? zz 1...Rxa4/Rb5 2.Nb5# 1...Rc5/Nc5 2.Qe5#/Qxg7#[A] 1...Rxd5 2.Nec2# 1...Nb4/Nb8/Nc7 2.Qxb4#[B] but 1...Kc3! 1.Qd6?? (2.Nec2#) 1...Rc5 2.Qe5# 1...Nb4 2.Qxb4#[B] but 1...Kc3! 1.Rg2! zz 1...Kc3 2.Nf5# 1...Nb4/Nb8/Nc7 2.Qxb4#[B] 1...Nc5/Rc5 2.Qxg7#[A] 1...Rxa4/Rb5 2.Nb5# 1...Rxd5 2.Nec2#" keywords: - Black correction - Transferred mates --- authors: - Baird, Edith Elina Helen source: New Weekly date: 1894 algebraic: white: [Kd1, Qe3, Rd8, Rd4, Bf7, Ba3, Sd2, Sa7, Pc4] black: [Ke5, Be4, Pf5, Pd7, Pd3, Pc5] stipulation: "#2" solution: | "1.Bb2[A]? (2.Rxd3#/Rd5#[B]/R4xd7#) 1...Kf6 2.R4xd7# 1...f4 2.Rd5#[B] 1...d6 2.Rxd3#/Rd5#[B]/R4xd6#/Rxe4# 1...d5 2.R4xd5#/Rxe4# but 1...cxd4[a]! 1.Nxe4? (2.Re8#[C]/Rd5#[B]) 1...cxd4[a] 2.Bd6#/Re8#[C] 1...f4 2.Rd5#[B] but 1...fxe4! 1.R4xd7? (2.Bb2#[A]) but 1...f4! 1.Qh6? (2.Qd6#) 1...Kxd4[b] 2.Bb2#[A] 1...Bd5[c] 2.Rxd5#[B] 1...Bf3+ 2.Nxf3# 1...d5 2.Nc6# but 1...f4! 1.Rd6?? zz 1...Kxd6 2.Qxc5# but 1...f4! 1.Qg5[D]! zz 1...cxd4[a] 2.Re8#[C] 1...Kxd4[b] 2.Bb2#[A] 1...Bd5[c] 2.Rxd5#[B] 1...d6 2.Rxe4# 1...d5 2.Nc6# 1...Bf3+ 2.Nxf3# 1...Bg2/Bh1/Bc6/Bb7/Ba8 2.Qg7#" keywords: - Flight giving and taking key - Rudenko - Urania --- authors: - Baird, Edith Elina Helen source: Brighton & Hove Society date: 1900 algebraic: white: [Kg8, Qc1, Rd4, Rc7, Bh2, Sb3, Pe5] black: [Ke6, Bd6, Sg6, Pf5, Pe7, Pd5] stipulation: "#2" solution: | "1.Rd4-e4 ! threat: 2.Sb3-d4 # 1...d5-d4 2.Qc1-c4 # 1...d5*e4 2.Qc1-c4 # 1...Bd6-c5 2.Sb3*c5 # 1...Bd6*e5 2.Qc1-c6 # 1...Bd6*c7 2.Sb3-c5 # 1...Sg6*e5 2.Qc1-h6 #" keywords: - Active sacrifice comments: - also in The Philadelphia Times (no. 2034), 30 December 1900 --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald date: 1890 algebraic: white: [Kb4, Qa8, Rh3, Ra4, Bd1, Sh1, Sd6, Pg4, Pf4, Pc5, Pa6] black: [Kd3, Bg3, Ph2, Pe6, Pe3, Pd5, Pd2] stipulation: "#2" solution: | "1...e5 2.Qxd5# 1...d4 2.Ra3#/Qe4# 1.Rxg3?? zz 1...e5 2.Qxd5# 1...d4 2.Nf2#/Ra3#/Qe4# but 1...Kd4! 1.Qh8?? (2.Ra3#/Qc3#) 1...d4 2.Ra3#/Qh7# but 1...e5! 1.Nf5! zz 1...Ke4 2.Kc3# 1...exf5/e5 2.Qxd5# 1...e2/Bf2/Bxf4 2.Nf2# 1...Bh4/Be1 2.Rxe3# 1...d4 2.Ra3#" keywords: - Flight giving and taking key - Active sacrifice --- authors: - Baird, Edith Elina Helen source: Daily Telegraph date: 1901 algebraic: white: [Kg8, Rf1, Rb6, Bd7, Bb8, Sh8, Sc7, Ph4, Ph3, Pf6, Pd3, Pb4] black: [Ke5, Bf3, Pd4, Pc6, Pb7] stipulation: "#2" solution: | "1...Kf4/Kxf6 2.Nd5# 1...c5 2.Ng6# 1...Bg2/Bh1/Bg4/Be2/Bd1/Be4 2.Nf7# 1...Bd5+ 2.Ne6# 1.Nf7+?? 1...Kf4 2.Nd5# but 1...Kxf6! 1.Bc8?? zz 1...Kf4/Kxf6 2.Nd5# 1...Kd6/Bg2/Bh1/Bg4/Be2/Bd1/Be4 2.Nf7# 1...Bd5+ 2.Ne6# 1...c5 2.Ng6# but 1...Bh5! 1.Rxc6?? (2.Ng6#) 1...Kf4 2.Nd5# 1...Bh5 2.Rf5#/Re6# 1...Be4 2.Nf7#/Re6# 1...Bd5+ 2.Ne6# 1...Bxc6 2.Nf7# but 1...bxc6! 1.Rxf3?? (2.Nf7#) but 1...Kd6! 1.Ne6+?? 1...Kd5 2.Nf4# 1...Kf5 2.Rxf3# but 1...Kxf6! 1.Bg4! zz 1...Kf4/Kxf6 2.Nd5# 1...Kd6/Bg2/Bh1/Bxg4/Be2/Bd1/Be4 2.Nf7# 1...c5 2.Ng6# 1...Bd5+ 2.Ne6#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1888 algebraic: white: [Ka6, Qc8, Bd8, Sd5, Sc6, Ph4, Pf3, Pe5, Pa4] black: [Kf5, Qh6, Sg6, Sc4, Ph5, Pe6, Pd6, Pa5] stipulation: "#2" solution: | "1...Ncxe5 2.Nd4# 1...Nf4 2.Nde7# 1...Ngxe5 2.Nce7# 1.Qb7! (2.Qb1#/Qf7#) 1...Qh7/Qh8/Qg5/Qg7/Qf8/Nxh4/Nh8/Nf8/Ne7 2.Qb1# 1...Qf4/Qe3/Qd2/Qc1/Nd2/Ne3/Nb2/Nb6/Na3/dxe5/exd5 2.Qf7# 1...Ncxe5 2.Nd4# 1...Nf4 2.Nde7# 1...Ngxe5 2.Nce7#" keywords: - Defences on same square --- authors: - Baird, Edith Elina Helen source: Hampstead and Highgate Express date: 1895 algebraic: white: [Kd1, Rd8, Ra5, Bg2, Bd2, Sf3, Se3, Ph5, Ph3, Pf5, Pc6, Pc3] black: [Ke4, Bd6, Pg3, Pc7, Pc5] stipulation: "#2" solution: | "1...Kd3 2.Ne1#/Ne5# 1.Ra4+?? 1...Kd3 2.Bf1#/Ne1#/Ne5# but 1...c4! 1.Nh4+?? 1...Ke5 2.Ng4# 1...Kf4 2.Ng4#/Nc4# but 1...Kd3! 1.Nd4+?? 1...Ke5 2.Ng4# 1...Kf4 2.Ng4#/Nc4# but 1...Kd3! 1.Nc4?? zz 1...Kd3/Kd5 2.Nfe5# 1...Be5/Bf4/Be7/Bf8 2.Nh4# but 1...Kxf5! 1.Ng4! zz 1...Kxf5 2.Nd4# 1...Kd3/Kd5 2.Nfe5# 1...c4 2.Ne1# 1...Be5/Bf4/Be7/Bf8 2.Nh4#" keywords: - Flight giving key - Flight giving and taking key --- authors: - Baird, Edith Elina Helen source: Hackney Mercury date: 1892 algebraic: white: [Kd1, Rd8, Ra5, Ba8, Ba7, Se1, Sc6, Ph3, Ph2, Pg5, Pf4, Pb2] black: [Ke4, Bd6, Pg6, Pe5] stipulation: "#2" solution: | "1...exf4[a] 2.Ne7#/Nb4#[A]/Nb8# 1.Nd3? zz 1...exf4[a] 2.Ncb4#[D] 1...Kf3[b]/Kxd3 2.Ncxe5#[B] 1...Kf5 2.Nd4# 1...Be7/Bf8/Bb4/Ba3/Bc7/Bb8 2.Nxe7# but 1...Bc5! 1.Nxe5+[C]?? 1...Kxf4 2.Nxg6#/N5d3# but 1...Kf5! 1.Rxe5+?? 1...Kxf4 2.Be3# but 1...Bxe5! 1.Ng2! zz 1...exf4[a] 2.Nb4#[A] 1...Kf3[b]/Kd3 2.Nxe5#[C] 1...Kf5 2.Nd4# 1...Be7/Bf8/Bc5/Bb4/Ba3/Bc7/Bb8 2.Nxe7#" keywords: - Flight giving key - Flight giving and taking key - Changed mates --- authors: - Baird, Edith Elina Helen source: Bradford Observer Budget date: 1900 algebraic: white: [Kh7, Qa6, Rf5, Sf7, Sd4, Pg2, Pd2, Pc2] black: [Ke4, Re5, Se1, Sb1, Pg7] stipulation: "#2" solution: | "1.Nd6+?? 1...Kxd4 2.Qc4# but 1...Kd5! 1.Qa8+?? 1...Rd5 2.Qxd5# but 1...Kxd4! 1.Qc6+?? 1...Rd5 2.Qxd5# but 1...Kxd4! 1.Qc4?? (2.Ng5#/Nd6#) 1...Re6/Rd5 2.Ng5#/Qd5# 1...Rxf5 2.Ne2#/Ne6#/Nf3#/Nc6#/Nb3#/Nb5# 1...Nf3 2.gxf3#/Nd6# but 1...Nxd2! 1.Qd3+?? 1...Kd5 2.Rxe5# but 1...Nxd3! 1.Qb7+?? 1...Rd5 2.Qxd5# but 1...Kxd4! 1.Rf4+?? 1...Kd5 2.Qc6#/Qb5# but 1...Kxf4! 1.Rxe5+?? 1...Kxd4 2.Qa4# but 1...Kf4! 1.Ne2! (2.Rxe5#) 1...Kxf5 2.Qg6# 1...Nf3/Nxg2/Nd3 2.Qd3# 1...Re6 2.Qxe6# 1...Re7/Re8/Rc5/Rb5/Ra5 2.Nd6# 1...Rd5 2.Rf4# 1...Rxf5 2.Qc4#" keywords: - Flight giving and taking key - Black correction --- authors: - Baird, Edith Elina Helen source: Hackney Mercury date: 1893 algebraic: white: [Kg8, Rh5, Rh4, Bg2, Bf6, Sf5, Se4, Pe2, Pb6, Pb2, Pa5, Pa4] black: [Kd5, Pg4, Pc5] stipulation: "#2" solution: | "1...g3 2.Ng5# 1...c4 2.Nd4# 1.Bg7?? zz 1...Ke6 2.Nxc5# 1...Kc6 2.Nf6# 1...g3 2.Ng5# 1...c4 2.Nd4# but 1...Kc4! 1.Bh8?? zz 1...Ke6 2.Nxc5# 1...Kc6 2.Nf6# 1...c4 2.Nd4# 1...g3 2.Ng5# but 1...Kc4! 1.Bc3! zz 1...Ke6 2.Nxc5# 1...Kc4 2.Nd2# 1...Kc6 2.Nf6# 1...g3 2.Ng5# 1...c4 2.Nd4#" --- authors: - Baird, Edith Elina Helen source: Nottinghamshire Guardian date: 1892 algebraic: white: [Kg8, Qf3, Bb6, Ba4, Sh6, Sg4, Pb2] black: [Kd5, Se4, Sd8, Pg6, Pg5, Pe3, Pd6, Pb7] stipulation: "#2" solution: | "1...Ke6/Kc4 2.Qxe4# 1...Nf7 2.Qxf7# 1...Nc6 2.Bb3#/Qf7# 1...e2 2.Qb3# 1.Kg7?? zz 1...Ke6/Kc4 2.Qxe4# 1...Nf7 2.Qxf7# 1...Nc6 2.Bb3#/Qf7# 1...e2 2.Qb3# but 1...Ne6+! 1.Kf8?? zz 1...Ke6/Kc4 2.Qxe4# 1...Nf7 2.Qxf7# 1...Nc6 2.Bb3#/Qf7# 1...e2 2.Qb3# but 1...Ne6+! 1.Kh8?? zz 1...Ke6/Kc4 2.Qxe4# 1...Nf7+ 2.Qxf7# 1...Nc6 2.Bb3#/Qf7# 1...e2 2.Qb3# but 1...Ne6! 1.Kh7?? zz 1...Ke6/Kc4 2.Qxe4# 1...Nf7 2.Qxf7# 1...Nc6 2.Bb3#/Qf7# 1...e2 2.Qb3# but 1...Ne6! 1.Bb5?? zz 1...Ke6 2.Qxe4# 1...Nf7/Nc6 2.Qxf7# 1...e2 2.Qb3# but 1...Ne6! 1.Qf5+?? 1...Kc4 2.Qb5#/Qxe4# but 1...gxf5! 1.Nf7! zz 1...Ke6/Kc4 2.Qxe4# 1...Ne6 2.Nxe3# 1...Nxf7 2.Qxf7# 1...Nc6 2.Bb3# 1...e2 2.Qb3#" keywords: - Active sacrifice --- authors: - Baird, Edith Elina Helen source: Field date: 1900 algebraic: white: [Kd1, Qg8, Rh3, Bg2, Bc5, Sd7, Sa5, Pc2, Pb3] black: [Kd5, Rc3, Be8, Se6, Se4] stipulation: "#2" solution: | "1...Bf7/Bg6 2.Qa8#[A] 1...Bh5+/Bxd7 2.Rxh5#[B] 1...Rxc2/Rxc5/Rd3+ 2.Rd3#[C] 1...Rc4 2.bxc4#[D] 1...Rxb3/Re3/Rf3/Rg3/Rxh3 2.c4#[D] 1.Kc1? zz 1...Bf7/Bg6 2.Qa8#[A] 1...Bh5 2.Qa8#[A]/Rxh5#[B] 1...Bxd7 2.Rh5#[B] 1...Rc4 2.bxc4#[D] 1...Rxc5 2.Rd3#[C] 1...Rxb3/Re3/Rf3/Rg3/Rxh3 2.c4#[D] 1...Rd3 2.c4#[D]/Rxd3#[C] but 1...Rxc2+! 1.Ke1? zz 1...Bf7/Bg6 2.Qa8#[A] 1...Bh5 2.Qa8#[A]/Rxh5#[B] 1...Bxd7 2.Rh5#[B] 1...Rxc2/Rxc5 2.Rd3#[C] 1...Rc4 2.bxc4#[D] 1...Rxb3/Rf3/Rg3/Rxh3 2.c4#[D] 1...Rd3 2.c4#[D]/Rxd3#[C] but 1...Re3+! 1.Qf7? (2.Rh5#[B]/Qf5#) 1...Rxc5/Rd3+ 2.Rd3#[C] 1...Rf3 2.c4#[D] 1...Rg3/Rxh3 2.c4#[D]/Qf5# but 1...Bxf7! 1.b4? zz 1...Bf7/Bg6 2.Qa8#[A] 1...Bh5+/Bxd7 2.Rxh5#[B] 1...Rxc2/Rxc5/Rd3+ 2.Rd3#[C] 1...Rb3/Ra3/Re3/Rf3/Rg3/Rxh3 2.c4#[D] but 1...Rc4! 1.Rf3? (2.Rf5#) 1...Bg6/Bh5 2.Qa8#[A] 1...Nxc5/Rxc5/Rd3+ 2.Rd3#[C] 1...Rxf3 2.c4#[D] but 1...Nf2+! 1.Rg3?? (2.Rg5#) 1...Rxc5/Rd3+ 2.Rd3#[C] 1...Rf3/Rxg3 2.c4#[D] 1...Bf7/Bg6 2.Qa8#[A] but 1...Bh5+! 1.Bh1! zz 1...Rxc2/Rxc5/Rd3+ 2.Rd3#[C] 1...Rc4 2.bxc4#[D] 1...Rxb3/Re3/Rf3/Rg3/Rxh3 2.c4#[D] 1...Bf7/Bg6 2.Qa8#[A] 1...Bh5+/Bxd7 2.Rxh5#[B]" keywords: - Black correction - Transferred mates - Block --- authors: - Baird, Edith Elina Helen source: North London Echo date: 1895 algebraic: white: [Kg7, Qe8, Rc1, Rb5, Bd2, Sc8, Sb3, Pf5, Pc5] black: [Kd5, Be6, Se4, Pf7, Pd3] stipulation: "#2" solution: | "1...f6 2.Qxe6# 1...Bxf5 2.Nb6# 1.Re1! zz 1...Ke5 2.c6# 1...Kc4/Nf2/Nf6/Ng3/Ng5/Nxd2/Nd6/Nc3/Bxf5 2.Nb6# 1...Nxc5 2.Rxc5# 1...f6 2.Qxe6# 1...Bd7/Bxc8 2.Qxe4#" keywords: - Flight giving key - Black correction --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1889 algebraic: white: [Kg7, Qe8, Rh5, Rc1, Be2, Ba3, Sg5, Sc7, Pe5, Pc5] black: [Kd4, Bc2, Pe4, Pe3, Pd7, Pd6, Pb3] stipulation: "#2" solution: | "1...dxc5/Bd3 2.Bb2# 1...d5 2.Nb5# 1...Bd1/Bb1 2.Bb2#/Rc4# 1.Nf3+?? 1...Kc3 2.Nd5#/Nb5# but 1...exf3! 1.Rxc2?? (2.Bb2#/Rc4#) 1...d5 2.Nb5#/Bb2# but 1...bxc2! 1.Qb8! zz 1...Kxe5 2.Nge6# 1...Kc3/dxe5 2.Qb4# 1...b2 2.Qxb2# 1...Bd1/Bd3/Bb1/dxc5 2.Bb2# 1...d5 2.Nb5#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: Reading Observer date: 1900 algebraic: white: [Kb3, Qd8, Rg6, Rc1, Bh2, Bc8, Sh8, Pg3, Pf7, Pd6, Pd3] black: [Ke5, Bc3, Sc6, Pe7, Pd4, Pb4] stipulation: "#2" solution: | "1...Nb8/Na5+ 2.Qa5# 1...Bd2/Be1/Bb2/Ba1 2.Rc5# 1...exd6 2.Qxd6#/Qg5#/Rg5# 1...e6 2.Rg5# 1.Be6?? (2.g4#) 1...Bd2 2.Rc5# 1...Be1 2.Rc5#/Rxe1# but 1...Na5+! 1.f8Q?? (2.Qf5#/Rg5#) 1...Nxd8 2.Qf5# 1...Na5+ 2.Qxa5# 1...Bd2 2.Rc5#/Qf5# 1...e6 2.Qg5#/Rg5# but 1...Kd5! 1.f8R?? (2.Rf5#/Rg5#) 1...Nxd8 2.Rf5# 1...Na5+ 2.Qxa5# 1...Bd2 2.Rc5#/Rf5# 1...e6 2.Rg5# but 1...Kd5! 1.Kc4?? (2.g4#) 1...Na5+ 2.Qxa5# 1...Be1 2.Rxe1# but 1...Bd2! 1.Rf1?? (2.Rf5#/Rg5#) 1...Nxd8/Bd2 2.Rf5# 1...Na5+ 2.Qxa5# 1...e6 2.Rg5# but 1...Kd5! 1.dxe7?? (2.g4#/Qd6#) 1...Na5+ 2.Qxa5# 1...Bd2 2.Rc5#/Qd6# 1...Be1 2.Rc5#/Rxe1#/Qd6# but 1...Nxd8! 1.Qb6?? (2.Qb5#/Qc5#) 1...Kd5 2.Qb5# 1...Na5+ 2.Qxa5# 1...Na7/e6 2.Qc5# but 1...exd6! 1.Bb7! zz 1...Kd5/Na5+ 2.Qa5# 1...Kf5/Nxd8/Na7 2.g4# 1...Nb8 2.g4#/Qa5# 1...Bd2/Be1/Bb2/Ba1 2.Rc5# 1...exd6 2.Qg5# 1...e6 2.Rg5#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1888 algebraic: white: [Ka6, Qf7, Rd5, Rc7, Bh5, Be5, Sh3, Sa5, Pg2, Pb2] black: [Ke3, Qh4, Rf4, Rc1, Bg8, Bb6, Sh2, Sg3, Pd3, Pc2] stipulation: "#2" solution: | "1...Qxh3/Qe7/Qd8 2.Qxf4# 1...Ne4 2.Nc4# 1...Re4 2.Qf2# 1.Bxf4+?? 1...Qxf4 2.Qxf4# but 1...Ke4! 1.Re7! (2.Bxf4#) 1...Ke4 2.Bf6# 1...Kd2 2.Bc3# 1...Qxh3/Qxe7 2.Qxf4# 1...Ne4 2.Nc4# 1...Re4 2.Qf2#" keywords: - Defences on same square --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplement date: 1893 algebraic: white: [Kg6, Qe8, Rg3, Rc8, Bh2, Bb1, Sf6, Se5, Pg4, Pf2, Pd5, Pb4, Pa5] black: [Kd4, Rd2, Pd6, Pc5, Pa6] stipulation: "#2" solution: | "1...Rd3/Rc2/Rb2/Ra2/Re2/Rxf2 2.Rxd3# 1...cxb4 2.Rc4#/Nf3# 1...c4 2.Rxc4#/Nc6# 1.Qe7?? zz 1...Rd3/Rc2/Rb2/Ra2/Re2/Rxf2 2.Rxd3# 1...dxe5 2.Qxc5# 1...cxb4 2.Rc4#/Nf3# 1...c4 2.Rxc4#/Nc6# but 1...Rd1! 1.Qf8?? zz 1...Kxe5/Rd3/Rc2/Rb2/Ra2/Re2/Rxf2 2.Rd3# 1...dxe5 2.Qxc5# 1...cxb4 2.Nf3# 1...c4 2.Nc6# but 1...Rd1! 1.Qb5?? (2.Nc6#) 1...Kxe5/Rd3 2.Rd3# 1...dxe5 2.Qxc5# but 1...axb5! 1.Ba2?? (2.Nc6#) 1...Rd3/Rxa2 2.Rxd3# 1...cxb4 2.Rc4# but 1...dxe5! 1.Rc3?? (2.Rc4#) 1...dxe5 2.Qxe5#/Bxe5# 1...Rc2/Rxf2 2.Rd3# but 1...Kxc3! 1.Qa4! zz 1...Kxe5/Rd3/Rc2/Rb2/Ra2/Re2/Rxf2 2.Rd3# 1...dxe5 2.bxc5# 1...Rd1 2.Qa1# 1...cxb4 2.Nf3# 1...c4 2.Nc6#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: The Westminster Gazette date: 1901 algebraic: white: [Kg5, Rh3, Re4, Bd7, Bd4, Se2, Sd2, Pf4, Pc5] black: [Kd5, Sd3, Sb1, Pg3, Pc7] stipulation: "#2" solution: | "1...c6 2.Be6# 1...Ne1/Ne5/Nf2/Nc1/Nb2/Nb4 2.Re5# 1...Nxf4 2.Nxf4#/Re5# 1...Nc3/Na3 2.Nxc3# 1.Rh6?? (2.Bc6#) 1...Ne5/Nb4 2.Rxe5# but 1...Nxd2! 1.Be3?? zz 1...c6 2.Be6# 1...Ne1/Ne5/Nf2/Nc1/Nb2/Nb4 2.Re5# 1...Nxf4 2.Nxf4# 1...Nxc5 2.Rd4# 1...Nc3/Nxd2/Na3 2.Nxc3# but 1...g2! 1.Bf2?? zz 1...c6 2.Be6# 1...Ne1/Ne5/Nxf2/Nc1/Nb2/Nb4 2.Re5# 1...Nxf4 2.Nxf4# 1...Nxc5 2.Rd4# 1...Nc3/Nxd2/Na3 2.Nxc3# 1...g2 2.Rxd3# but 1...gxf2! 1.Bg1! zz 1...c6 2.Be6# 1...g2 2.Rxd3# 1...Ne1/Ne5/Nf2/Nc1/Nb2/Nb4 2.Re5# 1...Nxf4 2.Nxf4# 1...Nxc5 2.Rd4# 1...Nc3/Nxd2/Na3 2.Nxc3#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Evening News and Post date: 1889 algebraic: white: [Kg5, Re1, Rb3, Bd3, Ba7, Sb8, Pf6, Pf4, Pd2] black: [Kd5, Se3, Pd6] stipulation: "#2" solution: | "1...Nf1/Nf5/Ng2/Ng4/Nd1/Nc2/Nc4 2.Rb5# 1.Bb6?? zz 1...Nf1/Nf5/Ng2/Ng4/Nd1/Nc2/Nc4 2.Rb5# but 1...Ke6! 1.f7?? zz 1...Nf1/Nf5/Ng2/Ng4/Nd1/Nc2/Nc4 2.Rb5# but 1...Ke6! 1.Kg6?? zz 1...Nf1/Nf5/Ng2/Ng4/Nd1/Nc2/Nc4 2.Rb5# but 1...Ke6! 1.Kh5?? zz 1...Nf1/Nf5/Ng2/Ng4/Nd1/Nc2/Nc4 2.Rb5# but 1...Ke6! 1.f5?? (2.Rb5#) but 1...Ke5! 1.Rb2?? zz 1...Nf1/Nf5/Ng2/Ng4/Nd1/Nc2/Nc4 2.Rb5# but 1...Ke6! 1.Rbb1?? zz 1...Nf1/Nf5/Ng2/Ng4/Nd1/Nc2/Nc4 2.Rb5# but 1...Ke6! 1.Rb4?? zz 1...Nf1/Ng2/Ng4/Nd1 2.Rb5#/Rd4#/Bc4# 1...Nf5/Nc2/Nc4 2.Rb5#/Bc4# but 1...Ke6! 1.Rb7?? zz 1...Nf1/Nf5/Ng2/Ng4/Nd1/Nc2/Nc4 2.Rb5# but 1...Ke6! 1.Rc3?? zz 1...Nf1/Nf5/Ng2/Ng4/Nd1/Nc2/Nc4 2.Bc4# but 1...Ke6! 1.Re2?? zz 1...Nf1/Nf5/Ng2/Ng4/Nd1/Nc2/Nc4 2.Rb5# but 1...Ke6! 1.Bh7?? zz 1...Ke6/Nf1/Nf5/Ng2/Ng4/Nd1/Nc2 2.Bg8# 1...Nc4 2.Rb5#/Rd3#/Bg8# but 1...Kc4! 1.Bc4+?? 1...Ke4 2.Rexe3#/Rbxe3# 1...Nxc4 2.Rb5#/Rd3# but 1...Kxc4! 1.Rb6! zz 1...Kd4 2.Rxd6# 1...Kc5/Nf1/Nf5/Ng2/Ng4/Nd1/Nc2/Nc4 2.Rb5# 1...Ke6 2.Bc4#" keywords: - 2 flights giving key --- authors: - Baird, Edith Elina Helen source: Pictorial World date: 1891 algebraic: white: [Kg4, Qb8, Rd1, Ba1, Sc8, Sb2, Pf5, Pe3, Pd6, Pc7, Pb5, Pb4] black: [Ke5, Rc3, Bd2, Pf7, Pe4] stipulation: "#2" solution: | "1.Nc4+?? 1...Kd5 2.N8b6# but 1...Kf6! 1.Nb6! zz 1...Kf6 2.Qh8# 1...Kxd6 2.c8N# 1...f6/Rc2/Rc1/Rc4/Rc5/Rc6/Rxc7/Rb3/Ra3/Rd3/Rxe3 2.N2c4# 1...Be1/Bxe3/Bc1 2.Nd7#" keywords: - Flight giving and taking key --- authors: - Baird, Edith Elina Helen source: The Chess Review date: 1893 algebraic: white: [Kb3, Qh4, Rh5, Ra6, Bg2, Ba5, Sd8, Sd3, Pg6, Pe7] black: [Kd6, Ra7, Be8, Pg7, Pe6, Pd4, Pc6, Pb5, Pb4] stipulation: "#2" solution: | "1...Bd7 2.Nf7# 1...Rd7 2.Rxc6# 1...Rxe7 2.Qxd4# 1.Rxc6+?? 1...Kd7 2.Ne5#/Nc5# but 1...Bxc6! 1.Qf6?? (2.Qxe6#/Rd5#) 1...Kd7/Rxa6 2.Qxe6# 1...Rxe7 2.Rd5#/Qxd4# 1...Bf7 2.Rd5# 1...Bd7 2.Nf7#/Rd5# but 1...gxf6! 1.Ne5! zz 1...Kc5/Rc7 2.Bxb4# 1...d3 2.Qxb4# 1...Rxa6/Ra8/Rb7 2.Nb7# 1...Rd7/Bf7/Bxg6 2.Rxc6# 1...Rxe7 2.Qxd4# 1...Bd7 2.Nef7#" keywords: - Flight giving and taking key - Black correction --- authors: - Baird, Edith Elina Helen source: Surrey Gazette date: 1892 algebraic: white: [Kg3, Re8, Rc1, Bg8, Be7, Sh4, Sb6, Pd3, Pb4] black: [Ke5, Pf7, Pd5] stipulation: "#2" solution: | "1...Ke6[a]/d4[a] 2.Re1#[A] 1...f6[b] 2.Bc5#[B] 1...f5 2.Nf3# 1.Rd8? zz 1...Ke6[a]/d4[a] 2.Re1#[A] 1...f6[b] 2.Rxd5#[C] 1...f5 2.Nf3#/Rxd5#[C] but 1...Kd4[c]! 1.Rc2? zz 1...Ke6[a]/d4[a] 2.Re2#[E] 1...f6[b] 2.Bc5#[B] 1...f5 2.Nf3# but 1...Kd4[c]! 1.Rc6? (2.Bf6#[D]/Bc5#[B]) but 1...Kd4[c]! 1.Bh7?? zz 1...Ke6[a]/d4[a] 2.Re1#[A] 1...f6[b] 2.Bc5#[B] 1...Kd4[c] 2.Bf6#[D]/Bc5#[B] but 1...f5! 1.Bxf7?? zz 1...d4[a] 2.Nc4#/Nd7#/Rc5#/Re1#[A] but 1...Kd4[c]! 1.b5?? zz 1...Ke6[a]/d4[a] 2.Re1#[A] 1...f6[b] 2.Bc5#[B] 1...f5 2.Nf3# but 1...Kd4[c]! 1.Rb1?? zz 1...Ke6[a]/d4[a] 2.Re1#[A] 1...f6[b] 2.Bc5#[B] 1...f5 2.Nf3# but 1...Kd4[c]! 1.Ra1?? zz 1...Ke6[a]/d4[a] 2.Re1#[A] 1...f6[b] 2.Bc5#[B] 1...f5 2.Nf3# but 1...Kd4[c]! 1.Rf1?? (2.Bc5#[B]) 1...f5 2.Nf3# but 1...Kd4[c]! 1.Rg1?? zz 1...Ke6[a]/d4[a] 2.Re1#[A] 1...f6[b] 2.Bc5#[B] 1...f5 2.Nf3# but 1...Kd4[c]! 1.Rh1?? zz 1...Ke6[a]/d4[a] 2.Re1#[A] 1...f6[b] 2.Bc5#[B] 1...f5 2.Nf3# but 1...Kd4[c]! 1.Bf6+[D]?? 1...Kd6 2.Nf5#/Be5# but 1...Kxf6! 1.Bg5+?? 1...Kd6 2.Nf5#/Bf4# but 1...Kd4[c]! 1.Bd8+?? 1...Kd6 2.Nf5#/Bc7# but 1...Kd4[c]! 1.Rd1[F]! zz 1...Ke6[a]/d4[a] 2.Re1#[A] 1...f6[b] 2.Bc5#[B] 1...Kd4[c] 2.Bf6#[D] 1...f5 2.Nf3#" keywords: - Changed mates - Rudenko --- authors: - Baird, Edith Elina Helen source: The Daily News date: 1901 algebraic: white: [Kg3, Rb7, Ra6, Bg2, Ba3, Sg8, Pf3, Pc3] black: [Kd5, Ba8, Sf7, Pg5, Pe6] stipulation: "#2" solution: | "1...Ke5 2.Ra5# 1.Ra5+?? 1...Kc6 2.f4# but 1...Kc4! 1.Rc6! (2.f4#) 1...Ke5 2.Rb5# 1...e5/Ne5 2.Ne7# 1...Nd6 2.Rc5#" keywords: - Flight giving and taking key --- authors: - Baird, Edith Elina Helen source: The Daily News date: 1901 algebraic: white: [Ka6, Qh1, Rf5, Bd6, Sd8, Sb5, Pf2, Pe5, Pd2, Pb3] black: [Kd5, Re6, Rd3, Pf3, Pe4, Pd7, Pb4] stipulation: "#2" solution: | "1...Rd4 2.Nc7# 1...Rxe5 2.Rxe5# 1...Re7/Re8/Rg6/Rh6 2.e6# 1...Rxd6+ 2.exd6# 1...Rf6 2.exf6# 1...e3 2.Qxf3# 1.Qc1?? (2.Qc4#/Qc5#) 1...Rd4 2.Nc7#/Qc5# 1...Rxb3 2.Qc5# 1...Rxd6+ 2.exd6# 1...e3 2.Qc4# but 1...Rc3! 1.Qd1! zz 1...Rxe5 2.Rxe5# 1...Re7/Re8/Rg6/Rh6 2.e6# 1...Rxd6+ 2.exd6# 1...Rf6 2.exf6# 1...Rxd2 2.Qxd2# 1...Rd4 2.Nc7# 1...Rc3 2.dxc3# 1...Rxb3 2.Qxb3# 1...Re3 2.dxe3# 1...e3 2.Qxf3#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Wallasey and Wirral Chronicle date: 1894 algebraic: white: [Kg2, Qb8, Rh5, Ra5, Be5, Bb1, Sg4, Se2, Ph3, Pd5, Pd2, Pc2] black: [Ke4, Sg5, Sb5, Ph7, Ph6, Pe6, Pd6, Pc3, Pa6] stipulation: "#2" solution: | "1...Nxh3/Nf3/Nf7 2.Nf6# 1...Nc7/Nd4/Na3/Na7/exd5 2.Ng3# 1...dxe5 2.Qxe5# 1...cxd2 2.c4# 1.Qb7?? (2.Ng3#) 1...Kf5 2.Qxh7# but 1...dxe5! 1.Qxb5?? (2.Ng3#/Qd3#) 1...Kf5/dxe5 2.Qd3# but 1...axb5! 1.Qh8?? zz 1...Kf5 2.Qxh7# 1...Nc7/Nd4/Na3/Na7/exd5 2.Ng3# 1...dxe5 2.Qxe5# 1...Nxh3/Nf3/Nf7 2.Nf6# 1...cxd2 2.c4# but 1...Kxd5! 1.Qxd6?? (2.Ng3#) but 1...Kf5! 1.d3+?? 1...Kxd5 2.Qxd6# but 1...Kf5! 1.Ba2?? (2.Ng3#) 1...dxe5 2.Qxe5# but 1...Kf5! 1.Qc7! zz 1...Kf5 2.Qxh7# 1...Kxd5 2.Nxc3# 1...exd5/Nxc7/Nd4/Na3/Na7 2.Ng3# 1...Nxh3/Nf3/Nf7 2.Nf6# 1...dxe5 2.Qxe5# 1...cxd2 2.c4#" keywords: - Active sacrifice --- authors: - Baird, Edith Elina Helen source: Hampstead and Highgate Express date: 1901 algebraic: white: [Ka1, Qa6, Rc7, Bc5, Bb1, Sg3, Se8, Pf6, Pf5, Pf3, Pd4] black: [Kd5, Qd8, Ba8, Sf4, Sa4, Pg5, Pd3, Pc4] stipulation: "#2" solution: | "1...Ng2/Ng6/Nh3/Nh5/Ne2/Ne6 2.Qe6#[A] 1...Qd7 2.Rxd7# 1...Qd6/Qc8/Qb8/Qxe8 2.Qxd6#[B] 1...Qe7 2.Qxa8# 1...Qxf6 2.Nxf6# 1...Qxc7 2.Nxc7# 1...d2 2.Be4# 1...Bb7 2.Qxb7# 1...Bc6 2.Qxc6# 1...c3 2.Ba2# 1.Nf1? (2.Ne3#) 1...Qxe8 2.Qd6#[B] 1...Qe7 2.Qxa8# 1...Ng2 2.Qe6#[A] but 1...Nxc5! 1.Bxd3?? (2.Be4#/Bxc4#/Qxc4#) 1...Nxd3 2.Qe6#[A] 1...Qxe8 2.Qd6#[B]/Qxc4#/Bxc4# 1...Qe7 2.Qxa8#/Qxc4#/Bxc4# 1...Qxc7 2.Nxc7#/Be4#/Bxc4# 1...Nb2/Nb6 2.Be4# 1...Nc3 2.Qxc4#/Bxc4# 1...Nxc5 2.Qxc4# but 1...cxd3! 1.Ne2! zz 1...Qd7 2.Rxd7# 1...Qd6/Qc8/Qb8/Qxe8 2.Qxd6#[B] 1...Qe7 2.Qxa8# 1...Qxf6 2.Nxf6# 1...Qxc7 2.Nxc7# 1...g4 2.Nxf4# 1...dxe2/d2 2.Be4# 1...Nb2/Nb6/Nc3 2.Nc3# 1...Nxc5 2.Rxc5# 1...Bb7 2.Qxb7# 1...Bc6 2.Qxc6# 1...Ng2/Ng6/Nh3/Nh5/Nxe2/Ne6 2.Qe6#[A] 1...c3 2.Ba2#" keywords: - Active sacrifice - Black correction - Transferred mates --- authors: - Baird, Edith Elina Helen source: Times date: 1902 algebraic: white: [Kc7, Qa1, Bh4, Se1, Sd4, Pg3, Pf2, Pc4, Pb3] black: [Ke5, Sg2, Ph7, Pg6, Pe6, Pe4, Pc5] stipulation: "#2" solution: | "1...cxd4 2.Qa5# 1.Nxe6+?? 1...Kxe6 2.Qf6# but 1...Kf5! 1.Qa8! (2.Qh8#) 1...Kxd4 2.Qa1# 1...e3 2.Nef3# 1...cxd4 2.Qa5#" keywords: - Flight giving key - Switchback --- authors: - Baird, Edith Elina Helen source: Field date: 1895 algebraic: white: [Ka6, Qg8, Rh5, Rc6, Bb2, Sd3, Pg6, Pf2, Pe2, Pb5] black: [Kd5, Be5, Sf5, Pf6, Pe6, Pd4, Pb6] stipulation: "#2" solution: | "1...Bf4/Bg3/Bh2/Bc7/Bb8 2.Qxe6# 1.Nf4+?? 1...Bxf4 2.Qxe6# but 1...Ke4! 1.f3?? (2.Qxe6#/Nb4#) 1...Ng7 2.Qd8#/Nf4#/Nb4# 1...Nd6 2.Nf4#/Nb4# 1...Bf4/Bg3/Bh2/Bc7/Bb8 2.Qxe6# but 1...Bd6! 1.Rc5+?? 1...Kd6 2.Qd8# 1...Ke4 2.Qa8# but 1...bxc5! 1.Rc4! zz 1...Kd6 2.Qd8# 1...Ke4 2.Qa8# 1...Kxc4 2.Qxe6# 1...Ng3/Ng7/Nh4/Nh6/Ne3/Ne7/Nd6/Bf4/Bg3/Bh2/Bd6/Bc7/Bb8 2.Rxd4#" keywords: - 2 flights giving key - King Y-flight --- authors: - Baird, Edith Elina Helen source: Western Magazine date: 1892 algebraic: white: [Ka3, Qg4, Ra5, Bf1, Bb2, Sf5, Sd8, Pe2] black: [Kd5, Sc5, Pf4, Pe5, Pa4] stipulation: "#2" solution: | "1...Ke4 2.Bg2# 1...Kc4 2.Ne3# 1...f3 2.e4# 1...e4 2.Qg8# 1.Nd6?? (2.Qe6#) but 1...Kxd6! 1.Qg2+?? 1...Kc4 2.Nd6# 1...e4 2.Qg8# but 1...f3! 1.Qxf4?? (2.e4#) 1...e4 2.Ne3# but 1...exf4! 1.Qf3+?? 1...Kc4 2.Nd6# but 1...e4! 1.Kb4?? zz 1...Ke4 2.Bg2# 1...e4 2.Rxc5#/Qg8# 1...f3 2.e4#/Qc4#/Rxc5# but 1...a3! 1.Bc3?? zz 1...Ke4 2.Bg2# 1...e4 2.Qg8# 1...f3 2.e4# but 1...Kc4! 1.Bd4?? zz 1...Ke4 2.Bg2# 1...Kc4 2.Rxc5# 1...f3 2.e4#/Rxc5# 1...e4 2.Qg8#/Rxc5# but 1...exd4! 1.Bg2+?? 1...Kc4 2.Ne3#/Nd6# 1...e4 2.Qg8# but 1...f3! 1.Bh3?? zz 1...Ke4 2.Bg2#/Qf3# 1...Kc4 2.Ne3# 1...e4 2.Qg8# but 1...f3! 1.Rb5?? zz 1...Ke4 2.Bg2# 1...e4 2.Qg8# 1...f3 2.e4# but 1...Kc4! 1.Rxc5+?? 1...Ke4 2.Bg2#/Rxe5# but 1...Kxc5! 1.e3?? zz 1...fxe3 2.Bc4#/Qc4# 1...f3 2.Bc4#/Qc4#/e4# 1...e4 2.Qg8#/Qd1# but 1...Ke4! 1.e4+?? 1...fxe3 e.p. 2.Qc4#/Bc4# but 1...Kxe4! 1.Ba1! zz 1...Ke4 2.Bg2# 1...Kc4 2.Ne3# 1...f3 2.e4# 1...e4 2.Qg8#" keywords: - Block --- authors: - Baird, Edith Elina Helen source: Field date: 1901 algebraic: white: [Kb5, Qg6, Bg1, Ba2, Sd2, Pg5, Pg4] black: [Ke5, Re3, Pg7, Pd3] stipulation: "#2" solution: | "1...Kd4 2.Qxg7# 1.Kc5?? (2.Qd6#/Qf5#) 1...Rf3 2.Qd6#/Qe4# but 1...Kf4! 1.Kc6?? (2.Qd6#) 1...Kd4 2.Qxg7# but 1...Kf4! 1.Qc6?? zz 1...Kd4 2.Nf3#/Qc5# 1...g6 2.Qf6# 1...Re2/Re1/Re4/Rf3/Rg3/Rh3 2.Qc7# but 1...Kf4! 1.Qb6?? zz 1...g6 2.Qf6# 1...Re2/Rf3/Rg3/Rh3 2.Qb8#/Qd4#/Qc7# 1...Re1 2.Bh2#/Qb8#/Qd4#/Qc7# 1...Re4 2.Qb8#/Qc7# but 1...Kf4! 1.Qf5+?? 1...Kd4 2.Qc5# but 1...Kd6! 1.Qf7! zz 1...Kd4 2.Qxg7# 1...Kd6 2.Nc4# 1...Re2/Re1/Re4/Rf3/Rg3/Rh3 2.Qc7# 1...g6 2.Qf6#" keywords: - Flight giving and taking key - Model mates --- authors: - Baird, Edith Elina Helen source: The New Chess Review date: 1892 algebraic: white: [Kf8, Qa7, Re3, Ra5, Bh8, Bb7, Sg7, Sa4, Ph5, Ph4, Pg3] black: [Ke5, Se4, Sd5, Pf7, Pe6, Pd7] stipulation: "#2" solution: | "1.Sa4-b6 ! zugzwang. 1...Ke5-d4 2.Sg7-f5 # 1...Ke5-f6 2.Sb6*d7 # 1...Ke5-d6 2.Sg7-e8 # 1...d7-d6 2.Sb6-d7 # 1...f7-f5 2.Sg7-e8 # 1...f7-f6 2.Sb6-c4 #" keywords: - Flight giving key comments: - also in The Louisville Courier-Journal (no. 106), 2 October 1892 --- authors: - Baird, Edith Elina Helen source: Sunday Special date: 1901 algebraic: white: [Ka6, Qh5, Rf2, Bd2, Bb1, Sf4, Se3, Pd6, Pb3] black: [Kd4, Sg5, Pe6, Pd7] stipulation: "#2" solution: | "1...Nh3/Nh7/Nf3[a]/Nf7 2.Ne2# 1...Ne4[b] 2.Nc2#[A]/Ne2# 1.Nd3? zz 1...Nf3[a] 2.Qg4#[C] 1...Nh3/Ne4[b] 2.Qe5#[D] 1...Ke4/Nf7 2.Qh4#/Qg4#[C]/Rf4# 1...Nh7 2.Qh4#/Qe5#[D]/Qg4#[C]/Rf4# but 1...e5! 1.Kb6?? zz 1...Nh3/Nh7/Nf3[a]/Nf7 2.Qc5#[B]/Ne2# 1...Ne4[b] 2.Nc2#[A]/Ne2# 1...e5 2.Nf5#/Ne2# but 1...Ke5! 1.Kb5?? zz 1...Nh3/Nh7/Nf3[a]/Nf7 2.Qc5#[B]/Ne2# 1...Ne4[b] 2.Nc2#[A]/Ne2# 1...e5 2.Nf5#/Ne2# but 1...Ke5! 1.Qxg5?? (2.Ne2#) but 1...e5! 1.Ne2+?? 1...Ke5 2.Qh2# but 1...Kc5! 1.b4?? zz 1...Nh3/Nh7/Nf3[a]/Nf7 2.Qc5#[B]/Ne2# 1...e5/Ne4[b] 2.Ne2# but 1...Ke5! 1.Bb4! zz 1...Nh3/Nh7/Nf3[a]/Nf7 2.Qc5#[B] 1...Ne4[b] 2.Nc2#[A] 1...Kxe3 2.Bc5# 1...Ke5 2.Qh8# 1...e5 2.Nf5#" keywords: - Flight giving and taking key - Black correction - Changed mates --- authors: - Baird, Edith Elina Helen source: Nottinghamshire Guardian date: 1889 algebraic: white: [Kf8, Qb5, Rf1, Bh8, Bh1, Sd6, Sc8, Pf3, Pe5, Pd2, Pc6] black: [Kd5, Rf6, Rd4, Pf7, Pe6, Pc5] stipulation: "#2" solution: | "1...Rf5/Rff4/Rxf3/Rg6/Rh6 2.Ne7#/Nb6# 1.Qb2! zz 1...Kxe5 2.f4# 1...Kxc6 2.Qb7# 1...c4 2.Qb5# 1...Rf5/Rff4/Rxf3/Rg6/Rh6/Rd3/Rxd2/Rc4/Rb4/Ra4/Re4/Rdf4/Rg4/Rh4 2.Ne7#" keywords: - Flight giving key - Switchback --- authors: - Baird, Edith Elina Helen source: The Chess Review date: 1893 algebraic: white: [Kc6, Qc2, Bf8, Bb1, Ph5, Ph3, Pf5, Pe3] black: [Ke5, Rd3, Bf1, Pf6, Pf3, Pb5] stipulation: "#2" solution: | "1...Rd2 2.Qe4# 1...Rd1/Rd5/Rd7/Rd8 2.Qh2#/Qe4# 1...Rd6+ 2.Bxd6# 1...Rc3+ 2.Qxc3# 1...Rb3/Ra3 2.Qc5#/Qh2#/Qe4#/Bd6# 1.Qc4?? (2.Qf4#/Qe6#) 1...Kxf5 2.Qd5# 1...Rd4 2.Qxd4#/Qe6# 1...Rd5 2.Qe4#/Qf4#/Qxd5# 1...Rd6+/Rxe3 2.Bxd6# 1...Rc3 2.Qxc3#/Bd6# but 1...bxc4! 1.Qc5+?? 1...Rd5 2.Bd6#/Qxd5#/Qe7# but 1...Ke4! 1.Qh2+?? 1...Ke4 2.Qf4# but 1...Kxf5! 1.Qxd3?? (2.Bd6#/Qd4#/Qd5#/Qd6#/Qc3#/Qe4#) 1...b4 2.Bd6#/Qd4#/Qd5#/Qd6#/Qe4# but 1...Bxd3! 1.Qb3! (2.Qe6#) 1...Kxf5/Rd5 2.Qd5# 1...Rd6+/Rxb3 2.Bxd6# 1...Rc3+ 2.Qxc3# 1...Rxe3 2.Qxe3#" keywords: - Active sacrifice --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Chronicle date: 1895 algebraic: white: [Kf7, Qb1, Rc7, Be2, Sg6, Sf5, Pf4, Pd2] black: [Kd5, Bd8, Sb4, Pf6, Pe5, Pc5] stipulation: "#2" solution: | "1...Be7/Bxc7 2.Ngxe7# 1...c4 2.Bxc4#[A] 1...Nc2 2.Qb7#[B] 1...Nc6 2.Rd7# 1...Nd3 2.Qxd3# 1...Na2/Na6 2.Qb7#[B]/Qd3# 1.d4? (2.Rxc5#) 1...cxd4 2.Bc4#[A] 1...Be7/Bxc7 2.Ngxe7# 1...Nc2/Na6 2.Qb7#[B] 1...Nc6 2.Rd7# 1...exd4 2.Qh1# but 1...Nd3! 1.Nxe5?? (2.Bf3#/Bc4#[A]/Qh1#/Rd7#) 1...c4/Be7/Bxc7 2.Bf3#/Bxc4#[A]/Qh1# 1...Nc2 2.Bf3#/Qb7#[B]/Qh1# 1...Nd3 2.Bf3#/Qb7#[B]/Qh1#/Qxd3# but 1...fxe5! 1.Bf3+?? 1...e4 2.Qxe4# but 1...Kc4! 1.Bb5?? (2.Rd7#) 1...Be7/Bxc7 2.Ngxe7# 1...Nd3 2.Qxd3# 1...c4 2.Bxc4#[A] but 1...Nc2! 1.fxe5?? (2.Qh1#) 1...Nd3 2.Qxd3# but 1...fxe5! 1.Qb3+?? 1...c4 2.Qxc4# but 1...Ke4! 1.Qxb4?? (2.Qb7#[B]/Qc4#/Rxc5#) 1...Be7 2.Ngxe7#/Qb7#[B]/Qc4# 1...Bxc7 2.Nge7#/Qb7#[B] 1...c4 2.Qb7#[B]/Qxc4# but 1...cxb4! 1.Qc2?? (2.Bc4#[A]/Rxc5#/Qc4#) 1...Nc6 2.Bc4#[A]/Rd7#/Qc4# 1...Nd3 2.Qxd3# 1...Na6 2.Bc4#[A]/Qc4#/Qd3# 1...Be7 2.Ngxe7#/Bc4#[A]/Qc4# 1...Bxc7 2.Nge7# 1...c4 2.Bxc4#[A]/Qxc4# but 1...Nxc2! 1.d3! zz 1...Nc2/Na2/Na6 2.Qb7#[B] 1...Nc6 2.Rd7# 1...Nxd3 2.Qxd3# 1...exf4 2.Bf3# 1...e4 2.dxe4# 1...c4 2.dxc4# 1...Be7/Bxc7 2.Ngxe7#" keywords: - Active sacrifice - Black correction - Transferred mates --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Courant date: 1893 algebraic: white: [Kc5, Qg1, Bf6, Bd1, Sf8, Sd5, Pe2] black: [Kf5, Bh3, Sg2, Pg3, Pe5] stipulation: "#2" solution: | "1...Kg4[a] 2.e4#[A] 1...Ke4 2.Bc2# 1.Qxg2? (2.Qf3#[B]/e4#[A]) 1...Bg4 2.e4#[A] 1...e4 2.Qxh3# but 1...Bxg2! 1.Qf1+?? 1...Kg4[a] 2.e3#/e4#[A]/Qf3#[B] 1...Ke4 2.Bc2#/Qf3#[B] but 1...Nf4[b]! 1.Qh1[C]! zz 1...Kg4[a]/Nh4[b]/Nf4[b]/Ne1[b] 2.e4#[A] 1...Ne3[c] 2.Qf3#[B] 1...Ke4 2.Bc2# 1...Bg4 2.Qh7# 1...e4 2.Qxh3#" keywords: - Rudenko --- authors: - Baird, Edith Elina Helen source: Sussex Chess Journal date: 1892 algebraic: white: [Kf7, Qg4, Rh6, Ra5, Bh8, Be8, Sd6, Sb5, Pa6, Pa2] black: [Kd5, Pg5, Pf6, Pe4, Pd7] stipulation: "#2" solution: | "1...Ke5 2.Qxg5#/Qxe4#/Qf5# 1...f5 2.Nd4#/Na7# 1.Bxd7?? (2.Qf5#) but 1...Kc5! 1.Qxg5+?? 1...fxg5/f5 2.Nd4#/Na7# but 1...Kc6! 1.Qxd7?? (2.Qf5#) but 1...Kc5! 1.Nd4+?? 1...Kxd6 2.Qg3#/Qxd7# but 1...Kxd4! 1.Na7+?? 1...Kxd6 2.Qg3#/Qxd7# but 1...Kd4! 1.Nb7! zz 1...Ke5 2.Qxg5# 1...Kc4 2.Qxe4# 1...Kc6/d6 2.Qe6# 1...f5 2.Na3# 1...e3 2.Na7#" keywords: - Flight giving and taking key - King Y-flight --- authors: - Baird, Edith Elina Helen source: Bradford Observer Budget date: 1894 algebraic: white: [Ka3, Qa7, Rh4, Bg1, Bf1, Se5, Sc5, Pf2, Pe4, Pe2, Pd5, Pb2] black: [Kd4, Bh6, Bb5, Sf4, Sb3, Ph5, Pg6, Pd6] stipulation: "#2" solution: | "1.Qe7! - 1... ~ 2.f3# 1...Se6 2.f4# 1...d:e5 2.e3# 1...K:c5 2.Qa7# 1...Sf~ 2.S:b3#" keywords: - Flight giving and taking key - Switchback --- authors: - Baird, Edith Elina Helen source: Birmingham Daily Post date: 1901 algebraic: white: [Kf6, Qh1, Rd1, Bb5, Ba3, Sf1, Sa6, Pg5, Pg2, Pd4, Pb3] black: [Kd5, Bg8, Bb8, Sf7, Pf4, Pe4, Pd7, Pc7] stipulation: "#2" solution: | "1...f3 2.Ne3# 1...Ne5 2.dxe5# 1...Nd6/d6 2.Nb4# 1...Ba7 2.Nxc7# 1...c6 2.Bc4# 1...c5 2.dxc5# 1.Bc5?? (2.Nb4#) but 1...e3! 1.Be7?? (2.Nb4#) 1...c5 2.dxc5# but 1...e3! 1.Bf8?? (2.Nb4#) 1...c5 2.dxc5# but 1...e3! 1.Qh3?? zz 1...e3 2.Qf3# 1...f3 2.Ne3# 1...Ba7 2.Nxc7# 1...c6 2.Bc4# 1...c5 2.dxc5# 1...d6 2.Nb4#/Qe6# 1...Nxg5/Nh8/Nd8 2.Qf5#/Qxd7# 1...Nh6 2.Qxd7# 1...Ne5 2.dxe5# 1...Nd6 2.Nb4# but 1...Bh7! 1.Qh5! zz 1...Bh7 2.Qxf7# 1...Nxg5 2.Qxg5# 1...Nh6 2.gxh6# 1...Nh8/Nd8 2.g6# 1...Ne5 2.dxe5# 1...Nd6/d6 2.Nb4# 1...f3 2.Ne3# 1...Ba7 2.Nxc7# 1...c6 2.Bc4# 1...c5 2.dxc5# 1...e3 2.Qf3#" keywords: - Black correction - B2 --- authors: - Baird, Edith Elina Helen source: Pen and Pencil date: 1888 algebraic: white: [Kf5, Qa2, Bf1, Sf3, Sf2, Pg4, Pg2, Pe4, Pa6] black: [Ke3, Qe1, Pe5, Pd6, Pc4] stipulation: "#2" solution: | "1...Qe2/Qc1 2.Qxe2#[A] 1...Qd1 2.Nxd1# 1...Qb1/Qa1 2.Qd2#[B]/Qe2#[A] 1...Qxf1/Qd2 2.Qd2#[B] 1...Qc3/Qb4/Qa5 2.Qe2#[A]/Nd1# 1.g5? (2.Ng4#) 1...Qe2 2.Qxe2#[A] 1...Qxf1 2.Qd2#[B] but 1...Qxf2! 1.Bxc4? zz 1...Qe2/Qc1 2.Qxe2#[A] 1...Qd1 2.Nxd1# 1...Qb1/Qa1/Qg1/Qh1 2.Qd2#[B]/Qe2#[A] 1...Qf1/Qd2 2.Qd2#[B] 1...Qxf2 2.Qa3#/Qb3# 1...Qc3/Qb4/Qa5 2.Qe2#[A]/Nd1# but 1...d5! 1.Qb2?? (2.Qb6#) 1...Qd1 2.Nxd1# 1...Qb1/Qa1 2.Qd2#[B]/Qe2#[A] 1...Qxf1/Qd2 2.Qd2#[B] 1...Qc3/Qb4/Qa5 2.Qe2#[A]/Nd1# but 1...d5! 1.Qa5! (2.Qxe1#/Qb6#) 1...Kxf2/d5 2.Qxe1# 1...c3/Qe2/Qc1 2.Qb6# 1...Qd1/Qc3/Qb4/Qxa5 2.Nxd1# 1...Qb1/Qa1/Qxf1/Qd2 2.Qd2#[B] 1...Qxf2 2.Qc3#/Qb6#" keywords: - Flight giving key - Transferred mates --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1893 algebraic: white: [Kf5, Qc1, Rd6, Rc8, Sc3, Sa5, Pf2, Pe6, Pd2] black: [Kc5, Ba6, Sc7, Pd3, Pb7, Pb4] stipulation: "#2" solution: | "1...b3 2.Qa3# 1...Bb5/b5 2.Ne4# 1...Bc4 2.Nxb7# 1...b6 2.Rd5# 1.Ke5?? (2.Rxc7#) 1...b3 2.Qa3# 1...Bb5 2.Ne4#/Na4# but 1...bxc3! 1.Qb1?? zz 1...Kxd6 2.Qxb4# 1...bxc3 2.Qb6# 1...b6 2.Rd5# 1...b5/Bb5 2.Ne4# 1...Bc4 2.Nxb7# but 1...b3! 1.Qa3?? zz 1...Kxd6 2.Qxb4# 1...b6 2.Rd5# 1...b5/Bb5 2.Ne4# 1...Bc4 2.Nxb7# but 1...bxa3! 1.Rc6+?? 1...Kd4 2.Nb3# but 1...bxc6! 1.Na4+?? 1...Kxd6 2.Qc5# but 1...Kb5! 1.Qb2! zz 1...Kxd6 2.Qxb4# 1...bxc3 2.Qb6# 1...b3 2.Qa3# 1...b6 2.Rd5# 1...b5/Bb5 2.Ne4# 1...Bc4 2.Nxb7#" --- authors: - Baird, Edith Elina Helen source: Field date: 1890 algebraic: white: [Ka3, Qe8, Rh5, Bg1, Bd3, Se5, Sc7, Pg3, Pf2, Pe4, Pb6, Pb2] black: [Kd4, Bg5, Bf3, Pd6, Pd5, Pb7] stipulation: "#2" solution: | "1...Bh4/Bh6/Bf4/Be3/Bd2/Bc1/Bf6/Be7/Bd8 2.Ne6# 1...Bg2/Bh1/Bg4/Bxh5/Be2/Bd1/Bxe4 2.f4# 1.Qe6?? (2.Qxd5#) 1...Bxe4 2.f4# but 1...Kc5! 1.Qg8?? (2.Qxd5#) 1...Kxe5 2.Qg7#/Qh8# 1...Bxe4 2.f4# but 1...Kc5! 1.Qf7?? (2.Qxd5#) 1...Kxe5 2.Qg7# 1...Bxe4 2.f4# but 1...Kc5! 1.Qd7?? zz 1...Kxe5 2.Qg7# 1...dxe5 2.Qxd5# 1...Bg2/Bh1/Bg4/Bxh5/Be2/Bd1/Bxe4 2.f4# 1...Bh4/Bh6/Bf4/Be3/Bd2/Bc1/Bf6/Be7/Bd8 2.Ne6# 1...dxe4 2.Qxd6# but 1...Kc5! 1.Qb5?? (2.Qxd5#/Nxf3#) 1...dxe5/dxe4 2.Ne6#/Qxd5# 1...Bg2/Bh1/Bg4/Bxh5/Be2/Bd1 2.f4#/Qxd5# 1...Bxe4 2.f4# but 1...Kxe5! 1.Qa4+?? 1...Kc5 2.Qb4#/Nd7# but 1...Kxe5! 1.Nxf3+?? 1...Kc5 2.Qb5# but 1...Kxd3! 1.Qd8! zz 1...Kxe5 2.Qh8# 1...Kc5/Bh4/Bh6/Bf4/Be3/Bd2/Bc1/Bf6/Be7/Bxd8 2.Ne6# 1...dxe5 2.Qxd5# 1...Bg2/Bh1/Bg4/Bxh5/Be2/Bd1/Bxe4 2.f4# 1...dxe4 2.Qxd6#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: I Uppnámi date: 1902 algebraic: white: [Kf3, Qa4, Rf4, Rd3, Bh2, Bg8, Se5, Sd7, Pe6, Pd4, Pc2, Pb5] black: [Kd5, Qc6, Sb4, Pb6, Pa5] stipulation: "#2" solution: | "1...Qd6 2.Nf6#/Qb3#/c4# 1.Qxb4?? (2.Nf6#) 1...Qc5 2.dxc5# 1...Qxd7 2.c4#/exd7# but 1...axb4! 1.Nc4! zz 1...Kxc4+ 2.d5# 1...Nxc2/Na2/Na6 2.Rf5#/Nf6# 1...Nxd3 2.Nf6# 1...Qc5/Qc7/Qb7 2.e7# 1...Qxc4 2.Rf5# 1...Qc8/Qxe6/Qa8 2.Ndxb6# 1...Qd6 2.Ne3# 1...Qxd7 2.exd7# 1...Qxb5 2.Qxb5#" keywords: - Flight giving and taking key - Black correction --- authors: - Baird, Edith Elina Helen source: Liverpool Mercury date: 1901 algebraic: white: [Kf3, Qb2, Rh5, Rc8, Bg1, Be2, Sf6, Pf2, Pe5, Pa5] black: [Kd4, Rc4, Bh4, Bc6, Sc3, Pd5] stipulation: "#2" solution: | "1...Kc5/Ra4 2.Qb6# 1...Bd7/Be8/Bb5/Ba4/Bb7/Ba8/Rc5 2.Qd2# 1...Bg3 2.fxg3# 1...Bxf2 2.Bxf2# 1...Rb4 2.Qxb4# 1.Nd7?? (2.Rxh4#/Qd2#) 1...Bg3 2.fxg3#/Qd2# 1...Bf6/Be7/Bd8/Bxd7 2.Qd2# but 1...Bg5! 1.Rxh4+?? 1...Kc5 2.Nd7#/Qb6# but 1...Kxe5! 1.Rg5?? zz 1...Kc5/Ra4 2.Qb6# 1...Bg3 2.fxg3# 1...Bxf2 2.Bxf2# 1...Rc5/Bd7/Be8/Bb5/Ba4/Bb7/Ba8 2.Qd2# 1...Rb4 2.Qxb4# but 1...Bxg5! 1.Kg2! zz 1...Kc5/Ra4 2.Qb6# 1...Bg3 2.fxg3# 1...Bxf2 2.Bxf2# 1...Bg5 2.f4# 1...Bxf6 2.f3# 1...Bd7/Be8/Bb5/Ba4/Bb7/Ba8/Rc5 2.Qd2# 1...Rb4 2.Qxb4#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Field date: 1893 algebraic: white: [Kb1, Qd7, Rh6, Ra5, Bg1, Bb5, Se6, Se3, Pg2] black: [Ke4, Sh3, Sd3, Pg5, Pg4, Pd5, Pc6] stipulation: "#2" solution: | "1...d4 2.Bxc6#/Qxd4# 1...cxb5/c5 2.Qxd5# 1.Ra4+?? 1...Ke5 2.Qc7# 1...d4 2.Qxd4# but 1...Nb4! 1.Bxd3+?? 1...Ke5 2.Qc7#/Nxg4#/Nc4# but 1...Kxd3! 1.Nc4! (2.Qh7#) 1...Ne5 2.Nd6# 1...Ndf4 2.Nc5# 1...Nhf4 2.Nxg5# 1...dxc4/d4 2.Bxc6#" keywords: - Flight giving and taking key --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1894 algebraic: white: [Kf2, Rh4, Rd5, Bd8, Bb3, Sd4, Pd2] black: [Ke4, Sg7, Pf4, Pe6, Pe5] stipulation: "#2" solution: | "1.Ne2? (2.Ng3#[A]) 1...Kf5/exd5 2.Bc2# 1...Nf5 2.d3#/Nc3# but 1...Nh5! 1.Nb5? (2.Nd6#[B]) 1...Kf5/exd5 2.Bc2# 1...Nf5 2.Nc3#/d3# but 1...Ne8! 1.Bc4?? (2.d3#) but 1...exd5! 1.Ke2?? (2.d3#) but 1...exd5! 1.Nf5! (2.Ng3#[A]/Nd6#[B]) 1...Kxf5/exd5 2.Bc2# 1...exf5/Nxf5 2.d3# 1...Nh5 2.Nd6#[B] 1...Ne8 2.Ng3#[A]" keywords: - Flight giving and taking key - Barnes --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1902 algebraic: white: [Kc3, Qg1, Rh5, Rf4, Bc7, Bb7, Sc4, Pf6, Pd2, Pb3, Pa4] black: [Kc5, Bf8, Bf5, Pg7, Pe3] stipulation: "s#4" solution: | "1.Rf4-e4 ! threat: 2.Bc7-d6 + 2...Bf8*d6 3.Re4-e5 + 3...Bd6*e5 + 4.d2-d4 + 4...Be5*d4 # 1...g7*f6 2.Sc4-b2 threat: 3.Re4-e5 + 3...f6*e5 4.d2-d4 + 4...e5*d4 #" --- authors: - Baird, Edith Elina Helen source: East Central Times date: 1890 algebraic: white: [Kf2, Qf1, Rb7, Ba8, Sh6, Sf5, Ph5, Pg3, Pe2, Pb2] black: [Ke4, Pg4, Pe6, Pd5, Pd3] stipulation: "#2" solution: | "1...e5 2.Rb4#/Qh1#/Qg2#/exd3# 1...d4 2.Rb5# 1...dxe2 2.Qxe2# 1.Re7?? (2.Rxe6#) 1...e5 2.Qh1#/Qg2#/exd3# 1...dxe2 2.Qxe2# but 1...Ke5! 1.Kg2?? (2.Qf4#) 1...d4 2.Rb5# 1...e5 2.Rb4#/exd3# 1...dxe2 2.Qxe2# but 1...Ke5! 1.Kg1?? (2.Qf4#) 1...d4 2.Rb5# 1...e5 2.Rb4#/Qg2#/exd3# 1...dxe2 2.Qxe2# but 1...Ke5! 1.Nf7! zz 1...Kxf5 2.Ke3# 1...d4 2.Rb5# 1...exf5 2.Rb4# 1...e5 2.N7d6# 1...dxe2/d2 2.Qb1#" keywords: - Flight giving and taking key --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1891 algebraic: white: [Kf2, Qe7, Rc8, Rb7, Bg8, Bc1, Sf7, Sd2, Pg4, Pf6, Pc5, Pc4, Pb2] black: [Kd4, Rd6, Rc6, Pe6, Pd3] stipulation: "#2" solution: | "1...Kxc5[a]/Rc7/Rxc8 2.Qxd6#[A] 1...e5[b] 2.Qxe5#[B] 1.Ne5? zz 1...Kxc5[a] 2.Nb3#[C] 1...Rxc5[c]/Rb6[c]/Ra6[c] 2.Nef3#[D] 1...Rc7/Rxc8 2.Qxd6#[A] 1...Rd5/Rd7/Rd8 2.Nef3#[D]/Nxc6# but 1...Kxe5! 1.b4?? (2.Bb2#) but 1...Kc3! 1.Nb3+[C]?? 1...Ke4 2.Bh7# but 1...Kxc4! 1.Qxe6?? (2.Nb3#[C]/Qe5#[B]/Qe3#) 1...Kxc5[a] 2.Nb3#[C]/Qxd6#[A] 1...Rxc5[c] 2.Nf3#/Nb3#[C]/Qe4#/Qe3# 1...Rb6[c] 2.Nf3#/Qe5#[B]/Qe4#/Qe3# 1...Rd5 2.Qe3#/Qxd5# but 1...Rxe6! 1.Ng5! zz 1...Kxc5[a] 2.Nxe6#[E] 1...e5[b] 2.Nb3#[C] 1...Rxc5[c]/Rb6[c]/Ra6[c]/Rd5/Rd7/Rd8 2.Ngf3#[F] 1...Ke5 2.Ndf3# 1...Rc7/Rxc8 2.Qxd6#[A]" keywords: - Flight giving key - Changed mates --- authors: - Baird, Edith Elina Helen source: Cape Times date: 1893 algebraic: white: [Kf2, Qd7, Ba6, Ba3, Sf7, Se3, Pg3, Pb2] black: [Kd4, Bd6, Sb5, Pe4, Pb6] stipulation: "#2" solution: | "1...Kd3/Nxa3/Na7 2.Qxd6# 1.Ne5?? zz 1...Nc3/Nc7 2.Nc6# 1...Nxa3/Na7 2.Qxd6# but 1...Kxe5! 1.Bb4?? zz 1...Kd3/Na3/Na7 2.Qxd6# 1...Nc3 2.bxc3# but 1...Nc7! 1.Bxd6?? zz 1...Kd3 2.Be5#/Bf4#/Be7#/Bf8#/Bc5#/Bb4#/Ba3#/Bc7#/Bb8# 1...Nc7 2.Qa4# 1...Nxd6 2.Qxd6# 1...Na3 2.Be7#/Bf8#/Bb4#/Bxa3# 1...Na7 2.Qa4#/Be7#/Bf8#/Bb4#/Ba3# but 1...Nc3! 1.Qb7?? (2.Qd5#) 1...Nc3/Nc7 2.Nf5#/Nc2# but 1...Bxg3+! 1.Qe6?? (2.Qd5#/Qc4#) 1...Kd3/Nxa3 2.Qxd6#/Qd5# 1...Nc3/Nc7 2.Qc4#/Nf5#/Nc2# but 1...Bxg3+! 1.Qc6?? (2.Qc4#/Qd5#) 1...Kd3 2.Qc3#/Qxd6#/Qd5# 1...Nc3 2.bxc3#/Qc4#/Qxc3#/Nf5#/Nc2# 1...Nc7 2.Qc4#/Qc3#/Nf5#/Nc2# 1...Nxa3 2.Qc3#/Qxd6#/Qd5#/Nf5# 1...Bc5 2.Qd5# but 1...Bxg3+! 1.Qxb5?? (2.Qd5#/Qc4#/Nf5#/Nc2#) 1...Bc5 2.Qc4# but 1...Bxg3+! 1.Nd8! zz 1...Kd3/Nxa3/Na7 2.Qxd6# 1...Ke5 2.Qg7# 1...Nc3/Nc7 2.Nc6#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: Western Magazine and Portfolio date: 1891 algebraic: white: [Kc2, Qa2, Rd8, Rd1, Bg8, Bg1, Sf7, Se2, Ph3, Pf4, Pb5] black: [Ke4, Re6, Rc4, Bd6, Pf6, Pc3] stipulation: "#2" solution: | "1...f5[a] 2.Ng5#[A] 1...Rc6[b]/Rc7[c]/Rc8[c]/Rb4[c]/Ra4[c] 2.Qd5#[B] 1...Kf5 2.Bh7# 1.Bh7+?? 1...f5[a] 2.Ng5#[A] but 1...Kf3! 1.Ng5+[A]?? 1...Kf5 2.Bh7# but 1...fxg5! 1.Qa8+?? 1...Kf5 2.Bh7# but 1...Rc6[b]! 1.Qxc4+[C]?? 1...Kf5 2.Bh7# but 1...Kf3! 1.Rf1! zz 1...f5[a] 2.Qxc4#[C] 1...Be5/Be7/Bf8/Bc5/Bb4/Ba3/Bc7/Bb8/Rc5/Rc6[b]/Rc7[c]/Rc8[c]/Rb4[c]/Ra4[c]/Rd4 2.Ng3#[D] 1...Kf5 2.Bh7# 1...Kd5 2.Nxc3# 1...Re5/Re7/Re8 2.Nxd6# 1...Bxf4 2.Rxf4#" keywords: - Flight giving and taking key - Black correction - Changed mates --- authors: - Baird, Edith Elina Helen source: Field date: 1902 algebraic: white: [Kf2, Re6, Bg7, Bb7, Sf6, Sd8, Pf4, Pb3] black: [Kc5, Qc6, Pf3, Pc7, Pb6, Pb5, Pb4] stipulation: "#2" solution: | "1...Qd6/Qe8 2.Ne4# 1...Qe4/Qd7 2.Nxe4#/Nd7# 1.Bxc6?? (2.Ne4#/Nd7#) but 1...Kd4! 1.Ne4+?? 1...Kd5 2.Bxc6# but 1...Qxe4! 1.Nd7+?? 1...Kd5 2.Bxc6# but 1...Qxd7! 1.Re5+?? 1...Kd6 2.Bf8#/Nf7# 1...Qd5 2.Rxd5# but 1...Kd4! 1.Rd6! zz 1...Kxd6 2.Bf8# 1...cxd6 2.Ne6# 1...Qxd6/Qe4/Qd7 2.Ne4# 1...Qd5/Qe8 2.Rxd5# 1...Qxb7 2.Nxb7#" keywords: - Flight giving and taking key - Defences on same square - Black correction --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1891 algebraic: white: [Kf1, Qa4, Rh5, Rh3, Bh8, Bd1, Se5, Sc8, Pg4, Pd5, Pd3] black: [Kf4, Sg7, Sd4, Pf5, Pf3, Pc5] stipulation: "#2" solution: | "1...Ne6/Ne8 2.Rxf3# 1...f2 2.Ng6# 1.Qc4?? zz 1...Ke3/Nxh5/fxg4 2.Qc1# 1...Ne6/Ne8 2.Qc1#/Rxf3# 1...f2 2.Ng6# but 1...Kxe5! 1.Ng6+?? 1...Kxg4 2.Bxf3# but 1...Ke3! 1.Qa1! zz 1...Ke3/Nxh5/Nge6/Ne8/fxg4 2.Qc1# 1...Kxe5 2.Rxf5# 1...Ne2/Nde6/Nc2/Nc6/Nb3/Nb5 2.Rxf3# 1...c4 2.Qxd4# 1...f2 2.Ng6#" --- authors: - Baird, Edith Elina Helen source: Barnet Press date: 1895 algebraic: white: [Kf1, Qg4, Bb8, Sc7, Sb7, Pg6, Pg3, Pf6, Pe3] black: [Ke5, Rf3, Sf8, Pg7, Pf2] stipulation: "#2" solution: | "1...Kxf6 2.Nd5# 1...Nxg6/Nh7/Ne6/Nd7 2.Qe6#[A] 1...Rf4/Rxe3/Rxg3 2.Qxf4#[B] 1...Rf5 2.Qd4# 1.Ba7? (2.Bd4#) 1...Ne6 2.Qxe6#[A] 1...Rf4 2.Qxf4#[B] but 1...Kxf6! 1.Nd8? zz 1...Kxf6 2.Nd5# 1...Kd6/Rf5 2.Qd4# 1...Nxg6/Nh7/Ne6/Nd7 2.Qe6#[A] 1...Rf4/Rxe3/Rxg3 2.Qxf4#[B] 1...gxf6 2.Nf7# but 1...Rxf6! 1.Na6+?? 1...Kd5 2.Nb4# but 1...Kxf6! 1.Qg5+?? 1...Ke4 2.Nc5# but 1...Rf5! 1.Na5! zz 1...Kxf6 2.Nd5# 1...Kd6/Rf5 2.Qd4# 1...Nxg6/Nh7/Ne6/Nd7 2.Qe6#[A] 1...gxf6/Rxf6 2.Nc4# 1...Rf4/Rxe3/Rxg3 2.Qxf4#[B]" keywords: - Flight giving key - Black correction - Transferred mates --- authors: - Baird, Edith Elina Helen source: Hackney Mercury date: 1893 algebraic: white: [Kc1, Qa8, Re1, Rb4, Bh2, Bb1, Ph4, Pg6, Pe3, Pd6, Pc5] black: [Ke5, Sh5, Sg3, Pg7, Pe6] stipulation: "#2" solution: | "1...Nf6 2.Bxg3# 1.Be4?? (2.Qa1#) but 1...Kf6! 1.Rd1?? (2.Qa1#) but 1...Kf6! 1.Rf1?? (2.Re4#/Qe4#) 1...Nf6 2.Bxg3# but 1...Nf4! 1.Qf3?? zz 1...Nf6 2.Bxg3# but 1...Nf4! 1.e4! zz 1...Kf4/Kf6 2.e5# 1...Nf4 2.Qa1# 1...Nf6 2.Bxg3#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1902 algebraic: white: [Kf1, Qh7, Bd5, Bb4, Sf3, Pg5, Pg2, Pe6, Pb6] black: [Ke3, Ba6, Pg3, Pf2, Pb7, Pb5] stipulation: "s#4" solution: | "1.Qh7-c7 ! zugzwang. 1...Ke3-d3 2.Bb4-d2 zugzwang. 2...b5-b4 3.Qc7-c4 + 3...Ba6*c4 4.Bd5-e4 + 4...Kd3*e4 #" --- authors: - Baird, Edith Elina Helen source: Devon & Exeter Gazette date: 1901 algebraic: white: [Kf1, Qa6, Rh5, Rh4, Bg8, Sg2, Sd7, Pd3] black: [Kd5, Rf5, Bd4, Ph6, Pg5, Pf7, Pf2, Pc5] stipulation: "#2" solution: | "1...Rf4[a] 2.Nxf4#[A] 1...gxh4/g4[b] 2.Bxf7#[B]/Nf4#[A] 1...Re5 2.Nf6# 1...c4 2.dxc4# 1...Be3/Be5/Bg7/Bh8/Bc3/Bb2/Ba1 2.Nxe3#[C] 1...Bf6 2.Ne3#[C]/Bxf7#[B] 1.Rxg5? (2.Bxf7#[B]/Nf4#[A]) 1...Be3 2.Bxf7#[B]/Rxf5#/Nxe3#[C] 1...Be5 2.Ne3#[C] 1...Bf6/Bg7/Bh8/Bc3/Bb2/Ba1 2.Ne3#[C]/Bxf7#[B] but 1...hxg5! 1.Rf4[D]? zz 1...Rxf4[a] 2.Nxf4#[A] 1...g4[b] 2.Bxf7#[B] 1...c4 2.dxc4# 1...gxf4 2.Nxf4#[A]/Bxf7#[B] 1...Be3/Be5/Bg7/Bh8/Bc3/Bb2/Ba1 2.Nxe3#[C] 1...Bf6 2.Ne3#[C]/Bxf7#[B] 1...Re5 2.Nf6# but 1...Rf6! 1.Rxh6?? (2.Rd6#/Qa8#/Qc6#/Qd6#/Qc4#/Qb7#) 1...Be5 2.Nb6#/Ne3#[C]/Qa8#/Qc6#/Qc4#/Qb7# 1...Bf6 2.Ne3#[C]/Bxf7#[B] but 1...Rf6! 1.Rxd4+?? 1...Kxd4 2.Qc4# but 1...cxd4! 1.Nf4+[A]?? 1...gxf4 2.Bxf7#[B] but 1...Rxf4[a]! 1.Bh7! zz 1...gxh4/g4[b]/Rf4[a] 2.Nf4#[A] 1...c4 2.dxc4# 1...Be3/Be5/Bf6/Bg7/Bh8/Bc3/Bb2/Ba1 2.Nxe3#[C] 1...f6 2.Bg8# 1...Rf3/Rf6 2.Be4# 1...Re5 2.Nf6#" keywords: - Defences on same square - Black correction - Transferred mates - Rudenko - Switchback --- authors: - Baird, Edith Elina Helen source: Vanity Fair date: 1902 algebraic: white: [Kb1, Qb3, Re4, Bh3, Bg3, Se8, Ph4, Pa4] black: [Kc6, Bb6, Sg2, Pe7, Pc5, Pa6] stipulation: "#2" solution: | "1.Qxb6+?? 1...Kd5 2.Qb7#/Qe6# but 1...Kxb6! 1.Qf3! (2.Re3#/Re2#/Re1#/Re5#/Rxe7#/Rd4#/Rc4#/Rb4#/Rf4#) 1...Kd5/Bc7/Bd8/Ba5/Ba7 2.Rb4# 1...Kb7 2.Rxe7# 1...Nxh4 2.Rxh4# 1...Nf4 2.Rxf4# 1...Ne1 2.Rxe1# 1...Ne3 2.Rxe3# 1...e6 2.Rd4# 1...e5 2.Rxe5# 1...c4 2.Re5#/Rxc4#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: Kentish Mercury date: 1891 algebraic: white: [Kf1, Qh1, Rf7, Bh7, Bb6, Se4, Sc6, Pg5, Pc3, Pb2] black: [Kc4, Sb5, Sb3, Pd6] stipulation: "#2" solution: | "1...Nxc3[a]/Nc7[a]/N5d4[a]/Na3[a]/Na7[a] 2.Nxd6#[A] 1...Nc1[b]/Nc5[b]/Nd2+[c]/N3d4[d]/Na1[d]/Na5[d] 2.Nd2#[B] 1...d5 2.Ne5# 1.Rf6[C]? zz 1...Nxc3[a]/Nc7[a]/N5d4[a]/Na3[a]/Na7[a] 2.Nxd6#[A] 1...Nc1[b]/Nc5[b]/Nd2+[c]/N3d4[d]/Na1[d]/Na5[d] 2.Nd2#[B] 1...Kd5[e] 2.Nd2#[B]/Nxd6#[A] 1...d5 2.Ne5# but 1...Kd3! 1.Rf4? (2.Nd2#[B]/Nxd6#[A]) 1...Nxc3[a]/Nc7[a]/N5d4[a]/Na3[a]/Na7[a] 2.Nxd6#[A] 1...Nc1[b]/Nc5[b]/Nd2+[c]/N3d4[d]/Na1[d]/Na5[d] 2.Nd2#[B] 1...Kd5[e] 2.Nc5# but 1...Kd3! 1.Rf2[D]? zz 1...Nxc3[a]/Nc7[a]/N5d4[a]/Na3[a]/Na7[a] 2.Nxd6#[A] 1...Nc1[b]/Nc5[b]/Nd2+[c]/N3d4[d]/Na1[d]/Na5[d] 2.Nd2#[B] 1...Kd3 2.Nd2#[B]/Nxd6#[A] 1...d5 2.Ne5# but 1...Kd5[e]! 1.Re7[E]? zz 1...Nxc3[a]/Nc7[a]/N5d4[a]/Na3[a]/Na7[a] 2.Nxd6#[A] 1...Kd5[e]/Nc1[b]/Nc5[b]/Nd2+[c]/N3d4[d]/Na1[d]/Na5[d] 2.Nd2#[B] 1...d5 2.Ne5# but 1...Kd3! 1.Bf5[F]? zz 1...Nxc3[a]/Nc7[a]/N5d4[a]/Na3[a]/Na7[a] 2.Nxd6#[A] 1...Kd5[e]/Nc1[b]/Nc5[b]/Nd2+[c]/N3d4[d]/Na1[d]/Na5[d] 2.Nd2#[B] 1...d5 2.Ne5# but 1...Kd3! 1.Ke1[G]? zz 1...Nxc3[a]/Nc7[a]/N5d4[a]/Na3[a]/Na7[a] 2.Nxd6#[A] 1...Nc1[b]/Nc5[b]/Nd2[c]/N3d4[d]/Na1[d]/Na5[d] 2.Nd2#[B] 1...Kd3 2.Nd2#[B]/Nxd6#[A] 1...d5 2.Qf1#/Ne5# but 1...Kd5[e]! 1.Qg2[H]? zz 1...Nxc3[a]/Nc7[a]/N5d4[a]/Na3[a]/Na7[a] 2.Nxd6#[A] 1...Nc1[b]/Nc5[b]/Nd2+[c]/N3d4[d]/Na1[d]/Na5[d] 2.Nd2#[B] 1...Kd3 2.Qe2#/Nd2#[B]/Nxd6#[A] 1...d5 2.Qe2#/Ne5# but 1...Kd5[e]! 1.Qf3[I]? zz 1...Nxc3[a]/Nc7[a]/N5d4[a]/Na3[a]/Na7[a] 2.Nxd6#[A] 1...Nc1[b]/Nc5[b]/Nd2+[c]/N3d4[d]/Na1[d]/Na5[d] 2.Nd2#[B] 1...d5 2.Ne5#/Qe2# but 1...Kd5[e]! 1.Nf2?? (2.Bd3#) 1...Nc1[b]/Nc5[b]/N3d4[d]/Na1[d]/Na5[d] 2.Na5# but 1...Nd2+[c]! 1.Nc5?? (2.Bd3#) 1...Nc1[b]/Nxc5[b] 2.Na5# 1...dxc5 2.Ne5# but 1...Nd2+[c]! 1.Rc7[J]! zz 1...Nxc3[a]/Nxc7[a]/N5d4[a]/Na3[a]/Na7[a] 2.Nxd6#[A] 1...Nc1[b]/Nc5[b]/Nd2+[c]/N3d4[d]/Na1[d]/Na5[d] 2.Nd2#[B] 1...Kd5[e] 2.Bg8# 1...Kd3 2.Nb4# 1...d5 2.Ne5#" keywords: - Rudenko --- authors: - Baird, Edith Elina Helen source: Daily Telegraph date: 1901 algebraic: white: [Kc1, Qf8, Rd8, Bd2, Sc4, Pe4, Pe2, Pd3, Pa4] black: [Kd4, Rd6, Bg3, Pg7, Pe6, Pd7, Pb4] stipulation: "#2" solution: | "1...Bh2/Be5 2.Qf2# 1...Bh4/Be1/e5 2.Qxd6# 1...Bf2 2.Qxf2#/Qxd6# 1.e3+?? 1...Kc5 2.Rc8# but 1...Kxd3! 1.Ne5! (2.Qxd6#) 1...Kxe5 2.Qxg7# 1...Kc5 2.Be3# 1...Bxe5 2.Qf2# 1...Rd5/Rb6/Ra6 2.Nf3# 1...Rc6+ 2.Nxc6#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: The Times date: 1901 algebraic: white: [Ke8, Qc8, Re6, Bh6, Sc7, Ph3, Pc3] black: [Kf5, Rc5, Bb1, Sa4, Sa2, Pe7, Pa5] stipulation: "#2" solution: | "1.Qa8?? (2.Qf3#) 1...Rc4/Rxc3/Rxc7/Rd5 2.Qd5# 1...Be4 2.Qxe4# but 1...Rc6! 1.Re5+?? 1...Kf6/Kxe5 2.Qe6# but 1...Kg6! 1.Re3+?? 1...Kf6/e6 2.Qe6# but 1...Kg6! 1.Re2+?? 1...Kf6/e6 2.Qe6# but 1...Kg6! 1.Re1+?? 1...Kf6/e6 2.Qe6# but 1...Kg6! 1.Rxe7+?? 1...Kf6 2.Qe6# but 1...Kg6! 1.Rd6+?? 1...Ke5/e6 2.Qe6# but 1...Ke4! 1.Rc6+?? 1...Ke5/e6 2.Qe6# but 1...Ke4! 1.Rb6+?? 1...Ke5/e6 2.Qe6# but 1...Ke4! 1.Ra6+?? 1...Ke5/e6 2.Qe6# but 1...Ke4! 1.Rf6+?? 1...Kxf6/Ke5 2.Qe6# but 1...Ke4! 1.Qb7! (2.Qxb1#/Qf3#) 1...Nb4/Nc1/N2xc3/Bc2/Bd3/Rb5/Re5/Nb2/Nb6/N4xc3 2.Qf3# 1...Be4 2.Qxe4# 1...Rc4/Rxc3/Rxc7/Rd5 2.Qd5# 1...Rc6 2.Qxb1#" --- authors: - Baird, Edith Elina Helen source: Pen & Pencil date: 1888 algebraic: white: [Kc1, Qh6, Rd8, Rb5, Bb7, Sf1, Sd7, Pc5, Pc2] black: [Kd4, Re7, Sa4, Pg7, Pe3, Pc4] stipulation: "#2" solution: | "1...c3 2.Rb4# 1...e2 2.Qd2# 1...Rxd7 2.Qxe3#/Qxg7# 1...Rf7 2.Qxe3# 1.Ne5+?? 1...Kc3/Rd7 2.Qxe3# but 1...Kxe5! 1.Nf8+?? 1...Ke5 2.Qg5# 1...Rd7 2.Qxe3#/Qxg7# but 1...Kc3! 1.Nb6+?? 1...Kc3 2.Nxa4# 1...Rd7 2.Qxe3#/Qxg7# but 1...Ke5! 1.Qf6+?? 1...Re5 2.Qxe5# but 1...gxf6! 1.Qxg7+?? 1...Re5 2.Qxe5# but 1...Rxg7! 1.Ng3! (2.Ne2#) 1...c3 2.Rb4# 1...Nc3 2.Nf5# 1...Rxd7 2.Qxg7# 1...e2 2.Qd2#" --- authors: - Baird, Edith Elina Helen source: Daily Telegraph date: 1901 algebraic: white: [Ka5, Rh4, Rb1, Bg7, Ba6, Sg3, Sb7, Pf6, Pf2, Pc4, Pc2] black: [Kd4, Sf4, Sd5, Pe6, Pc3] stipulation: "#2" solution: | "1...e5 2.Rd1# 1.f7+?? 1...e5 2.Rd1# but 1...Nf6! 1.Rxf4+?? 1...Ke5 2.Re4# but 1...Nxf4! 1.Re1?? (2.Re4#) but 1...Ne3! 1.Rb5! zz 1...Kxc4 2.Rb4# 1...Ke5 2.f7# 1...e5 2.Rxd5# 1...Ne3/Ne7/Nxf6/Nc7/Nb4/Nb6 2.Rxf4#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1889 algebraic: white: [Kc1, Qe7, Bh6, Bb7, Sd2, Sb4, Pg3, Pf6, Pe5, Pb2] black: [Kd4, Sg5, Pf7, Pd6] stipulation: "#2" solution: | "1...Nh3/Nh7/Nf3/Ne6 2.Qxd6# 1.Nc2+?? 1...Kd3 2.Ba6# but 1...Kc5! 1.Ba6! zz 1...Ke3/dxe5 2.Qa7# 1...Kc5/Nh3/Nh7/Nf3/Ne6 2.Qxd6# 1...Ne4 2.Nb3# 1...d5 2.Nc2#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Field date: 1893 algebraic: white: [Kd7, Qg6, Ra5, Bg1, Sb3, Pg3, Pf2, Pe6, Pc2, Pb4] black: [Ke5, Bg7, Sg2, Sb5, Pd5, Pc7] stipulation: "#2" solution: | "1...Nh4/Ne1/Ne3 2.f4# 1.Qh5+?? 1...Ke4 2.f3# but 1...Kf6! 1.Nd2! (2.Nf3#) 1...Kd4 2.Qxg7# 1...d4 2.Qg5# 1...Nh4/Ne1 2.f4# 1...Nd4 2.Nc4#" keywords: - Flight giving key - Defences on same square --- authors: - Baird, Edith Elina Helen source: Vanity Fair date: 1902 algebraic: white: [Ka8, Qf8, Ra4, Bg2, Bf2, Sh7, Sb2, Ph6, Ph3, Pd5] black: [Ke5, Bh8, Bf5, Sb4, Pd3, Pc7, Pc3, Pa6] stipulation: "#2" solution: | "1...Kf4 2.Nxd3# 1...c6/c5 2.Qb8# 1...Bg4/Bxh3/Bg6/Bxh7/Be6/Bd7/Bc8 2.Nc4# 1...Nc2/Nc6/Na2 2.Bg3# 1.Rxb4?? (2.Bg3#) but 1...Be4! 1.Qf6+?? 1...Kf4 2.Rxb4#/Nxd3# but 1...Bxf6! 1.Qxf5+?? 1...Kd6 2.Qe6# but 1...Kxf5! 1.Qe8+?? 1...Kf4 2.Qe3# 1...Kd6 2.Nc4# but 1...Be6! 1.Qg7+?? 1...Kf4 2.Qg3# 1...Kd6 2.Nc4# but 1...Bxg7! 1.Qe7+?? 1...Kf4 2.Qe3# but 1...Be6! 1.Qxb4?? (2.Bg3#/Qf4#) 1...Bg4/Bxh3/Bg6/Bxh7/Be6/Bd7/Bc8 2.Qf4# but 1...Be4! 1.Qf7! (2.Qxc7#) 1...Kf4 2.Nxd3# 1...Kd6/Bg4/Bxh3/Bg6/Bxh7/Be4/Be6/Bd7/Bc8 2.Nc4# 1...Nxd5 2.Qxd5#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: Oldham Standard date: 1894 algebraic: white: [Ka7, Qa4, Rh6, Bh3, Bg1, Se5, Sd3, Pf2, Pb2] black: [Kd4, Bc4, Sd2, Pf6, Pe4] stipulation: "#2" solution: | "1...Kd5 2.Qd7# 1...Nf1/Nf3/Nb1/Nb3 2.Qxc4# 1...fxe5/f5 2.Rd6# 1.f3+?? 1...Kd5 2.Qc6#/Qd7# but 1...e3! 1.f4+?? 1...Kd5 2.Qc6#/Qd7# but 1...e3! 1.Qc6?? (2.Qc5#) 1...Nb3 2.Qxc4# 1...exd3 2.f4# 1...e3 2.fxe3# 1...Bxd3 2.Qd6# but 1...fxe5! 1.Bg2! zz 1...Kd5 2.Qd7# 1...Nf1/Nf3/Nb1/Nb3 2.Qxc4# 1...exd3 2.f4# 1...e3 2.fxe3# 1...fxe5/f5 2.Rd6#" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1891 algebraic: white: [Kd7, Qa3, Rh3, Re8, Bf1, Bb8, Sg3, Sc5, Pg5, Pf6, Pc6] black: [Kd4, Be7, Pf7, Pf2, Pd6] stipulation: "#2" solution: | "1...d5[a] 2.Rh4#/Nf5#[B] 1...dxc5 2.Qd3#[A] 1.Nce4? zz 1...d5[a] 2.Qc3#/Qd3#[A] 1...Ke5[b] 2.Qxd6#[C] 1...Bxf6[c]/Bf8[d]/Bd8[c] 2.Qd3#[A] but 1...Kd5! 1.Na4? zz 1...d5[a] 2.Rh4#/Qc3#/Qd3#[A] 1...Ke5[b] 2.Qxd6#[C] 1...Bxf6[c]/Bd8[c] 2.Qd3#[A]/Qxd6#[C] 1...Bf8[d] 2.Qd3#[A] but 1...Kd5! 1.Qf3? zz 1...d5[a]/Bxf6[c]/Bf8[d]/Bd8[c] 2.Nb3#[F] 1...Ke5[b] 2.Qe4#[E] 1...dxc5 2.Rh4#/Nf5#[B]/Qd3#[A] but 1...Kxc5! 1.Bxd6?? (2.Qd3#[A]) but 1...Bxd6! 1.Rxe7?? zz 1...d5[a] 2.Nf5#[B]/Rh4#/Be5#/Qe3#/Qb4# 1...dxc5 2.Qd3#[A] but 1...Kd5! 1.Ne6+[D]?? 1...Ke5[b] 2.Qa5#/Qc5# 1...Kd5 2.Qa5# but 1...fxe6! 1.Nb7?? zz 1...d5[a] 2.Rh4#/Qd3#[A] 1...Ke5[b] 2.Qxd6#[C] 1...Bxf6[c]/Bf8[d]/Bd8[c] 2.Qd3#[A] but 1...Kd5! 1.Na6?? zz 1...d5[a] 2.Rh4#/Qd3#[A] 1...Ke5[b] 2.Qxd6#[C] 1...Bxf6[c]/Bf8[d]/Bd8[c] 2.Qd3#[A] but 1...Kd5! 1.Qc3+?? 1...Kd5 2.Bg2# but 1...Kxc3! 1.Qd3+[A]?? 1...Ke5[b] 2.Bxd6#/Qxd6#[C]/Qe4#[E] but 1...Kxc5! 1.Qb4+?? 1...Ke5[b] 2.Qe4#[E] 1...Ke3 2.Nh1#/Nh5#/Nf5#[B]/Ne2# but 1...Kd5! 1.Qa5! zz 1...d5[a] 2.Nf5#[B] 1...Ke5[b] 2.Ne6#[D] 1...Bxf6[c]/Bf8[d]/Bd8[c] 2.Nb3#[F] 1...Kd5 2.Ne6#[D]/Nb3#[F] 1...Ke3 2.Ne2# 1...dxc5 2.Qd2#" keywords: - Flight giving key - Changed mates --- authors: - Baird, Edith Elina Helen source: Evening News and Post date: 1890 algebraic: white: [Ke8, Qg2, Rh6, Rc3, Bf4, Bb1, Sg6, Sc4, Pe3, Pa3] black: [Kd5, Qf3, Ra6, Bh1, Bd8, Se1, Pd6, Pb6, Pa5] stipulation: "#2" solution: | "1...Ke6 2.Ne7# 1.Ne7+?? 1...Kc5 2.Nxd6# but 1...Bxe7! 1.Nd2?? (2.Ba2#) 1...Ke6 2.Ne7# but 1...Qe4+! 1.Nxb6+?? 1...Ke6 2.Nf8#/Ne7# 1...Bxb6 2.Ne7#/Qa2# but 1...Rxb6! 1.Qg5+?? 1...Ke6 2.Nf8#/Ne7#/Qf5# 1...Kc6 2.Nxd6#/Nxa5# but 1...Bxg5! 1.Qd2+?? 1...Kc5/Kc6 2.Nxd6# 1...Ke6 2.Nf8#/Ne7#/Qxd6# but 1...Nd3! 1.Ba2! (2.Nd2#/Nxd6#) 1...Kc5/Ke4/Kc6 2.Nxd6# 1...Ke6 2.Ne7# 1...Qxg2 2.Nd2# 1...Qe4+ 2.Nce5#" keywords: - Flight giving key - King Y-flight --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1901 algebraic: white: [Kh6, Qb6, Rb2, Be2, Sd7, Sa7, Pf4, Pc4] black: [Kc3, Sa1, Pe3, Pd6] stipulation: "#2" solution: | "1.Nc6?? (2.Qb4#/Qd4#) 1...Nb3 2.Qxb3# but 1...Nc2! 1.Nf6?? (2.Ne4#/Nd5#) 1...Nc2 2.Ne4# 1...d5 2.Nxd5# but 1...Nb3! 1.Qb3+?? 1...Kd4 2.Qd3# but 1...Nxb3! 1.Nc5! (2.Ne4#/Na4#) 1...Kd4 2.Nb5# 1...dxc5 2.Qf6# 1...d5/Nb3 2.Na4# 1...Nc2 2.Ne4#" keywords: - Flight giving key - Active sacrifice --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1892 algebraic: white: [Ke7, Qa7, Rg2, Rd1, Bh8, Bc4, Sh5, Sf1, Pg5, Pe2, Pb2] black: [Ke4, Sd3, Sc5, Pe5] stipulation: "#2" solution: | "1...Kd4 2.Rg4# 1...Nd7/Ne6/Nb3/Nb7/Na4/Na6 2.Nfg3# 1...Nf4 2.Nhg3# 1.Qd7?? zz 1...Ne6/Nb3/Nb7/Na4/Na6 2.Bxd3#/Qxd3# 1...Ne1/Nc1/Nxb2 2.Rg4#/Bd5#/Qg4# 1...Nf2 2.Bd5# 1...Nf4 2.Nhg3#/Nf6# 1...Nb4 2.Rg4#/Qg4# but 1...Nxd7! 1.Qb6?? zz 1...Kd4 2.Rg4# 1...Nd7/Ne6/Nb3/Nb7/Na4/Na6 2.Nfg3# 1...Ne1/Nf2/Nc1/Nxb2/Nb4 2.Qg6# 1...Nf4 2.Nhg3# but 1...Kf5! 1.Qxc5?? (2.Nfg3#/Bxd3#) 1...Kf5 2.Bxd3# 1...Ne1/Nf2/Nc1/Nxb2/Nb4 2.Nfg3#/Qxe5# 1...Nf4 2.Nfg3#/Nhg3#/Qxe5# but 1...Nxc5! 1.Kd6?? zz 1...Kd4 2.Rg4# 1...Kf5/Ne1/Nf2/Nc1/Nxb2/Nb4 2.Qh7# 1...Nf4 2.Nhg3# 1...Nd7/Ne6/Nb3/Na4/Na6 2.Nfg3#/Bxd3# but 1...Nb7+! 1.Bg8?? zz 1...Kd4 2.Rg4# 1...Kf5/Ne1/Nf2/Nc1/Nxb2/Nb4 2.Bh7# 1...Nf4 2.Nhg3# 1...Nd7/Nb3/Nb7/Na4/Na6 2.Nfg3# but 1...Ne6! 1.Rg4+?? 1...Nf4 2.Nhg3# but 1...Kf5! 1.Rf2?? zz 1...Kd4 2.Rf4# 1...Nd7 2.Nfg3#/Nd2#/Nhg3#/Qe3#/exd3# 1...Ne6/Nb7/Na4/Na6 2.Nfg3#/Nd2#/Nhg3#/Nf6#/Qe3#/exd3# 1...Nb3 2.Nfg3#/Nhg3#/Nf6#/Qe3#/exd3# 1...Ne1/Nc1/Nxb2 2.Nhg3#/Nf6#/Bd5# 1...Nf4 2.Nhg3# 1...Nb4 2.Nhg3#/Nf6# but 1...Nxf2! 1.Rxd3?? (2.Nfg3#) but 1...Kf5! 1.Nfg3+?? 1...Ke3 2.Rxd3# but 1...Kd4! 1.Ke8! zz 1...Kd4 2.Rg4# 1...Kf5/Ne1/Nf2/Nc1/Nxb2/Nb4 2.Qh7# 1...Nd7/Ne6/Nb3/Nb7/Na4/Na6 2.Nfg3# 1...Nf4 2.Nhg3#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1888 algebraic: white: [Ke7, Qb1, Rh5, Rc4, Bd2, Bc8, Sg7, Sa4, Pf4, Pe6, Pb6] black: [Kd5, Re3, Ba7, Sa3, Pg5, Pf3, Pd3, Pb5, Pa5] stipulation: "#2" solution: | "1...Nc2 2.Qxb5# 1...Re2/Re1/Re5 2.Qxd3# 1...Rxe6+ 2.Bxe6# 1...Bxb6 2.Nxb6# 1.Rxg5+?? 1...Re5 2.Qxd3# but 1...Kxc4! 1.Rd4+?? 1...Kc6 2.Rd6# but 1...Kxd4! 1.Qb2?? (2.Qd4#) 1...Nc2 2.Qxb5# 1...Nxc4/bxc4 2.Bb7# 1...Re4 2.Rc5# 1...Rxe6+ 2.Bxe6# 1...Bxb6 2.Nxb6# but 1...Kxc4! 1.Nf5! (2.Nxe3#) 1...Kxc4 2.Qa2# 1...Nc2 2.Qxb5# 1...Nxc4/bxc4 2.Bb7# 1...Re2/Re1/Re5 2.Qxd3# 1...Re4 2.Rc5# 1...Rxe6+ 2.Bxe6# 1...Bxb6 2.Nxb6#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Brighton Society date: 1895 algebraic: white: [Kb8, Bg5, Sd2, Sc2, Pf2, Pe4, Pd5, Pb4] black: [Ke5, Pf3, Pd7] stipulation: "#2" solution: | "1...Kd6 2.Nc4# 1.Kb7?? zz 1...Kd6 2.Nc4# but 1...d6! 1.Kc8?? zz 1...Kd6 2.Nc4# but 1...d6! 1.Nd4?? zz 1...Kd6 2.Nc4# 1...d6 2.N4xf3#/Nc6# but 1...Kxd4! 1.Ne1! zz 1...Kd4 2.Bf6# 1...Kd6 2.Nc4# 1...d6 2.Nexf3#" keywords: - Flight giving key - Model mates --- authors: - Baird, Edith Elina Helen source: Standard date: 1894 algebraic: white: [Ke7, Rh4, Rc5, Be1, Bb5, Sg5, Sb7, Pg3] black: [Kd4, Sg4, Se4, Pe5, Pd5, Pb6] stipulation: "#2" solution: | "1...Nh2/Nh6/Ngf2/Ngf6/Nef2/Nef6/Nxg3/Nd2/Nd6/Nc3 2.Bf2# 1...Ne3 2.Bc3#/Nf3#/Ne6# 1.Nd6! zz 1...Ke3/bxc5/Nxc5 2.Nf5# 1...Kxc5/Ne3 2.Ne6# 1...Nef2/Nef6/Nxg3/Nxg5/Nd2/Nxd6/Nc3/Nh2/Nh6/Ngf2/Ngf6 2.Bxf2#" keywords: - Flight giving key - Black correction --- authors: - Baird, Edith Elina Helen source: To-Day date: 1901 algebraic: white: [Kh6, Qd2, Rg1, Rb6, Pf3] black: [Ke5, Be6, Pe7, Pd4, Pd3] stipulation: "#2" solution: | "1...Kf5 2.Qg5# 1...Kf6 2.Qf4# 1...Bf7/Bg8/Bd5/Bc4/Bb3/Ba2 2.Rg5#/Qg5# 1.Rg5+?? 1...Kf6 2.Qf4# but 1...Bf5! 1.Re1+?? 1...Kf5 2.Qg5# 1...Kf6 2.Qf4# but 1...Kd5! 1.Rc1! zz 1...Kd5 2.Qa5# 1...Kf5/Bf7/Bg8/Bd5/Bc4/Bb3/Ba2 2.Qg5# 1...Kf6 2.Qf4# 1...Bf5/Bg4/Bh3/Bd7/Bc8 2.Rc5#" keywords: - Model mates --- authors: - Baird, Edith Elina Helen source: Kingstown Society date: 1901 algebraic: white: [Ke7, Qb8, Rh4, Rb3, Bg1, Sd8, Sa1, Pf2, Pd3, Pc6] black: [Kc5, Ba4, Sa2, Ph6, Pf5, Pd5, Pc7, Pb4] stipulation: "#2" solution: | "1...Nc1/Nc3 2.Qxb4# 1...Bxb3 2.Nxb3# 1...Bb5 2.Qa7# 1...Bxc6 2.Ne6# 1.Qb7?? (2.Ne6#) but 1...d4! 1.Rf4?? zz 1...Nc1/Nc3 2.Qxb4# 1...Bxb3 2.Nxb3# 1...Bb5 2.Qa7# 1...Bxc6 2.Ne6# 1...d4 2.Rxf5# but 1...h5! 1.Rhxb4?? (2.d4#/Qa7#) 1...Nxb4 2.Qxb4# 1...Bxb3 2.Nxb3#/Qb5#/d4# but 1...d4! 1.Rbxb4?? (2.d4#/Qa7#) 1...Nxb4 2.Qxb4# 1...f4 2.d4# 1...Bb5 2.Nb3#/Qxb5#/Qa7#/Rxb5# but 1...d4! 1.Rc3+?? 1...Nxc3 2.Qxb4# but 1...bxc3! 1.Rh5! zz 1...Kd4 2.f4# 1...f4 2.f3# 1...d4 2.Rxf5# 1...Bxb3 2.Nxb3# 1...Bb5 2.Qa7# 1...Bxc6 2.Ne6# 1...Nc1/Nc3 2.Qxb4#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1893 algebraic: white: [Ke7, Qb7, Re3, Bh1, Sd4, Sd2, Pd5, Pc3, Pa6, Pa2] black: [Kc5, Qa4, Pe4, Pd7] stipulation: "#2" solution: | "1...Qa3/Qxa2/Qc2/Qd1/Qb5 2.Qb5# 1...Qa5/Qxa6/Qb3 2.N4b3# 1...Qc4 2.Nxe4# 1...d6 2.Ne6# 1.Bxe4?? (2.Qa7#) 1...Qa5 2.N4b3# 1...Qxa6/Qc6 2.Qb4#/N4b3# 1...Qb4 2.Qxb4#/Qc7# 1...Qb3 2.Qc7#/N4xb3# 1...Qb5 2.Qxb5# but 1...Qxd4! 1.Qb6+?? 1...Kxd5 2.Qd6# but 1...Kxb6! 1.Qb4+?? 1...Kxd5 2.Qd6# but 1...Qxb4! 1.Qc7+?? 1...Kxd5 2.Bxe4#/Qd6# but 1...Qc6! 1.Rd3! zz 1...d6 2.Ne6# 1...Qa3/Qxa2/Qc2/Qd1/Qb5 2.Qb5# 1...Qa5/Qxa6/Qb3/Qc6 2.N4b3# 1...Qb4 2.cxb4# 1...Qc4 2.Nxe4# 1...Qxd4 2.cxd4# 1...exd3/e3 2.Qa7#" keywords: - Active sacrifice - Black correction --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1889 algebraic: white: [Kh7, Qg7, Rh6, Ba8, Ba5, Sg3, Sc8, Pd3, Pb2] black: [Kc5, Rf4, Bb8, Pg4, Pe6, Pd4] stipulation: "#2" solution: | "1...Be5/Ba7 2.Qxe5# 1.Nd6?? (2.Qe5#) 1...Kxd6 2.Bb4# 1...Rf5/Rf6/Rf7/Re4 2.Nge4# but 1...Bxd6! 1.Qd7?? (2.b4#/Qc6#) but 1...Rf7+! 1.Qb7?? (2.b4#/Bb4#/Qb6#/Qb4#/Qc6#) 1...Bc7/Ba7 2.Bb4#/b4#/Qb4#/Qc6# but 1...Rf7+! 1.Na7! zz 1...Kd6 2.Bb4# 1...Bc7 2.Qxc7# 1...Bd6/e5 2.b4# 1...Be5/Bxa7 2.Qxe5# 1...Rf3/Rf2/Rf1/Rf5/Rf6/Rf7/Rf8/Re4 2.Ne4#" keywords: - Flight giving and taking key - Black correction --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1898 algebraic: white: [Kb8, Qa1, Bd7, Ba3, Sh4, Sg8, Pg4, Pc2] black: [Kd5, Pc5] stipulation: "#2" solution: | "1...Kd6 2.Qd4# 1...c4 2.Nf6# 1.Nf6+?? 1...Kd6 2.Nf5# but 1...Kc4! 1.Nf5?? zz 1...Kc4 2.Ne3# 1...c4 2.Nf6#/Qd4# but 1...Ke4! 1.Bxc5?? (2.Qd4#) but 1...Kxc5! 1.Qb2?? zz 1...Kd6 2.Qd4# 1...Kc4 2.Be6# 1...c4 2.Nf6# but 1...Ke4! 1.Qc3?? zz 1...Kd6 2.Qd4# 1...c4 2.Nf6# but 1...Ke4! 1.Qe5+?? 1...Kc4 2.Qxc5# but 1...Kxe5! 1.Ng2! zz 1...Kd6 2.Qd4# 1...Ke4 2.Bc6# 1...Kc4 2.Ne3# 1...c4 2.Nf6#" keywords: - King Y-flight --- authors: - Baird, Edith Elina Helen source: Manchester Evening News date: 1893 algebraic: white: [Kb8, Qh1, Rh5, Bd3, Bc3, Sg7, Se4, Pg6, Pe6, Pb7, Pb3, Pa5] black: [Kd5, Ph6, Ph2, Pg5, Pc7] stipulation: "#2" solution: | "1...c6 2.Bc4# 1.Rxg5+?? 1...Kc6 2.Rc5#/Bb5# but 1...hxg5! 1.Qxh2?? zz 1...c6 2.Qe5#/Qd6# 1...c5 2.Qd6# but 1...Kc6! 1.Nf6+?? 1...Kc5 2.Qd5# but 1...Kd6! 1.Nxg5+?? 1...Kc5 2.Nf7# but 1...Kd6! 1.Bb5?? zz 1...c6 2.Bc4# but 1...c5! 1.Nf5! zz 1...Kxe6 2.Nc5# 1...Kc6 2.Ne7# 1...g4 2.Nd4# 1...c6 2.Bc4# 1...c5 2.Nxg5#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: Southern Counties' Chess Journal date: 1895 algebraic: white: [Ka7, Rf7, Rd7, Bb7, Sh8, Se2, Pf6, Pf4, Pc6] black: [Kf5, Re7, Sg8, Pg4, Pe4] stipulation: "#2" solution: | "1...Ke6 2.Nd4# 1.Rd5+?? 1...Re5 2.Bc8#/Rxe5# but 1...Ke6! 1.Rdxe7?? (2.Re5#/Bc8#) 1...g3 2.Bc8# but 1...Nxe7! 1.fxe7+?? 1...Ke6 2.Nd4# but 1...Nf6! 1.Bc8! (2.Rdxe7#) 1...Ke6 2.Nd4# 1...Re6/Re5/Re8 2.Rd5# 1...Rxd7+ 2.Bxd7# 1...Rxf7 2.Rxf7#" --- authors: - Baird, Edith Elina Helen source: Birmingham Daily Post date: 1901 algebraic: white: [Ke2, Rd8, Ra5, Bg5, Bc8, Sh6, Sf8, Pf7, Pf3, Pc4, Pb3] black: [Ke5, Sd7, Sb8, Pg6, Pc6, Pc5, Pa6] stipulation: "#2" solution: | "1...Kd4 2.Bf6# 1...Nf6 2.Nxg6# 1...Nxf8 2.Rxc5#/Ng4# 1...Nb6 2.Ng4#/Nxg6# 1.Rxd7?? (2.Rxc5#) but 1...Nxd7! 1.Ng4+?? 1...Kf5 2.Rxc5# 1...Kd4 2.Bf6# but 1...Kd6! 1.Nf5?? zz 1...Kxf5/Nxf8 2.Rxc5# 1...Nf6 2.Nxg6# 1...Nb6 2.Re8#/Nxg6# but 1...gxf5! 1.Ke3?? zz 1...Nf6 2.Nxg6#/Bf4#/f4# 1...Nxf8 2.Rxc5#/Ng4#/f4# 1...Nb6 2.Ng4#/f4#/Nxg6# but 1...Kd6! 1.Kd2?? zz 1...Kd4 2.Bf6# 1...Nf6 2.Nxg6# 1...Nxf8 2.Rxc5#/Ng4# 1...Nb6 2.Ng4#/Nxg6# but 1...Kd6! 1.Kd3?? zz 1...Nf6 2.f4#/Nxg6# 1...Nxf8 2.Rxc5#/f4#/Ng4# 1...Nb6 2.Ng4#/f4#/Nxg6# but 1...Kd6! 1.Ng8! zz 1...Kf5/Nxf8 2.Rxc5# 1...Kd4 2.Bf6# 1...Kd6 2.Bf4# 1...Nf6/Nb6 2.Nxg6#" keywords: - Flight giving key - King Y-flight --- authors: - Baird, Edith Elina Helen source: Field date: 1889 algebraic: white: [Ke2, Qf8, Ra4, Bc1, Sf6, Sd8, Pf3, Pe3] black: [Ke5, Pe7, Pc5, Pc4] stipulation: "#2" solution: | "1...exf6 2.Qxc5# 1.e4! zz 1...Kd4 2.Bb2# 1...Kd6 2.Bf4# 1...exf6 2.Qxc5# 1...e6 2.Nc6# 1...c3 2.Qxe7#" keywords: - Flight giving and taking key --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1889 algebraic: white: [Ke2, Qb8, Rg5, Bh5, Bb2, Se1, Sa7, Pf3, Pd4, Pc5] black: [Kd5, Bf5, Sg7, Se3] stipulation: "#2" solution: | "1...Ke6 2.Qd6# 1...Nf1/Ng2/Ng4/Nd1/Nc2 2.Qb3# 1...Nxh5 2.Qg8# 1...Ne8 2.Bf7# 1.Rxf5+?? 1...Kc4 2.Qb5# 1...Nexf5 2.Qb3# 1...Ngxf5 2.Qg8#/Bf7# but 1...Ke6! 1.Kxe3?? (2.Qb3#) 1...Ke6 2.Qd6# but 1...Kc4! 1.Nc2?? zz 1...Ke6 2.Qd6# 1...Kc4/Ne6 2.Nxe3# 1...Nxh5 2.Qg8# 1...Ne8 2.Bf7# 1...Nf1/Ng2/Ng4/Nd1/Nxc2 2.Qb3# but 1...Nc4! 1.Qb7+?? 1...Ke6 2.Qf7# but 1...Kc4! 1.Qd8+?? 1...Ke6 2.Qd6# but 1...Kc4! 1.Ng2! zz 1...Ke6 2.Qd6# 1...Kc4/Ne6 2.Nxe3# 1...Nxh5 2.Qg8# 1...Ne8 2.Bf7# 1...Nf1/Nxg2/Ng4/Nd1/Nc2 2.Qb3# 1...Nc4 2.Nf4#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Chronicle date: 1891 algebraic: white: [Ke2, Qe8, Rh5, Rd1, Bf8, Ba2, Sh3, Sg3, Pe5, Pd2] black: [Kd4, Rd6, Bg5, Sf7, Pc6] stipulation: "#2" solution: | "1.Qb8! zz 1...Kxe5 2.Bg7# 1...Kc5 2.d4# 1...Nh6/Nh8/Nxe5/Nd8 2.Qxd6# 1...Bh4/Bh6/Bf4/Be3/Bxd2/Bf6/Be7/Bd8 2.Qb4# 1...c5/Rd5/Rd7/Rd8/Re6/Rf6/Rg6/Rh6 2.Qb2#" keywords: - Flight giving key - Defences on same square --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1895 algebraic: white: [Kb7, Qa1, Rd4, Bh3, Be7, Sh5, Pg6, Pg5, Pb2] black: [Ke5, Rf5, Pe3, Pd3] stipulation: "#2" solution: | "1...Rf6/Rxg5 2.Bxf6# 1.Bf6+?? 1...Ke6 2.Ng7#/Nf4#/Qa2#/Qa6# but 1...Rxf6! 1.Qa2?? (2.Qd5#) but 1...Kxd4! 1.Qa3?? (2.Qd6#) 1...Rf6 2.Bxf6#/Qc5# but 1...Kxd4! 1.Qa6?? (2.Qd6#) 1...Rf6 2.Bxf6#/Qxf6# but 1...Kxd4! 1.Nf6! (2.Re4#) 1...Kxd4 2.b3# 1...Rf4 2.Rd5# 1...Rxf6 2.Bxf6#" keywords: - Active sacrifice --- authors: - Baird, Edith Elina Helen source: The London Times Weekly Edition date: 1893 algebraic: white: [Ke2, Qe6, Rg4, Bg2, Be1, Sc7, Sb1, Pd2, Pb3] black: [Kc5, Bh4, Sb2, Pg5, Pg3, Pe7, Pc4, Pb7] stipulation: "#2" solution: | "1.Ke2-f1 ! zugzwang. 1...Sb2-d1 2.Rg4*c4 # 1...Sb2-d3 2.Rg4*c4 # 1...Sb2-a4 2.Rg4*c4 # 1...c4-c3 2.b3-b4 # 1...c4*b3 2.d2-d4 # 1...Kc5-b4 2.Qe6-b6 # 1...b7-b5 2.Sc7-a6 # 1...b7-b6 2.Qe6*e7 #" keywords: - Rudenko - Block comments: - Mrs. Baird's first composition effort - also in The Albany Evening Journal (no. 313), 8 July 1893 - also in The Philadelphia Times (no. 2180), 29 June 1902 --- authors: - Baird, Edith Elina Helen source: Sussex Chess Journal date: 1891 algebraic: white: [Ka7, Qa4, Re8, Ra3, Bh6, Ba6, Sd7, Sa2, Pg4, Pg2, Pe3, Pc6, Pc5] black: [Ke4, Bg5, Sb4, Pf6, Pe5, Pd4] stipulation: "#2" solution: | "1...Nxc6+ 2.Qxc6# 1...Nd3/Nd5/Nxa2/Nxa6 2.Qxd4# 1...Bxh6/Bf4/Bxe3 2.Nxf6# 1...f5 2.Rxe5# 1.Bd3+?? 1...Kd5 2.Nxb4#/e4# 1...Nxd3 2.Qxd4# but 1...Kxe3! 1.Qxb4?? (2.Qxd4#) 1...Bxe3 2.Nxf6#/Nc3# but 1...Kd5! 1.Rd3! zz 1...Kd5/Nc2 2.Nc3# 1...Nxc6+ 2.Qxc6# 1...Nxd3/Nd5/Nxa2/Nxa6 2.Qxd4# 1...dxe3 2.Qxb4# 1...Bh4 2.Rxd4# 1...Bxh6/Bf4/Bxe3 2.Nxf6# 1...f5 2.Rxe5#" keywords: - Active sacrifice - Black correction --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Chronicle date: 1893 algebraic: white: [Ka4, Qf1, Rh6, Rb5, Bf7, Sd3, Sc2, Pg3, Pf3, Pe6, Pe5, Pc5, Pb3] black: [Kd5, Rg5, Rf5, Bf4, Se8, Sc6, Pg4] stipulation: "#2" solution: | "1...Nd4 2.Ncb4# 1...Nxe5 2.Ndb4# 1...Rxe5 2.Nxf4# 1...gxf3 2.Qxf3# 1...Nf6 2.e7# 1...Nd6 2.cxd6# 1.Nxf4+?? 1...Kxe5 2.Qe1#/Qe2# but 1...Rxf4+! 1.Qh1?? (2.fxg4#) 1...Rxe5 2.Nxf4# 1...Nd4 2.Ncb4# 1...Nxe5 2.Ndb4# 1...gxf3 2.Qxf3# 1...Bxg3/Be3/Bd2/Bc1/Bxe5 2.f4# 1...Nf6 2.e7# 1...Nd6 2.cxd6# but 1...Rh5! 1.Qe2?? (2.Qe4#) 1...Nf6 2.e7# 1...Nd6 2.cxd6# 1...Rxe5 2.Nxf4# 1...gxf3 2.Qxf3# but 1...Be3! 1.Qg2! (2.fxg4#) 1...Rxe5 2.Nxf4# 1...Nd4 2.Ncb4# 1...Nxe5 2.Ndb4# 1...Nf6 2.e7# 1...Nd6 2.cxd6# 1...gxf3 2.Qxf3# 1...Bxg3/Be3/Bd2/Bc1/Bxe5 2.f4#" keywords: - Defences on same square --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Chronicle date: 1893 algebraic: white: [Ke1, Qa7, Rg5, Bh1, Ba1, Sf8, Sb6, Ph6, Pg3, Pc5, Pc3] black: [Ke5, Ba5, Sf5, Sc7, Pf7, Pe7, Pe4] stipulation: "#2" solution: | "1...f6 2.Qxc7# 1...e3/Nd5 2.Nbd7#[A] 1...e6/Ne6 2.Nfd7#[B] 1...Bb4 2.cxb4# 1...Bxc3+ 2.Bxc3# 1...Bxb6 2.c4# 1...Ne8/Nb5/Na6/Na8 2.Qxe7# 1.Qb8? zz 1...f6 2.Qxc7# 1...Bb4 2.cxb4# 1...Bxc3+ 2.Bxc3# 1...Bxb6 2.c4# 1...e3 2.Nbd7#[A] 1...e6 2.Nfd7#[B] but 1...Kf6! 1.h7? zz 1...e6/Ne6 2.Nfd7#[B] 1...f6 2.Qxc7# 1...Bb4 2.cxb4# 1...Bxc3+ 2.Bxc3# 1...Bxb6 2.c4# 1...Nd5/e3 2.Nbd7#[A] 1...Ne8/Nb5/Na6/Na8 2.Qxe7# but 1...Kf6! 1.Bb2? zz 1...f6 2.Qxc7# 1...e6/Ne6 2.Nfd7#[B] 1...e3/Nd5 2.Nbd7#[A] 1...Bb4 2.cxb4# 1...Bxc3+ 2.Bxc3# 1...Bxb6 2.c4# 1...Ne8/Nb5/Na6/Na8 2.Qxe7# but 1...Kf6! 1.Ke2? zz 1...f6 2.Qxc7# 1...e3/Nd5 2.Nbd7#[A] 1...Bb4 2.cxb4# 1...Bxc3 2.Bxc3# 1...Bxb6 2.c4# 1...Ne6/e6 2.Nfd7#[B] 1...Ne8/Nb5/Na6/Na8 2.Qxe7# but 1...Kf6! 1.Kd1? zz 1...f6 2.Qxc7# 1...e3/Nd5 2.Nbd7#[A] 1...e6/Ne6 2.Nfd7#[B] 1...Bb4 2.cxb4# 1...Bxc3 2.Bxc3# 1...Bxb6 2.c4# 1...Ne8/Nb5/Na6/Na8 2.Qxe7# but 1...Kf6! 1.Kf1? zz 1...f6 2.Qxc7# 1...e3/Nd5 2.Nbd7#[A] 1...Bb4 2.cxb4# 1...Bxc3 2.Bxc3# 1...Bxb6 2.c4# 1...Ne6/e6 2.Nfd7#[B] 1...Ne8/Nb5/Na6/Na8 2.Qxe7# but 1...Kf6! 1.Bg2? zz 1...f6 2.Qxc7# 1...e6/Ne6 2.Nfd7#[B] 1...e3/Nd5 2.Nbd7#[A] 1...Bb4 2.cxb4# 1...Bxc3+ 2.Bxc3# 1...Bxb6 2.c4# 1...Ne8/Nb5/Na6/Na8 2.Qxe7# but 1...Kf6! 1.Qb7?? (2.Nbd7#[A]) 1...Bxc3+ 2.Bxc3# 1...Bxb6 2.c4# but 1...Kf6! 1.Rh5! zz 1...Kf6/Nd5/e3 2.Nbd7#[A] 1...f6 2.Qxc7# 1...e6/Ne6 2.Nfd7#[B] 1...Bb4 2.cxb4# 1...Bxc3+ 2.Bxc3# 1...Bxb6 2.c4# 1...Ne8/Nb5/Na6/Na8 2.Qxe7#" keywords: - Black correction - Transferred mates --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1893 algebraic: white: [Kb7, Qc3, Sg8, Se8, Pg3, Pa3] black: [Kd5, Pc4] stipulation: "#2" solution: | "1.Se8-g7 ! zugzwang. 1...Kd5-e4 2.Sg8-f6 # 1...Kd5-c5 2.Qc3-e5 # 1...Kd5-d6 2.Qc3-d4 #" keywords: - Flight giving and taking key - Model mates comments: - also in The San Francisco Chronicle (no. 531), 12 June 1904 --- authors: - Baird, Edith Elina Helen source: The Morning date: 1894 algebraic: white: [Ke1, Qf7, Bg7, Ba6, Sh4, Sb2, Pf2] black: [Ke4, Pg4, Pe6, Pd7, Pd6, Pc4] stipulation: "#2" solution: | "1...g3 2.Qf3# 1...e5 2.Qxc4# 1.Bxc4?? zz 1...d5 2.Bd3# 1...g3 2.Qf3# but 1...e5! 1.f3+?? 1...Ke3 2.Ng2# 1...gxf3 2.Qxf3# but 1...Kd5! 1.Qf4+?? 1...Kd5 2.Qxc4# but 1...Kxf4! 1.Qxe6+?? 1...Kf4 2.Bh6#/Qe3#/Qf5# but 1...dxe6! 1.Na4! zz 1...Kd3 2.Qg6# 1...Kd5 2.Bb7# 1...d5 2.Nc5# 1...g3 2.Qf3# 1...c3 2.Nxc3# 1...e5 2.Qxc4#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: The Times Weekly Edition date: 1894 algebraic: white: [Ka2, Qa4, Rh5, Bh2, Bg8, Sg7, Pf3] black: [Kd5, Bf5, Pf7, Pe7, Pd4, Pc7] stipulation: "#2" solution: | "1.Bxf7+?? 1...e6 2.Rxf5# but 1...Kc5! 1.Ne6! zz 1...Kxe6 2.Qc6# 1...c6 2.Qb3# 1...c5 2.Nc7# 1...fxe6/f6 2.Rxf5# 1...d3 2.Qe4#" keywords: - Flight giving and taking key - Active sacrifice --- authors: - Baird, Edith Elina Helen source: Rossendale Free Press date: 1895 algebraic: white: [Ke1, Qg6, Rh5, Bb5, Sg4, Sb3, Pg3, Pd6, Pc2] black: [Kd5, Rf5, Sg7, Pc3, Pb4] stipulation: "#2" solution: | "1...Ke4 2.Bc6# 1...Re5+ 2.Ne3#/Rxe5# 1.Bc6+?? 1...Kc4 2.Ne3# but 1...Kxc6! 1.Rxf5+?? 1...Ke4 2.Bd3#/Bc6# but 1...Nxf5! 1.Qxf5+?? 1...Kxd6 2.Qe5#/Qd7# but 1...Nxf5! 1.d7?? (2.Qc6#) 1...Ke4 2.Bc6# 1...Re5+ 2.Ne3#/Rxe5# but 1...Ne6! 1.Bd7! zz 1...Ke4 2.Bc6# 1...Kc4/Re5+ 2.Ne3# 1...Nxh5/Ne6/Ne8 2.Qe6# 1...Rg5/Rxh5 2.Qd3#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1902 algebraic: white: [Ke1, Rc6, Bf4, Bb3, Pe6, Pe2] black: [Kd4, Pf5] stipulation: "#2" solution: | "1.e3+?? 1...Kd3 2.Bc2# but 1...Ke4! 1.Rb6! zz 1...Ke4 2.Rb4# 1...Kc3 2.Be5# 1...Kc5 2.Be3#" keywords: - 2 flights giving key - King Y-flight - Model mates comments: - anticipated 79158 --- authors: - Baird, Edith Elina Helen source: Pall Mall Gazette date: 1901 algebraic: white: [Ke1, Qg8, Rc1, Rb3, Ba8, Sf7, Sd3, Pg5, Pf3, Pe3, Pc2, Pa2] black: [Kc4, Re6, Rc6, Pe2] stipulation: "#2" solution: | "1...Kd5 2.c4# 1...Re5/Re4/Re7/Re8/Red6/Rf6/Rg6/Rh6/Rc7/Rc8/Rcd6 2.Nfxe5#/Nd6# 1...Rc5 2.Nd6#/Nb2# 1...Rb6/Ra6 2.Nfe5# 1.Bb7?? zz 1...Kd5 2.c4# 1...Re5/Re4/Re7/Re8/Red6/Rf6/Rg6/Rh6/Rc7/Rc8/Rcd6 2.Nfxe5#/Nd6# 1...Rc5 2.Nd6#/Nb2# 1...Rb6/Ra6 2.Nfe5# but 1...Rxe3! 1.Bxc6?? (2.Nfe5#/Nd6#) but 1...Rxe3! 1.g6?? zz 1...Kd5 2.c4# 1...Rc5 2.Nd6#/Nb2# 1...Rc7/Rc8/Rcd6/Re5/Re4/Re7/Re8/Red6/Rf6/Rxg6 2.Nfe5#/Nd6# 1...Rb6/Ra6 2.Nfe5# but 1...Rxe3! 1.a3?? zz 1...Kd5 2.c4# 1...Re5/Re4/Re7/Re8/Red6/Rf6/Rg6/Rh6/Rc7/Rc8/Rcd6 2.Nfxe5#/Nd6# 1...Rc5 2.Nd6#/Nb2# 1...Rb6/Ra6 2.Nfe5# but 1...Rxe3! 1.a4?? zz 1...Kd5 2.c4# 1...Re5/Re4/Re7/Re8/Red6/Rf6/Rg6/Rh6/Rc7/Rc8/Rcd6 2.Nfxe5#/Nd6# 1...Rc5 2.Nd6#/Nb2# 1...Rb6/Ra6 2.Nfe5# but 1...Rxe3! 1.Kxe2?? zz 1...Kd5 2.c4# 1...Re5/Re4/Re7/Re8/Red6/Rf6/Rg6/Rh6/Rc7/Rc8/Rcd6 2.Nfxe5#/Nd6# 1...Rc5 2.Nd6#/Nb2# 1...Rb6/Ra6 2.Nfe5# but 1...Rxe3+! 1.Nb2+?? 1...Kd5 2.Rb5# but 1...Kc5! 1.Rb4+?? 1...Kd5 2.c4#/Rd4# but 1...Kc3! 1.c3! zz 1...Kxd3/Kd5 2.c4# 1...Re5/Re4/Rxe3/Re7/Re8/Red6/Rf6/Rg6/Rh6/Rc7/Rc8/Rb6/Ra6/Rcd6 2.Nfxe5# 1...Rc5 2.Nb2#" keywords: - Flight giving key - Black correction --- authors: - Baird, Edith Elina Helen source: Sunday Special date: 1901 algebraic: white: [Kb6, Qg3, Bd5, Ba3, Se1, Sa6, Ph5, Pe4] black: [Ke5, Rf4, Ph6, Pf7, Pe3, Pd7] stipulation: "#2" solution: | "1...Kd4/d6 2.Bb2# 1...f6 2.Nf3# 1...f5 2.Qg7# 1...e2 2.Qc3# 1.Nc7?? zz 1...Kd4/d6 2.Bb2# 1...f6 2.Nf3# 1...f5 2.Qg7# 1...e2 2.Qc3# but 1...Kf6! 1.Kb5?? zz 1...Kd4/d6 2.Bb2# 1...e2 2.Qc3# 1...f6 2.Nf3# 1...f5 2.Qg7# but 1...Kf6! 1.Kb7?? zz 1...Kd4/d6 2.Bb2# 1...f6 2.Nf3# 1...f5 2.Qg7# 1...e2 2.Qc3# but 1...Kf6! 1.Kc7?? (2.Bb2#) but 1...Kf6! 1.Ka5?? zz 1...Kd4/d6 2.Bb2# 1...e2 2.Qc3# 1...f6 2.Nf3# 1...f5 2.Qg7# but 1...Kf6! 1.Ka7?? zz 1...Kd4/d6 2.Bb2# 1...f6 2.Nf3# 1...f5 2.Qg7# 1...e2 2.Qc3# but 1...Kf6! 1.Be7?? (2.Nf3#) but 1...Kd4! 1.Qg5+?? 1...Kd4 2.Bb2# 1...Rf5 2.Nf3# 1...f5 2.Qg7# but 1...hxg5! 1.Qxf4+?? 1...Kd4 2.Bb2#/Qf6# but 1...Kxf4! 1.Nb8! zz 1...Kf6 2.Nxd7# 1...Kd4/d6 2.Bb2# 1...f6 2.Nf3# 1...f5 2.Qg7# 1...e2 2.Qc3#" --- authors: - Baird, Edith Elina Helen source: The Daily News date: 1901 algebraic: white: [Kd8, Qd1, Rf8, Rf3, Bf7, Ba1, Sh3, Ph6, Pf2, Pd2, Pb5] black: [Kf6, Be5, Bc4, Pf5, Pd3] stipulation: "#2" solution: | "1...f4 2.Rxf4# 1...Bd4 2.Bxd4# 1...Bc3 2.Bxc3# 1...Bb2 2.Bxb2# 1...Bxa1 2.Qxa1# 1.Qe1?? (2.Qxe5#/Bxe5#) 1...f4 2.Qxe5#/Rxf4# 1...Bd4 2.Qe7#/Bxd4# 1...Bc3 2.Qe7#/Bxc3# 1...Bb2 2.Qe7#/Bxb2# 1...Bxa1 2.Qe7#/Qxa1# but 1...Bxf7! 1.Qg1?? (2.Qg5#/Qg6#/Qg7#/Bd5#/Bxc4#) 1...Bd4 2.Qg7#/Bxd4# 1...Bc3 2.Qg7#/Bxc3# 1...Bb2 2.Qg7#/Bxb2# 1...Bxa1 2.Qg7#/Qxa1# 1...f4 2.Qg5#/Qg6#/Rxf4#/Bd5#/Bxc4# 1...Bd5 2.Qg5#/Qg6#/Qg7#/Bxd5# 1...Be6 2.Qg5#/Qg6#/Qg7# but 1...Bxf7! 1.Rg3?? (2.Bd5#/Bxc4#/Rg6#) 1...f4 2.Bd5#/Bxc4# 1...Bd5 2.Bxd5#/Rg6# 1...Be6 2.Rg6# 1...Bd4 2.Bxd4# 1...Bc3 2.Bxc3# 1...Bb2 2.Bxb2# 1...Bxa1 2.Qxa1# but 1...Bxf7! 1.Qa4! zz 1...f4 2.Rxf4# 1...Bd4 2.Bxd4# 1...Bc3 2.Bxc3# 1...Bb2 2.Bxb2# 1...Bxa1 2.Qxa1# 1...Bd5/Be6/Bb3/Ba2/Bxb5 2.Qh4# 1...Bxf7 2.Qa6#" --- authors: - Baird, Edith Elina Helen source: Hampstead and Highgate Express date: 1894 algebraic: white: [Kd8, Qc5, Bf3, Sh1, Sd7, Pe2, Pd4] black: [Ke3, Rf4, Pf5, Pd3, Pd2] stipulation: "#2" solution: | "1...Rxf3 2.Qe5# 1...dxe2 2.Qc3# 1.Qe7+?? 1...Kxd4 2.Qc5# but 1...Re4! 1.Nb6! (2.Nc4#/Nd5#) 1...d1Q/d1R/d1B/d1N 2.Nc4# 1...Rxf3 2.Qe5# 1...Re4/Rxd4+/Rg4/Rh4 2.Nd5# 1...dxe2 2.Qc3#" --- authors: - Baird, Edith Elina Helen source: Birmingham Weekly Mercury date: 1894 algebraic: white: [Kb6, Qb7, Rh5, Rd1, Bh3, Bb8, Sf2, Sc6, Pd3, Pb4] black: [Kd5, Be2, Sf3, Se5, Pg6, Pg5] stipulation: "#2" solution: | "1.Kb6-a6 ! threat: 2.Qb7-b5 # 1...Sf3-d4 2.Sc6-e7 # 1...Se5-g4 2.Qb7-d7 # 1...Se5-d7 2.Qb7*d7 # 1...Se5*c6 2.Qb7-d7 # 1...g5-g4 2.Qb7-d7 #" --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald date: 1889 algebraic: white: [Ka4, Qh5, Re8, Rc8, Bg2, Bf4, Sg5, Sa5, Pd5, Pd3, Pc5, Pc2] black: [Kd4, Be7, Pf5, Pd6, Pc6] stipulation: "#2" solution: | "1...Kxc5 2.Be3# 1.Rxe7?? zz 1...Kxc5 2.Be3# 1...cxd5/dxc5 2.Qh8# but 1...Kc3! 1.Nxc6+?? 1...Kxc5 2.Be3# but 1...Kc3! 1.Qh8+?? 1...Kxc5 2.Rxc6#/Be3# but 1...Bf6! 1.Kb4?? (2.Nb3#/Nxc6#/Ne6#) 1...Bxg5 2.Nb3#/Nxc6# but 1...dxc5+! 1.Bd2! zz 1...Ke5 2.Qh8# 1...Kxc5 2.Be3# 1...f4 2.Ne6# 1...Bf6/Bxg5/Bf8/Bd8 2.Nb3# 1...dxc5 2.Nxc6# 1...cxd5 2.Nf3#" keywords: - Flight giving and taking key --- authors: - Baird, Edith Elina Helen source: Chess Monthly date: 1888 algebraic: white: [Kb6, Qb1, Rh5, Bc8, Sf5, Se8, Pf4, Pe3, Pb5, Pb2, Pa3] black: [Kd5, Rd3, Sf2, Pg5] stipulation: "#2" solution: | "1...Ng4/Nh1/Nh3/Ne4/Nd1 2.Qxd3# 1...gxf4/g4 2.Nfd6# 1.Nfd6?? (2.Rxg5#) 1...Ng4/Nh3 2.Qh1#/Qxd3# 1...Ne4 2.Qxd3# but 1...Rxe3! 1.Qf1! zz 1...Ke4 2.Qg2# 1...Kc4 2.Be6# 1...Rd2/Rd1/Rd4/Rc3/Rb3/Rxa3/Rxe3 2.Nf6# 1...Ng4/Nh1/Nh3/Ne4/Nd1 2.Qxd3# 1...gxf4/g4 2.Nfd6#" --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1896 algebraic: white: [Kh8, Qf7, Rd2, Ra4, Bh1, Bb8, Sb4, Sb2, Pg7, Pe4, Pd6] black: [Ke5, Rg2, Bd4, Sc7, Ph3, Ph2, Pd7] stipulation: "#2" solution: | "1...Be3/Bf2/Bg1/Bc3/Bxb2/Bc5/Bb6/Ba7/Nd5/Ne6/Ne8/Nb5/Na6/Na8 2.Qf5#[A] 1...Rg1/Rg3/Rg4/Rg5/Rg6/Rxg7/Rf2/Re2/Rxd2 2.Nc4#[B] 1.Nd5? zz 1...Kxe4 2.Re2# 1...Be3/Bf2/Bg1/Bc3/Bxb2/Bc5/Bb6/Ba7 2.Qf6#[C] 1...Nxd5/Ne6 2.Qf5#[A] 1...Ne8/Nb5/Na6/Na8 2.Qf5#[A]/Qe7#/Qxe8# 1...Rg1/Rg3/Rg4/Rg5/Rxg7/Re2/Rxd2 2.Qf6#[C]/Nc4#[B] 1...Rg6/Rf2 2.Nc4#[B] but 1...Kxd6! 1.Na2? zz 1...Kxe4 2.Re2# 1...Rg1/Rg3/Rg4/Rg5/Rg6/Rxg7/Rf2/Re2/Rxd2 2.Nc4#[B] 1...Be3/Bf2/Bg1/Bc3/Bxb2/Bc5/Bb6/Ba7/Nd5/Ne6/Ne8/Nb5/Na6/Na8 2.Qf5#[A] but 1...Kxd6! 1.Bxc7?? (2.Qf5#[A]) 1...Rg5/Rf2 2.N4d3#/Nc4#[B]/N2d3# but 1...Kxe4! 1.Ra5+?? 1...Kxd6 2.Nc4#[B]/Rd5#/Rxd4#/Qf6#[C]/e5# 1...Nd5/Nb5/Bc5 2.Qf5#[A] but 1...Kxe4! 1.Ra6?? (2.Qf5#[A]) 1...Rg5/Rf2 2.N4d3#/Nc4#[B]/N2d3# but 1...Kxe4! 1.Nc2?? zz 1...Kxe4 2.Re2# 1...Nd5/Ne6/Ne8/Nb5/Na6/Na8/Be3/Bf2/Bg1/Bc3/Bxb2/Bc5/Bb6/Ba7 2.Qf5#[A] 1...Rg1/Rg3/Rg4/Rg5/Rg6/Rxg7/Rf2/Re2/Rxd2 2.Nc4#[B] but 1...Kxd6! 1.Nc6+?? 1...Kxe4 2.Re2# 1...Kxd6 2.Qd5# but 1...dxc6! 1.N4d3+?? 1...Kxe4 2.Re2# but 1...Kxd6! 1.N2d3+?? 1...Kxe4 2.Qf4# but 1...Kxd6! 1.Na6! zz 1...Kxe4 2.Re2# 1...Kxd6 2.Qf6#[C] 1...Nd5/Ne6/Ne8/Nb5/Nxa6/Na8/Be3/Bf2/Bg1/Bc3/Bxb2/Bc5/Bb6/Ba7 2.Qf5#[A] 1...Rg1/Rg3/Rg4/Rg5/Rg6/Rxg7/Rf2/Re2/Rxd2 2.Nc4#[B]" keywords: - Transferred mates --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald date: 1890 algebraic: white: [Ka3, Qh8, Re8, Ra5, Be1, Sg4, Se7, Ph4, Pg6, Pf3, Pc3, Pc2] black: [Kf4, Rf6, Sd5, Pe6, Pe2] stipulation: "#2" solution: | "1...Nxc3/Nc7/Nb4/Nb6 2.Qxf6# 1.Ra4+?? 1...Nb4 2.Qxf6# but 1...Kxf3! 1.Nxd5+?? 1...Kf5 2.Qh5#/Qxf6# 1...exd5 2.Qxf6# but 1...Kxf3! 1.Nh2! zz 1...Ke3 2.Nxd5# 1...Ke5 2.Bg3# 1...e5/Ne3/Nxe7/Nxc3/Nc7/Nb4/Nb6 2.Qh6# 1...Rf5/Rf7/Rf8/Rxg6 2.Qd4#" keywords: - Flight giving key - Flight giving and taking key --- authors: - Baird, Edith Elina Helen source: Nottinghamshire Guardian date: 1894 algebraic: white: [Kb6, Qf5, Bg7, Bb7, Sh4, Sb4, Pd2] black: [Kd4, Se1, Pf6, Pe5, Pc6] stipulation: "#2" solution: | "1...e4[a] 2.Qc5#[A] 1...c5[b] 2.Qe4#[B] 1...Nf3/Ng2/Nd3/Nc2 2.Qd3# 1.Bxc6?? (2.Qe4#[B]) but 1...Kc4! 1.Ba6?? zz 1...e4[a] 2.Bxf6#[C]/Nxc6#/Qxf6#/Qc5#[A] 1...Nf3/Ng2/Nd3/Nc2 2.Nxf3#/Qd3# but 1...c5[b]! 1.Ba8?? zz 1...e4[a] 2.Qc5#[A] 1...c5[b] 2.Qe4#[B] 1...Nf3/Ng2/Nd3/Nc2 2.Qd3# but 1...Kc4! 1.Bh6?? zz 1...e4[a] 2.Qc5#[A] 1...c5[b] 2.Qe4#[B] 1...Nf3/Ng2/Nd3/Nc2 2.Qd3# but 1...Kc4! 1.Bh8?? zz 1...e4[a] 2.Qc5#[A] 1...c5[b] 2.Qe4#[B] 1...Nf3/Ng2/Nd3/Nc2 2.Qd3# but 1...Kc4! 1.Bxf6[C]?? (2.Qf4#/Qg4#) 1...Ng2/Nd3 2.Qd3# but 1...Kc4! 1.Bf8?? zz 1...e4[a] 2.Qc5#[A] 1...c5[b] 2.Qe4#[B] 1...Nf3/Ng2/Nd3/Nc2 2.Qd3# but 1...Kc4! 1.Kxc6?? zz 1...e4[a] 2.Qd5#/Qc5#[A] 1...Nf3/Ng2/Nd3/Nc2 2.Qd3# but 1...Kc4! 1.Ng2?? zz 1...e4[a] 2.Qc5#[A] 1...c5[b] 2.Qe4#[B] 1...Nf3/Nxg2/Nd3/Nc2 2.Qd3# but 1...Kc4! 1.Ng6?? zz 1...e4[a] 2.Qc5#[A] 1...c5[b] 2.Qe4#[B] 1...Nf3/Ng2/Nd3/Nc2 2.Qd3# but 1...Kc4! 1.Nf3+?? 1...Nxf3 2.Qd3# but 1...Kc4! 1.Qf3?? zz 1...Kc4/e4[a] 2.Qc3# 1...c5[b] 2.Qc3#/Qe4#[B]/Qd5# 1...Ng2/Nd3/Nc2 2.Qd3# 1...f5 2.Qf4# but 1...Nxf3! 1.Qf2+?? 1...Ke4 2.Bxc6#/Qe3# but 1...Kc4! 1.Qc2?? (2.Nf5#[D]) 1...e4[a] 2.Bxf6#[C]/Qc3#/Qc5#[A] 1...Nd3 2.Qxd3# but 1...Nxc2! 1.Qd7+?? 1...Ke4 2.Qg4# but 1...Kc4! 1.Qf1! zz 1...e4[a] 2.Bxf6#[C] 1...c5[b] 2.Nf5#[D] 1...Ke4 2.Qc4# 1...f5 2.Qf4# 1...Nf3/Ng2/Nd3/Nc2 2.Qd3#" keywords: - Flight giving and taking key - Changed mates --- authors: - Baird, Edith Elina Helen source: The Daily News date: 1901 algebraic: white: [Kh7, Qg1, Rh4, Rf8, Bf7, Bb8, Sg5, Sa5, Pf2, Pe2, Pb2, Pa3] black: [Kd4, Sd6, Pf5, Pf4, Pd5] stipulation: "#2" solution: | "1...Ne8[a]/Nxf7[a]/Nc8[b]/Nb5[c]/Nb7[a] 2.f3#[A] 1...Ne4 2.Ne6# 1...Nc4 2.Nb3# 1.Re8? (2.f3#[A]/Ba7#[B]) 1...Nxe8[a]/Nc8[b]/Nb5[c]/Nb7[a] 2.f3#[A] 1...Ne4 2.Ne6# 1...Nc4 2.Nb3# but 1...Kc5[d]! 1.Rc8?? zz 1...Ne8[a]/Nxf7[a]/Nb5[c]/Nb7[a] 2.Rxf4#/Qd1#/Nb3#/f3#[A] 1...Nxc8[b] 2.f3#[A] 1...Ne4 2.Nf3#/Ne6#/Nb3# 1...Nc4 2.Rxf4#/Nb3# but 1...Ke5! 1.Bg6?? zz 1...Ne8[a]/Nf7[a]/Nc8[b]/Nb5[c]/Nb7[a] 2.f3#[A] 1...Ke5 2.Nc6# 1...Ne4 2.Ne6# 1...Nc4 2.Nb3# but 1...Kc5[d]! 1.Bh5?? zz 1...Ne8[a]/Nf7[a]/Nc8[b]/Nb5[c]/Nb7[a] 2.f3#[A] 1...Ke5 2.Nc6# 1...Ne4 2.Ne6# 1...Nc4 2.Nb3# but 1...Kc5[d]! 1.Bg8?? zz 1...Ne8[a]/Nf7[a]/Nc8[b]/Nb5[c]/Nb7[a] 2.f3#[A] 1...Ke5 2.Nc6# 1...Ne4 2.Ne6# 1...Nc4 2.Nb3# but 1...Kc5[d]! 1.Kg6?? zz 1...Ne8[a]/Nxf7[a]/Nc8[b]/Nb5[c]/Nb7[a] 2.f3#[A] 1...Ke5 2.Nc6# 1...Ne4 2.Ne6# 1...Nc4 2.Nb3# but 1...Kc5[d]! 1.Nf3+?? 1...Ke4 2.Qb1# but 1...Kc5[d]! 1.Qe1?? (2.Qc3#) 1...Kc5[d]/Nb5[c] 2.Qb4# 1...Ne4 2.Ne6#/Qb4# 1...Nc4 2.Nb3# but 1...Ke5! 1.Qc1?? (2.Nc6#/Qc3#/Qe3#) 1...Nb5[c] 2.Rxf4#/Nb3#/Nc6#/Qe3# 1...Ne4 2.Nf3#/Ne6#/Nb3#/Nc6# 1...Nc4 2.Nb3# but 1...Ke5! 1.Be8[C]! zz 1...Nxe8[a]/Nf7[a]/Nc8[b]/Nb5[c]/Nb7[a] 2.f3#[A] 1...Kc5[d] 2.Ba7#[B] 1...Ke5 2.Nc6# 1...Ne4 2.Ne6# 1...Nc4 2.Nb3#" keywords: - Black correction - Rudenko --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1888 algebraic: white: [Kh6, Qd8, Re1, Bb4, Ba4, Sh4, Sd7, Pg6, Pg4, Pc5, Pc3] black: [Kd5, Be4, Sd2, Pe7, Pc7, Pc6] stipulation: "#2" solution: | "1...Kc4 2.Ne5# 1...Nf1/Nf3/Nb1/Nb3 2.Bb3# 1...e5 2.Qg8# 1...Bf3/Bg2/Bh1/Bf5/Bxg6/Bd3/Bc2/Bb1 2.Nb6# 1.Nf8+?? 1...Kc4 2.Qd4# but 1...Ke5! 1.Ng2! zz 1...Ke6/Nc4 2.Nf4# 1...Kc4 2.Ne5# 1...Nf1/Nf3/Nb1/Nb3 2.Bb3# 1...e6 2.Ne3# 1...e5 2.Qg8# 1...Bf3/Bxg2/Bf5/Bxg6/Bd3/Bc2/Bb1 2.Nb6#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Vegetarian Review date: 1896 algebraic: white: [Kh5, Bc8, Sb6, Sb5, Pg3, Pe2, Pb3] black: [Ke4, Pe6, Pe3] stipulation: "#2" solution: | "1.Kg5?? zz 1...e5 2.Bf5#/Bb7# but 1...Ke5! 1.Kg4?? zz 1...e5 2.Bf5#/Bb7# but 1...Ke5! 1.Kg6?? zz 1...e5 2.Bf5#/Bb7# but 1...Ke5! 1.Nd7! zz 1...Kf5 2.Nd6# 1...Kd5 2.Bb7# 1...e5 2.Nf6#" keywords: - Flight giving and taking key - Model mates --- authors: - Baird, Edith Elina Helen source: Hackney Mercury date: 1893 algebraic: white: [Kh5, Qh3, Rd4, Bg8, Bf8, Sf5, Pd3, Pb6, Pa4] black: [Kc6, Pe7, Pc7, Pb7, Pa5] stipulation: "#2" solution: | "1.Qe3! zz 1...Kc5 2.Rc4# 1...Kxb6 2.Rd6# 1...cxb6 2.Qc1# 1...e6 2.Qxe6# 1...e5 2.Qh6#" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1888 algebraic: white: [Kb5, Qb2, Rb6, Bh1, Bf8, Sh4, Sd3, Pg6] black: [Kd5, Rg2, Ba7, Sf6, Sd7, Ph3, Pe5, Pd6] stipulation: "#2" solution: | "1...Ke6 2.Rxd6# 1...e4 2.Nf4#/Rxd6# 1.Nb4+?? 1...Ke6 2.Rxd6# but 1...Ke4! 1.Bxg2+?? 1...Ke6/Ne4 2.Rxd6# 1...e4 2.Nf4#/Rxd6# but 1...hxg2! 1.Qb4?? (2.Qc4#/Rxd6#) 1...Ke6 2.Rxd6#/Qxd6# 1...Bxb6/Bb8/Ne4/Ne8 2.Qc4# but 1...Nxb6! 1.Qd2! (2.Nc5#) 1...Kd4/Ke4 2.Nf2# 1...Ke6/e4 2.Rxd6# 1...Ne4 2.Nf4#" keywords: - Flight giving key - Defences on same square --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald date: 1893 algebraic: white: [Kb5, Qa4, Rh5, Rd1, Bh3, Ba7, Sg3, Sc4, Pf4, Pd3, Pa3] black: [Kd5, Bh8, Sg5, Se5, Ph7, Pg6, Pf3, Pa5] stipulation: "#2" solution: | "1...Ne4 2.dxe4# 1...Nxc4 2.dxc4# 1.Kxa5?? (2.Qb5#) 1...Nxh3/Ne6/Ng4/Nd7 2.Qd7# 1...Ne4 2.dxe4# 1...Nxc4+ 2.dxc4# but 1...Nc6+! 1.Qb4?? (2.Qc5#/Qd6#/Ne3#/Nb6#) 1...Nef7/Ngf7 2.Qc5#/Ne3#/Nb6# 1...Ng4/Nxh3 2.Qd6# 1...Nd7 2.Qd6#/Ne3# 1...Nxc4 2.dxc4#/Qc5# 1...Ne4 2.dxe4#/Ne3#/Nb6# 1...Ne6 2.Qd6#/Ne3#/Nb6# but 1...axb4! 1.Ka6! (2.Qb5#) 1...Ng4/Nd7/Nxh3/Ne6 2.Qd7# 1...Nxc4 2.dxc4# 1...Ne4 2.dxe4#" --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1893 algebraic: white: [Kh4, Qe8, Rh5, Re3, Bg5, Sc2, Sa7, Pg3, Pe5, Pb4] black: [Kd5, Se6, Se4, Pc3, Pb5] stipulation: "#2" solution: | "1...Kc4 2.Qxe6# 1...Nf2/Nf6/Nxg3/N4xg5/Nd2/Nd6 2.Qc6# 1.Rxe4?? (2.Qa8#/Qc6#) 1...Nf4/Nf8/Nxg5/Ng7/Nc5/Nc7 2.Qc6#/Rd4# 1...Nd4/Nd8 2.Rxd4# but 1...Kxe4! 1.Qd7+?? 1...Kc4 2.Qxe6# 1...Nd6 2.Qc6# but 1...Kxe5! 1.Nc8! zz 1...Kxe5 2.Bd8# 1...Kc4 2.Qxe6# 1...Nf2/Nf6/Nxg3/N4xg5/Nd2/Nd6/N4c5/Nf4/Nf8/N6xg5/Ng7/Nd4/Nd8/N6c5/Nc7 2.Nb6#" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1891 algebraic: white: [Ka7, Qc2, Rh5, Rb6, Bg3, Se7, Sc6, Pb2] black: [Kc5, Bf5, Bc3, Pg4, Pe6, Pe5, Pc4] stipulation: "#2" solution: | "1.Qxc3?? (2.Qa3#/Qxe5#/Qb4#) 1...Be4 2.Qa3#/Qd4#/Qb4# but 1...Kd6! 1.Nd4! zz 1...Kxd4 2.Bf2# 1...Bg6/Bh7/Be4/Bd3/Bxc2/e4 2.Nxe6# 1...exd4 2.Bd6# 1...Bd2/Be1/Bxb2/Bb4/Ba5 2.Nb3# 1...Bxd4 2.b4#" keywords: - Flight giving and taking key - Defences on same square - Black correction --- authors: - Baird, Edith Elina Helen source: The Daily News date: 1902 algebraic: white: [Kh3, Qc1, Rd7, Bh8, Ba8, Sc5, Pf5, Pb3] black: [Kd4, Bd6, Sb5, Pe5, Pa4] stipulation: "#2" solution: | "1...Nc3 2.Qg1# 1...Na3/Na7 2.Rxd6# 1.Rh7?? (2.Rh4#) 1...Bxc5 2.Qd2# 1...Nc3 2.Qg1# but 1...Be7! 1.Ne4?? (2.Qd2#) but 1...axb3! 1.Nxa4?? (2.Qd2#) but 1...Kd3! 1.Rg7! (2.Rg4#) 1...Bxc5 2.Qd2# 1...e4 2.Rd7# 1...Nc3 2.Qg1#" keywords: - Switchback --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1890 algebraic: white: [Kb5, Qb8, Bd2, Sg5, Sc4, Pe4, Pd3, Pc6] black: [Kd4, Se1, Pe7, Pd6] stipulation: "#2" solution: | "1...e6/e5 2.Qxd6# 1.Nb2?? zz 1...Ke5 2.Qh8# 1...e6 2.Qxd6# 1...e5 2.Qb6#/Qxd6#/Qa7#/Ne6# 1...Nf3/Ng2/Nc2 2.Nxf3# 1...d5 2.Ne6# but 1...Nxd3! 1.Ne5! zz 1...Kxe5 2.Qh8# 1...e6 2.Qxd6# 1...dxe5 2.Qd8# 1...d5 2.Ne6# 1...Nf3/Ng2/Nc2 2.Ngxf3# 1...Nxd3 2.Nef3#" keywords: - Flight giving and taking key - Black correction --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Chronicle date: 1893 algebraic: white: [Kh2, Qf7, Rg1, Re5, Bc8, Bb8, Se4, Se1, Pf2, Pd2, Pc3] black: [Kf4, Sg2, Pg5, Pf6, Pf5, Pd6] stipulation: "#2" solution: | "1...fxe5 2.Qxf5# 1...fxe4 2.Qxf6# 1.Qxf6?? (2.Qxf5#) 1...Kg4 2.Qxg5# 1...Ne3 2.dxe3#/fxe3# but 1...Nh4! 1.Rxf5+?? 1...Kxe4 2.d3#/f3#/Qe7#/Qe6#/Qd5#/Qc4#/Qe8# but 1...Kg4! 1.Nc5! zz 1...Kg4/d5 2.Re4# 1...Kxe5 2.Ned3# 1...fxe5 2.Qxf5# 1...g4/Nxe1 2.Rxf5# 1...Nh4/Ne3 2.Ncd3# 1...dxc5/dxe5 2.Qc4#" keywords: - Defences on same square --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplement date: 1889 algebraic: white: [Kd2, Qb4, Rh5, Rg6, Bh2, Bc8, Sf4, Se1, Pe2] black: [Ke4, Bc4, Sh7, Sg5, Pd6, Pd4] stipulation: "#2" solution: | "1...Nf3+ 2.exf3# 1.Qb7+?? 1...Ke5 2.Nf3#/Nfg2#/Nh3#/Nfd3# 1...Bd5 2.Qxd5# but 1...d5! 1.Qxc4?? (2.Qd5#) 1...Nf3+ 2.exf3# but 1...Nf6! 1.Nd5! zz 1...Kxd5 2.Bb7# 1...d3 2.Qxc4# 1...Nf6/Nf8 2.Nxf6# 1...Nh3/Ne6 2.Re6# 1...Nf3+ 2.exf3# 1...Nf7 2.Rg4# 1...Bd3/Bxe2/Bb3/Ba2/Bb5/Ba6 2.Nc3# 1...Bxd5 2.Rh4#" keywords: - Flight giving and taking key - Black correction --- authors: - Baird, Edith Elina Helen source: Times Weekly Edition date: 1893 algebraic: white: [Ka7, Qd7, Rg4, Rd1, Bg1, Bf3, Sg6, Se7, Pf4, Pf2, Pb2] black: [Kd4, Rf5, Bd5, Sd3, Pe6, Pc5] stipulation: "#2" solution: | "1...e5 2.Qxd5# 1...Rxf4 2.Rxf4# 1...Rf6/Rf7/Rf8/Rh5 2.f5# 1...Re5 2.fxe5# 1...Rg5 2.fxg5# 1.Ka6?? zz 1...c4 2.Qa7# 1...e5 2.Qxd5# 1...Rxf4 2.Rxf4# 1...Rf6/Rf7/Rf8/Rh5 2.f5# 1...Re5 2.fxe5# 1...Rg5 2.fxg5# but 1...Kc4! 1.Kb6?? zz 1...c4 2.Nc6# 1...Rxf4 2.Rxf4# 1...Rf6/Rf7/Rf8/Rh5 2.f5# 1...Re5 2.fxe5# 1...Rg5 2.fxg5# 1...e5 2.Qxd5# but 1...Kc4! 1.Nxf5+?? 1...exf5 2.Qxd5# but 1...Kc4! 1.Bg2?? zz 1...c4 2.f3# 1...Rxf4 2.Rxf4# 1...Rf6/Rf7/Rf8/Rh5 2.f5# 1...Re5 2.fxe5# 1...Rg5 2.fxg5# 1...e5 2.Qxd5# but 1...Kc4! 1.Bh1?? zz 1...c4 2.f3# 1...Rxf4 2.Rxf4# 1...Rf6/Rf7/Rf8/Rh5 2.f5# 1...Re5 2.fxe5# 1...Rg5 2.fxg5# 1...e5 2.Qxd5# but 1...Kc4! 1.Bxd5?? (2.Nc6#/f3#) 1...c4 2.f3# 1...Re5 2.Nc6#/fxe5# 1...Rxd5 2.f5# but 1...exd5! 1.Qd6?? zz 1...c4 2.Nc6#/Qb6# 1...Rxf4 2.Rxf4# 1...Rf6/Rf7/Rf8/Rh5 2.f5# 1...Re5 2.fxe5# 1...Rg5 2.fxg5# 1...e5 2.Qxd5# but 1...Kc4! 1.Qxd5+?? 1...Rxd5 2.f5# but 1...exd5! 1.Qd8?? zz 1...c4 2.Qb6# 1...Rxf4 2.Rxf4# 1...Rf6/Rf7/Rf8/Rh5 2.f5# 1...Re5 2.fxe5# 1...Rg5 2.fxg5# 1...e5 2.Qxd5# but 1...Kc4! 1.Qb5?? (2.Rxd3#/Qxd3#) 1...c4 2.Qb6# 1...Bxf3 2.Qxd3# 1...Bc4 2.Nc6# but 1...Be4! 1.Qa4+?? 1...Bc4 2.Nc6# but 1...c4! 1.Be2! zz 1...Kc4 2.Qa4# 1...Ke4/c4 2.f3# 1...Rxf4 2.Rxf4# 1...Rf6/Rf7/Rf8/Rh5 2.f5# 1...Re5 2.fxe5# 1...Rg5 2.fxg5# 1...e5 2.Qxd5#" keywords: - Flight giving key - Black correction --- authors: - Baird, Edith Elina Helen source: Times Weekly Edition date: 1894 algebraic: white: [Kb4, Qf1, Rf3, Bf6, Ba8, Sh7, Sb7, Pd6, Pd4] black: [Ke6, Se8, Pd7, Pd3] stipulation: "#2" solution: | "1...d2 2.Qc4# 1...Nxd6 2.Nd8# 1.Kc5?? (2.Nd8#/Ng5#) but 1...Kf7! 1.Rf5?? (2.Ng5#) but 1...Kf7! 1.Re3+?? 1...Kd5 2.Qf3#/Qh1#/Qg2# but 1...Kf7! 1.Be5?? (2.Nc5#/Nd8#) 1...Nf6 2.Nd8# but 1...Nxd6! 1.Qg2! (2.Qg8#/Qa2#) 1...Kf7/Nxd6 2.Nd8# 1...Kd5 2.Re3# 1...d2/Nc7 2.Qg8# 1...Nxf6 2.Rxf6# 1...Ng7 2.Qa2#" --- authors: - Baird, Edith Elina Helen source: Black and White date: 1893 algebraic: white: [Kd2, Qa8, Rc4, Sg7, Sd7, Pe5, Pc3, Pb4] black: [Kd5, Rb7, Sg4, Pe6, Pb5] stipulation: "#2" solution: | "1...Kxc4 2.Qa2# 1...bxc4 2.Qxb7# 1.Qa6?? (2.Rd4#/Qc6#/Qxe6#) 1...Kxc4 2.Qa2#/Qxe6# 1...bxc4 2.Qxb7# 1...Rc7/Nxe5 2.Rd4#/Qxe6# 1...Rxd7 2.Qxe6#/Qxb5# but 1...Rb6! 1.Qc8?? (2.Qc6#/Qc5#/Rd4#) 1...bxc4 2.Qxb7# 1...Rb6/Nxe5 2.Qc5#/Rd4# 1...Rxd7 2.Qc5# but 1...Rc7! 1.Rxg4?? (2.Qxb7#) but 1...Kc6! 1.Nf5! zz 1...Kxc4 2.Qa2# 1...bxc4 2.Qxb7# 1...Nh2/Nh6/Nf2/Nf6/Ne3 2.Ne3# 1...Nxe5 2.Nb6# 1...exf5 2.Qg8#" keywords: - Active sacrifice - Black correction --- authors: - Baird, Edith Elina Helen source: Evening News and Post date: 1889 algebraic: white: [Kd1, Qg6, Re8, Ra4, Bb7, Ba5, Sf7, Ph4, Pc3] black: [Kf4, Se6, Sb4, Pe4] stipulation: "#2" solution: | "1...Ke3 2.Qg3# 1.Bc7+?? 1...Kf3/Ke3 2.Qg3# but 1...Nxc7! 1.Qg4+?? 1...Ke3 2.Qg3# but 1...Kxg4! 1.Ne5! zz 1...Ke3 2.Qg3# 1...Kxe5 2.Bc7# 1...Nc2/Nc6/Nd3/Nd5/Na2/Na6 2.Rxe4# 1...Nf8/Ng5/Ng7/Nd4/Nd8/Nc5/Nc7 2.Qg5# 1...e3 2.Nd3#" keywords: - Flight giving and taking key - Active sacrifice --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1892 algebraic: white: [Kg8, Qa6, Rh6, Rb6, Bh1, Bd8, Sg6, Sc4, Pe2, Pd2, Pb7] black: [Kf5, Sg2, Pg4, Pg3, Pd6] stipulation: "#2" solution: | "1...Nf4 2.Nh4# 1.Kf7?? (2.Nxd6#) but 1...Ke4! 1.Qa5+?? 1...Ke6 2.Rxd6#/Nf8# 1...d5 2.Qxd5# but 1...Ke4! 1.Qb5+?? 1...Ke6 2.Rxd6#/Nh4#/Nh8#/Nf4#/Nf8#/Ne7# 1...d5 2.Qb1#/Qxd5# but 1...Ke4! 1.Rxd6?? zz 1...Nh4/Ne1 2.Rh5#/Ne3#/e4#/Qa5#/Qb5#/Rd5# 1...Nf4 2.Ne3#/e4#/Nh4# 1...Ne3 2.Nxe3#/Rh5# but 1...Ke4! 1.Ne3+?? 1...Ke4 2.Qa4#/Qc4#/Qd3#/Rb4# 1...Ke6 2.Rxd6# but 1...Nxe3! 1.Bxg2?? zz 1...d5 2.Rh5#/Ne3# but 1...Ke6! 1.e4+?? 1...Ke6 2.Rxd6#/Nf8#/Nge5# but 1...Kxe4! 1.Qa4! zz 1...Ke4 2.Ne3# 1...Ke6 2.Ne7# 1...Nh4/Ne1/Ne3 2.Qd7# 1...Nf4 2.Nh4# 1...d5 2.Qc2#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Rossendale Free Press date: 1890 algebraic: white: [Kd1, Qf1, Rd8, Bg8, Bb8, Sd3, Sc2, Pg6, Pb4] black: [Ke4, Sd4, Sb3, Pf3, Pc7, Pb5] stipulation: "#2" solution: | "1...Nf5 2.Bd5# 1.Qh3! zz 1...Kxd3 2.Qxf3# 1...c6/c5 2.Nf2# 1...Nc1/Nc5/Nd2/Na1/Na5 2.Rxd4# 1...f2 2.Bd5# 1...Ne2/Ne6/Nxc2 2.Qe6# 1...Nf5/Nc6 2.Qg4#" keywords: - Flight giving and taking key --- authors: - Baird, Edith Elina Helen source: Cricket and Football Field date: 1892 algebraic: white: [Kg8, Qc2, Sg7, Pf4, Pe6, Pe3, Pc6, Pb3] black: [Kd5, Pd7, Pd4] stipulation: "#2" solution: | "1...d6 2.e4# 1.cxd7?? (2.d8Q#/d8R#) 1...Kd6 2.d8Q# but 1...d3! 1.exd7?? (2.d8Q#/d8R#) 1...Kd6 2.d8Q# but 1...d3! 1.Ne8! zz 1...Kxe6 2.Qe4# 1...dxc6 2.Qf5# 1...dxe6 2.e4# 1...d6 2.Nc7# 1...dxe3/d3 2.Qc4#" keywords: - Flight giving and taking key --- authors: - Baird, Edith Elina Helen source: Rossendale Free Press date: 1892 algebraic: white: [Kg6, Rh8, Rd1, Bd3, Sg8, Sc5, Pe7, Pb7, Pb6] black: [Ke8, Bd8, Ba4, Sb8, Pe6, Pb5] stipulation: "#2" solution: | "1...Bxe7 2.Nf6# 1.Kg7?? (2.Bg6#) but 1...Bc2! 1.Kf6?? (2.Bg6#/Nh6#) 1...Bxe7+ 2.Nxe7# 1...Bc2 2.Nh6# but 1...Nd7+! 1.Nd7?? (2.Ndf6#) 1...Kxd7 2.Bxb5# 1...Bxe7 2.Ngf6# but 1...Nxd7! 1.Bxb5+?? 1...Bxb5/Nc6 2.exd8Q#/exd8R#/Rxd8# but 1...Nd7! 1.Rf1?? (2.Rf8#) 1...Bxe7 2.Nf6# but 1...Nd7! 1.exd8B?? (2.Nh6#/Nf6#/Ne7#) 1...Nd7 2.Nf6# but 1...Kxd8! 1.Ne4! (2.Nef6#) 1...Kd7 2.Bxb5# 1...Bxe7 2.Ngf6# 1...Nd7 2.Nd6#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: Cape Times Weekly Edition date: 1894 algebraic: white: [Kg6, Qc8, Rc1, Bh2, Bf1, Sb8, Sb5, Pf5, Pe3] black: [Kd5, Bh3, Sb1, Sa3, Pc4, Pc2, Pb7, Pb6] stipulation: "#2" solution: | "1...Nc3/Nd2 2.Nxc3# 1...Nxb5 2.Qxc4# 1...Bg2 2.Bxg2# 1...Bxf5+ 2.Qxf5# 1.Bd6?? (2.Qe6#/Qxb7#) 1...Nxb5 2.Qe6# 1...Bxf5+ 2.Qxf5# but 1...Ke4! 1.Nc7+?? 1...Kc5 2.Qf8# but 1...Ke4! 1.Bxh3?? (2.Bg2#) 1...Nc3/Nd2 2.Nxc3# but 1...Ke4! 1.Re1! (2.e4#) 1...Ke4 2.Qxb7# 1...Nc3/Nd2 2.Nxc3# 1...Bg2 2.Bxg2# 1...Bxf5+ 2.Qxf5# 1...Nxb5 2.Qxc4#" --- authors: - Baird, Edith Elina Helen source: Oldham Standard date: 1895 algebraic: white: [Kg5, Qa1, Re2, Rb6, Bb3, Ba5, Pe4] black: [Ke5, Rf6, Rb5, Pg6, Pf7, Pd4] stipulation: "#2" solution: | "1...Rxa5 2.Qxa5# 1...Rd5 2.exd5# 1...Rf5+ 2.exf5# 1.Re6+?? 1...fxe6 2.Bc7# but 1...Rxe6! 1.Qc1?? zz 1...d3 2.Qc3#/Qa1#/Qb2#/Bc3# 1...Rb4/Rxb3/Rbxb6/Rc5 2.Qc5# 1...Rd5 2.exd5# 1...Rf5+ 2.exf5# 1...Rf4 2.Qc7#/Qxf4# 1...Rf3/Rf2/Rf1 2.Qc7# 1...Re6/Rd6/Rc6/Rfxb6 2.Qf4# but 1...Rxa5! 1.Qc3! zz 1...Rf5+ 2.exf5# 1...Rf4/Rf3/Rf2/Rf1 2.Qc7# 1...Re6/Rd6/Rc6/Rfxb6 2.Qg3# 1...dxc3 2.Bxc3# 1...Rb4/Rxb3/Rbxb6/Rc5 2.Qc5# 1...Rxa5 2.Qxa5# 1...Rd5 2.exd5#" keywords: - Active sacrifice - Black correction --- authors: - Baird, Edith Elina Helen source: Brighton Society date: 1894 algebraic: white: [Kg5, Qh1, Rd2, Rc1, Sg4, Se4, Pe5, Pb6, Pa4] black: [Kd5, Bd4, Sc4, Pe6, Pb7] stipulation: "#2" solution: | "1...Nxd2 2.Nef6#/Nxd2# 1...Nd6 2.Rc5#/Nef6#/Nxd6# 1...Ne3 2.Rc5#/Nef6# 1...Nxe5 2.Rc5#/Ngf6#/Ne3# 1...Nb2/Nxb6/Na3/Na5 2.Rc5#/Nef2#/Nef6#/Ng3#/Nd6#/Nc5# 1.Kh5?? zz 1...Nxd2 2.Nef6#/Nxd2# 1...Nd6 2.Rc5#/Nef6#/Nxd6# 1...Ne3 2.Rc5#/Nef6# 1...Nxe5 2.Rc5#/Ngf6#/Ne3# 1...Nb2/Nxb6/Na3/Na5 2.Rc5#/Nef2#/Nef6#/Ng3#/Ng5#/Nd6#/Nc5# but 1...Kc6! 1.Kh4?? zz 1...Nxd2 2.Nef6#/Nxd2# 1...Nd6 2.Rc5#/Nef6#/Nxd6# 1...Ne3 2.Rc5#/Nef6# 1...Nxe5 2.Rc5#/Ngf6#/Ne3# 1...Nb2/Nxb6/Na3/Na5 2.Rc5#/Nef2#/Nef6#/Ng3#/Ng5#/Nd6#/Nc5# but 1...Kc6! 1.Kh6?? zz 1...Nxd2 2.Nef6#/Nxd2# 1...Nd6 2.Rc5#/Nef6#/Nxd6# 1...Ne3 2.Rc5#/Nef6# 1...Nxe5 2.Rc5#/Ngf6#/Ne3# 1...Nb2/Nxb6/Na3/Na5 2.Rc5#/Nef2#/Nef6#/Ng3#/Ng5#/Nd6#/Nc5# but 1...Kc6! 1.Kf4?? zz 1...Nxd2 2.Ngf6#/Nef6#/Nxd2# 1...Nd6 2.Ngf6#/Ne3#/Rc5#/Nef6#/Nxd6# 1...Ne3 2.Ngf6#/Nxe3#/Rc5#/Nef6# 1...Nxe5 2.Rc5#/Ngf6#/Ne3# 1...Nb2/Nxb6/Na3/Na5 2.Rc5#/Ngf6#/Ne3#/Nef2#/Nef6#/Ng3#/Ng5#/Nd6#/Nc5# but 1...Kc6! 1.Kf6?? zz 1...Nxd2 2.Nxd2# 1...Nd6 2.Rc5#/Ne3#/Nxd6# 1...Ne3/Nxe5 2.Rc5#/Nxe3# 1...Nb2/Nxb6/Na3/Na5 2.Rc5#/Ne3#/Nef2#/Ng3#/Ng5#/Nd6#/Nc5# but 1...Kc6! 1.a5?? zz 1...Nxd2 2.Nef6#/Nxd2# 1...Nd6 2.Rc5#/Nef6#/Nxd6# 1...Ne3 2.Rc5#/Nef6# 1...Nxe5 2.Rc5#/Ngf6#/Ne3# 1...Nb2/Nxb6/Na3/Nxa5 2.Rc5#/Nef2#/Nef6#/Ng3#/Nd6#/Nc5# but 1...Kc6! 1.Ngf6+?? 1...Kxe5 2.Qh2# but 1...Kc6! 1.Rcc2?? zz 1...Nxd2 2.Nef6#/Nxd2# 1...Nd6 2.Rc5#/Nef6#/Nxd6# 1...Ne3 2.Rc5#/Nef6# 1...Nxe5 2.Ngf6#/Ne3#/Rc5# 1...Nb2/Nxb6/Na3/Na5 2.Rc5#/Nef2#/Nef6#/Ng3#/Nd6#/Nc5# but 1...Kc6! 1.Rc3?? zz 1...Nxd2 2.Nef6#/Nxd2# 1...Nd6 2.Rc5#/Nef6#/Nxd6# 1...Ne3 2.Rc5#/Nef6# 1...Nxe5 2.Ngf6#/Ne3#/Rc5# 1...Nb2/Nxb6/Na3/Na5 2.Rc5#/Nef2#/Nef6#/Ng3#/Nd6#/Nc5# but 1...Kc6! 1.Rxc4?? (2.Nd6#/Rc5#/Rdxd4#) but 1...Kxc4! 1.Qh2?? zz 1...Kxe4 2.Qh1#/Qg2# 1...Nxd2/Nd6/Ne3/Nb2/Nxb6/Na3/Na5 2.Ngf6#/Nef6# 1...Nxe5 2.Qxe5#/Ngf6# but 1...Kc6! 1.Qh3?? zz 1...Kxe4 2.Qh1#/Qg2# 1...Nxd2/Nd6/Ne3/Nb2/Nxb6/Na3/Na5 2.Nef6# 1...Nxe5 2.Ngf6# but 1...Kc6! 1.Qh4?? zz 1...Kxe4 2.Qh1# 1...Nxd2/Nd6/Ne3/Nb2/Nxb6/Na3/Na5 2.Nef6# 1...Nxe5 2.Ngf6#/Ne3# but 1...Kc6! 1.Qh5?? zz 1...Kxe4 2.Qh1# 1...Nxd2/Nd6/Ne3/Nb2/Nxb6/Na3/Na5 2.Nef6# 1...Nxe5 2.Ngf6# but 1...Kc6! 1.Qh7?? (2.Qxb7#) 1...Nd6/Na5 2.Rc5#/Nef6# 1...Nxe5 2.Rc5#/Ngf6#/Ne3# but 1...Kc6! 1.Qh8?? zz 1...Kxe4 2.Qh1# 1...Nxd2/Nd6/Ne3/Nb2/Nxb6/Na3/Na5 2.Nef6# 1...Nxe5 2.Qxe5#/Ngf6# but 1...Kc6! 1.Qg1?? zz 1...Kxe4 2.Qg2#/Qh1# 1...Nxd2/Ne3 2.Nef6# 1...Nd6/Nb2/Nxb6/Na3/Na5 2.Nef6#/Qxd4#/Rxd4# 1...Nxe5 2.Qxd4#/Rxd4#/Ngf6# but 1...Kc6! 1.Qf1?? zz 1...Kxe4 2.Qh1#/Qg2# 1...Nxd2/Nd6/Ne3/Nb2/Nxb6/Na3/Na5 2.Nef6# 1...Nxe5 2.Ngf6# but 1...Kc6! 1.Qe1?? zz 1...Nxd2/Ne3 2.Nef6# 1...Nd6/Nb2/Nxb6/Na3/Na5 2.Nef6#/Rc5# 1...Nxe5 2.Rc5#/Ngf6# but 1...Kc6! 1.Qd1?? zz 1...Kxe4 2.Qh1#/Rxd4# 1...Nxd2 2.Nef6# 1...Nd6/Ne3/Nb2/Nxb6/Na3/Na5 2.Nef6#/Rxd4# 1...Nxe5 2.Rxd4#/Ngf6# but 1...Kc6! 1.Qg2?? zz 1...Nxd2 2.Nef6#/Nxd2# 1...Nd6 2.Rc5#/Nef6#/Nxd6# 1...Ne3 2.Rc5#/Nef6# 1...Nxe5 2.Rc5#/Ngf6#/Ne3# 1...Nb2/Nxb6/Na3/Na5 2.Rc5#/Nef2#/Nef6#/Ng3#/Nd6#/Nc5# but 1...Kc6! 1.Qf3?? zz 1...Nxd2 2.Nef6#/Nxd2# 1...Nd6 2.Rc5#/Nef6#/Nxd6# 1...Ne3/Nb2/Nxb6/Na3/Na5 2.Rc5#/Nef2#/Nef6#/Ng3#/Nd6#/Nc5# 1...Nxe5 2.Rc5#/Ngf6#/Ne3# but 1...Kc6! 1.Rdd1?? zz 1...Nd2 2.Nef6#/Nxd2# 1...Nd6 2.Rc5#/Nef6#/Nxd6# 1...Ne3 2.Rc5#/Nef6# 1...Nxe5 2.Rc5#/Ngf6#/Ne3# 1...Nb2/Nxb6/Na3/Na5 2.Rc5#/Nef2#/Nef6#/Ng3#/Nd2#/Nd6#/Nc5# but 1...Kc6! 1.Rd3?? zz 1...Nd2 2.Rc5#/Nef6#/Nxd2# 1...Nd6 2.Rc5#/Nef6#/Nxd6# 1...Ne3 2.Rc5#/Nef6# 1...Nxe5 2.Rc5#/Ngf6#/Ne3# 1...Nb2/Nxb6/Na3/Na5 2.Rc5#/Nef2#/Nef6#/Ng3#/Nd2#/Nd6#/Nc5# but 1...Kc6! 1.Rxd4+?? 1...Kc6 2.Rd6# but 1...Kxd4! 1.Qh6! zz 1...Kxe4 2.Qh1# 1...Kc6 2.Qxe6# 1...Nxd2/Nd6/Ne3/Nb2/Nxb6/Na3/Na5 2.Nef6# 1...Nxe5 2.Ngf6#" keywords: - Flight giving key - Black correction - Switchback --- authors: - Baird, Edith Elina Helen source: West Sussex Times And Standard date: 1902 algebraic: white: [Kg3, Qa3, Rh6, Bg8, Bd8, Sb6, Sa5, Pf3] black: [Kd6, Sg6, Sb8, Pf6, Pe4, Pc5, Pa6] stipulation: "#2" solution: | "1...Ke5 2.Qxc5# 1...Nc6 2.Nac4# 1...Nd7 2.Nbc4# 1...Ne5 2.Rxf6# 1.Bd5?? (2.Nac4#) 1...Ne5 2.Rxf6#/Nb7# but 1...Ke5! 1.Nc8+?? 1...Ke5 2.Qxc5# but 1...Kd7! 1.Rh7?? (2.Nbc4#/Bc7#) 1...Ke5 2.Qxc5# 1...Nd7 2.Nbc4# 1...Ne5 2.Nc8#/Bc7# but 1...Ne7! 1.Nb7+?? 1...Ke5 2.Qxc5# but 1...Kc6! 1.Qd3+?? 1...Ke5 2.Qd5# but 1...exd3! 1.Qe3! zz 1...Ke5 2.Qxc5# 1...Nc6 2.Nac4# 1...Nd7 2.Nbc4# 1...c4 2.Qd4# 1...exf3 2.Qe6# 1...Nh4/Nh8/Nf4/Nf8/Ne7/f5 2.Qf4# 1...Ne5 2.Rxf6#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Leisure Hour date: 1901 algebraic: white: [Kb3, Qa6, Re8, Re2, Bh5, Bg7, Sa4, Pg4, Pg2, Pd6] black: [Kd5, Be6, Se3, Pc7, Pa7] stipulation: "#2" solution: | "1...Ke4+ 2.Qc4# 1...Bxg4/Bg8/Bd7/Bc8 2.Rd2# 1...Bf7 2.Bxf7#/Rd2# 1...cxd6 2.Qb7# 1...c6 2.Qd3# 1...c5 2.Nc3# 1.Rxe3?? zz 1...Bxg4/Bg8/Bd7/Bc8 2.Rd3# 1...Bf7 2.Rd3#/Bxf7# 1...cxd6 2.Qb5#/Qc4#/Qb7# 1...c6 2.Qd3# 1...c5 2.Nc3# but 1...Bf5! 1.Qc4+?? 1...Kxd6 2.Qxe6# but 1...Nxc4! 1.dxc7?? (2.Qxe6#) 1...Ke4+ 2.Qc4# 1...Bxg4/Bg8/Bd7/Bc8 2.Rd2# 1...Bf7 2.Bxf7#/Rd2# but 1...Bf5! 1.d7?? (2.Qxe6#) 1...Ke4+ 2.Qc4# 1...Bxg4/Bxd7 2.Rd2# 1...Bf7 2.d8Q#/d8R#/Bxf7#/Rd2# 1...Bg8 2.d8Q#/d8R#/Rd2# 1...c6 2.Qd3# but 1...Bf5! 1.Bf7! zz 1...Ke4+ 2.Qc4# 1...Bxf7 2.Rd2# 1...Nf1/Nf5/Nxg2/Nxg4/Nd1/Nc2/Nc4 2.Bxe6# 1...cxd6 2.Qb7# 1...c6 2.Qd3# 1...c5 2.Nc3#" keywords: - Active sacrifice --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1893 algebraic: white: [Kg2, Qa5, Rg7, Rc3, Bh3, Bc5, Sd2, Sb6, Pc7, Pc4] black: [Ke5, Bf4, Sb8, Pg3, Pd5] stipulation: "#2" solution: | "1...Nc6/Nd7/Na6 2.Nd7# 1...d4 2.Be7# 1.c8Q?? (2.Qe6#/Qf5#) 1...Bg5/Bh6/Be3/Bxd2 2.Qf5# 1...Nd7 2.Nxd7# but 1...Kf6! 1.Rg6?? (2.Re6#/cxb8Q#/cxb8B#) 1...Nc6/Nd7/Na6 2.Nd7#/Re6# 1...Bg5/Bh6/Be3 2.cxb8Q#/cxb8B# but 1...Bxd2! 1.Rf7?? (2.cxb8Q#/cxb8B#) 1...Nc6/Nd7/Na6 2.Nd7# but 1...Bxd2! 1.Nxd5?? (2.cxb8Q#/cxb8B#/Re7#) 1...Nd7/Na6/Bxd2 2.Re7# 1...Bg5 2.Rxg5#/cxb8Q#/cxb8B# but 1...Nc6! 1.Bd4+?? 1...Kd6 2.Qc5#/Qxd5# but 1...Kxd4! 1.Rf3! zz 1...Kf6 2.Bd4# 1...Nc6/Nd7/Na6 2.Nd7# 1...Bg5 2.Rxg5#/cxb8Q#/cxb8B# 1...Bh6/Be3 2.cxb8Q#/cxb8B#/Re7# 1...Bxd2 2.Re7# 1...dxc4 2.Qc3# 1...d4 2.Be7#" --- authors: - Baird, Edith Elina Helen source: Nottinghamshire Guardian date: 1891 algebraic: white: [Kg2, Qa4, Rd3, Rc1, Bh3, Sf1, Sc8, Pg7, Pf3, Pd4, Pc3, Pb4] black: [Kd5, Be5, Sf5, Ph4, Pf7] stipulation: "#2" solution: | "1...Ng3/Nxg7/Nh6/Ne7/Nxd4 2.Ne3#/Qb5#/c4# 1...Ne3+ 2.Nxe3# 1...Nd6 2.Ne3#/Nb6# 1...f6 2.g8Q#/g8B# 1.Nb6+?? 1...Kd6 2.Qd7# but 1...Ke6! 1.Bxf5?? (2.Ne3#/c4#/Qb5#) 1...Kc4 2.Ne3#/Nb6# 1...Bf4 2.Qb5#/c4# 1...Bxd4 2.Qb5# 1...Bd6 2.Nb6#/Ne3#/c4# but 1...h3+! 1.Re1?? zz 1...Ke6 2.Qc6# 1...f6 2.g8Q#/g8B# 1...Bf4/Bg3/Bh2/Bf6/Bxg7/Bxd4/Bc7/Bb8 2.Qb5# 1...Bd6 2.Nb6# 1...Ng3/Nxg7/Nh6/Ne7/Nxd4 2.Ne3#/Qb5# 1...Ne3+ 2.Nxe3# 1...Nd6 2.Ne3#/Nb6# but 1...Kc4! 1.Qd7+?? 1...Nd6 2.Ne3#/Nb6#/c4# 1...Bd6 2.c4#/Nb6# but 1...Kc4! 1.Qe8?? (2.c4#) 1...Ne3+ 2.Nxe3# 1...Nd6 2.Ne3#/Nb6# but 1...Kc4! 1.Re3! zz 1...Ke6 2.Qc6# 1...Kc4/Bd6/Nd6 2.Nb6# 1...f6 2.g8Q#/g8B# 1...Bf4/Bg3/Bh2/Bf6/Bxg7/Bc7/Bb8/Ng3/Nxg7/Nh6/Ne7 2.Qb5# 1...Bxd4/Nxd4 2.c4# 1...Nxe3+ 2.Nxe3#" keywords: - Active sacrifice - Black correction --- authors: - Baird, Edith Elina Helen source: Field date: 1888 algebraic: white: [Kb2, Qc6, Rf8, Rf1, Be7, Bb1, Sc2, Ph4, Ph2, Pc4] black: [Ke5, Bf3, Sf6, Pe6, Pc7, Pc5] stipulation: "#2" solution: | "1...Bg2/Bh1/Bg4/Bh5/Be2/Bd1 2.Bxf6# 1...Be4 2.Bxf6#/Qxc7# 1.Bxf6+?? 1...Kf4 2.Qxf3# but 1...Kf5! 1.Bd6+?? 1...Kf5 2.Ne3# but 1...cxd6! 1.Ne1?? zz 1...Kf4 2.Qe4# 1...Kd4 2.Qxc5# 1...Ng4/Ng8/Nh5/Nh7/Ne4/Ne8/Nd5/Nd7 2.Nxf3# 1...Bg2/Bh1/Bg4/Bh5/Be2/Bd1/Be4/Bd5 2.Bxf6# but 1...Bxc6! 1.Qxc7+?? 1...Kf5 2.Ne3# but 1...Ke4! 1.Qxe6+?? 1...Kf4 2.Rxf6# but 1...Kxe6! 1.Qxf3?? (2.Qf4#) 1...Nh5 2.Re1#/Qe3#/Qe2# but 1...Nd5! 1.Nd4! zz 1...Kf4 2.Qe4# 1...Kxd4 2.Qxc5# 1...Ng4/Ng8/Nh5/Nh7/Ne4/Ne8/Nd5/Nd7 2.Nxf3# 1...cxd4 2.Qxc7# 1...Bg2/Bh1/Bg4/Bh5/Be2/Bd1/Be4/Bd5 2.Bxf6# 1...Bxc6 2.Nxc6#" keywords: - Flight giving and taking key - Active sacrifice - Black correction --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1888 algebraic: white: [Kb2, Qb1, Rh2, Rd7, Bh7, Bh4, Sd2, Sb5, Pf3, Pc4, Pb4] black: [Ke3, Bd5, Sg2, Sc1, Pf4] stipulation: "#2" solution: | "1...Nd3+[a]/Ne2/Nb3/Na2 2.Qxd3#[A] 1...Be4[b]/Be6/Bf7/Bg8/Bxc4[c] 2.Qxe4#[B] 1.Rxd5? (2.Qe4#[B]) 1...Nd3+[a] 2.Qxd3#[A] but 1...Ke2! 1.Kxc1? (2.Qd3#[A]) 1...Be4[b]/Bxc4[c] 2.Qxe4#[B] but 1...Ne1! 1.Qe4+[B]?? 1...Kxd2 2.Qe1# but 1...Bxe4[b]! 1.Nd4! zz 1...Nd3+[a]/Ne2/Nb3/Na2 2.Qxd3#[A] 1...Be4[b]/Bxf3/Be6/Bf7/Bg8/Bc6/Bb7/Ba8 2.Nf1# 1...Bxc4[c] 2.Nxc4# 1...Kxd2 2.Qxc1# 1...Kxd4 2.Qe4#[B] 1...Nxh4 2.Nc2# 1...Ne1 2.Nf5#" keywords: - Flight giving and taking key - Active sacrifice - Black correction - Pseudo Le Grand --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1894 algebraic: white: [Kg1, Qh6, Ra4, Bd1, Bb8, Sh3, Sd6, Ph4, Pd5, Pc4, Pc2] black: [Kd4, Rc5, Bc3, Pe5] stipulation: "#2" solution: | "1...Bd2/Bb2/Ba1 2.Qxd2# 1...e4 2.Nf5# 1.Qf4+?? 1...e4 2.Nf5#/Qxe4# but 1...exf4! 1.Nf4! (2.Ne2#/Ne6#) 1...Ke3/Rc6/Rc7/Rc8/Rb5/Ra5/Rxd5 2.Ne6# 1...Rxc4 2.Ba7# 1...exf4 2.Qxf4# 1...e4 2.Nf5# 1...Bd2/Be1/Bb2/Ba1/Bb4/Ba5 2.Ne2#" keywords: - Flight giving key - Active sacrifice --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1894 algebraic: white: [Kb2, Qf3, Rc8, Sb7, Pe3, Pa4] black: [Kd5, Re4, Sc6, Pe6] stipulation: "#2" solution: | "1...Kc4[a] 2.Qxe4#[A] 1...e5[b] 2.Qf7#[B] 1...Nd4/Nd8/Ne5/Ne7/Nb4/Nb8/Na5/Na7 2.Rc5# 1.Qh5+? 1...Kc4[a] 2.Qb5#[C] 1...e5[b] 2.Qf7#[B] 1...Ne5 2.Rc5# but 1...Re5! 1.Rc7?? zz 1...Kc4[a] 2.Qxe4#[A] 1...e5[b] 2.Qf7#[B] 1...Nd4/Nd8/Ne5/Ne7/Nb4/Nb8/Na5/Na7 2.Rc5# but 1...Ke5! 1.Kc3?? zz 1...e5[b] 2.Qf7#[B] 1...Nd4/Nd8/Ne5/Ne7/Nb4/Nb8/Na5/Na7 2.Rc5# but 1...Ke5! 1.Qg2! zz 1...Kc4[a] 2.Qxe4#[A] 1...e5[b] 2.Qg8#[D] 1...Ke5 2.Qg5# 1...Nd4/Nd8/Ne5/Ne7/Nb4/Nb8/Na5/Na7 2.Rc5#" keywords: - Defences on same square - Changed mates --- authors: - Baird, Edith Elina Helen source: Norwich Mercury date: 1889 algebraic: white: [Kb2, Qa5, Bf1, Sb8, Pf3, Pe2, Pc3] black: [Kd5, Pe6, Pd6, Pc5] stipulation: "#2" solution: | "1...Kc4 2.e4# 1.Qa2+?? 1...c4 2.Qa5# but 1...Ke5! 1.Qa7?? zz 1...Kc4 2.e4# 1...e5 2.Qf7# 1...c4 2.Qa5#/Qd4# but 1...Ke5! 1.Qa8+?? 1...Kc4 2.e3#/e4# but 1...Ke5! 1.Qc7?? zz 1...Kc4 2.e4# 1...e5 2.Qf7# 1...c4 2.Qa5# but 1...Ke5! 1.Qd8! zz 1...Ke5 2.Qg5# 1...Kc4 2.e4# 1...e5 2.Qg8# 1...c4 2.Qa5#" keywords: - Switchback --- authors: - Baird, Edith Elina Helen source: Surrey Gazette date: 1891 algebraic: white: [Kf7, Re6, Rd1, Bg2, Ba1, Sf1, Sa4, Pf4, Pd3, Pb6, Pb5] black: [Kd5, Re4, Sb2, Pf5, Pd6] stipulation: "#2" solution: | "1...Nc4[a] 2.dxe4#[A] 1...Kd4 2.Rxd6# 1...Nxd3 2.Ne3#[B] 1.Rc1? zz 1...Nc4[a] 2.dxc4#[C] 1...Nxd3/Nxa4[b] 2.Ne3#[B] 1...Kd4 2.Rxd6# but 1...Nd1! 1.Bxe4+?? 1...Kd4 2.Bxb2#/Rxd6# but 1...fxe4! 1.Re5+?? 1...Kd4 2.Bxb2# but 1...dxe5! 1.Rxe4?? (2.Ne3#[B]/Rc4#/Rb4#) 1...Nc4[a] 2.dxc4#[C]/Re3#/Re2#/Ree1#/Re5#/Re6#/Re7#/Re8#/Rd4#/Rxc4# 1...Nxa4[b] 2.Re5#/Rc4# 1...Nxd1 2.Re3#/Re2#/Re1#/Re5#/Re6#/Re7#/Re8#/Rd4#/Rc4#/Rb4# 1...Nxd3 2.Ne3#[B]/Rd4#/Rb4#/Rxd3# but 1...fxe4! 1.Rf6! zz 1...Nc4[a] 2.dxe4#[A] 1...Nxd1/Nxa4[b] 2.Rxf5#[D] 1...Kd4 2.Rxd6# 1...Nxd3 2.Ne3#[B]" keywords: - Black correction - Changed mates --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1890 algebraic: white: [Kb2, Qe1, Ra5, Bc7, Sb7, Pf4, Pe2, Pd3] black: [Kd4, Bh2, Bb5, Sd7, Pg3, Pd5] stipulation: "#2" solution: | "1...Ne5/Nf6/Nf8/Nb6/Nb8 2.Bb6# 1...Bg1 2.Qxg1# 1...g2 2.Qf2# 1.Bb6+?? 1...Nc5 2.Bxc5# but 1...Nxb6! 1.Qxg3?? (2.Qf2#) 1...Bg1 2.Qxg1# 1...Bxd3 2.Qxd3# but 1...Bxg3! 1.Qd2?? (2.e3#) 1...Bxd3 2.Ra4#/Qxd3# but 1...Bg1! 1.Nd6! zz 1...Ke3/Bc4/Bc6/Ba4/Ba6/Nc5 2.Nf5# 1...Kc5 2.Qc3# 1...Bg1 2.Qxg1# 1...Bxd3 2.e3# 1...Ne5/Nf6/Nf8/Nb6/Nb8 2.Bb6# 1...g2 2.Qf2#" keywords: - Flight giving key - Black correction --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1892 algebraic: white: [Kf7, Qb2, Rh3, Bf1, Sg5, Sc3, Pf6, Pe5, Pb4] black: [Kd4, Pe4, Pd7, Pd6] stipulation: "#2" solution: | "1...e3 2.Nf3# 1...dxe5 2.Qd2# 1...d5 2.Nd1#/Ncxe4#/Nb1#/Nb5#/Na2#/Na4# 1.Kf8?? zz 1...dxe5 2.Qd2# 1...d5 2.Nd1#/Ncxe4#/Nb1#/Nb5#/Na2#/Na4# 1...e3 2.Nf3# but 1...Kxe5! 1.Ke7?? zz 1...e3 2.Nf3# 1...dxe5 2.Qd2# 1...d5 2.Nd1#/Ncxe4#/Nb1#/Nb5#/Na2#/Na4# but 1...Kxe5! 1.Kg7?? zz 1...dxe5 2.Qd2# 1...d5 2.Nd1#/Ncxe4#/Nb1#/Nb5#/Na2#/Na4# 1...e3 2.Nf3# but 1...Kxe5! 1.Kg6?? zz 1...e3 2.Nf3# 1...dxe5 2.Qd2# 1...d5 2.Nd1#/Ncxe4#/Nb1#/Nb5#/Na2#/Na4# but 1...Kxe5! 1.Kg8?? zz 1...dxe5 2.Qd2# 1...d5 2.Nd1#/Ncxe4#/Nb1#/Nb5#/Na2#/Na4# 1...e3 2.Nf3# but 1...Kxe5! 1.Ke8?? zz 1...e3 2.Nf3# 1...dxe5 2.Qd2# 1...d5 2.Nd1#/Ncxe4#/Nb1#/Nb5#/Na2#/Na4# but 1...Kxe5! 1.Nf3+?? 1...Ke3 2.Qd2#/Nd5# but 1...exf3! 1.Ne6+?? 1...Kxe5 2.Rh5# but 1...dxe6! 1.Qb3?? (2.Qd5#) 1...e3 2.Nf3# but 1...Kxe5! 1.Qc2?? (2.Qxe4#) 1...e3 2.Nf3# but 1...d5! 1.Qe2?? (2.Qxe4#) 1...e3 2.Qxe3# but 1...d5! 1.Qf2+?? 1...e3 2.Qxe3# but 1...Kxe5! 1.Qh2?? zz 1...dxe5 2.Qd2# 1...d5 2.Nb5# but 1...e3! 1.Qa1?? zz 1...dxe5 2.Qa7#/Qd1# 1...d5 2.Nd1#/Ncxe4#/Nb1#/Nb5#/Na2#/Na4# 1...e3 2.Nf3# but 1...Kxe5! 1.Be2?? zz 1...dxe5 2.Qd2# 1...d5 2.Nd1#/Ncxe4#/Nb1#/Nb5#/Na2#/Na4# 1...e3 2.Nf3# but 1...Kxe5! 1.Bb5?? zz 1...dxe5 2.Qd2# 1...d5 2.Nd1#/Ne2#/Ncxe4#/Nb1#/Na2#/Na4# 1...e3 2.Nf3# but 1...Kxe5! 1.Ba6?? zz 1...e3 2.Nf3# 1...dxe5 2.Qd2# 1...d5 2.Nd1#/Ne2#/Ncxe4#/Nb1#/Na2#/Na4# but 1...Kxe5! 1.Ne2+?? 1...Kc4 2.Nf4# but 1...Kd5! 1.Rh2?? zz 1...Ke3 2.Nd5#/Qd2#/Qf2# 1...e3 2.Nf3# 1...dxe5 2.Qd2# 1...d5 2.Nd1# but 1...Kxe5! 1.Rh1?? zz 1...Ke3 2.Nd5# 1...dxe5 2.Qd2# 1...d5 2.Nd1# 1...e3 2.Nf3# but 1...Kxe5! 1.Rh4?? (2.Rxe4#) 1...d5 2.Nd1# but 1...Kxe5! 1.Rh6?? zz 1...Ke3 2.Nd5# 1...e3 2.Nf3# 1...dxe5 2.Qd2# 1...d5 2.Nd1# but 1...Kxe5! 1.Rh7?? zz 1...Ke3 2.Nd5# 1...dxe5 2.Qd2# 1...d5 2.Nd1# 1...e3 2.Nf3# but 1...Kxe5! 1.Rh8?? zz 1...Ke3 2.Nd5# 1...e3 2.Nf3# 1...dxe5 2.Qd2# 1...d5 2.Nd1# but 1...Kxe5! 1.Rg3?? zz 1...dxe5 2.Qd2# 1...d5 2.Nd1#/Ncxe4#/Nb1#/Nb5#/Na2#/Na4# 1...e3 2.Nf3# but 1...Kxe5! 1.Re3?? (2.Rxe4#) 1...Kxe3 2.Nd5# 1...d5 2.Nd1# but 1...Kxe5! 1.exd6?? zz 1...e3 2.Nf3# but 1...Ke5! 1.Rh5! zz 1...Ke3 2.Nd5# 1...Kxe5 2.Ne6# 1...dxe5 2.Qd2# 1...d5 2.Nd1# 1...e3 2.Nf3#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplement date: 1888 algebraic: white: [Kb2, Qf6, Ra4, Bg1, Bd5, Sb4, Sa2, Pf2, Pa6, Pa5] black: [Kd4, Qh2, Re5, Rd8, Sb7, Ph5] stipulation: "#2" solution: | "1...Kc5/Nxa5 2.Qb6# 1...Qh3 2.f3# 1...Qxf2+ 2.Bxf2# 1...Qg3 2.fxg3# 1.Nd3+?? 1...Kxd5 2.Nc3# but 1...Kxd3! 1.Nc1! (2.Nb3#) 1...Kc5/Nxa5 2.Qb6# 1...Qh3 2.f3# 1...Qxf2+ 2.Bxf2# 1...Qg3 2.fxg3# 1...Nc5 2.Ne2# 1...Rxd5 2.Nbd3#" --- authors: - Baird, Edith Elina Helen source: The Chess Review date: 1892 algebraic: white: [Kf6, Qh7, Rd8, Bb1, Sh4, Sd3, Pb3, Pa4] black: [Kd5, Se6, Pd6] stipulation: "#2" solution: | "1.Qf5+?? 1...Kd4 2.Qe5# but 1...Kc6! 1.Nf5! (2.Qh1#/Qb7#) 1...Ke4/Ng7/Nxd8/Nc7 2.Qh1# 1...Kc6 2.Rxd6# 1...Nf4/Ng5 2.Qb7# 1...Nd4 2.Ne7# 1...Nc5 2.Nb4#" keywords: - Flight giving and taking key --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1890 algebraic: white: [Ka5, Qa8, Rd7, Rc6, Be2, Ba1, Sd6, Sc7, Pg3, Pa2] black: [Ke5, Sh8, Sb2, Pg7, Pc3, Pa3] stipulation: "#2" solution: | "1...g6/g5 2.Qxh8# 1...Nd3 2.Bxc3# 1.Qe8+?? 1...Kd4 2.Qe4#/Nf5#/Nf7#/Nc4#/Nc8#/Ndb5#/Nb7# but 1...Kf6! 1.Qf8?? (2.Qf4#/Qxg7#) 1...Kd4 2.Qf4# 1...Nd3 2.Bxc3#/Qxg7# 1...Ng6/Nf7 2.Qxg7# 1...g5 2.Qxh8#/Qg7# but 1...Nc4+! 1.Re7+?? 1...Kd4 2.Qa7#/Re4#/Nf5#/Ndb5# but 1...Kf6! 1.Bd3! zz 1...Kf6/Ng6/Nf7 2.Nf7# 1...Kd4/c2/Nc4+/Nd1/Na4 2.Nc4# 1...Nxd3 2.Bxc3# 1...g6/g5 2.Qxh8#" keywords: - Active sacrifice --- authors: - Baird, Edith Elina Helen source: Leisure Hour date: 1900 algebraic: white: [Kc3, Qh6, Bh5, Bh2, Sg2, Sa6, Pg5, Pg4, Pc5, Pb5] black: [Kd5, Sg6] stipulation: "#2" solution: | "1...Nh4/Nh8/Nf8 2.Qc6# 1.Qg7?? zz 1...Ke4 2.Qb7# 1...Ke6 2.Nc7# 1...Nh4/Nh8/Nf8/Ne5/Ne7 2.Qe5# but 1...Nf4! 1.Qh7! zz 1...Ke4 2.Qb7# 1...Ke6 2.Nc7# 1...Nh4/Ne7 2.Bf7# 1...Nh8/Nf4/Nf8 2.Qf5# 1...Ne5 2.Nf4#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Standard date: 1893 algebraic: white: [Kf2, Rd5, Be2, Sh5, Sc7, Pf5, Pf4, Pb4] black: [Ke4, Bc8, Bb2, Pf6, Pd4, Pc6] stipulation: "#2" solution: | "1...d3 2.Bf3#/Bxd3# 1.Ne8! (2.Nexf6#) 1...Kxd5 2.Nhxf6# 1...cxd5 2.Nd6# 1...d3 2.Bf3#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1890 algebraic: white: [Kf2, Qa4, Bb1, Sh6, Sg5, Pe3] black: [Kd5, Sc2, Pe7, Pe5, Pc4] stipulation: "#2" solution: | "1.Sg5-e4 ! zugzwang. 1...Sc2-a1 2.Qa4-d7 # 1...Sc2-e1 2.Qa4-d7 # 1...Sc2*e3 2.Qa4-d7 # 1...Sc2-d4 2.Qa4-d7 # 1...Sc2-b4 2.Qa4-d7 # 1...Sc2-a3 2.Qa4-d7 # 1...c4-c3 2.Bb1-a2 # 1...Kd5*e4 2.Qa4*c4 # 1...Kd5-e6 2.Qa4-c6 # 1...e7-e6 2.Qa4-a8 #" keywords: - Flight giving and taking key - Active sacrifice comments: - also in The Philadelphia Times (no. 1395), 13 May 1894 --- authors: - Baird, Edith Elina Helen source: Cape Times Weekly Edition date: 1894 algebraic: white: [Kc2, Qc5, Re8, Rd8, Bh8, Ba6, Sg6, Sc4, Ph2, Pe6, Pd5, Pb3] black: [Ke4, Bd7, Ph3, Pf6] stipulation: "#2" solution: | "1...f5[a] 2.Nd2# 1.Nh4? zz 1...f5[a] 2.Qd4#[B] 1...Bxe6[b]/Bxe8[b]/Bc6[b]/Bb5[b]/Ba4[b]/Bc8[b] 2.Qe3#[A] but 1...Kf4! 1.d6?? (2.Nd2#) but 1...Kf3! 1.Qe3+[A]?? 1...Kxd5 2.Bb7#/Ne7# but 1...Kf5! 1.Qf2?? zz 1...Bxe6[b] 2.Nd2#/Rxe6#/Qf4# 1...Bxe8[b]/Bc6[b]/Bb5[b]/Ba4[b]/Bc8[b] 2.Nd2#/Qf4# 1...Kxd5 2.Bb7# but 1...f5[a]! 1.Qg1! zz 1...f5[a] 2.Qh1#[D] 1...Bxe6[b]/Bxe8[b]/Bc6[b]/Bb5[b]/Ba4[b]/Bc8[b] 2.Qg4#[C] 1...Kf3 2.Nd2# 1...Kf5 2.Nd6# 1...Kxd5 2.Bb7#" keywords: - Flight giving key - Changed mates --- authors: - Baird, Edith Elina Helen source: The Times date: 1900 algebraic: white: [Kc2, Qb4, Rh4, Bg1, Sc5, Sa5, Pf2, Pc4, Pa3] black: [Kd4, Bf4, Sd6, Pf5, Pd7, Pd5] stipulation: "#2" solution: | "1.Nd3?? (2.f3#) 1...Ke4 2.Rxf4# 1...Ne4 2.Nb3#/c5# but 1...dxc4! 1.Qb8! zz 1...Ke5 2.Qh8# 1...Kxc5 2.Qa7# 1...Ne4 2.Ncb3# 1...Ne8/Nf7/Nc8/Nb5/Nb7 2.f3# 1...Nxc4 2.Nab3# 1...dxc4 2.Qxd6#" keywords: - Flight giving key - Black correction --- authors: - Baird, Edith Elina Helen source: Surrey Gazette date: 1892 algebraic: white: [Kf1, Qd2, Rf3, Rd3, Bg8, Be7, Sf5, Ph3, Pg3, Pd4, Pc5] black: [Ke4, Sf4, Pf2, Pe6, Pc4] stipulation: "#2" solution: | "1...Kxf5 2.Bh7# 1...Nd5/e5 2.Nd6# 1...exf5 2.Qe3#/Qxf4#/Rxf4#/Rfe3#/Rde3# 1.Bxe6?? (2.Qe3#/Qxf4#/Rxf4#/Rfe3#/Rde3#/Nd6#) 1...cxd3 2.Qe3#/Qxf4#/Rxf4#/Re3# 1...Ng2/Nd5 2.Nd6# 1...Ng6/Nxh3/Nh5/Ne2 2.Rfe3#/Nd6#/Rde3#/Qe2#/Qe3# 1...Nxd3 2.Qe2#/Qe3#/Re3# but 1...Nxe6! 1.Qe3+?? 1...Kxf5 2.Bh7#/Qxe6# but 1...Kd5! 1.Rde3+?? 1...Kxf5 2.Bh7#/Qc2# but 1...Kd5! 1.Qa2! zz 1...Kxf5 2.Bh7# 1...Kd5/Ng2/Ng6/Nxh3/Nh5/Ne2/Nxd3 2.Qa8# 1...exf5 2.Rfe3# 1...e5/Nd5/c3 2.Nd6# 1...cxd3 2.Rxf4#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Shoreditch Citizen date: 1902 algebraic: white: [Kc1, Qf2, Rb1, Ra6, Bb8, Sg5, Sa3, Pg3, Pe4, Pc2, Pb5] black: [Ke5, Bh3, Sd6, Sc7, Pe6] stipulation: "#2" solution: | "1...Nd5[a]/Na8 2.Bxd6#[A]/Nc4#[B] 1...Nce8/Nxa6/Nde8/Nf7/Nc4[b]/Nc8/Nb7 2.Nc4#[B] 1...Ncxb5/Ndxb5 2.Rxb5#/Nc4#[B] 1...Nf5 2.Rxe6# 1.Bxc7? (2.Bxd6#[A]/Nc4#[B]) 1...Bf1 2.Bxd6#[A] but 1...Bf5! 1.c3?? (2.Qf4#/Qd4#) 1...Nd5[a] 2.Bxd6#[A]/Nc4#[B]/Qd4# 1...Ncxb5/Ndxb5 2.Rxb5#/Nc4#[B]/Qf4# 1...Nf5 2.Rxe6# 1...Bf5 2.Qd4# but 1...Nxe4! 1.Rb4?? (2.Qf4#/Qd4#) 1...Nd5[a] 2.Nf7#/Bxd6#[A]/Nc4#[B]/Qd4# 1...Nc4[b] 2.Nxc4#[B] 1...Ncxb5/Ndxb5 2.Rxb5#/Nf7#/Nc4#[B]/Qf4# 1...Nf5 2.Rxe6# 1...Bf5 2.Qd4# but 1...Nxe4! 1.Rxd6?? (2.Nc4#[B]/Qf4#/Qd4#) 1...Nd5[a] 2.Nc4#[B]/Rxd5#/Rxe6# 1...Nxb5 2.Rxb5#/Nc4#[B]/Qf4#/Rd5#/Rxe6# 1...Bf1 2.Qf4#/Qd4#/Rxe6# 1...Bf5 2.Qd4# but 1...Kxd6! 1.c4[C]! (2.Qb2#) 1...Nd5[a] 2.Bxd6#[A] 1...Nxc4[b] 2.Nxc4#[B] 1...Ncxb5/Ndxb5 2.Rxb5# 1...Nxe4 2.Nf7# 1...Nf5 2.Rxe6#" keywords: - Active sacrifice - Rudenko --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald date: 1894 algebraic: white: [Kf1, Qa4, Rf3, Rd8, Bh1, Se4, Sc5, Pg4, Pe6, Pc3, Pb7] black: [Kd5, Re5, Be8, Be3, Sd7, Pg5, Pf2, Pc7] stipulation: "#2" solution: | "1...Rf5 2.Rxf5# 1...Bf4/Bd2/Bc1 2.Rd3# 1...Bd4 2.c4# 1...c6 2.Qa2#/Qb3# 1...Bf7/Bg6/Bh5 2.Rxd7# 1.Qxd7+?? 1...Kc4 2.Qd3# but 1...Bxd7! 1.Qa6! zz 1...Rxe4/Rf5 2.Rf5# 1...Rxe6 2.Qxe6# 1...Bf4/Bd2/Bc1 2.Rd3# 1...Bd4 2.c4# 1...Bxc5 2.Nf6# 1...Bf7/Bg6/Bh5 2.Rxd7# 1...c6 2.Qa2#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Kentish Mercury date: 1889 algebraic: white: [Ka5, Qa1, Rh5, Re8, Bh2, Bd3, Sa7, Sa6, Pg5, Pd6, Pc6, Pc3, Pb3] black: [Kd5, Se6, Pf4, Pd7] stipulation: "#2" solution: | "1...f3 2.c4#[A] 1.Nb5? zz 1...Kxc6/Nf8[a]/Nxg5[a]/Ng7[a]/Nd4[a]/Nd8[a]/Nc7[a] 2.Be4#[B] 1...Nc5[b] 2.Nb4#[C] 1...Ke5/dxc6[c] 2.c4#[A] but 1...f3! 1.Qe1? zz 1...Nf8[a]/Nxg5[a]/Ng7[a]/Nd4[a]/Nd8[a]/Nc5[b]/Nc7[a] 2.Qe5#[D] 1...dxc6[c] 2.Qxe6#[E] 1...f3 2.Be4#[B]/Bc4#/Qe4#/Qe5#[D] but 1...Kxd6! 1.Bxf4?? (2.Qh1#/c4#[A]) 1...Nd4[a] 2.c4#[A]/Be4#[B]/Bc4# 1...Nc5[b] 2.Nb4#[C]/Nc7#/g6#/c4#[A]/Bc4# but 1...Nxf4! 1.Nc8! zz 1...Kxc6/Nf8[a]/Nxg5[a]/Ng7[a]/Nd4[a]/Nd8[a]/Nc7[a] 2.Be4#[B] 1...Nc5[b] 2.Nb4#[C] 1...Ke5/dxc6[c] 2.c4#[A] 1...f3 2.Ne7#" keywords: - Flight giving and taking key - Black correction - Changed mates --- authors: - Baird, Edith Elina Helen source: Pictorial World date: 1890 algebraic: white: [Kb8, Qg1, Rg7, Re8, Bg6, Bb6, Sc3, Sb2, Ph3, Pg5, Pe5, Pe2, Pd6] black: [Kf4, Be6, Sf2, Ph4, Pd7, Pd4] stipulation: "#2" solution: | "1...Ke3 2.Qc1# 1...Kxe5 2.Qh2#[A] 1...Bxh3/Bd5 2.Nd5#[B] 1...Nh1/Nxh3/Ne4/Nd1/Nd3 2.Nd3#[C] 1.Nd3+[C]?? 1...Ke3 2.Qc1# but 1...Nxd3! 1.Qc1+?? 1...Kxe5 2.Nc4# but 1...Kg3! 1.Qxf2+?? 1...Kxe5 2.Nc4#/Qh2#[A]/Qxd4# but 1...Kxg5! 1.Bh7! zz 1...Ke3 2.Qc1# 1...Kxe5/dxc3/d3 2.Qh2#[A] 1...Bf5/Bf7/Bg8/Bc4/Bb3/Ba2 2.Qxf2# 1...Bg4/Bxh3/Bd5 2.Nd5#[B] 1...Ng4/Nh1/Nxh3/Ne4/Nd1/Nd3 2.Nd3#[C]" keywords: - Transferred mates --- authors: - Baird, Edith Elina Helen source: The Daily News date: 1900 algebraic: white: [Ke8, Qh3, Ra8, Bd3, Bc1, Sf5, Pe4, Pa3] black: [Kb3, Bg1, Se2, Pf2, Pc3, Pa2] stipulation: "#2" solution: | "1...c2 2.Bxe2# 1...Nf4/Ng3/Nd4 2.Nd4# 1.Qh6?? (2.Qe6#/Qb6#) 1...a1Q/a1R/a1B/a1N/f1Q/f1R/f1B/f1N 2.Qe6# 1...Nf4 2.Qb6#/Nd4# 1...Nd4 2.Nxd4# 1...Nxc1 2.Qb6# but 1...c2! 1.Qh7?? (2.Qf7#/Qb7#/Qg8#) 1...a1Q/a1R/a1B/a1N/f1Q/f1R/f1B/f1N 2.Qf7#/Qg8# 1...Nf4 2.Qb7#/Nd4# 1...Nd4 2.Nxd4# 1...Nxc1 2.Qb7# but 1...c2! 1.Qh8?? (2.Qg8#) 1...c2 2.Qb2# 1...Nf4/Nd4 2.Nd4# but 1...Nxc1! 1.Qg3! (2.Qg8#/Qb8#) 1...a1Q/a1R/a1B/a1N/f1Q/f1R/f1B/f1N/Bh2 2.Qg8# 1...Nf4/Nxg3/Nd4 2.Nd4# 1...Nxc1 2.Qb8# 1...c2 2.Bxe2#" keywords: - Active sacrifice --- authors: - Baird, Edith Elina Helen source: Liverpool Mercury date: 1901 algebraic: white: [Kh6, Qd8, Rc4, Rb6, Bf1, Ba7, Sh4, Sd3, Pf3, Pe4, Pa2] black: [Ke3, Bd7, Sc5, Pf4, Pa4, Pa3] stipulation: "#2" solution: | "1.Rb2?? (2.Bxc5#) but 1...axb2! 1.Rc2! zz 1...Kd4 2.Nf5# 1...Be6/Bf5/Bg4/Bh3/Be8/Bc6/Bb5/Bc8 2.Re2# 1...Nxd3/Nb3 2.Rb3# 1...Nxe4/Ne6 2.Re6# 1...Nb7 2.Rxb7# 1...Na6 2.Rxa6#" keywords: - Flight giving and taking key --- authors: - Baird, Edith Elina Helen source: Reading Observer date: 1900 algebraic: white: [Kb8, Qf8, Rf1, Bh5, Bc5, Sg3, Sc1, Ph4, Ph2, Pf5, Pc3] black: [Ke5, Sg8, Sf2, Ph6, Pe7, Pd5] stipulation: "#2" solution: | "1...Kf4/Ng4[a]/Nh1[a]/Nh3[a]/Ne4[b]/Nd1[a]/Nd3[a] 2.Nd3#[A] 1...e6 2.Bd6# 1.Kb7? zz 1...Kf4/Ng4[a]/Nh1[a]/Nh3[a]/Ne4[b]/Nd1[a]/Nd3[a] 2.Nd3#[A] 1...Nf6[c] 2.Qb8#[B] 1...e6 2.Bd6# but 1...d4! 1.Ka8?? zz 1...Kf4/Ng4[a]/Nh1[a]/Nh3[a]/Ne4[b]/Nd1[a]/Nd3[a] 2.Nd3#[A] 1...Nf6[c] 2.Qb8#[B] 1...e6 2.Bd6# but 1...d4! 1.Ka7?? zz 1...Kf4/Ng4[a]/Nh1[a]/Nh3[a]/Ne4[b]/Nd1[a]/Nd3[a] 2.Nd3#[A] 1...Nf6[c] 2.Qb8#[B] 1...e6 2.Bd6# but 1...d4! 1.Qg7+?? 1...Kf4 2.Rxf2#/Nd3#[A]/Nce2#/Qd4# but 1...Nf6[c]! 1.Qxe7+?? 1...Kf4 2.Rxf2#/Nd3#[A]/Nce2#/Be3#/Bd6#/Qe3#/Qc7#[C]/Qd6# but 1...Nxe7! 1.Rxf2?? (2.Nd3#[A]) but 1...d4! 1.Re1+?? 1...Ne4[b] 2.Nd3#[A] but 1...Kf4! 1.Bd4+[D]?? 1...Kf4 2.Rxf2#/Nd3#[A]/Nce2# but 1...Kd6! 1.Qd8! zz 1...Kf6/Ng4[a]/Nh1[a]/Nh3[a]/Ne4[b]/Nd1[a]/Nd3[a] 2.Bd4#[D] 1...Nf6[c] 2.Qc7#[C] 1...Kf4 2.Nd3#[A] 1...d4 2.Qxd4# 1...e6 2.Bd6#" keywords: - Flight giving key - Changed mates --- authors: - Baird, Edith Elina Helen source: Times Weekly Edition date: 1894 algebraic: white: [Ke7, Rd4, Bc3, Ba4, Sd8, Sd2, Pf4, Pe4, Pd7, Pb2] black: [Kc5, Rb6, Ba6, Pe6, Pd3, Pb3] stipulation: "#2" solution: | "1...Bb5 2.Nxb3#[A] 1...Bc4/Bb7/Bc8 2.Rxc4#[B] 1...e5 2.Rd5# 1.Nb7+?? 1...Bxb7 2.Rc4#[B] but 1...Rxb7! 1.Ba5! zz 1...Kxd4 2.Bxb6# 1...Bb5/Rc6/Rd6 2.Nxb3#[A] 1...Bc4/Bb7/Bc8/Rb5 2.Rxc4#[B] 1...e5 2.Rd5# 1...Rb4/Rb7/Rb8 2.Nxe6#" keywords: - Flight giving key - Black correction - Grimshaw - Transferred mates --- authors: - Baird, Edith Elina Helen source: Brighton & Hove Society date: 1900 algebraic: white: [Kb8, Qa1, Bf5, Sh5, Sa2, Pe5, Pe2, Pa4] black: [Kd5] stipulation: "#2" solution: | "1.Qc1?? zz 1...Kxe5 2.Qc5# but 1...Kd4! 1.Qd4+?? 1...Kc6 2.Nb4#/Be4#/Bd7#/Qd6# but 1...Kxd4! 1.Qg1! zz 1...Kxe5 2.Qc5# 1...Kc4 2.Be6# 1...Kc6 2.Nb4#" keywords: - Flight giving and taking key - King Y-flight --- authors: - Baird, Edith Elina Helen source: Standard date: 1894 algebraic: white: [Ka8, Qh8, Bd2, Bb3, Sg3, Sa7, Ph6, Pf7, Pe5, Pc5] black: [Kd4, Pd7, Pb4] stipulation: "#2" solution: | "1...Kxc5 2.Be3# 1.Qf8?? (2.Qd6#) but 1...d5! 1.Qb8?? (2.Qd6#) but 1...d5! 1.Qf6?? (2.Qd6#) but 1...d5! 1.f8Q?? (2.Qd6#) but 1...d5! 1.Qd8! zz 1...Kd3 2.Qxd7# 1...Kxe5 2.Qh8# 1...Kxc5 2.Be3# 1...d6 2.Qxd6# 1...d5 2.Qxd5#" keywords: - Flight giving key - King Y-flight - Switchback --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine source-id: 819 date: 1892-05 algebraic: white: [Ke3, Qg7, Rd4, Rc5, Bh7, Be7, Sf2, Ph4, Pf3, Pd3, Pd2, Pb4] black: [Ke5, Bd5, Sf6, Ph6, Ph5, Pe6, Pe4, Pb5] stipulation: "s#4" solution: | "1.Be7-f8 ! zugzwang. 1...e4*d3 2.Rd4-c4 zugzwang. 2...b5*c4 3.Qg7-g5 + 3...h6*g5 4.f3-f4 + 4...g5*f4 # 1...e4*f3 2.Rd4-g4 zugzwang. 2...h5*g4 3.Qg7-g5 + 3...h6*g5 4.Sf2*g4 + 4...Sf6*g4 #" --- authors: - Baird, Edith Elina Helen source: Hackney Mercury date: 1891 algebraic: white: [Ke3, Qh2, Re1, Ra5, Bg1, Bb5, Sb2, Pd7, Pa3] black: [Kd5, Ra2, Bf8, Sb8, Pg5, Pf6, Pd6, Pc3] stipulation: "#2" solution: | "1...Kc5 2.Ke4# 1...Nc6 2.Bc4# 1...Nxd7 2.Bxd7# 1.d8N?? (2.Bc4#/Bd3#/Be2#/Bf1#/Bc6#/Bd7#/Be8#/Ba4#/Ba6#) 1...Kc5 2.Ke4# 1...Nc6 2.Bc4#/Bxc6# 1...Nd7 2.Bc4#/Bc6#/Bxd7# 1...Na6 2.Bc4#/Bc6#/Bxa6# 1...cxb2 2.Bd3#/Be2#/Bf1#/Ba6# 1...Rxa3 2.Bc4#/Bc6#/Ba4# but 1...Rxb2! 1.Kd3?? (2.Ba4#/Qh1#/Qg2#) 1...Nc6 2.Bc4#/Qh1#/Qg2# 1...Nxd7 2.Bxd7#/Qh1#/Qg2# 1...Na6 2.Qh1#/Qg2# but 1...Rxb2! 1.Rd1+?? 1...Kc5 2.Ke2#/Ke4#/Kf3#/Na4# but 1...Ke6! 1.Qh1+?? 1...Kc5 2.Ke2#/Ke4#/Kd3#/Na4# 1...Ke5 2.Qe4# but 1...Ke6! 1.Qg2+?? 1...Kc5 2.Ke2#/Ke4#/Kd3#/Na4# 1...Ke5 2.Qe4# but 1...Ke6! 1.Qc2?? (2.Qf5#) 1...Kc5 2.Ke4# 1...Ke5 2.Qe4# 1...Nc6 2.Bc4# 1...Nxd7 2.Bxd7# but 1...Ke6! 1.Qh7! (2.Qf5#) 1...Kc5 2.Ke4# 1...Ke5 2.Qe4# 1...Ke6 2.Kd4# 1...Nc6 2.Bc4# 1...Nxd7 2.Bxd7#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald date: 1891 algebraic: white: [Kb7, Qa1, Re2, Bg5, Bc2, Se4, Pf6, Pf4, Pc3] black: [Ke6, Pf7, Pd7] stipulation: "#2" solution: | "1...Kf5 2.Nf2# 1...Kd5 2.Bb3#/Qa2# 1.Kc7?? zz 1...Kf5 2.Nf2# 1...Kd5 2.Bb3#/Qa2# 1...d5 2.Nf2#/Ng3#/Nd2#/Nd6#/Nc5# but 1...d6! 1.c4?? (2.Qe5#) 1...Kf5 2.Nf2# 1...d6 2.Nc5# but 1...d5! 1.Qa2+?? 1...Kf5 2.Nf2# but 1...d5! 1.Qa6+?? 1...Kf5 2.Nf2# 1...Kd5 2.Bb3#/Rd2#/Qa2# but 1...d6! 1.Qa8?? zz 1...Kf5 2.Nf2# 1...Kd5 2.Bb3#/Qa2# 1...d5 2.Qc8# but 1...d6! 1.Qd1?? (2.Nf2#/Ng3#/Nd6#/Nc5#) 1...Kf5 2.Nf2# 1...d6 2.Nc5# but 1...d5! 1.Qf1?? zz 1...Kf5 2.Nf2# 1...Kd5 2.Bb3# 1...d5 2.Qh3# but 1...d6! 1.Qg1?? zz 1...Kf5 2.Nf2#/Nd2#/Nd6#/Nc5# 1...Kd5 2.Bb3# 1...d5 2.Qg4# but 1...d6! 1.Qh1! zz 1...Kf5 2.Nf2# 1...Kd5 2.Bb3# 1...d6 2.Nc5# 1...d5 2.Qh3#" --- authors: - Baird, Edith Elina Helen source: Field date: 1889 algebraic: white: [Ke2, Qh4, Re7, Ra2, Bg8, Bc3, Se8, Sa7, Pa6] black: [Kc5, Sg4, Sb4, Pc6] stipulation: "#2" solution: | "1...Nh2[a]/Nh6[b]/Nf2[c]/Nf6[d]/Ne5[f] 2.Qd4#[A]/Qxb4#/Qf2#[B]/Bd4#[C] 1...Ne3[e] 2.Qd4#[A]/Qxb4#/Bd4#[C] 1.Qh6? zz 1...Nh2[a]/Nf2[c]/Nf6[d]/Ne3[e]/Ne5[f] 2.Qe3#[F] 1...Nc2[i]/Nd3[j]/Nd5[g]/Nxa2[j]/Nxa6[j] 2.Qxc6#[E] 1...Kb6[h] 2.Bd4#[C] but 1...Nxh6[b]! 1.Qf6? (2.Bd4#[C]/Qd4#[A]) 1...Ne5[f] 2.Qf2#[B] 1...Nd3[j]/Nd5[g]/Nxa2[j]/Nxa6[j] 2.Qxc6#[E]/Qd4#[A] 1...Kb6[h] 2.Bd4#[C] 1...Nc2[i] 2.Qxc6#[E] but 1...Nxf6[d]! 1.Re5+?? 1...Nxe5[f] 2.Bd4#[C]/Qd4#[A]/Qxb4#/Qf2#[B] 1...Kb6[h] 2.Nc8# but 1...Nd5[g]! 1.Rc7?? zz 1...Nh2[a]/Nh6[b]/Nf2[c]/Nf6[d]/Ne5[f] 2.Qd4#[A]/Qxb4#/Qf2#[B]/Bd4#[C] 1...Ne3[e] 2.Qd4#[A]/Qxb4#/Bd4#[C] 1...Nc2[i]/Nd3[j]/Nd5[g]/Nxa2[j]/Nxa6[j] 2.Rxc6#[D] but 1...Kb6[h]! 1.Rb7?? (2.Qe7#/Ra5#) 1...Nf6[d] 2.Qd4#[A]/Qc4#/Qxb4#/Qf2#[B]/Ra5#/Bd4#[C]/Bxb4# 1...Nxa2[j] 2.Qe7# but 1...Nd5[g]! 1.Qxg4?? (2.Bd4#[C]/Qg1#/Qd4#[A]/Qxb4#) 1...Nd3[j]/Nd5[g] 2.Qd4#[A] 1...Kb6[h] 2.Qxb4# 1...Nxa2[j]/Nxa6[j] 2.Qg1#/Qd4#[A] but 1...Nc2[i]! 1.Qf2+[B]?? 1...Ne3[e] 2.Qxe3#[F] but 1...Nxf2[c]! 1.Qg5+?? 1...Ne5[f] 2.Qg1#/Qe3#[F] 1...Kb6[h] 2.Rb7#/Nc8#/Qa5# but 1...Nd5[g]! 1.Bxb4+?? 1...Kb6[h] 2.Rb7# 1...Kd4 2.Qxg4#/Nxc6#/Rd2# but 1...Kxb4! 1.Re6[G]! zz 1...Nh2[a]/Nh6[b]/Nf2[c]/Nf6[d]/Ne3[e]/Ne5[f] 2.Qd4#[A] 1...Kc4/Nc2[i]/Nd3[j]/Nd5[g]/Nxa2[j]/Nxa6[j] 2.Rxc6#[D] 1...Kb6[h] 2.Bd4#[C] 1...Kd5 2.Re5#" keywords: - 2 flights giving key - Changed mates - Rudenko --- authors: - Baird, Edith Elina Helen source: Kentish Mercury date: 1891 algebraic: white: [Kb7, Qh1, Rg5, Ra6, Ba7, Se7, Pg4, Pf5, Pd2] black: [Ke5, Sb6] stipulation: "#2" solution: | "1...Kd4 2.Qd5# 1...Nc4/Nc8/Nd5/Nd7/Na4/Na8 2.Ng6# 1.Rxb6?? zz 1...Kd4 2.Qd5# but 1...Kf4! 1.Rg7! zz 1...Kf4 2.Bb8# 1...Kf6 2.Qa1# 1...Kd4/Kd6 2.Qd5# 1...Nc4/Nc8/Nd5/Nd7/Na4/Na8 2.Ng6#" keywords: - King star flight --- authors: - Baird, Edith Elina Helen source: Surrey Gazette date: 1893 algebraic: white: [Ke1, Qc1, Rh4, Rf4, Bh2, Be6, Se7, Sb5, Pg2, Pf5, Pe4, Pd2, Pc6] black: [Ke5, Bh7, Sg4, Sg3, Pf6, Pe2, Pc4] stipulation: "#2" solution: | "1...Bg6/Bg8 2.Nxg6# 1...Nh1/Nh5/Nf1/Nxh2/Nh6/Nf2/Ne3 2.Qc3# 1...c3 2.d4# 1.Bxg3?? (2.Qc3#/Rfxg4#) but 1...Bxf5! 1.Qxc4?? zz 1...Bg6/Bg8 2.Nxg6# 1...Bxf5 2.Rxf5# 1...Nxh2/Nh6/Nf2/Nh1/Nh5/Nf1 2.d4#/Qc3#/Qc5#/Qd4#/Qd5# 1...Ne3 2.d4#/Qc3#/Qd4# 1...Nxf5 2.Qd5#/Rxf5# 1...Nxe4 2.Qd4#/Qxe4#/Qd5#/Rxe4#/d4# but 1...Kxf4! 1.Rfxg4?? (2.Qc3#/Bxg3#) but 1...Bxf5! 1.Bd5! zz 1...Kxf4/c3 2.d4# 1...Nh1/Nh5/Nf1/Nxh2/Nh6/Nf2/Ne3 2.Qc3# 1...Nxf5/Bxf5 2.Rxf5# 1...Nxe4 2.Rxe4# 1...Bg6/Bg8 2.Nxg6#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Brighton Society date: 1897 algebraic: white: [Kb7, Qg2, Rf7, Bc5, Bc2, Sa8, Pd4, Pa4] black: [Kd5, Re4, Ra3, Sc3, Ph7, Pf4, Pd6, Pa2] stipulation: "#2" solution: | "1...Kc4 2.Nb6# 1...Rb3+ 2.Bxb3# 1.Rf5+?? 1...Kc4 2.Nb6# but 1...Ke6! 1.Qg5+?? 1...Ke6 2.Re7#/Qf5# 1...Kc4 2.Nb6# but 1...Re5! 1.Qxe4+?? 1...Kc4 2.Nb6# but 1...Nxe4! 1.Qg8! (2.Rf5#) 1...Ke6 2.Nc7# 1...Kc4/Re6 2.Nb6# 1...dxc5 2.Rd7# 1...Rb3+ 2.Bxb3# 1...Re7+ 2.Rxe7#" --- authors: - Baird, Edith Elina Helen source: Wit and Wisdom date: 1888 algebraic: white: [Ka4, Rh5, Bf1, Ba7, Sf3, Se8, Pg4, Pe3, Pd2, Pc6] black: [Kd5, Se5, Pe7, Pc5] stipulation: "#2" solution: | "1.Nxe5[A]? zz 1...Ke4[a]/e6[a] 2.Bg2#[B] 1...Ke6[b] 2.Bc4#[C] but 1...c4! 1.Bg2[B]! zz 1...Ke4[a]/Kc4/Kxc6/e6[a] 2.Nxe5#[A] 1...Ke6[b] 2.Ng5#[D] 1...c4 2.Nd4#" keywords: - Flight giving key - King star flight - Changed mates - Reversal --- authors: - Baird, Edith Elina Helen source: Hampstead and Highgate Express date: 1893 algebraic: white: [Kb7, Qg8, Rh4, Rd1, Ba4, Sd5, Sa1, Pc3, Pb4, Pa2] black: [Kc4, Sf3, Sd2, Pe4] stipulation: "#2" solution: | "1...Kd3[a] 2.Bb5#[A] 1...Nf1/Nb1 2.Qc8# 1...Nb3 2.axb3# 1.Rh3? zz 1...Kd3[a] 2.Bb5#[A] 1...Ng5/Ne5/Nd4[b] 2.Nb6#[B] 1...Ng1/Nh2/Nh4/Ne1 2.Ne7#/Nf4#/Nf6#/Nc7#/Nb6#[B] 1...Nf1/Nb1 2.Qc8# 1...Nb3 2.axb3# but 1...e3! 1.Rxe4+? 1...Kd3[a] 2.Bc2#[C] 1...Nd4[b] 2.Rxd4#[D] but 1...Nxe4! 1.Qc8+?? 1...Kd3[a] 2.Bb5#[A] but 1...Kxd5! 1.Kb6?? (2.Bb5#[A]) but 1...Nd4[b]! 1.Ka6?? (2.Bb5#[A]) but 1...Nd4[b]! 1.Rxd2?? (2.Qc8#) 1...Nd4[b] 2.Rxd4#[D] 1...Ne5 2.Rxe4#/Rd4#[D] but 1...Nxd2! 1.Qg3! zz 1...Kd3[a] 2.Bb5#[A] 1...Ng1/Ng5/Nh2/Nxh4/Ne1/Ne5/Nd4[b] 2.Nb6#[B] 1...Kxd5 2.Bb3# 1...Nf1/Nb1 2.Qc7# 1...Nb3 2.axb3#" keywords: - Flight giving key - Black correction - Changed mates --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1888 algebraic: white: [Ka4, Qh8, Rh4, Rc6, Bh2, Be6, Se1, Sc3, Pf2, Pc2] black: [Kd4, Bc5, Sg3, Sd6, Pf6, Pe7, Pe4] stipulation: "#2" solution: | "1...Bb4/Ba3/Bb6/Ba7 2.Nf3# 1...Nh1/Nh5/Nf1/Ngf5/Ne2 2.Ne2# 1.Kb3?? (2.Nf3#) but 1...Ke5! 1.Bxg3?? (2.Ne2#) but 1...Kxc3! 1.Nd1?? (2.Nf3#) but 1...Ke5! 1.Nb1?? (2.Nf3#) but 1...Ke5! 1.Na2?? (2.Nf3#) but 1...Ke5! 1.Qb8! zz 1...Ke5 2.Rxe4# 1...Kxc3 2.Qb4# 1...f5 2.Qh8# 1...Bb4/Ba3/Bb6/Ba7 2.Nf3# 1...Ne8/Ndf5/Nf7/Nc4/Nc8/Nb5/Nb7 2.Nb5# 1...Nh1/Nh5/Nf1/Ngf5/Ne2 2.Ne2#" keywords: - Defences on same square - Switchback --- authors: - Baird, Edith Elina Helen source: Daily Gleaner date: 1902 algebraic: white: [Kd7, Re8, Rb5, Bc5, Se7, Sd5, Pg6] black: [Ke5, Re3, Bh8, Bc2, Pg5, Pf5, Pf3, Pe4, Pa7] stipulation: "#2" solution: | "1.Rb4? (2.Bd4#[A]/Bd6#[B]) 1...Rd3 2.Bd6#[B] but 1...Ba4+! 1.Rf8?? (2.Rxf5#) but 1...Bf6! 1.Nxf5+?? 1...Kxd5 2.Nxe3# but 1...Kxf5! 1.g7?? (2.gxh8Q#/gxh8B#) but 1...Bxg7! 1.Bxe3?? (2.Ng8#/Nc6#/Nc8#) 1...Bf6 2.Nc6#/Nf4#/Nc3#/Nc7#/Nb4#/Nb6# but 1...f4! 1.Bb6?? (2.Ng8#/Nc6#/Nc8#) 1...axb6/Bf6 2.Nc6# but 1...f4! 1.Bxa7?? (2.Ng8#/Nc6#/Nc8#) 1...Bf6 2.Nc6# but 1...f4! 1.Nf6[C]! (2.Ned5#) 1...Kf4[a] 2.Bd6#[B] 1...Kxf6[b] 2.Bd4#[A] 1...Bxf6 2.Bxe3# 1...f4 2.Ng4#" keywords: - 2 flights giving key - Rudenko --- authors: - Baird, Edith Elina Helen source: Brighton Society date: 1895 algebraic: white: [Kh7, Qc1, Rg4, Rd4, Bb2, Sf6, Sa7, Pd7, Pa5] black: [Kc5, Rb6, Ba4, Sg3, Sf3, Pg5, Pf4, Pd3, Pc2, Pb3] stipulation: "#2" solution: | "1...Bxd7 2.Nxd7# 1...Nh1/Nh5/Nf1/Nf5/Ne2/Ne4 2.Ne4# 1.d8Q?? (2.Qd5#/Qxb6#) 1...Nxd4 2.Qxd4# 1...Bc6 2.Qd6#/Qf8#/Qe7#/Qxb6# 1...Bd7 2.Qxb6#/Nxd7# 1...Rb5 2.Qd6#/Qd5#/Qc8#/Qf8#/Qe7#/Qc7#/Nd7# 1...Rb4 2.Qd6#/Qd5#/Qf8#/Qe7# 1...Rb8 2.Qd6#/Qd5#/Qe7# 1...Ra6/Re6/Rxf6 2.Ba3#/Qd5# 1...Rc6 2.Ba3#/Qd5#/Nd7# 1...Rd6 2.Qxd6# but 1...Rb7+! 1.Rxg5+?? 1...Ne5 2.Rxe5# 1...Nf5 2.Ne4# but 1...Nxg5+! 1.Qxf4?? (2.Rd5#/Rc4#) 1...c1Q/c1R 2.Qxc1#/Rd5# 1...Ne5/Nd2 2.Rd5#/Qxe5# 1...Nxd4 2.Qxd4# 1...Rb4 2.Rd5#/Qd6# 1...Rd6 2.Ba3#/Rc4#/Qxd6# 1...Rxf6 2.Ba3# 1...Ne4 2.Nxe4# 1...Bb5 2.Ba3#/Rd5# 1...Bc6 2.Qd6#/Rc4# but 1...gxf4! 1.Qe3! zz 1...Ng1/Nh2/Nh4/Ne1/Ne5/Nd2 2.Qe5# 1...Nxd4 2.Qxd4# 1...c1Q/c1R/c1B/c1N 2.Qxc1# 1...Rb5/Rb4/Rb7/Rb8/Bc6 2.Qe7# 1...Ra6/Rc6/Rd6/Re6/Rxf6/Bb5 2.Ba3# 1...Nh1/Nh5/Nf1/Nf5/Ne2/Ne4 2.Ne4# 1...d2 2.Qc3# 1...Bxd7 2.Nxd7# 1...fxe3 2.Rd5#" keywords: - Active sacrifice - Black correction - Switchback --- authors: - Baird, Edith Elina Helen source: Shoreditch Citizen date: 1888 algebraic: white: [Kb5, Rh3, Re8, Bh2, Be6, Sg3, Ph5, Pd6, Pd3] black: [Ke5] stipulation: "#2" solution: | "1...Kf4 2.Ne4# 1...Kd4 2.Ne2# 1...Kxd6 2.Nh1#/Nf1#/Nf5#/Ne2#/Ne4# 1.d7?? zz 1...Kf4 2.Ne4# 1...Kd4 2.Ne2# 1...Kd6 2.Nh1#/Nf1#/Nf5#/Ne2#/Ne4# but 1...Kf6! 1.Kb6?? zz 1...Kf4 2.Ne4# 1...Kd4 2.Ne2# 1...Kxd6 2.Nh1#/Nf1#/Nf5#/Ne2#/Ne4# but 1...Kf6! 1.Kc5?? (2.Ne4#) but 1...Kf6! 1.Kc6?? zz 1...Kf4 2.Ne4# 1...Kd4 2.Ne2# but 1...Kf6! 1.h6?? zz 1...Kf4 2.Ne4# 1...Kd4 2.Ne2# 1...Kxd6 2.Nh1#/Nh5#/Nf1#/Nf5#/Ne2#/Ne4# but 1...Kf6! 1.Rh4?? zz 1...Kxd6 2.Nh1#/Nf1#/Nf5#/Ne2#/Ne4# but 1...Kf6! 1.Re7! zz 1...Kf4/Kf6 2.Ne4# 1...Kd4 2.Ne2# 1...Kxd6 2.Nf5#" keywords: - King star flight --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1895 algebraic: white: [Kh4, Qh7, Re6, Rc6, Sg2, Pe2] black: [Ke4, Re5, Bd5, Pf5, Pd4] stipulation: "#2" solution: | "1.Qc7?? (2.Rxe5#/Qxe5#) 1...d3 2.Qxe5# 1...Rxe6 2.Qf4# but 1...Bxe6! 1.Qb7! zz 1...f4 2.Qh7# 1...d3/Bc4/Bb3/Ba2 2.Rc4# 1...Bxe6/Rxe6 2.Rxe6# 1...Bxc6 2.Qxc6#" keywords: - Black correction - Switchback --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald date: 1892 algebraic: white: [Kd3, Qd7, Rh6, Be3, Sh5, Sc2, Pf4, Pf3, Pe7, Pc5] black: [Kf5, Re6, Bh8, Sf1, Pf7, Pc6, Pc3] stipulation: "#2" solution: | "1...f6/Bd4 2.Nd4#[A] 1...Ng3/Nh2/Nd2 2.Nxg3# 1...Nxe3 2.Nxe3#[B] 1...Bg7 2.Nxg7# 1...Bf6 2.Rxf6# 1.e8Q? zz 1...f6 2.Nd4#[A]/Qh7#/Qdxe6#/Qexe6#/Qg6# 1...Ng3/Nh2/Nd2 2.Nxg3# 1...Nxe3 2.Nxe3#[B] 1...Bg7 2.Nxg7# 1...Bf6 2.Rxf6# 1...Bd4 2.Nxd4#[A] but 1...Be5! 1.e8R? zz 1...Ng3/Nh2/Nd2 2.Nxg3# 1...Nxe3 2.Nxe3#[B] 1...f6 2.Qh7#/Qxe6#/Nd4#[A] 1...Bg7 2.Nxg7# 1...Bf6 2.Rxf6# 1...Bd4 2.Nxd4#[A] but 1...Be5! 1.e8B? zz 1...Ng3/Nh2/Nd2 2.Nxg3# 1...Nxe3 2.Nxe3#[B] 1...f6 2.Qh7#/Nd4#[A]/Bg6# 1...Bg7 2.Nxg7# 1...Bf6 2.Rxf6# 1...Bd4 2.Nxd4#[A] but 1...Be5! 1.Bc1? zz 1...f6/Bd4 2.Nd4#[A] 1...Ng3/Nh2 2.Nxg3#/Ne3#[B] 1...Ne3/Nd2 2.Nxe3#[B] 1...Bg7 2.Nxg7# 1...Bf6 2.Rxf6# but 1...Be5! 1.Kc4?? zz 1...f6/Bd4 2.Nd4#[A] 1...Ng3/Nh2 2.Nxg3# 1...Nxe3+ 2.Nxe3#[B] 1...Bg7 2.Nxg7# 1...Bf6 2.Rxf6# 1...Be5 2.Qd3# but 1...Nd2+! 1.Qd5+?? 1...Be5 2.Ng7#/Nd4#[A]/Qe4# 1...Re5 2.Nd4#[A] but 1...cxd5! 1.Qc8?? zz 1...f6/Bd4 2.Nd4#[A] 1...Ng3/Nh2/Nd2 2.Nxg3# 1...Nxe3 2.Nxe3#[B] 1...Bg7 2.Nxg7# 1...Bf6 2.Rxf6# but 1...Be5! 1.e8N?? (2.Nd6#) but 1...Be5! 1.Rxe6?? (2.Rd6#/Rxc6#/Rf6#/Rh6#) 1...f6/Bf6 2.Rxf6# but 1...fxe6! 1.Ke2! zz 1...f6/Bd4 2.Nd4#[A] 1...Ng3+/Nh2/Nd2 2.Nxg3# 1...Nxe3 2.Nxe3#[B] 1...Bg7 2.Nxg7# 1...Bf6 2.Rxf6# 1...Be5 2.Qd3#" keywords: - Black correction - Transferred mates --- authors: - Baird, Edith Elina Helen source: Clifton Chronicle date: 1888 algebraic: white: [Kh4, Qa4, Rh5, Rf7, Bg2, Bg1, Sg5, Pe6, Pe3, Pb3, Pa5] black: [Kc5, Rf3, Sd6, Pg3, Pf5, Pb4] stipulation: "#2" solution: | "1...Rf2/Rf1 2.Rc7#/Qc6# 1...Rf4+ 2.exf4# 1...Rxe3 2.Bxe3# 1...f4 2.Ne4# 1.Rxf5+?? 1...Rxf5 2.Qc6# but 1...Nxf5+! 1.Rd7?? zz 1...Kd5 2.Qb5# 1...f4/Ne4/Ne8/Nf7/Nc4/Nc8/Nb7 2.Ne4# 1...Rf2/Rf1 2.Rc7#/Qc6# 1...Rf4+ 2.exf4# 1...Rxe3 2.Bxe3# but 1...Nb5! 1.e4+?? 1...Re3 2.Bxe3# but 1...Rf2! 1.Qd7! zz 1...Kd5 2.Rxf5# 1...Ne4/Ne8/Nxf7/Nc4/Nc8/Nb5/Nb7/f4 2.Nxe4# 1...Rf2/Rf1 2.Qc6# 1...Rf4+ 2.exf4# 1...Rxe3 2.Bxe3#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1893 algebraic: white: [Kd2, Qg8, Ra5, Bh1, Sf6, Se2, Ph5, Pd6] black: [Kf5, Sg2, Pf7, Pe5] stipulation: "#2" solution: | "1.Rxe5+?? 1...Kxf6 2.Qg5#/Qh8# but 1...Kxe5! 1.Nd4+?? 1...Kf4 2.Qg4# but 1...Kxf6! 1.Qg5+?? 1...Ke6 2.Qxe5# but 1...Kxg5! 1.Qg3?? (2.Qxe5#) but 1...Nf4! 1.Qe8?? (2.Qxe5#) but 1...Kg5! 1.Ne4! zz 1...Kxe4 2.Qg4# 1...Ke6/Nh4/Ne1/Ne3 2.Qc8# 1...f6 2.N4g3# 1...Nf4 2.Nd4#" keywords: - Flight giving and taking key - Active sacrifice - Black correction --- authors: - Baird, Edith Elina Helen source: Pen and Pencil date: 1889 algebraic: white: [Kb5, Qf8, Re2, Rb2, Ba1, Se1, Sd3] black: [Kd4, Bc3, Sb7, Pe6, Pe4, Pd6, Pb3] stipulation: "#2" solution: | "1...Nc5/Nd8/Na5 2.Qxd6# 1.Qf6+?? 1...Kd5 2.Nf4# but 1...e5! 1.Qh8+?? 1...Kd5 2.Nf4# but 1...e5! 1.Qg7+?? 1...Kd5 2.Nf4# but 1...e5! 1.Nb4! zz 1...Ke5 2.Nf3# 1...Bd2/Bxe1/Bxb4/e5 2.Rbxd2# 1...Bxb2 2.Bxb2# 1...e3 2.Qf4# 1...Nc5/Nd8/Na5 2.Qxd6# 1...d5 2.Nc6#" keywords: - Flight giving and taking key - Black correction --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplement date: 1894 algebraic: white: [Kh2, Qa2, Rh3, Rf1, Bg4, Bc1, Sf3, Sd4, Pe6, Pd5, Pb4, Pa3] black: [Kd3, Sb2, Pg6, Pg5, Pf2, Pc3, Pb5] stipulation: "#2" solution: | "1...Nc4 2.Qc2#/Qe2# 1...Nd1/Na4 2.Qe2# 1.Qb1+?? 1...c2 2.Qxc2# but 1...Kc4! 1.Rd1+?? 1...Nxd1 2.Qe2# but 1...Ke4! 1.Nb3! zz 1...Ke2/c2/Na4 2.Nfd2# 1...Ke4/Kc4/Nc4/Nd1 2.Nc5# 1...Kc2 2.Nfd4#" keywords: - 3+ flights giving key - King star flight --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1895 algebraic: white: [Kd2, Qa3, Ba8, Sc8, Sb1, Pe6, Pe3, Pa4] black: [Kc4, Pc7, Pb5, Pb3, Pb2] stipulation: "#2" solution: | "1...c6 2.Nb6# 1...c5 2.Nd6#/Nb6# 1.a5?? zz 1...c6 2.Nb6# 1...c5 2.Nd6#/Nb6# but 1...b4! 1.Qxb3+?? 1...Kc5 2.Qxb5#/Qc3# but 1...Kxb3! 1.Qd6?? (2.Na3#/Bd5#/Qd4#) 1...c6 2.Na3#/Nb6#/Qd4# 1...c5 2.Qf4# 1...bxa4 2.Na3# 1...b4 2.Bd5#/Qd5#/Qd4#/Qc6#/Qxc7# but 1...cxd6! 1.Qf8?? (2.Na3#) 1...c6 2.Nb6# 1...c5 2.Qf4# but 1...b4! 1.Qe7! (2.Na3#) 1...b4 2.Qxc7# 1...c6 2.Nb6# 1...c5 2.Qh4#" --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1902 algebraic: white: [Kd1, Qb1, Rd3, Ra4, Bh6, Bg8, Sd7, Pg3, Pe5] black: [Ke4, Sd4, Ph7, Pg5, Pb4, Pa5] stipulation: "#2" solution: | "1...Kf5 2.Rxd4# 1...g4 2.Re3# 1...b3 2.Rc3#/Rxb3# 1...Ne2/Ne6/Nf3/Nc2/Nc6/Nb3/Nb5 2.Bxh7# 1...Nf5 2.Bd5# 1.Bd5+?? 1...Kf5 2.Rxd4# but 1...Kxd5! 1.Bxg5?? (2.Re3#) 1...Ne2/Ne6/Nc2/Nc6/Nb3/Nb5 2.Bxh7# 1...Nf3 2.Bxh7#/Rd2#/Rd5#/Rd6# 1...Nf5 2.Bd5# but 1...Kf5! 1.Rxa5?? zz 1...Kf5 2.Rxd4# 1...g4 2.Re3# 1...Ne2/Ne6/Nf3/Nc2/Nc6/Nb3/Nb5 2.Bxh7# 1...Nf5 2.Nf6#/Bd5# but 1...b3! 1.Rxb4?? (2.Rc3#/Rdb3#/Ra3#) 1...Kf5 2.Rdxd4# but 1...axb4! 1.Qc2! zz 1...Kf5 2.Rxd4# 1...g4 2.Re3# 1...Ne2/Ne6/Nf3/Nxc2/Nc6/Nb3/Nb5 2.Bxh7# 1...Nf5 2.Bd5# 1...b3 2.Rxb3#" keywords: - Black correction - Block --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1889 algebraic: white: [Kg8, Qa5, Rf2, Rd8, Ba6, Ba1, Sf7, Sf1, Pg5, Pg3, Pd2, Pc6] black: [Ke4, Rb2, Bd5, Sf4, Se6, Pg4, Pa3, Pa2] stipulation: "#2" solution: | "1...Rb1[a]/Rb3[a]/Rb4[a]/Rb6[a]/Rb7[a]/Rb8[a]/Rxa2[a]/Rc2[a]/Rxd2[a] 2.Nd6#[A] 1...Bc4[b]/Bb3[c]/Bxa2[c]/Bxc6[d] 2.Qe5#[B] 1...Kd4 2.Qb4# 1...Kf5 2.Bd3# 1...Nf8/Nxg5/Ng7/Nd4/Nxd8/Nc5/Nc7 2.Rxf4# 1...Ng2/Ng6/Nh3/Nh5/Ne2/Nd3 2.Qxd5# 1.Bc4[C]? zz 1...Rb1[a]/Rb3[a]/Rb4[a]/Rb5[e]/Rb6[a]/Rb7[a]/Rb8[a]/Rxa2[a]/Rc2[a]/Rxd2[a] 2.Nd6#[A] 1...Bxc4[b]/Bxc6[d] 2.Qe5#[B] 1...Kf5 2.Bd3# 1...Nf8/Nxg5/Ng7/Nd4/Nxd8/Nc5/Nc7 2.Rxf4# 1...Ng2/Ng6/Nh3/Nh5/Ne2/Nd3 2.Qxd5# but 1...Kd4! 1.Qc5[D]? zz 1...Rb1[a]/Rb3[a]/Rb4[a]/Rb6[a]/Rb7[a]/Rb8[a]/Rxa2[a]/Rc2[a]/Rxd2[a] 2.Nd6#[A] 1...Bc4[b] 2.Qe5#[B] 1...Bb3[c]/Bxa2[c]/Bxc6[d] 2.Nd6#[A]/Qe5#[B] 1...Kf5 2.Bd3# 1...Nf8/Nxg5/Ng7/Nd4/Nxd8/Nxc5/Nc7 2.Rxf4# 1...Ng2 2.Qxd5#/d3# 1...Ng6/Nh3/Nh5/Ne2 2.d3#/Qxd5#/Qe3# 1...Nd3 2.Qxd5#/Qe3# but 1...Rb5[e]! 1.Qc3? (2.Nd6#[A]/Qe5#[B]) 1...Bc4[b]/Bb3[c]/Bxa2[c]/Bxc6[d] 2.Qe5#[B] 1...Rb5[e] 2.Nd6#[A] 1...Nf8/Nxg5/Ng7/Nxd8/Nc5/Nc7 2.Qe5#[B]/Rxf4# 1...Nd4 2.Rxf4# 1...Ng6 2.Nd6#[A]/Qd3#/Qe3#/Bd3#/d3# 1...Nd3 2.Nd6#[A]/Bxd3#/Qxd3# but 1...Kf5! 1.Nd6+[A]?? 1...Kd4 2.Qc3# but 1...Ke5! 1.Bd3+?? 1...Kd4 2.Qc3# 1...Nxd3 2.Qxd5# but 1...Kxd3! 1.d3+?? 1...Kd4 2.Qb4# 1...Nxd3 2.Qxd5# but 1...Kf5! 1.Bxb2?? (2.Nd6#[A]) 1...Bc4[b] 2.Qe5#[B] 1...Kf5 2.Bd3# 1...Nf8/Nxg5/Ng7/Nd4/Nxd8/Nc5/Nc7 2.Rxf4# but 1...axb2! 1.Re2+?? 1...Kd4 2.Qb4#/Qc3# 1...Kf3 2.Ne5# 1...Nxe2 2.Qxd5# but 1...Kf5! 1.Be2[E]! zz 1...Rb1[a]/Rb3[a]/Rb4[a]/Rb5[e]/Rb6[a]/Rb7[a]/Rb8[a]/Rxa2[a]/Rc2[a]/Rxd2[a] 2.Nd6#[A] 1...Bc4[b]/Bb3[c]/Bxa2[c]/Bxc6[d] 2.Qe5#[B] 1...Kd4 2.Qb4# 1...Kf5 2.Bd3# 1...Nf8/Nxg5/Ng7/Nd4/Nxd8/Nc5/Nc7 2.Rxf4# 1...Ng2/Ng6/Nh3/Nh5/Nxe2/Nd3 2.Qxd5#" keywords: - Active sacrifice - Rudenko --- authors: - Baird, Edith Elina Helen source: New Zealand Mail date: 1897 algebraic: white: [Kd1, Qa7, Be2, Sg6, Pf3, Pb2] black: [Kd4, Bg1, Pe6, Pc6, Pc5] stipulation: "#2" solution: | "1...Kd5/Be3 2.Qd7# 1...Ke3 2.Qxc5# 1.b4?? (2.Qxc5#) 1...Kd5 2.Qd7# but 1...Kc3! 1.Qg7+?? 1...Kd5 2.Qd7#/Qe5# 1...e5 2.Qxe5# but 1...Ke3! 1.Qa5! (2.Qd2#) 1...Kd5/Be3 2.Qd8# 1...Ke3 2.Qxc5# 1...c4 2.Qe5#" keywords: - Model mates --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1890 algebraic: white: [Kg7, Qa4, Rh3, Rg2, Bg4, Bc3, Se4] black: [Kd3, Bf3, Sd7, Pe3, Pe2, Pc5] stipulation: "#2" solution: | "1.Qb5+?? 1...Kxe4 2.Qc4# 1...c4 2.Qb1# but 1...Kc2! 1.Qxd7+?? 1...Kxe4 2.Qf5# 1...Kc4 2.Be6# but 1...Kc2! 1.Nf2+?? 1...exf2 2.Rxf3# but 1...Kxc3! 1.Be1?? zz 1...Bxg2/Bxg4 2.Nf2# 1...Bxe4 2.Bxe2# 1...Ne5/Nf6/Nf8/Nb6/Nb8 2.Nxc5# but 1...c4! 1.Qb3! zz 1...Kxe4 2.Qc4# 1...c4 2.Qb1# 1...e1Q/e1R/e1B/e1N 2.Qd5# 1...Bxg2/Bxg4 2.Nf2# 1...Bxe4 2.Bxe2# 1...Ne5/Nf6/Nf8/Nb6/Nb8 2.Nxc5#" keywords: - Flight giving key - Black correction --- authors: - Baird, Edith Elina Helen source: Reading Observer date: 1901 algebraic: white: [Kb3, Rd1, Ra4, Bg4, Bb4, Sd4, Sb8, Ph5, Pf6, Pc2, Pa6] black: [Ke5, Ra8, Pg5, Pf7, Pa7] stipulation: "#2" solution: | "1.Ndc6+?? 1...Ke4 2.Bc5# 1...Kxf6 2.Bc3# but 1...Kf4! 1.Bc3! (2.Ne2#/Ne6#/Nf3#/Ndc6#/Nb5#) 1...Ke4/Kf4 2.Nf5# 1...Kd5/Kd6 2.Ne6# 1...Kxf6 2.Ndc6# 1...Rxb8+ 2.Nb5#" keywords: - Flight giving key - King Y-flight --- authors: - Baird, Edith Elina Helen source: Womanhood date: 1901 algebraic: white: [Kc8, Qe2, Bc5, Bb1, Sh8, Sd5, Pf3, Pc7, Pb4] black: [Ke6, Pf7, Pe5, Pc6] stipulation: "#2" solution: | "1...Kxd5 2.Qa2#/Ba2# 1...cxd5 2.Qa6# 1...e4 2.Qxe4# 1...f6 2.Nf4# 1.Kd8?? zz 1...Kxd5 2.Ba2#/Qa2# 1...cxd5 2.Qa6# 1...e4 2.Qxe4# 1...f6 2.Nf4# but 1...f5! 1.f4?? (2.Qxe5#) 1...Kxd5 2.Ba2#/Qa2# 1...e4 2.Qxe4# but 1...f6! 1.Qe4?? zz 1...cxd5 2.Qf5# 1...f6 2.Nf4# but 1...f5! 1.Qc4?? zz 1...e4 2.Qxe4# 1...cxd5 2.Qa6# 1...f6 2.Ne3#/Ne7#/Nf4#/Nc3#/Nb6# but 1...f5! 1.Qa6?? (2.Qxc6#) 1...Kxd5 2.Ba2#/Qa2# but 1...e4! 1.Bc2?? zz 1...Kxd5 2.Bb3# 1...e4 2.Qxe4# 1...cxd5 2.Qa6# 1...f6 2.Nf4# but 1...f5! 1.Bf5+?? 1...Kxd5 2.Qe4#/Qa2#/Qd3# but 1...Kxf5! 1.Bg6?? zz 1...Kxd5 2.Qa2#/Bxf7# 1...cxd5 2.Qa6# 1...f6 2.Nf4# 1...f5 2.Bf7# 1...e4 2.Qxe4# but 1...fxg6! 1.Bh7! zz 1...Kxd5 2.Qa2# 1...cxd5 2.Qa6# 1...e4 2.Qxe4# 1...f6 2.Nf4# 1...f5 2.Bg8#" --- authors: - Baird, Edith Elina Helen source: Daily Telegraph date: 1902 algebraic: white: [Kg5, Rb1, Sd6, Sb5, Pg6, Pe6, Pe2, Pd4, Pc6, Pa6] black: [Kd5, Pb6] stipulation: "#2" solution: | "1.a7?? zz 1...Kxc6 2.a8Q#/a8B# but 1...Kxe6! 1.Nc8?? zz 1...Kxe6 2.Nc7# 1...Kc4 2.Nxb6# 1...Kxc6 2.Ne7# but 1...Ke4! 1.e4+?? 1...Kxc6 2.Rc1# but 1...Kxe6! 1.Nf5! zz 1...Ke4 2.Nc3# 1...Kxe6 2.Nc7# 1...Kc4 2.Ne3# 1...Kxc6 2.Ne7#" keywords: - 2 flights giving key - King star flight - Model mates --- authors: - Baird, Edith Elina Helen source: Brooklyn Daily Eagle date: 1895 algebraic: white: [Kg4, Qh1, Rc8, Ra5, Bf8, Se7, Se5, Pe2, Pd5, Pd2, Pa3] black: [Kd4, Bc7, Pg6, Pg5, Pd6, Pb5] stipulation: "#2" solution: | "1...Kxe5 2.Bg7# 1...Kc5 2.Qg1# 1...b4 2.N7c6# 1.Rxc7?? zz 1...Kxe5 2.Bg7# 1...b4 2.N7c6# but 1...dxe5! 1.Bg7?? zz 1...Kc5 2.Qg1# 1...Bd8/Bb6/Bxa5/Bb8 2.e3#/Nf7#/N5xg6#/Nd3#/Nd7#/Nc4# 1...b4 2.e3#/N7c6# but 1...dxe5! 1.Rxb5?? (2.N7c6#) 1...Kxe5 2.Bg7# but 1...dxe5! 1.e3+?? 1...Kxe5 2.Bg7# but 1...Kc5! 1.Qg1+?? 1...Ke4 2.Qe3# but 1...Kxe5! 1.Qa1+?? 1...Kc5 2.Qg1# but 1...Ke4! 1.Qf3?? (2.Qe3#) 1...Kxe5 2.Bg7#/Nc6# but 1...dxe5! 1.Qe4+?? 1...Kc5 2.Qe3#/Nd7# but 1...Kxe4! 1.Qb1! zz 1...Kxe5 2.Bg7# 1...Kc5 2.Qg1# 1...dxe5 2.Qb4# 1...b4 2.N7c6# 1...Bd8/Bb6/Bxa5/Bb8 2.Nf3#" --- authors: - Baird, Edith Elina Helen source: Field date: 1888 algebraic: white: [Kc8, Qh6, Rd1, Ra5, Bf3, Bc7, Sg8, Se4, Pd6, Pa3] black: [Kd5, Rc5, Sd2, Pf5, Pb6] stipulation: "#2" solution: | "1...Kc6 2.Ne7# 1.Rxc5+?? 1...Kd4 2.Rxd2#/Qxd2# but 1...bxc5! 1.Nxd2+?? 1...Ke5 2.Nc4#/Qe3# but 1...Kd4! 1.Rxd2+?? 1...Ke5 2.d7# 1...Kc6 2.Ne7#/d7#/Nxc5# but 1...Kc4! 1.Qe3! (2.Nxd2#) 1...Ke6 2.Ng5# 1...Kc6 2.Ne7# 1...fxe4 2.Qxe4#" keywords: - Flight giving and taking key - King Y-flight --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1900 algebraic: white: [Kg3, Qa7, Re7, Rc1, Bh7, Bb2, Se8] black: [Kd5, Sg6, Sc4, Pg7, Pe5, Pd7, Pd3, Pc6] stipulation: "#2" solution: | "1...c5 2.Qa8#/Qb7# 1...e4 2.Qd4#/Bg8# 1.Bxg6? zz 1...c5 2.Qa8#/Qb7# 1...Nd2/Ne3/Na3/Na5 2.Rc5#/Qxd7#/Qc5#/Rxe5#[B] 1...Nd6 2.Nc7#[A]/Rc5#/Qc5#/Rxe5#[B] 1...Nxb2 2.Qxd7#/Qc5# 1...Nb6 2.Rxe5#[B] 1...e4 2.Bxe4#/Bf7#/Qd4# 1...d6 2.Nc7#[A] but 1...d2! 1.Nc7+[A]?? 1...Ke4 2.Bxg6# but 1...Kd6! 1.Qa2?? (2.Qxc4#) 1...Kc5 2.Qa5# 1...c5 2.Qa8# but 1...Ke4! 1.Qc5+?? 1...Ke4 2.Bxg6# but 1...Kxc5! 1.Qa4! (2.Qxc4#) 1...Kc5 2.Qa5# 1...Ke4 2.Rxe5#[B] 1...Nd2/Ne3/Nxb2/Nb6/Na3/Na5 2.Bg8# 1...Nd6 2.Nc7#[A] 1...c5 2.Qa8#" keywords: - Flight giving key - Black correction - Transferred mates --- authors: - Baird, Edith Elina Helen source: Daily Telegraph date: 1901 algebraic: white: [Ka3, Qg8, Rg4, Re2, Ba2, Sg2, Sd4, Pe5, Pc6, Pb3] black: [Kd5, Rh7, Sh8, Sf3, Pf7, Pd6, Pc5] stipulation: "#2" solution: | "1...dxe5 2.Qd8# 1...Nxe5 2.Ne3# 1.Qf8?? (2.Qxd6#) 1...dxe5 2.Ne3#/Qd8# 1...Nxe5 2.Ne3# but 1...Rh6! 1.Qe8?? (2.Ne3#) 1...cxd4 2.b4# 1...dxe5 2.Qd8#/Qd7# but 1...c4! 1.Qd8?? (2.Qxd6#) 1...Nxe5 2.Ne3# but 1...Rh6! 1.Qb8?? (2.Qxd6#) 1...dxe5 2.Ne3#/Qd8# 1...Nxe5 2.Ne3# but 1...Rh6! 1.Qa8! (2.c7#) 1...cxd4 2.b4# 1...c4 2.Qa5# 1...Nxe5 2.Ne3# 1...Nxd4 2.Nf4# 1...dxe5 2.Qd8#" keywords: - B2 --- authors: - Baird, Edith Elina Helen source: Art and Literature date: 1889 algebraic: white: [Ka6, Qg8, Rh4, Rc8, Bg1, Sf5, Sb5] black: [Kd5, Rg4, Sa5, Ph5, Pg5, Pg3, Pe6, Pe5, Pd3, Pb4] stipulation: "#2" solution: | "1...b3 2.Nc3# 1...e4 2.Rc5# 1...Re4 2.Qd8#/Ne7#/Rc5# 1...Rd4/Rc4 2.Qd8#/Ne3#/Ne7# 1.Rxg4?? (2.Ne3#/Ne7#/Qd8#/Rc5#) 1...e4 2.Rc5# 1...Nb3 2.Qd8#/Ne3#/Ne7# 1...Nb7 2.Ne3#/Ne7# 1...Nc4 2.Ne7#/Rc5# 1...Nc6 2.Nc7# but 1...hxg4! 1.Rd8+?? 1...Kc4 2.Qxe6# 1...Kc6 2.Qe8#/Qxe6#/Ne7#/Rd6# but 1...Ke4! 1.Rc4! (2.Ne3#) 1...Kxc4 2.Qxe6# 1...Nxc4 2.Qa8# 1...Re4/e4 2.Rc5# 1...Rxc4 2.Ne7#" keywords: - Flight giving and taking key - Active sacrifice - Defences on same square --- authors: - Baird, Edith Elina Helen source: Dublin Evening Mail date: 1902 algebraic: white: [Kc6, Qb4, Re1, Rd4, Bg4, Bc1, Sh6, Sd2, Pe6, Pb5] black: [Ke5, Re4, Sf2, Se3, Pg5, Pd3, Pc7, Pb6] stipulation: "#2" solution: | "1.Qe7! zz 1...Kf4 2.Qxc7# 1...Kxd4 2.Bb2# 1...Nfxg4/Nh1/Nh3/Nfd1 2.Rxe4# 1...Nf1/Nf5/Ng2/Nexg4/Ned1/Nd5/Nc2/Nc4/Rxg4 2.Nf3# 1...Rxd4 2.Qxg5# 1...Rf4 2.Rd5#" keywords: - Flight giving and taking key - Black correction --- authors: - Baird, Edith Elina Helen source: Pictorial World date: 1892 algebraic: white: [Kf7, Qa1, Rh5, Rd2, Bb8, Ba6, Sf5, Sd3, Ph3, Pe6, Pc3, Pb2] black: [Kd5, Ph4, Pg5, Pe7, Pc6, Pb5] stipulation: "#2" solution: | "1...g4[a] 2.Nd6#[A] 1...Kc4 2.Qa2# 1...b4 2.Qh1# 1.Nd6[A]? (2.Rxg5#/Qa2#/Qh1#) 1...c5 2.Bb7#/Qh1# 1...b4 2.Rxg5#/Bc4#/Qh1# but 1...exd6! 1.Rxg5? (2.Nd6#[A]) 1...Ke4 2.Qh1# 1...Kc4 2.Qa2# but 1...c5! 1.Qe1? zz 1...g4[a] 2.Nd6#[A] 1...b4 2.Nxe7#/Qe5#/Qh1#/c4# 1...c5 2.Ne5# but 1...Kc4! 1.Ng3?? (2.Qa2#) 1...b4 2.Rxg5#/Qh1# 1...c5 2.Ne5# but 1...hxg3! 1.Nxe7+?? 1...Kc4 2.Qa2#/Qa4# but 1...Ke4! 1.c4+?? 1...Kxc4 2.Qa2# 1...bxc4 2.Qh1# but 1...Ke4! 1.b3?? (2.Qh1#) but 1...Ke4! 1.Ne5+?? 1...Kc5 2.Ba7#/Qg1# but 1...Ke4! 1.Qb1! zz 1...g4[a] 2.Nd6#[A] 1...Ke4 2.Ne1# 1...Kc4 2.Qa2# 1...b4 2.Qh1# 1...c5 2.Ne5#" keywords: - Urania --- authors: - Baird, Edith Elina Helen source: Field date: 1892 algebraic: white: [Kf3, Qb5, Bg4, Bb2, Sf5, Sc3, Pf6, Pe6, Pc6] black: [Ke5, Rc5, Pg5] stipulation: "#2" solution: | "1.Sf5-e7 ! threat: 2.Sc3-e4 # 1...Rc5*b5 2.Sc3*b5 # 1...Ke5-d4 2.Sc3-e2 # 1...Ke5*f6 2.Sc3-d5 # 1...Ke5-d6 2.Qb5-b8 #" keywords: - Flight giving key - Flight giving and taking key comments: - also in The New York World (no. 10), 11 December 1892 --- authors: - Baird, Edith Elina Helen source: Brighton & Hove Society date: 1901 algebraic: white: [Kb1, Qb5, Rf1, Bh3, Se5, Pg3, Pd2] black: [Ke4, Rh2, Rg8, Bf2, Pg6, Pd4, Pb7] stipulation: "#2" solution: | "1...Bg1/Be1 2.Rf4# 1...Be3 2.d3# 1.Qc6+?? 1...Kxe5 2.Qe6# but 1...bxc6! 1.Nf7?? (2.Ng5#) 1...Kf3 2.Qd3# 1...Be3 2.Nd6#/d3# 1...g5 2.Qf5# but 1...d3! 1.Be6?? (2.Qd5#) but 1...Rd8! 1.Re1+?? 1...Be3 2.d3# but 1...Bxe1! 1.Nf3! (2.Ng5#) 1...Kxf3 2.Qd3# 1...d3 2.Qxb7# 1...Be3 2.d3# 1...g5 2.Qf5#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: Hackney Mercury date: 1902 algebraic: white: [Kc3, Qe8, Rd7, Bb8, Ba4, Sf6, Sf4, Pb2, Pa5] black: [Kc5, Sa8, Pc4, Pb3] stipulation: "s#4" solution: | "1.Qe8-g8 ! zugzwang. 1...Sa8-c7 2.Sf4-e6 + 2...Sc7*e6 3.Qg8-g5 + 3...Se6*g5 4.Sf6-e4 + 4...Sg5*e4 # 1...Sa8-b6 2.Qg8-c8 + 2...Sb6*c8 3.Bb8-d6 + 3...Sc8*d6 4.Sf6-e4 + 4...Sd6*e4 #" --- authors: - Baird, Edith Elina Helen source: Daily Telegraph date: 1900 algebraic: white: [Kf2, Qh3, Ra4, Be4, Bc1, Sg5, Sf7, Ph6, Pc4, Pa5, Pa2] black: [Kd4, Sc7, Pf4, Pf3] stipulation: "#2" solution: | "1.Qxf3?? zz 1...Nd5/Ne6/Ne8/Nb5/Na6/Na8 2.Ne6# but 1...Kc5! 1.Qf5?? (2.Qe5#/Bb2#) 1...Kc3 2.Qf6#/Qe5# 1...Nb5 2.Qe5# but 1...Nd5! 1.Qd7+?? 1...Kc3 2.Qd3#/Qd2# 1...Kc5 2.Ba3#/Qd6# but 1...Nd5! 1.c5+?? 1...Kc3 2.Qxf3# but 1...Kxc5! 1.Qc8! zz 1...Kc3 2.Qh8# 1...Kc5 2.Ne6# 1...Nd5 2.cxd5# 1...Ne6/Ne8/Na6/Na8 2.Bb2# 1...Nb5 2.cxb5#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Courant date: 1893 algebraic: white: [Kb1, Qe8, Rh3, Rd1, Bg8, Bg1, Sd2, Pe2, Pd5] black: [Kd4, Rf2, Sg3, Ph4, Pc5, Pc4, Pb3, Pb2] stipulation: "#2" solution: | "1...c3 2.Bxf2# 1...Nh1 2.Qe4#/Qe3#/Ne4#/Nf1#/Nxb3# 1...Nh5/Nxe2 2.Bxf2#/Qe4#/Qe3#/Ne4#/Nf1#/Nxb3# 1...Nf1 2.Qe4#/Nxf1#/Nxb3# 1...Nf5 2.Qe4#/Ne4#/Nf1#/Nxb3# 1...Ne4 2.Qxe4#/Nxe4#/Nxb3# 1.Bf7?? zz 1...c3 2.Bxf2# 1...Nh1 2.Qe4#/Qe3#/Qh8#/Ne4#/Nf1#/Nxb3# 1...Nh5 2.Bxf2#/Qe4#/Qe3#/Ne4#/Nf1#/Nxb3# 1...Nf1 2.Qe4#/Qh8#/Nxf1#/Nxb3# 1...Nf5 2.Qe4#/Ne4#/Nf1#/Nxb3# 1...Nxe2 2.Bxf2#/Qe4#/Qe3#/Qh8#/Ne4#/Nf1#/Nxb3# 1...Ne4 2.Qxe4#/Nxe4#/Nxb3# but 1...Kc3! 1.Rxh4+?? 1...Kc3 2.Rxc4# but 1...Ne4! 1.Rxg3?? (2.Bxf2#/Qe4#/Qe3#/Ne4#/Nf1#/Nxb3#) 1...c3 2.Bxf2#/Qe4#/Qe3#/Rg4#/Rd3# but 1...hxg3! 1.Kxb2?? (2.Bxf2#/Nf1#/Nf3#/Nb1#/Nxb3#) 1...Nh1 2.Qe4#/Qe3#/Rxh4#/Ne4#/Nf1#/Nf3#/Nb1#/Nxb3# 1...Nf1 2.Qe4#/Rxh4#/Nxf1#/Nf3#/Nxb3# 1...Nf5 2.Qe4#/Ne4#/Nf1#/Nf3#/Nb1#/Nxb3# 1...Ne4 2.Qxe4#/Nxe4#/Nxb3# but 1...c3+! 1.Re1?? zz 1...Nh1 2.Qe4#/Qe3# 1...Nh5/Nxe2 2.Qe4#/Qe3#/Bxf2# 1...Nf1/Nf5/Ne4 2.Qe4# 1...c3 2.Bxf2# but 1...Kc3! 1.Rf1?? zz 1...c3 2.Bxf2# 1...Nh1 2.Qe4#/Qe3# 1...Nh5/Nxe2 2.Bxf2#/Qe4#/Qe3# 1...Nxf1/Nf5/Ne4 2.Qe4# but 1...Kc3! 1.Qe7?? zz 1...Nh1 2.Qe4#/Qe3#/Qg7#/Qf6#/Ne4#/Nf1#/Nxb3# 1...Nh5 2.Qe4#/Qe3#/Bxf2#/Ne4#/Nf1#/Nxb3# 1...Nf1 2.Qe4#/Qg7#/Qf6#/Nxf1#/Nxb3# 1...Nf5 2.Qe4#/Qf6#/Ne4#/Nf1#/Nxb3# 1...Nxe2 2.Bxf2#/Qe4#/Qe3#/Qg7#/Qf6#/Ne4#/Nf1#/Nxb3# 1...Ne4 2.Qxe4#/Nxe4#/Nxb3# 1...c3 2.Bxf2# but 1...Kc3! 1.Qe6?? zz 1...c3 2.Bxf2# 1...Nh1 2.Qe4#/Qe3#/Qf6#/Ne4#/Nf1#/Nxb3# 1...Nh5 2.Bxf2#/Qe4#/Qe3#/Ne4#/Nf1#/Nxb3# 1...Nf1 2.Qe4#/Qf6#/Nxf1#/Nxb3# 1...Nf5 2.Qe4#/Qf6#/Ne4#/Nf1#/Nxb3# 1...Nxe2 2.Bxf2#/Qe4#/Qe3#/Qf6#/Ne4#/Nf1#/Nxb3# 1...Ne4 2.Qxe4#/Nxe4#/Nxb3# but 1...Kc3! 1.Qe4+?? 1...Kc3 2.Qxc4# but 1...Nxe4! 1.d6?? zz 1...c3 2.Bxf2#/Nf1#/Nf3#/Nc4#/Nxb3# 1...Nh1 2.Qe4#/Qe3#/Ne4#/Nf1#/Nxc4#/Nxb3# 1...Nh5/Nxe2 2.Bxf2#/Qe4#/Qe3#/Ne4#/Nf1#/Nxc4#/Nxb3# 1...Nf1 2.Qe4#/Nxf1#/Nxb3# 1...Nf5 2.Qe4#/Ne4#/Nf1#/Nxc4#/Nxb3# 1...Ne4 2.Qxe4#/Nxe4#/Nxb3# but 1...Kc3! 1.Qb8! zz 1...Ke3 2.Qe5# 1...Kc3 2.Ne4# 1...Nh1/Nf1/Nf5 2.Qf4# 1...Nh5/Nxe2/c3 2.Bxf2# 1...Ne4 2.Nxb3#" keywords: - Flight giving key - Black correction --- authors: - Baird, Edith Elina Helen source: Brighton & Hove Society date: 1901 algebraic: white: [Kc1, Qg8, Re7, Ra4, Bh1, Bf4, Sc7, Pf6, Pc2, Pb3] black: [Kd4, Be6, Sf5, Sf3, Pf7, Pc5, Pc4] stipulation: "#2" solution: | "1...Kc3[a]/Ng1/Ng5/Nh2/N3h4/Ne1/Ne5/Nd2/Bd5 2.Nb5#[A] 1...Bd7/Bc8 2.Rxc4#[B] 1.Nxe6+? 1...Kc3[a] 2.Rxc4#[B] 1...Ke4[b] 2.Qa8#[C] 1...Kd5 2.Bxf3#/Qa8#[C] but 1...fxe6! 1.Qg6?? zz 1...Kc3[a]/Ng1/Ng5/Nh2/N3h4/Ne1/Ne5/Nd2/Bd5 2.Nb5#[A] 1...Ke4[b]/Bd7/Bc8 2.Rxc4#[B] 1...Ng3/Ng7/N5h4/Nh6/Ne3/Nxe7/Nd6 2.Qd3# but 1...fxg6! 1.Qg1+?? 1...Kc3[a]/Nxg1 2.Nb5#[A] 1...Ne3 2.Qxe3# but 1...Ke4[b]! 1.Qa8[C]?? (2.Nb5#[A]) 1...Bd7 2.Rxc4#[B] but 1...Nd6! 1.Nb5+[A]?? 1...Kd5 2.Qa8#[C]/Bxf3# but 1...Ke4[b]! 1.Bxf3?? (2.Nb5#[A]) 1...Bd7 2.Rxc4#[B] but 1...Nd6! 1.Qh7! zz 1...Kc3[a]/Ng1/Ng5/Nh2/N3h4/Ne1/Ne5/Nd2/Bd5 2.Nb5#[A] 1...Ke4[b]/Bd7/Bc8 2.Rxc4#[B] 1...Ng3/Ng7/N5h4/Nh6/Ne3/Nxe7/Nd6 2.Qd3#" keywords: - Black correction - Changed mates --- authors: - Baird, Edith Elina Helen source: Field date: 1902 algebraic: white: [Kc1, Qf5, Rd8, Bh8, Sg7, Sa7, Pf2, Pe5, Pc2, Pb3, Pa5] black: [Kd4, Sc7, Pd5, Pb4] stipulation: "#2" solution: | "1...Kc3 2.Qd3# 1.Nc6+?? 1...Kc3 2.Qf3#/Qh3#/Qd3# but 1...Kc5! 1.Ne6+?? 1...Kc3 2.Qf3#/Qh3#/Qd3# but 1...Nxe6! 1.Kd2?? zz 1...Ne6/Ne8/Nb5/Na6/Na8 2.Nxe6# but 1...Kc5! 1.Kb2?? zz 1...Ne6/Ne8/Nb5/Na6/Na8 2.Nxe6# but 1...Kc5! 1.Qf4+?? 1...Kc3 2.Qe3#/Qd2# but 1...Kc5! 1.Qf3?? (2.Qe3#) 1...Kxe5 2.Nc6# but 1...Kc5! 1.Qg5?? (2.Qe3#) but 1...Kc5! 1.Rc8! zz 1...Kc3 2.Nb5#/Qd3# 1...Kc5 2.Ne6# 1...Ne6 2.Nb5#/Nxe6# 1...Ne8/Nb5/Na6/Na8 2.Nb5#/Ne6#/Qf4#" --- authors: - Baird, Edith Elina Helen source: The Daily News date: 1901 algebraic: white: [Ke8, Rh6, Rd7, Bh2, Bd5, Sf7, Sd1, Pc2, Pb4] black: [Kd4, Rf4, Bc4, Sf1, Pf5] stipulation: "#2" solution: | "1...Bd3 2.c3# 1...Rf3/Rf2/Rg4/Rh4 2.Be5# 1.Bg1+?? 1...Ne3 2.Bxe3# but 1...Rf2! 1.Bxf4?? (2.Be5#) but 1...Bxd5! 1.Rh4! (2.Rxf4#) 1...Re4+/Rg4/Rxh4 2.Be5# 1...Bd3 2.c3# 1...Ng3/Nd2 2.Bg1#" --- authors: - Baird, Edith Elina Helen source: The Chess Review date: 1893 algebraic: white: [Ka1, Rh5, Re3, Bg1, Be8, Se2, Sa5, Pf5, Pe5, Pc5] black: [Kd5, Rc8, Be7, Pb4] stipulation: "#2" solution: | "1...Kxc5 2.Rd3# 1...Rxc5/Bxc5 2.Bf7# 1.Bc6+?? 1...Kxc5 2.Re4#/Rd3#/Rc3#/Rb3#/Ra3#/Rf3#/Rg3#/Reh3# but 1...Rxc6! 1.Nf4+?? 1...Kxc5 2.Re2#/Re1#/Re4#/Rd3#/Rc3#/Rb3#/Ra3#/Rf3#/Rg3#/Reh3# but 1...Kd4! 1.f6! (2.e6#) 1...Kxc5 2.Rd3# 1...Ke6 2.Nf4# 1...Rxc5/Bxc5 2.Bf7# 1...Bxf6 2.exf6# 1...Bd6 2.exd6#" keywords: - Flight giving key - Active sacrifice --- authors: - Baird, Edith Elina Helen source: South Australian Chronicle date: 1895 algebraic: white: [Ke7, Qc2, Rg8, Rd8, Pf4, Pe6, Pb3] black: [Kd5, Rd6, Sh7, Pd4, Pc7] stipulation: "#2" solution: | "1...d3 2.Qc4# 1...Rd7+ 2.Rxd7# 1...Rxd8 2.Rxd8# 1...c6 2.Qf5#/Rxd6# 1...c5 2.Qg2#/Rxd6# 1...Ng5/Nf6/Nf8 2.Rxg5# 1.b4?? zz 1...Ng5/Nf6/Nf8 2.Rxg5# 1...Rd7+ 2.Rxd7# 1...Rxd8 2.Rxd8# 1...c6/c5 2.Rxd6# but 1...d3! 1.Rd7?? zz 1...Ng5/Nf6/Nf8 2.Rxg5# 1...c6 2.Qf5#/Rxd6# 1...c5 2.Qg2#/Rxd6# 1...d3 2.Qc4# but 1...Rxd7+! 1.Rg7?? zz 1...d3 2.Qc4# 1...Rd7+ 2.Rxd7# 1...c6 2.Qf5#/Rxd6# 1...c5 2.Qg2#/Rxd6# 1...Ng5/Nf6/Nf8 2.Rxg5# but 1...Rxd8! 1.Rg6?? zz 1...d3 2.Qc4# 1...c6 2.Qf5#/Rxd6# 1...c5 2.Qg2#/Rxd6# 1...Rd7+ 2.Rxd7# 1...Ng5/Nf6/Nf8 2.Rxg5# but 1...Rxd8! 1.Rg4?? zz 1...d3 2.Qc4# 1...Ng5/Nf6/Nf8 2.Rxg5# 1...c6 2.Qf5#/Rxd6# 1...c5 2.Qg2#/Rxd6# 1...Rd7+ 2.Rxd7# but 1...Rxd8! 1.Rg3?? zz 1...d3 2.Qc4# 1...Rd7+ 2.Rxd7# 1...c6 2.Qf5#/Rxd6# 1...c5 2.Qg2#/Rxd6# 1...Ng5/Nf6/Nf8 2.Rxg5# but 1...Rxd8! 1.Rg2?? zz 1...d3 2.Qc4# 1...c6 2.Qf5#/Rxd6# 1...c5 2.Rxd6# 1...Rd7+ 2.Rxd7# 1...Ng5/Nf6/Nf8 2.Rxg5# but 1...Rxd8! 1.Rg1?? zz 1...d3 2.Qc4# 1...c6 2.Qf5#/Rxd6# 1...c5 2.Qg2#/Rxd6# 1...Rd7+ 2.Rxd7# 1...Ng5/Nf6/Nf8 2.Rxg5# but 1...Rxd8! 1.Kf7! zz 1...d3 2.Qc4# 1...Rd7+ 2.Rxd7# 1...Rxd8 2.Rxd8# 1...c6 2.Qf5# 1...c5 2.Qg2# 1...Ng5+/Nf6/Nf8 2.Rxg5#" keywords: - Block --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1900 algebraic: white: [Kb8, Qh2, Rf1, Re3, Bc6, Ba7, Sf4, Sb6, Ph4, Pg4, Pd6, Pd2] black: [Ke5, Bf3, Se4, Pe7, Pe6] stipulation: "#2" solution: | "1...Kd4 2.Nxe6# 1...Bg2/Bh1/Bxg4/Be2/Bd1 2.Ne2# 1...exd6 2.Nd7# 1.Kb7?? zz 1...Kd4 2.Nxe6# 1...Kxd6 2.Nc4# 1...exd6 2.Nd7# 1...Bg2/Bh1/Bxg4/Be2/Bd1 2.Ne2# but 1...Kf6! 1.Kc7?? (2.Nd7#) 1...Kd4 2.Nxe6# 1...Bxg4 2.Ne2# but 1...Kf6! 1.Nc8?? (2.Nh5#/Nd5#) but 1...Kf6! 1.Bb5?? zz 1...Kd4 2.Nxe6# 1...Kxd6 2.Nc4# 1...Bg2/Bh1/Bxg4/Be2/Bd1 2.Ne2# 1...exd6 2.Nd7# but 1...Kf6! 1.Ba4?? zz 1...Kd4 2.Nxe6# 1...Kxd6 2.Nc4# 1...exd6 2.Nd7# 1...Bg2/Bh1/Bxg4/Be2/Bd1 2.Ne2# but 1...Kf6! 1.Ng6+?? 1...Kd4 2.Qe5# but 1...Kf6! 1.Nd3+?? 1...Kd4 2.Qe5# but 1...Kf6! 1.Be8! zz 1...Kf6 2.Nh5# 1...Kd4 2.Nxe6# 1...Kxd6 2.Nc4# 1...exd6 2.Nd7# 1...Bg2/Bh1/Bxg4/Be2/Bd1 2.Ne2#" --- authors: - Baird, Edith Elina Helen source: The Times Weekly Edition date: 1893 algebraic: white: [Kb8, Qg7, Sh5, Pd3, Pd2, Pb4] black: [Kd5, Sa8, Pe6, Pb5] stipulation: "#2" solution: | "1...e5 2.Qd7# 1.Qc7?? (2.Qc5#) 1...Kd4 2.Qd6# 1...e5 2.Qd7# but 1...Nxc7! 1.Qe5+?? 1...Kc6 2.Qxe6# but 1...Kxe5! 1.Qe7! (2.Qc5#) 1...Kd4 2.Qd6# 1...Kc6 2.Qxe6# 1...e5 2.Qd7#" keywords: - Flight giving key - Flight giving and taking key --- authors: - Baird, Edith Elina Helen source: To-Day date: 1901 algebraic: white: [Ke2, Qa7, Re3, Ba5, Ba2, Sf5, Sd2, Pg5, Pg3, Pe6, Pb4] black: [Ke5, Se4, Sb6, Pe7] stipulation: "#2" solution: | "1...Nc8/Na8 2.Qc5# 1.Qb7?? (2.Qxe4#) 1...Nd5 2.Qxd5# but 1...Kxf5! 1.Qxb6?? (2.Qb5#/Qc5#) but 1...Kxf5! 1.Bxb6?? (2.Qa5#) but 1...Kxf5! 1.Ng7?? zz 1...Kd4 2.Nf3# 1...Nc4/Nc8/Na8 2.Qc5# 1...Nd5 2.Nc4# 1...Nd7/Na4 2.Bc7# but 1...Kd6! 1.Nd4! zz 1...Kxd4 2.Nf3# 1...Kd6 2.Qb8# 1...Nc4/Nc8/Na8 2.Qc5# 1...Nd5 2.Nc4# 1...Nd7/Na4 2.Bc7#" keywords: - Flight giving key - Flight giving and taking key - Active sacrifice - Black correction --- authors: - Baird, Edith Elina Helen source: Daily Chronicle date: 1901 algebraic: white: [Kb7, Qg7, Re8, Bg1, Ba6, Sa4, Sa3, Pg2, Pf5, Pf2, Pc2] black: [Kd4, Sh3, Se5, Ph5, Ph4, Pf4, Pd6, Pd5, Pa7] stipulation: "#2" solution: | "1...Ng5 2.f3# 1.Rxe5?? (2.c3#/Re3#/Re2#/Re1#/Re6#/Re7#/Re8#) 1...Nxf2 2.Bxf2#/c3#/Re2#/Re1#/Re6#/Re7#/Re8# but 1...dxe5! 1.Bd3?? (2.Nb5#) 1...Nxf2 2.Bxf2# but 1...a6! 1.f3+?? 1...Nf2 2.Bxf2# but 1...Nxg1! 1.Qg4?? zz 1...Ke4/Ng5 2.f3# 1...Nf3/Nxg4/Nd3 2.c3# 1...Nf7/Ng6/Nd7/Nc6 2.c3#/Qd1# 1...Nc4 2.Nb5# 1...Nxg1/Nxf2 2.Qxf4# but 1...hxg4! 1.Qh6?? zz 1...f3 2.Qe3# 1...Nxg1/Nxf2 2.Qxf4# 1...Ng5 2.f3# 1...Nf3/Nf7/Ng4/Ng6/Nd3/Nd7/Nc6 2.c3# 1...Nc4 2.Nb5# but 1...Ke4! 1.Qg5! zz 1...Ke4/Nxg5 2.f3# 1...f3 2.Qe3# 1...Nf3/Nf7/Ng4/Ng6/Nd3/Nd7/Nc6 2.c3# 1...Nc4 2.Nb5# 1...Nxg1/Nxf2 2.Qxf4#" keywords: - Active sacrifice - Black correction --- authors: - Baird, Edith Elina Helen source: Bradford Observer Budget date: 1895 algebraic: white: [Kd8, Qe7, Rh6, Rg3, Bh8, Bb1, Se2, Sb2, Pf2, Pe6, Pe4, Pd5, Pd3, Pa5] black: [Ke5, Bb8, Bb5, Sg7, Sf6, Ph7, Pg4, Pd4, Pa6] stipulation: "#2" solution: | "1...Ngh5[a]/Nge8[a]/Ng8[a]/Nfh5[a]/Nfe8[a]/Nxd5[a] 2.Rxh5#[A] 1...Nf5[b] 2.Bxf6#[B] 1...Bc7+/Ba7 2.Qxc7# 1...Bd6 2.Qxf6# 1...Bc4/Bc6/Bd7/Be8/Ba4 2.Nxc4# 1...Nxe6+ 2.Qxe6# 1...Nd7 2.Rh5#[A]/exd7# 1.Bxg7? (2.Bxf6#[B]/Rh5#[A]) 1...Bc7+ 2.Qxc7# 1...Be8 2.Nc4#/Bxf6#[B] but 1...Bxd3! 1.Rxg4?? (2.f4#) 1...Nfh5[a]/Nxd5[a]/Ngh5[a] 2.Rg5#/Rxh5#[A] 1...Bc7+ 2.Qxc7# 1...Bxd3 2.Nxd3# 1...Nxe6+ 2.Qxe6# but 1...Nxe4[c]! 1.Re3[C]! zz 1...Ngh5[a]/Nge8[a]/Ng8[a]/Nfh5[a]/Nxe4[c]/Nfe8[a]/Nxd5[a] 2.Rxh5#[A] 1...Nf5[b] 2.Bxf6#[B] 1...g3 2.f4# 1...Bc7+/Ba7 2.Qxc7# 1...Bd6 2.Qxf6# 1...Bc4/Bc6/Bd7/Be8/Ba4 2.Nxc4# 1...Bxd3 2.Nxd3# 1...dxe3 2.d4# 1...Nxe6+ 2.Qxe6# 1...Nd7 2.Rh5#[A]/exd7#" keywords: - Active sacrifice - Black correction - Rudenko --- authors: - Baird, Edith Elina Helen source: Rossendale Free Press date: 1893 algebraic: white: [Kb6, Qe7, Bh2, Bf1, Sd1, Sc6, Pg5, Pe6, Pa3] black: [Kd5, Ph3, Pd4, Pd3] stipulation: "#2" solution: | "1.Qf7? zz 1...Kc4[a] 2.e7#[B] 1...d2[b] 2.Qf5#[C] but 1...Ke4! 1.Nf2?? zz 1...d2[b] 2.Qd7#/Qd6#/Nb4# but 1...Kc4[a]! 1.Nc3+?? 1...Kc4[a] 2.Qb4# but 1...dxc3! 1.Bg2+?? 1...Kc4[a] 2.Na5#[A]/Qb4# but 1...hxg2! 1.Qd7+?? 1...Kc4[a] 2.Na5#[A] but 1...Ke4! 1.Qd6+?? 1...Kc4[a] 2.Na5#[A] but 1...Ke4! 1.Qb7! zz 1...Kc4[a] 2.Na5#[A] 1...d2[b] 2.Nd8#[D] 1...Ke4 2.Ne7# 1...Kxe6 2.Nxd4#" keywords: - Flight giving key - Changed mates --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplement date: 1892 algebraic: white: [Kd7, Qh7, Rg5, Rc8, Bf1, Ba7, Sb1, Ph2, Pg3, Pf7, Pe2, Pa3, Pa2] black: [Kd5, Be5, Ph3, Pf5] stipulation: "#2" solution: | "1...f4[a] 2.Qd3#[A]/Nc3#[B] 1.Qh4? (2.Rc5#/Qc4#) 1...f4[a] 2.Nc3#[B] 1...Bd4[b]/Bd6[b]/Bc7[b] 2.Qxd4#[C] 1...Bxg3/Bb8 2.Rc5#/Qd4#[C] 1...Bf6/Bg7/Bh8/Bc3/Bb2/Ba1 2.Rc5# but 1...Bf4! 1.Qh6?? (2.Qc6#) 1...Bf4/Bxg3/Bg7/Bh8/Bd4[b]/Bc3/Bb2/Ba1/Bd6[b]/Bc7[b]/Bb8 2.Qe6# but 1...Bf6! 1.Qg6?? (2.Qc6#) 1...Bf4/Bxg3/Bg7/Bh8/Bd4[b]/Bc3/Bb2/Ba1/Bd6[b]/Bc7[b]/Bb8 2.Qe6# but 1...Bf6! 1.Rxf5?? (2.Nc3#[B]) but 1...Ke4! 1.e4+[D]?? 1...fxe4 2.Nc3#[B]/Bc4# but 1...Kxe4! 1.Re8! zz 1...f4[a] 2.Qd3#[A] 1...Kc4/Bf4/Bxg3/Bf6/Bg7/Bh8/Bd4[b]/Bc3/Bb2/Ba1/Bd6[b]/Bc7[b]/Bb8 2.e4#[D] 1...Ke4 2.Nc3#[B]" keywords: - Flight giving key - Changed mates --- authors: - Baird, Edith Elina Helen source: Knowledge date: 1901 algebraic: white: [Kh4, Qd7, Rc8, Ra5, Bg2, Be5, Sg6, Sc2, Pe2, Pd6, Pc5, Pb3] black: [Kd5, Rf3, Bg8, Bf8, Se4, Sa2, Pg3, Pf5, Pe3, Pc6] stipulation: "#2" solution: | "1...Nxd6/Nxc5 2.Bxf3#[A] 1...Bh7/Bf7 2.Qf7# 1...Be6 2.Qxc6# 1...Nb4/Nc1/Nac3 2.Nxb4# 1...Rf2/Rf1 2.Nxe3# 1.Bf4? (2.Qxf5#) 1...Be6 2.Qxc6# 1...Bg7/Be7+/Bxd6 2.Ne7#[B] 1...Nxd6 2.Bxf3#[A] but 1...Rxf4+! 1.Bh8? zz 1...Nf2/Nf6/Ng5/Nd2/Nec3/f4 2.Qxf5# 1...Nxd6/Nxc5 2.Bxf3#[A] 1...Nb4/Nc1/Nac3 2.Nxb4# 1...Bh7/Bf7 2.Qf7# 1...Be6 2.Qxc6# 1...Rf2/Rf1 2.Nxe3# 1...Rf4+ 2.Nxf4# 1...Bh6/Be7+/Bxd6 2.Ne7#[B] but 1...Bg7! 1.Bc3? zz 1...Bh7/Bf7 2.Qf7# 1...Be6 2.Qxc6# 1...Nf2/Nf6/Ng5/Nd2/Nexc3/f4 2.Qxf5# 1...Nxd6/Nxc5 2.Bxf3#[A] 1...Nb4/Nc1 2.Nxb4# 1...Rf2/Rf1 2.Nxe3# 1...Rf4+ 2.Nxf4# 1...Bg7/Bh6/Be7+/Bxd6 2.Ne7#[B] but 1...Naxc3! 1.Bb2? zz 1...Nf2/Nf6/Ng5/Nd2/Nec3/f4 2.Qxf5# 1...Nxd6/Nxc5 2.Bxf3#[A] 1...Bh7/Bf7 2.Qf7# 1...Be6 2.Qxc6# 1...Nb4/Nc1 2.Nxb4# 1...Rf2/Rf1 2.Nxe3# 1...Rf4+ 2.Nxf4# 1...Bg7/Bh6/Be7+/Bxd6 2.Ne7#[B] but 1...Nac3! 1.Ba1? zz 1...Nf2/Nf6/Ng5/Nd2/Nec3/f4 2.Qxf5# 1...Nxd6/Nxc5 2.Bxf3#[A] 1...Nb4/Nc1 2.Nxb4# 1...Bh7/Bf7 2.Qf7# 1...Be6 2.Qxc6# 1...Rf2/Rf1 2.Nxe3# 1...Rf4+ 2.Nxf4# 1...Bg7/Bh6/Be7+/Bxd6 2.Ne7#[B] but 1...Nac3! 1.Bg7?? zz 1...Nf2/Nf6/Ng5/Nd2/Nec3/f4 2.Qxf5# 1...Nxd6/Nxc5 2.Bxf3#[A] 1...Bh7/Bf7 2.Qf7# 1...Be6 2.Qxc6# 1...Nb4/Nc1/Nac3 2.Nxb4# 1...Rf2/Rf1 2.Nxe3# 1...Rf4+ 2.Nxf4# 1...Be7+/Bxd6 2.Nxe7#[B] but 1...Bxg7! 1.Bf6! zz 1...Nf2/Nxf6/Ng5/Nd2/Nec3/f4 2.Qxf5# 1...Nxd6/Nxc5 2.Bxf3#[A] 1...Bh7/Bf7 2.Qf7# 1...Be6 2.Qxc6# 1...Nb4/Nc1/Nac3 2.Nxb4# 1...Rf2/Rf1 2.Nxe3# 1...Rf4+ 2.Nxf4# 1...Bg7/Bh6/Be7/Bxd6 2.Ne7#[B]" keywords: - Black correction - Nietvelt - Transferred mates --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1890 algebraic: white: [Kh3, Qh8, Bd2, Ba6, Sf4, Sa5, Pf3, Pe5, Pc6] black: [Kd4, Re4, Ba4, Pd7] stipulation: "#2" solution: | "1...Bb3/Bxc6 2.Nxb3# 1...d5 2.Ne6# 1.Qb8! (2.Qd6#) 1...Kc5 2.Qa7# 1...Bb3/Bxc6 2.Nxb3# 1...Rxe5 2.Qb4# 1...d5 2.Ne6#" --- authors: - Baird, Edith Elina Helen source: Womanhood date: 1899 algebraic: white: [Kd1, Qe3, Bc5, Sf8, Sb6, Ph6, Pg4, Pd2] black: [Ke5, Bh4, Pe7, Pe4, Pd7, Pd3] stipulation: "#2" solution: | "1...Kf6 2.Qf4# 1...Bg3/Bf2/Be1/Bg5 2.Qg5# 1...Bf6 2.Qg3# 1...d6 2.Bd4# 1...d5 2.Nbd7# 1...e6 2.Nfxd7# 1.Nc4+?? 1...Kf6 2.Qf4# but 1...Kd5! 1.Nd5?? (2.Qd4#) 1...Bf2 2.Qg5# but 1...Kxd5! 1.h7?? zz 1...Bg3/Bf2/Be1 2.h8Q#/h8B#/Qg5# 1...Bg5 2.Qxg5# 1...Bf6 2.Qg3# 1...d6 2.Bd4# 1...d5 2.Nbd7# 1...e6 2.Nfxd7# but 1...Kf6! 1.Qxe4+?? 1...Kf6 2.Qxe7#/Qf4#/Qf5# but 1...Kxe4! 1.Qf3?? (2.Qf5#) 1...e6 2.Ng6#/Nfxd7# but 1...exf3! 1.Qg3+?? 1...Kf6 2.Qf4# but 1...Bxg3! 1.Qf2?? (2.Qf5#) 1...e6 2.Ng6#/Nfxd7# but 1...Bxf2! 1.Kc1! zz 1...Kf6 2.Qf4# 1...d6 2.Bd4# 1...d5 2.Nbd7# 1...e6 2.Nfxd7# 1...Bg3/Bf2/Be1/Bg5 2.Qg5# 1...Bf6 2.Qg3#" keywords: - Black correction - Block --- authors: - Baird, Edith Elina Helen source: Vanity Fair date: 1889 algebraic: white: [Kg8, Qa5, Rh6, Bf2, Sb5, Sb4, Pg4, Pf3, Pe2, Pd6] black: [Ke5, Sg6, Ph7, Pg5, Pe7] stipulation: "#2" solution: | "1...Kf4 2.Nd3# 1...Nh4/Nh8/Nf8 2.Bg3# 1...Nf4 2.Qa1#/Bd4# 1.Rxg6?? (2.Bg3#) 1...Kf4 2.Nd3# but 1...hxg6! 1.Qa1+?? 1...Kf4 2.Nd3#/Nd5#/Qd4# but 1...Ke6! 1.Qa7?? zz 1...Ke6/Kf6 2.Qxe7# 1...Kf4 2.Nd3#/Qd4#/Qe3# 1...Nh4/Nh8/Nf8 2.Bg3#/Qd4#/Qe3# 1...Nf4 2.Bd4#/Qa1#/Qd4#/Qe3# 1...e6 2.Qd4# but 1...exd6! 1.Qc7?? zz 1...Ke6/Kf6 2.Qxe7# 1...Kf4 2.Nd3# 1...Nh4/Nh8/Nf8 2.Bg3#/dxe7#/d7# 1...Nf4 2.Bd4#/Qc3#/dxe7#/d7# 1...exd6 2.Qxd6# but 1...e6! 1.Nc7+?? 1...Kf4 2.Ne6#/Nd3#/Qf5# 1...Kf6 2.Qf5# but 1...Kxd6! 1.Nd4+?? 1...Kf4 2.Nd3#/e3#/Qf5#/Ne6# 1...Kf6 2.Qf5# but 1...Kxd6! 1.Qd8! zz 1...Ke6/Kf6 2.Qxe7# 1...Kf4 2.Nd3# 1...exd6 2.Qxd6# 1...e6 2.Qxg5# 1...Nh4/Nh8/Nf8 2.Bg3# 1...Nf4 2.Bd4#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Football Field date: 1892 algebraic: white: [Kb3, Qg5, Bc7, Bb1, Pg6, Pc3, Pb7, Pb5] black: [Ke6, Rd6, Pd3] stipulation: "#2" solution: | "1...Rd7 2.Qe5# 1.Qf5+?? 1...Ke7 2.Qf7# but 1...Kxf5! 1.Qf6+?? 1...Kd5 2.Qf5# 1...Kd7 2.Qf7# but 1...Kxf6! 1.Qf4! zz 1...Ke7/Kd7/Rd5/Rd4/Rd8/Rc6/Rb6/Ra6 2.Qf7# 1...Kd5 2.Qf5# 1...d2 2.Qxd6# 1...Rd7 2.Qe5#" keywords: - 2 flights giving key - Black correction --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplement date: 1900 algebraic: white: [Kg7, Qd1, Rf5, Bh2, Bc8, Sg6, Sg3, Pb6, Pa3] black: [Kd6, Sd7, Sd5, Pf6, Pc6] stipulation: "#2" solution: | "1...c5 2.Qxd5# 1...Ne5/Nf8/Nxb6/Nb8 2.Ne4# 1...Nc5 2.Nh1#/Nh5#/Nf1#/Ne2#/Ne4# 1.Rxf6+?? 1...Nxf6 2.Ne4# but 1...Kc5! 1.Rxd5+?? 1...Ke6 2.Bxd7#/Rd6# but 1...cxd5! 1.Qd2?? zz 1...Kc5 2.Qb4# 1...c5 2.Qxd5# 1...Ne5/Nf8/Nxb6/Nb8 2.Ne4# 1...Nc5 2.Nh1#/Nh5#/Nf1#/Ne2#/Ne4# but 1...Ke6! 1.Qd4?? zz 1...c5 2.Qxd5# 1...Ne5 2.Ne4#/Rxf6# 1...Nf8/Nc5/Nxb6 2.Nh1#/Nh5#/Nf1#/Ne2#/Ne4# 1...Nb8 2.Nh1#/Nh5#/Nf1#/Ne2#/Ne4#/Rxf6# but 1...Ke6! 1.Qb3! zz 1...Ke6 2.Rxf6# 1...Kc5 2.Qb4# 1...Ne3/Ne7/Nf4/Nc3/Nc7/Nb4/N5xb6/Ne5/Nf8/Nc5/N7xb6/Nb8 2.Ne4# 1...c5 2.Qxd5#" keywords: - Defences on same square --- authors: - Baird, Edith Elina Helen source: Nottinghamshire Guardian date: 1891 algebraic: white: [Kg6, Qg7, Rh4, Rc2, Bg3, Bb3, Se5, Sd2, Pf2, Pe4, Pe2, Pc6, Pa3] black: [Kd4, Sg4, Sb7, Pe6, Pc3] stipulation: "#2" solution: | "1...Nc5[a] 2.Nef3#[A] 1...Nd6[b]/Nd8/Na5 2.Qa7#[B] 1...cxd2[c] 2.Rc4#[C] 1...Nxf2[d] 2.Bxf2#[D] 1...Nxe5+ 2.Qxe5# 1.Qf8? (2.Qb4#/Nef3#[A]) 1...Nc5[a]/Na5 2.Qd6#[E]/Nef3#[A] 1...Nd6[b] 2.Qxd6#[E] 1...cxd2[c] 2.Qb4#/Rc4#[C] 1...Nxf2[d] 2.Qxf2#[F] 1...Nh2 2.Qb4#/e3# 1...Ne3 2.Nef3#[A]/Ndf3# but 1...Nxe5+! 1.Bxe6? zz 1...Nc5[a] 2.Nef3#[A]/Nxg4# 1...Nd6[b]/Nd8/Na5 2.Qa7#[B] 1...cxd2[c] 2.Rc4#[C] 1...Nxf2[d] 2.Bxf2#[D] 1...Nh2/Nh6/Ne3 2.Nb3#/Nd3#/Nd7# 1...Nf6 2.Nb3# 1...Nxe5+ 2.Qxe5# but 1...Kc5! 1.Ba2[G]? zz 1...Nc5[a] 2.Nef3#[A] 1...Nd6[b]/Nd8/Na5 2.Qa7#[B] 1...cxd2[c] 2.Rc4#[C] 1...Nxf2[d] 2.Bxf2#[D] 1...Nh2/Nh6/Nf6/Ne3 2.Nb3# 1...Nxe5+ 2.Qxe5# but 1...Kc5! 1.Rxc3? (2.Rc4#[C]/Nef3#[A]) 1...Nxf2[d]/Ne3/Nd6[b]/Na5 2.Nef3#[A] 1...Nf6 2.Rc4#[C] 1...Nxe5+ 2.Qxe5#/Bxe5# but 1...Kxc3! 1.Qd7+?? 1...Nd6[b] 2.Qxd6#[E]/Qa7#[B] but 1...Kc5! 1.Qxb7?? (2.Qb6#/Qb4#/Qa7#[B]) 1...cxd2[c] 2.Qb4#/Rc4#[C] 1...Nxf2[d]/Ne3 2.Qb6#/Qa7#[B] 1...Kc5 2.Qb4# but 1...Nxe5+! 1.Rh5?? (2.Nef3#[A]) 1...cxd2[c] 2.Rc4#[C] 1...Nxf2[d] 2.Bxf2#[D] 1...Nxe5+ 2.Qxe5# but 1...Kc5! 1.Rxg4?? zz 1...Nc5[a] 2.e3#/Nef3#[A]/Ndf3# 1...Nd6[b]/Nd8/Na5 2.Qa7#[B] 1...cxd2[c] 2.Rc4#[C]/e3#/Nf3# but 1...Kc5! 1.Ndf3+?? 1...Kxe4 2.Rxg4# but 1...Kc5! 1.Nxg4+?? 1...e5 2.Qxe5# but 1...Kc5! 1.Nd3+?? 1...Nf6 2.Nf3#/Be5# 1...Ne5+ 2.Qxe5#/Bxe5# but 1...e5! 1.Nd7+?? 1...Nf6 2.Nf3#/Be5# 1...Ne5+ 2.Qxe5#/Bxe5# but 1...e5! 1.Ba4[H]! zz 1...Nc5[a] 2.Nef3#[A] 1...Nd6[b]/Nd8/Na5 2.Qa7#[B] 1...cxd2[c] 2.Rc4#[C] 1...Nxf2[d] 2.Bxf2#[D] 1...Kc5 2.Nd7# 1...Nh2/Nh6/Nf6/Ne3 2.Nb3# 1...Nxe5+ 2.Qxe5#" keywords: - Black correction - Changed mates - Rudenko --- authors: - Baird, Edith Elina Helen source: Standard date: 1892 algebraic: white: [Kg1, Qb2, Rg8, Rf7, Bh2, Bc8, Sf6, Sa8, Pc4] black: [Ke5, Rh4, Rb3, Sg3, Sb8, Pg4, Pe4, Pd4] stipulation: "#2" solution: | "1...Kf4 2.Nxg4# 1...e3/Rxb2/Rb4/Rb5/Rb6/Rb7 2.Bxg3# 1...Ra3/Rc3/Rd3/Re3/Rf3 2.Qxb8# 1.Qxd4+?? 1...Kf4 2.Nxg4#/Nh5#/Nh7#/Nxe4#/Ne8#/Nd5#/Nd7#/Qxe4# but 1...Kxd4! 1.Rg6! zz 1...Kf4/Rh3/Rxh2/Rh5/Rh6/Rh7/Rh8 2.Nxg4# 1...Kd6/Nc6/Nd7/Na6 2.Nd7# 1...Rxb2/Rb4/Rb5/Rb6/Rb7/e3 2.Bxg3# 1...Ra3/Rc3/Rd3/Re3/Rf3 2.Qxb8#" --- authors: - Baird, Edith Elina Helen source: Field date: 1898 algebraic: white: [Kc6, Qa8, Bh7, Bh2, Pf5, Pe3] black: [Ke4, Pf3, Pe5, Pd4, Pd3, Pc7] stipulation: "#2" solution: | "1...dxe3 2.Qa4# 1.Bg1?? (2.Kxc7#/f6#) 1...dxe3 2.Qa4# 1...d2 2.f6# but 1...f2! 1.Bf4! (2.Kxc7#/f6#) 1...d2 2.f6# 1...f2 2.Kxc7# 1...exf4 2.Qe8# 1...dxe3 2.Qa4#" keywords: - Flight taking key - Active sacrifice --- authors: - Baird, Edith Elina Helen source: Daily Telegraph date: 1902 algebraic: white: [Kc3, Re8, Rc6, Ba8, Sd2, Pd6, Pb3] black: [Kd5, Se5, Pf5, Pf4, Pc7, Pc5] stipulation: "#2" solution: | "1...Nc4 2.bxc4# 1.Rxc5+?? 1...Kxd6 2.Rd5# but 1...Kxc5! 1.Nc4! (2.Rxe5#) 1...Ke4/Nf3/Nf7/Ng4/Ng6/Nd3/Nd7 2.Rxc7# 1...Nxc4 2.bxc4# 1...cxd6 2.Rxd6#" keywords: - Flight giving key - Active sacrifice - Black correction --- authors: - Baird, Edith Elina Helen source: Lady's Pictorial date: 1895 algebraic: white: [Ke8, Qe3, Rc6, Bb3, Sg3, Sc2, Pe7] black: [Ke6, Rd6, Bd5, Se2, Pf6, Pe5] stipulation: "#2" solution: | "1...f5 2.Qh6# 1...e4 2.Qxe4# 1...Nf4/Ng1/Nxg3/Nd4/Nc1/Nc3 2.Nd4# 1...Bc4 2.Bxc4# 1...Bxb3 2.Qxb3# 1.Qe4?? (2.Qf5#/Qxd5#/Bxd5#) 1...Bc4 2.Bxc4#/Qxc4# 1...f5 2.Qxf5# 1...Rxc6 2.Qxd5# 1...Nf4/Nc3 2.Qf5#/Nd4# 1...Nxg3 2.Nd4#/Bxd5# 1...Nd4 2.Nxd4#/Qxd5#/Bxd5# but 1...Bxb3! 1.Qd3?? (2.Qxd5#/Qf5#/Bxd5#) 1...f5/Nf4/Nc3 2.Qxf5# 1...Nxg3 2.Bxd5# 1...Bc4 2.Qxd6#/Qxc4#/Bxc4#/Rxd6# 1...Bxb3 2.Rxd6#/Qxd6#/Qxb3# 1...Rxc6 2.Qxd5# 1...e4 2.Qxd5#/Qxe4# but 1...Nd4! 1.Qf3?? (2.Qf5#/Qxd5#/Bxd5#) 1...f5/Nc3 2.Qxf5# 1...Nxg3 2.Bxd5# 1...Nd4 2.Qxd5#/Bxd5# 1...e4 2.Qf5#/Qxe4# 1...Bc4 2.Bxc4# 1...Bxb3 2.Qxb3# 1...Rxc6 2.Qxd5# but 1...Nf4! 1.Qc5?? (2.Qxd5#/Qxd6#/Bxd5#/Rxd6#) 1...f5/Nf4/Nc3/Bxb3 2.Rxd6#/Qxd6# 1...e4 2.Qxd5#/Qxd6# 1...Bc4 2.Qxc4#/Qxd6#/Bxc4#/Rxd6# 1...Rxc6 2.Qxc6#/Qxd5#/Bxd5# but 1...Nxg3! 1.Ra6?? zz 1...f5 2.Qh6# 1...e4 2.Qxe4# 1...Bc4 2.Bxc4# 1...Bxb3 2.Qxb3# 1...Rc6 2.Rxc6# 1...Rb6 2.Qxb6#/Rxb6# 1...Nf4/Ng1/Nxg3/Nd4/Nc1/Nc3 2.Nd4# but 1...Rxa6! 1.Rb6! zz 1...Rc6 2.Rxc6# 1...Rxb6 2.Qxb6# 1...f5 2.Qh6# 1...Nf4/Ng1/Nxg3/Nd4/Nc1/Nc3 2.Nd4# 1...e4 2.Qxe4# 1...Bc4 2.Bxc4# 1...Bxb3 2.Qxb3#" keywords: - Active sacrifice - Switchback --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1895 algebraic: white: [Ke8, Bd4, Bc2, Sh4, Pf3, Pc5, Pc3, Pa4] black: [Kd5, Pc7] stipulation: "#2" solution: | "1...Ke6/c6 2.Bb3# 1...Kc6 2.Be4# 1.Ke7?? zz 1...Kc6 2.Be4# 1...c6 2.Bb3# but 1...Kc4! 1.Kd8?? zz 1...Ke6/c6 2.Bb3# 1...Kc6 2.Be4# but 1...Kc4! 1.Kd7?? (2.Bb3#) but 1...Kc4! 1.Ng6?? zz 1...Ke6 2.Nf4# 1...Kc6 2.Be4# 1...c6 2.Bb3# but 1...Kc4! 1.Nf5?? zz 1...Kc4 2.Ne3# 1...Kc6 2.Be4# 1...c6 2.Bb3# but 1...Ke6! 1.Bd3?? zz 1...Ke6 2.Bc4# 1...Kc6 2.Be4# but 1...c6! 1.Bg6?? zz 1...Ke6/c6 2.Bf7# 1...Kc6 2.Be4# but 1...Kc4! 1.Bh7?? zz 1...Ke6/c6 2.Bg8# 1...Kc6 2.Be4# but 1...Kc4! 1.Bb1?? zz 1...Ke6/c6 2.Ba2# 1...Kc6 2.Be4# but 1...Kc4! 1.Ng2! zz 1...Ke6 2.Nf4# 1...Kc4 2.Ne3# 1...Kc6 2.Be4# 1...c6 2.Bb3#" keywords: - Model mates --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1901 algebraic: white: [Ka4, Qc5, Rh2, Sg5, Se8, Pg2] black: [Kf4, Rg4, Pg3, Pf6, Pe6] stipulation: "#2" solution: | "1...Rh4 2.Rxh4# 1.Nd6?? (2.Nh3#/Nxe6#) 1...Rxg5/fxg5 2.Qd4# 1...Rh4 2.Rxh4# but 1...gxh2! 1.Ng7! (2.Nh5#/N7xe6#) 1...gxh2 2.Nh5# 1...Rxg5/fxg5 2.Qd4# 1...Rh4 2.Rxh4# 1...e5 2.Qc1# 1...f5 2.N7xe6#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Bristol Times and Mirror date: 1894 algebraic: white: [Kb8, Qg5, Rd4, Rb6, Sf6, Sf3, Pf5, Pf4, Pe2, Pb2, Pa5] black: [Kc5, Bc6, Pd7, Pd5, Pb3] stipulation: "#2" solution: | "1...Kd6[a] 2.Ne4#[A] 1...Bb7[b]/Ba8[b] 2.Nxd7#[B] 1.Qg8? zz 1...Kd6[a] 2.Qf8#[C] 1...Bb7[b]/Ba8[b] 2.Nxd7#[B] 1...Bb5[c]/Ba4[d] 2.Qxd5#[D] but 1...d6! 1.Nxd7+[B]?? 1...Bxd7 2.Qe7# but 1...Kd6[a]! 1.Rxd5+[E]?? 1...Kc4 2.Ne5#/Nd2# but 1...Bxd5! 1.Nd2! zz 1...Kd6[a] 2.Nfe4#[F] 1...d6/Bb5[c]/Bb7[b]/Ba8[b] 2.Nxb3#[G] 1...Ba4[d] 2.Rxd5#[E] 1...Kxd4 2.Qg1#" keywords: - Flight giving key - Changed mates --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1891 algebraic: white: [Kd8, Rh5, Re8, Bh8, Bb7, Se5, Sb1, Pg3, Pe2, Pd2, Pa5, Pa3] black: [Kd4, Pg4, Pf7] stipulation: "#2" solution: | "1.Nxg4+?? 1...f6 2.Re4# but 1...Kc4! 1.Ng6+?? 1...f6 2.Re4# but 1...Kc4! 1.Nd3+?? 1...f6 2.Re4# but 1...Kc4! 1.Nd7+?? 1...f6 2.Re4# but 1...Kc4! 1.Nc4+?? 1...f6 2.Re4# but 1...Kxc4! 1.d3! (2.Nf3#/Nxf7#/Nc6#) 1...Ke3 2.Nxg4# 1...Kc5 2.Nxf7# 1...f6 2.Nc6# 1...f5 2.Nd7#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: Standard date: 1893 algebraic: white: [Ke1, Qb6, Rh4, Bg2, Pf3, Pe3, Pa3] black: [Kd5, Bf8, Bd3, Pe7, Pb3] stipulation: "#2" solution: | "1...Bc4 2.f4# 1.e4+?? 1...Ke5 2.f4# 1...Kc4 2.Qb4# but 1...Bxe4! 1.f4+?? 1...Kc4 2.Qb4#/Qc6# but 1...Be4! 1.Rc4! (2.Rc5#) 1...Kxc4/e5 2.Qc6# 1...e6 2.Qd4# 1...Bxc4 2.f4#" keywords: - Flight giving key - Active sacrifice --- authors: - Baird, Edith Elina Helen source: Brighton Society date: 1895 algebraic: white: [Kd8, Rh6, Bg2, Bf8, Sg5, Sa3, Pe3, Pa5] black: [Kd6, Bg8, Pe7, Pe6, Pc7] stipulation: "#2" solution: | "1...Kc5 2.Bxe7# 1...c5 2.Nc4# 1.Nf7+?? 1...Kc5 2.Bxe7# but 1...Bxf7! 1.Rxe6+?? 1...Kc5 2.Bxe7# but 1...Bxe6! 1.Rh5! zz 1...Ke5/c6 2.Ne4# 1...Kc5/e5 2.Bxe7# 1...Bh7/Bf7 2.Nf7# 1...c5 2.Nc4#" --- authors: - Baird, Edith Elina Helen source: English Mechanic and World of Science date: 1889 algebraic: white: [Kh1, Qa1, Rh5, Rc8, Bg8, Bf4, Sg5, Pf3, Pe6, Pe5, Pb3] black: [Kd5, Sd4, Sc6, Pb4] stipulation: "#2" solution: | "1.Qa7?? zz 1...Ne2/Nxf3/Nf5/Nc2/Nxb3/Nb5 2.e7# 1...Nxe6 2.Bxe6# 1...Nd8/Ne7/Na5 2.Rc5#/Qd7#/Qc5# 1...Nxe5 2.Qc5# 1...Nb8 2.Rc5#/Qc5# but 1...Nxa7! 1.Qc3?? (2.Qc4#) 1...Nxb3 2.e7# 1...Nxe5 2.Qc5# 1...Na5 2.Rc5#/Rd8#/Qc5# but 1...bxc3! 1.Be3! zz 1...Kc5 2.Qa5# 1...Kxe5 2.Ne4# 1...Ne2/Nxf3/Nf5/Nc2/Nxb3/Nb5 2.e7# 1...Nxe6 2.Bxe6# 1...Nd8/Nxe5/Ne7/Nb8/Na5/Na7 2.Qxd4#" keywords: - Flight giving key - Black correction --- authors: - Baird, Edith Elina Helen source: South Western World date: 1894 algebraic: white: [Kg2, Qa8, Rc2, Be3, Bc8, Sd5, Pf4] black: [Ke4, Sc3, Pf5, Pd6, Pc4] stipulation: "#2" solution: | "1.Qa3! zz 1...Kd3 2.Bxf5# 1...Kxd5 2.Qa8# 1...Nd1/Ne2/Nb1/Nb5/Na2/Na4 2.Nf6# 1...Nxd5 2.Rxc4#" keywords: - Flight giving key - Black correction - Switchback --- authors: - Baird, Edith Elina Helen source: Field date: 1901 algebraic: white: [Kc7, Qh5, Re8, Rb4, Bb1, Ba1, Sg7, Sc4, Ph2, Pf2, Pe2, Pa2] black: [Kd5, Bg5, Se1, Sc2, Ph6, Pd6, Pc6, Pa7, Pa3] stipulation: "#2" solution: | "1...c5 2.e4#/Qf7# 1.Ne6! zz 1...Ke4/Ne3/Nxb4 2.Ne3# 1...a6/a5 2.Nb6# 1...c5 2.Nf4# 1...Nd4/Nxa1 2.e4# 1...Nf3/Ng2/Nd3 2.Qxf3#" keywords: - Flight giving and taking key --- authors: - Baird, Edith Elina Helen source: Nottinghamshire Guardian date: 1892 algebraic: white: [Kf3, Rh4, Re1, Bh5, Bb2, Se4, Sb7, Pf7, Pb5] black: [Kd5, Rc6, Pb3] stipulation: "#2" solution: | "1...Rc5/Rc4/Rc2/Rc1/Rc7/Rc8/Rf6+ 2.Nf6#[A] 1...Rc3+/Rb6/Ra6/Rd6/Re6/Rg6/Rh6 2.Nxc3#[B] 1.f8Q? zz 1...Ke6 2.Qf7# 1...Rc5/Rc2/Rc1 2.Bf7#/Qf7#/Qg8#/Nf6#[A] 1...Rc4 2.Bf7#/Qf7#/Qf5#/Qg8#/Qd6#/Nf6#[A] 1...Rc3+/Rb6/Ra6/Rd6/Rg6/Rh6 2.Nxc3#[B] 1...Rc7/Rf6+ 2.Nf6#[A] 1...Rc8 2.Bf7#/Qf7#/Nf6#[A] 1...Re6 2.Qc5#/Nc3#[B] but 1...Kc4! 1.f8N? zz 1...Rc5/Rc4/Rc2/Rc1/Rc8 2.Bf7#/Nf6#[A] 1...Rc3+/Rb6/Ra6/Rd6/Re6/Rg6/Rh6 2.Nxc3#[B] 1...Rc7/Rf6+ 2.Nf6#[A] but 1...Kc4! 1.Rf4? zz 1...Ke6/Rc5/Rc4/Rc2/Rc1/Rc7/Rc8 2.Nf6#[A] 1...Rc3+/Rb6/Ra6/Rd6/Re6/Rg6/Rh6 2.Nxc3#[B] 1...Rf6 2.Nxf6#[A]/Nc3#[B] but 1...Kc4! 1.Re3? zz 1...Kc4/Rb6/Ra6/Rd6/Re6/Rg6/Rh6 2.Nc3#[B] 1...Rc5/Rc4/Rc2/Rc1/Rc7/Rc8/Rf6+ 2.Nf6#[A] 1...Rc3 2.Nf6#[A]/Nxc3#[B] but 1...Ke6! 1.Rd1+?? 1...Kc4 2.Ned6#/Nc3#[B] but 1...Ke6! 1.Ned6?? (2.Rd4#/Re5#) 1...Rc4 2.Re5# but 1...Rc3+! 1.Nec5?? (2.Rd4#/Re5#/Rd1#) 1...Rxc5 2.Rd4#/Re5# 1...Re6 2.Rd4#/Rd1# but 1...Rf6+! 1.Bg6! zz 1...Ke6/Rc5/Rc4/Rc2/Rc1/Rc7/Rc8/Rf6+ 2.Nf6#[A] 1...Kc4/Rc3+/Rb6/Ra6/Rd6/Re6/Rxg6 2.Nc3#[B]" keywords: - Transferred mates --- authors: - Baird, Edith Elina Helen source: Standard date: 1895 algebraic: white: [Kc2, Qb6, Sg7, Sd6, Pg3] black: [Kd5, Pe5, Pb7] stipulation: "#2" solution: | "1.Ne4?? zz 1...Kc4 2.Qc5# but 1...Kxe4! 1.Nxb7?? zz 1...Kc4/e4 2.Qc5# but 1...Ke4! 1.Qb5+?? 1...Kd4 2.Ngf5# but 1...Kxd6! 1.Ndf5! zz 1...Ke4 2.Qxb7# 1...Kc4 2.Ne3# 1...e4 2.Qb5#" keywords: - 2 flights giving key - Model mates --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1890 algebraic: white: [Ke7, Qc1, Ra5, Bg4, Sb6, Pg2, Pf6, Pf4, Pe3] black: [Ke4, Sc5, Pd4] stipulation: "#2" solution: | "1...Nd3 2.Bf3#/Bf5# 1...Nd7/Ne6/Nb3/Nb7/Na4/Na6 2.Bf5# 1...dxe3 2.Qc4# 1.Nd7?? zz 1...Kd3 2.Nxc5# 1...Kd5 2.Bf3# 1...Nd3 2.Bf3#/Bf5# 1...Nxd7/Ne6/Nb3/Nb7/Na4/Na6 2.Bf5# 1...dxe3 2.Qc4# but 1...d3! 1.Rb5?? zz 1...Nd3 2.Bf3#/Bf5# 1...Nd7/Ne6/Nb3/Nb7/Na4/Na6 2.Bf5# 1...dxe3 2.Qc4# 1...d3 2.Rb4# but 1...Kd3! 1.Rxc5?? (2.Bf5#) 1...dxe3 2.Qc4# but 1...Kd3! 1.Qc2+?? 1...Kxe3 2.Nd5# 1...Nd3 2.Re5# but 1...d3! 1.Qc3?? (2.Qxd4#) 1...Ne6/Nb3 2.Bf3#/Bf5#/Re5# 1...dxe3 2.Qc4# but 1...dxc3! 1.Qc4?? (2.Qxd4#) 1...Ne6/Nb3 2.Re5# but 1...Kxe3! 1.Na4! zz 1...Kd3 2.Nxc5# 1...Kd5 2.Bf3# 1...dxe3 2.Qc4# 1...d3 2.Nc3# 1...Nd3 2.Bf3#/Bf5# 1...Nd7/Ne6/Nb3/Nb7/Nxa4/Na6 2.Bf5#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1894 algebraic: white: [Kh8, Bd2, Bb1, Sd8, Sb6, Pf5, Pd6, Pb4] black: [Ke5] stipulation: "#2" solution: | "1...Kf6 2.Nd7# 1...Kd4 2.Nc6# 1.Kh7?? zz 1...Kf6 2.Nd7# 1...Kd4 2.Nc6# but 1...Kxd6! 1.Kg8?? zz 1...Kf6 2.Nd7# 1...Kd4 2.Nc6# but 1...Kxd6! 1.Kg7?? zz 1...Kd4 2.Nc6# but 1...Kxd6! 1.Bc2?? zz 1...Kf6 2.Nd7# 1...Kd4 2.Nc6# but 1...Kxd6! 1.Be3?? zz 1...Kf6 2.Nd7# but 1...Kxd6! 1.f6! zz 1...Kxf6 2.Nd7# 1...Kd4 2.Nc6# 1...Kxd6 2.Bf4#" keywords: - Model mates --- authors: - Baird, Edith Elina Helen source: Times Weekly Edition date: 1895 algebraic: white: [Ka2, Rg8, Bf4, Sd8, Sc5, Pe4, Pb7, Pa5] black: [Kc7, Ra8, Bc8, Pf5, Pd6, Pc6, Pa7, Pa6] stipulation: "#2" solution: | "1...Kb8 2.Nxa6#/Bxd6# 1...Bd7 2.Nxa6# 1...Be6+/Bxb7 2.Ndxe6# 1.Nde6+?? 1...Kb8 2.Rxc8#/Bxd6#/bxc8Q#/bxc8R# but 1...Bxe6+! 1.Nf7?? (2.Bxd6#) but 1...Be6+! 1.bxa8Q?? zz 1...Bd7 2.Qb7#/Nxa6# 1...Be6+ 2.Ndxe6# 1...Bb7 2.Rg7#/Qxb7#/Nde6# but 1...fxe4! 1.bxa8R?? zz 1...Bd7 2.Nxa6# 1...Be6+ 2.Ndxe6# 1...Bb7 2.Rg7#/Nde6# but 1...fxe4! 1.bxc8Q+?? 1...Kxc8 2.Nde6# but 1...Rxc8! 1.bxc8R+?? 1...Kxc8 2.Nde6# but 1...Rxc8! 1.b8Q+?? 1...Kxb8 2.Bxd6# but 1...Rxb8! 1.b8B+?? 1...Kxb8 2.Bxd6# but 1...Rxb8! 1.e5! zz 1...Kb8/Bd7 2.Nxa6# 1...Be6+/Bxb7 2.Ndxe6# 1...dxc5/d5 2.e6# 1...dxe5 2.Bxe5# 1...Rb8 2.exd6#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald date: 1893 algebraic: white: [Kf2, Qb8, Bg8, Sf7, Sd2, Pe4, Pb5, Pb2, Pa3] black: [Kc5, Se6, Pd6, Pa6] stipulation: "#2" solution: | "1...Kd4/axb5 2.Qxd6# 1...Nd4 2.b4# 1.Ng5?? (2.Nxe6#) 1...Kd4 2.Qxd6# 1...Nf4/Nf8/Nxg5/Ng7/Nd8/Nc7 2.Nb3# 1...Nd4 2.b4# but 1...axb5! 1.Ne5?? (2.Nb3#) 1...Kd4 2.Qxd6# 1...Nd4 2.b4#/Nd3#/Nd7# but 1...dxe5! 1.Ke3?? (2.b4#) 1...axb5 2.Qxd6# but 1...a5! 1.Nd8! (2.Nxe6#) 1...Kd4 2.Qxd6# 1...Nf4/Nf8/Ng5/Ng7/Nxd8/Nc7 2.Nb3# 1...Nd4 2.b4# 1...axb5 2.Qa7#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1891 algebraic: white: [Kh8, Qh3, Rg4, Rc1, Bh5, Bg7, Se4, Sb8, Pd6, Pc5, Pa4] black: [Kd5, Ba2, Sc7, Sc2, Ph6, Pc6] stipulation: "#2" solution: | "1...Ke6[a] 2.Rg5#[A] 1...Ne8/Nb5/Na6/Na8 2.Bf7# 1...Bb1/Bb3 2.Qb3# 1.Qc3? zz 1...Ke6[a]/Bc4[b]/Ne1[b]/Ne3[b]/Nb4[b]/Na1[b]/Na3[b] 2.Qe5#[B] 1...Ne6[c] 2.Nf6#[C] 1...Bb1/Bb3 2.Qb3# 1...Ne8/Nb5/Na6/Na8 2.Bf7# but 1...Nd4! 1.Rg5+[A]?? 1...Kxe4 2.Qf3# 1...Kc4 2.Qc3# but 1...hxg5! 1.Rd1+?? 1...Ke6[a] 2.Rg3#/Rg2#/Rgg1#/Rg5#[A]/Rf4#/Rh4# 1...Kc4 2.Qc3# but 1...Nd4! 1.Nf6+[C]?? 1...Ke6[a] 2.Rg5#[A]/Re4# 1...Ke5 2.Re4# but 1...Kxc5! 1.Nc3+[D]?? 1...Ke6[a] 2.Rg3#/Rg2#/Rgg1#/Rg5#[A]/Rf4#/Re4#/Rd4#/Rc4#/Rb4#/Rh4# but 1...Kxc5! 1.Na6! zz 1...Ke6[a] 2.Rg5#[A] 1...Bc4[b]/Nd4/Ne1[b]/Ne3[b]/Nb4[b]/Na1[b]/Na3[b] 2.Nxc7#[E] 1...Ne6[c] 2.Nc3#[D] 1...Kc4 2.Nf6#[C] 1...Bb1/Bb3 2.Qb3# 1...Ne8/Nb5/Nxa6/Na8 2.Bf7#" keywords: - Black correction - Changed mates --- authors: - Baird, Edith Elina Helen source: Field date: 1900 algebraic: white: [Kd2, Qf8, Rc4, Bh7, Bh2, Sc8, Sc2, Pd6, Pc6, Pb4] black: [Kd5, Ra6, Be6, Sd1, Pf5, Pb5] stipulation: "#2" solution: | "1...Rxc6[a] 2.Rd4#[A] 1...f4[b] 2.Rc5#[B] 1...Ra5/Ra4/Ra3/Ra2/Ra1/Ra7/Ra8/Rb6 2.Nb6# 1...Bf7 2.Qxf7# 1...Bg8 2.Bxg8#/Qxg8# 1...Ne3/Nf2/Nc3/Nb2 2.Nxe3# 1.Qe8? (2.Rd4#[A]) 1...Bd7[e]/f4[b] 2.Rc5#[B] 1...Kxc4[c] 2.Qxe6#[C] but 1...bxc4[d]! 1.Bxf5? (2.Rc5#[B]) 1...Rxc6[a] 2.Rd4#[A] 1...Kxc4[c] 2.Bxe6#[D] 1...bxc4[d] 2.Ne7#[E] but 1...Bxf5! 1.Qxf5+?? 1...Kxc4[c] 2.Qd3#/Qxe6#[C] but 1...Bxf5! 1.Qe7?? zz 1...Rxc6[a] 2.Rd4#[A] 1...Bd7[e]/Bxc8/f4[b] 2.Rc5#[B] 1...Kxc4[c] 2.Qxe6#[C] 1...Ra5/Ra4/Ra3/Ra2/Ra1/Ra7/Ra8/Rb6 2.Nb6# 1...Bf7 2.Qxf7#/Rc5#[B] 1...Bg8 2.Bxg8#/Rc5#[B] 1...Ne3/Nf2/Nc3/Nb2 2.Nxe3# but 1...bxc4[d]! 1.Qg8! zz 1...Rxc6[a] 2.Rd4#[A] 1...f4[b] 2.Rc5#[B] 1...Kxc4[c] 2.Qxe6#[C] 1...bxc4[d] 2.Qg2#[F] 1...Ra5/Ra4/Ra3/Ra2/Ra1/Ra7/Ra8/Rb6 2.Nb6# 1...Bf7 2.Qxf7# 1...Bxg8 2.Bxg8# 1...Ne3/Nf2/Nc3/Nb2 2.Nxe3#" keywords: - Active sacrifice - Black correction - Changed mates - Pseudo Le Grand --- authors: - Baird, Edith Elina Helen source: Times Weekly Edition date: 1893 algebraic: white: [Kh2, Qg5, Re6, Ra5, Bh8, Bf1, Sd1, Pf5, Pe2, Pb5] black: [Kd5, Rd3, Ph3, Pe7, Pd7, Pc5] stipulation: "#2" solution: | "1...c4 2.b6# 1...Rd2/Rd4/Re3 2.Ne3# 1...Rxd1/Rc3/Rb3/Ra3/Rf3/Rg3 2.e4# 1.Qg4?? (2.Qe4#) 1...Rd4/Re3 2.Ne3# 1...c4 2.b6# but 1...dxe6! 1.Qg3?? (2.Qxd3#) 1...Rd2/Rd4/Re3 2.Ne3# 1...Rxd1/Rc3/Rb3/Ra3/Rf3/Rxg3 2.e4# 1...c4 2.b6#/Qe5# but 1...Kc4! 1.Qh4?? (2.Qe4#) 1...c4 2.b6# 1...Rd4/Re3 2.Ne3# but 1...dxe6! 1.Qf4?? (2.Qe4#) 1...c4 2.b6#/Qe5# 1...Rd4/Re3 2.Ne3# but 1...dxe6! 1.Qd2?? (2.Qxd3#/Ne3#) 1...dxe6 2.Qxd3# 1...c4 2.b6# 1...Rxd2 2.Ne3# 1...Rd4 2.Ne3#/e4# but 1...Kc4! 1.Qc1?? (2.e4#) 1...c4 2.b6# 1...Rd2/Rd4/Re3 2.Ne3# but 1...dxe6! 1.exd3?? (2.Ne3#/Nc3#) 1...c4 2.b6# but 1...dxe6! 1.Nc3+?? 1...Rxc3 2.e4# but 1...Kc4! 1.Qg8! zz 1...Kc4 2.Re4# 1...c4 2.b6# 1...dxe6 2.Qxe6# 1...d6 2.Rxe7# 1...Rd2/Rd4/Re3 2.Ne3# 1...Rxd1/Rc3/Rb3/Ra3/Rf3/Rg3 2.e4#" --- authors: - Baird, Edith Elina Helen source: The Chess Amateur date: 1924 algebraic: white: [Kf5, Rd3, Bb1] black: [Kh7] stipulation: "#2" solution: | "1.Kf6! zz 1...Kh6 2.Rh3# 1...Kh8/Kg8 2.Rd8#" keywords: - Flight taking key - Ideal mates - No pawns comments: - Original position in the source see here 127658. But almost all reprints have the position mirrored on the diagonal a1 h8. --- authors: - Dawson, Thomas Rayner - Baird, Edith Elina Helen source: The Chess Amateur date: 1924 algebraic: white: [Kc2, Rg6, Sh4, Se7] black: [Kh7, Se4] stipulation: "#2" solution: "1.Nhf5! (2.Rh6#)" keywords: - No pawns --- authors: - Baird, Edith Elina Helen source: The Times Weekly Edition date: 1919-10 algebraic: white: [Kh3, Qg3, Bg4, Se1, Ph2, Pg2, Pd2] black: [Ke4, Pg5, Pe2, Pd5, Pd4, Pc4] stipulation: "#2" solution: | "1...c3 2.d3# 1...d3 2.Qe3# 1.Nd3?? (2.Qf3#/Nf2#/Nc5#) 1...e1Q/e1B 2.Qf3#/Nc5# 1...e1N 2.Nf2#/Nc5# but 1...cxd3! 1.Be6?? zz 1...c3 2.d3# 1...d3 2.Qe3# but 1...g4+! 1.Bd7?? zz 1...c3 2.d3# 1...d3 2.Qe3# but 1...g4+! 1.Bc8?? zz 1...c3 2.d3# 1...d3 2.Qe3# but 1...g4+! 1.Qf2?? (2.Qf5#) 1...d3 2.Qe3# but 1...Ke5! 1.Nf3! (2.Nxg5#) 1...Kd3 2.Bf5# 1...d3 2.Qe5#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: Les Tours de Force sur l'Échiquier source-id: 55 date: 1906 algebraic: white: [Kc6, Qh8, Rh1, Ra8, Bc3] black: [Ka1, Qb1, Ra2, Bb2, Pg7, Pg3] stipulation: "#2" solution: | "1...Ra3 2.Rxa3# 1...Ra4 2.Rxa4# 1...Ra5 2.Rxa5# 1...Ra6+ 2.Rxa6# 1...Ra7 2.Rxa7# 1...Rxa8 2.Qxa8# 1...g6/g5 2.Bxb2# 1...Qc1 2.Rxc1# 1...Qd1 2.Rxd1# 1...Qe1 2.Rxe1# 1...Qf1 2.Rxf1# 1...Qg1 2.Rxg1# 1...Qxh1+ 2.Qxh1# 1.Qh7?? (2.Qxb1#/Rxb1#) 1...Ra3 2.Qxb1#/Rxa3# 1...Ra4 2.Rxa4#/Qxb1# 1...Ra5 2.Qxb1#/Rxa5# 1...Ra6+ 2.Rxa6# 1...Ra7 2.Rxa7#/Qxb1# 1...Rxa8 2.Qxb1# 1...Qc1 2.Rxc1# 1...Qd1 2.Rxd1# 1...Qe1 2.Rxe1# 1...Qf1 2.Rxf1# 1...Qg1 2.Rxg1# 1...Qxh1+ 2.Qxh1# but 1...g6! 1.Qg8?? (2.Rxa2#/Qxa2#) 1...Qc1 2.Qxa2#/Rxc1# 1...Qd1 2.Qxa2#/Rxd1# 1...Qe1 2.Qxa2#/Rxe1# 1...Qf1 2.Qxa2#/Rxf1# 1...Qg1 2.Qxa2#/Rxg1# 1...Ra3 2.Rxa3# 1...Ra4 2.Rxa4# 1...Ra5 2.Rxa5# 1...Ra6+ 2.Rxa6# 1...Ra7 2.Rxa7# 1...Rxa8 2.Qxa8# but 1...Qxh1+! 1.Qb8?? (2.Qxb2#/Bxb2#) 1...Bxc3 2.Qxb1#/Rxb1# 1...Qc1 2.Qxb2#/Rxc1# 1...Qd1 2.Qxb2#/Rxd1# 1...Qe1 2.Rxe1#/Qxb2# 1...Qf1 2.Qxb2#/Rxf1# 1...Qg1 2.Rxg1#/Qxb2# 1...Ra3 2.Qxb2#/Rxa3# 1...Ra4 2.Qxb2#/Rxa4# 1...Ra5 2.Rxa5#/Qxb2# 1...Ra6+ 2.Rxa6# 1...Ra7 2.Qxb2#/Qxa7#/Rxa7# 1...Rxa8 2.Qxb2#/Qxa8# but 1...Qxh1+! 1.Bxg7! (2.Bxb2#) 1...Bc3 2.Bxc3# 1...Bd4 2.Bxd4# 1...Be5 2.Bxe5# 1...Bf6 2.Bxf6# 1...Bxg7 2.Qxg7# 1...Ra3 2.Rxa3# 1...Ra4 2.Rxa4# 1...Ra5 2.Rxa5# 1...Ra6+ 2.Rxa6# 1...Ra7 2.Rxa7# 1...Rxa8 2.Qxa8# 1...Qc1+ 2.Rxc1# 1...Qd1 2.Rxd1# 1...Qe1 2.Rxe1# 1...Qf1 2.Rxf1# 1...Qg1 2.Rxg1# 1...Qxh1+ 2.Qxh1#" keywords: - Active sacrifice - Model mates - Switchback comments: - Dated in 1893, without source --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1902 algebraic: white: [Kb2, Qf3, Sd3, Sb3] black: [Kc4, Sf6, Pd6, Pb5] stipulation: "#2" solution: | "1...Ng4/Ng8/Nh5/Nh7/Ne4/Ne8/Nd5/Nd7 2.Qe4# 1.Ndc5? zz 1...Kb4/d5[a] 2.Qc3#[B] 1...b4[b] 2.Qd3#[A] 1...Ng4/Ng8/Nh5/Nh7/Ne4/Ne8/Nd5/Nd7 2.Qe4# but 1...dxc5! 1.Kc2?? (2.Qc6#) 1...Ne4/Nd5/Nd7 2.Qxe4# but 1...d5[a]! 1.Qf4+?? 1...Kxd3 2.Nc1# 1...Ne4 2.Qxe4# but 1...Kd5! 1.Ne1?? zz 1...d5[a] 2.Qc3#[B] 1...b4[b] 2.Qd3#[A]/Qc6# 1...Ng4/Ng8/Nh5/Nh7/Ne4/Ne8/Nd5/Nd7 2.Qe4# but 1...Kb4! 1.Nf2?? zz 1...d5[a] 2.Qc3#[B] 1...b4[b] 2.Qd3#[A]/Qc6# 1...Ng4/Ng8/Nh5/Nh7/Ne4/Ne8/Nd5/Nd7 2.Qe4# but 1...Kb4! 1.Nf4[C]?? (2.Qc3#[B]) 1...b4[b] 2.Qf1#/Qd3#[A]/Qe2#/Qc6# 1...Ne4/Nd5 2.Qxe4# but 1...Kb4! 1.Ndc1?? zz 1...d5[a] 2.Qc3#[B] 1...b4[b] 2.Qd3#[A]/Qc6# 1...Ng4/Ng8/Nh5/Nh7/Ne4/Ne8/Nd5/Nd7 2.Qe4# but 1...Kb4! 1.Nb4?? (2.Qc3#[B]) 1...Ne4/Nd5 2.Qxe4# but 1...Kxb4! 1.Qe2! zz 1...d5[a] 2.Qc2#[D] 1...b4[b] 2.Nf4#[C] 1...Kd5 2.Nb4# 1...Ng4/Ng8/Nh5/Nh7/Ne4/Ne8/Nd5/Nd7 2.Qe4#" keywords: - Flight giving key - Defences on same square - Changed mates --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald date: 1890 algebraic: white: [Kh2, Qc5, Rh1, Rg4, Bh6, Bf1, Se5, Sb1, Pf6, Pd3, Pa6] black: [Ke3, Rc7, Bb8, Sg5, Sd4, Ph4, Ph3, Pf2, Pa7] stipulation: "s#2" solution: | "1.Se5-g6 ! zugzwang. 1...Ke3-f3 2.Rg4-g3 + 2...h4*g3 # 1...Rc7*c5 + 2.Rg4-g3 + 2...Sd4-f3 # 2...h4*g3 # 2...Bb8*g3 # 1...Rc7-c6 + 2.Rg4-g3 + 2...h4*g3 # 2...Bb8*g3 # 1...Rc7-b7 + 2.Rg4-g3 + 2...h4*g3 # 2...Bb8*g3 # 1...Rc7-c8 + 2.Rg4-g3 + 2...h4*g3 # 2...Bb8*g3 # 1...Rc7-h7 + 2.Rg4-g3 + 2...h4*g3 # 2...Bb8*g3 # 1...Rc7-g7 + 2.Rg4-g3 + 2...h4*g3 # 2...Bb8*g3 # 1...Rc7-f7 + 2.Rg4-g3 + 2...h4*g3 # 2...Bb8*g3 # 1...Rc7-e7 + 2.Rg4-g3 + 2...h4*g3 # 2...Bb8*g3 # 1...Rc7-d7 + 2.Rg4-g3 + 2...h4*g3 # 2...Bb8*g3 #" --- authors: - Baird, Edith Elina Helen source: Souther Counties Chess Journal date: 1893 distinction: 1st Prize algebraic: white: [Kf5, Qc5, Rh7, Rd1, Bg6, Sh5, Sg5, Pe4] black: [Kd7, Qa7, Rd8, Rc7, Bc8, Ba5, Sh2, Sd3, Ph6, Pg7, Pc3, Pb7] stipulation: "s#2" solution: | "1.Sg5-f3 ! threat: 2.Qc5-d6 + 2...Kd7*d6 # 1...Ba5-b4 2.Qc5*c7 + 2...Kd7*c7 # 1...Qa7*c5 + 2.Sf3-e5 + 2...Qc5*e5 # 2...Kd7-e7 # 2...Kd7-d6 # 1...Qa7-b6 2.Sh5-f6 + 2...Qb6*f6 # 1...Qa7-a6 2.Sh5-f6 + 2...Qa6*f6 # 1...Rc7*c5 + 2.Sf3-e5 + 2...Rc5*e5 # 2...Kd7-e7 # 2...Kd7-c7 # 2...Kd7-d6 # 1...Rc7-c6 2.Qc5-e7 + 2...Kd7*e7 # 1...Rd8-f8 + 2.Sh5-f6 + 2...Kd7-d8 # 2...Rf8*f6 #" --- authors: - Baird, Edith Elina Helen source: Hackney Mercury date: 1894 distinction: 2nd Prize algebraic: white: [Ke6, Qd8, Ra4, Bb1, Pg6, Pf7, Pc6, Pb3] black: [Ke4, Qb4, Re3, Bf3, Sg1, Sb8, Pg7, Pd3, Pc7] stipulation: "s#2" solution: | "1.Qd8-g5 ! threat: 2.Qg5-f4 + 2...Ke4*f4 # 2.Qg5-g4 + 2...Bf3*g4 # 1...Sg1-h3 2.Qg5-f4 + 2...Sh3*f4 # 2...Ke4*f4 # 1...Sg1-e2 2.Qg5-f4 + 2...Se2*f4 # 2...Ke4*f4 # 1...Re3-e1 2.Qg5-f4 + 2...Ke4*f4 # 1...Re3-e2 2.Qg5-f4 + 2...Ke4*f4 # 1...Bf3-d1 2.Qg5-g4 + 2...Bd1*g4 # 1...Bf3-e2 2.Qg5-g4 + 2...Be2*g4 # 1...Bf3-h1 2.Qg5-f4 + 2...Ke4*f4 # 1...Bf3-g2 2.Qg5-f4 + 2...Ke4*f4 # 1...Bf3-h5 2.Qg5-g4 + 2...Bh5*g4 # 1...Bf3-g4 + 2.Qg5-f5 + 2...Ke4-d4 # 2...Bg4*f5 # 1...Qb4*a4 2.Qg5-f4 + 2...Ke4*f4 # 1...Qb4-d4 2.Qg5-f4 + 2...Ke4*f4 # 1...Qb4-c4 + 2.Qg5-d5 + 2...Ke4-f4 # 1...Ke4-d4 + 2.Qg5-e5 + 2...Re3*e5 # 1...Sb8-a6 2.Qg5-g4 + 2...Bf3*g4 # 1...Sb8*c6 2.Qg5-g4 + 2...Bf3*g4 # 1...Sb8-d7 2.Qg5-g4 + 2...Bf3*g4 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplemen date: 1902 algebraic: white: [Kb6, Qh5, Rd1, Ra4, Bh8, Bg6, Sd8, Sa3, Pf2, Pb2, Pa5] black: [Kd4, Rg7, Rd3, Be1, Sb4, Ph6, Pf3, Pd2, Pb3, Pa6] stipulation: "s#2" solution: | "1.Bg6-h7 ! zugzwang. 1...Be1*f2 2.Qh5-e5 + 2...Kd4*e5 # 1...Rd3-c3 2.Sd8-c6 + 2...Rc3*c6 # 1...Rd3-e3 2.Sd8-e6 + 2...Re3*e6 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1902 algebraic: white: [Kd4, Qg4, Rc3, Bd8, Sa3, Pg6, Pe7, Pe3] black: [Kd6, Qe8, Bh8, Sg7, Sa8, Pe4, Pd7, Pd5] stipulation: "s#2" solution: | "1.Qg4-f5 ! threat: 2.Qf5-f6 + 2...Sg7-e6 # 1...Sg7-h5 + 2.Qf5-e5 + 2...Bh8*e5 # 1...Sa8-c7 2.Sa3-b5 + 2...Sc7*b5 # 1...Qe8-f7 2.Qf5*d5 + 2...Qf7*d5 # 1...Qe8*e7 2.Qf5-e5 + 2...Qe7*e5 # 1...Qe8-g8 2.Qf5*d5 + 2...Qg8*d5 #" --- authors: - Baird, Edith Elina Helen source: Bristol Mercury date: 1902 algebraic: white: [Kd3, Qe7, Rd7, Ra5, Bf3, Sg6, Pe2, Pc3, Pc2, Pb6, Pb4] black: [Kd5, Re4, Rd6, Bc6, Sg1, Sb5, Pf5, Pf4, Pe3, Pb7] stipulation: "s#2" solution: | "1.Qe7-e8 ! zugzwang. 1...Sg1-h3 2.Sg6*f4 + 2...Sh3*f4 # 1...Sg1*f3 2.Qe8*e4 + 2...f5*e4 # 1...Sg1*e2 2.Sg6*f4 + 2...Se2*f4 # 1...Bc6*d7 2.c3-c4 + 2...Kd5-c6 # 1...Rd6*d7 2.Qe8-e6 + 2...Kd5*e6 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplemen date: 1902 algebraic: white: [Kd3, Qg8, Rc6, Ra6, Bc3, Ba2, Se2, Sc2, Pc5] black: [Kd5, Qb3, Bg6, Bg1, Se6, Sb8, Ph5, Pf5, Pf4, Pe3, Pb5] stipulation: "s#2" solution: | "1.Qg8-f7 ! threat: 2.Qf7*f5 + 2...Bg6*f5 # 1...Qb3-c4 + 2.Ba2*c4 + 2...b5*c4 # 1...Bg6*f7 2.Se2*f4 + 2...Se6*f4 # 1...Sb8*a6 2.Sc2-b4 + 2...Sa6*b4 #" --- authors: - Baird, Edith Elina Helen source: Hackney Mercury date: 1902 algebraic: white: [Kd1, Qf8, Rd6, Rb4, Bb1, Sg4, Sa4, Pg5, Pe5] black: [Kd3, Qh4, Re6, Bh5, Ba3, Sd5, Sc2, Pg6, Pg3, Pe7, Pb3, Pb2] stipulation: "s#2" solution: | "1.Qf8-f4 ! zugzwang. 1...Ba3*b4 2.Bb1*c2 + 2...b3*c2 # 1...g3-g2 2.Bb1*c2 + 2...b3*c2 # 1...Qh4*g5 2.Qf4-d2 + 2...Qg5*d2 # 1...Qh4-h1 + 2.Qf4-f1 + 2...Qh1*f1 # 1...Qh4-h2 2.Qf4-d2 + 2...Qh2*d2 # 1...Qh4-h3 2.Qf4-f1 + 2...Qh3*f1 # 1...Qh4*g4 + 2.Qf4-f3 + 2...Qg4*f3 # 1...Bh5*g4 + 2.Qf4-f3 + 2...Bg4*f3 # 1...Re6*e5 2.Bb1*c2 + 2...b3*c2 # 1...Re6*d6 2.Qf4-e3 + 2...Sd5*e3 # 1...Re6-f6 2.Qf4-f1 + 2...Rf6*f1 # 1...e7*d6 2.Qf4-e3 + 2...Sd5*e3 #" --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Chronicle date: 1902 algebraic: white: [Kf6, Qb7, Rg5, Rd8, Bf2, Sh6, Sb4, Pg7, Pg2, Pf7, Pe7, Pd3, Pc2] black: [Kd4, Qe3, Rc4, Bh4, Bd7, Ph7, Pg3, Pc3] stipulation: "s#2" solution: | "1.Qb7-c7 ! zugzwang. 1...Qe3*f2 + 2.Sh6-f5 + 2...Qf2*f5 # 1...g3*f2 2.Qc7-e5 + 2...Qe3*e5 # 1...Rc4*b4 2.Qc7-b6 + 2...Rb4*b6 # 1...Rc4*c7 2.Sb4-c6 + 2...Rc7*c6 # 1...Rc4-c6 + 2.Qc7-d6 + 2...Rc6*d6 # 1...Rc4-c5 2.Sh6-f5 + 2...Rc5*f5 #" --- authors: - Baird, Edith Elina Helen source: Daily Gleaner date: 1902 algebraic: white: [Kc4, Qh1, Rf8, Bf2, Bc8, Sd5, Sd3, Pc3, Pb5, Pb3] black: [Kg4, Re6, Sh4, Sh2, Ph5, Ph3, Pg5, Pc5, Pb6] stipulation: "s#2" solution: | "1.Bf2-e1 ! zugzwang. 1...Sh2-f1 2.Sd5-e3 + 2...Sf1*e3 # 1...Sh2-f3 2.Sd3-e5 + 2...Sf3*e5 # 1...Sh4-f3 2.Sd3-e5 + 2...Sf3*e5 # 1...Sh4-g2 2.Sd5-e3 + 2...Sg2*e3 # 1...Sh4-g6 2.Sd3-e5 + 2...Sg6*e5 # 1...Sh4-f5 2.Qh1-e4 + 2...Re6*e4 # 1.Qh1-f3 + ! 1...Sh2*f3 2.Sd3-e5 + 2...Sf3*e5 # 1...Sh4*f3 2.Sd3-e5 + 2...Sf3*e5 #" --- authors: - Baird, Edith Elina Helen source: Nottingham Guardian date: 1902 algebraic: white: [Kf5, Qh6, Rd7, Rd2, Bb6, Bb5, Sg8, Sg4, Pg5, Pf4, Pb2] black: [Kd5, Bd4, Bc8, Sh8, Sa1, Ph7, Pd6, Pb7, Pb3] stipulation: "s#2" solution: | "1.Rd2-d1 ! zugzwang. 1...Sa1-c2 2.Sg4-e3 + 2...Sc2*e3 # 1...Bc8*d7 + 2.Qh6-e6 + 2...Bd7*e6 # 1...Sh8-f7 2.Qh6*d6 + 2...Sf7*d6 # 1...Sh8-g6 2.Sg8-e7 + 2...Sg6*e7 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplemen date: 1902 algebraic: white: [Kc4, Qg1, Rg5, Rg4, Bc3, Bb1, Sb7, Pe2, Pd5, Pb5, Pb3] black: [Ke4, Rf4, Rc2, Sh4, Sa7, Pg2, Pc5, Pb6] stipulation: "s#2" solution: | "1.Rg5-h5 ! zugzwang. 1...Rf4*g4 2.Qg1-e3 + 2...Ke4*e3 # 1...Sh4-f3 2.Rh5-e5 + 2...Sf3*e5 # 1...Sh4-g6 2.Rh5-e5 + 2...Sg6*e5 # 1...Sh4-f5 2.Sb7-d6 + 2...Sf5*d6 # 1...Sa7*b5 2.Sb7-d6 + 2...Sb5*d6 # 1...Sa7-c6 2.Rh5-e5 + 2...Sc6*e5 # 1...Sa7-c8 2.Sb7-d6 + 2...Sc8*d6 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplemen date: 1902 algebraic: white: [Kf3, Qe7, Rb5, Ra6, Bb8, Bb1, Se2, Pg2, Pa3] black: [Kf5, Ra2, Bh7, Sd3, Sa1, Ph6, Pg3, Pf4, Pd5, Pb2] stipulation: "s#2" solution: | "1.Qe7-h4 ! zugzwang. 1...Ra2*a3 2.Bb1*d3 + 2...Ra3*d3 # 1...Sa1-c2 2.Se2-d4 + 2...Sc2*d4 # 1...Sa1-b3 2.Se2-d4 + 2...Sb3*d4 # 1...h6-h5 2.Qh4-g4 + 2...h5*g4 # 1...Bh7-g6 2.Qh4-h5 + 2...Bg6*h5 # 1...Bh7-g8 2.Rb5*d5 + 2...Bg8*d5 #" --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Chronicle date: 1902 algebraic: white: [Kc3, Qa3, Rh5, Ra6, Bc6, Se1, Sc8, Pg6, Pd2, Pb2] black: [Kc5, Qf6, Rf7, Re6, Bf8, Sb4, Pg7, Pe7, Pe5, Pa4] stipulation: "s#2" solution: | "1.Ra6-b6 ! zugzwang. 1...Re6*c6 2.Rb6-b5 + 2...Kc5*b5 # 1...Re6-d6 2.Se1-d3 + 2...Rd6*d3 # 1...Qf6-h4 2.d2-d4 + 2...Qh4*d4 # 1...Qf6-g5 2.d2-d4 + 2...e5*d4 # 1...Qf6-f1 2.Se1-d3 + 2...Qf1*d3 # 1...Qf6-f2 2.d2-d4 + 2...Qf2*d4 # 1...Qf6-f3 + 2.Se1-d3 + 2...Qf3*d3 # 1...Qf6-f4 2.d2-d4 + 2...Qf4*d4 # 1...Qf6-f5 2.Se1-d3 + 2...Qf5*d3 # 1...Qf6*g6 2.Se1-d3 + 2...Qg6*d3 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1902 algebraic: white: [Ka5, Qh4, Rg6, Rf5, Ba7, Pe2, Pc2, Pa4] black: [Kc5, Rd5, Rb6, Bd4, Sa6, Pe3, Pd6, Pc7, Pc6, Pc4, Pc3] stipulation: "s#2" solution: | "1.Rf5-e5 ! zugzwang. 1...Bd4*e5 2.Qh4*c4 + 2...Kc5*c4 # 1...Rd5*e5 2.Qh4*d4 + 2...Kc5*d4 # 1...Sa6-b4 2.Ba7*b6 + 2...c7*b6 # 1...Sa6-b8 2.Ba7*b6 + 2...c7*b6 # 1...d6*e5 2.Rg6*c6 + 2...Kc5*c6 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1902 algebraic: white: [Ka4, Qc1, Rf4, Rf2, Bf7, Bc7, Se3, Sa6, Pd3, Pb3, Pa3] black: [Ke5, Ra8, Ra7, Bf6, Bf5, Sg3, Sb7, Pg6, Pd6, Pc5, Pa5] stipulation: "s#2" solution: | "1.Sa6-b8 ! threat: 2.Sb8-d7 + 2...Bf5*d7 # 1...Sg3-e4 2.Qc1-c3 + 2...Se4*c3 # 1...Bf5*d3 2.Qc1*c5 + 2...Sb7*c5 # 1...Bf5-e4 2.Sb8-c6 + 2...Be4*c6 # 1...Bf5-d7 + 2.Sb8-c6 + 2...Bd7*c6 # 1...Ra8*b8 2.Qc1*c5 + 2...Sb7*c5 #" --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1902 algebraic: white: [Ke6, Qg3, Rf1, Rb4, Bd6, Ba8, Sh7, Sc1, Ph2, Pf7, Pf6, Pf2, Pe7, Pc3, Pc2] black: [Ke4, Qh1, Rc6, Ba4, Sh8, Sb8, Pg4, Pf3, Pc4] stipulation: "s#2" solution: | "1.Sc1-b3 ! zugzwang. 1...Qh1-g2 2.Qg3*g4 + 2...Qg2*g4 # 1...Qh1*f1 2.Rb4*c4 + 2...Qf1*c4 # 1...Qh1-g1 2.Qg3*g4 + 2...Qg1*g4 # 1...Qh1*h2 2.Qg3-e5 + 2...Qh2*e5 # 1...Ba4*b3 2.Rb4*c4 + 2...Bb3*c4 # 1...Ba4-b5 2.Rb4*c4 + 2...Bb5*c4 # 1...Sb8-a6 2.Sb3-c5 + 2...Sa6*c5 # 1...Sb8-d7 2.Sb3-c5 + 2...Sd7*c5 # 1...Sh8*f7 2.Sh7-g5 + 2...Sf7*g5 # 1...Sh8-g6 2.Qg3-f4 + 2...Sg6*f4 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1902 algebraic: white: [Ke5, Qd1, Rc7, Be6, Pf5, Pf4, Pd6, Pa3] black: [Kc3, Bc6, Ba1, Sb1, Pd3] stipulation: "s#2" solution: | "1.Rc7-c8 ! zugzwang. 1...Ba1-b2 2.Qd1*d3 + 2...Kc3*d3 # 1...Sb1-d2 2.Qd1*d2 + 2...Kc3*d2 # 1...Sb1*a3 2.Qd1-d2 + 2...Kc3*d2 # 1...Kc3-b2 2.Qd1-c1 + 2...Kb2*c1 # 1...d3-d2 2.Qd1-c2 + 2...Kc3*c2 #" --- authors: - Baird, Edith Elina Helen source: Boy's Own Paper date: 1902 algebraic: white: [Ke4, Rg3, Bd5, Sg2, Sf7, Ph3, Pf3] black: [Kg6, Qg5, Rg8, Bh7, Pg7, Pd4, Pc5, Pc4] stipulation: "s#2" solution: | "1.h3-h4 ! threat: 2.h4-h5 + 2...Kg6-f6 # 2...Kg6*h5 # 1...Qg5-g4 + 2.Sg2-f4 + 2...Kg6-f6 # 1...Rg8-e8 + 2.Sf7-e5 + 2...Kg6-f6 # 2...Kg6-h6 # 2...Kg6-h5 # 2...Re8*e5 #" --- authors: - Baird, Edith Elina Helen source: Nottingham Guardian date: 1902 algebraic: white: [Ke4, Qf8, Rh6, Ra6, Bd4, Ba2, Sh3, Sb7, Pf3, Pd3, Pc7, Pb5] black: [Ke6, Rc4, Sg6, Se5, Pf4, Pd7, Pd6] stipulation: "s#2" solution: | "1.c7-c8=B ! zugzwang. 1...Se5-c6 2.b5*c6 2...d6-d5 # 1...Se5*d3 2.Sb7-c5 + 2...Sd3*c5 # 1...Se5*f3 2.Sh3-g5 + 2...Sf3*g5 # 1...Se5-g4 2.Qf8-f6 + 2...Sg4*f6 # 1...Se5-f7 2.Sh3-g5 + 2...Sf7*g5 #" --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald date: 1902 algebraic: white: [Ke4, Qb6, Rg4, Bf1, Bb4, Sf3, Sc1, Pg2, Pe3, Pd7, Pc3] black: [Kc4, Re2, Bf4, Be8, Sa1, Pg6, Pg5, Pg3, Pe7, Pe5, Pc2] stipulation: "s#2" solution: | "1.Qb6-b7 ! zugzwang. 1...e7-e6 2.Qb7-d5 + 2...e6*d5 # 1...Sa1-b3 2.Sf3-d2 + 2...Sb3*d2 # 1...Bf4*e3 2.Ke4*e5 + 2...Be3-f4 # 2...Be3-d4 # 1...Be8*d7 2.Qb7-c6 + 2...Bd7*c6 # 1...Be8-f7 2.Qb7-d5 + 2...Bf7*d5 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1902 algebraic: white: [Ke3, Ra5, Bd7, Ba1, Se8, Se1, Pg4, Pf7, Pf2, Pd2] black: [Ke5, Qh5, Bd5, Sb2, Ph6, Pg5, Pd3, Pa6] stipulation: "s#2" solution: | "1.Bd7-c8 ! zugzwang. 1...Qh5*g4 2.Se1-f3 + 2...Qg4*f3 # 1...Qh5*f7 2.Se1-f3 + 2...Qf7*f3 # 1...Qh5-g6 2.Se1*d3 + 2...Qg6*d3 # 1...Qh5-h1 2.Se1-f3 + 2...Qh1*f3 # 1...Qh5-h2 2.f2-f4 + 2...Qh2*f4 # 2...g5*f4 # 1...Qh5-h3 + 2.Se1-f3 + 2...Qh3*f3 # 1...Qh5-h4 2.f2-f4 + 2...g5*f4 #" --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald date: 1902 algebraic: white: [Ke3, Qe6, Rc8, Rb1, Bc3, Sd2, Pg3, Pf2, Pe4, Pa6] black: [Kc5, Ra3, Bb6, Sa4, Pg5, Pg4, Pf3, Pe5, Pc7, Pc4, Pa7, Pa5] stipulation: "s#2" solution: | "1.Rb1-b2 ! zugzwang. 1...Sa4*c3 2.Qe6-d5 + 2...Sc3*d5 # 1...Ra3-a1 2.Bc3-d4 + 2...e5*d4 # 1...Ra3-a2 2.Bc3-d4 + 2...e5*d4 # 1...Ra3-b3 2.Qe6-c6 + 2...Kc5*c6 # 1...Sa4*b2 2.Qe6-c6 + 2...Kc5*c6 # 1...c7-c6 2.Rb2-b5 + 2...Kc5*b5 #" --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald date: 1902 algebraic: white: [Ka4, Qf8, Rc1, Ba2, Pe6, Pd2, Pb7, Pa5, Pa3] black: [Kc4, Qa6, Rd4, Rc6, Bc2, Sb3, Pd7, Pd5, Pd3, Pc7, Pa7] stipulation: "s#2" solution: | "1.Qf8-d6 ! zugzwang. 1...Rc6-c5 2.Qd6*c5 + 2...Kc4*c5 # 1...Rd4-h4 2.Qd6*d5 + 2...Kc4*d5 # 1...Rd4-g4 2.Qd6*d5 + 2...Kc4*d5 # 1...Rd4-f4 2.Qd6*d5 + 2...Kc4*d5 # 1...Rd4-e4 2.Qd6*d5 + 2...Kc4*d5 # 1...Qa6*b7 2.Ba2*b3 + 2...Qb7*b3 # 1...Qa6-b6 2.Ba2*b3 + 2...Qb6*b3 # 1...Rc6-b6 2.Qd6-c5 + 2...Kc4*c5 # 1...Rc6*d6 2.Ba2*b3 + 2...Kc4-c5 # 1...c7*d6 2.Ba2*b3 + 2...Kc4-c5 # 1...d7*e6 2.Qd6*c6 + 2...Qa6*c6 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplemen date: 1902 algebraic: white: [Kb5, Qf3, Rh6, Rg5, Ba8, Se2, Pc7, Pc2, Pb4, Pa6, Pa4] black: [Kd5, Re5, Rc6, Bb8, Bb1, Se4, Pe6, Pd7, Pd6, Pb6] stipulation: "s#2" solution: | "1.Rg5-f5 ! zugzwang. 1...Bb1*c2 2.Qf3-d3 + 2...Bc2*d3 # 1...Bb1-a2 2.c2-c4 + 2...Ba2*c4 # 1...Re5*f5 2.Qf3*e4 + 2...Kd5*e4 # 1...e6*f5 2.Rh6*d6 + 2...Kd5*d6 # 1...Bb8-a7 2.Ba8*c6 + 2...d7*c6 # 1...Bb8*c7 2.Ba8*c6 + 2...d7*c6 #" --- authors: - Baird, Edith Elina Helen source: Reading Observer date: 1902 algebraic: white: [Kh3, Qh1, Rh5, Rc5, Bc8, Bc1, Sh8, Se8, Ph4, Ph2, Pa5] black: [Kf5, Qg5, Be6, Sb8, Pe5, Pc6, Pa6] stipulation: "s#2" solution: | "1.Bc8-d7 ! zugzwang. 1...Qg5*h5 2.Qh1-f3 + 2...Qh5*f3 # 1...Be6*d7 2.Rc5*e5 + 2...Kf5*e5 # 1...Sb8*d7 2.Qh1-e4 + 2...Kf5*e4 #" --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Chronicle date: 1902 algebraic: white: [Kd1, Qa2, Rf4, Bc6, Sg2, Se4, Pc7, Pa4] black: [Kd3, Qa5, Bh3, Pf5, Pd4, Pd2, Pa6] stipulation: "s#2" solution: | "1.Bc6-d5 ! zugzwang. 1...Bh3*g2 2.Rf4-f3 + 2...Bg2*f3 # 1...Bh3-g4 + 2.Rf4-f3 + 2...Bg4*f3 # 1...Qa5-c3 2.Qa2-c2 + 2...Qc3*c2 # 1...Qa5-b4 2.Qa2-b1 + 2...Qb4*b1 # 1...Qa5*c7 2.Qa2-c2 + 2...Qc7*c2 # 1...Qa5-b6 2.Qa2-b1 + 2...Qb6*b1 # 1...Qa5*a4 + 2.Qa2-c2 + 2...Qa4*c2 # 1...Qa5*d5 2.Qa2-b3 + 2...Qd5*b3 # 1...Qa5-c5 2.Qa2-c2 + 2...Qc5*c2 # 1...Qa5-b5 2.Qa2-b1 + 2...Qb5*b1 # 1...f5*e4 2.Qa2*d2 + 2...Qa5*d2 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine source-id: 817 date: 1892-05 algebraic: white: [Ke5, Qh5, Rc8, Rb1, Be1, Sg3, Sa3, Pf4, Pf2, Pc2, Pb7, Pb6] black: [Kc3, Qa6, Bg8, Sd2, Sc5, Pf3, Pe7, Pe6, Pa7, Pa5] stipulation: "s#2" solution: | "1.Qh5-h3 ! threat: 2.Sg3-e2 + 2...Qa6*e2 # 1...Qa6-e2 + 2.Sg3-e4 + 2...Qe2*e4 # 1...Qa6-d3 2.Sg3-e4 + 2...Qd3*e4 # 1...Qa6*b7 2.Sg3-e4 + 2...Qb7*e4 # 1...Qa6*b6 2.Rc8*c5 + 2...Qb6*c5 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplemen date: 1902 algebraic: white: [Ke4, Qg2, Rh6, Rc4, Bg3, Ba4, Sf8, Se2, Ph4, Pf5, Pd2, Pb4, Pa6] black: [Kc6, Qc5, Rg5, Bg6, Sb5, Ph5, Pg4, Pb6] stipulation: "s#2" solution: | "1.Qg2-h1 ! zugzwang. 1...Rg5*f5 2.Ke4-d3 + 2...Rf5-f3 # 2...Rf5-d5 # 1...Qc5*c4 + 2.Se2-d4 + 2...Qc4*d4 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine source-id: 806 date: 1892-02 algebraic: white: [Kd6, Qb5, Rb6, Bh8, Bg6, Ph5, Pf7, Pf2, Pe7, Pc7, Pc2] black: [Kd4, Rh7, Rh6, Bc8, Ba5, Sf6, Pd7, Pc3, Pb7] stipulation: "s#2" solution: | "1.Qb5-c6 ! zugzwang. 1...Ba5-b4 + 2.Qc6-c5 + 2...Bb4*c5 # 1...Ba5*b6 2.Qc6-c5 + 2...Bb6*c5 # 1...Rh6*h5 2.Qc6-d5 + 2...Rh5*d5 # 1...Rh6*g6 2.Bh8*f6 + 2...Rg6*f6 # 1...b7*c6 2.Rb6-b4 + 2...Ba5*b4 # 1...d7*c6 2.Rb6-b4 + 2...Ba5*b4 # 1...Rh7*f7 2.Bh8*f6 + 2...Rf7*f6 # 1...Rh7-g7 2.Qc6-e4 + 2...Sf6*e4 # 1...Rh7*h8 2.Qc6-e4 + 2...Sf6*e4 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1902 algebraic: white: [Kc6, Qb4, Rg5, Re1, Bd7, Ba1, Sc2, Sb1, Pg3, Pf3, Pc7] black: [Ke5, Rb3, Rb2, Be3, Sf5, Pf6] stipulation: "s#2" solution: | "1.Sb1-a3 ! zugzwang. 1...Rb3*a3 2.Qb4-c3 + 2...Ra3*c3 # 1...Rb3*b4 2.Sa3-c4 + 2...Rb4*c4 # 1...Rb3-d3 2.Qb4-d6 + 2...Rd3*d6 # 1...Rb3-c3 + 2.Qb4-c5 + 2...Rc3*c5 # 1...f6*g5 2.Qb4-e7 + 2...Sf5*e7 #" --- authors: - Baird, Edith Elina Helen source: Brighton And Hove Society date: 1902 algebraic: white: [Kc6, Qf6, Rc4, Bg2, Bf2, Pg5, Pc2, Pb7, Pb5] black: [Ke4, Qd4, Bf3, Sh4, Sa8, Pg6, Pf4, Pc7, Pc5, Pb6] stipulation: "s#2" solution: | "1.Bf2-g1 ! zugzwang. 1...Qd4*c4 2.Qf6-e6 + 2...Qc4*e6 # 1...Bf3*g2 2.Qf6*f4 + 2...Ke4*f4 # 1...Sh4*g2 2.Qf6-e5 + 2...Ke4*e5 # 1...Sh4-f5 2.Qf6-e7 + 2...Sf5*e7 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplemen date: 1902 algebraic: white: [Kf5, Qa4, Rh3, Ra2, Bf1, Sh5, Sd7, Pf6, Pe6, Pd2, Pc3, Pb7] black: [Kd3, Qe2, Rd6, Bg3, Bc8, Ph7, Ph6, Pc4] stipulation: "s#2" solution: | "1.Qa4-c6 ! zugzwang. 1...Qe2*f1 + 2.Sh5-f4 + 2...Qf1*f4 # 1...Rd6-d4 2.Sh5-f4 + 2...Rd4*f4 # 1...Rd6-d5 + 2.Sd7-e5 + 2...Rd5*e5 # 1...Rd6*c6 2.Sd7-c5 + 2...Rc6*c5 # 1...Rd6*d7 2.Qc6-d5 + 2...Rd7*d5 # 1...Rd6*e6 2.Sd7-e5 + 2...Re6*e5 # 1...Bc8*b7 2.Qc6-e4 + 2...Bb7*e4 # 1...Bc8*d7 2.Qc6-d5 + 2...Rd6*d5 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1902 algebraic: white: [Ke6, Qh5, Re5, Ra7, Bb6, Ba4, Se7, Sc8, Pg7, Pg4, Pf6] black: [Ke8, Rb5, Ra5, Bg8, Sh8, Sf7, Ph7, Ph6, Pa6] stipulation: "s#2" solution: | "1.Ke6-f5 ! zugzwang. 1...Sh8-g6 2.Sc8-d6 + 2...Sf7*d6 # 1...Ra5*a4 2.Se7*g8 + 2...Rb5*e5 #" --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1902 algebraic: white: [Ke4, Qf5, Rg8, Rc7, Bb3, Sd3, Sa5, Ph7] black: [Kf7, Qb5, Rf2, Rb4, Bg6, Bg5, Se7, Sc4, Pg4, Pf6, Pf4, Pd6, Pc6, Pc5] stipulation: "s#2" solution: | "1.Sa5-b7 ! threat: 2.Bb3*c4 + 2...Rb4*c4 # 2...Qb5*c4 # 2...d6-d5 # 1...Rb4*b3 2.Sb7*d6 + 2...Sc4*d6 # 1...Bg6-h5 2.Qf5-d5 + 2...c6*d5 #" --- authors: - Baird, Edith Elina Helen source: Weekly Gazette date: 1902 algebraic: white: [Ke1, Qg2, Rh4, Ra3, Bc5, Se5, Sa1, Ph2, Pb4] black: [Ke3, Qh6, Ba5, Sd4, Ph7, Pe6, Pe4, Pe2, Pc3, Pb5] stipulation: "s#2" solution: | "1.Bc5-b6 ! zugzwang. 1...Ba5*b4 2.Ra3*c3 + 2...Bb4*c3 # 1...Ba5*b6 2.Sa1-c2 + 2...Sd4*c2 # 1...Qh6-f4 2.Qg2-f2 + 2...Qf4*f2 # 1...Qh6-g5 2.Qg2-g1 + 2...Qg5*g1 # 1...Qh6-f8 2.Qg2-f2 + 2...Qf8*f2 # 1...Qh6-g7 2.Qg2-g1 + 2...Qg7*g1 # 1...Qh6*h4 + 2.Qg2-f2 + 2...Qh4*f2 # 1...Qh6-h5 2.Qg2*e2 + 2...Qh5*e2 # 1...Qh6-f6 2.Qg2-f2 + 2...Qf6*f2 # 1...Qh6-g6 2.Qg2-g1 + 2...Qg6*g1 #" --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald date: 1902 algebraic: white: [Kd3, Qb4, Rb6, Bc8, Sh5, Sd7, Pf6, Pf2, Pe5, Pc2] black: [Kd5, Qa8, Be8, Sh8, Sg1, Pf7, Pf3, Pd4, Pc3] stipulation: "s#2" solution: | "1.Rb6-a6 ! zugzwang. 1...Sg1-h3 2.Sh5-f4 + 2...Sh3*f4 # 1...Sg1-e2 2.Sh5-f4 + 2...Se2*f4 # 1...Qa8-c6 2.Qb4-c4 + 2...Qc6*c4 # 1...Qa8-b7 2.Qb4-b5 + 2...Qb7*b5 # 1...Qa8*a6 + 2.Qb4-c4 + 2...Qa6*c4 # 1...Qa8-a7 2.Qb4*d4 + 2...Qa7*d4 # 1...Qa8*c8 2.Qb4-c4 + 2...Qc8*c4 # 1...Qa8-b8 2.Qb4-b5 + 2...Qb8*b5 # 1...Be8*d7 2.Qb4-b5 + 2...Bd7*b5 # 1...Sh8-g6 2.Sh5-f4 + 2...Sg6*f4 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplemen date: 1902 algebraic: white: [Kd5, Qd6, Rg4, Rd7, Bh4, Bb1, Sf2, Sd1, Ph6, Pf7, Pc4, Pb6] black: [Kf5, Qh7, Rf8, Bg8, Sh2, Se4, Pf3, Pc5, Pb7] stipulation: "s#2" solution: | "1.Rd7-d8 ! zugzwang. 1...Sh2-f1 2.Sd1-e3 + 2...Sf1*e3 # 1...Sh2*g4 2.Sd1-e3 + 2...Sg4*e3 # 1...Qh7-g6 2.Qd6-e6 + 2...Qg6*e6 # 1...Qh7*h6 2.Qd6-e6 + 2...Qh6*e6 # 1...Qh7*f7 + 2.Qd6-e6 + 2...Qf7*e6 # 1...Qh7-g7 2.Qd6-e5 + 2...Qg7*e5 # 1...Qh7-h8 2.Qd6-e5 + 2...Qh8*e5 # 1...Rf8*f7 2.Qd6-d7 + 2...Rf7*d7 # 1...Rf8*d8 2.Qd6-d7 + 2...Rd8*d7 # 1...Rf8-e8 2.Qd6-e5 + 2...Re8*e5 # 1...Bg8*f7 + 2.Qd6-e6 + 2...Bf7*e6 #" --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Chronicle date: 1902 algebraic: white: [Ke5, Qc1, Rh4, Re3, Ba5, Sf5, Sb2, Pf6, Pf2, Pc6, Pa2] black: [Kc3, Qd3, Rb4, Ba1, Pf7, Pf4, Pf3, Pc7, Pc2] stipulation: "s#2" solution: | "1.Sf5-d6 ! zugzwang. 1...f4*e3 2.Sd6-b5 + 2...Qd3*b5 # 1...Ba1*b2 2.Qc1-d2 + 2...Kc3*d2 # 2.Qc1*c2 + 2...Kc3*c2 # 1...Qd3*e3 + 2.Sd6-e4 + 2...Qe3*e4 #" --- authors: - Baird, Edith Elina Helen source: Standard date: 1895 algebraic: white: [Kb5, Qf3] black: [Kd4, Pe6, Pe5] stipulation: "#3" solution: | "1.Kb5-b4 ! zugzwang. 1...e5-e4 2.Qf3-c3 + 2...Kd4-d5 3.Qc3-c5 #" --- authors: - Baird, Edith Elina Helen source: Sheffield Weekly Independent date: 1889 distinction: 3rd Prize algebraic: white: [Ka8, Qh1, Ra7, Bh5, Sf8, Sf2, Ph4, Pg2, Pb5, Pb2, Pa3] black: [Kd5, Ph6, Pd7, Pb3] stipulation: "#3" solution: | "1.Qh1-h3 ! threat: 2.Qh3-c3 threat: 3.Ra7*d7 # 2...d7-d6 3.Bh5-f3 # 3.Bh5-f7 # 1...Kd5-e5 2.Ra7*d7 zugzwang. 2...Ke5-f6 3.Qh3-e6 # 2...Ke5-f4 3.Sf8-g6 # 1...Kd5-d6 2.Qh3-f5 threat: 3.Ra7*d7 # 1...Kd5-c5 2.Qh3*d7 zugzwang. 2...Kc5-c4 3.Ra7-c7 # 2...Kc5-b6 3.Qd7-c6 # 1...Kd5-c4 2.Qh3-d3 + 2...Kc4-c5 3.Sf8*d7 # 1...d7-d6 2.Sf8-d7 zugzwang. 2...Kd5-d4 3.Qh3-d3 # 2...Kd5-c4 3.Qh3-d3 #" --- authors: - Baird, Edith Elina Helen source: East Central Times date: 1890 distinction: 3rd Prize algebraic: white: [Kh1, Qh5, Bc2, Ba7, Sd3, Sb7, Pf4, Pa5, Pa4] black: [Kd5, Bc8, Pf5, Pd4, Pc3] stipulation: "#3" solution: | "1.Ba7-b8 ! zugzwang. 1...Kd5-c6 2.Qh5-f7 threat: 3.Sb7-d8 # 3.Sd3-e5 # 3.Sd3-b4 # 2...Bc8*b7 3.Qf7-e6 # 2...Bc8-e6 3.Sd3-b4 # 2...Bc8-d7 3.Sb7-d8 # 1...Kd5-e6 2.Qh5-e8 + 2...Ke6-f6 3.Bb8-e5 # 2...Ke6-d5 3.Bc2-b3 # 1...Kd5-e4 2.Qh5-e2 + 2...Ke4-d5 3.Sd3-b4 # 1...Kd5-c4 2.Qh5-f7 + 2...Bc8-e6 3.Qf7*e6 # 1...Bc8*b7 2.Bc2-b3 + 2...Kd5-c6 3.Qh5-e8 # 2...Kd5-e4 3.Qh5-e2 # 1...Bc8-e6 2.Qh5-f3 + 2...Kd5-c4 3.Sb7-d6 # 3.Qf3-c6 # 1...Bc8-d7 2.Bc2-b3 + 2...Kd5-c6 3.Sb7-d8 # 3.Qh5-f3 # 2...Kd5-e4 3.Qh5-e2 #" --- authors: - Baird, Edith Elina Helen source: Bristol Mercury date: 1890 distinction: HM algebraic: white: [Ke8, Qb1, Rg1, Ra3, Bh4, Bb5, Sf4, Ph7, Pa6] black: [Kd4, Qh1, Bh6, Pg3, Pg2, Pe7, Pd5] stipulation: "#3" solution: | "1.Bb5-d3 ! threat: 2.Qb1-b6 + 2...Kd4-e5 3.Sf4-g6 # 1...Kd4-c5 2.Qb1-b4 + 2...Kc5-c6 3.Ra3-c3 # 2...Kc5*b4 3.Bh4*e7 # 1...Kd4-e5 2.Sf4-g6 + 2...Ke5-e6 3.Qb1-b6 # 2...Ke5-d6 3.Qb1-b6 # 2...Ke5-d4 3.Qb1-b6 # 1...Kd4-e3 2.Qb1-e1 + 2...Ke3-f3 3.Qe1*g3 # 2...Ke3-d4 3.Sf4-e6 # 2...Ke3*f4 3.Qe1*g3 #" --- authors: - Baird, Edith Elina Helen source: Hackney Mercury date: 1891 distinction: HM algebraic: white: [Kb3, Qh8, Bd2, Sh5, Sh2, Pc5, Pb6, Pb5] black: [Ke4, Sg7, Pf5, Pd3, Pb7] stipulation: "#3" solution: | "1.Qh8-c8 ! zugzwang. 1...f5-f4 2.Sh5-f6 + 2...Ke4-e5 3.Bd2-c3 # 2...Ke4-d4 3.Sh2-f3 # 1...Ke4-e5 2.Sh2-f3 + 2...Ke5-e4 3.Qc8*b7 # 2...Ke5-d5 3.Sh5-f6 # 1...Ke4-d4 2.Sh2-f3 + 2...Kd4-e4 3.Qc8*b7 # 2...Kd4-d5 3.Sh5-f6 # 1...Ke4-d5 2.Sh2-f3 threat: 3.Sh5-f6 # 2...Kd5-e4 3.Qc8*b7 # 2...Sg7*h5 3.Qc8*f5 # 2...Sg7-e8 3.Qc8*f5 # 1...Sg7-e6 2.Qc8*e6 + 2...Ke4-d4 3.Bd2-e3 # 1...Sg7*h5 2.Qc8-e6 + 2...Ke4-d4 3.Bd2-e3 # 1...Sg7-e8 2.Qc8-e6 + 2...Ke4-d4 3.Bd2-e3 #" --- authors: - Baird, Edith Elina Helen source: Sussex Chess Journal date: 1891 distinction: 1st Prize algebraic: white: [Ka7, Qh6, Bb7, Sb2, Sa2, Ph2, Pg4, Pe6, Pc5, Pa3] black: [Ke5, Bg8, Sa1, Ph7, Ph4, Pg5] stipulation: "#3" solution: | "1.Sa2-c1 ! threat: 2.Sc1-e2 threat: 3.Sb2-d3 # 3.Sb2-c4 # 2...Bg8*e6 3.Qh6-g7 # 3.Sb2-d3 # 1...Ke5-f4 2.Qh6-f6 + 2...Kf4*g4 3.Qf6-f3 # 2...Kf4-e3 3.Sb2-c4 # 1...Ke5-d4 2.Qh6-f6 + 2...Kd4-e3 3.Sb2-c4 # 2...Kd4*c5 3.Qf6-e5 # 1...Bg8*e6 2.Qh6-g7 + 2...Ke5-f4 3.Qg7-d4 # 1...Bg8-f7 2.Qh6*g5 + 2...Ke5*e6 3.Bb7-c8 # 2...Ke5-d4 3.Sc1-e2 #" --- authors: - Baird, Edith Elina Helen source: Sussex Chess Journal date: 1892 distinction: 1st Prize algebraic: white: [Kc8, Qg4, Bh2, Bd1, Sh4, Sc5, Pg3, Pe2, Pd4, Pa3, Pa2] black: [Kc4, Sh1, Sb1, Pe7, Pb5, Pa5] stipulation: "#3" solution: | "1.Sc5-e4 ! threat: 2.Qg4-e6 + 2...Kc4*d4 3.Sh4-f5 # 1...Sb1-c3 2.Se4-d2 + 2...Kc4-d5 3.Qg4-d7 # 1...e7-e5 2.Bd1-b3 + 2...Kc4*d4 3.Sh4-f5 #" --- authors: - Baird, Edith Elina Helen source: Bristol Mercury date: 1892 distinction: HM algebraic: white: [Ke8, Qg1, Be3, Sd7, Sb8, Ph2, Pe7, Pe5, Pd2, Pa6, Pa2] black: [Ke4, Bd8, Ph4, Pg6, Pb6] stipulation: "#3" solution: | "1.Sb8-c6 ! threat: 2.Qg1-g4 + 2...Ke4-d5 3.Sc6-b4 # 2...Ke4-d3 3.Sc6-b4 # 1...Ke4-f5 2.Qg1-f1 + 2...Kf5-e6 3.Qf1-f7 # 2...Kf5-g4 3.Sd7-f6 # 2...Kf5-e4 3.Sd7-f6 # 1...Ke4-f3 2.Qg1-f1 + 2...Kf3-e4 3.Sd7-f6 # 2...Kf3-g4 3.Sd7-f6 # 1...Ke4-d3 2.Qg1-b1 + 2...Kd3-c4 3.Qb1-b3 # 2...Kd3-e2 3.Sc6-d4 # 1...Bd8*e7 2.Qg1*g6 + 2...Ke4-d5 3.Sd7*b6 # 2...Ke4-f3 3.Sc6-d4 #" --- authors: - Baird, Edith Elina Helen source: Hackney Mercury date: 1893-08-19 distinction: 1st Prize algebraic: white: [Kd1, Qg2, Sc3, Sc2, Pc4] black: [Kc5] stipulation: "#3" solution: | "1.Qg2-g7 ! threat: 2.Qg7-c7 # 1...Kc5-c6 2.c4-c5 zugzwang. 2...Kc6*c5 3.Qg7-c7 # 1...Kc5*c4 2.Qg7-d4 + 2...Kc4-b3 3.Qd4-b4 # 1...Kc5-b6 2.Sc3-b5 zugzwang. 2...Kb6-a6 3.Qg7-a7 # 2...Kb6-c6 3.Qg7-c7 # 2...Kb6-c5 3.Qg7-c7 # 2...Kb6-a5 3.Qg7-a7 # 1...Kc5-d6 2.Sc3-b5 + 2...Kd6-e6 3.Sc2-d4 # 2...Kd6-c6 3.Qg7-c7 # 2...Kd6-c5 3.Qg7-c7 #" --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1893 distinction: 1st Prize algebraic: white: [Ka1, Qf8, Ba6, Sf3, Ph3, Pg5, Pf6, Pa3] black: [Kd5, Pf4] stipulation: "#3" solution: | "1.Qf8-b8 ! zugzwang. 1...Kd5-c6 2.Ba6-c4 zugzwang. 2...Kc6-c5 3.Qb8-c7 # 2...Kc6-d7 3.Sf3-e5 # 1...Kd5-e6 2.Ba6-c4 + 2...Ke6-d7 3.Sf3-e5 # 2...Ke6-f5 3.Qb8-b1 # 1...Kd5-e4 2.Qb8-b3 threat: 3.Qb3-d3 # 2...Ke4-f5 3.Ba6-d3 # (1...Kd5-c5 2.Ba6-b5 zugzwang. 2...Kc5-d5 3.Qb8-e5 #)" keywords: - Model mates --- authors: - Baird, Edith Elina Helen source: Cricket and Football Field date: 1893 distinction: 2nd Prize algebraic: white: [Kc1, Qc2, Bb8, Sh2, Sf7, Pf5, Pf4, Pb6] black: [Kd4, Pf6, Pc5, Pb4] stipulation: "#3" solution: | "1.Bb8-a7 ! zugzwang. 1...b4-b3 2.Qc2-d2 + 2...Kd4-e4 3.Sf7-d6 # 2...Kd4-c4 3.Sf7-d6 # 1...Kd4-d5 2.Qc2-d3 + 2...Kd5-c6 3.Sf7-d8 # 1...Kd4-e3 2.Qc2-d2 + 2...Ke3-e4 3.Sf7-d6 # 1...c5-c4 2.b6-b7 + 2...Kd4-d5 3.Qc2-g2 #" comments: - also in The San Francisco Chronicle (no. 535), 10 July 1904 --- authors: - Baird, Edith Elina Helen source: Cricket and Football Field date: 1893 distinction: 1st Prize algebraic: white: [Ka5, Qc8, Rf1, Sc3, Sb8, Pg2, Pf6, Pe3, Pd2, Pb7] black: [Ke5, Pf3, Pf2, Pe7] stipulation: "#3" solution: | "1.Qc8-g8 ! zugzwang. 1...Ke5-f5 2.Sb8-d7 threat: 3.g2-g4 # 2...f3*g2 3.Rf1*f2 # 1...f3*g2 2.d2-d4 + 2...Ke5-f5 3.Rf1*f2 # 2...Ke5-d6 3.Sc3-b5 # 2...Ke5*f6 3.Rf1*f2 # 1...Ke5-d6 2.Qg8-d5 + 2...Kd6-c7 3.Sb8-a6 # 1...Ke5*f6 2.Sb8-d7 + 2...Kf6-f5 3.g2-g4 # 1...e7-e6 2.Qg8-g5 + 2...Ke5-d6 3.Sc3-b5 # 1...e7*f6 2.Qg8-d5 #" --- authors: - Baird, Edith Elina Helen source: Cricket and Football Field date: 1894 distinction: 1st Prize algebraic: white: [Kf8, Rb2, Be5, Sf1, Sd7, Ph5, Ph4, Pf2, Pd3] black: [Kd5, Sg8, Pg3, Pf3, Pc6, Pc3] stipulation: "#3" solution: | "1.d3-d4 ! threat: 2.Sd7-c5 threat: 3.Sf1-e3 # 2.Sf1-e3 + 2...Kd5-e6 3.Sd7-c5 # 2...Kd5-e4 3.Sd7-c5 # 1...c3-c2 2.Sf1-e3 + 2...Kd5-e6 3.Sd7-c5 # 2...Kd5-e4 3.Sd7-c5 # 1...c3*b2 2.Sf1-e3 + 2...Kd5-e6 3.Sd7-c5 # 2...Kd5-e4 3.Sd7-c5 # 1...g3-g2 2.Sf1-e3 + 2...Kd5-e6 3.Sd7-c5 # 2...Kd5-e4 3.Sd7-c5 # 1...g3*f2 2.Sd7-c5 threat: 3.Sf1-e3 # 1...Kd5-e6 2.Sd7-c5 + 2...Ke6-f5 3.Sf1-e3 # 2...Ke6-d5 3.Sf1-e3 # 1...Kd5-e4 2.Sd7-c5 + 2...Ke4-d5 3.Sf1-e3 # 2...Ke4-f5 3.Sf1-e3 # 1...Kd5-c4 2.Sf1-e3 + 2...Kc4-d3 3.Sd7-c5 # 1...c6-c5 2.Sf1-e3 + 2...Kd5-c6 3.Sd7-b8 # 2...Kd5-e6 3.Sd7*c5 # 2...Kd5-e4 3.Sd7*c5 # 1...Sg8-e7 2.Sf1-e3 + 2...Kd5-e6 3.Sd7-c5 # 2...Kd5-e4 3.Sd7-c5 # 1...Sg8-f6 2.Sf1-e3 + 2...Kd5-e6 3.Sd7-c5 # 2...Kd5-e4 3.Sd7-c5 # 1...Sg8-h6 2.Sf1-e3 + 2...Kd5-e6 3.Sd7-c5 # 2...Kd5-e4 3.Sd7-c5 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1894 distinction: HM algebraic: white: [Kh2, Qa2, Be2, Sg5, Se7, Pf6, Pb6] black: [Kd4, Ph4, Ph3, Pg6, Pb7] stipulation: "#3" solution: | "1.Be2-f1 ! threat: 2.Qa2-b2 + 2...Kd4-c5 3.Sg5-e4 # 2...Kd4-e3 3.Se7-d5 # 1...Kd4-e5 2.Qa2-f2 zugzwang. 2...Ke5-d6 3.Qf2-d4 # 1...Kd4-e3 2.Sg5-e6 threat: 3.Qa2-e2 # 1...Kd4-c3 2.Sg5-e6 threat: 3.Se7-d5 #" --- authors: - Baird, Edith Elina Helen source: Southern Counties' Chess Journal date: 1894 distinction: 3rd Prize algebraic: white: [Ke1, Qh2, Ba4, Sd1, Sc2, Pg2, Pe5, Pd4, Pb6, Pa5] black: [Kd5, Pf5, Pd6, Pb7] stipulation: "#3" solution: | "1.Qh2-h8 ! zugzwang. 1...f5-f4 2.Ba4-b3 + 2...Kd5-e4 3.Qh8-h7 # 2...Kd5-c6 3.Qh8-e8 # 1...Kd5-e6 2.Qh8-g8 + 2...Ke6-e7 3.Qg8-e8 # 1...Kd5-e4 2.Sd1-f2 + 2...Ke4-d5 3.Qh8-g8 # 2...Ke4-f4 3.Qh8-h4 # 1...Kd5-c4 2.Qh8-c8 + 2...Kc4-d5 3.Sd1-c3 # 2...Kc4-d3 3.Sd1-f2 # 1...d6*e5 2.Qh8*e5 + 2...Kd5-c4 3.Qe5-b5 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1894 distinction: 1st Prize algebraic: white: [Ke1, Qd3, Rh1, Sf8, Sb6, Pg6, Pg3, Pf5, Pa3] black: [Ke5, Pg7, Pd7, Pd4, Pc5] stipulation: "#3" solution: | "1.Sb6-c8 ! zugzwang. 1...Ke5-d5 2.Qd3-f3 + 2...Kd5-e5 3.Sf8*d7 # 2...Kd5-c4 3.Sc8-d6 # 1...c5-c4 2.Sf8*d7 + 2...Ke5-d5 3.Qd3-f3 # 1...Ke5-f6 2.Qd3-e4 threat: 3.Sf8-h7 # 1...d7-d5 2.Sf8-d7 # 1...d7-d6 2.Sf8-d7 + 2...Ke5-d5 3.Sc8-e7 #" --- authors: - Baird, Edith Elina Helen source: Cape Times date: 1894-12 algebraic: white: [Kb8, Qf7, Bh5, Pd3, Pd2, Pa4] black: [Ke5] stipulation: "#3" solution: | "1.Bh5-d1 ! threat: 2.Bd1-b3 zugzwang. 2...Ke5-d6 3.Qf7-c7 # 2...Ke5-d4 3.Qf7-d5 # 1...Ke5-d6 2.d3-d4 zugzwang. 2...Kd6-c6 3.Qf7-e6 # 1...Ke5-d4 2.Qf7-h5 zugzwang. 2...Kd4*d3 3.Qh5-d5 #" --- authors: - Baird, Edith Elina Helen source: The Field date: 1894-03-03 algebraic: white: [Kb8, Qg7, Sc4, Sb3, Pe3] black: [Ke6] stipulation: "#3" solution: | "1.Qg7-f8 ! zugzwang. 1...Ke6-d7 2.e3-e4 zugzwang. 2...Kd7-e6 3.Sb3-c5 # 2...Kd7-c6 3.Qf8-e8 # 1...Ke6-d5 2.Qf8-f7 + 2...Kd5-c6 3.Qf7-b7 # 2...Kd5-e4 3.Sb3-c5 #" --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times source-id: 447 date: 1894-08-17 distinction: 2nd HM algebraic: white: [Kh5, Bc5, Bb5, Se2, Sc7, Pg6, Pg2, Pd4] black: [Kf5, Sb2, Ph4, Pf6, Pe3, Pb7] stipulation: "#3" solution: | "1.Sc7-e8 ! zugzwang. 1...Sb2-d1 2.Bb5-c4 threat: 3.Se8-d6 # 1...Sb2-d3 2.Bb5-d7 + 2...Kf5-e4 3.Se8*f6 # 1...Sb2-c4 2.Bb5*c4 threat: 3.Se8-d6 # 1...Sb2-a4 2.Bb5-c4 threat: 3.Se8-d6 # 1...h4-h3 2.Se2-g3 + 2...Kf5-f4 3.Bc5-d6 # 2...Kf5-e6 3.Se8-c7 # 1...Kf5-e6 2.Se8-g7 + 2...Ke6-d5 3.Se2-c3 # 1...Kf5-e4 2.Se8-d6 + 2...Ke4-d5 3.Se2-f4 # 1...b7-b6 2.Bb5-c6 threat: 3.Se8-g7 #" comments: - “No Queen” tourney. Judges B. G. Laws and T. Taverner; award appeared 26/iv & 3/v/1895. - All competing problems were published during 1894. - 447 received 83 points from Laws and 90 from Taverner (but was ranked 5th overall in either case), coming 2nd among 4 HMs. - Was, together with the 2nd Prize winner in the two-mover section, part of a set that came in 3rd place. (Only one set prize, won by Mackenzie.) --- authors: - Baird, Edith Elina Helen source: The Standard date: 1895-06-21 algebraic: white: [Kb6, Qf4] black: [Kd5, Pe7, Pe6] stipulation: "#3" solution: | "1.Kb6-b5 ! zugzwang. 1...e6-e5 2.Qf4-c4 + 2...Kd5-d6 3.Qc4-c6 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1896-05-02 algebraic: white: [Kb7, Qh5, Bg7, Sf1, Pa3] black: [Ke4] stipulation: "#3" solution: | "1.Qh5-h3 ! zugzwang. 1...Ke4-d5 2.Qh3-f5 + 2...Kd5-d6 3.Bg7-f8 # 2...Kd5-c4 3.Sf1-d2 # 1...Ke4-f4 2.Sf1-h2 zugzwang. 2...Kf4-e4 3.Qh3-f3 # 2...Kf4-g5 3.Qh3-g4 #" keywords: - Miniature comments: - also in The San Francisco Chronicle (no. 133), 20 June 1896 --- authors: - Baird, Edith Elina Helen source: Southern Counties' Chess Journal date: 1896 distinction: 1st Prize algebraic: white: [Ka2, Qg6, Sh7, Sd8, Ph6, Ph3, Pd2, Pc6, Pc4, Pa4] black: [Ke5, Pg7, Pf6] stipulation: "#3" solution: | "1.Sd8-b7 ! zugzwang. 1...Ke5-e6 2.Sh7-g5 + 2...Ke6-e7 3.Qg6-f7 # 2...Ke6-e5 3.Qg6-e4 # 1...Ke5-f4 2.Qg6-g4 + 2...Kf4-e5 3.d2-d4 # 1...Ke5-d4 2.Qg6-f5 threat: 3.Qf5-d5 # 2...Kd4*c4 3.Qf5-e4 # 1...f6-f5 2.Qg6-d6 + 2...Ke5-e4 3.Sh7-g5 # 1...g7*h6 2.Qg6*f6 + 2...Ke5-e4 3.Sb7-c5 #" --- authors: - Baird, Edith Elina Helen source: Leisure Hour date: 1901 distinction: 1st Prize algebraic: white: [Kh5, Qg3, Ba7, Sg6, Sc8, Pd5, Pb2] black: [Kc4, Pf3, Pb4, Pb3] stipulation: "#3" solution: | "1.Qg3-e1 ! zugzwang. 1...Kc4-b5 2.Sc8-d6 + 2...Kb5-a5 3.Qe1-a1 # 2...Kb5-a6 3.Qe1-a1 # 2...Kb5-a4 3.Qe1-a1 # 1...f3-f2 2.Qe1-e2 + 2...Kc4*d5 3.Sg6-e7 # 1...Kc4*d5 2.Sg6-e7 + 2...Kd5-c4 3.Qe1-f1 # 1...Kc4-d3 2.Qe1-d1 + 2...Kd3-e4 3.Sc8-d6 # 2...Kd3-c4 3.Sc8-d6 #" --- authors: - Baird, Edith Elina Helen source: Field date: 1895 algebraic: white: [Kb1, Qf7, Ba6, Sh1, Sa4, Pc6, Pc3] black: [Ke5, Ph2, Pf3, Pc7] stipulation: "#3" solution: | "1.Sa4-b2 ! threat: 2.Sb2-d3 + 2...Ke5-d6 3.Qf7-d7 # 2...Ke5-e4 3.Qf7-e6 # 2.Sb2-c4 + 2...Ke5-e4 3.Sh1-f2 # 1...f3-f2 2.Sb2-c4 + 2...Ke5-e4 3.Sh1*f2 # 1...Ke5-e4 2.Sb2-c4 threat: 3.Sh1-f2 # 2...Ke4-d3 3.Qf7*f3 # 1...Ke5-d6 2.Sb2-d3 threat: 3.Qf7-d7 # 2...Kd6*c6 3.Qf7-e6 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1889 algebraic: white: [Kh7, Qg6, Rb6, Bf3, Be1, Sb1, Sa5, Ph5, Pg2, Pe6, Pc4] black: [Kd4, Se2, Sc5, Ph6, Pc6, Pa4] stipulation: "#3" solution: | "1.Sb1-a3 ! zugzwang. 1...Se2-c3 2.Sa3-c2 + 2...Kd4-e5 3.Be1-g3 # 1...Se2-c1 2.Sa3-c2 + 2...Kd4-e5 3.Be1-g3 # 1...Se2-g1 2.Sa3-c2 + 2...Kd4-e5 3.Be1-g3 # 1...Se2-g3 2.Sa3-c2 + 2...Kd4-e5 3.Be1*g3 # 1...Se2-f4 2.Sa5*c6 + 2...Kd4-e3 3.Sa3-c2 # 1...Kd4-e5 2.Sa5*c6 + 2...Ke5-d6 3.Sa3-b5 # 2...Ke5-f4 3.Be1-d2 # 1...Kd4-e3 2.Sa3-c2 + 2...Ke3-f4 3.Qg6-f6 # 1...Sc5-b3 2.Qg6-e4 + 2...Kd4-c5 3.Rb6*c6 # 1...Sc5-d3 2.Qg6-e4 + 2...Kd4-c5 3.Rb6*c6 # 1...Sc5-e4 2.Qg6*e4 + 2...Kd4-c5 3.Rb6*c6 # 1...Sc5*e6 2.Qg6-e4 + 2...Kd4-c5 3.Rb6*c6 # 1...Sc5-d7 2.Qg6-e4 + 2...Kd4-c5 3.Rb6*c6 # 1...Sc5-b7 2.Qg6-e4 + 2...Kd4-c5 3.Rb6*c6 # 1...Sc5-a6 2.Qg6-e4 + 2...Kd4-c5 3.Rb6*c6 #" --- authors: - Baird, Edith Elina Helen source: Standard date: 1894 algebraic: white: [Kh4, Qb6, Sg6, Ph6, Pf2, Pd3] black: [Kd5, Bg8, Pg7, Pd7, Pa6, Pa2] stipulation: "#3" solution: | "1.Kh4-g4 ! threat: 2.Sg6-e7 + 2...Kd5-e5 3.f2-f4 # 1...d7-d6 2.Sg6-f4 + 2...Kd5-e5 3.Qb6-b2 # 1...Bg8-e6 + 2.Kg4-f4 threat: 3.Sg6-e7 #" --- authors: - Baird, Edith Elina Helen source: Tri-Weekly Gleaner date: 1895 algebraic: white: [Ka3, Qd2, Sg7, Sg2, Ph3, Pc6] black: [Ke5, Sa8, Pf6, Pe4, Pc7] stipulation: "#3" solution: | "1.Sg2-f4 ! threat: 2.Sf4-g6 # 1...e4-e3 2.Qd2-d5 + 2...Ke5*f4 3.Sg7-h5 # 1...f6-f5 2.Qd2-c3 + 2...Ke5-d6 3.Sg7*f5 # 2...Ke5*f4 3.Sg7-e6 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1895 algebraic: white: [Kh4, Qe6, Sg5, Sb2, Pe4, Pd6, Pd2, Pa3] black: [Kd4, Ba8, Sa6, Sa2, Pg7, Pg6, Pc6, Pb4, Pa5] stipulation: "#3" solution: | "1.Qe6-f7 ! threat: 2.Qf7-f2 + 2...Kd4-e5 3.Sb2-c4 # 1...Kd4-c5 2.Qf7-a7 + 2...Kc5-b5 3.a3-a4 # 2...Kc5*d6 3.Sb2-c4 # 1...Kd4-e5 2.Qf7-f4 + 2...Ke5-d4 3.Sg5-e6 # 2...Ke5*f4 3.Sb2-d3 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1895 algebraic: white: [Kh3, Qf7, Sh7, Sc8, Pd2, Pc3] black: [Ke5, Ra5, Ph6, Pe2, Pa4] stipulation: "#3" solution: | "1.Qf7-f3 ! threat: 2.d2-d4 + 2...Ke5-e6 3.Sh7-f8 # 1...Ra5-d5 2.Qf3-e3 + 2...Ke5-f5 3.Sc8-e7 # 1...Ke5-e6 2.Sh7-f8 + 2...Ke6-e5 3.d2-d4 #" comments: - also in The San Francisco Chronicle (no. 77), 13 April 1895 --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald date: 1893 algebraic: white: [Kh3, Qa3, Bg6, Sa2, Pg5, Pf2, Pd5, Pa5] black: [Ke5, Ph5, Ph4, Pg7, Pd4, Pa4] stipulation: "#3" solution: | "1.Bg6-d3 ! zugzwang. 1...Ke5*d5 2.Qa3-e7 threat: 3.Sa2-b4 # 1...Ke5-f4 2.Qa3-d6 + 2...Kf4-f3 3.Qd6-f8 # 2...Kf4*g5 3.f2-f4 # 1...g7-g6 2.Qa3-e7 + 2...Ke5*d5 3.Sa2-b4 # 2...Ke5-f4 3.Qe7-f6 #" --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Chronicle date: 1902 algebraic: white: [Kh3, Qh7, Rf1, Bf6, Sc8, Ph5, Pe6, Pa3, Pa2] black: [Kd5, Bb8, Sa1, Pf7, Pc7] stipulation: "#3" solution: | "1.a3-a4 ! threat: 2.Qh7-d3 + 2...Kd5-c5 3.Qd3-b5 # 2...Kd5-c6 3.Qd3-b5 # 2...Kd5*e6 3.Qd3-f5 # 2.Qh7-f5 + 2...Kd5-c6 3.Qf5-b5 # 2...Kd5-c4 3.Qf5-b5 # 3.Rf1-f4 # 1...Sa1-c2 2.Qh7-f5 + 2...Kd5-c6 3.Qf5-b5 # 2...Kd5-c4 3.Qf5-b5 # 1...Sa1-b3 2.Qh7-f5 + 2...Kd5-c6 3.Qf5-b5 # 2...Kd5-c4 3.Qf5-b5 # 1...Kd5-c5 2.Qh7-e4 threat: 3.Bf6-e7 # 3.Rf1-f5 # 2...c7-c6 3.Qe4-d4 # 2...f7*e6 3.Bf6-e7 # 1...Kd5-c6 2.Qh7-e4 + 2...Kc6-c5 3.Bf6-e7 # 3.Rf1-f5 # 1...Kd5-c4 2.Qh7-e4 + 2...Kc4-c5 3.Rf1-f5 # 3.Bf6-e7 # 1...c7-c5 2.Qh7-d3 + 2...Kd5-c6 3.Qd3-d7 # 2...Kd5*e6 3.Qd3-f5 # 1...c7-c6 2.Qh7-d3 + 2...Kd5-c5 3.Qd3-d4 # 2...Kd5*e6 3.Qd3-f5 # 1...f7*e6 2.Qh7-d3 + 2...Kd5-c5 3.Qd3-b5 # 2...Kd5-c6 3.Qd3-b5 # 2.Qh7-d7 + 2...Kd5-c5 3.Qd7-b5 # 2...Kd5-e4 3.Qd7-d4 # 2...Kd5-c4 3.Qd7-d4 # 3.Qd7-b5 # 1...Bb8-a7 2.Qh7-f5 + 2...Kd5-c6 3.Qf5-b5 # 2...Kd5-c4 3.Qf5-b5 #" --- authors: - Baird, Edith Elina Helen source: Daily Chronicle date: 1901 algebraic: white: [Kd3, Rh5, Bd1, Bb8, Sf5, Sd8, Pf6, Pa5, Pa3] black: [Kc5, Pd5, Pd2, Pc7, Pa4] stipulation: "#3" solution: | "1.Kd3-c2 ! zugzwang. 1...Kc5-c4 2.Bd1-e2 + 2...Kc4-c5 3.Bb8-a7 # 1...Kc5-b5 2.Bd1-e2 + 2...Kb5-c5 3.Bb8-a7 # 2...Kb5*a5 3.Bb8*c7 # 1...d5-d4 2.Sf5-e3 + 2...Kc5-d6 3.Rh5-d5 # 1...c7-c6 2.Sd8-b7 + 2...Kc5-b5 3.Bd1-e2 # 2...Kc5-c4 3.Bd1-e2 #" --- authors: - Baird, Edith Elina Helen source: Daily Gleaner date: 1893 algebraic: white: [Kh3, Qh6, Sd6, Sb1, Pg4, Pf2, Pe4, Pb3] black: [Kd4, Ba8, Pg5, Pf7, Pd3] stipulation: "#3" solution: | "1.Sd6-b7 ! threat: 2.Qh6-d6 + 2...Kd4*e4 3.Sb1-d2 # 2.Qh6-f6 + 2...Kd4*e4 3.Sb1-c3 # 1...d3-d2 2.Qh6-d6 + 2...Kd4*e4 3.Sb1*d2 # 1...Kd4*e4 2.Sb1-c3 + 2...Ke4-d4 3.Qh6-f6 # 2...Ke4-f4 3.Qh6-f6 # 2...Ke4-e5 3.Qh6-d6 # 2...Ke4-f3 3.Qh6-f6 # 1...Kd4-e5 2.Qh6-d6 + 2...Ke5*e4 3.Sb1-d2 # 1...f7-f5 2.Qh6-d6 + 2...Kd4*e4 3.Sb1-d2 # 1...f7-f6 2.Qh6*f6 + 2...Kd4*e4 3.Sb1-c3 # 1...Ba8*b7 2.Qh6-d6 + 2...Kd4*e4 3.Sb1-d2 # 2...Bb7-d5 3.Qd6*d5 #" --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1901 algebraic: white: [Ka3, Qg4, Be2, Sg7, Sb4, Ph6, Ph5, Pf6, Pe6, Pb2, Pa7] black: [Ke5, Ra5, Sh4, Pb5, Pa4] stipulation: "#3" solution: | "1.Be2-d3 ! threat: 2.Sg7-e8 threat: 3.Qg4-e4 # 1...Sh4-f3 2.Qg4-f5 + 2...Ke5-d6 3.Sg7-e8 # 2...Ke5-d4 3.Sb4-c2 # 1...Sh4-g2 2.Qg4-f5 + 2...Ke5-d6 3.Sg7-e8 # 2...Ke5-d4 3.Sb4-c2 # 1...Sh4-g6 2.Qg4-f5 + 2...Ke5-d6 3.Sg7-e8 # 2...Ke5-d4 3.Sb4-c2 # 1...Sh4-f5 2.Qg4*f5 + 2...Ke5-d6 3.Sg7-e8 # 2...Ke5-d4 3.Sb4-c2 # 1...Ke5*f6 2.Qg4-f4 + 2...Kf6-e7 3.Sb4-c6 # 2...Sh4-f5 3.Sb4-d5 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1889 algebraic: white: [Kh2, Qa7, Rg1, Bb1, Sh4, Sc5, Ph3, Pg5, Pd4] black: [Ke3, Sb2, Pg2, Pf4, Pd5, Pc7, Pc6, Pc4] stipulation: "#3" solution: | "1.Qa7-a2 ! zugzwang. 1...Sb2-d1 2.Sh4-f5 + 2...Ke3-f3 3.Qa2*g2 # 1...Sb2-d3 2.Sh4-f5 + 2...Ke3-f3 3.Qa2*g2 # 1...Sb2-a4 2.Sh4-f5 + 2...Ke3-f3 3.Qa2*g2 # 1...Ke3-e2 2.Qa2*b2 + 2...Ke2-e3 3.Rg1-e1 # 1...Ke3*d4 2.Sh4-f5 + 2...Kd4*c5 3.Qa2-a5 # 2...Kd4-e5 3.Rg1-e1 # 2...Kd4-c3 3.Qa2-a5 # 1...Ke3-f2 2.Qa2*b2 + 2...Kf2-e3 3.Rg1-e1 # 1...Ke3-d2 2.Qa2*b2 + 2...Kd2-e3 3.Rg1-e1 # 1...c4-c3 2.Rg1-e1 + 2...Ke3*d4 3.Sc5-e6 # 2...Ke3-f2 3.Sc5-d3 # 2...Ke3-d2 3.Sh4-f3 # 1...f4-f3 2.Sh4-f5 + 2...Ke3-e2 3.Qa2*b2 # 2...Ke3-f4 3.Sc5-e6 # 2...Ke3-f2 3.Qa2*b2 # 2...Ke3-d2 3.Qa2*b2 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1894 algebraic: white: [Kb4, Qb1, Bf2, Sh2, Pg5, Pf6, Pe2, Pc3] black: [Kf4, Pe6] stipulation: "#3" solution: | "1.Qb1-h7 ! zugzwang. 1...Kf4*g5 2.Bf2-e3 + 2...Kg5*f6 3.Sh2-g4 # 1...Kf4-e5 2.Bf2-g3 + 2...Ke5-d5 3.Qh7-b7 # 1...e6-e5 2.e2-e3 + 2...Kf4*g5 3.Bf2-h4 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1894 algebraic: white: [Kh2, Qf5, Sb8, Sa6, Pe5, Pc5, Pb3, Pa4] black: [Kd5, Bg8, Sa3, Pg7, Pc2] stipulation: "#3" solution: | "1.Qf5-g4 ! threat: 2.Sa6-b4 + 2...Kd5*e5 3.Sb8-d7 # 2...Kd5*c5 3.Sb8-d7 # 1...Sa3-c4 2.b3*c4 + 2...Kd5*e5 3.Sb8-d7 # 1...Kd5*e5 2.Sb8-d7 + 2...Ke5-d5 3.Sa6-b4 # 1...Bg8-e6 2.Qg4-f3 + 2...Kd5*e5 3.Sb8-c6 # 2...Kd5-d4 3.Sb8-c6 #" --- authors: - Baird, Edith Elina Helen source: Kentish Mercury date: 1892 algebraic: white: [Ka7, Qe1, Ba1, Sh4, Sb7, Pg4, Pc6, Pb4] black: [Kc4, Rf7, Sd7, Pf6, Pe7, Pd3, Pb5, Pa4, Pa3] stipulation: "#3" solution: | "1.Sh4-g2 ! threat: 2.Sg2-e3 + 2...Kc4-b3 3.Qe1-b1 # 1...d3-d2 2.Qe1*d2 threat: 3.Sb7-a5 # 1...Kc4-d5 2.Qe1-e6 + 2...Kd5*e6 3.Sg2-f4 # 1...Kc4-b3 2.Qe1-b1 + 2...Kb3-c4 3.Sg2-e3 #" --- authors: - Baird, Edith Elina Helen source: Knowledge date: 1901 algebraic: white: [Kh2, Re5, Bf1, Bb4, Sf7, Pg3, Pc6, Pc5, Pc2] black: [Kd4, Ph6, Pf5, Pe6, Pc4, Pc3, Pb7] stipulation: "#3" solution: | "1.Bf1-g2 ! zugzwang. 1...f5-f4 2.Re5-e4 + 2...Kd4-d5 3.Re4*f4 # 1...h6-h5 2.Sf7-g5 threat: 3.Sg5-f3 # 2...Kd4*e5 3.Bb4*c3 # 1...b7-b5 2.c5*b6 ep. threat: 3.Bb4-c5 # 1...b7-b6 2.c5*b6 threat: 3.Bb4-c5 # 1...b7*c6 2.Sf7-d8 threat: 3.Sd8*c6 # 2...Kd4*e5 3.Bb4*c3 #" --- authors: - Baird, Edith Elina Helen source: Pictorial World date: 1892 algebraic: white: [Kh1, Qa8, Be7, Ba4, Sg6, Sb5, Pe3, Pd2, Pc4, Pb4] black: [Ke6, Ra5, Bb6, Ba2, Sc2, Pg7, Pf3, Pd6, Pc7, Pa6] stipulation: "#3" solution: | "1.Be7-h4 ! threat: 2.Qa8-c8 + 2...Ke6-f7 3.Sg6-h8 # 1...Ke6-f7 2.Qa8-e8 + 2...Kf7*e8 3.Sb5*d6 # 1...Ke6-f5 2.Qa8-e4 + 2...Kf5*e4 3.Ba4*c2 #" --- authors: - Baird, Edith Elina Helen source: Devon & Exeter Gazette date: 1901 algebraic: white: [Kd2, Qh3, Ra1, Bf6, Be4, Sg3, Sa5, Pg2, Pe6, Pc5, Pc4] black: [Kb4, Pd5, Pd3] stipulation: "#3" solution: | "1.Qh3-h1 ! threat: 2.Bf6-d4 threat: 3.Qh1-b1 # 2.Bf6-e7 threat: 3.c5-c6 # 3.Qh1-b1 # 2...d5*c4 3.Qh1-b1 # 1...Kb4*c5 2.Qh1-b1 zugzwang. 2...Kc5-d6 3.Qb1-b6 # 2...d5-d4 3.Bf6-e7 # 2...d5*c4 3.Sa5-b7 # 2...d5*e4 3.Sg3*e4 # 1...d5-d4 2.Qh1-b1 + 2...Kb4*c5 3.Bf6-e7 # 1...d5*c4 2.Qh1-b1 + 2...Kb4*c5 3.Sa5-b7 # 1...d5*e4 2.Qh1-b1 + 2...Kb4*c5 3.Sg3*e4 #" --- authors: - Baird, Edith Elina Helen source: Devon & Exeter Gazette date: 1901 algebraic: white: [Kh1, Qe3, Sg6, Sc8, Pg3, Pb3] black: [Kd5, Bc6, Pe6, Pe4, Pb4] stipulation: "#3" solution: | "1.Qe3-f2 ! threat: 2.Sg6-e7 + 2...Kd5-e5 3.Qf2-b2 # 1...e4-e3 2.Qf2*e3 threat: 3.Sg6-f4 # 3.Sg6-e7 # 3.Qe3-e5 # 2...Bc6-a4 3.Sg6-e7 # 2...Bc6-b5 3.Sg6-e7 # 2...Bc6-e8 3.Sg6-e7 # 2...Bc6-d7 3.Sg6-e7 # 2...Bc6-a8 3.Sg6-e7 # 2...Bc6-b7 3.Sg6-e7 # 2...e6-e5 3.Qe3*e5 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1889 algebraic: white: [Ka1, Qb8, Bb5, Se2, Sd1, Pe6, Pe3, Pb3, Pb2] black: [Kc5, Rh6, Sg3, Ph5, Pa7, Pa6] stipulation: "#3" solution: | "1.Sd1-f2 ! threat: 2.Sf2-d3 + 2...Kc5-d5 3.Qb8-e5 # 1...Kc5-d5 2.Se2-f4 + 2...Kd5-c5 3.Sf2-d3 # 1...a6*b5 2.Qb8-c7 + 2...Kc5-d5 3.Se2-f4 # 2...Kc5-b4 3.Qc7-c3 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1891 algebraic: white: [Kg8, Qf7, Sb7, Sb3, Pd2, Pa4] black: [Ke5, Pf4, Pe7] stipulation: "#3" solution: | "1.Qf7-g6 ! zugzwang. 1...f4-f3 2.Qg6-g5 + 2...Ke5-e6 3.Sb3-c5 # 2...Ke5-e4 3.Sb7-c5 # 1...Ke5-d5 2.Sb7-c5 threat: 3.Qg6-e6 # 2...Kd5-c4 3.Qg6-e4 # 1...e7-e6 2.d2-d3 threat: 3.Qg6-g5 # 2...Ke5-d5 3.Qg6-e4 #" --- authors: - Baird, Edith Elina Helen source: Reading Observer date: 1901 algebraic: white: [Kd1, Qb7, Bh2, Bb1, Sg2, Ph5, Ph3, Pd5, Pd2, Pc2] black: [Ke4, Ph4, Pg3, Pf3, Pb5] stipulation: "#3" solution: | "1.Qb7-c7 ! threat: 2.c2-c3 + 2...Ke4*d5 3.Sg2-f4 # 1...f3*g2 2.c2-c4 + 2...Ke4-d4 3.Bh2-g1 # 2...Ke4-f3 3.Qc7-f7 # 1...Ke4*d5 2.Sg2-f4 + 2...Kd5-d4 3.c2-c3 # 2...Kd5-e4 3.c2-c3 #" --- authors: - Baird, Edith Elina Helen source: Tinsleys Magazine date: 1902 algebraic: white: [Kg8, Qa7, Ra4, Bc5, Sh5, Sd3, Pe2, Pc6, Pc2, Pa2] black: [Ke4, Bb4, Ph6, Pc7] stipulation: "#3" solution: | "1.Qa7*c7 ! threat: 2.Qc7-e5 # 1...Ke4-d5 2.Ra4*b4 threat: 3.Qc7-d6 # 3.Qc7-d7 # 3.Sh5-f4 # 2...Kd5-e6 3.Qc7-e5 # 3.Qc7-f7 # 3.Qc7-d7 # 1...Ke4-f5 2.Qc7-g3 zugzwang. 2...Bb4-a3 3.Qg3-g4 # 2...Bb4-e1 3.Qg3-g4 # 2...Bb4-d2 3.Qg3-g4 # 2...Bb4-c3 3.Qg3-g4 # 2...Bb4*c5 3.Qg3-g4 # 2...Bb4-a5 3.Qg3-g4 # 2...Kf5-e6 3.Qg3-e5 # 2...Kf5-e4 3.Qg3-e5 # 3.Qg3-f3 # 2.Qc7-f4 + 2...Kf5-e6 3.Qf4-e5 # 3.Qf4-e4 # 3.Qf4-f7 # 2...Kf5-g6 3.Qf4-g4 # 2.Qc7-g7 zugzwang. 2...Bb4-a3 3.Qg7-f6 # 3.Qg7-g4 # 2...Bb4-e1 3.Qg7-g4 # 3.Qg7-f6 # 2...Bb4-d2 3.Qg7-f6 # 3.Qg7-g4 # 2...Bb4-c3 3.Qg7-g4 # 2...Bb4*c5 3.Qg7-g4 # 3.Qg7-f6 # 2...Bb4-a5 3.Qg7-f6 # 3.Qg7-g4 # 2...Kf5-e6 3.Qg7-e5 # 3.Qg7-d7 # 3.Qg7-f7 # 2...Kf5-e4 3.Qg7-e5 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1892 algebraic: white: [Kg8, Rd7, Be7, Sf1, Sd3, Pg2, Pc2, Pa4] black: [Ke4, Pe5, Pd5] stipulation: "#3" solution: | "1.Be7-d8 ! zugzwang. 1...Ke4-f5 2.Sf1-g3 + 2...Kf5-e6 3.Sd3-c5 # 2...Kf5-g6 3.Rd7-d6 # 2...Kf5-g4 3.Rd7-g7 # 1...Ke4-d4 2.Bd8-b6 + 2...Kd4-c4 3.Rd7-c7 # 2...Kd4-e4 3.Sf1-g3 # 2...Kd4-c3 3.Rd7-c7 # 1...d5-d4 2.Sf1-g3 + 2...Ke4-e3 3.Bd8-g5 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplement date: 1890 algebraic: white: [Kb3, Qh7, Be1, Sa7, Pg3, Pd5, Pb5] black: [Kf6, Pd7] stipulation: "#3" solution: | "1.Sa7-c8 ! zugzwang. 1...Kf6-g5 2.Qh7-g7 + 2...Kg5-h5 3.g3-g4 # 2...Kg5-f5 3.Sc8-d6 # 1...Kf6-e5 2.Be1-c3 + 2...Ke5*d5 3.Qh7-f5 # 1...d7-d6 2.Sc8-e7 zugzwang. 2...Kf6-g5 3.Qh7-g6 # 3.Qh7-h4 # 2...Kf6-e5 3.Be1-c3 #" --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1892 algebraic: white: [Kg8, Qb1, Be6, Sh6, Sd1, Ph4, Pg4, Pe2, Pd5, Pc2, Pb4] black: [Kd6, Sh8, Pg6, Pe7, Pe4, Pc3] stipulation: "#3" solution: | "1.Qb1-a1 ! zugzwang. 1...e4-e3 2.Qa1*c3 zugzwang. 2...g6-g5 3.Sh6-f5 # 2...Sh8-f7 3.Sh6*f7 # 1...Kd6-c7 2.Qa1-a7 + 2...Kc7-d8 3.Qa7-b8 # 3.Qa7-d7 # 2...Kc7-d6 3.Qa7-b8 # 1...Kd6-e5 2.Qa1*c3 + 2...Ke5-d6 3.Qc3-g3 # 2...Ke5-f4 3.Qc3-c7 # 1...g6-g5 2.Qa1*c3 threat: 3.Sh6-f5 # 3.Qc3-g3 # 2...e4-e3 3.Sh6-f5 # 2...g5*h4 3.Sh6-f5 # 2...Sh8-f7 3.Sh6-f5 # 3.Sh6*f7 # 2...Sh8-g6 3.Sh6-f5 # 3.Sh6-f7 # 1...Sh8-f7 2.Sh6*f7 + 2...Kd6-c7 3.Qa1-a7 #" --- authors: - Baird, Edith Elina Helen source: Vanity Fair date: 1888 algebraic: white: [Kg8, Qh3, Bb8, Sb7, Sa8, Pg7, Pg4, Pf3, Pc2, Pa5] black: [Kd5, Pg5] stipulation: "#3" solution: | "1.Qh3-h7 ! threat: 2.Qh7-e4 # 1...Kd5-d4 2.Qh7-d3 # 1...Kd5-c6 2.Qh7-e4 + 2...Kc6-d7 3.Sa8-b6 # 2...Kc6-b5 3.Sa8-c7 # 1...Kd5-e6 2.Qh7-f5 + 2...Ke6-e7 3.Qf5-f7 # 1...Kd5-c4 2.Qh7-d3 + 2...Kc4-b4 3.Qd3-b3 #" --- authors: - Baird, Edith Elina Helen source: Field date: 1890 algebraic: white: [Kd1, Qg6, Sc2, Sa4, Pf2, Pe5, Pd2] black: [Kd5, Pd7, Pb4] stipulation: "#3" solution: | "1.f2-f3 ! zugzwang. 1...b4-b3 2.Qg6-d6 + 2...Kd5-c4 3.Sc2-a3 # 1...Kd5*e5 2.d2-d4 + 2...Ke5-d5 3.Sa4-b6 # 2...Ke5-f4 3.Qg6-g4 # 1...Kd5-c4 2.Qg6-d3 + 2...Kc4*d3 3.Sa4-b2 # 1...d7-d6 2.Qg6-f7 + 2...Kd5*e5 3.d2-d4 # 2...Kd5-c6 3.Sc2-d4 #" --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1896 algebraic: white: [Kg8, Qh3, Rb3, Ra1, Sf2, Sc6, Pd4, Pb5, Pb4] black: [Kc4, Sd8, Sc1, Pc7] stipulation: "#3" solution: | "1.Ra1-a6 ! zugzwang. 1...Kc4*b5 2.Qh3-f1 + 2...Sc1-e2 3.Qf1*e2 # 2...Sc1-d3 3.Qf1*d3 # 1...Sc1-e2 2.Qh3-d3 + 2...Kc4-d5 3.Sc6-e7 # 1...Sc1-d3 2.Qh3*d3 + 2...Kc4-d5 3.Sc6-e7 # 1...Sc1*b3 2.Qh3-d3 + 2...Kc4-d5 3.Sc6-e7 # 1...Sc1-a2 2.Qh3-d3 + 2...Kc4-d5 3.Sc6-e7 # 1...Kc4-d5 2.Qh3-d7 + 2...Kd5-c4 3.Sc6-a5 # 1...Sd8-b7 2.Qh3-e6 + 2...Kc4*b5 3.Sc6-a7 # 1...Sd8*c6 2.Qh3-e6 + 2...Kc4*b5 3.Qe6*c6 # 2...Kc4*d4 3.Qe6-e4 # 1...Sd8-e6 2.Qh3*e6 + 2...Kc4*b5 3.Sc6-a7 # 1...Sd8-f7 2.Qh3-e6 + 2...Kc4*b5 3.Sc6-a7 #" --- authors: - Baird, Edith Elina Helen source: Western Magazine and Portfolio date: 1889 algebraic: white: [Kg7, Qc1, Be8, Sc7, Sb1, Ph3, Pe6, Pe2, Pc6] black: [Ke5, Ph4, Pe7, Pe4, Pb5] stipulation: "#3" solution: | "1.Sb1-a3 ! threat: 2.Qc1-g5 + 2...Ke5-d6 3.Sa3*b5 # 2...Ke5-d4 3.Sc7*b5 # 1...e4-e3 2.Qc1*e3 + 2...Ke5-f5 3.Be8-g6 # 2...Ke5-d6 3.Sa3*b5 # 1...Ke5-f5 2.e2-e3 threat: 3.Qc1-c5 # 1...Ke5-d6 2.Sa3*b5 + 2...Kd6-e5 3.Qc1-g5 # 1...Ke5-d4 2.Sa3*b5 + 2...Kd4-e5 3.Qc1-g5 #" --- authors: - Baird, Edith Elina Helen source: Daily Telegraph date: 1901 algebraic: white: [Ka6, Qh7, Sg2, Sa5, Pe6, Pe2, Pd5, Pd2] black: [Ke4, Sh1, Pf5] stipulation: "#3" solution: | "1.Sg2-e3 ! threat: 2.Qh7*f5 + 2...Ke4-d4 3.Sa5-b3 # 1...Sh1-g3 2.Sa5-c6 zugzwang. 2...Sg3*e2 3.Qh7*f5 # 2...Sg3-f1 3.Qh7*f5 # 2...Sg3-h1 3.Qh7*f5 # 2...Sg3-h5 3.Qh7*f5 # 2...Ke4-f4 3.Qh7-h4 # 1...Ke4-f4 2.Qh7-h4 + 2...Kf4-e5 3.Sa5-c4 # 1...Ke4-e5 2.Sa5-c6 + 2...Ke5-e4 3.Qh7*f5 # 2...Ke5-d6 3.Qh7-e7 # 2...Ke5-f6 3.Qh7-h6 # 2...Ke5-f4 3.Qh7-h4 # 1...Ke4-d4 2.Sa5-c6 + 2...Kd4-e4 3.Qh7*f5 # 2...Kd4-c5 3.Qh7-e7 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1897 algebraic: white: [Kb3, Qd7, Sd2, Pg3, Pe3, Pc2] black: [Ke5, Pf5, Pc6, Pc3] stipulation: "#3" solution: | "1.Qd7-f7 ! zugzwang. 1...c3*d2 2.Qf7-e7 + 2...Ke5-d5 3.c2-c4 # 1...Ke5-d6 2.Sd2-c4 + 2...Kd6-c5 3.Qf7*f5 # 1...f5-f4 2.g3*f4 + 2...Ke5-d6 3.Sd2-e4 # 1...c6-c5 2.Sd2-c4 + 2...Ke5-e4 3.Qf7-b7 #" --- authors: - Baird, Edith Elina Helen source: Nottinghamshire Guardian date: 1894 algebraic: white: [Kg7, Bc8, Bb6, Se3, Sd2, Pe5, Pe2, Pa5, Pa3] black: [Kc6, Rg5, Pg6, Pg4, Pe7] stipulation: "#3" solution: | "1.Se3-c2 ! threat: 2.Sc2-b4 + 2...Kc6-b5 3.Bc8-d7 # 1...Kc6-d5 2.e2-e4 + 2...Kd5*e5 3.Bb6-c7 # 2...Kd5-c6 3.Sc2-d4 # 1...Kc6-b5 2.a3-a4 + 2...Kb5-c6 3.Sc2-b4 # 2...Kb5*a4 3.Bc8-d7 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1894 algebraic: white: [Kg7, Qh2, Bf1, Bc5, Sd4, Ph7, Pg3, Pe6, Pb6, Pb4, Pa2] black: [Kc4, Pf2, Pd3, Pc3, Pb7] stipulation: "#3" solution: | "1.Sd4-c2 ! zugzwang. 1...Kc4-b5 2.Qh2-h5 zugzwang. 2...Kb5-a4 3.Qh5-e8 # 2...Kb5-a6 3.Bf1*d3 # 2...Kb5-c6 3.Sc2-d4 # 2...Kb5-c4 3.Sc2-a3 # 1...Kc4-d5 2.Qh2-h5 + 2...Kd5-c6 3.Sc2-d4 # 2...Kd5*e6 3.Bf1-h3 # 2...Kd5-e4 3.Bf1-g2 # 2...Kd5-c4 3.Sc2-a3 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1892 algebraic: white: [Kg7, Qb8, Rf1, Bh7, Sg1, Se3, Pg3, Pc4, Pa6, Pa3] black: [Kc3, Sa2, Pg5, Pg4, Pd3, Pa7] stipulation: "#3" solution: | "1.Rf1-e1 ! zugzwang. 1...Sa2-b4 2.Qb8*b4 + 2...Kc3-d4 3.Se3-f5 # 1...Sa2-c1 2.Qb8-b4 + 2...Kc3-d4 3.Se3-f5 # 1...Kc3-d4 2.Qb8-e5 + 2...Kd4*e5 3.Se3-f5 # 1...Kc3-d2 2.Re1-d1 + 2...Kd2-c3 3.Rd1*d3 # 2...Kd2*e3 3.Qb8*a7 # 1...d3-d2 2.Sg1-e2 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1895 algebraic: white: [Kg6, Qa6, Bf6, Pe2, Pb2] black: [Kd5, Pd7, Pc5, Pa7] stipulation: "#3" solution: | "1.Kg6-f7 ! zugzwang. 1...c5-c4 2.Qa6-b5 + 2...Kd5-d6 3.Bf6-e5 # 2...Kd5-e4 3.Qb5-e5 # 1...Kd5-e4 2.Qa6-d3 + 2...Ke4-f4 3.Qd3-f3 # 1...d7-d6 2.Qa6-b7 + 2...Kd5-c4 3.b2-b3 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1900 algebraic: white: [Kc8, Qe4, Bb1, Sh8, Pe5, Pe2] black: [Ke6, Pe7, Pd6, Pc4, Pc3, Pb2] stipulation: "#3" solution: | "1.Qe4-d4 ! threat: 2.e2-e4 threat: 3.Qd4-d5 # 2...d6*e5 3.Qd4-b6 # 2.Bb1-e4 threat: 3.Qd4-d5 # 2...d6*e5 3.Qd4-b6 # 1...c3-c2 2.e2-e4 threat: 3.Qd4-d5 # 2...d6*e5 3.Qd4-b6 # 1...d6-d5 2.Qd4-b6 + 2...Ke6*e5 3.Sh8-g6 # 1...d6*e5 2.Qd4-b6 + 2...Ke6-d5 3.e2-e4 #" comments: - also in The San Francisco Chronicle (no. 320), 6 May 1900 --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1892 algebraic: white: [Kg6, Qa5, Rh3, Rh2, Bd3, Sf4, Ph5, Pg5, Pf6, Pd6, Pa3] black: [Kd4, Pg3, Pf3, Pf2, Pe6, Pd5] stipulation: "#3" solution: | "1.Kg6-h6 ! threat: 2.Qa5-b6 + 2...Kd4-e5 3.Sf4-g6 # 2...Kd4-c3 3.Qb6-b4 # 1...Kd4-e5 2.Qa5-c5 threat: 3.Sf4-g6 # 2...Ke5*f4 3.Qc5-d4 # 1...Kd4-e3 2.Qa5-c3 zugzwang. 2...f2-f1=Q 3.Qc3-e5 # 2...f2-f1=S 3.Qc3-e5 # 2...f2-f1=R 3.Qc3-e5 # 2...f2-f1=B 3.Qc3-e5 # 2...Ke3*f4 3.Qc3-d4 # 2...g3-g2 3.Sf4*g2 # 2...g3*h2 3.Sf4-g2 # 2...d5-d4 3.Qc3-c1 # 2...e6-e5 3.Sf4*d5 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1889 algebraic: white: [Ka2, Qb1, Bd3, Sg5, Sf6, Ph6, Pe5, Pc6, Pb4] black: [Kd4, Sb7, Pg2, Pf7, Pa5] stipulation: "#3" solution: | "1.Bd3-a6 ! threat: 2.Qb1-b2 + 2...Kd4-e3 3.Sf6-d5 # 1...Kd4*e5 2.Qb1-e4 + 2...Ke5-d6 3.Sf6-e8 # 2...Ke5*f6 3.Sg5-h7 # 1...Kd4-e3 2.Qb1-c1 + 2...Ke3-d4 3.Sg5-f3 # 2...Ke3-f2 3.Sf6-e4 # 1...a5*b4 2.Qb1-e4 + 2...Kd4-c5 3.Sf6-d7 # 2...Kd4-c3 3.Qe4-d3 #" --- authors: - Baird, Edith Elina Helen source: Brighton Society date: 1894-12-15 algebraic: white: [Kc8, Qc6, Sh3, Sg8] black: [Ke5, Pf5, Pf3] stipulation: "#3" solution: | "1.Qc6-c4 ! threat: 2.Sh3-g5 threat: 3.Sg5-f7 # 2...f5-f4 3.Qc4-c5 # 1...f5-f4 2.Qc4-c5 + 2...Ke5-e6 3.Sh3-g5 # 2...Ke5-e4 3.Sh3-f2 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1900 algebraic: white: [Kc8, Qh2, Bg6, Ba1, Sf4, Ph3, Pd2, Pc4, Pb5] black: [Ke5, Rc3, Bh8, Ba4, Pd3] stipulation: "#3" solution: | "1.Qh2-g1 ! threat: 2.Qg1-c5 + 2...Ke5-f6 3.Ba1*c3 # 2...Ke5*f4 3.Qc5-e3 # 1...Ke5-d6 2.Qg1-b6 + 2...Kd6-e7 3.Qb6-d8 # 2...Kd6-e5 3.Sf4*d3 # 1...Ke5-f6 2.Ba1*c3 + 2...Kf6-e7 3.Qg1-c5 #" comments: - also in The San Francisco Chronicle (no. 332), 29 July 1900 --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1892 algebraic: white: [Ka1, Qc5, Bh1, Be3, Pg3, Pe5, Pc3, Pb3] black: [Ke6, Pg4, Pe4, Pa3] stipulation: "#3" solution: | "1.Qc5-a7 ! zugzwang. 1...a3-a2 2.Bh1*e4 zugzwang. 2...Ke6*e5 3.Qa7-e7 # 1...Ke6*e5 2.Qa7-e7 + 2...Ke5-f5 3.Bh1*e4 # 2...Ke5-d5 3.Bh1*e4 # 1...Ke6-f5 2.Qa7-f7 + 2...Kf5*e5 3.Be3-f4 # 1...Ke6-d5 2.Qa7-d7 + 2...Kd5*e5 3.Be3-d4 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1892 algebraic: white: [Kc8, Qb1, Rh1, Bh5, Ba7, Se7, Sc1, Ph7, Ph4, Pf2, Pb2] black: [Ke5, Pg7, Pg4, Pe6, Pe2, Pc4, Pa3] stipulation: "#3" solution: | "1.b2*a3 ! zugzwang. 1...e2-e1=Q 2.Rh1*e1 + 2...Ke5-d6 3.Qb1-b4 # 2...Ke5-f6 3.Se7-g8 # 2...Ke5-f4 3.Qb1-e4 # 1...e2-e1=S 2.Rh1*e1 + 2...Ke5-d6 3.Qb1-b4 # 2...Ke5-f6 3.Se7-g8 # 2...Ke5-f4 3.Qb1-e4 # 1...e2-e1=R 2.Rh1*e1 + 2...Ke5-d6 3.Qb1-b4 # 2...Ke5-f6 3.Se7-g8 # 2...Ke5-f4 3.Qb1-e4 # 1...e2-e1=B 2.Rh1*e1 + 2...Ke5-d6 3.Qb1-b4 # 2...Ke5-f6 3.Se7-g8 # 2...Ke5-f4 3.Qb1-e4 # 1...c4-c3 2.Ba7-b8 + 2...Ke5-f6 3.Se7-g8 # 2...Ke5-d4 3.Qb1-b4 # 1...g4-g3 2.f2-f4 + 2...Ke5-d6 3.Qb1-b4 # 2...Ke5-f6 3.Se7-g8 # 2...Ke5*f4 3.Se7-g6 # 1...Ke5-d6 2.Qb1-b6 + 2...Kd6-e5 3.Qb6-d4 # 2...Kd6*e7 3.Qb6-d8 # 1...Ke5-f6 2.Se7-c6 threat: 3.Qb1-g6 # 1...Ke5-f4 2.Se7-g6 + 2...Kf4-f3 3.Qb1-b7 # 1...g7-g5 2.h7-h8=Q + 2...Ke5-d6 3.Qb1-b4 # 2...Ke5-f4 3.Qh8-f6 # 1...g7-g6 2.h7-h8=Q + 2...Ke5-d6 3.Qb1-b4 # 2...Ke5-f4 3.Qh8-f6 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1901 algebraic: white: [Kh7, Qb1, Bh5, Bd6, Sg2, Sb8, Pe6, Pe3, Pd4, Pa5] black: [Kc4, Sh4, Pg5, Pc3, Pa6, Pa4] stipulation: "#3" solution: | "1.Bd6-a3 ! zugzwang. 1...c3-c2 2.Qb1*c2 + 2...Kc4-b5 3.Qc2-c5 # 2...Kc4-d5 3.Qc2-c6 # 1...Kc4-d5 2.Qb1-b7 + 2...Kd5*e6 3.Qb7-f7 # 2...Kd5-c4 3.Bh5-e2 # 1...Sh4-f3 2.Qb1-a2 + 2...Kc4-b5 3.Qa2-d5 # 2...Kc4-d3 3.Bh5-g6 # 1...Sh4*g2 2.Bh5-e2 + 2...Kc4-d5 3.Qb1-f5 # 1...Sh4-g6 2.Qb1-a2 + 2...Kc4-b5 3.Qa2-d5 # 2...Kc4-d3 3.Bh5*g6 # 1...Sh4-f5 2.Bh5-e2 + 2...Kc4-d5 3.Qb1*f5 # 1...g5-g4 2.Sg2-f4 threat: 3.Qb1-b4 #" --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Chronicle date: 1894 algebraic: white: [Kc8, Qc1, Bd2, Sf7, Sc6, Pf2, Pe5, Pe2, Pc2, Pb6, Pb4, Pa4] black: [Ke4, Sg8, Pb7] stipulation: "#3" solution: | "1.Qc1-g1 ! threat: 2.Qg1-g2 + 2...Ke4-f5 3.Sc6-d4 # 1...Ke4-d5 2.Qg1-g4 zugzwang. 2...b7*c6 3.c2-c4 # 2...Kd5*c6 3.Qg4-e6 # 2...Sg8-e7 + 3.Sc6*e7 # 2...Sg8-f6 3.Sc6-e7 # 2...Sg8-h6 3.Sc6-e7 # 1...Ke4-f5 2.Sf7-d6 + 2...Kf5-e6 3.Qg1*g8 # 1...b7*c6 2.Qg1-g4 + 2...Ke4-d5 3.c2-c4 # 1...Sg8-e7 + 2.Sc6*e7 threat: 3.f2-f3 # 3.Qg1-g4 # 2...Ke4-d4 3.Qg1-g4 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine source-id: 808 date: 1892-02 algebraic: white: [Kg4, Qf5, Re1, Bf6, Ba6, Sa7, Ph5, Ph4, Pg3, Pd7, Pd2, Pb4] black: [Kd4, Be8, Ph6, Pf7, Pe5, Pd5] stipulation: "s#4" solution: | "1.Ba6-f1 ! zugzwang. 1...Be8*d7 2.Sa7-b5 + 2...Bd7*b5 3.Re1-e4 + 3...d5*e4 4.Qf5-d7 + 4...Bb5*d7 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1892 algebraic: white: [Kg4, Qd1, Re2, Ra1, Bh8, Be8, Sh4, Sb8, Pf5, Pf3, Pe6, Pc5, Pc2, Pb4, Pa3] black: [Kc4, Bf8, Sg7, Sc1, Pe7, Pe3, Pd4, Pc3] stipulation: "#3" solution: | "1.Sh4-g2 ! zugzwang. 1...d4-d3 2.Sg2*e3 + 2...Kc4-d4 3.Sb8-c6 # 1...Sc1*e2 2.Sg2*e3 + 2...d4*e3 3.Qd1-d3 # 1...Sc1-d3 2.Sg2*e3 + 2...d4*e3 3.Qd1*d3 # 1...Sc1-b3 2.Sg2*e3 + 2...d4*e3 3.c2*b3 # 3.Qd1-d3 # 1...Sc1-a2 2.Sg2*e3 + 2...d4*e3 3.Qd1-d3 # 1...Kc4-d5 2.Sg2*e3 + 2...Kd5-e5 3.Sb8-d7 # 1...Sg7*e6 2.Qd1*d4 + 2...Se6*d4 3.Sg2*e3 # 1...Sg7*f5 2.Qd1*d4 + 2...Sf5*d4 3.Sg2*e3 # 1...Sg7-h5 2.Qd1*d4 # 1...Sg7*e8 2.Qd1*d4 + 2...Kc4-b5 3.a3-a4 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1890 algebraic: white: [Kc8, Qa6, Rh5, Rf8, Ba5, Sg2, Sa3, Ph4, Ph3, Pd2, Pb4] black: [Kd5, Bg5, Ph6, Pg7, Pf6, Pe6, Pd4, Pd3, Pa7] stipulation: "#3" solution: | "1.Sg2-e1 ! zugzwang. 1...Kd5-e4 2.Qa6*e6 + 2...Ke4-f4 3.Ba5-c7 # 1...Kd5-e5 2.Ba5-c7 + 2...Ke5-e4 3.Qa6*e6 # 2...Ke5-f5 3.Qa6*d3 # 2...Ke5-d5 3.Qa6-b7 # 1...e6-e5 2.Qa6-b7 + 2...Kd5-d6 3.Qb7-d7 # 2...Kd5-e6 3.Qb7-d7 # 1...f6-f5 2.Qa6-b7 + 2...Kd5-e5 3.Ba5-c7 # 2...Kd5-d6 3.Sa3-c4 # 1...g7-g6 2.Rf8*f6 threat: 3.Qa6*e6 # 2...e6-e5 3.Qa6-b7 # 3.Qa6-c6 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1890 algebraic: white: [Ka6, Qe7, Rh3, Bh5, Se2, Pg5, Pf2, Pe6, Pc6, Pb3, Pb2] black: [Kd5, Sb1, Ph4, Pf3, Pc5, Pa7] stipulation: "#3" solution: | "1.Qe7-c7 ! zugzwang. 1...Sb1-d2 2.Se2-c3 + 2...Kd5-d4 3.Qc7-d6 # 2...Kd5*e6 3.Bh5-g4 # 1...Sb1-c3 2.Se2*c3 + 2...Kd5-d4 3.Qc7-d6 # 2...Kd5*e6 3.Bh5-g4 # 1...Sb1-a3 2.Se2-c3 + 2...Kd5-d4 3.Qc7-d6 # 2...Kd5*e6 3.Bh5-g4 # 1...f3*e2 2.Rh3-d3 + 2...Kd5*e6 3.Bh5-g4 # 2...Kd5-e4 3.Bh5-g6 # 1...c5-c4 2.Bh5*f3 + 2...Kd5-c5 3.Qc7-e7 # 2...Kd5*e6 3.Se2-d4 # 1...Kd5*e6 2.Bh5-f7 + 2...Ke6-f5 3.Qc7-f4 # 1...Kd5-e4 2.Qc7-d6 threat: 3.Bh5-g6 # 2...Ke4-f5 3.Qd6-d5 #" --- authors: - Baird, Edith Elina Helen source: Sussex Chess Journal date: 1902 algebraic: white: [Kc8, Qg4, Bd1, Sh4, Sc5, Pf3, Pe2, Pd4, Pa3, Pa2] black: [Kc4, Be1, Sb1, Pe7, Pb5, Pa5] stipulation: "#3" solution: --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1892 algebraic: white: [Kg3, Qg8, Re1, Bh6, Sc4, Ph5, Pg6, Pf2, Pc2, Pb6, Pa2] black: [Kd4, Pd7, Pd6, Pb7] stipulation: "#3" solution: | "1.Re1-b1 ! zugzwang. 1...Kd4-c5 2.Bh6-e3 + 2...Kc5-c6 3.Sc4-a5 # 1...Kd4-e4 2.Bh6-g7 threat: 3.Sc4*d6 # 2...Ke4-f5 3.Qg8-d5 # 1...Kd4-c3 2.Qg8-d5 threat: 3.Qd5-d3 # 2...Kc3*c2 3.Rb1-c1 # 1...d6-d5 2.Bh6-g7 + 2...Kd4-e4 3.Sc4-d6 # 2...Kd4*c4 3.Qg8-c8 # 2...Kd4-c5 3.Qg8-c8 #" --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1890 algebraic: white: [Kb3, Bh2, Bf1, Sh6, Sg5, Pf5, Pf2, Pd5, Pc2, Pa5] black: [Kd4, Ph3, Pc6] stipulation: "#3" solution: | "1.Sh6-g8 ! threat: 2.Sg8-f6 threat: 3.Sg5-e6 # 1...Kd4-c5 2.Sg5-e6 + 2...Kc5*d5 3.Sg8-f6 # 1...c6-c5 2.c2-c3 + 2...Kd4*d5 3.Sg8-e7 # 1...c6*d5 2.Sg8-e7 zugzwang. 2...Kd4-c5 3.Sg5-e6 # 2.Bh2-d6 threat: 3.c2-c3 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1892 algebraic: white: [Kg2, Qb7, Sf2, Sd7, Ph4, Pf3, Pd3, Pd2] black: [Kd6] stipulation: "#3" solution: | "1.Sd7-f8 ! zugzwang. 1...Kd6-e5 2.Qb7-d7 zugzwang. 2...Ke5-f6 3.Sf2-g4 # 2...Ke5-f4 3.Sf8-g6 # 1...Kd6-c5 2.f3-f4 zugzwang. 2...Kc5-d6 3.Sf2-e4 # 2...Kc5-d4 3.Sf8-e6 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1893 algebraic: white: [Kg2, Qb1, Sh3, Se7, Pe5, Pd2, Pb4, Pa6, Pa4] black: [Kc4, Sg3, Ph5, Ph4] stipulation: "#3" solution: | "1.Se7-c6 ! threat: 2.Qb1-c2 + 2...Kc4-d5 3.Sh3-f4 # 1...Sg3-e2 2.Qb1-a2 + 2...Kc4-d3 3.Sh3-f2 # 1...Sg3-e4 2.Qb1-a2 + 2...Kc4-d3 3.Sh3-f4 # 1...Kc4-d5 2.Qb1-d3 + 2...Kd5*c6 3.Qd3-d6 # 2...Kd5-e6 3.Sh3-g5 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1891 algebraic: white: [Kg1, Qf8, Be1, Sg7, Sf6, Ph7, Ph5, Pg2, Pe6, Pd5, Pc6, Pb5] black: [Ke5, Ph6, Pg4, Pd6] stipulation: "#3" solution: | "1.Qf8-a8 ! zugzwang. 1...g4-g3 2.Qa8-a1 + 2...Ke5-f4 3.Be1-d2 # 1...Ke5*f6 2.Be1-g3 zugzwang. 2...Kf6-e7 3.Bg3-h4 # 2...Kf6*g7 3.h7-h8=Q # 2...Kf6-g5 3.Qa8-d8 # 1...Ke5-f4 2.Be1-d2 + 2...Kf4-e5 3.Qa8-a1 # 2...Kf4-g3 3.Sg7-f5 # 1...Ke5-d4 2.Qa8-a4 + 2...Kd4-d3 3.Qa4-e4 # 2...Kd4-c5 3.Be1-f2 # 2...Kd4-e5 3.Be1-c3 # 2...Kd4-e3 3.Qa4-e4 #" --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Courant date: 1893 algebraic: white: [Kc7, Qf2, Bh5, Pe6, Pd2, Pc2] black: [Ke4, Sh4, Sa7, Pg5, Pe5, Pb6, Pb5] stipulation: "#3" solution: | "1.Bh5-f7 ! threat: 2.d2-d3 + 2...Ke4-d5 3.e6-e7 # 1...Ke4-d5 2.e6-e7 + 2...Kd5-e4 3.d2-d3 # 1...Sh4-f3 2.Qf2-e3 + 2...Ke4-d5 3.e6-e7 # 2...Ke4-f5 3.Qe3*f3 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1894 algebraic: white: [Kg1, Qe3, Be7, Sd4, Ph5, Ph3, Pg2, Pc2, Pb6] black: [Ke5, Ph6, Pe4, Pb7] stipulation: "#3" solution: | "1.Qe3-b3 ! zugzwang. 1...e4-e3 2.Sd4-e2 zugzwang. 2...Ke5-e4 3.Qb3-e6 # 2...Ke5-f5 3.Qb3-d5 # 1...Ke5-f4 2.Qb3-g3 + 2...Kf4*g3 3.Sd4-e2 # 1...Ke5*d4 2.Be7-d6 zugzwang. 2...e4-e3 3.Qb3-d3 #" comments: - also in The San Francisco Chronicle (no. 49), 29 September 1894 --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1901 algebraic: white: [Kg1, Qd2, Sg7, Sd5, Ph5, Ph3, Pg2, Pc6, Pb3] black: [Ke4, Bh8, Ba4, Ph6, Pf6] stipulation: "#3" solution: | "1.Sd5-b4 ! threat: 2.Sg7-e6 threat: 3.Qd2-f4 # 2...Ke4-e5 3.Qd2-d5 # 2...Ke4-f5 3.Qd2-d5 # 2.g2-g3 threat: 3.Qd2-f4 # 2...Ke4-f3 3.Qd2-d3 # 1...Ba4*b3 2.g2-g3 threat: 3.Qd2-f4 # 2...Ke4-f3 3.Qd2-d3 # 1...Ba4*c6 2.g2-g3 threat: 3.Qd2-f4 # 2...Ke4-f3 3.Qd2-d3 # 1...Ba4-b5 2.Sg7-e6 threat: 3.Qd2-f4 # 2...Ke4-e5 3.Qd2-d5 # 2...Ke4-f5 3.Qd2-d5 # 1...Ke4-e5 2.Qd2-e3 + 2...Ke5-d6 3.Sg7-e8 # 1...f6-f5 2.Qd2-e1 + 2...Ke4-f4 3.Sg7-e6 # 2...Ke4-d4 3.Sg7-e6 # 1...Bh8*g7 2.g2-g3 threat: 3.Qd2-f4 # 2...Ke4-e5 3.Qd2-d5 # 2...Ke4-f5 3.Qd2-d5 # 2...Ke4-f3 3.Qd2-d3 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1891 algebraic: white: [Kg1, Qb2, Bf7, Sb8, Sb5, Pd2, Pb6, Pb4] black: [Kd5, Ba5, Sh8, Pg5, Pe6, Pe5, Pc5, Pc4] stipulation: "#3" solution: | "1.Qb2-c3 ! threat: 2.Qc3-f3 + 2...e5-e4 3.Qf3-f5 # 2.d2-d3 threat: 3.Qc3*c4 # 2...c4*d3 3.Qc3*d3 # 2...e5-e4 3.d3*c4 # 1...Ba5*b4 2.Qc3-f3 + 2...e5-e4 3.Qf3-f5 # 1...Ba5*b6 2.Qc3-f3 + 2...e5-e4 3.Qf3-f5 # 1...c5*b4 2.Qc3-f3 + 2...Kd5-c5 3.Qf3-c6 # 2...e5-e4 3.Qf3-f5 # 1...Kd5-e4 2.Bf7*e6 threat: 3.Qc3-e3 # 1...e5-e4 2.Qc3-e3 threat: 3.Qe3*g5 # 3.Qe3*c5 # 2...c4-c3 3.Qe3*c5 # 2...Ba5*b4 3.Qe3*g5 # 2...Ba5*b6 3.Qe3*g5 # 2...c5*b4 3.Qe3*g5 # 3.Qe3-d4 # 2...Kd5-e5 3.Qe3*g5 # 2...Sh8*f7 3.Qe3*c5 # 2...Sh8-g6 3.Qe3*c5 # 1...g5-g4 2.d2-d3 threat: 3.Qc3*c4 # 2...c4*d3 3.Qc3*d3 # 2...e5-e4 3.d3*c4 # 1...Sh8*f7 2.d2-d3 threat: 3.Qc3*c4 # 2...c4*d3 3.Qc3*d3 # 2...e5-e4 3.d3*c4 # 2...Sf7-d6 3.Sb5-c7 # 1...Sh8-g6 2.d2-d3 threat: 3.Qc3*c4 # 2...c4*d3 3.Qc3*d3 # 2...e5-e4 3.d3*c4 #" --- authors: - Baird, Edith Elina Helen source: Weekly Gazette (Montreal) date: 1894 algebraic: white: [Kb2, Qh4, Bd6, Sc2, Ph6, Pc5, Pc3, Pa6] black: [Kd5, Sh3, Pf6, Pf5] stipulation: "#3" solution: | "1.Qh4-h5 ! threat: 2.Qh5*f5 + 2...Kd5-c6 3.Sc2-d4 # 2...Kd5-c4 3.Sc2-a3 # 2.Sc2-b4 + 2...Kd5-e6 3.Qh5-e8 # 2...Kd5-e4 3.Qh5-e2 # 2...Kd5-c4 3.Qh5-e2 # 1...Sh3-f2 2.Qh5*f5 + 2...Kd5-c6 3.Sc2-d4 # 2...Kd5-c4 3.Sc2-a3 # 1...Sh3-g1 2.Qh5*f5 + 2...Kd5-c6 3.Sc2-d4 # 2...Kd5-c4 3.Sc2-a3 # 1...Sh3-g5 2.Sc2-b4 + 2...Kd5-e4 3.Qh5-e2 # 2...Kd5-e6 3.Qh5-e8 # 2...Kd5-c4 3.Qh5-e2 # 1...Sh3-f4 2.Qh5*f5 + 2...Kd5-c6 3.Sc2-d4 # 2...Kd5-c4 3.Sc2-a3 # 1...Kd5-c6 2.Qh5-e8 + 2...Kc6-d5 3.Sc2-e3 # 1...Kd5-e6 2.Qh5-e8 + 2...Ke6-d5 3.Sc2-e3 # 1...Kd5-e4 2.Qh5-e2 + 2...Ke4-d5 3.Sc2-b4 # 1...Kd5-c4 2.Qh5-e2 + 2...Kc4-d5 3.Sc2-b4 #" --- authors: - Baird, Edith Elina Helen source: Cape Times date: 1895 algebraic: white: [Kg1, Qc2, Sf7, Sb6, Pg5, Pg3, Pf4, Pa2] black: [Kd4, Bh4, Bd7, Pe4, Pc6, Pb4] stipulation: "#3" solution: | "1.Sb6-a4 ! threat: 2.Qc2-d2 + 2...Kd4-c4 3.Sf7-d6 # 1...Kd4-d5 2.Qc2-c5 + 2...Kd5-e6 3.Sf7-d8 # 1...Kd4-e3 2.Qc2-f2 + 2...Ke3-d3 3.Sf7-e5 # 1...e4-e3 2.Qc2-d1 + 2...Kd4-e4 3.Sf7-d6 # 2...Kd4-c4 3.Sf7-d6 #" --- authors: - Baird, Edith Elina Helen source: The Times date: 1901 algebraic: white: [Kc7, Qe2, Sd8, Pg5, Pf4, Pe6, Pb2] black: [Kd5, Sf1, Pg4, Pe7, Pe4] stipulation: "#3" solution: | "1.Sd8-c6 ! threat: 2.Qe2-b5 + 2...Kd5*e6 3.Sc6-d8 # 1...e4-e3 2.Qe2-d3 + 2...Kd5-c5 3.b2-b4 # 2...Kd5*e6 3.Sc6-d8 # 1...Kd5-c5 2.b2-b4 + 2...Kc5-d5 3.Qe2-a2 # 1...Kd5*e6 2.Qe2-c4 + 2...Ke6-f5 3.Qc4-f7 #" --- authors: - Baird, Edith Elina Helen source: Hackney Mercury date: 1891 algebraic: white: [Kf8, Qf7, Bc4, Sg3, Sb2, Pg2, Pe4, Pa3] black: [Ke5, Pd3, Pc6] stipulation: "#3" solution: | "1.Bc4-a6 ! zugzwang. 1...d3-d2 2.Sg3-e2 threat: 3.Qf7-e7 # 2...Ke5*e4 3.Qf7-e6 # 1...Ke5-d6 2.Qf7-e7 # 1...Ke5-d4 2.Qf7-f6 + 2...Kd4-c5 3.Sb2-a4 # 2...Kd4-e3 3.Sb2-c4 # 1...c6-c5 2.Sb2-c4 + 2...Ke5-d4 3.Qf7-f6 # 3.Qf7-g7 #" --- authors: - Baird, Edith Elina Helen source: Boy's Own Paper date: 1891 algebraic: white: [Kc7, Rc5, Bd1, Bb4, Se6, Pg3, Pf2, Pd6, Pb3] black: [Kd3, Pg4, Pd5] stipulation: "#3" solution: | "1.Se6-g5 ! threat: 2.Rc5*d5 # 1...Kd3-d4 2.Bd1-c2 zugzwang. 2...Kd4-e5 3.Bb4-c3 # 1...d5-d4 2.Bb4-c3 zugzwang. 2...d4*c3 3.Rc5-d5 #" --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1891 algebraic: white: [Kf8, Qf6, Se8, Sa5, Pg4, Pc2] black: [Kd5, Pe6] stipulation: "#3" solution: | "1.Qf6-f2 ! zugzwang. 1...Kd5-e5 2.Qf2-e3 + 2...Ke5-d5 3.c2-c4 # 1...Kd5-e4 2.Se8-f6 + 2...Ke4-e5 3.Sa5-c4 # 1...e6-e5 2.Se8-f6 + 2...Kd5-d6 3.Qf2-b6 # 2...Kd5-e6 3.Qf2-b6 #" --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald date: 1894 algebraic: white: [Kc6, Qf2, Ba6, Sf1, Ph5, Pg4, Pf3, Pd5, Pc2] black: [Ke5, Bf8, Pg7, Pf4, Pd6, Pb4] stipulation: "#3" solution: | "1.Qf2-h4 ! zugzwang. 1...b4-b3 2.c2-c3 threat: 3.Qh4-g5 # 2...Bf8-e7 3.Qh4*e7 # 1...Ke5-d4 2.Qh4-e1 threat: 3.Qe1-a1 # 2...b4-b3 3.c2-c3 # 1...g7-g5 2.Qh4*g5 + 2...Ke5-d4 3.Qg5-f6 # 1...g7-g6 2.Qh4-g5 + 2...Ke5-d4 3.Qg5-f6 # 1...Bf8-e7 2.Qh4*e7 + 2...Ke5-d4 3.Qe7*g7 #" --- authors: - Baird, Edith Elina Helen source: Field date: 1889 algebraic: white: [Kd8, Qe1, Bg7, Bb1, Sb4, Pd7, Pc5] black: [Kc4, Pf5, Pb2] stipulation: "#3" solution: | "1.Sb4-a6 ! zugzwang. 1...Kc4-b5 2.Bb1-d3 + 2...Kb5-c6 3.Qe1-h1 # 2...Kb5-a4 3.Qe1-b4 # 1...Kc4-d5 2.Qe1-e6 + 2...Kd5*e6 3.Bb1-a2 # 1...Kc4-b3 2.Qe1-b4 # 1...f5-f4 2.Qe1-b4 + 2...Kc4-d5 3.Qb4-e4 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1900 algebraic: white: [Kf8, Rh5, Rb6, Bd5, Bd2, Sf6, Sd8, Pe2, Pa4] black: [Kd4, Sg5, Ph7, Ph6, Pe7, Pe6, Pb4] stipulation: "#3" solution: | "1.Bd5-e4 ! zugzwang. 1...Kd4-e5 2.Bd2-e3 threat: 3.Rb6*e6 # 2...Ke5*f6 3.Be3-d4 # 1...b4-b3 2.e2-e3 + 2...Kd4-c4 3.Rb6-c6 # 2...Kd4-c5 3.Rb6-c6 # 2...Kd4-e5 3.Rb6*e6 # 3.Bd2-c3 # 1...Kd4-c4 2.Rb6*b4 + 2...Kc4-c5 3.Sd8-b7 # 1...Kd4-c5 2.Sf6-d7 + 2...Kc5-c4 3.Rb6*b4 # 2...Kc5-d4 3.Rb6*b4 # 1...Sg5*e4 2.Rb6*b4 # 1...Sg5-f3 2.Rb6*b4 # 1...Sg5-h3 2.Rb6*b4 # 1...Sg5-f7 2.Rb6*b4 # 1...e6-e5 2.Rb6*b4 + 2...Kd4-c5 3.Sd8-b7 # 1...e7*f6 2.Rb6*b4 + 2...Kd4-c5 3.Sd8-b7 # 2...Kd4-e5 3.Sd8-f7 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1893 algebraic: white: [Kf8, Qa5, Bd1, Se5, Sd3, Ph3, Pf2, Pc4, Pb4] black: [Kd4, Ba1, Pf3, Pe6, Pa6] stipulation: "#3" solution: | "1.Sd3-f4 ! zugzwang. 1...Ba1-b2 2.Sf4*e6 + 2...Kd4-e4 3.Bd1-c2 # 2...Kd4-c3 3.b4-b5 # 1...Ba1-c3 2.Sf4*e6 + 2...Kd4-e4 3.Bd1-c2 # 1...Kd4-e4 2.Bd1-c2 + 2...Ke4*f4 3.Se5-g6 # 2...Ke4-d4 3.Qa5*a1 # 1...Kd4-c3 2.Qa5*a1 + 2...Kc3*b4 3.Sf4-d3 # 2...Kc3-d2 3.Se5*f3 #" --- authors: - Baird, Edith Elina Helen source: Pall Mall Gazette date: 1901 algebraic: white: [Ka3, Qg8, Rc7, Bd5, Sf8, Pf4, Pc6, Pc2, Pb2] black: [Kd4, Bd8, Sb7, Pe5, Pd6] stipulation: "#3" solution: | "1.Qg8-g3 ! threat: 2.Qg3-d3 + 2...Kd4-c5 3.Sf8-d7 # 1...Kd4-c5 2.Qg3-b3 threat: 3.Sf8-e6 # 1...e5-e4 2.Sf8-e6 + 2...Kd4*d5 3.Qg3-b3 # 1...Sb7-c5 2.c2-c4 threat: 3.Qg3-c3 # 2...Sc5-a4 3.Sf8-e6 # 2...Sc5-b3 3.Sf8-e6 # 2...Sc5-d3 3.Sf8-e6 # 2...Sc5-e4 3.Sf8-e6 # 2...Sc5-e6 3.Sf8*e6 # 2...Sc5-d7 3.Sf8-e6 # 2...Sc5-b7 3.Sf8-e6 # 2...Sc5-a6 3.Sf8-e6 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1890 algebraic: white: [Kf8, Rb4, Bf7, Be5, Pg2, Pf2, Pd5, Pa3] black: [Kc5] stipulation: "#3" solution: | "1.Bf7-h5 ! zugzwang. 1...Kc5*d5 2.Rb4-b5 + 2...Kd5-c6 3.Bh5-e8 # 2...Kd5-e6 3.Bh5-g4 # 2...Kd5-e4 3.Bh5-g6 # 2...Kd5-c4 3.Bh5-e2 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplement date: 1891 algebraic: white: [Kc6, Qh3, Rb3, Bg8, Se8, Sc2, Pg2, Pf6, Pe7, Pd4] black: [Ke4, Rg7, Bd8, Sf7, Sb8, Pg6, Pg3, Pe3, Pc7] stipulation: "#3" solution: | "1.Kc6-b7 ! threat: 2.Qh3-g4 + 2...Ke4-d5 3.Sc2*e3 # 1...Ke4-f4 2.Qh3-h4 + 2...Kf4-f5 3.Se8*g7 # 1...Sf7-d6 + 2.Se8*d6 + 2...Ke4-f4 3.Qh3-h4 # 2...c7*d6 3.Qh3-g4 # 1...Sf7-e5 2.Qh3-h4 + 2...Ke4-f5 3.Se8*g7 # 3.Sc2*e3 # 2...Se5-g4 3.Qh4*g4 # 1...Sf7-h6 2.Qh3-h4 + 2...Ke4-f5 3.Se8*g7 # 3.Sc2*e3 # 2...Sh6-g4 3.Qh4*g4 #" --- authors: - Baird, Edith Elina Helen source: Daily Gleaner date: 1894 algebraic: white: [Kf7, Qg1, Sb6, Ph4, Pe2, Pa5] black: [Ke4, Sa6, Ph3, Pg2, Pe5, Pc4] stipulation: "#3" solution: | "1.Sb6-d7 ! threat: 2.Sd7-f6 + 2...Ke4-f4 3.Qg1-f2 # 2...Ke4-f5 3.Qg1-f2 # 1...Ke4-f4 2.Qg1-f2 + 2...Kf4-g4 3.Sd7-f6 # 2...Kf4-e4 3.Sd7-f6 # 1...Ke4-f5 2.Qg1-f2 + 2...Kf5-g4 3.Sd7-f6 # 2...Kf5-e4 3.Sd7-f6 #" --- authors: - Baird, Edith Elina Helen source: Southern Counties' Chess Journal date: 1893 algebraic: white: [Kd7, Qf8, Bg8, Sc8, Pd6, Pb4, Pb2] black: [Ke5, Bd1, Pe3, Pe2, Pd5, Pb3] stipulation: "#3" solution: | "1.Sc8-a7 ! threat: 2.Bg8-h7 threat: 3.Sa7-c6 # 2...d5-d4 3.Qf8-f5 # 2...Ke5-d4 3.Qf8-f4 # 2.Qf8-f3 threat: 3.Sa7-c6 # 2...Ke5-d4 3.Qf3*d5 # 2.Sa7-c6 + 2...Ke5-e4 3.Bg8-h7 # 1...Bd1-c2 2.Sa7-c6 + 2...Ke5-e4 3.Bg8-h7 # 1...e2-e1=Q 2.Sa7-c6 + 2...Ke5-e4 3.Bg8-h7 # 1...e2-e1=S 2.Sa7-c6 + 2...Ke5-e4 3.Bg8-h7 # 1...e2-e1=R 2.Sa7-c6 + 2...Ke5-e4 3.Bg8-h7 # 1...e2-e1=B 2.Sa7-c6 + 2...Ke5-e4 3.Bg8-h7 # 1...d5-d4 2.Qf8-f3 threat: 3.Sa7-c6 # 1...Ke5-e4 2.Bg8-h7 + 2...Ke4-e5 3.Sa7-c6 # 2...Ke4-d4 3.Qf8-f4 # 1...Ke5-d4 2.Qf8-f5 threat: 3.Qf5*d5 # 2...Kd4-c4 3.Qf5-e4 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1893 algebraic: white: [Ka6, Qb2, Bf8, Sh7, Se7, Pg3, Pa3] black: [Kc4, Pg6, Pf5, Pe5, Pe3, Pa4] stipulation: "#3" solution: | "1.Se7-c6 ! threat: 2.Sh7-f6 threat: 3.Sc6*e5 # 3.Qb2-c2 # 2...Kc4-d3 3.Sc6*e5 # 1...e3-e2 2.Qb2-d2 threat: 3.Sc6-a5 # 1...Kc4-d5 2.Qb2-b5 + 2...Kd5-e6 3.Sc6-d8 # 2...Kd5-e4 3.Sh7-g5 # 1...Kc4-d3 2.Sc6*e5 + 2...Kd3-e4 3.Sh7-f6 #" --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1889 algebraic: white: [Kf7, Rg2, Be1, Ba6, Sg6, Sa8, Pd3, Pb2] black: [Kd4, Pf4] stipulation: "#3" solution: | "1.Sg6-e7 ! zugzwang. 1...Kd4-c5 2.Rg2-g5 + 2...Kc5-d6 3.Rg5-d5 # 2...Kc5-d4 3.Be1-f2 # 1...Kd4-e5 2.Rg2-g5 + 2...Ke5-d6 3.Rg5-d5 # 2...Ke5-d4 3.Be1-f2 # 1...Kd4-e3 2.Se7-f5 + 2...Ke3-f3 3.Ba6-b7 # 1...f4-f3 2.Rg2-g4 + 2...Kd4-e3 3.Rg4-e4 # 2...Kd4-c5 3.Be1-b4 # 2...Kd4-e5 3.Be1-g3 #" --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Chronicle date: 1894 algebraic: white: [Kf6, Rc1, Bc5, Sg4, Sd7, Pg2, Pc2, Pb6] black: [Ke4, Bc8, Ba7, Pf5, Pf4, Pb7] stipulation: "#3" solution: | "1.Kf6-g6 ! threat: 2.Sd7-f6 # 2.Sg4-f6 # 1...Ke4-d5 2.c2-c4 + 2...Kd5-c6 3.Sg4-e5 # 2...Kd5-e6 3.Sd7-f8 # 2...Kd5-e4 3.Sg4-f2 # 1...f4-f3 2.Sd7-f6 + 2...Ke4-f4 3.Bc5-d6 # 1...f5*g4 2.Sd7-f6 + 2...Ke4-e5 3.Rc1-e1 # 1...Bc8*d7 2.Sg4-f6 + 2...Ke4-e5 3.Rc1-e1 #" --- authors: - Baird, Edith Elina Helen source: Field date: 1894 algebraic: white: [Kb1, Qf1, Bh1, Sb8, Sb5, Ph6, Pc5, Pa5, Pa2] black: [Ke5, Sc1, Pf6] stipulation: "#3" solution: | "1.Sb5-d6 ! threat: 2.Sb8-c6 + 2...Ke5-e6 3.Qf1-f5 # 2.Qf1-c4 threat: 3.Sb8-c6 # 3.Sb8-d7 # 3.Qc4-e4 # 2...f6-f5 3.Sb8-d7 # 1...Sc1-e2 2.Sb8-c6 + 2...Ke5-e6 3.Qf1-f5 # 1...Sc1-d3 2.Sb8-c6 + 2...Ke5-e6 3.Qf1-f5 # 1...Sc1-b3 2.Sb8-c6 + 2...Ke5-e6 3.Qf1-f5 # 1...Sc1*a2 2.Sb8-c6 + 2...Ke5-e6 3.Qf1-f5 # 1...Ke5-e6 2.Qf1-e1 + 2...Sc1-e2 3.Qe1*e2 # 1...Ke5-d4 2.Sb8-c6 + 2...Kd4-e3 3.Sd6-c4 # 2...Kd4*c5 3.Sd6-b7 # 2...Kd4-c3 3.Sd6-e4 # 1...f6-f5 2.Sb8-c6 + 2...Ke5-f6 3.Qf1*f5 # 2...Ke5-e6 3.Qf1*f5 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1900 algebraic: white: [Kf4, Qa8, Bd1, Sg3, Sc8, Pf6, Pe7, Pd4, Pa6] black: [Ke6, Rc6, Be8, Sh2, Sa5, Pf7, Pd5, Pc7, Pc5] stipulation: "#3" solution: | "1.Bd1-c2 ! threat: 2.Bc2-f5 + 2...Ke6*f6 3.Sg3-h5 # 1...Ke6*f6 2.Sg3-h5 + 2...Kf6-e6 3.Bc2-f5 # 1...Ke6-d7 2.Qa8*c6 + 2...Sa5*c6 3.Bc2-f5 # 2...Kd7*c8 3.Qc6*e8 # 2...Kd7*c6 3.Bc2-a4 #" --- authors: - Baird, Edith Elina Helen source: Daily Gleaner date: 1895 algebraic: white: [Kf3, Qc3, Bf7, Bb6, Pg4, Pd6, Pd5, Pc2] black: [Ke5, Pg6, Pg5, Pd7, Pd4, Pc5] stipulation: "#3" solution: | "1.Bf7-g8 ! zugzwang. 1...d4*c3 2.Bb6*c5 zugzwang. 2...Ke5-f6 3.Bc5-d4 # 1...c5-c4 2.Qc3*d4 + 2...Ke5*d6 3.Qd4-f6 # 1...Ke5*d6 2.Qc3*c5 + 2...Kd6-e5 3.Qc5-e7 # 1...Ke5-f6 2.Qc3*d4 + 2...c5*d4 3.Bb6*d4 #" --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Chronicle date: 1895 algebraic: white: [Kb1, Qd6, Se7, Sc7, Pg6, Pg2, Pc6, Pb3, Pa5] black: [Ke4, Pg3, Pc4, Pb2, Pa6] stipulation: "#3" solution: | "1.Qd6-d2 ! zugzwang. 1...Ke4-e5 2.Qd2-e3 + 2...Ke5-d6 3.Sc7-e8 # 2...Ke5-f6 3.Sc7-e8 # 1...c4-c3 2.Qd2-e2 + 2...Ke4-f4 3.Sc7-e6 # 2...Ke4-d4 3.Sc7-e6 # 1...c4*b3 2.Sc7-e8 zugzwang. 2...Ke4-e5 3.Qd2-e3 #" --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald date: 1892 algebraic: white: [Kc3, Rd3, Rc5, Bd8, Sh3, Sb3, Pg4, Pe2, Pd5, Pc4] black: [Ke4, Sa1, Ph6, Pe7, Pe5, Pe3] stipulation: "#3" solution: | "1.d5-d6 ! threat: 2.Rd3*e3 + 2...Ke4*e3 3.Rc5*e5 # 1...e7*d6 2.Rc5*e5 + 2...Ke4*e5 3.Rd3*e3 # 2...d6*e5 3.Sb3-c5 #" --- authors: - Baird, Edith Elina Helen source: Bradford Observer Budget date: 1893 algebraic: white: [Ka1, Qh3, Re1, Bg1, Sa7, Sa4, Pg5, Pe6, Pe2, Pd5, Pd4, Pb5] black: [Ke4, Re7, Bf1, Sh8, Pg3, Pg2, Pb7, Pb6] stipulation: "#3" solution: | "1.Sa7-c8 ! threat: 2.Sc8*e7 threat: 3.Qh3-f5 # 3.Qh3-g4 # 3.Qh3-h4 # 2...Bf1*e2 3.Qh3-f5 # 2...Ke4-f4 3.Qh3-f5 # 3.Qh3-h4 # 2...Sh8-g6 3.Qh3-f5 # 2.Qh3-g4 + 2...Ke4*d5 3.Sa4*b6 # 1...Bf1*e2 2.Qh3-g4 + 2...Ke4*d5 3.Sa4*b6 # 2...Ke4-d3 3.Qg4*e2 # 1...Ke4-f4 2.Qh3-h4 + 2...Kf4-f5 3.Sc8*e7 # 1...Ke4*d5 2.Sa4*b6 + 2...Kd5-e4 3.Qh3-g4 # 1...Re7*e6 2.Qh3*e6 + 2...Ke4-f4 3.Bg1-e3 # 1...Re7-c7 2.Qh3-g4 + 2...Ke4*d5 3.Sa4*b6 # 1...Re7-d7 2.Qh3-g4 + 2...Ke4*d5 3.Sa4*b6 # 1...Re7-e8 2.Qh3-g4 + 2...Ke4*d5 3.Sa4*b6 # 1...Re7-h7 2.Qh3-g4 + 2...Ke4*d5 3.Sa4*b6 # 1...Re7-g7 2.Qh3-g4 + 2...Ke4*d5 3.Sa4*b6 # 1...Re7-f7 2.Qh3-g4 + 2...Ke4*d5 3.Sa4*b6 # 2...Rf7-f4 3.Sa4-c3 # 1...Sh8-f7 2.Qh3-g4 + 2...Ke4*d5 3.Sa4*b6 # 1...Sh8-g6 2.Qh3-g4 + 2...Ke4*d5 3.Sa4*b6 # 2...Sg6-f4 3.Sa4-c3 #" --- authors: - Baird, Edith Elina Helen source: De Amsterdammer, Weekblad voor Nederland date: 1895 algebraic: white: [Kc3, Qa8, Bd6, Sh8, Se8, Ph3, Pf2, Pe6] black: [Kd5, Ph4, Pc6, Pb6, Pa5] stipulation: "#3" solution: | "1.Bd6-h2 ! threat: 2.Qa8-d8 + 2...Kd5-c5 3.Qd8-g5 # 2...Kd5*e6 3.Se8-g7 # 2...Kd5-e4 3.Qd8-d3 # 1...Kd5-c5 2.Se8-c7 threat: 3.Qa8-f8 # 2...b6-b5 3.Qa8-a7 # 1...Kd5*e6 2.Qa8-c8 + 2...Ke6-e7 3.Bh2-d6 # 2...Ke6-d5 3.Qc8-f5 # 1...Kd5-e4 2.Qa8*c6 + 2...Ke4-f5 3.Qc6-d5 #" --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1893 algebraic: white: [Ka5, Qg3, Sc7, Sb3, Ph4, Pg6, Pe6, Pd5] black: [Ke4, Sd1, Sc8, Pd3, Pd2] stipulation: "#3" solution: | "1.Sc7-b5 ! zugzwang. 1...Sd1-f2 2.Sb5-c3 + 2...Ke4-f5 3.Qg3-g5 # 1...Sd1-e3 2.Sb5-c3 + 2...Ke4-f5 3.Qg3-g5 # 1...Sd1-c3 2.Sb5*c3 + 2...Ke4-f5 3.Qg3-g5 # 1...Sd1-b2 2.Sb5-c3 + 2...Ke4-f5 3.Qg3-g5 # 1...Ke4*d5 2.Qg3-g5 + 2...Kd5-c6 3.Qg5-g2 # 2...Kd5*e6 3.Sb3-c5 # 2...Kd5-e4 3.Sb3*d2 # 2...Kd5-c4 3.Sb3*d2 # 1...Ke4-f5 2.Qg3-g5 + 2...Kf5-e4 3.Sb3*d2 # 1...Sc8-a7 2.Sb3*d2 + 2...Ke4*d5 3.Qg3-d6 # 2...Ke4-f5 3.Qg3-g5 # 1...Sc8-b6 2.Sb3*d2 + 2...Ke4*d5 3.Qg3-d6 # 2...Ke4-f5 3.Qg3-g5 # 1...Sc8-d6 2.Sb3*d2 + 2...Ke4*d5 3.Qg3*d6 # 2...Ke4-f5 3.Qg3-g5 # 1...Sc8-e7 2.Sb3*d2 + 2...Ke4*d5 3.Qg3-d6 # 2...Ke4-f5 3.Qg3-g5 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1889 algebraic: white: [Kf2, Qg6, Rg2, Rb1, Bh1, Sf3, Se6, Ph4, Pg5, Pe5, Pd2, Pa5, Pa3] black: [Kd5, Rc8, Bc1, Ph6, Ph5, Pg7, Pc7, Pc6, Pb2, Pa6, Pa4] stipulation: "#3" solution: | "1.Rg2-g3 ! zugzwang. 1...Bc1*d2 2.Sf3*d2 + 2...Kd5*e5 3.Sd2-c4 # 1...Kd5-c4 2.Qg6-c2 + 2...Kc4-b5 3.Qc2-c5 # 2...Kc4-d5 3.Se6-f4 # 1...c6-c5 2.Se6-f4 + 2...Kd5-c4 3.Qg6-d3 # 1...h6*g5 2.Sf3*g5 + 2...Kd5*e5 3.Sg5-f7 # 2...Kd5-c4 3.Qg6-d3 # 1...Rc8-a8 2.Se6*c7 + 2...Kd5-c4 3.Qg6-c2 # 2...Kd5-c5 3.Qg6-c2 # 1...Rc8-b8 2.Se6*c7 + 2...Kd5-c5 3.Qg6-c2 # 2...Kd5-c4 3.Qg6-c2 # 1...Rc8-h8 2.Se6*c7 + 2...Kd5-c5 3.Qg6-c2 # 2...Kd5-c4 3.Qg6-c2 # 1...Rc8-g8 2.Se6*c7 + 2...Kd5-c5 3.Qg6-c2 # 2...Kd5-c4 3.Qg6-c2 # 1...Rc8-f8 2.Se6*c7 + 2...Kd5-c5 3.Qg6-c2 # 2...Kd5-c4 3.Qg6-c2 # 1...Rc8-e8 2.Se6*c7 + 2...Kd5-c5 3.Qg6-c2 # 2...Kd5-c4 3.Qg6-c2 # 1...Rc8-d8 2.Se6*c7 + 2...Kd5-c5 3.Qg6-c2 # 2...Kd5-c4 3.Qg6-c2 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1892 algebraic: white: [Kb1, Qg4, Bc7, Sb7, Sa8, Pg6, Pe3, Pd6, Pa5, Pa3] black: [Kd5, Pe4, Pc5, Pa4] stipulation: "#3" solution: | "1.Bc7-b8 ! zugzwang. 1...c5-c4 2.Qg4-f5 + 2...Kd5-c6 3.Sb7-d8 # 1...Kd5-e5 2.Qg4-g5 + 2...Ke5-e6 3.Sb7*c5 # 1...Kd5-c6 2.Qg4*e4 + 2...Kc6-d7 3.Sa8-b6 # 2...Kc6-b5 3.Sa8-c7 # 1...Kd5-c4 2.Qg4*e4 + 2...Kc4-c3 3.Qe4-c2 # 2...Kc4-b5 3.Sa8-c7 # 2...Kc4-b3 3.Qe4-d3 #" --- authors: - Baird, Edith Elina Helen source: Bradford Observer Budget date: 1894 algebraic: white: [Kh7, Rf7, Bb3, Sf6, Sc8, Pf3, Pb5, Pa7, Pa4] black: [Ke5, Sa8, Pe3, Pe2, Pc3, Pb6] stipulation: "#3" solution: | "1.Sc8-e7 ! threat: 2.Se7-c6 + 2...Ke5-f5 3.Sf6-e4 # 2...Ke5-d6 3.Sf6-e4 # 2...Ke5-f4 3.Sf6-e4 # 1...Ke5-f4 2.Sf6-e4 + 2...Kf4-e5 3.Se7-c6 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1900 algebraic: white: [Kc2, Rd6, Rb7, Sg2, Sf2, Pb4, Pa4] black: [Kd4, Pd7, Pd5, Pa6, Pa5] stipulation: "#3" solution: | "1.Rd6-f6 ! zugzwang. 1...Kd4-e5 2.Sf2-g4 + 2...Ke5-e4 3.Rf6-f4 # 2...Ke5-d4 3.Rf6-f4 # 1...Kd4-c4 2.Rf6-f4 + 2...d5-d4 3.Sg2-e3 # 1...a5*b4 2.Rb7*b4 + 2...Kd4-c5 3.Sf2-d3 # 2...Kd4-e5 3.Sf2-g4 # 1...d7-d6 2.Rf6-f4 + 2...Kd4-e5 3.Rb7-e7 #" comments: - also in The San Francisco Chronicle (no. 345), 28 October 1900 --- authors: - Baird, Edith Elina Helen source: The Westminster Gazette date: 1900 algebraic: white: [Kf1, Rc6, Bg4, Bc5, Sd5, Sb1, Ph3, Pg6, Pb3, Pa4] black: [Ke5, Ph4, Pb4, Pa5] stipulation: "#3" solution: | "1.Sd5-f4 ! threat: 2.Bc5-e3 threat: 3.Rc6-e6 # 1...Ke5-e4 2.Sf4-d3 zugzwang. 2...Ke4-d5 3.Bg4-f3 # 2...Ke4*d3 3.Bg4-f5 # 1...Ke5*f4 2.Rc6-e6 zugzwang. 2...Kf4-g5 3.Bc5-e3 # 2...Kf4-g3 3.Bc5-d6 #" --- authors: - Baird, Edith Elina Helen source: West Sussex County Times date: 1894 algebraic: white: [Kf1, Qh7, Rh1, Bh2, Be2, Sf5, Sd8, Pb4, Pb2] black: [Ke5, Ph4, Ph3, Pg3, Pe4] stipulation: "#3" solution: | "1.Sf5-e3 ! threat: 2.Qh7-h6 threat: 3.Sd8-c6 # 1...Ke5-d6 2.Se3-c4 + 2...Kd6-d5 3.Qh7-d7 # 1...Ke5-f6 2.Se3-g4 + 2...Kf6-g5 3.Sd8-e6 # 1...Ke5-d4 2.Sd8-c6 + 2...Kd4*e3 3.Qh7-h6 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1901 algebraic: white: [Ka5, Qh8, Bc3, Sh2, Sf8, Ph7, Pg4, Pe5] black: [Kd5, Bf1, Pg3, Pc5, Pc4, Pc2] stipulation: "#3" solution: | "1.Sf8-d7 ! threat: 2.Sd7-f6 + 2...Kd5-c6 3.Qh8-c8 # 2...Kd5-e6 3.Qh8-e8 # 1...Kd5-c6 2.Qh8-c8 + 2...Kc6-d5 3.Sd7-f6 # 1...Kd5-e6 2.Qh8-e8 + 2...Ke6-d5 3.Sd7-f6 # 1...Kd5-e4 2.Qh8-a8 + 2...Ke4-f4 3.Bc3-d2 # 2...Ke4-e3 3.Qa8-f3 # 2...Ke4-d3 3.Qa8-f3 #" --- authors: - Baird, Edith Elina Helen source: Brighton Society date: 1896 algebraic: white: [Kb1, Qh8, Sg1, Ph3, Pf5, Pe5, Pd3, Pd2, Pb5, Pb4] black: [Kd4, Pb2, Pa6] stipulation: "#3" solution: | "1.Qh8-g8 ! threat: 2.Qg8-e6 threat: 3.Qe6-d6 # 2...Kd4*d3 3.Qe6-d5 # 1...Kd4*e5 2.Sg1-f3 + 2...Ke5*f5 3.Qg8-f7 # 2...Ke5-d6 3.Qg8-d8 # 2...Ke5-f6 3.Qg8-f8 # 2...Ke5-f4 3.Qg8-g4 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1892 algebraic: white: [Kf1, Qa2, Rh8, Bh7, Bh2, Sg8, Se6, Ph4, Ph3, Pg6, Pd6, Pd4, Pd2] black: [Kd5, Qa8, Bb8, Sc4, Pa7] stipulation: "#3" solution: | "1.Qa2-b3 ! threat: 2.Qb3-f3 + 2...Kd5*e6 3.Qf3-f7 # 1...Kd5-c6 2.Sg8-e7 + 2...Kc6-d7 3.Se6-c5 # 1...Kd5*e6 2.Qb3*c4 + 2...Ke6-d7 3.Sg8-f6 # 2...Ke6-f5 3.g6-g7 # 2...Qa8-d5 3.Qc4-c8 # 1...Qa8-b7 2.Qb3*b7 + 2...Kd5*e6 3.Qb7-f7 #" --- authors: - Baird, Edith Elina Helen source: Field date: 1893 algebraic: white: [Kc1, Qf8, Bc5, Sb2, Pg6, Pb3] black: [Ke4, Sh1, Pg4, Pe5] stipulation: "#3" solution: | "1.Sb2-d1 ! zugzwang. 1...Sh1-g3 2.Sd1-f2 + 2...Ke4-d5 3.Qf8-d6 # 1...Sh1-f2 2.Sd1*f2 + 2...Ke4-d5 3.Qf8-d6 # 1...Ke4-d5 2.Sd1-c3 + 2...Kd5-c6 3.Qf8-c8 # 2...Kd5-e6 3.Qf8-f7 # 1...Ke4-d3 2.Qf8-f1 + 2...Kd3-e4 3.Sd1-c3 # 1...g4-g3 2.Sd1-c3 + 2...Ke4-d3 3.Qf8-f3 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1900 algebraic: white: [Ka2, Qf8, Sd2, Sb4, Pg5, Pe2, Pb5] black: [Ke6, Pg7, Pg6, Pf5, Pd5] stipulation: "#3" solution: | "1.Sd2-b3 ! zugzwang. 1...d5-d4 2.Sb3-c5 + 2...Ke6-e5 3.Qf8-b8 # 1...f5-f4 2.Sb3-c5 + 2...Ke6-e5 3.Sb4-c6 # 1...Ke6-e5 2.Sb4-d3 + 2...Ke5-e6 3.Sb3-c5 # 2...Ke5-e4 3.Qf8-e7 # 3.Qf8-e8 # 1...Ke6-d7 2.Sb3-c5 + 2...Kd7-c7 3.Sb4*d5 #" --- authors: - Baird, Edith Elina Helen source: Kentish Mercury date: 1894 algebraic: white: [Kf1, Qa2, Bh4, Bc2, Sa1, Pe5, Pc6] black: [Kd4, Pf3, Pd5, Pc7, Pc5, Pc3] stipulation: "#3" solution: | "1.Qa2-a5 ! zugzwang. 1...Kd4*e5 2.Qa5*c7 + 2...Ke5-e6 3.Qc7-e7 # 2...Ke5-d4 3.Qc7-f4 # 1...f3-f2 2.Bh4-g3 zugzwang. 2...Kd4-c4 3.Qa5-a4 # 2...Kd4-e3 3.Qa5*c3 # 2...c5-c4 3.Qa5-a7 # 1...Kd4-c4 2.Qa5-a4 # 1...Kd4-e3 2.Qa5*c5 + 2...Ke3-f4 3.Qc5-d4 # 2...Ke3-d2 3.Bh4-g5 # 2...d5-d4 3.Bh4-g5 # 1...c5-c4 2.Bh4-g3 threat: 3.Qa5-a7 # 2...Kd4-e3 3.Qa5*c3 #" --- authors: - Baird, Edith Elina Helen source: Brighton Society date: 1902 algebraic: white: [Kf1, Qh3, Bb3, Sg7, Sg4, Ph2, Pg6, Pc4, Pb2, Pa5] black: [Kc5, Pb4, Pa7] stipulation: "#3" solution: | "1.Qh3-h8 ! threat: 2.Sg7-f5 threat: 3.Qh8-c8 # 1...Kc5-c6 2.Qh8-c8 + 2...Kc6-d6 3.Sg7-f5 # 1...Kc5-d6 2.Qh8-c8 threat: 3.Sg7-f5 # 1...Kc5-d4 2.Qh8-a8 threat: 3.Qa8-d5 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1901 algebraic: white: [Ka1, Qd2, Bc8, Sh2, Ph4, Pg3, Pc5, Pb4] black: [Ke4, Pe7] stipulation: "#3" solution: | "1.Qd2-c3 ! zugzwang. 1...Ke4-d5 2.Qc3-d3 + 2...Kd5-c6 3.Qd3-d7 # 2...Kd5-e5 3.Sh2-g4 # 1...e7-e5 2.Bc8-d7 zugzwang. 2...Ke4-d5 3.Qc3-d3 # 1...e7-e6 2.Bc8-a6 zugzwang. 2...Ke4-d5 3.Ba6-b7 # 2...Ke4-f5 3.Ba6-d3 # 2...e6-e5 3.Qc3-d3 #" --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1902 algebraic: white: [Ke8, Rf7, Ba3, Sh3, Pg2, Pd3, Pc5, Pb5] black: [Ke5, Pg4, Pe6, Pd4] stipulation: "#3" solution: | "1.Sh3-f4 ! threat: 2.Sf4-g6 + 2...Ke5-d5 3.Rf7-d7 #" --- authors: - Baird, Edith Elina Helen source: Daily Chronicle date: 1901 algebraic: white: [Ke8, Rd2, Sg6, Sa5, Ph5, Pg2, Pf2, Pc3, Pb2] black: [Ke4, Ph4, Pg7, Pg5, Pd7, Pb5] stipulation: "#3" solution: | "1.Ke8-e7 ! zugzwang. 1...Ke4-f5 2.f2-f3 threat: 3.Rd2-d5 # 1...h4-h3 2.Rd2-d4 + 2...Ke4-f5 3.g2-g4 # 1...b5-b4 2.f2-f3 + 2...Ke4-e3 3.Sa5-c4 # 2...Ke4-f5 3.Rd2-d5 # 1...g5-g4 2.Rd2-e2 + 2...Ke4-f5 3.Re2-e5 # 2...Ke4-d5 3.Re2-e5 # 2...Ke4-d3 3.Sg6-f4 # 1...d7-d5 2.Ke7-e6 threat: 3.Rd2-d4 # 1...d7-d6 2.Ke7-e6 threat: 3.Rd2-d4 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1889 algebraic: white: [Ke8, Qc1, Sh6, Sf1, Ph2, Pf2, Pb4, Pa2] black: [Ke4, Ph3, Pf3] stipulation: "#3" solution: | "1.Sh6-f7 ! zugzwang. 1...Ke4-d4 2.Qc1-d2 + 2...Kd4-e4 3.Sf1-g3 # 2...Kd4-c4 3.Sf7-d6 # 1...Ke4-d5 2.Sf1-e3 + 2...Kd5-d4 3.Qc1-c4 # 2...Kd5-e6 3.Qc1-c6 # 2...Kd5-e4 3.Qc1-c4 # 1...Ke4-f5 2.Sf1-g3 + 2...Kf5-f6 3.Qc1-h6 # 2...Kf5-e6 3.Qc1-c6 # 2...Kf5-g6 3.Qc1-h6 # 2...Kf5-g4 3.Qc1-g5 # 3.Qc1-c4 # 1...Ke4-d3 2.Qc1-d2 + 2...Kd3-c4 3.Sf7-d6 # 2...Kd3-e4 3.Sf1-g3 #" --- authors: - Baird, Edith Elina Helen source: Field date: 1900 algebraic: white: [Ke8, Qe4, Sg1, Pg4, Pf2, Pc4, Pc2, Pa3] black: [Kd6, Pg5, Pg2] stipulation: "#3" solution: | "1.Qe4-b7 ! threat: 2.Sg1-f3 threat: 3.Qb7-b6 # 2...Kd6-c5 3.Qb7-c7 # 1...Kd6-e5 2.Qb7-b6 zugzwang. 2...Ke5-e4 3.Qb6-e3 # 2...Ke5-f4 3.Qb6-d4 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1890 algebraic: white: [Ke8, Qf1, Rh6, Bb8, Sc5, Pe7, Pd4, Pc2] black: [Kd5, Bh7, Ph3, Pg6, Pf6, Pf3, Pc6, Pb4] stipulation: "#3" solution: | "1.Sc5-e6 ! threat: 2.Qf1*f3 + 2...Kd5*e6 3.Qf3-e4 # 2...Kd5-c4 3.Qf3*c6 # 1...f3-f2 2.Qf1-h1 + 2...Kd5*e6 3.Qh1-e4 # 2...Kd5-c4 3.Qh1*c6 # 1...Kd5-e4 2.Qf1-d3 + 2...Ke4-d5 3.Se6-f4 # 1...c6-c5 2.Se6-f4 + 2...Kd5*d4 3.Qf1-d3 # 2...Kd5-c6 3.Qf1-a6 # 2...Kd5-e4 3.Qf1-d3 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1901 algebraic: white: [Ke8, Qh7, Sf8, Se6, Pf4, Pd2, Pb6] black: [Kd5, Ra4, Sb1, Pb4, Pb3, Pa5] stipulation: "#3" solution: | "1.Sf8-d7 ! threat: 2.Qh7-d3 + 2...Kd5-c6 3.Se6-d8 # 2...Kd5*e6 3.f4-f5 # 1...Kd5-c6 2.Se6-d8 + 2...Kc6-d6 3.Qh7-d3 # 2...Kc6-d5 3.Qh7-d3 # 2...Kc6-b5 3.Qh7-d3 # 1...Kd5-c4 2.Qh7-e4 + 2...Kc4-b5 3.Se6-c7 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1892 algebraic: white: [Ka8, Rf8, Rc6, Bh4, Se6, Sa4, Pg6, Pc2] black: [Ke4, Sd1, Pg7, Pf3, Pd2, Pb6] stipulation: "#3" solution: | "1.Se6-c7 ! threat: 2.Rc6-c4 + 2...Ke4-e5 3.Bh4-g3 # 2...Ke4-e3 3.Rf8-e8 # 2.Rc6-e6 + 2...Ke4-d4 3.Rf8-f4 # 1...Sd1-f2 2.Bh4*f2 threat: 3.Rc6-e6 # 1...Sd1-e3 2.Rc6-e6 + 2...Ke4-d4 3.Rf8-f4 # 1...Sd1-c3 2.Bh4-f2 threat: 3.Rc6-e6 # 1...Sd1-b2 2.Rc6-e6 + 2...Ke4-d4 3.Rf8-f4 # 1...f3-f2 2.Rc6-e6 + 2...Ke4-d4 3.Rf8-f4 # 1...Ke4-e5 2.Rc6-e6 + 2...Ke5-d4 3.Rf8-f4 # 1...Ke4-d4 2.Rc6-c4 + 2...Kd4*c4 3.Rf8-f4 # 2...Kd4-e5 3.Bh4-g3 # 2...Kd4-e3 3.Rf8-e8 # 1...Ke4-e3 2.Rc6-e6 + 2...Ke3-d4 3.Rf8-f4 # 1...b6-b5 2.Rc6-e6 + 2...Ke4-d4 3.Rf8-f4 #" --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald date: 1895 algebraic: white: [Kb8, Qc7, Sh5, Sd2, Pg2, Pe3] black: [Ke6, Ph2, Pc6, Pb6, Pb4] stipulation: "#3" solution: | "1.Qc7-g7 ! threat: 2.Sh5-f4 + 2...Ke6-d6 3.Sd2-e4 # 2...Ke6-f5 3.g2-g4 #" --- authors: - Baird, Edith Elina Helen source: East Central Times date: 1890 algebraic: white: [Ka1, Qd1, Ba3, Sh5, Sf3, Pg4, Pd6, Pd5, Pd4] black: [Ke4, Pe5] stipulation: "#3" solution: | "1.Qd1-f1 ! zugzwang. 1...Ke4*d5 2.Sh5-f6 + 2...Kd5-c6 3.Qf1-a6 # 2...Kd5-e6 3.Sf3-g5 # 1...Ke4-e3 2.Ba3-c1 + 2...Ke3-e4 3.Sh5-f6 # 1...e5*d4 2.Sf3-g5 + 2...Ke4-e5 3.Qf1-f5 # 2...Ke4-e3 3.Ba3-c1 # 2...Ke4*d5 3.Qf1-b5 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1893 algebraic: white: [Ke8, Qe4, Bd1, Sb7, Pf3, Pb6, Pb2, Pa3] black: [Kb5, Ra1, Sc1, Pe5, Pa6, Pa2] stipulation: "#3" solution: | "1.Qe4-g6 ! threat: 2.a3-a4 + 2...Kb5-b4 3.Qg6-e4 # 2...Kb5-c4 3.Qg6-e4 # 1...Sc1-e2 2.Bd1*e2 + 2...Kb5-a4 3.Qg6-c2 # 1...Sc1-b3 2.Bd1-e2 + 2...Kb5-a4 3.Qg6-c6 # 1...Kb5-c4 2.Qg6-c6 + 2...Kc4-d4 3.Qc6-e4 # 2...Kc4-d3 3.Qc6-c3 #" --- authors: - Baird, Edith Elina Helen source: Daily Gleaner date: 1893 algebraic: white: [Ka1, Qh3, Be7, Sb3, Pf6, Pf3, Pd3, Pb6, Pa7, Pa3] black: [Kd5, Ba8, Pf4, Pc5] stipulation: "#3" solution: | "1.a3-a4 ! zugzwang. 1...Kd5-e5 2.Qh3-h5 + 2...Ke5-e6 3.Sb3*c5 # 1...c5-c4 2.Qh3-d7 + 2...Kd5-e5 3.d3-d4 # 1...Kd5-c6 2.Qh3-e6 + 2...Kc6-b7 3.Sb3*c5 # 1...Ba8-c6 2.Qh3-f5 # 1...Ba8-b7 2.Qh3-f5 + 2...Kd5-c6 3.Qf5-e6 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1894 algebraic: white: [Ke7, Qd8, Bf1, Ba7, Se2, Sd6, Pd4, Pc6, Pb3] black: [Kf3, Ph5, Pf2, Pb6] stipulation: "#3" solution: | "1.Sd6-c4 ! zugzwang. 1...Kf3-e4 2.Qd8-d5 + 2...Ke4*d5 3.Bf1-g2 # 2...Ke4-d3 3.Qd5-f5 # 1...Kf3-g4 2.Qd8-g8 + 2...Kg4-h4 3.Qg8-g3 # 2...Kg4-f5 3.Sc4-d6 # 2...Kg4-f3 3.Qg8-g2 # 1...h5-h4 2.Qd8-d5 + 2...Kf3-g4 3.Sc4-e3 # 1...b6-b5 2.Qd8-f8 + 2...Kf3-e4 3.Se2-c3 # 2...Kf3-g4 3.Qf8-f4 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1891 algebraic: white: [Ka8, Qf2, Rg8, Rg2, Bf4, Ba6, Pg5, Pd6, Pd2, Pb2, Pa4] black: [Kd5, Re1, Ra1, Bf1, Ph5, Pe2, Pd4] stipulation: "#3" solution: | "1.Bf4-h2 ! threat: 2.Qf2-f5 + 2...Kd5-c6 3.Qf5-b5 # 1...Kd5-e6 2.Qf2-f7 + 2...Ke6*f7 3.Ba6-c4 # 1...Kd5-e4 2.Qf2-f3 + 2...Ke4*f3 3.Ba6-b7 #" --- authors: - Baird, Edith Elina Helen source: Southern Weekly News date: 1889 algebraic: white: [Ke7, Bf2, Ba4, Sd7, Sc6, Pe2, Pb2] black: [Kd5, Pf5, Pe5] stipulation: "#3" solution: | "1.Sc6-d8 ! zugzwang. 1...Kd5-e4 2.Sd7-f6 + 2...Ke4-f4 3.Sd8-e6 # 1...Kd5-c4 2.Sd7-b6 + 2...Kc4-b4 3.Sd8-c6 # 1...e5-e4 2.Ba4-b3 # 1...f5-f4 2.Sd7-b6 + 2...Kd5-e4 3.Ba4-c2 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1900 algebraic: white: [Kd8, Qc3, Sf8, Sb8, Pg4, Pf2, Pe5, Pc5, Pa4] black: [Kd5, Pg7, Pg5, Pc4, Pa5] stipulation: "#3" solution: | "1.Sf8-e6 ! zugzwang. 1...Kd5-e4 2.Qc3-e3 + 2...Ke4-d5 3.Se6-c7 # 1...Kd5*e6 2.Qc3*c4 + 2...Ke6*e5 3.Sb8-d7 # 1...g7-g6 2.Sb8-d7 zugzwang. 2...Kd5-e4 3.Sd7-f6 # 2...Kd5-c6 3.Qc3-f3 # 2...Kd5*e6 3.Qc3*c4 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1900 algebraic: white: [Ka8, Bf7, Ba5, Sh7, Sd6, Pg3, Pf6, Pe4, Pe2, Pd3] black: [Kd4, Pg7, Pe3, Pb3, Pa6] stipulation: "#3" solution: | "1.Sh7-g5 ! threat: 2.Sd6-b7 threat: 3.Sg5-f3 # 2...Kd4-e5 3.Ba5-c3 # 1...Kd4-e5 2.Sd6-c4 + 2...Ke5*f6 3.Ba5-d8 # 2...Ke5-d4 3.Sg5-e6 # 1...g7*f6 2.Sg5-e6 + 2...Kd4-e5 3.Sd6-c4 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1902 algebraic: white: [Ke5, Qb4, Rg2, Rf3, Bh4, Bc4, Sc7, Sb2, Pf4, Pe6, Pd5, Pb5] black: [Ke1, Rc3, Bh2, Sg3, Pe7, Pc5, Pb6, Pa7] stipulation: "s#4" solution: | "1.Qb4-a5 ! threat: 2.Rg2*h2 threat: 3.Sc7-a6 zugzwang. 3...b6*a5 4.Rf3-e3 + 4...Rc3*e3 # 1...Bh2-g1 2.Rf3-e3 + 2...Bg1*e3 3.Qa5*c3 + 3...Be3-d2 4.Sc7-a6 4...Bd2*c3 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1901 algebraic: white: [Kh5, Qf8, Be1, Sc6, Pd2, Pa4] black: [Ke4, Ph7, Ph6, Pf4, Pe2, Pd6, Pd5] stipulation: "#3" solution: | "1.Qf8-c8 ! zugzwang. 1...f4-f3 2.Qc8-g4 + 2...Ke4-d3 3.Sc6-b4 # 1...Ke4-f3 2.Qc8-h3 + 2...Kf3-e4 3.d2-d3 # 1...Ke4-d3 2.Qc8-f5 + 2...Kd3-c4 3.Qf5-c2 # 1...d5-d4 2.Qc8-e6 + 2...Ke4-f3 3.Qe6-d5 # 2...Ke4-d3 3.Sc6-b4 #" --- authors: - Baird, Edith Elina Helen source: Manchester Evening News date: 1893 algebraic: white: [Kb8, Qb5, Bh7, Bb2, Sh6, Pg5, Pg4, Pf2, Pc2] black: [Kd5, Sc5, Pg6, Pf7, Pd6] stipulation: "#3" solution: | "1.Sh6-f5 ! zugzwang. 1...Kd5-e4 2.Qb5-e2 + 2...Ke4-d5 3.Sf5-e7 # 2...Ke4-f4 3.Bb2-c1 # 1...Kd5-e6 2.Qb5-e8 + 2...Ke6-d5 3.Sf5-e3 # 1...g6*f5 2.Bh7*f5 threat: 3.c2-c4 # 1...f7-f6 2.f2-f3 threat: 3.Bh7-g8 #" --- authors: - Baird, Edith Elina Helen source: Field date: 1901 algebraic: white: [Ka8, Qf1, Be6, Sh8, Sc3, Pe5, Pd2, Pb3] black: [Kd4, Ra4, Ph7, Pg5, Pc4, Pa5] stipulation: "#3" solution: | "1.Be6-d7 ! threat: 2.Qf1-f2 + 2...Kd4-d3 3.Bd7-f5 # 2...Kd4*e5 3.Sh8-f7 # 1...c4*b3 2.Qf1-b5 threat: 3.Qb5-d5 # 1...Kd4-c5 2.Qf1-f8 + 2...Kc5-b6 3.Qf8-d6 # 2...Kc5-d4 3.Qf8-d6 # 1...Kd4*e5 2.Sc3-b5 threat: 3.Qf1-f5 #" --- authors: - Baird, Edith Elina Helen source: Times Weekly Edition date: 1895 algebraic: white: [Ka4, Re3, Bg7, Sh3, Sg5, Pg4, Pe4, Pc4] black: [Ke5, Rf6, Sd6, Sd4, Pe7, Pd7] stipulation: "#3" solution: | "1.Bg7-h8 ! zugzwang. 1...Sd4-b3 2.Sg5-f3 + 2...Ke5-e6 3.Sh3-g5 # 1...Sd4-c2 2.Sg5-f3 + 2...Ke5-e6 3.Sh3-g5 # 1...Sd4-e2 2.Sg5-f3 + 2...Ke5-e6 3.Sh3-g5 # 1...Sd4-f3 2.Sg5*f3 + 2...Ke5-e6 3.Sh3-g5 # 1...Sd4-f5 2.Sg5-f3 + 2...Ke5-e6 3.Sh3-g5 # 1...Sd4-e6 2.Sg5-f3 # 1...Sd4-c6 2.Sg5-f3 + 2...Ke5-e6 3.Sh3-g5 # 1...Sd4-b5 2.Sg5-f3 + 2...Ke5-e6 3.Sh3-g5 # 1...Sd6-b5 2.Sg5-f7 + 2...Ke5-e6 3.Sh3-g5 # 1...Sd6*c4 2.Sg5-f7 + 2...Ke5-e6 3.Sh3-g5 # 1...Sd6*e4 2.Sg5-f7 + 2...Ke5-e6 3.Sh3-g5 # 1...Sd6-f5 2.Sg5-f7 + 2...Ke5-e6 3.Sh3-g5 # 1...Sd6-f7 2.Sg5*f7 + 2...Ke5-e6 3.Sh3-g5 # 1...Sd6-e8 2.Sg5-f7 + 2...Ke5-e6 3.Sh3-g5 # 1...Sd6-c8 2.Sg5-f7 + 2...Ke5-e6 3.Sh3-g5 # 1...Sd6-b7 2.Sg5-f7 + 2...Ke5-e6 3.Sh3-g5 # 1...e7-e6 2.Bh8-g7 zugzwang. 2...Sd4-b3 3.Sg5-f3 # 2...Sd4-c2 3.Sg5-f3 # 2...Sd4-e2 3.Sg5-f3 # 2...Sd4-f3 3.Sg5*f3 # 2...Sd4-f5 3.Sg5-f3 # 2...Sd4-c6 3.Sg5-f3 # 2...Sd4-b5 3.Sg5-f3 # 2...Sd6-b5 3.Sg5-f7 # 2...Sd6*c4 3.Sg5-f7 # 2...Sd6*e4 3.Sg5-f7 # 2...Sd6-f5 3.Sg5-f7 # 2...Sd6-f7 3.Sg5*f7 # 2...Sd6-e8 3.Sg5-f7 # 2...Sd6-c8 3.Sg5-f7 # 2...Sd6-b7 3.Sg5-f7 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1898 algebraic: white: [Kb8, Qa5, Sg6, Se5, Pg4, Pf3, Pc4] black: [Kd4, Sf1, Ph2, Pe6] stipulation: "#3" solution: | "1.Sg6-f8 ! threat: 2.Sf8*e6 + 2...Kd4-e3 3.Qa5-e1 # 1...Sf1-g3 2.Qa5-d2 + 2...Kd4-c5 3.Sf8-d7 # 2...Kd4*e5 3.Sf8-d7 # 1...Sf1-d2 2.Qa5*d2 + 2...Kd4-c5 3.Sf8-d7 # 2...Kd4*e5 3.Sf8-d7 # 1...Kd4-e3 2.Qa5-e1 + 2...Ke3-d4 3.Sf8*e6 # 2...Ke3-f4 3.Sf8*e6 #" comments: - also in The San Francisco Chronicle (no. 243), 6 November 1898 --- authors: - Baird, Edith Elina Helen source: Field date: 1899 algebraic: white: [Ka1, Qc8, Sg8, Sg4, Pd2, Pb6] black: [Kd6, Sa6, Pd5] stipulation: "#3" solution: | "1.Sg4-e3 ! zugzwang. 1...d5-d4 2.Se3-c4 + 2...Kd6-d5 3.Sg8-f6 # 1...Sa6-b4 2.Qc8-c7 + 2...Kd6-e6 3.Qc7-e7 # 1...Sa6-c5 2.Qc8-c7 + 2...Kd6-e6 3.Qc7-e7 # 1...Sa6-c7 2.Qc8*c7 + 2...Kd6-e6 3.Qc7-e7 # 1...Sa6-b8 2.Qc8-c7 + 2...Kd6-e6 3.Qc7-e7 # 1...Kd6-e5 2.Qc8-f5 + 2...Ke5-d6 3.Qf5*d5 # 2...Ke5-d4 3.Qf5*d5 #" --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1893 algebraic: white: [Ke2, Qa1, Bh4, Sc6, Sb5, Pg3, Pf6, Pf4, Pc4, Pb2] black: [Ke6, Sb4, Ph7, Ph5] stipulation: "#3" solution: | "1.Qa1-h1 ! threat: 2.Sc6-e5 threat: 3.Qh1-h3 # 2...Ke6-f5 3.Sb5-d4 # 1...Ke6-f5 2.Qh1-e4 + 2...Kf5-g4 3.Qe4-e6 # 2...Kf5*e4 3.Sb5-d6 #" --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1894 algebraic: white: [Kb8, Qe2, Sc2, Pf6, Pf5, Pd2, Pb3] black: [Kb6, Pe3, Pc6, Pa6] stipulation: "#3" solution: | "1.Sc2-a3 ! zugzwang. 1...a6-a5 2.Qe2*e3 + 2...Kb6-a6 3.Qe3-a7 # 2...c6-c5 3.Qe3-e6 # 1...e3*d2 2.Qe2-e7 threat: 3.Qe7-b4 # 2...a6-a5 3.Qe7-a7 # 2...Kb6-a5 3.Qe7-c5 # 2...c6-c5 3.Qe7-c7 # 1...Kb6-c5 2.Qe2-c4 + 2...Kc5-d6 3.Qc4-d4 # 2...Kc5-b6 3.Qc4-b4 # 1...Kb6-a5 2.Qe2-c4 threat: 3.Qc4-c5 # 2...Ka5-b6 3.Qc4-b4 # 1...c6-c5 2.Qe2*e3 zugzwang. 2...a6-a5 3.Qe3-e6 # 2...Kb6-c6 3.Qe3-e6 # 2...Kb6-a5 3.Qe3*c5 #" --- authors: - Baird, Edith Elina Helen source: Birmingham Daily Post date: 1901 algebraic: white: [Ka7, Qd2, Sg7, Sb2, Ph3, Pc4, Pb3] black: [Ke5, Pf6, Pe7, Pe4] stipulation: "#3" solution: | "1.Sb2-d1 ! zugzwang. 1...e4-e3 2.Qd2-d5 + 2...Ke5-f4 3.Sg7-h5 # 1...f6-f5 2.Sg7-e8 zugzwang. 2...e7-e6 3.Qd2-d6 # 2...e4-e3 3.Qd2*e3 # 2...Ke5-e6 3.Qd2-d5 # 2...f5-f4 3.Qd2-d5 # 1...e7-e6 2.Qd2-h2 + 2...Ke5-d4 3.Qh2-d6 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1898 algebraic: white: [Kb7, Bg5, Bc6, Sd2, Sa6, Pg4, Pb2] black: [Ke5, Pe6, Pe4, Pd3, Pa7] stipulation: "#3" solution: | "1.Sa6-c5 ! threat: 2.Sc5-b3 threat: 3.Sd2-c4 # 1...e4-e3 2.Sd2-f3 + 2...Ke5-d6 3.Sc5-e4 # 1...Ke5-d6 2.Sc5*e4 + 2...Kd6-e5 3.Sd2-f3 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1901 algebraic: white: [Ka4, Qc3, Sg7, Sd8, Pe5, Pe2, Pb2] black: [Kd5, Se1, Pg4, Pf6, Pc7, Pc5] stipulation: "#3" solution: | "1.Sg7-h5 ! threat: 2.Sh5*f6 # 1...c5-c4 2.Sh5*f6 + 2...Kd5-c5 3.Qc3-e3 # 1...Kd5-e4 2.Sh5-g3 + 2...Ke4-f4 3.Sd8-e6 # 2...Ke4-d5 3.e2-e4 # 1...f6*e5 2.Qc3-d2 + 2...Se1-d3 3.Qd2*d3 # 2...Kd5-e4 3.Sh5-g3 # 2...Kd5-c4 3.b2-b3 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1899 algebraic: white: [Ka7, Qg7, Sc3, Ph4, Pf2, Pe3, Pb4] black: [Kd6, Ph6] stipulation: "#3" solution: | "1.Qg7-f7 ! zugzwang. 1...Kd6-c6 2.Qf7-e7 threat: 3.b4-b5 # 1...Kd6-e5 2.Qf7-g6 threat: 3.f2-f4 # 1...h6-h5 2.Qf7-e8 zugzwang. 2...Kd6-c7 3.Sc3-b5 #" --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1890 algebraic: white: [Ke1, Qa3, Bh7, Sg2, Ph4, Ph3, Pf6] black: [Ke5, Sc8, Sa7, Pg3] stipulation: "#3" solution: | "1.Bh7-g8 ! threat: 2.Qa3-c5 + 2...Ke5-e4 3.Qc5-d5 # 2...Ke5*f6 3.Qc5-g5 # 1...Ke5-e4 2.Qa3-f3 + 2...Ke4-e5 3.Qf3-f4 # 2...Ke4-d4 3.Qf3-e3 # 2...Ke4*f3 3.Bg8-d5 # 1...Ke5*f6 2.Qa3-f8 + 2...Kf6-g6 3.Sg2-f4 # 2...Kf6-e5 3.Qf8-f4 # 1...Sc8-b6 2.Qa3-e7 + 2...Ke5-f5 3.Bg8-h7 # 2...Ke5-d4 3.Qe7-e3 # 1...Sc8-e7 2.Qa3*e7 + 2...Ke5-f5 3.Bg8-h7 # 2...Ke5-d4 3.Qe7-e3 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1889 algebraic: white: [Kh5, Qa7, Rh4, Rc8, Bh2, Bc4, Sg5, Sb6, Pg4, Pf5, Pd2, Pc7, Pc5] black: [Kd4, Rg3, Bg1, Bf1, Sh1, Sb4, Pe5, Pd5, Pd3] stipulation: "#3" solution: | "1.Qa7-a4 ! threat: 2.Sg5-e6 + 2...Kd4-e4 3.Bc4*d5 # 1...Rg3*g4 2.Bh2*g1 + 2...Sh1-f2 3.Bg1*f2 # 1...d5*c4 2.Qa4-d7 + 2...Sb4-d5 3.Qd7*d5 # 2...Kd4*c5 3.Sb6-a4 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1901 algebraic: white: [Ka7, Qc8, Bh6, Sg4, Pg6, Pf2, Pe2, Pc7, Pa3] black: [Kd6, Pe4, Pc6] stipulation: "#3" solution: | "1.Sg4-e3 ! threat: 2.Qc8-e8 zugzwang. 2...c6-c5 3.Bh6-f4 # 2...Kd6*c7 3.Bh6-f4 # 2...Kd6-c5 3.Qe8-e5 # 1...c6-c5 2.Bh6-f4 + 2...Kd6-c6 3.Qc8-e8 # 2...Kd6-e7 3.Se3-d5 # 1...Kd6-e7 2.Bh6-f8 + 2...Ke7-f6 3.Qc8-f5 # 1...Kd6-e5 2.Qc8-d7 threat: 3.Se3-g4 # 2...Ke5-f6 3.Qd7-d6 # 1...Kd6-c5 2.Qc8-f8 + 2...Kc5-b5 3.Qf8-b4 # 2...Kc5-d4 3.Bh6-g7 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1891 algebraic: white: [Kb7, Qh1, Bf7, Sh2, Sg7, Pg4, Pf4, Pb2] black: [Kd4, Bb1, Ph5, Pf6, Pd3] stipulation: "#3" solution: | "1.Bf7-b3 ! threat: 2.Sg7-e6 + 2...Kd4-e3 3.Qh1-e1 # 1...Kd4-c5 2.Qh1-c6 + 2...Kc5-d4 3.Sg7-f5 # 2...Kc5-b4 3.Qc6-b6 # 1...Kd4-e3 2.Qh1-e1 + 2...Ke3-d4 3.Sg7-e6 # 2...Ke3*f4 3.Sg7-e6 #" --- authors: - Baird, Edith Elina Helen source: Boy's Own Paper date: 1893 algebraic: white: [Ka7, Rg7, Bd7, Sf4, Sb3, Pg2, Pd3, Pa2] black: [Kd6, Pd4, Pa3] stipulation: "#3" solution: | "1.Sb3-a5 ! zugzwang. 1...Kd6-c5 2.Sa5-b7 + 2...Kc5-b4 3.Sf4-d5 # 1...Kd6-c7 2.Sa5-c4 threat: 3.Sf4-e6 # 1...Kd6-e5 2.Sa5-c4 + 2...Ke5-f6 3.Sf4-h5 # 2...Ke5*f4 3.Rg7-g4 #" --- authors: - Baird, Edith Elina Helen source: Weekly Gazette (Montreal) date: 1894 algebraic: white: [Ke1, Qe7, Sh1, Sd1, Pd2, Pc5, Pb3, Pa3] black: [Kd5, Rh4, Ph3, Pf4, Pa5] stipulation: "#3" solution: | "1.Qe7-f6 ! threat: 2.Sd1-c3 + 2...Kd5*c5 3.d2-d4 # 1...f4-f3 2.Qf6-d6 + 2...Kd5-e4 3.Sh1-g3 # 1...Kd5*c5 2.d2-d4 + 2...Kc5-d5 3.Sd1-c3 # 2...Kc5-b5 3.Sd1-c3 # 1...Kd5-e4 2.Sd1-f2 + 2...Ke4-d5 3.Qf6-d6 # 2...Ke4-f3 3.Qf6-c6 #" --- authors: - Baird, Edith Elina Helen source: Cricket and Football Field date: 1895 algebraic: white: [Kb7, Bf6, Bc6, Sg5, Se1, Pg6, Pd6, Pc3] black: [Kc5, Pg7, Pd3] stipulation: "#3" solution: | "1.Se1-f3 ! threat: 2.Sg5-e4 + 2...Kc5-c4 3.Sf3-d2 # 2.Sf3-d2 threat: 3.Sg5-e4 # 2...Kc5*d6 3.Sd2-e4 # 1...d3-d2 2.Sf3*d2 threat: 3.Sg5-e4 # 2...Kc5*d6 3.Sd2-e4 # 1...Kc5-c4 2.Sf3-d2 + 2...Kc4-c5 3.Sg5-e4 # 1...Kc5*d6 2.Sg5-e4 + 2...Kd6-e6 3.Sf3-d4 # 1...g7*f6 2.Sg5-e4 + 2...Kc5-c4 3.Sf3-d2 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1894 algebraic: white: [Ka7, Qb8, Be2, Se5, Sc1, Pg5, Pg3, Pf6] black: [Kd5, Sg8, Pe4, Pd2, Pb5, Pb4] stipulation: "#3" solution: | "1.Se5-g6 ! threat: 2.Qb8-e5 + 2...Kd5-c6 3.Be2*b5 # 1...Kd5-c6 2.Be2*b5 + 2...Kc6-c5 3.Qb8-e5 # 2...Kc6-d5 3.Qb8-e5 # 1...Kd5-e6 2.Sg6-f4 + 2...Ke6-d7 3.Be2*b5 # 2...Ke6-f7 3.Be2-h5 # 2...Ke6-f5 3.Qb8*b5 #" comments: - also in The San Francisco Chronicle (no. 104), 10 November 1895 --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Courant date: 1894 algebraic: white: [Kh7, Bd6, Bd3, Sg3, Sf8, Pf2, Pc5, Pc2, Pb5] black: [Kd5, Ba4, Sd8, Pd7] stipulation: "#3" solution: | "1.Sf8-g6 ! threat: 2.Sg6-f4 + 2...Kd5-d4 3.Sg3-e2 # 1...Kd5-d4 2.Sg3-e2 + 2...Kd4-d5 3.Sg6-f4 # 1...Kd5-e6 2.Bd3-c4 + 2...Ke6-f6 3.Bd6-e7 # 1...Sd8-e6 2.Sg6-e7 + 2...Kd5-d4 3.Sg3-e2 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1899 algebraic: white: [Kd8, Qg7, Sc3, Sa8, Pg2, Pd3, Pc7, Pc2, Pb6, Pb4] black: [Ke6, Ra7, Bg8, Sh3, Sc8, Ph5, Pe3, Pd6] stipulation: "#3" solution: | "1.Sc3-e2 ! threat: 2.Se2-d4 + 2...Ke6-d5 3.c2-c4 # 1...d6-d5 2.Qg7-g6 + 2...Ke6-e5 3.d3-d4 #" --- authors: - Baird, Edith Elina Helen source: Boy's Own Paper date: 1894 algebraic: white: [Kb6, Qa1, Rg7, Sb5, Ph4, Pg6, Pg3, Pd6, Pc6] black: [Kd5, Pe7, Pe6, Pe5, Pc5, Pc4] stipulation: "#3" solution: | "1.Qa1-c3 ! threat: 2.Qc3-e3 zugzwang. 2...e5-e4 3.Qe3*c5 # 2...c4-c3 3.Qe3-d3 # 2...e7*d6 3.Sb5-c3 # 3.Sb5-c7 # 1...Kd5-e4 2.Kb6*c5 zugzwang. 2...Ke4-f5 3.Qc3-f3 # 2...e7*d6 + 3.Sb5*d6 # 1...e5-e4 2.Qc3-d2 + 2...Kd5-e5 3.Qd2-g5 # 1...e7*d6 2.Rg7-f7 zugzwang. 2...Kd5-e4 3.Qc3-f3 # 2...e5-e4 3.Sb5-c7 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplement date: 1893 algebraic: white: [Kd8, Qc2, Ra5, Bc5, Sh3, Sh2, Pg2] black: [Ke5, Pf5, Pb7, Pb5, Pb4, Pa6] stipulation: "#3" solution: | "1.Bc5-e7 ! threat: 2.Sh2-f3 + 2...Ke5-d5 3.Sh3-f4 # 2...Ke5-e6 3.Qc2-b3 # 1...Ke5-e6 2.Qc2-c4 + 2...b5*c4 3.Sh3-g5 # 2...Ke6-e5 3.Sh2-f3 # 1...f5-f4 2.Qc2-c5 + 2...Ke5-e6 3.Sh3-g5 # 2...Ke5-e4 3.Sh3-f2 #" --- authors: - Baird, Edith Elina Helen source: Weekly Gazette (Montreal) date: 1892 algebraic: white: [Ka7, Rc2, Bh5, Bc5, Sf3, Sa4, Pg3, Pf7, Pe5, Pe2, Pc6] black: [Kd5, Bh6, Pg5, Pe3, Pc3, Pa5] stipulation: "#3" solution: | "1.Bc5-d6 ! threat: 2.Sa4-b6 + 2...Kd5*c6 3.Sf3-d4 # 2...Kd5-e6 3.Sf3-d4 # 2...Kd5-e4 3.Bh5-g6 # 1...Kd5-e6 2.Sa4*c3 threat: 3.Sf3-d4 # 1...Kd5-e4 2.Sa4*c3 + 2...Ke4-f5 3.Sf3-d4 #" --- authors: - Baird, Edith Elina Helen source: Field date: 1898 algebraic: white: [Kd8, Bf1, Ba7, Sg7, Sg6, Pg3, Pc2] black: [Kd6, Pf6, Pc4, Pb5] stipulation: "#3" solution: | "1.Sg6-h8 ! threat: 2.Sh8-f7 + 2...Kd6-c6 3.Bf1-g2 # 2...Kd6-d5 3.Bf1-g2 # 2.Bf1-g2 threat: 3.Sh8-f7 # 1...c4-c3 2.Bf1-g2 threat: 3.Sh8-f7 # 1...b5-b4 2.Bf1-g2 threat: 3.Sh8-f7 # 1...Kd6-c6 2.Bf1-g2 + 2...Kc6-d6 3.Sh8-f7 # 1...Kd6-d5 2.Bf1-g2 + 2...Kd5-e5 3.Sh8-f7 # 2...Kd5-d6 3.Sh8-f7 # 1...Kd6-e5 2.Sh8-f7 + 2...Ke5-d5 3.Bf1-g2 # 2...Ke5-e4 3.Bf1-g2 # 1...f6-f5 2.Sh8-f7 + 2...Kd6-c6 3.Bf1-g2 # 2...Kd6-d5 3.Bf1-g2 #" --- authors: - Baird, Edith Elina Helen source: Boy's Own Paper date: 1895 algebraic: white: [Ka7, Bd6, Sg5, Sb5, Pg6, Pf2, Pe5, Pe3, Pc7, Pc2] black: [Kd5, Bc8, Pc4] stipulation: "#3" solution: | "1.Sg5-h7 ! threat: 2.Sh7-f6 + 2...Kd5-c6 3.Sb5-d4 # 2...Kd5-e6 3.Sb5-d4 # 1...Kd5-c6 2.Sb5-d4 + 2...Kc6-d7 3.Sh7-f6 # 2...Kc6-d5 3.Sh7-f6 # 1...Kd5-e6 2.Sb5-d4 + 2...Ke6-d7 3.Sh7-f6 # 2...Ke6-d5 3.Sh7-f6 # 1...Kd5-e4 2.Sb5-d4 threat: 3.Sh7-f6 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1894 algebraic: white: [Kh8, Qg1, Rb7, Bg5, Be8, Sg8, Ph2, Pf5, Pe4, Pd4, Pb2] black: [Kf3, Ra6, Sc8, Ph5, Pd7, Pd6, Pa4] stipulation: "#3" solution: | "1.Rb7-b4 ! threat: 2.Qg1-f1 + 2...Kf3*e4 3.Sg8-f6 # 2...Kf3-g4 3.Qf1-g2 # 1...Kf3*e4 2.Qg1-e3 + 2...Ke4-d5 3.Qe3-f3 # 2...Ke4*f5 3.Sg8-h6 # 1...Kf3-e2 2.Be8*h5 + 2...Ke2-d3 3.Qg1-b1 # 1...d6-d5 2.Be8*h5 + 2...Kf3*e4 3.Qg1-b1 #" --- authors: - Baird, Edith Elina Helen source: Manchester Evening News date: 1890 algebraic: white: [Kd8, Qh8, Rd1, Ba2, Sf2, Sb1, Pf3, Pd5] black: [Kd4, Sh1, Pe5, Pd6, Pd2, Pa5] stipulation: "#3" solution: | "1.Qh8-h6 ! threat: 2.Qh6*d2 + 2...Kd4-c5 3.Qd2*a5 # 1...Kd4-c5 2.Qh6*d6 + 2...Kc5-b5 3.Sb1-c3 # 2...Kc5*d6 3.Sf2-e4 # 2...Kc5-d4 3.Qd6-b6 #" --- authors: - Baird, Edith Elina Helen source: Field date: 1891 algebraic: white: [Kh8, Qa4, Bg3, Sh2, Sb3, Ph4, Pb2, Pa3] black: [Kd5, Sa6, Ph5, Pf6] stipulation: "#3" solution: | "1.Sh2-f1 ! threat: 2.Qa4-d7 + 2...Kd5-c4 3.Sf1-d2 # 2...Kd5-e4 3.Sb3-d2 # 2.Sf1-e3 + 2...Kd5-e6 3.Qa4-e8 # 1...Kd5-e6 2.Qa4-e8 + 2...Ke6-f5 3.Sf1-e3 # 2...Ke6-d5 3.Sf1-e3 # 1...Sa6-b4 2.Qa4-d7 + 2...Kd5-e4 3.Sb3-d2 # 2...Kd5-c4 3.Sf1-d2 # 1...Sa6-c5 2.Sf1-e3 + 2...Kd5-e6 3.Qa4-e8 # 1...Sa6-c7 2.Qa4-d7 + 2...Kd5-c4 3.Sf1-d2 # 2...Kd5-e4 3.Sb3-d2 # 1...Sa6-b8 2.Sf1-e3 + 2...Kd5-e6 3.Qa4-e8 # 1...f6-f5 2.Qa4-d7 + 2...Kd5-c4 3.Sf1-d2 # 2...Kd5-e4 3.Sb3-d2 #" --- authors: - Baird, Edith Elina Helen source: Daily Gleaner date: 1894 algebraic: white: [Kh8, Bd5, Ba5, Sd8, Sb4, Ph4, Pd3, Pd2, Pb5] black: [Kd4, Pa6] stipulation: "#3" solution: | "1.Bd5-e4 ! zugzwang. 1...Kd4-e5 2.Ba5-c7 + 2...Ke5-f6 3.Sb4-d5 # 2...Ke5-d4 3.Sd8-e6 # 1...Kd4-c5 2.Sd8-b7 + 2...Kc5*b5 3.Be4-c6 # 2...Kc5-d4 3.Sb4-c6 # 1...a6*b5 2.Sb4-c6 + 2...Kd4-c5 3.Sd8-b7 #" --- authors: - Baird, Edith Elina Helen source: Boy's Own Paper date: 1892 algebraic: white: [Kd7, Bf7, Sh6, Sc5, Ph4, Pg6] black: [Kf6, Bh8, Sc3, Sa5, Pf4, Pe4, Pd3, Pc6] stipulation: "#3" solution: | "1.Kd7-c8 ! threat: 2.Sc5-d7 + 2...Kf6-e7 3.Sh6-f5 # 2...Kf6-g7 3.Sh6-f5 # 1...Kf6-g7 2.Sh6-g8 threat: 3.Sc5-e6 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1896 algebraic: white: [Kh7, Qg4, Bg5, Sh2, Sb7, Pe2, Pb5] black: [Kd5, Sa2, Pe5, Pc5] stipulation: "#3" solution: | "1.Bg5-d2 ! threat: 2.Qg4-d7 + 2...Kd5-e4 3.Qd7-d3 # 3.Sb7*c5 # 2...Kd5-c4 3.Qd7-d3 # 3.Sb7-a5 # 1...Sa2-c3 2.Bd2*c3 zugzwang. 2...c5-c4 3.e2-e4 # 2...e5-e4 3.Qg4-g8 #" comments: - also in The San Francisco Chronicle (no. 159), 16 January 1897 --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1892 algebraic: white: [Kd7, Qg7, Bh6, Sb3, Sa1, Ph3, Pb2, Pa3] black: [Ke4, Ra4, Bh1, Ph7, Ph5, Ph4, Pd5, Pb7, Pa6] stipulation: "#3" solution: | "1.Qg7-g1 ! threat: 2.Qg1-e3 + 2...Ke4-f5 3.Qe3-e6 # 1...Ke4-f3 2.Sb3-d2 + 2...Kf3-e2 3.Qg1-f1 # 1...d5-d4 2.Sb3-d2 + 2...Ke4-e5 3.Qg1-g5 # 2...Ke4-d5 3.Qg1-g5 # 2...Ke4-f5 3.Qg1-g5 # 2...Ke4-d3 3.Qg1-f1 #" --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1895 algebraic: white: [Kh6, Ra6, Ba2, Sd2, Sc3, Pf3, Pe2, Pc6, Pb4] black: [Kf6, Pf5, Pf4] stipulation: "#3" solution: | "1.Ba2-g8 ! zugzwang. 1...Kf6-e7 2.Sc3-d5 + 2...Ke7-e8 3.Ra6-a8 # 2...Ke7-d8 3.Ra6-a8 # 2...Ke7-f8 3.Ra6-a8 # 2...Ke7-d6 3.Sd2-c4 # 1...Kf6-e5 2.Sd2-c4 + 2...Ke5-d4 3.Sc3-b5 # 2...Ke5-f6 3.Sc3-d5 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1894 algebraic: white: [Ka7, Qg6, Sa4, Ph5, Pg2, Pd2, Pc2, Pb5, Pa3] black: [Kd4, Ph6, Pg7, Pd7, Pd6] stipulation: "#3" solution: | "1.Sa4-b2 ! zugzwang. 1...Kd4-d5 2.Qg6-f5 + 2...Kd5-d4 3.c2-c3 # 1...Kd4-c5 2.Qg6-e4 threat: 3.Qe4-c4 # 2...Kc5*b5 3.Qe4-d5 # 2...d6-d5 3.Qe4-b4 # 1...Kd4-e5 2.c2-c3 zugzwang. 2...Ke5-d5 3.Qg6-f5 # 2...Ke5-f4 3.Sb2-d3 # 2...d6-d5 3.Sb2-d3 # 1...d6-d5 2.c2-c3 + 2...Kd4-c5 3.Qg6-b6 # 2...Kd4-e5 3.Sb2-d3 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1901 algebraic: white: [Kh5, Bd6, Bc8, Se2, Pg2, Pe5] black: [Kf5, Sf8, Sc2, Pe4, Pd7, Pb4, Pa3] stipulation: "#3" solution: | "1.Bc8-a6 ! threat: 2.g2-g4 + 2...Kf5-e6 3.Ba6-c4 # 1...Sc2-e3 2.Se2-d4 + 2...Kf5-f4 3.e5-e6 # 1...e4-e3 2.Se2-g3 + 2...Kf5-f4 3.e5-e6 # 2...Kf5-e6 3.Ba6-c4 # 1...Kf5-e6 2.Ba6-c4 + 2...Ke6-f5 3.g2-g4 #" --- authors: - Baird, Edith Elina Helen source: Manchester Evening News date: 1890 algebraic: white: [Kd8, Qf1, Bh6, Sd7, Sa1, Pg2, Pf3, Pe4, Pa3] black: [Kd4, Pg5, Pf2, Pe5, Pd5] stipulation: "#3" solution: | "1.Sd7-b6 ! zugzwang. 1...Kd4-e3 2.Sb6*d5 + 2...Ke3-d4 3.Sa1-b3 # 2...Ke3-d2 3.Bh6*g5 # 1...Kd4-c5 2.Sb6-a4 + 2...Kc5-d4 3.Sa1-c2 # 2...Kc5-c6 3.Qf1-a6 # 2...Kc5-d6 3.Qf1-a6 # 1...Kd4-c3 2.Sb6-a4 + 2...Kc3-d4 3.Sa1-c2 # 2...Kc3-d2 3.Bh6*g5 # 1...d5*e4 2.Qf1-c4 + 2...Kd4-e3 3.Bh6*g5 # 1...g5-g4 2.Qf1*f2 + 2...Kd4-d3 3.Qf2-e3 # 3.Qf2-d2 # 2...Kd4-c3 3.Qf2-d2 #" --- authors: - Baird, Edith Elina Helen source: Daily News date: 1900 algebraic: white: [Kh4, Rh7, Bb5, Sd7, Sc4, Pg6, Pe5, Pa3] black: [Kd5, Sa8, Pe4, Pd4, Pd3] stipulation: "#3" solution: | "1.e5-e6 ! threat: 2.Rh7-h5 + 2...Kd5*e6 3.Rh5-e5 # 2.Sd7-c5 threat: 3.Rh7-h5 # 1...d3-d2 2.Rh7-h5 + 2...Kd5*e6 3.Rh5-e5 # 1...e4-e3 2.Sd7-c5 threat: 3.Rh7-h5 # 1...Kd5*e6 2.Sd7-f8 + 2...Ke6-f6 3.Rh7-f7 # 2...Ke6-f5 3.Rh7-f7 # 2...Ke6-d5 3.Rh7-h5 # 1...Sa8-b6 2.Rh7-h5 + 2...Kd5*e6 3.Rh5-e5 # 1...Sa8-c7 2.Rh7-h5 + 2...Kd5*e6 3.Rh5-e5 #" --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Courant date: 1893 algebraic: white: [Kh3, Qf7, Bh5, Sb4, Ph6, Pf2, Pa5] black: [Ke4, Sb8, Pf4, Pe5, Pc6, Pb5, Pa6] stipulation: "#3" solution: | "1.Qf7-a7 ! zugzwang. 1...Ke4-f5 2.Bh5-g4 + 2...Kf5-g5 3.Qa7-g7 # 2...Kf5-f6 3.Qa7-g7 # 2...Kf5-g6 3.Qa7-g7 # 2...Kf5-e4 3.f2-f3 # 1...f4-f3 2.Bh5-g6 + 2...Ke4-f4 3.Qa7-e3 # 1...c6-c5 2.Qa7-h7 + 2...Ke4-d4 3.Qh7-d3 # 1...Sb8-d7 2.Qa7*d7 threat: 3.Qd7-d3 # 2...f4-f3 3.Qd7-g4 #" --- authors: - Baird, Edith Elina Helen source: Times Weekly Edition date: 1893 algebraic: white: [Ka7, Qd6, Ba1, Sh3, Sf1, Pe5, Pd2] black: [Kc4, Pc6] stipulation: "#3" solution: | "1.Qd6-a3 ! zugzwang. 1...Kc4-b5 2.Qa3-b3 + 2...Kb5-c5 3.d2-d4 # 2...Kb5-a5 3.Ba1-c3 # 1...Kc4-d5 2.Qa3-b3 + 2...Kd5-c5 3.d2-d4 # 2...Kd5-e4 3.Sf1-g3 # 1...c6-c5 2.Qa3-a4 + 2...Kc4-d5 3.Sh3-f4 # 2...Kc4-d3 3.Sh3-f4 #" --- authors: - Baird, Edith Elina Helen source: Field date: 1900 algebraic: white: [Kh2, Qa4, Be8, Se3, Sa7, Pe5, Pd3, Pc6, Pb2] black: [Kc5, Ba6, Pc7, Pb3, Pa5] stipulation: "#3" solution: | "1.Be8-g6 ! zugzwang. 1...Ba6*d3 2.Bg6*d3 zugzwang. 2...Kc5-b6 3.Qa4-d4 # 1...Kc5-b6 2.Qa4-d4 # 1...Ba6-c4 2.Qa4*c4 + 2...Kc5-b6 3.Sa7-c8 # 1...Ba6-b5 2.Qa4*b5 + 2...Kc5-d4 3.Se3-f5 # 1...Ba6-c8 2.Qa4-c4 + 2...Kc5-b6 3.Sa7*c8 # 1...Ba6-b7 2.Qa4-b5 + 2...Kc5-d4 3.Se3-f5 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1896 algebraic: white: [Kb4, Bc8, Sf5, Sb7, Ph3, Pe2] black: [Ke5, Pf6, Pf4, Pe4, Pd5] stipulation: "#3" solution: | "1.Sb7-d8 ! threat: 2.Sd8-c6 # 2.Sd8-f7 # 1...e4-e3 2.Sd8-c6 + 2...Ke5-e4 3.Sf5-d6 # 1...f4-f3 2.Sd8-f7 + 2...Ke5-f4 3.e2-e3 # 1...d5-d4 2.Sd8-f7 + 2...Ke5-d5 3.Sf5-e7 #" --- authors: - Baird, Edith Elina Helen source: Boy's Own Paper date: 1895 algebraic: white: [Kh1, Qc1, Be6, Sc8, Pf2, Pd7, Pd5, Pd3, Pc5] black: [Ke5, Qa5, Ba3, Sb2, Ph7, Ph6, Ph5, Pc3, Pb5] stipulation: "#3" solution: | "1.Sc8-a7 ! threat: 2.Sa7-c6 + 2...Ke5-f6 3.Qc1*h6 # 1...Qa5-c7 2.Qc1*c3 + 2...Ke5-f4 3.Qc3-f6 # 1...Qa5-b6 2.Qc1*c3 + 2...Ke5-f4 3.Qc3-f6 # 1...Qa5*a7 2.Qc1*c3 + 2...Ke5-f4 3.Qc3-f6 # 1...Qa5-a6 2.Qc1*c3 + 2...Ke5-f4 3.Qc3-f6 # 1...Ke5-f6 2.Qc1*h6 + 2...Kf6-e7 3.Sa7-c6 # 2...Kf6-e5 3.Sa7-c6 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1890 algebraic: white: [Kh1, Qa6, Bh3, Bb2, Pf6, Pb4, Pa2] black: [Kd5, Ba8, Sh8, Pg6, Pd6, Pa7] stipulation: "#3" solution: | "1.Kh1-h2 ! zugzwang. 1...Kd5-e4 2.Qa6-e2 + 2...Ke4-f4 3.Bb2-c1 # 2...Ke4-d5 3.Bh3-g2 # 1...g6-g5 2.Bh3-f5 threat: 3.Qa6-b5 # 2...Ba8-c6 3.Qa6-d3 # 1...Ba8-c6 2.Qa6-d3 # 1...Ba8-b7 2.Qa6*b7 + 2...Kd5-c4 3.Bh3-f1 # 1...Sh8-f7 2.Bh3-g2 + 2...Kd5-e6 3.Qa6-c8 #" --- authors: - Baird, Edith Elina Helen source: Rossendale Free Press date: 1893 algebraic: white: [Ka1, Ra8, Bg7, Bf3, Sb4, Sa4, Ph4, Pg5, Pf2, Pb6] black: [Kf5, Pe5] stipulation: "#3" solution: | "1.Bf3-h5 ! threat: 2.Sa4-c5 threat: 3.Ra8-f8 # 1...Kf5-e4 2.Ra8-f8 zugzwang. 2...Ke4-d4 3.Rf8-f4 #" --- authors: - Baird, Edith Elina Helen source: Daily News date: 1901 algebraic: white: [Kg8, Qh6, Bb7, Sg2, Pd5, Pc5] black: [Ke5, Bb1, Pg4, Pf5, Pe7, Pd7, Pd4, Pc2] stipulation: "#3" solution: | "1.Qh6-h4 ! threat: 2.Qh4*e7 # 1...d4-d3 2.Qh4-h8 + 2...Ke5-e4 3.d5-d6 # 1...Ke5-e4 2.Qh4-e1 + 2...Ke4-d3 3.Bb7-a6 # 2...Ke4-f3 3.d5-d6 # 1...f5-f4 2.Qh4*e7 + 2...Ke5-f5 3.Sg2-h4 # 1...e7-e6 2.d5-d6 threat: 3.Qh4-h8 # 2...f5-f4 3.Qh4-g5 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1890 algebraic: white: [Kg8, Rd6, Bg5, Sg7, Ph2, Pg2, Pd4, Pc2] black: [Ke4] stipulation: "#3" solution: | "1.Sg7-h5 ! threat: 2.Sh5-g3 # 1...Ke4-f5 2.Rd6-d5 + 2...Kf5-e6 3.Sh5-f4 # 2...Kf5-g6 3.Sh5-f4 # 2...Kf5-g4 3.Sh5-f6 # 2...Kf5-e4 3.Sh5-f6 #" --- authors: - Baird, Edith Elina Helen source: Nottinghamshire Guardian date: 1893 algebraic: white: [Kg8, Qg2, Bg5, Sc4, Sb3, Pe6, Pe2, Pc3, Pa4] black: [Kd5, Ph2, Pe4, Pc7, Pc6, Pc2, Pa2] stipulation: "#3" solution: | "1.Bg5-d2 ! threat: 2.Qg2-g5 + 2...Kd5*e6 3.Sb3-c5 # 2...Kd5*c4 3.Sb3-a5 # 1...Kd5*e6 2.Qg2-g7 threat: 3.Qg7-f7 # 2...Ke6-f5 3.Sb3-d4 # 1...Kd5*c4 2.Qg2*e4 + 2...Kc4*b3 3.Qe4-b4 #" --- authors: - Baird, Edith Elina Helen source: The Times date: 1900 algebraic: white: [Ka3, Qa8, Rd5, Ra4, Bg3, Pg2, Pe5] black: [Ke4, Sb4, Pe3, Pc5] stipulation: "#3" solution: | "1.Qa8-d8 ! threat: 2.e5-e6 threat: 3.Rd5-e5 # 1...Ke4-f5 2.Qd8-f6 + 2...Kf5-g4 3.Qf6-g6 # 2...Kf5-e4 3.Qf6-f3 # 1...c5-c4 2.Rd5-d4 + 2...Ke4-f5 3.Qd8-f6 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplement date: 1889 algebraic: white: [Kd1, Qh1, Bh8, Se6, Sa4, Pf3, Pf2, Pc6, Pa3] black: [Kd5, Pa6] stipulation: "#3" solution: | "1.Qh1-h7 ! zugzwang. 1...Kd5-d6 2.Qh7-d7 # 1...Kd5*c6 2.Qh7-c7 + 2...Kc6-d5 3.Se6-f4 # 2...Kc6-b5 3.Sa4-c3 # 1...Kd5*e6 2.Qh7-d7 # 1...Kd5-c4 2.Qh7-d3 + 2...Kc4*d3 3.Sa4-b2 # 1...a6-a5 2.Se6-c5 zugzwang. 2...Kd5-c4 3.Qh7-d3 # 2...Kd5-d6 3.Qh7-d7 # 2...Kd5*c6 3.Qh7-d7 #" --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1892 algebraic: white: [Kg7, Qb1, Sb5, Sb4, Pd2, Pb3] black: [Ke5, Bh1, Sc8, Sa4, Ph5, Pe6] stipulation: "#3" solution: | "1.Qb1-g6 ! zugzwang. 1...Ke5-f4 2.Sb4-d3 + 2...Kf4-f3 3.Sb5-d4 # 1...Bh1-a8 2.Sb4-d3 + 2...Ke5-d5 3.Qg6-g2 # 1...Bh1-b7 2.Sb4-d3 + 2...Ke5-d5 3.Qg6-g2 # 1...Bh1-c6 2.Sb4-d3 + 2...Ke5-d5 3.Qg6-g2 # 1...Bh1-d5 2.Sb4-d3 # 1...Bh1-e4 2.Qg6-f6 # 1...Bh1-f3 2.Qg6-g5 + 2...Ke5-e4 3.d2-d3 # 1...Bh1-g2 2.Sb4-d3 + 2...Ke5-d5 3.Qg6*g2 # 1...Sa4-b2 2.Qg6-f6 + 2...Ke5-e4 3.Sb5-c3 # 1...Sa4-c3 2.Qg6-f6 + 2...Ke5-e4 3.Sb5*c3 # 1...Sa4-c5 2.Qg6-f6 + 2...Ke5-e4 3.Sb5-c3 # 1...Sa4-b6 2.Qg6-f6 + 2...Ke5-e4 3.Sb5-c3 # 1...h5-h4 2.Qg6-g4 threat: 3.d2-d4 # 1...Sc8-a7 2.Qg6-f6 + 2...Ke5-e4 3.Sb5-d6 # 1...Sc8-b6 2.Qg6-f6 + 2...Ke5-e4 3.Sb5-d6 # 1...Sc8-d6 2.Qg6-f6 + 2...Ke5-e4 3.Sb5*d6 # 1...Sc8-e7 2.Qg6-f6 + 2...Ke5-e4 3.Sb5-d6 #" --- authors: - Baird, Edith Elina Helen source: Bristol Times and Mirror date: 1901 distinction: HM algebraic: white: [Kb3, Qg1, Bh8, Bc8, Sh6, Sc3, Ph5, Pe6, Pd5] black: [Ke5, Sf6, Pg5, Pg2, Pe7, Pc6] stipulation: "#3" solution: | "1.Bc8-d7 ! zugzwang. 1...Ke5-d6 2.Sh6-f7 + 2...Kd6-c7 3.Qg1-a7 # 1...Ke5-f4 2.Qg1-f2 + 2...Kf4-e5 3.Sh6-f7 # 1...g5-g4 2.Sh6-f7 + 2...Ke5-f5 3.Qg1-f2 # 2...Ke5-f4 3.Qg1-f2 # 1...c6-c5 2.Qg1-e3 + 2...Ke5-d6 3.Qe3-g3 # 1...c6*d5 2.Qg1-e3 + 2...Ke5-d6 3.Sc3-b5 #" --- authors: - Baird, Edith Elina Helen source: Reading Observer date: 1901 algebraic: white: [Kg7, Rc2, Bb3, Sd6, Pf5, Pf2, Pe2] black: [Kd4, Bg1, Pd2, Pc7] stipulation: "#3" solution: | "1.Bb3-e6 ! threat: 2.Rc2-c4 + 2...Kd4-e5 3.Sd6-f7 # 1...Kd4-e5 2.Sd6-f7 + 2...Ke5-e4 3.Rc2-c4 # 2...Ke5-f4 3.Rc2-c4 # 2...Ke5-d4 3.Rc2-c4 #" --- authors: - Baird, Edith Elina Helen source: Rossendale Free Press date: 1894 algebraic: white: [Kg7, Rb2, Bc8, Bb4, Sh4, Sb8, Pf4] black: [Kc4, Pe4, Pd4, Pb5] stipulation: "#3" solution: | "1.Sb8-d7 ! zugzwang. 1...Kc4-d5 2.Bc8-b7 + 2...Kd5-e6 3.Sd7-f8 # 2...Kd5-c4 3.Sd7-e5 # 1...Kc4-d3 2.Sd7-e5 + 2...Kd3-e3 3.Sh4-g2 # 1...d4-d3 2.Sd7-b6 + 2...Kc4-d4 3.Sh4-f5 # 1...e4-e3 2.Sd7-b6 + 2...Kc4-d3 3.Bc8-f5 #" --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1894 algebraic: white: [Ka6, Qf1, Bh6, Bb1, Sa4] black: [Ke3, Sg5, Pe4, Pc6] stipulation: "#3" solution: | "1.Sa4-b6 ! zugzwang. 1...Ke3-d4 2.Bh6-g7 + 2...Kd4-c5 3.Qf1-f8 # 2...Kd4-e3 3.Sb6-c4 # 1...Ke3-d2 2.Bh6-g7 threat: 3.Sb6-c4 # 1...c6-c5 2.Bh6*g5 + 2...Ke3-d4 3.Qf1-f6 #" --- authors: - Baird, Edith Elina Helen source: Times Weekly Edition date: 1893 algebraic: white: [Kc8, Bd1, Bc5, Sh7, Sh4, Pf2, Pe5] black: [Kf4, Pe4, Pd3, Pc6] stipulation: "#3" solution: | "1.Sh7-f8 ! threat: 2.Sf8-g6 + 2...Kf4-g5 3.Bc5-e3 # 1...Kf4*e5 2.Sf8-d7 + 2...Ke5-e6 3.Bd1-b3 # 2...Ke5-d5 3.Bd1-b3 # 2...Ke5-f4 3.Bc5-e3 # 1...Kf4-g5 2.Bc5-e7 + 2...Kg5-h6 3.Sh4-f5 # 2...Kg5-f4 3.Sf8-g6 #" --- authors: - Baird, Edith Elina Helen source: Birmingham Weekly Mercury date: 1894 algebraic: white: [Ka3, Qg7, Sg3, Sb4, Pf3, Pe6, Pc2, Pa5] black: [Kd6, Pe3] stipulation: "#3" solution: | "1.f3-f4 ! threat: 2.Qg7-d7 + 2...Kd6-c5 3.Qd7-d5 # 1...Kd6*e6 2.f4-f5 + 2...Ke6-d6 3.Sg3-e4 # 1...Kd6-c5 2.Qg7-c7 + 2...Kc5-b5 3.c2-c4 # 2...Kc5-d4 3.c2-c3 #" --- authors: - Baird, Edith Elina Helen source: Hackney Mercury date: 1892 algebraic: white: [Kg4, Rf2, Rb2, Bd6, Bc8, Sh5, Sh2, Pd2, Pc5, Pc3] black: [Ke4, Rb8, Sb6, Ph7, Pg5, Pd7, Pb3] stipulation: "#3" solution: | "1.Sh2-f3 ! threat: 2.Sh5-f6 + 2...Ke4-d3 3.Sf3-e5 # 1...Ke4-d3 2.Sf3-e5 + 2...Kd3-e4 3.Sh5-f6 # 1...Sb6-d5 2.Sh5-g3 + 2...Ke4-d3 3.Sf3-e5 #" --- authors: - Baird, Edith Elina Helen source: Weekly Gazette (Montreal) date: 1894 algebraic: white: [Kc8, Qb2, Bd7, Se5, Pg3, Pf2, Pd4] black: [Kd5, Sh1, Pf3, Pb6, Pb5] stipulation: "#3" solution: | "1.Se5-g4 ! threat: 2.Sg4-e3 + 2...Kd5-d6 3.Qb2-b4 # 2...Kd5-e4 3.Bd7-f5 # 2.Sg4-f6 + 2...Kd5-d6 3.Qb2-b4 # 2...Kd5-c4 3.Bd7*b5 # 1...Sh1*g3 2.Sg4-f6 + 2...Kd5-d6 3.Qb2-b4 # 2...Kd5-c4 3.Bd7*b5 # 1...Sh1*f2 2.Sg4-f6 + 2...Kd5-d6 3.Qb2-b4 # 2...Kd5-c4 3.Bd7*b5 # 1...b5-b4 2.Sg4-e3 + 2...Kd5-d6 3.Qb2*b4 # 2...Kd5-e4 3.Bd7-f5 # 1...Kd5-d6 2.Qb2-b4 + 2...Kd6-d5 3.Sg4-f6 # 1...Kd5-e4 2.Sg4-f6 + 2...Ke4-d3 3.Bd7*b5 # 1...Kd5-c4 2.Bd7-c6 threat: 3.Sg4-e5 # 2.Sg4-e3 + 2...Kc4-d3 3.Bd7-f5 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1892 algebraic: white: [Ka1, Qb7, Sf4, Sc8, Pg3, Pf6, Pf2, Pb3] black: [Ke5, Sc4, Pf5, Pd6] stipulation: "#3" solution: | "1.Sc8-a7 ! zugzwang. 1...Sc4-a3 2.Qb7-e7 + 2...Ke5-d4 3.Qe7-e3 # 1...Sc4-b2 2.Qb7-e7 + 2...Ke5-d4 3.Qe7-e3 # 1...Sc4-d2 2.Qb7-e7 + 2...Ke5-d4 3.Qe7-e3 # 1...Sc4-e3 2.Qb7-e7 + 2...Ke5-d4 3.Qe7*e3 # 1...Sc4-b6 2.Qb7-e7 + 2...Ke5-d4 3.Qe7-e3 # 1...Sc4-a5 2.Qb7-e7 + 2...Ke5-d4 3.Qe7-e3 # 1...Ke5*f6 2.Sa7-c6 threat: 3.Qb7-e7 # 2...Kf6-g5 3.Qb7-g7 # 1...Ke5-d4 2.Sa7-b5 + 2...Kd4-c5 3.Sf4-d3 # 2...Kd4-e5 3.Qb7-e7 # 1...d6-d5 2.Qb7-e7 + 2...Ke5-d4 3.Sa7-b5 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1891 algebraic: white: [Kg1, Qg4, Bd1, Bb4, Sh2, Sb7, Pa3] black: [Ke5, Sh5, Sb8, Ph3, Pd7, Pd5, Pd2, Pa4] stipulation: "#3" solution: | "1.Qg4-g6 ! threat: 2.Sh2-f3 + 2...Ke5-f4 3.Bb4*d2 # 1...d5-d4 2.Qg6-g5 + 2...Ke5-e6 3.Sb7-d8 # 2...Ke5-e4 3.Sb7-c5 # 1...Ke5-f4 2.Bb4*d2 + 2...Kf4-e5 3.Sh2-f3 #" --- authors: - Baird, Edith Elina Helen source: The Westminster Gazette date: 1901 algebraic: white: [Kc7, Qa2, Rh5, Bb5, Sg5, Se8, Pf6, Pf3, Pd2, Pa3] black: [Kd5, Bg1, Sb3, Pf2, Pe5, Pd6, Pb2, Pa5, Pa4] stipulation: "#3" solution: | "1.Kc7-b7 ! threat: 2.Se8-c7 + 2...Kd5-c5 3.Sg5-e6 # 2...Kd5-d4 3.Sg5-e6 # 1...Kd5-c5 2.Sg5-e6 + 2...Kc5-d5 3.Se8-c7 # 2...Kc5*b5 3.Se8*d6 # 1...Kd5-d4 2.Sg5-e6 + 2...Kd4-d5 3.Se8-c7 # 1...e5-e4 2.Sg5-f7 + 2...Kd5-e6 3.Sf7-d8 # 2...Kd5-d4 3.Qa2*b2 #" --- authors: - Baird, Edith Elina Helen source: Rossendale Free Press date: 1891 algebraic: white: [Ka1, Qh7, Se3, Sd1, Pf5, Pc6, Pc3, Pb4, Pa6] black: [Kd6, Sb8] stipulation: "#3" solution: | "1.Sd1-f2 ! zugzwang. 1...Kd6*c6 2.Qh7-b7 + 2...Kc6-d6 3.Se3-c4 # 1...Kd6-e5 2.Qh7-c7 + 2...Ke5-f6 3.Sf2-e4 # 1...Sb8*a6 2.Qh7-d7 + 2...Kd6-e5 3.Qd7-d4 # 1...Sb8*c6 2.Se3-c4 + 2...Kd6-d5 3.Qh7-g8 # 3.Qh7-f7 # 1...Sb8-d7 2.Qh7*d7 + 2...Kd6-e5 3.Qd7-d4 #" --- authors: - Baird, Edith Elina Helen source: Southern Counties' Chess Journal date: 1894 algebraic: white: [Kf8, Qf6, Sc6, Sa3, Pg3, Pf3, Pe2, Pb3] black: [Kd5, Sc1, Sa2, Pg4, Pc3] stipulation: "#3" solution: | "1.Sc6-b8 ! threat: 2.Qf6-f5 + 2...Kd5-d6 3.Sa3-b5 # 2...Kd5-d4 3.Sa3-c2 # 2.e2-e4 + 2...Kd5-c5 3.Sb8-a6 # 1...Sc1*e2 2.Qf6-f5 + 2...Kd5-d6 3.Sa3-b5 # 2...Kd5-d4 3.Sa3-c2 # 1...Sc1-d3 2.e2-e4 + 2...Kd5-c5 3.Sb8-a6 # 1...Sc1*b3 2.e2-e4 + 2...Kd5-c5 3.Sb8-a6 # 1...Sa2-b4 2.e2-e4 + 2...Kd5-c5 3.Sb8-d7 # 1...c3-c2 2.e2-e4 + 2...Kd5-c5 3.Sb8-a6 # 1...g4*f3 2.Qf6-f5 + 2...Kd5-d6 3.Sa3-b5 # 2...Kd5-d4 3.Sa3-c2 # 1...Kd5-c5 2.Sb8-a6 + 2...Kc5-d5 3.e2-e4 #" --- authors: - Baird, Edith Elina Helen source: Field date: 1891 algebraic: white: [Kf8, Qh3, Bc8, Sf6, Sd7, Ph4, Pg2, Pe6, Pc5, Pc4, Pa3] black: [Kd4, Pf5] stipulation: "#3" solution: | "1.Sd7-e5 ! zugzwang. 1...f5-f4 2.Qh3-d3 + 2...Kd4*c5 3.Sf6-d7 # 2...Kd4*e5 3.Sf6-g4 # 1...Kd4*c5 2.Qh3-e3 + 2...Kc5-d6 3.Sf6-e8 # 1...Kd4*e5 2.Qh3-c3 + 2...Ke5-f4 3.g2-g3 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1892 algebraic: white: [Kf8, Qa8, Re1, Bg1, Sh4, Se3, Pc5, Pc4, Pc2] black: [Kc3, Sh5, Sh1, Pg6, Pb4, Pa5] stipulation: "#3" solution: | "1.Qa8-b8 ! threat: 2.Qb8-e5 + 2...Kc3-d2 3.Sh4-f3 # 1...Kc3-d2 2.Sh4-f3 + 2...Kd2-c3 3.Qb8-e5 # 1...b4-b3 2.Qb8*b3 + 2...Kc3-d4 3.Se3-f5 # 2...Kc3-d2 3.Sh4-f3 #" --- authors: - Baird, Edith Elina Helen source: Brighton Society date: 1902 algebraic: white: [Kh8, Qh5, Rg5, Bf1, Bd4, Sh7, Se2, Ph3, Pf6, Pa6, Pa3] black: [Kd5, Sf5, Sb2, Pf7, Pf2, Pd6, Pd2, Pb3, Pa5, Pa4] stipulation: "#3" solution: | "1.Rg5-g8 ! threat: 2.Qh5*f5 + 2...Kd5-c6 3.Rg8-c8 # 2...Kd5-c4 3.Rg8-c8 # 1...Sb2-d3 2.Qh5*f7 + 2...Kd5-c6 3.Qf7-b7 # 2...Kd5-e4 3.Sh7-g5 # 3.Bf1-g2 # 1...Sb2-c4 2.Qh5-f3 + 2...Kd5-e6 3.Sh7-f8 # 2.Bf1-g2 + 2...Kd5-e6 3.Sh7-f8 # 1...Kd5-c6 2.Rg8-c8 + 2...Kc6-d7 3.Qh5*f5 # 2...Kc6-d5 3.Qh5*f5 # 2...Kc6-b5 3.Se2-c3 # 1...Kd5-e6 2.Qh5*f7 + 2...Ke6*f7 3.Sh7-g5 # 1...Kd5-e4 2.Qh5-f3 + 2...Ke4*f3 3.Sh7-g5 # 1...Kd5-c4 2.Rg8-c8 + 2...Kc4-b5 3.Se2-c3 # 2...Kc4-d5 3.Qh5*f5 # 2...Kc4-d3 3.Qh5*f5 #" --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1893 algebraic: white: [Kc5, Qa6, Sg6, Sf1, Ph5, Ph4, Pf6, Pe3] black: [Ke4, Pf3, Pd5] stipulation: "#3" solution: | "1.Kc5-d6 ! zugzwang. 1...f3-f2 2.Qa6-e2 threat: 3.Sf1-g3 # 2...Ke4-f5 3.Qe2-f3 # 1...Ke4-f5 2.Qa6-c8 + 2...Kf5*f6 3.Qc8-f8 # 2...Kf5-e4 3.Qc8-c2 # 1...d5-d4 2.Qa6-c6 + 2...Ke4-d3 3.Sg6-f4 # 2...Ke4-f5 3.Qc6*f3 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1893 algebraic: white: [Kf5, Qg2, Ra8, Bd7, Pb4, Pb2, Pa6] black: [Kb3, Pb5] stipulation: "#3" solution: | "1.Ra8-d8 ! zugzwang. 1...Kb3-c4 2.Qg2-d5 + 2...Kc4*b4 3.Qd5*b5 # 2...Kc4*d5 3.Bd7*b5 # 1...Kb3*b4 2.Qg2-d5 threat: 3.Qd5*b5 # 1...Kb3-a4 2.Qg2-d5 zugzwang. 2...Ka4*b4 3.Qd5*b5 # 1...Kb3-a2 2.Bd7-e6 + 2...Ka2-a1 3.Rd8-d1 # 2...Ka2-b1 3.Rd8-d1 #" --- authors: - Baird, Edith Elina Helen source: Times Weekly Edition date: 1894 algebraic: white: [Kb1, Qh8, Be5, Sb2, Pg3, Pf2, Pe2, Pb5, Pb3] black: [Ke4, Sa6, Ph4, Pe6, Pd6, Pa7] stipulation: "#3" solution: | "1.Sb2-a4 ! threat: 2.Sa4-c3 + 2...Ke4-f5 3.Qh8-h5 # 1...Ke4-d5 2.f2-f3 threat: 3.e2-e4 # 2...Sa6-c5 3.Sa4-c3 # 2...d6*e5 3.Qh8-d8 # 1...Ke4-f5 2.Qh8-h5 + 2...Kf5-e4 3.Sa4-c3 # 1...d6*e5 2.Qh8-h7 + 2...Ke4-d5 3.Qh7-d3 # 2...Ke4-d4 3.Qh7-d3 #" comments: - Remove bPh4 (North Otago Times, 16.04.1897, No 341) --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine source-id: 1117 date: 1895-06 algebraic: white: [Kf3, Qd4, Rf4, Rd5, Be8, Bc7, Sh3, Sb7, Pg2, Pf6, Pe3, Pe2, Pc4] black: [Ke6, Sb8, Sa7, Ph5, Ph4, Pg3] stipulation: "s#4" solution: | "1.Rd5-d7 ! zugzwang. 1...Sa7-c6 2.Sb7-d8 + 2...Sc6*d8 3.Be8-f7 + 3...Sd8*f7 4.Sh3-g5 + 4...Sf7*g5 # 1...Sa7-b5 2.Rd7-d6 + 2...Sb5*d6 3.Qd4-e4 + 3...Sd6*e4 4.Sh3-g5 + 4...Se4*g5 # 1...Sa7-c8 2.Rd7-d6 + 2...Sc8*d6 3.Qd4-e4 + 3...Sd6*e4 4.Sh3-g5 + 4...Se4*g5 # 1...Sb8-a6 2.Sb7-c5 + 2...Sa6*c5 3.Qd4-e4 + 3...Sc5*e4 4.Sh3-g5 + 4...Se4*g5 # 1...Sb8-c6 2.Sb7-d8 + 2...Sc6*d8 3.Be8-f7 + 3...Sd8*f7 4.Sh3-g5 + 4...Sf7*g5 # 1...Sb8*d7 2.Sb7-c5 + 2...Sd7*c5 3.Qd4-e4 + 3...Sc5*e4 4.Sh3-g5 + 4...Se4*g5 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplement date: 1901 algebraic: white: [Kc3, Rh4, Ba5, Sh7, Sc4, Pg6, Pe2, Pb5] black: [Kf5, Sa8, Pg7, Pc5] stipulation: "#3" solution: | "1.Ba5-d8 ! threat: 2.Sh7-f8 threat: 3.e2-e4 # 2.e2-e4 + 2...Kf5-e6 3.Sh7-f8 # 2...Kf5*g6 3.Sc4-e5 # 1...Kf5-e6 2.Sh7-f8 + 2...Ke6-f5 3.e2-e4 # 2...Ke6-d5 3.e2-e4 # 1...Kf5*g6 2.Sc4-d6 threat: 3.Sh7-f8 # 1...Sa8-b6 2.e2-e4 + 2...Kf5-e6 3.Sh7-f8 # 2...Kf5*g6 3.Sc4-e5 # 1...Sa8-c7 2.e2-e4 + 2...Kf5-e6 3.Sh7-f8 # 2...Kf5*g6 3.Sc4-e5 #" --- authors: - Baird, Edith Elina Helen source: Pictorial World date: 1891 algebraic: white: [Kb1, Qb2, Rd8, Ra1, Bh4, Sf7, Sd4, Pg3, Pb5, Pb4] black: [Kd5, Be8, Sd7, Pg4, Pe3, Pb3] stipulation: "#3" solution: | "1.Sd4-c6 ! zugzwang. 1...Kd5-e6 2.Sf7-g5 + 2...Ke6-d6 3.Qb2-e5 # 2...Ke6-f5 3.Sc6-e7 # 2...Ke6-d5 3.Qb2-d4 # 1...e3-e2 2.Qb2*b3 + 2...Kd5-e4 3.Sf7-d6 # 1...Kd5-e4 2.Sf7-g5 + 2...Ke4-d5 3.Qb2-d4 # 2...Ke4-f5 3.Sc6-e7 # 2...Ke4-d3 3.Sc6-e5 # 1...Kd5-c4 2.Qb2-d4 + 2...Kc4*b5 3.Sc6-a7 # 1...Be8*f7 2.Qb2-d4 + 2...Kd5-e6 3.Qd4*d7 #" --- authors: - Baird, Edith Elina Helen source: Hackney Mercury date: 1893 algebraic: white: [Kf2, Qa7, Sh6, Se4, Pg4, Pc3, Pa2] black: [Kc6, Pe5, Pa5, Pa3] stipulation: "#3" solution: | "1.Sh6-g8 ! threat: 2.c3-c4 threat: 3.Sg8-e7 # 1...a5-a4 2.Sg8-e7 + 2...Kc6-b5 3.Se4-d6 # 1...Kc6-d5 2.Qa7-a6 threat: 3.Sg8-f6 # 2...Kd5*e4 3.Qa6-c4 # 1...Kc6-b5 2.Sg8-e7 zugzwang. 2...a5-a4 3.Se4-d6 # 2...Kb5-c4 3.Qa7-a6 # 2...Kb5-a4 3.Qa7-d7 #" --- authors: - Baird, Edith Elina Helen source: Daily Chronicle date: 1901 algebraic: white: [Ka2, Bh7, Bf6, Sh5, Sa8, Pg2, Pf3, Pd6, Pd4] black: [Kf5, Sc7, Ph6, Pg6, Pf7, Pd7] stipulation: "#3" solution: | "1.Bf6-e7 ! threat: 2.g2-g4 + 2...Kf5-e6 3.Sa8*c7 # 3.Sh5-f4 # 1...Kf5-e6 2.Sa8*c7 + 2...Ke6-f5 3.g2-g4 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1888 algebraic: white: [Kf1, Be2, Bd8, Sf8, Se6, Pg4, Pc4, Pb5, Pa3] black: [Ke5, Pe4, Pe3, Pb6] stipulation: "#3" solution: | "1.Se6-g5 ! zugzwang. 1...Ke5-f4 2.Sf8-g6 + 2...Kf4-g3 3.Bd8-c7 # 1...Ke5-d6 2.Sg5-f7 + 2...Kd6-c5 3.Sf8-e6 # 1...Ke5-d4 2.Bd8-f6 + 2...Kd4-c5 3.Sg5*e4 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1901 algebraic: white: [Kf1, Qa1, Be6, Sh4, Sf2, Pg2, Pd5, Pd2, Pb3] black: [Ke5, Pd4, Pb5] stipulation: "#3" solution: | "1.Qa1-a8 ! threat: 2.Qa8-f8 threat: 3.Sh4-f3 # 3.Sh4-g6 # 2...d4-d3 3.Sh4-f3 # 1...Ke5-d6 2.Qa8-d8 + 2...Kd6-e5 3.Sh4-g6 # 2...Kd6-c5 3.Sf2-d3 # 1...Ke5-f6 2.Qa8-h8 + 2...Kf6-g5 3.Sf2-h3 # 2...Kf6-e7 3.Sh4-f5 # 1...Ke5-f4 2.Sh4-f3 threat: 3.Qa8-b8 #" comments: - also in The San Francisco Chronicle (no. 405), 12 January 1902 --- authors: - Baird, Edith Elina Helen source: Southern Counties' Chess Journal date: 1894 algebraic: white: [Kb1, Qg2, Rb5, Bd5, Sg8, Pg3, Pf3, Pe2, Pc6] black: [Kd4, Sh1, Ph2, Pf5, Pe3] stipulation: "#3" solution: | "1.Qg2-h3 ! threat: 2.Qh3-h8 # 1...Kd4-e5 2.Qh3*f5 + 2...Ke5-d6 3.Qf5-f4 # 2...Ke5*f5 3.Bd5-f7 # 2...Ke5-d4 3.Qf5-f6 # 1...Kd4-c3 2.Kb1-c1 threat: 3.Qh3-h8 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1891 algebraic: white: [Kf1, Qh6, Ra6, Bg5, Ba2, Pg4, Pe6, Pc6, Pa3] black: [Kd4, Pf2, Pe5, Pd6, Pd3, Pc7] stipulation: "#3" solution: | "1.Bg5-e7 ! zugzwang. 1...e5-e4 2.Qh6-f6 + 2...Kd4-c5 3.Qf6-e5 # 2...Kd4-e3 3.Qf6*f2 # 1...d3-d2 2.Qh6*d2 + 2...Kd4-e4 3.Ba2-d5 # 2...Kd4-c5 3.Qd2-b4 # 3.Qd2-d5 # 1...Kd4-e4 2.Ra6-a4 + 2...Ke4-f3 3.Qh6-h3 # 1...Kd4-c5 2.Qh6-c1 + 2...Kc5-b5 3.Qc1-c4 # 2...Kc5-d4 3.Ra6-a4 # 1...Kd4-c3 2.Qh6-c1 + 2...Kc3-d4 3.Ra6-a4 # 1...d6-d5 2.Ra6-a4 + 2...Kd4-c3 3.Qh6-c1 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1894 algebraic: white: [Kc1, Qb3, Ba6, Sh4, Sa4, Pg5, Pf3, Pe2, Pc2] black: [Kd4, Bh7, Sf1, Sb1, Ph3, Pg6, Pf6, Pf2, Pa7] stipulation: "#3" solution: | "1.Ba6-c4 ! zugzwang. 1...Sb1-d2 2.Qb3-c3 # 1...Sb1-c3 2.Qb3*c3 # 1...Sb1-a3 2.Qb3-c3 # 1...Sf1-h2 2.e2-e3 + 2...Kd4-e5 3.Qb3-b8 # 1...Sf1-g3 2.e2-e3 + 2...Kd4-e5 3.Qb3-b8 # 1...Sf1-e3 2.c2-c3 + 2...Sb1*c3 3.Qb3*c3 # 2...Kd4-e5 3.Qb3-b8 # 1...Sf1-d2 2.e2-e3 + 2...Kd4-e5 3.Qb3-b8 # 1...h3-h2 2.c2-c3 + 2...Sb1*c3 3.Qb3*c3 # 2...Kd4-e5 3.Qb3-b8 # 2...Kd4-e3 3.Sh4-g2 # 1...Kd4-e5 2.Qb3-b8 + 2...Ke5-d4 3.Qb8-f4 # 1...f6-f5 2.Qb3-b5 threat: 3.Qb5-c5 # 2...Kd4-e3 3.Qb5-e5 # 1...f6*g5 2.Qb3-b5 threat: 3.Qb5-c5 # 2...Kd4-e3 3.Qb5-e5 # 1...a7-a5 2.Qb3-b6 + 2...Kd4*c4 3.Qb6-c5 # 2...Kd4-e5 3.Qb6*f6 # 1...a7-a6 2.Qb3-b6 + 2...Kd4*c4 3.Qb6-c5 # 2...Kd4-e5 3.Qb6*f6 # 1...Bh7-g8 2.Qb3-d3 + 2...Kd4-e5 3.Sh4*g6 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1894 algebraic: white: [Ke8, Qb8, Rg1, Sg6, Sd5, Pf2, Pe2] black: [Kg4, Bg2, Pg5, Pf3, Pd6] stipulation: "#3" solution: | "1.Qb8-b2 ! zugzwang. 1...f3*e2 2.Qb2*e2 + 2...Kg4-f5 3.Sg6-e7 # 2...Kg4-h3 3.Qe2-h5 # 1...Kg4-f5 2.Qb2-f6 + 2...Kf5-g4 3.Qf6*f3 # 2...Kf5-e4 3.Sd5-c3 # 1...Kg4-h5 2.Qb2-h8 + 2...Kh5*g6 3.Sd5-e7 # 2...Kh5-g4 3.Sd5-e3 # 1...Kg4-h3 2.Qb2-h8 + 2...Kh3-g4 3.Sd5-e3 #" --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1891 algebraic: white: [Ka8, Qg8, Be5, Sb3, Pg2, Pf4, Pf2, Pc3, Pb4] black: [Ke6, Rf7] stipulation: "#3" solution: | "1.Be5-c7 ! zugzwang. 1...Ke6-e7 2.Qg8-d8 + 2...Ke7-e6 3.Sb3-d4 # 1...Ke6-f6 2.Qg8-g5 + 2...Kf6-e6 3.Sb3-c5 # 1...Ke6-d7 2.Qg8-d8 + 2...Kd7-e6 3.Sb3-d4 # 2...Kd7-c6 3.Sb3-d4 # 1...Ke6-f5 2.Qg8-g5 + 2...Kf5-e6 3.Sb3-c5 # 2...Kf5-e4 3.Sb3-c5 # 1...Ke6-d5 2.Qg8*f7 + 2...Kd5-c6 3.Sb3-d4 # 2...Kd5-e4 3.Sb3-c5 #" --- authors: - Baird, Edith Elina Helen source: The Times date: 1901 algebraic: white: [Ke8, Qh7, Sh8, Sb5, Pe7, Pd2, Pc4, Pc3] black: [Ke5, Ra4, Pf7, Pa7] stipulation: "#3" solution: | "1.Sb5-d4 ! threat: 2.Sh8*f7 + 2...Ke5-f6 3.Qh7-h6 # 2...Ke5-f4 3.Qh7-h4 # 1...Ke5-d6 2.Qh7-h2 + 2...Kd6-c5 3.Qh2-c7 # 1...Ke5-f4 2.Qh7-h4 + 2...Kf4-e5 3.Sh8*f7 #" --- authors: - Baird, Edith Elina Helen source: Field date: 1893 algebraic: white: [Ka8, Qh7, Bh2, Sg2, Sf2, Pb3] black: [Ke6, Sa3] stipulation: "#3" solution: | "1.Bh2-c7 ! threat: 2.Sg2-f4 + 2...Ke6-f6 3.Sf2-e4 # 1...Ke6-f6 2.Sf2-e4 + 2...Kf6-e6 3.Sg2-f4 # 1...Ke6-d5 2.Qh7-d7 + 2...Kd5-c5 3.Sf2-d3 #" --- authors: - Baird, Edith Elina Helen source: Field date: 1892 algebraic: white: [Ke8, Qd8, Bh4, Sh5, Sc4, Pg4, Pg2, Pb2] black: [Ke4, Pe7, Pe6, Pd4, Pc5] stipulation: "#3" solution: | "1.Qd8-b6 ! zugzwang. 1...Ke4-d3 2.Qb6-b3 + 2...Kd3-e4 3.Qb3-f3 # 2...Kd3-e2 3.Qb3-f3 # 1...d4-d3 2.Qb6*e6 + 2...Ke4-d4 3.Bh4-f2 # 1...Ke4-d5 2.Qb6*e6 + 2...Kd5*e6 3.Sh5-f4 # 1...e6-e5 2.Qb6-g6 + 2...Ke4-d5 3.Sc4-b6 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplement date: 1891 algebraic: white: [Kh8, Qg8, Ra7, Bh6, Bc2, Sc4, Sc1, Ph5, Ph3, Pg3, Pg2, Pf5, Pb7, Pa2] black: [Kd4, Ra8, Sc8, Ph7, Pd7, Pd6] stipulation: "#3" solution: | "1.Bc2-a4 ! threat: 2.Bh6-g7 + 2...Kd4-e4 3.Ba4-c2 # 2...Kd4-c5 3.Sc1-d3 # 1...Kd4-c5 2.Sc1-b3 + 2...Kc5-b4 3.Bh6-d2 # 1...d6-d5 2.Qg8-g4 + 2...Kd4-c5 3.Sc1-d3 # 2...Kd4-c3 3.Bh6-d2 #" --- authors: - Baird, Edith Elina Helen source: Evening News and Post date: 1892 algebraic: white: [Ke8, Qf1, Ba4, Ba3, Ph6, Pe5, Pc3] black: [Kd5, Pg3, Pf2, Pe6, Pd6, Pa6] stipulation: "#3" solution: | "1.Ba4-c2 ! zugzwang. 1...Kd5*e5 2.Qf1-c4 threat: 3.Qc4-d4 # 2...Ke5-f6 3.Qc4-f4 # 1...g3-g2 2.Qf1*g2 + 2...Kd5*e5 3.Qg2-g5 # 2...Kd5-c4 3.Qg2-c6 # 1...Kd5-c6 2.Qf1*a6 + 2...Kc6-c7 3.Ba3*d6 # 2...Kc6-d5 3.Qa6-b5 # 1...a6-a5 2.Qf1-b5 # 1...d6*e5 2.Qf1-g2 + 2...Kd5-c4 3.Qg2-c6 # 2...e5-e4 3.Qg2*e4 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1898 algebraic: white: [Kb8, Qg1, Bh7, Bb4, Sc7, Ph3, Pe6, Pe4, Pd5, Pa5] black: [Kf4, Bf8, Bb1, Ph6, Ph4, Pf3, Pe7, Pd3, Pb6, Pa6] stipulation: "#3" solution: | "1.Sc7-e8 ! zugzwang. 1...Kf4-e5 2.Qg1-e3 threat: 3.Bb4-c3 # 1...Bb1-c2 2.Bb4-d2 + 2...Kf4-e5 3.Qg1-a1 # 1...Bb1-a2 2.Bb4-d2 + 2...Kf4-e5 3.Qg1-a1 # 1...d3-d2 2.Qg1-h2 + 2...Kf4-g5 3.Qh2-e5 # 2...Kf4-e3 3.Qh2*d2 # 1...f3-f2 2.Qg1*f2 + 2...Kf4-e5 3.Bb4-c3 # 2...Kf4-g5 3.Qf2-f5 # 1...b6-b5 2.Qg1-h2 + 2...Kf4-g5 3.Qh2-e5 # 2...Kf4-e3 3.Bb4-c5 # 1...b6*a5 2.Qg1-h2 + 2...Kf4-e3 3.Bb4-c5 # 2...Kf4-g5 3.Qh2-e5 # 1...h6-h5 2.Qg1-g5 + 2...Kf4*g5 3.Bb4-d2 # 1...Bf8-g7 2.Bb4-d2 + 2...Kf4-e5 3.Qg1*g7 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1901 algebraic: white: [Kh6, Qa6, Bh1, Bg1, Sh5, Sb2, Pd6, Pd4, Pa2] black: [Kd5, Rg2, Ph3, Pg3, Pf7] stipulation: "#3" solution: | "1.Sb2-c4 ! zugzwang. 1...Kd5-e4 2.Sc4-d2 + 2...Ke4-d5 3.Sh5-f4 # 2...Ke4-f5 3.Qa6-c8 # 1...h3-h2 2.Bh1*g2 + 2...Kd5-e6 3.Qa6-c8 # 1...Kd5-e6 2.Qa6-c8 + 2...Ke6-d5 3.Sh5-f6 # 1...f7-f5 2.Qa6-b7 + 2...Kd5-e6 3.d4-d5 # 2...Kd5*c4 3.Qb7-b3 # 1...f7-f6 2.Qa6-b7 + 2...Kd5-e6 3.Sh5-g7 # 2...Kd5*c4 3.Qb7-b3 #" comments: - also in The San Francisco Chronicle (no. 379), 1901-07-14 --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1902 algebraic: white: [Kb8, Rf8, Rc4, Bg3, Bb5, Sh8, Ph6, Pc3] black: [Ke6, Sh3, Pg7, Pf2] stipulation: "#3" solution: | "1.Rc4-e4 + ! 1...Ke6-d5 2.Re4-e5 + 2...Kd5-d6 3.Sh8-f7 # 3.Rf8-d8 # 1.Bg3-c7 ! threat: 2.Rc4-e4 + 2...Ke6-d5 3.Re4-e5 # 1...Sh3-g5 2.Rf8-e8 + 2...Ke6-f6 3.Rc4-f4 # 2...Ke6-f5 3.Rc4-f4 # 2...Ke6-d5 3.Re8-e5 # 1...Ke6-d5 2.Rf8-e8 threat: 3.Re8-e5 # 2.Rc4-c5 + 2...Kd5*c5 3.Rf8-f5 # 2...Kd5-e6 3.Rc5-e5 # 2...Kd5-e4 3.Rc5-e5 #" --- authors: - Baird, Edith Elina Helen source: Daily Telegraph date: 1901 algebraic: white: [Ke7, Bf4, Sd2, Pf2, Pe2, Pb5, Pb4] black: [Kd5, Pd4, Pb7] stipulation: "#3" solution: | "1.Ke7-f6 ! zugzwang. 1...d4-d3 2.e2-e4 + 2...Kd5-d4 3.Bf4-e5 # 1...b7-b6 2.Bf4-e5 zugzwang. 2...d4-d3 3.e2-e4 #" --- authors: - Baird, Edith Elina Helen source: Pictorial World date: 1891 algebraic: white: [Ke7, Qa1, Rg8, Sg7, Sg4, Pf3, Pd6, Pc6, Pb6] black: [Kd4, Pg6, Pf4, Pd5, Pc3] stipulation: "#3" solution: | "1.Sg4-e5 ! zugzwang. 1...Kd4-c5 2.Qa1-a4 threat: 3.Se5-d7 # 2...d5-d4 3.Qa4-a5 # 1...Kd4*e5 2.Qa1*c3 + 2...d5-d4 3.Qc3-a5 # 3.Qc3-c5 # 1...Kd4-e3 2.Qa1-e1 + 2...Ke3-d4 3.Sg7-e6 # 1...g6-g5 2.Sg7-e6 + 2...Kd4*e5 3.Rg8*g5 # 2...Kd4-e3 3.Qa1-e1 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1899 algebraic: white: [Ka8, Qh4, Rh2, Bc5, Sh6, Sb1, Pf6, Pd4, Pb3, Pb2] black: [Kd5, Sf1, Sd2, Ph5, Pg3] stipulation: "#3" solution: | "1.Qh4-h3 ! threat: 2.Sb1-c3 + 2...Kd5-c6 3.Qh3-c8 # 1...Sd2*b1 2.Qh3-g2 + 2...Kd5-e6 3.Qg2-c6 # 1...Sd2-e4 2.Qh3-d7 + 2...Se4-d6 3.Sb1-c3 # 1...Kd5-c6 2.Qh3-e6 + 2...Kc6-c7 3.Bc5-b6 # 2...Kc6-b5 3.Qe6-b6 # 1...Kd5-e4 2.Qh3-f5 + 2...Ke4-e3 3.d4-d5 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1901 algebraic: white: [Ka8, Qh8, Bh5, Se5, Pe3, Pb3] black: [Kd5, Pe7, Pc5, Pc3, Pa7] stipulation: "#3" solution: | "1.Se5-c4 ! threat: 2.Qh8-e5 + 2...Kd5-c6 3.Bh5-e8 # 1...Kd5-c6 2.Qh8-c8 + 2...Kc6-d5 3.Bh5-f3 # 2...Kc6-b5 3.Qc8-b7 # 1...Kd5-e6 2.Bh5-g4 + 2...Ke6-f7 3.Sc4-e5 # 2...Ke6-d5 3.Qh8-h1 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1891 algebraic: white: [Kb8, Qh8, Rf1, Bd1, Bc5, Sb7, Pg5, Pg2, Pe2, Pd2, Pa2] black: [Ke4, Bg1, Pg4, Pf2, Pe5, Pb6] stipulation: "#3" solution: | "1.e2-e3 ! threat: 2.Qh8-g8 threat: 3.Bd1-c2 # 2...Ke4-f5 3.Sb7-d6 # 2...Ke4-d3 3.Qg8-d5 # 1...Ke4-d5 2.Bd1-b3 + 2...Kd5-c6 3.Qh8-e8 # 2...Kd5-e4 3.Qh8-h7 # 1...Ke4-f5 2.Qh8-h7 + 2...Kf5*g5 3.Bc5-e7 # 2...Kf5-e6 3.Bd1-b3 # 1...Ke4-d3 2.Qh8-d8 + 2...Kd3-c4 3.Bd1-e2 # 2...Kd3-e4 3.Bd1-c2 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1901 algebraic: white: [Kh6, Ba5, Ba2, Sg5, Sc4, Pf2, Pd3, Pc2] black: [Kd4, Se8, Pf5, Pf4, Pf3, Pc6, Pa4] stipulation: "#3" solution: | "1.Sc4-d6 ! threat: 2.Sd6-b7 threat: 3.Sg5*f3 # 2...Kd4-e5 3.Ba5-c3 # 1...Kd4-e5 2.Sd6-f7 + 2...Ke5-f6 3.Ba5-d8 # 2...Ke5-d4 3.Sg5-e6 # 1...Se8*d6 2.Sg5-e6 + 2...Kd4-e5 3.Ba5-c3 # 1...Se8-f6 2.Sg5-e6 + 2...Kd4-e5 3.Sd6-f7 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1893 algebraic: white: [Kb8, Qh1, Bg2, Sb6, Pe6, Pd5, Pd2, Pa4] black: [Kd4, Sh6, Sd1, Pd3, Pa5] stipulation: "#3" solution: | "1.Qh1-f1 ! threat: 2.Qf1-f4 + 2...Kd4-c5 3.Sb6-d7 # 1...Sd1-f2 2.Qf1*f2 + 2...Kd4-e5 3.Sb6-c4 # 1...Sd1-c3 2.Qf1-f2 + 2...Kd4-e5 3.Sb6-c4 # 1...Kd4-e5 2.Sb6-d7 + 2...Ke5-d4 3.Qf1-f4 # 2...Ke5-d6 3.Qf1-f8 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1900 algebraic: white: [Ka2, Bf1, Bc5, Sh3, Sb6, Pg4, Pe2, Pd2] black: [Ke4, Pg6, Pf4, Pc6] stipulation: "#3" solution: | "1.Sb6-d7 ! threat: 2.d2-d3 + 2...Ke4-d5 3.Sh3*f4 # 2.Bf1-g2 + 2...f4-f3 3.Bg2*f3 # 1...Ke4-d5 2.Sh3-g5 zugzwang. 2...f4-f3 3.e2-e4 # 2...Kd5-c4 3.e2-e4 # 1...f4-f3 2.d2-d3 + 2...Ke4-d5 3.Sh3-f4 # 1...g6-g5 2.Bf1-g2 + 2...f4-f3 3.Bg2*f3 #" comments: - also in The San Francisco Chronicle (no. 371), 19 May 1901 --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald date: 1891 algebraic: white: [Ke2, Qh8, Re1, Bd1, Ba3, Pg5, Pg3, Pe3, Pc2, Pa5, Pa4] black: [Ke4, Sh2, Pe5, Pc4, Pc3] stipulation: "#3" solution: | "1.Ke2-f2 ! zugzwang. 1...Sh2-g4 + 2.Bd1*g4 threat: 3.Qh8-h1 # 3.Qh8-a8 # 2...Ke4-d5 3.Qh8-a8 # 1...Sh2-f1 2.Bd1-f3 + 2...Ke4-f5 3.Qh8-f6 # 1...Sh2-f3 2.Bd1*f3 + 2...Ke4-f5 3.Qh8-f6 # 1...Ke4-d5 2.e3-e4 + 2...Kd5-c6 3.Qh8-c8 # 2...Kd5-d4 3.Qh8-d8 # 2...Kd5-e6 3.Qh8-e8 # 1...Ke4-f5 2.e3-e4 + 2...Kf5*g5 3.Qh8-g7 # 2...Kf5-e6 3.Qh8-e8 # 2...Kf5-g6 3.Qh8-g8 #" --- authors: - Baird, Edith Elina Helen source: Field date: 1894 algebraic: white: [Ka7, Qg6, Sd1, Sb3, Pe2, Pd6, Pb4] black: [Ke5, Pd7] stipulation: "#3" solution: | "1.Sd1-b2 ! zugzwang. 1...Ke5-f4 2.Sb2-d3 + 2...Kf4-e3 3.Qg6-e8 # 1...Ke5-d5 2.e2-e4 + 2...Kd5-e5 3.Sb2-d3 # 2...Kd5-c6 3.Sb3-d4 #" --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Courant date: 1895 algebraic: white: [Ke1, Qg4, Bf5, Sc7, Ph6, Pg2, Pc2, Pb3, Pa5] black: [Ke5, Ra8, Bf1, Pg7, Pe4, Pe2, Pd6, Pa7] stipulation: "#3" solution: | "1.Bf5-c8 ! threat: 2.Qg4*g7 + 2...Ke5-f4 3.Sc7-d5 # 2.Qg4-g5 + 2...Ke5-d4 3.Sc7-b5 # 1...Bf1*g2 2.Qg4-g5 + 2...Ke5-d4 3.Sc7-b5 # 1...e4-e3 2.Qg4-f5 + 2...Ke5-d4 3.Sc7-b5 # 1...Ke5-d4 2.Qg4*g7 + 2...Kd4-c5 3.Qg7-c3 # 2...Kd4-e3 3.Sc7-d5 # 1...d6-d5 2.Qg4-g3 + 2...Ke5-f6 3.Qg3*g7 # 2...Ke5-d4 3.Sc7-e6 # 1...a7-a6 2.Qg4*g7 + 2...Ke5-f4 3.Sc7-d5 # 1...g7-g5 2.Qg4*g5 + 2...Ke5-d4 3.Sc7-b5 # 1...g7-g6 2.Qg4-g5 + 2...Ke5-d4 3.Sc7-b5 # 1...g7*h6 2.Qg4-g7 + 2...Ke5-f4 3.Sc7-d5 # 1...Ra8*c8 2.Qg4-g5 + 2...Ke5-d4 3.Sc7-b5 # 1...Ra8-b8 2.Qg4*g7 + 2...Ke5-f4 3.Sc7-d5 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1890 algebraic: white: [Ke1, Qf8, Bc8, Ba1, Sf1, Sd1, Pb6, Pb3] black: [Kd5, Pf6, Pd6, Pb4] stipulation: "#3" solution: | "1.Ba1-d4 ! zugzwang. 1...Kd5*d4 2.Qf8*d6 + 2...Kd4-e4 3.Sf1-d2 # 1...Kd5-c6 2.Qf8-f7 threat: 3.Qf7-c4 # 2...Kc6-b5 3.Qf7-d5 # 2...d6-d5 3.Qf7-d7 # 1...Kd5-e4 2.Qf8*f6 zugzwang. 2...Ke4-d5 3.Bc8-b7 # 2...Ke4-d3 3.Bc8-f5 # 2...d6-d5 3.Sd1-f2 # 1...f6-f5 2.Bc8-b7 + 2...Kd5*d4 3.Qf8*d6 # 2...Kd5-e6 3.Qf8-e8 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplement date: 1889 algebraic: white: [Ke1, Qa8, Rf8, Ba2, Sh4, Sf2, Pg4, Pf7, Pf3, Pd5, Pd3] black: [Kd4, Rh8, Rh7, Be2, Ph6, Pg7, Pc3, Pb7] stipulation: "#3" solution: | "1.Qa8*b7 ! threat: 2.Qb7-b6 + 2...Kd4-e5 3.Sh4-g6 # 1...c3-c2 2.Qb7-b2 + 2...Kd4-c5 3.Sf2-e4 # 2...Kd4-e3 3.Qb2-e5 # 1...Kd4-c5 2.Sh4-f5 threat: 3.d3-d4 # 3.Sf2-e4 # 2...Be2*f3 3.d3-d4 # 2...Be2*d3 3.Sf2*d3 # 1...Kd4-e5 2.Qb7-c7 + 2...Ke5-f6 3.Sf2-e4 # 2...Ke5-d4 3.Sh4-f5 # 1...Kd4-e3 2.Qb7-b4 threat: 3.Qb4-e4 # 2...Be2*f3 3.Sh4-f5 # 2...Be2*d3 3.Sf2-d1 #" --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1891 algebraic: white: [Kd8, Qf2, Bf8, Ba2, Ph5, Pe2, Pd7, Pd2] black: [Ke5, Sh8, Pf7, Pe7, Pc2, Pb5] stipulation: "#3" solution: | "1.Qf2-h4 ! threat: 2.d2-d4 + 2...Ke5-d6 3.Qh4-f6 # 2...Ke5-f5 3.e2-e4 # 1...Ke5-d6 2.Qh4-f6 + 2...Kd6-c5 3.Bf8*e7 #" --- authors: - Baird, Edith Elina Helen source: Bristol Times and Mirror date: 1901 algebraic: white: [Kb6, Qg4, Bb4, Pg3, Pd6, Pd2] black: [Kd5, Pf6, Pe5, Pd3, Pa6] stipulation: "#3" solution: | "1.Bb4-c5 ! zugzwang. 1...e5-e4 2.Qg4-f5 + 2...Kd5-c4 3.Qf5-e6 # 1...a6-a5 2.Kb6-b5 threat: 3.Qg4-c4 # 2...e5-e4 3.Qg4-f5 # 1...f6-f5 2.Qg4-g8 + 2...Kd5-e4 3.Qg8-a8 #" --- authors: - Baird, Edith Elina Helen source: Times Weekly Edition date: 1894 algebraic: white: [Ka7, Qg6, Be1, Sf1, Sa6, Ph3, Pg2, Pb6, Pa2] black: [Kd5, Ph4, Pd4, Pc6] stipulation: "#3" solution: | "1.g2-g3 ! zugzwang. 1...Kd5-e5 2.Sa6-c7 threat: 3.Qg6-e6 # 2...d4-d3 3.Be1-c3 # 2...h4*g3 3.Be1*g3 # 1...d4-d3 2.Be1-c3 threat: 3.Sf1-e3 # 2...Kd5-c4 3.Qg6*c6 # 1...h4*g3 2.Sa6-b4 + 2...Kd5-e5 3.Be1*g3 # 2...Kd5-c5 3.Qg6*c6 # 2...Kd5-c4 3.Qg6*c6 # 1...Kd5-c4 2.Qg6-e6 + 2...Kc4-d3 3.Sa6-b4 # 2...Kc4-b5 3.Qe6-b3 # 1...c6-c5 2.Sa6-c7 + 2...Kd5-e5 3.Qg6-e6 # 2...Kd5-c4 3.Qg6-c2 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1891 algebraic: white: [Kd8, Qc3, Rc1, Sf7, Sd4, Ph3, Pg3, Pa4] black: [Kd5, Qg1, Bh8, Sf1, Ph5, Pf6, Pe3, Pc2] stipulation: "#3" solution: | "1.Sd4-f3 ! threat: 2.Qc3-d3 + 2...Kd5-c5 3.Qd3-b5 # 2...Kd5-c6 3.Qd3-b5 # 2...Kd5-e6 3.Qd3-d7 # 1...e3-e2 2.Qc3-b3 + 2...Kd5-c5 3.Qb3-b5 # 3.Rc1*c2 # 2...Kd5-c6 3.Qb3-b5 # 2...Kd5-e4 3.Sf7-d6 # 1...Kd5-e6 2.Qc3-c4 + 2...Ke6-f5 3.Sf3-h4 # 1...Kd5-e4 2.Qc3-c6 + 2...Ke4-f5 3.Sf3-h4 # 2...Ke4-d3 3.Qc6*c2 # 1...f6-f5 2.Qc3-b3 + 2...Kd5-c5 3.Qb3-b5 # 2...Kd5-c6 3.Qb3-b5 # 2...Kd5-e4 3.Sf7-g5 #" --- authors: - Baird, Edith Elina Helen source: Cape Times date: 1895 algebraic: white: [Kd8, Qb5, Bg1, Sh7, Sh6, Pd3, Pd2, Pc5] black: [Kd4, Rg2, Bh1, Be1, Sh5, Sf2, Pg6, Pg5, Pa7] stipulation: "#3" solution: | "1.Sh7-f8 ! threat: 2.Qb5-c4 + 2...Kd4-e5 3.Sf8-d7 # 1...Kd4-d5 2.c5-c6 + 2...Kd5-d6 3.Sh6-f7 # 2...Kd5-d4 3.Sf8-e6 # 1...Kd4-e5 2.Qb5-b8 + 2...Ke5-d5 3.Qb8-d6 # 2...Ke5-f6 3.Qb8-b2 # 2...Ke5-d4 3.Qb8-d6 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1894 algebraic: white: [Kh8, Qa8, Ba2, Sh5, Ph4, Pg4, Pb5, Pb4] black: [Kd6, Pd7, Pa7] stipulation: "#3" solution: | "1.Sh5-f6 ! threat: 2.Qa8-b8 + 2...Kd6-e7 3.Sf6-g8 # 1...Kd6-c7 2.Sf6-e8 + 2...Kc7-b6 3.Qa8-b8 # 1...Kd6-e7 2.Sf6-g8 + 2...Ke7-d6 3.Qa8-b8 # 1...Kd6-e5 2.Qa8-e4 + 2...Ke5-d6 3.Sf6-e8 # 2...Ke5*f6 3.g4-g5 #" comments: - also in The San Francisco Chronicle (no. 56), 17 November 1894 --- authors: - Baird, Edith Elina Helen source: Daily News date: 1901 algebraic: white: [Ka7, Qc7, Sf2, Pf3, Pd2] black: [Kd4, Rh3, Sh4, Pf5, Pd5, Pc4, Pb6, Pa3] stipulation: "#3" solution: | "1.Qc7-d6 ! threat: 2.Qd6-f6 + 2...Kd4-c5 3.Qf6*b6 # 1...c4-c3 2.Qd6*b6 + 2...Kd4-c4 3.d2-d3 # 2...Kd4-e5 3.Sf2-d3 # 1...b6-b5 2.f3-f4 threat: 3.Qd6-b6 # 2...c4-c3 3.Qd6-b4 #" --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1898 algebraic: white: [Kh7, Qc3, Bg3, Sb3, Ph4, Pe6, Pc2] black: [Ke4, Sc1, Pf7, Pe7] stipulation: "#3" solution: | "1.Bg3-c7 ! zugzwang. 1...Ke4-d5 2.Qc3-e5 + 2...Kd5-c6 3.Sb3-a5 # 2...Kd5-c4 3.Qe5-c5 # 1...Sc1-e2 2.Qc3-d3 # 1...Sc1-d3 2.Qc3*d3 # 1...Sc1*b3 2.Qc3-d3 # 1...Sc1-a2 2.Qc3-d3 # 1...Ke4-f5 2.Qc3-f3 + 2...Kf5*e6 3.Sb3-c5 # 1...f7-f5 2.Sb3-d2 + 2...Ke4-d5 3.Qc3-c4 # 1...f7-f6 2.Sb3-d2 + 2...Ke4-d5 3.Qc3-c4 # 2...Ke4-f5 3.Qc3-h3 # 1...f7*e6 2.Sb3-d2 + 2...Ke4-f5 3.Qc3-f3 # 2...Ke4-d5 3.Qc3-c4 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1900 algebraic: white: [Kh6, Qc3, Sg7, Se8, Pg3, Pf5, Pc6, Pc2, Pb6, Pa3] black: [Kd5, Ra5, Sa8, Pc7, Pa6, Pa4] stipulation: "#3" solution: | "1.Sg7-e6 ! zugzwang. 1...Ra5-c5 2.Qc3*c5 + 2...Kd5-e4 3.Se6-g5 # 1...Ra5-b5 2.Qc3-d4 + 2...Kd5*c6 3.Se6-d8 # 1...Kd5-e4 2.Se8-f6 + 2...Ke4*f5 3.Se6-g7 # 1...c7*b6 2.Se6-f4 + 2...Kd5-e4 3.Se8-d6 # 1...Sa8*b6 2.Se6*c7 + 2...Kd5-e4 3.Se8-d6 #" --- authors: - Baird, Edith Elina Helen source: Field date: 1890 algebraic: white: [Kd6, Qe3, Bg7, Pg2, Pc2, Pb2] black: [Kf5, Pg3, Pe5] stipulation: "#3" solution: | "1.Qe3-h6 ! zugzwang. 1...e5-e4 2.Qh6-h5 + 2...Kf5-f4 3.Bg7-h6 # 1...Kf5-g4 2.Qh6-g6 + 2...Kg4-h4 3.Bg7-f6 # 2...Kg4-f4 3.Bg7-h6 # 1...Kf5-e4 2.Qh6-g5 threat: 3.Qg5*e5 # 2...Ke4-d4 3.Qg5-f4 #" --- authors: - Baird, Edith Elina Helen source: Reading Observer date: 1900 algebraic: white: [Kh5, Rc5, Se6, Sa1, Ph2, Pg6, Pg4, Pe2, Pd5, Pd2] black: [Ke5, Sd6, Pg7, Pf6, Pf4, Pe4] stipulation: "#3" solution: | "1.Se6-d8 ! threat: 2.Sd8-c6 # 1...e4-e3 2.Sd8-c6 + 2...Ke5-e4 3.d2-d3 # 1...f4-f3 2.Sd8-c6 + 2...Ke5-f4 3.e2-e3 # 1...Ke5-d4 2.Sa1-b3 + 2...Kd4-e5 3.Sd8-c6 # 1...Sd6-b5 2.Sd8-f7 + 2...Ke5-d4 3.Sa1-b3 # 1...Sd6-c4 2.Sd8-f7 + 2...Ke5-d4 3.Sa1-b3 # 1...Sd6-f5 2.Sd8-f7 + 2...Ke5-d4 3.Sa1-b3 # 1...Sd6-f7 2.Sd8*f7 + 2...Ke5-d4 3.Sa1-b3 # 1...Sd6-e8 2.Sd8-f7 + 2...Ke5-d4 3.Sa1-b3 # 1...Sd6-c8 2.Sd8-f7 + 2...Ke5-d4 3.Sa1-b3 # 1...Sd6-b7 2.Sd8-f7 + 2...Ke5-d4 3.Sa1-b3 # 1...f6-f5 2.Sd8-c6 + 2...Ke5-f6 3.g4-g5 #" --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald date: 1890 algebraic: white: [Ka1, Qh5, Ra8, Bd7, Sh8, Pe2, Pd3, Pc2] black: [Kd4, Sb1, Pd5, Pd2, Pb6, Pa7, Pa5, Pa3] stipulation: "#3" solution: | "1.Qh5-h2 ! threat: 2.Qh2-f4 + 2...Kd4-c5 3.Ra8-c8 # 2...Kd4-c3 3.Ra8-c8 # 1...Sb1-c3 2.Qh2-f2 + 2...Kd4-e5 3.Sh8-f7 # 1...Kd4-c5 2.Ra8-c8 + 2...Kc5-d4 3.Qh2-f4 # 2...Kc5-b4 3.Qh2-d6 # 1...Kd4-e3 2.Qh2-g1 + 2...Ke3*e2 3.Bd7-g4 # 2...Ke3-f4 3.Sh8-g6 # 1...Kd4-c3 2.Ra8-c8 + 2...Kc3-b4 3.Qh2-d6 # 2...Kc3-d4 3.Qh2-f4 # 1...b6-b5 2.Qh2-f2 + 2...Kd4-e5 3.Sh8-f7 # 2...Kd4-c3 3.Qf2-c5 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1899 algebraic: white: [Ka6, Qh7, Ba1, Sf2, Sd3, Pb4] black: [Kf6, Sb2, Pf4, Pf3, Pd5] stipulation: "#3" solution: | "1.Sd3-c5 ! zugzwang. 1...d5-d4 2.Sf2-e4 + 2...Kf6-e5 3.Qh7-h5 # 1...Kf6-g5 2.Ba1*b2 threat: 3.Sc5-e6 # 2...d5-d4 3.Sc5-e4 # 1...Kf6-e5 2.Sf2-g4 + 2...Ke5-d6 3.Qh7-d7 # 2...Ke5-d4 3.Qh7-d3 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1893 algebraic: white: [Kg8, Qh4, Bc4, Sh6, Sb2, Pf3, Pd6, Pb4, Pa6] black: [Ke5, Sh1, Sd8, Pd7] stipulation: "#3" solution: | "1.Sb2-a4 ! threat: 2.Qh4-g5 + 2...Ke5*d6 3.Qg5-c5 # 2...Ke5-d4 3.Qg5-c5 # 3.Qg5-f4 # 1...Sh1-g3 2.Qh4*g3 + 2...Ke5-f6 3.Qg3-g7 # 2...Ke5-d4 3.Qg3-f4 # 1...Ke5*d6 2.Qh4-f4 + 2...Kd6-c6 3.b4-b5 # 2...Kd6-e7 3.Qf4-f8 # 1...Sd8-b7 2.Sh6-f7 + 2...Ke5-f5 3.Qh4-g5 # 1...Sd8-c6 2.Sh6-f7 + 2...Ke5-f5 3.Qh4-g5 # 1...Sd8-e6 2.Sh6-f7 + 2...Ke5-f5 3.Bc4-d3 # 1...Sd8-f7 2.Sh6*f7 + 2...Ke5-f5 3.Qh4-g5 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1894 algebraic: white: [Ka6, Qa5, Bb1, Sh5, Se4, Pd5, Pa3] black: [Ke5, Pc4] stipulation: "#3" solution: | "1.Se4-g5 ! threat: 2.Qa5-c5 threat: 3.Sg5-f3 # 3.Sg5-f7 # 3.d5-d6 # 1...Ke5-d6 2.Qa5-d8 + 2...Kd6-e5 3.Sg5-f3 # 2...Kd6-c5 3.Sg5-e6 # 1...Ke5-d4 2.Qa5-d2 + 2...Kd4-c5 3.Sg5-e4 # 2...Kd4-e5 3.Sg5-f7 #" comments: - also in The San Francisco Chronicle (no. 35), 23 June 1894 --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1889 algebraic: white: [Kg8, Qh4, Bg2, Sc1, Sa3, Pg5] black: [Kc5, Pa6, Pa4] stipulation: "#3" solution: | "1.Qh4-h6 ! zugzwang. 1...a6-a5 2.Sa3-c2 threat: 3.Qh6-c6 # 1...Kc5-d4 2.Qh6-f6 + 2...Kd4-c5 3.Sc1-d3 # 2...Kd4-e3 3.Sa3-c4 # 1...Kc5-b4 2.Qh6-c6 zugzwang. 2...Kb4-a5 3.Qc6-c5 # 2...Kb4*a3 3.Qc6-c3 # 2...a6-a5 3.Sa3-c2 #" --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1894 algebraic: white: [Kg6, Qe2, Bd7, Sc4, Pg4, Pe3, Pd2] black: [Kd5, Bh3, Pe4, Pc5] stipulation: "#3" solution: | "1.Bd7-a4 ! zugzwang. 1...Bh3-f1 2.Qe2*f1 threat: 3.Qf1-f7 # 1...Bh3-g2 2.Qe2*g2 zugzwang. 2...Kd5-e6 3.Qg2*e4 # 2...Kd5*c4 3.Qg2*e4 # 1...Bh3*g4 2.Qe2*g4 zugzwang. 2...Kd5*c4 3.Qg4*e4 # 1...Kd5-e6 2.Qe2-f2 threat: 3.Qf2-f7 # 2...Ke6-e7 3.Qf2-f6 #" --- authors: - Baird, Edith Elina Helen source: Pavilion date: 1902 algebraic: white: [Kh8, Qg4, Bb6, Sg6, Pb3] black: [Kd5, Ba2, Sg3, Sc6, Ph4, Pd6, Pd3, Pb5, Pb4] stipulation: "#3" solution: | "1.Kh8-g8 ! threat: 2.Qg4-f3 + 2...Sg3-e4 3.Qf3-f7 # 2...Kd5-e6 3.Qf3-f7 # 1...Sg3-f5 2.Qg4*f5 + 2...Sc6-e5 3.Sg6-e7 # 1...Sg3-e4 2.Qg4-f5 + 2...Sc6-e5 3.Sg6-e7 # 1...Sc6-a5 2.Sg6-e7 + 2...Kd5-e5 3.Bb6-d4 # 1...Sc6-d4 2.Sg6-e7 + 2...Kd5-e5 3.Bb6*d4 # 1...Sc6-e7 + 2.Sg6*e7 + 2...Kd5-e5 3.Bb6-d4 # 1...Sc6-d8 2.Sg6-e7 + 2...Kd5-e5 3.Bb6-d4 # 1...Sc6-b8 2.Sg6-e7 + 2...Kd5-e5 3.Bb6-d4 # 1...Sc6-a7 2.Sg6-e7 + 2...Kd5-e5 3.Bb6-d4 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1890 algebraic: white: [Kg1, Qe4, Rh2, Bc5, Ba4, Sd2, Sc4, Pg3, Pd4, Pc6, Pc2] black: [Kf6, Ph5, Ph3, Pf7, Pf4, Pd3] stipulation: "#3" solution: | "1.Qe4-h7 ! zugzwang. 1...d3*c2 2.Ba4*c2 threat: 3.Qh7-h6 # 2...Kf6-e6 3.Qh7-f5 # 2...Kf6-g5 3.Qh7-g7 # 1...f4-f3 2.Qh7-h6 + 2...Kf6-f5 3.Sc4-e3 # 1...f4*g3 2.Qh7-h6 + 2...Kf6-f5 3.Sc4-e3 # 1...h5-h4 2.g3-g4 threat: 3.Qh7-h6 # 2...Kf6-e6 3.Qh7-f5 # 2...Kf6-g5 3.Qh7-g7 # 1...Kf6-e6 2.d4-d5 + 2...Ke6-f6 3.Sd2-e4 # 2...Ke6*d5 3.Qh7-f5 # 1...Kf6-g5 2.Sd2-e4 + 2...Kg5-g4 3.Sc4-e5 #" --- authors: - Baird, Edith Elina Helen source: Daily News date: 1901 algebraic: white: [Kc7, Rh2, Be4, Sb7, Sb5, Pg5, Pg3, Pd5, Pd3, Pa3] black: [Ke3] stipulation: "#3" solution: | "1.Sb5-d6 ! threat: 2.Sd6-f5 # 1...Ke3-d4 2.Sb7-a5 zugzwang. 2...Kd4-e5 3.Sa5-c6 # 2...Kd4-c5 3.Sa5-b3 # 2...Kd4-e3 3.Sd6-f5 # 2...Kd4-c3 3.Sd6-b5 #" --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1901 algebraic: white: [Kg1, Qc2, Bd4, Se4, Sc6, Pe6, Pe3, Pc3, Pb4, Pa6] black: [Kd5, Pe7, Pd6, Pc7] stipulation: "#3" solution: | "1.Qc2-g2 ! zugzwang. 1...Kd5*c6 2.c3-c4 threat: 3.b4-b5 # 1...Kd5*e6 2.Qg2-g8 + 2...Ke6-d7 3.Sc6-b8 # 2...Ke6-f5 3.Se4-g3 # 1...Kd5-c4 2.Qg2-a2 + 2...Kc4-b5 3.Sc6-a7 # 2...Kc4-d3 3.Se4-f2 #" --- authors: - Baird, Edith Elina Helen source: Daily News date: 1901 algebraic: white: [Ka6, Rd7, Ra3, Bh2, Sh6, Se1, Pf5, Pf2, Pe4] black: [Kc5, Sh1, Sg7, Pf7, Pf4, Pf3, Pb6] stipulation: "#3" solution: | "1.Sh6-g4 ! threat: 2.Rd7-c7 + 2...Kc5-d6 3.Bh2*f4 # 2...Kc5-d4 3.Ra3-a4 # 2...Kc5-b4 3.Se1-c2 # 2.Se1-d3 + 2...Kc5-c6 3.Sg4-e5 # 2...Kc5-c4 3.Sg4-e5 # 1...Sh1-g3 2.Se1-d3 + 2...Kc5-c6 3.Sg4-e5 # 2...Kc5-c4 3.Sg4-e5 # 1...Sh1*f2 2.Rd7-c7 + 2...Kc5-d6 3.Bh2*f4 # 2...Kc5-d4 3.Ra3-a4 # 2...Kc5-b4 3.Se1-c2 # 1...Kc5-c6 2.Sg4-e5 + 2...Kc6-c5 3.Se1-d3 # 1...Kc5-c4 2.Rd7-c7 + 2...Kc4-d4 3.Ra3-a4 # 2...Kc4-b4 3.Se1-c2 # 1...Kc5-b4 2.Se1-c2 + 2...Kb4-c4 3.Rd7-c7 # 2...Kb4-c5 3.Ra3-c3 # 1...b6-b5 2.Se1-d3 + 2...Kc5-c6 3.Sg4-e5 # 2...Kc5-c4 3.Sg4-e5 # 1...f7-f6 2.Rd7-c7 + 2...Kc5-d6 3.Bh2*f4 # 2...Kc5-d4 3.Ra3-a4 # 2...Kc5-b4 3.Se1-c2 # 1...Sg7-e6 2.Se1-d3 + 2...Kc5-c6 3.Sg4-e5 # 2...Kc5-c4 3.Sg4-e5 # 1...Sg7*f5 2.Se1-d3 + 2...Kc5-c6 3.Sg4-e5 # 2...Kc5-c4 3.Sg4-e5 # 1...Sg7-h5 2.Se1-d3 + 2...Kc5-c6 3.Sg4-e5 # 2...Kc5-c4 3.Sg4-e5 # 1...Sg7-e8 2.Se1-d3 + 2...Kc5-c6 3.Sg4-e5 # 2...Kc5-c4 3.Sg4-e5 #" --- authors: - Baird, Edith Elina Helen source: Bristol Times and Mirror date: 1901 algebraic: white: [Kc5, Qb3, Bb1, Ph4, Ph3, Pb6] black: [Ke5, Sh8, Pf6, Pf4, Pc6, Pc3] stipulation: "#3" solution: | "1.Qb3-g8 ! threat: 2.Qg8-e8 # 1...c3-c2 2.Qg8-e8 + 2...Ke5-f5 3.Bb1*c2 # 1...f4-f3 2.Qg8-b8 + 2...Ke5-e6 3.Qb8-e8 # 1...f6-f5 2.Qg8-g7 + 2...Ke5-e6 3.Bb1-a2 # 1...Sh8-g6 2.Qg8-e8 + 2...Sg6-e7 3.Qe8*e7 #" --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald date: 1900 algebraic: white: [Kf6, Qc2, Ba1, Se8, Pf5, Pf2, Pe2] black: [Kd5, Ph7, Pg4, Pf7, Pf4, Pc6] stipulation: "#3" solution: | "1.Kf6-g5 ! threat: 2.Kg5*f4 threat: 3.e2-e4 # 2...c6-c5 3.Qc2-e4 # 1...c6-c5 2.Qc2-e4 + 2...Kd5*e4 3.Se8-f6 #" --- authors: - Baird, Edith Elina Helen source: Knowledge date: 1894 algebraic: white: [Ka5, Qb8, Be5, Sa4, Pe2, Pd5, Pb5] black: [Ke4, Pe6, Pe3] stipulation: "#3" solution: | "1.Qb8-h8 ! threat: 2.Sa4-c3 + 2...Ke4-f5 3.Qh8-h5 # 1...Ke4*d5 2.Qh8-f6 zugzwang. 2...Kd5-c4 3.Qf6*e6 # 2...Kd5-e4 3.Sa4-c3 # 1...Ke4-f5 2.Qh8-h5 + 2...Kf5-e4 3.Sa4-c3 # 1...e6*d5 2.Sa4-c5 + 2...Ke4-f5 3.Qh8-h5 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1893 algebraic: white: [Kf1, Qb3, Bh3, Se8, Sa2, Ph4, Pg2, Pf6, Pb6] black: [Ke5, Pe4, Pc5, Pb7, Pa6] stipulation: "#3" solution: | "1.Kf1-e2 ! zugzwang. 1...e4-e3 2.Bh3-e6 threat: 3.Qb3*e3 # 1...c5-c4 2.Qb3-g3 + 2...Ke5-d5 3.Qg3-d6 # 2...Ke5-d4 3.Qg3-d6 # 1...Ke5-f4 2.Qb3-c3 threat: 3.g2-g3 # 2...e4-e3 3.Qc3*e3 # 1...Ke5-d4 2.Qb3-d1 + 2...Kd4-e5 3.Qd1-d6 # 2...Kd4-c4 3.Se8-d6 # 1...a6-a5 2.Ke2-e3 threat: 3.Qb3-e6 # 2...c5-c4 3.Qb3-b5 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplement date: 1893 algebraic: white: [Kc1, Qa5, Bg1, Sg8, Ph5, Pg6, Pg2, Pe2, Pd5, Pd3] black: [Ke5, Bh8, Pd6] stipulation: "#3" solution: | "1.Sg8-h6 ! zugzwang. 1...Ke5-f6 2.Qa5-d8 + 2...Kf6-g7 3.Sh6-f5 # 2...Kf6-e5 3.Qd8-g5 # 1...Ke5-f4 2.Qa5-d2 + 2...Kf4-e5 3.Qd2-g5 # 2...Kf4-g3 3.Qd2-g5 # 1...Bh8-f6 2.Bg1-h2 + 2...Ke5-d4 3.Sh6-f5 # 1...Bh8-g7 2.Bg1-h2 + 2...Ke5-f6 3.Qa5-d8 # 2...Ke5-d4 3.Sh6-f5 #" --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1900 algebraic: white: [Kf1, Qh8, Bd8, Se2, Sc2, Pf4, Pb4, Pa6] black: [Kd7, Ph6, Pe3, Pd6, Pc3, Pb6] stipulation: "#3" solution: | "1.Bd8-h4 ! threat: 2.Sc2-d4 threat: 3.Qh8-d8 # 1...Kd7-e6 2.Qh8-e8 + 2...Ke6-f5 3.Sc2*e3 # 2...Ke6-d5 3.Sc2*e3 # 1...Kd7-c6 2.Qh8-c8 + 2...Kc6-d5 3.Se2*c3 # 2...Kc6-b5 3.Se2*c3 #" --- authors: - Baird, Edith Elina Helen source: Pictorial World date: 1890 algebraic: white: [Kf1, Qd2, Rg8, Sh5, Pf5, Pf3, Pd6, Pb3, Pa5, Pa3] black: [Kc5, Rh8, Ra8, Pe7, Pc6, Pa7] stipulation: "#3" solution: | "1.Qd2-e2 ! threat: 2.Qe2-e5 # 1...Kc5-d5 2.Qe2-d3 + 2...Kd5-e5 3.f3-f4 # 2...Kd5-c5 3.b3-b4 # 1...Kc5*d6 2.Qe2-e6 + 2...Kd6-c7 3.Qe6*e7 # 2...Kd6-c5 3.Qe6-e5 # 1...Kc5-d4 2.Qe2-c4 + 2...Kd4-e5 3.Qc4-c5 # 2...Kd4-e3 3.Qc4-c3 # 1...e7*d6 2.Qe2-c4 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1889 algebraic: white: [Ka1, Qc8, Bh1, Bc5, Sh8, Ph4, Pf3, Pd2, Pb6, Pb5, Pa2] black: [Kd5, Pf7, Pb7] stipulation: "#3" solution: | "1.Bh1-g2 ! threat: 2.Qc8-f5 + 2...Kd5-c4 3.Bg2-f1 # 1...Kd5-e5 2.Qc8-d7 zugzwang. 2...Ke5-f6 3.Bc5-d4 # 2...Ke5-f4 3.Bc5-d6 # 2...f7-f5 3.Qd7-d6 # 2...f7-f6 3.Sh8-g6 # 1...Kd5-c4 2.Bg2-f1 + 2...Kc4-d5 3.Qc8-f5 #" --- authors: - Baird, Edith Elina Helen source: Evening News and Post date: 1890 algebraic: white: [Ke8, Qe1, Bb4, Sf2, Sd8, Ph5, Ph4, Pc3] black: [Kd5, Sa5, Pf5, Pf3, Pd7, Pd6, Pa6] stipulation: "#3" solution: | "1.Qe1-f1 ! threat: 2.Qf1-d3 + 2...Kd5-e5 3.Qd3*d6 # 3.Qd3-d4 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1891 algebraic: white: [Ka2, Qg7, Bh6, Sc3, Sa8, Pg2, Pf3, Pd2, Pc5, Pb4] black: [Ke6, Sh7, Ph4, Pg5, Pa7] stipulation: "#3" solution: | "1.Sc3-e2 ! zugzwang. 1...h4-h3 2.Sa8-c7 + 2...Ke6-f5 3.g2-g4 # 1...g5-g4 2.Sa8-c7 + 2...Ke6-f5 3.Se2-d4 # 1...Ke6-f5 2.Se2-d4 + 2...Kf5-f4 3.Qg7-c7 # 1...Ke6-d5 2.Qg7-f7 + 2...Kd5-c6 3.Se2-d4 # 2...Kd5-e5 3.d2-d4 # 1...a7-a5 2.Se2-d4 + 2...Ke6-d5 3.Sa8-b6 # 1...a7-a6 2.Se2-d4 + 2...Ke6-d5 3.Sa8-b6 # 1...Sh7-f6 2.Sa8-c7 + 2...Ke6-e5 3.Qg7*g5 # 2...Ke6-f5 3.Qg7*g5 # 1...Sh7-f8 2.Sa8-c7 + 2...Ke6-f5 3.Qg7*g5 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1895 algebraic: white: [Ka4, Qg4, Bb5, Sh6, Pg5, Pe5] black: [Kd5, Bg1, Pc5, Pc3] stipulation: "#3" solution: | "1.Bb5-a6 ! threat: 2.Ba6-b7 + 2...Kd5*e5 3.Sh6-f7 # 1...Kd5*e5 2.Sh6-f7 + 2...Ke5-d5 3.Ba6-b7 # 1...Kd5-c6 2.Qg4-e6 + 2...Kc6-c7 3.Qe6-d6 #" --- authors: - Baird, Edith Elina Helen source: The Chess Review date: 1893 algebraic: white: [Kb7, Re8, Re1, Bc4, Bc1, Sh2, Sc7, Ph5, Pe6, Pe4] black: [Ke5, Sh8, Sh7, Pg5, Pa3] stipulation: "#3" solution: | "1.Re8-c8 ! threat: 2.Sh2-g4 + 2...Ke5-d4 3.Sc7-b5 # 2...Ke5-d6 3.Bc1*a3 # 1...Ke5-d6 2.Sc7-e8 + 2...Kd6-e7 3.Bc1*a3 # 2...Kd6-e5 3.Sh2-f3 # 1...Ke5-f6 2.Sc7-e8 + 2...Kf6-e7 3.Bc1*a3 # 2...Kf6-e5 3.Sh2-f3 # 1...Ke5-d4 2.Sc7-b5 + 2...Kd4-e5 3.Sh2-g4 # 1...Sh7-f6 2.Sh2-f3 + 2...Ke5-d6 3.Bc1*a3 #" --- authors: - Baird, Edith Elina Helen source: Knowledge date: 1894 algebraic: white: [Ke2, Qg8, Ba3, Sg5, Pe4, Pc5] black: [Kb5, Pg7, Pb2, Pa5, Pa4] stipulation: "#3" solution: | "1.Sg5-f7 ! threat: 2.Sf7-d6 + 2...Kb5-a6 3.Qg8-a8 # 2...Kb5-c6 3.Qg8-c8 # 1...Kb5-a6 2.Qg8-a8 + 2...Ka6-b5 3.Sf7-d6 # 1...Kb5-c6 2.Qg8-c8 + 2...Kc6-b5 3.Sf7-d6 #" --- authors: - Baird, Edith Elina Helen source: Kentish Mercury date: 1902 algebraic: white: [Ka2, Qb2, Sh6, Sa6, Pc4, Pb3] black: [Kd3, Ph3, Pg4, Pf6, Pf5, Pd4] stipulation: "#3" solution: | "1.Qb2-f2 ! threat: 2.Qf2-e1 threat: 3.Sa6-b4 # 1...Kd3-e4 2.Sa6-c5 + 2...Ke4-e5 3.Sh6-f7 #" --- authors: - Baird, Edith Elina Helen source: Southern Weekly News date: 1889 algebraic: white: [Ka7, Qh1, Rc2, Be3, Se2, Sb2, Pe5] black: [Kd5, Pg7, Pg5, Pg4, Pf3] stipulation: "#3" solution: | "1.Qh1-h5 ! threat: 2.Qh5-g6 threat: 3.Rc2-c5 # 1...Kd5-e6 2.Qh5-e8 + 2...Ke6-f5 3.Se2-g3 # 2...Ke6-d5 3.Se2-c3 #" --- authors: - Baird, Edith Elina Helen source: Field date: 1901 algebraic: white: [Kh8, Qa8, Rb2, Bd7, Sc3, Pe2, Pd3] black: [Ke5, Sc5, Pf6, Pd6] stipulation: "#3" solution: | "1.Qa8-g2 ! threat: 2.e2-e3 threat: 3.d3-d4 # 3.Qg2-d5 # 3.Qg2-g3 # 3.Qg2-h2 # 2...Sc5-b3 3.Qg2-d5 # 3.Qg2-e4 # 3.Qg2-g3 # 3.Qg2-h2 # 2...Sc5*d3 3.Qg2-d5 # 3.Qg2-e4 # 2...Sc5-e4 3.d3-d4 # 3.Qg2*e4 # 2...Sc5-e6 3.Qg2-d5 # 3.Qg2-e4 # 2...Sc5*d7 3.Qg2-d5 # 3.Qg2-e4 # 2...d6-d5 3.Qg2*d5 # 3.Qg2-g3 # 3.Qg2-h2 # 2...f6-f5 3.Qg2-g7 # 2.Rb2-b4 threat: 3.Qg2-d5 # 3.Qg2-g3 # 3.Qg2-h2 # 2...Sc5*d3 3.Rb4-e4 # 3.Qg2-d5 # 3.Qg2-e4 # 2...Sc5-e4 3.Rb4*e4 # 3.Qg2*e4 # 2...Sc5-e6 3.Qg2-d5 # 3.Qg2-e4 # 2...Sc5*d7 3.Qg2-d5 # 3.Qg2-e4 # 2...f6-f5 3.Qg2-g7 # 1...Ke5-f4 2.Qg2-g4 + 2...Kf4-e5 3.d3-d4 # 2...Kf4-e3 3.Sc3-d1 # 1...Ke5-d4 2.Qg2-f2 + 2...Kd4-e5 3.d3-d4 # 2...Kd4*c3 3.Qf2*f6 # 1...d6-d5 2.Qg2-g3 + 2...Ke5-d4 3.Sc3-b5 # 1...f6-f5 2.Qg2-g7 + 2...Ke5-f4 3.Sc3-d5 #" --- authors: - Baird, Edith Elina Helen source: Pictorial World date: 1891 algebraic: white: [Ka7, Bf6, Bf5, Sg1, Sd1, Pg4, Pg3, Pf2, Pb5, Pb4, Pa2] black: [Kd5, Pd2, Pb2] stipulation: "#3" solution: | "1.Bf6-e7 ! threat: 2.Sd1-e3 + 2...Kd5-e5 3.Sg1-f3 # 2...Kd5-d4 3.Be7-f6 # 1...Kd5-e5 2.Sg1-f3 + 2...Ke5-d5 3.Sd1-e3 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1902 algebraic: white: [Kh7, Qb8, Rh1, Bf7, Bd8, Sa3, Pg5, Pe2, Pc3, Pa6, Pa5] black: [Kd5, Bg2, Bc1, Sh4, Sf1, Pg7, Pf3, Pe6, Pe3, Pc5, Pa7] stipulation: "#3" solution: | "1.Qb8-b1 ! threat: 2.Qb1-d3 + 2...Kd5-e5 3.Bd8-c7 # 2...Kd5-c6 3.Bf7-e8 # 1...Sh4-f5 2.Qb1*f5 + 2...Kd5-d6 3.Qf5*e6 # 2...Kd5-c6 3.Qf5*e6 # 1...c5-c4 2.Qb1-b5 + 2...Kd5-d6 3.Sa3*c4 # 2...Kd5-e4 3.Rh1*h4 # 1...Kd5-e5 2.Bd8-c7 + 2...Ke5-d5 3.Qb1-b7 # 1...Kd5-c6 2.Qb1-b7 + 2...Kc6-d6 3.Sa3-c4 #" --- authors: - Baird, Edith Elina Helen source: Hackney Mercury date: 1893 algebraic: white: [Kh6, Qb8, Sf6, Sf4, Pf5, Pb2] black: [Kc6, Sd1, Pd5, Pa7] stipulation: "#3" solution: | "1.Sf6-g4 ! threat: 2.Sg4-e5 + 2...Kc6-c5 3.Sf4-e6 # 1...Kc6-c5 2.Sf4-e6 + 2...Kc5-c4 3.Sg4-e5 # 2...Kc5-c6 3.Sg4-e5 #" --- authors: - Baird, Edith Elina Helen source: Brighton Society date: 1895 algebraic: white: [Kb5, Bc8, Bc5, Sb8, Pg3, Pc2] black: [Kd5, Pg6, Pe5] stipulation: "#3" solution: | "1.Bc8-g4 ! threat: 2.Sb8-d7 threat: 3.Sd7-f6 # 2...e5-e4 3.c2-c4 # 1...e5-e4 2.c2-c4 + 2...Kd5-e5 3.Sb8-d7 #" --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Chronicle date: 1894 algebraic: white: [Kh8, Qh2, Sf4, Sb5, Ph4, Pg5, Pe2, Pd5, Pd2, Pc6, Pb4, Pa2] black: [Ke4, Pd7, Pb6] stipulation: "#3" solution: | "1.Sf4-h5 ! zugzwang. 1...Ke4-f5 2.Sb5-d6 + 2...Kf5-g6 3.Sh5-f4 # 2...Kf5-g4 3.Sh5-f6 # 1...Ke4*d5 2.Qh2-d6 + 2...Kd5-e4 3.Sh5-g3 # 2...Kd5-c4 3.Sb5-a3 # 1...d7-d6 2.Qh2*d6 threat: 3.Qd6-e6 # 3.Sh5-g3 # 2...Ke4-f5 3.Qd6-e6 # 1...d7*c6 2.Qh2-f4 + 2...Ke4*d5 3.Sb5-c7 #" --- authors: - Baird, Edith Elina Helen source: Kentish Mercury date: 1892 distinction: 1st Prize algebraic: white: [Kh1, Rh6, Ra4, Bh5, Ba5, Sf6, Sb4, Pg4, Pg2, Pe2, Pd2, Pc6] black: [Kf4, Pe4, Pb5] stipulation: "#3" solution: | "1.Ba5-d8 ! threat: 2.Sb4-d3 + 2...Kf4-g5 3.Sf6-g8 # 2...Kf4-g3 3.Sf6*e4 # 2.e2-e3 + 2...Kf4-e5 3.Sf6-d7 # 2...Kf4-g5 3.Sf6-g8 # 2...Kf4-g3 3.Sf6*e4 # 1...e4-e3 2.Sb4-d3 + 2...Kf4-g5 3.Sf6-g8 # 2...Kf4-g3 3.Sf6-e4 # 1...Kf4-e5 2.e2-e3 threat: 3.Sf6-d7 # 1...Kf4-g5 2.Rh6-g6 + 2...Kg5-h4 3.Sf6*e4 # 2...Kg5-f4 3.Bd8-c7 # 1...Kf4-g3 2.Sf6*e4 + 2...Kg3-f4 3.Sb4-d3 # 1...b5*a4 2.e2-e3 + 2...Kf4-e5 3.Sf6-d7 # 2...Kf4-g5 3.Sf6-g8 # 2...Kf4-g3 3.Sf6*e4 #" comments: - also in The Philadelphia Times (no. 1281), 26 February 1893 --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1890 algebraic: white: [Kd1, Qg5, Sd2, Pc2, Pb5, Pa4, Pa3] black: [Kc5, Pf4, Pd6, Pd5] stipulation: "#3" solution: | "1.Qg5-g8 ! threat: 2.Sd2-b3 + 2...Kc5-c4 3.Qg8-c8 # 2...Kc5-b6 3.Qg8-b8 # 1...Kc5-b6 2.Qg8-b8 + 2...Kb6-c5 3.Qb8-a7 # 2...Kb6-a5 3.Qb8-a7 # 1...Kc5-d4 2.Qg8-g7 + 2...Kd4-c5 3.Qg7-a7 # 2...Kd4-e3 3.Qg7-g1 #" --- authors: - Baird, Edith Elina Helen source: Weekly Gazette (Montreal) date: 1891 algebraic: white: [Kh8, Qg7, Re1, Sc2, Sa8, Pf2, Pd2, Pb4, Pa5] black: [Ke6, Re3, Bc8, Sf1, Pg5, Pd6] stipulation: "#3" solution: | "1.f2-f3 ! threat: 2.Sc2-d4 + 2...Ke6-d5 3.Sa8-b6 # 1...Re3-e5 2.Sa8-c7 + 2...Ke6-f5 3.Qg7-f7 # 1...Ke6-f5 2.Qg7-f7 + 2...Kf5-e5 3.d2-d4 # 1...Ke6-d5 2.Sa8-b6 + 2...Kd5-c6 3.Sc2-d4 # 2...Kd5-e6 3.Sc2-d4 #" --- authors: - Baird, Edith Elina Helen source: South Western World date: 1894 algebraic: white: [Kc7, Rg5, Bc5, Sf2, Pf5, Pf3, Pe2, Pc4, Pc2] black: [Ke5, Bf7, Sa5] stipulation: "#3" solution: | "1.c2-c3 ! threat: 2.Bc5-d4 + 2...Ke5-f4 3.Sf2-h3 # 2.Bc5-d6 + 2...Ke5-f6 3.Sf2-e4 # 1...Sa5-b3 2.Bc5-d6 + 2...Ke5-f6 3.Sf2-e4 # 1...Sa5*c4 2.Bc5-d4 + 2...Ke5-d5 3.e2-e4 # 2...Ke5-f4 3.Sf2-h3 # 1...Sa5-c6 2.Bc5-d6 + 2...Ke5-f6 3.Sf2-e4 # 1...Sa5-b7 2.Bc5-d4 + 2...Ke5-f4 3.Sf2-h3 # 1...Ke5-f6 2.Sf2-e4 + 2...Kf6-e5 3.Bc5-d6 # 1...Ke5-f4 2.Sf2-h3 + 2...Kf4-e5 3.Bc5-d4 # 1...Bf7*c4 2.Bc5-d4 + 2...Ke5-d5 3.e2-e4 # 2...Ke5-f4 3.Sf2-h3 # 1...Bf7-d5 2.Bc5-d4 + 2...Ke5-f4 3.Sf2-h3 # 1...Bf7-e6 2.Bc5-d4 + 2...Ke5-f4 3.Sf2-h3 # 1...Bf7-h5 2.Bc5-d4 + 2...Ke5-f4 3.Sf2-h3 # 1...Bf7-g6 2.Bc5-d4 + 2...Ke5-f4 3.Sf2-h3 # 1...Bf7-g8 2.Bc5-d4 + 2...Ke5-f4 3.Sf2-h3 # 1...Bf7-e8 2.Bc5-d4 + 2...Ke5-f4 3.Sf2-h3 #" --- authors: - Baird, Edith Elina Helen source: Metropolitan Magazine date: 1892 algebraic: white: [Kb2, Rb4, Bh7, Be3, Sh3, Sc4, Pg4, Pc5] black: [Kd5, Pf3, Pe6, Pd6, Pa7] stipulation: "#3" solution: | "1.Rb4-b7 ! threat: 2.Sh3-f4 + 2...Kd5-c6 3.Sc4-a5 # 2...Kd5*c4 3.Bh7-d3 # 1...Kd5-c6 2.Bh7-e4 + 2...d6-d5 3.Sc4-a5 # 1...e6-e5 2.Bh7-g8 + 2...Kd5-c6 3.Sc4-a5 # 2...Kd5-e4 3.Sh3-f2 #" --- authors: - Baird, Edith Elina Helen source: Pen and Pencil date: 1889 algebraic: white: [Kf8, Qa2, Bc2, Sh5, Sd8, Pf2, Pe6, Pd6, Pb6, Pa6] black: [Kd4, Pa7] stipulation: "#3" solution: | "1.Sh5-f6 ! zugzwang. 1...Kd4-c5 2.Qa2-a4 zugzwang. 2...Kc5*b6 3.Sf6-d7 # 2...Kc5*d6 3.Qa4-d4 # 2...a7*b6 3.Sd8-b7 # 1...Kd4-e5 2.Qa2-d5 + 2...Ke5-f4 3.Qd5-f5 # 2...Ke5*f6 3.Qd5-f5 # 1...Kd4-c3 2.Sf6-e4 + 2...Kc3-b4 3.Qa2-a4 # 2...Kc3-d4 3.Sd8-c6 # 1...a7*b6 2.Sd8-c6 + 2...Kd4-c5 3.Qa2-d5 # 2...Kd4-c3 3.Sf6-e4 #" --- authors: - Baird, Edith Elina Helen source: Brighton & Hove Society date: 1901 algebraic: white: [Kf7, Rb7, Bc7, Sf1, Sb3, Pe6, Pd3] black: [Kd5, Sg2, Ph4, Pf3, Pe3, Pc5] stipulation: "#3" solution: | "1.Bc7-b8 ! threat: 2.Rb7-c7 threat: 3.Rc7*c5 # 1...Sg2-e1 2.Sf1*e3 + 2...Kd5-c6 3.Sb3-a5 # 1...Sg2-f4 2.Sf1*e3 + 2...Kd5-c6 3.Sb3-a5 # 1...c5-c4 2.Rb7-b5 + 2...Kd5-c6 3.Sb3-d4 # 1...Kd5-c6 2.Sb3-a5 + 2...Kc6-d5 3.Rb7-d7 #" --- authors: - Baird, Edith Elina Helen source: Bradford Observer Budget date: 1893 algebraic: white: [Kf4, Qd3, Ra8, Bc7, Pe5, Pe2, Pd6, Pc4, Pb6, Pa3] black: [Kc5, Sd1, Pf5, Pe6, Pe3] stipulation: "#3" solution: | "1.Bc7-d8 ! threat: 2.Ra8-c8 # 1...Kc5-c6 2.Qd3*d1 zugzwang. 2...Kc6-c5 3.Ra8-c8 # 2...Kc6-b7 3.Qd1-h1 # 2...Kc6-d7 3.Qd1-a4 #" --- authors: - Baird, Edith Elina Helen source: Field date: 1894 algebraic: white: [Kf2, Qa7, Sh5, Sf3, Pg2, Pc4, Pb5] black: [Kd6, Pe6, Pb6] stipulation: "#3" solution: | "1.Sf3-d2 ! zugzwang. 1...Kd6-c5 2.Qa7-a3 + 2...Kc5-d4 3.Qa3-e3 # 1...Kd6-e5 2.Qa7-g7 + 2...Ke5-d6 3.Sd2-e4 # 2...Ke5-f5 3.g2-g4 # 1...e6-e5 2.Sd2-e4 + 2...Kd6-e6 3.Sh5-g7 #" --- authors: - Baird, Edith Elina Helen source: Brighton Society date: 1895 algebraic: white: [Kf1, Qg7, Be5, Sd1, Pg4, Pc2, Pa3] black: [Ke4, Pg5, Pd2, Pb6] stipulation: "#3" solution: | "1.Qg7-h8 ! threat: 2.Sd1-c3 + 2...Ke4-e3 3.Qh8-h3 # 2...Ke4-f3 3.Qh8-h3 # 1...Ke4-f3 2.Qh8-h1 + 2...Kf3*g4 3.Sd1-e3 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1889 algebraic: white: [Kc1, Qb4, Bg4, Sh6, Sg7, Ph2, Pd6, Pa5] black: [Kd5, Pe5, Pd4, Pb5] stipulation: "#3" solution: | "1.Sh6-g8 ! zugzwang. 1...Kd5-c6 2.Bg4-c8 threat: 3.Sg8-e7 # 2...Kc6-d5 3.Bc8-b7 # 1...d4-d3 2.Sg8-e7 # 1...Kd5-e4 2.Sg8-f6 + 2...Ke4-f4 3.Qb4-d2 # 2...Ke4-e3 3.Qb4-d2 # 2...Ke4-d3 3.Qb4-b3 # 1...e5-e4 2.Qb4*b5 + 2...Kd5*d6 3.Sg7-e8 #" --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Courant date: 1893 algebraic: white: [Ka2, Qh7, Bb8, Sh3, Ph5, Pg4, Pf2, Pb5] black: [Ke6, Pf4, Pe5] stipulation: "#3" solution: | "1.Ka2-b3 ! zugzwang. 1...e5-e4 2.Qh7-g7 threat: 3.Sh3*f4 # 2...Ke6-d5 3.Qg7-e5 # 1...f4-f3 2.Qh7-g7 zugzwang. 2...e5-e4 3.Sh3-f4 # 2...Ke6-d5 3.Qg7*e5 # 1...Ke6-f6 2.Qh7-d7 threat: 3.g4-g5 # 1...Ke6-d5 2.Qh7-d7 + 2...Kd5-c5 3.Bb8-a7 # 2...Kd5-e4 3.Sh3-g5 #" --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1901 algebraic: white: [Ka4, Qc1, Bf1, Se1, Sb6, Ph2, Pd5, Pd3] black: [Ke5, Sg1, Ph7, Ph3, Pf6, Pd6, Pa5] stipulation: "#3" solution: | "1.Qc1-h6 ! zugzwang. 1...Sg1-f3 2.Se1*f3 + 2...Ke5-f5 3.Bf1*h3 # 1...Sg1-e2 2.Se1-f3 + 2...Ke5-f5 3.Bf1*h3 # 1...Ke5-f5 2.Sb6-c4 zugzwang. 2...Sg1-f3 3.Bf1*h3 # 2...Sg1-e2 3.Bf1*h3 # 2...Kf5-g4 3.Sc4-e3 # 1...Ke5-d4 2.Qh6*f6 + 2...Kd4-c5 3.Qf6-f2 # 2...Kd4-e3 3.Sb6-c4 # 1...f6-f5 2.Qh6-g7 + 2...Ke5-f4 3.Qg7-g3 #" --- authors: - Baird, Edith Elina Helen source: Bristol Mercury date: 1894 algebraic: white: [Ke2, Qa7, Sh5, Sf4, Pg6, Pe5, Pc6] black: [Kd4, Rc5, Pg7, Pg3, Pc3] stipulation: "#3" solution: | "1.Sf4-d3 ! threat: 2.Qa7*c5 + 2...Kd4-e4 3.Sh5*g3 # 1...Kd4-e4 2.Qa7-d7 threat: 3.Sh5*g3 # 2...Rc5-d5 3.Qd7-g4 # 1...Kd4-c4 2.Qa7-a4 + 2...Kc4-d5 3.Sh5-f4 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1889 algebraic: white: [Kb6, Qh3, Bc8, Se7, Se1, Pd3] black: [Kd4, Sg7, Pb4] stipulation: "#3" solution: | "1.Qh3-g2 ! threat: 2.Qg2-b2 + 2...Kd4-e3 3.Se7-d5 # 1...Kd4-e5 2.Qg2*g7 + 2...Ke5-d6 3.Qg7-f6 # 2...Ke5-f4 3.Se7-d5 # 1...Kd4-e3 2.Se7-d5 + 2...Ke3-d4 3.Qg2-e4 # 1...Kd4-c3 2.Qg2-c2 + 2...Kc3-d4 3.Qc2-c5 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1891 algebraic: white: [Kh3, Qg6, Ra2, Bb1, Sh7, Se7, Pd2] black: [Ke5, Bb4, Sg3, Sc2, Pg7, Pd6, Pa5] stipulation: "#3" solution: | "1.Ra2-a4 ! zugzwang. 1...Bb4-c5 2.Qg6*g7 + 2...Ke5-e6 3.Sh7-f8 # 1...Sc2-a1 2.Qg6*g7 + 2...Ke5-e6 3.Sh7-f8 # 2...Ke5-f4 3.Qg7*g3 # 1...Sc2-e1 2.Qg6*g7 + 2...Ke5-e6 3.Sh7-f8 # 2...Ke5-f4 3.Qg7*g3 # 1...Sc2-e3 2.Qg6*g7 + 2...Ke5-e6 3.Sh7-f8 # 2...Ke5-f4 3.Qg7*g3 # 1...Sc2-d4 2.Qg6*g7 + 2...Ke5-e6 3.Sh7-f8 # 2...Ke5-f4 3.Qg7*g3 # 1...Sc2-a3 2.Qg6*g7 + 2...Ke5-e6 3.Sh7-f8 # 2...Ke5-f4 3.Qg7*g3 # 1...Sg3-e2 2.Qg6-f5 + 2...Ke5-d4 3.Qf5-d5 # 1...Sg3-f1 2.Qg6-f5 + 2...Ke5-d4 3.Qf5-d5 # 1...Sg3-h1 2.Qg6-f5 + 2...Ke5-d4 3.Qf5-d5 # 1...Sg3-h5 2.Qg6-f5 + 2...Ke5-d4 3.Qf5-d5 # 1...Sg3-f5 2.Qg6*f5 + 2...Ke5-d4 3.Qf5-d5 # 1...Sg3-e4 2.Qg6-f5 + 2...Ke5-d4 3.Qf5-d5 # 1...Bb4-a3 2.Qg6*g7 + 2...Ke5-e6 3.Sh7-f8 # 1...Bb4*d2 2.Qg6*g7 + 2...Ke5-e6 3.Sh7-f8 # 1...Bb4-c3 2.Qg6*g7 + 2...Ke5-e6 3.Sh7-f8 # 1...Ke5-f4 2.Qg6*g3 + 2...Kf4-e4 3.Qg3-e3 # 1...Ke5-d4 2.Qg6*d6 + 2...Kd4-e4 3.Sh7-g5 # 2...Kd4-c4 3.Qd6-d5 # 1...d6-d5 2.Se7-c6 + 2...Ke5-f4 3.Qg6-g4 #" --- authors: - Baird, Edith Elina Helen source: Times Weekly Edition date: 1893 algebraic: white: [Kg7, Qe1, Bd6, Sf8, Sb3, Pc6, Pc5, Pa2] black: [Kc4, Pf5, Pb5] stipulation: "#3" solution: | "1.Sf8-g6 ! zugzwang. 1...b5-b4 2.Qe1-e2 + 2...Kc4-c3 3.Bd6-e5 # 2...Kc4-d5 3.Sg6-e7 # 1...Kc4-d5 2.Qe1-e6 + 2...Kd5*c6 3.Sb3-a5 # 2...Kd5*e6 3.Sg6-f4 # 1...Kc4-d3 2.Sg6-e5 + 2...Kd3-c2 3.Qe1-c1 # 1...f5-f4 2.Qe1-e4 + 2...Kc4-c3 3.Bd6-e5 #" --- authors: - Baird, Edith Elina Helen source: Field date: 1892 algebraic: white: [Kb3, Qb2, Rf8, Sh6, Sg5, Pf6, Pe5] black: [Ke3, Pd5, Pd3] stipulation: "#3" solution: | "1.Qb2-g2 ! zugzwang. 1...d3-d2 2.Qg2-f3 + 2...Ke3-d4 3.Qf3-c3 # 1...Ke3-d4 2.Qg2-f2 + 2...Kd4*e5 3.Sh6-f7 # 1...Ke3-f4 2.Qg2-h2 + 2...Kf4*g5 3.Rf8-g8 # 2...Kf4-e3 3.Sh6-f5 # 1...d5-d4 2.Sh6-f7 zugzwang. 2...Ke3-f4 3.Qg2-f3 # 2...d3-d2 3.Qg2-f3 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1898 algebraic: white: [Kf8, Qa1, Rc8, Be7, Sh7, Sb5, Ph2, Pf4, Pe3, Pd6, Pc6, Pc2] black: [Kf5, Ba5, Sa7, Pf7, Pc4, Pb6] stipulation: "#3" solution: | "1.Qa1-f1 ! threat: 2.Qf1-h3 + 2...Kf5-g6 3.f4-f5 # 2...Kf5-e4 3.Sh7-f6 # 1...Kf5-g6 2.f4-f5 + 2...Kg6-h6 3.Qf1-h3 # 2...Kg6*h7 3.Qf1-h3 # 2...Kg6-h5 3.Qf1-h3 # 1...Kf5-g4 2.Qf1-g2 + 2...Kg4-f5 3.Sb5-d4 # 2...Kg4-h5 3.Qg2-g5 #" --- authors: - Baird, Edith Elina Helen source: Demerara Daily Chronicle date: 1902 algebraic: white: [Kf1, Rb3, Bh6, Bf7, Sb1, Sa6, Pg4, Pd5, Pa4] black: [Kd4, Bc5, Se8, Pd6, Pb4] stipulation: "#3" solution: | "1.Sa6-b8 ! threat: 2.Sb8-c6 + 2...Kd4-e4 3.Sb1-d2 # 2...Kd4-c4 3.Sb1-d2 # 1...Kd4-c4 2.Sb1-d2 + 2...Kc4-d4 3.Sb8-c6 # 1...Bc5-a7 2.Rb3*b4 + 2...Kd4-d3 3.Bf7-g6 # 2...Kd4-c5 3.Sb8-a6 # 2...Kd4-e5 3.Sb8-d7 # 1...Bc5-b6 2.Rb3*b4 + 2...Kd4-d3 3.Bf7-g6 # 2...Kd4-c5 3.Sb8-a6 # 2...Kd4-e5 3.Sb8-d7 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1894 algebraic: white: [Ka8, Qg6, Bf7, Bc7, Sa4, Pg3, Pf2, Pd6, Pa2] black: [Ke5, Ra5, Bg8, Pg4, Pf6, Pd5, Pb5, Pa6] stipulation: "#3" solution: | "1.Bc7-d8 ! threat: 2.Qg6*f6 + 2...Ke5-e4 3.Bf7-g6 # 3.Sa4-c5 # 1...Ke5-d4 2.Bd8*f6 + 2...Kd4-c4 3.Qg6-e4 # 1...f6-f5 2.Qg6-e6 + 2...Ke5-d4 3.Qe6*d5 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1900 algebraic: white: [Kb8, Qc7, Bc3, Sh4, Sc2, Pg2, Pf5, Pd4, Pb3] black: [Ke4, Ba8, Ph6, Pg4, Pe5] stipulation: "#3" solution: | "1.Bc3-e1 ! threat: 2.Qc7*e5 + 2...Ke4-d3 3.Sc2-b4 # 1...Ke4-d5 2.Qc7-c4 + 2...Kd5-d6 3.Qc4-e6 # 2...Kd5-e4 3.d4-d5 # 1...Ke4-d3 2.Qc7-c4 + 2...Kd3-e4 3.d4-d5 # 1...e5*d4 2.Qc7-e7 + 2...Ke4-f4 3.g2-g3 # 2...Ke4-d5 3.Sc2-b4 # 2...Ke4-d3 3.Sc2-b4 #" --- authors: - Baird, Edith Elina Helen source: Daily Chronicle date: 1901 algebraic: white: [Ke3, Rh5, Bh8, Sf2, Sa2, Pe5, Pc6, Pb3, Pa5] black: [Kc5, Pf6, Pe6, Pb5, Pb4] stipulation: "#3" solution: | "1.Rh5-h7 ! threat: 2.Sf2-d3 + 2...Kc5-d5 3.Sa2*b4 # 2...Kc5*c6 3.Sa2*b4 # 1...Kc5-d5 2.Sf2-e4 zugzwang. 2...Kd5*e5 3.Rh7-h5 # 2...Kd5*c6 3.Sa2*b4 # 2...f6-f5 3.Sa2*b4 # 2...f6*e5 3.Sa2*b4 # 1...Kc5*c6 2.Sa2*b4 + 2...Kc6-c5 3.Sf2-d3 # 1...f6*e5 2.Sf2-e4 + 2...Kc5*c6 3.Sa2*b4 # 2...Kc5-d5 3.Sa2*b4 #" --- authors: - Baird, Edith Elina Helen source: Brighton And Hove Society date: 1902 algebraic: white: [Kd8, Rg3, Bh8, Ba2, Se2, Pg2, Pd3, Pc4] black: [Kf5, Bg1, Ph6, Pe3] stipulation: "#3" solution: | "1.Rg3-g8 ! threat: 2.g2-g4 + 2...Kf5-e6 3.c4-c5 # 2.Se2-d4 + 2...Kf5-f4 3.g2-g3 # 1...Bg1-h2 2.g2-g4 + 2...Kf5-e6 3.c4-c5 # 1...Bg1-f2 2.g2-g4 + 2...Kf5-e6 3.c4-c5 # 1...Kf5-e6 2.c4-c5 + 2...Ke6-f5 3.g2-g4 # 1...h6-h5 2.Se2-d4 + 2...Kf5-f4 3.g2-g3 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1893 algebraic: white: [Kd8, Qb7, Rh1, Rg6, Ba3, Se6, Pf4, Pe2, Pd4, Pa6] black: [Kc4, Qh2, Bf1, Ph6, Ph5, Ph3, Pf2, Pa5, Pa2] stipulation: "#3" solution: | "1.Qb7-f3 ! threat: 2.Qf3-d3 + 2...Kc4-d5 3.Se6-c7 # 1...Bf1*e2 2.Rh1-c1 + 2...Kc4-b5 3.Qf3-c6 # 1...Qh2-g3 2.Qf3-c6 + 2...Kc4-b3 3.Rg6*g3 # 1...Kc4-b5 2.Qf3-c6 + 2...Kb5*c6 3.Se6-c7 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1889 algebraic: white: [Kh5, Qg3, Rd8, Rb1, Bf8, Ba8, Sf2, Pg5, Pe4, Pc7, Pc6, Pb5, Pa3, Pa2] black: [Kd4, Rd6, Sb2, Pg7, Pb6, Pa5, Pa4] stipulation: "#3" solution: | "1.g5-g6 ! zugzwang. 1...Kd4-c4 2.Qg3*d6 zugzwang. 2...Sb2-d1 3.Qd6-d3 # 3.Qd6-d4 # 2...Sb2-d3 3.Qd6-d4 # 3.Qd6*d3 # 2...Kc4-c3 3.Rb1-c1 # 2...Kc4*b5 3.Qd6-d3 # 1...Sb2-d1 2.Qg3-d3 + 2...Kd4-c5 3.Bf8*d6 # 3.Qd3-d5 # 2...Kd4-e5 3.Qd3*d6 # 1...Sb2-d3 2.Qg3*d3 + 2...Kd4-c5 3.Bf8*d6 # 3.Qd3-c3 # 3.Qd3-d5 # 3.Rb1-c1 # 2...Kd4-e5 3.Qd3*d6 # 1...Sb2-c4 2.Rb1-c1 zugzwang. 2...Sc4-d2 3.Qg3-c3 # 3.Bf8*g7 # 3.Rd8*d6 # 2...Sc4*a3 3.Rd8*d6 # 3.Bf8*g7 # 3.Qg3-c3 # 2...Sc4-b2 3.Qg3-c3 # 3.Bf8*g7 # 3.Rd8*d6 # 2...Sc4-e3 3.Bf8*g7 # 2...Sc4-e5 3.Rd8*d6 # 3.Qg3-c3 # 2...Kd4-c5 3.Qg3-e5 # 2...Rd6-d5 + 3.Rd8*d5 # 2...Rd6*d8 3.Qg3-c3 # 2...Rd6-d7 3.Qg3-c3 # 1...Kd4-c5 2.Qg3-e5 + 2...Kc5-c4 3.Rb1-c1 # 1...Rd6-d5 + 2.Rd8*d5 + 2...Kd4-c4 3.Rb1-c1 # 1...Rd6*d8 2.c7*d8=Q + 2...Kd4-c4 3.Qd8-d5 # 1...Rd6-d7 2.Rb1-c1 threat: 3.Bf8*g7 # 3.Rd8*d7 # 3.Qg3-c3 # 2...Sb2-d1 3.Bf8*g7 # 3.Rd8*d7 # 2...Sb2-d3 3.Rd8*d7 # 2...Sb2-c4 3.Qg3-c3 # 2...Rd7-d5 + 3.Rd8*d5 # 2...Rd7-d6 3.Bf8*g7 # 3.Rd8*d6 # 3.Qg3-c3 # 2...Rd7*d8 3.Qg3-c3 # 3.Bf8*g7 # 3.c7*d8=Q # 3.c7*d8=R #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1892 algebraic: white: [Kg8, Qc1, Rh7, Bf8, Se8, Sd7, Pf2, Pe3, Pd4, Pd2, Pc5] black: [Kd5, Sg3, Pg7, Pg6, Pf3, Pe2, Pd6] stipulation: "#3" solution: | "1.Qc1-b1 ! threat: 2.Qb1-b3 + 2...Kd5-c6 3.Sd7-b8 # 2...Kd5-e4 3.Se8*d6 # 1...Kd5-c6 2.Sd7-f6 threat: 3.Qb1-b6 # 2...d6*c5 3.d4-d5 # 2...g7*f6 3.Qb1-b7 # 1...Kd5-e6 2.Sd7-b6 threat: 3.Qb1*g6 # 2...Sg3-h5 3.Qb1-e4 # 2...Sg3-f5 3.Qb1-e4 # 2...Sg3-e4 3.Qb1*e4 # 1...d6*c5 2.Qb1-b7 + 2...Kd5-e6 3.Se8*g7 # 2...Kd5-c4 3.Sd7-e5 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1889 algebraic: white: [Kc8, Qb8, Bc5, Sh2, Sa1, Ph4, Pg4, Pf5, Pc7, Pa5, Pa4] black: [Ke4, Pe5, Pc3, Pa6] stipulation: "#3" solution: | "1.Bc5-f2 ! zugzwang. 1...Ke4-d3 2.Qb8-b1 + 2...c3-c2 3.Qb1*c2 # 2...Kd3-d2 3.Qb1-c2 # 2...Kd3-c4 3.Qb1-e4 # 2...Kd3-e2 3.Qb1-c2 # 1...c3-c2 2.Qb8-b3 threat: 3.Qb3-c4 # 3.Qb3-f3 # 2...c2-c1=Q 3.Qb3-f3 # 2...c2-c1=R 3.Qb3-f3 # 2...Ke4-f4 3.Qb3-f3 # 3.Qb3-e3 # 1...Ke4-f4 2.Qb8-b4 + 2...e5-e4 3.Qb4-d6 # 1...Ke4-d5 2.Qb8-b3 + 2...Kd5-d6 3.Qb3-e6 # 2...Kd5-c6 3.Qb3-e6 # 2...Kd5-e4 3.Qb3-c4 #" --- authors: - Baird, Edith Elina Helen source: De Amsterdammer, Weekblad voor Nederland date: 1895 algebraic: white: [Kg4, Bf6, Bb1, Se8, Sa6, Pc3] black: [Ke6, Pf7] stipulation: "#3" solution: | "1.Bb1-d3 ! zugzwang. 1...Ke6-d7 2.Bd3-b5 + 2...Kd7-c8 3.Se8-d6 # 2...Kd7-e6 3.Sa6-c7 # 1...Ke6-d5 2.Sa6-b4 + 2...Kd5-c5 3.Bf6-d4 # 2...Kd5-e6 3.Bd3-f5 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1891 algebraic: white: [Kc1, Qh3, Bf5, Se7, Sa5, Pg5, Pe3, Pd6, Pa4] black: [Kc5, Pd7, Pc3, Pa7] stipulation: "#3" solution: | "1.Qh3-h8 ! threat: 2.Qh8-d4 # 1...Kc5-b6 2.Qh8-e5 threat: 3.Qe5-b5 # 2...a7-a6 3.Se7-c8 # 1...Kc5*d6 2.Qh8-e5 + 2...Kd6*e5 3.Sa5-c4 # 1...Kc5-b4 2.Qh8*c3 + 2...Kb4*a4 3.Bf5*d7 # 2...Kb4*c3 3.Se7-d5 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1890 algebraic: white: [Ka2, Qb6, Rh7, Rf1, Bh3, Ba5, Sf3, Pg3, Pd6, Pd2, Pb3] black: [Kd5, Qg1, Rg7, Bf2, Sg8, Ph5, Pg6, Pg2, Pd4, Pb7] stipulation: "#3" solution: | "1.d6-d7 ! threat: 2.Qb6*b7 + 2...Kd5-d6 3.Ba5-b4 # 2...Kd5-c5 3.Ba5-b4 # 1...d4-d3 2.Bh3-e6 + 2...Kd5-e4 3.Qb6*b7 # 1...Kd5-e4 2.Qb6-b5 threat: 3.Sf3-g5 # 2...Bf2-e3 3.d2-d3 # 2...d4-d3 3.Qb5*b7 # 2...Ke4*f3 3.Qb5-d3 # 2...g6-g5 3.Qb5-f5 # 1...Rg7*d7 2.Qb6-b5 + 2...Kd5-d6 3.Rh7*d7 # 2...Kd5-e4 3.Sf3-g5 # 1...Sg8-e7 2.Qb6-b5 + 2...Kd5-d6 3.d7-d8=Q # 3.d7-d8=R # 2...Kd5-e4 3.Sf3-g5 #" --- authors: - Baird, Edith Elina Helen source: Bradford Observer Budget date: 1894 algebraic: white: [Kb7, Ra5, Bc1, Ba2, Sh7, Sb5, Ph5, Ph4, Pg2, Pf5, Pc2] black: [Kd5, Sc4, Pe5] stipulation: "#3" solution: | "1.Bc1-g5 ! zugzwang. 1...Kd5-e4 2.Sh7-f6 + 2...Ke4*f5 3.Sb5-d4 # 1...Kd5-c5 2.Bg5-e7 + 2...Sc4-d6 + 3.Be7*d6 # 2...Kc5-d5 3.Sh7-f6 # 1...e5-e4 2.Sb5-c3 + 2...Kd5-d6 3.Ra5-d5 # 2...Kd5-d4 3.Sc3-e2 #" --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1892 algebraic: white: [Ke1, Bg5, Bc4, Sb8, Sb6, Ph5, Ph4, Pf5, Pe2, Pc5, Pb4] black: [Ke5, Pe4, Pa4] stipulation: "#3" solution: | "1.Bc4-a6 ! threat: 2.Sb8-c6 + 2...Ke5*f5 3.Ba6-c8 # 1...e4-e3 2.Ba6-d3 threat: 3.Sb8-c6 # 2...Ke5-d4 3.Bg5-f6 # 1...Ke5*f5 2.Ba6-c8 + 2...Kf5-e5 3.Sb8-c6 # 1...Ke5-d4 2.Bg5-f6 + 2...Kd4-e3 3.Sb6-d5 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplement TT date: 1894-09-08 distinction: 2nd Prize algebraic: white: [Kb8, Qf8, Bh1, Sa3, Sa2] black: [Ke5] stipulation: "#3" solution: | "1.Sa2-c1 ! zugzwang. 1...Ke5-e6 2.Sc1-d3 zugzwang. 2...Ke6-d7 3.Sd3-c5 # 1...Ke5-d4 2.Qf8-f6 + 2...Kd4-e3 3.Sa3-c4 # 2...Kd4-c5 3.Sc1-d3 #" --- authors: - Baird, Edith Elina Helen source: The Chess Amateur source-id: 185 date: 1921 algebraic: white: [Kb5, Bc8, Sd6, Sc6, Pe5] black: [Kd5] stipulation: "#3" solution: | "1.Bc8-a6 ! zugzwang. 1...Kd5-e6 2.Kb5-b6 zugzwang. 2...Ke6-d7 3.Ba6-c8 # 2...Ke6-d5 3.Ba6-c4 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplement date: 1892 algebraic: white: [Kd6, Qg3, Rh2, Ra4, Be5, Bd5, Sa2, Sa1, Pg5, Pf6, Pd7, Pc7, Pb6] black: [Kd3, Be3, Sg1, Sd8, Pf7, Pb7] stipulation: "s#3" solution: | "1.Qg3-h3 ! zugzwang. 1...Sg1*h3 2.Sa2-c1 + 2...Be3*c1 3.Ra4-a3 + 3...Bc1*a3 # 1...Sg1-f3 2.Sa2-c1 + 2...Be3*c1 3.Ra4-a3 + 3...Bc1*a3 # 1...Sg1-e2 2.Ra4-d4 + 2...Se2*d4 3.Qh3-f5 + 3...Sd4*f5 # 1...Sd8-c6 2.Ra4-d4 + 2...Sc6*d4 3.Qh3-f5 + 3...Sd4*f5 # 1...Sd8-e6 2.Ra4-d4 + 2...Se6*d4 3.Qh3-f5 + 3...Sd4*f5 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplement date: 1894 algebraic: white: [Kh4, Qe3, Rc7, Ra4, Bh1, Sg6, Ph3, Pg3, Pf5, Pf2, Pc5] black: [Kd5, Rh7, Rf1, Sh2, Sa7, Ph5, Pg7, Pf3, Pb3] stipulation: "s#3" solution: | "1.Qe3-e2 ! threat: 2.Qe2-d1 + 2...Rf1*d1 3.Bh1*f3 + 3...Sh2*f3 # 1...Rf1-d1 2.Qe2-d2 + 2...Rd1*d2 3.Bh1*f3 + 3...Sh2*f3 # 1...Rf1*f2 2.Qe2-d2 + 2...Rf2*d2 3.Bh1*f3 + 3...Sh2*f3 # 1...Sh2-g4 2.Qe2-e5 + 2...Sg4*e5 3.Bh1*f3 + 3...Se5*f3 # 1...Sa7-b5 2.Qe2-d2 + 2...Sb5-d4 3.Bh1*f3 + 3...Sh2*f3 # 1...Sa7-c6 2.Qe2-e5 + 2...Sc6*e5 3.Bh1*f3 + 3...Sh2*f3 # 3...Se5*f3 #" --- authors: - Baird, Edith Elina Helen source: Hackney Mercury date: 1891 algebraic: white: [Kd3, Qf1, Rh5, Bh1, Bb8, Sg8, Sd8, Pc2, Pb4] black: [Kd5, Rg2, Bh7, Ba3, Sf5, Pg7, Pd4, Pb5] stipulation: "s#3" solution: | "1.Qf1-e1 ! threat: 2.Rh5*f5 + 2...Bh7*f5 + 3.Qe1-e4 + 3...Bf5*e4 # 1...Ba3*b4 2.Qe1*b4 threat: 3.Rh5*f5 + 3...Bh7*f5 # 3.Qb4-c4 + 3...b5*c4 # 2...g7-g5 3.Qb4-c4 + 3...b5*c4 # 2...g7-g6 3.Qb4-c4 + 3...b5*c4 # 2...Bh7*g8 3.Qb4-c4 + 3...b5*c4 # 1...g7-g5 2.Sg8-e7 + 2...Sf5*e7 + 3.Qe1-e4 + 3...Bh7*e4 # 1...Bh7*g8 2.Qe1-e6 + 2...Bg8*e6 3.Rh5*f5 + 3...Be6*f5 #" --- authors: - Baird, Edith Elina Helen source: Boy's Own Paper date: 1892 algebraic: white: [Kc5, Qf2, Re1, Rd4, Bh3, Bf8, Sb6, Sb4, Pg5] black: [Ke5, Be3, Sh8, Sh6, Pe6, Pc6, Pb7, Pb5] stipulation: "s#3" solution: | "1.Qf2-f3 ! zugzwang. 1...Sh6-f5 2.Bf8-d6 + 2...Sf5*d6 3.Qf3-e4 + 3...Sd6*e4 # 1...Sh6-g4 2.Qf3-f6 + 2...Sg4*f6 3.Sb6-d7 + 3...Sf6*d7 # 1...Sh6-g8 2.Qf3-f6 + 2...Sg8*f6 3.Sb6-d7 + 3...Sf6*d7 # 1...Sh6-f7 2.Bf8-d6 + 2...Sf7*d6 3.Qf3-e4 + 3...Sd6*e4 # 1...Sh8-f7 2.Bf8-d6 + 2...Sf7*d6 3.Qf3-e4 + 3...Sd6*e4 # 1...Sh8-g6 2.Qf3-f4 + 2...Sg6*f4 3.Sb4-d3 + 3...Sf4*d3 #" --- authors: - Baird, Edith Elina Helen source: Bristol Mercury date: 1891 algebraic: white: [Kc5, Qh7, Re1, Bg2, Bc1, Sh4, Sc7, Pf2, Pc2, Pb4] black: [Ke4, Qf3, Rg6, Be2, Sh8, Pe5] stipulation: "s#3" solution: | "1.Sc7-b5 ! zugzwang. 1...Qf3*g2 2.f2-f3 + 2...Qg2*f3 3.Sb5-c3 + 3...Qf3*c3 # 1...Sh8-f7 2.Sb5-d6 + 2...Sf7*d6 3.Qh7-b7 + 3...Sd6*b7 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1892 algebraic: white: [Kf5, Qd5, Rg4, Bf1, Be1, Sc7, Sc1, Pg2, Pf6, Pa4] black: [Ke3, Rb1, Ra1, Pf7] stipulation: "s#3" solution: | "1.Bf1-b5 ! zugzwang. 1...Ra1*a4 2.Qd5-d4 + 2...Ra4*d4 3.Sc7-d5 + 3...Rd4*d5 # 1...Ra1-a3 2.Qd5-d3 + 2...Ra3*d3 3.Sc7-d5 + 3...Rd3*d5 # 1...Ra1-a2 2.Qd5-d2 + 2...Ra2*d2 3.Sc7-d5 + 3...Rd2*d5 # 1...Rb1*b5 2.Qd5-c5 + 2...Rb5*c5 + 3.Sc7-d5 + 3...Rc5*d5 # 1...Rb1-b4 2.Qd5-d4 + 2...Rb4*d4 3.Sc7-d5 + 3...Rd4*d5 # 1...Rb1-b3 2.Qd5-d3 + 2...Rb3*d3 3.Sc7-d5 + 3...Rd3*d5 # 1...Rb1-b2 2.Qd5-d2 + 2...Rb2*d2 3.Sc7-d5 + 3...Rd2*d5 # 1...Rb1*c1 2.Qd5-c5 + 2...Rc1*c5 + 3.Sc7-d5 + 3...Rc5*d5 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1891 algebraic: white: [Kc4, Qd3, Rf5, Ra6, Be8, Bd8, Sg4, Sc2, Ph2, Pc5, Pb5, Pb3] black: [Ke6, Rh8, Rh4, Sg8, Sc6, Ph6, Ph3, Pb4] stipulation: "s#3" solution: | "1.Rf5-h5 ! zugzwang. 1...Sg8-f6 2.Qd3-d7 + 2...Sf6*d7 3.Rh5-e5 + 3...Sd7*e5 # 1...Rh4*g4 + 2.Qd3-e4 + 2...Rg4*e4 + 3.Sc2-d4 + 3...Re4*d4 # 1...Rh4*h5 2.Qd3-d5 + 2...Rh5*d5 3.Sc2-d4 + 3...Rd5*d4 # 1...Sg8-e7 2.Qd3-g6 + 2...Se7*g6 3.Rh5-e5 + 3...Sg6*e5 # 1...Rh8-h7 2.Qd3-d7 + 2...Rh7*d7 3.Sc2-d4 + 3...Rd7*d4 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplement date: 1900 algebraic: white: [Ke3, Qb4, Rf7, Rb3, Bc8, Ba1, Sh7, Sg8, Pg6, Pg3, Pf2, Pe4, Pc5] black: [Ke6, Rd7, Bh6, Sd8, Pg5, Pg4, Pf3, Pc6] stipulation: "s#3" solution: | "1.Rb3-d3 ! zugzwang. 1...Sd8-b7 2.Rd3-d6 + 2...Sb7*d6 3.Qb4-c4 + 3...Sd6*c4 # 1...Bh6-f8 2.Rf7-e7 + 2...Bf8*e7 3.Sh7*g5 + 3...Be7*g5 # 1...Bh6-g7 2.Rf7-f6 + 2...Bg7*f6 3.Sh7*g5 + 3...Bf6*g5 # 1...Sd8*f7 2.Rd3-d6 + 2...Sf7*d6 3.Qb4-c4 + 3...Sd6*c4 #" --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald date: 1900 algebraic: white: [Ke3, Qg8, Rh5, Rc8, Bc5, Ba8, Se8, Sd2, Pg4, Pf2] black: [Ke5, Bg7, Sh8, Ph7, Pg5, Pf3, Pe6, Pe4] stipulation: "s#3" solution: | "1.Qg8-f8 ! threat: 2.Qf8-f6 + 2...Bg7*f6 3.Rh5*g5 + 3...Bf6*g5 # 1...Bg7-f6 2.Rh5*g5 + 2...Bf6*g5 + 3.Qf8-f4 + 3...Bg5*f4 # 1...Bg7-h6 2.Rh5*g5 + 2...Bh6*g5 + 3.Qf8-f4 + 3...Bg5*f4 # 1...Bg7*f8 2.Bc5-d6 + 2...Bf8*d6 3.Rc8-c5 + 3...Bd6*c5 # 1...h7-h6 2.Rh5*g5 + 2...h6*g5 3.Qf8-f4 + 3...g5*f4 # 1...Sh8-f7 2.Qf8-d6 + 2...Sf7*d6 3.Sd2-c4 + 3...Sd6*c4 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplement date: 1891 algebraic: white: [Kd3, Qh6, Rg6, Rf8, Ba4, Sf7, Se2, Pd7, Pc2, Pb4] black: [Kd5, Be8, Sh7, Pd4, Pc3] stipulation: "s#3" solution: | "1.Rg6-b6 ! zugzwang. 1...Be8*d7 2.Ba4-c6 + 2...Bd7*c6 3.Rb6-b5 + 3...Bc6*b5 # 1...Sh7-f6 2.Qh6-h5 + 2...Sf6*h5 3.Se2-f4 + 3...Sh5*f4 # 1...Sh7-g5 2.Qh6-e6 + 2...Sg5*e6 3.Se2-f4 + 3...Se6*f4 # 1...Sh7*f8 2.Qh6-e6 + 2...Sf8*e6 3.Se2-f4 + 3...Se6*f4 # 1...Be8*f7 2.Qh6-e6 + 2...Bf7*e6 3.Rf8-f5 + 3...Be6*f5 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1893 algebraic: white: [Kb3, Qc4, Rh6, Rf2, Bh7, Bf8, Sh8, Sh2, Ph3, Pf6, Pe3, Pd3, Pc2, Pa4] black: [Kg5, Be2, Sg1, Ph4, Pc3, Pb4, Pa5] stipulation: "s#3" solution: | "1.Qc4-f7 ! threat: 2.Qf7-h5 + 2...Be2*h5 3.Sh8-f7 + 3...Bh5*f7 # 1...Sg1-f3 2.Sh2*f3 + 2...Be2*f3 3.Qf7-d5 + 3...Bf3*d5 # 1...Be2-f1 2.Rf2-g2 + 2...Bf1*g2 3.Qf7-d5 + 3...Bg2*d5 # 1...Be2-h5 2.Qf7-g6 + 2...Bh5*g6 3.Sh8-f7 + 3...Bg6*f7 # 1...Be2*d3 2.Qf7-g6 + 2...Bd3*g6 3.Sh8-f7 + 3...Bg6*f7 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplement date: 1900 algebraic: white: [Kg3, Qd8, Rg5, Rf6, Be6, Bc7, Sg7, Sb2, Ph4, Pf2, Pd3, Pb5] black: [Ke5, Bd6, Sh8, Sa8, Pg6, Pg4, Pf5, Pf3, Pd5, Pd4, Pb6] stipulation: "s#3" solution: | "1.Rf6-f8 ! zugzwang. 1...Bd6*c7 2.Sb2-c4 + 2...d5*c4 3.Qd8*d4 + 3...Ke5*d4 # 1...Sa8*c7 2.Rf8*f5 + 2...g6*f5 3.Qd8-f6 + 3...Ke5*f6 # 1...Sh8-f7 2.Be6*f7 zugzwang. 2...Bd6*c7 3.Qd8-f6 + 3...Ke5*f6 # 2...Sa8*c7 3.Qd8-f6 + 3...Ke5*f6 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1898 algebraic: white: [Kf5, Qc3, Rf6, Rb5, Bd2, Bc8, Sd4, Pg4, Pe2, Pb6, Pa3] black: [Kd5, Rc5, Ba6, Pg5, Pf7, Pd3, Pb7, Pa5, Pa4] stipulation: "s#3" solution: | "1.Sd4-c2 ! zugzwang. 1...d3*e2 2.Sc2-e1 zugzwang. 2...Rc5*b5 3.Qc3-d4 + 3...Kd5*d4 # 2...Ba6*b5 3.Qc3-d4 + 3...Kd5*d4 # 1...d3*c2 2.Bd2-c1 zugzwang. 2...Rc5*b5 3.Qc3-d4 + 3...Kd5*d4 # 2...Ba6*b5 3.Qc3-d4 + 3...Kd5*d4 # 1...Rc5*b5 2.Bc8*b7 + 2...Ba6*b7 3.Qc3-c4 + 3...Kd5*c4 # 1...Ba6*b5 2.Sc2-b4 + 2...a5*b4 3.Qc3-d4 + 3...Kd5*d4 #" --- authors: - Baird, Edith Elina Helen source: Rossendale Free Press date: 1892 algebraic: white: [Ke1, Qd7, Rc5, Rb1, Bb5, Ba1, Sc6, Sb4, Pg2, Pa2] black: [Kc3, Qc4, Rb2, Ba7, Pg3, Pe2, Pb6] stipulation: "s#3" solution: | "1.Qd7-e7 ! zugzwang. 1...Qc4*c5 2.Qe7-e3 + 2...Qc5*e3 3.Rb1-c1 + 3...Qe3*c1 # 1...b6*c5 2.Qe7-e3 + 2...Qc4-d3 3.Qe3-d2 + 3...Qd3*d2 # 1...Ba7-b8 2.Qe7-g7 + 2...Bb8-e5 3.Qg7*g3 + 3...Be5*g3 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1893 algebraic: white: [Ke3, Qa5, Rg6, Rc8, Bf8, Bc6, Sh7, Sd8, Pg7, Pg4, Pf3, Pf2, Pd2, Pb6, Pa6] black: [Ke5, Qa7, Bb5, Pg5] stipulation: "s#3" solution: | "1.Bc6-a8 ! zugzwang. 1...Qa7*b6 + 2.d2-d4 + 2...Qb6*d4 # 1...Qa7-b8 2.Bf8-d6 + 2...Qb8*d6 3.d2-d4 + 3...Qd6*d4 # 1...Qa7*a6 2.Qa5-a1 + 2...Qa6*a1 3.d2-d4 + 3...Qa1*d4 # 1...Qa7*a8 2.Rc8-c5 + 2...Qa8-d5 3.f3-f4 + 3...g5*f4 # 1...Qa7*g7 2.Rg6*g5 + 2...Qg7*g5 + 3.f3-f4 + 3...Qg5*f4 # 1...Qa7-f7 2.Rc8-c5 + 2...Qf7-d5 3.f3-f4 + 3...g5*f4 # 1...Qa7-e7 2.Rc8-c5 + 2...Qe7*c5 + 3.d2-d4 + 3...Qc5*d4 # 1...Qa7-d7 2.d2-d4 + 2...Qd7*d4 # 1...Qa7-c7 2.Bf8-d6 + 2...Qc7*d6 3.d2-d4 + 3...Qd6*d4 # 1...Qa7-b7 2.Rc8-c5 + 2...Qb7-d5 3.f3-f4 + 3...g5*f4 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1895 algebraic: white: [Ke3, Qc7, Rh6, Rd3, Bh8, Ba2, Sg2, Sf7, Pf6, Pe4, Pe2, Pc6] black: [Ke6, Bb6, Sd8, Sa7, Pg5, Pg4, Pg3, Pe5, Pc5, Pc4] stipulation: "s#3" solution: | "1.Rh6-h7 ! zugzwang. 1...Bb6-a5 2.Qc7-c8 + 2...Sa7*c8 3.Sg2-f4 + 3...e5*f4 # 3...g5*f4 # 1...Bb6*c7 2.Rd3-d2 threat: 3.Sg2-f4 + 3...e5*f4 # 3...g5*f4 # 1...Sa7-b5 2.Qc7-d6 + 2...Sb5*d6 3.Ba2*c4 + 3...Sd6*c4 # 1...Sa7*c6 2.Qc7*e5 + 2...Sc6*e5 3.Ba2*c4 + 3...Se5*c4 # 1...Sa7-c8 2.Qc7-d6 + 2...Sc8*d6 3.Ba2*c4 + 3...Sd6*c4 # 1...Sd8-b7 2.Qc7-d6 + 2...Sb7*d6 3.Ba2*c4 + 3...Sd6*c4 # 1...Sd8*c6 2.Qc7*e5 + 2...Sc6*e5 3.Ba2*c4 + 3...Se5*c4 # 1...Sd8*f7 2.Qc7-d6 + 2...Sf7*d6 3.Ba2*c4 + 3...Sd6*c4 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine source-id: 807 date: 1892-02 algebraic: white: [Kb6, Qf7, Re8, Rc3, Bc5, Ba4, Sc8, Sb3, Pg4, Pc7, Pc2, Pa7, Pa6] black: [Ke4, Ba8, Se5, Sa3, Pf3, Pc6, Pc4] stipulation: "s#3" solution: | "1.Rc3-d3 ! threat: 2.Qf7*c4 + 2...Sa3*c4 # 1...Sa3-b1 2.Sb3-d2 + 2...Sb1*d2 3.Qf7*c4 + 3...Sd2*c4 # 1...Sa3*c2 2.Rd3-e3 + 2...Sc2*e3 3.Qf7*c4 + 3...Se3*c4 # 1...Sa3-b5 2.Sc8-d6 + 2...Sb5*d6 3.Qf7*c4 + 3...Sd6*c4 # 1...Ba8-b7 2.Ba4*c6 + 2...Bb7*c6 3.Qf7*c4 + 3...Sa3*c4 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1891 algebraic: white: [Kh6, Qg7, Rf8, Re3, Bc8, Bc3, Sd1, Sc6, Ph7, Pf2] black: [Kf4, Qa2, Bf7, Pd5, Pa3] stipulation: "s#3" solution: | "1.Sc6-e7 ! threat: 2.Se7*d5 + 2...Qa2*d5 3.Qg7-g5 + 3...Qd5*g5 # 1...Qa2-b1 2.Qg7-f6 + 2...Qb1-f5 3.Qf6-g5 + 3...Qf5*g5 # 1...Qa2-a1 2.Bc3-e5 + 2...Qa1*e5 3.Qg7-g5 + 3...Qe5*g5 # 1...Qa2*f2 2.Qg7-g3 + 2...Qf2*g3 3.Se7-g6 + 3...Qg3*g6 # 1...Qa2-e2 2.Qg7-g4 + 2...Qe2*g4 3.Se7-g6 + 3...Qg4*g6 # 1...Qa2-c2 2.Qg7-f6 + 2...Qc2-f5 3.Qf6-g5 + 3...Qf5*g5 # 1...Qa2-b2 2.Bc3-e5 + 2...Qb2*e5 3.Qg7-g5 + 3...Qe5*g5 #" --- authors: - Baird, Edith Elina Helen source: East Central Times date: 1890 algebraic: white: [Kb5, Bd2, Sf7, Sf2, Pg4] black: [Kd4, Pd5, Pd3] stipulation: "#4" solution: | "1.Sf2-h3 ! zugzwang. 1...Kd4-e4 2.Sh3-g5 + 2...Ke4-d4 3.Sg5-f3 + 3...Kd4-e4 4.Sf7-g5 #" --- authors: - Baird, Edith Elina Helen source: Reading Observer date: 1900 algebraic: white: [Kh2, Rf2, Be1, Ba6, Sc7, Pg4, Pf4, Pf3, Pe2, Pd2, Pc3, Pa5, Pa2] black: [Kc5, Pf6, Pc6] stipulation: "#4" solution: | "1.Sc7-e8 ! threat: 2.e2-e4 threat: 3.d2-d4 # 1...Kc5-d5 2.f4-f5 zugzwang. 2...Kd5-e5 3.d2-d4 + 3...Ke5-d5 4.e2-e4 # 3...Ke5-f4 4.Be1-d2 # 2...Kd5-c5 3.d2-d4 + 3...Kc5-d5 4.e2-e4 # 2...c6-c5 3.Ba6-b7 + 3...Kd5-e5 4.f3-f4 # 3...Kd5-c4 4.Se8-d6 # 1...f6-f5 2.g4*f5 threat: 3.d2-d4 + 3...Kc5-d5 4.e2-e4 # 2...Kc5-d5 3.e2-e4 + 3...Kd5-c5 4.d2-d4 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1892 algebraic: white: [Kd1, Bc5, Sf8, Se3, Ph5, Pg2, Pf6, Pb4, Pb2] black: [Ke5, Ph6, Pg3, Pe4, Pd2] stipulation: "#4" solution: | "1.Bc5-e7 ! zugzwang. 1...Ke5-d4 2.Kd1*d2 zugzwang. 2...Kd4-e5 3.f6-f7 zugzwang. 3...Ke5-f4 4.Sf8-g6 # 3...Ke5-d4 4.Be7-f6 # 1...Ke5-f4 2.Sf8-g6 + 2...Kf4*e3 3.Be7-c5 + 3...Ke3-d3 4.Sg6-e5 # 2...Kf4-g5 3.f6-f7 + 3...Kg5*h5 4.Sg6-f4 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1890 algebraic: white: [Kd1, Bd2, Sd7, Sd6, Pg3, Pg2, Pd4, Pb5, Pa3, Pa2] black: [Kd3, Pd5] stipulation: "#4" solution: | "1.Sd6-f5 ! zugzwang. 1...Kd3-c4 2.a3-a4 threat: 3.Sd7-e5 # 2...Kc4-d3 3.g3-g4 zugzwang. 3...Kd3-e4 4.Sd7-c5 # 3...Kd3-c4 4.Sd7-e5 # 1...Kd3-e4 2.g3-g4 threat: 3.Sd7-c5 # 2...Ke4-d3 3.a3-a4 zugzwang. 3...Kd3-c4 4.Sd7-e5 # 3...Kd3-e4 4.Sd7-c5 #" --- authors: - Baird, Edith Elina Helen source: Chess Review date: 1902 algebraic: white: [Kg3, Rh7, Be4, Bd4, Pd5, Pa3, Pa2] black: [Kd6, Pd3] stipulation: "#4" solution: | "1.Be4-f3 ! zugzwang. 1...d3-d2 2.Bf3-d1 zugzwang. 2...Kd6*d5 3.Rh7-d7 + 3...Kd5-c6 4.Bd1-a4 # 3...Kd5-e6 4.Bd1-g4 # 3...Kd5-e4 4.Bd1-c2 # 3...Kd5-c4 4.Bd1-e2 #" --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1900 algebraic: white: [Kc7, Rf3, Bf5, Sf7, Pg5, Pg2, Pf2, Pe5, Pb4, Pa5] black: [Kd5] stipulation: "#4" solution: | "1.Sf7-d6 ! threat: 2.Rf3-f4 zugzwang. 2...Kd5*e5 3.Rf4-e4 + 3...Ke5-d5 4.Bf5-e6 # 1...Kd5*e5 2.g2-g3 zugzwang. 2...Ke5-d5 3.Rf3-d3 + 3...Kd5-e5 4.f2-f4 # 2...Ke5-d4 3.Rf3-d3 + 3...Kd4-e5 4.f2-f4 # 1...Kd5-d4 2.Rf3-e3 zugzwang. 2...Kd4-d5 3.f2-f4 threat: 4.Re3-d3 #" --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1893 algebraic: white: [Kf3, Re4, Be1, Pf5, Pe2, Pc4, Pb5, Pa2] black: [Kc5, Pb6, Pa4, Pa3] stipulation: "#4" solution: | "1.Be1-h4 ! threat: 2.Bh4-e7 # 1...Kc5-d6 2.Re4-e7 zugzwang. 2...Kd6-c5 3.Re7-c7 + 3...Kc5-d6 4.Bh4-g3 # 3...Kc5-d4 4.Bh4-f6 # 3...Kc5-b4 4.Bh4-e1 # 1...Kc5-b4 2.Bh4-f6 zugzwang. 2...Kb4-a5 3.Bf6-c3 # 2...Kb4-c5 3.Bf6-e7 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1890 algebraic: white: [Ka5, Bd3, Bc1, Sg7, Pg5, Pg3, Pf3, Pd6, Pc2, Pb4] black: [Kd4, Pf5, Pd7, Pd5] stipulation: "#4" solution: | "1.Sg7-e8 ! threat: 2.Se8-c7 threat: 3.f3-f4 threat: 4.Sc7-b5 # 2...Kd4-e5 3.Bc1-f4 + 3...Ke5-d4 4.Sc7-b5 # 2...f5-f4 3.g3*f4 threat: 4.Sc7-b5 # 2.f3-f4 threat: 3.Se8-c7 threat: 4.Sc7-b5 # 1...Kd4-e5 2.f3-f4 + 2...Ke5-e6 3.g5-g6 zugzwang. 3...d5-d4 4.Bd3-c4 # 2...Ke5-d4 3.Se8-c7 threat: 4.Sc7-b5 # 1...Kd4-c3 2.Se8-c7 threat: 3.Sc7-b5 # 2...Kc3-d4 3.f3-f4 threat: 4.Sc7-b5 # 1...f5-f4 2.Se8-c7 threat: 3.g3*f4 threat: 4.Sc7-b5 # 2...Kd4-e5 3.Bc1*f4 + 3...Ke5-d4 4.Sc7-b5 # 2...f4*g3 3.f3-f4 threat: 4.Sc7-b5 # 2.g3*f4 threat: 3.Se8-c7 threat: 4.Sc7-b5 #" --- authors: - Baird, Edith Elina Helen source: Hackney Mercury date: 1893 algebraic: white: [Kb5, Rg3, Sb3, Pg5, Pg4, Pf2, Pe5, Pb2] black: [Kd5, Pe6] stipulation: "#4" solution: | "1.Sb3-c5 ! threat: 2.f2-f4 threat: 3.Rg3-d3 # 1...Kd5*e5 2.Kb5-c6 zugzwang. 2...Ke5-f4 3.Sc5*e6 + 3...Kf4-e4 4.Rg3-e3 # 3...Kf4-e5 4.Rg3-e3 # 2...Ke5-d4 3.Rg3-e3 threat: 4.Re3-e4 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1898 algebraic: white: [Kb5, Bf5, Bc5, Sh6, Pe2, Pc3] black: [Kd5, Pf6] stipulation: "#4" solution: | "1.Bc5-b6 ! threat: 2.Bb6-d8 threat: 3.e2-e4 + 3...Kd5-e5 4.Bd8-c7 # 3...Kd5-d6 4.Sh6-f7 # 2...Kd5-e5 3.Bd8-c7 + 3...Ke5-d5 4.e2-e4 # 2.e2-e4 + 2...Kd5-d6 3.Sh6-g8 zugzwang. 3...Kd6-e5 4.Bb6-c7 # 3.Bb6-d8 threat: 4.Sh6-f7 # 3...Kd6-e5 4.Bd8-c7 # 2...Kd5-e5 3.Bb6-c7 # 1...Kd5-d6 2.Bb6-d8 threat: 3.Sh6-f7 + 3...Kd6-d5 4.e2-e4 # 3.e2-e4 threat: 4.Sh6-f7 # 3...Kd6-e5 4.Bd8-c7 # 2...Kd6-d5 3.e2-e4 + 3...Kd5-e5 4.Bd8-c7 # 3...Kd5-d6 4.Sh6-f7 # 2...Kd6-e5 3.Bd8-c7 + 3...Ke5-d5 4.e2-e4 #" --- authors: - Baird, Edith Elina Helen source: Hackney Mercury date: 1893 algebraic: white: [Kb3, Bb6, Bb1, Sd8, Pf5, Pe2, Pb4] black: [Kd5, Pd6] stipulation: "#4" solution: | "1.Bb6-e3 ! threat: 2.Be3-f4 threat: 3.e2-e4 + 3...Kd5-d4 4.Sd8-c6 # 4.Sd8-e6 # 1...Kd5-e5 2.Be3-g5 zugzwang. 2...Ke5-d4 3.e2-e4 threat: 4.Sd8-c6 # 2...Ke5-d5 3.e2-e4 + 3...Kd5-e5 4.Sd8-c6 # 3...Kd5-d4 4.Sd8-c6 # 2...d6-d5 3.Sd8-f7 + 3...Ke5-d4 4.e2-e3 #" --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1896 algebraic: white: [Kg1, Bh6, Bd3, Sd8, Ph3, Pf3, Pe5, Pc5, Pb3, Pb2, Pa4] black: [Kd5, Ph5, Ph4, Pd4] stipulation: "#4" solution: | "1.a4-a5 ! zugzwang. 1...Kd5*e5 2.Bh6-g7 + 2...Ke5-f4 3.Kg1-f2 threat: 4.Sd8-e6 # 2...Ke5-d5 3.Bd3-c4 + 3...Kd5*c5 4.Bg7-f8 # 1...Kd5*c5 2.Bd3-c4 threat: 3.Bh6-f8 # 2...d4-d3 3.Bh6-e3 + 3...Kc5-b4 4.Sd8-c6 # 2...Kc5-b4 3.Sd8-b7 threat: 4.Bh6-d2 # 4.Bh6-f8 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1890 algebraic: white: [Kf6, Be2, Sd8, Sc7, Ph3, Pd2, Pb3, Pa5, Pa3] black: [Kc5, Pe6, Pa6] stipulation: "#4" solution: | "1.Kf6-e7 ! threat: 2.Sd8*e6 + 2...Kc5-c6 3.Be2-f3 # 1...Kc5-d4 2.Sd8-c6 + 2...Kd4-e4 3.Sc7*e6 zugzwang. 3...Ke4-d5 4.Be2-f3 # 3...Ke4-f5 4.Be2-d3 # 2...Kd4-c5 3.Ke7-d7 threat: 4.b3-b4 # 4.d2-d4 # 3...e6-e5 4.b3-b4 # 1...e6-e5 2.Sd8-e6 + 2...Kc5-c6 3.Be2-f3 + 3...e5-e4 4.Bf3*e4 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1894 algebraic: white: [Kc4, Bd8, Sg5, Sb8, Ph2, Pg4, Pf2] black: [Ke5, Pc6, Pc5] stipulation: "#4" solution: | "1.Sb8-a6 ! zugzwang. 1...Ke5-f4 2.h2-h3 zugzwang. 2...Kf4-e5 3.Sa6*c5 zugzwang. 3...Ke5-d6 4.Sg5-f7 # 3...Ke5-f4 4.Sc5-d3 # 1...Ke5-d6 2.Sa6*c5 threat: 3.Sg5-f7 # 2...Kd6-e5 3.h2-h3 zugzwang. 3...Ke5-f4 4.Sc5-d3 # 3...Ke5-d6 4.Sg5-f7 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1901 algebraic: white: [Kf3, Be8, Ba3, Sd2, Ph5, Pe5, Pc5, Pc3, Pa5] black: [Kd5, Pe6, Pd3] stipulation: "#4" solution: | "1.Ba3-b2 ! zugzwang. 1...Kd5*e5 2.c3-c4 + 2...Ke5-f5 3.Sd2-e4 threat: 4.Be8-g6 # 3...e6-e5 4.Be8-d7 # 1...Kd5*c5 2.Kf3-e3 zugzwang. 2...Kc5-d5 3.c3-c4 + 3...Kd5-c5 4.Bb2-a3 #" --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1890 algebraic: white: [Ke8, Bd2, Sd8, Sd6, Ph5, Pf2, Pb2] black: [Kd4, Pf4, Pd5, Pd3] stipulation: "#4" solution: | "1.Ke8-d7 ! zugzwang. 1...Kd4-e5 2.Sd8-f7 + 2...Ke5-f6 3.Bd2-c3 + 3...d5-d4 4.Bc3*d4 # 2...Ke5-d4 3.Kd7-c6 threat: 4.Bd2-c3 # 1...Kd4-c5 2.Bd2-a5 threat: 3.Sd8-e6 # 2...Kc5-d4 3.Sd8-c6 + 3...Kd4-c5 4.b2-b4 # 2...d5-d4 3.Kd7-e6 threat: 4.b2-b4 # 1...f4-f3 2.Bd2-e3 + 2...Kd4-e5 3.Sd8-f7 + 3...Ke5-f6 4.Be3-d4 #" --- authors: - Baird, Edith Elina Helen source: Hackney Mercury date: 1891 algebraic: white: [Ke2, Bc6, Sh6, Sa5, Ph5, Ph3, Pf2, Pe3, Pd2, Pb4] black: [Ke5, Pe6, Pc7] stipulation: "#4" solution: | "1.Sh6-g8 ! zugzwang. 1...Ke5-d6 2.d2-d4 zugzwang. 2...e6-e5 3.d4-d5 threat: 4.Sa5-c4 # 4.Sa5-b7 # 3...e5-e4 4.Sa5-c4 # 1...Ke5-f5 2.f2-f4 threat: 3.Ke2-d3 threat: 4.Bc6-e4 # 3...e6-e5 4.Bc6-d7 # 3.Ke2-f3 threat: 4.Bc6-e4 # 4.e3-e4 # 3...e6-e5 4.Bc6-d7 # 3.d2-d3 threat: 4.Bc6-e4 # 3...e6-e5 4.Bc6-d7 # 2...e6-e5 3.Bc6-d7 + 3...Kf5-e4 4.Sg8-f6 #" --- authors: - Baird, Edith Elina Helen source: Brighton & Hove Society date: 1901 algebraic: white: [Kd8, Bg1, Se3, Sa7, Pg3, Pf5, Pd2, Pa6, Pa4] black: [Kd6, Pg4, Pf6, Pc5] stipulation: "#4" solution: | "1.d2-d3 ! threat: 2.Se3-c4 + 2...Kd6-d5 3.Sa7-c8 threat: 4.Sc8-e7 # 1...Kd6-e5 2.Sa7-c6 + 2...Ke5-d6 3.Sc6-e7 threat: 4.Se3-c4 #" --- authors: - Baird, Edith Elina Helen source: Pen and Pencil date: 1889 algebraic: white: [Kd7, Bd3, Sf7, Sd5, Pe6, Pc6, Pc4, Pc2] black: [Kd4, Pe7, Pc7] stipulation: "#4" solution: | "1.Sf7-g5 ! zugzwang. 1...Kd4-e5 2.Sg5-f3 # 1...Kd4-c5 2.Sg5-e4 + 2...Kc5-d4 3.Se4-d2 zugzwang. 3...Kd4-e5 4.Sd2-f3 # 3...Kd4-c5 4.Sd2-b3 #" keywords: - Letters --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1891 algebraic: white: [Ke7, Be2, Sd8, Ph4, Ph2, Pg3, Pd6, Pd2, Pc3, Pa5, Pa2] black: [Kc5, Pa4, Pa3] stipulation: "#4" solution: | "1.c3-c4 ! zugzwang. 1...Kc5-d4 2.Sd8-c6 + 2...Kd4-e4 3.h2-h3 zugzwang. 3...Ke4-f5 4.Be2-d3 # 2...Kd4-c5 3.d2-d4 + 3...Kc5*c6 4.Be2-f3 # 1...Kc5-b4 2.Sd8-c6 + 2...Kb4-c5 3.d2-d4 + 3...Kc5*c6 4.Be2-f3 #" --- authors: - Baird, Edith Elina Helen source: Hackney Mercury date: 1892 algebraic: white: [Kd1, Be3, Bb1, Sg7, Ph3, Pf2, Pd3, Pb5] black: [Kd5, Pf6, Pf3, Pd6] stipulation: "#4" solution: | "1.Kd1-d2 ! zugzwang. 1...f6-f5 2.Kd2-c3 threat: 3.Be3-d4 threat: 4.Bb1-a2 # 2...f5-f4 3.Bb1-a2 + 3...Kd5-e5 4.Be3-d4 # 1...Kd5-e5 2.d3-d4 + 2...Ke5-d5 3.Kd2-d3 threat: 4.Bb1-a2 #" --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1901 algebraic: white: [Ke8, Bf5, Sf4, Sb3, Pe2, Pb5] black: [Kd6, Pf6, Pb6] stipulation: "#4" solution: | "1.Sf4-e6 ! threat: 2.Sb3-d2 threat: 3.e2-e4 threat: 4.Sd2-c4 # 2.e2-e4 threat: 3.Sb3-d2 threat: 4.Sd2-c4 # 1...Kd6-d5 2.Sb3-d2 threat: 3.e2-e4 + 3...Kd5-e5 4.Sd2-c4 # 3...Kd5-d6 4.Sd2-c4 # 1...Kd6-e5 2.e2-e4 threat: 3.Sb3-d2 threat: 4.Sd2-c4 #" --- authors: - Baird, Edith Elina Helen source: The Chess Amateur source-id: 497 date: 1924-04 algebraic: white: [Ke8, Rf7, Sh7, Sf5] black: [Kg6] stipulation: "#4" solution: | "1.Sf5-g3 ! threat: 2.Ke8-f8 threat: 3.Kf8-g8 threat: 4.Rf7-f6 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1902 algebraic: white: [Kc4, Qg7, Rf4, Re1, Bh3, Bb4, Sh6, Se8, Pd6, Pd4, Pd3, Pb5] black: [Ke6, Rg4, Bh1, Se4, Pd7, Pb6] stipulation: "s#5" solution: | "1.Bb4-c3 ! threat: 2.Rf4-f1 threat: 3.Re1*e4 + 3...Bh1*e4 4.d4-d5 + 4...Be4*d5 # 2.Rf4-f2 threat: 3.Re1*e4 + 3...Bh1*e4 4.d4-d5 + 4...Be4*d5 # 2.Rf4-f8 threat: 3.Re1*e4 + 3...Bh1*e4 4.d4-d5 + 4...Be4*d5 # 2.Rf4-f7 threat: 3.Re1*e4 + 3...Bh1*e4 4.d4-d5 + 4...Be4*d5 # 1...Bh1-f3 2.Re1*e4 + 2...Bf3*e4 3.Qg7-g6 + 3...Be4*g6 4.Rf4-e4 + 4...Bg6*e4 5.d4-d5 + 5...Be4*d5 # 1...Bh1-g2 2.Re1*e4 + 2...Bg2*e4 3.Qg7-g6 + 3...Be4*g6 4.Rf4-e4 + 4...Bg6*e4 5.d4-d5 + 5...Be4*d5 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1893 algebraic: white: [Ka1, Bd7, Sh3, Sc8, Pe3, Pd3, Pc6, Pb4] black: [Kd5, Pc7] stipulation: "#5" solution: | "1.Sh3-f2 ! zugzwang. 1...Kd5-e5 2.Sf2-g4 + 2...Ke5-d5 3.Sc8-e7 + 3...Kd5-d6 4.Se7-f5 + 4...Kd6-d5 5.e3-e4 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1902 algebraic: white: [Kg1, Rd3, Ra5, Be4, Sf7, Sc8, Ph2, Pb4, Pb2, Pa3] black: [Kc4, Bh8, Ph3, Pg2, Pe5, Pd4, Pb5] stipulation: "s#5" solution: | "1.Ra5-a7 ! threat: 2.Sf7*e5 + 2...Bh8*e5 3.Ra7-c7 + 3...Be5*c7 4.Sc8-b6 + 4...Bc7*b6 5.Rd3-c3 + 5...d4*c3 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1894 algebraic: white: [Kf3, Bg3, Sg7, Sa6, Pg4, Pd3, Pb5] black: [Kd5, Pg5] stipulation: "#5" solution: | "1.Kf3-e2 ! threat: 2.Ke2-d2 zugzwang. 2...Kd5-d4 3.Sg7-e6 + 3...Kd4-d5 4.Sa6-c7 # 1...Kd5-d4 2.Ke2-d2 threat: 3.Sg7-e6 + 3...Kd4-d5 4.Sa6-c7 # 2...Kd4-d5 3.Bg3-h2 zugzwang. 3...Kd5-d4 4.Sg7-e6 + 4...Kd4-d5 5.Sa6-c7 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1892 algebraic: white: [Kc2, Bf2, Sg5, Sf5, Pd6, Pd2, Pa5, Pa4, Pa3] black: [Kc4, Pd7] stipulation: "#5" solution: | "1.a5-a6 ! threat: 2.a6-a7 threat: 3.Bf2-d4 threat: 4.d2-d3 + 4...Kc4-d5 5.a7-a8=Q # 5.a7-a8=B # 3.d2-d4 zugzwang. 3...Kc4-d5 4.a7-a8=Q + 4...Kd5-c4 5.Qa8-g8 # 3.d2-d3 + 3...Kc4-d5 4.Bf2-d4 threat: 5.a7-a8=Q # 5.a7-a8=B # 2...Kc4-d5 3.Bf2-d4 threat: 4.a7-a8=Q + 4...Kd5-c4 5.Qa8-g8 # 5.d2-d3 # 4.a7-a8=B + 4...Kd5-c4 5.d2-d3 # 4.d2-d3 threat: 5.a7-a8=Q # 5.a7-a8=B # 4.Kc2-c3 threat: 5.a7-a8=Q # 5.a7-a8=B # 4.Kc2-b3 threat: 5.a7-a8=Q # 5.a7-a8=B # 4.Kc2-d3 threat: 5.a7-a8=Q # 5.a7-a8=B # 3...Kd5-c4 4.d2-d3 + 4...Kc4-d5 5.a7-a8=Q # 5.a7-a8=B # 2.Bf2-d4 threat: 3.a6-a7 threat: 4.d2-d3 + 4...Kc4-d5 5.a7-a8=Q # 5.a7-a8=B # 3.d2-d3 + 3...Kc4-d5 4.a6-a7 threat: 5.a7-a8=Q # 5.a7-a8=B # 2...Kc4-d5 3.a6-a7 threat: 4.a7-a8=Q + 4...Kd5-c4 5.Qa8-g8 # 5.d2-d3 # 4.a7-a8=B + 4...Kd5-c4 5.d2-d3 # 4.d2-d3 threat: 5.a7-a8=Q # 5.a7-a8=B # 4.Kc2-c3 threat: 5.a7-a8=Q # 5.a7-a8=B # 4.Kc2-b3 threat: 5.a7-a8=Q # 5.a7-a8=B # 4.Kc2-d3 threat: 5.a7-a8=Q # 5.a7-a8=B # 3...Kd5-c4 4.d2-d3 + 4...Kc4-d5 5.a7-a8=Q # 5.a7-a8=B # 1...Kc4-d5 2.Bf2-d4 threat: 3.a6-a7 threat: 4.a7-a8=Q + 4...Kd5-c4 5.Qa8-g8 # 5.d2-d3 # 4.a7-a8=B + 4...Kd5-c4 5.d2-d3 # 4.d2-d3 threat: 5.a7-a8=Q # 5.a7-a8=B # 4.Kc2-c3 threat: 5.a7-a8=Q # 5.a7-a8=B # 4.Kc2-b3 threat: 5.a7-a8=Q # 5.a7-a8=B # 4.Kc2-d3 threat: 5.a7-a8=Q # 5.a7-a8=B # 3...Kd5-c4 4.d2-d3 + 4...Kc4-d5 5.a7-a8=Q # 5.a7-a8=B # 2...Kd5-c6 3.d2-d3 zugzwang. 3...Kc6-d5 4.a6-a7 threat: 5.a7-a8=Q # 5.a7-a8=B # 3.Kc2-c3 zugzwang. 3...Kc6-d5 4.a6-a7 threat: 5.a7-a8=Q # 5.a7-a8=B # 3.Kc2-b3 zugzwang. 3...Kc6-d5 4.a6-a7 threat: 5.a7-a8=Q # 5.a7-a8=B # 3.Kc2-d3 zugzwang. 3...Kc6-d5 4.a6-a7 threat: 5.a7-a8=Q # 5.a7-a8=B # 1.Bf2-a7 ! threat: 2.Sf5-e3 # 1...Kc4-d5 2.d2-d4 zugzwang. 2...Kd5-c6 3.a5-a6 zugzwang. 3...Kc6-d5 4.Ba7-c5 zugzwang. 4...Kd5-c6 5.Sf5-e7 # 4...Kd5-c4 5.Sf5-e3 # 2...Kd5-c4 3.Sf5-e3 # 1.Bf2-d4 ! threat: 2.a5-a6 threat: 3.a6-a7 threat: 4.d2-d3 + 4...Kc4-d5 5.a7-a8=Q # 5.a7-a8=B # 3.d2-d3 + 3...Kc4-d5 4.a6-a7 threat: 5.a7-a8=Q # 5.a7-a8=B # 2...Kc4-d5 3.a6-a7 threat: 4.a7-a8=Q + 4...Kd5-c4 5.Qa8-g8 # 5.d2-d3 # 4.a7-a8=B + 4...Kd5-c4 5.d2-d3 # 4.d2-d3 threat: 5.a7-a8=Q # 5.a7-a8=B # 4.Kc2-c3 threat: 5.a7-a8=Q # 5.a7-a8=B # 4.Kc2-b3 threat: 5.a7-a8=Q # 5.a7-a8=B # 4.Kc2-d3 threat: 5.a7-a8=Q # 5.a7-a8=B # 3...Kd5-c4 4.d2-d3 + 4...Kc4-d5 5.a7-a8=Q # 5.a7-a8=B # 1.d2-d3 + ! 1...Kc4-d5 2.Bf2-d4 zugzwang. 2...Kd5-c6 3.a5-a6 zugzwang. 3...Kc6-d5 4.a6-a7 threat: 5.a7-a8=Q # 5.a7-a8=B #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1902 algebraic: white: [Kd3, Rh7, Bh5, Bd4, Sd7, Sb4, Pg4, Pf6, Pc2, Pb6] black: [Kc8, Ba6, Pc3, Pb7, Pb5] stipulation: "s#5" solution: | "1.Bd4-e3 ! threat: 2.Rh7-h8 + 2...Kc8*d7 3.Bh5-f7 zugzwang. 3...Kd7-d6 4.Rh8-d8 + 4...Kd6-e5 5.Sb4-d5 5...b5-b4 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1898 algebraic: white: [Kd6, Bc6, Sf7, Pa3] black: [Kb6, Ph4, Ph3, Pa6, Pa5, Pa4] stipulation: "#5" solution: | "1.Sf7-e5 ! threat: 2.Se5-c4 + 2...Kb6-a7 3.Kd6-c7 threat: 4.Sc4-d6 threat: 5.Sd6-c8 # 4.Sc4-b6 threat: 5.Sb6-c8 # 2.Se5-g6 threat: 3.Sg6-e7 threat: 4.Se7-c8 # 3...Kb6-a7 4.Kd6-c7 threat: 5.Se7-c8 # 2...Kb6-a7 3.Kd6-c7 threat: 4.Sg6-e7 threat: 5.Se7-c8 # 2.Se5-d7 + 2...Kb6-a7 3.Kd6-c7 threat: 4.Sd7-b6 threat: 5.Sb6-c8 # 1...h3-h2 2.Se5-d7 + 2...Kb6-a7 3.Bc6-h1 zugzwang. 3...h4-h3 4.Kd6-c6 zugzwang. 4...Ka7-a8 5.Kc6-b6 # 1...Kb6-a7 2.Se5-d7 threat: 3.Kd6-c7 threat: 4.Sd7-b6 threat: 5.Sb6-c8 # 2...h3-h2 3.Bc6-h1 zugzwang. 3...h4-h3 4.Kd6-c6 zugzwang. 4...Ka7-a8 5.Kc6-b6 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1902 algebraic: white: [Kg6, Qd8, Rb6, Bf7, Ba1, Sg3, Sa4, Ph7, Pf5, Pf2, Pb3] black: [Kd5, Se6, Sd7, Pg7, Pe5] stipulation: "s#6" solution: | "1.Rb6-a6 ! zugzwang. 1...e5-e4 2.Qd8-a5 + 2...Sd7-c5 3.Qa5-d2 + 3...Sc5-d3 4.Sg3-e2 zugzwang. 4...e4-e3 5.f2-f3 zugzwang. 5...e3*d2 6.Se2-f4 + 6...Sd3*f4 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1902 algebraic: white: [Kh3, Qf8, Rf5, Rc7, Bf7, Be5, Sg5, Sd4, Ph4, Ph2, Pf2] black: [Kd5, Qe6, Pf3] stipulation: "s#6" solution: | "1.Sd4-b3 ! threat: 2.Qf8-a3 zugzwang. 2...Qe6*f7 3.Be5-g3 + 3...Qf7*f5 # 2.Qf8-e7 zugzwang. 2...Qe6*f7 3.Be5-g3 + 3...Qf7*f5 # 2.Qf8-h6 zugzwang. 2...Qe6*f7 3.Be5-g3 + 3...Qf7*f5 # 2.Qf8-g7 zugzwang. 2...Qe6*f7 3.Be5-g3 + 3...Qf7*f5 # 2.Qf8-b8 zugzwang. 2...Qe6*f7 3.Be5-g3 + 3...Qf7*f5 # 2.Qf8-e8 zugzwang. 2...Qe6*f7 3.Be5-g3 + 3...Qf7*f5 # 2.Qf8-h8 zugzwang. 2...Qe6*f7 3.Be5-g3 + 3...Qf7*f5 # 1...Qe6*f7 2.Qf8-d8 + 2...Qf7-d7 3.Qd8-a8 + 3...Qd7-c6 4.Qa8-g8 + 4...Qc6-e6 5.Qg8-f7 zugzwang. 5...Qe6*f7 6.Be5-g3 + 6...Qf7*f5 #" --- authors: - Baird, Edith Elina Helen source: The Illustrated London News date: 1890-10-18 algebraic: white: [Kc4, Rf6, Sd4, Pf4, Pf2, Pa3] black: [Ke4] stipulation: "#4" solution: | "1.Kc4-c3 ! zugzwang. 1...Ke4-d5 2.Kc3-d3 zugzwang. 2...Kd5-c5 3.Kd3-e4 threat: 4.Rf6-c6 #" --- authors: - Baird, Edith Elina Helen source: The Chess Review date: 1893 algebraic: white: [Ke8, Se6, Sc3, Pg3, Pe4, Pd5] black: [Kd6] stipulation: "#5" solution: | "1.g3-g4 ! zugzwang. 1...Kd6-e5 2.g4-g5 zugzwang. 2...Ke5-d6 3.Sc3-b1 zugzwang. 3...Kd6-e5 4.Sb1-d2 zugzwang. 4...Ke5-d6 5.Sd2-c4 #" --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1902 algebraic: white: [Kc4, Rf1, Sd5, Pc5, Pc2] black: [Ke4] stipulation: "#4" solution: | "1.c5-c6 ! zugzwang. 1...Ke4-e5 2.Kc4-c5 zugzwang. 2...Ke5-e4 3.Kc5-d6 threat: 4.Rf1-f4 # 2...Ke5-e6 3.Kc5-d4 threat: 4.Rf1-f6 #" --- authors: - Baird, Edith Elina Helen source: Youth date: 1882 distinction: 2nd Prize, Set algebraic: white: [Kb6, Qh4, Ba2, Sf7, Sd1, Pf3] black: [Kd4, Bf4, Pf5, Pd6] stipulation: "#2" solution: | "1.Qf2+?? 1...Be3 2.Qxe3# but 1...Kd3! 1.Qe1?? (2.Qc3#) 1...Bd2 2.Qxd2# but 1...Kd3! 1.Bc4?? (2.Qxf4#) but 1...Kxc4! 1.Ne5! (2.Qxf4#) 1...Kxe5 2.Qh8# 1...dxe5 2.Qd8#" keywords: - Flight giving and taking key - Active sacrifice --- authors: - Baird, Edith Elina Helen source: Southern Counties' Chess Journal date: 1893 distinction: 1st Prize algebraic: white: [Kd2, Qf8, Sh6, Sb2, Ph5, Ph4, Pf3, Pe6, Pd5, Pc3] black: [Ke5, Bd1, Pg3, Pd3] stipulation: "#3" solution: | "1.Qf8-a8 ! threat: 2.Sb2*d3 + 2...Ke5-d6 3.Qa8-d8 # 2...Ke5-f6 3.Qa8-f8 # 2.Sb2-c4 + 2...Ke5-f6 3.Qa8-f8 # 2...Ke5-f4 3.Qa8-f8 # 1...Bd1*f3 2.Sb2*d3 + 2...Ke5-e4 3.d5-d6 # 2...Ke5-d6 3.Qa8-d8 # 2...Ke5-f6 3.Qa8-f8 # 1...Bd1-e2 2.Sb2-c4 + 2...Ke5-f6 3.Qa8-f8 # 2...Ke5-f4 3.Qa8-f8 # 1...Bd1-a4 2.Sb2-c4 + 2...Ke5-f6 3.Qa8-f8 # 2...Ke5-f4 3.Qa8-f8 # 1...Bd1-b3 2.Sb2*d3 + 2...Ke5-d6 3.Qa8-d8 # 2...Ke5-f6 3.Qa8-f8 # 1...Bd1-c2 2.Sb2-c4 + 2...Ke5-f6 3.Qa8-f8 # 2...Ke5-f4 3.Qa8-f8 # 1...g3-g2 2.Sb2*d3 + 2...Ke5-d6 3.Qa8-d8 # 2...Ke5-f6 3.Qa8-f8 # 1...Ke5-d6 2.Sb2-c4 + 2...Kd6-c7 3.d5-d6 # 2...Kd6-e7 3.Sh6-g8 # 2...Kd6-c5 3.Qa8-c6 # 1...Ke5-f6 2.Qa8-h8 + 2...Kf6-e7 3.Sh6-f5 # 1...Ke5-f4 2.Sb2*d3 + 2...Kf4*f3 3.d5-d6 #" --- authors: - Baird, Edith Elina Helen source: Montreal Gazette date: 1893 algebraic: white: [Kg3, Qb4, Ba7, Sd8, Sb5, Pg5, Pf6, Pf2, Pe6, Pe4, Pc2] black: [Ke5, Rc5, Sc4, Pd5] stipulation: "#2" solution: | "1...Nd2/Nd6/Ne3/Nb2/Nb6/Na3/Na5 2.f4#/Qd4# 1...dxe4 2.Qxc5# 1.Qc3+?? 1...d4 2.Qxd4# but 1...Kxe4! 1.Qxc5?? (2.Qxd5#/Qd4#) 1...Ne3/Nb6 2.Qd4# but 1...Kxe4! 1.f3?? zz 1...Rc6/Rc7/Rc8 2.Bd4# 1...Nd2/Nd6/Ne3/Nb2/Nb6/Na3/Na5 2.f4#/Qd4# 1...dxe4/d4 2.Qxc5# but 1...Rxb5! 1.Nd6! zz 1...Kd4 2.Nc6# 1...Kxd6 2.Bb8# 1...Nd2/Ne3/Nb2/Nb6/Na3/Na5 2.N6f7# 1...Nxd6/Rc6/Rc7/Rc8/Rb5/Ra5 2.f4# 1...dxe4/d4 2.Qxc5#" keywords: - Flight giving key - Flight giving and taking key - Black correction --- authors: - Baird, Edith Elina Helen source: date: 1902 algebraic: white: [Ka3, Rd7, Bh6, Bc4, Sg1, Sd6, Pg3, Pe5, Pc5, Pb2] black: [Kd4, Sc6] stipulation: "#2" solution: | "1...Kxe5 2.Bg7# 1.Ne2+?? 1...Kxe5 2.Bg7# but 1...Kxc5! 1.Rc7! zz 1...Kxe5 2.Bg7# 1...Kxc5 2.Be3# 1...Nd8/Ne7/Nb4/Nb8/Na5/Na7 2.Nf3# 1...Nxe5 2.Ne2#" keywords: - Black correction - Model mates --- authors: - Baird, Edith Elina Helen source: Vanity Fair date: 1889 algebraic: white: [Ka8, Qf8, Ra4, Bg2, Bf2, Sh7, Sb2, Ph6, Ph3, Pd5] black: [Ke5, Qa3, Bh8, Bf5, Sb4, Pd3, Pc7, Pc3, Pa6] stipulation: "#2" solution: | "1...Kf4 2.Nxd3# 1...c6/c5 2.Qb8# 1...Bg4/Bxh3/Bg6/Bxh7/Be6/Bd7/Bc8 2.Nc4# 1...Nc2/Nc6/Na2 2.Bg3# 1.Qf6+?? 1...Kf4 2.Nxd3# but 1...Bxf6! 1.Qxf5+?? 1...Kd6 2.Qe6# but 1...Kxf5! 1.Qe8+?? 1...Kf4 2.Qe3# 1...Kd6 2.Nc4# but 1...Be6! 1.Qg7+?? 1...Kf4 2.Qg3# 1...Kd6 2.Nc4# but 1...Bxg7! 1.Qe7+?? 1...Kf4 2.Qe3# but 1...Be6! 1.Qf7! (2.Qxc7#) 1...Kf4 2.Nxd3# 1...Kd6/Bg4/Bxh3/Bg6/Bxh7/Be4/Be6/Bd7/Bc8 2.Nc4# 1...Nc2/Nc6/Na2 2.Bg3# 1...Nxd5 2.Qxd5#" keywords: - Flight giving key - Black correction --- authors: - Baird, Edith Elina Helen source: Shoreditch Citizen date: 1889 algebraic: white: [Kc1, Qf2, Rb1, Ra6, Bb8, Sg5, Sa3, Pg3, Pe4, Pc2, Pb5] black: [Ke5, Ra8, Bh3, Sd6, Sc7, Pe6] stipulation: "#2" solution: | "1...Nde8/Nf7/Nc4[a]/Nc8/Nb7/Nce8/Nxa6 2.Nc4#[A] 1...Nd5[b] 2.Nc4#[A]/Bxd6#[B] 1...Nf5 2.Rxe6# 1...Ndxb5/Ncxb5 2.Rxb5#/Nc4#[A] 1.Bxc7? (2.Nc4#[A]/Bxd6#[B]) 1...Rxa6/Rd8 2.Nc4#[A] 1...Bf1 2.Bxd6#[B] but 1...Bf5! 1.c3?? (2.Qf4#/Qd4#) 1...Nd5[b] 2.Nc4#[A]/Qd4#/Bxd6#[B] 1...Nf5 2.Rxe6# 1...Ndxb5/Ncxb5 2.Rxb5#/Nc4#[A]/Qf4# 1...Bf5 2.Qd4# but 1...Nxe4! 1.Rb4?? (2.Qf4#/Qd4#) 1...Nc4[a] 2.Nxc4#[A] 1...Nd5[b] 2.Nf7#/Nc4#[A]/Qd4#/Bxd6#[B] 1...Bf5 2.Qd4# 1...Ncxb5/Ndxb5 2.Rxb5#/Nf7#/Nc4#[A]/Qf4# 1...Nf5 2.Rxe6# but 1...Nxe4! 1.Rxd6?? (2.Nc4#[A]/Qf4#/Qd4#) 1...Nd5[b] 2.Nc4#[A]/Rxd5#/Rxe6# 1...Bf1 2.Qf4#/Qd4#/Rxe6# 1...Bf5 2.Qd4# 1...Ra4 2.Qf4# 1...Rxa3 2.Qf4#/Qd4# 1...Nxb5 2.Rxb5#/Qf4#/Nc4#[A]/Rd5#/Rxe6# but 1...Kxd6! 1.c4[C]! (2.Qb2#) 1...Nxc4[a] 2.Nxc4#[A] 1...Nd5[b] 2.Bxd6#[B] 1...Nxe4 2.Nf7# 1...Nf5 2.Rxe6# 1...Ndxb5/Ncxb5 2.Rxb5#" keywords: - Active sacrifice - Rudenko --- authors: - Baird, Edith Elina Helen source: Vanity Fair date: 1889 algebraic: white: [Kb1, Qb3, Re4, Bh3, Bg3, Se8, Ph4, Pa4] black: [Kc6, Ra5, Bb6, Sg2, Pe7, Pc5, Pa6] stipulation: "#2" solution: | "1.Qxb6+?? 1...Kd5 2.Qb7#/Qe6# but 1...Kxb6! 1.Qf3! (2.Re3#/Re2#/Re1#/Re5#/Rxe7#/Rd4#/Rc4#/Rb4#/Rf4#) 1...Kd5/Rxa4/Rb5+/Bc7/Bd8/Ba7 2.Rb4# 1...Kb7 2.Rxe7# 1...Nxh4 2.Rxh4# 1...Nf4 2.Rxf4# 1...Ne1 2.Rxe1# 1...Ne3 2.Rxe3# 1...e6 2.Rd4# 1...e5 2.Rxe5# 1...c4 2.Rxc4#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: East Central Times date: 1890 algebraic: white: [Ka3, Qg1, Be4, Sd8, Pf7, Pf6, Pd4, Pc6] black: [Kd6, Qe7, Pe5, Pc7] stipulation: "#2" solution: | "1...Qe6 2.Nb7# 1...Qe8 2.fxe8N# 1...exd4 2.Qxd4# 1.f8Q?? (2.Qxe7#) but 1...Qxf8! 1.f8B?? (2.Bxe7#) 1...exd4 2.Qxd4# but 1...Qxf8! 1.Qg3?? zz 1...Qe6 2.Nb7# 1...Qe8 2.fxe8N# 1...Qd7/Qxf7/Qf8/Qxd8 2.Qxe5# but 1...Qxf6! 1.Qh2?? zz 1...Qe6 2.Nb7# 1...Qe8 2.fxe8N# 1...Qd7/Qxf7/Qf8/Qxd8 2.Qxe5# but 1...Qxf6! 1.Qg5! zz 1...exd4 2.Qd5# 1...Qe6 2.Nb7# 1...Qe8 2.fxe8N# 1...Qd7/Qxf7/Qf8/Qxd8 2.Qxe5# 1...Qxf6 2.Qxf6#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Field date: 1892 algebraic: white: [Kc1, Qf5, Rd8, Bh8, Sg7, Sa7, Pf2, Pc2, Pb3, Pa5] black: [Kd4, Sc7, Pe5, Pd5, Pb4] stipulation: "#2" solution: | "1...Kc3 2.Qd3# 1...e4 2.Ne6# 1.Nc6+?? 1...Kc3 2.Qf3#/Qh3#/Qd3# but 1...Kc5! 1.Ne6+?? 1...Kc3 2.Qf3#/Qh3#/Qd3# but 1...Nxe6! 1.Kd2?? zz 1...Ne6/Ne8/Nb5/Na6/Na8/e4 2.Nxe6# but 1...Kc5! 1.Kb2?? zz 1...Ne6/Ne8/Nb5/Na6/Na8/e4 2.Nxe6# but 1...Kc5! 1.Rc8?? zz 1...Kc3 2.Nb5#/Qd3# 1...Ne6/Ne8/Nb5/Na6/Na8 2.Nxe6#/Nb5#/Qd3# 1...e4 2.Ne6# but 1...Kc5! 1.Qf3?? (2.Qe3#) 1...e4 2.Ne6# but 1...Kc5! 1.Qg5?? (2.Qe3#) 1...e4 2.Ne6# but 1...Kc5! 1.Qh3?? (2.Qe3#) 1...e4 2.Ne6# but 1...Kc5! 1.Qc8! zz 1...Ke4 2.Qg4# 1...Kc3 2.Nb5# 1...Kc5/e4 2.Ne6# 1...Ne6/Ne8/Nb5/Na6/Na8 2.Qc4#" keywords: - Flight giving key - King Y-flight --- authors: - Baird, Edith Elina Helen source: Brooklyn Daily Eagle date: 1895 algebraic: white: [Kc7, Qb4, Rh5, Rb5, Bg7, Pf2] black: [Kd5, Pf5, Pf3, Pe7, Pe5, Pc5, Pb6] stipulation: "#2" solution: | "1...Ke6[a] 2.Qc4#[A] 1...e4[b] 2.Qb3#[B] 1...f4 2.Rxe5# 1.Bh8[C]? zz 1...Ke6[a] 2.Qc4#[A] 1...e4[b] 2.Qb3#[B] 1...f4 2.Rxe5# but 1...e6! 1.Rh4? (2.Qb3#[B]/Qc4#[A]) 1...Ke6[a] 2.Qc4#[A] 1...e4[b] 2.Qb3#[B] but 1...f4! 1.Rh1[D]? zz 1...Ke6[a] 2.Qc4#[A] 1...e4[b] 2.Qb3#[B] 1...e6 2.Rd1# but 1...f4! 1.Rh8[E]? zz 1...Ke6[a] 2.Qc4#[A] 1...e4[b] 2.Qb3#[B] 1...e6 2.Rd8# but 1...f4! 1.Rg5[F]? zz 1...Ke6[a] 2.Qc4#[A] 1...e4[b] 2.Qb3#[B] 1...f4 2.Rxe5# but 1...e6! 1.Kd7?? zz 1...e4[b] 2.Qb3#[B]/Qd4# 1...f4 2.Rxe5# but 1...e6! 1.Rxf5?? (2.Rxe5#) but 1...Ke6[a]! 1.Rxc5+?? 1...Ke6[a] 2.Qb3#[B]/Qc4#[A] but 1...bxc5! 1.Qb3+[B]?? 1...Ke4[c] 2.Qc4#[A] but 1...Kd4! 1.Qa4?? zz 1...Ke6[a] 2.Qc4#[A] 1...e4[b] 2.Qa2#/Qb3#[B] 1...f4 2.Rxe5# but 1...e6! 1.Qxc5+?? 1...Ke6[a] 2.Qc4#[A]/Qd5# 1...Ke4[c] 2.Qc4#[A]/Qe3# but 1...bxc5! 1.Qc3[G]! zz 1...Ke4[c]/Ke6[a] 2.Qc4#[A] 1...e4[b] 2.Qb3#[B] 1...f4 2.Rxe5# 1...e6 2.Qd3#" keywords: - Flight giving key - Rudenko --- authors: - Baird, Edith Elina Helen source: Womanhood date: 1899 algebraic: white: [Kc3, Rc7, Bf7, Be7, Pf3] black: [Ke5] stipulation: "#2" solution: | "1.Bg5! zz 1...Kf5 2.Rc5# 1...Kd6 2.Bf4#" keywords: - Flight giving and taking key - Model mates --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1901 algebraic: white: [Kg5, Ra5, Bg2, Ba1, Sd8, Sc3, Pf6, Pe4, Pe2, Pc6] black: [Ke5, Bc5, Pg3, Pe3, Pc4, Pa2] stipulation: "#2" solution: | "1...Kd4/Kd6 2.Nb5# 1.Nf7+?? 1...Kd4 2.Nb5# but 1...Ke6! 1.Nb7?? zz 1...Kd4 2.Nb5# but 1...Ke6! 1.c7?? zz 1...Kd4 2.Nc6#/Nb5# but 1...Kd6! 1.Rxc5+?? 1...Kd4 2.Ne6#/Rd5# but 1...Kd6! 1.Kg4?? zz 1...Kd4/Kd6 2.Nb5# but 1...Kxf6! 1.Kg6?? zz 1...Kd4/Kd6 2.Nb5# but 1...Kf4! 1.Kh4?? zz 1...Kf4 2.Nd5# 1...Kd4/Kd6 2.Nb5# but 1...Kxf6! 1.Kh6?? zz 1...Kxf6 2.Nd5# 1...Kd4/Kd6 2.Nb5# but 1...Kf4! 1.Bh1?? zz 1...Kd4/Kd6 2.Nb5# but 1...g2! 1.Bf3?? zz 1...Kd4/Kd6 2.Nb5# but 1...g2! 1.Nb5+?? 1...Bd4 2.Bxd4# but 1...c3! 1.f7?? zz 1...Kd4 2.Nb5# but 1...Kd6! 1.Kh5! zz 1...Kf4/Kxf6 2.Nd5# 1...Kd4/Kd6 2.Nb5#" keywords: - 2 flights giving key - King star flight - Block --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Courant date: 1893 algebraic: white: [Ka8, Qf2, Rh5, Bf5, Sg3, Sc8, Pf6, Pd6, Pd4, Pa4] black: [Kd5, Pc5] stipulation: "#2" solution: | "1...Kc6 2.Qf3#/Qg2# 1...c4 2.Bd7# 1.Ne7+?? 1...Kxd6 2.Qf4# but 1...Kc4! 1.Qe2?? zz 1...Kc6 2.Qe4#/Qg2#/Qf3# 1...cxd4 2.Qb5#/Bd7# 1...c4 2.Qe4# but 1...Kxd4! 1.Qd2?? zz 1...Kc4 2.Be6# 1...Kc6 2.d5#/Qg2# 1...c4 2.Bd7# but 1...cxd4! 1.Qc2?? (2.Qxc5#) 1...cxd4 2.Bg4#/Bh3#/Bd7# 1...c4 2.Qe4# but 1...Kxd4! 1.Bg4+?? 1...Kc6 2.Qf3#/Qg2#/d5#/Rxc5# but 1...Kc4! 1.Bh3+?? 1...Kc6 2.Qf3#/Qg2#/d5#/Rxc5# but 1...Kc4! 1.Bg6+?? 1...Ke6 2.Qf5# 1...Kc6 2.Be8# but 1...Kc4! 1.Bd3+?? 1...Kc6 2.Bb5# but 1...Ke6! 1.Be6+?? 1...Kc6 2.d5#/Qf3#/Qg2#/Rxc5# but 1...Kxe6! 1.dxc5?? zz 1...Ke5 2.Bg4#/Bh3#/Bd7# 1...Kc6 2.Ne7# but 1...Kc4! 1.Qb2! zz 1...Kc4 2.Nb6# 1...Kc6 2.Qb7#/Qg2# 1...cxd4 2.Qb5# 1...c4 2.Bd7#" --- authors: - Baird, Edith Elina Helen source: Pen & Pencil date: 1888 algebraic: white: [Ke3, Qb7, Rh5, Ra5] black: [Ke5, Pg5, Pf6, Pe6, Pd7, Pc5] stipulation: "#2" solution: | "1...Kf5/d6 2.Qe4# 1.Qc7+?? 1...Kd5 2.Rxc5#/Qxc5# 1...d6 2.Rxc5# but 1...Kf5! 1.Qxd7?? (2.Rxc5#) 1...f5 2.Qd4# but 1...Kf5! 1.Qb4! zz 1...Kd5/Kd6 2.Qxc5# 1...Kf5/d6 2.Qe4# 1...f5 2.Qd4# 1...d5 2.Qf4#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: A1 (New Zealand) date: 1895 algebraic: white: [Kd2, Qb6, Sg3, Sa3] black: [Kd5, Pe6, Pd7] stipulation: "#2" solution: | "1.Kd3?? zz 1...Ke5 2.Qd4# 1...d6 2.Qb5# but 1...e5! 1.Ke3?? zz 1...Ke5 2.Qd4# 1...d6 2.Qb5# but 1...e5! 1.Kc3?? zz 1...Ke5 2.Qd4# 1...d6 2.Qb5# but 1...e5! 1.Qb5+?? 1...Kd4 2.Nc2# but 1...Kd6! 1.Nc2! zz 1...Ke5 2.Qd4# 1...Kc4/e5 2.Ne3# 1...d6 2.Qb5#" keywords: - Flight giving key - Model mates --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1901 algebraic: white: [Kd7, Qb6, Bg1, Bb1, Se1, Sa3, Pd2] black: [Kd5, Qa5, Pe5, Pc6, Pb7, Pa6, Pa4] stipulation: "#2" solution: | "1...e4 2.Qd4# 1...c5 2.Qxb7#/Qd6#/Qe6# 1...Qc5/Qxd2 2.Qxc5# 1.Qxa5+?? 1...c5 2.Qxc5# but 1...b5! 1.Nc4! (2.Ne3#) 1...Kxc4 2.Ba2# 1...e4 2.Qd4# 1...c5 2.Qe6# 1...Qc5/Qc3/Qxd2 2.Qxc5# 1...Qxb6 2.Nxb6#" keywords: - Flight giving key - Active sacrifice - Barulin (A) --- authors: - Baird, Edith Elina Helen source: Liverpool Mercury date: 1895 algebraic: white: [Kb1, Qe7, Rg4, Ra5, Bg5, Bd1, Se3, Pc3] black: [Ke5, Re4, Bb8, Sg3, Sb4, Pg7, Pe6, Pd5] stipulation: "#2" solution: | "1...Bc7/Ba7 2.Qxc7# 1...Bd6 2.Qxg7# 1...g6 2.Bf6# 1...Nc2/Nc6/Nd3/Na2/Na6 2.Rxd5# 1...Rd4 2.cxd4# 1.Nc4+?? 1...Kf5 2.Qf7# but 1...Rxc4! 1.Bc2! zz 1...Bc7/Ba7 2.Qxc7# 1...Bd6 2.Qxg7# 1...g6 2.Bf6# 1...Nxc2/Nc6/Nd3/Na2/Na6 2.Rxd5# 1...Nh1/Nh5/Nf1/Nf5/Ne2 2.Rxe4# 1...Rxe3/Rf4 2.Bf4# 1...Rd4 2.cxd4# 1...Rc4 2.Nxc4# 1...Rxg4 2.Nxg4#" keywords: - Active sacrifice - Black correction --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times date: 1895 distinction: 2nd Prize algebraic: white: [Kg7, Rc1, Ra4, Bh1, Bb6, Sd4, Sb2, Ph2] black: [Ke5, Bb8, Sg1, Sa7, Pf5, Pe6] stipulation: "#2" solution: | "1.Rc1-d1 ! zugzwang. 1...Sg1-h3 2.Sd4-f3 # 1...Sg1-f3 2.Sd4*f3 # 1...Sg1-e2 2.Sd4-f3 # 1...Ke5-f4 2.Sd4-f3 # 1...Ke5-d6 2.Sd4-c6 # 1...f5-f4 2.Sb2-c4 # 1...Sa7-b5 2.Sd4-c6 # 1...Sa7-c6 2.Sd4*c6 # 1...Sa7-c8 2.Sd4-c6 # 1...Bb8-d6 2.Sb2-d3 # 1...Bb8-c7 2.Bb6*c7 #" keywords: - Black correction comments: - also in The Philadelphia Times (no. 1563), 23 February 1896 --- authors: - Baird, Edith Elina Helen source: Rossendale Free Press date: 1895 algebraic: white: [Kb7, Qh7, Ra4, Bg8, Sc7, Pe3, Pc6] black: [Ke5, Pf7, Pc4] stipulation: "#2" solution: | "1...f5 2.Qe7# 1.Ra5+?? 1...Kf6 2.Qxf7# but 1...Kd6! 1.Ne8! zz 1...Ke6/c3 2.Qe4# 1...Kd5 2.Qf5# 1...f6 2.Ra5# 1...f5 2.Qe7#" keywords: - Flight giving and taking key --- authors: - Baird, Edith Elina Helen source: Surrey Gazette date: 1892 algebraic: white: [Kh5, Qh6, Bd6, Bb7, Se2] black: [Kd5, Pe7, Pe4, Pd3, Pc6, Pc4] stipulation: "#2" solution: | "1.Bc8! (2.Qe6#) 1...dxe2 2.Qd2# 1...exd6 2.Qg5# 1...c5 2.Bb7#" keywords: - Model mates - Switchback --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1890 algebraic: white: [Kd7, Qb8, Rh5, Be6, Be1, Sd1, Sc4, Pg3, Pc2, Pb6, Pa4] black: [Kd4, Sg5, Pg4, Pe7, Pd6, Pc6] stipulation: "#2" solution: | "1.Qh8+?? 1...Ke4 2.Nd2# but 1...Kc5! 1.Qxd6+?? 1...Ke4 2.Qd3#/Qf4#/Nd2# but 1...exd6! 1.Bc3+?? 1...Ke4 2.Nd2# but 1...Kc5! 1.Nd2! zz 1...Ke5/c5/Nh3 2.Qh8# 1...Kc5/Ne4 2.Nb3# 1...Nh7/Nf3/Nf7/Nxe6/d5 2.Bf2#" keywords: - Flight giving and taking key - Black correction --- authors: - Baird, Edith Elina Helen source: The Times date: 1901 algebraic: white: [Kc7, Qa1, Bh4, Se1, Sd4, Pg3, Pf2, Pc4, Pb3] black: [Ke5, Rh5, Sg2, Ph7, Pg6, Pe6, Pe4, Pc5] stipulation: "#2" solution: | "1...cxd4 2.Qa5# 1...Rf5 2.Ne2#/Ndf3#/Ndc2#/Nc6#/Nb5# 1.Nxe6+?? 1...Kxe6 2.Qf6# but 1...Kf5! 1.Qa8! (2.Qh8#) 1...Kxd4 2.Qa1# 1...e3 2.Nef3# 1...cxd4 2.Qa5# 1...Rf5 2.Nc6#" keywords: - Flight giving key - Switchback --- authors: - Baird, Edith Elina Helen source: Eastern Daily Press date: 1901 algebraic: white: [Kb4, Qh5, Rb6, Bh8, Bb1, Se8, Se2, Pf4, Pe6, Pd2, Pc5] black: [Kd5, Bg5, Bg2, Sb7, Sa8, Ph6, Pf5, Pd4] stipulation: "#2" solution: | "1...Be4[a] 2.Ba2#[C] 1...Bxf4[b] 2.Nxf4#[E] 1...Nc7 2.Nxc7#[A] 1...Bh1 2.Qxh1# 1...Bh3/Bf1/Bf3 2.Qf3#[B] 1...d3 2.Nc3# 1...Bh4/Be7/Bd8 2.Qxf5#[D] 1...Bf6 2.Nxf6#[F] 1...Nxc5/Nd6/Nd8/Na5 2.Rd6#[G] 1.Bf6? zz 1...Be4[a] 2.Ba2#[C] 1...Bxf4[b] 2.Nxf4#[E] 1...Nc7 2.Nxc7#[A] 1...Bh1 2.Qxh1# 1...Bh3/Bf1/Bf3 2.Qf3#[B] 1...Bh4 2.Qxf5#[D] 1...Bxf6 2.Nxf6#[F] 1...d3 2.Nc3# 1...Nxc5/Nd6/Nd8/Na5 2.Rd6#[G] but 1...Nxb6! 1.Bxd4? zz 1...Be4[a] 2.Ba2#[C] 1...Bxf4[b]/Bf6 2.Nf6#[F] 1...Nc7 2.Nxc7#[A] 1...Bh1 2.Qxh1# 1...Bh3/Bf1/Bf3 2.Qf3#[B] 1...Bh4/Be7/Bd8 2.Qxf5#[D] 1...Nxc5/Nd6/Nd8/Na5 2.Rd6#[G] but 1...Nxb6! 1.Ng3? (2.Ba2#[C]) 1...Bf1 2.Qf3#[B] 1...Nxc5/Nd6/Na5 2.Rd6#[G] but 1...Nxb6! 1.Bc2? zz 1...Be4[a] 2.Bb3#[H] 1...Bxf4[b] 2.Nxf4#[E] 1...Nc7 2.Nxc7#[A] 1...Bh1 2.Qxh1# 1...Bh3/Bf1/Bf3 2.Qf3#[B] 1...d3 2.Nc3# 1...Nxc5/Nd6/Nd8/Na5 2.Rd6#[G] 1...Bh4/Be7/Bd8 2.Qxf5#[D] 1...Bf6 2.Nxf6#[F] but 1...Nxb6! 1.Bd3? zz 1...Be4[a] 2.Bc4#[I] 1...Bxf4[b] 2.Nxf4#[E] 1...Nc7 2.Nxc7#[A] 1...Bh1 2.Qxh1# 1...Bh3/Bf1/Bf3 2.Qf3#[B] 1...Bh4/Be7/Bd8 2.Qxf5#[D] 1...Bf6 2.Nxf6#[F] 1...Nxc5/Nd6/Nd8/Na5 2.Rd6#[G] but 1...Nxb6! 1.Bg7?? zz 1...Be4[a] 2.Ba2#[C] 1...Bxf4[b] 2.Nxf4#[E] 1...Nc7 2.Nxc7#[A] 1...Bh1 2.Qxh1# 1...Bh3/Bf1/Bf3 2.Qf3#[B] 1...Nxc5/Nd6/Nd8/Na5 2.Rd6#[G] 1...Bh4/Be7/Bd8 2.Qxf5#[D] 1...Bf6 2.Nxf6#[F] 1...d3 2.Nc3# but 1...Nxb6! 1.d3?? (2.Ba2#[C]) 1...Nxc5/Nd6/Na5 2.Rd6#[G] but 1...Nxb6! 1.Qxg5?? (2.Qxg2#/Qxf5#[D]/Nf6#[F]) 1...Be4[a] 2.Ba2#[C]/Nf6#[F] 1...Bh1/Bf1/Bf3 2.Nf6#[F]/Qxf5#[D] 1...Bh3/hxg5 2.Nf6#[F] 1...Nxc5 2.Nf6#[F]/Qxf5#[D]/Rd6#[G] 1...Nd6 2.Rxd6#[G] but 1...Nxb6! 1.Qf7?? (2.e7#/Qxf5#[D]/Qxb7#) 1...Be4[a] 2.Qxb7#/Ba2#[C]/e7# 1...Bxf4[b] 2.Qxb7#/Nxf4#[E]/e7# 1...Bh3 2.Qxb7#/e7# 1...Nc7 2.Nxc7#[A]/Qxf5#[D] 1...d3 2.Qxf5#[D]/Qxb7#/Nc3# 1...Bf6 2.Qxb7#/Nxf6#[F]/e7# 1...Be7 2.Qxf5#[D] 1...Nxc5 2.Qxf5#[D]/Rd6#[G] 1...Nd6 2.Rxd6#[G] 1...Nd8 2.Rd6#[G]/Qxf5#[D]/Qd7# 1...Na5 2.Qxf5#[D]/Qd7#/Rd6#[G]/e7# but 1...Nxb6! 1.e7?? (2.Qf7#) 1...Nc7 2.Nxc7#[A] 1...Nxc5/Nd6/Nd8 2.Rd6#[G] 1...d3 2.Nc3# but 1...Nxb6! 1.Ra6?? zz 1...Be4[a] 2.Ba2#[C] 1...Bxf4[b] 2.Nxf4#[E] 1...Nc7 2.Nxc7#[A] 1...d3 2.Nc3# 1...Bh1 2.Qxh1# 1...Bh3/Bf1/Bf3 2.Qf3#[B] 1...Bh4/Be7/Bd8 2.Qxf5#[D] 1...Bf6 2.Nxf6#[F] 1...Nxc5/Nd6/Nd8/Na5 2.Rd6#[G] but 1...Nb6! 1.Kb5! zz 1...Be4[a] 2.Ba2#[C] 1...Bxf4[b] 2.Nxf4#[E] 1...Bh1 2.Qxh1# 1...Bh3/Bf1/Bf3 2.Qf3#[B] 1...Nxc5/Nd6+/Nd8/Na5 2.Rd6#[G] 1...d3 2.Nc3# 1...Bh4/Be7/Bd8 2.Qxf5#[D] 1...Bf6 2.Nxf6#[F] 1...Nxb6/Nc7+ 2.Nc7#[A]" keywords: - Black correction - Changed mates - Transferred mates --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1889 algebraic: white: [Kd2, Qd1, Re3, Rc3, Bg3, Bd7, Se8, Sc8, Pf3, Pe7, Pc7, Pb3] black: [Kd5, Bd8, Sg5, Sa5, Pg7, Pf6, Pd4, Pb6, Pa7] stipulation: "#2" solution: | "1...Nh3/Nh7/Nf7/Ne6 2.Be6# 1...Nxf3+ 2.Qxf3# 1...Ne4+ 2.fxe4# 1...Nxb3+ 2.Qxb3# 1...Nb7/Nc6 2.Bc6# 1...dxe3+ 2.Kc2#/Ke2#/Ke1#/Kxe3#/Kc1# 1...d3 2.Rexd3# 1...a6 2.Nxb6# 1...f5 2.Re5# 1...g6 2.Nxf6# 1...Bxe7 2.Nxe7# 1...Bxc7 2.Nxc7# 1.b4?? zz 1...Nb3+ 2.Qxb3# 1...Nb7/Nc6 2.Qb3#/Bc6# 1...Nh3/Nh7/Nf7/Ne6 2.Be6# 1...Nxf3+ 2.Qxf3# 1...Ne4+ 2.fxe4# 1...b5 2.Rc5# 1...a6 2.Nxb6# 1...f5 2.Re5# 1...g6 2.Nxf6# 1...Bxe7 2.Nxe7# 1...Bxc7 2.Nxc7# 1...dxc3+ 2.Kxc3# 1...dxe3+ 2.Kc2#/Ke2#/Ke1#/Kxe3#/Kc1# 1...d3 2.Rexd3# but 1...Nc4+! 1.Bd6! zz 1...Nh3/Nh7/Nf7/Ne6 2.Be6# 1...Nxf3+ 2.Qxf3# 1...Ne4+ 2.fxe4# 1...Nxb3+ 2.Qxb3# 1...Nb7/Nc6 2.Bc6# 1...Nc4+ 2.bxc4# 1...b5 2.Rc5# 1...a6 2.Nxb6# 1...g6 2.Nxf6# 1...Bxe7 2.Nxe7# 1...Bxc7 2.Nxc7# 1...f5 2.Re5# 1...dxc3+ 2.Kc2#/Ke2#/Ke1#/Kc1#/Kxc3# 1...dxe3+ 2.Kc2#/Ke2#/Ke1#/Kxe3#/Kc1# 1...d3 2.Rcxd3#/Rexd3#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: Birmingham Daily Post date: 1901 algebraic: white: [Kh8, Qb2, Rc7, Rc3, Bh7, Bh2, Se8, Pg3, Pe4, Pc2] black: [Ke5, Rd5, Rd4, Pg5, Pf4, Pe6, Pb3] stipulation: "#2" solution: | "1...g4 2.gxf4# 1...Rc5 2.R3xc5# 1...fxg3 2.Bxg3# 1...f3 2.g4# 1.R3c5?? zz 1...g4 2.gxf4# 1...Rxc5 2.Rxc5# 1...fxg3 2.Bxg3# 1...f3 2.g4# but 1...bxc2! 1.R7c5! zz 1...g4 2.gxf4# 1...Rd3/Rd2/Rd1 2.Rxd3# 1...Rc4/Rb4/Ra4 2.R3xc4# 1...Rxe4 2.Re3# 1...bxc2 2.Qb8# 1...Rxc5 2.Rxc5# 1...fxg3 2.Bxg3# 1...f3 2.g4#" keywords: - Active sacrifice --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1889 algebraic: white: [Kd1, Qg4, Ra5, Be8, Sh6, Sc2, Pf6, Pc5, Pb3] black: [Kd5, Bc8, Sg6, Pe5, Pe4, Pd7, Pc7] stipulation: "#2" solution: | "1...Kc6 2.Qxe4# 1...c6 2.Bf7# 1...Bb7/Ba6 2.Qxd7# 1...e3 2.Nb4# 1...d6 2.c6# 1.Bxg6?? (2.Bxe4#) but 1...Kc6! 1.Ne3+?? 1...Kc6 2.Qxe4# but 1...Kd4! 1.Ng8! zz 1...Kc6 2.Qxe4# 1...c6 2.Bf7# 1...Bb7/Ba6 2.Qxd7# 1...e3 2.Nb4# 1...Nh4/Nh8/Nf4/Nf8/Ne7 2.Ne7# 1...d6 2.c6#" --- authors: - Baird, Edith Elina Helen source: Kentish Mercury date: 1893 algebraic: white: [Kg5, Qb7, Rc8, Rb4, Bg2, Be1, Sf8, Sf2, Pd2, Pc2] black: [Kc5, Qb1, Ra4, Ba5, Sc7, Sa2, Pe6, Pd5, Pa3] stipulation: "#2" solution: | "1...Bb6 2.Qxb6# 1...d4 2.Ne4# 1.Qxc7+?? 1...Kxb4 2.Qc5# but 1...Bxc7! 1.Qc6+?? 1...Kxb4 2.Nd3# but 1...Kxc6! 1.Qxd5+?? 1...Kxb4 2.Nd3# but 1...exd5! 1.Qa6! (2.d4#/Nd3#) 1...Kxb4/Nc3/e5/Qb2/Qa1/Qc1/Qd1/Qxe1/d4 2.Nd3# 1...Bxb4/Nxb4/Qxb4/Rxb4 2.Nxe6# 1...Bb6 2.Qxb6# 1...Nc1/Qb3/Qxc2 2.d4#" keywords: - Flight giving and taking key --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1894 algebraic: white: [Ka8, Qg3, Rd3, Sa6, Pf4, Pa4] black: [Kc6, Sh4, Pf5, Pd7, Pb7, Pb6] stipulation: "#2" solution: | "1.Qg2+?? 1...d5 2.Qxd5# 1...Nf3 2.Qc2# but 1...Nxg2! 1.Qg6+?? 1...d6 2.Rxd6#/Qxd6#/Qe8# but 1...Nxg6! 1.Qg7?? (2.Qxd7#/Qc3#) 1...bxa6 2.Qc3# 1...d6 2.Qc7#/Qxb7# 1...d5 2.Qc7# but 1...b5! 1.Qg8?? (2.Qc8#/Qd5#/Qc4#) 1...d6 2.Qe8#/Qc8# 1...d5 2.Qe6#/Qxd5# 1...bxa6 2.Qc8#/Qc4# but 1...b5! 1.Qf3+?? 1...d5 2.Qxd5# but 1...Nxf3! 1.Qe1?? (2.Qc1#/Qc3#) 1...d6 2.Qe8# 1...d5 2.Qe6# but 1...b5! 1.Qe3! (2.Qc1#) 1...b5 2.Qc5# 1...d6 2.Qe8# 1...d5 2.Qe6#" --- authors: - Baird, Edith Elina Helen source: Daily Chronicle date: 1901 algebraic: white: [Ka3, Qc8, Rf1, Ra4, Bf4, Ba2, Sg8, Se6, Pg4, Pg2, Pf6, Pc7, Pb4, Pb2] black: [Ke4, Qe7, Rf2, Ra7, Ba8, Sh2, Sb8, Pd3, Pa6] stipulation: "#2" solution: | "1...Qe8/Qf7/Qg7/Qh7 2.b5# 1...Qxf6 2.Nxf6# 1...Qc5 2.bxc5# 1...Qxb4+ 2.Rxb4# 1...Rxf4 2.Re1# 1.Qe8! (2.Qg6#) 1...Rxf4 2.Re1# 1...Qxe6/Qxe8/Qf7/Qg7/Qh7 2.b5# 1...Qxf6 2.Nxf6# 1...Qc5 2.bxc5# 1...Qxb4+ 2.Rxb4#" keywords: - Active sacrifice --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting and Dramatic News date: 1892 algebraic: white: [Ka4, Rh4, Rd1, Bd2, Bc2, Sf4, Sd3, Pf2, Pc5, Pb3] black: [Kd4, Pd7, Pd6, Pa5] stipulation: "#2" solution: | "1...d5 2.Ng2#/Ng6#/Nh3#/Nh5#/Ne2#/Ne6# 1.Bc3+?? 1...Ke4 2.Ne1#/Ne5# but 1...Kxc3! 1.f3?? zz 1...d5 2.Ng2#/Ng6#/Nh3#/Nh5#/Ne2#/Ne6# but 1...dxc5! 1.Re1?? zz 1...d5 2.Ng2#/Ng6#/Nh3#/Nh5#/Ne2#/Ne6# but 1...dxc5! 1.Ne1?? zz 1...Ke5 2.Bc3# 1...dxc5 2.Nf3# 1...d5 2.Nfd3# but 1...Kxc5! 1.Nb4?? (2.Nfd3#) 1...Ke5 2.Bc3# 1...Kxc5 2.Be3# but 1...axb4! 1.Ne5! zz 1...Kxe5 2.Bc3# 1...Kxc5 2.Be3# 1...dxc5 2.Nf3# 1...dxe5 2.Bb4# 1...d5 2.Nfd3#" keywords: - Flight giving key - Flight giving and taking key --- authors: - Baird, Edith Elina Helen source: Nottinghamshire Guardian date: 1889 algebraic: white: [Kd8, Qd2, Re8, Rc8, Bf3, Sg7, Sa7, Pd5, Pb3] black: [Kd4, Pf4, Pe6, Pd7, Pd3, Pc6, Pb4] stipulation: "#2" solution: | "1...cxd5 2.Qxf4# 1...exd5 2.Qxb4# 1.Rxc6?? (2.Qxf4#) 1...Ke5 2.Qb2# 1...e5 2.Nb5#/Nf5#/Qf2#/Rc4# but 1...dxc6! 1.Rxe6?? (2.Qxb4#) 1...Kc5 2.Qf2# 1...c5 2.Nb5#/Nf5#/Qb2# but 1...dxe6! 1.Nb5+?? 1...Ke5 2.Qb2# 1...cxb5 2.Qxf4# but 1...Kc5! 1.Nxc6+?? 1...Kc5 2.Qxb4# but 1...dxc6! 1.Nf5+?? 1...Kc5 2.Qf2# 1...exf5 2.Qxb4# but 1...Ke5! 1.Nxe6+?? 1...Ke5 2.Qxf4# but 1...dxe6! 1.Kxd7! zz 1...Ke5 2.Qb2# 1...Kc5 2.Qf2# 1...cxd5 2.Qxf4# 1...c5 2.Nc6# 1...exd5 2.Qxb4# 1...e5 2.Ne6#" keywords: - B2 --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1890 algebraic: white: [Kg1, Qa3, Re6, Re1, Se3, Pg3, Pf3, Pc6, Pc2] black: [Kd4, Rf7, Re8, Be5, Be2, Pf6, Pc4, Pa2] stipulation: "#2" solution: | "1...Bd1 2.Rxd1# 1...Bd3 2.c3# 1.Qb2+?? 1...Kxe3 2.Qc3# 1...c3 2.Qb6# but 1...Kc5! 1.Qa5! (2.Nf5#) 1...Kxe3 2.Qc3# 1...f5 2.Qxe5# 1...Bd3 2.c3# 1...c3 2.Qb6#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1891 algebraic: white: [Kb6, Rf4, Rd4, Be8, Bb4, Sh2, Sb2, Ph6, Ph4, Pe2] black: [Ke5, Pf5, Pe7, Pe6, Pe4, Pe3, Pd5] stipulation: "#2" solution: | "1...Kf6 2.Ng4# 1...Kxd4 2.Nf3# 1.Bh5?? zz 1...Kf6 2.Ng4# 1...Kxd4 2.Nf3# but 1...Kxf4! 1.Kb5?? zz 1...Kf6 2.Ng4# 1...Kxd4 2.Nf3# but 1...Kxf4! 1.Kb7?? zz 1...Kf6 2.Ng4# 1...Kxd4 2.Nf3# but 1...Kxf4! 1.Ka6?? zz 1...Kf6 2.Ng4# 1...Kxd4 2.Nf3# but 1...Kxf4! 1.Kc6?? zz 1...Kf6 2.Ng4# 1...Kxd4 2.Nf3# but 1...Kxf4! 1.Kc5?? zz 1...Kf6 2.Ng4# but 1...Kxf4! 1.Kc7?? zz 1...Kf6 2.Ng4# 1...Kxd4 2.Nf3# but 1...Kxf4! 1.Ka5?? zz 1...Kf6 2.Ng4# 1...Kxd4 2.Nf3# but 1...Kxf4! 1.Ka7?? zz 1...Kf6 2.Ng4# 1...Kxd4 2.Nf3# but 1...Kxf4! 1.h7?? zz 1...Kf6 2.h8Q#/h8B# 1...Kxd4 2.Nf3# but 1...Kxf4! 1.Bc3?? zz 1...Kf6 2.Ng4# 1...Kd6 2.Nc4# but 1...Kxf4! 1.Bc5?? zz 1...Kf6 2.Ng4# but 1...Kxf4! 1.Ba5?? zz 1...Kf6 2.Ng4# 1...Kxd4 2.Nf3# 1...Kd6 2.Nc4# but 1...Kxf4! 1.Be1! zz 1...Kxf4 2.Nd3# 1...Kf6 2.Ng4# 1...Kxd4 2.Nf3# 1...Kd6 2.Nc4#" keywords: - Flight giving key - King star flight - Illegal position comments: - Illegal position (Luke Neyndorff) - Check also 80387, 326432, 326953, 326954, 326955 --- authors: - Baird, Edith Elina Helen source: The Times date: 1902 algebraic: white: [Ka1, Qc3, Bh2, Bd7, Sg8, Pg6, Pf2, Pb6, Pb2] black: [Kd5, Bf6, Pg7, Pf3, Pe5, Pc5, Pc4] stipulation: "#2" solution: | "1...Kd6 2.Qd2# 1...Ke4 2.Qxc4# 1...Bg5/Bh4/Be7/Bd8 2.Qxe5# 1.Nxf6+?? 1...Kd6 2.Qxe5# but 1...gxf6! 1.Ne7+?? 1...Ke4 2.Qxc4#/Qe3#/Bf5#/Bc6# 1...Bxe7 2.Qxe5# but 1...Kd6! 1.Bg3?? zz 1...Kd6 2.Qd2# 1...Ke4 2.Qxc4# 1...Bg5/Bh4/Be7/Bd8 2.Qxe5# but 1...e4! 1.Ka2?? zz 1...Kd6 2.Qd2# 1...Ke4 2.Qxc4# 1...Bg5/Bh4/Be7/Bd8 2.Qxe5# but 1...e4! 1.Kb1?? zz 1...Kd6 2.Qd2# 1...Ke4 2.Qxc4# 1...Bg5/Bh4/Be7/Bd8 2.Qxe5# but 1...e4! 1.Qxc4+?? 1...Kd6 2.Qd3#/Qe6# but 1...Kxc4! 1.Qe3?? zz 1...Kd6 2.Qd2# 1...c3 2.Qd3# 1...Bg5/Bh4/Be7/Bd8 2.Qxe5# but 1...e4! 1.b3! zz 1...Kd6 2.Qd2# 1...Ke4 2.Qxc4# 1...e4 2.bxc4# 1...cxb3 2.Qd3# 1...Bg5/Bh4/Be7/Bd8 2.Qxe5#" keywords: - Active sacrifice --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Ka8, Qh8, Bh5, Se5, Pd3, Pa3] black: [Kd5, Pe7, Pc5, Pb3, Pa7] stipulation: "#3" solution: --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Courant date: 1894 algebraic: white: [Kb7, Qe5, Bb1, Sh5, Pa4] black: [Kc5, Pg5, Pd5, Pc4, Pb5, Pb4] stipulation: "#3" solution: | "1.Sh5-g3 ! threat: 2.Sg3-e4 # 1...b4-b3 2.Qe5-e7 + 2...Kc5-d4 3.Sg3-e2 # 1...c4-c3 2.Qe5-c7 + 2...Kc5-d4 3.Sg3-f5 # 1...b5*a4 2.Sg3-e4 + 2...Kc5-b5 3.Qe5*d5 #" --- authors: - Baird, Edith Elina Helen source: Knowledge date: 1894 algebraic: white: [Kh7, Qc2, Bh8, Se8, Se6, Pg3, Pf5, Pc6] black: [Kd5, Sb3, Sa8, Pg5, Pf6, Pb6, Pb5] stipulation: "#3" solution: | "1.Qc2-c3 ! zugzwang. 1...Sb3-a1 2.Qc3-d4 + 2...Kd5*c6 3.Se6-d8 # 1...Sb3-c1 2.Qc3-d4 + 2...Kd5*c6 3.Se6-d8 # 1...Sb3-d2 2.Qc3-d4 + 2...Kd5*c6 3.Se6-d8 # 1...Sb3-d4 2.Qc3*d4 + 2...Kd5*c6 3.Se6-d8 # 1...Sb3-c5 2.Qc3-d4 + 2...Kd5*c6 3.Se6-d8 # 1...Sb3-a5 2.Qc3-d4 + 2...Kd5*c6 3.Se6-d8 # 1...b5-b4 2.Qc3-f3 + 2...Kd5-e5 3.Bh8*f6 # 2...Kd5-c4 3.Se8-d6 # 1...Kd5-e4 2.Se8*f6 + 2...Ke4*f5 3.Se6-g7 # 1...g5-g4 2.Se6-f4 + 2...Kd5-e4 3.Se8-d6 # 1...Sa8-c7 2.Se6*c7 + 2...Kd5-e4 3.Se8-d6 #" --- authors: - Baird, Edith Elina Helen source: Kentish Mercury date: 1893 algebraic: white: [Ka2, Qb2, Sh6, Sa6, Pc4, Pb3] black: [Kd3, Rh5, Ph3, Pg4, Pf6, Pf5, Pd4] stipulation: "#3" solution: | "1.Qb2-f2 ! threat: 2.Qf2-e1 threat: 3.Sa6-b4 # 1...Kd3-e4 2.Sa6-c5 + 2...Ke4-e5 3.Sh6-f7 # 1...f5-f4 2.Sa6-b4 + 2...Kd3-c3 3.Qf2-e1 # 2...Kd3-e4 3.Qf2-e2 #" --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1901 algebraic: white: [Ke8, Rf7, Ba3, Sh3, Sg3, Pg2, Pd3, Pc5, Pb5] black: [Ke5, Pg4, Pe6, Pd4] stipulation: "#3" solution: | "1.Rf7-g7 ! threat: 2.Rg7-g5 + 2...Ke5-f6 3.Sg3-h5 # 3.Sg3-e4 # 1...Ke5-f6 2.Sg3-h5 + 2...Kf6-f5 3.Rg7-g5 # 2...Kf6-e5 3.Rg7-g5 #" --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Kf8, Qf7, Bc4, Ba3, Sg3, Sb2, Pg2, Pe4] black: [Ke5, Pd3, Pc6] stipulation: "#3" solution: | "1.Qf7-f1 ! threat: 2.Ba3-c5 threat: 3.Sb2*d3 # 3.Qf1-f5 # 1...Ke5-d4 2.Qf1*d3 + 2...Kd4-e5 3.Qd3-d6 # 1.Qf7-f2 ! threat: 2.Sb2*d3 # 1...c6-c5 2.Kf8-e7 threat: 3.Qf2-f6 # 3.Sb2*d3 # 2.Ba3*c5 threat: 3.Qf2-f5 # 3.Sb2*d3 # 1.Qf7-f3 ! threat: 2.Ba3-c5 threat: 3.Qf3-f5 # 3.Sb2*d3 # 1...Ke5-d4 2.Qf3*d3 + 2...Kd4-e5 3.Qd3-d6 # 1.Qf7-g7 + ! 1...Ke5-f4 2.Ba3-c5 threat: 3.Sb2*d3 # 2.Sb2*d3 + 2...Kf4-e3 3.Ba3-c1 # 1.Bc4-a2 ! threat: 2.Qf7-f5 + 2...Ke5-d4 3.Qf5-c5 # 2.Ba3-c5 threat: 3.Qf7-f5 # 3.Sb2*d3 # 3.Sb2-c4 # 2.Sb2-c4 + 2...Ke5-d4 3.Qf7-f6 # 3.Qf7-g7 # 1...d3-d2 2.Qf7-f5 + 2...Ke5-d4 3.Qf5-c5 # 2.Sg3-e2 threat: 3.Qf7-e6 # 3.Qf7-f4 # 3.Qf7-f5 # 3.Qf7-e7 # 2...Ke5*e4 3.Qf7-e6 # 3.Qf7-f4 # 2...c6-c5 3.Qf7-e6 # 3.Qf7-f4 # 3.Qf7-e7 # 2.Ba3-c5 threat: 3.Qf7-f5 # 3.Sb2-d3 # 3.Sb2-c4 # 2...d2-d1=Q 3.Qf7-f5 # 3.Sb2-c4 # 2...d2-d1=R 3.Qf7-f5 # 3.Sb2-c4 # 1...Ke5-d4 2.Qf7-f2 + 2...Kd4-e5 3.Sb2*d3 # 2...Kd4-c3 3.Sb2-d1 # 3.Sb2-a4 # 2.Qf7-f6 + 2...Kd4-e3 3.Sb2-c4 # 1...c6-c5 2.Qf7-c7 + 2...Ke5-f6 3.Qc7-g7 # 2...Ke5-d4 3.Qc7*c5 # 2.Ba3*c5 threat: 3.Qf7-f5 # 3.Sb2*d3 # 3.Sb2-c4 # 2.Sb2-c4 + 2...Ke5-d4 3.Qf7-f6 # 3.Qf7-g7 # 3.Ba3-b2 # 1.Bc4-b3 ! threat: 2.Sb2-c4 + 2...Ke5-d4 3.Qf7-f6 # 3.Qf7-g7 # 2.Qf7-f5 + 2...Ke5-d4 3.Qf5-c5 # 2.Ba3-c5 threat: 3.Qf7-f5 # 3.Sb2*d3 # 3.Sb2-c4 # 1...d3-d2 2.Qf7-f5 + 2...Ke5-d4 3.Qf5-c5 # 2.Sg3-e2 threat: 3.Qf7-e6 # 3.Qf7-f4 # 3.Qf7-f5 # 3.Qf7-e7 # 2...Ke5*e4 3.Qf7-e6 # 3.Qf7-f4 # 2...c6-c5 3.Qf7-e6 # 3.Qf7-f4 # 3.Qf7-e7 # 2.Ba3-c5 threat: 3.Qf7-f5 # 3.Sb2-d3 # 3.Sb2-c4 # 2...d2-d1=Q 3.Qf7-f5 # 3.Sb2-c4 # 2...d2-d1=R 3.Qf7-f5 # 3.Sb2-c4 # 1...Ke5-d4 2.Qf7-f6 + 2...Kd4-e3 3.Sb2-c4 # 1...c6-c5 2.Qf7-c7 + 2...Ke5-f6 3.Qc7-g7 # 2...Ke5-d4 3.Qc7*c5 # 2.Ba3*c5 threat: 3.Qf7-f5 # 3.Sb2*d3 # 3.Sb2-c4 # 2.Sb2-c4 + 2...Ke5-d4 3.Qf7-f6 # 3.Qf7-g7 # 3.Ba3-b2 # 1.Bc4-e6 ! threat: 2.Qf7-f5 + 2...Ke5-d4 3.Qf5-c5 # 2.Ba3-c5 threat: 3.Qf7-f5 # 3.Sb2*d3 # 3.Sb2-c4 # 2.Sb2-c4 + 2...Ke5-d4 3.Qf7-f6 # 3.Qf7-g7 # 1...d3-d2 2.Qf7-f5 + 2...Ke5-d4 3.Qf5-c5 # 2.Ba3-c5 threat: 3.Qf7-f5 # 3.Sb2-d3 # 3.Sb2-c4 # 2...d2-d1=Q 3.Qf7-f5 # 3.Sb2-c4 # 2...d2-d1=R 3.Qf7-f5 # 3.Sb2-c4 # 1...Ke5-d4 2.Qf7-f6 + 2...Kd4-e3 3.Sb2-c4 # 1...c6-c5 2.Ba3*c5 threat: 3.Qf7-f5 # 3.Sb2*d3 # 3.Sb2-c4 # 2.Sb2-c4 + 2...Ke5-d4 3.Qf7-f6 # 3.Qf7-g7 # 3.Ba3-b2 # 1.Bc4-d5 ! threat: 2.Sb2-c4 + 2...Ke5-d4 3.Qf7-f6 # 3.Qf7-g7 # 2.Ba3-c5 threat: 3.Qf7-f5 # 3.Sb2*d3 # 3.Sb2-c4 # 2...c6*d5 3.Qf7-f5 # 3.Sb2*d3 # 1...d3-d2 2.Sg3-e2 threat: 3.Qf7-e6 # 3.Qf7-f4 # 3.Qf7-f5 # 3.Qf7-e7 # 3.Qf7-g7 # 3.Sb2-d3 # 3.Sb2-c4 # 2...d2-d1=Q 3.Qf7-e6 # 3.Qf7-f4 # 3.Qf7-f5 # 3.Qf7-e7 # 3.Qf7-g7 # 3.Sb2-c4 # 2...d2-d1=R 3.Qf7-e6 # 3.Qf7-f4 # 3.Qf7-f5 # 3.Qf7-e7 # 3.Qf7-g7 # 3.Sb2-c4 # 2...c6-c5 3.Qf7-e6 # 3.Qf7-f4 # 3.Qf7-e7 # 3.Sb2-c4 # 2...c6*d5 3.Qf7-f5 # 3.Qf7-e7 # 2.Ba3-c5 threat: 3.Qf7-f5 # 3.Sb2-d3 # 3.Sb2-c4 # 2...d2-d1=Q 3.Qf7-f5 # 3.Sb2-c4 # 2...d2-d1=R 3.Qf7-f5 # 3.Sb2-c4 # 2...c6*d5 3.Qf7-f5 # 3.Sb2-d3 # 1...Ke5-d4 2.Qf7-f2 + 2...Kd4-e5 3.Sb2*d3 # 3.Sb2-c4 # 2...Kd4-c3 3.Sb2-d1 # 3.Sb2-a4 # 2.Qf7-f6 + 2...Kd4-e3 3.Sb2-c4 # 1...c6*d5 2.Ba3-c5 threat: 3.Qf7-f5 # 3.Sb2*d3 # 2...d5*e4 3.Qf7-f5 # 3.Sb2-c4 # 1.Bc4-a6 ! threat: 2.Ba3-c5 threat: 3.Qf7-f5 # 3.Sb2*d3 # 3.Sb2-c4 # 2.Qf7-f5 + 2...Ke5-d4 3.Qf5-c5 # 2.Sb2-c4 + 2...Ke5-d4 3.Qf7-f6 # 3.Qf7-g7 # 1...d3-d2 2.Qf7-f5 + 2...Ke5-d4 3.Qf5-c5 # 2.Sg3-e2 threat: 3.Qf7-f5 # 3.Qf7-e7 # 2...Ke5*e4 3.Qf7-e6 # 2...c6-c5 3.Qf7-e7 # 2.Ba3-c5 threat: 3.Qf7-f5 # 3.Sb2-d3 # 3.Sb2-c4 # 2...d2-d1=Q 3.Qf7-f5 # 3.Sb2-c4 # 2...d2-d1=R 3.Qf7-f5 # 3.Sb2-c4 # 1...Ke5-d4 2.Qf7-f6 + 2...Kd4-e3 3.Sb2-c4 # 1...c6-c5 2.Ba3*c5 threat: 3.Qf7-f5 # 3.Sb2*d3 # 3.Sb2-c4 # 2.Sb2-c4 + 2...Ke5-d4 3.Qf7-f6 # 3.Qf7-g7 # 3.Ba3-b2 # 1.Bc4-b5 ! threat: 2.Sb2-c4 + 2...Ke5-d4 3.Qf7-f6 # 3.Qf7-g7 # 2.Qf7-f5 + 2...Ke5-d4 3.Qf5-c5 # 2.Ba3-c5 threat: 3.Qf7-f5 # 3.Sb2*d3 # 3.Sb2-c4 # 2...c6*b5 3.Qf7-f5 # 3.Sb2*d3 # 1...d3-d2 2.Qf7-f5 + 2...Ke5-d4 3.Qf5-c5 # 2.Sg3-e2 threat: 3.Qf7-f5 # 3.Qf7-e7 # 2...Ke5*e4 3.Qf7-e6 # 2...c6-c5 3.Qf7-e7 # 2.Ba3-c5 threat: 3.Qf7-f5 # 3.Sb2-d3 # 3.Sb2-c4 # 2...d2-d1=Q 3.Qf7-f5 # 3.Sb2-c4 # 2...d2-d1=R 3.Qf7-f5 # 3.Sb2-c4 # 2...c6*b5 3.Qf7-f5 # 3.Sb2-d3 # 1...Ke5-d4 2.Qf7-f6 + 2...Kd4-e3 3.Sb2-c4 # 1...c6-c5 2.Ba3*c5 threat: 3.Qf7-f5 # 3.Sb2*d3 # 3.Sb2-c4 # 2.Sb2-c4 + 2...Ke5-d4 3.Qf7-f6 # 3.Qf7-g7 # 3.Ba3-b2 # 1...c6*b5 2.Qf7-f5 + 2...Ke5-d4 3.Qf5-c5 # 2.Ba3-c5 threat: 3.Qf7-f5 # 3.Sb2*d3 # 1.Ba3-c5 ! threat: 2.Qf7-f5 # 2.Sb2*d3 # 1.Ba3-b4 ! threat: 2.Qf7-f5 + 2...Ke5-d4 3.Qf5-c5 # 2.Qf7-g7 + 2...Ke5-f4 3.Bb4-d2 # 2.Bb4-c3 + 2...Ke5-d6 3.Qf7-e7 # 2.Bb4-c5 threat: 3.Qf7-f5 # 3.Sb2*d3 # 1...Ke5-d4 2.Qf7-f2 + 2...Kd4-e5 3.Sb2*d3 # 2.Qf7-f4 threat: 3.e4-e5 # 3.Sg3-f5 # 2.Qf7-f6 + 2...Kd4-e3 3.Sb2-d1 # 1...c6-c5 2.Qf7-c7 + 2...Ke5-f6 3.Qc7-g7 # 2...Ke5-d4 3.Qc7*c5 # 2.Bb4*c5 threat: 3.Qf7-f5 # 3.Sb2*d3 # 1.Sb2-d1 ! threat: 2.Qf7-h5 + 2...Ke5-f4 3.Ba3-d6 # 2...Ke5-f6 3.Qh5-f5 # 3.e4-e5 # 3.Ba3-b2 # 3.Ba3-e7 # 2...Ke5-d4 3.Qh5-c5 # 2.Qf7-f5 + 2...Ke5-d4 3.Qf5-c5 # 2.Qf7-g7 + 2...Ke5-f4 3.Ba3-d6 # 2.Ba3-b2 + 2...Ke5-d6 3.Qf7-e7 # 2.Ba3-c5 threat: 3.Qf7-f5 # 1...d3-d2 2.Qf7-h5 + 2...Ke5-f4 3.Ba3-d6 # 2...Ke5-f6 3.Qh5-f5 # 3.e4-e5 # 3.Ba3-b2 # 3.Ba3-e7 # 2...Ke5-d4 3.Qh5-c5 # 2.Qf7-f5 + 2...Ke5-d4 3.Qf5-c5 # 2.Qf7-g7 + 2...Ke5-f4 3.Ba3-d6 # 2.Sg3-e2 threat: 3.Qf7-e6 # 3.Qf7-f4 # 3.Qf7-f5 # 3.Qf7-e7 # 2...Ke5*e4 3.Qf7-e6 # 3.Qf7-f4 # 2...c6-c5 3.Qf7-e6 # 3.Qf7-f4 # 3.Qf7-e7 # 2.Ba3-b2 + 2...Ke5-d6 3.Qf7-e7 # 1...Ke5-d4 2.Qf7-e6 threat: 3.Sg3-f5 # 2.Qf7-e7 threat: 3.Qe7-c5 # 2...Kd4*c4 3.Qe7-b4 # 1...c6-c5 2.Kf8-e7 threat: 3.Qf7-f6 # 3.Ba3-b2 # 2...Ke5-d4 3.Qf7-d5 # 3.Ba3-b2 # 2.Qf7-c7 + 2...Ke5-f6 3.Qc7-g7 # 2...Ke5-d4 3.Qc7*c5 # 2.Ba3*c5 threat: 3.Qf7-f5 # 1.Sb2*d3 + ! 1...Ke5-d4 2.Ba3-b2 + 2...Kd4-e3 3.Qf7-f4 # 3.Qf7-f2 # 1.Sb2-a4 ! threat: 2.Ba3-c5 threat: 3.Qf7-f5 # 2.Qf7-f5 + 2...Ke5-d4 3.Qf5-c5 # 2.Ba3-b2 + 2...Ke5-d6 3.Qf7-e7 # 3.e4-e5 # 3.Sg3-f5 # 1...Ke5-d4 2.Ba3-c5 + 2...Kd4-e5 3.Qf7-f5 # 1...c6-c5 2.Qf7-c7 + 2...Ke5-f6 3.Qc7-g7 # 2...Ke5-d4 3.Qc7*c5 # 2.Ba3*c5 threat: 3.Qf7-f5 #" --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Kb1, Qh8, Sg1, Ph3, Pf5, Pe5, Pd3, Pd2, Pb5] black: [Kd4, Pb4, Pb2, Pa6] stipulation: "#3" solution: --- authors: - Baird, Edith Elina Helen source: Newcastle Weekly Chronicle date: 1891 algebraic: white: [Kh3, Qh7, Rf1, Bf6, Sf3, Sc8, Ph5, Pe6, Pa3, Pa2] black: [Kd5, Bb8, Sa1, Pf7, Pc7] stipulation: "#3" solution: | "1.a3-a4 ! threat: 2.Qh7-d3 + 2...Kd5-c5 3.Qd3-b5 # 2...Kd5-c6 3.Qd3-b5 # 2...Kd5*e6 3.Sf3-g5 # 2.Qh7-f5 + 2...Kd5-c6 3.Qf5-b5 # 2...Kd5-c4 3.Qf5-b5 # 1...Sa1-c2 2.Qh7-f5 + 2...Kd5-c6 3.Qf5-b5 # 2...Kd5-c4 3.Qf5-b5 # 1...Sa1-b3 2.Qh7-f5 + 2...Kd5-c6 3.Qf5-b5 # 2...Kd5-c4 3.Qf5-b5 # 1...Kd5-c5 2.Qh7-e4 threat: 3.Bf6-e7 # 2...c7-c6 3.Qe4-d4 # 1...Kd5-c6 2.Qh7-e4 + 2...Kc6-c5 3.Bf6-e7 # 1...Kd5*e6 2.Qh7-f5 + 2...Ke6*f5 3.Sf3-g5 # 1...Kd5-c4 2.Qh7-e4 + 2...Kc4-c5 3.Bf6-e7 # 1...c7-c5 2.Qh7-d3 + 2...Kd5-c6 3.Qd3-d7 # 2...Kd5*e6 3.Sf3-g5 # 1...c7-c6 2.Qh7-d3 + 2...Kd5-c5 3.Qd3-d4 # 2...Kd5*e6 3.Sf3-g5 # 1...f7*e6 2.Qh7-d3 + 2...Kd5-c5 3.Qd3-b5 # 2...Kd5-c6 3.Qd3-b5 # 1...Bb8-a7 2.Qh7-f5 + 2...Kd5-c6 3.Qf5-b5 # 2...Kd5-c4 3.Qf5-b5 #" --- authors: - Baird, Edith Elina Helen source: To-Day date: 1901 algebraic: white: [Kg8, Sd7, Sb8, Pg4, Pg2, Pc3] black: [Kd5, Sc4, Pe6, Pe4, Pd6, Pc5] stipulation: "#3" solution: | "1.g2-g3 ! threat: 2.Sd7-f6 + 2...Kd5-e5 3.Sb8-d7 # 1...Sc4-a3 2.Sd7-b6 + 2...Kd5-e5 3.Sb8-d7 # 1...Sc4-b2 2.Sd7-b6 + 2...Kd5-e5 3.Sb8-d7 # 1...Sc4-d2 2.Sd7-b6 + 2...Kd5-e5 3.Sb8-d7 # 1...Sc4-e3 2.Sd7-b6 + 2...Kd5-e5 3.Sb8-d7 # 1...Sc4-b6 2.Sd7*b6 + 2...Kd5-e5 3.Sb8-d7 # 1...Sc4-a5 2.Sd7-b6 + 2...Kd5-e5 3.Sb8-d7 # 1...e6-e5 2.Kg8-f7 threat: 3.Sd7-f6 # 2...Sc4-a3 3.Sd7-b6 # 2...Sc4-b2 3.Sd7-b6 # 2...Sc4-d2 3.Sd7-b6 # 2...Sc4-e3 3.Sd7-b6 # 2...Sc4-b6 3.Sd7*b6 # 2...Sc4-a5 3.Sd7-b6 #" --- authors: - Baird, Edith Elina Helen source: Tinsley's Magazine date: 1890 algebraic: white: [Kf8, Qa7, Ra4, Bc5, Sh5, Sd3, Pe2, Pc6, Pc2, Pa2] black: [Ke4, Bb4, Ph6, Pc7] stipulation: "#3" solution: | "1.Bc5-e7 ! zugzwang. 1...Ke4-f5 2.Qa7-f2 + 2...Kf5-e6 3.Qf2-f7 # 2...Kf5-g6 3.Qf2-f7 # 2...Kf5-g4 3.Qf2-f3 # 2...Kf5-e4 3.Sh5-f6 # 1...Ke4-d5 2.c2-c4 + 2...Kd5*c6 3.Sd3-e5 # 2...Kd5-e6 3.Sh5-g7 # 2...Kd5-e4 3.Sh5-g3 # 2...Kd5*c4 3.Qa7-c5 #" --- authors: - Baird, Edith Elina Helen source: Brighton Society date: 1897 algebraic: white: [Kh8, Qh5, Rg5, Bf1, Bd4, Sh7, Se2, Ph3, Pf6, Pa6, Pa3] black: [Kd5, Rh2, Sf5, Sb2, Pf7, Pf2, Pd6, Pd2, Pb3, Pa5, Pa4] stipulation: "#3" solution: | "1.Rg5-g8 ! threat: 2.Qh5*f5 + 2...Kd5-c6 3.Rg8-c8 # 2...Kd5-c4 3.Rg8-c8 # 1...Sb2-d3 2.Qh5*f7 + 2...Kd5-c6 3.Qf7-b7 # 2...Kd5-e4 3.Sh7-g5 # 1...Sb2-c4 2.Qh5-f3 + 2...Kd5-e6 3.Sh7-f8 # 1...Kd5-c6 2.Rg8-c8 + 2...Kc6-d7 3.Qh5*f5 # 2...Kc6-d5 3.Qh5*f5 # 2...Kc6-b5 3.Se2-c3 # 1...Kd5-e6 2.Qh5*f7 + 2...Ke6*f7 3.Sh7-g5 # 1...Kd5-e4 2.Qh5-f3 + 2...Ke4*f3 3.Sh7-g5 # 1...Kd5-c4 2.Rg8-c8 + 2...Kc4-b5 3.Se2-c3 # 2...Kc4-d5 3.Qh5*f5 # 2...Kc4-d3 3.Qh5*f5 #" --- authors: - Baird, Edith Elina Helen source: Pavilion date: 1896 algebraic: white: [Kh8, Qg4, Bb6, Sg6, Pb3] black: [Kd5, Rh3, Ba2, Sg3, Sc6, Ph4, Pd6, Pd3, Pb5, Pb4] stipulation: "#3" solution: | "1.Kh8-g8 ! threat: 2.Qg4-f3 + 2...Sg3-e4 3.Qf3-f7 # 2...Kd5-e6 3.Qf3-f7 # 1...Sg3-e2 2.Qg4-f5 + 2...Sc6-e5 3.Sg6-e7 # 1...Sg3-f1 2.Qg4-f5 + 2...Sc6-e5 3.Sg6-e7 # 1...Sg3-h1 2.Qg4-f5 + 2...Sc6-e5 3.Sg6-e7 # 1...Sg3-h5 2.Qg4-f5 + 2...Sc6-e5 3.Sg6-e7 # 1...Sg3-f5 2.Qg4*f5 + 2...Sc6-e5 3.Sg6-e7 # 1...Sg3-e4 2.Qg4-f5 + 2...Sc6-e5 3.Sg6-e7 # 1...Sc6-a5 2.Sg6-e7 + 2...Kd5-e5 3.Bb6-d4 # 1...Sc6-d4 2.Sg6-e7 + 2...Kd5-e5 3.Bb6*d4 # 1...Sc6-e7 + 2.Sg6*e7 + 2...Kd5-e5 3.Bb6-d4 # 1...Sc6-d8 2.Sg6-e7 + 2...Kd5-e5 3.Bb6-d4 # 1...Sc6-b8 2.Sg6-e7 + 2...Kd5-e5 3.Bb6-d4 # 1...Sc6-a7 2.Sg6-e7 + 2...Kd5-e5 3.Bb6-d4 #" --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Kc8, Qg4, Bd1, Sh4, Sc5, Pg3, Pe2, Pd4, Pa3, Pa2] black: [Kc4, Be1, Sb1, Pe7, Pb5, Pa5] stipulation: "#3" solution: | "1.Sc5-e4 ! threat: 2.Qg4-e6 + 2...Kc4*d4 3.Sh4-f5 # 1...Sb1-c3 2.Se4-d2 + 2...Be1*d2 3.Bd1-b3 # 2...Kc4-d5 3.Qg4-d7 # 1...e7-e5 2.Bd1-b3 + 2...Kc4*d4 3.Sh4-f5 #" --- authors: - Baird, Edith Elina Helen source: Leeds Mercury Weekly Supplemen date: 1902 algebraic: white: [Kb3, Qd3, Re1, Rc5, Bh2, Bb5, Se8, Se6, Pg4, Pf5, Pa4, Pa2] black: [Ke5, Rg3, Rd5, Be2, Sg1, Ph3, Pa5, Pa3] stipulation: "s#2" solution: | "1.Bb5-c6 ! zugzwang. 1...Rd5*c5 2.Qd3-c3 + 2...Rc5*c3 # 1...Sg1-f3 2.Qd3-d4 + 2...Sf3*d4 #" --- authors: - Baird, Edith Elina Helen source: date: 1897 algebraic: white: [Kf4, Rg6, Rd1, Bh6, Se3, Sc5, Pg5, Pb4] black: [Kd6, Qe6, Rd3, Rb1, Be2, Bc7, Sd8, Sb8, Ph4, Pg4, Pe7, Pc6, Pb6] stipulation: "s#2" solution: | "1.Bh6-f8 ! threat: 2.Bf8*e7 + 2...Kd6*e7 # 1...Rb1*b4 + 2.Sc5-e4 + 2...Rb4*e4 # 2...Kd6-d7 # 1...Rd3-d4 + 2.Sc5-e4 + 2...Kd6-d7 # 1...b6*c5 2.b4*c5 + 2...Kd6-d7 # 2...Kd6*c5 # 1...Qe6-f6 + 2.Se3-f5 + 2...Kd6-d5 #" --- authors: - Baird, Edith Elina Helen source: Seven Hundred Chess Problems date: 1902 algebraic: white: [Kf4, Rg6, Bh6, Ba2, Se3, Sc5, Pg5, Pb4] black: [Kd6, Qe6, Rb3, Be2, Bc7, Sd8, Sb8, Ph4, Pg4, Pe7, Pc6, Pb6] stipulation: "s#2" solution: | "1.Bh6-f8 ! threat: 2.Bf8*e7 + 2...Kd6*e7 # 1...Rb3*b4 + 2.Sc5-e4 + 2...Rb4*e4 # 2...Kd6-d7 # 1...b6*c5 2.b4*c5 + 2...Kd6-d7 # 2...Kd6*c5 # 1...Qe6-f6 + 2.Se3-f5 + 2...Kd6-d5 #" --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Kh8, Qa1, Rh5, Rc8, Bf7, Bf4, Sg5, Pe6, Pe5, Pd3, Pb3] black: [Kd5, Sd4, Sc6, Pb4] stipulation: "#2" solution: | "1.Ne4?? zz 1...Ne2/Nf3/Nf5/Nc2/Nxb3/Nb5 2.e7# 1...Nd8/Ne7/Nb8/Na5/Na7 2.Rc5#/Nf6# 1...Nxe5 2.Rxe5#/Rc5# but 1...Nxe6! 1.Qa7?? zz 1...Ne2/Nf3/Nf5/Nc2/Nxb3/Nb5 2.e7# 1...Nxe6 2.Bxe6# 1...Nd8/Ne7/Na5 2.Rc5#/Qd7#/Qc5# 1...Nxe5 2.Qc5# 1...Nb8 2.Rc5#/Qc5# but 1...Nxa7! 1.Qc1?? (2.Qc4#) 1...Nxe5 2.Qc5# 1...Na5 2.Rc5#/Rd8#/Qc5# but 1...Nc2! 1.Qc3?? (2.Qc4#) 1...Nxe5 2.Qc5# 1...Na5 2.Rc5#/Rd8#/Qc5# but 1...bxc3! 1.Be3! zz 1...Kc5 2.Qa5# 1...Kxe5 2.Ne4# 1...Ne2/Nf3/Nf5/Nc2/Nxb3/Nb5 2.e7# 1...Nxe6 2.Bxe6# 1...Nd8/Nxe5/Ne7/Nb8/Na5/Na7 2.Qxd4#" keywords: - Flight giving key - Black correction --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Kg3, Qb8, Rb5, Be8, Sd7, Pf4, Pd2, Pc3] black: [Kd5, Sc5, Pf6, Pf5, Pb6] stipulation: "#2" solution: | "1.Nxf6+?? 1...Ke6 2.Qe5# but 1...Kc4! 1.Qd6+?? 1...Ke4 2.Rb4#/Nxf6#/Qd4# 1...Kc4 2.Rb4#/Nxb6# but 1...Kxd6! 1.Qd8! zz 1...Kd6/Kc6 2.Nxc5# 1...Ke4 2.Nxf6# 1...Ke6 2.Nf8# 1...Kc4 2.Nxb6#" keywords: - Flight giving key - King star flight - King Y-flight --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Kf2, Qb8, Rb5, Be8, Sd7, Pf4, Pe3, Pb2] black: [Kd5, Sc5, Pf6, Pf5, Pb6] stipulation: "#2" solution: | "1.Nxf6+?? 1...Ke6 2.Qe5# but 1...Kc4! 1.Qd6+?? 1...Ke4 2.Rb4#/Nxf6#/Qd4# 1...Kc4 2.Nxb6# but 1...Kxd6! 1.Qd8! zz 1...Kd6/Kc6 2.Nxc5# 1...Ke4 2.Nxf6# 1...Ke6 2.Nf8# 1...Kc4 2.Nxb6#" keywords: - Flight giving key - King star flight - King Y-flight --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Kb8, Qd8, Re1, Bb4, Ba4, Sh4, Sd7, Pg6, Pg4, Pc5, Pc3, Pb5, Pa6] black: [Kd5, Be4, Sd2, Pe7, Pa7] stipulation: "#2" solution: | "1...Kc4 2.Ne5# 1...Nf1/Nf3/Nb1/Nb3 2.Bb3# 1...e5 2.Qg8# 1...Bf3/Bg2/Bh1/Bf5/Bxg6/Bd3/Bc2/Bb1 2.Nb6# 1.Nf8+?? 1...Kc4 2.Qd4# but 1...Ke5! 1.Ng2! zz 1...Ke6/Nc4 2.Nf4# 1...Kc4 2.Ne5# 1...Nf1/Nf3/Nb1/Nb3 2.Bb3# 1...e6 2.Ne3# 1...e5 2.Qg8# 1...Bf3/Bxg2/Bf5/Bxg6/Bd3/Bc2/Bb1 2.Nb6#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Kc2, Qc7, Sg7, Sf5, Pg3] black: [Kd5, Pe5, Pb7] stipulation: "#2" solution: | "1...Ke4 2.Qxb7# 1.Kc3?? (2.Qc4#) 1...Ke4 2.Qxb7# 1...e4 2.Ne3#/Ne7#/Qd6# but 1...b5! 1.Kd3?? (2.Ne3#/Ne7#/Qc4#/Qd6#) 1...b5 2.Ne3#/Ne7#/Qd6# but 1...e4+! 1.Qd6+?? 1...Ke4 2.Qd3# but 1...Kc4! 1.Qb6! zz 1...Ke4 2.Qxb7# 1...Kc4 2.Ne3# 1...e4 2.Qb5#" keywords: - Flight giving key - Model mates --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Ke8, Qa5, Rh6, Bf2, Bd1, Sb5, Sb4, Ph4, Pg4, Pf3, Pd6, Pb2] black: [Ke5, Sg6, Ph7, Pe7] stipulation: "#2" solution: | "1...Kf4 2.Nd3# 1...Nxh4/Nh8/Nf8 2.Bg3# 1...Nf4 2.Bd4# 1.Rxg6?? (2.Bg3#) 1...Kf4 2.Nd3# but 1...hxg6! 1.Qa7?? zz 1...Ke6/Kf6 2.Qxe7# 1...Kf4 2.Nd3#/Qd4#/Qe3# 1...Nxh4/Nh8/Nf8 2.Bg3#/Qd4#/Qe3# 1...Nf4 2.Bd4#/Qd4#/Qe3# 1...e6 2.Qd4# but 1...exd6! 1.Qc7?? zz 1...Ke6/Kf6 2.Qxe7# 1...Kf4 2.Nd3# 1...Nxh4/Nh8/Nf8 2.Bg3#/dxe7#/d7# 1...Nf4 2.Bd4#/Qc3#/dxe7#/d7# 1...exd6 2.Qxd6# but 1...e6! 1.Nc7+?? 1...Kf4 2.Ne6#/Nd3#/Qf5#/Qg5# 1...Kxd6 2.Qc5# but 1...Kf6! 1.Bd4+?? 1...Ke6 2.Bb3#/Qa2# but 1...Kf4! 1.Qd8! zz 1...Ke6/Kf6 2.Qxe7# 1...Kf4 2.Nd3# 1...exd6 2.Qxd6# 1...e6 2.Qg5# 1...Nxh4/Nh8/Nf8 2.Bg3# 1...Nf4 2.Bd4#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Ka6, Rg3, Rc7, Bg7, Bg2, Sh5, Sf3, Ph4, Pd6, Pc6, Pc3, Pb4] black: [Kd5] stipulation: "#2" solution: | "1...Ke4 2.Nd4# 1...Kc4 2.Nd2# 1.Nf4+?? 1...Kxd6 2.Be5# 1...Kc4 2.Nd2# but 1...Ke4! 1.Ng5+?? 1...Kxd6 2.Rd7# but 1...Kc4! 1.Nd4+?? 1...Kxd6 2.Rd7# but 1...Kc4! 1.Rd7! zz 1...Ke4/Ke6 2.Nd4# 1...Kc4 2.Nd2# 1...Kxc6 2.Ne5#" keywords: - Flight giving and taking key - King star flight --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Kc6, Qa7, Re1, Rd4, Be6, Bc1, Sd8, Sd2, Ph4, Pg4, Pf6, Pc2] black: [Ke5, Re4, Sf2, Se3] stipulation: "#2" solution: | "1...Kf4 2.Qc7#/Qb8# 1.Nf7+?? 1...Kxe6 2.Qe7#/Rd6# 1...Kf4 2.Qc7#/Qb8# but 1...Kxf6! 1.Qa5+?? 1...Kf4 2.Qc7# 1...Kxf6 2.Qg5# 1...Kxd4 2.Nf3#/Nb3#/Bb2#/Qa1#/Qc5# but 1...Nd5! 1.Qc7+?? 1...Kxd4 2.Bb2# but 1...Kxf6! 1.Qe7?? zz 1...Kf4 2.Qc7#/Qd6# 1...Kxd4 2.Bb2#/Qc5# 1...Nf1/Nf5/Ng2/Nexg4/Ned1/Nd5/Nxc2/Nc4/Rxg4 2.Nf3# 1...Nfxg4/Nh1/Nh3/Nfd1/Nd3 2.Rxe4# 1...Rf4 2.Rd5# but 1...Rxd4! 1.Qf7?? zz 1...Kf4 2.Qc7# 1...Kxd4 2.Bb2# 1...Nfxg4/Nh1/Nh3/Nfd1/Nd3 2.Rxe4# 1...Nf1/Nf5/Ng2/Nexg4/Ned1/Nd5/Nxc2/Nc4/Rxg4 2.Nf3# 1...Rf4 2.Rd5# but 1...Rxd4! 1.Qc5+?? 1...Kf4 2.Qd6# 1...Kxf6 2.Qg5# but 1...Nd5! 1.Qb8+?? 1...Kxd4 2.Bb2#/Qb2# but 1...Kxf6! 1.g5?? zz 1...Kf4 2.Qc7#/Qb8# 1...Nfg4/Nh1/Nh3/Nfd1/Nd3 2.Rxe4# 1...Nf1/Nf5/Ng2/Neg4/Ned1/Nd5/Nxc2/Nc4 2.Nf3#/Nc4# 1...Rf4 2.Qc5#/Nc4#/Rd5# 1...Rg4/Rxh4 2.Qc5#/Nf3#/Nc4# but 1...Rxd4! 1.Nf3+?? 1...Kxf6 2.Qf7# but 1...Kf4! 1.Bb2?? (2.Rxe4#) 1...Kf4 2.Qc7#/Qb8# 1...Rxd4 2.Qxd4# but 1...Kxf6! 1.Rxe4+?? 1...Kxf6 2.Qf7# but 1...Nxe4! 1.Qg7! zz 1...Kf4 2.Qc7# 1...Kxd4 2.Bb2# 1...Nfxg4/Nh1/Nh3/Nfd1/Nd3 2.Rxe4# 1...Nf1/Nf5/Ng2/Nexg4/Ned1/Nd5/Nxc2/Nc4/Rxg4 2.Nf3# 1...Rxd4 2.Qg5# 1...Rf4 2.Rd5#" keywords: - Flight giving and taking key - Black correction --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Ka5, Qh6, Rd8, Rb1, Ba6, Ba1, Sg3, Sb7, Pf5, Pf2, Pe6, Pe2, Pc4] black: [Kd4, Bd7, Sf4, Sd5, Pf6, Pc3] stipulation: "#2" solution: | "1...Ne3/Ne7/Nc7/Nb4/Nb6/Bxe6/Be8/Bc6/Ba4/Bc8 2.Qxf6#/Qxf4# 1...Bb5 2.Qxf4# 1.Rxd7?? (2.Qxf6#/Qxf4#) 1...Ng2 2.Rxd5#/Qxf6# 1...Ng6/Nh5/Nxe2/Nd3 2.Rxd5#/Qe3# 1...Nh3/Nxe6 2.Rxd5#/Qxf6#/Qe3# but 1...Ke5! 1.Qh4?? zz 1...Ne3/Ne7/Nc7/Nb4/Nb6/Bxe6/Bc6 2.Qxf4#/Qxf6# 1...Be8/Ba4/Bc8 2.Rxd5#/Qxf4#/Qxf6# 1...Bb5 2.Qxf4# but 1...Ke5! 1.Qh1?? (2.Qe4#) but 1...Ng2! 1.Bxc3+?? 1...Nxc3 2.Qxf6# but 1...Kxc3! 1.Rb5! zz 1...Kxc4 2.Rb4# 1...Ke5 2.Bxc3# 1...Ng2/Ng6/Nh3/Nh5/Nxe2/Nxe6/Nd3 2.Rxd5# 1...Ne3/Ne7/Nc7/Nb4/Nb6/Bxe6/Be8/Bc6/Bxb5/Bc8 2.Qxf4#" keywords: - Flight giving key - Active sacrifice --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Kd7, Qa7, Rh5, Be2, Be1, Sd2, Sd1, Pg3, Pe6, Pe4, Pb6, Pa5] black: [Kd4, Sg5, Ph6, Pg4, Pe7, Pd6, Pc6] stipulation: "#2" solution: | "1...Kc5/Nxe4 2.Nb3# 1...Nh7/Nf3/Nf7/Nxe6 2.Bf2# 1.Qa8?? zz 1...Ke5/Nh3 2.Qh8# 1...Kc5/Nxe4 2.Nb3# 1...c5 2.Qh8#/Qd5# 1...Nh7/Nf3/Nf7/Nxe6 2.Bf2# but 1...d5! 1.Rxg5?? (2.Bf2#) but 1...hxg5! 1.Qb8! zz 1...Ke5/Nh3/c5 2.Qh8# 1...Kc5/Nxe4 2.Nb3# 1...Nh7/Nf3/Nf7/Nxe6/d5 2.Bf2#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Kb8, Rd4, Rb6, Bh4, Sf6, Sf3, Pf5, Pf4, Pb2, Pa5] black: [Kc5, Bc6, Pd7, Pd5, Pd3, Pb3] stipulation: "#2" solution: | "1...Kd6[a] 2.Ne4#[A] 1...Bb7[b]/Ba8[b] 2.Nxd7#[B] 1.Be1?? (2.Bb4#) but 1...d2! 1.Nxd7+[B]?? 1...Bxd7 2.Be7# but 1...Kd6[a]! 1.Rxd5+?? 1...Kc4 2.Ne5#/Nd2# but 1...Bxd5! 1.Nd2! zz 1...Kd6[a] 2.Nfe4#[C] 1...d6/Bb5/Bb7[b]/Ba8[b] 2.Nxb3#[D] 1...Kxd4 2.Bf2# 1...Ba4 2.Rxd5#" keywords: - Flight giving key - Changed mates --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Kg6, Qf1, Rg2, Rd4, Bh1, Bf8, Sc7, Sb4, Pe3, Pd6, Pc4, Pb2, Pa5] black: [Kc5, Qb6] stipulation: "#2" solution: | "1...Qb5/Qb7/Qa7 2.d7# 1...Qxb4 2.Rg5# 1...Qb8/Qa6 2.Nca6# 1...Qc6 2.Nd3# 1...Qxd6+ 2.Bxd6# 1...Qxc7 2.dxc7# 1.Qf6?? zz 1...Qb5/Qb7/Qxa5/Qa7 2.d7# 1...Qxb4 2.Rg5#/d7# 1...Qb8/Qa6 2.Nca6# 1...Qc6 2.Nd3# 1...Qxd6 2.Qxd6#/Bxd6#/Nca6# 1...Qxc7 2.dxc7# but 1...Kxb4! 1.Qe1?? (2.Rg5#/Ne6#) 1...Qxb4 2.Rg5# 1...Qb7 2.Ne6#/d7# 1...Qc6 2.Ne6#/Nd3# 1...Qxd6+ 2.Bxd6#/Ne6# 1...Qxc7 2.Rg5#/dxc7# but 1...Qxa5! 1.Qa1! zz 1...Kxb4 2.Qa3# 1...Qb5/Qb7/Qa7 2.d7# 1...Qxb4 2.Rg5# 1...Qb8/Qa6 2.Nca6# 1...Qc6 2.Nd3# 1...Qxd6+ 2.Bxd6# 1...Qxc7 2.dxc7# 1...Qxa5 2.Qxa5#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1890 algebraic: white: [Kc8, Rb6, Be5, Sh5, Se7, Pg6, Pe2, Pb4, Pa2] black: [Kc4] stipulation: "#3" solution: | "1.Se7-f5 ! threat: 2.Sf5-e3 # 1...Kc4-d5 2.Rb6-b5 + 2...Kd5-e4 3.Sh5-g3 # 2...Kd5-c6 3.Sf5-d4 # 2...Kd5-e6 3.Sh5-g7 # 2...Kd5-c4 3.Sf5-d6 #" --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Kg1, Qe7, Rh7, Rh3, Bh5, Se2, Pg5, Pf2, Pe6, Pc6, Pb5, Pb3, Pb2, Pa4] black: [Kd5, Sb1, Ph4, Pg7, Pf3, Pc5, Pb6] stipulation: "#3" solution: | "1.Qe7-c7 ! zugzwang. 1...Sb1-d2 2.Se2-c3 + 2...Kd5-d4 3.Qc7-d6 # 2...Kd5*e6 3.Bh5-g4 # 1...Sb1-c3 2.Se2*c3 + 2...Kd5-d4 3.Qc7-d6 # 2...Kd5*e6 3.Bh5-g4 # 1...Sb1-a3 2.Se2-c3 + 2...Kd5-d4 3.Qc7-d6 # 2...Kd5*e6 3.Bh5-g4 # 1...f3*e2 2.Rh3-d3 + 2...Kd5*e6 3.Bh5-g4 # 2...Kd5-e4 3.Bh5-g6 # 1...c5-c4 2.Bh5*f3 + 2...Kd5-c5 3.Qc7-e7 # 2...Kd5*e6 3.Se2-d4 # 1...Kd5*e6 2.Bh5-f7 + 2...Ke6-f5 3.Qc7-f4 # 1...Kd5-e4 2.Qc7-d6 threat: 3.Bh5-g6 # 2...Ke4-f5 3.Qd6-d5 # 1...g7-g6 2.Rh7-d7 + 2...Kd5*e6 3.Bh5-g4 # 2...Kd5-e4 3.Qc7-f4 # 3.Bh5*g6 #" --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Kb4, Qd1, Rg4, Bg7, Bd7, Sf3, Sb6, Ph3, Pc3, Pb3, Pa5, Pa3] black: [Kf5, Re1, Ra8, Bh4, Sg2, Sc7, Pe6, Pe2, Pd5, Pb5, Pa6] stipulation: "s#2" solution: | "1.Sb6-c8 ! threat: 2.Sc8-e7 + 2...Bh4*e7 # 1...Sg2-f4 2.Qd1-d3 + 2...Sf4*d3 # 1...Bh4-f2 2.Qd1*d5 + 2...Sc7*d5 # 1...Bh4-g3 2.Sc8-d6 + 2...Bg3*d6 # 1...Bh4-e7 + 2.Sc8-d6 + 2...Be7*d6 # 1...Ra8*c8 2.Qd1*d5 + 2...Sc7*d5 #" --- authors: - Baird, Edith Elina Helen source: "????" date: 1907 algebraic: white: [Ka6, Rc6, Ra7, Sb7] black: [Kb8, Bc7] stipulation: "#2" solution: | "1.Nd6?? zz 1...Bd8/Ba5 2.Rc8# 1...Bb6 2.Rc8#/Rxb6# but 1...Bxd6! 1.Nc5! zz 1...Kc8 2.Ra8# 1...Bd6/Be5/Bf4/Bg3/Bh2/Bd8/Bb6/Ba5 2.Nd7#" keywords: - No pawns - Letters --- authors: - Baird, Edith Elina Helen source: 777 Chess Miniatures in Three date: 1908 algebraic: white: [Kg2, Rd5, Bc3, Se3, Sa2] black: [Ke4] stipulation: "#3" solution: | "1.Bc3-e1 ! zugzwang. 1...Ke4*e3 2.Be1-d2 + 2...Ke3-e4 3.Sa2-c3 # 2...Ke3-e2 3.Sa2-c3 # 1...Ke4-f4 2.Sa2-c3 zugzwang. 2...Kf4*e3 3.Be1-d2 # 1.Kg2-g3 ! threat: 2.Sa2-c1 threat: 3.Rd5-e5 # 2.Sa2-b4 threat: 3.Rd5-e5 # 1...Ke4*e3 2.Sa2-c1 threat: 3.Rd5-e5 # 1.Kg2-f2 ! threat: 2.Bc3-f6 threat: 3.Rd5-d4 #" --- authors: - Baird, Edith Elina Helen source: The Chess Amateur date: 1920 algebraic: white: [Kd8, Qa5, Se7] black: [Kd6, Bb8, Pe6, Pa6] stipulation: "#2" solution: | "1...e5 2.Qd5#/Qb6# 1...Bc7+/Ba7 2.Qxc7# 1.Qc3! (2.Qd4#) 1...e5 2.Qc6# 1...Bc7+/Ba7 2.Qxc7#" --- authors: - Baird, Edith Elina Helen source: The Chess Amateur date: 1921 algebraic: white: [Kg6, Qd3, Sh5] black: [Kg4, Sh1, Ph4, Pe6] stipulation: "#2" solution: | "1...e5 2.Qf5# 1...h3 2.Qe4# 1.Qe3?? (2.Nf6#) 1...h3 2.Qe4#/Qf4# but 1...Ng3! 1.Qf1! zz 1...h3 2.Qf4# 1...Ng3 2.Nf6# 1...Nf2 2.Qg2# 1...e5 2.Qf5#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: The Chess Amateur date: 1921 algebraic: white: [Ka3, Rd6, Rb4, Bc5, Pf3, Pd5] black: [Ke5] stipulation: "#3" solution: | "1.Rd6-h6 ! zugzwang. 1...Ke5-f5 2.Bc5-e7 zugzwang. 2...Kf5-e5 3.Rh6-h5 # 1...Ke5*d5 2.Bc5-e3 zugzwang. 2...Kd5-e5 3.Rb4-b5 #" --- authors: - Baird, Edith Elina Helen source: The Chess Amateur date: 1923 algebraic: white: [Kf3, Rd7, Rb5, Sc7, Sb6] black: [Kb7] stipulation: "#3" solution: | "1.Sc7-e6 + ! 1...Kb7-c6 2.Se6-d4 # 1...Kb7-b8 2.Sb6-c8 + 2...Kb8-a8 3.Rd7-a7 # 3.Se6-c7 # 2...Kb8*c8 3.Rd7-c7 # 3.Rd7-d8 # 1...Kb7-a6 2.Rb5-b1 zugzwang. 2...Ka6-a5 3.Rd7-a7 # 2.Rb5-b2 zugzwang. 2...Ka6-a5 3.Rd7-a7 # 2.Rb5-b3 zugzwang. 2...Ka6-a5 3.Rd7-a7 # 1.Sb6-c4 + ! 1...Kb7-c6 2.Sc4-e5 # 1...Kb7-a7 2.Sc7-a6 + 2...Ka7-a8 3.Rb5-b8 # 3.Sc4-b6 # 2...Ka7*a6 3.Rb5-a5 # 3.Rb5-b6 # 1...Kb7-c8 2.Rd7-h7 zugzwang. 2...Kc8-d8 3.Rb5-b8 # 2.Rd7-g7 zugzwang. 2...Kc8-d8 3.Rb5-b8 # 2.Rd7-f7 zugzwang. 2...Kc8-d8 3.Rb5-b8 #" --- authors: - Baird, Edith Elina Helen source: The Chess Amateur date: 1923 algebraic: white: [Kd6, Re7, Rc5, Sf7, Se8] black: [Kf8] stipulation: "#2" solution: | "1.Rd7?? zz 1...Kxe8 2.Rc8# but 1...Kg8! 1.Rb7?? zz 1...Kxe8 2.Rc8# but 1...Kg8! 1.Ra7?? zz 1...Kxe8 2.Rc8# but 1...Kg8! 1.Rf5?? (2.Nh6#) but 1...Kg8! 1.Rh5! (2.Rh8#)" keywords: - No pawns - Scaccografia --- authors: - Baird, Edith Elina Helen source: The Chess Amateur date: 1923 algebraic: white: [Kb1, Re1, Rb4, Bg6, Se4] black: [Kd3, Sh7] stipulation: "#2" solution: "1.Be8! (2.Bb5#)" keywords: - No pawns --- authors: - Baird, Edith Elina Helen source: The Chess Amateur date: 1924 algebraic: white: [Kb3, Rg5, Rd8, Ba2, Sd5] black: [Kf7] stipulation: "#3" solution: | "1.Ba2-b1 ! threat: 2.Bb1-h7 threat: 3.Bh7-g8 #" --- authors: - Baird, Edith Elina Helen source: The Chess Amateur date: 1924 algebraic: white: [Kb8, Re5, Bg3, Sf6, Sd4] black: [Kd6] stipulation: "#2" solution: | "1.Ka7! zz 1...Kc7 2.Re8#" keywords: - Flight giving key - No pawns --- authors: - Baird, Edith Elina Helen source: The Chess Amateur source-id: 491 date: 1924-04 algebraic: white: [Ke6, Rc4, Ba2] black: [Kg8] stipulation: "#2" solution: | "1.Kf6! zz 1...Kf8 2.Rc8# 1...Kh8/Kh7 2.Rh4#" keywords: - Flight taking key - Ideal mates - No pawns --- authors: - Baird, Edith Elina Helen source: The Chess Amateur date: 1924 algebraic: white: [Kd7, Re6, Rc8, Sh7, Sd3] black: [Kf5] stipulation: "#3" solution: | "1.Sd3-f2 ! threat: 2.Rc8-f8 # 1...Kf5-f4 2.Rc8-c3 zugzwang. 2...Kf4-f5 3.Rc3-f3 #" --- authors: - Baird, Edith Elina Helen source: date: 1907 algebraic: white: [Kb6, Rc7, Pc6, Pa7] black: [Ka8, Ba6] stipulation: "#2" solution: | "1...Ba6-c8 {(Ba~ )} 2.Rc7*c8 # 1...Ba6-b7 2.c6*b7 # 1.Rc7-b7 ! threat: 2.Rb7-b8 # 1...Ba6*b7 2.c6*b7 #" keywords: - Active sacrifice - Letters --- authors: - Baird, Edith Elina Helen source: date: 1907 algebraic: white: [Kc6, Bc7, Sc8, Sa6, Pa7] black: [Ka8, Rb7] stipulation: "#2" solution: | "1...Rb8 2.axb8Q#/axb8R# 1...Rxa7 2.Nb6#[A] 1...Rxc7+ 2.Nxc7#[B] 1.Bb8! zz 1...Rb6+/Rxa7/Rd7/Re7/Rf7/Rg7/Rh7 2.Nxb6#[A] 1...Rb5/Rb4/Rb3/Rb2/Rb1/Rc7+ 2.Nc7#[B] 1...Rxb8 2.Nc7#[B]/axb8Q#/axb8R#" keywords: - Transferred mates - Letters --- authors: - Baird, Edith Elina Helen source: Norwich Mercury date: 1907 algebraic: white: [Kb8, Qb2, Bb6, Bb5] black: [Kb4, Sb3] stipulation: "#2" solution: | "1.Bc4?? (2.Qxb3#) but 1...Kxc4! 1.Ba4?? (2.Qxb3#) but 1...Kxa4! 1.Kb7! zz 1...Kxb5 2.Qxb3#" keywords: - No pawns - Letters comments: - I-n E-sse - first letter in In with 372515 --- authors: - Baird, Edith Elina Helen source: Girl's Own Paper date: 1907 algebraic: white: [Kc4, Qd6, Rd3, Be5] black: [Ke4, Pc5] stipulation: "#2" solution: | "1.Bf4?? (2.Qe5#) but 1...Kf5! 1.Bg3?? (2.Qd5#/Qe6#/Qg6#/Qe5#/Qf4#) but 1...Kf5! 1.Bh2?? (2.Qd5#/Qe6#/Qg6#/Qe5#/Qf4#) but 1...Kf5! 1.Bf6?? (2.Qe5#) but 1...Kf5! 1.Bg7?? (2.Qe5#) but 1...Kf5! 1.Bh8?? (2.Qe5#) but 1...Kf5! 1.Bc3?? (2.Qe5#) but 1...Kf5! 1.Bb2?? (2.Qe5#) but 1...Kf5! 1.Ba1?? (2.Qe5#) but 1...Kf5! 1.Rf3?? (2.Qd5#) but 1...Kxf3! 1.Qf8! (2.Qf4#) 1...Kxe5 2.Re3#" keywords: - Digits - Flight giving and taking key - Letters comments: - G-irl's O-wn P-aper - first letter in Own with 372636 and 357892 --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1907 algebraic: white: [Kg1, Bf6, Sh6, Sg7, Pg5, Pg3] black: [Kg6] stipulation: "#2" solution: | "1.Ne6! zz 1...Kh5 2.Nf4# 1...Kh7 2.Nf8#" keywords: - Flight giving key - Model mates --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine algebraic: white: [Kg8, Bf8, Bf7, Sh4, Ph3, Pg2, Pf2, Pe3] black: [Kg5, Pf6] stipulation: "#2" solution: | "1.Be7?? zz 1...Kxh4 2.Bxf6# but 1...Kh6! 1.Kg7?? zz 1...f5 2.Be7#/Nf3# but 1...Kxh4! 1.Kh7?? zz 1...f5 2.Be7# but 1...Kxh4! 1.g3?? (2.f4#) but 1...f5! 1.Bg7! zz 1...Kxh4 2.Bxf6# 1...f5 2.Nf3#" keywords: - Model mates - Letters --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine algebraic: white: [Kd6, Qd8, Ra3, Bb7, Bb2, Sc7, Pc2] black: [Ka5, Sd7, Sa4, Pa6] stipulation: "#2" solution: | "1...Nb6 2.Bc3# 1.Qxd7?? zz 1...Kb4 2.Qxa4#/Rxa4# but 1...Kb6! 1.Nd5+?? 1...Nb6 2.Qxb6# but 1...Kb5! 1.Bc6! zz 1...Kb4 2.Rxa4# 1...Kb6 2.Nb5# 1...Ne5/Nf6/Nf8/Nc5/Nb8 2.Nd5# 1...Nb6 2.Bc3#" keywords: - Black correction - Letters comments: - C-ompliments of the S-eason - first letter in compliments with 372554 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1920-04-12 algebraic: white: [Kg1, Qg3, Bd6, Sc5, Sb6, Pf6] black: [Kd4, Sg4, Sb4, Pf7] stipulation: "#2" solution: | "1...Nc2[a]/Nc6[a]/Nd3[b]/Nd5[a]/Na2[a]/Na6[a] 2.Qd3#[A] 1...Nh2/Nh6/Nf2/Nxf6/Ne3[c]/Ne5 2.Qe5#[B] 1.Kg2?? zz 1...Nc2[a]/Nc6[a]/Nd3[b]/Nd5[a]/Na2[a]/Na6[a] 2.Qd3#[A] 1...Nh2/Nh6/Nf2/Nxf6/Ne5 2.Qe5#[B] but 1...Ne3+[c]! 1.Kh1? zz 1...Nc2[a]/Nc6[a]/Nd3[b]/Nd5[a]/Na2[a]/Na6[a] 2.Qd3#[A] 1...Nh2/Nh6/Nxf6/Ne3[c]/Ne5 2.Qe5#[B] but 1...Nf2+! 1.Qxg4+?? 1...Ke3 2.Nc4# but 1...Kc3! 1.Qf3?? (2.Nb3#[C]) 1...Nd3[b] 2.Qxd3#[A] but 1...Ne3[c]! 1.Qe1! zz 1...Nc2[a]/Nc6[a]/Nd5[a]/Na2[a]/Na6[a] 2.Qd2#[D] 1...Nd3[b] 2.Nb3#[C] 1...Ne3[c] 2.Qa1#[E] 1...Nh2/Nh6/Nf2/Nxf6/Ne5 2.Qe5#[B]" keywords: - Mutate - Black correction - Changed mates --- authors: - Baird, Edith Elina Helen source: Boy's Own Paper date: 1902 algebraic: white: [Kf5, Bh2, Ba2, Sd7, Sb3, Pe6, Pd6, Pd2] black: [Kd5, Ph3, Pd3, Pb5, Pb4] stipulation: "#2" solution: | "1.Kg4! - zz 1...Ke4 2.Sf6# 1...Kc6 2.Sa5# 1...Kxe6 2.Sc5# 1...Kc4 2.Sb6#" keywords: - 2 flights giving key - King star flight --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1893 algebraic: white: [Kb8, Rf8, Rc4, Bg3, Bb5, Sh8, Ph6, Pc3] black: [Ke6, Rh7, Sh3, Pg7, Pf2] stipulation: "#3" solution: | "1.Rc4-e4 + ! 1...Ke6-d5 2.Re4-e5 + 2...Kd5-d6 3.Sh8-f7 # 3.Rf8-d8 # 1.Bg3-c7 ! threat: 2.Rc4-e4 + 2...Ke6-d5 3.Re4-e5 # 1...Sh3-g5 2.Rf8-e8 + 2...Ke6-f6 3.Rc4-f4 # 2...Ke6-f5 3.Rc4-f4 # 2...Ke6-d5 3.Re8-e5 # 1...Ke6-d5 2.Rc4-c5 + 2...Kd5*c5 3.Rf8-f5 # 2...Kd5-e6 3.Rc5-e5 # 2...Kd5-e4 3.Rc5-e5 #" --- authors: - Baird, Edith Elina Helen source: Norwich Mercury algebraic: white: [Kf3, Re4, Bb5, Bb4, Sf7, Pc6] black: [Kd5, Bb7, Pf6, Pf5, Pf4, Pb6, Pb3] stipulation: "#2" solution: | "1...Bxc6 2.Bc4# 1.Rd4+?? 1...Ke6 2.Bc4# but 1...Kxd4! 1.Re6! (2.Rd6#) 1...Kxe6 2.Bc4#" keywords: - 2 flights giving key - Letters comments: - N-orwich - composed before 1908 --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1890 algebraic: white: [Kh7, Qb8, Rg1, Bf7, Bd8, Sa3, Pg5, Pe2, Pc3, Pa6, Pa5] black: [Kd5, Bg2, Bc1, Sh4, Se1, Pg7, Pf3, Pe6, Pe3, Pc5, Pa7] stipulation: "#3" solution: | "1.Qb8-f4 ! threat: 2.c3-c4 + 2...Kd5-c6 3.Bf7-e8 # 3.Qf4-c7 # 1...c5-c4 2.Qf4-d4 + 2...Kd5-c6 3.Bf7-e8 # 1...Kd5-c6 2.Bf7-e8 + 2...Kc6-d5 3.c3-c4 # 2.Qf4-e5 threat: 3.Bf7-e8 # 3.Qe5*e6 # 2...Bc1*a3 3.Bf7-e8 # 2...Bg2-h3 3.Bf7-e8 # 2...Sh4-f5 3.Bf7-e8 # 2...c5-c4 3.Bf7-e8 # 2...Kc6-d7 3.Qe5-c7 #" --- authors: - Baird, Edith Elina Helen source: The Chess Amateur date: 1920 algebraic: white: [Ke7, Bh6, Se3, Sb8, Pg4, Pc4, Pc2] black: [Ke5, Sb5, Sa4, Pc5, Pa7] stipulation: "#3" solution: --- authors: - Baird, Edith Elina Helen source: Brighton Society date: 1895 algebraic: white: [Kf1, Qh3, Bb3, Sg7, Sg4, Ph2, Pg6, Pc4, Pa5] black: [Kc5, Pb4, Pa7] stipulation: "#3" solution: --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1889 algebraic: white: [Ke7, Qd1, Rh4, Re5, Bg8, Bc1, Sh2, Sa5, Pc5, Pc4, Pb2, Pa4] black: [Kd4, Rh8, Rf4, Bg1, Sf7, Ph6, Pg4, Pd3, Pc6, Pa3] stipulation: "#2" solution: | "1...Rf3/g3 2.Nxf3# 1...Ng5/Nd6 2.Nxc6# 1...axb2 2.Bxb2# 1.Qd2? (2.Qxf4#[A]/Qc3#[B]) 1...Kxe5 2.Qxf4#[A] 1...Bxh2/Be3/Rf2 2.Qe3#/Qc3#[B] 1...axb2 2.Bxb2#/Qxb2# 1...Ng5/Nd6 2.Nxc6#/Qc3#[B] 1...Rf3 2.Qc3#[B]/Nxf3# 1...Rf1/Rf5/Rf6/Re4 2.Qc3#[B] but 1...Nxe5! 1.Qxd3+?? 1...Kxe5 2.Nxc6# but 1...Kxd3! 1.Qe1? (2.Qc3#[B]) 1...Nxe5 2.Nb3# 1...axb2 2.Bxb2# but 1...d2! 1.Qxg1+?? 1...Rf2 2.Nf3# but 1...Kxe5! 1.Rd5+?? 1...Ke4 2.Qxd3# but 1...cxd5! 1.Qf3! (2.Qxf4#[A]) 1...Bxh2/Be3 2.Qe3# 1...Ng5/Nd6 2.Nxc6# 1...Nxe5 2.Nb3# 1...axb2 2.Bxb2# 1...Rxf3/gxf3 2.Nxf3# 1...Rf5/Rf6/Re4 2.Qe4# 1...d2 2.Qc3#[B]" keywords: - Active sacrifice - Barnes - Black correction --- authors: - Baird, Edith Elina Helen source: The Chess Amateur date: 1923 algebraic: white: [Kf6, Rg3, Rc7, Sf2, Sb6, Pf4, Pd6, Pd3, Pd2, Pc4, Pb4] black: [Kd4, Sc3, Pe4, Pd5] stipulation: "#2" solution: | "1...exd3 2.Rxd3# 1...e3 2.dxe3# 1...dxc4 2.Rxc4# 1.dxe4?? (2.Rd3#/dxc3#) 1...Nd1/Ne2/Nb1/Nb5/Na2/Na4 2.Rd3# 1...dxc4 2.dxc3#/Rxc4# 1...dxe4 2.dxc3# but 1...Nxe4+! 1.cxd5?? (2.Rc4#/dxc3#) 1...Nd1/Ne2/Nb1/Nb5/Na2/Na4 2.Rc4# but 1...Nxd5+! 1.Rc5! zz 1...Nd1/Ne2/Nb1/Nb5/Na2/Na4 2.Rxd5# 1...exd3 2.Rxd3# 1...e3 2.dxe3# 1...dxc4 2.Rxc4#" --- authors: - Baird, Edith Elina Helen source: The Chess Amateur date: 1921 algebraic: white: [Kg3, Rb5, Se7, Se5, Ph4, Pf6] black: [Kh5, Bb8, Ph6, Pf7] stipulation: "#2" solution: | "1...Bxe5+ 2.Rxe5# 1.Nf5?? (2.Ng7#) but 1...Bxe5+! 1.Ng6?? (2.Nf4#) but 1...fxg6! 1.Nd5! (2.Nf4#)" --- authors: - Baird, Edith Elina Helen source: Illustrated Sporting date: 1888 algebraic: white: [Ka2, Qb1, Rh4, Rc4, Bh2, Ba6, Sf5, Sa4, Pd6, Pd2, Pb6] black: [Kd5, Re3, Bd8, Sa3, Pf3, Pe7, Pd3, Pb5] stipulation: "#2" solution: | "1...Re6 2.Bb7#/Nc3#/Qxd3#/Rhd4#/Rc5# 1...e6 2.Nxe3#/Nc3#/Bb7#/Rhd4#/Rc5# 1.Bc8?? (2.Nc3#/Nxe3#/Rhd4#/Rc5#) 1...Bxb6 2.Nxb6#/Nc3# 1...Nxb1/b4 2.Rhd4#/Nxe3#/Rc5# 1...Nc2 2.Nc3#/Rc5#/Qxb5# 1...Nxc4 2.Qxb5# 1...bxa4 2.Rhd4#/Nxe3# 1...Re2/Re1/Re5 2.Nc3#/Rhd4#/Qxd3#/Rc5# 1...Re4 2.Rc5# 1...Re6 2.Bb7#/Rhd4#/Qxd3#/Nc3#/Rc5# 1...exd6 2.Rhd4#/Nxe3#/Nc3# 1...e5 2.Nc3#/Rc5# but 1...bxc4! 1.Rh6! (2.Nxe3#) 1...Kxc4 2.Qb3# 1...Bxb6 2.Nxb6# 1...Nc2 2.Qxb5# 1...Nxc4/bxc4 2.Bb7# 1...Re2/Re1/Re5/Re6 2.Qxd3# 1...Re4 2.Rc5#" keywords: - Black correction - Flight giving and taking key --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1902 algebraic: white: [Kf3, Rh8, Re4, Bf2, Bd1, Sf7, Sb1, Pg4, Pg2, Pb5] black: [Kd3, Ba7, Pg5, Pe6, Pe5, Pb6] stipulation: "s#5" solution: --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine date: 1904-05 algebraic: white: [Ka5, Bh1, Bf8, Sb2, Ph6, Pf7] black: [Kc6, Qe6, Sh8, Sf3, Pc7, Pb5, Pa4] stipulation: + solution: | 1. Nd3 (1. Bxf3+ $2 Kd7) 1... Qe3 (1... Qh3 2. Bxf3+ Kd7 (2... Qxf3 3. Ne5+) 3. Bg4+ Qxg4 4. Ne5+ Ke6 5. Nxg4 Kxf7 6. Bg7 Ng6 7. Kxb5 a3 8. Ba1 Kg8 9. Kb4 Kh7 10. Kxa3 Nh4 11. Bb2 Nf5 12. Bc1) (1... Qb3 2. Bxf3+ Kd7 3. Nc5+ Kd8 4. Nxb3 axb3 5. Ba3) (1... Qxf7 2. Ne5+ Kd5 3. Nxf7 Nxf7 4. Bxf3+ Kc4 5. h7) (1... Qc8 2. Bxf3+ Kd7 3. Bg4+) 2. Bc5 Qd2+ (2... Qxc5 3. Bxf3+ Kd7 4. Nxc5+ Ke7 5. Bd5 Nxf7 6. h7) (2... Qxh6 3. Bxf3+ Kd7 4. f8=Q Qxf8 5. Bxf8 Ke8 (5... Ng6 6. Bb4 Nh4 7. Bg4+ Ke8 8. Nf4) 6. Bg7) (2... Qxd3 3. f8=Q Qc3+ (3... b4 4. Bxf3+ Kd7 5. Qe7+ Kc8 6. Qe8+ Qd8 7. Bg4+) (3... Nf7 4. Bxf3+ Qxf3 5. Qa8+) 4. Bb4) 3. Nb4+ Kxc5 4. f8=Q+ Qd6 5. Qxd6+ cxd6 6. Bxf3 Ng6 7. h7 Nh8 8. Bc6 a3 9. Bxb5 1-0 comments: - The Castle of Repose --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Ke1, Qb5, Se2, Ph4, Ph3, Pg5, Pf2] black: [Kf5, Pe6, Pe5, Pc4] stipulation: "#3" solution: | "1.Qb5-b8 ! threat: 2.Se2-g3 + 2...Kf5-f4 3.Qb8-f8 # 2...Kf5-g6 3.Qb8-g8 # 1...Kf5-g6 2.Qb8-g8 + 2...Kg6-h5 3.Qg8-h7 # 2...Kg6-f5 3.Qg8-h7 # 1...Kf5-e4 2.Qb8-b7 + 2...Ke4-f5 3.Qb7-h7 # 2...Ke4-d3 3.Qb7-b1 #" --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Kh6, Qa7, Sh5, Sb2, Pe5, Pe2, Pd6, Pd2] black: [Kd4, Sa1, Pc5] stipulation: "#3" solution: | "1.Sb2-d3 ! threat: 2.Qa7*c5 + 2...Kd4-e4 3.Sh5-g3 # 1...Sa1-b3 2.Sh5-f6 zugzwang. 2...Sb3-a1 3.Qa7*c5 # 2...Sb3-c1 3.Qa7*c5 # 2...Sb3*d2 3.Qa7*c5 # 2...Sb3-a5 3.Qa7*c5 # 2...Kd4-c4 3.Qa7-a4 # 1...Kd4-e4 2.Sh5-f6 + 2...Ke4-f5 3.Qa7-d7 # 2...Ke4-d4 3.Qa7*c5 # 1...Kd4-d5 2.Sh5-f6 + 2...Kd5-e6 3.Qa7-d7 # 2...Kd5-d4 3.Qa7*c5 # 2...Kd5-c6 3.Qa7-a6 # 2...Kd5-c4 3.Qa7-a4 # 1...Kd4-c4 2.Qa7-a4 + 2...Kc4-d5 3.Sh5-f4 #" --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Ka7, Qg6, Bf2, Sd1, Sa6, Ph3, Pg3, Pb6, Pa2] black: [Kd5, Ph4, Pd4, Pc6, Pa3] stipulation: "#3" solution: | "1.Sa6-b4 + ! 1...Kd5-e5 2.b6-b7 threat: 3.b7-b8=Q # 3.b7-b8=B # 1...Kd5-c5 2.Qg6*c6 + 2...Kc5*b4 3.Bf2-e1 # 1...Kd5-c4 2.Qg6*c6 + 2...Kc4*b4 3.Bf2-e1 # 1.Bf2-e1 ! zugzwang. 1...Kd5-e5 2.Sa6-c7 threat: 3.Qg6-e6 # 2...d4-d3 3.Be1-c3 # 2...h4*g3 3.Be1*g3 # 1...d4-d3 2.Be1-c3 threat: 3.Sd1-e3 # 2...Kd5-c4 3.Qg6*c6 # 1...h4*g3 2.Sa6-b4 + 2...Kd5-e5 3.Be1*g3 # 2...Kd5-c5 3.Qg6*c6 # 2...Kd5-c4 3.Qg6*c6 # 1...Kd5-c4 2.Qg6-e6 + 2...Kc4-d3 3.Sa6-b4 # 2...Kc4-b5 3.Qe6-b3 # 1...c6-c5 2.Sa6-c7 + 2...Kd5-e5 3.Qg6-e6 # 2...Kd5-c4 3.Qg6-c2 #" --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Kc7, Qe6, Rh5, Bh1, Bf8, Se5, Sd6, Pg3, Pb4] black: [Kd4, Pg5, Pe4, Pa4, Pa3] stipulation: "#2" solution: | "1...e3 2.Nb5# 1.Nxe4?? (2.Bc5#) but 1...Ke3! 1.Qc4+?? 1...Kxe5 2.Bg7# but 1...Ke3! 1.Qb3?? (2.Nc6#) 1...Kxe5 2.Bg7# but 1...axb3! 1.Qa2! zz 1...Ke3 2.Nf5# 1...Kxe5 2.Bg7# 1...Kc3 2.Nb5# 1...g4 2.Qd2# 1...e3 2.Qa1#" keywords: - Flight giving key --- authors: - Baird, Edith Elina Helen source: date: 1907 algebraic: white: [Kg6, Be7, Be6, Sf7, Pg7] black: [Kg8, Qe8] stipulation: "#2" solution: | "1...Qxe7/Qc8/Qd7 2.Nh6# 1...Qd8/Qb8/Qa8/Qb5/Qa4 2.Ng5#/Nh6#/Nh8#/Ne5#/Nd6#/Nxd8# 1...Qf8 2.gxf8Q#/gxf8R#/Nh6# 1...Qxf7+ 2.Bxf7# 1...Qc6 2.Nh6#/Nd6# 1.Bg5?? zz 1...Qe7/Qc8/Qf8/Qd7 2.Nh6# 1...Qd8/Qb8/Qa8/Qb5/Qa4 2.Nh6#/Nh8#/Ne5#/Nd6#/Nxd8# 1...Qxf7+ 2.Bxf7# 1...Qc6 2.Nh6#/Nd6# but 1...Qxe6+! 1.Bh4?? zz 1...Qe7/Qc8/Qf8/Qd7 2.Nh6# 1...Qd8/Qb8/Qa8/Qb5/Qa4 2.Ng5#/Nh6#/Nh8#/Ne5#/Nd6#/Nxd8# 1...Qxf7+ 2.Bxf7# 1...Qc6 2.Nh6#/Nd6# but 1...Qxe6+! 1.Bf8?? zz 1...Qe7/Qc8/Qxf8/Qd7 2.Nh6# 1...Qd8/Qb8/Qa8/Qb5/Qa4 2.Ng5#/Nh6#/Nh8#/Ne5#/Nd6#/Nxd8# 1...Qxf7+ 2.Bxf7# 1...Qc6 2.Nh6#/Nd6# but 1...Qxe6+! 1.Bd6?? zz 1...Qe7/Qc8/Qd7 2.Nh6# 1...Qd8/Qb8/Qa8/Qc6/Qb5/Qa4 2.Ng5#/Nh6#/Nh8#/Ne5#/Nxd8# 1...Qf8 2.gxf8Q#/gxf8R#/Nh6# 1...Qxf7+ 2.Bxf7# but 1...Qxe6+! 1.Bc5?? zz 1...Qe7/Qc8/Qd7 2.Nh6# 1...Qd8/Qb8/Qa8/Qb5/Qa4 2.Ng5#/Nh6#/Nh8#/Ne5#/Nd6#/Nxd8# 1...Qf8 2.gxf8Q#/gxf8R#/Nh6# 1...Qxf7+ 2.Bxf7# 1...Qc6 2.Nh6#/Nd6# but 1...Qxe6+! 1.Bb4?? zz 1...Qe7/Qc8/Qd7 2.Nh6# 1...Qd8/Qb8/Qa8/Qb5/Qa4 2.Ng5#/Nh6#/Nh8#/Ne5#/Nd6#/Nxd8# 1...Qf8 2.gxf8Q#/gxf8R#/Nh6# 1...Qxf7+ 2.Bxf7# 1...Qc6 2.Nh6#/Nd6# but 1...Qxe6+! 1.Ba3?? zz 1...Qe7/Qc8/Qd7 2.Nh6# 1...Qd8/Qb8/Qa8/Qb5/Qa4 2.Ng5#/Nh6#/Nh8#/Ne5#/Nd6#/Nxd8# 1...Qf8 2.gxf8Q#/gxf8R#/Nh6# 1...Qxf7+ 2.Bxf7# 1...Qc6 2.Nh6#/Nd6# but 1...Qxe6+! 1.Bd8?? zz 1...Qe7/Qf8/Qd7 2.Nh6# 1...Qxd8 2.Ng5#/Nh6#/Nh8#/Ne5#/Nd6#/Nxd8# 1...Qxf7+ 2.Bxf7# 1...Qc6 2.Nh6#/Nd6# 1...Qb5/Qa4 2.Ng5#/Nh6#/Nh8#/Ne5#/Nd6# but 1...Qxe6+! 1.Bd5?? zz 1...Qxe7/Qc8/Qa8/Qd7/Qb5 2.Nh6# 1...Qd8 2.Nh6#/Nd6#/Nxd8# 1...Qb8/Qa4 2.Ng5#/Nh6#/Nh8#/Ne5#/Nd6#/Nd8# 1...Qf8 2.gxf8Q#/gxf8R#/Nh6# 1...Qxf7+ 2.Bxf7# but 1...Qc6+! 1.Bc4?? zz 1...Qxe7/Qc8/Qa8/Qd7/Qb5/Qa4 2.Nh6# 1...Qd8 2.Nh6#/Nd6#/Nxd8# 1...Qb8 2.Ng5#/Nh6#/Nh8#/Ne5#/Nd6#/Nd8# 1...Qf8 2.gxf8Q#/gxf8R#/Nh6# 1...Qxf7+ 2.Bxf7# but 1...Qc6+! 1.Bb3?? zz 1...Qxe7/Qc8/Qb8/Qa8/Qd7/Qb5/Qa4 2.Nh6# 1...Qd8 2.Nh6#/Nd6#/Nxd8# 1...Qf8 2.gxf8Q#/gxf8R#/Nh6# 1...Qxf7+ 2.Bxf7# but 1...Qc6+! 1.Ba2?? zz 1...Qxe7/Qc8/Qb8/Qa8/Qd7/Qb5/Qa4 2.Nh6# 1...Qd8 2.Nh6#/Nd6#/Nxd8# 1...Qf8 2.Nh6#/gxf8Q#/gxf8R# 1...Qxf7+ 2.Bxf7# but 1...Qc6+! 1.Bd7?? zz 1...Qxe7/Qd8/Qc8/Qb8/Qa8/Qxd7 2.Nh6# 1...Qf8 2.Nh6#/gxf8Q#/gxf8R# but 1...Qxf7+! 1.Bf6! zz 1...Qe7/Qxe6/Qc8/Qf8/Qd7 2.Nh6# 1...Qd8/Qb8/Qa8/Qb5/Qa4 2.Ng5#/Nh6#/Nh8#/Ne5#/Nd6#/Nxd8# 1...Qxf7+ 2.Bxf7# 1...Qc6 2.Nh6#/Nd6#" keywords: - Black correction - Block - Letters --- authors: - Baird, Edith Elina Helen source: Hereford Times algebraic: white: [Kg7, Qg3, Bf7, Ph7, Pg4] black: [Kg5, Pg6] stipulation: "#2" solution: | "1.Kg8?? zz 1...Kh6 2.Qh4# but 1...Kf6! 1.Kh8?? zz 1...Kh6 2.Qh4# but 1...Kf6! 1.Qf4+?? 1...Kh4 2.h8Q#/h8R# but 1...Kxf4! 1.Kf8! zz 1...Kh6 2.Qh4# 1...Kf6 2.Qf4#" keywords: - 2 flights giving key - Letters comments: - H-ereford T-imes - first letter in Times with 372564 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Ka6, Bb6, Sf8, Sb5, Pa7] black: [Ka8, Bd8] stipulation: "#2" solution: | "1...Be7/Bf6/Bg5/Bh4/Bc7 2.Nc7# 1.Ng6?? zz 1...Be7/Bf6/Bg5/Bh4/Bc7 2.Nc7# but 1...Bxb6! 1.Nh7?? zz 1...Be7/Bf6/Bg5/Bh4/Bc7 2.Nc7# but 1...Bxb6! 1.Ne6?? zz 1...Be7/Bf6/Bg5/Bh4/Bc7 2.Nec7#/Nbc7# but 1...Bxb6! 1.Nd7! zz 1...Be7/Bf6/Bg5/Bh4/Bc7 2.Nc7# 1...Bxb6 2.Nxb6#" keywords: - Black correction --- authors: - Baird, Edith Elina Helen source: date: 1907 algebraic: white: [Kc8, Rc6, Bc7, Sb7, Pa6] black: [Ka8, Ra7] stipulation: "#2" solution: | "1...Rxa6 2.Rxa6# 1.Bd6?? zz 1...Rxa6 2.Rxa6# but 1...Rxb7! 1.Be5?? zz 1...Rxa6 2.Rxa6# but 1...Rxb7! 1.Bf4?? zz 1...Rxa6 2.Rxa6# but 1...Rxb7! 1.Bg3?? zz 1...Rxa6 2.Rxa6# but 1...Rxb7! 1.Bh2?? zz 1...Rxa6 2.Rxa6# but 1...Rxb7! 1.Bd8?? zz 1...Rxa6 2.Rxa6# but 1...Rxb7! 1.Bb6?? zz 1...Rxb7 2.axb7# but 1...Rxa6! 1.Ba5?? zz 1...Rxa6 2.Rxa6# but 1...Rxb7! 1.Rb6?? zz 1...Rxa6 2.Rxa6# but 1...Rxb7! 1.Rd6?? zz 1...Rxa6 2.Rxa6# but 1...Rxb7! 1.Re6?? zz 1...Rxa6 2.Rxa6# but 1...Rxb7! 1.Rf6?? zz 1...Rxa6 2.Rxa6# but 1...Rxb7! 1.Rg6?? zz 1...Rxa6 2.Rxa6# but 1...Rxb7! 1.Rh6?? zz 1...Rxa6 2.Rxa6# but 1...Rxb7! 1.Bb8! zz 1...Rxa6 2.Rxa6# 1...Rxb7 2.axb7#" keywords: - Letters --- authors: - Baird, Edith Elina Helen source: date: 1907 algebraic: white: [Ka6, Sb5, Pc6, Pc5, Pa7] black: [Ka8, Ba5] stipulation: "#2" solution: | "1...Bb4/Bc3/Bd2/Be1/Bc7 2.Nc7# 1.c7! (2.c8Q#/c8R#) 1...Bxc7 2.Nxc7#" keywords: - Active sacrifice - Letters --- authors: - Baird, Edith Elina Helen source: date: 1907 algebraic: white: [Ka6, Rb7, Bc7, Sa7, Pc6] black: [Ka8, Qc8] stipulation: "#2" solution: | "1...Qb8/Qd7/Qe6/Qf5/Qg4/Qh3 2.Rxb8# 1...Qxb7+ 2.cxb7# 1.Nb5! zz 1...Qxc7 2.Nxc7# 1...Qb8 2.Rxb8# 1...Qd8/Qe8/Qf8/Qg8/Qh8 2.Ra7# 1...Qd7/Qe6/Qf5/Qg4/Qh3 2.Rb8#/Ra7# 1...Qxb7+ 2.cxb7#" keywords: - Black correction - Letters --- authors: - Baird, Edith Elina Helen source: date: 1907 algebraic: white: [Ke6, Be7, Sf8, Pg6, Pf7] black: [Kg7] stipulation: "#2" solution: | "1...Kh8 2.Bf6# 1.Bf6+?? 1...Kxf8 2.g7# but 1...Kh6! 1.Bd6?? zz 1...Kh8 2.Be5# but 1...Kh6! 1.Bc5?? zz 1...Kh8 2.Bd4# but 1...Kh6! 1.Bb4?? zz 1...Kh8 2.Bc3# but 1...Kh6! 1.Ba3?? zz 1...Kh8 2.Bb2# but 1...Kh6! 1.Ke5?? zz 1...Kh8 2.Bf6# but 1...Kh6! 1.Kd6?? zz 1...Kh8 2.Bf6# but 1...Kh6! 1.Kf5?? zz 1...Kh8 2.Bf6# but 1...Kh6! 1.Kd5?? zz 1...Kh8 2.Bf6# but 1...Kh6! 1.Kd7?? zz 1...Kh8 2.Bf6# but 1...Kh6! 1.Bg5! zz 1...Kh8 2.Bf6# 1...Kxf8 2.Bh6#" keywords: - Flight giving and taking key - Letters --- authors: - Baird, Edith Elina Helen source: date: 1907 algebraic: white: [Kg5, Rg6, Sf8, Pf7] black: [Kh8, Bh7] stipulation: "#2" solution: | "1...Bg8 2.fxg8Q#/fxg8R#/Rxg8# 1.Ne6?? zz 1...Bg8 2.fxg8Q# but 1...Bxg6! 1.Nd7?? zz 1...Bg8 2.fxg8Q# but 1...Bxg6! 1.Kg4?? zz 1...Bg8 2.fxg8Q#/fxg8R#/Rxg8# but 1...Bxg6! 1.Kf5?? zz 1...Bg8 2.fxg8Q#/fxg8R#/Rxg8# but 1...Bxg6+! 1.Kh5?? zz 1...Bg8 2.fxg8Q#/fxg8R#/Rxg8# but 1...Bxg6+! 1.Kh4?? zz 1...Bg8 2.fxg8Q#/fxg8R#/Rxg8# but 1...Bxg6! 1.Kf4?? zz 1...Bg8 2.fxg8Q#/fxg8R#/Rxg8# but 1...Bxg6! 1.Kf6?? zz 1...Bg8 2.fxg8Q#/fxg8R#/Rxg8# but 1...Bxg6! 1.Rg7?? (2.Rxh7#) 1...Bg6/Bf5/Be4/Bd3/Bc2/Bb1 2.Rg8# 1...Bg8 2.fxg8Q#/fxg8R#/Rxg8# but 1...Kxg7! 1.Rh6?? (2.Rxh7#) but 1...Kg7! 1.Kh6! zz 1...Bxg6 2.Nxg6# 1...Bg8 2.fxg8Q#/fxg8R#/Rxg8#" keywords: - Black correction - Letters --- authors: - Baird, Edith Elina Helen source: date: 1907 algebraic: white: [Ke6, Qg6, Se7, Pf7] black: [Kf8, Rg7] stipulation: "#2" solution: | "1...Rg8 2.fxg8Q#/fxg8R#/Qxg8# 1...Rxf7 2.Qg8#/Qxf7# 1...Rh7 2.Qg8# 1.Nf5?? (2.Qxg7#) 1...Rg8 2.fxg8Q#/fxg8R#/Qxg8# 1...Rxf7 2.Qxf7# 1...Rh7 2.Qg8# but 1...Rxg6+! 1.Nd5?? zz 1...Rg8 2.fxg8Q#/fxg8R#/Qxg8# 1...Rxf7 2.Qxf7# 1...Rh7 2.Qg8# but 1...Rxg6+! 1.Nc6?? zz 1...Rg8 2.fxg8Q#/fxg8R#/Qxg8# 1...Rxf7 2.Qxf7# 1...Rh7 2.Qg8# but 1...Rxg6+! 1.Nc8?? zz 1...Rg8 2.fxg8Q#/fxg8R#/Qxg8# 1...Rxf7 2.Qxf7# 1...Rh7 2.Qg8# but 1...Rxg6+! 1.Kd6?? zz 1...Rg8 2.fxg8Q#/fxg8R#/Qxg8# 1...Rxf7/Rh7 2.Qg8# but 1...Rxg6+! 1.Kd7?? zz 1...Rg8 2.fxg8Q#/fxg8R#/Qxg8# 1...Rxf7/Rh7 2.Qg8# but 1...Rxg6! 1.Kf6! (2.Qxg7#) 1...Rxg6+ 2.Nxg6# 1...Rg8 2.fxg8Q#/fxg8R#/Qxg8# 1...Rxf7+ 2.Qxf7# 1...Rh7 2.Qg8#" keywords: - Black correction - Letters --- authors: - Baird, Edith Elina Helen source: date: 1907 algebraic: white: [Kc8, Rb7, Sb8, Pa6] black: [Ka8, Ra7] stipulation: "#2" solution: | "1.Nc6! (2.Rb8#/Rxa7#) 1...Rxa6 2.Rb8# 1...Rxb7 2.axb7#" keywords: - Letters - Scaccografia --- authors: - Baird, Edith Elina Helen source: date: 1907 algebraic: white: [Kc6, Ra6, Sa7, Pb5] black: [Kb8, Pc7] stipulation: "#2" solution: | "1.Nc8! zz 1...Kxc8 2.Ra8#" keywords: - Digits - Flight giving and taking key - Letters --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Kb6, Qc8, Sa7] black: [Ka8, Bb8, Ba6, Pb7] stipulation: "#2" solution: | "1...Bb5/Bc4/Bd3/Be2/Bf1 2.Qxb7# 1.Nc6?? (2.Qxb8#) but 1...bxc6! 1.Nb5! (2.Nc7#) 1...Bxb5 2.Qxb7#" --- authors: - Baird, Edith Elina Helen source: date: 1907 algebraic: white: [Kc7, Sa7, Pb6] black: [Ka8, Sb8, Pa6] stipulation: "#2" solution: | "1.Nb5?? (2.b7#) but 1...axb5! 1.Nc6?? (2.b7#) but 1...Nxc6! 1.Nc8! (2.b7#)" keywords: - Letters --- authors: - Baird, Edith Elina Helen source: date: 1907 algebraic: white: [Kf8, Qf7, Bh7] black: [Kh8, Rg6] stipulation: "#2" solution: | "1...Rg7 2.Qxg7# 1...Rg8+ 2.Qxg8# 1...Re6/Rd6/Rc6/Rb6/Ra6/Rh6 2.Qg7#/Qg8# 1.Bg8! (2.Qh7#) 1...Rg7/Rh6 2.Qxg7# 1...Rxg8+ 2.Qxg8# 1...Rf6 2.Qxf6#" keywords: - No pawns - Letters --- authors: - Baird, Edith Elina Helen source: date: 1907 algebraic: white: [Kc8, Rb6, Sb8] black: [Ka8, Pb7] stipulation: "#2" solution: | "1.Na6?? zz 1...bxa6 2.Rxa6# but 1...Ka7! 1.Rb3?? (2.Ra3#) but 1...Ka7! 1.Rb2?? (2.Ra2#) but 1...Ka7! 1.Rb1?? (2.Ra1#) but 1...Ka7! 1.Nc6! zz 1...bxc6 2.Ra6#" keywords: - Flight taking key - Letters --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Ka6, Qg7, Re8, Bg1, Sb2, Sa4, Pg2, Pf5, Pf2, Pc2] black: [Kd4, Sh3, Se5, Ph5, Ph4, Pf4, Pd7, Pd6, Pd5] stipulation: "#2" solution: | "1...Ng5 2.f3# 1.Rxe5?? (2.c3#/Re3#/Re2#/Re1#/Re6#/Re7#/Re8#) 1...Nxf2 2.Bxf2#/c3#/Re2#/Re1#/Re6#/Re7#/Re8# but 1...dxe5! 1.f3+?? 1...Nf2 2.Bxf2# but 1...Nxg1! 1.Qg4?? zz 1...Ke4/Ng5 2.f3# 1...Nf3/Nxg4/Nd3/Nc4 2.c3# 1...Nf7/Ng6/Nc6 2.c3#/Qd1# 1...Nxg1/Nxf2 2.Qxf4# but 1...hxg4! 1.Qh6?? zz 1...f3 2.Qe3# 1...Nxg1/Nxf2 2.Qxf4# 1...Ng5 2.f3# 1...Nf3/Nf7/Ng4/Ng6/Nd3/Nc4/Nc6 2.c3# but 1...Ke4! 1.Qg5! zz 1...Ke4/Nxg5 2.f3# 1...f3 2.Qe3# 1...Nf3/Nf7/Ng4/Ng6/Nd3/Nc4/Nc6 2.c3# 1...Nxg1/Nxf2 2.Qxf4#" keywords: - Active sacrifice --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Kg2, Qg7, Rh5, Ra5, Be5, Bb1, Sg4, Se2, Ph6, Ph3, Pd2, Pc2] black: [Ke4, Sg5, Sb5, Pe6, Pd6, Pc3] stipulation: "#2" solution: | "1...Kf5 2.Ng3#/Qh7# 1...Nc7/Na3/Na7/d5 2.Ng3#/Qg6# 1...Nd4 2.Ng3# 1...Nxh3/Nf3/Nf7 2.Nf6# 1...cxd2 2.c4# 1...dxe5 2.Qxe5# 1.Qxg5?? (2.Nf6#) but 1...Kd5! 1.Qc7?? zz 1...Kf5 2.Qh7# 1...Kd5 2.Nxc3# 1...Nxh3/Nf3/Nf7 2.Nf6# 1...Nxc7/Nd4/Na3/Na7/d5 2.Ng3# 1...cxd2 2.c4# 1...dxe5 2.Qxe5# but 1...Nh7! 1.Qf6?? zz 1...Nc7/Na3/Na7 2.Qf4#/Qg6#/Nf2#/Ng3#/Nxc3#/d3# 1...Nd4 2.Nf2#/Ng3#/Nxc3#/Qf4#/d3# 1...Nxh3/Nh7/Nf3/Nf7 2.Qf3# 1...dxe5 2.Qxe5# 1...d5 2.Nf2#/Ng3#/Qf4#/Qg6#/d3# 1...cxd2 2.c4# but 1...Kd5! 1.Rxg5?? (2.Nf6#) 1...cxd2 2.c4# but 1...Kd5! 1.Nf2+?? 1...Kf5 2.Ng3#/Rxg5#/Qxg5#/Qf6# but 1...Kd5! 1.Ne3?? (2.Rh4#/Ng3#) 1...Nxh3 2.Ng3#/Qg6#/Qh7# 1...Nf3 2.Qg6#/Qg4#/Qh7#/Ng3# 1...dxe5 2.Qg6#/Qb7#/Rh4# but 1...cxd2! 1.d3+?? 1...Kf5 2.Rxg5#/Ne3#/Ng3#/Qxg5#/Qf7#/Qh7#/Qf6# but 1...Kd5! 1.Nf4?? (2.Qg6#) 1...dxe5 2.Qxe5# but 1...Nd4! 1.Bxd6?? (2.Qe5#) 1...Kf5 2.Ng3#/Qh7# 1...Nf3 2.Nf2#/Nf6#/Ng3#/Qg6#/Qb7#/Qh7#/d3# 1...Nf7 2.Nf2#/Nf6#/Ng3#/Qg6#/Qh7#/d3# but 1...Kd5! 1.Qb7+! 1...Kf5 2.Qh7# 1...d5 2.Ng3# 1.Rxb5! (2.Ng3#/Qg6#) 1...Kf5 2.Ng3#/Qh7# 1...dxe5 2.Rxe5#/Qg6#/Qxe5# 1.Nf6+! 1...Kxe5/Kf5 2.Rxg5#/Qxg5# 1.Nxc3+! 1...Kf5 2.Rxg5#/Qxg5#/Qf7#/Qh7#/Qf6#/Ne3# 1...Nxc3 2.Qg6# 1.Ba2! (2.Qg6#/Ng3#) 1...Kf5 2.Ng3#/Qh7# 1...Nd4 2.Ng3# 1...dxe5 2.Qg6#/Qxe5#" keywords: - Active sacrifice - Checking key - Flight taking key - Flight giving and taking key - Cooked --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Kb8, Qd8, Rf1, Ra6, Bh5, Ba3, Sg3, Sc1, Ph4, Ph2, Pf5, Pc3] black: [Ke5, Sg8, Sf2, Ph6, Pe7, Pd5, Pb6, Pa7] stipulation: "#2" solution: | "1...Nf6[a]/b5[a] 2.Qc7#[A] 1...d4[b] 2.Qxd4#[B] 1...e6 2.Bd6# 1.Bd6+?? 1...Kf6 2.Qf8# but 1...exd6! 1.Nd3+?? 1...Kf6 2.Qf8# but 1...Nxd3! 1.Rxf2?? zz 1...Nf6[a] 2.Nd3#/Qxe7#/Qc7#[A] 1...b5[a] 2.Re6#/Nd3#/Qc7#[A] 1...d4[b] 2.Qxd4#[B] 1...e6 2.Nd3#/Bd6# but 1...Kf6! 1.Qxe7+?? 1...Kf4 2.Nd3#/Nce2#/Bd6#/Rxf2# but 1...Nxe7! 1.Qxb6? (2.Qd4#[B]/Qc7#[A]) 1...d4[b]/e6 2.Qxd4#[B] 1...Kf4 2.Nd3#/Qd4#[B] 1...Ne4 2.Nd3#/Qe6#/Qd4#[B] but 1...axb6! 1.Bc5[C]! zz 1...Nf6[a]/bxc5[c]/b5[a] 2.Qc7#[A] 1...d4[b] 2.Qxd4#[B] 1...Kf4 2.Nd3# 1...Kf6/Ng4/Nh1/Nh3/Ne4/Nd1/Nd3 2.Bd4# 1...e6 2.Bd6#" keywords: - Active sacrifice - Rudenko --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Ka8, Qg8, Rd8, Ra5, Bd1, Sf4, Sd7, Ph7, Pg4, Pe3, Pd6, Pb3, Pb2] black: [Ke4, Rc6, Bh5, Sc5, Pd2, Pb6] stipulation: "#2" solution: | "1...Ne6/Nxb3/Nb7/Na4/Na6 2.Qxe6#/Re5# 1.Re8+?? 1...Ne6 2.Re5#/Rxe6#/Qxe6# but 1...Bxe8! 1.Ra4+?? 1...Nxa4 2.Qe6# but 1...Kxe3! 1.Nf6+?? 1...Ke5 2.Qg5#/Qe6# but 1...Kxe3! 1.Qe8+?? 1...Ne6 2.Re5#/Qxe6# but 1...Bxe8! 1.Qe6+! 1...Nxe6 2.Re5#" keywords: - Active sacrifice - Checking key - Flight taking key --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1891 algebraic: white: [Kb6, Qe8, Rf4, Rd4, Bb4, Sh2, Sb2, Ph4, Pg6, Pe7, Pe2] black: [Ke5, Pg7, Pf5, Pe6, Pe4, Pe3, Pd5] stipulation: "#2" solution: | "1. Be1! - zz 1... K:f4 2. Sd3# 1... K:d4 2. Sf3# 1... Kd6 2. Sc4# 1... Kf6 2. Sg4#" comments: - version of Fjodor Kapustin (2011) - Check also 80387, 101850, 326953, 326954, 326955 --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1891 algebraic: white: [Kb6, Rf4, Rd4, Be8, Bb4, Sh2, Sb2, Ph6, Ph4, Pf6, Pe2, Pd6] black: [Ke5, Pf5, Pe6, Pe4, Pe3, Pd5] stipulation: "#2" solution: | "1. Be1! - zz 1... K:f4 2. Sd3# 1... K:d4 2. Sf3# 1... K:d6 2. Sc4# 1... K:f6 2. Sg4#" comments: - version of Evgenij Permyakov (2011) - Check also 80387, 326432, 101850, 326954, 326955 --- authors: - Baird, Edith Elina Helen source: Hereford Times date: 1891 algebraic: white: [Kb6, Qb4, Rf4, Rd4, Be8, Sh2, Sb2, Ph6, Ph4] black: [Ke5, Be4, Pf5, Pe7, Pe6, Pd5] stipulation: "#2" solution: | "1. Qe1! - zz 1... K:f4 2. Sd3# 1... K:d4 2. Sf3# 1... Kd6 2. Sc4# 1... Kf6 2. Sg4#" comments: - version of Evgenij Permyakov (2011) - Check also 80387, 326432, 326953, 101850, 326955 --- authors: - Baird, Edith Elina Helen source: Girl's Own Paper date: 1907 algebraic: white: [Kf5, Se4, Sd6, Pe6, Pd3] black: [Kd5, Sc6, Pd4, Pd2] stipulation: "#2" solution: | "1.Sc8! threat 2.Sb6# 1....d1/~ 2.Sb6# 1....S~(+) 2.S(x)e7#" keywords: - Letters comments: - G-irl's O-wn P-aper - first letter in Paper with 372636 and 167030 --- authors: - Baird, Edith Elina Helen source: Norwich Mercury date: 1905-10 distinction: Special Comm. algebraic: white: [Kh5, Rg4, Re6, Bh3, Ba3, Sh7, Sf5, Pd6, Pd3, Pc5] black: [Kd5, Ra7, Sb5, Sa6, Ph6, Ph4, Pd7, Pd4, Pa5, Pa4] stipulation: "#2" solution: | "1.Rgg5! threat 2.Se7# 1....Kc6 2.Bg2# 1....Kxe6 2.Sxh6#" keywords: - Letters - Battery creation comments: - Composed for Admiral Horatio Nelson centenary, 21 October 1905. --- authors: - Baird, Edith Elina Helen source: Field algebraic: white: [Kb8, Qh4, Bb4, Bb3, Sg3, Se7, Pg7, Pc2, Pb7] black: [Kd4, Rf4, Rd3, Bg2, Bf8, Ph2, Pg4, Pf6, Pf3, Pf2, Pc6, Pb6] stipulation: "#2" solution: | "1.Qh6! threat 2.Qxf4# 1....Re3 (or Rf~) 2.Sxc6# 1....Ke3 2.Sef5# 1....Ke5 2.Sxc6#" keywords: - Letters comments: - composed before 1908 - letters form L-O-V-E - "inspiration for pop artist Robert Indiana?" --- authors: - Baird, Edith Elina Helen source: Morning Post algebraic: white: [Ka6, Qh6, Rc5, Se5, Sa7, Pf7, Pf5, Pe4, Pe3] black: [Kd6, Be6, Ba3, Sg7, Pg5, Pe7, Pb6, Pa5, Pa4] stipulation: "#2" solution: | "1.Qf6! threat 2.Rc6# 1....b (or B)xc5 2.Sb5# 1....exf6 2.f8/Q# 1....Kxc5 2.Qxe7#" keywords: - Letters comments: - M-orning P-ost - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Illustrated London News algebraic: white: [Kg7, Qf5, Rc5, Bh7, Ba7, Se4, Sa5, Pe6, Pe5, Pb6, Pa3] black: [Kd4, Pf7, Pe7, Pe3, Pa6, Pa4] stipulation: "#2" solution: | "1.Sc3! threat 2.Rc4# 1....e2 2.Qf2# 1....Kxc5 2.b7#" keywords: - Letters comments: - N-oel F-antasie - composed before 1908 --- authors: - Baird, Edith Elina Helen source: London Opinion date: 1904 distinction: Prize algebraic: white: [Kf6, Rh3, Rc2, Be5, Ba2, Sa6, Pg6, Pf2, Pb2, Pa3] black: [Ke4, Sg2, Sa4, Ph5, Ph4, Pe3, Pa5] stipulation: "#2" solution: | "1.Be6! waiting 1....e~ 2.Rc4# 1....Sa~ 2.S(x)c5# 1....Sg~ 2.Rxe3# 1....Kd3 2.Bf5#" keywords: - Letters comments: - L-ondon O-pinion --- authors: - Baird, Edith Elina Helen source: Bank Notes algebraic: white: [Kb3, Rc5, Bd6, Sa4, Pd4, Pc3, Pa3] black: [Ka5, Ba6, Pc7, Pb7, Pb5, Pa7] stipulation: "#2" solution: | "1.Sb2! threat 2.Sc4# 1....Kb6 2.Bxc7#" keywords: - Letters comments: - first letter of Bank with 372372 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Bank Notes algebraic: white: [Kh7, Qh3, Re4, Sf6, Ph5, Pg4, Pf5, Pe7] black: [Kg5, Be5, Sh4, Ph6, Pe6, Pe3] stipulation: "#2" solution: | "1.Kg8! threat 2.Sh7# 1....Bxf6 2.Qxe3# 1....Kxf6 2.Qxh4#" keywords: - Letters comments: - first letter of Notes with 372371 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Field algebraic: white: [Kd1, Qc6, Re1, Rc2, Be4, Sc4, Pf5, Pf2, Pb7] black: [Kd4, Sf6, Pg7, Pf7, Pf4, Pf3, Pc7, Pc5, Pc3] stipulation: "#2" solution: | "1.Sd2! waiting 1....cxd2 2.Qxc5# 1....c4 2.Sxf3# 1....S~ 2.Q(x)d5# 1....Sxe4 2.Qxe4# 1....Ke5 2.Sxf3#" keywords: - Scaccografia comments: - The V-alentine - composed before 1908 --- authors: - Baird, Edith Elina Helen source: The Illustrated London News algebraic: white: [Ke6, Rf5, Rb3, Sd1, Pf4, Pf3, Pe2, Pd3, Pc2, Pb4] black: [Kd4, Bd2, Pd5, Pc6, Pb5] stipulation: "#2" solution: | "1.Kd6! waiting 1....c5 2.Rxd5# 1....Bxb4+ 2.Rxb4# 1....Bc1(e3) 2.c3# 1....Bc3(e1) 2.e3# 1....Bxf4+ 2.Rxf4#" keywords: - Letters - Scaccografia comments: - The Heart - composed before 1908 --- authors: - Baird, Edith Elina Helen source: The Times algebraic: white: [Ka6, Qh6, Be5, Sb5, Pg5, Pf6, Pf4, Pd5, Pd4] black: [Kf5, Sc4, Pg6, Pg4, Pe4, Pc5] stipulation: "#2" solution: | "1.Qh2! waiting 1....cxd4 2.Sxd4# 1....e3 2.Qc2# 1....g3 2.Qh3# 1....S~ 2.S(x)d6#" keywords: - Scaccografia comments: - The Boat - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Sunday Chronicle algebraic: white: [Ke7, Rb7, Bd3, Bc7, Sc6, Pe3, Pc3] black: [Kd5, Bd7, Sc4, Pc5, Pb3] stipulation: "#2" solution: | "1.Kf6! threat 2.Se7# 1....Bxc6 2.e4# 1....Kxc6 2.Be4#" keywords: - Letters comments: - E-lysium - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Falkirk Herald algebraic: white: [Ka2, Rb6, Bd6, Pc6, Pb4, Pb2, Pa3] black: [Ka4, Pc4, Pa6, Pa5] stipulation: "#2" solution: | "1.Bc7! waiting 1....axb4 2.Rxb4# 1....c3 2.b3#" keywords: - Letters comments: - first letter of Falkirk with 372378 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Falkirk Herald algebraic: white: [Kh2, Re6, Be4, Sh5, Sf4, Ph4, Pe5] black: [Kg4, Ph6, Ph3, Pe3, Pe2] stipulation: "#2" solution: | "1.Sg6! threat Sf6# 1....Kxh5 2.Bf3#" keywords: - Letters comments: - first letter of Herald with 372377 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Reading Observer algebraic: white: [Ka2, Rc5, Rb6, Bc3, Sd2, Pa5] black: [Ka4, Bb4, Sc2, Pa6, Pa3] stipulation: "#2" solution: | "1.Se4! waiting 1....S~ 2.Rxb4# 1....Bxa5 2.Rxa5# 1....Bxc3 2.Sxc3# 1....Bxc5 2.Sxc5#" keywords: - Letters comments: - first letter of Reading with 372380 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Reading Observer algebraic: white: [Ke4, Be3, Sf6, Se5, Ph3, Pg2, Pf2] black: [Kh4, Bh5, Pg6] stipulation: "#2" solution: | "1.Bf4! waiting 1....g5 2.Bg3# 1....B~ 2.Sxg6# 1....Bf3+ 2.Sxf3#" keywords: - Letters - Digits comments: - first letter of Observer with 372379 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Hampstead and Highgate Express algebraic: white: [Ke7, Rd3, Bd7, Sf3, Sd4, Ph6, Pg4, Pe4, Pe2, Pd2, Pc6, Pc3, Pb4] black: [Kc4, Ba6, Sg5, Pf6, Pf4, Pe3, Pb5] stipulation: "#2" solution: | "1.c7! waiting 1....exd2 2.Sxd2# 1....f5 2.Se5# 1....S~ 2.B(x)e6# 1....B~ 2.Bxb5#" keywords: - Scaccografia comments: - The Flower Basket - composed before 1908 --- authors: - Baird, Edith Elina Helen source: The Illustrated London News algebraic: white: [Kf8, Qg3, Rb3, Bf2, Se3, Sc2, Pd6, Pb6, Pb5] black: [Kc5, Rf5, Rf1, Bc1, Sb1, Pf6, Pd5, Pb7, Pb2] stipulation: "#2" solution: | "1.Qg7! threat 2.Qc7# 1....Kxb6 2.Sc4# 1....Kxd6 2.Qe7#" keywords: - Battery play - Letters comments: - letters form L-I-L-Y - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Cheltenham Examiner algebraic: white: [Kb7, Rb3, Ba6, Sd4, Sc3] black: [Ka5, Ba4, Pd6, Pc7] stipulation: "#2" solution: | "1.Bb5! threat 2.Sc6# 1....Bxb5 2.Rxb5#" keywords: - Letters comments: - first letter of Cheltenham with 372384 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Cheltenham Examiner algebraic: white: [Kh3, Re3, Bg3, Bf7, Sh7, Pf3] black: [Kf5, Re5, Be4, Pg7, Pg5, Pe7, Pe6] stipulation: "#2" solution: | "1.Bh5! waiting 1....g4+ 2.fxg4# 1....g6 2.Bg4# 1....B~ 2.Rxe5# 1....R~ 2.fxe4#" keywords: - Letters comments: - first letter of Examiner with 372383 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Norwich Mercury algebraic: white: [Kf3, Rf5, Rb2, Bc2, Sc6, Pe6, Pe2, Pd4, Pd2, Pc3] black: [Kc4, Bb6, Sc1, Pd6, Pc7, Pc5] stipulation: "#2" solution: | "1.Rb3! waiting 1....cxd4 2.Rb4# 1....d5 2.Se5# 1....Sa2(xe2) 2.d3# 1....Sxb3 2.Bd3# 1....Sd3 2.exd3# 1....B~ 2.S(x)a5#" keywords: - Letters comments: - E-aster - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1903-12 algebraic: white: [Kc2, Qb8, Ra3, Bd8, Bc8, Sc7, Pd3, Pb2] black: [Ka5, Sa4, Pb7, Pa6] stipulation: "#2" solution: | "1.Bd7! waiting 1....b6 2.Rxa4# 1....b5 2.Sd5# 1....Kb4 2.Sxa6# 1....Kb6 2.Se6#" keywords: - Letters comments: - C-ompliments of the S-eason - first letter C in Compliments with 372426 --- authors: - Baird, Edith Elina Helen source: Morning Post date: 1903-12 algebraic: white: [Kg8, Qh8, Bf5, Sh4, Sg2, Pg7, Pf2] black: [Kg5, Sh3, Pf7, Pf6] stipulation: "#2" solution: | "1.Qh7! threat 2.Sf3# 1....Sg1 2.f4#" keywords: - Letters comments: - C-ompliments of the S-eason - first letter in Season with 372425 --- authors: - Baird, Edith Elina Helen source: The Field algebraic: white: [Kb6, Bc7, Bb5, Se6, Sd4, Pg4, Pf3, Pe5] black: [Kd5, Bd7, Pe3, Pc4] stipulation: "#2" solution: | "1.Sf5! threat 2.Sf4# 1....Bxe6 2.Bc6# 1....Kxe6 2.Bxc4#" keywords: - Letters - Scaccografia comments: - Q-uinapalus - composed before 1908 --- authors: - Baird, Edith Elina Helen source: National Association Review algebraic: white: [Ke4, Qc6, Sf6, Sd7, Pf5] black: [Ke7, Pd4, Pc5] stipulation: "#2" solution: | "1.Qc8! threat 2.Qf8# 1....Kd6 2.Qxc5#" keywords: - Letters - Digits comments: - Fairies in a Ring - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Field algebraic: white: [Ke7, Rf7, Re5, Bc7, Sc8, Sc2, Pd3, Pc4, Pb3] black: [Kc5, Bc6, Bc3, Sd7, Sb7, Pd5] stipulation: "#2" solution: | "1.Rf6! waiting 1....Sb~ 2.B(x)d6# 1....Sd~ 2.B(x)b6# 1....Ba5(b4,d2, or e1) 2.d4# 1....Ba1(b2,d4, or xe5) 2.b4# 1....B6~ 2.Rxd5#" keywords: - Letters comments: - F-ield - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Norwich Mercury date: 1905 distinction: 1st Prize algebraic: white: [Ke2, Qe7, Rg6, Bf6, Se4, Se3, Pg2, Pe6, Pd6, Pd2] black: [Kf4, Sg4, Ph5, Pe5] stipulation: "#2" solution: | "1.Sg3! waiting 1....e4 2.Sxh5# 1....h4 2.Rxg4# 1....Sxe3 2.dxe3# 1....Sxf6 2.Qxf6# 1....Sf2(h2 or h6) 2.Sd5#" keywords: - Letters comments: - The P-awn --- authors: - Baird, Edith Elina Helen source: Reading Observer algebraic: white: [Kc6, Rc4, Rb3, Bb5, Sa4, Pb7, Pa3] black: [Ka5, Ba7, Ba6] stipulation: "#2" solution: | "1.Sc5! threat 2.Ra4# 1....Bxb5+ 2.Rxb5# 1....Bxb7+ 2.Sxb7#" keywords: - Letters comments: - B-ee Hive - first letter in Bee with 372511 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Reading Observer algebraic: white: [Kd5, Rg7, Rd3, Bf5, Sd4, Ph3, Pe7] black: [Kf4, Be3, Sg3, Ph6, Ph5, Ph4, Pf7, Pd6] stipulation: "#2" solution: | "1.Bg4! waiting 1....f~ 2.Se6# 1....S~ 2.S(x)e2# 1....hxg4 2.Rxg4# 1....B~ 2.Rf3#" keywords: - Scaccografia comments: - B-ee Hive - Hive with 372510 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Norwich Mercury algebraic: white: [Kc7, Rf3, Re4, Bg7, Bb7, Pf6, Pc5, Pc3] black: [Kd5, Bg2, Ba3, Pe5, Pc6, Pc4, Pb2] stipulation: "#2" solution: | "1.f7! threat 2.Rxe5# 1....Kxe4 2.Bxc6#" keywords: - Letters comments: - Monogram of Mr. John F. Keeble, editor of the Norwich Mercury - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Birmingham News date: 1905-03 algebraic: white: [Kb3, Rb6, Sb5, Sb4, Pa5] black: [Kc5, Sb2, Pb7] stipulation: "#2" solution: "1.Rd6! ~ 2.Rd5#" keywords: - Letters - Scaccografia comments: - Easter Emblems --- authors: - Baird, Edith Elina Helen source: Birmingham News date: 1905-03 algebraic: white: [Kf2, Rg7, Bh3, Se6, Se3, Ph4] black: [Kh6, Be4, Sg2, Sf7, Ph5, Pe5] stipulation: "#2" solution: | "1.Bf5! threat 2.Rh7# 1....Sg5 2.hxg5# 1....Bxf5 2.Sxf5#" keywords: - Letters - Digits comments: - Easter Emblems --- authors: - Baird, Edith Elina Helen source: Norwich Mercury date: 1907 algebraic: white: [Kg7, Qe7, Be8, Se4, Pg3, Pf7, Pe5, Pd7, Pd3] black: [Kf5, Bf3, Sh7, Ph3, Pg5, Pe6, Pe3, Pe2] stipulation: "#2" solution: | "1.f8/S! threat 2.Qxe6# 1....Sxf8 2.Qxg5# 1....Kxe5 2.Qc5#" keywords: - Letters comments: - I-n E-sse - first letter in Esse with 167029 --- authors: - Baird, Edith Elina Helen source: Norwich Mercury algebraic: white: [Kb6, Qb2, Bf2, Be6, Sd7, Sc6, Pf5, Pe2, Pd2, Pc2, Pb5] black: [Kd6, Bb4, Sf3, Pf6, Pf4, Pb3] stipulation: "#2" solution: | "1.Kb7! waiting 1....bxc2 2.Qxb4# 1....S~ 2.Q(x)d4# 1....B~ 2.B(x)c5# 1....Ba3 2.Qxa3#" keywords: - Scaccografia - Letters comments: - The Picture Problem - dedicated to Alain C. White - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Norwich Mercury date: 1905 algebraic: white: [Kd4, Qd8, Pf5, Pf4, Pe3, Pd2, Pc3, Pb5, Pb4] black: [Kd6, Pe7, Pd7, Pd5, Pc7] stipulation: "#2" solution: | "1.d3! waiting 1....c5+ 2.bxc5# 1....c6 2.Qb8# 1....e5+ 2.fxe5# 1....e6 2.Qf8#" keywords: - Scaccografia comments: - A Symbol of the Navy - At Anchor - composed in honor of Lord Nelson's centenary, 21 October 1905 --- authors: - Baird, Edith Elina Helen source: Norwich Mercury date: 1905 algebraic: white: [Kd4, Qd8, Pf5, Pf4, Pe3, Pd2, Pc3, Pb5, Pb4] black: [Kd6, Pe7, Pd7, Pd5, Pc7] stipulation: "#2" solution: | "1.d3! waiting 1....c5+ 2.bxc5# 1....c6 2.Qb8# 1....e5+ 2.fxe5# 1....e6 2.Qf8#" keywords: - Scaccografia comments: - A Symbol of the Navy - At Anchor - composed in honor of Lord Nelson's centenary, 21 October 1905 --- authors: - Baird, Edith Elina Helen source: Argosy (Demerara) algebraic: white: [Kf7, Qb3, Rc8, Bc7, Se5, Sc6, Pf3, Pb7] black: [Kd5, Rc3, Sc4, Pe7, Pe3, Pd7, Pd3, Pc5, Pc2] stipulation: "#2" solution: | "1.Sg6! threat 2.Sgxe7# 1....dxc6 2.Rd8#" keywords: - Letters comments: - E-aster - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times algebraic: white: [Kf3, Rc6, Ba4, Sc2, Sa3, Pd4, Pd3, Pb6] black: [Kd5, Sb2] stipulation: "#2" solution: | "1.Sc4! threat 2.S4e3# and Rd6# 1....Sxa4 2.Rd6# 1....Sxc4 2.dxc4# 1....Sxd3 2.S4e3#" keywords: - Scaccografia comments: - | Easter-Egg: Hatched! - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Field algebraic: white: [Kb4, Rd2, Rc7, Bf4, Sf6, Se7, Pg5, Pe3, Pd4, Pc3, Pb5] black: [Kd8, Sb6, Sa5, Pf5] stipulation: "#2" solution: | "1.d5! waiting 1....Sa~(+) 2.S(x)c6# 1....Sb~ 2.R(x)d7# 1....Sxd5+ 2.Rxd5#" keywords: - Scaccografia comments: - The Diamond - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Devon and Exeter Gazette algebraic: white: [Kg6, Re4, Rc4, Bg4, Bd8, Sg2, Sa2, Pe6, Pd2, Pc6, Pa6, Pa4] black: [Kd5, Pe5, Pd6, Pd4, Pd3, Pc5] stipulation: "#2" solution: | "1.Bd1! waiting 1....Kxc4 2.Se3# 1....Kxc6 2.Sb4# 1....Kxe4 2.Sc3# 1....Kxe6 2.Sf4#" keywords: - BK star - Scaccografia comments: - The Talisman - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Reading Observer algebraic: white: [Kb3, Rb2, Bf4, Be6, Sc5, Pf3, Pf2, Pe5, Pb6, Pb5] black: [Kd4, Rg6, Bb4, Pf6, Pf5, Pc6, Pa6] stipulation: "#2" solution: | "1.Bc4! threat 2.Se6# 1....Bxc5 2.Rd2# 1....fxe5 or Kxc5 2.Be3#" keywords: - Letters comments: - M-arch - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald algebraic: white: [Ke7, Rf3, Rc7, Bd7, Bc3, Sc5, Pe5] black: [Kd5, Bc6, Pf7, Pe3, Pd3, Pc4] stipulation: "#2" solution: | "1.Se4! threat 2.Bxc6# 1....B~ 2.Sf6#" keywords: - Letters comments: - The E-ncounter - composed before 1908 --- authors: - Baird, Edith Elina Helen source: The British Chess Magazine algebraic: white: [Kg8, Bf8, Bf7, Sh4, Ph3, Pg2, Pf2, Pe7, Pe3] black: [Kg5, Pf6] stipulation: "#2" solution: | "1.Bg7! waiting 1....f5 2.Sf3# 1....Kxh4 2.Bxf6#" keywords: - Letters comments: - C-ompliments of the S-eason - first letter in season with 196993 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Western Morning News algebraic: white: [Ka5, Rg7, Rc5, Bg5, Bb3, Sf3, Pf4, Pb4, Pa6] black: [Kd6, Bh3, Bd4, Pg6, Pe5, Pe3, Pc3, Pa7] stipulation: "#2" solution: | "1.b5! threat 2.Rc6# 1....Bxc5 2.fxe5# 1....Bd7 or Kxc5 2.Be7#" keywords: - Letters - Scaccografia comments: - A Little Western Flower - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Devon and Exeter Gazette algebraic: white: [Kb6, Qh3, Rb7, Bf4, Bb5, Sf7, Sd5, Pf6, Pf3, Pb3] black: [Ke6, Sf5, Pc6, Pb4] stipulation: "#2" solution: | "1.Be5! threat 2.Sf4# 1....cxd5 2.Re7# 1....Kxd5 2.Bc4#" keywords: - Letters comments: - May - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Leeds Mercury algebraic: white: [Ka7, Rb2, Ra2, Bc2, Sa4] black: [Ka5, Pa6, Pa3] stipulation: "#2" solution: "1.Rb3! Kxa4 2.Raxa3#" keywords: - Letters comments: - L-eeds M-ercury - first letter in Leeds with 372558 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Leeds Mercury algebraic: white: [Kh2, Re5, Bh6, Bh3, Sh4, Pg5, Pd3] black: [Kf4, Bd6, Ph5, Pd5, Pd4, Pd2] stipulation: "#2" solution: | "1.Kg2! threat 2.Sg6# 1....Bxe5 2.g6#" keywords: - Letters comments: - L-eeds M-ercury - first letter in Mercury with 372557 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald algebraic: white: [Kb7, Rc4, Sd4, Pd6, Pc3, Pb3, Pa4] black: [Ka5, Sa6, Pd7, Pc7] stipulation: "#2" solution: | "1.Rc6! threat 2.Rxa6# 1....dxc6 2.Sxc6# 1....S~(+) 2.R(x)c5#" keywords: - Letters comments: - G-lasgow Weekly H-erald - first letter in Glasgow with 372560 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Glasgow Weekly Herald algebraic: white: [Ke7, Rh6, Be5, Be4, Sf5, Se3, Pe6] black: [Kg5, Bh7, Sh5, Ph4, Ph3] stipulation: "#2" solution: | "1.Sd6! threat Sf7# 1....Bg6(8) 2.R(x)g6#" keywords: - Letters comments: - G-lasgow Weekly H-erald - first letter in Herald with 372559 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Daily Telegraph algebraic: white: [Kc3, Bg2, Bb2, Sg7, Sd5, Pe5, Pd4, Pc6] black: [Ke4, Bb7, Sf3, Pf6] stipulation: "#2" solution: | "1.Bc1! threat 2.Sxf6# 1....Kxd5 2.Bxf3#" keywords: - Letters comments: - X-mas - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Leisure Hour algebraic: white: [Kc3, Bc4, Ba7, Pb3, Pa4, Pa3] black: [Ka5, Sa6] stipulation: "#2" solution: | "1.Bb5! waiting 1....S~ 2.b4# 1....Sb4 2.axb4#" keywords: - Letters comments: - L-eisure H-our - first letter in Leisure with 372563 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Leisure Hour algebraic: white: [Ke4, Qh3, Re7, Sh5, Ph6, Pf5, Pe6, Pe3] black: [Kg5, Bh4, Ph7, Pe5] stipulation: "#2" solution: | "1.Sf6! waiting 1....B~ 2.Sxh7# 1....K~ 2.Qxh4#" keywords: - Letters comments: - L-eisure H-our - first letter in Hour with 372562 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Hereford Times algebraic: white: [Kd7, Rd3, Ra4, Bd5, Pd6, Pc5, Pa6, Pa3] black: [Kb5, Pd4, Pa7, Pa5] stipulation: "#2" solution: | "1.Kc7! waiting 1....Kxa4 2.Bc6# 1....Kxa6 2.Bc4# 1....Kxc5 2.Rxa5#" keywords: - Letters - King Y-flight comments: - H-ereford T-imes - first letter in Hereford with 314774 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Western Daily Mercury algebraic: white: [Kc2, Rf2, Re6, Bb6, Sc3, Sb2, Pf5, Pf3, Pe2, Pd6, Pc4] black: [Kd4, Se4, Sd2, Pf6, Pc6, Pc5] stipulation: "#2" solution: | "1.f4! waiting 1....Sd~ 2.Rxe4# 1....Se~ 2.e3# 1....Ke3 2.Bxc5#" keywords: - Letters comments: - E-ros - "letter E (or B?)" - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Field algebraic: white: [Kc1, Qb3, Rf7, Bg3, Se3, Pg2, Pe2, Pb6, Pb5, Pb2] black: [Kc5, Bf1, Sb1, Pf6, Pf5, Pb7] stipulation: "#2" solution: | "1.Bf2! threat 2.Sxf5# 1....Kxb6 2.Sc4# 1....Kd4(d6) 2.Qd5#" keywords: - Letters comments: - Letters spell out L-I-L-Y - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Norwich Mercury date: 1904 algebraic: white: [Kg2, Rd6, Bc2, Bb4, Se4, Se3, Pd2, Pc6] black: [Ke5, Sb3, Pb5] stipulation: "#2" solution: | "1.Rf6! waiting 1....S~ or Kd4 2.Bc3# 1....Sd4 2.Bd6#" keywords: - Letters --- authors: - Baird, Edith Elina Helen source: Illustrated London News algebraic: white: [Kf6, Bd3, Bb6, Se3, Sc3, Pf5, Pf4, Pe6, Pb5, Pb4] black: [Kd6, Sd2, Pc6] stipulation: "#2" solution: | "1.Be4! waiting 1....cxb5 2.Sxb5# 1....c5 2.bxc5# 1....S~ 2.S(x)c4# 1....Sxe4+ 2.Sxe4#" keywords: - Scaccografia comments: - The Shield - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Norwich Mercury algebraic: white: [Kb7, Qf2, Rg3, Rf7, Be1, Se3, Sa2, Pe6, Pb5] black: [Kc5, Rg1, Bc7, Bb1, Pg6, Pf5, Pe2, Pc2, Pb3, Pa6] stipulation: "#2" solution: | "1.Qf3! threat 2.Qd5# 1....Kxb5 2.Qc6#" keywords: - Letters comments: - letters spell out C-O-O-K - composed before 1908 - "indirectly referring to Eugene B. Cook?" --- authors: - Baird, Edith Elina Helen source: algebraic: white: [Kc4, Be7, Be6, Sd6, Sc5] black: [Ke5, Rf4, Pe4, Pe3, Pd4, Pb4] stipulation: "#2" solution: "1.Se8! ~ 2.Bd6#" keywords: - Digits comments: - In Memoriam 1904 --- authors: - Baird, Edith Elina Helen source: Girl's Own Paper date: 1907 algebraic: white: [Kc4, Rf4, Rc5, Se4, Pe3, Pd6] black: [Ke6, Pd3] stipulation: "#2" solution: "1.Rc7! ~ 2.Re7#" keywords: - Letters comments: - G-irl's O-wn P-aper - first letter in Girl with 167030 and 357892 --- authors: - Baird, Edith Elina Helen source: National Association Review algebraic: white: [Kd6, Be6, Sd5, Pe2, Pd3, Pd2, Pc6] black: [Kd4, Sc2] stipulation: "#2" solution: | "1.Bf5! waiting 1....S~ 2.e3# 1....Se3 2.dxe3#" keywords: - Letters - Scaccografia comments: - Iota - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Falkirk Herald algebraic: white: [Ke7, Rf6, Se2, Sc3, Pf3, Pd5, Pd2] black: [Ke5, Qf4, Bc6, Sd7] stipulation: "\"#2 b) Black" solution: | "a) 1.Rxf4! ~ 2.e4# b) 1.Qxf6+! Ke8 2.S~# or Qf8#" keywords: - Letters comments: - S-pring - The Four Seasons with 372639, 372640, and 372641 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Falkirk Herald algebraic: white: [Kd8, Qf4, Be2, Se8, Sd2, Pc3] black: [Kd5, Re5, Rc6, Bf7, Sf3, Sc7] stipulation: "#2 b) Black" solution: | "a) 1.Bxf3+! 1....Re4 2.Qf5# 1....Kc5 2.Qb4# 1....Ke6 2.Qf6#\" b) 1.Rxe8+! Kd7 2.Be6#" keywords: - Letters comments: - S-ummer - The Four Seasons with 372638, 372640, and 372641 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Falkirk Herald algebraic: white: [Ke5, Re6, Rb3, Bf4, Bc6, Sf3, Sd5] black: [Kc5, Qd7, Rb4, Be3, Bb5, Sg3, Pf5, Pc3, Pa3] stipulation: "#2 b) Black" solution: | "a) 1.Rxc3+! B(or R)c4 2.Bxe3# b) 1.Qg7+! 1....Sf6 2.Bxf4# 1....Rf6 2.Re4#" keywords: - Letters comments: - A-utumn - The Four Seasons with 372638, 372639, and 372641 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Falkirk Herald algebraic: white: [Kf4, Qc2, Rd4, Bg6, Ba7, Sd5, Pb4] black: [Kb5, Ra6, Bg7, Be2, Sf5, Se3, Pd6, Pc3] stipulation: "#2 b) Black" solution: | "a) 1.Be8+! Rc6 2.Sc7# b) 1.Bh6+! Ke4 2.Sg3#" keywords: - Letters comments: - W-inter - The Four Seasons with 372638, 372639, and 372640 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Birmingham News algebraic: white: [Ke5, Qb3, Rc7, Sf4, Sc8, Pe7, Pe3, Pd7, Pc3] black: [Kc5, Rf6, Rb7, Bd3, Sd5, Pc6, Pc4, Pc2] stipulation: "#2 b) Black" solution: | "a) 1.Sxd3+! cxd3 2.Qxd5# b) 1.Rf5+! Ke6 2.Sxc7#" keywords: - Letters comments: - B-irmingham - Birmingham News with 372643 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Birmingham News algebraic: white: [Kf4, Qf3, Rf7, Rb3, Be4, Sb7, Pb4] black: [Kc6, Qf6, Rd5, Rb5, Bb6, Sf5] stipulation: "#2 b) Black" solution: | "a) 1.Bxd5+! Rxd5 2.b5# b) 1.Qh6+! Kg4 2.Qh4#" keywords: - Letters comments: - N-ews - Birmingham News with 372642 - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Cheltenham Examiner algebraic: white: [Kc2, Qd7, Bc7, Bb5, Se6] black: [Ke4, Rh2, Rb4, Be3, Sd2, Sb3, Pb6] stipulation: "#2 b) Black" solution: | "a) 1.Sg5+! Bxg5 2.Qd3# b) 1.Sa1+! 1....Kc1 2.Rb1# 1....Kc3 2.Rb3#" keywords: - Letters comments: - C-heltenham - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Hereford Times algebraic: white: [Kc7, Rf3, Rc6, Bf5, Sc4, Pe5, Pc3] black: [Kd5, Qf6, Bf4, Sc5, Pf7] stipulation: "#2 b) Black" solution: | "a) 1.Sb6+! Kxe5 2.Rxc5# b) 1.Qxc6+! 1....Kb8 2.Qb7# 1....Kd8 2.Bg5#" keywords: - Letters comments: - H-ereford - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Manchester Weekly Times algebraic: white: [Kf5, Qa7, Rb4, Rb3, Bf4, Pg7, Pe6, Pd7, Pb6] black: [Kc6, Qf7, Rb5, Bf6, Sd5, Sb7, Pf3, Pe7, Pc7] stipulation: "#2 b) Black" solution: | "a) 1.Rc4+! 1....Sc5 2.d8/S# 1....Rc5 2.Qa4# b) 1.Qh5+! 1....Bg5 2.Sd6# 1....Ke4 2.Sc5#" keywords: - Letters comments: - M-anchester - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Yorkshire Weekly Post algebraic: white: [Kh6, Rh5, Bh3, Bd4, Sf5, Ph7, Pg2, Pf3] black: [Kf4, Bh2, Sh1, Sg6, Pb4, Pa4] stipulation: "#2" solution: | "1.h8/S! threat 2.Sxg6# 1....Sg~ 2.R(x)h4#" keywords: - Scaccografia comments: - Cupid's Bow and Arrow - composed before 1908 --- authors: - Baird, Edith Elina Helen source: Illustrated Western Weekly News algebraic: white: [Kb7, Rd4, Rc3, Be7, Se2, Sc7, Pd7] black: [Ke5, Rf6, Bb2, Pf7, Pf2, Pd2, Pc2, Pb6] stipulation: "#2" solution: | "1....b5 2.Rc5# 1....Rf5 2.Re3# 1.Sg3! threat 2.Re4# 1....Rf4 2.Rd5# 1....Kxd4 2.Bxf6#" keywords: - Letters comments: - Z-ed - composed before 1908 --- authors: - Baird, Edith Elina Helen source: The New York Times source-id: 4 date: 1894-02-25 algebraic: white: [Ka7, Qc1, Rh5, Rb6, Bg3, Se7, Sc6, Pf2, Pb2] black: [Kc5, Bf5, Bc3, Pg4, Pe6, Pe5, Pc4] stipulation: "#2" solution: | "1.Sc6-d4 ! zugzwang. 1...Bc3*b2 2.Sd4-b3 # 1...Bc3-e1 2.Sd4-b3 # 1...Bc3-d2 2.Sd4-b3 # 1...Bc3*d4 2.b2-b4 # 1...Bc3-a5 2.Sd4-b3 # 1...Bc3-b4 2.Sd4-b3 # 1...Kc5*d4 2.Qc1-e3 # 1...e5-e4 2.Sd4*e6 # 1...e5*d4 2.Bg3-d6 # 1...Bf5-b1 2.Sd4*e6 # 1...Bf5-c2 2.Sd4*e6 # 1...Bf5-d3 2.Sd4*e6 # 1...Bf5-e4 2.Sd4*e6 # 1...Bf5-h7 2.Sd4*e6 # 1...Bf5-g6 2.Sd4*e6 #" keywords: - Active sacrifice --- authors: - Baird, Edith Elina Helen source: Sussex tournament date: 1892 distinction: 1st Prize algebraic: white: [Kc8, Qg4, Bd1, Sh4, Sc5, Pg3, Pe2, Pd4, Pa3, Pa2] black: [Kc4, Sb1, Pe7, Pb5, Pa5] stipulation: "#3" solution: | "1.Sc5-e4 ! threat: 2.Qg4-e6 + 2...Kc4*d4 3.Sh4-f5 # 1...Sb1-c3 2.Se4-d2 + 2...Kc4-d5 3.Qg4-d7 # 1...e7-e5 2.Bd1-b3 + 2...Kc4*d4 3.Sh4-f5 #" comments: - also in The Albany Evening Journal (no. 270), 21 January 1893 ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootpychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-checkmate-patterns-i_by_arex_2017.01.22.sqlitepychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-checkmate-patterns-i_by_arex_2017.01.22.s0000644000175000017500000026000013441162535032256 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) ]=learn/puzzles/lichess_study_lichess-practice-checkmate-patterns-i_by_arex_2017.01.22.pgn   %Qhttps://lichess.org/study/fE4k21MW %Q https://lichess.org/study/fE4k21MW Ahttps://lichess.org/@/arex A https://lichess.org/@/arex  F Z V  X  <Lichess Practice: Checkmate Patterns I: Smothered Mate #4<Lichess Practice: Checkmate Patterns I: Smothered Mate #3<Lichess Practice: Checkmate Patterns I: Smothered Mate #2<Lichess Practice: Checkmate Patterns I: Smothered Mate #1? Lichess Practice: Checkmate Patterns I: Blind Swine Mate #3? Lichess Practice: Checkmate Patterns I: Blind Swine Mate #2? Lichess Practice: Checkmate Patterns I: Blind Swine Mate #1? Lichess Practice: Checkmate Patterns I: Anastasia's Mate #4? Lichess Practice: Checkmate Patterns I: Anastasia's Mate #3?Lichess Practice: Checkmate Patterns I: Anastasia's Mate #2?Lichess Practice: Checkmate Patterns I: Anastasia's Mate #17uLichess Practice: Checkmate Patterns I: Hook Mate #37uLichess Practice: Checkmate Patterns I: Hook Mate #27uLichess Practice: Checkmate Patterns I: Hook Mate #1<Lichess Practice: Checkmate Patterns I: Back-Rank Mate #3<Lichess Practice: Checkmate Patterns I: Back-Rank Mate #2<Lichess Practice: Checkmate Patterns I: Back-Rank Mate #1  [ G W   Y  =Lichess Practice: Checkmate Patterns I: Smothered Mate #4=Lichess Practice: Checkmate Patterns I: Smothered Mate #3=Lichess Practice: Checkmate Patterns I: Smothered Mate #2=Lichess Practice: Checkmate Patterns I: Smothered Mate #1@Lichess Practice: Checkmate Patterns I: Blind Swine Mate #3 @Lichess Practice: Checkmate Patterns I: Blind Swine Mate #2 @Lichess Practice: Checkmate Patterns I: Blind Swine Mate #1 @Lichess Practice: Checkmate Patterns I: Anastasia's Mate #4 @Lichess Practice: Checkmate Patterns I: Anastasia's Mate #3 @Lichess Practice: Checkmate Patterns I: Anastasia's Mate #2@Lichess Practice: Checkmate Patterns I: Anastasia's Mate #18uLichess Practice: Checkmate Patterns I: Hook Mate #38uLichess Practice: Checkmate Patterns I: Hook Mate #28uLichess Practice: Checkmate Patterns I: Hook Mate #1=Lichess Practice: Checkmate Patterns I: Back-Rank Mate #3=Lichess Practice: Checkmate Patterns I: Back-Rank Mate #2< Lichess Practice: Checkmate Patterns I: Back-Rank Mate #1  20180221  y'B g  } * S T   { 0?r1k4r/ppp1bq1p/2n1N3/6B1/3p2Q1/8/PPP2PPP/R5K1 w - - 0 1Q   u 0?3r3k/1p1b1Qbp/1n2B1p1/p5N1/Pq6/8/1P4PP/R6K w - - 0 1C   Y 0?6rk/6pp/6q1/6N1/8/7Q/6PP/6K1 w - - 0 1=   M % 0?6rk/6pp/8/6N1/8/8/8/7K w - - 0 1Q    u  0?5rk1/1R1R1p1p/4N1p1/p7/5p2/1P4P1/r2nP1KP/8 w - - 0 1Q    u  0?r4rk1/2R5/1n2N1pp/2Rp4/p2P4/P3P2P/qP3PPK/8 w - - 0 1A    U LH 0?5rk1/1R2R1pp/8/8/8/8/8/1K6 w - - 0 1R    w  0?1r5k/6pp/2pr4/P1Q3bq/1P2Bn2/2P5/5PPP/R3NRK1 b - - 0 1H    c SP 0?5rk1/1b3ppp/8/2RN4/8/8/2Q2PPP/6K1 w - - 0 1H   c 0?5r1k/1b2Nppp/8/2R5/4Q3/8/5PPP/6K1 w - - 0 1E   ] 0?5r2/1b2Nppk/8/2R5/8/8/5PPP/6K1 w - - 0 1O   q 0?2b1Q3/1kp5/p1Nb4/3P4/1P5p/p6P/K3R1P1/5q2 w - - 0 1P   s g`0?5r1b/2R1R3/P4r2/2p2Nkp/2b3pN/6P1/4PP2/6K1 w - - 0 1@   S HH0?R7/4kp2/5N2/4P3/8/8/8/6K1 w - - 0 1P   s 0?6k1/3qb1pp/4p3/ppp1P3/8/2PP1Q2/PP4PP/5RK1 w - - 0 1G   a SP0?2r1r1k1/5ppp/8/8/Q7/8/5PPP/4R1K1 w - - 0 1<   U 0?6k1/4Rppp/8/8/8/8/5PPP/6K1 w - - 0 1                                   %  L  S   gHS          H  P   `HP                                                   D s\L0x_H8 d K 4 $  | l P 7   h X < # k T D (  DOpening?CUTCTime21:20:26B!UTCDate2017.01.26A#Terminationmate in 6@Opening??UTCTime21:22:03>!UTCDate2017.01.26=#Terminationmate in 2<Opening?;UTCTime21:17:14:!UTCDate2017.01.269#Terminationmate in 28Opening?7UTCTime21:14:206!UTCDate2017.01.265#Terminationmate in 14 Opening?3 UTCTime21:47:312! UTCDate2017.01.261# Terminationmate in 50 Opening?/ UTCTime21:44:48.! UTCDate2017.01.26-# Terminationmate in 6, Opening?+ UTCTime03:01:41*! UTCDate2017.01.22)# Terminationmate in 3( Opening?' UTCTime23:26:13&! UTCDate2017.01.26%# Terminationmate in 3$ Opening?# UTCTime02:48:05"! UTCDate2017.01.22!# Terminationmate in 3 Opening?UTCTime02:57:59!UTCDate2017.01.22#Terminationmate in 2Opening?UTCTime02:57:25!UTCDate2017.01.22#Terminationmate in 1Opening?UTCTime02:47:37!UTCDate2017.01.22#Terminationmate in 3Opening?UTCTime22:00:26!UTCDate2017.01.26#Terminationmate in 3Opening?UTCTime02:42:48!UTCDate2017.01.22 #Terminationmate in 1 Opening? UTCTime23:01:29 !UTCDate2017.01.26 #Terminationmate in 3Opening?UTCTime02:40:32!UTCDate2017.01.22#Terminationmate in 2  Opening? UTCTime02:39:45 !UTCDate2017.01.22 #Terminationmate in 1pychess-1.0.0/learn/puzzles/reti.olv0000644000175000017500000010574213365545272016565 0ustar varunvarun--- authors: - Réti, Richard source: Neuigkeits-Weltblatt source-id: 500 date: 1909 algebraic: white: [Kb7, Qf5, Bh6, Bb3] black: [Kd4, Be1, Pe7, Pe2, Pd3, Pb6, Pa3] stipulation: "#3" solution: | "1.Qf5-e6 ! threat: 2.Bh6-g7 + 2...Kd4-c5 3.Qe6*b6 # 2.Qe6-c4 + 2...Kd4-e5 3.Qc4-f4 # 1...Be1-h4 2.Bh6-d2 threat: 3.Qe6-d5 # 3.Qe6-e3 # 2...e2-e1=Q 3.Qe6-d5 # 2...e2-e1=R 3.Qe6-d5 # 2...Kd4-c5 3.Qe6-d5 # 3.Qe6-e5 # 3.Qe6*b6 # 2...Bh4-f2 3.Qe6-d5 # 2...Bh4-g5 3.Qe6-d5 # 2.Qe6-c4 + 2...Kd4-e5 3.Qc4-f4 # 1...Be1-g3 2.Bh6-d2 threat: 3.Qe6-d5 # 3.Qe6-e3 # 2...e2-e1=Q 3.Qe6-d5 # 2...e2-e1=R 3.Qe6-d5 # 2...Bg3-f2 3.Qe6-d5 # 2...Bg3-e5 3.Qe6-d5 # 3.Qe6-c4 # 2...Bg3-f4 3.Qe6-d5 # 2...Kd4-c5 3.Qe6-d5 # 3.Qe6*b6 # 2.Bh6-g7 + 2...Bg3-e5 3.Qe6*e5 # 2...Kd4-c5 3.Qe6*b6 # 1...Be1-a5 2.Qe6-c4 + 2...Kd4-e5 3.Qc4-f4 # 1...Be1-d2 2.Bh6*d2 threat: 3.Qe6-d5 # 3.Qe6-e3 # 2...e2-e1=Q 3.Qe6-d5 # 2...e2-e1=R 3.Qe6-d5 # 2...Kd4-c5 3.Qe6-d5 # 3.Qe6-e5 # 3.Qe6*b6 # 2.Bh6-g7 + 2...Kd4-c5 3.Qe6*b6 # 1...Kd4-c3 2.Bh6-g7 + 2...Kc3-b4 3.Qe6*b6 # 2...Kc3-d2 3.Qe6-h6 # 1...b6-b5 2.Bh6-g7 + 2...Kd4-c5 3.Qe6*e7 #" --- authors: - Réti, Richard source: Neues Wiener Tagblatt source-id: 2773 date: 1908 algebraic: white: [Ka8, Qf4, Rh7, Rc4, Sb8, Pg3, Pf2, Pd7, Pb6, Pb3, Pb2, Pa4] black: [Kd5, Re5, Rd6, Ba7, Pf5, Pb4] stipulation: "#3" solution: | "1.g3-g4 ! zugzwang. 1...Re5-e4 2.Rc4-d4 + 2...Re4*d4 3.Qf4*f5 # 2...Kd5-c5 3.Qf4*d6 # 2...Kd5*d4 3.Qf4*d6 # 1...Rd6*b6 2.Rc4-c5 + 2...Kd5-d6 3.Qf4*e5 # 2...Kd5*c5 3.Qf4*e5 # 2.Rc4-d4 + 2...Kd5-c5 3.Qf4*e5 # 2...Kd5-e6 3.Qf4-h6 # 1...Kd5-e6 2.Rc4-e4 threat: 3.Qf4*e5 # 2...Re5*e4 3.Qf4*f5 # 2...f5*e4 3.Qf4-f7 # 2...Rd6-d5 3.Qf4-h6 # 1...Ba7*b8 2.g4*f5 threat: 3.Qf4-d2 # 3.Qf4-d4 # 2...Re5-e1 3.Qf4-d4 # 1...f5*g4 2.Qf4-f7 + 2...Re5-e6 3.Rh7-h5 # 2...Rd6-e6 3.d7-d8=Q #" --- authors: - Réti, Richard source: Časopis českých šachistů source-id: 677 date: 1910 algebraic: white: [Kf1, Qc7, Sd5, Sc3, Pb3, Pb2] black: [Kd4, Sg6, Pf5, Pf4, Pe6, Pd6] stipulation: "#3" solution: | "1.Sc3-e4 ! threat: 2.Qc7-c3 + 2...Kd4*d5 3.Se4-f6 # 2...Kd4*e4 3.Sd5-f6 # 2.Sd5-f6 threat: 3.Qc7-c3 # 2.Se4-f6 threat: 3.Qc7-c3 # 1...Kd4*e4 2.Sd5-f6 + 2...Ke4-d4 3.Qc7-c3 # 2...Ke4-e5 3.Qc7-c3 # 2...Ke4-e3 3.Qc7-c3 # 2...Ke4-f3 3.Qc7-c3 # 2...Ke4-d3 3.Qc7-c3 # 1...Kd4*d5 2.Se4-f6 + 2...Kd5-d4 3.Qc7-c3 # 2...Kd5-e5 3.Qc7-c3 # 1...Kd4-e5 2.Qc7-c3 + 2...Ke5*d5 3.Se4-f6 # 2...Ke5*e4 3.Sd5-f6 # 1...f4-f3 2.Se4-f6 threat: 3.Qc7-c3 # 1...f5*e4 2.Sd5-e3 threat: 3.Qc7-c3 # 2...f4*e3 3.Qc7*d6 # 1...e6*d5 2.Se4-g5 threat: 3.Qc7-c3 # 2...Kd4-e5 3.Qc7-g7 # 1...Sg6-e5 2.Qc7-c3 + 2...Kd4*d5 3.Se4-f6 # 2...Kd4*e4 3.Sd5-f6 # 1...Sg6-e7 2.Qc7-c3 + 2...Kd4*d5 3.Se4-f6 # 2...Kd4*e4 3.Sd5-f6 #" --- authors: - Gold, Sámuel - Réti, Richard - Steiner, Sigmund source: Neues Wiener Tagblatt source-id: 2784 date: 1908 algebraic: white: [Ka4, Qd6, Sh4, Sf2, Pe2, Pa5] black: [Kd4, Ra7, Sc7, Pg7, Pf7, Pe3, Pd5, Pa6] stipulation: "#3" solution: | "1.Ka4-a3 ! threat: 2.Sh4-f3 + 2...Kd4-c4 3.Qd6-b4 # 3.Qd6-c6 # 2...Kd4-c3 3.Qd6-c6 # 3.Qd6-c5 # 1...Kd4-c3 2.Qd6-b4 + 2...Kc3-c2 3.Qb4-b2 # 1...Sc7-b5 + 2.Ka3-b4 threat: 3.Qd6-f4 # 3.Sh4-f3 # 3.Sh4-f5 # 2...e3*f2 3.Qd6-f4 # 2...Sb5*d6 3.Sh4-f3 # 1...Sc7-e6 2.Qd6-b4 + 2...Kd4-e5 3.Sf2-g4 #" --- authors: - Mandler, Arthur - Réti, Richard source: Eclaireur de Nice date: 1924 algebraic: white: [Kd1, Sc2, Pe2] black: [Kc3, Pe3, Pd4] stipulation: + solution: 1.Se1 Kb2 2.Sd3+ Kc3 3.Sc1 Kb2 4.Sa2 Kb1 5.Sb4 Kb2 6.Sd5 Kb3 7.Sc7 Kb2(c3) 8.Sb5(+) Kc4 9.Sd6+ Kb3(c3) 10.Se4(+) Kb2 11.Sc5 Kc3 12.Ke1 Kc2(c4) 13.Sd3 Kc3 14.Kf1 Kd2 15.Se5(f4) Kd1 16.Kg2 wins 2....Kb3 3.Sf4 Kb2 4.Sd5 wins keywords: - Digits - Letters --- authors: - Mandler, Arthur - Réti, Richard source: Eclaireur de Nice date: 1924 algebraic: white: [Kf1, Se2, Pg2] black: [Ke3, Pg3, Pf4] stipulation: + solution: | 1.Sg1 Kd2 2.Sf3+ Kd3 3.Ke1 Ke3 4.Se5 Ke4 5.Sc4 Kd3 6.Sd2 Ke3 7.Sf3 Kd3 8.Kf1 Ke3 9.Se1 Kd2 10.Sc2 Kd1 11.Sb4 Kd2 12.Sd5 wins keywords: - Digits - Letters --- authors: - Réti, Richard source: Шахматный листок date: 1927 algebraic: white: [Kc7, Ph7, Pf7, Pc5, Pa2] black: [Kd4, Ra8, Pb7, Pa7] stipulation: + solution: | 1. Kd7 $1 (1. Kd6 $143 Rh8 2. c6 bxc6 3. a4 a5 4. Ke6 Kc5 5. Ke5 Rf8 6. Ke6 Rh8 7. Kf6 Kd6 8. Kg7 Ke7 9. Kxh8 Kxf7 $11) (1. c6 $143 bxc6 2. Kd7 Rh8 3. Kd6 c5 $1 4. Ke6 c4 5. Kf6 c3 6. Kg7 Rxh7+ 7. Kxh7 c2 8. f8=Q c1=Q $11) 1... Rh8 2. Kd6 Kc4 (2... a5 $144 3. a4 $18) (2... a6 $144 3. a3 a5 4. a4 $18) (2... Ke4 $144 3. Ke6 Kd4 4. Kf6 $18) 3. c6 bxc6 4. Ke5 $1 (4. Ke6 $143 Kc5 5. Kf6 Kd6 6. Kg7 Ke7 $11) 4... Kc5 5. Ke6 (5. Kf6 $143 Kd6 6. Kg7 Ke7 $11) 5... a5 6. a4 $18 (6. Kf6 $143 Kd6 7. Kg7 Ke7 8. Kxh8 Kxf7 $11) 1-0 --- authors: - Réti, Richard source: Deutschösterreichische Tages-Zeitung date: 1921-09-11 algebraic: white: [Kh8, Pc6] black: [Ka6, Ph5] stipulation: "=" solution: | "1.Kh8-h7 ? h5-h4 2.Kh7-h6 h4-h3 1.Kh8-g7 ! h5-h4 2.Kg7-f6 ! Ka6-b6 3.Kf6-e5 ! h4-h3 4.Ke5-d6 ! h3-h2 5.c6-c7 Kb6-b7 6.Kd6-d7 3...Kb6*c6 4.Ke5-f4 h4-h3 5.Kf4-g3 2...h4-h3 3.Kf6-e6 h3-h2 4.c6-c7 1...Ka6-b6 2.Kg7-f6 ! h5-h4 3.Kf6-e5 ! h4-h3 4.Ke5-d6 h3-h2 5.c6-c7 Kb6-b7 6.Kd6-d7" keywords: - Reti maneuver --- authors: - Réti, Richard source: Národní Listy date: 1928 algebraic: white: [Kh5, Pc6] black: [Ka6, Ph6, Pg7, Pf6] stipulation: "=" solution: | 1.Kh5-g6 ! Ka6-b6 2.Kg6*g7 ! h6-h5 3.Kg7*f6 h5-h4 4.Kf6-e5 ! h4-h3 5.Ke5-d6 h3-h2 6.c6-c7 Kb6-b7 7.Kd6-d7 4...Kb6*c6 5.Ke5-f4 2...f6-f5 3.Kg7-f6 f5-f4 4.Kf6-e5 f4-f3 5.Ke5-d6 1...h6-h5 2.Kg6*g7 h5-h4 3.Kg7*f6 Ka6-b6 4.Kf6-e5 Kb6*c6 5.Ke5-f4 1...f6-f5 2.Kg6*g7 f5-f4 3.Kg7-f6 f4-f3 4.Kf6-e7 f3-f2 5.c6-c7 f2-f1=Q 6.c7-c8=Q+ keywords: - Reti maneuver comments: - modifies 277102 --- authors: - Réti, Richard source: Berliner Tageblatt date: 1925 algebraic: white: [Kf5, Rd4, Pg2, Pa2] black: [Kh5, Rf8, Ph6, Pg5, Pf6, Pd3] stipulation: + solution: | 1. g3 Rg8 2. Rb4 $1 g4 $1 3. Rb1 Rg5+ 4. Kxf6 Rg6+ 5. Kf7 d2 6. a4 $1 d1=Q $1 7. Rxd1 Rf6+ 8. Kg7 Rf5 $1 (8... Rg6+ $144 9. Kh7 $18 Kg5 10. Rd5+ Kf6 11. Rd6+ $18) 9. Rb1 Kg5 (9... Rg5+ $144 10. Kh7 Rf5 11. Rb5 $18) 10. Rb6 $1 Re5 11. Rb5 $18 1-0 comments: - a version of a study in Tijdschrift v. d. N. S. B., 1922 --- authors: - Réti, Richard source: Hastings and St.Leonards Post source-id: version date: 1922 algebraic: white: [Kg2, Sc2, Pf2, Pa5] black: [Kc6, Bh6, Ph2] stipulation: + solution: 1.Sc2-d4+ Kc6-c5 2.Kg2-h1 ! --- authors: - Réti, Richard source: Teplitz-Schönauer Anzeiger date: 1922 algebraic: white: [Kd5, Ba5, Sf6] black: [Ka3, Pc5, Pb4] stipulation: + solution: | 1. Ke4 $3 (1. Kc4 $143 b3 2. Ne4 b2 3. Nc3 b1=Q 4. Nxb1+ Ka4 5. Be1 $11) 1... b3 2. Nd5 b2 3. Nc3 Kb3 4. Kd3 c4+ 5. Kd2 $18 1-0 --- authors: - Réti, Richard source: Bohemia date: 1923 algebraic: white: [Kf6, Rc1, Bh6] black: [Ka2, Pb3] stipulation: + solution: "1. Rc3 b2 2. Bc1 b1=Q 3. Ra3# 1-0" --- authors: - Réti, Richard source: Wiener Schachzeitung date: 1923 algebraic: white: [Ka3, Rd8, Sd6] black: [Kd2, Ph4, Ph2, Pb3, Pa7] stipulation: + solution: | 1. Re8 $3 h1=Q (1... Kd1 $144 2. Ne4 Ke1 3. Ng3+ Kf2 4. Nh1+ Kg2 5. Re1 $18) 2. Ne4+ Kc1 3. Rc8+ Kb1 4. Nd2+ Ka1 5. Nxb3+ Kb1 6. Nd2+ Ka1 7. Rc2 $1 $18 1-0 --- authors: - Réti, Richard source: Bohemia date: 1923 algebraic: white: [Kb2, Rg3, Bh3] black: [Kd1, Pf4, Pe2] stipulation: + solution: | "1. Rd3+ Ke1 2. Rf3 Kd2 (2... Kd1 $144 {main} 3. Bg4 $1 e1=Q (3... Kd2 $144 4. Rf2 $18) 4. Rd3# (4. Rf2+ $144 $18 {cook AK})) 3. Bf1 e1=Q (3... exf1=Q $144 4. Rxf1 Ke3 5. Kc2 f3 6. Re1+ (6. Kd1 $143 f2 7. Rh1 Kf3 8. Rf1 Ke3 $11) 6... Kf2 $18) 4. Rd3# 1-0" --- authors: - Réti, Richard source: 28. Říjen date: 1925 algebraic: white: [Kb6, Pb5, Pa5] black: [Kd7, Bc4, Sf1] stipulation: "=" solution: | 1. Kb7 Ne3 (1... Bd5+ $144 2. Ka7 $1 $11) (1... Bxb5 $144 2. a6 $1 $11) 2. a6 ( 2. b6 $143 Nd5 3. Ka7 Nb4 $1 4. b7 Nc6+ 5. Ka8 Kc7 $19) 2... Nd5 3. a7 Nc7 4. a8=Q Bd5+ 5. Ka7 Nxa8 6. b6 Kc8 7. b7+ Bxb7 $11 1/2-1/2 --- authors: - Réti, Richard source: Národní listy source-id: 15 date: 1928-06-10 algebraic: white: [Kd5, Ph6, Pd6] black: [Kf7, Bd8, Pf6] stipulation: "=" solution: | 1. Kc6 Ba5 2. Kd5 Bc3 3. h7! f5 4. d7 Ke7 5. d8Q+ Kxd8 6. Ke6 f4 7. Kd5 f3 8. Kc4 Lf6 9. Kd3 draws --- authors: - Réti, Richard source: Národní listy source-id: 16 date: 1928-06-19 algebraic: white: [Kf8, Pe6] black: [Ka7, Be2, Pg6] stipulation: "=" solution: | 1.Kf8-e7 ! g6-g5 2.Ke7-d6 g5-g4 3.e6-e7 Be2-b5 4.Kd6-c5 Bb5-e8 5.Kc5-d4 g4-g3 6.Kd4-e3 4...g4-g3 5.Kc5*b5 keywords: - Reti maneuver --- authors: - Réti, Richard source: Шахматный листок date: 1928 algebraic: white: [Kd3, Ba6, Sh5, Pg2] black: [Kb3, Pg4, Pf4, Pe5, Pc3] stipulation: "=" solution: | 1. Ng3 $1 (1. Bb5 $143 e4+ 2. Ke2 (2. Kxe4 $144 c2 3. Nxf4 c1=Q $19) 2... c2 3. Nxf4 c1=Q $19) 1... fxg3 2. Bb5 e4+ (2... c2 $144 3. Ba4+ Kxa4 4. Kxc2 $11) 3. Ke2 (3. Ke3 $143 Ka3 $1 (3... c2 $143 4. Ba4+ Kxa4 5. Kd2 $11)) 3... c2 4. Ba4+ Kxa4 5. Kd2 Kb3 6. Kc1 Kc4 (6... Kc3 $144 $11) (6... e3 $144 $11) 7. Kxc2 e3 8. Kd1 Kd3 9. Ke1 e2 $11 1/2-1/2 --- authors: - Réti, Richard source: Kölnische Volkszeitung date: 1928-12-16 algebraic: white: [Kb6, Rf4, Be4] black: [Kd7, Pe3, Pe2] stipulation: + solution: | "1. Bc6+? Kd6 2. Rd4+ Ke5 3. Re4+ Kd6 4. Rxe3 e1Q 5. Rxe1 stalemate 1. Bf5+ Kd8(6) 2. Rd4+ Ke7(8) 3.Re4+ Kd8! 4. Bd7! e1Q 5. Bb5! Qa5+ 6. Kxa5 wins 3. ... Kf6 4. Rxe3 wins 1. ... Ke7(8) 2. Re4+ Kd8 etc." keywords: - Stalemate avoidance comments: - This is the corrected version by Rinck in Bohemia from 1935-07-28 --- authors: - Réti, Richard source: Шахматный листок date: 1928 distinction: 1st Honorable Mention algebraic: white: [Kh7, Ph5, Pg4, Pe4] black: [Ke7, Ba8, Pf6, Pd6] stipulation: + solution: | 1. e5 dxe5 (1... Be4+ $144 2. Kg7 fxe5 (2... dxe5 $144 3. h6 Bc2 $11 { See main line}) 3. g5 d5 4. h6 d4 5. g6 Bxg6 6. Kxg6 d3 7. h7 d2 8. h8=Q d1=Q $11) (1... fxe5 $144 2. Kg7 Be4 (2... e4 $144 3. h6 e3 4. h7 e2 5. h8=Q e1=Q 6. Qxa8 $11) 3. h6 d5 4. g5 $11) 2. Kg7 Be4 3. h6 Bd3 4. Kg8 Ke6 5. Kg7 $11 1-0 --- authors: - Réti, Richard source: Шахматы source-id: 330 date: 1928-04 distinction: 1st Prize algebraic: white: [Kh7, Qf6, Pg5, Pe4, Pc3, Pb3] black: [Ke8, Rf8, Bh2, Pf7, Pd6, Pb5] stipulation: + solution: | "1. Kh6! Be5 2. Kg7! Bh2 3. c4! bxc4 4. e5! Bxe5 5. bxc4 Bxf6+ 6. gxf6 Rh8 7. Kxh8 Kd7 8. Kg8,Kh7 wins 5. ... Bh2 6. c5 wins 4. bxc4? Be5 looses 3. ... b4? 4. c5 looses 3. e5? Bxe5 4. c4 b4 looses 2. ... Bxf6+ 3. gxf6 wins" --- authors: - Réti, Richard source: Národní listy date: 1929 distinction: Special Prize algebraic: white: [Kc5, Pf7, Pe6, Pa7] black: [Ke7, Bd1, Sc7] stipulation: "=" solution: | 1. Kb6 (1. f8=Q+ $143 Kxf8 2. Kc6 Na8 3. Kd7 Ba4+ (3... Bg4 $143 4. Kd8 Bxe6 $11) 4. Kc8 (4. Kd8 $144 Bc6 $19) 4... Ke7 $1 5. Kb7 Kd6 $1 6. e7 Bc6+ $19) 1... Na8+ 2. Kb7 Bf3+ 3. Kc8 (3. Kb8 $143 Bd5 4. Kc8 Bxe6+ $19) 3... Bc6 (3... Bg2 $144 4. f8=Q+ Kxf8 5. Kd7 $1 Bh3 6. Kd8 Bxe6 $11) 4. f8=Q+ Kxf8 5. Kd8 Kg7 $1 6. Ke7 Kg6 $1 7. Kf8 (7. Kd6 $143 Ba4 8. Ke7 Kf5 $19) 7... Nb6 $1 8. e7 (8. Ke7 $143 Nc8+ 9. Kf8 Kf6 $19) 8... Nd7+ 9. Ke8 Nf6+ 10. Kd8 $1 (10. Kf8 $143 Nh7+ 11. Kg8 Bd5+ 12. Kh8 Nf6 $19) 10... Kf7 11. e8=Q+ Nxe8 12. Kc8 Nf6 13. Kb8 Nd7+ 14. Kc7 Ne5 15. Kb8 $11 1/2-1/2 --- authors: - Réti, Richard source: Sämtliche Studien (Réti) date: 1931 algebraic: white: [Kd6, Ph4, Pb5] black: [Kg8, Ph5, Pg6, Pa7] stipulation: "=" solution: | 1. Kd5 $1 (1. Kc6 $143 g5 2. Kb7 g4 $1 (2... gxh4 $143 3. Kxa7 h3 4. b6 h2 5. b7 h1=Q 6. b8=Q+ $11) 3. Kxa7 g3 4. b6 g2 5. b7 g1=Q+ $19) (1. Ke5 $143 Kf7 2. Ke4 Ke6 3. Kf4 Kf6 $19) 1... Kf7 (1... Kg7 $144 2. Ke4 $3 (2. Ke5 $143 Kf7 $19) (2. Ke6 $143 g5 $19) 2... Kf6 3. Kf4 Ke7 4. Ke3 $3 (4. Ke5 $143 Kf7 $19) (4. Ke4 $143 Ke6 $19) (4. Kg5 $143 Kf7 5. Kf4 Kf6 $19) (4. Kf3 $143 Kd6 $19) 4... Kd7 5. Kd3 Kc7 6. Kc4 Kd7 (6... g5 $144 7. hxg5 h4 8. g6 $11) 7. Kd3 $1 $11 (7. Kd5 $143 Ke7 8. Ke5 (8. Kc6 $144 g5 $19) (8. Ke4 $144 Ke6 $19) 8... Kf7 $19)) 2. Ke5 $1 Ke7 3. Kd5 $1 Kd7 (3... Kf6 $144 4. Kc6 $3 g5 5. hxg5+ $3 Kxg5 6. Kb7 h4 7. Kxa7 h3 8. b6 h2 9. b7 h1=Q 10. b8=Q $11) (3... g5 $144 4. hxg5 $11) 4. Ke5 $1 (4. Kc5 $143 g5 5. hxg5 h4 $19) 4... Kc7 (4... Ke7 $144 5. Kd5 $11) 5. Kd5 Kb6 (5... g5 $144 6. hxg5 $11) 6. Kc4 Ka5 (6... Kb7 $144 7. Kc5 Kb8 (7... Kc7 $144 8. Kd5 $11) 8. Kc4 Kc8 9. Kd4 Kd8 (9... Kd7 $144 10. Ke5 $11) 10. Ke4 Ke8 (10... Ke7 $144 11. Kd5 $11) 11. Kf4 Kf8 (11... Kf7 $144 12. Ke5 $11) ( 11... Ke7 $144 12. Ke3 $1 $11) 12. Ke4 $1 (12. Kf3 $143 Kf7 13. Ke3 Ke7 14. Kf3 (14. Kd3 $144 Kf6 15. Ke4 g5 $19) 14... Kd6 $19) 12... Kg7 (12... Kg8 $144 13. Ke3 Kg7 14. Ke4 $1 $11) 13. Ke3 $1 Kf7 (13... Kf6 $144 14. Kf4 $11) 14. Kf3 $1 $11) 7. Kc5 Ka4 8. Kc4 Ka3 9. Kc3 Ka2 10. Kc2 Ka1 11. Kc3 Kb1 12. Kb3 $11 1/2-1/2 --- authors: - Réti, Richard source: Wiener Tageblatt date: 1925 algebraic: white: [Kc5, Qc6, Se4] black: [Ka2, Qg2, Pg3] stipulation: + solution: | 1. Nc3+ $1 Ka1 2. Qa4+ Kb2 3. Qa2+ Kc1 4. Qb1+ Kd2 5. Qb2+ Ke1 6. Qc1+ Kf2 7. Nd1+ $1 Kf3 (7... Ke2 $144 8. Qb2+ Kd3 $18 {Main line}) 8. Qc3+ Ke2 (8... Kf4 $144 9. Qf6+ Ke4 10. Qd4+ (10. Qc6+ $144 $2 Kd3 11. Qa6+ Kd2 12. Qa2+ Kd3 13. Nb2+ Ke4 14. Qd5+ Ke3 15. Nd1+ $18 {loss of time}) 10... Kf3 11. Qd5+ $18) 9. Qb2+ Kd3 (9... Kf3 $144 10. Qb7+ $18) 10. Qb3+ Kd2 11. Qa2+ Kd3 12. Nb2+ $1 Ke3 (12... Kc3 $144 13. Na4+ $18) 13. Nc4+ Kf3 14. Ne5+ 1-0 --- authors: - Réti, Richard source: Tagesbote date: 1928 algebraic: white: [Kf6, Sf8, Pe6, Pd3] black: [Kc8, Rd6] stipulation: + solution: | 1. d4 Rxd4 (1... Kc7 2. d5 Rxd5 3. e7 Rd8 4. Ne6+ $18) 2. e7 Rd6+ $1 (2... Re4 3. Ne6 Kd7 4. Nc5+ $18) 3. Kg7 $3 (3. Kf7 $2 Rd8 4. Kf6 Re8 $11) 3... Rd8 4. Kf7 Kc7 5. Ne6+ 1-0 --- authors: - Réti, Richard source: algebraic: white: [Kg1, Rb1, Se3, Pe7] black: [Ka5, Re6, Bh1, Pg2] stipulation: + solution: | 1. Nf5 (1. Rb8 $2 Rxe3 2. e8=Q Rxe8 $11) 1... Ka4 (1... Ka6 2. Nd6 Rxe7 3. Ra1+ Kb6 4. Nc8+ $18) (1... Re5 2. Nd4 Re3 (2... Ka4 3. Ra1+ Kb4 4. Nc6+ $18) (2... Ka6 3. Nc2 Rxe7 4. Nb4+ $18) 3. Ra1+ (3. Rc1 Re4 4. Rc5+ $18) 3... Kb6 4. Nf5 Re5 5. Nd6 $1 $18) (1... Re4 2. Nd4 Ka6 (2... Ka4 3. Ra1+) (2... Re3 3. Ra1+) 3. Nc2 $1) (1... Re2 2. Nd4 $1 Re3 (2... Re4 3. Nb3+) 3. Ra1+ Kb6 4. Nf5 Re5 5. Nd6 $18) 2. Nd4 Re4 {der schwarze Turm kann nicht auf ein schwarzes Feld ziehen, ohne nach 3. Ra1+ Nb4 von dem Springer genommen zu werden} 3. Ra1+ Kb4 4. Rc1 $3 (4. Nc2+ $2 Kc3 5. Re1 Rxe7 $1 6. Rxe7 Kxc2 $11) 4... Ka5 (4... Ka3 5. Rc3+) (4... Ka4 5. Rc4+ Ka5 $18) 5. Rc5+ Kb4 (5... Ka6 6. Rc6+ Ka7 7. Re6 $18) (5... Ka4 6. Rc4+ {Eine meisterhafte Beherrschung des schwarzen Turmes}) 6. Re5 Rxe5 7. Nc6+ $18 1-0 --- authors: - Réti, Richard source: Ostrauer Morgenzeitung date: 1929 algebraic: white: [Ka8, Pg4, Pd5, Pc7] black: [Kf6, Ba6, Ph6] stipulation: "=" solution: | 1. d6 Ke6 2. d7 (2. Ka7 $2 Bc8 3. Kb8 Kd7) 2... Kxd7 3. Ka7 Be2 4. Kb8 Ba6 5. Ka7 Bc8 6. Kb8 1/2-1/2 --- authors: - Réti, Richard source: Tijdschrift vd NSB date: 1922 algebraic: white: [Ke4, Rf2] black: [Kh3, Ph4, Pg7, Pg5] stipulation: + solution: | 1. Rd2 Kg3 (1... g4 2. Ke3 g5 (2... Kg3 3. Ke2 Kg2 4. Rd4) 3. Rd4 Kg3 4. Ke2 h3 5. Kf1) (1... g6 2. Kf3 g4+ 3. Kf2 Kh2 4. Kf1+) (1... Kg4 2. Rg2+) 2. Rd3+ Kg2 (2... Kg4 3. Ke3 Kg3 4. Ke2+ Kg2 5. Rd5) 3. Kf5 h3 4. Kg4 h2 5. Rd2+ Kg1 6. Kg3 h1=N+ 7. Kf3 1-0 --- authors: - Réti, Richard source: Kagan's Neueste Schachnachrichten source-id: 31 date: 1920 distinction: Honorable Mention algebraic: white: [Kc5, Ph3, Pb4, Pa5] black: [Ke2, Bf3, Pb7] stipulation: + solution: | 1.Kd4 Kf2 2.h4 Kg3 (2...Be2 $1 {cook IB} 3.Kc5 (3.Ke4 Kg2 $1 4.Kf5 (4.Ke3 Kf1) 4...Kf3 $1 5.h5 Ke3 6.h6 Kd4) 3...Ke3 $1 4.Kb6 (4.b5 Kf4) 4...Bf3 5.h5 Bxh5 6.Kxb7 Be2 7.Kb6 (7.a6 Kd4 8.a7 (8.Kb6 Kc4 9.b5 Bf3) 8...Kc4 9.Kb6 Bf3 10.b5 Ba8 11.Ka6 Kc5) (7.Kc6 Kd4 8.b5 Kc4) 7...Kd4 8.a6 Kc4 9.b5 Bf3) 3.Ke3 Bg4 $1 4.b5 $1 Kxh4 5.b6 Bc8 6.Kf4 Kh5 7.Ke5 Kg5 8.Kd6 Kf5 9.Kc7 1-0 --- authors: - Réti, Richard source: Kagan's Neueste Schachnachrichten source-id: 31 date: 1920 distinction: Honorable Mention algebraic: white: [Kd4, Ph2, Pb3, Pa5] black: [Kh1, Bf3, Pb7] stipulation: + solution: | 1.h4 (1.Ke3 $2 Bd1) 1...Kg2 2.Ke3 (2.b4 $2 Be2) (2.Kc5 $2 Kg3 3.b4 Kxh4 4.b5 Be2 5.Kb6 Kg4) 2...Kg3 3.b4 Bg4 4.b5 Kxh4 5.b6 (5.Kf4 $2 Bd7) 5...Bc8 6.Kf4 1-0 --- authors: - Réti, Richard source: Kagan's Neueste Schachnachrichten source-id: 31 date: 1920 distinction: Honorable Mention algebraic: white: [Kc4, Ph3, Pb4, Pa4] black: [Ke2, Bf3, Pb7] stipulation: + solution: | 1.Kd4 (1.h4 $2 Ke3) 1...Kf2 2.h4 (2.b5 $2 Kg3) 2...Kg3 3.Ke3 Bg4 $1 {cook AC} 4.b5 $1 Kxh4 5.b6 $1 Bc8 6.Kf4 Bg4 1-0 --- authors: - Réti, Richard source: Kagan's Neueste Schachnachrichten source-id: 32 date: 1920 distinction: 2nd Prize algebraic: white: [Ke5, Ph4, Pb5, Pa4] black: [Kf2, Bf3, Pa7] stipulation: + solution: | 1.Kf5 $1 (1.Kf4 $2 Be2 2.Ke4 Kg3 3.Ke3 Bg4 $1 4.a5 Kxh4 5.b6 axb6 6.axb6 Bc8) 1...Ke3 (1...Be2 {main} 2.Kf4 Kg2 3.Kg5 Kf3 4.h5 Ke3 5.h6 Bd3 6.a5) 2.a5 Kd4 3.b6 (3.Kf4 $1 {minor dual AC} Bd5 4.b6 axb6 5.axb6 Kc5 6.Ke5) 3...axb6 4.axb6 Kc5 5.Kf4 Bd5 6.Ke5 Bf3 7.h5 1-0 --- authors: - Réti, Richard source: Magyar Sakkvilág source-id: 202 date: 1929 distinction: Commendation algebraic: white: [Kc7, Rg1, Sa3, Pe6, Pa5] black: [Kc3, Qb2, Ph6] stipulation: + solution: | 1. e7 Qe2 (1... Qh2+ {main} 2. Kc6 Qe2 $1 3. Nb5+ Kd2 (3... Kb2 4. Rb1+) (3... Kb4 4. Rg4+ Kxa5 5. Ra4+) 4. Rd1+ $1) 2. Rg3+ Kb2 3. Re3 $1 1-0 --- authors: - Réti, Richard source: Шахматы source-id: 387 date: 1929 distinction: Commendation algebraic: white: [Kb7, Se4, Pa6] black: [Ka5, Sb5] stipulation: + solution: | 1. Nc5 Kb4 2. Kb6 Nd6 3. Ne4 Nc8+ 4. Kc7 Kb5 5. Kb7 Ka5 6. Nc5 Nd6+ 7. Kc7 Nb5+ 8. Kc6 Na7+ 9. Kb7 Nb5 10. Ne4 Kb4 11. Kb6 Kc4 12. Nc3 1-0 --- authors: - Réti, Richard source: Troitzky Ty date: 1929 distinction: 5th Honorable Mention algebraic: white: [Ka4, Rb1, Pg6, Pb7] black: [Kb8, Rf8] stipulation: + solution: | 1. Rb5 (1. Ka5 $2 Rf2 2. Rg1 Rf8 3. Ka6 (3. Kb6 Rf1) 3... Rg8 4. g7 (4. Kb5 Kxb7 5. Kc5 Kc7 6. Kd5 Kd7 7. Ke5 Ke7 8. Kf5 Rf8+) 4... Rxg7) 1... Rf1 2. Rg5 Rf8 3. Kb5 Kxb7 4. Kc5 Kc7 5. Kd5 Kd7 6. Ke5 Ke7 7. Rf5 1-0 --- authors: - Réti, Richard source: date: 1929 algebraic: white: [Kf7, Rf3, Pe5] black: [Ke4, Be7, Pf5] stipulation: + solution: | 1. Rf2 $1 Kxe5 (1... Bc5 2. Rc2 Ba3 3. e6) (1... Bh4 2. e6 f4 3. Rh2 Bg5 4. Rh5 Bd8 5. Rh8 Bg5 6. Rf8 Ke3 7. Kg6 Be7 8. Rf7 Bd8 9. Kf5) 2. Kxe7 f4 3. Rf1 $1 1-0 --- authors: - Réti, Richard - Майзелис, Илья Львович source: date: 1929 algebraic: white: [Kg8, Ra7] black: [Kf6, Pe6, Pc7] stipulation: + solution: | 1...c6 (1...e5 2.Rxc7 Kf5 (2...e4 3.Rc5 $1) 3.Kf7 e4 4.Re7 Kf4 5.Ke6 $1 e3 6.Kd5 Kf3 7.Kd4 e2 8.Kd3) (1...c5 2.Rc7 Ke5 $1 (2...e5 3.Rxc5 Kf5 4.Kf7 Kf4 5.Ke6 e4 6.Kd5 e3 7.Kd4) 3.Rxc5+ Kd4 4.Rc1 $1 (4.Rc8 $2 e5 5.Re8 e4) 4...e5 5.Rd1+ $1 Kc3 (5...Ke3 6.Re1+ Kf4 7.Kf7 e4 8.Ke6 $1 e3 9.Kd5 Kf3 10.Kd4) 6.Re1 Kd4 7.Kf7 e4 8.Ke6 e3 9.Kf5 Kd3 10.Kf4 e2 11.Kf3) 2.Kh7 $1 (2.Rc7 $2 e5 3.Rxc6+ Kf5 4.Kf7 e4 5.Re6 Kf4 6.Ke7 e3 7.Kd6 Kf3 8.Kd5 e2) (2.Ra5 $2 e5 3.Rc5 Kf5 4.Kf7 Kf4 5.Ke6 e4) 2...e5 3.Kh6 e4 4.Kh5 (4.Ra5 $2 e3 $1 5.Ra3 Ke5 6.Rxe3+ Kd4 7.Re1 c5) 4...Kf5 5.Kh4 Kf4 6.Rf7+ Ke3 7.Kg3 c5 8.Rc7 Kd4 9.Kf4 c4 10.Rd7+ Kc3 11.Kxe4 1-0 --- authors: - Réti, Richard source: Basler Nachrichten source-id: 2053 date: 1929 algebraic: white: [Ke4, Pg5, Pg4, Pf4, Pd7, Pd6] black: [Kh4, Bd8, Ph7] stipulation: + solution: | 1. g6 (1. f5 $1 {cook} Kxg5 2. Ke5 Kh6 3. Kd5) 1... hxg6 2. g5 Kh5 3. Kd5 $1 ( 3. Ke5 $2 Kg4 4. f5 Kxg5 5. f6 Kh6 $3 6. Ke6 g5) 3... Kg4 4. Ke5 Ba5 5. f5 Kxg5 6. f6 Bc3+ 7. Kd5 $1 Bxf6 8. Ke6 Bd8 9. Kf7 Kf5 10. Ke8 Bf6 11. d8=Q Bxd8 12. Kxd8 g5 13. Ke8 g4 14. d7 g3 15. d8=Q 1-0 --- authors: - Réti, Richard source: Basler Nachrichten source-id: 2053 date: 1929 algebraic: white: [Ke2, Pg5, Pf4, Pd7, Pd5] black: [Kh3, Be7, Pg7] stipulation: + solution: | 1. Kd3 $1 Kg3 2. Ke3 Kh4 3. Kd4 Kg4 (3... Bd8 4. g6 $1 Kh5 5. f5 Bf6+ 6. Kc5 Kg5 7. Kd6 Bd8 8. Ke6) (3... g6 4. d6 Bd8 5. Kd5 $1 Kg4 6. Ke5 Ba5 7. f5) 4. Ke4 Bd8 5. Ke5 g6 6. d6 Ba5 7. f5 Kxg5 8. f6 Bc3+ (8... Kh6 9. Ke6 Bd8 10. Kf7 g5 11. Ke8 Bxf6 12. d8=Q Bxd8 13. Kxd8) 9. Kd5 $1 Bxf6 10. Ke6 Bd8 11. Kf7 Kf5 12. Ke8 1-0 --- authors: - Réti, Richard source: Basler Nachrichten source-id: 2053 date: 1929 algebraic: white: [Ke4, Pg4, Pf4, Pd7, Pd6] black: [Kh4, Bd8, Pg6] stipulation: + solution: | 1. g5 Kh5 $1 2. Kd5 $1 (2. Ke5 $2 Kg4 3. f5 Kxg5 4. f6 $1 Kh6 $1 5. Ke6 g5) 2... Kg4 3. Ke5 Ba5 4. f5 Kxg5 5. f6 Bc3+ 6. Kd5 $1 Bxf6 7. Ke6 Bd8 8. Kf7 Kf5 9. Ke8 Bf6 10. d8=Q Bxd8 11. Kxd8 g5 {eg} 12. d7 g4 13. Ke8 g3 14. d8=Q 1-0 --- authors: - Réti, Richard source: Münchner Zeitung date: 1929 algebraic: white: [Kg1, Bg7, Sc3] black: [Ka1, Pe3, Pa2] stipulation: + solution: | 1. Kf1 (1. Kg2 $2 Kb2 2. Nb5+ Kb1 $1 3. Na3+ Kc1 4. Kf3 e2 5. Kxe2 a1=Q 6. Bxa1 ) 1... Kb2 2. Nb5+ Kb1 3. Na3+ Kc1 4. Ke1 e2 5. Nc4 $1 Kb1 6. Nd2+ 1-0 --- authors: - Réti, Richard source: Národní listy date: 1929 algebraic: white: [Kb6, Rd1, Pg6, Pg4, Pe6] black: [Kc8, Re7, Pg7] stipulation: + solution: | 1. Rd6 (1. Rc1+ $2 Kd8 2. Rc6 Re8 3. Kc5 Ke7 4. Kd5 Rd8+ 5. Ke5 Rc8 $3 6. Rxc8) 1... Rc7 2. Kb5 Ra7 3. Kc5 Ra5+ 4. Kb4 Ra7 5. Kb5 Rc7 6. Kb6 Re7 7. Kc5 Ra7 8. Rd4 $1 Ra5+ 9. Kc6 Ra6+ 10. Kd5 Ra5+ 11. Ke4 Ra6 12. Ke5 Ra5+ 13. Kf4 Ra7 14. Rd5 Rb7 15. Ke5 Ra7 16. Kd6 Kd8 17. Kc6+ Ke8 18. Rd7 1-0 --- authors: - Réti, Richard source: Národní listy date: 1929 algebraic: white: [Ka3, Rd6, Pg6, Pg5, Pe6] black: [Kb8, Rc7, Pg7] stipulation: + solution: | 1. Ka4 Kc8 2. Kb4 Ra7 3. Kb5 Rc7 4. Kb6 Re7 5. Kc5 Ra7 6. Rd4 $1 Ra5+ 7. Kc6 Ra6+ 8. Kd5 Ra5+ 9. Ke4 Ra6 10. Ke5 Ra5+ 11. Kf4 Ra7 12. Rd5 1-0 --- authors: - Réti, Richard source: Národní listy date: 1929 algebraic: white: [Kb6, Rd1, Pg6, Pg5, Pe6] black: [Kc8, Re7, Pg7] stipulation: + solution: | 1. Rd6 Rc7 2. Kb5 Ra7 3. Kc5 Ra5+ 4. Kb4 Ra7 5. Kb5 Rc7 6. Kb6 Re7 7. Kc5 Ra7 8. Rd4 Ra5+ 9. Kc6 Ra6+ 10. Kd5 Kd8 11. Ke5+ Ke8 12. Rd7 1-0 --- authors: - Réti, Richard source: Шахматы source-id: 399 date: 1929 algebraic: white: [Kg5, Sf4, Sb2, Ph7] black: [Kc3, Rd8, Pc7] stipulation: + solution: | 1. Na4+ $1 Kb3 (1... Kc4 2. Ng6 Kd5 $1 3. Ne7+ Kc4 4. Ng8 Rd5+ 5. Kg6 Rd6+ 6. Nf6 Rd8 7. Nd7 $1 (7. Kg7 $2 Kd4 $1) 7... Rh8 8. Nac5 c6 9. Kg7 Rxh7+ 10. Kxh7) (1... Kb4 2. Ng6 c5 3. Kf6 $1 c4 4. Ke7 Rc8 5. Nb6 c3 6. Nxc8 c2 7. h8=Q) 2. Ng6 (2. Nc5+ $1 {cook HH} Kc4 3. Nfe6) (2. Ne6 $1 {cook HH}) 2... Kxa4 3. Kf6 c5 4. Ke7 Ra8 5. Nf8 Ra7+ 6. Nd7 Ra8 7. Nb6+ 1-0 --- authors: - Réti, Richard source: Шахматный листок source-id: 369 date: 1929 algebraic: white: [Kc3, Pf2, Pd3] black: [Kb1, Rh2] stipulation: "=" solution: | 1. f3 $1 (1. f4 $2 Rf2 2. d4 Rxf4 3. Kc4 Kc2) (1. d4 $2 Rxf2 2. Kc4 (2. d5 Rf4) 2... Kc2 3. d5 Rd2) 1... Rf2 (1... Rh4 2. d4 Rf4 3. Kc4 Kc2 4. Kc5 Kd3 5. d5) ( 1... Ka2 $1 {cook IM} 2. f4 (2. Kb4 Kb2) 2... Rf2 3. Kc4 (3. Kb4 Rxf4+ 4. Kc5 Rf5+) 3... Ka3 4. d4 Ka4 5. Kc5 Ka5 6. d5 Rc2+ 7. Kd6 Kb6 8. f5 Rf2 9. Ke6 Kc7 10. f6 Kd8 11. Kf7 Kd7 12. Kg7 Ke8) 2. d4 Rxf3+ 3. Kc4 Kc2 4. d5 Rd3 5. Kc5 1/2-1/2 --- authors: - Réti, Richard source: Шахматный листок source-id: 369 date: 1929 algebraic: white: [Kb3, Pe2, Pc3] black: [Ka1, Rh2] stipulation: "=" solution: | 1. e3 $1 (1. e4 $2 Re2 2. Kc4 (2. c4 Rxe4 3. Kb4 Kb2 4. Kb5 Kc3 5. c5 Kd4 6. c6 Kd5) 2... Rxe4+ 3. Kd5 Re8 $1 (3... Re1 $2 4. c4 Rd1+ 5. Ke6 $1) 4. c4 Rd8+ 5. Ke6 Re8+ 6. Kd5 Kb2 7. c5 Kc3 8. c6 Kb4) 1... Re2 2. c4 Rxe3+ 3. Kb4 Kb2 4. c5 Rd3 5. Kb5 1/2-1/2 --- authors: - Réti, Richard source: Шахматный листок source-id: 369 date: 1929 algebraic: white: [Kc3, Pf2, Pd3] black: [Kb1, Ra2] stipulation: "=" solution: | 1. f3 $1 Rf2 (1... Kc1 $1 {cook MD} 2. Kd4 (2. d4 Ra3+ 3. Kb4 (3. Kc4 Kd2 4. d5 Ke3 5. d6 Rd3 $1 6. Kc5 Kf4) 3... Rd3 $1 4. Kc5 Kd2 5. d5 (5. f4 Ke3 6. f5 Rxd4 ) 5... Ke3 6. d6 Kf4 7. Kc6 Ke5 8. f4+ Ke6 9. f5+ Kxf5) 2... Kd2 3. f4 (3. Ke4 Kc3 4. f4 Kb4 5. Kd5 Rf2 6. Ke5 Kc5) 3... Ke2 $1 (3... Ra4+ $2 4. Ke5 Kxd3 5. f5) 4. Ke4 (4. Ke5 Kf3 5. d4 Re2+ $1 6. Kf5 Rd2 7. Ke5 Kg4 8. d5 Kh5 $1 9. f5 Kh6 $1 10. d6 Kg7) 4... Kf2 $1 5. d4 Re2+ $1 6. Kf5 (6. Kd5 Kf3 7. f5 Kf4 8. f6 Kg5 9. f7 Rf2 10. Ke6 Kg6 11. d5 Re2+) 6... Ke3 $1 7. Ke5 (7. d5 Kd4 8. d6 Kc5 9. d7 Rd2) 7... Kf3+ 8. Kf5 Rd2 $1 9. Ke5 Kg4 10. d5 Kh5 $1 11. f5 Kh6 $1 12. d6 Kg7) 2. d4 Rxf3+ 3. Kc4 Kc2 4. d5 Rd3 5. Kc5 1/2-1/2 --- authors: - Réti, Richard source: Tidskrift för Schack source-id: 7019 date: 1929-12 algebraic: white: [Ke3, Rf6] black: [Kc3, Sg5] stipulation: + solution: | "1.Rf6-g6 ? Sg5-f7 2.Ke3-e4 Kc3-c4 3.Rg6-f6 Sf7-d8 1.Rf6-f5 ? Sg5-e6 2.Rf5-e5 Se6-d8 3.Ke3-e4 Kc3-c4 1.Ke3-f4 Sg5-h3+ 2.Kf4-f3 ! Sh3-g5+ 3.Kf3-e3 Kc3-c4 4.Ke3-f4 Sg5-h3+ 5.Kf4-e4 ! Sh3-g5+ 6.Ke4-e5 ! Sg5-h3 7.Rf6-f3 Sh3-g5 8.Rf3-f4+ Kc4-c5 9.Rf4-f5 Sg5-h3 10.Ke5-e4+ ! Kc5-c4 11.Ke4-e3 9...Sg5-h7 10.Ke5-e6+ 8...Kc4-d3 9.Rf4-f5 Sg5-h7 ! 10.Ke5-f4 8.Rf3-f5 ! {dual} Sg5-h3 9.Ke5-e4 7...Sh3-g1 8.Rf3-e3 Kc4-c5 9.Ke5-f5 ! Kc5-d4 10.Kf5-f4 6...Kc4-d3 7.Rf6-f5 6...Kc4-c5 7.Rf6-f5 5...Sh3-g1 6.Ke4-e3 3...Kc3-c2 4.Rf6-g6 Sg5-f7 5.Ke3-d4 Sf7-d8 6.Kd4-d5 Sd8-b7 7.Rg6-a6 5...Kc2-d2 6.Kd4-e4 ! Kd2-e2 7.Ke4-f4 Ke2-f2 8.Rg6-f6 Sf7-d8 9.Rf6-d6 Sd8-b7 10.Rd6-d5 3...Kc3-b3 4.Ke3-f4 Sg5-h3+ 5.Kf4-g4 Sh3-g1 6.Rf6-f2 Kb3-c3 7.Rf2-g2 2...Sh3-g1+ 3.Kf3-e3 2.Kf4-g4 ? Sh3-g1 2.Kf4-g3 ? Sh3-g5" keywords: - Dual --- authors: - Réti, Richard source: Tijdschrift vd NSB date: 1929 algebraic: white: [Kh1, Rb5, Rb2, Se3, Pg2] black: [Kc1, Qg6, Bh2, Pg7, Pg5, Pg3] stipulation: + solution: | 1. R5b4 $1 (1. Rc2+ $2 Qxc2 2. Nxc2 Kxc2 3. Rxg5 Kd3 4. Rxg7 Ke4 5. Rh7 Kf4 6. Rxh2 gxh2 7. Kxh2 Kg4) (1. Rb8 $2 Qe4 $1 (1... Qd3 2. R2b3)) (1. Rb7 $2 Qh7 2. R7b4 Qg6) 1... Qh7 $1 (1... Qd3 2. R2b3 Qg6 3. Rd4) 2. Rb7 Qg6 (2... Qd3 3. R2b3) (2... Qe4 3. Rc7+ Kxb2 4. Nc4+ Qxc4 5. Rxc4 Kb3 6. Rc7) 3. R2b6 Qe4 4. Rd7 Qxe3 5. Rc6+ Kb2 6. Rb7+ Qb3 $1 7. Rxb3+ Kxb3 8. Rc7 (8. Rc5 $1 {cook JU}) 8... g6 9. Rc6 Kb4 10. Rxg6 Kc4 11. Rxg5 Kd4 12. Rh5 Ke4 13. Rxh2 gxh2 14. Kxh2 Kf4 15. Kh3 Kg5 16. Kg3 1-0 --- authors: - Réti, Richard source: Magyar Sakkvilág source-id: 167 date: 1928 distinction: Commendation algebraic: white: [Ke8, Pb7, Pb5] black: [Ke5, Bb8, Sg6] stipulation: "=" solution: | 1. Kd8 $1 (1. Kd7 $2 Bd6 2. Kc8 (2. b6 Kd5 3. Kc8 Ne7+ 4. Kd7 Nc6) 2... Ne7+ 3. Kd7 Nd5) 1... Bd6 2. Kd7 $1 Kd5 3. Kc8 Ne7+ 4. Kd7 1/2-1/2 --- authors: - Réti, Richard source: Шахматный листок source-id: 265 date: 1928 distinction: 1st Honorable Mention algebraic: white: [Kg7, Pg5, Pf4, Pd4] black: [Kd7, Ba5, Pe6, Pc6] stipulation: "=" solution: | 1. Kf7 (1. d5 $2 Ke7 $1 2. dxc6 Bc7 3. g6 Bxf4 4. Kh7 Be5 5. Kg8 Ke8 6. Kh7 Ba1 $1 7. Kh6 (7. Kg8 e5) 7... Bf6) 1... Bc3 2. d5 $1 cxd5 (2... exd5 $1 {cook IB} 3. g6 Bh8 $1 4. Kg8 (4. f5 d4 5. f6 d3 6. g7 Bxg7 7. fxg7 d2 8. g8=Q d1=Q) 4... Bb2 5. Kf7 c5 6. f5 c4 7. f6 c3 8. g7 c2 9. g8=Q c1=Q) 3. g6 Kd6 4. Kf8 $1 Bb2 5. Kf7 Bh8 6. Kg8 Bc3 7. Kf7 1/2-1/2 --- authors: - Réti, Richard source: Шахматный листок source-id: 265 date: 1928 distinction: 1st Honorable Mention algebraic: white: [Kh7, Ph5, Pg4, Pe4] black: [Ke7, Bb5, Pf6, Pd6] stipulation: "=" solution: | 1. e5 $1 dxe5 2. Kg7 Bd3 3. h6 Ke6 (3... Bh7 4. Kxh7 Kf7 5. g5 $1 fxg5 6. Kh8 g4 7. h7 g3) 4. Kg8 Bc2 5. Kg7 1/2-1/2 --- authors: - Réti, Richard source: Tidskrift för Schack source-id: 6255 date: 1921 algebraic: white: [Kh1, Qg3, Re6, Sd6, Sc6] black: [Kd5, Sc7, Sa3, Ph3, Pc5, Pa6] stipulation: "#3" solution: | "1. Sc8! [2. Sb6+ 2. ... Kxe6 3. Qg6#] 1. ... Sa8 2. Qg4 [3. S8e7, S6e7, Rd6, Qe4#] 2. ... c4 3. Qf5# 1. ... Sxe6 2. Qf3+ 2. ... Kc4 3. Sd6# 1. ... Kxe6 2. Qg6+ 2. ... Kd5/d7 3. Sb6# 1. ... Sc4 2. Qg4 [3. S8e7, S6e7, Qe4#] 2. ... Sxe6 3. Qf3#" --- authors: - Réti, Richard source: Über Land und Meer source-id: 15 date: 1904 algebraic: white: [Ka4, Qh4, Bf4, Bb1, Sg2, Pc4, Pc2] black: [Kd4, Qe5, Sf8, Pf3, Pb6] stipulation: "#3" solution: | "1. Qf2!+ 1. ... Qe3 2. Qxe3+ 2. ... Kxc4 3. Ba2# 1. ... Kxc4 2. Ba2+ 2. ... Kc3 3. Bxe5# 1. ... Kc3 2. Bxe5+ 2. ... Kxc4 3. Qd4, Ba2#" --- authors: - Réti, Richard source: Sahmatnyi Listok date: 1927 distinction: 2nd Prize algebraic: white: [Kh7, Pf6, Pf5, Pd5] black: [Kc7, Be1, Sb8] stipulation: "=" solution: | 1.d6+ Kxd6 2.f7 Sd7 3.Kg7 Bc3+ 4.Kg8 Ke7 5.f8/Q+ Sxf8 6.f6+ Bxf6 = --- authors: - Réti, Richard source: Münchner Neueste Nachrichten date: 1928 algebraic: white: [Ke7, Rd4] black: [Ke5, Pd5] stipulation: + solution: | 1. Rd2(3) d4 2. Rd1 Kd5 3. Kd7 Ke4 4. Kc6 d3 5. Kc5 wins --- authors: - Réti, Richard source: Kölnische Volkszeitung date: 1928-01 algebraic: white: [Kg1, Rc1] black: [Kf5, Pg2, Pe2, Pc2] stipulation: + solution: | "1.Kg1*g2 ? Kf5-e4 2.Kg2-f2 e2-e1=Q+ ! 3.Kf2*e1 Ke4-d3 4.Rc1-a1 Kd3-c3 5.Ra1-c1 Kc3-d3 ! 3.Rc1*e1+ Ke4-d3 2...Ke4-d3 ? 3.Kf2-e1 1.Kg1-f2 ! Kf5-e4 2.Kf2*e2 Ke4-d4 ! 3.Rc1-g1 {or Ra1} Kd4-e4 4.Rg1-e1 ! Ke4-e5 5.Ke2-e3 ! Ke5-e6 6.Ke3-e4 5.Ke2-d2+ ? Ke5-f4 5.Ke2-f2+ ? Ke5-d4 4...Ke4-d4 5.Ke2-d2 4...Ke4-f4 5.Ke2-f2 3...Kd4-c3 4.Rg1-e1 Kc3-b2 5.Ke2-d2 Kb2-b3 6.Re1-c1 3.Rc1-e1 ? Kd4-e4 !" --- authors: - Réti, Richard source: Kagan's Neueste Schachnachrichten source-id: version date: 1922-04 algebraic: white: [Ka4, Pc5] black: [Ka6, Ph6] stipulation: "=" solution: | "1.c5-c6 h6-h5 2.Ka4-b4 Ka6-b6 3.Kb4-c4 h5-h4 4.Kc4-d5 ! h4-h3 5.Kd5-d6 4...Kb6-c7 5.Kd5-e4 1.Ka4-b4 ! {cook} h6-h5 2.c5-c6 ! 2.Kb4-c4 ? h5-h4 1...Ka6-b7 2.Kb4-c4" keywords: - Reti maneuver - Cooked --- authors: - Réti, Richard source: Kagan's Neueste Schachnachrichten date: 1922-04 algebraic: white: [Ka4, Pc6] black: [Ka6, Ph6] stipulation: "=" Black to move solution: | 1...h6-h5 2.Ka4-b4 ! Ka6-b6 3.Kb4-c4 ! h5-h4 4.Kc4-d5 ! Kb6-c7 5.Kd5-e4 4...h4-h3 5.Kd5-d6 h3-h2 6.c6-c7 3...Kb6*c6 4.Kc4-d4 2...h5-h4 3.Kb4-c5 h4-h3 4.Kc5-d6 h3-h2 5.c6-c7 Ka6-b7 6.Kd6-d7 keywords: - Reti maneuver --- authors: - Réti, Richard source: L’Alfiere di Re date: 1922 algebraic: white: [Kf3, Rc3, Sc5, Pf5, Pe2] black: [Ka5, Sc1, Pf7, Pd2, Pb5] stipulation: + solution: | 1.Rc3-c2 d2-d1=Q 2.Rc2*c1 Qd1-d5+ 3.e2-e4 Qd5-a2 4.Rc1-a1 {+-} 3...Qd5-e5 4.Rc1-a1+ Qe5*a1 5.Sc5-b3+ {+-} 4...Ka5-b4 5.Sc5-d3+ {+-} 4...Ka5-b6 5.Sc5-d7+ {+-} comments: - also in The San Francisco Chronicle (no. 150), 17 December 1922 --- authors: - Réti, Richard source: Wiener Schachzeitung date: 1923 algebraic: white: [Kb4, Ra8, Sf6] black: [Kd2, Ph4, Ph3, Pb3, Pa7] stipulation: + solution: | "1.Kb4-a3! h3-h2 2.Ra8-e8 h2-h1=Q 3.Sf6-e4+ Kd2-c2 4.Re8-c8+ Kc2-b1 5.Se4-d2+ Kb1-a1 6.Sd2*b3+ Ka1-b1 7.Sb3-d2+ Kb1-a1 { } 8.Rc8-c2 {+-} threat: 9.Sd2-b3+ Ka1-b1 10.Rc2-b2# 2...Kd2-d1 3.Sf6-e4 Kd1-e2 4.Se4-g3+ Ke2-f3 5.Sg3-h1 Kf3-g2 6.Re8-e1 {+-} 1.Kb4*b3? h3-h2 2.Sf6-e4+ Kd2-e3 3.Ra8-e8 Ke3-f3 4.Se4-g5+ Kf3-g4 5.Re8-e1 Kg4*g5 6.Re1-h1 Kg5-g4 { }7.Rh1*h2 Kg4-g3 8.Rh2-h1 h4-h3 9.Rh1-c1 h3-h2 10.Kb3-a4 Kg3-g2 11.Ka4-a5 h2-h1=Q 12.Rc1*h1 Kg2*h1 = 1.Ra8-h8? b3-b2 2.Sf6-e4+ Kd2-e3 3.Se4-c3 Ke3-f2 4.Rh8*h4 Kf2-g3 5.Rh4-h7 h3-h2 6.Kb4-b3 Kg3-g2 { }7.Rh7-g7+ Kg2-f3 8.Rg7-f7+ Kf3-g2 9.Rf7-g7+ {=}" pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-key-squares_by_arex_2017.01.21.sqlite0000644000175000017500000026000013441162535031555 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) T+learn/puzzles/lichess_study_lichess-practice-key-squares_by_arex_2017.01.21.pgn   %Qhttps://lichess.org/study/xebrDvFe %Q https://lichess.org/study/xebrDvFe Ahttps://lichess.org/@/arex A https://lichess.org/@/arex X X > Lichess Practice: Key Squares: Any key square by any route. cLichess Practice: Key Squares: Rook pawn #2. cLichess Practice: Key Squares: Rook pawn #16sLichess Practice: Key Squares: Pawn on the 7th rankFLichess Practice: Key Squares: Knight pawn on the 6th exception #2FLichess Practice: Key Squares: Knight pawn on the 6th exception #16sLichess Practice: Key Squares: Pawn on the 6th rank6sLichess Practice: Key Squares: Pawn on the 5th rank6sLichess Practice: Key Squares: Pawn on the 4th rank6sLichess Practice: Key Squares: Pawn on the 3rd rank6sLichess Practice: Key Squares: Pawn on the 2nd rank YY!! ?Lichess Practice: Key Squares: Any key square by any route /cLichess Practice: Key Squares: Rook pawn #2 /cLichess Practice: Key Squares: Rook pawn #1 7sLichess Practice: Key Squares: Pawn on the 7th rankGLichess Practice: Key Squares: Knight pawn on the 6th exception #2GLichess Practice: Key Squares: Knight pawn on the 6th exception #17sLichess Practice: Key Squares: Pawn on the 6th rank7sLichess Practice: Key Squares: Pawn on the 5th rank7sLichess Practice: Key Squares: Pawn on the 4th rank7sLichess Practice: Key Squares: Pawn on the 3rd rank6s Lichess Practice: Key Squares: Pawn on the 2nd rank  20180221 dMX d<    K # 0?5k2/8/8/8/8/2P5/8/3K4 w - - 0 1:    G   0?8/8/8/8/pk6/8/3K4/8 w - - 0 1;    I   0?8/4k3/6K1/7P/8/8/8/8 w - - 0 1;   I & 0?8/1kP1K3/8/8/8/8/8/8 w - - 0 1<   K 0?6k1/8/6K1/6P1/8/8/8/8 w - - 0 1;   I \ X0?k7/2K5/8/1P6/8/8/8/8 w - - 0 1;   I 0?2k5/8/1KP5/8/8/8/8/8 w - - 0 1;   I 0?3k4/8/8/1KP5/8/8/8/8 w - - 0 1;   I \X0?8/8/k7/4K3/2P5/8/8/8 w - - 0 1;   I .(0?4k3/8/8/8/8/1KP5/8/8 w - - 0 17   K 0?8/8/8/1k6/8/4K3/2P5/8 w - - 0 1                       #   &  \\.           XX(                                 , t[D4 td<# l S < ,  l \ ? &  , Opening?+ UTCTime00:26:57*! UTCDate2017.01.22&)#7 Terminationpromotion with +100cp( Opening?' UTCTime23:37:24&! UTCDate2017.01.21%#! TerminationDraw in 10$ Opening?# UTCTime23:33:21"! UTCDate2017.01.21&!#7 Terminationpromotion with +100cp Opening?UTCTime23:55:29!UTCDate2017.01.21&#7Terminationpromotion with +100cpOpening?UTCTime02:26:10!UTCDate2017.01.22&#7Terminationpromotion with +100cpOpening?UTCTime00:08:51!UTCDate2017.01.22&#7Terminationpromotion with +100cpOpening?UTCTime23:50:53!UTCDate2017.01.21&#7Terminationpromotion with +100cpOpening?UTCTime23:49:37!UTCDate2017.01.21& #7Terminationpromotion with +100cp Opening? UTCTime23:46:52 !UTCDate2017.01.21& #7Terminationpromotion with +100cpOpening?UTCTime23:47:55!UTCDate2017.01.21&#7Terminationpromotion with +100cp  Opening? UTCTime23:42:21 !UTCDate2017.01.21% #7Terminationpromotion with +100cppychess-1.0.0/learn/puzzles/dawson.olv0000644000175000017500000135746213365545272017126 0ustar varunvarun--- authors: - Dawson, Thomas Rayner source: Pittsburgh Sun date: 1921 algebraic: white: [Ke4, Sb7, Sb1, Pa2] black: [Kc4, Bc3, Sb4] stipulation: "h#2" solution: | "1. ... Sa3! 1. Bd4 a4 2. Bc5 Sa5#" --- authors: - Dawson, Thomas Rayner source: Pittsburgh Sun date: 1921 algebraic: white: [Kd4, Sg1, Se5, Ph2, Pg4] black: [Kf4] stipulation: "h#2" solution: | "1. ... Sh3! 1. Kg5 h4 2. Kf4 Se2#" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine source-id: p.175 date: 1911-04 algebraic: white: [Kh1, Rc8, Rc6, Bg8, Ba1, Sg1, Sa8] black: [Kd7, Rd5, Rd4, Be8, Bd6, Ph7, Ph5, Pg7, Pd2, Pb4, Pa4] stipulation: See text solution: | Stipulation: Interchange the two Black Rooks in the fewest moves. Conditions: (1) White gives no check, does not move into check, nor makes a capture. (2) Black only moves when he can make a capture, which capture he must make. Solution: 1.Rc2 2.R8c6 3.Rb6! 4.Rb2 5.Rb1 6.Rf1 7.Rf5 R:f5 8.Ba2 9.Bb1 10.Bc2 11.Bd1 12.Be2 13.Ba6 14.Bb7 15.Bg2 16.Bh3 17.Sf3 18.Sg5 19.Se6 K:e6 20.Ra6 21.Ra5 22.Sb6 23.Sd5 Rd:d5 24.Ra6 25.Bg2 26.Be4 27.Bb1 28.Ba2 29.Bd4 30.Be3 31.Bf4 R:f4 32.Ra8 33.Rc8 34.Rc2 35.Rb2 36.Rb1 37.Rg1 38.Rg3 39.Rd3 40.Rd4 Rf:d4 keywords: - Conditional problem --- authors: - Carr, W. - Dawson, Thomas Rayner source: The Chess Amateur date: 1909 algebraic: white: [Kd8, Qh7, Rc7, Bh8, Bb7, Se2, Pf4, Pd3] black: [Ke6, Qa4, Rf2, Bh4, Bb3, Sd1, Pg3, Pg2, Pf7, Pe7, Pd6, Pc3, Pb5, Pa7] stipulation: "#2" solution: | "1.d4! (2.Qe4#[A]) 1...Bd5[a] 2.Bc8#[B] 1...Qxd4 2.Nxd4# 1...Bc2 2.d5# 1...d5 2.Rc6# 1...Rxf4 2.Nxf4# 1...Rxe2 2.f5# 1...Bf6 2.Qh3# 1...f6 2.Rxe7# 1...f5 2.Qg8#" keywords: - Active sacrifice - Pickabish --- authors: - Dawson, Thomas Rayner source: Falkirk Herald date: 1915 algebraic: white: [Ke2, Qe5, Se3] black: [Ke8, Rh8, Rb8, Be7, Ph6, Pf7, Pd7, Pb6] stipulation: "#2" solution: | "1...Kd8 2.Qxb8# 1...Kf8 2.Qxh8# 1.Nd5?? (2.Qxe7#) 1...Kd8 2.Qxb8# 1...Kf8 2.Qxh8# but 1...O-O! 1.Nf5! (2.Qxe7#) 1...Kd8 2.Qxb8# 1...Kf8 2.Qxh8# 1...O-O 2.Qg7#" --- authors: - Dawson, Thomas Rayner source: Good Companions (October Magee Jr TT) date: 1919 distinction: 2nd Prize algebraic: white: [Kh3, Qb5, Rf3, Ra5, Sf8, Sf2, Pg4, Pe6] black: [Kg5, Qc5, Ra4, Ra3, Bb1, Sh8, Ph6, Pe7, Pe5, Pd4, Pc3, Pa2] stipulation: "#2" solution: | "1...Ng6 2.Nh7# 1...d3/Bf5 2.Rf5# 1...e4 2.Qxc5# 1...Be4/c2 2.Nxe4# 1.Qb2?? (2.Qc1#) 1...e4 2.Rxc5# 1...Ng6 2.Nh7# 1...d3/Bf5 2.Rf5# 1...c2 2.Ne4# but 1...cxb2! 1.Qxc5?? (2.Qxe7#) 1...Ng6 2.Nh7# but 1...h5! 1.Kg3?? (2.Nh3#) 1...Bf5 2.Rxf5# but 1...h5! 1.Qf1! (2.Qc1#) 1...Ng6 2.Nh7# 1...d3/Bf5 2.Rf5# 1...c2 2.Ne4# 1...e4 2.Rxc5#" --- authors: - Dawson, Thomas Rayner source: Western Daily Mercury date: 1921 algebraic: white: [Ke1, Qd7, Rh4, Bf7, Sh6, Sh5, Pg2, Pc7] black: [Ke3, Qa8, Ra5, Ra4, Bb8, Bb7, Pd3, Pa6, Pa3] stipulation: "#2" solution: | "1...Bd5/Rf5 2.Nf5# 1...Be4 2.Ng4# 1...Rd5 2.Qh3# 1...d2+ 2.Qxd2# 1...Rd4 2.Qxd4# 1...Re4 2.Rh3# 1.Bc4?? (2.Qd4#/Qxd3#) 1...Qa7/Ba7/Bxg2 2.Qxd3# 1...d2+ 2.Qxd2# 1...Rd5 2.Qh3# 1...Bd5 2.Nf5# 1...Be4 2.Ng4# but 1...Rxc4! 1.Qxa4?? (2.Ng4#/Qd4#/Qf4#) 1...Qa7/Ba7 2.Ng4#/Qf4# 1...Bxc7 2.Ng4#/Qd4# 1...Be4 2.Ng4# 1...Bf3/Bc8/Rg5 2.Qd4#/Qf4# 1...Bxg2 2.Qf4# 1...Rxa4 2.Nf5# 1...Rd5 2.Ng4#/Rh3#/Re4#/Qe4#/Qf4# 1...Rf5 2.Ng4#/Nxf5#/Qd4# but 1...d2+! 1.Bg6! (2.Qxd3#) 1...Rd5 2.Qh3# 1...Rf5/Bd5 2.Nxf5# 1...Be4 2.Ng4# 1...d2+ 2.Qxd2# 1...Rd4 2.Qxd4# 1...Re4 2.Rh3#" keywords: - Grimshaw --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1922 algebraic: white: [Ka5, Pe5, Pe4, Pe3, Pe2, Pd3, Pd2, Pb2, Pa2] black: [Kc5, Pc6, Pa4] stipulation: "#2" solution: | "1...a3 2.b4# 1.b3?? (2.d4#/b4#) but 1...axb3! 1.d4+! 1...Kc4 2.d3#" keywords: - Checking key - Flight giving key - Block --- authors: - Dawson, Thomas Rayner source: Allgemeine Zeitung Chemnitz date: 1925 algebraic: white: [Kg7, Qd5, Bb7, Sa6] black: [Ke8, Re6, Ra8, Pg6, Pe7, Pe5, Pd7, Pa7] stipulation: "#2" solution: | "1...Rd6/Rc6/Rb6/Rxa6 2.Qg8# 1...Rd8 2.Nc7# 1.Bc6! (2.Qxd7#) 1...O-O-O 2.Bb7# 1...Rd8/dxc6 2.Nc7# 1...Rd6/Rxc6 2.Qg8#" keywords: - Flight giving key - Active sacrifice - Switchback - Castling --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1933 distinction: 1st Prize algebraic: white: [Kg4, Qc7, Rh4, Rf8, Bg1, Bb7, Sb2, Pb3, Pa2] black: [Kd4, Qc6, Be3, Ba4, Sf1, Se1, Pc2, Pb4] stipulation: "#2" solution: | "1...Qc3 2.Kh3#/Kh5#/Kf5#/Rf4#/Qd6# 1...Qb6/Qa6 2.Kh3#/Kh5#/Kf5#/Rf4# 1...Qb5 2.Kh3#/Rf4# 1.Rd8+! 1...Ke4 2.Qe7# 1...Kc3 2.Nxa4# 1...Kc5 2.Rh5# 1...Qd6 2.Kf5# 1...Qd5 2.Kh3# 1...Qd7+ 2.Kh5#" keywords: - Checking key - Flight taking key - King Y-flight --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1935 algebraic: white: [Kg6, Rh4, Rf4, Bf2, Be6, Sd5, Ph5, Ph3, Pg5, Pg4, Pd2, Pa4, Pa2] black: [Kc4, Bf8, Be4, Pg7, Pf5, Pf3, Pe7, Pd3] stipulation: "#2" solution: | "1...fxg4+ 2.Rxe4# 1.Kh7?? zz 1...fxg4+ 2.Rxe4# but 1...g6! 1.Kf7?? zz 1...fxg4 2.Rxe4# but 1...g6! 1.h6?? zz 1...fxg4+ 2.Rxe4# but 1...gxh6! 1.Bg1?? zz 1...fxg4+ 2.Rxe4# but 1...f2! 1.Be3?? zz 1...fxg4+ 2.Rxe4# but 1...f2! 1.Bb6?? zz 1...fxg4+ 2.Rxe4# but 1...f2! 1.Ba7?? zz 1...fxg4+ 2.Rxe4# but 1...f2! 1.Rxf5! zz 1...Bxf5+ 2.gxf5# 1...Bxd5 2.Rf4#" keywords: - Active sacrifice - Black correction - Block - Switchback --- authors: - Dawson, Thomas Rayner source: Melbourne Leader date: 1937 algebraic: white: [Kd8, Qg4, Rc3, Bg1, Bb7, Se5, Sd3, Pe2, Pd5] black: [Ke4, Qa2, Rh5, Ra5, Bc2, Sh3, Ph7, Ph6, Ph4, Pf4, Pd7, Pc7, Pa6] stipulation: "#2" solution: | "1...Qa3/Qb1/Qc4/Qxd5 2.Rc4# 1...Rf5 2.Qf3# 1...Nxg1/Ng5/Nf2 2.Qxf4# 1.Qg2+?? 1...f3 2.Qxf3# but 1...Kf5! 1.Nxd7! (2.Nf6#) 1...Qxd5 2.Rc4# 1...Raxd5 2.Nc5# 1...Nxg1/Nf2 2.Qxf4# 1...Rf5 2.Qf3# 1...Rhxd5 2.Qe6# 1...Bxd3 2.exd3#" keywords: - Defences on same square - Plachutta --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1942 algebraic: white: [Kd1, Rd6, Ba3, Sh4, Sb6, Pf3, Pe3] black: [Ke5, Sg7, Sf6, Pb5] stipulation: "#2" solution: | "1...b4 2.Nc4# 1...Nf5 2.Ng6# 1...Ng4/Ng8/Nfh5/Nh7/Nfe8/Nd5/Nd7 2.Nd7# 1...Ne4 2.f4#/Nd7# 1.Rc6! (2.Bb2#) 1...Nf5 2.Ng6# 1...Ne6 2.Bd6# 1...Ne4 2.f4# 1...Nd5 2.Nd7#" --- authors: - Dawson, Thomas Rayner source: Falkirk Herald date: 1941 algebraic: white: [Ka5, Qf4, Sd4, Sb8] black: [Kc5, Bc4, Sb6, Sb4, Pd7, Pc6, Pc2, Pb5] stipulation: "#2" solution: | "1...N4d5 2.Na6# 1...N6d5 2.Nxd7# 1...d5 2.Ne6# 1.Nxd7+?? 1...Kd5 2.Qe5# but 1...Nxd7! 1.Nf5?? (2.Qd4#/Qd6#) 1...Nc8/Bd3/Be2/Bf1/Be6/Bf7/Bg8/Bb3/Ba2 2.Qd4# 1...Bd5 2.Qd4#/Qxb4# but 1...Kd5! 1.Qe5+?? 1...N4d5 2.Na6# 1...N6d5 2.Nxd7# 1...d5 2.Ne6# but 1...Bd5! 1.Nf3! (2.Qd4#) 1...Kd5 2.Qe5# 1...Bd5 2.Qxb4# 1...N6d5 2.Nxd7# 1...d5 2.Qf8# 1...N4d5 2.Na6#" keywords: - Defences on same square - Levman comments: - Check also136339 --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1948 algebraic: white: [Kg1, Qe3, Bf7, Sg4, Se5] black: [Kf5, Bh5, Bh4, Se6, Pg3, Pg2, Pe7] stipulation: "#2" solution: | "1...Bf6 2.Nh6# 1...Bg6 2.Bxg6# 1.Nd3?? zz 1...Kxg4/Bg6 2.Bxe6# 1...Bg5 2.Qxe6# 1...Bf6 2.Nh6# 1...Bxg4 2.Qe5# 1...Nf4/Nf8/Ng5/Ng7/Nd4/Nd8/Nc5/Nc7 2.Qxf4# but 1...Bxf7! 1.Qe4+?? 1...Kg5 2.Nf3# but 1...Kxe4! 1.Ng6! zz 1...Kxg4/Bxg6 2.Bxe6# 1...Nf4/Nf8/Ng5/Ng7/Nd4/Nd8/Nc5/Nc7 2.Qxf4# 1...Bg5 2.Qxe6# 1...Bf6 2.Nh6# 1...Bxg4 2.Qe5#" keywords: - Flight giving key --- authors: - Dawson, Thomas Rayner source: The Chess Problem date: 1944 algebraic: white: [Ke1, Rd5, Ra1, Bd2, Sc8, Sb8, Pa6, Pa4] black: [Ka5, Sc5, Sb4, Pd6, Pd3] stipulation: "#2" solution: | "1.Nxd6?? (2.Nc4#) but 1...Kb6! 1.Nb6?? (2.Nc4#) but 1...Kxb6! 1.Rd4! (2.Bxb4#) 1...Nxa4 2.Rd5# 1...Nxa6 2.Nc6#" keywords: - Switchback --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1946-10 algebraic: white: [Kb4, Qc2, Rf6, Bb2, Se5, Sd4, Pf4, Pd7, Pc6] black: [Kd5, Qh1, Bc8, Sd8, Sd2, Pg5, Pe3] stipulation: "#2" solution: | "1...Qe4[a] 2.Qc5#[A] 1...Nxc6+[b] 2.Qxc6#[B] 1...Ne4 2.Qc4#/Qb3# 1.Qf5?? (2.Nef3#/Nf7#/Ng4#/Ng6#/Nd3#/Nc4#) 1...Nxc6+[b] 2.Nexc6# 1...Qh3 2.Ng4# 1...Qh7 2.Ng6# 1...Qb1 2.Nd3# 1...Ne6 2.Nf7#/Nc4# 1...Nf7 2.Nxf7# 1...Nf3 2.Nexf3# 1...Nc4 2.Nxc4# 1...Bxd7 2.Nxd7# but 1...Qe4[a]! 1.Ng6?? (2.Qf5#/Ne7#) 1...Qe4[a] 2.Qc5#[A] 1...Nxc6+[b] 2.Qxc6#[B] 1...Qh3/Qb1/Nf3/Nc4/Bxd7/Nf7 2.Ne7# 1...Qh7/gxf4 2.Qf5# 1...Ne4 2.Ne7#/Qc4#/Qb3# but 1...Ne6! 1.Qd3! (2.Ne2#/Ne6#/Ndf3#/Nf5#/Nc2#/Nb3#/Nb5#) 1...Qe4[a] 2.Qb5#[C] 1...Nxc6+[b] 2.Ndxc6#[D] 1...Ba6 2.Nb5# 1...Nf3 2.Ndxf3# 1...Nb3 2.Nxb3# 1...Qh7 2.Nf5# 1...Qf1 2.Ne2# 1...Qb1 2.Nc2# 1...Ne6 2.Nxe6#" keywords: - Changed mates - Fleck - Karlstrom-Fleck --- authors: - Dawson, Thomas Rayner source: Magyar Sakkvilág source-id: 12/71 date: 1922-12-01 algebraic: white: [Kh1, Qd8, Rg2, Bc8, Bb2, Sh3, Sa6, Pf3, Pb3] black: [Kd3, Rf5, Rb5, Sd7, Sb8, Pf6, Pf4, Pe3] stipulation: "#2" solution: | "1.Qd8-e8 ! threat: 2.Qe8-e4 # 1...e3-e2 2.Qe8*e2 # 1...Rb5-b4 2.Sa6*b4 # 1...Rb5-e5 2.Sa6-b4 # 1...Rf5-e5 2.Sh3*f4 # 1...Sd7-c5 2.Qe8*b5 # 1...Sd7-e5 2.Bc8*f5 #" keywords: - Defences on same square - Transferred mates --- authors: - Dawson, Thomas Rayner source: Falkland Herald date: 1920 algebraic: white: [Ke1, Rb1, Be3, Sd2, Ph7, Pg6, Pg3, Pf2, Pe4, Pd4, Pc4, Pb2] black: [Kh8, Pg7, Pg4, Pf3, Pb3, Pa4] stipulation: "#4" solution: "1.Ra1,a3 .2.Sb1,a2 .3.Bc1,axb1 .4.Ra8#" --- authors: - Dawson, Thomas Rayner source: Western Daily Mercury date: 1921 algebraic: white: [Ka1, Sf5] black: [Kg5, Bf6, Sg7, Sd4, Ph4, Pg4, Pe6] stipulation: "h#4" solution: "1.Sh5 Sg7 2.h3 Sxe6+ 3.Kh4 Sxd4 4.Bg5 Sf5#" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1942 algebraic: white: [Ka1, Rd6, Ba3, Sh6, Sb6, Pf3, Pe3] black: [Ke5, Sg7, Sf6, Pb5] stipulation: "#2" solution: | "ANTICIPATED 1...b4 2.Nc4# 1...Nf5 2.Nf7# 1...Ng4/Ng8/Nfh5/Nh7/Nfe8/Nd5/Nd7 2.Nd7# 1...Ne4 2.f4#/Nd7# 1.Rxf6?? (2.Bb2#/Ng4#) 1...Nf5 2.Ng4# 1...Ne6 2.Ng4#/Rf5# but 1...Kxf6! 1.Rc6! (2.Bb2#) 1...Nf5 2.Nf7# 1...Ne6 2.Bd6# 1...Ne4 2.f4# 1...Nd5 2.Nd7#" comments: - Anticipated by 35891 --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine source-id: p.175 date: 1911-04 algebraic: white: [Kh1, Rh4, Pg3] black: [Ke2, Rh8, Bd3, Ba3, Se3, Sb7, Ph5, Pg7, Pf5, Pe7, Pc6, Pb6] stipulation: See text solution: | Stipulation: White Queens his P in the fewest moves. Conditions: (1) No check to be given. (2) White does not capture nor move into check. (3) Black only moves when he can capture, which he must make. If a capture is available and Black gives check, that capture cannot be made under (1). Solution: 1.Kg1 2.Rh1 3.Kh2 4.Kh3 5.Kh4 6.Kg5 7.Kf4 8.Ke5 9.Kd4 10.Kc3 11.Kb3 12.Ka2 13.Rb1! 14.Rb3 15.Rc3 16.Kb3 17.Ka4 18.Rb3 19.Rb5 20.Re5 21.Re6 22.Kb3 23.Kc3 24.Kd4 25.Ke5 26.Kf4 27.Kg5 28.Kh4 29.Kh3 30.g4! 31.g5 32.Rg6 33.Kg3 34.Kf4 35.Ke5 36.Ke6 37.Rh6 g:h6! 38.g6 39.g7 40.Kf7 41.Kg6 42.g8=Q keywords: - Conditional problem --- authors: - Dawson, Thomas Rayner source: The Problem date: 1914 algebraic: white: [Ke1, Rh1, Rb2, Bd4, Ph2, Pg3, Pf2, Pe5, Pe3, Pd2, Pc2, Pa2] black: [Ka1, Ph6, Pg7, Pf7, Pe7, Pd7, Pc7, Pb6, Pa7] stipulation: "#1" solution: | "1. 0-0#? 1. Ke2#!" keywords: - Retro - Cantcastler --- authors: - Dawson, Thomas Rayner source: Bulletin de la Fédération Française des Échecs date: 1927 algebraic: white: [Kc1, Se5, Sd7, Ph2, Pg2, Pf2, Pe2, Pd2, Pc2, Pb2, Pa2] black: [Kb5, Sb4, Sa6, Pa5] stipulation: "Add a piece on d1, then -1w and #1" solution: | "Une pièce étant ajoutée en d1, les Blancs reprennent leur dernier coup et font mat en 1. Add a piece on d1, then -1w and #1 Solution : La pièce à ajouter en d1 ne peut être une Dame : comment le Roi aurait-il passé par dessus? - ni un Fou : les Fous ont été pris au gîte - ni un Cavalier : tous deux sont encore vivants et aucun n'a pu être créé - de surcroît, ni la Tour h1 qui ne permettrait pas la solution. Reste donc la Tour a1 dont la présence en d1 n'est possible qu'après le roque et il faut que le roque ait eu lieu à ce dernier coup qu'il s'agit de reprendre pour qu'en rétablissant la Tour en a1, le problème soit résolu par 1.a4#. Add Rd1, then take back O-O-O and forward 1.a4#" keywords: - Retro comments: - Check also 29469 --- authors: - Dawson, Thomas Rayner source: Bulletin de la Fédération Française des Échecs date: 1927 algebraic: white: [Kf1, Se7, Sd5, Ph2, Pg2, Pf2, Pe2, Pd2, Pc2, Pb2, Pa2] black: [Kg5, Sh6, Sg4, Ph5] stipulation: "Add a piece on e1, then -1w and #1" solution: | "Une pièce étant ajoutée en e1, les Blancs reprennent leur dernier coup et font mat en 1. Add a piece on e1, then -1w and #1 Solution : La pièce à ajouter en é1 ne peut être ni un Cavalier : tous deux sont encore vivants et aucun n'a pu être créé - ni une Tour qui ne permettrait pas la solution - ni un Fou : les Fous ont été pris au gîte. Ce ne peut être que la Dame, et le dernier coup des Blancs est Rg1-f1 et ensuite mat par f4. Add Qe1, then back Kg1-f1 and forward 1.f4#" keywords: - Retro comments: - Check also 29468 --- authors: - Dawson, Thomas Rayner source: Vie Rennaise date: 1933-01 algebraic: white: [Kh5, Rb7, Bh8, Ba6, Sc7, Pg7, Pg3, Pf5, Pe2, Pd6, Pb2, Pa7] black: [Kf7, Qa8, Rg6, Rg4, Bg8, Bb8, Se8, Ph7, Pg5, Pf6, Pf4, Pe5, Pd5, Pb6, Pb5] stipulation: "#1" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: Revue Roumaine date: 1933-05 algebraic: white: [Kd6, Rg8, Re6, Ba5, Se3, Pg7, Pf3, Pe7, Pd5, Pb7, Pb5] black: [Ke8, Qa7, Rf7, Bd8, Ba8, Sh8, Sf8, Pg6, Pf6, Pe5, Pd7, Pd4, Pb6, Pb4, Pa2] stipulation: "#1" solution: | "1. ef8Q/R#? 1. ... Qb8#!" keywords: - Retro comments: - In Memoriam W. Pauly --- authors: - Dawson, Thomas Rayner source: Pittsburg Sun date: 1924 algebraic: white: [Kd8, Pf4, Pf2, Pb4, Pb2, Drd2] black: [Kd6, Bd5, Pf3, Pe6, Pc6, Pb3] stipulation: "#2" solution: | "1.DRd2-d3 ! threat: 2.DRd3-e5 # 2.DRd3-c5 # 1...c6-c5 2.DRd3-e5 # (2.DRd3-c5? Kc6) 1...e6-e5 2.DRd3-c5 # (2.DRd3-e5? Ke6) 1...Bd5-c4 2.DRd3*c4 # 1...Bd5-e4 2.DRd3*e4 #" --- authors: - Dawson, Thomas Rayner source: Falkirk Herald date: 1914 algebraic: white: [Ke5, Sg6, Sc6, Pg5, Pf4, Pe7, Pe6, Pe3, Pe2, Pd4, Pc5] black: [Ke8, Ph7, Pf5, Pe4, Pd5, Pb7] stipulation: "#2" solution: | "1.c5xd6 ep ? 1.g5xf6 ep !" keywords: - Retro - En passant - Scaccografia - New Year's theme - Christmas tree - Asymmetrical solution --- authors: - Dawson, Thomas Rayner source: Birmingham Post date: 1911 algebraic: white: [Kd7, Qg6, Rf6, Sb5, Pc3, Pa6] black: [Kb8, Ra8, Pg7, Pf7, Pd6, Pb7, Pa7] stipulation: "#2" solution: | "1...d5 2.Qg3# 1...gxf6 2.Qg8# 1...fxg6 2.Rf8# 1.Rf5?? (2.Qxd6#) 1...fxg6 2.Rf8# 1...f6 2.Qe8# but 1...bxa6! 1.Rf4?? (2.Qxd6#) 1...fxg6 2.Rf8# 1...f6 2.Qe8# but 1...bxa6! 1.Rf3?? (2.Qxd6#) 1...fxg6 2.Rf8# 1...f6 2.Qe8# but 1...bxa6! 1.Rf2?? (2.Qxd6#) 1...fxg6 2.Rf8# 1...f6 2.Qe8# but 1...bxa6! 1.Rf1?? (2.Qxd6#) 1...fxg6 2.Rf8# 1...f6 2.Qe8# but 1...bxa6! 1.Rxf7?? (2.Rf8#/Qxd6#) but 1...bxa6! 1.Re6?? (2.Re8#) 1...fxe6 2.Qe8# but 1...bxa6! 1.Qg3?? (2.Qxd6#) but 1...bxa6! 1.Qg2?? (2.Qxb7#) 1...d5 2.Qg3#/Qh2# but 1...bxa6! 1.Qxg7?? (2.Qg8#/Qh8#/Qf8#) but 1...bxa6! 1.Qh5?? (2.Qh8#) but 1...bxa6! 1.Qh7?? (2.Qh8#/Qg8#) but 1...bxa6! 1.Qe4?? (2.Qe8#/Qxb7#) 1...d5 2.Qe5#/Qe8#/Qf4# but 1...bxa6! 1.Qd3?? (2.Qxd6#) 1...d5 2.Qg3# but 1...bxa6! 1.Qxf7?? (2.Qf8#/Qg8#/Qe8#) but 1...bxa6! 1.Nd4! zz 1...gxf6 2.Qg8# 1...bxa6 2.Qb1# 1...b6/b5 2.Nc6# 1...fxg6 2.Rf8# 1...d5 2.Qg3#" keywords: - Unsound --- authors: - Dawson, Thomas Rayner source: Revista del Club Argentino de Ajedrez date: 1921 algebraic: white: [Ke5, Qe4, Bf3, Ba3, Sb1, Pg5, Pf2, Pe7, Pe6, Pe3, Pb6] black: [Kc1, Rb2, Ba1, Pa7, Pa4] stipulation: "r#3" solution: | "1. Bh5! [2. f4 ... Bd6 ... Rb5#] 1. ... axb6 2. Kd4 waiting 2. ... b5 3. Bc5 ... Rd2# 1. ... a5 2. Bg6+ 2. ... Kd1 3. Kf6 ... Rxf2#" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine source-id: 377/2587 date: 1912-05 algebraic: white: [Ke7, Rc7, Rb2, Pe6, Pe3, Pa7] black: [Ka8, Ph3, Pf3, Pe4, Pd3, Pb3, Pa4] stipulation: "#3" solution: | "1.Rb2-h2 ! threat: 2.Rh2*h3 threat: 3.Rh3-h8 # 1...b3-b2 2.Rh2*b2 threat: 3.Rb2-b8 # 1...d3-d2 2.Rh2*d2 threat: 3.Rd2-d8 # 1...f3-f2 2.Rh2*f2 threat: 3.Rf2-f8 # " --- authors: - Dawson, Thomas Rayner source: Magyar Sakkvilág date: 1929 algebraic: white: [Kc3, Bb8, Sd6, Pb3] black: [Ka5, Pb6, Pa6] stipulation: "#2" solution: | "1...b5 2.Bc7# 1.Ne4?? zz 1...b5 2.Bc7# but 1...Kb5! 1.Ne8?? zz 1...b5 2.Bc7# but 1...Kb5! 1.Nf5?? zz 1...b5 2.Bc7# but 1...Kb5! 1.Nf7?? zz 1...b5 2.Bc7# but 1...Kb5! 1.Nc8?? zz 1...b5 2.Bc7# but 1...Kb5! 1.Kc4?? (2.Nb7#) but 1...b5+! 1.Ba7! zz 1...b5 2.Nb7#" keywords: - Mutate --- authors: - Dawson, Thomas Rayner - Baird, Edith Elina Helen source: The Chess Amateur date: 1924 algebraic: white: [Kc2, Rg6, Sh4, Se7] black: [Kh7, Se4] stipulation: "#2" solution: "1.Nhf5! (2.Rh6#)" keywords: - No pawns --- authors: - Dawson, Thomas Rayner source: Assymmetry date: 1927 algebraic: white: [Kh7, Rg2, Rb6] black: [Ka1, Sf5] stipulation: "#2" solution: | "1.Rc6?? (2.Rc1#) but 1...Kb1! 1.Re6?? (2.Re1#) but 1...Ne3! 1.Rg4?? (2.Ra4#) but 1...Nd4! 1.Rg5?? zz 1...Ng3/Ng7/Nh4/Nh6/Ne3/Ne7/Nd4/Nd6 2.Ra5# but 1...Ka2! 1.Rg8! (2.Ra8#)" keywords: - Flight giving key - No pawns --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1924 algebraic: white: [Ke7, Re3, Be6, Se2, Pf2, Pd2] black: [Ke5, Pg4, Pe4, Pc4] stipulation: "#2" solution: | "1...c3 2.d4# 1...g3 2.f4# 1.Rc3?? zz 1...e3 2.Rxe3# but 1...g3! 1.Rb3?? (2.Rb5#) 1...e3 2.Rxe3# but 1...cxb3! 1.Rg3?? zz 1...e3 2.Rxe3# but 1...c3! 1.Rh3?? (2.Rh5#) 1...e3 2.Rxe3# but 1...gxh3! 1.d3?? (2.d4#/Rxe4#) but 1...cxd3! 1.f3?? (2.f4#/Rxe4#) but 1...gxf3! 1.Ra3! (2.Ra5#) 1...e3 2.Rxe3#" keywords: - Switchback --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1950-10 algebraic: white: [Kb3, Qc6, Pg4, Pf3, Pf2, Pa4] black: [Ke5, Pb4, Pa5] stipulation: "#2" solution: | "1...Kf4 2.Qf6# 1...Kd4 2.Qd6# 1.Kc4?? zz 1...Kf4 2.Qf6# but 1...b3! 1.Qb6?? zz 1...Kf4 2.Qf6#/Qe3# but 1...Kd5! 1.Qa6?? zz 1...Kf4 2.Qf6# 1...Kd4 2.Qd6# but 1...Kd5! 1.Qe6+?? 1...Kf4 2.Qe3#/Qf6#/Qf5# 1...Kd4 2.Qd6# but 1...Kxe6! 1.Qg6?? zz 1...Kf4 2.Qf6#/Qf5# 1...Kd4 2.Qd6# but 1...Kd5! 1.Qh6?? zz 1...Kd4 2.Qd6# but 1...Kd5! 1.Qd7?? zz 1...Kf4 2.Qf5# but 1...Kf6! 1.f4+?? 1...Kd4 2.Qc4# but 1...Kxf4! 1.g5! zz 1...Kf5/Kf4 2.Qf6# 1...Kd4 2.Qd6#" keywords: - Flight giving key - Model mates - Block --- authors: - Dawson, Thomas Rayner source: The Westminster Gazette date: 1915 algebraic: white: [Ke1, Ra1, Be2, Bc7, Sd6, Sb2, Pc6, Pb6] black: [Ka5, Rb8, Sa3, Pb7, Pb4, Pb3, Pa6] stipulation: "#2" solution: | "1...Ra8/Rc8/Rd8/Re8/Rf8/Rg8/Rh8 2.Nxb7# 1...bxc6 2.b7# 1.Bf1?? zz 1...Ra8/Rc8/Rd8/Rf8/Rg8/Rh8 2.Nxb7# 1...bxc6 2.b7# but 1...Re8+! 1.Bd3?? zz 1...Ra8/Rc8/Rd8/Rf8/Rg8/Rh8 2.Nxb7# 1...bxc6 2.b7# but 1...Re8+! 1.Bc4?? zz 1...bxc6 2.b7# 1...Ra8/Rc8/Rd8/Rf8/Rg8/Rh8 2.Nxb7# but 1...Re8+! 1.Kd1?? zz 1...Ra8/Rc8/Re8/Rf8/Rg8/Rh8 2.Nxb7# 1...bxc6 2.b7# but 1...Rd8! 1.Kf1?? zz 1...bxc6 2.b7# 1...Ra8/Rc8/Rd8/Re8/Rg8/Rh8 2.Nxb7# but 1...Rf8+! 1.Kf2?? zz 1...Ra8/Rc8/Rd8/Re8/Rg8/Rh8 2.Nxb7# 1...bxc6 2.b7# but 1...Rf8+! 1.Kd2?? zz 1...bxc6 2.b7# 1...Ra8/Rc8/Re8/Rf8/Rg8/Rh8 2.Nxb7# but 1...Rd8! 1.Ra2?? zz 1...Ra8/Rc8/Rd8/Re8/Rf8/Rg8/Rh8 2.Nxb7# 1...bxc6 2.b7# but 1...bxa2! 1.Rd1?? zz 1...Ra8/Rc8/Rd8/Re8/Rf8/Rg8/Rh8 2.Nxb7# 1...Nb1/Nc4 2.Rd5# 1...Nb5 2.Ndc4# 1...bxc6 2.b7# but 1...Nc2+! 1.O-O-O! zz 1...Ra8/Rc8/Rd8/Re8/Rf8/Rg8/Rh8 2.Nxb7# 1...bxc6 2.b7# 1...Nb1/Nc2/Nc4 2.Rd5# 1...Nb5 2.Ndc4#" keywords: - Black correction - Block --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1915 algebraic: white: [Ke1, Rh1, Rg8, Bf6, Sg2, Sf4, Pe2] black: [Kg3, Bh8, Sg7, Sf5, Pg4] stipulation: "#2" solution: | "1...Nh4/Nh6/Ne3/Ne7/Nd4/Nd6 2.Bxh4# 1...Nh5/Ne6/Ne8 2.Rh3# 1.Rxg7?? (2.Rh3#) 1...Nxg7 2.Bh4# but 1...Bxg7! 1.Kf1?? zz 1...Nh4/Nh6/Ne7/Nd4/Nd6 2.Bxh4# 1...Nh5/Ne6/Ne8 2.Rh3#/Nxh5# but 1...Ne3+! 1.Be7?? zz 1...Nh5/Ne6/Ne8 2.Rh3# 1...Nh4/Nh6/Ne3/Nd4/Nd6 2.Bxh4# but 1...Nxe7! 1.Bd8?? zz 1...Nh5/Ne6/Ne8 2.Rh3# 1...Nh4/Nh6/Ne3/Nd4/Nd6 2.Bxh4# but 1...Ne7! 1.O-O! zz 1...Nh4/Nh6/Ne3/Ne7/Nd4/Nd6 2.Bxh4# 1...Nh5/Ne6/Ne8 2.Rf3#" keywords: - Mutate --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1918 algebraic: white: [Ke1, Rh1, Bh2, Be6, Sg3, Ph4, Ph3, Pd2] black: [Kg2, Ph5, Pe7] stipulation: "#2" solution: | "1...Kf3 2.O-O# 1.Rf1?? (2.Rf2#) but 1...Kxh2! 1.Nxh5?? zz 1...Kf3 2.Bd5# but 1...Kxh1! 1.Ne2?? zz 1...Kf3 2.Bd5# but 1...Kxh1! 1.Nf1! zz 1...Kxh1/Kf3 2.Bd5#" keywords: - Flight giving key - Mutate --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times date: 1915 algebraic: white: [Ke1, Rc2, Ra1, Be3, Sg6, Sf7, Pf5, Pa6] black: [Kd5, Bd8, Sh5, Pf6, Pe4, Pd4, Pa7] stipulation: "#2" solution: | "1...Ng3/Ng7/Nf4 2.Nf4# 1...Be7/Bc7/Bb6 2.Nxe7# 1...Ba5+ 2.Rxa5# 1...dxe3 2.O-O-O#/Rd1# 1...d3 2.Rc5# 1.Kd1?? zz 1...Ng3/Ng7/Nf4 2.Nf4# 1...d3 2.Rc5# 1...Be7/Bc7/Bb6 2.Nxe7# 1...Ba5 2.Rxa5#/Ne7# but 1...dxe3! 1.Kf1?? zz 1...Ng7/Nf4 2.Nf4# 1...Be7/Bc7/Bb6 2.Nxe7# 1...Ba5 2.Rxa5#/Ne7# 1...dxe3 2.Rd1# 1...d3 2.Rc5# but 1...Ng3+! 1.Kf2?? zz 1...Ng3/Ng7/Nf4 2.Nf4# 1...d3 2.Rc5# 1...Be7/Bc7/Bb6 2.Nxe7# 1...Ba5 2.Rxa5#/Ne7# but 1...dxe3+! 1.Kd2?? zz 1...Ng3/Ng7/Nf4 2.Nf4# 1...Be7/Bc7/Bb6 2.Nxe7# 1...Ba5+ 2.Rxa5# 1...d3 2.Rc5# but 1...dxe3+! 1.Bf2?? zz 1...Ng3/Ng7/Nf4 2.Nf4# 1...Be7/Bc7/Bb6 2.Nxe7# 1...Ba5+ 2.Rxa5# 1...d3 2.Rc5# but 1...e3! 1.Bg1?? zz 1...Ng3/Ng7/Nf4 2.Nf4# 1...d3 2.Rc5# 1...Be7/Bc7/Bb6 2.Nxe7# 1...Ba5+ 2.Rxa5# but 1...e3! 1.Rcc1?? zz 1...Ng3/Ng7/Nf4 2.Nf4# 1...Be7/Bc7/Bb6 2.Nxe7# 1...Ba5+ 2.Rxa5# 1...d3 2.Rc5# but 1...dxe3! 1.Rc3?? zz 1...Ng3/Ng7/Nf4 2.Nf4# 1...dxe3 2.O-O-O#/Rd1# 1...d3 2.Rc5# 1...Be7/Bc7/Bb6 2.Nxe7# 1...Ba5 2.Rxa5#/Ne7# but 1...dxc3! 1.Rc7?? (2.Ra5#) 1...Be7 2.Nxe7# 1...dxe3 2.O-O-O#/Rd1# but 1...Bxc7! 1.Rc8?? zz 1...Ng3/Ng7/Nf4 2.Nf4# 1...dxe3 2.O-O-O#/Rd1# 1...d3 2.Rc5# 1...Be7/Bb6 2.Nxe7# 1...Ba5+ 2.Rxa5# but 1...Bc7! 1.Raa2?? zz 1...Be7/Bc7/Bb6 2.Nxe7# 1...Ba5+ 2.Rxa5# 1...Ng3/Ng7/Nf4 2.Nf4# 1...d3 2.Rc5# but 1...dxe3! 1.Ra3?? zz 1...d3 2.Rc5# 1...Ng3/Ng7/Nf4 2.Nf4# 1...Be7/Bc7/Bb6 2.Nxe7# 1...Ba5+ 2.Rxa5# but 1...dxe3! 1.Ra4?? (2.Rxd4#) 1...Bb6 2.Ne7# 1...Ba5+ 2.Rxa5# but 1...dxe3! 1.Rb1?? (2.Rb5#) 1...Be7/Bb6 2.Nxe7# 1...dxe3 2.Rd1# but 1...Ba5+! 1.Rac1?? (2.Rc5#) 1...dxe3 2.Rd1# 1...Be7/Bb6 2.Nxe7# but 1...Ba5+! 1.Rd1?? (2.Rxd4#) 1...Bb6 2.Ne7# 1...d3 2.Rc5# but 1...Ba5+! 1.O-O-O! (2.Rxd4#) 1...d3 2.Rc5# 1...Bb6 2.Ne7#" --- authors: - Dawson, Thomas Rayner source: The Podunk Club date: 1915 algebraic: white: [Ke1, Rc2, Ra1, Be3, Bb7, Sg8, Sf7, Ph6, Pg5, Pc6] black: [Kd5, Re8, Bc7, Sh5, Sf8, Ph7, Pg6, Pe6, Pe5, Pe4, Pd4] stipulation: "#2" solution: | "1...Bd6/Bd8/Bb6 2.c7#[A] 1...Ba5+ 2.Rxa5# 1...Bb8 2.Ra5#/c7#[A] 1...Nd7 2.cxd7# 1...Ng3/Ng7/Nf4/Nf6 2.Nf6#[B] 1...Re7/Rd8/Rc8/Rb8/Ra8 2.Nxe7# 1...dxe3 2.O-O-O#/Rd1# 1...d3 2.Rc5# 1.Kf1? zz 1...Nd7 2.cxd7# 1...Bd6/Bd8/Bb6 2.c7#[A] 1...Ba5/Bb8 2.Rxa5#/c7#[A] 1...Re7/Rd8/Rc8/Rb8/Ra8 2.Nxe7# 1...dxe3 2.Rd1# 1...d3 2.Rc5# 1...Ng7/Nf4/Nf6 2.Nf6#[B] but 1...Ng3+! 1.Rd1? zz 1...Bd6/Bd8/Bb6/Bb8 2.c7#[A] 1...Nd7 2.cxd7# 1...Ng3/Ng7/Nf4/Nf6 2.Nf6#[B] 1...Re7/Rd8/Rc8/Rb8/Ra8 2.Nxe7# 1...d3 2.Rc5# but 1...Ba5+! 1.Bf2?? zz 1...Ng3/Ng7/Nf4/Nf6 2.Nf6#[B] 1...Nd7 2.cxd7# 1...Bd6/Bd8/Bb6 2.c7#[A] 1...Ba5+ 2.Rxa5# 1...Bb8 2.Ra5#/c7#[A] 1...Re7/Rd8/Rc8/Rb8/Ra8 2.Nxe7# 1...d3 2.Rc5# but 1...e3! 1.Bg1?? zz 1...Ng3/Ng7/Nf4/Nf6 2.Nf6#[B] 1...Nd7 2.cxd7# 1...Bd6/Bd8/Bb6 2.c7#[A] 1...Ba5+ 2.Rxa5# 1...Bb8 2.Ra5#/c7#[A] 1...d3 2.Rc5# 1...Re7/Rd8/Rc8/Rb8/Ra8 2.Nxe7# but 1...e3! 1.Kd1?? zz 1...Nd7 2.cxd7# 1...Bd6/Bd8/Bb6 2.c7#[A] 1...Ba5/Bb8 2.Rxa5#/c7#[A] 1...Re7/Rd8/Rc8/Rb8/Ra8 2.Nxe7# 1...Ng3/Ng7/Nf4/Nf6 2.Nf6#[B] 1...d3 2.Rc5# but 1...dxe3! 1.Kf2?? zz 1...Nd7 2.cxd7# 1...Bd6/Bd8/Bb6 2.c7#[A] 1...Ba5/Bb8 2.Rxa5#/c7#[A] 1...Re7/Rd8/Rc8/Rb8/Ra8 2.Nxe7# 1...d3 2.Rc5# 1...Ng3/Ng7/Nf4/Nf6 2.Nf6#[B] but 1...dxe3+! 1.Kd2?? zz 1...Nd7 2.cxd7# 1...Bd6/Bd8/Bb6 2.c7#[A] 1...Ba5+ 2.Rxa5# 1...Bb8 2.Ra5#/c7#[A] 1...Re7/Rd8/Rc8/Rb8/Ra8 2.Nxe7# 1...d3 2.Rc5# 1...Ng3/Ng7/Nf4/Nf6 2.Nf6#[B] but 1...dxe3+! 1.Rcc1?? zz 1...Nd7 2.cxd7# 1...Bd6/Bd8/Bb6 2.c7#[A] 1...Ba5+ 2.Rxa5# 1...Bb8 2.Ra5#/c7#[A] 1...Re7/Rd8/Rc8/Rb8/Ra8 2.Nxe7# 1...Ng3/Ng7/Nf4/Nf6 2.Nf6#[B] 1...d3 2.Rc5# but 1...dxe3! 1.Rc3?? zz 1...Nd7 2.cxd7# 1...Bd6/Bd8/Bb6 2.c7#[A] 1...Ba5/Bb8 2.Rxa5#/c7#[A] 1...Re7/Rd8/Rc8/Rb8/Ra8 2.Nxe7# 1...dxe3 2.O-O-O#/Rd1# 1...d3 2.Rc5# 1...Ng3/Ng7/Nf4/Nf6 2.Nf6#[B] but 1...dxc3! 1.Raa2?? zz 1...Bd6/Bd8/Bb6 2.c7#[A] 1...Ba5+ 2.Rxa5# 1...Bb8 2.Ra5#/c7#[A] 1...Re7/Rd8/Rc8/Rb8/Ra8 2.Nxe7# 1...Nd7 2.cxd7# 1...Ng3/Ng7/Nf4/Nf6 2.Nf6#[B] 1...d3 2.Rc5# but 1...dxe3! 1.Ra3?? zz 1...Bd6/Bd8/Bb6 2.c7#[A] 1...Ba5+ 2.Rxa5# 1...Bb8 2.Ra5#/c7#[A] 1...Re7/Rd8/Rc8/Rb8/Ra8 2.Nxe7# 1...Nd7 2.cxd7# 1...d3 2.Rc5# 1...Ng3/Ng7/Nf4/Nf6 2.Nf6#[B] but 1...dxe3! 1.Ra4?? zz 1...Bd6/Bd8/Bb6 2.c7#[A] 1...Ba5+ 2.Rxa5# 1...Bb8 2.Ra5#/c7#[A] 1...Re7/Rd8/Rc8/Rb8/Ra8 2.Nxe7# 1...Nd7 2.cxd7# 1...d3 2.Rc5# 1...Ng3/Ng7/Nf4/Nf6 2.Nf6#[B] but 1...dxe3! 1.Ra6?? zz 1...Bd6/Bd8/Bb6 2.c7#[A] 1...Ba5+ 2.Rxa5# 1...Bb8 2.Ra5#/c7#[A] 1...Re7/Rd8/Rc8/Rb8/Ra8 2.Nxe7# 1...Nd7 2.cxd7# 1...Ng3/Ng7/Nf4/Nf6 2.Nf6#[B] 1...d3 2.Rc5# but 1...dxe3! 1.Ra7?? zz 1...Bd6/Bd8/Bb6 2.c7#[A] 1...Ba5+ 2.Rxa5# 1...Bb8 2.Ra5#/c7#[A] 1...Re7/Rd8/Rc8/Rb8/Ra8 2.Nxe7# 1...Nd7 2.cxd7# 1...d3 2.Rc5# 1...Ng3/Ng7/Nf4/Nf6 2.Nf6#[B] but 1...dxe3! 1.Ra8?? zz 1...Bd6/Bd8/Bb6 2.c7#[A] 1...Ba5+ 2.Rxa5# 1...Bb8 2.Ra5#/c7#[A] 1...Re7/Rd8/Rc8/Rb8/Rxa8 2.Nxe7# 1...Nd7 2.cxd7# 1...d3 2.Rc5# 1...Ng3/Ng7/Nf4/Nf6 2.Nf6#[B] but 1...dxe3! 1.Rb1?? (2.Rb5#) 1...Bd6/Bb6 2.c7#[A] 1...Nd7 2.cxd7# 1...dxe3 2.Rd1# but 1...Ba5+! 1.Rac1?? (2.Rc5#) 1...Bd6/Bb6 2.c7#[A] 1...Nd7 2.cxd7# 1...dxe3 2.Rd1# but 1...Ba5+! 1.O-O-O! zz 1...Nd7 2.cxd7# 1...Bd6/Bd8/Bb6/Ba5/Bb8 2.c7#[A] 1...Re7/Rd8/Rc8/Rb8/Ra8 2.Nxe7# 1...d3 2.Rc5# 1...Ng3/Ng7/Nf4/Nf6 2.Nf6#[B]" keywords: - Mutate - Transferred mates --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1920 algebraic: white: [Ka8, Qe6, Se8, Pb7, Pa7] black: [Kf8, Pe7] stipulation: "#2" solution: | "1...Kxe8 2.b8Q#/b8R# 1.Qxe7+?? 1...Kg8 2.Qg7# but 1...Kxe7! 1.Qf5+?? 1...Kxe8 2.b8Q#/b8R# but 1...Kg8! 1.b8N! zz 1...Kxe8 2.Qg8#" keywords: - Mutate --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1920 algebraic: white: [Kc7, Ba4, Sd4, Sc5, Pc3] black: [Ka5, Bd5] stipulation: "#2" solution: | "1...Be4[a]/Bf3[a]/Bg2[a]/Bh1[a]/Bb7/Ba8[a] 2.Ndb3#[A] 1...Be6[b]/Bf7[b]/Bg8[b]/Bc4[b]/Ba2[b] 2.Nc6#[B] 1...Bb3/Bc6 2.Nc6#[B]/Ndxb3#[A] 1.Bb5! zz 1...Be4[a]/Bf3[a]/Bg2[a]/Bh1[a]/Bc6/Ba8[a] 2.Ncb3#[C] 1...Be6[b]/Bf7[b]/Bg8[b]/Bc4[b]/Ba2[b] 2.Nb7#[D] 1...Bb3/Bb7 2.Ncxb3#[C]/Nb7#[D]" keywords: - Changed mates - Mutate - Model mates --- authors: - Dawson, Thomas Rayner source: The Illustrated London News date: 1913 algebraic: white: [Ke1, Rh1] black: [Kb8, Rb7, Rb6, Ba7, Ba6, Sa8, Ph6, Pg7, Pd7, Pc7, Pc6, Pb5] stipulation: "#2" solution: | "1.Rf1! (2.Rf8# Illegal is 1.0-0 (2.Rf8#)" keywords: - Retro - Cantcastler - Minimal (white) --- authors: - Dawson, Thomas Rayner source: Bulletin de la Fédération Française des Échecs date: 1927 algebraic: white: [Ke1, Se8, Sd8, Pg4, Pf2, Pc2, Pb4] black: [Ke4, Re5, Pf4, Pc3] stipulation: "h#2" solution: "1.Re5-d5 Se8-d6 + 2.Ke4-d4 Sd8-c6 #" --- authors: - Dawson, Thomas Rayner source: Bulletin de la Fédération Française des Échecs date: 1935 algebraic: white: [Kb8, Rh1, Rd3, Bf1, Sf5] black: [Ke8, Qe5, Rh8, Rg2, Bf6, Sd1, Pc7, Pb2] stipulation: "h#2" twins: b: Shift h1 g1 solution: | "a) 1.0-0 + Rd3-d8 2.Qe5-g3 Bf1-c4 # b) shift h1 == g1 1.Rf2-f8 Rg1*g8 2.Rf8-e8 Be1-h4 # 1.Rg8-e8 Rg1-g8 2.Rf2-b2 Be1-h4 # 1.Rg8-e8 Rg1-g8 2.Rf2-c2 Be1-h4 # 1.Rg8-e8 Rg1-g8 2.Rf2-d2 Be1-h4 # 1.Rg8-e8 Rg1-g8 2.Rf2-e2 Be1-h4 #" --- authors: - Dawson, Thomas Rayner source: Thorton Heath algebraic: white: [Kh6, Rd3, Pg3, Pf2, Pd2, Pc3] black: [Kf3, Qd1, Rg7, Rf1, Bb6, Sd4, Sc5, Ph3, Ph2, Pg6, Pg5, Pe6, Pe3, Pc6, Pc2] stipulation: "h#2" twins: b: Shift a1 a2 solution: | "a) 1.Kf3-e4 f2-f4 2.Ke4-d5 Rd3*d4 # b) shift a1 == a2" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1928-05 algebraic: white: [Ka1, Re4, Rb7] black: [Kd5, Qh2, Rd6, Rc5, Bh1, Bg1, Ph3, Pg2] stipulation: "h#2" solution: | "1.Rc5-c6 Rb7-e7 2.Qh2-e5 + Re7*e5 # 1.Rc5-c6 Re4-b4 2.Kd5-c5 Rb7-b5 # 1.Kd5-c6 Re4-b4 2.Rd6-d5 Rb4-b6 # 1.Kd5-c6 Re4-e7 2.Rc5-d5 Re7-c7 # 1.Rd6-c6 Rb7-b4 2.Bg1-d4 + Rb4*d4 # 1.Rd6-c6 Re4-e7 2.Kd5-d6 Rb7-d7 #" --- authors: - Dawson, Thomas Rayner source: Magyar Sakkvilág date: 1934 distinction: Prize algebraic: white: [Ka6, Ra5, Pf3, Pe4, Pb5, Pa7] black: - Kf4 - Qc2 - Rb7 - Ra4 - Bf2 - Bd3 - Sh5 - Sf5 - Ph7 - Ph6 - Ph3 - Pg3 - Pf6 - Pd4 - Pc5 - Pb6 stipulation: "h#2" twins: b: Shift a2 a1 solution: | "a) Last move: 0. ... e2-e4. 1. de e.p.! R:a4+ 2. Kg5 Rg4# b) Shift a2 == a1 Last move: 0. ... b2-b4. 1. cb+ e.p.! K:b6 2. Be2 R:f4#" keywords: - Retro - En passant - Model mates --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1921 algebraic: white: [Ke5, Qe3, Rb1, Ra1, Bg1, Bf1, Se8, Sd3, Ph2, Pe4] black: [Ka6, Ba2, Se2, Ph3, Pf3, Pf2, Pe7, Pe6, Pd2] stipulation: "s#2" options: - Maximummer solution: | "1.Sd3-c1 ! zugzwang. 1...d2*c1=Q 2.Se8-c7 + 2...Qc1*c7 # 1...d2*c1=S 2.Qe3-d3 + 2...Sc1*d3 # 1...d2*c1=R 2.Qe3-c5 2...Rc1*c5 # 1...d2*c1=B 2.Qe3-f4 2...Bc1*f4 # 1...f2*g1=Q 2.Se8-g7 2...Qg1*g7 # 1...f2*g1=S 2.Qe3*f3 2...Sg1*f3 # 1...f2*g1=R 2.Qe3-g5 2...Rg1*g5 # 1...f2*g1=B 2.Qe3-d4 2...Bg1*d4 #" --- authors: - Dawson, Thomas Rayner source: Die Schwalbe source-id: 5/III, p.46 date: 1925-02 algebraic: white: [Kh7, Rh6, Rc8, Sf8, Sa7, Pg4, Pe4, Pd3] black: [Kd6, Rh1, Pg5, Pe7, Pe6, Pe5, Pc5, Pb4, Nh2, Ne2, Nc2] stipulation: "#3" solution: | "1.d4 [2.Sb5#, 2.Rc6#, 2.Rxe6#] 1... Ncxd4 2.Sb5+ Nxb5 3.Rxe6# 1... Nexd4 2.Rxe6+ Nxe6 3.Rc6# 1... Nhxd4 2.Rc6+ Nxc6 3.Sb5#" keywords: - Plachutta - Nightrider --- authors: - Dawson, Thomas Rayner source: Vita Postelegrafonica date: 1929 algebraic: white: [Ke1, Qh1, Ra1, Bc8, Sg4, Pg2, Pf2, Pe4, Pe3, Pc2, Pb4] black: [Kh5, Bh4, Pg7, Pg6, Pg5, Pc5, Pc3, Pb5] stipulation: "#3" solution: | "1.0-0-0 ! threat: 2.Rd1-d8 threat: 3.Rd8-h8 # 1...c5-c4 2.Rd1-d7 zugzwang. 2...Kh5*g4 3.Qh1-d1 #" --- authors: - Dawson, Thomas Rayner source: Northern Whig date: 1912 algebraic: white: [Ke1, Rh2, Rh1, Ph3, Pg4, Pg2, Pe3] black: [Kh4, Pg5] stipulation: "#3" solution: | "1.Rh1-g1 ! threat: 2.g2-g3 # 1...Kh4-g3 2.Rh2-h1 zugzwang. 2...Kg3-h4 3.g2-g3 # 1.0-0 ! zugzwang. 1...Kh4-g3 2.Rf1-f3 + 2...Kg3-h4 3.g2-g3 #" keywords: - Retro - Cantcastler comments: - also in The San Francisco Chronicle (no. 112), 30 July 1922 --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1928 algebraic: white: [Kh8, Qe1, Rb1, Bd4, Bb7, Se4, Pa6, Ne5] black: [Kb5, Qa1, Rf3, Ra5, Bd3, Bb2, Se2, Ph7, Pf7, Pe3, Pc4, Pa4, Pa2, Ng4, Ne8] stipulation: "#2" solution: | "1.Bd4-c5 ! threat: 2.Qe1-b4 # 1...Se2-c3 2.Ne5*f3 # 1...c4-c3 2.Ne5-a3 # 1...Ng4-f6 2.Ne5-a7 # 1...Ne8-f6 2.Ne5*f7 # 1...Ne8*a6 2.Bb7-c6 #" keywords: - Nightrider - Indirect unpinning --- authors: - Dawson, Thomas Rayner source: Magyar Sakkvilág date: 1947 algebraic: white: [Ka7, Bf5, Bb8, Ph4, Pg2, Pd3] black: [Kf6, Rh5, Be6, Sg8, Ph7, Ph6, Pe7, Pd5, Pd4] stipulation: "h#3" solution: "1.Kf6*f5 Bb8-h2 2.Sg8-f6 g2-g3 3.Kf5-e5 g3-g4 #" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1923 algebraic: white: [Ke1, Qh2, Rh1, Bg2, Bf2, Se4, Sc5, Ph3, Pg4, Pg3, Pf3, Pe3, Pb5, Pa4] black: [Kd5, Pe5] stipulation: "#4" solution: | "1.0-0 ! threat: 2.Bg2-h1 threat: 3.Bf2-e1 threat: 4.Qh2-a2 # 2.Bf2-e1 threat: 3.Bg2-h1 threat: 4.Qh2-a2 # 2.Rf1-a1 zugzwang. 2...Kd5-c4 3.Bg2-f1 + 3...Kc4-b4 4.Bf2-e1 # 3...Kc4-d5 4.Ra1-d1 # 2.Rf1-b1 zugzwang. 2...Kd5-c4 3.Bg2-f1 + 3...Kc4-d5 4.Rb1-d1 # 1...Kd5-c4 2.Bf2-e1 threat: 3.Bg2-h1 threat: 4.Qh2-a2 #" keywords: - Scaccografia --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1923 algebraic: white: [Kg7, Re3, Sg2, Sc4] black: [Kd1] stipulation: "#4" solution: | "1.Sg2-e1 ! zugzwang. 1...Kd1-c1 2.Re3-d3 zugzwang. 2...Kc1-b1 3.Rd3-a3 zugzwang. 3...Kb1-c1 4.Ra3-a1 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation date: 1931 algebraic: white: [Kd2, Re6, Ba4, Sd6, Pe5, Pc3, Pa6] black: [Kc5, Pa7] stipulation: "#4" solution: | "1.Re6-e8 ! zugzwang. 1...Kc5-d5 2.Ba4-d7 zugzwang. 2...Kd5-c5 3.Re8-b8 threat: 4.Rb8-b5 # 1...Kc5-b6 2.Re8-b8 + 2...Kb6-a5 3.Sd6-c4 + 3...Ka5*a4 4.Rb8-b4 # 3...Ka5*a6 4.Ba4-b5 # 2...Kb6*a6 3.Ba4-b5 + 3...Ka6-a5 4.Sd6-c4 # 2...Kb6-c7 3.Rb8-b7 + 3...Kc7-d8 4.Rb7-d7 # 2...Kb6-c5 3.Ba4-d7 threat: 4.Rb8-b5 #" --- authors: - Dawson, Thomas Rayner source: Hampshire Post date: 1919 algebraic: white: [Kf5, Qg7, Sa3, Pg2] black: [Ka1, Rb2, Ph7, Pc6, Pa2] stipulation: "r#4" solution: | "1.Kf5-g5 ! zugzwang. 1...c6-c5 2.Kg5-h6 zugzwang. 2...c5-c4 3.g2-g4 zugzwang. 3...c4-c3 4.g4-g5 4...Rb2-h2 # 1...h7-h5 2.Kg5-h4 threat: 3.g2-g3 threat: 4.Qg7-g5 4...Rb2-h2 # 1...h7-h6 + 2.Kg5-h5 threat: 3.g2-g4 threat: 4.Qg7-g6 4...Rb2-h2 #" --- authors: - Dawson, Thomas Rayner source: The Fairy Chess Review source-id: 7218 date: 1947-04 algebraic: white: [Kc1, Sa5] black: [Ka1, Pf2] stipulation: "Ser-h#17" solution: | "1.Ka2 ... 6.Ke2 7.Ke1 8.f1=R 9.Rf2 10.Ke2 ... 15.Ka2 16.Ka1 17.Ra2 Sb3#" keywords: - Royal march - Switchback - Anticipatory interference - Ideal mate --- authors: - Dawson, Thomas Rayner source: Tijdschrift vd NSB date: 1927 algebraic: white: [Ke3, Ra8, Ba5, Ba2, Sa1, Pg3, Pc2, Pb6, Pb4, Pb3] black: [Kb8, Bg1, Sh2, Sf2, Pg5, Pf3, Pe5, Pe4, Pd5, Pc3, Pb7, Pb5] stipulation: "h#19" solution: | "1. K:a8 Bb1 2. Kb8 Ba2 3. Kc8 Bb1 4. Kd7 Ba2 5. Ke6 Bb1 6. Kf5 Ba2 7. Kg4 Bb1 8. Kh3 Ba2 9. Kg2 Bb1 10. Kf1 Ba2 11. Ke1 Bb1 12. Kd1 Ba2 13. Kc1 Bb1 14. Kb2 Ba2 15. K:a1 Bb1 16. Kb2 Ba2 17. K:c2 Bb1+ 18. K:b3 g4 19. Kc4 Ba2#" --- authors: - Dawson, Thomas Rayner - Pauly, Wolfgang source: The Chess Amateur date: 1920 algebraic: white: [Ke6, Ba3, Ph5, Pg2, Pb2] black: [Kb1, Qf8, Rh1, Ph7] stipulation: "s#8" options: - Maximummer solution: | "Intention: 1.h5-h6 ! 1...Qf8*a3 2.b2-b4 2...Qa3-h3 + 3.Ke6-f7 3...Qh3-c8 4.g2-g4 4...Qc8-c1 5.Kf7-g8 5...Qc1*h6 6.g4-g5 6...Qh6-a6 7.Kg8-h8 7...Qa6-f1 8.b4-b5 8...Qf1-f8 # but cooked 1.Ba3-d6 ! 1.b2-b4 !" keywords: - Maximummer --- authors: - Dawson, Thomas Rayner source: Falkirk Herald date: 1914 algebraic: white: [Ke6, Be5, Sg1, Sc1, Ph6, Pf5, Pe7, Pe3, Pd5, Pb6] black: [Ke8, Ph2, Pg2, Pf6, Pe4, Pd6, Pc2, Pb2] stipulation: "#3" solution: | "1.Be5*h2 ! threat: 2.h6-h7 threat: 3.h7-h8=Q # 3.h7-h8=R #" --- authors: - Dawson, Thomas Rayner source: Falkirk Herald date: 1939 algebraic: white: [Ke2, Qe4, Pe7] black: [Ke8, Qe6, Sg6, Sc6, Pg5, Pf7, Pd7, Pc5] stipulation: "h#2" solution: "1.Sg6-f8 e7*f8=B 2.Sc6-e5 Qe4-a8 #" --- authors: - Dawson, Thomas Rayner source: Teplitz-Schönauer Anzeiger date: 1923 algebraic: white: [Kg5, Rb7, Pf3] black: [Kd1, Qf8, Rd4, Rc1, Be1, Ph5, Pg3, Pf4, Pe4, Pd7, Pc2, Pb5, Pb3] stipulation: "h#4" solution: "1.Qf8-a3 Kg5*f4 2.Be1-a5 Kf4*g3 3.Rd4-a4 Kg3-f2 4.b5-b4 Rb7*d7 #" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1924 distinction: 3rd Prize algebraic: white: [Kb1, Qf5, Rh7, Re4, Bg6] black: [Kd3, Rc2] stipulation: "s#5" solution: | "1.Rh7-d7 + ! 1...Kd3-c3 2.Qf5-a5 + 2...Kc3-b3 3.Rd7-d3 + 3...Rc2-c3 4.Bg6-h5 zugzwang. 4...Rc3*d3 5.Bh5-d1 + 5...Rd3*d1 #" keywords: - Scaccografia --- authors: - Dawson, Thomas Rayner source: Fata Morgana date: 1922 algebraic: white: [Kh6, Qe6, Re3, Rb8, Bh2, Sc4, Sb3, Ph7, Ph5, Ph3, Pe2, Pc7, Pc2, Pb7, Pa4] black: [Kf4, Qa7, Rg3, Bh8, Pf6, Pf5, Pc3, Pa5] stipulation: "s#2" solution: | "1.Sc4-a3 ! zugzwang. 1...Qa7-a6 2.Qe6-e5 + 2...f6*e5 # 1...Qa7*e3 2.Qe6*f5 + 2...Kf4*f5 # 1...Qa7-d4 2.Sb3*d4 2...Bh8-g7 # 1...Qa7-c5 2.Sb3*c5 2...Bh8-g7 # 1...Qa7-b6 2.Qe6-e5 + 2...f6*e5 # 2.Qe6*b6 2...Bh8-g7 # 1...Qa7*b8 2.c7*b8=S 2...Bh8-g7 # 2.c7*b8=R 2...Bh8-g7 # 1...Qa7-a8 2.Rb8*a8 2...Bh8-g7 # 2.b7*a8=Q 2...Bh8-g7 # 2.b7*a8=S 2...Bh8-g7 # 2.b7*a8=R 2...Bh8-g7 # 2.b7*a8=B 2...Bh8-g7 # 1...Qa7*b7 2.Rb8*b7 2...Bh8-g7 #" --- authors: - Dawson, Thomas Rayner source: The Chess Problem date: 1946 algebraic: white: [Kc8, Bc1] black: [Ka3, Qc3, Rb2, Ra2, Be7, Bc4, Sc6, Pd3, Pd2, Pa4] stipulation: "h#3" solution: "1.Sc6-d8 Bc1*d2 2.Qc3-h8 Bd2-g5 3.Bc4-b3 Bg5*e7 #" --- authors: - Dawson, Thomas Rayner source: The Chess Problem date: 1944 algebraic: white: [Ka5, Bc6, Se6, Pe5, Pe4, Pb5, Pa6] black: [Kh5, Bf6, Sd6, Ph6, Pg5, Pd5, Pd4] stipulation: "h#2" solution: "1.g5-g4 e5*d6 2.Bf6-h4 Bc6-e8 #" keywords: - Scaccografia --- authors: - Dawson, Thomas Rayner source: The Chess Problem date: 1944 algebraic: white: [Kb1, Sg5, Pg3, Pc7] black: [Kf5, Qg6, Ra7, Bh7, Sg7, Ph6, Ph5, Pf7, Pf6] stipulation: "h#2" solution: "1.Ra7-a4 c7-c8=R 2.Ra4-g4 Rc8-c5 #" --- authors: - Dawson, Thomas Rayner source: The Chess Problem date: 1944 algebraic: white: [Kd4] black: [Ka1, Rb1, Ra2, Bd5, Ba3, Pg6, Pf4, Pe4, Pb4, Pb2] stipulation: "#2" solution: keywords: - Unsound - "Stipulation?" --- authors: - Dawson, Thomas Rayner source: The Chess Problem date: 1944 algebraic: white: [Kc5] black: [Ka1, Rc1, Rb1, Bd1, Bc7, Se2, Sa3, Pe6, Pc2, Pb7, Pb2, Pa5, Pa2] stipulation: "#2" solution: keywords: - Unsound - "Stipulation?" --- authors: - Dawson, Thomas Rayner source: 8th American Chess Congress date: 1921 distinction: Comm. algebraic: white: [Kc6, Re7, Ra5, Bg3, Bb5, Sd1, Sb6, Ph5, Pf5, Pe6, Pe3] black: [Ke4, Rg1, Rf1, Bh1, Be1, Pg4, Pg2, Pf6, Pf4, Pf2, Pd2] stipulation: "#3" solution: | "1.Bb5-e2 ! threat: 2.Re7-d7 threat: 3.Rd7-d4 # 2...f4*e3 3.Sd1-c3 # 2.Re7-g7 zugzwang. 2...f4-f3 3.Rg7*g4 # 2...f4*e3 3.Rg7*g4 # 2...f4*g3 3.Rg7*g4 # 2.Bg3*f4 threat: 3.Sd1-c3 # 2.e3*f4 zugzwang. 2...Ke4-d4 3.Ra5-a4 # 1...f4-f3 2.Be2-b5 zugzwang. 2...Ke4*f5 3.Bb5-d3 # 1...f4*e3 2.Re7-a7 zugzwang. 2...Ke4-d4 3.Ra5-a4 # 2.Re7-b7 zugzwang. 2...Ke4-d4 3.Ra5-a4 # 2.Re7-c7 zugzwang. 2...Ke4-d4 3.Ra5-a4 # 2.Re7-e8 zugzwang. 2...Ke4-d4 3.Ra5-a4 # 2.Re7-h7 zugzwang. 2...Ke4-d4 3.Ra5-a4 # 2.Re7-g7 threat: 3.Rg7*g4 # 2.Re7-f7 zugzwang. 2...Ke4-d4 3.Ra5-a4 # 2.Kc6-d6 zugzwang. 2...Ke4-d4 3.Ra5-a4 # 2.Kc6-c5 zugzwang. 2...Ke4*f5 3.Kc5-d4 # 2.Sb6-d5 zugzwang. 2...Ke4-d4 3.Ra5-a4 # 2...Ke4*f5 3.Sd5-c3 # 2.Sb6-d7 zugzwang. 2...Ke4-d4 3.Ra5-a4 # 2.Sb6-c8 zugzwang. 2...Ke4-d4 3.Ra5-a4 # 2.Sb6-a8 zugzwang. 2...Ke4-d4 3.Ra5-a4 # 2.h5-h6 zugzwang. 2...Ke4-d4 3.Ra5-a4 # 2.Ra5-c5 zugzwang. 2...Ke4-d4 3.Rc5-c4 # 2.Ra5-b5 zugzwang. 2...Ke4-d4 3.Rb5-b4 # 1...f4*g3 2.Sb6-d5 threat: 3.Sd5-c3 # 3.Sd5*f6 # 2...Ke4-e5 3.Sd5-c3 # 2...Ke4*f5 3.Sd5-c3 #" --- authors: - Dawson, Thomas Rayner source: Good Companions Folder date: 1921 algebraic: white: [Kh5, Qb2, Se2, Sd4, Pg7, Pg2, Pf6, Pe5] black: [Ke4, Rd1, Rc1, Bg1, Bb1, Pf7, Pe3, Pd2, Pc2, Pa2] stipulation: "#3" solution: | "1.Sd4-e6 ! threat: 2.Se6-g5 + 2...Ke4-d5 3.Qb2-b5 # 2...Ke4-f5 3.g2-g4 # 2...Ke4-d3 3.Qb2-b5 # 1...Ke4-d5 2.Qb2-b5 + 2...Kd5*e6 3.Se2-d4 # 2...Kd5-e4 3.Se2-g3 # 1...Ke4-d3 2.Qb2-b5 + 2...Kd3-e4 3.Se2-g3 # 1...f7*e6 2.Qb2-d4 + 2...Ke4-f5 3.Se2-g3 # 3.Qd4-f4 # 3.g2-g4 #" --- authors: - Dawson, Thomas Rayner source: Good Companions (March) date: 1922 distinction: HM algebraic: white: [Kh7, Qe7, Sg8, Pg7, Pg6, Pg3, Pf2, Pe2] black: [Kh5, Qa4, Ra5, Ra3, Bc6, Ba1, Pg5, Pg4, Pd7, Pd5, Pc4, Pb3] stipulation: "#3" solution: | "1.Qe7-f6 ! threat: 2.Qf6*a1 threat: 3.Sg8-f6 # 3.Qa1-h1 # 2...Ra3*a1 3.Sg8-f6 # 2...d5-d4 3.Sg8-f6 # 1...Ba1-e5 2.Qf6*e5 threat: 3.Sg8-f6 # 1...Ba1-d4 2.Qf6*d4 threat: 3.Sg8-f6 # 1...Ba1-c3 2.Qf6*c3 threat: 3.Sg8-f6 # 1...Ba1-b2 2.Qf6*b2 threat: 3.Sg8-f6 # 1...b3-b2 2.Qf6-c3 threat: 3.Sg8-f6 # 1...c4-c3 2.Qf6-f3 threat: 3.Sg8-f6 # 3.Qf3-h1 # 2...c3-c2 3.Qf3-h1 # 2...Qa4-f4 3.Qf3-h1 # 2...Qa4-e4 3.Sg8-f6 # 2...Qa4-d4 3.Qf3-h1 # 2...g4*f3 3.Sg8-f6 # 2...d5-d4 3.Sg8-f6 # 1...d5-d4 2.Qf6-e5 threat: 3.Sg8-f6 #" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1922 algebraic: white: [Kg5, Bd2, Pc3] black: [Ke5, Qb7, Rh6, Rc5, Bc7, Ba6, Sg4, Sf2, Pg6, Pb6, Pa4] stipulation: "h#4" solution: "1.Ke5-d6 + Kg5-f4 2.Kd6-c6 + Kf4-f3 3.Kc6-b5 + Kf3-e2 4.Kb5-a5 + c3-c4 #" --- authors: - Dawson, Thomas Rayner source: 40°T.T. British Chess Federation date: 1942 distinction: 1st Prize algebraic: white: [Kc6, Be1, Se3, Sc3, Pf2, Pe4] black: [Kf3, Qa2, Pf4, Pd3] stipulation: "h#2" twins: b: Add black Ra2 c: Add black Ba2 d: Add black Sa2 solution: | "a) 1.Qa2-g8 Se3-c4 2.Qg8-g2 Sc4-e5 # b) +bRa2 1.Ra2-a4 Sc3-e2 2.Ra4*e4 Se2-g1 # c) +bBa2 1.Ba2-e6 Se3-g2 2.Be6-g4 Sg2-h4 # d) +bSa2 1.Sa2-c1 Sc3-b1 2.Sc1-e2 Sb1-d2 #" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1929 algebraic: white: [Kh6, Se3, Sd2] black: [Kf4] stipulation: "h#3" solution: "1.Kf4-g3 Sd2-e4 + 2.Kg3-h3 Se4-f2 + 3.Kh3-h4 Se3-f5 #" --- authors: - Dawson, Thomas Rayner source: The Fairy Chess Review date: 1938 algebraic: white: [Kg3, Sg8, Sg2] black: [Kg7] stipulation: h=2 solution: 1.Kg7-g6 Kg3-f4 2.Kg6-h5 Kf4-f5 = --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1916 algebraic: white: [Kc4, Qc3, Rh7, Rd1, Bh4, Ba2, Sh3, Pf6, Pf4, Pe3, Pc5] black: [Ke6, Rg5, Rc6, Bf7, Sg6, Ph6, Pf5, Pa6, Pa5] stipulation: "#2" solution: | "1...Bg8[a]/Be8[a] 2.Kd3#[A] 1...Rxc5+ 2.Kxc5# 1...Rc7/Rc8/Rd6 2.Rd6# 1...Nxh4/Nh8/Nf8/Ne5+/Ne7 2.Qe5# 1...Nxf4 2.Nxf4# 1...h5 2.Nxg5# 1...a4 2.Kb4# 1.Qd4? (2.Kc3#[B]/Kd3#[A]) 1...Rg2[b] 2.Qd5#/Qd7# 1...Rxc5+ 2.Kxc5# 1...Rd6 2.Qxd6# 1...Nxf4 2.Nxf4# 1...Ne5+/Ne7 2.Qxe5# but 1...Rb6! 1.Kd4+?? 1...Kxf6 2.Rxf7# but 1...Kd7! 1.Qb2[C]! zz 1...Bg8[a]/Be8[a] 2.Kd3#[A] 1...Rg4[b]/Rg3[b]/Rg2[b]/Rg1[b]/Rh5[b] 2.Kc3#[B] 1...a4 2.Kb4# 1...Rxc5+ 2.Kxc5# 1...Rc7/Rc8/Rd6 2.Rd6# 1...Rb6 2.Qxb6# 1...h5 2.Nxg5# 1...Nxh4/Nh8/Nf8/Ne5+/Ne7 2.Qe5# 1...Nxf4 2.Nxf4#" keywords: - Black correction - Somov (B1) - Rudenko --- authors: - Dawson, Thomas Rayner source: Darmstädter Tageblatt date: 1925 algebraic: white: [Ke7, Qb4, Be5, Pf6, Pf5, Pf4, Pc4, Pb7, Pa5] black: [Kb8, Ra8, Pc7, Pc6, Pa7, Pa6] stipulation: "r#4" solution: | "1.Be5-a1 ! zugzwang. 1...c6-c5 2.Qb4-b2 zugzwang. 2...c7-c6 3.Ke7-e6 zugzwang. 3...Kb8-c7 4.Ke6-e5 4...Ra8-e8 #" --- authors: - Dawson, Thomas Rayner source: BCPS 004. Ty. date: 1927 distinction: Comm. algebraic: white: [Ka8, Qd5, Rf8, Re5, Sh8, Sd2, Pf2, Pe7, Pe2] black: [Kf4, Qg4, Re3, Bf6, Bf5, Pg6, Pg5, Pd3] stipulation: "#2" solution: | "1...Bg7/Bxe5/Bxe7/Be6/Bd7/Bc8 2.Nxg6# 1.Qd4+?? 1...Re4 2.e3# but 1...Be4+! 1.Rxf5+?? 1...gxf5 2.Ng6# but 1...Qxf5! 1.Qd6! (2.Re4#) 1...Bxe5/Be6/Bd7/Bc8 2.Nxg6# 1...Rxe5 2.e3# 1...Be4+ 2.Rd5#" keywords: - Black correction --- authors: - Dawson, Thomas Rayner source: The Problemist date: 1928 algebraic: white: [Ka5, Bh8, Be4, Sh1, Sd5, Pc6, Pc5, Pb5, Pa6, Pa4] black: [Kh2, Sa8, Ph4, Ph3, Pd6, Pc7] stipulation: "r#2" solution: | "1.Bh8-d4 ! zugzwang. 1...d6*c5 2.Sd5-b6 2...c7*b6 # 1...Sa8-b6 2.Sd5-b4 2...Sb6-c4 #" --- authors: - Dawson, Thomas Rayner source: BCPS 005. Ty. date: 1927 distinction: 3rd Comm. algebraic: white: [Kd8, Qg1, Rb3, Sb6, Pe4, Pd5, Pd2, Pa2] black: [Kb5, Bb4, Pa7] stipulation: "#3" solution: | "1.Sb6-c8 ! zugzwang. 1...Kb5-a6 2.Qg1*a7 + 2...Ka6-b5 3.Sc8-d6 # 1...Kb5-a5 2.Qg1*a7 + 2...Ka5-b5 3.Sc8-d6 # 1...Kb5-c4 2.Sc8-d6 + 2...Bb4*d6 3.d2-d3 # 1...Kb5-a4 2.Qg1*a7 + 2...Ka4-b5 3.Sc8-d6 # 2...Bb4-a5 + 3.Sc8-b6 # 1...a7-a5 2.Qg1-b6 + 2...Kb5-a4 3.Qb6-c6 # 2...Kb5-c4 3.d2-d3 # 1...a7-a6 2.Qg1-b6 + 2...Kb5-c4 3.Qb6*b4 # 3.d2-d3 # 2...Kb5-a4 3.Qb6*b4 #" --- authors: - Dawson, Thomas Rayner source: The Problemist date: 1928 algebraic: white: [Kc3, Bb1, Sd4, Sc4, Pg6, Pg3, Pe6, Pb4] black: [Kd5, Sg8] stipulation: "#3" solution: | "1.Bb1-f5 ! zugzwang. 1...Sg8-e7 2.Bf5-h3 threat: 3.Bh3-g2 # 2.Bf5-g4 threat: 3.Bg4-f3 # 1...Sg8-f6 2.Kc3-d3 zugzwang. 2...Sf6-e4 3.Bf5*e4 # 2...Sf6-g4 3.Bf5-e4 # 2...Sf6-h5 3.Bf5-e4 # 2...Sf6-h7 3.Bf5-e4 # 2...Sf6-g8 3.Bf5-e4 # 2...Sf6-e8 3.Bf5-e4 # 2...Sf6-d7 3.Bf5-e4 # 1...Sg8-h6 2.Bf5-h3 threat: 3.Bh3-g2 #" --- authors: - Dawson, Thomas Rayner source: Eskilstuna-Kuriren date: 1920 algebraic: white: [Kc6, Bd2, Sd6, Pe4, Pb2] black: [Kd4, Pe5, Pd3] stipulation: "#3" solution: | "1.Kc6-c7 ! zugzwang. 1...Kd4-c5 2.Bd2-c3 threat: 3.b2-b4 #" --- authors: - Dawson, Thomas Rayner source: BCPS 008. Ty. distinction: 3rd Comm. algebraic: white: [Kc3, Ba6, Sb8, Pb6, Pa7, Pa4] black: [Ka8, Rf4, Pg7, Pg3, Pf3] stipulation: "#4" solution: | "1.Sb8-d7 ! threat: 2.b6-b7 + 2...Ka8*a7 3.b7-b8=Q + 3...Ka7*a6 4.Qb8-b6 # 4.Qb8-a8 # 1...Rf4-b4 2.Kc3*b4 threat: 3.Sd7-c5 threat: 4.Ba6-b7 # 1...Rf4-c4 + 2.Ba6*c4 threat: 3.Bc4-d5 # 2...Ka8-b7 3.a7-a8=Q + 3...Kb7*a8 4.Bc4-d5 # 1...Rf4-f8 2.Sd7*f8 threat: 3.Sf8-e6 threat: 4.Se6-c7 #" --- authors: - Dawson, Thomas Rayner source: The Problemist date: 1929 algebraic: white: [Kb1, Qc1, Bd7, Se3, Ph2, Pf6, Pe4, Pe2] black: [Kd4, Qa8, Rb7, Rb4, Bd8, Sh1, Sg5, Pg7, Pf7, Pe5, Pd3, Pc7, Pb6, Pb3, Pa7] stipulation: "#3" solution: | "1.Se3-d1 ! threat: 2.Bd7-c6 threat: 3.e2-e3 # 3.Qc1-c3 # 2...d3-d2 3.Qc1-c3 # 2...d3*e2 3.Qc1-c3 # 2...Rb4-c4 3.Qc1-e3 # 2...Sg5*e4 3.e2-e3 # 2.e2-e3 + 2...Kd4*e4 3.Qc1-c6 # 2.Qc1-e3 + 2...Kd4-c4 3.e2*d3 # 2.Qc1-c6 threat: 3.Qc6-d5 # 3.e2-e3 # 2...d3-d2 3.Qc6-d5 # 2...d3*e2 3.Qc6-d5 # 2...Rb4-b5 3.e2-e3 # 2...Sg5*e4 3.e2-e3 # 2...Rb7-b8 3.e2-e3 # 1...Sh1-g3 2.e2-e3 + 2...Kd4*e4 3.Qc1-c6 # 2.Qc1-e3 + 2...Kd4-c4 3.e2*d3 # 2.Qc1-c6 threat: 3.Qc6-d5 # 3.e2-e3 # 2...d3-d2 3.Qc6-d5 # 2...d3*e2 3.Qc6-d5 # 2...Sg3*e2 3.Qc6-d5 # 2...Sg3-f1 3.Qc6-d5 # 2...Sg3-f5 3.Qc6-d5 # 2...Sg3*e4 3.e2-e3 # 2...Rb4-b5 3.e2-e3 # 2...Sg5*e4 3.e2-e3 # 2...Rb7-b8 3.e2-e3 # 1...Sh1-f2 2.e2-e3 + 2...Kd4*e4 3.Qc1-c6 # 1...b3-b2 2.e2-e3 + 2...Kd4*e4 3.Qc1-c6 # 2.Qc1-c6 threat: 3.Qc6-d5 # 3.e2-e3 # 2...d3-d2 3.Qc6-d5 # 2...d3*e2 3.Qc6-d5 # 2...Rb4-b5 3.e2-e3 # 2...Sg5*e4 3.e2-e3 # 2...Rb7-b8 3.e2-e3 # 1...d3-d2 2.Qc1*d2 + 2...Kd4*e4 3.Sd1-c3 # 2...Kd4-c4 3.Qd2-c3 # 3.Qd2-d5 # 2...Kd4-c5 3.Qd2-d5 # 1...d3*e2 2.Qc1-e3 + 2...Kd4-c4 3.Qe3-c3 # 3.Sd1-b2 # 1...Rb4-a4 2.e2-e3 + 2...Kd4*e4 3.Qc1-c6 # 1...Rb4-b5 2.Qc1-c3 + 2...Kd4*e4 3.Qc3-c4 # 1...Kd4*e4 2.Qc1-c6 + 2...Ke4-f4 3.e2-e3 # 2...Ke4-d4 3.e2-e3 # 1...Sg5*e4 2.e2-e3 + 2...Kd4-d5 3.Qc1-c6 # 1...Sg5-f3 2.e2-e3 + 2...Kd4*e4 3.Sd1-c3 # 3.Qc1-c6 # 2.e2*f3 threat: 3.Qc1-c3 # 2...Rb4-c4 3.Qc1-e3 # 2.Qc1-e3 + 2...Kd4-c4 3.e2*d3 # 1...Sg5-e6 2.Bd7-c6 threat: 3.e2-e3 # 3.Qc1-c3 # 2...d3-d2 3.Qc1-c3 # 2...d3*e2 3.Qc1-c3 # 2...Rb4-c4 3.Qc1-e3 # 2.Qc1-e3 + 2...Kd4-c4 3.e2*d3 # 2.Qc1-c6 threat: 3.Qc6-d5 # 3.e2-e3 # 2...d3-d2 3.Qc6-d5 # 2...d3*e2 3.Qc6-d5 # 2...Rb4-b5 3.e2-e3 # 2...Se6-c5 3.Qc6-d5 # 2...Se6-f4 3.e2-e3 # 2...Rb7-b8 3.e2-e3 # 1...Rb7-b8 2.Qc1-e3 + 2...Kd4-c4 3.e2*d3 # 1...c7-c5 2.Bd7-c6 threat: 3.e2-e3 # 3.Qc1-c3 # 2...d3-d2 3.Qc1-c3 # 2...d3*e2 3.Qc1-c3 # 2...Rb4-c4 3.e2-e3 # 3.Qc1-e3 # 2...c5-c4 3.Qc1-e3 # 2...Sg5*e4 3.e2-e3 # 2.Qc1-e3 + 2...Kd4-c4 3.Qe3*d3 # 3.e2*d3 # 1...c7-c6 2.Bd7*c6 threat: 3.e2-e3 # 3.Qc1-c3 # 2...d3-d2 3.Qc1-c3 # 2...d3*e2 3.Qc1-c3 # 2...Rb4-c4 3.Qc1-e3 # 2...Sg5*e4 3.e2-e3 # 2.e2-e3 + 2...Kd4*e4 3.Qc1*c6 # 2.Qc1*c6 threat: 3.Qc6-d5 # 3.e2-e3 # 2...d3-d2 3.Qc6-d5 # 2...d3*e2 3.Qc6-d5 # 2...Rb4-b5 3.e2-e3 # 2...Sg5*e4 3.e2-e3 # 2...Rb7-b8 3.e2-e3 # 2...Rb7*d7 3.e2-e3 # 2...Rb7-c7 3.e2-e3 #" --- authors: - Dawson, Thomas Rayner source: BCPS 010. Ty. distinction: 4th Comm. algebraic: white: [Kg7, Qd7, Ra5, Bh8, Bd3, Sc8, Sb8, Pg6, Pg3, Pf5] black: [Ke5, Qa2, Rh2, Rb7, Bd5, Bc5, Sa7, Ph7, Pg2, Pd4, Pb6] stipulation: "#2" solution: | "1...Rh6 2.Kxh6# 1...Bf7 2.Qd6# 1...Rxd7+ 2.Nxd7# 1...Be7 2.Qe6# 1...Bf8+ 2.Kxf8# 1...h6 2.Kh7# 1...h5 2.Kh7#/Kh6# 1.Rxc5?? (2.Kf8#) 1...Rxd7+ 2.Nxd7# but 1...hxg6! 1.Qc7+?? 1...Bd6 2.Nd7# but 1...Rxc7+! 1.gxh7! (2.Kg6#) 1...Be7 2.Qe6# 1...Bf8+ 2.Kxf8# 1...Bf7 2.Qd6# 1...Rxd7+ 2.Nxd7# 1...Rh6 2.Kxh6# 1...Rxh7+ 2.Kxh7#" --- authors: - Dawson, Thomas Rayner source: BCPS 010. Ty. date: 1936 distinction: 5th Comm. algebraic: white: [Kc8, Qg1, Rh1, Be8, Ba3, Sd6, Sc7, Pe5, Pa4] black: [Kc6, Rb3, Bd2, Sb8, Sa6, Ph7, Pd7] stipulation: "#2" solution: | "1...Rb5 2.axb5# 1...Rb6 2.Qg2# 1...Nc5/Nxc7 2.Qxc5# 1.Ndb5?? (2.Na7#) 1...Rxb5 2.axb5# 1...Re3 2.Rh6# 1...Nc5/Nxc7 2.Qxc5# but 1...Be3! 1.Nc4! zz 1...Rb2/Rb1/Rb7/Be3 2.Qg2# 1...Rb4/Bf4/Bg5/Bc1 2.Na5# 1...Rb5 2.axb5# 1...Rb6 2.Qg2#/Qxb6# 1...Rxa3/Rd3/Rf3/Rg3/Rh3/Bb4 2.Qb6# 1...Rc3/Nb4 2.Na5#/Qb6# 1...Re3/Be1 2.Rh6# 1...h6/h5 2.Qg6# 1...Nc5/Nxc7 2.Qxc5# 1...Bh6/Ba5 2.Na5#/Rxh6# 1...Bc3 2.Rh6#/Qg2#" keywords: - Black correction - Grimshaw --- authors: - Dawson, Thomas Rayner source: The Problemist date: 1930 algebraic: white: [Kg6, Rb2, Ba3, Sd3, Sd2, Pc4] black: [Ka1, Bc2, Pf5, Pd5, Pd4, Pb3] stipulation: "#3" solution: | "1.Sd3-b4 ! threat: 2.Sb4*c2 + 2...b3*c2 3.Sd2-b3 # 2.Rb2-b1 + 2...Bc2*b1 3.Sd2*b3 # 2.Rb2-a2 + 2...b3*a2 3.Sb4*c2 # 1...d4-d3 2.Sb4*c2 + 2...b3*c2 3.Sd2-b3 # 2...d3*c2 3.Sd2*b3 # 2.Rb2-b1 + 2...Bc2*b1 3.Sd2*b3 # 1...d5*c4 2.Rb2-a2 + 2...b3*a2 3.Sb4*c2 # 1...f5-f4 + 2.Sb4*c2 + 2...b3*c2 3.Sd2-b3 #" --- authors: - Dawson, Thomas Rayner source: Tijdschrift vd NSB date: 1927 algebraic: white: [Ke1, Qf2, Ra8, Bc7, Sg6, Se8, Pd6, Pd5] black: [Kd7, Rf8, Rf5, Bh4, Bg7] stipulation: "#2" solution: | "1...Bgf6 2.Nxf8# 1...R8f6/Rg5/Bg3/Bd8 2.Rd8# 1...R5f6 2.Rd8#/Ne5# 1...Bhf6 2.Qxf5# 1.Nf6+! 1...Bgxf6 2.Nxf8# 1...R5xf6 2.Ne5# 1...Bhxf6 2.Qxf5# 1...R8xf6 2.Rd8#" keywords: - Checking key - Defences on same square - Grimshaw - Novotny --- authors: - Dawson, Thomas Rayner source: The Problemist date: 1931 algebraic: white: [Kh6, Ph7, Ph4, Pg5, Pd6, Pc6, Pa6, Pa2] black: [Kh8, Qa1, Rb2, Bg2, Bf2, Sb1, Pg6, Pg3, Pe6, Pe5, Pe4, Pe3, Pb6] stipulation: "#3" solution: | "1.h4-h5 ! threat: 2.h5*g6 threat: 3.g6-g7 # 1...Sb1-d2 2.d6-d7 threat: 3.d7-d8=Q # 3.d7-d8=R # 1...Sb1-c3 2.c6-c7 threat: 3.c7-c8=Q # 3.c7-c8=R # 1...Sb1-a3 2.a6-a7 threat: 3.a7-a8=Q # 3.a7-a8=R # 1...g6*h5 2.g5-g6 threat: 3.g6-g7 #" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1931 algebraic: white: [Kd1, Be2, Bd2] black: [Kd7, Be8, Bd8] stipulation: "h#2" solution: | "1.Kd7-c8 Bd2-f4 2.Be8-d7 Be2-a6 # 1.Bd8-c7 Be2-g4 + 2.Kd7-d8 Bd2-g5 # 1.Bd8-e7 Be2-g4 + 2.Kd7-d8 Bd2-a5 # 1.Be8-f7 Bd2-b4 2.Kd7-e8 Be2-b5 #" --- authors: - Dawson, Thomas Rayner source: More White Rooks date: 1911 algebraic: white: [Kc7, Rh4, Ph5, Pd4, Pb4] black: [Ka8, Sh1, Pg2, Pd3] stipulation: "#3" solution: | "1.Rh4-g4 ! threat: 2.Rg4-g5 threat: 3.Rg5-a5 # 1...Sh1-g3 2.Kc7-b6 threat: 3.Rg4-g8 # 1...g2-g1=Q 2.Rg4*g1 threat: 3.Rg1-a1 # 1...g2-g1=R 2.Rg4*g1 threat: 3.Rg1-a1 # 1...g2-g1=B 2.Rg4*g1 threat: 3.Rg1-a1 #" --- authors: - Dawson, Thomas Rayner source: More White Rooks date: 1911 algebraic: white: [Kc6, Rf6, Rc4, Pg6, Pb5] black: [Ka5, Bg8, Sh3, Pg4, Pf7, Pf2, Pe6] stipulation: "#3" solution: | "1.Rc4-d4 ! zugzwang. 1...Sh3-g5 2.Rf6*f2 threat: 3.Rf2-a2 # 1...f2-f1=Q 2.Rf6*f1 threat: 3.Rf1-a1 # 1...f2-f1=S 2.Rf6*f1 threat: 3.Rf1-a1 # 1...f2-f1=R 2.Rf6*f1 threat: 3.Rf1-a1 # 1...f2-f1=B 2.Rf6*f1 threat: 3.Rf1-a1 # 1...Sh3-g1 2.Rf6-f4 threat: 3.Rd4-a4 # 1...Sh3-f4 2.Rf6*f4 threat: 3.Rd4-a4 # 1...g4-g3 2.Rf6-f3 threat: 3.Rf3-a3 # 1...e6-e5 2.Kc6-c5 threat: 3.Rf6-a6 # 1...f7*g6 2.Rf6-f8 threat: 3.Rf8-a8 # 1...Bg8-h7 2.Rf6*f7 threat: 3.Rf7-a7 #" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1949 algebraic: white: [Ke1, Ph2, Pg5, Pf6, Pe7, Pe4, Pd6, Pc5, Pb2] black: [Ke8, Ph5, Pf7, Pe6, Pd7, Pb5] stipulation: "#8" solution: --- authors: - Dawson, Thomas Rayner source: The Fairy Chess Review date: 1946 algebraic: white: [Kf3, Pg4, Pf5, Pe3, Pd3, Pc5, Pc2, Pb4] black: [Kd5, Pg5, Pf6, Pc6, Pc3] stipulation: "#12" solution: --- authors: - Dawson, Thomas Rayner source: Pittsburgh Sun. date: 1923 algebraic: white: [Kc5, Pb4, Pa7] black: [Ka6] stipulation: "h#2" solution: "1.Ka6-b7 Kc5-d6 2.Kb7-c8 a7-a8=Q #" --- authors: - Dawson, Thomas Rayner - Hultberg, Gustav Herbert source: L'Echiquier date: 1930 algebraic: white: [Ka8, Ph7, Pe7] black: [Ke8] stipulation: "h#2" solution: "1.Ke8-f7 e7-e8=Q + 2.Kf7-g7 h7-h8=Q #" --- authors: - Dawson, Thomas Rayner source: Wiener Schachzeitung date: 1924 algebraic: white: [Ka7, Pd7] black: [Ka5, Pb4, Pa4] stipulation: "h#2" options: - SetPlay solution: | "1. ... d8Q+ 2. Kb5 Qd5# 1. Kb5 d8R 2. Ka5 Rd5#" keywords: - Promotion - Ideal mates comments: - Check also 103163 --- authors: - Dawson, Thomas Rayner source: Wiener Schachzeitung date: 1924 algebraic: white: [Ka7, Pd7] black: [Kb4, Pb5, Pa4] stipulation: "h#2" options: - SetPlay solution: | "1. ... d8S 2. Ka5 Sc6# 1. Ka5 d8R 2. b4 Rd5#" keywords: - Promotion - White underpromotion - Ideal mates --- authors: - Dawson, Thomas Rayner - Neukomm, Gyula R. - Niemann, John - Hoek, Willem source: Probleemblad date: 1949 algebraic: white: [Kc8, Pe5] black: [Kh3] stipulation: "h#5" solution: " 1.Kh3-g4 e5-e6 2.Kg4-f5 e6-e7 3.Kf5-e6 Kc8-b7 4.Ke6-d7 Kb7-b6 5.Kd7-c8 e7-e8=Q #" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1921 algebraic: white: [Kc3, Qc1, Bd8, Bc4, Pc7] black: [Kc8, Pe7, Pd7, Pb7] stipulation: "#3" solution: | "1.Qc1-h6 ! threat: 2.Qh6-a6 threat: 3.Qa6-a8 # 2...b7*a6 3.Bc4*a6 # 2...d7-d5 3.Qa6-e6 # 2...d7-d6 3.Bc4-e6 # 2.Qh6-e6 zugzwang. 2...b7-b5 3.Qe6-a6 # 2...b7-b6 3.Bc4-a6 # 2...d7*e6 3.Bc4*e6 # 1...e7-e5 2.Qh6-a6 threat: 3.Qa6-a8 # 2...b7*a6 3.Bc4*a6 # 2...d7-d5 3.Qa6-e6 # 2...d7-d6 3.Bc4-e6 # 1...e7-e6 2.Qh6*e6 zugzwang. 2...b7-b5 3.Qe6-a6 # 2...b7-b6 3.Bc4-a6 # 2...d7*e6 3.Bc4*e6 #" --- authors: - Dawson, Thomas Rayner source: Asymmetry date: 1927 algebraic: white: [Kf1, Qf6, Sf3] black: [Kf8, Bf7] stipulation: "#3" solution: | "1.Sf3-e5 ! threat: 2.Qf6*f7 # 1...Kf8-g8 2.Qf6*f7 + 2...Kg8-h8 3.Se5-g6 # 1...Kf8-e8 2.Qf6*f7 + 2...Ke8-d8 3.Qf7-d7 #" --- authors: - Dawson, Thomas Rayner source: Svenska Dagbladet date: 1925-04-12 algebraic: white: [Kg6, Bb4, Sa5, Pg5, Pf6, Pf5, Pf2, Pc6, Pb7, Pa3] black: [Ka4, Pb5, Gh2] stipulation: "#3" solution: | "1.c6-c7 ! 1...Gh2-b8 2.c7-c8=S zugzwang. 2...Gb8 ~ 3.Sc8*b6 # 1...Gh2-e2 2.c7-c8=G threat: 3.Gc8-g4 # 2...Ge2-a6 + 3.Gc8*a6 #" keywords: - White underpromotion - Promotion (fairy) - Grasshopper --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Post date: 1924-12-28 algebraic: white: [Kb3, Bb6, Sd6, Sa8, Ph2, Pf4, Pb7, Pa4, Gb1] black: [Kb8, Rh1, Sg1, Pe5, Pc3, Pa5, Gf6] stipulation: "#2" solution: | "1.Kb3-c2 ! threat: 2.Bb6*g1 # 2.Bb6-f2 # 2.Bb6-e3 # 2.Bb6-d4 # 2.Bb6-c5 # 1...Sg1 ~ 2.Bb6-g1 # 1...Rh1*h2 2.Bb6-f2 # 1...Gf6-f3 2.Bb6-e3 # 1...e5 ~ / Gf6-d4 2.Bb6-d4 # 1...Gf6-c6 + 2.Bb6-c5 #" keywords: - Interference - Grasshopper --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1920 algebraic: white: [Ka1, Qg7, Bb1, Pc7, Pa2] black: [Ke8, Bh8] stipulation: "s#2" options: - SetPlay twins: b: Add White Pd6 solution: | "a) 1...Bh8*g7 # 1.c7-c8=S ! zugzwang. 1...Ke8-d8 2.Sc8-d6 2...Bh8*g7 # b) +wPd6 1...Bh8*g7 # 1.c7-c8=B ! zugzwang. 1...Ke8-d8 2.Bc8-d7 2...Bh8*g7 #" --- authors: - Dawson, Thomas Rayner source: Fata Morgana source-id: 144d date: 1922 algebraic: white: [Kc1, Qf2, Bd5] black: [Kd3, Ba1, Pc3, Pc2] stipulation: "s#1" options: - SetPlay solution: | "1.Qf2-d2 + ! 1...c3*d2 #" --- authors: - Dawson, Thomas Rayner source: Fata Morgana source-id: 145c date: 1922 algebraic: white: [Ke1, Qg6] black: [Kh8, Pf3, Pe3, Pe2, Pd3] stipulation: "s#3" options: - SetPlay solution: | "1...d3-d2 # 1...f3-f2 # 1.Qg6-g4 ! threat: 2.Qg4-g6 2...d3-d2 # 2...f3-f2 # 1...Kh8-h7 2.Qg4-g5 zugzwang. 2...Kh7-h8 3.Qg5-g6 3...d3-d2 # 3...f3-f2 #" --- authors: - Dawson, Thomas Rayner source: Fata Morgana source-id: 145 date: 1922 algebraic: white: [Kb1, Qc1, Ba1, Sa6] black: [Kb3, Pa4, Pa3] stipulation: "s#3" options: - SetPlay solution: | "1...a3-a2 # 1.Ba1-b2 ! threat: 2.Bb2-a1 2...a3-a2 # 1...a3-a2 + 2.Kb1-a1 zugzwang. 2...a4-a3 3.Qc1-c6 3...a3*b2 # 1...a3*b2 2.Qc1-c5 zugzwang. 2...a4-a3 3.Qc5-d4 3...a3-a2 # 3.Qc5-c6 3...a3-a2 #" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1924 algebraic: white: [Ka2, Qe6, Rg8, Rd5, Bf7] black: [Kc4, Rb3] stipulation: "s#5" solution: | "1.Rg8-g4 + ! 1...Kc4-c3 2.Qe6-e1 + 2...Kc3-c2 3.Rg4-c4 + 3...Rb3-c3 4.Bf7-e8 zugzwang. 4...Rc3*c4 5.Be8-a4 + 5...Rc4*a4 #" keywords: - Scaccografia --- authors: - Dawson, Thomas Rayner source: Eskilstuna-Kuriren date: 1917 algebraic: white: [Kc1, Qb8, Be8, Pg2, Pc5, Pb6] black: [Ke6, Ph7, Ph6, Pf6, Pd4, Pc4] stipulation: "#4" solution: | "1.g2-g3 ! threat: 2.Qb8-d6 + 2...Ke6-f5 3.Qd6-f4 + 3...Kf5-e6 4.Qf4-e4 # 1...Ke6-e7 2.Be8-h5 threat: 3.Qb8-d6 # 3.Qb8-e8 # 2...f6-f5 3.Qb8-d6 # 2...Ke7-d7 3.Qb8-e8 # 2...Ke7-e6 3.Qb8-d6 + 3...Ke6-f5 4.Qd6-d5 # 2.Qb8-c7 + 2...Ke7*e8 3.b6-b7 threat: 4.b7-b8=Q # 4.b7-b8=R # 2...Ke7-e6 3.Be8-f7 + 3...Ke6-f5 4.Qc7-f4 # 2...Ke7-f8 3.Qc7-f7 #" --- authors: - Dawson, Thomas Rayner source: Western Daily Mercury date: 1920 distinction: 1st Prize algebraic: white: [Ka3, Qc8, Sg8, Sg4, Pc4, Pb2] black: [Kd6, Ra1, Bb1, Sc3, Pg5, Pf7, Pf4, Pd4, Pd3, Pd2, Pa2] stipulation: "#3" solution: | "1.b2-b3 ! threat: 2.c4-c5 + 2...Kd6-d5 3.Sg8-f6 # 1...Sc3-e4 2.Sg4-h6 threat: 3.Sh6*f7 # 1...Sc3-b5 + 2.c4*b5 threat: 3.Qc8-c6 # 1...Sc3-a4 2.Sg8-h6 threat: 3.Sh6-f5 #" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1946 algebraic: white: [Kb2, Qf3, Pg4, Pc2, Pa4] black: [Kd4, Pg6, Pf6, Pe3, Pe2, Pd6, Pc5] stipulation: "#2" solution: | "1...Kc4 2.Qe4# 1...d5 2.Qf4# 1.c3+?? 1...Kd3 2.Qd5# 1...Kc4 2.Qe4# but 1...Ke5! 1.c4! (2.Qd5#) 1...Kxc4 2.Qe4# 1...Ke5 2.Qxe3#" keywords: - Flight giving key - Active sacrifice - Model mates --- authors: - Dawson, Thomas Rayner source: Deutsches Wochenschach date: 1912 algebraic: white: [Ke4, Qc7, Re8, Re6, Pe5] black: [Kh7, Pg7] stipulation: "#2" solution: | "1.Rg8?? (2.Qxg7#) but 1...Kxg8! 1.Qc6?? zz 1...g5 2.R6e7#/Qc7#/Qd7#/Qb7# but 1...g6! 1.Qc5?? zz 1...g5 2.Qc7#/Qe7#/Qa7# but 1...g6! 1.Qc4?? zz 1...g5 2.Qc7# but 1...g6! 1.Qc3?? (2.Qh3#) 1...g5 2.Qc7# but 1...g6! 1.Qc2?? (2.Qh2#) 1...g5 2.Qc7# but 1...g6! 1.Qc8?? (2.Rh8#) 1...g5 2.Qc7#/Qd7#/Qb7#/R8e7# but 1...g6! 1.Qd6?? zz 1...g5 2.R6e7#/Qd7#/Qe7#/Qc7# but 1...g6! 1.Qd8?? (2.Qh4#/Rh8#) 1...g5 2.Qd7#/Qe7#/Qc7#/R8e7# but 1...g6! 1.Qb6?? zz 1...g5 2.Qb7#/Qc7#/Qa7#/R6e7# but 1...g6! 1.Qa5?? zz 1...g5 2.Qa7#/Qc7# but 1...g6! 1.Qb8?? (2.Rh8#) 1...g5 2.Qb7#/Qc7#/Qa7#/R8e7# but 1...g6! 1.Rg6?? (2.Qxg7#) but 1...Kxg6! 1.Qc1! (2.Qh1#) 1...g6 2.R6e7# 1...g5 2.Qc7#" keywords: - Model mates - Switchback --- authors: - Dawson, Thomas Rayner source: Čas date: 1931 algebraic: white: [Kh7, Bh5, Bf5, Bf4, Bc5] black: [Ke1, Pf7, Pa5] stipulation: "#3" solution: | "1.Bf5-d3 ! threat: 2.Bc5-e3 threat: 3.Bf4-g3 # 1.Bf5-h3 ! threat: 2.Bc5-e3 threat: 3.Bf4-g3 # 1.Bc5-e3 ! threat: 2.Bf5-d3 threat: 3.Bf4-g3 # 2.Bf5-h3 threat: 3.Bf4-g3 # 2.Bf4-g3 + 2...Ke1-f1 3.Bf5-h3 # 1...Ke1-f1 2.Bf5-h3 + 2...Kf1-e1 3.Bf4-g3 # 1.Bf4-c7 ! threat: 2.Bc7*a5 + 2...Ke1-f1 3.Bf5-h3 # 1...Ke1-f1 2.Bf5-h3 + 2...Kf1-e1 3.Bc7*a5 #" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1901 algebraic: white: [Kg8, Rf7, Rb3, Ba2, Se6, Sc4] black: [Kd5] stipulation: "#2" solution: | "1.Rd7+?? 1...Ke4 2.Bb1# 1...Kxc4 2.Rd4# 1...Kc6 2.Rd6#/Ne5# but 1...Kxe6! 1.Rd3+?? 1...Ke4 2.Rd4#/Nc5# 1...Kxe6 2.Rd6# but 1...Kc6! 1.Rb5+! 1...Ke4 2.Bb1# 1...Kxe6 2.Re5# 1...Kc6 2.Rc5#/Nd4#" keywords: - Checking key - Flight taking key - No pawns - Scaccografia --- authors: - Dawson, Thomas Rayner source: Deutsche Arbeiter-Schachzeitung date: 1902 algebraic: white: [Ka6, Sg2, Sd7, Pd5] black: [Ka8, Pe4] stipulation: "#3" solution: | "1.Sg2-f4 ! threat: 2.Sf4-e6 threat: 3.Se6-c7 #" --- authors: - Dawson, Thomas Rayner source: Pittsburgh Sun date: 1921 algebraic: white: [Kd7, Qb3, Ba1] black: [Kc5] stipulation: "#3" solution: | "1.Qb3-a4 ! threat: 2.Kd7-c7 zugzwang. 2...Kc5-d5 3.Qa4-c6 # 1...Kc5-b6 2.Ba1-d4 + 2...Kb6-b7 3.Qa4-a7 #" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1912 algebraic: white: [Ke2, Qc3, Sd6, Pf2] black: [Ka4, Pf3, Pb7] stipulation: "#3" solution: | "1.Ke2-d3 ! zugzwang. 1...b7-b6 2.Sd6-b7 zugzwang. 2...Ka4-b5 3.Qc3-c4 # 2...b6-b5 3.Sb7-c5 # 1...b7-b5 2.Kd3-c2 zugzwang. 2...b5-b4 3.Qc3-a1 # 2.Qc3-b2 zugzwang. 2...Ka4-a5 3.Qb2*b5 # 2...b5-b4 3.Qb2-a2 #" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1912 algebraic: white: [Kh7, Qg8, Re1, Ra5] black: [Kc3, Sh8] stipulation: "#3" solution: | "1.Qg8-g3 + ! 1...Kc3-c4 2.Re1-e4 # 1...Kc3-c2 2.Ra5-a2 # 1...Kc3-b4 2.Ra5-h5 threat: 3.Re1-e4 # 2.Ra5-g5 threat: 3.Re1-e4 # 2.Ra5-f5 threat: 3.Re1-e4 # 2.Ra5-e5 threat: 3.Re1-e4 # 2.Qg3-c7 threat: 3.Re1-b1 # 2.Qg3-a3 + 2...Kb4-c4 3.Re1-e4 # 2.Re1-a1 threat: 3.Ra1-a4 # 1...Kc3-d4 2.Re1-a1 threat: 3.Ra1-a4 # 2.Kh7*h8 zugzwang. 2...Kd4-c4 3.Re1-e4 # 2.Ra5-e5 threat: 3.Re1-e4 # 2.Qg3-b3 threat: 3.Ra5-d5 # 2.Qg3-f3 threat: 3.Re1-e4 # 2.Re1-e5 threat: 3.Ra5-a4 # 1...Kc3-d2 2.Ra5-a2 # 1...Kc3-b2 2.Kh7*h8 zugzwang. 2...Kb2-c2 3.Ra5-a2 # 2.Ra5-a3 threat: 3.Qg3-b3 # 3.Qg3-c3 # 2...Kb2-c2 3.Qg3-f2 # 3.Qg3-h2 # 3.Qg3-g2 # 3.Qg3-c3 # 3.Ra3-a2 # 2.Ra5-h5 threat: 3.Rh5-h2 # 2.Ra5-f5 threat: 3.Rf5-f2 # 2.Ra5-e5 threat: 3.Re5-e2 # 2.Qg3-d3 threat: 3.Re1-b1 # 2.Re1-a1 threat: 3.Ra5-a2 # 2.Re1-e2 + 2...Kb2-b1 3.Qg3-e1 # 3.Qg3-g1 # 2...Kb2-c1 3.Qg3-g1 # 3.Ra5-a1 # 3.Qg3-e1 # 1.Qg8-g7 + ! 1...Kc3-d3 2.Ra5-c5 threat: 3.Qg7-c3 # 3.Qg7-d7 # 2...Kd3-d2 3.Qg7-c3 # 2...Sh8-f7 3.Qg7-c3 # 1...Kc3-c4 2.Re1-e3 threat: 3.Qg7-c3 # 3.Qg7-g4 # 2...Kc4-b4 3.Qg7-c3 # 2...Sh8-g6 3.Qg7-c3 # 1...Kc3-b3 2.Re1-c1 threat: 3.Qg7-c3 # 3.Qg7-b7 # 2...Kb3-b4 3.Qg7-c3 # 2...Sh8-f7 3.Qg7-c3 # 1...Kc3-c2 2.Ra5-a3 threat: 3.Qg7-c3 # 3.Qg7-g2 # 2...Kc2-d2 3.Qg7-c3 # 2...Sh8-g6 3.Qg7-c3 # 1...Kc3-b4 2.Qg7-c7 threat: 3.Re1-b1 # 1...Kc3-d2 2.Qg7-g3 threat: 3.Ra5-a2 # 1.Qg8-c8 + ! 1...Kc3-d3 2.Ra5-d5 # 1...Kc3-b3 2.Re1-b1 # 1...Kc3-b4 2.Re1-b1 + 2...Kb4*a5 3.Qc8-a8 # 2.Qc8-c5 + 2...Kb4-b3 3.Re1-b1 # 2.Qc8-c7 threat: 3.Re1-b1 # 2.Ra5-a1 threat: 3.Re1-b1 # 2.Ra5-a8 threat: 3.Re1-b1 # 2.Ra5-a7 threat: 3.Re1-b1 # 2.Ra5-a6 threat: 3.Re1-b1 # 2.Re1-e5 threat: 3.Re5-b5 # 1...Kc3-d4 2.Re1-e5 threat: 3.Ra5-d5 # 2.Qc8-c2 threat: 3.Re1-e4 # 2.Qc8-c6 threat: 3.Ra5-d5 # 2.Kh7*h8 zugzwang. 2...Kd4-d3 3.Ra5-d5 # 2.Ra5-a1 threat: 3.Ra1-d1 # 1...Kc3-d2 2.Ra5-a1 threat: 3.Ra1-d1 # 2.Qc8-c1 + 2...Kd2-d3 3.Ra5-d5 # 2.Re1-e8 threat: 3.Ra5-d5 # 2.Re1-e7 threat: 3.Ra5-d5 # 2.Re1-e6 threat: 3.Ra5-d5 # 2.Re1-e5 threat: 3.Ra5-d5 # 1...Kc3-b2 2.Re1-e5 threat: 3.Re5-b5 # 2.Qc8-c4 threat: 3.Ra5-a2 # 2.Kh7*h8 zugzwang. 2...Kb2-b3 3.Re1-b1 # 2.Ra5-a1 threat: 3.Re1-b1 # 2.Ra5-b5 + 2...Kb2-a2 3.Qc8-a6 # 3.Qc8-a8 # 2...Kb2-a3 3.Qc8-a8 # 3.Qc8-a6 # 3.Re1-a1 # 2.Re1-c1 threat: 3.Qc8-c2 # 3.Qc8-c3 # 2...Kb2-b3 3.Qc8-b7 # 3.Qc8-c3 # 3.Qc8-b8 # 3.Rc1-b1 # 2.Re1-e7 threat: 3.Re7-b7 # 2.Re1-e6 threat: 3.Re6-b6 # 1.Ra5-a1 ! threat: 2.Qg8-c8 + 2...Kc3-d3 3.Ra1-d1 # 2...Kc3-b3 3.Re1-b1 # 2...Kc3-b4 3.Re1-b1 # 2...Kc3-d4 3.Ra1-d1 # 2...Kc3-d2 3.Ra1-d1 # 2...Kc3-b2 3.Re1-b1 # 1.Re1-e5 ! threat: 2.Qg8-c8 + 2...Kc3-d3 3.Ra5-d5 # 2...Kc3-b3 3.Re5-b5 # 2...Kc3-b4 3.Re5-b5 # 2...Kc3-d4 3.Ra5-d5 # 2...Kc3-d2 3.Ra5-d5 # 2...Kc3-b2 3.Re5-b5 # 1.Re1-e3 + ! 1...Kc3-c2 2.Qg8-g2 + 2...Kc2-c1 3.Re3-e1 # 3.Ra5-a1 # 2...Kc2-d1 3.Ra5-a1 # 2...Kc2-b1 3.Re3-e1 # 2.Ra5-a2 + 2...Kc2-c1 3.Re3-e1 # 3.Qg8-g1 # 2...Kc2-d1 3.Qg8-g1 # 2...Kc2-b1 3.Re3-e1 # 1...Kc3-b4 2.Qg8-a2 threat: 3.Qa2-a4 # 2.Qg8-d5 threat: 3.Qd5-b5 # 3.Qd5-c5 # 3.Re3-b3 # 2.Qg8-g5 threat: 3.Qg5-b5 # 3.Qg5-c5 # 2...Kb4-c4 3.Qg5-f4 # 3.Qg5-h4 # 3.Qg5-g4 # 3.Qg5-c5 # 3.Ra5-a4 # 2.Qg8-b8 + 2...Kb4-c4 3.Qb8-f4 # 2...Kb4*a5 3.Re3-a3 # 2.Ra5-h5 threat: 3.Qg8-b3 # 3.Qg8-g4 # 2...Sh8-f7 3.Qg8-g4 # 2...Sh8-g6 3.Qg8-b3 # 2.Ra5-f5 threat: 3.Qg8-b3 # 3.Qg8-g4 # 2...Sh8-f7 3.Qg8-g4 # 2...Sh8-g6 3.Qg8-b3 # 2.Ra5-e5 threat: 3.Qg8-g4 # 3.Qg8-b3 # 2...Sh8-f7 3.Qg8-g4 # 2...Sh8-g6 3.Qg8-b3 # 2.Re3-a3 threat: 3.Qg8-b3 # 3.Qg8-g4 # 2...Sh8-f7 3.Qg8-g4 # 2...Sh8-g6 3.Qg8-b3 # 2.Re3-b3 + 2...Kb4*a5 3.Qg8-a8 # 1...Kc3-d4 2.Re3-b3 threat: 3.Qg8-d5 # 3.Qg8-g4 # 2...Kd4-e4 3.Qg8-c4 # 3.Qg8-g4 # 2...Sh8-f7 3.Qg8-g4 # 2...Sh8-g6 3.Qg8-d5 # 2.Qg8-b3 threat: 3.Ra5-d5 # 3.Qb3-d3 # 3.Qb3-c3 # 2.Qg8-e6 threat: 3.Qe6-e4 # 2.Qg8-g5 threat: 3.Qg5-f4 # 3.Qg5-c5 # 3.Ra5-a4 # 2...Sh8-g6 3.Qg5-c5 # 3.Ra5-a4 # 2.Qg8-e8 threat: 3.Qe8-e4 # 2.Ra5-e5 threat: 3.Qg8-d5 # 3.Qg8-g4 # 2...Sh8-f7 3.Qg8-g4 # 2...Sh8-g6 3.Qg8-d5 # 2.Re3-a3 threat: 3.Qg8-d5 # 3.Qg8-g4 # 2...Kd4-e4 3.Qg8-c4 # 3.Qg8-g4 # 2...Sh8-f7 3.Qg8-g4 # 2...Sh8-g6 3.Qg8-d5 # 2.Re3-h3 threat: 3.Qg8-d5 # 3.Qg8-g4 # 2...Kd4-e4 3.Qg8-c4 # 3.Qg8-g4 # 2...Sh8-f7 3.Qg8-g4 # 2...Sh8-g6 3.Qg8-d5 # 2.Re3-g3 threat: 3.Qg8-g4 # 3.Qg8-d5 # 2...Kd4-e4 3.Qg8-c4 # 3.Qg8-g4 # 2...Sh8-f7 3.Qg8-g4 # 2...Sh8-g6 3.Qg8-d5 # 2.Re3-f3 threat: 3.Qg8-d5 # 3.Qg8-g4 # 2...Sh8-f7 3.Qg8-g4 # 2...Sh8-g6 3.Qg8-d5 # 1...Kc3-d2 2.Qg8-g1 threat: 3.Ra5-a2 # 1...Kc3-b2 2.Qg8-a2 + 2...Kb2-c1 3.Re3-e1 # 2.Qg8-c4 threat: 3.Re3-b3 # 2.Qg8-g2 + 2...Kb2-b1 3.Re3-e1 # 2...Kb2-c1 3.Re3-e1 # 3.Ra5-a1 # 2.Ra5-a2 + 2...Kb2-b1 3.Re3-e1 # 2...Kb2-c1 3.Re3-e1 # 3.Qg8-g1 #" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1912 algebraic: white: [Kf6, Qb1, Rf7, Pb4, Pa4] black: [Ka3, Ph6] stipulation: "#3" solution: | "1.Rf7-h7 ! zugzwang. 1...h6-h5 2.Rh7*h5 zugzwang. 2...Ka3*a4 3.Rh5-a5 # 1...Ka3*a4 2.Rh7-b7 threat: 3.Qb1-a2 # 2...Ka4-a3 3.Rb7-a7 #" --- authors: - Dawson, Thomas Rayner source: Four-Leaved-Shamrock date: 1913 algebraic: white: [Kb5, Rf4, Re3, Pb3] black: [Ka3, Ph4, Pg3] stipulation: "#3" solution: | "1.Rf4-f3 ! threat: 2.Re3-e2 threat: 3.b3-b4 # 1...g3-g2 2.Rf3-f2 threat: 3.b3-b4 #" --- authors: - Dawson, Thomas Rayner source: Deutsches Wochenschach date: 1914 algebraic: white: [Kh5, Se4, Ph7, Pg6] black: [Kh8, Pg7] stipulation: "#3" solution: | "1.Se4-f6 ! zugzwang. 1...g7*f6 2.Kh5-h6 threat: 3.g6-g7 #" --- authors: - Dawson, Thomas Rayner source: Deutsches Wochenschach date: 1914 algebraic: white: [Kf8, Rd5, Bf7, Pe3] black: [Kf6, Pf3] stipulation: "#2" solution: "1.e4! (2.Rf5#)" --- authors: - Dawson, Thomas Rayner source: Deutsches Wochenschach date: 1914 algebraic: white: [Kc5, Rd5, Rb5] black: [Ke1] stipulation: "#2" solution: | "1.Rd2?? zz 1...Kf1 2.Rb1# but 1...Kxd2! 1.Rb2! zz 1...Kf1 2.Rd1#" keywords: - Flight taking key - No pawns --- authors: - Dawson, Thomas Rayner source: Deutsches Wochenschach date: 1914 algebraic: white: [Kb5, Qc2, Sb6] black: [Ke1, Rf1, Pf3, Pf2] stipulation: "#3" solution: | "1.Sb6-d5 ! threat: 2.Sd5-c3 threat: 3.Qc2-d1 # 3.Qc2-c1 # 2.Sd5-e3 threat: 3.Qc2-d1 # 2.Sd5-f4 threat: 3.Sf4-d3 # 3.Qc2-c1 # 2...Rf1-h1 3.Qc2-c1 # 2...Rf1-g1 3.Qc2-c1 # 2.Qc2-c1 + 2...Ke1-e2 3.Sd5-f4 # 1...Rf1-h1 2.Qc2-c1 + 2...Ke1-e2 3.Sd5-f4 # 1...Rf1-g1 2.Qc2-c1 + 2...Ke1-e2 3.Sd5-f4 #" --- authors: - Dawson, Thomas Rayner source: Football-Field date: 1915 algebraic: white: [Kd8, Rc5] black: [Ka8, Sb6] stipulation: "#3" solution: | "1.Kd8-c7 ! threat: 2.Rc5-a5 # 1...Sb6-c4 2.Rc5*c4 threat: 3.Rc4-a4 # 1...Sb6-d5 + 2.Rc5*d5 threat: 3.Rd5-a5 # 1...Sb6-c8 2.Rc5-b5 zugzwang. 2...Sc8-a7 3.Rb5-b8 # 2...Ka8-a7 3.Rb5-a5 # 2...Sc8-b6 3.Rb5-a5 # 2...Sc8-d6 3.Rb5-a5 # 2...Sc8-e7 3.Rb5-a5 #" --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times date: 1915-09-12 algebraic: white: [Ka7, Se6, Sd8, Pc3, Pb3] black: [Kb5] stipulation: "#3" options: - SetPlay solution: | "1. ... Kb5-a5 2. Sd8-b7+ Ka5-b5 3. Se6-d4# 1. Ka7-b7! Kb5-a5 2. Sd8-c6+ Ka5-b5 3. c3-c4#" comments: - compare 180908 --- authors: - Dawson, Thomas Rayner source: Pittsburgh Sun date: 1922 algebraic: white: [Kb2, Rh1, Sd6, Sc6] black: [Ka8, Sh2, Sf1] stipulation: "#2" solution: | "1...Ng4/Nf3 2.Rh8# 1...Ng3/Ne3/Nd2 2.Ra1# 1.Kb3?? zz 1...Ng3/Ne3 2.Ra1# 1...Ng4/Nf3 2.Rh8# but 1...Nd2+! 1.Kc2?? zz 1...Ng3/Nd2 2.Ra1# 1...Ng4/Nf3 2.Rh8# but 1...Ne3+! 1.Rxh2?? (2.Rh8#) but 1...Nxh2! 1.Rg1?? (2.Rg8#) 1...Ng3 2.Ra1# but 1...Ng4! 1.Rxf1?? (2.Rf8#/Ra1#) 1...Nf3 2.Ra1# but 1...Nxf1! 1.Kc3! zz 1...Ng3/Ne3/Nd2 2.Ra1# 1...Ng4/Nf3 2.Rh8#" keywords: - No pawns - Block --- authors: - Dawson, Thomas Rayner source: Pittsburgh Sun date: 1922 algebraic: white: [Kc2, Rg3, Rb6] black: [Kf7] stipulation: "#3" solution: | "1.Rg3-a3 ! threat: 2.Ra3-a7 + 2...Kf7-f8 3.Rb6-b8 # 2...Kf7-e8 3.Rb6-b8 # 2...Kf7-g8 3.Rb6-b8 #" --- authors: - Dawson, Thomas Rayner source: National-Zeitung (Basel) date: 1923 algebraic: white: [Kb6, Sb5, Sb3, Pb7] black: [Kb8, Bb4] stipulation: "#3" solution: | "1.Kb6-a6 ! threat: 2.Sb3-d4 threat: 3.Sd4-c6 # 1...Bb4-c3 2.Sb3-c5 threat: 3.Sc5-d7 # 1...Bb4-c5 2.Sb3-a5 threat: 3.Sa5-c6 #" keywords: - Digits - Letters --- authors: - Dawson, Thomas Rayner source: Allgemeine Zeitung Chemnitz source-id: 56 date: 1924-08-03 algebraic: white: [Kf3, Bf2, Sf7] black: [Kf1, Ph5, Pf4, Pd5] stipulation: "#3" solution: | "1. Sf7-e5! h5-h4 2. Se5-g4 ~ 3. Sg4-h2# 1. ... d5-d4 2. Se5-c4 ~ 3. Sc4-d2#" --- authors: - Dawson, Thomas Rayner source: L'Éclaireur du Soir date: 1924 algebraic: white: [Kh1, Rc2, Rb2, Pa4] black: [Ka1, Pf4, Pe4, Pd4] stipulation: "#3" solution: | "1.Rc2-h2 ! threat: 2.Rb2-g2 threat: 3.Rg2-g1 # 2.Rb2-f2 threat: 3.Rf2-f1 # 2.Rb2-e2 threat: 3.Re2-e1 # 2.Rb2-d2 threat: 3.Rd2-d1 # 1...d4-d3 2.Rb2-d2 threat: 3.Rd2-d1 # 1...e4-e3 2.Rb2-e2 threat: 3.Re2-e1 # 1...f4-f3 2.Rb2-f2 threat: 3.Rf2-f1 #" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1924 algebraic: white: [Kc7, Qg1, Sb3] black: [Kh5] stipulation: "#3" solution: | "1.Sb3-c5 ! zugzwang. 1...Kh5-h4 2.Sc5-e4 zugzwang. 2...Kh4-h5 3.Qg1-g5 # 2...Kh4-h3 3.Qg1-g3 # 1...Kh5-h6 2.Sc5-e6 zugzwang. 2...Kh6-h7 3.Qg1-g7 # 2...Kh6-h5 3.Qg1-g5 #" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1924 distinction: Honorable Mention algebraic: white: [Kf4, Bf6, Sg7, Se7] black: [Kf8, Bf5, Pf7] stipulation: "#6" solution: | "1.Kf4-e5 ! threat: 2.Ke5-d6 threat: 3.Kd6-c7 threat: 4.Kc7-d8 threat: 5.Sg7-h5 threat: 6.Bf6-g7 # 5.Sg7-e8 threat: 6.Bf6-g7 # 4...Bf5-g4 5.Sg7-e8 threat: 6.Bf6-g7 # 4...Bf5-g6 5.Sg7-e8 threat: 6.Bf6-g7 # 4...Bf5-d7 5.Sg7-h5 threat: 6.Bf6-g7 #" keywords: - Letters - Scaccografia --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1924 algebraic: white: [Kf5, Bh8, Bg8] black: [Kh6, Ph5, Pf7] stipulation: "#6" solution: | "1.Kf5-f6 ! threat: 2.Bh8-g7 # 1...h5-h4 2.Bg8*f7 threat: 3.Bf7-g6 threat: 4.Bh8-g7 # 2...Kh6-h7 3.Bh8-g7 threat: 4.Bf7-a2 threat: 5.Kf6-f7 threat: 6.Ba2-b1 # 4.Bf7-b3 threat: 5.Kf6-f7 threat: 6.Bb3-c2 # 4.Bf7-c4 threat: 5.Kf6-f7 threat: 6.Bc4-d3 # 4.Bf7-d5 threat: 5.Kf6-f7 threat: 6.Bd5-e4 # 4.Bf7-e6 threat: 5.Kf6-f7 threat: 6.Be6-f5 # 3...h4-h3 4.Bf7-e6 threat: 5.Kf6-f7 threat: 6.Be6-f5 #" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1924 algebraic: white: [Kg5, Qf4, Se3, Sc1] black: [Kd2] stipulation: "#2" solution: | "1.Qf2+?? 1...Kxc1 2.Qc2# but 1...Kc3! 1.Qf1?? zz 1...Kxe3 2.Qf4# but 1...Kc3! 1.Qb4+?? 1...Kxe3 2.Qf4# but 1...Kxc1! 1.Qh2+?? 1...Ke1 2.Qe2#/Nd3# 1...Kxe3 2.Qf4# 1...Kxc1 2.Qc2# but 1...Kc3! 1.Qc7?? zz 1...Kxe3 2.Qf4# but 1...Ke1! 1.Qc4! zz 1...Ke1 2.Qe2# 1...Kxe3 2.Qf4#" keywords: - Flight taking key - Flight giving and taking key - No pawns - Switchback --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1924 algebraic: white: [Ke6, Rg7, Rd4] black: [Kh3, Sc8] stipulation: "#2" solution: | "1...Kh2 2.Rh4# 1.Rd1?? (2.Rh1#) but 1...Kh2! 1.Rd5?? (2.Rh5#) but 1...Kh4! 1.Rd8! (2.Rh8#)" keywords: - Flight giving key - No pawns --- authors: - Dawson, Thomas Rayner source: Asymmetrie date: 1927 algebraic: white: [Kc1, Qc6, Sc3] black: [Kc8, Pc7] stipulation: "#3" solution: | "1.Sc3-d5 ! threat: 2.Qc6*c7 # 1...Kc8-d8 2.Qc6*c7 + 2...Kd8-e8 3.Qc7-e7 # 2.Kc1-d1 zugzwang. 2...Kd8-c8 3.Qc6*c7 # 2.Kc1-c2 zugzwang. 2...Kd8-c8 3.Qc6*c7 # 2.Kc1-b1 zugzwang. 2...Kd8-c8 3.Qc6*c7 # 2.Kc1-b2 zugzwang. 2...Kd8-c8 3.Qc6*c7 # 2.Kc1-d2 zugzwang. 2...Kd8-c8 3.Qc6*c7 # 1...Kc8-b8 2.Qc6*c7 + 2...Kb8-a8 3.Sd5-b6 # 1.Kc1-d1 ! zugzwang. 1...Kc8-d8 2.Sc3-d5 zugzwang. 2...Kd8-c8 3.Qc6*c7 # 1...Kc8-b8 2.Sc3-b5 zugzwang. 2...Kb8-c8 3.Qc6*c7 # 1.Kc1-c2 ! zugzwang. 1...Kc8-d8 2.Sc3-d5 zugzwang. 2...Kd8-c8 3.Qc6*c7 # 1...Kc8-b8 2.Sc3-b5 zugzwang. 2...Kb8-c8 3.Qc6*c7 # 1.Kc1-b1 ! zugzwang. 1...Kc8-d8 2.Sc3-d5 zugzwang. 2...Kd8-c8 3.Qc6*c7 # 1...Kc8-b8 2.Sc3-b5 zugzwang. 2...Kb8-c8 3.Qc6*c7 # 1.Kc1-b2 ! zugzwang. 1...Kc8-d8 2.Sc3-d5 zugzwang. 2...Kd8-c8 3.Qc6*c7 # 1...Kc8-b8 2.Sc3-b5 zugzwang. 2...Kb8-c8 3.Qc6*c7 # 1.Kc1-d2 ! zugzwang. 1...Kc8-d8 2.Sc3-d5 zugzwang. 2...Kd8-c8 3.Qc6*c7 # 1...Kc8-b8 2.Sc3-b5 zugzwang. 2...Kb8-c8 3.Qc6*c7 #" --- authors: - Dawson, Thomas Rayner source: Asymmetry date: 1927 algebraic: white: [Kg6, Rg1] black: [Kg8] stipulation: "#2" solution: | "1.Re1?? (2.Re8#) but 1...Kf8! 1.Rd1?? (2.Rd8#) but 1...Kf8! 1.Rc1?? (2.Rc8#) but 1...Kf8! 1.Rb1?? (2.Rb8#) but 1...Kf8! 1.Ra1?? (2.Ra8#) but 1...Kf8! 1.Rf1! zz 1...Kh8 2.Rf8#" keywords: - Flight taking key - No pawns --- authors: - Dawson, Thomas Rayner source: Pittsburgh Sun date: 1927 algebraic: white: [Kc2, Ra8, Bg8, Pb2, Pa2] black: [Ka1, Sf7] stipulation: "#2" solution: | "1.Re8?? zz 1...Kxa2 2.Ra8# 1...Ng5/Nh6/Nh8/Nd6/Nd8 2.Re1# but 1...Ne5! 1.Rf8! zz 1...Kxa2 2.Ra8# 1...Ng5/Nh6/Nh8/Ne5/Nd6/Nd8 2.Rf1#" keywords: - Flight giving key - Switchback --- authors: - Dawson, Thomas Rayner source: Pittsburgh Sun date: 1927 algebraic: white: [Kc1, Qa8, Be6] black: [Ka1, Ba7, Sc8, Pc6] stipulation: "#2" solution: | "1...Nd6/Ne7 2.Qxa7# 1...Nb6 2.Qh8# 1.Bf7?? zz 1...Nd6/Ne7 2.Qxa7# 1...Nb6 2.Qh8# but 1...c5! 1.Bc4?? zz 1...Nd6/Ne7 2.Qxa7# 1...Nb6 2.Qh8# but 1...c5! 1.Bb3?? zz 1...Nd6/Ne7 2.Qxa7# 1...Nb6 2.Qh8# but 1...c5! 1.Bxc8?? (2.Qxa7#) but 1...Ka2! 1.Kc2! zz 1...c5 2.Qh1# 1...Nd6/Ne7 2.Qxa7# 1...Nb6 2.Qh8#" keywords: - Black correction --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1928 algebraic: white: [Ke4, Rb2, Sd6, Sb1] black: [Ka4, Pc6] stipulation: "#3" solution: | "1.Sd6-c4 ! threat: 2.Sb1-c3 # 1.Rb2-b6 ! threat: 2.Sd6-c4 threat: 3.Sb1-c3 # 2.Sb1-c3 + 2...Ka4-a5 3.Sd6-c4 # 2...Ka4-a3 3.Sd6-c4 # 1...Ka4-a5 2.Sd6-c4 + 2...Ka5-a4 3.Sb1-c3 # 1...c6-c5 2.Sb1-c3 + 2...Ka4-a5 3.Sd6-c4 # 2...Ka4-a3 3.Sd6-c4 #" --- authors: - Dawson, Thomas Rayner source: La Vie Rennaise date: 1931 algebraic: white: [Kg6, Sc2, Ph7, Pe6] black: [Kh8, Bc5, Pe7] stipulation: "#11" solution: | "1.Se1! Bd4! 2.Sf3! Bf6 3.Sd2 Be5! 4.Sc4! (4.Sb3? Bc3!) 4...Bf4 5.Sa5 Be5 6.Sc6 Bc7 7.Sxe7 Bd6 8.Sc6/Sf5(dual) Bc7/Bf8 9.e7 ~ 11.Qxf8/Sf7# 7...Be5 8.Sc6/Sf5(dual) Bf6/Bf4 9.e7 ~ 11.Qxf8#/Sf7#" --- authors: - Dawson, Thomas Rayner source: Tidskrift för Schack date: 1932 algebraic: white: [Ke3, Rc6, Sb8, Pe2, Pc2] black: [Kd5, Pb5] stipulation: "#3" solution: | "1.Ke3-f4 ! threat: 2.c2-c3 threat: 3.e2-e4 # 1...b5-b4 2.e2-e3 zugzwang. 2...b4-b3 3.c2-c4 #" --- authors: - Dawson, Thomas Rayner source: The Problemist date: 1933 algebraic: white: [Kg1, Qf6, Ba6, Sb6, Pf2] black: [Ke4, Ba8] stipulation: "#3" solution: | "1.Ba6-f1 ! threat: 2.f2-f3 + 2...Ke4-e3 3.Sb6-c4 # 1...Ba8-d5 2.Sb6-a4 threat: 3.Sa4-c3 # 3.Sa4-c5 # 2...Bd5-a2 3.Sa4-c3 # 2...Bd5-b3 3.Sa4-c3 # 2...Bd5-c4 3.Sa4-c3 # 2...Bd5-g8 3.Sa4-c3 # 2...Bd5-f7 3.Sa4-c3 # 2...Bd5-e6 3.Sa4-c3 # 2...Bd5-a8 3.Sa4-c3 # 2...Bd5-b7 3.Sa4-c3 # 2...Bd5-c6 3.Sa4-c3 #" --- authors: - Dawson, Thomas Rayner source: Prager Presse date: 1933 algebraic: white: [Ke4, Qd3, Bb1] black: [Ka1, Pb5, Pb2, Pa4] stipulation: "#3" solution: | "1.Qd3-d1 ! zugzwang. 1...a4-a3 2.Bb1-c2 + 2...Ka1-a2 3.Bc2-b3 # 3.Qd1-b1 # 2...b2-b1=Q 3.Qd1*b1 # 2...b2-b1=S 3.Qd1*b1 # 2...b2-b1=R 3.Qd1*b1 # 2...b2-b1=B 3.Qd1*b1 # 1...b5-b4 2.Bb1-d3 + 2...Ka1-a2 3.Qd1*a4 # 2...b2-b1=Q 3.Qd1*b1 # 2...b2-b1=S 3.Qd1*b1 # 2...b2-b1=R 3.Qd1*b1 # 2...b2-b1=B 3.Qd1*b1 #" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1937 algebraic: white: [Kd7, Re5, Re1, Pd4, Pd3, Pd2] black: [Kg6] stipulation: "#3" solution: | "1.Re5-e2 ! threat: 2.Re2-g2 + 2...Kg6-h6 3.Re1-h1 # 2...Kg6-f6 3.Re1-f1 # 2...Kg6-f7 3.Re1-f1 # 2...Kg6-h7 3.Re1-h1 # 2...Kg6-h5 3.Re1-h1 # 2...Kg6-f5 3.Re1-f1 # 2.Re1-g1 + 2...Kg6-h6 3.Re2-h2 # 2...Kg6-f6 3.Re2-f2 # 2...Kg6-f7 3.Re2-f2 # 2...Kg6-h7 3.Re2-h2 # 2...Kg6-h5 3.Re2-h2 # 2...Kg6-f5 3.Re2-f2 # 1.Re1-g1 + ! 1...Kg6-h6 2.Kd7-e7 zugzwang. 2...Kh6-h7 3.Re5-h5 # 2.Kd7-d8 zugzwang. 2...Kh6-h7 3.Re5-h5 # 2.Kd7-c7 zugzwang. 2...Kh6-h7 3.Re5-h5 # 2.Kd7-d6 zugzwang. 2...Kh6-h7 3.Re5-h5 # 2.Kd7-c8 zugzwang. 2...Kh6-h7 3.Re5-h5 # 2.Kd7-e8 zugzwang. 2...Kh6-h7 3.Re5-h5 # 2.Kd7-e6 zugzwang. 2...Kh6-h7 3.Re5-h5 # 2.Kd7-c6 zugzwang. 2...Kh6-h7 3.Re5-h5 # 2.Re5-e2 threat: 3.Re2-h2 # 2.Re5-e3 threat: 3.Re3-h3 # 2.Re5-a5 zugzwang. 2...Kh6-h7 3.Ra5-h5 # 2.Re5-b5 zugzwang. 2...Kh6-h7 3.Rb5-h5 # 2.Re5-c5 zugzwang. 2...Kh6-h7 3.Rc5-h5 # 2.Re5-d5 zugzwang. 2...Kh6-h7 3.Rd5-h5 # 2.Re5-e7 zugzwang. 2...Kh6-h5 3.Re7-h7 # 2.Re5-g5 zugzwang. 2...Kh6-h7 3.Rg5-h5 # 3.Rg1-h1 # 2.Re5-f5 zugzwang. 2...Kh6-h7 3.Rf5-h5 # 2.d4-d5 zugzwang. 2...Kh6-h7 3.Re5-h5 # 2.Rg1-g4 zugzwang. 2...Kh6-h7 3.Re5-h5 # 2.Rg1-g3 zugzwang. 2...Kh6-h7 3.Re5-h5 # 2.Rg1-g2 zugzwang. 2...Kh6-h7 3.Re5-h5 # 1...Kg6-f6 2.Rg1-g2 zugzwang. 2...Kf6-f7 3.Re5-f5 # 2.Re5-e1 threat: 3.Re1-f1 # 2.Re5-e2 threat: 3.Re2-f2 # 2.Re5-e3 threat: 3.Re3-f3 # 2.Re5-a5 zugzwang. 2...Kf6-f7 3.Ra5-f5 # 2.Re5-b5 zugzwang. 2...Kf6-f7 3.Rb5-f5 # 2.Re5-c5 zugzwang. 2...Kf6-f7 3.Rc5-f5 # 2.Re5-d5 zugzwang. 2...Kf6-f7 3.Rd5-f5 # 2.Re5-e7 zugzwang. 2...Kf6-f5 3.Re7-f7 # 2.Re5-h5 zugzwang. 2...Kf6-f7 3.Rh5-f5 # 2.Re5-g5 zugzwang. 2...Kf6-f7 3.Rg5-f5 # 3.Rg1-f1 # 2.Rg1-g5 threat: 3.Re5-f5 # 2.Rg1-g4 zugzwang. 2...Kf6-f7 3.Re5-f5 # 2.Rg1-g3 zugzwang. 2...Kf6-f7 3.Re5-f5 # 1...Kg6-f7 2.Re5-f5 # 1...Kg6-h7 2.Re5-h5 #" --- authors: - Dawson, Thomas Rayner source: The Problemist date: 1938 algebraic: white: [Kb3, Ba2, Sd2] black: [Ka1, Pc5] stipulation: "#3" solution: | "1.Ba2-b1 ! zugzwang. 1...c5-c4 + 2.Kb3-c2 zugzwang. 2...c4-c3 3.Sd2-b3 #" keywords: - Model mates --- authors: - Dawson, Thomas Rayner source: British Chess Federation date: 1940 algebraic: white: [Kg6, Bg7, Pg5] black: [Kg8] stipulation: "#5" solution: | "1.Bg7-h6 ! zugzwang. 1...Kg8-h8 2.Kg6-f7 threat: 3.Bh6-g7 + 3...Kh8-h7 4.g5-g6 # 2...Kh8-h7 3.Bh6-f8 threat: 4.g5-g6 + 4...Kh7-h8 5.Bf8-g7 # 3...Kh7-h8 4.Bf8-g7 + 4...Kh8-h7 5.g5-g6 #" keywords: - Digits - Letters --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1943 algebraic: white: [Ka8, Qc8, Bg7] black: [Kd6, Pe7, Pd5] stipulation: "#2" solution: | "1...e5 2.Bf8# 1.Kb8?? zz 1...e6 2.Qc7# 1...e5 2.Bf8# but 1...d4! 1.Bd4?? zz 1...e5 2.Bc5# but 1...e6! 1.Kb7! (2.Qc6#) 1...e6 2.Qc7# 1...e5 2.Bf8#" --- authors: - Dawson, Thomas Rayner source: Rochester Chatham & Gillingham Journal date: 1947 algebraic: white: [Kh8, Rf7, Re4] black: [Kg3] stipulation: "#3" solution: | "1.Re4-e8 ! threat: 2.Re8-g8 + 2...Kg3-h3 3.Rf7-h7 # 2...Kg3-h4 3.Rf7-h7 # 2...Kg3-h2 3.Rf7-h7 #" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1947 algebraic: white: [Kh5, Qf5, Bc5] black: [Ka5] stipulation: "#2" solution: | "1.Qb1! zz 1...Ka4 2.Qb4# 1...Ka6 2.Qb6#" keywords: - Flight taking key - Model mates - No pawns --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1947 algebraic: white: [Kg4, Qf4, Sd4] black: [Ka4] stipulation: "#2" solution: | "1.Qb8! zz 1...Ka3 2.Qb3# 1...Ka5 2.Qb5#" keywords: - Flight taking key - Model mates - No pawns --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1948 algebraic: white: [Kb8, Qb7, Sd5, Pg5] black: [Ke8, Rh8, Sc8] stipulation: "#2" solution: | "1...Kd8 2.Qxc8# 1...Nd6/Ne7/Nb6/Na7 2.Qe7# 1.Nf6+?? 1...Kd8 2.Qc7#/Qd7# but 1...Kf8! 1.g6! (2.Qxc8#) 1...Kf8 2.Qf7# 1...O-O 2.Qh7# 1...Nd6/Ne7/Nb6/Na7 2.Qe7#" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1951 algebraic: white: [Kg7, Qe3, Ph3, Pg5, Pg4] black: [Kh4, Pa4] stipulation: "#3" solution: | "1.Qe3-a3 ! zugzwang. 1...Kh4*g5 2.Qa3-g3 threat: 3.h3-h4 #" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1935 algebraic: white: [Ka1, Qa2, Re8, Rc8, Bf8, Ba8, Sg5, Sb8, Pf7, Pf4, Pb4, Pb3] black: [Kd4, Qb7, Rf5, Rb5, Bg2, Se3, Sc3, Pd3] stipulation: "#2" solution: | "1...Kd5 2.Red8#/Rcd8# 1...d2 2.Qxd2# 1...Ned5 2.Rc4# 1...Qxb8/Qa7/Qc7/Qf3 2.Ne6# 1.Rc4+?? 1...Kd5 2.Rd8# but 1...Nxc4! 1.Red8+?? 1...Rfd5 2.Bg7# 1...Rbd5 2.Bc5# 1...Ncd5 2.Qb2# 1...Qd7 2.Ne6# 1...Qd5 2.Nc6# 1...Ned5 2.Qf2# but 1...Bd5! 1.Rcd8+! 1...Rfd5 2.Bg7# 1...Rbd5 2.Bc5# 1...Ned5 2.Qf2# 1...Bd5 2.Nf3# 1...Qd7 2.Ne6# 1...Qd5 2.Nc6# 1...Ncd5 2.Qb2#" keywords: - Checking key - Defences on same square - Flight taking key - Plachutta --- authors: - Dawson, Thomas Rayner source: The Problemist date: 1936 algebraic: white: [Kc8, Qg1, Rh1, Ba3, Sd6, Sc7, Pe5, Pb7, Pa4] black: [Kc6, Rb3, Bd2, Sa6, Ph7] stipulation: "#2" solution: | "1...Rb5 2.axb5# 1...Rb6 2.Qg2# 1...Nb4 2.b8N# 1...Nb8/Nc5/Nxc7 2.Qc5# 1.Ndb5?? (2.Na7#) 1...Rxb5 2.axb5# 1...Re3 2.Rh6# 1...Nc5/Nxc7 2.Qxc5# but 1...Be3! 1.b8N+?? 1...Nxb8 2.Qc5# but 1...Rxb8+! 1.Nc4! zz 1...Rb2/Rb1/Rxb7/Be3 2.Qg2# 1...Rb4/Bf4/Bg5/Bc1 2.Na5# 1...Rb5 2.axb5# 1...Rb6 2.Qg2#/Qxb6# 1...Rxa3/Rd3/Rf3/Rg3/Rh3/Bb4 2.Qb6# 1...Rc3 2.Na5#/Qb6# 1...Re3/Be1 2.Rh6# 1...h6/h5 2.Qg6# 1...Nb4 2.Na5#/Qb6#/b8N# 1...Nb8/Nc5/Nxc7 2.Qc5# 1...Bh6/Ba5 2.Na5#/Rxh6# 1...Bc3 2.Rh6#/Qg2#" keywords: - Black correction - Grimshaw comments: - Version of 87210 --- authors: - Dawson, Thomas Rayner source: Western Daily Mercury date: 1913 distinction: 1st Prize algebraic: white: [Ke1, Qc2, Rg7, Bh4, Bg8, Sg4, Sb8] black: [Kd6, Ra7, Ra6, Bh2, Bc8, Pa5] stipulation: "#2" solution: | "1...Rc6[a] 2.Qxc6#[A] 1...Rc7[b] 2.Qxc7#[B] 1...Ra8 2.Be7#/Qc7#[B] 1...Rd7 2.Rg6# 1...Re7+/Bd7 2.Bxe7# 1...Bb7 2.Be7#/Qc7#[B]/Rg6#/Rd7# 1...Bg1/Bg3+ 2.Bg3# 1.Rc7?? (2.Be7#/Qc5#/Qxh2#[C]) 1...Rc6[a] 2.Qxc6#[A]/Rxc6# 1...Bd7/Bxg4 2.Qc5#/Qxh2#[C] 1...Be6 2.Qc5# 1...Bg1 2.Bg3#/Be7# 1...Bg3+ 2.Bxg3# 1...Bf4/Be5 2.Be7#/Qc5# but 1...Rxc7[b]! 1.Nd7! (2.Qc5#) 1...Rc6[a] 2.Qxh2#[C] 1...Rc7[b] 2.Qg6#[D] 1...Bxd7 2.Be7# 1...Bg1/Bg3+ 2.Bg3# 1...Rxd7 2.Rg6#" keywords: - Active sacrifice - Grimshaw - Changed mates - Novotny --- authors: - Dawson, Thomas Rayner source: Falkirk Herald date: 1914 algebraic: white: [Ke5, Rb2, Se4, Sc6, Pg6, Pg5, Pe7, Pe6, Pc5, Pa4, Pa3, Pa2] black: [Ke8, Ba1, Pg7, Pf5, Pf4, Pd5, Pd4, Pc7, Pb7, Pa7] stipulation: "#2" solution: | "1.Rxb7?? (2.Rb8#) but 1...d3+!" keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1946 algebraic: white: [Ke6, Qg5, Rc2, Be2, Se4, Sd3, Pf3, Pc5] black: [Kd4, Qg1, Bd8, Sg4, Sa4, Pc6] stipulation: "#2" solution: | "1...Nxc5+[a] 2.Qxc5#[A] 1...Qe3[b] 2.Qxd8#[B] 1...Nh2/Nh6/Nf6/Ne5 2.Qxg1# 1...Ne3 2.Qe5# 1.Qd2? (2.Ne1#/Ne5#/Ndf2#/Nf4#/Nc1#/Nb2#/Nb4#) 1...Nxc5+[a] 2.Ndxc5#[C] 1...Qe3[b] 2.Qb4#[D] 1...Nb2 2.Nxb2# 1...Bg5 2.Nf4# 1...Ba5 2.Nb4# 1...Qe1 2.Nxe1# 1...Qc1 2.Nxc1# 1...Nf2 2.Ndxf2# 1...Ne5 2.Nxe5# but 1...Qd1! 1.Nb4?? (2.Qd2#/Rc4#/Rd2#/Nxc6#) 1...Nxc5+[a] 2.Qxc5#[A] 1...Qe3[b] 2.Nxc6#/Rc4#/Qxd8#[B] 1...Nb2/Qc1 2.Nxc6# 1...Nb6/Nc3 2.Nxc6#/Rd2#/Qd2# 1...Nf2/Qe1/Qd1 2.Nxc6#/Rc4# 1...Ne3 2.Nxc6#/Rd2#/Qe5# 1...Ne5 2.Qxg1# 1...Qb1 2.Nxc6#/Rc4#/Qd2# but 1...Bxg5! 1.Qf4! (2.Nef2#/Nf6#/Ng3#/Ng5#/Nd2#/Nd6#/Nc3#) 1...Nxc5+[a] 2.Nexc5#[E] 1...Qe3[b] 2.Qd6#[F] 1...Nc3 2.Nxc3# 1...Bg5 2.Nxg5# 1...Bc7 2.Nd6# 1...Nf2 2.Nexf2# 1...Nf6 2.Nxf6# 1...Qg3/Qh2 2.Nxg3# 1...Qc1 2.Nd2#" keywords: - Fleck - Karlstrom-Fleck - Zagoruiko comments: - Version of 221813 --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1938 algebraic: white: [Kh4, Rh2, Rb2, Bh7, Pf3, Pe2] black: [Ke1, Rd8, Ba8, Ba7, Ph5, Pd4] stipulation: "#2" solution: | "1...Kd1 2.Rh1# 1...Kf1 2.Rb1# 1.e3?? (2.Rb1#/Rh1#) 1...Rc8/Rb8/Be4/dxe3 2.Rh1# 1...Rg8 2.Rb1# but 1...Bxf3! 1.e4! (2.Rb1#/Rh1#) 1...Rc8/Rb8/Bxe4/dxe3 e.p. 2.Rh1# 1...Rg8/d3 2.Rb1#" --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times date: 1915-09-12 algebraic: white: [Kb7, Se6, Sd8, Pc3, Pb3] black: [Kb5] stipulation: "#3" options: - SetPlay solution: | "1. ... Kb5-a5 2. Sd8-c6+ Ka5-b5 3. c3-c4# 1. Kb7-a7! Kb5-a5 2. Sd8-b7+ Ka5-b5 3. Se6-d4#" comments: - compare 126694 --- authors: - Dawson, Thomas Rayner source: Deutsches Wochenschach date: 1914 algebraic: white: [Ke7, Rf7, Rd7] black: [Kg3] stipulation: "#3" solution: | "1.Rd7-d8 ! threat: 2.Rd8-g8 + 2...Kg3-h3 3.Rf7-h7 # 2...Kg3-h4 3.Rf7-h7 # 2...Kg3-h2 3.Rf7-h7 #" --- authors: - Dawson, Thomas Rayner source: Pittsburgh Sun date: 1921 algebraic: white: [Kd4, Sg7, Sg1, Ph5, Ph3, Pg2] black: [Kf4, Sg5, Ph6] stipulation: "h#2" solution: | "1. ... Se2! 1. Se4 g4 2. Sg3 Se6#" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1941 algebraic: white: [Kg3, Qd8] black: [Kg5, Ph7, Pg7, Pg6, Pf6] stipulation: "#2" solution: | "1...Kf5 2.Qd5# 1.Qd2+?? 1...Kf5 2.Qd5# but 1...Kh5! 1.Qd4! zz 1...Kf5 2.Qd5# 1...Kh5/Kh6/f5 2.Qh4# 1...h6 2.Qg4# 1...h5 2.Qf4#" --- authors: - Dawson, Thomas Rayner source: British Chess Federation date: 1940 algebraic: white: [Kg6, Bg7, Pf4] black: [Kg8] stipulation: "#5" solution: | "1.Bg7-h6 ! threat: 2.f4-f5 threat: 3.f5-f6 threat: 4.f6-f7 + 4...Kg8-h8 5.f7-f8=Q # 5.f7-f8=R # 5.Bh6-g7 # 3...Kg8-h8 4.Bh6-g7 + 4...Kh8-g8 5.f6-f7 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation date: 1940 algebraic: white: [Kg6, Bg5, Pf4] black: [Kg8] stipulation: "#5" solution: | "1.Bg5-h6 ! threat: 2.f4-f5 threat: 3.f5-f6 threat: 4.f6-f7 + 4...Kg8-h8 5.f7-f8=Q # 5.f7-f8=R # 5.Bh6-g7 # 3...Kg8-h8 4.Bh6-g7 + 4...Kh8-g8 5.f6-f7 #" --- authors: - Dawson, Thomas Rayner source: British Chess Problem Society date: 1937 distinction: 1st Prize algebraic: white: [Ka8, Rb3, Bb6, Pa4] black: [Ka6, Rh7, Sh8, Pg7, Pf7, Pe4] stipulation: "#3" solution: | "1.Bb6-d8 ! threat: 2.Rb3-b7 threat: 3.Rb7-a7 # 1...f7-f5 2.Rb3-b5 threat: 3.Rb5-a5 # 1...f7-f6 2.Rb3-c3 threat: 3.Rc3-c6 # 1...g7-g5 2.Rb3-b5 threat: 3.Rb5-a5 # 1...g7-g6 2.Rb3-c3 threat: 3.Rc3-c6 #\\" comments: - Check also71525 --- authors: - Dawson, Thomas Rayner source: Daily Mercury date: 1919 distinction: 1st Prize algebraic: white: [Kb1, Qg4, Bd7, Sd5, Ph3, Pe4, Pe3] black: [Kd1, Qe2, Rg1, Rf1, Bh1, Be1, Sb2, Sa4, Ph4, Pg5, Pg2, Pf2, Pe5, Pd3, Pd2] stipulation: "#3" solution: | "1.Qg4-f5 ! threat: 2.Qf5-g4 zugzwang. 2...Sb2-c4 3.Bd7*a4 # 2...Qe2*g4 3.Bd7*g4 # 2...Qe2-f3 3.Qg4*f3 # 2...Sa4-c3 + 3.Sd5*c3 # 2...Sa4-c5 3.Sd5-c3 # 2...Sa4-b6 3.Sd5-c3 #" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1937-10 algebraic: white: [Kd7, Re5, Re1, Pd4, Pd3, Pd2] black: [Kg6, Pg2] stipulation: "#3" solution: | "1.Re5-e2 ! threat: 2.Re2*g2 + 2...Kg6-h6 3.Re1-h1 # 2...Kg6-f6 3.Re1-f1 # 2...Kg6-f7 3.Re1-f1 # 2...Kg6-h7 3.Re1-h1 # 2...Kg6-h5 3.Re1-h1 # 2...Kg6-f5 3.Re1-f1 # 1...g2-g1=Q 2.Re1*g1 + 2...Kg6-h6 3.Re2-h2 # 2...Kg6-f6 3.Re2-f2 # 2...Kg6-f7 3.Re2-f2 # 2...Kg6-h7 3.Re2-h2 # 2...Kg6-h5 3.Re2-h2 # 2...Kg6-f5 3.Re2-f2 # 1...g2-g1=S 2.Re1*g1 + 2...Kg6-h6 3.Re2-h2 # 2...Kg6-f6 3.Re2-f2 # 2...Kg6-f7 3.Re2-f2 # 2...Kg6-h7 3.Re2-h2 # 2...Kg6-h5 3.Re2-h2 # 2...Kg6-f5 3.Re2-f2 # 1...g2-g1=R 2.Re1*g1 + 2...Kg6-h6 3.Re2-h2 # 2...Kg6-f6 3.Re2-f2 # 2...Kg6-f7 3.Re2-f2 # 2...Kg6-h7 3.Re2-h2 # 2...Kg6-h5 3.Re2-h2 # 2...Kg6-f5 3.Re2-f2 # 1...g2-g1=B 2.Re1*g1 + 2...Kg6-h6 3.Re2-h2 # 2...Kg6-f6 3.Re2-f2 # 2...Kg6-f7 3.Re2-f2 # 2...Kg6-h7 3.Re2-h2 # 2...Kg6-h5 3.Re2-h2 # 2...Kg6-f5 3.Re2-f2 #" --- authors: - Dawson, Thomas Rayner source: Magyar Sakkvilág source-id: 5/20 date: 1922-05-01 algebraic: white: [Ka4, Bb4, Sg7, Se7, Pe3, Pd6, Pc5, Pc4, Pc3, Pa5, Pa3] black: [Kd8, Sb8, Pe5, Pe4, Pd7, Pc6, Pa6] stipulation: "#18" solution: "1.Sg7-f5 Kd8-e8 2.Sf5-h6 Ke8-f8 3.Se7-f5 Kf8-e8 4.Ka4-b3 Ke8-d8 5.Sf5-e7 Kd8-e8 6.a3-a4 Ke8-f8 7.Se7-f5 Kf8-e8 8.Bb4-a3 Ke8-d8 9.Sf5-e7 Kd8-e8 10.Ba3-c1 Ke8-f8 11.Se7-f5 Kf8-e8 12.Bc1-d2 Ke8-d8 13.Sf5-e7 Kd8-e8 14.Bd2-e1 Ke8-d8 15.Be1-h4 Kd8-e8 16.Se7-f5 Ke8-f8 17.Bh4-e7+ Kf8-e8 18.Sf5-g7#" comments: - dedicated to O.T.Bláthy --- authors: - Dawson, Thomas Rayner source: algebraic: white: [Kc1, Rb2, Bb1, Ph4, Pg6, Pd3, Pa3] black: [Kh8, Re4, Rd5, Bb5, Ba1, Sf1, Sc6, Pg7, Pf6, Pe2, Pc2, Pb7, Pb3, Pa4] stipulation: "#4" solution: --- authors: - Dawson, Thomas Rayner source: Cas date: 1921-05-22 algebraic: white: [Kh2, Bg8, Ba1, Se6, Ph7, Pg3] black: [Kh8, Rg7, Re7, Pg6, Pg4, Pa6, Pa5, Pa2] stipulation: "#7" solution: 1.Se6-f4 ! --- authors: - Dawson, Thomas Rayner source: algebraic: white: [Kh6, Re4, Sh4, Ph7, Ph2, Pe2, Pd2, Pc2, Pb2, Pa7] black: [Kf1, Rg7, Rb7, Bh8, Ba8, Sc8, Pg6, Pf2, Pb4, Pa2] stipulation: "#5" solution: --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1947 algebraic: white: [Kf6, Qd2, Sh2, Se7, Pc7, Pc5] black: [Ke4, Ra8, Bb8, Sa7, Pg2, Pc6] stipulation: "#2" solution: | "1.cxb8Q?? (2.Qbb4#/Qb1#/Qe5#/Qbf4#) 1...Nb5/g1Q 2.Qe5#/Qbf4# 1...g1R 2.Qbb4#/Qe5#/Qbf4# 1...g1B 2.Qb1#/Qe5#/Qbf4# but 1...Rxb8! 1.Qd3+?? 1...Kf4 2.Ng6#/Qf3# but 1...Kxd3! 1.Qe2+?? 1...Kf4 2.Qe5#/Qf3# but 1...Kd4! 1.Nf5! (2.Ng3#/Nd6#/Qd4#) 1...Bxc7 2.Qd4# 1...Nb5 2.Ng3# 1...Nc8 2.Qd4#/Ng3# 1...g1Q 2.Nd6# 1...g1R 2.Qd4#/Nd6# 1...g1B 2.Ng3#/Nd6#" keywords: - Fleck --- authors: - Dawson, Thomas Rayner source: Tijdschrift vd NSB date: 1924 algebraic: white: [Ka1, Rh3, Rb3, Bb1, Sc8, Sc5, Pg6, Pe2, Pd7, Pd6, Pd2, Pb2, Pa4, Pa2] black: [Kb8, Qa8, Pg7, Pb7] stipulation: "r#2" solution: | "1.Bb1-f5 ! zugzwang. 1...Qa8*a4 2.Rb3-d3 2...Qa4-d1 # 1...b7-b5 2.Rh3-d3 2...Qa8-h1 # 1...b7-b6 2.Rh3-d3 2...Qa8-h1 # 1...Qa8-a5 2.d2-d3 2...Qa5-e1 # 1...Qa8-a6 2.e2-e4 2...Qa6-f1 # 1...Qa8-a7 2.Sc5-e4 2...Qa7-g1 #" --- authors: - Dawson, Thomas Rayner source: date: 1909 algebraic: white: [Kg6, Qc2, Rb5, Sg5, Sb4, Pf2, Pd3] black: [Kd4, Bc5, Sh2, Pf4, Pf3, Pe6, Pd6, Pc3, Pb6] stipulation: "#2" solution: | "1...Ke5[a] 2.Qxc3#[A] 1...Bxb4[b]/e5 2.Nxe6#[C] 1...Ng4/Nf1 2.Nxf3# 1...d5 2.Nc6#[B] 1.Kg7?? zz 1...Bxb4[b]/e5 2.Nxe6#[C] 1...d5 2.Nc6#[B] 1...Ng4/Nf1 2.Nxf3# but 1...Ke5[a]! 1.Kf6?? (2.Nxe6#[C]) but 1...Ng4+! 1.Kh5?? zz 1...Bxb4[b]/e5 2.Nxe6#[C] 1...Ng4/Nf1 2.Nxf3# 1...d5 2.Nc6#[B] but 1...Ke5[a]! 1.Kh7?? zz 1...e5/Bxb4[b] 2.Ne6#[C] 1...Ng4/Nf1 2.Nxf3# 1...d5 2.Nc6#[B] but 1...Ke5[a]! 1.Kf7?? zz 1...Bxb4[b]/e5 2.Nxe6#[C] 1...Ng4/Nf1 2.Nxf3# 1...d5 2.Nc6#[B] but 1...Ke5[a]! 1.Ne4?? (2.Qxc3#[A]) but 1...Bxb4[b]! 1.Qc1?? (2.Qxf4#) 1...Ke5[a] 2.Qxc3#[A] 1...c2 2.Qa1#/Qb2# 1...e5 2.Ne6#[C] but 1...Bxb4[b]! 1.Qa2? zz 1...Ke5[a] 2.Nc6#[B] 1...Bxb4[b] 2.Qc4#[D] 1...Ng4/Nf1 2.Nxf3# 1...e5 2.Ne6#[C]/Qc4#[D]/Qd5# 1...c2 2.Qa1#/Qb2# but 1...d5! 1.Qb1?? zz 1...Bxb4[b]/e5 2.Nxe6#[C] 1...Ng4/Nf1 2.Nxf3# 1...d5 2.Nc6#[B] 1...c2 2.Qb2#/Qa1# but 1...Ke5[a]! 1.Qb3?? zz 1...Ke5[a] 2.Qxc3#[A]/Nc6#[B] 1...Bxb4[b] 2.Qc4#[D] 1...Ng4/Nf1 2.Nxf3# 1...e5 2.Ne6#[C]/Qc4#[D]/Qd5# 1...c2 2.Qb2#/Nc6#[B] but 1...d5! 1.Qd1! zz 1...Ke5[a] 2.d4#[E] 1...Bxb4[b]/e5 2.Nxe6#[C] 1...Ng4/Nf1 2.Nxf3# 1...d5 2.Nc6#[B] 1...c2 2.Qa1#" keywords: - Mutate - Changed mates --- authors: - Dawson, Thomas Rayner source: date: 1912 algebraic: white: [Kf3, Qf6, Sb2, Pg4, Pe2, Pb4, Pa3] black: [Kd5, Pg5, Pf7, Pd4, Pb5] stipulation: "#2" solution: | "1.Sb2-d1 ! zugzwang. 1...d4-d3 2.Sd1-e3 # 1...Kd5-c4 2.Qf6*f7 #" keywords: - Model mates - Mutate - Flight giving key --- authors: - Dawson, Thomas Rayner source: date: 1912 algebraic: white: [Kh8, Qg7, Re3, Bg1, Se7, Sc5, Pe5] black: [Kf4, Rh4, Rh3, Bd5, Ph5, Pg3, Pg2, Pe6, Pc6, Pc4] stipulation: "#2" solution: | "1...c3 2.Nd3# 1...Rg4 2.Qf6# 1...Rh2/Rh1 2.Qxg3# 1...Be4/Bf3 2.Nxe6# 1.Kh7?? zz 1...c3 2.Nd3# 1...Rg4 2.Qf6# 1...Rh2/Rh1 2.Qxg3# 1...Bf3 2.Nxe6# but 1...Be4+! 1.Kg8?? zz 1...c3 2.Nd3# 1...Rh2/Rh1 2.Qxg3# 1...Be4/Bf3 2.Nxe6# but 1...Rg4! 1.Qg6?? zz 1...Rh2/Rh1 2.Qxg3# 1...c3 2.Nd3# 1...Rg4 2.Qf6# 1...Bf3 2.Nxe6# but 1...Be4! 1.Ne4?? (2.Qg5#) 1...Rg4 2.Qf6# but 1...Bxe4! 1.Ra3?? zz 1...Rg4 2.Qf6# 1...Rh2/Rh1 2.Qxg3# 1...Be4 2.Nxe6# 1...Bf3 2.Be3# but 1...c3! 1.Rc3! zz 1...Rg4 2.Qf6# 1...Rh2/Rh1 2.Qxg3# 1...Be4 2.Nxe6# 1...Bf3 2.Be3#" keywords: - Mutate --- authors: - Dawson, Thomas Rayner source: date: 1913 algebraic: white: [Kh7, Rb7, Ra7, Bg8, Sh8, Sg7, Ph6, Pf4, Pe4, Pb4] black: [Kd6, Rf8, Rd8, Pf7, Pc6] stipulation: "#2" solution: | "1...c5[a] 2.Ra6#[A]/Rb6# 1...Rfe8/Rxg8[b] 2.Nxf7#[B] 1...f6[c] 2.Nf5#[C] 1...f5[d] 2.e5#[D] 1...Rd7/Rc8/Rb8/Ra8/Rde8 2.Rxd7# 1.Bxf7? (2.Nf5#[C]/e5#[D]) 1...c5[a] 2.Ra6#[A]/Rb6# 1...Rd7/Rde8 2.Nf5#[C]/Rxd7# 1...Rxf7 2.Nxf7#[B] 1...Rfe8 2.Nf5#[C] but 1...Rxh8+! 1.Ra3?? (2.Rd3#) 1...c5[a] 2.Ra6#[A] but 1...Rd7! 1.Ra2?? (2.Rd2#) 1...c5[a] 2.Ra6#[A] but 1...Rd7! 1.Ra1?? (2.Rd1#) 1...c5[a] 2.Ra6#[A] but 1...Rd7! 1.Re7?? (2.Nf5#[C]) 1...f5[d] 2.e5#[D]/Re6# but 1...c5[a]! 1.Rxf7? zz 1...c5[a] 2.Ra6#[A] 1...Rxg8[b] 2.Rf6#[E] 1...Rxf7 2.Nxf7#[B] 1...Rd7/Rc8/Rb8/Ra8/Rde8 2.Raxd7#/Rfxd7# but 1...Rfe8! 1.Rc7[F]! zz 1...c5[a] 2.bxc5#[G] 1...Rfe8/Rxg8[b] 2.Nxf7#[B] 1...f6[c] 2.Nf5#[C] 1...f5[d] 2.e5#[D] 1...Rd7/Rc8/Rb8/Ra8/Rde8 2.Rxd7#" keywords: - Mutate - Changed mates - Rudenko --- authors: - Dawson, Thomas Rayner source: The Puzzler date: 1934 algebraic: white: [Kd7, Rb4, Bh8, Bb1, Sf8, Sa6, Ph5, Pf5, Pe4, Pd2, Pc4, Pb5, Pa2] black: [Kd4, Qb8, Rb7, Ra8, Ba7, Ph7, Pg6, Pf7, Pe5, Pc7, Pb6, Pa5, Pa4] stipulation: "#2" solution: "1...f6 2.Ne6#" keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: algebraic: white: [Kg4, Qh1, Be8, Sf8, Sf5, Pg6, Pf3, Pe4, Pd5] black: [Ke5, Qa7, Rc8, Rb6, Bg3, Ba4, Pg5, Pb7, Pb4] stipulation: "#2" solution: | "1...Kf6/Bc6 2.Qh8# 1...Rb5 2.Qh8#/Nd7# 1...Rbc6/Rcc6/Bb3/Bc2/Bd1/Bd7 2.Nd7# 1...Rb8/Ra8/Rd8/Rxe8 2.Qa1# 1.Bc6! (2.Qh8#/Qa1#/Nd7#) 1...Kf6/Bxc6 2.Qh8# 1...bxc6/Rc7/Rxf8 2.Qa1# 1...b3/Rb5/Ra6/Bb3/Bc2/Bd1/Bb5/Bf2/Be1 2.Qh8#/Nd7# 1...Rbxc6/Rcxc6 2.Nd7# 1...Rd8 2.Qh8#/Qa1# 1...Bh2/Bh4 2.Qa1#/Nd7#" keywords: - Defences on same square - Fleck - Grimshaw - Novotny --- authors: - Dawson, Thomas Rayner source: Eskilstuna-Kuriren date: 1921 algebraic: white: [Kg8, Qg4, Rg5, Ra5, Bg1, Sb5, Sb1, Pe7, Pc2, Pa3] black: [Kc4, Qa7, Rh4, Re4, Bf4, Bf1, Sb8, Ph6, Pg3, Pc6, Pb7, Pb6, Pa4] stipulation: "#2" solution: | "1...Re3[a]/Bc7 2.Nd2#[A] 1...Re2/Re5[b]/Bxg5[b]/Bc1 2.Nd6#[B] 1...Re1/Rxe7/Bd2/Bd6 2.Nd2#[A]/Nd6#[B] 1...Re6 2.Nd2#[A]/Qxe6# 1...Be5 2.Qe6# 1.Qxf4? (2.Nd2#[A]/Nd6#[B]) 1...hxg5/Qxa5 2.Nd6#[B] 1...Rh2 2.Nd6#[B]/Qxe4# but 1...cxb5! 1.Qf3[C]! (2.Qc3#/Qxe4#) 1...Re3[a] 2.Nd2#[A] 1...Bxg5[b]/Re5[b] 2.Nd6#[B] 1...Be3 2.Qxf1# 1...Bd2 2.Nxd2#[A]/Nd6#[B] 1...Bc1 2.Qc3#/Nd6#[B] 1...Be5 2.Qf7# 1...Bd6 2.Nd2#[A]/Qc3#/Nxd6#[B] 1...Bc7 2.Nd2#[A]/Qc3# 1...Bg2/Re2 2.Qd3#/Qc3# 1...Bd3 2.Qxd3# 1...Re1/Re6/Rxe7/Rd4/bxa5 2.Qc3# 1...hxg5/Qxa5 2.Qxe4#" keywords: - Grimshaw - Rudenko --- authors: - Dawson, Thomas Rayner source: Indian Chess Magazine date: 1922 algebraic: white: [Kb8, Qb2, Rc7, Ra5, Bb3, Sa3] black: [Kd6, Qh1, Rh5, Rh4, Bg2, Be1, Sg8, Ph6, Ph3, Pe6, Pb4] stipulation: "#2" solution: | "1...Bd5[a]/Rb5+[a]/e5[c] 2.Nb5#[A] 1...Re5[b] 2.Qxe5#[B] 1...Be4/Rc4 2.Nc4# 1...Rd5/Re4 2.Ra6# 1.Rf5? (2.Qe5#[B]/Nb5#[A]) 1...Qh2/Re4/Rd4/Bg3/Bc3/exf5 2.Nb5#[A] 1...Qf1/bxa3/Bf1/Bc6 2.Qe5#[B] but 1...Rxf5! 1.Rg5? (2.Qe5#[B]/Nb5#[A]) 1...hxg5/Qh2/Re4/Rd4/Bg3/Bc3 2.Nb5#[A] 1...Qf1/bxa3/Bf1/Bc6 2.Qe5#[B] but 1...Rxg5! 1.Rxh5? (2.Qe5#[B]/Nb5#[A]) 1...Qh2/Re4/Rd4/Bg3/Bc3 2.Nb5#[A] 1...Qf1/bxa3/Bf1/Bc6 2.Qe5#[B] but 1...Rxh5! 1.Qd4+?? 1...Bd5[a]/Rd5 2.Ra6#/Nb5#[A]/Nc4# but 1...Rxd4! 1.Qf6?? (2.Qxe6#/Qd8#) 1...Bd5[a]/Rb5+[a] 2.Nb5#[A] 1...Re5[b] 2.Qxe5#[B]/Qd8# 1...Ne7 2.Qxe6#/Qxe7# 1...Bc6/Rc5/Rxa5 2.Qxe6# 1...Re4 2.Ra6#/Qd8# 1...Rc4 2.Qd8#/Nxc4# 1...Rd5 2.Ra6# but 1...Nxf6! 1.Qe2[C]! (2.Qxe6#) 1...e5[c]/Rb5+[a]/Bd5[a] 2.Nb5#[A] 1...Re5[b] 2.Qxe5#[B] 1...Re4 2.Qa6# 1...Rc4/Be4 2.Nxc4# 1...Rd5 2.Ra6#" keywords: - Grimshaw - Rudenko --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1939 algebraic: white: [Ka2, Qg8, Rb4, Be3, Bd1, Sg4, Sd2, Ph5] black: [Kf5, Rf1, Rc7, Bh8, Bb7, Sd8, Pf6, Pd5] stipulation: "#2" solution: | "1...Rc6/Bc8/Ba6 2.Qxd5# 1...Rc2+/Rd7/Rg7/Rh7/Nc6/Bc6 2.Bxc2# 1...Rf4/Re1/Rxd1/Rg1/Rh1 2.Rxf4# 1...Ne6 2.Qg6# 1.Rb6! (2.Qg6#) 1...Bc6/Rc2+/Nc6 2.Bc2# 1...Rc6 2.Qxd5# 1...Rg7 2.Rxf6# 1...Bg7 2.Qh7#" keywords: - Grimshaw --- authors: - Dawson, Thomas Rayner source: Springbok date: 1940 algebraic: white: [Kd1, Rf5, Bc8, Bc5, Sh6, Sg4, Pc2] black: [Ke4, Sh3, Pe7, Pc6] stipulation: "#2" solution: | "1...Ng1/Ng5/Nf2+ 2.Nf2#[A] 1...e6/e5 2.Nf6#[B] 1.Bd7?? (2.Bxc6#) 1...Nf2+ 2.Nxf2#[A] but 1...Nf4! 1.Be6?? zz 1...Ng1/Ng5/Nf2+ 2.Nf2#[A] but 1...Nf4! 1.Bb7?? (2.Bxc6#) 1...Nf2+ 2.Nxf2#[A] but 1...Nf4! 1.Ba6? (2.Bd3#) 1...e5 2.Nf6#[B] 1...Nf2+ 2.Nxf2#[A] but 1...Nf4! 1.Kd2? zz 1...e6/e5 2.Nf6#[B] 1...Ng1/Ng5/Nf2 2.Nf2#[A] but 1...Nf4! 1.Kc1? zz 1...e6/e5 2.Nf6#[B] 1...Ng1/Ng5/Nf2 2.Nf2#[A] but 1...Nf4! 1.Ke1? zz 1...e6/e5 2.Nf6#[B] 1...Ng1/Ng5/Nf2 2.Nf2#[A] but 1...Nf4! 1.Nf7! zz 1...e6 2.Nd6# 1...e5 2.Nf6#[B] 1...Ng1/Ng5 2.Ng5#/Nf2#[A] 1...Nf2+ 2.Nxf2#[A] 1...Nf4 2.Ng5#" keywords: - Transferred mates --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1907 algebraic: white: [Kd8, Qc1, Rf6, Re5, Bg7, Bd5, Pf3, Pe7, Pd2, Pb4] black: [Kd4, Rf5, Re6, Bb1, Ba1, Sa6, Pf4, Pd3, Pb5] stipulation: "#2" solution: | "1...Bb2 2.Qxb2# 1...Bc3 2.Qxc3# 1...Bc2/Ba2 2.Qxa1# 1...Rg5/Rh5 2.Rxf4#[A] 1.Bxe6? (2.Re4#) 1...Nc5 2.Qxc5#[B] 1...Rxe5 2.Rxf4#[A] but 1...Kxe5! 1.Ba2? zz 1...Kxe5 2.Rxe6# 1...Bb2 2.Qxb2# 1...Bc3 2.Qxc3# 1...Nxb4/Nb8/Nc5/Nc7 2.Qc5#[B] 1...Bc2 2.Qxa1# 1...Rexe5/Rxe7/Rd6+ 2.Rd6# 1...Rc6/Rb6/Rexf6 2.Re4# 1...Rfxf6 2.Rd5# 1...Rfxe5/Rg5/Rh5 2.Rxf4#[A] but 1...Bxa2! 1.Qc4+?? 1...Kxe5 2.Rxe6# but 1...bxc4! 1.Qc5+[B]?? 1...Kxe5 2.Rxe6# but 1...Nxc5! 1.Bb3! zz 1...Kxe5 2.Rxe6# 1...Nxb4/Nb8/Nc5/Nc7 2.Qc5#[B] 1...Bb2 2.Qxb2# 1...Bc3 2.Qxc3# 1...Bc2/Ba2 2.Qxa1# 1...Rexe5/Rxe7/Rd6+ 2.Rd6# 1...Rc6/Rb6/Rexf6 2.Re4# 1...Rfxf6 2.Rd5# 1...Rfxe5/Rg5/Rh5 2.Rxf4#[A]" keywords: - Defences on same square - Transferred mates - Plachutta --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1908 algebraic: white: [Kc6, Qh1, Rg5, Ba1, Sd5, Sa5, Pe2, Pc5] black: [Ke5, Qd4, Bh2, Bf5, Pf4, Pe3, Pc7, Pa2] stipulation: "#3" solution: | "1.Sa5-b7 ! zugzwang. 1...Ke5-e6 2.Qh1-e4 + 2...Qd4-e5 3.Sb7-d8 # 2...Qd4*e4 3.Sb7-d8 # 2...Bf5*e4 3.Sb7-d8 # 2...Ke6-f7 3.Qe4-e7 # 1...Bh2-g1 2.Qh1-h8 + 2...Ke5-e6 3.Sb7-d8 # 3.Qh8-e8 # 2...Ke5-e4 3.Qh8*d4 # 1...Bh2-g3 2.Qh1-h8 + 2...Ke5-e6 3.Qh8-e8 # 3.Sb7-d8 # 2...Ke5-e4 3.Qh8*d4 # 1...Qd4*a1 2.Qh1*a1 + 2...Ke5-e6 3.Sb7-d8 # 3.Qa1-f6 # 2...Ke5-e4 3.Sd5-f6 # 1...Qd4-b2 2.Ba1*b2 + 2...Ke5-e6 3.Sb7-d8 # 1...Qd4-c3 2.Ba1*c3 + 2...Ke5-e6 3.Sb7-d8 # 1...f4-f3 2.Qh1*h2 + 2...Ke5-e6 3.Sb7-d8 # 2...Ke5-e4 3.Qh2-f4 #" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1908 algebraic: white: [Kf3, Qe2, Bg7, Bc8, Sb5, Sa4, Pd6, Pa7] black: [Kd5, Rf6, Ba8, Sb7, Pf5] stipulation: "#2" solution: | "1...f4 2.Qe4# 1.Nbc3+?? 1...Kd4 2.Bxf6# 1...Kc6 2.Qa6# but 1...Kxd6! 1.Nc7+?? 1...Kd4 2.Bxf6# 1...Kc6 2.Qa6# but 1...Kxd6! 1.Qe6+?? 1...Kc6 2.Bd7#/Nd4# but 1...Rxe6! 1.Qa2+?? 1...Ke5 2.Qe6# but 1...Kc6! 1.Qd3+?? 1...Ke5 2.Qd4#/Qxf5# but 1...Kc6! 1.Qc4+?? 1...Ke5 2.Qd4#/Qe6# but 1...Kxc4! 1.Qc2! zz 1...Ke5 2.Qxf5# 1...f4 2.Qe4# 1...Nc5/Nxd6/Nd8/Na5 2.Qxc5# 1...Rf7/Rf8/Re6/Rg6/Rh6 2.Nb6# 1...Rxd6 2.Nc7#" keywords: - Black correction - Flight giving and taking key --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1908 algebraic: white: [Kb7, Qb1, Ba2, Se5, Sc5, Pg5, Pd2] black: [Kd4, Rg4, Rc3, Bh2, Pb6] stipulation: "#2" solution: | "1...Kxc5 2.Qxb6# 1...Bxe5 2.Ne6# 1...Rxc5 2.Nf3# 1...bxc5 2.Nc6# 1.Nf3+?? 1...Kxc5 2.Qxb6# but 1...Rxf3! 1.Qg6! (2.Qd6#) 1...Kxe5 2.Qf6# 1...Kxc5 2.Qxb6# 1...Bxe5 2.Ne6# 1...bxc5 2.Nc6# 1...Rxc5 2.Nf3#" keywords: - Defences on same square --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1908 algebraic: white: [Kf2, Rd2, Bf1, Ba3, Sg5, Sb3, Pg3, Pc6] black: [Kc3, Pg4, Pf6, Pd6, Pc7] stipulation: "#3" solution: | "1.Sb3-a1 ! threat: 2.Sg5-e4 # 1...Kc3*d2 2.Sg5-e4 + 2...Kd2-d1 3.Bf1-e2 # 1...d6-d5 2.Rd2-c2 + 2...Kc3-d4 3.Ba3-b2 # 1...f6-f5 2.Rd2-d5 zugzwang. 2...f5-f4 3.Sg5-e4 # 1...f6*g5 2.Kf2-e3 threat: 3.Rd2-c2 #" --- authors: - Dawson, Thomas Rayner source: Natal Mercury date: 1921 algebraic: white: [Kd1, Qe4, Pd3, Pb3, Pg4] black: [Kg1, Ba2, Pe3, Pf2, Pd2, Pe5] stipulation: "r#2" solution: | "1.Kd1-e2 ! zugzwang. 1...f2-f1=Q + 2.Ke2*e3 2...Qf1-f2 # 1...f2-f1=S 2.Ke2-f3 2...d2-d1=Q # 2...d2-d1=B # 1...f2-f1=R 2.Qe4-f3 2...Rf1-e1 # 1...f2-f1=B + 2.Ke2-d1 2...Ba2*b3 # 1...Kg1-h2 2.Ke2-f1 2...d2-d1=Q # 1...Ba2-b1 2.Ke2-d1 2...f2-f1=Q # 1...Ba2*b3 2.Qe4*e3 2...d2-d1=Q # 1...d2-d1=Q + 2.Ke2*e3 2...f2-f1=S # 1...d2-d1=S 2.g4-g5 2...f2-f1=Q # 2.Qe4-h7 2...f2-f1=Q # 2.Qe4-g6 2...f2-f1=Q # 2.Qe4-a8 2...f2-f1=Q # 2.Qe4-b7 2...f2-f1=Q # 2.Qe4-c6 2...f2-f1=Q # 2.Qe4-d5 2...f2-f1=Q # 2.Qe4-a4 2...f2-f1=Q # 2.Qe4-b4 2...f2-f1=Q # 2.Qe4-c4 2...f2-f1=Q # 2.Qe4-d4 2...f2-f1=Q # 2.Qe4*e5 2...f2-f1=Q # 2.d3-d4 2...f2-f1=Q # 2.b3-b4 2...f2-f1=Q # 1...d2-d1=R 2.Qe4-f3 2...Rd1-e1 # 1...d2-d1=B + 2.Ke2*e3 2...f2-f1=S #" --- authors: - Dawson, Thomas Rayner source: The Chess Review date: 1935 algebraic: white: [Kd1, Rh2, Re8, Bg5, Bf3, Sc5, Ph4, Pe3, Pe2, Pa3] black: [Kh5, Bc1, Sg4, Ph6, Pd2, Pa4] stipulation: "r#2" solution: | "1.Sc5-b3 ! zugzwang. 1...Bc1*a3 2.Sb3-c1 2...d2*c1=Q # 1...Bc1-b2 2.Sb3-c1 2...d2*c1=Q # 1...a4*b3 2.Bf3-g2 2...Sg4-f2 # 1...Kh5-g6 2.Bg5-e7 2...Sg4*e3 # 1...h6*g5 2.Bf3-e4 2...Sg4*e3 #" --- authors: - Dawson, Thomas Rayner source: The Chess Review date: 1935 algebraic: white: [Kd2, Rf2, Re4, Bh7, Sd8, Sb1, Ph6, Pg4, Pa6, Pa4] black: [Kf8, Qa8, Sf4, Pg5, Pb2, Pa7, Pa5] stipulation: "r#2" solution: | "1.Kd2-c3 ! zugzwang. 1...Qa8-b7 2.Kc3-c4 2...Qb7-b4 # 1...Qa8*e4 2.Rf2-c2 2...Qe4-b4 # 1...Qa8-d5 2.Rf2*b2 2...Qd5-d3 # 1...Qa8-c6 + 2.Kc3-d2 2...Qc6-c1 # 1...Qa8*d8 2.Rf2*b2 2...Qd8-d3 # 1...Qa8-c8 + 2.Kc3-d2 2...Qc8-c1 # 1...Qa8-b8 2.Kc3-c4 2...Qb8-b4 #" --- authors: - Dawson, Thomas Rayner source: The Chess Review date: 1935 algebraic: white: [Ka1, Qc4, Be6, Pd2, Pb2, Pc6] black: [Ka4, Be1, Pb3, Pe4, Pb4, Pa5, Pc7, Pb6] stipulation: "#3" solution: | "1.Qc4-f1 ! threat: 2.Be6-c4 threat: 3.Bc4-b5 # 1...e4-e3 2.Qf1-d3 threat: 3.Be6*b3 # 1...b6-b5 2.Qf1-f7 threat: 3.Be6*b3 # 1.Qc4-e2 ! threat: 2.Be6-c4 threat: 3.Bc4-b5 # 1...b6-b5 2.Qe2-d1 threat: 3.Be6*b3 # 3.Qd1*b3 # 2.Qe2-e3 threat: 3.Be6*b3 # 3.Qe3*b3 #" --- authors: - Dawson, Thomas Rayner source: The Problemist date: 1939 algebraic: white: [Ka8, Qf8, Rh2, Rf1, Bd1, Bb4, Sc5, Sa2, Pf2, Pe5, Pc2, Pa7, Pa3] black: [Kd2, Rc3, Ph6, Pg4, Pe4, Pd5, Pd4, Pd3, Pa4] stipulation: "r#3" solution: | "1.Qf8-c8 ! threat: 2.Sc5-b7 threat: 3.Bb4-f8 3...Rc3*c8 # 3.Bb4-e7 3...Rc3*c8 # 2.f2-f4 + 2...Kd2-e3 3.Sc5-b7 3...Rc3*c8 # 2.f2-f3 + 2...Kd2-e3 3.Sc5-b7 3...Rc3*c8 # 1...d3*c2 2.f2-f3 + 2...Kd2-e3 3.Sc5-b7 3...Rc3*c8 # 1...e4-e3 2.Sc5-b7 threat: 3.Bb4-f8 3...Rc3*c8 # 3.Bb4-e7 3...Rc3*c8 # 2.f2*e3 + 2...Kd2*e3 3.Sc5-b7 3...Rc3*c8 # 1...g4-g3 2.Sc5-b7 threat: 3.Bb4-f8 3...Rc3*c8 # 3.Bb4-e7 3...Rc3*c8 # 1.Sc5-b7 ! threat: 2.Qf8-g7 threat: 3.Bb4-f8 3...Rc3-c8 # 3.Bb4-e7 3...Rc3-c8 # 2.Qf8-f6 threat: 3.Bb4-f8 3...Rc3-c8 # 3.Bb4-e7 3...Rc3-c8 # 2.Qf8-f7 threat: 3.Bb4-e7 3...Rc3-c8 # 3.Bb4-f8 3...Rc3-c8 # 2.Qf8-c8 threat: 3.Bb4-f8 3...Rc3*c8 # 3.Bb4-e7 3...Rc3*c8 # 2.Qf8-h8 threat: 3.Bb4-f8 3...Rc3-c8 # 2.Qf8-g8 threat: 3.Bb4-f8 3...Rc3-c8 # 2.Bb4-a5 threat: 3.Ba5-d8 3...Rc3-c8 # 1...d3*c2 2.Qf8*h6 + 2...Kd2-d3 3.Qh6-c1 3...Rc3-c8 # 3.Qh6-f4 3...Rc3-c8 # 3.Qh6-g5 3...Rc3-c8 # 3.Qh6-g7 3...Rc3-c8 # 3.Qh6-h4 3...Rc3-c8 # 3.Qh6-h5 3...Rc3-c8 # 3.Qh6-b6 3...Rc3-c8 # 3.Qh6-f6 3...Rc3-c8 # 3.Qh6-g6 3...Rc3-c8 # 3.Qh6-h7 3...Rc3-c8 # 3.e5-e6 3...Rc3-c8 # 3.Bb4-f8 3...Rc3-c8 # 3.Bb4-e7 3...Rc3-c8 # 3.Bb4-a5 3...Rc3-c8 # 3.Rh2-h1 3...Rc3-c8 # 3.Rh2-g2 3...Rc3-c8 # 3.Rh2-h5 3...Rc3-c8 # 3.Rh2-h4 3...Rc3-c8 # 3.f2-f4 3...Rc3-c8 # 3.f2-f3 3...Rc3-c8 # 3.Rf1-e1 3...Rc3-c8 # 3.Rf1-h1 3...Rc3-c8 # 3.Rf1-g1 3...Rc3-c8 # 3.Bd1-f3 3...Rc3-c8 # 2...e4-e3 3.Bb4-f8 3...Rc3-c8 # 3.Bb4-e7 3...Rc3-c8 # 2.f2-f4 + 2...Kd2-d3 3.Qf8-e7 3...Rc3-c8 # 3.Qf8*h6 3...Rc3-c8 # 3.Qf8-g7 3...Rc3-c8 # 3.Qf8-f6 3...Rc3-c8 # 3.Qf8-f7 3...Rc3-c8 # 3.Qf8-c8 3...Rc3*c8 # 2...Kd2-e3 3.Qf8-c8 3...Rc3*c8 # 3.Qf8-e7 3...Rc3-c8 # 3.Qf8*h6 3...Rc3-c8 # 3.Qf8-g7 3...Rc3-c8 # 3.Qf8-f6 3...Rc3-c8 # 3.Qf8-f7 3...Rc3-c8 # 2.f2-f3 + 2...Kd2-d3 3.Qf8-f7 3...Rc3-c8 # 3.Qf8-e7 3...Rc3-c8 # 3.Qf8*h6 3...Rc3-c8 # 3.Qf8-g7 3...Rc3-c8 # 3.Qf8-f4 3...Rc3-c8 # 3.Qf8-f6 3...Rc3-c8 # 3.Qf8-c8 3...Rc3*c8 # 2...Kd2-e3 3.Qf8-c8 3...Rc3*c8 # 3.Qf8-e7 3...Rc3-c8 # 3.Qf8-g7 3...Rc3-c8 # 3.Qf8-f6 3...Rc3-c8 # 3.Qf8-f7 3...Rc3-c8 # 1...e4-e3 2.Qf8-c8 threat: 3.Bb4-f8 3...Rc3*c8 # 3.Bb4-e7 3...Rc3*c8 # 2.Qf8-g8 threat: 3.Bb4-f8 3...Rc3-c8 # 1...g4-g3 2.Qf8-g7 threat: 3.Bb4-f8 3...Rc3-c8 # 3.Bb4-e7 3...Rc3-c8 # 2.Qf8-c8 threat: 3.Bb4-f8 3...Rc3*c8 # 3.Bb4-e7 3...Rc3*c8 # 2.Qf8-h8 threat: 3.Bb4-f8 3...Rc3-c8 # 2.Qf8-g8 threat: 3.Bb4-f8 3...Rc3-c8 #" --- authors: - Dawson, Thomas Rayner source: BCPS date: 1934 distinction: 2nd Prize algebraic: white: [Ka5, Qb1, Bc7, Ba4, Sd7] black: [Ke8, Qh6, Rh5, Rd5, Bh4, Bh3, Sh7, Pg6, Pf7, Pf6, Pd6, Pb5] stipulation: "h#2" solution: "1.Rd5-g5 Qb1*b5 2.f6-f5 Qb5-e2 #" keywords: - Interference - Selfpinning - Unpinning --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1941-10 algebraic: white: [Kh1, Qg5, Rb1, Ra1, Bf1, Sh4, Sg1, Ph7, Ph2, Pg6, Pf6, Pf2] black: [Kh8, Ph3, Pg7, Pf3, Pc3, Pb3, Pa3] stipulation: "r#3" solution: | "1.Qg5-c1 ! threat: 2.Bf1-a6 threat: 3.Sh4-g2 3...h3*g2 # 3...f3*g2 # 2.Bf1-b5 threat: 3.Sh4-g2 3...h3*g2 # 3...f3*g2 # 2.Bf1-c4 threat: 3.Sh4-g2 3...h3*g2 # 3...f3*g2 # 2.Bf1-d3 threat: 3.Sh4-g2 3...h3*g2 # 3...f3*g2 # 1...a3-a2 2.Bf1-a6 threat: 3.Sh4-g2 3...h3*g2 # 3...f3*g2 # 1...b3-b2 2.Bf1-b5 threat: 3.Sh4-g2 3...h3*g2 # 3...f3*g2 # 1...c3-c2 2.Bf1-c4 threat: 3.Sh4-g2 3...h3*g2 # 3...f3*g2 # 1...g7*f6 2.Sh4-f5 threat: 3.Bf1-g2 3...h3*g2 # 3...f3*g2 #" --- authors: - Dawson, Thomas Rayner source: date: 1918 algebraic: white: [Kh1, Qb3, Rg1, Rd2, Bc4, Sc2, Ph4, Pg3, Pe4, Pe2, Pb5] black: [Kf2, Bg4, Sf1, Ph5, Ph3, Pe5, Pb6, Pb4] stipulation: "#2" solution: | "1...h2 2.Rg2# 1...Bf3+/Bf5/Be6/Bd7/Bc8 2.Qxf3# 1...Bxe2 2.Rxe2# 1...Nxg3+ 2.Qxg3# 1...Nh2/Ne3/Nxd2 2.Qe3# 1.Bd5?? zz 1...h2 2.Rg2# 1...Bf3+/Bf5/Be6/Bd7/Bc8 2.Qxf3# 1...Nxg3+ 2.Qxg3# 1...Nh2/Ne3/Nxd2 2.Qe3# but 1...Bxe2! 1.Be6?? zz 1...h2 2.Rg2# 1...Bf3+/Bf5/Bxe6 2.Qxf3# 1...Nxg3+ 2.Qxg3# 1...Nh2/Ne3/Nxd2 2.Qe3# but 1...Bxe2! 1.Bf7?? zz 1...h2 2.Rg2# 1...Nxg3+ 2.Qxg3# 1...Nh2/Ne3/Nxd2 2.Qe3# 1...Bf3+/Bf5/Be6/Bd7/Bc8 2.Qxf3# but 1...Bxe2! 1.Rd1?? (2.Rgxf1#/Rdxf1#) 1...Bf3+ 2.Qxf3# 1...Nxg3+ 2.Qxg3# 1...Nh2/Ne3/Nd2 2.Qe3# but 1...Bxe2! 1.Rd5?? zz 1...h2 2.Rg2# 1...Bf3+/Bf5/Be6/Bd7/Bc8 2.Qxf3# 1...Nxg3+ 2.Qxg3# 1...Nh2/Ne3/Nd2 2.Qe3# but 1...Bxe2! 1.Rd6?? zz 1...h2 2.Rg2# 1...Bf3+/Bf5/Be6/Bd7/Bc8 2.Qxf3# 1...Nxg3+ 2.Qxg3# 1...Nh2/Ne3/Nd2 2.Qe3# but 1...Bxe2! 1.Rd7?? zz 1...h2 2.Rg2# 1...Bf3+/Bf5/Be6/Bxd7 2.Qxf3# 1...Nxg3+ 2.Qxg3# 1...Nh2/Ne3/Nd2 2.Qe3# but 1...Bxe2! 1.Rd8?? zz 1...h2 2.Rg2# 1...Bf3+/Bf5/Be6/Bd7/Bc8 2.Qxf3# 1...Nxg3+ 2.Qxg3# 1...Nh2/Ne3/Nd2 2.Qe3# but 1...Bxe2! 1.Qd3?? zz 1...h2 2.Rg2# 1...Bf3+/Bf5/Be6/Bd7/Bc8 2.Qxf3# 1...Bxe2 2.Qxe2#/Rxe2# 1...Nxg3+ 2.Qxg3# 1...Nh2/Ne3/Nxd2 2.Qe3# but 1...b3! 1.Bg8! zz 1...h2 2.Rg2# 1...Bf3+/Bf5/Be6/Bd7/Bc8 2.Qxf3# 1...Bxe2 2.Qf7# 1...Nxg3+ 2.Qxg3# 1...Nh2/Ne3/Nxd2 2.Qe3#" keywords: - Mutate - Black correction --- authors: - Dawson, Thomas Rayner source: date: 1918 algebraic: white: [Ke1, Qh6, Rh1, Rd1, Ba3, Sh7, Sd4, Pf3, Pb5] black: [Ke5, Rc5, Se8, Pg5, Pg3, Pd5, Pb6, Pa4] stipulation: "#2" solution: | "1...g4[a] 2.Rh5#[C] 1...Kf4/Rc4[b]/Rc3[b]/Rc2[c]/Rc1[d]/Rc6[e]/Rc7[b]/Rc8[b]/Rxb5[b] 2.Qxg5#[A] 1...g2 2.Qh2#[B] 1...Nf6/Ng7/Nd6/Nc7 2.Qxf6#[D] 1.Bb4?? zz 1...g4[a] 2.Rh5#[C] 1...Kf4/Rc4[b]/Rc3[b]/Rc2[c]/Rc1[d]/Rc6[e]/Rc7[b]/Rc8[b]/Rxb5[b] 2.Qxg5#[A] 1...g2 2.Qh2#[B] 1...Nf6/Ng7/Nd6/Nc7 2.Qxf6#[D] but 1...a3! 1.Bxc5?? (2.Qxg5#[A]) 1...Ng7/Nd6 2.Qf6#[D]/Qd6#/Bd6# but 1...bxc5! 1.Rd2? zz 1...g4[a] 2.Rh5#[C] 1...Kf4/Rc4[b]/Rc3[b]/Rc2[c]/Rc6[e]/Rc7[b]/Rc8[b]/Rxb5[b] 2.Qxg5#[A] 1...g2 2.Qh2#[B] 1...Nf6/Ng7/Nd6/Nc7 2.Qxf6#[D] but 1...Rc1+[d]! 1.Rd3? zz 1...g4[a] 2.Rh5#[C] 1...Kf4/Rc4[b]/Rc3[b]/Rc2[c]/Rc6[e]/Rc7[b]/Rc8[b]/Rxb5[b] 2.Qxg5#[A] 1...g2 2.Qh2#[B] 1...Nf6/Ng7/Nd6/Nc7 2.Qxf6#[D] but 1...Rc1+[d]! 1.Ke2? zz 1...g4[a] 2.Rh5#[C] 1...Kf4/Rc4[b]/Rc3[b]/Rc1[d]/Rc6[e]/Rc7[b]/Rc8[b]/Rxb5[b] 2.Qxg5#[A] 1...g2 2.Qh2#[B] 1...Nf6/Ng7/Nd6/Nc7 2.Qxf6#[D] but 1...Rc2+[c]! 1.Kf1?? zz 1...g4[a] 2.Rh5#[C] 1...Kf4/Rc4[b]/Rc3[b]/Rc2[c]/Rc1[d]/Rc6[e]/Rc7[b]/Rc8[b]/Rxb5[b] 2.Qxg5#[A] 1...Nf6/Ng7/Nd6/Nc7 2.Qxf6#[D] but 1...g2+! 1.Rh2? zz 1...g4[a] 2.Rh5#[C]/Re2# 1...Kf4/Rc4[b]/Rc3[b]/Rc2[c]/Rc1[d]/Rc6[e]/Rc7[b]/Rc8[b]/Rxb5[b] 2.Qxg5#[A] 1...gxh2 2.Qxh2#[B] 1...Nf6/Ng7/Nd6/Nc7 2.Qxf6#[D] but 1...g2! 1.Rh3?? zz 1...g4[a] 2.Rh5#[C] 1...Kf4/Rc4[b]/Rc3[b]/Rc2[c]/Rc1[d]/Rc6[e]/Rc7[b]/Rc8[b]/Rxb5[b] 2.Qxg5#[A] 1...Nf6/Ng7/Nd6/Nc7 2.Qxf6#[D] but 1...g2! 1.Rh4? (2.Qe6#) 1...g4[a] 2.Rh5#[C] 1...Rc6[e] 2.Qxg5#[A] 1...Nf6/Ng7/Nc7 2.Qxf6#[D] but 1...gxh4! 1.Rh5[C]? zz 1...Kf4/Rc4[b]/Rc3[b]/Rc2[c]/Rc1[d]/Rc6[e]/Rc7[b]/Rc8[b]/Rxb5[b] 2.Qxg5#[A] 1...Nf6/Ng7/Nd6/Nc7 2.Qxf6#[D] but 1...g2! 1.Rg1? zz 1...Kf4/Rc4[b]/Rc3[b]/Rc2[c]/Rc1[d]/Rc6[e]/Rc7[b]/Rc8[b]/Rxb5[b] 2.Qxg5#[A] 1...g2 2.Qh2#[B] 1...Nf6/Ng7/Nd6/Nc7 2.Qxf6#[D] but 1...g4[a]! 1.Rf1? zz 1...Kf4/Rc4[b]/Rc3[b]/Rc2[c]/Rc1[d]/Rc6[e]/Rc7[b]/Rc8[b]/Rxb5[b] 2.Qxg5#[A] 1...Nf6/Ng7/Nd6/Nc7 2.Qxf6#[D] 1...g2 2.Qh2#[B] but 1...g4[a]! 1.Qf8? zz 1...g4[a] 2.Rh5#[C] 1...Rc4[b]/Rc3[b]/Rc2[c]/Rc1[d]/Rc6[e]/Rc7[b]/Rc8[b]/Rxb5[b] 2.Qf5#[E] 1...Nf6/Ng7/Nd6/Nc7 2.Qxf6#[D] but 1...g2! 1.O-O! zz 1...g4[a] 2.Rfe1#[F] 1...Kf4/Rc4[b]/Rc3[b]/Rc2[c]/Rc1[d]/Rc6[e]/Rc7[b]/Rc8[b]/Rxb5[b] 2.Qxg5#[A] 1...g2 2.Qh2#[B] 1...Nf6/Ng7/Nd6/Nc7 2.Qxf6#[D]" keywords: - Mutate - Stocchi --- authors: - Dawson, Thomas Rayner source: date: 1918 algebraic: white: [Kf5, Qh4, Rb8, Rb6, Bg2, Sf7, Pe6, Pe2, Pa6] black: [Kc7, Re8, Ra7, Bf4, Pg3, Pe5, Pe3] stipulation: "#2" solution: | "1...e4[a] 2.Qxf4#[A] 1...Rxe6[b]/Rd8[c] 2.Qd8#[B] 1...Rxb8[d] 2.Rc6#[C] 1...Bg5[e]/Bh6[f] 2.Qc4#[D] 1...Rxa6/Ra8/Rb7 2.R6b7# 1...Re7/Rc8/Rf8/Rg8/Rh8 2.Qxe7# 1.Nd6[E]? (2.Nxe8#/Nb5#) 1...Rxe6[b] 2.Qd8#[B] 1...Rd8[c] 2.Qxd8#[B]/Nb5# 1...Rxb8[d] 2.Rc6#[C] 1...Rb7 2.R8xb7# 1...Re7/Rc8/Rg8/Rh8 2.Qxe7#/Nb5# but 1...Rf8+! 1.Bh1[F]? zz 1...e4[a] 2.Qxf4#[A] 1...Rxe6[b]/Rd8[c] 2.Qd8#[B] 1...Rxb8[d] 2.Rc6#[C] 1...Bg5[e]/Bh6[f] 2.Qc4#[D] 1...Rxa6/Ra8/Rb7 2.R6b7# 1...Re7/Rc8/Rf8/Rg8/Rh8 2.Qxe7# but 1...g2! 1.Bf3[G]? zz 1...e4[a] 2.Qxf4#[A] 1...Rxe6[b]/Rd8[c] 2.Qd8#[B] 1...Rxb8[d] 2.Rc6#[C] 1...Bg5[e]/Bh6[f] 2.Qc4#[D] 1...Rxa6/Ra8/Rb7 2.R6b7# 1...Re7/Rc8/Rf8/Rg8/Rh8 2.Qxe7# but 1...g2! 1.Bd5[H]? zz 1...e4[a] 2.Qxf4#[A] 1...Rxe6[b]/Rd8[c] 2.Qd8#[B] 1...Rxb8[d] 2.Rc6#[C] 1...Bg5[e]/Bh6[f] 2.Qc4#[D] 1...Rxa6/Ra8/Rb7 2.R6b7# 1...Re7/Rc8/Rf8/Rg8/Rh8 2.Qxe7# but 1...g2! 1.R8b7+?? 1...Kc8 2.Nd6#[E]/Rc6#[C] but 1...Rxb7! 1.Rxe8? (2.Qd8#[B]/Rc6#[C]) 1...e4[a] 2.Qd8#[B] 1...Bg5[e] 2.Rc6#[C] 1...Rxa6 2.Qd8#[B]/Rb7# 1...Ra8 2.Rb7#/Rc6#[C] but 1...Kxb6! 1.Qh1?? (2.Qc1#) 1...Rxb8[d] 2.Rc6#[C] 1...Rb7 2.R6xb7# but 1...Rxe6[b]! 1.Qg5[I]? zz 1...e4[a] 2.Qxf4#[A] 1...Rxe6[b]/Rd8[c] 2.Qd8#[B] 1...Rxb8[d] 2.Rc6#[C] 1...Rxa6/Ra8/Rb7 2.R6b7# 1...Re7/Rc8/Rf8/Rg8/Rh8 2.Qxe7# but 1...Bxg5[e]! 1.Qf6[J]! zz 1...e4[a] 2.Qc3#[K] 1...Rxe6[b]/Rd8[c] 2.Qd8#[B] 1...Rxb8[d] 2.Rc6#[C] 1...Bg5[e]/Bh6[f] 2.Qxe5#[L] 1...Rxa6/Ra8/Rb7 2.R6b7# 1...Re7/Rc8/Rf8/Rg8/Rh8 2.Qxe7#" keywords: - Mutate - Black correction - Changed mates - Rudenko --- authors: - Dawson, Thomas Rayner source: Manchester Guardian date: 1947 algebraic: white: [Kh5, Re1, Bg8, Bg5, Sf2, Sb3] black: [Kf5, Qc5, Ra7, Ra6, Ba1, Sh6, Pe6, Pd5, Pd4] stipulation: "#3" solution: | "1.Sf2-h1 ! threat: 2.Sh1-g3 # 1...Qc5-d6 2.Bg8*e6 + 2...Qd6*e6 3.Sh1-g3 # 1...Qc5-c3 2.Sb3*d4 + 2...Qc3*d4 3.Sh1-g3 # 1...Qc5-c7 2.Bg8-h7 + 2...Qc7*h7 3.Sh1-g3 #" --- authors: - Dawson, Thomas Rayner source: Evening News date: 1933 algebraic: white: [Ka3, Qc6, Rd1, Rb3, Ba7, Sd5, Sc1, Pf4, Pe4, Pd3, Pc5] black: [Kd4, Qc4, Rg1, Sg3, Pg7, Pc2, Pa6] stipulation: "#2" solution: | "1...Qb4+[a] 2.Rxb4#[A] 1...Qa4+[b]/Qxd3 2.Qxa4#[B] 1...g6/g5 2.Qf6# 1...Nh1/Nh5/Nf1/Nf5/Ne2/Nxe4 2.Ne2# 1...Qxc5+ 2.Bxc5#/Rb4#[A]/Qxc5# 1...Qxb3+ 2.Nxb3# 1.Rb4[A]? (2.Nb3#/Rxc4#) 1...cxd1Q/cxd1R/cxd1B/cxd1N/Rxd1 2.Rxc4# but 1...Qxb4+[a]! 1.Qe8? (2.Qe5#) 1...Qxc5+/Qb4+[a] 2.Rb4#[A] 1...Qa4+[b]/Qxd3 2.Qxa4#[B] 1...Qxb3+ 2.Nxb3# but 1...Qxd5! 1.Qa4[B]? (2.Qxc4#/c6#) 1...Qb4+[a] 2.Qxb4#/Rxb4#[A] 1...Nxe4 2.Qxc4# but 1...Qxa4+[b]! 1.Qd7! (2.Qxg7#) 1...Qxc5+/Qb4+[a] 2.Rb4#[A] 1...Qa4+[b]/Qxd3 2.Qxa4#[B] 1...Nh1/Nh5/Nf1/Nf5/Ne2/Nxe4 2.Ne2# 1...Qxd5 2.c6# 1...Qxb3+ 2.Nxb3#" keywords: - Vladimirov --- authors: - Dawson, Thomas Rayner source: Social Chess Quarterly date: 1933 algebraic: white: [Kg1, Qf4, Rf7, Bh4, Bg6, Sf8, Pe7, Pe6, Pd5] black: [Ke8, Qh6, Rh5, Ra8, Sb8, Pg7, Pg3, Pd6, Pb5, Pa7] stipulation: "#2" solution: | "1...Qh8 2.Rf5#/Rxg7# 1...Qxf4 2.Rf5#/Rxf4# 1...Nd7 2.exd7# 1.Qc4?? (2.Qc8#) 1...Qe3+ 2.Rf2# 1...Qc1+ 2.Rf1# 1...Nc6 2.Qxc6# 1...Nd7 2.exd7# 1...Na6 2.Qc6#/Qxb5# but 1...bxc4! 1.Qxd6?? (2.Qd8#) 1...Nc6/Na6 2.Qd7#/Qxc6# 1...Nd7 2.exd7#/Qxd7# 1...Qe3+ 2.Rf2# 1...Qc1+ 2.Rf1# but 1...Rxd5! 1.Qc1! (2.Qc8#) 1...Nc6/Na6 2.Qxc6# 1...Nd7 2.exd7# 1...Qe3+ 2.Rf2# 1...Qxc1+ 2.Rf1#" keywords: - Black correction --- authors: - Dawson, Thomas Rayner source: Sunday Referee date: 1933 algebraic: white: [Kc1, Qb3, Pa2] black: [Ka1, Qg8, Ra7, Bh8, Bg6, Ph5, Pf7, Pc5] stipulation: "#2" solution: | "1...Bb2+/f6 2.Qxb2# 1...Bb1/f5 2.Qxb1# 1.a4! (2.Qa3#) 1...Bb2+/f6 2.Qxb2# 1...Bb1/f5 2.Qxb1# 1...Rxa4 2.Qxa4#" --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times date: 1912-07-28 algebraic: white: [Kf4, Rh1, Bg5, Bd1, Sa4, Ph4, Pg3, Pe4, Pd2, Pb3] black: [Kc1, Rb1, Ph5, Pg6, Pg4, Pd4, Pd3, Pb2, Pa2] stipulation: "#3" solution: | "1.Kf4-e5 ! threat: 2.b3-b4 threat: 3.Bd1-b3 # 1...a2-a1=S 2.Sa4-c5 threat: 3.Sc5*d3 # 1...a2-a1=B 2.Ke5-f4 zugzwang. 2...Kc1*d2 3.Kf4-e5 #" --- authors: - Dawson, Thomas Rayner source: Western Morning News date: 1924 algebraic: white: [Kf8, Sh7, Pg6, Pd6, Pc7, Pc6] black: [Kc8, Qg1, Rf3, Bg2, Bf2, Sc1, Ph6, Pf4, Pe5, Pd5, Pd4, Pc3] stipulation: "#3" solution: | "1.Sh7-f6 ! threat: 2.Sf6*d5 threat: 3.d6-d7 # 3.Sd5-e7 # 3.Sd5-b6 # 2...Bf2-h4 3.d6-d7 # 3.Sd5-b6 # 2...Bg2-h3 3.Sd5-e7 # 3.Sd5-b6 # 2...d4-d3 3.d6-d7 # 3.Sd5-e7 # 1...Rf3-d3 2.Sf6-d7 threat: 3.Sd7-b6 # 1...Rf3-e3 2.Sf6-d7 threat: 3.Sd7-b6 # 1...Rf3-h3 2.Sf6-e8 threat: 3.d6-d7 # 1...Rf3-g3 2.Sf6-g8 threat: 3.Sg8-e7 #" --- authors: - Dawson, Thomas Rayner source: Chess date: 1941 algebraic: white: [Kb6, Qg4, Rb3, Bh3, Ba3, Pd2, Pa5, Pc6, Ph6] black: [Ke5, Rd8, Bc8, Pd3, Pa6, Pe6] stipulation: "#2" solution: | "1...Kf6 2.Qg7# 1.Bb2+?? 1...Kd5 2.Rxd3#/Qd4# 1...Rd4 2.Qxd4# but 1...Kd6! 1.Qg5+?? 1...Kd4 2.Rb4# but 1...Ke4! 1.Qf4+?? 1...Kd5 2.Bg2#/Rxd3# but 1...Kxf4! 1.Qf5+?? 1...Kd4 2.Rb4# but 1...exf5! 1.Qxe6+?? 1...Kf4 2.Qe3# 1...Kd4 2.Bb2#/Bc5#/Rb4# but 1...Bxe6! 1.Rb4! zz 1...Kd5/Bd7/Rd4/Re8/Rf8/Rg8/Rh8 2.Qd4# 1...Kf6 2.Qg7# 1...Kd6 2.Rb5# 1...Bb7/Rd7 2.Qxe6# 1...Rd6 2.Qg5# 1...Rd5 2.Qf4#" keywords: - Black correction - Flight giving key - Grimshaw --- authors: - Stewart, John - Dawson, Thomas Rayner source: Time & Tide date: 1955 algebraic: white: [Ke3, Qd7, Rb4, Bb3, Ba1, Pa3, Pb6] black: [Kc5, Ra5, Rc8, Pe5, Pa2, Pe6, Pb7, Pc7] stipulation: "#2" solution: | "1...Ra4/Rxa3/Ra6/Ra7/Raa8/Rb5 2.Rb5#[A] 1...e4 2.Bd4# 1...Rb8/Rca8/Rd8/Re8/Rf8/Rg8/Rh8 2.Qxc7#[B] 1...cxb6 2.Rc4# 1...c6 2.Qe7# 1.Bxe6? (2.Qd5#) 1...Rd8 2.Qxc7#[B] 1...Rb5 2.Rxb5#[A] 1...c6 2.Qe7# but 1...Rxa3+! 1.Bxa2? zz 1...Ra4/Ra6/Ra7/Raa8/Rb5 2.Rb5#[A] 1...cxb6 2.Rc4# 1...c6 2.Qe7# 1...Rb8/Rca8/Rd8/Re8/Rf8/Rg8/Rh8 2.Qxc7#[B] 1...e4 2.Bd4# but 1...Rxa3+! 1.Ke4? zz 1...Rxa3/Ra6/Ra7/Raa8/Rb5 2.Rb5#[A] 1...Rb8/Rca8/Rd8/Re8/Rf8/Rg8/Rh8 2.Qxc7#[B] 1...cxb6 2.Rc4# 1...c6 2.Qe7# but 1...Ra4! 1.Kf2? zz 1...Ra4/Rxa3/Ra6/Ra7/Raa8/Rb5 2.Rb5#[A] 1...Rb8/Rca8/Rd8/Re8/Rg8/Rh8 2.Qxc7#[B] 1...e4 2.Bd4# 1...cxb6 2.Rc4# 1...c6 2.Qe7# but 1...Rf8+! 1.Kd2? zz 1...Ra4/Rxa3/Ra6/Ra7/Raa8/Rb5 2.Rb5#[A] 1...cxb6 2.Rc4# 1...c6 2.Qe7# 1...Rb8/Rca8/Re8/Rf8/Rg8/Rh8 2.Qxc7#[B] 1...e4 2.Bd4# but 1...Rd8! 1.Qxc8?? (2.Qxc7#[B]) 1...c6 2.Qf8# but 1...Rxa3! 1.Ke2! zz 1...Ra4/Rxa3/Ra6/Ra7/Raa8/Rb5 2.Rb5#[A] 1...Rb8/Rca8/Rd8/Re8/Rf8/Rg8/Rh8 2.Qxc7#[B] 1...cxb6 2.Rc4# 1...c6 2.Qe7# 1...e4 2.Bd4#" keywords: - Transferred mates - Block --- authors: - Dawson, Thomas Rayner source: Southern Daily Post date: 1911 algebraic: white: [Kc6, Qc8, Rg5, Bg7, Sd6, Sb1, Pe4, Pc2] black: [Kd4, Be5, Sb2, Pg6, Pf6, Pe3, Pd5] stipulation: "#2" solution: | "1...Nd3 2.c3# 1...Bf4/Bg3/Bh2 2.Rxd5# 1.Qg8?? (2.Qxd5#) but 1...e2! 1.Qe6?? (2.Qxd5#) but 1...e2! 1.Qg4! zz 1...e2 2.Qg1# 1...Nc4 2.Nb5# 1...Nd1/Na4 2.Qxd1# 1...Nd3 2.c3# 1...dxe4 2.Qxe4# 1...fxg5 2.exd5# 1...f5 2.exf5# 1...Bf4/Bg3/Bh2 2.Rxd5# 1...Bxd6 2.e5#" keywords: - Black correction --- authors: - Dawson, Thomas Rayner source: Hampstead and Highgate Express date: 1912 algebraic: white: [Ke1, Qd6, Ra3, Ra1, Bg3, Sh4, Sg2, Pg6, Pf5, Pe6, Pd5, Pd3, Pd2, Pa6] black: [Kd4, Qf6, Bg1, Sh2, Pg7, Pc4, Pa7] stipulation: "#2" solution: | "1...Qxf5 2.Nxf5# 1...Qf7/Qf8/Qxg6/Qg5/Qe5+/Qe7/Qd8 2.Be5#[A] 1...Qxe6+ 2.dxe6# 1...Bf2+ 2.Bxf2# 1...Be3 2.dxe3# 1...cxd3 2.Ra4# 1...Ng4/Nf1/Nf3+ 2.Nf3#[B] 1.Nf4?? (2.Ne2#) 1...Bf2+ 2.Bxf2# 1...Nf3+ 2.Nxf3#[B] 1...Qxe6+ 2.Nxe6#/dxe6# 1...cxd3/c3 2.Ra4# but 1...Qe5+! 1.Rc1? (2.Rxc4#) 1...Qxe6+ 2.dxe6# 1...Qe5+ 2.Bxe5#[A] 1...Bf2+ 2.Bxf2# 1...Nf3+ 2.Nxf3#[B] 1...cxd3 2.Ra4# but 1...c3! 1.Rd1? zz 1...Qxf5 2.Nxf5# 1...Qf7/Qf8/Qxg6/Qg5/Qe5+/Qe7/Qd8 2.Be5#[A] 1...Qxe6+ 2.dxe6# 1...Bf2+ 2.Bxf2# 1...Be3 2.dxe3# 1...Ng4/Nf1/Nf3+ 2.Nf3#[B] 1...cxd3 2.Ra4# 1...c3 2.dxc3# but 1...Qxh4! 1.Ke2? zz 1...Qxf5 2.Nxf5# 1...Qf7/Qf8/Qxg6/Qg5/Qxh4/Qe5+/Qe7/Qd8 2.Be5#[A] 1...Qxe6+ 2.dxe6# 1...Bf2 2.Bxf2# 1...Be3 2.dxe3# 1...Ng4/Nf1/Nf3 2.Nf3#[B] 1...c3 2.dxc3#/Ra4# but 1...cxd3+! 1.Kd1? zz 1...Qxf5 2.Nxf5# 1...Qf7/Qf8/Qxg6/Qg5/Qxh4/Qe5/Qe7/Qd8 2.Be5#[A] 1...Qxe6 2.dxe6# 1...Bf2 2.Bxf2# 1...Be3 2.dxe3# 1...Ng4/Nf1/Nf3 2.Nf3#[B] 1...cxd3 2.Ra4# but 1...c3! 1.Qb6+?? 1...Kxd5 2.Qd6# but 1...axb6! 1.Qf4+?? 1...Kxd5 2.Qxc4#/Qd6# but 1...Kc5! 1.O-O-O! zz 1...Qxf5 2.Nxf5# 1...Qf7/Qf8/Qxg6/Qg5/Qxh4/Qe5/Qe7/Qd8 2.Be5#[A] 1...Qxe6 2.dxe6# 1...Bf2 2.Bxf2# 1...Be3 2.dxe3# 1...Ng4/Nf1/Nf3 2.Nf3#[B] 1...cxd3 2.Ra4# 1...c3 2.dxc3#" keywords: - Black correction - Transferred mates --- authors: - Dawson, Thomas Rayner source: Eskilstuna-Kuriren date: 1916 algebraic: white: [Kf8, Qf3, Rg3, Re3, Bf7, Pf4, Pf2] black: [Kf6, Rf1, Pg4, Pf5, Pe4] stipulation: "#2" solution: | "1...gxf3 2.Rg6# 1...exf3 2.Re6# 1.Rxe4?? (2.Re6#/Qc3#) 1...Re1 2.Qc3# 1...Rd1/Rc1 2.Re6# 1...gxf3 2.Rg6#/Re6# but 1...fxe4! 1.Rd3?? (2.Rd6#) 1...exd3 2.Qc6# but 1...Rd1! 1.Qh1?? (2.Qh4#/Qh6#/Qh8#) but 1...Rxh1! 1.Qxg4?? (2.Qg5#/Qg6#/Qg7#/Qh4#) 1...Rh1 2.Qg5#/Qg6#/Qg7# but 1...fxg4! 1.Qd1?? (2.Qd4#/Qd6#/Qd8#) but 1...Rxd1! 1.Qxe4?? (2.Qe5#/Qe6#/Qe7#/Qd4#/Qc6#) 1...Rd1 2.Qe5#/Qe6#/Qe7# 1...Rc1 2.Qe5#/Qe6#/Qe7#/Qd4# but 1...fxe4! 1.Re1! (2.Qc3#) 1...gxf3 2.Rg6# 1...exf3 2.Re6# 1...e3 2.Qc6#" keywords: - Scaccografia --- authors: - Dawson, Thomas Rayner source: The Observer date: 1927-10-30 algebraic: white: [Kb7, Rc4, Ba6, Se1, Sd7, Pf5, Pc6] black: [Kd5, Be6, Pf7, Pf6, Pe4, Pd6, Pc3] stipulation: "#3" solution: | "1. Ra4! - 2. Bc4+, Ra5+, Sc2 1... B:f5 2. Bc4+ 2... Kd4 3. Sc2# 1... B:d7 2. Ra5+ 2... Kd4 3. Sc2# 1... c2 2. S:c2 2... B:f5 3. Bc4# 2... B:d7 3. Ra5# 1... e3 2. Bc4+ 2... Kd4/e4 3. B:e6#" keywords: - Fleck - Model mates --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1937 algebraic: white: [Ke7, Re5, Re1, Pd4, Pd3, Pd2] black: [Kg6, Pg2] stipulation: "#3" solution: | "1.Re5-e2 ! threat: 2.Re2*g2 + 2...Kg6-h6 3.Re1-h1 # 2...Kg6-h7 3.Re1-h1 # 2...Kg6-h5 3.Re1-h1 # 2...Kg6-f5 3.Re1-f1 # 1...g2-g1=Q 2.Re1*g1 + 2...Kg6-h6 3.Re2-h2 # 2...Kg6-h7 3.Re2-h2 # 2...Kg6-h5 3.Re2-h2 # 2...Kg6-f5 3.Re2-f2 # 1...g2-g1=S 2.Re1*g1 + 2...Kg6-h6 3.Re2-h2 # 2...Kg6-h7 3.Re2-h2 # 2...Kg6-h5 3.Re2-h2 # 2...Kg6-f5 3.Re2-f2 # 1...g2-g1=R 2.Re1*g1 + 2...Kg6-h6 3.Re2-h2 # 2...Kg6-h7 3.Re2-h2 # 2...Kg6-h5 3.Re2-h2 # 2...Kg6-f5 3.Re2-f2 # 1...g2-g1=B 2.Re1*g1 + 2...Kg6-h6 3.Re2-h2 # 2...Kg6-h7 3.Re2-h2 # 2...Kg6-h5 3.Re2-h2 # 2...Kg6-f5 3.Re2-f2 #" --- authors: - Dawson, Thomas Rayner source: Deutsches Wochenschach date: 1913 algebraic: white: [Kh2, Rg5, Bf6] black: [Ke8, Bc8, Sh8, Pg6, Pf7, Pd7, Pd6, Pd5, Pb7] stipulation: "#3" solution: | "1.Rg5-g3 ! threat: 2.Rg3-c3 threat: 3.Rc3*c8 # 2.Rg3-h3 threat: 3.Rh3*h8 # 1...d5-d4 2.Rg3-h3 threat: 3.Rh3*h8 # 1...g6-g5 2.Rg3-c3 threat: 3.Rc3*c8 # 1...b7-b5 2.Rg3-h3 threat: 3.Rh3*h8 # 1...b7-b6 2.Rg3-h3 threat: 3.Rh3*h8 # 1...Ke8-f8 2.Rg3-h3 threat: 3.Rh3*h8 #" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1923 algebraic: white: [Ke1, Qh4, Rh1, Se8, Pf4, Pe6, Pe2, Pd7, Pa2] black: [Kd8, Pf6, Pf5, Pe7, Pe3, Pc6, Pb4] stipulation: "#3" solution: | "1.0-0 ! zugzwang. 1...b4-b3 2.Qh4-e1 threat: 3.Qe1-a5 # 1...c6-c5 2.Qh4-h1 threat: 3.Qh1-a8 #" keywords: - Castling - Quiet play - Corner to corner comments: - Check also 226305, 209458, 301551, 365531 --- authors: - Dawson, Thomas Rayner source: The Problemist date: 1934 algebraic: white: [Kb1, Qe1, Bh8, Sc8, Sa7, Pc6, Pb3] black: [Ka5, Rb4, Ra8, Bb7, Sb8, Sa1, Pa6] stipulation: "#3" solution: | "1.Qe1-d2 ! threat: 2.Bh8-c3 threat: 3.Bc3*b4 # 3.Qd2-g5 # 3.Qd2-a2 # 3.Qd2-d8 # 3.Qd2-d5 # 2...Sa1-c2 3.Qd2-g5 # 3.Qd2-d8 # 3.Qd2-d5 # 2...Sa1*b3 3.Qd2-a2 # 2...Bb7*c6 3.Bc3*b4 # 3.Qd2-d8 # 2...Bb7*c8 3.Qd2-d8 # 2...Ra8*a7 3.Qd2-g5 # 3.Qd2-d5 # 2...Sb8*c6 3.Qd2-a2 # 3.Qd2-d5 # 2...Sb8-d7 3.Bc3*b4 # 3.Qd2-a2 # 2.Qd2-g5 + 2...Rb4-b5 3.Bh8-c3 # 2.Qd2-a2 + 2...Rb4-a4 3.Bh8-c3 # 3.Qa2*a4 # 2.Qd2-d8 + 2...Rb4-b6 3.Bh8-c3 # 3.Qd8*b6 # 2.Qd2-d5 + 2...Rb4-b5 3.Bh8-c3 # 1...Sa1-c2 2.Qd2-d8 + 2...Rb4-b6 3.Qd8*b6 # 1...Sa1*b3 2.Qd2-a2 + 2...Rb4-a4 3.Bh8-c3 # 1...Bb7*c6 2.Qd2-d8 + 2...Rb4-b6 3.Bh8-c3 # 3.Qd8*b6 # 1...Bb7*c8 2.Qd2-d8 + 2...Rb4-b6 3.Bh8-c3 # 1...Ra8*a7 2.Qd2-g5 + 2...Rb4-b5 3.Bh8-c3 # 2.Qd2-d8 + 2...Ka5-b5 3.Qd8-b6 # 3.Qd8-d5 # 2...Rb4-b6 3.Qd8*b6 # 2.Qd2-d5 + 2...Rb4-b5 3.Bh8-c3 # 1...Sb8*c6 2.Qd2-a2 + 2...Rb4-a4 3.Qa2*a4 # 1...Sb8-d7 2.Qd2-a2 + 2...Rb4-a4 3.Bh8-c3 # 3.Qa2*a4 #" --- authors: - Dawson, Thomas Rayner source: The Problemist date: 1938 algebraic: white: [Kh2, Rf1, Be5, Se2] black: [Ka1, Rb2, Bb1, Ph3, Pf4, Pb3, Pa2] stipulation: "#3" solution: | "1.Kh2-h1 ! zugzwang. 1...f4-f3 2.Se2-c1 threat: 3.Sc1*b3 # 1...h3-h2 2.Se2-d4 threat: 3.Sd4*b3 #" --- authors: - Dawson, Thomas Rayner source: Southern Daily Post date: 1911 algebraic: white: [Ka7, Qg6, Bg8, Bb2, Se6, Pg2, Pf6] black: [Ke5, Ra3, Pe3, Pd4, Pd3, Pc7, Pa6] stipulation: "#3" solution: | "1.Se6-c5 ! threat: 2.Qg6-g5 + 2...Ke5-d6 3.Qg5-d5 # 1...Ke5-d6 2.Qg6-e8 threat: 3.Sc5-e4 # 3.Sc5-b7 # 2...Ra3-b3 3.Sc5-e4 # 2...Kd6*c5 3.Bb2*a3 # 2...c7-c6 3.Qe8-e7 # 1...Ke5-f4 2.Bb2*d4 threat: 3.Sc5-e6 # 1...c7-c6 2.Bb2*a3 threat: 3.Sc5*d3 # 2...Ke5-d6 3.Qg6-g3 #" --- authors: - Dawson, Thomas Rayner source: South African Chess Magazine date: 1938 algebraic: white: [Kg3, Rf5, Bc4, Sf7, Sd3, Pg4, Pf2, Pd6] black: [Ke4, Se6, Sd7, Pg5, Pf6, Pd4] stipulation: "#3" solution: | "1.Rf5-d5 ! zugzwang. 1...Sd7-b6 2.Sf7*g5 + 2...Se6*g5 3.Sd3-c5 # 2...f6*g5 3.Rd5-e5 # 1...Se6-c5 2.Rd5-e5 + 2...f6*e5 3.Sf7*g5 # 2...Sd7*e5 3.Sd3*c5 # 1...Se6-f4 2.Rd5-e5 + 2...f6*e5 3.Sf7*g5 # 2...Sd7*e5 3.Sd3-c5 # 1...Se6-g7 2.Rd5-e5 + 2...f6*e5 3.Sf7*g5 # 2...Sd7*e5 3.Sd3-c5 # 1...Se6-f8 2.Rd5-e5 + 2...f6*e5 3.Sf7*g5 # 2...Sd7*e5 3.Sd3-c5 # 1...Se6-d8 2.Rd5-e5 + 2...f6*e5 3.Sf7*g5 # 2...Sd7*e5 3.Sd3-c5 # 1...Se6-c7 2.Rd5-e5 + 2...f6*e5 3.Sf7*g5 # 2...Sd7*e5 3.Sd3-c5 # 2.d6*c7 threat: 3.Sf7-d6 # 1...f6-f5 2.Rd5*f5 zugzwang. 2...Se6-c5 3.Sf7*g5 # 2...Se6-f4 3.Sf7*g5 # 2...Se6-g7 3.Sf7*g5 # 2...Se6-f8 3.Sf7*g5 # 2...Se6-d8 3.Sf7*g5 # 2...Se6-c7 3.Sf7*g5 # 2...Sd7-b6 3.Rf5-e5 # 2...Sd7-c5 3.Rf5-e5 # 2...Sd7-e5 3.Rf5*e5 # 2...Sd7-f6 3.Rf5-e5 # 2...Sd7-f8 3.Rf5-e5 # 2...Sd7-b8 3.Rf5-e5 # 2.Sd3-c5 + 2...Se6*c5 3.Sf7*g5 # 2...Sd7*c5 3.Rd5-e5 # 1...Sd7-c5 2.Sf7*g5 + 2...Se6*g5 3.Sd3*c5 # 2...f6*g5 3.Rd5-e5 # 1...Sd7-e5 2.Sf7*g5 + 2...Se6*g5 3.Sd3-c5 # 2...f6*g5 3.Rd5*e5 # 1...Sd7-f8 2.Sf7*g5 + 2...Se6*g5 3.Sd3-c5 # 2...f6*g5 3.Rd5-e5 # 2.d6-d7 threat: 3.Sf7-d6 # 1...Sd7-b8 2.d6-d7 threat: 3.Sf7-d6 # 2.Sf7*g5 + 2...Se6*g5 3.Sd3-c5 # 2...f6*g5 3.Rd5-e5 #" --- authors: - Dawson, Thomas Rayner source: Blighty date: 1941 algebraic: white: [Kc8, Rd5, Bb3] black: [Ke4, Re3, Bf2, Pf3, Pe2, Pd2, Pd3, Pf5, Pd4, Pf4, Pc7] stipulation: "#3" solution: | "1.Rd5-c5 ! threat: 2.Rc5-c6 threat: 3.Rc6-e6 # 2.Bb3-e6 threat: 3.Be6*f5 # 2.Bb3-a4 threat: 3.Ba4-c6 # 1...d2-d1=Q 2.Bb3-e6 threat: 3.Be6*f5 # 1...d2-d1=S 2.Bb3-e6 threat: 3.Be6*f5 # 1...d2-d1=R 2.Bb3-e6 threat: 3.Be6*f5 # 1...d2-d1=B 2.Bb3-e6 threat: 3.Be6*f5 # 1...e2-e1=Q 2.Rc5-c6 threat: 3.Rc6-e6 # 1...e2-e1=S 2.Rc5-c6 threat: 3.Rc6-e6 # 1...e2-e1=R 2.Rc5-c6 threat: 3.Rc6-e6 # 1...e2-e1=B 2.Rc5-c6 threat: 3.Rc6-e6 # 1...Bf2-e1 2.Bb3-a4 threat: 3.Ba4-c6 # 1...Bf2-g1 2.Bb3-a4 threat: 3.Ba4-c6 # 1...Bf2-h4 2.Bb3-a4 threat: 3.Ba4-c6 # 1...Bf2-g3 2.Bb3-a4 threat: 3.Ba4-c6 #" --- authors: - Dawson, Thomas Rayner source: The Problemist date: 1928 algebraic: white: [Kc3, Bb1, Sd4, Sc4, Pg3, Pe6, Pb4] black: [Kd5, Sg8] stipulation: "#3" solution: | "1.Bb1-g6 ! zugzwang. 1...Sg8-e7 2.Bg6-h5 threat: 3.Bh5-f3 # 1...Sg8-f6 2.Kc3-d3 zugzwang. 2...Sf6-e4 3.Bg6*e4 # 2...Sf6-g4 3.Bg6-e4 # 2...Sf6-h5 3.Bg6-e4 # 2...Sf6-h7 3.Bg6-e4 # 2...Sf6-g8 3.Bg6-e4 # 2...Sf6-e8 3.Bg6-e4 # 2...Sf6-d7 3.Bg6-e4 # 1...Sg8-h6 2.Bg6-e8 threat: 3.Be8-c6 # 1.Bb1-f5 ! zugzwang. 1...Sg8-e7 2.Bf5-h3 threat: 3.Bh3-g2 # 2.Bf5-g4 threat: 3.Bg4-f3 # 1...Sg8-f6 2.Kc3-d3 zugzwang. 2...Sf6-e4 3.Bf5*e4 # 2...Sf6-g4 3.Bf5-e4 # 2...Sf6-h5 3.Bf5-e4 # 2...Sf6-h7 3.Bf5-e4 # 2...Sf6-g8 3.Bf5-e4 # 2...Sf6-e8 3.Bf5-e4 # 2...Sf6-d7 3.Bf5-e4 # 1...Sg8-h6 2.Bf5-h3 threat: 3.Bh3-g2 #" --- authors: - Dawson, Thomas Rayner source: The Problemist date: 1928 algebraic: white: [Ka5, Qa1, Bh8, Be4, Sh1, Sd5, Pc6, Pc5, Pb5, Pa6, Pa4] black: [Kh2, Sa8, Ph4, Ph3, Pd6, Pc7] stipulation: "r#2" solution: | "1.Qa1-g7 ! zugzwang. 1...d6*c5 2.Sd5-b6 2...c7*b6 # 1...Sa8-b6 2.Sd5-b4 2...Sb6-c4 #" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine algebraic: white: [Ka2, Rg3, Bg6, Sd5, Sa7, Pb2] black: [Ka4, Bh5, Bf8, Sh4, Sb7, Pg7, Pf5, Pe2, Pc4, Pa5] stipulation: "#2" solution: | "1...c3 2.b3# 1...Nc5/Nd6/Ba3 2.Ra3# 1...Bb4 2.Nb6# 1...Bg4/Bf3 2.Be8# 1...f4 2.Bc2# 1.Bxf5?? (2.Bc2#/Bd7#) 1...Nc5 2.Ra3# 1...Nd6 2.Ra3#/Bc2# 1...Nd8/Bg4/Be8 2.Bc2# 1...e1N/Bg6 2.Bd7# but 1...Nxf5! 1.Rb3?? (2.Nc3#/Nb6#) 1...e1Q/e1B/Bb4 2.Nb6# 1...Bc5 2.Nc3# but 1...cxb3+! 1.Rg4! (2.b3#) 1...Nc5 2.Rxc4# 1...Bb4 2.Nb6# 1...Bxg4 2.Be8# 1...fxg4/f4 2.Bc2#" keywords: - Active sacrifice --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine algebraic: white: [Kf8, Qa6, Rh6, Ra4, Bf3, Bd2] black: [Ke5, Ph5, Pf7, Pe6, Pb4, Pa5, Pa2] stipulation: "#2" solution: | "1.Qa7?? (2.Qc5#) 1...Kd6 2.Bf4# but 1...Kf5! 1.Qb6?? (2.Rxa5#/Qc5#) 1...a1Q/a1R 2.Qc5# but 1...Kf5! 1.Qd6+?? 1...Kf5 2.Qf4# but 1...Kxd6! 1.Qxe6+?? 1...Kd4 2.Qd5# but 1...fxe6! 1.Qb5+?? 1...Kd6 2.Bf4# but 1...Kd4! 1.Qc4?? (2.Qc5#/Qf4#) 1...Kf5 2.Qe4#/Qf4# but 1...Kd6! 1.Qc6! (2.Qc5#) 1...Kf5 2.Qe4# 1...Kd4 2.Qc3# 1.Qc8! (2.Qc5#) 1...Kf5 2.Rxa5# 1...Kd4 2.Qc3# 1...Kd6 2.Bf4#" keywords: - King Y-flight - Flight giving key - Cooked --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine algebraic: white: [Ke8, Qd6, Bb1, Sf7, Pg3, Pf3, Pe5, Pe2] black: [Kf5, Rb4, Bh8, Bd3, Sh3, Sc2, Pb5] stipulation: "#2" solution: | "1...Ng5 2.Nh6# 1...Nf4 2.g4# 1...Bf6 2.Qxf6# 1...Nd4 2.Bxd3# 1...Bc4 2.e4# 1.Kd7?? (2.Qe6#) 1...Ng5 2.Nh6# 1...Nf4 2.g4# 1...Nd4 2.Bxd3# 1...Bf6 2.Qxf6# 1...Bc4 2.e4# but 1...Rd4! 1.Nxh8?? (2.Qf6#) but 1...Kg5! 1.Qxd3+?? 1...Ke6 2.Qd7# but 1...Re4! 1.Ke7! (2.Qe6#) 1...Ng5 2.Nh6# 1...Nf4 2.g4# 1...Bf6+ 2.Qxf6# 1...Bc4 2.e4# 1...Nd4 2.Bxd3#" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine algebraic: white: [Kc7, Qh4, Re8, Ra4, Bh1, Bb4, Se7, Sb6, Pg5, Pg3, Pd5] black: [Kd4, Rh6, Rf3, Bh7, Sd2, Sb1, Pf4, Pe2, Pd3] stipulation: "#2" solution: | "1...Ke4 2.Qxf4# 1...Ke3 2.Bc5# 1...Bg6/Rh5/Rxh4/Rc6+ 2.Nc6# 1...Bf5/Bg8/Rg6 2.Nxf5# 1.Bxd2+?? 1...Ke5 2.Nd7# but 1...Kc5! 1.g6! (2.Nf5#/Nc6#) 1...Ke4 2.Qxf4# 1...Ke3 2.Bc5# 1...Ke5 2.Bd6# 1...Bxg6/Rh5 2.Nc6# 1...Ne4/Rxg6 2.Nf5#" keywords: - Grimshaw - Novotny --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine algebraic: white: [Kh1, Qg1, Rb4, Bg4, Bc5, Sf2, Sd2] black: [Ke3, Qd4, Ph4, Pe5, Pd5, Pa4] stipulation: "#2" solution: | "1...Kf4 2.Nh3# 1...Qxc5 2.Qe1#/Nf1# 1.Bxd4+?? 1...Kf4 2.Nh3# 1...Kxd2 2.Rb2#/Qd1# but 1...exd4! 1.Rb3+?? 1...Kf4 2.Nh3# 1...Kxd2 2.Qd1# but 1...axb3! 1.Rxd4?? (2.Qe1#/Nh3#/Nd1#/Nf1#) 1...e4 2.Nh3# but 1...exd4! 1.Qh2?? (2.Nf1#) but 1...Kxd2! 1.Qc1! (2.Nde4#) 1...Kxf2 2.Qg1# 1...Kf4 2.Nf1# 1...Qxc5 2.Qe1#" keywords: - Flight giving and taking key - Switchback --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine algebraic: white: [Ka4, Qf6, Ra7, Bf3, Pa5] black: [Kc6, Qd5, Bg8, Pd6, Pd4] stipulation: "#2" solution: | "1...d3 2.Qc3# 1.Qf5! (2.Qc2#/Qc8#) 1...Kc5 2.Rc7# 1...Bh7 2.Qxd5#/Qc8# 1...Be6 2.Qc2# 1...d3 2.Qc8# 1...Qe4/Qxf3 2.Qb5# 1.Qg5! (2.Qc1#) 1...Kc5 2.Rc7# 1...Bh7 2.Qxd5# 1...Qe4/Qxf3 2.Qb5#" keywords: - Cooked --- authors: - Dawson, Thomas Rayner source: The Belfast Northern Whig source-id: 901 date: 1911-09-21 algebraic: white: [Kf8, Qh7, Rd1, Rc5, Bc3, Sa5, Ph4, Pf5, Pa3] black: [Kb8, Ra8, Bf7, Pe7, Pd4, Pa7, Pa4] stipulation: "#2" solution: | "1.Qh7-g6 ! zugzwang. 1...d4-d3 2.Bc3-e5 # 1...d4*c3 2.Rd1-d8 # 1...a7-a6 2.Qg6-b6 # 1...e7-e5 2.Qg6-d6 # 1...e7-e6 2.Rd1-b1 # 1...Bf7-a2 2.Qg6-e8 # 1...Bf7-b3 2.Qg6-e8 # 1...Bf7-c4 2.Qg6-e8 # 1...Bf7-d5 2.Qg6-e8 # 1...Bf7-e6 2.Qg6-g3 # 1...Bf7*g6 2.Rd1-b1 # 1...Bf7-g8 2.Qg6-e8 # 1...Bf7-e8 2.Qg6*e8 #" keywords: - Black correction - Pickabish - Rudenko --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1936 algebraic: white: [Kg7, Qe2, Rg6, Rb4, Bg1, Ba2, Sh7, Sh1, Pe6] black: [Kf5, Rh4, Rb3, Bf7, Bc1, Sh6, Sa1, Ph5, Ph3, Pe7, Pe5, Pb2] stipulation: "#2" solution: | "1...Be3/Rg3 2.Ng3# 1...Bf4/Re4/Ng4 2.Qe4# 1...Re3 2.Rg5# 1...Rf4 2.Qxh5# 1.Qf3+?? 1...Rf4 2.Ng3#/Qxh5# 1...Bf4 2.Ng3#/Qe4# but 1...Rxf3! 1.Qxh5+?? 1...Bg5 2.Qxg5# but 1...Rxh5! 1.Bh2! (2.Qxe5#) 1...Be3/Rg3 2.Ng3# 1...Bf4/Re4/Ng4 2.Qe4# 1...Rf4 2.Qxh5# 1...e4 2.Qb5# 1...Re3 2.Rg5#" keywords: - Grimshaw --- authors: - Dawson, Thomas Rayner source: Falkirk Herald date: 1937 algebraic: white: [Kc5, Qc6, Rf6, Bh2, Ba6, Sd1, Sc4, Pg2, Pd5, Pc2, Pb4] black: [Ke4, Rh3, Rd8, Bh4, Be8, Pg5, Pf7, Pe5, Pe2, Pc3] stipulation: "#2" solution: | "1...Bg3/Rxh2 2.Nxc3# 1...Bf2+/Rg3 2.Nxf2# 1...Rd7 2.d6# 1...Rd6/Rc8/Rb8/Ra8/Bd7 2.Nxd6# 1...Rxd5+ 2.Qxd5# 1...Rf3 2.gxf3# 1.Qc7?? (2.Qxe5#) 1...Bg3 2.Nxc3# 1...Bf2+ 2.Nxf2# 1...Rd6/Rc8 2.Nxd6# but 1...Rxd5+! 1.Qd6?? (2.Qxe5#) 1...Bg3 2.Nxc3# 1...Bf2+ 2.Nxf2# 1...Rxd6 2.Nxd6# but 1...Rc8+! 1.Bc8! (2.Bf5#) 1...Rd7 2.d6# 1...Rxd5+ 2.Qxd5# 1...Rxc8/Bd7 2.Nd6# 1...Bg3/Rxh2 2.Nxc3# 1...Bf2+/Rg3 2.Nxf2# 1...Rf3 2.gxf3#" keywords: - Active sacrifice - Grimshaw - Barulin (A) --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1944 algebraic: white: [Ka3, Qh4, Re4, Bg3, Ba8, Sb7, Ph2] black: [Kf3, Ra5, Bb8, Ph5, Pg2, Pd7, Pa7, Pa4] stipulation: "#2" solution: | "1...d6/Bf4/Re5 2.Qf4# 1.Re1! (2.Qe4#) 1...d5 2.Qxh5# 1...Bd6+ 2.Nc5# 1...Bf4/Re5 2.Qxf4# 1...Bxg3 2.Qxg3#" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1935 algebraic: white: [Kf8, Qe3, Re1, Rc3, Bg8, Ba5, Se5, Pd2] black: [Kd6, Bc2, Sb5, Pe4, Pc4] stipulation: "#2" solution: | "1...Nd4/Na3/Na7 2.Qxd4# 1.Bb6?? (2.Qc5#) 1...Nd4 2.Qxd4# but 1...Kxe5! 1.Rxc4?? (2.Qc5#) 1...Nd4 2.Bc7#/Qxd4# but 1...Kxe5! 1.Qxe4?? (2.Qd5#/Qc6#) 1...Kc5 2.Qd5# 1...Nxc3 2.Qc6# 1...Nc7 2.Bb4#/Qc6# 1...Nd4/Na7 2.Qxd4#/Qd5# but 1...Bxe4! 1.Qg5?? (2.Qe7#) but 1...Kc5! 1.Qh6+?? 1...Kc5 2.Rxc4#/Qb6# but 1...Kxe5! 1.d4! (2.Qh6#) 1...Nc7 2.Bb4# 1...Nxd4 2.Qxd4# 1...exd3 e.p. 2.Qb6# 1...cxd3 e.p. 2.Qc5#" keywords: - Active sacrifice - Flight taking key --- authors: - Dawson, Thomas Rayner source: Reveille date: 1941 algebraic: white: [Ka3, Qg5, Rh4, Bb3, Ba7, Sg7, Sf2, Pe5, Pd2, Pa4] black: [Kc5, Qg3, Re7, Re2, Bd4, Bb7, Pf6, Pc6, Pc3, Pb6] stipulation: "#2" solution: | "1...Re4/R2xe5/Rxd2 2.Nxe4# 1...Re6/Rd7/Rc7/Rf7 2.Nxe6#[A] 1...Be3/Qg2/Qg1/Qg4/Qxg5/Qd3/Qh2/Qxh4/Qf4 2.Nd3#[B] 1...fxe5/f5 2.Qxe7# 1.Bb8! (2.Bd6#) 1...Re6/R7xe5/Rd7/Rc7 2.Nxe6#[A] 1...R2xe5 2.Ne4# 1...Bxe5 2.d4# 1...Qxe5 2.Nd3#[B] 1...fxe5 2.Qxe7# 1...b5 2.Ba7#" keywords: - Defences on same square - Transferred mates - Plachutta - Switchback --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine algebraic: white: [Kg1, Qf8, Re5, Bc8, Bc7, Se7, Sc3, Pf7, Pd6] black: [Kf6, Rh6, Bh5, Bf4, Se3, Ph7, Pg4, Pg3, Pg2] stipulation: "#2" solution: | "1...Bg5 2.Re6# 1...Bxe5 2.Ne4# 1...Nf1/Nf5/Nd1/Nd5/Nc2/Nc4 2.Rf5# 1...Bxf7 2.Qh8# 1.Ncd5+?? 1...Nxd5 2.Rf5# but 1...Kxe5! 1.d7?? (2.Ne4#) 1...Bg6 2.Ng8# but 1...Bxe5! 1.Rd5?? (2.Ne4#) 1...Bg6 2.Ng8# but 1...Nxd5! 1.Rc5?? (2.Ne4#) 1...Bg6 2.Ng8# but 1...Nd5! 1.Rb5?? (2.Ne4#) 1...Bg6 2.Ng8# but 1...Nd5! 1.Ra5?? (2.Ne4#) 1...Bg6 2.Ng8# but 1...Nd5! 1.Bd8! zz 1...Kxe5/Rg6/Bg6 2.Nc6# 1...Bg5 2.Re6# 1...Bxe5 2.Ne4# 1...Nf1/Nf5/Nd1/Nd5/Nc2/Nc4 2.Rf5# 1...Bxf7 2.Qh8#" --- authors: - Dawson, Thomas Rayner source: Manchester Guardian date: 1910 algebraic: white: [Ka7, Rd2, Bc8, Sf5, Se6, Pg6, Pf3, Pe4, Pb4] black: [Kc6, Be5, Se8, Sb8, Pg7, Pf6, Pf4, Pd4, Pd3, Pb5] stipulation: "#2" solution: | "1.Rd2-a2 ! zugzwang. 1...d3-d2 2.Ra2-c2 # 1...Be5-c7 2.Se6*d4 # 1...Be5-d6 2.Sf5*d4 # 1...Sb8-a6 2.Ra2*a6 # 1...Sb8-d7 2.Bc8-b7 # 1...Se8-c7 2.Se6-d8 # 1...Se8-d6 2.Sf5-e7 #" keywords: - Black correction --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine algebraic: white: [Kb6, Re3, Bg4, Sf8, Ph2, Pf2, Pc3, Pb3] black: [Kd5, Qh4, Rh5, Bh6, Sg5, Ph3, Pd6] stipulation: "#2" solution: | "1...Nh7/Nf3/Nf7/Ne6 2.Be6# 1.Ne6?? (2.c4#/Nf4#/Nc7#) 1...Qxg4 2.Nc7# 1...Qg3/Qxf2/Nh7/Nf3/Nf7 2.c4#/Nc7# 1...Nxe6 2.Bxe6# but 1...Ne4! 1.Ng6! (2.Nf4#/Ne7#) 1...Bf8 2.Nf4# 1...Qxg4/Qg3/Qxf2 2.Ne7# 1...Nh7/Nf3/Nf7/Ne6 2.Be6# 1...Ne4 2.Rd3#" keywords: - Black correction --- authors: - Dawson, Thomas Rayner source: Reading Observer date: 1911 algebraic: white: [Kd6, Rf3, Sc6, Sc3, Pc2, Pb6, Pa4] black: [Kc4, Ba3, Pe2, Pc5] stipulation: "#2" solution: | "1.Ne5+?? 1...Kd4 2.Rd3# but 1...Kb4! 1.Na5+?? 1...Kd4 2.Rd3# but 1...Kb4! 1.Nxe2?? (2.Rf4#/Rc3#) 1...Bc1 2.Rc3# 1...Bb4 2.Ne5#/Rf4# but 1...Bb2! 1.Nb5?? (2.Nxa3#/Rf4#/Rc3#) 1...e1Q 2.Nxa3# 1...e1R 2.Nxa3#/Rc3# 1...e1B 2.Rf4#/Nxa3# 1...Bc1 2.Rc3# 1...Bb4 2.Ne5#/Rf4# but 1...Bb2! 1.Nb1! (2.Nd2#/Nxa3#/Rf4#/Rc3#) 1...e1Q 2.Nxa3# 1...e1R 2.Nd2#/Nxa3#/Rc3# 1...e1B 2.Rf4#/Nxa3# 1...Bb2 2.Nd2# 1...Bc1 2.Rc3# 1...Bb4 2.Rf4#" keywords: - Fleck --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times date: 1914 algebraic: white: [Kd2, Qb4, Rd6, Rc5, Bc3] black: [Kb6, Rc6, Rb5, Bb7, Sc7, Pd5, Pc4, Pa7, Pa6] stipulation: "#2" solution: | "1.Bd4! (2.Rxc4#/Rcxc6#/Rxb5#/Rcxd5#) 1...Bc8/Ba8 2.Rxb5# 1...Ne6/Ne8/Na8/a5 2.Rcxc6# 1...Rxd6 2.Rxc4# 1...Rxb4 2.Rcxd5# 1...c3+ 2.Rxc3#" keywords: - Fleck - Karlstrom-Fleck --- authors: - Dawson, Thomas Rayner source: Morning Post date: 1936 algebraic: white: [Kh1, Qf6, Rb5, Bd1, Se3, Pf3] black: [Kh5, Rd5, Bf4, Ph6] stipulation: "#2" solution: | "1...Bg3/Bh2/Bxe3/Bd6/Bc7/Bb8 2.f4# 1.Rxd5+?? 1...Be5 2.f4#/Rxe5# but 1...Bg5! 1.Nxd5?? (2.Nxf4#) but 1...Bg5! 1.Qg6+?? 1...Kh4 2.Qg4# but 1...Kxg6! 1.Ng2! (2.Nxf4#) 1...Bg3/Bh2/Be3/Bd2/Bc1/Bd6/Bc7/Bb8 2.f4# 1...Bg5/Rg5 2.Qf7# 1...Be5 2.Qf5#" keywords: - Black correction --- authors: - Dawson, Thomas Rayner source: Chatham Stand. date: 1947 algebraic: white: [Kf2, Sf5, Sc3, Ph3, Pe4, Pd4] black: [Kf4, Re6, Bh7, Ph6, Pg5, Pd5] stipulation: "#2" solution: | "1.Ng3?? (2.Nxd5#/Nce2#/Nh5#/Nge2#) 1...Bg6 2.Nxd5#/Nce2#/Nge2# 1...Bxe4 2.Nce2# 1...Re5/Rd6 2.Nce2#/Nh5#/Nge2# 1...Rxe4 2.Nxd5# 1...dxe4 2.Nd5#/Nce2# but 1...g4! 1.Ne3?? (2.Ng2#/Nexd5#) 1...Bxe4 2.Ne2# 1...Re5/Rd6 2.Ng2# 1...Rxe4/dxe4 2.Ncxd5#/Ne2# but 1...g4! 1.Ng7! (2.Nh5#/Nxe6#) 1...Bg6/g4 2.Nxe6# 1...Bf5/Bg8/Re5/Re7/Re8/Rd6/Rc6/Rb6/Ra6/Rf6/Rg6 2.Nh5# 1...Bxe4 2.Ne2# 1...Rxe4 2.Nxd5# 1...dxe4 2.Nd5#/Ne2#" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine algebraic: white: [Kh4, Re7, Ra5, Bg5, Ba6, Sc3] black: [Kf5, Ba3, Ba2, Sc5, Pg6, Pe5, Pe4, Pd6, Pd3] stipulation: "#2" solution: | "1...Ne6 2.Rf7# 1...Nb3 2.Bc8# 1.Bc8+?? 1...Be6/Ne6 2.Rf7# but 1...Nd7! 1.Ne2?? (2.Ng3#) but 1...dxe2! 1.Nb5! (2.Nxd6#) 1...Nd7/Nb7/Na4/Nxa6 2.Nd4# 1...Ne6 2.Rf7# 1...Nb3 2.Bc8#" keywords: - Black correction --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine algebraic: white: [Kc3, Qh6, Be6, Sg6, Pg2, Pf5, Pf4, Pe5, Pd2] black: [Ke4, Sf1, Pf7] stipulation: "#2" solution: | "1...Ne3 2.d3# 1.Bd5+?? 1...Kxf5 2.Qh5#/Qg5# but 1...Kxd5! 1.Qh5?? (2.Qf3#) 1...Nh2/Nxd2 2.Qe2# but 1...fxe6! 1.Qh3?? (2.Qf3#/Qd3#/d3#) 1...Nh2 2.Qe3#/Qd3#/d3# 1...Ne3 2.Qf3#/Qxe3#/d3# 1...Nxd2/fxe6 2.Qd3# 1...fxg6 2.Qf3# but 1...Ng3! 1.Qh1! (2.g3#/g4#) 1...Ng3 2.Qb1# 1...Nh2 2.Qe1#/Qb1# 1...Ne3 2.d3# 1...Nxd2 2.Qe1# 1...fxe6 2.g4# 1...fxg6 2.g3#" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine algebraic: white: [Kd1, Qb7, Rd8, Bf7, Sf1, Sb1, Pf6, Pd6, Pb6] black: [Kd3, Sd2, Pf2, Pd4, Pb2] stipulation: "#2" solution: | "1...Ne4 2.Qa6# 1...Nf3/Nxb1/Nb3 2.Qxf3# 1...Nc4 2.Bg6# 1.Rd7?? zz 1...Ne4 2.Qa6# 1...Nf3/Nxb1/Nb3 2.Qxf3# 1...Nc4 2.Bg6# but 1...Nxf1! 1.Rc8?? zz 1...Ne4 2.Bc4#/Qa6# 1...Nf3/Nb3 2.Bg6#/Bc4#/Qxf3# 1...Nc4 2.Bg6#/Bxc4# 1...Nxb1 2.Bg6#/Qf3# but 1...Nxf1! 1.Rb8?? zz 1...Ne4 2.Qa6# 1...Nf3/Nxb1/Nb3 2.Qxf3# 1...Nc4 2.Bg6# but 1...Nxf1! 1.Rf8?? zz 1...Ne4 2.Qa6# 1...Nf3/Nxb1/Nb3 2.Qxf3# 1...Nc4 2.Bg6# but 1...Nxf1! 1.Rg8?? zz 1...Ne4 2.Qa6# 1...Nf3 2.Qxf3# 1...Nc4 2.Bg6# 1...Nxb1/Nb3 2.Rg3#/Qf3# but 1...Nxf1! 1.Rh8?? zz 1...Ne4 2.Qa6# 1...Nf3 2.Qxf3# 1...Nc4 2.Bg6# 1...Nxb1/Nb3 2.Rh3#/Qf3# but 1...Nxf1! 1.d7?? zz 1...Ne4 2.Qa6# 1...Nf3/Nxb1/Nb3 2.Qxf3# 1...Nc4 2.Bg6# but 1...Nxf1! 1.Qc6?? (2.Qc2#) 1...Nc4 2.Bg6#/Bxc4# but 1...Nxf1! 1.Qd5?? zz 1...Ne4 2.Qb5#/Qc4# 1...Nf3/Nb3 2.Bg6#/Qf5#/Qxf3# 1...Nc4 2.Bg6#/Qf5# 1...Nxb1 2.Qf3# but 1...Nxf1! 1.Qg2?? zz 1...Ne4/Nxb1 2.Qf3# 1...Nf3/Nb3 2.Qg6#/Qxf3# 1...Nc4 2.Bg6#/Qg6# but 1...Nxf1! 1.Qh1?? zz 1...Ne4/Nxb1 2.Qf3# 1...Nf3/Nb3 2.Qh7#/Qxf3# 1...Nc4 2.Bg6#/Qh7# but 1...Nxf1! 1.Qa6+?? 1...Nc4 2.Bg6# but 1...Ke4! 1.Qa8?? zz 1...Ne4 2.Qa6# 1...Nf3/Nxb1/Nb3 2.Qxf3# 1...Nc4 2.Bg6# but 1...Nxf1! 1.Bg6+?? 1...Ne4 2.Qa6# but 1...Kc4! 1.Bg8?? zz 1...Ne4 2.Qa6# 1...Nf3/Nb3 2.Qh7#/Qxf3# 1...Nc4 2.Bh7#/Qh7# 1...Nxb1 2.Qf3# but 1...Nxf1! 1.Be6?? zz 1...Ne4 2.Qa6# 1...Nf3/Nb3 2.Qh7#/Qxf3# 1...Nc4 2.Bf5#/Qh7# 1...Nxb1 2.Qf3# but 1...Nxf1! 1.Bc4+?? 1...Nxc4 2.Qh7# but 1...Kxc4! 1.Ra8! zz 1...Ne4 2.Qa6# 1...Nxf1 2.Ra3# 1...Nf3 2.Ra3#/Qxf3# 1...Nc4 2.Bg6# 1...Nxb1/Nb3 2.Qf3# 1.Re8! zz 1...Ne4/Nxf1 2.Qxe4#/Qa6# 1...Nf3/Nb3 2.Qe4#/Qxf3#/Qa6# 1...Nc4 2.Bg6#/Qe4# 1...Nxb1 2.Qf3#" keywords: - Black correction - Cooked --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine algebraic: white: [Kh6, Qc2, Rg5, Re7, Be2, Sb2, Pe4, Pd3, Pd2] black: [Kf4, Bc8, Ba7, Sc5, Sb1, Pg6, Pb7, Pa6] stipulation: "#2" solution: | "1...Bg4/Nd7 2.Rxg4# 1...Nxd2 2.Qxd2# 1...Nxd3 2.Nxd3# 1...Nxe4 2.Rxe4# 1...Ne6 2.Rf7# 1...Nb3/Na4 2.Qc7# 1.Qc1?? (2.Qf1#) 1...Bg4/Nd7 2.Rxg4# 1...Nxd2 2.Qxd2# 1...Nxd3 2.Nxd3# 1...Nxe4 2.Rxe4# 1...Ne6 2.Rf7# 1...Nb3/Na4 2.Qc7# but 1...Bh3!" keywords: - Unsound --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine algebraic: white: [Kc2, Qe8, Rh5, Rg4, Bg1, Sf1, Sa7, Pd4, Pc5, Pa3] black: [Kc4, Rg6, Bh6, Se6, Sb6, Pa6] stipulation: "#2" solution: | "1...Bd2[a]/Nf4[b] 2.Nxd2#[B] 1...Be3/Ng5[c]/Rg5[d] 2.Nxe3#[A] 1...a5 2.Qb5# 1...Bg7/Bf8 2.Ne3#[A]/Nd2#[B] 1...Nf8/Ng7/Nd8/Nc7 2.Qe2# 1...Nxd4+ 2.Rxd4# 1...Nxc5 2.Rxc5# 1...Nc8/Na4/Na8 2.Qa4# 1.Rhg5? (2.Ne3#[A]/Nd2#[B]) 1...Nf4[b]/Nd5 2.Nd2#[B] 1...Nxg5[c]/Rxg5[d] 2.Ne3#[A] 1...Nxd4+ 2.Rxd4# but 1...Bxg5! 1.Qxe6+?? 1...Nd5 2.Qe2#/Qxd5# but 1...Rxe6! 1.Qxg6[C]? (2.Qd3#) 1...Nf4[b] 2.Nd2#[B] 1...Ng5[c] 2.Ne3#[A] 1...Nxd4+ 2.Rxd4# 1...Nxc5 2.Rxc5# but 1...Bg5! 1.cxb6[D]? (2.Qa4#) 1...Bd2[a] 2.Nxd2#[B] 1...Rg5[d]/Ng5[c] 2.Ne3#[A] 1...Bf8 2.Ne3#[A]/Nd2#[B] 1...Nxd4+ 2.Rxd4# 1...Nc5 2.Rxc5# but 1...Bg5! 1.Nc8[E]! (2.Nd6#/Nxb6#) 1...Nf4[b] 2.Nd2#[B] 1...Ng5[c] 2.Ne3#[A] 1...Rg5[d] 2.Ne3#[A]/Nxb6# 1...Nf8/Ng7/Nd8/Nc7 2.Qe2# 1...Nxd4+ 2.Rxd4# 1...Nxc5 2.Rxc5# 1...Nxc8 2.Qa4# 1...Nd5/Nd7 2.Nd6# 1...Na4/Na8 2.Qxa4#/Nd6# 1...Bg5/Bf4 2.Nxb6# 1...Bf8 2.Ne3#[A]/Nd2#[B]/Nxb6#" keywords: - Active sacrifice - Black correction - Transferred mates - Rudenko --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1946 algebraic: white: [Ka5, Rh3, Rb6, Be4, Bd4, Sf3, Se8, Pe2, Pd5, Pc6] black: [Kc4, Qh7, Rh5, Ra2, Bb1, Sf5, Sc2, Pd7, Pa3] stipulation: "#2" solution: | "1...Ng3/Ng7/Nh4/Nh6/Nfe3/Ne7/Nd6 2.Nd6# 1...Ne1/Nce3/Nb4/Na1 2.Rb4# 1.Rb5! (2.Bd3#) 1...Ng3/Ng7/Nh4/Nh6/Nfe3/Ne7/Nd6 2.Nd6# 1...Nfxd4 2.Nd2# 1...Ncxd4 2.Ne5# 1...Ne1/Nce3/Nb4/Na1 2.Rb4#" keywords: - Black correction --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine algebraic: white: [Ke8, Qd2, Rh7, Bg6, Se4, Sd8, Pf4, Pe3, Pc6, Pb3] black: [Kd5, Qa1, Bh3, Bb2, Sd4, Pg2, Pc7, Pb6, Pb5] stipulation: "#2" solution: | "1...Bd7+ 2.Rxd7# 1.Re7?? (2.Re5#) 1...Bd7+ 2.Rxd7# but 1...Be6! 1.Nf6+?? 1...Kd6 2.Qb4# but 1...Kc5! 1.Nc3+?? 1...Kd6/Kc5 2.Qxd4# but 1...Bxc3! 1.Qb4! (2.Nf6#) 1...Bd7+/Ne6 2.Rxd7# 1...Ne2/Nf3/Nc2/Nxc6 2.Qxb5# 1...Nf5 2.Bf7# 1...Nxb3 2.Qxb3#" keywords: - Black correction --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine algebraic: white: [Ka6, Qg5, Rc7, Bf2, Bd7, Se7, Sb4] black: [Ke4, Qh7, Bh2, Bg8, Sf4, Pg7, Pg6, Pg2, Pf3] stipulation: "#2" solution: | "1...Bc4+/Nd5 2.Rxc4# 1...Nh3/Nh5/Ne2/Nd3 2.Qe3# 1...Ne6 2.Bc6#/Qe3# 1.Be6?? (2.Rc4#) 1...Ne2/Nxe6 2.Qe3# but 1...Bxe6! 1.Bc6+?? 1...Nd5 2.Qe3# but 1...Bd5! 1.Nxg6?? (2.Qf5#/Qe5#/Bf5#) 1...Qh5 2.Bf5# 1...Qh3/Be6 2.Qe5# 1...Bc4+ 2.Rxc4# 1...Nxg6 2.Qf5#/Qe3# 1...Nh3/Nh5/Ne2/Nd3 2.Bf5#/Qf5#/Qe3# 1...Ne6 2.Bc6#/Qd5# 1...Nd5 2.Bf5#/Qf5#/Rc4# but 1...Qxg6+! 1.Nxg8?? (2.Rc4#) 1...Ne2 2.Bc6#/Qe3# 1...Ne6 2.Bc6# but 1...Qxg8! 1.Ned5?? (2.Rc4#/Nc3#) 1...Ne2 2.Qe3# 1...Ne6 2.Nc3# 1...Nxd5 2.Rc4# but 1...Bxd5! 1.Rc5?? (2.Re5#/Qe5#) 1...Qh5 2.Re5# 1...Bc4+/Nd5 2.Rxc4# 1...Nh3/Nh5/Ne2/Nd3 2.Qe3# 1...Ne6 2.Bc6#/Qe3# but 1...Bd5! 1.Qc5?? (2.Qd4#/Qe3#) 1...Ne2/Ne6 2.Qe3# 1...Nd5 2.Qd4# but 1...Bc4+! 1.Nc8! (2.Nd6#) 1...Bc4+/Nd5 2.Rxc4# 1...Nh3/Nh5/Ne2/Nd3 2.Qe3# 1...Ne6 2.Bc6#" keywords: - Black correction --- authors: - Dawson, Thomas Rayner source: British Chess Bulletin date: 1910 algebraic: white: [Kc8, Qd2, Rh1, Bf8, Sd3, Ph5, Pg6, Pg4, Pd5, Pb6] black: [Kf6, Bd1, Sh6, Pg5, Pf3, Pd4] stipulation: "#3" solution: | "1.Bf8*h6 ! threat: 2.Qd2*g5 # 1...Kf6-e7 2.Qd2*g5 + 2...Ke7-e8 3.Qg5-d8 # 3.Qg5-e5 # 2...Ke7-d6 3.Qg5-e5 # 3.Bh6-f8 # 3.Qg5-d8 # 2.Qd2-b4 + 2...Ke7-e8 3.Qb4-f8 # 2...Ke7-f6 3.Qb4-f8 # 3.Qb4-d6 # 2.Qd2-h2 threat: 3.Qh2-e5 # 1.Qd2-h2 ! threat: 2.Qh2-d6 # 2.Qh2-e5 # 1...Sh6-f5 2.Qh2-e5 # 1...Sh6*g4 2.Qh2-d6 + 2...Kf6-f5 3.Qd6-e6 # 1...Sh6-f7 2.Sd3-c5 threat: 3.Sc5-e4 # 3.Sc5-d7 # 2...Bd1-a4 3.Sc5-e4 # 2...Bd1-c2 3.Sc5-d7 # 2...Sf7-d6 + 3.Qh2*d6 # 2...Sf7-e5 3.Sc5-e4 # 2.Qh2-c7 threat: 3.Qc7*f7 # 3.Qc7-e7 # 2...Sf7-d6 + 3.Qc7*d6 # 2...Sf7-e5 3.Bf8-g7 # 3.Qc7*e5 # 3.Qc7-d6 # 3.Qc7-d8 # 3.Qc7-g7 # 3.Qc7-e7 # 2...Sf7-h6 3.Bf8-g7 # 3.Qc7-e5 # 3.Qc7-d6 # 3.Qc7-d8 # 3.Qc7-c6 # 3.Qc7-g7 # 3.Qc7-e7 # 2...Sf7-h8 3.Bf8-g7 # 3.Qc7-e5 # 3.Qc7-d6 # 3.Qc7-d8 # 3.Qc7-c6 # 3.Qc7-g7 # 3.Qc7-e7 # 2...Sf7-d8 3.Bf8-g7 # 3.Qc7-e5 # 3.Qc7*d8 # 3.Qc7-g7 # 3.Qc7-e7 # 2.Rh1*d1 zugzwang. 2...f3-f2 3.Qh2*f2 # 2...Sf7-d6 + 3.Qh2*d6 # 2...Sf7-e5 3.Qh2*e5 # 2...Sf7-h6 3.Qh2-e5 # 3.Qh2-d6 # 2...Sf7-h8 3.Qh2-d6 # 3.Qh2-e5 # 2...Sf7-d8 3.Qh2-e5 # 1.Rh1-g1 ! threat: 2.Qd2*g5 + 2...Kf6*g5 3.Bf8-e7 # 1...Sh6-f5 2.Qd2-f4 threat: 3.Qf4-e5 # 3.Qf4*f5 # 2...g5*f4 3.g4-g5 # 1...Sh6*g4 2.Rg1*g4 threat: 3.Qd2*g5 # 1...Sh6-g8 2.Qd2-b4 threat: 3.Qb4-d6 # 3.Qb4*d4 # 2...Sg8-e7 + 3.Qb4*e7 # 1...Sh6-f7 2.Qd2-b4 threat: 3.Qb4-e7 # 2...Sf7-d6 + 3.Qb4*d6 #" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine algebraic: white: [Kg6, Qd1, Re8, Rd7, Bh2, Sf2, Pg3] black: [Ke5, Rb3, Ra4, Bc1, Sd2, Pg4, Pf3, Pe6] stipulation: "#2" solution: | "1...Rf4 2.gxf4# 1...Ne4 2.Nxg4#/Qd5#/Rd5# 1...Nf1/Nb1 2.Qd5#/Qd6#/Rd5# 1...Nc4 2.Qd4#/Qd5#/Rd5# 1.Nxg4+?? 1...Ke4 2.Rxe6# but 1...Rxg4+! 1.Nd3+?? 1...Ke4 2.Qe1#/Rxe6# but 1...Rxd3! 1.Qe1+?? 1...Re4/Ne4 2.Nxg4# but 1...Re3! 1.Qe2+?? 1...Re3 2.Qb5# 1...Re4/Ne4 2.Nxg4# but 1...fxe2! 1.Qc2?? (2.Qc5#/Qc7#/Qf5#) 1...Ba3/Rc4/Rd4/Rc3 2.Qf5# 1...Ra5 2.Nxg4#/Qc7#/Qf5# 1...Ra6/Ra7 2.Nxg4#/Qc5#/Qf5# 1...Re4 2.Qc5#/Qc7# 1...Rf4 2.gxf4#/Qc5#/Qc7# 1...Rb5 2.Qc7#/Qf5# 1...Rb6/Rb7 2.Qc5#/Qf5# 1...Ne4 2.Nxg4# 1...Nc4 2.Nxg4#/Qe4#/Qf5# but 1...Rd3! 1.Rd6?? (2.Rexe6#) but 1...Kxd6! 1.Rh8! (2.Rh5#) 1...Rf4 2.gxf4# 1...Ne4 2.Nxg4# 1...Nf1/Nb1 2.Qd6# 1...Nc4 2.Qd4#" keywords: - Black correction --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine algebraic: white: [Kc7, Qf3, Rd7, Bg4, Bb2, Sg2, Sa5, Pg3] black: [Ke5, Qc2, Ba1, Se4, Sd4, Pg6, Pg5, Pc6] stipulation: "#2" solution: | "1...Qc4/Qxb2/Nc3 2.Nxc4# 1...Qd2/Qf2/Qxg2/Qd1/Qb1 2.Nc4#/Nxc6# 1...Qe2/Qd3/Qb3/c5/Nc5 2.Nxc6# 1...Nf2/Nf6/Nxg3/Nd2/Nd6 2.Re7# 1.Nh4! (2.Nxg6#) 1...gxh4 2.Qf4# 1...Nf2/Nf6/Nxg3/Nd2/Nd6 2.Re7# 1...Nc3 2.Nc4# 1...Nc5 2.Nxc6#" keywords: - Black correction --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1946 algebraic: white: [Ka8, Rh4, Rd8, Bc3, Sb7, Sa7] black: [Kc7, Qg3, Bh3, Se5, Pf6, Pd3, Pb6] stipulation: "#2" solution: | "1...b5 2.Ba5# 1...Nf3/Nf7/Ng6/Nc4 2.Rc4# 1...Ng4 2.Rh7# 1...Nd7 2.Rc8# 1...Nc6 2.Nb5# 1.Rc4+?? 1...Nc6 2.Nb5#/Rxc6# but 1...Nxc4! 1.Bxe5+?? 1...fxe5 2.Rc4# but 1...Qxe5! 1.Bb4! (2.Bd6#) 1...b5 2.Ba5# 1...Nf3/Nf7/Ng6/Nc4 2.Rc4# 1...Ng4 2.Rh7# 1...Nd7 2.Rc8# 1...Nc6 2.Nb5#" keywords: - Black correction --- authors: - Dawson, Thomas Rayner source: Reading Observer date: 1912 algebraic: white: [Kg2, Qc8, Rf3, Rc2, Sd2, Sb4, Pe6, Pe4, Pb2] black: [Ka1, Bd3, Sc6, Pe7, Pb6, Pb5] stipulation: "#2" solution: | "1...Be2 2.Ra3# 1...Bf1+ 2.Rxf1# 1...Nd4/Nd8/Ne5 2.Qa8#/Qa6# 1...Na7 2.Qa6# 1.Qa8+?? 1...Na7 2.Qxa7# but 1...Na5! 1.Rc1+?? 1...Bb1 2.Rxb1# but 1...Kxb2! 1.Rxd3?? (2.Ra3#) but 1...Nxb4! 1.b3?? (2.Ra2#) 1...Nxb4 2.Qc3#/Qh8# 1...Bf1+ 2.Rxf1# but 1...Bxc2! 1.Qh8! zz 1...Nd4/Ne5 2.Qa8# 1...Nd8/Nxb4/Nb8/Na5/Na7 2.b3# 1...Be2 2.Ra3#/Rc1# 1...Bf1+ 2.Rxf1# 1...Bxe4 2.Qh1# 1...Bxc2 2.Ra3# 1...Bc4 2.Rc1#" --- authors: - Dawson, Thomas Rayner source: Magyar Sakkvilág date: 1937 algebraic: white: [Kf6, Qc8, Rb3, Ba8, Sg3, Sc4, Pc2] black: [Kd4, Qe1, Rd2, Ra5, Bf2, Sa4, Pe2, Pd6, Pa6] stipulation: "#2" solution: | "1...Rd3 2.Rxd3#[A] 1...Rc5 2.Qg4# 1...Rf5+ 2.Nxf5#[B] 1.c3+?? 1...Kd3 2.Be4# but 1...Nxc3! 1.Nxd2?? (2.Qc4#/Rd3#[A]/Nf3#) 1...Nc5[a]/Rf5+ 2.Nf5#[B] 1...Qh1 2.Qc4#/Rd3#[A]/Nxe2# 1...Nb2 2.Qc3#/Nf3# 1...Nb6 2.Qc3#/Nf3#/Rd3#[A] 1...Nc3 2.Qxc3# 1...d5 2.Nf3#/Rd3#[A]/Nf5#[B] 1...Rc5 2.Qg4#/Rd3#[A] but 1...Qxd2! 1.Nxd6? (2.Qc4#) 1...Nc5[a] 2.Ngf5#[C] 1...Nb2/Nb6/Nc3 2.Qc3# 1...Rc5 2.Qg4# 1...Rf5+ 2.Ndxf5#/Ngxf5#[C] 1...Rd3 2.Rxd3#[A] but 1...Rxc2[b]! 1.Ne5?? (2.Qc4#/Nf5#[B]/Nf3#) 1...Nc5[a]/dxe5 2.Nf5#[B] 1...Rxc2[b] 2.Nf5#[B]/Nf3#/Rd3#[A] 1...Qh1 2.Qc4#/Nf5#[B] 1...Bxg3/Rd5 2.Qc4#/Nf3# 1...Nb2/Nb6 2.Qc3#/Nf3#/Nf5#[B] 1...Nc3 2.Qxc3#/Nf5#[B] 1...Rc5 2.Qg4#/Nf5#[B] 1...Rd3 2.Rxd3#[A]/Nf5#[B] 1...d5 2.Nf3# but 1...Rxe5! 1.Nb2? (2.Qc4#) 1...Nc5[a]/Rf5+ 2.Nf5#[B] 1...Rd3/Rxc2[b] 2.Rxd3#[A] 1...Nxb2/Nb6/Nc3 2.Qc3# 1...Rc5 2.Qg4# but 1...d5! 1.Na3?? (2.Qc4#) 1...Rf5+/Nc5[a] 2.Nxf5#[B] 1...Rxc2[b] 2.Nxc2#[D] 1...Rc5 2.Qg4# 1...Rd3 2.Rxd3#[A] 1...Nb2/Nb6/Nc3 2.Qc3# but 1...d5! 1.Nxa5?? (2.Qc4#/Nf5#[B]) 1...Rxc2[b]/Nc5[a] 2.Nf5#[B] 1...Bxg3 2.Qc4# 1...Rd3 2.Rxd3#[A]/Nf5#[B] 1...Nb2/Nb6/Nc3 2.Qc3#/Nf5#[B] but 1...d5! 1.Nxe2+?? 1...Rxe2 2.Rd3#[A] but 1...Qxe2! 1.Ne3! (2.Qc4#) 1...Nc5[a] 2.Ngf5#[C] 1...Rxc2[b] 2.Nxc2#[D] 1...Bxe3 2.Rb4# 1...Nb2/Nb6/Nc3 2.Qc3# 1...Rc5 2.Qg4# 1...Rf5+ 2.Ngxf5#[C]/Nexf5# 1...Rd3 2.Rxd3#[A] 1...d5 2.Nef5#" keywords: - Transferred mates - Changed mates --- authors: - Dawson, Thomas Rayner source: Stratford Express date: 1942 algebraic: white: [Ka8, Qg7, Re8, Rc8] black: [Kd3, Rf1, Rd1, Be1, Sf6, Sb4, Ph7, Ph4, Pf2, Pd4, Pd2, Pa6, Pa5] stipulation: "#2" solution: | "1...h3 2.Qg3# 1...Ng4/Ng8/Nh5/Nfd5/Nd7 2.Qxh7# 1.Qg6+?? 1...Ne4 2.Qxe4# but 1...hxg6! 1.Qg2?? (2.Qh3#/Qxf1#/Qf3#) 1...Ng4/Nfd5 2.Qxf1#/Qe4# 1...Nh5 2.Qxf1#/Qf3#/Qe4# 1...Ne4 2.Qf3#/Qxe4# 1...Nxe8/Rg1/Rh1 2.Qf3# 1...Nc2/Nbd5 2.Qxf1# but 1...Nc6! 1.Qxh7+?? 1...Ne4 2.Qxe4# but 1...Nxh7! 1.Qxf6?? (2.Qf5#/Qf3#) 1...Nc2/Nd5 2.Qf5#/Qxa6# but 1...Nc6! 1.Qb7! (2.Qf3#) 1...Nc2 2.Qb3#/Qxa6# 1...Nc6 2.Qb3# 1...Nbd5 2.Qxa6# 1...Ng4 2.Qxh7#/Qe4# 1...Ne4 2.Qxe4# 1...Nfd5 2.Qxh7#" --- authors: - Dawson, Thomas Rayner source: Bath Chronicle date: 1945 algebraic: white: [Ke2, Qg7, Rf3, Re7, Be5, Ph3, Pg5, Pf6, Pf5, Pc4] black: [Ke4, Sh8, Sg6, Ph4, Pf7] stipulation: "#2" solution: | "1...Nf4+/Nf8 2.Rxf4# 1.Qxg6?? (2.Bc3#/Bb2#/Ba1#/Rf4#/Re3#) 1...fxg6 2.Rf4#/Bc3#/Bb2#/Ba1# but 1...Nxg6! 1.Qh6?? zz 1...Nf4+ 2.Rxf4# 1...Nf8 2.Qxh4#/Rf4# 1...Nxe5 2.Qxh4# but 1...Nxe7! 1.Qxh8?? (2.Qa8#) 1...Nxh8 2.Bc3#/Bb2#/Ba1#/Rf4# 1...Nf4+ 2.Rxf4# 1...Nf8 2.Qxh4#/Rf4# 1...Nxe5 2.Qxh4# but 1...Nxe7! 1.Bc3+?? 1...Ne5 2.Rxe5# but 1...Nxe7! 1.Bb2+?? 1...Ne5 2.Rxe5# but 1...Nxe7! 1.Ba1+?? 1...Ne5 2.Rxe5# but 1...Nxe7! 1.fxg6?? (2.Bc3#/Bb2#/Ba1#/Rf4#) but 1...Nxg6! 1.Qh7! zz 1...Nf4+ 2.Rxf4# 1...Nf8 2.Qxh4#/Rf4#/Re3# 1...Nxe5 2.Qxh4# 1...Nxe7 2.Re3#" --- authors: - Dawson, Thomas Rayner source: Chess date: 1944 algebraic: white: [Kh5, Qb4, Rb5, Bh2, Bb3, Sg4, Se2] black: [Kf5, Re3, Ba7, Sd5, Sc5, Pe6] stipulation: "#2" solution: | "1...Ne7/Nf4+/Nc3/Nc7/Nb6/Nd7/Nxb3/Nb7/Na4/Na6 2.Qf4#[A] 1...Re5/Rg3 2.Ng3#[B] 1.Nxe3+?? 1...Nxe3 2.Qf4#[A] but 1...Kf6! 1.Bc2+! 1...Nd3 2.Qf4#[A] 1...Ne4 2.Qf8# 1...Re4 2.Nd4# 1...Rd3 2.Ng3#[B] 1.Nd4+! 1...Ke4 2.Nf2#" keywords: - Checking key - Flight giving key - Cooked - Transferred mates --- authors: - Dawson, Thomas Rayner source: Chess date: 1944 algebraic: white: [Kf8, Qe7, Re8, Rb4, Ba7, Sg4, Sa3, Pb2] black: [Kd3, Bc5, Sb5, Pg6, Pg3, Pe2, Pd2, Pb3] stipulation: "#2" solution: | "1...Nd6 2.Qxe2# 1...Bd4/Bb6/Bxa7 2.Qe4#/Qxe2# 1...Be3 2.Qe4#/Qxe3#/Ne5# 1...Bf2/Bg1 2.Qe4#/Qxe2#/Ne5# 1.Qxc5?? (2.Re3#/Ne5#/Qc4#/Qxb5#/Qe3#) 1...d1Q/d1R/d1B 2.Qe3# 1...Nc3 2.Ne5#/Re3#/Rd4#/Qc4#/Qxc3#/Qd4#/Qe3# 1...Nc7 2.Ne5#/Re3#/Rxb3#/Rd4#/Qc4#/Qc3#/Qd4#/Qe3# 1...Nd4 2.Rxd4#/Qc4#/Qc3#/Qxd4#/Re3# 1...Nd6 2.Ne5#/Rxb3#/Rd4#/Qc3#/Qd5#/Qd4#/Qe3#/Qxd6#/Re3# 1...Nxa3 2.Ne5#/Rxb3#/Rd4#/Qc3#/Re3#/Rd8# 1...Nxa7 2.Ne5#/Rxb3#/Rd4#/Qc4#/Qc3#/Qd5#/Qd4#/Qe3#/Qd6#/Re3#/Rd8# 1...e1Q/e1R 2.Qc4#/Qxb5# 1...e1B/e1N 2.Qc4#/Qxb5#/Qe3#/Re3# but 1...d1N! 1.Rxb3+?? 1...Kd4 2.Qxc5# but 1...Nc3! 1.Nf2+?? 1...Bxf2 2.Qe4#/Qxe2# but 1...gxf2! 1.Rd8+! 1...Bd4 2.Qe3# 1...Bd6 2.Ne5# 1...Nd4 2.Rxb3# 1...Nd6 2.Qe4#" keywords: - Checking key --- authors: - Dawson, Thomas Rayner source: Chess date: 1944 algebraic: white: [Kg1, Qa3, Rb3, Bb1, Ba1, Sh8, Sd2, Pg3, Pc7] black: [Kg5, Qc8, Be6, Bd6, Ph6, Ph5, Pg4] stipulation: "#2" solution: | "1...Bf7/Bd7 2.Nxf7#[A] 1...Bf4/Be7/Bxc7 2.Qe7#[B] 1.Rb5+! 1...Bf5 2.Ne4# 1...Bd5 2.Nf7#[A] 1...Be5 2.Qe7#[B] 1...Bc5+ 2.Qe3#" keywords: - Checking key - Transferred mates --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1909 algebraic: white: [Ke7, Rg6, Ra3, Bc2, Ba7, Sc5, Pf4, Pa6] black: [Kd5, Sh7, Se8, Ph3, Pc3, Pa4] stipulation: "#3" solution: | "1.Sc5-e6 ! threat: 2.Ra3*c3 threat: 3.Rc3-c5 # 1...Kd5-c6 2.Se6-c7 + 2...Kc6*c7 3.Ra3*c3 # 2...Sh7-f6 3.Ra3*c3 # 2...Se8-d6 3.Ra3*c3 # 2...Se8-f6 3.Ra3*c3 # 1...Kd5-c4 2.Ra3*a4 + 2...Kc4-b5 3.Se6-d4 # 2...Kc4-d5 3.Bc2-e4 # 1...Sh7-f6 2.Rg6-g5 + 2...Kd5-c6 3.Rg5-c5 # 3.Ra3*c3 # 3.Bc2*a4 # 2...Kd5-c4 3.Ra3*a4 # 1...Sh7-g5 2.Rg6*g5 + 2...Kd5-c6 3.Rg5-c5 # 3.Ra3*c3 # 3.Bc2-e4 # 3.Bc2*a4 # 2...Kd5-c4 3.Ra3*a4 # 1...Sh7-f8 2.Rg6-g5 + 2...Kd5-c6 3.Rg5-c5 # 3.Ra3*c3 # 3.Bc2-e4 # 3.Bc2*a4 # 2...Kd5-c4 3.Ra3*a4 # 1...Se8-c7 2.Se6*c7 + 2...Kd5-c4 3.Ra3*a4 # 1...Se8-d6 2.Se6-c7 + 2...Kd5-c6 3.Ra3*c3 # 2...Kd5-c4 3.Ra3*a4 # 1...Se8-f6 2.Se6-c7 + 2...Kd5-c6 3.Ra3*c3 # 2...Kd5-c4 3.Ra3*a4 # 1...Se8-g7 2.Se6-c7 + 2...Kd5-c4 3.Ra3*a4 #" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1909 algebraic: white: [Kg8, Qf1, Re2, Be7, Se1, Sb6, Ph2] black: [Ke5, Pf5, Pe4] stipulation: "#2" solution: | "1.Rxe4+?? 1...fxe4 2.Qf6# but 1...Kxe4! 1.Qxf5+?? 1...Kd4 2.Bf6#/Qf6#/Qc5# but 1...Kxf5! 1.Qh3! zz 1...Ke6 2.Rxe4# 1...Kf4 2.Qg3# 1...Kd4 2.Qh8# 1...f4 2.Nf3# 1...e3 2.Qxe3#" keywords: - King Y-flight - Flight giving key --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1910 algebraic: white: [Kg5, Qe6, Rb7, Be7, Sg8, Sb1, Pg2, Pc2, Pa6] black: [Kd4, Be8, Sc3, Sb2, Pg7, Pg6, Pe3, Pc6, Pc4, Pa7] stipulation: "#3" solution: | "1.Sg8-f6 ! zugzwang. 1...Sb2-d1 2.Qe6*c4 + 2...Kd4*c4 3.Rb7-b4 # 2...Kd4-e5 3.Sf6-g4 # 1...Sb2-d3 2.Qe6-d6 + 2...Sc3-d5 3.c2-c3 # 1...Sb2-a4 2.Qe6*c4 + 2...Kd4*c4 3.Rb7-b4 # 2...Kd4-e5 3.Sf6-g4 # 1...Sc3-a2 2.Qe6-e4 # 2.Qe6-d6 # 1...Sc3*b1 2.Qe6-e4 + 2...Kd4-c3 3.Be7-b4 # 1...Sc3-d1 2.Qe6-e4 # 2.Qe6-d6 # 1...Sc3-e2 2.Qe6-d6 # 2.Qe6-e4 # 1...Sc3-e4 + 2.Qe6*e4 # 1...Sc3-d5 2.Qe6-e4 # 1...Sc3-b5 2.Qe6-e4 # 1...Sc3-a4 2.Qe6-e4 # 2.Qe6-d6 # 1...e3-e2 2.Qe6-e3 + 2...Kd4*e3 3.Be7-c5 # 1...c6-c5 2.Qe6-d6 + 2...Sc3-d5 3.Qd6*d5 # 1...g7*f6 + 2.Qe6*f6 + 2...Kd4-e4 3.Sb1*c3 # 2...Kd4-d5 3.Sb1*c3 # 1...Be8-d7 2.Rb7*d7 + 2...Sc3-d5 3.Qe6-e4 # 1...Be8-f7 2.Rb7-d7 + 2...Sc3-d5 3.Qe6-e4 #" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1946 algebraic: white: [Kb4, Qc2, Rf6, Bb2, Se5, Sd4, Pf4, Pd7, Pc6] black: [Kd5, Qh1, Bc8, Sd8, Sd2, Pg5, Pg2, Pe3] stipulation: "#2" solution: | "1...Ne4 2.Qc4#/Qb3# 1...Nxc6+ 2.Qxc6# 1.Ne6?? (2.Qd3#/Nc7#) 1...Kd6 2.Qc5# 1...Nxc6+ 2.Qxc6# 1...Ba6/Nf3/Nb3/Qh7/Qf1/Qb1 2.Nc7# but 1...Nxe6! 1.Nf5?? (2.Rd6#/Qd3#/Nxe3#/Ne7#) 1...g1Q/g1B/gxf4/Qh3/Qg1/Qe1 2.Ne7#/Rd6#/Qd3# 1...Nf7/Nb7/Qh6 2.Nxe3#/Ne7#/Qd3# 1...Nxc6+ 2.Qxc6# 1...Ba6/Qf1/Qb1 2.Nxe3#/Ne7#/Rd6# 1...Ne4 2.Nxe3#/Ne7#/Qc4#/Qd3#/Qb3# 1...Nf1 2.Ne7#/Qc4#/Qd3#/Rd6# 1...Nf3/Nb3 2.Nxe3#/Ne7#/Qc4#/Rd6# 1...Nc4 2.Ne7#/Qxc4#/Qd3# 1...Qh7 2.Nxe3#/Qd3#/Rd6# but 1...Ne6! 1.Nb5?? (2.Nc7#/Rd6#/Qd3#) 1...Qh6/Nf7/Nb7 2.Nc7#/Qd3# 1...Qh7/Qf1/Qb1 2.Nc7#/Rd6# 1...Nxc6+ 2.Qxc6# 1...Ne4 2.Nc7#/Qc4#/Qd3#/Qb3# 1...Nf3/Nb3 2.Nc7#/Qc4#/Rd6# 1...Nc4 2.Nc7#/Qxc4#/Qd3# but 1...Ne6! 1.Ng6?? (2.Qf5#/Ne7#) 1...Qh3/Qb1/Nf3/Nc4/Bxd7/Nf7 2.Ne7# 1...Qh7/gxf4 2.Qf5# 1...Ne4 2.Ne7#/Qc4#/Qb3# 1...Nxc6+ 2.Qxc6# but 1...Ne6! 1.Qd3! (2.Ne2#/Ne6#/Ndf3#/Nf5#/Nc2#/Nb3#/Nb5#) 1...Ne6 2.Nxe6# 1...Nxc6+ 2.Ndxc6# 1...Qh7 2.Nf5# 1...Qf1 2.Ne2# 1...Qb1 2.Nc2# 1...Ba6 2.Nb5# 1...Nf3 2.Ndxf3# 1...Nb3 2.Nxb3# 1.Qf5! (2.Nef3#/Nf7#/Ng4#/Ng6#/Nd3#/Nc4#) 1...Ne6 2.Nf7#/Nc4# 1...Nf7 2.Nxf7# 1...Nxc6+ 2.Nexc6# 1...Qh3 2.Ng4# 1...Qh7 2.Ng6# 1...Qb1 2.Nd3# 1...Nf3 2.Nexf3# 1...Nc4 2.Nxc4# 1...Bxd7 2.Nxd7#" keywords: - Cooked - Fleck - Karlstrom-Fleck --- authors: - Dawson, Thomas Rayner source: Western Daily Mercury date: 1921 algebraic: white: [Ka8, Qc8, Rf3, Rd3, Be8, Bb8, Se3, Sb7, Pe2] black: [Ke4, Qh3, Rb6, Ra6, Bg8, Bf8, Pg6, Pg5, Pg3, Pa7] stipulation: "#2" solution: | "1...g4 2.Rf4# 1...Bh7/Bc4/Re6 2.Qc4# 1...Bg7/Bh6/Bc5 2.Nc5# 1...Qh2/Qh1/Qh6/Qh7/Qh8/Qg2/Qf1/Qg4 2.Qg4# 1.Qc6+?? 1...Bd5 2.Qxd5# but 1...Rxc6! 1.Qc3?? (2.Rd4#/Qd4#/Qe5#) 1...Qf5/Qe6/Ra5/Rb5 2.Qd4#/Rd4# 1...Qd7/Ra4/Rb4 2.Qe5# 1...Rd6/Bg7 2.Nc5# 1...Re6 2.Qc4#/Qd4#/Rd4# 1...Bd6 2.Qd4# 1...Bc5 2.Qe5#/Nxc5# but 1...Qh8! 1.Bxg6+?? 1...Qf5 2.Qxf5#/Bxf5# but 1...Rxg6! 1.Bc6+?? 1...Bd5 2.Bxd5# but 1...Rxc6! 1.Nd5?? (2.Qc4#/Rfe3#/Nc3#) 1...Rb4/Ra4 2.Rfe3#/Nc3# 1...Rb3/Ra3/Bb4 2.Rfe3#/Qc4# 1...Rc6/Rd6/Bxd5/Bd6 2.Rfe3# 1...Re6/Qe6/Qd7/g2 2.Nc3#/Qc4# 1...Be6 2.Nf6#/Nc3#/Qc4# 1...Qh8 2.Qg4#/Rfe3# 1...Bg7 2.Rfe3#/Nc5# 1...Bc5 2.Nxc5#/Nc3# but 1...Qxc8! 1.Nc4?? (2.Rfe3#/Nd2#) 1...Ra2/Bb4/Rb2 2.Rfe3# 1...Be6/Qe6/Qd7/Qxc8/g2/Re6 2.Nd2# 1...Bxc4 2.Rfe3#/Qxc4# 1...Bc5 2.Nxc5#/Nd2# 1...Rd6 2.Nc5# but 1...Bd6! 1.Ng4! (2.Rfe3#) 1...Rd6/Bc5 2.Nc5# 1...Re6 2.Qc4# 1...Be6 2.Nf6# 1...Bd6 2.Bxg6# 1...g2 2.Nf2#" keywords: - Grimshaw --- authors: - Dawson, Thomas Rayner source: Tidskrift för Schack date: 1923 algebraic: white: [Kg5, Qd1, Rc8, Bb2, Ba6, Sf6, Se3, Pg2, Pe5, Pe4, Pd6, Pc7, Pc3, Pa5, Pa3] black: [Kd3, Rc1, Bd2, Se1, Sb1, Pf5, Pc6, Pc2, Pb5] stipulation: "#2" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: The Evening Standard date: 1929 algebraic: white: [Kf7, Rb2, Ra5, Bd3, Ba3, Sg6, Sd5, Ph5, Pg5, Pf4, Pd2, Pc2, Pb5, Pb3, Pa6] black: [Kd6, Bc4, Sa1, Ph4, Pg3, Pf6, Pd7, Pc5, Pa7, Pa2] stipulation: "#2" solution: 1.bxc6 ep.! keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: Prager Presse algebraic: white: [Ke4, Qd1, Re2, Bb8, Sg2, Sf2, Ph5, Ph3, Pg7, Pg6, Pd5, Pd3, Pb2] black: [Kg3, Bh1, Ph2, Pf7, Pf6, Pe5, Pd4, Pb7, Pa7] stipulation: "#2" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: Allgemeine Zeitung Chemnitz date: 1925 algebraic: white: [Kb5, Qd5, Rh6, Bh7, Sf7, Pg5] black: [Ke8, Rh8, Rh5, Pg7, Pe7, Pb7] stipulation: "#2" solution: | "1.Bg6! (2.Qd8#) 1...O-O 2.Bh7# 1...Rxg5 2.Rxh8#" keywords: - Flight giving key - Castling - Switchback --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1913 algebraic: white: [Kb3, Qh4, Re7, Rd5, Bh7, Bh6, Sg8, Pg5, Pg2, Pf4, Pe3, Pc2, Pb4, Pa3] black: [Ke4, Qa8, Rc8, Rb8, Be6, Bd8, Sb7, Ph5, Pg4, Pf5, Pd7, Pd6, Pc7, Pc6, Pa7] stipulation: "#2" solution: | "1... Kxd5 2.Nf6# 1.Bxf5+?? 1... Kxd5 2.c4#/Nf6# but 1... Kxe3! 1. gxf6+ e.p.! 1... Kxd5 2.c4# 1... Kxe3 2.Qe1#" keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: The Problem date: 1914 algebraic: white: [Ke1, Rc2, Ra1, Bc1, Sg4, Sf4, Pd2, Pc3, Pa3, Pa2] black: [Kh1, Bb2] stipulation: "#2" solution: | "1.Ke2?? (2.Bxb2#) 1...Bxc1 2.Raxc1#/Rcxc1# but 1...Bxa1! 1.Kf2?? (2.Bxb2#) 1...Bxc1 2.Rcxc1#/Raxc1# but 1...Bxa1! 1.Bxb2! (2.Ke2#/Kf2#/O-O-O#) 1...Kg1 2.Ke2#/O-O-O#" keywords: - Retro - Cantcastler --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1910 algebraic: white: [Kf6, Qh1, Re7, Rc2, Bh8, Bg8, Sd3, Pg2, Pf5, Pe2, Pb2] black: [Kd4, Rg4, Bg1, Sd1, Sa1, Ph7, Pg6, Pg5, Pg3, Pd6, Pc5, Pb5] stipulation: "#2" solution: | "1...b4 2.Rc4# 1...d5 2.Kf7# 1...Rf4/Rh4 2.Kxg5# 1...Nc3 2.Qxg1#/bxc3# 1...Nxb2 2.Qxg1# 1...h6/h5 2.Kxg6# 1...gxf5 2.Kxf5# 1.Kg7?? (2.Kxh7#/Kh6#/Kf8#) 1...Rh4 2.Kf8# but 1...Re4! 1.Qxh7?? (2.Kxg6#) but 1...Re4! 1.Qxg1+?? 1...Ne3 2.Qxe3# but 1...Nf2! 1.Nxc5! zz 1...b4 2.Rc4# 1...dxc5 2.Rd2# 1...d5 2.Kf7# 1...Nb3/Nxc2 2.Nxb3# 1...Rf4/Rh4 2.Kxg5# 1...Re4 2.Rxe4# 1...Ne3/Be3 2.Ke6# 1...Nf2 2.e3# 1...Nc3/Nxb2 2.Qxg1# 1...Bh2/Bf2 2.Qxd1# 1...h6/h5 2.Kxg6# 1...gxf5 2.Kxf5#" keywords: - Black correction - B2 --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1910 algebraic: white: [Ka5, Rc7, Bh2, Bf1, Sb3, Pg2, Pe6, Pc2] black: [Kd5, Pg6, Pg5, Pe4, Pc6] stipulation: "#3" solution: | "1.g2-g4 ! zugzwang. 1...e4-e3 2.Rc7*c6 threat: 3.Bf1-g2 # 1...Kd5*e6 2.Bf1-c4 + 2...Ke6-f6 3.Rc7-f7 # 1...c6-c5 2.Bf1-c4 + 2...Kd5*c4 3.Rc7*c5 #" --- authors: - Dawson, Thomas Rayner source: The Field date: 1946-09-14 algebraic: white: [Kb3, Bf4, Bb5, Pb2, Pc2, Pf3, Pf5, Pc6, Pc4] black: [Kd4, Pf6, Pb6, Pc7] stipulation: "#4" solution: | "1.Kb3-a2 ! zugzwang. 1...Kd4-c5 2.Ka2-b1 zugzwang. 2...Kc5-d4 3.c2-c3 + 3...Kd4-d3 4.c4-c5 # 3...Kd4-c5 4.b2-b4 # 2...Kc5-b4 3.Bf4-e3 zugzwang. 3...Kb4-a5 4.Be3-d2 #" --- authors: - Dawson, Thomas Rayner source: The Field date: 1951-05-12 algebraic: white: [Kf3, Rg3, Bf2, Ph3, Pg4, Pg2, Pd5, Pc5] black: [Kh4, Re1, Rd6, Bf1, Ba3, Sa1, Pg5, Pe6, Pe2, Pc6, Pc2, Pb4] stipulation: "#3" solution: | "1.Kf3-e4 ! threat: 2.Rg3*a3 # 2.Rg3-b3 # 2.Rg3-c3 # 2.Rg3-d3 # 2.Rg3-e3 # 2.Rg3-f3 # 1...Sa1-b3 2.Rg3*b3 # 2.Rg3-c3 # 2.Rg3-d3 # 2.Rg3-e3 # 2.Rg3-f3 # 1...Bf1*g2 + 2.Rg3-f3 # 1...b4-b3 2.Rg3-f3 # 2.Rg3*b3 # 2.Rg3-c3 # 2.Rg3-d3 # 2.Rg3-e3 # 1...c6*d5 + 2.Ke4-e5 threat: 3.Rg3*a3 # 3.Rg3-b3 # 3.Rg3-c3 # 3.Rg3-d3 # 3.Rg3-e3 # 3.Rg3-f3 # 2...Sa1-b3 3.Rg3-f3 # 3.Rg3*b3 # 3.Rg3-c3 # 3.Rg3-d3 # 3.Rg3-e3 # 2...Ba3-b2 + 3.Rg3-c3 # 2...b4-b3 3.Rg3-c3 # 3.Rg3*b3 # 3.Rg3-d3 # 3.Rg3-e3 # 3.Rg3-f3 # 1...e6*d5 + 2.Ke4-d4 threat: 3.Rg3*a3 # 3.Rg3-b3 # 3.Rg3-c3 # 3.Rg3-d3 # 3.Rg3-e3 # 3.Rg3-f3 # 2...Sa1-b3 + 3.Rg3*b3 # 2...Re1-d1 + 3.Rg3-d3 # 2...Ba3-b2 + 3.Rg3-c3 # 2...b4-b3 3.Rg3-c3 # 3.Rg3*b3 # 3.Rg3-d3 # 3.Rg3-e3 # 3.Rg3-f3 # 2...Rd6-f6 3.Rg3-f3 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 31st Tourney distinction: 4th HM algebraic: white: [Ka1, Bb8, Sd8, Sd7, Pf6, Pc4, Pb2, Pa2] black: [Ka8, Pg6, Pf7, Pd6, Pb4] stipulation: "#5" solution: | "1.a2-a4 ! threat: 2.a4-a5 threat: 3.a5-a6 threat: 4.Sd8-c6 threat: 5.Sd7-b6 # 4.a6-a7 threat: 5.Sd7-b6 # 1...b4*a3 ep. 2.b2-b4 threat: 3.b4-b5 threat: 4.b5-b6 threat: 5.b6-b7 # 1...d6-d5 2.c4-c5 threat: 3.c5-c6 threat: 4.c6-c7 threat: 5.Sd7-b6 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 21st Tourney distinction: 1st HM algebraic: white: [Kd1, Rg3, Bc7, Sh3, Pg2] black: [Kb5, Rc2, Ba5, Sh1, Ph2, Pg5, Pf5, Pd2] stipulation: "r#2" solution: | "1.Kd1-e2 ! threat: 2.Ke2-f1 2...d2-d1=Q # 2...d2-d1=R # 1...Sh1*g3 + 2.Ke2-d1 2...Rc2-c1 # 1...Rc2-c1 2.Rg3-e3 2...d2-d1=Q # 1...d2-d1=Q + 2.Ke2-e3 2...Rc2-c3 # 1...d2-d1=S + 2.Ke2-d3 2...Rc2-d2 # 1...d2-d1=R + 2.Ke2-f3 2...Rd1-d3 #" --- authors: - Dawson, Thomas Rayner source: Good Companions (March) date: 1922 distinction: HM algebraic: white: [Ka8, Bf7, Ba5, Se8, Sb7, Ph4, Pc4] black: [Kc6, Qh1, Bf3, Be1, Sg2, Sc2, Pd7, Pb4] stipulation: "#3" solution: | "1.Se8-c7 ! threat: 2.Bf7-d5 + 2...Bf3*d5 3.c4*d5 # 1...Sc2-e3 2.Sc7-b5 threat: 3.Sb5-d4 # 3.Sb5-a7 # 2...Be1-c3 3.Sb5-a7 # 2...Qh1*h4 3.Sb5-a7 # 2...Se3-c2 3.Sb5-a7 # 2...Se3-f5 3.Sb5-a7 # 2...d7-d5 3.Bf7-e8 # 2...d7-d6 3.Bf7-e8 # 1...Sg2*h4 2.Sc7-e6 threat: 3.Se6-d8 # 2...d7-d5 3.Bf7-e8 # 2...d7-d6 3.Bf7-e8 # 2...d7*e6 3.Bf7-e8 # 1...Sg2-f4 2.Sc7-a6 threat: 3.Sa6-b8 # 1...Sg2-e3 2.Sc7-b5 threat: 3.Sb5-a7 # 2...d7-d5 3.Bf7-e8 # 2...d7-d6 3.Bf7-e8 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 15th Tourney distinction: Comm. algebraic: white: [Kd3, Rg5, Bh2, Bb7, Sh7, Pe6, Pe3, Pc6] black: [Kb2, Qh4, Rh3, Rg3, Bf8, Sg4, Ph5, Pg7, Pd7, Pd6, Pc3] stipulation: "r#2" solution: | "1.Kd3-d4 ! threat: 2.Kd4-d5 2...Sg4*e3 # 1...Rg3*e3 2.Rg5-d5 2...Sg4*h2 # 1...Sg4*e3 + 2.Kd4-d3 2...Qh4-c4 # 1...Sg4*h2 + 2.Kd4-d3 2...Rg3*e3 # 1...Sg4-h6 + 2.Kd4-d3 2...Rg3*e3 # 1...Sg4-f6 + 2.Kd4-d3 2...Rg3*e3 # 2.e3-e4 2...Qh4*e4 # 1...Qh4*g5 2.e3-e4 2...Qg5-c5 # 1...d6-d5 2.e3-e4 2...Rg3-d3 # 1...d7*c6 2.Kd4-c4 2...Sg4-e5 # 1...d7*e6 2.Kd4-e4 2...Sg4-f2 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 15th Tourney distinction: Comm. algebraic: white: [Kc6, Qb3, Rh5, Rb7, Bh2, Bf1, Se4, Sa8, Ph6, Ph4, Pd5, Pa5] black: [Kd8, Qh1, Bg2, Ba3, Se8, Pd6, Pa7, Pa6] stipulation: "r#2" solution: | "1.Qb3-c2 ! threat: 2.Se4-g5 2...Bg2*d5 # 1...Qh1*f1 2.Sa8-b6 2...Qf1-b5 # 2.Rb7-b5 2...Qf1*b5 # 2.Rb7*a7 2...Qf1-b5 # 2.Rb7-h7 2...Qf1-b5 # 2.Rb7-g7 2...Qf1-b5 # 2.Rb7-f7 2...Qf1-b5 # 2.Rb7-e7 2...Qf1-b5 # 2.Rb7-c7 2...Qf1-b5 # 2.Se4-c3 2...Qf1-c4 # 1...Qh1-g1 2.Se4-c3 2...Qg1-c5 # 1...Qh1*h2 2.Se4*d6 2...Qh2*d6 # 1...Bg2*f1 2.Sa8-b6 2...Bf1-b5 # 1...Bg2-h3 2.Sa8-c7 2...Bh3-d7 # 1...Bg2*e4 2.Bh2-e5 2...Be4*d5 #" --- authors: - Dawson, Thomas Rayner source: BCPS Ty. date: 1939 distinction: Comm. algebraic: white: [Ka1, Rf3, Rb1, Bh4, Sf8, Sf5, Ph6, Pg7, Pe4, Pc4, Pb7, Pb5, Pb2] black: [Kf6, Qg5, Pd3] stipulation: "r#3" solution: | "1.Sf8-g6 ! threat: 2.Sf5-d4 + 2...Kf6*g6 3.b5-b6 3...Qg5-a5 # 2.Sf5-e3 + 2...Kf6*g6 3.b5-b6 3...Qg5-a5 # 2...Kf6-e6 3.b5-b6 3...Qg5-a5 # 2.Sf5-g3 + 2...Kf6*g6 3.b5-b6 3...Qg5-a5 # 2...Kf6-e6 3.b5-b6 3...Qg5-a5 # 2.Sf5-e7 + 2...Kf6-e6 3.b5-b6 3...Qg5-a5 # 2.Sf5-d6 + 2...Kf6*g6 3.b5-b6 3...Qg5-a5 # 2...Kf6-e6 3.b5-b6 3...Qg5-a5 # 1...d3-d2 2.Sf5-e3 + 2...Kf6*g6 3.b5-b6 3...Qg5-a5 # 2...Kf6-e6 3.b5-b6 3...Qg5-a5 # 1...Qg5*h4 2.e4-e5 + 2...Kf6-e6 3.c4-c5 3...Qh4-a4 # 2...Kf6*g6 3.c4-c5 3...Qh4-a4 # 2...Kf6-f7 3.c4-c5 3...Qh4-a4 # 2...Kf6-g5 3.c4-c5 3...Qh4-a4 # 1...Kf6*g6 2.Sf5-e7 + 2...Qg5*e7 3.b7-b8=R 3...Qe7-a7 # 3.b2-b3 3...Qe7-a3 # 2...Kg6*h6 3.b5-b6 3...Qg5-a5 # 2...Kg6-h7 3.b5-b6 3...Qg5-a5 # 2...Kg6-h5 3.b5-b6 3...Qg5-a5 # 1...Kf6-f7 2.Sf5-d6 + 2...Kf7-g8 3.b5-b6 3...Qg5-a5 # 2...Kf7*g6 3.b5-b6 3...Qg5-a5 # 2...Kf7-e6 3.b5-b6 3...Qg5-a5 # 1...Kf6-e6 2.Sf5-d4 + 2...Ke6-d6 3.b5-b6 3...Qg5-a5 # 2...Ke6-d7 3.b5-b6 3...Qg5-a5 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 38th Tourney distinction: 5th HM algebraic: white: [Kh4, Re7, Ra1, Bh3, Bc3, Se4, Sd7, Pg6, Pf7, Pe3] black: [Ka5, Qb8, Rg1, Rb4, Bh5, Bb6, Sg4, Se1, Pg2, Pf3, Pc7, Pb5, Pa6, Pa4] stipulation: "#3" solution: | "1.Se4-d2 ! threat: 2.Sd2-b3 # 1...a4-a3 2.Ra1*a3 # 1...Sg4*e3 + 2.Kh4-g5 threat: 3.Sd2-b3 # 2...a4-a3 3.Ra1*a3 # 1...Sg4-f2 + 2.e3-e4 threat: 3.Sd2-b3 # 2...a4-a3 3.Ra1*a3 # 1...Sg4-h2 + 2.Bh3-g4 threat: 3.Sd2-b3 # 2...a4-a3 3.Ra1*a3 # 1...Sg4-h6 + 2.Kh4*h5 threat: 3.Sd2-b3 # 2...a4-a3 3.Ra1*a3 # 1...Sg4-f6 + 2.Re7-e4 threat: 3.Bc3*b4 # 3.Sd2-b3 # 2...Se1-d3 3.Sd2-b3 # 2...Se1-c2 3.Sd2-b3 # 2...a4-a3 3.Ra1*a3 # 2...Bb6-d4 3.Sd2-b3 # 2...Bb6-c5 3.Sd2-b3 # 2...Sf6-d5 3.Sd2-b3 # 2...Sf6*e4 3.Sd2-b3 # 2...c7-c5 3.Sd2-b3 # 2...Qb8-f8 3.Sd2-b3 # 1...Sg4-e5 + 2.Kh4-g3 threat: 3.Sd2-b3 # 2...a4-a3 3.Ra1*a3 #" --- authors: - Dawson, Thomas Rayner source: BCPS date: 1939 distinction: 2nd Comm. algebraic: white: [Kf1, Re5, Re4, Bd1, Sd8, Ph2, Pg2, Pe7] black: [Ke8, Pg6, Pf7, Pd7, Pd2, Pb3] stipulation: "r#3" solution: | "1.Kf1-g1 ! threat: 2.Re5-a5 threat: 3.Re4-e1 3...d2*e1=Q # 2.Re5-b5 threat: 3.Re4-e1 3...d2*e1=Q # 2.Re5-c5 threat: 3.Re4-e1 3...d2*e1=Q # 2.Re5-d5 threat: 3.Re4-e1 3...d2*e1=Q # 2.Re5-g5 threat: 3.Re4-e1 3...d2*e1=Q # 2.Re4-a4 threat: 3.Re5-e1 3...d2*e1=Q # 2.Re4-b4 threat: 3.Re5-e1 3...d2*e1=Q # 2.Re4-c4 threat: 3.Re5-e1 3...d2*e1=Q # 2.Re4-d4 threat: 3.Re5-e1 3...d2*e1=Q # 2.Re4-g4 threat: 3.Re5-e1 3...d2*e1=Q # 1...b3-b2 2.Re5-b5 threat: 3.Re4-e1 3...d2*e1=Q # 2.Re4-a4 threat: 3.Re5-e1 3...d2*e1=Q # 1...g6-g5 2.Re4-g4 threat: 3.Re5-e1 3...d2*e1=Q # 1...d7-d5 2.Re4-a4 threat: 3.Re5-e1 3...d2*e1=Q # 1...d7-d6 2.Re5-b5 threat: 3.Re4-e1 3...d2*e1=Q # 1...f7-f5 2.Re4-g4 threat: 3.Re5-e1 3...d2*e1=Q # 1...f7-f6 2.Re5-g5 threat: 3.Re4-e1 3...d2*e1=Q #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 31st Tourney distinction: 5th Comm. algebraic: white: [Kb6, Sc4, Sb5, Pf5, Pd3, Pc2, Pb2] black: [Kd5, Sa6, Pf3, Pc5] stipulation: "#5" solution: | "1.Kb6-b7 ! zugzwang. 1...f3-f2 2.Sb5-c3 + 2...Kd5-d4 3.Sc3-e2 + 3...Kd4-d5 4.Se2-f4 + 4...Kd5-d4 5.c2-c3 # 1...Sa6-b4 2.Sb5-c7 + 2...Kd5-d4 3.Sc7-e6 + 3...Kd4-d5 4.Se6-f4 + 4...Kd5-d4 5.c2-c3 # 1...Sa6-c7 2.Sb5*c7 + 2...Kd5-d4 3.Kb7-c6 threat: 4.Sc7-b5 # 4.Sc7-e6 # 2.Sb5-c3 + 2...Kd5-d4 3.Kb7-c6 zugzwang. 3...f3-f2 4.Sc3-e2 # 3...Sc7-a6 4.Sc3-b5 # 3...Sc7-b5 4.Sc3*b5 # 3...Sc7-d5 4.Sc3-b5 # 3...Sc7-e6 4.Sc3-b5 # 3...Sc7-e8 4.Sc3-b5 # 3...Sc7-a8 4.Sc3-b5 # 1...Sa6-b8 2.Sb5-c7 + 2...Kd5-d4 3.Sc7-e6 + 3...Kd4-d5 4.Se6-f4 + 4...Kd5-d4 5.c2-c3 # 4.c2-c3 threat: 5.Se6-f4 # 5.Se6-c7 # 4...Sb8-a6 5.Se6-f4 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 15th Tourney distinction: 2nd Prize algebraic: white: [Ke2, Rd4, Bf3, Sg2, Pe4, Pe3, Pc4] black: [Kh3, Qa8, Ba5, Sh2, Pg4, Pd2, Pc2, Pb6] stipulation: "r#2" solution: | "1.Sg2-e1 ! threat: 2.Rd4-d3 2...d2*e1=Q # 2.Ke2-f2 2...d2*e1=Q # 1...c2-c1=S + 2.Ke2-f2 2...d2*e1=Q # 1...d2-d1=Q + 2.Ke2-f2 2...Qd1*e1 # 1...d2-d1=S 2.Se1-d3 2...g4*f3 # 1...d2-d1=R 2.Rd4-d2 2...Rd1*d2 # 1...d2-d1=B + 2.Ke2-d3 2...c2-c1=S # 1...d2*e1=Q + 2.Ke2-d3 2...Qe1-d2 # 1...d2*e1=S 2.e4-e5 2...Qa8*f3 # 1...d2*e1=R + 2.Ke2-f2 2...g4-g3 # 1...d2*e1=B 2.Rd4-d3 2...g4*f3 # 1...Sh2-f1 2.Rd4-d3 2...d2*e1=Q # 2.Ke2*f1 2...d2*e1=Q # 1...Kh3-h4 2.Rd4-d3 2...d2*e1=Q # 1...Kh3-g3 2.Rd4-d3 2...d2*e1=Q # 2...d2*e1=R # 2.Se1-d3 2...g4*f3 # 2...d2-d1=Q # 2...d2-d1=B # 1...g4-g3 2.Se1-d3 2...d2-d1=Q # 2...d2-d1=B # 2.Rd4-d3 2...d2*e1=Q # 2...d2*e1=R # 1...g4*f3 + 2.Ke2-f2 2...d2*e1=Q # 2.Ke2-d3 2...d2*e1=S # 2...d2-d1=Q #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 15th Tourney distinction: Comm. algebraic: white: [Kd4, Rd5, Rc8, Bc5, Se4, Sd3, Ph6, Pg3, Pf4, Pe5, Pc4, Pc3, Pb2, Pa5] black: [Kf8, Bh3, Se7, Sd8, Pg6, Pg5, Pg4, Pc7, Pb7] stipulation: "r#2" solution: | "1.Bc5-a3 ! zugzwang. 1...Bh3-f1 2.Sd3-c5 2...Se7-f5 # 1...Bh3-g2 2.Se4-c5 2...Se7-f5 # 1...g5*f4 2.Rc8*c7 2...Sd8-e6 # 1...b7-b5 2.c4-c5 2...Se7-f5 # 1...b7-b6 2.b2-b4 2...Se7-f5 # 1...c7-c5 + 2.Rc8*c5 2...Se7-f5 # 1...c7-c6 2.Rd5-c5 2...Se7-f5 # 1...Kf8-g8 2.Ba3-c5 2...Se7-f5 # 1...Kf8-e8 2.Ba3-c5 2...Se7-f5 # 1...Kf8-f7 2.Ba3-c5 2...Se7-f5 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 15th Tourney distinction: Comm. algebraic: white: [Kd4, Qf4, Bd5, Bc5, Pe3, Pd3, Pc4, Pb6] black: [Kg2, Bb8, Se4, Pg6, Pf7, Pf5, Pc7] stipulation: "r#2" solution: --- authors: - Dawson, Thomas Rayner source: British Chess Federation 15th Tourney distinction: Comm. algebraic: white: [Kc5, Qb8, Ra5, Be6, Pf5, Pd7, Pc4, Pb7] black: [Ka3, Bf8, Ba4, Pg7, Pf7, Pe7, Pe5, Pd5, Pc7, Pa7] stipulation: "r#2" solution: | "1.d7-d8=S ! threat: 2.Be6*d5 2...e7-e6 # 2.Be6*f7 2...e7-e6 # 2.Be6-c8 2...e7-e6 # 2.Be6-d7 2...e7-e6 # 1...d5*c4 2.Be6*c4 2...e7-e6 # 1...e5-e4 2.Be6*d5 2...e7-e5 # 1...c7-c6 2.Qb8-d6 2...e7*d6 # 1...f7*e6 2.f5-f6 2...e7*f6 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 15th Tourney distinction: Comm. algebraic: white: [Kg4, Qb1, Rh5, Rc5, Bh1, Sf5, Pe6, Pd2] black: [Kh2, Sh4, Sg8, Ph6, Pg5, Pf6, Pe7, Pd6, Pd4] stipulation: "r#2" solution: | "1.Sf5-e3 ! zugzwang. 1...d6-d5 2.Se3-c2 2...f6-f5 # 1...d4-d3 2.Se3-d5 2...f6-f5 # 1...d4*e3 2.Rc5-c2 2...f6-f5 # 1...d6*c5 2.Se3-c2 2...f6-f5 # 1...f6-f5 + 2.Se3*f5 2...Sg8-f6 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 15th Tourney distinction: Comm. algebraic: white: [Ka1, Qb5, Rg2, Ra7, Be4, Ph2, Pc5, Pa2] black: [Kc1, Bh8, Pg3, Pe5, Pe2, Pb7, Pb6] stipulation: "r#2" solution: | "1.Qb5-a6 ! threat: 2.Be4-b1 2...e5-e4 # 2.Be4-c2 2...e5-e4 # 2.Be4-d3 2...e5-e4 # 2.Be4-f3 2...e5-e4 # 2.Be4-h7 2...e5-e4 # 2.Be4-g6 2...e5-e4 # 2.Be4-f5 2...e5-e4 # 2.Be4*b7 2...e5-e4 # 2.Be4-c6 2...e5-e4 # 2.Be4-d5 2...e5-e4 # 1...Kc1-d1 2.Be4-b1 2...e5-e4 # 1...Kc1-d2 2.Be4-b1 2...e5-e4 # 1...e2-e1=Q 2.Be4-c2 2...e5-e4 # 2...Qe1-c3 # 1...e2-e1=S 2.Be4-c2 2...e5-e4 # 1...e2-e1=R 2.Be4-c2 2...e5-e4 # 1...e2-e1=B 2.Be4-c2 2...e5-e4 # 2...Be1-c3 # 1...g3*h2 2.Be4-g6 2...e5-e4 # 1...b6-b5 2.Be4-c6 2...e5-e4 # 1...b6*c5 2.Be4-c6 2...e5-e4 # 1...b7*a6 2.Be4-b7 2...e5-e4 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 15th Tourney distinction: Comm. algebraic: white: [Kf2, Qh2, Re1, Ra4, Bh4, Ba6, Sc1, Sb3, Pf4, Pf3, Pe4, Pb2] black: [Kc4, Bb4, Ph5, Pd3, Pb5] stipulation: "r#2" solution: | "1.Re1-e2 ! zugzwang. 1...d3-d2 2.Kf2-e3 2...d2-d1=S # 1...d3*e2 2.Qh2-g2 2...e2-e1=Q #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 15th Tourney distinction: Comm. algebraic: white: [Kh2, Qh8, Rb6, Be6, Ba5, Sg8, Sg1, Ph7, Pf6, Pf2, Pe7, Pb7, Pb3, Pa6] black: [Kc7, Re8, Bb8, Pg2, Pf3, Pe4, Pd5, Pd2, Pc6, Pa7] stipulation: "r#2" solution: | "1.Be6-h3 ! zugzwang. 1...d2-d1=Q 2.Ba5-e1 2...Kc7*b6 # 1...d2-d1=S 2.Ba5-e1 2...Kc7*b6 # 1...d2-d1=R 2.Ba5-e1 2...Kc7*b6 # 1...d2-d1=B 2.Ba5-e1 2...Kc7*b6 # 1...e4-e3 2.Ba5*d2 2...Kc7*b6 # 1...d5-d4 2.Ba5-c3 2...Kc7*b6 # 1...c6-c5 2.Ba5-b4 2...Kc7*b6 # 1...a7*b6 2.Ba5*b6 + 2...Kc7*b6 # 1...Kc7-d6 2.Sg8-h6 2...Kd6-c5 # 1...Re8*e7 2.b3-b4 2...Kc7-d8 # 1...Re8-c8 2.e7-e8=B 2...Kc7-d8 # 1...Re8-d8 2.e7*d8=Q + 2...Kc7*d8 # 2.e7*d8=S 2...Kc7*d8 # 2.e7*d8=R 2...Kc7*d8 # 2.e7*d8=B + 2...Kc7*d8 # 1...Re8*g8 2.e7-e8=B 2...Kc7-d8 # 1...Re8-f8 2.e7-e8=B 2...Kc7-d8 # 2.e7*f8=S 2...Kc7-d8 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 15th Tourney distinction: Comm. algebraic: white: [Kh5, Qb6, Rf4, Re5, Bd5, Sg5, Sf1, Ph6, Ph4] black: [Kh1, Rg2, Ba4, Pb5, Pb3, Pa5] stipulation: "r#2" solution: | "1.Rf4-c4 ! zugzwang. 1...b3-b2 2.Sg5-e4 2...Ba4-d1 # 1...b5-b4 2.Sg5-e6 2...Ba4-e8 # 1...b5*c4 2.Sg5-e6 2...Ba4-e8 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 15th Tourney distinction: Comm. algebraic: white: [Kf5, Se2] black: [Ke7, Qa2, Bh1, Ph6, Pg2, Pe5, Pb3, Pa7] stipulation: "r#2" solution: | "1.Kf5-e4 ! threat: 2.Ke4-f3 2...g2-g1=Q # 1...Qa2*e2 + 2.Ke4-d5 2...g2-g1=Q # 2...g2-g1=B # 1...g2-g1=Q + 2.Ke4-f5 2...Qg1-g5 # 2.Ke4-d3 2...Qa2-c2 # 1...g2-g1=S + 2.Ke4-e3 2...Qa2*e2 # 1...g2-g1=R + 2.Ke4-f5 2...Rg1-g5 # 1...g2-g1=B + 2.Ke4-d3 2...Qa2-c2 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 15th Tourney distinction: Comm. algebraic: white: [Ke3, Rd2, Bb5, Ba5, Sg2, Ph3, Pf4, Pe4] black: [Ka2, Qa1, Sg1, Sb2, Pg4, Pg3, Pb3] stipulation: "r#2" solution: | "1.Bb5-f1 ! threat: 2.Rd2-d3 2...Sb2-c4 # 1...Qa1-e1 + 2.Bf1-e2 2...Qe1-f2 # 1...Qa1-d1 2.Rd2-e2 2...Qd1-d3 # 1...Qa1-c1 2.Bf1-d3 2...Qc1-c5 # 1...Qa1-b1 2.Rd2-e2 2...Qb1-d3 # 1...Sg1*h3 2.Bf1-e2 2...Qa1-g1 # 1...Sg1-f3 2.Bf1-e2 2...Qa1-g1 # 1...Sg1-e2 2.Bf1*e2 2...Qa1-g1 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 31st Tourney distinction: Comm. algebraic: white: [Ke6, Se4, Pe7] black: [Ke8, Ph6, Pg7, Pg6, Pc7, Pc6, Pb6] stipulation: "#5" solution: | "1.Se4-c3 ! threat: 2.Sc3-a2 threat: 3.Sa2-b4 threat: 4.Sb4-a6 threat: 5.Sa6*c7 # 2...c6-c5 3.Sa2-c3 threat: 4.Sc3-d5 threat: 5.Sd5*c7 # 4.Sc3-b5 threat: 5.Sb5*c7 # 3...c7-c6 4.Sc3-e4 threat: 5.Se4-d6 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 31st Tourney distinction: Comm. algebraic: white: [Kc3, Rb2, Pd3, Pc4, Pc2, Pb3] black: [Ka1, Pe5] stipulation: "#5" solution: | "1.b3-b4 ! threat: 2.Kc3-b3 threat: 3.c2-c3 threat: 4.Rb2-h2 threat: 5.Rh2-h1 # 4.Rb2-g2 threat: 5.Rg2-g1 # 4.Rb2-f2 threat: 5.Rf2-f1 # 4.Rb2-e2 threat: 5.Re2-e1 # 4.Rb2-d2 threat: 5.Rd2-d1 #" keywords: - Scaccografia --- authors: - Dawson, Thomas Rayner source: British Chess Federation 31st Tourney distinction: Comm. algebraic: white: [Ke8, Rf3, Rd3, Be4, Pf4, Pd4] black: [Ke1, Pf7, Pe2, Pd7] stipulation: "#5" solution: | "1.Be4-b7 ! threat: 2.Bb7-a6 threat: 3.Rd3-e3 threat: 4.Re3*e2 + 4...Ke1-d1 5.Rf3-f1 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 31st Tourney distinction: Comm. algebraic: white: [Kd5, Qg6, Rf7, Rb8, Be8, Ph4, Pg5, Pf5, Pf3, Pe4, Pd6, Pc5, Pc4] black: [Ka1, Pf4, Pe5, Pd7, Pa2] stipulation: "#5" solution: | "1.Qg6-e6 ! threat: 2.Qe6*e5 # 1...d7*e6 + 2.Kd5*e5 threat: 3.d6-d7 threat: 4.d7-d8=Q threat: 5.Qd8-d1 # 5.Qd8-d4 # 4.d7-d8=R threat: 5.Rd8-d1 # 2.Kd5-c6 threat: 3.d6-d7 threat: 4.d7-d8=Q threat: 5.Qd8-d1 # 4.d7-d8=R threat: 5.Rd8-d1 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 31st Tourney distinction: Comm. algebraic: white: [Kh8, Qc6, Bc8, Sd2] black: [Ka6, Qg1, Ra7, Bg3, Bf1, Sb7, Ph4, Pf6, Pf3, Pd4, Pc5, Pb6, Pa5] stipulation: "#5" solution: | "1.Sd2-e4 ! threat: 2.Se4*c5 # 1...Bg3-d6 2.Se4*d6 threat: 3.Bc8*b7 + 3...Ra7*b7 4.Qc6*b7 # 2...Qg1-g8 + 3.Kh8*g8 threat: 4.Bc8*b7 + 4...Ra7*b7 5.Qc6*b7 # 3...Bf1-c4 + 4.Sd6*c4 threat: 5.Qc6*b6 # 2...Qg1-g7 + 3.Kh8*g7 threat: 4.Bc8*b7 + 4...Ra7*b7 + 5.Qc6*b7 # 1...d4-d3 2.Se4-c3 threat: 3.Qc6-b5 # 2...d3-d2 3.Sc3-d5 threat: 4.Qc6*b6 # 3...Bg3-c7 4.Sd5*c7 # 3...c5-c4 4.Sd5-b4 + 4...a5*b4 5.Qc6-a4 # 2...Ra7-a8 3.Qc6*b7 # 1...a5-a4 2.Qc6*a4 # 1...Ra7-a8 2.Se4*c5 + 2...Ka6-a7 3.Qc6*b7 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 35th Tourney distinction: Comm. algebraic: white: [Kc3, Bg7, Sd2, Sb4, Pe5] black: [Ka1, Pf5, Pe6, Pd3, Pc4] stipulation: "#4" solution: | "1.Bg7-f8 ! threat: 2.Bf8-c5 threat: 3.Bc5-d4 threat: 4.Kc3*c4 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 35th Tourney distinction: Comm. algebraic: white: [Kb3, Bc4, Ba3, Ph7, Ph6, Pg6, Pb2] black: [Kh8, Rg2, Rc6, Bh1, Pg3, Pd6, Pc7, Pb7, Pb4] stipulation: "#4" solution: | "1.Bc4-d3 ! threat: 2.g6-g7 # 1...Rg2*b2 + 2.Ba3*b2 + 2...Rc6-c3 + 3.Bb2*c3 + 3...b4*c3 4.g6-g7 # 1...Rc6-c3 + 2.b2*c3 threat: 3.g6-g7 # 2...Rg2-b2 + 3.Ba3*b2 threat: 4.g6-g7 # 4.c3-c4 # 4.c3*b4 # 3...Bh1-d5 + 4.c3-c4 # 3...Bh1-e4 4.c3-c4 # 4.c3*b4 # 3...b4*c3 4.g6-g7 # 4.Bb2*c3 # 3...d6-d5 4.g6-g7 # 1.Bc4-g8 ! threat: 2.g6-g7 # 1...Rg2*b2 + 2.Ba3*b2 + 2...Rc6-c3 + 3.Bb2*c3 + 3...b4*c3 4.g6-g7 # 1...Rc6-c3 + 2.b2*c3 threat: 3.g6-g7 # 2...Rg2-b2 + 3.Ba3*b2 threat: 4.g6-g7 # 4.c3-c4 # 4.c3*b4 # 3...Bh1-d5 + 4.c3-c4 # 3...b4*c3 4.g6-g7 # 4.Bb2*c3 # 3...d6-d5 4.g6-g7 #" --- authors: - Dawson, Thomas Rayner source: British Chess Federation 38th Tourney distinction: Comm. algebraic: white: [Kh5, Qc3, Bd8, Ba2, Pe7] black: [Ke8, Rh1, Bc1, Sa7, Ph2] stipulation: "#3" solution: | "1.Qc3-c2 ! threat: 2.Qc2-f5 threat: 3.Ba2-f7 # 2.Qc2-a4 + 2...Sa7-b5 3.Qa4*b5 # 2...Sa7-c6 3.Qa4*c6 # 2.Ba2-f7 + 2...Ke8*f7 3.Qc2-g6 # 2...Ke8-d7 3.Qc2-c7 # 1...Bc1-g5 2.Qc2-a4 + 2...Sa7-b5 3.Qa4*b5 # 2...Sa7-c6 3.Qa4*c6 # 2.Ba2-f7 + 2...Ke8*f7 3.Qc2-g6 # 2...Ke8-d7 3.Qc2-c7 # 1...Bc1-f4 2.Qc2-f5 threat: 3.Ba2-f7 # 2.Qc2-a4 + 2...Sa7-b5 3.Qa4*b5 # 2...Sa7-c6 3.Qa4*c6 # 1...Bc1-a3 2.Qc2-a4 + 2...Sa7-b5 3.Qa4*b5 # 2...Sa7-c6 3.Qa4*c6 # 2.Ba2-f7 + 2...Ke8*f7 3.Qc2-g6 # 2...Ke8-d7 3.Qc2-c7 # 1...Bc1-b2 2.Qc2-a4 + 2...Sa7-b5 3.Qa4*b5 # 2...Sa7-c6 3.Qa4*c6 # 2.Ba2-f7 + 2...Ke8*f7 3.Qc2-g6 # 2...Ke8-d7 3.Qc2-c7 # 1...Rh1-d1 2.Ba2-f7 + 2...Ke8*f7 3.Qc2-g6 # 2...Ke8-d7 3.Qc2-c7 # 1...Rh1-e1 2.Qc2-a4 + 2...Sa7-b5 3.Qa4*b5 # 2...Sa7-c6 3.Qa4*c6 # 2.Ba2-f7 + 2...Ke8*f7 3.Qc2-g6 # 2...Ke8-d7 3.Qc2-c7 # 1...Rh1-f1 2.Qc2-a4 + 2...Sa7-b5 3.Qa4*b5 # 2...Sa7-c6 3.Qa4*c6 # 1...Rh1-g1 2.Qc2-a4 + 2...Sa7-b5 3.Qa4*b5 # 2...Sa7-c6 3.Qa4*c6 # 1...Ke8-d7 2.Qc2-f5 + 2...Kd7-d6 3.Qf5-d5 # 2...Kd7-e8 3.Ba2-f7 # 2...Kd7-c6 3.Qf5-d5 # 1.Ba2-e6 ! threat: 2.Qc3-h8 # 1...Bc1-h6 2.Qc3-h8 + 2...Bh6-f8 3.Qh8*f8 # 3.e7*f8=Q # 3.e7*f8=R # 2.Qc3-d3 threat: 3.Qd3-g6 # 3.Qd3-d7 # 2...Rh1-d1 3.Qd3-g6 # 2...Rh1-f1 3.Qd3-d7 # 2...Rh1-g1 3.Qd3-d7 # 1...Bc1-b2 2.Qc3-d3 threat: 3.Qd3-g6 # 3.Qd3-d7 # 2...Rh1-d1 3.Qd3-g6 # 2...Rh1-f1 3.Qd3-d7 # 2...Rh1-g1 3.Qd3-d7 # 2...Bb2-d4 3.Qd3-g6 # 1...Rh1-f1 2.Qc3-h8 + 2...Rf1-f8 3.Qh8*f8 # 3.e7*f8=Q # 3.e7*f8=R # 1...Rh1-g1 2.Qc3-h8 + 2...Rg1-g8 3.Qh8*g8 #" --- authors: - Dawson, Thomas Rayner source: L'Italia Scacchistica date: 1917 algebraic: white: [Kg8, Bh8, Bh7, Sa8, Ph5, Pg7, Pe7, Pe5, Pc6, Pb6, Pa2] black: [Ke8, Rg2, Re4, Be3, Ba6, Sh4, Sf3, Pg6, Pf5, Pf4, Pe6, Pd5, Pd4, Pc5, Pb5] stipulation: "#2" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: The Illustrated London News date: 1912 algebraic: white: [Ke3, Re2, Rd7, Pd3, Pc6, Pc4, Pb7, Pb3] black: [Kh8, Rh4, Rb6, Bh3, Ba5, Pg4, Pg2, Pb4] stipulation: "#2" solution: | "1.Kf4?? (2.Re8#) but 1...g3+! 1.Kd2! (2.Re8#)" --- authors: - Dawson, Thomas Rayner source: Hastings And Leonards Observer date: 1923 distinction: 1st Prize algebraic: white: [Ke5, Qe7, Rg1, Rc1, Sf1, Sd1, Pf6, Pf2, Pe3, Pd6, Pd2] black: [Ke1, Re2, Pe4] stipulation: "#2" solution: | "1...Rxd2 2.Ng3# 1...Rxf2 2.Nc3# 1.Qe6?? zz 1...Rxd2 2.Ng3# 1...Rxf2 2.Nc3# but 1...Rxe3! 1.Qe8?? zz 1...Rxd2 2.Ng3# 1...Rxf2 2.Nc3# but 1...Rxe3! 1.Qd7?? zz 1...Rxd2 2.Ng3# 1...Rxf2 2.Nc3# but 1...Rxe3! 1.Qc7?? zz 1...Rxd2 2.Ng3# 1...Rxf2 2.Nc3# but 1...Rxe3! 1.Qb7?? zz 1...Rxd2 2.Ng3# 1...Rxf2 2.Nc3# but 1...Rxe3! 1.Qf7?? zz 1...Rxd2 2.Ng3# 1...Rxf2 2.Nc3# but 1...Rxe3! 1.Qg7?? zz 1...Rxd2 2.Ng3# 1...Rxf2 2.Nc3# but 1...Rxe3! 1.Qh7?? zz 1...Rxd2 2.Ng3# 1...Rxf2 2.Nc3# but 1...Rxe3! 1.Qf8?? zz 1...Rxd2 2.Ng3# 1...Rxf2 2.Nc3# but 1...Rxe3! 1.Qd8?? zz 1...Rxd2 2.Ng3# 1...Rxf2 2.Nc3# but 1...Rxe3! 1.d7?? zz 1...Rxd2 2.Ng3# 1...Rxf2 2.Nc3# but 1...Rxe3! 1.f7?? zz 1...Rxd2 2.Ng3# 1...Rxf2 2.Nc3# but 1...Rxe3! 1.Kxe4?? zz 1...Rxd2 2.Ng3# 1...Rxf2 2.Nc3# but 1...Rxe3+! 1.Ke6?? zz 1...Rxd2 2.Ng3# 1...Rxf2 2.Nc3# but 1...Rxe3! 1.Rb1?? zz 1...Rxd2 2.Ng3# 1...Rxf2 2.Nc3# but 1...Rxe3! 1.Ra1?? zz 1...Rxd2 2.Ng3# 1...Rxf2 2.Nc3# but 1...Rxe3! 1.Rh1?? zz 1...Rxd2 2.Ng3# 1...Rxf2 2.Nc3# but 1...Rxe3! 1.Qa7! zz 1...Rxe3 2.Qxe3# 1...Rxd2 2.Ng3# 1...Rxf2 2.Nc3#" keywords: - Scaccografia --- authors: - Dawson, Thomas Rayner source: L'Alfiere di Re date: 1922 algebraic: white: [Ka1, Re7, Bg6, Sf4, Pf5, Pe5, Pd2] black: [Kg8, Rc2, Ba3, Sb5, Pd7, Pc4, Pb4] stipulation: "#2" options: - Duplex solution: | "1. Bh7+! 1. ... Kf8/Kh8 2.Ng6# 1. Rc1+ Ka2 2. b3#" keywords: - Asymmetry - Duplex - Model mates - Checking key --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1913 algebraic: white: [Ke3, Rc7, Bg1, Sa6, Pd2] black: [Ka8, Pg5, Pg3, Pf7, Pe7, Pb2] stipulation: "#2" twins: b: Rotate 90 c: Rotate 180 d: Rotate 270 solution: | a) 1. Ke2! b) Rotate 90 1. Kd4! c) Rotate 180 1. Ke6! d) Rotate 270 1. Kf6! keywords: - Rotate twins --- authors: - Dawson, Thomas Rayner source: The Problemist date: 1938 algebraic: white: [Kc1, Qd2, Rf3, Rf1, Bc5, Sg5, Pg2, Pc2] black: [Ka2, Rg3, Rc3] stipulation: "#2" solution: | Vertical cylinder 1. keywords: - Fairy board - Vertical cylinder --- authors: - Dawson, Thomas Rayner source: L'Alfiere di Re date: 1922 algebraic: white: [Ka4, Rg2, Se7, Ph6, Pf7, Pf4, Pe5, Pe2, Pc3, Pa2] black: [Kh4, Rb2, Sd7, Ph2, Pf3, Pd5, Pd2, Pc7, Pc4, Pa6] stipulation: "#2" options: - Duplex solution: | "1. Nf5+! 1. ... Kh3 2.Rg3# 1. ... Kh5 2.Rg5# 1. R:a2+! Kb4 2. c5#" keywords: - Asymmetry - Duplex - Model mates - Checking key --- authors: - Dawson, Thomas Rayner source: Teplitz-Schönauer Anzeiger date: 1923 algebraic: white: [Kg8, Qf4, Rf3, Bc8, Sg7, Ph6, Ph4, Pe5, Pe3, Pd5, Pd3, Pb7, Pa7] black: [Kh3, Qe4, Rh2, Rg3, Sh1, Ph7, Pg2, Pf5, Pf2, Pd4, Pc7, Pb5, Pa6] stipulation: "#2" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: Allgemeine Zeitung Chemnitz date: 1925 algebraic: white: [Kh3, Be8, Sf7, Se7] black: [Kh5, Bc1, Pe5, Pd2, Pc5, Pb6, Pb2] stipulation: "#2" solution: "1.Ba4! (2.Bd1#)" --- authors: - Dawson, Thomas Rayner source: L'Italia Scacchistica date: 1919 algebraic: white: [Kh7, Rh8, Rh6, Bh3, Sf8, Pg5, Pg2, Pf3, Pe6, Pd7, Pc2, Pb7] black: [Ke7, Qe8, Rh5, Rg8, Bd8, Bc4, Sg7, Ph4, Pg4, Pf5, Pe5, Pd6, Pc7, Pc6, Pb6] stipulation: "#2" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: L'Alfiere di Re date: 1922 algebraic: white: [Ke1, Rf2, Ra1, Sc2, Pg4, Pf4, Pe4, Pe2, Pd4, Pc4, Pb4, Pa4] black: [Kh1, Re3, Rc3, Bb7, Bb6, Sh2, Pg3, Pf3, Pd3, Pc7, Pb3, Pa7, Pa3] stipulation: "#2" solution: keywords: - Retro - Cantcastler --- authors: - Dawson, Thomas Rayner source: L'Alfiere di Re date: 1922 algebraic: white: [Ke1, Ra1, Bg3, Bf5, Sf4, Sd3, Pf2, Pe5] black: [Kf3, Qe8, Ph3, Pc5] stipulation: "#2" solution: | "1...Qxe5+ 2.Nxe5# 1.Kf1?? (2.Ne1#) 1...Qxe5 2.Nxe5# but 1...Qb5! 1.O-O-O! (2.Ne1#) 1...Qxe5 2.Nxe5#" --- authors: - Dawson, Thomas Rayner source: L'Italia Scacchistica date: 1919 algebraic: white: [Ke1, Rh1, Re5, Bh7, Bb4, Sh8, Pg7, Pf7, Pf2, Pe6, Pd6, Pd2, Pa6, Pa5] black: [Ke7, Qg8, Rg6, Bh6, Pg5, Pf6, Pf5, Pe4, Pd5, Pb5] stipulation: "#2" solution: keywords: - Retro - "Position?" --- authors: - Dawson, Thomas Rayner source: Allgemeine Zeitung Chemnitz date: 1925 algebraic: white: [Kc1, Bh4, Sg4, Sg3] black: [Ke1, Ba6, Pf7, Pe6, Pe4, Pb7, Pb5] stipulation: "#2" solution: | "1.Bg5?? (2.Bd2#) but 1...e3! 1.Be7! (2.Bb4#)" --- authors: - Dawson, Thomas Rayner source: L'Eco degli Scacchi date: 1918 algebraic: white: [Kd3, Rf5, Be7, Bc4, Sg2, Pg3, Pf7, Pe2, Pd4, Pc6, Pc5, Pb7, Pb5] black: [Ke6, Bg6, Bf8, Sd8, Ph7, Ph5, Pg7, Pd5, Pc7, Pc3] stipulation: "#2" solution: | "1...Bxf7 2.Re5# 1.Bxd5+?? 1...Kxf5 2.Ne3# but 1...Kxe7!" keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: Falkirk Herald date: 1924 distinction: 1st Prize algebraic: white: [Ke8, Qe4, Be7, Pf2, Pd2] black: [Ke6, Qe1, Se3, Ph4, Pe5, Pb4] stipulation: "#2" solution: | "1...Nf5[a] 2.Qc4#[A] 1...Nd5[b] 2.Qg4#[B] 1.f4? (2.Qxe5#) 1...Nf5[a] 2.Qc4#[A] 1...Nf1/Ng2/Ng4/Nd1/Nd5[b]/Nc2/Nc4 2.f5#[C] but 1...Qa1! 1.Qf3?? (2.Qf7#) 1...Nf5[a] 2.Qb3# 1...e4 2.Qxe4# but 1...Qxf2! 1.Qd3?? (2.Qd7#) 1...Nd5[b] 2.Qh3# 1...e4 2.Qxe4# but 1...Qxd2! 1.d4! (2.Qxe5#) 1...Nf1/Nf5[a]/Ng2/Ng4/Nd1/Nc2/Nc4 2.d5#[D] 1...Nd5[b] 2.Qg4#[B]" keywords: - Model mates - Black correction - Changed mates --- authors: - Dawson, Thomas Rayner source: Falkirk Herald date: 1924 distinction: 1st Prize algebraic: white: [Ke8, Qe4, Be7, Pf2, Pd2] black: [Ke6, Qe1, Se3, Ph2, Pe5, Pb2] stipulation: "#2" solution: | "1...Nf5[a] 2.Qc4#[A] 1...Nd5[b] 2.Qg4#[B] 1.d4? (2.Qxe5#) 1...Nf1/Nf5[a]/Ng2/Ng4/Nd1/Nc2/Nc4 2.d5#[C] 1...Nd5[b] 2.Qg4#[B] but 1...Qa5! 1.Qf3?? (2.Qf7#) 1...Nf5[a] 2.Qb3# 1...e4 2.Qxe4# but 1...Qxf2! 1.Qd3?? (2.Qd7#) 1...Nd5[b] 2.Qh3# 1...e4 2.Qxe4# but 1...Qxd2! 1.f4! (2.Qxe5#) 1...Nf5[a] 2.Qc4#[A] 1...Nf1/Ng2/Ng4/Nd1/Nd5[b]/Nc2/Nc4 2.f5#[D]" keywords: - Model mates - Black correction - Changed mates --- authors: - Dawson, Thomas Rayner source: Čas date: 1921 algebraic: white: [Ke1, Ra1, Sh3, Sg4, Ph7, Ph4, Ph2, Pf3, Pe2, Pc7, Pa5, Pa2] black: [Kh1, Bb6, Pg7, Pg6, Pf7, Pf6, Pd7, Pd6, Pc6, Pa4] stipulation: "#2" solution: | "1...c5/Bf2+/Bxc7 2.Kf2# 1.axb6?? (2.Kf2#) but 1...Kg2! 1.Kd2+! 1...Kg2 2.Nf4# 1...Bg1 2.Rxg1# 1.O-O-O+! 1...Kg2 2.Nf4# 1...Bg1 2.Rxg1#" keywords: - Retro - Cantcastler - Model mates - Checking key --- authors: - Dawson, Thomas Rayner source: Eskilstuna-Kuriren date: 1922 algebraic: white: [Ke1, Qa6, Rh1, Ra1, Bc8, Ba3, Sb2, Sb1, Ph3, Ph2, Pf2, Pe2, Pc5, Pc2, Pb7] black: [Kc1, Rc6, Ra2, Ba8, Ba5, Sb4, Pg7, Pf6, Pd7, Pd6, Pc4, Pb6, Pa4] stipulation: "#2" solution: | "1...Kxc2 2.Qxc4# 1.Nd1+?? 1...Kxc2 2.Qxc4# 1...Rxa3 2.Nxa3# but 1...Rb2! 1.Nxa4+?? 1...Kxc2 2.Qxc4# 1...Rxa3 2.Nxa3# but 1...Rb2! 1.Nd2+?? 1...Kxc2 2.Qxc4# but 1...Rxa1! 1.Nd3+! 1...Kxc2 2.Qxc4# 1.O-O+! 1...Kxc2 2.Qxc4#" keywords: - Retro - Cantcastler - Checking key --- authors: - Dawson, Thomas Rayner source: Eskilstuna-Kuriren date: 1917 algebraic: white: [Ke1, Rh2, Rh1, Ba2, Ph3, Pg3, Pf3, Pe3, Pd4, Pc5, Pb3, Pa7] black: [Kc1, Rb6, Rb5, Bb8, Ba6, Sa8, Ph7, Pg7, Pf7, Pc7, Pc6, Pb7, Pb4, Pa5] stipulation: "#2" solution: "1.O-O#" keywords: - Retro - Cantcastler --- authors: - Dawson, Thomas Rayner source: | The Problemist - Fairy Chess Supplement source-id: 01/5 date: 1930-08 algebraic: white: [Ka1, Rg7, Bh8, Sd2, Sb4, Pe3, Pc5] black: [Ke5, Sc3, Sb2, Pf6, Pf5, Pe6] stipulation: "#2" solution: | "1... f5-f4 2. Rg7-g5# 1... Sc3-d5 2. Sb4-c6# 1... Sc3-e4 2. Sd2-f3# 1. Rg7-f7? threat: 2. Bh8*f6# but 1... f5-f4! 1. Rg7-d7? threat: 2. Sb4-c6# but 1... f5-f4! 1. Rg7-g4? threat: 2. Sd2-f3# 1... f5-f4 2. Rg4-g5# but 1... f5*g4! 1. Rg7-g6! threat: 2. Bh8*f6# 1... f5-f4 2. Rg6-g5# 1... Sc3-d5 2. Sb4-c6# 1... Sc3-e4 2. Sd2-f3#" --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times date: 1913-12-21 algebraic: white: - Ke1 - Qf1 - Rh5 - Ra1 - Bg1 - Be6 - Sh2 - Sc3 - Ph4 - Pg4 - Pf2 - Pe2 - Pb4 - Pb2 - Pa5 - Pa2 black: [Kh3, Rg2, Ph7, Pg7, Pf7, Pe7, Pd7, Pc6, Pb7, Pa4] stipulation: "#2" solution: | "1.O-O-O? is impossible because the white king has already moved. 1.Rd1! (2.Rd3#)" keywords: - Retro - Cantcastler --- authors: - Dawson, Thomas Rayner source: Задачи и этюды date: 1927 algebraic: white: [Kf1, Re8, Re7, Bg2, Ba7, Ph3, Pg6, Pg4, Pf5, Pd4, Pc5, Pb5, Pa5] black: [Kb7, Rf6, Rc4, Bc7, Ba8, Sh6, Sg8, Ph5, Pf7, Pe6, Pd5, Pc3, Pb4, Pb3] stipulation: "#2" solution: | "1.Bxd5+?? 1...Kxa7 2.Rxa8# but 1...exd5!" keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: Allgemeine Zeitung Chemnitz date: 1925 algebraic: white: [Kf8, Ba5, Sb6, Sb5] black: [Kd8, Bh3, Pg4, Pg2, Pd5, Pd3, Pc2] stipulation: "#2" solution: | "1.Bc3?? (2.Bf6#) but 1...d4! 1.Bb4! (2.Be7#)" --- authors: - Dawson, Thomas Rayner source: Národní listy date: 1928-07-22 algebraic: white: [Ke1, Rh1, Ra2, Bb3, Pg2, Pf2, Pe3, Pd4, Pc7, Pc4, Pc2, Pa4] black: [Kb1, Rd3, Ra3, Pg7, Pe6, Pd6, Pd5, Pc3, Pb7, Pb2] stipulation: "#2" solution: "1.Ke2+! Rd1 2.Rxd1#" keywords: - Retro - Cantcastler --- authors: - Dawson, Thomas Rayner source: Allgemeine Zeitung Chemnitz date: 1925 algebraic: white: [Ka6, Bd1, Sd2, Sc2] black: [Ka4, Bf8, Pg7, Pg3, Pf4, Pe7, Pd4] stipulation: "#2" solution: | "1.Be2?? (2.Bb5#) but 1...d3! 1.Bg4?? (2.Bd7#) but 1...e6! 1.Bh5?? (2.Be8#) but 1...g6! 1.Bf3! (2.Bc6#)" --- authors: - Dawson, Thomas Rayner source: Pittsburgh Post date: 1925 algebraic: white: [Ke8, Rd8, Rd7, Ba8, Ba7, Sh5, Sb8, Pg4, Pf4, Pe4, Pd6, Pd2, Pb5, Pb3] black: [Kd4, Qh8, Rh7, Rg7, Bh6, Sg8, Pg6, Pg5, Pf7, Pf3, Pd3, Pc5, Pb4, Pa6] stipulation: "#2" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: Funkschach date: 1925 algebraic: white: [Ke1, Qb7, Rb6, Ra1, Bg8, Bb8, Sa8, Pg3, Pg2, Pf3, Pf2, Pc6] black: [Kd8, Rf7, Ra7, Bf8, Ba6, Sh4, Pg7, Pg6, Pf5, Pe7, Pe6, Pc7, Pc5, Pb5] stipulation: "#2" solution: | "1.Rd1+! 1...Ke8 2.Nxc7# 1.O-O-O+! 1...Ke8 2.Nxc7#" keywords: - Retro - Cantcastler - Checking key --- authors: - Dawson, Thomas Rayner source: Melbourne Leader date: 1913 algebraic: white: [Kb6, Rg4, Ra5, Bf6, Be4, Sd3, Sb4, Pd5, Pb2, Pa2] black: [Kc4, Qd1, Bd7, Bc1, Sa1, Pd6, Pd2, Pc5] stipulation: "#2" solution: | "1...Be8/Bc6/Bb5/Ba4 2.Bf3# 1...Nc2 2.b3# 1...Qc2/Qb3/Qa4 2.Bf5# 1.Nc2?? (2.Ne3#/Na3#) 1...Nxc2 2.b3# 1...Qe1/Qg1/Qe2/Qf3 2.Na3# 1...Bxb2 2.Nxb2#/Ne3# but 1...Qxc2! 1.b3+?? 1...Qxb3 2.Bf5# but 1...Nxb3! 1.Ra4! zz 1...Nb3/Qe1/Qf1/Qg1/Qh1/Qe2/Qf3/Qxg4 2.Nc6# 1...Nc2 2.b3# 1...Qc2/Qb3/Qxa4 2.Bf5# 1...Be6/Bf5/Bxg4/Bc8 2.Nc2# 1...Be8/Bc6/Bb5/Bxa4 2.Bf3# 1...Bxb2 2.Nxb2# 1...cxb4 2.Rxb4#" keywords: - Active sacrifice --- authors: - Dawson, Thomas Rayner source: The Illustrated London News date: 1912 algebraic: white: [Kd6, Re2, Rd7, Pg6, Pg2, Pf5, Pf3, Pe6] black: [Ka1, Rg3, Ra5, Bh4, Ba6, Pg5, Pb7, Pb5] stipulation: "#2" solution: "1.Kc7! (2.Rd1#)" --- authors: - Dawson, Thomas Rayner source: The Illustrated London News date: 1912 algebraic: white: [Kc4, Rg5, Rb4, Pg7, Pf6, Pd6, Pc7, Pc5] black: [Kh1, Rf7, Rd1, Be8, Bc1, Pd7, Pd2, Pb2] stipulation: "#2" solution: | "1.Rb3?? (2.Rh3#) but 1...Kh2! 1.Kc3?? (2.Rh4#) but 1...b1N+! 1.Kd5! (2.Rh4#)" --- authors: - Dawson, Thomas Rayner source: Retrograde Analysis source-id: 98 date: 1915 algebraic: white: - Kf5 - Qc1 - Rf6 - Rb8 - Bb7 - Ba7 - Se3 - Sb2 - Ph5 - Ph3 - Pf2 - Pe4 - Pd5 - Pd2 - Pb4 - Pa3 black: [Kd4, Rc4, Bc3, Pg5, Pe5, Pd3, Pc5, Pb3] stipulation: "#2" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: The Problemist date: 1930 algebraic: white: [Kg6, Qc6, Rf7, Rd5, Bf4, Ba4, Pa6] black: [Ke8, Qd7, Ra8, Sb6, Pf6, Pe7, Pc4] stipulation: "#2" solution: | "1...Kd8 2.Rf8# 1...Nc8/Nxa4 2.Qxd7# 1...Nxd5 2.Qxd7#/Qxa8# 1.Qd6?? (2.Qxe7#) 1...Kd8 2.Rf8# 1...O-O-O 2.Qb8# 1...Nc8/Nxd5/Nxa4 2.Qxd7# but 1...exd6! 1.Qxa8+?? 1...Nc8 2.Qxc8# but 1...Nxa8! 1.Qe6! (2.Qxe7#) 1...Kd8 2.Rf8# 1...O-O-O 2.Rc5# 1...Nc8/Nxd5/Nxa4 2.Qxd7#" keywords: - Flight giving key --- authors: - Dawson, Thomas Rayner source: Funkschach date: 1925 algebraic: white: [Kb2, Qf8, Rh4, Bg8, Ba1, Ph5, Pg4, Pb5] black: - Kh8 - Qh3 - Re8 - Re7 - Bf3 - Bc7 - Sh2 - Sd8 - Pg5 - Pg3 - Pg2 - Pf7 - Pe6 - Pd7 - Pd6 - Pb4 stipulation: "#2" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: Haarlemsche Courant date: 1921 algebraic: white: [Ke4, Qf8, Rc7, Rb2, Bg7, Bf7, Sf1, Pf5, Pe3, Pe2, Pb3, Pa5, Pa3] black: [Kc3, Bh8, Sc4, Sb1, Ph7, Ph6, Pg6, Pe5, Pd7, Pb7, Pb6, Pa7] stipulation: "#2" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: The Illustrated London News date: 1912 algebraic: white: [Kf5, Rg5, Rb4, Pf4, Pf2, Pe3, Pc3, Pb2] black: [Ka8, Re8, Rc2, Bf8, Bd1, Pg7, Pe7, Pe2] stipulation: "#2" solution: | "1.Kf7?? (2.Ra5#) but 1...e5! 1.Kg6?? (2.Ra5#) but 1...e5! 1.Ke6! (2.Ra5#)" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1912 algebraic: white: - Kd3 - Qf4 - Rb2 - Ra5 - Be3 - Bd7 - Sf6 - Se8 - Pf2 - Pe5 - Pe2 - Pd5 - Pd2 - Pc2 - Pa3 - Pa2 black: [Kb6, Qa6, Sb5, Pg7, Pe6, Pd6, Pc5, Pb7, Pa7] stipulation: "#2" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: Natal Mercury date: 1915 algebraic: white: [Kd6, Qa4, Rf3, Re5, Bh8, Be6, Sg8, Sg1, Ph4, Pg5, Pf2, Pd2, Pb6, Pb3, Pa2] black: [Kg4, Ra6, Ra3, Bh5, Bf4, Sh3, Sa5, Pg6, Pg3, Pf5, Pd5, Pc6, Pb5, Pa7] stipulation: "#2" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: L'Alfiere di Re date: 1921 algebraic: white: [Kg1, Qh6, Ba5, Sg2, Sf6, Pf3, Pe2, Pb3] black: [Kg3, Rb4, Sg7, Sf1, Pg5, Pe5, Pd5] stipulation: "#2" solution: | "1...Nh2/Ne3/Nd2 2.Qxh2# 1...d4 2.Ne4# 1...e4 2.Bc7# 1...Rxb3/Rb5/Rb6/Rb7/Rb8/Ra4/Rc4/Rd4/Re4/Rf4/Rg4 2.Be1# 1...g4 2.Qh4# 1.Bxb4?? (2.Be1#) 1...Nd2 2.Qh2# but 1...Nh5! 1.Ne4+?? 1...Rxe4 2.Be1# but 1...dxe4! 1.Qxg5+?? 1...Rg4 2.Qxg4# but 1...Kh3! 1.Qh1! zz 1...e4 2.Bc7# 1...Nh5/Nf5/Ne6/Ne8 2.Nxh5# 1...g4 2.Qh4# 1...Nh2/Ne3/Nd2 2.Qxh2# 1...Rxb3/Rb5/Rb6/Rb7/Rb8/Ra4/Rc4/Rd4/Re4/Rf4/Rg4/Rh4 2.Be1# 1...d4 2.Ne4#" --- authors: - Petrović, Nenad - Oniţiu, Valerian - Dawson, Thomas Rayner - Fox, Charles Masson source: Kniest T.T. date: 1930 distinction: 1st Prize algebraic: white: [Kc1, Gh1] black: [Ka1, Pa2, Gh2, Gf7, Ga8] stipulation: "#8" solution: | "1.Gh3 Gh4 2.Gh5 Gh6 3.Gh7 Gh8 4.Ge7 Gd7 5.Gc7 Gb7 6.Ga7+ Ga6 7.Ga5+ Ga4 8.Ga3#" keywords: - White minimal - Grasshopper --- authors: - Dawson, Thomas Rayner source: Retrograde Analysis source-id: 100B date: 1915 algebraic: white: [Ke2, Qf4, Sf5, Pg2, Pf3, Pf2, Pe3, Pd3, Pc4] black: [Ke8, Rh8, Ra8, Bb2, Pg6, Pf7, Pe7, Pd7, Pc7, Pc3, Pb6, Pb4] stipulation: "#2" solution: keywords: - Retro - pRA --- authors: - Dawson, Thomas Rayner source: Bolton Football Field date: 1912-06-15 algebraic: white: [Kb3, Rh1] black: [Kf5, Rg4, Rf1, Ba8, Pg3] stipulation: "h#4" solution: | "1.Kf5-g5 Rh1-h8 2.Rf1-f5 Rh8*a8 3.Kg5-h4 Ra8-a1 4.Rf5-g5 Ra1-h1 #" keywords: - Four corners - Rundlauf --- authors: - Dawson, Thomas Rayner source: Retrograde Analysis source-id: 100 date: 1915 algebraic: white: - Ke1 - Qb3 - Rh1 - Ra1 - Bh7 - Bf6 - Sb6 - Sa4 - Pg4 - Pg3 - Pf5 - Pf2 - Pc5 - Pc4 - Pc3 - Pc2 black: [Ke4, Rd8, Ba2, Pg7, Pf3, Pe5, Pd5, Pc6, Pb7] stipulation: "#2" solution: keywords: - Retro - En passant - pRA --- authors: - Dawson, Thomas Rayner source: Retrograde Analysis source-id: 96 date: 1915 algebraic: white: [Kc4, Rh8, Bf4, Pg2, Pe6, Pe5, Pd4, Pb2, Pa5] black: [Kc7, Qg8, Rd3, Rb7, Be4, Sa4, Sa2, Ph7, Ph4, Pg5, Pg3, Pe3, Pd5, Pc6, Pa7] stipulation: "#2" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: Retrograde Analysis source-id: 95B date: 1915 algebraic: white: [Kh6, Rd6, Bc6, Ph7, Pg5, Pf2, Pe5, Pd7, Pc7, Pb7] black: - Ke7 - Qe8 - Rg7 - Rb6 - Bg6 - Bf8 - Sd3 - Sa6 - Ph4 - Pg4 - Pf5 - Pe6 - Pe4 - Pd5 - Pc3 - Pb5 stipulation: "#2" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: Retrograde Analysis source-id: 94 date: 1915 algebraic: white: [Kh8, Qd7, Rc6, Bh7, Be7, Sa5, Pg4, Pf5, Pc4, Pc3, Pb4, Pa6] black: [Kf7, Qe8, Rd8, Rc7, Bc8, Sf8, Sb7, Pg5, Pg3, Pg2, Pf4, Pd6, Pc5, Pb6, Pb3] stipulation: "s#1" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: Retrograde Analysis source-id: 93 date: 1915 algebraic: white: [Ka1, Qf8, Bf7, Bc1, Sb2, Ph5, Ph2, Pe2, Pd2, Pc2, Pb3, Pa3] black: [Kh7, Qh8, Rh4, Re7, Bf6, Be8, Sh3, Ph6, Pg5, Pg4, Pe6, Pd7, Pa7, Pa6, Pa2] stipulation: "#1" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: The Australasian Chess Review source-id: 1222&1223 date: 1940-03 algebraic: white: [Ke6, Ra4, Ra2] black: [Kf3, Qd4, Ph4, Pb5, Pb2, Pa5] stipulation: "h#2" twins: b: Shift a1 a2 solution: | "a) 1.Kf3-e2 Ra2*b2 + 2.Ke2-d1 Ra4-a1 # b) shift a1 == a2 1.Qd5-g5 + Ke7-e6 2.b3-b2 Ra5-a4 #" --- authors: - Dawson, Thomas Rayner source: The Australasian Chess Review source-id: 1215 date: 1940-03 algebraic: white: [Kb8, Qa1, Rc8, Ba4, Pe4, Pe2, Pd4, Pd3, Pc4, Pa5] black: [Kd7, Qd8, Re7, Rb4, Be8, Pg7, Pf7, Pe6, Pd6, Pc2, Pb5, Pb3, Pa7] stipulation: "#2" solution: 1. a5xb6 ep. +! keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: Eskilstuna-Kuriren date: 1916 algebraic: white: [Ke3, Be7, Be2, Ph4, Pg5, Pg2, Pf4, Pd4, Pc5, Pc2, Pb4] black: [Ke1, Be8, Pg7, Pg4, Pg3, Pf5, Pd5, Pc7, Pc4, Pc3] stipulation: "#4" solution: | "1.g6! threat: 2.h5 3.Bh4 4.Bxg3#" keywords: - Illegal position - Asymmetrical solution --- authors: - Dawson, Thomas Rayner source: British Chess Federation date: 1931 distinction: 1st Prize algebraic: white: [Kd2, Re6, Ba4, Sd6, Pc3, Pa6] black: [Kc5, Pa7] stipulation: "#4" solution: | "1.Sd6-b5 ! threat: 2.Sb5-c7 threat: 3.Re6-c6 # 1.Sd6-e4 + ! 1...Kc5-c4 2.Se4-f6 threat: 3.Re6-c6 # 2.Kd2-e2 zugzwang. 2...Kc4-d5 3.Ba4-b3 # 2.Kd2-c2 zugzwang. 2...Kc4-d5 3.Ba4-b3 # 2.Kd2-e3 zugzwang. 2...Kc4-d5 3.Ba4-b3 # 1...Kc5-d5 2.Ba4-b3 # 1.Sd6-f7 ! threat: 2.Kd2-d3 zugzwang. 2...Kc5-d5 3.Re6-e5 # 1...Kc5-d5 2.Re6-e5 + 2...Kd5-c4 3.Sf7-d6 # 1...Kc5-c4 2.Kd2-c2 zugzwang. 2...Kc4-c5 3.Kc2-b3 zugzwang. 3...Kc5-d5 4.Re6-e5 # 3.Kc2-d3 zugzwang. 3...Kc5-d5 4.Re6-e5 # 2...Kc4-d5 3.Re6-e5 + 3...Kd5-c4 4.Sf7-d6 # 4.Ba4-b3 # 4.Ba4-b5 # 1.Sd6-e8 ! threat: 2.Se8-c7 threat: 3.Re6-c6 # 2.Se8-f6 threat: 3.Re6-c6 # 1...Kc5-d5 2.Se8-c7 + 2...Kd5-c5 3.Re6-c6 # 2...Kd5-c4 3.Re6-c6 # 1.Sd6-b7 + ! 1...Kc5-d5 2.Ba4-b3 # 1...Kc5-c4 2.Kd2-c2 zugzwang. 2...Kc4-d5 3.Ba4-b3 #" --- authors: - Dawson, Thomas Rayner source: Národní listy date: 1931-11-29 algebraic: white: [Kg3, Qg7, Rg8, Bg4, Sd8, Sc7, Ph5, Ph3, Pg5, Pf3, Pc6, Pb5] black: [Kc8, Qa8, Rh8, Rh7, Bb8, Sg1, Ph6, Pg6, Pf5, Pb7, Pb6, Pa7, Pa4] stipulation: "#1" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1920 algebraic: white: [Ka3, Rd2, Bb4, Pd4, Pb7, Pb2, Pa4] black: [Kc4, Pe2, Pd5, Pb3, Pa6] stipulation: "s#2" solution: --- authors: - Dawson, Thomas Rayner source: Neues Grazer Tagblatt date: 1927 algebraic: white: [Kb5, Qd4, Bh6, Sc6, Sa6, Pg7] black: [Kg8, Be1, Sb2, Pg5, Pf7, Pb6, Pb4, Pa7] stipulation: "s#3" solution: --- authors: - Dawson, Thomas Rayner source: British Chess Federation date: 1936 algebraic: white: [Ka5, Qf1, Bh1, Bc7, Se3, Pf4, Pd5, Pa6, Pa4, Pa2] black: [Kc5, Pf2, Pa7] stipulation: "s#3" solution: | "1.Se3-c4 ! zugzwang. 1...Kc5-d4 2.Bc7-e5 + 2...Kd4-c5 3.Sc4-b6 3...a7*b6 #" --- authors: - Dawson, Thomas Rayner source: Národní listy date: 1928-07-22 algebraic: white: [Ka3, Rc7, Ra8, Ph3, Pf3, Pf2, Pe2, Pd7, Pc5, Pb6, Pa2] black: [Ka6, Qa5, Rb5, Rb4, Bc8, Ba7, Sg2, Sa4, Pg7, Pf4, Pd6, Pc4, Pb7, Pb3, Pb2] stipulation: "#1" solution: keywords: - Retro --- authors: - Dawson, Thomas Rayner source: Retrograde Analysis source-id: 89 date: 1915 algebraic: white: [Kh1, Qh6, Rg4, Rf3, Bh4, Sh3, Sg1, Pg6, Pg5, Pf4, Pf2, Pe3, Pc2, Pb4, Pa3] black: [Kg8, Rh8, Rg2, Bh5, Bg3, Sh2, Sf1, Ph7, Pf5, Pe2, Pc7, Pb7, Pb3] stipulation: "#3" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: Retrograde Analysis source-id: 83B date: 1915 algebraic: white: [Kb7, Rd4, Pg2, Pf7, Pe5, Pd5, Pb2, Pa5] black: - Kd7 - Qd8 - Rf5 - Ra8 - Be7 - Bb5 - Sg7 - Sc8 - Pf6 - Pe6 - Pe4 - Pd3 - Pc5 - Pc4 - Pa7 - Pa4 stipulation: "#1" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: Retrograde Analysis source-id: 78 date: 1915 algebraic: white: [Kc7, Re7, Rd8, Bc8, Sa8, Pg7, Pf7, Pf6, Pc5, Pb2, Pa2] black: [Ka7, Qe8, Re6, Rd6, Bf8, Bd7, Sh8, Pg6, Pf5, Pe5, Pd5, Pc6, Pc4, Pb5, Pa6] stipulation: "#2" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: Retrograde Analysis source-id: 71B date: 1915 algebraic: white: [Ka8, Rb8, Ba7, Ph2, Pg3, Pf3, Pe2, Pd2, Pc3, Pc2, Pa5] black: [Kc7, Qa6, Rd7, Rc8, Be8, Bd8, Sh1, Pf7, Pf6, Pf2, Pe7, Pd6, Pc6, Pb5, Pa4] stipulation: "#2" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: Revista del Club Argentino de Ajedrez date: 1921 algebraic: white: [Kf2, Bg6, Bg1, Ph7, Ph6, Ph2, Pf4, Pd2] black: [Kh8, Pg5, Pf3] stipulation: "r#3" solution: | "1. Bc2! waiting 1. ... gxf4 2. Ke1+ 2. ... f2+ 3. Kd1 ... f1=Q# 1. ... g4 2. Kg3+ 2. ... f2 3. h4 ... fxg1=Q#" keywords: - Model mates --- authors: - Dawson, Thomas Rayner source: Revista del Club Argentino de Ajedrez date: 1921 algebraic: white: [Kd1, Rd2, Rc4, Ba2, Pd4, Pd3, Pc5, Pc3] black: [Ka3, Rg3, Pf3, Pd5, Pc6, Pa4] stipulation: "r#2" solution: | "1. Bb3! [2. Bc2 ... Rg1#] 1. ... axb3 2. Rb4 ... Rg1# 1. ... Kxb3 2. Rxa4 ... Rg1# 1. ... Rg1+ 2. Kc2 ... axb3#" --- authors: - Dawson, Thomas Rayner source: Revista del Club Argentino de Ajedrez date: 1921 algebraic: white: [Kh1, Qa8, Bg1, Sb7, Ph7, Ph6, Ph2, Pd7] black: [Kh8, Bc8, Sa1] stipulation: "r#2" solution: | "1. Qa3! waiting 1. ... Bxd7 2. Qa7 ... Bc6# 1. ... Bxb7+ 2. Qf3 ... Bxf3# 1. ... Kxh7 2. Qxa1 ... Bxb7# 1. ... Sb3 2. d8=B ... Bxb7# 1. ... Sc2 2. Qc1 ... Bxb7#" keywords: - Model mates --- authors: - Dawson, Thomas Rayner source: Good Companions date: 1922 distinction: HM algebraic: white: [Ka8, Qh1, Bf7, Ba5, Se8, Sb7, Ph4, Pc4] black: [Kc6, Bf3, Be1, Sg2, Sc2, Pd7, Pb4] stipulation: "#3" solution: | "1.Se8-c7 ! threat: 2.Bf7-d5 + 2...Bf3*d5 3.c4*d5 # 1...Sc2-e3 2.Sc7-b5 threat: 3.Sb5-d4 # 3.Sb5-a7 # 2...Be1-c3 3.Sb5-a7 # 2...Se3-c2 3.Sb5-a7 # 2...Se3-f5 3.Sb5-a7 # 2...d7-d5 3.Bf7-e8 # 2...d7-d6 3.Bf7-e8 # 2.Sc7-e6 threat: 3.Se6-d4 # 3.Se6-d8 # 2...Be1*h4 3.Se6-d4 # 2...Be1-c3 3.Se6-d8 # 2...Se3-c2 3.Se6-d8 # 2...Se3-f5 3.Se6-d8 # 2...Se3*c4 3.Se6-d4 # 2...d7-d5 3.Bf7-e8 # 2...d7-d6 3.Bf7-e8 # 2...d7*e6 3.Bf7-e8 # 1...Sg2-f4 2.Sc7-a6 threat: 3.Sa6-b8 # 2.Qh1*f3 + 2...Sf4-d5 3.Bf7*d5 # 3.c4*d5 # 3.Qf3*d5 # 2...d7-d5 3.Bf7-e8 # 1...Sg2-e3 2.Sc7-b5 threat: 3.Sb5-a7 # 2...d7-d5 3.Bf7-e8 # 2...d7-d6 3.Bf7-e8 # 2.Qh1*f3 + 2...Se3-d5 3.Bf7*d5 # 3.c4*d5 # 3.Qf3*d5 # 2...d7-d5 3.Bf7-e8 #" --- authors: - Dawson, Thomas Rayner source: Tägliche Rundschau date: 1913-12-24 algebraic: white: [Ke1, Rh1, Rc5, Ph2, Pg4, Pf3, Pe2, Pd3, Pc2, Pb2, Pa3] black: [Ka4, Pf7, Pf6, Pe3] stipulation: "#3" twins: b: Move d3 d4 solution: | "a) 1. 0-0? 1. Rg1! f5 2. gf f6 3. Rg4# b) Move wPd3 == d4 1. 0-0! f5 2. Ra1" keywords: - Retro - Cantcastler comments: - P0002079 --- authors: - Dawson, Thomas Rayner source: Stratford Express date: 1913 algebraic: white: [Ka7, Qa6, Be8, Pe6, Pd7, Pc5, Pb4, Pa2] black: - Kc7 - Qd8 - Rc8 - Ra5 - Bf5 - Bf4 - Sf8 - Se7 - Pf7 - Pe4 - Pe3 - Pd4 - Pc4 - Pb5 - Pb3 - Pa4 stipulation: "#3" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times date: 1917 distinction: 2nd Prize algebraic: white: [Kf7, Qa3, Rf6, Bh8, Pg4, Pe4, Pc6, Pb4, Pa6] black: [Ke5, Rg5, Be1, Sa8, Pg6, Pg3, Pf3, Pe3, Pe2, Pc3] stipulation: "#3" solution: | "1.Qa3-a4 ! threat: 2.Rf6-f5 + 2...Ke5-d6 3.Bh8-e5 # 2...Ke5*e4 3.Qa4-c2 # 1...Ke5*e4 2.Rf6-f4 + 2...Ke4-d3 3.Rf4-d4 # 2...Ke4*f4 3.b4-b5 # 2...Ke4-d5 3.Rf4-d4 # 1...Ke5-d4 2.Rf6-d6 + 2...Kd4-c4 3.Rd6-d4 # 2...Kd4*e4 3.Rd6-d4 # 3.b4-b5 #" --- authors: - Dawson, Thomas Rayner source: The Times date: 1915 algebraic: white: [Kc1, Bd4, Bd3, Se8, Pg2, Pf5, Pe3, Pb5, Pb2] black: [Kd5, Bb7, Sa8, Pb6, Pa7] stipulation: "#3" solution: | "1.b2-b3 ! threat: 2.Bd3-c4 + 2...Kd5-e4 3.Se8-d6 #" --- authors: - Dawson, Thomas Rayner source: The Times date: 1915 algebraic: white: [Kc1, Bd4, Bd3, Se8, Pg2, Pf5, Pe3, Pb5, Pb2] black: [Kd5, Bb7, Ba7, Sa8, Pb6] stipulation: "#3" solution: | "1.Bd4-c3 ! threat: 2.e3-e4 + 2...Kd5-c5 3.b2-b4 # 2.b2-b4 threat: 3.e3-e4 # 1...Kd5-c5 2.b2-b4 + 2...Kc5-d5 3.e3-e4 # 1...Ba7-b8 2.e3-e4 + 2...Kd5-c5 3.b2-b4 # 1...Bb7-a6 2.e3-e4 + 2...Kd5-c5 3.b2-b4 # 1...Bb7-c6 2.e3-e4 + 2...Kd5-c5 3.b2-b4 # 1...Bb7-c8 2.e3-e4 + 2...Kd5-c5 3.b2-b4 # 1...Sa8-c7 2.e3-e4 + 2...Kd5-c5 3.b2-b4 #" --- authors: - Dawson, Thomas Rayner source: Westen Und Daheim date: 1915 algebraic: white: [Kb3, Rc7, Bg8, Se8, Ph7, Pd4, Pb4] black: [Kh8, Pc3] stipulation: "#3" solution: | "1.Bg8-f7 ! threat: 2.Rc7*c3 zugzwang. 2...Kh8*h7 3.Rc3-h3 # 1...c3-c2 2.Rc7*c2 zugzwang. 2...Kh8*h7 3.Rc2-h2 # 1...Kh8*h7 2.Rc7-c5 threat: 3.Rc5-h5 #" keywords: - Retro --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Leader date: 1913 algebraic: white: [Kg2, Qg6, Bb6, Pe5, Pd4, Pb3, Pb2] black: [Kd5, Pg7, Pb7, Pb4] stipulation: "#3" solution: | "1.Bb6-a7 ! threat: 2.Kg2-f3 threat: 3.Qg6-d6 # 1...b7-b5 2.Qg6-f7 + 2...Kd5-e4 3.Qf7-f3 # 2...Kd5-c6 3.d4-d5 #" --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times date: 1917 algebraic: white: [Kh3, Qc1, Rf6, Se6, Pg2] black: [Kh5, Pc2] stipulation: "#3" solution: --- authors: - Dawson, Thomas Rayner source: L'Echiquier date: 1928 algebraic: white: [Kh4, Qe2, Bh6, Se7, Ph3, Pg4, Pd3, Pc4, Pa4, Ng1, Nd1] black: [Kf4, Rg5, Rb6, Bb8, Bb7, Pg6, Pg3, Pg2, Pd4, Pa6, Pa5, Ng8, Na8] stipulation: "#2" solution: | "1.Na7! (zugzwang) 1...Bf3 2.Q*f3# 1...Rb~ 2.S*g6# 1...Rf6 2.Qd2# 1...Re6 2.B*g5# 1...Rd6 2.Qe5# 1...Rc6 2.Sd5# 1...Be4 2.Qd2# 1...Bd5 2.S*d5# 1...Bc6 2.S*g6# 1...Bc8 2.Sd5# 1...Ne6 2.S*g6# 1...Nc7 2.Qe5# 1...B*a7 2.Qe5# 1...Be5 2.Q*e5# 1...Bd6 2.S*g6# 1...Bc7 2.B*g5# 1...N*e7 2.Qd2# 1...Nd2+ 2.Q*d2# 1...Ne4 2.Qf3# 1...Nf6 2.S*g6# 1...N*h6 2.Qd2#" keywords: - Grimshaw - Nightrider --- authors: - Dawson, Thomas Rayner source: Chess Amateur date: 1928 algebraic: white: [Kc4, Re1, Bf7, Bc3, Se5, Sc6, Nb2] black: [Kd6, Rh2, Bg1, Ph4, Pg3, Pc7, Pb4, Pa6, Nh1] stipulation: "#2" solution: | "1.Rf1! (thr.: Rf6#) 1... Bf2 2.K*b4# 1... Rf2 2.B*b4# 1... Nf2 2.Kd4#" keywords: - Grimshaw - Nightrider --- authors: - Dawson, Thomas Rayner source: Hamburg. Correspondent date: 1927 algebraic: white: [Kf6, Pe2, Pc2, Pb4, Pb3, Pa6, Nf1, Na2] black: [Kd4, Pg6, Pb6, Pb5, Pa3, Na8] stipulation: "#3" solution: | "1.a7! (zugzwang) 1...g5 2.Kf5 ~ 3.c3# 1...Ng5 2.N*g5 a2 3.c3# 1...Ne6 2.K*e6 g5 3.e3# 1...Nc7 2.N*c7 g5 3.e3#" keywords: - Nightrider --- authors: - Dawson, Thomas Rayner source: Retrograde Analysis source-id: 63B date: 1915 algebraic: white: [Ka5, Bb4, Sa3, Ph7, Pg3, Pe2, Pc5, Pc2, Pb2, Pa6] black: [Kf8, Qf6, Rb8, Ra2, Be8, Ba7, Sg7, Ph6, Pg6, Pg5, Pf7, Pd2, Pc4, Pc3, Pb5] stipulation: "#2" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: Retrograde Analysis source-id: 63A date: 1915 algebraic: white: [Ka5, Ra4, Ph2, Pf3, Pf2, Pe2, Pd3, Pc5, Pa6] black: [Ka7, Qc3, Ra8, Bb8, Sb1, Sa3, Pf7, Pf6, Pe7, Pd6, Pc4, Pc2, Pb5, Pb4] stipulation: "#1" solution: keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: Retrograde Analysis source-id: 51 date: 1915 algebraic: white: [Ka8, Qc5, Rf3, Re2, Bf1, Se5, Pg3, Pg2, Pf4, Pe3, Pd2, Pc2, Pb2, Pa2] black: [Ke8, Qe1, Rh8, Rf2, Bd1, Sd4, Sa1, Pg7, Pf5, Pe7, Pe6, Pc6, Pb7, Pa6] stipulation: "#2" solution: keywords: - Retro - Cantcastler --- authors: - Dawson, Thomas Rayner source: Retrograde Analysis source-id: 25 date: 1915 algebraic: white: [Kg1, Rh8, Rh4, Bf1, Sh5, Pg6, Pg4, Pf3, Pe3, Pe2, Pc6, Pb2] black: [Kh6, Qg2, Rg3, Rf2, Bg8, Be5, Sh7, Pg7, Pg5, Pf7, Pe7, Pc7, Pb7] stipulation: "Last 18 single moves?" solution: keywords: - Retro --- authors: - Dawson, Thomas Rayner source: Retrograde Analysis source-id: 7B date: 1915 algebraic: white: [Kf1, Rd7, Rc3, Bh3, Se8, Pe2, Pa6] black: [Kc8, Qg1, Ra5, Ra4, Bh1, Bb8, Ph6, Ph5, Ph4, Pg7, Pf2, Pe3, Pb7] stipulation: "#1" solution: keywords: - Joke problem --- authors: - Dawson, Thomas Rayner source: Greenlock Telegraph date: 1937 algebraic: white: [Kd5, Qc6, Bf3, Pe2, Pc4, Pb2] black: [Ka8, Rd1, Rb7, Bg1, Pg6, Pg3, Pf7, Pf2, Pd2] stipulation: "#2" solution: | "1.Ke5?? (2.Qxb7#) but 1...f6+! 1.Qc8+?? 1...Rb8 2.Qa6# but 1...Ka7! 1.Qa6+?? 1...Ra7 2.Qc8# but 1...Kb8! 1.Kd6! (2.Qxb7#)" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 37 date: 1909 algebraic: white: [Ke2, Qh8, Sb6, Ph3, Pc2] black: [Ke4, Qb4, Bd5, Bc7, Ph7, Pe7] stipulation: + solution: | "1. Qxh7+ Ke5 (1... Kd4 2. c3+ Qxc3 3. Qg7+ Be5 4. Qg1+ Ke4 5. Qg2+) 2. Qh5+ Ke6 (2... Ke4 3. Qg4+ Bf4 4. Qxf4+ Kxf4 5. Nxd5+) (2... Kd4 3. Qxd5+ Kc3 4. Qd2+ Kb2 5. Qxb4+) 3. Qg6+ Ke5 4. Nd7+ Kd4 5. Qd3# 1-0" --- authors: - Dawson, Thomas Rayner source: Yorkshire Evening Post date: 1908 algebraic: white: [Ka6, Bc2, Ph6, Pf5, Pa7, Pa4] black: [Ka8, Ra1, Ba5, Pe7, Pd3, Pc4, Pb6] stipulation: + solution: | 1. f6 e5 2. f7 Bb4 3. h7 Rh1 4. Bd1 e4 5. Bg4 Rh6 6. h8=Q+ Rxh8 7. Bf5 Rh4 8. Bc8 1-0 --- authors: - Dawson, Thomas Rayner source: Yorkshire Evening Post date: 1908 algebraic: white: [Kh1, Qh5] black: [Kb6, Sh4, Sf3] stipulation: + solution: | 1. Qd5 Kc7 2. Qe6 Kd8 3. Qf7 Kc8 4. Qe7 Kb8 5. Qd7 Ka8 6. Qc7 1-0 --- authors: - Dawson, Thomas Rayner source: Daily Mail date: 1920 algebraic: white: [Kb6, Sf3, Sc2] black: [Ka8, Pf7, Pc3] stipulation: + solution: | "1. Ne5 Kb8 2. Nxf7 Kc8 3. Kc6 Kb8 4. Nd6 Ka7 5. Kb5 Kb8 6. Kb6 Ka8 7. Kc7 Ka7 8. Nb4 c2 9. Nc8+ Ka8 10. Nc6 c1=Q 11. Nb6# 1-0" --- authors: - Dawson, Thomas Rayner source: Morning Post date: 1920 algebraic: white: [Kg3, Sh2, Sf2] black: [Kg1, Pg5, Pg4] stipulation: + solution: | "1. Nfxg4 Kh1 2. Nf2+ Kg1 3. Nh3+ Kh1 4. Nf3 g4 5. Nf2# 1-0" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 0599 date: 1920 algebraic: white: [Ka5, Rg3, Pg6, Pb6, Pb5, Pb2, Pa3] black: [Ka8, Bh1, Sg1, Ph3, Pg7, Pg2, Pe7, Pd4, Pc4, Pb7, Pa4] stipulation: "=" solution: | 1. Rg4 Kb8 (1... e5 2. Rh4) (1... Ne2 2. Rh4) (1... Nf3 2. Rf4) 2. Rxd4 Kc8 3. Rxc4+ Kd8 4. Rxa4 Ne2 5. b4 Nc3 1/2-1/2 --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 0599 date: 1920 algebraic: white: [Ka5, Rg3, Pg6, Pb6, Pb5, Pb2, Pa3] black: [Ka8, Rh1, Sg1, Ph2, Pg7, Pg2, Pe7, Pd4, Pc4, Pb7, Pa4] stipulation: "=" solution: | 1. Rg4 Kb8 2. Rxd4 Kc8 3. Rxc4+ Kd8 4. Rxa4 Ne2 5. b4 g1=Q 1/2-1/2 --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 337 date: 1919 algebraic: white: [Kg3, Ph5, Pg7, Pg5, Pa6] black: [Kh7, Bc8, Ph3, Pa7] stipulation: "=" solution: | "1. h6 Bxa6 2. g6+ Kg8 3. Kxh3 Bd3 4. Kg4 Bxg6 (4... a5 $2 5. Kg5 a4 6. Kf6 a3 7. h7#) 5. Kf3 1/2-1/2" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 0569 date: 1919 algebraic: white: [Ke5, Re8, Ph3, Pg4, Pf3, Pe3, Pd6, Pc5, Pc4] black: [Kg5, Qf7, Ph4, Pg6, Pf5, Pe4, Pd7, Pc6] stipulation: + solution: | 1. f4+ Kh6 2. g5+ (2. Re7 $2 Qg8 $1 (2... fxg4 $2 3. Rxf7 gxh3 4. Rxd7 h2 5. Rc7 h1=Q 6. d7) 3. gxf5 Qxc4 $1 4. Rxd7 Qxc5+ 5. Ke6 Qxf5+ 6. Ke7 g5 7. fxg5+ Qxg5+ 8. Kf8 Qf5+ 9. Ke8 Qe5+ 10. Kd8 Qa5+ 11. Kc8 Qa8+ 12. Kc7 c5 13. Re7 c4 14. d7 Qa7+ 15. Kc6 Qa6+ 16. Kd5 Qa5+ 17. Kxc4 Qd8) 2... Kg7 3. Re7 Kf8 $1 ( 3... Qxe7+ 4. dxe7 Kf7 5. e8=Q+ Kxe8 6. Kf6) 4. Rxf7+ Kxf7 5. Kd4 Ke8 6. Kc3 Kd8 7. Kb3 $1 (7. Kb4 $2 Kc8 8. Ka5 Kb7) 7... Kc8 8. Kb4 Kb7 (8... Kd8 9. Ka5 Kc8 10. Ka6 Kb8 11. Kb6 Kc8 12. Ka7 Kd8 13. Kb7) 9. Kc3 Kc8 10. Kd4 Kd8 11. Ke5 Ke8 12. Kf6 1-0 --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 376 date: 1919 algebraic: white: [Ka8, Rg2, Bh2, Bc8, Sh8, Pg6, Pf7, Pf3, Pe4, Pd5, Pc6, Pb7] black: [Kd8, Qh3, Rf8, Ra1, Bh1, Ba7, Sh6, Sg7, Ph5, Pg4, Pf5, Pe6, Pd7, Pb2] stipulation: "=" solution: | 1. c7+ Ke7 2. d6+ Kf6 3. e5+ Kg5 4. f4+ Kh4 5. Bg3+ Qxg3 6. Rh2+ Qh3 7. Rxh3+ gxh3 1/2-1/2 --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 0484 date: 1918 algebraic: white: [Kc2, Rc4, Bf2, Sf4, Pg2, Pd3, Pc6] black: [Kd8, Qh8, Pg5, Pe6, Pd5, Pc7, Pc5] stipulation: + solution: | "1. Ra4 Qh1 (1... Ke7 2. Ng6+) 2. Ra8+ Ke7 3. Rh8 $1 Qa1 (3... Qxh8 4. Ng6+) ( 3... Qf1 $1 4. Bxc5+ Kf6 5. Rf8+ Kg7 (5... Ke5 6. Ng6#) 6. Nxe6+) 4. Bxc5+ Kf6 5. Rf8+ Kg7 (5... Ke5 6. Ng6#) 6. Bd4+ Qxd4 7. Nxe6+ 1-0" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 0491 date: 1918 algebraic: white: [Kf8, Rc1, Pf6, Pe5, Pd4, Pc3, Pb2] black: [Kh8, Re3, Bb1, Ph7, Ph6, Pd7, Pd3, Pc7, Pc2, Pb6] stipulation: "=" solution: | 1. Rg1 Ba2 2. b3 Bxb3 3. c4 Bxc4 4. d5 Bxd5 5. e6 Bxe6 6. f7 Bxf7 7. Rg8+ Bxg8 1/2-1/2 --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 240 date: 1916 algebraic: white: [Kh4, Ph6, Ph3, Pf3, Pf2, Pe6] black: [Kb5, Ph7, Pf6, Pf5, Pf4, Pe2] stipulation: "=" solution: | 1. e7 e1=R $1 (1... e1=Q 2. e8=Q+ Qxe8) 2. Kh5 Rxe7 3. h4 Re3 (3... Kc5) (3... Re4 $1 {cook HA} 4. fxe4 fxe4 5. Kg4 f3 $1 6. Kf4 f5) 4. fxe3 fxe3 5. f4 e2 1/2-1/2 --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 0396 date: 1916 algebraic: white: [Kh4, Rg4, Se4, Pg5, Pg3, Pd2] black: [Kf5, Rh1, Rf2, Bg1, Bf1, Se1, Ph2, Pg6, Pg2, Pf3, Pe5, Pe2] stipulation: "=" solution: | "1. Nc5 Nd3 (1... Nc2 2. Re4 Ne3 3. dxe3 e1=Q 4. g4#) 2. Rf4+ $1 exf4 (2... Nxf4 3. g4#) 3. g4+ Ke5 4. Nxd3+ Kd4 5. Ne1 1/2-1/2" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 259 date: 1916 algebraic: white: [Kf1, Qc1, Se5] black: [Kh3, Qb6, Sg1, Ph6, Pb4] stipulation: + solution: | 1. Qc8+ Kh2 2. Qc2+ Kg3 3. Qg2+ Kf4 4. Ng6+ Kf5 5. Ne7+ Ke5 6. Qh2+ Ke4 7. Qc2+ Ke5 (7... Kf3 8. Qg2+ Kf4 9. Nd5+) 8. Qf5+ Kd4 (8... Kd6 9. Nc8+) 9. Qf2+ 1-0 --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 0309 date: 1915 algebraic: white: [Ka1, Qg1] black: [Kd4, Re5, Rc5, Pe3, Pc3] stipulation: "=" solution: | 1. Qd1+ Ke4 2. Qg4+ Kd5 (2... Kd3 3. Qd1+) 3. Qd7+ Kc4 4. Qa4+ Kd3 5. Qd1+ 1/2-1/2 --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 213 date: 1915 algebraic: white: [Ke1, Bg8, Bg5, Sf2, Se7, Ph5, Ph4, Pg3] black: [Kg7, Qa1, Bh8, Bb1, Sd2, Pc2] stipulation: "=" solution: | "1. Bh6+ $1 Kf6 $1 (1... Kxh6 2. Nf5+ Kxh5 3. Bf7#) 2. Bg5+ Ke5 3. Bf4+ Kd4 4. Be3+ Kc3 (4... Kxe3 5. Nf5+ Kf3 6. Bd5+ Ne4 7. Bxe4#) 5. Bxd2+ Kb2 6. Bc1+ Kc3 $1 (6... Kxc1 $2 7. Nd3#) 7. Bd2+ Kd4 8. Be3+ Ke5 9. Bf4+ Kf6 10. Bg5+ Kg7 11. Bh6+ 1/2-1/2" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 168 date: 1914 algebraic: white: [Ka3, Be3, Bb3, Se1, Ph3, Pg5, Pd3, Pa6] black: [Ke5, Qe8, Sf7, Sa8, Pg6, Pe6, Pd6, Pd5] stipulation: + solution: | 1. Ba4 $1 Qh8 (1... Qxa4+ 2. Kxa4 Nd8 $1 3. Nf3+ Kf5 4. Nd4+ Ke5 5. Kb5) (1... Qc8 2. Nf3+ Kf5 3. Nh4+ $1 Ke5 4. Nxg6+ Kf5 5. Ne7+) 2. Nf3+ Kf5 3. Nd4+ Ke5 4. Nc6+ Kf5 5. Ne7+ Ke5 6. Nxg6+ 1-0 --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 0290 date: 1914 algebraic: white: [Kc2, Be2, Bc7, Ph6, Ph3, Pf6, Pd3, Pa5] black: [Ke6, Rd4, Ph7, Pg6, Pf7, Pc4, Pa6] stipulation: + solution: | 1. Kc3 (1. dxc4 $1 {cook JU}) 1... Rd5 (1... Rh4 2. Bg4+ Kd5 3. Bf4) 2. dxc4 Rc5 3. Bg4+ Kxf6 4. Bb6 Rc6 5. Bd7 Rd6 6. Bd8+ Ke5 7. Bc7 1-0 --- authors: - Dawson, Thomas Rayner source: East London Observer date: 1913 algebraic: white: [Ke1, Pe2, Pb7, Pb6] black: [Kg1, Bh1, Pg2, Pe3] stipulation: + solution: | 1. b8=R $1 (1. b8=Q $2) 1... Kh2 2. Rh8+ Kg3 (2... Kg1 3. Rg8 Kh2 4. b7 g1=Q+ 5. Rxg1 Bxb7 6. Rg7) 3. Rg8+ Kf4 4. Kd1 Ke5 5. Kc1 Kd4 6. Kc2 Kc5 7. Kd3 1-0 --- authors: - Dawson, Thomas Rayner source: Falkirk Herald date: 1913 algebraic: white: [Ke1, Ph6, Pf4, Pd3, Pc5, Pc4, Pb6] black: [Kg1, Bf1, Pg2, Pf6, Pe2, Pd4, Pc6, Pb7] stipulation: + solution: | 1. h7 f5 (1... Kh2 2. h8=Q+ Kg3 3. Qg7+ Kxf4 4. Qxf6+) 2. h8=B (2. h8=Q $2) 2... Kh2 3. Bxd4 g1=Q 4. Bxg1+ Kxg1 5. d4 Bg2 6. d5 cxd5 7. c6 d4 8. c7 d3 9. c8=Q d2+ 10. Kxe2 1-0 --- authors: - Dawson, Thomas Rayner source: Four-leaved Shamrock date: 1913 algebraic: white: [Kb6, Bf1, Sb4, Ph6, Pf6, Pd4, Pd3] black: [Kb8, Rg3, Rf2, Sb3, Pd7, Pd6, Pa6] stipulation: + solution: | "1. h7 Rh2 2. f7 Rf3 3. Bg2 d5 (3... Rxf7 4. Bb7 Nc5 5. dxc5) (3... Rf6 4. f8=Q+ Rxf8 5. Bb7) (3... Rh6 4. h8=Q+ Rxh8 5. Bxf3) 4. Nc6+ (4. Bxf3 $2 Rh6+ 5. Nc6+ Rxc6#) (4. Nxa6+ $1 {cook AR}) 4... dxc6 5. Bxf3 1-0" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 113 date: 1913 algebraic: white: [Kh8, Pe4, Pd5, Pb5] black: [Kf2, Pg4, Pe5, Pa7] stipulation: + solution: | 1. b6 $1 (1. d6 $1 {cook} g3 2. d7 g2 3. d8=Q g1=Q 4. Qf6+ Ke2 5. Qxe5) 1... axb6 2. d6 g3 3. d7 g2 4. d8=Q g1=Q 5. Qxb6+ Kg2 6. Qxg1+ Kxg1 7. Kg7 1-0 --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 113 date: 1913 algebraic: white: [Kc3, Pe4, Pd5, Pb5] black: [Kf2, Pg4, Pe5, Pa7] stipulation: + solution: | 1. b6 (1. d6 $2 g3 2. d7 g2 3. d8=Q g1=Q 4. Qf6+ Ke2 5. Qxe5 Qa1+) 1... axb6 2. d6 g3 3. d7 g2 4. d8=Q g1=Q 5. Qxb6+ Kf1 6. Qxg1+ Kxg1 7. Kc4 Kf2 8. Kd5 1-0 --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 0187 date: 1913 algebraic: white: [Kg7, Qf2, Ph7] black: [Kh1, Qc2, Rf8, Re8, Bg6, Bb2, Sg8, Pf7, Pf6, Pe7, Pd2] stipulation: "=" solution: | 1. Qf1+ (1. h8=Q+ $1 {cook MC} Bh7 2. Qf1+ Kh2 3. Qf2+ Kh3 4. Qf3+ Kh4 5. Qf4+ Kh5 6. Qf3+ Kg5 7. Qg3+ Kh5 (7... Kf5 $2 8. Qxh7+) 8. Qf3+) 1... Kh2 2. Qf2+ Kh3 3. Qf3+ Kh4 4. Qf4+ Kh5 5. Qf5+ Qxf5 6. h8=B Qg5 1/2-1/2 --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 0187 date: 1913 algebraic: white: [Kg7, Qc4, Ph7] black: [Kh1, Qc2, Rf8, Re8, Bf5, Sg8, Pf7, Pe7, Pd2, Pc3] stipulation: "=" solution: | 1. Qf1+ Kh2 2. Qf2+ Kh3 3. Qf3+ Kh4 4. Qf4+ Kh5 5. Qg5+ Kxg5 6. h8=B d1=Q 1/2-1/2 --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 0189 date: 1913 algebraic: white: [Ka6, Pe3, Pc6, Pb5] black: [Kb8, Ba7, Pc7, Pb6] stipulation: + solution: 1. e4 Ka8 2. e5 Kb8 3. e6 Ka8 4. e7 Bb8 5. e8=N $1 1-0 --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 134 date: 1913 algebraic: white: [Ka1, Ra2, Pg4, Pf4, Pd3, Pc2, Pb3, Pa4] black: [Kc1, Bh8, Pd4, Pc3, Pb4, Pa5] stipulation: + solution: | 1. g5 Bg7 2. f5 Be5 $1 3. f6 Kd1 4. Kb1 Kd2 5. Ra1 Kd1 6. Ka2+ Kxc2 7. Re1 1-0 --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 0218 date: 1913 algebraic: white: [Kh1, Be1, Ph2, Pa5] black: [Kh8, Bf4, Ph3, Pd4, Pc4, Pb5] stipulation: "=" solution: | 1. a6 Bb8 2. Bc3 Kh7 3. Bxd4 Kg6 4. Be5 Ba7 5. Bd4 Bb8 (5... Bxd4 6. a7 Bxa7) 6. Be5 1/2-1/2 --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 145 date: 1913 algebraic: white: [Kf2, Rb7, Pg7, Pf6, Pf4, Pf3, Pc6, Pb5] black: [Kc8, Rg6, Bb8, Pf7, Pf5, Pc7, Pb6] stipulation: + solution: | 1. Ke3 Rg1 2. Kd4 Rd1+ 3. Ke5 Rg1 (3... Rd8 4. Kxf5 Re8 5. Kg5) 4. Kxf5 Rg2 5. Ke4 Rg3 6. Ke3 Rg2 7. Kd3 Rg1 8. Ke2 Rg2+ 9. Kf1 Rg3 10. f5 $1 (10. Kf2 $2 Rg6 11. f5 Rg5 12. f4 Rg4 13. Kf3 Rg1) 10... Rg5 11. Kf2 1-0 --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 146 date: 1913 algebraic: white: [Kh4, Be7, Sc5, Pg7, Pg3, Pe3, Pe2, Pd4, Pc2, Pb6, Pa4] black: [Kc8, Qa8, Rb8, Ra7, Bh8, Be8, Ph6, Ph5, Pg4, Pe4, Pd5, Pb7, Pa6, Pa5] stipulation: + solution: | 1. g8=B (1. gxh8=B $2 Bxa4) (1. gxh8=Q $2) (1. gxh8=N $2 Bf7 2. Nxf7) (1. g8=Q $2 Bf6+ 2. Bxf6) (1. g8=R $2 Bf6+ 2. Bxf6) 1... Bf6+ 2. Bxf6 Bf7 3. Bh7 Bg6 4. c4 Bxh7 5. cxd5 Bf5 6. Kxh5 Bd7 7. Kg6 Be8+ 8. Kg7 Bxa4 9. Kf7 Bb5 10. Ke7 a4 11. Nxe4 1-0 --- authors: - Dawson, Thomas Rayner source: Reading Observer date: 1912 algebraic: white: [Kh8, Rb4, Bg8, Pd5, Pa5] black: [Ke8, Bf8, Ph3, Pg7, Pg4, Pf3, Pd6, Pa6] stipulation: "=" solution: | 1. Rxg4 (1. Be6 $2 h2 2. Rb1 g3) 1... f2 (1... h2 2. Re4+) 2. Rf4 h2 3. Bh7 h1=Q 4. Rxf8+ Ke7 5. Rf7+ Kxf7 1/2-1/2 --- authors: - Dawson, Thomas Rayner source: Reading Observer date: 1912 algebraic: white: [Kc2, Qg3, Be7, Ph2, Pb5, Pa2] black: [Ke4, Qb7, Re5, Bc8, Pe6, Pd7, Pd5, Pc7, Pb6, Pa5] stipulation: + solution: | 1. Kd2 d4 2. Qg4+ Kd5 3. Qf3+ Re4 4. Kd3 Ke5 5. Qf6+ (5. Qh5+ $1 {cook JU} Kf4 6. Qh4+) 5... Kd5 6. Qg5+ Re5 7. Qg2+ 1-0 --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1912 algebraic: white: [Kf1, Pg6, Pg5, Pf4, Pe3, Pd2, Pb7] black: [Kg3, Be8, Pf5, Pf2, Pe4, Pd3] stipulation: + solution: | 1. b8=R (1. b8=Q $2 Bxg6 2. Qh8 Bh5 3. Qxh5) 1... Bxg6 (1... Ba4 $1 {cook DB} 2. Rb1 Be8 3. Rb6 Ba4) 2. Rh8 Bf7 3. g6 Bxg6 4. Rg8 Kf3 5. Rg7 Be8 6. Rg2 1-0 --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 0093 date: 1911 algebraic: white: [Ke1, Qh8, Ba2, Sb8] black: [Kc1, Qf7, Bc5, Sd5, Pd6, Pa4] stipulation: + solution: | "1. Qa1+ Kc2 2. Qb1+ Kc3 3. Qc1+ Kd4 (3... Kb4 4. Qb2+ Ka5 5. Nc6+ Ka6 6. Bc4#) (3... Kd3 4. Qd2+ Ke4 5. Bxd5+) 4. Qb2+ Ke4 5. Bxd5+ Qxd5 (5... Kxd5 6. Qa2+) 6. Qg2+ Kd4 (6... Ke5 7. Nc6+ Ke6 8. Qg8+) 7. Nc6+ Kc4 8. Qa2+ 1-0" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur source-id: 0093 date: 1911 algebraic: white: [Ke1, Qb1, Ba2, Sb8] black: [Kc3, Qf7, Bc5, Sd5, Pd6, Pa4] stipulation: + solution: | 1. Qc1+ Kd4 (1... Kb4 2. Qb2+ Ka5 3. Nc6+) 2. Qb2+ Ke4 (2... Kd3 3. Qe2+) 3. Bxd5+ $1 Qxd5 (3... Kxd5 4. Qa2+) 4. Qg2+ Kd4 (4... Ke5 5. Nc6+ Ke6 6. Qg8+) 5. Nc6+ Kc4 6. Qa2+ 1-0 --- authors: - Dawson, Thomas Rayner source: Magyar Sakkvilág source-id: 190 date: 1928 distinction: 4th Honorable Mention algebraic: white: [Ke1, Bb3, Sh7, Sa6, Pg3, Pf4, Pe3, Pd3, Pa2] black: [Ke8, Qf5, Ph5, Pg6, Pf7, Pf6, Pe4, Pa5] stipulation: + solution: | 1. Be6 $1 fxe6 (1... Qxe6 2. Nc7+ Ke7 3. Nxe6 fxe6 4. dxe4 Kf7 5. e5) 2. g4 $1 hxg4 (2... Qd5 3. Nc7+ Kf7 4. Nxd5 exd5 5. dxe4 dxe4 6. g5) 3. dxe4 Qxe4 (3... Qb5 4. Nc7+) (3... Qh5 4. Nxf6+) 4. Nxf6+ 1-0 --- authors: - Dawson, Thomas Rayner source: The Fairy Chess Review date: 1938 algebraic: white: [Kb6, Qd2, Bd6] black: [Ka8, Qb1, Bg6, Sd1, Pb7, Pb4] stipulation: "#2" solution: | "1...b3 2.Qa5# 1...Qe4/Qa2 2.Qa2# 1.Qd5! (2.Qa5#/Qxb7#) 1...Qa1/Qd3/Qf5 2.Qxb7# 1...Qe4 2.Qa5#/Qa2# 1...Qa2 2.Qxa2#/Qxb7# 1...Be4 2.Qa5#/Qg8# 1...Bd3 2.Qg8#/Qxb7# 1.Qg2! (2.Qxb7#) 1...Be4 2.Qg8# 1...Qe4 2.Qa2#" keywords: - Cooked --- authors: - Dawson, Thomas Rayner source: Tijdschrift vd KNSB date: 1937 algebraic: white: [Ka3, Qc1, Rf8, Rf1, Be1, Sg3, Pf3, Pe6] black: - Kf4 - Qg2 - Rf7 - Re3 - Bh4 - Bg8 - Se4 - Sd2 - Pg6 - Pg5 - Pg4 - Pd4 - Pd3 - Pc5 - Pc2 - Pb3 stipulation: "h#2" solution: "1.S:f3 Ba5 2.Sc3 Bc7#" --- authors: - Dawson, Thomas Rayner source: The Fairy Chess Review date: 1947 algebraic: white: [Kd5, Ra1, Ba7, Ph6, Pa5, Pa3, Pa2] black: [Kh8, Ph7, Pe7] stipulation: "ser-h#15" solution: | "1.e7-e5 ... 5.e2-e1=S 6.Se1-c2 7.Sc2*a3 8.Sa3-b5 9.Sb5*a7 10.Sa7-c6 11.Sc6*a5 12.Sa5-b3 13.Sb3-c1 14.Sc1*a2 15.Sa2-c1 Ra1-a8 #" keywords: - Excelsior - Annihilation --- authors: - Dawson, Thomas Rayner source: Club Argentino de Ajedrez date: 1920 distinction: Comm. algebraic: white: [Kh3, Qb4, Rf7, Ra4, Bc1, Sg3, Se1, Ph5, Ph4, Pg2, Pd2] black: [Kf4, Qc4, Re4, Ba2, Ba1, Ph7, Pg6, Pf5, Pe5, Pe2, Pc2] stipulation: "#2" solution: --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1901 algebraic: white: [Kh7, Rg6, Rc2, Bb1, Sf5, Sd3] black: [Ke4] stipulation: "#2" solution: | "1.Rg4+?? 1...Kf3 2.Rf4#/Ne5# 1...Kxd3 2.Rd4# 1...Kd5 2.Ba2# but 1...Kxf5! 1.Rc4+?? 1...Kxf5 2.Rf4# 1...Kd5 2.Rd4#/Ne3# but 1...Kf3! 1.Re2+! 1...Kf3 2.Re3#/Nd4# 1...Kxf5 2.Re5# 1...Kd5 2.Ba2#" keywords: - Checking key - Flight taking key - No pawns - Scaccografia --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1920 algebraic: white: [Ke4, Be8, Be5] black: [Ke2, Qe7, Pe6] stipulation: "s#5" options: - Maximummer twins: b: Remove e5, Add wPe3 solution: | "a) Diagramm: 1. Bd6! Qh4+ 2. Bf4 Qd8 3. Be5 Qd1 4. Kf4 Qd8 5. Bd7 Qh4# b) Remove wBe5, Add wPe3: 1. Kf4! Qa3 2. Bb5+ Qd3 3. e4 Qxb5 4. e5 Qe8 5. Ke4 Qa4#" keywords: - Asymmetrical solution --- authors: - Dawson, Thomas Rayner source: L'Echiquier date: 1937 algebraic: white: [Ke8, Qh5, Rg8, Bf4, Be6, Sh3, Nd5] black: [Kh7, Rb1, Bc2, Bb2, Sa1, Ph6, Pf6, Nc1, Nb3, Na2] stipulation: "#2" solution: | "1.Bf4-e3 ! zugzwang. 1...Nb3-d2 2.Qh5*h6 # 1...Nc1-g3 2.Qh5-f7 # 1...Nc1-e2 2.Qh5-f7 # 1...Nc1-f7 2.Qh5*f7 # 1...Nc1-e5 2.Nd5*f6 # 1...Nc1-d3 2.Qh5-g6 # 1...Na2-g5 2.Sh3*g5 # 1...Na2-e4 2.Qh5-g6 # 1...Na2-c3 2.Nd5*f6 # 1...Na2-d8 2.Sh3-g5 # 1...Na2-c6 2.Sh3-g5 # 1...Na2-b4 2.Sh3-g5 # 1...Bb2-e5 2.Qh5-f7 # 1...Bb2-d4 2.Qh5*h6 # 1...Bb2-c3 2.Sh3-g5 # 1...Bb2-a3 2.Nd5*f6 # 1...Bc2-d1 2.Qh5-g6 # 1...Bc2-g6 + 2.Qh5*g6 # 1...Bc2-f5 2.Qh5*h6 # 1...Bc2-e4 2.Sh3-g5 # 1...Bc2-d3 2.Qh5-f7 # 1...Nb3-f1 2.Qh5*h6 # 1...Nb3-f5 2.Qh5-g6 # 1...Nb3-d4 2.Nd5*f6 # 1...Nb3-d7 2.Qh5*h6 # 1...Nb3-c5 2.Qh5*h6 # 1...Nb3-a5 2.Qh5*h6 # 1.Bf4-e5 ! threat: 2.Qh5-f7 # 2.Nd5*f6 # 1...Nc1*e5 2.Nd5*f6 # 1...Na2-g5 2.Nd5*f6 # 2.Sh3*g5 # 1...Na2-e4 2.Qh5-f7 # 2.Qh5-g6 # 1...Na2-d8 2.Nd5*f6 # 2.Sh3-g5 # 1...Na2-b4 2.Qh5-f7 # 2.Sh3-g5 # 1...Bb2*e5 2.Qh5-f7 # 1...Bc2-g6 + 2.Qh5*g6 # 1...Nb3-d2 2.Qh5-f7 # 1...Nb3-f5 2.Qh5-g6 # 2.Nd5*f6 # 1...Nb3-d7 2.Qh5-f7 #" keywords: - Nightrider --- authors: - Dawson, Thomas Rayner source: Eskilstuna-Kuriren date: 1937 algebraic: white: [Ka8, Rd2, Bc6, Ba3, Pf2, Gh1, Gb2] black: [Kc3, Sh3, Pd4, Pd3, Pc4, Pc2, Gh7, Gf8, Ge2, Gb3] stipulation: "#2" solution: | "1.Bc6-a4 ! zugzwang. 1...Gb3-d1 2.Gh1-c1 # 1...Ge2-g2 2.Gh1-f3 # 1...Gb3-d5 2.Gh1-c6 # 1...Gb3-b1 2.Gh1-a1 # 1...Sh3 ~ 2.Gh1-h8 # 1...Gh7-h2 2.Gh1*h3 # 1...Gf8-f1 2.Gh1-e1 # 1...c2-c1= any 2.Ba3-b4 #" keywords: - Grasshopper --- authors: - Dawson, Thomas Rayner source: Gambit date: 1928 algebraic: white: [Kh5, Qc8, Bf6, Sc3, Pg3, Pd2, Pb3, Ge4, Nd3] black: [Kd6, Sh4, Sd8, Pf7, Pc5, Gh7, Gg7, Gg1, Gb5, Gb2, Ga4] stipulation: "#2" solution: | "1.Nd3-f2 ! zugzwang. 1...Gg1-e3 2.Ge4-e2 # 1...Gg1-g4 2.Ge4*h4 # 1...Gb2-d4 2.Ge4-c4 # 1...Gb2-b4 2.Ge4*a4 # 1...Gb2-e2 2.Ge4-e1 # 1...Ga4-c2 2.Ge4-b1 # 1...Ga4-c6 2.Ge4-b7 # 1...Ga4-f4 2.Ge4-g4 # 1...Sh4-f3 2.Ge4-g2 # 1...Sh4-g2 2.Ge4-h1 # 1...Sh4-g6 2.Ge4*h7 # 1...Sh4-f5 2.Ge4-g6 # 1...Gb5-d5 2.Ge4-c6 # 1...c5-c4 2.Ge4-b4 # 1...Gg7-e5 2.Ge4-e6 # 1...Gg7-g2 2.Ge4-h1 # 1...Gg7-e7 2.Ge4-e8 # 1...Gh7-d3 2.Ge4-c2 # 1...Sd8-b7 2.Ge4-a8 # 1...Sd8-c6 2.Ge4-b7 # 1...Sd8-e6 2.Ge4-e7 #" keywords: - Nightrider - Grasshopper --- authors: - Dawson, Thomas Rayner source: L'Echiquier date: 1928 algebraic: white: [Kh3, Qb3, Rb8, Ra1, Be3, Pg6, Pf4, Pe6, Ne5] black: [Kb5, Rf7, Ba8, Sb2, Pg7, Pe4, Pb6, Pb4, Ng8, Nf8, Ne8] stipulation: "#2" solution: | "1.Qb3-a2 ! zugzwang. 1...Sb2-d1 2.Qa2-a4 # 1...Sb2-d3 2.Qa2-a4 # 1...Sb2-c4 2.Qa2-a4 # 1...Sb2-a4 2.Qa2*a4 # 1...b4-b3 2.Qa2*b3 # 1...Rf7*f4 2.Ne5-a7 # 1...Rf7-f5 2.Ne5-a7 # 1...Rf7-f6 2.Ne5-a7 # 1...Rf7-a7 2.Ne5*a7 # 1...Rf7-b7 2.Qa2-d5 # 1...Rf7-c7 2.Qa2-a6 # 1...Rf7-d7 2.Rb8*b6 # 1...Rf7-e7 2.Qa2-a5 # 1...Ba8-d5 2.Qa2*d5 # 1...Ba8-c6 2.Qa2-a5 # 1...Ba8-b7 2.Ne5-a7 # 1...Ne8-a6 2.Qa2*a6 # 1...Ne8-c7 2.Ne5-a7 # 1...Ne8-c4 2.Qa2-a6 # 1...Ne8-d6 2.Qa2-a6 # 1...Ne8-h2 2.Qa2-a6 # 1...Ne8-g4 2.Qa2-a6 # 1...Ne8-f6 2.Qa2-a6 # 1...Nf8-d7 2.Ne5-a7 # 1...Nf8*e6 2.Rb8*b6 # 1...Nf8*g6 2.Rb8*b6 # 1...Nf8-h7 2.Rb8*b6 # 1...Ng8-a5 2.Qa2*a5 # 1...Ng8-c6 2.Qa2-d5 # 1...Ng8-e7 2.Ne5-a7 # 1...Ng8-f6 2.Qa2-a5 # 1...Ng8-h6 2.Qa2-a5 #" keywords: - Nightrider --- authors: - Dawson, Thomas Rayner source: The Problemist date: 1927 algebraic: white: [Ka5, Qa1, Ra6, Bh8, Ba8, Sf8, Sd2, Pe5, Pe4, Pd3, Pb2, Gf5, Gd6] black: [Kc5, Qb8, Rf7, Rc8, Bg1, Sd5, Gh6, Gg8, Gb3] stipulation: "#2" solution: | "1.e5-e6 + ! 1...Sd5-b4 2.Sd2*b3 # 1...Sd5-c3 2.Qa1*g1 # 1...Sd5-e3 2.d3-d4 # 1...Sd5-f4 2.Qa1-c1 # 1...Sd5-f6 2.Ba8-d5 # 1...Sd5-e7 2.Sf8-d7 # 1...Sd5-c7 2.Ra6-c6 # 1...Sd5-b6 2.Qa1-a3 # 1...Rf7*f5 2.Sf8-d7 #" keywords: - Grasshopper --- authors: - Dawson, Thomas Rayner source: British Chess Federation date: 1936 algebraic: white: [Ka5, Qf1, Bh1, Bc7, Se3, Pf4, Pd5, Pa6, Pa4, Pa2, Gh6, Gf8, Nf5, Nc6] black: [Kc5, Pf2, Pa7] stipulation: "s#3" solution: | "1.Qf1-a1! 1...f2-f1Q 2.Qa1-c3+ Qf1-c4 3.Nc6-e7 Qc4*c3# 1...f2-f1S 2.Nc6-e5 S~ 3.Bc7-b6+ a7*b6# 1...f2-f1R 2.Nc6-b4 R~ 3.Bc7-b6+ a7*b6# 1...f2-f1B 2.Nc6-e2 B~ 3.Bc7-b6+ a7*b6# 1...f2-f1=G 2.Nc6-e7 (Qa1-f6) Gf1*f5 3.Bc7-b6+ a7*b6# 1...f2-f1N 2.Nf5-g3+ Nf1*g3 3.Qa1-c1+ Ng3*c1#" keywords: - Nightrider - Grasshopper --- authors: - Dawson, Thomas Rayner source: The Problemist Fairy Chess Supplement date: 1933 algebraic: white: [Ke8, Gh2, Ge6, Gb2] black: [Ke1, Rf1, Rd1, Se5, Pg5, Pe4, Pc5, Ge2] stipulation: "h#2" twins: b: Add black Ge5 solution: | "a) 1. g4 Gf6 2. Sf3 Ge3# b) 1. Gb5 Gb6 2. c4 Ge3#" keywords: - Asymmetrical solution - Grasshopper --- authors: - Dawson, Thomas Rayner source: The Problemist date: 1929 algebraic: white: [Kd5, Qf4, Re3, Rc3, Bc5, Pg5, Pg4, Pe6] black: [Kf2, Qh7, Rg7, Rc7, Ba4, Sc8, Sc2, Pf7, Pf6, Pe2, Pd2, Pb6, Pb5, Pb4, Pa6] stipulation: "#1" solution: keywords: - Retro --- authors: - Dawson, Thomas Rayner source: The Problemist date: 1929 algebraic: white: [Ka7, Qb8, Ra8, Ra6, Bg1, Sh8, Sh1, Ph2, Pg2, Pe7, Pe3, Pd2] black: [Kh5, Qe1, Rh6, Bd1, Sd8, Sc7, Pg7, Pg6, Pf6, Pe6, Pb7, Pb6, Pb3, Pa4] stipulation: "h#1" solution: keywords: - Retro --- authors: - Kemp, Charles Edward - Dawson, Thomas Rayner source: The Fairy Chess Review date: 1943 algebraic: white: [Ke1, Pg5, Pg4, Pf5, Pe5, Pd5, Pc5, Pc4] black: [Ke7, Qe3, Rf8, Rd8, Ph7, Pf4, Pf3, Pe4, Pe2, Pd4, Pd3, Pb7] stipulation: h=3 solution: keywords: - Retro --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times date: 1915 algebraic: white: [Kd2, Rb1, Bf8, Sd1, Pf2, Pd3, Pb3, Pa7, Pa6] black: [Ka2, Rb7, Bc8, Bb8, Pg7, Pf7, Pf6, Pd7, Pc7, Pc2, Pb6, Pa5] stipulation: "Add a white Queen and then #1" solution: "+ wQe8 0. Ka3-a2 e7-e8Q 1. Sd1-c3#" keywords: - Retro --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1921 algebraic: white: [Kd5, Qa1, Rf2, Rd3, Bf3, Sg4, Se5, Pf4, Pe3, Pd6] black: [Ka8, Bh1, Sa5, Ph6, Pg2, Pb5, Pb3, Pa6] stipulation: "s#5" solution: --- authors: - Dawson, Thomas Rayner source: Magyar Sakkvilág source-id: 10/77 date: 1923-10-01 algebraic: white: [Ke1, Re4, Pf6, Pc6] black: [Kd8, Rd5, Pf7, Pc7] stipulation: "#9" solution: | "1.Re4-a4 ! 1...Kd8-e8 2.Ra4-h4 2...Rd5-e5 + 3.Ke1-d2 3...Ke8-d8 4.Rh4-a4 4...Re5-d5 + 5.Kd2-e3 5...Kd8-e8 6.Ra4-h4 6...Rd5-e5 + 7.Ke3-f4 7...Ke8-d8 8.Kf4*e5 threat: 9.Rh4-h8 # 7.Ke3-d4 7...Ke8-d8 8.Kd4*e5 threat: 9.Rh4-h8 #" comments: - dedicated to O.T.Bláthy --- authors: - Dawson, Thomas Rayner source: The Fairy Chess Review date: 1946 algebraic: white: [Kd6, Be7, Pg7, Pf6, Pe6, Pd5, Pc6, Pb6, Pa6] black: [Kc8, Re5, Rc7, Bb8, Ba8, Sa7, Pg6, Pf5, Pe4, Pd4, Pc5, Pb5, Pa5, Pa4] stipulation: "#1" solution: keywords: - Retro --- authors: - Da Costa Andrade, Barry Jack - Dawson, Thomas Rayner source: The Problemist Fairy Chess Supplement date: 1931 algebraic: white: [Ka1, Re5, Rc5, Sd3, Ph2, Pc6] black: [Kd6, Ph6, Ph3, Pd7, Pc7, Pa2] stipulation: "#4" solution: | "Vertical cylinder 1.Rc4 (1. ... dxc6? 2.Rd4#) 1. ... h5 2.Rc4 h4 3.Re5 dxc6 4.Rd4#" keywords: - Tempo move (cylindric) - Fairy board - Vertical cylinder --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Sun date: 1925-03-14 algebraic: white: [Kc2, Be5, Bb3, Pb2] black: [Ka1, Ra2] stipulation: "#2" solution: | "1.Bd5! zz 1. ... Ra2~ 2.b4# 1. ... Ra3 2.bxa3# 1. ... Rxb2+ 2.Bxb2#" keywords: - Anticipatory interference - Black correction --- authors: - Dawson, Thomas Rayner source: algebraic: white: [Kc2, Bb8, Sd6, Pb2] black: [Ka5, Pb6, Pa6] stipulation: "#2" solution: | "1.Kb3! zz 1...b5 2.Bc7#" keywords: - Flight taking key --- authors: - Dawson, Thomas Rayner - Oniţiu, Valerian source: Deutsche Märchenschachzeitung algebraic: white: [Ke1, Ra1, Ph2, Pg2, Pb6, Pa6, Pa5, Pa4, Pa3, Pa2] black: [Ka8, Pf5] stipulation: "#2" solution: keywords: - Retro - "Date?" --- authors: - Dawson, Thomas Rayner source: Pittsburgh Sun source-id: 2322 date: 1924-04-19 algebraic: white: [Kg8, Sg3, Sb3, Ph5, Pd4] black: [Ke3, Rd3, Ra1, Be4, Sf3, Pe2, Pd2, Pa5] stipulation: "h#3" solution: "1. Rh1 Sa1 2. Rh4 Sh1 3. Rf4 Sc2#" comments: - version of Aleksandr Maksimov (2010) - Check also 320819 --- authors: - Dawson, Thomas Rayner source: Hamburgischer Correspondent date: 1923-12-30 algebraic: white: [Kg4, Bh2, Sd3, Sb5, Pg2, Pf2, Pe5, Pe3, Pc2, Gh4] black: [Ke4, Bd4, Sb7, Pg3, Pd5, Pc3, Gg1] stipulation: "#2" solution: | "1.Kg4-g5 ! zugzwang 1...Bd4*e5 2.Sd3-f4 # 1...Bd4*e3 + 2.f2-f4 # 1...g3*f2 2.Bh2-f4 # 1...g3*h2 2.Gh4-e1 # 1...Gg1*e3 2.f2-f3 # 1...Bd4 ~ 2.Sb5*c3 # 1...Sb7 ~ 2.Sb5-d6 #" keywords: - Grasshopper --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1925-06 algebraic: white: [Kg8, Bb6, Pf6, Pc6, Gb7] black: [Ke8, Ga4] stipulation: "#2" solution: | "1...Ga4-d7 2.f6-f7 # 1.Bb6-c7 ! zugzwang 1...Ga4-d7 2.c6*d7 #" keywords: - Mutate - Grasshopper --- authors: - Dawson, Thomas Rayner source: Svenska Dagbladet date: 1926-06-20 algebraic: white: [Kf5, Bf1, Sh3, Ph5, Pg2, Pf2, Pc3, Ga8] black: [Kh1, Ph6, Ph2, Pb7, Ga5] stipulation: "#3" solution: | "1.f2-f3 ! zugzwang 1...Ga5-g5 2.Kf5-e6 zugzwang 2...Gg5-g1 3.Sh3-f2 # 2...b7 ~ 3.f3-f4 # 1...Ga5-d2 2.c3-c4 zugzwang. 2...b7 ~ 3.f3-f4 #" keywords: - Grasshopper --- authors: - Dawson, Thomas Rayner source: Essener Anzeiger date: 1925-06-27 algebraic: white: [Ke8, Sg7, Sd6, Pd4, Gh6, Gf6, Gd7, Gd5, Gc2] black: [Kg5, Ph3, Pf3] stipulation: "#2" solution: | "1.Gh6-f4 ! threat: 2.Sd6-f5 # 1...Kg5*f4 2.Sg7-f5 #" keywords: - Grasshopper --- authors: - Dawson, Thomas Rayner source: L'Éclaireur de Nice date: 1925-12-22 algebraic: white: [Kc7, Rc4, Ra6, Pf4, Pc3, Pb5] black: [Ka8, Sa7, Pf6, Pf5, Pc5, Pb6, Ga1] stipulation: "#3" solution: | "1...Ga1-d4 2.Ra6*a7 + 2...Ka8*a7 3.Rc4-a4 # 1.Ra6-a3 ! zugzwang. 1...Ga1-d4 2.Ra3*a7 + 2...Ka8*a7 3.Rc4-a4 # 1...Ga1-a4 2.Rc4*a4 threat: 3.Ra4*a7 #" keywords: - Grasshopper --- authors: - Dawson, Thomas Rayner source: The Chess Amateur, 9th Ty 1929-1930 date: 1929 algebraic: white: [Kg6, Rb4, Sc7, Pd3, Pc5, Gf7, Gf4] black: [Ke5, Sg3, Pf5, Pb5] stipulation: "#2" solution: | "1.Gf4-h2 ! zugzwang 1...f5-f4 2.Rb4-e4 # 1...Sg3 ~ 2.Gf7-h5# 1...Sg3-e4 2.d3-d4#" keywords: - Anti-half-pin - Grasshopper --- authors: - Dawson, Thomas Rayner source: De Standaard date: 1926-09-21 algebraic: white: [Kg3, Rd7, Gd4] black: [Ka8, Gd8, Gb8] stipulation: "h#2" options: - SetPlay solution: | "1...Rd7-c7 2.Gd8-b6 Rc7-a7 # 1.Gd8-d6 Rd7-g7 2.Gd6-h2 Gd4-h8 #" keywords: - Grasshopper --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1925-07 algebraic: white: [Kb3, Ba8, Sc8, Pc3, Pb4, Pa7, Pa5, Gc6] black: [Ka6, Pb5] stipulation: "#2" solution: | "1.a5*b6 ep. + ! 1...Ka6-b5 2.c3-c4 #" keywords: - Retro - En passant - Grasshopper --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1925-07 algebraic: white: [Kh7, Bg3, Sg2, Ph6, Pf6, Pf5, Gf7] black: [Kh5, Pg5, Pg4] stipulation: "#2" solution: | "1.f5*g6 ep. + ! 1...Kh5-g5 2.Bg3-h4 #" keywords: - Retro - En passant - Grasshopper - Letters - Scaccografia --- authors: - Dawson, Thomas Rayner source: The Problemist Fairy Chess Supplement source-id: 2212 date: 1936-02 algebraic: white: [Kd2, Rh4, Bc1, Sh8, Ph7, Ph5, Ph2, Pc4, Gg4, Gf6] black: [Kh6, Qf1, Re7, Rd7, Bd8, Bd1, Sb2, Sa1, Ph3, Pg7, Pd4, Gc5, Ga5] stipulation: "h#2" solution: | "Grasshoppers are promoted Pawns 1.d4*c3 ep. +++ Kd2*c3 + 2.g7-g5 h5*g6 ep.+++ # White's last move can only have been c2-c4, not Ke3-d2 (illegal +++ at e3) Three triple checks!" keywords: - Retro - En passant - Triple check - Grasshopper comments: - In memory of C. M. Fox --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1938 algebraic: white: [Kh1, Qd2, Rf5, Bd1, Ba3, Sg3, Sg2, Pg5, Pb5] black: [Kd5, Be4, Bd4, Pe6, Pe5, Pc4] stipulation: "#2" solution: | "1. Bh5! waiting 1. ... Be4~ 2. Sf4/e3# 1. ... Bd3 2. Sf4# 1. ... Bxf5 2. Se3# 1. ... Bf3 2. Bxf3# 1. ... Bxg2+ 2. Qxg2# 1. ... exf5 2. Bf7# 1. ... c3 2. Qa2#" --- authors: - Dawson, Thomas Rayner source: Springbok date: 1938-05 algebraic: white: [Ka3, Rh6, Ra4, Bb4, Se7, Pf3, Pe3, Pd5] black: [Ke5, Bg8, Bb8, Sg7, Sf6, Pf5, Pe6] stipulation: "#2" solution: | "1. Ra6! [2. Bc3#] 1. ... Sxd5 2. Sc6# 1. ... exd5 2. Sg6# 1. ... Se4 2. f4# 1. ... Bd6/a7 2. B(x)d6#" --- authors: - Dawson, Thomas Rayner source: The Problemist date: 1944-09 algebraic: white: [Kg7, Qb7, Rg1, Rc5, Bh6, Ph3, Pf6] black: [Kh5, Rd5, Bg3, Ph7, Ph4, Pf7, Pe6, Pc7, Pc4, Pa3] stipulation: "#2" solution: | "1. Qb1! [2. Qd1#] 1. ... Be5 2. Rg5# 1. ... e5 2. Qf5# 1. ... Rg5+ 2. Rxg5#" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine source-id: 7959 date: 1949-01 algebraic: white: [Kh7, Qg8, Rf8, Rd8, Ba1, Sh2, Pd2, Pc2] black: [Ke4, Rf1, Bb8, Sf5, Sf4, Ph5, Pb5] stipulation: "#2" solution: | "1.Qg5! [2.Qxf5#] 1. ... Sf5~ 2.R(x)d4# 1. ... Sd6 2.Qe5# 1. ... Sf4~ 2.d3# 1. ... Sd3 2.cxd3#" keywords: - Black correction --- authors: - Dawson, Thomas Rayner source: date: 1921 algebraic: white: [Kh7, Bh5, Bf5, Bf4, Bc5] black: [Ke1, Ph4, Pf7, Pa5] stipulation: "#3" solution: "1.Bc7! (2.B:a5+ Kf1 3.Bh3#) 1...Kd2 2.B:a5+ Kc1 3.Ba3#; 1...Kf1 2.Bh3+ Ke1 3.B:a5#" keywords: - Promoted force --- authors: - Dawson, Thomas Rayner source: The Problemist Fairy Chess Supplement date: 1931 algebraic: white: [Kd6, Re7, Rb5] black: [Ka8, Rg2, Bf1, Pg4, Pf4, Pf3, Pd3, Pd2, Pc2] stipulation: "#2" twins: b: Rotate 90 c: Rotate 180 d: Rotate 270 solution: | "a) 1.Re4 ~ 2.Ra4# b) Rotate 90 1.Re3 ~ 2.Rh3# c) Rotate 180 1.Rd8 ~ 2.Rh8# d) Rotate 270 1.Rd7 ~ 2.Ra7#" --- authors: - Dawson, Thomas Rayner source: The Australasian Chess Review source-id: 1221 date: 1940-03-30 algebraic: white: [Kc4, Rb4, Sh7, Sh1] black: [Kh4, Qa4, Rb5, Rb3, Ph6, Ph5, Ph3, Ph2] stipulation: "h#2" solution: "1.Rb5-b8 Rb4*a4 2.Rb8-h8 Kc4*b3 #" keywords: - Scaccografia --- authors: - Dawson, Thomas Rayner source: date: 1937 algebraic: white: [Kg5, Qc4, Rf1, Ra1, Bh1, Bc1, Sh8, Sh4, Pg3, Pf3, Pf2, Pd3, Pd2, Pc3] black: [Ke5, Re1, Rb5, Sg6, Sf5, Pf7, Pf4, Pd6, Pd4] stipulation: "12x #1" solution: keywords: - Consecutive Checks(in one) --- authors: - Dawson, Thomas Rayner source: The Gambit date: 1928 distinction: 1st Prize algebraic: white: [Kf6, Rd2, Be1, Ba4, Sd8, Ph4, Pg3, Pg2, Pe3, Pb7] black: [Ke8, Rh6, Rg8, Bh7, Sc6, Pg6, Pf2, Pc5, Pa3] stipulation: "s#3" options: - Maximummer solution: | "1.h5! 1…fxe1Q 2.b8Q Qa1 3.Qe5+ Qxe5# 1…fxe1R 2.b8R Ra1 3.Rb1 gxh5# 1…fxe1B 2.b8B Bxg3 3.Bxg3 gxh5# 1…fxe1S 2.b8S Sxg2 3.Rxg2 gxh5#" keywords: - Babson comments: - The first example of the Babson task in a maximummer - http://www.bstephen.me.uk/bcps/bcps03.html --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times date: 1915-04-04 algebraic: white: [Kf8, Rh8, Rb4, Bc5, Sf7, Ph2, Pc3] black: [Ka3, Ra1, Bh3, Pg2, Pd7, Pd5, Pc2, Pa2] stipulation: "#3" solution: | "1. Kg7? ad lib 2. Ra8# But 1... g1=Q+! 1. Ke7? ad lib 2. Ra8# But 1... Re1+! 1. Sd6? ad lib 2. Sb5# But 1... Rf1+! 1. c4! [2. R:h3#] 1... Bg4 2. Kg7 ad lib 3. Ra8# 1... Bf5 2. Sd6 ad lib 3. Sb5# 1... Be6 2. Ke7 ad lib 3. Ra8#" --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times date: 1912-08-11 algebraic: white: [Ka4, Rb1, Ra1, Bh3, Pc2] black: [Ka6, Pd5, Pd3, Pc7, Pc6, Pc5, Pc4] stipulation: "#3" solution: | "1.Ka3! 1....c3 2.Kb3+ K~ 3.Kxc3# 1....dxc2 2.Kb2+ K~ 3.Kxc2# 1....d4 2.Kb2+ K~ 3.Kc1# 1....Ka5 2.Rb8 c3 4.Kb3# 2....other 4.Kb2#" --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Sun date: 1914 algebraic: white: [Kh4, Rc3, Rb2, Sg2, Sc4] black: [Kd1, Sg4, Ph5, Pe3, Pb3] stipulation: "#2" solution: | "1... S~ 2. Sc:e3# 1... e2 2. Rd2/b1# 1. Sf4! [2. Rb1#] 1... Ke1 2. Rc1#" keywords: - Block --- authors: - Dawson, Thomas Rayner source: Falkirk Herald date: 1914 algebraic: white: [Ka4, Qg4, Be4, Be1, Se6, Sb1, Pf3, Pd5, Pc2] black: [Kc4, Re3, Pg5, Pe2, Pd6] stipulation: "#2" solution: | "1... Rd3 2. c:d3# 1... Rc3 2. Sd2# 1... Rb3 2. c:b3# 1... Ra3+ 2. S:a3# 1... R:e4 2. Q:e4# 1... R:f3 2. B:f3# 1. Ba5? [2. Sd2#] 1... Rd3 2. c:d3# 1... Ra3+ 2. S:a3# 1... R:e4 2. Q:e4# But 1... e1=Q! e1=B! 1. c3! [2. Sa3#] 1... R:c3 2. Sd2# 1... R:e4 2. Q:e4#" --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Sun date: 1913 algebraic: white: [Kb6, Re2, Bf2, Bd1, Pd3, Pb2] black: [Kb4, Pe3, Pd2] stipulation: "#2" solution: | "1... e:f2 2. Re4# 1. Bc2? waiting 1... e:f2 2. Re4# 1... d1=B 2. Be1# But 1... d1=Q! d1=R! d1=S! 1. Re1! waiting 1... e:f2 2. Re4# 1... e2 2. Bc5# 1... d:e1=Q/R/B/S 2. B:e1#" keywords: - Block - Mutate --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times date: 1912-05-26 algebraic: white: [Kh4, Qd6, Rb8, Rb5, Bf1, Bd8, Ph5, Pe7, Pd2, Pc7] black: [Kc4, Rd3, Rc8, Ph6] stipulation: "s#3" solution: | "1. e8B! waiting 1... R:b8 2. Rb4+ 2... R:b4 3. Qd5 K:d5# 1... R:d8 2. Qf4+ 2... R8d4 3. Qe4 R:e4# 1... R:c7 2. Bf7+ 2... R:f7 3. Qf4 R:f4#" --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times date: 1912-06-09 algebraic: white: [Kf3, Qb2, Bh2, Be2, Pb3] black: [Kb6, Ba5, Pf6, Pc6, Pb4] stipulation: "#3" solution: | "1. Qa1! - 2. Q:a5+ 2... K:a5 3. Bc7# 1... Kc5 2. Qg1+ 2... Kd5 3. Bc4# 1... c5 2. Q:f6+ 2... Kb7 3. Qa6#" keywords: - Model mates --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times date: 1912-09-01 algebraic: white: [Kd4, Qg8, Rf2, Rb7, Bb3, Bb2, Pf7, Pe3, Pc5, Pb5, Pb4] black: [Kf6, Bh8, Bf5, Ph7, Ph5, Pc6] stipulation: "s#3" solution: | "1. Qg2! [2. Kc4+ 2... Ke6 3. Qd5 ... c:d5#] 1... c:b5 2. Bd5 [3. Qg5 ... K:g5#] 2... Bg7 3. Qg5 ... K:g5# 2... h6 3. Qg6 ... K:g6# 2... h4 3. Qg5 ... K:g5#" --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times date: 1912-09-15 algebraic: white: [Kg2, Rh1, Rc6, Bd7, Bb2, Sh3, Sf1, Pf3, Pe7, Pc2] black: [Kd5, Sb7, Ph4, Pg3, Pf2] stipulation: "s#3" solution: | "1. e8B! waiting 1... Sd8/Sc5 2. Be6+ 2... S:e6 3. Sf4 S:f4# 1... Sd6/Sa5 2. c4+ 2... S:c4 3. Se3 S:e3#" --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times date: 1912-12-08 algebraic: white: [Kd4, Rg1, Sf8, Pc2] black: [Ka1, Bb1, Pg4, Pg2, Pd6, Pc4, Pb2, Pa4, Pa3, Pa2] stipulation: "#5" solution: | "1. Sg6! waiting 1... d5 2. Se5 waiting 2... c3 3. Sd3 waiting 3... g3 4. Se1 waiting 4... B:c2 5. S:c2# 2... g3 3. Sf3 waiting 3... c3 4. Se1 waiting 4... B:c2 5. S:c2# 1... c3 2. Sf4 waiting 2... d5 3. Sd3 waiting 3... g3 4. Se1 waiting 4... B:c2 5. S:c2# 2... g3 3. Sd3 waiting 3... d5 4. Se1 waiting 4... B:c2 5. S:c2# 1... g3 2. Sh4 waiting 2... d5 3. Sf3 waiting 3... c3 4. Se1 waiting 4... B:c2 5. S:c2# 2... c3 3. Sf3 waiting 3... d5 4. Se1 waiting 4... B:c2 5. S:c2#" --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times date: 1913-01-19 algebraic: white: [Ka5, Rd8, Sd6, Sc8, Pf5, Pf4] black: [Ka8, Bb8, Pf6, Pe6, Pd7, Pa7, Pa6] stipulation: "#3" solution: | "1. Se7! waiting 1... e:f5 2. Sec8 waiting 2... Bc7+(Bd6) 3. Sb6# 1... e5 2. Sd5 ad lib 3. Sc7#" --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times date: 1913-02-02 algebraic: white: [Kc1, Ra1, Bg2, Sf2, Pg4, Pe3, Pe2, Pd6, Pd3, Pc7] black: [Ka8, Bc8, Sb7, Sa7, Pg5, Pd7, Pd4, Pc3] stipulation: "#4" solution: | "1. Sd1! waiting 1... d:e3 2. S:e3 waiting 2... c2 3. Sd5 ad lib 4. Sb6# 1... c2 2. Sb2 waiting 2... d:e3 3. Sa4 ad lib 4. Sb6#" --- authors: - Dawson, Thomas Rayner source: Deutsches Wochenschach date: 1923 algebraic: white: [Ka5, Rg7, Rb4, Ba6, Se5, Sc5, Ph4, Pf2, Pe3, Pc6, Pa4] black: [Kc8, Rb7, Bd8, Pc7] stipulation: "r#2" solution: | "1. Rbg4! [2. Rxc7 ... Bxc7#] 1. ... Kb8 2. Rxc7 ... Bxc7# 1. ... Be7 2. Se4 ... Bb4# 1. ... Bf6 2. Sc4 ... Bc3# 1. ... Bg5 2. e4 ... Bd2# 1. ... Bxh4 2. f4 ... Be1#" --- authors: - Dawson, Thomas Rayner source: British Chess Magazine date: 1925 algebraic: white: [Kc7, Sc3, Nc6] black: [Ka6] stipulation: "#5" solution: "1.Ne7! Ka7 2.Ng3 Ka8 3.Ne4 Ka7 4.Sb5+ Ka8 5. Nd2#" keywords: - Nightrider --- authors: - Dawson, Thomas Rayner source: Die Schwalbe source-id: 5/I, p.46 date: 1925-02 algebraic: white: [Ke5, Be6, Sg7, Pf6, Ng4] black: [Kf8, Pd4] stipulation: "#2" twins: b: Move d4 b4 solution: | "a) 1.Na1! d3 2.Nd7# b) 1.Nc2! b3 2.B*b3#" keywords: - Nightrider --- authors: - Dawson, Thomas Rayner source: The Problemist date: 1940 algebraic: white: [Kd4, Rh5, Bc8, Pg6, Pg4, Pc7] black: [Kh3, Qh7, Re5, Rc3, Ph4, Pd7] stipulation: "s#3" options: - Maximummer solution: | "1.g5! zz 1...Rg3 2.Kc4 Ra3 3.Rxh4+ Qxh4# 1...Rxc7 2.Kd3 Rc1 3.Bxd7+ Qxd7# 1...Ra5 2.Ke4 Rxg5 3.Rxh4+ Qxh4# 1...Re1 2.Kd5 Re8 3.Bxd7+ Qxd7#" --- authors: - Dawson, Thomas Rayner source: Chess Amateur date: 1926 algebraic: white: [Kc1, Nb4] black: [Ka1, Pa3] stipulation: "#2" solution: "1.Nc6! a2 2.Ng4#" keywords: - Nightrider comments: - Compare 77696 (with Sb4 instead of Nb4) --- authors: - Dawson, Thomas Rayner source: Cheltenham Examiner date: 1913 algebraic: white: [Kc5, Sc6, Cae6] black: [Ka8] stipulation: "#6" solution: | "1.Sc6-e7 ! zugzwang. 1...Ka8-a7 2.Kc5-b5 zugzwang. 2...Ka7-b8 3.Kb5-b6 zugzwang. 3...Kb8-a8 4.CAe6-b5 + 4...Ka8-b8 5.Se7-c6 # 2...Ka7-a8 3.Kb5-a6 zugzwang. 3...Ka8-b8 4.Ka6-b6 zugzwang. 4...Kb8-a8 5.CAe6-b5 + 5...Ka8-b8 6.Se7-c6 # 1...Ka8-b8 2.Kc5-b6 zugzwang. 2...Kb8-a8 3.CAe6-b5 + 3...Ka8-b8 4.Se7-c6 #" --- authors: - Dawson, Thomas Rayner source: Fairy Chess Review date: 1945 algebraic: white: [Ke4, Se5, Ne6] black: [Ke1, Pe2, Ng7, Nc7] stipulation: "h#2" solution: "1.Nf1! Na8 2.Nd1 Sd3#" keywords: - Nightrider --- authors: - Dawson, Thomas Rayner source: Задачи и этюды date: 1929 algebraic: white: [Kh8, Rd7, Rb5, Bd2, Se4, Ph5, Nf4, Nc1] black: [Kh6, Bd5, Pf7, Pf6, Pc6, Pb3, Nb4, Na8] stipulation: "#2" solution: | "1.Rd6! (thr.: R*f6#) 1... Bc4 2.Ne6# 1... B*e4 2.N*f7# 1... Be6 2.Nb6# 1... Nc4 2.N*b3# 1... Ne6 2.N*f7#" keywords: - Grimshaw - Nightrider --- authors: - Dawson, Thomas Rayner source: Problemist Fairy Supplement date: 1934 algebraic: white: [Kd4, Rf6, Ga1] black: [Kh8, Se5, Pb2] stipulation: "h#3" solution: "1.b1G Rg6 2.Gh7 Rg1 3.Sc4 Gh1#" keywords: - Grasshopper --- authors: - Dawson, Thomas Rayner source: Die Schwalbe date: 1928 algebraic: white: [Ka3, Rb2, Sb4, Pd2, Pc2, Gc4, Ga5] black: [Ka1, Pg7, Gg6, Gf2, Gc6] stipulation: "#2" solution: | "1.Kb3! threat 2.Ga2#, Sa2# 1...Gb1+ 2.Ra2# 1...Gxc2 2.Sxc2# 1...Gc3 2.Gxc3#" keywords: - Grasshopper --- authors: - Dawson, Thomas Rayner source: Problemist date: 1927 algebraic: white: [Kc5, Sd1, Sc3, Pd4, Pb6, Ne5] black: [Ka1, Bd5, Sc8, Sc2, Pe6, Pc4, Pa6] stipulation: "#2" solution: | "1.Nd7! (zugzwang) 1... Bc6 / B~ 2.K*c6# / K*c4# 1... S*d4 / S2~ 2.K*d4# / Kb4# 1... S*b6 / S8~ 2.K*b6# / Kd6# 1... a5 2.Kb5# 1... e5 2.K*d5#" keywords: - Battery play - WK star - WK cross - Task - Nightrider comments: - N-K-battery with 8-fold variation --- authors: - Dawson, Thomas Rayner source: Revista Română de Şah date: 1927 algebraic: white: [Ka5, Qb6, Rg6, Bf6, Sd8, Pe7, Pd6, Pb7, Pb4, Nd2] black: [Kd7, Rh5, Rg4, Be8, Bb8, Pf4, Pc7, Pb5, Na7] stipulation: "#2" solution: | "1.Bg5! (thr.: 2.Nf6#) 1... c5 2.Nf6# 1... c6 2.Nf3# 1... c*b6+ 2.N*b6# 1... c*d6 2.Nb3# 1... Nc6+ 2.Q*c6#" keywords: - Pickaninny - Nightrider --- authors: - Dawson, Thomas Rayner source: Ultimate Themes source-id: 57 date: 1938 algebraic: white: [Ka8, Rg3, Re4, Bd4, Ba6, Sf1, Pe2, Pc2, Pb6, Nf6] black: [Kd8, Rf8, Ph2, Pg2, Pb2, Pa7, Pa2] stipulation: "#2" solution: | "1.Rd3! (thr.: 2.Be3# / Bf2#) 1... a1N 2.Bc5# 1... b1N 2.Bc3# 1... g1N 2.B*g1# 1... g*f1N 2.Be3# 1... h1N 2.Bf2# 1... a*b6 2.B*b6# 1... Rf6 2.B*f6# 1... Rf7 2.Re8#" keywords: - Cooked - Fleck - Nightrider comments: - | Cook: 1.Rg7; possible correction by adding bPg6. --- authors: - Dawson, Thomas Rayner source: Fairy Chess Review source-id: 14/4971 date: 1941 algebraic: white: [Kg8, Re6, Rc7, Be8, Sh8, Sa5, Pf6, Pc6, Pb6, Zd4] black: [Kd8, Pg4, Ng3, Nf2, Ne1, Nc1, Nb2, Na3] stipulation: "#3" solution: | "1.Bd7! (zugzwang) 1...Nc1-e5 2.Zd4-g6+ Ne5*g6 3.Sh8-f7# 1...Nc1-d3 2.Sa5-b7+ Nd3*b7 3.Sh8-f7# 1...Ne1-c5 2.Zd4-a6+ Nc5*a6 3.Sa5-b7# 1...Ne1-d3 2.Sh8-f7+ Nd3*f7 3.Sa5-b7# 1...Nb2-d6 2.Rc7-c8+ Nd6*c8 3.Re6-e8# 1...Nb2-c4 2.Zd4-g6+ Nc4*g6 3.Re6-e8# 1...Nf2-d6 2.Re6-e8+ Nd6*e8 3.Rc7-c8# 1...Nf2-e4 2.Zd4-a6+ Ne4*a6 3.Rc7-c8# 1...Na3-e5 2.Sh8-f7+ Ne5*f7 3.Zd4-g6# 1...Na3-c4 2.Te6-e8+ Nc4*e8 3.Zd4-g6# 1...Ng3-c5 2.Sa5-b7+ Nc5*b7 3.Zd4-a6# 1...Ng3-e4 2.Rc7-c8+ Ne4*c8 3.Zd4-a6#" keywords: - Holzhausen - Nightrider --- authors: - Dawson, Thomas Rayner source: The Australasian Chess Review source-id: 1050 date: 1939-01 algebraic: white: [Kf2, Rg4, Rd2, Bb8, Ba8, Sg8, Sc1, Pg6, Pg3, Pc5, Pc3, Pb4, Pb2] black: [Ke4, Rc2, Bf5, Bf4, Pg7, Pg5, Pf3, Pe6, Pd5, Pb6, Pa7, Pa6] stipulation: "#2" solution: 1.c5*d6 ep. + ! keywords: - Retro - En passant --- authors: - Dawson, Thomas Rayner source: To Alain White source-id: 28 date: 1945 algebraic: white: [Kf7, Qf3, Bf2, Ph4, Ph2, Pg3, Pe3, Pd4, Pd2] black: [Kf1, Pf5, Pf4] stipulation: "#4" solution: | "1. d3! waiting 1. ... fxg3 2. Bxg3+ 2. ... Kg1 3. Qf2+ 3. ... Kh1 4. Qf1# 1. ... fxe3 2. Bxe3+ 2. ... Ke1 3. Qf2+ 3. ... Kd1 4. Qd2#" keywords: - Scaccografia --- authors: - Dawson, Thomas Rayner source: Chess World source-id: 263 date: 1948-01 algebraic: white: [Ke1, Qa2, Rh1, Bf1, Sb1, Sa3, Ph3, Pf7, Pf3, Pf2, Pe2, Pd2, Pc2, Pb3] black: [Kc1, Bg2, Ba1, Pg7, Pf6, Pe7, Pe6, Pb2, Pa7] stipulation: "#2" solution: | "1. Bxg2? 1. Sc3! ad lib 2. Qb1#" keywords: - Retro - Cantcastler --- authors: - Dawson, Thomas Rayner source: Fairy Chess Review date: 1949 algebraic: white: [Pe2, Royal Ga6] black: [Pf2, Pe6, Royal Gh5] stipulation: "h#2" twins: b: Move e6 g6 c: Continued Move f2 f6 solution: | "a) 1.e5 rGf1 2.rGd5 e4# b) 1.rGf7 rGh6 2.rGf1 rGf6# c) 1.g5 rGg6 2.rGd1 rGg4#" keywords: - Model mates --- authors: - Dawson, Thomas Rayner source: L'Alfiere di Re date: 1921 algebraic: white: [Kh1, Rh2, Pd3] black: [Ke5, Qh8, Rf2, Sf6, Se2, Pf4, Pe6, Pe3, Pd6, Pc5, Pb4] stipulation: "h#3" solution: "1.Qa8+ Rg2 2.Qa1+ Rg1 3.Qd4 Rg5#" --- authors: - Dawson, Thomas Rayner source: Pittsburgh Sun date: 1922 algebraic: white: [Kg6, Qc3, Be8, Pf2] black: [Ke2] stipulation: "h#2" solution: "1. Kxf2 Qg3 2. Kf1 Bb5#" --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1922 algebraic: white: [Ke2, Sh5, Sb5, Pf4, Pd4] black: [Ke8, Qe7, Rh8, Rb8, Pg6, Pe6, Pc6] stipulation: "h#3" solution: "1. O-O Sd6 2. Rbe8 Sf5 3. Kf7 Sh6#" --- authors: - Dawson, Thomas Rayner source: Teplitz-Schönauer Anzeiger date: 1932 algebraic: white: [Kc3, Ra7] black: [Ka5, Pa6] stipulation: "h#2" options: - SetPlay solution: | "1... Kc4 2. Ka4 R:a6# 1. Ka4 Ra8 2. Ka3 R:a6#" --- authors: - Dawson, Thomas Rayner source: De Standaard date: 1927 algebraic: white: [Ka1, Rh1, Be4, Ph5, Pd6, Pc3, Pb3, Web7] black: [Ka8, Pd7, Pa2, Wef3] stipulation: "#3" solution: | "1.Bd5! zz 1...WAf4 2.Rh2 th. 3.Rxa2# 1...WAf2 2.Rh4 th. 3.Ra4# 1...WAg3 2.Re1 th. 3.Re8# 1...WAe3 2.Rg1 th. 3.Rg8#" --- authors: - Dawson, Thomas Rayner source: Magyar Sakkvilág source-id: 87a date: 1925-01 algebraic: white: [Kb6, Sd5] black: [Ka8, Sb8] stipulation: "h#2" options: - SetPlay solution: | "1...Sd5-c7 # 1.Sb8-c6 Kb6-c7 2.Sc6-a7 Sd5-b6 #" --- authors: - Dawson, Thomas Rayner source: Adevărul literar și artistic source-id: 726a date: 1934-06-10 algebraic: white: [Ka5, Qb6] black: [Kd8, Bc7] stipulation: "h#2" solution: "1.Kd8-c8 Ka5-a6 2.Bc7-d8 Qb6-b7 #" --- authors: - Dawson, Thomas Rayner source: Adevărul literar și artistic source-id: 926i date: 1934-06-10 algebraic: white: [Ke1, Qf2] black: [Kg3, Bh4] stipulation: "h#2" solution: "1.Kg3-g4 Ke1-f1 2.Kg4-h3 Qf2-g2 #" --- authors: - Dawson, Thomas Rayner source: South African Chess Magazine source-id: 02/ date: 1945 algebraic: white: [Kg7, Qg1] black: [Kg5, Pg2] stipulation: "h#2" solution: "1. Kh5 Kf6 2. Kh6 Qh2#" --- authors: - Dawson, Thomas Rayner source: Teplitz-Schönauer Anzeiger date: 1932 distinction: 5th HM algebraic: white: [Kg4, Rg6] black: [Kg2] stipulation: "h#2" solution: "1. Kh2 Kf3 2. Kh3 Rh6#" --- authors: - Dawson, Thomas Rayner source: Teplitz-Schönauer Anzeiger date: 1932 distinction: 2nd HM algebraic: white: [Kh3, Sh6] black: [Kh1, Bh4] stipulation: "h#2" solution: "1. Bf2 Sf5 2. Bg1 Sg3#" --- authors: - Dawson, Thomas Rayner source: Cheltenham Examiner date: 1913-07-03 algebraic: white: [Kg5, Rd1, Se3, Pf6, Pf2, Pc2] black: [Ke4, Pf3, Pe5, Pd6, Pc5, Pb5, Ga3] stipulation: "#2" solution: | "1.Se3-f5 ! zugzwang. 1...b5-b4 2.Sf5*d6 # 1...Ga3-g3 2.Sf5*g3 # 1...c5-c4 2.Sf5*d6 # 1...d6-d5 2.Rd1-e1 #" --- authors: - Dawson, Thomas Rayner source: Magyar Sakkvilág date: 1929 algebraic: white: [Kb2, Rf6, Bg2, Bc5, Se7, Pg7, Pg5, Pf2, Pa5] black: [Ke5, Bg1, Bb5, Pg6, Pe3, Pd5, Pd3, Pc6, Gg8, Gc1, Ga6, Ga4] stipulation: "#2" solution: | "1.Kc3! [2.Bd4#] 1…Ggc4 2.Sxg6# 1…Gcc4 2.f4# 1…Bc4 2.Sxc6# 1…Gac4,Gd6 2.B(x)d6#" --- authors: - Dawson, Thomas Rayner source: Magyar Sakkvilág source-id: 87b date: 1925-01 algebraic: white: [Ke5, Sh5, Se8] black: [Kh8, Bg8, Sf6] stipulation: "h#2" options: - SetPlay solution: | "1...Sh5-f4 2.Sf6-h7 Sf4-g6 # 1.Bg8-h7 Se8-d6 2.Sf6-g8 Sd6-f7 #" --- authors: - Dawson, Thomas Rayner source: Magyar Sakkvilág source-id: 87c date: 1925-01 algebraic: white: [Kd1, Ba2, Sc1, Sa3] black: [Ka1, Pd4, Pb2] stipulation: "h#2" options: - SetPlay solution: | "1...Sa3-c2 # 1.d4-d3 Ba2-b1 2.d3-d2 Sc1-b3 #" --- authors: - Dawson, Thomas Rayner source: Magyar Sakkvilág source-id: 87d date: 1925-01 algebraic: white: [Kh3, Bf4, Sf3] black: [Kf1, Bh2, Pe2] stipulation: "h#2" options: - SetPlay solution: | "1...Bf4-g3 2.Bh2-g1 Sf3-d2 # 1.Bh2-g3 Bf4-e3 2.Bg3-e1 Sf3-h2 #" --- authors: - Dawson, Thomas Rayner source: Magyar Sakkvilág date: 1933 distinction: Prize algebraic: white: [Ke3, Rb5, Be8, Ba5, Sg6, Sa3, Pb4, Gd8, Gd7] black: [Kc6, Pf6, Pe5, Pe4, Gg5] stipulation: "#2" solution: | "1…G~,f5 2.Ce7‡ 1.Sc4! 1…Ge7 2.Gf7# 1…Gd2 2.Gd1# 1…Gd5 2.Gd4# 1…Gg7 2.Gh7# 1…f5 2.Gg4# 1…Kxb5 2.Ga4#" --- authors: - Dawson, Thomas Rayner source: Magyar Sakkvilág date: 1933 distinction: Prize algebraic: white: [Kg7, Re1, Rd6, Sh3, Sf1, Pg5, Pe5, Ge2, Gd1, Gc7] black: [Ke4, Sb1, Pf5, Pf4, Pe6, Pc3, Pb3, Pa4, Pa3, Ge8, Ga2] stipulation: "#2" solution: | "1…Gxe5 2.Gh7# 1…c2,Sd2,b2,Gc4,Gf2 2.S(x)f2# 1.Sh2! 1…f3 2.Gg4# 1…c2 2.Gb2# 1…b2 2.Gxa2# 1…Gxe5 2.Gexe5# 1…Sd2 2.Gec2# 1…Gc4 2.Gb5# 1…Gf2 2.Gg2# 1…Ke3 2.Ge4#" --- authors: - Dawson, Thomas Rayner source: Britisch Chess Magazine date: 1943-06 algebraic: white: [Ka1, Qh6, Bd3, Pf5, Pc4, Pb3, Pa2] black: [Kc1, Qf1, Rg1, Bh1, Be1, Sd2, Pg2, Pf2, Pe2, Pb4, Pa3] stipulation: "#7" solution: | "1.Bd3-b1 ! 1...Kc1-d1 2.Qh6-d6 2...Kd1-c1 3.Qd6-f4 3...Kc1-d1 4.Qf4-d4 4...Kd1-c1 5.Qd4-e3 zugzwang. 5...Kc1-d1 6.Qe3-d3 threat: 7.Qd3-c2 #" keywords: - Staircase comments: - Белый ферзь \лесенкой\ совершает \лунную\ посадку. --- authors: - Dawson, Thomas Rayner source: Essener Anzeiger date: 1930 distinction: 2nd Honorable Mention algebraic: white: [Ka1, Ph2, Pb2] black: [Ke8, Ph3, Pf2, Pe2, Pd2, Pb3] stipulation: "h#7" solution: "1.f2-f1=S Ka1-b1 2.Sf1-g3 h2*g3 3.d2-d1=B g3-g4 4.e2-e1=R g4-g5 5.Re1-e7 g5-g6 6.Bd1-g4 g6-g7 7.Bg4-d7 g7-g8=Q #" keywords: - Allumwandlung --- authors: - Dawson, Thomas Rayner source: Fairy Chess Review date: 1937 algebraic: white: [Kg5, Qh5, Re4, Rb4, Bf6, Bd2, Bc7, Ba8, Sd6, Sd5, Ph6, Pe7, Pa3] black: - Kc5 - Rg1 - Rf1 - Rc1 - Rb1 - Bh1 - Be1 - Bd1 - Ba1 - Sb8 - Pg4 - Pf7 - Pf4 - Pe2 - Pd4 - Pd3 stipulation: "#2" solution: 1.Sb6! keywords: - Organ pipes --- authors: - Dawson, Thomas Rayner source: Revista Română de Şah source-id: 850 date: 1935-10-25 distinction: 1st Prize algebraic: white: [Kg5, Ba3, Sf4, Se5] black: [Kd4, Rd5, Ra2, Be3, Ba6, Sc4, Ph7, Pe7, Pe6, Pe4, Pd6, Pb7] stipulation: "h#2" twins: b: Exchange a6 b7 solution: | "a) 1. Ra5 Bb4 2. b5 Sc6# b) 1. Bd2 Bxd6 2. Se3 Se2#" --- authors: - Dawson, Thomas Rayner source: Teplitz-Schönauer Anzeiger date: 1932 distinction: 5th HM algebraic: white: - Kh3 - Kg4 - Kf5 - Ke7 - Kd8 - Kc7 - Kb7 - Ka1 - Qe4 - Rg6 - Rd5 - Rb1 - Ra8 - Bf6 - Be8 - Bd7 - Bd4 - Bc5 - Bc2 - Bb8 - Sh6 - Pf7 - Pe3 black: - Kh1 - Kg2 - Kf8 - Ke2 - Kd3 - Kc4 - Kb3 - Ka3 - Rd1 - Rb2 - Bh4 - Bf2 - Bc1 - Se1 - Sa7 - Pb6 - Pa4 stipulation: "h#2" solution: | "a) 1. Sc6 Rc8 2. Sb4 Rc3# b) 1. Ka2 Be5 2. Rb3 Ra1# c) 1. Kb5 Bb6 2. Ka6 Bd3# d) 1. Ke2 Re5+ 2. Kf1 Bh3# e) 1. Kd2 Ba4 2. Kc3 Qd4# f) 1. Bc5 Kg6 2. Be7 Bg7# g) 1. Kh2 Kf3 2. Kh3 Rh6# h) 1. Bf2 Sf5 2. Bg1 Sg3# 1) 1. Sg2 Rb3 2. Rg1 Rh3# 8) 1. Kg7 Ra7+ 2. Kh6 Bf4#" keywords: - Grotesque comments: - P0555474 --- authors: - Dawson, Thomas Rayner source: L'Italia Scacchistica date: 1911 algebraic: white: - Kf7 - Rg5 - Bf3 - Bd2 - Sf5 - Sd4 - Sb5 - Sb2 - Ph6 - Ph4 - Pg7 - Pg3 - Pe7 - Pe6 - Pe3 - Pe2 - Pd6 - Pd3 - Pc6 - Pc4 - Pc2 - Pb3 black: - Ke5 - Qh7 - Rg8 - Bh8 - Bh2 - Bf8 - Bb6 - Sg2 - Sg1 - Se1 - Sa5 - Ph3 - Pg6 - Pd7 - Pc7 - Pc5 - Pb7 - Pa7 - Pa6 stipulation: "#2" solution: | "1.Bd2-c3 ! zugzwang. 1...Se1*f3 2.Sd4*f3 # 1...Se1*d3 2.Sb2*d3 # 1...Se1*c2 2.Sd4*c2 # 1...Sg1*f3 2.Sd4*f3 # 1...Sg1*e2 2.Sd4*e2 # 1...Sg2*h4 2.Sf5*h4 # 1...Sg2-f4 2.e3*f4 # 1...Sg2*e3 2.Sf5*e3 # 1...Bh2*g3 2.Sf5*g3 # 1...Sa5*b3 2.Sd4*b3 # 1...Sa5*c4 2.Sb2*c4 # 1...Sa5*c6 2.Sd4*c6 # 1...c5*d4 2.Sf5*d4 # 1...a6*b5 2.Sd4*b5 # 1...g6*f5 2.Sd4*f5 # 1...b7*c6 2.Sd4*c6 # 1...c7*d6 2.Sf5*d6 # 1...d7*e6 2.Sd4*e6 # 1...d7*c6 2.Sd4*c6 # 1...Qh7*h6 2.Sf5*h6 # 1...Qh7*g7 + 2.Sf5*g7 # 1...Bf8*e7 2.Sf5*e7 # 1...Bf8*g7 2.Sf5*g7 # 1...Rg8*g7 + 2.Sf5*g7 # 1...Bh8*g7 2.Sf5*g7 #" --- authors: - Dawson, Thomas Rayner source: Hamburger Correspondent date: 1924-07 algebraic: white: [Kf6, Qd6, Bc5, Sg1, Ph3, Pf5, Pf4, Pe6, Pd3] black: [Kc8, Ra6, Bh1, Pg2, Pc6, Pb7, Pb4, Pa7, Pa5] stipulation: "r#4" solution: --- authors: - Dawson, Thomas Rayner source: Tidskrift v.d. Nederlandse Schackbond source-id: 8/4830 date: 1927 algebraic: white: [Kh4, Pd4, Pc5, Pa3] black: [Kh7, Pd5, Pc6, Pa7, Pa5] stipulation: "h#7" solution: "1.Kh7-g6 Kh4-g3 2.Kg6-f5 Kg3-f2 3.Kf5-e4 Kf2-e1 4.Ke4-d3 Ke1-d1 5.Kd3-c4 Kd1-c2 6.Kc4-b5 Kc2-b3 7.a7-a6 a3-a4 #" --- authors: - Fox, Charles Masson - Dawson, Thomas Rayner source: Deutsche Märchenschachzeitung source-id: 02-03/269 date: 1932 algebraic: white: [Ka3, Pg2] black: [Ke7, Pg7, Pg3, Pf7, Pe2, Pd2, Pa5, Pa4, Pa2] stipulation: "h#7" solution: "1.e2-e1=S Ka3*a4 2.Se1-f3 g2*f3 3.a2-a1=B f3-f4 4.Ba1-e5 f4*e5 5.d2-d1=R e5-e6 6.Rd1-d7 e6*d7 7.Ke7-f8 d7-d8=Q #" --- authors: - Dawson, Thomas Rayner source: Pittsburgh Sun date: 1923 algebraic: white: [Kh1, Qc8, Se3, Pe4] black: [Kd6, Be5, Ph3, Ph2] stipulation: "h#2" solution: --- authors: - Dawson, Thomas Rayner - Lewis, John A. source: The Fairy Chess Review source-id: 5361 date: 1942-12 algebraic: white: [Kf3, Pc2] black: [Kh7, Bg8, Sg7, Sa1, Ph6, Pf7, Pf4, Pe6, Pd6, Pd4, Pc4, Pa5] stipulation: "h#6" solution: "1.Sa1-b3 c2-c3 2.Sb3-c5 c3*d4 3.Sc5-d7 d4-d5 4.Sd7-f8 d5*e6 5.Sf8-g6 e6*f7 6.Sg6-h8 f7-f8=S #" --- authors: - Dawson, Thomas Rayner source: Quenstown Daily Representative source-id: / date: 1942 algebraic: white: [Kb3, Sc3] black: [Kd3, Pe4, Pe2, Pd4, Pd2] stipulation: "h#2" options: - SetPlay solution: | "1...Sc3-a4 2.e4-e3 Sa4-c5 # 1.e2-e1=R Sc3-d5 2.Re1-e3 Sd5-f4 #" --- authors: - Dawson, Thomas Rayner source: The Hindu date: 1941 algebraic: white: [Ka3, Bd2, Bb1, Pg2, Pc3] black: [Kh5, Bg7, Be6, Pf5, Pb6] stipulation: "h#2" options: - Duplex solution: | "1.Bg7-f6 Bb1*f5 2.Bf6-h4 g2-g4 # 1.f5-f4 g2-g4 + 2.Kh5-h6 Bd2*f4 #{(Cook)} 1.Bd2-c1 b6-b5 2.Bc1-b2 Bg7-f8 #" --- authors: - Dawson, Thomas Rayner source: Falkirk Herald source-id: 4675 date: 1941-03-05 algebraic: white: [Ka1, Pb2] black: [Ke8, Pd4, Pb6, Pb3] stipulation: "h#10" solution: "1.d4-d3 Ka1-b1 2.d3-d2 Kb1-a1 3.d2-d1=S Ka1-b1 4.Sd1-c3 + b2*c3 5.Ke8-d7 c3-c4 6.Kd7-c6 c4-c5 7.Kc6-b5 c5-c6 8.Kb5-a4 c6-c7 9.b6-b5 c7-c8=Q 10.b5-b4 Qc8-a6 #" --- authors: - Dawson, Thomas Rayner source: The Chess Problem date: 1943 algebraic: white: [Kf4, Pd7] black: [Kc1, Pe2] stipulation: "h#3" solution: | "1.e2-e1=Q d7-d8=Q 2.Qe1-b4 + Kf4-e3 3.Qb4-b1 Qd8-d2 # 1.Kc1-d1 Kf4-e3 2.e2-e1=B d7-d8=Q + 3.Be1-d2 + Qd8*d2 #{(Cook)} 1.e2-e1=B Kf4-e3 2.Kc1-d1 d7-d8=Q + 3.Be1-d2 + Qd8*d2 #{(Cook...)}" --- authors: - Dawson, Thomas Rayner source: The Chess Problem date: 1943 algebraic: white: [Ke5, Pf6] black: [Kc3, Pb2] stipulation: "h#3" solution: "1.b2-b1=R f6-f7 2.Kc3-b2 f7-f8=Q 3.Kb2-a1 Qf8-a3 #" --- authors: - Dawson, Thomas Rayner source: The Times date: 1920-12-23 algebraic: white: [Ke2, Se3, Ph5, Pg3, Pf4, Pe5, Pd4, Pc3, Pb5] black: [Ke4, Ph6, Pg4, Pe6, Pc4, Pb6] stipulation: "#6" solution: | "1.d5? exd5! 1.f5? exf5! 1.Sxc4? Kf5 2.Sd6# 1....Kd5! 1.Sxg4? Kd5 2.Sf6# 1....Kf5! 1.Kd2? Kf3! 1.Kf2? Kd3! 1.Sc2! Kd5(f5) 2.Sb4(+) Ke4 3.Sa6 Kd5(f5) 4.Sc7 Ke4 5.Se8 Kd5 6.Sf6# 5....Kf5 6.Sd6#" keywords: - Letters - Scaccografia --- authors: - Dawson, Thomas Rayner source: The Chess Amateur date: 1920 algebraic: white: [Kf2, Rg3, Bf7, Sf5, Ph4] black: [Kh5, Pg6, Pg4, Pf3] stipulation: "-1w & #2" solution: | "White retracts: 1. h2-h4 then plays 1. h2-h4! 1. g:h3 e.p. 2.B:g6#" keywords: - Fairy --- authors: - Dawson, Thomas Rayner source: Magyar Sakkujság source-id: 8/353 date: 1912-08-10 algebraic: white: [Kf7, Qa3, Rc3, Pf4, Pe3, Pc5, Pb2, Pa5] black: [Kd5, Bf1, Pg4, Pf5, Pe4, Pc4] stipulation: "#3" solution: | "1.Qa3-a4 ! threat: 2.b2-b4 threat: 3.Qa4-d7 # 1...Kd5*c5 2.Kf7-e6 threat: 3.b2-b4 #" --- authors: - Dawson, Thomas Rayner source: Magyar Sakkujság source-id: 9/397 date: 1912-09-10 algebraic: white: [Ke1, Qa2, Rc5, Ba4, Pf2, Pe4, Pb3] black: [Kc1, Bc4, Pe6, Pe5, Pd5] stipulation: "s#3" solution: | "1.Ba4-e8 ! zugzwang. 1...d5-d4 2.b3-b4 zugzwang. 2...d4-d3 3.Qa2-b3 3...d3-d2 # 1...d5*e4 2.Be8-g6 zugzwang. 2...e4-e3 3.Qa2-d2 + 3...e3*d2 #" --- authors: - Dawson, Thomas Rayner source: Magyar Sakkujság source-id: 10/426 date: 1912-10-10 algebraic: white: [Ke1, Qf7, Re6, Bc7, Sc5, Pg4, Pf5, Pe5, Pc3, Pb2] black: [Ka7, Bc8, Pf3, Pe3, Pe2, Pd3] stipulation: "s#2" solution: | "1.Re6-e8 ! threat: 2.Re8*c8 2...d3-d2 # 2...f3-f2 # 1...Ka7-a8 2.Bc7-d6 2...d3-d2 # 2...f3-f2 # 1...Bc8-a6 2.Qf7-a2 2...d3-d2 # 2...f3-f2 # 1...Bc8-b7 2.Bc7-a5 2...d3-d2 # 2...f3-f2 # 1...Bc8*f5 2.g4*f5 2...d3-d2 # 2...f3-f2 # 1...Bc8-e6 2.Qf7*e6 2...d3-d2 # 2...f3-f2 # 1...Bc8-d7 2.Bc7-a5 2...d3-d2 # 2...f3-f2 #" --- authors: - Dawson, Thomas Rayner source: Magyar Sakkujság source-id: 1/518 date: 1913-01-10 algebraic: white: [Kd5, Rb7, Sc5, Pe2, Pc2, Pb2] black: [Ka5, Pe5, Pd7, Pd4, Pb4] stipulation: "#3" solution: | "1.e2-e4 ! zugzwang. 1...b4-b3 2.c2*b3 threat: 3.b3-b4 # 1...d4-d3 2.c2-c4 threat: 3.Rb7-b5 # 2...b4*c3 ep. 3.b2-b4 # 1...d4*e3 ep. 2.c2-c4 threat: 3.Rb7-b5 # 2...b4*c3 ep. 3.b2-b4 # 1...d7-d6 2.Kd5-c6 threat: 3.Rb7-b5 # 3.Rb7-a7 # 2...b4-b3 3.Rb7-b5 # 2...d6*c5 3.Rb7-a7 #" --- authors: - Dawson, Thomas Rayner source: Magyar Sakkujság source-id: 2/548 date: 1913-02-10 algebraic: white: [Kf5, Qe7, Re6, Rd8, Bg1, Bc4, Sa3, Ph2, Pd6, Pc3, Pb5, Pa6, Pa5] black: [Ka7, Qb4, Rf7, Re8, Bf8, Bd7, Sf6, Ph7, Pg7, Pc5, Pb3, Pa4] stipulation: "#2" solution: "1. b5*c6 ep.+ Qb4-c5 2.Bg1*c5#" --- authors: - Dawson, Thomas Rayner source: Magyar Sakkujság source-id: 3/594 date: 1913-03-10 algebraic: white: [Kf8, Qh8, Rh7, Rg8, Bh6, Bh1, Ph2, Pg7, Pf5, Pf3, Pc2, Pa2] black: [Kd8, Rg1, Rc8, Bg2, Bb8, Sh3, Sf1, Pg6, Pf4, Pf2, Pe5, Pe4, Pc7, Pc6, Pa6] stipulation: "#2" solution: 1.f5*e6 ep. --- authors: - Dawson, Thomas Rayner source: Magyar Sakkujság source-id: 4/612 date: 1913-04-10 algebraic: white: [Kd6, Qh1, Be3, Sh4, Pf2, Pe5] black: [Ke4, Rf3, Pg4, Pd7, Pd3] stipulation: "#2" solution: | "1.Sh4-f5 ! threat: 2.Sf5-g3 # 1...d3-d2 2.Qh1-b1 # 1...Ke4*f5 2.Qh1-h7 #" --- authors: - Dawson, Thomas Rayner source: Magyar Sakkujság source-id: 5/648 date: 1913-05-10 algebraic: white: [Kc1, Qe4, Ra8, Se7, Se6, Pe5, Pd5, Pc5, Pb6] black: [Kb5, Ba5, Pd6, Pd3, Pc3, Pc2, Pb7, Pb3] stipulation: "s#3" solution: | "1.Se7-c8 ! zugzwang. 1...Ba5-b4 2.Qe4*b4 + 2...Kb5*b4 3.Sc8*d6 3...b3-b2 # 3...d3-d2 # 1...d6*e5 2.Ra8*a5 + 2...Kb5*a5 3.Se6-c7 3...b3-b2 # 3...d3-d2 # 1...d6*c5 2.Ra8*a5 + 2...Kb5*a5 3.Qe4-c4 3...b3-b2 # 3...d3-d2 # 1...Ba5*b6 2.c5*b6 threat: 3.e5*d6 3...b3-b2 # 3...d3-d2 # 2...d6*e5 3.d5-d6 3...b3-b2 # 3...d3-d2 # 3.Ra8-a1 3...b3-b2 # 3...d3-d2 # 3.Ra8-a3 3...b3-b2 # 3...d3-d2 # 3.Ra8-a4 3...b3-b2 # 3...d3-d2 # 3.Ra8-a7 3...b3-b2 # 3...d3-d2 #" --- authors: - Dawson, Thomas Rayner source: Magyar Sakkujság source-id: 6/662 date: 1913-06-10 algebraic: white: [Kd8, Qa5, Re7, Bh7, Bc1, Ph5, Ph2, Pg3, Pc4, Pc2, Pb4, Pb2, Pa4] black: [Kh6, Qa7, Rb7, Bh4, Ph3, Pg5, Pc7, Pb6, Pb3, Pa6] stipulation: "#2" solution: | 1.h5*g6 ep. --- authors: - Dawson, Thomas Rayner source: Magyar Sakkujság source-id: 7/701 date: 1913-07-05 algebraic: white: [Kb8, Qa4, Rc6, Ra2, Bc8, Bb6, Sb4, Sa8, Pg2, Pf2, Pe4, Pe3, Pc5, Pc2, Pb2] black: [Kc4, Qa3, Ra7, Bb7, Ba5, Sa1, Pg7, Pf7, Pe6, Pd5, Pc7, Pb3, Pa6] stipulation: "#3" solution: 1.c5*d6 ep. --- authors: - Dawson, Thomas Rayner source: Magyar Sakkujság source-id: 8/725 date: 1913-08-10 algebraic: white: [Kc3, Qe6, Rf7, Ra6, Ba4, Sf4, Sb5, Pe3, Pe2, Pc2, Pb6, Pa2] black: [Kc6, Sd6, Sa7, Pc5, Pc4, Pa3] stipulation: "s#3" solution: | "1.Qe6-g6 ! zugzwang. 1...Sa7*b5 + 2.Kc3-d2 zugzwang. 2...c4-c3 + 3.Kd2-d3 3...c5-c4 # 1...Sa7-c8 2.b6-b7 + 2...Sc8-b6 3.Qg6-e4 + 3...Sd6*e4 #" --- authors: - Dawson, Thomas Rayner source: Budai Sakkozó Társaság date: 1912 algebraic: white: [Ke1, Qh4, Rg5, Rb4, Be6, Bc3, Se5, Sc2, Pg3, Pe2, Pb6] black: [Ke4, Qc5, Rh1, Bg1, Sg4, Sc4, Ph5, Ph3, Ph2, Pg6] stipulation: "s#3" solution: | "1.Se5-d3 ! 1...Qc5*b6 2.Ke1-f1 threat: 3.Sd3-f2 + 3...Bg1*f2 # 3...Qb6*f2 # 2.Rg5-c5 threat: 3.Sd3-f2 + 3...Bg1*f2 # 2...Qb6*c5 3.Sd3*c5 + 3...Bg1*c5 # 1...Qc5-d4 2.Rg5-e5 + 2...Sc4*e5 3.Sd3-f2 + 3...Bg1*f2 # 2...Qd4*e5 3.Sd3-f2 + 3...Bg1*f2 # 2.Be6-d5 + 2...Qd4*d5 3.Sd3-f2 + 3...Bg1*f2 # 1...Qc5-e3 2.Rb4*c4 + 2...Qe3-d4 3.Sd3-f2 + 3...Bg1*f2 #" --- authors: - Dawson, Thomas Rayner source: Budai Sakkozó Társaság date: 1912 algebraic: white: [Ke4, Rc4, Be6, Be1, Sf7, Pf2, Pe7, Pd7, Pc3, Pb5, Pb2] black: [Kh4, Bd1, Ba7, Ph5, Pf3, Pe2, Pc5, Pb6, Pb3] stipulation: "s#3" solution: | "1.Ke4-f4 ! zugzwang. 1...Bd1-c2 2.Kf4-e5 + 2...Bc2-e4 3.Ke5-d6 3...Ba7-b8 # 1...Ba7-b8 + 2.Kf4-e3 + 2...Bb8-f4 + 3.Ke3-d3 3...Bd1-c2 #" --- authors: - Dawson, Thomas Rayner source: Magyar Sakkvilág source-id: 12 date: 1922-03-01 algebraic: white: [Kf2, Bh7, Sc4, Sa3, Ph5, Pg4, Pd5, Pd3, Pc3, Pc2] black: [Ka4, Sd8, Ph6, Pg5, Pf3, Pd6, Pc5] stipulation: "#4" solution: | "1.Bh7-e4 ! zugzwang. 1...Sd8-f7 2.Be4-g6 zugzwang. 2...Sf7-e5 3.Bg6-e8 + 3...Se5-d7 4.Be8*d7 # 3...Se5-c6 4.Be8*c6 # 2...Sf7-d8 3.Bg6-e8 + 3...Sd8-c6 4.Be8*c6 # 1...Sd8-b7 2.Be4-g6 threat: 3.Bg6-e8 # 2...Sb7-a5 3.Bg6-e8 + 3...Sa5-c6 4.Be8*c6 # 2...Sb7-d8 3.Bg6-e8 + 3...Sd8-c6 4.Be8*c6 # 2.Be4-f5 threat: 3.Bf5-d7 # 2...Sb7-a5 3.Bf5-d7 + 3...Sa5-c6 4.Bd7*c6 # 2...Sb7-d8 3.Bf5-d7 + 3...Sd8-c6 4.Bd7*c6 # 1...Sd8-c6 2.Be4-g6 zugzwang. 2...Sc6-a5 3.Bg6-e8 + 3...Sa5-c6 4.Be8*c6 # 2...Sc6-b4 3.Bg6-e8 + 3...Sb4-c6 4.Be8*c6 # 2...Sc6-d4 3.Bg6-e8 + 3...Sd4-c6 4.Be8*c6 # 3...Sd4-b5 4.Be8*b5 # 2...Sc6-e5 3.Bg6-e8 + 3...Se5-d7 4.Be8*d7 # 3...Se5-c6 4.Be8*c6 # 2...Sc6-e7 3.Bg6-e8 + 3...Se7-c6 4.Be8*c6 # 2...Sc6-d8 3.Bg6-e8 + 3...Sd8-c6 4.Be8*c6 # 2...Sc6-b8 3.Bg6-e8 + 3...Sb8-c6 4.Be8*c6 # 3...Sb8-d7 4.Be8*d7 # 2...Sc6-a7 3.Bg6-e8 + 3...Sa7-b5 4.Be8*b5 # 3...Sa7-c6 4.Be8*c6 # 1...Sd8-e6 2.Be4-f5 zugzwang. 2...Se6-d4 3.Bf5-d7 + 3...Sd4-c6 4.Bd7*c6 # 3...Sd4-b5 4.Bd7*b5 # 2...Se6-f8 3.Bf5-c8 zugzwang. 3...Sf8-d7 4.Bc8*d7 # {(Bc~ )} 2...Se6-d8 3.Bf5-d7 + 3...Sd8-c6 4.Bd7*c6 # 2...Se6-c7 3.Bf5-d7 + 3...Sc7-b5 4.Bd7*b5 #" --- authors: - Dawson, Thomas Rayner source: Magyar Sakkvilág source-id: 23 date: 1922-04-01 algebraic: white: [Kg4, Rd6, Bc4, Sf5, Pf4] black: [Ke4, Sc7, Sc1, Pc5] stipulation: "#2" solution: | "1.Rd6-d2 ! zugzwang. 1...Sc1-e2 {(S1~ )} 2.Rd2*e2 # 1...Sc7-a6 {(S7~ )} 2.Bc4-d5 # 1.Bc4-f1 ! {(Cook)} threat: 2.Bf1-g2 #" keywords: - Cooked --- authors: - Dawson, Thomas Rayner source: Magyar Sakkvilág source-id: 7/17 date: 1922-07-01 algebraic: white: [Kf1, Qg5, Re7, Se5, Sc3, Pf4, Pd3] black: [Kd8, Bg1, Bb1, Sa1, Pg7, Pf3, Pf2, Pd4, Pb3, Pb2] stipulation: "r#2" solution: | "1.Se5-c4 ! threat: 2.Sc3-e4 2...Bb1*d3 # 1...Sa1-c2 2.Sc4-e5 2...Sc2-e3 # 1...Bb1*d3 + 2.Sc3-e2 2...b2-b1=Q # 1...Bg1-h2 2.Qg5-g1 2...f2*g1=Q # 1...d4*c3 2.Sc4-e3 2...Bb1*d3 # 1.Se5-f7 + ! {(Cook)} 1...Kd8-c8 2.Sc3-e4 2...Bb1*d3 #" keywords: - Cooked --- authors: - Dawson, Thomas Rayner source: Magyar Sakkvilág source-id: 9/36 date: 1922-09-01 algebraic: white: [Kb1, Qa6, Sf6, Pg2, Pf4, Pe3] black: [Kf5, Pb4] stipulation: "#3" solution: | "1.Sf6-g4 ! threat: 2.Sg4-f2 threat: 3.g2-g4 # 2.Sg4-e5 threat: 3.Qa6-g6 # 2...Kf5-e4 3.Qa6-d3 # 1...Kf5-e4 2.Qa6-c6 + 2...Ke4-d3 3.Qc6-c2 # 2...Ke4-f5 3.Sg4-h6 # 1...Kf5*g4 2.Qa6-g6 + 2...Kg4-h4 3.Qg6-g5 #" --- authors: - Dawson, Thomas Rayner source: Magyar Sakkvilág source-id: 5/99 date: 1923-05-01 algebraic: white: [Kc2, Qa6, Bb4, Sd3, Pb6] black: [Ka4, Ba5, Sb7, Pd4, Pc3] stipulation: "#2" solution: | "1.Qa6-c4 ! threat: 2.Qc4-c6 # 1...Ba5*b4 2.Qc4*b4 # 1...Sb7-c5 2.Sd3*c5 # 1...Sb7-d6 2.Sd3-c5 # 1...Sb7-d8 2.Sd3-c5 #" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazin date: 1937 algebraic: white: [Ka7, Rg2, Rb8, Bh6, Bc8, Sg3, Sf8, Pa6] black: [Kg8, Qd6, Rh8, Ra5, Ba8, Ph7, Pf7, Pf6, Pf4, Pe7, Pc7, Pb6] stipulation: "#2" solution: | "1.Sf8-d7 ! threat: 2.Bc8-b7 # 1...Ra5*a6 + 2.Bc8*a6 # 1...Qd6*d7 2.Bc8*d7 # 1...c7-c5 2.Sg3-e4 # 1...c7-c6 2.Sg3-f5 # 1...e7-e5 2.Sg3-e4 # 1...e7-e6 2.Sd7*f6 #" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine date: 1930 algebraic: white: [Kh1, Qa3, Pf4, Cac8, Cac1] black: [Kc4, Pg6] stipulation: "#3" solution: | "1.Qa3-g3 ! {- zugzwang} 1...Kc4-c5 2.Qg3*g6 2...Kc5-c4 3.Qg6-c2 # 1...g6-g5 2.f4*g5 2...Kc4-c5 3.Qg3-c7 #" keywords: - Fairy --- authors: - Dawson, Thomas Rayner source: Kongressbuch Teplitz-Schönau date: 1923 algebraic: white: [Ke1, Re2, Be4, Sf7, Sd7, Pg5, Pc5] black: [Ke8, Re3, Be6] stipulation: "h#2" solution: "1.Re3-a3 c5-c6 2.Be6-b3 Be4-d5 #" --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times source-id: 1651 date: 1915-03-21 algebraic: white: [Kd7, Qa4, Rb4, Ra3, Ba5, Pe2, Pb6, Pb5, Pa2] black: [Kb7, Qb8, Rc8, Ba7, Ba6, Se8, Sa8, Pf7, Pf6, Pe7, Pd6, Pd2, Pc5, Pc4, Pb3] stipulation: "r#2" solution: | "1.b5*a6 + ! 1...Kb7*a6 2.a2*b3 2...Qb8-b7 # 2.e2-e4 2...Qb8-b7 # 2.e2-e3 2...Qb8-b7 # 2.Ra3*b3 2...Qb8-b7 # 2.Qa4*b3 2...Qb8-b7 # 2.Rb4*b3 2...Qb8-b7 # 2.Rb4-b5 2...Qb8-b7 # 2.Rb4*c4 2...Qb8-b7 #" --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times source-id: 2370 date: 1916-12-24 algebraic: white: [Kd4, Rh5, Rf5, Bc6, Sd1, Ph6, Pf2, Pe4, Pc2] black: [Ka4, Qb5, Sb1, Ph4, Pg5, Pg4, Pf7, Pe7, Pd2] stipulation: "r#2" solution: | "1.Rf5-f4 ! threat: 2.Sd1-e3 2...e7-e5 # 1...Sb1-a3 2.c2-c3 2...Sa3-c2 # 1...Qb5*c6 2.Kd4-e5 2...Qc6-c5 # 1...g5*f4 2.Rh5*h4 2...e7-e5 # 1...e7-e5 + 2.Kd4-e3 2...g5*f4 #" --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times source-id: 2371 date: 1916-12-24 algebraic: white: [Kh1, Rg1, Bh5, Sg8, Ph2, Pf4, Pf3, Pb6] black: [Kf8, Ph6, Ph4, Ph3, Pf5, Pb7] stipulation: "=3" solution: | 1.Rg1-g6 ! threat: 2.Rg6-g1 = 1...Kf8-f7 2.Rg6-g2 + 2...Kf7-e6 3.Rg2-d2 = 2...Kf7-f8 3.Rg2-g1 = 1...Kf8-e8 2.Rg6-g7 + 2...Ke8-d8 3.Rg7-c7 = 2...Ke8-f8 3.Rg7-g1 = --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times source-id: 2372 date: 1916-12-24 algebraic: white: [Kc1, Qf4, Re4, Rc4, Bh4, Bb1, Sa2, Pg5, Pf5, Pc3, Pc2, Pb5, Pb2] black: [Kd5, Rh3, Rg3, Bg2, Bf2, Sh1, Sd1, Pg4, Pf3, Pe5, Pe3, Pd6, Pc5, Pb4] stipulation: "#3" solution: | "1.Sa2*b4 + ! 1...c5*b4 2.Re4-d4 + 2...e5*d4 3.Qf4*d4 #" --- authors: - Dawson, Thomas Rayner source: The Pittsburgh Gazette Times source-id: 2374 date: 1916-12-24 algebraic: white: [Kb4, Rg3, Bg1, Pe2, Pd2, Pc2, Gh5] black: [Kh1, Pg7, Pg4, Pf7, Pe7, Pd7] stipulation: "#3" solution: | "1.Rg3*g4 ! threat: 2.Rg4-g3 threat: 3.Gh5-d1 # 2.Rg4*g7 threat: 3.Gh5-d1 # 2.Rg4-g5 threat: 3.Gh5-d1 # 2.Gh5-f3 threat: 3.Gf3-d1 # 1...f7-f5 2.Rg4-g3 threat: 3.Gh5-d1 # 2.Rg4*g7 threat: 3.Gh5-d1 # 2.Rg4-g6 threat: 3.Gh5-d1 # 2.Rg4-g5 threat: 3.Gh5-d1 # 1...f7-f6 2.Rg4-g3 threat: 3.Gh5-d1 # 2.Rg4*g7 threat: 3.Gh5-d1 # 2.Rg4-g6 threat: 3.Gh5-d1 # 2.Gh5-f3 threat: 3.Gf3-d1 # 1...g7-g5 2.Rg4*g5 threat: 3.Gh5-d1 # 2.Gh5-f3 threat: 3.Gf3-d1 # 2.Gh5-f5 threat: 3.Gf5-b1 # 1...g7-g6 2.Gh5-f3 threat: 3.Gf3-d1 # 1.Kb4-b5 ! threat: 2.Gh5-a5 threat: 3.Ga5-e1 # 1...d7-d5 2.Gh5-c5 threat: 3.Gc5-c1 # 1...e7-e5 2.Gh5-d5 threat: 3.Gd5-d1 # 1...f7-f5 2.Gh5-e5 threat: 3.Ge5-e1 # 1...g7-g5 2.Gh5-f5 threat: 3.Gf5-b1 #" keywords: - Grasshopper - Cooked --- authors: - Dawson, Thomas Rayner source: Magyar Sakkvilág source-id: 149 date: 1925-09-01 algebraic: white: [Kb1, Rf4, Sg1, Sc4] black: [Ke1, Ph4, Pg2, Pc3, Pb4] stipulation: "#3" solution: | "1.Sc4-e3 ! threat: 2.Kb1-c1 2.Se3-c2 + 2.Se3*g2 + 1...Ke1-d2 2.Se3-c2 threat: 3.Rf4-d4 # 1...c3-c2 + 2.Kb1-c1 threat: 3.Se3*c2 # 3.Se3*g2 # 2...b4-b3 3.Se3*g2 # 2...h4-h3 3.Se3*c2 # 1...b4-b3 2.Se3*g2 + 2...Ke1-d2 3.Rf4-d4 # 2...Ke1-d1 3.Rf4-d4 # 1...h4-h3 2.Se3-c2 + 2...Ke1-d2 3.Rf4-d4 # 2...Ke1-d1 3.Rf4-d4 #" --- authors: - Dawson, Thomas Rayner - Pauly, Wolfgang source: Magyar Sakkvilág source-id: 121 date: 1926-02-01 algebraic: white: [Kc2, Be6, Bd8, Sh6, Sc4, Pd5, Pb3, Pa4] black: [Kd4, Pc3] stipulation: "=3" solution: | 1.Be6-h3 ! threat: 2.Bh3-g2 threat: 3.Bd8-e7 = 2...Kd4-c5 3.Kc2*c3 = --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine source-id: 1 date: 1953-01 algebraic: white: [Kf1, Rh4, Ra4, Pf2, Pe2] black: [Ke5, Qb1, Be6, Sf6, Sd1, Pb5] stipulation: "h#2" twins: b: Exchange e6 f6 solution: | "a) 1.Qb1-b4 e2-e4 2.Qb4-d6 f2-f4 # b) bBe6<--bSf6 1.Qb1-g6 f2-f4 + 2.Ke5-f5 e2-e4 #" --- authors: - Dawson, Thomas Rayner source: The Fairy Chess Review source-id: 9742 date: 1953-12 algebraic: white: [Kf1, Be2, Bb6] black: [Ke5, Bc5, Pg5, Pf5, Pe7, Pd7] stipulation: "h#2" twins: b: Move c5 c4 solution: | "a) 1.Bc5-d6 Bb6-d4 + 2.Ke5-e6 Be2-c4 # b) bBc5--c4 1.Bc4-e6 Be2-h5 2.Ke5-f6 Bb6-d4 #" --- authors: - Dawson, Thomas Rayner source: The British Chess Magazine source-id: 82 date: 1955-04 algebraic: white: [Kh5, Sg6, Sc1] black: [Ke4, Qb8, Rb2, Ra3, Bg3, Se3, Sa2, Ph6, Pf5, Pf3, Pe2, Pd5, Pd3, Pb6] stipulation: "h#2" twins: a: Remove d3 b: Remove d5 c: Remove f3 d: Remove f5 solution: | "a) -bPd3 1.Bg3-e5 Sc1-d3 2.Be5-d4 Sd3-f2 # b) -bPd5 1.Ra3-a4 Sc1*a2 2.Ra4-d4 Sa2-c3 # c) -bPf3 1.Rb2-b4 Sc1-b3 2.Rb4-d4 Sb3-d2 # d) -bPf5 1.Qb8-h8 Sc1*e2 2.Qh8-d4 Se2*g3 #" --- authors: - Dawson, Thomas Rayner source: | The Problemist - Fairy Chess Supplement source-id: 02/31 date: 1930-10 algebraic: white: [Ke5, Rh6, Bb2, Ph7, Pg4, Pf3, Pe6] black: [Kh8, Sb7, Pg6, Pg5, Pf5, Pc6, Gg1, Gd1, Ga4] stipulation: "#2" solution: | "1.Ke5-d4 ! {- zugzwang} 1...Gd1*g4 2.Kd4-d3 # 1...Gd1-d5 2.Kd4-d3 # 1...Gd1-h1 2.Kd4-d3 # 1...Gg1-c5 2.Kd4-e3 # 1...Gg1-c1 2.Kd4-e3 # 1...Ga4-d7 2.Kd4-c4 # 1...Ga4-e4 2.Kd4-c4 # 1...f5*g4 {(f4)} 2.Kd4-e4 # 1...c6-c5 + 2.Kd4-d5 # 1...Sb7-a5 {(S~)} 2.Kd4-c5 # 1...Kh8-g7 2.h7-h8=Q #" keywords: - Fairy comments: - "C+" --- authors: - Dawson, Thomas Rayner source: | The Problemist - Fairy Chess Supplement source-id: 02/32 date: 1930-10 algebraic: white: [Kd3, Rh7, Bd6, Ba2, Sf8, Sc4, Pb6, Pb5, Pa5] black: [Kg8, Ra6, Pa7, Gh3, Gh2, Gg5, Gd1, Gc6, Ga4] stipulation: "#2" solution: | "1.Bd6-e7 ! {- zugzwang} 1...Gd1-d4 {display-departure-file} 2.Sc4-d2 # 1...Gh2-h4 2.Sc4-b2 # 1...Gh3-h1 {(Gh3~)} 2.Sc4-e3 # 1...Ga4-d4 {display-departure-file} {(Ga1)} 2.Sc4-a3 # 1...Gg5-d8 2.Sc4-e5 # 1...Ra6*a5 2.Sc4*a5 # 1...Ra6*b6 {(a:b6)} 2.Sc4*b6 # 1...Gc6-c3 {display-departure-file} 2.Sc4-d6 #" keywords: - Fairy comments: - "C+" --- authors: - Dawson, Thomas Rayner source: | The Problemist - Fairy Chess Supplement source-id: 02/33 date: 1930-10 algebraic: white: [Kb1, Rf3, Ra3, Bf8, Sf1, Sc2, Pe7, Pe5, Pd3, Pc4, Pb3] black: [Kc3, Ba6, Pf4, Pc7, Pb7, Pb2, Gb8, Gb6] stipulation: "#2" solution: | "1.Bf8-g7 ! {- zugzwang} 1...Ba6*c4 2.d3*c4 # 1...Ba6-b5 2.b3-b4 # 1...Gb6-d8 2.b3-b4 # 1...c7-c5 2.d3-d4 # 1...c7-c6 2.e5-e6 # 1...Gb8-d6 2.e5*d6 #" keywords: - Fairy comments: - "C+" --- authors: - Dawson, Thomas Rayner source: | The Problemist - Fairy Chess Supplement source-id: 02/34 date: 1930-10 algebraic: white: [Ka4, Qb6, Re1, Rc7, Sa2, Pf6] black: [Kd5, Sb1, Pf7, Pd6, Pa3, Gh1, Gd7, Gd4, Gd1, Ga8] stipulation: "#2" solution: | "1.Re1-e7 ! {- zugzwang} 1...Gd1-a1 2.Qb6-b3 # 1...Gh1-c6 2.Qb6*c6 # 1...Gh1-c1 2.Qb6-c6 # 1...Gd4-g7 2.Sa2-b4 # 1...Gd4-a7 2.Sa2-b4 # 1...Gd7-b7 2.Qb6-b5 # 1...Ga8-e4 2.Qb6-a5 # 1...Sb1-d2 {(Sc3+)} 2.Sa2-c3 #" keywords: - Fairy comments: - "C+" --- authors: - Dawson, Thomas Rayner source: The Fairy Chess Review date: 1957 algebraic: white: [Kf6, Pg7] black: [Kh4, Ph7, Ph6, Ph5, Pd7, Pd6, Pd5] stipulation: "h#3" solution: "1.Kh4-g4 g7-g8=B 2.h5-h4 Bg8*d5 3.Kg4-h5 Bd5-f3 #" --- authors: - Dawson, Thomas Rayner source: The Fairy Chess Review source-id: 9133 date: 1951-08 algebraic: white: [Kf5, Rh2, Sd3, Pg4, Pe4, Pc2] black: [Kd1, Qh4, Rg3, Bh1, Sh5, Ph3, Pf6, Pf4, Pc3] stipulation: "h#3" options: - SetPlay solution: | "1...Sd3-f2 + 2.Kd1-e2 Sf2-d1 + 3.Ke2-f3 Rh2-f2 # 1.Bh1*e4 + Kf5*e4 2.Rg3*d3 Ke4*d3 3.Qh4-g5 Rh2-h1 #" --- authors: - Dawson, Thomas Rayner source: The Fairy Chess Review source-id: 8824 date: 1950-10 algebraic: white: [Kd5, Pe6, Pc2, Pa4] black: [Ka2] stipulation: "h#3" solution: "1.Ka2-a3 e6-e7 2.Ka3-b4 e7-e8=Q 3.Kb4-a5 Qe8-b5 #" --- authors: - Dawson, Thomas Rayner source: Chess Amateur source-id: 218 date: 1922 algebraic: white: [Ka2, Ra4, Bb4, Ph2] black: [Kf4, Rf3, Bf5, Be5] stipulation: "h#2" options: - SetPlay solution: | "1...Bb4-d2 # 1.Be5-d4 h2-h4 2.Bd4-e3 Bb4-d6 #" pychess-1.0.0/learn/puzzles/benko.olv0000644000175000017500000120161213365545272016712 0ustar varunvarun--- authors: - Benkő, Pál source: Magyar Sakkélet date: 1973 distinction: 3rd HM algebraic: white: [Ke6, Qh1, Rc8, Bb5, Sd1, Sb2, Pf4, Pf2] black: [Kd2, Pe4, Pe2, Pc2] stipulation: "#2" solution: | "1.Nc4+?? 1...Kd3 2.Rd8# but 1...Kc1! 1.Ne3?? (2.Rxc2#) 1...c1Q/c1R 2.Qxc1# but 1...e1N! 1.Qxe4! zz 1...Ke1/cxd1N/c1Q/c1R 2.Qxe2# 1...Kc1 2.Qxc2# 1...exd1Q/exd1B/e1N 2.Qe3# 1...exd1R 2.Rxc2#/Qe3# 1...exd1N/e1Q/e1R 2.Rxc2# 1...e1B 2.Rxc2#/Qe3#/Qxc2# 1...cxd1Q/cxd1B/c1N 2.Qb4# 1...cxd1R/c1B 2.Qxe2#/Qb4#" keywords: - Flight giving key - Defences on same square --- authors: - Benkő, Pál source: Magyar Sakkélet date: 1974 distinction: 1st Prize algebraic: white: [Kf2, Qa5, Re1, Rd1, Bf1, Bc1, Sh6, Sa6, Pd3, Pc4, Pb2] black: [Kd4, Re8, Rd8, Bf8, Bc8, Pf5, Pf4, Pe5, Pb4, Pa7] stipulation: "#2" solution: | "1...Re7/Bg7/Bxh6/Bc5/Rd6 2.Qc5# 1...Re6/Bb7/Bxa6/Rd7 2.Nxf5#[A] 1...Bd7/Bd6/Rd5 2.Qd5#[B] 1...Be6/Be7 2.Qxe5# 1...f3 2.Be3# 1...b3 2.Qc3# 1...e4 2.dxe4# 1.Nb8? (2.Nc6#) 1...Re6/Bb7 2.Nxf5#[A] 1...Bd7 2.Qd5#[B] but 1...Rd6! 1.Re2? zz 1...Re7/Bg7/Bxh6/Bc5/Rd6 2.Qc5# 1...Re6/Bb7/Bxa6/Rd7 2.Nxf5#[A] 1...Bd7/Bd6/Rd5 2.Qd5#[B] 1...Be6/Be7 2.Qxe5# 1...f3 2.Be3# 1...b3 2.Qc3# but 1...e4! 1.Re3? zz 1...Re7/Bg7/Bxh6/Bc5/Rd6 2.Qc5# 1...Re6/Bb7/Bxa6/Rd7 2.Nxf5#[A] 1...Bd7/Bd6/Rd5 2.Qd5#[B] 1...Be6/Be7 2.Qxe5# 1...fxe3+ 2.Bxe3# 1...e4 2.dxe4# 1...b3 2.Qc3# but 1...f3! 1.b3?? (2.Bb2#/Qa1#) 1...Bxa6 2.Bb2# but 1...Kc3! 1.Kf3?? zz 1...Re7/Bg7/Bxh6/Bc5/Rd6 2.Qc5# 1...Re6/Bxa6/Rd7 2.Nxf5#[A] 1...Bd7/Bd6/Rd5 2.Qd5#[B] 1...Be6/Be7 2.Qxe5# 1...b3 2.Qc3# 1...e4+ 2.dxe4# but 1...Bb7+! 1.Rd2?? zz 1...Re7/Bg7/Bxh6/Bc5/Rd6 2.Qc5# 1...Re6/Bb7/Bxa6/Rd7 2.Nxf5#[A] 1...Be7/Be6 2.Qxe5# 1...Bd6/Bd7/Rd5 2.Qd5#[B] 1...b3 2.Qc3# 1...e4 2.dxe4# but 1...f3! 1.Bg2?? zz 1...Re7/Bg7/Bxh6/Bc5/Rd6 2.Qc5# 1...Re6/Bb7/Bxa6/Rd7 2.Nxf5#[A] 1...Be7/Be6 2.Qxe5# 1...Bd6/Bd7/Rd5 2.Qd5#[B] 1...f3 2.Be3# 1...b3 2.Qc3# but 1...e4! 1.Bh3?? zz 1...Re7/Bg7/Bxh6/Bc5/Rd6 2.Qc5# 1...Re6/Bb7/Bxa6/Rd7 2.Nxf5#[A] 1...Be7/Be6 2.Qxe5# 1...Bd6/Bd7/Rd5 2.Qd5#[B] 1...b3 2.Qc3# 1...f3 2.Be3# but 1...e4! 1.Qb5?? zz 1...Re7/Bg7/Bxh6/Bc5/Rd6 2.Qc5# 1...Re6/Rd7/Bb7/Bxa6 2.Nxf5#[A] 1...Be7/Be6 2.Qxe5# 1...Bd6/Rd5/Bd7 2.Qd5#[B] 1...e4 2.dxe4# 1...f3 2.Be3# but 1...b3! 1.Qxb4?? (2.Qc3#) 1...Bxa6 2.Nxf5#[A] but 1...Bxb4! 1.Qb6+?? 1...Bc5 2.Qxc5# but 1...axb6! 1.Qxd8+?? 1...Bd6 2.Qxd6# 1...Bd7 2.Nxf5#[A] but 1...Rxd8! 1.Bd2?? zz 1...Bg7/Bxh6/Bc5/Re7/Rd6 2.Qc5# 1...Be7/Be6 2.Qxe5# 1...Bd6/Bd7/Rd5 2.Qd5#[B] 1...b3 2.Bc3#/Qc3# 1...f3 2.Be3# 1...Bb7/Bxa6/Re6/Rd7 2.Nxf5#[A] but 1...e4! 1.Bxf4?? (2.Be3#) 1...Bxh6 2.Qc5# but 1...exf4! 1.Nxb4?? (2.Nc2#/Nc6#) 1...Bd7 2.Qd5#[B]/Nc2# 1...Bb7/Re6 2.Nc2#/Nxf5#[A] 1...Rd6 2.Nc2# but 1...Bxb4! 1.Nc5?? (2.Nb3#) but 1...Bxc5! 1.Kg1! zz 1...Re7/Bg7/Bxh6/Bc5/Rd6 2.Qc5# 1...Re6/Bb7/Bxa6/Rd7 2.Nxf5#[A] 1...Be7/Be6 2.Qxe5# 1...Bd6/Bd7/Rd5 2.Qd5#[B] 1...f3 2.Be3# 1...e4 2.dxe4# 1...b3 2.Qc3#" keywords: - Black correction - Grimshaw - Transferred mates - Block - Organ pipes --- authors: - Benkő, Pál - Páros, György source: Magyar Sakkszövetség date: 1970-06-10 distinction: 1st Prize algebraic: white: [Kh6, Qh7, Rd5, Bf7, Sf5, Sb2, Ph2, Pg3, Pb6] black: [Ke4, Qa3, Rb1, Ra2, Ba1, Se8, Pf3, Pd3, Pc5] stipulation: "#2" solution: | "1.Nc4! (2.Ng7#/Nh4#/Nfe3#/Ne7#/Nd4#/Nfd6#) 1...Rxh2+ 2.Nh4# 1...Bg7+ 2.Nxg7# 1...Rxb6+ 2.Nfd6# 1...Qc1+ 2.Nfe3#" --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 3986 date: 1976-03 algebraic: white: [Ke1, Qh7, Rd2, Rb4, Bh1, Bc5, Sf8, Sb7, Pg3, Pa6] black: [Kc6, Qd5, Bd8, Bc8, Pe6] stipulation: "#2" solution: | "1...Bd7 2.Qxd7# 1...e5 2.Bxd5# 1...Bf6/Bg5/Bh4/Bb6 2.Rb6# 1...Qe4+ 2.Bxe4# 1...Qf3 2.Bxf3#/Rd6# 1...Qg2 2.Rd6#/Bxg2# 1.Rxd5?? (2.Nxd8#/Rdd4#/Rd3#/Rd2#/Rd1#/Rd6#/Rd7#/Rxd8#/Re5#/Rf5#/Rg5#/Rh5#) 1...Bd7 2.Qxd7#/Rxd7# 1...Bxb7 2.Qd7#/Qxb7#/Re5#/Rf5#/Rg5#/Rh5# 1...e5 2.Nxd8#/Rd6#/Rxe5# 1...Be7 2.Rd7# 1...Bf6/Bh4 2.Rb6#/Rdd4#/Rd3#/Rd2#/Rd1#/Rd6#/Rd7#/Rd8#/Re5#/Rf5#/Rg5#/Rh5#/Na5# 1...Bg5 2.Rb6#/Na5#/Rdd4#/Rd3#/Rd2#/Rd1#/Rd6#/Rd7#/Rd8#/Re5#/Rf5#/Rxg5# 1...Bc7 2.Rdd4#/Rd3#/Rd2#/Rd1#/Rd6#/Rd7#/Rd8#/Re5#/Rf5#/Rg5#/Rh5# 1...Bb6 2.Rxb6#/Rdd4#/Rd3#/Rd2#/Rd1#/Rd6#/Rd7#/Rd8#/Re5#/Rf5#/Rg5#/Rh5# 1...Ba5 2.Rd4#/Rd3#/Rd2#/Rd1#/Rd6#/Rd7#/Rd8#/Re5#/Rf5#/Rg5#/Rh5#/Nxa5# but 1...exd5! 1.Rc2?? (2.Bd4#/Be3#/Bf2#/Bg1#/Bd6#/Be7#/Bb6#/Ba7#/Nxd8#) 1...Bd7 2.Qxd7#/Bd4#/Be3#/Bf2#/Bg1#/Bd6#/Be7#/Bb6#/Ba7# 1...Bxb7 2.Qd7#/Qxb7#/Be7# 1...Be7 2.Bd6#/Bxe7# 1...Bf6 2.Rb6#/Na5#/Bd4# 1...Bg5/Bh4 2.Rb6#/Bd4#/Be3#/Bf2#/Bg1#/Bd6#/Be7#/Bb6#/Ba7#/Na5# 1...Bc7 2.Bd4#/Be3#/Bf2#/Bg1#/Bd6#/Be7#/Bb6#/Ba7# 1...Bb6 2.Rxb6#/Bxb6# 1...Ba5 2.Nxa5#/Bd4#/Be3#/Bf2#/Bg1#/Bd6#/Be7#/Bb6#/Ba7# 1...Qe4+ 2.Bxe4# 1...Qf3 2.Bxf3# 1...Qg2 2.Bxg2# but 1...Qxh1+! 1.Bg1?? (2.Qc2#/Rc2#) 1...Bxb7 2.Qd7# 1...Bf6/Bb6 2.Rb6# 1...Qe4+ 2.Bxe4# 1...Qf3 2.Qc2#/Bxf3#/Rd6#/Nxd8# 1...Qg2 2.Qc2#/Rd6#/Bxg2#/Nxd8# 1...Qxh1 2.Qc2#/Rd6#/Nxd8# but 1...Be7! 1.Bd6?? (2.Qc2#/Rc2#) 1...Bxb7 2.Qd7# 1...Qe4+ 2.Qxe4#/Bxe4# 1...Qf3 2.Qc2#/Bxf3#/Nxd8# 1...Qg2 2.Qc2#/Bxg2#/Nxd8# 1...Qxh1+ 2.Qxh1# 1...Bf6 2.Qc7# but 1...Bb6! 1.Qc2! (2.Bd4#/Be3#/Bf2#/Bg1#/Bd6#/Be7#/Bb6#/Ba7#) 1...Kc7 2.Bd6# 1...Bxb7 2.Be7# 1...Qe4+ 2.Be3# 1...Qf3/Qg2 2.Be3#/Bf2#/Bg1#/Bd6#/Be7#/Bb6#/Ba7# 1...Qxh1+ 2.Bg1# 1...Be7 2.Bd6#/Bxe7# 1...Bf6 2.Bd4# 1...Bb6 2.Bxb6#" keywords: - Flight giving key --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 4461 date: 1981-04 algebraic: white: [Ke1, Rh1, Ra1, Bh5, Bh4, Sf2, Sc3, Pf3, Pd2] black: [Kg2] stipulation: "#2" twins: b: Move c3 g3 solution: | "a) 1.Sf2-g4 ! zugzwang. 1...Kg2*h1 2.Ke1-f2 # 1...Kg2*f3 2.0-0 # b) wSc3--g3 1.Sf2-g4 ? threat: 2.Sg4-e3 # 1...Kg2*f3 2.0-0 # (illegal) 1.0-0-0 ! zugzwang. 1...Kg2*f2 2.Rh1-h2 #" keywords: - Retro - Castling - Cantcastler --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 4549 date: 1982-02 algebraic: white: [Ke7, Qd1, Rh4, Bh7, Pe4, Pd5, Pc4] black: [Ke5, Bb2, Pf6, Pe6, Pc5] stipulation: "#2" solution: | "1...Ba1 2.Qxa1# 1...exd5 2.Qxd5# 1.Qd2?? (2.Qxb2#) 1...Bc1/Bc3/Ba3 2.Qc3# 1...Bd4 2.Qh2#/Qf4# 1...exd5 2.Qxd5# but 1...Ba1! 1.dxe6?? (2.Qd5#/Qd6#) but 1...Bd4! 1.Qe1! zz 1...Kd4 2.e5# 1...f5 2.exf5# 1...Bc1/Bc3/Ba3 2.Qc3# 1...Bd4 2.Qg3# 1...Ba1 2.Qxa1# 1...exd5 2.exd5#" keywords: - Flight giving key - Black correction --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 4/4774 date: 1984 distinction: Comm. algebraic: white: [Kg6, Qd2, Bg8, Sg2, Sc7] black: [Ke5, Ph6, Pg5, Pe7, Pe4, Pc6, Pc5, Pb4, Pa3] stipulation: "#2" solution: | "1.Ne3?? (2.Ng4#/Nc4#) 1...h5 2.Nc4# but 1...Kf4! 1.Qe3?? (2.Qxc5#) but 1...Kd6! 1.Nb5! zz 1...cxb5 2.Qd5# 1...c4 2.Qd4# 1...a2 2.Qb2# 1...e6 2.Qd6# 1...e3 2.Qxe3# 1...g4 2.Qf4# 1...h5 2.Qxg5# 1...b3 2.Qc3#" keywords: - Active sacrifice --- authors: - Benkő, Pál source: Sakkélet source-id: 1/5931 date: 1994 algebraic: white: [Kg5, Sg6, Sf6, Pe7, Pd7] black: [Ke6, Bb7] stipulation: "#2" twins: b: Continued move b7 c8 c: Continued remove c8 add black rf7 d: Continued move f7 f8 solution: | "a) 1.e7-e8=S ! threat: 2.d7-d8=S # +b) bBb7--c8 1.d7*c8=Q + ! 1...Ke6-f7 2.Qc8-g8 # 1...Ke6-d6 2.e7-e8=S # +c) -bBc8 +bRf7 1.d7-d8=Q ! threat: 2.Qd8-b6 # 2.Qd8-d5 # 2.Qd8-d7 # 1...Rf7*f6 2.e7-e8=Q # 1...Rf7*e7 2.Qd8*e7 # 2.Qd8-d5 # 1...Rf7-f8 2.Qd8-d5 # 1...Rf7-h7 2.Qd8-d5 # 1...Rf7-g7 2.Qd8-d5 # +d) bRf7--f8 1.e7*f8=B ! threat: 2.d7-d8=S #" --- authors: - Benkő, Pál source: Tipografia T.E. date: 1969 algebraic: white: [Kd3, Rd5, Be3, Sb5] black: [Kf5, Re5, Sf6] stipulation: "h#2" twins: b: Move e3 f2 solution: | "a) 1.Sf6*d5 Kd3-e2 2.Kf5-e4 Sb5-d6 # b) wBe3--f2 1.Re5*d5 + Sb5-d4 + 2.Kf5-e5 Bf2-g3 #" comments: - republished as Benko's Bafflers No. 827 in Chess Life & Review, February 1976 --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 3624 date: 1969-12 algebraic: white: [Kc5, Be8, Sc6] black: [Ke6, Bg7, Se5] stipulation: "h#2" options: - Duplex solution: | "1.Bg7-f6 Be8-h5 2.Se5-f7 Bh5-g4 # 1.Sc6-b4 Bg7-h6 2.Be8-b5 Bh6-e3 #" --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 3654 date: 1970-07 algebraic: white: [Kd7, Re6, Rd1, Bc1, Ba8] black: [Kd4, Qe5, Bd3, Sd5] stipulation: "h#2" solution: "1.Sd5-c3 Bc1-b2 2.Qe5-c5 Re6-e4 #" --- authors: - Benkő, Pál source: Magyar Sakkszövetség date: 1970-04-15 algebraic: white: [Kf8, Se6, Pf7, Pd5] black: [Kd7, Se8, Pd6] stipulation: "h#2" solution: "1.Kd7-c8 f7*e8=R + 2.Kc8-d7 Re8-d8 #" keywords: - Letters --- authors: - Benkő, Pál source: Magyar Sakkszövetség date: 1970-05-27 algebraic: white: [Kd4, Bf5, Se6, Pf7, Pe5, Pd3] black: [Kd7, Be8, Pe7] stipulation: "h#2" solution: "1.Be8*f7 Bf5-e4 2.Kd7-e8 Be4-c6 #" --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 3/3880 date: 1974 distinction: Honorable Mention algebraic: white: [Kh8, Qb7, Pg7] black: [Kf4, Rg5, Bb8] stipulation: "h#2" options: - Duplex intended-solutions: 2 solution: | "1.Kf4-f5 g7-g8=S 2.Kf5-g6 Qb7-h7 # 1.Rg5-e5 g7-g8=Q 2.Kf4-f5 Qb7-f3 # 1.g7-g8=R Bb8-e5 + 2.Qb7-g7 Rg5-h5 # 1.g7-g8=B Rg5-h5 + 2.Qb7-h7 Bb8-e5 #" keywords: - Allumwandlung --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 4106 date: 1977 distinction: 4th Comm. algebraic: white: [Kb5, Rd6, Bg5, Sg2, Pd5] black: [Kd4, Se4, Pe7] stipulation: "h#2" options: - SetPlay solution: | "1. ... Bf6+ 2. e5 de(e.p.)# 1. ed Bf6+ 2. K:d5 Sf4#" comments: - republished as Benko's Bafflers no. 1086 in Chess Life & Review, September 1979 --- authors: - Benkő, Pál - Sonnenfeld, Felix Alexander source: Magyar Sakkélet source-id: 7/4195 date: 1978 algebraic: white: [Kg1, Rc7, Ba8, Se6, Pd2, Pc3] black: [Kd3, Re5, Rb5] stipulation: "h#2" solution: | "1.Rb5-d5 Rc7-f7 2.Kd3-e4 Se6-c5 # 1.Re5-c5 Se6-f4 + 2.Kd3-c4 Ba8-d5 #" --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 4252 date: 1979-02 distinction: Honorable Mention algebraic: white: [Kb1, Pf2] black: [Kd1, Pe5] stipulation: "h#6" twins: b: Continued move b1 g2 c: Continued move d1 h4 d: Continued move f2 c2 solution: | "a) 1.e5-e4 f2-f4 2.e4-e3 f4-f5 3.e3-e2 f5-f6 4.e2-e1=R f6-f7 5.Re1-e2 f7-f8=Q 6.Re2-d2 Qf8-f1 # +b) wKb1--g2 1.e5-e4 f2-f4 2.e4-e3 f4-f5 3.e3-e2 f5-f6 4.e2-e1=B f6-f7 5.Be1-d2 f7-f8=Q 6.Kd1-e1 Qf8-f1 # +c) bKd1--h4 1.e5-e4 f2-f4 2.e4-e3 f4-f5 3.e3-e2 f5-f6 4.e2-e1=R f6-f7 5.Re1-e5 f7-f8=Q 6.Re5-h5 Qf8-f4 # +d) wPf2--c2 1.e5-e4 c2-c4 2.e4-e3 c4-c5 3.e3-e2 c5-c6 4.e2-e1=B c6-c7 5.Be1-d2 c7-c8=Q 6.Bd2-g5 Qc8-h3 #" --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 7/4387 date: 1980 algebraic: white: [Kg4, Bc5, Ph7, Ph2, Pd5, Pd2] black: [Ka1, Rc1, Rb1, Bg2, Be7, Sg5, Pc2, Pa2] stipulation: "h#2" twins: b: Move a1 h1 c: Move a1 h8 d: Move a1 a8 solution: | "a) 1.Ka1-b2 h7-h8=R 2.Rb1-a1 Rh8-b8 # b) bKa1--h1 1.Kh1*h2 h7-h8=B 2.Rc1-h1 Bh8-e5 # c) bKa1--h8 1.Kh8-g7 h7-h8=S 2.Kg7-f6 Bc5-d4 # d) bKa1--a8 1.Rb1-b8 h7-h8=Q 2.Rb8-c8 Qh8*c8 #" --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 5/4579 date: 1982 algebraic: white: [Kh8, Rc7, Sf4, Pf3, Pd7] black: [Kd4, Pf2, Pc3] stipulation: "h#2" twins: b: Move c7 c5 c: Move c7 e5 d: Move c7 e3 solution: | "a) 1.f2-f1=S d7-d8=B 2.Sf1-e3 Bd8-f6 # b) wRc7--c5 1.f2-f1=S d7-d8=S 2.Sf1-e3 Sd8-e6 # c) wRc7--e5 1.f2-f1=B d7-d8=S 2.Bf1-c4 Sd8-c6 # d) wRc7--e3 1.f2-f1=B d7-d8=B 2.Bf1-c4 Bd8-b6 #" --- authors: - Benkő, Pál source: Sakkélet source-id: 4/5618 date: 1991 algebraic: white: [Kh2, Rf2, Rc1, Pf3] black: [Kd3, Sf5] stipulation: "h#2" twins: b: Continued move f5 d4 c: Continued move f3 h7 d: Continued move f2 e2 solution: | "a) 1.Sf5-d4 Kh2-g3 2.Kd3-e3 Rc1-c3 # +b) bSf5--d4 1.Sd4-f5 Rc1-c2 2.Sf5-e3 Rf2-d2 # +c) wPf3--h7 1.Sd4-e2 h7-h8=Q 2.Kd3-d2 Qh8-c3 # +d) wRf2--e2 1.Sd4-b3 h7-h8=R 2.Kd3-d4 Rh8-d8 #" --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 1-2/6521 date: 1999 distinction: Special Prize algebraic: white: [Kb3, Rc5, Sf7, Pe2] black: [Ke4, Bf5] stipulation: "h#2" solution: | "1.Ke4-d4 Rc5-e5 2.Bf5-d3 e2-e3 # 1.Bf5-e6 + Rc5-c4 + 2.Ke4-d5 e2-e4 #" --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 3623 date: 1969-12 algebraic: white: [Ke2, Rf6, Bb3, Ba7, Sh8, Sd8, Ph4, Ph3, Pg6, Pg3, Pd6, Pc2, Pa4] black: [Ke4, Ph6, Ph5, Pe5, Pc3, Pa6] stipulation: "#3" solution: | "1.Sd8-c6 ! threat: 2.Sc6-b4 threat: 3.Bb3-d5 # 2.Sc6-e7 threat: 3.Bb3-d5 # 1...a6-a5 2.Ba7-d4 zugzwang. 2...e5*d4 3.Rf6-f4 # 1.Ba7-g1 ! threat: 2.Sd8-b7 threat: 3.Sb7-c5 # 2.Sd8-e6 threat: 3.Se6-c5 # 1...a6-a5 2.Rf6-f2 zugzwang. 2...Ke4-d4 3.Rf2-f4 # 2.Ke2-f2 zugzwang. 2...Ke4-d4 3.Kf2-f3 # 1.Rf6-f1 ! zugzwang. 1...a6-a5 2.Ke2-f2 zugzwang. 2...Ke4-f5 3.Kf2-e3 # 1.Rf6-f8 ! zugzwang. 1...a6-a5 2.Sd8-f7 zugzwang. 2...Ke4-f5 3.Sf7-g5 # 2.Bb3-f7 zugzwang. 2...Ke4-f5 3.Bf7-d5 # 1.Bb3-g8 ! zugzwang. 1...a6-a5 2.Sh8-f7 zugzwang. 2...Ke4-d5 3.Sf7-g5 #" --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 2/3933 date: 1975 distinction: 3rd Honorable Mention algebraic: white: [Ke4, Rh7, Ph4, Pf7, Pf6, Pc3, Pb7, Pb6] black: [Kd6, Pc5, Pc4] stipulation: "#3" twins: b: Move b7 e7 solution: | "a) 1.b7-b8=S ! threat: 2.f7-f8=Q + 2...Kd6-e6 3.Qf8-e7 # 1...Kd6-e6 2.f7-f8=S + 2...Ke6*f6 3.Sb8-d7 # 2...Ke6-d6 3.Rh7-d7 # b) wPb7--e7 1.e7-e8=B ! threat: 2.f7-f8=Q + 2...Kd6-e6 3.Qf8-e7 # 3.Be8-d7 # 1...Kd6-e6 2.f7-f8=B zugzwang. 2...Ke6*f6 3.Rh7-h6 #" --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 2-3/4447 date: 1981 algebraic: white: [Kc8, Rd5, Rb1, Sf6] black: [Kc6, Pd2] stipulation: "#3" solution: | "1.Rb1-b5 ! threat: 2.Sf6-e4 threat: 3.Rd5-c5 # 2.Sf6-g4 threat: 3.Sg4-e5 # 2.Sf6-g8 threat: 3.Sg8-e7 # 2.Sf6-e8 threat: 3.Rd5-c5 # 2.Sf6-d7 threat: 3.Sd7-e5 # 3.Sd7-b8 # 3.Rb5-c5 # 1...d2-d1=Q 2.Sf6-d7 threat: 3.Sd7-e5 # 3.Sd7-b8 # 3.Rb5-c5 # 2...Qd1-h5 3.Sd7-b8 # 3.Rb5-c5 # 2...Qd1-g4 3.Rb5-c5 # 2...Qd1-e2 3.Sd7-b8 # 3.Rb5-c5 # 2...Qd1-c2 3.Sd7-e5 # 3.Sd7-b8 # 2...Qd1-a1 3.Sd7-b8 # 3.Rb5-c5 # 2...Qd1-c1 3.Sd7-e5 # 3.Sd7-b8 # 2...Qd1*d5 3.Rb5-b6 # 2...Qd1-d4 3.Sd7-b8 # 2...Qd1-g1 3.Sd7-e5 # 3.Sd7-b8 # 2...Qd1-e1 3.Sd7-b8 # 3.Rb5-c5 # 1...d2-d1=R 2.Sf6-d7 threat: 3.Sd7-e5 # 3.Sd7-b8 # 3.Rb5-c5 # 2...Rd1-c1 3.Sd7-e5 # 3.Sd7-b8 # 2...Rd1*d5 3.Rb5-b6 # 2...Rd1-e1 3.Sd7-b8 # 3.Rb5-c5 # 1...d2-d1=B 2.Sf6-d7 threat: 3.Sd7-e5 # 3.Sd7-b8 # 3.Rb5-c5 # 2...Bd1-g4 3.Rb5-c5 #" --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 539 date: 1970 distinction: 1st Prize algebraic: white: [Kb4, Re7, Bf5, Sg5] black: [Kd5] stipulation: "#3" twins: b: Continued move d5 d4 c: Continued move f5 g2 d: Continued move g5 g6 e: Continued move g6 f6 f: Continued move f6 e3 g: Continued move g2 b3 h: Continued move b3 b5 i: Continued move e3 d8 j: Continued move d4 d5 solution: | "a) 1.Re7-e6 ! zugzwang. 1...Kd5-d4 2.Sg5-f7 zugzwang. 2...Kd4-d5 3.Re6-d6 # +b) bKd5--d4 1.Sg5-f3 + ! 1...Kd4-d5 2.Kb4-b5 threat: 3.Re7-d7 # +c) wBf5--g2 1.Re7-e1 ! zugzwang. 1...Kd4-d3 2.Bg2-e4 + 2...Kd3-d4 3.Sg5-f3 # 2...Kd3-d2 3.Sg5-f3 # +d) wSg5--g6 1.Re7-e2 ! zugzwang. 1...Kd4-d3 2.Sg6-f4 + 2...Kd3-d4 3.Re2-e4 # +e) wSg6--f6 1.Re7-e2 ! zugzwang. 1...Kd4-d3 2.Bg2-f1 zugzwang. 2...Kd3-d4 3.Re2-e4 # +f) wSf6--e3 1.Se3-c4 ! threat: 2.Re7-d7 # 1...Kd4-d3 2.Re7-e1 zugzwang. 2...Kd3-d4 3.Re1-d1 # 2...Kd3-c2 3.Bg2-e4 # +g) wBg2--b3 1.Se3-c4 ! zugzwang. 1...Kd4-d3 2.Kb4-c5 threat: 3.Re7-e3 # 1...Kd4-d5 2.Bb3-c2 zugzwang. 2...Kd5-d4 3.Re7-d7 # 2...Kd5-c6 3.Bc2-e4 # +h) wBb3--b5 1.Se3-f5 + ! 1...Kd4-d5 2.Kb4-a5 zugzwang. 2...Kd5-c5 3.Re7-e5 # +i) wSe3--d8 1.Re7-e6 ! threat: 2.Sd8-c6 + 2...Kd4-d5 3.Bb5-c4 # 1...Kd4-d5 2.Bb5-c4 + 2...Kd5-d4 3.Sd8-c6 # +j) bKd4--d5 1.Re7-e6 ! threat: 2.Bb5-c4 + 2...Kd5-d4 3.Sd8-c6 # 1...Kd5-d4 2.Sd8-c6 + 2...Kd4-d5 3.Bb5-c4 #" comments: - later all published in Chess Life & Review February 1971 as Benko's Bafflers nos. 370-379 inclusive --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 3538 date: 1968-08 distinction: Comm. algebraic: white: [Kf5, Pb2] black: [Kh6, Qh4, Rc1, Rb4, Bg3, Bb3, Sh5, Sf7] stipulation: "h#6" solution: "1.Rc1-c3 b2*c3 2.Rb4-d4 c3*d4 3.Bg3-e5 d4*e5 4.Qh4-f6 + e5*f6 5.Sh5-g7 + f6*g7 6.Sf7-h8 g7*h8=Q # 1.Bb3-c2 + Kf5-e6 2.Rb4-f4 b2-b4 3.Kh6-g7 b4-b5 4.Kg7-f8 b5-b6 5.Kf8-e8 b6-b7 6.Ke8-d8 b7-b8=Q # " --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 3822 date: 1973 distinction: Honorable Mention algebraic: white: [Ka2, Pa7, Pa6] black: [Ke8, Ra8, Sc7, Ph2, Pf5, Pe6] stipulation: "h#3" twins: b: Move a8 h8 solution: | "a) 1. 0-0-0 a8S 2. h1B a7 3. Bb7 Sb6# b) Move bRa8 == h8 1. 0-0 a8Q 2. h1R Qe8 3. Rh8 Qg6#" keywords: - Castling - Allumwandlung - Model mates --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 10/4220 date: 1978 distinction: 4th Comm. algebraic: white: [Kg4, Sg3, Pd2, Pc2] black: [Kb6, Pe5, Pd5] stipulation: "h#3" twins: b: Move b6 e6 c: cont Move g4 e2 d: cont Move e2 b5 e: cont Move b5 h5 solution: | "a) 1. Kc5 Sh1 2. Kd4 c3+ 3. Ke4 Sf2# b) Move bKb6 == e6 1. d4 Sh1 2. Kd5 c4+ 3. Ke4 Sf2# c) =b) & Move wKg4 == e2 1. Kd6 d3 2. Kc5 Se4+ 3. Kd4 c3# d) =c) & Move wKe2 == b5 1. e4 Sf5 2. Ke5 Se7 3. Kd4 Sc6# e) =d) & Move wKb5 == h5 1. d4 Kg4 2. Kd5 Sh5 3. Ke4 Sf6#" keywords: - Ideal mates --- authors: - Benkő, Pál source: Guanabarai Sakk-klub, algebraic: white: [Kd1, Qd6] black: [Ke8, Qb4, Rb2, Ra8, Pf2] stipulation: "h#3" twins: b: Remove b4 add white Pb4 solution: | "a) 1.Qb4-h4 Qd6-h6 2.0-0-0 + Kd1-c1 3.Rb2-b8 Qh6-c6 # b) -bQb4 +wPb4 1.Rb2*b4 Qd6-h6 2.0-0-0 + Kd1-c1 3.Rb4-b8 Qh6-c6 # 1.Rb2*b4 Qd6-h6 2.0-0-0 + Kd1-c2 3.Rb4-b8 Qh6-c6 # 1.Rb2*b4 Qd6-h6 2.0-0-0 + Kd1-e2 3.Rb4-b8 Qh6-c6 # 1.Ra8-d8 Kd1-c1 2.f2-f1=R + Kc1*b2 3.Rf1-f8 Qd6-e6 #" --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 6/4900 date: 1985 algebraic: white: [Kc1, Rb1, Ba5, Se5, Sd4, Pb2] black: [Ke8, Ra2, Pe3, Pd3, Pb7, Pb6, Pa3] stipulation: "h#3" solution: | "1.Ra2*b2 Kc1-d1 2.Rb2-f2 Rb1*b6 3.Rf2-f8 Rb6-e6 # 1.Ke8-e7 b2*a3 2.Ra2-f2 Rb1*b6 3.Rf2-f8 Rb6-e6 #" --- authors: - Benkő, Pál source: Sakkélet source-id: 11-12/6270 date: 1996 algebraic: white: [Kh7, Pg5] black: [Ka1, Bb2, Ba2, Sh4, Sc2, Pd5] stipulation: "h#6" solution: --- authors: - Navarovszky, László - Benkő, Pál source: Sakkélet source-id: 6/6204 date: 1996 distinction: HM algebraic: white: [Kh1, Pc7] black: [Kh3, Ph4, Ph2, Pg4, Pg3, Pe5, Pc5] stipulation: "s#4" twins: b: Continued move c5 e6 c: Continued move c7 d7 d: Continued move d7 b7 e: Continued move e6 e5 solution: | "a) 1.c7-c8=R ! zugzwang. 1...e5-e4 2.Rc8*c5 zugzwang. 2...e4-e3 3.Rc5-c1 zugzwang. 3...e3-e2 4.Rc1-e1 4...g3-g2 # 1...c5-c4 2.Rc8*c4 threat: 3.Rc4-e4 3...g3-g2 # +b) bPc5--e6 1.c7-c8=B ! threat: 2.Bc8*e6 zugzwang. 2...e5-e4 3.Be6-c4 zugzwang. 3...e4-e3 4.Bc4-e2 4...g3-g2 # +c) wPc7--d7 1.d7-d8=S ! threat: 2.Sd8*e6 threat: 3.Se6-c5 threat: 4.Sc5-e4 4...g3-g2 # 2...e5-e4 3.Se6-d4 zugzwang. 3...e4-e3 4.Sd4-e2 4...g3-g2 # +d) wPd7--b7 1.b7-b8=Q ! threat: 2.Qb8*e5 2...g3-g2 # 1...e5-e4 2.Qb8-e5 zugzwang. 2...e4-e3 3.Qe5*e3 threat: 4.Qe3*e6 4...g3-g2 # 4.Qe3-e5 4...g3-g2 # 3...e6-e5 4.Qe3*e5 4...g3-g2 # +e) bPe6--e5 1.b7-b8=Q ! threat: 2.Qb8*e5 2...g3-g2 # 1...e5-e4 2.Qb8-e5 zugzwang. 2...e4-e3 3.Qe5-a1 zugzwang. 3...e3-e2 4.Qa1-e1 4...g3-g2 # 3.Qe5-c3 zugzwang. 3...e3-e2 4.Qc3-e1 4...g3-g2 # 3.Qe5-a5 zugzwang. 3...e3-e2 4.Qa5-e1 4...g3-g2 # 2.Qb8-a7 zugzwang. 2...e4-e3 3.Qa7-a1 zugzwang. 3...e3-e2 4.Qa1-e1 4...g3-g2 # 3.Qa7-a5 zugzwang. 3...e3-e2 4.Qa5-e1 4...g3-g2 # 2.Qb8-f4 zugzwang. 2...e4-e3 3.Qf4-b4 zugzwang. 3...e3-e2 4.Qb4-e1 4...g3-g2 # 2.Qb8-d6 zugzwang. 2...e4-e3 3.Qd6-b4 zugzwang. 3...e3-e2 4.Qb4-e1 4...g3-g2 # 3.Qd6-d1 zugzwang. 3...e3-e2 4.Qd1-e1 4...g3-g2 # 2.Qb8-c7 zugzwang. 2...e4-e3 3.Qc7-a5 zugzwang. 3...e3-e2 4.Qa5-e1 4...g3-g2 # 3.Qc7-c1 zugzwang. 3...e3-e2 4.Qc1-e1 4...g3-g2 # 3.Qc7-c3 zugzwang. 3...e3-e2 4.Qc3-e1 4...g3-g2 # 2.Qb8-b1 zugzwang. 2...e4-e3 3.Qb1-a1 zugzwang. 3...e3-e2 4.Qa1-e1 4...g3-g2 # 3.Qb1-b4 zugzwang. 3...e3-e2 4.Qb4-e1 4...g3-g2 # 3.Qb1-d1 zugzwang. 3...e3-e2 4.Qd1-e1 4...g3-g2 # 3.Qb1-c1 zugzwang. 3...e3-e2 4.Qc1-e1 4...g3-g2 # 2.Qb8-b3 zugzwang. 2...e4-e3 3.Qb3-d1 zugzwang. 3...e3-e2 4.Qd1-e1 4...g3-g2 # 3.Qb3-b1 zugzwang. 3...e3-e2 4.Qb1-e1 4...g3-g2 # 3.Qb3-b4 zugzwang. 3...e3-e2 4.Qb4-e1 4...g3-g2 # 3.Qb3-c3 zugzwang. 3...e3-e2 4.Qc3-e1 4...g3-g2 # 2.Qb8-b4 zugzwang. 2...e4-e3 3.Qb4-c3 zugzwang. 3...e3-e2 4.Qc3-e1 4...g3-g2 # 3.Qb4-a5 zugzwang. 3...e3-e2 4.Qa5-e1 4...g3-g2 # 3.Qb4-b1 zugzwang. 3...e3-e2 4.Qb1-e1 4...g3-g2 # 2.Qb8-b5 zugzwang. 2...e4-e3 3.Qb5-b1 zugzwang. 3...e3-e2 4.Qb1-e1 4...g3-g2 # 3.Qb5-b4 zugzwang. 3...e3-e2 4.Qb4-e1 4...g3-g2 # 3.Qb5-a5 zugzwang. 3...e3-e2 4.Qa5-e1 4...g3-g2 # 2.Qb8-b6 zugzwang. 2...e4-e3 3.Qb6-a5 zugzwang. 3...e3-e2 4.Qa5-e1 4...g3-g2 # 3.Qb6-b1 zugzwang. 3...e3-e2 4.Qb1-e1 4...g3-g2 # 3.Qb6-b4 zugzwang. 3...e3-e2 4.Qb4-e1 4...g3-g2 # 2.Qb8-b7 zugzwang. 2...e4-e3 3.Qb7-b1 zugzwang. 3...e3-e2 4.Qb1-e1 4...g3-g2 # 3.Qb7-b4 zugzwang. 3...e3-e2 4.Qb4-e1 4...g3-g2 # 2.Qb8-a8 zugzwang. 2...e4-e3 3.Qa8-a1 zugzwang. 3...e3-e2 4.Qa1-e1 4...g3-g2 # 3.Qa8-a5 zugzwang. 3...e3-e2 4.Qa5-e1 4...g3-g2 # 2.Qb8-h8 zugzwang. 2...e4-e3 3.Qh8-a1 zugzwang. 3...e3-e2 4.Qa1-e1 4...g3-g2 # 3.Qh8-c3 zugzwang. 3...e3-e2 4.Qc3-e1 4...g3-g2 # 2.Qb8-f8 zugzwang. 2...e4-e3 3.Qf8-b4 zugzwang. 3...e3-e2 4.Qb4-e1 4...g3-g2 # 2.Qb8-d8 zugzwang. 2...e4-e3 3.Qd8-a5 zugzwang. 3...e3-e2 4.Qa5-e1 4...g3-g2 # 3.Qd8-d1 zugzwang. 3...e3-e2 4.Qd1-e1 4...g3-g2 # 2.Qb8-c8 zugzwang. 2...e4-e3 3.Qc8-c1 zugzwang. 3...e3-e2 4.Qc1-e1 4...g3-g2 # 3.Qc8-c3 zugzwang. 3...e3-e2 4.Qc3-e1 4...g3-g2 # 1.b7-b8=S ! threat: 2.Sb8-c6 threat: 3.Sc6*e5 3...g3-g2 # 2...e5-e4 3.Sc6-d4 zugzwang. 3...e4-e3 4.Sd4-e2 4...g3-g2 # 1.b7-b8=R ! threat: 2.Rb8-b4 threat: 3.Rb4-e4 3...g3-g2 # 2.Rb8-e8 threat: 3.Re8*e5 3...g3-g2 # 2...e5-e4 3.Re8*e4 3...g3-g2 # 1...e5-e4 2.Rb8-b4 threat: 3.Rb4*e4 3...g3-g2 # 2...e4-e3 3.Rb4-b1 zugzwang. 3...e3-e2 4.Rb1-e1 4...g3-g2 # 2.Rb8-b1 zugzwang. 2...e4-e3 3.Rb1-a1 zugzwang. 3...e3-e2 4.Ra1-e1 4...g3-g2 # 3.Rb1-f1 zugzwang. 3...e3-e2 4.Rf1-e1 4...g3-g2 # 3.Rb1-d1 zugzwang. 3...e3-e2 4.Rd1-e1 4...g3-g2 # 3.Rb1-c1 zugzwang. 3...e3-e2 4.Rc1-e1 4...g3-g2 # 2.Rb8-b3 zugzwang. 2...e4-e3 3.Rb3-b1 zugzwang. 3...e3-e2 4.Rb1-e1 4...g3-g2 # 2.Rb8-b5 zugzwang. 2...e4-e3 3.Rb5-b1 zugzwang. 3...e3-e2 4.Rb1-e1 4...g3-g2 # 2.Rb8-b6 zugzwang. 2...e4-e3 3.Rb6-b1 zugzwang. 3...e3-e2 4.Rb1-e1 4...g3-g2 # 2.Rb8-b7 zugzwang. 2...e4-e3 3.Rb7-b1 zugzwang. 3...e3-e2 4.Rb1-e1 4...g3-g2 # 2.Rb8-a8 zugzwang. 2...e4-e3 3.Ra8-a1 zugzwang. 3...e3-e2 4.Ra1-e1 4...g3-g2 # 2.Rb8-f8 zugzwang. 2...e4-e3 3.Rf8-f1 zugzwang. 3...e3-e2 4.Rf1-e1 4...g3-g2 # 2.Rb8-d8 zugzwang. 2...e4-e3 3.Rd8-d1 zugzwang. 3...e3-e2 4.Rd1-e1 4...g3-g2 # 2.Rb8-c8 zugzwang. 2...e4-e3 3.Rc8-c1 zugzwang. 3...e3-e2 4.Rc1-e1 4...g3-g2 # 1.b7-b8=B ! threat: 2.Bb8*e5 2...g3-g2 # 1...e5-e4 2.Bb8-a7 threat: 3.Ba7-e3 3...g3-g2 # 2.Bb8-f4 threat: 3.Bf4-e3 3...g3-g2 #" --- authors: - Bakcsi, György - Benkő, Pál source: Šachová skladba source-id: 42/3425 date: 1994-02 distinction: Comm. algebraic: white: [Kf1, Qa3, Re4, Pg2, Pf3, Pd5, Pb6, Pa5, Pa2] black: [Kb5, Ba6, Pg3, Pf2, Pc7, Pb7] stipulation: "s#3" solution: | "1.Re4-c4 ! zugzwang. 1...Kb5*c4 2.Qa3-c5 + 2...Kc4-d3 3.Qc5-c3 + 3...Kd3*c3 # 1...c7-c5 2.Rc4-b4 + 2...c5*b4 3.Qa3*b4 + 3...Kb5*b4 # 1...c7-c6 2.Rc4*c6 zugzwang. 2...b7*c6 3.Qa3-b4 + 3...Kb5*b4 # 1...c7*b6 2.Rc4-c5 + 2...b6*c5 3.Qa3-a4 + 3...Kb5*a4 #" --- authors: - Benkő, Pál source: Themes 64 date: 1972 distinction: 1st Prize algebraic: white: [Kh1, Qf8, Rh5, Rg3, Bh4, Bc4, Sh8, Sh6, Pf3, Pd4, Pd2] black: [Kf4, Qa5, Rd6, Bf2, Be8, Pg5, Pf7, Pf6, Pf5, Pe7, Pa3] stipulation: "#4" solution: | "1. Kg2! [2. Q:e7, 2. Sg6+] 1... Re6 2. Sg6+ 2... f:g6 3. B:g5+ 3... f:g5 4. Rg4# 1... R:d4 2. B:g5+ 2... f:g5 3. Rg4+ 3... f:g4 4. Sg6# 3... Ke5 4. Q:e7# 1... Q:d2 2. Rg4+ 2... f:g4 3. Sg6+ 3... f:g6 4. B:g5# 3... Ke3 4. Sf5#" keywords: - Third-pin --- authors: - Benkő, Pál source: Magyar Sakkélet date: 1974 algebraic: white: [Ka3, Rh8, Sc3, Ph2] black: [Ka1, Bc6, Ph3] stipulation: "#4" solution: | "1.Rh8-g8 ! threat: 2.Rg8-g1 # 1...Bc6-a4 2.Rg8-g1 + 2...Ba4-d1 3.Rg1*d1 # 1...Bc6-b5 2.Rg8-g1 + 2...Bb5-f1 3.Rg1*f1 # 1...Bc6-g2 2.Ka3-b3 zugzwang. 2...Bg2-f1 3.Rg8-a8 + 3...Bf1-a6 4.Ra8*a6 # 2...Bg2-h1 3.Rg8-g1 # 2...Bg2-a8 3.Rg8-g1 # 3.Rg8*a8 # 2...Bg2-b7 3.Rg8-g1 # 2...Bg2-c6 3.Rg8-g1 # 2...Bg2-d5 + 3.Sc3*d5 threat: 4.Rg8-g1 # 2...Bg2-e4 3.Rg8-g1 + 3...Be4-b1 4.Rg1*b1 # 3.Sc3*e4 threat: 4.Rg8-g1 # 2...Bg2-f3 3.Rg8-g1 + 3...Bf3-d1 + 4.Rg1*d1 # 1...Bc6-f3 2.Rg8-g1 + 2...Bf3-d1 3.Rg1*d1 # 1...Bc6-e4 2.Rg8-g1 + 2...Be4-b1 3.Rg1*b1 #" comments: - republished in Chess Life & Review as Benko's Bafflers No. 722, December 1974 --- authors: - Benkő, Pál source: Sakkélet date: 1996 distinction: HM algebraic: white: [Kb7, Ra8, Be3, Bd3, Ph5, Pg6, Pf3, Pe5, Pe2, Pb3, Pa5] black: [Kh8, Sg8, Ph6, Pg7, Pf4, Pe6, Pa6] stipulation: "#4" solution: | "1.Bd3-b5 ! zugzwang. 1...f4*e3 2.Bb5-e8 zugzwang. 2...Sg8-e7 3.Be8-f7 + 3...Se7-g8 4.Ra8*g8 # 3...Se7-c8 4.Ra8*c8 # 2...Sg8-f6 3.Be8-f7 + 3...Sf6-g8 4.Ra8*g8 # 3...Sf6-e8 4.Ra8*e8 # 1...a6*b5 2.Be3-b6 zugzwang. 2...b5-b4 3.Bb6-d8 zugzwang. 3...Sg8-e7 4.Bd8*e7 # 3...Sg8-f6 4.Bd8*f6 #" comments: - "Magyar Sakkvilag 1984 ?" --- authors: - Benkő, Pál source: Sakkélet source-id: 3-4/6419 date: 1998 algebraic: white: [Ka1, Ra4, Bh3, Pg2, Pf7, Pe7, Pd7, Pc7, Pb7, Pa6] black: [Kh1, Rh8, Ph2] stipulation: "#4" solution: | "1.b7-b8=Q ! threat: 2.Qb8-b1 # 1...Kh1-g1 2.Qb8-b6 + 2...Kg1-h1 3.Qb6-b1 # 2...Kg1-f1 3.Ra4-a2 threat: 4.Qb6-f2 # 4.Qb6-b1 # 3...Kf1-e1 4.Qb6-b1 # 3...h2-h1=S 4.Qb6-b1 # 3...Rh8-b8 4.Qb6-f2 # 1...Rh8*h3 2.Ra4-a2 threat: 3.Qb8-b1 # 2...Rh3-b3 3.Qb8*b3 threat: 4.Qb3-b1 # 4.Qb3-d1 # 2...Rh3-c3 3.Qb8-b1 + 3...Rc3-c1 4.Qb1*c1 # 2...Rh3-d3 3.Qb8-b1 + 3...Rd3-d1 4.Qb1*d1 # 2...Rh3-e3 3.Qb8-b1 + 3...Re3-e1 4.Qb1*e1 # 2...Rh3-f3 3.Qb8-b1 + 3...Rf3-f1 4.Qb1*f1 # 3.g2*f3 threat: 4.Qb8-b1 # 1...Rh8*b8 2.e7-e8=Q threat: 3.Qe8-e1 # 2...Rb8-b1 + 3.Ka1*b1 threat: 4.Qe8-e1 # 2...Rb8*e8 3.f7*e8=Q threat: 4.Qe8-e1 # 3.d7*e8=Q threat: 4.Qe8-e1 #" --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 5/4368 date: 1980 algebraic: white: [Kf1, Rh8, Pg5, Pg4, Pf4, Pe7, Pe2, Pd4] black: [Kh1, Bh2, Pe4, Pe3, Pd6] stipulation: "#5" twins: b: Move e7 f7 solution: | "a) 1.e7-e8=B ! threat: 2.Be8-g6 threat: 3.Bg6*e4 # 2...d6-d5 3.Bg6-h7 zugzwang. 3...Bh2-g1 4.Bh7*e4 # 3...Bh2*f4 4.Bh7*e4 # 3...Bh2-g3 4.Bh7*e4 # 1...d6-d5 2.Be8-h5 zugzwang. 2...Bh2-g3 3.Bh5-g6 + 3...Bg3-h2 4.Bg6-h7 zugzwang. 4...Bh2-g1 5.Bh7*e4 # 4...Bh2*f4 5.Bh7*e4 # 4...Bh2-g3 5.Bh7*e4 # 3...Bg3-h4 4.Rh8*h4 # 2...Bh2-g1 3.Bh5-g6 + 3...Bg1-h2 4.Bg6-h7 zugzwang. 4...Bh2-g1 5.Bh7*e4 # 4...Bh2*f4 5.Bh7*e4 # 4...Bh2-g3 5.Bh7*e4 # 2...Bh2*f4 3.Bh5-g6 + 3...Bf4-h2 4.Bg6-h7 zugzwang. 4...Bh2-g1 5.Bh7*e4 # 4...Bh2-b8 5.Bh7*e4 # 4...Bh2-c7 5.Bh7*e4 # 4...Bh2-d6 5.Bh7*e4 # 4...Bh2-e5 5.Bh7*e4 # 4...Bh2-f4 5.Bh7*e4 # 4...Bh2-g3 5.Bh7*e4 # b) wPe7--f7 1.f7-f8=S ! threat: 2.Sf8-g6 zugzwang. 2...d6-d5 3.Sg6-h4 zugzwang. 3...Bh2-g3 4.Sh4-f3 + 4...Bg3-h2 5.Rh8*h2 # 4...Bg3-h4 5.Rh8*h4 # 4.Sh4-f5 + 4...Bg3-h2 5.Sf5-g3 # 4...Bg3-h4 5.Rh8*h4 # 3...Bh2-g1 4.Sh4-f5 + 4...Bg1-h2 5.Sf5-g3 # 4.Sh4-f3 + 4...Bg1-h2 5.Rh8*h2 # 3...Bh2*f4 4.Sh4-f3 + 4...Bf4-h2 5.Rh8*h2 # 4.Sh4-f5 + 4...Bf4-h2 5.Sf5-g3 # 1...d6-d5 2.Sf8-h7 zugzwang. 2...Bh2-g3 3.Sh7-f6 + 3...Bg3-h2 4.Sf6-h5 threat: 5.Sh5-g3 # 3...Bg3-h4 4.Rh8*h4 # 2...Bh2-g1 3.Sh7-f6 + 3...Bg1-h2 4.Sf6-h5 threat: 5.Sh5-g3 # 2...Bh2*f4 3.Sh7-f6 + 3...Bf4-h2 4.Sf6-h5 threat: 5.Sh5-g3 #" --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 4/4168 date: 1978 algebraic: white: [Kb7, Sh8, Pg2, Pe7, Pe5, Pe4, Pd6, Pd2, Pa2] black: [Kd7, Pe6] stipulation: "#6" twins: b: Move b7 b5 c: cont Move e6 a3 d: cont Move b5 a6 solution: | "a) 1. g4 Ke8 2. g5 Kd7 3. g6 Ke8 4. g7 Kd7 5. g8S! Ke8 6. Sf6# b) Move wKb7 == b5 1. a4 Ke8 2. a5 Kd7 3. a6 Ke8 4. a7 Kd7 5. a8B! Ke8 6. Bc6# c) =b) & Move bPe6 == a3 1. g4 Ke8 2. g5 Kd7 3. g6 Ke8 4. g7 Kd7 5. g8R! Ke6 6. e8Q# d) =c) & Move wKb5 == a6 1. g4 Ke8 2. g5 Kd7 3. g6 Ke8 4. g7 Kd7 5. g8Q! Kc6 6. Qc8#" keywords: - Excelsior - Allumwandlung --- authors: - Benkő, Pál source: Sakkélet source-id: 6520 date: 1999-01 algebraic: white: [Kd6, Bb3, Ba3, Sa4] black: [Kb1] stipulation: "#6" solution: | "1.Kd6-c5 ! threat: 2.Kc5-b4 zugzwang. 2...Kb1-a1 3.Bb3-g8 threat: 4.Kb4-b3 threat: 5.Ba3-b2 + 5...Ka1-b1 6.Bg8-h7 # 6.Sa4-c3 # 4...Ka1-b1 5.Bg8-h7 + 5...Kb1-a1 6.Ba3-b2 # 5.Sa4-c3 + 5...Kb1-a1 6.Ba3-b2 # 3.Bb3-f7 threat: 4.Kb4-b3 threat: 5.Ba3-b2 + 5...Ka1-b1 6.Bf7-g6 # 6.Sa4-c3 # 4...Ka1-b1 5.Bf7-g6 + 5...Kb1-a1 6.Ba3-b2 # 5.Sa4-c3 + 5...Kb1-a1 6.Ba3-b2 # 3.Bb3-e6 threat: 4.Kb4-b3 threat: 5.Ba3-b2 + 5...Ka1-b1 6.Be6-f5 # 6.Sa4-c3 # 4...Ka1-b1 5.Be6-f5 + 5...Kb1-a1 6.Ba3-b2 # 5.Sa4-c3 + 5...Kb1-a1 6.Ba3-b2 # 3.Bb3-d5 threat: 4.Kb4-b3 threat: 5.Ba3-b2 + 5...Ka1-b1 6.Bd5-e4 # 6.Sa4-c3 # 4...Ka1-b1 5.Bd5-e4 + 5...Kb1-a1 6.Ba3-b2 # 5.Sa4-c3 + 5...Kb1-a1 6.Ba3-b2 # 3.Bb3-c4 threat: 4.Kb4-b3 threat: 5.Ba3-b2 + 5...Ka1-b1 6.Bc4-d3 # 6.Sa4-c3 # 4...Ka1-b1 5.Bc4-d3 + 5...Kb1-a1 6.Ba3-b2 # 5.Sa4-c3 + 5...Kb1-a1 6.Ba3-b2 # 1...Kb1-a1 2.Bb3-a2 zugzwang. 2...Ka1*a2 3.Kc5-b4 zugzwang. 3...Ka2-a1 4.Kb4-b3 threat: 5.Ba3-b2 + 5...Ka1-b1 6.Sa4-c3 # 4...Ka1-b1 5.Sa4-c3 + 5...Kb1-a1 6.Ba3-b2 # 3...Ka2-b1 4.Kb4-b3 threat: 5.Sa4-c3 + 5...Kb1-a1 6.Ba3-b2 # 4...Kb1-a1 5.Ba3-b2 + 5...Ka1-b1 6.Sa4-c3 #" --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 3592 date: 1969-05 algebraic: white: [Ke1, Pd2, Pa2] black: [Ka8, Bh4, Sf2, Ph3, Ph2, Pd4, Pd3] stipulation: "h#7" twins: b: Remove h4 solution: | "a) 1.Sf2-e4 + Ke1-d1 2.Se4-c3 + d2*c3 3.Bh4-e1 c3-c4 4.h2-h1=R c4-c5 5.Rh1-h2 c5-c6 6.Rh2*a2 c6-c7 7.Ra2-a7 c7-c8=Q # b) -bBh4 1.Ka8-b7 a2-a4 2.Kb7-c6 a4-a5 3.Kc6-d5 a5-a6 4.Kd5-e4 a6-a7 5.Ke4-f3 a7-a8=R 6.Kf3-g2 Ra8-a1 7.Kg2-h1 Ke1*f2 #" comments: - republished in Chess Life & Review May 1971, Benko's Bafflers no.428 --- authors: - Benkő, Pál source: Sakkélet source-id: 7-8/6590 date: 1999 algebraic: white: [Kg1, Ph2, Pf4, Pf3, Pf2, Pd2, Pb6, Pa5, Pa3] black: [Kc8, Ph3, Pf6, Pd7, Pd6, Pd3, Pb7, Pa6, Pa4] stipulation: "h#10" intended-solutions: 2.1.1... solution: "1.d6-d5 f4-f5 2.d7-d6 f3-f4 3.Kc8-d7 f2-f3 4.Kd7-c6 Kg1-f2 5.Kc6-b5 Kf2-e3 6.Kb5*a5 Ke3-d4 7.Ka5*b6 Kd4*d5 8.Kb6-a5 Kd5*d6 9.b7-b5 Kd6-c5 10.b5-b4 a3*b4 # 1.Kc8-d8 Kg1-f1 2.Kd8-e7 Kf1-e1 3.Ke7-e6 Ke1-d1 4.Ke6-f5 Kd1-c1 5.Kf5*f4 Kc1-b2 6.Kf4-e5 Kb2-c3 7.Ke5-d5 Kc3*d3 8.Kd5-c6 Kd3-c4 9.f6-f5 d2-d4 10.f5-f4 d4-d5 #" --- authors: - Benkő, Pál source: Chess Life & Review date: 1973-09 algebraic: white: [Ke1, Qh6, Pe2] black: [Kg8] stipulation: "#7" solution: | "1.Qh6-f6 Kg8-h7 2.e2-e4 Kh7-g8 3.e4-e5 Kg8-h7 4.e5-e6 Kh7-g8 5.e6-e7 Kg8-h7 6.e7-e8=S Kh7-g8 7.Qf6-g7#" keywords: - Excelsior - White underpromotion comments: - = Николай Зиновьев, 90 Шах 6 01/1987, 1st Prize --- authors: - Benkő, Pál source: Sinfonie Scacchistiche date: 1976 algebraic: white: [Ke8, Pc7, Pc4, Pa7, Pa3] black: [Ka8] stipulation: "#4" solution: | "1.Ke8-d7 ! threat: 2.Kd7-c6 threat: 3.c7-c8=Q + 3...Ka8*a7 4.Qc8-b7 # 2...Ka8*a7 3.c7-c8=R zugzwang. 3...Ka7-a6 4.Rc8-a8 # 2.c7-c8=R + 2...Ka8-b7 3.a7-a8=Q + 3...Kb7-b6 4.Rc8-c6 # 2...Ka8*a7 3.Kd7-c7 zugzwang. 3...Ka7-a6 4.Rc8-a8 # 3.Kd7-c6 zugzwang. 3...Ka7-a6 4.Rc8-a8 # 1...Ka8*a7 2.Kd7-c6 threat: 3.c7-c8=R zugzwang. 3...Ka7-a6 4.Rc8-a8 # 2...Ka7-a8 3.c7-c8=Q + 3...Ka8-a7 4.Qc8-b7 # 2...Ka7-a6 3.c7-c8=Q + 3...Ka6-a7 4.Qc8-b7 # 3...Ka6-a5 4.Qc8-a8 # 1...Ka8-b7 2.c7-c8=R threat: 3.a7-a8=Q + 3...Kb7-b6 4.Rc8-c6 # 2...Kb7*a7 3.Kd7-c7 zugzwang. 3...Ka7-a6 4.Rc8-a8 # 3.Kd7-c6 zugzwang. 3...Ka7-a6 4.Rc8-a8 # 2...Kb7-b6 3.a7-a8=R zugzwang. 3...Kb6-b7 4.Rc8-b8 #" comments: - republished as Benko's Bafflers no.953 in Chess Life & Review, October 1977 --- authors: - Benkő, Pál source: Maqyar Sakkelet date: 1973 distinction: Honorable Mention algebraic: white: [Kh5, Sd7, Ph7, Pg6, Pb2] black: [Kg7, Ph6] stipulation: "#6" solution: | "1.b2-b4 ! threat: 2.b4-b5 threat: 3.b5-b6 threat: 4.b6-b7 threat: 5.b7-b8=B threat: 6.Bb8-e5 #" keywords: - Excelsior --- authors: - Benkő, Pál source: Chess Life source-id: 11 date: 1967-05 algebraic: white: [Kc4, Bg3, Be2, Sf4] black: [Kg1] stipulation: "#4" twins: b: Move c4 d6 solution: | "a) 1.Be2-g4 ! zugzwang. 1...Kg1-h1 2.Sf4-e2 threat: 3.Bg4-f3 # 2...Kh1-g2 3.Kc4-d3 zugzwang. 3...Kg2-f1 4.Bg4-h3 # 3...Kg2-h1 4.Bg4-f3 # 1...Kg1-f1 2.Sf4-e2 zugzwang. 2...Kf1-g2 3.Kc4-d3 zugzwang. 3...Kg2-f1 4.Bg4-h3 # 3...Kg2-h1 4.Bg4-f3 # b) wKc4 -- d6 1.Ke5! Kh1 2.Sh3 Kg2 3.Kf4 Kh1 4.Bf3#" comments: - Phase a) was published here 409063 --- authors: - Benkő, Pál source: Magyar Sakkélet date: 1972 algebraic: white: [Kc2, Bf5, Sh6, Sc3] black: [Ka1, Pa3] stipulation: "#8" solution: 1.Sc3-a2 ! comments: - anticipated, mirror 367963 --- authors: - Benkő, Pál source: Die Schwalbe source-id: 22/1058 date: 1973-08 algebraic: white: [Kg5, Ph7, Pg6, Pe2, Pd2] black: [Kg7] stipulation: "#6" solution: | "1.d2-d4 ! zugzwang. 1...Kg7-h8 2.d4-d5 threat: 3.d5-d6 threat: 4.d6-d7 threat: 5.d7-d8=Q + 5...Kh8-g7 6.h7-h8=Q # 6.h7-h8=B # 6.Qd8-f6 # 6.Qd8-g8 # 5.d7-d8=R + 5...Kh8-g7 6.Rd8-g8 # 6.h7-h8=Q # 6.h7-h8=B # 4...Kh8-g7 5.d7-d8=B zugzwang. 5...Kg7-f8 6.h7-h8=Q # 5...Kg7-h8 6.Bd8-f6 # 1...Kg7-f8 2.h7-h8=Q + 2...Kf8-e7 3.Qh8-c8 threat: 4.g6-g7 threat: 5.Qc8-c7 + 5...Ke7-e8 6.g7-g8=Q # 6.g7-g8=R # 5...Ke7-e6 6.g7-g8=Q # 6.g7-g8=B # 5.g7-g8=Q threat: 6.Qg8-e6 # 6.Qg8-f8 # 6.Qc8-e6 # 6.Qc8-c7 # 6.Qc8-d8 # 5...Ke7-d6 6.Qg8-e6 # 6.Qg8-d8 # 4...Ke7-f7 5.g7-g8=Q + 5...Kf7-e7 6.Qg8-e6 # 6.Qg8-f8 # 6.Qc8-e6 # 6.Qc8-c7 # 6.Qc8-d8 # 4...Ke7-d6 5.g7-g8=Q threat: 6.Qg8-e6 # 6.Qg8-d8 # 5...Kd6-e7 6.Qg8-e6 # 6.Qg8-f8 # 6.Qc8-e6 # 6.Qc8-c7 # 6.Qc8-d8 # 4.e2-e3 zugzwang. 4...Ke7-d6 5.Kg5-f6 zugzwang. 5...Kd6-d5 6.Qc8-e6 # 3...Ke7-d6 4.Kg5-f6 threat: 5.e2-e3 zugzwang. 5...Kd6-d5 6.Qc8-e6 # 4...Kd6-d5 5.Qc8-c5 + 5...Kd5-e4 6.Qc5-e5 #" keywords: - Excelsior --- authors: - Benkő, Pál source: Chess Life date: 1968-08 algebraic: white: [Ke1, Qd1, Bf1, Bc1] black: [Ke4] stipulation: "#3" solution: | "1.Bf1-c4 ! threat: 2.Qd1-d5 # 1...Ke4-e5 2.Qd1-d5 + 2...Ke5-f6 3.Qd5-g5 # 1...Ke4-f5 2.Qd1-h5 + 2...Kf5-f6 3.Qh5-g5 # 2...Kf5-e4 3.Qh5-d5 # 2.Qd1-f3 + 2...Kf5-e5 3.Qf3-f4 # 2...Kf5-g6 3.Qf3-f7 #" keywords: - Miniature comments: - This chess composition is on page 304 with the solution on page 293 --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 3867 date: 1974 distinction: Special HM algebraic: white: [Kd4, Be8, Pg4, Pd7, Pc7] black: [Ke6] stipulation: "#3" twins: b: Move d4 e3 solution: | "a) 1.d7-d8=B ! threat: 2.c7-c8=Q + 2...Ke6-d6 3.Qc8-a6 # 3.Qc8-d7 # 3.Qc8-c6 # 2.c7-c8=R threat: 3.Rc8-c6 # 1...Ke6-d6 2.c7-c8=R threat: 3.Rc8-c6 # b) wKd4--e3 1.d7-d8=Q ! threat: 2.c7-c8=Q + 2...Ke6-e5 3.Qd8-d4 # 3.Qc8-f5 # 2.c7-c8=S threat: 3.Qd8-d6 # 2.c7-c8=B + 2...Ke6-e5 3.Qd8-d4 # 1...Ke6-e5 2.c7-c8=S threat: 3.Qd8-d6 #" keywords: - Allumwandlung - Dual --- authors: - Benkő, Pál source: Magyar Sakkélet date: 1979 algebraic: white: [Kg2, Pf2] black: [Kh4, Pe5] stipulation: "h#6" solution: "1.e5-e4 f2-f4 2.e4-e3 f4-f5 3.e3-e2 f5-f6 4.e2-e1=R f6-f7 5.Re1-e5 f7-f8=Q 6.Re5-h5 Qf8-f4 #" --- authors: - Benkő, Pál source: Chess Life & Review date: 1978 algebraic: white: [Kb3, Sc5, Pd7, Pc4] black: [Kd4, Pf2, Pe5] stipulation: "h#2" twins: b: Move c5 g5 solution: | "a) 1.f2-f1=S d7-d8=S 2.Sf1-e3 Sd8-e6 # b) wSc5--g5 1.f2-f1=B d7-d8=B 2.Bf1-d3 Bd8-b6 #" keywords: - Miniature - Ideal mates --- authors: - Benkő, Pál source: Chess Life date: 1989 algebraic: white: [Ka6, Rd4, Bh5, Bg1, Sh1] black: [Ke3, Pg2, Pf2] stipulation: "h#2" intended-solutions: 2 solution: | "1.f2*g1=B Sh1-g3 2.Bg1-f2 Sg3-f5 # 1.g2*h1=B Bg1-h2 2.f2-f1=S Bh2-g1 #" --- authors: - Benkő, Pál source: The Problemist Supplement source-id: 53/1160 date: 2001-07 algebraic: white: [Kf1, Qa1, Ra2, Bb2] black: [Ke8, Qg4, Pe7, Pd6] stipulation: "h#2" twins: b: Move a2 d5 solution: | "a) Diagram 1. e6 Ra8 2. Ke7 Qa7# b) Ra2-d5 1. Kf7 Bh8 2. Kg6 Qg7#" --- authors: - Benkő, Pál source: Chess Life source-id: 6 date: 1967-04 algebraic: white: [Kg4, Qb2, Sf4] black: [Kd1, Pf3, Pc4] stipulation: "#3" solution: | "1.Sf4-d3 ! zugzwang. 1...c4-c3 2.Qb2-f2 zugzwang. 2...c3-c2 3.Qf2-e1 # 1...f3-f2 2.Qb2-c1 + 2...Kd1-e2 3.Sd3-f4 # 1...c4*d3 2.Kg4*f3 zugzwang. 2...Kd1-e1 3.Qb2-c1 # 2...d3-d2 3.Qb2-b1 #" comments: - For the memory of Sam Loyd - anticipated 118715 --- authors: - Benkő, Pál source: Chess Life & Review date: 1970 algebraic: white: [Kb2, Rc6, Bd6, Bc2, Sd3, Sc4] black: [Kb5] stipulation: "#3" solution: | "1.Kb2-c3 ! threat: 2.Rc6-b6 # 1...Kb5*c6 2.Sd3-c5 zugzwang. 2...Kc6-d5 3.Bc2-e4 # 2...Kc6-b5 3.Bc2-a4 #" keywords: - Letters comments: - In 1969, Chess Life merged with Chess Review, the other leading U.S. chess magazine. The magazine was published under the title Chess Life & Review starting with the November 1969 issue until 1980 when it returned to the name Chess Life. (http://en.wikipedia.org/wiki/Chess_Life) --- authors: - Benkő, Pál source: Olympiade Skopje date: 1972 algebraic: white: [Kc4, Rd3, Be7, Se6, Se5] black: [Ke4] stipulation: "#3" solution: | "1.Be7-d6 ! zugzwang. 1...Ke4-f5 2.Kc4-d5 threat: 3.Rd3-f3 #" keywords: - Letters --- authors: - Benkő, Pál source: Olympiade Skopje date: 1972 algebraic: white: [Ka3, Qc7, Ra4, Bb7] black: [Kb5, Sc6, Sa7] stipulation: "#3" solution: | "1.Ra4-e4 ! zugzwang. 1...Kb5-c5 2.Ka3-a4 zugzwang. 2...Kc5-d5 3.Qc7-e5 # 2...Sa7-b5 3.Qc7*c6 # 2...Sa7-c8 3.Qc7*c6 # 1...Sc6-a5 2.Re4-b4 # 2.Re4-e5 # 1...Sc6-b4 2.Re4*b4 # 1...Sc6-d4 2.Re4-e5 # 1...Sc6-e5 2.Re4*e5 # 2.Re4-b4 # 1...Sc6-e7 2.Re4-b4 # 1...Sc6-d8 2.Re4-b4 # 2.Re4-e5 # 1...Sc6-b8 2.Re4-e5 # 2.Re4-b4 # 1...Sa7-c8 2.Qc7*c6 + 2...Kb5-a5 3.Qc6-c5 # 3.Qc6-a6 # 3.Re4-a4 # 3.Re4-e5 #" keywords: - Digits comments: - also on cover of Chess Life & Review, January 1972 --- authors: - Benkő, Pál source: Olympiade Skopje date: 1972 algebraic: white: [Kc3, Rd7, Be7, Bd3, Se4, Sd5] black: [Kc6] stipulation: "#3" solution: | "1.Kc3-d4 ! threat: 2.Rd7-c7 # 1...Kc6*d7 2.Se4-d6 zugzwang. 2...Kd7-e6 3.Bd3-f5 # 2...Kd7-c6 3.Bd3-b5 #" keywords: - Letters --- authors: - Benkő, Pál source: Deutsche Schachzeitung date: 1973 algebraic: white: [Kf2, Qg4, Rd6, Ba3] black: [Ke4, Sd4, Pf4] stipulation: "#2" solution: | "1...Ne2/Ne6/Nc2/Nb3/Nb5 2.Qe6# 1.Bc1?? zz 1...Ke5/Nf3/Nf5/Nc6 2.Qxf4# 1...Ne2/Ne6 2.Qe6# 1...Nc2/Nb3/Nb5 2.Qxf4#/Qe6# but 1...Kd3! 1.Qg6+?? 1...Nf5 2.Qe6# but 1...Ke5! 1.Bb2! zz 1...Ke5 2.Qe6# 1...Kd3 2.Qe2# 1...Ne2/Ne6/Nc2/Nb3/Nb5 2.Qg6#/Qe6# 1...Nf3/Nc6 2.Qg6# 1...Nf5 2.Qf3#" keywords: - Black correction --- authors: - Benkő, Pál source: Deutsche Schachzeitung date: 1973 algebraic: white: [Kh5, Rg7, Bd4, Ba8] black: [Kf4, Pf5] stipulation: "#3" solution: | "1.Bd4-c5 ! zugzwang. 1...Kf4-e5 2.Kh5-g5 threat: 3.Rg7-e7 #" --- authors: - Benkő, Pál source: Deutsche Schachzeitung date: 1973 algebraic: white: [Kg1, Rh7, Be4, Bb8, Pg3] black: [Kg4, Pg5] stipulation: "#3" solution: | "1.Rh7-h3 ! zugzwang. 1...Kg4*h3 2.Be4-f3 zugzwang. 2...g5-g4 3.Bf3-g2 #" --- authors: - Benkő, Pál source: Chess Life & Review source-id: 297 date: 1970-01 algebraic: white: [Kf3, Qf2, Sf5, Sf4] black: [Kf6] stipulation: "#3" solution: | "1.Qf2-c5 ! zugzwang. 1...Kf6-f7 2.Qc5-e7 + 2...Kf7-g8 3.Qe7-g7 # 1...Kf6-g5 2.Kf3-e4 zugzwang. 2...Kg5-f6 3.Qc5-e7 # 2...Kg5-g4 3.Qc5-g1 #" keywords: - Digits - Letters comments: - In 1969, Chess Life merged with Chess Review, the other leading U.S. chess magazine. The magazine was published under the title Chess Life & Review starting with the November 1969 issue until 1980 when it returned to the name Chess Life, see http://en.wikipedia.org/wiki/Chess_Life - with 409374 and 220912, the initials of Isador S. Turover --- authors: - Benkő, Pál source: Chess Life & Review date: 1970 algebraic: white: [Kd2, Re6, Bf6, Bf3, Se4, Se2] black: [Kd5] stipulation: "#3" solution: | "1.Re6-b6 ! threat: 2.Bf6-d4 zugzwang. 2...Kd5-c4 3.Se4-d6 # 2.Se2-f4 + 2...Kd5-c4 3.Bf3-e2 # 2.Se2-c3 + 2...Kd5-c4 3.Bf3-e2 # 1...Kd5-c4 2.Se4-d6 + 2...Kc4-c5 3.Bf6-d4 #" keywords: - Letters comments: - In 1969, Chess Life merged with Chess Review, the other leading U.S. chess magazine. The magazine was published under the title Chess Life & Review starting with the November 1969 issue until 1980 when it returned to the name Chess Life. (http://en.wikipedia.org/wiki/Chess_Life) --- authors: - Benkő, Pál source: Chess Life & Review source-id: 735 date: 1975-03 algebraic: white: [Kf3, Qg5, Be8, Sb7] black: [Ke6, Pf7] stipulation: "#2" solution: | "1.Qf5+?? 1...Ke7 2.Qxf7# but 1...Kxf5! 1.Qc5?? zz 1...f6 2.Nd8# 1...f5 2.Qd6# but 1...Kf6! 1.Qf6+?? 1...Kd5 2.Bxf7# but 1...Kxf6! 1.Qf4! zz 1...Ke7 2.Qxf7# 1...Kd5/f6 2.Qe4# 1...f5 2.Qd6#" keywords: - 2 flights giving key --- authors: - Benkő, Pál source: Deutsche Schachzeitung date: 1975 distinction: 3rd Honorable Mention algebraic: white: [Kh3, Bd6, Sh4, Ph7, Pg7] black: [Kf6, Ph5] stipulation: "#3" solution: | "1.g7-g8=B ! threat: 2.h7-h8=Q + 2...Kf6-g5 3.Qh8-g7 # 1...Kf6-g7 2.Bd6-e7 zugzwang. 2...Kg7-h8 3.Be7-f6 # 2...Kg7-h6 3.h7-h8=Q # 1...Kf6-g5 2.h7-h8=B zugzwang. 2...Kg5-h6 3.Bd6-f4 #" --- authors: - Benkő, Pál source: Die Schwalbe source-id: 1573 date: 1975 algebraic: white: [Ke3, Rh8, Bf5, Bc3, Pg4, Pe4] black: [Kg5, Bf7] stipulation: "#3" solution: | "1.Bc3-a5 ! threat: 2.Ba5-d8 # 1...Kg5-f6 2.g4-g5 + 2...Kf6-e7 3.Ba5-b4 # 2...Kf6-g7 3.Ba5-c3 # 2...Kf6*g5 3.Ba5-d8 # 2...Kf6-e5 3.Ba5-c7 #" --- authors: - Benkő, Pál source: Chess Life & Review date: 1976-07 algebraic: white: [Ka4, Bc6, Sb7, Pc7, Pb5] black: [Ka7, Ba3] stipulation: "#3" solution: | "1.Sb7-c5 ! threat: 2.Sc5-d7 threat: 3.c7-c8=S # 2.Sc5-a6 threat: 3.c7-c8=S # 1...Ba3*c5 2.c7-c8=Q threat: 3.Qc8-b7 # 3.Qc8-c7 # 2...Bc5-d6 3.Qc8-b7 # 2...Bc5-b6 3.Qc8-b7 # 3.Qc8-a8 # 2...Ka7-b6 3.Qc8-b7 # 3.Qc8-b8 # 1...Ka7-b6 2.Sc5-a6 threat: 3.c7-c8=S #" keywords: - Digits --- authors: - Benkő, Pál source: Chess Life date: 1968-02 algebraic: white: [Kb4, Qb3, Bb5] black: [Kb6, Pb7] stipulation: "#3" solution: | "1.Qb3-f7 ! zugzwang. 1...Kb6-a7 2.Bb5-c6 threat: 3.Qf7*b7 #" keywords: - Digits - Letters comments: - The 1 in 1st with 219124, 219125, 219126, 219127, 219128, 21929, and 160486. --- authors: - Benkő, Pál source: Chess Life & Review date: 1976-07 algebraic: white: [Kb5, Bc6, Sb7, Pc7, Pa3] black: [Ka7, Sa4] stipulation: "#3" solution: | "1.Sb7-d6 ! threat: 2.Sd6-c8 # 1...Sa4-c3 + 2.Kb5-a5 threat: 3.Sd6-c8 # 1...Sa4-b6 2.a3-a4 zugzwang. 2...Sb6-c4 3.Sd6-c8 # 2...Sb6*a4 3.Sd6-c8 # 2...Sb6-d5 3.Sd6-c8 # 2...Sb6-d7 3.Sd6-c8 # 2...Sb6-c8 3.Sd6*c8 # 2...Sb6-a8 3.Sd6-c8 #" keywords: - Digits --- authors: - Benkő, Pál source: Chess Life & Review date: 1976-07 algebraic: white: [Kb3, Qb2, Bb4] black: [Kb5, Pb6] stipulation: "#3" solution: | "1.Qb2-g2 ! zugzwang. 1...Kb5-a6 2.Qg2-a8 + 2...Ka6-b5 3.Qa8-a4 #" keywords: - Digits - Letters --- authors: - Benkő, Pál source: Chess Life & Review date: 1976-07 algebraic: white: [Kf6, Qe2, Rg5, Be6, Pg6] black: [Kf4, Se3] stipulation: "#3" solution: | "1.Rg5-h5 ! zugzwang. 1...Se3-f5 2.Rh5-h3 threat: 3.Qe2-f3 # 2...Sf5-d4 3.Qe2-g4 # 3.Qe2-e5 # 3.Qe2-e3 # 2...Sf5-g3 3.Rh3-h4 # 2...Sf5-h4 3.Qe2-g4 # 3.Qe2-c4 # 3.Qe2-e5 # 3.Qe2-e3 # 1...Se3-c2 2.Rh5-h3 threat: 3.Rh3-f3 # 3.Qe2-g4 # 3.Qe2-f3 # 3.Qe2-e5 # 2...Sc2-e1 3.Qe2-g4 # 3.Qe2-c4 # 3.Qe2-e5 # 3.Qe2-e3 # 2...Sc2-e3 3.Qe2-f3 # 3.Qe2*e3 # 2...Sc2-d4 3.Qe2-g4 # 3.Qe2-e5 # 3.Qe2-e3 # 1...Se3-d1 2.Rh5-h3 threat: 3.Rh3-f3 # 3.Qe2-g4 # 3.Qe2-f3 # 3.Qe2-c4 # 3.Qe2-e5 # 2...Sd1-f2 3.Rh3-f3 # 3.Qe2-f3 # 3.Qe2-e5 # 3.Qe2-e3 # 2...Sd1-e3 3.Qe2-f3 # 3.Qe2*e3 # 2...Sd1-c3 3.Rh3-f3 # 3.Qe2-g4 # 3.Qe2-f3 # 3.Qe2-e5 # 3.Qe2-e3 # 2...Sd1-b2 3.Rh3-f3 # 3.Qe2-g4 # 3.Qe2-f3 # 3.Qe2-e5 # 3.Qe2-e3 # 2.Be6-d5 threat: 3.Qe2-f3 # 2.Be6-g4 threat: 3.Qe2-f3 # 1...Se3-f1 2.Rh5-h3 threat: 3.Rh3-f3 # 3.Qe2-g4 # 3.Qe2-f3 # 3.Qe2-c4 # 3.Qe2-e5 # 2...Sf1-h2 3.Qe2-c4 # 3.Qe2-e5 # 3.Qe2-e3 # 2...Sf1-g3 3.Rh3-h4 # 2...Sf1-e3 3.Qe2-f3 # 3.Qe2*e3 # 2...Sf1-d2 3.Qe2-g4 # 3.Qe2-e5 # 3.Qe2-e3 # 1...Se3-g2 2.Rh5-h3 threat: 3.Rh3-f3 # 3.Qe2-g4 # 3.Qe2-f3 # 3.Qe2-c4 # 3.Qe2-e5 # 2...Sg2-e1 3.Qe2-g4 # 3.Qe2-c4 # 3.Qe2-e5 # 3.Qe2-e3 # 2...Sg2-h4 3.Qe2-g4 # 3.Qe2-c4 # 3.Qe2-e5 # 3.Qe2-e3 # 2...Sg2-e3 3.Qe2-f3 # 3.Qe2*e3 # 1...Se3-g4 + 2.Be6*g4 threat: 3.Qe2-f3 # 1...Se3-d5 + 2.Be6*d5 threat: 3.Qe2-f3 # 1...Se3-c4 2.Rh5-h3 threat: 3.Rh3-f3 # 3.Qe2-g4 # 3.Qe2-f3 # 3.Qe2*c4 # 2...Sc4-a3 3.Rh3-f3 # 3.Qe2-g4 # 3.Qe2-f3 # 3.Qe2-e5 # 3.Qe2-e3 # 2...Sc4-b2 3.Rh3-f3 # 3.Qe2-g4 # 3.Qe2-f3 # 3.Qe2-e5 # 3.Qe2-e3 # 2...Sc4-d2 3.Qe2-g4 # 3.Qe2-e5 # 3.Qe2-e3 # 2...Sc4-e3 3.Qe2-f3 # 3.Qe2*e3 # 2...Sc4-e5 3.Qe2*e5 # 3.Qe2-e3 # 2...Sc4-d6 3.Rh3-f3 # 3.Qe2-g4 # 3.Qe2-f3 # 3.Qe2-e5 # 3.Qe2-e3 # 2...Sc4-b6 3.Rh3-f3 # 3.Qe2-g4 # 3.Qe2-f3 # 3.Qe2-e5 # 3.Qe2-e3 # 2...Sc4-a5 3.Rh3-f3 # 3.Qe2-g4 # 3.Qe2-f3 # 3.Qe2-e5 # 3.Qe2-e3 # 1...Kf4-e4 2.Rh5-h4 # 1...Kf4-g3 2.Rh5-h3 + 2...Kg3-f4 3.Qe2-f3 # 3.Qe2*e3 #" keywords: - Digits --- authors: - Benkő, Pál source: Chess Life & Review date: 1976-07 algebraic: white: [Kf3, Rg7, Bh7, Bg3, Sh4, Sg5] black: [Kf6] stipulation: "#3" solution: | "1.Rg7-f7 + ! 1...Kf6*g5 2.Bh7-g6 zugzwang. 2...Kg5-h6 3.Bg3-f4 #" keywords: - Letters --- authors: - Benkő, Pál source: Chess Life & Review date: 1977 algebraic: white: [Ke8, Pc7, Pa7, Pa4, Pa3] black: [Ka8] stipulation: "#4" solution: | "1.Ke8-d7 ! threat: 2.Kd7-c6 threat: 3.c7-c8=Q + 3...Ka8*a7 4.Qc8-b7 # 2...Ka8*a7 3.c7-c8=R zugzwang. 3...Ka7-a6 4.Rc8-a8 # 2.c7-c8=R + 2...Ka8-b7 3.a7-a8=Q + 3...Kb7-b6 4.Rc8-c6 # 2...Ka8*a7 3.Kd7-c7 zugzwang. 3...Ka7-a6 4.Rc8-a8 # 3.Kd7-c6 zugzwang. 3...Ka7-a6 4.Rc8-a8 # 1...Ka8*a7 2.Kd7-c6 threat: 3.c7-c8=R zugzwang. 3...Ka7-a6 4.Rc8-a8 # 2...Ka7-a8 3.c7-c8=Q + 3...Ka8-a7 4.Qc8-b7 # 2...Ka7-a6 3.c7-c8=Q + 3...Ka6-a7 4.Qc8-b7 # 3...Ka6-a5 4.Qc8-a8 # 1...Ka8-b7 2.c7-c8=R threat: 3.a7-a8=Q + 3...Kb7-b6 4.Rc8-c6 # 2...Kb7*a7 3.Kd7-c7 zugzwang. 3...Ka7-a6 4.Rc8-a8 # 3.Kd7-c6 zugzwang. 3...Ka7-a6 4.Rc8-a8 # 2...Kb7-b6 3.a7-a8=R zugzwang. 3...Kb6-b7 4.Rc8-b8 #" --- authors: - Benkő, Pál source: Chess Life & Review source-id: 1103 date: 1979-12 algebraic: white: [Kh3, Rc1, Ba3] black: [Kh1, Bg1, Ph5, Ph2] stipulation: "#5" twins: b: WSa3 solution: | "a) 1.Ba3-b4 ! threat: 2.Rc1-d1 zugzwang. 2...h5-h4 3.Bb4-e1 zugzwang. 3...Bg1-a7 4.Be1-f2 # 3...Bg1-b6 4.Be1-f2 # 3...Bg1-c5 4.Be1-f2 # 3...Bg1-d4 4.Be1-f2 # 3...Bg1-e3 4.Be1-f2 # 3...Bg1-f2 4.Be1*f2 # 1...h5-h4 2.Bb4-e1 threat: 3.Rc1-d1 zugzwang. 3...Bg1-e3 4.Be1-f2 # 3...Bg1-a7 4.Be1-f2 # 3...Bg1-b6 4.Be1-f2 # 3...Bg1-c5 4.Be1-f2 # 3...Bg1-d4 4.Be1-f2 # 3...Bg1-f2 4.Be1*f2 # 2...Bg1-e3 3.Rc1-b1 threat: 4.Be1-f2 + 4...Be3-c1 5.Rb1*c1 # 3...Kh1-g1 4.Be1*h4 + 4...Be3-c1 5.Rb1*c1 # 4.Be1-g3 + 4...Be3-c1 5.Rb1*c1 # 3...Be3-c1 4.Be1*h4 threat: 5.Rb1*c1 # 4.Be1-g3 threat: 5.Rb1*c1 # 4.Rb1*c1 threat: 5.Be1*h4 # 5.Be1-g3 # 5.Be1-f2 # 5.Be1-a5 # 5.Be1-b4 # 5.Be1-c3 # 5.Be1-d2 # 4...Kh1-g1 5.Be1*h4 # 5.Be1-g3 # 3...Be3-g1 4.Rb1-d1 zugzwang. 4...Bg1-d4 5.Be1-f2 # 4...Bg1-a7 5.Be1-f2 # 4...Bg1-b6 5.Be1-f2 # 4...Bg1-c5 5.Be1-f2 # 4...Bg1-e3 5.Be1-f2 # 4...Bg1-f2 5.Be1*f2 # b) WSa3 1.Rc1-a1! 1....h4 2.Sb1 Bd4 3.Sc3+ Bg1 4.Sd1 B~ 5.S(x)f2#" --- authors: - Benkő, Pál source: Chess Life date: 1980 algebraic: white: [Kh6, Qd3, Rf6, Sh5] black: [Ke5, Ba8, Pf7] stipulation: "#2" solution: | "1...Be4 2.Qd6# 1.Ng7?? (2.Rf5#) 1...Kxf6/Be4 2.Qd6# but 1...Bd5! 1.Ng3! (2.Qd6#) 1...Bd5 2.Qc3#" keywords: - Flight giving key --- authors: - Benkő, Pál source: Chess Life date: 1980 algebraic: white: [Ke1, Qa1, Se2, Sb2] black: [Kc2, Pe3, Pc4] stipulation: "#2" solution: | "1...c3 2.Nd4# 1.Na4?? (2.Qd1#) 1...Kd3 2.Qb1# but 1...Kb3! 1.Nd3! (2.Qd1#) 1...Kxd3 2.Qb1# 1...Kb3 2.Nd4# 1...cxd3 2.Nd4#/Qa2#" keywords: - Flight giving key --- authors: - Benkő, Pál source: Sächsische Zeitung date: 1983 algebraic: white: [Kb6, Qb1, Ra7] black: [Ke8, Rh8, Bh7] stipulation: "#2" solution: | "1...O-O 2.Qxh7# 1.Qb4?? (2.Qe7#) but 1...Kd8! 1.Qb5+?? 1...Kd8 2.Qd7# but 1...Kf8! 1.Qe4+?? 1...Kd8/Kf8 2.Qa8# but 1...Bxe4! 1.Qf5?? (2.Qc8#) 1...Kd8 2.Qd7# but 1...Bxf5! 1.Qxh7?? (2.Ra8#/Qxh8#/Qe7#) 1...Kd8 2.Ra8#/Qxh8#/Qd7# 1...Kf8 2.Ra8#/Qxh8#/Qf7# 1...Rg8 2.Ra8#/Qe7#/Qxg8# 1...Rf8 2.Ra8#/Qe7#/Qd7# but 1...Rxh7! 1.Qh1! (2.Qa8#) 1...O-O 2.Qxh7# 1...Bf5/Be4 2.Qxh8#" keywords: - Model mates - No pawns --- authors: - Benkő, Pál source: Magyar Sakkélet date: 1983-12 algebraic: white: [Kg6, Rf7, Sh6, Se7] black: [Kh8, Bg8] stipulation: "#1" solution: | "1. Rg7? Bf7+ 2. Sxf7# 1. ... B~ 2. R(x)h7(+)# but Black to move 1. ... Bxf7+ 2. Sxf7# 1. ... Bxh7+ 2. Rxh7#" keywords: - Retro --- authors: - Benkő, Pál source: Chess training in 5333 + 1 positions date: 1994 algebraic: white: [Kc2, Qa7, Rh1] black: [Ka2, Qg7, Ba3] stipulation: "#2" solution: | "1...Qf7/Qh8/Qa1 2.Qxf7# 1.Qxg7?? (2.Ra1#/Qg8#/Qf7#/Qa1#) 1...Bb2 2.Qxb2# 1...Bb4/Bc5/Bd6/Be7/Bf8 2.Ra1#/Qb2#/Qa1# but 1...Bc1! 1.Ra1+! 1...Kxa1 2.Qxa3# 1...Qxa1 2.Qf7#" keywords: - Checking key - Flight giving key - Active sacrifice - No pawns --- authors: - Benkő, Pál source: Chess Life date: 1968-02 algebraic: white: [Kg7, Qf6, Bf3, Sh4, Pg5] black: [Kg3, Ph7] stipulation: "#3" solution: | "1.Bf3-h5 ! threat: 2.Qf6-f3 + 2...Kg3*h4 3.Qf3-g4 # 2...Kg3-h2 3.Qf3-g2 #" keywords: - Letters comments: - The S in States with 142019, 219124, 219125, 219126, 219127, 219128, and 219129. --- authors: - Benkő, Pál source: Jornal do Solucionismo date: 2002 algebraic: white: [Ke2, Rc6, Bd2, Sc3, Sc2] black: [Kc4, Pc5] stipulation: "#3" solution: | "1.Rc6-a6 ! zugzwang. 1...Kc4-b3 2.Sc2-a1 + 2...Kb3-c4 3.Ra6-a4 # 2...Kb3-b4 3.Ra6-a4 # 2...Kb3-b2 3.Ra6-a2 #" keywords: - Letters --- authors: - Benkő, Pál source: Chess Life source-id: 78 date: 1968-02 algebraic: white: [Kf7, Rg7, Re4, Be5, Sg3, Pe6] black: [Kf3] stipulation: "#3" solution: | "1.Be5-d4 ! threat: 2.Re4-e2 threat: 3.Re2-f2 # 1...Kf3-g2 2.Sg3-f1 + 2...Kg2-f3 3.Sf1-d2 # 2...Kg2-h3 3.Rg7-g3 # 2...Kg2-h1 3.Rg7-g1 # 3.Re4-h4 # 2...Kg2*f1 3.Rg7-g1 #" keywords: - Letters --- authors: - Benkő, Pál source: Turnier des Vizügyi Sportklubs date: 1976 distinction: 2nd Prize algebraic: white: [Ke1, Rh1, Bb1, Ba3, Sg6, Se8, Ph2, Pa2] black: [Kg8, Rh4] stipulation: "#4" solution: | "1.Sg6-h8 ! threat: 2.Rh1-f1 threat: 3.Rf1-f8 # 2...Rh4-b4 3.Ba3*b4 threat: 4.Rf1-f8 # 2...Rh4-e4 + 3.Bb1*e4 threat: 4.Rf1-f8 # 2...Rh4-f4 3.Rf1*f4 threat: 4.Rf4-f8 # 2.Rh1-g1 + 2...Rh4-g4 3.Rg1*g4 + 3...Kg8*h8 4.Ba3-b2 # 2...Kg8*h8 3.Ba3-b2 + 3...Rh4-d4 4.Bb2*d4 # 1...Rh4*h2 2.0-0 threat: 3.Rf1-f8 # 2...Rh2-h1 + 3.Kg1*h1 threat: 4.Rf1-f8 # 2...Rh2-c2 3.Bb1*c2 threat: 4.Rf1-f8 # 2...Rh2-f2 3.Rf1*f2 threat: 4.Rf2-f8 # 2...Rh2-g2 + 3.Kg1*g2 threat: 4.Rf1-f8 # 1...Rh4-h3 2.Rh1-g1 + 2...Rh3-g3 3.Rg1*g3 + 3...Kg8*h8 4.Ba3-b2 # 2...Kg8*h8 3.Ba3-b2 + 3...Rh3-c3 4.Bb2*c3 # 1...Rh4-a4 2.Rh1-g1 + 2...Ra4-g4 3.Rg1*g4 + 3...Kg8*h8 4.Ba3-b2 # 2...Kg8*h8 3.Ba3-b2 + 3...Ra4-d4 4.Bb2*d4 # 1...Rh4-b4 2.Ba3*b4 threat: 3.Rh1-f1 threat: 4.Rf1-f8 # 3.Rh1-g1 + 3...Kg8*h8 4.Bb4-c3 # 3.0-0 threat: 4.Rf1-f8 # 2...Kg8*h8 3.Rh1-f1 threat: 4.Rf1-f8 # 3.0-0 threat: 4.Rf1-f8 # 1...Rh4-d4 2.Rh1-f1 threat: 3.Rf1-f8 # 2...Rd4-d1 + 3.Ke1*d1 threat: 4.Rf1-f8 # 2...Rd4-d3 3.Bb1*d3 threat: 4.Rf1-f8 # 2...Rd4-b4 3.Ba3*b4 threat: 4.Rf1-f8 # 2...Rd4-d6 3.Ba3*d6 threat: 4.Rf1-f8 # 2...Rd4-f4 3.Rf1*f4 threat: 4.Rf4-f8 # 2...Rd4-e4 + 3.Bb1*e4 threat: 4.Rf1-f8 # 1...Rh4-e4 + 2.Bb1*e4 threat: 3.Rh1-f1 threat: 4.Rf1-f8 # 3.Rh1-g1 + 3...Kg8*h8 4.Ba3-b2 # 3.0-0 threat: 4.Rf1-f8 # 2...Kg8*h8 3.Rh1-f1 threat: 4.Rf1-f8 # 3.0-0 threat: 4.Rf1-f8 # 1...Rh4-f4 2.Rh1-g1 + 2...Rf4-g4 3.Rg1*g4 + 3...Kg8*h8 4.Ba3-b2 # 2...Kg8*h8 3.Ba3-b2 + 3...Rf4-d4 4.Bb2*d4 # 3...Rf4-f6 4.Bb2*f6 # 1...Rh4-g4 2.Rh1-f1 threat: 3.Rf1-f8 # 2...Rg4-g1 3.Rf1*g1 + 3...Kg8*h8 4.Ba3-b2 # 2...Rg4-b4 3.Ba3*b4 threat: 4.Rf1-f8 # 2...Rg4-e4 + 3.Bb1*e4 threat: 4.Rf1-f8 # 2...Rg4-f4 3.Rf1*f4 threat: 4.Rf4-f8 # 2...Rg4-g6 3.Bb1*g6 threat: 4.Rf1-f8 # 2...Kg8*h8 3.Rf1-f8 + 3...Rg4-g8 4.Ba3-b2 # 1...Rh4-h7 2.Rh1-f1 threat: 3.Rf1-f8 # 2...Rh7-e7 + 3.Ba3*e7 threat: 4.Rf1-f8 # 2...Rh7-f7 3.Rf1*f7 threat: 4.Rf7-f8 # 1...Rh4-h6 2.0-0 threat: 3.Rf1-f8 # 2...Rh6-d6 3.Ba3*d6 threat: 4.Rf1-f8 # 2...Rh6-f6 3.Rf1*f6 threat: 4.Rf6-f8 # 2...Rh6-g6 + 3.Bb1*g6 threat: 4.Rf1-f8 # 1...Rh4-h5 2.Rh1-g1 + 2...Rh5-g5 3.Rg1*g5 + 3...Kg8*h8 4.Ba3-b2 # 2...Kg8*h8 3.Ba3-b2 + 3...Rh5-e5 + 4.Bb2*e5 # 1...Kg8*h8 2.Rh1-f1 threat: 3.Rf1-f8 # 2...Rh4-e4 + 3.Bb1*e4 threat: 4.Rf1-f8 # 2...Rh4-f4 3.Rf1*f4 threat: 4.Rf4-f8 # 2...Rh4-g4 3.Rf1-f8 + 3...Rg4-g8 4.Ba3-b2 #" comments: - republished as Benko's Bafflers no.1091 in Chess Life & Review, October 1979 --- authors: - Benkő, Pál source: The British Chess Magazine date: 1975 algebraic: white: [Ka3, Rc5, Sc3, Sa4, Pc6] black: [Ka5, Sc7, Pc4, Pb5, Pa7, Pa6] stipulation: "#3" solution: | "1.Sa4-b2 ! threat: 2.Sb2*c4 # 1...Ka5-b6 2.Sc3-a4 + 2...b5*a4 3.Sb2*a4 # 2...Kb6-a5 3.Sb2*c4 #" keywords: - Letters --- authors: - Benkő, Pál source: The British Chess Magazine date: 1975 algebraic: white: [Kc3, Rf3, Bf6, Bf5, Se4, Pf4] black: [Kd5, Pc6, Pc5, Pc4] stipulation: "#3" solution: | "1.Rf3-d3 + ! 1...c4*d3 2.Bf6-e7 threat: 3.Se4-f6 #" keywords: - Letters --- authors: - Benkő, Pál source: The British Chess Magazine date: 1975 algebraic: white: [Ka3, Rc6, Ra6, Bb7, Pc5, Pc3, Pa5] black: [Kb5, Sa4, Pc4] stipulation: "#3" solution: | "1.Rc6-c8 ! zugzwang. 1...Sa4-b6 2.Ra6*b6 + 2...Kb5*a5 3.Rc8-a8 # 1...Sa4-b2 2.Ra6-b6 + 2...Kb5*a5 3.Rc8-a8 # 2.Ka3*b2 zugzwang. 2...Kb5-a4 3.Bb7-c6 # 1...Sa4*c3 2.Ra6-b6 + 2...Kb5*a5 3.Rc8-a8 # 1...Sa4*c5 2.Bb7-c6 + 2...Kb5*a6 3.Rc8-a8 #" keywords: - Letters --- authors: - Benkő, Pál source: The British Chess Magazine date: 1975 algebraic: white: [Ke3, Rd7, Bd5, Sf4, Se7, Pf7, Pd6, Pd3] black: [Ke5, Pf5] stipulation: "#3" solution: | "1.f7-f8=B ! threat: 2.Bf8-g7 # 1...Ke5-f6 2.Bf8-h6 zugzwang. 2...Kf6-e5 3.Bh6-g7 #" keywords: - Digits --- authors: - Benkő, Pál source: The British Chess Magazine date: 1975 algebraic: white: [Ke2, Qe3, Se5, Pg6, Pf6, Pe4, Pd6, Pc6] black: [Ke6] stipulation: "#3" solution: keywords: - Letters --- authors: - Benkő, Pál source: Chess Life & Review date: 1970 algebraic: white: [Kf4, Bf5, Se3, Sd5, Pe7, Pd4] black: [Kd6, Pf6] stipulation: "#3" solution: | "1.e7-e8=R ! threat: 2.Re8-b8 threat: 3.Rb8-b6 #" keywords: - Letters --- authors: - Benkő, Pál source: Chess Life & Review source-id: 304 date: 1970-01 algebraic: white: [Ke7, Bf6, Bd7, Sf3, Se4, Pe2, Pd2, Pc3] black: [Kf4, Pc6, Pc5, Pc4] stipulation: "#3" solution: | "1.Sf3-e5 ! zugzwang. 1...Kf4*e4 2.e2-e3 zugzwang. 2...Ke4-d5 3.Bd7*c6 #" keywords: - Letters comments: - with 220916, the initials of Valentin Gracia --- authors: - Benkő, Pál source: Chess Life source-id: 55 date: 1967-12 algebraic: white: [Ke1, Qe3, Rf5, Bg3, Be8, Se4, Se2, Pf6, Pe7, Pc3] black: [Ke6, Rc4, Bd5, Pg4, Pd6] stipulation: "#2" solution: | "1...Rxc3/Rc5/Rc6/Rc7/Rc8/Rd4/Rxe4 2.Nd4# 1.Bg6?? (2.e8Q#/Nc5#) 1...Rc7/Rc8/Bc6 2.Nc5# 1...Rxe4/Bxe4 2.e8Q# but 1...Kd7! 1.Bd7+?? 1...Kf7 2.e8Q# but 1...Kxd7! 1.Qd3?? (2.Qxd5#/Ng5#) 1...Kxf5/Rxe4 2.Qxd5# 1...Rc5/Rd4 2.Nd4#/Ng5# 1...Bc6/Bb7/Ba8 2.Ng5# but 1...Bxe4! 1.Qg5?? (2.Nf4#) but 1...Rxe4! 1.Nxd6+?? 1...Re4 2.Nd4# but 1...Be4! 1.Qc5! (2.Qxd5#) 1...dxc5 2.Re5# 1...Rxc5 2.Nd4# 1...Rd4 2.Nxd4#/Qc8# 1...Bxe4 2.Nf4# 1...Bc6/Bb7/Ba8 2.Nf4#/Ng5#" keywords: - Active sacrifice - Scaccografia comments: - Christmas Tree - reprinted as number 10 in My life, games and compositions, 2003 with a black pawn c3. - republished, with a black pawn instead of a white one on c3, as part of a Chess-Word Puzzle, Chess Life & Review, December 1975 --- authors: - Benkő, Pál source: Chess Life date: 1968 algebraic: white: [Ke3, Rh7, Be4, Bb8] black: [Kg4, Pg5] stipulation: "#3" solution: | "1.Bb8-a7 ! zugzwang. 1...Kg4-g3 2.Be4-f3 threat: 3.Ba7-b8 #" --- authors: - Benkő, Pál source: Chess Life date: 1968 algebraic: white: [Kh1, Rh7, Be4, Bb8, Pg3] black: [Kg4, Pg5] stipulation: "#3" solution: | "1.Rh7-h3 ! zugzwang. 1...Kg4*h3 2.Be4-f3 zugzwang. 2...g5-g4 3.Bf3-g2 #" --- authors: - Benkő, Pál source: Chess Life date: 1968 algebraic: white: [Kh8, Rh7, Be4, Bb8, Pg3, Pc4] black: [Kg4, Pg5, Pc6] stipulation: "#3" solution: | "1.Kh8-g7 ! zugzwang. 1...c6-c5 2.Kg7-h6 zugzwang. 2...Kg4-h3 3.Kh6*g5 #" --- authors: - Benkő, Pál source: Chess Life date: 1968 algebraic: white: [Kg6, Rh7, Be4, Bb8, Ph4, Pc4] black: [Kg4, Pg5, Pc6] stipulation: "#3" solution: | "1.Be4-g2 ! zugzwang. 1...c6-c5 2.Rh7-h5 zugzwang. 2...g5*h4 3.Rh5-g5 # 1...g5*h4 2.Rh7-e7 threat: 3.Re7-e4 #" --- authors: - Benkő, Pál source: Chess Life date: 1968 algebraic: white: [Kf2, Rh7, Be4, Bb8, Ph4, Pc5] black: [Kg4, Pg5, Pc6] stipulation: "#3" solution: | "1.Bb8-e5 ! zugzwang. 1...g5*h4 2.Be5-f6 threat: 3.Rh7*h4 # 1...Kg4-h3 2.Be4*c6 zugzwang. 2...g5-g4 3.Bc6-g2 # 2...Kh3-g4 3.Bc6-d7 # 2...g5*h4 3.Bc6-d7 #" --- authors: - Benkő, Pál source: Chess Life date: 1968 algebraic: white: [Kf2, Rh7, Be4, Bb8, Pc4] black: [Kg4, Pg5, Pc6] stipulation: "#3" solution: | "1.Rh7-h8 ! zugzwang. 1...c6-c5 2.Be4-h7 zugzwang. 2...Kg4-h4 3.Bh7-f5 # 2...Kg4-h5 3.Bh7-f5 # 2...Kg4-h3 3.Bh7-f5 #" --- authors: - Benkő, Pál source: Chess Life date: 1968 algebraic: white: [Ke2, Rg7, Bd4, Ba8, Pb4] black: [Kf4, Pf5, Pb6] stipulation: "#3" solution: | "1.Ba8-h1 ! zugzwang. 1...b6-b5 2.Rg7-g2 zugzwang. 2...Kf4-e4 3.Rg2-g4 #" --- authors: - Benkő, Pál source: Chess Life date: 1968 algebraic: white: [Ke2, Rg7, Bd4, Ba8, Pf3, Pb4] black: [Kf4, Pf5, Pb6] stipulation: "#3" solution: | "1.Rg7-g6 ! threat: 2.Bd4-e3 + 2...Kf4-e5 3.f3-f4 #" --- authors: - Benkő, Pál source: Chess Life date: 1968 algebraic: white: [Ke6, Rg7, Bd4, Ba8, Pf3, Pb4] black: [Kf4, Pf5, Pb6] stipulation: "#3" solution: | "1.Rg7-g2 ! zugzwang. 1...b6-b5 2.Ke6-d5 zugzwang. 2...Kf4*f3 3.Kd5-e5 #" --- authors: - Benkő, Pál source: Chess Life date: 1968 algebraic: white: [Kh3, Rg7, Bd4, Ba8, Pf3, Pb4] black: [Kf4, Pf5, Pb6] stipulation: "#3" solution: | "1.Kh3-h4 ! threat: 2.Rg7-e7 threat: 3.Bd4-e3 # 1...b6-b5 2.Ba8-e4 zugzwang. 2...f5*e4 3.Rg7-f7 #" --- authors: - Benkő, Pál source: Chess Life date: 1968 algebraic: white: [Kh3, Rg7, Bd4, Ba8, Ph5, Pb4] black: [Kf4, Pf5] stipulation: "#3" solution: | "1.Bd4-f2 ! zugzwang. 1...Kf4-e5 2.Rg7-e7 + 2...Ke5-f4 3.Bf2-e3 # 2...Ke5-d6 3.Bf2-c5 # 2...Ke5-f6 3.Bf2-h4 #" --- authors: - Benkő, Pál source: Chess Life date: 1968 algebraic: white: [Kf7, Rg7, Bd4, Ba8] black: [Kf4, Pf5] stipulation: "#3" solution: | "1.Bd4-c5 ! zugzwang. 1...Kf4-e5 2.Rg7-g3 zugzwang. 2...Ke5-f4 3.Bc5-d6 # 2...f5-f4 3.Rg3-g5 #" --- authors: - Benkő, Pál source: Chess Life date: 1968-02 algebraic: white: [Kg3, Qg2, Bg4] black: [Kg5, Pg6] stipulation: "#3" solution: | "1.Qg2-b2 ! zugzwang. 1...Kg5-h6 2.Qb2-h8 + 2...Kh6-g5 3.Qh8-h4 #" keywords: - Digits - Letters comments: - I for International with 142019, 219125, 219126, 219127, 219128, 219129, and 160486. --- authors: - Benkő, Pál source: Chess Life date: 1968-02 algebraic: white: [Kc3, Qa3, Bb7, Sb3, Sa5] black: [Kb5, Sa7, Sa6, Pc7, Pa4] stipulation: "#3" solution: | "1.Sa5-c4 ! threat: 2.Sb3-d4 # 1...a4*b3 2.Qa3-a5 # 1...Sa6-b4 2.Qa3*b4 # 1...Sa7-c6 2.Qa3*a4 + 2...Kb5*a4 3.Bb7*c6 # 1...c7-c5 2.Qa3*c5 + 2...Sa6*c5 3.Sb3-d4 #" keywords: - Letters comments: - The E in Endgame with 142019, 219124, 219126, 219127, 219128, 219129, and 160486. - In 1978 with 355539, last name letter initial of Max Euwe for 77th birthday --- authors: - Benkő, Pál source: Chess Life date: 1968-02 algebraic: white: [Kg7, Rf3, Bg5, Bf7, Sf6, Pf4] black: [Kf5, Ph6] stipulation: "#3" solution: | "1.Rf3-e3 ! threat: 2.Bf7-e6 # 2.Bf7-g6 # 2.Re3-e5 # 1...h6*g5 2.Bf7-e6 + 2...Kf5*f4 3.Sf6-d5 #" keywords: - Letters comments: - The P in Problem with 142019, 219124, 219125, 219127, 219128, 219129, and 160486. --- authors: - Benkő, Pál source: Chess Life date: 1968-02 algebraic: white: [Kb6, Rb2, Ba3, Sc2] black: [Ka4, Pc6, Pa5] stipulation: "#3" solution: | "1.Ba3-b4 ! zugzwang. 1...c6-c5 2.Bb4*a5 zugzwang. 2...c5-c4 3.Rb2-b4 # 1...a5*b4 2.Rb2*b4 #" keywords: - Letters comments: - The C in Composing with 142019, 219124, 219125, 219126, 219128, 219129, and 160486. --- authors: - Benkő, Pál source: Chess Life date: 1968-02 algebraic: white: [Kg6, Rh6, Rf3, Bf4, Sh2] black: [Kg2, Pf5] stipulation: "#3" solution: | "1.Kg6-h5 ! threat: 2.Rh6-g6 + 2...Kg2-h1 3.Rf3-f1 # 1...Kg2-h1 2.Rf3-g3 zugzwang. 2...Kh1*h2 3.Kh5-g5 # 3.Kh5-g6 #" keywords: - Letters comments: - The C in Contest with 142019, 219124, 219125, 219126, 219127, 219129, and 160486. --- authors: - Benkő, Pál source: Chess Life source-id: 76 date: 1968-02 algebraic: white: [Kc7, Rb3, Ba4, Sc5, Sa6, Pc6] black: [Ka5, Sc4, Sa7] stipulation: "#3" solution: | "1.Rb3-b4 ! zugzwang. 1...Sa7-b5 + 2.Rb4*b5 # 1...Sc4-a3 2.Kc7-b7 threat: 3.Sc5-b3 # 2.Sc5-b3 + 2...Ka5*a6 3.Rb4-b6 # 2.Sc5-b7 + 2...Ka5*a6 3.Rb4-b6 # 1...Sc4-b2 2.Sc5-b7 + 2...Ka5*a6 3.Rb4-b6 # 2.Kc7-b7 threat: 3.Sc5-b3 # 2.Sc5-b3 + 2...Ka5*a6 3.Rb4-b6 # 2.Rb4*b2 zugzwang. 2...Sa7-b5 + 3.Rb2*b5 # 2...Sa7*c6 3.Rb2-b5 # 2...Sa7-c8 3.Rb2-b5 # 1...Sc4-d2 2.Kc7-b7 zugzwang. 2...Sd2-b1 3.Sc5-b3 # 2...Sd2-f1 3.Sc5-b3 # 2...Sd2-f3 3.Sc5-b3 # 2...Sd2-e4 3.Sc5-b3 # 2...Sd2-c4 3.Sc5-b3 # 2...Sd2-b3 3.Sc5*b3 # 2...Sa7-b5 3.Rb4*b5 # 2...Sa7*c6 3.Rb4-b5 # 2...Sa7-c8 3.Rb4-b5 # 2.Sc5-b7 + 2...Ka5*a6 3.Rb4-b6 # 1...Sc4-e3 2.Sc5-b7 + 2...Ka5*a6 3.Rb4-b6 # 2.Kc7-b7 threat: 3.Sc5-b3 # 2.Sc5-b3 + 2...Ka5*a6 3.Rb4-b6 # 1...Sc4-e5 2.Sc5-b3 + 2...Ka5*a6 3.Rb4-b6 # 2.Kc7-b7 threat: 3.Sc5-b3 # 2.Sc5-b7 + 2...Ka5*a6 3.Rb4-b6 # 1...Sc4-d6 2.Sc5-b3 + 2...Ka5*a6 3.Rb4-b6 # 1...Sc4-b6 2.Sc5-b3 + 2...Ka5*a6 3.Rb4*b6 # 2.Kc7-b7 threat: 3.Sc5-b3 # 2.Sc5-b7 + 2...Ka5*a6 3.Rb4*b6 # 2.Rb4*b6 zugzwang. 2...Sa7-b5 + 3.Rb6*b5 # 2...Sa7*c6 3.Rb6-b5 # 2...Sa7-c8 3.Rb6-b5 # 1...Sa7*c6 2.Rb4-b5 # 1...Sa7-c8 2.Rb4-b5 #" keywords: - Letters comments: - The U in United with 142019, 219124, 219125, 219126, 219127, 219128, and 160486. --- authors: - Benkő, Pál source: Chess Life date: 1968 algebraic: white: [Kc6, Rb2, Bc5, Sc4, Sa5, Pa3] black: [Ka4, Sc3, Sa6] stipulation: "#3" solution: | "1.Rb2-b4 + ! 1...Sa6*b4 + 2.Bc5*b4 threat: 3.Sc4-b2 # 3.Sc4-b6 # 2...Sc3-d1 3.Sc4-b6 # 2...Sc3-d5 3.Sc4-b2 #" keywords: - Letters --- authors: - Benkő, Pál source: Chess Life source-id: 77 date: 1968-02 algebraic: white: [Kb6, Rc3, Bb2, Pa2] black: [Kb4, Pc6, Pa5] stipulation: "#3" solution: | "1.Rc3*c6 ! threat: 2.Rc6-c3 zugzwang. 2...a5-a4 3.a2-a3 # 2...Kb4-a4 3.Rc3-c4 # 2.Rc6-d6 threat: 3.Rd6-d4 # 1...a5-a4 2.Rc6-d6 threat: 3.Rd6-d4 #" keywords: - Letters --- authors: - Benkő, Pál source: Chess Life source-id: 105 date: 1968-05 algebraic: white: [Kg4, Rh5, Bg8, Bd4, Sg2, Pe2] black: [Kg6, Bg5, Ph6, Pe4] stipulation: "#3" solution: | "1.Bd4-h8 ! threat: 2.e2-e3 zugzwang. 2...Bg5-f4 3.Sg2*f4 # 3.Sg2-h4 # 2...Bg5*e3 3.Sg2-h4 # 2...Bg5-h4 3.Sg2*h4 # 3.Sg2-f4 # 2...Bg5-d8 3.Sg2-f4 # 2...Bg5-e7 3.Sg2-f4 # 2...Bg5-f6 3.Sg2-f4 # 1...e4-e3 2.Kg4-f3 zugzwang. 2...Kg6-f5 3.Sg2-h4 # 2...Bg5-f4 3.Sg2*f4 # 2...Bg5-h4 3.Sg2-f4 # 2...Bg5-d8 3.Sg2-f4 # 2...Bg5-e7 3.Sg2-f4 # 2...Bg5-f6 3.Sg2-f4 # 2...Kg6*h5 3.Bg8-f7 #" --- authors: - Benkő, Pál source: Chess Life & Review date: 1970-01 algebraic: white: [Ke7, Qe3, Rd6] black: [Ke5, Se4, Pe6] stipulation: "#3" solution: | "1.Rd6-d8 ! zugzwang. 1...Ke5-f5 2.Rd8-g8 zugzwang. 2...Se4-c3 3.Rg8-g5 # 2...Se4-d2 3.Rg8-g5 # 2...Se4-f2 3.Rg8-g5 # 2...Se4-g3 3.Rg8-g5 # 2...Se4-g5 3.Rg8*g5 # 2...Se4-f6 3.Rg8-g5 # 2...Se4-d6 3.Rg8-g5 # 2...Se4-c5 3.Rg8-g5 # 2...Kf5-e5 3.Rg8-g5 # 2...e6-e5 3.Qe3-f3 #" keywords: - Digits --- authors: - Benkő, Pál source: Chess Life & Review date: 1970 algebraic: white: [Ke7, Rd6, Rd3, Sf4, Se5, Pf6, Pe3] black: [Kf5] stipulation: "#3" solution: | "1.Sf4-e6 ! threat: 2.Rd3-d4 zugzwang. 2...Kf5*e5 3.Rd6-d5 # 1...Kf5*e5 2.Rd6-d5 + 2...Ke5-e4 3.Se6-g5 # 1...Kf5-e4 2.Se6-g7 zugzwang. 2...Ke4*e5 3.Rd6-e6 #" keywords: - Digits --- authors: - Benkő, Pál source: Chess Life & Review date: 1970-01 algebraic: white: [Ke7, Qd3, Rf6, Bd7] black: [Ke5, Sd4] stipulation: "#3" solution: | "1.Rf6-g6 ! zugzwang. 1...Sd4-c6 + 2.Bd7*c6 threat: 3.Qd3-e4 # 1...Sd4-b3 2.Rg6-g4 threat: 3.Rg4-e4 # 3.Qd3-f5 # 3.Qd3-e4 # 3.Qd3-d6 # 2...Sb3-d2 3.Qd3-f5 # 3.Qd3-b5 # 3.Qd3-d6 # 3.Qd3-d4 # 2...Sb3-d4 3.Qd3-e4 # 3.Qd3*d4 # 2...Sb3-c5 3.Qd3-f5 # 3.Qd3-d6 # 3.Qd3-d4 # 1...Sd4-c2 2.Rg6-g4 threat: 3.Rg4-e4 # 3.Qd3-f5 # 3.Qd3-e4 # 3.Qd3-b5 # 3.Qd3-d6 # 2...Sc2-e3 3.Rg4-e4 # 3.Qd3-e4 # 3.Qd3-d6 # 3.Qd3-d4 # 2...Sc2-d4 3.Qd3-e4 # 3.Qd3*d4 # 2...Sc2-b4 3.Rg4-e4 # 3.Qd3-f5 # 3.Qd3-e4 # 3.Qd3-d6 # 3.Qd3-d4 # 2...Sc2-a3 3.Rg4-e4 # 3.Qd3-f5 # 3.Qd3-e4 # 3.Qd3-d6 # 3.Qd3-d4 # 2.Bd7-c6 threat: 3.Qd3-e4 # 2.Bd7-f5 threat: 3.Qd3-e4 # 1...Sd4-e2 2.Rg6-g4 threat: 3.Rg4-e4 # 3.Qd3-f5 # 3.Qd3-e4 # 3.Qd3-b5 # 3.Qd3-d6 # 2...Se2-g3 3.Qd3-b5 # 3.Qd3-d6 # 3.Qd3-d4 # 2...Se2-f4 3.Rg4-g5 # 2...Se2-d4 3.Qd3-e4 # 3.Qd3*d4 # 2...Se2-c3 3.Qd3-f5 # 3.Qd3-d6 # 3.Qd3-d4 # 1...Sd4-f3 2.Rg6-g4 threat: 3.Rg4-e4 # 3.Qd3-f5 # 3.Qd3-e4 # 3.Qd3-b5 # 3.Qd3-d6 # 2...Sf3-d2 3.Qd3-f5 # 3.Qd3-b5 # 3.Qd3-d6 # 3.Qd3-d4 # 2...Sf3-h4 3.Rg4-e4 # 3.Qd3-e4 # 3.Qd3-b5 # 3.Qd3-d6 # 3.Qd3-d4 # 2...Sf3-g5 3.Qd3-f5 # 3.Qd3-b5 # 3.Qd3-d6 # 3.Qd3-d4 # 2...Sf3-d4 3.Qd3-e4 # 3.Qd3*d4 # 1...Sd4-f5 + 2.Bd7*f5 threat: 3.Qd3-e4 # 1...Sd4-e6 2.Rg6-g4 threat: 3.Qd3-e4 # 2...Se6-c5 3.Qd3-f5 # 3.Qd3-d6 # 3.Qd3-d4 # 2...Se6-f4 3.Rg4-g5 # 2...Se6-g5 3.Qd3-f5 # 3.Qd3-b5 # 3.Qd3-d6 # 3.Qd3-d4 # 1...Sd4-b5 2.Rg6-g4 threat: 3.Rg4-e4 # 3.Qd3-f5 # 3.Qd3-e4 # 3.Qd3*b5 # 2...Sb5-a3 3.Rg4-e4 # 3.Qd3-f5 # 3.Qd3-e4 # 3.Qd3-d6 # 3.Qd3-d4 # 2...Sb5-c3 3.Qd3-f5 # 3.Qd3-d6 # 3.Qd3-d4 # 2...Sb5-d4 3.Qd3-e4 # 3.Qd3*d4 # 2...Sb5-d6 3.Qd3*d6 # 3.Qd3-d4 # 2...Sb5-c7 3.Rg4-e4 # 3.Qd3-f5 # 3.Qd3-e4 # 3.Qd3-d6 # 3.Qd3-d4 # 2...Sb5-a7 3.Rg4-e4 # 3.Qd3-f5 # 3.Qd3-e4 # 3.Qd3-d6 # 3.Qd3-d4 # 1...Ke5-d5 2.Rg6-g5 # 1...Ke5-f4 2.Rg6-g4 + 2...Kf4-e5 3.Qd3-e4 # 3.Qd3*d4 #" keywords: - Digits --- authors: - Benkő, Pál source: Chess Life & Review source-id: 299 date: 1970-01 algebraic: white: [Ke2, Qe3, Se5, Pf6, Pe4, Pd6] black: [Ke6, Pg6, Pc6] stipulation: "#3" solution: | "1.Qe3-a7 ! threat: 2.Qa7-e7 # 1...Ke6*e5 2.Ke2-e3 threat: 3.Qa7-e7 #" keywords: - Letters comments: - with 141434 and 409374, initials of Isador S. Turover --- authors: - Benkő, Pál source: Chess Life & Review source-id: 300 date: 1970-01 algebraic: white: [Kf6, Re2, Bf2, Se3, Pg2] black: [Kf4, Pg6, Pe6, Pe5, Pe4] stipulation: "#3" solution: | "1.Bf2-g1 ! threat: 2.Bg1-h2 # 1...Kf4-g3 2.Kf6*g6 zugzwang. 2...Kg3-h4 3.Bg1-f2 # 2...Kg3-f4 3.Bg1-h2 #" keywords: - Letters comments: - with 220914 and 220915, the initials of Edmund B. Edmondson --- authors: - Benkő, Pál source: Chess Life & Review source-id: 301 date: 1970-01 algebraic: white: [Kb3, Bb7, Sc4, Sa4, Pa6, Pa5, Pa3] black: [Kb5, Pc6, Pa7] stipulation: "#3" solution: | "1.Bb7-c8 ! threat: 2.Bc8-b7 zugzwang. 2...c6-c5 3.Sa4-c3 # 1...c6-c5 2.Bc8-d7 + 2...Kb5*a6 3.Sa4*c5 #" keywords: - Letters comments: - with 220913 and 220915, the initials of Edmund B. Edmondson --- authors: - Benkő, Pál source: Chess Life & Review source-id: 302 date: 1970-01 algebraic: white: [Kg6, Rf2, Bg2, Sf3, Ph2] black: [Kg4, Ph6, Pf6, Pf5, Pf4] stipulation: "#3" solution: | "1.Bg2-f1 ! threat: 2.Bf1-d3 threat: 3.Bd3*f5 #" keywords: - Letters comments: - with 220913 and 220914, the initials of Edmund B. Edmondson --- authors: - Benkő, Pál source: Chess Life & Review source-id: 303 date: 1970-01 algebraic: white: [Kb6, Rh6, Rc5, Bg5, Sf4, Se3] black: [Kd4] stipulation: "#3" solution: | "1.Rh6-h3 ! threat: 2.Bg5-f6 + 2...Kd4-e4 3.Rc5-c4 # 2.Se3-c2 + 2...Kd4-e4 3.Rh3-e3 # 2.Se3-f5 + 2...Kd4-e4 3.Rh3-e3 # 1...Kd4-e4 2.Bg5-f6 threat: 3.Rc5-c4 #" keywords: - Letters comments: - with 209212, the initials of Valentin Gracia --- authors: - Benkő, Pál source: Chess Life & Review source-id: 305 date: 1970-01 algebraic: white: [Ke2, Rd5, Be6, Be5, Pe3] black: [Ke4] stipulation: "#3" solution: | "1.Ke2-f1 ! zugzwang. 1...Ke4-f3 2.Be6-f5 zugzwang. 2...Kf3*e3 3.Rd5-d3 # 1...Ke4*e3 2.Be6-f5 threat: 3.Rd5-d3 #" keywords: - Digits --- authors: - Benkő, Pál source: Chess Life & Review source-id: 306 date: 1970-01 algebraic: white: [Ke6, Rd5, Rd2, Bf3, Se4, Pf5, Pe2] black: [Kf4] stipulation: "#3" solution: | "1.f5-f6 ! threat: 2.Rd5-f5 + 2...Kf4-e3 3.Rd2-d3 # 1...Kf4-e3 2.Rd2-d3 + 2...Ke3-f4 3.Rd5-f5 #" keywords: - Digits --- authors: - Benkő, Pál source: Chess Life & Review source-id: 307 date: 1970-01 algebraic: white: [Kf5, Rg6, Rg2, Bh6, Bh3, Sg4, Pf4] black: [Kf3] stipulation: "#3" solution: | "1.Sg4-e3 ! threat: 2.Rg6-g3 # 1...Kf3*e3 2.Rg6-d6 zugzwang. 2...Ke3-f3 3.Rd6-d3 # 1.Rg2-h2 ! threat: 2.Bh3-f1 threat: 3.Rh2-h3 #" keywords: - Digits --- authors: - Benkő, Pál source: Chess Life & Review source-id: 308 date: 1970-01 algebraic: white: [Kb2, Rc3, Ra2, Bc4] black: [Kb4, Pc5, Pb6, Pa5] stipulation: "#3" solution: | "1.Ra2-a4 + ! 1...Kb4*a4 2.Rc3-b3 threat: 3.Bc4-b5 #" keywords: - Digits --- authors: - Benkő, Pál source: Sakkélet date: 1994 algebraic: white: [Kg5, Sg6, Sf6, Pe7, Pd7] black: [Ke6, Bc8] stipulation: "#2" solution: | "1.dxc8N?? (2.e8Q#) but 1...Kf7! 1.d8Q?? (2.e8Q#/Qd5#) 1...Kf7 2.Qg8# 1...Bb7 2.e8Q# but 1...Bd7! 1.e8R+?? 1...Kf7 2.Re7# but 1...Kd6! 1.e8N?? (2.d8N#) but 1...Bxd7! 1.dxc8Q+! 1...Kd6 2.e8N# 1...Kf7 2.Qg8#" keywords: - Checking key --- authors: - Benkő, Pál source: Magyar Sakkélet date: 1970 distinction: 6th Comm. algebraic: white: [Kc7, Qb8, Rg8, Rf7, Bc1, Sg3, Sc6, Pf5, Pf2, Pe6] black: [Kf4, Rd2, Be2, Sd4, Sb1, Ph4, Pf3, Pd6, Pc2, Pb5, Pa7] stipulation: "#2" solution: | "1...Nxe6+[a] 2.fxe6#[A] 1...Nc3/Na3 2.Bxd2# 1...d5 2.Kc8#/Kb7#/Kd7#/Kd8# 1...Nxf5 2.Rxf5# 1.Qd8?? (2.Qxd6#/Qg5#/Qxh4#) 1...Nxe6+[a] 2.fxe6#[A] 1...hxg3 2.Qh4# but 1...Nxc6[b]! 1.Qxa7? (2.Qxd4#) 1...Nxe6+[a] 2.fxe6#[A] 1...Nxc6[b]/Nb3 2.Qe3#[B] 1...Nc3 2.Bxd2# but 1...Bd3! 1.Kxd6! (2.Kd5#/Kd7#/Ke7#/Kc5#) 1...Nxe6+[a] 2.Kxe6#[C] 1...Nxc6+[b] 2.Kxc6#[D] 1...Nc3 2.Kd7#/Ke7#/Kc5#/Bxd2# 1...hxg3 2.Kd5# 1...Nxf5+ 2.Kc5# 1...Nb3+ 2.Ke7# 1...Bc4 2.Kd7#/Ke7#/Kc5#" keywords: - Changed mates --- authors: - Benkő, Pál source: Sakkélet date: 1994 algebraic: white: [Kg5, Sg6, Sf6, Pe7, Pd7] black: [Ke6, Rf7] stipulation: "#2" solution: | "1.e8Q+?? 1...Re7 2.Qxe7# but 1...Kd6! 1.d8Q! (2.Qd7#/Qd5#/Qb6#) 1...Rxf6 2.e8Q# 1...Rf8/Rg7/Rh7 2.Qd5# 1...Rxe7 2.Qd5#/Qxe7#" keywords: - Flight taking key - Switchback --- authors: - Benkő, Pál source: Sakkélet date: 1994 algebraic: white: [Kg5, Sg6, Sf6, Pe7, Pd7] black: [Ke6, Rf8] stipulation: "#2" solution: "1.exf8B! (2.d8N#)" keywords: - Flight taking key --- authors: - Benkő, Pál - Sonnenfeld, Felix Alexander source: Die Schwalbe date: 1977 algebraic: white: [Kh4, Rg5, Bh7, Sb5, Pd2] black: [Kc4, Re6, Re2, Pc5] stipulation: "h#2" twins: b: Moce c5 f4 solution: | "a) 1.R2e5 d3+ 2.Kd5 Be4# b) 1.R6e4 Sa3+ 2.Kd3 Rd5#" --- authors: - Benkő, Pál source: Berliner Morgenpost date: 1970 algebraic: white: [Ke2, Rd1, Sc1] black: [Ka1, Se4] stipulation: "h#3" solution: | "1.Kb2! Rd5 2.Kc3 Rc5+ 3.Kd4 Sb3#" comments: - | Published also in: feenschach 194, 07-08/2012, p.435 --- authors: - Benkő, Pál source: Magyar Sakkélet date: 1972 algebraic: white: [Kd5, Bg3, Be2, Sf4] black: [Kg1] stipulation: "#4" solution: | "1.Kd5-e5 ! threat: 2.Sf4-h3 + 2...Kg1-g2 3.Ke5-f4 zugzwang. 3...Kg2*h3 4.Be2-f1 # 3...Kg2-h1 4.Be2-f3 # 2...Kg1-h1 3.Be2-f3 # 1.Kd5-e4 ! threat: 2.Sf4-h3 + 2...Kg1-g2 3.Ke4-f4 zugzwang. 3...Kg2*h3 4.Be2-f1 # 3...Kg2-h1 4.Be2-f3 # 2...Kg1-h1 3.Be2-f3 #" --- authors: - Benkő, Pál source: Chess Life date: 1967 distinction: Special HM algebraic: white: [Ke3, Be8, Pg4, Pd7, Pc7] black: [Ke6] stipulation: "#3" solution: | "1.d7-d8=Q ! threat: 2.c7-c8=Q + 2...Ke6-e5 3.Qd8-d4 # 3.Qc8-f5 # 2.c7-c8=S threat: 3.Qd8-d6 # 2.c7-c8=B + 2...Ke6-e5 3.Qd8-d4 # 1...Ke6-e5 2.c7-c8=S threat: 3.Qd8-d6 #" --- authors: - Benkő, Pál source: Füles source-id: Version date: 1972 distinction: Commendation algebraic: white: [Ka8, Qe4, Rh7, Re6, Bh2, Be8, Sc4, Sb8, Pd2, Pc7, Pc5] black: [Kc8, Qb3, Ra6, Ra5, Ba4, Sh8, Pb7, Pa7] stipulation: "#2" solution: | "1.Qe4-c6 ! threat: 2.Be8-d7 # 2.Sc4-d6 # 1...Qb3*c4 2.Be8-d7 # 2.Qc6*b7 # 1...Qb3-g3 2.Be8-d7 # 2.Qc6*b7 # 1...Qb3-d3 2.Qc6*b7 # 1...Ba4*c6 2.Sc4-d6 # 1...Ra6*c6 2.Be8-d7 # 1...Sh8-f7 2.Be8-d7 #" comments: - see the whole story here http://en.chessbase.com/post/che-problems-solutions-and-a-bonus-from-pal-benko --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 1124 date: 1975-03 distinction: 1st Prize algebraic: white: [Kc5, Be6, Pb6, Pb3] black: [Ka6, Ra8, Pa7] stipulation: + solution: | "1.b6-b7 ? Ka6*b7 ! 2.Be6-d5+ Kb7-b8 3.Bd5-e4 a7-a5 4.Be4*a8 a5-a4 ! 1...Ra8-b8 ? 2.Kc5-c6 Rb8*b7 3.Be6-c4+ 1.Be6-c4+ ! Ka6-a5 2.b6-b7 ! Ra8-f8 3.Bc4-d3 ! Rf8-g8 4.b3-b4+ ! Ka5-a4 5.Bd3-c2+ Ka4-a3 6.b4-b5 Rg8-f8 7.Bc2-d1 Rf8-g8 8.Bd1-g4 ! Rg8-b8 9.Kc5-c6 ! Ka3-b4 10.Bg4-e2 ! Rb8-e8 11.Kc6-d7 Re8-f8 12.Kd7-c7 8...Ka3-a4 9.Bg4-c8 Rg8-g5+ 10.Kc5-c4 Rg5*b5 11.Bc8-d7 4.Bd3-c2 ? Rg8-g5+ 4.Bd3-f5 ? Rg8-b8 5.Bf5-c8 a7-a6 4.Bd3-e4 ? Ka5-a6 5.b3-b4 Rg8-e8 6.Kc5-c6 Re8-e6+ ! 7.Kc6-c7 Re6-e7+ 3...a7-a6 4.b3-b4+ Ka5-a4 5.Bd3*a6 3.Kc5-c6 ! {dual} Ka5-b4 4.Kc6-c7 a7-a5 5.Bc4-e6 Rf8-h8 6.Be6-c8 Rh8-h7+ 7.Bc8-d7 Rh7-h8 8.Bd7-a4 ! 2...Ra8-h8 3.Bc4-e2 2...Ra8-b8 3.Bc4-b5 Rb8*b7 4.b3-b4# 2...Ra8-e8 3.b3-b4+ Ka5-a4 4.Bc4-b5+" keywords: - Dual --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 1275 date: 1977-12 distinction: 1st Prize algebraic: white: [Kf1, Rc6, Pg6, Pe6] black: [Ka7, Rd3, Bd1] stipulation: + solution: | "1.g6-g7 ? Rd3-g3 2.e6-e7 Bd1-h5 3.Rc6-g6 Rg3*g6 4.e7-e8=Q Rg6-f6+ 5.Kf1-e1 Bh5*e8 6.g7-g8=Q Be8-d7 ! 5.Kf1-g1 Bh5*e8 6.g7-g8=Q Rf6-g6+ 3...Bh5*g6 4.Kf1-f2 1...Rd3-d8 2.Rc6-d6 Rd8-g8 3.Rd6*d1 Rg8*g7 4.Rd1-d7+ Rg7*d7 5.e6*d7 1.Rc6-c7+ ? Ka7-b6 2.e6-e7 Rd3-e3 3.g6-g7 Kb6*c7 4.g7-g8=Q Bd1-e2+ 5.Kf1-f2 Re3*e7 2.g6-g7 Rd3-g3 3.e6-e7 Bd1-h5 1.e6-e7 ! Rd3-e3 2.g6-g7 Bd1-b3 3.Rc6-c7+ ! Ka7-a6 ! 4.Kf1-f2 ! Re3-e4 5.Rc7-c6+ ! Ka6-a5 6.Rc6-e6 ! Re4*e6 7.g7-g8=Q Re6-f6+ 8.Kf2-g1 ! Bb3*g8 9.e7-e8=Q Bg8-d5 { eg } 10.Qe8-d8+ 8.Kf2-e3 ? Bb3*g8 9.e7-e8=Q Rf6-e6+ 8.Kf2-g3 ? Bb3*g8 9.e7-e8=Q Rf6-f1 ! 10.Qe8-e5+ Ka5-b4 11.Kg3-g2 Bg8-c4 9...Bg8-e6 ? 10.Qe8-d8+ 8.Kf2-g2 ? Bb3*g8 9.e7-e8=Q Bg8-d5+ 10.Kg2-g1 Rf6-b6 5.Kf2-f3 ? Re4-e1 6.Rc7-c6+ Ka6-a5 7.Rc6-e6 Re1*e6 8.g7-g8=Q Re6-f6+ 9.Kf3-g3 Bb3*g8 10.e7-e8=Q Rf6-f1 3...Ka7-b6 4.Rc7-c3 ! 3.Rc6-e6 ? Re3*e6 4.g7-g8=Q Bb3-c4+ ! 5.Kf1-f2 Re6-e2+ 6.Kf2-f3 Bc4*g8 7.Kf3*e2 Bg8-f7 4...Re6-f6+ ? 5.Kf1-g1 ! Bb3*g8 6.e7-e8=Q 3...Bb3*e6 ? 4.Kf1-f2 2.Rc6-c7+ ? Ka7-b6 3.g6-g7 Kb6*c7 4.g7-g8=Q Bd1-e2+ 5.Kf1-f2 Re3*e7 1...Rd3-f3+ 2.Kf1-e1 ! Rf3-e3+ 3.Ke1*d1 Re3*e7 4.Rc6-c5 ! Ka7-b6 5.Rc5-g5 Re7-g7 6.Kd1-e2 Kb6-c6 7.Ke2-f3 Kc6-d6 8.Kf3-g4 Kd6-e7 9.Kg4-h5 Ke7-f6 10.Kh5-h6 9...Ke7-f8 10.Kh5-h6 Rg7-a7 11.Rg5-b5 4.Rc6-f6 ? Re7-e5 ! 5.g6-g7 Re5-g5 6.Rf6-f7+ Ka7-b6 7.Kd1-e2 Kb6-c6 8.Ke2-f3 Kc6-d6 9.Kf3-f4 Kd6-e6 4...Re7-e3 ? 5.Kd1-d2 Re3-g3 6.Kd2-e2 Ka7-b7 7.Ke2-f2 Rg3-g5 8.Kf2-f3 Kb7-c7 9.Kf3-f4 Rg5-g1 10.Kf4-f5 Kc7-d7 11.Rf6-f7+ 4...Re7-e4 ? 5.Rf6-f7+ Ka7-b6 6.g6-g7 Re4-g4 7.Kd1-e2 Kb6-c6 8.Ke2-f3 Rg4-g1 9.Kf3-f4 Kc6-d6 10.Kf4-f5 4.Kd1-d2 ? Re7-e4 ! 4...Re7-e5 ? 5.Rc6-c7+ Ka7-b6 6.Rc7-h7 Kb6-c6 7.g6-g7 Re5-g5 8.Kd2-e3 Kc6-d6 9.Ke3-f4 Rg5-g1 10.Kf4-f5 2.Kf1-g1 ? Rf3-g3+ 2.Kf1-g2 ? Rf3-e3 3.g6-g7 Bd1-b3 4.Rc6-c7+ Ka7-b6 5.Rc7-c3 Bb3-d5+" keywords: - Novotny --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 1454 date: 1981-04 distinction: 1st Prize algebraic: white: [Ke8, Bc4, Ph4, Pe7] black: [Kh6, Rh1] stipulation: + solution: | "1.Ke8-f7 ? Rh1-e1 2.Bc4-e6 Re1-f1+ 3.Kf7-g8 Rf1-g1+ 4.Kg8-h8 Rg1-g7 ! 5.e7-e8=R ! Rg7-f7 ! 6.Be6-g4 Rf7-h7+ 7.Kh8-g8 Rh7-g7+ 6.Be6*f7 5...Rg7-b7 ? 6.Be6-c4 Rb7-b4 7.Re8-e6+ Kh6-h5 8.Re6-e4 Kh5-h6 9.Kh8-g8 5.e7-e8=Q Rg7-h7+ 6.Kh8-g8 Rh7-h8+ ! 7.Kg8*h8 1.Bc4-e6 ! Kh6-g7 2.Ke8-d7 Rh1-d1+ 3.Kd7-c6 {or Kc7} Rd1-c1+ 4.Kc6-d5 Rc1-d1+ 5.Kd5-e5 ! Rd1-e1+ 6.Ke5-f5 Re1-f1+ 7.Kf5-g5 Rf1-g1+ 8.Kg5-h5 7...Rf1-f8 8.e7*f8=Q+ Kg7*f8 9.Kg5-f6 5.Kd5-c5 ? Rd1-c1+ 6.Kc5-b4 Rc1-c8 ! 7.Be6*c8 Kg7-f7 1...Rh1-d1 2.h4-h5 ! Kh6-g7 3.h5-h6+ ! Kg7-h7 4.Be6-f5+ Kh7-g8 5.h6-h7+ Kg8-g7 6.h7-h8=Q+ ! Kg7*h8 7.Ke8-f7 Rd1-e1 8.Bf5-e6 Re1-f1+ 9.Kf7-g6" keywords: - White underpromotion --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 1781 date: 1987 distinction: 1st Prize algebraic: white: [Kh7, Qh5, Ph6, Pc7, Pb6] black: [Ke6, Qc6, Bf6, Pf7, Pf5, Pb5] stipulation: + solution: | 1. Qd1 Qa8 (1... Qe8 2. Qe2+ (2. Qd8 $2 Bxd8 3. c8=Q+ Kd5 4. b7 Qe7 5. b8=Q (5. Qxf5+ Kc6) 5... f6+ 6. Kg6 Qe8+) 2... Be5 3. Qxe5+ Kxe5 4. b7 Qc6 5. c8=Q Qg6+ 6. Kh8 Qxh6+ 7. Kg8 Qg6+ 8. Kf8 Qh6+ 9. Ke8 Qh8+ 10. Kd7) (1... b4 2. Qd8 Bxd8 3. cxd8=N+ Kd7 4. Nxc6 Kxc6 5. Kg7 b3 6. h7 b2 7. h8=Q b1=Q 8. Qc8+ Kd5 9. b7) (1... Ke5 2. Qa1+ Ke6 (2... Kf4 3. c8=Q Qxc8 4. Qxf6) 3. Qa6 Kd7 4. b7) (1... Qd7 2. Qb3+ Ke7 3. Qa3+ Ke6 4. Qa8) (1... Qc4 2. Qd8 Bxd8 3. cxd8=Q f4 4. Kg8 $1) 2. Qd8 Bxd8 3. b7 Qxb7 4. cxd8=N+ Kd5 (4... Ke7 5. Nxb7 Kf8 6. Nc5 f4 (6... b4 7. Nd7+ Ke7 8. Kg7 b3 9. Nb6 (9. Nf6 $2 Ke6) 9... b2 10. Nd5+ Kd6 11. Nc3) 7. Nd7+ Ke7 8. Kg7 f3 9. Nf6 (9. Nb6 $2 Ke6) 9... f2 10. Nd5+ Ke6 11. Ne3) 5. Nxb7 f4 6. Na5 Ke4 (6... f3 7. Nb3 f2 8. Nd2) 7. Nb3 Ke3 8. Nd4 b4 9. Kg8 b3 10. h7 b2 11. Nc2+ Ke2 12. Na3 1-0 --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 1823 date: 1988 distinction: 2nd Prize algebraic: white: [Kg6, Bh7, Pf3, Pb2] black: [Kh8, Sg3, Pg7] stipulation: + solution: | "1. b4 Ne2 (1... Ne4 2. Kf5 Nd2 3. Bg6 Nxf3 4. Ke4) 2. b5 Nd4 (2... Nf4+ 3. Kf5 Ne2 4. Ke5) 3. b6 Nc6 (3... Nxf3 4. b7 Ne5+ 5. Kf5 Nd7 6. Bg6 Kg8 7. Be8 Nb8 8. Ke6 g5 9. Bh5) 4. b7 Nd8 (4... Nb8 5. f4 Nd7 6. f5 Nb8 7. f6 gxf6 8. Kh6) 5. b8=B Nc6 (5... Ne6 6. Bd6 (6. Be5 $2 Nf8+ 7. Kf7 Ng6 (7... Nxh7 $2 8. Bxg7#)) ( 6. Bg3 $2 Nf4+ (6... Nf8+ $2 7. Kf7 Nxh7 8. Bh4) 7. Kg5 Ne6+ (7... Ne2 $2 8. Bd3 Nxg3 9. Kg4 Nh1 10. Be2) 8. Kf5 Nd4+ 9. Ke4 Ne2 10. Bg6 Nxg3+ 11. Ke3 Nf1+) (6. Kf5 $2 Nd4+ 7. Ke5 (7. Ke4 Nc6) 7... Nxf3+ (7... Nc6+ $2 8. Kd6 Nxb8 9. Bd3 ))) 6. Bg3 (6. Bc7 $2 Ne7+ 7. Kf7 Nd5) (6. Bh2 $2 Ne5+ 7. Kf5 Nxf3) 6... Ne7+ 7. Kf7 Ng6 8. Bg8 Ne5+ 9. Ke8 (9. Ke7 $2 Ng6+) (9. Ke6 $2 Nxf3) 1-0" --- authors: - Benkő, Pál source: Ban MT, Magyar Sakkelet source-id: 1876 date: 1989 distinction: Special Prize algebraic: white: [Ke6, Rb1, Bc6, Sg5, Ph5, Pb2] black: [Kh1, Qh2, Bg1, Pg6, Pg2, Pb7] stipulation: + solution: | "1.Sg5-f3 g6*h5 ! 2.Ke6-d5 ! b7*c6+ 3.Kd5-e4 ! c6-c5 4.Ke4-d5 ! c5-c4 5.Kd5-c6 ! h5-h4 6.Kc6-b7 h4-h3 7.Kb7-a8 ! c4-c3 8.b2*c3 Qh2-b8+ 9.Rb1*b8 h3-h2 10.Rb8-h8 2.Bc6*b7 ? Qh2-h3+ 3.Ke6-f6 Qh3*f3+ 4.Bb7*f3 h5-h4 5.Kf6-g5 h4-h3 6.Kg5-g4 h3-h2 7.Bf3-d1 Bg1-f2 ! 8.Kg4-f4 Bf2-g3+ ! 9.Kf4-g4 Bg3-f2 10.Kg4-f5 Bf2-b6 11.Kf5-e4 Kh1-g1 8...Bf2-d4 9.Kf4-e4 Bd4-b6 10.b2-b4 Kh1-g1 11.Bd1-f3+ Kg1-f2 12.Rb1-b2+ 8.Kg4-h3 g2-g1=S+ ! 7...Bg1-c5 ? 8.Kg4-h3 g2-g1=S+ 9.Kh3-g3 Bc5-d6+ 10.Kg3-f2 Bd6-c5+ 11.Kf2-f1 2.Bc6-e4 ? Qh2-h3+ 3.Ke6-f6 Qh3*f3+ 4.Be4*f3 Kh1-h2 ! 5.Bf3*g2 Kh2*g2 6.Kf6-g5 Bg1-e3+ 7.Kg5*h5 Kg2-f3 8.Kh5-g6 Kf3-e4 9.Rb1-d1 Be3-d4 10.b2-b3 Ke4-d5 11.Rd1-c1 b7-b5 12.Kg6-f7 Kd5-d6 ! 13.Kf7-e8 Bd4-f6 4...h5-h4 5.Kf6-g5 1...b7*c6 2.Sf3*h2 Kh1*h2 3.h5*g6 Bg1-d4 4.b2-b4 g2-g1=Q 5.Rb1*g1 Kh2*g1 6.Ke6-d6 1...Qh2-h3+ 2.Ke6-e7 ! Qh3*f3 3.Bc6*f3 g6*h5 4.Bf3*h5 Kh1-h2 5.Rb1*g1 Kh2*g1 6.Bh5-f3" comments: - after Gurgenidse and Митрофанов --- authors: - Benkő, Pál source: EG (magazine) date: 1989 algebraic: white: [Kc2, Rg4, Bg5] black: [Kh8, Bd8, Se7, Pf5] stipulation: + solution: | 1. Bf6+ (1. Ra4 $2 Kg7 2. Ra8 Kg6 3. Bh4 Kh5 4. Bf6 Kg6 5. Be5 Bb6 6. Ra6 Nd5 7. Bd4 $2 Nb4+) 1... Kh7 2. Rg7+ (2. Rd4 $2 Kg6 3. Bh8 Ba5) 2... Kh6 3. Rf7 Kg6 4. Rf8 f4 5. Kc1 $1 (5. Kd3 f3 6. Bh4 Kh5 7. Rh8+ Kg4) 5... f3 6. Kd1 f2 7. Ke2 Nc6 8. Bxd8 Kg7 9. Re8 Kf7 10. Rh8 Kg7 11. Bf6+ Kxf6 12. Rh6+ 1-0 --- authors: - Benkő, Pál source: Bán memorial, Magyar Sakkélet source-id: 1858 date: 1989-06 distinction: 1st Prize algebraic: white: [Kb8, Sh8, Pg5] black: [Ke8, Ph7] stipulation: + solution: | "1.Kb8-c7 ? Ke8-e7 ! 2.Kc7-c6 Ke7-e6 1.Kb8-c8 ! Ke8-f8 2.Sh8-g6+ ! Kf8-f7 ! 3.Sg6-f4 ! h7-h6 ! 4.g5-g6+ Kf7-f6 5.Kc8-d7 h6-h5 6.Kd7-e8 Kf6-g7 7.Ke8-e7 h5-h4 8.Ke7-e6 h4-h3 9.Ke6-f5 h3-h2 10.Sf4-h5+ Kg7-f8 11.Sh5-g3 Kf8-g8 { eg } 12.Kf5-f6 Kg8-f8 13.g6-g7+ Kf8-g8 14.Sg3-h1 6...h5-h4 7.Ke8-f8 h4-h3 8.g6-g7 h3-h2 9.Sf4-h5+ 4.g5*h6 ? Kf7-g8 3.Sg6-h4 ? Kf7-e8 ! 4.Sh4-g2 Ke8-e7 5.Sg2-f4 Ke7-d6 6.Sf4-h5 Kd6-e6 4.Kc8-c7 Ke8-e7 5.Kc7-c6 Ke7-e6 3...Kf7-e6 4.Kc8-d8 Ke6-e5 5.Kd8-e7 Ke5-f4 6.Ke7-f6 2...h7*g6 3.Kc8-d8 Kf8-f7 4.Kd8-d7 Kf7-f8 5.Kd7-e6 Kf8-g7 6.Ke6-e7 Kg7-g8 7.Ke7-f6 Kg8-h7 8.Kf6-f7 2.Kc8-d7 ? Kf8-g7 3.Kd7-e6 h7-h6 ! 4.g5-g6 h6-h5 3...Kg7*h8 ? 4.Ke6-f7 1...Ke8-e7 2.Kc8-c7 Ke7-e6 3.Kc7-d8 ! Ke6-f5 4.Sh8-f7 Kf5-g6 5.Kd8-e8 Kg6-g7 6.Ke8-e7" --- authors: - Benkő, Pál source: WCCT1 Ty date: 1991 distinction: 9th Prize algebraic: white: [Kh5, Ra1, Bb1, Pb5, Pb2, Pa4] black: [Kh1, Bg1, Ph4, Pg2, Pb6, Pb3, Pa5] stipulation: + solution: | "1. Be4 (1. Kxh4 $2 Kh2) 1... h3 (1... Kh2 2. Bxg2) 2. Kh4 (2. Kg4 $2 h2 3. Bb1 (3. Ra3 Bc5) 3... Bc5) 2... h2 (2... Kh2 3. Rxg1) 3. Bb1 Bf2+ (3... Bd4 4. Bc2+ Bg1 5. Bd1 Bf2+ 6. Kh5 (6. Kh3 $2 g1=N+ 7. Kg4 Kg2) 6... Bd4 (6... Kg1 7. Bf3+ Be1 8. Kg4 Kf2 9. Bxg2 Kxg2 10. Rxe1 h1=Q 11. Rxh1 Kxh1 12. Kg3 Kg1 13. Kf3 Kf1 14. Ke4 Kf2 15. Kd5 Ke3 16. Kc6 Kd3 17. Kxb6) 7. Bxb3+ Bg1 8. Bd1 Bd4 9. Bf3+ Bg1 10. b4) 4. Kh3 (4. Kh5 $2 Bg1 $1) 4... Bg1 (4... g1=N+ 5. Kg4 Kg2 6. Be4+ Nf3 7. Bxf3#) 5. Kg3 Bf2+ 6. Kf3 (6. Kf4 $2 Be3+) 6... g1=Q (6... Bg1 7. Ke2 Bd4 8. Bd3+ Bg1 9. Rf1 gxf1=Q+ 10. Kxf1 Be3 11. Be4#) (6... Bd4 7. Be4+ Bg1 8. Rf1 gxf1=Q+ 9. Kg3+) 7. Be4 Qxa1 (7... Qe1 8. Rxe1+ Bxe1 9. Ke2+) 8. Kxf2# 1-0" --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 1934 date: 1991 distinction: 1st Prize algebraic: white: [Kg3, Sf4, Pg6, Pe6, Pa6] black: [Kg5, Rh4, Pd3, Pa7] stipulation: + solution: | 1. g7 Rg4+ 2. Kf3 (2. Kf2 $2 Kf6) 2... Kh6 3. e7 (3. Kxg4 $2 d2 4. g8=Q d1=Q+ 5. Kh4 Qh5+ 6. Kg3 Qf3+) 3... d2 4. Ke2 Rxg7 5. Ng6 (5. e8=Q $2 Re7+ 6. Qxe7 d1=Q+ 7. Kxd1) (5. e8=R $2 Rd7 6. Kd1 Rd6 7. Re6+ Rxe6 8. Nxe6 Kg6 9. Nd4 Kf6 10. Nc6 Ke6 11. Nxa7 Kd7 12. Nb5 Kc6 13. Kxd2 Kb6 14. a7 Kb7) 5... Rg8 6. Nf8 Rg5 7. Ng6 (7. e8=Q $2 Re5+ 8. Qxe5 d1=Q+ 9. Kxd1) (7. e8=R $2 Rd5 8. Kd1 Rd6) 1-0 --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 1965 date: 1992 distinction: 2nd Prize algebraic: white: [Kh2, Ba3, Ph3] black: [Kc8, Re1, Sh1] stipulation: "=" solution: | "1. Bc5 (1. Kg2 $2 Ng3 2. Kxg3 Re3+) 1... Rc1 2. Bd4 Rd1 3. Bc5 (3. Bg1 $2 Ng3) (3. Be3 $2 Rd3) (3. Bb6 $2 Kb7 4. Bc5 Kc6 5. Ba7 Ra1 6. Bd4 Rb1 7. Kg2 Kd5 8. Ba7 Ke4 9. h4 Kf5 10. h5 Kg4 11. h6 Rb7 12. Bd4 Ng3 13. Bg7 Re7 14. h7 Re2+ 15. Kg1 Kf3 16. h8=Q Rg2#) 3... Kd7 4. Kg2 Ke6 5. Bb6 (5. Ba7 $2 Rb1 6. h4 Kf5) (5. h4 $2 Kf7 6. h5 Rd5) 5... Kf5 (5... Rc1 6. Be3) (5... Kd6 6. Bg1 Ng3 7. Bh2) 6. Bc7 (6. Ba7 $2 Rb1 $1 (6... Ke4 $2 7. Bc5 Kd3 8. h4 Ke4 (8... Ke2 9. Bg1 Ng3 10. Kxg3) 9. Bb6 Kf5 10. h5 Kg4 11. h6 Rd6 12. Be3 Ng3 13. h7 Rd8 14. Bd4) 7. Bc5 Kf4 8. Bf8 (8. Bd4 Ng3) 8... Ke3 9. h4 Ke2 10. h5 Nf2 11. h6 Nd3 12. h7 Nf4+) 6... Ke4 7. Bh2 Kd3 8. h4 Ke4 (8... Ke2 9. Bg1 Ng3 10. Kxg3 Rxg1+ 11. Kf4 Kd3 12. h5 Kd4 13. Kf5 Kd5 14. h6 Rh1 15. Kg6 Ke6 16. Kg7 Rg1+ 17. Kf8 Rh1 18. Kg7 Ke7 19. h7 Rg1+ 20. Kh8) 9. h5 Kf5 10. h6 Kg6 11. Bf4 Re1 12. Bh2 Kxh6 ( 12... Rb1 13. Bf4) 13. Bg1 Ng3 14. Bf2 1/2-1/2" --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 2043 date: 1994 distinction: 2nd Prize algebraic: white: [Kf8, Ba8, Sf3, Pe3] black: [Kh8, Pf2, Pc7, Pc4] stipulation: + solution: | 1. Ng5 $1 (1. Nh2 $2 c6 $1 2. Bxc6 c3 3. Ba4 c2 4. Bxc2 f1=Q+ 5. Nxf1) 1... f1=Q+ 2. Bf3 $1 (2. Nf7+ $2 Qxf7+ 3. Kxf7 c6 $1 4. Bxc6 c3 5. Ba4 c2 6. Bxc2) 2... Qd3 3. Nf7+ Kh7 4. Be4+ Qxe4 5. Ng5+ Kg6 6. Nxe4 Kf5 7. Nc3 Kf6 $1 8. Ke8 Ke6 9. Kd8 Kd6 10. Kc8 Kc6 11. Kb8 1-0 --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 2148 date: 1996 distinction: 3rd Prize algebraic: white: [Ka6, Rg3] black: [Ke1, Rc1, Bh2, Pa7] stipulation: "=" solution: | 1. Rg2 Bb8 2. Kb7 $1 Rb1+ 3. Ka8 $1 Rb5 (3... Rb4 4. Ra2 Kf1 5. Ra5 Rb6 6. Ra2 a6 7. Rf2+ Kg1 8. Rg2+ Kh1 9. Ra2) 4. Re2+ $1 (4. Rb2 $2 a6 $1 5. Ra2 a5 6. Rb2 Rb4 $1) 4... Kf1 5. Rf2+ Kg1 6. Rg2+ Kh1 7. Rg1+ $1 (7. Rg4 $2 Kh2 8. Rb4 Rb6 $1 9. Rg4 Kh3 $1) 7... Kh2 8. Rg4 $1 Kh3 9. Rb4 Rb6 10. Rg4 $1 Rb5 (10... Bg3 11. Ra4 $1 (11. Kxa7 $2 Bf2)) (10... Re6 11. Rg8) (10... Ra6 11. Rg7) 11. Rb4 a6 12. Ra4 a5 (12... Rb6 13. Rb4 Bc7 14. Ra4 Rg6 15. Kb7) 13. Rb4 axb4 1/2-1/2 --- authors: - Benkő, Pál source: EG (magazine) date: 1998 algebraic: white: [Kh7, Rh6, Ba4, Sf5] black: [Kg1, Ph2, Pf2, Pd5, Pd2, Pb2] stipulation: + solution: | "1. Rg6+ Kh1 2. Ng3+ Kg2 3. Nf1+ $1 Kxf1 (3... Kh1 4. Bd1) (3... Kf3 4. Nxh2+) ( 3... Kh3 4. Bd7+ Kh4 5. Rg4+ Kh3 6. Kh6) 4. Bb5+ Ke1 5. Re6+ Kd1 6. Ba4+ Kc1 7. Rc6+ Kb1 8. Bc2+ Kc1 9. Bf5+ Kd1 10. Bg4+ Ke1 11. Re6+ Kf1 12. Bh3+ Kg1 13. Rg6+ Kh1 14. Bg2+ Kg1 15. Bxd5+ Kf1 16. Bc4+ Ke1 17. Re6+ Kd1 18. Bb3+ Kc1 19. Rc6+ Kb1 20. Bc2+ Kc1 21. Bf5+ Kd1 22. Bg4+ Ke1 23. Re6+ Kf1 24. Bh3+ Kg1 25. Rg6+ Kh1 26. Bd7 f1=Q 27. Bc6+ Qg2 28. Rxg2 b1=Q+ 29. Rg6+ Qe4 30. Bxe4# 1-0" --- authors: - Benkő, Pál source: Szen MT, Magyar Sakkélet date: 1982 distinction: 1st Prize algebraic: white: [Kb4, Ra7, Bc8] black: [Ke8, Rh8, Ph7] stipulation: + solution: | "1.Bc8-g4 ! Ke8-f8 2.Bg4-h5 Rh8-g8 3.Ra7-f7+ Kf8-e8 4.Kb4-c5 Ke8-d8 5.Kc5-d6 Kd8-c8 6.Kd6-c6 Kc8-d8 7.Rf7-d7+ Kd8-c8 8.Rd7-a7 Kc8-b8 9.Ra7-b7+ Kb8-a8 10.Bh5-f3 ! Rg8-g6+ 11.Kc6-c5 ! Rg6-a6 12.Bf3-c6 h7-h5 13.Kc5-d6 h5-h4 14.Rb7-e7+ Ka8-b8 15.Re7-e8+ Kb8-a7 16.Kd6-c7 13.Rb7-h7+ ! {dual} 11.Kc6-b5 ? Rg6-g3 ! 12.Rb7-f7+ Ka8-b8 13.Kb5-b6 Kb8-c8 14.Bf3-c6 Rg3-d3 ! 12.Bf3-d5 Rg3-b3+ 10...Rg8-c8+ 11.Kc6-d6 h7-h5 12.Bf3-c6 h5-h4 13.Kd6-c5 12.Bf3-d5 ! {dual} h5-h4 13.Kd6-e6 h4-h3 14.Ke6-d6 h3-h2 15.Bd5-h1 10...Rg8-g3 11.Bf3-e4 Rg3-c3+ 12.Kc6-d6 Rc3-e3 13.Be4-d5 13.Rb7-b4+ ? Ka8-a7 14.Kd6-c7 Ka7-a6 15.Be4-c6 Re3-e5 11.Bf3-d5 ! {dual} 10...Rg8-f8 11.Bf3-d5 Rf8-f5 12.Rb7-b4 Ka8-a7 13.Rb4-a4+ Ka7-b8 14.Kc6-d6 Rf5-f6+ 15.Kd6-d7 ! 12...Rf5-f6+ 13.Kc6-c7+ 11...Rf8-d8 12.Rb7-b5 11.Rb7-b3 ? Rf8-f6+ 12.Kc6-c7+ Ka8-a7 13.Rb3-a3+ Rf6-a6 13.Bf3-c6 Rf6-f7+ 14.Bc6-d7 Rf7-f6 11.Bf3-e4 ! {dual} 9...Kb8-c8 10.Bh5-f7 Rg8-g2 11.Bf7-e6+ Kc8-d8 12.Kc6-d6 Rg2-d2+ 13.Be6-d5 Kd8-c8 14.Rb7-a7 Rd2-b2 15.Ra7-f7 Kc8-b8 16.Rf7-f8+ Kb8-a7 17.Rf8-a8+ Ka7-b6 18.Ra8-b8+ 8.Bh5-f7 ! {dual} 7.Rf7-b7 ! {dual} Rg8-g3 8.Bh5-f7 Rg3-a3 9.Rb7-d7+ Kd8-c8 10.Bf7-c4 Ra3-a1 11.Rd7-g7 Kc8-b8 12.Kc6-d6 Ra1-a7 13.Rg7-g8+ Kb8-b7 14.Bc4-d5+ Kb7-b6 15.Rg8-b8+ Kb6-a5 16.Kd6-c5 7.Rf7-a7 ! {dual} 6.Rf7-e7 ! {dual} 5.Rf7-a7 ! {dual} Rg8-g2 6.Bh5-f7 ! Rg2-b2 7.Kc5-c6 ! h7-h6 8.Ra7-d7+ Kd8-c8 9.Rd7-e7 Rb2-c2+ 10.Kc6-d6 Rc2-f2 11.Bf7-d5 Kc8-d8 12.Re7-b7 Rf2-c2 13.Rb7-a7 h6-h5 14.Ra7-a4 h5-h4 15.Ra4*h4 Rc2-e2 16.Rh4-b4 2...Kf8-g8 3.Kb4-c5 1...Rh8-f8 2.Bg4-h5+ Ke8-d8 3.Bh5-f7" keywords: - Retro - Cantcastler - Dual --- authors: - Benkő, Pál source: Chess Clinic 2000-2001 date: 2005 distinction: 1st Prize algebraic: white: [Ke4, Qb8, Rc8, Pg5, Pg3] black: [Kb2, Qb6, Rc6, Pg6, Pf7] stipulation: + solution: | "1. Qe5+ Kc1 2. Rb8 Rc4+ (2... Qc5 $144 3. Qa1+ Kd2 4. Rb2+ $18) 3. Kd3 Rd4+ 4. Kc3 (4. Qxd4 $143 Qxb8 5. Qf4+ (5. Qa1+ $144 Qb1+ 6. Qxb1+ Kxb1 $11) 5... Qxf4 6. gxf4 Kd1 7. Ke3 Kc2 8. Ke4 Kd2 9. Ke5 Ke3 10. f5 gxf5 11. Kxf5 Kf3 12. Ke5 Kg4 13. Kf6 $11) 4... Qd6 5. Qe3+ Rd2 6. Rb4 f5 (6... Qc6+ $144 7. Rc4 Qd5 8. Rc8 Qd7 9. Rc5 Qd6 10. Kb3+ Kb1 11. Rc1+ Kxc1 12. Qe1+ Rd1 13. Qc3+ Kb1 14. Qb2#) (6... Qd8 $144 7. Rc4 Qd5 8. Rc8 Qd7 (8... Kd1 9. Qg1+ Ke2 10. Re8+ Kf3 11. Qe3+ Kg4 12. Re4+ Kh3 13. Rh4+ Kg2 14. Qxd2+ $18) 9. Rc5 Qd6 10. Kb3+ $18) (6... f6 $144 $1 7. Ra4 Qc6+ (7... Qe5+ $144 8. Qxe5 Rc2+ 9. Kb3 fxe5 10. Rc4 $18) 8. Rc4 Qd5 9. Qe1+ Rd1 10. Qe2 Rd2 11. Kb3+ Kb1 12. Qe1+ Rd1 13. Qb4 Qe5 14. Ka4+ Qb2 15. gxf6 Rd7 16. Rf4 Ra7+ 17. Kb5 Rb7+ 18. Kc5 Rc7+ 19. Kd6 Rc3 20. f7 Rd3+ 21. Kc6 Rc3+ 22. Kb7 Rb3 23. f8=Q $18) 7. Ra4 Qc6+ 8. Rc4 Qd5 9. Rc8 Qd7 (9... Kd1 $144 10. Qg1+ Ke2 11. Re8+ Kf3 12. Qe3+ Kg4 13. Qf4+ Kh3 14. Rh8+ Kg2 15. Qxd2+ $18) 10. Rc5 Qd6 11. Kb3+ Kd1 12. Rc1+ Kxc1 13. Qe1+ Rd1 14. Qc3+ Kb1 15. Qb2# 1-0" --- authors: - Benkő, Pál source: Magyar Sakkélet date: 1967 distinction: 1st Prize algebraic: white: [Kf1, Bh2] black: [Kh4, Ra2, Pf2] stipulation: "=" solution: | 1. Bd6 $1 (1. Be5 $143 Ra5 $1 2. Bd6 (2. Bd4 $144 Kg3 3. Bxf2+ Kf3 4. Bd4 Rd5 $19) 2... Rf5 $1 $19) (1. Bb8 $143 Rb2 $1 2. Be5 (2. Bd6 $144 Kh3 3. Ba3 Ra2 4. Bd6 Ra6 5. Be5 Ra5 $19) 2... Rb5 3. Bd4 Kg3 $19) (1. Bc7 $143 Kh3 $1 2. Bb8 Ra8 3. Bd6 Ra6 4. Be5 Ra5 5. Bb8 Rf5 6. Ba7 Kg3 $19) 1... Kh3 (1... Ra6 $144 2. Bc7 $1 (2. Be5 $143 Ra5 3. Bd4 Kg3 $19) 2... Rc6 (2... Rf6 $144 3. Bd8 $11) 3. Be5 $1 Rc5 (3... Re6 $144 4. Bg3+ $11) 4. Bd4 $11) (1... Kg4 $144 2. Kg2 $11) 2. Bc7 $1 (2. Be5 $143 Ra5 3. Bd4 Kg3 4. Be5+ Kf3 $19) (2. Bf4 $143 Kg4 $19) (2. Bg3 $143 Kg4 $19) (2. Bb8 $143 Ra8 3. Bd6 Ra6 4. Bc5 Kg3 $19) 2... Rb2 (2... Ra7 $144 3. Bb6 $11) (2... Ra7 $144 3. Bb6 $11) 3. Bd6 $1 Rc2 4. Be5 $1 (4. Bb8 $143 Rc8 5. Bd6 Rd8 6. Be7 Rd7 7. Bc5 Kg3 $19) 4... Rd2 5. Bf4 $1 Re2 6. Bb8 $3 (6. Bd6 $143 Rb2 7. Ba3 Ra2 8. Bd6 Ra6 9. Be5 Ra5 10. Bf4 Rf5 11. Bc7 Kg4 12. Bb6 Kf3 $19) 6... Re8 7. Bg3 $3 (7. Bd6 $143 Rd8 8. Be7 Rd7 9. Bc5 Kg3 $19) 7... Kg4 8. Kxf2 $11 1/2-1/2 --- authors: - Benkő, Pál - Jánosi, Ervin source: Mugnos MT Ajedrez de Estilo date: 1987 distinction: 1st Prize algebraic: white: [Kh3, Rh7, Pf6, Pd3, Pa2] black: [Kb2, Rf4, Pg6, Pc6] stipulation: + solution: | 1. f7 (1. Rf7 $143 Kxa2 2. Rf8 Kb3 3. f7 Kc3 4. d4 Kd3 $11) 1... Ka3 $1 (1... Kxa2 $144 2. Kg3 Rf5 3. Rh2+ Kb3 4. Rf2 $18) (1... Rf5 $144 2. a4 $18) 2. d4 $1 (2. Kg3 $143 Rf6 3. d4 (3. Kg4 $144 Rf5 4. Kg3 $11) 3... Rf5 4. Kg4 Kxa2 $11) 2... Kb4 (2... g5 $144 3. Kg3 Kb4 4. d5 Kc5 5. dxc6 Kxc6 6. a4 Kc5 7. Rg7 Kb6 8. Kg2 Ka5 (8... Ka6 $144 9. Kh3 Kb6 10. Kg3 Ka6 11. a5 $18) 9. Rxg5+ $18) ( 2... Rf5 $144 3. Kg3 $1 Kb4 (3... Rg5+ $144 4. Kf4 Rf5+ 5. Ke3 Kb4 6. Ke4 Ka4 7. a3 $18) 4. Kg4 Ka4 5. a3 Kb5 6. Rh5 $18) (2... Ka4 $144 3. d5 $18) 3. Kg3 $1 (3. d5 $143 Kc5 $1 4. Kg3 Rf5 $1 $11 5. dxc6 Kxc6 6. a4 Kc5 7. Kg4 Kb6 $11) 3... g5 (3... Rf5 $144 {main} 4. Kg4 $1 (4. a3+ $143 Kxa3 $11) (4. d5 $143 Kc5 $1 5. dxc6 Kxc6 6. a4 Kc5 $1 (6... Kb6 $143 7. Kg4 Ka6 8. a5 $18) 7. Kg4 Kb6 8. a5+ Ka6 $1 $11) 4... Ka4 5. a3 $1 Kb5 (5... Kxa3 $144 6. Rh3+ Kb4 7. Rf3 $18) 6. Rh5 $1 $18) 4. d5 $1 Kc5 (4... cxd5 $144 5. Rh4 $3 $18) 5. dxc6 Kxc6 6. a4 Kc5 (6... Kb6 $144 7. Rg7 Ka6 8. a5 $18) (6... Kd6 7. a5 Ke7 8. a6 Ra4 9. a7 $18) 7. Rg7 Kb6 (7... Kb4 $144 8. a5 $18) 8. Kg2 $1 (8. Kh2 $143 Rf3 $11) (8. Kh3 $143 Ka6 9. Kg2 Kb6 $11 {No progress}) (8. a5+ $143 Ka6 $11) 8... Ka6 (8... Ka5 $144 9. Rxg5+ Kxa4 10. Rg4 Rxg4+ 11. Kf3 Rg1 12. Kf2 $18) (8... Rg4+ $144 9. Kf3 Rf4+ 10. Kg3 $18) 9. Kh3 $1 Kb6 10. Kg3 Ka6 11. a5 $1 $18 1-0 --- authors: - Benkő, Pál source: Chess Life date: 2002 algebraic: white: [Kh6, Pc3, Pb4] black: [Ka3, Pg5, Pc4] stipulation: + solution: | "1. Kh5 $1 (1. b5 $2 g4 2. b6 g3 3. b7 g2 4. b8=Q g1=Q 5. Qb4+ Ka2 6. Qxc4+ Kb2) (1. Kxg5 $2 Kb3 2. b5 Kxc3 3. b6 Kd2) 1... Ka4 (1... Kb3 {main} 2. b5 Kxc3 3. b6 Kd2 4. b7 c3 5. b8=Q c2 6. Qb2 Kd1 7. Qd4+ Ke2 8. Qc3 Kd1 9. Qd3+ Kc1 10. Qe2 $1 (10. Kg4 $2 Kb2 11. Qb5+ Ka1 12. Qa4+ Kb1 13. Qb3+ Ka1 14. Qxc2) (10. Qd4 $2 g4) 10... g4 11. Qe1+ Kb2 12. Qb4+ Ka2 13. Qc3 Kb1 14. Qb3+ Kc1 15. Kxg4 Kd2 16. Qb2 Kd1 17. Kf3 c1=Q 18. Qe2#) 2. Kg4 $1 Kb3 (2... Kb5 3. Kxg5 Kc6 4. Kf5 Kd5 5. Kf4 Kd6 6. Ke4) 3. b5 Kxc3 4. b6 Kd2 5. b7 c3 6. b8=Q c2 7. Qb2 1-0" --- authors: - Benkő, Pál source: Sakkélet source-id: 2267 date: 2000-03 distinction: 1st Prize algebraic: white: [Kc3, Rd7, Rb7, Ph2] black: [Ke8, Rh8, Rg8, Ph7] stipulation: + solution: | "1. Rd2! Rf8 2. Kc2! (2. Kb2! Rhg8 3. h3 h6 4. h4 h5 5. Ka2 Rf6) (2. Ra2! Rf3+ 3. Kd4 O-O!) Rhg8 3. Kb2 h6 4. h3! (4. h4? h5 5. Ka2 Rf6 6. Rc2 (6. Rb8+ Kf7 7. Rd7+ Ke6) 6... Ra6+ 7. Kb2 Ra8) h5 5. h4 Rh8 (5... Rf6 6. Rc2 Rd6 7. Rc8+ Rd8 8. Rxd8+ Kxd8 9. Rb8+) 6. Ka2 or Ra7 Rhg8 7. Ra7 Rh8 8. Rb2 {pseudo-Bristol} 1-0" --- authors: - Benkő, Pál source: Magyar Sakkvilág date: 2003 algebraic: white: [Ke1, Ra7, Ra1] black: [Ke8, Rh8, Rg8] stipulation: + solution: 1.0-0-0 ! Rg8-f8 2.Kc1-b1 Rh8-g8 3.Kb1-a1 ! {pseudo-Bristol} Rf8-f6 4.Rd1-b1 comments: - anticipated 274890 --- authors: - Benkő, Pál source: Euwe100 date: 2001 distinction: 5th Honorable Mention algebraic: white: [Kh1, Rd2, Sf4, Ph2, Pf5, Pc2, Pb5] black: [Kh8, Re8, Se5, Ph7, Pg7, Pc6, Pb7] stipulation: + solution: | 1. Re2 Re7 2. Re1 cxb5 3. Nd5 Re8 4. Nb6 Re7 (4... Kg8 5. Nd7 Nxd7 6. Rxe8+ Kf7 7. Re4 Kf6 8. Rb4 Kxf5 9. Rxb5+ Ke6 10. Rxb7) 5. Nc8 Rc7 6. Nd6 Re7 7. Rxe5 Rxe5 8. Nf7+ 1-0 --- authors: - Benkő, Pál source: Magyar Sakkélet date: 1967-07 distinction: 1st Prize algebraic: white: [Kf1, Bb8] black: [Kh3, Ra2, Pf2] stipulation: "=" solution: | "1.Bb8-e5 ? Ra2-a5 1.Bb8-f4 ? Kh3-g4 1.Bb8-d6 ? Ra2-a6 2.Bd6-c5 Kh3-g3 3.Bc5*f2+ Kg3-f3 1.Bb8-c7 ! Ra2-b2 2.Bc7-d6 ! Rb2-c2 3.Bd6-e5 ! Rc2-d2 4.Be5-f4 Rd2-e2 ! 5.Bf4-b8 ! Re2-e8 6.Bb8-g3 ! Kh3*g3 6...Kh3-g4 7.Kf1*f2 ! 5.Bf4-d6 ? Re2-b2 5.Bf4-c7 ? Re2-a2 5.Kf1*e2 ? Kh3-g2 4.Be5-g3 ? Kh3-g4 5.Bg3*f2 Kg4-f3 3...Rc2-c5 4.Be5-d4 2...Rb2-b6 3.Bd6-c5 1...Ra2-a7 2.Bc7-b6 1...Kh3-g4 2.Kf1-g2 Ra2-b2 3.Bc7-d6 Rb2-b6 4.Bd6-c5" comments: - phase c of a twin - correction by Werner Keym in Journal de Genève, 1970-11-19 --- authors: - Benkő, Pál - Gyarmati, Péter source: StrateGems date: 2006 distinction: 3rd Prize, 2006-2007 algebraic: white: [Kh5, Qg1, Ba3, Pe5, Pd6, Pa7, Pa5] black: [Kf7, Qc6, Rd2, Ph7, Pd7] stipulation: + solution: | 1. e6+ $1 dxe6 2. Kh6 Rg2 3. Qf1+ Kg8 4. Qf8+ $1 Kxf8 5. d7+ Kf7 6. d8=N+ $1 Kf6 7. Be7+ $1 Kxe7 8. Nxc6+ Kf6 9. Kxh7 Rg7+ 10. Kh8 Rxa7 11. Nxa7 Ke5 12. Kg7 Kd5 13. Kf6 e5 14. Kf5 e4 15. Kf4 e3 16. Kxe3 Kc5 17. Ke4 $1 Kb4 18. Nc6+ Kb5 19. Kd5 1-0 --- authors: - Benkő, Pál source: De Feijter JT, eg source-id: 76/5170 date: 1984-04 distinction: 2nd Commendation, 1981 algebraic: white: [Ka5, Pf5, Pb5] black: [Kg5, Sh2] stipulation: + solution: | "1.b5-b6 ? Sh2-g4 2.b6-b7 Sg4-e5 3.Ka5-b6 Se5-d7+ 4.Kb6-c7 Sd7-c5 1.Ka5-b6 ! Sh2-g4 2.Kb6-c7 Sg4-e3 3.Kc7-d7 Se3-d5 4.Kd7-d6 Sd5-b6 5.Kd6-e6 Kg5-h6 6.f5-f6 Kh6-g6 ! 7.Ke6-e7 Sb6-d5+ 8.Ke7-d6 Sd5-b6 9.Kd6-e6 Kg6-h7 10.Ke6-e7 ! Sb6-d5+ 11.Ke7-d6 Sd5-b6 12.Kd6-c6 ! Sb6-c4 13.Kc6-d7 Kh7-g6 14.Kd7-e7 Sc4-b6 15.f6-f7 13.Kc6-c5 ! {cook} Sc4-e5 14.Kc5-d6 Se5-c4+ 15.Kd6-e7 12.Kd6-c5 ! {cook} 6.Ke6-f7 ! {cook} Kh6-g5 7.f5-f6 Sb6-d5 8.Kf7-e6 ! Sd5-c7+ 9.Ke6-e5 8...Sd5*f6 9.b5-b6 3...Se3-c4 4.Kd7-e6 Sc4-b6 5.f5-f6 Kg5-g6 6.Ke6-e7 ! Sb6-d5+ 7.Ke7-d6 ! Sd5-b6 8.Kd6-e6 Kg6-h7 9.Ke6-e7 Sb6-d5+ 10.Ke7-d6 Sd5-b6 11.Kd6-c6 ! Sb6-c4 12.Kc6-d7 Kh7-g6 13.Kd7-e7 9...Sb6-c8+ 10.Ke7-d7 Sc8-b6+ 11.Kd7-e8 9.f6-f7 ? Kh7-g7 9.Ke6-f7 ? Sb6-d5 2...Sg4-f6 3.Kc7-d6 Sf6-e4+ 4.Kd6-c6 Se4-d2 5.Kc6-d5 Sd2-b3 6.b5-b6 Sb3-a5 7.Kd5-e6 Sa5-c6 8.f5-f6 1...Sh2-f3 2.Kb6-c7 Sf3-d4 3.b5-b6 Sd4-b3 4.Kc7-d6 Sb3-a5 5.Kd6-e6 Sa5-c6 6.f5-f6" --- authors: - Benkő, Pál source: Chess Life date: 1981 algebraic: white: [Kd6, Rg6, Pg2] black: [Kh8, Pg7, Pd3, Pc4] stipulation: + solution: | "1. Ke7 d2 2. Rd6 c3 3. Kf7 Kh7 4. g4 c2 5. g5 d1=Q 6. Rh6+ gxh6 7. g6+ Kh8 8. g7+ Kh7 9. g8=Q# 1-0" --- authors: - Benkő, Pál source: Chess Life date: 1981 algebraic: white: [Kb8, Pe3, Pc2, Pa6] black: [Kd7, Rh7, Pd5] stipulation: "=" solution: | 1.a6-a7 Rh7-h8+ 2.Kb8-b7 Rh8-a8 3.Kb7*a8 Kd7-c8 4.c2-c3 Kc8-c7 5.e3-e4 d5*e4 6.c3-c4 e4-e3 7.c4-c5 e3-e2 8.c5-c6 Kc7-b6 9.c6-c7 e2-e1=Q 10.c7-c8=Q Qe1-e4+ 11.Ka8-b8 Qe4-e7 12.a7-a8=S+ 1...d5-d4 2.e3*d4 Kd7-c6 3.d4-d5+ Kc6-b6 4.a7-a8=S+ keywords: - White underpromotion --- authors: - Benkő, Pál source: Chess Life date: 2001 algebraic: white: [Ka8, Se6, Pb4] black: [Ke4, Pa5, Pa4] stipulation: + solution: | 1. b5 a3 2. b6 a2 (2... a4 3. Nd4 $1 Kd3 (3... Kxd4 4. b7 a2 5. b8=Q a1=Q 6. Qh8+) 4. Nc6 Kc4 5. Nb4 $1 Kxb4 6. b7) 3. Nc5+ Kd4 4. Nb3+ Kc3 5. Na1 (5. b7 $2 Kxb3 6. b8=Q+ Kc2) 5... Kb2 6. b7 Kxa1 7. b8=Q a4 8. Ka7 $1 a3 9. Kb6 $1 Kb2 10. Kc5+ Kc2 11. Qe5 Kb1 12. Qe1+ Kb2 13. Qb4+ 1-0 --- authors: - Benkő, Pál source: Chess Life date: 2001 algebraic: white: [Kc4, Rc6] black: [Kc1, Pd7, Pd6, Pa3] stipulation: + solution: | 1. Rc8 $1 Kb2 2. Rb8+ $1 Kc2 3. Rh8 $1 d5+ 4. Kb4 a2 5. Rh2+ Kb1 6. Ka3 $1 (6. Kb3 $2 a1=N+ 7. Kc3 d4+) 6... a1=Q+ 7. Kb3 1-0 --- authors: - Benkő, Pál source: EG (magazine) source-id: 141/11829 date: 2001-07 algebraic: white: [Kh6, Rh2, Pg6, Pg5, Pf2] black: [Kh8, Rf7] stipulation: + solution: | "1.g6*f7 ? {stalemate} 1.Kh6-h5 ? Rf7-f4 ! 2.f2-f3 Kh8-g7 ! 3.Rh2-a2 Rf4*f3 1.g6-g7+ ! Kh8-g8 2.Rh2-h3 ! Rf7-f3 ! 3.Rh3-g3 ! Rf3*f2 4.Rg3-a3 Rf2-h2+ 5.Kh6-g6 Rh2-a2 ! 6.Ra3-f3 ! Ra2-a6+ 7.Rf3-f6 Ra6-b6 8.Kg6-h6 ! Rb6-b8 9.Rf6-f8+ 7...Ra6*f6+ 8.Kg6*f6 ! Kg8-h7 9.g7-g8=Q+ ! Kh7*g8 10.Kf6-g6 6...Ra2-f2 7.Rf3-f8+ ! 6.Ra3*a2 ? {stalemate} 3...Rf3-f4 4.Rg3-e3 Rf4-h4+ 5.Kh6-g6 Rh4-e4 6.Kg6-f5 3.Rh3*f3 ? {stalemate} 2.Rh2-h4 ? Rf7-f4 2.Rh2-h1 ? Rf7*f2 3.Rh1-a1 Rf2-h2+ ! 4.Kh6-g6 Rh2-a2 5.Ra1-f1 Ra2-f2 6.Rf1*f2 1...Rf7*g7 2.Rh2-h5 Rg7-f7 3.Kh6-g6+ Kh8-g8 4.Rh5-h8+" comments: - after Alessandro Salvio --- authors: - Benkő, Pál source: Inside Chess date: 1991 algebraic: white: [Ka4, Rc6] black: [Ka1, Se2, Ph7, Ph4, Pd3] stipulation: "=" solution: | 1. Rd6 Nc1 (1... Nf4 2. Kb3 h3 (2... Kb1 3. Rd4) 3. Rf6 h2 4. Rh6) 2. Ka3 h3 ( 2... h5 3. Rd4 $1 h3 4. Rd5) (2... Kb1 3. Rd7 (3. Rd4 $2 h3 4. Rd7 h5 5. Rd5 h4 6. Rd4 Ka1 $1) 3... h3 4. Rb7+ Kc2 5. Rc7+ Kd1 6. Rxh7) 3. Rd7 h6 4. Rd6 h5 5. Rd5 h4 6. Rd4 h2 7. Rxh4 d2 8. Rxh2 d1=Q 9. Ra2+ Kb1 10. Rb2+ Ka1 11. Ra2+ Nxa2 1/2-1/2 --- authors: - Benkő, Pál source: Tipografia date: 1969 algebraic: white: [Kd3, Rd5, Bf2, Sb5] black: [Kf5, Re5, Sf6] stipulation: "h#2" options: - SetPlay solution: "1.Re5*d5 + Sb5-d4 + 2.Kf5-e5 Bf2-g3 #" --- authors: - Benkő, Pál - Kalotay, Andrew source: The Problemist date: 1989 distinction: 4th Prize algebraic: white: [Kb3, Rd2, Bb8] black: [Ke4] stipulation: "h#3.5" twins: b: Move b8 a7 c: Move b3 c2 solution: | "a) 1. ... Re2+ 2. Kd3 Re3+ 3. Kd2 Bf4 4. Kc1 Re1# b) Move wBb8 == a7 1. ... Rh2 2. Kd3 Rh1 3. Kd2 Bg1 4. Kc1 Be3# c) Move wKb3 == c2 1. ... Rd1 2. Kf3 Kd2 3. Kg2 Ke1 4. Kh1 Kf2#" keywords: - Battery creation - No pawns --- authors: - Benkő, Pál source: algebraic: white: [Ke1, Rg7, Bd4, Ba8, Ph3] black: [Kf4, Pf5] stipulation: "#3" solution: | "1.Bd4-f6 ! zugzwang. 1...Kf4-e3 2.Rg7-g3 + 2...Ke3-f4 3.Rg3-f3 #" --- authors: - Benkő, Pál source: algebraic: white: [Kf2, Rh7, Be4, Bb8, Pg3] black: [Kg4, Pg6, Pg5] stipulation: "#3" solution: | "1.Be4-d5 ! threat: 2.Bd5-e6 # 1...Kg4-f5 2.g3-g4 + 2...Kf5-f6 3.Rh7-f7 # 2...Kf5*g4 3.Bd5-e6 #" --- authors: - Benkő, Pál source: algebraic: white: [Kd6, Rg7, Bd4, Ba8, Pf6] black: [Kf4, Pf5, Pb6] stipulation: "#3" solution: | "1.f6-f7 ! threat: 2.f7-f8=S threat: 3.Sf8-e6 #" --- authors: - Benkő, Pál source: algebraic: white: [Kf8, Rh7, Be4, Bb8, Ph4, Pg3] black: [Kg4, Pg5] stipulation: "#3" solution: | "1.h4*g5 ! zugzwang. 1...Kg4*g5 2.Bb8-f4 + 2...Kg5-g4 3.Rh7-h4 # 2...Kg5-f6 3.Rh7-h6 #" --- authors: - Benkő, Pál source: algebraic: white: [Kg6, Rh7, Be4, Bb8, Ph6, Pg3] black: [Kg4, Pg5] stipulation: "#3" solution: | "1.Rh7-f7 ! zugzwang. 1...Kg4-h3 2.Rf7-f1 zugzwang. 2...Kh3-h2 3.Rf1-h1 # 2...Kh3-g4 3.Be4-f5 # 2...g5-g4 3.Rf1-h1 #" --- authors: - Benkő, Pál source: algebraic: white: [Kb7, Sh8, Pg2, Pe5, Pe4, Pd2, Pa6, Pa3, Pa2] black: [Kd7, Pe6] stipulation: "#6" solution: | "1.a6-a7 ! threat: 2.Kb7-b6 threat: 3.a7-a8=Q threat: 4.Sh8-f7 threat: 5.Qa8-d8 # 4...Kd7-e7 5.Qa8-g8 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sf7-d6 threat: 6.Qa8-e8 # 4.Qa8-b7 + 4...Kd7-d8 5.Sh8-g6 zugzwang. 5...Kd8-e8 6.Qb7-e7 # 5.Qb7-f7 zugzwang. 5...Kd8-c8 6.Qf7-e8 # 6.Qf7-c7 # 4...Kd7-e8 5.Qb7-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb6-c6 zugzwang. 5...Ke8-f8 6.Qb7-f7 # 5...Ke8-d8 6.Qb7-d7 # 4.Qa8-a7 + 4...Kd7-d8 5.Sh8-g6 zugzwang. 5...Kd8-e8 6.Qa7-e7 # 5...Kd8-c8 6.Qa7-c7 # 5.Qa7-f7 zugzwang. 5...Kd8-c8 6.Qf7-e8 # 6.Qf7-c7 # 4...Kd7-c8 5.Qa7-c7 # 4...Kd7-e8 5.Qa7-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb6-c6 zugzwang. 5...Ke8-d8 6.Qa7-d7 # 5...Ke8-f8 6.Qa7-f7 # 4.Qa8-g8 zugzwang. 4...Kd7-e7 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 3...Kd7-e7 4.Qa8-b7 + 4...Ke7-d8 5.Sh8-g6 zugzwang. 5...Kd8-e8 6.Qb7-e7 # 5.Qb7-f7 zugzwang. 5...Kd8-c8 6.Qf7-e8 # 6.Qf7-c7 # 4...Ke7-e8 5.Qb7-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb6-c6 zugzwang. 5...Ke8-f8 6.Qb7-f7 # 5...Ke8-d8 6.Qb7-d7 # 4...Ke7-f8 5.Qb7-f7 # 4.Qa8-a7 + 4...Ke7-e8 5.Kb6-c6 zugzwang. 5...Ke8-f8 6.Qa7-f7 # 5...Ke8-d8 6.Qa7-d7 # 5.Qa7-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 4...Ke7-d8 5.Sh8-g6 zugzwang. 5...Kd8-e8 6.Qa7-e7 # 5...Kd8-c8 6.Qa7-c7 # 5.Qa7-f7 zugzwang. 5...Kd8-c8 6.Qf7-e8 # 6.Qf7-c7 # 4...Ke7-f8 5.Qa7-f7 # 2.a7-a8=Q threat: 3.Sh8-f7 threat: 4.Qa8-d8 # 3...Kd7-e7 4.Qa8-g8 zugzwang. 4...Ke7-d7 5.Qg8-d8 # 4.Sf7-d6 threat: 5.Qa8-e8 # 3.Qa8-g8 zugzwang. 3...Kd7-e7 4.Sh8-f7 zugzwang. 4...Ke7-d7 5.Qg8-d8 # 4.Sh8-g6 + 4...Ke7-d7 5.Qg8-c8 # 2...Kd7-e7 3.Qa8-g8 threat: 4.Sh8-f7 zugzwang. 4...Ke7-d7 5.Qg8-d8 # 4.Sh8-g6 + 4...Ke7-d7 5.Qg8-c8 # 3...Ke7-d7 4.Sh8-f7 threat: 5.Qg8-d8 # 4...Kd7-e7 5.Sf7-d6 threat: 6.Qg8-e8 # 5.Kb7-b6 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.a3-a4 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.g2-g4 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.g2-g3 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.d2-d4 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.d2-d3 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 4.Qg8-f7 + 4...Kd7-d8 5.Kb7-b6 zugzwang. 5...Kd8-c8 6.Qf7-e8 # 6.Qf7-c7 # 5.Kb7-c6 threat: 6.Qf7-d7 # 6.Qf7-f8 # 5...Kd8-c8 6.Qf7-g8 # 6.Qf7-e8 # 6.Qf7-c7 # 6.Qf7-f8 # 4.Qg8-h7 + 4...Kd7-d8 5.Sh8-g6 threat: 6.Qh7-e7 # 4...Kd7-e8 5.Sh8-g6 threat: 6.Qh7-e7 # 5.Qh7-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-c7 threat: 6.Qh7-f7 # 5.Kb7-c8 threat: 6.Qh7-f7 # 5.Kb7-c6 zugzwang. 5...Ke8-f8 6.Qh7-f7 # 5...Ke8-d8 6.Qh7-d7 # 4.Qg8-g7 + 4...Kd7-d8 5.Sh8-g6 threat: 6.Qg7-e7 # 4...Kd7-e8 5.Sh8-g6 threat: 6.Qg7-e7 # 5.Qg7-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-c6 zugzwang. 5...Ke8-d8 6.Qg7-f8 # 6.Qg7-d7 # 4.Kb7-b6 zugzwang. 4...Kd7-e7 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 4.a3-a4 zugzwang. 4...Kd7-e7 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 4.g2-g4 zugzwang. 4...Kd7-e7 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 4.g2-g3 zugzwang. 4...Kd7-e7 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 4.d2-d4 zugzwang. 4...Kd7-e7 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 4.d2-d3 zugzwang. 4...Kd7-e7 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 3.Qa8-b8 threat: 4.Qb8-d6 + 4...Ke7-e8 5.Qd6-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Qd6*e6 + 5...Ke8-f8 6.Qe6-f7 # 5...Ke8-d8 6.Sh8-f7 # 4.Qb8-c7 + 4...Ke7-e8 5.Kb7-b8 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-a7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-b6 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-a8 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-c8 threat: 6.Qc7-d8 # 6.Qc7-f7 # 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-c6 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-a6 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.a3-a4 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.g2-g4 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.g2-g3 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.d2-d4 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.d2-d3 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 4...Ke7-f8 5.Qc7-f7 # 4.Kb7-a6 zugzwang. 4...Ke7-d7 5.Sh8-g6 zugzwang. 5...Kd7-c6 6.Qb8-d6 # 6.Qb8-c8 # 3...Ke7-d7 4.Sh8-f7 threat: 5.Qb8-d8 # 4...Kd7-e7 5.Qb8-g8 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sf7-d6 threat: 6.Qb8-e8 # 4.Qb8-d6 + 4...Kd7-e8 5.Qd6-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Qd6*e6 + 5...Ke8-f8 6.Qe6-f7 # 5...Ke8-d8 6.Sh8-f7 # 4.Qb8-c7 + 4...Kd7-e8 5.Kb7-b8 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-a7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-b6 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-a8 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-c8 threat: 6.Qc7-d8 # 6.Qc7-f7 # 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-c6 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-a6 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.a3-a4 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.g2-g4 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.g2-g3 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.d2-d4 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.d2-d3 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 4.Qb8-g8 zugzwang. 4...Kd7-e7 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 3.Kb7-a7 threat: 4.Qa8-b7 + 4...Ke7-f8 5.Qb7-f7 # 4...Ke7-e8 5.Qb7-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 4...Ke7-d8 5.Sh8-g6 zugzwang. 5...Kd8-e8 6.Qb7-e7 # 3.Kb7-b6 threat: 4.Qa8-b7 + 4...Ke7-e8 5.Qb7-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb6-c6 zugzwang. 5...Ke8-f8 6.Qb7-f7 # 5...Ke8-d8 6.Qb7-d7 # 4...Ke7-d8 5.Sh8-g6 zugzwang. 5...Kd8-e8 6.Qb7-e7 # 5.Qb7-f7 zugzwang. 5...Kd8-c8 6.Qf7-e8 # 6.Qf7-c7 # 4...Ke7-f8 5.Qb7-f7 # 4.Qa8-a7 + 4...Ke7-e8 5.Qa7-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb6-c6 zugzwang. 5...Ke8-d8 6.Qa7-d7 # 5...Ke8-f8 6.Qa7-f7 # 4...Ke7-d8 5.Sh8-g6 zugzwang. 5...Kd8-e8 6.Qa7-e7 # 5...Kd8-c8 6.Qa7-c7 # 5.Qa7-f7 zugzwang. 5...Kd8-c8 6.Qf7-e8 # 6.Qf7-c7 # 4...Ke7-f8 5.Qa7-f7 # 3.Kb7-a6 threat: 4.Qa8-b7 + 4...Ke7-f8 5.Qb7-f7 # 4...Ke7-e8 5.Qb7-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 4...Ke7-d8 5.Sh8-g6 zugzwang. 5...Kd8-e8 6.Qb7-e7 # 4.Qa8-b8 zugzwang. 4...Ke7-d7 5.Sh8-g6 zugzwang. 5...Kd7-c6 6.Qb8-d6 # 6.Qb8-c8 # 3...Ke7-d7 4.Qa8-b7 + 4...Kd7-d8 5.Sh8-g6 zugzwang. 5...Kd8-e8 6.Qb7-e7 # 4...Kd7-e8 5.Qb7-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 3.a3-a4 zugzwang. 3...Ke7-d7 4.Sh8-f7 threat: 5.Qa8-d8 # 4...Kd7-e7 5.Qa8-g8 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sf7-d6 threat: 6.Qa8-e8 # 4.Qa8-g8 zugzwang. 4...Kd7-e7 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 3.g2-g4 zugzwang. 3...Ke7-d7 4.Sh8-f7 threat: 5.Qa8-d8 # 4...Kd7-e7 5.Qa8-g8 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sf7-d6 threat: 6.Qa8-e8 # 4.Qa8-g8 zugzwang. 4...Kd7-e7 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 3.g2-g3 zugzwang. 3...Ke7-d7 4.Sh8-f7 threat: 5.Qa8-d8 # 4...Kd7-e7 5.Qa8-g8 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sf7-d6 threat: 6.Qa8-e8 # 4.Qa8-g8 zugzwang. 4...Kd7-e7 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 3.d2-d4 zugzwang. 3...Ke7-d7 4.Sh8-f7 threat: 5.Qa8-d8 # 4...Kd7-e7 5.Qa8-g8 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sf7-d6 threat: 6.Qa8-e8 # 4.Qa8-g8 zugzwang. 4...Kd7-e7 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 4.d4-d5 threat: 5.Sh8-g6 threat: 6.Qa8-c8 # 5.Qa8-c8 + 5...Kd7-e7 6.d5-d6 # 4...e6*d5 5.Sh8-g6 threat: 6.Qa8-c8 # 5...Kd7-e6 6.Qa8-e8 # 4...Kd7-e7 5.d5-d6 + 5...Ke7-d7 6.Qa8-c8 # 5.d5*e6 zugzwang. 5...Ke7*e6 6.Qa8-e8 # 3.d2-d3 zugzwang. 3...Ke7-d7 4.Sh8-f7 threat: 5.Qa8-d8 # 4...Kd7-e7 5.Qa8-g8 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sf7-d6 threat: 6.Qa8-e8 # 4.Qa8-g8 zugzwang. 4...Kd7-e7 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 1...Kd7-e8 2.a7-a8=Q + 2...Ke8-e7 3.Qa8-g8 threat: 4.Sh8-f7 zugzwang. 4...Ke7-d7 5.Qg8-d8 # 4.Sh8-g6 + 4...Ke7-d7 5.Qg8-c8 # 3...Ke7-d7 4.Sh8-f7 threat: 5.Qg8-d8 # 4...Kd7-e7 5.Sf7-d6 threat: 6.Qg8-e8 # 5.Kb7-b6 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.a3-a4 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.g2-g4 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.g2-g3 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.d2-d4 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.d2-d3 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 4.Qg8-f7 + 4...Kd7-d8 5.Kb7-b6 zugzwang. 5...Kd8-c8 6.Qf7-e8 # 6.Qf7-c7 # 5.Kb7-c6 threat: 6.Qf7-d7 # 6.Qf7-f8 # 5...Kd8-c8 6.Qf7-g8 # 6.Qf7-e8 # 6.Qf7-c7 # 6.Qf7-f8 # 4.Qg8-h7 + 4...Kd7-d8 5.Sh8-g6 threat: 6.Qh7-e7 # 4...Kd7-e8 5.Sh8-g6 threat: 6.Qh7-e7 # 5.Qh7-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-c7 threat: 6.Qh7-f7 # 5.Kb7-c8 threat: 6.Qh7-f7 # 5.Kb7-c6 zugzwang. 5...Ke8-f8 6.Qh7-f7 # 5...Ke8-d8 6.Qh7-d7 # 4.Qg8-g7 + 4...Kd7-d8 5.Sh8-g6 threat: 6.Qg7-e7 # 4...Kd7-e8 5.Sh8-g6 threat: 6.Qg7-e7 # 5.Qg7-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-c6 zugzwang. 5...Ke8-d8 6.Qg7-f8 # 6.Qg7-d7 # 4.Kb7-b6 zugzwang. 4...Kd7-e7 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 4.a3-a4 zugzwang. 4...Kd7-e7 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 4.g2-g4 zugzwang. 4...Kd7-e7 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 4.g2-g3 zugzwang. 4...Kd7-e7 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 4.d2-d4 zugzwang. 4...Kd7-e7 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 4.d2-d3 zugzwang. 4...Kd7-e7 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 3.Qa8-b8 threat: 4.Qb8-d6 + 4...Ke7-e8 5.Qd6-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Qd6*e6 + 5...Ke8-f8 6.Qe6-f7 # 5...Ke8-d8 6.Sh8-f7 # 4.Qb8-c7 + 4...Ke7-e8 5.Kb7-b8 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-a7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-b6 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-a8 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-c8 threat: 6.Qc7-d8 # 6.Qc7-f7 # 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-c6 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-a6 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.a3-a4 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.g2-g4 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.g2-g3 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.d2-d4 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.d2-d3 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 4...Ke7-f8 5.Qc7-f7 # 4.Kb7-a6 zugzwang. 4...Ke7-d7 5.Sh8-g6 zugzwang. 5...Kd7-c6 6.Qb8-d6 # 6.Qb8-c8 # 3...Ke7-d7 4.Sh8-f7 threat: 5.Qb8-d8 # 4...Kd7-e7 5.Qb8-g8 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sf7-d6 threat: 6.Qb8-e8 # 4.Qb8-d6 + 4...Kd7-e8 5.Qd6-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Qd6*e6 + 5...Ke8-f8 6.Qe6-f7 # 5...Ke8-d8 6.Sh8-f7 # 4.Qb8-c7 + 4...Kd7-e8 5.Kb7-b8 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-a7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-b6 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-a8 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-c8 threat: 6.Qc7-d8 # 6.Qc7-f7 # 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-c6 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb7-a6 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.a3-a4 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.g2-g4 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.g2-g3 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.d2-d4 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.d2-d3 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 4.Qb8-g8 zugzwang. 4...Kd7-e7 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 3.Kb7-a7 threat: 4.Qa8-b7 + 4...Ke7-f8 5.Qb7-f7 # 4...Ke7-e8 5.Qb7-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 4...Ke7-d8 5.Sh8-g6 zugzwang. 5...Kd8-e8 6.Qb7-e7 # 3.Kb7-b6 threat: 4.Qa8-b7 + 4...Ke7-e8 5.Qb7-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb6-c6 zugzwang. 5...Ke8-f8 6.Qb7-f7 # 5...Ke8-d8 6.Qb7-d7 # 4...Ke7-d8 5.Sh8-g6 zugzwang. 5...Kd8-e8 6.Qb7-e7 # 5.Qb7-f7 zugzwang. 5...Kd8-c8 6.Qf7-e8 # 6.Qf7-c7 # 4...Ke7-f8 5.Qb7-f7 # 4.Qa8-a7 + 4...Ke7-e8 5.Qa7-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 5.Kb6-c6 zugzwang. 5...Ke8-d8 6.Qa7-d7 # 5...Ke8-f8 6.Qa7-f7 # 4...Ke7-d8 5.Sh8-g6 zugzwang. 5...Kd8-e8 6.Qa7-e7 # 5...Kd8-c8 6.Qa7-c7 # 5.Qa7-f7 zugzwang. 5...Kd8-c8 6.Qf7-e8 # 6.Qf7-c7 # 4...Ke7-f8 5.Qa7-f7 # 3.Kb7-a6 threat: 4.Qa8-b7 + 4...Ke7-f8 5.Qb7-f7 # 4...Ke7-e8 5.Qb7-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 4...Ke7-d8 5.Sh8-g6 zugzwang. 5...Kd8-e8 6.Qb7-e7 # 4.Qa8-b8 zugzwang. 4...Ke7-d7 5.Sh8-g6 zugzwang. 5...Kd7-c6 6.Qb8-d6 # 6.Qb8-c8 # 3...Ke7-d7 4.Qa8-b7 + 4...Kd7-d8 5.Sh8-g6 zugzwang. 5...Kd8-e8 6.Qb7-e7 # 4...Kd7-e8 5.Qb7-c7 zugzwang. 5...Ke8-f8 6.Qc7-f7 # 3.a3-a4 zugzwang. 3...Ke7-d7 4.Sh8-f7 threat: 5.Qa8-d8 # 4...Kd7-e7 5.Qa8-g8 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sf7-d6 threat: 6.Qa8-e8 # 4.Qa8-g8 zugzwang. 4...Kd7-e7 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 3.g2-g4 zugzwang. 3...Ke7-d7 4.Qa8-g8 zugzwang. 4...Kd7-e7 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 4.Sh8-f7 threat: 5.Qa8-d8 # 4...Kd7-e7 5.Qa8-g8 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sf7-d6 threat: 6.Qa8-e8 # 3.g2-g3 zugzwang. 3...Ke7-d7 4.Sh8-f7 threat: 5.Qa8-d8 # 4...Kd7-e7 5.Sf7-d6 threat: 6.Qa8-e8 # 5.Qa8-g8 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 4.Qa8-g8 zugzwang. 4...Kd7-e7 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 3.d2-d4 zugzwang. 3...Ke7-d7 4.Qa8-g8 zugzwang. 4...Kd7-e7 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 4.Sh8-f7 threat: 5.Qa8-d8 # 4...Kd7-e7 5.Qa8-g8 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sf7-d6 threat: 6.Qa8-e8 # 4.d4-d5 threat: 5.Sh8-g6 threat: 6.Qa8-c8 # 5.Qa8-c8 + 5...Kd7-e7 6.d5-d6 # 4...e6*d5 5.Sh8-g6 threat: 6.Qa8-c8 # 5...Kd7-e6 6.Qa8-e8 # 4...Kd7-e7 5.d5-d6 + 5...Ke7-d7 6.Qa8-c8 # 5.d5*e6 zugzwang. 5...Ke7*e6 6.Qa8-e8 # 3.d2-d3 zugzwang. 3...Ke7-d7 4.Sh8-f7 threat: 5.Qa8-d8 # 4...Kd7-e7 5.Qa8-g8 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sf7-d6 threat: 6.Qa8-e8 # 4.Qa8-g8 zugzwang. 4...Kd7-e7 5.Sh8-f7 zugzwang. 5...Ke7-d7 6.Qg8-d8 # 5.Sh8-g6 + 5...Ke7-d7 6.Qg8-c8 # 2...Ke8-d7 3.Sh8-f7 threat: 4.Qa8-d8 # 3...Kd7-e7 4.Qa8-g8 zugzwang. 4...Ke7-d7 5.Qg8-d8 # 4.Sf7-d6 threat: 5.Qa8-e8 # 3.Qa8-g8 zugzwang. 3...Kd7-e7 4.Sh8-f7 zugzwang. 4...Ke7-d7 5.Qg8-d8 # 4.Sh8-g6 + 4...Ke7-d7 5.Qg8-c8 #" --- authors: - Benkő, Pál source: algebraic: white: [Ke1, Rh1, Re4, Bc7, Sg3, Pe2] black: [Kg2, Pg6] stipulation: "#2" solution: | "1.Re5?? zz 1...Kxg3 2.Rg5# but 1...g5! 1.Rf4?? (2.Rf2#) but 1...Kxg3! 1.e3?? zz 1...Kf3 2.O-O# but 1...g5! 1.Reh4! (2.R4h2#)" --- authors: - Benkő, Pál source: algebraic: white: [Ke1, Rh1, Re4, Bc7, Sg3, Pf5, Pe2] black: [Kg2] stipulation: "#2" solution: | "1.Rf4?? (2.Rf2#) but 1...Kxg3! 1.e3! zz 1...Kf3 2.O-O#" keywords: - Flight giving key --- authors: - Benkő, Pál source: algebraic: white: [Kf3, Qd3, Bd8, Sg5, Pe6] black: [Ke5, Pd7] stipulation: "#2" solution: | "1...dxe6 2.Nf7# 1...d6 2.Qe4# 1.Ke3?? zz 1...dxe6 2.Nf3#/Nf7# 1...d6 2.Qe4# but 1...d5! 1.Kg3?? zz 1...dxe6 2.Nf3#/Nf7# 1...d6 2.Qe4# but 1...d5! 1.Kg4?? zz 1...dxe6 2.Nf3#/Nf7# 1...d6 2.Qe4# but 1...d5! 1.Be7?? (2.Qe4#) but 1...d5! 1.Qd4+?? 1...Kf5 2.Qe4#/Qf6# but 1...Kxd4! 1.Qc4! zz 1...Kf5/d6 2.Qe4# 1...Kd6 2.Nf7# 1...dxe6 2.Qc5# 1...d5 2.Qf4#" keywords: - 2 flights giving key --- authors: - Benkő, Pál source: Blitz date: 1995 algebraic: white: [Kh3, Ra1, Bg1, Bb1] black: [Kh1, Rf8, Pf3] stipulation: "#2" solution: | "1.Bg6?? (2.Bh2#/Bf2#/Be3#/Bd4#/Bc5#/Bb6#/Ba7#) 1...f2 2.Bxf2# 1...Re8 2.Be3# 1...Rd8 2.Bd4# 1...Rc8 2.Bc5# 1...Rb8 2.Bb6# 1...Ra8 2.Ba7# but 1...Rh8+! 1.Bh7?? (2.Bh2#/Bf2#/Be3#/Bd4#/Bc5#/Bb6#/Ba7#) 1...f2 2.Bxf2# 1...Re8 2.Be3# 1...Rd8 2.Bd4# 1...Rc8 2.Bc5# 1...Rb8 2.Bb6# 1...Ra8 2.Ba7# but 1...Rg8! 1.Bh2?? (2.Bc2#/Bd3#/Be4#/Bf5#/Bg6#/Bh7#/Ba2#) 1...f2/Re8 2.Be4# 1...Rf5 2.Bc2#/Bd3#/Be4#/Bxf5#/Ba2# 1...Rd8 2.Bd3# 1...Rc8 2.Bc2# 1...Ra8 2.Ba2# 1...Rg8 2.Bg6# 1...Rh8+ 2.Bh7# but 1...Rb8! 1.Bf2?? (2.Bc2#/Bd3#/Be4#/Bf5#/Bg6#/Bh7#/Ba2#) 1...Rf5 2.Bc2#/Bd3#/Be4#/Bxf5#/Ba2# 1...Re8 2.Be4# 1...Rd8 2.Bd3# 1...Rc8 2.Bc2# 1...Ra8 2.Ba2# 1...Rg8 2.Bg6# 1...Rh8+ 2.Bh7# but 1...Rb8! 1.Be3?? (2.Bc2#/Bd3#/Be4#/Bf5#/Bg6#/Bh7#/Ba2#) 1...f2 2.Be4# 1...Rf5 2.Bc2#/Bd3#/Be4#/Bxf5#/Ba2# 1...Rd8 2.Bd3# 1...Rc8 2.Bc2# 1...Ra8 2.Ba2# 1...Rg8 2.Bg6# 1...Rh8+ 2.Bh7# but 1...Rb8! 1.Bd4?? (2.Bc2#/Bd3#/Be4#/Bf5#/Bg6#/Bh7#/Ba2#) 1...f2/Re8 2.Be4# 1...Rf5 2.Bc2#/Bd3#/Be4#/Bxf5#/Ba2# 1...Rc8 2.Bc2# 1...Ra8 2.Ba2# 1...Rg8 2.Bg6# 1...Rh8+ 2.Bh7# but 1...Rb8! 1.Bc5?? (2.Bc2#/Bd3#/Be4#/Bf5#/Bg6#/Bh7#/Ba2#) 1...f2/Re8 2.Be4# 1...Rf5 2.Bc2#/Bd3#/Be4#/Bxf5#/Ba2# 1...Rd8 2.Bd3# 1...Ra8 2.Ba2# 1...Rg8 2.Bg6# 1...Rh8+ 2.Bh7# but 1...Rb8! 1.Ba7?? (2.Bc2#/Bd3#/Be4#/Bf5#/Bg6#/Bh7#/Ba2#) 1...f2/Re8 2.Be4# 1...Rf5 2.Bc2#/Bd3#/Be4#/Bxf5#/Ba2# 1...Rd8 2.Bd3# 1...Rc8 2.Bc2# 1...Rg8 2.Bg6# 1...Rh8+ 2.Bh7# but 1...Rb8! 1.Bb6! (2.Bc2#/Bd3#/Be4#/Bf5#/Bg6#/Bh7#/Ba2#) 1...f2/Re8 2.Be4# 1...Rf5 2.Bc2#/Bd3#/Be4#/Bxf5#/Ba2# 1...Rd8 2.Bd3# 1...Rc8 2.Bc2# 1...Ra8 2.Ba2# 1...Rg8 2.Bg6# 1...Rh8+ 2.Bh7#" keywords: - Flight taking key --- authors: - Benkő, Pál source: algebraic: white: [Ke6, Qf1, Pf4] black: [Ke8, Ra8, Ph7, Pc7, Pa7] stipulation: "#2" twins: b: move h7 g6 solution: | "a) 1.Qa1! (2.Qh8#) (1. ... O-O-O?) b) 1.Qh1! (2.Qh8#/Q:a8#) 1. ... O-O-O 2.Qa8#" keywords: - Retro - Cantcastler - Four corners - Corner to corner --- authors: - Benkő, Pál source: algebraic: white: [Kd6, Qc1, Pc4] black: [Kd8, Rh8, Ph7, Pf7, Pa7] stipulation: "#2" solution: | "1.Qb1?? (2.Qb8#) but 1...Kc8! 1.Qb2?? (2.Qb8#/Qxh8#) 1...Rg8/Rf8/Re8/f6 2.Qb8# but 1...Kc8! 1.Qh1! (2.Qa8#)" --- authors: - Benkő, Pál source: date: 1983 algebraic: white: [Kb6, Qb1, Rb7] black: [Ke8, Rh8, Bh7] stipulation: "#2" solution: | "1...O-O 2.Qxh7# 1.Qb4?? (2.Qe7#) but 1...Kd8! 1.Qb5+?? 1...Kd8 2.Qd7# but 1...Kf8! 1.Qf5?? (2.Qc8#) 1...Kd8 2.Qd7# but 1...Bxf5! 1.Qxh7?? (2.Rb8#/Qxh8#/Qe7#) 1...Kd8 2.Rb8#/Qxh8#/Qd7# 1...Kf8 2.Rb8#/Qxh8#/Qf7# 1...Rg8 2.Rb8#/Qe7#/Qxg8# 1...Rf8 2.Rb8#/Qe7#/Qd7# but 1...Rxh7! 1.Qa2?? (2.Qa8#) but 1...Bf5! 1.Qa1! (2.Qa8#) 1...O-O 2.Qg7# 1...Bf5 2.Qxh8#" keywords: - No pawns comments: - twin of 144870 --- authors: - Benkő, Pál source: Chess Life Online date: 2013-02 algebraic: white: [Kg6, Qd4, Bg5, Sf7, Se3, Pf4] black: [Ke6, Qc5, Bc7, Bc6, Pg7, Pd7] stipulation: "#2" solution: | "1.Qd6+! Bxd6 2.Sd8# 1....Qxd6 2.f5#" keywords: - Scaccografia comments: - Happy Valentine's Day With Chess --- authors: - Benkő, Pál source: Magyar Sakkélet date: 1970 algebraic: white: [Ka2, Bb8, Se5] black: [Ke6, Pd7, Pd5] stipulation: "h#4" twins: b: Move b8 b7 solution: | "a) 1.d6 Sf3 2.Kd7 Kb3 3.Kc6 Sd4+ 4.Kc5 Ba7# b) 1.d4 Bc8 2.Kd5 Sd3 3.Kc4 Kb2 4.d5 Ba6#" --- authors: - Benkő, Pál source: algebraic: white: [Ka2, Qc6, Bb2, Sc3] black: [Kb4, Sb6, Pc5, Pa6] stipulation: "#2" solution: | "1.Ba1! waiting 1....a5 2.Qb5# 1....c4 2.Qxb6# 1....S~ 2.Q(x)a4# 1....Kc4 2.Qe4#" keywords: - Digits comments: - before 2004 --- authors: - Benkő, Pál source: algebraic: white: [Kc5, Bc4, Sc2, Pc3] black: [Ka5, Sc6, Pb4, Pa6, Pa4] stipulation: "#3" solution: | "1.Sd4! threat 2.Sxc6# 1....S~ 2.cxb4# 1....a3 2.Bb3 a2 (or bxc3) 3.Sxc6# 2....S~ 3.cxb4#" keywords: - Digits - Letters comments: - before 2004 --- authors: - Benkő, Pál source: algebraic: white: [Kb3, Bc7, Sd3, Sc5, Pd6, Pb6] black: [Kb5, Pd5, Pd4, Pb4] stipulation: "#3" solution: "1.b7! Kc6 2.Ka4 b3 3.b8/S#" keywords: - Letters comments: - before 2004 --- authors: - Benkő, Pál source: Chess Life on Line date: 2015-02 algebraic: white: [Kg3, Bg7, Sh4, Sf4, Pf6, Pf5, Pf3] black: [Kg5, Ph6, Pf7] stipulation: "#4" solution: | "1.Se2! 1....h5 2.f4# 1....Kh5 2.Kh3 Kg5 3.f4+ Kh5 4.Sg3#" keywords: - Letters comments: - B for Benko --- authors: - Benkő, Pál source: algebraic: white: [Kc5, Rb6, Rb4, Pc3, Pb2] black: [Ka5, Ba6, Sa3, Sa2, Pa4] stipulation: "#3" solution: | "1.b3! threat 2.Rxa4# 1....axb3 2.Ra4+ Kxa4 3.Rxa6# 1....Sxc3 2.R4b5+ ~xb5 3.b4# 1....Bb5 2.R6xb5+ Sxb5 (or Ka6) 3.Rxa4#" keywords: - Letters comments: - before 2004 - "All my family's names start with a letter \"B" --- authors: - Benkő, Pál source: Chess Life date: 2015-02 algebraic: white: [Kb2, Bc6, Bb6, Sb3, Pd3, Pc2] black: [Kb4, Sb5, Pd5, Pd4] stipulation: "#3" twins: b: Shift a1=b1 solution: | "a) 1.Bb6*d4 ! zugzwang. 1...Kb4-a4 2.Bd4-c3 threat: 3.Sb3-c5 # 1...Sb5-a3 2.Bd4-c3 # 2.Bd4-c5 # 2.c2-c3 # 1...Sb5-c3 2.Bd4*c3 # 2.Bd4-c5 # 1...Sb5*d4 2.c2-c3 # 1...Sb5-d6 2.Bd4-c3 # 2.Bd4-c5 # 2.c2-c3 # 1...Sb5-c7 2.Bd4-c3 # 2.Bd4-c5 # 2.c2-c3 # 1...Sb5-a7 2.Bd4-c3 # 2.Bd4-c5 # 2.c2-c3 # b) 1.Bb6*d4 ! zugzwang. 1...Kb4-a4 2.Bd4-c3 threat: 3.Sb3-c5 # 1...Sb5-a3 2.Bd4-c3 # 2.Bd4-c5 # 2.c2-c3 # 1...Sb5-c3 2.Bd4*c3 # 2.Bd4-c5 # 1...Sb5*d4 2.c2-c3 # 1...Sb5-d6 2.Bd4-c3 # 2.Bd4-c5 # 2.c2-c3 # 1...Sb5-c7 2.Bd4-c3 # 2.Bd4-c5 # 2.c2-c3 # 1...Sb5-a7 2.Bd4-c3 # 2.Bd4-c5 # 2.c2-c3 #" keywords: - Letters comments: - first name letter initial of Daniel Lucas (Chess Life Editor) with 381314 --- authors: - Benkő, Pál source: algebraic: white: [Ke1, Be5, Be4, Se2] black: [Ke3] stipulation: "#4" solution: "1.Bf5! Kf3 2.Bf4 Kg2 3.Bg4 Kh1 4.Bf3#" keywords: - Letters comments: - before 2004 --- authors: - Benkő, Pál source: algebraic: white: [Kc5, Rb1, Ra2, Bc2] black: [Kc3, Pc4] stipulation: "#3" solution: "1.Ba4! Kd3 2.Re1 Kc3 3.Re3#" keywords: - Letters comments: - before 2004 --- authors: - Benkő, Pál source: algebraic: white: [Ka2, Qc2, Ra3, Bc6, Pa6] black: [Kb4, Sc5, Sa4, Pc3, Pa5] stipulation: "#3" solution: | "1.Qf5! 1....Sc~ 2.Qb5# 1....c2 2.Qxc2 Sa~ 3.Q(x)c3# 2....Sc~ 3.Q(x)b3# 1....Sa~ 2.Qe5 ~ 3.Qxc3# or Qd4# 1....Kc4 2.Qd5+ Kb4 3.Qd4#" keywords: - Letters comments: - before 2004 --- authors: - Benkő, Pál source: algebraic: white: [Ke2, Rd2, Bc2, Sc6, Sc3] black: [Kc4, Pc5] stipulation: "#2" solution: "1.Ba4! Kxc3 2.Rc2#" keywords: - Letters comments: - before 2004 --- authors: - Benkő, Pál source: algebraic: white: [Ke2, Rc2, Bd2, Sc6, Sc3] black: [Kc4, Pc5] stipulation: "#3" solution: "1.Ra2! Kb3 2.Sa5+ Kb4 3.Ra4#" keywords: - Letters comments: - before 2004 --- authors: - Benkő, Pál source: date: 1978 algebraic: white: [Kg2, Rc3, Sg4, Sf3, Pg3, Pd3, Pc4, Pc2] black: [Ke2] stipulation: "#3" solution: "1.Sf2! Ke3 2.Kf1 Kxf3 3.d4#" keywords: - Letters comments: - With 219125, first name letter initial of Max Euwe for 77th birthday. --- authors: - Benkő, Pál source: algebraic: white: [Kc2, Rc1, Bc3, Sd3, Pf4, Pc4] black: [Ke2, Bf2, Bf1, Pf3] stipulation: "#3" solution: | "1.Bd4! 1....Bxd4 2.Re1# 1....B1~ 2.Bxf2 B~ 3.Re1# 1....Bg3(h4) 2.Re1+ Bxe1 3.Sc1#" keywords: - Letters comments: - before 2004 --- authors: - Benkő, Pál source: Chess Life Online date: 2015-01 algebraic: white: [Kb7, Bc5, Bc4, Sa4, Pb3, Pa6] black: [Ka5, Pc6] stipulation: "#3" solution: | "1.Bd5! 1....cxd5 2.Sc3 d4 3.b4# 1....Kb5 2.Bxc6+ Ka5 3.b4#" keywords: - Digits - Letters comments: - A Happy New Year from Benko - Digit 0 in 2015 with 381062, 381063, 381064, 381065, 381066, and 381067 --- authors: - Benkő, Pál source: algebraic: white: [Kb3, Rb7, Sc4, Sa4, Pa6, Pa5] black: [Kc6, Pc5] stipulation: "#3" solution: | "1.Sab6! 1....Kb5 2.Sc8+ Kxa6 3.Rb6# 2....Kc6 3.Se7#" keywords: - Digits - Letters comments: - before 2004 --- authors: - Benkő, Pál source: Chess Life source-id: 81 date: 1968-02 algebraic: white: [Kc5, Rb4, Sa3, Pb6, Pa6] black: [Ka5, Ba2, Pa4] stipulation: "#3" twins: b: Remove b6 solution: | "diagram 1.b7! 1....Bd5 2.b8/S Bc4(c6) 3.S(x)c4# 2....B other 3.Rb5# 1....Kxa6 2.b8/Q ~ 3.Qb6# b) -Pb6 1.a7! 1....Bd5 2.Rb6 B SW-NE 3.a8/R (or Q)# 2....B NW-SE 3.Sc4#" keywords: - Letters comments: - With 386048, dedicated to Jacqueline Piatigorsky, one of the sponsors for the First International Endgame and Problem Composing Contest of the United States --- authors: - Benkő, Pál source: algebraic: white: [Kd3, Rc4, Rb7, Sa4, Pc6, Pc5, Pb3] black: [Ka5, Sa6] stipulation: "#3" solution: | "1.Rb8! 1....Sb4+ 2.Rcxb4 Ka6 3.Ra8# 1....Sxb8 2.Sc3 ~ 3.Ra4# 1....Sxc5+ 2.Rxc5+ Ka6 3.Ra8#" keywords: - Letters comments: - before 2004 --- authors: - Benkő, Pál source: algebraic: white: [Kb3, Bc7, Sd3, Sc5, Pd6, Pd4, Pb6] black: [Kb5, Pb7, Pb4] stipulation: "#3" solution: | "1.Sc1! 1....Ka5 2.Kc4 b3 3.S1xb3# 1....Kc6 2.Kc4 b3 3.d5#" keywords: - Letters comments: - before 2004 --- authors: - Benkő, Pál source: algebraic: white: [Kg3, Bg5, Bg4, Ph7, Pf7] black: [Kg6, Pg7] stipulation: "#3" solution: | "1.f8/Q! 1....Kxh7 2.Bf6 gxf6 3.Bf5# 2....g6 or Kh6 3.Q(x)g7# 2....g5 3.Qg7# or Bf5#" keywords: - Letters comments: - before 2004 --- authors: - Benkő, Pál source: Chess Life on Line date: 2015-02 algebraic: white: [Kf6, Rd4, Rb6, Se5] black: [Kc5] stipulation: "#3" solution: "1.dRb4! Kd5 2.Ke7 K~ 3.6Rb5#" keywords: - Letters comments: - V for Valentine's --- authors: - Benkő, Pál source: algebraic: white: [Kf3, Re2, Bf4, Sc2, Pb3] black: [Kd3, Pd4, Pb4] stipulation: "#3" solution: "1.Sa1! Kc3 2.Ke4 d3 3.Be5#" keywords: - Letters comments: - before 2004 --- authors: - Benkő, Pál source: algebraic: white: [Kf4, Ph7, Ph4, Pg5, Pf7] black: [Kg6] stipulation: "#3" solution: "1.f8/Q! Kxh7 2.Kg4 Kg6 3.Qg8#" keywords: - Letters comments: - before 2004 --- authors: - Benkő, Pál source: algebraic: white: [Ke2, Rf6, Rd6, Sf5, Se3, Pd5] black: [Ke4] stipulation: "#3" solution: | "1.Rg6! 1....Ke5 2.Rde6+ Kf4 3.Rg4# 1....Kf4 2.Rg4+ Ke5 3.Re6#" keywords: - Letters comments: - before 2004 --- authors: - Benkő, Pál source: algebraic: white: [Kf6, Rh6, Rf2, Sg2, Sf3, Ph5, Ph2, Pg6] black: [Kg4] stipulation: "#3" solution: "1.g7! Kh3 2.g8/B Kg4 3.Be6#" keywords: - Letters comments: - before 2004 --- authors: - Benkő, Pál source: algebraic: white: [Kh6, Rf2, Bf6, Sg2, Sf3, Ph5, Ph2, Pg6, Pe5] black: [Kg4] stipulation: "#3" solution: | "1.g7! 1....Kf5 2.Sg5+ Kg4 3.Rf4# 1....Kh3 2.g8/B Kg4 3.Be6#" keywords: - Digits - Letters comments: - before 2004 --- authors: - Benkő, Pál source: Chess Life & Review date: 1972-01 algebraic: white: [Kb4, Sb5, Sa7, Pb6] black: [Kb7, Bb8] stipulation: + solution: 1.Kc5 Bg3 2.Sc6 Bf2+ 3.Scd4 Bg1 4.Sd6+ Kb8 Kd5 wins keywords: - Digits --- authors: - Benkő, Pál source: algebraic: white: [Kg4, Bf8, Be4, Sg7, Se5, Pf4] black: [Kf6, Be8] stipulation: "#3" solution: | "1.Bf5! 1....Bf7 2.Sd7# 1....Bh5+ 2.Sxh5# 1....Bg6 2.Sd7+ Kf7 3.Be6#" keywords: - Digits comments: - before 2004 --- authors: - Benkő, Pál source: algebraic: white: [Kc7, Qa3, Bb3, Sc4] black: [Kb5, Sc6, Sb7, Pa7] stipulation: "#3" solution: | "1.Sd2! threat 2.Bc4# 1....~Sa5 2.Qa4+ Ka6 3.Bc4# 2....Kc5 3.Se4# 1....Sb4 2.Bc4+ Kc5 3.Qe3# 1....Sd6 2.Ba4+ K~ 3.Bxc6#" keywords: - Digits comments: - before 2004 --- authors: - Benkő, Pál source: algebraic: white: [Kf3, Rd5, Bd7, Sf5, Se5] black: [Kf6, Pf7, Pf4, Pd6] stipulation: "#3" solution: | "1.Kg4! 1....f3 2.Kh5 dxe5 3.Rd6# 2....f2 3.Sg4#" keywords: - Digits - Letters comments: - before 2004 --- authors: - Benkő, Pál source: algebraic: white: [Kd6, Rf6, Sf3, Pe2, Pd4, Pd2] black: [Ke4, Se6, Pd5] stipulation: "#3" solution: | "1.Rf7! 1....Sxd4 2.Sg5# 1....Sc5 2.dxc5 d4 3.Sg5# 1....S other 2.S(x)g5+ Kxd4 3.R(x)f4#" keywords: - Digits comments: - before 2004 --- authors: - Benkő, Pál source: algebraic: white: [Ke5, Rg2, Bf1, Be1, Sf5] black: [Kf3, Se4, Pg5] stipulation: "#2" solution: | "1.Bf2! threat 2.Sd4# 1....Sxf2 2.Rg3# 1....g4 2.Sd4# or Sh4#" keywords: - Digits comments: - before 2004 --- authors: - Benkő, Pál source: algebraic: white: [Kb6, Qc6, Rc5, Ba2] black: [Kb4, Ba6, Sa3] stipulation: "#2" solution: | "1.Qd6! threat 2.Rc4# 1....Sc4+ 2.Rxc4# 1....Ka4 2.Ra5#" keywords: - Digits comments: - before 2004 --- authors: - Benkő, Pál source: algebraic: white: [Kh4, Rg7, Rg5, Sf4, Pg3] black: [Kh6, Rf6] stipulation: "#3" solution: | "1.g4! 1....Rxf4 2.R5g6# 1....Re6 2.Rf7 Re5 Rg6# 2....R other 3.Rh5#" keywords: - Digits comments: - before 2004 --- authors: - Benkő, Pál source: new.uschess.org date: 2016-07 algebraic: white: [Ke4, Be8, Sf7, Sf5] black: [Ke6, Rd7, Sd5] stipulation: "h#2" intended-solutions: 2 solution: | "1.Sd5-f6 + Ke4-f4 2.Rd7-d5 Sf7-g5 # 1.Rd7-e7 Ke4-d4 2.Sd5-f6 Sf5-g7 #" keywords: - Digits comments: - composed before 2004 - Pál Benko became 88 years of age on the 15th of July 2016. It is also an helpmate in 2 and Pál was born in 1928. --- authors: - Benkő, Pál source: Chess Life & Review date: 1972-01 algebraic: white: [Ke3, Rg6, Re6, Sg5, Sg4, Pf3] black: [Kf5, Bf7, Pg7] stipulation: "#2" solution: | "1.Se4! threat 2.Sd6# and Sg3# 1....Bxe6 2.Rg5# 1....Bxg6 2.Re5#" keywords: - Digits --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: version date: 1971 distinction: 1st Prize algebraic: white: [Kg6, Qd2, Se1, Pf4] black: [Ke4] stipulation: "#3" twins: b: Continued Move e1 f5 c: Continued ... solution: | "a) 1. Kg6-h5 Ke4-f5 2. Qd2-d6 Kf5-e4 3. Qd6-e5# b) wSe1 -- f5 1. Qd2-e2(c3) Ke4-f4 2. Qe2(c3)-e3 Kf4-g4 3. Qe3-g3# 1. ... Ke4-d5 2. Qe2(c3)-c2 Kd5-e6 3. Qc2-c6# c) ..." keywords: - Cooked comments: - The twin has 40 phases --- authors: - Benkő, Pál source: algebraic: white: [Kf3, Rh6, Bg7, Bf7, Sg3] black: [Kg5, Sf4, Ph3] stipulation: "#2" solution: | "1.Rh4! threat 2.Rg4# 1....S~ 2.Rg4# 1....Kxh4 2.Bf6#" keywords: - Digits comments: - before 2012 --- authors: - Benkő, Pál source: Chess Life & Review date: 1972-01 algebraic: white: [Kg6, Sg5, Pf7, Pf3] black: [Kf4, Se3, Pg3, Pe6] stipulation: "h#2" options: - SetPlay solution: | "1. ... f8=S 2. e5 Sfe6# 1. e5 f8=B 2. e4 Bd6#" keywords: - Digits --- authors: - Benkő, Pál source: Games date: 1996 algebraic: white: [Kc5, Ba6, Sc8, Sc6, Pa5] black: [Ka8, Bb8, Sa7, Pc7, Pb5] stipulation: "#2" solution: | "1.axb6 e.p.! 1....cxb6+ 2.Sxb6# 1....S~ 2.b7#" keywords: - Digits - Letters - Retro --- authors: - Benkő, Pál - Páros, György source: Schach-Echo date: 1975 algebraic: white: [Kh2, Qh5, Rc3, Ra5, Bh6, Bf1, Sg5, Pg4, Pd7, Pb2] black: [Kd4, Qh7, Re2, Bc6, Pg7, Pf2, Pd6] stipulation: "#2" intended-solutions: 2 solution: | "1. Se6!+ 1. ... Ke4 [a] 2. Bg2 [A] # 1. ... Rxe6 2. Rc4# 1. Sf3!+ 1. ... Ke4 [a] 2. Qe8 [B] # 1. ... Bxf3 2. Ra4#" --- authors: - Kalotay, Andrew - Benkő, Pál source: The Problemist Supplement source-id: 95/2074 date: 2008-07 algebraic: white: [Kf8, Re8, Pc6] black: [Kd5, Pa7] stipulation: "h#3" twins: b: Move e8 f4 solution: --- authors: - Benkő, Pál - Kalotay, Andrew source: The Problemist Supplement source-id: 90/1964 date: 2007-09 algebraic: white: [Kf7, Re7, Rd7, Ba5, Sh2, Pe2, Pb6] black: [Kf2, Sf6] stipulation: "h#2" twins: b: Move f6 e1 c: Continue Move e1 d3 d: Continue Move a5 g4 e: Continue Move h2 d2 f: Continue Move b2 b1 solution: --- authors: - Benkő, Pál source: Chess Life Online date: 2015-01 algebraic: white: [Kh4, Rh8, Rf8, Bf4, Sh7, Pf7] black: [Kg6, Sh6, Ph5, Pf6, Pf5] stipulation: "#3" solution: | "1.Rd8! waiting 1....Sxf7 2.dRg8# 1....Sg8 2.fxg8/Q# 1....Sg4 2.f8/Q ~ 3.Qxf6# 1....Kxf7 2.Rd7+ K~ 3.Sf8#" keywords: - Letters comments: - A Happy New Year from Benko - Letter H for Happy with 381063, 381064, 381065, 355541, 381066, and 381067 --- authors: - Benkő, Pál source: Chess Life Online date: 2015-01 algebraic: white: [Ka8, Rb7, Ra5, Ba7, Ba6, Sd7, Sd5] black: [Kc6, Bd6, Sd8] stipulation: "#3" solution: | "1.5Sf6! threat 2.Bb5# 1....Sxb7 2.Bxb7+ Kc7 3.Bb6# 1....Bc5 2.Bb8 ~ 3.Bb5# 1....Bc7 2.Rd5 ~ 3.Bb5# 1....Bf4 2.Rb6+ Kc7 3.Bb8#" keywords: - Letters comments: - A Happy New Year from Benko - Letter N for New with 381062, 381064, 381065, 355541, 381066, and 381067 --- authors: - Benkő, Pál source: Chess Life Online date: 2015-01 algebraic: white: [Kb3, Ra6, Sc5, Sb4, Pa5] black: [Kb5, Bb2, Pc6] stipulation: "#3" solution: | "1.Sb7! threat 2.Rb6# 1....Bd4 2.Sd6+ Kc5 3.Rxc6#" keywords: - Letters comments: - A Happy New Year from Benko - Letter Y for Year with 381062, 381063, 381065, 355541, 381066, and 381067 --- authors: - Benkő, Pál source: Chess Life Online date: 2015-01 algebraic: white: [Ka3, Bc3, Bb7, Sa4, Pc6, Pb3] black: [Kb5, Pa7] stipulation: "#3" solution: | "1.Bd4! waiting 1....a5 2.Sc3# 1....a6 2.Sc3+ Ka5 3.b4# 1....Ka5 2.Sc3 a6 3.b4#" keywords: - Digits comments: - A Happy New Year from Benko - Digit 2 in 2015 with 381062, 381063, 381064, 355541, 381066, and 381067 --- authors: - Benkő, Pál source: Chess Life Online date: 2015-01 algebraic: white: [Kc3, Qc2, Sc5, Sc4] black: [Kc6] stipulation: "#3" solution: | "1.Qf5! waiting 1....Kb5 2.Kd4 Kb4 3.Qb1# 2....Kc6 3.Qd7# 1....Kc7 2.Qd7+ Kb8 3.Qb7#" keywords: - Digits - Letters comments: - A Happy New Year from Benko - Digit 1 in 2015 with 381062, 381063, 381064, 381065, 355541, 381067 - no original, see <<141434 --- authors: - Benkő, Pál source: Chess Life Online date: 2015-01 algebraic: white: [Kf7, Rh4, Bf3, Sg7, Pg3] black: [Kg5, Sh7, Sf6] stipulation: "#3" solution: | "1.Bg4! threat 2.Se6# 1....Sxg4 2.Rh5# 1....Sf8 2.Bh3 6S~ 3.R(x)h5# 2....8S~ 3.S(x)e6#" keywords: - Digits comments: - A Happy New Year from Benko - Digit 5 in 2015 with 381062, 381063, 381064, 381065, 355541, and 381066 --- authors: - Benkő, Pál source: Chess Life date: 2015-02 algebraic: white: [Kd2, Rb2, Sb6, Sb3, Pc2] black: [Kb4, Pb5] stipulation: "#3" twins: b: Shift a1=b1 solution: | "a) 1.Rb2-b1 ! zugzwang. 1...Kb4-a3 2.Sb3-c1 threat: 3.Rb1-b3 # b) 1.Rb2-b1 ! zugzwang. 1...Kb4-a3 2.Sb3-c1 threat: 3.Rb1-b3 #" keywords: - Letters comments: - last name letter initial of Daniel Lucas (Chess Life Editor) with 355495 --- authors: - Benkő, Pál source: Chess Life on Line date: 2015-02 algebraic: white: [Kc3, Be3, Bc6, Se6, Sc5, Pe7, Pe4] black: [Kd6, Pe5, Pc7, Pc4] stipulation: "#3" solution: | "1.e8/B! Ke7 2.Bh6 Kd6 3.Bf8# 2....Kf6 3.Bg5#" keywords: - Letters comments: - H for Happy --- authors: - Benkő, Pál source: Chess Life on Line date: 2015-02 algebraic: white: [Kc3, Be4, Be3, Se6, Sc5, Pe7, Pc6] black: [Kd6, Pe5, Pc7, Pc4] stipulation: "#3" solution: "1.e8/S+! Ke7 2.Bg6 e4 3.Bg5#" keywords: - Letters comments: - H for Happy --- authors: - Benkő, Pál source: Chess Life on Line date: 2015-02 algebraic: white: [Kf8, Rd6, Rb8, Se7] black: [Kc7] stipulation: "#3" solution: "1.dRb6! Kd7 2.8Rb7+ Kd8 3.Rd6#" keywords: - Letters comments: - V for Valentine's --- authors: - Benkő, Pál source: Chess Life on Line date: 2015-02 algebraic: white: [Kf4, Rg7, Re4, Bf8, Se7, Ph5, Pf5, Pd5] black: [Kf6, Bf7, Ph6, Pg4, Pd6] stipulation: "#2" solution: | "1.Rh7! threat (1....g3) 2.Bg7# 1....B~ 2.S(x)g8# 1....Bxd5 2.Sxd5# 1....Be6 2.Rxe6#" keywords: - Scaccografia comments: - Hearts - Letters --- authors: - Benkő, Pál source: Chess Life on Line date: 2015-02 algebraic: white: [Ke4, Rg7, Rf4, Bf8, Se7, Ph5, Pf5, Pd5] black: [Kf6, Bf7, Ph6, Pg4, Pd6] stipulation: "#2" solution: | "1.fRxg4! 1....B~ 2.4R(x)g6# 1....Be8(xh5) 2.Sg8#" keywords: - Scaccografia comments: - Hearts - Letters --- authors: - Benkő, Pál source: Chess Life on Line date: 2015-02 algebraic: white: [Kd4, Bd5, Sc3, Sb5, Pc7, Pb4] black: [Kb6, Pd6] stipulation: "#2" solution: "1.c8/S+! Ka6 2.Sc7#" keywords: - Scaccografia - Digits - Letters comments: - Rings --- authors: - Benkő, Pál source: Chess Life on Line date: 2015-02 algebraic: white: [Kb4, Bb5, Sd5, Sc3, Pd4, Pc7] black: [Kd6, Pb6] stipulation: "#3" solution: "1.c8/R! Ke6 2.Rf8 Kd6 3.Rf6#" keywords: - Scaccografia - Digits - Letters comments: - Rings - reflected on the Chess Life January 1970 cover --- authors: - Benkő, Pál source: Chess Life on Line date: 2015-02 algebraic: white: [Kg2, Rh2, Rf3, Bf5, Sg4, Pf2] black: [Kg5, Ph5] stipulation: "#3" solution: | "1.Bh7! hxg4 2.Rf5# 1....h4 2.Rf5+ Kxg4 3.f3# 1....Kxg4 2.Rf5 h4 3.f3#" keywords: - Letters - Digits comments: - Z for Ziki --- authors: - Benkő, Pál source: Chess Life on Line date: 2015-02 algebraic: white: [Kg2, Rh2, Rf3, Bf5, Sg4, Ph5, Pf2] black: [Kg5] stipulation: "#3" solution: "1.Kh3! Kxh5 2.Bh7 Kg5 3.Rf5#" keywords: - Letters - Digits comments: - Z for Ziki --- authors: - Benkő, Pál source: Chess Life on Line date: 2015-02 algebraic: white: [Kg2, Rf3, Bh3, Sg4, Ph5, Pf2] black: [Kg5] stipulation: "#3" solution: "1.Rf6! Kxh5 2.f4 Kh4 3.Rh6#" keywords: - Digits - Scaccografia comments: - Pal met Ziki 6 decades ago at a chess tournament! --- authors: - Benkő, Pál source: Chess Life on Line date: 2015-02 algebraic: white: [Kg7, Rf3, Bg5, Bf7, Sf6, Ph6] black: [Kf5, Pf4] stipulation: "#3" solution: | "1.h7! 1....Ke5 2.Rd3 ~ 3.Rd5# 1....Kxg5 2.h8/Q Kf5 3.Qh5#" keywords: - Letters comments: - P for Pal --- authors: - Benkő, Pál source: Canadian Chess Chat source-id: 13 date: 1980-05 distinction: 3rd Prize algebraic: white: [Kd2, Rh2, Pd4] black: [Kb1, Pe6, Pa2] stipulation: + solution: | "1. d5? exd5 2. Kc3 d4+! 3. Kb3 a1S+! draws 2. ... a1Q+? 3. Kb3 wins 2. ... a1S? 3. Rh1+ Ka2 4. Rd1 Sb3 5. Rxd5! wins 1. Rh1+! Kb2 2. Ra1! Kxa1 3. Kc2! e5 4. d5! e4 5. d6 e3 6. d7 e2 7. d8Q e1S+ 8. Kb3 Sd3 9. Qd4+ Kb1 10. Qxd3 Kc1 11. Qc2#" --- authors: - Benkő, Pál source: Chess Life date: 2015-05 algebraic: white: [Kg3, Rg7, Sh4, Sf4, Ph6, Pf5] black: [Kf6, Ph5] stipulation: "#3" solution: "1.Sfg6! 1....Kg5 2.Sf8+ Kf6 3.Sd7# 2....Kxh6 3.Rg6#" keywords: - Digits - Letters --- authors: - Benkő, Pál source: Chess Life Online date: 2015-02-25 algebraic: white: [Kc4, Rd3, Be7, Se6, Se4] black: [Ke5] stipulation: "#3" twins: b: bKe5<-wSe4 solution: | "a) diagram 1.S4c5! Kf5 2.Rg3 Ke5 3.Rg5# b) bKe5<-wSe4 1.Bd6! Kf5 2.Kd5 Kf6 3.Rf3#" keywords: - Letters comments: - Jennifer's blog https://www.uschess.org/content/view/12970/343/ - with 386049, first name letter initial of Jennifer Shahade (Chess Life Online Editor) for 34th birthday - also in Chess Life February 1968 --- authors: - Benkő, Pál source: Chess Life Online date: 2015-02-25 algebraic: white: [Kc3, Rd5, Be7, Bd3, Se4, Sd7] black: [Kc6] stipulation: "#3" twins: b: Exchange d5 d7 solution: | "a) 1.Sec5 Kc7 2.Rd6 Kc8 3.Rc6# b) 1.Kd4 Kxd7 2.Sd6 Ke6 3.Bf5# 2....Kc6 3.Bb5#" keywords: - Letters comments: - Jennifer's blog https://www.uschess.org/content/view/12970/343/ - with 386048, last name letter initial of Jennifer Shahade (Chess Life Online Editor) for 34th birthday --- authors: - Benkő, Pál source: ChessBase.com source-id: / date: 2015-07-18 algebraic: white: [Kf6, Bg6, Sh5, Sh3] black: [Kh2, Ph6, Ph4] stipulation: "#8" solution: | "1.5Sf4! 1....h5 2.Kg5 Kh1 3.Bxh5 Kh2 4.Kxh4 Kh1 5.Bf3+ Kh2 6.Sg2 Kh1 7.Se3+ Kh2 8.Sg4# 1....Kg3 2.Be4 Kg4 3.Kg6 Kg3 4.Kh5 Kh2 5.Kxh4 h5 6.Sg2 Kh1 7.Se3+ Kh2 8.Sf1# 3....h5 4.Se2 Kxh3 5.Kxh5 Kh2 6.Kg4 h3 7.Kf3 Kh1 8.Kg3#" keywords: - Digits comments: - Dedicated to wife Gisela --- authors: - Benkő, Pál source: ChessBase.com source-id: / date: 2015-07-18 algebraic: white: [Kg3, Rg4, Be7, Pg5] black: [Kf5, Pg7, Pg6, Pe6, Pe5] stipulation: "#4" solution: "1.Bd6! e4 2.Rf4+ Kxg5 3.Be7+ Kh5 4.Rh4#" keywords: - Digits comments: - Dedicated to son David --- authors: - Benkő, Pál source: ChessBase.com source-id: / date: 2015-07-18 algebraic: white: [Kg3, Rg4, Bg7, Pg5] black: [Kf5, Pg6, Pe7, Pe6, Pe5] stipulation: "#5" solution: | "1.Kf3! 1....e4+ 2.Rxe4 Kxg5 3.Kg3 Kh5 4.Rxe6 g5 5.Rh6# 4....Kg5 5.Re5#" keywords: - Digits comments: - Dedicated to daughter Palma --- authors: - Benkő, Pál source: ChessBase.com source-id: / date: 2015-07-18 algebraic: white: [Kc7, Rc4, Rb7, Pb5, Pb3, Pa3] black: [Ka5, Pa7, Pa6] stipulation: "#1" solution: "1....axb5 2.Rxa7#!" keywords: - Digits - Retro comments: - Dedicated to son-in-law Jimmy --- authors: - Benkő, Pál source: ChessBase.com source-id: / date: 2015-07-18 algebraic: white: [Kf2, Qf1, Sf3, Pe4] black: [Kf4, Pf5] stipulation: "#2" solution: | "1.Qb5! 1....fxe4 2.Qg5# 1....Kxe4 2.Qc4# 1....Kg4 2.Qxf5#" keywords: - Digits comments: - Dedicated to grandson Adam --- authors: - Benkő, Pál source: ChessBase.com source-id: / date: 2015-07-18 algebraic: white: [Kc6, Sc5, Sb7] black: [Kc8, Pc7] stipulation: "#12" solution: | "1.Kb5! Kb8 2.Ka6 c6 3.Se6 Kc8 4.bSc5 Kb8 5.Ka5 Ka7 6.Se4 Kb7 7.Sd6+ Ka7 8.Sc5 Ka8 9.Kb6 Kb8 10.Sa6+ Ka8 11.Se8 c5 12.eSc7# 5....Ka8 6.Kb6 Kb8 7.Sg5 Kc8 8.Sf7 Kb8 9.Sd6 Ka8 10.Sa6 c5 11.Sb5 c4 12.bSc7#" keywords: - Digits comments: - Dedicated to all of Pal Benko's grandsons --- authors: - Benkő, Pál source: ChessBase.com source-id: / date: 2015-07-18 algebraic: white: [Kc6, Bb8, Sc5] black: [Kc8, Pc7] stipulation: "#15" solution: | "1.Ba6! Ke8 2.Ke5 Kf7 3.Kf5 Kf8 4.Kg6 Ke8 5.Kf6 d6 6.Bb5+ Kd8 7.Kf7 Kc8 8.Ke7 Kb8 9.Ba6 Ka7 10.Bc8 Kb8 11.Kd7 Ka8 12.Kc7 Ka7 13.Sb4 d5 14.Sc6+ Ka8 15.Bb7#" keywords: - Digits comments: - For my birthday 7.15 (July 2015) --- authors: - Benkő, Pál source: Chess Life Online source-id: / date: 2015-07 algebraic: white: [Ke3, Be2, Se4] black: [Ke1, Pe5] stipulation: "#10" solution: | "1.Bg4! Kf1 2.Kd2 Kg1 3.Bh3 Kh2 4.Bf1 Kh1 5.Ke2 Kg1 6.Ke1 Kh1 7.Kf2 Kh2 8.Sf6 e4 9.Sg4+ Kh1 10.Bg2# 6....Kh2 7.Kf2 Kh1 8.Bg2+ Kh2 9.Sg3 e4 10.Sf1#" keywords: - Digits - Letters comments: - Happy Fourth From Benko - I for Independence with 393202, 393203, and 393204 --- authors: - Benkő, Pál source: Chess Life Online source-id: / date: 2015-07 algebraic: white: [Kf3, Rf4, Bf5, Sf7, Ph4, Pg3] black: [Kh5, Rh6, Bf6, Pg7] stipulation: "#3" solution: | "1.Rg4! g5 2.hxg5 ~ 3.Rh4# 2....Bxg5 3.Rxg5# 1....g6 2.Rg5+ Bxg5 3.Bg4# 1....Be7 2.Rxg7 ~ 3.Bg4# 2....Bg5 3.Bg4# and Rxg5# 2....Bxh4 3.Bg4# and g4# 2....Rg6 3.Bxg6# 2....Rh7 3.Bg4#, Bg6#, and Rxh7# 2....Rh8 3.Bg4# and Bg6#" keywords: - Letters comments: - D for Day with 393201, 393203, and 393204 --- authors: - Benkő, Pál source: Chess Life Online date: 2015-07 algebraic: white: [Kh5, Bg5, Sh4, Sh2] black: [Kh1, Ph3] stipulation: "#7" solution: | "1.Sh4-f3 ! 1...Kh1-g2 2.Bg5-e3 2...Kg2-g3 3.Kh5-g5 zugzwang. 3...Kg3-g2 4.Kg5-g4 zugzwang. 4...Kg2-h1 5.Sh2-f1 5...Kh1-g2 6.Sf1-g3 zugzwang. 6...h3-h2 7.Sf3-e1 # 7.Sf3-h4 # 5...h3-h2 6.Sf1-g3 + 6...Kh1-g2 7.Sf3-e1 # 7.Sf3-h4 #" keywords: - Digits comments: - 7 for July with 393201, 393202, and 393204 - number 7 also stands for the month of Pal Benko's birthday, July --- authors: - Benkő, Pál source: Chess Life Online source-id: / date: 2015-07 algebraic: white: [Kf2, Rf6, Bd6, Pf5, Pf3, Pd5] black: [Kf4, Pf7, Pe5, Pd7] stipulation: "#4" solution: "1.Rxf7! Kg5 2.Bc5 ~ 3.Be3(+) ~ 4.Rh7#" keywords: - Digits - Letters comments: - 4 for the Fourth with 393201, 393202, and 393203 --- authors: - Benkő, Pál source: Chess Life Online source-id: / date: 2015-09 algebraic: white: [Ka2, Rc5, Ra5, Pc2, Pb6] black: [Kb4, Bc3, Sa3, Pa4] stipulation: "#3" solution: | "1.b7! 1....Be5 2.b8/Q+ Bxb8 3.c3# 2....Sb5 3.Q (or aR)xb5#" keywords: - Letters comments: - A Benko Happy Birthday to Rex Sinquefield - First name letter initial R for Rex with 393207 --- authors: - Benkő, Pál source: Chess Life Online source-id: / date: 2015-09 algebraic: white: [Ka2, Rc5, Ra5, Bc2, Bb6, Pa4] black: [Kb4, Bc3, Sa3] stipulation: "#3" solution: "1.Bb3! B~ 2.aRb5+ Sxb5 3.Rc4#" keywords: - Letters comments: - A Benko Happy Birthday to Rex Sinquefield - First letter initial of Rex with 393208 --- authors: - Benkő, Pál source: Chess Life Online source-id: / date: 2015-09 algebraic: white: [Ke6, Rd6, Be3, Sd4, Sd2, Pc2] black: [Kc5] stipulation: "#3" solution: "1.Ra6! Kb4 2.Se4 Kc4 3.Ra4#" keywords: - Letters comments: - A Benko Happy Birthday to Rex Sinquefield - Last name letter initial S for Sinquefield with 393205 --- authors: - Benkő, Pál source: Chess Life Online source-id: / date: 2015-09 algebraic: white: [Ke3, Rd6, Be6, Sd4, Sd2, Pc2] black: [Kc5] stipulation: "#3" solution: | "1.Sc4! 1....Kb4 2.Rb6+ Ka4 3.Bd7# 2....Kc3 3.Rb3# 2....Kc5 3.Rb5#" keywords: - Letters comments: - A Benko Happy Birthday to Rex Sinquefield - First letter initial of Sinquefield with 393206 --- authors: - Benkő, Pál source: Chess Life Online source-id: / date: 2015-09 algebraic: white: [Ke7, Qd3, Rf6, Pd7] black: [Ke5, Sd4] stipulation: "#2" solution: | "1.d8/S! 1....Sc6+ 2.Sxc6# 1....Sf5+ 2.Rxf5# 1....Kd5 2.Rf5#" keywords: - Digits comments: - A Benko Happy Birthday to Rex Sinquefield - Rex Sinquefield celebrated his 71st Birthday on 7 September 2015 - First digit 7 with 393210 --- authors: - Benkő, Pál source: Chess Life Online source-id: / date: 2015-09 algebraic: white: [Kc5, Qc4, Sc8, Sc6] black: [Kc7] stipulation: "#2" solution: "1.Sd6! Kd7 2.Qf7#" keywords: - Digits - Letters comments: - A Benko Happy Birthday to Rex Sinquefield - Rex Sinquefield celebrated his 71st birthday on 7 September 2015 - second digit 1 with 393209 --- authors: - Benkő, Pál source: Die Schwalbe date: 1975 algebraic: white: [Kc8, Re2, Bd1] black: [Kd4, Sb1, Ph7, Ph2, Pe3, Pa7] stipulation: "h#3" twins: b: Move d4 d5 c: Move d4 e5 d: Move d4 e4 solution: | "a) 1.Kd4-c3 Bd1-c2 2.Kc3-b2 Bc2-b3 + 3.Kb2-a1 Re2-a2 # b) bKd4--d5 1.Kd5-c6 Kc8-d8 2.Kc6-b7 Re2-b2 + 3.Kb7-a8 Bd1-f3 # c) bKd4--e5 1.Ke5-f6 Bd1-b3 2.Kf6-g7 Re2-g2 + 3.Kg7-h8 Rg2-g8 # d) bKd4--e4 1.Ke4-f3 Re2*e3 + 2.Kf3-g2 Re3-g3 + 3.Kg2-h1 Bd1-f3 #" --- authors: - Benkő, Pál source: PokerStars date: 2015-10 algebraic: white: [Ke4, Qg5, Bg4, Be3, Sf3, Se2] black: [Ke8, Qf6, Re1, Bc5, Se7, Sd3, Pd6, Pc4] stipulation: "#2 by Black" solution: | "1.Qf4+! 1....Sxf4 2.Rxe3# 1....Bxf4 2.Sf2# 1....Qxf4 2.d5#" keywords: - Active sacrifice - Scaccografia comments: - Spade - see also 401269, 401270, and 401271 --- authors: - Benkő, Pál source: PokerStars date: 2015-10 algebraic: white: [Kg5, Rd6, Rd3, Bc4, Sf6, Pe2] black: [Ke5, Rc5, Bg4, Pf3] stipulation: "#2" solution: | "1.exf3! threats 2.f4# and Sxg4# 1....Bxf3 2.Re6# 1....Rxc4 (or Rd5) 2.3R(x)d5#" keywords: - Scaccografia comments: - Heart - see also 401268, 401270, and 401271 --- authors: - Benkő, Pál source: PokerStars date: 2015-10 algebraic: white: [Kc5, Bg5, Bc4, Sf6, Sd6, Pd3] black: [Ke7, Qe2, Rf3, Bg4] stipulation: "#4" solution: | "1.Sd5+! 1....Ke6 2.Sb6+ Ke5 3.d4# 1....Kd7 2.Bb5+ Ke6 3.Sc7+ Ke5 4.d4# 1....Kf8 2.Bh6+ Kg8 3.Sf6+ Kh8 4.Sf7#" keywords: - Scaccografia comments: - Diamond - see also 401268, 401269, and 401271 --- authors: - Benkő, Pál source: PokerStars date: 2015-10 algebraic: white: [Ke5, Be6, Pf6, Pd6] black: [Ke3, Be8, Be7, Sf4, Sd4, Pg5, Pe2, Pc5] stipulation: "#3 by Black" solution: | "1.e1/S! threat 2.eSd3 (or f3)# 1....dxe7 2.Sd3+ Kd6 2.Sb5# 1....fxe7 2.Sf3+ Kf6 2.Sh5#" keywords: - Scaccografia comments: - Club - see also 401268, 401269, and 401270 --- authors: - Benkő, Pál source: Chess Life date: 2016-02 algebraic: white: [Kh4, Qc3, Bg6, Sf3] black: [Kf4, Qa4, Bg2, Pf2] stipulation: "#2" twins: a: diagram b: Bg2-e6 solution: | "a) 1.Sg5? Qb3! 1.Sg1! threat 2.Se2# and Qg3# 1....Bf3 2.Sh3# b) 1.Sd2? f1/S! 1.Sg5! threat 2.Sxe6# and Qg3# 1....Qb3 2.Qd4#" --- authors: - Benkő, Pál source: Chess Life date: 2016-02 algebraic: white: [Kd3, Qb1, Rg6, Bh7, Sf3, Sd5] black: [Kf5, Re4] stipulation: "#2" solution: | "1...Rd4+ 2.Kxd4# 1...Re3+ 2.Kxe3# 1.Qb8! threat 2.Qf8# 1....Rd4+ 2.Sxd4# 1....Re3+ 2.Sxe3# " keywords: - Changed mate - Unsymmetrical key --- authors: - Benkő, Pál source: Chess Life date: 2016-02 algebraic: white: [Kf1, Bf6, Bf5] black: [Kh1, Sc6] stipulation: "#5" solution: | "1.Kf2! Se5 2.Bh4 Sf3 3.Be4 Kh2 4.Bg3+ Kh3 5.Bf5#" keywords: - Switchback - Miniature --- authors: - Benkő, Pál source: new.uschess.org date: 2016-04-01 algebraic: white: [Ke5, Rf2, Rd2, Sf4, Sd4] black: [Ke3, Be1] stipulation: "#1 How many?" solution: | "6! 1.Sdc2# 1.Sdf5# 1.Sfd5# 1.Sfg2# 1.Rde2# 1.Rfe2#" keywords: - Digits comments: - Black's last move was ....e2-e1/B - Benko's Spring Cleaning Problems --- authors: - Benkő, Pál source: new.uschess.org date: 2016-04-01 algebraic: white: [Kd4, Re7, Rc7, Se5, Sc5] black: [Kd6, Bd8] stipulation: "#1 How many?" solution: | "4! ....Bxc7 1.Rd7# 1.Re6# ....Bxe7 1.Rc6# 1.Rd7#" keywords: - Retro - Digits comments: - Black is to move because there was no possible last move. - Benko's Spring Cleaning Problems --- authors: - Benkő, Pál source: Zászlónk date: 1944 algebraic: white: [Ke4, Rg6, Bh7, Se5, Pg5, Pd4, Pd2] black: [Ke7, Qh8, Pg7, Pf7] stipulation: + solution: | 1.Rg6-e6+ ! Ke7*e6 2.d4-d5+ Ke6-e7 3.d5-d6+ Ke7-e8 4.d6-d7+ Ke8-e7 5.d7-d8=Q+ Qh8*d8 6.Se5-c6+ 3...Ke7*d6 4.Se5*f7+ 3...Ke7-d8 4.Se5*f7+ 3...Ke7-f8 4.g5-g6 ! 2...Ke6-d6 3.Se5*f7+ 1...Ke7-d8 2.Se5*f7+ 1...f7*e6 2.Se5-g6+ comments: - This was Pál Benko's first endgame composition --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 895 date: 1970-12 distinction: 1st Prize algebraic: white: [Ka7, Rb8, Pg4, Pf3, Pb2] black: [Kg3, Sd3, Ph6, Pb3, Pa4] stipulation: "=" solution: | "1.Ka7-a6 ? Sd3*b2 ! 2.Ka6-a5 a4-a3 ! 3.Ka5-b4 a3-a2 4.Rb8-a8 Sb2-a4 ! 5.Ra8*a4 b3-b2 1.Ka7-b6 ! a4-a3 ! 2.b2*a3 Sd3-b4 ! 3.Rb8-d8 ! b3-b2 4.Rd8-d1 Sb4-a2 ! 5.Rd1-b1 Sa2-c3 6.Rb1-h1 Kg3-g2 7.Rh1-e1 Kg2-f2 8.Re1-h1 Kf2-e2 ! 9.Rh1-h2+ Ke2*f3 10.Rh2-h1 b2-b1=Q+ 11.Rh1*b1 Sc3*b1 12.a3-a4 Sb1-d2 13.Kb6-b5 Sd2-b3 14.Kb5-b4 ! Sb3-d4 15.Kb4-c5 ! Kf3-e4 16.Kc5-c4 ! Sd4-c6 17.Kc4-c5 ! Sc6-a5 18.Kc5-b5 Sa5-b3 19.Kb5-b4 Sb3-d2 20.Kb4-c3 ! Sd2-f3 21.Kc3-c4 Ke4-e5 ! 22.a4-a5 ! Ke5-d6 23.a5-a6 Kd6-c6 24.a6-a7 ! Kc6-b7 25.Kc4-d5 ! Sf3-h2 26.g4-g5 ! h6*g5 27.Kd5-e4 Kb7*a7 28.Ke4-f5 g5-g4 29.Kf5-f4 Ka7-b6 30.Kf4-g3 26.Kd5-e4 ? Sh2*g4 27.Ke4-f4 h6-h5 28.Kf4-g5 Sg4-f6 22.Kc4-d3 ! {cook} Sf3-e1+ 23.Kd3-c4 Ke5-d6 24.a4-a5 Se1-f3 25.a5-a6 Sf3-e5+ 26.Kc4-d4 Se5-c6+ 27.Kd4-e4 Kd6-e6 28.Ke4-f4 Ke6-f6 29.Kf4-e4 Kf6-g5 30.Ke4-f3 22...Sf3-g5 23.a4-a5 Sg5-e6 24.Kd3-c4 Ke5-d6 25.a5-a6 Se6-c7 26.a6-a7 22...Ke5-f4 23.a4-a5 Sf3-e5+ 24.Kd3-e2 Se5-c6 25.a5-a6 Kf4*g4 26.Ke2-f2 22...Ke5-d5 23.Kd3-e3 ! Sf3-d4 24.a4-a5 Kd5-e5 25.a5-a6 Sd4-b5 26.Ke3-f3 22...Sf3-d4 23.Kd3-c4 Sd4-c6 24.Kc4-c5 Sc6-b8 25.a4-a5 Ke5-e6 26.Kc5-c4 ! Ke6-d6 27.Kc4-d4 20.a4-a5 ? Ke4-d5 ! 21.Kb4-b5 Kd5-d6 ! 22.a5-a6 Kd6-c7 23.Kb5-c5 Sd2-e4+ 24.Kc5-d4 Se4-f6 ! 25.Kd4-e5 Sf6*g4+ 26.Ke5-f5 h6-h5 27.Kf5-g5 Sg4-f6 ! 20.Kb4-c5 ? Ke4-e5 21.Kc5-c6 Sd2-b3 22.Kc6-b5 Ke5-d5 23.Kb5-b6 Kd5-d6 19.Kb5-c4 ! {cook} Sb3-d4 20.a4-a5 ! Sd4-c6 21.a5-a6 Sc6-a7 22.Kc4-c5 17...Sc6-b8 18.a4-a5 ! Ke4-e5 19.Kc5-b6 ! Ke5-d6 20.Kb6-b7 Sb8-d7 21.Kb7-c8 ! Sd7-c5 22.Kc8-d8 ! Sc5-d3 23.a5-a6 ! 17.Kc4-b5 ? Ke4-d5 ! 10...Kf3*g4 11.Kb6-c5 ! b2-b1=Q 12.Rh1*b1 Sc3*b1 13.a3-a4 Sb1-d2 14.Kc5-b4 ! Sd2-e4 15.a4-a5 Se4-d6 16.a5-a6 Sd6-c8 17.Kb4-c5 h6-h5 18.Kc5-c6 h5-h4 19.Kc6-c7 Sc8-a7 20.Kc7-b6 Sa7-c8+ 21.Kb6-c7 9.Rh1-g1 ? Sc3-d1 10.Rg1-g2+ Ke2*f3 11.Rg2*b2 Sd1*b2 6.Rb1*b2 ? Sc3-a4+ 3.a3*b4 ? b3-b2 4.b4-b5 b2-b1=Q 5.Rb8-f8 Qb1-g1+ 6.Kb6-b7 h6-h5 7.g4*h5 Qg1-c5 8.Rf8-g8+ Kg3*f3 9.Kb7-a6 Qc5-a3+ 10.Ka6-b6 ! Qa3-e3+ 11.Kb6-a5 Qe3-a7+ 12.Ka5-b4 Qa7-e7+ 6.Kb6-a6 Qg1-a1+ 7.Ka6-b6 Qa1-d4+ 3.Rb8-e8 ? b3-b2 4.Re8-e1 Sb4-a2 ! 5.Re1-b1 Sa2-c3 4...Sb4-c2 ? 5.Re1-g1+ Kg3*f3 6.a3-a4 Sc2-a3 7.a4-a5 2...b3-b2 3.Kb6-c6 Kg3*f3 4.a3-a4 Kf3*g4 5.a4-a5 1...Sd3*b2 2.Kb6-c5 Sb2-d3+ 3.Kc5-c4 ! Sd3-c1 4.Kc4-b4 3.Kc5-d4 ? Sd3-c1 4.Kd4-c3 a4-a3 5.Rb8-a8 b3-b2 6.Kc3-c2 Sc1-b3 7.Ra8*a3 Sb3-d2 8.Kc2*b2 Sd2-c4+ 6.Ra8-b8 Sc1-d3" keywords: - Cooked --- authors: - Benkő, Pál source: Hungarian Chess Federation Ty, Magyar Sakkélet date: 1972-01 distinction: 1st Prize algebraic: white: [Ka3, Sc3, Sa4, Pg3, Pf2] black: [Ka1, Ph3, Pb7, Pb6] stipulation: + solution: | "1.Sc3-e2 ? h3-h2 2.Sa4-c3 b6-b5 3.Se2-d4 b5-b4+ 4.Ka3*b4 Ka1-b2 1.Sc3-b5 ! Ka1-b1 ! 2.Sa4-c3+ Kb1-c2 3.Sb5-d4+ Kc2-d3 ! 4.Sc3-d1 h3-h2 5.f2-f4 ! Kd3*d4 6.Sd1-f2 Kd4-c3 7.f4-f5 b6-b5 8.f5-f6 b5-b4+ 9.Ka3-a2 ! Kc3-c2 10.f6-f7 b4-b3+ 11.Ka2-a3 b3-b2 12.f7-f8=Q b2-b1=Q 13.Qf8-f5+ 6...Kd4-e3 7.Sf2-g4+ 5...h2-h1=S 6.f4-f5 ! 4.f2-f4 ? Kd3*c3 5.Sd4-e2+ Kc3-d3 4.Sd4-f3 ? Kd3*c3 5.Ka3-a4 Kc3-c4 6.g3-g4 b6-b5+ 7.Ka4-a5 b7-b6+ ! 8.Ka5-a6 b5-b4 9.g4-g5 Kc4-d5 10.g5-g6 Kd5-e6 11.Sf3-g5+ Ke6-f6 12.Sg5*h3 b4-b3 13.Sh3-f4 b3-b2 14.Sf4-d5+ Kf6*g6 15.Sd5-c3 Kg6-f5 3...Kc2*c3 4.Sd4-e2+ Kc3-d2 5.Se2-g1 h3-h2 6.Sg1-f3+ 4...Kc3-c4 5.g3-g4 h3-h2 6.Se2-g3 2...Kb1-c1 3.g3-g4 1...h3-h2 2.Sa4-c3 h2-h1=Q 3.Sb5-d4 Qh1-c1+ 4.Ka3-b3 Qc1-b2+ 5.Kb3-c4 b6-b5+ 6.Kc4-d3 Qb2*f2 7.Sd4-c2+ Ka1-b2 8.Sc3-d1+" --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 1015 date: 1973-05 algebraic: white: [Kc5, Pa2] black: [Kg3, Pe7] stipulation: + solution: | "1.Kc5-d5 ? Kg3-f4 2.Kd5-e6 Kf4-e4 3.a2-a4 Ke4-d4 1.Kc5-d4 ? Kg3-f4 2.a2-a4 e7-e5+ 3.Kd4-c3 ! e5-e4 4.a4-a5 e4-e3 5.a5-a6 Kf4-g3 ! 6.a6-a7 e3-e2 1.a2-a4 ! e7-e5 2.a4-a5 e5-e4 3.Kc5-d4 ! Kg3-f4 4.a5-a6 e4-e3 5.Kd4-d3 ! Kf4-f3 6.a6-a7 e3-e2 7.a7-a8=Q+" --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 1412 date: 1980-04 distinction: 1st Prize algebraic: white: [Kd3, Rf1, Pg3, Pg2] black: [Kb3, Ph7, Pa6, Pa2] stipulation: + solution: | "1.g3-g4 ! Kb3-b2 2.Rf1-f2+ ! Kb2-b3 3.Rf2-f6 ! a6-a5 4.Rf6-f1 Kb3-b2 5.Rf1-a1 ! h7-h6 6.Kd3-d2 Kb2*a1 7.Kd2-c1 ! a5-a4 8.Kc1-c2 a4-a3 9.g2-g3 h6-h5 10.g4-g5 h5-h4 11.g5-g6 h4-h3 12.g6-g7 h3-h2 13.g7-g8=Q h2-h1=Q 14.Qg8-g7# 7...h6-h5 8.g4-g5 h5-h4 9.g5-g6 h4-h3 10.g2*h3 a5-a4 11.g6-g7 a4-a3 12.Kc1-d2 Ka1-b2 13.g7-g8=Q a2-a1=Q 14.Qg8-g7+ Kb2-a2 15.Qg7-f7+ Ka2-b1 16.Qf7-f5+ Kb1-a2 17.Qf5-d5+ Ka2-b2 18.Qd5-d4+ Kb2-b1 19.Qd4-d3+ Kb1-a2 20.Qd3-c4+ Ka2-b2 21.Qc4-c2# 7.Kd2-c2 ? a5-a4 8.g2-g3 a4-a3 9.Kc2-c1 h6-h5 5...Kb2*a1 6.Kd3-c2 h7-h6 7.Kc2-c1 h6-h5 8.g4-g5 ! h5-h4 9.g5-g6 h4-h3 10.g2*h3 a5-a4 11.g6-g7 a4-a3 12.Kc1-d2 ! Ka1-b2 13.g7-g8=Q a2-a1=Q 14.Qg8-g7+ Kb2-a2 15.Qg7-f7+ Ka2-b1 16.Qf7-f5+ Kb1-a2 17.Qf5-d5+ Ka2-b2 18.Qd5-d4+ Kb2-b1 19.Qd4-d3+ Kb1-a2 20.Qd3-c4+ Ka2-b2 21.Qc4-c2# 7...a5-a4 8.Kc1-c2 a4-a3 9.g2-g3 h6-h5 10.g4-g5 2...Kb2-b1 3.Kd3-c3 ! a2-a1=Q+ 4.Kc3-b3" --- authors: - Benkő, Pál source: Chess Life & Review date: 1980 algebraic: white: [Kb8, Rc7] black: [Kb4, Pc6, Pa6] stipulation: + solution: | 1.Rc7-b7+ ! Kb4-c3 2.Kb8-c7 a6-a5 3.Rb7-a7 ! Kc3-b4 4.Kc7-d6 ! a5-a4 5.Kd6-e5 a4-a3 6.Ke5-d4 {or Ke4} Kb4-b3 7.Kd4-d3 {or Ke3} Kb3-b2 8.Kd3-d2 a3-a2 9.Ra7-b7+ Kb2-a3 10.Kd2-c2 --- authors: - Benkő, Pál source: Chess Life & Review source-id: version date: 1980 algebraic: white: [Ka8, Bf5, Be5, Sd2, Pg3, Pc2] black: [Ka5, Qb4, Pa6] stipulation: + solution: | "1.Be5-c7+ Ka5-b5 2.Bf5-d7+ Kb5-c5 3.Bc7-d6+ Kc5*d6 4.c2-c3 Qb4*c3 5.Sd2-e4+ Kd6*d7 6.Se4*c3 Kd7-e6 7.Ka8-b7 a6-a5 8.Kb7-c6 a5-a4 9.Sc3*a4 Ke6-f5 10.Sa4-c3 Kf5-g4 11.Sc3-e2 1...Ka5-a4 ? 2.Bf5-d7+ Ka4-a3 3.Bc7-d6 Qb4*d6 4.Sd2-c4+" keywords: - Domination comments: - 161 My life, games and compositions 2003 --- authors: - Benkő, Pál source: EG source-id: 68/4553 date: 1982-05 algebraic: white: [Kh1, Rd8] black: [Ke2, Bf7, Ph3, Pg3] stipulation: "=" solution: | "1.Rd8-h8 ? Ke2-f2 1.Kh1-g1 ? h3-h2+ ! 2.Kg1-g2 Bf7-h5 3.Rd8-f8 Bh5-f3+ ! 4.Rf8*f3 h2-h1=Q+ 5.Kg2*h1 Ke2*f3 3.Rd8-h8 h2-h1=Q+ ! 4.Kg2*h1 Ke2-f2 5.Rh8-f8+ Bh5-f3+ 1.Rd8-d4 ! Bf7-h5 2.Rd4-h4 Ke2-f2 3.Rh4-g4 ! g3-g2+ 4.Kh1-h2 Bh5*g4 {stalemate} 3...Bh5*g4 {stalemate} 3...h3-h2 4.Rg4*g3 Kf2*g3 {stalemate} 2.Rd4-e4+ ! {dual} Ke2-f3 3.Re4-h4 ! Bh5-g4 4.Kh1-g1 3...Kf3-f2 4.Rh4-g4 2...Ke2-f2 3.Re4-g4" keywords: - Stalemates - Dual comments: - after Wilhelm Steinitz 274122 --- authors: - Benkő, Pál source: "Magyar Sakkélet#1679" date: 1985-03 distinction: Comm. algebraic: white: [Ka7, Pg6] black: [Kh4, Ph3, Pa4] stipulation: + solution: | "1.g6-g7 h3-h2 2.g7-g8=Q Kh4-h3 3.Qg8-a8 ! Kh3-g3 4.Ka7-b6 a4-a3 5.Kb6-c5 a3-a2 6.Kc5-d4 a2-a1=Q+ 7.Qa8*a1 Kg3-g2 8.Qa1-b2+ Kg2-g1 9.Kd4-e3 h2-h1=Q 10.Qb2-f2# 3...a4-a3 4.Qa8-f3+ Kh3-h4 5.Qf3-g2 3.Qg8-d5 ? Kh3-g3 4.Ka7-b6 a4-a3 5.Kb6-c5 a3-a2 3.Qg8-e6+ ? Kh3-g3 ! 4.Qe6-e1+ Kg3-g2 ! 5.Qe1-e2+ Kg2-g3 6.Qe2-f1 a4-a3 7.Ka7-b6 a3-a2 8.Kb6-c5 a2-a1=Q ! 9.Qf1*a1 Kg3-g2 3...Kh3-g2 ? 4.Qe6-g4+ Kg2-f2 5.Qg4-h3 Kf2-g1 6.Qh3-g3+ Kg1-h1 7.Qg3-f2 a4-a3 8.Qf2-f1# 2...h2-h1=Q 3.Qg8-h8+ 2...a4-a3 3.Qg8-g2 a3-a2 4.Qg2*h2+" --- authors: - Benkő, Pál source: Chess Life date: 1983-11 algebraic: white: [Kh7, Ba6, Pd5, Pb5] black: [Kb8, Pc3] stipulation: "=" solution: | "1.d5-d6 c3-c2 2.d6-d7 Kb8-c7 3.Ba6-c8 c2-c1=Q 4.b5-b6+ Kc7-d8 5.b6-b7 Qc1-f4 6.Kh7-g6 Kd8-e7 7.Kg6-h5 ! Qf4-g3 8.Kh5-h6 Ke7-f7 9.Kh6-h5 ! Kf7-e7 10.Kh5-h6 Qg3-h4+ 11.Kh6-g6 Qh4-g4+ 12.Kg6-h6 12.Kg6-h7 ? Qg4-h5+ 13.Kh7-g7 Qh5-g5+ 14.Kg7-h7 Ke7-f7 9.d7-d8=S+ ? Kf7-f6 6.Kh7-g7 ? Qf4-d6 ! 7.Kg7-f7 Qd6-b6 8.Kf7-f8 Qb6-f6+ 9.Kf8-g8 Qf6-g6+ 10.Kg8-f8 Qg6-b6 ! 11.Kf8-f7 Qb6-d6 12.Kf7-g7 Kd8-e7 13.Kg7-g8 Qd6-g6+ 14.Kg8-h8 Ke7-f7" --- authors: - Benkő, Pál source: L'Italia Scacchistica source-id: 420 date: 1983 distinction: 5th Comm. algebraic: white: [Ka8, Pg4, Pg3, Pb6] black: [Ka6, Se5, Pf6] stipulation: + solution: | "1.b6-b7 Se5-c4 2.g4-g5 ! f6*g5 3.g3-g4 Sc4-b6+ 4.Ka8-b8 Sb6-d5 5.Kb8-c8 Sd5-b6+ 6.Kc8-c7 Sb6-d5+ 7.Kc7-d6 Ka6*b7{ }8.Kd6*d5 Kb7-c7 9.Kd5-e6 {or Ke5 or Ke4} Kc7-d8 10.Ke6-f5 {or Kf6} Kd8-e7 11.Kf5*g5 Ke7-f7 12.Kg5-h6 1...Se5-d7 2.b7-b8=S+ Sd7*b8 3.Ka8*b8 Ka6-b6 4.Kb8-c8 Kb6-c6 5.Kc8-d8 Kc6-d6 6.Kd8-e8 Kd6-e6 7.Ke8-f8 f6-f5 8.g4-g5 2.b7-b8=Q ? Sd7-b6+ 3.Qb8*b6+ Ka6*b6 4.Ka8-b8 Kb6-c6 5.Kb8-c8 Kc6-d5 1...Se5-c6 2.b7-b8=Q Sc6*b8 3.Ka8*b8 2.b7-b8=S+ ? Ka6-b6" --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 1566 date: 1983-04 distinction: 1st Special Prize algebraic: white: [Kb4, Rh5, Sb6] black: [Kd2, Ra7, Pb7, Pa6] stipulation: + solution: | "1.Rh5-a5 ? Kd2-d3 ! 2.Kb4-b3 Kd3-d4 ! 3.Kb3-c2 Kd4-e4 4.Kc2-c3 Ke4-e3 5.Kc3-c4 Ke3-d2 ! 6.Kc4-c5 Kd2-c3 7.Kc5-d6 Kc3-b4 5...Ke3-e4 ? 6.Kc4-c5 Ke4-e5 7.Sb6-c8 ! Ra7-a8 8.Kc5-b6+ 2...Kd3-d2 ? 3.Kb3-c4 ! Kd2-c2 4.Ra5-a2+ Kc2-b1 5.Kc4-b3 Kb1-c1 6.Kb3-c3 Kc1-d1 7.Kc3-d3 3...Kd2-e3 4.Kc4-c5 Ke3-d3 5.Kc5-d6 1.Kb4-a5 ? Kd2-c3 2.Rh5-h8 Kc3-c2 3.Rh8-d8 Kc2-c1 ! 4.Rd8-c8+ Kc1-b1 ! 5.Rc8-c7 Kb1-b2 6.Rc7-c5 Kb2-b3 7.Rc5-c8 Kb3-a2 8.Rc8-b8 Ka2-a1 ! 9.Ka5-b4 a6-a5+ ! 10.Kb4-b3 Ra7-a6 11.Rb8*b7 a5-a4+ ! 12.Sb6*a4 Ka1-b1 9...Ka1-b2 ? 10.Sb6-c8 ! a6-a5+ 11.Kb4-a4 Ra7-a6 12.Rb8*b7+ Kb2-c3 13.Sc8-b6 9.Rb8-e8 Ka1-a2 ! 10.Ka5-b4 a6-a5+ 11.Kb4-c3 Ra7-a6 12.Re8-e2+ Ka2-b1 8...Ka2-b3 ? 9.Sb6-c8 ! 8.Rc8-e8 Ka2-b3 ! 3...Kc2-b3 ? 4.Sb6-d7 ! 1.Rh5-d5+ ! Kd2-c2 2.Rd5-c5+ ! Kc2-d3 3.Kb4-a5 Kd3-d4 4.Rc5-c1 Kd4-e5 5.Rc1-d1 Ke5-e6 6.Rd1-d8 Ke6-e7 7.Rd8-g8 Ke7-f7 8.Rg8-b8 ! Kf7-g7 9.Rb8-d8 Kg7-f6 10.Sb6-d5+ Kf6-f7 11.Ka5-b6 11.Sd5-c7 ! {dual} 11.Rd8-b8 ! {dual} b7-b5 12.Ka5-b6 Ra7-d7 13.Kb6-c6 Rd7-a7 14.Sd5-c7 9...Kg7-g6 10.Sb6-d7 6.Rd1-e1+ ! {dual} Ke6-f7 7.Re1-e3 Kf7-f8 8.Re3-d3 Kf8-f7 9.Rd3-d8 Kf7-e7 10.Rd8-g8 Ke7-e6 11.Rg8-e8+ Ke6-f5 12.Re8-b8 4...Kd4-d3 5.Rc1-c8 Kd3-d4 6.Rc8-d8+ Kd4-c5 7.Rd8-d1 Kc5-c6 8.Rd1-c1+ Kc6-d6 9.Sb6-c8+ 4.Rc5-c7 ! {dual} Kd4-e4 5.Rc7-c3 Ke4-f5 6.Rc3-e3 Kf5-g6 7.Re3-e7 Kg6-f6 8.Sb6-d5+ Kf6-f5 9.Sd5-c7 Kf5-f6 10.Re7-d7 7...Kg6-f5 8.Re7-e8 Kf5-f6 9.Sb6-d5+ Kf6-f7 10.Re8-d8 6...Kf5-g5 7.Re3-e8 Kg5-f6 8.Sb6-d5+ Kf6-f7 9.Re8-d8 5...Ke4-d4 6.Rc3-h3 Kd4-e4 7.Rh3-h8 Ke4-d3 8.Rh8-c8 6...Kd4-e5 7.Rh3-e3+ Ke5-f5 8.Re3-e7 4...Kd4-e5 5.Rc7-e7+ Ke5-d4 6.Re7-e8 Kd4-c5 7.Re8-d8 Kc5-c6 8.Rd8-d2 Kc6-c7 9.Rd2-d1 Kc7-b8 10.Rd1-c1 Ra7-a8 11.Rc1-c8+ Kb8-a7 12.Rc8*a8# 9...Kc7-c6 10.Rd1-c1+ Kc6-d6 11.Sb6-c8+ 8...Kc6-c5 9.Rd2-d1 Kc5-c6 10.Rd1-c1+ Kc6-d6 11.Sb6-c8+ 6...Kd4-c3 7.Sb6-d5+ Kc3-c4 8.Ka5-b6 Kc4*d5 9.Kb6*a7 b7-b5 10.Ka7*a6 b5-b4 11.Ka6-a5 b4-b3 12.Ka5-a4 Kd5-c4 13.Re8-b8 6...Kd4-d3 7.Re8-c8 Kd3-d4 8.Rc8-d8+ Kd4-c3 9.Sb6-d5+ 8...Kd4-c5 9.Rd8-d1 Kc5-c6 10.Rd1-c1+ Kc6-d6 11.Sb6-c8+ 8...Kd4-e5 9.Sb6-c4+ Ke5-e6 10.Ka5-b6 8...Kd4-e4 9.Sb6-d7 b7-b5 10.Ka5-b6 Ra7*d7 11.Rd8*d7 7...Kd3-d2 8.Sb6-c4+ 7...Kd3-e4 8.Rc8-d8 Ke4-f5 9.Sb6-d7 Kf5-e6 10.Ka5-b6 Ke6-e7 11.Rd8-h8 5...Ke5-d6 6.Sb6-c8+ 5...Ke5-f6 6.Sb6-d5+ Kf6-f5 7.Sd5-c7 Kf5-f6 8.Re7-d7 4...Kd4-d3 5.Rc7-c8 Kd3-d4 6.Rc8-d8+ Kd4-e4 7.Sb6-d7 5...Kd3-d2 6.Sb6-c4+ Kd2-d3 7.Ka5-b6 5...Kd3-e4 6.Rc8-d8 Ke4-e5 7.Sb6-d7+ 3...Kd3-e4 4.Rc5-c8 Ke4-f5 5.Rc8-b8 ! Kf5-g5 6.Rb8-d8 Kg5-f6 7.Sb6-d5+ 2...Kc2-b1 3.Kb4-b3 a6-a5 4.Rc5-c2 a5-a4+ 5.Sb6*a4 Ra7*a4 6.Rc2-h2" keywords: - Dual --- authors: - Benkő, Pál source: EG date: 1997-04 algebraic: white: [Ke8, Pe7, Pb4] black: [Ka7, Pb3] stipulation: + solution: | 1.Ke8-d8 b3-b2 2.e7-e8=Q b2-b1=Q 3.Qe8-a4+ Ka7-b6 4.Qa4-a5+ Kb6-b7 5.Qa5-b5+ Kb7-a7 6.Kd8-c8 Qb1-c2+ 7.Qb5-c5+ comments: - Inspired by a cook in one of Kasparjans last studies. --- authors: - Benkő, Pál source: Chess Life date: 1998-09 algebraic: white: [Kh1, Bc5, Sc1, Sb1] black: [Kd1, Bg3, Pa3] stipulation: + solution: | "1.Bc5*a3 ? Kd1-c2 2.Sc1-e2 Bg3-e5 1.Sc1-a2 Kd1-c2 2.Sb1*a3+ Kc2-b2 3.Kh1-g2 ! Bg3-h4 4.Kg2-h3 Bh4-g5 5.Kh3-g4 Bg5-h6 6.Kg4-h5 Bh6-g7 7.Kh5-g6 Bg7-h8 8.Kg6-h7 Bh8-f6 9.Sa2-b4 Kb2*a3 10.Sb4-d5+ 4...Bh4-d8 5.Sa2-b4 Kb2*a3 6.Sb4-c6+ 3.Sa2-b4 ? Kb2*a3 4.Kh1-g2 Bg3-h4 5.Kg2-h3 Bh4-f2 2.Sb1-c3 ? Bg3-e5 3.Sc3-d5 Kc2-b1 ! 4.Sd5-b4 Be5-d4 ! 5.Bc5-d6 Bd4-e5 6.Bd6*e5" keywords: - Domination --- authors: - Benkő, Pál source: Blitz date: 1997 algebraic: white: [Kb1, Ba2, Pb3] black: [Kg6, Ph4, Pc7] stipulation: + solution: | 1.Kb1-c2 ! h4-h3 2.Ba2-b1 ! Kg6-f5 3.Kc2-d3 ! Kf5-e5 4.Kd3-e3 Ke5-d5 5.Ke3-f3 3...Kf5-f4 4.Kd3-d4 c7-c5+ 5.Kd4-d5 --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 7-8/2182 date: 1996 distinction: 1st Prize algebraic: white: [Ke7, Rd4] black: [Kc8, Rc2, Bh1, Pg7] stipulation: "=" solution: | "1.Rd4-g4 ? Rc2-g2 2.Rg4-c4+ Kc8-b7 3.Rc4-c1 Rg2-h2 4.Rc1-g1 Bh1-g2 5.Ke7-e6 g7-g6 6.Ke6-e5 Rh2-h5+ 7.Ke5-f4 Rh5-f5+ 8.Kf4-e3 Rf5-e5+ 9.Ke3-f4 Re5-e2 1.Rd4-d8+ Kc8-c7 2.Rd8-g8 ! Rc2-g2 3.Ke7-f7 g7-g5 4.Kf7-e6 ! g5-g4 5.Rg8-g7+ Kc7-c6 6.Rg7-g6 ! g4-g3 7.Ke6-f5+ ! Kc6-d7 8.Rg6-g5 ! Rg2-f2+ 9.Kf5-g4 g3-g2 10.Kg4-h3 Rf2-f5 11.Rg5-g7+ Kd7-e6 12.Kh3-h2 Ke6-f6 13.Rg7-g3 ! Rf5-g5 14.Rg3-f3+ Kf6-e5 15.Kh2-g1 ! 15.Rf3-e3+ ? Ke5-f4 16.Re3-e1 g2-g1=Q+ 17.Re1*g1 Rg5-h5# 13.Rg7-g8 ? Rf5-g5 13.Rg7-g4 ? Rf5-g5 13.Rg7-a7 ? Rf5-f1 8.Kf5-f4 ? Rg2-f2+ 4.Kf7-f6 ? g5-g4 5.Rg8-g7+ Kc7-d6 6.Rg7-g6 g4-g3 7.Kf6-f5+ Kd6-e7 8.Rg6-g7+ Ke7-e8 9.Rg7-g5 Rg2-f2+ 10.Kf5-g4 g3-g2 11.Kg4-h3 Rf2-f5 ! 2.Rd8-d7+ ? Kc7-b6 ! 3.Rd7-d6+ Rc2-c6 2...Kc7-c6 ? 3.Rd7-d6+" --- authors: - Benkő, Pál source: Zászlónk date: 1943 algebraic: white: [Kf4, Bd2, Bb3, Sc4] black: [Kb1] stipulation: "#4" solution: | "1.Bd2-b4 ! Kb1-c1 2.Sc4-d2 Kc1-b2 3.Kf4-e3 Kb2-c1 4.Bb4-a3# 3...Kb2-a1 4.Bb4-c3# 1...Kb1-a1 2.Sc4-d2 Ka1-b2 3.Kf4-e3 Kb2-c1 4.Bb4-a3# 3...Kb2-a1 4.Bb4-c3#" keywords: - Model mates comments: - Benkő presents in his book My life, games and compositions, 2003 this position together with 409064 as a twin (number 52). --- authors: - Benkő, Pál source: Chess Life date: 1968 algebraic: white: [Ke6, Bd2, Bb3, Sc4] black: [Kb1] stipulation: + solution: | "1.Ke6-d5 Kb1-a1 2.Sc4-a3 Ka1-b2 3.Kd5-c4 Kb2*a3 4.Bd2-c1# 3...Kb2-a1 4.Bd2-c3#" keywords: - Model mates comments: - Benkő presents in his book My life, games and compositions, 2003 this position together with 409063 as a twin (number 52). --- authors: - Benkő, Pál source: Chess Life date: 1980 algebraic: white: [Kc4, Rb1] black: [Ka5, Pa7] stipulation: "#3" solution: | "1.Rb1-b2 ! a7-a6 2.Rb2-b1 Ka5-a4 3.Rb1-a1# 1...Ka5-a6 2.Kc4-c5 Ka6-a5 3.Rb2-a2#" keywords: - Switchback --- authors: - Benkő, Pál source: Chess Life source-id: 79 date: 1968-02 algebraic: white: [Kf7, Re3, Bg7, Se5, Se4, Pe6] black: [Kf5, Pe7] stipulation: "#3" twins: b: Shift b1 a1 solution: | "a) 1.Se5-g6 ! threat: 2.Se4-f2 threat: 3.Re3-e5 # b) shift b1 == a1 1.Sd4-f3 + ! 1...Ke5-e4 2.Bf7-g6 # 1...Ke5-f5 2.Bf7-h5 zugzwang. 2...Kf5-e4 3.Bh5-g6 #" keywords: - Letters --- authors: - Benkő, Pál source: Chess Life & Review source-id: 298 date: 1970-01 algebraic: white: [Kd2, Re6, Bf6, Be2, Sf3, Se4] black: [Kd5] stipulation: "#3" solution: | "1.Ke3! Kxe6 2.Se5 Kd5 3.Bc4# 2....Kf5 3.Bg4#" keywords: - Letters comments: - with 141434 and 220912, the initials of Isador S. Turover --- authors: - Benkő, Pál source: Chess Life & Review source-id: 412 date: 1971-03 algebraic: white: [Kb7, Rd4, Sb5, Ph4, Pg5, Pf6, Pe2, Pb4] black: [Ke5, Qf5, Be6, Pe3, Pd7] stipulation: "h#2" intended-solutions: 4 solution: | "1....Sa7 2.d6 Sc6# 1.Bf7 Rd5+ 2.Ke6 Sc7# 1.Qg6 Re4+ 2.Kf5 Sd6# 1.Qf4 Rd5+ 2.Ke4 Sc3# 1.d6 Re4+ 2.Kd5 Sc3#" comments: - republished as Benko's Bafflers No. 811 in Chess Life & Review, December 1975 --- authors: - Benkő, Pál source: Gazeta Czestochowska date: 1970 algebraic: white: [Kd3, Rd2, Ba8] black: [Ke6, Re5, Bg7] stipulation: "h#3" intended-solutions: 2 solution: | "1.Bf8 Rb2 2.Bc5 Rb7 3.Kd5 Rb6# 1.Rc5 Bh1 2.Be5 Rg2 3.Kd5 Rg6#" --- authors: - Benkő, Pál source: Schach Echo date: 1970 algebraic: white: [Kd4, Qd6, Bc1, Se7] black: [Kf6, Qe6, Bf4, Sf7] stipulation: "h#2" twins: b: Bc1-f1 solution: | "a) diagram 1.Sxd6 Kd3 2.Ke5 Bb2# b) Bc1-f1 1.Qxd6+ Sd5+ 2.Ke6 Bh3#" --- authors: - Benkő, Pál source: Chess Life & Review source-id: 419 date: 1971-04 algebraic: white: [Ka2, Ra5, Sb6, Pb2] black: [Kb4, Ra6, Bb5, Pa7] stipulation: "h#2" solution: | "1....Kb1 2.Kb3 Rxb5# 1.Kxa5 Ka3 2.axb6 b4#" --- authors: - Benkő, Pál source: Chess Life & Review source-id: 443 date: 1971-07 algebraic: white: [Ke1, Rh1, Ra1, Sg1, Sb1, Ph2, Pe2] black: [Ke4, Qc2, Rh3, Bf3, Sa4, Pe3, Pa3, Pa2] stipulation: "h#3" intended-solutions: 2 solution: | "1.Bxe2 Sxh3 2.Kf3 Rg1 3.Qe4 Rg3# 1.Qxe2+ Sxe2 2.Bg4 Sbc3+ 3.Kf3 0-0#" --- authors: - Benkő, Pál source: Chess Life & Review source-id: 459 date: 1971-09 algebraic: white: [Kg4, Be6, Ba1, Sf7] black: [Ke8, Rh8] stipulation: "h#2" solution: | "1....Bf6 2.Rf8 Sd6# 1.0-0 Kh5 2.Kh7 Sg5#" keywords: - Retro --- authors: - Benkő, Pál source: ChessBase Puzzles date: 2013-10-09 algebraic: white: [Kf5, Rg7, Rg4, Se1, Ph2, Pg2] black: [Kh5, Bf2, Ph6, Pg3] stipulation: "#2" solution: | "1.R4g5+! 1....hxg5 2.Rh7# 1....Kh4 2.Sf3#" comments: - "This is Benko's composed prequel (#2 adding WRg4) to Sam Loyd's Charles XII at Bender problem 47427" --- authors: - Benkő, Pál source: Magyar Sakkelet date: 1969 algebraic: white: [Ke2, Rf6, Bb3, Ba7, Sh8, Sd8, Ph4, Ph3, Pg6, Pg3, Pd6, Pc2, Pa4] black: [Ke4, Ph6, Ph5, Pe5, Pd7, Pc3, Pa6] stipulation: "#3" intended-solutions: 6 solution: | "1.Bb3-g8 ! zugzwang. 1...a6-a5 2.Sh8-f7 zugzwang. 2...Ke4-d5 3.Sf7-g5 # 1.Rf6-f1 ! zugzwang. 1...a6-a5 2.Ke2-f2 zugzwang. 2...Ke4-f5 3.Kf2-e3 # 1.Rf6-f8 ! zugzwang. 1...a6-a5 2.Bb3-f7 zugzwang. 2...Ke4-f5 3.Bf7-d5 # 2.Sd8-f7 zugzwang. 2...Ke4-f5 3.Sf7-g5 # 1.Ba7-g1 ! threat: 2.Sd8-b7 threat: 3.Sb7-c5 # 1...a6-a5 2.Ke2-f2 zugzwang. 2...Ke4-d4 3.Kf2-f3 # 2.Rf6-f2 zugzwang. 2...Ke4-d4 3.Rf2-f4 #" keywords: - Indian theme - Battery play --- authors: - Benkő, Pál source: Shahmat date: 1969 algebraic: white: [Ka4, Ra7, Be8] black: [Ke4, Bh8, Pe7] stipulation: "h#3" intended-solutions: 3 solution: | "1.e7-e5 Ra7-g7 2.Ke4-f5 Rg7-g4 3.Bh8-f6 Be8-d7 # 1.e7-e6 Ra7-f7 2.Bh8-d4 Rf7-f3 3.e6-e5 Be8-c6 # 1.Bh8-e5 Ra7-d7 2.Be5-f4 Rd7-d3 3.e7-e5 Be8-g6 #" --- authors: - Benkő, Pál source: Shahmat date: 1973 algebraic: white: [Kb6, Bb4, Sh8, Pe7, Pd5, Pa2] black: [Kd7] stipulation: "#6" twins: b: Move a2 g2 solution: | "a) diagram 1.a4! Ke8 2.a5 Kd7 3.a6 Ke8 4.a7 Kd7 5.a8/B Ke8 6.Bc6# b) Pa2-g2 1.g4! Ke8 2.g5 Kd7 3.g6 Ke8 4.g7 Kd7 5.g8/S Ke8 6.Sf6#" keywords: - Excelsior --- authors: - Benkő, Pál source: Chess Life & Review source-id: 675 date: 1974-03 algebraic: white: [Kc4, Rh4, Bd5, Ba5] black: [Kg5, Qh5, Sf7] stipulation: "h#2" solution: | "1....Be4 2.Sh6 Bd8# 1.Kxh4 Be6 2.Sg5 Be1#" --- authors: - Benkő, Pál source: Chess Life & Review source-id: 684 date: 1974-04 algebraic: white: [Kd1, Re4, Se6] black: [Kd3, Sa4, Pb3] stipulation: "h#3" intended-solutions: 2 solution: | "1.Sa4-c3 + Kd1-c1 2.Sc3-b1 Kc1-b2 3.Sb1-d2 Se6-c5 # 1.Sa4-c5 Re4-f4 2.Kd3-e3 Se6-c7 3.Sc5-d3 Sc7-d5 #" --- authors: - Benkő, Pál source: Die Schwalbe date: 1974 algebraic: white: [Kg5, Qh4] black: [Kc8, Rc7, Be2, Pe3, Pb5] stipulation: "h#2" options: - duplex intended-solutions: 2 solution: | "1.Bg4 Qh1 2.Bd7 Qa8# 1.Bf3 Qh5 2.Bb7 Qe8# 1.Kh6 Bd3 2.Qg5 Rh7# 1.Qg3 Rc5+ 2.Kh4 Rh5#" --- authors: - Benkő, Pál source: Magyar Sakkelet date: 1975 algebraic: white: [Kg3, Bg5, Bg4] black: [Kb7, Sb6] stipulation: "h#4" twins: b: Move g5 e5 solution: | "a) 1.Sb6-a8 Kg3-f4 2.Sa8-c7 Kf4-f5 3.Kb7-c8 Kf5-f6 + 4.Kc8-d8 Kf6-f7 # b) wBg5--e5 1.Sb6-c4 Kg3-f4 2.Sc4-a5 Kf4-f5 3.Kb7-c8 Kf5-e6 4.Sa5-b7 Ke6-e7 #" keywords: - Chameleon echo comments: - republished as Benko's Bafflers No. 780 in Chess Life & Review, August 1975 --- authors: - Benkő, Pál source: Chess Life & Review date: 1976-03 algebraic: white: [Kg1, Qg3, Rg7, Rd5, Bc6, Sd2] black: [Kb4, Rb8, Bc1, Sa4, Sa1, Ph5] stipulation: "#2" solution: | "1.Ra7! threat 2.Rxa4# 1....Sb2 2.Qa3# 1....Sb6 (or Ra8,Rb5) 2.R(x)b5# 1....Sc3 2.Qd6# 1....Sc5 2.Rd4#" --- authors: - Benkő, Pál source: Chess Life & Review date: 1976-04 algebraic: white: [Ke1, Qd6, Rh1, Sh6, Sg3, Pf3, Pe3, Pd2, Pc5] black: [Kg2, Pd7] stipulation: "#2" solution: | "1....Kxf3 2.0-0# 1.e4? Kxf3! (castling illegal) 1.Sf1! 1....Kxf3 2.Qd5# 1....Kxh1 2.Qh2#" keywords: - Retro --- authors: - Benkő, Pál source: Chess Life & Review date: 1976-05 algebraic: white: [Kg4, Qg8, Rd1, Bg6, Bc3, Sg2, Sb7, Pd5] black: [Ke4, Qd7, Sf5, Pe7, Pd6] stipulation: "#2" solution: | "1.Qe8! 1....e5 2.Rd4# 1....e6 2.Bxf5# 1....Qc8 2.Sxd6# 1....Qe6 2.Qa4# 1....Qxb7(c6,c7,xe8) 2.Bxf5# 1....Qb5 2.Sxd6# and Bxf5# 1....Qd8 2.Bxf5# and Qa4# 1....Qa4 2.Sxd6#, Bxf5#, and Qxa4#" keywords: - Pin mates --- authors: - Benkő, Pál source: Chess Life & Review date: 1976-06 algebraic: white: [Kb2, Qd5, Rb7, Ph6, Pf4, Pe4, Pd6] black: [Kf6, Rf8, Sf3, Pg6, Pf7] stipulation: "#2" solution: | "1....Rb8 2.Qxf7# 1.d7! threat 2.Qd6# 1....Sd4(g5) 2.Qe5# 1....Re8 2.dxe8/S# 1....Ke7 2.d8/Q#" --- authors: - Benkő, Pál source: Chess Life & Review date: 1976-07 algebraic: white: [Kh2, Qg4, Bb5, Sh5, Sd3, Pf3, Pc5, Pc3] black: [Kd5, Bb8, Sf7, Sf5, Pg7, Pf4, Pe6, Pe3] stipulation: "#2" solution: | "1.Qg2? e2! 1.Qxg7? Be5! 1.Qxf4! threat 2.c4# 1....e5 2.Qc4# 1....S5d6 2.Qd4# 1....S7d6 2.Qe5# 1....Se5 2.Qe4#" keywords: - Pins and unpins --- authors: - Benkő, Pál source: Chess Life & Review date: 1976-08 algebraic: white: [Ka1, Qh6, Ra5, Bb6, Sf8, Sc7, Ph4, Pf3, Pa3] black: [Ke5, Qc5, Ba7, Sb1] stipulation: "#2" solution: | "1.Sb5! threat 2.Qg5# 1....Qxa3+ 2.Sxa3# 1....Qc3+ 2.Sxc3# 1....Qd4+ 2.Sxd4# 1....Qe7(xf8) 2.Sd6# 1....Qxb5 2.Rxb5#" keywords: - Cross-checks --- authors: - Benkő, Pál source: Chess Life & Review date: 1976-09 algebraic: white: [Kb7, Qd1, Re2, Rc6, Bg8, Sf5, Sd3, Pg4, Pc7] black: [Ke6, Qe4, Rf7, Rd6] stipulation: "#2" solution: | "1.Qc1! waiting 1....Rxc6 2.Qxc6# 1....Q~ 2.Rxd6# 1....Kd5 2.Qc4# 1....Kd7 2.c8/Q# 1....Kf6 2.Qh6#" keywords: - Pin mates --- authors: - Benkő, Pál source: Chess Life & Review date: 1976-10 algebraic: white: [Kd2, Qe6, Rh4, Rc3, Bb7, Sd5, Pf4, Pb4] black: [Kd4, Rh5, Bh8, Bc4, Sc2, Pb5] stipulation: "#2" solution: | "1.Sc7! threat 2.Qe4# 1....Sxb4 2.Qe3# 1....Bd3 2.Rxd3# 1....Bd5 2.Sxb5# 1....Bxe6 2.Sxe6# 1....Be5 2.Qb6# 1....Re5 2.fxe5#" keywords: - Black correction --- authors: - Benkő, Pál source: Chess Life & Review date: 1976-11 algebraic: white: [Ka8, Qg5, Rd6, Bd7, Bb8, Se8, Sd2, Pf6] black: [Ke5, Qh2, Rf1, Bf5, Sa3, Pe4, Pd4] stipulation: "#2" solution: | "1.Bc8? Qh7! 1.Qe3! threat 2.Rxd4# 1....dxe3 2.Rd3# 1....Sb5 2.Sc4# 1....Bxd7(e6) 2.Qxe4#" --- authors: - Benkő, Pál source: Chess Life & Review date: 1976-12 algebraic: white: [Kh3, Rh5, Rb6, Be3, Bc8, Sf8, Sd5, Pg7, Pf7, Pc7, Pc6, Pb7] black: [Kd6, Qa8] stipulation: "#2" solution: | "1.Se6? Qxc8! 1.Be6? Qxf8! 1.Bd7? Qd8! 1.b8/Q? Qa1! 1.Bg4! zugzwang 1....Q~a 2.c8/S# 1....Qb8 2.cxb8/B(or Q)# 1....Qc8 2.bxc8/S# 1....Qd8 2.cxd8/R(or Q)# 1....Qe8 2.fxe8/S# 1....Qxf8 2.gxf8/B(or Q)#" --- authors: - Benkő, Pál source: Chess Life & Review date: 1977-01 algebraic: white: [Kf2, Qc2, Bh3, Sd7, Sc5, Ph4, Pg5, Pd2, Pc4] black: [Kf4, Rd3, Pg6, Pf3] stipulation: "#2" solution: | "1.Sf6? Rd4! 1.Qb2? Rd5! 1.Qc1! 1....R~ 2.d3# 1....Rc3 2.dxc3# 1....Rxd2+ 2.Qxd2# 1....Rxd7 2.d4# 1....Re3 2.dxe3#" keywords: - Albino --- authors: - Benkő, Pál source: algebraic: white: [Kh4, Rh8, Rf8, Sh7, Ph6, Pf7, Pf4] black: [Kg6, Ph5, Pf6, Pf5] stipulation: "#3" solution: | "1.Rf8-d8 ! zugzwang. 1...Kg6*f7 2.Rd8-d7 + 2...Kf7-e6 3.Sh7-f8 # 2...Kf7-g6 3.Sh7-f8 # 1...Kg6*h6 2.f7-f8=Q + 2...Kh6-g6 3.Qf8*f6 # 2.Sh7-g5 + 2...Kh6-g7 3.Rd8-g8 # 2...Kh6-g6 3.Rd8-g8 # 2.Sh7-f8 + 2...Kh6-g7 3.Rh8-h7 #" keywords: - Letters --- authors: - Benkő, Pál source: Chess Life & Review date: 1977-02 algebraic: white: [Ke7, Qc4, Sc3, Sb3, Pg4, Pf2] black: [Ke5, Sg5, Sc2, Pg6, Pf3, Pd6] stipulation: "#2" solution: | "1.Sc3-e2 ! zugzwang. 1...Sc2-a1 2.Qc4-d4 # 1...Sc2-e1 2.Qc4-d4 # 1...Sc2-e3 2.Qc4-d4 # 1...Sc2-d4 2.Qc4*d4 # 1...Sc2-b4 2.Qc4-d4 # 1...Sc2-a3 2.Qc4-d4 # 1...f3*e2 2.f2-f4 # 1...Sg5-e4 2.Qc4-e6 # 1...Sg5-h3 2.Qc4-e6 # 1...Sg5-h7 2.Qc4-e6 # 1...Sg5-f7 2.Qc4-e6 # 1...Sg5-e6 2.Qc4*e6 # 1...d6-d5 2.Qc4-f4 #" --- authors: - Benkő, Pál source: Chess Life & Review date: 1977-03 algebraic: white: [Kh5, Qb1, Re4, Bb8, Ba2, Sf6, Pg5, Pe7, Pe2] black: [Kf5, Qc5, Ba1, Se5, Pf7] stipulation: "#2" solution: | "1.Sf6-e8 ! threat: 2.Se8-g7 # 1...Qc5-c2 2.Se8-d6 # 1...Se5-c4 2.Re4-e3 # 1...Se5-d3 2.Re4-f4 # 1...Se5-f3 2.Re4-f4 # 1...Se5-g4 2.Re4-f4 # 1...Se5-g6 2.Re4-f4 # 1...Se5-d7 2.Re4-f4 # 1...Se5-c6 2.Re4-f4 #" --- authors: - Benkő, Pál source: Chess Life & Review source-id: 1062 date: 1979-05 algebraic: white: [Ka6, Pc2] black: [Kh1, Pg7] stipulation: "h#6" twins: b: Move h1 g3 solution: | "a) 1.g7-g6 c2-c4 2.g6-g5 c4-c5 3.g5-g4 c5-c6 4.g4-g3 c6-c7 5.g3-g2 c7-c8=Q 6.g2-g1=R Qc8-h3 # b) bKh1--g3 1.Kg3-f4 c2-c3 2.Kf4-e5 c3-c4 3.Ke5-d6 c4-c5 + 4.Kd6-c7 c5-c6 5.Kc7-b8 c6-c7 + 6.Kb8-a8 c7-c8=R #" --- authors: - Benkő, Pál source: Chess Life & Review source-id: 1098 date: 1979-11 algebraic: white: [Kc7, Sc5, Pd7] black: [Ka5, Pb2] stipulation: "h#2" twins: b: Move b2 f2 solution: | "a) 1.b2-b1=R d7-d8=S 2.Rb1-b5 Sd8-c6 # b) bPb2--f2 1.f2-f1=B d7-d8=Q 2.Bf1-b5 Qd8-d2 #" --- authors: - Benkő, Pál source: Chess Life & Review date: 1976-01 algebraic: white: [Kd7, Rh4, Rc8, Bc2, Sf7, Sf5, Pd2, Pb4] black: [Kd5, Qg1, Be3, Sc3, Pe4, Pc4] stipulation: "#2" solution: | "1.d2-d4 ! threat: 2.Rc8-c5 # 1...Sc3-a4 2.Bc2*e4 # 1...Be3*d4 2.Sf5-e7 # 1...c4*d3 ep. 2.Bc2-b3 # 1...e4*d3 ep. 2.Sf5-e7 #" --- authors: - Benkő, Pál source: Chess Life & Review date: 1975-11 algebraic: white: [Kh2, Re6, Rc4, Bg6, Ba7, Sh6, Sb3, Pg3] black: [Kf3, Rd5, Rb4, Bf6] stipulation: "#2" solution: | "1.Ba7-g1 ! threat: 2.Re6-e3 # 1...Rb4*b3 2.Rc4-f4 # 1...Rd5-d2 + 2.Sb3*d2 # 1...Rd5-d3 2.Bg6-h5 # 1...Rd5-h5 + 2.Bg6*h5 # 1...Rd5-e5 2.Sb3-d4 # 1...Bf6-d4 2.Sb3-d2 # 1...Bf6-e5 2.Bg6-h5 # 1...Bf6-g5 2.Bg6-h5 #" --- authors: - Benkő, Pál source: Zászlónk date: 1942 algebraic: white: [Ke4, Qa8, Rb1, Bd3, Sd2, Sc7, Pc5, Pc2] black: [Kb4, Qb3, Rb5] stipulation: "#2" solution: | "1.Sd2-c4 ! zugzwang. 1...Qb3*b1 2.Qa8-a3 # 1...Qb3-b2 2.Qa8-a3 # 1...Kb4-c3 2.Sc7-d5 # 1...Kb4*c5 2.Sc7-a6 # 1...Rb5-a5 2.Qa8*a5 # 1...Rb5-b8 2.Qa8-a5 # 1...Rb5-b7 2.Qa8-a5 # 1...Rb5-b6 2.Qa8-a5 # 1...Rb5*c5 2.Rb1*b3 #" --- authors: - Benkő, Pál source: algebraic: white: [Kg1, Qb4, Sg3, Se4] black: [Ke1, Sf1, Pd2] stipulation: "#2" solution: | "1.Qb4-b2 ! zugzwang. 1...Ke1-d1 2.Qb2-b1 # 1...Sf1-h2 2.Qb2*d2 # 1...Sf1*g3 2.Qb2*d2 # 1...Sf1-e3 2.Qb2*d2 # 1...d2-d1=Q 2.Qb2-f2 # 1...d2-d1=S 2.Qb2-e2 # 1...d2-d1=R 2.Qb2-f2 # 2.Qb2-e2 # 1...d2-d1=B 2.Qb2-f2 #" comments: - before 2004 --- authors: - Benkő, Pál source: algebraic: white: [Kg7, Qb3, Rd1, Bf2, Bd5, Se7, Se6, Pg4, Pe2] black: [Ke5, Qb6, Rc4, Ra3, Bd3, Pg5, Pd6] stipulation: "#2" solution: | "1.e2-e4 ! threat: 2.Se7-g6 # 2.Bf2-g3 # 1...Ra3-a7 2.Bf2-g3 # 1...Bd3*e4 2.Bf2-g3 # 1...Rc4-c7 2.Bf2-g3 # 1...Rc4*e4 2.Se7-g6 # 1...Qb6*f2 2.Se7-g6 # 1...Qb6-e3 2.Se7-g6 # 1...Qb6-c7 2.Bf2-g3 # 1...Qb6-a7 2.Bf2-g3 # 1...Qb6-b7 2.Bf2-g3 #" comments: - before 2004 --- authors: - Benkő, Pál source: Chess Life date: 1975 algebraic: white: [Ke1, Qh7, Rd2, Rb4, Bh1, Bc5, Sf8, Sb7, Pa6] black: [Kc6, Qd5, Bd8, Bc8, Pe6] stipulation: "#2" solution: | "1.Qh7-c2 ! threat: 2.Bc5-g1 # 2.Bc5-f2 # 2.Bc5-e3 # 2.Bc5-d4 # 2.Bc5-e7 # 2.Bc5-d6 # 2.Bc5-a7 # 2.Bc5-b6 # 1...Qd5*h1 + 2.Bc5-g1 # 1...Qd5-g2 2.Bc5-g1 # 2.Bc5-f2 # 2.Bc5-e3 # 2.Bc5-e7 # 2.Bc5-d6 # 2.Bc5-a7 # 2.Bc5-b6 # 1...Qd5-f3 2.Bc5-g1 # 2.Bc5-f2 # 2.Bc5-e3 # 2.Bc5-e7 # 2.Bc5-d6 # 2.Bc5-a7 # 2.Bc5-b6 # 1...Qd5-e4 + 2.Bc5-e3 # 1...Kc6-c7 2.Bc5-d6 # 1...Bc8*b7 2.Bc5-e7 # 1...Bd8-b6 2.Bc5*b6 # 1...Bd8-h4 + 2.Bc5-f2 # 1...Bd8-f6 2.Bc5-d4 # 1...Bd8-e7 2.Bc5*e7 # 2.Bc5-d6 #" --- authors: - Benkő, Pál source: Chess Life date: 1981 algebraic: white: [Kc7, Qa6, Rg5, Bf2, Sd1, Sa1, Pf3, Pe6, Pd2, Pa2] black: [Kb4, Re3, Bf5, Pg6, Pf4] stipulation: "#2" solution: | "1.d2-d3 ! zugzwang. 1...Re3-e1 2.a2-a3 # 2.Sa1-c2 # 1...Re3-e2 2.a2-a3 # 1...Re3*d3 2.Sa1-c2 # 1...Re3*e6 2.a2-a3 # 2.Sa1-c2 # 1...Re3-e5 2.a2-a3 # 2.Sa1-c2 # 1...Re3-e4 2.a2-a3 # 2.Sa1-c2 # 1...Re3*f3 2.a2-a3 # 2.Sa1-c2 # 1...Kb4-c5 2.Qa6-c4 # 1...Bf5*d3 2.a2-a3 # 1...Bf5-e4 2.Qa6-a5 # 2.Rg5-b5 # 2.a2-a3 # 2.Sa1-c2 # 1...Bf5-h3 2.Qa6-a5 # 2.Rg5-b5 # 2.a2-a3 # 2.Sa1-c2 # 1...Bf5-g4 2.Qa6-a5 # 2.Rg5-b5 # 2.a2-a3 # 2.Sa1-c2 # 1...Bf5*e6 2.Qa6-a5 # 2.Rg5-b5 # 2.a2-a3 # 2.Sa1-c2 #" --- authors: - Benkő, Pál source: Chess Life date: 1981 algebraic: white: [Kg6, Qd4, Rf1, Re2, Bh1, Bb8, Se5, Sd5] black: [Ke6, Se4, Sd6, Pb5] stipulation: "#2" solution: | "1.Qd4-b4 ! zugzwang. 1...Se4-c3 2.Qb4*d6 # 2.Rf1-f6 # 1...Se4-d2 2.Qb4*d6 # 2.Rf1-f6 # 1...Se4-f2 2.Qb4*d6 # 1...Se4-g3 2.Qb4*d6 # 2.Rf1-f6 # 1...Se4-g5 2.Qb4*d6 # 2.Rf1-f6 # 1...Se4-f6 2.Qb4*d6 # 2.Rf1*f6 # 1...Se4-c5 2.Rf1-f6 # 1...Sd6-c4 2.Sd5-f4 # 1...Sd6-f5 2.Sd5-f4 # 1...Sd6-f7 2.Sd5-f4 # 1...Sd6-e8 2.Sd5-f4 # 1...Sd6-c8 2.Sd5-f4 # 1...Sd6-b7 2.Sd5-f4 # 1...Ke6*d5 2.Qb4*d6 # 1...Ke6*e5 2.Qb4*e4 #" --- authors: - Benkő, Pál source: Chess Life date: 1981 algebraic: white: [Kf3, Qg5, Rd7, Bc2, Pb3] black: [Ke5, Sd5, Pf5] stipulation: "#2" twins: b: Remove b3 solution: | "a) 1.Bc2-b1 ! zugzwang. 1...Sd5-b4 2.Qg5-e7 # 2.Qg5*f5 # 1...Sd5-c3 2.Qg5-e7 # 2.Qg5*f5 # 1...Sd5-e3 2.Qg5-e7 # 1...Sd5-f4 2.Qg5*f5 # 1...Sd5-f6 2.Qg5*f5 # 1...Sd5-e7 2.Qg5*e7 # 1...Sd5-c7 2.Qg5*f5 # 1...Sd5-b6 2.Qg5-e7 # 2.Qg5*f5 # 1...Ke5-d4 2.Qg5-e3 # 1...Ke5-e6 2.Qg5*f5 # b) -wPb3 1.Bc2-b3 ! zugzwang. 1...Sd5-b4 2.Qg5-e7 # 2.Qg5-g7 # 1...Sd5-c3 2.Qg5-e7 # 2.Qg5-g7 # 1...Sd5-e3 2.Qg5-e7 # 2.Qg5-g7 # 1...Sd5-f4 2.Qg5-g7 # 1...Sd5-f6 2.Qg5-f4 # 1...Sd5-e7 2.Qg5*e7 # 2.Qg5-g7 # 1...Sd5-c7 2.Qg5-g7 # 1...Sd5-b6 2.Qg5-e7 # 2.Qg5-g7 # 1...Ke5-d4 2.Qg5-e3 # 1...Ke5-e6 2.Qg5-e7 #" --- authors: - Benkő, Pál source: Chess Life date: 1982 algebraic: white: [Kg5, Qh2, Be6, Be5] black: [Ke4, Pe3, Pb5] stipulation: "#2" solution: | "1.Qh2-a2 ! threat: 2.Qa2-d5 # 1...e3-e2 2.Qa2*e2 # 1...Ke4-d3 2.Be6-f5 # 1...Ke4-f3 2.Be6-d5 #" --- authors: - Benkő, Pál source: Chess Life date: 1982 algebraic: white: [Ke6, Qh1, Rh4] black: [Kf8, Sf6] stipulation: "#2" solution: | "1.Rh4-g4 ! zugzwang. 1...Sf6-d5 2.Qh1-h8 # 1...Sf6-e4 2.Qh1-h8 # 1...Sf6*g4 2.Qh1-h8 # 1...Sf6-h5 2.Qh1-a8 # 1...Sf6-h7 2.Qh1-a8 # 1...Sf6-g8 2.Qh1-a8 # 1...Sf6-e8 2.Qh1-h8 # 1...Sf6-d7 2.Qh1-h8 # 1...Kf8-e8 2.Qh1-a8 #" --- authors: - Benkő, Pál source: Chess Life date: 1983 algebraic: white: [Ka8, Qb3, Rb1, Sc4] black: [Ka6, Sd6, Pb5, Pa7, Pa5] stipulation: "#2" twins: b: Move a7 a3 solution: | "a) 1.Qb3-b4 ! threat: 2.Qb4*d6 # 2.Qb4*a5 # 1...a5*b4 2.Rb1-a1 # 1...b5*c4 2.Qb4*d6 # 1...Sd6*c4 2.Qb4*b5 # 1...Sd6-e4 2.Qb4*a5 # 2.Qb4*b5 # 1...Sd6-f5 2.Qb4*a5 # 2.Qb4*b5 # 1...Sd6-f7 2.Qb4*a5 # 2.Qb4*b5 # 1...Sd6-e8 2.Qb4*a5 # 2.Qb4*b5 # 1...Sd6-c8 2.Qb4*a5 # 2.Qb4*b5 # 1...Sd6-b7 2.Qb4*b5 # b) bPa7--a3 1.Qb3-a4 ! threat: 2.Qa4*a5 # 1...b5*c4 2.Qa4-c6 # 1...b5*a4 2.Rb1-b6 # 1...Sd6*c4 2.Qa4*b5 # 1...Sd6-b7 2.Qa4*b5 #" --- authors: - Benkő, Pál source: Chess Life date: 1984 algebraic: white: [Ke6, Qa2, Rb4, Be2, Ba3, Pd5] black: [Kc5, Bd2, Se5, Sa6, Pc7] stipulation: "#2" solution: | "1.Ba3-c1 ! threat: 2.Qa2-a5 # 1...Bd2*b4 2.Bc1-e3 # 1...Kc5*b4 2.Qa2-a3 # 1...Se5-c4 2.Qa2*c4 # 1...Se5-c6 2.Qa2-c4 # 1...Sa6*b4 2.Qa2-a7 #" --- authors: - Benkő, Pál source: Blitz date: 1995 algebraic: white: [Kb8, Rb7, Ra8, Ba4, Sh7] black: [Ke8, Rb5, Bb6, Pa5] stipulation: "#2" solution: | "1.Rb7-g7 ! zugzwang. 1...Bb6-g1 + 2.Kb8-c7 # 1...Bb6-f2 + 2.Kb8-c7 # 1...Bb6-e3 + 2.Kb8-c7 # 1...Bb6-d4 + 2.Kb8-c7 # 1...Bb6-c5 + 2.Kb8-c7 # 1...Bb6-d8 + 2.Ba4*b5 # 1...Bb6-c7 + 2.Kb8*c7 # 1...Bb6-a7 + 2.Kb8*a7 # 1...Ke8-d8 2.Kb8-b7 #" --- authors: - Benkő, Pál source: algebraic: white: [Ke1, Rh1, Re4, Bc7, Sg3, Pe2] black: [Kg2] stipulation: "#2" solution: | "1.Re4-e5 ! zugzwang. 1...Kg2* 2.Re5-g5 #" keywords: - Retro comments: - before 2004 --- authors: - Benkő, Pál source: algebraic: white: [Ke6, Qe1, Bh2] black: [Ke8, Ra8, Ba7] stipulation: "#2" twins: b: Move h2 e5 solution: | "a) 1.Qe1-a1 ! threat: 2.Qa1-h8 # 1...Ba7-d4 2.Qa1*a8 # 1...Ba7-c5 2.Qa1*a8 # 1...0-0-0 2.Qa1-a6 # b) wBh2--e5 1.Qe1-h1 ! threat: 2.Qh1-h8 # 1...Ba7-c5 2.Qh1*a8 # 1...0-0-0 2.Qh1-c6 #" keywords: - Four corners comments: - before 2004 --- authors: - Benkő, Pál source: algebraic: white: [Kf4, Qh1, Rb3, Sd5, Pe6] black: [Kc8, Sc6] stipulation: "#2" solution: | "1.Qh1-a1 ! zugzwang. 1...Sc6-a5 2.Qa1-h8 # 1...Sc6-b4 2.Qa1-a8 # 1...Sc6-d4 2.Qa1-a8 # 1...Sc6-e5 2.Qa1-a8 # 1...Sc6-e7 2.Qa1-a8 # 1...Sc6-d8 2.Qa1-a8 # 1...Sc6-b8 2.Qa1-h8 # 1...Sc6-a7 2.Qa1-h8 # 1...Kc8-d8 2.Qa1-h8 #" keywords: - Four corners - Knight wheel comments: - before 2004 --- authors: - Benkő, Pál source: Zaszlonk date: 1943 distinction: 3rd Prize algebraic: white: [Kd6, Ra1, Sd5, Pd3, Pc6, Pc2, Pb2] black: [Kb5, Pd4, Pa7, Pa5] stipulation: "#3" solution: | "1.Ra1-a4 ! zugzwang. 1...Kb5*a4 2.Kd6-c5 zugzwang. 2...a7-a6 3.Sd5-b6 # 1...Kb5-a6 2.b2-b4 threat: 3.Ra4*a5 # 1...a7-a6 2.Ra4-c4 zugzwang. 2...a5-a4 3.Rc4-c5 #" --- authors: - Benkő, Pál source: Shahmat date: 1975 algebraic: white: [Kg4, Bb6, Bb3, Pf7, Pf6, Pe7, Pd3] black: [Kd6] stipulation: "#3" solution: | "1.e7-e8=B ! threat: 2.f7-f8=Q + 2...Kd6-e5 3.Qf8-e7 # 1...Kd6-e5 2.f7-f8=B zugzwang. 2...Ke5*f6 3.Bb6-d4 #" --- authors: - Benkő, Pál source: Chess Life date: 1978 algebraic: white: [Kd7, Rb8, Bf8, Pd3, Pa2] black: [Ka4, Pd5, Pa5] stipulation: "#3" twins: b: Rb8-a1 c: Rb8-h2 solution: | "a) 1.Kd7-c6 ! threat: 2.Rb8-b3 threat: 3.Rb3-a3 # 2.Rb8-d8 zugzwang. 2...d5-d4 3.Rd8*d4 # 1...d5-d4 2.Bf8-b4 zugzwang. 2...a5*b4 3.Rb8-a8 # b) 1.Kd7-c6! 1....d4 2.Kb7 Kb5 3.a4# c) 1.Kd7-c6! 1....d4 2.Kc5 Ka3 3.Kb5#" --- authors: - Benkő, Pál source: Blitz Chess date: 1996 algebraic: white: [Ka5, Rb4, Bh1, Bg3, Pb3] black: [Kc5, Bg8] stipulation: "#3" solution: | "1.Bg3-e5 ! threat: 2.Rb4-b5 # 1...Bg8*b3 2.Rb4*b3 threat: 3.Rb3-c3 # 1...Bg8-c4 2.Rb4*c4 # 1...Bg8-d5 2.Rb4-c4 + 2...Bd5*c4 3.b3-b4 #" --- authors: - Benkő, Pál source: Zaszlonk date: 1943 distinction: 1st Prize algebraic: white: [Kb4, Rc5, Ra5, Bb8, Sf2, Pe5, Pe4, Pe3] black: [Kb6, Bf3, Pc6, Pb7, Pa6] stipulation: "#4" solution: | "1.Sf2-d3 ! threat: 2.Sd3-b2 threat: 3.Sb2-c4 # 3.Sb2-a4 # 2...Bf3-d1 3.Sb2-c4 # 2...Bf3-e2 3.Sb2-a4 # 1...Bf3-d1 2.Sd3-b2 threat: 3.Sb2-c4 # 2...Bd1-e2 3.Sb2-a4 # 2...Bd1-b3 3.Kb4-a3 zugzwang. 3...Bb3-a2 4.Sb2-a4 # 3...Bb3-d1 4.Sb2-c4 # 3...Bb3-c2 4.Sb2-c4 # 3...Bb3-g8 4.Sb2-a4 # 3...Bb3-f7 4.Sb2-a4 # 3...Bb3-e6 4.Sb2-a4 # 3...Bb3-d5 4.Sb2-a4 # 3...Bb3-c4 4.Sb2*c4 # 4.Sb2-a4 # 3...Bb3-a4 4.Sb2-c4 # 4.Sb2*a4 # 3.Kb4-c3 zugzwang. 3...Bb3-a2 4.Sb2-a4 # 3...Bb3-d1 4.Sb2-c4 # 3...Bb3-c2 4.Sb2-c4 # 3...Bb3-g8 4.Sb2-a4 # 3...Bb3-f7 4.Sb2-a4 # 3...Bb3-e6 4.Sb2-a4 # 3...Bb3-d5 4.Sb2-a4 # 3...Bb3-c4 4.Sb2*c4 # 4.Sb2-a4 # 3...Bb3-a4 4.Sb2-c4 # 4.Sb2*a4 # 3.e5-e6 zugzwang. 3...Bb3-a2 4.Sb2-a4 # 3...Bb3-d1 4.Sb2-c4 # 3...Bb3-c2 4.Sb2-c4 # 3...Bb3*e6 4.Sb2-a4 # 3...Bb3-d5 4.Sb2-a4 # 3...Bb3-c4 4.Sb2*c4 # 4.Sb2-a4 # 3...Bb3-a4 4.Sb2-c4 # 4.Sb2*a4 # 2.e5-e6 threat: 3.Sd3-e5 threat: 4.Se5-c4 # 4.Se5-d7 # 3...Bd1-e2 4.Se5-d7 # 3...Bd1-b3 4.Se5-d7 # 2...Bd1-g4 3.Sd3-b2 threat: 4.Sb2-c4 # 4.Sb2-a4 # 3...Bg4-d1 4.Sb2-c4 # 3...Bg4-e2 4.Sb2-a4 # 3...Bg4*e6 4.Sb2-a4 # 2...Bd1-b3 3.Sd3-b2 zugzwang. 3...Bb3-a2 4.Sb2-a4 # 3...Bb3-d1 4.Sb2-c4 # 3...Bb3-c2 4.Sb2-c4 # 3...Bb3*e6 4.Sb2-a4 # 3...Bb3-d5 4.Sb2-a4 # 3...Bb3-c4 4.Sb2*c4 # 4.Sb2-a4 # 3...Bb3-a4 4.Sb2-c4 # 4.Sb2*a4 # 1...Bf3-e2 2.Sd3-b2 threat: 3.Sb2-a4 # 2...Be2-d1 3.Sb2-c4 # 2...Be2-b5 3.Kb4-b3 zugzwang. 3...Bb5-a4 + 4.Sb2*a4 # 3...Bb5-f1 4.Sb2-a4 # 3...Bb5-e2 4.Sb2-a4 # 3...Bb5-d3 4.Sb2-a4 # 3...Bb5-c4 + 4.Sb2*c4 # 3...Kb6*a5 4.Sb2-c4 # 3...Kb6*c5 4.Sb2-a4 # 3.e5-e6 zugzwang. 3...Bb5-a4 4.Sb2-c4 # 4.Sb2*a4 # 3...Bb5-f1 4.Sb2-a4 # 3...Bb5-e2 4.Sb2-a4 # 3...Bb5-d3 4.Sb2-a4 # 3...Bb5-c4 4.Sb2*c4 # 4.Sb2-a4 #" --- authors: - Benkő, Pál source: date: 1998 algebraic: white: [Ka1, Ra4, Bh3, Ba7, Pg2, Pf7, Pe7, Pd7, Pc7, Pb7, Pa6] black: [Kh1, Rh8, Ph2] stipulation: "#4" solution: | "1.Ra4-a2 ! zugzwang. 1...Rh8*h3 2.e7-e8=R threat: 3.Re8-e1 # 2...Rh3-e3 3.Re8*e3 threat: 4.Re3-e1 # 2...Rh3-f3 3.Re8-e1 + 3...Rf3-f1 4.Re1*f1 # 1...Rh8-h4 2.d7-d8=R threat: 3.Rd8-d1 # 2...Rh4-d4 3.Rd8*d4 threat: 4.Rd4-d1 # 2...Rh4-e4 3.Rd8-d1 + 3...Re4-e1 4.Rd1*e1 # 2...Rh4-f4 3.Rd8-d1 + 3...Rf4-f1 4.Rd1*f1 # 1...Rh8-h5 2.c7-c8=R threat: 3.Rc8-c1 # 2...Rh5-c5 3.Rc8*c5 threat: 4.Rc5-c1 # 2...Rh5-d5 3.Rc8-c1 + 3...Rd5-d1 4.Rc1*d1 # 2...Rh5-e5 3.Rc8-c1 + 3...Re5-e1 4.Rc1*e1 # 2...Rh5-f5 3.Rc8-c1 + 3...Rf5-f1 4.Rc1*f1 # 1...Rh8-h6 2.b7-b8=R threat: 3.Rb8-b1 # 2...Rh6-b6 3.Rb8*b6 threat: 4.Rb6-b1 # 2...Rh6-c6 3.Rb8-b1 + 3...Rc6-c1 4.Rb1*c1 # 2...Rh6-d6 3.Rb8-b1 + 3...Rd6-d1 4.Rb1*d1 # 2...Rh6-e6 3.Rb8-b1 + 3...Re6-e1 4.Rb1*e1 # 2...Rh6-f6 3.Rb8-b1 + 3...Rf6-f1 4.Rb1*f1 # 1...Rh8-h7 2.b7-b8=Q threat: 3.Qb8-b1 # 2...Rh7*f7 3.Qb8-b1 + 3...Rf7-f1 4.Qb1*f1 # 2.b7-b8=R threat: 3.Rb8-b1 # 2...Rh7*f7 3.Rb8-b1 + 3...Rf7-f1 4.Rb1*f1 # 2.c7-c8=Q threat: 3.Qc8-c1 # 2...Rh7*f7 3.Qc8-c1 + 3...Rf7-f1 4.Qc1*f1 # 2.c7-c8=R threat: 3.Rc8-c1 # 2...Rh7*f7 3.Rc8-c1 + 3...Rf7-f1 4.Rc1*f1 # 2.d7-d8=Q threat: 3.Qd8-d1 # 2...Rh7*f7 3.Qd8-d1 + 3...Rf7-f1 4.Qd1*f1 # 2.d7-d8=R threat: 3.Rd8-d1 # 2...Rh7*f7 3.Rd8-d1 + 3...Rf7-f1 4.Rd1*f1 # 2.e7-e8=Q threat: 3.Qe8-e1 # 2...Rh7*f7 3.Qe8-e1 + 3...Rf7-f1 4.Qe1*f1 # 2.e7-e8=R threat: 3.Re8-e1 # 2...Rh7*f7 3.Re8-e1 + 3...Rf7-f1 4.Re1*f1 # 1...Rh8-a8 2.Ka1-b2 threat: 3.Ra2-a1 # 2.Ra2-e2 threat: 3.Re2-e1 # 2.Ra2-d2 threat: 3.Rd2-d1 # 2.Ra2-c2 threat: 3.Rc2-c1 # 2.Ra2-b2 threat: 3.Rb2-b1 # 1...Rh8-b8 2.Ra2-e2 threat: 3.Re2-e1 # 2.Ra2-d2 threat: 3.Rd2-d1 # 2.Ra2-c2 threat: 3.Rc2-c1 # 2.g2-g4 threat: 3.Bh3-g2 # 2.g2-g3 threat: 3.Bh3-g2 # 1...Rh8-c8 2.Ra2-e2 threat: 3.Re2-e1 # 2.Ra2-d2 threat: 3.Rd2-d1 # 2.g2-g4 threat: 3.Bh3-g2 # 2.g2-g3 threat: 3.Bh3-g2 # 1...Rh8-d8 2.Ra2-e2 threat: 3.Re2-e1 # 2.g2-g4 threat: 3.Bh3-g2 # 2.g2-g3 threat: 3.Bh3-g2 # 1...Rh8-e8 2.g2-g4 threat: 3.Bh3-g2 # 2.g2-g3 threat: 3.Bh3-g2 # 1...Rh8-f8 2.g2-g4 threat: 3.Bh3-g2 # 2.g2-g3 threat: 3.Bh3-g2 # 1...Rh8-g8 2.Ra2-e2 threat: 3.Re2-e1 # 2...Rg8*g2 3.Bh3*g2 # 2.Ra2-d2 threat: 3.Rd2-d1 # 2...Rg8*g2 3.Bh3*g2 # 2.Ra2-c2 threat: 3.Rc2-c1 # 2...Rg8*g2 3.Bh3*g2 # 2.Ra2-b2 threat: 3.Rb2-b1 # 2...Rg8*g2 3.Bh3*g2 #" --- authors: - Benkő, Pál source: Chess Life date: 1982 algebraic: white: [Kh3, Ra1, Bc2, Pf3, Pd3] black: [Kh1, Bg1, Pf6, Pf4] stipulation: "#5" twins: b: WSc2 solution: | "a) 1.Ra1-b1 ! zugzwang. 1...f6-f5 2.Bc2-d1 zugzwang. 2...Bg1-h2 3.Bd1-e2 + 3...Bh2-g1 4.Be2-f1 threat: 5.Bf1-g2 # 2...Bg1-a7 3.Bd1-e2 + 3...Ba7-g1 4.Be2-f1 threat: 5.Bf1-g2 # 2...Bg1-b6 3.Bd1-e2 + 3...Bb6-g1 4.Be2-f1 threat: 5.Bf1-g2 # 2...Bg1-c5 3.Bd1-e2 + 3...Bc5-g1 4.Be2-f1 threat: 5.Bf1-g2 # 2...Bg1-d4 3.Bd1-e2 + 3...Bd4-g1 4.Be2-f1 threat: 5.Bf1-g2 # 2...Bg1-e3 3.Bd1-e2 + 3...Be3-c1 4.Rb1*c1 # 3...Be3-g1 4.Be2-f1 threat: 5.Bf1-g2 # 2...Bg1-f2 3.Bd1-e2 + 3...Bf2-e1 4.Rb1*e1 # 3...Bf2-g1 4.Be2-f1 threat: 5.Bf1-g2 # b) 1.Sc2-a3! 1....f5 2.Sb1 Bd4 3.Sc3+ Bg1 4.Sd1 S~ 5.S(x)f2#" --- authors: - Benkő, Pál source: date: 1999 algebraic: white: [Kf1, Rh3, Sf8, Pg4] black: [Kh1, Bh2, Pg6] stipulation: "#5" twins: b: Sf8-f7 solution: | "a) 1.Rh3-h8 ! zugzwang. 1...g6-g5 2.Sf8-h7 zugzwang. 2...Bh2-g1 3.Sh7-f6 + 3...Bg1-h2 4.Sf6-h5 threat: 5.Sh5-g3 # 3.Sh7*g5 + 3...Bg1-h2 4.Sg5-h3 threat: 5.Sh3-f2 # 2...Bh2-b8 3.Sh7-f6 + 3...Bb8-h2 4.Sf6-h5 threat: 5.Sh5-g3 # 3.Sh7*g5 + 3...Bb8-h2 4.Sg5-h3 threat: 5.Sh3-f2 # 3.Rh8*b8 zugzwang. 3...Kh1-h2 4.Rb8-b3 zugzwang. 4...Kh2-h1 5.Rb3-h3 # 2...Bh2-c7 3.Sh7-f6 + 3...Bc7-h2 4.Sf6-h5 threat: 5.Sh5-g3 # 3.Sh7*g5 + 3...Bc7-h2 4.Sg5-h3 threat: 5.Sh3-f2 # 2...Bh2-d6 3.Sh7-f6 + 3...Bd6-h2 4.Sf6-h5 threat: 5.Sh5-g3 # 3.Sh7*g5 + 3...Bd6-h2 4.Sg5-h3 threat: 5.Sh3-f2 # 2...Bh2-e5 3.Sh7-f6 + 3...Be5-h2 4.Sf6-h5 threat: 5.Sh5-g3 # 2...Bh2-f4 3.Sh7-f6 + 3...Bf4-h2 4.Sf6-h5 threat: 5.Sh5-g3 # 3.Sh7*g5 + 3...Bf4-h2 4.Sg5-h3 threat: 5.Sh3-f2 # 2...Bh2-g3 3.Sh7*g5 + 3...Bg3-h2 4.Sg5-h3 threat: 5.Sh3-f2 # 3...Bg3-h4 4.Rh8*h4 # b) 1.Rh3-h7! 1....g5 2.Sh6 Bg3 3.Sf5+ Bh4 4.Sxh4 gxh5 5.Rxh4#" --- authors: - Benkő, Pál source: Magyar Sakkelet date: 1973 algebraic: white: [Kh5, Sd7, Ph7, Pg6, Pe2] black: [Kg7, Ph6] stipulation: "#6" solution: | "1.e2-e4 ! threat: 2.e4-e5 zugzwang. 2...Kg7-h8 3.e5-e6 zugzwang. 3...Kh8-g7 4.e6-e7 zugzwang. 4...Kg7-h8 5.e7-e8=Q + 5...Kh8-g7 6.Qe8-e5 # 6.Qe8-g8 # 6.Qe8-f8 # 6.h7-h8=Q # 6.h7-h8=B # 5.e7-e8=R + 5...Kh8-g7 6.Re8-g8 # 6.h7-h8=Q # 6.h7-h8=B # 1...Kg7-h8 2.Sd7-e5 threat: 3.Se5-f7 + 3...Kh8-g7 4.h7-h8=Q # 2...Kh8-g7 3.Se5-f7 threat: 4.h7-h8=Q # 3...Kg7-f6 4.h7-h8=Q + 4...Kf6-e7 5.Qh8-d8 + 5...Ke7-e6 6.Qd8-d6 # 4...Kf6-e6 5.Qh8-e8 + 5...Ke6-f6 6.Qe8-e5 # 3...Kg7-f8 4.h7-h8=Q + 4...Kf8-e7 5.Qh8-d8 + 5...Ke7-e6 6.Qd8-d6 #" keywords: - Anti-excelsior --- authors: - Benkő, Pál source: algebraic: white: [Ke1, Ra6] black: [Kh8] stipulation: "#9" solution: | "1.Rg6! Kh7 2.Rg4 Kh6 3.Kf2 Kh5 4.Kg3 Kh6 5.Kh4 Kh7 6.Kh5 Kh8 7.Kg6 Kg8 8.Rf4 Kh8 9.Rf8#" comments: - before 2004 --- authors: - Benkő, Pál source: eg date: 1998 distinction: 2nd Comm. algebraic: white: [Kh6, Rh5, Pg6, Pg5, Pf2] black: [Kh8, Rf7] stipulation: + solution: | 1.g7+ Kg8 2.Rh3 Rf3 3.Rg3 Rxf2 4.Ra3 Rh2+ 5.Kg6 Ra2 6.Rf3 Ra6+ 7.Rf6 Rb6 8.Kh6 Rb8 9.Rf8+ wins comments: - after Alessandro Salvio --- authors: - Benkő, Pál source: Magyar Sakkélet source-id: 1520 date: 1982-07 distinction: 1st-2nd Prize algebraic: white: [Kb6, Rg2, Sh4, Pg5] black: [Kh1, Rg8, Ph2, Pg6] stipulation: + solution: | "1.Rg2-a2 ? Rg8-b8+ 2.Kb6-c5 Rb8-b1 3.Kc5-d4 Rb1-b4+ 4.Kd4-e3 Rb4*h4 5.Ke3-f3 Rh4-h3+ 6.Kf3-f2 Rh3-a3 ! 7.Ra2-e2 Ra3-a2 ! 1.Rg2-e2 ! Rg8-b8+ 2.Kb6-c5 ! Rb8-b1 3.Kc5-d4 ! Rb1-b4+ 4.Kd4-e3 Rb4*h4 5.Ke3-f3 ! Rh4-h3+ 6.Kf3-f2 ! 4...Rb4-b3+ 5.Ke3-f4 ! Kh1-g1 6.Re2-g2+ Kg1-h1 7.Rg2-c2 ! Kh1-g1 8.Sh4-f3+ ! 5.Ke3-f2 ? Rb3-b2 ! 3...Rb1-g1 4.Sh4-f3 ! 3.Kc5-d5 ? Rb1-b5+ 4.Kd5-e4 Rb5*g5 3.Sh4-f3 ? Rb1-b2 3...Rb1-b5+ ? 4.Kc5-d4 Rb5-b4+ 5.Kd4-e5 Rb4-b5+ 6.Ke5-e6 Rb5-b6+ 7.Ke6-f7 Rb6-b7+ 8.Kf7*g6 Rb7-g7+ 9.Kg6-h5 Rg7-h7+ 10.Kh5-g4 2...Rb8-c8+ 3.Kc5-d6 ! Rc8-c1 4.Kd6-e5 Rc1-f1 5.Ke5-e4 ! Kh1-g1 6.Re2-g2+ Kg1-h1 7.Rg2-c2 ! Kh1-g1 8.Sh4-f3+ Rf1*f3 9.Ke4*f3 h2-h1=Q+ 10.Kf3-g3 3...Rc8-d8+ 4.Kd6-e7 Rd8-d1 5.Ke7-f7 ! Rd1-f1+ 6.Kf7*g6 Kh1-g1 7.Re2-g2+ Kg1-h1 8.Kg6-h5 Rf1-f8 9.Rg2-a2 Kh1-g1 10.Ra2-a1+ Rf8-f1 11.Sh4-f3+ 1...Kh1-g1 2.Sh4-f3+ Kg1-f1 3.Re2*h2 Rg8-b8+ 4.Kb6-c5 Rb8-b5+ 5.Kc5-d4 Rb5-b4+ 6.Kd4-d5 Rb4-b5+ 7.Kd5-e4 Rb5-b4+ 8.Sf3-d4" --- authors: - Benkő, Pál source: E. G. date: 1984 algebraic: white: [Ka8, Bh6, Sa7, Pd2, Pc2] black: [Kd5, Pd4, Pa3] stipulation: + solution: | "1.Sc6 Kxc6 2.Bg7 Kd5 3.d3 a2 4.c4+ Kc5 5.Kb7 a1/Q 6.Bf8#" --- authors: - Benkő, Pál source: E. G. date: 1984 algebraic: white: [Ka8, Bh6, Sg7, Pd2, Pc2] black: [Kd6, Pe5, Pa3] stipulation: + solution: | "1.Sf5+ Ke6 2.Sd4+ exd4 3.Bg7 Kd5 4.d3 a2 5.c4+ Kc5 6.Kb7 a1/Q 7.Bf8#" --- authors: - Benkő, Pál source: Magyar Sakkélet date: 1985-11 distinction: 1st Prize algebraic: white: [Ke2, Bc8, Pa6] black: [Kb3, Bg2, Pd5, Pa4] stipulation: + solution: | "1.Ke2-f2 ! Bg2-e4 ! 2.Bc8-b7 ! a4-a3 3.a6-a7 a3-a2 4.a7-a8=Q Kb3-b2 5.Qa8-b8 ! a2-a1=Q 6.Bb7*d5+ Kb2-c1 7.Qb8-f4+ Kc1-d1 8.Qf4-g4+ Kd1-c1 9.Qg4-g5+ Kc1-c2 10.Bd5*e4+ Kc2-c3 11.Qg5-c5+ ! Kc3-b3 12.Be4-d5+ Kb3-b2 13.Qc5-d4+ Kb2-b1 14.Bd5-e4+ Kb1-a2 15.Qd4-a4+ Ka2-b2 16.Qa4-b4+ Kb2-c1 17.Kf2-e1 11.Qg5-e5+ ? Kc3-d2 12.Qe5*a1 10...Kc2-d1 11.Qg5-d5+ Kd1-c1 12.Qd5-c5+ 9.Qg4-g1+ ! { minor dual } Kc1-b2 10.Qg1-g7+ Kb2-b1 11.Bd5*e4+ Kb1-a2 12.Qg7-a7+ Ka2-b2 13.Qa7-d4+ Kb2-a2 14.Qd4-a4+ Ka2-b2 15.Qa4-b4+ Kb2-c1 16.Kf2-e1 ! 6...Kb2-a3 7.Qb8-a7+ 5.Qa8-h8+ ? Kb2-b1 2.Bc8-f5 ? Be4-h1 3.Bf5-e4 Bh1*e4 4.Kf2-e3 Kb3-c3 5.a6-a7 Be4-h1 1...a4-a3 2.a6-a7 1...Bg2-h1 2.Bc8-b7 a4-a3 3.a6-a7 a3-a2 4.a7-a8=Q Kb3-b2 5.Qa8-h8+ Kb2-b1 6.Qh8*h1+" comments: - | Initially this was a twin with b: Move b3 c1, confirm 410727. Later the author omitted this phase. Maybe the reason was Heuäcker's anticipation 293767. --- authors: - Benkő, Pál source: Sakkelet source-id: 1700 date: 1985-11 algebraic: white: [Ke2, Bc8, Pa6] black: [Kc1, Bg2, Pd5, Pa4] stipulation: + solution: | 1.Kf2 Bh1 2.Kg1 Bf3 3.Bg4 Be4 4.Bf5 Bf3 5.Kf2 Bh1 6.Be4 Bxe4 7.Ke3 Bg2 8.Kd4 wins comments: - | Initially this was phase b of a twin with a: Move c1 b3, confirm 410726. Later the author omitted this phase. Maybe the reason was Heuäcker's anticipation 293767. --- authors: - Benkő, Pál source: Chess Life date: 1987-11 algebraic: white: [Kf7, Rg3, Pc4] black: [Kf5, Sa4, Pc6] stipulation: + solution: | "1.Kf7-e7 Kf5-e5 2.Rg3-g4 c6-c5 3.Rg4-h4 ! Sa4-b6 4.Ke7-d8 ! Sb6*c4 5.Rh4*c4 Ke5-d5 6.Rc4-c1 ! c5-c4 7.Kd8-d7 ! Kd5-c5 8.Kd7-c7 ! Kc5-b4 9.Kc7-d6 8...Kc5-d4 9.Kc7-b6 4...Ke5-d6 5.Rh4-h6+ 4.Ke7-e8 ? Ke5-d6 5.Ke8-d8 Kd6-c6 ! 3...Ke5-f5 4.Ke7-d6 3...Sa4-b2 4.Ke7-d7 Sb2*c4 5.Rh4*c4 Ke5-d5 6.Rc4-c2 c5-c4 7.Rc2-c1 Kd5-c5 8.Kd7-c7 ! 3.Ke7-d7 ? Ke5-f5 ! 4.Rg4-h4 Kf5-g5 5.Rh4-e4 Kg5-f5 6.Re4-e6 Sa4-b2 7.Re6-c6 Kf5-e4 ! 8.Rc6*c5 Ke4-d4 7...Sb2*c4 ? 8.Rc6*c5+ Sc4-e5+ 9.Kd7-d6 2...Sa4-b2 3.c4-c5 2...Sa4-b6 3.c4-c5 2.Rg3-g5+ ? Ke5-d4 3.Rg5-g4+ Kd4-c5" --- authors: - Benkő, Pál source: Sakkelet date: 1986 distinction: 1st Prize algebraic: white: [Ke7, Rf4, Pc3] black: [Kd5, Sd3, Pc5] stipulation: + solution: | 1.c4+ Ke5 2.Rg4 Sb2 3.Rh4 Sxc4 4.Rxc4 Kd5 5.Rc1 c4 6.Kd7 Kc5 7.Kc7 wins --- authors: - Benkő, Pál source: Sakkelet date: 1986 distinction: 1st Prize algebraic: white: [Kg1, Rh8, Ph5] black: [Ke3, Rf5, Pc3] stipulation: "=" solution: | 1.Rc8 Kd3 2.h6 c2 3.h7 Rf8 4.Rc7 Rh8 5.Rd7+ Ke2 6.Rc7 Kd2 7.Rd7+ Kc1 8.Rg7! Rb8 9.Kh2 Kb1 10.Rg8 Rb2 11.h8/Q c1/Q+ 12.Rg2 Qf4+ 13.Kh1 = --- authors: - Benkő, Pál source: Chess Life date: 1986 algebraic: white: [Kg8, Rh7] black: [Kg6, Ph5, Pe7] stipulation: + twins: b: Move h7 h8 solution: | "a) 1.Rh7-h8 ? e7-e5 2.Kg8-f8 Kg6-g5 3.Kf8-f7 h5-h4 4.Kf7-e6 Kg5-g4 5.Ke6-d5 h4-h3 6.Kd5-e4 Kg4-g3 7.Ke4-e3 Kg3-g2 8.Ke3-e2 h3-h2 9.Rh8-g8+ Kg2-h3 10.Ke2-f2 h2-h1=S+ 11.Kf2-f3 e5-e4+ ! 12.Kf3*e4 Sh1-g3+ 13.Ke4-f3 Sg3-h5 ! 1...Kg6-g5 ? 2.Kg8-f7 1.Rh7-g7+ ! Kg6-f5 2.Kg8-h7 ! h5-h4 3.Kh7-h6 h4-h3 4.Kh6-h5 Kf5-f4 5.Kh5-h4 h3-h2 6.Rg7-f7+ Kf4-e3 7.Rf7-f1 b) wRh7--h8 1.Kg8-f8 Kg6-g5 2.Kf8-f7 ! h5-h4 3.Kf7-e6 Kg5-g4 4.Ke6-e5 h4-h3 5.Ke5-e4 Kg4-g3 6.Ke4-e3 Kg3-g2 7.Ke3-e2 ! h3-h2 8.Rh8-g8+ Kg2-h3 9.Ke2-f2 ! h2-h1=S+ 10.Kf2-f3" keywords: - Black underpromotion --- authors: - Benkő, Pál source: Chess Life date: 1987 algebraic: white: [Ka8, Ra6] black: [Kh5, Pg5] stipulation: + solution: | 1.Kb7 Kg4 2.Rf6 Kh3 3.Kc6 g4 4.Kd5 g3 5.Ke4 g2 6.Kf3 wins --- authors: - Benkő, Pál source: E. G. date: 1988 algebraic: white: [Ke6, Pg2, Pc3, Pb2] black: [Kc5, Ph4, Pa4] stipulation: "=" solution: | 1.Kd7 Kc4 2.Kc7 Kb3 3.Kb8 Kxb2 4.c4 = --- authors: - Benkő, Pál source: eg date: 1989 algebraic: white: [Ka1, Bb8, Sd5, Pg4, Pf6] black: [Kb3, Rf3] stipulation: "=" solution: | "1.Sd5-c3 Rf3-f1+ 2.Sc3-b1 Rf1-f2 3.Sb1-a3 ! Kb3*a3 4.Ka1-b1 Rf2-b2+ 5.Kb1-c1 Rb2*b8 6.g4-g5 Rb8-f8 7.Kc1-d2 Ka3-b4 8.Kd2-e3 Kb4-c5 9.Ke3-f4 Kc5-d6 10.g5-g6 Kd6-e6 11.Kf4-g5 Rf8-a8 12.f6-f7 Ke6-e7 13.Kg5-h6 Ke7-f6 14.Kh6-h7 Ra8-b8 15.f7-f8=Q+ Rb8*f8 16.g6-g7 Rf8-f7 17.Kh7-h8 Rf7*g7 14.g6-g7 ? Kf6*f7 10...Rf8*f6+ 11.Kf4-g5 3.Sb1-c3 ? Kb3*c3 4.Bb8-g3 Rf2-f3 5.Bg3-e1+ Kc3-b3 6.Ka1-b1 Rf3-f1 7.Kb1-c1 Rf1*e1+ 8.Kc1-d2 Re1-f1 9.Kd2-d3 Kb3-b4 10.Kd3-e4 Kb4-c5 11.Ke4-e5 Rf1-e1+ 12.Ke5-f5 Kc5-d6 10.Kd3-d4 Rf1*f6 11.Kd4-e5 Rf6-g6 12.Ke5-f5 Rg6-g8 9...Rf1*f6 ? 10.Kd3-e4 4.Bb8-a7 Rf2-e2 5.Ka1-b1 Re2-b2+ 6.Kb1-c1 Rb2-a2 6.Kb1-a1 Rb2-b5 1...Kb3*c3 2.Ka1-a2 1...Rf3*f6 2.Bb8-e5" comments: - after Carlo Francesco Cozio and Тигран Борисович Горгиев --- authors: - Benkő, Pál source: Inside Chess date: 1990 algebraic: white: [Ke6, Qh5, Bg6, Pg2, Pf5] black: [Kg7, Rh8, Bg5, Ph6, Pf6, Pc2] stipulation: + solution: | "1.Bh7 Rf8 2.Qg6+ Kh8 3.Bg8 Rxg8 4.Kf7 Rxg6 5.fxg6 c1/Q 6.g7+ Kh7 7.g8/Q#" --- authors: - Benkő, Pál source: Inside Chess date: 1990 algebraic: white: [Kd4, Re7, Bh8, Sg8] black: [Kf8, Rb6] stipulation: + solution: | "1.Rg7 Rb4+ 2.Ke5 Rh4 3.Kf6 Rxh8 4.Ra7 Ke8 5.Ke6 Kd8 6.Kd6 Kc8 7.Se7+ Kb8 8.Sc6+ Kc8 9.Rc7#" --- authors: - Benkő, Pál source: Inside Chess date: 1990 algebraic: white: [Kh1, Re5, Pg2, Pb6] black: [Kf7, Rf6, Pd7, Pc6] stipulation: + solution: | 1.Kg1 c5 2.Rf5 Rxf5 3.b7 wins --- authors: - Benkő, Pál source: Inside Chess date: 1990 algebraic: white: [Kd8, Re3, Pd7] black: [Kb6, Rh2, Pb5] stipulation: + solution: | 1.Re5 Rd2 2.Ke8 Kc7 3.Re7 Kb6 4.d8/Q+ Rxd8+ 5.Kxd8 Kc5 6.Rb7 b4 7.Kc7 Kc4 8.Kb6 b3 9.Ka5 wins --- authors: - Benkő, Pál source: Inside Chess date: 1990 algebraic: white: [Ke8, Rf3, Pe7] black: [Kc6, Rh1, Pc5] stipulation: + solution: | 1.Rf5 Re1 2.Kf7 Kd7 3.Rd5+ Kc6 4.Rd1 Re4 5.e8/Q+ Rxe8 6.Kxe8 c4 7.Ke7 Kc5 8.Ke6 c3 9.Ke5 Kc4 10.Ke4 c2 11.Rc1 Kc3 12.Ke3 wins --- authors: - Benkő, Pál source: E. G. date: 1991 algebraic: white: [Kc8, Rb8, Rb3, Pf4, Pc2] black: [Ka6, Ra1, Pe2, Pd5, Pa7] stipulation: + solution: | 1.R3b6+ Ka5 2.R6b7 a6 3.Rb5+ Ka4 4.R5b6 a5 5.Rb4+ Ka3 6.Rd4 a4 7.Rxa4+ Kxa4 8.Ra8+ Kb4 9.Rxa1 Kc3 10.Re1 wins --- authors: - Benkő, Pál source: Szachista date: 1991 algebraic: white: [Kh5, Sa7] black: [Kb1, Sb2, Sa2, Ph7, Pc7] stipulation: "=" solution: | 1.Sb5 c5 2.Sd6 Ka1 3.Se4 c4 4.Sd6 c3 5.Sb5 c2 6.Sd4 c1/S 7.Sc2+ Kb1 8.Sa3+ Ka1 9.Sc2+ 1/2-1/2 --- authors: - Benkő, Pál source: Chess Life date: 1991 algebraic: white: [Kh5, Be7, Ph6, Ph2] black: [Kh8, Ph3, Pg7, Pf5, Pa2] stipulation: "=" solution: | 1.Bf8 gxh6 2.Be7 Kg7 3.Bc5 Kf7 4.Bd4 Ke6 5.Kh4 Kd5 6.Bb2 Ke4 7.Kg3 Ke3 8.Bc1+ Ke2 9.Bb2 1/2-1/2 --- authors: - Benkő, Pál source: E. G. date: 1991 algebraic: white: [Kg8, Be8, Pc6] black: [Kh6, Pg4, Pf6, Pb3] stipulation: + solution: | 1.c7 b2 2.Bg6 Kxg6 3.c8/Q b1/Q 4.Qxg4+ Kh6 5.Qh4+ Kg6 6.Qh7+ wins --- authors: - Benkő, Pál source: Magyar Sakkelet date: 1994 distinction: Special Prize algebraic: white: [Kg2, Rg7, Ph6] black: [Kb3, Rd6, Pg6, Pa7, Pa3] stipulation: + solution: | 1.h7 Rd8 2.Rg8 Rd2+ 3.Kg3 Rd3+ 4.Kg4 Rd4+ 5.Kg5 Rd5+ 6.Kxg6 Rd6+ 7.Kg5 Rd5+ 8.Kg4 Rd4+ 9.Kh3 Rd1 10.Rg3+ Kb4 11.Kh4 Rd8 12.Rg8 Rd1 13.Rg4+ Kb5 14.Kh5 Rd8 15.Rg8 Rd1 16.Rg5+ Kb6 17.Kh6 Rd8 18.Rg8 Rd1 19.Rg6+ Kb7 20.Rg5 Rd6+ 21.Kh5 Rd1 22.Rg4 Rd5+ 23.Kh4 Rd1 24.Rg3 Rd4+ 25.Kh3 Rd1 26.Rg2 Rd3+ 27.Kh2 Rd8 28.Rg8 Rd2+ 29.Kg3 Rd3+ 30.Kf4 wins --- authors: - Benkő, Pál source: E. G. date: 1997 algebraic: white: [Kc8, Se7, Pf6, Pa5] black: [Kh6, Re4, Pa6] stipulation: + solution: | 1.Sf5+ Kh7 2.f7 Re5 3.Se7 Kg7 4.f8/Q+ Kxf8 5.Sg6+ wins --- authors: - Benkő, Pál source: Chess Life date: 1994 algebraic: white: [Kf3, Ra1, Pe6, Pa3] black: [Kc7, Rb2] stipulation: + solution: | 1.Re1 Rb3+ 2.Kg2 Rb2+ 3.Kh1 Kd8 4.e7+ Ke8 5.a4 Rb4 6.a5 Rb5 7.a6 Rb6 8.a7 Ra6 9.Rg1 Kxe7 10.Rg8 Rxa7 11.Rg7+ wins --- authors: - Benkő, Pál source: Chess Life date: 1996 algebraic: white: [Ke4, Pf5, Pc4] black: [Kb8, Pg7, Pd7, Pc6] stipulation: "=" solution: | 1.Kf4 Kc7 2.Ke5 Kc8 3.Kf4 Kd8 4.Kg5 Ke7 5.Kg6 Kf8 6.c5 Kg8 7.Kh5 Kf7 8.Kg5 Ke7 9.Kg6 1/2-1/2 --- authors: - Benkő, Pál source: Chess Life date: 1996 algebraic: white: [Kf4, Pg5, Pd4] black: [Kc8, Ph7, Pe7, Pd6] stipulation: "=" solution: | 1.Kg4 Kd7 2.Kf5 Kd8 3.Ke6 Ke8 4.d5 Kf8 5.Kd7 Kf7 6.Kc6 e5 7.Kxd6 e4 8.Kc6 e3 9.d6 1/2-1/2 --- authors: - Benkő, Pál source: Chess Life date: 1997 algebraic: white: [Kd3, Pg5, Pd6] black: [Ka2, Pb4, Pa3] stipulation: + solution: | 1.g6 Kb2 2.d7 a2 3.d8/B Kb1 4.Bf6 b3 5.g7 b2 6.Bxb2 Kxb2 7.g8/Q a1/Q 8.Qb8+ Kc1 9.Qc7+ Kb2 10.Qb6+ Ka3 11.Qa5+ Kb2 12.Qb4+ Ka2 13.Kc2 wins --- authors: - Benkő, Pál source: Chess Life date: 1998 algebraic: white: [Kf8, Ph2, Pe2, Pd5] black: [Kf5, Ph3, Pg5, Pc5, Pb5, Pa5] stipulation: + solution: | 1.e4+ Kf6 2.Ke8 Ke5 3.Ke7 a4 4.d6 a3 5.d7 a2 6.d8/Q a1/Q 7.Qh8+ wins --- authors: - Benkő, Pál source: Chess Life date: 1998 algebraic: white: [Kg1, Bb7] black: [Kd6, Sd7, Pa5] stipulation: "=" solution: | 1.Be4 Sc5 2.Bg6 a4 3.Kf2 a3 4.Bb1 Se4+ 5.Ke3 Sc3 6.Ba2 Sxa2 7.Kd4 Kc6 8.Kc4 Sc1 9.Kc3 Kb5 10.Kc2 a2 11.Kb2 1/2-1/2 --- authors: - Benkő, Pál source: Chess Life date: 1998 algebraic: white: [Kh3, Pe2, Pc6, Pb5] black: [Ke6, Pe7, Pe3, Pd4] stipulation: + solution: | "1.b6 Kd6 2.b7 Kc7 3.Kg2 e5 4.Kg3 Kb8 5.Kf3 Kc7 6.Ke4 Kb8 7.Kd3 Kc7 8.Kc4 Kb8 9.Kb5 Ka7 10.Kc5 d3 11.Kd6 dxe2 12.Kc7 e1/Q 13.b8/Q+ Ka6 14.Qb6#" --- authors: - Benkő, Pál source: Magyar Sakkelet date: 2000 distinction: 1st Prize algebraic: white: [Ke5, Qe1, Rh5, Pd5] black: [Kg7, Qd3, Ra7, Pg4, Pc6] stipulation: + solution: | 1.Rg5+ Kf8 2.Qb4+ Re7+ 3.Kf6 Qe4 4.Rh5 Qf3+ 5.Rf5 Qe4 6.Qb8+ Re8 7.Qc7 Re7 8.Qc8+ Re8 9.Kg6+ Kg8 10.Qc7 Re7 11.Qd8+ Re8 12.Qh4 Qe7 13.Rf8+ wins --- authors: - Benkő, Pál source: date: 1998 algebraic: white: [Ka7, Rh7, Ph6] black: [Kf5, Rh1, Ph3] stipulation: + solution: | 1.Rf7+ Kg6 2.h7 Ra1+ 3.Kb8 Rb1+ 4.Kc7 Rc1+ 5.Kd7 Rd1+ 6.Ke7 Re1+ 7.Kf8 Ra1 8.Rg7+ Kf6 9.Ra7 wins --- authors: - Benkő, Pál source: date: 1999 algebraic: white: [Kh4, Bd4, Sg7, Ph2] black: [Kh8, Rg8, Rg3, Bf8] stipulation: "=" twins: b: Kh4-e4 c: Kh4-d5 d: Bd4-f6 solution: | a) diagram 1.Se6+ R3g7 2.Kh5 Kh7 3.Bxg7 Bxg7 4.Sg5+ Kh8 5.Sf7+ 1/2-1/2 b) Kh4-e4 1.Sh5+ R3g7 2.Kf5 Kh7 3.Sf6+ Kh6 4.Be3+ Rg5+ 5.Ke4 Rg7 6.h4 Re7+ 7.Kd4 1/2-1/2 c) Kh4-d5 1.Se6+ R3g7 2.Sg5 Ba3 3.Se6 Bf8 4.Sg5 1/2-1/2 d) Bd4-f6 1.Sh5+ R3g7 2.Kh3 Kh7 3.Bxg7 Bxg7 4.Sf6+ Bxf6 1/2-1/2 --- authors: - Benkő, Pál source: Chess Clinic First Internet Tournament date: 2000 distinction: 1st Prize algebraic: white: [Ke4, Qd5, Rg8, Pg5] black: [Kb2, Qb6, Rg6, Ph7] stipulation: + solution: | "1.Qe5+ Kc1 2.Rc8+ Rc6 3.Rb8 Rc4+ 4.Kd3 Rd4+ 5.Kc3 Qd6 6.Qe3+ Rd2 7.Rb4 Qc6+ 8.Rc4 Qd5 9.Rc8 Qd7 10.Rc5 Qd6 11.Kb3+ Kb1 12.Rc1+ Kxc1 13.Qe1+ Rd1 14.Qc3+ Kb1 15.Qb2#" --- authors: - Benkő, Pál source: date: 1999 algebraic: white: [Kd4, Qb2, Rh4] black: [Ka5, Qf7, Rf2] stipulation: + solution: | 1.Qa1+ Kb6 2.Qb1+ Ka5 3.Qe1+ Kb6 4.Rh6+ Rf6 5.Qf2 wins --- authors: - Benkő, Pál source: Vergio date: 1999 algebraic: white: [Kh8, Ra1, Pb2, Pa2] black: [Kc2, Pb5, Pa5] stipulation: + solution: | 1.a4 Kxb2 2.Ra3 Kxa3 3.axb5 wins --- authors: - Benkő, Pál source: algebraic: white: [Ke6, Bh1, Ba1] black: [Kb8, Bh8, Ba8] stipulation: "h#2" twins: b: Kb8-g8 solution: | "a) diagram 1.Bd4 Kd7 2.Ba7 Be5# b) Kb8-g8 1.Be4 Ke7 2.Bh7 Bd5#" comments: - before 2004 --- authors: - Benkő, Pál source: StrateGems date: 2002 algebraic: white: [Kg6, Rd6, Sh8, Sh1, Pg3] black: [Ke4, Qb2, Ra6, Ra2, Bg8, Ba7, Sa8, Sa1, Ph6] stipulation: "h#2" solution: "1.Ke5 Sf2 2.Bf7+ Sxf7#" --- authors: - Benkő, Pál source: Zaszlonk date: 1942 algebraic: white: [Kd4, Qd7, Bc8, Pe6] black: [Kf5, Be7, Bb5, Sf6, Sd6] stipulation: "h#2" solution: "1.Bxd7 exd7 2.Ke6 d8/S#" comments: - Pal Benko's first helpmate composition --- authors: - Benkő, Pál source: Chess Life date: 1974 algebraic: white: [Kc4, Rb4] black: [Ka1, Pb3] stipulation: "h#2" twins: b: WBb4 c: WSb4 solution: | "a) diagram 1.b2 Kc3 2.b1/R Ra4# b) WBb4 1.b2 Kb3 2.b1/B Bc3# c) WSb4 1.b2 Kb3 2.b1/S Sc2#" --- authors: - Benkő, Pál source: Chess Life date: 1974 algebraic: white: [Ka8, Qb7] black: [Kf8, Rd7, Bb4] stipulation: "h#2" options: - Duplex solution: | "1.Rf7 Qh1 2.Be7 Qh8# 1.Kb8 Ba5 2.Kc8 Rd8#" --- authors: - Benkő, Pál source: Chess Life date: 1975 algebraic: white: [Ka6, Re5, Ph7] black: [Kf4, Bg4, Pg3, Pf2] stipulation: "h#2" twins: b: Pg3-h2 solution: | "a) diagram 1.f1/R h8/S 2.Rf3 Sg6# b) Pg3-h2 1.h1/B h8/Q 2.Bf3 Qh2#" --- authors: - Benkő, Pál source: Magyar Sakkelet source-id: 3999 date: 1976 distinction: 2nd Prize algebraic: white: [Kh7, Rf5, Be5, Pd6, Pc3] black: [Ke4, Bc5, Ph5, Pf6, Pe6, Pd3, Pc4] stipulation: "h#3" twins: b: Move c5 g7 c: Cont Move g7 c3 d: Cont Move c3 h4 e: Cont Move h4 d6 solution: | "a) 1.Ke4-d5 d6-d7 2.Bc5-d6 d7-d8=S 3.Kd5-c5 Be5-d4 # b) bBc5--g7 1.Ke4*f5 d6-d7 2.Kf5*e5 d7-d8=Q 3.f6-f5 Qd8-d4 # +c) -wPc3 bBg7--c3 1.f6*e5 d6-d7 2.Ke4-d4 d7-d8=B 3.e5-e4 Bd8-b6 # +d) bBc3--h4 1.Ke4*f5 d6-d7 2.Kf5-g5 d7-d8=R 3.f6-f5 Rd8-g8 # +e) -wPd6 bBh4--d6 1.Ke4-e3 Be5*d6 2.e6-e5 Rf5-f2 3.e5-e4 Bd6-c5 #" keywords: - Allumwandlung --- authors: - Benkő, Pál source: Chess Life date: 1978 algebraic: white: [Kb2, Qa1, Sb1] black: [Kb5, Qa4, Sb4] stipulation: "h#2" intended-solutions: 4.1.1.1 solution: | "1.Qa4-a8 Qa1-a7 2.Qa8-c6 Sb1-a3 # 1.Qa4-a5 Qa1-a4 + 2.Kb5*a4 Sb1-c3 # 1.Kb5-c4 Kb2-c1 2.Kc4-b3 Sb1-d2 # 1.Kb5-a5 Sb1-a3 2.Qa4-b5 Sa3-c4 #" --- authors: - Benkő, Pál source: Chess Life date: 1981 algebraic: white: [Kb4, Qc4, Rf2] black: [Ke8] stipulation: "h#2" solution: "1.Kd7 Qf7+ 2.Kc6 Rf6#" --- authors: - Benkő, Pál - Kalotay, Andrew source: date: 1984 algebraic: white: [Ke5, Bf6, Pe2] black: [Ke3, Rd1, Pe7] stipulation: "h#5" twins: b: Bf6-b7 c: Bf6-e8 d: as c) and Rd1-f1 e: Bf6-h7 f: Bf6-d6 solution: | "a) diagram 1.Kd2 Kf4 2.e5+ Kg3 3.Ke3 Kg2 4.Rd4 Kf1 5.e4 Bg5# b) Bf6-b7 1.Rf1 Kd5 2.Kf4 Kd4 3.Kf5 e4+ 4.Ke6 e5 5.Rf7 Bc8# c) Bf6-e8 1.Kd2 e3 2.Kd3 Kf4 3.e5+ Kg3 4.Ke4 Kf2 5.Rd5 Bg6# d) as c) and Rd1-f1 1.Kf2 e3 2.Kf3 Kd4 3.e5+ Kc3 4.Ke4 Kd2 5.Rf5 Bc6# e) Bf6-h7 1.Rd1 Kf5 2.Kd4 Kf4 3.Kd5 e4+ 4.Ke6 e5 5.Rd7 Bg8# f) Bf6-d6 1.Kf2 Kd4 2.e5+ Kc3 3.Ke3 Kc2 4.Rf4 Kd1 5.e4 Bc5#" --- authors: - Benkő, Pál source: SE date: 1998 algebraic: white: [Kg8, Rf1, Bh6, Pe7] black: [Ke2, Sc3] stipulation: "h#2" solution: "1.Se4 e8/B 2.Sg3 Bb5#" --- authors: - Benkő, Pál source: SE date: 1993 algebraic: white: - Ke1 - Qd1 - Rh1 - Ra1 - Bf1 - Bc1 - Sg1 - Sb1 - Ph2 - Pg2 - Pf2 - Pe2 - Pd2 - Pc4 - Pb2 - Pa2 black: [Kc6] stipulation: "h#2" twins: b: Move c6 d6 solution: | "a) 1.Kc6-b6 Qd1-b3 + 2.Kb6-a5 Qb3-b5 # b) bKc6--d6 1.Kd6-e5 d2-d4 + 2.Ke5-e4 Qd1-d3 #" --- authors: - Benkő, Pál source: algebraic: white: [Ka5, Qf8] black: [Ke1, Pe2] stipulation: "Black retracts last move then h#1" intended-solutions: 3 solution: | "take back Kd2xSe1 1.Kc3 Qb4# take back Pd3xRe2 1.Kd1 Qf1# take back Pd3xBe2 1.d2 Qf1#" keywords: - Retractor --- authors: - Benkő, Pál source: new.uschess.org date: 2016-07 algebraic: white: [Kh2, Rf3, Rf2, Bh4, Bg6, Pf5, Pf4] black: [Kg4, Ph5, Ph3] stipulation: "#3" solution: | "1.Bh4-g5 ! threat: 2.Rf3-g3 # 1...h5-h4 2.Rf2-e2 zugzwang. 2...Kg4*f3 3.Bg6-h5 #" keywords: - Letters comments: - A for Amiens - Pál Benko was born on 15 July 1928 in Amiens, France --- authors: - Benkő, Pál source: new.uschess.org date: 2016-07 algebraic: white: [Kd1, Bd5, Bd4, Sd2] black: [Kd3] stipulation: "#4" solution: | "1.Bd4-c5 ! zugzwang. 1...Kd3-c3 2.Bd5-c4 zugzwang. 2...Kc3-b2 3.Bc5-b4 zugzwang. 3...Kb2-a1 4.Bb4-c3 #" keywords: - Digits - Letters comments: - number 1, with a mate in 4, to represent 14 July when French Revolution is celebrated --- authors: - Benkő, Pál source: Magyar Sakkvilág source-id: E67 date: 2015-02 algebraic: white: [Kc5, Pf7] black: - Kd1 - Qe1 - Rh1 - Ra1 - Bf1 - Bc1 - Sg1 - Sb1 - Ph2 - Pg2 - Pf2 - Pe2 - Pd2 - Pc2 - Pb2 - Pa2 stipulation: h=5 solution: 1.Sg1-f3 f7-f8=Q 2.Sf3-d4 Kc5*d4 3.Sb1-a3 Qf8*a3 4.Rh1-g1 Qa3*b2 5.h2-h1=B Qb2*a1 = --- authors: - Benkő, Pál - Benkő, Dávid source: Magyar Sakkvilág date: 2015 algebraic: white: [Kf2, Bf5, Bf4, Pg3, Pd3] black: [Kh2] stipulation: "#4" twins: b: Move h2 h1 solution: | "a) 1.Bf5-e4 ! zugzwang. 1...Kh2-h3 2.Kf2-g1 2...Kh3-g4 3.Be4-g6 zugzwang. 3...Kg4-f3 4.Bg6-h5 # 3...Kg4-h3 4.Bg6-f5 # b) bKh2--h1 1.Bf5-h3 ! 1...Kh1-h2 2.Bh3-f1 2...Kh2-h1 3.Bf1-g2 + 3...Kh1-h2 4.g3-g4 #" --- authors: - Benkő, Pál source: Magyar Sakkvilág source-id: E51 distinction: Special Comm., 2013-14 algebraic: white: [Kb4, Qf7] black: - Kd1 - Qe1 - Rh1 - Ra1 - Bf1 - Bc1 - Sg1 - Sb1 - Ph2 - Pg2 - Pf2 - Pe2 - Pd2 - Pc2 - Pb2 - Pa2 stipulation: "Ser-h#4" solution: "1.Sb1-c3 2.b2-b1=S 3.Bc1-b2 4.c2-c1=B Qf7-b3 #" --- authors: - Benkő, Pál source: date: 2017-10-11 algebraic: white: [Kb6, Rc6, Rb2, Pc2, Pa5] black: [Ka4, Sa3] stipulation: "#4" solution: | "1.Kb6-c5 ! threat: 2.Rb2-a2 zugzwang. 2...Ka4*a5 3.Ra2*a3 # 1...Sa3-b1 2.Rb2-a2 + 2...Sb1-a3 3.Ra2-a1 zugzwang. 3...Ka4*a5 4.Ra1*a3 # 3.a5-a6 zugzwang. 3...Ka4-a5 4.Ra2*a3 # 3.Rc6-b6 zugzwang. 3...Ka4*a5 4.Ra2*a3 # 3.Rc6-c8 zugzwang. 3...Ka4*a5 4.Rc8-a8 # 4.Ra2*a3 # 3.Rc6-c7 zugzwang. 3...Ka4*a5 4.Rc7-a7 # 4.Ra2*a3 # 3.Rc6-h6 zugzwang. 3...Ka4*a5 4.Ra2*a3 # 3.Rc6-g6 zugzwang. 3...Ka4*a5 4.Ra2*a3 # 3.Rc6-f6 zugzwang. 3...Ka4*a5 4.Ra2*a3 # 3.Rc6-e6 zugzwang. 3...Ka4*a5 4.Ra2*a3 # 3.Rc6-d6 zugzwang. 3...Ka4*a5 4.Ra2*a3 # 1...Sa3*c2 2.Rb2*c2 threat: 3.Rc2-c3 zugzwang. 3...Ka4*a5 4.Rc3-a3 # 2...Ka4-b3 3.Kc5-b5 threat: 4.Rc6-c3 # 2...Ka4-a3 3.Kc5-c4 zugzwang. 3...Ka3-a4 4.Rc2-a2 # 3.Kc5-b5 threat: 4.Rc6-c3 # 3.Rc6-b6 zugzwang. 3...Ka3-a4 4.Rc2-a2 # 1...Sa3-c4 2.Rb2-a2 + 2...Sc4-a3 3.Ra2-a1 zugzwang. 3...Ka4*a5 4.Ra1*a3 # 3.a5-a6 zugzwang. 3...Ka4-a5 4.Ra2*a3 # 3.Rc6-b6 zugzwang. 3...Ka4*a5 4.Ra2*a3 # 3.Rc6-c8 zugzwang. 3...Ka4*a5 4.Rc8-a8 # 4.Ra2*a3 # 3.Rc6-c7 zugzwang. 3...Ka4*a5 4.Rc7-a7 # 4.Ra2*a3 # 3.Rc6-h6 zugzwang. 3...Ka4*a5 4.Ra2*a3 # 3.Rc6-g6 zugzwang. 3...Ka4*a5 4.Ra2*a3 # 3.Rc6-f6 zugzwang. 3...Ka4*a5 4.Ra2*a3 # 3.Rc6-e6 zugzwang. 3...Ka4*a5 4.Ra2*a3 # 3.Rc6-d6 zugzwang. 3...Ka4*a5 4.Ra2*a3 # 2.Kc5*c4 threat: 3.Rb2-a2 # 2...Ka4-a3 3.Rc6-b6 zugzwang. 3...Ka3-a4 4.Rb2-a2 # 1...Sa3-b5 2.Rb2-a2 + 2...Sb5-a3 3.Ra2-a1 zugzwang. 3...Ka4*a5 4.Ra1*a3 # 3.a5-a6 zugzwang. 3...Ka4-a5 4.Ra2*a3 # 3.Rc6-b6 zugzwang. 3...Ka4*a5 4.Ra2*a3 # 3.Rc6-c8 zugzwang. 3...Ka4*a5 4.Rc8-a8 # 4.Ra2*a3 # 3.Rc6-c7 zugzwang. 3...Ka4*a5 4.Rc7-a7 # 4.Ra2*a3 # 3.Rc6-h6 zugzwang. 3...Ka4*a5 4.Ra2*a3 # 3.Rc6-g6 zugzwang. 3...Ka4*a5 4.Ra2*a3 # 3.Rc6-f6 zugzwang. 3...Ka4*a5 4.Ra2*a3 # 3.Rc6-e6 zugzwang. 3...Ka4*a5 4.Ra2*a3 # 3.Rc6-d6 zugzwang. 3...Ka4*a5 4.Ra2*a3 #" keywords: - Letters comments: - (C)hess with 355540, 393202, 441538, and 441539 (N)ational (C)hess (D)ay is in October --- authors: - Benkő, Pál source: date: 2017-10-11 algebraic: white: [Kb2, Qb1, Sb4, Sb3] black: [Kb5, Pb6] stipulation: "#2" solution: | "1.Kb2-a3 ! threat: 2.Qb1-d3 # 2.Qb1-f1 # 1...Kb5-c4 2.Qb1-d3 #" keywords: - Digits - Letters --- authors: - Benkő, Pál source: date: 2017-10-11 algebraic: white: [Kf5, Rf6, Rf3, Bh3, Bf4, Pg7] black: [Kh4, Ph6, Ph5, Pg2] stipulation: "#2" solution: | "1.Bh3-g4 ! threat: 2.Bf4-g3 # 2.Rf3-h3 # 1...g2-g1=Q 2.Rf3-h3 # 1...g2-g1=S 2.Bf4-g3 # 1...g2-g1=R 2.Rf3-h3 # 1...h5*g4 2.Rf6*h6 #" keywords: - Digits - Letters --- authors: - Benkő, Pál source: date: 2017-10-11 algebraic: white: [Kb2, Qb1, Sb4, Sb3] black: [Kb5] stipulation: "#3" solution: | "1.Qb1-g6 ! threat: 2.Kb2-c3 threat: 3.Qg6-a6 # 3.Qg6-c6 # 2...Kb5-a4 3.Qg6-a6 # 2.Kb2-a3 threat: 3.Qg6-a6 # 3.Qg6-c6 # 2...Kb5-c4 3.Qg6-d3 # 3.Qg6-c6 # 1...Kb5-a4 2.Kb2-c3 threat: 3.Qg6-a6 # 1...Kb5-c4 2.Kb2-a3 threat: 3.Qg6-d3 # 3.Qg6-c6 # 2...Kc4-b5 3.Qg6-a6 # 3.Qg6-c6 # 1...Kb5*b4 2.Qg6-d3 zugzwang. 2...Kb4-a4 3.Qd3-c4 #" keywords: - Digits - Letters --- authors: - Benkő, Pál source: date: 2017-10-11 algebraic: white: [Kg6, Qh6, Rh5, Pf2] black: [Kg4, Sf3, Pf6] stipulation: "#3" solution: | "1.Qh6-e3 ! threat: 2.Qe3-e4 # 1...Sf3-d2 2.Qe3-g3 # 1...Sf3-h4 + 2.Rh5*h4 + 2...Kg4*h4 3.Qe3-g3 # 1...Sf3-g5 2.Qe3-g3 # 1...Sf3-e5 + 2.Rh5*e5 threat: 3.Re5-e4 # 3.Qe3-g3 # 2...f6-f5 3.Qe3-g3 # 2...f6*e5 3.Qe3-g3 # 1...f6-f5 2.Kg6-h6 zugzwang. 2...Sf3-d2 3.Qe3-g3 # 2...Sf3-e1 3.Qe3-g3 # 2...Sf3-g1 3.Qe3-g3 # 2...Sf3-h2 3.Qe3-g3 # 2...Sf3-h4 3.Rh5-g5 # 3.Qe3-g3 # 2...Sf3-g5 3.Qe3-g3 # 2...Sf3-e5 3.Qe3-g3 # 2...Sf3-d4 3.Qe3-g3 # 2...f5-f4 3.Qe3-e6 #" keywords: - Digits pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-the-skewer_by_arex_2017.01.29.pgn0000644000175000017500000001021613365545272030667 0ustar varunvarun[Termination "+500cp in 2"] [Event "Lichess Practice: The Skewer: Relative Skewer #1"] [Site "https://lichess.org/study/tuoBxVE5"] [UTCDate "2017.01.29"] [UTCTime "15:13:31"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/1r3k2/2q1ppp1/8/5PB1/4P3/4QK2/5R2 w - - 0 1"] [SetUp "1"] { A skewer is an attack upon two pieces in a line and is similar to a pin. A skewer is sometimes described as a "reverse pin"; the difference is that in a skewer, the more valuable piece is in front of the piece of lesser value. If the piece being attacked is not a king, then it is a Relative Skewer. } * [Termination "+300cp in 2"] [Event "Lichess Practice: The Skewer: Relative Skewer #2"] [Site "https://lichess.org/study/tuoBxVE5"] [UTCDate "2017.01.29"] [UTCTime "19:00:43"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r2r2k1/2p2ppp/5n2/4p3/pB2P3/P2q3P/2R2PP1/2RQ2K1 w - - 0 1"] [SetUp "1"] * [Termination "-500cp in 3"] [Event "Lichess Practice: The Skewer: Relative Skewer #3"] [Site "https://lichess.org/study/tuoBxVE5"] [UTCDate "2017.02.03"] [UTCTime "21:47:42"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "4rr1k/ppqb2p1/3b4/2p2n2/2PpBP1P/PP4P1/2QBN3/R3K2R b KQ - 0 22"] [SetUp "1"] { From Magnus - Emil Schallopp, 1868. } 22... Rxe4 23. Qxe4 Bc6 24. Qd3 Bxh1 * [Termination "-300cp in 4"] [Event "Lichess Practice: The Skewer: //Relative Skewer #4"] [Site "https://lichess.org/study/tuoBxVE5"] [UTCDate "2017.02.03"] [UTCTime "21:55:45"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r4rk1/pbq2ppp/1p2pn2/n1p5/3P4/PBP1P1N1/1B3PPP/2RQ1RK1 b - - 9 14"] [SetUp "1"] { From Donato Rivera - Robert James Fischer, 1962. } 14... Qc6 15. e4 Qb5 16. e5 Ne8 17. Bc2 Qxb2 * [Termination "-500cp in 2"] [Event "Lichess Practice: The Skewer: Absolute Skewer #1"] [Site "https://lichess.org/study/tuoBxVE5"] [UTCDate "2017.01.29"] [UTCTime "15:22:48"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/3qkb2/8/8/4KB2/5Q2/8/8 b - - 0 1"] [SetUp "1"] { A skewer is an attack upon two pieces in a line and is similar to a pin. A skewer is sometimes described as a "reverse pin"; the difference is that in a skewer, the more valuable piece is in front of the piece of lesser value. If the piece being attacked is a king, then it is an Absolute Skewer. The king is said to be skewered. } * [Termination "+500cp in 3"] [Event "Lichess Practice: The Skewer: Absolute Skewer #2"] [Site "https://lichess.org/study/tuoBxVE5"] [UTCDate "2017.01.29"] [UTCTime "15:46:42"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2Q5/1p4q1/p4k2/6p1/P3b3/6BP/5PP1/6K1 w - - 4 51"] [SetUp "1"] { From Nigel Short - Rafael Vaganian, 1989. } * [Termination "+400cp in 3"] [Event "Lichess Practice: The Skewer: Absolute Skewer #3"] [Site "https://lichess.org/study/tuoBxVE5"] [UTCDate "2017.01.29"] [UTCTime "15:52:14"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5Q2/2k2p2/3bqP2/R2p4/3P1p2/2p4P/2P3P1/7K w - - 1 1"] [SetUp "1"] { A missed tactic from Viswanathan Anand - Vassily Ivanchuk, 2005. } * [Termination "+500cp in 4"] [Event "Lichess Practice: The Skewer: Absolute Skewer #4"] [Site "https://lichess.org/study/tuoBxVE5"] [UTCDate "2017.01.29"] [UTCTime "17:35:35"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5k2/pp1b4/3N1pp1/3P4/2p5/q1P1QP2/5KP1/8 w - - 0 39"] [SetUp "1"] { From Garry Kasparov - Stefano Tatai, 1986. } * [Termination "+200cp in 3"] [Event "Lichess Practice: The Skewer: Absolute Skewer #5"] [Site "https://lichess.org/study/tuoBxVE5"] [UTCDate "2017.01.29"] [UTCTime "19:06:44"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "6q1/6p1/2k4p/R6B/p7/8/2P3P1/2K5 w - - 0 1"] [SetUp "1"] { A study by Henri Rinck from page 217 of the July 1903 Deutsche Schachzeitung. } 1. Ra8 Qxa8 2. Bf3+ Kb5 3. Bxa8 h5 *pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-zugzwang_by_arex_2017.02.01.pgn0000644000175000017500000000351513365545272030460 0ustar varunvarun[Termination "mate in 2"] [Event "Lichess Practice: Zugzwang: Zugzwang #1"] [Site "https://lichess.org/study/9cKgYrHb"] [UTCDate "2017.02.02"] [UTCTime "00:52:16"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "kbK5/pp6/1P6/8/8/8/8/R7 w - - 0 1"] [SetUp "1"] { The word Zugzwang comes from German and means 'being forced to make a move'. A player is in Zugzwang when it's their turn and any move they can make is a bad move. Can you find the move that will put black in Zugzwang and force mate in 2? This is a composition by Paul Morphy, originally published in the New York Clipper on June 28, 1856. } 1. Ra6 * [Termination "mate in 3"] [Event "Lichess Practice: Zugzwang: Zugzwang #2"] [Site "https://lichess.org/study/9cKgYrHb"] [UTCDate "2017.02.01"] [UTCTime "18:38:52"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5rk1/6n1/8/7p/4q1pP/6P1/6RQ/6NK b - - 0 1"] [SetUp "1"] { Here you can use Zugzwang to force checkmate. How cool is that? } * [Termination "promotion with +100cp"] [Event "Lichess Practice: Zugzwang: Zugzwang #3"] [Site "https://lichess.org/study/9cKgYrHb"] [UTCDate "2017.02.01"] [UTCTime "17:48:07"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/3k4/1p1p4/1P6/2P1K3/8/8 w - - 0 1"] [SetUp "1"] { Use your knowledge of Zugzwang to promote one of your pawns safely. } * [Termination "mate in 4"] [Event "Lichess Practice: Zugzwang: Zugzwang #4"] [Site "https://lichess.org/study/9cKgYrHb"] [UTCDate "2017.02.02"] [UTCTime "00:57:39"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "1k1b4/2n5/1K6/4B3/6B1/8/8/8 w - - 0 1"] [SetUp "1"] { From an endgame composition by Goldberg, published in 1931. } *pychess-1.0.0/learn/puzzles/mate_in_2.pgn0000644000175000017500000012636313365545272017445 0ustar varunvarun[Event "?"] [Site "London"] [Date "1840.??.??"] [Round "?"] [White "Henry Buckle"] [Black "NN"] [Result "*"] [PlyCount "17"] [FEN "r2qkb1r/pp2nppp/3p4/2pNN1B1/2BnP3/3P4/PPP2PPP/R2bK2R w KQkq - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Nf6+ gxf6 2. Bxf7# * [Event "?"] [Site "New York"] [Date "1857.??.??"] [Round "?"] [White "Louis Paulsen"] [Black "Blachy"] [Result "*"] [PlyCount "17"] [FEN "1rb4r/pkPp3p/1b1P3n/1Q6/N3Pp2/8/P1P3PP/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qd5+ Ka6 2. cxb8=N# * [Event "?"] [Site "Paris"] [Date "1858.??.??"] [Round "?"] [White "Paul Morphy"] [Black "Duke Isouard"] [Result "*"] [PlyCount "17"] [FEN "4kb1r/p2n1ppp/4q3/4p1B1/4P3/1Q6/PPP2PPP/2KR4 w k - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qb8+ Nxb8 2. Rd8# * [Event "?"] [Site "Breslau"] [Date "1865.??.??"] [Round "?"] [White "Johannes Zukertort"] [Black "Adolf Anderssen"] [Result "*"] [PlyCount "17"] [FEN "r1b2k1r/ppp1bppp/8/1B1Q4/5q2/2P5/PPP2PPP/R3R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qd8+ Bxd8 2. Re8# * [Event "?"] [Site "Berlin"] [Date "1866.??.??"] [Round "?"] [White "Gustav Neumann"] [Black "Carl Mayet"] [Result "*"] [PlyCount "17"] [FEN "5rkr/pp2Rp2/1b1p1Pb1/3P2Q1/2n3P1/2p5/P4P2/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxg6+ fxg6 2. Rg7# * [Event "?"] [Site "England"] [Date "1876.??.??"] [Round "?"] [White "Joseph Blackburne"] [Black "Martin"] [Result "*"] [PlyCount "17"] [FEN "1r1kr3/Nbppn1pp/1b6/8/6Q1/3B1P2/Pq3P1P/3RR1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxd7+ Kxd7 2. Bb5# * [Event "?"] [Site "Frankfurt"] [Date "1878.??.??"] [Round "?"] [White "Wilfried Paulsen"] [Black "Adolf Anderssen"] [Result "*"] [PlyCount "17"] [FEN "5rk1/1p1q2bp/p2pN1p1/2pP2Bn/2P3P1/1P6/P4QKP/5R2 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxf8+ Bxf8 2. Rxf8# * [Event "?"] [Site "Simul"] [Date "1882.??.??"] [Round "?"] [White "Joseph Blackburne"] [Black "Smith"] [Result "*"] [PlyCount "17"] [FEN "r1nk3r/2b2ppp/p3b3/3NN3/Q2P3q/B2B4/P4PPP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qd7+ Bxd7 2. Nxf7# * [Event "?"] [Site "New York"] [Date "1887.??.??"] [Round "?"] [White "Wilhelm Steinitz"] [Black "David Sands"] [Result "*"] [PlyCount "17"] [FEN "r4br1/3b1kpp/1q1P4/1pp1RP1N/p7/6Q1/PPB3PP/2KR4 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qg6+ hxg6 2. fxg6# * [Event "?"] [Site "New York"] [Date "1891.??.??"] [Round "?"] [White "Wilhelm Steinitz"] [Black "Albert Hodges"] [Result "*"] [PlyCount "17"] [FEN "r1b2k1r/ppppq3/5N1p/4P2Q/4PP2/1B6/PP5P/n2K2R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxh6+ Rxh6 2. Rg8# * [Event "?"] [Site "Nuremberg"] [Date "1892.??.??"] [Round "?"] [White "Siegbert Tarrasch"] [Black "Fiedler"] [Result "*"] [PlyCount "17"] [FEN "r2q1b1r/1pN1n1pp/p1n3k1/4Pb2/2BP4/8/PPP3PP/R1BQ1RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qg4+ Bxg4 2. Bf7# * [Event "?"] [Site "New York"] [Date "1893.??.??"] [Round "?"] [White "Harry Pillsbury"] [Black "Lyons Rodgers"] [Result "*"] [PlyCount "17"] [FEN "3q2r1/4n2k/p1p1rBpp/PpPpPp2/1P3P1Q/2P3R1/7P/1R5K w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxh6+ Kxh6 2. Rh3# * [Event "?"] [Site "Nuremberg"] [Date "1893.??.??"] [Round "?"] [White "Siegbert Tarrasch"] [Black "Max Kurschner"] [Result "*"] [PlyCount "17"] [FEN "r2qk2r/pb4pp/1n2Pb2/2B2Q2/p1p5/2P5/2B2PPP/RN2R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qg6+ hxg6 2. Bxg6# * [Event "?"] [Site "New York"] [Date "1896.??.??"] [Round "?"] [White "Frank Teed"] [Black "Eugene Delmar"] [Result "*"] [PlyCount "17"] [FEN "rnbqkbn1/ppppp3/7r/6pp/3P1p2/3BP1B1/PPP2PPP/RN1QK1NR w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxh5+ Rxh5 2. Bg6# * [Event "?"] [Site "Vienna"] [Date "1898.??.??"] [Round "?"] [White "Wilhelm Steinitz"] [Black "Herbert Trenchard"] [Result "*"] [PlyCount "17"] [FEN "r2qrb2/p1pn1Qp1/1p4Nk/4PR2/3n4/7N/P5PP/R6K w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Ne7 Nxf5 2. Qg6# * [Event "?"] [Site "Riga"] [Date "1899.??.??"] [Round "?"] [White "Aaron Nimzowitsch"] [Black "Gustav Neumann"] [Result "*"] [PlyCount "17"] [FEN "r1b3nr/ppqk1Bbp/2pp4/4P1B1/3n4/3P4/PPP2QPP/R4RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qf5+ Nxf5 2. e6# * [Event "?"] [Site "London"] [Date "1899.??.??"] [Round "?"] [White "Harry Pillsbury"] [Black "Samuel Tinsley"] [Result "*"] [PlyCount "17"] [FEN "3k1r1r/pb3p2/1p4p1/1B2B3/3qn3/6QP/P4RP1/2R3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Bf6+ Qxf6 2. Qc7# * [Event "?"] [Site "Leipzig"] [Date "1899.??.??"] [Round "?"] [White "Ryder"] [Black "NN"] [Result "*"] [PlyCount "17"] [FEN "rn2kb1r/1pQbpppp/1p6/qp1N4/6n1/8/PPP3PP/2KR2NR w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qc8+ Bxc8 2. Nc7# * [Event "?"] [Site "Vienna"] [Date "1900.??.??"] [Round "?"] [White "Pulitzer"] [Black "George Marco"] [Result "*"] [PlyCount "17"] [FEN "r2k2nr/pp1b1Q1p/2n4b/3N4/3q4/3P4/PPP3PP/4RR1K w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Re8+ Bxe8 2. Qc7# * [Event "?"] [Site "Manchester"] [Date "1903.??.??"] [Round "?"] [White "Emanuel Lasker"] [Black "NN"] [Result "*"] [PlyCount "17"] [FEN "r2q2nr/5p1p/p1Bp3b/1p1NkP2/3pP1p1/2PP2P1/PP5P/R1Bb1RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Bf4+ Bxf4 2. gxf4# * [Event "?"] [Site "Heidelberg"] [Date "1908.??.??"] [Round "?"] [White "Schwartz"] [Black "Samsonov"] [Result "*"] [PlyCount "17"] [FEN "r2q1k1r/ppp1bB1p/2np4/6N1/3PP1bP/8/PPP5/RNB2RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Ne6+ Bxe6 2. Bh6# * [Event "?"] [Site "Carlsbad"] [Date "1911.??.??"] [Round "?"] [White "George Rotlevi"] [Black "Hugo Suchting"] [Result "*"] [PlyCount "17"] [FEN "6k1/1p1r1pp1/p1r3b1/3pPqB1/2pP4/Q1P4R/P3P2K/6R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qf8+ Kxf8 2. Rh8# * [Event "?"] [Site "Scheveningen"] [Date "1913.??.??"] [Round "?"] [White "Emanuel Lasker"] [Black "Fritz Englund"] [Result "*"] [PlyCount "17"] [FEN "2kr1b1r/pp3ppp/2p1b2q/4B3/4Q3/2PB2R1/PPP2PPP/3R2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxc6+ bxc6 2. Ba6# * [Event "?"] [Site "Berlin"] [Date "1914.??.??"] [Round "?"] [White "Richard Teichmann"] [Black "NN"] [Result "*"] [PlyCount "17"] [FEN "rn2kb1r/pp3ppp/4p1qn/1p4B1/2B5/3P2QP/PPP2PP1/R3K2R w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxb8+ Rxb8 2. Bxb5# * [Event "?"] [Site "Melbourne"] [Date "1916.??.??"] [Round "?"] [White "Charles Watson"] [Black "NN"] [Result "*"] [PlyCount "17"] [FEN "rnb2b1r/p3kBp1/3pNn1p/2pQN3/1p2PP2/4B3/Pq5P/4K3 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxd6+ Kxd6 2. Bxc5# * [Event "?"] [Site "corr. USA"] [Date "1920.??.??"] [Round "?"] [White "Brunnemer"] [Black "Patton"] [Result "*"] [PlyCount "17"] [FEN "r1b1k2r/ppQ1q2n/2p2p2/P3p2p/N3P1pP/1B4P1/1PP2P2/3R1NK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rd8+ Qxd8 2. Qf7# * [Event "?"] [Site "Vienna"] [Date "1920.??.??"] [Round "?"] [White "Saviely Tartakower"] [Black "Richard Reti"] [Result "*"] [PlyCount "17"] [FEN "8/1r5p/kpQ3p1/p3rp2/P6P/8/4bPPK/1R6 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxb6+ Rxb6 2. Qa8# * [Event "?"] [Site "Brunn"] [Date "1921.??.??"] [Round "?"] [White "Sery"] [Black "Z Vecsey"] [Result "*"] [PlyCount "17"] [FEN "r1b2rk1/2p2ppp/p7/1p6/3P3q/1BP3bP/PP3QP1/RNB1R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxf7+ Rxf7 2. Re8# * [Event "?"] [Site "Graz"] [Date "1922.??.??"] [Round "?"] [White "Johann Berger"] [Black "P Froehlich"] [Result "*"] [PlyCount "17"] [FEN "r2qkb1r/2p1nppp/p2p4/np1NN3/4P3/1BP5/PP1P1PPP/R1B1K2R w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Nf6+ gxf6 2. Bxf7# * [Event "?"] [Site "Bad Oeynhausen"] [Date "1922.??.??"] [Round "?"] [White "Probst"] [Black "Lowig"] [Result "*"] [PlyCount "17"] [FEN "rnbkn2r/pppp1Qpp/5b2/3NN3/3Pp3/8/PPP1KP1P/R1B4q w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qe7+ Bxe7 2. Nf7# * [Event "?"] [Site "Vienna"] [Date "1923.??.??"] [Round "?"] [White "Lajos Steiner"] [Black "Albert Becker"] [Result "*"] [PlyCount "17"] [FEN "4rk2/2pQn2p/p4p2/1p2pN1P/4q3/2P3R1/5PPK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rg8+ Kf7 2. Nh6# * [Event "?"] [Site "Netherlands"] [Date "1927.??.??"] [Round "?"] [White "Max Euwe"] [Black "A Van Mindeno"] [Result "*"] [PlyCount "17"] [FEN "r1b2rk1/pp3ppp/3p4/3Q1nq1/2B1R3/8/PP3PPP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxf7+ Rxf7 2. Re8# * [Event "?"] [Site "Munich"] [Date "1927.??.??"] [Round "?"] [White "Springe"] [Black "Dietmar Gebhard"] [Result "*"] [PlyCount "17"] [FEN "r1b1kb1r/pp1n1pp1/1qp1p2p/6B1/2PPQ3/3B1N2/P4PPP/R4RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxe6+ fxe6 2. Bg6# * [Event "?"] [Site "Carlsbad"] [Date "1929.??.??"] [Round "?"] [White "Milan Vidmar Sr"] [Black "Max Euwe"] [Result "*"] [PlyCount "17"] [FEN "6k1/5p2/1p5p/p4Np1/5q2/Q6P/PPr5/3R3K w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qf8+ Kxf8 2. Rd8# * [Event "?"] [Site "Folkestone"] [Date "1933.??.??"] [Round "?"] [White "William Winter"] [Black "Jacob Gemzoe"] [Result "*"] [PlyCount "17"] [FEN "r3q3/ppp3k1/3p3R/5b2/2PR3Q/2P1PrP1/P7/4K3 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qf6+ Kg8 2. Rh8# * [Event "?"] [Site "Warsaw"] [Date "1935.??.??"] [Round "?"] [White "Arthur Dake"] [Black "Timothy Cranston"] [Result "*"] [PlyCount "17"] [FEN "r1bq2rk/pp3pbp/2p1p1pQ/7P/3P4/2PB1N2/PP3PPR/2KR4 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxh7+ Kxh7 2. hxg6# * [Event "?"] [Site "Warsaw"] [Date "1935.??.??"] [Round "?"] [White "Marcos Luckis"] [Black "Moshe Czerniak"] [Result "*"] [PlyCount "17"] [FEN "k1n3rr/Pp3p2/3q4/3N4/3Pp2p/1Q2P1p1/3B1PP1/R4RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxb7+ Kxb7 2. a8=Q# * [Event "?"] [Site "Stockholm"] [Date "1937.??.??"] [Round "?"] [White "Boris Kostic"] [Black "Paul Keres"] [Result "*"] [PlyCount "17"] [FEN "r1bq3r/ppp1b1kp/2n3p1/3B3Q/3p4/8/PPP2PPP/RNB2RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Bh6+ Kf6 2. Qg5# * [Event "?"] [Site "Montevideo"] [Date "1939.??.??"] [Round "?"] [White "Alexander Alekhine"] [Black "Fahardo"] [Result "*"] [PlyCount "17"] [FEN "4r3/pbpn2n1/1p1prp1k/8/2PP2PB/P5N1/2B2R1P/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxf6+ Nxf6 2. g5# * [Event "?"] [Site "Buenos Aires"] [Date "1939.??.??"] [Round "?"] [White "Vladimir Petrov"] [Black "H Cordova"] [Result "*"] [PlyCount "17"] [FEN "1q5r/1b1r1p1k/2p1pPpb/p1Pp4/3B1P1Q/1P4P1/P4KB1/2RR4 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxh6+ Kxh6 2. Rh1# * [Event "?"] [Site "Buenos Aires"] [Date "1939.??.??"] [Round "?"] [White "Isaias Pleci"] [Black "Lucius Endzelins"] [Result "*"] [PlyCount "17"] [FEN "r4R2/1b2n1pp/p2Np1k1/1pn5/4pP1P/8/PPP1B1P1/2K4R w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. h5+ Kh6 2. Nf7# * [Event "?"] [Site "New York"] [Date "1942.??.??"] [Round "?"] [White "Heinz Helms"] [Black "Oscar Tenner"] [Result "*"] [PlyCount "17"] [FEN "r1bqk2r/bppp1ppp/8/PB2N3/3n4/B7/2PPQnPP/RN2K2R w KQkq - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Nxd7+ Nxe2 2. Nf6# * [Event "?"] [Site "Southsea"] [Date "1950.??.??"] [Round "?"] [White "Arthur Bisguier"] [Black "J. Penrose"] [Result "*"] [PlyCount "17"] [FEN "r4r1k/2qb3p/p2p1p2/1pnPN3/2p1Pn2/2P1N3/PPB1QPR1/6RK w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rg8+ Rxg8 2. Nf7# * [Event "?"] [Site "Budapest"] [Date "1954.??.??"] [Round "?"] [White "Pal Benko"] [Black "Erno Gereben"] [Result "*"] [PlyCount "17"] [FEN "1r2q3/1R6/3p1kp1/1ppBp1b1/p3Pp2/2PP4/PP3P2/5K1Q w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qh8+ Qxh8 2. Rf7# * [Event "?"] [Site "corr."] [Date "1954.??.??"] [Round "?"] [White "Bennsdorf"] [Black "G Krepp"] [Result "*"] [PlyCount "17"] [FEN "r3kb1r/pb6/2p2p1p/1p2pq2/2pQ3p/2N2B2/PP3PPP/3RR1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Bh5+ Qxh5 2. Qd7# * [Event "?"] [Site "Montevideo"] [Date "1954.??.??"] [Round "?"] [White "Miguel Najdorf"] [Black "Rodolfo Kalkstein"] [Result "*"] [PlyCount "17"] [FEN "4r3/2q1rpk1/p3bN1p/2p3p1/4QP2/2N4P/PP4P1/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qh7+ Kxf6 2. Ne4# * [Event "?"] [Site "Vilnius"] [Date "1955.??.??"] [Round "?"] [White "Ratmir Kholmov"] [Black "Y Kliavinsh"] [Result "*"] [PlyCount "17"] [FEN "r5rk/pp1np1bn/2pp2q1/3P1bN1/2P1N2Q/1P6/PB2PPBP/3R1RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxh7+ Qxh7 2. Nf7# * [Event "?"] [Site "Ulan Bator"] [Date "1956.??.??"] [Round "?"] [White "Octav Troianescu"] [Black "Cedendemberel Lhagvasuren"] [Result "*"] [PlyCount "17"] [FEN "rn1qkb1r/4p2p/2p2nN1/p4p1Q/PpBP4/8/1P3PPP/R1B1K2R w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Ne5+ Nxh5 2. Bf7# * [Event "?"] [Site "Vienna"] [Date "1958.??.??"] [Round "?"] [White "Posch"] [Black "Derr"] [Result "*"] [PlyCount "17"] [FEN "r1b2rk1/ppppbpp1/7p/4R3/6Qq/2BB4/PPP2PPP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxg7+ Kxg7 2. Rg5# * [Event "?"] [Site "Bled"] [Date "1959.??.??"] [Round "?"] [White "Mikhail Tal"] [Black "Pal Benko"] [Result "*"] [PlyCount "17"] [FEN "1r3k2/2n1p1b1/3p2QR/p1pq1pN1/bp6/7P/2P2PP1/4RBK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rh8+ Bxh8 2. Nh7# * [Event "?"] [Site "Buenos Aires"] [Date "1960.??.??"] [Round "?"] [White "Mark Taimanov"] [Black "Erich Eliskases"] [Result "*"] [PlyCount "17"] [FEN "5b2/1p3rpk/p1b3Rp/4B1RQ/3P1p1P/7q/5P2/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxh6+ gxh6 2. Qg6# * [Event "?"] [Site "Baku"] [Date "1961.??.??"] [Round "?"] [White "Boris Spassky"] [Black "Boris Vladimirov"] [Result "*"] [PlyCount "17"] [FEN "r2Rnk1r/1p2q1b1/7p/6pQ/4Ppb1/1BP5/PP3BPP/2K4R w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxe8+ Qxe8 2. Bc5# * [Event "?"] [Site "corr."] [Date "1962.??.??"] [Round "?"] [White "J Golemo"] [Black "S Sulek"] [Result "*"] [PlyCount "17"] [FEN "r2qr2k/pp1b3p/2nQ4/2pB1p1P/3n1PpR/2NP2P1/PPP5/2K1R1N1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxe8+ Bxe8 2. Qf8# * [Event "?"] [Site "Belgrade"] [Date "1963.??.??"] [Round "?"] [White "Dragoljub Velimirovic"] [Black "Dragoljub Ciric"] [Result "*"] [PlyCount "17"] [FEN "4r3/p2r1p1k/3q1Bpp/4P3/1PppR3/P5P1/5P1P/2Q3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxh6+ Kxh6 2. Rh4# * [Event "?"] [Site "Novi Sad"] [Date "1965.??.??"] [Round "?"] [White "Albin Planinec"] [Black "Milan Matulovic"] [Result "*"] [PlyCount "17"] [FEN "r3n1rk/q3NQ1p/p2pbP2/1p4p1/1P1pP1P1/3R4/P1P4P/3B2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxh7+ Kxh7 2. Rh3# * [Event "?"] [Site "Polanica Zdroj"] [Date "1967.??.??"] [Round "?"] [White "Wlodzimierz Schmidt"] [Black "Heinz Liebert"] [Result "*"] [PlyCount "17"] [FEN "8/8/p3p3/3b1pR1/1B3P1k/8/4r1PK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Be1+ Rxe1 2. g3# * [Event "?"] [Site "Vinkovci"] [Date "1970.??.??"] [Round "?"] [White "Tigran Petrosian"] [Black "Dragoslav Tomic"] [Result "*"] [PlyCount "17"] [FEN "Q7/2r2rpk/2p4p/7N/3PpN2/1p2P3/1K4R1/5q2 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxg7+ Rxg7 2. Nf6# * [Event "?"] [Site "Siegen"] [Date "1970.??.??"] [Round "?"] [White "Samuel Reshevsky"] [Black "Yasuji Matsumoto"] [Result "*"] [PlyCount "17"] [FEN "r3rknQ/1p1R1pb1/p3pqBB/2p5/8/6P1/PPP2P1P/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxg7+ Qxg7 2. Rxf7# * [Event "?"] [Site "Hastings"] [Date "1971.??.??"] [Round "?"] [White "Anatoly Karpov"] [Black "Henrique Mecking"] [Result "*"] [PlyCount "17"] [FEN "4rr2/1p5R/3p1p2/p2Bp3/P2bPkP1/1P5R/1P2K3/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rg7 Bxb2 2. Rf3# * [Event "?"] [Site "Skopje"] [Date "1972.??.??"] [Round "?"] [White "Walter Browne"] [Black "Coskun Kulur"] [Result "*"] [PlyCount "17"] [FEN "r4kr1/pbNn1q1p/1p6/2p2BPQ/5B2/8/P6P/b4RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Bd6+ Qe7 2. Ne6# * [Event "?"] [Site "Moscow"] [Date "1975.??.??"] [Round "?"] [White "Rafael Vaganian"] [Black "Viktor Korchnoi"] [Result "*"] [PlyCount "17"] [FEN "6rk/6pp/5p2/p7/P2Q1N2/4P1P1/2r2n1P/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Ng6+ hxg6 2. Qh4# * [Event "?"] [Site "Amsterdam"] [Date "1978.??.??"] [Round "?"] [White "Larry Christiansen"] [Black "Paul Van Der Sterren"] [Result "*"] [PlyCount "17"] [FEN "1n6/p3q2p/2pNk3/1pP1p3/1P2P2Q/2P3P1/6K1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qh3+ Kf6 2. Qh6# * [Event "?"] [Site "Riga"] [Date "1979.??.??"] [Round "?"] [White "Bent Larsen"] [Black "Zoltan Ribli"] [Result "*"] [PlyCount "17"] [FEN "2QR4/6b1/1p4pk/7p/5n1P/4rq2/5P2/5BK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rh8+ Bxh8 2. Qxh8# * [Event "?"] [Site "Berlin"] [Date "1980.??.??"] [Round "?"] [White "Raymond Keene"] [Black "C Van Baarle"] [Result "*"] [PlyCount "17"] [FEN "r3q1k1/5p2/3P2pQ/Ppp5/1pnbN2R/8/1P4PP/5R1K w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rf6 Bxf6 2. Nxf6# * [Event "?"] [Site "Caorle"] [Date "1981.??.??"] [Round "?"] [White "Dragoslav Andric"] [Black "Luigi Santolini"] [Result "*"] [PlyCount "17"] [FEN "5b2/R4p1p/1r2kp2/1p2pN2/2r1P3/P1P3P1/1PK4P/3R4 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Re7+ Bxe7 2. Ng7# * [Event "?"] [Site "Palo Alto"] [Date "1981.??.??"] [Round "?"] [White "Jeremy Silman"] [Black "Ozdal Barkan"] [Result "*"] [PlyCount "17"] [FEN "r3q1r1/1p2bNkp/p3n3/2PN1B1Q/PP1P1p2/7P/5PP1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qh6+ Kxf7 2. Bxe6# * [Event "?"] [Site "Lucerne"] [Date "1982.??.??"] [Round "?"] [White "Vlastimil Hort"] [Black "Alex Dunne"] [Result "*"] [PlyCount "17"] [FEN "1r2q2k/4N2p/3p1Pp1/2p1n1P1/2P5/p2P2KQ/P3R3/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxh7+ Kxh7 2. Rh2# * [Event "?"] [Site "Germany"] [Date "1982.??.??"] [Round "?"] [White "Boris Spassky"] [Black "Arnulf Westermeier"] [Result "*"] [PlyCount "17"] [FEN "5R2/4r1r1/1p4k1/p1pB2Bp/P1P4K/2P1p3/1P6/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rf6+ Kh7 2. Rh6# * [Event "?"] [Site "corr."] [Date "1984.??.??"] [Round "?"] [White "Werner Hobusch"] [Black "Liebscher"] [Result "*"] [PlyCount "17"] [FEN "2bq1rk1/r1p1b1pn/p2pP1Np/1p1B1Q2/4P3/2P4P/PP3PP1/R1B1R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qf7+ Rxf7 2. exf7# * [Event "?"] [Site "Nouro"] [Date "1984.??.??"] [Round "?"] [White "Ian Rogers"] [Black "Zlatko Klaric"] [Result "*"] [PlyCount "17"] [FEN "1nbk1b1r/1r6/p2P2pp/1B2PpN1/2p2P2/2P1B3/7P/R3K2R w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Bb6+ Rxb6 2. Nf7# * [Event "?"] [Site "Philadelphia"] [Date "1985.??.??"] [Round "?"] [White "Arthur Bisguier"] [Black "Sergey Kudrin"] [Result "*"] [PlyCount "17"] [FEN "3r2k1/p1p2p2/bp2p1nQ/4PB1P/2pr3q/6R1/PP3PP1/3R2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxg6+ fxg6 2. Bxe6# * [Event "?"] [Site "Minsk"] [Date "1985.??.??"] [Round "?"] [White "Sergey Smagin"] [Black "Viktor Kupreichik"] [Result "*"] [PlyCount "17"] [FEN "6k1/3r3p/p1q3pP/1p1p4/3Q4/4R1P1/P4PK1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qh8+ Kxh8 2. Re8# * [Event "?"] [Site "Philadelphia"] [Date "1987.??.??"] [Round "?"] [White "Nick De Firmian"] [Black "Edward Formanek"] [Result "*"] [PlyCount "17"] [FEN "r2r3k/b1qn2pp/1p2Bp2/2p2P2/PP1pQ3/7R/1B3PPP/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxh7+ Kxh7 2. Qh4# * [Event "?"] [Site "Wijk aan Zee"] [Date "1987.??.??"] [Round "?"] [White "Viktor Korchnoi"] [Black "Lev Gutman"] [Result "*"] [PlyCount "17"] [FEN "8/1p3Qb1/p5pk/P1p1p1p1/1P2P1P1/2P1N2n/5P1P/4qB1K w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Nf5+ gxf5 2. Qh5# * [Event "?"] [Site "Tashkent"] [Date "1987.??.??"] [Round "?"] [White "Alexey Kuzmin"] [Black "Evgeny Vladimirov"] [Result "*"] [PlyCount "17"] [FEN "3rrk2/2p2pR1/p4n2/1p1PpP2/2p2q1P/3P1BQ1/PPP5/6RK w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxf7+ Kxf7 2. Qg7# * [Event "?"] [Site "Adelaide"] [Date "1988.??.??"] [Round "?"] [White "Michael Adams"] [Black "Luis Comas Fabrego"] [Result "*"] [PlyCount "17"] [FEN "r4kr1/1b2R1n1/pq4p1/4Q3/1p4P1/5P2/PPP4P/1K2R3 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1.Rf7+ Kxf7 2.Qe7# * [Event "?"] [Site "New York"] [Date "1988.??.??"] [Round "?"] [White "Vassily Ivanchuk"] [Black "Bozidar Ivanovic"] [Result "*"] [PlyCount "17"] [FEN "3n4/1R6/p5k1/2B5/1P3PK1/r7/8/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. f5+ Kf6 2. Bd4# * [Event "?"] [Site "Wuppertal"] [Date "1990.??.??"] [Round "?"] [White "Nona Gaprindashvili"] [Black "Eliska Richtrova"] [Result "*"] [PlyCount "17"] [FEN "1r3rk1/1pnnq1bR/p1pp2B1/P2P1p2/1PP1pP2/2B3P1/5PK1/2Q4R w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rh8+ Bxh8 2. Rxh8# * [Event "?"] [Site "USA"] [Date "1990.??.??"] [Round "?"] [White "Leonid Shamkovich"] [Black "Anatoly Trubman"] [Result "*"] [PlyCount "17"] [FEN "5r1k/pp1n1p1p/5n1Q/3p1pN1/3P4/1P4RP/P1r1qPP1/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxf8+ Nxf8 2. Nxf7# * [Event "?"] [Site "New York"] [Date "1991.??.??"] [Round "?"] [White "Arthur Bisguier"] [Black "Fabian Geisler"] [Result "*"] [PlyCount "17"] [FEN "5k2/p3Rr2/1p4pp/q4p2/1nbQ1P2/6P1/5N1P/3R2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Re8+ Kxe8 2. Qd8# * [Event "?"] [Site "Vienna"] [Date "1991.??.??"] [Round "?"] [White "Larry Christiansen"] [Black "John Nunn"] [Result "*"] [PlyCount "17"] [FEN "4rk2/pp2N1bQ/5p2/8/2q5/P7/3r2PP/4RR1K w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxf6+ Bxf6 2. Ng6# * [Event "?"] [Site "Torcy"] [Date "1991.??.??"] [Round "?"] [White "Gregory Kaidanov"] [Black "Eric-Thierry Petit"] [Result "*"] [PlyCount "17"] [FEN "2q1r3/4pR2/3rQ1pk/p1pnN2p/Pn5B/8/1P4PP/3R3K w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Nf3 Qxe6 2. Bg5# * [Event "?"] [Site "Moscow"] [Date "1991.??.??"] [Round "?"] [White "Grigory Serper"] [Black "Alexei Shirov"] [Result "*"] [PlyCount "17"] [FEN "q2br1k1/1b4pp/3Bp3/p6n/1p3R2/3B1N2/PP2QPPP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxe6+ Rxe6 2. Rf8# * [Event "?"] [Site "Bad Mondorf"] [Date "1991.??.??"] [Round "?"] [White "Almira Skripchenko"] [Black "Ralph Zimmer"] [Result "*"] [PlyCount "17"] [FEN "5r1k/p2n1p1p/5P1N/1p1p4/2pP3P/8/PP4RK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rg8+ Rxg8 2. Nxf7# * [Event "?"] [Site "Brussels"] [Date "1992.??.??"] [Round "?"] [White "Michael Adams"] [Black "Eric Lobron"] [Result "*"] [PlyCount "17"] [FEN "8/7p/5pk1/3n2pq/3N1nR1/1P3P2/P6P/4QK2 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1.Qe8+ Kg7 2.Nf5# * [Event "?"] [Site "Duisburg"] [Date "1992.??.??"] [Round "?"] [White "Hoang Thanh Tran"] [Black "Alina Calota"] [Result "*"] [PlyCount "17"] [FEN "2Q5/pp2rk1p/3p2pq/2bP1r2/5RR1/1P2P3/PB3P1P/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxf5+ gxf5 2. Qg8# * [Event "?"] [Site "Nijmegen"] [Date "1992.??.??"] [Round "?"] [White "Dmitri Reinderman"] [Black "Harmen Jonkman"] [Result "*"] [PlyCount "17"] [FEN "3R1rk1/1pp2pp1/1p6/8/8/P7/1q4BP/3Q2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxf8+ Kh7 2. Qh5# * [Event "?"] [Site "New York"] [Date "1992.??.??"] [Round "?"] [White "Josh Waitzkin"] [Black "Luis Hoyos-Millan"] [Result "*"] [PlyCount "17"] [FEN "6k1/5p2/p3bRpQ/4q3/2r3P1/6NP/P1p2R1K/1r6 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxg6+ fxg6 2. Rf8# * [Event "?"] [Site "Tashkent"] [Date "1993.??.??"] [Round "?"] [White "Saidali Iuldachev"] [Black "I Dgumaev"] [Result "*"] [PlyCount "17"] [FEN "8/8/2N1P3/1P6/4Q3/4b2K/4k3/4q3 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Nd4+ Kd1 2. Qc2# * [Event "?"] [Site "London"] [Date "1994.??.??"] [Round "?"] [White "Luke McShane"] [Black "Aiden Leech"] [Result "*"] [PlyCount "17"] [FEN "5b2/q4r1p/p3k1p1/2pNppP1/1P6/3Q1P1P/P7/1K1R4 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Nf4+ exf4 2. Qe2# * [Event "?"] [Site "Minsk"] [Date "1994.??.??"] [Round "?"] [White "Yury Shulman"] [Black "Ilia Botvinnik"] [Result "*"] [PlyCount "17"] [FEN "r3nr1k/1b2Nppp/pn6/q3p1P1/P1p4Q/R7/1P2PP1P/2B2RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxh7+ Kxh7 2. Rh3# * [Event "?"] [Site "Villa Ballester"] [Date "1996.??.??"] [Round "?"] [White "Claudia Amura"] [Black "Carlos Bulcourf"] [Result "*"] [PlyCount "17"] [FEN "8/p1R3p1/4p1kn/3p3N/3Pr2P/6P1/PP3K2/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxg7+ Kxh5 2. Rg5# * [Event "?"] [Site "Weilburg"] [Date "1996.??.??"] [Round "?"] [White "Ronald Bancod"] [Black "Richard Forster"] [Result "*"] [PlyCount "17"] [FEN "r1b1k2r/1p2bppp/p3q3/1p2p1B1/8/3Q1N2/PPP2PPP/3R1RK1 w kq - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qd8+ Bxd8 2. Rxd8# * [Event "?"] [Site "Hungary"] [Date "1996.??.??"] [Round "?"] [White "Ferenc Berkes"] [Black "Diana Nemeth"] [Result "*"] [PlyCount "17"] [FEN "rn2k2r/pp2b2p/2p1Q1p1/5B2/1q3B2/8/PPP3PP/3RR2K w kq - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rd8+ Kxd8 2. Qc8# * [Event "?"] [Site "Mitilini"] [Date "1996.??.??"] [Round "?"] [White "Georgios Efthimiou"] [Black "V Siametis"] [Result "*"] [PlyCount "17"] [FEN "r1b1k2r/pp3ppp/2n1p3/6B1/2p1q3/Q7/PP2PPPP/3RKB1R w Kkq - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rd8+ Nxd8 2. Qe7# * [Event "?"] [Site "Kremlin PCA Rapid"] [Date "1996.??.??"] [Round "?"] [White "Judit Polgr"] [Black "E. Bareev"] [Result "*"] [PlyCount "17"] [FEN "5k1r/4npp1/p3p2p/3nP2P/3P3Q/3N4/qB2KPP1/2R5 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rc8+ Nxc8 2. Qd8# * [Event "?"] [Site "Voronezh"] [Date "1997.??.??"] [Round "?"] [White "Anatoly Karpov"] [Black "Bidjukova"] [Result "*"] [PlyCount "17"] [FEN "2r5/2R5/3npkpp/3bN3/p4PP1/4K3/P1B4P/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. g5+ hxg5 2. Ng4# * [Event "?"] [Site "Koszalin"] [Date "1997.??.??"] [Round "?"] [White "Anatoly Karpov"] [Black "Piotr Mickiewicz"] [Result "*"] [PlyCount "17"] [FEN "5r1r/1p6/p1p2p2/2P1bPpk/4R3/6PP/P2B2K1/3R4 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rh4+ gxh4 2. g4# * [Event "?"] [Site "St. Petersburg"] [Date "1997.??.??"] [Round "?"] [White "Alexander Riazantsev"] [Black "Artem Iljin"] [Result "*"] [PlyCount "17"] [FEN "5qrk/5p1n/pp3p1Q/2pPp3/2P1P1rN/2P4R/P5P1/2B3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Ng6+ R4xg6 2. Qxh7# * [Event "?"] [Site "Staffordshire"] [Date "1997.??.??"] [Round "?"] [White "Jonathan Rowson"] [Black "John Richardson"] [Result "*"] [PlyCount "17"] [FEN "3rk2r/p1qn1pp1/1p2pb1p/7P/2Pp4/B1P1QP2/P1B1KP2/3R3R w k - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxe6+ fxe6 2. Bg6# * [Event "?"] [Site "Bastia"] [Date "1997.??.??"] [Round "?"] [White "Boris Spassky"] [Black "G Gilquin"] [Result "*"] [PlyCount "17"] [FEN "r3kb1r/q5pp/p1p1Bnn1/1p2Q3/8/2N2PBP/PPP5/2KRR3 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Bf7+ Kxf7 2. Qe6# * [Event "?"] [Site "Marina d'Or"] [Date "1998.??.??"] [Round "?"] [White "Lazaro Bruzon"] [Black "Thomas Willemze"] [Result "*"] [PlyCount "17"] [FEN "rq3rk1/3n1pp1/pb4n1/3N2P1/1pB1QP2/4B3/PP6/2KR3R w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Ne7+ Nxe7 2. Qh7# * [Event "?"] [Site "Koszalin"] [Date "1998.??.??"] [Round "?"] [White "Emil Sutovsky"] [Black "Bogdan Grabarczyk"] [Result "*"] [PlyCount "17"] [FEN "3q2r1/p2b1k2/1pnBp1N1/3p1pQP/6P1/5R2/2r2P2/4RK2 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Nh8+ Rxh8 2. Qg6# * [Event "?"] [Site "Besancon"] [Date "1999.??.??"] [Round "?"] [White "Etienne Bacrot"] [Black "Laurent Fressinet"] [Result "*"] [PlyCount "17"] [FEN "2r5/3nbkp1/2q1p1p1/1p1n2P1/3P4/2p1P1NQ/1P1B1P2/1B4KR w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Bxg6+ Kxg6 2. Qh5# * [Event "?"] [Site "Zalakaros"] [Date "1999.??.??"] [Round "?"] [White "Ludwig Deutsch"] [Black "B Zambo"] [Result "*"] [PlyCount "17"] [FEN "r1bq1rkb/ppp2n1p/5n2/4p1NN/5pQ1/1BP5/PP3PPP/R1B1K2R w KQ - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Nxf7+ Nxg4 2. Nh6# * [Event "?"] [Site "Lippstadt"] [Date "2000.??.??"] [Round "?"] [White "Maia Chiburdanidze"] [Black "Roman Slobodjan"] [Result "*"] [PlyCount "17"] [FEN "4r3/1b2r2p/p2p2k1/P1pP1R1N/3b4/1P1B3P/3n2P1/5R1K w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Re5+ Ne4 2. Rf6# * [Event "?"] [Site "Tbilisi"] [Date "2000.??.??"] [Round "?"] [White "Nana Dzagnidze"] [Black "Tsiala Kasoshvili"] [Result "*"] [PlyCount "17"] [FEN "2b3k1/1p5p/2p1n1pQ/3qB3/3P4/3B3P/r5P1/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rf8+ Nxf8 2. Qg7# * [Event "?"] [Site "Aviles"] [Date "2000.??.??"] [Round "?"] [White "Gadir Guseinov"] [Black "Ernesto Fernandez Romero"] [Result "*"] [PlyCount "17"] [FEN "3rk2r/1pR2p2/b2BpPp1/p2p4/8/1P6/P4PPP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxe6+ fxe6 2. f7# * [Event "?"] [Site "Brussels"] [Date "2000.??.??"] [Round "?"] [White "Luke McShane"] [Black "Bart Michiels"] [Result "*"] [PlyCount "17"] [FEN "4nr1k/1bq3pp/5p2/1p2pNQ1/3pP3/1B1P3R/1PP3PP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxh7+ Kxh7 2. Qh5# * [Event "?"] [Site "Narva"] [Date "2001.??.??"] [Round "?"] [White "Valentina Golubenko"] [Black "Kerttu Oja"] [Result "*"] [PlyCount "17"] [FEN "r1bk1r2/pp1n2pp/3NQ3/1P6/8/2n2PB1/q1B3PP/3R1RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Nxb7+ Bxb7 2. Qxd7# * [Event "?"] [Site "Chalkidiki"] [Date "2001.??.??"] [Round "?"] [White "Boris Grachev"] [Black "Sergey Chapar"] [Result "*"] [PlyCount "17"] [FEN "1rb2k2/pp3ppQ/7q/2p1n1N1/2p5/2N5/P3BP1P/K2R4 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qg8+ Ke7 2. Qd8# * [Event "?"] [Site "Kramatorsk"] [Date "2001.??.??"] [Round "?"] [White "Katya Lahno"] [Black "Sofia Shepeleva"] [Result "*"] [PlyCount "17"] [FEN "4r3/5p1k/2p1nBpp/q2p4/P1bP4/2P1R2Q/2B2PPP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxh6+ Kxh6 2. Rh3# * [Event "?"] [Site "Internet"] [Date "2003.??.??"] [Round "?"] [White "Axel Bachmann"] [Black "Vladimir Galakhov"] [Result "*"] [PlyCount "17"] [FEN "6R1/5r1k/p6b/1pB1p2q/1P6/5rQP/5P1K/6R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rh8+ Kxh8 2. Qg8# * [Event "?"] [Site "Rethymnon"] [Date "2003.??.??"] [Round "?"] [White "Magnus Carlsen"] [Black "Helgi Gretarsson"] [Result "*"] [PlyCount "17"] [FEN "r5q1/pp1b1kr1/2p2p2/2Q5/2PpB3/1P4NP/P4P2/4RK2 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Bg6+ Kxg6 2. Qh5# * [Event "?"] [Site "Calicut"] [Date "2003.??.??"] [Round "?"] [White "Surya Ganguly"] [Black "M R Venkatesh"] [Result "*"] [PlyCount "17"] [FEN "2r1kb1r/p2b1ppp/3p4/Q2Np1B1/4P2P/8/PP4P1/4KB1n w k - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qd8+ Rxd8 2. Nc7# * [Event "?"] [Site "Belgium"] [Date "2003.??.??"] [Round "?"] [White "Michel Jadoul"] [Black "Gordon Plomp"] [Result "*"] [PlyCount "17"] [FEN "r2q1bk1/5n1p/2p3pP/p7/3Br3/1P3PQR/P5P1/2KR4 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxg6+ hxg6 2. h7# * [Event "?"] [Site "Gerani"] [Date "2003.??.??"] [Round "?"] [White "Zhu Chen"] [Black "Ioannis Papaioannou"] [Result "*"] [PlyCount "17"] [FEN "4Q3/r4ppk/3p3p/4pPbB/2P1P3/1q5P/6P1/3R3K w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Bg6+ fxg6 2. fxg6# * [Event "?"] [Site "Tbilisi"] [Date "2004.??.??"] [Round "?"] [White "Nana Dzagnidze"] [Black "Inga Charkhalashvili"] [Result "*"] [PlyCount "17"] [FEN "rn5r/p4pp1/3n3p/qB1k4/3P4/4P3/PP2NPPP/R4K1R w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Nf4+ Ke4 2. Bd3# * [Event "?"] [Site "Kazan"] [Date "2004.??.??"] [Round "?"] [White "Alexandra Kosteniuk"] [Black "Tatiana Shumiakina"] [Result "*"] [PlyCount "17"] [FEN "5R2/6k1/3K4/p6r/1p1NB3/1P4r1/8/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Ne6+ Kh6 2. Rh8# * [Event "?"] [Site "Calvia"] [Date "2004.??.??"] [Round "?"] [White "Bathuyag Mongontuul"] [Black "Garcia Vicente"] [Result "*"] [PlyCount "17"] [FEN "5r2/1qp2pp1/bnpk3p/4NQ2/2P5/1P5P/5PP1/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Nxf7+ Rxf7 2. c5# * [Event "?"] [Site "Internet"] [Date "2004.??.??"] [Round "?"] [White "Vladimir Potkin"] [Black "Aleksandra Dimitrijevic"] [Result "*"] [PlyCount "17"] [FEN "3nk1r1/1pq4p/p3PQpB/5p2/2r5/8/P4PPP/3RR1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxd8+ Qxd8 2. Qf7# * [Event "?"] [Site "Gibraltar"] [Date "2005.??.??"] [Round "?"] [White "M Calzetta"] [Black "K White"] [Result "*"] [PlyCount "17"] [FEN "1k3r2/4R1Q1/p2q1r2/8/2p1Bb2/5R2/pP5P/K7 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Re8+ Rxe8 2. Qb7# * [Event "?"] [Site "Turin"] [Date "2006.??.??"] [Round "?"] [White "Camilla Baginskaite"] [Black "Ana-Cristina Calotescu"] [Result "*"] [PlyCount "17"] [FEN "6k1/1r4np/pp1p1R1B/2pP2p1/P1P5/1n5P/6P1/4R2K w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Re8+ Nxe8 2. Rf8# * [Event "?"] [Site "Cappelle la Grande"] [Date "2006.??.??"] [Round "?"] [White "Elina Danielian"] [Black "Michail Brodsky"] [Result "*"] [PlyCount "17"] [FEN "8/p2q1p1k/4pQp1/1p1b2Bp/7P/8/5PP1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Bh6 Kxh6 2. Qh8# * [Event "?"] [Site "Gausdal"] [Date "2006.??.??"] [Round "?"] [White "Kaido Kulaots"] [Black "Felix Levin"] [Result "*"] [PlyCount "17"] [FEN "r7/6R1/ppkqrn1B/2pp3p/P6n/2N5/8/1Q1R1K2 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qb5+ axb5 2. axb5# * [Event "?"] [Site "Germany"] [Date "2006.??.??"] [Round "?"] [White "Iweta Radziewicz"] [Black "Katharina Bacler"] [Result "*"] [PlyCount "17"] [FEN "r2q1k1r/3bnp2/p1n1pNp1/3pP1Qp/Pp1P4/2PB4/5PPP/R1B2RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qh6+ Rxh6 2. Bxh6# * [Event "?"] [Site "Bristol"] [Date "2006.??.??"] [Round "?"] [White "James Sherwin"] [Black "Joshua Hall"] [Result "*"] [PlyCount "17"] [FEN "6rk/1r2pR1p/3pP1pB/2p1p3/P6Q/P1q3P1/7P/5BK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxh7+ Kxh7 2. Bf8# * [Event "?"] [Site "Turin"] [Date "2006.??.??"] [Round "?"] [White "Radoslaw Wojtaszek"] [Black "Darcy Lima"] [Result "*"] [PlyCount "17"] [FEN "1r2Rr2/3P1p1k/5Rpp/qp6/2pQ4/7P/5PPK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxf7+ Rxf7 2. Qh8# * [Event "?"] [Site "Warsaw"] [Date "2006.??.??"] [Round "?"] [White "Sergei Zhigalko"] [Black "Boguslaw Major"] [Result "*"] [PlyCount "17"] [FEN "r4rk1/5Rbp/p1qN2p1/P1n1P3/8/1Q3N1P/5PP1/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxf8+ Kxf8 2. Qf7# * [Event "?"] [Site "Gibraltar"] [Date "2007.??.??"] [Round "?"] [White "Yuriy Kuzubov"] [Black "Alexander Van Beek"] [Result "*"] [PlyCount "17"] [FEN "7R/3r4/8/3pkp1p/5N1P/b3PK2/5P2/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rh6 Re7 2. Nd3# * [Event "?"] [Site "Gibraltar"] [Date "2007.??.??"] [Round "?"] [White "Robert Wade"] [Black "Colin Horton"] [Result "*"] [PlyCount "17"] [FEN "8/1R3p2/3rk2p/p2p2p1/P2P2P1/3B1PN1/5K1P/r7 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Bf5+ Kf6 2. Nh5# * [Event "?"] [Site "Malme"] [Date "2008.??.??"] [Round "?"] [White "Evgeny Agrest"] [Black "Axel Smith"] [Result "*"] [PlyCount "17"] [FEN "8/5prk/p5rb/P3N2R/1p1PQ2p/7P/1P3RPq/5K2 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxh6+ Kg8 2. Qa8# * [Event "?"] [Site "Tulsa"] [Date "2008.??.??"] [Round "?"] [White "James Berry"] [Black "Alexander Gorbunov"] [Result "*"] [PlyCount "17"] [FEN "rqb2bk1/3n2pr/p1pp2Qp/1p6/3BP2N/2N4P/PPP3P1/2KR3R w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qe6+ Kh8 2. Ng6# * [Event "?"] [Site "Dresden"] [Date "2008.??.??"] [Round "?"] [White "Jon Hammer"] [Black "Shakil Abu Sufian"] [Result "*"] [PlyCount "17"] [FEN "1Q6/r3R2p/k2p2pP/p1q5/Pp4P1/5P2/1PP3K1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxa7+ Qxa7 2. Qb5# * [Event "?"] [Site "Dresden"] [Date "2008.??.??"] [Round "?"] [White "Stephen Lukey"] [Black "solomon Celis"] [Result "*"] [PlyCount "17"] [FEN "3R4/3Q1p2/q1rn2kp/4p3/4P3/2N3P1/5P1P/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qg4+ Kf6 2. Nd5# * [Event "?"] [Site "Baku"] [Date "2008.??.??"] [Round "?"] [White "Eltaj Safarli"] [Black "Bela Khotenashvili"] [Result "*"] [PlyCount "17"] [FEN "5r2/7p/3R4/p3pk2/1p2N2p/1P2BP2/6PK/4r3 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. g4+ hxg3+ 2. Nxg3# * [Event "?"] [Site "Sochi"] [Date "2008.??.??"] [Round "?"] [White "Alexei Shirov"] [Black "Dmitry Andreikin"] [Result "*"] [PlyCount "17"] [FEN "7r/3kbp1p/1Q3R2/3p3q/p2P3B/1P5K/P6P/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qc6+ Kd8 2. Rd6# * [Event "?"] [Site "St. Petersburg"] [Date "2008.??.??"] [Round "?"] [White "Sanan Sjugirov"] [Black "Maxim Matlakov"] [Result "*"] [PlyCount "17"] [FEN "r4r1k/p2p3p/bp1Np3/4P3/2P2nR1/3B1q2/P1PQ4/2K3R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rg8+ Rxg8 2. Nf7# * [Event "?"] [Site "Moscow"] [Date "2008.??.??"] [Round "?"] [White "Sanan Sjugirov"] [Black "Alexander Tjurin"] [Result "*"] [PlyCount "17"] [FEN "1r3b2/1bp2pkp/p1q4N/1p1n1pBn/8/2P3QP/PPB2PP1/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Bf6+ Kxf6 2. Ng8# * [Event "?"] [Site "Moscow"] [Date "2008.??.??"] [Round "?"] [White "Peter Svidler"] [Black "Vassily Ivanchuk"] [Result "*"] [PlyCount "17"] [FEN "8/k1p1q3/Pp5Q/4p3/2P1P2p/3P4/4K3/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qc6 Kxa6 2. Qa8# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2009.??.??"] [Round "?"] [White "Alexander Grischuk"] [Black "Baadur Jobava"] [Result "*"] [PlyCount "17"] [FEN "8/p4q2/6k1/1p3rP1/3Q4/8/PPP5/K6R w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rh6+ Kxg5 2. Qh4# * [Event "?"] [Site "Rijeka"] [Date "2010.??.??"] [Round "?"] [White "Vladimir Akopian"] [Black "Vadim Zvjaginsev"] [Result "*"] [PlyCount "17"] [FEN "r7/4k1Pp/2n1p2P/q2pp1N1/1p4P1/1P6/P4R2/1K1R4 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rf7+ Kd6 2. Ne4# * [Event "?"] [Site "Germany"] [Date "2010.??.??"] [Round "?"] [White "Aleksandar Berelovich"] [Black "Francisco Vallejo Pons"] [Result "*"] [PlyCount "17"] [FEN "2Q5/1p3p2/3b1k1p/3Pp3/4B1R1/4q1P1/r4PK1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qd8+ Be7 2. Qh8# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Mekhri Geldyeva"] [Black "Marvorii Nasriddinzoda"] [Result "*"] [PlyCount "17"] [FEN "8/5Qpk/p1R4p/P2p4/6P1/2rq4/5PPK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxh6+ Kxh6 2. Qh5# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Suradj Hanoeman"] [Black "Rodolfo Varron Abelgas"] [Result "*"] [PlyCount "17"] [FEN "3n1k2/5p2/2p1bb2/1p2pN1q/1P2P3/2P3Q1/5PB1/3R2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qg7+ Bxg7 2. Rxd8# * [Event "?"] [Site "Germany"] [Date "2010.??.??"] [Round "?"] [White "David Howell"] [Black "Tomasz Warakomski"] [Result "*"] [PlyCount "17"] [FEN "rnR5/p3p1kp/4p1pn/bpP5/5BP1/5N1P/2P2P2/2K5 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Be5+ Kf7 2. Ng5# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Badr-Eddine Khelfallah"] [Black "Euler da Costa Moreira"] [Result "*"] [PlyCount "17"] [FEN "6rk/6p1/4R2p/p2pP2b/5Q2/2P2PB1/1q4PK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxh6+ gxh6 2. Qxh6# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Liem Le Quang"] [Black "Phemelo Khetho"] [Result "*"] [PlyCount "17"] [FEN "r4r1k/pp5p/n5p1/1q2Np1n/1Pb5/6P1/PQ2PPBP/1RB3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Nf7+ Kg8 2. Nh6# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Katrina Skinke"] [Black "Silvia Collas"] [Result "*"] [PlyCount "17"] [FEN "7k/p1p2bp1/3q1N1p/4rP2/4pQ2/2P4R/P2r2PP/4R2K w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rxh6+ gxh6 2. Qxh6# * [Event "?"] [Site "Germany"] [Date "2011.??.??"] [Round "?"] [White "Tanja Butschek"] [Black "Julia Krasnopeyeva"] [Result "*"] [PlyCount "17"] [FEN "r1b2k2/1p1p1r1B/n4p2/p1qPp3/2P4N/4P1R1/PPQ3PP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rg8+ Ke7 2. Nf5# * [Event "?"] [Site "Tallinn"] [Date "2012.8.1"] [Round "?"] [White "Vladimir Fedoseev"] [Black "Tomi Nyback"] [Result "*"] [PlyCount "17"] [FEN "8/8/2K2b2/2N2k2/1p4R1/1B3n1P/3r1P2/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Be6+ Ke5 2. Re4# * [Event "?"] [Site "Tashkent"] [Date "2012.14.3"] [Round "?"] [White "Mukhit Ismailov"] [Black "Pavel Potapov"] [Result "*"] [PlyCount "17"] [FEN "8/3R3p/2b4k/p1p1B1p1/2n2PB1/3p1P2/P7/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Bg7+ Kg6 2. f5# * [Event "?"] [Site "Germany"] [Date "2012.20.10"] [Round "?"] [White "David Howell"] [Black "Aljoscha Feuerstack"] [Result "*"] [PlyCount "17"] [FEN "k2r4/ppRn2p1/6p1/1P3p2/3p1B2/6P1/P4PBP/4n1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Bxb7+ Kb8 2. Rxd7# * [Event "?"] [Site "Germany"] [Date "2012.21.10"] [Round "?"] [White "Alexander Motylev"] [Black "David Baramidze"] [Result "*"] [PlyCount "17"] [FEN "4rk2/1bq2p1Q/3p1bp1/1p1n2N1/4PB2/2Pp3P/1P1N4/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Bxd6+ Qe7 2. Qxf7# * [Event "?"] [Site "Germany"] [Date "2012.2.12"] [Round "?"] [White "Teodora Rogozenco"] [Black "Marina Gabriel"] [Result "*"] [PlyCount "17"] [FEN "8/R7/pp1b2kp/1b1B1p2/5P1P/5KP1/P7/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. h5+ Kxh5 2. Bf7# * [Event "?"] [Site "Moscow"] [Date "2013.12.2"] [Round "?"] [White "Pavel Tregubov"] [Black "Krishnan Sasikiran"] [Result "*"] [PlyCount "17"] [FEN "6k1/p2p2p1/8/3np1N1/1P5R/3q2P1/5RKP/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rh8+ Kxh8 2. Rf8# * [Event "?"] [Site "Germany"] [Date "2013.7.4"] [Round "?"] [White "Martin Zumsande"] [Black "Rainer Polzin"] [Result "*"] [PlyCount "17"] [FEN "n3r1k1/Q4R1p/p5pb/1p2p1N1/1q2P3/1P4PB/2P3KP/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rf8+ Qxf8 2. Qxh7# * [Event "?"] [Site "Bratto"] [Date "2013.30.4"] [Round "?"] [White "Michal Olszewski"] [Black "Mladen Palac"] [Result "*"] [PlyCount "17"] [FEN "2r5/2k4p/1p2pp2/1P2qp2/8/Q5P1/4PP1P/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qe7+ Kb8 2. Qa7# * [Event "?"] [Site "Legnica"] [Date "2013.5.5"] [Round "?"] [White "Gudmundur Kjartansson"] [Black "Sergey Fedorchuk"] [Result "*"] [PlyCount "17"] [FEN "6k1/4q1b1/p1p1p1Q1/1r4N1/4p3/1P5R/5P2/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rh8+ Kxh8 2. Qh7# * [Event "?"] [Site "Legnica"] [Date "2013.13.5"] [Round "?"] [White "Vlad-Cristian Jianu"] [Black "Burak Firat"] [Result "*"] [PlyCount "17"] [FEN "6k1/p2rR1p1/1p1r1p1R/3P4/4QPq1/1P6/P5PK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Rh8+ Kxh8 2. Re8# * [Event "?"] [Site "Haguenau"] [Date "2013.5.6"] [Round "?"] [White "Hichem Hamdouchi"] [Black "Samy Shoker"] [Result "*"] [PlyCount "17"] [FEN "7R/1bpkp3/p2pp3/3P4/4B1q1/2Q5/4NrP1/3K4 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qc6+ Bxc6 2. dxc6# * [Event "?"] [Site "Meissen"] [Date "2013.5.6"] [Round "?"] [White "Sasa Martinovic"] [Black "Vitezslav Rasik"] [Result "*"] [PlyCount "17"] [FEN "1r3r1k/qp5p/3N4/3p2Q1/p6P/P7/1b6/1KR3R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qg8+ Rxg8 2. Nf7# * [Event "?"] [Site "Belgrade"] [Date "2013.23.7"] [Round "?"] [White "Maria Kursova"] [Black "Tijana Blagojevic"] [Result "*"] [PlyCount "17"] [FEN "1r3k2/4R3/1p4Pp/p1pN1p2/2Pn1K2/1P6/1P6/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. g7+ Kg8 2. Nf6# * [Event "?"] [Site "Belgrade"] [Date "2013.24.7"] [Round "?"] [White "Ekaterini Pavlidou"] [Black "Bojana Bejatovic"] [Result "*"] [PlyCount "17"] [FEN "3rr2k/pp1b2b1/4q1pp/2Pp1p2/3B4/1P2QNP1/P6P/R4RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Qxh6+ Kg8 2. Qxg7# * [Event "?"] [Site "Belgrade"] [Date "2013.26.7"] [Round "?"] [White "Cristina Adela Foisor"] [Black "Maja Velickovski-Kostic"] [Result "*"] [PlyCount "17"] [FEN "3r2k1/6pp/1nQ1R3/3r4/3N2q1/6N1/n4PPP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. Re8+ Kf7 2. R1e7# * [Event "?"] [Site "Belgrade"] [Date "2013.2.8"] [Round "?"] [White "Ana Srebrnic"] [Black "Laura Rogule"] [Result "*"] [PlyCount "17"] [FEN "5bk1/6p1/5PQ1/pp4Pp/2p4P/P2r4/1PK5/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 2"] 1. f7+ Kh8 2. Qxh5# * pychess-1.0.0/learn/puzzles/lasker.olv0000644000175000017500000010031113365545272017066 0ustar varunvarun--- authors: - Lasker, Emanuel source: Lasker's Chess Magazine date: 1906 algebraic: white: [Kc1, Qg2, Ra4, Sf3, Sd4, Pg5, Pf2] black: [Kf4, Qa8, Be7, Sg7, Pd6, Pc3] stipulation: "#2" solution: | "1...Nf5 2.Ne2#/Ne6# 1...Qe4 2.Qg3# 1.Qh2+?? 1...Kg4 2.Qh4# but 1...Ke4! 1.Qh3?? (2.Ne2#/Ne6#/Qh4#) 1...Nf5 2.Qxf5#/Ne2#/Ne6# 1...Qxa4 2.Qh4# 1...Qc8 2.Ne2#/Ne6#/Nc6# 1...Qh8 2.Ne2#/Ne6#/Nf5#/Nc2#/Nc6#/Nb3#/Nb5# 1...Qe4 2.Ne2#/Qh4#/Qg3# 1...Qxf3 2.Nxf3# 1...Bxg5 2.Ne2#/Ne6# but 1...Ke4! 1.Nh4! (2.Ng6#) 1...Qe8 2.Nc6# 1...Qe4 2.Qg3# 1...Qf3/Qxg2 2.Ndxf3#" keywords: - Flight giving and taking key --- authors: - Keidanski, Theodore Hermann - Lasker, Emanuel source: Lasker's Chess Magazine date: 1908-01 algebraic: white: [Kd8, Rd4, Ra8, Pg5] black: [Kc6, Pf5] stipulation: "#4" solution: | "1.Rd4-f4 ! zugzwang. 1...Kc6-d6 2.Rf4*f5 threat: 3.Ra8-a6 # 2...Kd6-e6 3.Ra8-a5 threat: 4.Rf5-f6 # 2...Kd6-c6 3.Ra8-b8 zugzwang. 3...Kc6-d6 4.Rb8-b6 # 1...Kc6-b6 2.Ra8-b8 + 2...Kb6-c6 3.Rf4*f5 zugzwang. 3...Kc6-d6 4.Rb8-b6 # 2...Kb6-a6 3.Rf4-a4 # 2...Kb6-a7 3.Kd8-c8 threat: 4.Rf4-a4 # 3.Kd8-c7 threat: 4.Rf4-a4 # 3.Rb8-b1 threat: 4.Rf4-a4 # 3.Rb8-b2 threat: 4.Rf4-a4 # 3.Rb8-b3 threat: 4.Rf4-a4 # 2...Kb6-c5 3.Kd8-d7 zugzwang. 3...Kc5-d5 4.Rb8-b5 # 2...Kb6-a5 3.Kd8-d7 zugzwang. 3...Ka5-a6 4.Rf4-a4 # 3.Kd8-e8 zugzwang. 3...Ka5-a6 4.Rf4-a4 # 3.Kd8-c8 zugzwang. 3...Ka5-a6 4.Rf4-a4 # 3.Kd8-e7 zugzwang. 3...Ka5-a6 4.Rf4-a4 # 3.Kd8-c7 zugzwang. 3...Ka5-a6 4.Rf4-a4 # 3.Rb8-b1 zugzwang. 3...Ka5-a6 4.Rf4-a4 # 3.Rb8-b2 zugzwang. 3...Ka5-a6 4.Rf4-a4 # 3.Rb8-b3 zugzwang. 3...Ka5-a6 4.Rf4-a4 # 3.g5-g6 zugzwang. 3...Ka5-a6 4.Rf4-a4 # 3.Rf4-f1 threat: 4.Rf1-a1 # 3.Rf4-f2 threat: 4.Rf2-a2 # 1...Kc6-c5 2.Kd8-c7 threat: 3.Ra8-a5 # 2...Kc5-d5 3.Ra8-e8 zugzwang. 3...Kd5-c5 4.Re8-e5 # 2...Kc5-b5 3.Ra8-a1 zugzwang. 3...Kb5-c5 4.Ra1-a5 # 3.Ra8-a2 zugzwang. 3...Kb5-c5 4.Ra2-a5 # 3.Ra8-a3 zugzwang. 3...Kb5-c5 4.Ra3-a5 # 3.Ra8-a4 zugzwang. 3...Kb5-c5 4.Rf4*f5 # 4.Ra4-a5 # 3.Ra8-a7 zugzwang. 3...Kb5-c5 4.Ra7-a5 # 3.Kc7-d6 zugzwang. 3...Kb5-b6 4.Rf4-b4 # 3.g5-g6 zugzwang. 3...Kb5-c5 4.Ra8-a5 # 3.Rf4-a4 threat: 4.Ra8-a5 # 1...Kc6-b7 2.Rf4*f5 zugzwang. 2...Kb7-b6 3.Kd8-c8 zugzwang. 3...Kb6-c6 4.Ra8-a6 # 2...Kb7*a8 3.Kd8-c7 threat: 4.Rf5-a5 # 2...Kb7-c6 3.Ra8-b8 zugzwang. 3...Kc6-d6 4.Rb8-b6 # 1...Kc6-d5 2.Kd8-d7 threat: 3.Ra8-a5 # 2...Kd5-e5 3.Ra8-a4 zugzwang. 3...Ke5-d5 4.Rf4*f5 # 4.Ra4-a5 # 3.Rf4-a4 threat: 4.Ra8-a5 # 3.Rf4-b4 threat: 4.Ra8-a5 # 2...Kd5-c5 3.Ra8-b8 zugzwang. 3...Kc5-d5 4.Rb8-b5 # 1...Kc6-b5 2.Kd8-c7 zugzwang. 2...Kb5-c5 3.Ra8-a5 #" comments: - 11528 Deutsche Schachzeitung [1908] --- authors: - Lasker, Emanuel source: Checkmate source-id: 285 date: 1903-06 algebraic: white: [Ke5, Rb1, Ra3, Bd2, Bb3] black: [Kg2, Pg5] stipulation: "#3" solution: | "1.Rb1-b2 ! threat: 2.Bd2*g5 + 2...Kg2-g1 3.Ra3-a1 # 2...Kg2-g3 3.Bb3-d1 # 3.Bb3-e6 # 2...Kg2-f3 3.Bb3-e6 # 3.Bb3-d1 # 2...Kg2-h3 3.Bb3-d1 # 3.Bb3-e6 # 2...Kg2-h1 3.Ra3-a1 # 2...Kg2-f1 3.Ra3-a1 # 1...Kg2-g3 2.Bd2-e1 + 2...Kg3-h3 3.Bb3-d1 # 3.Bb3-e6 # 2...Kg3-g4 3.Bb3-d1 # 2...Kg3-f3 3.Bb3-d1 # 3.Bb3-e6 # 1...Kg2-f3 2.Bd2-e1 threat: 3.Bb3-d1 # 3.Bb3-e6 # 2...Kf3-g4 3.Bb3-d1 # 1...Kg2-h3 2.Bd2-e1 threat: 3.Bb3-d1 # 3.Bb3-e6 # 2...Kh3-g4 3.Bb3-d1 # 2...g5-g4 3.Bb3-e6 #" keywords: - Miniature comments: - also in The Philadelphia Inquirer, 11 August 1907 --- authors: - Lasker, Emanuel source: Checkmate date: 1903 algebraic: white: [Kf3, Qa4, Rd6, Ba3, Pc4] black: [Ke5, Bc8, Pf5, Pf4, Pd5, Pc7] stipulation: "#3" solution: | "1.Qa4-b5 ! threat: 2.Qb5*d5 # 1...Ke5-d4 2.Qb5*d5 + 2...Kd4-c3 3.Qd5-d3 # 1...c7-c5 2.Qb5*c5 threat: 3.Qc5*d5 # 3.Ba3-b2 # 2...Bc8-b7 3.Ba3-b2 # 2...Bc8-e6 3.Ba3-b2 # 1...c7-c6 2.Qb5-b2 + 2...d5-d4 3.Qb2*d4 # 3.Qb2-e2 # 2.Qb5-c5 threat: 3.Ba3-b2 # 1...c7*d6 2.Ba3-b2 + 2...Ke5-e6 3.Qb5-e8 # 1...Bc8-b7 2.c4*d5 threat: 3.Qb5-b2 # 2...Ke5-d4 3.Ba3-b2 # 2...Bb7*d5 + 3.Qb5*d5 # 2...c7-c5 3.d5*c6 ep. # 2...c7*d6 3.Ba3-b2 # 1...Bc8-e6 2.Qb5-b2 + 2...d5-d4 3.Qb2*d4 #" --- authors: - Lasker, Emanuel source: Schweizerische Schachzeitung date: 1900-10 algebraic: white: [Ke1, Qc8, Rh1, Ra1, Se2] black: [Ke4] stipulation: "#2" solution: | "1.Qc6+?? 1...Ke3/Kd3 2.Ra3#/Rh3# 1...Ke5 2.Ra5#/Rh5# but 1...Kf5! 1.Qf5+?? 1...Ke3 2.Ra3#/Rh3# but 1...Kxf5! 1.Qe6+! 1...Kf3 2.O-O# 1...Kd3 2.O-O-O#" keywords: - Checking key - Flight taking key - No pawns comments: - Süddeutsche Schachzeitung [1958] - under the pseudonym Dr.Krüger --- authors: - Lasker, Emanuel source: Lasker's Chess Magazine date: 1906 algebraic: white: [Ka1, Qg2, Ra4, Sf3, Sd4, Pf2] black: [Kf4, Bf8, Bc6, Sg7, Ph5, Pf6, Pd6] stipulation: "#2" solution: | "1...f5 2.Ne2#/Ne6#/Nxc6# 1...Be4 2.Qg3# 1...Nf5 2.Ne2#/Ne6# 1.Qh2+?? 1...Kg4 2.Qh4#/Qg3# but 1...Ke4! 1.Qh3?? (2.Ne2#/Ne6#/Nxc6#/Qh4#) 1...d5/Bd5 2.Qh4#/Ne2#/Ne6# 1...Nf5 2.Qxf5#/Ne2#/Ne6# 1...Ne6 2.Qh4#/Qf5#/Ne2#/Nxe6# 1...Be4 2.Qh4#/Qg3#/Ne2# 1...Bxf3 2.Nxf3# 1...Bd7 2.Ne2#/Ne6#/Nc6#/Nb5# 1...Bb5 2.Qh4#/Ne2#/Ne6#/Nxb5# 1...Bxa4 2.Qh4# but 1...Ke4! 1.Nh4! (2.Nxc6#/Ng6#) 1...Ke5/d5/Nf5/Ne6/Bd5/Bb5/Bxa4 2.Ng6# 1...Be4 2.Qg3# 1...Bf3/Bxg2 2.Ndxf3# 1...Be8 2.Nc6#" keywords: - Model mates - Flight giving and taking key --- authors: - Lasker, Emanuel source: Sport und Neuburger Wochenschach date: 1912 algebraic: white: [Ka3, Qh2, Rb3, Pg7, Pg3] black: [Ka5, Bf1, Pe3, Pd4, Pe5, Pa6, Pb7] stipulation: "#3" solution: | "1.Qh2-h1 ! threat: 2.Qh1*b7 threat: 3.Qb7-b4 # 3.Qb7-b6 # 3.Qb7-c7 # 2...Bf1-b5 3.Qb7-c7 # 1...e5-e4 2.Rb3*b7 zugzwang. 2...Bf1-b5 3.Qh1-e1 # 2...Bf1-h3 3.Qh1-e1 # 2...Bf1-g2 3.Qh1-e1 # 3.Qh1-h5 # 2...Bf1-c4 3.Qh1-e1 # 2...Bf1-d3 3.Qh1-e1 # 2...Bf1-e2 3.Qh1-e1 # 2...e3-e2 3.Qh1-h5 # 2...d4-d3 3.Qh1-h5 # 1...b7-b6 2.Rb3-b5 + 2...Bf1*b5 3.Qh1-e1 # 2...Ka5*b5 3.Qh1-d5 # 2...a6*b5 3.Qh1-a8 #" --- authors: - Gabor, Karl - Lasker, Emanuel source: «64» date: 1936 algebraic: white: [Ka2, Qh3, Rc6, Se5, Ph6, Pg4, Pb4] black: [Ke4, Pg5, Pf7, Pb6, Pb5] stipulation: "#3" solution: | "1.Rc6-f6 ! threat: 2.Se5-c6 threat: 3.Qh3-f3 # 2...Ke4-d5 3.Qh3-d3 # 1...Ke4*e5 2.Qh3-d3 zugzwang. 2...Ke5*f6 3.Qd3-d6 #" --- authors: - Lasker, Emanuel source: Lasker's Chess Magazine date: 1906 algebraic: white: [Kc1, Qg2, Ra4, Sf3, Sd4, Pg5, Pf2] black: [Kf4, Qa8, Sg7, Pe7, Pd6, Pc3] stipulation: "#2" solution: | "1...Nf5 2.Ne2#/Ne6# 1...Qe4 2.Qg3# 1.Qh2+?? 1...Kg4 2.Qh4# but 1...Ke4! 1.Qh3?? (2.Ne2#/Ne6#/Qh4#) 1...Nf5 2.Qxf5#/Ne2#/Ne6# 1...Qxa4 2.Qh4# 1...Qc8 2.Ne2#/Ne6#/Nc6# 1...Qh8 2.Ne2#/Ne6#/Nf5#/Nc2#/Nc6#/Nb3#/Nb5# 1...Qe4 2.Ne2#/Qh4#/Qg3# 1...Qxf3 2.Nxf3# but 1...Ke4! 1.Nh4! (2.Ng6#) 1...Qe8 2.Nc6# 1...Qe4 2.Qg3# 1...Qf3/Qxg2 2.Ndxf3#" keywords: - Flight giving and taking key --- authors: - Teichmann, Richard - Lasker, Emanuel source: Womanhood date: 1900 algebraic: white: [Ke6, Qa4, Bb6, Sf3, Se1, Ph2, Pd6, Pd5, Pd4] black: [Ke4, Bf1, Ph5, Ph3, Pg6, Pe2] stipulation: "#3" solution: | "1.d6-d7 ! threat: 2.d5-d6 threat: 3.d4-d5 # 1.Qa4-a3 ! threat: 2.Sf3-d2 + 2...Ke4-f4 3.Qa3-g3 # 2.Sf3-g5 + 2...Ke4-f4 3.Qa3-g3 # 2.Qa3-c1 threat: 3.Sf3-g5 # 1...Bf1-g2 2.Sf3-d2 + 2...Ke4-f4 3.Qa3-g3 # 2.Sf3-g5 + 2...Ke4-f4 3.Qa3-g3 # 1...Ke4-f4 2.Qa3-c1 + 2...Kf4-g4 3.Qc1-g5 # 2...Kf4-e4 3.Sf3-g5 # 1...h5-h4 2.Qa3-c1 threat: 3.Sf3-g5 #" --- authors: - Lasker, Emanuel source: Hampstead and Highgate Express date: 1894 algebraic: white: [Kb3, Rf3, Sg4, Sd4, Pe5, Pc3, Pb4] black: [Kd5] stipulation: "#3" solution: | "1.Kb3-c2 ! threat: 2.Rf3-f4 zugzwang. 2...Kd5-c4 3.Sg4-e3 # 1...Kd5-e4 2.c3-c4 zugzwang. 2...Ke4*d4 3.Rf3-f4 #" --- authors: - Gabor, Karl - Lasker, Emanuel source: «64» date: 1936 algebraic: white: [Kg2, Qf2, Sc5, Sb2, Pf4, Pe5, Pe2] black: [Kd5, Pg4, Pf5, Pc6, Pb6, Pb4, Pb3] stipulation: "#4" solution: | "1.Qf2-e3 ! threat: 2.Qe3-d3 + 2...Kd5*c5 3.Qd3-c4 # 3.Sb2-a4 # 1...b6-b5 2.Qe3-g1 zugzwang. 2...g4-g3 3.e2-e3 zugzwang. 3...Kd5*c5 4.e3-e4 # 1...b6*c5 2.Qe3*b3 + 2...Kd5-d4 3.Qb3-d3 # 2...c5-c4 3.Qb3*c4 # 2...Kd5-e4 3.Sb2-d1 threat: 4.Qb3-c4 # 3...Ke4*f4 4.Qb3-e3 # 3...Ke4-d4 4.Qb3-d3 #" --- authors: - Gabor, Karl - Lasker, Emanuel source: «64» date: 1936 algebraic: white: [Kd1, Qg8, Rf3, Sc6, Pc4, Pb2] black: [Kf6, Bc1, Pg3, Pf5, Pf4, Pd4, Pd2, Pc5] stipulation: "#4" solution: | "1.Sc6-e5 ! threat: 2.Qg8-f7 + 2...Kf6-g5 3.Qf7-g6 + 3...Kg5-h4 4.Qg6-h6 # 2...Kf6*e5 3.Qf7-e7 # 1...Kf6*e5 2.Qg8-g7 + 2...Ke5-e6 3.Rf3-a3 threat: 4.Ra3-a6 # 3.Rf3-b3 threat: 4.Rb3-b6 # 2...Ke5-e4 3.Qg7-b7 + 3...Ke4-e5 4.Qb7-e7 # 3.Qg7-e7 + 3...Ke4*f3 4.Qe7-e2 # 2...Ke5-d6 3.Rf3-a3 threat: 4.Ra3-a6 #" --- authors: - Lasker, Emanuel source: Lasker's Chess Magazine date: 1904 algebraic: white: [Ke6, Qa4, Bb6, Sf3, Se1, Ph2, Pd6, Pd5, Pd4] black: [Ke4, Bf1, Ph5, Ph3, Pf6, Pe2] stipulation: "#3" solution: | "1.d6-d7 ! threat: 2.d5-d6 threat: 3.d4-d5 #" --- authors: - Lasker, Emanuel source: Common Sense in Chess date: 1896 algebraic: white: [Ke5, Ph5, Pf6] black: [Kf8, Ph6] stipulation: + solution: | 1.Ke5-e4 Kf8-e8 2.Ke4-f4 Ke8-f8 3.Kf4-e5 Kf8-f7 4.Ke5-f5 Kf7-f8 5.Kf5-g6 Kf8-g8 6.Kg6*h6 Kg8-f7 7.Kh6-g5 3...Kf8-e8 4.Ke5-e6 Ke8-f8 5.f6-f7 Kf8-g7 6.Ke6-e7 Kg7-h7 7.Ke7-f6 1.Ke5-f4 ! {wins, too} comments: - | More about this endgame can be found here: http://www.chesshistory.com/winter/winter51.html (Fahrni v Alapin) --- authors: - Lasker, Emanuel source: algebraic: white: [Kh6, Bd2, Pg6] black: [Kf8, Bb2] stipulation: + solution: 1. Kh7 Bd4 2. Bh6+ Ke8 3. Bg7 Bc5 4. Bb2 Bf8 5. Ba3 1-0 --- authors: - Lasker, Emanuel source: Lasker's Chess Magazine algebraic: white: [Kd5, Bd4, Pf5, Pe5] black: [Kd7, Rd1] stipulation: + solution: | 1.e5-e6+ Kd7-e8 2.f5-f6 Rd1-f1 3.Kd5-e4 Ke8-f8 4.Bd4-e5 Kf8-e8 5.Be5-f4 Ke8-f8 6.Ke4-f5 Kf8-e8{ }7.Kf5-g5 Rf1-g1+ 8.Kg5-h6 Rg1-f1 9.Bf4-g5 Rf1-e1 10.Kh6-g7 Re1*e6 11.f6-f7+ --- authors: - Lasker, Emanuel source: Deutsches Wochenschach source-id: 92 date: 1890-07-13 algebraic: white: [Kc8, Rh7, Pc7] black: [Ka5, Rc2, Ph2] stipulation: + solution: | "1.Kc8-d7 ? Rc2-d2+ 2.Kd7-c6 Rd2-c2+ 3.Kc6-b7 Rc2-b2+ 1.Kc8-b7 {or Kb8} Rc2-b2+ 2.Kb7-a7 Rb2-c2 3.Rh7-h5+ Ka5-a4 4.Ka7-b6 {or Kb7} Rc2-b2+ 5.Kb6-a6 Rb2-c2 6.Rh5-h4+ Ka4-a3 7.Ka6-b6 Rc2-b2+ 8.Kb6-a5 Rb2-c2 9.Rh4-h3+ Ka3-a2 10.Rh3*h2 ! 10.Ka5-b6 ? Ka2-b1 ! 11.Rh3*h2 Rc2*h2 12.c7-c8=Q Rh2-b2+ 6...Ka4-b3 7.Ka6-b7" --- authors: - Lasker, Emanuel source: Deutsches Wochenschach source-id: version date: 1890 algebraic: white: [Ka8, Rh7, Pc7] black: [Ka5, Rc2, Ph2] stipulation: + solution: | 1.Ka8-b7 {or Kb8} Rc2-b2+ 2.Kb7-a7 Rb2-c2 3.Rh7-h5+ Ka5-a4 ! 4.Ka7-b7 Rc2-b2+ 5.Kb7-a6 Rb2-c2 6.Rh5-h4+ Ka4-a3 7.Ka6-b6 Rc2-b2+ 8.Kb6-a5 Rb2-c2 9.Rh4-h3+ Ka3-a2 10.Rh3*h2 ! Rc2*h2 11.c7-c8=Q --- authors: - Lasker, Emanuel source: Deutsches Wochenschach source-id: 92 version date: 1890-07-13 algebraic: white: [Kc8, Rf7, Pc7] black: [Ka6, Rc2, Pf2] stipulation: + solution: | 1. Kb8 Rb2+ 2. Ka8 Rc2 3. Rf6+ Ka5 4. Kb8 Rb2+ 5. Ka7 Rc2 6. Rf5+ Ka4 7. Kb7 Rb2+ 8. Ka6 Rc2 9. Rf4+ Ka3 10. Kb6 Rb2+ 11. Ka5 Rc2 12. Rf3+ Kb2 13. Rxf2 Rxf2 14. c8Q 1-0 --- authors: - Lasker, Emanuel source: Deutsches Wochenschach date: 1890 algebraic: white: [Kc8, Rh7, Pc7] black: [Ka6, Rc2, Ph2] stipulation: + solution: | 1. Kb8 Rb2+ 2. Ka8 Rc2 3. Rh6+ Ka5 4. Kb7 Rb2+ 5. Ka7 Rc2 6. Rh5+ Ka4 7. Kb6 Rb2+ 8. Ka6 Rc2 9. Rh4+ Ka3 10. Kb6 Rb2+ 11. Ka5 Rc2 12. Rh3+ Ka2 13. Rxh2 1-0 --- authors: - Lasker, Emanuel source: The London Fortnightly date: 1892 algebraic: white: [Kf1, Pf7, Pa5] black: [Kh3, Rg4] stipulation: + solution: | 1. f8=R $1 (1. f8=Q $2 Rf4+ 2. Qxf4) 1... Ra4 2. Ra8 Kg4 3. Ke2 Kf5 4. a6 Kg6 5. Kd3 Kf7 6. Kc3 Kg7 7. Kb3 Ra5 8. Kb4 Ra1 9. Kb5 Rb1+ 10. Kc6 Ra1 11. Kb7 Rb1+ 12. Ka7 Kf7 13. Rb8 Ra1 14. Rb6 1-0 --- authors: - Lasker, Emanuel source: The London Fortnightly date: 1892 algebraic: white: [Kg6, Se6, Pf6] black: [Ka6, Rc6] stipulation: + solution: | 1. f7 Rxe6+ (1... Rc8 2. Nc7+ Kb7 3. Ne8 Rc6+ 4. Kg7) 2. Kg5 Re5+ 3. Kg4 Re4+ 4. Kg3 Re3+ 5. Kf2 1-0 --- authors: - Lasker, Emanuel source: Dresdner Schachblätter date: 1894 algebraic: white: [Kg3, Rb1, Sd6, Sa2, Pc2] black: [Kc5, Rd5, Rd1, Se5, Sa5] stipulation: "=" solution: | 1. Rb5+ Kxd6 2. Rxd5+ Rxd5 3. Nc3 Nac4 $1 4. Nxd5 Kxd5 5. c3 Ke4 1/2-1/2 --- authors: - Lasker, Emanuel source: Dresdner Schachblätter date: 1894 algebraic: white: [Ka3, Rd1, Sf6, Sc2, Pg2] black: [Ke5, Rf5, Rf1, Sg5, Sc5] stipulation: "=" solution: | 1. Rd5+ Kxf6 2. Rxf5+ Rxf5 3. Ne3 Nce4 4. Nxf5 Kxf5 5. g4+ 1/2-1/2 --- authors: - Lasker, Emanuel source: Dresdner Schachblätter date: 1894 algebraic: white: [Ke1, Rb5, Sd8, Sa4, Pe4] black: [Kc7, Rd7, Rd3, Se7, Sa7] stipulation: "=" solution: | 1. Rb7+ Kxd8 2. Rxd7+ Rxd7 3. Nc5 Nac6 4. Nxd7 Kxd7 5. e5 $1 Nd4 6. e6+ $1 1/2-1/2 --- authors: - Lasker, Emanuel source: Dresdner Schachblätter date: 1894 algebraic: white: [Kg6, Rb8, Sd3, Sa7, Pc5] black: [Kc4, Rd8, Rd4, Se4, Sa4] stipulation: "=" solution: 1. Rb4+ Kxd3 2. Rxd4+ Rxd4 3. Nc6 1/2-1/2 --- authors: - Lasker, Emanuel source: The Philadelphia Times source-id: 1389 date: 1894-04-08 algebraic: white: [Kb1, Sh6, Sf5, Pg7, Pf7] black: [Kh7, Qd2, Rg2, Rf8, Pa3] stipulation: + solution: | "1. Pg7*f8=S+ Kh7-h8 2. Sf8-g6+ Rg2*g6 3. Pf7-f8=Q+ Kh8-h7 4. Qf8-e7+ Kh7-h8 5. Sh6-f7+ Kh8-h7 6. Sf7-e5+ Kh7-g8 7. Qe7-f7+ Kg8-h8 8. Se5*g6#" --- authors: - Lasker, Emanuel source: date: 1895 algebraic: white: [Kf3, Pf6, Pe6] black: [Ke8, Pd4, Pc7] stipulation: + solution: | "1. Kf4 $1 Kf8 2. Ke4 c5 3. Kd3 Ke8 4. e7 Kd7 5. Kc4 Ke8 6. Kxc5 d3 7. Kd6 Kf7 ( 7... d2 8. Ke6 d1=Q 9. f7#) 8. Kd7 d2 9. e8=Q+ 1-0" --- authors: - Lasker, Emanuel source: date: 1895 algebraic: white: [Ka4, Rb7, Bd2, Pc6, Pb5] black: [Kd8, Rb6, Bc7, Ph3, Pg4, Pf6, Pa7] stipulation: "=" solution: 1. Rxc7 Kxc7 2. Bf4+ Kc8 3. Ka5 Rb7 4. cxb7+ Kxb7 1/2-1/2 --- authors: - Lasker, Emanuel source: Санкт-Петербургские ведомости source-id: version date: 1896-04-19 algebraic: white: [Kh1, Qa5, Rc1, Ph3, Pg2, Pb7] black: [Kb8, Qe7, Rd8, Bg3, Pa7] stipulation: + solution: 1.Rc1-c8+ Rd8*c8 2.Qa5*a7+ Kb8*a7 3.b7*c8=S+ keywords: - White underpromotion comments: - anticipated 415285 --- authors: - Lasker, Emanuel source: Санкт-Петербургские ведомости source-id: version date: 1896-04-19 algebraic: white: [Kh1, Qb6, Rc1, Ph3, Pg2, Pb7] black: [Kb8, Qe7, Re8, Bh2, Ph4, Pg3] stipulation: + solution: 1.Rc1-c8+ Re8*c8 2.Qb6-a7+ Kb8*a7 3.b7*c8=S+ Ka7-b7 4.Sc8*e7 comments: - anticipated 415285 --- authors: - Lasker, Emanuel source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Ke8, Sh8, Sf8, Pc3] black: [Kf1, Sb1] stipulation: + solution: 1. c4 Nd2 2. c5 Nb3 3. c6 Nd4 4. c7 Nb5 5. c8=N $1 1-0 --- authors: - Lasker, Emanuel - Reichhelm, Gustavus Charles source: Chicago Tribune date: 1901-05-26 algebraic: white: [Ka1, Pf4, Pd5, Pd4, Pa4] black: [Ka7, Pf5, Pd6, Pa5] stipulation: "+" solution: | "{version by Reichhelm} 1.Ka1-b2 ? Ka7-a8 ! 1.Ka1-b1 ! Ka7-b7 2.Kb1-c1 ! Kb7-c8 3.Kc1-d2 ! Kc8-b7 4.Kd2-c3 ! Kb7-c7 5.Kc3-d3 ! Kc7-b7 6.Kd3-e3 ! Kb7-c7 7.Ke3-f3 Kc7-d7 8.Kf3-g3 Kd7-e7 9.Kg3-h4 Ke7-f6 10.Kh4-h5 1...Ka7-b6 2.Kb1-c2 !" comments: - also in The Philadelphia Times (no. 2074), 26 May 1901 --- authors: - Lasker, Emanuel source: Manchester Evening News date: 1901 algebraic: white: [Ka3, Pf5, Pd5, Pd4, Pa4] black: [Ka8, Pf6, Pd6, Pa5] stipulation: + solution: | 1. Kb2 (1. Kb3 $2 Ka7) 1... Ka7 (1... Kb8 2. Kc2 Kc8 3. Kd2 Kd8 4. Kc3 Kc7 5. Kd3) (1... Kb7 2. Kc3 Kc7 3. Kd3) 2. Kb3 Ka6 3. Kc2 Kb6 4. Kd2 Kc7 5. Kd3 1-0 --- authors: - Lasker, Emanuel source: Manchester Evening News date: 1901 algebraic: white: [Kb1, Qc2, Ba1, Ph4, Ph3, Pa2] black: [Kh7, Qg6, Ph5, Pg7, Pc5, Pc3, Pb4, Pa3] stipulation: "=" solution: | 1. Bxc3 (1. Kc1 $2 Qxc2+ 2. Kxc2 Kh6 3. Bxc3 bxc3 4. Kxc3 g5 5. hxg5+ Kxg5) 1... bxc3 2. Ka1 c4 3. Qe4 c2 4. Qxg6+ (4. Qxc2 $2 Qd3) 4... Kxg6 1/2-1/2 keywords: - Digits --- authors: - Lasker, Emanuel source: Manchester Evening News date: 1901 algebraic: white: [Kb5, Qa5, Rb7, Bc6, Sf5, Ph7, Pc7] black: [Kc8, Qg7, Re8, Rd4, Bd8, Bd1, Sd7, Sa8, Pa7] stipulation: "=" solution: | 1. Rb8+ (1. cxd8=Q+ $1) 1... Nxb8 2. Bb7+ Kxb7 3. Nd6+ Rxd6 4. Qxa7+ Kxa7 5. c8=N+ Kb7 6. Nxd6+ Kc7 7. Nxe8+ 1/2-1/2 --- authors: - Lasker, Emanuel source: Manchester Evening News date: 1901 algebraic: white: [Kd2, Qd8, Rb1, Ra8, Bg1, Pd4, Pd3] black: [Ka6, Qc6, Rb4, Bd7, Se8, Pd6, Pd5, Pc5, Pa7] stipulation: + solution: | 1. Ra1+ Ra4 2. dxc5 Rxa1 3. Rxa7+ Kxa7 4. Qxd7+ $1 Qxd7 5. c6+ Rxg1 6. cxd7 Rg8 7. d8=Q 1-0 --- authors: - Lasker, Emanuel source: Manchester Evening News date: 1901 algebraic: white: [Kd2, Qd8, Rb1, Ra8, Be3, Pd4, Pd3] black: [Ka6, Qc6, Rb4, Bd7, Se8, Pd6, Pd5, Pc5, Pa7] stipulation: + solution: | "1. Ra1+ Ra4 2. dxc5 Rxa1 (2... d4 3. Rxa4+ Qxa4 4. Qb6#) 3. Rxa7+ Kxa7 4. Qxd7+ Qxd7 5. c6+ Ka6 6. cxd7 1-0" --- authors: - Lasker, Emanuel source: Manchester Evening News date: 1901 algebraic: white: [Ka3, Pf4, Pd5, Pd4, Pa4] black: [Ka8, Pf5, Pd6, Pa5] stipulation: + solution: | 1. Kb2 $1 Ka7 (1... Kb8 2. Kc2 Kc8 3. Kd2 Kd8 4. Kc3 Kc7 5. Kd3 Kb7 (5... Kc8 6. Kc4) 6. Ke3 Kc7 7. Kf3 Kd7 8. Kg3 Ke7 9. Kh4 Kf7 10. Kh5) 2. Kb3 Kb7 (2... Ka6 3. Kc2) 3. Kc3 Kc7 4. Kd3 Kd7 (4... Kb6 5. Ke3) 5. Kc4 1-0 --- authors: - Lasker, Emanuel source: Manchester Evening News date: 1901 algebraic: white: [Kb5, Qa5, Rb7, Bc6, Se4, Ph7, Pc7] black: [Kc8, Qg7, Re8, Rd4, Bd8, Bd1, Sd7, Sa8, Pa7] stipulation: "=" solution: | 1. Rb8+ Nxb8 2. Bb7+ Kxb7 3. Nd6+ Rxd6 4. Qxa7+ $1 Kxa7 5. c8=N+ Kb7 6. Nxd6+ Ka7 7. Nc8+ 1/2-1/2 --- authors: - Lasker, Emanuel source: Schweizerische Schachzeitung source-id: 27 date: 1901 algebraic: white: [Ke3, Sf4, Ph4, Pg3] black: [Kh6, Bg4] stipulation: + solution: | 1. Ke4 Bd7 (1... Bc8 2. Nd5 Kh5 3. Kf4 Be6 (3... Ba6 4. Nf6+ Kg6 5. Ne8 Kh5 6. Ng7+ Kg6 7. Nf5) 4. Nf6+ Kg6 5. Ne8 Bd7 6. h5+) (1... Bd1 2. Kf5 Bc2+ 3. Kg4 Bd1+ 4. Kh3) 2. Nd5 Bc8 3. Kf4 Kh5 4. Ne3 Ba6 5. g4+ Kxh4 6. Nf5+ Kh3 7. g5 Bc4 8. g6 Bd5 9. Kg5 Bc4 10. Kf6 Bb3 11. Nh6 Bc2 12. g7 Bh7 13. Nf7 Kg4 14. Ng5 Bg8 15. Kg6 Kf4 16. Nf7 Kg3 17. Nh6 Ba2 18. Nf7 Bb1+ 19. Kh6 1-0 --- authors: - Capablanca Y Graupera, José Raúl - Lasker, Emanuel source: Vossische Zeitung date: 1914-07-26 algebraic: white: [Kd8, Rb8, Sa6, Pb5] black: [Ka7, Sd5, Sc7, Pb6] stipulation: + solution: | 1. Nxc7 Nxc7 2. Ra8+ $3 Nxa8 (2... Kxa8 3. Kxc7 Ka7 4. Kc6) 3. Kc8 Nc7 4. Kxc7 Ka8 5. Kxb6 1-0 --- authors: - Capablanca Y Graupera, José Raúl - Lasker, Emanuel source: Vossische Zeitung source-id: vesion date: 1914-07-26 algebraic: white: [Kd7, Rd8, Pb5] black: [Ka7, Sc7, Sa8, Pb6] stipulation: + solution: 1. Rxa8+ Nxa8 2. Kc8 Nc7 3. Kxc7 Ka8 4. Kxb6 1-0 --- authors: - Lasker, Emanuel source: The British Chess Magazine date: 1921 algebraic: white: [Ka4, Ph4, Pf4, Pe3, Pd4, Pc5, Pb4, Pa5] black: [Ka6, Ph5, Pf6, Pf5, Pe4, Pd5, Pc6, Pa7] stipulation: + solution: | 1. Kb3 $1 (1. b5+ $2 cxb5+ 2. Kb4 Kb7 3. Kxb5 a6+) 1... Kb7 (1... Kb5 2. a6 Kxa6 3. Ka4) 2. a6+ Kxa6 (2... Kc7 3. Ka4 Kd7 4. b5 Kc7 5. bxc6 Kc8 6. c7 $1 Kxc7 7. Kb5 Kd7 8. c6+ Kd6 9. c7 Kxc7 10. Kc5) 3. Ka4 Kb7 4. b5 a6 (4... cxb5+ 5. Kxb5 Kc7 6. Ka6 Kb8 7. c6 Ka8 8. Kb5 Kb8 9. Kc5) 5. bxc6+ Kxc6 6. Ka5 Kb7 7. c6+ Kxc6 8. Kxa6 Kc7 9. Kb5 1-0 --- authors: - Lasker, Emanuel source: Lasker's Chess Magazine date: 1925 algebraic: white: [Kf2, Rd8, Pd4] black: [Kf4, Be4, Pd5] stipulation: + solution: | 1. Rh8 Bf5 2. Rh4+ Bg4 3. Kg2 Kg5 4. Kg3 Bf5 5. Rh8 Bg6 6. Rf8 Be4 7. Re8 Kf6 8. Kf4 Bg2 9. Ra8 Kf7 (9... Ke6 10. Ra6+) 10. Ke5 Be4 11. Ra7+ Ke8 12. Ke6 Kd8 13. Kd6 Kc8 (13... Ke8 14. Re7+ Kd8 (14... Kf8 15. Re5) 15. Re5 Kc8 16. Re8+ Kb7 17. Re7+ Kb8 18. Rc7) 14. Ra8+ Kb7 15. Rg8 (15. Ra5 Kc8 16. Rxd5 Bxd5 17. Kxd5 Kd7) 15... Bf3 16. Rg3 Be4 17. Rc3 $1 Bg2 18. Rc5 Bf3 19. Rxd5 Bxd5 20. Kxd5 wins cooks: 1. Re8 1. Ke2 comments: - Cooked --- authors: - Lasker, Emanuel source: Lehrbuch des Schachspiels date: 1926 algebraic: white: [Kd4, Pf2, Pa2] black: [Kd6, Pe4, Pd5] stipulation: + solution: | 1. a4 Kc6 (1... Ke6 2. a5 Kd6 3. a6 Kc7 4. a7 Kb7 5. Kxd5 Kxa7 6. Kxe4) 2. a5 Kb5 3. Kxd5 Kxa5 4. Kxe4 1-0 --- authors: - Lasker, Emanuel source: Lehrbuch des Schachspiels date: 1926 algebraic: white: [Kb2, Qc2, Ph4, Pa4] black: [Kh7, Qg6, Ph5, Pg7, Pa7, Pa5] stipulation: "=" solution: 1. Ka3 $1 Kh6 2. Qc1+ Kh7 3. Qc2 a6 4. Qb1 1/2-1/2 --- authors: - Lasker, Emanuel source: Lehrbuch des Schachspiels date: 1926 algebraic: white: [Kc1, Be1] black: [Ke4, Bh5, Pd3, Pc4, Pb5] stipulation: "=" solution: | 1... Kd4 (1... Ke3 $1 2. Bd2+ Ke2 3. Ba5 d2+ $1 4. Bxd2 Kd3 $1 5. Ba5 c3 $1) 2. Kb2 Ke3 3. Kc1 (3. Kc3 $2 Ke2 4. Bd2 b4+) 3... Ke4 (3... d2+ $1 4. Bxd2+ Kd3) 4. Ba5 Kd5 5. Kb2 Kc5 6. Ka3 1/2-1/2 --- authors: - Lasker, Emanuel source: date: 1930 algebraic: white: [Kc2, Pc4, Pb5] black: [Kc5, Pd6] stipulation: + solution: | 1. Kc3 Kb6 (1... d5 2. cxd5 Kxd5 3. Kb4 Kd6 4. Ka5 Kc7 5. Ka6 Kb8 6. Kb6) 2. Kd4 Kc7 (2... Kb7 3. Kd5 Kc7 4. b6+ Kxb6 5. Kxd6) 3. Kd5 Kd7 4. b6 1-0 --- authors: - Lasker, Emanuel source: date: 1937 algebraic: white: [Ke2, Bd2, Pg2, Pb2] black: [Kg8, Be7, Pg7, Pe5] stipulation: + solution: | 1. Bc3 Bd6 2. Ke3 Kf7 3. Ke4 Ke6 4. b4 Bc7 5. b5 Kf6 6. g4 Ke6 7. g5 g6 8. Bb2 Bd8 9. Bxe5 Bxg5 10. b6 $1 1-0 --- authors: - Lasker, Emanuel source: Санкт-Петербургские ведомости date: 1896-04-28 algebraic: white: [Kf6, Se5, Pd7] black: [Kh8, Ra6] stipulation: + solution: | 1.Se5-c6 ! Ra6*c6+ 2.Kf6-e5 Rc6-c5+ 3.Ke5-e4 Rc5-c4+ 4.Ke4-e3 Rc4-c3+ 5.Ke3-d2 3.Ke5-d6 ! {dual} 1...Ra6-a8 ! {refutation} --- authors: - Lasker, Emanuel source: Neue Freie Presse source-id: 259 date: 1935-12-22 algebraic: white: [Kd4, Sd7, Sb5, Pc6] black: [Ka8, Bb8, Sa1, Pc7] stipulation: "#3" solution: | "1. Kc4? waiting 1... Sb3 2. K:b3 waiting 2... Ba7 3. S:c7# But 1... Sc2! 1. Kd3? waiting 1... Sc2 2. K:c2 waiting 2... Ba7 3. S:c7# But 1... Sb3! 1. Kc3! waiting 1... Sb3 2. K:b3 waiting 2... Ba7 3. S:c7# 1... Sc2 2. K:c2 waiting 2... Ba7 3. S:c7#" --- authors: - Lasker, Emanuel source: Deutsches Wochenschach source-id: 83 date: 1890-01-05 algebraic: white: [Ke6, Qg6, Bf7, Pf5] black: [Kh8, Rf8, Bg5, Ph6, Pf6, Pc2] stipulation: + solution: "1. Bg8! R:g8 2.Kf7! R:g6 3.fg c1Q 4.g7+ Kh7 5.g8Q#" keywords: - Attention comments: - Wrong author. The correct author is Berthold Lasker. We have to wait until Berthold Lasker arises in the list. - Check alsso 343499 --- authors: - Lasker, Emanuel source: source-id: / date: 1926 algebraic: white: [Kd5, Rh6, Pf3, Pe4] black: [Kd7, Bc5, Pf4, Pe5, Pd6] stipulation: + solution: | 1.Rh7+ Kd8 2.Ke6 3.Rd7 4.Rxd6 wins --- authors: - Кузьмичев, Владимир Викторович - Lasker, Emanuel source: Правда Севера date: 2015 algebraic: white: [Ke1, Qh3, Rh1, Ra1, Se2] black: [Ke4] stipulation: "#2" solution: | "1.Qh3-e6 + ! 1...Ke4-f3 2.0-0 # 1...Ke4-d3 2.0-0-0 # 1.0-0-0 ? zugzwang. but 1...Ke4-e5 ! 1.Ra1-a6 ? zugzwang. 1...Ke4-e5 2.Qh3-e6 # but 1...Ke4-d5 !" keywords: - Flight giving and taking key - Castling comments: - see 136013, 181027, 159519 --- authors: - Keidanski, Theodore Hermann - Lasker, Emanuel source: American Chess Bulletin source-id: 10/200 date: 1906-10 algebraic: white: [Kb7, Rh8, Rg3, Sf8, Se2, Ph2, Pg6, Pf4, Pc4, Pc3] black: [Ke4, Pg7, Pf6, Pe5, Pd7, Pc5] stipulation: "#4" solution: | "1.Sf8-e6 ! threat: 2.Se6*c5 + 2...Ke4-f5 3.Rh8-h5 # 1...d7*e6 2.f4-f5 {- zugzwang} 2...e6*f5 3.Se2-f4 {- zugzwang} 3...Ke4*f4 4.Rh8-h4 # 3...e5*f4 4.Rh8-e8 # 2...Ke4*f5 3.Rh8-h4 3...e5-e4 4.Rh4-h5 # 1...e5*f4 2.Se6*c5 + 2...Ke4-e5 3.Rh8-e8 + 3...Ke5-f5 4.Se2-d4 # 3... Ke5-d6 4. Sc5-e4# 1...d7-d6 2.Rh8-h4 threat: 3.f4-f5 + 3...Ke4*f5 4.Se6*g7 # 2...Ke4-f5 3.Se6*g7 + 3...Kf5-e4 4.f4-f5 # 2...e5*f4 3.Rh4*f4 + 3...Ke4-e5 4.Rg3-e3 # 2.f4-f5 {(dual)} 2...Ke4*f5 3.Se6*g7 + 3...Kf5-e4 4.Rh8-h4 #" keywords: - Zugzwang - Dual --- authors: - Lasker, Emanuel source: Common Sense in Chess date: 1931 algebraic: white: [Kc5, Pc6, Pa5] black: [Kc7, Pa6] stipulation: + solution: | 1.Kc5-d5 Kc7-c8 2.Kd5-d4 ! {or Kc4} Kc8-d8 3.Kd4-c4 Kd8-c8 4.Kc4-d5 Kc8-c7 5.Kd5-c5 Kc7-c8 6.Kc5-b6 Kc8-b8 7.Kb6*a6 Kb8-c7 8.Ka6-b5 4...Kc8-d8 5.Kd5-d6 Kd8-c8 6.c6-c7 Kc8-b7 7.Kd6-d7 Kb7-a7 8.Kd7-c6 comments: - confirm 281399 --- authors: - Lasker, Emanuel source: The San Francisco Chronicle source-id: 502 date: 1903-11-22 algebraic: white: [Kb6, Bh4, Be6, Se4, Sc5, Pd6, Pd2] black: [Ke5, Pg7, Pg6] stipulation: "#2" solution: | "1.Se4-g5 ! zugzwang. 1...Ke5-d4 2.Sg5-f3 # 1...Ke5-f4 2.Sc5-d3 # 1...Ke5-f6 2.Sc5-d7 # 1...Ke5*d6 2.Sg5-f7 #" keywords: - BK star pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-overloaded-pieces_by_arex_2017.01.31.pgn0000644000175000017500000001272613365545272032204 0ustar varunvarun[Termination "+500cp in 1"] [Event "Lichess Practice: Overloaded Pieces: Overloaded #1"] [Site "https://lichess.org/study/o734CNqp"] [UTCDate "2017.01.31"] [UTCTime "21:01:54"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "6k1/5pp1/4b1n1/8/8/3BR3/5PPP/6K1 w - - 0 1"] [SetUp "1"] { A piece is Overloaded (also known as "overworked") if it has more than one responsibility, e.g. defending a piece, defending a square, blocking a check, and blockading a piece. In this example, the f7 pawn has at least two responsibilities; it is protecting the bishop on e6, but it is also protecting the knight on g6. Can you exploit this double responsibility? } * [Termination "+50cp in 1"] [Event "Lichess Practice: Overloaded Pieces: Overloaded #2"] [Site "https://lichess.org/study/o734CNqp"] [UTCDate "2017.01.31"] [UTCTime "22:03:30"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2r1rbk1/5pp1/3P1n2/8/8/3Q3P/2B2PPK/8 w - - 0 1"] [SetUp "1"] { In this example, the f6 knight has two responsibilities. One of those responsibilities is more important than the other. Can you exploit the situation? } * [Termination "+1000cp in 4"] [Event "Lichess Practice: Overloaded Pieces: Overloaded #3"] [Site "https://lichess.org/study/o734CNqp"] [UTCDate "2017.01.31"] [UTCTime "22:01:34"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2b5/7p/3k2pP/1p1p1pP1/1P1P1K2/8/5P2/3B4 w - - 0 1"] [SetUp "1"] { In this example, the h7 pawn has two responsibilities. Can you exploit the situation? From Alexander Grischuk - Evgeny Alekseev, 2008. https://lichess.org/yOyudklB#104 } * [Termination "+500cp in 1"] [Event "Lichess Practice: Overloaded Pieces: Overloaded #4"] [Site "https://lichess.org/study/o734CNqp"] [UTCDate "2017.01.31"] [UTCTime "19:46:44"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "3q3k/pp2b1pp/8/2P5/1P2RBQ1/2P5/P4rPp/7K w - - 2 29"] [SetUp "1"] { From Jose Raul Capablanca - Rudolf Spielmann, 1911. https://lichess.org/QN4PcsKD#56 } * [Termination "+400cp in 3"] [Event "Lichess Practice: Overloaded Pieces: Overloaded #5"] [Site "https://lichess.org/study/o734CNqp"] [UTCDate "2017.01.31"] [UTCTime "20:51:49"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/1Q1rkpp1/p3p3/3nB1r1/8/3q3P/PP3R2/K1R5 w - - 2 34"] [SetUp "1"] { From Shakhriyar Mamedyarov - Peter Svidler, 2009. https://lichess.org/ctDrrcM6#66 } * [Termination "+600cp in 4"] [Event "Lichess Practice: Overloaded Pieces: Overloaded #6"] [Site "https://lichess.org/study/o734CNqp"] [UTCDate "2017.01.31"] [UTCTime "19:45:13"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "3r2k1/pb1r1pp1/1pn2q1p/3B4/6Q1/P4NP1/1P3PP1/3RR1K1 w - - 7 23"] [SetUp "1"] { From Garry Kasparov - Anatoly Karpov, 1985. https://lichess.org/iK5KRqtZ#44 } * [Termination "+400cp in 4"] [Event "Lichess Practice: Overloaded Pieces: Overloaded #7"] [Site "https://lichess.org/study/o734CNqp"] [UTCDate "2017.01.31"] [UTCTime "21:26:24"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2Q5/1p3p1k/p2prPq1/8/7p/8/PP3RP1/6K1 w - - 0 1"] [SetUp "1"] { From Boris Spassky - Bent Larsen, 1969. https://lichess.org/YgaPGPCz#130 } * [Termination "+250cp in 3"] [Event "Lichess Practice: Overloaded Pieces: Overloaded #8"] [Site "https://lichess.org/study/o734CNqp"] [UTCDate "2017.01.31"] [UTCTime "21:51:57"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5k1r/p4p2/3Np2p/3bP3/8/3RBPb1/1r4P1/2R3K1 w - - 0 1"] [SetUp "1"] { From Yury Shulman - Loek van Wely, 2009. https://lichess.org/Jgay9DvA#54 } * [Termination "-300cp in 3"] [Event "Lichess Practice: Overloaded Pieces: Overloaded #9"] [Site "https://lichess.org/study/o734CNqp"] [UTCDate "2017.01.31"] [UTCTime "23:26:53"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "3r2k1/1pp4p/p1n1q1p1/2Q5/1P2B3/P3P1Pb/3N1R1P/6K1 b - - 1 1"] [SetUp "1"] { From Viktor Korchnoi - Irina Krush, 2007. https://lichess.org/rL6AKS42/black#53 } * [Termination "+640cp in 4"] [Event "Lichess Practice: Overloaded Pieces: Overloaded #10"] [Site "https://lichess.org/study/o734CNqp"] [UTCDate "2017.01.31"] [UTCTime "23:49:39"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r7/2k1Pp1p/p1n2p2/P1b1r3/2p5/2P3P1/5P1P/1R1Q2K1 w - - 2 29"] [SetUp "1"] 29. Rb7+ Kxb7 30. Qd7+ Kb8 31. e8=Q+ Rxe8 32. Qxe8+ Kb7 * [White "Magnus Carlsen"] [Black "Alexander Grischuk"] [Date "2009.03.04"] [Result "1-0"] [Site "Linares ESP"] [Event "Linares"] [Round "12"] [UTCDate "2017.01.31"] [UTCTime "22:23:15"] [Variant "Standard"] [ECO "B84"] [Opening "Sicilian Defense: Scheveningen Variation, Classical Variation"] [Annotator "https://lichess.org/@/arex"] 1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Be2 e6 7. O-O Be7 8. a4 Nc6 9. Be3 O-O 10. f4 Qc7 11. Kh1 Re8 12. Bf3 Bf8 13. Qd2 Rb8 14. Qf2 e5 15. fxe5 dxe5 16. Nb3 Nb4 17. Ba7 Ra8 18. Bb6 Qe7 19. Rad1 Be6 20. Nd5 Bxd5 21. exd5 e4 22. d6 Qe6 23. Nc5 Qf5 24. Be2 Qxf2 25. Rxf2 Nbd5 26. a5 Nxb6 27. axb6 Rab8 28. Rxf6 gxf6 29. Nd7 f5 30. c4 a5 31. c5 Bg7 32. Nxb8 Rxb8 33. Ba6 Bf6 (33... bxa6 34. c6) 34. Bxb7 Rxb7 35. c6 Rxb6 36. Rc1 Bxb2 37. d7 { 1-0 Black resigns. } 1-0pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-the-pin_by_arex_2017.01.22.sqlite0000644000175000017500000026000013441162535030651 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) P#learn/puzzles/lichess_study_lichess-practice-the-pin_by_arex_2017.01.22.pgn   %Qhttps://lichess.org/study/9ogFv8Ac %Q https://lichess.org/study/9ogFv8Ac Ahttps://lichess.org/@/arex A https://lichess.org/@/arex \V$\0gLichess Practice: The Pin: Exploit the pin #50gLichess Practice: The Pin: Exploit the pin #40gLichess Practice: The Pin: Exploit the pin #30gLichess Practice: The Pin: Exploit the pin #20gLichess Practice: The Pin: Exploit the pin #16sLichess Practice: The Pin: Set up a relative pin #17uLichess Practice: The Pin: Set up an absolute pin #27uLichess Practice: The Pin: Set up an absolute pin #1 ]%]W1gLichess Practice: The Pin: Exploit the pin #51gLichess Practice: The Pin: Exploit the pin #41gLichess Practice: The Pin: Exploit the pin #31gLichess Practice: The Pin: Exploit the pin #21gLichess Practice: The Pin: Exploit the pin #17sLichess Practice: The Pin: Set up a relative pin #18uLichess Practice: The Pin: Set up an absolute pin #27u Lichess Practice: The Pin: Set up an absolute pin #1  20180221  x.4 S   y 0?q5k1/5pp1/8/1pb1P3/2p4p/2P2r1P/1P3PQ1/1N3R1K b - - 0 1\      0?1r1n1rk1/ppq2p2/2b2bp1/2pB3p/2P4P/4P3/PBQ2PP1/1R3RK1 w - - 0 1T   { E @0?4r1r1/2p5/1p1kn3/p1p1R1p1/P6p/5N1P/1PP1R1PK/8 w - - 0 1Y    0?r4rk1/pp1p1ppp/1qp2n2/8/4P3/1P1P2Q1/PBP2PPP/R4RK1 w - - 0 1G   a 000?4k3/6p1/5p1p/4n3/8/7P/5PP1/4R1K1 w - - 0 1H   c 0?1k6/ppp3q1/8/4r3/8/8/3B1PPP/R4QK1 w - - 0 1L   k  0?5k2/p1p2pp1/7p/2r5/8/1P3P2/PBP3PP/1K6 w - - 0 18   M 0?7k/8/8/4n3/4P3/8/8/6BK w - - 0 1              E0      @0                  oXH*nU>. u W > '  Opening?UTCTime14:15:14!UTCDate2017.01.29##Termination-800cp in 3Opening?UTCTime14:51:08!UTCDate2017.01.29#Terminationmate in 2Opening?UTCTime13:26:03!UTCDate2017.01.29#!Termination+70cp in 1Opening?UTCTime11:14:47!UTCDate2017.01.22##Termination+300cp in 1Opening?UTCTime10:45:15!UTCDate2017.01.22 ##Termination+500cp in 2 Opening? UTCTime10:35:53 !UTCDate2017.01.22 ##Termination+700cp in 1Opening?UTCTime10:37:58!UTCDate2017.01.22##Termination+200cp in 2  Opening? UTCTime11:45:26 !UTCDate2017.01.28 ##Termination+200cp in 2././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootpychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-checkmate-patterns-ii_by_arex_2017.01.25.sqlitepychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-checkmate-patterns-ii_by_arex_2017.01.25.0000644000175000017500000026000013441162535032247 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) ^?learn/puzzles/lichess_study_lichess-practice-checkmate-patterns-ii_by_arex_2017.01.25.pgn   %Qhttps://lichess.org/study/8yadFPpU %Q https://lichess.org/study/8yadFPpU Ahttps://lichess.org/@/arex A https://lichess.org/@/arex  x4}? L  V  T  Z ;}Lichess Practice: Checkmate Patterns II: Lolli's Mate #3;}Lichess Practice: Checkmate Patterns II: Lolli's Mate #2;}Lichess Practice: Checkmate Patterns II: Lolli's Mate #1>Lichess Practice: Checkmate Patterns II: Damiano's Mate #3>Lichess Practice: Checkmate Patterns II: Damiano's Mate #2>Lichess Practice: Checkmate Patterns II: Damiano's Mate #1@Lichess Practice: Checkmate Patterns II: Pillsbury's Mate #2@Lichess Practice: Checkmate Patterns II: Pillsbury's Mate #1<Lichess Practice: Checkmate Patterns II: Morphy's Mate #4<Lichess Practice: Checkmate Patterns II: Morphy's Mate #3<Lichess Practice: Checkmate Patterns II: Morphy's Mate #2< Lichess Practice: Checkmate Patterns II: Morphy's Mate #1: {Lichess Practice: Checkmate Patterns II: Corner Mate #2: {Lichess Practice: Checkmate Patterns II: Corner Mate #1; }Lichess Practice: Checkmate Patterns II: Arabian Mate #3; }Lichess Practice: Checkmate Patterns II: Arabian Mate #2;}Lichess Practice: Checkmate Patterns II: Arabian Mate #1<Lichess Practice: Checkmate Patterns II: Balestra Mate #1;}Lichess Practice: Checkmate Patterns II: Boden's Mate #3;}Lichess Practice: Checkmate Patterns II: Boden's Mate #2;}Lichess Practice: Checkmate Patterns II: Boden's Mate #1B Lichess Practice: Checkmate Patterns II: Double Bishop Mate #3B Lichess Practice: Checkmate Patterns II: Double Bishop Mate #2B Lichess Practice: Checkmate Patterns II: Double Bishop Mate #1   @~ M  U  y5 [  W  <}Lichess Practice: Checkmate Patterns II: Lolli's Mate #3<}Lichess Practice: Checkmate Patterns II: Lolli's Mate #2<}Lichess Practice: Checkmate Patterns II: Lolli's Mate #1?Lichess Practice: Checkmate Patterns II: Damiano's Mate #3?Lichess Practice: Checkmate Patterns II: Damiano's Mate #2?Lichess Practice: Checkmate Patterns II: Damiano's Mate #1ALichess Practice: Checkmate Patterns II: Pillsbury's Mate #2ALichess Practice: Checkmate Patterns II: Pillsbury's Mate #1=Lichess Practice: Checkmate Patterns II: Morphy's Mate #4=Lichess Practice: Checkmate Patterns II: Morphy's Mate #3=Lichess Practice: Checkmate Patterns II: Morphy's Mate #2=Lichess Practice: Checkmate Patterns II: Morphy's Mate #1 ;{Lichess Practice: Checkmate Patterns II: Corner Mate #2 ;{Lichess Practice: Checkmate Patterns II: Corner Mate #1 <}Lichess Practice: Checkmate Patterns II: Arabian Mate #3 <}Lichess Practice: Checkmate Patterns II: Arabian Mate #2 <}Lichess Practice: Checkmate Patterns II: Arabian Mate #1=Lichess Practice: Checkmate Patterns II: Balestra Mate #1<}Lichess Practice: Checkmate Patterns II: Boden's Mate #3<}Lichess Practice: Checkmate Patterns II: Boden's Mate #2<}Lichess Practice: Checkmate Patterns II: Boden's Mate #1C Lichess Practice: Checkmate Patterns II: Double Bishop Mate #3C Lichess Practice: Checkmate Patterns II: Double Bishop Mate #2B Lichess Practice: Checkmate Patterns II: Double Bishop Mate #1  20180221 or C _ o  z 8 FU   } ))0?4r1qk/5p1p/pp2rPpR/2pbP1Q1/3pR3/2P5/P5PP/2B3K1 w - - 0 1Y    ((((0?r4r2/1q3pkp/p1b1p1n1/1p4QP/4P3/1BP3P1/P4P2/R2R2K1 w - - 0 1?   Q &&0?6k1/5p2/5PpQ/8/8/8/8/6K1 w - - 0 1Z    $a$`0?q1r4r/1b2kpp1/p3p3/P1b5/1pN1P3/3BBPp1/1P4P1/R3QRK1 b - - 0 1S   y ""0?4rk2/1p1q1p2/3p1Bn1/p1pP1p2/P1P5/1PK3Q1/8/7R w - - 0 1@   S 0?5rk1/6p1/6P1/7Q/8/8/8/6K1 w - - 0 1[    ?80?2rqnrk1/pp3ppp/1b1p4/3p2Q1/2n1P3/3B1P2/PB2NP1P/R5RK w - - 0 1A   U % 0?5rk1/5p1p/8/8/8/8/1B6/4K2R w - - 0 1S   y 0?2r2rk1/5ppp/pp6/2q5/2P2P2/3pP1RP/P5P1/B1R3K1 w - - 0 1\     0?2r1nrk1/pp1q1p1p/3bpp2/5P2/1P1Q4/P3P3/1BP2P1P/R3K2R w KQ - 0 1Q   u ;80?5rk1/p4p1p/1p1rpp2/3qB3/3PR3/7P/PP3PP1/6K1 w - - 0 1=    M MH 0?7k/5p1p/8/8/7B/8/8/6RK w - - 0 1L    k  0?5rk1/3Q1p2/6p1/P5r1/R1q1n3/7B/7P/5R1K b - - 0 1<    K  0?7k/7p/8/6N1/8/8/8/6RK w - - 0 1V     HH 0?3qrk2/p1r2pp1/1p2pb2/nP1bN2Q/3PN3/P6R/5PPP/R5K1 w - - 0 1P    s  0?r4nk1/pp2r1p1/2p1P2p/3p1P1N/8/8/PPPK4/6RR w - - 0 1<   K 0?7k/5R2/5N2/8/8/8/8/7K w - - 0 1>   O 0?5k2/8/6Q1/8/8/6B1/8/6K1 w - - 0 1]     G@0?2kr1b1r/pp1npppp/2p1bn2/7q/5B2/2NB1Q1P/PPP1N1P1/2KR3R w - - 0 1\     0?2k1rb1r/ppp3pp/2n2q2/3B1b2/5P2/2P1BQ2/PP1N1P1P/2KR3R b - - 0 1@   S 0?2kr4/3p4/8/8/5B2/8/8/5BK1 w - - 0 1[    0?r3k2r/pbpp1ppp/1p6/2bBPP2/8/1QPp1P1q/PP1P3P/RNBR3K b kq - 0 1U   } WP0?r1bq3k/pp2R2p/3B2p1/2pBbp2/2Pp4/3P4/P1P3PP/6K1 w - - 0 18   M 0?7k/5B1p/8/8/8/8/8/5KB1 w - - 0 1       r~xr                                   [~wpib[)((&$a"?%;M   H    GW       [~wpib[)((&$`"8 8H   H    @P r~xr                                                                `ds\L0x_H8 d K 4 $  | l P 7   h X < # k T D (  p W @ 0 x\C,td`Opening?_UTCTime11:27:08^!UTCDate2017.01.27]#Terminationmate in 6\Opening?[UTCTime11:30:22Z!UTCDate2017.01.27Y#Terminationmate in 3XOpening?WUTCTime11:23:46V!UTCDate2017.01.27U#Terminationmate in 1TOpening?SUTCTime10:15:19R!UTCDate2017.01.27Q#Terminationmate in 5POpening?OUTCTime10:21:45N!UTCDate2017.01.27M#Terminationmate in 2LOpening?KUTCTime10:12:59J!UTCDate2017.01.27I#Terminationmate in 1HOpening?GUTCTime14:49:48F!UTCDate2017.01.28E#Terminationmate in 5DOpening?CUTCTime14:32:03B!UTCDate2017.01.28A#Terminationmate in 1@Opening??UTCTime14:09:59>!UTCDate2017.01.28=#Terminationmate in 6<Opening?;UTCTime13:50:33:!UTCDate2017.01.289#Terminationmate in 68Opening?7UTCTime13:42:566!UTCDate2017.01.285#Terminationmate in 24 Opening?3 UTCTime13:35:532! UTCDate2017.01.281# Terminationmate in 10 Opening?/ UTCTime00:28:52.! UTCDate2017.01.27-# Terminationmate in 2, Opening?+ UTCTime00:28:00*! UTCDate2017.01.27)# Terminationmate in 1( Opening?' UTCTime00:10:13&! UTCDate2017.01.27%# Terminationmate in 3$ Opening?# UTCTime00:08:31"! UTCDate2017.01.27!# Terminationmate in 3 Opening?UTCTime23:52:39!UTCDate2017.01.26#Terminationmate in 1Opening?UTCTime09:53:38!UTCDate2017.01.31#Terminationmate in 1Opening?UTCTime22:20:20!UTCDate2017.01.25#Terminationmate in 2Opening?UTCTime22:19:40!UTCDate2017.01.25#Terminationmate in 2Opening?UTCTime22:18:54!UTCDate2017.01.25 #Terminationmate in 1 Opening? UTCTime10:56:48 !UTCDate2017.01.27 #Terminationmate in 2Opening?UTCTime10:50:10!UTCDate2017.01.27#Terminationmate in 1  Opening? UTCTime10:41:45 !UTCDate2017.01.27 #Terminationmate in 1././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootpychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-checkmate-patterns-iii_by_arex_2017.01.27.sqlitepychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-checkmate-patterns-iii_by_arex_2017.01.270000644000175000017500000026000013441162534032343 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) _Alearn/puzzles/lichess_study_lichess-practice-checkmate-patterns-iii_by_arex_2017.01.27.pgn   %Qhttps://lichess.org/study/PDkQDt6u %Q https://lichess.org/study/PDkQDt6u Ahttps://lichess.org/@/arex A https://lichess.org/@/arex  L C E x 7 9yLichess Practice: Checkmate Patterns III: Pawn Mate #29yLichess Practice: Checkmate Patterns III: Pawn Mate #1?Lichess Practice: Checkmate Patterns III: Epaulette Mate #3?Lichess Practice: Checkmate Patterns III: Epaulette Mate #2?Lichess Practice: Checkmate Patterns III: Epaulette Mate #1D  Lichess Practice: Checkmate Patterns III: Swallow's Tail Mate #2D  Lichess Practice: Checkmate Patterns III: Swallow's Tail Mate #1< Lichess Practice: Checkmate Patterns III: Cozio's Mate #1> Lichess Practice: Checkmate Patterns III: Dovetail Mate #4> Lichess Practice: Checkmate Patterns III: Dovetail Mate #3>Lichess Practice: Checkmate Patterns III: Dovetail Mate #2>Lichess Practice: Checkmate Patterns III: Dovetail Mate #1ALichess Practice: Checkmate Patterns III: Anderssen's Mate #3ALichess Practice: Checkmate Patterns III: Anderssen's Mate #2ALichess Practice: Checkmate Patterns III: Anderssen's Mate #1:{Lichess Practice: Checkmate Patterns III: Opera Mate #3:{Lichess Practice: Checkmate Patterns III: Opera Mate #2:{Lichess Practice: Checkmate Patterns III: Opera Mate #1    FD y 8 M :yLichess Practice: Checkmate Patterns III: Pawn Mate #2:yLichess Practice: Checkmate Patterns III: Pawn Mate #1@Lichess Practice: Checkmate Patterns III: Epaulette Mate #3@Lichess Practice: Checkmate Patterns III: Epaulette Mate #2@Lichess Practice: Checkmate Patterns III: Epaulette Mate #1E Lichess Practice: Checkmate Patterns III: Swallow's Tail Mate #2 E Lichess Practice: Checkmate Patterns III: Swallow's Tail Mate #1 =Lichess Practice: Checkmate Patterns III: Cozio's Mate #1 ?Lichess Practice: Checkmate Patterns III: Dovetail Mate #4 ?Lichess Practice: Checkmate Patterns III: Dovetail Mate #3 ?Lichess Practice: Checkmate Patterns III: Dovetail Mate #2?Lichess Practice: Checkmate Patterns III: Dovetail Mate #1BLichess Practice: Checkmate Patterns III: Anderssen's Mate #3BLichess Practice: Checkmate Patterns III: Anderssen's Mate #2BLichess Practice: Checkmate Patterns III: Anderssen's Mate #1;{Lichess Practice: Checkmate Patterns III: Opera Mate #3;{Lichess Practice: Checkmate Patterns III: Opera Mate #2:{ Lichess Practice: Checkmate Patterns III: Opera Mate #1  20180221  a w { # O u $ Y    J H0?r1b3nr/ppp3qp/1bnpk3/4p1BQ/3PP3/2P5/PP3PPP/RN3RK1 w - - 0 1B   W 0?8/7R/1pkp4/2p5/1PP5/8/8/6K1 w - - 0 1O   q @@0?5r2/pp3k2/5r2/q1p2Q2/3P4/6R1/PPP2PP1/1K6 w - - 0 1T   { 0?1k1r4/pp1q1B1p/3bQp2/2p2r2/P6P/2BnP3/1P6/5RKR b - - 0 1>   O 0?3rkr2/8/5Q2/8/8/8/8/6K1 w - - 0 1B    W % 0?8/8/2P5/3K1k2/2R3p1/2q5/8/8 b - - 0 1A    U  0?3r1r2/4k3/R7/3Q4/8/8/8/6K1 w - - 0 1>    O  0?8/8/1Q6/8/6pk/5q2/8/6K1 w - - 0 1O    q  0?rR6/5k2/2p3q1/4Qpb1/2PB1Pb1/4P3/r5R1/6K1 w - - 0 1V      0?6k1/1p1b3p/2pp2p1/p7/2Pb2Pq/1P1PpK2/P1N3RP/1RQ5 b - - 0 1\     i h0?r1b1q1r1/ppp3kp/1bnp4/4p1B1/3PP3/2P2Q2/PP3PPP/RN3RK1 w - - 0 1@   S  x0?1r6/pk6/4Q3/3P4/8/8/8/6K1 w - - 0 1Z    0?2r1nrk1/p4p1p/1p2p1pQ/nPqbRN2/8/P2B4/1BP2PPP/3R2K1 w - - 0 1S   y 980?1k2r3/pP3pp1/8/3P1B1p/5q2/N1P2b2/PP3Pp1/R5K1 b - - 0 1=   M 0?6k1/6P1/5K1R/8/8/8/8/8 w - - 0 1T   { {x0?rn3rk1/p5pp/2p5/3Ppb2/2q5/1Q6/PPPB2PP/R3K1NR b KQ - 0 1`    0?rn1r2k1/ppp2ppp/3q1n2/4b1B1/4P1b1/1BP1Q3/PP3PPP/RN2K1NR b KQ - 0 1;   S 0?4k3/5p2/8/6B1/8/8/8/3R2K1 w - - 0 1                                     J@%      i  9{        H@      h x 8x                                                     H s\L0x_H8 d K 4 $  | l P 7   h X < # k T D (  HOpening?GUTCTime00:42:44F!UTCDate2017.01.28E#Terminationmate in 2DOpening?CUTCTime00:33:21B!UTCDate2017.01.28A#Terminationmate in 1@Opening??UTCTime00:13:15>!UTCDate2017.01.28=#Terminationmate in 1<Opening?;UTCTime23:55:58:!UTCDate2017.01.279#Terminationmate in 28Opening?7UTCTime23:50:486!UTCDate2017.01.275#Terminationmate in 14 Opening?3 UTCTime00:12:112! UTCDate2017.01.281# Terminationmate in 10 Opening?/ UTCTime23:47:52.! UTCDate2017.01.27-# Terminationmate in 1, Opening?+ UTCTime23:36:38*! UTCDate2017.01.27)# Terminationmate in 2( Opening?' UTCTime15:55:37&! UTCDate2017.01.28%# Terminationmate in 1$ Opening?# UTCTime16:17:32"! UTCDate2017.01.28!# Terminationmate in 4 Opening?UTCTime00:05:49!UTCDate2017.01.28#Terminationmate in 1Opening?UTCTime23:39:16!UTCDate2017.01.27#Terminationmate in 1Opening?UTCTime13:25:38!UTCDate2017.01.27#Terminationmate in 4Opening?UTCTime13:12:17!UTCDate2017.01.27#Terminationmate in 3Opening?UTCTime11:49:34!UTCDate2017.01.27 #Terminationmate in 1 Opening? UTCTime11:44:39 !UTCDate2017.01.27 #Terminationmate in 3Opening?UTCTime11:37:30!UTCDate2017.01.27#Terminationmate in 2  Opening? UTCTime11:34:32 !UTCDate2017.01.27 #Terminationmate in 1pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-opposition_by_arex_2017.01.22.sqlite0000644000175000017500000026000013441162535031510 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) S)learn/puzzles/lichess_study_lichess-practice-opposition_by_arex_2017.01.22.pgn   %Qhttps://lichess.org/study/A4ujYOer %Q https://lichess.org/study/A4ujYOer Ahttps://lichess.org/@/arex A https://lichess.org/@/arex F[$}F5qLichess Practice: Opposition: As a means to an end6sLichess Practice: Opposition: Distant Opposition #26sLichess Practice: Opposition: Distant Opposition #15qLichess Practice: Opposition: Direct Opposition #55qLichess Practice: Opposition: Direct Opposition #45qLichess Practice: Opposition: Direct Opposition #35qLichess Practice: Opposition: Direct Opposition #25qLichess Practice: Opposition: Direct Opposition #1 GG\%~6qLichess Practice: Opposition: As a means to an end7sLichess Practice: Opposition: Distant Opposition #27sLichess Practice: Opposition: Distant Opposition #16qLichess Practice: Opposition: Direct Opposition #56qLichess Practice: Opposition: Direct Opposition #46qLichess Practice: Opposition: Direct Opposition #36qLichess Practice: Opposition: Direct Opposition #25q Lichess Practice: Opposition: Direct Opposition #1  20180221 LM;   I / (0?8/8/4k3/8/2PK4/8/8/8 w - - 0 1@   S 0?4k3/8/8/1p5p/1P5P/8/8/4K3 w - - 0 1;   I 2 00?8/8/8/5kp1/8/8/8/6K1 w - - 0 1@   S 0?8/4R2n/4K1pk/6p1/7P/8/8/8 w - - 0 1<   K  0?8/8/7k/8/1p6/7K/2P5/8 w - - 0 1<   K ~x0?8/4k3/8/8/2P1K3/8/8/8 w - - 0 1<   K 0?8/8/8/4p3/4k3/8/8/4K3 w - - 0 16   I 0?8/2k5/8/8/2PK4/8/8/8 w - - 0 1            /  2 ~   (  0x                  fO?oG. i R B    Opening?UTCTime00:56:41!UTCDate2017.01.22&#7Terminationpromotion with +100cpOpening?UTCTime00:52:03!UTCDate2017.01.22&#7Terminationpromotion with +100cpOpening?UTCTime00:47:49!UTCDate2017.01.22#!Terminationdraw in 20Opening?UTCTime00:35:03!UTCDate2017.01.22&#7Terminationpromotion with +100cpOpening?UTCTime00:34:22!UTCDate2017.01.22& #7Terminationpromotion with +100cp Opening? UTCTime00:33:52 !UTCDate2017.01.22& #7Terminationpromotion with +100cpOpening?UTCTime00:41:28!UTCDate2017.01.22#!Terminationdraw in 20  Opening? UTCTime09:50:32 !UTCDate2017.01.22% #7Terminationpromotion with +100cppychess-1.0.0/learn/puzzles/mate_in_3.pgn0000644000175000017500000031432213365545272017440 0ustar varunvarun[Event "?"] [Site "London"] [Date "1826.??.??"] [Round "?"] [White "William Evans"] [Black "Alexander MacDonnell"] [Result "*"] [PlyCount "17"] [FEN "r3k2r/ppp2Npp/1b5n/4p2b/2B1P2q/BQP2P2/P5PP/RN5K w kq - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bb5+ c6 2. Qe6+ Qe7 3. Qxe7# * [Event "?"] [Site "London"] [Date "1829.??.??"] [Round "?"] [White "William Evans"] [Black "Alexander MacDonnell"] [Result "*"] [PlyCount "17"] [FEN "r1b3kr/ppp1Bp1p/1b6/n2P4/2p3q1/2Q2N2/P4PPP/RN2R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxh8+ Kxh8 2. Bf6+ Kg8 3. Re8# * [Event "?"] [Site "London"] [Date "1846.??.??"] [Round "?"] [White "Daniel Harrwitz"] [Black "Bernhard Horwitz"] [Result "*"] [PlyCount "17"] [FEN "3q1r1k/2p4p/1p1pBrp1/p2Pp3/2PnP3/5PP1/PP1Q2K1/5R1R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxh7+ Kxh7 2. Rh1+ Kg7 3. Qh6# * [Event "?"] [Site "Berlin"] [Date "1851.??.??"] [Round "?"] [White "Adolf Anderssen"] [Black "Ernst Falkbeer"] [Result "*"] [PlyCount "17"] [FEN "8/2p3N1/6p1/5PB1/pp2Rn2/7k/P1p2K1P/3r4 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Re3+ Kxh2 2. Bxf4+ Kh1 3. Rh3# * [Event "?"] [Site "London"] [Date "1851.??.??"] [Round "?"] [White "Adolf Anderssen"] [Black "Lionel Kieseritzky"] [Result "*"] [PlyCount "17"] [FEN "r1b1k1nr/p2p1ppp/n2B4/1p1NPN1P/6P1/3P1Q2/P1P1K3/q5b1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nxg7+ Kd8 2. Qf6+ Nxf6 3. Be7# * [Event "?"] [Site "Leipzig"] [Date "1855.??.??"] [Round "?"] [White "Adolf Anderssen"] [Black "G Lepge"] [Result "*"] [PlyCount "17"] [FEN "1q2r3/k4p2/prQ2b1p/R7/1PP1B1p1/6P1/P5K1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxa6+ Rxa6 2. Qd7+ Kb6 3. c5# * [Event "?"] [Site "?"] [Date "1857.??.??"] [Round "?"] [White "Louis Paulsen"] [Black "NN"] [Result "*"] [PlyCount "17"] [FEN "r1bqr1k1/ppp2pp1/3p4/4n1NQ/2B1PN2/8/P4PPP/b4RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxf7+ Nxf7 2. Bxf7+ Kf8 3. Ng6# * [Event "?"] [Site "New Orleans"] [Date "1858.??.??"] [Round "?"] [White "Paul Morphy"] [Black "NN"] [Result "*"] [PlyCount "17"] [FEN "3r4/pp5Q/B7/k7/3q4/2b5/P4PPP/1R4K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rb5+ Ka4 2. Qc2+ Ka3 3. Qb3# * [Event "?"] [Site "Leipzig"] [Date "1861.??.??"] [Round "?"] [White "A Saalbach"] [Black "H Pollmaecher"] [Result "*"] [PlyCount "17"] [FEN "rnbk1b1r/ppqpnQ1p/4p1p1/2p1N1B1/4N3/8/PPP2PPP/R3KB1R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qe8+ Kxe8 2. Nf6+ Kd8 3. Nf7# * [Event "?"] [Site "London"] [Date "1862.??.??"] [Round "?"] [White "Frederic Deacon"] [Black "Valentine Green"] [Result "*"] [PlyCount "17"] [FEN "3rnr1k/p1q1b1pB/1pb1p2p/2p1P3/2P2N2/PP4P1/1BQ4P/4RRK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ng6+ Kxh7 2. Nxf8+ Kg8 3. Qh7# * [Event "?"] [Site "Dusseldorf"] [Date "1863.??.??"] [Round "?"] [White "Louis Paulsen"] [Black "C Bollen"] [Result "*"] [PlyCount "17"] [FEN "k7/1p1rr1pp/pR1p1p2/Q1pq4/P7/8/2P3PP/1R4K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxa6+ bxa6 2. Qxa6+ Ra7 3. Qc8# * [Event "?"] [Site "Vienna"] [Date "1873.??.??"] [Round "?"] [White "Joseph Blackburne"] [Black "Adolf Anderssen"] [Result "*"] [PlyCount "17"] [FEN "Q4R2/3kr3/1q3n1p/2p1p1p1/1p1bP1P1/1B1P3P/2PBK3/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qc8+ Kd6 2. Rxf6+ Re6 3. Rxe6# * [Event "?"] [Site "Vienna"] [Date "1873.??.??"] [Round "?"] [White "Joseph Blackburne"] [Black "Adolf Schwarz"] [Result "*"] [PlyCount "17"] [FEN "2rrk3/QR3pp1/2n1b2p/1BB1q3/3P4/8/P4PPP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Re7+ Kf8 2. Re8+ Kxe8 3. Qe7# * [Event "?"] [Site "London"] [Date "1875.??.??"] [Round "?"] [White "Johannes Zukertort"] [Black "William Potter"] [Result "*"] [PlyCount "17"] [FEN "3r4/pR2N3/2pkb3/5p2/8/2B5/qP3PPP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Be5+ Kc5 2. Rc1+ Bc4 3. b4# * [Event "?"] [Site "corr."] [Date "1879.??.??"] [Round "?"] [White "Mikhail Chigorin"] [Black "Yakubovich"] [Result "*"] [PlyCount "17"] [FEN "5qrk/p3b1rp/4P2Q/5P2/1pp5/5PR1/P6P/B6K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxh7+ Kxh7 2. Rh3+ Bh4 3. Rxh4# * [Event "?"] [Site "Simul"] [Date "1882.??.??"] [Round "?"] [White "Joseph Blackburne"] [Black "Smith"] [Result "*"] [PlyCount "17"] [FEN "r1nk3r/2b2ppp/p3bq2/3pN3/Q2P4/B1NB4/P4PPP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nc6+ Kd7 2. Na5+ Kd8 3. Nb7# * [Event "?"] [Site "London"] [Date "1883.??.??"] [Round "?"] [White "Joseph Blackburne"] [Black "Wilhelm Steinitz"] [Result "*"] [PlyCount "17"] [FEN "r1n5/pp2q1kp/2ppr1p1/4p1Q1/8/2N4R/PPP3PP/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh6+ Kg8 2. Rf8+ Qxf8 3. Qxh7# * [Event "?"] [Site "Hamburg"] [Date "1885.??.??"] [Round "?"] [White "George Mackenzie"] [Black "Siegbert Tarrasch"] [Result "*"] [PlyCount "17"] [FEN "2bn1rk1/5q2/2p3N1/2PpB1p1/1P4p1/4P3/2Q3K1/R7 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ne7+ Qxe7 2. Qg6+ Qg7 3. Qxg7# * [Event "?"] [Site "London"] [Date "1886.??.??"] [Round "?"] [White "Henry Bird"] [Black "NN"] [Result "*"] [PlyCount "17"] [FEN "rnb1k2r/ppppbN1p/5n2/7Q/4P3/2N5/PPPP3P/R1B1KB1q w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nd6+ Kd8 2. Qe8+ Nxe8 3. Nf7# * [Event "?"] [Site "England"] [Date "1886.??.??"] [Round "?"] [White "Joseph Blackburne"] [Black "NN"] [Result "*"] [PlyCount "17"] [FEN "r1bq3r/ppp1nQ2/2kp1N2/6N1/3bP3/8/P2n1PPP/1R3RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rfc1+ Bc5 2. Qd5+ Nxd5 3. exd5# * [Event "?"] [Site "Regensberg"] [Date "1887.??.??"] [Round "?"] [White "L Bachmann"] [Black "Fiechtl"] [Result "*"] [PlyCount "17"] [FEN "r1bq1k1r/pp2R1pp/2pp1p2/1n1N4/8/3P1Q2/PPP2PPP/R1B3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxf6+ gxf6 2. Bh6+ Kg8 3. Nxf6# * [Event "?"] [Site "New York"] [Date "1889.??.??"] [Round "?"] [White "James Mason"] [Black "Jean Taubenhaus"] [Result "*"] [PlyCount "17"] [FEN "1r4r1/5Q2/3q4/3pk3/4p1p1/6P1/PP4BP/4RR1K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rd1 Rg5 2. Rxd5+ Qxd5 3. Qf6# * [Event "?"] [Site "Zugridi"] [Date "1892.??.??"] [Round "?"] [White "Dadian"] [Black "Bitcham"] [Result "*"] [PlyCount "17"] [FEN "r5kr/pppN1pp1/1bn1R3/1q1N2Bp/3p2Q1/8/PPP2PPP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. N5f6+ gxf6 2. Bh6+ hxg4 3. Nxf6# * [Event "?"] [Site "Nuremberg"] [Date "1892.??.??"] [Round "?"] [White "Siegbert Tarrasch"] [Black "Eckart"] [Result "*"] [PlyCount "17"] [FEN "r1bq1r1k/pp2n1pp/8/3N1p2/2B4R/8/PPP2QPP/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxh7+ Kxh7 2. Qh4+ Kg6 3. Nf4# * [Event "?"] [Site "Vienna"] [Date "1893.??.??"] [Round "?"] [White "A Neumann"] [Black "Joseph Holzwarth"] [Result "*"] [PlyCount "17"] [FEN "2b3rk/1q3p1p/p1p1pPpQ/4N3/2pP4/2P1p1P1/1P4PK/5R2 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh1 e2 2. Qxh7+ Kxh7 3. Kg1# * [Event "?"] [Site "?"] [Date "1893.??.??"] [Round "?"] [White "Orchard"] [Black "Constant Burille"] [Result "*"] [PlyCount "17"] [FEN "1r4kr/Q1bRBppp/2b5/8/2B1q3/6P1/P4P1P/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxb8+ Bxb8 2. Rd8+ Be8 3. Rxe8# * [Event "?"] [Site "Edinburgh"] [Date "1894.??.??"] [Round "?"] [White "Joseph Blackburne"] [Black "Forsyth"] [Result "*"] [PlyCount "17"] [FEN "rk1q3r/pp1Qbp1p/4pp2/8/4N3/6P1/PP3PBP/2R3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nxf6 Qb6 2. Qe8+ Rxe8 3. Nd7# * [Event "?"] [Site "Craigside"] [Date "1897.??.??"] [Round "?"] [White "G Bellingham"] [Black "A Rutherford"] [Result "*"] [PlyCount "17"] [FEN "2r1b3/1pp1qrk1/p1n1P1p1/7R/2B1p3/4Q1P1/PP3PP1/3R2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh6+ Kf6 2. Rf5+ Kxf5 3. Qf4# * [Event "?"] [Site "Vienna"] [Date "1898.??.??"] [Round "?"] [White "Georg Marco"] [Black "Herbert Trenchard"] [Result "*"] [PlyCount "17"] [FEN "1qk1r2r/Qp4pp/1Rp5/4Nb2/2PPp3/8/P1P2PPP/1R4K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxc6+ Kd8 2. Qxb8+ Ke7 3. Qd6# * [Event "?"] [Site "Berlin"] [Date "1899.??.??"] [Round "?"] [White "Geza Maroczy"] [Black "Heinrich Wolf"] [Result "*"] [PlyCount "17"] [FEN "2r5/2p2k1p/pqp1RB2/2r5/PbQ2N2/1P3PP1/2P3P1/4R2K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Re7+ Kxf6 2. Qe6+ Kg5 3. Rg7# * [Event "?"] [Site "Prague"] [Date "1900.??.??"] [Round "?"] [White "Distl"] [Black "Filip Rozsypal"] [Result "*"] [PlyCount "17"] [FEN "r1b1kb1r/pp2nppp/2pQ4/8/2q1P3/8/P1PB1PPP/3RK2R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qd8+ Kxd8 2. Ba5+ Ke8 3. Rd8# * [Event "?"] [Site "Vienna"] [Date "1903.??.??"] [Round "?"] [White "Kaldegg"] [Black "Zeissel"] [Result "*"] [PlyCount "17"] [FEN "r1bk2nr/ppp2ppp/3p4/bQ3q2/3p4/B1P5/P3BPPP/RN1KR3 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qe8+ Kxe8 2. Bb5+ Kd8 3. Re8# * [Event "?"] [Site "Cambridge Springs"] [Date "1904.??.??"] [Round "?"] [White "Georg Marco"] [Black "Albert Hodges"] [Result "*"] [PlyCount "17"] [FEN "3r4/1nb1kp2/p1p2N2/1p2pPr1/8/1BP2P2/PP1R4/2KR4 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rd7+ Rxd7 2. Rxd7+ Kxf6 3. Rxf7# * [Event "?"] [Site "Hastings"] [Date "1904.??.??"] [Round "?"] [White "Napier"] [Black "NN"] [Result "*"] [PlyCount "17"] [FEN "rn4nr/pppq2bk/7p/5b1P/4NBQ1/3B4/PPP3P1/R3K2R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qg6+ Bxg6 2. Ng5+ hxg5 3. hxg6# * [Event "?"] [Site "Scheveningen"] [Date "1905.??.??"] [Round "?"] [White "Benjamin Leussen"] [Black "Oldrich Duras"] [Result "*"] [PlyCount "17"] [FEN "rr3k2/pppq1pN1/1b1p1BnQ/1b2p1N1/4P3/2PP3P/PP3PP1/R4RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. N7e6+ Ke8 2. Qf8+ Nxf8 3. Ng7# * [Event "?"] [Site "Barmen"] [Date "1905.??.??"] [Round "?"] [White "Post"] [Black "Lee"] [Result "*"] [PlyCount "17"] [FEN "r4k1r/2pQ1pp1/p4q1p/2N3N1/1p3P2/8/PP3PPP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qe8+ Rxe8 2. Nd7+ Kg8 3. Rxe8# * [Event "?"] [Site "Tangier"] [Date "1907.??.??"] [Round "?"] [White "K Kunitz"] [Black "B Salamon"] [Result "*"] [PlyCount "17"] [FEN "r2qkbnr/pppb2pp/5pn1/3Pp3/4Q3/2PBBN2/PP4PP/RN2K2R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxg6+ hxg6 2. Bxg6+ Ke7 3. Bc5# * [Event "?"] [Site "Carlsbad"] [Date "1907.??.??"] [Round "?"] [White "Oldrich Duras"] [Black "Adolf Olland"] [Result "*"] [PlyCount "17"] [FEN "r5r1/p1q2p1k/1p1R2pB/3pP3/6bQ/2p5/P1P1NPPP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bf8+ Bh5 2. Qxh5+ gxh5 3. Rh6# * [Event "?"] [Site "Tangier"] [Date "1907.??.??"] [Round "?"] [White "K Kunitz"] [Black "B Salamon"] [Result "*"] [PlyCount "17"] [FEN "r2qkbnr/pppb2pp/5pn1/3Pp3/4Q3/2PBBN2/PP4PP/RN2K2R w KQkq - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxg6+ hxg6 2. Bxg6+ Ke7 3. Bc5# * [Event "?"] [Site "St Louis"] [Date "1909.??.??"] [Round "?"] [White "JR Capablanca"] [Black "TA Carter"] [Result "*"] [PlyCount "17"] [FEN "6rk/p1q2p2/2p1rb1P/1p2pN2/4P1Q1/2PP4/PPB5/2K4R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qg7+ Rxg7 2. hxg7+ Kg8 3. Rh8# * [Event "?"] [Site "Munich"] [Date "1909.??.??"] [Round "?"] [White "Rudolf Spielmann"] [Black "Saviely Tartakower"] [Result "*"] [PlyCount "17"] [FEN "r3nrkq/pp3p1p/2p3nQ/5NN1/8/3BP3/PPP3PP/2KR4 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ne7+ Nxe7 2. Bxh7+ Qxh7 3. Qxh7# * [Event "?"] [Site "Vienna"] [Date "1910.??.??"] [Round "?"] [White "Richard Reti"] [Black "Saviely Tartakower"] [Result "*"] [PlyCount "17"] [FEN "rnb1kb1r/pp3ppp/2p5/4q3/4n3/3Q4/PPPB1PPP/2KR1BNR w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qd8+ Kxd8 2. Bg5+ Kc7 3. Bd8# * [Event "?"] [Site "New York"] [Date "1911.??.??"] [Round "?"] [White "Oscar Chajes"] [Black "Charles Jaffe"] [Result "*"] [PlyCount "17"] [FEN "4k3/r2bnn1r/1q2pR1p/p2pPp1B/2pP1N1P/PpP1B3/1P4Q1/5KR1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qg8+ Nxg8 2. Rxg8+ Ke7 3. Ng6# * [Event "?"] [Site "San Sebastian"] [Date "1911.??.??"] [Round "?"] [White "Oldrich Duras"] [Black "Amos Burn"] [Result "*"] [PlyCount "17"] [FEN "8/p3Q2p/6pk/1N6/4nP2/7P/P5PK/3rr3 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qf8+ Kh5 2. g4+ Kh4 3. Qh6# * [Event "?"] [Site "Buenos Aires"] [Date "1913.??.??"] [Round "?"] [White "Arnoldo Ellerman"] [Black "V Sarracan"] [Result "*"] [PlyCount "17"] [FEN "6rb/1p2k3/p2p1nQ1/q1p1p2r/B1P1P3/2N4P/PP4P1/1R3RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nd5+ Kd8 2. Qxg8+ Nxg8 3. Rf8# * [Event "?"] [Site "St Petersburg"] [Date "1914.??.??"] [Round "?"] [White "Emanuel Lasker"] [Black "Frank Marshall"] [Result "*"] [PlyCount "17"] [FEN "1k1r4/3b1p2/QP1b3p/1p1p4/3P2pN/1R4P1/KPPq1PP1/4r2R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qa7+ Kc8 2. Qa8+ Bb8 3. Qa6# * [Event "?"] [Site "Odessa"] [Date "1916.??.??"] [Round "?"] [White "Alexander Alekhine"] [Black "S Wainstein"] [Result "*"] [PlyCount "17"] [FEN "r3q2k/1bn2p2/p4P1p/1pPp2R1/3P4/P1N1Q3/1PB3PP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rg8+ Kxg8 2. Qg3+ Kh8 3. Qg7# * [Event "?"] [Site "Chicago"] [Date "1916.??.??"] [Round "?"] [White "Gessner"] [Black "Whitaker"] [Result "*"] [PlyCount "17"] [FEN "r1b2r2/pp3Npk/6np/8/2q1N3/4Q3/PPP2RPP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nf6+ gxf6 2. Qxh6+ Kg8 3. Qxg6# * [Event "?"] [Site "corr."] [Date "1917.??.??"] [Round "?"] [White "Elekes"] [Black "Zitzen"] [Result "*"] [PlyCount "17"] [FEN "r1b2k1r/1p1p1pp1/p2P4/4N1Bp/3p4/8/PPB2P2/2K1R3 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ng6+ fxg6 2. Bxg6 h4 3. Re8# * [Event "?"] [Site "Copenhagen"] [Date "1918.??.??"] [Round "?"] [White "Holger Norman-Hansen"] [Black "Finkelstein"] [Result "*"] [PlyCount "17"] [FEN "r1b5/kpQ4p/p1q5/2P5/3B4/8/P4PPP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qb6+ Qxb6 2. cxb6+ Kb8 3. Be5# * [Event "?"] [Site "Utrecht"] [Date "1921.??.??"] [Round "?"] [White "Adolf Georg Olland"] [Black "Max Euwe"] [Result "*"] [PlyCount "17"] [FEN "4rk2/2pQ1p2/2p2B2/2P1P2q/1b4R1/1P6/r5PP/2R3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bg7+ Kg8 2. Qxe8+ Kh7 3. Qh8# * [Event "?"] [Site "London"] [Date "1922.??.??"] [Round "?"] [White "Milan Vidmar Sr"] [Black "Saviely Tartakower"] [Result "*"] [PlyCount "17"] [FEN "4R3/1p4rk/6p1/2pQBpP1/p1P1pP2/Pq6/1P6/K7 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qd7 Qxa3+ 2. bxa3 Rxd7 3. Rh8# * [Event "?"] [Site "Amsterdam"] [Date "1923.??.??"] [Round "?"] [White "Max Euwe"] [Black "Lohr"] [Result "*"] [PlyCount "17"] [FEN "1rbk1r2/pp4R1/3Np3/3p2p1/6q1/BP2P3/P2P2B1/2R3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxc8+ Rxc8 2. Nxb7+ Ke8 3. Re7# * [Event "?"] [Site "Antwerp"] [Date "1923.??.??"] [Round "?"] [White "George Koltanowski"] [Black "Arthur Dunkelblum"] [Result "*"] [PlyCount "17"] [FEN "rn2kb1r/pp2pp1p/2p2p2/8/8/3Q1N2/qPPB1PPP/2KR3R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qd8+ Kxd8 2. Ba5+ Kc8 3. Rd8# * [Event "?"] [Site "London"] [Date "1923.??.??"] [Round "?"] [White "Somers"] [Black "NN"] [Result "*"] [PlyCount "17"] [FEN "r1bqkb1r/ppp1n3/3p1nNp/4pp1Q/2B1P3/3P4/PPP2PPP/R1B2RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nxe5+ Ng6 2. Qxg6+ Ke7 3. Qf7# * [Event "?"] [Site "New York"] [Date "1924.??.??"] [Round "?"] [White "Alexander Alekhine"] [Black "Freeman"] [Result "*"] [PlyCount "17"] [FEN "4Rnk1/pr3ppp/1p3q2/5NQ1/2p5/8/P4PPP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nh6+ Qxh6 2. Rxf8+ Kxf8 3. Qd8# * [Event "?"] [Site "Gyor"] [Date "1924.??.??"] [Round "?"] [White "Janos Balogh"] [Black "Geza Maroczy"] [Result "*"] [PlyCount "17"] [FEN "1r2r1k1/4bpp1/b1q1pBn1/p2pP1Q1/2pP2N1/P1P4R/5PP1/1N3RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh8+ Kxh8 2. Qh6+ Kg8 3. Qxg7# * [Event "?"] [Site "Perth"] [Date "1924.??.??"] [Round "?"] [White "Boris Kostic"] [Black "Coleman"] [Result "*"] [PlyCount "17"] [FEN "r5rk/2b2p1p/1pppq3/5Np1/p1n4Q/P4R2/1PB3PP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxh7+ Kxh7 2. Rh3+ Qh6 3. Rxh6# * [Event "?"] [Site "London"] [Date "1924.??.??"] [Round "?"] [White "Meergrun"] [Black "NN"] [Result "*"] [PlyCount "17"] [FEN "r1b1k1nr/p5bp/p1pBq1p1/3pP1P1/N4Q2/8/PPP1N2P/R4RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qf8+ Bxf8 2. Rxf8+ Kd7 3. Nc5# * [Event "?"] [Site "Basel"] [Date "1925.??.??"] [Round "?"] [White "Alexander Alekhine"] [Black "K Meck"] [Result "*"] [PlyCount "17"] [FEN "6r1/6rk/pq1P4/1p2p1pB/2p1P2Q/2P3RP/PP4PK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bg6+ Kxg6 2. Qxg5+ Kf7 3. Qe7# * [Event "?"] [Site "USSR"] [Date "1925.??.??"] [Round "?"] [White "Grigory Lowenfisch"] [Black "Freymann"] [Result "*"] [PlyCount "17"] [FEN "b2rB3/p7/1n2kp2/2b2N1Q/2p1rP2/2P5/P5PP/5R1K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qf7+ Kxf5 2. g4+ Kxg4 3. Qh5# * [Event "?"] [Site "Baden-Baden"] [Date "1925.??.??"] [Round "?"] [White "Frank J Marshall"] [Black "Ilya Rabinovich"] [Result "*"] [PlyCount "17"] [FEN "5kqQ/1b1r2p1/ppn1p1Bp/2b5/2P2rP1/P4N2/1B5P/4RR1K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxe6 Re7 2. Bxg7+ Rxg7 3. Re8# * [Event "?"] [Site "Debrecen"] [Date "1925.??.??"] [Round "?"] [White "David Przepiorka"] [Black "Lajos Steiner"] [Result "*"] [PlyCount "17"] [FEN "5rk1/n1p1R1bp/p2p4/1qpP1QB1/7P/2P3P1/PP3P2/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxg7+ Kxg7 2. Bh6+ Kxh6 3. Qg5# * [Event "?"] [Site "Buenos Aires"] [Date "1927.??.??"] [Round "?"] [White "C Portela"] [Black "A Nogues Acuna"] [Result "*"] [PlyCount "17"] [FEN "r2q4/p2nR1bk/1p1Pb2p/4p2p/3nN3/B2B3P/PP1Q2P1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nf6+ Kh8 2. Qxh6+ Bxh6 3. Rh7# * [Event "?"] [Site "Bremen"] [Date "1927.??.??"] [Round "?"] [White "Heinrich Wagner"] [Black "Alfred Binckmann"] [Result "*"] [PlyCount "17"] [FEN "6k1/2b3r1/8/6pR/2p3N1/2PbP1PP/1PB2R1K/2r5 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nh6+ Kh8 2. Nf7+ Kg8 3. Rh8# * [Event "?"] [Site "London"] [Date "1927.??.??"] [Round "?"] [White "Henri Weenink"] [Black "Hans Kmoch"] [Result "*"] [PlyCount "17"] [FEN "r5n1/ppp1q3/2bp2kp/5rP1/3Qp3/2N5/PPP1B3/2KR3R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bh5+ Kxg5 2. Rdg1+ Kf4 3. Ne2# * [Event "?"] [Site "Hague"] [Date "1928.??.??"] [Round "?"] [White "Karel Treybal"] [Black "Walter Henneberger"] [Result "*"] [PlyCount "17"] [FEN "5b2/pp2r1pk/2pp1R1p/4rP1N/2P1P3/1P4Q1/P3q1PP/5R1K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxh6+ gxh6 2. Nf6+ Kh8 3. Qg8# * [Event "?"] [Site "Tenby"] [Date "1928.??.??"] [Round "?"] [White "Eugene Znosko-Borovsky"] [Black "Daniel Noteboom"] [Result "*"] [PlyCount "17"] [FEN "qn1r1k2/2r1b1np/pp1pQ1p1/3P2P1/1PP2P2/7R/PB4BP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxh7 Nxe6 2. Rh8+ Kf7 3. dxe6# * [Event "?"] [Site "San Remo"] [Date "1930.??.??"] [Round "?"] [White "Roberto Grau"] [Black "Edgard Colle"] [Result "*"] [PlyCount "17"] [FEN "1k5r/pP3ppp/3p2b1/1BN1n3/1Q2P3/P1B5/KP3P1P/7q w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Na6+ Kxb7 2. Bd7+ Kxa6 3. Qb5# * [Event "?"] [Site "Hamburg"] [Date "1930.??.??"] [Round "?"] [White "Amos Pokorny"] [Black "Karl Berndtsson"] [Result "*"] [PlyCount "17"] [FEN "r1qr2k1/2p3b1/1p2P2R/2pPp3/2P3PQ/pPN5/P1B3K1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh8+ Bxh8 2. Qh7+ Kf8 3. Qf7# * [Event "?"] [Site "Prague"] [Date "1931.??.??"] [Round "?"] [White "Johannes Addicks"] [Black "Mladen Gudjev"] [Result "*"] [PlyCount "17"] [FEN "r1b1r1kq/pppnpp1p/1n4pB/8/4N2P/1BP5/PP2QPP1/R3K2R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bxf7+ Kxf7 2. Ng5+ Kg8 3. Qe6# * [Event "?"] [Site "Hastings"] [Date "1931.??.??"] [Round "?"] [White "Etienne Vezer"] [Black "John O'Hanlon"] [Result "*"] [PlyCount "17"] [FEN "r1b1rk2/pp1nbNpB/2p1p2p/q2nB3/3P3P/2N1P3/PPQ2PP1/2KR3R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bxg7+ Kxg7 2. Qg6+ Kf8 3. Qg8# * [Event "?"] [Site "corr."] [Date "1932.??.??"] [Round "?"] [White "Paul Keres"] [Black "Verbak"] [Result "*"] [PlyCount "17"] [FEN "rnbq1b1r/pp4kp/5np1/4p2Q/2BN1R2/4B3/PPPN2PP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh6+ Kxh6 2. Rh4+ Kg7 3. Bh6# * [Event "?"] [Site "Hague"] [Date "1933.??.??"] [Round "?"] [White "Max Euwe"] [Black "FA Spinhoven"] [Result "*"] [PlyCount "17"] [FEN "2r1b2k/pp2P1p1/6Pn/2p1P1N1/2P5/8/PP6/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rf8+ Ng8 2. Rxe8 Rxe8 3. Nf7# * [Event "?"] [Site "Hastings"] [Date "1933.??.??"] [Round "?"] [White "Andor Lilienthal"] [Black "Vera Menchik"] [Result "*"] [PlyCount "17"] [FEN "r3r2k/4b2B/pn3p2/q1p4R/6b1/4P3/PPQ1NPPP/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bg8+ Kxg8 2. Qg6+ Kf8 3. Rh8# * [Event "?"] [Site "Ujpest"] [Date "1934.??.??"] [Round "?"] [White "Andor Lilienthal"] [Black "Erich Eliskases"] [Result "*"] [PlyCount "17"] [FEN "4N1nk/p5R1/4b2p/3pPp1Q/2pB1P1K/2P3PP/7r/2q5 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxg8+ Bxg8 2. Qxh6+ Bh7 3. Qg7# * [Event "?"] [Site "Germany"] [Date "1935.??.??"] [Round "?"] [White "Karl Ahues"] [Black "Gerhard Weissgerber"] [Result "*"] [PlyCount "17"] [FEN "7R/5rp1/2p1r1k1/2q5/4pP1Q/4P3/5PK1/7R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh6+ gxh6 2. Qxh6+ Kf5 3. Qg5# * [Event "?"] [Site "USA"] [Date "1937.??.??"] [Round "?"] [White "Arnold Denker"] [Black "H Baker"] [Result "*"] [PlyCount "17"] [FEN "r4r1k/p5Rp/1p3pb1/2P4N/2B5/P7/6PP/B2n2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rg8+ Rxg8 2. Bxf6+ Rg7 3. Bxg7# * [Event "?"] [Site "Stockholm"] [Date "1937.??.??"] [Round "?"] [White "Petar Trifunovic"] [Black "Fritzis Apsheniek"] [Result "*"] [PlyCount "17"] [FEN "r6r/pp1Q2pp/2p4k/4R3/5P2/2q5/P1P3PP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh5+ Kxh5 2. Qf5+ Kh6 3. Qg5# * [Event "?"] [Site "Buenos Aires"] [Date "1939.??.??"] [Round "?"] [White "Jose Raul Capablanca"] [Black "G Vassaux"] [Result "*"] [PlyCount "17"] [FEN "r3br1k/pp5p/4B1p1/4NpP1/P2Pn3/q1PQ3R/7P/3R2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxh7+ Kxh7 2. Qh3+ Kg7 3. Qh6# * [Event "?"] [Site "Groningen"] [Date "1946.??.??"] [Round "?"] [White "Ossip Bernstein"] [Black "Alexander Kotov"] [Result "*"] [PlyCount "17"] [FEN "R6R/1r3pp1/4p1kp/3pP3/1r2qPP1/7P/1P1Q3K/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. f5+ exf5 2. Qxh6+ gxh6 3. Rag8# * [Event "?"] [Site "USSR"] [Date "1946.??.??"] [Round "?"] [White "David Bronstein"] [Black "Grigory Lowenfische"] [Result "*"] [PlyCount "17"] [FEN "r3kr2/6Qp/1Pb2p2/pB3R2/3pq2B/4n3/1P4PP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Re5+ Qxe5 2. Bxc6+ Kd8 3. Qd7# * [Event "?"] [Site "Ljubljana"] [Date "1947.??.??"] [Round "?"] [White "Svetozar Gligoric"] [Black "Miroslav Radojcic"] [Result "*"] [PlyCount "17"] [FEN "5qr1/pr3p1k/1n1p2p1/2pPpP1p/P3P2Q/2P1BP1R/7P/6RK w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxh5+ gxh5 2. Rxh5+ Qh6 3. Rxh6# * [Event "?"] [Site "Leningrad"] [Date "1947.??.??"] [Round "?"] [White "Mark Taimanov"] [Black "Grigory Goldberg"] [Result "*"] [PlyCount "17"] [FEN "1r1b1n2/1pk3p1/4P2p/3pP3/3N4/1p2B3/6PP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nb5+ Kc6 2. Na7+ Kc7 3. Rc1# * [Event "?"] [Site "Helsinki"] [Date "1952.??.??"] [Round "?"] [White "Paul Mueller"] [Black "Wladyslaw Litmanowicz"] [Result "*"] [PlyCount "17"] [FEN "r3nrk1/1p1b2pp/3p2n1/3PpNP1/3Q4/1q5P/3N1R2/1B3RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ne7+ Kh8 2. Rxf8+ Nxf8 3. Rxf8# * [Event "?"] [Site "Helsinki"] [Date "1952.??.??"] [Round "?"] [White "Carl Poschauko"] [Black "Jan-Heim Donner"] [Result "*"] [PlyCount "17"] [FEN "r5rk/ppq2p2/2pb1P1B/3n4/3P4/2PB3P/PP1QNP2/1K6 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bg7+ Rxg7 2. Qh6+ Rh7 3. Qxh7# * [Event "?"] [Site "Copenhagen"] [Date "1953.??.??"] [Round "?"] [White "Olafsson"] [Black "James Sherwin"] [Result "*"] [PlyCount "17"] [FEN "7k/5p2/2b2p1B/1pn1p2p/4P3/q1P2PPB/3Q1K1P/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qd8+ Kh7 2. Bf5+ Kxh6 3. Qxf6# * [Event "?"] [Site "Buenos Aires"] [Date "1953.??.??"] [Round "?"] [White "Samuel Reshevsky"] [Black "Miguel Najdorf"] [Result "*"] [PlyCount "17"] [FEN "2Q1N1k1/5p2/1b2p2p/3bN1p1/nq4P1/6BP/5P2/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nf6+ Kg7 2. Qg8+ Kxf6 3. Qxf7# * [Event "?"] [Site "Tbilisi"] [Date "1956.??.??"] [Round "?"] [White "viktor Korchnoi"] [Black "Lev Polugaevsky"] [Result "*"] [PlyCount "17"] [FEN "3r1rk1/2qP1p2/p2R2pp/6b1/6P1/2pQR2P/P1B2P2/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxg6+ Kh8 2. Rxh6+ Bxh6 3. Qh7# * [Event "?"] [Site "Tonder"] [Date "1956.??.??"] [Round "?"] [White "Bent Larsen"] [Black "Hansen"] [Result "*"] [PlyCount "17"] [FEN "r3q1rk/1pp3pb/pb5Q/3pB3/3P4/2P2N1P/PP1N2P1/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ng5 Qg6 2. Qxh7+ Qxh7 3. Nf7# * [Event "?"] [Site "Moscow"] [Date "1956.??.??"] [Round "?"] [White "Gideon Stahlberg"] [Black "A Westol"] [Result "*"] [PlyCount "17"] [FEN "6qk/4rRn1/1p3NQp/p3P3/8/1P2b2P/PB4PK/3r4 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh7+ Qxh7 2. Rf8+ Qg8 3. Rxg8# * [Event "?"] [Site "Wageningen"] [Date "1957.??.??"] [Round "?"] [White "Jan-Hein Donner"] [Black "Bent Larsen"] [Result "*"] [PlyCount "17"] [FEN "3rk3/1b4BR/3p2p1/3P4/1r4n1/1P6/6BP/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rf8+ Kd7 2. Bf6+ Kc8 3. Rxd8# * [Event "?"] [Site "Reykjavik"] [Date "1957.??.??"] [Round "?"] [White "Fridrik Olafsson"] [Black "Herman Pilnik"] [Result "*"] [PlyCount "17"] [FEN "r5k1/1b1r1p1p/ppq1nBpQ/2p1P3/5p2/2PB2R1/P1P3PP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxh7+ Kxh7 2. Rh3+ Kg8 3. Rh8# * [Event "?"] [Site "Leipzig"] [Date "1960.??.??"] [Round "?"] [White "Paul Keres"] [Black "Corvin Radovici"] [Result "*"] [PlyCount "17"] [FEN "2b2rk1/2q2pp1/1p1R3p/8/1PBQ4/7P/5PP1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rg6 Qe5 2. Qxe5 Be6 3. Qxg7# * [Event "?"] [Site "Moscow"] [Date "1961.??.??"] [Round "?"] [White "David Bronstein"] [Black "Efim Geller"] [Result "*"] [PlyCount "17"] [FEN "4r1k1/pR3pp1/1n3P1p/q2p4/5N1P/P1rQpP2/8/2B2RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qg6 fxg6 2. Rxg7+ Kf8 3. Nxg6# * [Event "?"] [Site "corr."] [Date "1961.??.??"] [Round "?"] [White "Marco Piccardo"] [Black "Piranty"] [Result "*"] [PlyCount "17"] [FEN "3rkb1r/ppn2pp1/1qp1p2p/4P3/2P4P/3Q2N1/PP1B1PP1/1K1R3R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxd8+ Kxd8 2. Bg5+ Ke8 3. Rd8# * [Event "?"] [Site "Leningrad"] [Date "1962.??.??"] [Round "?"] [White "Alexander Tolush"] [Black "Gedeon Barcza"] [Result "*"] [PlyCount "17"] [FEN "2r3k1/1p1r1p1p/pnb1pB2/5p2/1bP5/1P2QP2/P1B3PP/4RK2 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh6 Bf8 2. Qg5+ Bg7 3. Qxg7# * [Event "?"] [Site "Kiev"] [Date "1963.??.??"] [Round "?"] [White "Anatoly Bannik"] [Black "Iskir Kurass"] [Result "*"] [PlyCount "17"] [FEN "5Q2/6r1/6pp/7k/2pq1P2/P5RP/1P4PK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rg5+ hxg5 2. Qh8+ Rh7 3. Qxh7# * [Event "?"] [Site "Halle"] [Date "1963.??.??"] [Round "?"] [White "Lubomir Kavalek"] [Black "Ilkka Kanko"] [Result "*"] [PlyCount "17"] [FEN "2bqQ3/p2n1pk1/2p2b2/6p1/P1PP2P1/1P3R2/6K1/7R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh7+ Kxh7 2. Qxf7+ Bg7 3. Rh3# * [Event "?"] [Site "Leningrad"] [Date "1963.??.??"] [Round "?"] [White "Ratmir Kholmov"] [Black "Alexei Suetin"] [Result "*"] [PlyCount "17"] [FEN "3Q3R/4rqp1/6k1/p3Pp1p/Pp3P1P/1Pp4K/2P5/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qd1 Rxe5 2. fxe5 Qe6 3. Qxh5# * [Event "?"] [Site "Habana"] [Date "1963.??.??"] [Round "?"] [White "Rene Letelier"] [Black "Gilberto Garcia"] [Result "*"] [PlyCount "17"] [FEN "rq2r1k1/1b3pp1/p3p1n1/1p4BQ/8/7R/PP3PPP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh7+ Kf8 2. Qh8+ Nxh8 3. Rxh8# * [Event "?"] [Site "corr."] [Date "1964.??.??"] [Round "?"] [White "Erhard Bernhoeft"] [Black "E Svedenloef"] [Result "*"] [PlyCount "17"] [FEN "r3kb1r/1b1n2pp/pq1pN3/1p1Q2B1/4P3/8/PPP2PPP/R4RK1 w kq - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nc7+ Qxc7 2. Qe6+ Be7 3. Qxe7# * [Event "?"] [Site "Krakow"] [Date "1964.??.??"] [Round "?"] [White "Lubomir Kavalek"] [Black "Drazen Marovic"] [Result "*"] [PlyCount "17"] [FEN "5rk1/ppR2p1p/q2p2pB/P2pb3/1P1n2P1/5Q1P/6B1/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxf7+ Rxf7 2. Rc8+ Rf8 3. Rxf8# * [Event "?"] [Site "Tel Aviv"] [Date "1964.??.??"] [Round "?"] [White "Lubomir Kavalek"] [Black "Coen Zuidema"] [Result "*"] [PlyCount "17"] [FEN "4r3/2p5/2p1q1kp/p1r1p1pN/P5P1/1P3P2/4Q3/3RB1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qe4+ Kf7 2. Qh7+ Kf8 3. Qg7# * [Event "?"] [Site "Titograd"] [Date "1965.??.??"] [Round "?"] [White "Rajko Bogdanovic"] [Black "Miso Cebalo"] [Result "*"] [PlyCount "17"] [FEN "1k1r4/1b1p2pp/PQ2p3/nN6/P3P3/8/6PP/2q2BK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qa7+ Kc8 2. axb7+ Nxb7 3. Qa8# * [Event "?"] [Site "Bognor Regis"] [Date "1965.??.??"] [Round "?"] [White "Robert Wade"] [Black "MR Myant"] [Result "*"] [PlyCount "17"] [FEN "5r2/pp2R3/1q1p3Q/2pP1b2/2Pkrp2/3B4/PPK2PP1/R7 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxe4+ Bxe4 2. Qg7+ Rf6 3. Qxf6# * [Event "?"] [Site "?"] [Date "1966.??.??"] [Round "?"] [White "Alexander Chernin"] [Black "O. Ermakov"] [Result "*"] [PlyCount "17"] [FEN "8/6pB/7p/2p4k/3b4/1P3RP1/r4PKP/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rf5+ g5 2. Kh3 Rxf2 3. g4# * [Event "?"] [Site "Kraljevo"] [Date "1967.??.??"] [Round "?"] [White "Rajko Bogdanovic"] [Black "Darko Gliksman"] [Result "*"] [PlyCount "17"] [FEN "5qr1/kp2R3/5p2/1b1N1p2/5Q2/P5P1/6BP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxb7+ Kxb7 2. Qc7+ Ka8 3. Nb6# * [Event "?"] [Site "URS"] [Date "1967.??.??"] [Round "?"] [White "Isaac Boleslavsky"] [Black "Roman Dzindzichashvili"] [Result "*"] [PlyCount "17"] [FEN "7r/1qr1nNp1/p1k4p/1pB5/4P1Q1/8/PP3PPP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qe6+ Kxc5 2. Qd6+ Kc4 3. Ne5# * [Event "?"] [Site "Sousse"] [Date "1967.??.??"] [Round "?"] [White "Robert Fischer"] [Black "Lhamsuren Miagmasuren"] [Result "*"] [PlyCount "17"] [FEN "2r2qk1/r4p1p/b3pBpQ/n3P2P/p2p3R/P5P1/2p2PB1/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxh7+ Kxh7 2. hxg6+ Kxg6 3. Be4# * [Event "?"] [Site "Skopje"] [Date "1967.??.??"] [Round "?"] [White "Robert Fischer"] [Black "Bela Soos"] [Result "*"] [PlyCount "17"] [FEN "b2k3r/1q4p1/p2p4/1p1N1Q2/4P3/P7/1PR4P/1K6 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qg5+ Ke8 2. Rc8+ Qxc8 3. Qe7# * [Event "?"] [Site "corr."] [Date "1967.??.??"] [Round "?"] [White "Karl Winter"] [Black "Guenter Schuchardt"] [Result "*"] [PlyCount "17"] [FEN "k2r3r/p3Rppp/1p4q1/1P1b4/3Q1B2/6N1/PP3PPP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxa7+ Kxa7 2. Qa4+ Kb7 3. Qa6# * [Event "?"] [Site "Sarajevo"] [Date "1968.??.??"] [Round "?"] [White "Rajko Bogdanovic"] [Black "Slavko Leban"] [Result "*"] [PlyCount "17"] [FEN "r1b5/5p2/5Npk/p1pP2q1/4P2p/1PQ2R1P/6P1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ng8+ Kh7 2. Rxf7+ Kxg8 3. Qg7# * [Event "?"] [Site "Lugano"] [Date "1968.??.??"] [Round "?"] [White "Samuel Reshevsky"] [Black "Daniel Yanofsky"] [Result "*"] [PlyCount "17"] [FEN "r1b2rk1/1p3pb1/2p3p1/p1B5/P3N3/1B1Q1Pn1/1PP3q1/2KR3R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nf6+ Bxf6 2. Qxg6+ Bg7 3. Qh7# * [Event "?"] [Site "Lugano"] [Date "1968.??.??"] [Round "?"] [White "Roman Toran Albero"] [Black "Cesar Malagon"] [Result "*"] [PlyCount "17"] [FEN "r1bq1rk1/p3b1np/1pp2ppQ/3nB3/3P4/2NB1N1P/PP3PP1/3R1RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ng5 Re8 2. Qxh7+ Kf8 3. Qh8# * [Event "?"] [Site "Mar del Plata"] [Date "1969.??.??"] [Round "?"] [White "Henrique Mecking"] [Black "Antonio Rocha"] [Result "*"] [PlyCount "17"] [FEN "rk5r/2p3pp/p1p5/4N3/4P3/2q4P/P4PP1/R2Q2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rb1+ Ka7 2. Qd4+ Qxd4 3. Nxc6# * [Event "?"] [Site "Minsk"] [Date "1971.??.??"] [Round "?"] [White "Georgy Bastrikov"] [Black "Izrail Kogan"] [Result "*"] [PlyCount "17"] [FEN "r3kb1r/1b4p1/pq2pn1p/1N2p3/8/3B2Q1/PPP2PPP/2KRR3 w kq - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bg6+ Ke7 2. Qa3+ Qd6 3. Qxd6# * [Event "?"] [Site "Mar del Plata"] [Date "1971.??.??"] [Round "?"] [White "Walter Browne"] [Black "Victor Brond"] [Result "*"] [PlyCount "17"] [FEN "4rk2/5p1b/1p3R1K/p6p/2P2P2/1P6/2q4P/Q5R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxf7+ Kxf7 2. Rg7+ Ke6 3. Qe5# * [Event "?"] [Site "Parnu"] [Date "1971.??.??"] [Round "?"] [White "Paul Keres"] [Black "Hillar Karner"] [Result "*"] [PlyCount "17"] [FEN "2bkr3/5Q1R/p2pp1N1/1p6/8/2q3P1/P4P1K/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ne5 dxe5 2. Qf6+ Re7 3. Qxe7# * [Event "?"] [Site "Ventura"] [Date "1971.??.??"] [Round "?"] [White "Michael McSorley"] [Black "Ben Kakimi"] [Result "*"] [PlyCount "17"] [FEN "r1b2nrk/1p3p1p/p2p1P2/5P2/2q1P2Q/8/PpP5/1K1R3R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxh7+ Nxh7 2. Rxh7+ Kxh7 3. Rh1# * [Event "?"] [Site "New York"] [Date "1972.??.??"] [Round "?"] [White "William Lombardy"] [Black "Larry Kaufman"] [Result "*"] [PlyCount "17"] [FEN "1k6/b2q1r2/p2PQ1p1/4Bp1p/3P3P/6PK/6B1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qe8+ Qxe8 2. d7+ Qxe5 3. d8=Q# * [Event "?"] [Site "Budapest"] [Date "1972.??.??"] [Round "?"] [White "Gyula Sax"] [Black "Tamas Hradeczky"] [Result "*"] [PlyCount "17"] [FEN "3rn2r/3kb2p/p4ppB/1q1Pp3/8/3P1N2/1P2Q1PP/R1R4K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nxe5+ fxe5 2. Qg4+ Kd6 3. Qe6# * [Event "?"] [Site "Las Palmas"] [Date "1972.??.??"] [Round "?"] [White "Vasily Smyslov"] [Black "Juan Dominguez Sanz"] [Result "*"] [PlyCount "17"] [FEN "2bqr2k/1r1n2bp/pp1pBp2/2pP1PQ1/P3PN2/1P4P1/1B5P/R3R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ng6+ hxg6 2. Qh4+ Bh6 3. Qxh6# * [Event "?"] [Site "?"] [Date "1973.??.??"] [Round "?"] [White "Mikhail Tal"] [Black "NN"] [Result "*"] [PlyCount "17"] [FEN "rn1q3r/pp2kppp/3Np3/2b1n3/3N2Q1/3B4/PP4PP/R1B2RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxf7+ Nxf7 2. Qxe6+ Kf8 3. Qxf7# * [Event "?"] [Site "Vittel"] [Date "1974.??.??"] [Round "?"] [White "David Gedult"] [Black "Tisserand"] [Result "*"] [PlyCount "17"] [FEN "rn2k2r/ppp1bppp/5p2/3N1b2/1q6/5p2/PPP1QPPP/2KR1B1R w kq - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nxc7+ Kf8 2. Rd8+ Bxd8 3. Qe8# * [Event "?"] [Site "England"] [Date "1974.??.??"] [Round "?"] [White "Michael Haygarth"] [Black "Gerald Bennett"] [Result "*"] [PlyCount "17"] [FEN "4nrk1/rR5p/4pnpQ/4p1N1/2p1N3/6P1/q4P1P/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nxf6+ Rxf6 2. Qxh7+ Kf8 3. Qh8# * [Event "?"] [Site "Nice"] [Date "1974.??.??"] [Round "?"] [White "Eugenio Torre"] [Black "Lothar Schmid"] [Result "*"] [PlyCount "17"] [FEN "r5k1/q4ppp/rnR1pb2/1Q1p4/1P1P4/P4N1P/1B3PP1/2R3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rc8+ Rxc8 2. Rxc8+ Nxc8 3. Qe8# * [Event "?"] [Site "Polanica Zdroj"] [Date "1977.??.??"] [Round "?"] [White "Boris Gulko"] [Black "Borislav Ivkov"] [Result "*"] [PlyCount "17"] [FEN "1r2r3/1n3Nkp/p2P2p1/3B4/1p5Q/1P5P/6P1/2b4K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qd4+ Re5 2. Qxe5+ Kf8 3. Qh8# * [Event "?"] [Site "URS"] [Date "1977.??.??"] [Round "?"] [White "Nigmadzianov"] [Black "Leonid Kaplun"] [Result "*"] [PlyCount "17"] [FEN "r1n1kbr1/ppq1pN2/2p1Pn1p/2Pp3Q/3P3P/8/PP3P2/R1B1K2R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nd6+ Kd8 2. Qe8+ Nxe8 3. Nf7# * [Event "?"] [Site "Geneva"] [Date "1977.??.??"] [Round "?"] [White "Jan Timman"] [Black "Borislav Ivkov"] [Result "*"] [PlyCount "17"] [FEN "1r2bk2/1p3ppp/p1n2q2/2N5/1P6/P3R1P1/5PBP/4Q1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxe8+ Rxe8 2. Nd7+ Kg8 3. Qxe8# * [Event "?"] [Site "Marianske Lazne"] [Date "1978.??.??"] [Round "?"] [White "Lubomir Ftacnik"] [Black "Ivan Jankovec"] [Result "*"] [PlyCount "17"] [FEN "R7/3nbpkp/4p1p1/3rP1P1/P2B1Q1P/3q1NK1/8/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qf6+ Bxf6 2. exf6+ Nxf6 3. Bxf6# * [Event "?"] [Site "Buenos Aires"] [Date "1978.??.??"] [Round "?"] [White "Sheila Jackson"] [Black "Fenella Foster"] [Result "*"] [PlyCount "17"] [FEN "r4k1r/p1q2P1p/1pnb2p1/2p5/8/2P1BN2/PP4PP/R2QR1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bh6+ Kxf7 2. Qd5+ Kf6 3. Qe6# * [Event "?"] [Site "Brilon"] [Date "1978.??.??"] [Round "?"] [White "Tigran V. Petrosian"] [Black "Rudi Koepsell"] [Result "*"] [PlyCount "17"] [FEN "2rn2k1/1q1N1pbp/4pB1P/pp1pPn2/3P4/1Pr2N2/P2Q1P1K/6R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxg7+ Nxg7 2. Qg5 Qxd7 3. Qxg7# * [Event "?"] [Site "Lone Pine"] [Date "1978.??.??"] [Round "?"] [White "Ken Rogoff"] [Black "Rosendo Balinas"] [Result "*"] [PlyCount "17"] [FEN "r4b1r/pp2kbp1/3R2B1/4P2p/2p2N1P/P4Pn1/1P1B2P1/R3K3 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nd5+ Ke8 2. Nc7+ Ke7 3. Bg5# * [Event "?"] [Site "Lone Pine"] [Date "1979.??.??"] [Round "?"] [White "Leonid Shamkovich"] [Black "Roy Ervin"] [Result "*"] [PlyCount "17"] [FEN "5rrk/5pb1/p1pN3p/7Q/1p2PP1R/1q5P/6P1/6RK w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxh6+ Bxh6 2. Rxh6+ Kg7 3. Nf5# * [Event "?"] [Site "Lone Pine"] [Date "1979.??.??"] [Round "?"] [White "Andrew Soltis"] [Black "Miguel Quinteros"] [Result "*"] [PlyCount "17"] [FEN "5qk1/1p4b1/p1p2pQn/3p1N2/3P2P1/1PP2PK1/1P2r3/7R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nxh6+ Kh8 2. Nf7+ Kg8 3. Rh8# * [Event "?"] [Site "Amsterdam"] [Date "1981.??.??"] [Round "?"] [White "Lajos Portisch"] [Black "Lubomir Kavalek"] [Result "*"] [PlyCount "17"] [FEN "3q2rn/pp3rBk/1npp1p2/5P2/2PPP1RP/2P2B2/P5Q1/6RK w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rg6 Rgf8 2. Rh6+ Kg8 3. Rxh8# * [Event "?"] [Site "USSR"] [Date "1982.??.??"] [Round "?"] [White "Garry Kasparov"] [Black "Elmar Magerramov"] [Result "*"] [PlyCount "17"] [FEN "3r1r1k/1p3p1p/p2p4/4n1NN/6bQ/1BPq4/P3p1PP/1R5K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nxf7+ Nxf7 2. Qf6+ Kg8 3. Qg7# * [Event "?"] [Site "Lucerne"] [Date "1982.??.??"] [Round "?"] [White "Wolfgang Unzicker"] [Black "I Husain"] [Result "*"] [PlyCount "17"] [FEN "2r1qr1k/7p/7P/p2pPpR1/3N1P1Q/P2b4/6R1/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rg8+ Rxg8 2. Qf6+ Rg7 3. Qxg7# * [Event "?"] [Site "Tuzle"] [Date "1983.??.??"] [Round "?"] [White "Daniel Campora"] [Black "Osman Palos"] [Result "*"] [PlyCount "17"] [FEN "k1br4/ppQ5/8/2PB3p/7b/8/PP6/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. c6 b6 2. Qxc8+ Rxc8 3. c7# * [Event "?"] [Site "Oslo"] [Date "1983.??.??"] [Round "?"] [White "Johann Hjartarson"] [Black "Timo Pirttimaki"] [Result "*"] [PlyCount "17"] [FEN "rr6/p1n4k/1p1NqBp1/2p1P2p/4P3/6R1/bP1Q2PP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxg6 Kxg6 2. Qg5+ Kh7 3. Qg7# * [Event "?"] [Site "Germany"] [Date "1983.??.??"] [Round "?"] [White "Tony Miles"] [Black "Ralf Laven"] [Result "*"] [PlyCount "17"] [FEN "3r2qk/p2Q3p/1p3R2/2pPp3/1nb5/6N1/PB4PP/1B4K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bxe5 Rxd7 2. Rf7+ Qg7 3. Rf8# * [Event "?"] [Site "Sarajevo"] [Date "1983.??.??"] [Round "?"] [White "Predrag Nikolic"] [Black "Ivan Farago"] [Result "*"] [PlyCount "17"] [FEN "2R5/4k1p1/nr2P2p/3PK3/4N1PP/8/1p6/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. d6+ Rxd6 2. Nxd6 b1=Q 3. Re8# * [Event "?"] [Site "Biel"] [Date "1983.??.??"] [Round "?"] [White "John Nunn"] [Black "Ivan Nemet"] [Result "*"] [PlyCount "17"] [FEN "r5rR/3Nkp2/4p3/1Q4q1/np1N4/8/bPPR2P1/2K5 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nc6+ Ke8 2. Qxg5 Rxh8 3. Qe7# * [Event "?"] [Site "Budapest"] [Date "1983.??.??"] [Round "?"] [White "Raj Tischbierek"] [Black "Endre Vegh"] [Result "*"] [PlyCount "17"] [FEN "r1b3r1/1p3p1p/1q2pQ2/1Bk5/4p3/8/P1P3PP/3R3K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qe5+ Kb4 2. Rb1+ Ka5 3. Qc3# * [Event "?"] [Site "BRD"] [Date "1983.??.??"] [Round "?"] [White "Hannu Wegner"] [Black "Karsten Kuehn"] [Result "*"] [PlyCount "17"] [FEN "2r1k2r/pR2p1bp/2n1P1p1/8/2QP4/q2b1N2/P2B1PPP/4K2R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxc6+ Rxc6 2. Rb8+ Rc8 3. Rxc8# * [Event "?"] [Site "Salonika"] [Date "1984.??.??"] [Round "?"] [White "Johann Hjartarson"] [Black "John Van Der Wiel"] [Result "*"] [PlyCount "17"] [FEN "n7/pk3pp1/1rR3p1/QP1pq3/4n3/6PB/4PP1P/2R3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qa6+ Rxa6 2. bxa6+ Kb8 3. Rc8# * [Event "?"] [Site "Groningen"] [Date "1984.??.??"] [Round "?"] [White "Csaba Horvath"] [Black "Ewan Stewart"] [Result "*"] [PlyCount "17"] [FEN "r2q1rk1/p4p1p/3p1Q2/2n3B1/B2R4/8/PP3PPP/5bK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rg4 Be2 2. Bh6+ Bxg4 3. Qg7# * [Event "?"] [Site "DDR"] [Date "1984.??.??"] [Round "?"] [White "Hans-Helmut Moschell"] [Black "U Auerswald"] [Result "*"] [PlyCount "17"] [FEN "r1b1nb1r/3pk1pp/p2N1pn1/Q1Bp4/8/8/PP2BP1P/2K1R3 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bh5+ Ne5 2. Nf5+ Ke6 3. Nd4# * [Event "?"] [Site "Salonika"] [Date "1984.??.??"] [Round "?"] [White "Panayotis Pandavos"] [Black "AB Arnold"] [Result "*"] [PlyCount "17"] [FEN "6rk/p1pb1p1p/2pp1P2/2b1n2Q/4PR2/3B4/PPP1K2P/RNB3q1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxh7+ Kxh7 2. Rh4+ Kg6 3. Rh6# * [Event "?"] [Site "Rostock"] [Date "1984.??.??"] [Round "?"] [White "Raj Tischbierek"] [Black "Vitaly Cseshkovsky"] [Result "*"] [PlyCount "17"] [FEN "3r3k/7p/pp2B1p1/3N2P1/P2qPQ2/8/1Pr4P/5R1K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qf8+ Rxf8 2. Rxf8+ Kg7 3. Rg8# * [Event "?"] [Site "Belgrade"] [Date "1984.??.??"] [Round "?"] [White "Dragan Vasiljevic"] [Black "Nenad Jovanovic"] [Result "*"] [PlyCount "17"] [FEN "2r2bk1/pb3ppp/1p6/n7/q2P4/P1P1R2Q/B2B1PPP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bxf7+ Kh8 2. Qxh7+ Kxh7 3. Rh3# * [Event "?"] [Site "New York"] [Date "1985.??.??"] [Round "?"] [White "Yahuda Gruenfeld"] [Black "Mark Meeres"] [Result "*"] [PlyCount "17"] [FEN "8/1p2p1kp/2rRB3/pq2n1Pp/4P3/8/PPP2Q2/2K5 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qf8+ Kxf8 2. Rd8+ Kg7 3. Rg8# * [Event "?"] [Site "New York"] [Date "1985.??.??"] [Round "?"] [White "Walter Shipman"] [Black "Marc Weber"] [Result "*"] [PlyCount "17"] [FEN "r1b3r1/ppp1R2p/3p3k/1q2B1p1/5Q2/8/PPP2PPP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qf6+ Rg6 2. Rxh7+ Kxh7 3. Qh8# * [Event "?"] [Site "DDR"] [Date "1985.??.??"] [Round "?"] [White "H Strickert"] [Black "Hausius"] [Result "*"] [PlyCount "17"] [FEN "3r3r/p1pqppbp/1kN3p1/2pnP3/Q5b1/1NP5/PP3PPP/R1B2RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxa7+ Kxc6 2. Na5+ Kb5 3. a4# * [Event "?"] [Site "Malme"] [Date "1986.??.??"] [Round "?"] [White "Stellan Brynell"] [Black "Lars Karlsson"] [Result "*"] [PlyCount "17"] [FEN "r4r2/p1p4p/1p2R3/5p2/2B2K2/7k/PPP2P2/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bd5 Rf6 2. Re1 Re6 3. Rh1# * [Event "?"] [Site "London"] [Date "1986.??.??"] [Round "?"] [White "Maxim Dlugy"] [Black "Ricardo Calvo Minguez"] [Result "*"] [PlyCount "17"] [FEN "1rb2RR1/p1p3p1/2p3k1/5p1p/8/3N1PP1/PP5r/2K5 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ne5+ Kh6 2. Rh8+ Kg5 3. f4# * [Event "?"] [Site "New York"] [Date "1986.??.??"] [Round "?"] [White "Yahuda Gruenfeld"] [Black "Samuel Reshevsky"] [Result "*"] [PlyCount "17"] [FEN "8/R4R1p/4p1p1/r3p3/1b2PnkP/6P1/5PK1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxf4+ exf4 2. f3+ Kh5 3. Rxh7# * [Event "?"] [Site "Zenica"] [Date "1986.??.??"] [Round "?"] [White "Slavoljub Marjanovic"] [Black "Bosko Abramovic"] [Result "*"] [PlyCount "17"] [FEN "3r1q1k/6bp/p1p5/1p2B1Q1/P1B5/3P4/5PPP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bxg7+ Qxg7 2. Qxd8+ Qg8 3. Qxg8# * [Event "?"] [Site "Southampton"] [Date "1986.??.??"] [Round "?"] [White "Paul Motwani"] [Black "Kevin Wicker"] [Result "*"] [PlyCount "17"] [FEN "2k5/p1p4R/P3r1p1/2r2p2/8/1R6/8/5K2 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rb8+ Kxb8 2. Rh8+ Re8 3. Rxe8# * [Event "?"] [Site "Germany"] [Date "1986.??.??"] [Round "?"] [White "Nigel Short"] [Black "Juergen Fleck"] [Result "*"] [PlyCount "17"] [FEN "kr6/pR5R/1q1pp3/8/1Q6/2P5/PKP5/5r2 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxb6 Rb1+ 2. Kxb1 axb6 3. Ra7# * [Event "?"] [Site "Leipzig"] [Date "1986.??.??"] [Round "?"] [White "Hans Waldmann"] [Black "Udo Wallrabenstein"] [Result "*"] [PlyCount "17"] [FEN "r1b2rk1/1p2nppp/p2R1b2/4qP1Q/4P3/1B2B3/PPP2P1P/2K3R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxf7+ Kh8 2. Qxf8+ Ng8 3. Qxg8# * [Event "?"] [Site "Minsk"] [Date "1987.??.??"] [Round "?"] [White "Evgeny Bareev"] [Black "Viktor Gavrikov"] [Result "*"] [PlyCount "17"] [FEN "7r/1Q6/pp1pkPn1/6B1/2qP2P1/3p4/P7/1K4R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Re1+ Ne5 2. d5+ Qxd5 3. Qe7# * [Event "?"] [Site "Espergaerde"] [Date "1987.??.??"] [Round "?"] [White "Nigel Davies"] [Black "Jonny Hector"] [Result "*"] [PlyCount "17"] [FEN "8/5k2/6pQ/1p5p/2pqN3/1p3P1P/1r4P1/4R2K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ng5+ Kf6 2. Nh7+ Kf7 3. Qf8# * [Event "?"] [Site "Moscow"] [Date "1987.??.??"] [Round "?"] [White "Gregory Kaidanov"] [Black "Viswanathan Anand"] [Result "*"] [PlyCount "17"] [FEN "3qrk2/p1r2pp1/1p2pb2/nP1bN2Q/3PN3/P6R/5PPP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxf7+ Rxf7 2. Ng6+ Kg8 3. Rh8# * [Event "?"] [Site "Tashkent"] [Date "1987.??.??"] [Round "?"] [White "Alexander Khalifman"] [Black "Alexander Huzman"] [Result "*"] [PlyCount "17"] [FEN "3r1r1k/p4p1p/1pp2p2/2b2P1Q/3q1PR1/1PN2R1P/1P4P1/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxh7+ Kxh7 2. Rh4+ Kg7 3. Rg3# * [Event "?"] [Site "Linares"] [Date "1987.??.??"] [Round "?"] [White "Bent Larsen"] [Black "Jan Timman"] [Result "*"] [PlyCount "17"] [FEN "R2Q4/6k1/3p1qp1/3n2p1/1p1r1p2/3B1P2/2P3PK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh8+ Kf7 2. Qg8+ Ke7 3. Qe8# * [Event "?"] [Site "Naleczow"] [Date "1987.??.??"] [Round "?"] [White "John Nunn"] [Black "Miroslaw Sarwinski"] [Result "*"] [PlyCount "17"] [FEN "4r2k/4R1pp/7N/p6n/qp6/6QP/5PPK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qb3 gxh6 2. Qf7 Rxe7 3. Qf8# * [Event "?"] [Site "Swansea"] [Date "1987.??.??"] [Round "?"] [White "Nigel Short"] [Black "Jonathan Mestel"] [Result "*"] [PlyCount "17"] [FEN "4b1k1/2r2p2/1q1pnPpQ/7p/p3P2P/pN5B/P1P5/1K1R2R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxg6+ fxg6 2. Bxe6+ Rf7 3. Qg7# * [Event "?"] [Site "France"] [Date "1988.??.??"] [Round "?"] [White "Jean-Marc Degraeve"] [Black "Christian Lecuyer"] [Result "*"] [PlyCount "17"] [FEN "1r2nr2/2q3kp/p2pQ1pR/4n1P1/Np2P3/1B6/PPP4P/2KR4 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxh7+ Kxh7 2. Qh3+ Kg7 3. Qh6# * [Event "?"] [Site "Debrecen"] [Date "1988.??.??"] [Round "?"] [White "Csaba Horvath"] [Black "Peter Lukacs"] [Result "*"] [PlyCount "17"] [FEN "3r4/7p/2RN2k1/4n2q/P2p4/3P2P1/4p1P1/5QK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ne8+ Rd6 2. Rxd6+ Kg5 3. Qf4# * [Event "?"] [Site "Thessalonika"] [Date "1988.??.??"] [Round "?"] [White "Judit Polgar"] [Black "Pavlina Angelova"] [Result "*"] [PlyCount "17"] [FEN "r1b2rk1/pp1p1p1p/2n3pQ/5qB1/8/2P5/P4PPP/4RRK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxf8+ Kxf8 2. Bh6+ Kg8 3. Re8# * [Event "?"] [Site "Naestved"] [Date "1988.??.??"] [Round "?"] [White "Sergey Smagin"] [Black "Henryk Dobosz"] [Result "*"] [PlyCount "17"] [FEN "r3q2k/p2n1r2/2bP1ppB/b3p2Q/N1Pp4/P5R1/5PPP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bg7+ Kxg7 2. Rxg6+ Kf8 3. Qh8# * [Event "?"] [Site "Kramatorsk"] [Date "1989.??.??"] [Round "?"] [White "Viktor Bologan"] [Black "Darius Ruzele"] [Result "*"] [PlyCount "17"] [FEN "6r1/pp3N1k/1q2bQpp/3pP3/8/6RP/PP3PP1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxg6 Qxf2+ 2. Kxf2 Rxg6 3. Qh8# * [Event "?"] [Site "Germany"] [Date "1989.??.??"] [Round "?"] [White "Uwe Dietzinger"] [Black "Heike Vogel"] [Result "*"] [PlyCount "17"] [FEN "r1bqn1rk/1p1np1bp/p1pp2p1/6P1/2PPP3/2N1BPN1/PP1Q4/2KR1B1R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxh7+ Kxh7 2. Qh2+ Bh6 3. Qxh6# * [Event "?"] [Site "Edinburgh"] [Date "1989.??.??"] [Round "?"] [White "Julian Hodgson"] [Black "Colin McNab"] [Result "*"] [PlyCount "17"] [FEN "r1k2r2/p5Rp/3R4/3p3p/3B4/3B4/PP1q3P/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ba6+ Kb8 2. Rb6+ axb6 3. Be5# * [Event "?"] [Site "Goteborg"] [Date "1989.??.??"] [Round "?"] [White "Judit Polgar"] [Black "H Winfridsson"] [Result "*"] [PlyCount "17"] [FEN "r4r1k/1pqb1B1p/p3p2B/2bpP2Q/8/1NP5/PP4PP/5R1K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bg7+ Kxg7 2. Qg5+ Kh8 3. Qf6# * [Event "?"] [Site "Asturias"] [Date "1989.??.??"] [Round "?"] [White "Fran Sanchez Alvarez"] [Black "Carlos Gutierrez Canseco"] [Result "*"] [PlyCount "17"] [FEN "rn4k1/pp1r1pp1/1q1b4/5QN1/5N2/4P3/PP3PPP/3R1RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh7+ Kf8 2. Qh8+ Ke7 3. Nd5# * [Event "?"] [Site "Philadelphia"] [Date "1989.??.??"] [Round "?"] [White "Sergey Smagin"] [Black "Jeremy Silman"] [Result "*"] [PlyCount "17"] [FEN "b4rk1/p4p2/1p4Pq/4p3/8/P1N2PQ1/BP3PK1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. gxf7+ Kh7 2. Qg8+ Rxg8+ 3. fxg8=Q# * [Event "?"] [Site "corr"] [Date "1990.??.??"] [Round "?"] [White "J Ciprian"] [Black "Bernd Kievelitz"] [Result "*"] [PlyCount "17"] [FEN "1rb1kb1r/5pp1/p4q1p/3Q4/5P2/8/PPP3PP/2KR1B1R w k - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bb5+ axb5 2. Rhe1+ Be7 3. Qd8# * [Event "?"] [Site "Novi Sad"] [Date "1990.??.??"] [Round "?"] [White "Yudania Hernandez"] [Black "Isabel De Los Santos"] [Result "*"] [PlyCount "17"] [FEN "2q1n3/1p1bppkp/p2p2p1/3P4/P2N4/1PQ3PP/4PPB1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nf5+ Kg8 2. Nh6+ Kf8 3. Qh8# * [Event "?"] [Site "New York"] [Date "1990.??.??"] [Round "?"] [White "Vasilios Kotronias"] [Black "Daniel King"] [Result "*"] [PlyCount "17"] [FEN "r4rk1/p4ppp/Pp4n1/4BN2/1bq5/7Q/2P2PPP/3RR1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh6 Qf1+ 2. Kxf1 gxh6 3. Nxh6# * [Event "?"] [Site "Lyons"] [Date "1990.??.??"] [Round "?"] [White "Luc Winants"] [Black "Norbert Stull"] [Result "*"] [PlyCount "17"] [FEN "1r3k2/3Rnp2/6p1/6q1/p1BQ1p2/P1P5/1P3PP1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh8+ Ng8 2. Rxf7+ Ke8 3. Qxg8# * [Event "?"] [Site "Antwerp"] [Date "1991.??.??"] [Round "?"] [White "Benjamin Finegold"] [Black "E Knoppert"] [Result "*"] [PlyCount "17"] [FEN "3R4/6rk/1p4p1/p2Q1p2/P1B1p2p/1n2P1P1/5PKP/2q5 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh8+ Kxh8 2. Qd8+ Kh7 3. Qxh4# * [Event "?"] [Site "Germany"] [Date "1991.??.??"] [Round "?"] [White "Thorsten Oest"] [Black "Peter Gellrich"] [Result "*"] [PlyCount "17"] [FEN "6rk/1pqbbp1p/p3p2Q/6R1/4N1nP/3B4/PPP5/2KR4 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxh7+ Kxh7 2. Nf6+ Kh8 3. Rxg8# * [Event "?"] [Site "Espoo"] [Date "1991.??.??"] [Round "?"] [White "Karl Pulkkinen"] [Black "Hillar Karner"] [Result "*"] [PlyCount "17"] [FEN "2rb3r/3N1pk1/p2pp2p/qp2PB1Q/n2N1P2/6P1/P1P4P/1K1RR3 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nxe6+ Kg8 2. Qg4+ Bg5 3. Nf6# * [Event "?"] [Site "London"] [Date "1991.??.??"] [Round "?"] [White "Ian Rogers"] [Black "Nigel Davies"] [Result "*"] [PlyCount "17"] [FEN "5q2/1ppr1br1/1p1p1knR/1N4R1/P1P1PP2/1P6/2P4Q/2K5 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh4 Bg8 2. Rf5+ Ke6 3. Nd4# * [Event "?"] [Site "Linares"] [Date "1991.??.??"] [Round "?"] [White "Valery Salov"] [Black "Alexander Beliavsky"] [Result "*"] [PlyCount "17"] [FEN "6k1/pp1Q4/6Bb/2p1P1qP/4P3/1P1P1rPK/P7/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh7+ Kf8 2. Qh8+ Ke7 3. Qe8# * [Event "?"] [Site "Warsaw"] [Date "1991.??.??"] [Round "?"] [White "Sebastian Tudorie"] [Black "Shamir Sivakumaran"] [Result "*"] [PlyCount "17"] [FEN "r1b2r2/p1q1npkB/1pn1p1p1/2ppP1N1/3P4/P1P2Q2/2P2PPP/R1B2RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qf6+ Kh6 2. Nxe6+ Kxh7 3. Qg7# * [Event "?"] [Site "Sevilla"] [Date "1992.??.??"] [Round "?"] [White "Daniel Campora"] [Black "Boris Zlotnik"] [Result "*"] [PlyCount "17"] [FEN "2b2r1k/1p2R3/2n2r1p/p1P1N1p1/2B3P1/P6P/1P3R2/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ng6+ Rxg6 2. Rxf8+ Rg8 3. Rxg8# * [Event "?"] [Site "Cappelle"] [Date "1992.??.??"] [Round "?"] [White "Benjamin Finegold"] [Black "Y Balashov"] [Result "*"] [PlyCount "17"] [FEN "2q1rnk1/p4r2/1p3pp1/3P3Q/2bPp2B/2P4R/P1B3PP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh8+ Kxh8 2. Bxf6+ Kg8 3. Rh8# * [Event "?"] [Site "Duisburg"] [Date "1992.??.??"] [Round "?"] [White "Alexander Grischuk"] [Black "G Tatarliev"] [Result "*"] [PlyCount "17"] [FEN "2rr2k1/1b3p1p/1p1b2p1/p1qP3Q/3R4/1P6/PB3PPP/1B2R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxh7+ Kxh7 2. Rh4+ Kg8 3. Rh8# * [Event "?"] [Site "Moscow"] [Date "1992.??.??"] [Round "?"] [White "Lembit Oll"] [Black "Vladimir Tukmakov"] [Result "*"] [PlyCount "17"] [FEN "2rk4/5R2/3pp1Q1/pb2q2N/1p2P3/8/PPr5/1K1R4 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxd6+ Qxd6 2. Qf6+ Ke8 3. Ng7# * [Event "?"] [Site "Palma de Majorca"] [Date "1992.??.??"] [Round "?"] [White "Veselin Topalov"] [Black "Elizbar Ubilava"] [Result "*"] [PlyCount "17"] [FEN "r1b1r3/qp1n1pk1/2pp2p1/p3n3/N1PNP1P1/1P3P2/P6Q/1K1R1B1R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nf5+ gxf5 2. Qh6+ Kg8 3. Qh8# * [Event "?"] [Site "Wijk aan Zee"] [Date "1993.??.??"] [Round "?"] [White "Michael Adams"] [Black "Jeroen Piket"] [Result "*"] [PlyCount "17"] [FEN "8/2k2r2/pp6/2p1R1Np/6pn/8/Pr4B1/3R3K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1.Ne6+ Kb8 2.Rd8+ Ka7 3.Ra8# * [Event "?"] [Site "London"] [Date "1993.??.??"] [Round "?"] [White "Michael Adams"] [Black "Sherhard"] [Result "*"] [PlyCount "17"] [FEN "2bq1k1r/r5pp/p2b1Pn1/1p1Q4/3P4/1B6/PP3PPP/2R1R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1.Qxd6+ Qxd6 2.Rxc8+ Qd8 3.Rxd8# * [Event "?"] [Site "Vienna"] [Date "1993.??.??"] [Round "?"] [White "Maya Chiburdanidze"] [Black "Bent Larsen"] [Result "*"] [PlyCount "17"] [FEN "1r3r1k/6p1/p6p/2bpNBP1/1p2n3/1P5Q/PBP1q2P/1K5R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxh6+ gxh6 2. Nf7+ Kg8 3. Nxh6# * [Event "?"] [Site "Caceres"] [Date "1993.??.??"] [Round "?"] [White "A Cubero"] [Black "Wen Yen Lin"] [Result "*"] [PlyCount "17"] [FEN "r5k1/pp2ppb1/3p4/q3P1QR/6b1/r2B1p2/1PP5/1K4R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxg7+ Kxg7 2. Rxg4+ Kf8 3. Rh8# * [Event "?"] [Site "Buenos Aires"] [Date "1993.??.??"] [Round "?"] [White "Elina Danielian"] [Black "Monica Calzetta"] [Result "*"] [PlyCount "17"] [FEN "3r4/p4Q1p/1p2P2k/2p3pq/2P2B2/1P2p2P/P5P1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qf6+ Qg6 2. Bxg5+ Kh5 3. g4# * [Event "?"] [Site "Ticino"] [Date "1993.??.??"] [Round "?"] [White "Nick De Firmian"] [Black "A Caresana"] [Result "*"] [PlyCount "17"] [FEN "4r1k1/pp3p2/3p1P1p/3PbR2/1P1p2PQ/P2P3P/2q5/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rg5+ hxg5 2. Qxg5+ Kh8 3. Qg7# * [Event "?"] [Site "Hastings"] [Date "1993.??.??"] [Round "?"] [White "Bogdan Lalic"] [Black "A Summerscale"] [Result "*"] [PlyCount "17"] [FEN "3Q1R2/pp4bk/6p1/6p1/2B1b1q1/P7/1P4P1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh8+ Bxh8 2. Qg8+ Kh6 3. Qxh8# * [Event "?"] [Site "Bratislava"] [Date "1993.??.??"] [Round "?"] [White "Peter Leko"] [Black "Vladimir Turta"] [Result "*"] [PlyCount "17"] [FEN "nr2kb1r/1p3p1p/p2p1q2/P2Pp3/2N2p2/2P3PB/1P3P1P/R2QK2R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qa4+ b5 2. axb6+ Ke7 3. Qd7# * [Event "?"] [Site "Mislata"] [Date "1993.??.??"] [Round "?"] [White "Zenon Franco Ocampos"] [Black "Slobodan Kovacevic"] [Result "*"] [PlyCount "17"] [FEN "r2r4/1b3k2/3Pq3/pBp1p2p/Pp6/6R1/1P3P2/R2Q2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxh5+ Kf8 2. Qh8+ Kf7 3. Qg7# * [Event "?"] [Site "Rostov on Don"] [Date "1993.??.??"] [Round "?"] [White "Vasily Smyslov"] [Black "Lembit Oll"] [Result "*"] [PlyCount "17"] [FEN "4r3/pp1nr3/2p4p/4p1b1/4kPP1/1PBN4/P1P1K3/3R4 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nf2+ Kxf4 2. Rg1 e4 3. Nh3# * [Event "?"] [Site "Boston"] [Date "1993.??.??"] [Round "?"] [White ""Socrates Expert""] [Black "Alexander Ivanov"] [Result "*"] [PlyCount "17"] [FEN "3k4/1R6/3N2n1/p2Pp3/2P1N3/3n2Pp/q6P/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rf8+ Nxf8 2. Nf7+ Kc8 3. Ned6# * [Event "?"] [Site "Linares"] [Date "1994.??.??"] [Round "?"] [White "Walter Browne"] [Black "Jaime Sunye Neto"] [Result "*"] [PlyCount "17"] [FEN "6k1/5p2/4nQ1P/p4N2/1p1b4/7K/PP3r2/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. h7+ Kxh7 2. Qh6+ Kg8 3. Ne7# * [Event "?"] [Site "Canada"] [Date "1994.??.??"] [Round "?"] [White "Igor Ivanov"] [Black "Fred Lindsay"] [Result "*"] [PlyCount "17"] [FEN "2rr1k2/pb4p1/1p1qpp2/4R2Q/3n4/P1N5/1P3PPP/1B2R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh8+ Kf7 2. Bg6+ Ke7 3. Qxg7# * [Event "?"] [Site "Kladovo"] [Date "1994.??.??"] [Round "?"] [White "Aleksandar Kovacevic"] [Black "Miroslav Tosic"] [Result "*"] [PlyCount "17"] [FEN "5r1k/7p/8/4NP2/8/3p2R1/2r3PP/2n1RK2 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nf7+ Rxf7 2. Re8+ Rf8 3. Rxf8# * [Event "?"] [Site "Lubniewice"] [Date "1994.??.??"] [Round "?"] [White "Michal Krasenkow"] [Black "Oleg Nikolenko"] [Result "*"] [PlyCount "17"] [FEN "r3r3/ppp4p/2bq2Nk/8/1PP5/P1B3Q1/6PP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh4+ Kxg6 2. Qg4+ Kh6 3. Bg7# * [Event "?"] [Site "Moscow"] [Date "1994.??.??"] [Round "?"] [White "Alexander Lastin"] [Black "Vladimir Burmakin"] [Result "*"] [PlyCount "17"] [FEN "3r3k/1p3Rpp/p2nn3/3N4/8/1PB1PQ1P/q4PP1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bxg7+ Nxg7 2. Rf8+ Rxf8 3. Qxf8# * [Event "?"] [Site "London"] [Date "1994.??.??"] [Round "?"] [White ""Mirage""] [Black ""Francesca""] [Result "*"] [PlyCount "17"] [FEN "6kr/p1Q3pp/3Bbbq1/8/5R2/5P2/PP3P1P/4KB1R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qd8+ Kf7 2. Qe7+ Kg8 3. Qf8# * [Event "?"] [Site "Las Vegas"] [Date "1994.??.??"] [Round "?"] [White "Greg Small"] [Black "Ilan Kreitner"] [Result "*"] [PlyCount "17"] [FEN "rq2r2k/pp2p2p/3p1pp1/6R1/4P3/4B3/PPP1Q3/2K4R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxg6 Qc8 2. Rxh7+ Kxh7 3. Qh5# * [Event "?"] [Site "Polanica Zdroj"] [Date "1995.??.??"] [Round "?"] [White "Nick De Firmian"] [Black "Robert Huebner"] [Result "*"] [PlyCount "17"] [FEN "r1bq2rk/pp1n1p1p/5P1Q/1B3p2/3B3b/P5R1/2P3PP/3K3R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rg7 Nf8 2. Rxg8+ Kxg8 3. Qg7# * [Event "?"] [Site "Bonn"] [Date "1995.??.??"] [Round "?"] [White "Igor Glek"] [Black "Alfred Kertesz"] [Result "*"] [PlyCount "17"] [FEN "r1n1qnr1/2p3k1/1pP1p1pp/bP1pPp2/3P1P1Q/BR3NR1/4BP1P/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qf6+ Kh7 2. Ng5+ hxg5 3. Rh3# * [Event "?"] [Site "Linares"] [Date "1995.??.??"] [Round "?"] [White "Johann Hjartarson"] [Black "Ribeiro Gonzalez Bolivar"] [Result "*"] [PlyCount "17"] [FEN "4r2k/4Q1bp/4B1p1/1q2n3/4pN2/P1B3P1/4pP1P/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nxg6+ hxg6 2. Qh4+ Bh6 3. Qxh6# * [Event "?"] [Site "Kishinev"] [Date "1995.??.??"] [Round "?"] [White "Svetlana Matveeva"] [Black "Almira Skripchenko"] [Result "*"] [PlyCount "17"] [FEN "r1b1r3/ppq2pk1/2n1p2p/b7/3PB3/2P2Q2/P2B1PPP/1R3RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bxh6+ Kxh6 2. Qf6+ Kh5 3. Bf3# * [Event "?"] [Site "Copenhagen"] [Date "1995.??.??"] [Round "?"] [White "Peter Heine Nielsen"] [Black "Jonas Barkhagen"] [Result "*"] [PlyCount "17"] [FEN "r2r1b1k/pR6/6pp/5Q2/3qB3/6P1/P3PP1P/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh7+ Kxh7 2. Qxg6+ Kh8 3. Qh7# * [Event "?"] [Site "Helsinki"] [Date "1995.??.??"] [Round "?"] [White "Risto Redsven"] [Black "Riku Molander"] [Result "*"] [PlyCount "17"] [FEN "4r1r1/pb1Q2bp/1p1Rnkp1/5p2/2P1P3/4BP2/qP2B1PP/2R3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. e5+ Kxe5 2. Rxe6+ Rxe6 3. Qd4# * [Event "?"] [Site "Wellington"] [Date "1995.??.??"] [Round "?"] [White "Paul Tuffery"] [Black "Peter Stuart"] [Result "*"] [PlyCount "17"] [FEN "1r2qrk1/p4p1p/bp1p1Qp1/n1ppP3/P1P5/2PB1PN1/6PP/R4RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nf5 gxf5 2. Qxf5 dxe5 3. Qxh7# * [Event "?"] [Site "Novgorod"] [Date "1995.??.??"] [Round "?"] [White "Alexey Vyzmanavin"] [Black "Alexei Gavrilov"] [Result "*"] [PlyCount "17"] [FEN "r1q2b2/p4p1k/1p1r3p/3B1P2/3B2Q1/4P3/P5PP/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bxf7 h5 2. Bg8+ Kh6 3. Qf4# * [Event "?"] [Site "Philadelphia"] [Date "1995.??.??"] [Round "?"] [White "A Ynigo"] [Black "David Levine"] [Result "*"] [PlyCount "17"] [FEN "r5rk/pp2qb1p/2p2pn1/2bp4/3pP1Q1/1B1P1N1R/PPP3PP/R1B3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxh7+ Kxh7 2. Qh5+ Kg7 3. Qh6# * [Event "?"] [Site "Marijarnpole"] [Date "1996.??.??"] [Round "?"] [White "Daniel Fridman"] [Black "A Arcimenia"] [Result "*"] [PlyCount "17"] [FEN "r1bnrn2/ppp1k2p/4p3/3PNp1P/5Q2/3B2R1/PPP2PP1/2K1R3 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qb4+ c5 2. dxc6+ Kf6 3. Qh4# * [Event "?"] [Site "Germany"] [Date "1996.??.??"] [Round "?"] [White "Jesse Kraai"] [Black "Andreas Peters"] [Result "*"] [PlyCount "17"] [FEN "2rnk3/pq3p2/3P1Q1R/1p6/3P4/5P2/P1b1N1P1/5K2 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. d7+ Kxd7 2. Qd6+ Ke8 3. Rh8# * [Event "?"] [Site "Volgograd"] [Date "1996.??.??"] [Round "?"] [White "Natalia Pogonina"] [Black "A Kizhikina"] [Result "*"] [PlyCount "17"] [FEN "2r3k1/ppq3p1/2n2p1p/2pr4/5P1N/6QP/PP2R1P1/4R2K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Re8+ Rxe8 2. Rxe8+ Kf7 3. Qg6# * [Event "?"] [Site "Melody Amber Rapid"] [Date "1996.??.??"] [Round "?"] [White "Judit Polgar"] [Black "Jun Xie"] [Result "*"] [PlyCount "17"] [FEN "3r2k1/1b2Qp2/pqnp3b/1pn5/3B3p/1PR4P/P4PP1/1B4K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bh7+ Kxh7 2. Qxf7+ Bg7 3. Qxg7# * [Event "?"] [Site "Alushta"] [Date "1997.??.??"] [Round "?"] [White "Sergey Akchelov"] [Black "Alexander Shukan"] [Result "*"] [PlyCount "17"] [FEN "r1bn1b2/ppk1n2r/2p3pp/5p2/N1PNpPP1/2B1P3/PP2B2P/2KR2R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nb5+ cxb5 2. Be5+ Kc6 3. cxb5# * [Event "?"] [Site "Germany"] [Date "1997.??.??"] [Round "?"] [White "Igor Glek"] [Black "Frans Cuijpers"] [Result "*"] [PlyCount "17"] [FEN "1qr1k3/pb2p3/1p2N3/1NpPp3/8/7Q/PPP5/2K1R3 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rf1 Bxd5 2. Ng7+ Kd8 3. Rf8# * [Event "?"] [Site "Rotherham"] [Date "1997.??.??"] [Round "?"] [White "Julian Hodgson"] [Black "Jonathan Rowson"] [Result "*"] [PlyCount "17"] [FEN "1k5r/3R1pbp/1B2p3/2NpPn2/5p2/8/1PP3PP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rc7 Ka8 2. Nd7 Bxe5 3. Ra7# * [Event "?"] [Site "Monte Carlo"] [Date "1997.??.??"] [Round "?"] [White "Ljubomir Ljubojevic"] [Black "Anatoly Karpov"] [Result "*"] [PlyCount "17"] [FEN "3r4/4RRpk/5n1N/8/p1p2qPP/P1Qp1P2/1P4K1/3b4 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxg7+ Kxh6 2. Rh7+ Nxh7 3. Qg7# * [Event "?"] [Site "Bad Wildbad"] [Date "1997.??.??"] [Round "?"] [White "Arn Neuenschwander"] [Black "Oskar Nadenau"] [Result "*"] [PlyCount "17"] [FEN "r1bq2r1/ppnn1pk1/2p3pR/2B1p1P1/2P1P1P1/2N2P2/PP1Q4/R3KB2 w Q - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh7+ Kxh7 2. Qh2+ Kg7 3. Qh6# * [Event "?"] [Site "Moscow"] [Date "1997.??.??"] [Round "?"] [White "Alexander Riazantsev"] [Black "Alexander Gamota"] [Result "*"] [PlyCount "17"] [FEN "7k/pb4rp/2qp1Q2/1p3pP1/np3P2/3PrN1R/P1P4P/R3N1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qf8+ Rg8 2. Rxh7+ Kxh7 3. Qh6# * [Event "?"] [Site "Dong Thap"] [Date "1997.??.??"] [Round "?"] [White "Le Thanh Tu"] [Black "Nguyen Thi Thanh An"] [Result "*"] [PlyCount "17"] [FEN "r2q1rk1/pp3pp1/2n5/3p1b2/2P4R/2B1Q1P1/PP2P3/R3K3 w Q - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh8+ Kxh8 2. Qh6+ Bh7 3. Qxg7# * [Event "?"] [Site "Vrnjacka Banja"] [Date "1998.??.??"] [Round "?"] [White "Goran Cabrilo"] [Black "Petar Popovic"] [Result "*"] [PlyCount "17"] [FEN "2kr3r/1p3ppp/p3pn2/2b1B2q/Q1N5/2P5/PP3PPP/R2R2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nb6+ Bxb6 2. Qc4+ Bc7 3. Qxc7# * [Event "?"] [Site "Isla Margarita"] [Date "1998.??.??"] [Round "?"] [White "Cristian Faig"] [Black "Vinicius Marques"] [Result "*"] [PlyCount "17"] [FEN "r1b2rk1/1p3ppp/p2p4/3NnQ2/2B1R3/8/PqP3PP/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ne7+ Kh8 2. Qxh7+ Kxh7 3. Rh4# * [Event "?"] [Site "Korinthos"] [Date "1998.??.??"] [Round "?"] [White "Tamaz Gelashvili"] [Black "Jan Sorensen"] [Result "*"] [PlyCount "17"] [FEN "2r3r1/7p/b3P2k/p1bp1p1B/P2N1P2/1P4Q1/2P4P/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nxf5+ Kxh5 2. Qh4+ Kg6 3. Qg5# * [Event "?"] [Site "Wiesbaden"] [Date "1998.??.??"] [Round "?"] [White "Manfred Herzog"] [Black "Udo Helscher"] [Result "*"] [PlyCount "17"] [FEN "rnbqr1k1/ppp3p1/4pR1p/4p2Q/3P4/B1PB4/P1P3PP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qf7+ Kh8 2. Rxh6+ gxh6 3. Qh7# * [Event "?"] [Site "Cap d'Agde"] [Date "1998.??.??"] [Round "?"] [White "Vassily Ivanchuk"] [Black "Josif Dorfman"] [Result "*"] [PlyCount "17"] [FEN "4rk2/p5p1/1p2P2N/7R/nP5P/5PQ1/b6K/q7 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qd6+ Re7 2. Qd8+ Re8 3. e7# * [Event "?"] [Site "Hungary"] [Date "1998.??.??"] [Round "?"] [White "Peter Leko"] [Black "Ferenc Palasti"] [Result "*"] [PlyCount "17"] [FEN "3R4/p1r3rk/1q2P1p1/5p1p/1n6/1B5P/P2Q2P1/3R3K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh8+ Kxh8 2. Qh6+ Kg8 3. Rd8# * [Event "?"] [Site "Elista"] [Date "1998.??.??"] [Round "?"] [White "Lilit Mkrtchian"] [Black "Monica Vilar Lopez"] [Result "*"] [PlyCount "17"] [FEN "4q2r/5npr/1R1Qpkb1/3p1pR1/2pP1P1P/2P1KB2/2P3N1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxg6+ Kxg6 2. Qxe6+ Qxe6+ 3. Rxe6# * [Event "?"] [Site "Olomouc"] [Date "1998.??.??"] [Round "?"] [White "David Navara"] [Black "Jan Helbich Jr"] [Result "*"] [PlyCount "17"] [FEN "r3Rnkr/1b5p/p3NpB1/3p4/1p6/8/PPP3P1/2K2R2 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxf6 hxg6 2. Rfxf8+ Kh7 3. Rxh8# * [Event "?"] [Site "Brasov"] [Date "1998.??.??"] [Round "?"] [White "Vladislav Nevednichy"] [Black "Alin Ardeleanu"] [Result "*"] [PlyCount "17"] [FEN "4B3/6R1/1p5k/p2r3N/Pn1p2P1/7P/1P3P2/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rg6+ Kh7 2. Nf6+ Kh8 3. Rg8# * [Event "?"] [Site "Finkenstein"] [Date "1998.??.??"] [Round "?"] [White "Joerg Ott"] [Black "G Straub"] [Result "*"] [PlyCount "17"] [FEN "r1bqrnk1/ppp3pp/2nbpp2/3pN2Q/3P1P2/2PBP1B1/PP4PP/RN2K2R w KQ - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bxh7+ Nxh7 2. Qf7+ Kh8 3. Ng6# * [Event "?"] [Site "Beer-Sheva"] [Date "1998.??.??"] [Round "?"] [White "Michael Roiz"] [Black "Viktor Aronov"] [Result "*"] [PlyCount "17"] [FEN "3Rrk2/1p1R1pr1/2p1p2Q/2q1P1p1/5P2/8/1PP5/1K6 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh8+ Rg8 2. Rxf7+ Kxf7 3. Qf6# * [Event "?"] [Site "Dresden"] [Date "1998.??.??"] [Round "?"] [White "Oleg Romanishin"] [Black "Gerhard Schmidt"] [Result "*"] [PlyCount "17"] [FEN "1r1rb3/p1q2pkp/Pnp2np1/4p3/4P3/Q1N1B1PP/2PRBP2/3R2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bh6+ Kxh6 2. Qf8+ Kg5 3. h4# * [Event "?"] [Site "North Bay"] [Date "1998.??.??"] [Round "?"] [White "Grigory Serper"] [Black "Robert Gardner"] [Result "*"] [PlyCount "17"] [FEN "2r1r3/p5q1/1p2k1p1/4p2p/2P5/1P1QR1P1/P6P/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qd5+ Ke7 2. Rxe5+ Qxe5 3. Rf7# * [Event "?"] [Site "Germany"] [Date "1998.??.??"] [Round "?"] [White "James Sherwin"] [Black "Ronald Reichardt"] [Result "*"] [PlyCount "17"] [FEN "7k/1ppq4/1n1p2Q1/1P4Np/1P3p1B/3B4/7P/rn5K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nf7+ Qxf7 2. Bf6+ Qxf6 3. Qh7# * [Event "?"] [Site "Korinthos"] [Date "1998.??.??"] [Round "?"] [White "Jan Sorensen"] [Black "Panayotis Vlassis"] [Result "*"] [PlyCount "17"] [FEN "r1b2rk1/pp2b1pp/q3pn2/3nN1N1/3p4/P2Q4/1P3PPP/RBB1R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxh7+ Nxh7 2. Bxh7+ Kh8 3. Ng6# * [Event "?"] [Site "Hampstead"] [Date "1998.??.??"] [Round "?"] [White "Robert Wade"] [Black "Arpi Shah"] [Result "*"] [PlyCount "17"] [FEN "3r1k2/r1q2p1Q/pp2B3/4P3/1P1p4/2N5/P1P3PP/5R1K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh8+ Ke7 2. Rxf7+ Kxe6 3. Qf6# * [Event "?"] [Site "Tampere"] [Date "1998.??.??"] [Round "?"] [White "Bengt Wikman"] [Black "Leo Peltola"] [Result "*"] [PlyCount "17"] [FEN "2rq1r1k/1b2bp1p/p1nppp1Q/1p3P2/4P1PP/2N2N2/PPP5/1K1R1B1R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ng5 fxg5 2. hxg5 Bxg5 3. Qxh7# * [Event "?"] [Site "Ubeda"] [Date "1998.??.??"] [Round "?"] [White "Chen Zhu"] [Black "Gallego Sergio Castillo"] [Result "*"] [PlyCount "17"] [FEN "r2q3k/ppb3pp/2p1B3/2P1RQ2/8/6P1/PP1r3P/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxh7+ Kxh7 2. Rh5+ Kg6 3. Bf7# * [Event "?"] [Site "Creon"] [Date "1999.??.??"] [Round "?"] [White "Glenn Flear"] [Black "Jean-Louis Sabatie"] [Result "*"] [PlyCount "17"] [FEN "r3kb1r/1p3ppp/p1n2n2/4p1N1/2B3b1/1P2P3/P4PPP/RNBR2K1 w kq - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bxf7+ Ke7 2. Ba3+ Nb4 3. Bxb4# * [Event "?"] [Site "Kohtla-Jarve"] [Date "1999.??.??"] [Round "?"] [White "Valentina Golubenko"] [Black "Stanislav Beljaev"] [Result "*"] [PlyCount "17"] [FEN "r4k2/6pp/p1n1p2N/2p5/1q6/6QP/PbP2PP1/1K1R1B2 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qd6+ Ke8 2. Qxe6+ Ne7 3. Qf7# * [Event "?"] [Site "Kohtla-Jarve"] [Date "1999.??.??"] [Round "?"] [White "Valentina Golubenko"] [Black "Dmitry Knyazhev"] [Result "*"] [PlyCount "17"] [FEN "6k1/3q1ppp/p2r4/1p6/4Q3/8/PPP3PP/3R3K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qa8+ Qd8 2. Qxd8+ Rxd8 3. Rxd8# * [Event "?"] [Site "Suwalki"] [Date "1999.??.??"] [Round "?"] [White "Zbigniew Jasnikowski"] [Black "Piotr Mickiewicz"] [Result "*"] [PlyCount "17"] [FEN "2n2rk1/5p1p/6p1/1pQ5/2q5/2N1B1P1/1b3P1P/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxf8+ Kxf8 2. Bh6+ Kg8 3. Re8# * [Event "?"] [Site "Shenyang"] [Date "1999.??.??"] [Round "?"] [White "Hua Ni"] [Black "M Ssegirinya Joseph-Mary"] [Result "*"] [PlyCount "17"] [FEN "2r4b/pp1kprNp/3pNp1P/q2P2p1/2n5/4B2Q/PPP3R1/1K1R4 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nc5+ Kc7 2. Qd7+ Kb6 3. Qxb7# * [Event "?"] [Site "Batumi"] [Date "1999.??.??"] [Round "?"] [White "Judit Polgar"] [Black "Artashes Minasian"] [Result "*"] [PlyCount "17"] [FEN "4R3/p2r1q1k/5B1P/6P1/2p4K/3b4/4Q3/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. g6+ Kxg6 2. Qh5+ Kxf6 3. Qg5# * [Event "?"] [Site "Soest"] [Date "1999.??.??"] [Round "?"] [White "James Reed"] [Black "Aad Tenwolde"] [Result "*"] [PlyCount "17"] [FEN "r1bqr1k1/pp3pbR/2n1p1p1/4PnN1/2Bp1P2/2N4Q/PP4P1/R1B1K3 w Q - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh8+ Bxh8 2. Qh7+ Kf8 3. Qxf7# * [Event "?"] [Site "Paris"] [Date "1999.??.??"] [Round "?"] [White "Almira Skripchenko"] [Black "Rosa Te-Llalemand"] [Result "*"] [PlyCount "17"] [FEN "r2r2k1/p3bppp/3p4/q2p3n/3QP3/1P4R1/PB3PPP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxg7+ Kf8 2. Rg8+ Kxg8 3. Qh8# * [Event "?"] [Site "Fredericksburg"] [Date "1999.??.??"] [Round "?"] [White "Emory Tate"] [Black "Rodney Flores"] [Result "*"] [PlyCount "17"] [FEN "Q7/1R5p/2kqr2n/7p/5Pb1/8/P1P2BP1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qa6+ Kd5 2. Qd3+ Kc6 3. Qb5# * [Event "?"] [Site "Lyons"] [Date "1999.??.??"] [Round "?"] [White "F Tiero"] [Black "Curtalin"] [Result "*"] [PlyCount "17"] [FEN "r2q1r2/pppb1pkn/3p1np1/3Pp3/2P1P1PB/2N3P1/PP1QB3/R3K2R w KQ - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh6+ Kg8 2. Bxf6 Nxf6 3. Qh8# * [Event "?"] [Site "Gausdal"] [Date "2000.??.??"] [Round "?"] [White "Nigel Davies"] [Black "Christoph Engelbert"] [Result "*"] [PlyCount "17"] [FEN "5rn1/1q1r3k/7p/3N1p2/P1p1pP2/2Q5/1P4RP/6RK w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxg8 Qxb2 2. Rh8+ Rxh8 3. Nf6# * [Event "?"] [Site "Internet"] [Date "2000.??.??"] [Round "?"] [White "Garry Kasparov"] [Black "Alexander Karman"] [Result "*"] [PlyCount "17"] [FEN "r3rk2/5pn1/pb1nq1pR/1p2p1P1/2p1P3/2P2QN1/PPBB1P2/2K4R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qf6 Qxf6 2. gxf6 Nxe4 3. Rh8# * [Event "?"] [Site "Brussels"] [Date "2000.??.??"] [Round "?"] [White "Luke McShane"] [Black "Daniel Pedersen"] [Result "*"] [PlyCount "17"] [FEN "8/7p/4Nppk/R7/6PP/3n2K1/Pr6/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. g5+ fxg5 2. hxg5+ Kh5 3. Ng7# * [Event "?"] [Site "Samara"] [Date "2000.??.??"] [Round "?"] [White "Alexander Motylev"] [Black "Alexei Iljushin"] [Result "*"] [PlyCount "17"] [FEN "r3rnk1/pp6/1q3B1p/3pP2Q/8/8/PP4PP/1B3b1K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bh7+ Nxh7 2. Qg6+ Kf8 3. Qg7# * [Event "?"] [Site "Chalkidiki"] [Date "2000.??.??"] [Round "?"] [White "Ian Nepomniachtchi"] [Black "Aggelos Sismanis"] [Result "*"] [PlyCount "17"] [FEN "2r2b1k/p2Q3p/b1n2PpP/2p5/3r1BN1/3q2P1/P4PB1/R3R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qg7+ Bxg7 2. hxg7+ Kg8 3. Nh6# * [Event "?"] [Site "Istanbul"] [Date "2000.??.??"] [Round "?"] [White "Almira Skripchenko"] [Black "Angela Khegai"] [Result "*"] [PlyCount "17"] [FEN "2r1n1k1/1q1r1p1p/pp1ppBp1/8/P1P2PP1/1P1R3Q/7P/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxh7+ Kxh7 2. Rh3+ Kg8 3. Rh8# * [Event "?"] [Site "Deurne"] [Date "2000.??.??"] [Round "?"] [White "Emory Tate"] [Black "Arthur Abolianin"] [Result "*"] [PlyCount "17"] [FEN "k7/4rp1p/p1q3p1/Q1r2p2/1R6/8/P5PP/1R5K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qd8+ Qc8 2. Rb8+ Ka7 3. Qb6# * [Event "?"] [Site "Las Vegas"] [Date "2001.??.??"] [Round "?"] [White "Walter Browne"] [Black "Yuri Shulman"] [Result "*"] [PlyCount "17"] [FEN "5n2/2B4k/ppb3p1/2p2N1p/P1r5/7P/1P4P1/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Re7+ Kh8 2. Be5+ Kg8 3. Nh6# * [Event "?"] [Site "Vukovar"] [Date "2001.??.??"] [Round "?"] [White "Ivan Cheparinov"] [Black "Branko Macanga"] [Result "*"] [PlyCount "17"] [FEN "2b1r2r/2q1p1kn/pN1pPp2/P2P1RpQ/3p4/3B4/1P4PP/R6K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qf7+ Kh6 2. Rxf6+ Nxf6 3. Qg6# * [Event "?"] [Site "Korinthos"] [Date "2001.??.??"] [Round "?"] [White "Tamaz Gelashvili"] [Black "Panayiotis Kakogiannis"] [Result "*"] [PlyCount "17"] [FEN "rq2kb1r/1p1n1pp1/p3p1b1/1B1pP1Bp/NP1P3P/P7/5PP1/2RQK2R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bxd7+ Kxd7 2. Nb6+ Ke8 3. Qa4# * [Event "?"] [Site "Minsk"] [Date "2001.??.??"] [Round "?"] [White "Alexandra Kosteniuk"] [Black "Anna Ushenina"] [Result "*"] [PlyCount "17"] [FEN "3r3k/pp4p1/3qQp1p/P1p5/7R/3rN1PP/1B3P2/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxh6+ gxh6 2. Bxf6+ Kh7 3. Qf7# * [Event "?"] [Site "Germany"] [Date "2001.??.??"] [Round "?"] [White "Bruno Marzolf"] [Black "Hartmut Kohl"] [Result "*"] [PlyCount "17"] [FEN "r2q1r1k/pppb2pp/2np4/5p2/5N2/1B1Q4/PPP1RPPP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ng6+ hxg6 2. Qh3+ Qh4 3. Qxh4# * [Event "?"] [Site "Tel Aviv"] [Date "2001.??.??"] [Round "?"] [White "Emil Sutovsky"] [Black "Harmen Jonkman"] [Result "*"] [PlyCount "17"] [FEN "4n3/p3N1rk/5Q2/2q4p/2p5/1P3P1P/P1P2P2/6RK w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxg7+ Nxg7 2. Qg6+ Kh8 3. Qh6# * [Event "?"] [Site "Bled"] [Date "2002.??.??"] [Round "?"] [White "Nase Lungu"] [Black "Devarajen Chinasamy"] [Result "*"] [PlyCount "17"] [FEN "r1b4r/1p2kpp1/p3p3/4P2n/2qN4/2N5/PPPQ3P/2KR3R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nf5+ exf5 2. Qd6+ Ke8 3. Qd8# * [Event "?"] [Site "Batumi"] [Date "2002.??.??"] [Round "?"] [White "Shakhriyar Mamedyarov"] [Black "Vitezslav Priehoda"] [Result "*"] [PlyCount "17"] [FEN "2Q5/p4qk1/1p3p2/1P2n1pP/4B1P1/6K1/5P2/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. h6+ Kxh6 2. Qh8+ Qh7 3. Qxh7# * [Event "?"] [Site "Copenhagen"] [Date "2002.??.??"] [Round "?"] [White "Luke McShane"] [Black "Peter Roder"] [Result "*"] [PlyCount "17"] [FEN "3b2r1/5Rn1/2qP2pk/p1p1B3/2P1N3/1P3Q2/6K1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bxg7+ Rxg7 2. Qh3+ Bh4 3. Qxh4# * [Event "?"] [Site "Heraklio"] [Date "2002.??.??"] [Round "?"] [White "Levan Pantsulaia"] [Black "Igor Smirnov"] [Result "*"] [PlyCount "17"] [FEN "1R6/5qpk/4p2p/1Pp1Bp1P/r1n2QP1/5PK1/4P3/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxh6+ Kxh6 2. Rh8+ Kg5 3. f4# * [Event "?"] [Site "Parsippany"] [Date "2002.??.??"] [Round "?"] [White "Jennifer Shahade"] [Black "Arthur Feuerstein"] [Result "*"] [PlyCount "17"] [FEN "rn1k3r/1b1q1ppp/p2P4/2B2p2/8/1QNBR3/PP3PPP/2R3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qb6+ Kc8 2. Bxf5 Bc6 3. Qc7# * [Event "?"] [Site "Torquay"] [Date "2002.??.??"] [Round "?"] [White "James Sherwin"] [Black "Christopher Dorrington"] [Result "*"] [PlyCount "17"] [FEN "r6k/pb4bp/5Q2/2p1Np2/1qB5/8/P4PPP/4RK2 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ng6+ hxg6 2. Qh4+ Bh6 3. Qxh6# * [Event "?"] [Site "Merano"] [Date "2002.??.??"] [Round "?"] [White "Juergen Wempe"] [Black "Hermann Krieger"] [Result "*"] [PlyCount "17"] [FEN "5rk1/pbppq1bN/1pn1p1Q1/6N1/3P4/8/PPP2PP1/2K4R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nf6+ Rxf6 2. Rh8+ Kxh8 3. Qh7# * [Event "?"] [Site "Minsk"] [Date "2002.??.??"] [Round "?"] [White "Sergei Zhigalko"] [Black "Igor Ratkovich"] [Result "*"] [PlyCount "17"] [FEN "3n2b1/1pr1r2k/p1p1pQpp/P1P5/2BP1PP1/5K2/1P5R/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bd3 Bf7 2. Rxh6+ Kxh6 3. Qh8# * [Event "?"] [Site "Internet"] [Date "2003.??.??"] [Round "?"] [White "Levon Aronian"] [Black "Dragan Solak"] [Result "*"] [PlyCount "17"] [FEN "3R4/2Q5/4qppk/pp2B3/8/P7/8/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh8+ Kg5 2. Qc1+ Kf5 3. Qf4# * [Event "?"] [Site "Novi Sad"] [Date "2003.??.??"] [Round "?"] [White "Csaba Balogh"] [Black "Aleksandra Dimitrijevic"] [Result "*"] [PlyCount "17"] [FEN "rn3k2/pR2b3/4p1Q1/2q1N2P/3R2P1/3K4/P3Br2/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxb8+ Bd8 2. Rdxd8+ Ke7 3. Rd7# * [Event "?"] [Site "Gausdal"] [Date "2003.??.??"] [Round "?"] [White "Mark Bluvshtein"] [Black "Stig Martinsen"] [Result "*"] [PlyCount "17"] [FEN "8/1p2pQnp/2r2q2/3p2k1/1P4B1/6P1/5PK1/7R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh5+ Kxg4 2. f3+ Qxf3+ 3. Qxf3# * [Event "?"] [Site "Copenhagen"] [Date "2003.??.??"] [Round "?"] [White "Magnus Carlsen"] [Black "Hans K Harestad"] [Result "*"] [PlyCount "17"] [FEN "r7/3bb1kp/q4p1N/1pnPp1np/2p4Q/2P5/1PB3P1/2B2RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxg5+ fxg5 2. Rf7+ Kxh6 3. Rxh7# * [Event "?"] [Site "Austria"] [Date "2003.??.??"] [Round "?"] [White "Franz Hoelzl"] [Black "Michael Schwarz"] [Result "*"] [PlyCount "17"] [FEN "r1b1r1k1/ppp1np1p/2np2pQ/5qN1/1bP5/6P1/PP2PPBP/R1B2RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxh7+ Kf8 2. Ne6+ fxe6 3. Bh6# * [Event "?"] [Site "Internet"] [Date "2003.??.??"] [Round "?"] [White "Rauf Mamedov"] [Black "Zurab Azmaiparashvili"] [Result "*"] [PlyCount "17"] [FEN "4k2r/1b2ppb1/p3Nnp1/qp2p2p/7P/2rB1P2/PPPQ2P1/1K1R3R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bxb5+ axb5 2. Qd8+ Qxd8 3. Rxd8# * [Event "?"] [Site "Halkidiki"] [Date "2003.??.??"] [Round "?"] [White "Maxim Matlakov"] [Black "Sasa Martinovic"] [Result "*"] [PlyCount "17"] [FEN "r4r2/1pp5/1bnp3p/p2B1Pnk/P5p1/2PP2K1/1P6/R1B2R2 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh1+ Nh3 2. Rxh3+ gxh3 3. Bf3# * [Event "?"] [Site "Budva"] [Date "2003.??.??"] [Round "?"] [White "Georg Meier"] [Black "Oleg Shelajev"] [Result "*"] [PlyCount "17"] [FEN "2qr2k1/4rppN/ppnp4/2pR3Q/2P2P2/1P4P1/PB5P/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nf6+ gxf6 2. Rg5+ fxg5 3. Qh8# * [Event "?"] [Site "Halkidiki"] [Date "2003.??.??"] [Round "?"] [White "Ian Nepomniachtchi"] [Black "Jonathan Dourerassou"] [Result "*"] [PlyCount "17"] [FEN "5kr1/pp4p1/3b1rb1/2Bp2NQ/1q6/8/PP3PPP/R3R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nh7+ Kf7 2. Qxd5+ Re6 3. Qxe6# * [Event "?"] [Site "Wijk aan Zee"] [Date "2003.??.??"] [Round "?"] [White "Daniel Stellwagen"] [Black "Koneru Humpy"] [Result "*"] [PlyCount "17"] [FEN "7R/3Q2p1/2p2nk1/pp4P1/3P2r1/2P5/4q3/5R1K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxf6+ gxf6 2. Rg8+ Kh5 3. Qh7# * [Event "?"] [Site "Basel"] [Date "2004.??.??"] [Round "?"] [White "Csaba Balogh"] [Black "Joseph Gallagher"] [Result "*"] [PlyCount "17"] [FEN "1r2r1k1/5p2/5Rp1/4Q2p/P2B2qP/1NP5/1KP5/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxg6+ Kf8 2. Bc5+ Re7 3. Qxe7# * [Event "?"] [Site "France"] [Date "2004.??.??"] [Round "?"] [White "Sebastien Feller"] [Black "Alexandre Lambrescak"] [Result "*"] [PlyCount "17"] [FEN "r1b1nn1k/p3p1b1/1qp1B1p1/1p1p4/3P3N/2N1B3/PPP3PP/R2Q1K2 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nxg6+ Nxg6 2. Qh5+ Bh6 3. Qxh6# * [Event "?"] [Site "Izmir"] [Date "2004.??.??"] [Round "?"] [White "Alexander Grischuk"] [Black "Klisurica Jashar"] [Result "*"] [PlyCount "17"] [FEN "r3n2R/pp2n3/3p1kp1/1q1Pp1N1/6P1/2P1BP2/PP6/2KR4 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rf8+ Kg7 2. Ne6+ Kh7 3. Rh1# * [Event "?"] [Site "Sochi"] [Date "2004.??.??"] [Round "?"] [White "Alexey Korotylev"] [Black "Sergey Smagin"] [Result "*"] [PlyCount "17"] [FEN "3br3/pp2r3/2p4k/4N1pp/3PP3/P1N5/1P2K3/6RR w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxh5+ Kg7 2. Rgxg5+ Kf6 3. Rg6# * [Event "?"] [Site "Krasnoturinsk"] [Date "2004.??.??"] [Round "?"] [White "Irina Krush"] [Black "Antoaneta Stefanova"] [Result "*"] [PlyCount "17"] [FEN "3kr3/p1r1bR2/4P2p/1Qp5/3p3p/8/PP4PP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qb8+ Rc8 2. Qd6+ Bxd6 3. Rd7# * [Event "?"] [Site "Zadar"] [Date "2004.??.??"] [Round "?"] [White "Vladislav Nevednichy"] [Black "Marijan Kristovic"] [Result "*"] [PlyCount "17"] [FEN "r3b3/4R3/2p3p1/pp1k2Np/4NP2/P5P1/1PP4P/2K2n2 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Re5+ Kd4 2. Nd6 Nxh2 3. Ne6# * [Event "?"] [Site "Sanxenxo"] [Date "2004.??.??"] [Round "?"] [White "Francisco Vallejo Pons"] [Black "Oleg Korneev"] [Result "*"] [PlyCount "17"] [FEN "4k3/4n3/3R2P1/7N/5P2/2r5/5K2/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ng7+ Kf8 2. Ne6+ Kg8 3. Rd8# * [Event "?"] [Site "Monte Carlo"] [Date "2005.??.??"] [Round "?"] [White "Viswanathan Anand"] [Black "Veselin Topalov"] [Result "*"] [PlyCount "17"] [FEN "5b2/8/2p1b3/2p1Pp2/p1P2P2/k1B5/1NK5/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nd3 Bxc4 2. Bb2+ Ka2 3. Nc1# * [Event "?"] [Site "Mainz"] [Date "2005.??.??"] [Round "?"] [White "Viswanathan Anand"] [Black "Alexander Grischuk"] [Result "*"] [PlyCount "17"] [FEN "rn1r4/pp2p1b1/5kpp/q1PQ1b2/6n1/2N2N2/PPP3PP/R1B2RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ne4+ Bxe4 2. Nd4+ Bf5 3. Qe6# * [Event "?"] [Site "Serpukhov"] [Date "2005.??.??"] [Round "?"] [White "Valentina Golubenko"] [Black "Berik Akkozov"] [Result "*"] [PlyCount "17"] [FEN "1rb2k2/1pq3pQ/pRpNp3/P1P2n2/3P1P2/4P3/6PP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh8+ Ke7 2. Qe8+ Kf6 3. Ne4# * [Event "?"] [Site "Goteborg"] [Date "2005.??.??"] [Round "?"] [White "Joel Lautier"] [Black "Meelis Kanep"] [Result "*"] [PlyCount "17"] [FEN "7k/2R5/pp1p1r1p/3B1P2/P1n3pN/2p5/1b5P/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ng6+ Rxg6 2. fxg6 g3 3. Rh7# * [Event "?"] [Site "Internet"] [Date "2005.??.??"] [Round "?"] [White "Viktor Laznicka"] [Black "Thomas Schunk"] [Result "*"] [PlyCount "17"] [FEN "r3k2r/pR2ppbp/2p2np1/8/4N3/3PB1QP/q4PP1/5RK1 w kq - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rb8+ Rxb8 2. Qxb8+ Kd7 3. Nc5# * [Event "?"] [Site "Xiapu"] [Date "2005.??.??"] [Round "?"] [White "Li Chao"] [Black "Liu Qingnan"] [Result "*"] [PlyCount "17"] [FEN "r2r2k1/1q2bpB1/pp1p1PBp/8/P7/7Q/1PP3PP/R6K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bh7+ Kxh7 2. Qxh6+ Kg8 3. Qh8# * [Event "?"] [Site "Dubai"] [Date "2005.??.??"] [Round "?"] [White "Evgenij Miroshnichenko"] [Black "Zhao Xue"] [Result "*"] [PlyCount "17"] [FEN "b3n1k1/5pP1/2N5/pp1P4/4Bb2/qP4QP/5P1K/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bh7+ Kxh7 2. g8=Q+ Kh6 3. Qh8# * [Event "?"] [Site "Gibraltar"] [Date "2005.??.??"] [Round "?"] [White "Ian Rogers"] [Black "St Bergsson"] [Result "*"] [PlyCount "17"] [FEN "b5r1/2r5/2pk4/2N1R1p1/1P4P1/4K2p/4P2P/R7 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Re6+ Kd5 2. Kd3 Rd8 3. e4# * [Event "?"] [Site "Mainz"] [Date "2005.??.??"] [Round "?"] [White "Alexei Shirov"] [Black "Klaus Bischoff"] [Result "*"] [PlyCount "17"] [FEN "1r2r2k/5p1p/ppbp1P1B/5PR1/2P3Rp/3n4/PP1N3P/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bg7+ Kg8 2. Bf8+ Kxf8 3. Rg8# * [Event "?"] [Site "Prague"] [Date "2005.??.??"] [Round "?"] [White "Alexei Shirov"] [Black "David Navara"] [Result "*"] [PlyCount "17"] [FEN "q2rrk2/1b4pQ/p7/3pP3/1b3P2/3B3R/6PP/2R3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qf5+ Kg8 2. Rh8+ Kxh8 3. Qh7# * [Event "?"] [Site "Jinan"] [Date "2005.??.??"] [Round "?"] [White "Zhang Zhong"] [Black "Wang Yaoyao"] [Result "*"] [PlyCount "17"] [FEN "5rkr/1p2Qpbp/pq1P4/2nB4/5p2/2N5/PPP4P/1K1RR3 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxf7+ Rxf7 2. Re8+ Bf8 3. Rg1# * [Event "?"] [Site "Buenos Aires"] [Date "2006.??.??"] [Round "?"] [White "Ivan Balzano"] [Black "Carlos Reynoso"] [Result "*"] [PlyCount "17"] [FEN "r1bq1r1k/pp4pp/2pp4/2b2p2/4PN2/1BPP1Q2/PP3PPP/R4RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ng6+ hxg6 2. Qh3+ Qh4 3. Qxh4# * [Event "?"] [Site "Germany"] [Date "2006.??.??"] [Round "?"] [White "Pawel Czarnota"] [Black "Zoltan Ribli"] [Result "*"] [PlyCount "17"] [FEN "3r1k2/1pr2pR1/p1bq1n1Q/P3pP2/3pP3/3P4/1P2N2P/6RK w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh8+ Ke7 2. Rxf7+ Kxf7 3. Rg7# * [Event "?"] [Site "Turin"] [Date "2006.??.??"] [Round "?"] [White "Colm Daly"] [Black "Jac Thomas"] [Result "*"] [PlyCount "17"] [FEN "5q2/7k/1Q3B1p/1P3P2/2P5/1KN2p2/8/r7 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qc7+ Kg8 2. Qg3+ Kh7 3. Qg6# * [Event "?"] [Site "Turin"] [Date "2006.??.??"] [Round "?"] [White "Lenier Dominguez-Perez"] [Black "Artur Jussupow"] [Result "*"] [PlyCount "17"] [FEN "4r1k1/pp1q3p/2n1NBb1/3pP1Q1/2pP2P1/2P2P2/5K2/7R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxg6+ hxg6 2. Rh8+ Kf7 3. Ng5# * [Event "?"] [Site "Turin"] [Date "2006.??.??"] [Round "?"] [White "Evgenij Ermenkov"] [Black "Peter Rowe"] [Result "*"] [PlyCount "17"] [FEN "1r2r3/2p2p2/5Bpk/3pP1Rp/pp3P1Q/7P/qPP3PK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxh5+ gxh5 2. Qg5+ Kh7 3. Qg7# * [Event "?"] [Site "Vladimir"] [Date "2006.??.??"] [Round "?"] [White "Valentina Golubenko"] [Black "Nadezhda Kharmunova"] [Result "*"] [PlyCount "17"] [FEN "3q1r2/p2nr3/1k1NB1pp/1Pp5/5B2/1Q6/P5PP/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nc4+ Kb7 2. Qf3+ Kc8 3. Qa8# * [Event "?"] [Site "Yerevan"] [Date "2006.??.??"] [Round "?"] [White "Li Chao"] [Black "Deep Sengupta"] [Result "*"] [PlyCount "17"] [FEN "2q4r/R7/5p1k/2BpPn2/6Qp/6PN/5P1K/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Be3+ Nxe3 2. Qg7+ Kh5 3. Nf4# * [Event "?"] [Site "Abudhabi"] [Date "2006.??.??"] [Round "?"] [White "Evgenij Miroshnichenko"] [Black "Sadegh Mahmoody"] [Result "*"] [PlyCount "17"] [FEN "r2Q1q1k/pp5r/4B1p1/5p2/P7/4P2R/7P/1R4K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxb7 Rxh3 2. Qd4+ Qg7 3. Qxg7# * [Event "?"] [Site "Netherlands"] [Date "2006.??.??"] [Round "?"] [White "Sergei Movsesian"] [Black "Mihail Saltaev"] [Result "*"] [PlyCount "17"] [FEN "6k1/p1q3pp/7P/1p3P2/4N1P1/3P1K2/4Q3/2b5 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nf6+ Kf7 2. Qe6+ Kf8 3. Nxh7# * [Event "?"] [Site "Rishon le Zion"] [Date "2006.??.??"] [Round "?"] [White "Teimour Radjabov"] [Black "Viswanathan Anand"] [Result "*"] [PlyCount "17"] [FEN "r1b1kb1r/1p1n1p2/p1n1N2p/4P1p1/q3N2B/8/P1PQB1PP/1R2K2R w Kkq - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nf6+ Nxf6 2. Nc7+ Ke7 3. Qd6# * [Event "?"] [Site "Batumi"] [Date "2006.??.??"] [Round "?"] [White "Maxim Rodshtein"] [Black "Prasad Arun"] [Result "*"] [PlyCount "17"] [FEN "3RQn2/2r1q1k1/4Bppp/3p3P/3p4/4P1P1/5PK1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxg6+ Nxg6 2. Rg8+ Kh7 3. hxg6# * [Event "?"] [Site "Turin"] [Date "2006.??.??"] [Round "?"] [White "Fiona Steil-Antoni"] [Black "Patricia Llaneza Vega"] [Result "*"] [PlyCount "17"] [FEN "3r4/p1rk4/1p2p1q1/3PQp2/5P2/2P3PR/3K4/2R5 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh7+ Ke8 2. Qh8+ Qg8 3. Qxg8# * [Event "?"] [Site "Cuernavaca"] [Date "2006.??.??"] [Round "?"] [White "Francisco Vallejo Pons"] [Black "Manuel Leon Hoyos"] [Result "*"] [PlyCount "17"] [FEN "4r2k/2pb1R2/2p4P/3pr1N1/1p6/7P/P1P5/2K4R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh7+ Kg8 2. Rg7+ Kf8 3. Nh7# * [Event "?"] [Site "Mexico City"] [Date "2007.??.??"] [Round "?"] [White "Levon Aronian"] [Black "Alexander Grischuk"] [Result "*"] [PlyCount "17"] [FEN "3rk2b/5R1P/6B1/8/1P3pN1/7P/P2pbP2/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nf6+ Bxf6 2. Rg7+ Kf8 3. h8=Q# * [Event "?"] [Site "Augsburg"] [Date "2007.??.??"] [Round "?"] [White "Daniel Birth"] [Black "Josef Haelterlein"] [Result "*"] [PlyCount "17"] [FEN "r1b4r/1k2bppp/p1p1p3/8/Np2nB2/3R4/PPP1BPPP/2KR4 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rd7+ Bxd7 2. Rxd7+ Kc8 3. Nb6# * [Event "?"] [Site "Germany"] [Date "2007.??.??"] [Round "?"] [White "Dimitrij Bunzmann"] [Black "Thies Heinemann"] [Result "*"] [PlyCount "17"] [FEN "r3r1k1/7p/2pRR1p1/p7/2P5/qnQ1P1P1/6BP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxg6+ hxg6 2. Rxg6+ Kh7 3. Qg7# * [Event "?"] [Site "Germany"] [Date "2007.??.??"] [Round "?"] [White "Lubomir Ftacnik"] [Black "Francisco Vallejo Pons"] [Result "*"] [PlyCount "17"] [FEN "7k/1p2b2p/1qp2r2/p3pPQ1/8/P2P3P/1P4B1/6RK w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qg8+ Kxg8 2. Bd5+ Kf8 3. Rg8# * [Event "?"] [Site "Dresden"] [Date "2007.??.??"] [Round "?"] [White "Kiril Georgiev"] [Black "Bartosz Socko"] [Result "*"] [PlyCount "17"] [FEN "1r4k1/5bp1/pr1P2p1/1np1p3/2B1P2R/2P2PN1/6K1/R7 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh8+ Kxh8 2. Bxf7 g5 3. Rh1# * [Event "?"] [Site "St. Petersburg"] [Date "2007.??.??"] [Round "?"] [White "Anish Giri"] [Black "Olga Lelekova"] [Result "*"] [PlyCount "17"] [FEN "8/pR6/2rp4/2k5/4Q3/5P2/q1PK4/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qe3+ Kd5 2. Rb5+ Rc5 3. Qe4# * [Event "?"] [Site "New York"] [Date "2007.??.??"] [Round "?"] [White "Robert Hess"] [Black "Effim Treger"] [Result "*"] [PlyCount "17"] [FEN "1R4nr/p1k1ppb1/2p4p/4Pp2/3N1P1B/8/q1P3PP/3Q2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ne6+ Kxb8 2. Qd8+ Kb7 3. Nc5# * [Event "?"] [Site "Stillwater"] [Date "2007.??.??"] [Round "?"] [White "Alexander Ivanov"] [Black "Michael Langer"] [Result "*"] [PlyCount "17"] [FEN "5rk1/2R4p/3QP1p1/3p4/4p3/1P5P/q7/2R3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxf8+ Kxf8 2. Rf7+ Ke8 3. Rc8# * [Event "?"] [Site "Valjevo"] [Date " 2007.??.??"] [Round "?"] [White "Anatoly Karpov"] [Black "Mahajlo Stojanovic"] [Result "*"] [PlyCount "17"] [FEN "2q1rb1k/prp3pp/1pn1p3/5p1N/2PP3Q/6R1/PP3PPP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nf6 h6 2. Qxh6+ gxh6 3. Rg8# * [Event "?"] [Site "Great Yarmouth"] [Date "2007.??.??"] [Round "?"] [White "Simon Knott"] [Black "Ken McEwan"] [Result "*"] [PlyCount "17"] [FEN "2q1b1k1/p5pp/n2R4/1p2P3/2p5/B1P5/5QPP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qf8+ Kxf8 2. Rf6+ Kg8 3. Rf8# * [Event "?"] [Site "Herceg Novi"] [Date "2007.??.??"] [Round "?"] [White "Aleksandar Kovacevic"] [Black "Anto Rmus"] [Result "*"] [PlyCount "17"] [FEN "1r4k1/1r2ppb1/4bPp1/3pP3/2qB2P1/p7/1PP4Q/2KR3R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh7+ Kf8 2. Qh8+ Bxh8 3. Rxh8# * [Event "?"] [Site "Pardubice"] [Date "2007.??.??"] [Round "?"] [White "Viktor Laznicka"] [Black "Sergei Movsesian"] [Result "*"] [PlyCount "17"] [FEN "4N1k1/1p2qrb1/p1p1np2/2P5/8/4B3/Pp5Q/1K1R3R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh7+ Kf8 2. Qh8+ Bxh8 3. Rxh8# * [Event "?"] [Site "Bilbao"] [Date "2007.??.??"] [Round "?"] [White "Judit Polgar"] [Black "Bu Xiangzhi"] [Result "*"] [PlyCount "17"] [FEN "6k1/6p1/4R2p/5R2/1P3PK1/5QP1/6rq/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rf8+ Kxf8 2. Qa8+ Kf7 3. Qe8# * [Event "?"] [Site "Vogosca"] [Date "2007.??.??"] [Round "?"] [White "Nigel Short"] [Black "Aleksandar Savanovic"] [Result "*"] [PlyCount "17"] [FEN "3rbk2/2q2p2/p4P1p/1p6/4BP2/P6P/1P1Q3K/6R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rg8+ Kxg8 2. Qg2+ Kf8 3. Qg7# * [Event "?"] [Site "Germany"] [Date "2007.??.??"] [Round "?"] [White "Raj Tischbierek"] [Black "Karsten Mueller"] [Result "*"] [PlyCount "17"] [FEN "2k5/1b1r1Rbp/p3p3/Bp4P1/3p1Q1P/P7/1PP1q3/1K6 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rf8+ Bxf8 2. Qxf8+ Rd8 3. Qxd8# * [Event "?"] [Site "Great Yarmouth"] [Date "2007.??.??"] [Round "?"] [White "Michael White"] [Black "Christopher Dossett"] [Result "*"] [PlyCount "17"] [FEN "r2k1r2/3b2pp/p5p1/2Q1R3/1pB1Pq2/1P6/PKP4P/7R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qb6+ Kc8 2. Rc5+ Bc6 3. Be6# * [Event "?"] [Site "Moscow"] [Date "2008.??.??"] [Round "?"] [White "Evgeny Alekseev"] [Black "Sergey Karjakin"] [Result "*"] [PlyCount "17"] [FEN "5rk1/4Rp1p/1q1pBQp1/5r2/1p6/1P4P1/2n2P2/3R2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bxf7+ Rxf7 2. Re8+ Rf8 3. Rxf8# * [Event "?"] [Site "Dresden"] [Date "2008.??.??"] [Round "?"] [White "Rainer Buhmann"] [Black "Boonsueb Saeheng"] [Result "*"] [PlyCount "17"] [FEN "q1r2b1k/rb4np/1p2p2N/pB1n4/6Q1/1P2P3/PB3PPP/2RR2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxe6 Ne7 2. Qg8+ Nxg8 3. Nf7# * [Event "?"] [Site "Novetle"] [Date "2008.??.??"] [Round "?"] [White "Laura Collado Barbas"] [Black "Maria Acebal Muniz"] [Result "*"] [PlyCount "17"] [FEN "r1r2k1b/pp1n1p1p/4p2P/2Pp4/2P3Q1/BP2P3/P2N1PP1/R3K3 w Q - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. c6+ Ke8 2. Qg8+ Nf8 3. Qxf8# * [Event "?"] [Site "Germany"] [Date "2008.??.??"] [Round "?"] [White "Iulia Gromova"] [Black "Annett Wagner-Michel"] [Result "*"] [PlyCount "17"] [FEN "b3r1k1/p4RbN/P3P1p1/1p6/1qp4P/4Q1P1/5P2/5BK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nf6+ Bxf6 2. Qh6 Rxe6 3. Qh7# * [Event "?"] [Site "Borup"] [Date "2008.??.??"] [Round "?"] [White "Jon Hammer"] [Black "Bo Garner Christensen"] [Result "*"] [PlyCount "17"] [FEN "2r1k3/3n1p2/6p1/1p1Qb3/1B2N1q1/2P1p3/P4PP1/2KR4 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qxe5+ Kd8 2. Be7+ Ke8 3. Nd6# * [Event "?"] [Site "Moscow"] [Date "2008.??.??"] [Round "?"] [White "Vassily Ivanchuk"] [Black "Boris Gelfand"] [Result "*"] [PlyCount "17"] [FEN "3R4/1r3pkp/3Np1bp/n3P3/2B5/7P/6P1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ne8+ Kf8 2. Nf6+ Ke7 3. Re8# * [Event "?"] [Site "Moscow"] [Date "2008.??.??"] [Round "?"] [White "Vassily Ivanchuk"] [Black "Gata Kamsky"] [Result "*"] [PlyCount "17"] [FEN "1n1N2rk/2Q2pb1/p3p2p/Pq2P3/3R4/6B1/1P3P1P/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nxf7+ Kh7 2. Qc2+ Qd3 3. Qxd3# * [Event "?"] [Site "Hastings"] [Date "2008.??.??"] [Round "?"] [White "James McDonnell"] [Black "Jens Nebel"] [Result "*"] [PlyCount "17"] [FEN "6k1/5pp1/p3p2p/3bP2P/6QN/8/rq4P1/2R4K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rc8+ Kh7 2. Qg6+ fxg6 3. hxg6# * [Event "?"] [Site "Tulsa"] [Date "2008.??.??"] [Round "?"] [White "Mila Mokryak"] [Black "M Nugent"] [Result "*"] [PlyCount "17"] [FEN "r6r/pp3pk1/2p2Rp1/2p1P2B/3bQ3/6PK/7P/6q1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxf7+ Kxf7 2. Qxg6+ Ke7 3. Qd6# * [Event "?"] [Site "Moscow"] [Date "2008.??.??"] [Round "?"] [White "Ruslan Ponomariov"] [Black "Evgeny Alekseev"] [Result "*"] [PlyCount "17"] [FEN "8/8/p3B1bk/b1P3pp/3QP3/1KN3q1/8/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh8+ Bh7 2. Qf8+ Kg6 3. Bf5# * [Event "?"] [Site "Moscow"] [Date "2009.??.??"] [Round "?"] [White "Viswanathan Anand"] [Black "Vladislav Tkachiev"] [Result "*"] [PlyCount "17"] [FEN "3r1q1r/1p4k1/1pp2pp1/4p3/4P2R/1nP3PQ/PP3PK1/7R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh7+ Kg8 2. Qe6+ Qf7 3. Qxf7# * [Event "?"] [Site "Moscow"] [Date "2009.??.??"] [Round "?"] [White "Boris Grachev"] [Black "Varuzhan Akobian"] [Result "*"] [PlyCount "17"] [FEN "7k/1pqr2p1/1R2Q2p/r2p4/6R1/4P2P/5PP1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qe8+ Kh7 2. Rxh6+ Kxh6 3. Qh8# * [Event "?"] [Site "Budva"] [Date "2009.??.??"] [Round "?"] [White "Vasilios Kotronias"] [Black "Francisco Vallejo Pons"] [Result "*"] [PlyCount "17"] [FEN "3r1b1k/1p3R2/7p/2p4N/p4P2/2K3R1/PP6/3r4 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh7+ Kxh7 2. Nf6+ Kh8 3. Rg8# * [Event "?"] [Site "Nice"] [Date "2009.??.??"] [Round "?"] [White "Peter Leko"] [Black "Alexander Morozevich"] [Result "*"] [PlyCount "17"] [FEN "4Q3/p2r2pk/1n5p/8/8/5N1P/q4PP1/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ng5+ hxg5 2. Qh5+ Kg8 3. Re8# * [Event "?"] [Site "Kemer"] [Date "2009.??.??"] [Round "?"] [White "Maxim Matlakov"] [Black "Shamil Arslanov"] [Result "*"] [PlyCount "17"] [FEN "b4rk1/6p1/4p1N1/q3P1Q1/1p1R4/1P5r/P4P2/3R2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Ne7+ Kf7 2. Qg6+ Kxe7 3. Rd7# * [Event "?"] [Site "Mesa"] [Date "2009.??.??"] [Round "?"] [White "Alejandro Ramirez"] [Black "Nenad Ristovic"] [Result "*"] [PlyCount "17"] [FEN "6k1/pR2p2p/q5p1/3P1p2/6b1/5N2/5PPP/B2B2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rb8+ Qc8 2. Rxc8+ Kf7 3. Ng5# * [Event "?"] [Site "Germany"] [Date "2009.??.??"] [Round "?"] [White "Monika Socko"] [Black "Edyta Jakubiec"] [Result "*"] [PlyCount "17"] [FEN "5r1k/1q4b1/p1b3Qp/1pPNp3/1P2p3/PB5R/6PP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nf6 Rxf6 2. Rxh6+ Bxh6 3. Qg8# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "B Adhiban"] [Black "Sergei Salov"] [Result "*"] [PlyCount "17"] [FEN "3r2kq/1p2r3/3p1R2/p4Q2/2Pp4/6P1/PPB2PK1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qd5+ Re6 2. Qxe6+ Kg7 3. Qf7# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Sebastian Bogner"] [Black "G Bwalya"] [Result "*"] [PlyCount "17"] [FEN "4kq1Q/p2b3p/1pR5/3B2p1/5Pr1/8/PP5P/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Bf7+ Kxf7 2. Rf6+ Ke8 3. Qxf8# * [Event "?"] [Site "Paris"] [Date "2010.??.??"] [Round "?"] [White "Tigran Gharamian"] [Black "B Adhiban"] [Result "*"] [PlyCount "17"] [FEN "r6r/1p2pp1k/p1b2q1p/4pP2/6QR/3B2P1/P1P2K2/7R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxh6+ Qxh6 2. f6+ e4 3. Qg7# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Ahmid Juddan"] [Black "Austin Yang Ching Wei"] [Result "*"] [PlyCount "17"] [FEN "2rr2k1/1b1q2p1/p2Pp1Qp/1pn1P2P/2p5/8/PP3PP1/1BR2RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh7+ Kf7 2. Bg6+ Kf8 3. Qh8# * [Event "?"] [Site "Germany"] [Date "2010.??.??"] [Round "?"] [White "Pauline Mertens"] [Black "Katrin Grohmann"] [Result "*"] [PlyCount "17"] [FEN "r4rk1/3R3p/1q2pQp1/p7/P7/8/1P5P/4RK2 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rg7+ Kh8 2. Rf7+ Kg8 3. Qg7# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Yelizaveta Orlova"] [Black "Xiuwen Neo"] [Result "*"] [PlyCount "17"] [FEN "8/5Q2/p1nq3k/1p4pp/1Pn2PP1/P6B/5N1P/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. fxg5+ Kxg5 2. Ne4+ Kh6 3. g5# * [Event "?"] [Site "Senta"] [Date "2010.??.??"] [Round "?"] [White "Mihaly Ujhazi"] [Black "Milovan Peric"] [Result "*"] [PlyCount "17"] [FEN "3r1r2/ppb1qBpk/2pp1R1p/7Q/4P3/2PP2P1/PP4KP/5R2 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxh6+ gxh6 2. Qg6+ Kh8 3. Qxh6# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Szidonia Vajda"] [Black "Tatev Abrahamyan"] [Result "*"] [PlyCount "17"] [FEN "3rk2r/pQR1np1p/1n4p1/8/3PN2b/1B1qB2P/P4PP1/4K2R w Kk - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rxe7+ Bxe7 2. Nf6+ Bxf6 3. Qxf7# * [Event "?"] [Site "Monaco (blind)"] [Date "2011.??.??"] [Round "?"] [White "Levon Aronian"] [Black "Vladimir Kramnik"] [Result "*"] [PlyCount "17"] [FEN "8/ppp5/6Np/7k/8/1Br1nP1n/P4B1P/1K4R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Nf4+ Nxf4 2. Bf7+ Ng6 3. Bxg6# * [Event "?"] [Site "Nova Gorica"] [Date "2011.??.??"] [Round "?"] [White "Aleksandar Kovacevic"] [Black "Samo Kralj"] [Result "*"] [PlyCount "17"] [FEN "3k4/2p1q1p1/8/1QPPp2p/4Pp2/7P/6P1/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qb8+ Kd7 2. c6+ Kd6 3. Qb4# * [Event "?"] [Site "Ningbo"] [Date "2011.??.??"] [Round "?"] [White "Ding Liren"] [Black "Ma Zhonghan"] [Result "*"] [PlyCount "17"] [FEN "6r1/r5PR/2p3R1/2Pk1n2/3p4/1P1NP3/4K3/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. e4+ Kxe4 2. Re6+ Kd5 3. Re5# * [Event "?"] [Site "Reykjavik"] [Date "2012.7.3"] [Round "?"] [White "Svetlana Cherednichenko"] [Black "Yuri Shulman"] [Result "*"] [PlyCount "17"] [FEN "3Q4/p4p2/4p1bk/4P2p/1p2P2B/7P/6PK/1Brq4 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qh8+ Bh7 2. Bg5+ Kxg5 3. Qf6# * [Event "?"] [Site "Voronezh"] [Date "2012.16.6"] [Round "?"] [White "Vladimir Fedoseev"] [Black "Alexander Zubov"] [Result "*"] [PlyCount "17"] [FEN "5rk1/p1pQ3R/1p4pp/2q1b3/8/2pB3P/PP2N1P1/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qe6+ Kxh7 2. Qxg6+ Kh8 3. Qh7# * [Event "?"] [Site "Germany"] [Date "2012.7.10"] [Round "?"] [White "Liubka Genova"] [Black "Bergit Brendel"] [Result "*"] [PlyCount "17"] [FEN "r2qr3/p4pk1/1pp3p1/n1Pp2P1/3P1Q2/1P1B4/P4PK1/2R4R w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh7+ Kxh7 2. Qxf7+ Kh8 3. Rh1# * [Event "?"] [Site "Tallinn"] [Date "2013.13.1"] [Round "?"] [White "Evgeny Sveshnikov"] [Black "Daniel Fridman"] [Result "*"] [PlyCount "17"] [FEN "rnb1qr2/ppp1Nkp1/3p4/4P1B1/7Q/5N2/PPP3PP/R3K2n w Q - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qc4+ d5 2. e6+ Bxe6 3. Ne5# * [Event "?"] [Site "Germany"] [Date "2013.17.3"] [Round "?"] [White "Parimarjan Negi"] [Black "Arnd Lauber"] [Result "*"] [PlyCount "17"] [FEN "3R4/r6p/Pkp1N1p1/3p1n2/1P3P2/2P2K2/7P/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rb8+ Rb7 2. Rxb7+ Kxa6 3. Nc5# * [Event "?"] [Site "Ledec nad Sazavou"] [Date "2013.25.5"] [Round "?"] [White "Alexey Kislinsky"] [Black "Vojtech Plat"] [Result "*"] [PlyCount "17"] [FEN "k7/p1Qnr2p/b1pB1p2/3p3q/N1p5/3P3P/PPP3P1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qd8+ Kb7 2. Nc5+ Nxc5 3. Qb8# * [Event "?"] [Site "Belgrade"] [Date "2013.24.7"] [Round "?"] [White "Elena Cherednichenko"] [Black "Natasa Korbovljanovic"] [Result "*"] [PlyCount "17"] [FEN "b1r3k1/pq2b1r1/1p3R1p/5Q2/2P5/P4N1P/5PP1/1B2R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qe6+ Kh8 2. Rxh6+ Rh7 3. Rxh7# * [Event "?"] [Site "Belgrade"] [Date "2013.26.7"] [Round "?"] [White "Anna Muzychuk"] [Black "Lilit Galojan"] [Result "*"] [PlyCount "17"] [FEN "7k/1R6/5pP1/1p1Np3/1P2P3/6r1/2PK4/5b2 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Rh7+ Kg8 2. Nxf6+ Kf8 3. Rf7# * [Event "?"] [Site "Belgrade"] [Date "2013.31.7"] [Round "?"] [White "Irina Zakurdjaeva"] [Black "Madona Bokuchava"] [Result "*"] [PlyCount "17"] [FEN "8/p2pQ2p/2p1p2k/4Bqp1/2P2P2/P6P/6PK/3r4 w - - 1 0"] [SetUp "1"] [Termination "mate in 3"] 1. Qg7+ Kh5 2. g4+ Qxg4 3. Qxh7# * pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-the-skewer_by_arex_2017.01.29.sqlite0000644000175000017500000026000013441162534031371 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) S)learn/puzzles/lichess_study_lichess-practice-the-skewer_by_arex_2017.01.29.pgn   %Qhttps://lichess.org/study/tuoBxVE5 %Q https://lichess.org/study/tuoBxVE5 Ahttps://lichess.org/@/arex A https://lichess.org/@/arex !a*V!3 mLichess Practice: The Skewer: Absolute Skewer #53mLichess Practice: The Skewer: Absolute Skewer #43mLichess Practice: The Skewer: Absolute Skewer #33mLichess Practice: The Skewer: Absolute Skewer #23mLichess Practice: The Skewer: Absolute Skewer #15qLichess Practice: The Skewer: //Relative Skewer #43mLichess Practice: The Skewer: Relative Skewer #33mLichess Practice: The Skewer: Relative Skewer #23mLichess Practice: The Skewer: Relative Skewer #1 "+W"b4mLichess Practice: The Skewer: Absolute Skewer #5 4mLichess Practice: The Skewer: Absolute Skewer #44mLichess Practice: The Skewer: Absolute Skewer #34mLichess Practice: The Skewer: Absolute Skewer #24mLichess Practice: The Skewer: Absolute Skewer #16qLichess Practice: The Skewer: //Relative Skewer #44mLichess Practice: The Skewer: Relative Skewer #34mLichess Practice: The Skewer: Relative Skewer #23m Lichess Practice: The Skewer: Relative Skewer #1  20180221 +ac s +F    _  0?6q1/6p1/2k4p/R6B/p7/8/2P3P1/2K5 w - - 0 1O   q 9 80?5k2/pp1b4/3N1pp1/3P4/2p5/q1P1QP2/5KP1/8 w - - 0 39O   q 0?5Q2/2k2p2/3bqP2/R2p4/3P1p2/2p4P/2P3P1/7K w - - 1 1L   k 0?2Q5/1p4q1/p4k2/6p1/P3b3/6BP/5PP1/6K1 w - - 4 51?   Q qp0?8/3qkb2/8/8/4KB2/5Q2/8/8 b - - 0 1^     0?r4rk1/pbq2ppp/1p2pn2/n1p5/3P4/PBP1P1N1/1B3PPP/2RQ1RK1 b - - 9 14[    0?4rr1k/ppqb2p1/3b4/2p2n2/2PpBP1P/PP4P1/2QBN3/R3K2R b KQ - 0 22V    0?r2r2k1/2p2ppp/5n2/4p3/pB2P3/P2q3P/2R2PP1/2RQ2K1 w - - 0 1E   g 0?8/1r3k2/2q1ppp1/8/5PB1/4P3/4QK2/5R2 w - - 0 1                 9  q     8  p                       $ oXH*nU>. r T ; $  $ Opening?# UTCTime19:06:44"! UTCDate2017.01.29!## Termination+200cp in 3 Opening?UTCTime17:35:35!UTCDate2017.01.29##Termination+500cp in 4Opening?UTCTime15:52:14!UTCDate2017.01.29##Termination+400cp in 3Opening?UTCTime15:46:42!UTCDate2017.01.29##Termination+500cp in 3Opening?UTCTime15:22:48!UTCDate2017.01.29##Termination-500cp in 2Opening?UTCTime21:55:45!UTCDate2017.02.03 ##Termination-300cp in 4 Opening? UTCTime21:47:42 !UTCDate2017.02.03 ##Termination-500cp in 3Opening?UTCTime19:00:43!UTCDate2017.01.29##Termination+300cp in 2  Opening? UTCTime15:13:31 !UTCDate2017.01.29 ##Termination+500cp in 2pychess-1.0.0/learn/puzzles/troicki.olv0000644000175000017500000150410013365545272017256 0ustar varunvarun--- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1913 algebraic: white: [Kg7, Qb8, Pa7] black: [Kg2, Pb7] stipulation: "s#49" solution: --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1912 algebraic: white: [Kb1, Qg2, Re4, Ph2, Pb3] black: [Ka3, Pd2] stipulation: "s#74" solution: keywords: - Allumwandlung --- authors: - Троицкий, Алексей Алексеевич source: date: 1898 algebraic: white: [Ke3, Se2] black: [Kh2, Ph3] stipulation: "#7" solution: | "1.Kf2? Kh1= 1. Kf3! Kh1 2. Kf2 Kh2 3. Sd4 or Sc3 Kh1 4. Sf5 Kh2 5. Se3 Kh1 6. Sf1 h2 7. Sg3#" keywords: - "Stipulation?" --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack date: 1917 algebraic: white: [Kf1, Pb5, Pa7] black: [Kh1, Ph2, Pf3, Pb6] stipulation: "#6" solution: | "1.a7-a8=R ! threat: 2.Ra8-a1 threat: 3.Kf1-f2 # 1...f3-f2 2.Ra8-a5 zugzwang. 2...b6*a5 3.b5-b6 threat: 4.b6-b7 threat: 5.b7-b8=Q threat: 6.Qb8-b7 # 6.Qb8-a8 #" --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1893 algebraic: white: [Kd1, Ra5, Ba4, Sc5, Pc3] black: [Ka3, Bc1, Pd6, Pd2, Pc4] stipulation: "#3" solution: | "1.Kd1-c2 ! threat: 2.Ba4-b3 # 2.Ba4-e8 # 2.Ba4-d7 # 2.Ba4-c6 # 2.Ba4-b5 # 1...d2-d1=Q + 2.Kc2-b1 threat: 3.Ba4*d1 # 3.Ba4-c2 # 3.Ba4-b3 # 2...Bc1-h6 + 3.Ba4*d1 # 2...Bc1-g5 + 3.Ba4*d1 # 2...Bc1-f4 + 3.Ba4*d1 # 2...Bc1-e3 + 3.Ba4*d1 # 2...Bc1-d2 + 3.Ba4*d1 # 2...Bc1-b2 + 3.Ba4*d1 # 2...Qd1*a4 3.Ra5*a4 # 2...Qd1-b3 + 3.Ba4*b3 # 2...Qd1-c2 + 3.Ba4*c2 # 2...Qd1-d3 + 3.Ba4-c2 # 2...d6*c5 3.Ba4*d1 # 3.Ba4-c2 # 1...d2-d1=B + 2.Kc2-b1 threat: 3.Ba4-b3 # 3.Ba4*d1 # 3.Ba4-c2 # 2...Bd1*a4 3.Ra5*a4 # 2...Bd1-b3 3.Ba4*b3 # 2...Bd1-c2 + 3.Ba4*c2 # 2...d6*c5 3.Ba4*d1 # 3.Ba4-c2 # 2.Kc2*c1 threat: 3.Ba4-c2 # 3.Ba4*d1 # 3.Ba4-b3 # 2...Bd1*a4 3.Ra5*a4 # 2...Bd1-b3 3.Ba4*b3 # 2...Bd1-c2 3.Ba4-b3 # 3.Ba4*c2 # 2...d6*c5 3.Ba4*d1 # 3.Ba4-c2 # 1...Ka3-a2 2.Ba4-b3 #" --- authors: - Троицкий, Алексей Алексеевич source: algebraic: white: [Ke8, Qg2, Ph6] black: [Kh8, Qh7, Pc6, Pa4] stipulation: "#12" solution: "1.Qb2+Kg8.2.Qa2+Kh8.3.Qa1+Kg8.4.Qg1+Kh8.5.Qd4+Kg8.6.Qc4+Kh8.7.Qc3+Kg8.8.Qg3+Kh8.9.Qe5+Kg8.10.Qe6+Kh8.11.Qf6+Kg8.12.Qf8#" --- authors: - Троицкий, Алексей Алексеевич source: 28. Říjen date: 1925 algebraic: white: [Ke8, Ba8, Pa5] black: [Kh2, Bc2, Pc5] stipulation: + solution: | "1.a5-a6 c5-c4 2.a6-a7 c4-c3 3.Ba8-h1 ! Bc2-a4+ ! 4.Ke8-f7 ! Ba4-c6 ! 5.Bh1*c6 c3-c2 6.a7-a8=Q c2-c1=Q 7.Qa8-a2+ Kh2-g3 ! 8.Qa2-g2+ ! Kg3-f4 9.Qg2-f3+ Kf4-g5 10.Qf3-g3+ Kg5-f5 11.Qg3-g6+ Kf5-f4 12.Qg6-h6+ Kf4-g3 13.Qh6*c1 11...Kf5-e5 12.Qg6-f6# 10...Kg5-h5 11.Bc6-f3+ 9...Kf4-e5 10.Qf3-f6# 8...Kg3-h4 9.Qg2-f2+ Kh4-h5 10.Bc6-f3+ Kh5-g5 11.Qf2-g3+ Kg5-f5 12.Qg3-g6+ 9...Kh4-g4 10.Bc6-d7+ 7...Kh2-h3 8.Qa2-g2+ Kh3-h4 9.Qg2-f2+ Kh4-g4 10.Bc6-d7+ 4...c3-c2 5.a7-a8=Q c2-c1=Q 6.Qa8-g2# 4.Ke8-e7 ? Ba4-c6 ! 5.Bh1*c6 c3-c2 6.a7-a8=Q c2-c1=Q 3...Bc2-g6+ 4.Ke8-e7 c3-c2 5.a7-a8=Q c2-c1=Q 6.Qa8-g2#" keywords: - Bristol --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1927 algebraic: white: [Kg6, Bb8, Pb7] black: [Kf3, Sf7, Ph3, Pa3] stipulation: + solution: | 1. Bg3 (1. Kxf7 $1 1... a2 (1... Ke4 2. Ke6 a2 3. Be5) 2. Be5 a1=Q 3. Bxa1 h2 4. b8=Q h1=Q 5. Qb7+) 1... a2 (1... Kxg3 2. b8=Q+ Kg2 3. Qa8+ Kg1 4. Qxa3 h2 5. Qg3+ Kh1 6. Qf2 Ne5+ 7. Kg5 Nf3+ 8. Kg4 Ng1 9. Kg3) 2. b8=Q a1=Q 3. Qf4+ Ke2 4. Qe4+ Kd2 5. Bf4+ Kc3 6. Be5+ Nxe5+ 7. Qxe5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: «64» date: 1928 algebraic: white: [Kd7, Bb8, Pb7] black: [Kf3, Sf7, Ph3, Pa3] stipulation: + solution: | 1. Bg3 $1 (1. Ba7 $2 1... Ne5+ 2. Kc7 Nc6 3. Kxc6 h2) (1. Bh2 $2 1... a2 2. b8=Q a1=Q 3. Qf4+ 3... Kg2 $1) 1... a2 (1... Kxg3 2. b8=Q+ Kg2 3. Qg8+ Kh2 4. Qxf7) 2. b8=Q a1=Q (2... h2 3. Qf4+ Ke2 4. Qe4+ Kd2 5. Bxh2) 3. Qf4+ Ke2 (3... Kg2 4. Qf2+) 4. Qe4+ Kd2 5. Bf4+ Kc3 6. Be5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Basler Nachrichten date: 1933 algebraic: white: [Ka5, Sg5, Sa6] black: [Kg8, Bh7, Pg7, Pg6] stipulation: + solution: | "1. Kb4 Kh8 2. Kc3 Bg8 3. Nb4 3... Bh7 $1 4. Nc6 Bg8 5. Ne5 Ba2 6. Kb2 Bd5 (6... Bg8 $2 7. Nxg6# $1) 7. Nxg6+ Kg8 8. Ne7+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1909 algebraic: white: [Kh7, Bf4, Se1] black: [Ka1, Sb2, Pa6, Pa2] stipulation: + solution: | "1. Nc2+ Kb1 2. Na3+ Ka1 3. Be5 a5 4. Bh8 a4 5. Kg7 Nd1 6. Kg6+ Nb2 7. Kf6 Nd1 8. Kf5+ Nb2 9. Ke5 Nd1 10. Ke4+ Nb2 11. Kd4 Nd1 12. Kd3+ Nb2+ 13. Kc3 Nd1+ 14. Kc2+ Nb2 15. Bxb2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1909 algebraic: white: [Kh6, Bd2, Sd4] black: [Ka1, Sb2, Pa6, Pa2] stipulation: + solution: | "1. Nc2+ Kb1 2. Na3+ Ka1 3. Bc3 (3. Bg5 $1) 3... a5 4. Bh8 $1 4... a4 5. Kg7 Nd3 6. Kg6+ Nb2 7. Kf6 Nd1 8. Kf5+ Nb2 9. Ke5 Nd3+ 10. Ke4+ Nb2 11. Kd4 Nd1 12. Kd3+ Nb2+ 13. Kc3 Nd1+ 14. Kc2+ Nb2 15. Bxb2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1909 algebraic: white: [Ke7, Bd2, Sd4] black: [Ka1, Sb2, Pa2] stipulation: + solution: | "1. Nc2+ Kb1 2. Na3+ Ka1 3. Bh6 Nd3 4. Bg7+ Nb2 5. Kf6 Nd3 6. Ke6+ Nb2 7. Ke5 Nd3+ 8. Kd5+ Nb2 9. Kd4 Nd3 10. Kc4+ Nb2+ 11. Kc3 Na4+ 12. Kc2+ Nb2 13. Bxb2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1909 algebraic: white: [Kd8, Bd2, Sd4] black: [Ka1, Sb2, Pa5, Pa2] stipulation: + solution: | "1. Nc2+ Kb1 2. Na3+ Ka1 3. Bh6 a4 4. Ke7 Nd3 5. Bg7+ Nb2 6. Kf6 Nd3 7. Kf5+ Nb2 8. Ke5 Nd3+ 9. Ke4+ Nb2 10. Kd4 Nd1 11. Kd3+ Nb2+ 12. Kc3 Nd1+ 13. Kc2+ Nb2 14. Bxb2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Unknown date: 1917 algebraic: white: [Kh3, Rb4, Sb1] black: [Kf1, Bh6, Pf2, Pe4] stipulation: + solution: | "1. Nc3 Bd2 (1... Ke1 2. Rb1+ Kd2 3. Nxe4+ Ke2 4. Ng3+) (1... Kg1 2. Ne2+ Kf1 3. Ng3+) 2. Rb1+ Be1 3. Kh2 e3 4. Ra1 $1 (4. Rd1 $1 4... e2 5. Ne4 exd1=Q 6. Ng3#) 4... e2 5. Nb1 Bc3 6. Nd2# 1-0" --- authors: - Троицкий, Алексей Алексеевич - Платов, Михаил Николаевич source: 150 избранных современных этюдов (Платов) date: 1925 algebraic: white: [Kg7, Bf7, Be3] black: [Kb1, Sb2, Pa4, Pa2] stipulation: + solution: | 1. Bg6+ Ka1 2. Kf7 Nc4 (2... a3 3. Bh6 Nc4 4. Bg7+ Nb2 5. Kf6) 3. Bd4+ Nb2 4. Bg7 $1 ({dual} 4. Bh8 $1 $18) 4... a3 5. Kf6 $1 {Indian} Nc4 6. Ke6+ Nb2 7. Ke5 Na4 8. Kd5+ ({duals} 8. Ke4+ $1 Kb1 9. Kd5+ Kc1 10. Ba1 $18) (8. Kd4 $1 Kb2 9. Kc4+ $18) 8... Nb2 9. Kd4 Nd1 10. Kc4+ Nb2+ 11. Kc3 Nd1+ 12. Kb3+ Nb2 13. Bf8 $1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы date: 1926 distinction: 1st Prize algebraic: white: [Kh2, Rb4, Sb1, Pg2] black: [Kf1, Bg5, Ph4, Ph3, Pf2, Pe4] stipulation: + solution: | "1. Sc3 Ke1 (1... Bd2 2. Rb1+ Be1 3. gxh3 e3 4. Ra1 e2 5. Sb1 Bb4 6. Sd2#) 2. Rb1+ Kd2 3. Sxe4+ Kc2 4. Rf1 Be3 5. gxh3 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматы date: 1926 algebraic: white: [Kh3, Rb4, Sb1, Pd4] black: [Kf1, Bf4, Pf2, Pe4, Pd5] stipulation: + solution: | "1. Nc3 Bd2 (1... Ke1 2. Rb1+ Kd2 3. Nxd5) 2. Rb1+ Be1 3. Kh2 e3 4. Ra1 e2 5. Nb1 Bc3 6. Nd2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 360 Brill & Instr Endgames date: 1935 algebraic: white: [Kg4, Bd2, Sd7, Sc4] black: [Kb1, Rb2, Pa7, Pa2] stipulation: + solution: | "1. Na3+ Ka1 2. Bc3 a5 3. Bf6 (3. Ne5 $2 3... a4 4. Nac4 Kb1 5. Bxb2 a3 (5... a1=Q $2 6. Bxa1 Kxa1 7. Na3)) (3. Bh8 $2 3... a4 4. Ne5 Rb8 (4... Rh2 $2 5. Bf6 Kb2 6. Nf3+ Kxa3 7. Nxh2 Kb3 8. Nf3 Kc2 9. Kf4 Kb1 10. Nd2+) 5. Bf6 Kb2 6. Nc6+ Kxa3) 3... a4 4. Ne5 Rb6 (4... Rg2+ 5. Kf3 Rb2 6. Ke3 Rb6 7. Nc6+ Rb2 8. Nd4) 5. Nc6+ Rb2 6. Nd4 Rg2+ 7. Kf3 Rb2 8. Ndc2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Bohemia date: 1907 algebraic: white: [Kg4, Sf7, Pg2, Pc6, Pa6] black: [Kf8, Re6, Bb3, Pd6] stipulation: + solution: | 1. c7 Re4+ 2. Kf5 Rc4 3. a7 Rc5+ 4. Kf6 Bd5 5. Nd8 Rxc7 6. Ne6+ Bxe6 7. a8=Q+ Bc8 8. g4 d5 9. g5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia date: 1908 algebraic: white: [Kb2, Sa5, Pf6, Pc6, Pc3] black: [Ke5, Rg5, Bg2, Pa4] stipulation: + solution: | 1. f7 Rf5 2. c7 Rf2+ 3. Ka3 Bh3 4. Nc4+ Kd5 (4... Ke4 5. Nd6+ Kd5 6. Nf5) 5. Ne3+ Ke4 6. Nf5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia date: 1908 algebraic: white: [Kb2, Sa5, Pf6, Pc6, Pc3] black: [Ke5, Rg5, Bg2] stipulation: + solution: | 1. f7 Rf5 2. c7 Rf2+ (2... Bh3 3. Nc4+ Kf4 4. c8=Q) 3. Ka3 $1 3... Bh3 4. Nc4+ Ke4 (4... Kd5 5. Ne3+ Kd6 6. Nf5+ Rxf5 7. c8=Q Ra5+ 8. Kb4) 5. Nd6+ Kd3 6. Nf5 Rxf5 7. c8=Q Ra5+ 8. Kb4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 269 date: 1948 algebraic: white: [Kd1, Sb8, Pc6, Pb5] black: [Kg8, Rf2, Bf1, Pf7, Pa6, Pa5] stipulation: + solution: | 1. c7 Bh3 2. bxa6 Bg4+ 3. Kc1 (3. Ke1 Re2+ 4. Kf1 Re8 5. Kf2 Bc8) 3... Bf5 4. a7 (4. Nd7 Rc2+) 4... Rc2+ 5. Kd1 Be4 6. Nc6 {Nowotny} 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 269 date: 1924 algebraic: white: [Kd1, Sb8, Pc6, Pb5] black: [Kf8, Rf2, Bf1, Pf7, Pa6, Pa5] stipulation: + solution: | 1. c7 Bh3 2. bxa6 Bg4+ 3. Kc1 Bf5 4. a7 (4. Nd7+ $5 Bxd7 5. a7 Re2 6. a8=Q+ Re8 7. Qxa5) 4... Rc2+ 5. Kd1 Be4 6. Nc6 $1 {Nowotny} Bxc6 (6... Rxc6 7. a8=Q+) 7. c8=Q+ ({dual} 7. Kxc2 $1 $18) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien date: 1924 algebraic: white: [Kd1, Sb8, Pc6, Pb5, Pa2] black: [Kf8, Rf2, Bf1, Pa6, Pa5] stipulation: + solution: | 1. c7 Bh3 (1... Be2+ 2. Kc1 $1 2... Bg4 3. bxa6) 2. bxa6 Bg4+ 3. Kc1 $1 3... Rf7 (3... Rf4 4. a7 Rc4+ 5. Kb2 Bf3 6. Nc6) 4. Nd7+ Bxd7 5. a7 Rf1+ (5... Bc8 6. a8=Q Rxc7+ 7. Kd2 Rc5 8. Qf3+ Kg7 9. Qg3+ Kh8 (9... Kh7 10. Qd6 Rc4 11. Qd3+ ) 10. Qd6 10... Rc4 $1 11. Qd5) 6. Kd2 Rf2+ 7. Ke3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien date: 1924 algebraic: white: [Kd1, Sb8, Pc6, Pb5] black: [Kf8, Rf2, Bf1, Pa6, Pa5] stipulation: + solution: | 1. c7 Bh3 (1... Be2+ 2. Kc1 $1 (2. Ke1 $2 2... Bg4 3. bxa6 Re2+ 4. Kf1 Re8) 2... Bg4 3. bxa6) 2. bxa6 Bg4+ 3. Kc1 $1 3... Rf7 (3... Rf4 4. a7 Rc4+ 5. Kb2 Bf3 6. Nc6) 4. Nd7+ Bxd7 5. a7 Rf1+ (5... Bc8 $1 6. a8=Q Rxc7+) 6. Kd2 Rf2+ 7. Ke3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien date: 1924 algebraic: white: [Kd1, Sb8, Ph5, Pc6, Pb5] black: [Kf8, Rf2, Bf1, Pa6, Pa4] stipulation: + solution: | 1. c7 Bh3 (1... Be2+ 2. Kc1 $1 (2. Ke1 $2 2... Bg4 3. bxa6 Re2+ 4. Kf1 Re8) 2... Bg4 3. bxa6) 2. bxa6 Bg4+ 3. Kc1 $1 3... Rf7 (3... Rf4 4. a7 Rc4+ 5. Kb2 Bf3 6. Nc6) (3... Bf5 4. a7 Rc2+ 5. Kd1 Be4 6. Nc6) 4. Nd7+ Bxd7 5. a7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien date: 1924 algebraic: white: [Kd1, Sb8, Pc6, Pb5] black: [Ke8, Rf2, Bf1, Pa6, Pa5] stipulation: + solution: | 1. c7 Bh3 (1... Be2+ 2. Ke1 Rf1+ 3. Kxe2 Rc1 4. b6 a4 5. Nxa6) 2. bxa6 Bg4+ 3. Ke1 (3. Kc1 $2 3... Rf7) 3... Rc2 (3... Re2+ 4. Kf1 Rc2 5. a7 Bf3 6. Nc6 Kd7 7. a8=Q) 4. a7 Bf3 5. Nc6 $1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: «64» date: 1934 algebraic: white: [Ka2, Sg8, Ph6, Pg2, Pa6] black: [Kd8, Rg4, Be2, Pa5] stipulation: + solution: | 1. a7 Bc4+ 2. Ka1 Bd5 3. Nf6 Ra4+ 4. Kb2 Bxg2 (4... Ba8 5. g4) 5. Ne4 $1 5... Bxe4 6. h7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Shakhmaty date: 1934 algebraic: white: [Kd1, Sb1, Ph2, Pg6, Pb6] black: [Ka4, Rf5, Be7, Ph6] stipulation: + solution: | 1. Nc3+ Kb3 (1... Ka5 $1 2. g7 Rg5 3. b7 Bd6 4. Ne4 4... Rg6 $1 5. g8=Q Rxg8 6. Nxd6 Kb6) 2. g7 Rg5 3. b7 Bd6 4. Ne4 Rg1+ 5. Ke2 Bxh2 6. Ng3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: date: 1926 algebraic: white: [Kd1, Sf8, Pf2, Pe6, Pa5] black: [Kh8, Rh4, Bd3, Sd8, Pf3] stipulation: + solution: | 1. e7 Rd4 2. Kc1 Bb5 3. Nd7 {Novotny} Rxd7 $18 (3... Rc4+ $144 4. Kb2 Rb4+ 5. Ka3 Ra4+ 6. Kb3 Rb4+ 7. Kxb4 Nc6+ 8. Kxb5 Nxe7 $18) (3... Bxd7 $144 4. exd8=Q+ $18) 4. e8=Q+ Kg7 (4... Kh7 $144 5. Qh5+ $18) 5. Qe5+ $18 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kg2, Bf1, Sc5, Ph3, Pf7] black: [Kh5, Qh8, Bb8, Pg7] stipulation: "=" solution: | 1. Nd7 Bd6 2. f8=Q Bxf8 3. Ne5 Qg8 4. Bc4 Qh7 5. Bd3 Qh6 6. Be2+ Kh4 7. Nf3+ Kh5 8. Ne5+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kf2, Ph2, Pc6, Pa6] black: [Kg7, Ba5, Sa4, Ph6, Ph3] stipulation: "=" solution: | 1. a7 $3 (1. Kg1 $2 1... Nb6 2. a7 (2. c7 Nc8 3. a7 Nxa7) 2... Na8) (1. Ke2 $2 1... Bc7 2. a7 Nb6 3. Kd3 Bxh2) 1... Bb6+ 2. Kf1 $1 2... Bxa7 3. c7 Nb6 4. Kg1 $1 4... Nc8+ (4... Nd5+ 5. Kh1 Ne7 6. c8=Q Nxc8) 5. Kh1 Nd6 6. c8=Q Nxc8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kb6, Ra1, Se4, Pg6] black: [Ke6, Rd5, Be8, Pe5, Pd4] stipulation: + solution: | 1. g7 Bf7 2. Ng5+ Kf6 3. Nxf7 Kxf7 4. Ra7+ Kg8 5. Ra8+ Kxg7 6. Kc6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kf3, Sg4, Pg5, Pf5, Pb5] black: [Kd5, Re8, Pg7, Pg6, Pf7] stipulation: + solution: | 1. f6 Rg8 2. fxg7 Rxg7 3. Nf6+ Kc5 4. Ke4 Kxb5 5. Kd5 Kb6 6. Kd6 Kb7 7. Ke7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kd5, Rc3, Sh3, Sg4] black: [Kh7, Ba7, Sd4, Pf4, Pa2] stipulation: + solution: | "1. Ra3 Nb5 2. Rxa2 Nc3+ 3. Ke6 Nxa2 4. Kf7 Bd4 5. Ng5+ Kh8 6. Nh6 Bg7 7. Ng8 Bf8 8. Kxf8 Nc3 9. Ne7 Ne4 10. Ng6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1896 algebraic: white: [Kc2, Rf5, Sg7, Pf4, Pa4] black: [Kc4, Sc5, Pf2] stipulation: "=" solution: | 1. Rd5 f1=Q (1... Kxd5 2. Nf5 2... Ke4 $1 3. Kd2 $1 3... Kxf5 4. Ke2 Ne4 5. a5 Kxf4 6. a6 Kg3 7. a7 Kg2 8. a8=Q f1=Q+ 9. Ke3 Qf2+ 10. Kd3) 2. Rd4+ Kxd4 3. Nf5+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1897 algebraic: white: [Kg2, Qe1, Pe5] black: [Kg4, Qe6, Pg7, Pg5, Pc6] stipulation: + solution: | 1. Qe4+ Kh5 2. Qh7+ Qh6 3. Qf5 $1 3... c5 4. e6 c4 5. e7 Qc6+ 6. Qf3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1898 algebraic: white: [Kg3, Rd5, Sc5] black: [Ke1, Pg5, Pg4, Pc4, Pa2] stipulation: "=" solution: | 1. Nd3+ (1. Re5+ $2 1... Kf1 2. Rf5+ Kg1 3. Nb3 cxb3 4. Rd5 $1 4... Kf1 $1 ( 4... a1=Q $2 5. Rd1+ Qxd1)) 1... cxd3 2. Re5+ Kf1 3. Rf5+ Kg1 4. Ra5 d2 5. Rxa2 d1=Q 6. Rg2+ Kf1 7. Rg1+ Kxg1 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1898 algebraic: white: [Kf7, Sf2, Se3, Pg6] black: [Kg5, Bh5, Ph4, Pf6, Pe6, Pd7] stipulation: + solution: | 1. Nh3+ Kh6 2. Ng4+ Bxg4 3. g7 e5 4. g8=N+ Kh5 5. Nxf6+ Kh6 6. Nxg4+ Kh5 7. Nf6+ Kh6 8. Nxd7 e4 9. Nf6 e3 10. Ng4+ Kh5 11. Nxe3 Kh6 12. Kf6 Kh5 13. Nf4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) source-id: correction date: 1899 algebraic: white: [Kg1, Rd7, Se6, Ph2, Pf2, Pa5] black: [Kg4, Bc5, Ph5, Pe2] stipulation: + solution: | 1.h2-h3+ Kg4-f5 2.Se6-d4+ Bc5*d4 3.Rd7-e7 Bd4-e5 4.Re7*e5+ ! Kf5*e5 5.f2-f4+ Ke5*f4 6.Kg1-f2 1...Kg4*h3 2.Se6-f4+ 1...Kg4-f3 2.Rd7-f7+ 1...Kg4-h4 2.Rd7-d4+ ! Bc5*d4 3.Se6*d4 e2-e1=Q+ 4.Kg1-g2 comments: - corrected as 1156 in Deutsche Schachzeitung, 4/1909, page 119 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1901 algebraic: white: [Kb1, Qc2, Pb7] black: [Ke7, Qc7, Bc4] stipulation: + solution: | 1. Qh7+ 1... Bf7 $1 2. Qh4+ 2... Ke6 $1 3. Qh3+ 3... Kd5 $1 4. Qb3+ 4... Kc6 $1 5. b8=N+ $1 5... Kd6 6. Qg3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1901 algebraic: white: [Kh6, Bb7, Sd2, Pe5] black: [Kf5, Bh2, Pf7, Pf3, Pf2] stipulation: + solution: | 1. Bc8+ Kf4 (1... Kxe5 2. Nxf3+) 2. Nf1 Bg1 (2... Bg3 3. Kh5 $1) 3. Kg7 Kxe5 4. Kxf7 Kd6 (4... Kd5 5. Ke7 Ke5 (5... Kd4 6. Kd6 Kc4 (6... Ke4 7. Bb7+) 7. Ba6+) 6. Be6 Kf4 (6... Kd4 7. Kd6) (6... Ke4 7. Kd6 Kf4 8. Kd5 Kg5 9. Ke5 Kg6 10. Bd5 Kg7 (10... Kg5 11. Be4 Kg4 12. Bf5+) 11. Ke6 Kf8 (11... Kg6 12. Be4+ Kg7 (12... Kg5 13. Ke7) 13. Bf5) 12. Bc6 Kg7 13. Be8 Kf8 14. Bf7 Kg7 15. Ke7 Kh6 16. Kf6 Kh7 17. Bh5 Kh8 18. Kf7 Kh7 19. Bg6+ Kh6 20. Kf6) 7. Bd7 Ke4 8. Kd6 Kd4 9. Bc6 Kc4 10. Be4 Kb4 11. Bd5) (4... Kf4 5. Kf6 Ke4 6. Bb7+ Kd4 (6... Kf4 7. Bd5 Kg4 8. Be6+) 7. Ke6 Kc5 8. Be4 Kc4 (8... Kd4 9. Bc6) 9. Kd6 Kb4 10. Bd5) (4... Ke4 5. Ke6 Kf4 6. Bd7 Ke4 7. Bc6+ Kf4 8. Kd5 Kg5 9. Ke5 Kg6 10. Be8+ Kg5 (10... Kg7 11. Ke6) 11. Bf7 Kg4 12. Be6+ Kg5 13. Bf5 Kh4 14. Kf6 Kh5 15. Be6 Kh6 16. Bf7 Kh7 17. Bh5) (4... Kd4 5. Ke6 Ke4 6. Bd7 Kd4 (6... Kf4 7. Kd5) 7. Kd6 Kc4 8. Be6+ Kb4 9. Kd5 Ka3 10. Bf5) 5. Be6 Kc7 (5... Kc6 6. Ke7 Kc7 7. Bd7) (5... Kc5 6. Ke7) 6. Ke7 Kc6 7. Bg8 Kc7 (7... Kc5 8. Kd7 Kb6 9. Kd6 Kb7 10. Be6 Kb6 11. Bd7 Kb7 12. Bf5) 8. Bd5 Kc8 9. Be6+ Kc7 10. Bd7 Kb6 11. Kd6 Kb7 12. Bf5 Kb6 ( 12... Kb8 13. Kc6) 13. Be4 Kb5 14. Bd5 Kb6 15. Bc6 Ka5 (15... Ka7 16. Kc7 Ka6 17. Bd7 Ka5 18. Kc6 Kb4 19. Be6 Ka4 (19... Ka5 20. Bc4) 20. Kc5 Ka5 21. Bc4 Ka4 22. Bd3 Ka3 23. Bb5) (15... Ka6 16. Kc7 Ka5 17. Be8 Kb4 18. Kc6 Kc4 19. Bf7+ Kd4 20. Kd6 Ke4 21. Be6) 16. Kc5 Ka6 17. Bd5 Ka7 18. Kc6 Ka6 19. Bc4+ Ka5 ( 19... Ka7 20. Kc7) 20. Bb5 Kb4 21. Kb6 Ka3 22. Kc5 Kb3 23. Bd7 Kc3 24. Bc6 Kb3 25. Bb5 Kc3 26. Bc4 Kb2 27. Kb4 Kc2 28. Ba6 Kb2 29. Bb5 Kc2 30. Bc4 Kb2 31. Bb3 Ka1 32. Kc3 Kb1 33. Bc4 Kc1 (33... Ka1 34. Kc2) 34. Bd3 Kd1 35. Kb2 Ke1 36. Kc2 Bh2 37. Nxh2 f1=Q 38. Nxf1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1906 algebraic: white: [Ka4, Sg2, Pd7, Pc4, Pb6] black: [Ke6, Rf6, Sf7, Pe5] stipulation: "=" solution: | 1. b7 1... Rf1 $1 2. Ne1 $1 2... Rxe1 3. d8=Q Nxd8 4. b8=Q Ra1+ 5. Kb5 Rb1+ 6. Kc5 Nb7+ (6... Rxb8) 7. Kc6 Na5+ 8. Kc5 Nb3+ 9. Kc6 Nd4+ 10. Kc5 Rxb8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia date: 1907 algebraic: white: [Kg3, Rf5, Sd5] black: [Kd4, Pf6, Pb2, Pa4] stipulation: "=" solution: | 1. Nc7 $1 1... b1=Q (1... Kc4 2. Nb5 Kb4 3. Nd4) 2. Nb5+ Kd3 3. Rf3+ Kd2 4. Rf2+ Ke1 (4... Ke3 5. Rf3+) 5. Re2+ $1 5... Kf1 6. Rf2+ Kg1 7. Rg2+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia date: 1907 algebraic: white: [Ka5, Sc1, Pg6] black: [Kc5, Bf2, Bb5, Pf7] stipulation: "=" solution: | 1. Nd3+ Bxd3 2. gxf7 Be1+ 3. Ka4 Bb5+ 4. Ka3 Bb4+ 5. Kb3 Bc4+ 6. Ka4 Bxf7 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1907 algebraic: white: [Kg4, Sd4, Sb8, Pg7] black: [Kh2, Rb2, Ph7, Ph6, Pf7] stipulation: + solution: | "1. Nf3+ Kh1 2. Nd7 Rg2+ 3. Kh3 Rxg7 4. Nf6 Rg5 5. Ne4 Rh5+ 6. Kg3 Rg5+ 7. Kf2 Rg2+ 8. Kf1 Ra2 9. Nf2+ Rxf2+ 10. Kxf2 h5 11. Kf1 h4 12. Kf2 h3 13. Kf1 h6 14. Kf2 h5 15. Kf1 h4 16. Kf2 f5 17. Kf1 f4 18. Ne5 Kh2 19. Kf2 Kh1 20. Ng4 f3 21. Kf1 f2 22. Kxf2 h2 23. Kf1 h3 24. Nf2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1908 algebraic: white: [Ke2, Sd1, Pg7] black: [Ke4, Se1, Pf5, Pb4, Pa2] stipulation: + solution: | 1. Nf2+ Kf4 2. Nh3+ Ke4 3. Ng5+ Kf4 4. Ne6+ Ke4 5. Nc5+ Kf4 6. Nb3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1909 algebraic: white: [Ka1, Rd8, Se6, Pe2] black: [Kh5, Sh3, Ph2, Pf3, Pa2] stipulation: "=" solution: | 1. Nf4+ Kg4 2. exf3+ Kxf4 3. Rd1 Ng1 4. Rd2 h1=Q 5. Rh2 Qxh2 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1909 algebraic: white: [Kf5, Bh6, Sg5, Se1] black: [Kh8, Be2, Ph4, Pa2] stipulation: "=" solution: | 1. Nc2 Bd3+ 2. Kg4 Bxc2 3. Ne6 Bf5+ 4. Kxh4 Bxe6 5. Bf4 a1=Q 6. Be5+ Qxe5 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack date: 1910 algebraic: white: [Kh2, Sb8, Pg2, Pf3] black: [Kh4, Ba7, Ph5, Pd4] stipulation: "=" solution: | "1. Nc6 $1 (1. Nd7 $2 1... d3 2. Nf6 2... Bb8+ $1 (2... d2 3. g3+ Kg5 4. Ne4+)) 1... d3 2. Nxa7 $3 (2. Ne5 d2 3. f4 3... Bg1+ $1 (3... d1=Q 4. g3#)) 2... d2 3. Nb5 $1 3... d1=Q 4. Nc3 Qd6+ 5. Kh1 (5. Kg1 Qc5+) 5... Qe6 (5... Kg5 $4 6. Ne4+ ) 6. Ne4 1/2-1/2" --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack date: 1910 algebraic: white: [Ke7, Bh8, Pf3, Pd6] black: [Kh6, Se3, Pe5, Pc2, Pb6] stipulation: "=" solution: | 1. d7 Nf5+ 2. Ke6 Nd4+ 3. Kd5 Nc6 4. d8=Q Nxd8 5. Bxe5 c1=Q 6. Bf4+ Qxf4 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1910 algebraic: white: [Kg4, Qc2, Se5, Ph7] black: [Kh8, Qh6, Rd7, Pg5, Pf4, Pc3] stipulation: + solution: | 1. Ng6+ Kxh7 (1... Kg7 2. h8=Q+ Qxh8 3. Nxh8 Kxh8 4. Kxg5 Rf7 5. Qxc3+ Kh7 6. Qf3) 2. Ne7+ Kh8 (2... Kg7 3. Nf5+ Kh7 4. Nxh6+ Kxh6 5. Qh2+ Kg7 6. Kxg5 Rf7 7. Qh6+ Kg8 8. Qe6 Kg7 9. Qe5+ Kh7 10. Qe4+ Kg7 11. Qd4+ Kh7 12. Qd3+ Kg7 13. Qxc3+ Kh7 14. Qf3) 3. Qxc3+ 3... Qg7 $1 (3... Kh7 4. Qc2+ Kh8 (4... Kg7 5. Nf5+ ) 5. Qc8+) 4. Qc8+ Kh7 5. Qc2+ Kh8 6. Qh2+ Qh7 7. Qb2+ Qg7 8. Qb8+ Kh7 9. Qb1+ Kh8 10. Qh1+ Qh7 11. Qa1+ Qg7 12. Qa8+ Rd8 (12... Kh7 13. Qh1+ Qh6 14. Qb1+ Kh8 15. Qb8+) 13. Qxd8+ Kh7 14. Qd3+ Kh8 15. Qh3+ Qh7 16. Qc3+ Qg7 17. Qc8+ Kh7 18. Qc2+ Kh8 19. Qh2+ Qh7 20. Qb2+ Qg7 21. Qb8+ Kh7 22. Qb1+ Kh8 23. Qh1+ Qh7 24. Qa1+ Qg7 25. Qa8+ Kh7 26. Qh1+ Qh6 27. Qb1+ Kh8 28. Qb8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1910 algebraic: white: [Kg1, Qd3, Ba6, Pc4] black: [Kd7, Qa8, Ba2, Pf3, Pd6] stipulation: + solution: | 1. Qh7+ 1... Ke6 $1 2. Bc8+ $1 2... Kf6 $1 (2... Ke5 3. Qg7+ Kf4 4. Kf2) 3. Qh8+ Kg5 4. Qg7+ Kf4 (4... Kh5 5. Bg4+ Kh4 6. Bf5) 5. Kf2 $1 5... Qxc8 (5... Qa5 6. Qg4+ Ke5 7. Qg5+) (5... Qb8 6. Qf6+ Ke4 7. Bf5+ Kf4 8. Bg6+ Kg4 9. Qf5+) (5... Bxc4 6. Qg3+ Ke4 7. Qxf3+) 6. Qg3+ Ke4 7. Qxf3+ Ke5 (7... Kd4 8. Qe3+ Kxc4 9. Qc1+) 8. Qc3+ Kf4 9. Qg3+ Ke4 10. Qe3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia date: 1910 algebraic: white: [Kd8, Qg4, Sg6] black: [Kc6, Qb3, Pb5, Pa6] stipulation: + solution: | "1. Ne5+ 1... Kd6 $1 (1... Kc5 2. Nd7+ Kd6 3. Qf4+ Kc6 4. Qf6+ Kb7 5. Qb6+ Ka8 6. Qb8#) (1... Kb7 2. Qc8+ Ka7 3. Nc6+ Kb6 4. Qc7+ Kc5 5. Na5+) (1... Kb6 2. Qd4+ Kb7 3. Qd7+ Kb8 4. Qc8+ Ka7) 2. Nd3 Qf7 3. Qd4+ Qd5 4. Qf6+ Qe6 5. Qg7 $1 5... Qf5 $1 6. Nf4 Kc5 7. Qc3+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1910 algebraic: white: [Kc1, Rc6, Pf2, Pe6] black: [Ka2, Rd3, Pf3, Pe3, Pa7] stipulation: + solution: | 1. e7 exf2 2. Rc2+ Ka1 3. Rxf2 Re3 4. Rxf3 Re1+ 5. Kc2 Re2+ 6. Kb3 Rb2+ 7. Kc3 Re2 8. Rf1+ Ka2 9. Rf2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1912 algebraic: white: [Kh5, Ra4, Sg6, Pe7] black: [Kf3, Qc2, Sh6, Sf5] stipulation: "=" solution: | 1. Nh4+ 1... Kg3 $1 2. e8=Q Ng7+ 3. Kxh6 Nxe8 4. Nf5+ $1 4... Qxf5 (4... Kf2 5. Rf4+ Kg1 6. Rg4+ Kh2 7. Rh4+) 5. Ra3+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1912 algebraic: white: [Ka1, Sa3, Pg5, Pa2] black: [Ke2, Ba7, Sd4, Pb6, Pa5] stipulation: "=" solution: | 1. g6 Ne6 2. Nb5 Bb8 3. Nd4+ Nxd4 4. g7 Nc2+ 5. Kb1 Na3+ 6. Kc1 Bf4+ 7. Kb2 Be5+ 8. Kc1 Bxg7 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1912 algebraic: white: [Kc5, Sf2, Sa5, Pf7, Pa7] black: [Kc7, Qg6, Sf4, Pd2] stipulation: + solution: | 1. a8=N+ $1 (1. a8=Q $2 1... Qh5+ 2. Kb4 Nd5+ 3. Ka3 Qf3+ 4. Kb2 (4. Nb3 Qxf2) 4... Qc3+ 5. Kb1 Qc1+) 1... Kd7 $1 2. f8=N+ Ke8 3. Nxg6 $1 3... Nd3+ $1 (3... Nxg6 4. Nc4) 4. Nxd3 d1=Q 5. Nc7+ Kd7 6. Nd5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia date: 1912 algebraic: white: [Kf1, Rh1, Sh7, Pd5] black: [Kb6, Rc2, Pf6, Pe6] stipulation: + solution: | 1. dxe6 Rc1+ 2. Kf2 $1 2... Rxh1 3. e7 Rh2+ 4. Kf3 Rh3+ 5. Kf4 Rh4+ 6. Kf5 Rh5+ 7. Kxf6 Rh6+ 8. Kf5 Rh5+ 9. Kf4 Rh4+ 10. Kf3 Rh3+ 11. Ke2 Rh2+ 12. Kd3 Rh3+ 13. Kd4 Rh4+ 14. Kd5 Rh5+ 15. Kd6 Rh6+ (15... Rh1 16. Nf6 Rh8 17. Nd7+ Kb5 18. Nf8 Rh6+ 19. Kd7) 16. Nf6 $1 16... Rxf6+ 17. Kd5 Rf5+ 18. Kd4 Rf4+ 19. Kd3 Rf3+ 20. Ke2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1912 algebraic: white: [Ke5, Ra3, Sb1, Pc5] black: [Kc6, Rf1, Pg5, Pe6] stipulation: + solution: | 1. Nd2 Rf5+ 2. Kxe6 Rxc5 3. Nb3 Rd5 4. Na5+ Kc5 5. Rc3+ Kb4 6. Rc4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Wiener Schachzeitung date: 1912 algebraic: white: [Ka4, Se1, Pf5, Pf3, Pc3, Pb6] black: [Kd1, Rc5, Ba1, Pe4] stipulation: + solution: | 1. b7 Rc4+ 2. Kb3 $1 2... Rxc3+ 3. Ka2 exf3 4. Nxf3 $1 (4. b8=Q f2 5. Qb1+ Ke2) 4... Rc2+ 5. Kxa1 5... Rc5 $1 6. b8=R $1 6... Rxf5 (6... Ra5+ 7. Kb2 Rxf5 8. Rd8+ Ke2 9. Nd4+) 7. Rb1+ Ke2 8. Nd4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1912 algebraic: white: [Kg5, Sc3, Pf3, Pa4] black: [Ke5, Bh7, Pg7, Pf5, Pc7] stipulation: + solution: | 1. a5 Kd6 2. a6 Kc6 3. Nd5 f4 4. Kxf4 Bb1 5. Ke5 Bh7 (5... g5 $1 6. Kf6 (6. Nc3 Bd3) (6. Nb4+ Kb6 7. Nd5+ Kxa6 8. Nxc7+ Kb6) 6... g4 $1 7. fxg4 Be4 8. a7 (8. Ne7+ Kb6 9. Nf5 c5 10. g5 (10. Ke5 Bf3 11. g5 Bh5 12. Ng7 Bg6) 10... c4 11. g6 c3 12. g7 c2 13. g8=Q c1=Q) 8... Kb7 9. a8=Q+ Kxa8 10. Nxc7+ Kb7 11. Nb5 Kc6 12. Nd4+ Kd7 13. Nf5 Bd5 14. g5 Ke8) 6. f4 Bb1 7. f5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia date: 1913 algebraic: white: [Kb7, Rg4, Pd6] black: [Kf2, Sd3, Pd2] stipulation: "=" solution: 1. d7 d1=Q 2. Rg2+ Kxg2 3. d8=Q Nc5+ 4. Ka7 Qxd8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1913 algebraic: white: [Ka2, Ra3, Pc3] black: [Kc1, Pc2, Pb6, Pa5] stipulation: "=" solution: | 1. Rb3 Kd2 2. Rxb6 $1 (2. Rb2 $2 2... Kd3) 2... c1=Q 3. Rb1 Qxc3 4. Rb2+ Kc1 ( 4... Kd3 5. Rb3) 5. Rb1+ Kc2 6. Rc1+ Kxc1 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1913 algebraic: white: [Kb5, Bc5, Ph3, Pa6] black: [Kb8, Bc8, Sa1, Ph6, Pd7] stipulation: "=" solution: | 1. Bd6+ $1 1... Ka7 2. Kc4 Nc2 3. Kd3 Ne1+ 4. Ke2 Ng2 5. Kf3 Nh4+ 6. Kg4 Ng6 7. Kf5 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1913 algebraic: white: [Kf7, Sc2, Ph6, Ph2, Pg2] black: [Kf4, Rf1, Ph4, Pa2] stipulation: + solution: | 1. h7 Kg5+ 2. Ke7 (2. Kg7 a1=Q+ 3. Nxa1 Rxa1 4. h8=Q Ra7+) 2... Re1+ 3. Kd7 Rd1+ 4. Kc7 a1=Q (4... Rc1 5. h8=Q a1=Q 6. Qxa1 Rxa1 7. Nxa1 Kf4 8. Nc2 Ke4 9. Kd6 Kd3 10. Ke5 Ke2 11. Kf4) 5. Nxa1 Rc1+ 6. Kb7 Rb1+ 7. Nb3 $1 7... Rxb3+ 8. Kc7 Rc3+ 9. Kd7 Rd3+ 10. Ke7 Re3+ 11. Kf7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1913 algebraic: white: [Kc4, Ph5, Pe2, Pd5, Pa5] black: [Kf7, Bh4, Pf4, Pe7] stipulation: + solution: | 1. Kd3 $1 (1. e4 $2 1... fxe3 2. Kd3 Bg3 3. Kxe3 e6) (1. a6 $2 1... Bf2 2. e4 fxe3 3. a7 e2) (1. d6 $2 1... exd6 2. e4 fxe3 3. a6 e2) 1... Bf2 2. e4 fxe3 ( 2... f3 3. e5 Bc5 4. a6) 3. d6 $1 3... exd6 4. Ke2 d5 5. a6 d4 6. Kd3 (6. a7 $2 6... d3+ 7. Kxd3 e2) 6... e2 7. Kxe2 Bg1 8. Kd3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia date: 1915-01-24 algebraic: white: [Kd1, Bh8, Bh6, Bf8, Bc7, Bb8] black: [Kb1, Pa6] stipulation: + solution: | "1. Bce5 a5 (1... Ka2 2. Kc2) 2. Ba1 a4 3. Bbe5 a3 4. Kd2 Ka2 5. Kc3 Kxa1 (5... Kb1 6. Kb3 a2 7. Kc3 Kxa1 8. Kc2#) 6. Kb3+ Kb1 7. Ba1 a2 8. Kc3 Kxa1 9. Kc2#." keywords: - Grotesque --- authors: - Троицкий, Алексей Алексеевич source: Шахматы date: 1923 algebraic: white: [Kb5, Bh3, Pg3, Pc3, Pa3] black: [Kg5, Sa2, Pd3, Pc5, Pa4] stipulation: "=" solution: | 1. Bg2 Kg4 2. Bf1 Nxc3+ 3. Kc4 d2 4. Kxc3 d1=Q 5. Be2+ Qxe2 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный листок source-id: 17 date: 1923 algebraic: white: [Kf1, Sd3, Pc6] black: [Kh3, Sd8, Ph2, Pf4, Pa3] stipulation: "=" solution: | "1.Sd3*f4+ ? Kh3-g4 2.Kf1-g2 a3-a2 ! 1.Sd3-f2+ Kh3-g3 ! 2.c6-c7 ! a3-a2 3.Sf2-e4+ ! Kg3-f3 ! 4.Se4-d2+ ! Kf3-e3 5.Sd2-c4+ Ke3-e4 6.Sc4-d2+ Ke4-e5 7.Sd2-c4+ {or 7.Sf3+} Ke5-e4 8.Sc4-d2+ 3.c7-c8=Q ? a2-a1=Q+ 3.c7*d8=Q ? a2-a1=Q+ 1...Kh3-h4 2.c6-c7" --- authors: - Троицкий, Алексей Алексеевич source: Časopis českých šachistů source-id: 338 date: 1923-10 distinction: Honorable Mention algebraic: white: [Ka3, Pf5, Pc4] black: [Kh8, Pg7, Pd7, Pc6] stipulation: "=" solution: | 1.Ka3-b4 Kh8-g8 2.Kb4-c5 Kg8-f7 3.Kc5-d6 Kf7-e8 4.c4-c5 Ke8-d8 5.f5-f6 g7*f6 {stalemate} 1...d7-d6 2.Kb4-a5 Kh8-h7 3.Ka5-b6 d6-d5 4.c4*d5 c6*d5 5.Kb6-c5 Kh7-h6 6.Kc5*d5 Kh6-g5 7.Kd5-e5 keywords: - Stalemate --- authors: - Троицкий, Алексей Алексеевич source: Шахматы date: 1923 algebraic: white: [Kf1, Qc2, Se6] black: [Kh5, Qa7, Pf2] stipulation: + solution: | "1. Qf5+ Kh6 2. Qf6+ Kh7 3. Nf8+ Kg8 4. Ng6 $1 4... Qg7 5. Ne7+ Kh8 6. Qh4+ Qh7 7. Qd4+ Qg7 8. Qd8+ Kh7 9. Qd3+ Kh8 10. Qh3+ Qh7 11. Qc3+ Qg7 12. Qc8+ Kh7 13. Qh3+ Qh6 14. Qd3+ Kh8 15. Qd8+ Kh7 16. Qg8# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur date: 1924 algebraic: white: [Kb8, Rh1, Pf6, Pe5] black: [Kc2, Sf3, Sa5, Pf7, Pb2] stipulation: "=" solution: | 1. e6 fxe6 2. f7 Ne5 3. Rh2+ Kc3 4. Rxb2 Kxb2 5. f8=N Nec6+ 6. Ka8 $1 6... e5 7. Nd7 e4 8. Nf6 e3 9. Nd5 e2 10. Nf4 e1=N 11. Nd3+ Nxd3 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien date: 1924 algebraic: white: [Kg1, Ph7, Ph6, Pe5] black: [Kd3, Bh8, Sc1] stipulation: "=" solution: | 1. e6 Ne2+ 2. Kh2 $1 2... Be5+ 3. Kh3 $1 3... Nf4+ 4. Kg4 Nd5 5. Kf5 Kd4 6. Kg6 $1 6... Kc5 7. h8=Q $1 7... Bxh8 8. e7 $1 8... Nxe7+ 9. Kh7 Ba1 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien date: 1924 algebraic: white: [Kf3, Ph4, Ph3, Pc6] black: [Kh8, Sh1, Sa6, Pf5] stipulation: "=" solution: | 1. Kf4 $1 (1. Kg2 $2 1... Nc7 2. Kxh1 Ne6 3. Kg2 Kg7 4. Kf3 Kg6 5. Kg3 Kf6 6. Kf3 Nd4+) (1. h5 $2 1... Kg7 2. Kf4 Kf6 3. h6 Nb4 4. h7 Nd5+ 5. Kf3 Kg7 6. c7 Nxc7 7. Kf4 Ng3 8. Kxg3 Ne6) 1... Nb4 $1 (1... Nf2 2. Kxf5 Nd3 3. Ke6 $1 3... Ndb4 4. Kd6) 2. c7 $3 (2. Kxf5 $2 2... Nxc6 3. Kf4 Nf2 4. Ke3 Nd1+ 5. Kd2 Nb2 6. Kc3 Na4+ 7. Kc4 Nd8 8. Kb4 Nb6 9. Kc5 Nc8) 2... Nd5+ 3. Kxf5 Nxc7 4. Kf4 4... Nf2 $1 5. Ke3 Nd1+ (5... Nxh3 6. h5) 6. Kd2 Nb2 7. Kc3 Na4+ 8. Kb4 Nb6 9. Kc5 $1 9... Na4+ (9... Nbd5 10. Kc6) (9... Ncd5 10. Kc6) 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: České slovo date: 1924 distinction: 5th Prize algebraic: white: [Kd5, Rd2, Ph6, Ph5, Pb4] black: [Ka6, Rg4, Bd7, Pd6, Pb5] stipulation: + solution: | 1. h7 Rg5+ 2. Kxd6 Rxh5 3. Kc7 Be6 4. Kb8 4... Bd5 $1 5. Rxd5 Rxd5 6. h8=R $1 6... Rd6 7. Kc7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien date: 1924 algebraic: white: [Kd5, Rc3, Ba7, Ba2] black: [Ka8, Rh7, Pd3, Pc2] stipulation: + solution: | 1. Be3 1... d2 $1 (1... Rd7+ 2. Kc6 d2 3. Ra3+ Kb8 4. Bf4+) 2. Bxd2 Rd7+ 3. Kc6 Rxd2 4. Kc7 $1 (4. Bd5 $2 4... Kb8) 4... c1=Q (4... Rd3 5. Rxc2 Ra3 (5... Re3 6. Bd5+) (5... Ka7 6. Bb3) 6. Kb6 Kb8 7. Be6) 5. Bd5+ $3 5... Rxd5 (5... Ka7 6. Rxc1 Ka6 7. Kc6 Ka5 (7... Ka7 8. Ra1+ Kb8 9. Kd6) 8. Kc5) 6. Rxc1 Ra5 7. Kb6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien date: 1924 algebraic: white: [Kd5, Rb6, Ph6] black: [Ka4, Rf3, Pg6, Pf4] stipulation: + solution: | 1. Kc4 $1 1... Ka5 (1... Ka3 2. h7 Rh3 3. Rb3+ $1 3... Rxb3 4. h8=Q) 2. Rb5+ $1 2... Ka6 3. Rh5 $3 3... gxh5 4. h7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien date: 1924 algebraic: white: [Kd2, Se4, Sb4, Ph6, Pe6] black: [Kd8, Rb7, Bc8, Pe5, Pa7] stipulation: + solution: | 1. e7+ $1 1... Kxe7 (1... Rxe7 2. Nc6+ Ke8 3. Nxe7 Kf7 4. Nxc8 Kg6 5. Nxa7) 2. h7 Rd7+ (2... Rxb4 3. h8=Q) 3. Ke1 $1 3... Rd8 4. Nc6+ Kf7 5. Nxd8+ Kg7 6. Nf7 $1 (6. Ng5 Bf5) 6... Kxh7 7. Nfd6 Ba6 (7... a5 8. Nxc8 a4 9. Kd2) 8. Nc5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur date: 1924 algebraic: white: [Kh7, Bd8, Pa6] black: [Ka3, Rb5, Pg4] stipulation: + solution: | 1. Bc7 Rh5+ 2. Kg7 Rg5+ 3. Kf7 Rh5 4. a7 Rh8 5. Bd6+ Kb3 6. Bf8 Rh7+ 7. Bg7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien date: 1924 algebraic: white: [Kc3, Ba2, Ph6, Ph3] black: [Kb6, Ba7, Pf3, Pa3] stipulation: + solution: | 1. h7 f2 2. Bc4 a2 3. Kb2 Ka5 4. h8=B (4. h8=Q $2 4... f1=Q 5. Bxf1 a1=Q+ 6. Kxa1 Bd4+ 7. Qxd4) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный листок date: 1925 algebraic: white: [Kg1, Be7, Ph6, Pd5, Pb6] black: [Kd3, Rf4, Ph7, Pa7] stipulation: + solution: | "1. b7 Rg4+ 2. Kf2 Rg8 3. d6 Kc4 4. d7 4... Kb5 $1 5. d8=Q Rxd8 6. Bxd8 Ka6 7. b8=B (7. b8=N+ $2 7... Kb7 8. Nd7 Kc8 9. Nf6 Kxd8 10. Nxh7 10... Ke7 $1 11. Kf3 Kf7 12. Ng5+ Kg6 13. h7 Kg7) 7... Kb7 8. Be5 Kc8 9. Be7 Kd7 10. B7d6 Ke6 11. Kf3 a5 12. Kf4 a4 13. Ba3 Kf7 14. Kf5 Kg8 15. Kf6 Kh8 16. Kf7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматы date: 1927 distinction: 1st Honorable Mention algebraic: white: [Kh1, Rb5, Bg3, Ph2, Pb6] black: [Kh8, Qf8, Bf5, Ph7, Ph3] stipulation: "=" solution: | "1. b7 (1. Kg1 $2 1... Qa8 2. b7 Qa7+ 3. Kf1 (3. Bf2 Qa1+) (3. Kh1 Be4#) 3... Bd3+ 4. Ke1 Qe3+) (1. Be5+ $2 1... Kg8 2. b7 Be4+ 3. Kg1 Bxb7 4. Rxb7 Qc5+ 5. Kf1 Qxe5 6. Kg1 Qe1#) 1... Be4+ 2. Kg1 Bxb7 3. Rg5 $1 (3. Rxb7 $2 3... Qc5+ 4. Kf1 Qc4+ 5. Kf2 Qd4+ 6. Kf1 Qd1+ 7. Kf2 Qd2+ 8. Kf3 Qg2+) 3... h5 (3... h6 4. Be5+ Kh7 5. Rg7+ Qxg7+ 6. Bxg7) 4. Be5+ Kh7 5. Rg7+ Kh6 6. Bf4+ Kxg7 (6... Qxf4 7. Rg6+ Kh7 8. Rg7+ Kh8 9. Rg8+ Kh7 10. Rg7+ Kxg7) 7. Bh6+ Kxh6 1/2-1/2" --- authors: - Троицкий, Алексей Алексеевич source: Задачи и этюды date: 1928 distinction: 3rd Prize algebraic: white: [Kc1, Ba3, Se5, Ph2, Pe2] black: [Kc3, Ph3, Pf3, Pf2] stipulation: "=" solution: | 1. Bb4+ Kb3 (1... Kxb4 2. Nd3+ Kc3 3. Nxf2 fxe2 4. Ne4+ Kd3 5. Nf2+ Ke3 6. Ng4+ ) 2. Nxf3 f1=Q+ 3. Be1 Qg2 4. Bg3 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный листок date: 1929 algebraic: white: [Ke1, Se3, Pd6] black: [Ka3, Rb3, Ba2] stipulation: "=" solution: | 1. Nc4+ Ka4 (1... Kb4 2. d7 Rd3 3. Ne5 Rd5 4. d8=Q) 2. d7 Rb8 (2... Rb1+ 3. Kd2 Rb8 4. Nb6+ Ka3 5. Nc8 Rb2+ 6. Ke3 Rb3+ 7. Kd4 Bb1 8. Ke5 Rd3 9. Nd6) 3. Nb6+ Ka3 4. Nc8 Rb1+ 5. Kd2 (5. Ke2 Bc4+ 6. Kd2 Bb3) 5... Bb3 6. Nd6 Rd1+ 7. Kc3 Rxd6 8. d8=Q Rxd8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы date: 1929 distinction: 2nd Honorable Mention algebraic: white: [Kg7, Sb5, Pg3, Pe6] black: [Kf5, Rd2, Ph7, Pd6, Pa3] stipulation: "=" solution: | 1. e7 a2 2. Nd4+ Rxd4 3. e8=Q a1=Q 4. Qh5+ Ke4 5. Qe2+ Kd5 6. Qb5+ Ke6 7. Qe8+ Kf5 8. Qh5+ Ke4 9. Qe2+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы date: 1929 algebraic: white: [Kc3, Sc4, Pb6] black: [Ke4, Rg2, Pg3] stipulation: + solution: | 1. b7 1... Rc2+ $1 2. Kxc2 g2 3. Nd2+ Ke3 (3... Kf4 4. b8=Q+) 4. b8=B $1 (4. b8=Q $2 4... g1=Q 5. Qa7+ Ke2 6. Qxg1) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный листок date: 1929 distinction: 1st Honorable Mention algebraic: white: [Kc1, Bd2, Sc3] black: [Kh8, Ba8, Ph7, Pc6] stipulation: + solution: | "1. Bh6 Kg8 (1... c5 2. Nb5 Kg8 3. Nd6 Bd5 4. Kd2 Be6 5. Ke3 Bd5 6. Kf4 c4 7. Ke5 Bf3 8. Kf6 c3 9. Nf5 c2 10. Ne7+ Kh8 11. Bg7#) 2. Ne4 Kf7 3. Nc5 $1 3... Kg6 4. Bf8 h5 5. Kd2 Kg5 6. Ke3 Kg4 7. Kf2 h4 8. Bd6 h3 9. Kg1 Kg5 10. Kh2 Kg4 11. Bc7 Kf3 12. Kxh3 Ke3 13. Be5 Kd2 14. Kg4 Kc2 15. Kf5 Kb1 16. Ke6 Ka2 17. Kd7 Ka3 18. Bc3 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматный листок date: 1929 distinction: 1st Honorable Mention algebraic: white: [Kb1, Bd2, Sc3] black: [Kh8, Ba8, Ph7, Pc6] stipulation: + solution: | "1. Bh6 Kg8 (1... c5 2. Nb5 Kg8 3. Nd6 Bd5 4. Kc2 c4 5. Kc3 Be6 6. Kd4 Bf7 7. Ke5 c3 8. Kf6 Bb3 9. Nf5 c2 10. Ne7+ Kh8 11. Bg7#) 2. Ne4 Kf7 3. Nc5 Kg6 4. Bf8 h5 5. Kc2 Kf5 6. Bd6 Kg4 7. Kd2 Kf3 8. Ke1 Kg2 9. Be7 Kg3 10. Kf1 Kf3 (10... h4 11. Kg1 h3 12. Kh1) 11. Bd6 Ke3 12. Be5 Kd2 13. Kg2 Kc2 14. Kh3 Kb1 15. Kh4 Ka2 16. Kxh5 Ka3 17. Bc3 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Magyar Sakkvilág date: 1930 algebraic: white: [Ka6, Bd1, Sd4, Pg6, Pe5] black: [Ke8, Qh4, Be7, Pf6, Pa7] stipulation: "=" solution: | 1. g7 Qh7 2. exf6 Bxf6 (2... Qd3+ 3. Kb7 Qe4+ 4. Ka6 Qd5 5. f7+ Qxf7 (5... Kxf7 6. Bb3) 6. Bh5) 3. Bc2 Qg8 4. Bb3 Qh7 5. Bc2 Qxg7 6. Ba4+ Kf7 7. Bb3+ Kg6 8. Bc2+ Kh5 9. Bd1+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: «64» date: 1931 algebraic: white: [Ke8, Ba6, Sd5, Sd1] black: [Ka1, Bh4, Sg8, Pf6] stipulation: + solution: | 1. Kf7 Nh6+ 2. Kg6 Ng4 3. Kh5 Nf2 4. Kxh4 Nxd1 5. Be2 Nb2 (5... Nf2 6. Nxf6 Kb2 7. Kg3 Nh1+ 8. Kg2) 6. Nc3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы в СССР date: 1933 algebraic: white: [Kd4, Ra8, Pg4, Pe4, Pa5] black: [Ke6, Rc6, Ph4, Pg5, Pf6] stipulation: + solution: | 1. a6 Rc7 (1... Rd6+ 2. Kc5 $1 2... Rd7 3. a7 Re7 4. Kb6 Ke5 (4... h3 5. Rh8 Rxa7 6. Kxa7 Ke5 7. Rxh3 Kxe4 8. Ra3 Kf4 9. Ra4+) 5. Rf8 Rxa7 6. Kxa7 Kxe4 7. Rxf6 h3 8. Kb6 h2 9. Rf1 Ke3 (9... h1=Q 10. Rxh1 Kf3 11. Rg1) 10. Kc5 Ke2 11. Rh1 Kf3 12. Rxh2 Kxg4 13. Rf2 $1 13... Kh3 (13... Kg3 14. Rf8) 14. Kd4 g4 15. Ke3 g3 16. Rf8 g2 17. Rg8) 2. a7 Re7 (2... Rd7+ 3. Kc5 Re7 4. Kb6) 3. e5 $1 3... fxe5+ (3... h3 4. exf6 h2 (4... Rd7+ 5. Kc5) 5. fxe7) 4. Ke4 h3 5. Rh8 Rxa7 6. Rh6+ Ke7 7. Rh7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Le Soir date: 1934 algebraic: white: [Kh3, Rh4, Bc3, Pc2, Pa4] black: [Kc8, Qb8, Ph7, Pf7, Pd7] stipulation: + solution: | 1. Rc4+ Kd8 2. Bf6+ Ke8 3. Re4+ Kf8 4. Be7+ 4... Kg7 $1 5. Rg4+ Kh6 6. Bg5+ Kh5 7. Bf4 7... Qb4 $1 8. Rg5+ Kh6 9. Bc1 $1 9... Qb1 10. Rg1+ Kh5 11. Be3 $1 11... Qa2 12. Rg5+ Kh6 13. Kh4 Qa3 14. Rg3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы в СССР date: 1934 distinction: 5th Prize algebraic: white: [Kh4, Rf5, Bh1, Bd8] black: [Kb8, Rd2, Sc8, Ph6] stipulation: + solution: | "1. Rb5+ Nb6 (1... Ka7 2. Ra5+ Kb8 3. Ra8#) 2. Bxb6 (2. Rxb6+ $2 2... Kc8 3. Bf6 Rh2+) 2... Rh2+ 3. Kg4 Rxh1 4. Bg1+ Kc7 5. Rb1 Kd7 6. Re1 Kc6 7. Rd1 Kb5 8. Rc1 Ka4 9. Rb1 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматы в СССР date: 1934 algebraic: white: [Kg4, Rf1, Bc6, Sh2] black: [Ka6, Rc2, Ph6, Pf7] stipulation: + solution: | 1. Rf6 Rxh2 2. Bg2+ 2... Ka7 $1 3. Rxf7+ Kb6 4. Rf2 4... Kc7 $1 5. Rd2 Kb6 6. Rc2 Ka5 7. Rb2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames date: 1935 algebraic: white: [Ka5, Se8, Sd2, Pe7] black: [Ka3, Rg6, Pb2] stipulation: + solution: | 1. Nc7 $1 (1. Nf6 $2 1... Rg5+ 2. Ka6 $1 2... Re5 3. Nc4+ Kb4 4. Nxe5 b1=Q 5. e8=Q 5... Qf1+ $1) 1... Rg8 (1... Rg5+ 2. Nb5+) 2. Nb5+ Ka2 3. Nc3+ Ka3 4. Ncb1+ Ka2 5. Kb4 $3 5... Ka1 (5... Rb8+) 6. Kc5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: «64» source-id: 51 date: 1936-10-08 distinction: 1st Honorable Mention algebraic: white: [Kc5, Bh7, Ph6, Ph4] black: [Ke7, Ra7, Sa5] stipulation: "=" solution: | "1.Bh7-g8 Ke7-f6 ! 2.h6-h7 ! Kf6-g7 3.Kc5-b5 ! Ra7-a8 4.h4-h5 Sa5-b7 5.h5-h6+ Kg7-h8 6.Kb5-c6 Sb7-d8+ 7.Kc6-d7 ! Ra8-b8 8.Kd7-c7 Rb8-a8 9.Kc7-d7 Sd8-b7 10.Kd7-c6 Sb7-a5+ 11.Kc6-b5 ! 7.Kc6-c7 ? Sd8-f7 ! 3.Kc5-b6 ? Ra7-a8 4.Kb6-b5 Kg7-h8 5.h4-h5 Kh8-g7 6.h5-h6+ Kg7-h8 4.h4-h5 Sa5-b3 2.Kc5-b5 ? Kf6-g6 3.h6-h7 Kg6-g7 4.h4-h5 Ra7-a8 5.h5-h6+ Kg7-h8 3.Kb5-b6 Ra7-a8 4.Bg8-d5 Ra8-e8" --- authors: - Троицкий, Алексей Алексеевич source: Шахматы в СССР date: 1941 distinction: 2nd Honorable Mention algebraic: white: [Ka7, Ba3, Sd4, Pb5, Pb2] black: [Kc7, Rh6, Se4, Sd3] stipulation: "=" solution: | 1. b6+ Rxb6 2. Bd6+ Nxd6 (2... Rxd6 3. Nb5+ Kc6 4. Nxd6 Kxd6 5. b4) 3. Ne6+ Kc6 4. Nd4+ Kc5 5. Ne6+ Kb5 6. Nd4+ Ka5 7. b4+ Nxb4 8. Nb3+ Kb5 9. Nd4+ Kc5 10. Ne6+ Kc6 11. Nd4+ Kc7 12. Ne6+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1906 algebraic: white: [Kb8, Bb7, Pd6] black: [Ka4, Bb1, Pd7, Pb3] stipulation: "=" solution: | 1. Bc6+ $1 (1. Bc8 $2 1... Bf5) 1... Ka3 (1... Ka5 2. Bxd7 b2 3. Be6 $3 (3. Ba4 $2 3... Bf5 4. Bc2 Bxc2 5. d7 b1=Q+ 6. Kc7 Qb6+)) 2. Bxd7 2... b2 $1 3. Ba4 $3 3... Bf5 4. Bc2 $3 4... Bxc2 5. d7 b1=Q+ 6. Kc7 $3 6... Qb4 7. d8=Q Qa5+ 8. Kd7 $3 8... Ba4+ 9. Kc8 $3 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматное обозрение date: 1910 distinction: 4th-5th Prize algebraic: white: [Kd3, Rc3, Sf4] black: [Kb2, Pa3, Pa2] stipulation: + solution: | "1. Rc2+ 1... Kb3 $1 2. Rc1 2... a1=Q $1 (2... Kb2 3. Kd2 a1=Q 4. Nd3+ Ka2 5. Nb4+ Kb2 6. Rxa1 Kxa1 7. Kc1 a2 8. Nc2#) 3. Rxa1 Kb2 4. Rf1 $3 4... a2 5. Kc4 $1 5... a1=Q 6. Nd3+ Ka2 7. Nb4+ Kb2 8. Rf2+ Kb1 9. Kb3 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) source-id: version date: 1895-02-21 algebraic: white: [Kd5, Be3, Pg6] black: [Kf8, Ph7, Pe7] stipulation: + solution: | "1.Be3-h6+ Kf8-g8 2.g6-g7 Kg8-f7 3.g7-g8=Q+ ! Kf7*g8 4.Kd5-e6 Kg8-h8 5.Ke6-f7 e7-e5 6.Bh6-g7# 2...e7-e6+ 3.Kd5-d6 ! Kg8-f7 4.Kd6-e5 Kf7-g8 5.Ke5-f6 2...e7-e5 3.Kd5-e6 e5-e4 4.Ke6-f6 2.Kd5-e6 ? h7*g6" keywords: - Troitsky theme comments: - Version from 1902 - anticipates 73360 --- authors: - Троицкий, Алексей Алексеевич source: date: 1909 algebraic: white: [Kd2, Sc3, Sa8] black: [Kd7, Pd5, Pa5, Pa3] stipulation: + solution: | "1. Nb6+ Kc6 2. Nba4 d4 3. Na2 Kb5 4. Kd3 Kxa4 5. Kc4 d3 6. Nc3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kc6, Be7, Pe6] black: [Ka2, Bc1, Pc2] stipulation: "=" solution: | "1. Bb4 $1 (1. Kd7 $1 1... Bf4 (1... Kb3 2. Bf6 Ba3 3. Bg5) 2. Ba3 Kxa3 (2... Bg5 3. Bc1 $1 3... Bxc1 4. e7) 3. e7 c1=Q 4. e8=Q Qc7+ 5. Ke6 Qe5+ 6. Kf7 (6. Kd7 $2 6... Qd6+ 7. Kc8 Qc7#) 6... Qh5+ 7. Ke7 Bd6+ 8. Kd7) (1. Kb5 1... Be3 $2 2. Ba3 Kxa3 3. e7 c1=Q 4. e8=Q Qc5+ 5. Ka6 Qb6#) (1. Kb7 Bf4 2. Ba3 Kxa3 3. e7 c1=Q 4. e8=Q Qc7+ 5. Ka8 Be5 6. Qf8+ (6. Qb5 Qc8+ 7. Ka7 Bd4+) 6... Ka4 7. Qe8+ Ka5 8. Qa4+ Kxa4) 1... Bg5 2. Bd2 Bxd2 (2... Bh4 3. Kd7) 3. e7 c1=Q+ 4. Kd7 Kb3 (4... Qc5 $1 5. e8=Q Qb5+ 6. Ke7 (6. Kd8 Bg5+) 6... Bb4+ 7. Kf7 Qh5+) 5. e8=Q 1/2-1/2" --- authors: - Троицкий, Алексей Алексеевич source: Cor de Feijter date: 1925 algebraic: white: [Kd1, Se1, Ph2] black: [Ka3, Pb3, Pa5] stipulation: + solution: | "1. Nd3 (1. h4 b2 2. Kc2 Ka2) (1. Kc1 $2 1... Ka2 2. Nd3 a4) (1. Nf3 $2 1... Ka2 2. Nd2 2... a4 $1 3. h4 a3 4. h5 b2 5. Kc2 Ka1 6. h6 b1=Q+ 7. Nxb1 a2) 1... a4 2. h4 Ka2 3. h5 a3 4. Nc1+ $1 (4. h6 $2 4... b2 $1) 4... Kb2 5. h6 a2 6. h7 a1=Q 7. h8=Q+ Kb1 8. Qh7+ Kb2 9. Qg7+ (9. Qh2+ $1 9... Kb1 10. Nxb3 Qc3 11. Nd2+ Ka2 12. Qb8 $1) 9... Kb1 10. Qg6+ Kb2 11. Qf6+ Kb1 12. Qf5+ Kb2 13. Qe5+ ( 13. Qf2+ $1 13... Kb1 14. Nxb3 Qc3 15. Nd2+ Ka2 16. Qf7+ Ka1 17. Qa7+ Kb2 18. Qb6+ Ka2 19. Qb5 $1 19... Qh3 20. Qa4+ Qa3 21. Qc4+ Ka1 22. Qb5 Qb2 23. Qa4+ Qa2 24. Qe4 Qb2 25. Qa8+ Qa2 26. Qh1 $1) 13... Kb1 14. Qe4+ Kb2 15. Qd4+ Kb1 16. Qd3+ Kb2 17. Qxb3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Новое время source-id: 785 version date: 1898-04-09 algebraic: white: [Ka4, Rh4, Bg5] black: [Ka2, Re2, Pf2, Pe3] stipulation: "=" solution: | 1. Rh1 [1. Rf4 Rb2 2. Bh4 Rd2 3. Kb5 Kb3 4. Rf3 Kc2 5. Kc4 Kd1 6. Bg5 e2 (6... Rc2+ 7. Kb3 e2 8. Rd3+ =) 7. R:f2 Rc2+ 8. Kd3 e1Q 9. R:c2 Qg3+ 10. Be3 Qg6+ -+] 1... Re1 2. Rf1 R:f1 3. B:e3 Kb2 4. Kb4 Kc2 5. Kc4 Kd1 6. Kd3 Ke1 7. Bd2+ Kd1 8. Be3 = --- authors: - Троицкий, Алексей Алексеевич source: date: 1916 algebraic: white: [Kh1, Sf5, Pd3, Pa6] black: [Kf3, Sc8, Pb6] stipulation: + solution: | 1. d4 Kf4 (1... Ke4 2. Nd6+) 2. Ne7 $1 (2. Nd6 $2 2... Na7 3. d5 Ke5) 2... Na7 3. Nc6 $1 3... Nb5 (3... Nxc6 4. d5 Na7 5. d6) 4. d5 Kf5 5. Nd4+ Nxd4 6. a7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 175 correction date: 1924 algebraic: white: [Ka1, Rf6, Ph6] black: [Kc1, Rd2] stipulation: + solution: | "1.h6-h7 Rd2-h2 2.Rf6-f1+ Kc1-d2 3.Rf1-f2+ ! Rh2*f2 4.h7-h8=Q 1...Rd2-d8 2.Rf6-c6+ Kc1-d1 3.Rc6-d6+ ! Rd8*d6 4.h7-h8=Q 3.Rc6-h6 ? Rd8-h8 ! 2.Ka1-a2 ? Rd8-h8 ! 3.Rf6-h6 Kc1-c2 ! 4.Rh6-h2+ ! Kc2-d3 5.Rh2-h4 Kd3-e3 ! 6.Ka2-b3 Ke3-f3 7.Kb3-c4 Kf3-g3 8.Rh4-h1 Kg3-g4 9.Kc4-d5 Kg4-f5 ! 3...Kc1-d2 ? 4.Rh6-h3 ! Kd2-e2 5.Ka2-b3 Ke2-f2 6.Kb3-c4 Kf2-g2 7.Rh3-h6 Kg2-f3 8.Kc4-d5 Kf3-f4 9.Kd5-e6 Kf4-g5 10.Rh6-h1 Kg5-g6 11.Rh1-g1+ Kg6*h7 12.Ke6-f7 11...Kg6-h6 12.Ke6-f7 11...Kg6-h5 12.Ke6-f6" comments: - | correction in: Троицкий: Сборник шахматных этюдов, 1934, number 334 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 724 date: 1896-09 algebraic: white: [Kh4, Ra8, Pa7] black: [Kh2, Ra2] stipulation: + solution: | 1.Kh4-g4 Kh2-g2 2.Kg4-f4 Kg2-f2 3.Kf4-e4 Kf2-e2 4.Ke4-d4 Ke2-d2 5.Kd4-c5 Kd2-c1 6.Kc5-b6 Ra2-b2+ 7.Kb6-c6 Rb2-a2 8.Ra8-c8 Ra2*a7 9.Kc6-b6+ 1.Kh4-g5 ! {cook} keywords: - Cooked comments: - Check also 333997 348989 --- authors: - Троицкий, Алексей Алексеевич source: algebraic: white: [Kg6, Pe4] black: [Kc3, Pe5] stipulation: + solution: 1. Kf6 Kd4 2. Kf5 Kc5 3. Kxe5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: algebraic: white: [Kb1, Sg5, Pf2, Pc3, Pa2] black: [Ka3, Bb6, Sg4, Pa4] stipulation: + solution: | 1. Nf3 $1 (1. Ne4 $2 1... Ba5) 1... Bxf2 2. Ka1 $1 2... Ne3 (2... Be3 3. Ne1) 3. Nd4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: algebraic: white: [Kb3, Sh6, Sd3] black: [Ka1, Ph7] stipulation: + solution: | "1. Ng4 h5 2. Ngf2 h4 3. Nd1 h3 4. Nc3 h2 5. Ne1 h1=Q 6. Nc2#" --- authors: - Троицкий, Алексей Алексеевич source: algebraic: white: [Kc5, Sg4, Sf4] black: [Kc3, Ph4] stipulation: + solution: 1... Kd2 2. Kd4 Ke1 3. Ke3 Kf1 4. Kd2 Kg1 5. Ke1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: algebraic: white: [Kd6, Sf6, Sc2] black: [Kb8, Pc3] stipulation: + solution: | "1. Nd5 Kc8 2. Ke7 Kb8 3. Kd8 Kb7 4. Kd7 Ka7 5. Kc7 Ka6 6. Kc6 Ka7 7. Ne7 Ka6 8. Nc8 Ka5 9. Nb6 Ka6 10. Nc4 Ka7 11. Nd6 Ka6 12. Nb7 Ka7 13. Nc5 Kb8 14. Kd7 Ka7 15. Kc7 Ka8 16. Kb6 Kb8 17. Nb7 Kc8 18. Kc6 Kb8 19. Nd6 Ka7 20. Kb5 Kb8 21. Kb6 Ka8 22. Nc8 Kb8 23. Ne7 Ka8 24. Kc7 Ka7 25. Nb4 c2 26. Nec6+ Ka8 27. Nd5 c1=Q 28. Nb6#" --- authors: - Троицкий, Алексей Алексеевич source: algebraic: white: [Ke3, Sf4, Se4] black: [Kf1, Ph4] stipulation: + solution: 1. Nd2+ Ke1 2. Nf3+ Kf1 3. Nh2+ Kg1 4. Ng4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: algebraic: white: [Ke4, Sf3, Se3] black: [Kf2, Ph4] stipulation: + solution: | 1. Nh2 Ke2 2. Nef1 Kd1 3. Kd3 Kc1 4. Nf3 $1 4... Kb2 5. Nd4 Ka3 6. Kc4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: algebraic: white: [Kf7, Sf5, Sa3] black: [Kh8, Pa4] stipulation: + solution: | "1. Nc4 a3 2. Ne5 a2 3. Ng6+ Kh7 4. Nf8+ Kh8 5. Ne7 a1=Q 6. Neg6#" --- authors: - Троицкий, Алексей Алексеевич source: date: 1895 algebraic: white: [Ke6, Pd6] black: [Kg7, Rg5] stipulation: "+" solution: | "{1. d7 Rg6+ 2. Ke5 (2. Ke7 $2 2... Rg1 3. d8=Q Re1+) 2... Rg5+ 3. Ke4 Rg4+ 4. Ke3 Rg3+ 5. Kd2 $1 5... Rg2+ 6. Kc3 Rg3+ 7. Kc4 Rg4+ 8. Kc5 Rg5+ 9. Kc6 Rg6+ 10. Kc7 1-0 Cook or a more accurate solution: 4.Kd3! Rg3 5.Kc4!}" --- authors: - Троицкий, Алексей Алексеевич source: La Stratégie source-id: 218 date: 1895 algebraic: white: [Kh5, Qe7, Bf2, Pc7] black: [Ka1, Qc3, Rc8, Sh8, Pf5, Pa7] stipulation: "=" solution: | 1. Bd4 Qxd4 2. Qf6 Qb2 (2... Qxf6) 3. Qa6+ Qa2 4. Qf6+ Qb2 5. Qa6+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kf1, Pd2, Pa2] black: [Kh4, Ph3, Pd3] stipulation: + solution: | 1. Kf2 $1 (1. Kg1 $2 1... Kg3 2. a4 h2+ 3. Kh1 Kf2 4. a5 Ke2 5. a6 Kxd2 6. a7 Ke2 7. a8=Q d2 8. Qe4+ Kf2 9. Qd3 Ke1 10. Qe3+ Kf1 11. Qxd2) 1... Kg4 2. a4 h2 3. Kg2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kd5, Bh6, Pg7] black: [Kf7, Ph7, Pe7] stipulation: "#4" solution: | "1.g7-g8=Q + ! 1...Kf7*g8 2.Kd5-e6 zugzwang. 2...Kg8-h8 3.Ke6-f7 threat: 4.Bh6-g7 # 1...Kf7-f6 2.Qg8-e6 #" keywords: - Miniature comments: - also in The Philadelphia Times (no. 1498), 16 June 1895 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895-05-20 algebraic: white: [Ka1, Rg1, Sf2, Pd6] black: [Kh8, Rh2, Sb4, Pb7] stipulation: + solution: | 1. d7 Nc6 2. d8=Q+ Nxd8 3. Ng4 Rh5 4. Nf6 Ra5+ 5. Kb2 Rb5+ 6. Kc3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kd7, Sc1, Sa2, Pc7] black: [Kc5, Qe4, Sa3] stipulation: + solution: 1. Nb3+ Kb6 2. c8=N+ Kb5 3. Nd6+ Ka4 4. Nc5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Ka5, Qc3, Sd1] black: [Kd5, Qh1, Sa3, Pc4] stipulation: + solution: | "1. Qf6 Qe1+ (1... c3 2. Ne3+ Ke4 3. Qc6+) 2. Nc3+ Kc5 3. Qb6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kc4, Qg8, Sh1] black: [Ke4, Qa1, Sf7, Pe7] stipulation: + solution: | 1. Qg4+ Ke3 2. Qg3+ Ke4 (2... Kd2 3. Qf2+ Kc1 4. Qe1+ Kb2 5. Qd2+ Kb1 6. Kb3) 3. Nf2+ Kf5 4. Qg4+ Kf6 5. Ne4+ Ke5 6. Qg7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Ka5, Qc8, Sg3, Pf4] black: [Kd6, Qh7, Be3, Pe6, Pd4] stipulation: + solution: | 1. Ne4+ Qxe4 2. Qd8+ Kc5 3. Qb6+ Kc4 4. Qb4+ Kd3 (4... Kd5 5. Qb7+) 5. Qb1+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kb4, Qc1, Sc5, Pf5] black: [Ke5, Qc7, Rf6, Pb7] stipulation: + solution: | "1. Nd7+ Qxd7 2. Qe3+ Kd5 3. Qd3+ Kc6 4. Qc4+ Kb6 5. Qc5+ Ka6 6. Qa5# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kd3, Qh3, Sg4, Pa4] black: [Kd5, Qg8, Rf7, Pc6, Pb4] stipulation: + solution: | 1. Nf6+ Rxf6 2. Qd7+ Ke5 3. Qd4+ Kf5 4. Qe4+ Kg5 5. Qg2+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kf1, Ph2, Pf3, Pc6, Pa6] black: [Kh3, Bb6, Sa4, Ph4, Pf4] stipulation: "=" solution: | 1. a7 Bxa7 2. c7 Nb6 3. Kg1 Nc8+ 4. Kh1 Nd6 5. c8=Q+ Nxc8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) source-id: correction date: 1895-01-30 algebraic: white: [Kg4, Rf3, Pf2] black: [Kd4, Bh2, Pg2] stipulation: "=" solution: 1. Rf3-d3+ Kd4*d3 2. Kg4-f3 Pg2-g1=S {2....Pg2-g1=Q stalemate} 3. Kf3-g2 {draw} comments: - also in The Philadelphia Times (no. 1667), 21 March 1897 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kg3, Bb3, Se6, Pc5] black: [Kd7, Bh5, Pb4, Pa6] stipulation: + solution: | 1. c6+ (1. Nd4 $1) 1... Kxc6 2. Nf4 Be8 (2... Kb5 3. Nxh5 a5 4. Nf4 a4 5. Bf7 b3 6. Nd3) 3. Ba4+ Kc5 4. Bxe8 b3 (4... Kc4 5. Kf3 b3 6. Ke2 b2 7. Bg6 Kb3 8. Nd5) 5. Kf3 Kb4 6. Ke2 b2 7. Bg6 Kb3 8. Nd5 Ka2 9. Nc3+ Ka1 10. Kd2 a5 11. Kc2 a4 12. Nb1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kc7, Rb1, Sf4, Ph7] black: [Kf6, Re5, Bg7, Pf5, Pe4, Pa5] stipulation: + solution: | 1. Nh5+ Kg6 2. Nxg7 Kxg7 (2... Rc5+ $1 3. Kd6 Rc8) 3. Rb8 $3 3... Kxh7 4. Kd6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kg1, Bg3, Sb3, Pc2, Pb6] black: [Kd5, Qf7, Ph3, Pg6, Pg4] stipulation: + solution: | 1. b7 Qxb7 (1... Qf3 2. c4+) 2. c4+ Kxc4 (2... Ke4 $1 3. Nc5+ Kf3 4. Nxb7 Kxg3 5. Nd6 (5. c5 $4 5... h2+ 6. Kh1 Kh3) (5. Nc5 Kf3) 5... Kf4 6. c5 Ke5 7. Ne4 Kd5) 3. Na5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kg3, Bb3, Se6, Pc5] black: [Kb5, Bh5, Pd4, Pb4] stipulation: + solution: 1. c6 Kxc6 2. Nf4 Be8 3. Ba4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kc7, Rb1, Sf4, Ph7] black: [Kf6, Re5, Bg7, Pf5, Pe4, Pc5] stipulation: + solution: | 1. Nh5+ Kg6 2. Nxg7 Kxg7 3. Rb8 Kxh7 4. Kd6 e3 5. Kxe5 e2 6. Rb1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kg3, Ra1, Sa7, Pf7] black: [Ka5, Rf6, Pd6, Pb6, Pa6, Pa4] stipulation: + solution: 1. Rf1 Rxf1 2. Nc6+ Kb5 3. Nd4+ Kc4 4. Nf3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Ke2, Rg1, Sf2, Pd6] black: [Kh8, Rc3, Sb4] stipulation: + solution: | 1. d7 (1. Ne4 $2 1... Rc8 2. d7 Rf8) 1... Nc6 2. Ne4 (2. d8=Q+ $2 2... Nxd8 3. Ne4 Rc6) 2... Ra3 (2... Rc2+ 3. Kd3 Ra2) 3. d8=Q+ $1 3... Nxd8 4. Nf6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Ka1, Rg1, Sf2, Pd6] black: [Kh8, Rh2, Sb4, Pc3] stipulation: + solution: | 1. d7 (1. Ng4 $2 1... Ra2+) 1... Nc6 2. d8=Q+ $1 (2. Ng4 $2 2... Rd2 3. Nf6 Ne7 4. Kb1 Rb2+ 5. Kc1 Rb8 6. Kc2 Rd8 7. Kxc3 Nc6 8. Kc4 Nb8) 2... Nxd8 3. Ng4 Rh4 4. Nf6 Ra4+ 5. Kb1 Rb4+ 6. Kc2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kg5, Qb6, Se8] black: [Ke5, Qa8, Ph7, Pf5, Pb3] stipulation: + solution: | 1. Qf6+ Ke4 2. Qc3 $1 2... h6+ 3. Kh4 f4 (3... Kf4 4. Qg3+ Ke4 5. Qg2+) 4. Nd6+ Kd5 5. Qf3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kc5, Qf1, Sf8] black: [Ke5, Qa8, Sg6] stipulation: + solution: | 1. Nd7+ Ke6 2. Qh3+ Ke7 3. Qh7+ Ke6 4. Qxg6+ Kxd7 5. Qf7+ Kc8 6. Qe8+ Kb7 7. Qd7+ Kb8 (7... Ka6 8. Qb5+) 8. Kb6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kd5, Qa5, Sd2] black: [Kg5, Qg1, Sa7, Pg4] stipulation: + solution: | 1. Nf3+ gxf3 2. Qd8+ Kf4 3. Qb8+ Ke3 4. Qb6+ $1 4... Ke2 5. Qxg1 f2 6. Qg4+ Ke1 7. Qe4+ Kd2 8. Qf3 Ke1 9. Qe3+ Kf1 10. Ke4 Kg2 11. Qf3+ Kg1 12. Qg3+ Kh1 13. Qxf2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kd5, Qe2, Sh2] black: [Kf5, Qg1, Sb8, Pg4, Pd6] stipulation: + solution: | 1. Qe6+ Kf4 (1... Kg5 2. Nf3+ gxf3 3. Qg8+) 2. Qxd6+ Kg5 3. Nf3+ $1 3... gxf3 4. Qd8+ Kf4 5. Qc7+ Ke3 6. Qc5+ Ke2 7. Qxg1 f2 8. Qg2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Ke3, Qh3, Sg5, Pa4, Pa3] black: [Kc5, Qg8, Rf7, Pc6, Pb6] stipulation: + solution: | 1. Ne4+ Kd5 2. Nf6+ $1 2... Rxf6 3. Qd7+ Ke5 (3... Kc4 4. Qd3+) (3... Rd6 4. Qf5+ Kc4 5. Qc2+) 4. Qd4+ Kf5 5. Qf4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kb4, Qc1, Ba5, Sc5, Pf5] black: [Ke5, Qd6, Rf6, Pb7] stipulation: + solution: | "1. Bc7 $1 1... Qxc7 2. Nd7+ $1 2... Qxd7 3. Qe3+ Kd5 (3... Kxf5 4. Qh3+) (3... Kd6 4. Qc5#) 4. Qd3+ Kc6 5. Qc4+ Kb6 6. Qc5+ Ka6 7. Qa5# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kb4, Pa2] black: [Kh4, Bd1, Pb2] stipulation: "=" solution: 1. Ka3 b1=N+ 2. Kb2 Nd2 3. Kc1 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896-02-06 algebraic: white: [Kg4, Rd5, Ph2] black: [Kf8, Bd2, Pg2] stipulation: "=" solution: | 1. Rf5+ Ke7 2. Re5+ Kf6 3. Re1 Bxe1 4. Kh3 1/2-1/2 comments: - Check also 392371 - Этюд посвящен В. Стейницу и показан ему автором во время состоявшегося в Петербурге в 1895-1896 гг. матча-турнира с участием Стейница, Ласкера, Пильсбери и Чигорина. Стейниц очень оживился,увидев посвященный ему этюд, и обратил внимание, что в нем создаются не две патовые ситуации, как считал Троицкий, а три. Для того времени это было рекордом. Ф. Бондаренко. Становление шахматного этюда. --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kh4, Rd5, Ph2] black: [Kf8, Bd2, Pg2] stipulation: "=" solution: | 1. Rf5+ Ke7 (1... Kg7 2. Kh3 g1=Q 3. Rg5+ Bxg5) 2. Re5+ Kf6 3. Re1 Bxe1+ 4. Kh3 g1=N+ (4... g1=Q) 5. Kg2 Ne2 6. Kf1 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Ka3, Rh1, Rb7, Pa2] black: [Kd6, Rc6, Bd1, Pc2] stipulation: "=" solution: | 1. Rh6+ Kd5 2. Rxc6 Kxc6 3. Rb1 cxb1=N+ 4. Kb2 Nd2 5. Kc1 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Ka3, Rh4, Ra7, Pe7, Pa2] black: [Ke8, Rc6, Bh5, Pc2, Pb7] stipulation: "=" solution: | 1. Rh1 Bd1 2. Rh8+ Kxe7 3. Rxb7+ Kd6 4. Rh6+ Kd5 5. Rxc6 Kxc6 6. Rb1 cxb1=Q ( 6... cxb1=R) (6... cxb1=N+ 7. Kb2 Nd2 8. Kc1) 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895-10-17 algebraic: white: [Kg2, Bb5, Sc5, Ph3, Pf7] black: [Kh5, Qh8, Bb8, Pg7] stipulation: "=" solution: | 1. Nd7 Bd6 2. f8=Q Bxf8 3. Ne5 Qg8 4. Bc4 $1 4... Qh7 5. Bd3 $1 5... Qh6 6. Be2+ Kh4 7. Nf3+ Kh5 8. Ne5+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Kg5, Qh6, Se8] black: [Ke5, Qa8, Ph7, Pf5] stipulation: + solution: | "1. Qf6+ (1. Qg7+ $1 1... Ke4 (1... Ke6 2. Nc7+) 2. Qc3 $1 2... h6+ 3. Kh4) 1... Ke4 2. Qc3 $1 2... h6+ 3. Kh4 Qb7 (3... f4 4. Nd6+ Kd5 5. Qf3+) 4. Nf6+ Kf4 5. Qg3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895 algebraic: white: [Ka5, Qa8, Sc3, Pf4] black: [Kc5, Qh7, Be3, Pe6, Pd4] stipulation: + solution: | 1. Qc8+ Kd6 2. Ne4+ (2. Qa6+ $1 2... Kc5 3. Qb5+ Kd6 4. Qb6+ Ke7 5. Qb7+) 2... Qxe4 3. Qd8+ Kc5 4. Qb6+ Kc4 5. Qb4+ Kd3 (5... Kd5 6. Qb7+) 6. Qb1+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1895 algebraic: white: [Kh8, Se8, Sa2, Pf4] black: [Kh4, Sf1] stipulation: + solution: | 1. f5 $1 1... Kg5 2. f6 Kg6 3. Kg8 Ne3 4. f7 Ng4 5. f8=N+ $1 (5. f8=Q $2 5... Nh6+ 6. Kh8 Nf7+) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 456 date: 1896 algebraic: white: [Kh4, Be3, Se4, Pc5] black: [Kh8, Bf7, Pd6, Pc7, Pb6, Pa7] stipulation: + solution: | "1. cxd6 cxd6 2. Bh6 a5 3. Nf6 a4 4. Kg5 a3 5. Bf8 a2 6. Kh6 a1=Q 7. Bg7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 468 date: 1896 algebraic: white: [Kg4, Ra8, Pa7] black: [Kg2, Ra1] stipulation: + solution: | 1. Kf4 Kf2 2. Ke4 Ke2 (2... Ra4+ 3. Kd3 Ra3+ 4. Kc2 Ra2+ 5. Kb3 Ra1 6. Rf8+) 3. Kd4 Kd2 4. Kc5 Kc3 (4... Rc1+ 5. Kb4 Rb1+ 6. Ka3 Ra1+ 7. Kb2 Ra6 8. Rd8+) 5. Rc8 $1 5... Rxa7 6. Kb6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 468 date: 1896 algebraic: white: [Kh4, Ra8, Pa6] black: [Kh2, Rg2] stipulation: + solution: | 1. a7 Ra2 2. Kg4 Kg2 3. Kf4 Kf2 4. Ke4 Ke2 5. Kd4 Kd2 6. Kc5 $1 6... Kc1 $1 ( 6... Kc2 7. Rc8 $1 7... Rxa7 8. Kb6+) 7. Kb6 Rb2+ (7... Kb1 8. Rb8) 8. Kc6 Ra2 (8... Rc2+ 9. Kd5 Rd2+ 10. Ke5) 9. Rc8 Rxa7 10. Kb6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: La Stratégie source-id: 221 date: 1896 algebraic: white: [Kf2, Qb8, Sd6, Pe2] black: [Kf4, Qc6, Sa4, Pd4, Pc5, Pa5] stipulation: + solution: | 1. Qh8 Kg5 (1... Qd5 2. Qg7 Qg5 3. Qf7+ Kg4 4. Qf3+ Kh4 5. Nf5+) (1... Qd7 2. Qf6+ Kg4 3. Qg6+ Kh4 4. Nf5+) 2. Qg7+ Kh4 3. Qh7+ Kg5 4. Nf7+ Kf4 5. Qh4+ Kf5 6. Qg5+ Ke6 7. Qg6+ Kd5 8. Qg2+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: La Stratégie source-id: 245 date: 1896 algebraic: white: [Kd4, Qd3, Sa5] black: [Kd8, Qc8, Ra1, Bd1, Pb7, Pa4] stipulation: "=" solution: | 1. Nxb7+ Qxb7 2. Kc3+ Kc8 3. Qc4+ Kb8 4. Qg8+ Qc8+ 5. Qxc8+ Kxc8 6. Kb2 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kh2, Bb8, Sc1, Pf4] black: [Kb4, Sc3, Pe7] stipulation: + solution: 1. Bd6+ exd6 2. Na2+ Nxa2 3. f5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kf5, Bd1, Sd2] black: [Kh1, Bg1, Ph4] stipulation: + solution: | "1. Bf3+ Kh2 2. Nf1+ Kh3 3. Bh1 Bh2 4. Ke4 Bd6 5. Kf3 Be5 6. Bg2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kf2, Rb2, Sc1, Pg6, Pf5] black: [Kd8, Rg4, Sb4, Pe6] stipulation: + solution: | 1. Rxb4 Rxb4 2. Nd3 Rb5 (2... Rg4 3. Ne5 Rg5 4. Nf7+) 3. g7 Rxf5+ 4. Nf4 Rxf4+ 5. Kg3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kh8, Qf1, Sa3, Pe2] black: [Kd4, Qb3, Sc8, Ph5, Pc5] stipulation: + solution: | 1. Qf6+ $1 1... Ke4 2. Nb1 Qb4 (2... Qb6 3. Nc3+ Ke3 4. Nd5+) (2... Qb8 3. Qf3+ Kd4 4. Qd3+ Ke5 5. Qg3+) (2... Qg3 3. Nd2+ Ke3 4. Qc3+) 3. Nc3+ Ke3 4. Nd5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kh7, Pf2, Pb7, Pa6] black: [Kb8, Sg4, Pg5, Pf6] stipulation: "=" solution: | 1. f3 Ne5 2. Kg7 Nxf3 3. Kxf6 g4 4. Kf5 g3 5. Kg4 g2 6. Kh3 g1=Q 7. a7+ Kxb7 8. a8=Q+ Kxa8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896-12-21 algebraic: white: [Kb5, Pg6, Pc5] black: [Kg7, Bd1, Sd8] stipulation: "=" solution: | 1. c6 Bg4 (1... Ne6 2. Kb6 Bg4 3. c7 Nd4 4. Kb7 Nb5 5. c8=N) 2. c7 Nb7 3. c8=N Bxc8 4. Kb6 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kc4, Rg7, Pe4, Pb5] black: [Ka2, Rg1, Sc8, Pg2] stipulation: "=" solution: | 1. b6 Nxb6+ (1... Rc1+ 2. Kd3 g1=Q 3. Rxg1 Rxg1 4. b7) 2. Kd3 Nc4 (2... Rd1+ 3. Kc2) 3. Kxc4 Rc1+ 4. Kd5 g1=Q 5. Rxg1 Rxg1 6. e5 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kb1, Rc2, Sd7, Pf2] black: [Kg6, Rb3, Sh3, Pc7, Pc3, Pb2] stipulation: "=" solution: | 1. Rxc3 Rxc3 2. Kxb2 Rc6 (2... Rd3 3. Ne5+) (2... Rf3 3. Ne5+) (2... Rc4 3. Ne5+) 3. Ne5+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kd4, Qd3, Sa5, Pb6] black: [Kd8, Qc8, Ra1, Bd1, Pb7, Pa4] stipulation: "=" solution: 1. Nxb7+ Qxb7 2. Kc3+ Qd7 3. Qxd7+ Kxd7 4. Kb2 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kh1, Sb1, Ph4, Pd5] black: [Kc4, Sb5, Pe7] stipulation: + solution: | 1. Na3+ $1 1... Nxa3 2. d6 $1 2... exd6 3. h5 Kd5 (3... d5 $1 4. h6 d4 5. h7 d3 6. h8=Q d2) 4. h6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kg5, Bf6, Pe5] black: [Ke1, Bb4, Pc5] stipulation: + solution: | 1. e6 (1. Be7 $2 1... Ba5 $1) 1... c4 2. Bc3+ Bxc3 3. e7 Bf6+ 4. Kxf6 c3 5. e8=Q+ Kd1 (5... Kd2 $1 6. Qd7+ 6... Kc1 $1 7. Ke5 c2 8. Qb5 (8. Ke4 Kb1) 8... Kd1 9. Qb3 Kd2 10. Qa2 10... Kc3 $1) 6. Qh5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kd1, Ph5, Ph2, Pe6, Pb5] black: [Kb7, Rb2, Pg7, Pd6, Pa5] stipulation: + solution: | 1. h6 $1 1... gxh6 2. e7 Rb1+ 3. Kd2 Rb2+ 4. Kd3 Rb3+ 5. Kd4 Rb4+ 6. Kd5 Rxb5+ 7. Kxd6 Rb6+ 8. Kd5 (8. Kd7 $2 8... Rb1) 8... Rb5+ 9. Kd4 Rb4+ 10. Kd3 Rb3+ 11. Ke2 Rb2+ 12. Kf3 Rb3+ 13. Kf4 Rb4+ 14. Kf5 Rb5+ 15. Kf6 Rb6+ 16. Kf7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kd1, Ph5, Ph3, Pe6, Pb5] black: [Kb7, Rb2, Pg7, Pd6, Pa5] stipulation: + solution: | 1. h6 $1 (1. e7 $2 1... Rb1+ 2. Kd2 Rb2+ 3. Kd3 Rb3+ 4. Kd4 Rb4+ 5. Kd5 Rxb5+ 6. Kxd6 Rb6+ 7. Kd7 7... Rb1 $3 8. e8=Q Rd1+) 1... gxh6 (1... Rb1+ 2. Kc2 Rxb5 3. hxg7 Rc5+ 4. Kb3 Rc8 5. h4 Rg8 (5... Kc7 6. h5 Rg8 7. h6) 6. e7 Kc7 7. h5 Kd7 8. h6 Kxe7 9. h7 Kf7 10. h8=Q) 2. e7 Rb1+ 3. Kd2 Rb2+ 4. Kd3 Rb3+ 5. Kd4 Rb4+ 6. Kd5 Rxb5+ 7. Kxd6 Rb6+ 8. Kd5 (8. Kd7 $2 8... Rb1) 8... Rb5+ 9. Kd4 (9. Ke4 Rb1) 9... Rb4+ 10. Kd3 Rb3+ 11. Ke2 Rb2+ 12. Kf3 Rb3+ 13. Kf4 Rb4+ 14. Kf5 Rb5+ 15. Kf6 Rb6+ 16. Kf7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kg4, Qb8, Sd6, Pa4] black: [Kf6, Qa5, Sg1, Pe4, Pd5, Pa6] stipulation: + solution: | "1. Qf8+ Ke6 (1... Kg6 2. Qf7+ Kh6 3. Nf5#) (1... Ke5 2. Nc4+) 2. Nb7 $1 2... Qd2 (2... Qb6 3. Qh6+) (2... Qc7 3. Nc5+) (2... Qe1 3. Nc5+ Ke5 4. Nd3+ $3 4... exd3 5. Qe8+) 3. Nc5+ Ke5 4. Qh8+ $1 4... Kd6 5. Nxe4+ $1 5... dxe4 6. Qd8+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kb5, Pg6, Pc5] black: [Kf6, Bd1, Sd8] stipulation: "=" solution: | 1. c6 (1. g7 $2 1... Kxg7 2. c6 Bg4 3. c7 Nf7 4. c8=Q Nd6+) 1... Bg4 (1... Ne6 2. Kb6 Ba4 3. c7 Bd7 4. Kb7 Nc5+ 5. Kb8 Na6+ 6. Kb7 Nc5+ 7. Kb8) 2. c7 (2. Kb6 $2 2... Kxg6 3. c7 Nf7) 2... Nb7 3. g7 (3. c8=N $2 3... Bxc8 4. Kb6 Nd6 5. Kc7 Ke7 6. g7 Be6) 3... Kxg7 4. c8=N Bxc8 5. Kb6 Nd6 6. Kc7 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kc3, Ra6, Pb5, Pb2] black: [Kc5, Ra1, Bd1, Pb6, Pa4] stipulation: "=" solution: 1. b4+ Kxb5 2. Rxb6+ $1 2... Kxb6 3. Kb2 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kb2, Qf8, Sh6, Pd5] black: [Kd4, Qd7, Sc7, Pb5] stipulation: + solution: | 1. Ng4 Qe8 (1... Qh7 2. Qb4+ Kd3 3. Qc3+ Ke2 4. Qe3+) (1... Qxd5 2. Qf2+ Kd3 3. Qc2+ Kd4 4. Qc3+) (1... Nxd5 2. Qf2+ 2... Ke4 $1) (1... Na6 2. Qf2+) (1... Ne8 $1 2. Qf2+ (2. Qb4+ Kxd5 3. Qd2+ Ke6) 2... Kxd5 3. Ne3+ Ke6) 2. Qf2+ Kd3 3. Qc2+ Kd4 4. Qc3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kg1, Sb1, Ph4, Pd5] black: [Kc4, Sb5, Pe7] stipulation: + solution: 1. Na3+ $3 1... Nxa3 2. d6 $1 2... exd6 3. h5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Ke2, Sb1, Ph6, Pf6, Pe5] black: [Kc8, Ra4, Ph7, Pd6, Pb7] stipulation: + solution: 1. Nc3 Ra5 2. f7 Rxe5+ 3. Ne4 $1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kg4, Qb8, Sd6, Pa4] black: [Kf6, Qa5, Pe4, Pd5, Pa7] stipulation: + solution: | 1. Qf8+ Ke6 (1... Ke5 2. Nc4+ dxc4 3. Qf5+) 2. Nb7 Qe1 3. Nc5+ Ke5 4. Nd3+ exd3 5. Qe7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kc1, Qf8, Sh6, Pd5, Pb6] black: [Kd4, Qd7, Bb7, Pb5] stipulation: + solution: | 1. Ng4 Qxd5 (1... Qh7 2. Qb4+) (1... Qc8+ 2. Qxc8 Bxc8 3. d6) (1... Kc3 2. Qa3+ Kd4 3. Qe3+) 2. Qf2+ Kc3 3. Qb2+ Kd3 4. Qd2+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kb3, Qa4, Bh4, Sb1, Pa5] black: [Kc1, Qe3, Rc5, Pc3] stipulation: + solution: | 1. Qa3+ Kd1 2. Qxc5 $1 2... Qxc5 3. Nxc3+ Kc1 (3... Kd2 4. Ne4+) 4. Bg3 $1 4... Qf5 5. Bf4+ Qxf4 6. Ne2+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kh7, Pf2, Pc7, Pb6] black: [Kc8, Sg4, Pg5, Pf6] stipulation: "=" solution: | 1. f3 Ne5 2. Kg7 Nxf3 3. Kxf6 g4 4. Kf5 g3 5. Kg4 g2 6. Kh3 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895-09-30 algebraic: white: [Kg1, Rd3, Sd5, Pc2] black: [Kb8, Rg3, Sa3, Pg2, Pf7, Pf3] stipulation: "=" solution: | 1. Rb3+ $1 (1. Rd1 $2 1... Rh3 2. Kf2 Rh1 3. Rg1 (3. Ne3 Nxc2) 3... Nxc2) 1... Kc8 (1... Ka7 2. Rxa3+ Kb7 3. Ra1 Rh3 4. Kf2 Rh1 5. Rg1 Kc6 6. Nf4 Kc5 7. Nd3+ Kc4 8. Ne1 Kc3 9. Nxf3) 2. Rxf3 $1 2... Rxf3 3. Kxg2 Rf5 4. Ne7+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kg4, Qb8, Sd6, Pa4] black: [Kf6, Qa5, Sg1, Pe4, Pd5] stipulation: + solution: | 1. Qf8+ Ke6 (1... Ke5 2. Nc4+ dxc4 3. Qf5+) 2. Nb7 (2. Nf5 $1 2... Kd7 3. Qd6+ Kc8 4. Ne7+ Kb7 5. Qc6+ Ka7 6. Nc8+ Kb8 7. Nd6 $1 7... Qc7 8. Qe8+ Ka7 9. Nb5+) 2... Qd2 (2... Qe1 3. Nc5+ Ke5 4. Nd3+ exd3 5. Qe8+) (2... Qc3 3. Nc5+ Ke5 4. Qg7+) (2... Qc7 3. Nc5+ Ke5 4. Qf4+) (2... Qa7 3. Nd8+) 3. Nc5+ Ke5 4. Qh8+ Kd6 5. Nxe4+ dxe4 6. Qd8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1896 algebraic: white: [Kg4, Qb8, Sd6, Pa4] black: [Kf6, Qa5, Sa1, Pe4, Pd5] stipulation: + solution: | 1. Qf8+ 1... Ke6 $1 2. Nb7 (2. Nf5 $1 2... Qc7 3. Ng7+ Kd7 4. Qe8+ Kd6 5. Qg6+ Ke7 6. Qe6+ Kf8 7. Qf6+ Kg8 8. Nf5 Kh7 9. Ne7 Qd7+ 10. Kg5 $1) 2... Qd2 (2... Qe1 3. Nc5+ Ke5 4. Nd3+ exd3 5. Qe7+) 3. Nc5+ Ke5 4. Qh8+ Kd6 5. Nxe4+ dxe4 6. Qd8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1896 algebraic: white: [Kg7, Sb7, Sa4, Pd5] black: [Kc7, Se7, Sb8] stipulation: + solution: | "1. d6+ Kd7 2. Nac5+ Ke8 3. d7+ Nxd7 4. Nd6+ Kd8 5. Ne6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1896 algebraic: white: [Kh7, Sd3, Sb7, Pd5] black: [Kc7, Se7, Sb8] stipulation: + solution: | "1. d6+ Kd7 2. Ndc5+ Ke8 3. d7+ Nxd7 4. Nd6+ Kd8 (4... Kf8 5. Ne6#) 5. Ne6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1896 algebraic: white: [Kh7, Sb7, Sa4, Pd5] black: [Kc7, Se7, Sb8, Pc6] stipulation: + solution: | "1. d6+ Kd7 (1... Kc8 2. Nb6+ Kxb7 3. dxe7) 2. Nac5+ Ke8 3. d7+ Nxd7 4. Nd6+ Kd8 (4... Kf8 5. Ne6#) 5. Ne6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1896 algebraic: white: [Kh7, Sb7, Sa4, Pd5] black: [Kc7, Se7, Sb8] stipulation: + solution: | "1. d6+ Kd7 (1... Kc8 2. Nb6+ Kxb7 3. dxe7) (1... Kc6 $1) 2. Nac5+ Ke8 3. d7+ Nxd7 4. Nd6+ Kd8 5. Ne6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал source-id: 32 date: 1896 algebraic: white: [Kc8, Bb3, Pg6, Pc4] black: [Kh3, Rb2, Pf6, Pd6] stipulation: + solution: | 1. c5 dxc5 2. Bd5 Re2 3. g7 Re8+ 4. Kd7 Rb8 5. Kc7 Re8 6. Bf7 Ra8 7. Be6+ Kh4 8. Bc8 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал source-id: 32 date: 1896 algebraic: white: [Kb5, Bd5, Sh1, Pg6] black: [Kh3, Rf1, Ph4, Pd4] stipulation: + solution: | 1. Nf2+ Rxf2 2. g7 Rb2+ 3. Kc6 Rb8 4. Kc7 Re8 5. Bf7 Ra8 6. Be6+ Kg3 7. Bc8 Ra7+ 8. Bb7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал source-id: 32 date: 1896 algebraic: white: [Kc8, Bb3, Ph2, Pg6, Pc4] black: [Kh3, Rb2, Pf6, Pd6] stipulation: + solution: | 1. c5 $1 1... dxc5 (1... Rxb3 2. cxd6 Rc3+ 3. Kb7 Rb3+ 4. Kc6 Rb8 (4... Rc3+ 5. Kd5 Rc8 6. Ke6 Rd8 7. g7) 5. d7 f5 6. Kc7 Rg8 7. d8=Q) (1... Rg2 2. cxd6 Rxg6 3. d7) 2. Bd5 Re2 3. g7 Re8+ 4. Kd7 Rb8 5. Kc7 Re8 6. Bf7 Ra8 (6... Re7+ 7. Kd6 Rxf7 8. g8=Q) 7. Be6+ Kh4 8. Bc8 Ra7+ 9. Bb7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал source-id: 33 date: 1896 algebraic: white: [Kf2, Bh5, Sd8, Pe3, Pa5, Pa3] black: [Ke4, Qb5, Pe5, Pb3] stipulation: + solution: | 1. Nb7 $1 1... b2 (1... Kd5 2. Bf7+) (1... Kd3 $1 2. Be2+ Kd2 3. Bxb5 b2) (1... Qxb7 $1 2. Bf3+ 2... Kf5 $1 3. Bxb7 b2) 2. Nd6+ Kd3 3. Nxb5 b1=Q 4. Bg6+ e4 5. Bxe4+ Kxe4 6. Nc3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал source-id: 34 date: 1896 algebraic: white: [Kh1, Bb5, Sg6, Sc1, Ph2] black: [Kh3, Qh7, Ph4, Pf6, Pd5] stipulation: + solution: | "1. Bd3 Qd7 (1... Kg4 2. Ne5+) (1... Qh5 2. Nf4+) (1... d4 2. Bf5#) 2. Ne7 $1 ( 2. Bf1+ $2 2... Kg4 3. Bh3+ Kxh3 4. Nd3 4... Qf5 $1 (4... Kg4 $2 5. Nde5+ fxe5 6. Nxe5+)) 2... Kg4 (2... Qxe7 3. Bf5#) 3. Bf5+ Qxf5 4. Nxf5 Kxf5 5. Kg2 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал source-id: 35 date: 1896 algebraic: white: [Kb7, Pg2, Pc5, Pb5] black: [Kh5, Rh4, Sf6] stipulation: "=" solution: | 1. g4+ Rxg4 2. c6 Rb4 3. c7 Ne8 4. b6 Nd6+ 5. Ka8 Rxb6 6. c8=Q Nxc8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал source-id: 35 date: 1896 algebraic: white: [Kb7, Pg4, Pc6, Pb4] black: [Kh6, Ra1, Sf6] stipulation: "=" solution: | 1. g5+ Kxg5 2. b5 Rb1 3. c7 Ne8 4. b6 Nd6+ 5. Ka8 Rxb6 6. c8=Q Nxc8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал source-id: 35 date: 1896 algebraic: white: [Kb7, Pg4, Pc5, Pb5] black: [Kh6, Ra1, Sf6] stipulation: "=" solution: | 1. g5+ Kxg5 2. c6 Rb1 (2... Nd5 $1 3. c7 (3. b6 Rb1 4. c7 Nxb6) 3... Ne7 $1 4. b6 Rb1 5. Ka8 (5. Ka7 Nc8+ 6. Kb7 Nxb6) (5. Ka6 5... Nc8 $1 6. b7 Rb6+ 7. Ka5 Rxb7) 5... Nd5 $1 6. b7 Nxc7+ 7. Ka7 Ra1+ 8. Kb8 Na6+) 3. c7 Ne8 4. b6 Nd6+ 5. Ka8 Rxb6 6. c8=Q Nxc8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал source-id: 37 date: 1896 algebraic: white: [Kh2, Qb7, Pd6] black: [Kg8, Be6, Se3, Ph4, Pg6, Pe2, Pd7] stipulation: "=" solution: | 1. Qa8+ (1. Qe4 $2 1... Ng4+ 2. Kg1 h3) 1... Kh7 2. Qe4 Ng4+ (2... e1=Q 3. Qxg6+ Kxg6) 3. Kg2 $1 (3. Kh3 $2 3... Ne5+ $1 (3... Nf2+ $2 4. Kxh4 Nxe4)) 3... h3+ (3... Bd5 4. Kg1 Bxe4) 4. Kxh3 Ne3+ (4... Nf2+ 5. Kh4 Nxe4) 5. Kh2 e1=Q 6. Qxg6+ Kxg6 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал source-id: 6-8/38 date: 1896-06 algebraic: white: [Ke3, Bh3, Ph5] black: [Ke8] stipulation: + solution: | 1.Bh3-e6 ! Ke8-e7 2.h5-h6 Ke7-f6 3.Be6-f5 ! Kf6-f7 4.Bf5-h7 Kf7-f6 5.Ke3-f4 Kf6-f7 6.Kf4-f5 Kf7-f8 7.Kf5-f6 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал source-id: 40 date: 1896 algebraic: white: [Ke2, Sc3, Pf3, Pa6] black: [Kc6, Bf5, Ph4, Pf4] stipulation: + solution: | 1. Nd5 $1 1... h3 (1... Be6 2. a7 Kb7 3. a8=Q+ Kxa8 4. Nc7+) (1... Bh3 2. Kf2) 2. Kf2 Bb1 (2... h2 $1 3. Kg2 Bh3+ 4. Kxh2 Bf1 5. Kg1 Be2 6. Kg2 Bd1 7. Kf2 7... Bb3 $1 8. Nxf4 Bc4) 3. Kg1 Bh7 4. Kh2 Bb1 5. Kxh3 Bh7 6. Kh4 Bb1 7. Kh5 Bh7 8. Kh6 Bb1 9. Kg7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал source-id: 40 date: 1896 algebraic: white: [Kf2, Sc2, Ph2, Pa5] black: [Kc5, Bg7, Ph3, Pf6] stipulation: + solution: | 1. Nd4 Bh6 (1... Bh8 2. Nf5 Kb5 3. Kg3 Kxa5 4. Kxh3 Kb5 5. Kg4 Kc5 6. Kh5 Kd5 7. Kg6 Ke5 8. h4 Ke6 9. h5 Ke5 10. h6) 2. Kf3 Bg5 3. Ne6+ Kb5 4. Nxg5 fxg5 5. Kg3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал source-id: 42 date: 1896 algebraic: white: [Ke6, Pb6, Pb2] black: [Kd4, Pg3, Pc3] stipulation: + solution: | 1. b7 c2 (1... g2 2. b8=Q g1=Q 3. Qb6+) 2. b8=Q c1=Q 3. Qd8+ Ke4 4. Qd5+ Kf4 5. Qf5+ Ke3 6. Qg5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал source-id: 44 date: 1896 algebraic: white: [Ka4, Qf1, Bf3, Pf7] black: [Kg6, Qc5, Bh8, Pb6] stipulation: + solution: | 1. f8=N+ (1. f8=Q $2 1... Qa5+ 2. Kb3 Qc3+) (1. Bh5+ $2 1... Qxh5 2. f8=Q Qa5+) (1. Be4+ $2 1... Kg7) 1... Qxf8 (1... Kf7 2. Bd5+) (1... Kf5 2. Bg2+) 2. Bh5+ Kg7 3. Qg2+ Kf6 4. Qf3+ Kg7 5. Qg4+ Kf6 6. Qf4+ Ke7 (6... Kg7 7. Qg5+) 7. Qb4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал source-id: 45 date: 1896 algebraic: white: [Kg7, Se5, Sb6, Pd5] black: [Ke8, Sh7, Sa3] stipulation: + solution: | "1. d6 1... Nf8 $1 2. Nd5 $1 2... Nd7 (2... Nb5 3. d7+ Nxd7 4. Nc6) (2... Ne6+ 3. Kf6 Nf8 4. Nc7+ Kd8 5. Ne6+) 3. Nc6 Nb5 4. Kg8 Nxd6 (4... Nc5 5. Nf6#) 5. Nc7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал source-id: 46 date: 1896 algebraic: white: [Ka8, Sg6, Pc6] black: [Ke6, Re3, Sb3] stipulation: "=" solution: 1. c7 Kd7 2. Ne7 Rxe7 3. c8=Q+ Kxc8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал source-id: 46 date: 1896 algebraic: white: [Ka8, Sg6, Pc6] black: [Ke6, Re3, Bc3] stipulation: "=" solution: 1. c7 Kd7 2. Ne7 Rxe7 3. c8=Q+ Kxc8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1896 algebraic: white: [Kh2, Bg4, Ph5] black: [Ke8, Pg5] stipulation: + solution: | 1. Be6 $1 1... Ke7 $1 (1... Kf8 2. h6) 2. h6 Kf6 3. Bf5 $1 3... Kf7 4. Bh7 Kf6 5. Kg3 Kf7 6. Kg4 Kf6 7. Kh5 $1 7... Kf7 8. Kxg5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1896 algebraic: white: [Ke6, Qa6, Sh1] black: [Ke4, Qh8] stipulation: + solution: | "1. Qe2+ Kf4 2. Qf2+ Ke4 (2... Kg5 3. Qg3+ Kh6 4. Qh4+ Kg7 5. Qg5+ Kf8 (5... Kh7 6. Kf7) 6. Qe7+ Kg8 7. Qf7#) 3. Ng3+ Kd3 4. Qe2+ Kc3 5. Ne4+ Kd4 6. Qb2+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: La Stratégie source-id: 253 date: 1897 algebraic: white: [Kh2, Ra2, Sa6] black: [Ke4, Ph4, Pf2, Pe3] stipulation: "=" solution: | 1. Nc5+ Kf3 2. Rxf2+ exf2 3. Ne4 Kxe4 4. Kg2 Ke3 5. Kf1 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: La Stratégie source-id: 253 date: 1897 algebraic: white: [Kh2, Rb2, Sa6] black: [Ke4, Ph4, Pf2, Pe3] stipulation: "=" solution: | 1. Nc5+ (1. Rxf2 $2 1... exf2 2. Kg2 Ke3 3. Kf1 h3 4. Nb4 h2 5. Nc2+ (5. Nd5+ Kf3) 5... Kf4) 1... Kf3 2. Rxf2+ exf2 3. Ne4 Kxe4 4. Kg2 Ke3 5. Kf1 h3 (5... Kf3) 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1897 algebraic: white: [Kc4, Bf8, Sd6] black: [Kb1, Pb6, Pa4, Pa3] stipulation: + solution: | "1. Nb5 a2 2. Na3+ Kb2 3. Bg7+ Kxa3 4. Ba1 b5+ 5. Kc3 b4+ 6. Kc2 b3+ 7. Kc3 b2 8. Bxb2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1897 algebraic: white: [Kg6, Bg4, Se1, Pa7] black: [Kg8, Sb7, Sa8, Pg7, Pe2] stipulation: + solution: 1. Bf3 Nd6 2. Bxa8 Nc8 3. Bd5+ Kh8 4. a8=B 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1897 algebraic: white: [Ke3, Ba3, Sg3, Pg6] black: [Kh8, Bd5, Ph6, Pf7, Pf6] stipulation: + solution: | "1. g7+ Kxg7 2. Nh5+ Kh8 3. Nxf6 Bb3 4. Bf8 Bc4 5. Bxh6 Bb3 6. Kd4 Ba2 7. Kc5 Bb3 8. Kd6 Bc4 9. Ke7 Bb3 10. Kf8 Bc4 11. Bg7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1897 algebraic: white: [Kb5, Bd8, Se4, Pd7] black: [Ka3, Bb3, Sh7, Pc5] stipulation: + solution: | 1. Bg5 Ba4+ 2. Kc4 Bxd7 3. Bc1+ Ka4 (3... Ka2 4. Nc3+ Ka1 5. Kb3) 4. Nxc5+ Ka5 5. Nxd7 Ka6 6. Kd5 Kb7 7. Kd6 Kc8 8. Ke7 Kc7 9. Ne5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1897 algebraic: white: [Kc2, Bb8, Se4, Ph2, Pa2] black: [Kb4, Rf5, Sh7, Pf4, Pa5] stipulation: + solution: | "1. a3+ Kxa3 (1... Kc4 2. Nd6+ Kd4 3. Nxf5+ Ke4 4. Nd6+ Kf3 5. Nc4 Kg4 6. h4) 2. Bd6+ Ka2 3. Nc3+ Ka1 4. Ba3 Rb5 5. Nxb5 Nf6 6. Bb2+ Ka2 7. Nc3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1897-05-24 algebraic: white: [Kd1, Qh1, Be8, Sg6] black: [Kh3, Rb4, Bh2, Pg4, Pg3, Pf5] stipulation: + solution: | "1. Bc6 Rb1+ 2. Ke2 Rxh1 3. Bg2+ Kxg2 4. Nf4+ Kg1 5. Ke1 g2 6. Ne2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1897 algebraic: white: [Kb3, Qa2, Pg5, Pd2] black: [Ke5, Qh7, Pf4, Pe6, Pc6] stipulation: + solution: | 1. d4+ $1 1... Kxd4 2. Qf2+ Kd5 3. Qd2+ Kc5 4. Qb4+ Kd5 5. Qc4+ Kd6 6. Qd4+ Kc7 7. Qa7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1897 algebraic: white: [Kf2, Qa5, Rh2, Pd5, Pd2] black: [Kf4, Qb8, Rd6, Pg5, Pb7] stipulation: + solution: | 1. Rh8 $1 1... Qxh8 2. Qa4+ Kf5 3. Qc2+ Kf4 4. Qc4+ Kf5 5. Qd3+ Kg4 (5... Kf4 6. Qf3+ Ke5 7. Qc3+) 6. Qf3+ Kh4 7. Qh1+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1897 algebraic: white: [Kh3, Se1, Pg2, Pd6] black: [Kh7, Sg8, Pg6, Pg3, Pa2] stipulation: "=" solution: | 1. d7 (1. Nc2 $1) 1... a1=Q 2. Nf3 Qa5 3. d8=Q Qxd8 4. Ng5+ Qxg5 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1897 algebraic: white: [Kc4, Bh4, Sf5] black: [Kc2, Pb7, Pa4, Pa3] stipulation: + solution: | "1.Sf5-e3+ ? Kc2-b1 1.Sf5-d4+ Kc2-b1 ! 2.Sd4-b5 ! a3-a2 3.Sb5-a3+ ! Kb1-b2 4.Bh4-f6+ ! Kb2*a3 5.Bf6-a1 ! b7-b5+ 6.Kc4-c3 b5-b4+ 7.Kc3-c4 {or Kc2} b4-b3 8.Kc4-c3 b3-b2 9.Ba1*b2# 1...Kc2-b2 2.Bh4-f6" --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1897-05-24 algebraic: white: [Ke1, Qh1, Be8, Sg6] black: [Kh3, Rb4, Bh2, Pg4, Pg3, Pf5] stipulation: + solution: | "1. Bc6 Rb1+ 2. Ke2 Rxh1 3. Bg2+ $1 3... Kxg2 4. Nf4+ Kg1 5. Ke1 g2 6. Ne2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1897 algebraic: white: [Kb3, Qa2, Pg5, Pg2, Pd2] black: [Ke5, Qh7, Pf4, Pe6, Pc6] stipulation: + solution: | 1. d4+ $1 (1. Qa1+ 1... Kd5 $1) (1. Qa5+ $2 1... Kd6) 1... Kxd4 (1... Kd5 2. Qa5+ Ke4 3. Qe1+ Kxd4 4. Qc3+ Kd5 5. Qc4+ Ke5 6. Qc5+) (1... Kd6 2. Qa3+ Kd5 3. Qc5+) 2. Qf2+ Kd5 (2... Ke5 3. Qc5+) 3. Qd2+ Kc5 (3... Ke5 4. Qc3+) 4. Qb4+ Kd5 5. Qc4+ Kd6 6. Qd4+ Kc7 7. Qa7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1897 algebraic: white: [Kh3, Se5, Pg2, Pd6] black: [Kh7, Sg8, Pg6, Pg3, Pa2] stipulation: "=" solution: | "1. d7 (1. Nf3 $2 1... Nf6 2. Ng5+ Kg8 3. Ne4 a1=Q) 1... a1=Q 2. Nf3 $1 (2. d8=Q $2 2... Qxe5 3. Qd7+ (3. Qh4+ Qh5) 3... Ne7) (2. Nf7 $2 2... Qh1+ 3. Kxg3 (3. Kg4 Qd1+) 3... Qe1+ 4. Kh2 Qh4+ 5. Kg1 Qd4+) 2... Qd1 (2... Qf6 3. d8=Q Qxd8 4. Ng5+ Kg7 5. Ne6+) (2... Qh1+ 3. Kxg3 Qd1 4. Ng5+ (4. d8=Q Qxd8) 4... Kh6 5. d8=Q Qe1+ 6. Kh2 Qh4+ 7. Kg1 Qxg5 8. Qxg8) 3. d8=Q (3. Ng5+ $2 3... Kh6 $1 4. Nf7+ (4. d8=Q Qh5+ 5. Kxg3 Qxg5+) 4... Kh5 5. d8=Q Qg4#) 3... Qxd8 4. Ng5+ $1 4... Kg7 (4... Qxg5) (4... Kh8 5. Nf7+) (4... Kh6 5. Nf7+) 5. Ne6+ 1/2-1/2" --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1897 algebraic: white: [Kf2, Qa5, Rh1, Pd5, Pd2] black: [Kf4, Qb8, Rd6, Pg5, Pb7] stipulation: + solution: | "1. Rh8 $1 (1. Qb4+ $1 1... Ke5 (1... Kf5 2. Kf3 Qf8 3. Qe4+ Kf6 4. Kg4 Qc8+ 5. Kg3 Qd8 6. Rh8 $1) 2. d4+ $1 2... Kxd5 (2... Ke4 3. Re1+ Kf5 4. Qb1+ Kf6 5. Qh7 $1) 3. Qc5+ Ke4 (3... Ke6 4. Qe5+ Kd7 5. Rh7+ Kc8 6. Qf5+) 4. Qe5+ Kd3 5. Rh3+ Kc2 6. Qe2+ Kb1 7. Rh1#) (1. Qc3 $1 1... Kf5 (1... Qd8 2. Qf3+ Ke5 3. Re1+ Kd4 4. Qc3+ Kxd5 5. Re5#) (1... Rd8 2. Qe3+ Kf5 3. Qe6+ Kf4 4. Re1 $1 4... Qa7+ 5. Kg2) (1... b5 2. Qf3+ Ke5 3. Re1+ Kd4 4. Qc3+ Kxd5 5. Re5#) 2. Qf3+ $1 2... Kg6 3. Qe4+ Kg7 4. Qh7+ Kf6 5. d4 $1) 1... Qxh8 2. Qa4+ Kf5 3. Qc2+ Kf4 4. Qc4+ Kf5 5. Qd3+ Kg4 (5... Kf4 6. Qf3+ Ke5 7. Qc3+) 6. Qf3+ Kh4 7. Qh1+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: La Stratégie source-id: 285 date: 1898 algebraic: white: [Kd5, Sd4, Ph3, Pg4, Pg2] black: [Kf4, Qh6, Bh8] stipulation: + solution: 1. g3+ Kg5 2. Ne6+ Kg6 3. g5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1898 algebraic: white: [Kh2, Ra2, Sa6] black: [Ke4, Ph5, Ph4, Pf2, Pe3] stipulation: "=" solution: | 1. Nc5+ Kf3 2. Rxf2+ exf2 3. Ne4 Kxe4 4. Kg2 Ke3 5. Kf1 h3 (5... Kf3) 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1898 algebraic: white: [Kg5, Rf3, Bd1, Ph5, Pe2] black: [Kh8, Qh1, Ph7, Pe3, Pd5] stipulation: "=" solution: 1. Kh6 Kg8 2. Bb3 Qxf3 3. Bxd5+ Qxd5 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1898-01-05 algebraic: white: [Kg5, Sg2, Pf4] black: [Kg8, Bh7, Pf5] stipulation: + solution: | "1.Kg5-h6 Kg8-h8 2.Sg2-h4 ! Kh8-g8 3.Sh4-f3 Kg8-h8 4.Sf3-e5 Kh8-g8 5.Se5-c6 Kg8-h8 6.Sc6-e7 Bh7-g8 7.Se7-g6# 5.Se5-d7 {dual} Kg8-h8 6.Sd7-f8 Bh7-g8 7.Sf8-g6# 2...Bh7-g8 3.Sh4-g6#" keywords: - Dual --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1898 algebraic: white: [Ke2, Ba5, Pd2, Pc4, Pc2, Pb4] black: [Kf4, Pf5, Pb5, Pa2] stipulation: + solution: | 1. Bc7+ Ke4 2. d3+ Kd4 3. Bd6 (3. c3+ $1 3... Kxc3 4. Be5+) 3... a1=Q 4. Bf8 Qa7 5. Bc5+ Qxc5 6. bxc5 Kxc5 7. cxb5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) source-id: 497 date: 1898 algebraic: white: [Kd4, Bh4, Sg4] black: [Kh8, Bd6, Ph7, Pb7] stipulation: + solution: | "1. Nh6 Bf8 2. Bf6+ Bg7 3. Ke5 b5 4. Ke6 b4 5. Kf7 Bxf6 6. Kxf6 b3 7. Kf7 b2 8. Kf8 b1=Q 9. Nf7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) source-id: 497 date: 1898 algebraic: white: [Kd4, Bh4, Sg4] black: [Kh8, Bd6, Ph7, Pc6] stipulation: + solution: | "1. Nh6 c5+ (1... Kg7 2. Nf5+) (1... Bf8 2. Bf6+ Bg7 3. Ke5) 2. Kd5 Bf8 3. Bf6+ Bg7 4. Ke6 c4 5. Kf7 Bxf6 6. Kxf6 c3 7. Kf7 c2 8. Kf8 c1=Q 9. Nf7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) source-id: 507 date: 1898 algebraic: white: [Kf2, Re4, Se7, Sd5, Pc6] black: [Kb8, Rc7, Se8, Sc5] stipulation: + solution: | "1. Rb4+ Rb7 (1... Ka7 2. Ke3) 2. Rxb7+ (2. cxb7 $2 2... Nd3+) 2... Nxb7 3. c7+ $3 3... Nxc7 4. Nc6+ Kc8 5. Nb6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) source-id: 0785 date: 1898 algebraic: white: [Ka4, Be4] black: [Ka2, Rg1, Pg2] stipulation: "=" solution: | 1. Bf3 Kb2 2. Kb4 Kc2 3. Kc4 Kd2 4. Kd4 Ke1 5. Ke3 Kf1 6. Be2+ Ke1 7. Bf3 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) source-id: 0785 date: 1898 algebraic: white: [Ka4, Rh4, Bh6] black: [Ka2, Re2, Pf2, Pe3] stipulation: "=" solution: | 1. Rh1 Re1 2. Rf1 $1 2... Rxf1 3. Bxe3 Kb2 4. Kb4 Kc2 5. Kc4 Kd1 6. Kd3 Ke1 7. Bd2+ Kd1 8. Be3 $1 8... Ke1 9. Bd2+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) source-id: 0848 date: 1898 algebraic: white: [Kh3, Re5, Sd5] black: [Kf1, Ph5, Pd4, Pb2] stipulation: "=" solution: | 1. Ne3+ dxe3 2. Rf5+ Kg1 3. Rg5+ Kh1 4. Rb5 e2 5. Rxb2 e1=Q 6. Rh2+ Kg1 7. Rh1+ Kxh1 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) source-id: 0860 date: 1898 algebraic: white: [Ka2, Re3, Bb4, Sf5, Pe2] black: [Kg8, Qg5, Bh6, Ph7, Pc3] stipulation: "=" solution: | 1. Rg3 Qxg3 2. Nxh6+ Kh8 3. Bd6 Qxd6 (3... Qg7 4. Be5 4... c2 $1 5. Bxg7+ Kxg7 6. Nf5+ Kf6 7. Kb2 Kxf5) 4. Nf7+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1898 algebraic: white: [Kg5, Sd7, Sd6] black: [Kg7, Ba8, Pc6] stipulation: + solution: | 1. Nc5 (1. Nb6 $2 1... c5 $1 2. Nxa8 c4) 1... Kh7 (1... Kf8 2. Kf6 Kg8 3. Nf5 Kf8 (3... Kh7 4. Kf7) 4. Ng7) (1... Bb7 2. Ncxb7 c5 3. Nd8 $1 3... c4 4. Ne6+) 2. Nf5 Kg8 3. Kf6 Kf8 4. Ng7 Kg8 5. Nge6 Kh8 6. Kg5 Kh7 7. Kh5 Kh8 8. Kh6 Kg8 9. Kg6 Kh8 10. Nf8 Kg8 11. Nfd7 Kh8 12. Nf6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1898 algebraic: white: [Kd2, Sd3, Sb4] black: [Ka1, Bb1, Pc2, Pb2] stipulation: + solution: | "1. Nc1 $1 1... bxc1=Q+ (1... Ba2 2. Nxc2+ Kb1 3. Ne2 Bb3 4. Nc3#) 2. Kxc1 Ba2 3. Nxc2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1898 algebraic: white: [Kh2, Qb3, Bg8] black: [Ke4, Qe8] stipulation: + solution: "1. Bh7+ Kd4 (1... Kf4 2. Qg3#) 2. Qb4+ Kd5 3. Bg8+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1898 algebraic: white: [Kb4, Qf1, Re2] black: [Kc6, Qg7, Rf6] stipulation: + solution: | 1. Re6+! Rxe6 2. Qa6+ Kd5 3. Qc4+ Kd6 4. Qc5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1898 algebraic: white: [Kd2, Bd8, Sa4] black: [Kg1, Qh7, Bh1, Ph2, Pg2, Pf5] stipulation: "=" solution: | "1. Ke1 $1 (1. Ke2 $2 1... Qh5+ 2. Ke1 Qe8+) 1... Qa7 2. Bb6+ (2. Nc3 $2 2... Qa1+ 3. Nd1 Qe5+) 2... Qxb6 3. Nxb6 f4 4. Nd5 f3 5. Nf4 $1 5... f2+ 6. Kd2 $1 6... Kf1 (6... f1=Q $2 7. Nh3#) (6... f1=N+ $2 7. Ke1) 7. Nd5 Kg1 8. Nf4 Kf1 9. Nd5 1/2-1/2" --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1898 algebraic: white: [Kc5, Rc3, Bg4, Ph4, Pb2] black: [Ka5, Rh7, Sb6, Ph6, Pa7] stipulation: + solution: | 1. Ra3+ (1. b4+ $1 1... Ka6 2. Kc6 Rc7+ 3. Kxc7 Nd5+ 4. Kc6 Nxc3 5. Bh3) 1... Na4+ 2. Rxa4+ $1 2... Kxa4 3. Bd1+ Ka5 4. b4+ Ka6 5. Kc6 Re7 6. Bg4 $1 6... Re8 7. Bf5 $1 7... Rd8 8. Be6 $1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1898 algebraic: white: [Kf2, Ba5, Pd2, Pc4, Pc2, Pb4] black: [Kf4, Pf5, Pc6, Pa2] stipulation: + solution: | 1. Bc7+ Ke4 2. d3+ Kd4 3. Bd6 (3. Bd8 $2 3... Ke5) (3. Bf4 $1 3... a1=Q (3... a1=N 4. b5) 4. Bh6) 3... a1=Q 4. Bf8 Qa7 5. Bc5+ Qxc5 6. bxc5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Wiener Schachzeitung date: 1898 algebraic: white: [Kd1, Sg3, Sf3, Pa2] black: [Kc3, Pb4, Pb3] stipulation: + solution: | "1. Ne4+ Kb2 2. a4 bxa3 3. Nfd2 Ka1 4. Nc3 Kb2 (4... a2 5. Na4 b2 6. Nb3+ Kb1 7. Nc3#) 5. Na4+ Ka2 6. Kc1 b2+ (6... Ka1 7. Nxb3+ Ka2 8. Nd2 Ka1 9. Nc3 a2 10. Nb3#) 7. Kc2 b1=Q+ (7... Ka1 8. Nb3+ Ka2 9. Nc3#) 8. Nxb1 Ka1 9. Nd2 Ka2 10. Nc3+ Ka1 11. Nb3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Wiener Schachzeitung source-id: 6 date: 1898 algebraic: white: [Kc5, Ba3, Sd8] black: [Kg6, Pf3] stipulation: "=" solution: | 1. Nc6 $1 (1. Ne6 $2 1... f2 2. Nf4+ Kh6) (1. Kd5 $2 1... f2 2. Nc6 f1=Q 3. Ne5+ Kf5) 1... f2 2. Ne5+ $1 2... Kh7 (2... Kf5 3. Nc4) (2... Kh5 $1 3. Kd5 f1=Q 4. Be7 4... Qa6 $1) 3. Kd5 f1=Q 4. Be7 $1 4... Qa6 $1 (4... Kh6 $1 5. Bf6 Qg1 6. Ke6 Qg8+ 7. Kf5 Qc8+ 8. Ke4 Kh5 9. Kd5 Qg8+ 10. Kd6 Qb3) 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Wiener Schachzeitung source-id: 10 date: 1898 algebraic: white: [Kh5, Rd2, Be7, Pb6] black: [Ke5, Re8, Bc8, Pg7, Pd7, Pb7] stipulation: + solution: | "1. Bd6+ Kf5 2. Rf2+ Ke6 3. Re2+ Kf7 4. Rxe8 Kxe8 (4... g6+ $1 5. Kg5 Kxe8 6. Kxg6 Kd8 7. Kf7) 5. Kg6 Kd8 6. Kf7 g5 7. Bc7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Wiener Schachzeitung source-id: 11 date: 1898 algebraic: white: [Kd1, Sf3, Se4] black: [Kb2, Pb3, Pa3] stipulation: + solution: | "1. Nfd2 Ka1 2. Nc3 Kb2 3. Na4+ Ka2 4. Kc1 b2+ 5. Kc2 b1=Q+ 6. Nxb1 Ka1 7. Nd2 Ka2 8. Nc3+ Ka1 9. Nb3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1899 algebraic: white: [Kb5, Pe4, Pa5] black: [Kd8, Ph7, Pd7, Pd6] stipulation: "=" solution: | "1.Kb5-c4 ? Kd8-c7 2.Kc4-d5 h7-h5 1.a5-a6 ? Kd8-c7 2.Kb5-c4 h7-h5 3.Kc4-d5 h5-h4 1.Kb5-b6 Kd8-c8 ! 2.a5-a6 Kc8-b8 3.a6-a7+ ! Kb8-a8 4.Kb6-c7 h7-h5 5.Kc7*d6 h5-h4 6.Kd6*d7 h4-h3 7.e4-e5 h3-h2 8.e5-e6 h2-h1=Q 9.e6-e7 Qh1-d5+ 10.Kd7-c7 Qd5-e6 11.Kc7-d8 Qe6-d6+ 12.Kd8-c8 ! Qd6*e7 {stalemate} 12...Qd6-c6+ 13.Kc8-d8 Ka8-b7 14.a7-a8=Q+ Kb7*a8 15.e7-e8=Q 9...Qh1-b7+ 10.Kd7-d8 Qb7-b6+ 11.Kd8-c8 ! 5.Kc7*d7 ! {dual} h5-h4 6.Kd7*d6 h4-h3 7.e4-e5 h3-h2 8.e5-e6 h2-h1=Q 9.e6-e7 4...Ka8*a7 5.Kc7*d7 h7-h5 6.Kd7*d6 h5-h4 7.e4-e5 h4-h3 8.e5-e6 h3-h2 9.e6-e7 h2-h1=Q 10.e7-e8=Q 2.Kb6-a6 ? h7-h5" keywords: - Stalemate --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1899 algebraic: white: [Ka6, Be2, Pc7, Pb5] black: [Kc8, Rb1, Bf8, Pd5, Pd4, Pc5] stipulation: "=" solution: | 1. b6 Ra1+ 2. Kb5 Rg1 3. Bd3 Rg5 4. Ka4 (4. Kc6 $1) 4... c4 5. Bxc4 dxc4 6. b7+ Kxb7 7. c8=Q+ Kxc8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1900 algebraic: white: [Kh6, Bf2, Sg1] black: [Kh2, Bh1, Pg6, Pg2] stipulation: + solution: | "1. Kg7 g5 2. Kf6 g4 3. Ke5 $1 3... g3 4. Nf3+ Kh3 5. Bg1 Kg4 6. Ke4 Kh5 (6... Kh3 7. Ne5 Kh4 8. Kf5) 7. Kf5 Kh6 8. Kf6 Kh7 (8... Kh5 9. Ne5 Kh4 10. Kf5 Kh5 11. Ng4 Kh4 12. Nf6) 9. Ne5 Kg8 (9... Kh6 10. Ng4+ Kh5 11. Kf5 Kh4 12. Nf6) 10. Ng6 Kh7 11. Ne7 Kh6 12. Ng8+ Kh5 13. Kf5 Kh4 14. Nf6 Kh3 15. Ke4 Kh4 16. Kf4 Kh3 17. Nd5 Kh4 18. Kf5 Kh5 19. Nf4+ Kh6 20. Kf6 Kh7 21. Ne6 Kh6 22. Ng7 Kh7 23. Nf5 Kh8 24. Ke7 Kg8 25. Ke8 Kh8 26. Kf8 Kh7 27. Kf7 Kh8 28. Ne7 Kh7 29. Ng8 Kh8 30. Bd4+ Kh7 31. Bg7 g1=Q 32. Nf6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1900 algebraic: white: [Kf4, Bh6, Sc6] black: [Kf6, Pf5, Pc5, Pb4, Pa3] stipulation: "=" solution: 1. Nxb4 cxb4 2. Bf8 a2 3. Bxb4 a1=Q 4. Bc3+ Qxc3 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1900 algebraic: white: [Ka8, Bf2, Sg1] black: [Kh2, Bh1, Pg6, Pg2] stipulation: + solution: 1. Kb7 g5 2. Kc6 g4 3. Kd5 g3 4. Nf3+ Kh3 5. Bg1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 0871 date: 1901 algebraic: white: [Kb1, Qd1, Bc2, Pd2, Pb7] black: [Kd5, Qc7, Bf7, Pg6, Pf5] stipulation: + solution: | 1. Be4+ fxe4 (1... Kxe4 2. Qc2+) (1... Kd6 2. Qg1) (1... Kc4 2. Qc1+) (1... Ke5 2. Qc1) 2. Qb3+ 2... Kc6 $1 (2... Kd6 3. Qb4+) 3. b8=N+ Kd6 (3... Kc5 4. Na6+) 4. Qg3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1901 algebraic: white: [Kf5, Bc2, Sd2] black: [Kh1, Rh3, Bg1, Ph4] stipulation: + solution: | "1. Be4+ Rf3+ (1... Kh2 2. Nf1#) 2. Bxf3+ Kh2 3. Nf1+ Kh3 4. Bh1 Bh2 (4... Ba7 5. Kf4 Bb8+ 6. Kf3) 5. Ke4 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1901 algebraic: white: [Ka2, Rf8, Sa5, Pf7, Pd2] black: [Ka7, Qh1, Pd7, Pd3, Pa6] stipulation: + solution: | 1. Rb8 Qd5+ 2. Kb1 Qxf7 (2... Qh1+ 3. Kb2 Kxb8 4. f8=Q+) (2... Kxb8 3. f8=Q+) 3. Rb7+ Ka8 4. Nc6 Kxb7 5. Nd8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1901 algebraic: white: [Kg3, Qd2, Sd5, Pe7] black: [Kf5, Qe4, Sf7, Ph6, Pf3] stipulation: + solution: | "1. e8=Q $1 1... Qxe8 2. Qf4+ Kg6 3. Qg4+ Ng5 4. Qh5+ $1 4... Kxh5 5. Nf4# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1901 algebraic: white: [Kb2, Rf8, Sa5, Pf7, Pd2] black: [Ka7, Qd5, Pd7, Pd4, Pa6] stipulation: + solution: | 1. Rb8 $1 1... Qxf7 2. Rb7+ Ka8 3. Nc6 $3 3... Kxb7 4. Nd8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный журнал date: 1901 algebraic: white: [Ka2, Rf8, Sa5, Pf7, Pd2] black: [Ka7, Qh1, Pd7, Pd4, Pa6] stipulation: + solution: | 1. Rb8 $1 1... Qd5+ 2. Kb2 $1 2... Qxf7 (2... Qxa5 $1 3. f8=Q Qxd2+) 3. Rb7+ Ka8 4. Nc6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1903 algebraic: white: [Kh1, Bf1, Sb4] black: [Ka8, Bd4, Sb7, Ph4, Pa7] stipulation: + solution: | "1. Na6 Bg1 2. Bh3 Nc5 3. Bg2+ Nb7 4. Kxg1 h3 5. Bh1 h2+ 6. Kg2 Nd6 7. Kg3+ Nb7 8. Kf3 Nd6 9. Kf4+ Nb7 10. Ke4 Nd6+ 11. Ke5+ Nb7 12. Kd5 Nd8 13. Kd6+ Nb7+ 14. Kc6 Nd8+ 15. Kc7+ Nb7 16. Bxb7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1903 algebraic: white: [Kd8, Pg6, Pf7, Pc2] black: [Kf8, Sd4, Pb5] stipulation: "=" solution: | 1. c3 Ne2 2. Kd7 Nxc3 3. Kc6 b4 4. Kc5 b3 5. Kb4 b2 6. Ka3 b1=Q (6... b1=B 7. Kb2) 7. g7+ Kxg7 8. f8=Q+ Kxf8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1903 algebraic: white: [Kb5, Bf1, Pc7, Pb6] black: [Kc8, Rh5, Bf8, Pf4, Pd5, Pc5] stipulation: "=" solution: 1. Ka4 c4 2. Bxc4 dxc4 3. b7+ Kxc7 4. b8=Q+ Kxb8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1903 algebraic: white: [Kh2, Rb5, Pg6, Pg2] black: [Ke6, Ra2, Pb6, Pa7] stipulation: + solution: | 1. Rf5 $1 1... Kxf5 (1... Rc2 2. g7 Rc8 3. Rf8) (1... Ra4 $1) 2. g7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1903 algebraic: white: [Kh3, Rb5, Pg6, Pg3] black: [Ke6, Ra2, Pb6, Pa7] stipulation: + solution: | 1. Rf5 $1 1... Kxf5 (1... Rc2 2. g7 Rc8 3. Rf8) 2. g7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1903 algebraic: white: [Kh2, Rb5, Ph3, Pg6, Pg2] black: [Ke6, Ra2, Pb6, Pa7] stipulation: + solution: | 1. Rf5 $1 1... Kxf5 (1... Rc2 2. g7 Rc8 3. Rf8) 2. g7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: date: 1905 algebraic: white: [Ka1, Sf6, Sa6, Pb3] black: [Ka3, Sd3, Pc3] stipulation: "=" solution: | 1.Sa6-b4 Sd3*b4 2.Sf6-e4 c3-c2 3.Se4-c3 c2-c1=Q+ 4.Sc3-b1+ Ka3*b3 {stalemate} 3...Ka3*b3 ! {refutation} 4.Sc3-e2 Kb3-a3 5.Se2-c1 Sb4-c6 6.Sc1-b3 Sc6-a5 7.Sb3-c1 Sa5-c4 8.Sc1-e2 Ka3-a4 9.Ka1-a2 Ka4-b4{ }10.Se2-c1 Kb4-c3 11.Ka2-a1 Kc3-d2 12.Sc1-a2 Kd2-d1 13.Sa2-c3+ Kd1-e1 14.Sc3-a2 Ke1-d2 keywords: - Cooked --- authors: - Троицкий, Алексей Алексеевич source: Bohemia date: 1906 distinction: 2nd-5th Prize algebraic: white: [Ke2, Sc8, Sb1, Pc7] black: [Kh6, Ph7, Pe3, Pb4, Pa3] stipulation: + solution: | "1. Nxa3 bxa3 2. Nd6 a2 3. Nf7+ Kg6 (3... Kg7 4. c8=Q a1=Q 5. Qh8+) (3... Kh5 4. c8=Q a1=Q 5. Qc5+ Kh4 6. Qc4+ Kh3 7. Ng5+ Kg2 8. Qg4+ Kh2 9. Qh3+ Kg1 10. Nf3#) 4. Ne5+ Kh6 5. c8=Q a1=Q 6. Qe6+ Kg5 7. Qg4+ Kf6 8. Qf4+ Ke6 (8... Kg7 9. Qg5+ Kf8 10. Qf6+ Ke8 11. Qe6+) 9. Qf7+ Kd6 10. Qd7+ Kc5 11. Qc6+ Kb4 12. Nd3+ Kb3 13. Qd5+ Kc2 14. Qc4+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Bohemia date: 1906 distinction: 2nd-5th Prize algebraic: white: [Ke2, Sc8, Pc7] black: [Kh6, Ph7, Pa3] stipulation: + solution: | "1. Nd6 $1 1... a2 2. Nf7+ $1 2... Kg6 (2... Kh5 3. c8=Q a1=Q 4. Qf5+) 3. Ne5+ Kf6 4. c8=Q a1=Q 5. Qf8+ Kg5 6. Qg7+ Kf5 (6... Kf4 7. Qg4+) (6... Kh5 7. Qg4+) 7. Qg4+ Kf6 8. Qf4+ Ke6 9. Qf7+ Kd6 10. Qd7+ Kc5 11. Qc6+ Kb4 (11... Kd4 12. Nf3#) 12. Nd3+ Kb3 13. Qd5+ Kc2 14. Qc4+ Qc3 15. Qa2+ Qb2 16. Qxb2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Ke3, Se2] black: [Kh2, Ph3] stipulation: + solution: | "1. Kf3 $1 1... Kh1 2. Kf2 Kh2 3. Nc3 Kh1 4. Ne4 Kh2 5. Nd2 Kh1 6. Nf1 h2 7. Ng3#" comments: - Moremover 124983 --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kb3, Sh2, Sd3] black: [Kb1, Ph3] stipulation: + solution: "1. Nf3 h2 2. Nd2+ Ka1 3. Nb4 h1=Q 4. Nc2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kb3, Sd3, Sb4] black: [Kb1, Pd4] stipulation: + solution: | "1. Nd5 Ka1 2. Nb6 Kb1 3. Nc4 Ka1 4. Kc2 Ka2 5. Nb4+ Ka1 6. Na3 $1 6... d3+ 7. Kb3 d2 8. Nbc2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kb3, Sh3, Sd3] black: [Kb1, Ph4] stipulation: + solution: | "1. Nhf2 h3 2. Nd1 h2 3. Nc3+ Ka1 4. Nb4 h1=Q 5. Nc2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kc2, Se3, Sc4] black: [Ka2, Pe4] stipulation: + solution: "1. Nd1 e3 2. Nc3+ Ka1 3. Na5 e2 4. Nb3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kc2, Se2, Sc4] black: [Ka2, Pe3] stipulation: + solution: "1. Nc3+ Ka1 2. Na5 e2 3. Nb3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kc2, Sf2, Sc4] black: [Ka2, Pf3] stipulation: + solution: "1. Nd3 f2 2. Nb4+ Ka1 3. Na5 f1=Q 4. Nb3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kc3, Sf3, Sc5] black: [Ka3, Pf4] stipulation: + solution: | 1. Kc4 Kb2 2. Kd3 Kc1 3. Na4 Kd1 4. Nb2+ Kc1 5. Kc3 Kb1 6. Nd3 Ka2 7. Kb4 Kb1 8. Kb3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kc3, Sh2, Sd2] black: [Kd1, Ph3] stipulation: + solution: | "1. Nb3 Ke2 2. Kd4 Kf2 3. Nc1 Kg3 4. Ke3 Kxh2 5. Kf2 Kh1 6. Ne2 Kh2 7. Nc3 Kh1 8. Ne4 Kh2 9. Nd2 Kh1 10. Nf1 h2 11. Ng3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kc4, Sd1, Sc3] black: [Ka3, Pd2] stipulation: + solution: | "1. Kb5 Kb3 2. Na4 Kc2 3. Nab2 Kb3 4. Kc5 Ka3 5. Kc4 Ka2 6. Kb4 Kb1 7. Ka3 Kc2 8. Ka2 Kc1 9. Kb3 Kb1 10. Nd3 Ka1 11. Nb4 Kb1 12. Nc3+ Kc1 13. Nd3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kd2, Sf3, Sc5] black: [Kb2, Pf4] stipulation: + solution: | "1. Kd3 Kc1 2. Na4 Kd1 3. Nb2+ Kc1 4. Kc3 Kb1 5. Nd3 Ka2 6. Kb4 Kb1 7. Kb3 Ka1 8. Nd2 f3 9. Nb4 f2 10. Nc2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kd5, Sf3, Sd6] black: [Kb4, Pf4] stipulation: + solution: | "1... Kb3 (1... Kc3 2. Ke4) 2. Kd4 Kb4 3. Nf7 Kb5 4. N7e5 $1 4... Kb4 5. Nc6+ Kb3 6. Kd3 Ka4 7. Kc4 Ka3 8. Ncd4 Kb2 9. Kb4 Ka2 10. Ne2 Kb2 11. Nc3 Kc2 12. Kc4 Kb2 13. Nb5 Kc2 14. Na3+ Kb2 15. Kb4 Kc1 16. Kc3 Kd1 17. Kd3 $1 17... Kc1 18. Nc4 Kd1 19. Nb2+ Kc1 20. Kc3 Kb1 21. Nd3 Ka2 22. Kb4 Ka1 23. Kb3 Kb1 24. Nd2+ Ka1 25. Nb4 f3 26. Nc2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Ke6, Sd3, Sd2] black: [Kc7, Pd4] stipulation: + solution: | 1. Nc4 Kc6 2. Ke5 $1 2... Kd7 3. Kf6 $1 3... Kc7 4. Ke7 Kc6 5. Ke6 Kc7 6. Kd5 Kd7 7. Nb6+ Ke7 8. Ke5 Kf7 9. Nd5 Kg6 10. Ke6 Kg5 11. Nf6 Kg6 12. Ng4 Kh5 13. Kf5 Kh4 14. Nf6 Kg3 15. Ke4 Kg2 16. Nh5 Kh3 17. Kf4 Kh4 18. Ng3 Kh3 19. Nf5 Kh2 20. Kg4 Kg2 21. Ng3 $1 21... Kh2 22. Ne2 Kg2 23. Nef4+ Kh2 24. Kf3 Kg1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kf5, Se3, Se2] black: [Kh4, Ph7] stipulation: + solution: | "1... Kh5 (1... Kh3 2. Kg5 Kh2 3. Kg4 h5+ 4. Kh4) 2. Nc3 Kh6 3. Kf6 Kh5 4. Ne4 Kh6 5. Kf7 Kh5 6. Kg7 h6 (6... Kh4 7. Kh6) 7. Kf6 Kh4 8. Kg6 h5 9. Kf5 Kh3 10. Kf4 $1 10... Kh2 (10... Kh4 11. Ng2+ Kh3 12. Kf3 Kh2 13. Kf2 Kh3 14. Nf6 $1 14... Kh2 15. Nf4) 11. Kf3 Kg1 12. Ng5 h4 13. Ke2 h3 14. Nf3+ Kh1 15. Nh2 $1 15... Kxh2 (15... Kg1 16. Ke1 Kh1 17. Kf1) 16. Kf2 Kh1 17. Nf1 h2 18. Ng3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kf7, Sf5, Sa3] black: [Kh7, Pa4] stipulation: + solution: | "1. Kf6 Kh8 2. Ke7 Kg8 3. Ke8 Kh8 4. Kf8 Kh7 5. Kf7 Kh8 6. Nc4 a3 7. Ne5 a2 8. Ng6+ Kh7 9. Nf8+ Kh8 10. Ne7 a1=Q 11. Neg6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kf7, Sf5, Sb4] black: [Kh7, Pb5] stipulation: + solution: "1. Nd5 b4 2. Nf6+ Kh8 3. Ne7 b3 4. Ng6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kf7, Sf5, Se2] black: [Kh7, Pe3] stipulation: + solution: | "1. Kf6 Kh8 2. Ke7 Kg8 3. Ke8 Kh8 4. Kf8 Kh7 5. Kf7 Kh8 6. Nf4 e2 7. Ng6+ Kh7 8. Nf8+ Kh8 9. Ne7 e1=Q 10. Neg6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kf7, Sf5, Sd3] black: [Kh7, Pd4] stipulation: + solution: | "1. Ne5 d3 2. Ng6 d2 3. Nf8+ Kh8 4. Ne7 d1=Q 5. Neg6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kf7, Sf5, Sf2] black: [Kh7, Pf3] stipulation: + solution: "1. Ng4 f2 2. Nf6+ Kh8 3. Ne7 f1=Q 4. Ng6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kf7, Sg3, Sf5] black: [Kh7, Pg4] stipulation: + solution: "1. Nh5 g3 2. Nf6+ Kh8 3. Nh4 g2 4. Ng6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kf7, Sh2, Sf5] black: [Kh7, Ph3] stipulation: + solution: "1. Ng4 h2 2. Nf6+ Kh8 3. Nh4 h1=Q 4. Ng6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kg5, Sd6, Sb7] black: [Kg7, Pc5] stipulation: + solution: | "1. Nd8 c4 2. Ne6+ Kg8 3. Kg6 c3 4. Nf5 c2 5. Ne7+ Kh8 6. Ng5 c1=Q 7. Nf7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kg6, Sg3, Se6] black: [Kg8, Pg4] stipulation: + solution: "1. Nh5 g3 2. Nf6+ Kh8 3. Ng5 g2 4. Nf7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kg6, Sh2, Se6] black: [Kg8, Ph3] stipulation: + solution: "1. Ng4 h2 2. Nf6+ Kh8 3. Ng5 h1=Q 4. Nf7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kg6, Se6, Se2] black: [Kg8, Pe3] stipulation: + solution: | "1. Kf6 $1 1... Kh8 2. Kg5 Kh7 3. Kh5 Kh8 4. Kh6 Kg8 5. Kg6 Kh8 6. Kf7 Kh7 7. Ng7 Kh6 8. Kf6 Kh7 9. Nf5 Kh8 10. Ke7 Kg8 11. Ke8 Kh8 12. Kf8 Kh7 13. Kf7 Kh8 14. Nf4 e2 15. Ng6+ Kh7 16. Nf8+ Kh8 17. Ne7 e1=Q 18. Neg6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1906 algebraic: white: [Kg6, Sf2, Se6] black: [Kg8, Pf3] stipulation: + solution: "1. Ne4 f2 2. Nf6+ Kh8 3. Ng5 f1=Q 4. Nf7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1906 algebraic: white: [Kf7, Sh2, Se5] black: [Kh7, Ph3] stipulation: + solution: | "1. Neg4 Kh8 2. Ne3 Kh7 3. Nf5 Kh8 4. Kg6 Kg8 5. Ng7 5... Kf8 $1 6. Kf6 Kg8 7. Ne6 7... Kh7 $1 8. Kg5 8... Kg8 $1 9. Kg6 Kh8 10. Kf7 $1 10... Kh7 11. Ng4 $3 11... h2 12. Ng5+ Kh8 13. Ne5 h1=Q 14. Ng6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1906 algebraic: white: [Kc3, Sd1, Sb3] black: [Ka3, Pe3, Pd5] stipulation: + solution: | "1. Nd4 1... e2 $1 2. Nxe2 d4+ 3. Kc4 d3 4. Nec3 d2 5. Kb5 Kb3 6. Na4 Kc2 7. Nab2 Kb3 8. Kc5 Ka3 9. Kc4 Ka2 10. Kb4 Kb1 11. Ka3 Kc2 12. Ka2 Kc1 13. Kb3 Kb1 14. Nd3 Ka1 15. Nb4 Kb1 16. Nc3+ Kc1 (16... Ka1 17. Nc2#) 17. Nd3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1906 algebraic: white: [Kd3, Sc6, Sc3] black: [Kf3, Pe5, Pd5] stipulation: + solution: | 1... e4+ 2. Kd4 e3 3. Ne5+ Kg3 4. Ne2+ Kf2 5. Nc1 e2 6. Ncd3+ Kg3 7. Ne1 Kf2 8. N5d3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1906 algebraic: white: [Kf5, Se4, Se3] black: [Kh1, Ph4, Pg5] stipulation: + solution: | "1. Nf2+ Kh2 2. Kg4 h3 3. Nxh3 $1 3... Kh1 4. Kg3 $1 4... g4 5. Nf1 $1 5... gxh3 6. Kf2 h2 7. Ng3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1906 algebraic: white: [Kg4, Se2, Sd2] black: [Kf6, Pe5, Pd5] stipulation: + solution: | 1. Nc3 d4 2. Nce4+ Ke6 3. Nb3 Kd5 4. Kf3 Kc4 5. Nbc5 Kd5 6. Nd3 Kc4 7. Nef2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1906 algebraic: white: [Kc3, Sf3, Sd1] black: [Ka3, Pe3, Pd5, Pc4] stipulation: + solution: | "1. Nd4 e2 2. Nxe2 d4+ 3. Kxc4 d3 4. Nec3 d2 5. Kb5 Kb3 6. Na4 Kc2 7. Nab2 Kb3 8. Kc5 Ka3 9. Kc4 Ka2 10. Kb4 Kb1 11. Ka3 Kc2 12. Ka2 Kc1 13. Kb3 Kb1 14. Nd3 Ka1 15. Nb4 Kb1 16. Nc3+ Kc1 17. Nd3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1906 algebraic: white: [Kc5, Sf3, Sd2] black: [Ka3, Pg6, Pb2, Pa5] stipulation: + solution: | "1. Nb1+ $1 1... Ka2 $1 2. Nfd2 g5 3. Kd5 a4 4. Ke5 g4 5. Kf4 Ka1 6. Na3 $1 6... Ka2 7. Ndb1 Kb3 8. Kxg4 Kb4 9. Kf4 Kc5 10. Ke4 Kb4 11. Kd3 Kb3 12. Kd2 Ka2 13. Kc3 Ka1 14. Kb4 Ka2 15. Kxa4 Ka1 16. Kb4 Ka2 17. Nc3+ Ka1 18. Nc2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1906 algebraic: white: [Kd3, Sg3, Sc3] black: [Kc8, Ph7, Pg7, Pf7] stipulation: + solution: 1. Nh5 g6 2. Nf6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1906 algebraic: white: [Kd6, Se3, Sd2] black: [Kh3, Ph6, Pf3, Pe4] stipulation: + solution: | 1. Ndf1 Kh4 2. Ke5 Kg5 3. Ng3 h5 4. Nxe4+ Kh4 5. Kf4 f2 6. Kf3 Kh3 7. Kxf2 Kh4 8. Kf3 Kh3 9. Ng2 Kh2 10. Kf2 Kh3 11. Nf6 Kh2 12. Nf4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1906 algebraic: white: [Ke3, Sf3, Sc3] black: [Kf6, Pe6, Pd6, Pc6] stipulation: + solution: | 1. Kf4 $1 1... e5+ 2. Kg4 Ke6 3. Ng5+ Kf6 4. Nce4+ Ke7 5. Kf5 Kd7 6. Nf7 d5 7. Nc5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1906 algebraic: white: [Kc5, Sf3, Sd2] black: [Ka3, Pg6, Pb2, Pa5, Pa4] stipulation: + solution: | 1. Nb1+ Kb3 2. Nd4+ $1 2... Ka2 3. Nc3+ Ka3 4. Ndb5+ Kb3 5. Nb1 a3 6. N5xa3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1906 algebraic: white: [Ke4, Sg4, Sc3, Ph6] black: [Kd7, Rf7, Pe6, Pd6, Pc6] stipulation: + solution: | 1. h7 Rxh7 (1... Rf8 2. Nf6+ Kc7 3. Ng8) 2. Nf6+ Ke7 3. Nxh7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1906 algebraic: white: [Kc3, Qd1, Sd3, Sb3] black: [Kd7, Qe4, Rg4, Pd5, Pb7, Pb6] stipulation: + solution: | 1. Qxg4+ (1. Nbc5+ bxc5 2. Nxc5+ Kc6) 1... Qxg4 2. Ne5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1906 algebraic: white: [Kb2, Se2, Sd2] black: [Kc5, Pe5, Pd5] stipulation: + solution: | 1. Ka3 $3 (1. Nf3 $2 1... d4 2. Nxe5 (2. Nd2 Kd5) 2... d3) (1. Kc3 $2 1... d4+ 2. Kd3 e4+ 3. Nxe4+ Kb4) (1. Kb3 $2 1... e4) 1... Kb5 2. Kb3 Ka5 (2... Kc5 3. Ka4) 3. Kc2 $1 (3. Nf3 $2 3... d4) (3. Nc3 $2 3... e4) 3... Kb4 4. Kd1 $1 4... Kc5 (4... Ka3 5. Nc3 e4 6. Nb5+ $1) 5. Ke1 Kd6 6. Kf2 Ke6 7. Kg3 Kf5 8. Kh4 $1 8... Kf6 (8... Ke6 9. Kg4 Kd6 10. Kf5) 9. Kg4 Kg6 10. Nf3 Kf6 (10... d4 11. Nxe5+ Kf6 12. Nd3) 11. Ng3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1906 algebraic: white: [Kg4, Se2, Sd2] black: [Kb4, Pe5, Pd5] stipulation: + solution: | 1. Kh4 $1 1... Kc5 2. Kg5 Kb4 3. Kg4 $1 (3. Kf5 $2 3... e4 4. Nd4 4... Kc3 $1 ( 4... e3 $2 5. N2f3 e2 6. Kf4 Kc3 7. Ke3)) 3... Kc5 4. Kf5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 0992 date: 1906 algebraic: white: [Kd8, Bg7, Pf5] black: [Kb4, Bc3, Pg5, Pd4] stipulation: "=" solution: | 1. Bh6 d3 (1... g4 2. f6 Kc4 3. f7 Bb4 4. Bg5 Bf8 (4... d3 5. Be7 d2 6. f8=Q d1=Q+ 7. Ke8) (4... g3 $1 5. Be7 Bxe7+ 6. Kxe7 g2 7. f8=Q g1=Q) 5. Be7 Bh6 6. Ke8 g3 7. Bg5 Bg7 8. Bf6) 2. Bxg5 Bf6+ 3. Bxf6 d2 4. Bc3+ Kxc3 5. f6 d1=Q+ 6. Kc7 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 0992 date: 1906 algebraic: white: [Kd8, Bg7, Pf5] black: [Kb4, Ba1, Pg5, Pd4] stipulation: "=" solution: | 1. Bh6 d3 2. Bxg5 Bf6+ 3. Bxf6 d2 4. Bc3+ Kxc3 5. f6 d1=Q+ 6. Kc7 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 0992 date: 1906 algebraic: white: [Ke8, Ba4, Pc4] black: [Kg4, Bf3, Pe4, Pb5] stipulation: "=" solution: | 1. Bxb5 e3 (1... Be2 2. Ba4 Bxc4 3. Bd1+ Kg3 4. Ke7 Kf2 (4... e3 $1 5. Kd6 Bf1 6. Ke5 Bg2 7. Kd4 Kf2) 5. Kd6 Ke1 6. Ke5 e3 7. Kd4 Kd2 8. Bf3 Be2 9. Be4) 2. c5 Bc6+ 3. Bxc6 e2 4. Bf3+ $3 (4. Bd7+ $2 4... Kf4 5. c6 e1=Q+ 6. Kd8 Qa5+ 7. c7 Ke5) 4... Kxf3 5. c6 e1=Q+ 6. Kd7 (6. Kd8 $2 6... Qh4+ 7. Kc8 Qg4+ 8. Kc7 Qe4) 6... Qd2+ 7. Kc8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 0993 date: 1906 algebraic: white: [Kd4, Se7, Pe6] black: [Kc7, Pd7, Pd3] stipulation: + solution: | 1. Nd5+ Kd6 2. e7 d2 3. e8=N+ Ke6 4. Nc3 d5 5. Nc7+ Kd6 6. N7b5+ Kc6 7. Na3 Kb6 8. Nab1 Kc6 9. Nxd2 Kd6 10. Nf3 Ke6 11. Ne1 Kd6 12. Nd3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1001 date: 1906 algebraic: white: [Kb6, Sf4, Sd7] black: [Ka8, Bb8, Ph7, Pe7, Pd6] stipulation: + solution: | 1... e6 $1 2. Ka6 Bc7 3. Nxe6 Ba5 4. Kxa5 Kb7 5. Nf6 Kc6 6. Kb4 d5 7. Nd4+ Kd6 8. Ng4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1001 date: 1906 algebraic: white: [Kb6, Sf4, Sd7] black: [Ka8, Bb8, Pe7, Pd6] stipulation: + solution: | "1. Nd5 e5 (1... e6 2. Ka6 exd5 3. Nb6#) 2. Ka6 e4 (2... Ba7 3. Nc7#) 3. N5b6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1006 date: 1906 algebraic: white: [Ka4, Sg2, Pd7, Pc4, Pb7] black: [Ke6, Rf1, Sf7, Pe5] stipulation: "=" solution: | 1. Ne1 $1 1... Rxe1 2. d8=Q Nxd8 3. b8=Q Ra1+ 4. Kb5 Rb1+ 5. Kc5 Nb7+ 6. Kc6 Na5+ 7. Kc5 Nb3+ 8. Kc6 Nd4+ 9. Kc5 Rxb8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1010 date: 1906-08 algebraic: white: [Kf2, Sf1, Pg3] black: [Kh3, Ph6, Ph5, Pg6] stipulation: + solution: | "1. Se3 g5 2. Kf3 g4+ 3. Kf2 h4 4. Sg2 hxg3+ 5. Kg1 h5 6. Kh1 h4 7. Sf4#" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1010 date: 1906 algebraic: white: [Kf2, Se3, Pg3] black: [Kh3, Ph6, Ph4, Pg4] stipulation: + solution: | "1. Ng2 $1 1... hxg3+ (1... Kh2 2. Nxh4 Kh3 3. Nf5 h5 4. Kg1 h4 5. gxh4) 2. Kg1 h5 3. Kh1 h4 4. Nf4# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1014 date: 1906 algebraic: white: [Kb7, Bh1, Pd6] black: [Ka4, Bb1, Pd7, Pb3] stipulation: "=" solution: | 1. Bc6+ Ka3 2. Bxd7 b2 3. Ba4 Bf5 (3... Be4+ $1 4. Kc7 b1=Q 5. d7 Qb7+) 4. Bc2 Bxc2 5. d7 b1=Q+ 6. Kc7 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1014 date: 1906 algebraic: white: [Kb8, Bh1, Pd6] black: [Ka4, Bb1, Pd7, Pb3] stipulation: "=" solution: | 1. Bc6+ 1... Ka3 $1 (1... Ka5 2. Bxd7 b2 3. Be6 $1 (3. Ba4 $2 3... Bf5 4. Bc2 Bxc2 5. d7 b1=Q+ 6. Kc7 Qb6+)) 2. Bxd7 b2 3. Ba4 $1 3... Bf5 4. Bc2 Bxc2 5. d7 b1=Q+ 6. Kc7 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1018 date: 1906 algebraic: white: [Kh5, Bb2, Pf5] black: [Kd5, Pf3] stipulation: "=" solution: 1. Bd4 $1 1... Kxd4 2. f6 f2 3. f7 f1=Q 4. Kg6 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1018 date: 1906 algebraic: white: [Kh5, Bb2, Pf5, Pd4] black: [Kc6, Pf3] stipulation: "=" solution: | 1. d5+ (1. f6 $2 1... f2 2. f7 f1=Q 3. Kg6 Kd7 4. Ba3 Qg2+ 5. Kh7 Qh3+ 6. Kg7 Qg3+ 7. Kh7 Qxa3) 1... Kxd5 2. Bd4 Kxd4 3. f6 f2 4. f7 f1=Q 5. Kg6 Ke5 6. Kg7 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1024 date: 1906 algebraic: white: [Kg2, Rb3, Bh6] black: [Kh8, Bb4, Pg5, Pf6, Pa2] stipulation: "=" solution: | 1. Bxg5 a1=Q (1... Kg7 2. Bxf6+ Kxf6 3. Rf3+) (1... fxg5 2. Rh3+) 2. Bxf6+ Qxf6 3. Rh3+ Kg7 4. Rg3+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1024 date: 1906 algebraic: white: [Kg2, Rb3, Bh6] black: [Kh8, Sb5, Pf6, Pa2] stipulation: "=" solution: | 1. Bg5 a1=Q (1... Kg7 2. Bxf6+ Kxf6 3. Rf3+ Ke5 4. Rf1 Nc3 5. Ra1) (1... fxg5 2. Rh3+ Kg7 3. Rh1 Nc3 4. Ra1 Kg6 5. Kg3 Kf5 6. Rf1+ Ke4 7. Ra1) 2. Bxf6+ Qxf6 3. Rh3+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: date: 1907 algebraic: white: [Kh4, Ra3] black: [Kb2, Be5, Ph5, Pg2] stipulation: "=" solution: 1. Rg3 $1 1... Bxg3+ 2. Kh3 g1=Q 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: date: 1907 algebraic: white: [Kd7, Sd5, Sc2] black: [Kb7, Pc3] stipulation: + solution: | "1... Ka7 (1... Kb8 2. Nb6 Kb7 3. Nc8 Kb8 4. Nd6 Ka7 5. Kc6 Kb8 6. Kb6 Ka8 7. Kc7) 2. Kc7 Ka6 3. Kc6 Ka7 (3... Ka5 4. Nb6 Ka6 5. Nc4) 4. Ne7 Ka6 (4... Kb8 5. Kb6 Ka8 6. Nc8) 5. Nc8 Ka5 6. Nb6 Ka6 7. Nc4 Ka7 8. Nd6 Ka6 9. Nb7 Ka7 10. Nc5 Kb8 11. Kd7 Ka7 12. Kc7 Ka8 13. Kb6 Kb8 14. Nb7 Kc8 15. Kc6 Kb8 16. Nd6 Ka7 17. Kb5 Kb8 18. Kb6 Ka8 19. Kc7 Ka7 20. Nb4 c2 21. Nc8+ Ka8 22. Nc6 c1=Q 23. Nb6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Bohemia date: 1907 algebraic: white: [Ka2, Sc4, Ph3, Ph2, Pa6] black: [Kg5, Bc2, Sh6, Ph4, Pd7] stipulation: + solution: | 1. Nd2 Bf5 (1... Ba4 2. Nf3+ Kh5 3. Nd4) 2. Ka3 Be6 3. Ne4+ Kg6 (3... Kf4 4. Nc3 Bxh3 5. Nd5+) (3... Kh5 4. a7 Bd5 5. Nf6+) (3... Kf5 4. Nc3) 4. Nc3 Bxh3 5. Nd5 Bg2 6. Nf4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia date: 1907 algebraic: white: [Ka8, Sh5, Sf4, Pe6] black: [Kb6, Rf5, Pd5] stipulation: + solution: | 1. Nf6 Rxf6 (1... d4 2. e7 2... Kc7 $1 3. Ne6+) (1... Rxf4 2. e7 Kc7 3. e8=Q) ( 1... Kc7 2. e7 Rxf6) 2. e7 Kc7 3. e8=N+ $1 3... Kc6 4. Nxf6 Kc5 5. Ng4 d4 6. Nd3+ Kc4 7. Ngf2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia date: 1907 algebraic: white: [Ka2, Sf1, Sa3, Ph6, Pd6] black: [Ka5, Rc3, Be1, Pf5, Pb5] stipulation: + solution: | 1. Nc4+ $1 (1. d7 $2 1... Rd3 2. h7 Bc3) (1. h7 Rc8) 1... Rxc4 (1... bxc4 2. h7 Rh3 3. d7 Bh4) 2. d7 Rd4 (2... Bh4 3. h7) 3. h7 Bc3 (3... Rxd7 4. h8=Q) 4. h8=Q Rd2+ 5. Nxd2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia date: 1907 algebraic: white: [Kg4, Rf5, Sc3, Pe6, Pd6] black: [Kg8, Qd8, Rf8, Pe5, Pe3] stipulation: + solution: | 1. e7 Qxd6 2. Rxf8+ Kg7 3. e8=N+ Kxf8 4. Nxd6 e2 5. Nxe2 e4 6. Kg5 $1 6... Kg8 (6... Ke7 7. Nf5+ Kd7 8. Ne3) (6... e3 7. Kf6) 7. Kf5 e3 8. Kf6 Kf8 9. Nb7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia date: 1907 algebraic: white: [Kc1, Sc7, Pg5] black: [Ka1, Bg3, Pf7, Pa2] stipulation: + solution: | 1. Nb5 Be5 2. Kc2 Bb2 3. Nd6 Bf6 4. Nc4 Bc3 5. Kc1 Be1 6. Ne5 Bd2+ 7. Kc2 Bxg5 8. Nc4 Bd8 9. Nd2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 179 date: 1907 algebraic: white: [Ka8, Rg4, Bc8, Pd6] black: [Ka4, Be8, Be5, Pf2, Pb4] stipulation: "=" solution: | 1. d7 Bxd7 2. Bxd7+ Ka5 3. Rxb4 f1=Q 4. Rb5+ Ka6 5. Bc8+ Kxb5 6. Ba6+ Kxa6 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 182 date: 1907 algebraic: white: [Kc2, Be3, Pa2] black: [Kb4, Pb5, Pa6, Pa3] stipulation: + solution: | "1. Kd3 Ka5 2. Kc3 b4+ 3. Kc4 b3 (3... Ka4 4. Bb6 a5 5. Bc7 b3 6. axb3#) 4. axb3 a2 5. Kc5 a1=Q 6. Bd2+ Qc3+ 7. Bxc3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 187 date: 1907 algebraic: white: [Kd3, Ra5, Ph6, Pa4] black: [Kc8, Re8, Bh3, Pe3, Pb7] stipulation: "=" solution: | 1. Ra8+ Kd7 2. Rxe8 Kxe8 3. h7 Bf5+ 4. Kxe3 Bxh7 5. a5 Kd7 6. a6 bxa6 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 189 date: 1907 algebraic: white: [Ka8, Ra5, Sf6, Sf4, Pe5] black: [Kb6, Rf5, Sd5, Pe6] stipulation: + solution: | 1. Rxd5 exd5 2. e6 Rxf6 3. e7 Kc7 4. e8=N+ Kc6 5. Nxf6 Kc5 6. Ng4 Kc4 7. Nf2 d4 8. N2d3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 204 date: 1907-12-15 algebraic: white: [Kh2, Rg5, Se5] black: [Ke4, Pc2, Pb4] stipulation: "=" solution: 1. Sd7 c1Q 2. Sc5+ Ke3 3. Rg3+ Ke2 4. Rg2+ draws --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 206 date: 1907 algebraic: white: [Kh3, Sh2, Pg7] black: [Ke3, Ph4, Pb7, Pa2] stipulation: + solution: | 1. Nf1+ Ke2 (1... Kf4 2. g8=Q a1=Q 3. Qg4+) (1... Ke4 2. Nd2+) (1... Kd3 2. g8=Q a1=Q 3. Qh7+ Kc4 4. Nd2+ Kd5 5. Qd7+) 2. g8=Q a1=Q 3. Qg4+ Kd3 4. Qf5+ Kc4 5. Nd2+ Kb4 6. Qe4+ Kb5 (6... Ka3 7. Qd3+ Kb2 8. Nc4+) 7. Qxb7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 206 date: 1907 algebraic: white: [Kh3, Sh2, Pg7] black: [Ke3, Pa2] stipulation: + solution: | 1. Nf1+ Ke4 (1... Ke2 2. g8=Q a1=Q 3. Qg4+ Ke1 4. Qe4+ Kd1 5. Ne3+ Kd2 6. Nc4+ Kc1 7. Qe1+) (1... Kd3 2. g8=Q a1=Q 3. Qh7+ Kc4 4. Nd2+ Kb4 5. Qb7+) (1... Kf3 2. g8=Q a1=Q 3. Qg2+ Kf4 4. Qg4+ Ke5 5. Qg7+) 2. g8=Q a1=Q 3. Qe6+ Kd3 (3... Qe5 4. Nd2+ Kf4 5. Qg4+ Ke3 6. Nc4+) 4. Qf5+ Kc4 (4... Ke2 5. Qc2+ Ke1 6. Qd2+ Kxf1 7. Qg2+ Ke1 8. Qg1+) 5. Ne3+ Kb3 6. Qb5+ Ka2 7. Qa4+ Kb2 8. Nc4+ Kb1 9. Qd1+ Ka2 10. Qc2+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1907 algebraic: white: [Ke1, Sd4, Sc5] black: [Kb1, Pf3, Pd5] stipulation: + solution: | 1. Nd3 Ka2 2. Kf2 Ka3 3. Kxf3 Ka4 4. Kf4 Ka5 5. Ke5 Kb6 6. Kd6 Kb7 7. Kd7 Kb6 8. Kc8 Ka7 9. Kc7 Ka6 10. Kc6 Ka5 11. Kb7 Ka4 12. Kb6 Ka3 13. Kb5 Ka2 14. Kb4 Ka1 15. Ka3 Kb1 16. Kb3 Ka1 17. Nc2+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1907 algebraic: white: [Ka3, Sc3, Sa2] black: [Kc2, Pc4] stipulation: + solution: | "1... Kd3 2. Kb2 Kd2 3. Nb4 Ke3 4. Kc2 Kf4 5. Kd2 Kf3 6. Nc2 Kg4 7. Nd4 Kf4 8. Ke2 Kg3 9. Ke3 Kg4 10. Ke4 Kg5 11. Kf3 Kg6 12. Kg4 Kf7 13. Kf5 Ke7 14. Ke5 Kd7 15. Nf5 Kc6 16. Kd4 Kc7 17. Kc5 Kd8 18. Kd6 Ke8 19. Ke6 Kf8 20. Nd6 Kg7 21. Kf5 Kh6 22. Ne8 Kh7 23. Kg5 Kg8 24. Kf6 Kh7 25. Ng7 Kh6 26. Nf5+ Kh5 27. Ne3 Kh4 28. Kf5 Kh3 29. Ng4 Kh4 30. Nf6 Kh3 31. Ke4 Kg3 32. Ke3 Kh3 33. Kf3 Kh4 34. Kf4 Kh3 35. Ne8 Kh2 36. Kf3 Kh3 37. Ng7 Kh2 38. Nf5 Kh3 39. Kf4 Kg2 40. Nd4 Kf1 41. Nc2 Kg2 42. Ne2 Kh3 43. Kg5 Kg2 44. Kg4 Kf2 45. Ned4 Kg2 46. Kh4 c3 47. Kg4 Kf2 48. Kh3 Kg1 49. Kg3 Kh1 50. Ne6 Kg1 51. Nf4 Kf1 52. Kf3 Kg1 53. Ke2 Kh2 54. Kf2 Kh1 55. Kg3 Kg1 56. Ne3 Kh1 57. Nh3 c2 58. Ng4 c1=Q 59. Ngf2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1907 algebraic: white: [Kc6, Sf4, Se6] black: [Ka6, Pf5] stipulation: + solution: | 1. Nc7+ Ka5 2. Kc5 Ka4 3. Kc4 Ka3 4. Ncd5 Kb2 5. Ne3 Ka3 6. Nd1 Ka4 7. Nb2+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1049 date: 1907 algebraic: white: [Kb5, Bd5, Sd1, Pg6] black: [Kh3, Rf1, Ph4, Pf6, Pd4] stipulation: + solution: | 1. Nf2+ (1. g7 $2 1... Rg1 2. g8=Q Rxg8 3. Bxg8 Kg2) 1... Rxf2 (1... Kh2 2. Ng4+ Kg1 (2... Kh3 3. g7 Rb1+ 4. Kc4 Rb8 5. Nxf6 Kh2 6. Nd7 Rd8 7. Nf8) 3. g7 Rb1+ 4. Kc6 Rb8 5. Nxf6 d3 6. Kc7 d2 7. Kxb8 d1=Q 8. g8=Q+) (1... Kg3 2. g7 Rb1+ 3. Kc4 Rb8 4. Ne4+ Kf4 5. Nxf6) 2. g7 Rb2+ 3. Kc6 Rb8 4. Kc7 Re8 5. Bf7 Re7+ (5... Ra8 6. Be6+ Kg3 7. Bc8 Ra7+ 8. Bb7) 6. Kd6 Rxf7 7. g8=Q Ra7 8. Qb3+ Kg4 (8... Kg2 9. Qc2+ Kh3 10. Qd3+ Kh2 11. Qxd4 Ra2 12. Qxh4+ Kg2 13. Qg4+ Kh2 14. Qf3 Kg1 15. Qg3+ Kf1 16. Qh3+ Kg1 17. Kd5) 9. Qd1+ Kg5 10. Qxd4 Rg7 (10... Rh7 11. Ke6 Rh6 12. Qe3+ Kg6 13. Qg1+) 11. Ke6 Rg6 12. Qe3+ Kg4 13. Qe4+ Kh5 14. Kf5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1060 date: 1907 algebraic: white: [Kd6, Pg7, Pa6] black: [Kb6, Sh8, Pc3, Pa2] stipulation: + solution: | 1. g8=Q (1. gxh8=Q $1 1... a1=Q 2. Qb8+ Ka5 3. a7 Qa3+ (3... Qd1+ 4. Kc7) 4. Kc6 Qa4+ 5. Kc5 Qa3+ 6. Kd4 Qa4+ 7. Ke3) 1... a1=Q 2. Qb3+ Ka5 (2... Kxa6 3. Kc7 Ka5 4. Qb6+ Ka4 5. Qa6+) 3. a7 Qh1 4. a8=Q+ Qxa8 5. Qa3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1064 date: 1907 algebraic: white: [Kg4, Sh2, Sa4, Pc6, Pc5] black: [Kf6, Ra8, Ph3, Pg6, Pf2] stipulation: + solution: | 1. Nb6 Ra7 (1... Rh8 2. c7 Ke6 3. c8=Q+ Rxc8 4. Nxc8 Kd5 5. Nd6 Kxc5 6. Ne4+ Kd4 7. Ng5 Ke3 8. Kxh3) 2. c7 Rxc7 3. Nd5+ Ke6 4. Nxc7+ Kd7 5. Na6 Kc6 6. Kxh3 Kb5 7. Nc7+ Kc6 (7... Kxc5 8. Ne6+ Kc4 9. Ng5 Kd3 10. Nf1 Ke2 11. Kg2 Ke1 12. Ng3) 8. Ne6 g5 9. Kg2 Kd5 10. Nf3 Kxe6 11. Nxg5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1069 date: 1907 algebraic: white: [Kg4, Sd4, Sb8, Pg7] black: [Kh2, Rb2, Ph6, Pf7] stipulation: + solution: | 1. Nf3+ Kh1 2. Nd7 Rg2+ 3. Kh3 Rxg7 (3... f5 4. Nf6 Rxg7 5. Nh5 Rg8 (5... f4 6. Nxg7 h5 7. Kh4) 6. Ng3+ Rxg3+ 7. Kxg3) 4. Nf6 Rg5 5. Ne4 Rh5+ (5... Rg8 6. Ng3+ Rxg3+ 7. Kxg3) 6. Kg3 Rg5+ 7. Kf2 Rg2+ 8. Kf1 Ra2 9. Nf2+ Rxf2+ 10. Kxf2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1069 date: 1907 algebraic: white: [Kg4, Sd4, Sb8, Pg7] black: [Kh2, Rb2, Ph6, Pf7, Pf6] stipulation: + solution: | "1. Nf3+ 1... Kh1 $1 2. Nd7 Rg2+ (2... f5+ 3. Kh3 Rg2 4. Nf6 Rxg7 5. Nh5) 3. Kh3 Rxg7 (3... f5 4. Nf6 Rxg7 5. Nh5 Rg8 6. Ng3+ Rxg3+ 7. Kxg3) 4. Nxf6 Rg5 5. Ne4 Rh5+ 6. Kg3 Rg5+ 7. Kf2 Rg2+ 8. Kf1 Ra2 9. Nf2+ Rxf2+ 10. Kxf2 h5 11. Kf1 h4 12. Kf2 h3 13. Kf1 f6 14. Kf2 f5 15. Kf1 f4 16. Ne5 Kh2 (16... f3 17. Ng4 f2 18. Nxf2+ Kh2 19. Ne4 Kh1 20. Kf2 Kh2 21. Nd2 Kh1 22. Nf1 h2 23. Ng3#) 17. Kf2 Kh1 18. Ng4 f3 19. Kf1 f2 20. Nxf2+ Kh2 21. Ne4 Kh1 22. Kf2 Kh2 23. Nd2 Kh1 24. Nf1 h2 25. Ng3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1075 date: 1907 algebraic: white: [Kf2, Bd8, Sg3, Pg6] black: [Kf8, Bd5, Ph6, Pf7, Pf6] stipulation: + solution: | 1. Be7+ Kg8 (1... Kg7 $1 2. Nh5+ Kxg6 3. Nf4+ Kf5 4. Nxd5 Ke6) 2. g7 $1 2... Kxg7 3. Nh5+ Kh8 4. Nxf6 Be6 5. Bf8 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1075 date: 1907 algebraic: white: [Ke3, Bd8, Sg3, Pg6] black: [Kf8, Bd5, Ph6, Pf7, Pf6] stipulation: + solution: | "1. Be7+ Kg8 2. g7 Kxg7 3. Nh5+ Kh8 4. Nxf6 Be6 5. Bf8 Bf5 6. Kf4 Be6 7. Kg3 Bf5 8. Kh4 Be6 9. Kh5 Bf5 10. Kxh6 Be6 11. Bg7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1079 date: 1907 algebraic: white: [Kh6, Bh5, Sf6, Pd2, Pa5] black: [Kf4, Pg3, Pe5, Pe4, Pc6] stipulation: + solution: | 1. Be2 (1. Bd1 $1 1... g2 2. Nh5+ Kf5 3. Ng3+ Ke6 4. Ne2 Kd6 5. Ng1) 1... g2 2. Nh5+ Kf5 3. Bf1 $1 3... gxf1=N (3... g1=Q 4. Bh3+) (3... gxf1=Q 4. Ng3+ Ke6 5. Nxf1 Kd6 6. Kg5) (3... Ke6 4. Bxg2) 4. a6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1087 date: 1907 algebraic: white: [Ke1, Bd3, Bb8] black: [Kg1, Bh1, Pg6, Pg2, Pe3] stipulation: + solution: | "1. Be2 (1. Ke2 $1 1... g5 2. Kxe3 g4 3. Bc4 g3 4. Kf3 Kh2 5. Bxg3+ Kg1 6. Be6 Kf1 7. Bh3 Kg1 8. Bf4 Kf1 9. Be3 Ke1 10. Bf2+ Kf1 11. Kg3 Ke2 12. Bg1 Kf1 13. Kh2 Ke2 14. Bc8 Kf1 15. Ba6+ Ke1 16. Kg3) 1... g5 2. Bg4 e2 3. Bh3 g4 4. Bg3 gxh3 5. Kxe2 h2 6. Bf2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Bohemia date: 1908 algebraic: white: [Ka5, Bc8, Sh3, Pf5] black: [Ke7, Bh8, Pd2, Pb3] stipulation: "=" solution: | 1. f6+ Kxf6 2. Nf2 b2 3. Ne4+ Kg6 4. Nxd2 Bc3+ 5. Ka4 Bxd2 6. Ba6 b1=Q 7. Bd3+ Qxd3 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 208 date: 1908 algebraic: white: [Ka4, Bg2, Sh2, Pa3] black: [Ke5, Bh6, Pb2] stipulation: "=" solution: | 1. Nf3+ 1... Kf5 $1 (1... Kf6 2. Nd2 Bxd2 3. Be4) 2. Nd2 Bxd2 3. Bf1 $1 3... Ke4 (3... b1=Q 4. Bd3+ Qxd3) 4. Bc4 b1=Q (4... Kd4 5. Ba2) 5. Bd3+ Kxd3 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 215 date: 1908 algebraic: white: [Ke3, Bc6, Sf7, Ph6] black: [Kh3, Ph7, Pc4, Pa3] stipulation: + solution: | 1. Kf4 $1 1... a2 2. Ng5+ Kh4 3. Nf3+ Kh5 4. Be8+ Kxh6 5. Nd4 $3 5... Kg7 6. Nc2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 219 date: 1908 algebraic: white: [Kf4, Rc8] black: [Kh4, Bf6, Ph3, Pd3] stipulation: "=" solution: | 1. Kf3 (1. Rc7 $1) 1... h2 2. Kg2 h1=Q+ 3. Kxh1 d2 4. Rc4+ Kg3 5. Rd4 Bxd4 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 219 date: 1908 algebraic: white: [Kf4, Rc8] black: [Kh4, Bf6, Ph7, Ph3, Pd3] stipulation: "=" solution: | 1. Kf3 h2 (1... d2 2. Rc4+ Kh5 3. Rc5+ Kh4 4. Rd5) 2. Kg2 2... h1=Q+ $1 (2... d2 3. Rc4+ Kh5 4. Rc5+ Kg4 5. Rd5) 3. Kxh1 d2 4. Rc4+ 4... Kg3 $1 5. Rd4 $1 5... Bxd4 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 223 date: 1908 algebraic: white: [Kh2, Bc6, Sb8, Pg3] black: [Kg4, Bd3, Pf3, Pe4] stipulation: "=" solution: | 1. Nd7 f2 2. Nf6+ Kf5 (2... Kf3 3. Nxe4 Bxe4 4. Bxe4+ Kxe4 5. Kg2 Ke3 6. Kf1) 3. Bxe4+ Bxe4 4. Ng4 Kxg4 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 223 date: 1908 algebraic: white: [Kh1, Sb8, Ph2, Pe3, Pc7] black: [Kh5, Bh3, Pg3, Pf3] stipulation: "=" solution: | 1. c8=Q Bxc8 2. hxg3 Kg4 3. Kh2 Bb7 4. e4 Bxe4 5. Nd7 f2 6. Nf6+ Kf5 7. Ng4 Kxg4 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 231 date: 1908 algebraic: white: [Kd5, Sh5, Sb4, Ph2] black: [Kf3, Pg5] stipulation: + solution: | "1. Nd3 (1. Nf6 $2 1... Kg2 2. Ng4 Kh3) 1... Kg2 $1 2. h4 $1 2... gxh4 (2... g4 3. Ndf4+ Kf3 4. Ke5 g3 5. Kf5) 3. Ndf4+ 3... Kh2 $1 4. Ke4 h3 5. Kf3 5... Kg1 $1 6. Ng3 6... Kh2 $1 7. Nge2 Kh1 8. Nd3 Kh2 9. Kf2 Kh1 10. Ne1 Kh2 11. Nf3+ Kh1 12. Ng3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 231 date: 1908 algebraic: white: [Kd5, Sh5, Sg7, Ph2] black: [Kf3, Pg5] stipulation: + solution: | 1. Ne6 Kg2 (1... g4 2. Nef4) 2. h4 $1 2... gxh4 3. Nef4+ Kh2 4. Ke4 h3 5. Kf3 Kg1 6. Ng3 Kh2 7. Nge2 Kh1 8. Kf2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1908 algebraic: white: [Kf6, Rf7, Pe6] black: [Kc3, Rc5, Pe3] stipulation: + solution: | 1. e7 Rc8 (1... Re5 2. Kxe5 e2 3. Rf3+ Kd2 4. Rf2) 2. Rf8 Rc6+ 3. Kf5 3... Re6 $1 4. Kxe6 e2 5. Rf3+ Kd4 6. Rf4+ Kd3 7. Re4 Kxe4 8. e8=Q e1=Q (8... Ke3 $3) 9. Kf6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1908 algebraic: white: [Kh6, Rh7, Pg6] black: [Ke3, Re5, Pg3, Pd4] stipulation: + solution: | 1. g7 Re6+ 2. Kh5 $1 2... Rg6 $1 3. Kxg6 g2 4. Rh3+ Kf4 5. Rh4+ Kf3 6. Rg4 $1 6... Kxg4 7. g8=Q Kg3 8. Kh5+ 1-0 comments: - Check alsso 347138 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1908 algebraic: white: [Kd4, Sf3, Sf2] black: [Kb4, Pf4] stipulation: + solution: 1. Ne4 Kb5 2. Kc3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1908 algebraic: white: [Ke4, Sc3, Sb5] black: [Kc4, Pb6] stipulation: + solution: | 1... Kb4 2. Kd4 Ka5 3. Kc4 Ka6 4. Ne2 Ka5 5. Ned4 Ka4 6. Kc3 Ka5 7. Kb3 Ka6 8. Kb4 Kb7 9. Kc4 Ka6 10. Nc6 Kb7 11. Nb4 Kc8 12. Kd5 Kd7 13. Nc6 Ke8 14. Ke6 Kf8 15. Kf6 Ke8 16. Ne5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1908 algebraic: white: [Kg8, Sf3, Sf2] black: [Kg6, Pf4] stipulation: + solution: | 1. Kf8 Kf6 2. Ke8 Ke6 3. Kd8 Kd6 4. Kc8 Kc6 5. Kb8 Kb6 6. Ne4 Kc6 7. Ka7 Kc7 8. Ned2 Kc6 9. Ka6 Kc5 10. Kb7 Kd5 11. Kb6 Ke6 12. Ne4 Kf5 13. Nf2 Ke6 14. Kc6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1092 date: 1908 algebraic: white: [Kh5, Se2, Se1] black: [Kh1, Ph2, Pg5, Pe4, Pe3] stipulation: + solution: | "1. Kg6 g4 2. Kf5 g3 3. Kxe4 g2 4. Ng3+ Kg1 5. Kxe3 h1=Q 6. Nf3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1093 date: 1908 algebraic: white: [Kc4, Ba4, Pg2] black: [Kd6, Bg1, Pg4, Pg3, Pf4] stipulation: "=" solution: | 1. Bc2 Ke5 2. Bg6 f3 3. Kd3 Ba7 4. Be4 f2 5. Ke2 Kxe4 6. Kf1 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1093 date: 1908 algebraic: white: [Kc4, Bb3, Pg2] black: [Kd6, Bg1, Pg4, Pg3, Pf4] stipulation: "=" solution: | 1. Bc2 Bb6 2. Bg6 (2. Bh7 $1) (2. Bf5 $1) 2... f3 3. Be4 Ke5 4. Kd3 f2 5. Ke2 Kxe4 6. Kf1 Ke3 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1094 date: 1908 algebraic: white: [Kd4, Bh4, Sg1, Pb6] black: [Kb4, Bh8, Bh1, Sg7, Pg2, Pa7] stipulation: + solution: | 1. Be7+ Ka5 2. b7 Ne6+ 3. Ke4 Be5 4. Kxe5 Nd8 5. Bxd8+ Ka6 6. b8=B 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1110 date: 1908 algebraic: white: [Ke2, Sd1, Pg6] black: [Ke4, Sb4, Pf5, Pb3, Pa3] stipulation: + solution: | 1. g7 a2 (1... b2 2. g8=Q b1=Q (2... a2 3. Qa8+) 3. Nc3+ Kf4 4. Qb8+ Kg5 5. Qd8+ Kg6 6. Qg8+ Kh6 7. Qh8+ Kg6 8. Nxb1 a2 9. Nd2) 2. Nf2+ (2. g8=Q $1 2... a1=Q 3. Nf2+ Kf4 4. Nh3+ Ke4 5. Qg2+) 2... Kf4 3. Nh3+ Ke4 (3... Kg4 4. g8=Q+ Kxh3 5. Kf3) 4. Ng5+ Kf4 5. Ne6+ Ke4 6. Nc5+ Kf4 7. Nxb3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1111 date: 1908 algebraic: white: [Ka7, Qh3, Sg3, Pb4] black: [Ke1, Qb5, Sb3, Pd3, Pa6] stipulation: + solution: | 1. Ne4 Qxb4 (1... Qc6 2. Qh1+ Ke2 3. Ng3+) (1... Qe5 2. Qe3+ Kd1 3. Nf2+) (1... Qa4 2. Qe3+ Kd1 3. Nc3+) (1... d2 2. Qg3+ Kd1 (2... Ke2 3. Nc3+ Kf1 4. Qf3+) 3. Qxb3+ Ke1 4. Qg3+ Kd1 5. Nc3+ Kc2 6. Nxb5 d1=Q 7. Qc3+ Kb1 8. Na3+ Ka2 9. Qc2+) 2. Qh4+ Ke2 3. Ng3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1115 date: 1908 algebraic: white: [Kf4, Sd5, Pg7] black: [Kf1, Ba4, Pb5, Pa2] stipulation: + solution: | 1. Ne3+ (1. g8=Q $2 1... a1=Q 2. Ne3+ Ke2 3. Qg2+ Kd3 4. Qe4+ Kd2) 1... Ke2 2. Nc2 $1 2... Bxc2 3. g8=Q a1=Q 4. Qg2+ Kd3 5. Qe4+ Kd2 6. Qe3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1116 date: 1908 algebraic: white: [Ke6, Rf7, Pe7] black: [Kc4, Sb6, Pe2] stipulation: + solution: | 1. Rf4+ Kd3 2. Re4 Kxe4 3. e8=Q e1=Q (3... Nd5 $1 4. Qa4+ $1 (4. Kd6+ Kd3 5. Kxd5 Kd2)) (3... Nc4 $1) 4. Kf6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1116 date: 1908 algebraic: white: [Ke6, Rf7, Pe7] black: [Kc4, Sb8, Pe2] stipulation: + solution: 1. Rf4+ Kd3 2. Re4 Kxe4 3. e8=Q 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1133 date: 1908 algebraic: white: [Kf2, Qg1, Sa4] black: [Ke4, Qb8, Sg8, Pc6] stipulation: + solution: | 1. Qg6+ Kd4 2. Qg4+ Kd5 (2... Kd3 3. Qe2+ Kd4 4. Qe3+ Kd5 (4... Kc4 5. Qc3+ Kd5 6. Qd3+) 5. Qd3+ Ke6 6. Nc5+ Ke7 7. Qh7+) 3. Qf3+ Ke6 4. Nc5+ Ke7 5. Qe4+ Kd8 6. Qh4+ Kc8 7. Qg4+ Kd8 8. Qxg8+ Kc7 9. Na6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur date: 1908 algebraic: white: [Kd6, Pg7, Pa6] black: [Kb6, Pc3, Pa2] stipulation: + solution: | 1. g8=Q a1=Q 2. Qb3+ Ka5 3. a7 Qh1 4. a8=Q+ Qxa8 5. Qa3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack date: 1908 algebraic: white: [Kc7, Sh5, Pb7] black: [Kd5, Sb1, Pg2, Pf3] stipulation: + solution: | 1. b8=Q g1=Q 2. Qb3+ Ke5 3. Qb5+ Ke4 4. Qc6+ Kd3 5. Nf4+ Kd2 6. Qd5+ Ke1 7. Qa5+ Kf1 8. Qb5+ Ke1 9. Qxb1+ Kf2 10. Nh3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack date: 1908 algebraic: white: [Kd3, Sg8, Pf5, Pd6] black: [Kf3, Sg2, Sd5, Pf4] stipulation: + solution: | 1. f6 (1. d7 $2 1... Nb4+ 2. Kc3 Nc6 3. f6 Nd8 4. Nh6 Nh4 5. f7 Ng6) 1... Nh4 2. d7 (2. f7 $2 2... Ng6 3. d7 Ne5+ 4. Kd4 Nxf7) 2... Nb4+ 3. Kc3 Nc6 4. f7 Ng6 5. Ne7 $1 5... Nf8 6. Nxc6 Nxd7 7. Ne5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack date: 1908 algebraic: white: [Kf2, Bg4, Sb5, Pg6] black: [Ke8, Pe7, Pd7, Pa2] stipulation: "=" solution: | 1. Bxd7+ Kf8 (1... Kxd7 $1 2. g7 a1=Q 3. g8=Q Qb2+) 2. Nd4 a1=Q 3. Ne6+ Kg8 4. Be8 Qf6+ 5. Kg3 Qe5+ 6. Kf3 Qxe6 7. Bf7+ Qxf7+ 8. gxf7+ Kxf7 9. Ke3 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: date: 1909 algebraic: white: [Kb7, Sh2, Sd5] black: [Kb1, Ph4] stipulation: + solution: 1... Kc2 2. Nf4 h3 3. Kc6 Kc3 4. Kc5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia date: 1909 algebraic: white: [Kg8, Qc8, Bc3] black: [Kg6, Qe4, Pf4, Pe5, Pb7] stipulation: + solution: | 1. Qg4+ Kf6 (1... Kh6 2. Qh4+ Kg6 3. Qh7+) 2. Qg7+ Ke6 3. Bb4 $1 3... Qxb4 ( 3... Qf5 4. Qe7+ Kd5 5. Qc5+ Ke4 6. Qc2+) (3... Kd5 4. Qxb7+ Kd4 5. Bc5+ Kd3 6. Qb1+) 4. Qf7+ Kd6 5. Qf8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia date: 1909 algebraic: white: [Kb1, Qf1, Bf6] black: [Kb3, Qd5, Sh1, Pd4, Pc5] stipulation: + solution: | "1. Qb5+ Kc3 2. Qb2+ Kd3 3. Bg5 $1 3... Ke4 (3... Qc4 $1 4. Qd2+ Ke4 5. Qf4+ Kd3 (5... Kd5 6. Qf7+) 6. Qf3#) (3... Qxg5 4. Qc2+ Ke3 5. Qc1+) 4. Qg2+ Ke5 5. Bf4+ Ke6 6. Qg8+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 251 date: 1909 algebraic: white: [Ka4, Qb5, Se5, Pe3] black: [Ke4, Qh8, Bf8, Pg7] stipulation: + solution: | 1. Nf7 Qh2 (1... Qg8 2. Qb3) 2. Ng5+ Kxe3 3. Qb6+ Bc5 (3... Kd3 4. Qb3+) 4. Qxc5+ Kd3 5. Qa3+ Kc4 6. Qb3+ Kc5 7. Qb5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 253 date: 1909 algebraic: white: [Kh7, Bd1, Pb7] black: [Kf5, Pg2, Pe4, Pc7, Pc3] stipulation: + solution: | 1. Bg4+ Kf6 (1... Kxg4 $1 2. b8=Q Kf3 3. Qb1 c2 4. Qe1 e3 5. Kh6 c1=Q 6. Qxc1 Kf2) 2. b8=Q g1=Q 3. Qd8+ (3. Qh8+ $1 3... Ke7 (3... Kg5 4. Qd8+ Kf4 5. Qxc7+ Kg5 6. Qe7+ Kf4 7. Qd6+ Kg5 8. Qh6+ Kxg4 9. Qg6+) 4. Qe5+ Kd8 5. Qf6+ Ke8 6. Qe6+ Kf8 7. Qc8+ Ke7 8. Qd7+ Kf8 9. Qg7+) 3... Ke5 4. Qxc7+ Kd5 5. Qb7+ Ke5 6. Qb5+ Kd6 (6... Kf4 7. Qb8+ Kg5 8. Qd8+ Kf4 9. Qd6+) 7. Qd7+ Ke5 8. Qe6+ Kf4 ( 8... Kd4 9. Qb6+) 9. Qd6+ Kg5 10. Qh6+ Kxg4 11. Qg6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 253 date: 1909 algebraic: white: [Kh7, Bg4, Pb7] black: [Kf6, Pg2, Pe4, Pc7, Pc3] stipulation: + solution: | 1. b8=Q g1=Q 2. Qd8+ Ke5 3. Qxc7+ Kd5 4. Qb7+ Ke5 5. Qb5+ Kd6 (5... Kf4 6. Qb8+ Kg5 7. Qd8+ Kf4 8. Qd6+) 6. Qd7+ Ke5 7. Qe6+ Kf4 8. Qd6+ Kg5 (8... Ke3 9. Qc5+) 9. Qh6+ Kxg4 10. Qg6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1909 algebraic: white: [Kc3, Sd5, Sd3] black: [Ka1, Ph4, Ph3] stipulation: + solution: 1. Nf2 h2 2. Nh1 Kb1 3. Nf4 h3 4. Nd3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1909 algebraic: white: [Ke3, Sf3, Sd2] black: [Kh3, Ph4, Pg6] stipulation: + solution: | 1. Ng5+ Kg3 2. Ndf3 h3 3. Nh2 Kxh2 4. Kf2 Kh1 5. Ne4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1909 algebraic: white: [Kh7, Sf5, Sf2] black: [Kb3, Ph2, Pf6] stipulation: + solution: | 1. Kg6 Kc3 2. Kh5 Kd2 3. Kg4 Ke2 4. Nh1 Kf1 5. Kf3 Kg1 6. Nfg3 f5 7. Ne2+ Kf1 8. Nhg3+ Ke1 9. Nf4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1909 algebraic: white: [Ke3, Sh1, Sg1] black: [Ke1, Ph6, Pg3, Pf6] stipulation: + solution: | "1... Kf1 2. Nf3 Kg2 (2... g2 3. Ng3#) 3. Kf4 Kxh1 4. Kxg3 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1909 algebraic: white: [Kf2, Sh1, Sg2] black: [Kh3, Ph5, Ph4, Pg4] stipulation: + solution: "1. Ng3 hxg3+ 2. Kg1 h4 3. Nf4# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1909 algebraic: white: [Kc7, Sh2, Sg6, Pd6] black: [Kb1, Rf6, Ph4] stipulation: + solution: | 1. d7 Rf7 2. Kc8 Rxd7 3. Kxd7 Kc2 4. Nf4 h3 5. Kc6 Kd2 6. Kd5 Ke3 7. Ke5 Kf2 8. Ke4 Kg3 9. Ne2+ Kf2 10. Kd3 Ke1 11. Nc3 Kf2 12. Kd2 Kg2 13. Ke2 Kg3 14. Ke3 Kh4 15. Kf4 Kh5 16. Kf5 Kh4 17. Ne2 Kh5 18. Ng3+ Kh4 19. Ngf1 Kh5 20. Ne3 Kh6 21. Kf6 Kh7 22. Nf5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1909 algebraic: white: [Kc5, Sh6, Sc4] black: [Ka6, Ph7] stipulation: + solution: | 1... Kb7 2. Kd6 Kc8 3. Na5 Kd8 4. Nb7+ Ke8 5. Ke6 Kf8 6. Nf5 h5 7. Nh4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1909 algebraic: white: [Kd4, Sh3, Sg5] black: [Kb3, Ph4] stipulation: + solution: 1. Ne4 Kb2 2. Nd2 Kc2 3. Nc4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1909 algebraic: white: [Kd4, Sh3, Sg5] black: [Kc6, Ph4] stipulation: + solution: 1. Ne4 Kb6 2. Nd6 Kc6 3. Nc4 Kb5 4. Ne5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1909 algebraic: white: [Kd4, Sh3, Sg5] black: [Kd2, Ph4] stipulation: + solution: | 1. Nf3+ Ke2 2. Ke4 Kf1 3. Ke3 Kg2 4. Nfg5 Kg3 5. Ke4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1909 algebraic: white: [Kb7, Sh2, Sf8, Pc6] black: [Kc1, Rd5, Ph4] stipulation: + solution: | 1. c7 1... Rc5 $1 (1... Rb5+ $2 2. Kc6 Rb2 3. Nd7) 2. Ne6 $1 2... Rc2 3. Kb6 ( 3. c8=Q $2 3... Rxc8 4. Kxc8) 3... Rxc7 4. Kxc7 Kd2 5. Nf4 $1 5... h3 $1 6. Kd6 $1 6... Kc2 (6... Ke3 7. Ke5 Kf2 8. Ke4 Kg3 9. Ne2+) (6... Kd1 7. Kd5) 7. Kc6 $1 7... Kd2 (7... Kb2 8. Kb5 Kb3 9. Nd5) 8. Kd5 Ke3 9. Ke5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1909 algebraic: white: [Kc7, Sh2, Se7, Pb6] black: [Kb1, Rd4, Ph4] stipulation: + solution: | 1. b7 1... Rb4 $1 (1... Rc4+ 2. Nc6) 2. Nd5 $1 (2. b8=Q $2 2... Rxb8 $1) 2... Rxb7+ (2... Rc4+ 3. Kd7) (2... Kb2 3. Nb6) 3. Kxb7 Kc2 (3... Kc1 4. Kc6 (4. Nf4 $2 4... h3 5. Kc6 5... Kc2 $1) 4... Kc2 (4... h3 5. Kc5) 5. Kc5 Kd3 6. Nf4+ Kd2 7. Kd4) 4. Nf4 h3 5. Kc6 Kb2 (5... Kc3 6. Kc5) 6. Kb5 $1 6... Kb3 (6... Kc3 7. Kc5) 7. Nd5 Ka3 8. Kc5 Ka4 9. Kb6 Ka3 10. Ka5 Kb3 11. Kb5 Ka3 12. Nc3 Kb3 13. Ne4 Ka3 14. Nc5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1158 date: 1909 algebraic: white: [Kh3, Sc1, Pg6, Pe5] black: [Kf2, Rd2, Pe6, Pd5] stipulation: "=" solution: | 1. g7 Rd1 2. Ne2 $1 2... Rh1+ 3. Kg4 Kxe2 4. g8=Q Rg1+ 5. Kf4 Rxg8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1159 date: 1909 algebraic: white: [Kh3, Rb7, Pb4] black: [Kh1, Sh2, Pd4, Pd3, Pb5] stipulation: "=" solution: | 1. Rd7 Nf3 2. Kg3 d2 3. Kf2 d1=Q 4. Rh7+ Nh2 5. Rxh2+ Kxh2 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1160 date: 1909 algebraic: white: [Ke2, Qa2, Bc5] black: [Kf4, Qd8] stipulation: + solution: | 1. Qe6 Qa5 (1... Qa8 2. Be3+ (2. Qf6+ $1 2... Kg4 (2... Kg3 3. Bf2+) (2... Ke4 3. Qf3+) 3. Qg6+ Kh3 4. Qh5+ Kg2 5. Qg4+) 2... Kg3 3. Qg6+ Kh3 (3... Kh2 4. Bf4+ Kh1 5. Qb1+) 4. Qf5+ Kg2 5. Qg4+) (1... Kg3 2. Bd6+ Kg2 3. Qg4+) 2. Be3+ Kg3 3. Bf2+ Kf4 (3... Kh2 4. Qd6+ Kh1 5. Qd1+) 4. Qh6+ Kg4 5. Qh4+ Kf5 6. Qh5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1160 date: 1909 algebraic: white: [Kg5, Qg1, Bd3] black: [Ke6, Qa4] stipulation: + solution: | 1. Qc5 1... Qd1 $1 (1... Qe8 2. Bf5+) (1... Kd7 2. Bf5+) (1... Kf7 2. Bg6+) ( 1... Qa8 2. Bf5+) 2. Bf5+ (2. Qc6+ $2 2... Ke5 $1 (2... Ke7 $2 3. Qc7+) (2... Kf7 $2 3. Qc7+)) 2... Kf7 3. Bg6+ 3... Ke6 $1 4. Qc8+ Ke5 5. Qe8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1164 date: 1909 algebraic: white: [Kd2, Sg4, Se4] black: [Kh1, Sg2, Ph4] stipulation: + solution: | "1. Nef2+ Kg1 2. Nh3+ Kh1 3. Ke2 Nf4+ 4. Nxf4 Kg1 5. Ke1 h3 6. Nh2 Kh1 7. Kf1 Kxh2 8. Ne2 Kh1 9. Kf2 Kh2 10. Nd4 Kh1 11. Nf5 Kh2 12. Ne3 Kh1 13. Nf1 h2 14. Ng3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1164 date: 1909 algebraic: white: [Kd3, Sg4, Se4] black: [Kh1, Sg2, Ph4] stipulation: + solution: | "1. Nef2+ Kg1 2. Nh3+ Kh1 (2... Kf1 3. Kd2 Nf4 4. Ne3#) 3. Ke2 Nf4+ 4. Nxf4 Kg1 5. Ke1 h3 6. Nh2 Kh1 7. Kf1 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1165 date: 1909 algebraic: white: [Kh3, Sh1, Sa6, Pg6] black: [Kd4, Re2, Ph6] stipulation: + solution: | 1. Nc7 (1. g7 $2 1... Re8 2. Nc7 Rg8 3. Ng3 h5 4. Kh4 Ke5) 1... Re5 (1... Re7 2. g7 Rxg7 3. Ne6+ Ke5 4. Nxg7) (1... Rb2 2. g7 Rb8 3. Ne6+ Ke5 4. Nf8) 2. Ng3 Ke3 (2... Kc4 3. g7 Rg5 4. Ne6 Rg6 5. Nf5 Kb5 6. Ne7 Rg1 7. g8=Q Rxg8 8. Nxg8) (2... Kc3 3. g7 Rg5 4. Ne4+) (2... Kd3 3. g7 Rg5 4. Ne6 Rg6 5. Nf4+) (2... Rg5 3. Ne6+ Ke5 4. Nxg5 Kf6 5. Nf3) 3. g7 Rg5 4. Ne6 Rg6 5. Nf8 Rg5 6. Nh7 Rg6 7. Nf6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1170 date: 1909 algebraic: white: [Kb4, Sg1, Pg7] black: [Kh4, Sc8, Pd2] stipulation: + solution: | 1. Nf3+ $1 1... Kh3 2. g8=Q d1=Q 3. Qh7+ Kg4 (3... Kg3 4. Qh4+ Kg2 5. Qh2+ Kf1 6. Qg1+ Ke2 7. Nd4+ Kd2 8. Nb3+ Ke2 9. Nc1+ Kd2 10. Qf2+ Kxc1 11. Kc3) 4. Qe4+ Kg3 5. Qh4+ Kg2 6. Qh2+ Kf1 7. Qg1+ Ke2 8. Nd4+ Kd2 9. Nb3+ Ke2 (9... Kc2 10. Qf2+ Kb1 11. Kc3) 10. Nc1+ Kd2 11. Qf2+ Kxc1 12. Kc3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1171 date: 1909 algebraic: white: [Ke4, Qh1, Se8, Pf2, Pd5] black: [Kb5, Qa7, Sb8, Pd3, Pb7] stipulation: + solution: | "1. Qb1+ Kc4 (1... Kc5 2. Qc1+ Kb4 3. Qb2+ Kc4 (3... Ka5 4. Qa3+ Kb6 5. Qb4+ Ka6 6. Nc7#) 4. Nd6+ Kc5 5. Qd4+) 2. Nd6+ Kc5 (2... Kc3 3. Nb5+) 3. Nxb7+ Kc4 4. Nd6+ Kc5 5. Qc1+ Kxd6 (5... Kb4 6. Qc4+) 6. Qf4+ Ke7 7. Qh4+ Kd6 8. Qg3+ Ke7 ( 8... Kc5 9. Qe3+) 9. Qg7+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1174 date: 1909 algebraic: white: [Kd6, Sg7, Pb7, Pa2] black: [Kc4, Bd4, Ph4, Pc2] stipulation: + solution: | 1. b8=Q Bc5+ (1... Kc3 2. Qb3+ Kd2 3. Qd5 Kc3 (3... c1=Q 4. Qxd4+ Ke2 5. Qe4+ Kf2 6. Qxh4+ Ke2 7. a4) 4. Nf5 Ba7 5. Qf3+ 5... Kd2 $1 (5... Kb2 6. Qb3+ Kc1 7. Ne3) 6. Qf4+ Kd1 7. Nd4) 2. Ke6 $1 (2. Ke5 $2 2... Bd4+ $1 3. Kd6 $1 3... Bc5+ 4. Ke6 $1) 2... c1=Q (2... Kc3 3. Qb3+ Kd2 4. Qd5+) 3. Qb3+ Kd4 4. Nf5+ Ke4 5. Ng3+ $1 5... hxg3 6. Qd5+ Kf4 7. Qf5+ Ke3 8. Qg5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1174 date: 1909 algebraic: white: [Ke8, Se7, Ph7, Pd3] black: [Ke6, Ba3, Pg2, Pf4, Pd5] stipulation: + solution: | "1. h8=Q (1. d4 $1 1... g1=Q 2. h8=Q Qg5 3. Qh3+ Kf6 4. Qh7 Ke6 5. Qf7+ Kd6 6. Nc8+ Kc6 7. Qd7#) 1... g1=Q 2. Qh6+ Ke5 3. Nc6+ Kf5 4. Nd4+ Qxd4 5. Qh5+ Ke6 6. Qf7+ Kd6 7. Qd7+ Kc5 (7... Ke5 8. Qg7+) 8. Qa7+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1179 date: 1909 algebraic: white: [Kg4, Be3, Sd8, Ph6, Pf6] black: [Kf8, Qa5, Bg8, Pa3] stipulation: "=" solution: | 1. h7 Qb4+ 2. Kh3 $1 2... Bxh7 3. Bh6+ Kg8 (3... Ke8 4. f7+ Kxd8 5. f8=Q+ Qxf8 6. Bxf8 a2 7. Bg7) 4. f7+ Kh8 5. f8=Q+ Qxf8 6. Bxf8 a2 7. Ne6 Bf5+ 8. Kh4 $1 8... Bxe6 9. Bd6 $1 9... a1=Q 10. Be5+ Qxe5 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1180 date: 1909 algebraic: white: [Ka1, Rd2, Bh6, Pf3] black: [Kg3, Se2, Ph3, Pf4, Pd3, Pa2] stipulation: "=" solution: | 1. Rxd3 h2 2. Bxf4+ 2... Kxf4 $1 3. Rd1 Ng1 4. Rd2 h1=Q 5. Rh2 $1 5... Qxf3 6. Rf2 Qxf2 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1181 date: 1909 algebraic: white: [Kb5, Qc3, Sc6] black: [Ke6, Qh7, Pg5, Pd3] stipulation: + solution: | "1. Nd8+ 1... Kd5 $1 (1... Kd6 2. Qc5+ Kd7 3. Qa7+) 2. Nf7 Qh4 (2... Qe4 3. Qc5+ Ke6 4. Nxg5+) 3. Nxg5 Qf2 (3... Qd4 4. Qc6+ Ke5 5. Nf3+) (3... Kd6 4. Qc6+ Ke7 5. Qe6+ Kd8 6. Nf7+ Kc7 7. Qc6+ Kb8 8. Ne5 Ka7 9. Qc7+ Ka8 10. Qc8+ Ka7 11. Nc6#) 4. Qc6+ Ke5 5. Qe6+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1181 date: 1909 algebraic: white: [Kd2, Qf3, Sc3] black: [Kc5, Qb8, Sg7, Ph4, Pg5, Pg3, Pc6] stipulation: + solution: | 1. Na4+ Kd4 (1... Kb4 2. Qc3+ Kxa4 3. Qa1+ Kb3 4. Qb1+ Ka4 5. Qxb8 g2 6. Qb1) ( 1... Kc4 2. Qd3+ Kb4 3. Qb1+) (1... Kd6 $1) 2. Nb6 2... Qe8 $1 3. Nd7 Qg6 (3... Qxd7 4. Qd3+ Ke5 5. Qxd7 Nf5 6. Qh7 g2 7. Qc7+ Kd5 8. Qd8+ Ke4 9. Qxg5 h3 10. Ke2) (3... Kc4 4. Qc3+ Kb5 5. Qc5+ Ka4 6. Nb6+ Kb3 7. Qc3+ Ka2 8. Nc4 Qd7+ ( 8... Qb8 9. Qa3+ Kb1 10. Kd1) 9. Kc2) 4. Qc3+ Kd5 5. Qc5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1181 date: 1909 algebraic: white: [Kd2, Qg3, Sa4] black: [Kd4, Qb8, Sc7] stipulation: + solution: | "1. Nb6 $1 1... Qe8 $1 2. Nd7 $1 2... Kc4 $1 (2... Qe4 3. Qc3+) 3. Qxc7+ (3. Qc3+ $2 3... Kb5 4. Qc5+ Ka4 5. Nb6+ (5. Qd4+ 5... Ka3 $1 6. Nc5 (6. Nb6 Qb5 7. Qa1+ Kb3) 6... Nd5 $1 7. Qxd5 Qb5) 5... Kb3 6. Qc3+ Ka2 7. Kc1 (7. Nc4 Qb5) 7... Qe2 $1 8. Qa5+ Kb3 9. Qa4+ Kc3 10. Nd5+ Nxd5) 3... Kb4 4. Qc5+ Kb3 (4... Ka4 5. Nb6+ Kb3 6. Qc3+ Ka2 7. Nd5 (7. Nc4 $2 7... Qb5) 7... Qd7 8. Kc1) 5. Qc3+ Ka4 (5... Ka2 6. Kc1 $1 6... Qe7 7. Qa5+ Kb3 8. Nc5+ Kc4 9. Qa6+) 6. Qd4+ Ka3 (6... Kb3 7. Nc5+ Ka2 8. Qc4+) (6... Kb5 7. Qc5+ Ka4 8. Nb6+ Kb3 9. Qc3+ Ka2 10. Nd5) 7. Nc5 $1 (7. Nb6 $2 7... Qb8 (7... Qc6 $2 8. Nc4+) (7... Qb5 8. Qa1+ Kb3 9. Qb1+) 8. Qa4+ (8. Qa1+ Kb3 9. Qb1+ Ka3 10. Nc4+ Ka4 11. Qa2+ Kb5 12. Qb2+ Ka4 13. Qa3+ Kb5 14. Qb3+ 14... Ka6 $1 15. Qa4+ Kb7 16. Na5+ Kc7) 8... Kb2 9. Nc4+ Kb1) 7... Qb8 (7... Qb5 8. Qa1+ Kb4 9. Qc3#) 8. Qa1+ Kb4 9. Na6+ $1 (9. Qb2+ $2 9... Ka5) 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1181 date: 1909 algebraic: white: [Kd2, Qf3, Sc3] black: [Kc5, Qb8, Sg7, Ph4, Pg3, Pc6] stipulation: + solution: | 1. Na4+ Kd4 (1... Kc4 2. Qd3+ Kb4 3. Qb1+) 2. Nb6 (2. Qe3+ $1 2... Kd5 3. Nc3+ Kc4 4. Qd3+ Kc5 5. Na4+ Kb4 6. Qb1+) 2... Qe8 $1 3. Nd7 Qg6 (3... Qxd7 4. Qd3+ Ke5 5. Qxd7 5... Nf5 $1 6. Qh7 g2 7. Qc7+ Kd5 8. Qd8+ Ke4 9. Qg5 h3 10. Ke2) ( 3... Kc4 4. Qc3+ Kb5 5. Qc5+ Ka4 6. Nb6+ Kb3 7. Qc3+ Ka2 8. Nc4 Qd7+ (8... Qb8 9. Qa3+ Kb1 10. Kd1) 9. Kc1) 4. Qc3+ Kd5 5. Qc5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1183 date: 1909 algebraic: white: [Kd5, Bf5, Se7, Pd2, Pb6] black: [Kb5, Rf2, Se6, Pd7, Pa7] stipulation: + solution: | "1. b7 Nc7+ (1... Rxd2+ 2. Ke5) 2. Kd6 $1 2... Na6 3. Bd3+ $1 3... Kb6 (3... Ka5 4. Bxa6 Rxd2+ 5. Kc7 Rb2 6. Bc4) 4. Bxa6 Rxd2+ 5. Nd5+ Rxd5+ 6. Kxd5 Kc7 7. b8=Q+ Kxb8 8. Kd6 Ka8 9. Kc7 d5 10. Bb7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1183 date: 1909 algebraic: white: [Kd5, Bg2, Pb6, Pa6] black: [Kb5, Bb2, Se8, Pd7, Pd4, Pa7] stipulation: + solution: | "1. b7 Nc7+ (1... Nf6+ 2. Ke5 $1 2... d3+ 3. Kf5 $1) 2. Kd6 Nxa6 3. Bf1+ 3... d3 $1 4. Bxd3+ Kb6 5. Bxa6 Be5+ 6. Kxe5 Kc7 7. b8=Q+ Kxb8 8. Kd6 Ka8 9. Kc7 d5 10. Bb7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1183 date: 1909 algebraic: white: [Kd5, Bf5, Se7, Pd4, Pb6] black: [Kb5, Rf4, Se6, Pd7, Pa7] stipulation: + solution: | "1. b7 Nc7+ 2. Kd6 Na6 3. Bd3+ Kb6 4. Bxa6 Rxd4+ 5. Nd5+ (5. Ke5 $1 5... Kc7 6. Kxd4) 5... Rxd5+ 6. Kxd5 Kc7 7. b8=Q+ Kxb8 8. Kd6 Ka8 9. Kc7 d6 10. Bb7# $1 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1188 date: 1909 algebraic: white: [Kb4, Rg7, Rc8, Pe6] black: [Kb2, Qh3, Sd8, Ph4, Pe3, Pa3] stipulation: "=" solution: | 1. e7 Qxc8 (1... Nc6+ 2. Rxc6 Qd7 3. Rg2+ Kb1 4. Rg1+) 2. Rg2+ 2... Kb1 $1 3. e8=Q Nc6+ 4. Kc3 Qxe8 5. Rg1+ Ka2 6. Rg2+ e2 7. Rxe2+ Qxe2 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1189 date: 1909 algebraic: white: [Kg3, Qb7, Bd6] black: [Kg5, Qh8, Ba5, Ph6, Pf3, Pe6, Pc5] stipulation: + solution: | 1. Qf7 1... Bc7 $1 (1... Be1+ $2 2. Kh3 Qf6 3. Be7) 2. Bxc7 Qf6 3. Bd8 $1 3... Qxd8 4. Qg7+ Kf5 5. Qg4+ Ke5 (5... Kf6 6. Qh4+) 6. Qf4+ Kd5 7. Qd2+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1191 date: 1909 algebraic: white: [Kg2, Ba2, Ph2, Pb5] black: [Kh5, Bc2, Ph6, Pd5] stipulation: + solution: | 1. b6 Be4+ 2. Kg3 d4 3. h4 $1 3... Kg6 4. Bb1 Bxb1 5. b7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1192 date: 1909 algebraic: white: [Ke5, Rc1, Pe4, Pa6] black: [Kh7, Rg2, Pc7, Pa3] stipulation: + solution: | 1. a7 Rg5+ 2. Kf6 Ra5 3. Kf7 Kh6 4. Rc6+ (4. e5 $1 4... a2 5. e6 Rxa7 6. e7 c5 7. Kf8 a1=Q 8. Rxa1 Rxa1 9. e8=Q Rf1+ 10. Kg8) 4... Kg5 5. Rc5+ Rxc5 6. a8=Q Rc3 7. Qd5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1192 date: 1909 algebraic: white: [Ke5, Rc1, Pe4, Pa6] black: [Kh7, Rb2, Pc7, Pa3] stipulation: + solution: | 1. a7 (1. Rc5 a2 2. Ra5 2... Rb5+ $1) (1. Rxc7+ $2 1... Kg6 2. Rc1 Rb5+) (1. Kf6 $2 1... Rb6+ 2. Kf7 Rxa6 3. e5 a2 4. Rh1+ Rh6 5. Ra1 5... Rh2 $1 6. e6 Rf2+ 7. Ke8 7... Rd2 $1 8. e7 c5) 1... Rb5+ 2. Kf6 Ra5 3. Kf7 $1 3... Kh6 4. Rc6+ ( 4. e5 $1 4... a2 5. e6 Rxa7 (5... a1=Q 6. Rxa1 Rxa1 7. e7) 6. e7 c5 7. Kf8 Ra8+ 8. e8=Q Rxe8+ 9. Kxe8 Kg5 10. Kd7) 4... Kh7 5. Rc5 $1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1194 date: 1909 algebraic: white: [Ke7, Qa6, Sb5, Pc3] black: [Kd5, Qb2, Be4, Pe3, Pd3] stipulation: + solution: | 1. Nc7+ Kc5 2. Ne6+ Kd5 3. Nf4+ Kc5 4. Nxd3+ Bxd3 5. Qc8+ Kd5 6. c4+ Bxc4 (6... Ke4 7. Qg4+) 7. Qe6+ Kc5 8. Qd6+ Kb5 9. Qb8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1194 date: 1909 algebraic: white: [Ke7, Qa6, Sa2, Pc3] black: [Kd5, Qb2, Be4, Pe3] stipulation: + solution: | 1. Nb4+ Kc5 2. Nd3+ Bxd3 3. Qc8+ Kd5 4. c4+ $3 4... Bxc4 (4... Ke4 5. Qg4+ Ke5 6. Qg7+) 5. Qe6+ Kc5 6. Qd6+ Kb5 7. Qb8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1194 date: 1909 algebraic: white: [Ke3, Qb2, Sg2, Pa5] black: [Kc5, Qc8, Ba8, Pf7, Pc4] stipulation: + solution: | 1. Qb6+ Kd5 2. Nf4+ (2. Qd4+ $2 2... Ke6 3. Qg4+ f5) 2... Ke5 3. Ng6+ $1 3... fxg6 4. Qd4+ Kf5 5. Qf4+ Ke6 6. Qg4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack source-id: 60 date: 1909 algebraic: white: [Kh4, Sc2, Pg6, Pe2] black: [Ke5, Rb3, Bb6, Pd4] stipulation: "=" solution: | 1. g7 1... Rb1 $1 (1... Bd8+ $1 2. Kg4 Rb1 3. Nb4 Rg1+ 4. Kf3 Bb6) 2. Ne3 $1 2... dxe3 3. g8=Q Rh1+ 4. Kg3 Rg1+ 5. Kf3 Rxg8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack source-id: 096 date: 1910 distinction: Commendation algebraic: white: [Kb8, Qe4, Bd3] black: [Kg8, Qd1, Pe5, Pc7] stipulation: + solution: | 1. Qh7+ Kf8 2. Bc4 Qd8+ (2... Qf3 3. Kxc7 Ke8 4. Qg8+ Qf8 5. Qg6+) (2... Ke8 3. Qf7+ Kd8 4. Qf6+ Kd7 5. Bb5+) 3. Kb7 3... Qf6 $1 4. Kc8 $1 4... Qg7 (4... Ke8 5. Qg8+) 5. Qh4 Qg6 6. Qh8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack source-id: 106 date: 1910 distinction: Commendation algebraic: white: [Ke2, Bh5, Sd3, Pg6, Pe5] black: [Ke4, Be8, Sc4, Pf5, Pd7] stipulation: + solution: | 1. e6 dxe6 (1... Nb6 2. g7 Bxh5+ 3. Kf2) 2. Nf2+ Kf4 3. g7 Bxh5+ 4. Ng4 Bf7 ( 4... Bxg4+ 5. Kf2 e5 6. g8=Q) 5. Nh6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Нива source-id: 17 date: 1910-10 distinction: 3rd Prize algebraic: white: [Kd3, Sd2, Pg6] black: [Ka6, Bd7, Sd1, Ph7, Pa7] stipulation: "=" solution: | "1. gxh7 Bf5+ 2. Ne4 $1 (2. Ke2 Nc3+) 2... Bxh7 3. Kd2 Nb2 (3... Bxe4 4. Kxd1) 4. Kc3 Na4+ 5. Kb4 Nb2 (5... Nb6 $4 6. Nc5#) 6. Kc3 Nd1+ 7. Kd2 1/2-1/2" --- authors: - Троицкий, Алексей Алексеевич source: Шахматное обозрение date: 1910 distinction: 4th-5th Prize algebraic: white: [Kd3, Rc6, Sf4] black: [Kb3, Pa3, Pa2] stipulation: + solution: | "1.Rc6-c1 a2-a1=Q 2.Rc1*a1 Kb3-b2 3.Ra1-f1 ! a3-a2 4.Kd3-c4 a2-a1=Q 5.Sf4-d3+ Kb2-a2 6.Sd3-b4+ Ka2-b2 7.Rf1-f2+ Kb2-c1 8.Sb4-a2+ Kc1-b1 9.Kc4-b3 ! 7...Kb2-b1 8.Kc4-b3 1...Kb3-b2 2.Kd3-d2 a2-a1=Q 3.Sf4-d3+ Kb2-a2 4.Sd3-b4+ Ka2-b2 5.Rc1*a1 Kb2*a1 6.Kd2-c1 a3-a2 7.Sb4-c2# 1.Rc6-c3+ ! {cook} Kb3-b2 2.Rc3-c2+ Kb2-b3 3.Rc2-c1" keywords: - Cooked --- authors: - Троицкий, Алексей Алексеевич source: date: 1910 algebraic: white: [Ke2, Sf4, Sd3] black: [Kh2, Pd4] stipulation: + solution: | "1. Kf2 Kh1 2. Nh3 Kh2 3. Ng5 Kh1 4. Ne1 d3 5. Nef3 d2 6. Ne4 d1=N+ 7. Kg3 Ne3 8. Nf2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Bohemia date: 1910 algebraic: white: [Kf2, Sf4, Pg6, Pd6] black: [Kh4, Bh6, Sh2] stipulation: + solution: | 1. Ng2+ (1. d7 $2 1... Ng4+ 2. Kg2 Bg5) 1... Kh5 (1... Kh3 2. Ne3) 2. d7 Bg5 3. g7 Ng4+ 4. Kg3 Nh6 5. Nf4+ Bxf4+ 6. Kxf4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1910 algebraic: white: [Ke5, Sf1, Sd2] black: [Kh4, Pf4, Pf3, Pf2] stipulation: + solution: | 1... Kh3 2. Kf5 Kh4 3. Kg6 Kg4 4. Nh2+ Kh3 5. Ndf1 Kh4 6. Kh6 Kh3 7. Kg5 Kg2 8. Kg4 Kg1 9. Kxf4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1910 algebraic: white: [Kf1, Sf2, Sd3] black: [Ke3, Pd4] stipulation: + solution: | "1... Kf3 2. Ke1 Ke3 3. Kd1 Kf3 4. Kd2 Kg2 5. Ke2 Kg3 6. Ne4+ Kg4 7. Kf2 Kf5 8. Kf3 Ke6 9. Kf4 Kd5 10. Nd2 Ke6 11. Ke4 Kf6 12. Kd5 Kf5 13. Kd6 Kf6 14. Kd7 Kf5 15. Ke7 Kg6 16. Ke6 Kg5 17. Ke5 Kg6 18. Ne4 Kg7 19. Ng5 Kg6 20. Ne6 Kf7 21. Nef4 Ke7 22. Ng6+ Kd7 23. Kd5 Kc7 24. Nge5 Kb6 25. Nc4+ Kc7 26. Ke5 Kd7 27. Kf6 Kc7 28. Ke7 Kc6 29. Ke6 Kc7 30. Nce5 Kb6 31. Kd5 Ka5 32. Kc4 Kb6 33. Kb4 Kb7 34. Kb5 Kc7 35. Kc5 Kd8 36. Kd6 Ke8 37. Ng4 $1 37... Kf7 38. Kd7 Kg7 39. Ke7 Kg6 40. Ke6 Kg5 41. Nge5 Kh5 42. Kf6 Kh6 43. Ng4+ Kh5 44. Kf5 Kh4 45. Nf6 Kg3 46. Ke4 Kh4 47. Kf4 Kh3 48. Ne4 Kh4 49. Ng3 Kh3 50. Nf5 Kg2 51. Kg4 Kh2 52. Nh4 Kg1 53. Kg3 Kf1 54. Kf3 Kg1 55. Ng2 Kh2 56. Ngf4 Kg1 57. Ke2 Kh2 58. Kf2 Kh1 59. Nh3 Kh2 60. Ng5 Kh1 61. Ne1 d3 62. Nef3 d2 63. Ne4 d1=N+ 64. Kg3 Ne3 65. Nf2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1910 algebraic: white: [Kb6, Sh2, Sf1] black: [Ke2, Ph7, Pf6] stipulation: + solution: | 1. Ng3+ 1... Kf2 $1 2. Nf5 Kg2 3. Ng4 h5 4. Ngh6 Kh3 5. Kc5 h4 6. Kd4 Kh2 7. Ke3 Kg1 8. Ng4 h3 9. Nh2 $1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1910 algebraic: white: [Kc3, Sf5, Se3] black: [Kc1, Pg5, Pf6] stipulation: + solution: | "1. Nh6 g4 (1... f5 2. Nhxf5 g4 3. Ng3 Kb1 4. Nc4) 2. Nhxg4 f5 3. Nf2 f4 4. Nf1 Kb1 5. Nd2+ Kc1 (5... Ka1 6. Kb3 f3 7. Nd1 f2 8. Ne3 f1=Q 9. Nc2#) (5... Ka2 6. Nc4 Kb1 7. Kd2) 6. Nc4 f3 (6... Kb1 7. Kd2) 7. Nb2 Kb1 8. Nbd3 Ka2 9. Kb4 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1910 algebraic: white: [Kc5, Sh2, Sf4] black: [Kf2, Ph3, Pf7] stipulation: + solution: 1. Kd4 Kg3 2. Ke3 Kxh2 3. Kf2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1910 algebraic: white: [Kd1, Sh2, Sf3] black: [Ke3, Ph3, Pf4] stipulation: + solution: | 1. Ke1 Ke4 2. Kf2 Kf5 3. Nd4+ Kg5 4. Nhf3+ Kg4 5. Nc6 Kf5 6. Nce5 Kf6 7. Kg1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1910 algebraic: white: [Kd4, Sh5, Sg3] black: [Kd6, Ph6, Pg5] stipulation: + solution: | 1. Nf5+ Ke6 2. Ke4 Kf7 3. Ke5 Kg6 4. Nfg3 Kf7 5. Kd6 Ke8 6. Nf5 Kf7 7. Ne7 Ke8 8. Nc6 Kf7 9. Ne5+ Ke8 10. Nf6+ Kf8 11. Kd7 Kg7 12. Ke7 h5 13. Nxh5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1910 algebraic: white: [Kd4, Sh5, Sg3] black: [Ke6, Ph6, Pg5] stipulation: + solution: 1. Ne4 Kf5 2. Kd5 Kg4 3. Neg3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1910 algebraic: white: [Kd4, Sf5, Se3] black: [Ke6, Pg5, Pf6] stipulation: + solution: 1. Ke4 Kd7 2. Kd5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1910 algebraic: white: [Kd4, Sg3, Sf5] black: [Kf3, Pg5, Pf6] stipulation: + solution: | 1. Kd3 Kf4 2. Ke2 Kg4 3. Ke3 Kh3 4. Kf3 Kh2 5. Ne2 Kh3 6. Ng1+ Kh2 7. Kf2 g4 8. Ne2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1910 algebraic: white: [Kd4, Sh5, Sg3] black: [Kf3, Ph6, Pg5] stipulation: + solution: | 1. Kd3 Kf2 2. Ke4 Kg2 3. Ke3 Kg1 4. Kf3 Kh2 5. Kf2 Kh3 6. Kg1 Kh4 7. Kh2 Kg4 8. Kg2 Kh4 9. Kf3 Kh3 10. Nf5 Kh2 11. Ne3 Kh3 12. Ng4 Kh4 13. Ngf6 Kh3 14. Kf2 Kh2 15. Kf1 Kh1 16. Ne4 Kh2 17. Nf2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1910 algebraic: white: [Kd6, Sh1, Sf3] black: [Kh3, Ph7, Pf7] stipulation: + solution: 1. Ke5 $1 1... Kg2 2. Kf4 Kxh1 3. Kg3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung date: 1910 algebraic: white: [Kf2, Sd4, Sc2] black: [Ke4, Pd5, Pc4] stipulation: + solution: | 1... Kd3 2. Ke1 Kc3 3. Ke2 Kb2 4. Kd2 Kb1 5. Kc3 Ka2 6. Nb4+ Kb1 7. Nbc6 Kc1 8. Na7 Kb1 9. Nab5 Kc1 10. Na3 Kd1 11. Kb2 Kd2 12. Nab5 Kd1 13. Nc3+ Kd2 14. Nce2 Kd3 15. Kc1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1197 date: 1910 algebraic: white: [Kc7, Bb1, Sd4, Ph3, Ph2, Pb2] black: [Ka4, Pf2, Pe4, Pa6] stipulation: + solution: | 1. Bc2+ Kb4 (1... Ka5 2. Bd1 f1=Q 3. Nc6+ Kb5 4. Be2+ Qxe2 5. Nd4+) 2. Bd1 f1=Q (2... Kc4 3. Nf5 $1 3... Kd3 4. Ng3) 3. Nc2+ Kc5 4. b4+ Kb5 5. Be2+ Qxe2 6. Nd4+ Kxb4 7. Nxe2 a5 8. h4 a4 9. h5 a3 10. Nc1 e3 11. h6 e2 12. h7 a2 13. h8=Q 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1198 date: 1910 algebraic: white: [Kc7, Be5, Sa7, Pg6, Pb4] black: [Ke7, Be1, Sg5, Ph7, Pb5] stipulation: + solution: | "1. Nc8+ Ke8 2. Nd6+ Kf8 3. g7+ Kg8 4. Nf5 Ne6+ 5. Kd7 Nxg7 6. Nh6+ Kh8 7. Ke7 Bg3 8. Kf8 Bxe5 9. Nf7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1199 date: 1910 algebraic: white: [Kb7, Qa5, Sg5, Pe2] black: [Kd6, Qh6, Sh8, Pe6] stipulation: + solution: | "1. Qc7+ Kd5 2. Kb6 e5+ 3. Kb5 Qxg5 4. Qc6+ (4. Qd7+ $1 4... Ke4 5. Qd3+ Kf4 6. Qf3#) 4... Kd4 5. Qc4+ Ke3 6. Qc1+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1199 date: 1910 algebraic: white: [Ka8, Qa1, Sf6, Pd2] black: [Kc8, Qg7, Bh6, Sg2, Pd7, Pc4] stipulation: + solution: | "1. Qe5 Kd8 (1... d6 2. Qe8+ Kc7 3. Nd5#) (1... Bf4 2. Qe8+ Kc7 3. Qb8+ Kc6 4. Qb7+ Kc5 5. Ne4+ Kd4 6. Qb2+) 2. Qe8+ Kc7 3. Qb8+ Kc6 4. Ka7 $1 4... d6+ (4... d5+ 5. Ka6 Qc7 6. Qb5+ Kd6 7. Ne8+) 5. Ka6 Qxf6 6. Qb7+ Kc5 7. Qb5+ Kd4 8. Qb2+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1208 date: 1910 algebraic: white: [Kh1, Sh4, Pa5, Pa2] black: [Kf1, Bc1, Ph6, Pg7, Pb4] stipulation: + solution: | 1. Ng2 Bb2 2. Ne3+ Ke2 3. Nc2 Be5 4. a6 Bb8 5. Nd4+ Kd3 6. Nc6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1210 date: 1910 algebraic: white: [Kh6, Qh2, Ba8, Pc4] black: [Kf6, Qa4, Sc2, Pd4] stipulation: + solution: | 1. Qd6+ Kf5 2. Qg6+ Ke5 3. Kg5 $1 3... Qxa8 4. Qf5+ Kd6 5. c5+ Ke7 (5... Kc7 6. Qf7+ Kb8 7. Qe8+ Ka7 8. Qd7+ Qb7 9. c6) 6. Qf6+ Kd7 7. Qf7+ Kc8 8. Qe8+ Kb7 9. Qd7+ Kb8 (9... Ka6 10. Qa4+ Kb7 11. c6+) 10. Qd8+ Kb7 11. c6+ Ka7 12. Qa5+ Kb8 13. c7+ Kb7 14. Qxa8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1222 date: 1910 algebraic: white: [Kc1, Rh6, Pf2, Pe6] black: [Ka2, Rf3, Pe3, Pa7] stipulation: + solution: | "1. e7 exf2 2. Rh2 Re3 (2... Rc3+ 3. Kd1 Re3 (3... Rd3+ 4. Ke2 Rd2+ 5. Kf1) 4. Rxf2+ Kb1 5. Re2) 3. Rxf2+ 3... Ka1 $1 (3... Kb3 4. Rf3 Rxf3 5. e8=Q) 4. Rf3 ( 4. Rf7 Ka2 (4... Re1+ $2 5. Kd2 Re6 6. Rf1+ Ka2 7. Re1) (4... Rc3+ $2 5. Kd2 Rc8 6. Rf8) (4... Re6 $2 5. e8=Q Rxe8 6. Rxa7#) (4... a5 5. Kd2 Re6 6. Rf1+ Kb2 7. Re1 Rd6+ 8. Ke3 Re6+ 9. Kf2 Rf6+ 10. Kg3 Rg6+ 11. Kf4 $1 11... Rg8 (11... Rf6+ 12. Ke5) 12. e8=Q Rxe8 13. Rxe8 a4 14. Rb8+ $1 14... Kc2 (14... Ka2 15. Ke3 a3 16. Kd3 Ka1 17. Kc2 a2 18. Kb3) 15. Ra8 Kb3 16. Ke3 a3 17. Kd2 Kb2 ( 17... a2 18. Kc1) 18. Rb8+ Ka1 19. Kc3 a2 20. Kb3 Kb1 21. Ka3+ Ka1 22. Rh8) 5. Kd1 $3) 4... Re1+ 5. Kc2 Re2+ (5... Ka2 6. Rf7 $1 6... a5 (6... Ka3 7. Kd2) ( 6... Re2+ 7. Kd3) 7. Kd3 $3 7... Ka3 (7... Rd1+ 8. Ke2) 8. Kd2) 6. Kb3 Rb2+ 7. Kc3 Re2 8. Rf1+ Ka2 9. Rf2 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1222 date: 1910 algebraic: white: [Kc1, Rg6, Pf2, Pe6] black: [Ka2, Rf3, Pe3, Pa5] stipulation: + solution: | 1. e7 exf2 2. Rg2 Re3 (2... Rc3+ 3. Kd1 Re3 4. Rxf2+ Ka3 5. Re2) 3. Rxf2+ 3... Ka1 $1 (3... Ka3 4. Rf3) 4. Rf3 $1 4... Re1+ 5. Kc2 Re2+ (5... Ka2 $1) 6. Kb3 Rb2+ 7. Kc3 Re2 8. Rf1+ Ka2 9. Rf2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1222 date: 1910 algebraic: white: [Kc1, Rh6, Pf2, Pe6] black: [Ka2, Rf3, Pe3, Pa5] stipulation: + solution: | 1. e7 exf2 2. Rh2 Re3 (2... Rc3+ 3. Kd1 Re3 4. Rxf2+ Ka3 5. Re2) 3. Rxf2+ 3... Ka1 $1 (3... Ka3 4. Rf3) 4. Rf3 $1 (4. Rf7 $1) 4... Re1+ 5. Kc2 Re2+ (5... Ka2 $1) 6. Kb3 Rb2+ 7. Kc3 Re2 8. Rf1+ Ka2 9. Rf2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1223 date: 1910 algebraic: white: [Kb6, Bf6, Bb7] black: [Kf5, Sa5, Ph3, Pd3] stipulation: "=" solution: | 1. Bc8+ Kf4 2. Bc3 h2 3. Bd2+ Kg3 (3... Kf3 4. Kxa5) 4. Be1+ Kf4 5. Bd2+ Ke5 6. Bc3+ Kd6 7. Bb4+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1226 date: 1910 algebraic: white: [Ke1, Rd2, Pe6, Pe5] black: [Kh3, Rg3, Pd4, Pd3] stipulation: + solution: | 1. e7 Re3+ (1... Rg8 2. Rf2 Re8 3. Rf7) 2. Kf2 Rxe5 3. Rxd3+ Kg4 (3... Kh2 4. Rxd4 Rf5+ (4... Kh3 5. Rd3+ Kg4 6. Re3) 5. Ke3 Re5+ 6. Re4) 4. Rxd4+ Kf5 5. Rd5 Kf6 6. Rxe5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1227 date: 1910 algebraic: white: [Kh3, Rh6, Sa7] black: [Kd7, Bg1, Pe2] stipulation: "=" solution: | 1. Rh7+ Ke8 2. Nc8 Bc5 3. Rh4 e1=Q 4. Re4+ Qxe4 5. Nd6+ Bxd6 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1228 date: 1910 algebraic: white: [Kh4, Rc6, Sf5] black: [Kb3, Bd6, Ph5, Pg2, Pc5] stipulation: "=" solution: | 1. Rb6+ Ka2 2. Ra6+ Kb2 3. Rb6+ Kc1 4. Ng3 Bxg3+ 5. Kh3 g1=Q 6. Rb1+ Kxb1 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1229 date: 1910 algebraic: white: [Ka1, Rf1, Sf3, Pa4] black: [Kd3, Rd6, Pg6, Pc7, Pc6] stipulation: + solution: | 1. Rd1+ 1... Kc4 $1 2. Nd2+ 2... Kb4 $1 (2... Kd3 3. Ne4+ Kxe4 4. Rxd6 cxd6 5. a5) 3. Rb1+ Kxa4 4. Ne4 Rd4 5. Nc5+ Ka5 6. Nb3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1229 date: 1910 algebraic: white: [Ka1, Rf1, Sf3, Pa4] black: [Kd3, Rd6, Pg6, Pg5, Pc7, Pc6] stipulation: + solution: | 1. Rd1+ (1. a5 $2 1... Kc4 2. Kb2 (2. a6 c5 3. Ne5+ Kb5) 2... Kb5 3. Ra1 Ka6 4. Kb3 Rd5) (1. Kb2 $2 1... Ke2 2. Nh2 g4 3. Rh1 g3) 1... Kc4 $1 (1... Kc3 $2 2. Rxd6 cxd6 3. a5) 2. Nd2+ Kb4 (2... Kd3 3. Ne4+ Kxe4 4. Rxd6 cxd6 5. a5) (2... Kd4 $1 3. Nf3+ (3. a5 Rf6 4. a6 c5) 3... Kc5) 3. Rb1+ Kxa4 4. Ne4 Rd8 5. Nc5+ Ka5 6. Nb7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1244 date: 1910 algebraic: white: [Kc1, Rf4, Pb5] black: [Kh7, Rg2, Pe4] stipulation: + solution: | 1. b6 Rg6 2. Rh4+ Kg7 3. Rg4 Rxg4 4. b7 Rg1+ 5. Kc2 Rg2+ 6. Kc3 Rg3+ 7. Kc4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1244 date: 1910 algebraic: white: [Kc1, Rf4, Pb5] black: [Kh8, Rg2, Pe4] stipulation: + solution: | 1. b6 Rg3 (1... Rg1+ 2. Kc2) (1... Kh7 2. Rh4+ Kg6 3. Rh8) (1... e3 2. b7 e2 3. Rh4+ Kg7 4. Re4) 2. Rh4+ Kg7 3. Rg4+ Rxg4 4. b7 Rg1+ 5. Kc2 Rg2+ 6. Kc3 Rg3+ ( 6... e3 7. b8=Q e2 8. Kd2 Kf6 9. Qd6+) 7. Kc4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1244 date: 1910 algebraic: white: [Kc1, Rf3, Pd5] black: [Kh8, Rg4, Pd4] stipulation: + solution: | 1. d6 Rg7 2. Rh3+ (2. Rf8+ $2 2... Kh7 3. Rd8 Rg5 4. Kd2 Kg7) 2... Kg8 3. Rg3 Rxg3 4. d7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1245 date: 1910 algebraic: white: [Kg1, Qf6, Se5] black: [Ka3, Qb7, Pf4, Pb5] stipulation: + solution: | "1. Nd3 Qa7+ 2. Kf1 Kb3 3. Qb2+ Kc4 4. Qc2+ Kd5 5. Nb4+ Kd6 (5... Ke6 6. Qg6+ Ke5 7. Nc6+) 6. Qg6+ Kc7 7. Qf7+ Kb6 8. Nd5+ Ka6 9. Qe6+ 9... Ka5 $1 (9... Kb7 10. Qd7+ Kb8 (10... Ka6 11. Qd6+ Kb7 12. Qc7+ Ka8 13. Nb6+) (10... Ka8 11. Qc8+ Qb8 12. Nc7+ Ka7 13. Qa6#) 11. Qd8+ Kb7 12. Qc7+) 10. Qd6 $1 10... b4 $1 (10... Qd4 11. Qd8+) 11. Qxb4+ Ka6 12. Qc4+ Kb7 13. Qc7+ Ka6 14. Nb4+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1910 algebraic: white: [Kb2, Sf2, Sc7, Pc5, Pc2] black: [Kd4, Rf6, Pd7, Pb7] stipulation: + solution: | 1. c3+ Kc4 2. Ng4 Rf4 (2... Rc6 3. Ne5+ Kxc5 4. Nxc6) 3. Ne5+ Kxc5 4. Nd3+ Kc6 5. Nxf4 Kxc7 6. Kb3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Нива date: 1910 algebraic: white: [Kd7, Rb5, Bg5] black: [Kf8, Rg8, Ph7, Pe7] stipulation: + solution: | "1. Bh6+ Kf7 2. Rf5+ Kg6 3. Rg5+ Kf7 4. Rxg8 Kxg8 5. Ke6 Kh8 6. Kf7 e5 7. Bg7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Нива source-id: 15 date: 1910 algebraic: white: [Kg5, Rc6, Ph3, Pb6] black: [Kb1, Sd2, Sb7, Pg7, Pf3] stipulation: "=" solution: | 1. Rc7 f2 2. Rf7 Ne4+ 3. Kh4 Nf6 4. Rxg7 Kc1 5. Rg2 f1=Q 6. Rg1 Qxg1 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack date: 1910 algebraic: white: [Kh2, Sc8, Pg2, Pf3, Pa5] black: [Kh4, Ba3, Ph5, Pd3] stipulation: "=" solution: | 1. a6 Bc5 2. a7 Bxa7 3. Nxa7 (3. g3+ $1 3... Kg5 4. Nd6 d2 5. Ne4+) 3... d2 4. Nb5 d1=Q 5. Nc3 Qd6+ 6. Kh1 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack date: 1910 algebraic: white: [Kg3, Qh8, Ba2] black: [Ke4, Qb6, Pd6, Pd5, Pc4] stipulation: + solution: 1. Bb1+ Ke3 2. Qh2 Qxb1 3. Qf2+ Ke4 4. Qf4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack source-id: 085 date: 1910 algebraic: white: [Kb6, Qd1, Bh5] black: [Kd8, Qg7, Pe7, Pd4] stipulation: + solution: | 1. Qa4 1... Qh6+ $1 2. Kb7 Qxh5 3. Qa8+ Kd7 4. Qc8+ Kd6 5. Qc6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack source-id: 105 date: 1910 algebraic: white: [Ka6, Se7, Sa2, Ph7] black: [Ka3, Pe2] stipulation: + solution: | 1. Nb4 $1 1... Kxb4 (1... e1=Q 2. Nc2+) 2. h8=Q e1=Q 3. Qb2+ 3... Kc5 $1 (3... Ka4 4. Qa2+ Kb4 5. Qa5+) 4. Qb6+ Kc4 5. Qb5+ Kd4 6. Nf5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack source-id: 114 date: 1910 algebraic: white: [Kc4, Rf7, Sd6, Pc3] black: [Kh2, Bg3, Sa2, Pd2, Pc6] stipulation: "=" solution: 1. Rh7+ Kg1 2. Ne4 d1=Q 3. Rh1+ Kxh1 4. Nf2+ Bxf2 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack source-id: 172 date: 1910 algebraic: white: [Kg3, Rb5, Bg4, Ph3] black: [Kh7, Bd4, Pe6, Pc2] stipulation: "=" solution: 1. Bf5+ exf5 2. Rb7+ Kg6 3. Rc7 Be5+ 4. Kh4 Bxc7 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматное обозрение date: 1910 algebraic: white: [Kh4, Qa3, Se6] black: [Kh7, Qb8] stipulation: + solution: | 1. Qe7+ Kg6 2. Nf8+ Kf5 3. Qh7+ Kf4 4. Qd3 $1 4... Qxf8 (4... Ke5 5. Nd7+) 5. Qf1+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматное обозрение date: 1910 algebraic: white: [Kg1, Bd2, Se3, Pg2, Pc6, Pb5] black: [Kc7, Qg3, Ph7] stipulation: + solution: | 1. Nd5+ Kc8 (1... Kd8 2. c7+ Kd7 3. Nb6+ Kxc7 4. Bf4+ Qxf4 5. Nd5+) 2. Ne7+ (2. b6 $1) 2... Kd8 (2... Kb8 3. b6) 3. c7+ Kxc7 (3... Qxc7 4. Ba5 Qxa5 5. Nc6+) 4. Bf4+ Qxf4 5. Nd5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматное обозрение date: 1910 algebraic: white: [Ke6, Bh8, Pb6, Pb2] black: [Ke3, Sh2, Pg3, Pd4, Pc3] stipulation: + solution: | 1. Bxd4+ $1 (1. b7 $2 1... c2 2. Bxd4+ Kd3) 1... Kxd4 2. b7 c2 (2... g2 3. b8=Q g1=Q (3... Nf3 $1 4. Qb4+ (4. Qf4+ Kc5 5. Qe3+ Kb4 6. Qxc3+ (6. bxc3+ Ka4 7. Qb6 Ka3 8. Qb4+ Ka2 9. Qc4+ Ka3 10. Qa6+ Kb3) (6. Qb6+ Ka4 7. bxc3 Ka3) 6... Kb5 7. Qd3+ Ka5 (7... Kb4 8. Qe4+ Ka5 9. b4+) 8. b4+ (8. Qd5+ Kb6 9. Qd8+ Kb5) 8... Kb6 9. Qd8+ Kc6 10. Qd5+ Kb6 11. Qa5+ Kb7 12. Qb5+ Ka7) 4... Ke3 5. Qxc3+ Kf2 6. Qc5+ (6. b4 g1=Q 7. Qc5+ Kf1 8. Qxg1+ Kxg1 9. b5 Nd4+) 6... Kf1 7. Qe3 g1=Q 8. Qxf3+ Ke1 9. Qc3+ 9... Kd1 $1) 4. Qb6+) 3. b8=Q c1=Q 4. Qd8+ Ke4 5. Qd5+ Kf4 6. Qf5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматное обозрение date: 1910 algebraic: white: [Ka2, Bd2, Se3, Pg2, Pc6, Pb5] black: [Kc7, Qg3, Ph5, Pa3] stipulation: + solution: | 1. Nd5+ Kc8 (1... Kd8 2. c7+ (2. Ba5+ $2 2... Ke8 $1 3. c7 Kd7 4. Ne7 Qf2+ 5. Kxa3 Qe3+) 2... Kd7 3. Nf6+ Kxc7 4. Bf4+ Qxf4 5. Nd5+) 2. Ne7+ (2. Nb6+ $2 2... Kb8 3. c7+ Qxc7) (2. b6 $2 2... Qxg2 3. Ne7+ Kd8 4. c7+ Kxe7 5. c8=Q Qxd2+ 6. Kxa3 Qa5+) 2... Kd8 (2... Kb8 3. b6) 3. c7+ Kxc7 (3... Qxc7 4. Ba5 Qxa5 5. Nc6+ Kc7 6. Nxa5 Kb6 7. Nc4+) 4. Bf4+ Qxf4 5. Nd5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 302 date: 1911 algebraic: white: [Kc4, Qg5, Bh7] black: [Kb8, Qd1, Pa5] stipulation: + solution: | 1. Qe5+ Kb7 (1... Ka7 2. Qc7+ Ka6 3. Bd3) 2. Be4+ Kc8 3. Bf5+ 3... Kd8 $1 (3... Kb7 4. Qb5+ Kc7 5. Qc5+ Kd8 6. Qf8+ Kc7 7. Qc8+ Kb6 8. Qc5+) 4. Kc5 $1 4... Qd2 (4... Qc1+ 5. Kb6 Qg1+ 6. Kb7) 5. Kc6 $1 5... Qc1+ 6. Kb7 Qh1+ (6... a4 7. Bd3 a3 8. Bb5) 7. Be4 Qh6 8. Bc6 Qh7+ 9. Kb8 Qb1+ 10. Bb5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 320 date: 1911 algebraic: white: [Kf6, Sh7, Pe6] black: [Kb6, Rh5] stipulation: + solution: | 1. e7 Rh6+ 2. Kf5 Rh5+ 3. Kf4 Rh4+ 4. Kf3 Rh3+ 5. Kf2 Rh2+ 6. Ke1 Rh1+ 7. Kd2 Rh2+ 8. Kd3 Rh3+ 9. Kd4 Rh4+ 10. Kd5 Rh5+ 11. Kd6 Rh6+ 12. Nf6 $1 12... Rxf6+ 13. Kd5 Rf5+ 14. Kd4 Rf4+ 15. Kd3 Rf3+ 16. Ke2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1254 date: 1911 algebraic: white: [Kh6, Qf7, Se8, Ph2] black: [Kg4, Qb8, Ba4, Pd7, Pd6, Pa5] stipulation: + solution: | 1. Qf2 Qxe8 (1... Qb3 2. Nf6+ Kh3 3. Nd5 $1 3... Bb5 (3... Qa3 4. Ne3) 4. Nf4+ Kg4 5. h3+ Kf5 6. Ne2+ $1 6... Ke4 (6... Ke6 7. Nd4+) 7. Qf4+) (1... d5 2. Nf6+ Kh3 3. Qf3+) 2. Qg3+ Kf5 3. Qf3+ Ke6 4. Qe4+ Kf7 5. Qf5+ Ke7 6. Kg7 Kd8 7. Qxa5+ Ke7 8. Qg5+ Ke6 9. Qe3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1258 date: 1911 algebraic: white: [Kc1, Sd1, Pf6, Pe5, Pa2] black: [Kg5, Bf1, Pf7, Pa3] stipulation: + solution: | 1. e6 $1 1... Kxf6 2. Ne3 Bh3 (2... Be2 3. Nd5+ Kxe6 4. Nf4+) (2... Bd3 3. Nd5+ Kxe6 4. Nf4+) (2... Bb5 3. Nd5+ Kxe6 4. Nc7+) (2... Ba6 3. Nd5+ Kxe6 4. Nc7+) 3. Nd5+ Kxe6 4. Nf4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1261 date: 1911 algebraic: white: [Kh7, Qg4, Sf4] black: [Kf6, Qf8, Pf7] stipulation: + solution: | 1. Nd5+ (1. Nh5+ Ke5 (1... Ke7 $2 2. Qb4+ Ke8 3. Ng7+) 2. Qf4+ Kd5 (2... Ke6 3. Qe4+) 3. Nf6+ Ke6) 1... Ke5 2. Nb6 f5 (2... Qe7 3. Qe2+) (2... Qd8 3. Nc4+ Kf6 (3... Kd5 4. Qd1+) 4. Qh4+) 3. Nd7+ Kd6 (3... Ke6 4. Nxf8+) (3... Kd5 4. Qd1+) 4. Qb4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1262 date: 1911 algebraic: white: [Kb4, Qg6, Bc2] black: [Kb7, Qh3] stipulation: + solution: | 1. Qg7+ Kb6 2. Be4 2... Qc8 $1 3. Qf6+ Kc7 (3... Ka7 4. Qd4+ Ka6 5. Qa1+) 4. Kc5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1262 date: 1911 algebraic: white: [Kg4, Qb1, Bf2] black: [Kh6, Qa3, Pa6] stipulation: + solution: | 1. Qb6+ (1. Bd4 $1 1... Qa5 2. Be3+ $1 2... Kg7 3. Qb7+ Kf8 (3... Kf6 4. Qc6+ Ke5 5. Qe8+ Kd6 6. Bf4+ Kc5 7. Qh5+ Kb6 8. Bc7+) 4. Qc8+ Ke7 5. Bc5+ Kf7 6. Qf8+ Kg6 7. Qf5+ Kg7 8. Bd4+) 1... Kg7 2. Qc7+ Kg6 3. Bd4 Qf8 4. Qc6+ Kf7 5. Kf5 Qa3 6. Qd5+ Ke8 7. Kf6 Qe7+ 8. Kg6 Qc7 9. Bf6 a5 10. Bg5 Qb6+ 11. Kg7 Qb2+ 12. Kg8 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1262 date: 1911 algebraic: white: [Kc2, Qh7, Be6] black: [Kg1, Qf8, Pf6, Pd6, Pa7] stipulation: + solution: | "1. Qg6+ (1. Bd5 $1 1... Qc8+ (1... Kf2 2. Qh2+ Ke3 (2... Ke1 3. Qg3+ Ke2 4. Bc4#) 3. Qd2#) 2. Kd2 Qg4 3. Qh1+ Kf2 4. Qe1#) 1... Kf2 (1... Kh2 2. Qh5+ Kg3 3. Qg4+ Kf2 4. Bd5) 2. Bd5 (2. Qf5+ Ke3 3. Bd5 Qe7) 2... Qc8+ (2... Qe7 3. Qg2+ Ke3) (2... Ke3 3. Qe4+) (2... f5 3. Kd2) 3. Kd2 Qh3 4. Qxf6+ Kg3 (4... Kg1 5. Qd4+ Kh2 6. Qf2+) 5. Ke3 Qc8 (5... Qd7 6. Be6) (5... Kh2+ 6. Bf3 Qc8 (6... Qd7 7. Qf4+ Kh3 8. Qh6+ Kg3 9. Qg5+ Kh3 10. Kf2) (6... Qg3 7. Qh8+ Qh3 8. Qb2+ Kg1 9. Qf2#) (6... Kg1 7. Qg6+ Kh2 8. Qc2+) (6... d5 7. Qe5+ Qg3 (7... Kg1 8. Qg7+) 8. Qb2+ Kh3 9. Qh8+ Qh4 10. Qc8+ Kg3 11. Qg8+ Kh3 12. Qg2#) (6... a5 7. Qxd6+ Qg3 8. Qh6+ Qh3 9. Qg6 Qg3 10. Qh7+ Qh3 11. Qc2+) 7. Qxd6+ Kh3 8. Qh6+ Kg3 9. Qg5+ Kh3 10. Kf2 Qc2+ 11. Be2) 6. Qxd6+ Kh4 7. Qf6+ Kg3 8. Qe5+ Kh4 9. Kf3 Qg4+ 10. Kf2 10... Qg6 $1 11. Bf3 a5 12. Be2 Qf7+ 13. Kg2 Qb7+ 14. Kh2 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1262 date: 1911 algebraic: white: [Kd7, Qa7, Bg1] black: [Kf8, Qc1, Pc7] stipulation: + solution: | "1. Qf2+ Kg7 2. Qg3+ Kf7 (2... Kf6 $1 3. Qg4 Kf7 (3... Qh6 4. Qe6+ Kg7 5. Bd4+) (3... Ke5 4. Qe6+ Kf4 5. Qh6+) (3... c5 $1) (3... Qg5 $1 4. Qe6+ Kg7 5. Bd4+ 5... Kh7 $1) 4. Bd4 Qh6 5. Qf5+) (2... Kh7 3. Qd3+ Kg8 (3... Kg7 4. Bd4+) 4. Qg6+ Kf8 5. Bd4) 3. Bd4 Qh6 4. Qf3+ Kg6 (4... Kg8 5. Qd5+ Kf8 6. Qa8+) 5. Ke6 Kh7+ (5... Qd2 6. Qe4+ Kh5 7. Kf6 Qh6+ 8. Kf7 Qg5 9. Be3) 6. Bf6 Qg6 (6... Kg8 7. Qg3+ Kf8 8. Qa3+ Kg8 9. Qa8+ Qf8 (9... Kh7 10. Qh8+ Kg6 11. Qe8+) 10. Qg2+ Kh7 11. Qe4+) (6... Qh2 7. Qf5+) (6... Qf8 7. Qe4+) (6... Qd2 7. Qh5+) 7. Qh3+ Qh6 8. Qg3 Qg6 9. Qh2+ Qh6 10. Qxc7+ Kg8 (10... Kg6 11. Qf7#) 11. Qf7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1266 date: 1911 algebraic: white: [Kd3, Sg3, Ph2, Pd4, Pa5] black: [Kd5, Bh6, Ph7, Pe6, Pb6] stipulation: + solution: | 1. a6 Kc6 2. d5+ (2. Nf5 $1) 2... exd5 3. Nf5 Bc1 (3... Bf8 4. Nd4+ Kc7 5. Ne6+ ) 4. Kc2 Ba3 5. Nd4+ Kc7 6. Nb5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1268 date: 1911 algebraic: white: [Kh1, Ra6, Se8] black: [Kh5, Sg4, Sc4, Pe2] stipulation: "=" solution: | 1. Ng7+ (1. Nf6+ $2 1... Kh4 2. Ra1 Nf2+ 3. Kg2 Nd1) 1... Kh4 (1... Kg5 2. Ne6+ Kh4 3. Ra1 Nf2+ 4. Kh2 Nd1 5. Nd4) 2. Ra1 Nf2+ 3. Kh2 Nd1 4. Nf5+ Kg4 (4... Kg5 5. Nd4) (4... Kh5 5. Ng3+) 5. Rxd1 $1 5... exd1=Q 6. Ne3+ Nxe3 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1269 date: 1911 algebraic: white: [Kg6, Qg5, Sc1] black: [Kd6, Qc3, Pf5, Pa3] stipulation: + solution: | 1. Qd8+ Ke6 2. Ne2 a2 (2... Qc5 3. Nf4+ Ke5 4. Nd3+) (2... Qb4 3. Nd4+ Ke5 4. Nc6+) 3. Nf4+ $1 3... Ke5 4. Qh8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1270 date: 1911 algebraic: white: [Kg1, Qd4, Ba4] black: [Kh3, Qb7, Pe4] stipulation: + solution: | "1. Bd7+ (1. Bd1 $1 1... Kh4 2. Qf6+ Kg3 3. Qf2+ Kh3 4. Qh2#) 1... Kh4 2. Qh8+ 2... Kg5 $1 3. Qg7+ Kf4 4. Qf6+ Ke3 5. Qc3+ (5. Bb5 $1 5... Qxb5 (5... Kd2 6. Qb2+ Kd1 7. Ba4+ Ke1 8. Qf2#) 6. Qf2+ Kd3 7. Qf1+) 5... Kf4 6. Kh2 e3 (6... Kg5 7. Qg7+) 7. Qf6+ (7. Qd4+ $1 7... Kf3 (7... Kg5 8. Qg7+) 8. Bg4+ Kf2 9. Qf4+ Ke1 10. Qxe3+) 7... Ke4 8. Bc6+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1270 date: 1911 algebraic: white: [Kg1, Qd4, Ba4] black: [Kh3, Qb7, Sa7, Pe4] stipulation: + solution: | "1. Bd7+ (1. Bd1 $1 1... Kh4 2. Qf6+ Kg3 3. Qf2+ Kh3 4. Qh2#) 1... Kh4 2. Qh8+ 2... Kg5 $1 3. Qg7+ Kf4 4. Qf6+ Ke3 5. Qc3+ Kf4 6. Kh2 $1 6... e3 $1 (6... Kg5 7. Qg7+) (6... Qxd7 7. Qg3+) 7. Qd4+ (7. Qf6+ $2 7... Ke4 8. Bf5+ 8... Kd5 $1) 7... Kg5 (7... Kf3 8. Bg4+) (7... Qe4 8. Qf6+) 8. Qg7+ Kf4 9. Qg3+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1271 date: 1911 algebraic: white: [Ka8, Ra5, Sg5, Pf3, Pa2] black: [Kd8, Se3, Pe2, Pa6] stipulation: "=" solution: | 1. Nf7+ Kc7 2. Rc5+ Kb6 3. Rc1 Nd1 4. Ne5 e1=Q 5. Rc5 $1 5... Kxc5 6. Nd3+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1276 date: 1911 algebraic: white: [Ke3, Re5, Ph6] black: [Kh2, Rg1, Ph3, Pc4] stipulation: + solution: | 1. h7 Re1+ 2. Kf4 Rf1+ (2... Rxe5 3. Kxe5 Kg1 4. h8=Q h2 5. Qg7+) 3. Kg4 Rf8 ( 3... c3 4. h8=Q c2 5. Qc8 Kg1 6. Qxc2 h2 7. Kg3) 4. Re2+ Kg1 5. Kg3 Kf1 6. Rf2+ Rxf2 7. h8=Q h2 8. Qa8 Rd2 9. Qe4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1276 date: 1911 algebraic: white: [Ke3, Re5, Ph6] black: [Kh2, Rg1, Ph3, Pa4] stipulation: + solution: | 1. h7 Re1+ 2. Kf4 (2. Kf2 $2 2... Rxe5 3. h8=Q 3... Rg5 $1) 2... Rf1+ (2... Rxe5 3. Kxe5 a3 4. h8=Q a2 5. Kf4) 3. Kg4 Rf8 4. Re2+ (4. Rh5 $2 4... Rh8 5. Rxh3+ Kg2 6. Rh5 a3) 4... Kg1 5. Kg3 Kf1 6. Rf2+ Rxf2 7. h8=Q h2 8. Qa1+ Ke2 9. Qc1 Rf3+ (9... Rf6 10. Kxh2 Ra6 11. Qc4+) 10. Kxh2 a3 11. Qc2+ Ke3 12. Kg2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1278 date: 1911 algebraic: white: [Kc7, Qh3, Be6, Pf2, Pc2] black: [Ke4, Qd2, Ra4, Pc4] stipulation: + solution: | 1. Bd5+ Qxd5 (1... Kd4 2. Qh8+ $1 2... Kc5 3. Qf8+ Kd4 4. Qf6+ Kc5 5. Qb6+ Kxd5 6. Qd6+) (1... Ke5 2. Qe6+ Kd4 3. Qf6+) 2. Qg4+ Ke5 3. Qg5+ Ke6 4. Qg8+ Ke5 5. f4+ Ke4 (5... Kd4 6. c3+ Ke4 (6... Kc5 7. Qg1+) 7. Qg2+) 6. Qg2+ Kd4 7. c3+ Kc5 8. Qg1+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1282 date: 1911 algebraic: white: [Kg1, Sh2, Ph5, Pf2] black: [Kd2, Bd8, Sd1, Pe7] stipulation: + solution: | 1. h6 e6 (1... Ba5 2. Nf3+ Kc1 3. Nd4 Bc7 4. Nc6 $1) 2. Ng4 Bb6 (2... Ba5 3. Nf6) 3. Ne5 Bd8 (3... Bxf2+ 4. Kh2 Bh4 5. Nf3+) 4. Nd7 $1 4... Ba5 5. Nf6 Bc3 6. Ne4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1283 date: 1911 algebraic: white: [Kh2, Se2, Sc4, Ph5] black: [Kf6, Bh4, Ph6] stipulation: + solution: | 1. Kh3 Kg5 2. Nd2 Kxh5 3. Nf4+ Kg5 4. Ng2 Be1 5. Nf3+ Kf5 6. Ngxe1 h5 7. Nh4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1284 date: 1911 algebraic: white: [Kb3, Qe5, Ph6, Pc5] black: [Kd7, Qh2, Bh3, Pf4, Pa2] stipulation: + solution: | 1. c6+ (1. h7 $2 1... Be6+) 1... Kxc6 2. h7 2... a1=Q $1 3. Qxa1 Be6+ 4. Kb4 $1 4... Qxh7 5. Qa6+ Kd5 6. Qc4+ Ke5 7. Qc3+ Kd5 8. Qc5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1288 date: 1911 algebraic: white: [Kc5, Qa6, Se1] black: [Ke4, Qh2, Pg5, Pd4] stipulation: + solution: | "1. Qd3+ Kf4 (1... Ke5 2. Qg6) 2. Qf3+ Ke5 3. Qf7 3... Qh8 $1 4. Qd5+ Kf4 5. Qf3+ Ke5 6. Nd3+ Ke6 7. Qd5+ Ke7 8. Qd6+ Kf7 9. Ne5+ Kg8 10. Qe6+ Kg7 11. Qf7+ Kh6 12. Qg6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1288 date: 1911 algebraic: white: [Kc5, Qa6, Se1] black: [Ke4, Qh2, Pg5, Pf7, Pd4] stipulation: + solution: | 1. Qd3+ Kf4 2. Qf3+ Ke5 3. Qxf7 Qh8 (3... Qh6 4. Nd3+ Ke4 5. Nf2+ Ke3 6. Ng4+) (3... Qh3 4. Nf3+ Ke4 5. Nxg5+) (3... Ke4 4. Qd5+ Ke3 5. Qxd4+) 4. Qd5+ Kf4 5. Qf3+ Ke5 6. Nd3+ Ke6 7. Qd5+ Ke7 8. Qd6+ Kf7 9. Ne5+ Kg8 10. Qe6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1304 date: 1911 algebraic: white: [Kg7, Bf1, Pd6, Pc5] black: [Kf5, Rd5, Ph7, Pg5] stipulation: "=" solution: | 1. Bg2 Rxc5 2. d7 Rc7 3. Kh6 $1 3... Rxd7 4. Bh3+ g4 5. Bxg4+ Kxg4 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1306 date: 1911 algebraic: white: [Ke1, Qh6, Sh5, Pe3, Pa7] black: [Kd5, Qf5, Sc7, Sb1] stipulation: + solution: | 1. a8=Q+ Nxa8 2. Qa6 Qe5 (2... Qc2 3. Nf4+ Kc5 (3... Ke4 4. Qg6+) 4. Qc6+) ( 2... Ke5 3. Qb5+) 3. Nf6+ Kc5 4. Nd7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1306 date: 1911 algebraic: white: [Ke1, Qh6, Sh5, Pe3] black: [Kd5, Qf5, Sb1] stipulation: + solution: | 1. Qa6 $1 1... Qe5 (1... Qf8 2. Nf6+ Kc5 3. Nd7+) (1... Qc2 2. Nf4+ Kc5 (2... Ke4 3. Qg6+) 3. Qc8+) 2. Nf6+ Kc5 3. Nd7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1311 date: 1911 algebraic: white: [Kc7, Bd1, Se4, Ph6] black: [Kg6, Bb5, Pg5] stipulation: + solution: | 1. Bc2 Kxh6 2. Nd6 Ba6 3. Kb6 Bf1 4. Nf5+ Kh5 5. Ng3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1318 date: 1911 algebraic: white: [Ke7, Sf5, Sb4, Ph3] black: [Kh5, Bb7, Pf7] stipulation: + solution: | 1. Kf6 Bg2 2. Nd3 Bxh3 3. Nf4+ Kg4 4. Ke5 f6+ 5. Ke4 Bf1 6. Ne3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1319 date: 1911 algebraic: white: [Kg5, Rc6, Sh5] black: [Kh3, Bd2, Pe5, Pe3] stipulation: "=" solution: | 1. Nf4+ $1 1... exf4 (1... Kg3 2. Ne2+ Kf2 3. Kf5 Kxe2 4. Kxe5 Kd3 5. Rd6+ Kc2 6. Kf5 e2 7. Re6) 2. Kxf4 e2+ 3. Kf3 e1=Q 4. Rh6+ Bxh6 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1319 date: 1911 algebraic: white: [Kg5, Rc6, Sh5] black: [Kh3, Bc1, Pe5, Pe3] stipulation: "=" solution: | 1... Bd2 2. Nf4+ exf4 3. Kxf4 e2+ 4. Kf3 e1=Q 5. Rh6+ Bxh6 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Neuburger Wochenschach date: 1911 algebraic: white: [Kh3, Bh4, Sf5, Ph5, Pg4] black: [Kf8, Qb7, Ph7] stipulation: "=" solution: 1. Be7+ Kg8 2. Nh6+ Kg7 3. g5 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Нива date: 1911 algebraic: white: [Kg1, Sf2, Pg5, Pc6] black: [Ka2, Be2, Se3, Pd5] stipulation: + solution: | 1. Nd1 $1 (1. c7 $2 1... Ba6 2. g6 Nf5) 1... Bxd1 (1... Nxd1 2. g6) 2. c7 (2. g6 $2 2... Nf5 3. c7 Ne7 4. g7 Bg4) 2... Bg4 3. g6 Nf5 4. c8=Q 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Нива date: 1911 algebraic: white: [Ka5, Qg2, Bd4] black: [Kc4, Qh6, Ph5, Pf4, Pd6] stipulation: + solution: | "1. Bg7 Qh7 2. Qa2+ Kc5 3. Qb3 $1 (3. Qa3+ $2 3... Kc6 $1) 3... Kc6 $1 (3... Qxg7 4. Qb5+ Kd4 5. Qb2+) (3... d5 4. Qb6+ Kc4 5. Qb5#) 4. Ka6 (4. Qc4+ $2 4... Kd7 5. Qf7+ Kc6 6. Qe8+ Kc7) 4... Qxg7 (4... d5 5. Qb7+) (4... Kd7 5. Qf7+ Kc8 6. Qb7+) (4... Kc7 5. Qb7+) 5. Qb5+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Нива date: 1911 algebraic: white: [Kb2, Sf8, Pe4, Pa5] black: [Ke5, Bh4, Pg7, Pd6] stipulation: + solution: | 1. Nd7+ (1. Ng6+ $1 1... Kxe4 2. Nxh4 Kd5 3. Nf3 Kc6 (3... Kc5 4. Nd4 g5 5. Kc3 g4 6. Kd3 g3 7. Ke3) (3... g5 4. Nd4 g4 5. a6 g3 6. a7 g2 7. a8=Q+) 4. Nd4+ Kb7 5. Nb3) 1... Kf4 2. Nc5 dxc5 (2... Bf6+ 3. Kb3 Bd4 4. Ne6+) (2... Bd8 3. Ne6+ Kxe4 4. Nxd8) 3. a6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Нива date: 1911 algebraic: white: [Kd2, Qf6, Sc3] black: [Kc5, Qb8] stipulation: + solution: | 1. Na4+ 1... Kc4 $1 2. Qc3+ (2. Qf1+ $1 2... Kd5 3. Qf3+ $1 3... Ke6 4. Nc5+ Ke7 5. Qe4+ Kd8 6. Qh4+ Kc8 7. Qh8+ Kc7 8. Na6+) 2... Kd5 3. Qf3+ Ke6 (3... Kc4 4. Qd3+ Kb4 5. Qb1+) 4. Nc5+ Ke7 5. Qe4+ Kd8 (5... Kf7 6. Qh7+) 6. Qh4+ Kc8 7. Qh8+ Kc7 8. Na6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Нива date: 1911 algebraic: white: [Ke2, Qf6, Sc3] black: [Kc5, Qb8] stipulation: + solution: | 1. Na4+ Kc4 2. Qc3+ Kd5 3. Qf3+ Ke6 (3... Kc4 4. Qd3+) (3... Kd6 4. Qg3+) 4. Nc5+ Ke7 5. Qe4+ Kd8 (5... Kf7 6. Qh7+ Kf6 7. Nd7+) 6. Qh4+ Kc8 7. Qh8+ Kc7 8. Na6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Sydsvenska Dagbladet Snällposten date: 1912 distinction: Honorable Mention algebraic: white: [Kc7, Bg1, Sg2, Ph5] black: [Kc3, Be6, Pg7, Pg4, Pe7] stipulation: + solution: | 1. Kd8 Bf7 2. Kxe7 Bxh5 3. Nf4 g6 4. Ne2+ Kc4 5. Ng3 Kd5 6. Kd7 Ke5 7. Be3 Kd5 8. Kc7 Ke6 9. Kc6 Ke5 10. Kc5 Ke6 11. Bd4 Kd7 (11... Ke7 12. Kd5 Kd7 13. Be5) 12. Kd5 Ke7 (12... Kc7 13. Bc5 Kd7 14. Bd6) 13. Be5 Kd7 14. Bd6 $1 14... Ke8 ( 14... Kc8 15. Kc6 Kd8 16. Bc5 Ke8 17. Kd6 Kf7 (17... Kd8 18. Bb6+) 18. Bd4) ( 14... Kd8 15. Ke6 Kc8 16. Be5 Kb7 (16... Kd8 17. Kd6) 17. Kd6 Kb6 18. Bd4+ Kb5 (18... Kb7 19. Kd7 Ka6 20. Kc6) 19. Kd5 Kb4 20. Bb6 Kb5 (20... Kc3 21. Kc5) 21. Bc5) 15. Ke6 Kd8 16. Be5 Kc8 17. Kd6 Kb7 (17... Kd8 18. Bf6+) 18. Bd4 Ka6 ( 18... Kc8 19. Kc6 Kd8 20. Bf6+) 19. Kc6 Ka5 20. Bc3+ Ka4 21. Kc5 Kb3 22. Kd4 Kc2 (22... Ka4 23. Kc4 Ka3 24. Ba5 Kb2 (24... Ka2 25. Kc3 Ka3 26. Bb4+) 25. Bb4 Kc2 26. Bc3 Kc1 27. Kd3) 23. Kc4 Kd1 (23... Kb1 24. Kb3 Kc1 25. Ba5 Kb1 26. Bd2 Ka1 27. Bc3+ Kb1 28. Bb2) 24. Kb3 Kc1 25. Ba5 Kd1 26. Bb4 Kc1 27. Kc3 Kb1 ( 27... Kd1 28. Kb2) 28. Ba3 Ka2 29. Bb2 Kb1 30. Kb3 g5 31. Nxh5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Baltische Schachblätter date: 1912 algebraic: white: [Kb2, Sf7, Sf3, Pb4, Pa4] black: [Kc4, Rb8, Ph6, Pb6] stipulation: + solution: | 1. N3e5+ Kd5 (1... Kxb4 2. Nc6+ Kxa4 3. Nxb8 Kb4 4. Nd7 Kc4 5. Nf6 h5 6. Ng5) 2. Nd7 Rb7 3. Nf6+ Kd4 (3... Kc4 4. Nd6+ Kxb4 5. Nxb7 h5 6. Nd5+ Kxa4 7. Nf4) 4. Nd8 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 343 date: 1912 algebraic: white: [Kb6, Sf3, Sd7, Pa6] black: [Kg2, Rh7, Sc1] stipulation: + solution: | 1. a7 Rh8 2. Nh4+ $1 (2. Nb8 Rh6+ 3. Kb5 Rh5+ 4. Ka4 Nb3) 2... Kg3 3. Nb8 Rh6+ 4. Kb5 Rh5+ 5. Nf5+ $1 5... Rxf5+ 6. Kb6 Rf6+ 7. Kc7 Rf7+ 8. Nd7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1325 date: 1912 algebraic: white: [Ka2, Qh5, Sf2] black: [Ka4, Qg7, Pa5] stipulation: + solution: | 1. Qd5 Qc3 (1... Kb4 2. Nd3+ Kc3 3. Nf4 $1 3... Qg4 (3... Kb4 4. Qb3+) (3... Kc2 4. Qd3+) (3... a4 4. Qc5+ Kd2 5. Qf2+) (3... Qh7 4. Qc5+ Kd2 5. Qd4+ Kc1 6. Qb2+ Kd1 7. Qe2+) 4. Qc5+ Kd2 5. Qd4+ Ke1 (5... Kc2 6. Qd3+) 6. Nd3+) 2. Qd7+ Kb4 3. Nd3+ Kc4 4. Nb2+ Kb4 5. Qb7+ Kc5 6. Na4+ (6. Qc7+ $1) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1325 date: 1912 algebraic: white: [Ka2, Qh5, Se1] black: [Ka4, Qc8, Bf8, Pa5] stipulation: + solution: | 1. Qd5 Qc3 (1... Kb4 2. Qb3+ Kc5 3. Qc3+) (1... Qb8 2. Nd3 Qh2+ 3. Nb2+) (1... Bb4 $1 2. Nd3 Qc4+ 3. Qxc4) 2. Qd7+ Kb4 3. Nd3+ Kc4 4. Nb2+ Kb4 5. Qb7+ Kc5 6. Na4+ (6. Qc7+ Kd4) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1330 date: 1912 algebraic: white: [Ka4, Bh7, Pe7] black: [Kg7, Pe3, Pe2, Pc7] stipulation: + solution: | "1. e8=Q e1=Q 2. Qg6+ Kf8 3. Qf6+ Ke8 4. Be4 Qd1+ (4... Kd7 5. Bc6+ Kc8 6. Qf8#) 5. Ka5 Qd2+ 6. Ka6 (6. Kb5 $1 6... Qe2+ 7. Kc5 $1 7... Qh5+ 8. Kc6) 6... Qe2+ 7. Ka7 Qa2+ 8. Kb7 Qb3+ 9. Kc8 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1330 date: 1912 algebraic: white: [Ka4, Bh7, Pe7] black: [Kg7, Pf5, Pe3, Pe2, Pc7, Pa6] stipulation: + solution: | 1. e8=Q e1=Q 2. Qg6+ Kf8 3. Qf6+ Ke8 4. Bg6+ Kd7 5. Bxf5+ Ke8 6. Be4 Qd1+ 7. Ka5 Qd2+ 8. Kxa6 Qe2+ (8... Qa2+ 9. Kb7 Qb3+ 10. Kc8) 9. Ka7 (9. Kb7 $2 9... Qb5+) 9... Qa2+ 10. Kb7 Qb3+ 11. Kc8 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1337 date: 1912 algebraic: white: [Kc5, Sd6, Sb2, Pf7, Pa7] black: [Kc7, Qg6, Sf4, Pd2, Pc6] stipulation: + solution: | 1. a8=N+ (1. f8=Q $2 1... Ne6+) (1. a8=Q $2 1... Qxd6+) 1... Kd7 (1... Kd8 2. f8=Q+ Kd7 3. Nb6+ Ke6 4. Qxf4 Qg1+ 5. Qd4 Qxd4+ 6. Kxd4 Kxd6 7. N6c4+ Ke6 8. Kd3) 2. f8=N+ (2. f8=Q $2 2... Ne6+) 2... Kd8 3. Nxg6 Nd3+ (3... Nxg6 4. Ne4) 4. Nxd3 d1=Q 5. Ndf4 Qg1+ (5... Qc2+ 6. Nc4) 6. Kxc6 Qh1+ 7. Nd5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1337 date: 1912 algebraic: white: [Kd5, Sg4, Sa5, Pf7, Pa7] black: [Kc7, Qg6, Sc4, Ph3] stipulation: + solution: | 1. a8=N+ (1. f8=Q Qd3+) (1. a8=Q $2 1... Nb6+ 2. Kd4 Qd6+) 1... Kd7 (1... Kc8 2. f8=Q+ Kd7 3. Nf6+) (1... Kb8 2. f8=Q+ Ka7 3. Nc6+) 2. f8=N+ (2. f8=Q Qd3+) 2... Kc8 3. Nxg6 Ne3+ 4. Nxe3 (4. Ke4 $2 4... Nxg4 5. Kf3 Ne3 6. Kg3 Nd5 7. Kxh3 Kb8) 4... h2 5. Nb6+ Kc7 6. Kc5 h1=Q 7. Ned5+ Kd8 (7... Kb8 8. Nge7 Qg1+ 9. Kb5 Qb1+ (9... Qf1+ 10. Nbc4 Qe2 11. Ka6 Ka8 12. Nc7+ Kb8 13. Nb5) 10. Ka6 Qf1+ 11. Nbc4) 8. Nc6+ Ke8 9. Nce5 Qh2 10. Kd6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1338 date: 1912 algebraic: white: [Kb7, Qg8, Bd4] black: [Kd7, Qc1, Pa7] stipulation: + solution: | "1. Qd5+ (1. Qf7+ $1 1... Kd6 2. Qf6+ Kd7 3. Qf5+ Ke8 (3... Kd6 4. Be5+ Ke7 5. Bf6+) 4. Bc5 Qh6 (4... Qb2+ 5. Kc8) 5. Kc7 $1 5... Qg7+ 6. Kc8 Qf7 7. Qe4+) 1... Ke7 (1... Ke8 2. Bc5 Qb2+ 3. Kc8) 2. Qf5 $1 2... Qh1+ (2... Qh6 3. Bc5+ Ke8 4. Kc7 Qg7+ 5. Kc8) (2... Ke8 3. Bc5 Qb2+ 4. Kc8) (2... Kd6 3. Be5+ Ke7 4. Bf6+ Kd6 5. Qe5+) (2... Kd8 3. Bf6+ Ke8 4. Qe6+) 3. Kc7 Qh2+ (3... Qc1+ 4. Bc5+ Ke8 5. Qg6#) 4. Kc8 a5 5. Bc5+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1338 date: 1912 algebraic: white: [Kb7, Qg2, Bd4] black: [Kd7, Qc1, Pg4] stipulation: + solution: | 1. Qd5+ 1... Ke7 $1 (1... Ke8 2. Bc5 Qb2+ 3. Kc8) 2. Qf5 $1 2... Qh1+ (2... Kd6 3. Be5+ Ke7 4. Bf6+ Kd6 (4... Ke8 5. Qg6+) 5. Qe5+) (2... Qh6 $1) 3. Kc7 Qh2+ 4. Kc8 (4. Be5 $2 4... Qh6 5. Qd7+ Kf8 6. Bd6+ Kg8 7. Qe8+ Kh7 8. Be5 Qc1+) 4... Qe2 5. Bc5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1342 date: 1912 algebraic: white: [Kg5, Bg1, Sd3, Pd5] black: [Kd6, Be8, Ph5] stipulation: + solution: | 1. Nb4 Bf7 2. Bh2+ Kc5 3. Na6+ Kxd5 4. Kf6 Bg8 5. Kg7 Be6 6. Nc7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1342 date: 1912 algebraic: white: [Kg5, Bb6, Sa8, Pd5] black: [Kd6, Be8, Ph5] stipulation: + solution: | 1. Bg1 Bf7 2. Bh2+ Kxd5 3. Kf6 Bg8 4. Kg7 Be6 5. Nc7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1343 date: 1912 algebraic: white: [Kg3, Qg5, Sd5, Pe5] black: [Kd4, Qc8, Pg4, Pf5] stipulation: + solution: | 1. Qd2+ 1... Kxe5 $1 (1... Ke4 2. Nb6 (2. Ne7 $1) 2... Qc6 3. Qf4+ Kd3 4. Qc4+ Qxc4 5. Nxc4 Kxc4 6. e6) 2. Nb6 $1 2... Qc6 (2... Qa6 3. Nd7+) 3. Qf4+ Ke6 4. Qh6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1346 date: 1912 algebraic: white: [Kd6, Se1, Sd7, Ph2, Pa6] black: [Kf4, Rh7, Ph4, Pc4, Pb6] stipulation: + solution: | 1. Ng2+ (1. a7 $2 1... Rh8 2. Nb8 Rh6+ 3. Kc7 (3. Kd5 Rh5+) 3... Rh7+ 4. Nd7 Rh8 5. Ng2+ Kg4 6. Ne3+ Kh3 7. Kb7 c3) 1... Kf3 (1... Kf5 2. a7 Rh6+ (2... Rh8 3. Nb8 Rh6+ 4. Kd5) 3. Kd5 Rh8 4. Nb8) (1... Kg4 2. Nf6+) 2. a7 Rh8 (2... Rh6+ 3. Ke7 Rh7+ (3... Rh8 4. Nf8) 4. Ke8) 3. Nxh4+ $1 3... Ke4 (3... Kf2 4. Nb8 Rh6+ 5. Ke5 Rh5+ 6. Nf5) (3... Ke3 4. Nf5+) 4. Nb8 Rh6+ 5. Ng6 $1 5... Rxg6+ 6. Kc7 Rg7+ 7. Nd7 Rg8 8. Nf6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1354 date: 1912 algebraic: white: [Kb6, Qe1, Sg4] black: [Kd4, Qh7, Se8, Pd3, Pc3] stipulation: + solution: | 1. Qe5+ Kc4 2. Qb5+ Kd4 3. Qa4+ $1 3... Kd5 4. Qxe8 c2 (4... Qh4 5. Ne3+ Kd4 6. Nf5+) (4... Qh3 5. Qd7+) (4... Kd4 5. Qa4+ Kd5 6. Nf6+) (4... Kd6 5. Qc6+ Ke7 6. Qc7+) (4... d2 5. Nf6+ Kc4 6. Qa4+ Kd3 7. Nxh7 Ke2 8. Qe4+ Kd1 9. Qd3) 5. Qc6+ $1 5... Kd4 6. Qc5+ Ke4 7. Nf6+ Kf3 8. Nxh7 Ke2 9. Nf6 Kd1 (9... Kd2 10. Ne4+) 10. Qg1+ Kd2 11. Ne4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1369 date: 1912 algebraic: white: [Kf2, Qh1, Bd7] black: [Kg8, Qg5, Se7, Pg7] stipulation: + solution: | 1. Be6+ Kf8 2. Qa8+ Nc8 3. Qxc8+ Ke7 4. Qd7+ Kf6 5. Qd8+ Kg6 6. Bf7+ $1 6... Kf5 7. Qd5+ 7... Kf4 $1 (7... Kg4 8. Qf3+ Kh4 9. Qh1+ Kg4 10. Be6+ Kf4 11. Qc1+ ) 8. Qd4+ Kf5 9. Kf3 $1 9... g6 (9... Qh6 10. Qd5+ Kf6 11. Qe6+ Kg5 12. Qe5+) 10. Qd5+ Kf6 11. Qd8+ Kf5 12. Be6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1373 date: 1912 algebraic: white: [Kc1, Sc3, Pf2, Pa4] black: [Ke5, Bg8, Pf7, Pd7] stipulation: + solution: | 1. a5 Kd6 2. a6 (2. Ne4+ $1) 2... Kc6 $1 (2... Kc7 3. Nd5+ Kb8 4. Nf6) 3. Nd5 $1 3... Bh7 $1 4. f3 Bg6 5. Kd2 Bh5 6. Ke3 Bg6 7. Kf4 Bh5 8. Kg3 Bg6 9. Kg4 Bh7 10. Kg5 Bb1 11. Kf6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1373 date: 1912 algebraic: white: [Kc1, Sf4, Pf2, Pa4] black: [Ke5, Bg8, Pf7, Pd7] stipulation: + solution: | 1. a5 Kd6 2. a6 2... Kc6 $1 (2... Kc7 3. Nd5+ Kb8 4. Nf6) 3. Nd5 $1 3... Bh7 $1 4. f3 Bg6 5. Kd2 Bh5 6. Ke3 Bg6 7. Kf4 Bh5 8. Kg3 Bg6 9. Kg4 Bh7 10. Kg5 Bb1 11. Kf6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1377 date: 1912 algebraic: white: [Kd3, Qh1, Sf4, Pb5] black: [Kf6, Qc8, Ra5, Pg4, Pd7, Pa4] stipulation: + solution: | "1. Qh6+ 1... Kf5 $1 (1... Ke5 2. Qg5+ Kd6 3. Qf6+ Kc7 4. Nd5+ Kb8 5. Qd6+ Kb7 6. Qb6+ Ka8 7. Nc7+) (1... Kf7 2. Qh7+ Kf6 3. Qg6+ Ke7 (3... Ke5 4. Qg5+) 4. Nd5+ Kf8 5. Qf6+ Kg8 6. Ne7+) (1... Ke7 2. Nd5+) 2. Nd5 2... Ke5 $1 (2... Qd8 3. Ne3+ Ke5 4. Nc4+ Kf5 5. Nd6+ Ke5 6. Nf7+) 3. Nb6 $1 3... Qd8 (3... Qg8 4. Nxd7+ Kd5 5. Qc6#) 4. Nc4+ Kf5 5. Nd6+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1380 date: 1912 algebraic: white: [Kf3, Bc1, Pf5] black: [Kc3, Bg1, Pc7, Pc5] stipulation: + solution: | 1. Be3 Bh2 2. Bf4 Bg1 3. f6 c4 (3... Bd4 4. f7 Bg7 5. Be5+) 4. Bd6 $1 4... Bd4 5. f7 Bg7 6. Be5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1381 date: 1912 algebraic: white: [Kg1, Sf5, Ph4, Ph2, Pc6, Pb3] black: [Ka7, Re4, Ph7, Pf6] stipulation: + solution: | 1. c7 Rg4+ (1... Re1+ 2. Kf2 Rc1 3. Nd6 Rxc7 4. Nb5+) 2. Kh1 Kb7 3. h3 Rb4 4. Ne7 Kxc7 5. Nd5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1387 date: 1912 algebraic: white: [Kf3, Sg4, Sa7, Pf6] black: [Kd7, Bc8, Ba5, Pg7, Pd6] stipulation: + solution: | 1. fxg7 (1. Nxc8 $2 1... gxf6) 1... Bb7+ 2. Ke3 Bd5 (2... Bb6+ 3. Kf4 Bd5 4. Nf6+ Ke7 5. Nxd5+ Kf7 6. Nxb6 Kxg7 7. Nd5) 3. Nf6+ Ke7 4. Nxd5+ Kf7 5. Nc6 Be1 6. Nce7 Kxg7 7. Ke2 Ba5 (7... Bh4 8. Nf5+) 8. Nc6 Kf7 9. Nxa5 Ke6 10. Nf4+ Kf5 11. Kf3 d5 12. Nd3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1387 date: 1912 algebraic: white: [Ke4, Sh7, Sb4, Ph6, Pe6] black: [Ke8, Bc7, Ba4, Pb7] stipulation: + solution: | 1. Nf6+ 1... Kf8 $1 2. e7+ Kf7 3. e8=Q+ $1 3... Bxe8 4. Nxe8 4... Kg6 $1 5. Nxc7 5... b5 $1 6. Ne6 $1 6... Kh7 (6... Kxh6 7. Kf5) 7. Kf4 Kxh6 (7... Kg6 8. h7 $1 8... Kxh7 9. Kg5) 8. Kf5 Kh5 9. Ng7+ $1 9... Kh4 10. Kf4 Kh3 11. Nf5 Kg2 12. Ke3 12... Kf1 $1 13. Nd3 $1 13... b4 14. Kf3 b3 15. Ne3+ Kg1 16. Nb2 Kh2 17. Kg4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1388 date: 1912 algebraic: white: [Kg4, Sd4, Pe7, Pc5] black: [Ke5, Qd3, Ph7, Pc6] stipulation: + solution: | 1. Nxc6+ Kf6 2. e8=N+ $1 2... Ke6 3. Ng7+ Kd5 (3... Kf6 4. Nh5+ Kg6 (4... Kf7 5. Ne5+) 5. Nf4+) 4. Nb4+ Kxc5 5. Nxd3+ Kd4 6. Nf4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1912 algebraic: white: [Kh4, Se3, Ph2, Pg6] black: [Kc7, Rb1, Ba3, Ph6] stipulation: "=" solution: | 1. g7 Rb8 2. Nd5+ Kb7 3. Nf6 Be7 4. Kh3 Bxf6 5. g8=Q Rxg8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Wiener Schachzeitung date: 1912 algebraic: white: [Kb6, Se7, Pf2, Pc2, Pa6] black: [Kd4, Rh7, Sa1] stipulation: + solution: | 1. a7 Rh8 2. Nc6+ Kc4 (2... Kc3 3. Nb8 Rh6+ 4. Ka5 Rh5+ 5. Ka4 Rh4+ 6. f4 $1 6... Rxf4+ 7. Kb5 (7. Ka5 $2 7... Nb3+ 8. cxb3 Kxb3) 7... Rf5+ (7... Rb4+ 8. Ka5 Nb3+ 9. cxb3 Kxb3 10. Na6) 8. Kb6 Rf6+ 9. Kc7 Rf7+ 10. Nd7) 3. Nb8 Rh6+ 4. Ka5 Rh3 5. f3 $1 (5. c3 $2 5... Nb3+ 6. Ka4 Rh1) 5... Rxf3 6. Kb6 Rf6+ (6... Ra3 7. Na6) 7. Kc7 Rf7+ 8. Nd7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Wiener Schachzeitung date: 1912 algebraic: white: [Ka1, Sf3, Pf5, Pb6] black: [Kd1, Rc2] stipulation: + solution: | 1. b7 (1. f6 $2 1... Rc4 2. f7 (2. Ka2 Ra4+ 3. Kb3 Ra6) 2... Kc2 3. Ne1+ Kb3 4. Kb1 (4. Nd3 Kc2 5. Ne1+ (5. Nb2 $2 5... Rc5) (5. Nc1 $2 5... Ra4+ 6. Na2 Ra8 7. b7 Rh8 8. Nc1 (8. Nb4+ Kb3) 8... Kxc1) 5... Kb3) 4... Rd4 5. Kc1 Rd8 6. b7 (6. Nd3 Kc4 7. Ne5+ Kd5 8. Nd7 Kc6) 6... Kc4 7. Nf3 Kd5 8. Ng5 Kc6 9. Ne6 Rh8) 1... Rc5 (1... Rc1+ 2. Ka2 Rc2+ 3. Ka3 Rc3+ 4. Ka4 Rc4+ (4... Rc1 5. f6) 5. Ka5) 2. b8=R (2. b8=Q $2 2... Ra5+ 3. Kb2 Rb5+ 4. Qxb5) (2. Nd4 $2 2... Rc4 3. b8=R (3. b8=Q Ra4+ 4. Kb2 Rb4+ 5. Qxb4) (3. Ka2 Rb4) (3. Nb3 Ra4+ 4. Kb2 Rb4) (3. Nc6 $2 3... Kc2) 3... Rxd4 4. Kb2 Rf4 5. Rf8 Ke2) 2... Rxf5 (2... Ra5+ 3. Kb2 Rxf5 4. Rd8+ Ke2 5. Nd4+) 3. Rb1+ Kc2 (3... Ke2 4. Nd4+) 4. Nd4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 314 date: 1913 algebraic: white: [Kd8, Sd3, Pf5, Pe2, Pc6] black: [Kd4, Rf1, Sg8, Ph7, Pe3] stipulation: "=" solution: | 1. Nc5 Kxc5 2. c7 Rd1+ 3. Ke8 Nf6+ 4. Kf7 Rd7+ 5. Kf8 Rxc7 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 355 date: 1913 algebraic: white: [Kh3, Se8, Sd2, Pg2, Pc3] black: [Ke5, Rf5, Ph6] stipulation: + solution: | 1. Nc4+ Kf4 2. Ng7 $1 2... Rd5 $1 (2... Rf7 3. Ne6+ Kf5 4. Nd6+) 3. Ne6+ Ke4 4. Kg4 h5+ (4... Rd1 5. Nc5+ Kd5 6. Ne3+) 5. Kh4 $1 5... Rd1 6. Ng5+ (6. Nc5+ $2 6... Kf5 $1) 6... Kf4 7. Nh3+ Kf5 (7... Ke4 8. Nf2+) 8. Ne3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 361 date: 1913 algebraic: white: [Kb5, Sh1, Pe6] black: [Kd4, Pg3, Pf7, Pf6] stipulation: + solution: | 1. e7 g2 2. Ng3 Kd3 3. e8=Q g1=Q 4. Qe2+ Kc3 (4... Kd4 5. Qe4+ Kc3 6. Ne2+) 5. Qa2 $1 5... Kd3 (5... Qd1 6. Ne4+) (5... Qe3 6. Qa3+ Kd4 7. Nf5+) 6. Qc4+ Kd2 7. Ne4+ Kd1 8. Qd3+ Ke1 9. Qd2+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Bohemia source-id: 368 date: 1913 algebraic: white: [Kb5, Bh3, Pg3, Pa3] black: [Kg5, Sb1, Pd3, Pc5, Pa4] stipulation: "=" solution: | 1. Bg2 Kg4 2. Bf1 Nc3+ (2... d2 $1 3. Be2+ Kxg3 4. Kc4 Nxa3+ 5. Kd3 Nb1 6. Kc2 Kf2 7. Bh5 Ke1) 3. Kc4 d2 4. Kxc3 d1=Q 5. Be2+ Qxe2 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1392 date: 1913 algebraic: white: [Kf3, Qb8, Sd7] black: [Kh7, Qg5, Pc6, Pa7] stipulation: + solution: | "1. Nf8+ Kh6 (1... Kh8 2. Ne6+ Qg8 3. Qe5+ Kh7 4. Qh5#) 2. Qd6+ 2... Kh5 $1 3. Qh2+ Qh4 4. Qe5+ Qg5 (4... Kh6 5. Qh8+ Kg5 6. Ne6+) 5. Qe8+ Kh6 (5... Kh4 6. Ng6+ Kh5 7. Nf4+) 6. Qxc6+ Kh5 7. Qe6 a5 8. Qf7+ Kh4 9. Ng6+ Kh5 10. Qh7+ Qh6 11. Nf4+ Kg5 12. Nh3+ Kh5 13. Qf5+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1404 date: 1913 algebraic: white: [Kh1, Sf8, Sd8, Pc3, Pb4] black: [Kh4, Ph5, Pg5, Pd3, Pc4] stipulation: + solution: | 1. Kg2 d2 2. Ng6+ Kg4 3. Ne5+ Kf4 (3... Kf5 4. Nxc4 d1=N 5. b5) 4. Nxc4 d1=Q ( 4... d1=N 5. b5) 5. Ne6+ Ke4 6. Nxg5+ Kd3 (6... Kf4 7. Nh3+) 7. Nb2+ Kxc3 8. Nxd1+ Kxb4 9. Nh3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1411 date: 1913 algebraic: white: [Ke2, Ph5, Pf5, Pc2] black: [Kb6, Ba5, Pe7, Pd7] stipulation: + solution: | 1. f6 (1. Kd3 $1 1... Bb4 (1... Be1 2. f6 exf6 3. h6) (1... Kc6 2. f6 exf6 3. h6 Bc7 4. h7) 2. h6 Bd6 3. Ke4 Bb4 4. f6 e6 (4... exf6 5. h7 f5+ (5... Bc3 6. Kf5) 6. Kd3) 5. h7) 1... exf6 2. h6 Bc3 (2... f5 3. Kd3) 3. Kd3 Be5 (3... Ba1 4. c3) 4. Ke4 Bc3 5. Kf5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1411 date: 1913 algebraic: white: [Ke1, Ph5, Pf5, Pc2] black: [Kg3, Bb6, Pe7, Pc7, Pc5] stipulation: + solution: | 1. f6 $1 (1. h6 $2 1... Ba5+ 2. Ke2 Bc3) (1. Ke2 $2 1... c4 2. f6 exf6 3. h6 Bd4) 1... exf6 2. h6 Ba5+ 3. Ke2 Bc3 4. Kd3 Bd4 (4... Be5 $1 5. Ke4 Kg4 6. h7 6... Bd4 $1 7. c3 (7. h8=Q f5+) 7... f5+) 5. c3 Be5 6. Ke4 Kg4 (6... Bxc3 7. Kf5) 7. h7 Bxc3 8. Kd3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1417 date: 1913 algebraic: white: [Kd5, Sf5, Se4, Pb6] black: [Kd7, Sc8, Sa7, Pf7] stipulation: + solution: | "1. Nf6+ Kd8 2. Kc5 $1 2... Nxb6 3. Kxb6 Nc8+ 4. Kb7 Ne7 5. Nd4 Ng6 6. Nc6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1418 date: 1913 algebraic: white: [Ke2, Bg4, Sh3, Ph6, Pf5] black: [Kg8, Rc4, Ph4, Pg7, Pc5] stipulation: + solution: | 1. f6 $1 1... Rxg4 2. h7+ Kxh7 3. f7 Re4+ 4. Kf3 Re6 5. f8=N+ Kh6 6. Nxe6 c4 7. Neg5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1424 date: 1913 algebraic: white: [Kh1, Bc8, Sb4, Ph2, Pg6] black: [Kd4, Rg5] stipulation: + solution: | 1. Nc6+ 1... Ke3 $1 2. h4 $1 (2. Ne7 $2 2... Kf2 $1 3. h4 Rg1+ 4. Kh2 Rg2+ 5. Kh3 Rg3+) (2. h3 $2 2... Kf2 3. Bg4 Rxg6) 2... Rxg6 3. Ne7 Rg3 4. Nf5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1424 date: 1913 algebraic: white: [Kh1, Bc8, Sb8, Ph2, Pg6] black: [Kd4, Rg5] stipulation: + solution: | 1. Nc6+ 1... Ke3 $1 2. h4 $1 (2. Ne7 $2 2... Kf2 3. h4 Rg1+) 2... Rxg6 3. Ne7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1425 date: 1913 algebraic: white: [Ke1, Bg5, Sc7, Pg2, Pf2] black: [Kc8, Ra4, Pb7] stipulation: + solution: | 1. Nd5 Rg4 2. Bf6 Rxg2 3. Kf1 Rg4 (3... Rh2 4. Nb6+ Kc7 5. Be5+) 4. f3 Rg3 5. Nb6+ Kc7 6. Be5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1427 date: 1913 algebraic: white: [Kh1, Sg2, Ph4, Pb6] black: [Ka3, Bb4, Sc1, Pg5, Pd5] stipulation: + solution: 1. h5 Nd3 2. Ne1 Bxe1 3. b7 Bg3 4. h6 Ne5 5. b8=Q 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1434 date: 1913 algebraic: white: [Ke1, Sg3, Sf1, Pb6, Pa2] black: [Kd4, Ra3, Bf8] stipulation: + solution: | 1. b7 (1. Nf5+ $2 1... Kd3 2. b7 Bb4+ 3. Kd1 Rxa2 4. Kc1 Ba3+) 1... Bd6 $1 ( 1... Bb4+ 2. Kd1 $1 2... Bd6 3. Nf5+ Kd3 4. Nxd6 Rxa2 5. Kc1) 2. Nf5+ Kd3 3. Nxd6 Rxa2 4. b8=R $1 (4. b8=Q $2 4... Re2+ 5. Kd1 Rb2 6. Qxb2) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1434 date: 1913 algebraic: white: [Ke1, Sf1, Sb7, Pb6, Pa2] black: [Kc4, Ra3] stipulation: + solution: | 1. Nd6+ Kd3 2. b7 Rxa2 3. b8=R $3 (3. b8=Q $2 3... Re2+ 4. Kd1 4... Rb2 $1 5. Qxb2) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1440 date: 1913 algebraic: white: [Kc4, Pe2, Pa5] black: [Kb2, Bh2, Pf4, Pc7] stipulation: + solution: | 1. Kd3 Bg1 (1... Kc1 $1 2. a6 Bg1 3. e4 Kd1) 2. e4 fxe3 3. Ke2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1440 date: 1913 algebraic: white: [Kc4, Pf3, Pe2, Pa5, Pa2] black: [Kb2, Bh2, Pf4, Pc7] stipulation: + solution: 1. Kd3 Bg1 2. e4 fxe3 3. Ke2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1441 date: 1913 algebraic: white: [Ke5, Rf2, Sb4] black: [Ka8, Rd7, Pg6, Pa7, Pa4] stipulation: + solution: | "1. Na6 Re7+ 2. Kd6 Re3 3. Rb2 $1 3... Rb3 (3... Rd3+ 4. Kc7 Rc3+ 5. Kd8 Rd3+ 6. Kc8 Rc3+ 7. Nc7+) 4. Rxb3 $1 4... axb3 5. Kc7 b2 6. Kc8 b1=Q 7. Nc7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1445 date: 1913 algebraic: white: [Ke2, Pg5, Pd4, Pa5] black: [Kg2, Bh1, Sc2, Pc6] stipulation: + solution: | 1. d5 cxd5 2. a6 $1 (2. g6 $2 2... Nd4+ 3. Kd3 Ne6 4. a6 d4 5. a7 Kf2) 2... Kg3 (2... d4 3. g6 d3+ 4. Kd2) (2... Nd4+ 3. Kd2 Nb5 4. g6) 3. a7 d4 4. g6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1453 date: 1913 algebraic: white: [Kf5, Bb2, Sc7] black: [Kf8, Bh6] stipulation: + solution: | "1. Kg6 Be3 (1... Bd2 2. Ba3+ Kg8 3. Nd5 Ba5 4. Nf6+ Kh8 5. Bf8 Bc3 6. Bg7#) 2. Bg7+ Kg8 3. Ne8 Bg5 4. Nd6 Be3 5. Nf5 Bg5 6. Kxg5 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1454 date: 1913 algebraic: white: [Kc8, Qc4, Se3] black: [Kg1, Qd2, Pc7, Pb7] stipulation: + solution: | 1. Qf1+ Kh2 2. Qf4+ 2... Kh1 $1 3. Qf3+ Kg1 4. Qg3+ Kh1 5. Ng4 5... Qg2 $1 6. Qe1+ Qg1 7. Qe4+ Qg2 8. Qb1+ Qg1 9. Qxb7+ Qg2 10. Qb1+ Qg1 11. Qe4+ Qg2 12. Qe1+ Qg1 13. Qe2 $3 13... c6 (13... c5 14. Qf3+ Qg2 15. Qd1+ Qg1 16. Qd5+ Qg2 17. Qh5+ Kg1 18. Qxc5+ Kh1 19. Qc1+ Qg1 20. Qc6+ Qg2 21. Qh6+ Kg1 22. Qc1+ Qf1 23. Qc5+ Kh1 24. Qh5+ Kg2 25. Ne3+) 14. Qe4+ Qg2 15. Qh7+ Kg1 16. Qb1+ Qf1 17. Qb6+ Kh1 18. Qxc6+ Qg2 19. Qh6+ Kg1 20. Qc1+ Qf1 21. Qc5+ Kh1 22. Qh5+ Kg2 23. Ne3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1459 date: 1913 algebraic: white: [Kg7, Sg3, Sb2, Pg2, Pa5] black: [Ke5, Ra6, Pc7, Pa7] stipulation: + solution: | 1. Nd3+ Kd4 (1... Kd6 2. Nf5+ Kc6 (2... Kd5 3. Nb4+) (2... Kd7 3. Nc5+) (2... Ke6 3. Nc5+) 3. Nb4+) 2. Nb4 Re6 (2... Rd6 3. Nf5+) 3. Kf7 Ke5 4. Nd3+ Kd6 5. Nf5+ Kd5 (5... Kd7 6. Nc5+) 6. Nf4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Neuburger Wochenschach date: 1913 algebraic: white: [Ke5, Bg1, Pa4] black: [Kh3, Bg5, Ph5] stipulation: + solution: | 1. a5 Bh4 (1... Kg3 2. Kf5 $1 2... Bf4 3. Bh2+ $1) (1... Kg4 2. a6 Bf4+ 3. Kd5 3... Bb8 $1 4. Kc6 Kg3 5. Kb7 Kg2 6. Kxb8 Kxg1 7. a7) 2. a6 Bg3+ 3. Ke4 Bb8 4. Kf3 $1 4... Kh4 (4... h4 5. Bf2) 5. Be3 $1 5... Kh3 6. Bf2 Kh2 (6... h4 7. Bg1) 7. Bg3+ $1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Русская молва date: 1913 algebraic: white: [Kg6, Qf4, Pd6, Pc3] black: [Kc5, Qa8, Bc8, Pg4] stipulation: + solution: | 1.Qf4-b4+ Kc5-d5 2.Qb4-d4+ Kd5-e6 3.d6-d7 ! Bc8*d7 4.Qd4*g4+ Ke6-e5 5.Qg4-g3+ Ke5-e6 6.Qg3-e3+ Ke6-d6 7.Qe3-f4+ Kd6-c5 ! 8.Qf4-b4+ Kc5-d5 9.Qb4-d4+ Kd5-e6 10.Qd4-f6+ Ke6-d5 11.Qf6-f3+ 7...Kd6-e7 8.Qf4-f6+ Ke7-e8 9.Qf6-h8+ 5.Qg4-d4+ ! {dual} Ke5-e6 6.Qd4-f6+ Ke6-d5 7.Qf6-f3+ 4...Ke6-e7 5.Qg4-h4+ Ke7-d6 6.Qh4-f4+ 3.Qd4-f6+ ! {dual} Ke6-d5 4.d6-d7 Bc8*d7 5.Qf6-d4+ Kd5-e6 6.Qd4*g4+ Ke6-e7 7.Qg4-h4+ Ke7-e6 8.Qh4-f6+ Ke6-d5 9.Qf6-f3+ 7...Ke7-d6 8.Qh4-f4+ Kd6-c5 9.Qf4-b4+ Kc5-d5 10.Qb4-d4+ Kd5-e6 11.Qd4-f6+ Ke6-d5 12.Qf6-f3+ 3...Ke6-d7 4.Qf6-e7+ Kd7-c6 5.Qe7-e4+ keywords: - Dual --- authors: - Троицкий, Алексей Алексеевич source: Russkaia Molva date: 1913 algebraic: white: [Kg6, Qf4, Pd6, Pc3] black: [Kc5, Qa8, Bc8, Ph4, Pg4] stipulation: + solution: | 1. Qb4+ Kd5 2. Qd4+ Ke6 3. d7 $1 3... Bxd7 4. Qxg4+ 4... Ke7 $1 (4... Ke5 5. Qd4+) (4... Kd6 5. Qf4+) 5. Qxh4+ 5... Kd6 $1 6. Qf4+ Kc5 7. Qb4+ Kd5 8. Qd4+ Ke6 9. Qf6+ Kd5 10. Qf3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный вестник date: 1913 algebraic: white: [Kd4, Re7, Sg3, Pd7, Pa5] black: [Kc6, Qh6, Ph7] stipulation: + solution: | "1. Re6+ Qxe6 2. d8=N+ 2... Kb5 $1 3. Nxe6 3... h5 $1 4. Nc7+ Kxa5 5. Kc5 h4 6. Nf1 h3 7. Nh2 Ka4 8. Nd5 Ka5 9. Nb4 Ka4 10. Nc6 Ka3 11. Kd4 Kb3 12. Kd3 Ka3 13. Kc3 Ka4 14. Kc4 Ka3 15. Nd4 Ka4 16. Nb3 Ka3 17. Nc5 Ka2 18. Kd3 Kb2 19. Kd2 Ka2 20. Kc2 Ka3 21. Kc3 Ka2 22. Nd3 Ka3 23. Nb2 Ka2 24. Nc4 24... Kb1 $1 25. Kd2 Ka1 26. Kc1 Ka2 27. Kc2 Ka1 28. Nd6 Ka2 29. Nb5 Ka1 30. Nd6 Ka2 31. Nc4 Ka1 32. Kb3 Kb1 33. Nd2+ Kc1 34. Kc3 Kd1 35. Nb3 Ke1 36. Kd4 Ke2 37. Ke4 Ke1 38. Ke3 Kd1 39. Kd3 Ke1 40. Nd4 Kd1 41. Ne2 Ke1 42. Nc3 Kf2 43. Kd2 Kg2 44. Ke2 Kg3 45. Ke3 Kh4 46. Kf4 Kh5 47. Kf5 Kh6 48. Kf6 Kh5 49. Ne4 Kh4 50. Kf5 Kh5 51. Ng3+ Kh4 52. Ngf1 Kh5 53. Ne3 Kh6 54. Kf6 Kh7 55. Nf5 Kg8 56. Ke7 Kh7 57. Kf7 Kh8 58. Kg6 Kg8 59. Ng7 Kf8 60. Kf6 Kg8 61. Ne6 Kh7 62. Kg5 Kg8 63. Kg6 Kh8 64. Kf7 Kh7 65. Ng4 h2 66. Ng5+ Kh8 67. Ne5 h1=Q 68. Ng6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматный вестник date: 1913 algebraic: white: [Kh3, Sf2, Sd3, Pd6] black: [Kg5, Re6, Bf7, Ph7] stipulation: + solution: | 1. d7 1... Rd6 $1 (1... Re8 $1) 2. Ne4+ 2... Kh6 $1 (2... Kh5 3. Nf4+ Kh6 4. Nxd6) (2... Kg6 3. Nf4+ Kg7 4. Nxd6) 3. Nxd6 Be6+ 4. Kh4 Bxd7 5. Nc5 Bc6 6. Nf5+ Kg6 7. Ne7+ Kf7 8. Nxc6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный вестник date: 1913 algebraic: white: [Kh3, Sf2, Sd3, Pd6] black: [Kg5, Re6, Bb3, Ph7] stipulation: + solution: | 1. d7 1... Rd6 $1 2. Ne4+ Kh6 (2... Kg6 3. Nf4+ Kf7 4. Nxd6+ Ke7 5. Nb7 Kxd7 6. Nc5+) 3. Nxd6 Be6+ 4. Kh4 $1 4... Bxd7 5. Nc5 (5. Ne5 $2 5... Be6) 5... Bc6 6. Nf5+ Kg6 7. Ne7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный вестник date: 1913 algebraic: white: [Kh3, Sf2, Sd3, Pd6] black: [Kg5, Re6, Bg8, Ph7] stipulation: + solution: | 1. d7 Rd6 2. Ne4+ Kh6 (2... Kh5 3. Nf4+ Kh6 4. Nxd6) (2... Kg6 3. Nf4+ Kg7 4. Nxd6) 3. Nxd6 Be6+ 4. Kh4 Bxd7 5. Nc5 Bc6 6. Nf5+ Kg6 7. Ne7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный вестник date: 1913 algebraic: white: [Kd4, Re7, Sg3, Pd7, Pa5] black: [Kc6, Qe1, Ph7, Pe6] stipulation: + solution: | 1. Rxe6+ Qxe6 2. d8=N+ Kb5 3. Nxe6 h5 4. Nf1 h4 5. Nc7+ Kxa5 6. Kc5 h3 (6... Ka4 7. Nh2 Kb3 (7... Ka5 8. Nf3) 8. Nd5 Kc2 9. Kd4 Kb3 (9... Kd2 10. Ne3) 10. Nf3 Ka4 11. Kc5 Ka5 12. Nb4) 7. Nh2 Ka4 8. Nd5 Ka5 9. Nb4 Ka4 10. Nc6 Kb3 ( 10... Ka3 11. Kd4 Kb3 12. Kd3 Ka4 13. Kc4) 11. Kd4 Ka3 12. Kc3 Ka4 13. Kc4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматное обозрение date: 1913 algebraic: white: [Kc7, Qf6, Bc2] black: [Kd5, Qg8, Bf1, Pg3] stipulation: + solution: | "1. Bg6 1... g2 $1 2. Bf7+ 2... Ke4 $1 3. Bxg8 $1 (3. Qe6+ $2 3... Kf3 $1) (3. Qc6+ $2 3... Kf4) 3... g1=Q 4. Bh7+ Kd5 5. Qc6+ Kd4 (5... Ke5 6. Qd6#) 6. Qb6+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматное обозрение date: 1913 algebraic: white: [Kb7, Qe6, Ba1] black: [Kc5, Qf8, Pf3, Pa5] stipulation: + solution: | "1. Bf6 f2 2. Be7+ Kd4 3. Bxf8 (3. Qb6+ $1 3... Kc3 (3... Ke4 4. Qb1+ Ke3 5. Bxf8) 4. Qe3+ Kb2 5. Qe2+ Kc3 6. Bxf8) 3... f1=Q 4. Bg7+ Kc5 5. Qb6+ Kd5 (5... Kc4 6. Qa6+) 6. Qc6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1389 date: 1914 algebraic: white: [Kd8, Rc4, Ba8, Pf5] black: [Ka5, Se8, Pf4, Pc6, Pb2] stipulation: "=" solution: | 1. Rc5+ Kb6 2. Rxc6+ Ka7 3. f6 Nxf6 4. Rc7+ Kxa8 5. Rc4 b1=Q (5... b1=R $1 6. Rxf4 (6. Ke7 f3 7. Rc2 Ne4) 6... Rb8+ 7. Kc7 (7. Ke7 Nd5+) 7... Nd5+) 6. Ra4+ Kb7 7. Rb4+ Qxb4 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1461 date: 1914 algebraic: white: [Kg5, Bc8, Sf5] black: [Kd5, Bf7, Pc5] stipulation: + solution: 1. Kf6 Bh5 2. Bb7+ Kc4 3. Kg5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1462 date: 1914 algebraic: white: [Kf2, Be2, Sg5, Pe6, Pb2, Pa2] black: [Kc6, Ra4, Pg2, Pc7] stipulation: + solution: | 1. e7 Rf4+ (1... Ra8 2. Bf3+) (1... Kd7 2. Bb5+) 2. Kg1 $1 (2. Kxg2 $2 2... Kd7 3. Ne6 Rf6 4. Nxc7 Rg6+) 2... Kd7 3. Ne6 $1 3... Rf7 (3... Rf5 4. e8=Q+ Kxe8 5. Ng7+) (3... Rh4 4. Ng7 Kxe7 5. Nf5+) (3... Rf6 4. Nxc7 Kxe7 5. Nd5+) (3... Rf1+ 4. Bxf1 gxf1=Q+ 5. Kxf1 Kxe7 6. Nxc7) 4. e8=Q+ Kxe8 5. Bh5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1462 date: 1914 algebraic: white: [Kf2, Be2, Sg5, Pe6, Pa2] black: [Kc6, Ra4, Pg2, Pc7] stipulation: + solution: | 1. e7 (1. Bb5+ $2 1... Kxb5 2. e7 Ra8 3. Ne6 3... Kc6 $1 4. Ng7 Kd7 5. e8=Q+ Rxe8 6. Nxe8 Kxe8) 1... Rf4+ (1... Ra8 2. Bf3+) (1... Kd7 2. Bb5+) 2. Kg1 Kd7 3. Ne6 Rf1+ (3... Rf7 4. e8=Q+ Kxe8 5. Bh5) (3... Rf5 4. e8=Q+ Kxe8 5. Ng7+) ( 3... Rf6 4. Nxc7 Kxe7 5. Nd5+) (3... Rh4 4. Ng7 Kxe7 5. Nf5+) (3... Rb4 4. Nxc7 Kxe7 (4... Rb1+ $1 5. Kxg2 Kxe7) 5. Nd5+) 4. Bxf1 gxf1=Q+ 5. Kxf1 Kxe7 6. Nxc7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1465 date: 1914 algebraic: white: [Ke1, Sg6, Pe2, Pb5] black: [Ke6, Bg8, Pe4] stipulation: + solution: | 1. b6 $1 (1. Kd2 $2 1... Kd6 2. Ke3) 1... Kd6 2. Ne7 Ba2 (2... Bh7 3. e3) (2... Bc4 3. b7 Kc7 4. Nc6 Kxb7 5. Na5+) 3. Kd2 $1 (3. Kd1 $2 3... Bb3+ 4. Kd2 Ba4) 3... e3+ 4. Kc1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1465 date: 1914 algebraic: white: [Ke1, Se3, Pe2, Pb5] black: [Ke5, Bg8, Pe4] stipulation: + solution: | 1. b6 Kd6 2. Nf5+ Kd7 3. Ne7 Ba2 4. Kd2 Bb1 5. Kc1 Ba2 6. Kb2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1474 date: 1914 algebraic: white: [Kh2, Bc5, Sh3, Sa6] black: [Ke4, Ph7, Ph6, Pf6, Pa2] stipulation: + solution: | 1. Nf2+ Ke5 (1... Kd5 2. Nb4+ Kxc5 3. Nxa2) 2. Ng4+ Ke4 3. Nxf6+ Ke5 4. Ng4+ Ke4 5. Nf2+ Ke5 6. Bf8 $1 6... Kf6 7. Bb4 a1=Q 8. Bc3+ Qxc3 9. Ne4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1478 date: 1914 algebraic: white: [Kf5, Ra6, Sf3, Pd7] black: [Kf7, Qh8, Ph7, Pf6, Pd5] stipulation: + solution: | 1. Ra7 Qb8 2. Rb7 Qa8 (2... Qxb7 3. d8=N+ Ke7 4. Nxb7) 3. Nd4 Ke7 (3... Qa6 $1) 4. Ne6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1478 date: 1914 algebraic: white: [Kf5, Ra4, Sd4, Pd7] black: [Kf7, Qf8, Pf6] stipulation: + solution: | 1. Ra7 (1. Nc6 $2 1... Qh6 2. d8=Q (2. Ra7 Qh7+ 3. Kf4 Qh2+ 4. Ke4 Qg2+) (2. Rg4 Qh7+ 3. Kf4 Qh6+ 4. Kg3 Qe3+) 2... Qh5+) (1. Ne6 $2 1... Qb8 2. d8=Q (2. Ra5 Qb1+) 2... Qb5+) 1... Qb8 $1 (1... Qe7 2. d8=N+ Ke8 3. Rxe7+) (1... Qd8 2. Nc6) (1... Qc5+ $1) 2. Rb7 $1 (2. d8=Q+ $2 2... Qxa7) (2. d8=N+ Ke8 3. N8c6 Qc8+) 2... Qa8 $1 (2... Qd8 3. Nc6 Qa8 4. Rc7) 3. Nc6 (3. Ne6 $2 3... Qa5+) 3... Qxb7 (3... Kg7 4. Ra7) 4. d8=N+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1485 date: 1914 algebraic: white: [Kc8, Bh6, Pc5, Pc3, Pa6] black: [Kc6, Ba8, Ph7, Pe5, Pd3] stipulation: "=" solution: | 1. Kb8 Kxc5 2. Kxa8 Kb6 3. a7 Kc7 4. c4 e4 5. c5 e3 6. Bxe3 h5 7. c6 h4 8. Bf4+ Kc8 9. Bb8 $1 9... d2 (9... h3 10. c7 h2 (10... Kd7 $2 11. Kb7)) 10. c7 d1=Q 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1485 date: 1914 algebraic: white: [Kc8, Bh6, Pc5, Pc3, Pa6] black: [Kc6, Ba8, Ph7, Pf5, Pd3] stipulation: "=" solution: | 1. Kb8 Kxc5 2. Kxa8 Kb6 3. a7 Kc7 4. c4 Kc8 5. c5 f4 6. Bxf4 h5 7. c6 h4 8. Bb8 d2 9. c7 d1=Q 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1491 date: 1914 algebraic: white: [Kc1, Pd4, Pc5, Pc2, Pa5] black: [Ka4, Bg6, Pd7, Pd3] stipulation: + solution: | 1. c6 $1 1... dxc6 2. a6 Be4 3. d5 $1 3... cxd5 (3... Bxd5 4. c4 Bf3 5. c5) ( 3... d2+ 4. Kxd2 Bxd5 (4... cxd5 5. Ke3) 5. c4 Bf3 6. c5) 4. cxd3 Bf3 5. d4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1496 date: 1914 algebraic: white: [Ke2, Se7, Sd1, Pc2] black: [Ke4, Rb6, Pe5, Pc4] stipulation: + solution: | 1. Nc3+ Kd4 2. Na4 2... Rb3 $1 (2... Rf6 3. c3+ Ke4 4. Nc5+ Kf4 5. Nd5+) (2... Rb5 3. Nf5+ Ke4 4. Nd6+) 3. cxb3 cxb3 4. Nc6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1497 date: 1914 algebraic: white: [Kg4, Sh5, Sb4, Pg3, Pf2, Pb2] black: [Ke4, Qc7, Pe6, Pd4] stipulation: + solution: | 1. Nf6+ Ke5 2. Ne8 Qb6 3. f4+ Ke4 4. Nf6+ Ke3 5. Nbd5+ exd5 6. Nxd5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1497a date: 1914 algebraic: white: [Kg2, Se7, Sd1, Pg4, Pc2] black: [Ke4, Qb6, Pe5, Pd5, Pc4] stipulation: + solution: | 1. Nc3+ Kd4 2. Na4 Qc7 (2... Qb7 3. Nf5+ Ke4 4. Nc5+) (2... Qf6 3. Nf5+ Ke4 4. Nc3+ Kf4 5. Nxd5+) (2... Qb3 3. cxb3 cxb3 4. g5) 3. Nf5+ Ke4 4. Nc3+ Kf4 5. Nxd5+ Kxg4 6. Nfe3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1514 date: 1914-10 algebraic: white: [Kc6, Sh5, Se5] black: [Kh8, Se8, Ph7] stipulation: + solution: | "1. Kd7 Sg7 2. Sf7+ Kg8 3. Sh6+ Kh8 4. Ke7 Sxh5 5. Kf8 Sg7 6. Sf7# 3. ... Kf8 4. Sf4 Se8 5. Se6#" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1514 date: 1914 algebraic: white: [Kg5, Rb2, Se4, Sc5] black: [Kh7, Qh8, Sh5, Pd4] stipulation: + solution: | 1. Rb7+ Kg8 (1... Qg7+ 2. Rxg7+ Nxg7 3. Nf6+) 2. Rb8+ Kg7 3. Rxh8 (3. Ne6+ $2 3... Kh7 4. Rxh8+ Kxh8 5. Kxh5 d3 6. Nd2 Kh7 7. Kg5 7... Kg8 $1) 3... Kxh8 4. Nd3 $1 4... Ng7 5. Nf6 Ne6+ 6. Kh6 $1 (6. Kg6 $2 6... Nf8+ 7. Kh6 7... Ne6 $3) 6... Ng7 7. Kg6 $1 (7. Ne5 7... Nf5+ $1 8. Kg6 Nd6) 7... Ne6 8. Ne5 Nd8 9. Kh6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1515 date: 1914 algebraic: white: [Ke3, Sf3, Sd5] black: [Kh8, Sh1, Pd6] stipulation: + solution: | 1. Nd4 Ng3 2. Kf3 $1 (2. Kf4 $2 2... Nf1 $1 3. Nb3 3... Kg7 $1 4. Kf3 4... Kf7 $1 5. Kg2 5... Ke6 $1) 2... Nh5 (2... Nf1 3. Nb3 Nh2+ (3... Kg7 4. Kg2 Kf7 5. Kxf1 Ke6 6. Nf4+ Kf5 7. Ne2 d5 8. Ned4+) 4. Kg3 Nf1+ 5. Kg2 Ne3+ 6. Nxe3 d5 7. Nd4) 3. Kg4 Ng7 4. Nf6 d5 5. Kg5 Ne6+ 6. Nxe6 d4 7. Kg6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1516 date: 1914 algebraic: white: [Ka2, Sf5, Sb7, Pb6] black: [Ke6, Rg5, Pc7] stipulation: + solution: | 1. Nd8+ Kd7 2. b7 Rg6 (2... Rg2+ 3. Ka3) 3. Nc6 $1 (3. b8=Q $2 3... Ra6+ 4. Kb2 Rb6+ 5. Qxb6 cxb6 6. Nb7 6... b5 $1) 3... Rxc6 (3... Rg8 4. b8=N+ Rxb8 5. Nxb8+ Ke6 6. Nd4+ Kd5 7. Nbc6) 4. b8=N+ $1 4... Ke6 5. Nd4+ Kd5 6. Nbxc6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1516 date: 1914 algebraic: white: [Ka1, Sf5, Sb7, Pb6] black: [Ke6, Rg5, Pc7] stipulation: + solution: | 1. Nd8+ $1 1... Kd7 $1 (1... Kxf5 2. bxc7 (2. b7 $2 2... Rg6 3. b8=Q Ra6+ 4. Kb2 Rb6+) 2... Rg1+ 3. Kb2) 2. b7 Rg6 (2... Rg1+ 3. Kb2 Rg2+ (3... Rg6 4. Nc6) 4. Kc3) 3. Nc6 $1 3... Rxc6 (3... Rg8 4. b8=Q Rxb8 5. Nxb8+ Ke6 6. Nd4+) 4. b8=N+ $1 (4. b8=Q Ra6+ 5. Kb2 Rb6+) 4... Ke6 5. Nd4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1517a date: 1914 algebraic: white: [Kh2, Sb7, Pb6] black: [Kc4, Se7, Ph4, Ph3, Pc7] stipulation: + solution: 1. Na5+ Kb5 2. b7 Nc6 3. Nxc6 Ka6 4. b8=N+ $1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1520 date: 1914 algebraic: white: [Kd3, Ph5, Pe5, Pd2] black: [Ka5, Bh4, Pe7, Pc6, Pb4] stipulation: + solution: | 1. h6 Bg3 2. Kd4 c5+ 3. Kd5 e6+ 4. Kxe6 b3 5. h7 Bxe5 6. Kxe5 b2 7. h8=R (7. h8=Q $2 7... b1=Q 8. Qa8+ Kb5 9. Qb8+ Kc4 10. Qxb1) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1521 date: 1914 algebraic: white: [Kc1, Rg6, Bd1, Ph6] black: [Ka1, Ra6, Ra2] stipulation: + solution: | 1. h7 Ra8 2. Rg8 Rxg8 3. hxg8=R Ra5 4. Bb3 Rc5+ 5. Bc2 Ra5 6. Rc8 Ka2 7. Rc3 7... Ka1 $1 8. Be4 Ra7 9. Rc5 Ra3 10. Bf3 $1 10... Ra2 11. Rb5 Ra4 12. Kc2 Ka2 13. Be2 Ka3 14. Kc3 Rf4 15. Ra5+ Ra4 16. Rb5 Ra7 17. Bc4 Ka4 18. Rc5 Ra8 19. Bd5 Ra6 20. Bb7 Ra7 21. Bc6+ Ka3 22. Re5 Ra6 23. Bb7 Ra7 24. Re1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1522 date: 1914 algebraic: white: [Kb3, Ba4, Sd6, Pg3, Pf2] black: [Kh6, Rg4, Ph7, Pg7] stipulation: + solution: | 1. Nf7+ Kh5 2. Bc6 Rd4 (2... Rxg3+ 3. fxg3 Kg4 4. Nd6) 3. Kc3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1523 date: 1914 algebraic: white: [Ka3, Qg2, Bb8] black: [Kc3, Qh4, Ph7, Pa7, Pa6] stipulation: + solution: | 1. Be5+ Kc4 2. Qc6+ Kd3 3. Qf3+ 3... Kc4 $1 (3... Kc2 4. Qe2+) 4. Bf6 $1 4... Qe1 (4... Qh6 5. Qc3+ Kd5 6. Qe5+ Kc6 7. Qe6+) 5. Qc6+ Kd3 6. Qxa6+ Kc2 7. Qa4+ Kd3 8. Qb5+ Kc2 9. Qb3+ Kd2 10. Bc3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1915 algebraic: white: [Kf1, Qb2, Be5, Ph5] black: [Ke3, Qg4, Ph7] stipulation: + solution: | "1. Qc3+ Ke4 2. Qd4+ Kf5 3. Qd7+ Kg5 4. Bf6+ 4... Kf4 $1 (4... Kh6 $3 5. Qxg4) 5. Qc7+ $1 5... Ke4 (5... Ke3 6. Qc3+) 6. Qe5+ Kf3 7. Qc3+ Ke4 (7... Kf4 8. Kf2 Qd1 (8... Qxh5 9. Qd4+) 9. Qe5+ Kg4 10. Qg5+ Kh3 11. Qh4#) 8. Qd4+ Kf3 9. Qd3+ Kf4 10. Kf2 Qxh5 (10... h6 11. Qe3+ Kf5 12. Qe5#) 11. Qd4+ Kf5 12. Qe5+ 12... Kg6 $1 13. Qe8+ Kh6 14. Bg7+ Kg5 15. Qe5+ Kg4 16. Qe4+ Kg5 17. Kg3 Qd1 (17... h6 18. Qe5+ Kg6 19. Qe8+ Kg5 20. Bf6+) 18. Qf4+ Kg6 19. Qf6+ Kh5 20. Qf5# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1915 algebraic: white: [Kf1, Qb2, Be5, Ph5] black: [Ke3, Qg4, Ph7, Pc7] stipulation: + solution: | 1. Qc3+ (1. Qb3+ $1) (1. Qa3+ $1) 1... Ke4 2. Qd4+ 2... Kf5 $1 3. Qd7+ Kg5 4. Bf6+ 4... Kf4 $1 5. Qxc7+ $1 (5. Qd4+ $2 5... Kg3 $1) 5... Ke4 6. Qe5+ Kf3 7. Qc3+ 7... Ke4 $1 8. Qd4+ Kf3 9. Qd3+ Kf4 10. Kf2 $1 10... Qxh5 11. Qd4+ Kf5 12. Qe5+ Kg6 13. Qe8+ Kh6 14. Bg7+ $1 14... Kg5 15. Qe5+ Kg4 16. Qe4+ Kg5 17. Kg3 h6 18. Qe5+ Kg6 19. Qe8+ Kg5 20. Bf6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur source-id: 0408 date: 1916 distinction: 3rd Prize algebraic: white: [Kh3, Rf7, Se7] black: [Kh1, Sd6, Pe2] stipulation: "=" solution: | 1. Nf5 Nxf5 2. Rd7 Kg1 (2... Ne3 3. Rd2 e1=Q 4. Rh2+ Kg1 5. Rh1+ Kxh1) 3. Rd3 e1=Q 4. Rd1 Qxd1 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1916 algebraic: white: [Kb7, Sd5, Sa7, Ph5, Pc2] black: [Ka5, Pf7, Pb4, Pa2] stipulation: + solution: | 1. Nb6 a1=Q 2. c4 bxc3 (2... Qh1+ 3. Nc6+ Qxc6+ 4. Kxc6 b3 5. Nd5) 3. Nc6+ Kb5 4. Nd4+ Kc5 5. Nb3+ Kd6 6. Nxa1 Ke5 7. Nd5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1916 algebraic: white: [Kd8, Bc5, Pg6, Pf4] black: [Ka8, Bh2, Pe2, Pa3] stipulation: + solution: | 1. g7 (1. Bf2 1... Bg1 $1) 1... e1=Q 2. g8=Q Kb7 3. Qb3+ Kc6 4. Qb6+ Kd5 5. Qb5 $1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1916 algebraic: white: [Kc7, Bh6, Sg7] black: [Ka5, Bh4, Pa6, Pa4] stipulation: + solution: | 1. Bd2+ Kb5 2. Nf5 Bf2 3. Nd6+ Kc5 4. Ne4+ Kc4 5. Nxf2 a3 6. Bf4 a2 7. Be5 Kb3 8. Ne4 Kc2 9. Nc5 a5 10. Kb6 a4 11. Nxa4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1916 algebraic: white: [Ka8, Bh4, Pe5] black: [Ka5, Bh8, Se2] stipulation: + solution: | 1. e6 1... Bf6 $1 2. Bxf6 Nf4 3. Bd8+ $1 3... Ka6 $1 4. e7 Nd5 5. e8=R 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1916 algebraic: white: [Kd1, Bf5, Sb2, Ph2, Pa6] black: [Kc6, Re3, Ph6, Ph4] stipulation: + solution: | 1. a7 Kb7 2. Nc4 Re7 3. Nd6+ $1 (3. Nb6 $2 3... Re8) 3... Ka8 4. Be4+ Kxa7 5. Nc8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1916 algebraic: white: [Ka2, Bd5, Sf7, Pg3, Pg2, Pb4] black: [Kh5, Rb5, Ph6, Pb6] stipulation: + solution: | 1. Bc6 Rxb4 (1... Rf5 2. g4+) 2. Ka3 Rd4 (2... Rb1 3. Bf3+ Kg6 4. Be4+) (2... Rc4 3. Bf3+ Kg6 4. Ne5+) 3. Ne5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1916 algebraic: white: [Ka8, Bf6, Pe5] black: [Ka5, Se2] stipulation: + solution: | 1. e6 $1 1... Nf4 2. Bd8+ $1 (2. e7 $2 2... Nd5 $1) 2... Ka6 3. e7 Nd5 4. e8=R $1 (4. e8=Q $2 4... Nc7+ 5. Bxc7) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1916 algebraic: white: [Kf2, Sf8, Se3, Pf7] black: [Kh1, Rh3, Bd8] stipulation: + solution: | 1. Ng6 $1 1... Bh4+ (1... Rh8 2. Nxh8 Be7 3. Nf5 Ba3 4. Ng6) 2. Nxh4 Rxh4 3. f8=R $1 (3. f8=Q $2 3... Rf4+ 4. Qxf4) 3... Kh2 4. Rf3 Rh8 5. Ng4+ Kh1 6. Kf1 Rh5 7. Rg3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1916 algebraic: white: [Kb7, Sd5, Sa7, Ph4, Pc2] black: [Ka5, Pf7, Pb4, Pa2] stipulation: + solution: | 1. Nb6 a1=Q (1... a1=N) (1... b3 2. Nc6+) (1... f5 2. Nc6+ Kb5 3. Nd4+ Kc5 4. Nb3+ Kd6 5. h5 Ke6 6. Nd5 $1) 2. c4 bxc3 (2... Qh1+ 3. Nc6+ Qxc6+ 4. Kxc6 b3 5. Nd5 b2 6. Nc3 Kb4 7. Nb1 Kb3 8. h5 Kc2 9. h6 $1 9... Kxb1 10. h7 Kc2 11. h8=Q b1=Q 12. Qh7+) 3. Nc6+ Kb5 4. Nd4+ Kc5 (4... Kb4 5. Nc2+ Kb3 6. Nxa1+ Kb2 7. Na4+) 5. Nb3+ Kd6 6. Nxa1 Ke5 7. Nc4+ $1 7... Kf4 8. Ne3 $1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Falkirk Herald date: 1916 algebraic: white: [Kc5, Qc6, Sh7, Pe2] black: [Ke5, Qh5, Sh1, Pf4, Pe6] stipulation: + solution: | "1. Kb4 $1 1... Qxh7 $1 (1... Qxe2 2. Qc5+ Ke4 3. Ng5+ Kd3 4. Qc3#) (1... Kf5 2. Qc2+ Kg4 (2... Ke5 3. Qc5+) 3. Nf6+) 2. Qc3+ Kd6 3. Qc5+ Kd7 4. Qa7+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Falkirk Herald date: 1916 algebraic: white: [Kc5, Qc6, Sh7, Pe2] black: [Ke5, Qh5, Sh1, Pg3, Pe6] stipulation: + solution: | "1. Kb4 Kf5 (1... Kd4 2. Qc3+ Ke4 3. Qd3+ Ke5 4. Qb5+) (1... Qxh7 2. Qc3+ Kd5 ( 2... Kd6 3. Qc5+ Kd7 4. Qa7+) 3. Qc5+ Ke4 4. Qc2+) (1... Qxe2 2. Qc5+ Ke4 3. Ng5+ Kd3 4. Qc3#) (1... Nf2 2. Qc5+ Ke4 3. Nf6+) 2. Qc2+ Ke5 (2... Kg4 3. Nf6+) 3. Qc5+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur source-id: 258 date: 1916 algebraic: white: [Kg2, Qb4, Bb2] black: [Kg5, Qh7, Bd7, Ph5] stipulation: + solution: | "1. Qd2+ (1. Bc1+ Kf6 2. Qd6+ Be6 3. Qd8+ (3. Bb2+ 3... Kf7 $1) 3... Kf7 $1) 1... Kg6 (1... Kh4 2. Bf6+) (1... Kg4 2. Qd4+ Kg5 3. Qf6+ Kg4 4. Qf3+) 2. Qd6+ Kg5 (2... Kf7 3. Qxd7+ Kg6 4. Qc6+ Kg5 5. Bc1+) 3. Qg3+ (3. Bc1+ $1) 3... Bg4 ( 3... Kh6 4. Bc1#) (3... Kf5 4. Qd3+) 4. Qh4+ $3 4... Kxh4 (4... Kf5 5. Qf6+ Ke4 6. Qd4+ Kf5 7. Qd3+) (4... Kf4 5. Qf2+ Bf3+ 6. Qxf3+ Kg5 7. Qg3+) (4... Kh6 5. Qf6+ Qg6 6. Qf8+ Kg5 7. Bc1+ Kh4 8. Qf2#) 5. Bf6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur source-id: 258 date: 1916 algebraic: white: [Kg2, Qa1, Bg7] black: [Kg4, Qh7, Bd7, Ph5] stipulation: + solution: | "1.Qa1-d4+ Kg4-g5 2.Qd4-f6+ Kg5-g4 3.Qf6-f3+ Kg4-g5 4.Qf3-g3+ Bd7-g4 5.Qg3-h4+ Kg5*h4 6.Bg7-f6# 5... Kg5-f4 6.Qh4-f2+ Bg4-f3+ 7.Qf2*f3+ Kf4-g5 8.Qf3-g3+ {+-} " --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur source-id: 259 date: 1916 algebraic: white: [Kf1, Qc1, Se5] black: [Kh3, Qb6, Sg1, Ph6] stipulation: + solution: | 1. Qc8+ (1. Qa3+ $1) (1. Qc3+ $1) 1... Kh2 (1... Kg3 2. Qg4+) 2. Qc2+ Kg3 3. Qg2+ Kf4 4. Ng6+ Kf5 (4... Ke3 5. Qxg1+) 5. Ne7+ Ke5 (5... Kf6 6. Qg6+) (5... Ke6 6. Qg6+) (5... Kf4 6. Nd5+) 6. Qh2+ Ke4 (6... Kf6 7. Qxh6+) (6... Ke6 7. Qxh6+) (6... Kd4 7. Qxg1+) 7. Qc2+ Ke5 (7... Kf3 8. Qg2+ Kf4 9. Nd5+) (7... Ke3 8. Qf2+) (7... Kd4 8. Qf2+) (7... Kf4 8. Nd5+) 8. Qf5+ Kd6 (8... Kd4 9. Qf2+) 9. Nc8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur source-id: 261 date: 1916 algebraic: white: [Kh1, Sf5, Pd2, Pa6] black: [Kf3, Sc8, Ph6, Pb6] stipulation: + solution: | 1. d4 Kf4 (1... b5 $1) 2. Ne7 Na7 3. Nc6 Nb5 (3... Nc8 4. d5 Kf5 5. Ne7+) 4. d5 Kf5 5. Nd4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur source-id: 261 date: 1916 algebraic: white: [Kf1, Sf5, Pd3, Pa6] black: [Kf3, Sc8, Pb6] stipulation: + solution: | 1. d4 (1. Nd4+ $2 1... Ke3) 1... Kf4 (1... Ke4 2. Nd6+ Nxd6 3. a7) 2. Ne7 Na7 3. Nc6 $1 3... Nb5 4. d5 Kf5 5. Nd4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur source-id: 261 date: 1916 algebraic: white: [Kg1, Sf5, Pd2, Pa6] black: [Kf3, Sc8, Pg3, Pb6] stipulation: + solution: | 1. d4 Kf4 (1... b5 2. d5 b4 3. d6 b3 4. Nd4+ Kf4 5. Nxb3 Nb6 6. a7 Ke5 7. a8=Q) 2. Ne7 Na7 3. Nc6 $1 (3. d5 $2 3... Ke5 4. Nc6+ Kxd5 5. Nxa7 b5 6. Nxb5 Kc6 7. Kg2 Kb6 8. a7 Kb7) 3... Nb5 (3... Nxc6 4. d5) (3... Nc8 4. d5 Kf5 5. Ne7+) 4. d5 Kf5 5. Nd4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur source-id: 261 date: 1916 algebraic: white: [Kf1, Sf5, Pd2, Pa6] black: [Kf3, Sc8, Pb6] stipulation: + solution: | 1. d4 (1. Nd4+ $1 1... Ke4 2. Nb5 Kd5 (2... Kd3 3. Ke1) 3. Ke2) 1... Kf4 2. Ne7 Na7 3. Nc6 (3. d5 $2 3... Ke5 4. Nc6+ Kxd5 5. Nxa7 b5 6. Nxb5 Kc6 7. Ke2 Kb6 8. a7 Kb7) 3... Nb5 (3... Nc8 4. d5 Kf5 (4... Kg5 5. d6 Kf6 6. d7) 5. Ne7+) 4. d5 Kf5 5. Nd4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur source-id: 262 date: 1916 algebraic: white: [Kf7, Bg2, Sh3, Pf6, Pe4] black: [Kh7, Re2, Bc6, Ph4, Pg7] stipulation: + solution: | 1. Ng5+ $1 1... Kh6 $1 2. fxg7 Rf2+ 3. Bf3 Rxf3+ 4. Nxf3 Bxe4 (4... Ba4 5. Nd2) 5. g8=N+ $1 (5. g8=Q $2 5... Bd5+) 5... Kh5 (5... Kh7 6. Nf6+) 6. Nf6+ Kh6 7. Nxe4 h3 8. Nh2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack source-id: 16 date: 1916 algebraic: white: [Kh5, Qf3, Sc7] black: [Kh7, Qd4] stipulation: + solution: | "1. Ne6 Qe5+ (1... Qa7 2. Qf5+ Kh8 3. Qf8+ Kh7 4. Ng5#) 2. Ng5+ Kg7 3. Qf7+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack source-id: 22 date: 1916 algebraic: white: [Kh1, Sb2, Ph6, Pg2, Pa6] black: [Ka1, Be1, Bb3, Sa2, Pf5] stipulation: + solution: | 1. Nd1 Bg3 (1... Bh4 2. Ne3 Ba4 3. Nd5 Bf2 4. Ne7 Bc2 5. Nc6) 2. Ne3 Ba4 3. Nc4 (3. Nxf5 $2 3... Be5 $1 (3... Be1 4. Nd4 Bf2 5. a7 Bc6 6. Nxc6) 4. Ne7 4... Bd4 $3 5. h7 5... Bc2 $3 6. Nc6 Bxh7 7. Nxd4 Be4) (3. a7 $1 3... Bc6 4. Nc2+ Kb2 5. Nd4 Be4 6. Nf3) 3... Bh4 $1 4. Ne5 Bb3 (4... Bc2 $1 5. Nd7 Bf2 6. Nf6 6... f4 $1) 5. Nd7 Bf2 6. Nf6 6... Bd4 $1 7. a7 7... Bd5 $1 8. Nxd5 Bxa7 9. Ne7 Bd4 10. Nxf5 Bf6 11. h7 Nc3 12. g4 Ne4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack source-id: 23 date: 1916 algebraic: white: [Kg1, Sd3, Sc8, Pb2] black: [Kg7, Rd7, Pd5, Pa7] stipulation: + solution: 1. Nc5 Rf7 2. Nd6 Rf3 3. Kg2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1917 algebraic: white: [Ka8, Sd1, Pb6] black: [Kb5, Be6, Pe7, Pc5] stipulation: + solution: | 1. b7 1... Ka6 $1 2. Ne3 Bd7 3. b8=N+ Kb5 4. Nxd7 c4 5. Ne5 c3 6. Nd3 c2 7. Nxc2 Kc4 8. Nf2 e5 9. Ne3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1917 algebraic: white: [Ka4, Sa3, Ph5, Pf5] black: [Ka7, Bh2, Ph4, Pe7] stipulation: + solution: | 1. f6 exf6 2. h6 Be5 (2... f5 3. Nc4 Bg1 4. Ne5 Bd4 5. Nc6+) 3. Nc4 Ba1 4. Kb3 Bd4 5. Nd6 Be5 6. Nf5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1917 algebraic: white: [Kc5, Ba1, Sc2, Pg4] black: [Ke4, Ba5, Ph5] stipulation: + solution: | 1. gxh5 Kf5 2. Nd4+ Kg5 3. Kb5 Bd8 (3... Bd2 4. Nf3+) 4. Ne6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1917 algebraic: white: [Kh1, Sd5, Sc7, Ph5, Ph3, Pf2] black: [Ke5, Rg8, Ph6, Pf5] stipulation: + solution: | 1. Ne7 Rg7 (1... Rg5 2. f4+ Kxf4 3. Ne6+) 2. Nc6+ Ke4 3. Ne8 Rg5 4. h4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1917 algebraic: white: [Kc5, Qa8, Sf5] black: [Kc3, Qf1, Pe7, Pd4] stipulation: + solution: | "1. Qa3+ 1... Kd2 $1 2. Qa5+ 2... Kc2 $1 3. Qa2+ (3. Nxd4+ $1 3... Kb2 (3... Kb1 4. Qb4+ Kc1 5. Qc3+ Kd1 (5... Kb1 6. Qc2+) 6. Qa1+) 4. Qd2+ Ka3 (4... Ka1 5. Qc3+) 5. Qc3+ Ka2 6. Qb3+ Ka1 7. Nc2#) 3... Kc3 4. Ng3 Qf8 (4... Qd1 5. Ne4+ Kd3 6. Nf2+) 5. Ne4+ Kd3 6. Qd2+ Kxe4 7. Qe2+ Kf4 8. Qf2+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1917 algebraic: white: [Kg6, Qd1, Sa5] black: [Kd5, Qa3, Ph4, Pd7, Pd4] stipulation: + solution: | 1. Qh5+ Ke6 (1... Ke4 2. Qf5+ Ke3 3. Qh3+) 2. Qg4+ Ke7 (2... Kd5 3. Qf5+ Kd6 4. Nc4+) 3. Qxh4+ Ke8 (3... Ke6 4. Qe4+ Kd6 5. Nc4+) 4. Nb7 $1 4... Qa6+ (4... Qe7 5. Qh8+ Qf8 6. Qe5+ Qe7 7. Qb8+ (7. Nd6+ $1)) 5. Kg7 Qxb7 6. Qh8+ Ke7 7. Qf8+ Ke6 8. Qf6+ Kd5 9. Qf3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1917 algebraic: white: [Kd6, Bf3, Pe2, Pa6] black: [Kf6, Bh5, Bc1, Ph2] stipulation: "=" solution: | 1. a7 Bf4+ 2. Kd7 $1 2... Bg4+ $1 3. Kd8 $1 (3. Kc6 $2 3... Bxf3+ 4. exf3 h1=Q 5. a8=Q Qxf3+ 6. Kd7 $1 6... Qh3+ $1 7. Kc6 Qh1+ 8. Kd7 Qh7+ 9. Kc6 Qe4+ 10. Kd7 Qe6+ 11. Kd8 Qd6+) 3... Bxf3 4. exf3 h1=Q 5. a8=Q Qh8+ 6. Kd7 Qxa8 (6... Qh3+ $1 7. Kc6 Qxf3+ 8. Kd7 Qh3+ 9. Kc6 Qh1+ 10. Kd7 Qh7+ 11. Kc6 Qe4+ 12. Kd7 Qe6+) 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1917 algebraic: white: [Kc5, Qa8, Sf5] black: [Kc3, Qf1, Pe7, Pe5, Pd4] stipulation: + solution: | 1. Qa3+ Kd2 2. Qa5+ $1 2... Kc2 $1 3. Qa2+ 3... Kc3 $1 4. Ng3 Qf8 5. Ne4+ Kd3 6. Qd2+ Kxe4 7. Qe2+ Kf4 8. Qf2+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1917 algebraic: white: [Kc5, Qa8, Sf5] black: [Kc3, Qf1, Bh8, Pe7, Pd4] stipulation: + solution: | 1. Qa3+ Kd2 2. Qa5+ Kc2 3. Qa2+ Kc3 4. Ng3 $1 4... Qf8 (4... Qh3 5. Ne4+) 5. Ne4+ Kd3 6. Qd2+ Kxe4 7. Qe2+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Eskilstuna-Kuriren date: 1917 algebraic: white: [Kg6, Qd1, Sa5] black: [Kd5, Qa3, Ba7, Ph4, Pd7, Pd4] stipulation: + solution: | "1. Qh5+ 1... Ke6 $1 (1... Ke4 2. Qf5+) 2. Qg4+ (2. Qf5+ Ke7 3. Qf6+ Ke8 4. Kg7 Qg3+) 2... Ke7 $1 (2... Kd5 3. Qf5+) 3. Qxh4+ 3... Ke8 $1 (3... Ke6 4. Qe4+) 4. Nb7 $1 4... Qa6+ (4... Qe7 5. Qh8+ Qf8 6. Qe5+ Qe7 7. Nd6+) (4... Bb6 5. Qe4+ Qe7 (5... Kf8 6. Qf5+) 6. Nd6+ Kd8 7. Qa8+ Kc7 8. Nb5#) 5. Kg7 Qxb7 6. Qh8+ Ke7 7. Qf8+ Ke6 8. Qf6+ Kd5 9. Qf3+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur source-id: 266 date: 1917 algebraic: white: [Kd2, Ph2, Pe2, Pb2, Pa5] black: [Kh3, Ph4, Pe5, Pb7] stipulation: + solution: | 1. Ke1 $1 (1. Ke3 $2 1... Kxh2 2. Kf2 h3 3. b4 Kh1 4. b5 h2 5. a6 e4 6. a7 (6. axb7 e3+ 7. Kf1) (6. Kf1 $1 6... bxa6 7. b6) 6... b6 7. a8=R e3+ 8. Kf1) 1... Kxh2 2. Kf1 $3 2... h3 3. b4 3... Kh1 $1 (3... Kg3 4. Kg1 h2+ 5. Kh1) 4. b5 h2 5. a6 5... e4 $1 6. a7 $1 6... e3 $1 7. a8=R $1 (7. a8=Q $2) 7... b6 8. Ra5 bxa5 9. b6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur source-id: 266 date: 1917 algebraic: white: [Ke1, Ph3, Pe2, Pb3, Pa5] black: [Kg2, Ph4, Pe3, Pb7] stipulation: + solution: | 1. b4 Kxh3 2. Kf1 Kh2 (2... Kg3 3. b5 h3 4. Kg1 h2+ 5. Kh1 Kf2 6. a6 bxa6 7. bxa6) 3. b5 h3 4. a6 4... Kh1 $1 5. a7 h2 6. a8=R $1 6... b6 7. Ra5 $1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack date: 1917 algebraic: white: [Kh5, Qc2, Bb2] black: [Kg1, Qg3, Pe7, Pe6] stipulation: + solution: | 1. Bd4+ Kf1 (1... Kh1 2. Qe4+ Qg2 3. Qe1+ Kh2 4. Be5+) 2. Qd1+ Kg2 3. Qe2+ Kh3 4. Qe4 $1 4... e5 (4... Qd6 5. Qg4+ Kh2 6. Qg1+ Kh3 7. Qf1+ Kh2 8. Bg1+ Kg3 9. Bf2+ Kf3 10. Bc5+) 5. Bxe5 Qg1 6. Qf3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack date: 1917 algebraic: white: [Kg1, Sb1, Pg2, Pa6] black: [Ke5, Bb2, Sd6, Pg5, Pg3] stipulation: "=" solution: | 1. Nc3 Ba3 2. a7 Bc5+ 3. Kh1 Bxa7 4. Nb5 Nc8 5. Nd6 Ne7 6. Nc8 Nc6 7. Ne7 Nd4 8. Nc6+ Nxc6 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack source-id: 039 date: 1917 algebraic: white: [Kh3, Rh4, Sh5, Pg3, Pf6] black: [Ke8, Sc7, Pf4, Pe4, Pe2] stipulation: "=" solution: | 1. f7+ (1. Nxf4 $2 1... e1=Q 2. f7+ Kf8 3. Rh8+ Kxf7 4. Rh7+ Kf6 5. Rxc7 Qh1+ 6. Kg4 Qf3+ 7. Kh3 e3) 1... Kf8 $1 2. Nxf4 e1=Q 3. Rh7 $3 3... Qh1+ (3... Qf1+ 4. Kg4 Qa6 5. Kh5 $1 5... Qa5+ $1 6. Kh6 Qd2 7. Kh5) 4. Kg4 Qxh7 (4... Qf3+ 5. Kh4 $1 5... Qh1+) 5. Ne6+ Ke7 (5... Nxe6) (5... Kxf7 $1 6. Ng5+ Kg7 7. Nxh7 7... Ne6 $3) 6. f8=Q+ Kxe6 7. Qh6+ $1 7... Qxh6 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack source-id: 049 date: 1917 algebraic: white: [Kf2, Se3, Sd7, Pb4, Pb2] black: [Kd4, Rg6, Pf4, Pe5] stipulation: + solution: | 1. Nf5+ Ke4 (1... Kc4 2. Nxe5+ Kxb4 3. Nxg6 Kb3 (3... f3 4. Ne3) 4. Nd4+ Kxb2 5. Nf3) 2. Ne7 Rh6 (2... Rg3 3. Nc5+ Kd4 4. Nf5+ Kc4 5. Nxg3 fxg3+ 6. Kxg3 Kxb4 7. Nd3+) 3. Nc5+ Kd4 4. Nf5+ Kc4 5. Nxh6 Kxb4 6. Nd3+ Kb3 7. Nxe5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack source-id: 058 date: 1917 algebraic: white: [Kh4, Qc7, Bf3] black: [Kg8, Qg6] stipulation: + solution: | "1. Bd5+ Kf8 2. Qd8+ Kg7 (2... Qe8 3. Qf6+) 3. Qe7+ 3... Kh6 $1 (3... Kh8 4. Qe5+ Qg7 5. Qe8+ (5. Qb8+ $1 5... Kh7 6. Be4+ Kh6 7. Qf4+) 5... Kh7 6. Be4+ Kh6 7. Qh5#) 4. Qe5 $1 4... Qd3 (4... Qg1 5. Qh8+ Kg6 6. Qg8+) (4... Qg7 5. Qh5#) ( 4... Qa6 5. Qg5+ Kh7 6. Qg8+ $1 6... Kh6 7. Qf8+ Kg6 8. Be4#) 5. Qg5+ (5. Qf4+ $1 5... Kh7 6. Qf7+ Kh6 7. Qf8+ Kh7 8. Bg8+ Kg6 9. Qf7+ Kh6 10. Qf6+ Qg6 11. Qh8+) 5... Kh7 6. Qg8+ Kh6 7. Qf8+ Kh7 8. Bg8+ Kg6 9. Bf7+ (9. Qf7+ $1 9... Kh6 10. Qf6+ Qg6 11. Qh8+) 9... Kh7 10. Qg8+ Kh6 11. Qh8+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack source-id: 068 date: 1917 algebraic: white: [Ke2, Bg8, Pf4, Pf2, Pe6] black: [Kg2, Sh8, Ph4, Pf6, Pe7] stipulation: + solution: | 1. Bh7 h3 2. Be4+ Kg1 3. f5 h2 4. Bh1 $1 4... Kxh1 5. Kf1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack source-id: 069 date: 1917 algebraic: white: [Kg3, Se8, Ph5, Pf3, Pe6, Pb4] black: [Kc8, Rd5, Ph6, Pb6] stipulation: + solution: | 1. e7 Rg5+ 2. Kf2 Kd7 3. f4 Rg2+ (3... Rg1 4. Nc7 Rg8 5. e8=Q+ Rxe8 6. Nxe8 Kxe8 7. Kf3) (3... Rxh5 4. Nf6+ Kxe7 5. Nxh5) (3... Rb5 4. Nd6 Kxe7 5. Nxb5) ( 3... Rf5 4. Ng7 Rxf4+ 5. Ke3 Kxe7 6. Kxf4) (3... Ra5 4. bxa5 Kxe8 5. axb6) 4. Kxg2 Kxe8 5. Kf3 Kxe7 6. Ke4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack source-id: 56 date: 1917 algebraic: white: [Kf4, Bf2, Bb3, Pe6, Pe5] black: [Kh5, Re7, Bh4, Ph6, Pd6] stipulation: + solution: | 1. exd6 (1. Bxh4 $1 1... dxe5+ (1... Rxe6 2. Bd8 (2. Bxe6 dxe5+ 3. Kg3) 2... dxe5+ 3. Kf5) 2. Kg3 Rg7+ 3. Kh3 Rb7 4. Ba4) 1... Rxe6 2. Bxh4 Rxd6 3. Be7 Rd4+ (3... Ra6 4. Bf7+) 4. Ke3 Rd7 (4... Rh4 5. Bd1+) 5. Bf7+ Kg4 6. Be6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Časopis českých šachistů source-id: 337 date: 1923 distinction: Honorable Mention algebraic: white: [Kh4, Sg5, Sc5, Ph3, Pe6] black: [Kh8, Ra3, Se1] stipulation: + solution: | 1. e7 Ng2+ 2. Kh5 $1 (2. Kg4 $2 2... Ne3+ 3. Kh5 Ra8 4. Nf7+ Kh7 5. Nd8 Nd5) 2... Ra8 3. Nf7+ Kh7 4. Nd8 Nf4+ 5. Kg5 (5. Kg4 $2 5... Nd5) 5... Rxd8 6. exd8=B Nxh3+ 7. Kg4 Nf2+ (7... Ng1 8. Nd3 Ne2 9. Bf6 Kg6 10. Bb2 Kf7 11. Kf3 Ng1+ 12. Kg2 Ne2 13. Kf2) 8. Kf3 8... Nh3 $1 9. Nd3 Kg6 10. Kg4 Ng1 11. Nf4+ Kh6 12. Bb6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Časopis českých šachistů source-id: 351 date: 1923 algebraic: white: [Kd2, Rf2, Ph5] black: [Kb1, Ph7, Pg7, Pa6, Pa2] stipulation: + solution: | 1. h6 $1 1... gxh6 2. Kc3 2... a1=N $1 3. Rb2+ Kc1 4. Ra2 Kb1 5. Rxa6 h5 6. Ra4 h6 7. Rh4 Ka2 8. Rh2+ Ka3 9. Rxh5 Ka2 10. Rxh6 Kb1 11. Rh2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Известия date: 1923 algebraic: white: [Kg2, Pf2, Pc4, Pa4] black: [Kf5, Ph5, Pg4, Pb7] stipulation: + solution: | 1. a5 Ke5 2. Kg3 Kd4 3. Kh4 Kxc4 4. Kxh5 Kb5 5. Kxg4 Kxa5 6. f4 b5 7. f5 b4 8. f6 b3 9. f7 b2 10. f8=Q b1=Q 11. Qa8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Известия date: 1923 algebraic: white: [Ka5, Rf2, Rc1] black: [Kg8, Rh8, Be5, Pd4] stipulation: + solution: | 1. Rf5 1... Bh2 $1 (1... Bg7 2. Rc8+ Kh7 3. Rh5+) (1... Bd6 2. Rg1+) 2. Rc8+ Kg7 3. Rxh8 (3. Rg5+ $2 3... Kf6 4. Rxh8 4... Bc7+ $1) 3... Bc7+ $1 4. Kb5 Kxh8 5. Kc6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Известия date: 1923 algebraic: white: [Ke1, Qa8, Sd7] black: [Kh7, Qg5, Ph6] stipulation: + solution: | 1. Nf8+ Kh8 2. Ne6+ Qg8 3. Qa1+ Kh7 4. Qb1+ Kh8 5. Qb2+ Kh7 6. Qc2+ Kh8 7. Qc3+ Kh7 8. Qd3+ Kh8 9. Qd4+ Kh7 10. Qe4+ Kh8 11. Qe5+ Kh7 12. Qf5+ Kh8 13. Qf6+ ( 13. Kf2 $1) 13... Kh7 14. Nf8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Известия date: 1923 algebraic: white: [Kh2, Qa8, Sd7] black: [Kh7, Qg5, Ph6] stipulation: + solution: | 1. Nf8+ Kh8 2. Ne6+ Qg8 3. Qa1+ Kh7 4. Qb1+ Kh8 5. Qb2+ Kh7 6. Qc2+ Kh8 7. Qc3+ Kh7 8. Qd3+ Kh8 9. Qd4+ Kh7 10. Qe4+ Kh8 11. Qe5+ Kh7 12. Qf5+ Kh8 13. Qf6+ Kh7 14. Nf8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Известия ВЦИК date: 1923 algebraic: white: [Ke8, Qg1, Ph6, Pg6] black: [Kh8, Qd3, Rh7, Bh3, Pc6, Pa4] stipulation: + solution: | "1. Qa1+ Kg8 2. gxh7+ Qxh7 3. Qg1+ 3... Bg2 $1 4. Qxg2+ Kh8 5. Qb2+ Kg8 6. Qa2+ Kh8 7. Qa1+ Kg8 8. Qg1+ Kh8 9. Qd4+ Kg8 10. Qc4+ Kh8 11. Qc3+ Kg8 12. Qg3+ Kh8 13. Qe5+ Kg8 14. Qe6+ Kh8 15. Qf6+ Kg8 16. Qf8# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Schweizerische Schachzeitung source-id: 305 date: 1923 algebraic: white: [Kh7, Bb3, Ba7, Pa6] black: [Kf5, Be2, Se4, Pe7, Pb7] stipulation: + solution: | 1. axb7 Nf6+ 2. Kg7 Nd7 3. Ba4 Nb8 4. Bxb8 Bf3 5. Bc2+ (5. Bd7+ $1 5... e6 6. Bc8) 5... Ke6 6. Bd1 Bxb7 7. Bg4+ Kd5 8. Bf3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 029 date: 1923 algebraic: white: [Kc7, Bc1, Se3] black: [Ka5, Bh4, Pa6, Pa4] stipulation: + solution: | 1. Bd2+ Kb5 2. Nf5 Bf2 (2... Bf6 3. Nd6+ Kc5 4. Ne4+) 3. Nd6+ Kc5 4. Ne4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 038 date: 1923 algebraic: white: [Kg1, Rc4, Ph5] black: [Kd8, Ra5, Pg4, Pe5, Pe4] stipulation: + solution: | 1. h6 Ra3 (1... Ra7 2. Ra4 Rf7 3. h7 Rxh7 4. Ra8+ Kc7 5. Ra7+) (1... Ra1+ 2. Kg2 Ra7 3. Ra4) (1... Ra6 2. h7 Rh6 3. Ra4) (1... Kd7 2. Rc8 $1 2... Kxc8 3. h7 Kd7 4. h8=Q) 2. Ra4 $1 (2. h7 $2 2... Rg3+ $1 3. Kf2 Rf3+ 4. Kg2 Rf8 5. Ra4 Ke7 ) 2... Rxa4 (2... Rg3+ 3. Kf2 Rf3+ 4. Kg2 Rf8 5. Ra7 $1) 3. h7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 038 date: 1923 algebraic: white: [Kg1, Rc5, Ph5] black: [Kd8, Ra2, Pg4, Pe5] stipulation: + solution: | 1. h6 Ra3 (1... Ra8 2. Ra5 Rc8 3. Ra7 Rc6 4. h7 Rh6 5. h8=Q+ Rxh8 6. Ra8+) ( 1... Ra7 2. Ra5 Rh7 (2... Rf7 3. h7) 3. Ra8+) (1... g3 2. h7 (2. Ra5 $1 2... Rxa5 (2... Rh2 3. h7) 3. h7 Ra1+ 4. Kg2 Ra2+ 5. Kxg3 Ra3+ 6. Kg4 Ra4+ 7. Kg5) 2... Rh2 3. Ra5 e4 4. h8=Q+) (1... Ra6 2. h7 Rh6 3. Ra5) (1... Kd7 2. Rc8 Kxc8 3. h7 Kd7 4. h8=Q) 2. Ra5 Rxa5 (2... Rg3+ 3. Kf2 Rf3+ 4. Ke2 Rf8 (4... Rf7 5. h7 Rxh7 6. Ra8+) 5. Ra7 g3 6. h7 g2 7. Rg7) (2... Rh3 3. h7 Ke8 4. Ra8+) 3. h7 Kd7 4. h8=Q Kc6 (4... Rd5 5. Qf6) 5. Qf6+ Kd7 6. Kg2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 37 date: 1923 algebraic: white: [Kf6, Bc4, Sa8, Ph3] black: [Kf8, Bg2, Pg4] stipulation: + solution: | 1. Nc7 Bxh3 2. Ne6+ (2. Bf7 $2 2... g3) (2. Be6 $1 2... Bg2 3. Bf7) 2... Kg8 $1 3. Ng5+ (3. Kg6 $1 3... Kh8 4. Nf4) (3. Nf4+ $1 3... Kh7 4. Ba6 Kg8 5. Bd3 Kf8 6. Bg6 Kg8 7. Bf7+ Kh7 8. Bc4) 3... Kh8 $1 4. Kf7 Bg2 5. Kf8 Bc6 6. Nf7+ (6. Bg8 $2 6... Be8) 6... Kh7 7. Bd3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 38 date: 1923 algebraic: white: [Kf6, Bc4, Sa8, Ph3] black: [Kf8, Bg2, Ph6, Pg4] stipulation: + solution: | 1. Nc7 Bxh3 2. Ne6+ 2... Kg8 $1 3. Nf4+ Kh7 (3... Kh8 4. Kg6 h5 5. Kh6) 4. Kf7 (4. Ba6 Kg8 (4... h5 5. Bd3+ Kh6) 5. Bd3 Kf8 6. Bg6 $1 6... Kg8 7. Bf7+ Kh7 8. Bc4 h5 9. Ba6) 4... h5 $1 (4... Kh8 5. Kg6) 5. Bd3+ Kh6 (5... Kh8 6. Kf8 h4 7. Kf7) 6. Kf6 h4 7. Bb5 Kh7 8. Bc4 Kh6 9. Bd3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 39 date: 1923 algebraic: white: [Ke3, Ba4, Sg1, Pg6] black: [Ke5, Ra5, Bh2, Pa3] stipulation: "=" solution: | 1. g7 Bxg1+ 2. Kf3 Ra8 3. Bb3 a2 4. Bxa2 Ra3+ 5. Kg2 Rxa2+ 6. Kh1 Ra8 7. g8=Q Rxg8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 6/53 date: 1923 algebraic: white: [Kh6, Qg3, Sc5] black: [Kd8, Qb1, Pg6] stipulation: + solution: | 1. Qd6+ Kc8 2. Qc6+ Kb8 3. Na6+ Ka7 4. Nc7 Qb7 5. Nb5+ 5... Ka8 $1 (5... Kb8 6. Qe8+ Qc8 7. Qe5+ Ka8 8. Qa1+ Kb7 9. Nd6+) 6. Qe8+ Qb8 7. Qe4+ Qb7 8. Qa4+ Kb8 9. Qf4+ Ka8 10. Qf8+ Qb8 11. Qf3+ Qb7 12. Qa3+ Kb8 13. Qf8+ Qc8 14. Qf4+ Ka8 15. Qa4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 6/54 date: 1923 algebraic: white: [Kh6, Bc2, Sb7, Pd6, Pd2, Pc3] black: [Kc4, Qh3, Ph5] stipulation: + solution: | 1. d7 Qxd7 (1... Qe6+ 2. Bg6 $3 2... Qxd7 3. Bf7+ Kb5 4. Be8) 2. Bb3+ Kb5 3. Ba4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 6/55 date: 1923 algebraic: white: [Kh6, Pf2, Pc7, Pb6] black: [Kc8, Se4, Pg5, Pf6] stipulation: "=" solution: | 1. f3 Nd2 (1... f5 $1 2. Kh5 g4 3. fxg4 (3. Kh4 gxf3 4. Kh3 Kb7 5. Kh2 Nd6) 3... f4 4. Kh4 4... Ng5 $1 5. Kxg5 f3 6. Kh6 f2 7. g5 f1=Q 8. g6 Qh3+ 9. Kg7 Kb7 10. Kf7 Qf5+ 11. Kg7 Kxb6) 2. Kg6 Nxf3 3. Kxf6 g4 4. Kf5 g3 5. Kg4 g2 6. Kh3 g1=Q (6... Nh4 7. Kh2) 7. b7+ Kxb7 8. c8=Q+ Kxc8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 50 date: 1923 algebraic: white: [Kg5, Ba4, Sd5, Ph5] black: [Kh8, Se1, Pe7, Pe2] stipulation: "=" solution: | 1. Nf4 Nf3+ 2. Kh6 e1=Q 3. Ng6+ Kg8 4. Bb3+ e6 5. Bxe6+ Qxe6 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 51 date: 1923 algebraic: white: [Ke3, Pg4, Pb6, Pa6] black: [Ke6, Rh4, Bf8, Ph7, Pb7, Pa7] stipulation: "=" solution: | 1. axb7 Bd6 2. bxa7 Bc5+ 3. Kf4 Bxa7 4. b8=Q Bxb8+ 5. Kg5 Rh1 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 068 date: 1923 algebraic: white: [Kh1, Se7, Sb6, Pd5] black: [Kg4, Bd1, Sc1, Ph4] stipulation: + solution: | 1. d6 Kh3 2. d7 Bg4 3. d8=R (3. d8=Q $2 3... Ne2 4. Qd3+ Bf3+ 5. Qxf3+ Ng3+ 6. Kg1) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 61 date: 1923 algebraic: white: [Ke1, Ra7] black: [Kb5, Rc2, Sd2, Pd4] stipulation: "=" solution: | 1. Kd1 d3 2. Rd7 Kc4 3. Rc7+ Kb3 4. Rxc2 dxc2+ 5. Kc1 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный листок source-id: 019 date: 1923 algebraic: white: [Kc4, Rd4, Bb4, Sg4, Pg6] black: [Kh8, Rg3, Rd7, Ph7] stipulation: + solution: | 1. g7+ Rxg7 2. Rd8+ Rg8 3. Rxg8+ Kxg8 4. Nh6+ Kh8 (4... Kg7 5. Nf5+) 5. Bc5 $1 5... Rg7 $1 6. Bd6 $1 6... Rg5 (6... Rb7 7. Be5+ Rg7 8. Nf5) 7. Nf7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный листок source-id: 20 date: 1923 algebraic: white: [Kg1, Re2, Pe5, Pa2] black: [Kg5, Qh6, Pd7] stipulation: "=" solution: | 1. e6 Kf6 (1... dxe6 2. Rh2 Qf6 3. Rg2+ Kh4 4. Rh2+) 2. e7 $1 2... Qg6+ 3. Kf2 Qe8 4. a4 $1 4... Qxe7 (4... d5 $2 5. a5 d4 6. Ke1 $1 6... d3 7. Re3 Kf7 (7... d2+ 8. Kxd2 Qd7+ 9. Ke2 Kf7 10. e8=Q+ Qxe8 11. Rxe8 Kxe8 12. a6) 8. Kd2 $1 8... Kf6 9. a6 Kg7 10. a7 Kf7 11. Re4 $1 11... Kf6 12. a8=Q) 5. Rxe7 Kxe7 6. Ke3 Kd6 7. Kd4 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный листок source-id: 21 date: 1923 algebraic: white: [Kh2, Sg1, Sc2, Pd6] black: [Kh4, Rc3, Ph5] stipulation: + solution: | "1. Ne3 (1. d7 $2 1... Rxc2+ 2. Kh1 2... Kg3 $1) 1... Rxe3 (1... Rd3 $2 2. Nf3#) (1... Kg5 2. Nf3+ (2. Nh3+ $2 2... Kh6 3. Nf5+ (3. d7 $2 3... Rd3 4. Nf5+ Kh7) 3... Kg6) 2... Kf6 $1 (2... Kh6 3. d7 Rd3 4. Nf5+ Kg6 5. N3d4) (2... Kg6 3. d7 Rd3 4. Ne5+) (2... Kf4 3. Nd5+) 3. Nd5+ Ke6 4. Nxc3) 2. d7 Rd3 3. Nf3+ $1 3... Rxf3 4. d8=Q+ Kg4 5. Qg8+ Kf4 (5... Kh4 6. Qg2 Rc3 7. Qe4+ Kg5 8. Qe5+) 6. Qf7+ Kg4 7. Qg6+ Kh4 8. Qe4+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1923 algebraic: white: [Ka2, Bh6, Sf2, Pc6] black: [Kc3, Sc5, Pe2, Pa3] stipulation: "=" solution: | 1. Ne4+ (1. Nd3 $1 1... Kxd3 (1... Nxd3 2. c7 e1=Q 3. c8=Q+ Kd4 4. Bg7+) 2. c7 e1=Q 3. c8=Q Qe2+ 4. Kxa3) 1... Nxe4 2. c7 Nd6 3. Bf8 Nc8 4. Bc5 e1=Q 5. Bb4+ Kxb4 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1923 algebraic: white: [Ka1, Bc6, Pb6] black: [Kg4, Rg3, Pa6, Pa4] stipulation: + solution: | 1. Bd5 Ra3+ (1... Re3 $1 2. b7 Re8 3. Be6+ Kg5 4. Bc8 Re1+ 5. Ka2 Re2+ 6. Ka3 Re3+ 7. Kxa4 Re1 8. Be6 Ra1+ 9. Kb4 9... a5+ $3 (9... Rb1+ $2 10. Bb3 a5+ 11. Kc4 $1) 10. Kc3 Rb1 11. Bb3 11... a4 $1) (1... Rg1+ $1 2. Ka2 Rd1) 2. Kb1 Re3 ( 2... Rd3 $1 3. Be6+ (3. b7 Rxd5 4. b8=Q Rb5+) 3... Kg5 4. b7 Rd8 5. Bc8 Rd3 6. Be6 Rd8 7. Bc8 Rd3) 3. b7 Re8 4. Be6+ Kf3 5. Bc8 Re3 6. Be6 Re5 7. Bd7 Re3 8. Bxa4 Re1+ 9. Kb2 Re2+ 10. Kc3 Re3+ 11. Kd4 Re4+ 12. Kc5 Re5+ 13. Kd6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1923 algebraic: white: [Kd3, Bd4, Pc6] black: [Kh4, Rb1, Pb6, Pb4] stipulation: + solution: | 1. Kc2 (1. Kd2 $2 1... b3 2. c7 b2 3. Bxb2 Rxb2+ 4. Kc1 Rb5) 1... Rf1 2. c7 Rf8 3. Bf6+ Kh5 4. Bd8 Rf3 5. Bf6 Rf5 6. Be7 Rf3 7. Bxb4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1923 algebraic: white: [Ka2, Bh6, Sf2, Pc6] black: [Kc3, Sc5, Pe4, Pe2, Pa3] stipulation: "=" solution: | 1. Nxe4+ Nxe4 2. c7 Nd6 3. Bf8 Nc8 (3... e1=Q 4. c8=Q+ Nxc8 5. Bb4+ Kxb4) 4. Bc5 e1=Q 5. Bb4+ Kxb4 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1923 algebraic: white: [Ka1, Bc6, Pe2, Pb6] black: [Kg4, Rg3, Pa6, Pa4] stipulation: + solution: | 1. Bd5 Ra3+ 2. Kb1 Re3 3. b7 Re8 4. Be6+ Kf4 5. Bc8 Re3 6. Be6 Re5 7. Bd7 (7. b8=Q $1) 7... Re3 8. Bxa4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 124 date: 1924 distinction: 2nd Prize algebraic: white: [Kc5, Qf1, Bg8, Pf7] black: [Kb3, Qa7, Rb6, Pa3] stipulation: + solution: | 1. Qb1+ Ka4 (1... Kc3 2. Qxb6 Qxb6+ 3. Kxb6 a2 4. f8=B $1 4... Kb2 5. Bg7+ Kb1 6. Bh7+) 2. Qxb6 Qxb6+ (2... Qe7+ 3. Qd6 Qe3+ (3... Qg5+ 4. Kc6 Qg2+ (4... Qb5+ 5. Kc7 Qa5+ 6. Kb8 $1 6... Qb5+ 7. Kc8 Qc4+ 8. Kd8 Qh4+ 9. Kc7 Qc4+ 10. Qc6+ Qxc6+ 11. Kxc6 a2 12. f8=Q) 5. Kc7 5... Qg7 $1 6. Kb6 Qb2+ 7. Ka7 Qf2+ 8. Qb6 Qf3 9. Qa6+) 4. Kc6 Qc3+ (4... Qe4+ 5. Kc7 Qc4+ 6. Qc6+ Qxc6+ 7. Kxc6 a2 8. f8=Q) 5. Kb7 Qb3+ 6. Qb6 Qxb6+ 7. Kxb6 a2 8. f8=R $1) 3. Kxb6 a2 4. f8=R $1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: České slovo date: 1924 distinction: 5th Prize algebraic: white: [Kd5, Rd2, Ph6, Pg5, Pb4] black: [Ka6, Rg6, Bd7, Pb5] stipulation: + solution: | 1. h7 (1. Ke4 $1) 1... Rxg5+ 2. Kd6 Rh5 3. Kc7 Be6 4. Kb8 Bd5 5. Rxd5 Rxd5 6. h8=R Rd6 7. Kc7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 4 date: 1924 algebraic: white: [Kd1, Qb6, Bh7] black: [Kc4, Qe7] stipulation: + solution: | 1. Bg8+ Kd3 (1... Kc3 2. Qb3+) 2. Qb5+ Kd4 (2... Kc3 $2 3. Qc4+) 3. Qb2+ Kd3 4. Qd2+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 5 date: 1924 algebraic: white: [Ke2, Qb1, Ba3] black: [Kh5, Qd8] stipulation: + solution: | 1. Qh7+ Kg4 2. Qe4+ Kh5 (2... Kg3 3. Qf3+ Kh4 (3... Kh2 4. Kf1) 4. Qf4+ 4... Kh5 $1 (4... Kh3 5. Qe3+ $1 (5. Bd6 $2 5... Qg5 $1 (5... Qe8+ $2 6. Kf2) 6. Qxg5) 5... Kg4 6. Qe4+ Kh5 7. Be7 Qe8 8. Qh7+ Kg4 9. Qh4+ Kf5 10. Qf6+ Ke4 11. Qe6+) 5. Qf7+ 5... Kg4 $1 6. Be7 Qa8 7. Qg6+ Kh3 8. Qh5+) 3. Be7 Qe8 (3... Qd7 4. Qh7+ Kg4 5. Qh4+) 4. Qh7+ Kg4 5. Qh4+ Kf5 6. Qf6+ 6... Ke4 $1 7. Qe6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 7 date: 1924 algebraic: white: [Kg4, Qe5, Bf3] black: [Kh6, Qd3] stipulation: + solution: | 1. Bd5 $1 (1. Be4 1... Qh3+ $1) 1... Qd1+ (1... Qg6+ 2. Kh4) 2. Kh4 Qa4+ (2... Qg1 3. Qh8+) (2... Qf1 3. Qg5+ Kh7 4. Be4+ Kh8 5. Qh6+ Kg8 6. Bd5+) (2... Qb1 3. Qh5+ Kg7 4. Qf7+ Kh6 5. Qf8+ Kg6 6. Bf7+ Kh7 7. Qg8+ Kh6 8. Qh8+ Qh7 9. Qf6+ ) (2... Qc1 3. Qh5+) 3. Be4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 009 date: 1924 algebraic: white: [Ka5, Qf4, Ba6] black: [Kb1, Qg6] stipulation: + solution: | "1. Bb7 Kb2 2. Be4 Qg1 3. Qd2+ Ka1 4. Qc3+ Ka2 5. Qc4+ Ka1 6. Qa4+ Kb2 7. Qb4+ Ka2 8. Bd5+ Ka1 9. Qa3+ Kb1 10. Be4# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 009 date: 1924 algebraic: white: [Kh4, Qc5, Bh3] black: [Kg8, Qb3] stipulation: + solution: | "1. Bg2 $1 1... Kh7 $1 (1... Kh8 $2 2. Qe5+) (1... Qb2 2. Bd5+ 2... Kh7 $1 (2... Kg7 3. Qe7+ Kh6 4. Qg5+) 3. Be4+ Kg8 4. Qc8+ Kg7 5. Qd7+ Kf6 (5... Kf8 6. Qd8+ Kf7 7. Bd5+) 6. Qd8+ Kf7 7. Bd5+ Kg7 8. Qg5+ Kh7 9. Be4+) (1... Qb1 2. Qg5+ Kf8 3. Qf6+ Kg8 4. Bd5+ Kh7 5. Qf7+ Kh6 6. Qh5+) 2. Be4+ Kg7 3. Bd5 Qb8 (3... Qb2 4. Qe7+ Kh6 5. Qg5+) (3... Qd1 4. Qe7+) (3... Qa4+ 4. Kg5 Qd7 5. Qd4+ Kf8 6. Qf6+) 4. Qe7+ Kh8 5. Qf6+ Kh7 6. Qf5+ Kh8 7. Qh5+ Kg7 8. Qg5+ Kh7 9. Be4+ Kh8 10. Qh6+ Kg8 11. Bd5# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 8 date: 1924 algebraic: white: [Kg6, Qb5, Bb3] black: [Kf8, Qc3, Ph4] stipulation: + solution: | "1. Qd7 Qg3+ (1... Qxb3 2. Qd8#) 2. Kh7 Qxb3 3. Qd8+ Kf7 4. Qg8+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 039 date: 1924 algebraic: white: [Ke7, Qf2, Se6] black: [Kh5, Qb1] stipulation: + solution: | "1. Qg2 (1. Qh2+ $1 1... Kg6 (1... Kg4 2. Qg2+ Kh4 3. Qg5+ Kh3 4. Nf4+ Kh2 5. Qg2#) 2. Qg2+ Kf5 3. Qg5+ Ke4 4. Qg6+) 1... Qc1 2. Qh3+ (2. Qg3 $1 2... Kh6 3. Qh4+) 2... Kg6 3. Qg4+ Kh6 4. Qh4+ Kg6 5. Nf4+ Kg7 6. Qg5+ Kh7 7. Qg6+ Kh8 8. Qf6+ Kg8 9. Qf7+ Kh8 10. Ng6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 039 date: 1924 algebraic: white: [Ke7, Qg2, Sg5] black: [Kh5, Qb1] stipulation: + solution: | 1. Ne6 $1 1... Qc1 (1... Qb5 2. Nf4+ Kh4 3. Qh3+) (1... Qh7+ 2. Ng7+ Kh6 3. Kf6 ) (1... Qb4+ 2. Kf6 Qg4 (2... Qc3+ 3. Kf7 Qe3 4. Ng7+) 3. Ng7+ Kh4 4. Nf5+) 2. Qh3+ (2. Qg3 $1 2... Kh6 3. Qh4+) 2... Kg6 3. Qg4+ Kh6 4. Qh4+ Kg6 5. Nf4+ Kf5 6. Qh7+ Kg4 7. Qh5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 35 date: 1924 algebraic: white: [Kf8, Qc5, Sf6] black: [Kd8, Qa4, Pe5] stipulation: + solution: | "1. Nd5 $1 1... Qe8+ 2. Kg7 Qd7+ 3. Kf6 Qb7 4. Qd6+ Qd7 5. Qb8+ (5. Qb6+ $1 5... Ke8 6. Nc7+ Kd8 7. Qb8+ Qc8 8. Ne6+ Kd7 9. Nf8+ Kd8 10. Qd6+) 5... Qc8 6. Qb6+ Kd7 (6... Ke8 $1) 7. Qe6+ Kd8 8. Qe7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 37 date: 1924 algebraic: white: [Kd1, Qf7, Sc4] black: [Kb3, Qd8, Pd6] stipulation: + solution: | 1. Na5+ Ka4 (1... Kc3 2. Qc4+ Kb2 3. Qc2+) 2. Nc6 $1 2... Qb6 $1 (2... Qc8 3. Qc4+ Ka3 4. Qc3+ Ka2 5. Nb4+ Kb1 6. Qb3+) (2... Qg5 3. Qc4+ Ka3 4. Qc3+ Ka2 5. Nb4+ Kb1 6. Qb3+) (2... Qh8 3. Qa7+ Kb5 4. Nd4+ Kc4 5. Qa2+) 3. Qa2+ Kb5 4. Na7+ Kb4 5. Qb2+ Kc5 6. Qf2+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 44 date: 1924 algebraic: white: [Kc8, Qd6, Sc3] black: [Kg5, Qg1, Pe5, Pe4, Pa6] stipulation: + solution: | 1. Qd8+ Kf5 2. Qf8+ Ke6 3. Nd5 $1 3... Kxd5 4. Qf7+ Kc6 5. Qb7+ Kd6 6. Qd7+ Kc5 7. Qa7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 46 date: 1924 algebraic: white: [Ka7, Qd5, Se3] black: [Kh4, Qb2, Pe5, Pb6, Pa4] stipulation: + solution: | "1. Qe4+ Kg5 (1... Kg3 2. Qg4+ Kh2 3. Qh4+ Kg1 4. Qg3+ Kh1 5. Ng4 Qg2 6. Qe1+ Qg1 7. Qe4+ Qg2 8. Qh7+ Kg1 9. Qb1+ Qf1 10. Qxb6+ Kh1 11. Qh6+ Kg1 12. Qh2#) 2. Qf5+ (2. Qg4+ $1 2... Kf6 3. Nd5+ Kf7 4. Qf5+ Kg7 5. Qg5+ Kf7 (5... Kh8 6. Nf6) 6. Qf6+ Kg8 7. Ne7+ Kh7 8. Qg6+ Kh8 9. Qg8#) 2... Kh6 3. Ng4+ Kg7 4. Qf6+ Kg8 ( 4... Kh7 5. Qf7+ Kh8 6. Nf6) 5. Nh6+ Kh7 6. Nf5 Qg2 7. Qf7+ Kh8 8. Ne7 Qg7 9. Qh5+ Qh7 10. Qxe5+ Qg7 11. Qb8+ Kh7 12. Qh2+ Qh6 13. Qc2+ Kh8 14. Qc8+ Kh7 15. Qg8# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 46 date: 1924 algebraic: white: [Kg8, Qh7, Sc4] black: [Kd1, Qb7, Ph4, Pf7] stipulation: + solution: | 1. Qd3+ Kc1 (1... Ke1 2. Qd2+ Kf1 3. Ne3+ Kg1 4. Qe1+ Kh2 5. Qxh4+ Kg1 6. Qg3+ Kh1 7. Ng4 Qg2 (7... Qa8+ 8. Kg7 Qa1+ 9. Kh7 Qb1+ 10. Kg8 Qg6+ 11. Kf8) 8. Qe1+ Qg1 9. Qe4+ Qg2 10. Qh7+ Kg1 11. Qb1+ Qf1 12. Qb6+ Kh1 13. Qh6+) 2. Qd2+ Kb1 3. Qd1+ Ka2 4. Qc2+ Ka1 5. Nd2 Qb2 (5... Qb8+ 6. Kh7) 6. Qa4+ Qa2 7. Qd4+ Qb2 8. Qg1+ Ka2 9. Qa7+ Qa3 10. Qxf7+ Ka1 11. Qf1+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 46 date: 1924 algebraic: white: [Ka1, Qe5, Sg5, Pa4] black: [Kh5, Qa7, Sb2, Sb1, Pd4, Pa5] stipulation: + solution: | 1. Ne6+ Kg4 (1... Kg6 2. Qg5+ Kh7 3. Qh5+ Kg8 4. Qg6+ Kh8 5. Ng5 5... Qg7 $1 6. Qe8+ Qg8 7. Qe5+ Qg7 8. Qh2+ Kg8 9. Qb8+ Qf8 10. Qb3+ Nc4 11. Qxc4+ Kh8 12. Qxd4+ Kg8 13. Qc4+ Kh8 14. Qh4+) 2. Qf4+ Kh3 3. Ng5+ Kg2 4. Qf3+ 4... Kg1 $1 5. Nh3+ (5. Qe2 $2 5... Nd2 6. Qxd2 6... Qd7 $1) 5... Kh2 6. Nf4 $1 (6. Nf2 $2 6... d3 $1) 6... Qg7 7. Qf2+ Kh1 8. Ne2 Qg2 9. Qh4+ Qh2 10. Qe4+ Qg2 11. Qxb1+ Kh2 12. Qh7+ Qh3 13. Qc7+ Kh1 14. Qc1+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 46 date: 1924 algebraic: white: [Ka1, Qd6, Se6, Pb2] black: [Kh5, Qa7, Sa4, Pd4, Pb3, Pa6] stipulation: + solution: | "1. Qe5+ (1. Qg3 $1 1... Kh6 2. Qg5+ Kh7 3. Qh5+ Kg8 4. Qg6+ Kh8 5. Ng5 Qg7 6. Qe8+ Qg8 7. Qe5+ Qg7 8. Qh2+ Kg8 9. Qb8+ Qf8 10. Qxb3+ Kh8 11. Qh3+) 1... Kg4 ( 1... Kg6 2. Qg5+ Kh7 3. Qh5+ Kg8 4. Qg6+ Kh8 5. Ng5 Qg7 6. Qe8+ Qg8 7. Qe5+ Qg7 8. Qh2+ Kg8 9. Qb8+ Qf8 10. Qxb3+ Kh8 11. Qh3+ Kg8 12. Qh7#) 2. Qf4+ Kh3 3. Ng5+ Kg2 4. Qf3+ Kg1 5. Nh3+ Kh2 6. Nf4 Qg7 7. Qf2+ Kh1 8. Ne2 Qg2 9. Qh4+ Qh2 10. Qe4+ Qg2 11. Qb1+ Kh2 12. Qh7+ Qh3 13. Qc7+ Kh1 14. Qc1+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 49 date: 1924 algebraic: white: [Kf7, Qa6, Sa2, Ph2] black: [Ke5, Qb2, Pg6, Pf3, Pd4] stipulation: + solution: | "1. Nc1 $1 1... Qxc1 (1... Qb1 2. Nd3+ Ke4 3. Qe6+ Kxd3 4. Qxg6+) (1... Qg2 2. Qe6+ Kf4 3. Nd3+ Kg5 4. Qxg6+ Kh4 5. Qh6+ Kg4 6. Kf6) (1... Qb8 2. Qe6+ Kf4 3. Nd3+ Kg5 4. Qxg6+ Kh4 5. Qh6+ Kg4 6. Nf2+ Kf5 7. Qf6#) (1... Qc3 2. Nd3+ Ke4 3. Nf2+ Ke5 4. Qe6+ Kf4 5. Qf6+ Ke3 6. Nd1+) (1... Qd2 2. Qf6+ Ke4 (2... Kd5 3. Qe6+ Kc5 4. Nb3+) 3. Qxg6+ Kd5 4. Qe6+) 2. Qf6+ Ke4 3. Qxg6+ Kd5 (3... Ke5 4. Qe6+ Kf4 5. Qh6+) 4. Qe6+ Kc5 5. Qc8+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 53 date: 1924 algebraic: white: [Kg6, Qh1, Se4, Pe2] black: [Ke6, Qb8, Bd7, Pd6] stipulation: + solution: | 1. Nc5+ dxc5 (1... Ke7 2. Qh4+) 2. Qh3+ Ke7 (2... Kd5 3. Qf3+) 3. Qh4+ Ke6 4. Qf6+ Kd5 5. Qf3+ Ke6 (5... Kc4 6. Qd3+ Kb4 7. Qb1+) (5... Kd4 6. Qd3+ Ke5 7. Qg3+) 6. Qf5+ Ke7 7. Qf6+ Ke8 8. Qh8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 088 date: 1924 algebraic: white: [Ke7, Sf4, Pb7] black: [Kc4, Pf2, Pe4] stipulation: + solution: | 1. Nd5 $1 1... Kd4 $1 (1... Kxd5 2. b8=Q f1=Q 3. Qd6+ Kc4 4. Qa6+) 2. b8=Q f1=Q 3. Qb6+ Ke5 4. Ne3 $1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 129 date: 1924 algebraic: white: [Kg1, Be8, Sd3, Pf4, Pc6, Pa4] black: [Kg4, Qf6, Ph5, Pd5] stipulation: + solution: | 1. c7 Qb6+ 2. Kg2 Qxc7 3. Bd7+ Kh4 4. Ne1 Qxd7 5. Nf3+ Kg4 6. Ne5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 134 date: 1924 algebraic: white: [Ka2, Bb7, Sf4, Pe2, Pd4, Pb3] black: [Kb4, Qe8, Pg6] stipulation: + solution: | 1. Nd5+ Ka5 2. b4+ Ka4 3. e4 Qe6 4. Bc8 Qc6 5. Bd7 Qxd7 6. Nb6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 137 date: 1924 algebraic: white: [Kf1, Ba4, Sc6, Ph2, Pg3, Pd3] black: [Kf3, Qa6, Sa2, Pd4] stipulation: + solution: | 1. Bb5 Qc8 (1... Qb7 2. Ne5+ Ke3 3. Nc4+ Kf3 (3... Kxd3 $1 4. Nd6+ Qxb5 5. Nxb5 Nc3 6. Nd6 (6. Na3 Ne4 7. g4 Kd2 8. Nc4+ Kc2 9. h4 d3) 6... Ke3 7. h4 d3 8. h5 Nd5 9. h6 (9. g4 Nf4) 9... Kf3 10. Ne4 Nf6) 4. Bc6+ Qxc6 5. Ne5+) (1... Qb6 2. Ne5+ Ke3 3. Nc4+) 2. Ne5+ Ke3 3. Nc4+ Kf3 4. Bc6+ Kg4 5. Bd7+ Qxd7 6. Ne5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 138 date: 1924 algebraic: white: [Kf7, Bd2, Sh4, Pf3, Pe3, Pb3] black: [Ke5, Qb8, Pd6, Pc6] stipulation: + solution: | "1. Ng6+ Kd5 (1... Kf5 2. e4#) 2. Bb4 Qb6 (2... Qxb4 3. Nf4+ Kc5 (3... Qxf4+ 4. exf4 Kc5 5. Ke6 d5 6. f5) 4. Nd3+) 3. Kf6 (3. Ne7+ $1 3... Ke5 4. Bc3+ Qd4 5. Bxd4#) 3... Qxb4 (3... Qxe3 4. Ne7+ Kd4 5. Nf5+) 4. Nf4+ Kc5 5. Nd3+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 167 date: 1924 algebraic: white: [Kb4, Bb1, Sg7, Sc5, Pe3, Pa6] black: [Kf8, Qa8, Pb5, Pa7] stipulation: + solution: | 1. Be4 Qc8 2. Nf5 $1 2... Qe8 3. Bd5 Qg6 (3... Qh5 4. Nd7+ Ke8 5. Nf6+) 4. Nd7+ Ke8 5. Bf7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 175 date: 1924 algebraic: white: [Ka1, Rf4, Ph6] black: [Kc1, Rd2] stipulation: + solution: | 1. h7 (1. Rh4 $1) 1... Rh2 (1... Rd8 2. Rc4+ Kd2 3. Rd4+) 2. Rf1+ Kd2 3. Rf2+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 178 date: 1924 algebraic: white: [Kd4, Rb5, Pg6] black: [Ka3, Re2, Pf5, Pe3] stipulation: + solution: | 1. Kc3 Ka4 (1... Ka2 2. g7 Rg2 3. Rb2+ Rxb2 4. g8=Q+) 2. Rb4+ (2. Rb8 $1) 2... Ka5 3. Rg4 fxg4 (3... Ra2 $1 4. Rg1 e2 5. g7 e1=Q+ 6. Rxe1 Rg2) 4. g7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 178 date: 1924 algebraic: white: [Kd4, Rb6, Pg6] black: [Ka3, Re2, Pf5, Pe3] stipulation: + solution: | 1. Kc3 Ka4 (1... Ka2 2. g7 Rg2 3. Rb2+) 2. Rb4+ Ka5 3. Rg4 $1 3... fxg4 4. g7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 178 date: 1924 algebraic: white: [Kc5, Rb6, Pg6] black: [Ka4, Re3, Pf6, Pe4] stipulation: + solution: | 1. Kc4 (1. Rxf6 $2 1... Rg3) 1... Ka5 (1... Ka3 2. g7 Rg3 3. Rb3+ Rxb3 4. g8=Q Rf3 5. Qa8+ Kb2 6. Qxe4) 2. Rb5+ (2. Rb3 $1 2... Re1 (2... Rxb3 3. Kxb3 e3 4. Kc3) (2... Rf3 3. g7) 3. Rg3 Rc1+ (3... e3 4. g7 e2 5. Kd3) 4. Kd4 Rc8 (4... f5 5. g7) 5. g7 Rg8 6. Kxe4) 2... Ka6 3. Rg5 fxg5 4. g7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 184 date: 1924 algebraic: white: [Ke2, Rg5, Pc6, Pa4] black: [Kh2, Rf1, Ph6, Pf4, Pf2, Pc7] stipulation: + solution: | 1. Rh5+ Kg2 2. Rh2+ Kg1 (2... Kxh2 3. Kxf1 h5 (3... Kg3 4. a5) 4. a5 h4 5. a6 h3 6. a7) 3. Rh1+ Kxh1 (3... Kg2 $1 4. Rh2+ (4. Rxf1 $4 4... f3+)) 4. Kxf1 h5 5. a5 (5. Kxf2 $2 5... h4 6. a5 h3 7. a6 h2 8. a7 f3 9. Kg3 9... f2 $1 10. a8=Q f1=Q) 5... h4 6. a6 h3 7. a7 f3 8. a8=N $1 (8. a8=Q $2 8... h2 9. Qb7) 8... Kh2 9. Kxf2 Kh1 10. Nb6 $1 (10. Nxc7 $2 10... h2 11. Nd5) 10... Kh2 11. Nc4 $1 11... Kh1 12. Nd6 $1 12... Kh2 13. Kxf3 Kg1 14. Ne4 h2 15. Ng3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 214 date: 1924 algebraic: white: [Kd3, Bh5, Sg5, Pd5, Pb4] black: [Kb5, Re7, Ph6, Pb6] stipulation: + solution: | 1. d6 Re5 (1... Rg7 2. Be8+ Kxb4 3. Nf7) 2. Bf7 Kc6 3. Nf3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 214 date: 1924 algebraic: white: [Kd3, Bh5, Sg5, Pc5, Pb4] black: [Kb5, Re7, Ph6, Pd6, Pb6] stipulation: + solution: | 1. cxd6 1... Re5 $1 (1... Rg7 2. Be8+ Kxb4 3. Nf7) 2. Bf7 (2. d7 $2 2... Rd5+ 3. Kc3 hxg5 4. Be8 Ka6) 2... Kc6 3. Kc3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 217 date: 1924 algebraic: white: [Kh1, Ba2, Sc4, Ph2, Pd6] black: [Ke8, Rg5, Ph5, Pc7, Pc5] stipulation: + solution: | 1. dxc7 Kd7 2. h4 Rg3 (2... Rg4 3. Ne5+ Kxc7 4. Nxg4 hxg4 5. h5) (2... Rg7 3. Nd6 Kxc7 4. Ne8+) (2... Rg8 3. Ne5+) 3. Kh2 Rc3 4. Nb6+ Kxc7 5. Nd5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 225 date: 1924 algebraic: white: [Kh1, Bd5, Bb4, Ph5] black: [Kh6, Rg8, Pa5] stipulation: + solution: | 1. Bd2+ Rg5 (1... Kh7 2. Bxg8+ Kxg8 3. Bxa5) 2. Bf7 a4 3. Kh2 a3 4. Kh3 a2 5. Bxa2 Kxh5 6. Bf7+ Rg6 (6... Kh6 7. Kh4) 7. Kh2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 228 date: 1924 algebraic: white: [Ka4, Se8, Sb3, Pe6, Pe3] black: [Ka6, Re5] stipulation: + solution: | 1. Nc5+ Rxc5 (1... Ka7 2. e4 (2. Nd6 $1 2... Rxe3 3. Nde4 Rh3 4. e7 Rh8 5. Nf6 Kb6 6. Ne6 Kc6 (6... Ra8+ 7. Kb4 Rh8 8. Nf8 Rh4+ 9. Kc3 Rh3+ 10. Kd4 Rh4+ 11. Ne4) 7. Nf8 Rh4+ 8. Ka5) 2... Rxc5 3. e7 Re5 4. Nd6 Rxe7 5. Nc8+) 2. e7 Rc4+ 3. Kb3 Re4 4. Nc7+ Ka5 5. e8=R (5. e8=Q $2 5... Rxe3+ 6. Qxe3) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 230 date: 1924 algebraic: white: [Kd2, Sf7, Sc2, Pe6] black: [Kb6, Rc6, Pa7] stipulation: + solution: | 1. e7 Re6 2. Nd6 (2. Ne3 $2 2... Rxe7 3. Nd5+ Kc5 4. Nxe7 a5) 2... Rxd6+ (2... Rxe7 3. Nc8+ Kb5 4. Nxe7 4... Kc4 $1 (4... a5 5. Kc3) 5. Nf5 5... Kb3 $1 (5... a5 6. Nd6+ 6... Kc5 $1 7. Ne4+) 6. Nfd4+ Kc4 7. Ne2 a5 8. Nc3) 3. Nd4 Rxd4+ 4. Ke3 Rd1 5. Ke2 Rd5 6. e8=Q Rb5 7. Kd3 a6 8. Qa8 Rb4 (8... Rb3+ 9. Kc4 Rb5) ( 8... Ka5 9. Qd8+) 9. Kc3 Rb5 10. Qb8+ Kc6 (10... Kc5 11. Qc7+ Kd5 12. Qc4+ Kd6 (12... Ke5 13. Qc6) 13. Kd4 Kd7 (13... Ke7 14. Qc6) 14. Qa4) (10... Ka5 11. Qd8+ Ka4 12. Qd6 Ka5 (12... Rb3+ 13. Kc4 a5 14. Qd1) 13. Kc4 Rb1 14. Qd8+ Ka4 15. Qd2) 11. Qa7 Ra5 (11... Rb6 12. Kc4) 12. Kb4 Rb5+ 13. Ka4 Rb6 14. Ka5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 236 date: 1924 algebraic: white: [Kc5, Sf8, Sf4, Pe6] black: [Ka6, Re1, Pf7, Pa7] stipulation: + solution: | "1. exf7 Re5+ 2. Nd5 Rf5 3. Ne6 Rxf7 (3... Kb7 4. f8=Q Rxf8 5. Nxf8 a5 6. Ne6 a4 7. Nc3 a3 8. Na2) 4. Kb4 Rb7+ 5. Ka4 Rb5 6. Nec7+ Kb7 7. Kxb5 a5 8. Ne8 $1 (8. Ka4 $2 8... Kc6) 8... a4 9. Nd6+ Kb8 (9... Ka8 10. Kb6 a3 11. Nc7+ Kb8 12. Na6+ Ka8 13. Nb5 a2 14. Nbc7#) (9... Ka7 10. Nb4 a3 11. Nc6+ Ka8 12. Kb6 a2 13. Nb5 a1=Q 14. Nc7#) 10. Kb6 a3 11. Nb4 a2 12. Nc6+ Ka8 13. Ne8 a1=Q 14. Nc7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 236 date: 1924 algebraic: white: [Ka4, Sf8, Sc3, Pe6] black: [Ka6, Re1, Pf7, Pa7] stipulation: + solution: | 1. exf7 1... Ra1+ $1 (1... Re7 2. Ne6 Rxf7 3. Nd5) 2. Kb4 Rf1 3. Ne6 (3. Nd5 $2 3... Rb1+ 4. Kc5 Rc1+ 5. Kd6 Rf1 6. Ke7 Rxf7+ 7. Kxf7) 3... Rxf7 4. Nd5 Rb7+ 5. Ka4 Rb5 6. Nec7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 242 date: 1924 algebraic: white: [Kc8, Sg7, Sa6, Pe6, Pe4] black: [Kh7, Rh4, Pf7] stipulation: + solution: | 1. Nf5 Rxe4 2. exf7 Re5 (2... Rg4 3. Kd7 Rg8 4. Ke7 Rh8 5. Nd4 5... Kh6 $1 ( 5... Kg6 6. Ne6 Rh7 7. Nf8+) 6. Kf6) (2... Re6 3. f8=N+ $1) 3. f8=R 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 242 date: 1924 algebraic: white: [Kb8, Se7, Sa6, Pf6] black: [Kh6, Re4, Pa7] stipulation: + solution: | 1. Nf5+ Kh7 (1... Kg6 2. f7 Kxf7 3. Nd6+) 2. f7 Re5 (2... Re6 3. f8=N+) 3. f8=R $1 (3. f8=Q $2 3... Re8+ 4. Qxe8) (3. Ne7 3... Rb5+ $1 (3... Kg7 $2 4. f8=Q+ Kxf8 5. Ng6+) 4. Ka8 Kg7) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 254 date: 1924 algebraic: white: [Kd1, Bh5, Pd6] black: [Kb3, Re3] stipulation: + solution: | 1. Bg6 (1. Kd2 $2 1... Re4 $1 2. Kd3 2... Rb4 $1) (1. Be2 $2 1... Re6) 1... Rh3 (1... Re5 $1 2. Bf7+ Kc3 3. d7 Re4) 2. d7 Rh8 3. Be8 Rh1+ 4. Ke2 Rh2+ 5. Ke3 Rh3+ 6. Ke4 Rh4+ 7. Ke5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 254 date: 1924 algebraic: white: [Kd1, Bh5, Pd6, Pb2] black: [Kb3, Re3] stipulation: + solution: | 1. Bg6 $1 (1. Kd2 $2 1... Re4 $1 2. Kd3 Rb4) (1. Be2 $2 1... Re6) 1... Rh3 ( 1... Re5 2. Bf7+ Kxb2 3. d7) 2. d7 Rh8 3. Be8 Rh1+ 4. Ke2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 255 date: 1924 algebraic: white: [Kg6, Bh2, Pa6] black: [Kb4, Rb5, Pf6] stipulation: + solution: | 1. Bc7 Rg5+ 2. Kf7 Rh5 (2... Rc5 3. Bd6 Kb5 4. a7 Rc8 5. Bb8) (2... Rg1 3. Ba5+ $1 3... Kxa5 4. a7) 3. a7 Rh8 4. Bd6+ Kb3 5. Bf8 Rh7+ 6. Bg7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 256 date: 1924 algebraic: white: [Kb5, Be7, Pf3, Pe6] black: [Kg3, Rd4] stipulation: + solution: | 1. Bf6 Rd5+ (1... Rd1 2. Be5+ Kxf3 3. e7 3... Rd5+ $1) 2. Kb4 Rd1 (2... Rf5 3. e7) 3. Be5+ Kxf3 4. e7 Rb1+ 5. Ka3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 256 date: 1924 algebraic: white: [Kb4, Be7, Pf3, Pe6] black: [Kg3, Rd5] stipulation: + solution: | 1. Bf6 Rd1 (1... Rf5 2. e7) 2. Be5+ Kxf3 3. e7 Rb1+ 4. Ka3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 257 date: 1924 algebraic: white: [Kc1, Bd8, Pf3, Pc6] black: [Ka3, Rd3, Pf7] stipulation: + solution: | 1. Bf6 Rxf3 (1... Re3 2. c7 Re8 3. Bd8) 2. c7 2... Rf4 $1 3. Bd4 Rxd4 4. c8=Q 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 262 date: 1924 algebraic: white: [Kh2, Sg8, Pc6, Pc3, Pa3] black: [Kd5, Re4, Pe7] stipulation: + solution: | 1. c7 Rh4+ 2. Kg3 Rc4 3. Nxe7+ Ke4 4. c8=R (4. c8=Q $2 4... Rxc3+ 5. Qxc3) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 302 date: 1924 algebraic: white: [Kc4, Ba2, Pe6, Pb2] black: [Ka4, Bf3, Ph5, Pa7] stipulation: + solution: | 1. e7 Bc6 2. Kc5 Be8 3. Bd5 Bg6 (3... Ka5 4. Bc6) 4. Be4 Bf7 5. Bc6+ Kb3 6. Bd5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 304 date: 1924 algebraic: white: [Kg1, Ba5, Ph5, Pg2, Pd3] black: [Kg3, Bc5, Pg4, Pd4, Pb4] stipulation: + solution: | 1. h6 Bf8 (1... Be7 2. h7 (2. Bxb4 $1 2... Bf6 3. Bf8) 2... Bf6 3. Bc7+ Kh4 4. Bd8) (1... b3 2. h7 b2 3. Bc7+ Kh4 4. h8=Q+) 2. Bxb4 Bxh6 3. Be1+ Kf4 4. Bd2+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 311 date: 1924 algebraic: white: [Kg3, Bh2, Ph4, Pf2, Pd5, Pc6] black: [Kh5, Bg8, Sd4] stipulation: + solution: | 1. c7 Bxd5 2. c8=B (2. c8=Q $2 2... Ne2+ 3. Kh3 Be6+ 4. Qxe6 Nf4+ 5. Bxf4 (5. Kg3 $1)) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 319 date: 1924 algebraic: white: [Kg1, Sb5, Pf5, Pa5] black: [Kc6, Ba8, Ph3, Pd6] stipulation: + solution: | 1. f6 Kd7 2. Nc7 (2. f7 $1 2... Ke7 3. Nxd6 Bc6 4. Kh2 Bg2 5. Kg3 Kf8 6. a6 Ke7 7. a7 Kf8 8. Nc4 Kxf7 9. Ne5+) 2... Bg2 (2... Bb7 $1 3. Kh2 $1 3... Bc6 (3... Bc8 $3) 4. f7 Ke7 5. Ne6 Kxf7 6. Nd8+) 3. a6 d5 4. f7 Ke7 5. Ne6 Kxf7 6. Nd4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 319 date: 1924 algebraic: white: [Kg1, Sb5, Pf5, Pa5] black: [Kc6, Ba8, Ph3, Pe6, Pd6] stipulation: + solution: | 1. f6 Kd7 2. Nc7 Bg2 (2... Bb7 3. Kh2 $1 (3. a6 $2 3... Bxa6) (3. f7 $2 3... Ke7 4. Nxe6 Kxf7 5. Nd8+ Ke7 6. Nxb7 Kd7) 3... Bg2 (3... d5 4. Kxh3) 4. a6) 3. a6 $1 (3. Kh2 $2 3... d5 $1) 3... d5 4. f7 $1 (4. a7 $2 4... d4) 4... Ke7 5. Nxe6 Kxf7 6. Nd4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 320 date: 1924 algebraic: white: [Kc6, Sc2, Ph4, Pa2] black: [Ke4, Bf1, Pf7, Pf5, Pa5] stipulation: + solution: | 1. h5 Ke5 2. h6 Kf6 3. Ne3 Bh3 (3... Ba6 4. Kb6 Bc8 5. Nd5+ Kg6 6. Ne7+ Kxh6 7. Nxc8 f4 8. Nd6) 4. Nd5+ Kg6 5. Nf4+ Kxh6 6. Nxh3 Kh5 7. Kb5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 333 date: 1924 algebraic: white: [Kc5, Sh3, Ph5] black: [Ka6, Sc7, Pe7, Pa7] stipulation: + solution: | 1. Ng5 Ne8 2. Ne4 Ng7 3. h6 Ne6+ 4. Kb4 Nf8 (4... Nf4 $1 5. Nc5+ (5. h7 Ng6 6. Nc5+ Kb6 7. Nd7+ Kc7 8. Nf8 Nh8) 5... Kb6 6. Nd7+ Kc7 7. Nf8 Nd5+ 8. Kc5 Nf6) 5. Nc5+ Kb6 6. Nd7+ Nxd7 7. h7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 333 date: 1924 algebraic: white: [Kc5, Sh3, Ph5, Pe3] black: [Ka6, Sc7, Pe7, Pb5, Pa7] stipulation: + solution: | 1. Ng5 Ne8 2. Ne4 Ng7 3. h6 Ne6+ 4. Kb4 Nf8 5. Nc5+ Kb6 6. Nd7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 334 date: 1924 algebraic: white: [Kd2, Sc2, Pa5] black: [Kh4, Sd8, Pf4, Pb4] stipulation: + solution: | 1. Nd4 Nf7 (1... Nb7 2. a6 Na5 3. Kd3) 2. a6 Ne5 (2... Nd6 3. Nf5+ Nxf5 4. a7) 3. Nf3+ Nxf3+ 4. Kd1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 336 date: 1924 algebraic: white: [Kh6, Sd2, Pb6, Pa5] black: [Kc5, Se7, Ph7, Pc7] stipulation: + solution: | 1. b7 Nc6 2. Nb3+ 2... Kb5 $1 (2... Kb4 3. a6) 3. Nd4+ Kxa5 (3... Ka6 4. Nxc6 Kxb7 5. Ne5 Ka6 6. Nc4) 4. Nxc6+ Ka6 5. b8=N+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 338 date: 1924 algebraic: white: [Kh1, Sg8, Pg6, Pc4] black: [Ka6, Sb6, Pe6, Pc5, Pb7] stipulation: + solution: | 1. Nf6 (1. g7 $2 1... Nc8) 1... Nc8 2. Nd5 $1 2... exd5 3. cxd5 c4 (3... Ne7 4. d6) 4. d6 c3 5. d7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 339 date: 1924 algebraic: white: [Kh1, Sf8, Pg2, Pf7, Pd6] black: [Kh4, Se1, Pg5, Pg4, Pe2] stipulation: + solution: | 1. Ng6+ Kg3 2. f8=R $1 (2. f8=Q $2 2... Nd3 3. Qe7 Nf2+ 4. Kg1 e1=Q+ 5. Qxe1) ( 2. Ne5 $1 2... Nxg2 3. Nd3 Nf4 4. Ne1 Ne6 (4... Nh3 5. f8=Q Nf2+ 6. Qxf2+ Kxf2 7. Ng2) (4... Kf2 5. f8=Q Kxe1 6. d7 Kf2 7. Qc5+ Kf3 8. Qc3+ Kf2 9. d8=Q) 5. d7 Kf2 6. Ng2) 2... Nxg2 3. Re8 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 358 date: 1924 algebraic: white: [Kh5, Sf4, Sc4] black: [Kd8, Sh7, Pc6] stipulation: + solution: | "1. Kg6 Nf8+ 2. Kf7 Nd7 (2... Nh7 3. Ne6+ 3... Kd7 $1 4. Nc5+ Kc7 5. Ne4 c5 6. Kg7 Kc6 7. Kxh7 Kd5 8. Ned2) 3. Ne6+ Kc8 4. Ke7 Nb8 5. Nd6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 361 date: 1924 algebraic: white: [Ke5, Sg5, Sf4] black: [Ke8, Sg7, Pf5] stipulation: + solution: | "1. Kf6 Kf8 2. Nh7+ Kg8 3. Kg6 Ne8 4. Nd5 Nd6 5. Ne7+ Kh8 6. Ng5 f4 7. Nf3 7... Nc4 $1 8. Kh6 Ne3 (8... Nd6 9. Ne5 Nf5+ 10. Nxf5 Kg8 11. Nf3) 9. Ne5 Ng4+ 10. Nxg4 f3 11. Nf6 f2 12. Ng6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 362 date: 1924 algebraic: white: [Ka7, Sg4, Sf5, Pg6] black: [Kc8, Bb5, Pg7, Pc6] stipulation: + solution: | 1. Ne5 (1. Nxg7 $2 1... Bd3) (1. Nd6+ $2 1... Kd7 2. Nxb5 cxb5) (1. Nf2 $2 1... Ba4 $1) 1... Ba4 (1... Kd8 2. Nxg7 Ke7 3. Ne6 $1 3... Kf6 4. g7) 2. Nxg7 Bc2 3. Ne6 Bxg6 4. Nc4 $1 (4. Nxg6 $2 4... c5 $1 5. Ne5 5... c4 $1) 4... Kd7 5. Nf8+ Ke7 6. Nxg6+ Ke6 7. Kb6 Kd5 8. Nge5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 388 date: 1924 algebraic: white: [Kh2, Ba4, Sc1, Pc6] black: [Ke3, Ph5, Pd3, Pc2, Pb7] stipulation: + solution: | 1. c7 $1 1... d2 2. c8=Q dxc1=Q (2... d1=Q 3. Qc3+ Kf4 4. Nd3+) 3. Qc3+ Kf4 ( 3... Ke4 4. Bxc2+ Kd5 (4... Kf4 5. Qf6+) 5. Bb3+) (3... Ke2 4. Bb5+ Kd1 5. Qf3+ Kd2 6. Qf4+) (3... Kf2 4. Qg3+ Ke2 5. Bb5+) 4. Bxc2 Kg5 (4... Kg4 5. Bf5+) 5. Qg7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 388 date: 1924 algebraic: white: [Kh2, Ba4, Sc1, Pc6] black: [Ke3, Ph5, Pd3, Pc2, Pb7, Pa3] stipulation: + solution: | 1. c7 $1 1... d2 2. c8=Q dxc1=Q (2... d1=Q 3. Qc3+ 3... Kf4 $1 4. Nd3+) 3. Qc3+ Kf4 (3... Ke2 4. Bb5+ Kd1 5. Qf3+ Kd2 6. Qf4+) (3... Kf2 4. Qg3+ Ke2 5. Bb5+) ( 3... Ke4 4. Bxc2+ Kd5 (4... Kf4 5. Qf6+) 5. Bb3+) 4. Bxc2 Kg5 (4... Kg4 5. Bf5+ ) 5. Qg7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 388 date: 1924 algebraic: white: [Kh2, Qc5, Ba4] black: [Ke4, Qc1, Se6, Ph6, Ph4, Pc2] stipulation: + solution: | "1. Bxc2+ 1... Kf4 $1 2. Qc3 h5 (2... Qe3 3. Qf6+) (2... Nd4 3. Qxd4+) (2... Kg5 3. Qe5+) 3. Kg2 $1 3... h3+ 4. Kf2 Kg5 5. Qe5+ Kh6 (5... Kh4 6. Qg3#) 6. Qf6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 394 date: 1924 algebraic: white: [Kd6, Pc7] black: [Kh6, Rf2, Pb3] stipulation: + solution: | "1. c8=Q Rd2+ 2. Ke5 $1 2... Re2+ (2... b2 3. Qh8+ Kg6 4. Qg8+ Kh5 5. Qg1 Kh4 6. Kf4) 3. Kf5 $1 3... Rf2+ (3... b2 4. Qh8#) 4. Ke4 b2 (4... Re2+ 5. Kd3 b2 6. Qa6+ Kh7 7. Qb7+) 5. Qh3+ Kg6 6. Qg3+ Kh6 7. Qg1 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 398 date: 1924 algebraic: white: [Ke4, Pe6, Pd2] black: [Ke2, Sh2, Pc4] stipulation: + solution: | "1. Kf4 $1 (1. Kf5 $1) 1... Ng4 2. Kxg4 Kxd2 3. e7 c3 4. e8=Q c2 5. Qd7+ Kc1 6. Qb5 Kd1 7. Qb3 Kd2 8. Qb2 Kd1 9. Kf3 c1=Q 10. Qe2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 403 date: 1924 algebraic: white: [Ka2, Bd1, Sg4, Sd4, Pg6] black: [Ke8, Qh4, Be7] stipulation: "=" solution: | 1. g7 Qh7 2. Nf6+ (2. Ba4+ $1 2... Kf7 $1 (2... Kd8 3. Ne6+ Kc8 4. Nh6 $1) 3. Nf5 $1 3... Qxf5 4. Nh6+) 2... Bxf6 3. Bc2 Qg8+ 4. Bb3 Qxg7 5. Ba4+ Kf7 6. Bb3+ Kg6 7. Bc2+ Kh5 8. Bd1+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 408 date: 1924 algebraic: white: [Kg8, Rf4, Sd8] black: [Ka8, Sd3, Pd2] stipulation: "=" solution: | 1. Rf7 d1=Q 2. Nc6 Qg4+ (2... Qb3 3. Kf8 $1 3... Qa3+ 4. Kg8 $1 4... Qa2 5. Kf8 $1 (5. Kg7 $2 5... Qg2+ 6. Kf8 Qxc6)) 3. Kf8 Qc8+ 4. Kg7 Qxc6 5. Rf8+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 421 date: 1924 algebraic: white: [Ke4, Ra7] black: [Kh4, Pg2, Pe3, Pd3, Pb2, Pa5] stipulation: "=" solution: | 1. Kf4 Kh5 2. Kf5 Kh6 3. Ra6+ Kg7 4. Ra7+ Kf8 5. Kf6 Ke8 6. Ke6 Kd8 7. Kd6 Kc8 8. Kc6 Kb8 9. Rb7+ Ka8 10. Kc7 g1=Q 11. Rb8+ Ka7 12. Rb7+ Ka6 13. Rb6+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 429 date: 1924 algebraic: white: [Kf3, Ph5, Ph3, Pc6] black: [Kh7, Sh1, Sa6, Pf5] stipulation: "=" solution: | 1. Kf4 Nb4 2. c7 Nd5+ 3. Kxf5 Nxc7 4. Kf4 Nf2 5. Ke3 Nd1+ 6. Kd2 Nb2 7. Kc3 Na4+ 8. Kb4 Nb6 9. Kc5 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 447 date: 1924 algebraic: white: [Kd6, Sh1, Pe6] black: [Kg1, Rf5, Sa8] stipulation: "=" solution: | 1... Kg2 2. Ng3 Kxg3 3. e7 Rf6+ 4. Kd7 Nb6+ (4... Rf7 $1 5. Ke6 Rh7 6. e8=Q Nc7+) 5. Kd8 Rd6+ 6. Kc7 Rd7+ 7. Kb8 Rxe7 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 449 date: 1924 algebraic: white: [Kh1, Sf4, Pg6, Pb5] black: [Kb7, Ra4, Bb6, Pc6] stipulation: "=" solution: | 1. bxc6+ Kxc6 2. g7 Ra1+ (2... Ra8 $1 3. Ng6 Bc5 4. Nf8 Ra1+ 5. Kh2 Rg1 6. Ne6 Rg6 7. Kh3 Kd6) 3. Kh2 Ra8 4. Ng6 Bc5 5. Nf8 Bxf8 6. g8=Q Bd6+ 7. Kh1 Rxg8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 449 date: 1924 algebraic: white: [Kh1, Sf4, Pg6] black: [Kc6, Ra4, Bb6] stipulation: "=" solution: | 1. g7 Ra1+ (1... Ra8 $1 2. Ng6 Bc5 3. Nf8 Ra1+ 4. Kh2 Rg1 5. Ne6 Rg6 6. Kh3 Kd6 ) 2. Kh2 Ra8 3. Ng6 Bc5 4. Nf8 Bxf8 5. g8=Q Bd6+ 6. Kh1 Rxg8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 452 date: 1924 algebraic: white: [Kc5, Ph6, Ph4, Pg6, Pf2, Pb5] black: [Ke5, Rd4, Pb7, Pa7] stipulation: "=" solution: | 1. f4+ Rxf4 2. h7 $1 (2. g7 $2 2... Rg4 3. h7 b6+ 4. Kc6 Rg6+ 5. Kb7 Rxg7+ 6. Ka6 Rxh7) 2... Rxh4 3. g7 b6+ 4. Kc6 Rh6+ 5. Kb7 Rxh7 6. Ka6 Rxg7 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 466 date: 1924 algebraic: white: [Kh5, Sa8, Pf4, Pd6] black: [Kg7, Sf7, Pf3, Pe7, Pe6] stipulation: "=" solution: | "1. dxe7 Nd6 2. Nb6 f2 3. Nc4 f1=Q 4. Nxd6 Qf3+ (4... Kf6 $1 5. e8=N+ (5. e8=Q Qh3#) 5... Ke7 6. Kg4 Qg2+ 7. Kh4 Qg6 8. Kh3 Qg1 9. Kh4 Qg2 10. Kh5 Qg3) 5. Kg5 Qg3+ 6. Kh5 Qg6+ 7. Kh4 Qf6+ 8. Kh5 Qxe7 9. Nf5+ exf5 1/2-1/2" --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 469 date: 1924 algebraic: white: [Kb6, Ra5, Pd4, Pc6] black: [Kh5, Sc3, Pg5, Pc2] stipulation: "=" solution: | 1. c7 c1=Q 2. Rxg5+ Kh4 3. Rg4+ Kh3 4. Rg3+ Kh2 5. Rg2+ Kh1 6. Rg1+ Kxg1 7. c8=Q Nd5+ 8. Ka7 Qxc8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 474 date: 1924 algebraic: white: [Kg5, Sh3, Se7, Ph5] black: [Kh8, Sd2, Sc3, Pa3] stipulation: "=" solution: | 1. Kh6 Nd5 2. Nxd5 a2 3. Nf6 a1=Q (3... Ne4 $3 4. Nxe4 a1=Q 5. Kg6 Qg7+ 6. Kf5 Qd7+) 4. Nf4 Qxf6+ 5. Ng6+ Kg8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 478 date: 1924 algebraic: white: [Kg3, Bg2, Sb7, Pe6, Pb5] black: [Kc7, Ba5, Pf5, Pd5, Pb2] stipulation: "=" solution: | 1. b6+ Bxb6 2. e7 Kd7 3. Bh3 Bc7+ (3... b1=Q $1 4. Bxf5+ Qxf5 5. e8=Q+ 5... Kc7 $3 6. Qe7+ (6. Qa8 Qg6+ 7. Kf4 Qf6+ 8. Kg3 Qc6) (6. Nd8 Qg5+) 6... Qd7 7. Qxd7+ Kxd7 8. Kf4 Kc7 9. Ke5 Kc6 10. Nd6 Bc7) 4. Kh4 b1=Q 5. Bxf5+ Qxf5 6. e8=Q+ Kxe8 7. Nd6+ Bxd6 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 489 date: 1924 algebraic: white: [Kg1, Sd6, Ph2, Pf5, Pe2] black: [Kh3, Bg8, Bg7, Ph7, Ph4] stipulation: "=" solution: | 1. f6 Bxf6 2. Ne4 Bd4+ 3. e3 Bxe3+ 4. Kh1 Bd5 (4... Bf7 5. Nf2+ Bxf2) 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 495 date: 1924 algebraic: white: [Kf4, Ph6, Pe4] black: [Kc3, Bh8, Sb1] stipulation: "=" solution: | "1. e5 Kd4 2. e6 Nc3 3. Kf5 Nd5 4. Kg6 Ke5 5. e7 Nxe7+ 6. Kh7 Bf6 (6... Kf6 $1 7. Kxh8 Kf7 8. Kh7 Nd5 9. Kh8 Nf4 10. Kh7 Ne6 11. Kh8 Nf8 12. h7 Ng6#) 1/2-1/2" --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 495 date: 1924 algebraic: white: [Kf4, Ph6, Ph5, Pe4] black: [Kc3, Bh8, Sb1] stipulation: "=" solution: | "1. e5 (1. Kf5 $2 1... Kd4 2. Kg6 Nc3 3. Kh7 Be5 4. Kg8 Nxe4 5. h7 Nf6+) 1... Kd4 (1... Nd2 2. e6 Nc4 3. e7 Nd6 4. Kg5 Kd4 5. Kg6 Ke5 6. Kh7) 2. e6 Nc3 3. Kf5 (3. e7 $2 3... Nd5+ 4. Kf5 Nxe7+ 5. Ke6 Nd5 6. Kf7 Nf6) 3... Nd5 4. Kg6 $1 4... Ke5 5. e7 (5. Kf7 $2 5... Kd6) (5. Kh7 $2 5... Bf6) 5... Nxe7+ 6. Kh7 Bf6 (6... Kf6 $1 7. Kxh8 Kf7 8. Kh7 (8. h7 Kf8 9. h6 Ng6#) 8... Nc6 $1 9. Kh8 Ne5 10. Kh7 10... Nf3 $1 11. Kh8 Ng5 12. h7 Kf8 13. h6 Nf7#) 1/2-1/2" --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 497 date: 1924 algebraic: white: [Kf2, Ph6, Pg4, Pe3, Pb6] black: [Ke6, Rh4, Bd2, Ph7] stipulation: "=" solution: | "1. b7 Bxe3+ 2. Kg3 Bf2+ 3. Kf4 Ba7 4. b8=Q Bxb8+ 5. Kg5 Rh1 (5... Kf7 $1 6. Kxh4 Kg6 7. g5 (7. Kh3 Kg5 8. Kg2 Kf4 9. Kh3 (9. Kf2 Ba7+ 10. Kg2 Bb6 11. Kf1 Kf3 12. Ke1 Be3 13. Kd1 Bf2 14. Kd2 Kxg4 15. Ke2 Kg3 16. Kf1 Be3 17. Ke1 Bxh6 18. Kf1 Be3) 9... Ba7 10. Kg2 Bb6 11. Kh3 Bf2 12. Kg2 Bg3 13. Kh3 Kf3 14. g5 Bf2 15. Kh2 Be1 16. Kg1 Bg3) 7... Kf5 8. Kh3 (8. Kh5 $4 8... Bg3 9. g6 hxg6#) 8... Kf4 $1 9. Kh4 Ba7 10. Kh5 Kf5 11. Kh4 Bf2+ 12. Kh3 Be1 13. Kg2 Kg4 14. Kf1 Bh4 15. Kg2 Bg3 16. Kf1 Kf3 17. Kg1 Be5 18. Kf1 Bd4 19. Ke1 Be3 20. Kd1 Bxg5 21. Ke1 Bxh6 22. Kf1 Be3) 1/2-1/2" --- authors: - Троицкий, Алексей Алексеевич source: 500 Endspielstudien source-id: 498 date: 1924 algebraic: white: [Ke1, Ph5, Pe4, Pd4, Pc6] black: [Kh6, Bf6, Bc2, Sf1, Pd5] stipulation: "=" solution: | 1. c7 Bh4+ 2. Ke2 Ng3+ 3. Kf3 Bxe4+ (3... Bd1+ $1 4. Kf4 Nxh5+ 5. Kf5 Nf6 6. c8=Q Bg4+) 4. Kg4 Bf5+ 5. Kxh4 Nxh5 6. c8=Q Bxc8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: 28. Říjen source-id: 14 date: 1924 algebraic: white: [Kh3, Re4, Sb6, Pg6] black: [Kc3, Rd2, Pg7, Pf7, Pe6, Pc6] stipulation: + solution: | 1. Na4+ (1. gxf7 $2 1... Rf2 2. Na4+ Kd3 3. Nc5+ Kc3) 1... Kd3 (1... Kc2 2. gxf7 Rf2 3. Re2+) (1... Kb3 2. Nc5+ Ka3 3. gxf7 Rf2 4. Re3+ Ka2 5. Re2+) 2. Nc5+ 2... Kc3 $1 3. Re2 $1 (3. Rf4 $1) 3... Rxe2 (3... fxg6 4. Ne4+ Kd3 5. Rxd2+ Kxe4 6. Rd6) (3... Rd8 4. gxf7 Rf8 5. Rf2) (3... Rd5 4. gxf7 Rf5 5. Rf2 Rxf2 6. Ne4+) 4. gxf7 Rf2 5. Ne4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 28. Říjen source-id: 31 date: 1924 algebraic: white: [Kf1, Rc3] black: [Kh5, Rg6, Sb2, Pf2] stipulation: "=" solution: | 1. Rc5+ Kg4 2. Rd5 2... Kg3 $1 3. Rd2 3... Rc6 $1 4. Rxf2 $1 4... Rc1+ 5. Ke2 Rc2+ 6. Ke1 Nd3+ (6... Rxf2) 7. Kd1 Rxf2 (7... Nxf2+ 8. Kxc2) 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Časopis českých šachistů source-id: 380 date: 1924 algebraic: white: [Kh1, Rh5, Bh2, Sd3] black: [Ka6, Qf8, Sb1, Pf3, Pa4] stipulation: "=" solution: | 1. Nc5+ Ka7 2. Rh7+ Ka8 3. Nxa4 Qd8 4. Nb6+ Qxb6 5. Rh8+ Ka7 6. Bg1 f2 7. Bxf2 Qxf2 8. Ra8+ Kxa8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Časopis českých šachistů source-id: 383 date: 1924 algebraic: white: [Kb2, Bc8, Sh7, Pg6, Pe4, Pc3, Pc2] black: [Kc5, Qb6, Pb5] stipulation: + solution: | 1. g7 (1. Nf8 $2 1... Kd6) 1... Qg6 (1... b4 2. g8=Q bxc3+ 3. Kxc3 Qb4+ 4. Kd3 Qd4+ 5. Ke2) 2. Nf8 Qg3 (2... Qf7 3. Nd7+ Kd6 4. Nf6) 3. Bg4 $1 (3. Bf5 $2 3... b4 4. Bg6 Qxc3+ 5. Kb1 b3 6. e5 Qe1+) 3... Qxg4 (3... b4 4. cxb4+ Kxb4 5. g8=Q Qc3+ 6. Kb1 Qe1+ 7. Ka2) 4. Nd7+ Kd6 5. Nf6 Qg6 (5... Qxg7 6. Ne8+) 6. g8=Q Qxf6 7. Qd5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Časopis českých šachistů source-id: 448 date: 1924 algebraic: white: [Ke2, Sf5, Sf3, Pb2] black: [Ka5, Pd7, Pa3] stipulation: + solution: | 1... a2 $1 (1... axb2 2. Nd2 d5 3. Nd4) 2. N3d4 Ka4 3. Ne3 a1=Q 4. Nd1 d6 (4... Qxb2+ 5. Nxb2+) 5. Kd2 d5 6. Ke2 Qc1 (6... Qxb2+ 7. Nxb2+) (6... Kb4 7. Nc2+) ( 6... Ka5 7. Nb3+) 7. Nc3+ Kb4 8. Na2+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Известия date: 1924 algebraic: white: [Kh1, Bc1, Pd4, Pa4] black: [Kh7, Sg8, Pf6, Pc6] stipulation: + solution: | 1. Ba3 (1. a5 Ne7 2. a6 Nd5 3. a7 Nb6) 1... f5 2. d5 $1 2... cxd5 3. a5 Nf6 4. a6 Ne8 (4... Nd7 5. Bc5 $1 5... Nxc5 6. a7) 5. Bd6 $1 5... Nxd6 6. a7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Известия ВЦИК date: 1924 algebraic: white: [Kg3, Se3, Pc6] black: [Kh8, Sg6, Pd3] stipulation: + solution: | 1. Nf5 $1 1... d2 2. c7 2... Ne7 $1 (2... d1=Q 3. c8=Q+ Kh7 4. Qc7+ Ne7 5. Qxe7+ Kg6 6. Nh4+) 3. Nxe7 d1=Q 4. c8=Q+ Kg7 5. Qg8+ Kf6 6. Nd5+ Ke5 7. Qg7+ Ke6 8. Qe7+ Kxd5 9. Qd7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Известия ВЦИК date: 1924 algebraic: white: [Kc6, Bf8, Sb5, Pd5] black: [Ka5, Pe5, Pe2, Pa7] stipulation: + solution: | 1. Nd6 $1 1... e1=Q (1... Ka4 2. Ne4 e1=Q (2... Kb3 3. Nd2+) 3. Nc5+ Ka5 4. Bh6 ) 2. Nb7+ Ka4 3. Nc5+ Ka5 4. Bh6 $1 4... Qd1 5. Bd2+ Qxd2 6. Nb3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы date: 1924 algebraic: white: [Ka4, Rc2, Pc6, Pc3] black: [Kf8, Rg4, Pe4, Pa6, Pa5] stipulation: + solution: | 1. Rg2 (1. c7 $1 1... e3+ 2. c4) 1... Rh4 2. Rh2 Rg4 (2... Rf4 3. Rf2 Rxf2 4. c7) 3. c7 e3+ 4. Kb3 $1 4... a4+ 5. Kc2 Rc4 6. c8=Q+ Rxc8 7. Rh8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы date: 1924 algebraic: white: [Ka4, Re2, Pc6, Pc3] black: [Kf8, Rg4, Pe4, Pb6, Pa6, Pa5] stipulation: + solution: | 1. Rg2 Rh4 2. Rh2 Rg4 (2... Rf4 3. Rf2 Rxf2 4. c7) 3. c7 (3. Rh8+ $1 3... Ke7 4. c7 e3+ 5. Kb3 a4+ 6. Kc2 Rc4 7. c8=Q) 3... e3+ 4. Kb3 $1 4... a4+ 5. Kc2 $1 5... Rc4 6. c8=Q+ (6. Rh8+ $1) 6... Rxc8 7. Rh8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы date: 1924 algebraic: white: [Ka4, Re2, Pc6, Pc3] black: [Kf8, Rg4, Pe4, Pa6, Pa5] stipulation: + solution: | 1. Rg2 Rh4 2. Rh2 Rg4 (2... Rf4 3. Rf2 Rxf2 4. c7) 3. c7 e3+ 4. Kb3 $1 4... a4+ 5. Kc2 Rc4 6. c8=Q+ Rxc8 7. Rh8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 092 date: 1924 algebraic: white: [Ka1, Sf4, Ph6, Ph5] black: [Ka3, Bb4, Pc3] stipulation: + solution: | 1. h7 c2 2. Ne2 Bc5 3. h8=B (3. h8=Q $2 3... Bd4+ 4. Qxd4 c1=Q+ 5. Nxc1) 3... Be3 4. Bb2+ Kb3 5. Bc1 Bc5 6. h6 Bd6 7. Nd4+ Kc3 8. h7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 096 date: 1924 algebraic: white: [Kf1, Ba1, Pf5, Pc2] black: [Kd5, Sb1, Pe6, Pd4] stipulation: + solution: | 1. f6 Kd6 2. Bxd4 Nd2+ (2... e5 3. Bc5+ Ke6 4. Bb4 Kxf6 5. Ke2) 3. Ke2 $1 3... Ne4 4. Be5+ Kd7 5. f7 Ke7 6. Ke3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 102 date: 1924 algebraic: white: [Ke1, Bg2, Sg5, Sc3, Pb4] black: [Kd8, Qg8, Pg6, Pe2] stipulation: + solution: | 1. Nd5 Qe8 2. Bh3 Qa4 (2... Qc6 3. Nf7+ Ke8 4. Bd7+) 3. Nf7+ Ke8 4. Bd7+ Kxd7 5. Nb6+ Kc6 6. Nxa4 Kb5 7. Nb6 $1 (7. Nb2 $2 7... Kxb4 8. Ng5 8... Kc3 $1 9. Na4+ Kd3 10. Nc5+ Kd4 11. Nce4 Ke3) 7... Kxb4 (7... Kxb6 8. Ne5) (7... g5 8. Nd5 Kc4 9. Ne5+ Kxd5 10. Nd3) 8. Ng5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 109 date: 1924 algebraic: white: [Kh6, Sg2, Pd6, Pc2] black: [Kf5, Sa8, Pg4, Pe5, Pa3] stipulation: + solution: | 1. d7 a2 2. d8=Q a1=Q 3. Qd6 (3. Qd7+ $1 3... Kf6 4. Nf4 $1) 3... Qh1+ (3... Qc1+ 4. Kh7 $1 4... Qg5 5. Qd7+ 5... Kf6 $1 6. Qd8+ Kf5 7. Nh4+ Kf4 8. Qd2+) 4. Kg7 Qxg2 (4... Qh5 5. Qd7+ Kg5 6. Qe6 g3 7. Qxe5+ Kg4 8. Qe4+) 5. Qf6+ Ke4 6. Qc6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 109 date: 1924 algebraic: white: [Kh6, Sg2, Pd6, Pc3, Pc2] black: [Kf5, Sa8, Pg4, Pe5, Pa3] stipulation: + solution: | 1. d7 a2 2. d8=Q a1=Q 3. Qd6 Qc1+ 4. Kh7 Qg5 (4... Qh1+ 5. Kg7 Qh5 (5... Qxg2 6. Qf6+ Ke4 7. Qc6+) 6. Qd7+ Kg5 7. Qe6 g3 8. Qxe5+ Kg4 9. Qe4+ Kh3 10. Nf4+) 5. Qd7+ Kf6 6. Qd8+ Kf5 7. Nh4+ Kf4 8. Qd2+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 131 date: 1924 algebraic: white: [Kg6, Qh1, Se4, Pe2] black: [Ke6, Qb8, Bd7, Ph3, Pd6] stipulation: + solution: | 1. Nc5+ dxc5 (1... Ke7 2. Qe4+ Kd8 3. Qh4+ Kc7 4. Na6+) 2. Qxh3+ Ke7 3. Qh4+ Ke6 4. Qf6+ Kd5 5. Qf3+ Ke6 (5... Kc4 6. Qd3+) (5... Kd4 6. Qd3+) 6. Qf5+ Ke7 7. Qf6+ Ke8 8. Qh8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 143 date: 1924 algebraic: white: [Kg5, Bg1, Sf4, Pd6] black: [Kh7, Rc3, Sa6, Pf3] stipulation: + solution: | 1. d7 1... f2 $1 2. Bxf2 2... Rg3+ $1 3. Bxg3 Nc5 4. d8=B $3 (4. d8=Q $2 4... Ne6+ 5. Nxe6) (4. d8=N $2 4... Ne4+ 5. Kg4 Nxg3) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 144 date: 1924 algebraic: white: [Kg5, Bg1, Sf4, Pd6] black: [Kh7, Rc3, Sa6, Pf3, Pe7] stipulation: + solution: | 1. d7 f2 2. Bxf2 Rg3+ 3. Bxg3 Nc5 4. d8=N $3 (4. d8=B $2 4... e5 5. Nh3 Ne6+) 4... Ne4+ 5. Kg4 Nxg3 6. Kxg3 e5 7. Nd5 e4 8. Ne3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный листок source-id: 19 date: 1924 algebraic: white: [Kc1, Sf6, Sd7, Ph2, Pg5] black: [Kf5, Rd3, Pd5, Pd4] stipulation: + solution: | 1. g6 $1 1... Rc3+ 2. Kb2 $1 2... Rh3 (2... Kxg6 3. Nxd5) 3. g7 Rxh2+ 4. Kc1 Rg2 5. g8=Q Rxg8 6. Nxg8 1-0 --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur source-id: 1059 date: 1924 algebraic: white: [Kh7, Bd8, Pa6] black: [Ka3, Rb5] stipulation: + solution: | 1. Bc7 Rh5+ (1... Rb1 2. a7 Rh1+ 3. Kg7 Rg1+ 4. Kf7 Rf1+ 5. Ke7 Re1+ 6. Kd7 Rd1+ 7. Bd6+) 2. Kg7 Rg5+ (2... Rh4 $1) 3. Kf7 Rh5 4. a7 Rh8 5. Bd6+ Ka4 6. Bf8 Rh7+ 7. Bg7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur source-id: 1059 date: 1924 algebraic: white: [Kh7, Bd8, Pa6] black: [Ka3, Rb5, Pc4] stipulation: + solution: | 1. Bc7 Rh5+ (1... Rb1 2. a7 Rh1+ 3. Kg6 Rg1+ 4. Kf7 Rf1+ 5. Ke7 Re1+ 6. Kd7 Rd1+ 7. Bd6+) 2. Kg7 Rg5+ 3. Kf7 3... Rh5 $1 (3... Rf5+ 4. Kg6 c3 (4... Rf1 5. a7 Rg1+ 6. Kf7) 5. Kxf5 c2 6. Bf4) 4. a7 Rh8 5. Bd6+ Kb3 (5... Kb2 6. Be5+) ( 5... Ka2 6. Bf8) 6. Bf8 1-0 --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur source-id: 1060 date: 1924 algebraic: white: [Kf2, Bf1, Sf7, Sc2] black: [Kg4, Qc6, Ph4, Pf5, Pe2, Pd4] stipulation: + solution: | 1. Bxe2+ Kf4 (1... Kh3 2. Bf1+ Kh2 (2... Kg4 3. Ne5+) 3. Ne1 $1 3... Qg6 (3... h3 $1 4. Nf3+ (4. Ne5 Qh6) (4. Ng5 Qc1) 4... Kh1 5. Bxh3 Qc2+ 6. Kg3 d3 7. N7e5 f4+ 8. Kxf4 d2 9. Ng4 d1=Q) 4. Nf3+ Kh1 5. N7g5 h3 6. Bxh3) 2. Nb4 Qa4 (2... Qa8 3. Nd3+ Ke4 4. Ng5+ Kd5 5. Bf3+) (2... Qh1 3. Nd3+ Ke4 4. Ng5+ Kd5 5. Bf3+ Qxf3+ 6. Kxf3 Kc4 7. Ke2 Kc3 8. Nh3 Kc4 9. Nhf4) (2... Qg6 3. Nd5+ Ke4 4. Bf3+ Kd3 5. Ne5+) (2... Qc3 3. Nd5+ Ke4 4. Nxc3+ dxc3) 3. Nd3+ Ke4 4. Nc5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur source-id: 1060 correction date: 1924-06 algebraic: white: [Kf2, Bb5, Sd3, Pf4, Pc6, Pa4] black: [Kg4, Qa8, Ph5, Pd5] stipulation: + solution: | 1.c6-c7 ! Qa8-a7+ 2.Kf2-g2 ! Qa7*c7 3.Bb5-d7+ ! Kg4-h4 4.Sd3-e1 Qc7*d7 5.Se1-f3+ Kh4-g4 6.Sf3-e5+ Kg4-f5 7.Se5*d7 3...Qc7*d7 4.Sd3-e5+ 1...Kg4-h4 2.Bb5-d7 Qa8-a7+ 3.Kf2-g2 ! Qa7*c7 4.Sd3-e1 --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur source-id: 1060 date: 1924 algebraic: white: [Kf2, Be2, Sf7, Sc2] black: [Kf4, Qc6, Pf5, Pd4] stipulation: + solution: | 1. Nb4 Qa4 (1... Qc8 2. Nd3+ Ke4 3. Nd6+) (1... Qa8 2. Nd3+ Ke4 3. Bf3+) (1... Qg6 2. Nd3+ Ke4 3. Bf3+ Kxd3 4. Ne5+) (1... Qh1 2. Nd3+ Ke4 3. Ng5+ Kd5 4. Bf3+ ) 2. Nd3+ Ke4 3. Nc5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur source-id: 1070 date: 1924 algebraic: white: [Kb8, Rf2, Pf6, Pe5] black: [Kb1, Sf3, Sa5, Pf7, Pc2] stipulation: "=" solution: | 1. Rf1+ c1=Q 2. Rxc1+ Kxc1 3. e6 fxe6 4. f7 Ne5 5. f8=N $1 5... Nec6+ 6. Ka8 $1 (6. Kc7 $1 6... e5 7. Nd7 e4 8. Nf6 e3 9. Nd5 e2 10. Nf4 e1=N 11. Kb6 $1) 6... e5 7. Nd7 e4 8. Nf6 e3 9. Nd5 e2 10. Nf4 e1=N 11. Nd3+ $1 11... Nxd3 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: 28. Říjen source-id: 167 date: 1925 algebraic: white: [Kg5, Sf4, Ph2, Pd5, Pc5, Pa6] black: [Kh7, Re3, Sc7, Pe7] stipulation: + solution: | 1. d6 Nxa6 (1... exd6 2. cxd6 Nxa6 3. d7 Rg3+ 4. hxg3 Nc5 5. d8=B $1 (5. Nh5 $1 5... Nxd7 6. Nf6+ Nxf6 7. Kxf6)) (1... Re5+ $1 2. Kh4 (2. Kg4 exd6 3. cxd6 Ne8 4. d7 Nf6+) 2... exd6 3. cxd6 Re4 4. Kg5 (4. dxc7 Rxf4+ 5. Kg5 Rf8) 4... Nxa6 5. d7 Rd4 6. Ne6 Rd5+ 7. Kg4 Rxd7 8. Nf8+ Kh6 9. Nxd7 Nc7) 2. d7 Rg3+ 3. hxg3 ( 3. Kf5 $1 3... Nxc5 4. d8=Q Rg5+ 5. Kxg5 Ne6+ 6. Nxe6) 3... Nxc5 4. d8=N $1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 28. Říjen source-id: 167 date: 1925 algebraic: white: [Kh5, Sc7, Pg3, Pd5] black: [Kh7, Bc1, Sb2] stipulation: + solution: | 1. d6 Nd3 2. d7 Bg5 3. Kxg5 Ne5 (3... Nc5 $1 4. d8=B $1 (4. d8=Q $2 4... Ne6+ 5. Nxe6) (4. Nd5 $1)) 4. d8=N $1 (4. Nd5 $1 4... Nxd7 5. Nf6+ Nxf6 6. Kxf6) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Kagan's Neueste Schachnachrichten date: 1925 algebraic: white: [Kf3, Bg4, Sc4] black: [Kh4, Bf4, Pg5] stipulation: + solution: "1. Nb6 Bc7 2. Nd5 Be5 3. Ne7 Bf6 4. Ng6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Kagan's Neueste Schachnachrichten date: 1925 algebraic: white: [Kg1, Se4, Pg4, Pb6] black: [Kh6, Bh7, Ph4, Ph3, Pg3] stipulation: "=" solution: | 1. g5+ 1... Kg7 $1 2. Nd6 $1 (2. g6 $2 2... Bxg6 $1 3. Nd6 (3. Nxg3 hxg3 4. b7 h2+) 3... h2+ 4. Kh1 4... Kh7 $1 5. b7 Bh5 6. Kg2 Bf3+) (2. Nf6 $2 2... h2+ 3. Kg2 Bd3 4. b7 Bf1+ 5. Kh1 5... Be2 $1 6. Nh5+ Kf7 7. g6+ Ke7 8. Nxg3 hxg3 9. Kg2 Bf3+ 10. Kxg3 h1=Q) 2... h2+ 3. Kh1 $1 3... Bg8 (3... Bd3 4. b7 Be2 5. Nf5+ Kf7 6. Nxh4) 4. Nf5+ 4... Kf8 $1 5. Ne3 $1 (5. Nxh4 $2 5... Bd5+ 6. Ng2 Ke7 7. g6 Kd6) 5... Bh7 6. g6 $1 6... Bxg6 7. b7 (7. Ng2 $1 7... h3 $1 8. b7 hxg2+ 9. Kxg2 Be4+ 10. Kxg3 10... h1=N+ $1 11. Kh2 Bxb7) 7... Be4+ 8. Ng2 Bxb7 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Kagan's Neueste Schachnachrichten date: 1925 algebraic: white: [Kg1, Sh6, Pg5, Pb6] black: [Kh8, Bh7, Ph4, Ph3, Pg3] stipulation: "=" solution: | 1. Nf7+ Kg7 2. Nd6 (2. g6 $2 2... Bxg6 3. Nd6 h2+ 4. Kh1 4... Kh7 $1 5. b7 Bh5 6. Kg2 Bf3+ 7. Kxf3 h1=Q+) 2... h2+ 3. Kh1 $3 3... Bg8 $1 4. Nf5+ Kf8 (4... Kh7 5. g6+ Kh8 6. Ne7 Bc4 7. b7) (4... Kh8) 5. Ne3 Bh7 6. g6 $1 6... Bxg6 7. b7 (7. Ng2 $2 7... h3 8. b7 hxg2+ 9. Kxg2 h1=Q+ 10. Kxh1 Be4+) 7... Be4+ 8. Ng2 Bxb7 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Kagan's Neueste Schachnachrichten date: 1925 algebraic: white: [Kd4, Sg1, Pf3, Pe5, Pa6, Pa5] black: [Ke7, Bg5, Sh6, Sb8] stipulation: "=" solution: | 1. Nh3 Bc1 (1... Bh4 2. a7 Nc6+ 3. Kc5 Nxa7 4. Kb6 Nc8+ 5. Kc7) 2. a7 Nc6+ 3. Kd3 Nxa7 4. Kc2 Be3 5. Kd3 Bc1 6. Kc2 Ba3 7. Kb3 Bc5 8. Kc4 Be3 9. Kd3 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Kagan's Neueste Schachnachrichten date: 1925 algebraic: white: [Kf8, Bc8, Pa6] black: [Kh7, Rc3, Pa3] stipulation: + solution: | 1. Bf5+ Kh8 2. a7 a2 3. a8=R $3 (3. a8=Q a1=Q 4. Qxa1 (4. Qb8 Rc7 5. Qxc7 Qf6+) (4. Qd8 Rc8) (4. Qd5 Rc8+ 5. Bxc8 Qg7+) (4. Qe4 Rc8+ 5. Bxc8 Qf6+ 6. Ke8 Qg6+ 7. Qxg6)) 3... a1=Q (3... Rc7 4. Ra6 (4. Rxa2 $2 4... Rf7+)) 4. Rxa1 Rc1 5. Ra8 Rc7 (5... Ra1 $1) 6. Bg4 Rg7 (6... Kh7 7. Ra6 Kh8 8. Bh5) 7. Be6 Rc7 (7... Rg8+ $1 8. Bxg8) 8. Bf7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 20 date: 1925 algebraic: white: [Kg8, Sb5, Ph6, Pg7] black: [Ke7, Be2, Sb7] stipulation: + solution: | 1... Nd8 (1... Bc4+ 2. Kh8 Nd8 3. g8=Q Bxg8 4. Kxg8 Nf7 5. h7 Nh8 (5... Nh6+ 6. Kg7 Nf5+ (6... Nf7 7. Nd6 Nh8 8. Ne4) 7. Kg6 Nh4+ 8. Kh5) 6. Nd6 Ng6 7. Kg7 Nh8 8. Nc4 Ke6 9. Ne5 Ke7 10. Ng6+) 2. Nd6 $1 2... Kxd6 3. Kf8 $3 (3. h7 $2 3... Bc4+ 4. Kf8 Ne6+ 5. Ke8 Nxg7+ 6. Kd8 Ne6+ 7. Kc8 Ba6+ 8. Kb8 Nd8 9. h8=Q Nc6+) 3... Ne6+ (3... Bc4 4. Ke8 $3 (4. h7 $2 4... Ne6+) 4... Bg8 5. Kxd8 Ke6 6. Ke8) 4. Kf7 Ng5+ (4... Bc4 5. Kf6 $1) (4... Nxg7 5. h7) 5. Kg6 Bd3+ 6. Kxg5 Bh7 7. Kf6 Bg8 8. Kg6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 23 date: 1925 algebraic: white: [Kc4, Sh7, Ph6, Pa5] black: [Ka7, Bh5, Pc7, Pb7, Pb6] stipulation: + solution: | 1. axb6+ 1... cxb6 $1 2. Nf8 Bf7+ 3. Kb4 $1 3... Bg8 4. Kb5 $1 4... Ka8 5. Kxb6 Kb8 6. Nd7+ Kc8 7. Nf6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 028 date: 1925 algebraic: white: [Kd5, Bd6, Pg6, Pa3] black: [Ka5, Bd7, Sb7, Pc5] stipulation: + solution: | 1. Bc7+ (1. g7 $2 1... Ba4 $1 2. Kc4 Nxd6+ 3. Kc3 Ne4+) 1... Ka6 (1... Ka4 2. g7 Nd8 3. Bxd8) 2. g7 Nd8 3. Bxd8 Ba4 4. Kc4 $1 4... Be8 5. g8=B $1 (5. g8=Q $2 5... Bf7+ 6. Qxf7) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 25 date: 1925 algebraic: white: [Ke5, Bc7, Pb6, Pa2] black: [Kh8, Rh3, Pa6, Pa4] stipulation: + solution: | 1. b7 Rh5+ (1... Re3+ 2. Kd4 Re8 3. Kc4 $1 3... Kg7 4. Kb4 Kf6 (4... a3 5. Kxa3 Kf7 6. Ka4 Ke7 7. Ka5) 5. Kxa4 Ke6 6. Ka5 Kd7 7. Kb6 a5 (7... Re6+ 8. Ka7) 8. a4 $1 8... Re6+ 9. Ka7 Re8 10. b8=Q Rxb8 11. Bxb8) 2. Kf6 $1 2... Rb5 3. b8=Q+ Rxb8 4. Bxb8 Kg8 5. Bd6 Kh7 6. Bf8 Kg8 7. Bg7 Kh7 8. Kf7 a3 9. Bf8 Kh8 10. Bh6 Kh7 11. Bg7 a5 12. Bf8 Kh8 13. Bh6 Kh7 14. Bg7 a4 15. Bf8 Kh8 16. Bxa3 Kh7 17. Bc1 Kh8 18. Bh6 Kh7 19. Bg7 a3 20. Bf8 Kh8 21. Bxa3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 25 date: 1925 algebraic: white: [Kf7, Bb6, Pg2, Pd5, Pa2] black: [Kg4, Re4, Ph4, Pa5] stipulation: + solution: | 1. d6 (1. Bxa5 $2 1... Ra4) 1... Rf4+ (1... Kg3 2. d7) (1... Re1 2. Bxa5) 2. Ke7 $1 (2. Ke6 $2 2... a4 3. d7 Rf8 4. d8=Q Rxd8 5. Bxd8 h3 6. gxh3+ Kxh3 7. Kf5 7... Kg3 $1 8. a3 Kf3 9. Bg5 9... Kg3 $1 10. Bf4+ 10... Kf3 $1) 2... Re4+ ( 2... Rf1 3. Bxa5) (2... Rf5 3. d7 Rd5 4. Bxa5 Re5+ 5. Kd6 Re1 6. Kd5) 3. Kf6 ( 3. Kd8 $2 3... Ra4 4. d7 Rxa2) 3... Rf4+ (3... Rb4 4. Bc5 Rf4+ 5. Ke5) (3... Re1 4. d7 Rd1 5. d8=Q Rxd8 6. Bxd8 a4 7. Ke5 $1) 4. Ke5 $1 (4. Ke6 $2 4... a4 $1 5. d7 Rf8 6. d8=Q Rxd8 7. Bxd8 h3 8. gxh3+ Kxh3) 4... a4 $1 (4... Rf7 5. Ke6 Rf8 6. Bxa5 Ra8 7. d7) (4... Rf1 5. d7 Rd1 6. d8=Q Rxd8 7. Bxd8 a4 8. Bxh4) 5. d7 Rf8 6. d8=Q Rxd8 7. Bxd8 7... h3 $1 8. gxh3+ Kxh3 9. Kf4 Kg2 10. Bh4 Kh3 11. Bg3 Kg2 12. Kg4 Kf1 13. Kf3 Kg1 14. Be1 Kh2 15. Bf2 Kh3 16. Bg3 a3 17. Bd6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 31 date: 1925 algebraic: white: [Kh8, Bb1, Pc2, Pb6] black: [Ke7, Rh3, Ph4, Pc6, Pc3] stipulation: "=" solution: | 1. b7 Rf3 2. b8=Q Rf8+ 3. Qxf8+ Kxf8 4. Ba2 h3 (4... Ke7 5. Bc4 Kf6 (5... h3 6. Bf1 h2 7. Bg2 Kf6 8. Bxc6 Ke5 9. Kg7) 6. Bf1 Ke5 7. Kg7 Kf4 8. Kf6 Ke3 (8... Kg3 9. Bd3 h3 10. Be4) 9. Ke5 Kd2 10. Bd3 h3 11. Kf4 h2 12. Be4) 5. Bg8 h2 ( 5... c5 6. Bd5 Ke7 7. Kg7 Kd6 8. Bh1) (5... Ke7 6. Bh7 Kf6 7. Be4 Ke5 8. Bxc6 Kd4 9. Kg7 Ke3 10. Kf6 Kd2 11. Be4) 6. Bh7 h1=Q (6... h1=N 7. Be4) (6... Kf7 7. Be4 c5 8. Bh1 Kf6 9. Kh7 Ke5 10. Kg6 Kd4 11. Kf5 Ke3 12. Ke5 Kd2 13. Be4 h1=Q 14. Bxh1 Kxc2 15. Kd5 Kb3 16. Be4) (6... h1=B 7. Be4 Bxe4) 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 31 date: 1925 algebraic: white: [Kh8, Bb1, Pe6, Pc2, Pb6] black: [Kd8, Rh3, Ph4, Pc6, Pc3] stipulation: "=" solution: | 1. e7+ (1. b7 $2 1... Kc7 2. e7 Re3) 1... Kxe7 2. b7 Rf3 3. b8=Q Rf8+ 4. Qxf8+ Kxf8 5. Ba2 h3 6. Bg8 $1 6... h2 7. Bh7 h1=B (7... h1=Q) (7... h1=R) 8. Be4 $1 8... Bxe4 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 38 date: 1925 algebraic: white: [Ke8, Bd2, Bb7, Pd6] black: [Kh5, Rd4, Ph4] stipulation: + solution: | "1. Be3 Rxd6 2. Ke7 Rg6 (2... Rh6 3. Bf3+ Kg6 4. Be4+ Kg7 (4... Kh5 5. Kf7 h3 6. Bf3+ Kh4 7. Bxh6 Kg3 8. Bb7) 5. Bd4+ Kg8 6. Bd5+ Kh7 7. Kf7 h3 (7... Rd6 8. Be4+ Kh6 9. Be3+ Kh5 10. Bf3#) (7... Rh5 8. Be4+ Kh6 9. Be3+ Rg5 10. Kf6) 8. Be4+ Rg6 9. Bg7 h2 10. Bxg6#) 3. Bf3+ Rg4 4. Kf6 h3 5. Bg5 h2 6. Kf5 h1=Q 7. Bxg4# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 153 date: 1925 algebraic: white: [Kb5, Sd4, Ph4] black: [Ka8, Sg1, Pa7] stipulation: + solution: | 1. h5 Nh3 2. Ne6 Nf2 3. h6 Ne4 4. Ka6 (4. h7 Nd6+ 5. Kc6 Nf7 6. Kd7 a5 7. Ke7) 4... Nf6 5. Nf8 Kb8 6. Nd7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 180 date: 1925 algebraic: white: [Kb7, Sf4, Sd1, Ph2, Pb2] black: [Kb4, Rc4, Pa5] stipulation: + solution: | 1. Ne3 1... Re4 $1 (1... Rxf4 2. Nd5+ Kb3 3. Nxf4 Kxb2 4. Nd3+) 2. Nd3+ Kb5 3. Nf5 Rg4 (3... Rh4 4. Nxh4) 4. b3 a4 5. Nd6+ Ka5 6. Nc4+ Kb5 7. Na3+ Ka5 8. b4+ Rxb4+ 9. Nxb4 Kxb4 10. Nb1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 180 date: 1925 algebraic: white: [Kb7, Sf4, Sd1, Ph4, Pb2] black: [Kb4, Rc4, Pa5] stipulation: + solution: | 1. Ne3 1... Re4 $1 (1... Rxf4 2. Nd5+ Kb3 3. Nxf4 Kxb2 4. Nd3+) 2. Nd3+ Kb5 3. Nf5 Rg4 (3... Rxh4 4. Nxh4 a4 (4... Kc4 5. Nc1) 5. Nf3 Kc4 (5... a3 6. b3 a2 7. Nd4+) 6. Nc1 a3 (6... Kb4 7. Nd4 a3 8. b3) 7. bxa3 Kb5 8. Nd4+) 4. b3 a4 5. Nd6+ Ka5 6. Nc4+ Kb5 7. Na3+ Ka5 8. b4+ Rxb4+ 9. Nxb4 Kxb4 10. Nb1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 184 date: 1925 algebraic: white: [Ke4, Bf6, Sc8, Pg2] black: [Kh6, Bd1, Ph3, Pg6, Pd4] stipulation: + solution: | "1. gxh3 Bc2+ 2. Kf4 Bf5 3. Nd6 Bxh3 4. Nf7+ Kh5 5. Bg5 Bd7 6. Ne5 Bf5 7. Nf3 d3 8. Nd2 Be6 9. Nf1 Bf5 10. Ng3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматный листок date: 1925 algebraic: white: [Kf8, Sf2, Sa5, Pg5] black: [Kd5, Se2, Ph5, Pd2] stipulation: + solution: | 1. Nb3 d1=Q (1... Nf4 2. Kf7 Ke5 3. Nxd2 Kf5 4. Nf3 h4 5. Nh3 Nxh3 6. g6 Nf2 7. Nxh4+ Ke5 8. Nf3+ Kf5 9. Nh2 Ne4 10. g7 Nf6 11. Nf1 Ng4 (11... Ke5 12. Ne3) 12. Ne3+) 2. Nxd1 Nf4 3. Kf7 Ke5 4. Nd2 (4. g6 $2 4... h4) 4... Kf5 5. Ne3+ Kxg5 ( 5... Ke5 6. Ng2 $1 6... Nxg2 7. g6 Nh4 (7... Ne3 8. Nc4+ Nxc4 9. g7) 8. Nf3+ Nxf3 9. g7) 6. Nf3+ Kh6 7. Nf5+ Kh7 8. Ng5+ Kh8 9. Nh4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный листок date: 1925 algebraic: white: [Kg2, Bh3, Sb3, Pf4, Pe3] black: [Kh4, Bb6, Pg6, Pg5] stipulation: + solution: 1. f5 gxf5 2. Bxf5 Bxe3 3. Kf3 Ba7 4. Bg4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный листок source-id: 148 date: 1925 algebraic: white: [Kg6, Ra2, Sf1, Sc4] black: [Kh4, Qh3, Pf6] stipulation: + solution: | "1. Nce3 Qh1 2. Rg2 (2. Rh2+ $2 2... Qxh2 3. Nxh2 f5) (2. Ra4+ $2 2... Kh3 3. Kh5 Qf3+) 2... Qxg2+ 3. Nxg2+ Kh3 (3... Kg4 4. Nge3+) 4. Ne1 f5 5. Kg5 f4 6. Kh5 f3 7. Kg5 f2 8. Nf3 Kg2 9. N3d2 Kh3 10. Kh5 Kg2 11. Kg4 Kh1 12. Kg3 Kg1 13. Kh3 Kh1 14. Ng3+ Kg1 15. Nf3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur date: 1925 algebraic: white: [Kf5, Ba5, Ph4, Pd6] black: [Kh6, Rb2, Ph7, Ph5, Pg7, Pc7] stipulation: + solution: | "1. d7 1... Rf2+ $1 (1... Rb8 2. Bd2+ (2. Bxc7 $2 2... g6+) 2... g5 3. Bxg5+ Kg7 4. d8=Q Rxd8 5. Bxd8) (1... Rb5+ 2. Ke6 $1 2... Rb8 3. Bxc7) (1... g6+ 2. Ke6 Rb8 (2... Re2+ 3. Kd5) 3. Kf7 $1 (3. Bxc7 $2 3... Rf8)) 2. Ke6 $1 2... Rf8 3. Bxc7 $1 (3. Bd2+ $2 3... Kg6) 3... g5 (3... Kg6 4. d8=Q Rxd8 5. Bxd8 h6 6. Be7 Kh7 7. Kf7 g5 (7... Kh8 8. Kg6) 8. Bxg5) 4. d8=Q Rxd8 5. Bxd8 gxh4 6. Kf7 h3 7. Bh4 h2 8. Kf6 h1=Q 9. Bg5# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur source-id: 1225 date: 1925 algebraic: white: [Kf5, Bd6, Ph6, Ph5, Pf6] black: [Kh8, Sg8, Ph7, Pg5, Pc7] stipulation: + solution: | 1. hxg6 (1. f7 $2 1... Nxh6+ 2. Kf6 Nxf7) (1. Be5 Nxf6) 1... hxg6+ (1... Nxh6+ 2. Kg5 hxg6 3. Kxh6) 2. Kxg6 cxd6 3. f7 Ne7+ 4. Kg5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur source-id: 1250 date: 1925 algebraic: white: [Kg4, Sd8, Pc6, Pc5, Pb5] black: [Ke4, Bb8, Sd6, Sa8, Pb6] stipulation: "=" solution: | 1. cxb6 (1. cxd6 $2 1... Bxd6) (1. c7 $2 1... Bxc7 2. cxb6 2... Bxb6 $1) 1... Nxb6 (1... Nxb5 2. c7 Naxc7 3. Nc6) (1... Nc7 2. Nb7 Nxb7 3. bxc7 Bxc7 4. cxb7) 2. c7 $1 2... Bxc7 (2... Ba7 3. Nc6) 3. Ne6 Bb8 (3... Ne8 4. Nxc7 Nxc7) 4. Nc5+ Ke3 5. Na6 Ba7 6. Nb4 Nbc4 (6... Nd7 $1 7. b6 Nf6+ 8. Kg5 Nde4+ 9. Kf5 Bxb6) 7. b6 Nxb6 (7... Bxb6 8. Nd5+) 8. Nc6 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1925 algebraic: white: [Ke5, Bd8, Pa2] black: [Kh3, Pa4] stipulation: + solution: | 1. Kf4 $1 1... Kg2 2. Bh4 Kh3 3. Bg3 Kg2 4. Kg4 Kf1 5. Kf3 Kg1 6. Bd6 Kf1 7. Bb4 Kg1 8. Bc5+ Kh2 9. Bf2 Kh1 10. Kg3 a3 11. Kf3 Kh2 12. Bc5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1925 algebraic: white: [Kd2, Rc1, Bg5, Pa7] black: [Ke8, Qb7, Ph7, Pf7, Pd6, Pd5] stipulation: + solution: | 1. Rb1 $1 (1. Re1+ $2 1... Kd7 2. Re7+ Kc6) 1... Qxa7 2. Re1+ Kd7 3. Re7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: «64» date: 1926 algebraic: white: [Kh5, Bf2, Se2, Sd1] black: [Kh3, Rc6, Ph4, Pg2] stipulation: + solution: | "1. Bg1 Rf6 2. Nf2+ Rxf2 3. Bxf2 g1=Q 4. Bxg1 (4. Nxg1+ $2 4... Kg2) 4... Kg2 5. Kg4 $1 5... h3 6. Bh2 $1 6... Kh1 $1 (6... Kxh2 7. Kf3) 7. Kf4 $1 7... Kg2 8. Ke3 Kxh2 9. Kf3 Kh1 10. Kf2 Kh2 11. Nd4 Kh1 12. Nf5 Kh2 13. Ne3 Kh1 14. Nf1 h2 15. Ng3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 19 date: 1926 algebraic: white: [Ke2, Bd6, Sb2] black: [Kg1, Sb4, Ph3, Pg2] stipulation: "=" solution: | 1. Nd1 Nd3 2. Kxd3 h2 3. Bc5+ Kf1 4. Ne3+ Ke1 5. Nxg2+ (5. Bb4+ $1 5... Kf2 6. Ng4+ Kg3 7. Bd6+) (5. Be7 $1 5... Kf2 (5... h1=Q 6. Bh4+ Qxh4 7. Nxg2+) (5... g1=Q 6. Bh4+ Qf2 7. Bxf2+ Kxf2 8. Ng4+) 6. Ng4+ Ke1 7. Nxh2) 5... Kd1 6. Ne3+ Kc1 7. Ba3+ Kb1 8. Nd1 h1=Q 9. Nc3+ Ka1 10. Kc4 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 19 date: 1926 algebraic: white: [Ke2, Bd6, Sb2] black: [Kg1, Sb4, Ph3, Pg2, Pc3] stipulation: "=" solution: | 1. Nd1 Nd3 2. Kxd3 h2 (2... c2 3. Bc5+ Kf1 4. Ne3+ Ke1 5. Nxc2+) 3. Bc5+ Kf1 4. Ne3+ Ke1 5. Nxg2+ Kd1 6. Ne3+ Kc1 7. Ba3+ Kb1 8. Nd1 h1=Q 9. Nxc3+ Ka1 10. Kc2 Qh2+ 11. Kb3 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 059 date: 1926 algebraic: white: [Kd7, Be3, Ph2, Pc2, Pb2] black: [Ka4, Bh1, Bb4, Ph4, Pe5] stipulation: "=" solution: | 1. c3 Bf8 2. Ke8 Bg7 3. Kf7 Bh8 4. Kg8 Bf6 5. Kf7 Bd8 6. Ke8 Ba5 (6... Bc7 7. Kd7 Bb8 8. Kc8) 7. b4 Bc7 8. Kd7 Bb8 9. Kc8 Bd6 10. Kd7 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 087 date: 1926 algebraic: white: [Ka7, Sd3, Sc3] black: [Ka5, Pd6, Pc6] stipulation: + solution: | "1... d5 2. Nc5 Kb4 3. N3a4 Kb5 4. Kb7 d4 5. Kc7 d3 6. Kd6 Kb4 (6... Kc4 7. Nb2+ ) (6... Ka5 7. Nb2 d2 8. Nc4+) (6... d2 7. Nb2) 7. Nb2 d2 8. Nd1 Kc4 9. Na4 Kb4 10. Nac3 c5 11. Kd5 c4 12. Kd4 Kb3 13. Ke3 Kc2 14. Ke4 Kb3 15. Kd4 Kc2 16. Kc5 Kb3 (16... Kc1 17. Kxc4 Kc2 18. Ne3+ Kb2 19. Ncd1+ Ka3 (19... Ka2 20. Kb4 Kb1 21. Ka3 Ka1 22. Kb3 Kb1 23. Nc4 Kc1 24. Ncb2 Kb1 25. Nd3 Ka1 26. Nb4 Kb1 27. Nc3+ Kc1 28. Nd3#) 20. Kb5 Kb3 21. Ka5 Ka3 22. Nc4+ Kb3 23. Ncb2 Ka3 24. Kb5 Kb3 25. Kc5 Ka3 26. Kc4 Ka2 27. Kb4 Kb1 28. Ka3 Kc2 29. Ka2 Kc1 30. Kb3 Kb1 31. Nd3 Ka1 32. Nb4 Kb1 33. Nc3+ Kc1 34. Nd3#) 17. Kb5 Ka3 (17... Kc2 18. Kb4 Kd3 19. Ka3) 18. Ne2 Kb3 (18... c3 19. Nexc3 Kb3 20. Na4 Kc2 21. Nab2) (18... Ka2 19. Kxc4 Ka3 20. Nd4 (20. Nec3 $2) 20... Ka4 21. Nb3 Ka3 22. Nc5 Ka2 23. Nd3 Ka3 24. N3b2 Ka2 25. Kb4) 19. Nd4+ Ka2 (19... Ka3 20. Kxc4 Ka4 21. Nb3) 20. Kxc4 (20. Kb4 $2 20... Kb1 $1 (20... c3 $2 21. Kxc3 Ka1 22. Nb3+ Ka2 23. Nc5 Ka3 24. Kc4 Ka2 25. Na4 Ka3 26. Nab2) 21. Nf5 Kc2 22. Nfe3+ Kd3) 20... Ka3 ( 20... Kb1 21. Nf5 Ka2 22. Kb4 Kb1 23. Nfe3) 21. Kb5 Ka2 22. Nc2 Kb3 23. Nb4 Ka3 24. Nd3 Kb3 25. N3b2 Ka3 26. Kc4 1-0" --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 089 date: 1926 algebraic: white: [Ka3, Sh3, Sb8, Pa6] black: [Kh4, Re4] stipulation: + solution: | 1. Nf4 $1 1... Rxf4 2. a7 Rf3+ 3. Kb4 Rf4+ 4. Kb5 Rf5+ 5. Kb6 Rf6+ 6. Kc7 Rf7+ 7. Nd7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 098 date: 1926 algebraic: white: [Kb3, Bg7, Ba6, Sb4] black: [Ka7, Bb8, Sd7] stipulation: + solution: | "1. Bd4+ Ka8 (1... Nb6 2. Bc8 Bc7 3. Nc6+ Ka8 4. Bxb6 Bxb6 5. Kc4) 2. Bb5 (2. Bc8 $1 2... Nf8 3. Bc5 Nh7 4. Bf5 Nf6 5. Bd4) 2... Ne5 $1 (2... Be5 3. Bxd7 Bxd4 4. Nc6 Bc5 5. Bc8) 3. Bxe5 (3. Nd3 $1 3... Nxd3 4. Bc6#) 3... Bxe5 $1 4. Nc6 Bc7 5. Ba6 Bd6 6. Kc4 Bc7 7. Bc8 Bd6 8. Kb5 Bc7 9. Ka6 Bd6 10. Bb7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Pravda date: 1926 algebraic: white: [Kc5, Rg3, Sg4, Sg2, Pf7] black: [Kd7, Qh7, Sg6, Pg7, Pf5] stipulation: + solution: | 1. Ne5+ Ke6 (1... Ke7 2. Rxg6 $1 2... Qh1 $1 3. Ne3 Qc1+ 4. N3c4 Qc2 5. Rd6) 2. Rxg6+ Kxe5 3. f8=N $1 3... Qg8 4. Nd7+ Ke4 5. Nf6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 244 date: 1926 algebraic: white: [Kh8, Sb3, Pg3, Pd5, Pa6] black: [Kd8, Bg5, Se8, Se5] stipulation: "=" solution: | 1. a7 Nc7 2. Nc5 Bf6+ (2... Kc8 $1 3. Ne6 Bf6+ 4. Kg8 Na8) 3. Kg8 Kc8 4. Ne4 4... Bd8 $1 5. Nd6+ Kd7 6. Nb7 Bf6 7. Nc5+ Kc8 8. Ne4 Bd8 9. Nd6+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 244 date: 1926-10 algebraic: white: [Kg8, Sa5, Pg3, Pd5, Pa7] black: [Kd8, Bf6, Se5, Sc7] stipulation: "=" solution: | 1. Nb7+ 1... Kd7 $1 (1... Kc8 2. Nd6+ Kd7 3. Ne4 Bd8 4. Nc5+ Kc8 5. Ne6) 2. Nc5+ Kc8 3. Ne4 Bd8 4. Nd6+ Kd7 5. Nb7 Bf6 (5... Bg5 6. Nc5+ Kc8 7. Ne6) 6. Nc5+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 244 date: 1926 algebraic: white: [Kg8, Sa5, Pg3, Pd5, Pa6] black: [Kd8, Bf6, Se8, Se5, Pb7] stipulation: "=" solution: | 1. a7 Nc7 2. Nxb7+ Kd7 3. Nc5+ Kc8 4. Ne4 Bd8 5. Nd6+ Kd7 6. Nb7 6... Bf6 $1 ( 6... Bg5 7. Nc5+ Kd6 8. Ne6 $1) 7. Nc5+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur source-id: 257 date: 1926 algebraic: white: [Kf1, Ra6, Pc6, Pb2] black: [Kh1, Rb3, Ph6, Pf5, Pf2, Pc7] stipulation: + solution: | 1. Ra3 (1. Ra4 Kh2) (1. Ra7 Rxb2) 1... Rxa3 2. bxa3 f4 3. a4 (3. Kxf2 $2 3... h5 4. a4 (4. Kf3 h4 5. Kxf4 Kg2) 4... h4 5. a5 h3) 3... h5 4. a5 h4 5. a6 h3 6. a7 f3 7. a8=N $1 (7. a8=Q $2 7... h2) 7... Kh2 8. Kxf2 Kh1 9. Nb6 $1 9... Kh2 10. Nc4 $1 10... Kh1 11. Nd6 $1 11... Kh2 12. Kxf3 Kg1 (12... Kh1 13. Kg3 h2 14. Kf2) 13. Ne4 h2 14. Ng3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: The Chess Amateur source-id: 1276 date: 1926 algebraic: white: [Kc4, Bb8, Ph4, Pe4, Pd6] black: [Kh6, Re8, Ph7, Ph5, Pg7] stipulation: + solution: | "1. Bc7 (1. Ba7 $2 1... Rxe4+ 2. Kd5 Re8 3. d7 Rf8 4. Bb6 4... Kg6 $1 5. Ke6 Rf6+) 1... Rxe4+ 2. Kd5 2... Re8 $1 (2... Re1 3. Bb6 Re8 4. d7) 3. d7 Rf8 4. Ke6 g5 (4... g6 5. Bd6 (5. Ke7 $2 5... Kg7) 5... Rd8 6. Kf6) (4... Kg6 5. d8=Q Rxd8 6. Bxd8 h6 7. Be7 Kh7 8. Kf7 g5 (8... g6 9. Bf6) 9. Bxg5 hxg5 10. hxg5) 5. d8=Q (5. Ke7 $2 5... Kg7 $1 6. hxg5 h4) (5. Bd6 $2 5... Rg8 $1 6. Kf7 Rg7+ 7. Kf6 Rg6+ 8. Ke5 Rg8) 5... Rxd8 6. Bxd8 gxh4 7. Kf7 h3 8. Bh4 h2 9. Kf6 h1=Q 10. Bg5# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1926 algebraic: white: [Kg3, Qd7, Bd2] black: [Ke4, Qa2, Ph7, Pd4] stipulation: + solution: | 1. Qe7+ Kd3 (1... Kf5 2. Qg5+ Ke4 3. Qf4+ Kd3 4. Qf5+) 2. Qxh7+ Ke2 3. Qh5+ Kd3 4. Qf5+ Ke2 5. Qf3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 291 date: 1927 distinction: 6th Prize algebraic: white: [Kd5, Rg3, Sh4, Sg1] black: [Kh6, Se1, Pa2] stipulation: + solution: | "1. Nf5+ Kh7 (1... Kh5 2. Nh3) 2. Rg7+ Kh8 3. Ra7 Nc2 4. Ra8+ Kh7 5. Ke6 a1=Q 6. Rxa1 Nxa1 7. Kf7 Nc2 8. Nf3 Nd4 9. Ng5+ Kh8 10. Nh4 Nf5 11. Ng6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: «64» source-id: 196 date: 1927 algebraic: white: [Kh6, Bc6, Ph2, Pe6, Pe4] black: [Kg4, Rc3, Sh4] stipulation: + solution: 1. Bd7 Nf5+ 2. exf5 Kxf5 3. e7+ Kf6 4. e8=R $1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier date: 1927 algebraic: white: [Kh6, Sd6, Sb4] black: [Kf6, Pe6] stipulation: + solution: | 1... Ke5 2. Ne8 Kd4 3. Nf6 Kc3 4. Na6 Kd4 5. Ng4 Kc4 6. Kg5 Kb5 7. Nb8 e5 8. Ne3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 104 date: 1927 algebraic: white: [Kh4, Bc2, Sa7, Sa4] black: [Ke5, Rd5] stipulation: + solution: | 1. Nb6 Rd4+ 2. Kg5 Ke6 (2... Re4 3. Nc6+) 3. Bb3+ Kd6 4. Nb5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 105 date: 1927 algebraic: white: [Kg1, Bf3, Sa3, Sa2] black: [Ka6, Rd2] stipulation: + solution: | 1. Nb4+ 1... Ka7 $1 2. Nc4 Rd7 3. Nc6+ Kb7 4. N6e5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 106 date: 1927 algebraic: white: [Kf3, Bb7, Sf7, Sb3] black: [Kg6, Rd1] stipulation: + solution: 1. Ke2 Rg1 2. Kf2 Rd1 3. Bf3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 107 date: 1927 algebraic: white: [Kh3, Bf7, Be1, Sd7] black: [Kg5, Rb5] stipulation: + solution: | 1. Bd2+ Kf5 2. Bc4 Rb2 (2... Rb7 3. Bd3+ Ke6 4. Nc5+) 3. Bd3+ Ke6 4. Bc3 4... Rf2 $1 5. Kg3 Rf7 6. Bc4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 114 date: 1927 algebraic: white: [Kf1, Sf7, Sa6, Pg6, Pf3] black: [Ke7, Re3, Pe5, Pd7] stipulation: + solution: | 1. Nh6 (1. Kf2 $2 1... Rc3 $1 2. Nb4 (2. Nxe5 Kf6 3. Nc5 (3. f4 d6 4. Nb4 dxe5 5. Nd5+ Kxg6) 3... Rc2+ 4. Kg3 (4. Ke3 Kxe5) 4... d6 5. Ncd7+ Kg7 6. f4 dxe5 7. Nxe5 Re2 8. Kg4 Rxe5) 2... Rc5 3. Nd3 Rc2+ 4. Ke3 d6 5. Nf2 Kf6 6. Ne4+ Kxg6 7. Nexd6 Ra2) 1... Rxf3+ (1... Rc3 2. g7 Rc8 (2... Rxf3+ 3. Ke2 Rf8 4. gxf8=Q+ $1) 3. g8=Q) (1... Ke6 2. g7 Rxf3+ 3. Ke2 Rg3 4. g8=Q+ Rxg8 5. Nxg8) (1... Kf8 2. g7+ Kxg7 3. Nf5+) 2. Ke2 Rh3 (2... Rg3 3. Nf5+ Kf6 4. Nxg3 Kxg6 (4... d5 5. Nf5 Kxg6 6. Ne7+ Kf6 7. Nxd5+) 5. Nc7) 3. g7 Rxh6 4. g8=N+ (4. g8=Q Rxa6) 4... Ke6 5. Nxh6 d5 6. Kd3 e4+ (6... d4 7. Ke4 d3 8. Nc5+) (6... Kf6 7. Nb4 Kg5 8. Nf7+ Kf5 9. Nd6+) (6... Kd6 7. Ng4) 7. Kd4 e3 8. Nc5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 125 date: 1927 algebraic: white: [Kb5, Be7, Sg4, Sf6] black: [Kb2, Pg5, Pc5, Pa2] stipulation: + solution: | "1. Nd5 $1 1... a1=Q 2. Bf6+ Kb1 3. Bxa1 Kxa1 4. Nde3 $1 4... Kb2 $1 5. Kc4 $3 5... Ka3 6. Nd1 Ka4 7. Nb2+ Ka3 8. Kc3 c4 9. Ne3 g4 10. Nexc4+ Ka2 11. Kc2 g3 12. Nd1 g2 13. Nc3+ Ka1 14. Nd2 g1=Q 15. Nb3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 130 date: 1927 algebraic: white: [Kc8, Rc7, Sh2, Sb4, Pe7] black: [Kf7, Qb1, Sh7, Ph4] stipulation: + solution: | 1. Kd8 Qd1+ 2. Rd7 Qxd7+ 3. Kxd7 3... Nf8+ $1 4. exf8=Q+ Kxf8 5. Nd3 $3 5... Kf7 (5... Kg7 6. Nf4 $1 6... h3 7. Ke7) (5... h3 6. Ne5 $1 6... Kg7 7. Ke7) 6. Nf2 h3 7. Ne4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 259 date: 1927 algebraic: white: [Ka6, Sh2, Sf2, Pc6] black: [Kb4, Rg3, Pf4] stipulation: + solution: | 1. Kb6 $1 (1. c7 $2 1... Rc3 2. Kb6 Rxc7 3. Kxc7 f3) 1... Rc3 $1 (1... f3 2. Nhg4) 2. Nf3 $1 2... Rxf3 (2... Kc4 $3 3. c7 Kd5 4. Kb7 Rb3+) 3. c7 Rc3 4. Nd3+ Rxd3 5. c8=Q 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 276 date: 1927 algebraic: white: [Ke2, Se8, Se1, Pd6, Pa5] black: [Kb5, Rg6, Sh3, Pa7] stipulation: + solution: | 1. d7 Nf4+ 2. Kd1 Ne6 3. Nc7+ Kc6 4. Nxe6 Rxe6 5. d8=N+ (5. d8=Q $2 5... Rd6+ 6. Qxd6+ Kxd6 7. Kc2 7... Kc5 $1) 5... Kb5 6. Nxe6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 302 date: 1927 algebraic: white: [Ka3, Sg7, Pd2, Pa6] black: [Ke5, Rg2, Pc4, Pb5] stipulation: + solution: | 1. a7 Rg3+ 2. Ka2 (2. Kb2 $2 2... Rb3+ 3. Ka2 b4 4. a8=Q Ra3+ 5. Qxa3 bxa3 6. Kxa3 Kd4) 2... b4 3. d4+ $1 3... cxd3 4. a8=Q 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 303 date: 1927 algebraic: white: [Kd3, Pf4, Pe2, Pb6] black: [Kb3, Bc1, Pe6, Pd7, Pd4] stipulation: "=" solution: | 1. f5 exf5 2. e4 dxe3 (2... fxe4+ $1 3. Kxe4 Ba3 (3... d5+ 4. Ke5 d3 5. b7 d2 6. b8=Q+ Ka2 7. Qa7+ Kb1 8. Qa4 Bb2+) 4. Kd5 Bc1 5. Ke5 Bb2 6. b7 d3+ 7. Ke4 d2 8. b8=Q+ Kc2) 3. b7 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 306 date: 1927 algebraic: white: [Kh5, Bd4, Sg8, Pe6] black: [Kc7, Qa5, Pf5] stipulation: "=" solution: | 1. Bb6+ $1 1... Qxb6 (1... Kxb6 2. e7 Qe5 3. Nf6 $1 3... f4+ (3... Qxe7 4. Nd5+ ) 4. Kg4 Qe6+ 5. Kf3 Qe3+ 6. Kg4 $1 6... Qe6+ (6... f3 7. Nd5+) 7. Kf3) 2. e7 Kd7 (2... Qe6 $1 3. Nf6 Qf7+) 3. Nf6+ $1 3... Qxf6 (3... Kxe7 4. Nd5+) 4. e8=Q+ Kxe8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1927 algebraic: white: [Kd1, Pg5, Pf6, Pb2] black: [Kd5, Sc5, Pa5] stipulation: + solution: | 1. f7 Nd7 2. g6 Ke6 3. f8=Q Nxf8 4. g7 Kf7 5. gxf8=Q+ Kxf8 6. Kc2 a4 7. Kb1 Ke7 8. Ka2 Kd6 9. Ka3 Kc5 10. Kxa4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1927 algebraic: white: [Ke8, Bh3, Pc5] black: [Ka8, Bh7, Pb5, Pb3] stipulation: + solution: | 1. c6 1... b2 $1 (1... Be4 2. c7 Bb7 3. Bg2) (1... Bg6+ 2. Kd8) 2. c7 b1=Q ( 2... Bg6+ 3. Kd8 b1=Q 4. c8=Q+ Ka7 5. Qc7+ Ka8 6. Bg2+ (6. Kc8 $2 6... Bf5+) 6... Be4 7. Kc8) 3. c8=Q+ Ka7 4. Qc7+ Ka8 5. Bg2+ Be4 6. Qh7 $1 6... Kb8 7. Bxe4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1927 algebraic: white: [Kf6, Ba7, Pa5] black: [Ke4, Bh7, Pc7, Pc6] stipulation: + solution: | 1. Bc5 $1 1... Bf5 2. a6 Bc8 3. a7 Bb7 4. Ke6 4... Ba8 $1 (4... Kd3 5. Kd7 Kc4 6. Kxc7 Ba8 7. Kb8 Kxc5 8. Kxa8) 5. Kd7 Kd5 6. Kc8 $3 6... Kxc5 7. Kb8 Kb6 8. Kxa8 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1927 algebraic: white: [Kh1, Bb1, Ph3, Pg6] black: [Kh5, Rf4, Pa3] stipulation: + solution: | 1. g7 a2 (1... Rf1+ 2. Kh2 $1 2... Rf2+ 3. Kg3 a2 4. Bxa2) 2. Bxa2 Rf1+ 3. Kh2 $1 (3. Kg2 Rf5 4. h4 Kxh4) 3... Rf2+ 4. Kg3 Rf5 (4... Rf1 5. Bd5) (4... Rf6 5. Bb1) 5. h4 Rf6 6. Bb1 (6. Bf7+ $2 6... Rxf7 7. g8=Q (7. g8=R Rf6) 7... Rg7+ 8. Qxg7) 6... Rg6+ 7. Bxg6+ Kh6 8. g8=N+ $1 8... Kxg6 9. Kg4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1927 algebraic: white: [Kf3, Bh7, Sf7, Sb3] black: [Kc6, Rd1, Pg5, Pa7] stipulation: + solution: | 1. Ke2 Rg1 2. Kf2 Rd1 3. Bc2 Rd5 4. Be4 4... a5 $1 5. Ne5+ Kd6 6. Nc4+ Ke6 7. Bxd5+ Kxd5 8. Na3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1927 algebraic: white: [Kg6, Sg7, Sb4, Pf2, Pe2] black: [Ke4, Qc7, Pe6, Pd4] stipulation: + solution: | "1. Ne8 $1 1... Qh2 (1... Qf4 2. Nf6+ Ke5 3. Nd3+) (1... Qa5 2. Nf6+ Ke5 3. Nc6+ ) (1... Qa7 2. Nf6+ Ke5 3. Nc6+) (1... Qc3 2. Nf6+ Ke5 3. Nd3+ Kd6 4. Ne4+) ( 1... Qb6 2. Nf6+ Ke5 3. Nd7+) 2. Nf6+ Ke5 (2... Kf4 3. Nd3#) 3. Ng4+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1927 algebraic: white: [Kd7, Bd1, Sf7, Pa5] black: [Ka8, Sb7, Pc4] stipulation: + solution: | 1. Kc6 (1. Bf3 $1 1... c3 (1... Ka7 2. Bxb7 Kxb7 3. Nd6+ Ka6 4. Nxc4) 2. Kc7 c2 3. Bxb7+ Ka7 4. Ne5 c1=Q+ 5. Nc6+ Qxc6+ 6. Kxc6 $1) 1... Nxa5+ 2. Kb5 (2. Kb6 $1 2... Nb3 3. Ne5 $1 3... Nd4 (3... Nd2 4. Ba4) (3... Kb8 4. Nc6+ Ka8 5. Bg4) 4. Bg4 Kb8 5. Nxc4 Nc2 6. Ne5 Ne3 7. Be6 Ka8 8. Nd7 Nc4+ 9. Ka6 Ne3 10. Bf7) 2... Nb3 3. Kxc4 Nc1 (3... Nd2+ 4. Kd3 Nf1 5. Nd6 Ng3 6. Bf3+ Kb8 7. Ke3 Nf1+ 8. Ke2 Ng3+ 9. Kf2) (3... Na5+ 4. Kb5 Nb7 5. Kb6 Kb8 6. Be2 $1 (6. Bf3 $2 6... Nd6 $1 7. Nxd6) 6... Kc8 (6... Ka8 7. Bd3 Kb8 8. Ba6) 7. Bb5 $1 7... Nd8 8. Nd6+ Kb8 9. Bd7 Ka8 10. Kc7) 4. Nd6 Kb8 5. Nb5 Kb7 6. Nc3 Kc6 7. Bh5 Kd6 8. Bf7 Ke5 9. Bg8 Kf4 10. Kd4 Kf3 11. Bc4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1927 algebraic: white: [Kc1, Pg5, Pf6, Pb2] black: [Kd5, Sc5, Pa5] stipulation: + solution: | 1. f7 1... Nd7 $1 2. g6 Ke6 3. f8=Q $1 3... Nxf8 4. g7 Kf7 5. gxf8=Q+ Kxf8 6. Kc2 $1 (6. Kb1 $2 6... Ke7 7. Ka2 Kd6 8. Ka3 Kc5) 6... a4 $1 7. Kb1 $1 (7. Kc3 $2 7... a3 $1 8. b3 Ke7) 7... a3 (7... Ke7 8. Ka2 Kd6 9. Ka3 Kc5 10. Kxa4) 8. b3 Ke7 9. Ka2 Kd6 10. Kxa3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1927 algebraic: white: [Kc5, Pg4, Pf3, Pe2, Pd6] black: [Kd1, Sa5, Pg5, Pd7] stipulation: + solution: | 1. e3 Ke2 2. f4 2... Kxe3 $1 3. fxg5 (3. f5 $2 3... Nb7+ 4. Kd5 Kf4 5. f6 Nd8) 3... Nb7+ 4. Kd5 4... Nxd6 $1 (4... Nd8 5. g6 Ne6 6. Ke5 Kf3 7. Kf6 Kxg4 8. g7 Nxg7 9. Kxg7 Kf5 10. Kf7) 5. Kxd6 Kf4 6. g6 Kg5 7. g7 Kf6 (7... Kh6 8. g8=R $1) 8. g8=R $1 (8. g8=Q $2) (8. g8=B $2 8... Kg5) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 329 date: 1928 distinction: 3rd Honorable Mention algebraic: white: [Kf1, Bh8, Pg6, Pc4, Pc3] black: [Kb6, Bb7, Sg2, Pd3] stipulation: + solution: | 1. Bd4+ Ka5 2. g7 d2 3. Ke2 Ba6 4. g8=B (4. g8=Q $2 4... Bxc4+ 5. Qxc4 d1=Q+ 6. Kxd1 Ne3+ 7. Bxe3) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: date: 1928 algebraic: white: [Kg5, Sh2, Sd8] black: [Kg7, Ph3] stipulation: + solution: | 1. Nc6 $1 1... Kf7 2. Kf5 Kf8 3. Kf6 Ke8 4. Ke6 Kf8 5. Ne5 Kg8 6. Kf6 Kf8 7. Nf7 Ke8 8. Ke6 Kf8 9. Nd6 Kg8 10. Kf5 Kg7 11. Kg5 Kg8 12. Kg6 Kf8 13. Kf6 Kg8 14. Nf5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 353 date: 1928 distinction: Special Prize algebraic: white: [Kd2, Rd3, Ba3, Pe5, Pb2] black: [Kh5, Sc5, Sa6, Pb4, Pa2] stipulation: "=" solution: | 1. Rh3+ 1... Kg6 $1 (1... Kg5 2. Rh1 a1=Q 3. Rxa1 Nb3+ 4. Kc2 Nxa1+ 5. Kb1 Nb3 6. Bxb4 Nxb4 7. e6 Nc6 8. e7 $1 8... Nxe7 9. Kc2) 2. Rg3+ (2. Rh1 $2 2... Kf7 $1) 2... Kf7 $1 3. e6+ $1 3... Ke8 $1 4. Rg8+ Ke7 5. Rg1 $1 (5. Rg7+ $2 5... Kd6 $1 6. e7 Nb3+ 7. Ke2 Nc1+ 8. Ke3 Kd7) 5... a1=Q 6. Rxa1 Nb3+ 7. Kc2 Nxa1+ 8. Kb1 $1 8... Nb3 9. Bxb4+ Nxb4 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: «64» date: 1928 algebraic: white: [Kd6, Bb6, Sg8, Sg4, Ph2] black: [Kf8, Be1, Pg6, Pg3] stipulation: + solution: | 1. N8f6 gxh2 2. Nd7+ Kg8 3. Nxh2 Bg3+ 4. Ke7 Bxh2 5. Nf6+ Kg7 6. Bd4 Bb8 (6... Bc7 7. Nd5+) (6... Bf4 7. Nh5+) (6... Bg3 7. Nh5+) 7. Nd7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier date: 1928 algebraic: white: [Kd6, Ph5, Ph2, Pc2, Pb3, Pb2] black: [Kh4, Ba7, Pf6, Pb4] stipulation: + solution: | 1. h6 Bd4 2. Kd5 Bxb2 3. c4 $1 (3. h7 $2 3... f5 4. c4 f4 5. Ke4 Kg4 6. c5 f3 7. c6 f2 8. c7 f1=Q) 3... bxc3 (3... f5 4. c5 f4 5. Ke4 Kg4 6. c6) 4. h7 c2 5. h8=Q+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier date: 1928 algebraic: white: [Ke5, Sh2, Sc2, Pg5, Pf6] black: [Ke8, Rc6, Ph3, Pe6] stipulation: + solution: | 1. Nd4 $1 1... Rc5+ 2. Kxe6 Rxg5 3. f7+ Kf8 4. Kf6 Rf5+ 5. Kxf5 Kxf7 6. Nc6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier date: 1928 algebraic: white: [Kc4, Bg2, Sf1, Sa4, Pg6] black: [Kf5, Re6, Ph4, Pb6] stipulation: + solution: | 1. Bh3+ Kf6 2. Bxe6 Kxe6 3. Nc3 3... b5+ $1 (3... Kf6 4. Nb5 $1 4... Kxg6 5. Kd4 Kf5 6. Ke3 Kg4 7. Kf2 h3 (7... Kh3 8. Ne3 Kh2 9. Kf3 Kh3 (9... Kg1 10. Kg4) (9... h3 10. Kf2) 10. Nf5) 8. Kg1 Kh4 (8... Kf3 9. Kh2 Ke2 10. Ng3+) 9. Kh2 Kg4 10. Ne3+ Kf3 11. Nd1 Kg4 12. Nf2+ Kf3 13. Nxh3) 4. Nxb5 (4. Kxb5 $2 4... Kf6 5. Nd5+ Kxg6 6. Nf4+ Kf5 7. Nh3 Kg4) (4. Kd4 $2 4... Kf6 5. Nxb5 Kxg6) 4... Kf6 5. Kd5 Kxg6 (5... Kg7 6. Ke5 $1 6... Kxg6 7. Ke6) 6. Ke6 Kg5 7. Ke5 Kg4 (7... Kg6 8. Nd6 Kg5 9. Nf7+) 8. Nd4 $1 8... Kg5 (8... Kh5 9. Kf5 $1 (9. Nh2 $2 9... Kg5 10. Ndf3+ Kg6 11. Ke6 11... h3 $1) 9... Kh6 10. Ne6 h3 (10... Kh7 11. Kg5) ( 10... Kh5 11. Ng7+ Kh6 12. Kf6) 11. Nh2 Kh5 12. Nf4+) 9. Nf3+ (9. Nh2 $2 9... Kg6 10. Nc6 (10. Ke6 Kg5 11. Ne2 h3) 10... h3) 9... Kg6 10. Ke6 Kg7 11. Ne5 Kg8 12. Nh2 Kf8 13. Nhg4 Ke8 14. Nf7 Kf8 15. Nd6 Kg7 16. Kf5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier date: 1928 algebraic: white: [Kg1, Be8, Sf5, Ph4, Pg6] black: [Kh5, Rf6, Pg7] stipulation: + solution: | 1. Nxg7+ Kh6 (1... Kxh4 2. Bf7 Kg5 3. Ne6+ Kh6 4. g7) 2. Nh5 $1 2... Kxh5 (2... Rf8 3. Bf7 (3. g7 $2 3... Rg8)) 3. g7+ Rg6+ (3... Kh6 4. g8=R $1 (4. g8=Q $2 4... Rf1+ 5. Kxf1) 4... Kh7 (4... Re6 $1 5. Bf7 (5. h5 Kh7 6. Rf8 (6. Bf7 Re7) 6... Kg7 7. Rf7+ Kg8) (5. Kh2 Kh7 6. Bf7 Re2+ 7. Kh3 Re3+ 8. Kg4 8... Re7 $1) 5... Rf6 6. Be8 Re6)) 4. Bxg6+ 4... Kh6 $1 5. g8=N+ Kxg6 6. Kg2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier date: 1928 algebraic: white: [Kg1, Be8, Sg7, Ph4, Pg6] black: [Kh6, Rf6] stipulation: + solution: | 1. Nh5 $1 1... Kxh5 2. g7+ Rg6+ (2... Kh6 3. g8=R $1 3... Re6 $1 4. Kh2 (4. Bd7 Rg6+ 5. Rxg6+ Kxg6) (4. Rf8 Kg7 5. Rf7+ Kg8) (4. h5 Kh7 5. Bf7 Re7) 4... Kh7 5. Bf7 Re2+ 6. Kh3 Re3+ 7. Kg4 Re7 8. Bd5 Rg7+ 9. Rxg7+ Kxg7) 3. Bxg6+ Kh6 4. g8=N+ $1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 142 date: 1928 algebraic: white: [Kc2, Sf7, Sb7, Pd5] black: [Ka6, Re3, Pf5, Pd4] stipulation: + solution: | 1. d6 Rc3+ (1... Rg3 2. d7 Rg8 3. Nbd6 Rg2+ 4. Kd3) 2. Kd2 2... Rc7 $1 3. d7 ( 3. dxc7 Kxb7) 3... Rxb7 (3... Rxd7 4. Nc5+ Kb5 5. Nxd7) 4. d8=Q Rxf7 5. Qd6+ Ka7 6. Qxd4+ Kb8 7. Qd5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 143 date: 1928 algebraic: white: [Kc6, Ph5, Pc2, Pb2, Pa2] black: [Kd1, Bf2, Pf6, Pb4] stipulation: + solution: | 1. h6 (1. Kd5 $1 1... Be3 2. Ke4 2... Kd2 $1) 1... Bd4 (1... f5 2. Kd5 Bh4 3. Ke5 Bg3+ 4. Kxf5 Bf2 5. Ke4 Bh4 6. c4 bxc3 7. bxc3) 2. Kd5 Bxb2 (2... Be5 3. h7 ) 3. h7 f5 4. c4 bxc3 (4... Ke2 5. c5 f4 6. c6 f3 7. c7 f2 8. c8=Q f1=Q 9. Qc4+ Kf2 10. Qxf1+ Kxf1 11. Kc4) 5. h8=Q c2 6. Qxb2 c1=Q 7. Qxc1+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 143 date: 1928 algebraic: white: [Kb6, Ph5, Pc2, Pb2, Pa2] black: [Kd1, Be1, Pf6, Pb4] stipulation: + solution: | 1. h6 Bf2+ 2. Kc6 $1 2... Bd4 (2... f5 3. Kd5 Bh4 4. Ke5 Bg3+ 5. Kxf5 Bf2 6. Ke4 Bh4 7. c4 bxc3 8. bxc3) 3. Kd5 Bxb2 (3... Be5 4. h7) 4. h7 f5 5. c4 bxc3 ( 5... Ke2 6. c5 f4 7. c6 f3 8. c7 f2 9. c8=Q f1=Q 10. Qc4+) 6. h8=Q c2 7. Qxb2 c1=Q 8. Qxc1+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 145 date: 1928 algebraic: white: [Kg2, Qh2, Bh7, Ph3] black: [Kc8, Rb4, Bf7, Ph5, Pd3, Pb2] stipulation: "=" solution: | 1. Bf5+ 1... Kb7 $1 2. Bxd3 2... b1=Q $1 3. Bxb1 Rb2+ 4. Kg3 h4+ 5. Kxh4 Rxh2 6. Be4+ Kc7 7. Bg2 Rxg2 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 145 date: 1928 algebraic: white: [Kg2, Qh2, Bh7, Ph3] black: [Ka6, Rb6, Bf7, Ph5, Pc2, Pb2] stipulation: "=" solution: | 1. Bd3+ Kb7 2. Bxc2 $1 2... b1=Q $1 3. Bxb1 Rb2+ 4. Kg3 h4+ 5. Kxh4 Rxh2 6. Be4+ Kb6 7. Bg2 $3 7... Rxg2 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 146 date: 1928 algebraic: white: [Kg3, Be8, Sg8, Ph2, Pg6] black: [Kg5, Rf6, Rf2] stipulation: + solution: | 1. h4+ (1. Nxf6 $1 1... Rxf6 2. g7 Rf8 3. gxf8=R $1) 1... Kh5 $1 (1... Kf5 2. g7 Rf1 (2... Ra6 3. Nh6+ Rxh6 4. Kxf2) 3. Kg2 Rf4 4. Nxf6) 2. Nxf6+ Rxf6 3. g7+ Kh6 (3... Rg6+ 4. Bxg6+ Kh6 5. g8=N+) 4. g8=R $1 (4. g8=Q $2 4... Rf3+ 5. Kg4 Rf4+ 6. Kg3 Rf3+ 7. Kg2 Rf2+ 8. Kg1 Rf1+ 9. Kxf1) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 339 date: 1928 algebraic: white: [Kd2, Se1, Sd4, Pe6] black: [Kf4, Rg3, Ph3, Pd3] stipulation: + solution: | 1. e7 Re3 (1... h2 2. e8=Q h1=Q 3. Qb8+ Kg4 4. Qc8+ Kg5 5. Qd8+ Kg4 6. Qd7+ Kg5 7. Qg7+ Kf4 8. Qf6+) (1... Rg8 $1 2. Ne6+ 2... Kf5 $1 3. Nf8 3... Rg2+ $1 4. Kxd3 Rg3+ 5. Kd2 h2 6. e8=Q h1=Q) 2. Nxd3+ 2... Rxd3+ $1 3. Kxd3 3... h2 $1 4. Ne2+ $1 (4. e8=Q $2 4... h1=Q) 4... Kf3 $1 (4... Kg4 5. e8=Q h1=Q 6. Qg6+) 5. e8=B $1 (5. e8=Q $2 5... h1=Q 6. Qe4+ (6. Qe3+ $1 6... Kg2 7. Nf4+ Kh2 8. Qf2+) 6... Kf2 7. Qxh1) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1928-03-30 algebraic: white: [Kg5, Se4, Sb2] black: [Kh3, Bg8, Pf7] stipulation: + solution: | "1.Se4-f6 ? Bg8-h7 ! 2.Sf6*h7 f7-f5 ! 3.Kg5-f4 Kh3-g2 1.Kg5-f6 ! Kh3-g4 2.Se4-g5 Kg4-h5 3.Sb2-d3 ! Kh5-h6 4.Sd3-f4 ! Bg8-h7 5.Sg5*f7# 2...Kg4-h4 3.Sb2-c4 Kh4-h5 4.Sc4-d6 Kh5-h6 5.Sd6-f5+ Kh6-h5 6.Sf5-e7 1...Bg8-h7 2.Se4-g5+ Kh3-g4 3.Sg5*h7" --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1928 algebraic: white: [Kc7, Se5, Pb7] black: [Kb4, Ba2, Sb8, Pg4] stipulation: + solution: | "1. Nc6+ Kc3 (1... Ka3 2. Nxb8 g3 3. Nc6 g2 4. b8=Q g1=Q 5. Qb4#) 2. Nxb8 g3 3. Nc6 g2 4. Nd4 $1 4... Kxd4 (4... g1=Q 5. Ne2+) (4... Bc4 5. Nf3) 5. b8=Q g1=Q 6. Qa7+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1928 algebraic: white: [Kg2, Sh5, Sf8, Pg6] black: [Kh6, Rd3, Sd4] stipulation: + solution: | "1. g7 Rd2+ 2. Kh3 Rd3+ 3. Kg4 Rg3+ 4. Kxg3 Sf5+ 5. Kg4 Sxg7 6. Sg3 Se6 7. Sf5#" --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1928 algebraic: white: [Kg1, Be8, Ph4, Pg6] black: [Kh5, Rf6] stipulation: + solution: | 1. g7+ Kh6 (1... Rg6+ 2. Bxg6+ Kh6 3. g8=N+ Kxg6 4. Kg2) 2. g8=R $1 (2. g8=Q $2 2... Rf1+ 3. Kxf1) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1928 algebraic: white: [Ka2, Bd2, Sh5, Sc5, Pe7] black: [Kf7, Rb5] stipulation: + solution: | 1. Ng7 Kxe7 2. Nf5+ Kf6 (2... Kf8 3. Nd4) (2... Kd8 3. Nd4) 3. Nd6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1928 algebraic: white: [Ke1, Qb6, Bg5] black: [Kf3, Qb2, Pa3] stipulation: + solution: | "1. Qe3+ Kg4 (1... Kg2 2. Qe4+) 2. Qf4+ Kh5 (2... Kh3 3. Qf3+) 3. Qf5 $1 3... Qa1+ (3... Qg2 4. Be7+) 4. Kf2 $1 4... Qb2+ 5. Bd2+ Kh4 6. Qg5+ Kh3 7. Qg3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1928 algebraic: white: [Kg5, Sd6, Ph5, Pf6, Pa5] black: [Kh8, Qa4, Pg7] stipulation: "=" solution: | 1. f7 Qxa5+ 2. Kg6 Qd8 3. f8=Q+ $1 3... Qxf8 4. Nf7+ Kg8 5. Nh6+ Kh8 6. Nf7+ Kg8 7. Nh6+ gxh6 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1928 algebraic: white: [Kd7, Qf2, Bb6] black: [Kg7, Qc1, Pa6] stipulation: + solution: | "1. Qg3+ (1. Qg2+ $1 1... Kh6 (1... Kf6 2. Qg4 $1) (1... Kf7 2. Bd4) (1... Kh7 2. Qe4+ Kg8 (2... Kg7 3. Bd4+) 3. Qg6+ Kf8 4. Bc7) 2. Qe4 Qd1+ (2... Qd2+ 3. Ke6) (2... Kh5 3. Be3) 3. Ke7 Qh5 4. Be3+ Kg7 5. Qf4 Qg6 (5... Kh7 6. Kf8) 6. Bd4+ Kh7 7. Qh2+ Qh6 8. Qe5 Kg6 (8... a5 9. Qf5+ Qg6 10. Qf4) (8... Qh4+ 9. Kf7 $1) 9. Qe4+ Kh5 10. Bf6 Qc1 11. Kf7 Qc7+ 12. Be7 Qg3 13. Qf5+ Kh6 14. Bf8+) (1. Bd4+ $1 1... Kg6 (1... Kh7 2. Qf5+) (1... Kg8 2. Qg3+) 2. Qf6+ Kh5 3. Qf3+ Kg6 4. Qd3+ $1 4... Kh5 5. Be3) 1... Kf7 2. Bd4 Qh6 3. Qf3+ Kg6 4. Ke6 Kh7+ (4... Kg5+ 5. Bf6+ Kg6 6. Qf5#) 5. Bf6 Qg6 6. Qh1+ Qh6 7. Qb7+ Kg6 (7... Kg8 8. Qf7#) 8. Qf7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1928 algebraic: white: [Kc7, Re5] black: [Ka7, Ba6, Pf4, Pd3] stipulation: "=" solution: | 1. Rf5 (1. Ra5 $1 1... f3 (1... d2 2. Rd5) 2. Ra2) (1. Rh5 $1 1... f3 2. Rh2 Bc4 3. Rf2 Ka6 4. Rxf3 d2 5. Ra3+ Kb5 6. Ra1) 1... f3 2. Rxf3 d2 3. Rb3 d1=Q 4. Rb7+ Bxb7 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1928 algebraic: white: [Kb2, Sg7, Pg6] black: [Kf4, Ba5, Sd6] stipulation: + solution: | 1. Nh5+ Kg5 2. g7 Bc3+ 3. Kxc3 Ne4+ 4. Kd4 Nf6 5. Nxf6 Kh6 6. g8=B (6. g8=Q $2) (6. Nh5 $1) (6. Ne8 $1) 6... Kg5 7. Ke5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Трудовая правда date: 1928 algebraic: white: [Kb1, Sc7, Pg5, Pa2] black: [Kf4, Sb8, Pb3, Pa4, Pa3] stipulation: + solution: | 1. g6 Nd7 2. Nd5+ (2. g7 $2 2... Nf6 3. Nd5+ Nxd5 4. g8=Q Nc3+ 5. Kc1 b2+) 2... Kg5 3. g7 Nf6 4. Nxf6 Kh6 5. g8=B (5. g8=Q $1 5... bxa2+ 6. Ka1 (6. Qxa2 $1)) 5... bxa2+ (5... Kg7 6. Bxb3) 6. Bxa2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Задачи и этюды source-id: 22 date: 1928 algebraic: white: [Kc1, Ba3, Se5, Ph2, Pe2] black: [Kc3, Ph3, Pf2] stipulation: "=" solution: | 1. Bb4+ (1. Bb2+ Kb3 2. Kd2 f1=Q 3. Nd3 Qg2 4. Be5) 1... Kb3 2. Nf3 (2. Kd1 f1=Q+ 3. Be1) 2... f1=Q+ 3. Be1 Qg2 4. Bg3 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Задачи и этюды source-id: 22 date: 1928 algebraic: white: [Kc1, Ba3, Se5, Ph2, Pe2] black: [Kc3, Ph3, Pf2, Pd6] stipulation: "=" solution: | 1. Bb4+ Kb3 2. Nf3 f1=Q+ 3. Be1 Qg2 4. Bg3 Qh1+ (4... Kc3 5. Kd1 d5 6. Be1+ Kc4 7. Bg3 Qh1+ 8. Be1 d4 9. Kd2 d3 10. exd3+ Kd5 11. Ke3 Qg2) 5. Be1 Qg2 6. Bg3 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы source-id: 416 date: 1929 distinction: 3rd Prize algebraic: white: [Kf5, Rf7, Se8, Pe4, Pc7] black: [Kg8, Bh8, Ba6, Pg3, Pe5] stipulation: "=" solution: | 1. Rd7 Bc8 2. Kg4 g2 3. Kh3 g1=Q (3... g1=R 4. Kh2 Rc1 (4... Bxd7 5. Kxg1 Bg7 6. Kf2 Kf7 7. Nd6+) 5. Rd8) 4. Nf6+ Kf8 5. Nh7+ Ke8 6. Nf6+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: «64» source-id: 405 date: 1929 algebraic: white: [Ka2, Be1, Sh4, Sh3, Pe2] black: [Ke3, Pg3, Pd2, Pc4, Pc2] stipulation: + solution: | 1. Ng2+ Kxe2 2. Nhf4+ Kd1 3. Bxg3 Kc1 4. Ne2+ Kd1 5. Nc3+ Kc1 6. Bh4 d1=Q 7. Bg5+ Qd2 8. Nf4 Qe3 9. Nfe2+ Kd2 10. Bxe3+ Kxe3 11. Kb2 Kd2 12. Nc1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1778 date: 1929 algebraic: white: [Kb1, Bc5, Sg8, Pf6, Pe2, Pd3] black: [Kh8, Qh3, Ph7, Pc3] stipulation: "=" solution: | 1. Nh6 $1 1... Qe6 2. Kc2 Qxf6 (2... Qxe2+ 3. Kxc3) 3. Be3 Qh4 (3... Qg7 $2 4. Bf4 $1) (3... Kg7 $2 4. Bd4 $1) 4. Kb3 $3 (4. Kxc3 $2 4... Qe1+) (4. Bg5 $2 4... Qf2) 4... Qf6 $1 (4... c2 $2 5. Bc1) 5. Kc2 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier date: 1929 algebraic: white: [Kc6, Sd5, Sd3, Ph2] black: [Kg4, Ph6, Pg2] stipulation: + solution: | "1. Ne5+ Kh3 2. Nf3 g1=Q 3. Nxg1+ Kxh2 4. Ne2 (4. Nf3+ $2 4... Kg3) 4... h5 5. Ndf4 $1 (5. Ne3 $2 5... h4 6. Kd5 h3 7. Ke4 Kh1 8. Ng3+ (8. Kf3 h2) 8... Kg1) 5... h4 6. Kd5 h3 7. Ke4 Kh1 8. Kf3 h2 9. Ng3+ Kg1 10. Nh3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier date: 1929 algebraic: white: [Kf7, Be7, Pa2] black: [Kh5, Pa4] stipulation: + solution: | 1. Kf6 Kg4 (1... Kh6 2. Bf8+) (1... Kh4 2. Kf5+) 2. Ke5 Kh5 3. Kf5 Kh6 4. Bf8+ Kh5 (4... Kh7 5. Kf6 Kg8 6. Ke7 Kh8 7. Kf7 Kh7 8. Bg7 a3 9. Bf8) 5. a3 Kh4 6. Kg6 Kg4 7. Bh6 Kh4 8. Bf4 Kg4 9. Bg5 Kg3 10. Kf5 Kf3 11. Bf4 Kg2 12. Kg4 Kf2 13. Bc1 Ke2 14. Kf4 Kd1 15. Be3 Kc2 16. Ke5 Kb3 17. Bc5 Kc4 18. Kd6 Kb5 19. Kd5 Ka5 20. Kc6 Ka6 21. Be3 Ka5 22. Kb7 Kb5 23. Bb6 Kc4 24. Kc6 Kb3 25. Bc5 Kc4 26. Be3 Kb3 27. Bc1 Kc4 28. Bb2 Kd3 29. Kb5 Ke4 30. Kxa4 Kd5 31. Kb5 Kd6 32. Kb6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 6 date: 1929 algebraic: white: [Ke5, Rd6, Bb1] black: [Ke8, Ba4, Pg2, Pe3] stipulation: "=" solution: | 1. Kf6 $1 1... g1=Q 2. Bg6+ Qxg6+ 3. Kxg6 3... Bb3 $1 4. Rd4 $1 4... Bc2+ 5. Kh6 e2 6. Rd5 $1 6... e1=Q 7. Re5+ Qxe5 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 7 date: 1929 algebraic: white: [Kd1, Bh5, Pg2, Pd6] black: [Kb3, Re3, Pg3] stipulation: + solution: | 1. Bg6 (1. Kd2 Re4 2. Kd3 Rb4) 1... Re5 2. Bf7+ 2... Ka3 $1 3. d7 3... Re4 $1 4. d8=R $1 (4. d8=Q $2 4... Rd4+ 5. Qxd4) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 008 date: 1929 algebraic: white: [Kd8, Sf5, Pg6, Pc4, Pa6] black: [Kb6, Sd1, Pd6, Pc5, Pa3] stipulation: + solution: | "1. Nd4 cxd4 2. c5+ dxc5 (2... Kxa6 3. c6 a2 4. c7 a1=Q 5. c8=Q+) 3. g7 a2 4. g8=Q a1=Q 5. Qb3+ Kxa6 6. Kc7 Qa5+ 7. Kc6 Qb4 8. Qa2+ Qa5 9. Qc4+ Ka7 10. Qf7+ Ka6 11. Qb7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 8 date: 1929 algebraic: white: [Ke8, Be1, Pd2, Pa6] black: [Ke5, Rf3] stipulation: + solution: | 1. d3 $1 1... Rxd3 2. Bb4 2... Re3 $1 3. a7 Kf6+ 4. Kf8 $1 (4. Kd8 $2 4... Rh3) 4... Rh3 5. Bc3+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный листок date: 1929 algebraic: white: [Kh1, Se8, Pg2] black: [Ka4, Bb6, Sc7, Pg4] stipulation: "=" solution: | 1. Nf6 g3 2. Ne4 Bf2 3. Nc5+ $3 (3. Nc3+ $2 3... Kb3 $1) 3... Ka5 (3... Kb5 4. Na6) 4. Ne6 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный листок date: 1929 algebraic: white: [Kh1, Sg8, Pg2] black: [Kb4, Bc5, Sd8, Pg4] stipulation: "=" solution: | 1. Nh6 g3 2. Nf5 Bf2 3. Nd4 Nf7 4. Nc6+ Kc5 5. Nd8 Nxd8 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Задачи и этюды date: 1929 algebraic: white: [Kd3, Bc1, Sd6, Pa2] black: [Ka5, Bf3, Pc6, Pa3] stipulation: + solution: | 1. Nc4+ Ka4 2. Nxa3 Bd5 3. Nb1 Bxa2 4. Nc3+ Kb3 5. Kd2 c5 6. Kd3 c4+ 7. Kd2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: «64» source-id: 498 date: 1930 distinction: 2nd Prize algebraic: white: [Ke1, Be2, Sa2, Pa6] black: [Kg2, Sa8, Ph3, Pd6, Pb4] stipulation: + solution: | "1. Bc4 Nc7 (1... Nb6 2. a7) 2. a7 h2 3. a8=Q+ $1 3... Nxa8 4. Bd5+ Kg1 5. Bh1 $1 5... Nb6 (5... Kxh1 6. Kf2) (5... b3 6. Nc1 b2 7. Ne2+ Kxh1 8. Kf2 b1=Q 9. Ng3#) 6. Nc1 Nd5 7. Ne2+ Kxh1 8. Kf2 Nf4 9. Ng3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: «64» date: 1930 algebraic: white: [Kg5, Qf6, Pa2] black: [Kg8, Qb5, Ph5, Pf5, Pd7] stipulation: + solution: | 1. Kg6 Qc6! 2. Qxc6 dxc6 3. a4 f4 4. a5 f3 5. a6 f2 6. a7 f1Q 7. a8Q+ Qf8 8. Qa2+ Kh8 9. Qb2+ Kg8 10. Qb3+ Kh8 11. Qc3+ Kg8 12. Qc4+ Kh8 13. Qd4+ Kg8 14. Qd7 wins --- authors: - Троицкий, Алексей Алексеевич source: «64» source-id: 471 date: 1930 algebraic: white: [Kc7, Bf7, Pd6, Pa2] black: [Ka6, Ph6, Pf2, Pe3, Pc3, Pb4] stipulation: + solution: | 1. Bc4+ Ka7 (1... Ka5 2. d7 f1=Q 3. Bxf1 c2 4. d8=Q) 2. d7 f1=Q 3. Bxf1 c2 4. d8=N $1 4... c1=Q+ (4... e2 $1 5. Bxe2 c1=Q+ 6. Nc6+ Ka8 7. Ba6 Qf4+) 5. Nc6+ Ka8 6. Ba6 Qxc6+ 7. Kxc6 h5 8. Kd5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: «64» source-id: 471 date: 1930 algebraic: white: [Kc7, Bf7, Pd6, Pa2] black: [Ka6, Pf2, Pe5, Pc3, Pb4] stipulation: + solution: | "1. Bc4+ Ka7 (1... Ka5 2. d7 f1=Q 3. Bxf1 c2 4. d8=Q c1=Q+ 5. Kb7+ Ka4 6. Qa8#) 2. d7 2... f1=Q $1 3. Bxf1 c2 4. d8=N $1 4... c1=Q+ 5. Nc6+ Ka8 6. Ba6 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Бюллетень ЦШК СССР date: 1930 algebraic: white: [Kf8, Se3, Sd6, Pd3] black: [Kh7, Se2] stipulation: + solution: | "1. Kf7 $1 (1. Nb5 $2 1... Nf4 2. d4 Ne6+) 1... Nf4 2. d4 Ne2 3. d5 Nc3 4. Ng4 4... Kh8 $1 5. Ne5 $1 5... Nxd5 (5... Kh7 6. Nf5 Nxd5 7. Nd7) 6. Ne4 (6. Ng6+ $1 6... Kh7 7. Nf5 Nf4 8. Nf8+ Kh8 9. Ne7) 6... Kh7 7. Ng4 Kh8 8. Ng5 Ne7 9. Ne5 Nd5 10. Ng6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 048 date: 1930 algebraic: white: [Kg6, Qb1, Rg2] black: [Kg8, Qf4, Ph2, Pe6, Pd5, Pd4, Pa5] stipulation: + solution: | "1. Qc2 $1 (1. Qh1 $2 1... Kf8 2. Rxh2 Qf5+) (1. Qe1 $2 1... Qf5+ 2. Kh6+ Kf8 3. Qh1 Qh3+) (1. Kh5+ $2 1... Kf8 2. Qh1 Qf3+) (1. Rg5 $2 1... Kf8 2. Rh5 Qg4+ 3. Rg5) (1. Qb5 $2 1... Kf8) 1... h1=Q (1... Qf7+ 2. Kh6+ Kf8 3. Rxh2 Qf4+ (3... Qg7+ 4. Kh5) (3... Qf6+ 4. Kh5 Qf3+ 5. Kg5 Qg3+ 6. Kf6) 4. Kg6 Qf7+ (4... Qg4+ 5. Kf6) 5. Kg5 Qg7+ 6. Kf4 Qf6+ 7. Kg4) (1... Qb8 2. Qf2 $1) (1... Qe4+ 2. Qxe4 dxe4 3. Kf6+ Kf8 4. Rxh2) (1... Qf8 2. Kh5+ Kh8 (2... Kf7 3. Rf2+) 3. Rxh2) 2. Qc8+ Qf8 3. Qxe6+ Kh8 4. Qe5+ Kg8 5. Qxd5+ Kh8 6. Qxd4+ Kg8 7. Qc4+ Kh8 8. Qc3+ Kg8 9. Qb3+ Kh8 10. Qb2+ Kg8 11. Qa2+ Kh8 12. Rh2+ Qxh2 13. Qxh2+ Kg8 14. Qh7# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 049 date: 1930 algebraic: white: [Kg5, Bd8, Se7, Pd6] black: [Ka7, Bc3, Sa6, Pf7, Pb7] stipulation: + solution: | 1. d7 1... Bf6+ $1 (1... Nb8 2. Bb6+) (1... Nc5 2. Bb6+) 2. Kxf6 (2. Kh5 $2 2... Ka8) 2... Nb8 $1 3. Bb6+ 3... Ka8 $1 4. d8=B $1 (4. d8=Q $2) (4. d8=R $2) (4. d8=N $2 4... Nd7+) 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 40 date: 1930 algebraic: white: [Kh4, Bh1, Pg6, Pg5, Pe7] black: [Kd7, Re6, Bd6] stipulation: "=" solution: | 1. Bc6+ $1 1... Kxe7 $1 2. Bd5 (2. g7 $2 2... Rg6 3. Bd5 Rxg7 4. Kh5 Kf8) 2... Rxg6 3. Kh5 Rg7 4. g6 Kf6 5. Bf7 Kf5 6. Kh4 $1 6... Kf4 7. Kh3 $1 7... Be7 8. Kg2 Bh4 9. Kf1 $1 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 41 date: 1930 algebraic: white: [Kd5, Ra4, Pc6] black: [Kg8, Bh7, Bf2] stipulation: + solution: | 1. Rg4+ (1. c7 $2 1... Bf5 2. Rf4 Bb6 3. Rxf5 Bxc7 4. Kc6 Bh2) (1. Ke6 $1) 1... Kh8 2. c7 Bf5 3. Rf4 Bb6 4. Rxf5 Bxc7 5. Kc6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 41 date: 1930 algebraic: white: [Kd5, Rc4, Pc6] black: [Kg8, Bf2, Bb1] stipulation: + solution: | 1. Rg4+ (1. Ke6 $2 1... Ba2) (1. Ra4 $2 1... Bd3 $1 2. Rg4+ Kh7 3. c7 Ba6) 1... Kh8 (1... Kh7 2. c7 Bf5 3. Rf4 Bg3 4. Rxf5 Bxc7 5. Rf7+) 2. c7 Bf5 3. Rf4 Bg3 4. Rxf5 Bxc7 5. Kc6 $1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 48 date: 1930 algebraic: white: [Kc4, Sg3, Sc6] black: [Ka3, Ph6, Pe3] stipulation: + solution: | 1. Nh5 $1 1... e2 2. Nd4 2... e1=N $1 3. Kc3 Ng2 (3... Ka4 4. Kd2 Ng2 5. Nf3) 4. Nf5 Ne1 (4... Ka4 5. Kd2 Kb4 6. Ke2) 5. Nh4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 54 date: 1930 algebraic: white: [Ka3, Sf5, Sc1, Pc7] black: [Ka5, Qh8, Pf6, Pa6] stipulation: + solution: | 1. Nd6 Qf8 (1... f5 2. Nb3+ Kb6 3. c8=Q) 2. c8=N $3 (2. c8=Q $2 2... Qxd6+) 2... Qxc8 (2... Qxd6+ 3. Nxd6 f5 4. Nxf5 Kb5 5. Kb2) (2... Qg8 3. Nb3+ Qxb3+ 4. Kxb3 f5 5. Nxf5) 3. Nxc8 f5 4. Nd6 f4 5. Nd3 f3 6. Ne5 Kb6 7. Nxf3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 55 date: 1930 algebraic: white: [Kb4, Sd3, Sc4] black: [Ka6, Sa4, Pg7, Pd5] stipulation: + solution: | 1. Nce5 1... Nb6 $1 (1... g5 2. Kxa4) (1... Nb2 2. Nxb2 g5 3. Nbd3) 2. Nc5+ Ka7 3. Nc6+ Ka8 4. Kb5 Nc4 (4... Nd7 5. Nxd7 Kb7 6. Nc5+ Kc7 7. Nd4 Kd6 8. Nf5+ Ke5 9. Nxg7 Kf4 10. Kb4) 5. Ka6 Nd6 6. Na4 (6. Nd7 $2 6... Nc4 7. Nc5 (7. Nb4 Ne3) 7... Nd6 8. Na4) 6... Nc4 $1 7. Nc3 Ne3 8. Nb5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: L'Echiquier source-id: 72 date: 1930-12-30 algebraic: white: [Kb2, Qd4, Bf2] black: [Kh6, Qb8, Bc7, Ph7, Pf7, Pb4] stipulation: + solution: | 1.Qd4-f6+ Kh6-h5 2.Qf6-f5+ Kh5-h6 3.Bf2-e3+ Kh6-g7 4.Qf5-g5+ Kg7-f8 ! 5.Be3-c5+ Bc7-d6 6.Qg5-e5 ! Kf8-g8 7.Bc5*d6 Qb8-d8 ! 8.Qe5-g3+ Kg8-h8 9.Bd6-e5+ f7-f6 10.Qg3-g5 ! f6*e5 11.Qg5*d8+ 6...Bd6*c5 7.Qe5*b8+ keywords: - Cross pin --- authors: - Троицкий, Алексей Алексеевич source: Magyar Sakkvilág date: 1930 algebraic: white: [Kc3, Bh5, Sd3, Pe5] black: [Ka6, Ph6, Pg2] stipulation: "=" solution: | 1. e6 g1=Q 2. e7 $1 2... Qg7+ 3. Kc4 $1 3... Qxe7 4. Nb4+ Kb7 5. Bf3+ Kc8 6. Bg4+ $1 6... Kb7 7. Bf3+ 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Magyar Sakkvilág source-id: 242 date: 1930 algebraic: white: [Kf7, Qd2, Bg1] black: [Kh5, Qh4, Pa4] stipulation: + solution: | "1. Qd1+ (1. Qe2+ $2 1... Qg4 2. Qe5+ 2... Kh4 $1) (1. Qd5+ $2 1... Kg4) 1... Qg4 (1... Kg5 2. Be3+ Kf5 3. Qd7+) 2. Qd5+ 2... Qg5 $1 (2... Kh4 3. Bf2+) (2... Kh6 3. Be3+) 3. Qe4 Qg3 (3... a3 4. Be3 a2 5. Bxg5 a1=Q 6. Qh4#) (3... Qc1 4. Qf3+) (3... Qd8 4. Qg6+) 4. Bc5 Qb3+ (4... Qc7+ 5. Be7 Qg3 6. Qf5+) (4... Qg5 5. Be3) (4... Qg4 5. Qh7+) (4... Qh3 5. Qg6+) 5. Kf6 Qc3+ 6. Bd4 $1 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Magyar Sakkvilág source-id: 252 date: 1930 algebraic: white: [Kd5, Rf2, Sd4, Sb6] black: [Kc1, Qg4, Ph3] stipulation: + solution: | 1. Rf1+ Kd2 (1... Qd1 $1) 2. Nc4+ Kc3 3. Rc1+ Kb4 4. Rb1+ Ka4 5. Ra1+ Kb4 6. Nc6+ Kc3 7. Ra3+ Kc2 8. Ne3+ Kb2 9. Nxg4 Kxa3 10. Nh2 Ka4 11. Kc4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Magyar Sakkvilág source-id: 252 date: 1930 algebraic: white: [Kd5, Rf2, Sd4, Sb6] black: [Kd1, Qg4, Ph3] stipulation: + solution: | 1. Rf1+ Kd2 2. Nc4+ Kc3 3. Rc1+ Kb4 4. Rb1+ Ka4 5. Ra1+ Kb4 6. Nc6+ Kc3 7. Ra3+ Kc2 8. Ne3+ Kb2 9. Nxg4 Kxa3 10. Nh2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный листок date: 1930 algebraic: white: [Kh1, Bh3, Pg2, Pe6, Pc4] black: [Ke3, Rd4] stipulation: + solution: | 1. c5 (1. Bf5 $2 1... Kf4 2. g4 (2. e7 Kg3 3. Bc2 Kf2 4. g3 Rd6) 2... Kg3 3. Bc2 Rxc4) (1. Kh2 $2 1... Rxc4 2. Kg3 (2. g4 Kf4 3. Bg2 3... Rc5 $3 (3... Kxg4 $2 4. e7 Rc8 5. Bh3+)) 2... Re4 3. Bg4 (3. Bf5 Re5 4. Bg4 (4. Kg4 Kf2 5. g3 Re3 ) 4... Re4 5. Kh4 Rf4) 3... Kd4 4. Kh4 Ke5 5. Kg5 Kd6 6. Bf5 Re2 7. g4 Ke7 8. Kg6 Rg2) 1... Rc4 2. c6 (2. e7 $2 2... Re4 3. c6 Rxe7 4. Bd7 Kf2 5. Kh2 Rh7+ 6. Bh3 Re7) 2... Kf2 3. Kh2 Rxc6 4. e7 Rg6 5. e8=N 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Задачи и этюды date: 1930 algebraic: white: [Ke3, Se5, Sc7] black: [Kh4, Bf1, Ph7, Ph5] stipulation: + solution: | 1. Kf2 Bh3 2. Nf3+ Kg4 3. Ng1 Kh4 4. Kf3 Bd7 5. Kf4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Задачи и этюды date: 1930 algebraic: white: [Kf3, Ba6, Sf2, Ph4] black: [Kh5, Be1, Ph6] stipulation: + solution: | "1. Nd3 Bxh4 2. Nf4+ Kg5 3. Ng2 Kh5 4. Kf4 Bf2 5. Kf5 Bg3 6. Be2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: «64» source-id: 513 date: 1931 algebraic: white: [Kd1, Bg1, Sg4, Sf7, Pf5] black: [Kh1, Bd7, Sg6, Ph3, Pc7] stipulation: + solution: | "1. Nf2+ Kxg1 (1... Kg2 2. fxg6 Bf5 3. g7 Bh7 4. Nh6) 2. Nxh3+ (2. fxg6 $2 2... Kxf2 3. g7 h2) 2... Kf1 (2... Kh2 3. fxg6 Bg4+ 4. Ke1 $1 4... Bh5 5. Nf4 Bxg6 6. Nxg6 c5 7. Kf2 $1 7... c4 (7... Kh3 8. Nf4+ Kg4 9. Nd5 c4 10. Nc3) 8. Ng5 c3 9. Ne5 c2 10. Ng4+ Kh1 11. Ne4 c1=Q 12. Ng3#) (2... Kh1 3. fxg6 Bg4+ 4. Ke1 Bh5 5. Ne5 Bxg6 6. Nxg6 c5 7. Nf2+ $1 7... Kg2 8. Ne4 c4 9. Nc3) 3. fxg6 Bg4+ 4. Kd2 Bh5 5. Ne5 $1 (5. Nf4 $2 5... Bxg6 6. Nxg6 c5) 5... Bxg6 6. Nc4 $3 (6. Nxg6 $2 6... c5 $1) 6... Kg2 (6... Be4 7. Ne3#) 7. Nf4+ Kf3 8. Nxg6 1-0" --- authors: - Троицкий, Алексей Алексеевич source: «64» source-id: 554 date: 1931 algebraic: white: [Kh7, Rg3, Pg6, Pd3] black: [Ka1, Rf8, Bf1, Pf2] stipulation: "=" solution: | 1. g7 Rf7 (1... Bxd3+ 2. Rxd3 f1=Q 3. Rd1+) 2. Kh8 Rxg7 3. Rxg7 Bxd3 4. Rg2 (4. Rf7 $1) 4... f1=Q 5. Rg1 Qxg1 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Комсомольская правда date: 1931 algebraic: white: [Kh6, Qc5, Sa4] black: [Ka6, Qb1, Pg6, Pf4] stipulation: + solution: | 1. Qc6+ Ka7 (1... Ka5 2. Qa8+ Kb4 3. Qb8+) 2. Nc3 Qb7 (2... Qb6 3. Nb5+ Ka6 4. Nc7+ Ka5 5. Qa8+) 3. Nb5+ Ka8 4. Qe8+ Qb8 5. Qe4+ Qb7 6. Qa4+ Kb8 7. Qxf4+ Ka8 8. Qf8+ Qb8 9. Qf3+ Qb7 10. Qa3+ Kb8 11. Qf8+ Qc8 12. Qf4+ Ka8 13. Qa4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный листок date: 1931 algebraic: white: [Kf8, Ba6, Sc6, Sc4] black: [Kh7, Bd1, Pg3, Pb4] stipulation: + solution: | 1. Ne3 1... g2 $1 2. Nxg2 Bf3 3. Ne3 Bxc6 4. Ng4 $1 4... Ba4 $1 5. Bd3+ Kh8 6. Ne5 Bb3 7. Bb1 $1 7... Bd5 (7... Be6 8. Ng6+ Kh7 9. Nf4+) (7... Bg8 8. Ng6+ Kh7 9. Ne7+) 8. Ng6+ Kh7 9. Nf4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы в СССР date: 1932 algebraic: white: [Kg6, Bg1, Sf8, Sb6] black: [Kh8, Bg4, Bb8] stipulation: + solution: | 1. Bd4+ Kg8 2. Nh7 Bf5+ 3. Kxf5 Kxh7 4. Nd7 Bc7 5. Nf6+ Kh6 6. Be3+ Kg7 7. Ne8+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: date: 1934 algebraic: white: [Ke3, Sh2, Sc3] black: [Kg3, Ph3] stipulation: + solution: | 1. Ne2+ Kg2 2. Ke4 Kf2 3. Kd3 Ke1 4. Nc3 Kf2 5. Kd2 Kg1 6. Ke1 Kg2 7. Ke2 Kg3 8. Ke3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: «64» source-id: 668 date: 1934 algebraic: white: [Kf3, Sh5, Se4, Pf6] black: [Kh7, Ba6, Sb8, Pe6] stipulation: + solution: | 1. f7 Nd7 2. Nhf6+ Kg7 3. Nxd7 Kxf7 4. Ndc5 Bf1 5. Kf2 Bh3 6. Ng5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы в СССР date: 1935 distinction: 2nd Prize algebraic: white: [Kd6, Rc7, Pe5] black: [Kg1, Rc3, Pg4, Pe4, Pc4] stipulation: "=" solution: | 1. e6 (1. Rg7 $2 1... e3 2. Rxg4+ Kf2 3. Rf4+ Kg3) 1... Rd3+ (1... e3 2. e7 Rd3+ 3. Kc5) 2. Ke5 e3 3. Rxc4 (3. e7 $2 3... e2) 3... e2 4. Rxg4+ Kf2 5. Re4 Re3 (5... e1=Q 6. Rxe1 Kxe1 7. e7 Ke2 8. Kf6) 6. Rxe3 Kxe3 7. e7 $1 7... e1=Q 8. Ke6 $3 8... Kf4+ (8... Kd4+ 9. Kd7) 9. Kf7 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Труд (Москва) date: 1935 distinction: 3rd Prize algebraic: white: [Kf3, Bf6, Sd5, Sc4] black: [Kh6, Sf5, Sc5, Ph5] stipulation: + solution: | "1. Kf4 Ng7 (1... Ng3 2. Kxg3 Ne4+ 3. Kh4 Nxf6 4. Nxf6) (1... Nd7 2. Kxf5 Nxf6 3. Nxf6) 2. Bg5+ Kh7 (2... Kg6 3. Ne5+ Kh7 4. Nf6+ Kh8 5. Nf7#) 3. Nf6+ Kh8 4. Bh6 Nd7 5. Nxd7 Kh7 6. Nf8+ $1 (6. Kg5 $2 6... Ne6+ 7. Kxh5 Ng7+) 6... Kxh6 7. Ne3 $1 7... h4 (7... Ne6+ 8. Nxe6) 8. Kg4 h3 9. Kh4 h2 10. Ng4# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 14 date: 1935 algebraic: white: [Ke7, Be4, Ph4] black: [Kc8, Sg2, Pf3] stipulation: + solution: | 1. h5 1... Nf4 $1 2. h6 f2 3. h7 Ng6+ 4. Bxg6 f1=Q 5. h8=Q+ Kb7 (5... Kc7 6. Qc3+ Kb6 7. Qe3+) 6. Qb2+ 6... Ka6 $1 (6... Kc6 7. Qb4 $1 7... Kd5 (7... Kc7 8. Qa5+ $1 (8. Be4 $2 8... Qa6 $1 9. Qc3+ Kb6 10. Kd6 Ka7+ 11. Kc7 11... Qc4+ $1 12. Qxc4)) 8. Qd6+ Kc4 9. Qa6+) 7. Qa3+ Kb6 8. Qe3+ Ka5 9. Qd2+ Kb6 10. Qd8+ $1 10... Ka7 (10... Kc5 11. Qd6+) 11. Qd4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 019a date: 1935 algebraic: white: [Kg4, Qb1, Bf2] black: [Kh6, Qa3, Pb7, Pa6] stipulation: + solution: | 1. Qb6+ Kg7 2. Qc7+ $1 2... Kg6 (2... Kg8 3. Qc4+ $1 3... Kh7 4. Qf7+ Kh6 5. Bg3 $1) 3. Bd4 $1 3... Qf8 4. Qd7 Qg8 5. Qf5+ Kh6+ 6. Kh4 Qd8+ 7. Bf6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 19 date: 1935 algebraic: white: [Kh4, Qd4, Ba2] black: [Kf3, Qc8, Pg4, Pf2, Pd6] stipulation: + solution: | 1. Bd5+ Ke2 2. Bc4+ 2... Kf3 $1 (2... Ke1 3. Qc3+ Kd1 4. Bb3+) 3. Qc3+ 3... Kf4 $1 4. Qc1+ 4... Ke4 $1 (4... Ke5 5. Qe3+ 5... Kf5 $1 6. Bd3+ Kf6 7. Qg5+ 7... Kf7 $1 8. Bg6+ Ke6 9. Bf5+ Kf7 10. Qg6+ Ke7 11. Qg7+ Ke8 12. Qg8+ Ke7 13. Qxc8 f1=Q 14. Qe6+ Kf8 15. Qf6+) 5. Bd3+ Kxd3 6. Qxc8 Ke2 7. Qc4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 19 date: 1935 algebraic: white: [Kh3, Qc4, Bd6, Pa3] black: [Ke3, Qb7, Pe2, Pa6] stipulation: + solution: | 1. Bc5+ Kd2 2. Bb4+ Ke3 3. Qb3+ Ke4 4. Qb1+ Ke3 5. Bc5+ Kf4 6. Bd6+ Kg5 (6... Ke3 7. Qxb7 e1=Q 8. Qe7+ Kd2 (8... Kf2 9. Bg3+) 9. Bb4+) 7. Qxb7 e1=Q 8. Qg7+ Kf5 9. Qf7+ Ke4 10. Qe6+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 126 date: 1935 algebraic: white: [Kd5, Re7, Rb7, Sc2, Pf7] black: [Kd8, Qf6, Sd6, Pc5] stipulation: + solution: | 1. Re8+ Nxe8 2. Rb8+ Kc7 3. fxe8=N+ Kxb8 4. Nxf6 c4 5. Kd6 $3 (5. Kc6 $2 5... c3 6. Kd7 (6. Nd5 Kc8 7. Nc7 Kd8 8. Kd6 Kc8 9. Ne6) 6... Ka7 $1 7. Kc6 7... Kb8 $1 8. Kd6 Kc8 9. Nd5 Kd8 10. Nc7 Kc8 11. Ne6) 5... c3 6. Nd5 Kc8 7. Ke7 Kb8 8. Kd8 Kb7 9. Kd7 9... Ka7 $1 10. Kc7 Ka6 11. Kc6 Ka7 12. Ne7 Ka6 13. Nc8 Ka5 14. Nb6 Ka6 15. Nc4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 137 date: 1935 algebraic: white: [Kd3, Rh6, Sd4, Sc4] black: [Ka7, Qg4, Ph5] stipulation: + solution: | "1. Nc6+ Ka8 2. Rh8+ Kb7 3. Rh7+ Ka6 (3... Kxc6 4. Ne5+) 4. Ra7+ Kb5 5. Nd4+ $1 5... Kb4 (5... Kc5 6. Ra5+ Kb4 7. Nc2+ Kb3 8. Ra3#) 6. Nc2+ Kc5 7. Ra5+ Kc6 8. Ne5+ Kb6 9. Nxg4 Kxa5 10. Nf2 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 138 date: 1935 algebraic: white: [Ka6, Rc5, Se6, Sc3] black: [Ka3, Qg3, Ph5] stipulation: + solution: | 1. Ra5+ Kb2 (1... Kb4 2. Ra4+ Kb3 3. Nd4+ Kb2 4. Ra2+ Kxc3 5. Ra3+) 2. Ra2+ Kc1 (2... Kb3 3. Nc5+ Kc4 4. Ra4+ Kxc5 5. Ne4+) 3. Ne2+ (3. Nd4 $2 3... Qd6+) 3... Kb1 4. Nxg3 Kxa2 5. Kb5 $1 (5. Nd4 $2 5... h4 6. Nf1 h3 7. Nh2 Kb2 8. Kb5 8... Kc3 $1) 5... Kb3 6. Nf4 $1 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 139 date: 1935 algebraic: white: [Kh1, Rb1, Sd6, Sc7] black: [Kh3, Qd4, Ph6, Pa6] stipulation: + solution: | 1. Rb3+ Kg4 2. Rg3+ Kh5 (2... Kxg3 3. Nf5+ Kf4 4. Nxd4 Ke5 5. Nf3+ $1 5... Ke4 (5... Kf5 6. Kg2 h5 7. Ng1 $1 7... a5 8. Nb5) 6. Kg2 h5 (6... a5 7. Nb5 Kd3 8. Ne5+ Ke4 9. Nc4) 7. Nxa6 h4 8. Ng5+ Kf4 9. Nh3+) 3. Rh3+ Kg6 (3... Kg4 4. Rh4+ $1) 4. Rxh6+ Kxh6 (4... Kg5 5. Ne6+) 5. Nf5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 140 date: 1935 algebraic: white: [Kd3, Ra6, Sg7, Sd4] black: [Kg3, Qf7, Pd7, Pd5] stipulation: + solution: | 1. Rf6 $1 1... Qg8 2. Ngf5+ Kh2 (2... Kh3 3. Rh6+ Kg4 4. Rh4+ Kg5 5. Rg4+) 3. Rh6+ Kg1 4. Ne2+ Kf2 5. Ne3 $1 5... Qg5 6. Rf6+ $1 6... Qxf6 7. Ng4+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 141 date: 1935 algebraic: white: [Kg6, Rb2, Sg1, Sc4] black: [Kd1, Qa7, Pg7, Pc5] stipulation: + solution: | "1. Rd2+ 1... Kc1 $1 (1... Ke1 2. Nf3+ Kf1 3. Ne3#) 2. Ne2+ Kb1 3. Rb2+ Ka1 4. Nc3 $1 4... Qb6+ (4... Qa6+ $1 5. Rb6 (5. Kxg7 Qf6+ 6. Kxf6) 5... Qb7 $3) 5. Nxb6 Kxb2 6. Nca4+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 142 date: 1935 algebraic: white: [Kc7, Re2, Se4, Sb6] black: [Kf8, Qe8, Ph7, Ph6] stipulation: + solution: | 1. Nd7+ 1... Kg7 $1 2. Rg2+ Kh8 (2... Qg6 3. Rg3 $1 3... Kh8 (3... Qxg3+ 4. Nxg3) 4. Rxg6 hxg6 5. Ne5) 3. Nd6 $1 3... Qe6 $1 (3... Qe7 4. Kc6) (3... Qh5 4. Rg8+ Kxg8 5. Nf6+) (3... Qg6 4. Rxg6 hxg6 5. Ne5) 4. Kc6 h5 (4... Qb3 5. Ne5 Qa4+ (5... Qc3+ 6. Kd7) 6. Kc7 Qa5+ (6... Qa7+ 7. Nb7) 7. Kd7 Qa4+ 8. Ke6 Qb3+ 9. Kf6) 5. Ne5 h6 6. Ng6+ Kg8 (6... Kg7 7. Nf4+ Qg4 8. Rxg4+) 7. Nf4+ Qg4 8. Rxg4+ hxg4 9. Nh5 g3 10. Nxg3 h5 11. Kd5 h4 12. Nf1 Kg7 13. Ke6 Kg6 14. Nf7 h3 15. Nh2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 144a date: 1935 algebraic: white: [Kg4, Rb2, Se3, Sd5] black: [Kh6, Qh7, Sh4, Pe5] stipulation: + solution: | 1. Rb6+ Qg6+ 2. Rxg6+ Nxg6 3. Nf5+ Kh7 4. Nf6+ Kh8 5. Kg5 Nf4 6. Kh6 Ne6 7. Ne7 $1 (7. Nd6 $2 7... Nd8 $1 8. Nf5 Nc6) 7... Nf4 8. Nc6 Nd3 9. Nd8 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 145 date: 1935 algebraic: white: [Kg2, Ra8, Sh2, Se2] black: [Kd6, Qh5, Bh6, Pg7, Pg5, Pf7] stipulation: + solution: | 1. Ng3 Qg6 2. Ra6+ Ke5 3. Rxg6 fxg6 4. Ng4+ Kf4 5. Kh3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 146 date: 1935 algebraic: white: [Kh7, Rc7, Sf1, Sc8, Pg6] black: [Ke8, Qf8, Ph3, Pf7, Pd3] stipulation: + solution: | 1. g7 Qxg7+ (1... Qg8+ 2. Kxg8 h2 3. Nxh2 d2 4. Kh7) 2. Kxg7 h2 3. Nxh2 (3. Nd6+ $1 3... Kd8 4. Rc8+ Kd7 5. Rh8) 3... d2 4. Nd6+ Kd8 5. Rc3 d1=Q 6. Nb7+ Ke8 7. Re3+ Kd7 8. Rd3+ Qxd3 9. Nc5+ Kd6 10. Nxd3 f5 11. Nf3 $1 11... Kd5 12. Nf2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 147 date: 1935 algebraic: white: [Kh5, Ba5, Sg6, Sg5] black: [Kf6, Qa7, Pg7] stipulation: + solution: | 1. Bd8+ Kf5 2. Ne7+ Kf4 3. Bc7+ Ke3 4. Bb6+ Qxb6 5. Nd5+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 150 date: 1935 algebraic: white: [Kg7, Bc8, Sa7, Sa4, Pf6] black: [Kd6, Qb3, Pc3, Pb7] stipulation: + solution: | "1. f7 Qxf7+ 2. Kxf7 c2 3. Nb5+ Kc6 (3... Ke5 4. Nc5 c1=N 5. Bxb7) (3... Kd5 4. Bxb7+ Ke5 5. Nc5) 4. Nd4+ Kc7 5. Nxc2 Kxc8 6. Nb4 (6. Ke7 $1 6... b5 7. Nc5 b4 (7... Kc7 8. Nb4 Kb6 9. Kd6 Ka5 10. Nc6+ Kb6 11. Nb3 b4 12. Ncd4 Kb7 13. Kd7) 8. Nb3 Kc7 9. Ncd4 Kc8 10. Ne6 Kb8 11. Kd7 Kb7 12. Ned4 Kb6 13. Kc8 Ka7 14. Kc7 Ka6 15. Kc6 Ka7 16. Nc5 Kb8 17. Kd7 Ka7 18. Kc7 b3 19. Nc6+ Ka8 20. Kc8 b2 21. Na6 b1=Q 22. Nc7#) 6... b5 (6... b6 7. Nc3 b5 8. Ke7) 7. Nc5 Kd8 8. Kf8 Kc7 9. Ke7 Kb6 10. Kd6 Ka5 11. Nc6+ Kb6 12. Nb3 b4 (12... Kb7 13. Kd7) 13. Ncd4 Kb7 14. Ne6 Kb6 (14... Kb8 15. Kc5 Ka7 16. Kc6) 15. Nc7 Kb7 16. Nd5 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 151 date: 1935 algebraic: white: [Kc2, Bh6, Sf5, Sf1, Pg6] black: [Kd5, Qb7, Ba8, Ph7, Pc6] stipulation: + solution: | "1. g7 Qf7 2. g8=Q (2. Ne7+ $2 2... Kd6 3. g8=Q Kxe7 4. Qg5+ (4. Bg5+ Ke6 5. Qc8+ Ke5 6. Qb8+ Kf5) 4... Kd7 5. Qg4+ Qe6 6. Qg7+ Qe7 7. Qd4+ Qd6 8. Qa7+ Ke6 9. Qxa8 Qc5+) 2... Qxg8 3. Ne7+ 3... Ke6 $1 4. Nxg8 Kf7 5. Nd2 $3 5... Kxg8 ( 5... c5 6. Nc4 Bd5 (6... Be4+ 7. Kc3) 7. Nd6+ (7. Ne5+ $2 7... Kxg8 8. Kd3 c4+ 9. Kd4 Bf7 10. Ke4 (10. Kc5 c3 11. Kd6 Bg6 12. Ke7 c2 13. Ng4 (13. Kf6 c1=Q) 13... c1=Q 14. Nf6+ Kh8 15. Bxc1 Kg7) 10... Be6 11. Kf4 c3 12. Kg5 c2 13. Kf6 Bd5 14. Ke7 c1=Q) 7... Kg6 8. Ne7+ Kxh6 9. Nxd5 9... Kg5 $1 (9... c4 10. Ne4 c3 11. Nf2) 10. Nc4 h5 11. Kd2 h4 12. Ke2 Kg4 13. Kf2 h3 14. Nde3+ Kf4 15. Kf1 Kg5 16. Kg1 Kh4 17. Kf2 Kh5 18. Kf3) 6. Ne4 c5 (6... Bb7 7. Nd6) (6... Kf7 7. Nc5 Kg6 8. Bf8 h5 (8... Kf5 9. Bd6 Kg4 10. Kd2 Kf3 11. Ke1 Kg2 (11... Ke3 12. Be5) 12. Ke2 h5 13. Be7 $1 13... Kg3 14. Kf1 h4 15. Kg1 h3 16. Bd6+ Kf3 17. Be5) 9. Kd2 Kf5 10. Bd6 Kg4 11. Ke2 h4 12. Kf2) 7. Nd6 $1 7... Bg2 (7... Bd5 8. Kd3 Be6 9. Ke4 c4 10. Ke5) (7... c4 8. Kc3 Bd5 9. Kd4 Be6 10. Ke5) 8. Kd3 Bd5 (8... Bf1+ 9. Ke4 c4 10. Ke5) 9. Ke3 Be6 (9... Bf7 10. Ke4 c4 11. Ke5 c3 12. Kf6 Bg6 13. Nc8 c2 14. Ne7+ Kh8 15. Bg7#) 10. Ke4 c4 11. Ke5 Bh3 (11... Bd7 12. Kf6 c3 13. Ke7 Bc6 14. Ke6 c2 15. Nf5 c1=Q 16. Ne7+ Kh8 17. Bxc1) 12. Kf6 c3 13. Ke7 $1 13... c2 14. Ne4 c1=Q 15. Nf6+ Kh8 16. Bxc1 Kg7 17. Nh5+ Kg6 (17... Kh8 18. Bh6) 18. Nf4+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 160 date: 1935 algebraic: white: [Kh2, Rc3, Be1, Ph3, Pc5] black: [Kh8, Qd7, Ph7, Pd6, Pb5] stipulation: + solution: | 1. Rg3 1... d5 $1 2. Bf2 (2. Rg4 $2 2... Qc7+ 3. Kh1 d4 4. Bf2 Qc6+ 5. Kg1 h5) 2... d4 $1 3. Rg4 Qc7+ 4. Kg1 $1 4... h5 5. Bxd4+ Kh7 6. Rg7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 203 date: 1935 algebraic: white: [Ka2, Bd3, Sa3, Pd2, Pb3, Pb2, Pa5] black: [Ka7, Qd5, Pd4] stipulation: + solution: | "1. Nb5+ Ka6 (1... Kb7 2. Be4) (1... Kb8 2. a6 Kc8 (2... Qa8 3. a7+ Kc8 4. Be4 Qxe4 5. Nd6+) (2... Qf3 3. a7+ Ka8 (3... Kb7 4. Be4+) 4. Bc4) (2... Qe6 3. a7+ Kb7 4. Be4+) 3. Bf5+ Kd8 4. a7 Ke7 5. d3 Qxb5 6. a8=Q Qxf5 7. Qa7+ Ke6 8. Qxd4) 2. Nc7+ Kxa5 3. Bc4 $1 (3. Nxd5) 3... Qg5 (3... Qf5 4. Nd5 Qc2 5. Ka3) 4. Nd5 Qxd2 5. Ka3 Qh6 (5... Qd3 $3 6. Bxd3 (6. Ka2 Qc2 7. Ka3 Qd3)) 6. b4# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 239 date: 1935 algebraic: white: [Kg1, Bf8, Pg2, Pf3, Pa2] black: [Kh4, Qa6, Ph5, Pg7, Pg5] stipulation: + solution: | "1. Kh2 Qxa2 (1... g4 2. Be7+ g5 3. g3#) (1... Qe2 2. Bxg7 Qe1 3. Bc3 $1 3... Qe2 (3... Qg3+ 4. Kg1 Qd6 5. Be1+) 4. a4) 2. Bxg7 (2. Bd6 $2 2... g4 3. Be7+ g5 ) 2... Qe2 (2... Qd2 3. Be5 Qf4+ 4. g3+ $1) 3. Bf6 $1 (3. Bd4 $2 3... Qe1 $1) 3... Qf2 4. Be5 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 252 date: 1935 algebraic: white: [Kf3, Bf5, Sf7, Sb3] black: [Kb7, Rd1, Pg7, Pc7] stipulation: + solution: | 1. Ke2 Rg1 2. Kf2 Rd1 3. Bc2 Rd5 4. Be4 c6 5. Bxd5 cxd5 6. Nd4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 253 date: 1935 algebraic: white: [Kb1, Bf2, Sd3, Sc2] black: [Ka6, Ra5, Pb7, Pb3, Pb2, Pa4] stipulation: + solution: | "1. Ndb4+ Kb5 2. Na3+ Kxb4 3. Be1+ Kxa3 (3... Kc5 4. Bxa5 b5 (4... b6 5. Be1) 5. Kxb2) 4. Bxa5 b6 5. Bd2 b5 6. Bc3 b4 7. Bxb2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 254 date: 1935 algebraic: white: [Kc7, Be8, Sh2, Sa2, Pg6] black: [Kf5, Re6, Ph3, Pb7] stipulation: + solution: | 1. Bd7 (1. Bf7 Rxg6 2. Bxg6+ Kxg6) 1... Ke5 $1 (1... Kf6 2. g7) 2. Bxe6 Kxe6 3. Nc3 $1 (3. Kb6 $2 3... Kf6 4. Nc3 Kxg6 5. Ng4 Kf5 6. Nf2 Kf4 7. Nxh3+ Kg3 8. Ng5 Kf4) 3... Kf6 (3... b5 4. Nxb5 (4. Nd5 $2 4... b4 5. Kd8 b3 6. Ke8 b2 7. g7 b1=Q 8. g8=Q+ Kd6)) (3... b6 4. Nb5) 4. Kd6 Kxg6 (4... Kg7 5. Nb5) 5. Ke6 Kg5 6. Ke5 b5 (6... Kg6 7. Nb5 Kf7 8. Kf4 Ke6 9. Kg3 Kd5 10. Nf3 Kc5 11. Nfd4) 7. Nxb5 Kg6 8. Nd6 Kg5 9. Nf7+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 326 date: 1935 algebraic: white: [Kh3, Sf8, Se8, Pg6] black: [Kh6, Rd2, Sd4, Pa7] stipulation: + solution: | 1. g7 Rd3+ (1... Ne2 $1 2. Kg4 (2. g8=Q Nf4+ 3. Kg4 Rg2+) (2. g8=N+ 2... Kg5 $1 ) (2. Ng6 Kh7) 2... Rd4+ 3. Kf3 Ng1+ 4. Kg3 Ne2+) 2. Kg4 (2. Kh4 $2 2... Nf5+) (2. Kg2 Nf5 3. g8=Q Rg3+) 2... Rg3+ 3. Kxg3 Nf5+ 4. Kg4 Nxg7 (4... Ne7 5. Kf4) 5. Nd6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы в СССР date: 1935 algebraic: white: [Kh2, Bf8, Pg2, Pf2, Pa2] black: [Kh4, Qa6, Ph5, Pg7, Pg5] stipulation: + solution: 1. f3 Qxa2 2. Bxg7 Qe2 3. Bc3 Qf2 4. Be5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы в СССР date: 1935 algebraic: white: [Kc1, Qf1, Bf8] black: [Kb3, Qh7, Se1, Pg7, Pa6] stipulation: + solution: | 1. Qf7+ 1... Kc3 $1 2. Bxg7+ Kd3 3. Kd1 $1 3... a5 (3... Qh2 4. Qd5+ Ke3 5. Bd4+) 4. Qb3+ Ke4 5. Qb7+ Kd3 6. Qb1+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Magyar Sakkvilág date: 1936 distinction: Commendation algebraic: white: [Kd3, Bb1, Sc6, Sa6, Pa2] black: [Ka3, Be6, Pf5, Pa5] stipulation: + solution: | 1... Bd5 2. Nxa5 Be4+ 3. Kc3 Bxb1 4. Nc4+ Kxa2 (4... Ka4 5. Nc5+ Kb5 6. Na3+) 5. Nb4+ Ka1 6. Nd2 Be4 7. Kb3 Bb1 8. Nc6 $1 8... Be4 9. Nd4 Bb1 10. Ka3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы в СССР date: 1936 distinction: 1st Honorable Mention algebraic: white: [Kb2, Be6, Sh2, Sg6] black: [Ke3, Bh1, Bd2, Pc6, Pc5] stipulation: + solution: | "1. Nf1+ Ke2 2. Ng3+ 2... Kf3 $1 3. Nxh1 Kg2 4. Nh4+ $1 4... Kxh1 5. Nf3 Bb4 6. Bh3 c4 7. Kc2 c3 8. Kd1 Ba5 9. Bf1 $1 9... Bb4 10. Ke2 c2 11. Kf2 11... Be1+ $1 12. Nxe1 c1=Q 13. Bg2+ Kh2 14. Nf3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: «64» date: 1936 algebraic: white: [Kc5, Bh5, Pg5, Pf6, Pb6] black: [Ke6, Bc1, Sh8, Pe7, Pa7] stipulation: + solution: | "1. b7 Ba3+ (1... Bf4 2. f7 Nxf7 3. Bg4+ Ke5 4. b8=Q+) 2. Kd4 Bb2+ (2... Bd6 3. f7 Nxf7 4. Bg4#) 3. Kc4 Be5 4. f7 Nxf7 5. Bg4+ Kd6 6. b8=Q+ 1-0" --- authors: - Троицкий, Алексей Алексеевич source: «64» source-id: 15 date: 1936 algebraic: white: [Kc8, Rb1, Bc7, Sg6, Pc4] black: [Ka8, Qc5, Sa2, Pb7] stipulation: + solution: | 1. Rb5 Qxb5 2. cxb5 Nc3 3. b6 3... Nd5 $1 4. Kd7 $1 4... Ne7 $1 5. Nf4 Ng6 6. Nh3 Nf4 7. Nf2 Nh3 8. Nh1 Nf2 9. Ng3 Nh1 10. Nf5 Ng3 11. Ng7 Nf5 12. Ne6 Ng7 13. Nd8 Ne6 14. Nxb7 14... Nc5+ $1 15. Kc6 Nxb7 16. Kb5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Denken und Raten source-id: 551 date: 1933-01-23 algebraic: white: [Ke1, Bg2, Sh5, Sf4] black: [Kg1, Bd5, Ph2] stipulation: + solution: | "1.Bg2*d5 ? h2-h1=Q 2.Bd5*h1 Kg1*h1 1.Bg2-h1 ! Bd5*h1 2.Sf4-h3+ Kg1-g2 3.Sh3-g5 ! Kg2-g1 4.Sh5-f4 ! Bh1-c6 5.Sg5-h3+ Kg1-h1 6.Ke1-f2 Bc6-d7 7.Sf4-e2 {or Sh5} Bd7*h3 8.Se2-g3#" --- authors: - Троицкий, Алексей Алексеевич source: «64» source-id: 24 date: 1936 algebraic: white: [Ke1, Bh7, Sh5, Se6] black: [Kg2, Bf1, Ph2] stipulation: + solution: | 1. Be4+ Kg1 2. Bh1 $1 2... Bg2 $1 3. Nef4 Bxh1 4. Nh3+ Kg2 5. Ng5 Kg1 6. Nf4 Bf3 7. Ngh3+ Kh1 8. Kf2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 302 date: 1937 algebraic: white: [Kb8, Sh2, Sd2, Pb7] black: [Kg2, Ra3, Ph7] stipulation: + solution: | 1. Kc7 $1 (1. Kc8 $2 1... Rg3 2. Ndf1 Rg8+) (1. Ndf1 $2 1... Rb3 2. Kc7 Rc3+) 1... Ra7 (1... Rc3+ 2. Kd7) 2. Ndf1 (2. Ng4 h5) (2. Nhf3 Kg3) (2. Ndf3 $2 2... Kg3 $1) 2... Kf2 (2... Kh3 3. Kc8 Rxb7 4. Kxb7 Kh4 5. Kc6 Kg5 (5... h5 6. Kd5 $1 (6. Nd2 $2 6... Kg3 7. Ndf3 h4 8. Kd5 Kf4) 6... Kg5 7. Ke5 h4 8. Nf3+ Kg4 9. Ke4 h3 10. N1h2+) 6. Nd2 $1 6... Kf4 $1 (6... h5 7. Ndf3+ Kf5 8. Nh4+ Kf4 9. N2f3) 7. Ndf3 7... Kg3 $1 8. Kd5 h5 9. Ke4) 3. Kc8 Rxb7 4. Kxb7 h5 (4... Ke2 5. Ng3+ Kf2 6. Nh5) 5. Kc6 Ke2 6. Kd5 Kd3 (6... h4 7. Kd4 Kd1 8. Kc3 Ke1 (8... Kc1 9. Nf3) 9. Kd3 Kf2 (9... Kd1 10. Ne3+ Ke1 (10... Kc1 11. Kc3) 11. Nhg4) 10. Kd2 ) 7. Ng3 h4 (7... Kc3 8. Ne4+ Kd3 9. Nf2+) (7... Kc2 8. Ne4 h4 9. Kc4) 8. Nh5 $1 8... Ke3 (8... Ke2 9. Ke4 Kf2 10. Nf6 Ke2 (10... Kg3 11. Nfg4) 11. Nf3 Kf2 12. Ng4+ Ke2 13. Ngh2 Kf2 14. Kd3) 9. Ke5 Kf2 10. Nf6 Ke3 11. Nfg4+ Kd2 (11... Kd3 12. Nf2+ Ke3 13. Nh3) 12. Kd4 Kc2 13. Ne5 Kb3 14. Nc6 Kc2 15. Nf3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 307 date: 1937 algebraic: white: [Ka1, Se5, Se2, Pg6] black: [Ke7, Rd2, Pe4, Pc4] stipulation: + solution: | 1. g7 Rd8 (1... Rd1+ 2. Ka2 Rd8 3. Ka3 $1) 2. Nc6+ Kf7 3. Nxd8+ Kxg7 4. Nc3 4... e3 $1 5. Ne6+ Kf6 6. Nd4 6... Ke5 $1 7. Nc2 $1 (7. Nde2 $2 7... Kf5 8. Ka2 Kg4 9. Ka3 Kf3 10. Kb4 Kf2 11. Kc5 Ke1 12. Kd4 Kd2) 7... Kf4 8. Kb2 Kf3 9. Kc1 Kf2 10. Kd1 e2+ 11. Kd2 Kf1 12. Nxe2 c3+ 13. Ke3 Kg2 14. Kf4 Kh3 15. Kg5 Kh2 16. Kh4 Kg2 17. Kg4 Kf1 (17... Kf2 18. Nf4) 18. Ned4 Kg2 (18... Kf2 19. Kh3) 19. Ne6 Kf2 (19... Kf1 20. Kf3) 20. Nf4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 314 date: 1937 algebraic: white: [Ka8, Sf8, Sa5, Pg2, Pf6] black: [Kc8, Rh2, Pg7] stipulation: + solution: | 1. f7 Rxg2 2. Ne6 $1 2... Rf2 3. f8=Q+ Rxf8 4. Nc4 $3 (4. Nxf8 $2 4... g5) 4... Kd7+ 5. Nxf8+ Ke7 6. Ng6+ Kf6 7. Nce5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 360 Brilliant & Instructive Endgames source-id: 314 date: 1937 algebraic: white: [Ka8, Sf8, Sa5, Pf6] black: [Kc8, Rh7, Pg7] stipulation: + solution: | 1. f7 (1. Nxh7 $2 1... gxf6) 1... Rh2 (1... Rh6 2. Ng6) (1... Rh8 2. Ng6) 2. Ne6 Rf2 3. f8=Q+ Rxf8 4. Nc4 Kd7+ 5. Nxf8+ Ke7 6. Ng6+ Kf6 7. Nce5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Collection of Chess Studies date: 1937 algebraic: white: [Kc5, Sg4, Sd8] black: [Ka5, Pg5] stipulation: + solution: | "1. Nb7+ $1 1... Ka4 $1 2. Kc4 Ka3 3. Nc5 Kb2 4. Kd3 Kc1 5. Ne3 Kb2 (5... g4 6. Kc3 g3 7. Nd3+ Kb1 8. Ng2 $1 8... Ka1 9. Kb4 Ka2 10. Ka4 Ka1 11. Ka3 Kb1 12. Kb3 Ka1 13. Ne3 g2 14. Nc2+ Kb1 15. Na3+ Ka1 16. Nb4 g1=Q 17. Nbc2#) (5... Kb1 6. Kc3 Ka2 7. Nc4 Kb1 8. Nd3 g4 9. Kb3 g3 10. Na3+ Ka1 11. Nb4 g2 12. Nbc2#) 6. Kd2 g4 7. Nc4+ Kb1 8. Ne4 g3 9. Nc3+ Ka1 10. Kc2 g2 11. Nd2 g1=Q 12. Nb3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Collection of Chess Studies date: 1937 algebraic: white: [Kc5, Sf4, Sb7] black: [Ka5, Pf5] stipulation: + solution: | "1... Ka4 $1 2. Kc4 Ka3 3. Nc5 Kb2 4. Kd3 Kb1 (4... Kc1 5. Na4 $1 5... Kd1 6. Nb2+ Ke1 7. Ke3 Kf1 8. Nbd3 Kg1 9. Ke2 Kh2 10. Kf2 Kh1 11. Nc1 Kh2 12. Nce2 Kh1 13. Ke1 Kh2 14. Kf1 Kh1 15. Kf2 Kh2 16. Nd4 Kh1 17. Nb3 Kh2 18. Nd2 Kh1 19. Kg3 $3 19... Kg1 20. Ne2+ $3 20... Kh1 21. Nf1 f4+ 22. Kh3 f3 23. Nfg3#) 5. Kd2 $3 5... Kb2 6. Nfd3+ $3 6... Ka3 7. Kc2 $3 7... f4 8. Kc3 f3 9. Nf2 Ka2 10. Ncd3 Kb1 11. Kb3 Ka1 12. Kc2 Ka2 13. Nb2 Ka3 14. Kc3 Ka2 15. Nc4 Kb1 16. Kd2 Ka2 17. Kc2 Ka1 18. Kb3 $3 18... Kb1 19. Nd3 $3 19... f2 20. Na3+ Ka1 21. Nb4 f1=Q 22. Nbc2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Collection of Chess Studies date: 1937 algebraic: white: [Kd5, Sf6, Sc2] black: [Kb8, Pc4] stipulation: + solution: | "1. Kd6 $1 (1. Kc6 $2 1... c3 2. Kd7 2... Ka7 $1 (2... Kb7 $2 3. Nd5) 3. Nd5 (3. Kc6 3... Kb8 $1 4. Kd6 Kc8 5. Nd5 Kb8) 3... Kb7 $1 4. Kd6 4... Kb8 $1 5. Ke7 ( 5. Ke6 Ka7) 5... Ka7 6. Kd6 (6. Kd7 Kb7) 6... Kb8 $1) 1... c3 (1... Kc8 2. Nd5 $1 2... c3 3. Ke7) 2. Nd5 Kc8 3. Ke7 Kb8 4. Kd8 Kb7 5. Kd7 Ka7 (5... Kb8 6. Ne7 Kb7 7. Nc8 Ka6 8. Kc6 Ka5 9. Nb6) 6. Kc7 Ka6 7. Kc6 Ka7 8. Ne7 Ka6 (8... Kb8 9. Kb6 Ka8 10. Nf5 Kb8 11. Nd6) (8... Ka8 9. Nf5 Ka7 10. Nd6 Ka6 11. Nb7) 9. Nc8 Ka5 10. Nb6 Ka6 11. Nc4 Ka7 12. Nd6 Ka6 13. Nb7 Ka7 14. Nc5 Kb8 15. Kd7 Ka7 ( 15... Ka8 16. Kc7 Ka7 17. Nb4 c2 18. Nc6+ Ka8 19. Na4 c1=Q 20. Nb6#) 16. Kc7 Ka8 17. Kb6 Kb8 18. Nb7 Kc8 (18... Ka8 19. Nd6 Kb8 20. Nb4 c2 21. Nc6+ Ka8 22. Nb5 c1=Q 23. Nc7#) 19. Kc6 Kb8 20. Nd6 Ka7 (20... Ka8 21. Kb6 Kb8 22. Nb4) 21. Kb5 Kb8 22. Kb6 Ka8 23. Kc7 Ka7 24. Nb4 c2 25. Nc8+ Ka8 26. Nc6 c1=Q 27. Nb6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Collection of Chess Studies date: 1937 algebraic: white: [Kf5, Sg5, Sf6] black: [Kg3, Ph5] stipulation: + solution: | "1. Nfe4+ Kg2 2. Ne6 h4 3. Nf4+ Kh2 4. Kg4 h3 5. Kf3 Kg1 6. Ng3 Kh2 7. Nge2 Kh1 8. Nh5 Kh2 9. Nf6 Kh1 10. Ng4 h2 11. Nf2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Collection of Chess Studies date: 1937 algebraic: white: [Ke6, Re1, Sd2, Sc6] black: [Kg6, Qh8, Pd3] stipulation: + solution: | "1. Ne7+ $1 (1. Rg1+ $2 1... Kh6 $1 2. Rh1+ Kg7 3. Rxh8 Kxh8) (1. Ne5+ $2 1... Kh7 2. Rh1+ Kg7 3. Rxh8 Kxh8 4. Kf7 Kh7) 1... Kg7 2. Rg1+ Kh7 3. Rh1+ Kg7 4. Nf5+ $3 4... Kg8 5. Rxh8+ Kxh8 6. Kf7 Kh7 7. Ne4 d2 8. Nf6+ Kh8 9. Ne7 d1=Q 10. Ng6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Het Eindspel koning + 2 paarden tegen koning + pion date: 1937 algebraic: white: [Ke8, Sh2, Sc8] black: [Kg8, Ph3] stipulation: + solution: | "1... Kg7 2. Ke7 Kg6 3. Ke6 Kg5 4. Ke5 Kh5 5. Kf5 Kh4 6. Kf4 Kh5 7. Nd6 Kg6 8. Ke5 Kg5 9. Nf7+ Kg6 10. Ke6 Kg7 11. Ne5 Kg8 12. Kf6 Kf8 13. Nf7 Ke8 14. Ke6 Kf8 15. Nd6 Kg8 16. Kf5 Kg7 17. Kg5 Kg8 18. Kg6 Kf8 19. Kf6 Kg8 20. Nf5 Kh7 21. Kf7 Kh8 22. Kg6 Kg8 23. Ng7 Kf8 24. Kf6 Kg8 25. Ne6 Kh7 26. Kg5 Kg8 27. Kg6 Kh8 28. Kf7 Kh7 29. Ng4 h2 30. Ng5+ Kh8 31. Ne5 h1=Q 32. Ng6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Советская шахматная композиция source-id: 2.11 date: 1937 algebraic: white: [Kb7, Bf6, Pd7] black: [Kb4, Bc4, Pf2, Pa4] stipulation: + solution: | "1. d8=Q f1=Q 2. Qb6+ Bb5 3. Qa5+ Kxa5 (3... Kc5 4. Qc3+ Kd5 5. Qe5+ Kc4 6. Qd4+ Kb3 7. Qc3+ Ka2 8. Qb2#) 4. Bc3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1937 algebraic: white: [Kc1, Sd6, Sd5] black: [Kh6, Ph7, Pc5] stipulation: + solution: | 1... Kg5 2. Nc4 h5 3. Kd2 h4 4. Ke2 Kg4 5. Kf2 h3 6. Nde3+ Kf4 7. Kf1 Kg5 8. Kg1 Kh4 9. Kf2 Kg5 10. Kg3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: date: 1937 algebraic: white: [Kd2, Se2, Sc2] black: [Kf1, Pc3] stipulation: + solution: | "1. Ke3 $1 1... Kg2 2. Kf4 $1 2... Kh3 3. Kg5 $1 3... Kh2 4. Kh4 Kg2 5. Kg4 Kf1 6. Ned4 Kg2 7. Ne6 Kf1 8. Kf3 Kg1 9. Nf4 Kh2 10. Kf2 Kh1 11. Kg3 Kg1 12. Ne3 c2 13. Ne2+ Kh1 14. Ng4 c1=Q 15. Nf2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1937 algebraic: white: [Ke3, Sh2, Sf3] black: [Kg3, Ph4] stipulation: + solution: 1. Nf1+ Kh3 2. N3h2 1-0 --- authors: - Троицкий, Алексей Алексеевич source: date: 1937 algebraic: white: [Ke7, Sg3, Sf4] black: [Kg7, Pg4] stipulation: + solution: | "1. Nf5+ Kh7 (1... Kg8 2. Nd5 g3 3. Nf6+ Kh8 4. Kf8 g2 5. Nd6 g1=Q 6. Nf7#) 2. Kf7 g3 3. Nh3 g2 4. Ng5+ Kh8 5. Nh4 g1=Q 6. Ng6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1937 algebraic: white: [Kg3, Sg4, Se3] black: [Kg1, Pg5] stipulation: + solution: | "1. Kf3 Kh1 2. Ke2 Kg1 3. Kd2 Kh1 4. Ke1 Kg1 5. Ke2 Kh1 6. Kf3 Kg1 7. Kg3 Kh1 8. Nf1 Kg1 9. Nd2 Kh1 10. Nf2+ Kg1 11. Nh3+ Kh1 12. Ne4 g4 13. Nef2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: date: 1937 algebraic: white: [Kd4, Sh5, Sg3] black: [Kd2, Ph6, Pg5] stipulation: + solution: | 1. Ne4+ Ke2 2. Kc3 Ke3 3. Neg3 Kf3 4. Kd3 Kf2 5. Ke4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: date: 1937 algebraic: white: [Kg4, Sb1, Sa3] black: [Kb3, Pb2, Pa4] stipulation: + solution: | "1... Kb4 2. Kf4 Kc5 3. Ke4 Kb4 4. Kd3 Kb3 5. Kd2 Ka2 6. Kc3 Ka1 7. Kb4 Ka2 8. Kxa4 Ka1 9. Kb4 Ka2 10. Nc3+ Ka1 11. Nc2# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматы в СССР date: 1937 algebraic: white: [Ke4, Bc7, Sg6, Ph6, Pb6] black: [Ka8, Rf6, Sh5, Pf3, Pb7] stipulation: + solution: | 1. h7 1... Rf8 $1 2. Nxf8 Nf6+ 3. Kxf3 Nxh7 4. Ng6 $1 4... Nf8 5. Ne7 $1 (5. Nh4 $2 5... Ng6 6. Nf5 Nh4+) 5... Ng6 6. Nc8 $1 (6. Nf5 $2 6... Nh4+) 6... Ne7 7. Nd6 $1 (7. Na7 $2 7... Nc8 8. Nb5 Nd6) 7... Nf5 8. Ne4 Nd6 9. Nc5 Ne4 10. Nxb7 Kxb7 (10... Nc5 11. Nd8) 11. Kxe4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы в СССР date: 1937 algebraic: white: [Kf1, Be3, Sc3, Sb1, Pc6] black: [Kh2, Rf7, Ba7, Pf2] stipulation: + solution: | 1. c7 Rxc7 2. Bf4+ Kh1 3. Bxc7 Bb8 4. Bb6 Bc7 5. Ba7 Bb8 6. Nd2 Bxa7 7. Nf3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 1234 (Dover edition) source-id: 95 date: 1938 algebraic: white: [Kd1, Sg8, Sd4, Pg6, Pb6] black: [Ke8, Sf7, Sc5, Pd6, Pa3] stipulation: + solution: | "1. b7 (1. g7 $2 1... a2 2. Nc2 (2. Nf6+ Ke7 3. g8=N+ Kd8) 2... Kd8 3. Nf6 Nh6) 1... Nxb7 2. g7 a2 3. Nf6+ Ke7 4. g8=N+ $1 4... Kd8 5. Ne6+ Kc8 6. Ne7+ Kb8 7. Nd7+ Ka8 (7... Ka7 8. Nc6+ Ka6 9. Nc7#) 8. Nc7+ Ka7 9. Nc6# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: 1234 (Dover edition) source-id: 160 date: 1938 algebraic: white: [Ka7, Be4, Bb4] black: [Kd1, Bc8, Pg6, Pe6, Pb5] stipulation: + solution: | 1. Kb8 Bd7 (1... Ba6 2. Bxg6 Ke2 (2... e5 3. Bf5 Ke2 4. Ka7 4... Bc8 $1 5. Bxc8 e4 6. Bd7 e3 7. Bxb5+ Kf2 8. Be7 e2 9. Bh4+) 3. Bf7 e5 4. Bd5 $1 4... Kd3 5. Be6 e4 6. Ka7 e3 7. Kxa6 Ke2 (7... e2 8. Kxb5) 8. Kxb5 Kf1 9. Bc4+ e2 10. Be7 Ke1 11. Bg5 Kd1 12. Bb3+ Ke1 13. Be3) (1... g5 2. Kxc8 g4 3. Kd7 g3 4. Kxe6 Ke2 5. Kd5 Kf1 6. Bc5 g2 7. Bd3+) 2. Kc7 Be8 3. Kd8 Bf7 4. Ke7 Bg8 5. Kf8 Bh7 6. Kg7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы в СССР date: 1938 algebraic: white: [Kh2, Bh4, Sh1, Sd6] black: [Kc3, Pf6, Pe2, Pd3] stipulation: + solution: | "1. Be1+ 1... Kc2 $1 2. Nc4 Kd1 3. Nf2+ Kxe1 4. Kg2 $1 4... f5 5. Kg1 f4 6. Kg2 f3+ 7. Kg1 d2 8. Ne5 $1 8... d1=Q 9. Nxf3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Шахматы в СССР date: 1938 algebraic: white: [Kd1, Sf7, Sd5, Pg6] black: [Kf1, Be6, Ph4, Pc5] stipulation: + solution: | 1. Nf4 h3 (1... Bb3+ $1 2. Kd2 Kf2 3. Nh3+ Kg3 4. Nhg5 h3 5. g7 h2 6. g8=Q h1=Q ) 2. Nxh3 Bg4+ 3. Kd2 Bh5 4. Ne5 (4. Nd6 $1) 4... Bxg6 5. Nc4 Kg2 6. Nf4+ Kf3 7. Nxg6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматы в СССР date: 1938 algebraic: white: [Kd1, Sf7, Sd5, Pg6] black: [Kf1, Be6, Ph4, Pc7] stipulation: + solution: | 1. Nf4 h3 2. Nxh3 Bg4+ 3. Kd2 Bh5 4. Ne5 $1 4... Bxg6 5. Nc4 Kg2 6. Nf4+ Kf3 7. Nxg6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 64 — Шахматное обозрение date: 1986 algebraic: white: [Kc6, Sf3, Sf2] black: [Kd8, Ph6, Pg5, Pf4] stipulation: + solution: | 1. Kd6 Kc8 2. Ke6 Kc7 (2... Kd8 3. Kf7) 3. Kf5 Kd6 (3... Kc6 4. Ng4) (3... Kb6 4. Kg6) (3... Kd7 4. Ng4) 4. Nd3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: 64 — Шахматное обозрение date: 1986 algebraic: white: [Kc1, Ph3, Pg4, Pf5] black: [Kc3, Sf7, Sf6] stipulation: "=" solution: | 1. Kb1 $1 (1. g5 $2 1... Nxg5) (1. h4 $2 1... Nxg4) (1. Kd1 $2 1... Kd3 2. Kc1 (2. Ke1 Ke3 3. Kd1 Kf3 4. Kd2 Kg3 5. Ke3 Ng5) 2... Ke3 3. Kc2 Kf4 4. Kd3 4... Nd6 $1 (4... Ng5 $2 5. h4) 5. Kd4 Nde4 6. Kc4 Nf2 7. Kc5 Ke5 (7... Nxh3 $2 8. Kd6) 8. g5 N2e4+) 1... Kd3 2. Kb2 Ke3 3. Kc3 Kf4 4. Kb4 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный бюллетень date: 1986 algebraic: white: [Ka8, Sd4, Sc4] black: [Kf7, Pf6, Pe6] stipulation: + solution: | 1... Kg6 2. Ne3 f5 (2... Kf7 3. Kb7 Ke7 4. Nc4) 3. Nf3 (3. Nc4 $2 3... e5 4. Nxe5+ Kg5) 3... f4 4. Ne5+ Kf6 5. N3c4 (5. N3g4+ $2 5... Kf5 6. Kb7 f3 7. Kc6 f2 8. Kd6 f1=N) 5... Kf5 (5... f3 6. Nxf3 e5 7. Ne3) 6. Kb7 Ke4 7. Kc6 f3 8. Kd6 f2 9. Nd2+ Ke3 10. Nf1+ Ke2 11. Ng3+ Ke3 (11... Kd2 12. Ng4) (11... Ke1 12. Nd3+) 12. Nc4+ Kd4 (12... Kf3 13. Nf1) (12... Kd3 13. Kc5) 13. Nd2 Ke3 14. Ndf1+ Kf4 15. Ne2+ Kf3 16. Nd4+ Kg2 17. Ne3+ Kg1 18. Nf3+ Kh1 19. Nf1 e5 (19... Kg2 20. N3d2) 20. Kxe5 Kg2 21. N3h2 Kh3 22. Kf5 Kh4 23. Kg6 Kh3 24. Kh5 Kg2 25. Kh4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный бюллетень date: 1986 algebraic: white: [Kd6, Sf2, Sd7] black: [Kg7, Ph6, Pg6] stipulation: + solution: | 1... g5 2. Ne4 Kg6 3. Ke6 Kh5 4. Kf5 Kh4 5. Ndf6 h5 6. Nxg5 Kg3 7. Nfe4+ Kg2 8. Ne6 Kg1 (8... h4 9. Nf4+ Kh2 10. Kg4 h3 11. Kf3 Kg1 12. Ng3 Kh2 13. Nge2) 9. Nf4 Kh2 10. Kg5 Kg1 11. Kf6 Kf1 12. Ke5 h4 13. Nh3 Ke2 14. Kd4 Kf3 15. Nef2 Ke2 16. Kd5 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный бюллетень date: 1986 algebraic: white: [Ke3, Sd1, Sc3] black: [Kc2, Pd2, Pc4] stipulation: + solution: | 1. Ke4 Kc1 2. Kd4 Kc2 3. Kc5 Kb3 4. Kb5 Ka3 5. Ne2 Kb3 6. Nd4+ Ka2 7. Kxc4 Ka3 8. Kb5 Ka2 9. Nc2 Kb3 10. Nb4 Ka3 11. Nd3 Kb3 12. N3b2 Ka3 13. Kc4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный бюллетень date: 1986 algebraic: white: [Kf5, Sf3, Sd4] black: [Kd3, Pg5, Pf6] stipulation: + solution: 1. Kg4 f5+ 2. Kxg5 Ke3 3. Kh4 Kf2 4. Kh3 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Шахматный бюллетень date: 1986 algebraic: white: [Kf5, Sg6, Se7] black: [Kf3, Ph6, Pg4] stipulation: + solution: | "1. Nh4+ Kg3 2. Neg6 h5 3. Ke4 Kf2 4. Nf4 Ke1 5. Ke3 Kd1 6. Kd3 Kc1 7. Kc3 Kd1 8. Nfg2 Ke2 9. Kc2 Kf2 10. Kd2 Kg3 11. Ke2 Kh2 12. Kf1 Kg3 13. Kg1 Kh3 14. Kf2 Kh2 15. Nf4 Kh1 16. Ne2 Kh2 17. Ng3 Kh3 18. Ng2 Kh2 19. Nf4 h4 20. Nge2 Kh1 21. Ng1 Kh2 22. Ng2 Kh1 23. Ne3 g3+ 24. Kf1 g2+ 25. Kf2 h3 26. Nf5 Kh2 27. Nf3+ Kh1 28. Ng3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: «64» date: 1930 algebraic: white: [Kh5, Qf6, Pa2] black: [Kg8, Qb5, Ph6, Pf5, Pd7] stipulation: + solution: | 1. Kg6 Qc6 2. Qxc6 dxc6 3. a4 f4 4. a5 f3 5. a6 f2 6. a7 f1=Q 7. a8=Q+ Qf8 8. Qa2+ Kh8 9. Qb2+ Kg8 10. Qb3+ Kh8 11. Qc3+ Kg8 12. Qc4+ Kh8 13. Qd4+ Kg8 14. Qd7 1-0 --- authors: - Троицкий, Алексей Алексеевич source: «64» source-id: 471 date: 1930 algebraic: white: [Kc7, Bf7, Pd6, Pa2] black: [Ka6, Ph6, Pf2, Pe5, Pc3, Pb4] stipulation: + solution: | 1. Bc4+ Ka7 2. d7 f1=Q 3. Bxf1 c2 $1 4. d8=N $1 c1=Q+ 5. Nc6+ Ka8 6. Ba6 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Magyar Sakkvilág date: 1930 algebraic: white: [Kf6, Pe6, Pd2] black: [Ke2, Sh2, Pc4] stipulation: + solution: | 1. e7 (1. Kf5 $1 {cook} Ng4 2. Kxg4 Kxd2 3. e7 c3 4. e8=Q c2 5. Qd7+ Kc1 6. Qb5 Kd2 7. Qb2 Kd1 8. Kf3 $1) 1... Ng4+ 2. Kf7 $1 Nf6 $1 3. d4 $1 (3. Kxf6 $2 Kxd2 4. e8=Q c3 5. Qd8+ Kc1 $1) 3... c3 (3... cxd3 4. Kxf6 d2 5. e8=Q+) 4. Kxf6 c2 5. e8=Q+ 1-0 --- authors: - Троицкий, Алексей Алексеевич source: Magyar Sakkvilág date: 1930 algebraic: white: [Kg4, Ph6, Pe4] black: [Kb4, Be5, Sb1] stipulation: "=" solution: | 1. Kf5 Bh8 2. e5 Nc3 (2... Kc5 $1 {cook} 3. e6 Kd6 4. Kg6 Nc3 5. Kh7 Be5 6. Kg8 Nd5 7. h7 Ne7+) 3. e6 Nd5 4. Kg6 Kc5 5. e7 Nxe7+ 6. Kh7 Be5 1/2-1/2 --- authors: - Троицкий, Алексей Алексеевич source: Magyar Sakkvilág source-id: 252 date: 1930 algebraic: white: [Kd5, Rh2, Sd4, Sb6] black: [Kc1, Qg4, Ph3] stipulation: + solution: | 1. Rh1+ Kd2 (1... Qd1 $1 {cook}) 2. Nc4+ Kc3 3. Rc1+ Kb4 4. Rb1+ Ka4 5. Ra1+ Kb4 6. Nc6+ Kc3 7. Ra3+ Kc2 8. Ne3+ Kb2 9. Nxg4 Kxa3 10. Nh2 Ka4 11. Kc4 1-0 --- authors: - Троицкий, Алексей Алексеевич source: «64» source-id: 393 date: 1929 algebraic: white: [Ke1, Bd1, Sa4, Pa6] black: [Kg2, Sa8, Ph3, Pd6] stipulation: + solution: | "1. Bb3 (1. Ke2 $1 {cook} h2 2. Ke3 h1=Q 3. Bf3+ Kh2 4. Bxh1 Kxh1 5. Ke4 $1 Nc7 6. a7 d5+ 7. Ke5 d4 8. Nc5 Kg1 (8... Kg2 9. Ne6) 9. Kf6 Kf2 10. Ke7 Ke3 11. Kd7 ) 1... Nc7 2. a7 h2 3. a8=Q+ Nxa8 4. Bd5+ Kg1 $1 5. Bh1 $1 Nb6 $1 6. Nc3 $1 Nd5 7. Ne2+ Kxh1 8. Kf2 Nf4 9. Ng3# 1-0" --- authors: - Троицкий, Алексей Алексеевич source: Deutsche Schachzeitung source-id: 1389 date: 1914 algebraic: white: [Kd8, Rc4, Ba8, Pf5] black: [Ka5, Se8, Ph4, Pc6, Pb2] stipulation: "=" solution: | 1. Rc5+ Kb6 2. Rxc6+ Ka7 3. f6 Nxf6 4. Rc7+ Kxa8 5. Rc4 b1=Q (5... b1=R 6. Rxh4 ) 6. Ra4+ Kb7 7. Rb4+ Qxb4 1/2-1/2 --- authors: - Айзенштат, Марк Аронович - Троицкий, Алексей Алексеевич source: Шахматы в СССР date: 1940 algebraic: white: [Kf3, Se8, Sb3] black: [Ka8, Ba7, Pb7, Pb6] stipulation: + solution: | "1.Sс7+ Kb8 2.Sb5 Ka8 3.Sс1 Bb8 4.Sd3 Bh2 5.Kg2 Bb8 6.Kh3 Ba7 7.Sb4(f4) Bb8 8.Sd5 Ba7 9.Kg4(g2,h4) Kb8 10.Sf6 Ka8 11.Sd7 Bb8 12.S:b6#" keywords: - Miniature --- authors: - Троицкий, Алексей Алексеевич source: source-id: / date: 1930 algebraic: white: [Kg6, Pa7] black: [Kg8, Qf1, Ph5, Pc6] stipulation: + solution: 1.a8/Q+ Qf8 2.Qa2+ Kh8 3.Qb2+ Kg8 4.Qb3+ Kh8 5.Qc3+ Kg8 6.Qc4+ Kh8 7.Qd4+ Kg8 8.Qd7 wins keywords: - Staircase --- authors: - Троицкий, Алексей Алексеевич source: Новое время (Санкт-Петербург) date: 1895-10-02 algebraic: white: [Kh6, Ra8, Pa7] black: [Kh4, Ra2] stipulation: + solution: | 1.Kh6-g6 Kh4-g4 2.Kg6-f6 Kg4-f4 3.Kf6-e6 Kf4-e4 4.Ke6-d6 Ke4-d4 5.Kd6-c6 Kd4-c4 6.Ra8-c8 Ra2*a7 7.Kc6-b6+ keywords: - Grab --- authors: - Троицкий, Алексей Алексеевич source: Tidskrift för Schack source-id: 99 date: 1910 algebraic: white: [Ke5, Ra8, Bc7, Ph5] black: [Kg7, Bf8, Se1, Pg2, Pa3] stipulation: "=" solution: | 1.Bc7-b6 Bf8-c5 ! 2.Bb6*c5 Se1-d3+ 3.Ke5-f5 Sd3*c5 4.h5-h6+ Kg7-h7 5.Ra8-a7+ Kh7*h6 6.Ra7*a3 g2-g1=Q 7.Ra3-h3+ Kh6-g7 8.Rh3-g3+ Qg1*g3 6...Sc5-b3 7.Ra3-a4 5...Kh7-h8 6.Ra7-a8+ Kh8-h7 7.Ra8-a7+ 4...Kg7-f7 5.Ra8-a7+ Kf7-g8 6.Ra7-g7+ 1...Se1-d3+ ! {refutation} 2.Ke5-f5 Sd3-c5 1.h5-h6+ ! {cook} keywords: - Cooked ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootpychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-overloaded-pieces_by_arex_2017.01.31.sqlitepychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-overloaded-pieces_by_arex_2017.01.31.sqli0000644000175000017500000026000013441162535032346 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) Z7learn/puzzles/lichess_study_lichess-practice-overloaded-pieces_by_arex_2017.01.31.pgn 1Alexander Grischuk)Magnus Carlsen 1Alexander Grischuk) Magnus Carlsen #Linares ESP%Qhttps://lichess.org/study/o734CNqp #Linares ESP%Q https://lichess.org/study/o734CNqp Ahttps://lichess.org/@/arex A https://lichess.org/@/arex [$H Linares6 sLichess Practice: Overloaded Pieces: Overloaded #105 qLichess Practice: Overloaded Pieces: Overloaded #95qLichess Practice: Overloaded Pieces: Overloaded #85qLichess Practice: Overloaded Pieces: Overloaded #75qLichess Practice: Overloaded Pieces: Overloaded #65qLichess Practice: Overloaded Pieces: Overloaded #55qLichess Practice: Overloaded Pieces: Overloaded #45qLichess Practice: Overloaded Pieces: Overloaded #35qLichess Practice: Overloaded Pieces: Overloaded #25qLichess Practice: Overloaded Pieces: Overloaded #1  \%I Linares 7sLichess Practice: Overloaded Pieces: Overloaded #10 6qLichess Practice: Overloaded Pieces: Overloaded #9 6qLichess Practice: Overloaded Pieces: Overloaded #86qLichess Practice: Overloaded Pieces: Overloaded #76qLichess Practice: Overloaded Pieces: Overloaded #66qLichess Practice: Overloaded Pieces: Overloaded #56qLichess Practice: Overloaded Pieces: Overloaded #46qLichess Practice: Overloaded Pieces: Overloaded #36qLichess Practice: Overloaded Pieces: Overloaded #25q Lichess Practice: Overloaded Pieces: Overloaded #1  20180221 o| & - !      2009.03.04120B84X      0?r7/2k1Pp1p/p1n2p2/P1b1r3/2p5/2P3P1/5P1P/1R1Q2K1 w - - 2 29X     KH 0?3r2k1/1pp4p/p1n1q1p1/2Q5/1P2B3/P3P1Pb/3N1R1P/6K1 b - - 1 1P   s 0?5k1r/p4p2/3Np2p/3bP3/8/3RBPb1/1r4P1/2R3K1 w - - 0 1K   i 0?2Q5/1p3p1k/p2prPq1/8/7p/8/PP3RP1/6K1 w - - 0 1[    9 80?3r2k1/pb1r1pp1/1pn2q1p/3B4/6Q1/P4NP1/1P3PP1/3RR1K1 w - - 7 23P   s 0?8/1Q1rkpp1/p3p3/3nB1r1/8/3q3P/PP3R2/K1R5 w - - 2 34O   q 0?3q3k/pp2b1pp/8/2P5/1P2RBQ1/2P5/P4rPp/7K w - - 2 29N   o 0?2b5/7p/3k2pP/1p1p1pP1/1P1P1K2/8/5P2/3B4 w - - 0 1K   i 0?2r1rbk1/5pp1/3P1n2/8/8/3Q3P/2B2PPK/8 w - - 0 1B   a 0?6k1/5pp1/4b1n1/8/8/3BR3/5PPP/6K1 w - - 0 1                         K    9        H    8                                + pYI*nU>. r T ; $   h X ? ( K+ OpeningSicilian Defense: Scheveningen Variation, Classical Variation* UTCTime22:23:15)! UTCDate2017.01.31( Opening?' UTCTime23:49:39&! UTCDate2017.01.31%## Termination+640cp in 4$ Opening?# UTCTime23:26:53"! UTCDate2017.01.31!## Termination-300cp in 3 Opening?UTCTime21:51:57!UTCDate2017.01.31##Termination+250cp in 3Opening?UTCTime21:26:24!UTCDate2017.01.31##Termination+400cp in 4Opening?UTCTime19:45:13!UTCDate2017.01.31##Termination+600cp in 4Opening?UTCTime20:51:49!UTCDate2017.01.31##Termination+400cp in 3Opening?UTCTime19:46:44!UTCDate2017.01.31 ##Termination+500cp in 1 Opening? UTCTime22:01:34 !UTCDate2017.01.31 #%Termination+1000cp in 4Opening?UTCTime22:03:30!UTCDate2017.01.31#!Termination+50cp in 1  Opening? UTCTime21:01:54 !UTCDate2017.01.31 ##Termination+500cp in 1pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-zugzwang_by_arex_2017.02.01.sqlite0000644000175000017500000026000013441162535031157 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) Q%learn/puzzles/lichess_study_lichess-practice-zugzwang_by_arex_2017.02.01.pgn   %Qhttps://lichess.org/study/9cKgYrHb %Q https://lichess.org/study/9cKgYrHb Ahttps://lichess.org/@/arex A https://lichess.org/@/arex P|P*[Lichess Practice: Zugzwang: Zugzwang #4*[Lichess Practice: Zugzwang: Zugzwang #3*[Lichess Practice: Zugzwang: Zugzwang #2*[Lichess Practice: Zugzwang: Zugzwang #1 Q}Q+[Lichess Practice: Zugzwang: Zugzwang #4+[Lichess Practice: Zugzwang: Zugzwang #3+[Lichess Practice: Zugzwang: Zugzwang #2*[ Lichess Practice: Zugzwang: Zugzwang #1  20180221 }9B   W 0?1k1b4/2n5/1K6/4B3/6B1/8/8/8 w - - 0 1B   W .(0?8/8/3k4/1p1p4/1P6/2P1K3/8/8 w - - 0 1F   _ 0?5rk1/6n1/8/7p/4q1pP/6P1/6RQ/6NK b - - 0 19   O 0?kbK5/pp6/1P6/8/8/8/8/R7 w - - 0 1       .  (          s\L$ Opening?UTCTime00:57:39!UTCDate2017.02.02 #Terminationmate in 4 Opening? UTCTime17:48:07 !UTCDate2017.02.01& #7Terminationpromotion with +100cpOpening?UTCTime18:38:52!UTCDate2017.02.01#Terminationmate in 3  Opening? UTCTime00:52:16 !UTCDate2017.02.02 #Terminationmate in 2pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-greek-gift_by_arex_2017.02.11.pgn0000644000175000017500000000667513365545272030643 0ustar varunvarun[Termination "+370cp in 4"] [Event "Lichess Practice: Greek Gift: Greek Gift Introduction"] [Site "https://lichess.org/study/s5pLU7Of"] [UTCDate "2017.02.11"] [UTCTime "11:16:11"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "rnbq1rk1/pppn1ppp/4p3/3pP3/1b1P4/2NB1N2/PPP2PPP/R1BQK2R w KQq - 0 1"] [SetUp "1"] { The Greek Gift sacrifice is a common tactical theme, where one side sacrifices their bishop by capturing the rook pawn of a castled king position (white playing Bxh7+ or black playing Bxh2+) usually in order to checkmate the opponent or gain significant material advantage. Play the Greek Gift sacrifice and maintain a winning position for 4 moves to complete this exercise. } 1. Bxh7+ (18. Bxh7+) 1... Kxh7 { Ng5 and Qh5 are very common follow-up moves to a Greek Gift sacrifice. } { [%cal Gf3g5,Gd1h5] } (20... Kf8) 2. Ng5+ Kg8 (2... Qxg5 3. Bxg5 Rh8 4. Qh5+ Kg8 5. Qg4 c5) 3. Qh5 Qxg5 4. Bxg5 * [Termination "mate in 7"] [Event "Lichess Practice: Greek Gift: Greek Gift Challenge #1"] [Site "https://lichess.org/study/s5pLU7Of"] [UTCDate "2017.02.11"] [UTCTime "14:35:48"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "rnb2rk1/pp1nqppp/4p3/3pP3/3p3P/2NB3N/PPP2PP1/R2QK2R w KQ - 0 10"] [SetUp "1"] { From Efim Bogoljubov - NN, 1951. } 10. Bxh7+ Kh8 11. Qh5 Qxh4 12. Qxh4 Nf6 13. Bd3+ Kg8 14. exf6 Re8 15. Qh7+ Kf8 16. Qxg7# * [Termination "+260cp in 6"] [Event "Lichess Practice: Greek Gift: Greek Gift Challenge #2"] [Site "https://lichess.org/study/s5pLU7Of"] [UTCDate "2017.02.11"] [UTCTime "12:30:09"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r3r1k1/1b2qppp/p7/1p1Pb3/1P6/P2B4/1B2Q1PP/3R1RK1 w - - 0 21"] [SetUp "1"] { Maintain a winning position for 6 moves to complete this exercise. From Carl Schlechter - Geza Maroczy, 1907. } * [Termination "+340cp in 6"] [Event "Lichess Practice: Greek Gift: Greek Gift Challenge #3"] [Site "https://lichess.org/study/s5pLU7Of"] [UTCDate "2017.02.11"] [UTCTime "11:59:04"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r2qrbk1/5ppp/pn1p4/np2P1P1/3p4/5N2/PPB2PP1/R1BQR1K1 w - - 1 20"] [SetUp "1"] { Maintain a winning position for 6 moves to complete this exercise. From Boris Spassky - Efim Geller, 1965. } * [Termination "+290cp in 5"] [Event "Lichess Practice: Greek Gift: Greek Gift Challenge #4"] [Site "https://lichess.org/study/s5pLU7Of"] [UTCDate "2017.02.11"] [UTCTime "12:48:30"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "3r1rk1/bpq2ppp/p1b1p3/2P5/1P2B3/P4Q2/1B3PPP/2R2RK1 w - - 3 18"] [SetUp "1"] { Maintain a winning position for 6 moves to complete this exercise. From Anthony Miles - Walter Shawn Browne, 1982. } 18. Bxh7+ Kxh7 19. Qh5+ Kg8 20. Bxg7 f5 21. Qh8+ Kf7 22. Bxf8 Bb8 * [Termination "+400cp in 4"] [Event "Lichess Practice: Greek Gift: Defend against the Greek Gift"] [Site "https://lichess.org/study/s5pLU7Of"] [UTCDate "2017.02.12"] [UTCTime "09:53:53"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r1b2rk1/ppqn1ppB/4p3/2pnP3/1p1P4/5N2/PP1N1PPP/R2Q1RK1 b - - 0 12"] [SetUp "1"] { The Greek Gift sacrifice does not always work. Defend accurately. From Miguel A Quinteros - Yasser Seirawan, 1985. } 12... Kxh7 13. Ng5+ Kg8 14. Qh5 N5f6 15. exf6 Nxf6 16. Qh4 *././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootpychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-checkmate-patterns-ii_by_arex_2017.01.25.pgnpychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-checkmate-patterns-ii_by_arex_2017.01.25.0000644000175000017500000002556213365545272032273 0ustar varunvarun[Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns II: Double Bishop Mate #1"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.27"] [UTCTime "10:41:45"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "7k/5B1p/8/8/8/8/8/5KB1 w - - 0 1"] [SetUp "1"] * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns II: Double Bishop Mate #2"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.27"] [UTCTime "10:50:10"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r1bq3k/pp2R2p/3B2p1/2pBbp2/2Pp4/3P4/P1P3PP/6K1 w - - 0 1"] [SetUp "1"] { From Heinrich Ranneforth - Herbert Edward Dobell, 1903. } * [Termination "mate in 2"] [Event "Lichess Practice: Checkmate Patterns II: Double Bishop Mate #3"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.27"] [UTCTime "10:56:48"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r3k2r/pbpp1ppp/1p6/2bBPP2/8/1QPp1P1q/PP1P3P/RNBR3K b kq - 0 1"] [SetUp "1"] { From Victor Kahn - Carl Hartlaub, 1916. } 1... Qxf3+ 2. Bxf3 * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns II: Boden's Mate #1"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.25"] [UTCTime "22:18:54"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2kr4/3p4/8/8/5B2/8/8/5BK1 w - - 0 1"] [SetUp "1"] { In Boden's Mate, two attacking bishops on criss-crossing diagonals deliver mate to a king obstructed by friendly pieces, usually a rook and a pawn. } * [Termination "mate in 2"] [Event "Lichess Practice: Checkmate Patterns II: Boden's Mate #2"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.25"] [UTCTime "22:19:40"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2k1rb1r/ppp3pp/2n2q2/3B1b2/5P2/2P1BQ2/PP1N1P1P/2KR3R b - - 0 1"] [SetUp "1"] { From R Schulder - Samuel Standidge Boden, 1853. } * [Termination "mate in 2"] [Event "Lichess Practice: Checkmate Patterns II: Boden's Mate #3"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.25"] [UTCTime "22:20:20"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2kr1b1r/pp1npppp/2p1bn2/7q/5B2/2NB1Q1P/PPP1N1P1/2KR3R w - - 0 1"] [SetUp "1"] { From Emil Joseph Diemer - Portz, 1948. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns II: Balestra Mate #1"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.31"] [UTCTime "09:53:38"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5k2/8/6Q1/8/8/6B1/8/6K1 w - - 0 1"] [SetUp "1"] { The Balestra Mate is similar to Boden's Mate, but instead of two bishops, a bishop and a queen is used. The bishop delivers the checkmate, while the queen blocks the remaining escape squares. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns II: Arabian Mate #1"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.26"] [UTCTime "23:52:39"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "7k/5R2/5N2/8/8/8/8/7K w - - 0 1"] [SetUp "1"] { In the Arabian Mate, the knight and the rook team up to trap the opposing king on a corner of the board. The rook sits on a square adjacent to the king both to prevent escape along the diagonal and to deliver checkmate while the knight sits two squares away diagonally from the king to prevent escape on the square next to the king and to protect the rook. } * [Termination "mate in 3"] [Event "Lichess Practice: Checkmate Patterns II: Arabian Mate #2"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.27"] [UTCTime "00:08:31"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r4nk1/pp2r1p1/2p1P2p/3p1P1N/8/8/PPPK4/6RR w - - 0 1"] [SetUp "1"] { From Zaven Andriasian - Brent Burg, 2013. } * [Termination "mate in 3"] [Event "Lichess Practice: Checkmate Patterns II: Arabian Mate #3"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.27"] [UTCTime "00:10:13"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "3qrk2/p1r2pp1/1p2pb2/nP1bN2Q/3PN3/P6R/5PPP/R5K1 w - - 0 1"] [SetUp "1"] { From Gregory Kaidanov - Viswanathan Anand, 1987. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns II: Corner Mate #1"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.27"] [UTCTime "00:28:00"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "7k/7p/8/6N1/8/8/8/6RK w - - 0 1"] [SetUp "1"] { The Corner Mate works by confining the king to the corner using a rook or queen and using a knight to engage the checkmate. } * [Termination "mate in 2"] [Event "Lichess Practice: Checkmate Patterns II: Corner Mate #2"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.27"] [UTCTime "00:28:52"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5rk1/3Q1p2/6p1/P5r1/R1q1n3/7B/7P/5R1K b - - 0 1"] [SetUp "1"] { From Hugh Edward Myers - Dmitri Poliakoff, 1955. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns II: Morphy's Mate #1"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.28"] [UTCTime "13:35:53"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "7k/5p1p/8/8/7B/8/8/6RK w - - 0 1"] [SetUp "1"] { Morphy's Mate is named after Paul Morphy. It works by using the bishop to attack the enemy king while your rook and an enemy pawn helps to confine it. } * [Termination "mate in 2"] [Event "Lichess Practice: Checkmate Patterns II: Morphy's Mate #2"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.28"] [UTCTime "13:42:56"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5rk1/p4p1p/1p1rpp2/3qB3/3PR3/7P/PP3PP1/6K1 w - - 0 1"] [SetUp "1"] { A variation in Aron Nimzowitsch - Bjorn Nielsen, 1930 that was not played. } * [Termination "mate in 6"] [Event "Lichess Practice: Checkmate Patterns II: Morphy's Mate #3"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.28"] [UTCTime "13:50:33"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2r1nrk1/pp1q1p1p/3bpp2/5P2/1P1Q4/P3P3/1BP2P1P/R3K2R w KQ - 0 1"] [SetUp "1"] { From John Owen - Amos Burn, 1887. } * [Termination "mate in 6"] [Event "Lichess Practice: Checkmate Patterns II: Morphy's Mate #4"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.28"] [UTCTime "14:09:59"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2r2rk1/5ppp/pp6/2q5/2P2P2/3pP1RP/P5P1/B1R3K1 w - - 0 1"] [SetUp "1"] { From Samuel Reshevsky - George Shainswit, 1951. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns II: Pillsbury's Mate #1"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.28"] [UTCTime "14:32:03"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5rk1/5p1p/8/8/8/8/1B6/4K2R w - - 0 1"] [SetUp "1"] { Pillsbury's Mate is named for Harry Nelson Pillsbury and is a variation of Morphy's Mate. The rook delivers checkmate while the bishop prevents the King from fleeing to the corner square. } * [Termination "mate in 5"] [Event "Lichess Practice: Checkmate Patterns II: Pillsbury's Mate #2"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.28"] [UTCTime "14:49:48"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2rqnrk1/pp3ppp/1b1p4/3p2Q1/2n1P3/3B1P2/PB2NP1P/R5RK w - - 0 1"] [SetUp "1"] { From Adolf Anderssen - Berthold Suhle, 1860. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns II: Damiano's Mate #1"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.27"] [UTCTime "10:12:59"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5rk1/6p1/6P1/7Q/8/8/8/6K1 w - - 0 1"] [SetUp "1"] { Damiano's Mate is a classic method of checkmating and one of the oldest. It works by confining the king with a pawn or bishop and using a queen to initiate the final blow. Damiano's mate is often arrived at by first sacrificing a rook on the h-file, then checking the king with the queen on the h-file, and then moving in for the mate. The checkmate was first published by Pedro Damiano in 1512. } * [Termination "mate in 2"] [Event "Lichess Practice: Checkmate Patterns II: Damiano's Mate #2"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.27"] [UTCTime "10:21:45"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "4rk2/1p1q1p2/3p1Bn1/p1pP1p2/P1P5/1PK3Q1/8/7R w - - 0 1"] [SetUp "1"] { From Ulvi Bajarani - Dragan Solak, 2010. } * [Termination "mate in 5"] [Event "Lichess Practice: Checkmate Patterns II: Damiano's Mate #3"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.27"] [UTCTime "10:15:19"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "q1r4r/1b2kpp1/p3p3/P1b5/1pN1P3/3BBPp1/1P4P1/R3QRK1 b - - 0 1"] [SetUp "1"] { From Alexander Baburin - Utut Adianto, 1993. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns II: Lolli's Mate #1"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.27"] [UTCTime "11:23:46"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "6k1/5p2/5PpQ/8/8/8/8/6K1 w - - 0 1"] [SetUp "1"] { Lolli's Mate involves infiltrating Black's fianchetto position using both a pawn and queen. The queen often gets to the h6 square by means of sacrifices on the h-file. It is named after Giambattista Lolli. } * [Termination "mate in 3"] [Event "Lichess Practice: Checkmate Patterns II: Lolli's Mate #2"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.27"] [UTCTime "11:30:22"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r4r2/1q3pkp/p1b1p1n1/1p4QP/4P3/1BP3P1/P4P2/R2R2K1 w - - 0 1"] [SetUp "1"] { From Rudolf Spielmann - Ernst Gruenfeld, 1929. } * [Termination "mate in 6"] [Event "Lichess Practice: Checkmate Patterns II: Lolli's Mate #3"] [Site "https://lichess.org/study/8yadFPpU"] [UTCDate "2017.01.27"] [UTCTime "11:27:08"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "4r1qk/5p1p/pp2rPpR/2pbP1Q1/3pR3/2P5/P5PP/2B3K1 w - - 0 1"] [SetUp "1"] { From Joseph Henry Blackburne - Alexander Steinkuehler, 1871. } *pychess-1.0.0/learn/puzzles/mate_in_4.pgn0000644000175000017500000032432413365545272017444 0ustar varunvarun[Event "?"] [Site "Leipzig"] [Date "1851.??.??"] [Round "?"] [White "Claus Pitschel"] [Black "Adolf Anderssen"] [Result "*"] [PlyCount "17"] [FEN "r5rk/2p1Nppp/3p3P/pp2p1P1/4P3/2qnPQK1/8/R6R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. hxg7+ Rxg7 2. Rxh7+ Rxh7 3. Qf6+ Rg7 4. Rh1# * [Event "?"] [Site "Berlin"] [Date "1852.??.??"] [Round "?"] [White "Adolf Anderssen"] [Black "Jean Dufresne"] [Result "*"] [PlyCount "17"] [FEN "1r2k1r1/pbppnp1p/1b3P2/8/Q7/B1PB1q2/P4PPP/3R2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxd7+ Kxd7 2. Bf5+ Ke8 3. Bd7+ Kf8 4. Bxe7# * [Event "?"] [Site "New Orleans"] [Date "1858.??.??"] [Round "?"] [White "Paul Morphy"] [Black "AP Forde"] [Result "*"] [PlyCount "17"] [FEN "r1bqr3/ppp1B1kp/1b4p1/n2B4/3PQ1P1/2P5/P4P2/RN4K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qe5+ Kh6 2. g5+ Kh5 3. Bf3+ Bg4 4. Qh2# * [Event "?"] [Site "New Orleans (blind simul)"] [Date "1858.??.??"] [Round "?"] [White "Paul Morphy"] [Black "NN"] [Result "*"] [PlyCount "17"] [FEN "r1b3kr/3pR1p1/ppq4p/5P2/4Q3/B7/P5PP/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxg7+ Kxg7 2. Qe7+ Kg8 3. Qf8+ Kh7 4. Qf7# * [Event "?"] [Site "Geneva"] [Date "1859.??.??"] [Round "?"] [White "Ignac Kolisch"] [Black "Luigi Centurini"] [Result "*"] [PlyCount "17"] [FEN "2k4r/1r1q2pp/QBp2p2/1p6/8/8/P4PPP/2R3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qa8+ Rb8 2. Rxc6+ Qc7 3. Rxc7+ Kd8 4. Qxb8# * [Event "?"] [Site "London"] [Date "1859.??.??"] [Round "?"] [White "Paul Morphy"] [Black "Samuel Boden"] [Result "*"] [PlyCount "17"] [FEN "2r1r3/p3P1k1/1p1pR1Pp/n2q1P2/8/2p4P/P4Q2/1B3RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. f6+ Kh8 2. g7+ Kg8 3. f7+ Kxg7 4. Qf6# * [Event "?"] [Site "Paris"] [Date "1860.??.??"] [Round "?"] [White "Jules De Riviere"] [Black "Paul Journoud"] [Result "*"] [PlyCount "17"] [FEN "r1bk3r/pppq1ppp/5n2/4N1N1/2Bp4/Bn6/P4PPP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nexf7+ Qxf7 2. Nxf7+ Kd7 3. Bb5+ c6 4. Re7# * [Event "?"] [Site "London"] [Date "1862.??.??"] [Round "?"] [White "Serafino Dubois"] [Black "Augustus Mongredien"] [Result "*"] [PlyCount "17"] [FEN "6kr/pp2r2p/n1p1PB1Q/2q5/2B4P/2N3p1/PPP3P1/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qg7+ Rxg7 2. e7+ Rf7 3. e8=Q+ Qf8 4. Bxf7# * [Event "?"] [Site "London"] [Date "1862.??.??"] [Round "?"] [White "Wilhelm Steinitz"] [Black "Augustus Mongredien"] [Result "*"] [PlyCount "17"] [FEN "r3k3/pbpqb1r1/1p2Q1p1/3pP1B1/3P4/3B4/PPP4P/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bxg6+ Rxg6 2. Qxg6+ Kd8 3. Rf8+ Qe8 4. Qxe8# * [Event "?"] [Site "London"] [Date "1862.??.??"] [Round "?"] [White "Wilhelm Steinitz"] [Black "Peter Wilson"] [Result "*"] [PlyCount "17"] [FEN "rnb3kr/ppp4p/3b3B/3Pp2n/2BP4/4KRp1/PPP3q1/RN1Q4 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rf8+ Bxf8 2. d6+ Qd5 3. Bxd5+ Be6 4. Bxe6# * [Event "?"] [Site "Berlin"] [Date "1866.??.??"] [Round "?"] [White "Adolf Anderssen"] [Black "NN"] [Result "*"] [PlyCount "17"] [FEN "2r2b2/p2q1P1p/3p2k1/4pNP1/4P1RQ/7K/2pr4/5R2 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxh7+ Kxh7 2. g6+ Kh8 3. Rh4+ Bh6 4. Rxh6# * [Event "?"] [Site "London"] [Date "1866.??.??"] [Round "?"] [White "Wilhelm Steinitz"] [Black "V Beljaev"] [Result "*"] [PlyCount "17"] [FEN "rnbk2r1/ppp2Q1p/8/1B1Pp1q1/8/2N3B1/PPP3P1/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxg8+ Ke7 2. Qxg5+ Kd6 3. Ne4+ Kxd5 4. Qxe5# * [Event "?"] [Site "Berlin"] [Date "1869.??.??"] [Round "?"] [White "Johannes Zukertort"] [Black "Von Schutz"] [Result "*"] [PlyCount "17"] [FEN "5r1k/7p/3p1PpN/4p1P1/4P2P/1R6/5b2/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rb7 Bb6 2. Rg7 d5 3. Rg8+ Rxg8 4. Nf7# * [Event "?"] [Site "Vienna"] [Date "1873.??.??"] [Round "?"] [White "Adolf Anderssen"] [Black "Samuel Rosenthal"] [Result "*"] [PlyCount "17"] [FEN "r1bnk2r/pppp1ppp/1b4q1/4P3/2B1N3/Q1Pp1N2/P4PPP/R3R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf6+ gxf6 2. exf6+ Qe4 3. Rxe4+ Ne6 4. Qe7# * [Event "?"] [Site "St Petersburg"] [Date "1876.??.??"] [Round "?"] [White "Mikhail Chigorin"] [Black "Ilia Shumov"] [Result "*"] [PlyCount "17"] [FEN "r2r4/p1p2p1p/n5k1/1p5N/2p2R2/5N2/P1K3PP/5R2 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rf6+ Kxh5 2. g4+ Kxg4 3. Rg1+ Kh5 4. Rg5# * [Event "?"] [Site "Frankfurt"] [Date "1878.??.??"] [Round "?"] [White "Wilfried Paulsen"] [Black "Eduard Hammacher"] [Result "*"] [PlyCount "17"] [FEN "r1qbr2k/1p2n1pp/3B1n2/2P1Np2/p4N2/PQ4P1/1P3P1P/3RR1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf7+ Kg8 2. Nh6+ Kh8 3. Qg8+ Nexg8 4. Nf7# * [Event "?"] [Site "New York"] [Date "1880.??.??"] [Round "?"] [White "James Grundy"] [Black "Eugene Delmar"] [Result "*"] [PlyCount "17"] [FEN "k1K5/7r/8/4B3/1RP5/8/8/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rb8+ Ka7 2. Bd4+ Ka6 3. Ra8+ Ra7 4. Rxa7# * [Event "?"] [Site "Nuremberg"] [Date "1883.??.??"] [Round "?"] [White "James Mason"] [Black "Isidor Gunsberg"] [Result "*"] [PlyCount "17"] [FEN "2q2r2/5rk1/4pNpp/p2pPn2/P1pP2QP/2P2R2/2B3P1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxg6+ Kh8 2. Bxf5 exf5 3. Qxh6+ Rh7 4. Qxh7# * [Event "?"] [Site "New Orleans"] [Date "1883.??.??"] [Round "?"] [White "Wilhelm Steinitz"] [Black "Charles Maurian"] [Result "*"] [PlyCount "17"] [FEN "qr6/1b1p1krQ/p2Pp1p1/4PP2/1p1B1n2/3B4/PP3K1P/2R2R2 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. fxg6+ Kf8 2. Qh8+ Rg8 3. Qf6+ Ke8 4. Qe7# * [Event "?"] [Site "London"] [Date "1887.??.??"] [Round "?"] [White "Amos Burn"] [Black "F Braund"] [Result "*"] [PlyCount "17"] [FEN "r6k/pppb1B2/6Q1/8/3P4/2P1q3/PKP3PP/7R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qf6+ Kh7 2. Bg6+ Kg8 3. Qf7+ Kh8 4. Qh7# * [Event "?"] [Site "New York"] [Date "1887.??.??"] [Round "?"] [White "Richardson"] [Black "Eugene Delmar"] [Result "*"] [PlyCount "17"] [FEN "rnb3kr/ppp2ppp/1b6/3q4/3pN3/Q4N2/PPP2KPP/R1B1R3 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf6+ gxf6 2. Qf8+ Kxf8 3. Bh6+ Kg8 4. Re8# * [Event "?"] [Site "London"] [Date "1888.??.??"] [Round "?"] [White "William Pollock"] [Black "Francis Lee"] [Result "*"] [PlyCount "17"] [FEN "3q1rk1/4bp1p/1n2P2Q/1p1p1p2/6r1/Pp2R2N/1B1P2PP/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ng5 Rxg5 2. Rh3 Re8 3. Qxh7+ Kf8 4. Qxf7# * [Event "?"] [Site "New York"] [Date "1889.??.??"] [Round "?"] [White "Joseph Blackburne"] [Black "James Hanham"] [Result "*"] [PlyCount "17"] [FEN "3r1r1k/q2n3p/b1p2ppQ/p1n1p3/Pp2P3/1B1PBR2/1PPN2PP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxh7+ Kxh7 2. Rh3+ Kg7 3. Bh6+ Kh7 4. Bxf8# * [Event "?"] [Site "Nuremberg"] [Date "1889.??.??"] [Round "?"] [White "Siegbert Tarrasch"] [Black "Arthur Kurschner"] [Result "*"] [PlyCount "17"] [FEN "1rb2r1k/pp1p2pp/5n1N/8/P7/1Q6/1PP3PP/4R2K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Re8 g6 2. Qf7 Ng8 3. Qxg8+ Rxg8 4. Rxg8# * [Event "?"] [Site "New York"] [Date "1889.??.??"] [Round "?"] [White "Max Judd"] [Black "Dion Martinez"] [Result "*"] [PlyCount "17"] [FEN "5rbk/2pq3p/5PQR/p7/3p3R/1P4N1/P5PP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf5 Rf7 2. Rg4 Qe8 3. Qg7+ Rxg7 4. fxg7# * [Event "?"] [Site "Nuremberg"] [Date "1892.??.??"] [Round "?"] [White "Siegbert Tarrasch"] [Black "Jean Taubenhaus"] [Result "*"] [PlyCount "17"] [FEN "r2q1rk1/ppp1n1p1/1b1p1p2/1B1N2BQ/3pP3/2P3P1/PP3P2/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bc4 Nxd5 2. Bxd5+ Rf7 3. Qxf7+ Kh7 4. Qh5# * [Event "?"] [Site "Budapest"] [Date "1894.??.??"] [Round "?"] [White "Geza Maroczy"] [Black "Gyozo Exner"] [Result "*"] [PlyCount "17"] [FEN "r2q3r/ppp5/2n4p/4Pbk1/2BP1Npb/P2QB3/1PP3P1/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxf5+ Kxf5 2. Bd3+ Kg5 3. Ne6+ Kh5 4. Ng7# * [Event "?"] [Site "corr."] [Date "1896.??.??"] [Round "?"] [White "Fraser"] [Black "Farrow"] [Result "*"] [PlyCount "17"] [FEN "1rb3k1/ppN2R1p/2n1P1p1/6p1/6B1/8/PPP3PP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nd5 Bxe6 2. Bxe6 Kh8 3. Nf6 Ne5 4. Rxh7# * [Event "?"] [Site "corr."] [Date "1896.??.??"] [Round "?"] [White "Rotterdam"] [Black "Leiden"] [Result "*"] [PlyCount "17"] [FEN "4q1kr/p4p2/1p1QbPp1/2p1P1Np/2P5/7P/PP4P1/3R3K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qc7 Bf5 2. Rd8 Bd7 3. Qxd7 Qf8 4. Qxf7# * [Event "?"] [Site "Vienna"] [Date "1897.??.??"] [Round "?"] [White "Marco & Schlechter"] [Black "Charousek & allies"] [Result "*"] [PlyCount "17"] [FEN "3k1r2/2pb4/2p3P1/2Np1p2/1P6/4nN1R/2P1q3/Q5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nb7+ Ke7 2. Qg7+ Ke8 3. Qe5+ Be6 4. Qxe6# * [Event "?"] [Site "Vienna"] [Date "1898.??.??"] [Round "?"] [White "Joseph Blackburne"] [Black "Herbert Trenchard"] [Result "*"] [PlyCount "17"] [FEN "2k5/p1p1q3/2P3p1/3QP3/7p/7P/1PK3P1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qg8+ Qd8 2. Qe6+ Kb8 3. Qb3+ Kc8 4. Qb7# * [Event "?"] [Site "Bristol"] [Date "1906.??.??"] [Round "?"] [White "Cook"] [Black "A Mueller"] [Result "*"] [PlyCount "17"] [FEN "rnbq1rk1/pp2bp1p/4p1p1/2pp2Nn/5P1P/1P1BP3/PBPP2P1/RN1QK2R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxh5 Bxg5 2. Qxh7+ Kxh7 3. hxg5+ Kg8 4. Rh8# * [Event "?"] [Site "Dusseldorf"] [Date "1908.??.??"] [Round "?"] [White "Franz Jacob"] [Black "Jacques Mieses"] [Result "*"] [PlyCount "17"] [FEN "2r2r2/7k/5pRp/5q2/3p1P2/6QP/P2B1P1K/6R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxh6+ Kxh6 2. Qh4+ Qh5 3. f5+ Kh7 4. Qxh5# * [Event "?"] [Site "Prague"] [Date "1908.??.??"] [Round "?"] [White "Akiba Rubinstein"] [Black "Rudolf Spielmann"] [Result "*"] [PlyCount "17"] [FEN "5r2/pq4k1/1pp1Qn2/2bp1PB1/3R1R2/2P3P1/P6P/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bxf6+ Rxf6 2. Rg4+ Kh7 3. Qg8+ Kh6 4. Rh4# * [Event "?"] [Site "St Petersburg"] [Date "1909.??.??"] [Round "?"] [White "Leo Fleischmann"] [Black "Savielly Tartakower"] [Result "*"] [PlyCount "17"] [FEN "3nbr2/4q2p/r3pRpk/p2pQRN1/1ppP2p1/2P5/PPB4P/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf7+ Rxf7 2. Rh5+ Kg7 3. Rxg6+ Kf8 4. Qh8# * [Event "?"] [Site "Hamburg"] [Date "1910.??.??"] [Round "?"] [White "Mojsesz Lowtzky"] [Black "Anton Olson"] [Result "*"] [PlyCount "17"] [FEN "5r1k/3q3p/p1pP4/2p2pQ1/r1P3R1/3P4/6PP/1R4K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qf6+ Rxf6 2. Rb8+ Qe8 3. Rxe8+ Rf8 4. Rxf8# * [Event "?"] [Site "Hamburg"] [Date "1910.??.??"] [Round "?"] [White "Oskar Tenner"] [Black "H Wegemund"] [Result "*"] [PlyCount "17"] [FEN "r1b2r2/p2p1pk1/1qp1pN1p/3nP1p1/2B4Q/3R4/PPP2PPP/2K4R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxh6+ Kxh6 2. Rh3+ Kg6 3. Bd3+ Kg7 4. Rh7# * [Event "?"] [Site "Pardentown"] [Date "1913.??.??"] [Round "?"] [White "W Young"] [Black "Frank J Marshall"] [Result "*"] [PlyCount "17"] [FEN "rnb2b1r/ppp1n1kp/3p1q2/7Q/4PB2/2N5/PPP3PP/R4RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bh6+ Kg8 2. Rxf6 Ng6 3. Qd5+ Be6 4. Qxe6# * [Event "?"] [Site "New York"] [Date "1918.??.??"] [Round "?"] [White "Dawid Janowski"] [Black "Oscar Chajes"] [Result "*"] [PlyCount "17"] [FEN "r3r3/3R1Qp1/pqb1p2k/1p4N1/8/4P3/Pb3PPP/2R3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. g4 g6 2. h4 Rh8 3. Qh7+ Rxh7 4. Rxh7# * [Event "?"] [Site "Kaschau"] [Date "1918.??.??"] [Round "?"] [White "Zoltan Von Balla"] [Black "Gyula Breyer"] [Result "*"] [PlyCount "17"] [FEN "r3k2r/pp3p2/2pQ1Pnp/2P1nqp1/8/1B6/PP3PPP/3RR1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxe5+ Qe6 2. Rxe6+ fxe6 3. Qxe6+ Kf8 4. Qf7# * [Event "?"] [Site "Stockholm"] [Date "1919.??.??"] [Round "?"] [White "Efim Bogoljubov"] [Black "Rudolf Spielmann"] [Result "*"] [PlyCount "17"] [FEN "3rkq1r/1pQ2p1p/p3bPp1/3pR3/8/8/PPP2PP1/1K1R4 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rdxd5 Rxd5 2. Rxd5 Qd6 3. Qxd6 Bxd5 4. Qe7# * [Event "?"] [Site "Vienna"] [Date "1919.??.??"] [Round "?"] [White "Imre Konig"] [Black "Hermann Weiss"] [Result "*"] [PlyCount "17"] [FEN "r2qrk2/p5b1/2b1p1Q1/1p1pP3/2p1nB2/2P1P3/PP3P2/2KR3R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rh8+ Bxh8 2. Bh6+ Ke7 3. Qh7+ Bg7 4. Qxg7# * [Event "?"] [Site "Goteborg"] [Date "1920.??.??"] [Round "?"] [White "Ernst Jacobson"] [Black "Heinrich Von Hennig"] [Result "*"] [PlyCount "17"] [FEN "4b3/pkb5/1pp1Bp2/4pPp1/PP2P2r/2PQBq2/8/2KR4 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qa6+ Ka8 2. Rd8+ Bb8 3. Rxb8+ Kxb8 4. Qc8# * [Event "?"] [Site "Amsterdam"] [Date "1922.??.??"] [Round "?"] [White "Max Euwe"] [Black "Carsten"] [Result "*"] [PlyCount "17"] [FEN "2r3k1/4p1nR/p3p1p1/4N3/1p2Q3/1P6/P1Pq4/1K6 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxg7+ Kh8 2. Rh7+ Kxh7 3. Qxg6+ Kh8 4. Nf7# * [Event "?"] [Site "Amsterdam"] [Date "1923.??.??"] [Round "?"] [White "Bjorn Frank"] [Black "J Willens"] [Result "*"] [PlyCount "17"] [FEN "r1r3k1/pp1q1p1p/4nBpQ/3pP3/1b5P/3B4/P1P3P1/R2K3R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. h5 Bc3 2. Qxh7+ Kxh7 3. hxg6+ Kg8 4. Rh8# * [Event "?"] [Site "Trautenau"] [Date "1924.??.??"] [Round "?"] [White "Friedrich Saemisch"] [Black "Michael Schlosser"] [Result "*"] [PlyCount "17"] [FEN "rnbq1bnr/pp1p1p1p/3pk3/3NP1p1/5p2/5N2/PPP1Q1PP/R1B1KB1R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nd4+ Kxd5 2. Qb5+ Kxd4 3. c3+ Ke4 4. Bd3# * [Event "?"] [Site "Baden-Baden"] [Date "1925.??.??"] [Round "?"] [White "Friedrich Saemisch"] [Black "Rudolf Spielmann"] [Result "*"] [PlyCount "17"] [FEN "4r3/6kp/ppr3P1/3p4/3Pq3/3nBR2/PP4QP/5R1K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bh6+ Kxh6 2. Qh3+ Kxg6 3. Rg1+ Qg4 4. Rxg4# * [Event "?"] [Site "Herning"] [Date "1926.??.??"] [Round "?"] [White "Bjorn Nielsen"] [Black "Moller Jensen"] [Result "*"] [PlyCount "17"] [FEN "rnbq1bkr/pp3p1p/2p3pQ/3N2N1/2B2p2/8/PPPP2PP/R1B1R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Re8 Nd7 2. Rxd8 cxd5 3. Bxd5 f3 4. Bxf7# * [Event "?"] [Site "New York"] [Date "1926.??.??"] [Round "?"] [White "Anthony Santasiere"] [Black "EB Adams"] [Result "*"] [PlyCount "17"] [FEN "r2q2rk/ppp2p1p/3b1pn1/5R1Q/3P4/2P4N/PP4PP/R1B3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxh7+ Kxh7 2. Rh5+ Kg7 3. Bh6+ Kh7 4. Bf8# * [Event "?"] [Site "Dresden"] [Date "1926.??.??"] [Round "?"] [White "Christoph Schroder"] [Black "Alexander Illgen"] [Result "*"] [PlyCount "17"] [FEN "r4b1r/pppq2pp/2n1b1k1/3n4/2Bp4/5Q2/PPP2PPP/RNB1R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxe6+ Nf6 2. Qe4+ Kh5 3. Be2+ Ng4 4. Qxg4# * [Event "?"] [Site "Rotterdam"] [Date "1927.??.??"] [Round "?"] [White "M Noordijk"] [Black "Salo Landau"] [Result "*"] [PlyCount "17"] [FEN "rnbq1b1r/ppp1pQ1p/1n1p2p1/4P2k/3P4/8/PPP2PPP/RNB1K2R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qf4 h6 2. g3 Bg4 3. h3 Qd7 4. hxg4# * [Event "?"] [Site "The Hague"] [Date "1928.??.??"] [Round "?"] [White "Erik Andersen"] [Black "Wilhelm Hilse"] [Result "*"] [PlyCount "17"] [FEN "r3rk2/5pR1/pp1q1P1p/8/3p3P/P2B4/1P1Q2b1/1K6 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rg8+ Kxg8 2. Qxg2+ Qg3 3. Qxg3+ Kf8 4. Qg7# * [Event "?"] [Site "Vienna"] [Date "1928.??.??"] [Round "?"] [White "Albert Becker"] [Black "Eduard Glass"] [Result "*"] [PlyCount "17"] [FEN "rk6/N4ppp/Qp2q3/3p4/8/8/5PPP/2R3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rc8+ Qxc8 2. Qxb6+ Qb7 3. Nc6+ Kc8 4. Qd8# * [Event "?"] [Site "Hague"] [Date "1928.??.??"] [Round "?"] [White "Kornel Havasi"] [Black "William Rivier"] [Result "*"] [PlyCount "17"] [FEN "4q1rk/pb2bpnp/2r4Q/1p1p1pP1/4NP2/1P3R2/PBn4P/RB4K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxh7+ Kxh7 2. Rh3+ Nh5 3. Rxh5+ Kg6 4. Rh6# * [Event "?"] [Site "Trencianske Teplice"] [Date "1928.??.??"] [Round "?"] [White "Rudolf Spielmann"] [Black "Max Walter"] [Result "*"] [PlyCount "17"] [FEN "r2Nqb1r/pQ1bp1pp/1pn1p3/1k1p4/2p2B2/2P5/PPP2PPP/R3KB1R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. a4+ Ka5 2. Nxc6+ Bxc6 3. b4+ cxb3 4. Qa6# * [Event "?"] [Site "Carlsbad"] [Date "1929.??.??"] [Round "?"] [White "George Thomas"] [Black "Vera Menchik"] [Result "*"] [PlyCount "17"] [FEN "2r3k1/pp3ppp/1qr2n2/3p1Q2/1P6/P2BP2P/5PP1/2R2RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxc8+ Rxc8 2. Rxc8+ Qd8 3. Rxd8+ Ne8 4. Rxe8# * [Event "?"] [Site "Liege"] [Date "1930.??.??"] [Round "?"] [White "Edgar Colle"] [Black "Victor Soultanbeieff"] [Result "*"] [PlyCount "17"] [FEN "r1b1rk2/ppq3p1/2nbpp2/3pN1BQ/2PP4/7R/PP3PPP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bxf6 gxf6 2. Ng6+ Kg8 3. Qh8+ Kf7 4. Qh7# * [Event "?"] [Site "Paris"] [Date "1930.??.??"] [Round "?"] [White "Andor Lilienthal"] [Black "Meir Romm"] [Result "*"] [PlyCount "17"] [FEN "3r1bN1/3p1p1p/pp6/5k2/5P2/P7/1P2PPBq/R2R1K2 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rd5+ Kxf4 2. e3+ Kg4 3. Nf6+ Kh4 4. Rh5# * [Event "?"] [Site "Moscow"] [Date "1931.??.??"] [Round "?"] [White "Mikhail Botvinnik"] [Black "Victor Goglidze"] [Result "*"] [PlyCount "17"] [FEN "2bk4/6b1/2pNp3/r1PpP1P1/P1pP1Q2/2rq4/7R/6RK w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rh8+ Bxh8 2. Qf8+ Kd7 3. Qxc8+ Ke7 4. Qe8# * [Event "?"] [Site "Brno"] [Date "1931.??.??"] [Round "?"] [White "Herman Steiner"] [Black "Vladas Mikenas"] [Result "*"] [PlyCount "17"] [FEN "4r2k/pp2q2b/2p2p1Q/4rP2/P7/1B5P/1P2R1R1/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxe5 fxe5 2. f6 Qd7 3. Qg7+ Qxg7 4. fxg7# * [Event "?"] [Site "Bad Niendorf"] [Date "1934.??.??"] [Round "?"] [White "Karl Ahues"] [Black "Birger Rasmusson"] [Result "*"] [PlyCount "17"] [FEN "2r2rk1/1b3pp1/4p3/p3P1Q1/1pqP1R2/2P5/PP1B1K1P/R7 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxg7+ Kxg7 2. Rg1+ Bg2 3. Rxg2+ Kh7 4. Rh4# * [Event "?"] [Site "Moscow"] [Date "1935.??.??"] [Round "?"] [White "Gideon Stahlberg"] [Black "Andor Lilienthal"] [Result "*"] [PlyCount "17"] [FEN "3kn3/p1p2Rp1/1p2q3/7p/7P/5QP1/P6K/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qa8+ Qc8 2. Qd5+ Nd6 3. Qg5+ Ke8 4. Qe7# * [Event "?"] [Site "Warsaw"] [Date "1935.??.??"] [Round "?"] [White "Lajos Steiner"] [Black "Vladimir Petrov"] [Result "*"] [PlyCount "17"] [FEN "4r3/p1r2p1k/1p2pPpp/2qpP3/3R2P1/1PPQ3R/1P5P/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxh6+ Kxh6 2. Qh3+ Kg5 3. Qe3+ Kh4 4. Qh6# * [Event "?"] [Site "Jurata"] [Date "1937.??.??"] [Round "?"] [White "Gideon Stahlberg"] [Black "Moishe Lowcki"] [Result "*"] [PlyCount "17"] [FEN "8/Q7/5pkp/2n1q3/8/1B5P/5PP1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qf7+ Kf5 2. Qh5+ Ke4 3. Qe2+ Kf4 4. Qg4# * [Event "?"] [Site "Boston"] [Date "1938.??.??"] [Round "?"] [White "Isaac Kashdan"] [Black "Charles Jaffe"] [Result "*"] [PlyCount "17"] [FEN "rq3kB1/pp1b1p2/4pB1p/4P3/3P3Q/P1n5/5PPP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxh6+ Ke8 2. Bxf7+ Kxf7 3. Qg7+ Ke8 4. Qe7# * [Event "?"] [Site "USA"] [Date "1940.??.??"] [Round "?"] [White "Arnold Denker"] [Black "A Adams"] [Result "*"] [PlyCount "17"] [FEN "3r1k1r/p1q2p2/1pp2N1p/n3RQ2/3P4/2p1PR2/PP4PP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nh7+ Rxh7 2. Qxh7 f5 3. Rexf5+ Ke8 4. Rf8# * [Event "?"] [Site "Tallinn"] [Date "1942.??.??"] [Round "?"] [White "Paul Keres"] [Black "V Rootare"] [Result "*"] [PlyCount "17"] [FEN "r3r1k1/ppp2p1p/1b3Bp1/4P3/3P1n2/2PB1N2/PP6/2KR3R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxh7 Kxh7 2. Rh1+ Nh5 3. Rxh5+ Kg8 4. Rh8# * [Event "?"] [Site "Madrid"] [Date "1943.??.??"] [Round "?"] [White "Paul Keres"] [Black "Pomar Salamanca"] [Result "*"] [PlyCount "17"] [FEN "7R/r1p1q1pp/3k4/1p1n1Q2/3N4/8/1PP2PPP/2B3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rd8+ Qxd8 2. Qe6+ Kc5 3. Nb3+ Kb4 4. Qe4# * [Event "?"] [Site "USA"] [Date "1944.??.??"] [Round "?"] [White "Arnold Denker"] [Black "H Klein"] [Result "*"] [PlyCount "17"] [FEN "3rb1k1/ppq3p1/2p1p1p1/6P1/2Pr3R/1P1Q4/P1B4P/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rh8+ Kxh8 2. Rf8+ Kh7 3. Qh3+ Rh4 4. Qxh4# * [Event "?"] [Site "Novi Sad"] [Date "1945.??.??"] [Round "?"] [White "Borislav Milic"] [Black "Oleg Neikirch"] [Result "*"] [PlyCount "17"] [FEN "3r4/pk3pq1/Nb2p2p/3n4/2QP4/6P1/1P3PBP/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rc1 Bc5 2. Qb5+ Bb6 3. Rc7+ Ka8 4. Qc6# * [Event "?"] [Site "Tbilisi"] [Date "1945.??.??"] [Round "?"] [White "Tigran V Petrosian"] [Black "Rafael Kakiashvili"] [Result "*"] [PlyCount "17"] [FEN "4r2r/5k2/2p2P1p/p2pP1p1/3P2Q1/6PB/1n5P/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qd7+ Re7 2. Qxe7+ Kg6 3. Qg7+ Kh5 4. Qf7# * [Event "?"] [Site "Saltsjobaden"] [Date "1948.??.??"] [Round "?"] [White "Isaac Boleslavsky"] [Black "Gosta Stoltz"] [Result "*"] [PlyCount "17"] [FEN "4b3/k1r1q2p/p3p3/3pQ3/2pN4/1R6/P4PPP/1R4K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nc6+ Bxc6 2. Qd4+ Qc5 3. Qxc5+ Ka8 4. Rb8# * [Event "?"] [Site "Baltimore"] [Date "1948.??.??"] [Round "?"] [White "Larry Evans"] [Black "W Young"] [Result "*"] [PlyCount "17"] [FEN "r7/p1n2p1R/qp1p1k2/3Pp3/bPp1P3/2P1BBN1/3Q2K1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bg5+ Kg6 2. Rh6+ Kg7 3. Bf6+ Kg8 4. Rh8# * [Event "?"] [Site "Vilnius"] [Date "1949.??.??"] [Round "?"] [White "Semyon Furman"] [Black "Boris Ratner"] [Result "*"] [PlyCount "17"] [FEN "r3QnR1/1bk5/pp5q/2b5/2p1P3/P7/1BB4P/3R3K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Be5+ Bd6 2. Rg7+ Nd7 3. Qxd7+ Kb8 4. Qxb7# * [Event "?"] [Site "Reggio Emilia"] [Date "1951.??.??"] [Round "?"] [White "Herman Steiner"] [Black "Ludwig Rellstab Sr"] [Result "*"] [PlyCount "17"] [FEN "5k2/p2Q1pp1/1b5p/1p2PB1P/2p2P2/8/PP3qPK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qd6+ Ke8 2. Bd7+ Kd8 3. Bxb5+ Kc8 4. Ba6# * [Event "?"] [Site "Marktoberdorf"] [Date "1953.??.??"] [Round "?"] [White "Friedrich Saemisch"] [Black "O Menzinger"] [Result "*"] [PlyCount "17"] [FEN "2br3k/pp3Pp1/1n2p3/1P2N1pr/2P2qP1/8/1BQ2P1P/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ng6+ Kh7 2. Nf8+ Kh8 3. Qh7+ Rxh7 4. Ng6# * [Event "?"] [Site "Bucharest"] [Date "1953.??.??"] [Round "?"] [White "Alexander Tolush"] [Black "Gosta Stoltz"] [Result "*"] [PlyCount "17"] [FEN "3r4/6kp/1p1r1pN1/5Qq1/6p1/PB4P1/1P3P2/6KR w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxh7+ Kxh7 2. Nf8+ Kg7 3. Qh7+ Kxf8 4. Qf7# * [Event "?"] [Site "Zagreb"] [Date "1955.??.??"] [Round "?"] [White "Bent Larsen"] [Black "Suboticanec"] [Result "*"] [PlyCount "17"] [FEN "r4r1k/pp4R1/3pN1p1/3P2Qp/1q2Ppn1/8/6PP/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rh7+ Kxh7 2. Qe7+ Rf7 3. Qxf7+ Kh6 4. Qg7# * [Event "?"] [Site "Zagreb"] [Date "1955.??.??"] [Round "?"] [White "Vasily Smyslov"] [Black "Mario Bertok"] [Result "*"] [PlyCount "17"] [FEN "r7/1p3Q2/2kpr2p/p1p2Rp1/P3Pp2/1P3P2/1B2q1PP/3R3K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxc5+ Kb6 2. Qc7+ Ka7 3. Rxa5+ Qa6 4. Bd4# * [Event "?"] [Site "Portoroz"] [Date "1958.??.??"] [Round "?"] [White "Miroslav Filip"] [Black "Boris De Greif"] [Result "*"] [PlyCount "17"] [FEN "4k3/R3n2p/4N3/3p1p2/2b2P2/5BP1/4P1K1/2r5 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bh5+ Ng6 2. Rxh7 Rg1+ 3. Kxg1 Bxe2 4. Bxg6# * [Event "?"] [Site "Munich"] [Date "1958.??.??"] [Round "?"] [White "Oscar Panno"] [Black "Gedeon Barcza"] [Result "*"] [PlyCount "17"] [FEN "1R4Q1/3nr1pp/3p1k2/5Bb1/4P3/2q1B1P1/5P1P/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rf8+ Nxf8 2. Qxf8+ Ke5 3. f4+ Bxf4 4. gxf4# * [Event "?"] [Site "Varna"] [Date "1958.??.??"] [Round "?"] [White "Purev Tumurbator"] [Black "Emin Duraku"] [Result "*"] [PlyCount "17"] [FEN "r1b2rk1/1p4qp/p5pQ/2nN1p2/2B2P2/8/PPP3PP/2K1R3 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ne7+ Kh8 2. Nxg6+ Qxg6 3. Qxf8+ Qg8 4. Qxg8# * [Event "?"] [Site "Kiev"] [Date "1958.??.??"] [Round "?"] [White "Abram Zamikhovsky"] [Black "Alexander Kostiuchenko"] [Result "*"] [PlyCount "17"] [FEN "2r2rk1/pp3nbp/2p1bq2/2Pp4/1P1P1PP1/P1NB4/1BQK4/7R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bxh7+ Kh8 2. Bg8+ Qh6 3. Rxh6+ Bxh6 4. Qh7# * [Event "?"] [Site "Moscow"] [Date "1960.??.??"] [Round "?"] [White "Lev Polugaevsky"] [Black "Gyorgy Szilagyi"] [Result "*"] [PlyCount "17"] [FEN "r2r4/1p1R3p/5p1k/b1B1Pp2/p4P2/P7/1P5P/1K4R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bf8+ Rxf8 2. Rd3 Be1 3. Rh3+ Bh4 4. Rxh4# * [Event "?"] [Site "Buenos Aires"] [Date "1960.??.??"] [Round "?"] [White "Mark Taimanov"] [Black "Osvaldo Bazan"] [Result "*"] [PlyCount "17"] [FEN "R4rk1/4r1p1/1q2p1Qp/1pb5/1n5R/5NB1/1P3PPP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ng5 Bxf2+ 2. Kh1 Rxa8 3. Qh7+ Kf8 4. Qh8# * [Event "?"] [Site "Baku"] [Date "1961.??.??"] [Round "?"] [White "Evgeni Vasiukov"] [Black "David Bronstein"] [Result "*"] [PlyCount "17"] [FEN "kb3R2/1p5r/5p2/1P1Q4/p5P1/q7/5P2/4RK2 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxb8+ Ka7 2. Qd4+ Kxb8 3. Re8+ Kc7 4. Qd8# * [Event "?"] [Site "Beverwijk"] [Date "1964.??.??"] [Round "?"] [White "Jan-Heim Donner"] [Black "Arthur Dunkelblum"] [Result "*"] [PlyCount "17"] [FEN "2rqrb2/p2nk3/bp2pnQp/4B1p1/3P4/P1N5/1P3PPP/1B1RR1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nd5+ exd5 2. Bxf6+ Kd6 3. Be5+ Ke7 4. Bd6# * [Event "?"] [Site "Moscow"] [Date "1964.??.??"] [Round "?"] [White "Nona Gaprindashvili"] [Black "Liubov Idelchik"] [Result "*"] [PlyCount "17"] [FEN "2r1rk2/1p2qp1R/4p1p1/1b1pP1N1/p2P4/nBP1Q3/P4PPP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rh8+ Kg7 2. Nxe6+ Kxh8 3. Qh6+ Kg8 4. Qg7# * [Event "?"] [Site "Belgrade"] [Date "1964.??.??"] [Round "?"] [White "Bent Larsen"] [Black "Dragoljub Ciric"] [Result "*"] [PlyCount "17"] [FEN "5nk1/2N2p2/2b2Qp1/p3PpNp/2qP3P/6P1/5P1K/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. e6 Be8 2. Nxe8 Nxe6 3. Qxf7+ Kh8 4. Qh7# * [Event "?"] [Site "Leningrad"] [Date "1965.??.??"] [Round "?"] [White "Semyon Furman"] [Black "Victor Bojarinov"] [Result "*"] [PlyCount "17"] [FEN "8/p5Qp/1p2q2B/2p2rp1/2P3Pk/2P2P2/P6P/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bxg5+ Rxg5 2. Qxh7+ Qh6 3. Qxh6+ Rh5 4. Qxh5# * [Event "?"] [Site "Bognor Regis"] [Date "1965.??.??"] [Round "?"] [White "Owen Hindle"] [Black "PA Sorensen"] [Result "*"] [PlyCount "17"] [FEN "rq3rk1/1p1bpp1p/3p2pQ/p2N3n/2BnP1P1/5P2/PPP5/2KR3R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nxe7+ Kh8 2. Rxh5 Nb3+ 3. axb3 gxh5 4. Qf6# * [Event "?"] [Site "Kiev"] [Date "1965.??.??"] [Round "?"] [White "viktor Korchnoi"] [Black "Andrei Peterson"] [Result "*"] [PlyCount "17"] [FEN "r2r1n2/pp2bk2/2p1p2p/3q4/3PN1QP/2P3R1/P4PP1/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qg7+ Ke8 2. Qxe7+ Kxe7 3. Rg7+ Ke8 4. Nf6# * [Event "?"] [Site "Titograd"] [Date "1965.??.??"] [Round "?"] [White "Dragoljub Velimirovic"] [Black "Milan Matulovic"] [Result "*"] [PlyCount "17"] [FEN "1r4k1/3p3R/4p3/2p1P1qp/2P1Q3/1n1B4/6P1/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rh8+ Kf7 2. Qh7+ Qg7 3. Bg6+ Ke7 4. Qxg7# * [Event "?"] [Site "Brunnen"] [Date "1966.??.??"] [Round "?"] [White "Kick Langeweg"] [Black "Franz Auer"] [Result "*"] [PlyCount "17"] [FEN "r2r1k2/pbq2pp1/2p1p1p1/1pP1N1P1/6Q1/P6R/1P3P1P/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nxg6+ Ke8 2. Rxe6+ fxe6 3. Qxe6+ Qe7 4. Qxe7# * [Event "?"] [Site "Santa Monica"] [Date "1966.??.??"] [Round "?"] [White "Samuel Reshevsky"] [Black "Jan-Hein Donner"] [Result "*"] [PlyCount "17"] [FEN "q5k1/1b2R1pp/1p3n2/4BQ2/8/7P/5PPK/4r3 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxg7+ Kh8 2. Rxh7+ Kg8 3. Qg6+ Kf8 4. Qf7# * [Event "?"] [Site "Halle"] [Date "1967.??.??"] [Round "?"] [White "Vlastimil Hort"] [Black "Erkki Havansi"] [Result "*"] [PlyCount "17"] [FEN "1R6/4r1pk/pp2N2p/4nP2/2p5/2P3P1/P2P1K2/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf8+ Kg8 2. Ng6+ Re8 3. Rxe8+ Kf7 4. Rf8# * [Event "?"] [Site "Kraljevo"] [Date "1967.??.??"] [Round "?"] [White "Milan Matulovic"] [Black "Enver Bukic"] [Result "*"] [PlyCount "17"] [FEN "r4rk1/p4pp1/7P/2pp4/3Bn3/8/qPP1QP1P/2KR2R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. h7+ Kh8 2. Bxg7+ Kxh7 3. Qh5+ Kg8 4. Qh8# * [Event "?"] [Site "Sochi"] [Date "1967.??.??"] [Round "?"] [White "Boris Spassky"] [Black "Kick Langeweg"] [Result "*"] [PlyCount "17"] [FEN "r1r2bk1/p4pBp/1p6/3q1N2/n1P5/4R3/P3QPPP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nh6+ Kxg7 2. Qg4+ Kxh6 3. Rh3+ Qh5 4. Rxh5# * [Event "?"] [Site "Habana"] [Date "1967.??.??"] [Round "?"] [White "Mark Taimanov"] [Black "Eldis Cobo Arteaga"] [Result "*"] [PlyCount "17"] [FEN "3q1r2/2n5/p4pkp/3PrN1p/1pP2Q2/1P4BP/P4PP1/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxh6+ Kf7 2. Qxh5+ Kg8 3. Qg6+ Kh8 4. Qg7# * [Event "?"] [Site "?"] [Date "1967.??.??"] [Round "?"] [White "Rafael Vaganian"] [Black "Sergey Makarichev"] [Result "*"] [PlyCount "17"] [FEN "7R/2rr1kp1/p3p3/1p1q1p2/n4P1Q/P4P2/4B2P/6RK w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxg7+ Kxg7 2. Qh6+ Kf7 3. Qf8+ Kg6 4. Rh6# * [Event "?"] [Site "Polanica Zdroj"] [Date "1968.??.??"] [Round "?"] [White "Vasily Smyslov"] [Black "Werner Golz"] [Result "*"] [PlyCount "17"] [FEN "r2q4/1p2N2k/1P3Qp1/pBnpp3/4b1P1/8/P6P/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rf3 Qf8 2. Rh3+ Qh6 3. Qf7+ Kh8 4. Rxh6# * [Event "?"] [Site "San Francisco"] [Date "1969.??.??"] [Round "?"] [White "Jude Acers"] [Black "G Berry"] [Result "*"] [PlyCount "17"] [FEN "rn3k1r/pbpp1Bbp/1p4pN/4P1B1/3n4/2q3Q1/PPP2PPP/2KR3R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Be7+ Kxe7 2. Qg5+ Bf6 3. Qxf6+ Kf8 4. Bxg6# * [Event "?"] [Site "Bulgaria"] [Date "1969.??.??"] [Round "?"] [White "Dimitar Pelitov"] [Black "Georgi Daskalov"] [Result "*"] [PlyCount "17"] [FEN "r1q5/2p2k2/p4Bp1/2Nb1N2/p6Q/7P/nn3PP1/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qh7+ Kxf6 2. Qe7+ Kxf5 3. g4+ Kf4 4. Qe3# * [Event "?"] [Site "Stockholm"] [Date "1969.??.??"] [Round "?"] [White "Eugenio Torre"] [Black "Noel Craske"] [Result "*"] [PlyCount "17"] [FEN "r2r1k2/5pRp/pq2pBn1/1p2P2Q/2p4P/2Pn2P1/PP3Pb1/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rg8+ Kxg8 2. Qh6 Qxf2+ 3. Rxf2 Nxf2 4. Qg7# * [Event "?"] [Site "Sarajevo"] [Date "1970.??.??"] [Round "?"] [White "Walter Browne"] [Black "Marta Kovacs"] [Result "*"] [PlyCount "17"] [FEN "6rk/5p1p/5p2/1p2bP2/1P2R2Q/2q1BBPP/5PK1/r7 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxh7+ Kxh7 2. Rh4+ Kg7 3. Bh6+ Kh7 4. Bf8# * [Event "?"] [Site "corr."] [Date "1970.??.??"] [Round "?"] [White "Gino Celli"] [Black "Renato Incelli"] [Result "*"] [PlyCount "17"] [FEN "1qbk2nr/1pNp2Bp/2n1pp2/8/2P1P3/8/Pr3PPP/R2QKB1R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nxe6+ Ke7 2. Bf8+ Kf7 3. Qh5+ Kxe6 4. Qd5# * [Event "?"] [Site "Venice"] [Date "1971.??.??"] [Round "?"] [White "Walter Browne"] [Black "Mato Damjanovic"] [Result "*"] [PlyCount "17"] [FEN "5Q1R/3qn1p1/p3p1k1/1pp1PpB1/3r3P/5P2/PPP3K1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rh6+ gxh6 2. Qf6+ Kh7 3. Qf7+ Kh8 4. Bf6# * [Event "?"] [Site "Petropolis"] [Date "1973.??.??"] [Round "?"] [White "Lajos Portisch"] [Black "Shimon Kagan"] [Result "*"] [PlyCount "17"] [FEN "6rk/3b3p/p2b1p2/2pPpP2/2P1B3/1P4q1/P2BQ1PR/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxh7+ Kxh7 2. Qh5+ Kg7 3. Bh6+ Kh7 4. Bf8# * [Event "?"] [Site "Dubna"] [Date "1973.??.??"] [Round "?"] [White "Mikhail Tal"] [Black "Igor Platonov"] [Result "*"] [PlyCount "17"] [FEN "5r1k/1p1b1p1p/p2ppb2/5P1B/1q6/1Pr3R1/2PQ2PP/5R1K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qh6 Rxg3 2. Bg6 Rxg6 3. fxg6 fxg6 4. Qxf8# * [Event "?"] [Site "El Paso"] [Date "1973.??.??"] [Round "?"] [White "James Tarjan"] [Black "Lawrence Gilden"] [Result "*"] [PlyCount "17"] [FEN "2R2bk1/5rr1/p3Q2R/3Ppq2/1p3p2/8/PP1B2PP/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxf8+ Kxf8 2. Rh8+ Rg8 3. Bxb4+ Kg7 4. Qh6# * [Event "?"] [Site "Amsterdam"] [Date "1973.??.??"] [Round "?"] [White "Jan Timman"] [Black "Jan Donner"] [Result "*"] [PlyCount "17"] [FEN "3rkb2/pp3R1R/8/2p1P3/3pKB2/6P1/PrP2P2/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bh6 Bxh6 2. e6 Bf8 3. Rh8 Rxc2 4. Rhxf8# * [Event "?"] [Site "Nice"] [Date "1974.??.??"] [Round "?"] [White "James Tarjan"] [Black "Ramon Lontoc"] [Result "*"] [PlyCount "17"] [FEN "3q3r/r4pk1/pp2pNp1/3bP1Q1/7R/8/PP3PPP/3R2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ne8+ Kg8 2. Rxh8+ Kxh8 3. Qh6+ Kg8 4. Qg7# * [Event "?"] [Site "Ciocco"] [Date "1975.??.??"] [Round "?"] [White "Francesco Nitti"] [Black "Costanzo"] [Result "*"] [PlyCount "17"] [FEN "rqr3k1/3bppBp/3p2P1/p7/1n2P3/1p3P2/1PPQ2P1/2KR3R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. gxh7+ Kxg7 2. h8=Q+ Rxh8 3. Qg5+ Kf8 4. Rxh8# * [Event "?"] [Site "Tjentiste"] [Date "1975.??.??"] [Round "?"] [White "Paul Van der Sterren"] [Black "Carsten Hoi"] [Result "*"] [PlyCount "17"] [FEN "2k3rr/p4q1p/N2B4/p3PpQ1/3P2n1/8/2P2PPP/1R4K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nc5 Qc7 2. Qxf5+ Kd8 3. Rb8+ Qxb8 4. Qd7# * [Event "?"] [Site "Michigan"] [Date "1976.??.??"] [Round "?"] [White "Jude Acers"] [Black "B Peake"] [Result "*"] [PlyCount "17"] [FEN "3q1r2/2rbnp2/p3pp1k/1p1p2N1/3P2Q1/P3P3/1P3PPP/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qh4+ Kg6 2. Qh7+ Kxg5 3. f4+ Kg4 4. Qh3# * [Event "?"] [Site "Banja-Luke"] [Date "1976.??.??"] [Round "?"] [White "Vlastimil Hort"] [Black "Milenko Sibarevic"] [Result "*"] [PlyCount "17"] [FEN "1R2R3/p1r2pk1/3b1pp1/8/2Pr4/4N1P1/P4PK1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf5+ gxf5 2. Rg8+ Kh6 3. Rh8+ Kg5 4. Rbg8# * [Event "?"] [Site "Frankfurt/Oder"] [Date "1977.??.??"] [Round "?"] [White "Thomas Casper"] [Black "Reinhard Postler"] [Result "*"] [PlyCount "17"] [FEN "r1bq2k1/pp2n1p1/5r2/2p2pNQ/3p4/3P4/PPP2PBP/R3R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxe7 Rg6 2. Qxg6 Qxe7 3. Qh7+ Kf8 4. Qh8# * [Event "?"] [Site "Maribor"] [Date "1977.??.??"] [Round "?"] [White "Albin Planinec"] [Black "Nino Kirov"] [Result "*"] [PlyCount "17"] [FEN "6rk/1b6/p5pB/1q2P2Q/4p2P/6R1/PP4PK/3r4 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bg7+ Kxg7 2. Qxg6+ Kf8 3. Qxg8+ Ke7 4. Rg7# * [Event "?"] [Site "Mentor"] [Date "1977.??.??"] [Round "?"] [White "Leonid Shamkovich"] [Black "Larry Chistiansen"] [Result "*"] [PlyCount "17"] [FEN "6r1/p5bk/4N1pp/2B1p3/4Q2N/8/2P2KPP/q7 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ng5+ hxg5 2. Qxg6+ Kh8 3. Qh5+ Bh6 4. Qxh6# * [Event "?"] [Site "Columbus"] [Date "1977.??.??"] [Round "?"] [White "Kevin Spraggett"] [Black "Delva"] [Result "*"] [PlyCount "17"] [FEN "2rq2k1/3bb2p/n2p2pQ/p2Pp3/2P1N1P1/1P5P/6B1/2B2R1K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rf7 Kxf7 2. Qxh7+ Ke8 3. Qxg6+ Kf8 4. Bh6# * [Event "?"] [Site "Tallinn"] [Date "1977.??.??"] [Round "?"] [White "Mikhail Tal"] [Black "Joseph Pribyl"] [Result "*"] [PlyCount "17"] [FEN "r7/5pk1/2p4p/1p1p4/1qnP4/5QPP/2B1RP1K/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qg4+ Kf8 2. Bh7 Ne3 3. Rxe3 Qxd4 4. Qg8# * [Event "?"] [Site "Leningrad"] [Date "1977.??.??"] [Round "?"] [White "Mikhail Tal"] [Black "Ivan Radulov"] [Result "*"] [PlyCount "17"] [FEN "8/r7/3pNb2/3R3p/1p2p3/pPk5/P1P3PP/1K6 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rd1 Be5 2. Ng5 d5 3. Rxd5 Bxh2 4. Nxe4# * [Event "?"] [Site "Ayr"] [Date "1978.??.??"] [Round "?"] [White "Jeff Horner"] [Black "Chris Morrison"] [Result "*"] [PlyCount "17"] [FEN "r1bqkb2/6p1/p1p4p/1p1N4/8/1B3Q2/PP3PPP/3R2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nc7+ Qxc7 2. Qh5+ g6 3. Qxg6+ Ke7 4. Qf7# * [Event "?"] [Site "Barcelona"] [Date "1979.??.??"] [Round "?"] [White "Maia Chiburdanidze"] [Black "Amador Rodriguez"] [Result "*"] [PlyCount "17"] [FEN "r2r2k1/1q4p1/ppb3p1/2bNp3/P1Q5/1N5R/1P4BP/n6K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ne7+ Kf8 2. Nxg6+ Ke8 3. Qe6+ Qe7 4. Rh8# * [Event "?"] [Site "Wijk aan Zee"] [Date "1979.??.??"] [Round "?"] [White "Nona Gaprindashvili"] [Black "Juraj Nikolac"] [Result "*"] [PlyCount "17"] [FEN "2r1r3/pp1nbN2/4p3/q7/P1pP2nk/2P2P2/1PQ5/R3R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Re4 Kh5 2. Rxg4 Qf5 3. Qh2+ Bh4 4. Qxh4# * [Event "?"] [Site "Bratislava"] [Date "1979.??.??"] [Round "?"] [White "Frantisek Vykydal"] [Black "Tadeus Nemec"] [Result "*"] [PlyCount "17"] [FEN "r3r2k/pb1n3p/1p1q1pp1/4p1B1/2BP3Q/2P1R3/P4PPP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxh7+ Kxh7 2. Rh3+ Kg7 3. Bh6+ Kh7 4. Bf8# * [Event "?"] [Site "Bristol"] [Date "1980.??.??"] [Round "?"] [White "John Nunn"] [Black "TC Fox"] [Result "*"] [PlyCount "17"] [FEN "r1b2rk1/p3Rp1p/3q2pQ/2pp2B1/3b4/3B4/PPP2PPP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxf8+ Kxf8 2. Bh6+ Kg8 3. Re8+ Qf8 4. Rxf8# * [Event "?"] [Site "corr."] [Date "1980.??.??"] [Round "?"] [White "Heikki Salo"] [Black "Riitta Jarvinen"] [Result "*"] [PlyCount "17"] [FEN "r1b3kn/2p1q1p1/2p2rP1/p2p1p2/4pP2/1PN1P3/PKPPQ3/3R2NR w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxh8+ Kxh8 2. Qh5+ Kg8 3. Qh7+ Kf8 4. Qh8# * [Event "?"] [Site "Moscow"] [Date "1981.??.??"] [Round "?"] [White "Garry Kasparov"] [Black "Zakharov"] [Result "*"] [PlyCount "17"] [FEN "5r1k/2q1r1p1/1npbBpQB/1p1p3P/p2P2R1/P4PP1/1PR2PK1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bxg7+ Rxg7 2. Qh6+ Rh7 3. Qxf8+ Bxf8 4. Rg8# * [Event "?"] [Site "Malaga"] [Date "1981.??.??"] [Round "?"] [White "Mikhail Tal"] [Black "Ricardo Calvo Minguez"] [Result "*"] [PlyCount "17"] [FEN "8/6R1/p2kp2r/qb5P/3p1N1Q/1p1Pr3/PP6/1K5R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qe7+ Kc6 2. Rc1+ Bc4 3. Rxc4+ Kb6 4. Qb7# * [Event "?"] [Site "Torquay"] [Date "1982.??.??"] [Round "?"] [White "Michael Basman"] [Black "Craig Dawson"] [Result "*"] [PlyCount "17"] [FEN "r5nr/6Rp/p1NNkp2/1p3b2/2p5/5K2/PP2P3/3R4 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nxf5 Kxf5 2. e4+ Ke6 3. Rgd7 Ne7 4. Rxe7# * [Event "?"] [Site "Tbilisi"] [Date "1982.??.??"] [Round "?"] [White "Mikhail Tal"] [Black "David Bronstein"] [Result "*"] [PlyCount "17"] [FEN "2b2k2/2p2r1p/p2pR3/1p3PQ1/3q3N/1P6/2P3PP/5K2 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ng6+ hxg6 2. Qd8+ Kg7 3. Rxg6+ Kh7 4. Qg8# * [Event "?"] [Site "Yugoslavia"] [Date "1983.??.??"] [Round "?"] [White "Predrag Nikolic"] [Black "Stefan Djuric"] [Result "*"] [PlyCount "17"] [FEN "1q1N4/3k1BQp/5r2/5p2/3P3P/8/3B1PPb/3n3K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Be6+ Ke8 2. Qd7+ Kf8 3. Bh6+ Rxh6 4. Qf7# * [Event "?"] [Site "Sao Paulo"] [Date "1983.??.??"] [Round "?"] [White "Cesar Soares"] [Black "Ivan Boere de Souza"] [Result "*"] [PlyCount "17"] [FEN "3r1rk1/ppqn3p/1npb1P2/5B2/2P5/2N3B1/PP2Q1PP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qg4+ Kf7 2. Be6+ Kxf6 3. Bh4+ Ke5 4. Qe4# * [Event "?"] [Site "Jakarta"] [Date "1983.??.??"] [Round "?"] [White "James Tarjan"] [Black "Eric Lobron"] [Result "*"] [PlyCount "17"] [FEN "2r1k3/2P3R1/3P2K1/6N1/8/8/8/3r4 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Re7+ Kf8 2. Nh7+ Kg8 3. Nf6+ Kf8 4. Rf7# * [Event "?"] [Site "Beer-Sheva"] [Date "1984.??.??"] [Round "?"] [White "Sergey Kudrin"] [Black "Mihai Suba"] [Result "*"] [PlyCount "17"] [FEN "rr2k3/5p2/p1bppPpQ/2p1n1P1/1q2PB2/2N4R/PP4BP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qf8+ Kd7 2. Qe7+ Kc8 3. Rh8+ Be8 4. Rxe8# * [Event "?"] [Site "Esbjerg"] [Date "1984.??.??"] [Round "?"] [White "Tony Miles"] [Black "Ole Jakobsen"] [Result "*"] [PlyCount "17"] [FEN "2r1rk2/p1q3pQ/4p3/1pppP1N1/7p/4P2P/PP3P2/1K4R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nxe6+ Ke7 2. Rxg7+ Kxe6 3. Qg6+ Kxe5 4. f4# * [Event "?"] [Site "Esbjerg"] [Date "1984.??.??"] [Round "?"] [White "Tony Miles"] [Black "Jonathan Mestel"] [Result "*"] [PlyCount "17"] [FEN "r2r2k1/1p3pb1/q2p2p1/3PnN1R/p1P1p3/N6Q/PP5P/1K4R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rh7 Bf6 2. Qh6 Nd3 3. Rg7+ Bxg7 4. Qxg7# * [Event "?"] [Site "Salonika"] [Date "1984.??.??"] [Round "?"] [White "Luc Winants"] [Black "Simen Agdestein"] [Result "*"] [PlyCount "17"] [FEN "5k2/6r1/p7/2p1P3/1p2Q3/8/1q4PP/3R2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rd8+ Ke7 2. Qh4+ Rg5 3. Qxg5+ Ke6 4. Qf6# * [Event "?"] [Site "Tunisia"] [Date "1985.??.??"] [Round "?"] [White "Nick De Firmian"] [Black "Alexander Chernin"] [Result "*"] [PlyCount "17"] [FEN "k1b4r/1p6/pR3p2/P1Qp2p1/2pp4/6PP/2P2qBK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxa6+ bxa6 2. Qxd5+ Kb8 3. Qd6+ Ka7 4. Qb6# * [Event "?"] [Site "Baden-Baden"] [Date "1985.??.??"] [Round "?"] [White "Boris Geller"] [Black "Herbert Bastian"] [Result "*"] [PlyCount "17"] [FEN "4R3/2p2kpQ/3p3p/p2r2q1/8/1Pr2P2/P1P3PP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rf8+ Kxf8 2. Qh8+ Kf7 3. Qe8+ Kf6 4. Qe6# * [Event "?"] [Site "Sweden"] [Date "1985.??.??"] [Round "?"] [White "Jonny Hector"] [Black "Jan Lind"] [Result "*"] [PlyCount "17"] [FEN "r1b4k/1p4qp/p7/4p2P/2B5/6Q1/PPP3P1/2K2R2 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rf8+ Qxf8 2. Qxe5+ Qg7 3. Qe8+ Qg8 4. Qxg8# * [Event "?"] [Site "Amsterdam"] [Date "1985.??.??"] [Round "?"] [White "Ferdinand Hellers"] [Black "Jeroen Piket"] [Result "*"] [PlyCount "17"] [FEN "r1b2n2/2q3rk/p3p2n/1p3p1P/4N3/PN1B1P2/1PPQ4/2K3R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf6+ Kh8 2. Qxh6+ Nh7 3. Qxh7+ Rxh7 4. Rg8# * [Event "?"] [Site "Milan"] [Date "1985.??.??"] [Round "?"] [White "Giuseppe Laco"] [Black "Giulio Lagumina"] [Result "*"] [PlyCount "17"] [FEN "r2qr1k1/1p3pP1/p2p1np1/2pPp1B1/2PnP1b1/2N2p2/PP1Q4/2KR1BNR w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bxf6 Bh5 2. Qh6 Nb3+ 3. axb3 Qxf6 4. Qh8# * [Event "?"] [Site "Biel"] [Date "1985.??.??"] [Round "?"] [White "Ljubomir Ljubojevic"] [Black "Amador Rodriguez"] [Result "*"] [PlyCount "17"] [FEN "5k2/ppqrRB2/3r1p2/2p2p2/7P/P1PP2P1/1P2QP2/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Re8+ Kxf7 2. Qh5+ Kg7 3. Rh8 Rxd3 4. Qh7# * [Event "?"] [Site "Sarajevo"] [Date "1985.??.??"] [Round "?"] [White "Slavoljub Marjanovic"] [Black "Emir Dizdarevic"] [Result "*"] [PlyCount "17"] [FEN "4n3/pbq2rk1/1p3pN1/8/2p2Q2/Pn4N1/B4PP1/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf5+ Kxg6 2. Qh6+ Kxf5 3. Qh5+ Kf4 4. g3# * [Event "?"] [Site "Taxco"] [Date "1985.??.??"] [Round "?"] [White "Jan Timman"] [Black "Marcel Sisniega"] [Result "*"] [PlyCount "17"] [FEN "r4k2/PR6/1b6/4p1Np/2B2p2/2p5/2K5/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nh7+ Ke8 2. Nf6+ Kd8 3. Rd7+ Kc8 4. Ba6# * [Event "?"] [Site "Biel"] [Date "1985.??.??"] [Round "?"] [White "Eugenio Torre"] [Black "Vlastimil Jansa"] [Result "*"] [PlyCount "17"] [FEN "8/5R1p/4p1p1/3pN1k1/1rnP4/p3P3/P1K2PPP/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. f4+ Kh6 2. Ng4+ Kh5 3. Nf6+ Kh6 4. Rxh7# * [Event "?"] [Site "Dubai"] [Date "1986.??.??"] [Round "?"] [White "Daniel Campora"] [Black "Turhan Yilmaz"] [Result "*"] [PlyCount "17"] [FEN "br1qr1k1/b1pnnp2/p2p2p1/P4PB1/3NP2Q/2P3N1/B5PP/R3R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bxf7+ Kf8 2. Qh8+ Kxf7 3. Qh7+ Kf8 4. Bh6# * [Event "?"] [Site "Canada"] [Date "1986.??.??"] [Round "?"] [White "Igor Ivanov"] [Black "Brian Hartman"] [Result "*"] [PlyCount "17"] [FEN "6k1/ppR3pp/8/3Np3/1Q4bP/6P1/PP2qbK1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxg7+ Kxg7 2. Qe7+ Kg6 3. Qf6+ Kh5 4. Qg5# * [Event "?"] [Site "Los Angeles"] [Date "1986.??.??"] [Round "?"] [White "Igor Ivanov"] [Black "Kamran Shirazi"] [Result "*"] [PlyCount "17"] [FEN "r3r3/1q2Pk1p/pn1Q2p1/1p3pB1/8/5N2/P5PP/2R1b2K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ne5+ Kg7 2. Qf6+ Kg8 3. Qf7+ Kh8 4. Bf6# * [Event "?"] [Site "Brussels"] [Date "1986.??.??"] [Round "?"] [White "John Nunn"] [Black "Nigel Short"] [Result "*"] [PlyCount "17"] [FEN "1r3rk1/1nqb2n1/6R1/1p1Pp3/1Pp3p1/2P4P/2B2QP1/2B2RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxg7+ Kxg7 2. Bh6+ Kxh6 3. Qh4+ Kg7 4. Qh7# * [Event "?"] [Site "Szirak"] [Date "1987.??.??"] [Round "?"] [White "Larry Christiansen"] [Black "Glenn Flear"] [Result "*"] [PlyCount "17"] [FEN "n2q1r1k/4bp1p/4p3/4P1p1/2pPNQ2/2p4R/5PPP/2B3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf6 Bxf6 2. Qe4 h5 3. Rxh5+ Kg8 4. Qh7# * [Event "?"] [Site "BRD"] [Date "1987.??.??"] [Round "?"] [White "Vlastimil Hort"] [Black "Hubert Schuh"] [Result "*"] [PlyCount "17"] [FEN "3r2k1/6p1/3Np2p/2P1P3/1p2Q1Pb/1P3R1P/1qr5/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rf8+ Rxf8 2. Rxf8+ Kxf8 3. Qa8+ Ke7 4. Qe8# * [Event "?"] [Site "Brussels"] [Date "1987.??.??"] [Round "?"] [White "Garry Kasparov"] [Black "Bent Larsen"] [Result "*"] [PlyCount "17"] [FEN "1qr2bk1/pb3pp1/1pn3np/3N2NQ/8/P7/BP3PPP/2B1R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf6+ gxf6 2. Qxg6+ Bg7 3. Bxf7+ Kf8 4. Nh7# * [Event "?"] [Site "Bilbao"] [Date "1987.??.??"] [Round "?"] [White "Ljubomir Ljubojevic"] [Black "Ochoa De Echaguen"] [Result "*"] [PlyCount "17"] [FEN "1r4k1/7R/p2p4/P5q1/1P2B3/5Pb1/2Q3K1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bd5+ Kf8 2. Rf7+ Ke8 3. Qc6+ Kd8 4. Qd7# * [Event "?"] [Site "Cappelle la Grande"] [Date "1987.??.??"] [Round "?"] [White "Anatoly Vaisser"] [Black "Byron Jacobs"] [Result "*"] [PlyCount "17"] [FEN "3q4/8/r1b4Q/2P2kp1/p2p4/P7/1P5P/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qe6+ Kf4 2. h3 Bd7 3. Qe5+ Kf3 4. Rf1# * [Event "?"] [Site "Gausdal"] [Date "1987.??.??"] [Round "?"] [White "Terje Wibe"] [Black "Alberto Mascarenhas"] [Result "*"] [PlyCount "17"] [FEN "r1b2k1r/2q1b3/p3ppBp/2n3B1/1p6/2N4Q/PPP3PP/2KRR3 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bxh6+ Rxh6 2. Qxh6+ Kg8 3. Qh7+ Kf8 4. Qf7# * [Event "?"] [Site "Cambridge Springs"] [Date "1988.??.??"] [Round "?"] [White "Nick De Firmian"] [Black "Anthony Miles"] [Result "*"] [PlyCount "17"] [FEN "r4n1k/ppBnN1p1/2p1p3/6Np/q2bP1b1/3B4/PPP3PP/R4Q1K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qf7 Nf6 2. e5 Bxe5 3. Qg8+ Nxg8 4. Nf7# * [Event "?"] [Site "corr."] [Date "1988.??.??"] [Round "?"] [White "Igor Glek"] [Black "A Korolev"] [Result "*"] [PlyCount "17"] [FEN "5q2/p7/3R4/3Q2p1/5pk1/4p1P1/P6P/2r2NK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. h3+ Kxh3 2. Qe6+ g4 3. Qh6+ Qxh6 4. Rxh6# * [Event "?"] [Site "Klaipeda"] [Date "1988.??.??"] [Round "?"] [White "Alexander Goldin"] [Black "Andrei Lukin"] [Result "*"] [PlyCount "17"] [FEN "5q1k/p3R1rp/2pr2p1/1pN2bP1/3Q1P2/1B6/PP5P/2K5 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxg7+ Qxg7 2. Re8+ Qf8 3. Rxf8+ Kg7 4. Rg8# * [Event "?"] [Site "Reykjavik"] [Date "1988.??.??"] [Round "?"] [White "John Nunn"] [Black "Lajos Portisch"] [Result "*"] [PlyCount "17"] [FEN "6rk/2p2p1p/p2q1p1Q/2p1pP2/1nP1R3/1P5P/P5P1/2B3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxh7+ Kxh7 2. Rh4+ Kg7 3. Bh6+ Kh7 4. Bf8# * [Event "?"] [Site "Chicago"] [Date "1989.??.??"] [Round "?"] [White "Lev Alburt"] [Black "Peter Yu"] [Result "*"] [PlyCount "17"] [FEN "6k1/5pb1/3p1n2/q1pP2Q1/2P4p/1r2R2P/5PPB/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Re8+ Nxe8 2. Rxe8+ Kh7 3. Qf5+ Kh6 4. Bf4# * [Event "?"] [Site "USA"] [Date "1989.??.??"] [Round "?"] [White "Campbell"] [Black "D Spigel"] [Result "*"] [PlyCount "17"] [FEN "r3rk2/6b1/q2pQBp1/1NpP4/1n2PP2/nP6/P3N1K1/R6R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bxg7+ Kxg7 2. Rh7+ Kxh7 3. Qf7+ Kh8 4. Rh1# * [Event "?"] [Site "Moscow"] [Date "1989.??.??"] [Round "?"] [White "Daniel Campora"] [Black "Andrei Kharitonov"] [Result "*"] [PlyCount "17"] [FEN "5r1k/7b/4B3/6K1/3R1N2/8/8/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ng6+ Bxg6 2. Kxg6 Rg8+ 3. Bxg8 Kxg8 4. Rd8# * [Event "?"] [Site "San Benedetto del Tronto"] [Date "1989.??.??"] [Round "?"] [White "Ugo Guerra"] [Black "Tobias Werther"] [Result "*"] [PlyCount "17"] [FEN "2r3k1/pp4rp/1q1p2pQ/1N2p1PR/2nNP3/5P2/PPP5/2K4R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxg7+ Kxg7 2. Rxh7+ Kf8 3. Rh8+ Ke7 4. R1h7# * [Event "?"] [Site "Chicago"] [Date "1989.??.??"] [Round "?"] [White "Igor Ivanov"] [Black "Sergey Kudrin"] [Result "*"] [PlyCount "17"] [FEN "5n1k/rq4rp/p1bp1b2/2p1pP1Q/P1B1P2R/2N3R1/1P4PP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxh7+ Nxh7 2. Rxh7+ Kxh7 3. Rh3+ Bh4 4. Rxh4# * [Event "?"] [Site "Reykjavik"] [Date "1990.??.??"] [Round "?"] [White "Joel Benjamin"] [Black "Mihai Suba"] [Result "*"] [PlyCount "17"] [FEN "3q1r2/6k1/p2pQb2/4pR1p/4B3/2P3P1/P4PK1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rg5+ Kh6 2. Qf5 Qe8 3. Rg6+ Kh7 4. Qxh5# * [Event "?"] [Site "Cannes"] [Date "1990.??.??"] [Round "?"] [White "Bogdan Lalic"] [Black "Pal Kiss"] [Result "*"] [PlyCount "17"] [FEN "rn2rk2/p1q1Nppp/1p4b1/2pP2Q1/2P5/6P1/PB3P1P/2R1R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bxg7+ Kxg7 2. Nf5+ Kf8 3. Qh6+ Kg8 4. Rxe8# * [Event "?"] [Site "Lyons"] [Date "1990.??.??"] [Round "?"] [White "Joel Lautier"] [Black "Jean-Rene Koch"] [Result "*"] [PlyCount "17"] [FEN "3q4/1p3p1k/1P1prPp1/P1rNn1Qp/8/7R/6PP/3R2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxh5+ Kg8 2. Rh8+ Kxh8 3. Qh6+ Kg8 4. Qg7# * [Event "?"] [Site "Budapest"] [Date "1990.??.??"] [Round "?"] [White "Mihail Marin"] [Black "Frank Naumann"] [Result "*"] [PlyCount "17"] [FEN "2r2bk1/2qn1ppp/pn1p4/5N2/N3r3/1Q6/5PPP/BR3BK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nh6+ gxh6 2. Qg3+ Rg4 3. Qxg4+ Bg7 4. Qxg7# * [Event "?"] [Site "Novi Sad"] [Date "1990.??.??"] [Round "?"] [White "Sofia Polgar"] [Black "Rumiana Gocheva"] [Result "*"] [PlyCount "17"] [FEN "3r1kbR/1p1r2p1/2qp1n2/p3pPQ1/P1P1P3/BP6/2B5/6RK w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxf6+ Rf7 2. Rxg7 Qxe4+ 3. Bxe4 Ke8 4. Qxf7# * [Event "?"] [Site "Kecskemet"] [Date "1990.??.??"] [Round "?"] [White "Oliver Reeh"] [Black "Laszlo Barczay"] [Result "*"] [PlyCount "17"] [FEN "rnb2rk1/ppp2qb1/6pQ/2pN1p2/8/1P3BP1/PB2PP1P/R4RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ne7+ Qxe7 2. Bd5+ Be6 3. Bxe6+ Rf7 4. Qxg7# * [Event "?"] [Site "Yaroslavl"] [Date "1990.??.??"] [Round "?"] [White "Evgeni Vasiukov"] [Black "James Howell"] [Result "*"] [PlyCount "17"] [FEN "2rqr1k1/1p2bp1p/pn4p1/3p1bP1/3B3Q/2NR2R1/PPP1NP1P/1K6 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxh7+ Kxh7 2. Rh3+ Bxh3 3. Rxh3+ Kg8 4. Rh8# * [Event "?"] [Site "Los Angeles"] [Date "1991.??.??"] [Round "?"] [White "Vladimir Akopian"] [Black "Gildardo Garcia"] [Result "*"] [PlyCount "17"] [FEN "4rk2/pb1Q1p2/6p1/3p2p1/2pP4/2q1PPK1/Pr4P1/1B2R2R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rh8+ Kg7 2. Rh7+ Kxh7 3. Qxf7+ Kh8 4. Rh1# * [Event "?"] [Site "Cetinje"] [Date "1991.??.??"] [Round "?"] [White "Ketevan Arakhamia-Grant"] [Black "Miroljub Lazic"] [Result "*"] [PlyCount "17"] [FEN "r1b1r1k1/p1q3p1/1pp1pn1p/8/3PQ3/B1PB4/P5PP/R4RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxf6 gxf6 2. Qg6+ Kh8 3. Qxe8+ Kg7 4. Qf8# * [Event "?"] [Site "Triberg"] [Date "1991.??.??"] [Round "?"] [White "Pavel Blatny"] [Black "Thomas Pioch"] [Result "*"] [PlyCount "17"] [FEN "2r2k2/pb4bQ/1p1qr1pR/3p1pB1/3Pp3/2P5/PPB2PP1/1K5R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxg7+ Kxg7 2. Rh7+ Kg8 3. Rh8+ Kf7 4. R1h7# * [Event "?"] [Site "Reykjavik"] [Date "1991.??.??"] [Round "?"] [White "Jaan Ehlvest"] [Black "Alexander Beliavsky"] [Result "*"] [PlyCount "17"] [FEN "8/1p3pkp/6p1/6P1/5n2/p5q1/PP1Q2P1/3R2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qd4+ Kg8 2. Qd8+ Kg7 3. Qf6+ Kg8 4. Rd8# * [Event "?"] [Site "Bad Neuenahr"] [Date "1991.??.??"] [Round "?"] [White "Vlastimil Hort"] [Black "Ralf Schoene"] [Result "*"] [PlyCount "17"] [FEN "r3b3/1p3N1k/n4p2/p2PpP2/n7/6P1/1P1QB1P1/4K3 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qh6+ Kg8 2. Qh8+ Kxf7 3. d6 Nb6 4. Bh5# * [Event "?"] [Site "Reggio Emilia"] [Date "1991.??.??"] [Round "?"] [White "Anatoly Karpov"] [Black "Mikhail Gurevich"] [Result "*"] [PlyCount "17"] [FEN "5Q2/8/6p1/2p4k/p1Bpq2P/6PK/P2b4/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qh8+ Bh6 2. Qe5+ g5 3. Bf7+ Qg6 4. g4# * [Event "?"] [Site "Cheliabinsk"] [Date "1991.??.??"] [Round "?"] [White "Ratmir Kholmov"] [Black "Alexander Filipenko"] [Result "*"] [PlyCount "17"] [FEN "2Rr1qk1/5ppp/p2N4/P7/5Q2/8/1r4PP/5BK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxf7+ Qxf7 2. Rxd8+ Qf8 3. Bc4+ Kh8 4. Rxf8# * [Event "?"] [Site "Pavlodar"] [Date "1991.??.??"] [Round "?"] [White "Oleg Korneev"] [Black "Valerij Filippov"] [Result "*"] [PlyCount "17"] [FEN "2qk1r2/Q3pr2/3p2pn/7p/5P2/4B2P/P1P3P1/1R4K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bb6+ Ke8 2. Qa4+ Qd7 3. Qa8+ Qd8 4. Qxd8# * [Event "?"] [Site "Germany"] [Date "1991.??.??"] [Round "?"] [White "Harald Matthey"] [Black "Lothar Olzem"] [Result "*"] [PlyCount "17"] [FEN "rnb3kb/pp5p/4p1pB/q1p2pN1/2r1PQ2/2P5/P4PPP/2R2RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qd6 Bg7 2. Qe7 Qc7 3. Qe8+ Bf8 4. Qxf8# * [Event "?"] [Site "Hague"] [Date "1991.??.??"] [Round "?"] [White ""Mephisto""] [Black "Alexander Munninghof"] [Result "*"] [PlyCount "17"] [FEN "3Q4/4r1pp/b6k/6R1/8/1qBn1N2/1P4PP/6KR w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bxg7+ Rxg7 2. Qf6+ Rg6 3. Qf8+ Rg7 4. Qxg7# * [Event "?"] [Site "Gausdal"] [Date "1991.??.??"] [Round "?"] [White "Grigory Serper"] [Black "Oystein Dannevig"] [Result "*"] [PlyCount "17"] [FEN "2r5/1p5p/3p4/pP1P1R2/1n2B1k1/8/1P3KPP/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. h3+ Kh4 2. g3+ Kxh3 3. Rh5+ Kg4 4. Bf3# * [Event "?"] [Site "Tilburg"] [Date "1992.??.??"] [Round "?"] [White "Gata Kamsky"] [Black "Vasil Spasov"] [Result "*"] [PlyCount "17"] [FEN "5r2/R4Nkp/1p4p1/2nR2N1/5p2/7P/6PK/1r6 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nh6+ Nb7 2. Rxb7+ Rf7 3. Rxf7+ Kxh6 4. Rxh7# * [Event "?"] [Site "St Martin"] [Date "1992.??.??"] [Round "?"] [White "Anatoly Karpov"] [Black "George Trammell"] [Result "*"] [PlyCount "17"] [FEN "8/8/5K2/6r1/8/8/5Q1p/7k w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qf1+ Rg1 2. Qf3+ Rg2 3. Qe4 Kg1 4. Qe1# * [Event "?"] [Site "Yurmala"] [Date "1992.??.??"] [Round "?"] [White "Alexander Morozevich"] [Black "Petr Kiriakov"] [Result "*"] [PlyCount "17"] [FEN "4kb1Q/5p2/1p6/1K1N4/2P2P2/8/q7/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qe5+ Kd7 2. Qc7+ Ke6 3. Qc8+ Kd6 4. Qc6# * [Event "?"] [Site "Aruba"] [Date "1992.??.??"] [Round "?"] [White "Judit Polgar"] [Black "Leon Pliester"] [Result "*"] [PlyCount "17"] [FEN "q3r3/4b1pn/pNrp2kp/1p6/4P3/1Q2B3/PPP1B1PP/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bh5+ Kxh5 2. Qf7+ g6 3. Qf3+ Kh4 4. Qh3# * [Event "?"] [Site "Leiden"] [Date "1992.??.??"] [Round "?"] [White "Dmitri Reinderman"] [Black "Wilbert Kocken"] [Result "*"] [PlyCount "17"] [FEN "r4r1k/1p3p1p/pp1p1p2/4qN1R/PP2P1n1/6Q1/5PPP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxh7+ Kxh7 2. Qh4+ Nh6 3. Qxh6+ Kg8 4. Qg7# * [Event "?"] [Site "Geneva"] [Date "1992.??.??"] [Round "?"] [White "Alexander Shabalov"] [Black "Lawrence Chachere"] [Result "*"] [PlyCount "17"] [FEN "r3rn1k/4b1Rp/pp1p2pB/3Pp3/P2qB1Q1/8/2P3PP/5R1K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxf8+ Bxf8 2. Rxh7+ Kxh7 3. Qxg6+ Kh8 4. Qh7# * [Event "?"] [Site "Oberwart"] [Date "1992.??.??"] [Round "?"] [White "Alexander Shabalov"] [Black "Pavel Vavra"] [Result "*"] [PlyCount "17"] [FEN "r1r3k1/1bq2pbR/p5p1/1pnpp1B1/3NP3/3B1P2/PPPQ4/1K5R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bf6 Bxf6 2. Qh6 Ne6 3. Rh8+ Bxh8 4. Qxh8# * [Event "?"] [Site "Mar del Plata"] [Date "1992.??.??"] [Round "?"] [White "Herman Van Riemsdijk"] [Black "Gaston Trombetta"] [Result "*"] [PlyCount "17"] [FEN "rk3q1r/pbp4p/1p3P2/2p1N3/3p2Q1/3P4/PPP3PP/R3R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nd7+ Kc8 2. Nxf8+ Kb8 3. Re8+ Bc8 4. Qxc8# * [Event "?"] [Site "Halkidiki"] [Date "1993.??.??"] [Round "?"] [White "Michael Adams"] [Black "Vasilios Kotronias"] [Result "*"] [PlyCount "17"] [FEN "3r3k/6pp/p3Qn2/P3N3/4q3/2P4P/5PP1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1.Nf7+ Kg8 2.Nh6+ Kh8 3.Qg8+ Rxg8 4.Nf7# * [Event "?"] [Site "New York"] [Date "1993.??.??"] [Round "?"] [White "Maurice Ashley"] [Black "David Arnett"] [Result "*"] [PlyCount "17"] [FEN "4k3/2q2p2/4p3/3bP1Q1/p6R/r6P/6PK/5B2 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bb5+ Bc6 2. Bxc6+ Qxc6 3. Rh8+ Kd7 4. Qd8# * [Event "?"] [Site "Saint Martin"] [Date "1993.??.??"] [Round "?"] [White "Jaan Ehlvest"] [Black "Ilya Gurevich"] [Result "*"] [PlyCount "17"] [FEN "3r1b2/3P1p2/p3rpkp/2q2N2/5Q1R/2P3BP/P5PK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxh6+ Bxh6 2. Qxh6+ Kxf5 3. Qh5+ Ke4 4. Qf3# * [Event "?"] [Site "L'Hospitalet"] [Date "1993.??.??"] [Round "?"] [White "Mihail Marin"] [Black "A Cuadras"] [Result "*"] [PlyCount "17"] [FEN "r2qr1k1/1p1n2pp/2b1p3/p2pP1b1/P2P1Np1/3BPR2/1PQB3P/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bxh7+ Kh8 2. Ng6+ Kxh7 3. Nf8+ Kg8 4. Qh7# * [Event "?"] [Site "Wijk aan Zee"] [Date "1993.??.??"] [Round "?"] [White "Ilia Smirin"] [Black "Gert-Jan De Boer"] [Result "*"] [PlyCount "17"] [FEN "2q2r1k/5Qp1/4p1P1/3p4/r6b/7R/5BPP/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bxh4 Rxf7 2. Be7+ Rh4 3. Rxh4+ Kg8 4. gxf7# * [Event "?"] [Site "Eastpointe"] [Date "1993.??.??"] [Round "?"] [White "Tim Ward"] [Black "J Solski"] [Result "*"] [PlyCount "17"] [FEN "r1bqr3/4pkbp/2p1N2B/p2nP1Q1/2pP4/2N2P2/PP4P1/R3K2R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxg7+ Kxe6 2. Qg4+ Kf7 3. e6+ Bxe6 4. Qg7# * [Event "?"] [Site "Loosdorf"] [Date "1993.??.??"] [Round "?"] [White "Vadim Zvjaginsev"] [Black "Wolfgang Humer"] [Result "*"] [PlyCount "17"] [FEN "3R4/rr2pp1k/1p1p1np1/1B1Pq2p/1P2P3/5P2/3Q2PP/2R3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rh8+ Kxh8 2. Qh6+ Kg8 3. Rc8+ Ne8 4. Rxe8# * [Event "?"] [Site "London"] [Date "1994.??.??"] [Round "?"] [White ""Chess Guru""] [Black ""Francesca""] [Result "*"] [PlyCount "17"] [FEN "5r2/1pP1b1p1/pqn1k2p/4p3/QP2BP2/P3P1PK/3R4/3R4 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qb3+ Kf6 2. Rd6+ Bxd6 3. Rxd6+ Ke7 4. Qe6# * [Event "?"] [Site "London"] [Date "1994.??.??"] [Round "?"] [White ""Chess Guru""] [Black ""Pawnder""] [Result "*"] [PlyCount "17"] [FEN "4r3/2B4B/2p1b3/ppk5/5R2/P2P3p/1PP5/1K5R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. b4+ axb4 2. axb4+ Kd5 3. c4+ bxc4 4. dxc4# * [Event "?"] [Site "Baile Herculane"] [Date "1994.??.??"] [Round "?"] [White "Victoria Cmilyte"] [Black "Iversen Gutad"] [Result "*"] [PlyCount "17"] [FEN "1r3r1k/6R1/1p2Qp1p/p1p4N/3pP3/3P1P2/PP2q2P/5R1K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rh7+ Kxh7 2. Qe7+ Kg6 3. Qg7+ Kxh5 4. Qg4# * [Event "?"] [Site "Orange"] [Date "1994.??.??"] [Round "?"] [White "Eric Gaudineau"] [Black "Ergin Mollov"] [Result "*"] [PlyCount "17"] [FEN "r1bq1rk1/4np1p/1p3RpB/p1Q5/2Bp4/3P4/PPP3PP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qe5 Nf5 2. Rxf5 Qf6 3. Qxf6 Bxf5 4. Qg7# * [Event "?"] [Site "Reno"] [Date "1994.??.??"] [Round "?"] [White "Igor Ivanov"] [Black "Steve Jacobi"] [Result "*"] [PlyCount "17"] [FEN "2rr3k/1p1b1pq1/4pNp1/Pp2Q2p/3P4/7R/5PPP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxh5+ Qh6 2. Rxh6+ Kg7 3. Rh7+ Kf8 4. Qd6# * [Event "?"] [Site "Lucerne"] [Date "1994.??.??"] [Round "?"] [White "Vladislav Nevednichy"] [Black "Nikolay Legky"] [Result "*"] [PlyCount "17"] [FEN "3rnn2/p1r2pkp/1p2pN2/2p1P3/5Q1N/2P3P1/PP2qPK1/R6R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qg5+ Ng6 2. Nf5+ exf5 3. Qh6+ Kh8 4. Qxh7# * [Event "?"] [Site "Budapest"] [Date "1994.??.??"] [Round "?"] [White "Ioannis Nikolaidis"] [Black "Istvan Almasi"] [Result "*"] [PlyCount "17"] [FEN "r3r1n1/pp3pk1/2q2p1p/P2NP3/2p1QP2/8/1P5P/1B1R3K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rg1+ Kf8 2. Rxg8+ Kxg8 3. Qh7+ Kf8 4. Qh8# * [Event "?"] [Site "Gausdal"] [Date "1994.??.??"] [Round "?"] [White "Lev Psakhis"] [Black "Helge Nordahl"] [Result "*"] [PlyCount "17"] [FEN "5rk1/pR4bp/6p1/6B1/5Q2/4P3/q2r1PPP/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxg7+ Kxg7 2. Bh6+ Kh8 3. Qxf8+ Qg8 4. Bg7# * [Event "?"] [Site "New York"] [Date "1994.??.??"] [Round "?"] [White "Alexander Shabalov"] [Black "Roman Levit"] [Result "*"] [PlyCount "17"] [FEN "1r2r3/2p2pkp/p1b2Np1/4P3/2p4P/qP4N1/2P2QP1/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nfh5+ gxh5 2. Nxh5+ Kh6 3. Qf6+ Kxh5 4. Qg5# * [Event "?"] [Site "Moscow"] [Date "1994.??.??"] [Round "?"] [White "Praveen Thipsay"] [Black "Rodrigo Alarcon"] [Result "*"] [PlyCount "17"] [FEN "1b4rk/4R1pp/p1b4r/2PB4/Pp1Q4/6Pq/1P3P1P/4RNK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxg7+ Rxg7 2. Re8+ Bxe8 3. Rxe8+ Rg8 4. Rxg8# * [Event "?"] [Site "Moscow"] [Date "1994.??.??"] [Round "?"] [White "Veselin Topalov"] [Black "Garry Kasparov"] [Result "*"] [PlyCount "17"] [FEN "4k2r/1R3R2/p3p1pp/4b3/1BnNr3/8/P1P5/5K2 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rfe7+ Kd8 2. Nc6+ Kc8 3. Na7+ Kd8 4. Rbd7# * [Event "?"] [Site "Reno"] [Date "1994.??.??"] [Round "?"] [White "Charles Van Buskirk"] [Black "Gregory Kaidanov"] [Result "*"] [PlyCount "17"] [FEN "1R2n1k1/r3pp1p/6p1/3P4/P1p2B2/6P1/5PKP/b7 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bh6 Ra8 2. Rxa8 f5 3. Rxe8+ Kf7 4. Rf8# * [Event "?"] [Site "Giessen"] [Date "1995.??.??"] [Round "?"] [White "Bernd Baum"] [Black "Wirsam Mueller"] [Result "*"] [PlyCount "17"] [FEN "2r4k/ppqbpQ1p/3p1bpB/8/8/1Nr2P2/PPP3P1/2KR3R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bg7+ Bxg7 2. Rxh7+ Kxh7 3. Rh1+ Bh3 4. Rxh3# * [Event "?"] [Site "Riga"] [Date "1995.??.??"] [Round "?"] [White "Viktor Bologan"] [Black "A Stavrinov"] [Result "*"] [PlyCount "17"] [FEN "r1brn3/p1q4p/p1p2P1k/2PpPPp1/P7/1Q2B2P/1P6/1K1R1R2 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bxg5+ Kxg5 2. Qg3+ Kh5 3. Qg4+ Kh6 4. Qh4# * [Event "?"] [Site "Wrexham"] [Date "1995.??.??"] [Round "?"] [White "Nigel Davies"] [Black "Christer Hartman"] [Result "*"] [PlyCount "17"] [FEN "r1qr3k/3R2p1/p3Q3/1p2p1p1/3bN3/8/PP3PPP/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qh3+ Kg8 2. Nf6+ gxf6 3. Qh7+ Kf8 4. Qf7# * [Event "?"] [Site "London"] [Date "1996.??.??"] [Round "?"] [White "Michael Adams"] [Black "P Burkart"] [Result "*"] [PlyCount "17"] [FEN "2r3k1/p4p2/1p2P1pQ/3bR2p/1q6/1B6/PP2RPr1/5K2 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. exf7+ Bxf7 2. Re8+ Rxe8 3. Rxe8+ Qf8 4. Rxf8# * [Event "?"] [Site "Laguna"] [Date "1996.??.??"] [Round "?"] [White "Paul Benson"] [Black "P Ribeiro"] [Result "*"] [PlyCount "17"] [FEN "r1bkr3/1p3ppp/p1p5/4P3/2B1n3/2P1B3/P1P3PP/R4RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bb6+ Kd7 2. Rad1+ Nd6 3. Rxd6+ Ke7 4. Rxf7# * [Event "?"] [Site "France"] [Date "1996.??.??"] [Round "?"] [White "Lauriane Ducasse"] [Black "Celine Carenco"] [Result "*"] [PlyCount "17"] [FEN "r4r1k/pppq1p1p/3p4/5p1Q/2B1Pp2/3P3P/PPn2P1K/R5R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rg7 Kxg7 2. Qg5+ Kh8 3. Qf6+ Kg8 4. Rg1# * [Event "?"] [Site "Calcutta"] [Date "1996.??.??"] [Round "?"] [White "Alexander Graf"] [Black "Abhijit Kunte"] [Result "*"] [PlyCount "17"] [FEN "2Q5/4ppbk/3p4/3P1NPp/4P3/5NB1/5PPK/rq6 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. g6+ Kxg6 2. Nxe7+ Kh7 3. Qg8+ Kh6 4. Bf4# * [Event "?"] [Site "Azov"] [Date "1996.??.??"] [Round "?"] [White "Alexander Lastin"] [Black "Vladimir Zhuravlev"] [Result "*"] [PlyCount "17"] [FEN "2b5/3qr2k/5Q1p/P3B3/1PB1PPp1/4K1P1/8/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bg8+ Kxg8 2. Qh8+ Kf7 3. Qg7+ Ke8 4. Qg8# * [Event "?"] [Site "Austria"] [Date "1996.??.??"] [Round "?"] [White "Enrique Lorita"] [Black "Siegfried Halwachs"] [Result "*"] [PlyCount "17"] [FEN "r1bq1bkr/6pp/p1p3P1/1p1p3Q/4P3/8/PPP3PP/RNB2RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. gxh7+ Rxh7 2. Qf7+ Kh8 3. Qxf8+ Qxf8 4. Rxf8# * [Event "?"] [Site "Baile Herculane"] [Date "1996.??.??"] [Round "?"] [White "Liviu-Dieter Nisipeanu"] [Black "Levente Vajda"] [Result "*"] [PlyCount "17"] [FEN "rr4Rb/2pnqb1k/np1p1p1B/3PpP2/p1P1P2P/2N3R1/PP2BP2/1KQ5 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bg7 Kxg8 2. Qh6 Bg6 3. Qxh8+ Kf7 4. fxg6# * [Event "?"] [Site "Copenhagen"] [Date "1996.??.??"] [Round "?"] [White "Jonathan Rowson"] [Black "Flemming Preuss"] [Result "*"] [PlyCount "17"] [FEN "r4b1r/pp1n2k1/1qp1p2p/3pP1pQ/1P6/2BP2N1/P4PPP/R4RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf5+ exf5 2. e6+ Kh7 3. Qf7+ Bg7 4. Qxg7# * [Event "?"] [Site "Wiesbaden"] [Date "1996.??.??"] [Round "?"] [White "Danny Schmidt"] [Black "Martin Januszewski"] [Result "*"] [PlyCount "17"] [FEN "5k2/r3pp1p/6p1/q1pP3R/5B2/2b3PP/PQ3PK1/R7 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qb8+ Qd8 2. Qxd8+ Kg7 3. Bh6+ Kf6 4. Qh8# * [Event "?"] [Site "Alexandria VA"] [Date "1996.??.??"] [Round "?"] [White "Alexander Shabalov"] [Black "Vinay Bhat"] [Result "*"] [PlyCount "17"] [FEN "r3r1k1/pp3pb1/3pb1p1/q5B1/1n2N3/3B1N2/PPP2PPQ/2K4R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qh7+ Kf8 2. Qxg7+ Kxg7 3. Bf6+ Kg8 4. Rh8# * [Event "?"] [Site "Budapest"] [Date "1996.??.??"] [Round "?"] [White "Maxim Turov"] [Black "Julian Estrada Nieto"] [Result "*"] [PlyCount "17"] [FEN "r6r/pp2pk1p/1n3b2/5Q1N/8/3B4/q4PPP/3RR1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxe7+ Kxe7 2. Qxf6+ Kd7 3. Bf5+ Ke8 4. Ng7# * [Event "?"] [Site "Graz"] [Date "1997.??.??"] [Round "?"] [White "Evgeny Agrest"] [Black "Reinhardt Bachler"] [Result "*"] [PlyCount "17"] [FEN "r4k2/1pp3q1/3p1NnQ/p3P3/2P3p1/8/PP6/2K4R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxg7+ Kxg7 2. Rh7+ Kf8 3. e6 Re8 4. Rf7# * [Event "?"] [Site "Telford"] [Date "1997.??.??"] [Round "?"] [White "Nigel Davies"] [Black "David Tebb"] [Result "*"] [PlyCount "17"] [FEN "8/6R1/1p1p4/1P1Np2k/2P1N2p/3P1p1q/1B2PP2/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf4+ exf4 2. Rg5+ Kh6 3. Bg7+ Kh7 4. Nf6# * [Event "?"] [Site "Berlin"] [Date "1997.??.??"] [Round "?"] [White "Igor Glek"] [Black "Corina Peptan"] [Result "*"] [PlyCount "17"] [FEN "4r1k1/1R4bp/pB2p1p1/P4p2/2r1pP1Q/2P4P/1q4P1/3R3K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxg7+ Kxg7 2. Rd7+ Kf8 3. Qf6+ Kg8 4. Qg7# * [Event "?"] [Site "Winnipeg"] [Date "1997.??.??"] [Round "?"] [White "Julian Hodgson"] [Black "Dale Haessel"] [Result "*"] [PlyCount "17"] [FEN "r2r4/1bp2pk1/p3pNp1/4P1P1/2p2Q2/2P5/qP3PP1/2K4R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rh7+ Kf8 2. Nd7+ Rxd7 3. Rh8+ Ke7 4. Qf6# * [Event "?"] [Site "Seinajoki"] [Date "1997.??.??"] [Round "?"] [White "Kalle Kiik"] [Black "Hannu Salmela"] [Result "*"] [PlyCount "17"] [FEN "r1kq1b1r/5ppp/p4n2/2pPR1B1/Q7/2P5/P4PPP/1R4K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qc6+ Qc7 2. Re8+ Nxe8 3. Qxe8+ Qd8 4. Qxd8# * [Event "?"] [Site "Quebec"] [Date "1997.??.??"] [Round "?"] [White "Alexandre Lesiege"] [Black "Robin Girard"] [Result "*"] [PlyCount "17"] [FEN "8/pp2Q1p1/2p3kp/6q1/5n2/1B2R2P/PP1r1PP1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qe8+ Kh7 2. Bg8+ Kh8 3. Bf7+ Kh7 4. Qg8# * [Event "?"] [Site "Defi"] [Date "1997.??.??"] [Round "?"] [White "Alexandre Lesiege"] [Black "Danny Goldenberg"] [Result "*"] [PlyCount "17"] [FEN "5r1k/1p4pp/p2N4/3Qp3/P2n1bP1/5P1q/1PP2R1P/4R2K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf7+ Kg8 2. Nh6+ Kh8 3. Qg8+ Rxg8 4. Nf7# * [Event "?"] [Site "Cannes"] [Date "1997.??.??"] [Round "?"] [White "Hikaru Nakamura"] [Black "Mohamad El Mikati"] [Result "*"] [PlyCount "17"] [FEN "r1b1Q3/p1p3p1/1p3k1p/4N3/8/2P5/PP3PPP/2K4R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qf7+ Kxe5 2. f4+ Kd6 3. Rd1+ Kc5 4. Qd5# * [Event "?"] [Site "Cannes"] [Date "1997.??.??"] [Round "?"] [White "Teimour Radjabov"] [Black "Gawain Jones"] [Result "*"] [PlyCount "17"] [FEN "3q1rk1/ppr1pp1p/n5pQ/2pP4/4PP1N/PP1n2PB/7P/1R3RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf5 gxf5 2. Bxf5 Re8 3. Qxh7+ Kf8 4. Qh8# * [Event "?"] [Site "Chandler"] [Date "1997.??.??"] [Round "?"] [White "Yasser Seirawan"] [Black "Larry Christiansen"] [Result "*"] [PlyCount "17"] [FEN "6k1/B2N1pp1/p6p/P3N1r1/4nb2/8/2R3B1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rc8+ Kh7 2. Nf8+ Kg8 3. Nfg6+ Kh7 4. Rh8# * [Event "?"] [Site "Bratto"] [Date "1997.??.??"] [Round "?"] [White "Ilia Smirin"] [Black "Sahbaz Nurkic"] [Result "*"] [PlyCount "17"] [FEN "4kr2/3rn2p/1P4p1/2p5/Q1B2P2/8/P2q2PP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qa8+ Rd8 2. Rxe7+ Kxe7 3. Qe4+ Kd6 4. Qe6# * [Event "?"] [Site "Beijing"] [Date "1997.??.??"] [Round "?"] [White "Ye Jiangchuan"] [Black "Zhu Chen"] [Result "*"] [PlyCount "17"] [FEN "2rkr3/3b1p1R/3R1P2/1p2Q1P1/pPq5/P1N5/1KP5/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxe8+ Kc7 2. Qxd7+ Kb8 3. Rb6+ Ka8 4. Qb7# * [Event "?"] [Site "Antwerpen"] [Date "1998.??.??"] [Round "?"] [White "Boris Avrukh"] [Black "Merlijn Donk"] [Result "*"] [PlyCount "17"] [FEN "3q1r2/pb3pp1/1p6/3pP1Nk/2r2Q2/8/Pn3PP1/3RR1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. g4+ Kg6 2. Qf5+ Kh6 3. Nxf7+ Rxf7 4. Qh5# * [Event "?"] [Site "Ljubljana"] [Date "1998.??.??"] [Round "?"] [White "Aleksander Delchev"] [Black "Marko Podvrsnik"] [Result "*"] [PlyCount "17"] [FEN "8/8/2N5/8/8/p7/2K5/k7 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nd4 Ka2 2. Ne2 Ka1 3. Nc1 a2 4. Nb3# * [Event "?"] [Site "Krasnodar"] [Date "1998.??.??"] [Round "?"] [White "Alexei Fedorov"] [Black "Nino Khurtsidze"] [Result "*"] [PlyCount "17"] [FEN "r3r1k1/1b6/p1np1ppQ/4n3/4P3/PNB4R/2P1BK1P/1q6 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bc4+ d5 2. Bxd5+ Re6 3. Bxe6+ Nf7 4. Qh8# * [Event "?"] [Site "Bastia"] [Date "1998.??.??"] [Round "?"] [White "Anatoly Karpov"] [Black "Federico Perez"] [Result "*"] [PlyCount "17"] [FEN "1r1qrbk1/3b3p/p2p1pp1/3NnP2/3N4/1Q4BP/PP4P1/1R2R2K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nxf6+ Kg7 2. Qg8+ Kxf6 3. Bh4+ g5 4. Bxg5# * [Event "?"] [Site "Marina d'Or"] [Date "1998.??.??"] [Round "?"] [White "Alexander Riazantsev"] [Black "Hrvoje Stevic"] [Result "*"] [PlyCount "17"] [FEN "5r1k/1q4bp/3pB1p1/2pPn1B1/1r6/1p5R/1P2PPQP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxh7+ Kxh7 2. Qh3+ Rh4 3. Qxh4+ Bh6 4. Qxh6# * [Event "?"] [Site "London"] [Date "1998.??.??"] [Round "?"] [White "Jonathan Rowson"] [Black "Brian Kelly"] [Result "*"] [PlyCount "17"] [FEN "3r1kr1/8/p2q2p1/1p2R3/1Q6/8/PPP5/1K4R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rf1+ Kg7 2. Re7+ Qxe7 3. Qxe7+ Kh6 4. Rh1# * [Event "?"] [Site "New Zealand"] [Date "1998.??.??"] [Round "?"] [White "Ortvin Sarapu"] [Black "Robert Gibbons"] [Result "*"] [PlyCount "17"] [FEN "2R1R1nk/1p4rp/p1n5/3N2p1/1P6/2P5/P6P/2K5 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf6 Nce7 2. Rxe7 h5 3. Rxg8+ Rxg8 4. Rh7# * [Event "?"] [Site "Philadelphia"] [Date "1998.??.??"] [Round "?"] [White "Jennifer Shahade"] [Black "Albert Chow"] [Result "*"] [PlyCount "17"] [FEN "r1br2k1/4p1b1/pq2pn2/1p4N1/7Q/3B4/PPP3PP/R4R1K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bh7+ Kf8 2. Qh5 Qg1+ 3. Kxg1 Bd7 4. Qf7# * [Event "?"] [Site "Kona"] [Date "1998.??.??"] [Round "?"] [White "Jennifer Shahade"] [Black "Sean Nagle"] [Result "*"] [PlyCount "17"] [FEN "R7/5pkp/3N2p1/2r3Pn/5r2/1P6/P1P5/2KR4 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ne8+ Kf8 2. Nf6+ Rc8 3. Rxc8+ Ke7 4. Re8# * [Event "?"] [Site "Saint Vincent"] [Date "1999.??.??"] [Round "?"] [White "Nigel Davies"] [Black "Vlad Tomescu"] [Result "*"] [PlyCount "17"] [FEN "8/1R4pp/k2rQp2/2p2P2/p2q1P2/1n1r2P1/6BP/4R2K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qe8 Qg1+ 2. Kxg1 Rb6 3. Ra7+ Kxa7 4. Qa8# * [Event "?"] [Site "Sivakasi"] [Date "1999.??.??"] [Round "?"] [White "Surya Ganguly"] [Black "P Abinandan"] [Result "*"] [PlyCount "17"] [FEN "r2b2Q1/1bq5/pp1k2p1/2p1n1B1/P3P3/2N5/1PP3PP/5R1K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rd1+ Nd3 2. Rxd3+ Ke5 3. Rd5+ Bxd5 4. Qxd5# * [Event "?"] [Site "Yerevan"] [Date "1999.??.??"] [Round "?"] [White "Rusudan Goletiani"] [Black "Nonna Sahakian"] [Result "*"] [PlyCount "17"] [FEN "4Q3/1b5r/1p1kp3/5p1r/3p1nq1/P4NP1/1P3PB1/2R3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qf8+ Kd5 2. Qd8+ Rd7 3. Qxd7+ Ke4 4. Qxd4# * [Event "?"] [Site "Recklinghausen"] [Date "1999.??.??"] [Round "?"] [White "Saidali Iuldachev"] [Black "Janusch Koscielski"] [Result "*"] [PlyCount "17"] [FEN "2rr2k1/1b3ppp/nq1p4/pB1P2Q1/PpP5/1N6/1P4PP/4RR1K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxf7 g6 2. Qf6 Qg1+ 3. Kxg1 Bxd5 4. Qg7# * [Event "?"] [Site "Lisbon"] [Date "1999.??.??"] [Round "?"] [White "Garry Kasparov"] [Black "Joao Rebelo"] [Result "*"] [PlyCount "17"] [FEN "r3r3/pppq1p1k/1bn2Bp1/3pPb2/1P1P4/P4N2/2BQ1PPP/R3R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qg5 Bg4 2. Qh4+ Bh5 3. Qxh5+ Kg8 4. Qh8# * [Event "?"] [Site "Marganets"] [Date "1999.??.??"] [Round "?"] [White "Ratmir Kholmov"] [Black "Nikolai Kushch"] [Result "*"] [PlyCount "17"] [FEN "R6R/2kr4/1p3pb1/3prN2/6P1/2P2K2/1P6/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ra7+ Kc6 2. Rc8+ Rc7 3. Rcxc7+ Kb5 4. Nd4# * [Event "?"] [Site "Dresden"] [Date "1999.??.??"] [Round "?"] [White "Alexandra Kosteniuk"] [Black "Tina Mietzner"] [Result "*"] [PlyCount "17"] [FEN "7r/p3R3/BpkP4/2b1P1p1/8/1K2n1B1/P5P1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bb7+ Kb5 2. a4+ Ka5 3. Be1+ Bb4 4. Bxb4# * [Event "?"] [Site "Monaco"] [Date "1999.??.??"] [Round "?"] [White "Joel Lautier"] [Black "Loek Van Wely"] [Result "*"] [PlyCount "17"] [FEN "rn3rk1/1p3pB1/p4b2/q4P1p/6Q1/1B6/PPp2P1P/R1K3R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bxf6+ hxg4 2. Rxg4+ Kh7 3. Rh4+ Kg8 4. Rh8# * [Event "?"] [Site "Germany"] [Date "1999.??.??"] [Round "?"] [White "Arkadij Naiditsch"] [Black "Stefan Hirsch"] [Result "*"] [PlyCount "17"] [FEN "r6r/p1qbB1kp/5p2/3Q2p1/8/P4N2/1P3PPP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bxf6+ Kf8 2. Bg7+ Kxg7 3. Re7+ Kf6 4. Qxg5# * [Event "?"] [Site "San Francisco"] [Date "1999.??.??"] [Round "?"] [White "Eugene Perelshteyn"] [Black "Irina Krush"] [Result "*"] [PlyCount "17"] [FEN "r2q4/pp1rpQbk/3p2p1/2pPP2p/5P2/2N5/PPP2P2/2KR3R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxh5+ gxh5 2. Rh1 Kh8 3. Rxh5+ Bh6 4. Rxh6# * [Event "?"] [Site "Las Vegas"] [Date "1999.??.??"] [Round "?"] [White "Alexei Shirov"] [Black "Gilberto Milos"] [Result "*"] [PlyCount "17"] [FEN "4qk2/6p1/p7/1p1Qp3/r1P2b2/1K5P/1P6/4RR2 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxf4+ exf4 2. Qf5+ Qf7 3. Qc8+ Qe8 4. Qxe8# * [Event "?"] [Site "France"] [Date "2000.??.??"] [Round "?"] [White "Stephanie Bermond"] [Black "Eliot Ailloud"] [Result "*"] [PlyCount "17"] [FEN "r1b2rk1/p1qnbp1p/2p3p1/2pp3Q/4pP2/1P1BP1R1/PBPP2PP/RN4K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxh7+ Kxh7 2. Rh3+ Bh4 3. Rxh4+ Kg8 4. Rh8# * [Event "?"] [Site "Yerevan"] [Date "2000.??.??"] [Round "?"] [White "Baadur Jobava"] [Black "Dennis De Vreugt"] [Result "*"] [PlyCount "17"] [FEN "qr3b1r/Q5pp/3p4/1kp5/2Nn1B2/Pp6/1P3PPP/2R1R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. a4+ Kc6 2. Na5+ Kd5 3. Qf7+ Ne6 4. Rcd1# * [Event "?"] [Site "Stockholm"] [Date "2000.??.??"] [Round "?"] [White "Bosse Lindberg"] [Black "Jesper Celander"] [Result "*"] [PlyCount "17"] [FEN "rnb2r1k/pp2q2p/2p2R2/8/2Bp3Q/8/PPP3PP/RN4K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxf8+ Qxf8 2. Qxd4+ Qg7 3. Qd8+ Qg8 4. Qxg8# * [Event "?"] [Site "Villarrobledo"] [Date "2000.??.??"] [Round "?"] [White "Ljubomir Ljubojevic"] [Black "Alfonso Romero Holmes"] [Result "*"] [PlyCount "17"] [FEN "8/8/p6p/1p3Kpk/1P2P3/P1b3P1/2N4P/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ne3 Be1 2. Ng2 Bxg3 3. hxg3 g4 4. Nf4# * [Event "?"] [Site "Passau"] [Date "2000.??.??"] [Round "?"] [White "David Navara"] [Black "Manfred Keller"] [Result "*"] [PlyCount "17"] [FEN "5rk1/3p1p1p/p4Qq1/1p1P2R1/7N/n6P/2r3PK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf5 Rxg2+ 2. Kxg2 Re8 3. Rxg6+ hxg6 4. Qg7# * [Event "?"] [Site "Quezon City"] [Date "2001.??.??"] [Round "?"] [White "Rogelio Antonio"] [Black "Reggie Olay"] [Result "*"] [PlyCount "17"] [FEN "2b3k1/r3q2p/4p1pB/p4r2/4N3/P1Q5/1P4PP/2R2R1K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qh8+ Kxh8 2. Rxc8+ Qf8 3. Rxf8+ Rxf8 4. Rxf8# * [Event "?"] [Site "Minsk"] [Date "2001.??.??"] [Round "?"] [White "Elina Danielian"] [Black "Alexandra Kosteniuk"] [Result "*"] [PlyCount "17"] [FEN "6rk/6pp/2p2p2/2B2P1q/1P2Pb2/1Q5P/2P2P2/3R3K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxg8+ Kxg8 2. Rd8+ Qe8 3. Rxe8+ Kf7 4. Rf8# * [Event "?"] [Site "Tbilisi"] [Date "2001.??.??"] [Round "?"] [White "Baadur Jobava"] [Black "Zviad Izoria"] [Result "*"] [PlyCount "17"] [FEN "2q4k/5pNP/p2p1BpP/4p3/1p2b3/1P6/P1r2R2/1K4Q1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ne6+ Kxh7 2. Ng5+ Kxh6 3. Qh2+ Qh3 4. Qxh3# * [Event "?"] [Site "Kharkov"] [Date "2001.??.??"] [Round "?"] [White "Sergey Karjakin"] [Black "Alexander Areshchenko"] [Result "*"] [PlyCount "17"] [FEN "1r6/1p3K1k/p3N3/P6n/6RP/2P5/8/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rg6 Nf6 2. Ng5+ Kh8 3. Rh6+ Nh7 4. Rxh7# * [Event "?"] [Site "Pardubice"] [Date "2001.??.??"] [Round "?"] [White "Ratmir Kholmov"] [Black "Jan Turner"] [Result "*"] [PlyCount "17"] [FEN "3r2k1/3N3p/4p1pQ/3p1p2/3P4/6BP/q4PPK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf6+ Kf7 2. Qxh7+ Kxf6 3. Be5+ Kg5 4. f4# * [Event "?"] [Site "Lyons"] [Date "2001.??.??"] [Round "?"] [White "Vladimir Kramnik"] [Black "C Houze"] [Result "*"] [PlyCount "17"] [FEN "r1b2k2/1p4pp/p4N1r/4Pp2/P3pP1q/4P2P/1P2Q2K/3R2R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rd8+ Kf7 2. Qc4+ Be6 3. Qc7+ Bd7 4. Qxd7# * [Event "?"] [Site "Oakham"] [Date "2001.??.??"] [Round "?"] [White "Irina Krush"] [Black "Julien Estrada Nieto"] [Result "*"] [PlyCount "17"] [FEN "r4r1k/1bpq1p1n/p1np4/1p1Bb1BQ/P7/6R1/1P3PPP/1N2R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bf6+ Bxf6 2. Be4 Qf5 3. Bxf5 Bxb2 4. Qxh7# * [Event "?"] [Site "Czech Republic"] [Date "2001.??.??"] [Round "?"] [White "Viktor Laznicka"] [Black "Pavel Rozumek"] [Result "*"] [PlyCount "17"] [FEN "rn3rk1/2qp2pp/p3P3/1p1b4/3b4/3B4/PPP1Q1PP/R1B2R1K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bxh7+ Kxh7 2. Qh5+ Kg8 3. Rxf8+ Kxf8 4. Qf7# * [Event "?"] [Site "Ho Chi Minh City"] [Date "2001.??.??"] [Round "?"] [White "Ngoc Nguyen"] [Black "Phuc Tuong Nguyen"] [Result "*"] [PlyCount "17"] [FEN "6k1/1p2q2p/p3P1pB/8/1P2p3/2Qr2P1/P4P1P/2R3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qg7+ Qxg7 2. Rc8+ Rd8 3. Rxd8+ Qf8 4. Rxf8# * [Event "?"] [Site "Senden"] [Date "2001.??.??"] [Round "?"] [White "Chanda Sandipan"] [Black "Mona Goihl"] [Result "*"] [PlyCount "17"] [FEN "rk1r4/p3RR2/1p3Q2/3q1p2/2p2P2/7P/2P3P1/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rb7+ Qxb7 2. Qxd8+ Qc8 3. Qd6+ Qc7 4. Qxc7# * [Event "?"] [Site "Alushta"] [Date "2001.??.??"] [Round "?"] [White "Andrei Volokitin"] [Black "Denis Shilin"] [Result "*"] [PlyCount "17"] [FEN "r3n1k1/pb5p/4N1p1/2pr4/q7/3B3P/1P1Q1PP1/2B1R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qh6 Qf4 2. Bxf4 Rf5 3. Bxf5 gxf5 4. Qf8# * [Event "?"] [Site "Halkidiki"] [Date "2002.??.??"] [Round "?"] [White "Michael Adams"] [Black "Vladislav Borovikov"] [Result "*"] [PlyCount "17"] [FEN "3r2k1/1p3p1p/p1n2qp1/2B5/1P2Q2P/6P1/B2bRP2/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qe8+ Rxe8 2. Rxe8+ Kg7 3. Bf8+ Kg8 4. Bh6# * [Event "?"] [Site "Heraklio"] [Date "2002.??.??"] [Round "?"] [White "Dmitry Andreikin"] [Black "Shakhiyar Rahmanov"] [Result "*"] [PlyCount "17"] [FEN "1r3r2/1p5R/p1n2pp1/1n1B1Pk1/8/8/P1P2BPP/2K1R3 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bh4+ Kxf5 2. Be6+ Kf4 3. Bg3+ Kg5 4. h4# * [Event "?"] [Site "Bled"] [Date "2002.??.??"] [Round "?"] [White "Larry Christiansen"] [Black "Saidali Iuldachev"] [Result "*"] [PlyCount "17"] [FEN "8/pp3r2/5p2/kPR3p1/3Q4/4P3/q5PK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. b6+ Ka6 2. Qd3+ Qc4 3. Qxc4+ Kxb6 4. Qb5# * [Event "?"] [Site "Vlissingen"] [Date "2002.??.??"] [Round "?"] [White "Igor Glek"] [Black "Bram Van Den Berg"] [Result "*"] [PlyCount "17"] [FEN "8/2B3R1/2p1pkp1/1r2N3/1p6/7P/2r3PK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rf7+ Kg5 2. Bd8+ Kh6 3. Ng4+ Kh5 4. Rh7# * [Event "?"] [Site "Travemunde"] [Date "2002.??.??"] [Round "?"] [White "Mihail Kopylov"] [Black "Michael Wiertzema"] [Result "*"] [PlyCount "17"] [FEN "r2r4/1p1bn2p/pn2ppkB/5p2/4PQN1/6P1/PPq2PBP/R2R2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ne5+ fxe5 2. Qg5+ Kf7 3. Qg7+ Ke8 4. Qf8# * [Event "?"] [Site "Krasnodar"] [Date "2002.??.??"] [Round "?"] [White "Alexey Korotylev"] [Black "Artyom Timofeev"] [Result "*"] [PlyCount "17"] [FEN "2r2k2/4p3/p3Rb2/1p1Q3p/5P2/8/Pqn1NP1K/6R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rc6 e6 2. Qxe6 Bg5 3. Rxg5 Rxc6 4. Rg8# * [Event "?"] [Site "Bled"] [Date "2002.??.??"] [Round "?"] [White "Aleksandar Kovacevic"] [Black "Bui Vinh"] [Result "*"] [PlyCount "17"] [FEN "3r1rk1/1q2b1n1/p1b1pRpQ/1p2P3/3BN3/P1PB4/1P4PP/4R2K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ng5 Bxg2+ 2. Kg1 Rf7 3. Qh7+ Kf8 4. Qh8# * [Event "?"] [Site "Antalya"] [Date "2002.??.??"] [Round "?"] [White "Katya Lahno"] [Black "Berfu Dincok"] [Result "*"] [PlyCount "17"] [FEN "r2qr3/pbpnb1kp/1p2Q1p1/3p4/3P4/2P3NP/PPBB2P1/R4RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rf7+ Kh8 2. Rxh7+ Kxh7 3. Qxg6+ Kh8 4. Qh7# * [Event "?"] [Site "Nyiregyhaza"] [Date "2002.??.??"] [Round "?"] [White "Erno Maraczi"] [Black "Balazs Palinkas"] [Result "*"] [PlyCount "17"] [FEN "r1b1qr2/pp2n1k1/3pp1pR/2p2pQ1/4PN2/2NP2P1/PP1K1PB1/n7 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nh5+ Kg8 2. Rh8+ Kxh8 3. Qh6+ Kg8 4. Qg7# * [Event "?"] [Site "Bled"] [Date "2002.??.??"] [Round "?"] [White "Paul Motwani"] [Black "Ali Gattea"] [Result "*"] [PlyCount "17"] [FEN "r1qb1rk1/3R1pp1/p1nR2p1/1p2p2N/6Q1/2P1B3/PP3PPP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxg6 fxg6 2. Rxg7+ Kh8 3. Qxg6 Qf5 4. Rh7# * [Event "?"] [Site "Bad Woerishofen"] [Date "2002.??.??"] [Round "?"] [White "Arkadij Naiditsch"] [Black "Gerhard Schnur"] [Result "*"] [PlyCount "17"] [FEN "r4r1k/pp1b2pn/8/3pR3/5N2/3Q4/Pq3PPP/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ng6+ Kg8 2. Ne7+ Kh8 3. Qxh7+ Kxh7 4. Rh5# * [Event "?"] [Site "Panormo"] [Date "2002.??.??"] [Round "?"] [White "Peter Heine Nielsen"] [Black "Ferenc Berkes"] [Result "*"] [PlyCount "17"] [FEN "1q1r1k2/1b2Rpp1/p1pQ3p/PpPp4/3P1NP1/1P3P1P/6K1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxf7+ Kg8 2. Qg6 Qe5 3. dxe5 Kh8 4. Qxg7# * [Event "?"] [Site "Lindsborg"] [Date "2003.??.??"] [Round "?"] [White "Evgeny Agrest"] [Black "Dmitry Zilberstein"] [Result "*"] [PlyCount "17"] [FEN "8/QrkbR3/3p3p/2pP4/1P3N2/6P1/6pK/2q5 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ne6+ Kc8 2. Qa8+ Rb8 3. Qc6+ Bxc6 4. Rc7# * [Event "?"] [Site "Sharjah"] [Date "2003.??.??"] [Round "?"] [White "Ehsan Ghaem Maghami"] [Black "Saeed Ishaq"] [Result "*"] [PlyCount "17"] [FEN "k2n1q1r/p1pB2p1/P4pP1/1Qp1p3/8/2P1BbN1/P7/2KR4 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bc6+ Bxc6 2. Rxd8+ Qxd8 3. Qxc6+ Kb8 4. Qb7# * [Event "?"] [Site "Dieren"] [Date "2003.??.??"] [Round "?"] [White "Alexandra Kosteniuk"] [Black "Yvette Nagel"] [Result "*"] [PlyCount "17"] [FEN "4rqk1/1bp2r1p/1p1p2pQ/3P1p2/P1P5/2B3RP/2B3P1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxg6+ Qg7 2. Rxg7+ Kf8 3. Rxf7+ Kxf7 4. Qg7# * [Event "?"] [Site "Biel"] [Date "2003.??.??"] [Round "?"] [White "Alexander Morozevich"] [Black "Christopher Lutz"] [Result "*"] [PlyCount "17"] [FEN "7k/3qbR1n/r5p1/3Bp1P1/1p1pP1r1/3P2Q1/1P5K/2R5 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxh7+ Kxh7 2. Qh3+ Rh4 3. Qxh4+ Kg7 4. Qh6# * [Event "?"] [Site "Batumi"] [Date "2003.??.??"] [Round "?"] [White "Levan Pantsulaia"] [Black "Arusiak Grigorian"] [Result "*"] [PlyCount "17"] [FEN "8/6pk/2qrQ3/5P1p/5PNK/2n5/7P/4R3 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf6+ gxf6 2. Qf7+ Kh8 3. Qf8+ Kh7 4. Re7# * [Event "?"] [Site "Halkidiki"] [Date "2003.??.??"] [Round "?"] [White "Elena Tairova"] [Black "Anna Gordiyenko"] [Result "*"] [PlyCount "17"] [FEN "2rk2r1/3b3R/n3pRB1/p2pP1P1/3N4/1Pp5/P1K4P/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxd7+ Kxd7 2. Rf7+ Ke8 3. Rg7+ Kf8 4. Nxe6# * [Event "?"] [Site "Germany"] [Date "2004.??.??"] [Round "?"] [White "Levon Aronian"] [Black "Stefan Kindermann"] [Result "*"] [PlyCount "17"] [FEN "3r2r1/4q1Bp/4k3/nBP2p1Q/P3p2P/4P1R1/8/4K3 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rg6+ hxg6 2. Qxg6+ Qf6 3. Qxf6+ Kd5 4. Qxf5# * [Event "?"] [Site "Coria del Rio"] [Date "2004.??.??"] [Round "?"] [White "Daniel Campora"] [Black "Jorge Llorente"] [Result "*"] [PlyCount "17"] [FEN "6k1/1p5p/1p2bp2/1Pnp1N2/1r6/3nBB2/1P4PP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ra8+ Bc8 2. Bxd5+ Ne6 3. Bxe6+ Kf8 4. Rxc8# * [Event "?"] [Site "Calvia"] [Date "2004.??.??"] [Round "?"] [White "Daniel Campora"] [Black "Stanislav Mikheev"] [Result "*"] [PlyCount "17"] [FEN "4r2R/3q1kbR/1p4p1/p1pP1pP1/P1P2P2/K5Q1/1P2p3/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxg7+ Kxg7 2. Qc3+ Re5 3. Qxe5+ Kf7 4. Qf6# * [Event "?"] [Site "Elgoibar"] [Date "2004.??.??"] [Round "?"] [White "Ivaan Cheparinov"] [Black "Jordan Ivanov"] [Result "*"] [PlyCount "17"] [FEN "2R2bk1/r4ppp/3pp3/1B2n1P1/3QP2P/5P2/1PK5/7q w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxf8+ Kxf8 2. Qxd6+ Re7 3. Qb8+ Re8 4. Qxe8# * [Event "?"] [Site "Internet"] [Date "2004.??.??"] [Round "?"] [White "Sergey Karjakin"] [Black "Artyom Timofeev"] [Result "*"] [PlyCount "17"] [FEN "5k1r/3b4/3p1p2/p4Pqp/1pB5/1P4r1/P1P5/1K1RR2Q w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qa8+ Bc8 2. Qxc8+ Kg7 3. Re7+ Kh6 4. Qxh8# * [Event "?"] [Site "Tomsk"] [Date "2004.??.??"] [Round "?"] [White "Mikhail Kobalia"] [Black "Valeri Yandemirov"] [Result "*"] [PlyCount "17"] [FEN "r3rk2/p3bp2/2p1qB2/1p1nP1RP/3P4/2PQ4/P5P1/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rg8+ Kxg8 2. Qg3+ Qg4 3. Qxg4+ Kh7 4. Qg7# * [Event "?"] [Site "Wijk aan Zee"] [Date "2004.??.??"] [Round "?"] [White "Katya Lahno"] [Black "Maarten Etmans"] [Result "*"] [PlyCount "17"] [FEN "3R4/1p6/p1b1Q2p/6pk/1P6/P6P/1q4PK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qf7+ Kh4 2. Rd4+ Be4 3. Rxe4+ g4 4. Rxg4# * [Event "?"] [Site "Calvia"] [Date "2004.??.??"] [Round "?"] [White "Roselli Mailhe"] [Black "Jose Dominguez"] [Result "*"] [PlyCount "17"] [FEN "1R3nk1/5pp1/3N2b1/4p1n1/2BqP1Q1/8/8/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxf8+ Kxf8 2. Qc8+ Ke7 3. Qc7+ Kf8 4. Qd8# * [Event "?"] [Site "Heraklio"] [Date "2004.??.??"] [Round "?"] [White "Roy Robson"] [Black "Rao Prasanna"] [Result "*"] [PlyCount "17"] [FEN "2rqnk2/pp2p1b1/3pbpQR/4P1p1/2r3P1/1NN1BP2/PPP5/2K4R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rh8+ Bg8 2. Rxg8+ Kxg8 3. e6 Nc7 4. Qf7# * [Event "?"] [Site "Izmir"] [Date "2004.??.??"] [Round "?"] [White "Alexei Shirov"] [Black "Stefan Kristjansson"] [Result "*"] [PlyCount "17"] [FEN "2kr3r/R4Q2/1pq1n3/7p/3R1B1P/2p3P1/2P2P2/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ra8+ Qxa8 2. Rc4+ Qc6 3. Rxc6+ Nc7 4. Qxc7# * [Event "?"] [Site "Catalan Bay"] [Date "2004.??.??"] [Round "?"] [White "Nigel Short"] [Black "Andrew Muir"] [Result "*"] [PlyCount "17"] [FEN "2r2n1k/2q3pp/p2p1b2/2nB1P2/1p1N4/8/PPP4Q/2K3RR w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxh7+ Nxh7 2. Rxh7+ Kxh7 3. Rh1+ Bh4 4. Rxh4# * [Event "?"] [Site "Rybinsk"] [Date "2004.??.??"] [Round "?"] [White "Nikita Vitiugov"] [Black "Ivan Ryzhov"] [Result "*"] [PlyCount "17"] [FEN "7r/pp4Q1/1qp2p1r/5k2/2P4P/1PB5/P4PP1/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Re5+ fxe5 2. Qxe5+ Kg6 3. Qf6+ Kh5 4. Qg5# * [Event "?"] [Site "Buenos Aires"] [Date "2005.??.??"] [Round "?"] [White "Claudia Amura"] [Black "Juan Gonzalez Zamora"] [Result "*"] [PlyCount "17"] [FEN "8/2Q1R1bk/3r3p/p2N1p1P/P2P4/1p3Pq1/1P4P1/1K6 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf6+ Rxf6 2. Qxg3 Rf7 3. Rxf7 Kh8 4. Qxg7# * [Event "?"] [Site "Kharkov"] [Date "2005.??.??"] [Round "?"] [White "Anastasia Bodnaruk"] [Black "Anastazia Karlovich"] [Result "*"] [PlyCount "17"] [FEN "6k1/6p1/p5p1/3pB3/1p1b4/2r1q1PP/P4R1K/5Q2 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rf8+ Kh7 2. Rh8+ Kxh8 3. Qf8+ Kh7 4. Qxg7# * [Event "?"] [Site "Lahijan"] [Date "2005.??.??"] [Round "?"] [White "Rauf Mamedov"] [Black "Kerim Aliev"] [Result "*"] [PlyCount "17"] [FEN "2rq1rk1/pp4p1/2pb1pN1/n2p3Q/3P4/2N1B3/PPP2PP1/2K4R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nh8 Nb3+ 2. Kd1 Bh2 3. Rxh2 Nxd4 4. Qh7# * [Event "?"] [Site "Abudhabi"] [Date "2005.??.??"] [Round "?"] [White "Eltaj Safarli"] [Black "Sergei Simonenko"] [Result "*"] [PlyCount "17"] [FEN "4r1k1/3r1p1p/bqp1n3/p2p1NP1/Pn1Q1b2/7P/1PP3B1/R2NR2K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxe6 fxe6 2. Nh6+ Kf8 3. Qf6+ Rf7 4. Qxf7# * [Event "?"] [Site "Beer-Sheva"] [Date "2005.??.??"] [Round "?"] [White "Shen Yang"] [Black "Sergei Rublevsky"] [Result "*"] [PlyCount "17"] [FEN "4r3/2RN4/p1r5/1k1p4/5Bp1/p2P4/1P4PK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rb7+ Ka4 2. b3+ Ka5 3. Bd2+ Rc3 4. Bxc3# * [Event "?"] [Site "Sibenik"] [Date "2005.??.??"] [Round "?"] [White "Ilia Smirin"] [Black "Goran Dizdar"] [Result "*"] [PlyCount "17"] [FEN "4rk1r/p2b1pp1/1q5p/3pR1n1/3N1p2/1P1Q1P2/PBP3PK/4R3 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxe8+ Bxe8 2. Ba3+ Qd6 3. Bxd6+ Kg8 4. Rxe8# * [Event "?"] [Site "Belfort"] [Date "2005.??.??"] [Round "?"] [White "Elena Tairova"] [Black "Krishna Ramya"] [Result "*"] [PlyCount "17"] [FEN "2b1rqk1/r1p2pp1/pp4n1/3Np1Q1/4P2P/1BP5/PP3P2/2KR2R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf6+ gxf6 2. Qxg6+ Kh8 3. Qh5+ Qh6+ 4. Qxh6# * [Event "?"] [Site "Belfort"] [Date "2005.??.??"] [Round "?"] [White "Elena Tairova"] [Black "Elena Winkelmann"] [Result "*"] [PlyCount "17"] [FEN "8/5r2/3R4/3Pp1p1/p2pPk1p/P2PbP2/1P2K2P/4B3 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rg6 Bg1 2. Bxh4 Bxh2 3. Rxg5 Bg1 4. Rg4# * [Event "?"] [Site "Cappelle la Grande"] [Date "2005.??.??"] [Round "?"] [White "Throstur Thorhallsson"] [Black "Sylvain Leburgue"] [Result "*"] [PlyCount "17"] [FEN "b4rk1/5Npp/p3B3/1p6/8/3R4/PP4nP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ne5+ Kh8 2. Ng6+ hxg6 3. Rh3+ Nh4 4. Rxh4# * [Event "?"] [Site "Albox"] [Date "2005.??.??"] [Round "?"] [White "Francisco Vallejo Pons"] [Black "Fernando Peralta"] [Result "*"] [PlyCount "17"] [FEN "1r3r1k/2R4p/q4ppP/3PpQ2/2RbP3/pP6/P2B2P1/1K6 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxh7+ Kxh7 2. Qd7+ Rf7 3. Qxf7+ Kh8 4. Qg7# * [Event "?"] [Site "Lausanne"] [Date "2006.??.??"] [Round "?"] [White "Alexander Areshchenko"] [Black "Humpy Koneru"] [Result "*"] [PlyCount "17"] [FEN "4q3/pb5p/1p2p2k/4N3/PP1QP3/2P2PP1/6K1/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ng4+ Kh5 2. Qe5+ Kg6 3. Qf6+ Kh5 4. Qh6# * [Event "?"] [Site "Turin"] [Date "2006.??.??"] [Round "?"] [White "Camilla Baginskaite"] [Black "Nazrana Khan"] [Result "*"] [PlyCount "17"] [FEN "7k/1p1P1Qpq/p6p/5p1N/6N1/7P/PP1r1PPK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ngf6 gxf6 2. Qxf6+ Kg8 3. Qd8+ Kf7 4. Qe8# * [Event "?"] [Site "Turin"] [Date "2006.??.??"] [Round "?"] [White "Paula Delai"] [Black "Tshepiso Lopang"] [Result "*"] [PlyCount "17"] [FEN "1R6/rbr2p2/5Pkp/2pBP1p1/ppP3P1/5K1P/P1PR4/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bxb7 Raxb7 2. Rg8+ Kh7 3. Rg7+ Kh8 4. Rd8# * [Event "?"] [Site "Turin"] [Date "2006.??.??"] [Round "?"] [White "Ali Frhat"] [Black "Zozik Mohommed"] [Result "*"] [PlyCount "17"] [FEN "r3r3/2qb1pkp/p2p2pN/1p1pn3/7Q/P3B3/1PP1B1PP/R6K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf5+ gxf5 2. Bh6+ Kg8 3. Qf6 Qxc2 4. Qg7# * [Event "?"] [Site "Tromsoe"] [Date "2006.??.??"] [Round "?"] [White "Jon Hammer"] [Black "Eirik Gullaksen"] [Result "*"] [PlyCount "17"] [FEN "1k6/5Q2/2Rr2pp/pqP5/1p6/7P/2P3PK/4r3 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qc7+ Ka8 2. Qc8+ Qb8 3. Qa6+ Qa7 4. Rc8# * [Event "?"] [Site "Ermioni"] [Date "2006.??.??"] [Round "?"] [White "Ernesto Inarkiev"] [Black "Evgeny Postny"] [Result "*"] [PlyCount "17"] [FEN "5r1k/4R3/6pP/r1pQPp2/5P2/2p1PN2/2q5/5K1R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rh7+ Kxh7 2. Qd7+ Rf7 3. Qxf7+ Kh8 4. Qg7# * [Event "?"] [Site "Mainz"] [Date "2006.??.??"] [Round "?"] [White "Shakhriyar Mamedyarov"] [Black "Stefan Martin"] [Result "*"] [PlyCount "17"] [FEN "3n3k/1p3B2/p2p1P2/2rP1br1/5p2/2P5/PP6/2KR2R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rh1+ Bh7 2. Rxh7+ Kxh7 3. Rh1+ Rh5 4. Rxh5# * [Event "?"] [Site "Kirishi"] [Date "2006.??.??"] [Round "?"] [White "Ian Nepomniachtchi"] [Black "Aleksandr Volodin"] [Result "*"] [PlyCount "17"] [FEN "2r1rk2/6b1/1q2ppP1/pp1PpQB1/8/PPP2BP1/6K1/7R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxf6+ Bxf6 2. Bxf6 Qf2+ 3. Kxf2 exd5 4. Rh8# * [Event "?"] [Site "Turin"] [Date "2006.??.??"] [Round "?"] [White "Jessica Nill"] [Black "Catherine Perena"] [Result "*"] [PlyCount "17"] [FEN "8/8/8/k1KB4/5r2/4R3/8/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Be4 Rf5+ 2. Bxf5 Ka6 3. Re7 Ka5 4. Ra7# * [Event "?"] [Site "Gibraltar"] [Date "2006.??.??"] [Round "?"] [White "Nigel Short"] [Black "Natalia Zhukova"] [Result "*"] [PlyCount "17"] [FEN "r1b2rk1/5pb1/p1n1p3/4B3/4N2R/8/1PP1p1PP/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nf6+ Bxf6 2. Bxf6 exf1=Q+ 3. Kxf1 Re8 4. Rh8# * [Event "?"] [Site "Turin"] [Date "2006.??.??"] [Round "?"] [White "Zhao Xue"] [Black "Jovanka Houska"] [Result "*"] [PlyCount "17"] [FEN "3r1nQ1/1b4p1/1p3k1p/p1q5/P2N4/5P2/6PP/1B2R2K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Re6+ Nxe6 2. Qxe6+ Kg5 3. h4+ Kf4 4. Ne2# * [Event "?"] [Site "Great Yarmouth"] [Date "2007.??.??"] [Round "?"] [White "Steven Barrett"] [Black "David Howell"] [Result "*"] [PlyCount "17"] [FEN "8/1bn5/ppk4q/1p1pQ2B/5P2/P3R2P/1Pr5/3R3K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Be8+ Nxe8 2. Qxd5+ Kc7 3. Re7+ Kb8 4. Qxb7# * [Event "?"] [Site "Hamar"] [Date "2007.??.??"] [Round "?"] [White "Jon Hammer"] [Black "Joran Aulin-Jansson"] [Result "*"] [PlyCount "17"] [FEN "1r3k2/5p1p/1qbRp3/2r1Pp2/ppB4Q/1P6/P1P4P/1K1R4 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qh6+ Ke7 2. Rxe6+ fxe6 3. Qxe6+ Kf8 4. Qf7# * [Event "?"] [Site "Germany"] [Date "2007.??.??"] [Round "?"] [White "Maxim Korman"] [Black "Almira Skripchenko"] [Result "*"] [PlyCount "17"] [FEN "r1b2RB1/pp4p1/q5kp/5p2/3Q1P2/6P1/1PPK3P/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bf7+ Kh7 2. Rh8+ Kxh8 3. Qd8+ Kh7 4. Qg8# * [Event "?"] [Site "Peabody"] [Date "2007.??.??"] [Round "?"] [White "Roy Robson"] [Black "Eugene Perelshteyn"] [Result "*"] [PlyCount "17"] [FEN "r3k3/3b3R/1n1p1b1Q/1p1PpP1N/1P2P1P1/6K1/2B1q3/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rh8+ Bxh8 2. Qxh8+ Kf7 3. Qf6+ Ke8 4. Ng7# * [Event "?"] [Site "Peabody"] [Date "2007.??.??"] [Round "?"] [White "Roy Robson"] [Black "S Shankland"] [Result "*"] [PlyCount "17"] [FEN "5k1r/6p1/1Qq2p1p/2r1p3/2B3P1/1P6/1PP5/2K2R2 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qd8+ Qe8 2. Rxf6+ gxf6 3. Qxf6+ Qf7 4. Qxf7# * [Event "?"] [Site "Moscow"] [Date "2007.??.??"] [Round "?"] [White "Maxim Sorokin"] [Black "Marina Guseva"] [Result "*"] [PlyCount "17"] [FEN "r1b2r2/4nn1k/1q2PQ1p/5p2/pp5R/5N2/5PPP/5RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ng5+ Kg8 2. exf7+ Rxf7 3. Qxf7+ Kh8 4. Qh7# * [Event "?"] [Site "Germany"] [Date "2008.??.??"] [Round "?"] [White "Thomas Casper"] [Black "Ilja Brener"] [Result "*"] [PlyCount "17"] [FEN "6r1/pp3p1k/4bQ1p/2p2P1N/2P5/1P5P/1P3P1q/3R1K2 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qg7+ Rxg7 2. Nf6+ Kh8 3. Rd8+ Rg8 4. Rxg8# * [Event "?"] [Site "Poland"] [Date "2008.??.??"] [Round "?"] [White "Krzysztof Checiak"] [Black "Michal Wengierow"] [Result "*"] [PlyCount "17"] [FEN "r1bq1rk1/pp1nb1pp/5p2/6B1/3pQ3/3BPN2/PP3PPP/R4RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxh7+ Kf7 2. Bc4+ Ke8 3. Qg6+ Rf7 4. Qxf7# * [Event "?"] [Site "Dresden"] [Date "2008.??.??"] [Round "?"] [White "Valentina Golubenko"] [Black "Hamid"] [Result "*"] [PlyCount "17"] [FEN "3k4/1R6/1P2PNp1/7p/2n4P/8/4rPP1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. e7+ Kc8 2. Rc7+ Kb8 3. Nd7+ Ka8 4. Ra7# * [Event "?"] [Site "Beijing"] [Date "2008.??.??"] [Round "?"] [White "Li Chao"] [Black "Amir Bagheri"] [Result "*"] [PlyCount "17"] [FEN "2r3k1/pp2Bp1p/6p1/1P2P3/P7/1q2bP1P/3Q2P1/3R3K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qd8+ Rxd8 2. Rxd8+ Kg7 3. Bf8+ Kg8 4. Bh6# * [Event "?"] [Site "Dresden"] [Date "2008.??.??"] [Round "?"] [White "Roy Phillips"] [Black "Kurt Meier"] [Result "*"] [PlyCount "17"] [FEN "1R1br1k1/pR5p/2p3pB/2p2P2/P1qp2Q1/2n4P/P5P1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rg7+ Kh8 2. Rxh7+ Kxh7 3. Qxg6+ Kh8 4. Qg7# * [Event "?"] [Site "St. Petersburg"] [Date "2008.??.??"] [Round "?"] [White "Sanan Sjugirov"] [Black "Alexsej Lanin"] [Result "*"] [PlyCount "17"] [FEN "4kb1r/1R6/p2rp3/2Q1p1q1/4p3/3B4/P6P/4KR2 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bb5+ axb5 2. Qxb5+ Kd8 3. Rb8+ Kc7 4. Qb7# * [Event "?"] [Site "Germany"] [Date "2009.??.??"] [Round "?"] [White "Rustem Dautov"] [Black "Michiel Bosman"] [Result "*"] [PlyCount "17"] [FEN "3qr1k1/1pp3rn/p2p1Qp1/3P1pP1/2P2P2/2P2BK1/P6R/7R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxg7+ Kxg7 2. Rxh7+ Kf8 3. Rh8+ Ke7 4. R1h7# * [Event "?"] [Site "Germany"] [Date "2009.??.??"] [Round "?"] [White "Joanna Dworakowska"] [Black "Manuela Mader"] [Result "*"] [PlyCount "17"] [FEN "4rnrk/ppqn2p1/4p1Pp/2p5/2PP1P2/3N3R/PP1N2Q1/1K4R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxh6+ gxh6 2. g7+ Kh7 3. Qe4+ Ng6 4. Qxg6# * [Event "?"] [Site "Bussum"] [Date "2009.??.??"] [Round "?"] [White "Anish Giri"] [Black "Romain Picard"] [Result "*"] [PlyCount "17"] [FEN "5rk1/pp2Rppp/nqp5/8/5Q2/6PB/PPP2P1P/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxf7+ Rxf7 2. Re8+ Rf8 3. Be6+ Kh8 4. Rxf8# * [Event "?"] [Site "Gibraltar"] [Date "2009.??.??"] [Round "?"] [White "Jon Hammer"] [Black "Magnus Carlhammar"] [Result "*"] [PlyCount "17"] [FEN "3rk3/1q4pp/3B1p2/3R4/1pQ5/1Pb5/P4PPP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Re5+ Kd7 2. Qe6+ Kc6 3. Bb8+ Rd6 4. Qxd6# * [Event "?"] [Site "Moscow"] [Date "2009.??.??"] [Round "?"] [White "Dmitry Jakovenko"] [Black "Sergey Karjakin"] [Result "*"] [PlyCount "17"] [FEN "8/3n2pp/2qBkp2/ppPpp1P1/1P2P3/1Q6/P4PP1/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qh3+ Kf7 2. Qh5+ Kg8 3. Qe8+ Nf8 4. Qxf8# * [Event "?"] [Site "Germany"] [Date "2009.??.??"] [Round "?"] [White "Ekaterina Kovalevskaya"] [Black "Maria Schoene"] [Result "*"] [PlyCount "17"] [FEN "r1b2r1k/p1n3b1/7p/5q2/2BpN1p1/P5P1/1P1Q1NP1/2K1R2R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxh6+ Bxh6 2. Qxh6+ Qh7 3. Qxf8+ Qg8 4. Qxg8# * [Event "?"] [Site "Sibenik"] [Date "2009.??.??"] [Round "?"] [White "Arkadij Naiditsch"] [Black "Sergey Fedorchuk"] [Result "*"] [PlyCount "17"] [FEN "r3rb2/2qnk2p/p1bp2pB/n3p1N1/P3P3/2P3N1/Q4PPP/1R2R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qe6+ Kd8 2. Nf7+ Kc8 3. Qxe8+ Qd8 4. Qxd8# * [Event "?"] [Site "St. Petersburg"] [Date "2009.??.??"] [Round "?"] [White "Natalia Pogonina"] [Black "Nana Dzagnidze"] [Result "*"] [PlyCount "17"] [FEN "2q5/p3p2k/3pP1p1/2rN2Pn/1p1Q4/7R/PPr5/1K5R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxh5+ gxh5 2. Rxh5+ Kg6 3. Rh6+ Kxg5 4. Qf4# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Kanwal Bhatia"] [Black "Hisako Wakabayashi"] [Result "*"] [PlyCount "17"] [FEN "2q3k1/1b1Q2bp/p1n2pp1/1p6/4B3/5N2/1PP2PPP/4R1K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bd5+ Kh8 2. Re8+ Bf8 3. Qf7 Qxe8 4. Qg8# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Judith Fuchs"] [Black "Camille De Seroux"] [Result "*"] [PlyCount "17"] [FEN "r4r2/2qnbpkp/b3p3/2ppP1N1/p2P1Q2/P1P5/5PPP/nBBR2K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Nxe6+ fxe6 2. Qh6+ Kf7 3. Qh5+ Kg8 4. Qxh7# * [Event "?"] [Site "Moscow"] [Date "2010.??.??"] [Round "?"] [White "Boris Gelfand"] [Black "Rauf Mamedov"] [Result "*"] [PlyCount "17"] [FEN "5Q2/1p3p1N/2p3p1/5b1k/2P3n1/P4RP1/3q2rP/5R1K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxf5+ g5 2. Qxf7+ Kh6 3. Rf6+ Nxf6 4. Rxf6# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Melissa Greef"] [Black "Alba Munoz"] [Result "*"] [PlyCount "17"] [FEN "rn3rk1/pp3p2/2b1pnp1/4N3/3q4/P1NB3R/1P1Q1PPP/R5K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qh6 Nh5 2. Rxh5 Qxf2+ 3. Kxf2 gxh5 4. Qh7# * [Event "?"] [Site "Tromsoe"] [Date "2010.??.??"] [Round "?"] [White "Mikhail Kobalia"] [Black "Loek Van Wely"] [Result "*"] [PlyCount "17"] [FEN "r4rk1/1q2bp1p/5Rp1/pp1Pp3/4B2Q/P2R4/1PP3PP/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rh3 h5 2. Qxh5 gxh5 3. Rg3+ Kh8 4. Rh6# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Julia Kochetkova"] [Black "Biljana Dekic"] [Result "*"] [PlyCount "17"] [FEN "r1br1b2/4pPk1/1p1q3p/p2PR3/P1P2N2/1P1Q2P1/5PBK/4R3 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Re6 Qxe6 2. Rxe6 Bxe6 3. Qg6+ Kh8 4. Qg8# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Kateryna Lahno"] [Black "Gundula Heinatz"] [Result "*"] [PlyCount "17"] [FEN "6r1/1p1qp1rk/p2pR1p1/3P2Qp/7P/5P2/PPP5/1K4R1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxg6 Rxg6 2. Qxh5+ Kg7 3. Qxg6+ Kf8 4. Qxg8# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Rauf Mamedov"] [Black "Johan Alvarez"] [Result "*"] [PlyCount "17"] [FEN "5rk1/pp1qpR2/6Pp/3ppNbQ/2nP4/B1P5/P5PP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rg7+ Kh8 2. Qxh6+ Bxh6 3. Rh7+ Kg8 4. Nxh6# * [Event "?"] [Site "Chotowa"] [Date "2010.??.??"] [Round "?"] [White "Maxim Matlakov"] [Black "Andrey Baryshpolets"] [Result "*"] [PlyCount "17"] [FEN "4k3/1p2rn2/pP1p1Q2/3Pp3/4Pp2/5q2/1PR5/1KN3B1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rc8+ Nd8 2. Qg6+ Kf8 3. Rxd8+ Re8 4. Rxe8# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Shane Matthews"] [Black "Pradeep Seegolam"] [Result "*"] [PlyCount "17"] [FEN "r1br4/1p2bpk1/p1nppn1p/5P2/4P2B/qNNB3R/P1PQ2PP/7K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxh6+ Kg8 2. Rg3+ Ng4 3. Rxg4+ Bg5 4. Rxg5# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Alina Motoc"] [Black "Rulp Ylem Jose"] [Result "*"] [PlyCount "17"] [FEN "3Q4/6kp/4q1p1/2pnN2P/1p3P2/1Pn3P1/6BK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. h6+ Kxh6 2. Qf8+ Kh5 3. Bf3+ Qg4 4. Bxg4# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Tereza Olsarova"] [Black "Nelly Aginian"] [Result "*"] [PlyCount "17"] [FEN "3r3r/ppk2B2/2n1Q1pp/5p2/3p4/q5P1/5P1P/1RR3K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxb7+ Kxb7 2. Qxc6+ Kb8 3. Rb1+ Qb4 4. Rxb4# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Catherine Perena"] [Black "Aisha Al-Khelaifi"] [Result "*"] [PlyCount "17"] [FEN "r6r/1q1nbkp1/pn2p2p/1p1pP1P1/3P1N1P/1P1Q1P2/P2B1K2/R6R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qg6+ Kg8 2. Qxe6+ Kf8 3. Ng6+ Ke8 4. Qxe7# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Anna Rudolf"] [Black "Ekaterini Fakhiridou"] [Result "*"] [PlyCount "17"] [FEN "5r1k/r2b1p1p/p4Pp1/1p2R3/3qBQ2/P7/6PP/2R4K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qh6 Qd1+ 2. Rxd1 Rg8 3. Rh5 gxh5 4. Qxh7# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Zong-Yuan Zhao"] [Black "Mark Machin-Rivera"] [Result "*"] [PlyCount "17"] [FEN "5Q2/1R6/p5p1/3P3k/2p1rP1p/8/4p1PP/q4BK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rh7+ Kg4 2. Rxh4+ Kxh4 3. Qh6+ Kg4 4. Qg5# * [Event "?"] [Site "Khanty Mansyisk"] [Date "2010.??.??"] [Round "?"] [White "Nadezhda Zykina"] [Black "Nibal Algildah"] [Result "*"] [PlyCount "17"] [FEN "4r1k1/5q2/p5pQ/3b1pB1/2pP4/2P3P1/1P2R1PK/8 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bf6 Qh7 2. Rxe8+ Kf7 3. Qxh7+ Kxe8 4. Qe7# * [Event "?"] [Site "Jakarta"] [Date "2011.??.??"] [Round "?"] [White "Susanto Megaranto"] [Black "Tommy Supriyanto"] [Result "*"] [PlyCount "17"] [FEN "2rq1n1Q/p1r2k2/2p1p1p1/1p1pP3/3P2p1/2N4R/PPP2P2/2K4R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rh7+ Ke8 2. Qxf8+ Kxf8 3. Rh8+ Ke7 4. R1h7# * [Event "?"] [Site "Sarata Monteoru"] [Date "2012.15.2"] [Round "?"] [White "Robin Dragomirescu"] [Black "Mircea Parligras"] [Result "*"] [PlyCount "17"] [FEN "8/pp2k1r1/3Np2p/5p1P/8/2Q3P1/5P1K/1q6 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qc7+ Kf6 2. Ne8+ Kg5 3. Qxg7+ Kxh5 4. Nf6# * [Event "?"] [Site "Athens"] [Date "2012.15.8"] [Round "?"] [White "Ilyas Sodikov"] [Black "Evandro Amorim Barbosa"] [Result "*"] [PlyCount "17"] [FEN "2r1rk2/1b2b1p1/p1q2nP1/1p2Q3/4P3/P1N1B3/1PP1B2R/2K4R w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rf2 Kg8 2. Qh2 Nh5 3. Qxh5 Bh4 4. Qh7# * [Event "?"] [Site "Hungary"] [Date "2012.7.10"] [Round "?"] [White "Imre Balog"] [Black "Robert Markus"] [Result "*"] [PlyCount "17"] [FEN "2R3nk/3r2b1/p2pr1Q1/4pN2/1P6/P6P/q7/B4RK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxg8+ Kxg8 2. Nh6+ Kh8 3. Rf8+ Bxf8 4. Qg8# * [Event "?"] [Site "Zadar"] [Date "2012.17.12"] [Round "?"] [White "Borislav Ivanov"] [Black "Bojan Kurajica"] [Result "*"] [PlyCount "17"] [FEN "6Q1/1q2N1n1/3p3k/3P3p/2P5/3bp1P1/1P4BP/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qh8+ Bh7 2. Be4 Qxe7 3. Qxh7+ Kg5 4. Qg6# * [Event "?"] [Site "Plovdiv"] [Date "2013.4.2"] [Round "?"] [White "Vlad-Cristian Jianu"] [Black "Atanas Kolev"] [Result "*"] [PlyCount "17"] [FEN "2r4k/p4rRp/1p1R3B/5p1q/2Pn4/5p2/PP4QP/1B5K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rg8+ Rxg8 2. Qxg8+ Kxg8 3. Rd8+ Rf8 4. Rxf8# * [Event "?"] [Site "Reykjavik"] [Date "2013.2.3"] [Round "?"] [White "Bartosz Socko"] [Black "Mads Andersen"] [Result "*"] [PlyCount "17"] [FEN "1r1r4/Rp2np2/3k4/3P3p/2Q2p2/2P4q/1P1N1P1P/6RK w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Ne4+ Kd7 2. Nf6+ Kd6 3. Qxf4+ Kc5 4. Qb4# * [Event "?"] [Site "Legnica"] [Date "2013.14.5"] [Round "?"] [White "Dmitry Svetushkin"] [Black "Kamil Dragun"] [Result "*"] [PlyCount "17"] [FEN "3Q1b2/5pk1/p3rNpp/1p2P3/4NP2/nP6/P3q1PP/3R3K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qxf8+ Kxf8 2. Rd8+ Re8 3. Rxe8+ Kg7 4. Rg8# * [Event "?"] [Site "Voronezh"] [Date "2013.20.6"] [Round "?"] [White "Yuriy Kuzubov"] [Black "Vladimir Onischuk"] [Result "*"] [PlyCount "17"] [FEN "1r1q4/5k2/1p1p2p1/2p4p/pPP1B1N1/P3Q1P1/2r2P1P/6K1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Bd5+ Kf8 2. Qf4+ Qf6 3. Qxf6+ Ke8 4. Bc6# * [Event "?"] [Site "Belgrade"] [Date "2013.24.7"] [Round "?"] [White "Ketevan Arakhamia-Grant"] [Black "Ioulia Makka"] [Result "*"] [PlyCount "17"] [FEN "3R4/7R/1P2k3/3p1pr1/3B4/2P5/r5b1/5BK1 w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Re8+ Kd6 2. Rh6+ Rg6 3. Rxg6+ Kd7 4. Bb5# * [Event "?"] [Site "Belgrade"] [Date "2013.27.7"] [Round "?"] [White "Dimante Daulyte"] [Black "Antoaneta Stefanova"] [Result "*"] [PlyCount "17"] [FEN "4Nr1k/1bp2p1p/1r4p1/3P4/1p1q1P1Q/4R3/P5PP/4R2K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Qh6 Kg8 2. Re5 Qxe5 3. Rxe5 Rxe8 4. Rxe8# * [Event "?"] [Site "Belgrade"] [Date "2013.27.7"] [Round "?"] [White "Tereza Olsarova"] [Black "Sopio Gvetadze"] [Result "*"] [PlyCount "17"] [FEN "1r2r2k/1q1n1p1p/p1b1pp2/3pP3/1b5R/2N1BBQ1/1PP3PP/3R3K w - - 1 0"] [SetUp "1"] [Termination "mate in 4"] 1. Rxh7+ Kxh7 2. Rd4 Bf8 3. Rh4+ Bh6 4. Rxh6# * pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-interference_by_arex_2017.02.11.pgn0000644000175000017500000000656613365545272031267 0ustar varunvarun[Termination "-600cp in 2"] [Event "Lichess Practice: Interference: Interference Introduction"] [Site "https://lichess.org/study/g1fxVZu9"] [UTCDate "2017.02.11"] [UTCTime "15:56:54"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "1r2r1k1/p1pbqppp/Q2b1n2/3p4/P2P4/2P5/1P2BPPP/R1B1KN1R b KQ - 2 14"] [SetUp "1"] { Interference occurs when the line between an attacked piece and its defender is interrupted by sacrificially interposing a piece - typically on a protected square. In this position, Black threatens mate on e2, but White's queen is protecting that square. Can you make a bishop move to interfere with this defense? From Adolf Jay Fink - Alexander Alekhine, 1932. } 14... Bb5 15. Qxb5 Rxb5 * [Termination "mate in 7"] [Event "Lichess Practice: Interference: Interference #2"] [Site "https://lichess.org/study/g1fxVZu9"] [UTCDate "2017.02.11"] [UTCTime "16:54:47"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "1k1r3r/1pp2pp1/p1p5/2Q5/7q/2Pp1Pp1/PP1N2P1/R1B1RK2 b - - 3 20"] [SetUp "1"] 20... Rd4 21. Re8+ Rxe8 22. Qxd4 Qh1+ 23. Qg1 Re1+ 24. Kxe1 Qxg1+ 25. Nf1 Qf2+ 26. Kd1 Qe2# * [Termination "+350cp in 3"] [Event "Lichess Practice: Interference: Interference #3"] [Site "https://lichess.org/study/g1fxVZu9"] [UTCDate "2017.02.11"] [UTCTime "16:00:07"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r2q2k1/pQ2bppp/4p3/8/3r1B2/6P1/P3PP1P/1R3RK1 w - - 1 17"] [SetUp "1"] { From Vasily Smyslov - Alexander Kazimirovich Tolush, 1961. } 17. Bb8 Rxb8 18. Qxb8 Qxb8 19. Rxb8+ Rd8 * [Termination "-115cp in 5"] [Event "Lichess Practice: Interference: Interference #4"] [Site "https://lichess.org/study/g1fxVZu9"] [UTCDate "2017.02.11"] [UTCTime "16:07:23"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2rqr1k1/pp1Q1pbp/2n3p1/8/4P3/4BP2/PP2B1PP/2RR2K1 b - - 0 21"] [SetUp "1"] { From Ludwig Rellstab - Miguel Najdorf, 1950. } 21... Bd4 22. Rxd4 Nxd4 23. Qxd8 Rxc1+ 24. Bxc1 Nxe2+ 25. Kf2 Rxd8 * [Termination "-700cp in 2"] [Event "Lichess Practice: Interference: Interference #5"] [Site "https://lichess.org/study/g1fxVZu9"] [UTCDate "2017.02.11"] [UTCTime "16:46:26"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "3B2k1/6p1/3b4/1p1p3q/3P1p2/2PQ1NPb/1P2rP1P/R5K1 b - - 5 30"] [SetUp "1"] { From Viswanathan Anand - Levon Aronian, 2008. } 30... Re3 31. Qxe3 fxe3 * [Termination "-360cp in 2"] [Event "Lichess Practice: Interference: Interference #6"] [Site "https://lichess.org/study/g1fxVZu9"] [UTCDate "2017.02.11"] [UTCTime "16:24:21"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2r4k/5pR1/7p/4pN1q/7P/2n1P3/2Q2P1K/8 b - - 0 36"] [SetUp "1"] { From Hikaru Nakamura - Alexander Beliavsky, 2005. } 36... e4 37. Qb3 Qxf5 * [Termination "+620cp in 3"] [Event "Lichess Practice: Interference: Interference #7"] [Site "https://lichess.org/study/g1fxVZu9"] [UTCDate "2017.02.11"] [UTCTime "16:36:30"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5q2/1b4pk/1p2p1n1/1P1pPp2/P2P1P1p/rB1N1R1P/1Q4PK/8 w - - 2 46"] [SetUp "1"] { From Vassily Ivanchuk - Viktor Moskalenko, 1988. } 46. Nc5 bxc5 47. Qxa3 cxd4 48. Qxf8 Nxf8 *pychess-1.0.0/learn/puzzles/vukcevich.olv0000644000175000017500000333644313365545272017620 0ustar varunvarun--- authors: - Вукчевић, Милан Радоје source: 4th WCCT G1 date: 1989 distinction: 9th Place, 1989-1992 algebraic: white: [Ke4, Rh8, Rh3, Bd1, Sh4, Se5, Ph7, Pe3, Pd2, Pc4, Pb6] black: [Kh5, Qe7, Rf8, Rd8, Bc5, Ba8, Sg2, Sb2, Pg6, Pg4, Pc6] stipulation: "r#2" solution: "1.Ba4! [2.Bxc6 Bxc6#]" comments: - 4th WCCT G1 theme. Reflexmate in 2 moves.Black defends against the threat by unpinning a white piece. (A pure unpinning is required, i.e. the threat would work after black's defence if the white piece was not unpinned.) The unpinned piece moves in white's second move. --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) source-id: 18 date: 1951 algebraic: white: [Kh7, Qb2, Rh5, Rd7, Sf1, Sd8] black: [Kc4, Qa5, Rh2, Ra1, Bd2, Se2, Sa2, Ph4, Pd3, Pc5] stipulation: "#2" solution: | "1...Qa4/Qa3/Qa6/Qa7/Qa8/Qb5/Qb6/Qc7/Qxd8/Nac3 2.Nxd2# 1...Be1/Be3/Bc3 2.Ne3# 1.Rxc5+?? 1...Qxc5 2.Nxd2# but 1...Kxc5! 1.Nb7! (2.Nd6#) 1...Nec3/Bf4/Bg5 2.Nxa5# 1...Nac3/Qb6/Qc7 2.Nxd2# 1...Bc3 2.Ne3# 1...Qa6 2.Rxc5#/Nxd2# 1...Qc3 2.Rxc5#" keywords: - Defences on same square - Barulin (A) --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) date: 1951 algebraic: white: [Ke7, Qb2, Rf4, Bg7, Bb5, Sh2, Se2, Pe6, Pe5, Pd3] black: [Kd5, Qg2, Re4, Rc4, Ba2, Sf3, Sb3, Pg3, Pc5] stipulation: "#2" solution: | "1...Nfd4/Re3/Rxe2/Rxe5 2.dxc4# 1...Nbd4/Rc3/Rc2/Rc1 2.dxe4# 1...Rcd4 2.Nc3# 1.Rf8?? (2.Rd8#) but 1...Nxe5! 1.Ng4! (2.Nf6#) 1...Nbd4/Rc3 2.dxe4# 1...Rcd4 2.Nc3# 1...Red4/Rxf4 2.Ne3# 1...Nfd4 2.dxc4#" keywords: - Defences on same square - Barulin (A) --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) date: 1953 distinction: 5th Commendation algebraic: white: [Kd8, Qd3, Rg7, Ra4, Bc8, Bc7, Sc6, Sb2, Pf2, Pe5, Pe2] black: [Kf4, Qa2, Rd2, Rc1, Bg2, Se4, Sc4, Ph5] stipulation: "#2" solution: | "1...h4 2.Rg4# 1...Nxf2/Nc3/Nc5 2.e6# 1...Nf6 2.exf6#/e6# 1...Ng3 2.fxg3#/e6# 1...Ned6 2.Qe3# 1...Ncd6 2.Qxd2#/Qe3#/Qg3# 1...Ne3 2.fxe3# 1...Nxe5 2.Bxe5#/Qxd2# 1...Nxb2/Nb6/Na3/Na5 2.Qxd2# 1...Rxd3+ 2.Nxd3# 1.Qxd2+?? 1...Ncxd2 2.Nd3# 1...Ne3 2.Nd3#/fxe3#/Qxe3# but 1...Nexd2! 1.Ne7! (2.Nd5#) 1...Rxd3+ 2.Nxd3# 1...Nxf2/Nc3/Nc5 2.e6# 1...Nf6 2.exf6#/e6# 1...Ng3 2.fxg3#/e6# 1...Ng5 2.Ng6# 1...Ned6 2.Qe3# 1...Ncd6 2.Qg3# 1...Ne3 2.fxe3# 1...Nxe5/Nxb2/Nb6/Na3/Na5 2.Qxd2#" keywords: - Black correction --- authors: - Вукчевић, Милан Радоје source: Die Schwalbe date: 1962 distinction: 3rd HM algebraic: white: [Kb4, Qa1, Rc3, Rb5, Bh6, Bd7, Sh8, Sd4, Pf5, Pe6, Pe2] black: [Kf6, Rh5, Rg8, Bh7, Pg7, Pf7, Pe7, Pe4] stipulation: "#2" solution: | "1.Nf3?? (2.Rc2#/Rc1#/Rc4#/Rcc5#/Rc6#/Rc7#/Rc8#/Rb3#/Ra3#/Rd3#/Re3#) 1...Rh1 2.Rc1#/Bg5# 1...Rc8 2.Rc4#/Rcc5#/Rc6#/Rc7#/Rxc8# 1...Ra8 2.Ra3# 1...fxe6 2.Rc6# but 1...Rxf5! 1.Nc2?? (2.Rc4#/Rcc5#/Rc6#/Rc7#/Rc8#/Rb3#/Ra3#/Rd3#/Re3#/Rf3#/Rg3#/Rh3#) 1...Rh3 2.Rd3#/Re3#/Rf3#/Rg3#/Rxh3# 1...Rxh6/gxh6 2.Rg3# 1...Rxf5 2.Rf3# 1...e3 2.Rc4#/Rcc5#/Rc6#/Rc7#/Rc8#/Rb3#/Ra3#/Rd3#/Rxe3# 1...Rc8 2.Rc4#/Rcc5#/Rc6#/Rc7#/Rxc8# 1...Ra8 2.Ra3# 1...fxe6 2.Rc6# but 1...Rh1! 1.Nc6?? (2.Rc2#/Rc1#/Rc4#/Rcc5#/Rb3#/Ra3#/Rd3#/Re3#/Rf3#/Rg3#/Rh3#) 1...Rh3 2.Rd3#/Re3#/Rf3#/Rg3#/Rxh3# 1...Rh1 2.Rc1# 1...Rxh6/gxh6 2.Rg3# 1...Rxf5 2.Rf3# 1...e3 2.Rc2#/Rc1#/Rc4#/Rcc5#/Rb3#/Ra3#/Rd3#/Rxe3# 1...Ra8 2.Ra3# but 1...fxe6! 1.Nb3?? (2.Rc2#/Rc1#/Rc4#/Rcc5#/Rc6#/Rc7#/Rc8#/Rd3#/Re3#/Rf3#/Rg3#/Rh3#) 1...Rh3 2.Rd3#/Re3#/Rf3#/Rg3#/Rxh3# 1...Rh1 2.Rc1# 1...Rxh6/gxh6 2.Rg3# 1...Rxf5 2.Rf3# 1...e3 2.Rc2#/Rc1#/Rc4#/Rcc5#/Rc6#/Rc7#/Rc8#/Rd3#/Rxe3# 1...Rc8 2.Rc4#/Rcc5#/Rc6#/Rc7#/Rxc8# 1...fxe6 2.Rc6# but 1...Ra8! 1.Rc1?? (2.Nf3#/Nc2#/Nc6#/Nb3#) 1...Rh3/Rxh6/gxh6 2.Nf3# 1...Rxf5 2.Nxf5# 1...Rc8 2.Nc6# 1...fxe6 2.Nxe6# but 1...Ra8! 1.Rc8?? (2.Nf3#/Nc2#/Nc6#/Nb3#) 1...Rh3/Rxh6/gxh6 2.Nf3# 1...Rxf5 2.Nxf5# 1...Rxc8 2.Nc6# 1...fxe6 2.Nxe6# but 1...Rh1! 1.Ra3?? (2.Nf3#/Nc2#/Nc6#/Nb3#) 1...Rh3/Rxh6/gxh6 2.Nf3# 1...Rxf5 2.Nxf5# 1...Rc8 2.Nc6# 1...fxe6 2.Nxe6# but 1...Rh1! 1.Rh3?? (2.Nf3#/Nc2#/Nc6#/Nb3#) 1...Rxh3/Rxh6/gxh6 2.Nf3# 1...Rxf5 2.Nxf5# 1...Rc8 2.Nc6# 1...fxe6 2.Nxe6# but 1...Ra8! 1.Rg3! (2.Nf3#/Nc2#/Nc6#/Nb3#) 1...Rc8 2.Nc6#/Bxg7# 1...Ra8 2.Bxg7# 1...Rh1 2.Bg5# 1...Rxf5 2.Nxf5# 1...fxe6 2.Nxe6#" --- authors: - Вукчевић, Милан Радоје source: Die Schwalbe date: 1961 distinction: 4th Prize algebraic: white: [Kb5, Qc1, Rh1, Ra2, Bb1, Se5, Sd1, Pd2, Pc2] black: [Ke2, Bh7, Bg7, Sg4, Sf4, Ph2, Pg6, Pf3, Pb4] stipulation: "#2" solution: | "1.c4? (2.d3#[A]/d4#[B]) 1...Nd3[a] 2.Bxd3#[C] 1...Ne3[b] 2.dxe3#[D] 1...Bxe5 2.d4#[B] 1...bxc3 e.p. 2.dxc3# 1...g5 2.d3#[A] but 1...b3! 1.d4[B]? (2.c3#/c4#) 1...Nd3[a] 2.cxd3#[A] 1...Ne3[b] 2.Qxe3#[E] 1...Bg8 2.c4# 1...b3 2.cxb3# but 1...g5! 1.Nc3+?? 1...bxc3 2.Qe1# but 1...Kf2! 1.d3[A]! (2.c3#/c4#) 1...Nxd3[a] 2.cxd3#[A] 1...Ne3[b] 2.Qxe3#[E] 1...Bxe5 2.c3# 1...Bg8 2.c4# 1...b3 2.cxb3#" keywords: - Changed mates - Anti-reversal - Albino --- authors: - Вукчевић, Милан Радоје source: Die Schwalbe date: 1961 distinction: 1st HM algebraic: white: [Kd3, Rc6, Bg1, Bb7, Sd5, Pe7, Pe5, Pe3, Pc3, Pb4] black: [Kf3, Rg4, Sa8, Pg5, Pg3, Pg2, Pf4] stipulation: "#2" solution: | "1.Rc7[C]? (2.Nxf4#/Nf6#/Nb6#[B]) 1...Nb6[a] 2.Nxb6#[B] 1...Nxc7[b] 2.Nxc7#[A] 1...Rh4 2.Nf6# but 1...fxe3! 1.Rb6[D]? (2.Nxf4#/Nf6#/Nc7#[A]) 1...Nxb6[a] 2.Nxb6#[B] 1...Nc7[b] 2.Nxc7#[A] 1...Rh4 2.Nf6# but 1...fxe3! 1.Nc7[A]? (2.Rc5#/Rc4#/Rb6#[D]/Ra6#/Rd6#/Re6#/Rf6#/Rg6#/Rh6#) 1...Nb6[a] 2.Rxb6#[D] 1...Nxc7[b] 2.Rxc7#[C] 1...fxe3 2.Rf6# but 1...Rh4! 1.Nb6[B]? (2.Rc5#/Rc4#/Rc7#[C]/Rc8#/Rd6#/Re6#/Rf6#/Rg6#/Rh6#) 1...Nxb6[a] 2.Rxb6#[D] 1...Nc7[b] 2.Rxc7#[C] 1...fxe3 2.Rf6# but 1...Rh4! 1.Rc5?? (2.Nxf4#/Nf6#/Nc7#[A]/Nb6#[B]) 1...Nb6[a] 2.Nxb6#[B] 1...Nc7[b] 2.Nxc7#[A] 1...Rh4 2.Nf6# but 1...fxe3! 1.Rc8?? (2.Nxf4#/Nf6#/Nc7#[A]/Nb6#[B]) 1...Nb6[a] 2.Nxb6#[B] 1...Nc7[b] 2.Nxc7#[A] 1...Rh4 2.Nf6# but 1...fxe3! 1.Ra6?? (2.Nxf4#/Nf6#/Nc7#[A]/Nb6#[B]) 1...Nb6[a] 2.Nxb6#[B] 1...Nc7[b] 2.Nxc7#[A] 1...Rh4 2.Nf6# but 1...fxe3! 1.Rd6?? (2.Nxf4#/Nf6#/Nc7#[A]/Nb6#[B]) 1...Nb6[a] 2.Nxb6#[B] 1...Nc7[b] 2.Nxc7#[A] 1...Rh4 2.Nf6# but 1...fxe3! 1.Re6?? (2.Nxf4#/Nf6#/Nc7#[A]/Nb6#[B]) 1...Nb6[a] 2.Nxb6#[B] 1...Nc7[b] 2.Nxc7#[A] 1...Rh4 2.Nf6# but 1...fxe3! 1.Rf6?? (2.Nxf4#/Nc7#[A]/Nb6#[B]) 1...Nb6[a] 2.Nxb6#[B] 1...Nc7[b] 2.Nxc7#[A] but 1...Rh4! 1.Rg6?? (2.Nxf4#/Nf6#/Nc7#[A]/Nb6#[B]) 1...Nb6[a] 2.Nxb6#[B] 1...Nc7[b] 2.Nxc7#[A] 1...Rh4 2.Nf6# but 1...fxe3! 1.Rh6?? (2.Nxf4#/Nf6#/Nc7#[A]/Nb6#[B]) 1...Nb6[a] 2.Nxb6#[B] 1...Nc7[b] 2.Nxc7#[A] 1...Rh4 2.Nf6# but 1...fxe3! 1.Nf6?? (2.Rc5#/Rc4#/Rc7#[C]/Rc8#/Rb6#[D]/Ra6#/Rd6#/Re6#) 1...Nb6[a] 2.Rxb6#[D] 1...Nc7[b] 2.Rxc7#[C] but 1...fxe3! 1.Rc4! (2.Nxf4#/Nf6#/Nc7#[A]/Nb6#[B]) 1...Nb6[a] 2.Nxb6#[B] 1...Nc7[b] 2.Nxc7#[A] 1...Rh4 2.Nf6# 1...fxe3 2.Nf4#" keywords: - Fleck - Reversal --- authors: - Вукчевић, Милан Радоје source: Probleemblad date: 1962 distinction: 2nd HM algebraic: white: [Ka6, Qg3, Rd7, Ra4, Bf5, Bb8, Sd8, Sb7, Pf2, Pd3, Pc4, Pb2] black: [Kd4, Qg1, Rg6, Re8, Bh1, Bf8, Sf7, Pg5, Pe3, Pd5, Pd2, Pb6, Pb5, Pa5] stipulation: "#2" solution: | "1...Bd6[a]/Rg7/Rg8/Rc6/Nd6[a] 2.Nc6#[C] 1...Re4[b] 2.Rxd5#[D] 1...Be7/Rxd8[c]/Ne5[e]/Be4[f] 2.Qxe3#[B] 1...Bg7/Bh6/Re7/Rd6[d] 2.cxb5#[A] 1...bxc4 2.Rxc4# 1.Bxg6[E]? (2.Nc6#[C]) 1...Re4[b] 2.Rxd5#[D] 1...Rxd8[c]/Ne5[e]/Be4[f] 2.Qxe3#[B] 1...Re6 2.Nxe6# but 1...Nxd8! 1.Bd6? (2.Nc6#[C]/cxb5#[A]) 1...d1Q/d1B/Bxd6[a]/Nxd6[a]/Qd1/Qc1/Qa1/bxa4/bxc4/b4 2.Nc6#[C] 1...Rxd8[c] 2.cxb5#[A]/Qxe3#[B] 1...Rxd6[d]/Nxd8 2.cxb5#[A] 1...Be4[f]/Ne5[e] 2.Qxe3#[B] 1...dxc4 2.Be5#/Bc5# but 1...Re4[b]! 1.Rd6[F]? (2.Nc6#[C]/cxb5#[A]) 1...d1Q/d1B/Bxd6[a]/Nxd6[a]/Qxg3/Qd1/Qc1/Qa1/bxa4/b4 2.Nc6#[C] 1...Re4[b] 2.Rxd5#[D] 1...Rxd8[c] 2.Qxe3#[B]/cxb5#[A] 1...Rxd6[d]/Nxd8 2.cxb5#[A] 1...Ne5[e] 2.Qxe3#[B] 1...bxc4 2.Nc6#[C]/Rxc4# but 1...Be4[f]! 1.Be5+?? 1...Nxe5[e] 2.Qxe3#[B] but 1...Rxe5! 1.Re7?? (2.Qxe3#[B]/cxb5#[A]) 1...Nd6[a] 2.Nc6#[C]/Qxe3#[B]/Qe5# 1...Ne5[e] 2.Bxe5#/Qxe3#[B]/Qxe5# 1...d1Q/d1B/Bxe7/Be4[f]/bxa4/bxc4/b4 2.Qxe3#[B] 1...d1N/Rxe7/Bf3/Qxg3/Qe1/Qxf2 2.cxb5#[A] 1...Re6 2.cxb5#[A]/Nxe6# 1...Rc6 2.Nxc6#[C]/Qxe3#[B] 1...Qd1/Qc1/Qa1 2.fxe3#/Qxe3#[B] but 1...dxc4! 1.Qg4+?? 1...Re4[b]/Be4[f] 2.Rxd5#[D] but 1...Qxg4! 1.Qf4+?? 1...Re4[b] 2.Rxd5#[D] 1...Be4[f] 2.Rxd5#[D]/Qxe3#[B] but 1...gxf4! 1.Be4[G]! (2.Rxd5#[D]/Qxe3#[B]) 1...Bd6[a]/Nd6[a] 2.Nc6#[C] 1...d1N/Rxe4[b]/Bf3/Qxg3/Qe1/Qxf2/exf2 2.Rxd5#[D] 1...Re5/Rxd8[c]/Bxe4[f] 2.Qxe3#[B] 1...Rd6[d] 2.cxb5#[A]" keywords: - Grimshaw - Novotny - Rudenko --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1963 distinction: 7th HM algebraic: white: [Kb6, Qh3, Rf1, Re5, Bd3, Bc1, Sg6, Se3, Pb4] black: [Kf3, Qg3, Rc5, Bg2, Bf2, Sh1, Pg4, Pc6, Pc3, Pb5] stipulation: "#2" solution: | "1.Nf5?? (2.Ngh4#/Nfh4#/Nd4#/Re3#/Be2#) 1...Rc4+/Rd5+ 2.Re3# 1...Rxe5+ 2.Nd4# 1...Qxh3 2.Be2#/Re3# 1...Bxf1 2.Ngh4#/Nfh4# 1...gxh3 2.Be2# but 1...Bxh3! 1.Nd5?? (2.Nh4#/Be2#/Re3#/Rf5#) 1...Rc4+/Rxd5+/Qxh3 2.Re3# 1...Bxf1 2.Nh4#/Rf5# 1...gxh3 2.Be2# but 1...Bxh3! 1.Nc2! (2.Nh4#/Be2#/Re3#/Nd4#/Ne1#) 1...Qxh3/Rc4+/Rd5+ 2.Re3# 1...Bxh3 2.Ne1# 1...Bxf1 2.Nh4# 1...gxh3 2.Be2# 1...Rxe5+ 2.Nd4#" keywords: - Defences on same square - Fleck --- authors: - Вукчевић, Милан Радоје source: British Chess Federation 100th Tourney date: 1962 distinction: 1st HM algebraic: white: [Ka2, Qh4, Rf1, Rb6, Bh7, Bd2, Sf8, Se7, Pc5, Pc4, Pb3] black: [Ke5, Qg4, Rh6, Bg6, Sd6, Ph5, Pg3, Pd3] stipulation: "#2" solution: | "1...Ne4[a]/Qd4/Bf7 2.Nc6#[A] 1...Qe4[b] 2.Qf6#[D] 1...Qf3/Be4[c] 2.Bc3#[B] 1...Qg5/Qf5 2.Nc6#[A]/Bc3#[B] 1...Qf4 2.Qxf4#[C] 1...Qh3/Qd1/Qe6 2.Nc6#[A]/Bc3#[B]/Qf4#[C] 1...Qe2 2.Nc6#[A]/Qf4#[C] 1...Qd7/Qc8 2.Bc3#[B]/Qf4#[C] 1.Qxg4?? (2.Nd7#/Nc6#[A]/Qf4#[C]/Bc3#[B]) 1...Ne4[a] 2.Nc6#[A] 1...Bf5/Be4[c] 2.Bc3#[B] 1...Nf5 2.Nd7#/Re6#/Qf4#[C] 1...Nxc4 2.Bc3#[B]/Nd7#/Re6#/Qf4#[C] 1...Nb5 2.Nd7#/Nc6#[A]/Re6#/Qf4#[C] 1...Be8 2.Bc3#[B]/Qf4#[C] but 1...hxg4! 1.Qxg3+?? 1...Ke4/Kd4 2.Qe3# 1...Qf4 2.Qxf4#[C] but 1...Qxg3! 1.Bc3+[B]?? 1...Qd4 2.Nc6#[A]/Qf4#[C]/Qxd4#/Bxd4# but 1...Ke4! 1.Re1+! 1...Ne4[a] 2.Qf6#[D] 1...Qe4[b] 2.Bc3#[B] 1...Be4[c] 2.Nc6#[A] 1...Kd4 2.Ne6# 1...Qe2 2.Qf4#[C]" keywords: - Checking key - Flight taking key - Defences on same square - Lacny --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) date: 1970 distinction: 1st HM algebraic: white: [Kc6, Rh5, Ra6, Bh6, Bb7, Sf5, Pf6] black: [Ke5, Bc1, Pf7, Pd3, Pc3] stipulation: "#2" solution: | "1...Ke4[a] 2.Kd6#[A] 1...Kxf6[b] 2.Kd5#[B] 1.Ng7+? 1...Ke4[a] 2.Kc5#[D] 1...Kxf6[b] 2.Kd7#[C] 1...Kd4 2.Ra4# but 1...Bg5! 1.Ng3+?? 1...Kxf6[b] 2.Kd7#[C] 1...Ke6 2.Kc7# 1...Kd4 2.Ra4# but 1...Bg5! 1.Nh4+?? 1...Ke4[a] 2.Kc5#[D]/Ra4# 1...Kxf6[b] 2.Kd7#[C] 1...Ke6 2.Kc7# 1...Kd4 2.Ra4# but 1...Bg5! 1.Ne7+?? 1...Ke4[a] 2.Kc5#[D] 1...Kxf6[b] 2.Kd7#[C] 1...Ke6 2.Kc7# 1...Kd4 2.Ra4# but 1...Bg5! 1.Nd4+?? 1...Ke4[a] 2.Kc5#[D] 1...Kxf6[b] 2.Kd7#[C] 1...Kxd4 2.Ra4# but 1...Bg5! 1.Ne3+! 1...Ke4[a] 2.Kc5#[D] 1...Kxf6[b] 2.Kd7#[C] 1...Ke6 2.Kc7# 1...Kd4 2.Ra4#" keywords: - Checking key - Flight giving key - Changed mates --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1970 distinction: 2nd HM algebraic: white: [Kb1, Qa4, Re7, Ra5, Bc8, Bb6, Se6, Sd5, Pg5, Pg3, Pg2, Pd4, Pb3] black: [Ke4, Qe5, Bg6, Pd6] stipulation: "#2" solution: | "1...Qxd5[a] 2.Nc5#[A] 1...Qxd4[b] 2.Nexf4#[B] 1.Qc6! (2.Qc2#) 1...Qxd5[a] 2.Nf4#[C] 1...Qxd4[b] 2.Nc5#[A] 1...Kf5 2.Ne3#" keywords: - Changed mates - Transferred mates --- authors: - Вукчевић, Милан Радоје source: British Chess Federation date: 1971 distinction: 1st Prize algebraic: white: [Kh1, Qe8, Rc8, Bg1, Ba2, Sc3, Pf4] black: [Kd6, Rb3, Ba4, Se3, Sb4, Pf7, Pf6, Pf5, Pe4, Pb5] stipulation: "#2" solution: | "1...Rb3-b1{(R~)} 2.Qe8-d8 # 1...Se3-g2{(Se~)} 2.Bg1-c5 # 1...Sb4-d3{(Sb~)} 2.Rc8-c6 # 1.Sc3-d5 ! zugzwang. 1...Rb3-b1{(R~)} 2.Qe8-e7 # 1...Se3-g2{(Se~)} 2.Rc8-d8 # 1...Se3*d5 {display-departure-file} 2.Bg1-c5 # 1...Sb4-d3{(Sb~)} 2.Qe8-c6 # 1...Sb4*d5 {display-departure-file} 2.Rc8-c6 # 1...Kd6*d5 2.Qe8-d7 #" keywords: - Flight giving key - Defences on same square - Black correction - Changed mates - Mutate - Block comments: - 429128 --- authors: - Вукчевић, Милан Радоје source: British Chess Federation date: 1971 distinction: 4th Prize algebraic: white: [Ke2, Qf1, Rd1, Be4, Be1, Sb7, Sa2, Ph2, Pg3, Pd6, Pa5, Pa4] black: [Ka6, Bc5, Ph3, Pg4, Pe6, Pe5, Pd7, Pb5, Pb4, Pa7] stipulation: "#2" solution: | "1...bxa4 2.Kd2# 1...Bd4/Be3/Bf2/Bg1/Bb6 2.Nxb4# 1...Bxd6 2.Rxd6# 1...b3 2.Nxc5# 1.Bh1?? zz 1...b3 2.Nxc5# 1...Bd4/Be3/Bf2/Bg1/Bb6 2.Nxb4# 1...Bxd6 2.Rxd6# 1...bxa4 2.Kd2# but 1...e4! 1.Bc6?? (2.axb5#) 1...bxa4 2.Kd2# but 1...dxc6! 1.Kd2?? (2.Qxb5#/axb5#) but 1...Be3+! 1.Kd3?? zz 1...b3 2.Nxc5# 1...bxa4 2.Kd2#/Kc2# 1...Bd4/Be3/Bf2/Bg1/Bb6 2.Nxb4# but 1...Bxd6! 1.Rd2?? zz 1...Bd4/Be3/Bf2/Bg1/Bb6 2.Nxb4# 1...Bxd6 2.Rxd6# 1...bxa4 2.Kd1# but 1...b3! 1.Rd3?? zz 1...b3 2.Nxc5# 1...Bd4/Be3/Bf2/Bg1/Bb6 2.Nxb4# 1...Bxd6 2.Rxd6# but 1...bxa4! 1.Rd4?? zz 1...b3 2.Nxc5# 1...Bxd4/Bb6 2.Nxb4# 1...Bxd6 2.Rxd6# 1...bxa4 2.Ke3#/Kd2#/Kf2#/Kd1# but 1...exd4! 1.Rc1?? zz 1...b3 2.Nxc5# 1...bxa4 2.Kd2#/Kd1# 1...Bd4/Be3/Bf2/Bg1/Bb6 2.Nxb4# but 1...Bxd6! 1.Rb1?? zz 1...b3 2.Nxc5# 1...Bd4/Be3/Bf2/Bg1/Bb6 2.Nxb4# 1...bxa4 2.Kd2#/Kd1# but 1...Bxd6! 1.Ra1?? zz 1...bxa4 2.Kd2#/Kd1# 1...b3 2.Nxc5# 1...Bd4/Be3/Bf2/Bg1/Bb6 2.Nxb4# but 1...Bxd6! 1.Bf2?? zz 1...Bd4/Be3/Bxf2/Bb6 2.Nxb4# 1...Bxd6 2.Rxd6# 1...bxa4 2.Ke1#/Kd2# but 1...b3! 1.Bd2?? zz 1...bxa4 2.Ke1# 1...b3 2.Nxc5# 1...Bd4/Be3/Bf2/Bg1/Bb6 2.Nxb4# but 1...Bxd6! 1.Bc3?? zz 1...b3 2.Nxc5# 1...Bd4/Be3/Bf2/Bg1/Bb6 2.Nxb4# 1...Bxd6 2.Rxd6# 1...bxa4 2.Ke1#/Kd2# but 1...bxc3! 1.Qf2?? zz 1...Bd4/Be3/Bxf2/Bb6 2.Nxb4# 1...Bxd6 2.Rxd6# 1...b3 2.Nxc5# but 1...bxa4! 1.Qf3?? zz 1...b3 2.Nxc5# 1...Bd4/Be3/Bf2/Bg1/Bb6 2.Nxb4# 1...Bxd6 2.Rxd6# 1...bxa4 2.Bd3#/Qd3# but 1...gxf3+! 1.Qf6?? zz 1...Bd4/Be3/Bf2/Bg1/Bb6 2.Nxb4# 1...Bxd6 2.Rxd6# 1...b3 2.Nxc5# but 1...bxa4! 1.Qf7?? zz 1...b3 2.Nxc5# 1...Bd4/Be3/Bf2/Bg1/Bb6 2.Nxb4# 1...Bxd6 2.Rxd6# but 1...bxa4! 1.Qf8?? zz 1...b3 2.Nxc5# 1...Bd4/Be3/Bf2/Bg1/Bb6 2.Nxb4# 1...Bxd6 2.Rxd6#/Qxd6# but 1...bxa4! 1.Qg1?? zz 1...b3 2.Nxc5# 1...Bd4/Be3/Bf2/Bxg1/Bb6 2.Nxb4# 1...Bxd6 2.Rxd6# but 1...bxa4! 1.Qg2?? zz 1...b3 2.Nxc5# 1...Bd4/Be3/Bf2/Bg1/Bb6 2.Nxb4# 1...Bxd6 2.Rxd6# 1...bxa4 2.Bd3# but 1...hxg2! 1.Nc3?? (2.axb5#) 1...bxa4 2.Kd2# but 1...bxc3! 1.Qh1! zz 1...bxa4 2.Bd3# 1...b3 2.Nxc5# 1...Bd4/Be3/Bf2/Bg1/Bb6 2.Nxb4# 1...Bxd6 2.Rxd6#" keywords: - Black correction - Mutate --- authors: - Вукчевић, Милан Радоје source: British Chess Federation date: 1972 distinction: 3rd Prize algebraic: white: [Ka4, Qf6, Rh5, Bg7, Bb1, Sd4, Pd7, Pa5, Pa2] black: [Kc4, Qa8, Rh3, Rc1, Bg4, Bb4, Sh8, Sd2, Pe3, Pc6, Pc3, Pb3, Pa7] stipulation: "#2" solution: | "1...Ne4/Nf1/Nf3[a] 2.axb3#[B] 1...c5[b] 2.Qa6#[C] 1...Be2/Bd1/Be6 2.Qe6#[A] 1.Ne2? (2.Qd4#) 1...Nf3[a] 2.axb3#[B] 1...c5[b] 2.Qa6#[C] but 1...Bc5[c]! 1.Ne6? (2.Qd4#) 1...Nf3[a] 2.axb3#[B] 1...Bc5[c] 2.Rxc5#[D] but 1...c5[b]! 1.Nc2? (2.Qd4#) 1...Nf3[a] 2.Nxe3#[E] 1...c5[b] 2.Qa6#[C] 1...Bc5[c] 2.Qxc3#[F] but 1...Kd3! 1.Nxb3? (2.Qd4#) 1...c5[b] 2.Qa6#[C] 1...Bc5[c] 2.Rxc5#[D] 1...Nxb3 2.axb3#[B] but 1...Nf3[a]! 1.Qf7+?? 1...Be6 2.Qxe6#[A] but 1...Nxf7! 1.Qxc6+?? 1...Bc5[c] 2.Qxc5#/Qa6#[C]/Qb5#/Rxc5#[D] but 1...Qxc6+! 1.Nf3?? (2.Qd4#) 1...Nxf3[a] 2.axb3#[B] 1...c5[b] 2.Qa6#[C] but 1...Bc5[c]! 1.Nf5! (2.Qd4#) 1...Kd5/Nf3[a] 2.Nxe3#[E] 1...c5[b] 2.Nd6#[G] 1...Bc5[c] 2.Qe6#[A]" keywords: - 2 flights giving key - Changed mates --- authors: - Вукчевић, Милан Радоје source: Kuiper MT date: 1971 distinction: 1st Prize algebraic: white: [Kc3, Qe1, Rb6, Ra5, Bg5, Sh4, Sf6, Pc2, Pb5, Pb4, Pb3] black: [Ke5, Be4, Sf1, Sd6, Pg6, Pe6, Pb7] stipulation: "#2" solution: | "1...Ne8[a]/Nf7[a]/Nc4[a]/Nc8[a] 2.Qxe4#[A] 1...Nxb5+[b] 2.Raxb5#[B] 1...Ng3[c]/Nh2[d]/Ne3[e]/Nd2[d] 2.Qxg3#[C] 1...Nf5 2.Nxg6#/Nf3#/Qxe4#[A] 1.Ra4? zz 1...Ne8[a]/Nf7[a]/Nc4[a]/Nc8[a] 2.Qxe4#[A] 1...Ng3[c]/Nh2[d]/Ne3[e]/Nd2[d] 2.Qxg3#[C] 1...Nf5 2.Nxg6#/Nf3#/Qxe4#[A] but 1...Nxb5+[b]! 1.Raa6? zz 1...Ne8[a]/Nf7[a]/Nc4[a]/Nc8[a] 2.Rxe6#/Qxe4#[A] 1...Nxb5+[b] 2.Rxb5#[B] 1...Ng3[c]/Nh2[d]/Ne3[e]/Nd2[d] 2.Qxg3#[C] 1...Nf5 2.Nxg6#/Nf3#/Rxe6#/Qxe4#[A] but 1...bxa6! 1.Qe2? zz 1...Ne8[a]/Nf7[a]/Nc4[a]/Nc8[a] 2.Qxe4#[A] 1...Nxb5+[b] 2.Raxb5#[B] 1...Nh2[d]/Ne3[e]/Nd2[d] 2.Qxh2#[D] 1...Nf5 2.Nxg6#/Nf3#/Qxe4#[A] but 1...Ng3[c]! 1.Ra3?? zz 1...Ne8[a]/Nf7[a]/Nc4[a]/Nc8[a] 2.Qxe4#[A] 1...Ng3[c]/Nh2[d]/Ne3[e]/Nd2[d] 2.Qxg3#[C] 1...Nf5 2.Nxg6#/Nf3#/Qxe4#[A] but 1...Nxb5+[b]! 1.Ra2?? zz 1...Ne8[a]/Nf7[a]/Nc4[a]/Nc8[a] 2.Qxe4#[A] 1...Ng3[c]/Nh2[d]/Ne3[e]/Nd2[d] 2.Qxg3#[C] 1...Nf5 2.Nxg6#/Nf3#/Qxe4#[A] but 1...Nxb5+[b]! 1.Ra1?? zz 1...Ne8[a]/Nf7[a]/Nc4[a]/Nc8[a] 2.Qxe4#[A] 1...Ng3[c]/Nh2[d]/Ne3[e]/Nd2[d] 2.Qxg3#[C] 1...Nf5 2.Nxg6#/Nf3#/Qxe4#[A] but 1...Nxb5+[b]! 1.Ra7?? zz 1...Ne8[a]/Nf7[a]/Nc4[a]/Nc8[a] 2.Qxe4#[A] 1...Ng3[c]/Nh2[d]/Ne3[e]/Nd2[d] 2.Qxg3#[C] 1...Nf5 2.Nxg6#/Nf3#/Qxe4#[A] but 1...Nxb5+[b]! 1.Ra8?? zz 1...Ne8[a]/Nf7[a]/Nc4[a]/Nc8[a] 2.Qxe4#[A] 1...Ng3[c]/Nh2[d]/Ne3[e]/Nd2[d] 2.Qxg3#[C] 1...Nf5 2.Nxg6#/Nf3#/Qxe4#[A] but 1...Nxb5+[b]! 1.Qe3?? (2.Qf4#/Qd4#) 1...Nxb5+[b] 2.Raxb5#[B] 1...Nf5 2.Nxg6#/Nf3#/Qxe4#[A]/Qf4# but 1...Nxe3[e]! 1.Qf2?? (2.Qf4#/Qd4#) 1...Ne3[e] 2.Qf4#/Qh2#[D]/Qg3#[C] 1...Nf5 2.Qf4#/Nxg6# 1...Bf3 2.Qd4# but 1...Nxb5+[b]! 1.Qa1! zz 1...Ne8[a]/Nf7[a]/Nc4[a]/Nc8[a]/Nxb5+[b] 2.Kc4#[E] 1...Ng3[c]/Nh2[d]/Ne3[e]/Nd2[d] 2.Kd2#[F] 1...Nf5 2.Nxg6# 1...Bf3/Bg2/Bh1/Bd3/Bd5/Bc6 2.Kd3# 1...Bf5 2.Nf3# 1...Bxc2 2.Kxc2#" keywords: - Black correction - Changed mates - Mutate --- authors: - Вукчевић, Милан Радоје source: The Plain Dealer date: 1971 distinction: 2nd Prize algebraic: white: [Kb7, Rg5, Re8, Bh8, Sf8, Ph4, Pg7, Pe6] black: [Kf6, Qg8, Be7] stipulation: "#2" solution: | "1...Qxg7 2.Bxg7# 1...Qxf8 2.gxf8N# 1...Qxh8 2.gxh8Q#/gxh8B# 1...Qh7/Qf7 2.g8N# 1...Qxe6 2.g8Q#/g8B# 1...Bxf8 2.gxf8Q#/gxf8R# 1...Bd6/Bc5/Bb4/Ba3/Bd8 2.Nd7# 1.Rxe7?? zz 1...Qxg7/Qxh8 2.Rf7# 1...Qxf8 2.gxf8Q#/gxf8B#/g8N# 1...Qh7/Qf7 2.g8N#/Rf7# 1...Qxe6 2.g8N# but 1...Kxe7! 1.Kb8?? zz 1...Qxg7 2.Bxg7# 1...Qxf8 2.gxf8N# 1...Qxh8 2.gxh8Q#/gxh8B# 1...Qh7/Qf7 2.g8N# 1...Qxe6 2.g8Q#/g8B# 1...Bxf8 2.gxf8Q#/gxf8R# 1...Bc5/Bb4/Ba3/Bd8 2.Nd7# but 1...Bd6+! 1.Ka7?? zz 1...Qxg7 2.Bxg7# 1...Qxf8 2.gxf8N# 1...Qxh8 2.gxh8Q#/gxh8B# 1...Qh7/Qf7 2.g8N# 1...Qxe6 2.g8Q#/g8B# 1...Bxf8 2.gxf8Q#/gxf8R# 1...Bd6/Bb4/Ba3/Bd8 2.Nd7# but 1...Bc5+! 1.Kc6?? zz 1...Qxg7 2.Bxg7# 1...Qxf8 2.gxf8N# 1...Qxh8 2.gxh8Q#/gxh8B# 1...Qh7/Qf7 2.g8N# 1...Bxf8 2.gxf8Q#/gxf8R# 1...Bd6/Bc5/Bb4/Ba3/Bd8 2.Nd7# but 1...Qxe6+! 1.Kc8?? zz 1...Qxg7 2.Bxg7# 1...Qxf8 2.gxf8N# 1...Qxh8 2.gxh8Q#/gxh8B# 1...Qh7/Qf7 2.g8N# 1...Bxf8 2.gxf8Q#/gxf8R# 1...Bd6/Bc5/Bb4/Ba3/Bd8 2.Nd7# but 1...Qxe6+! 1.Ka6?? zz 1...Qxg7 2.Bxg7# 1...Qxf8 2.gxf8N# 1...Qxh8 2.gxh8Q#/gxh8B# 1...Qh7/Qf7 2.g8N# 1...Bxf8 2.gxf8Q#/gxf8R# 1...Bd6/Bc5/Bb4/Ba3/Bd8 2.Nd7# but 1...Qxe6+! 1.Ka8! zz 1...Qxg7 2.Bxg7# 1...Qxf8 2.gxf8N# 1...Qxh8 2.gxh8Q#/gxh8B# 1...Qh7/Qf7 2.g8N# 1...Qxe6 2.g8Q#/g8B# 1...Bxf8 2.gxf8Q#/gxf8R# 1...Bd6/Bc5/Bb4/Ba3/Bd8 2.Nd7#" keywords: - Black correction - Block --- authors: - Вукчевић, Милан Радоје source: The British Chess Magazine date: 1972 distinction: 2nd-3rd Prize algebraic: white: [Kf6, Qc8, Rf1, Rd8, Be2, Bd6, Sf5, Se6, Pg2, Pe7, Pd2] black: [Ke4, Qb1, Rc1, Ra3, Bg1, Bd5, Sd1, Sa2, Ph6, Ph2, Pg5, Pd4, Pc5, Pb5, Pa4] stipulation: "#2" solution: | "1...Nac3/Ndc3 2.Nxc5#[A]/Ng3#[B] 1...Rf3 2.gxf3# 1...Rg3/Be3/Ne3 2.Nxg3#[B] 1...Bxe6 2.Qxe6# 1...Bc6 2.Qxc6# 1...Bb7 2.Qxb7# 1...Ba8 2.Qxa8# 1...h5 2.Nxg5# 1...g4 2.Rf4# 1...d3 2.Ng3#[B]/Bf3# 1...c4 2.Nc5#[A] 1.Be5? (2.Nd6#) 1...Rf3 2.gxf3# 1...Bc4 2.Nxc5#[A] 1...Bb3 2.Ng3#[B] 1...Bc6 2.Qxc6# 1...Bb7 2.Qxb7# 1...Ba8 2.Qxa8# but 1...Bxe6! 1.Bxh2? (2.Nd6#) 1...Rf3 2.gxf3# 1...Bxe6 2.Qxe6# 1...Bc4 2.Nxc5#[A] 1...Bb3 2.Ng3#[B] 1...Bc6 2.Qxc6# 1...Bb7 2.Qxb7# 1...Ba8 2.Qxa8# but 1...Bxh2! 1.Bc7? (2.Nd6#) 1...Bxe6 2.Qxe6# 1...Bc4 2.Nxc5#[A] 1...Bb3 2.Ng3#[B] 1...Bb7 2.Qxb7# 1...Ba8 2.Qxa8# 1...Rf3 2.gxf3# but 1...Bc6! 1.Bb8? (2.Nd6#) 1...Rf3 2.gxf3# 1...Bxe6 2.Qxe6# 1...Bc4 2.Nxc5#[A] 1...Bb3 2.Ng3#[B] 1...Bc6 2.Qxc6# 1...Bb7 2.Qxb7# but 1...Ba8! 1.Bg3?? (2.Nd6#) 1...Rf3 2.gxf3# 1...Bxe6 2.Qxe6# 1...Bc4 2.Nxc5#[A] 1...Bc6 2.Qxc6# 1...Bb7 2.Qxb7# 1...Ba8 2.Qxa8# but 1...Bb3! 1.Bxc5?? (2.Nd6#) 1...Rf3 2.gxf3# 1...Bxe6 2.Qxe6# 1...Bb3 2.Ng3#[B] 1...Bc6 2.Qxc6# 1...Bb7 2.Qxb7# 1...Ba8 2.Qxa8# but 1...Bc4! 1.Bf4! (2.Nd6#) 1...Bxe6 2.Qxe6# 1...Bc4 2.Nxc5#[A] 1...Bb3 2.Ng3#[B] 1...Bc6 2.Qxc6# 1...Bb7 2.Qxb7# 1...Ba8 2.Qxa8#" keywords: - Black correction - Transferred mates --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1976 algebraic: white: [Ka2, Qh2, Rg4, Rg2, Ba7, Sc4] black: [Kf3, Qg8, Rd7, Bb8, Ba8, Sg5, Ph4, Pe6, Pd2, Pa3] stipulation: "#2" solution: | "1...Rd6 2.Qf4#/Ne5#/Rf4# 1...Rc7 2.Qf4#/Nxd2#/Ne5#/Rf4# 1...Rb7/Re7/Rf7/Rg7/Rh7/Bd6 2.Nxd2# 1...Be5 2.Nxe5# 1...Bf4/Bxa7 2.Qxf4#/Rxf4# 1.Qh3+?? 1...Bg3 2.Ne5#/Rf2# but 1...Nxh3! 1.Qd6! (2.Nxd2#/Ne5#) 1...Rxd6/d1Q/d1R/Ne4 2.Ne5# 1...Rxa7 2.Qd3# 1...Bd5 2.Qxa3# 1...e5 2.Qf6# 1...Bxd6/Qg7/Qh8/Nf7 2.Nxd2# 1...Bxa7 2.Qf4#" keywords: - Novotny --- authors: - Вукчевић, Милан Радоје source: Los Angeles Times date: 1979 distinction: 1st Prize algebraic: white: [Ke6, Qd1, Rf5, Bg8, Bf8, Se4, Sb5, Pf6, Pd7, Pa4] black: [Kc4, Rh3, Rf1, Bh2, Se1, Sa2, Pc6] stipulation: "#2" solution: | "1...cxb5 2.Qd5# 1...Nf3/Rh4/Rh5/Rh6/Rh7/Rh8/Ra3/Nc3/Bg3 2.Na3# 1...Nd3 2.Nd2# 1...Rb3 2.Qd4# 1...Nb4 2.Rc5# 1...Bg1/Be5/Rf4 2.Ke5# 1...Rxf5 2.Kxf5# 1.Ba3?? (2.Ke7#/Rc5#) 1...Bg1 2.Ke5#/Ke7#/Kd6#/Ned6#/Nbd6# 1...Be5 2.Kxe5#/Ke7# 1...Bd6 2.Kxd6#/Nexd6#/Nbxd6# 1...Rh5/Nc2 2.Ke7# 1...Rh7/Rh8/Rd3/Nb4/Nc3/Rg1 2.Rc5# 1...Rg3 2.Rc5#/Ned6#/Nbd6# 1...Rxf5 2.Kxf5# 1...Nd3 2.Ke7#/Nd2# but 1...Rxa3! 1.Qe2+?? 1...Rd3 2.Nd2# 1...Nd3 2.Nd2#/Qxa2# but 1...Kb3! 1.Qc2+?? 1...Nc3/Rc3 2.Nd2# but 1...Nxc2! 1.Rf4! (2.Ke5#/Kf5#) 1...Bxf4 2.Kf5# 1...c5 2.Ned6# 1...Nb4 2.Nbd6# 1...Nc3/Rh5/Rh7/Rh8 2.Na3# 1...Rg3 2.Nf2# 1...Rd3 2.Nd2# 1...Nf3 2.Kf5#/Na3# 1...Nd3 2.Kf5#/Nd2# 1...Rxf4 2.Ke5# 1...Rg1 2.Ng3#" keywords: - B2 --- authors: - Вукчевић, Милан Радоје source: Magyar Sakkszövetség date: 1979 distinction: 3rd Prize algebraic: white: [Kc8, Qh8, Rh7, Rb7, Bb6, Ba8, Sf5, Sb8, Pf4, Pe5, Pd6, Pd3, Pb3, Pa7] black: [Kd5, Bf8, Ba6, Sc2, Pg6, Pf6, Pe6] stipulation: "#2" solution: | "1...exf5 2.Qg8# 1...Nd4/Ne1/Ne3/Nb4/Na1/Na3 2.Ne3# 1...Bg7/Bh6/Be7 2.Ne7# 1...Bc4 2.bxc4#/Rbc7#/Rbd7#/Rbe7#/Rbf7#/Rbg7# 1...Bxd3 2.Rbc7#/Rbd7#/Rbe7#/Rbf7#/Rbg7# 1...Bxb7+ 2.Bxb7# 1...fxe5 2.Qxe5# 1.Nxa6?? (2.Rb8#/Rbc7#/Rbd7#/Rbe7#/Rbf7#/Rbg7#) 1...exf5 2.Rbe7# 1...Nd4/Nb4 2.Nb4# 1...Be7 2.Rb8#/Rc7#/Rd7#/Rbxe7#/Nxe7# but 1...Kc6! 1.Rg7?? (2.Qh1#) 1...exf5 2.Qg8# 1...Nd4/Ne1/Ne3 2.Ne3# 1...Bxd3 2.Rbc7#/Rbd7#/Rbe7#/Rbf7# 1...Bxb7+ 2.Bxb7# but 1...fxe5! 1.Rf7?? (2.Qh1#) 1...Nd4/Ne1/Ne3 2.Ne3# 1...Bh6 2.Ne7# 1...Bxd3 2.Rbc7#/Rbd7#/Rbe7# 1...Bxb7+ 2.Bxb7# 1...fxe5 2.Qxe5# but 1...exf5! 1.Re7?? (2.Qh1#) 1...Nd4/Ne1/Ne3 2.Ne3# 1...Bxd3 2.Rbc7#/Rbd7# 1...Bxb7+ 2.Bxb7# 1...fxe5 2.Qxe5# but 1...Bh6! 1.Rc7?? (2.Qh1#/Rc5#) 1...exf5 2.Qg8# 1...Nd4/Ne1/Ne3 2.Rc5#/Ne3# 1...gxf5/Bxd6 2.Qh1# 1...Bxb7+ 2.Bxb7# 1...Bh6 2.Rc5#/Ne7# 1...fxe5 2.Qxe5#/Rc5# but 1...Bxd3! 1.Rd7! (2.Qh1#) 1...Nd4/Ne1/Ne3 2.Ne3# 1...Bxd3 2.Rbc7# 1...Bxb7+ 2.Bxb7# 1...Bh6 2.Ne7# 1...fxe5 2.Qxe5# 1...exf5 2.Qg8#" --- authors: - Вукчевић, Милан Радоје source: Chess by Milan date: 1981 algebraic: white: [Kh3, Qg4, Rf6, Rc5, Bb1, Ba3, Se7, Pe4, Pe2, Pd2] black: [Kd4, Rf3, Rb6, Bg1, Bf7, Sh2, Sc8, Pg3, Pg2, Pc4] stipulation: "#2" solution: | "1...Rf5/Re3/Rd3[a]/Rc3/Rfb3 2.Nxf5#[A] 1...Rb5/Rbb3/Rb2/Rxb1[b]/Rb7/Rb8/Rc6 2.Nc6#[B] 1...Rf2 2.e3# 1...Bg6/Bh5/Bd5/Be8/Re6 2.Rd5# 1.Qe6?? (2.Qe5#/Rxc4#/Rd5#) 1...Rb5 2.Qe5#/Rxc4#/Nc6#[B] 1...Rb4/Nd6 2.Rd5#/Qe5# 1...Rc6 2.Qe5#/Nxc6#[B]/Rd5# 1...Rd6/c3/Nxe7 2.Rxc4#/Qe5# 1...Rxe6 2.Rd5# 1...Ng4 2.Rxc4#/Rd5# 1...Rf5 2.Rxc4#/Nxf5#[A] 1...Rc3 2.Qe5#/Rd5#/Nf5#[A] but 1...Bxe6+! 1.Qd7+?? 1...Bd5 2.Qxd5#/Rxd5# 1...Rd6 2.Nc6#[B] but 1...Nd6! 1.e5+?? 1...Rf4 2.Nf5#[A]/Rxf4#[C]/Qxf4# but 1...Nxg4! 1.e3+?? 1...Rxe3 2.Nf5#[A] but 1...Bxe3! 1.Qg7! (2.Rd6#) 1...Rd3[a] 2.Re6#[D] 1...Rxb1[b] 2.Rf4#[C] 1...Rfxf6[c] 2.Nf5#[A] 1...Rbxf6[d] 2.Nc6#[B] 1...Rxa3 2.Rfc6# 1...Rb4/Be6+ 2.Rff5# 1...Re6/Bd5 2.Rd5#" keywords: - Grimshaw - Rukhlis --- authors: - Вукчевић, Милан Радоје source: Chess By Milan date: 1981 algebraic: white: [Kc3, Qg8, Rc6, Bh7, Bb2, Se5, Pd3, Pd2, Pc7] black: [Kd5, Qf1, Re2, Be7, Bc2, Sa1, Pf4, Pf2, Pe6, Pd6, Pc4, Pb3, Pa5] stipulation: "#2" solution: | "1...Kxe5 2.Kxc4# 1...dxe5 2.Qxe6# 1.Bf5?? (2.Qxe6#) but 1...Rxe5! 1.Be4+?? 1...Kxe5 2.Kxc4# but 1...Rxe4! 1.Qb8?? (2.Qb5#) 1...Kxe5 2.Kxc4# but 1...dxe5! 1.Qa8! (2.Qxa5#) 1...Kxe5 2.Kxc4# 1...Rxe5 2.Rxc4# 1...dxe5 2.dxc4#" keywords: - Defences on same square - Mates on same square --- authors: - Вукчевић, Милан Радоје source: De Waarheid date: 1982 algebraic: white: [Kc8, Qh3, Rh4, Rf5, Sc7] black: [Ke7, Re2, Sg8, Sf1, Ph5, Pd6] stipulation: "#2" solution: | "1...d5[a] 2.Qa3#[A] 1...Re4/Rd2/Rc2/Rb2/Ra2/Rf2/Rg2[b]/Rh2/Ne3 2.Rxe4#[B] 1.Rg4? (2.Rg7#) 1...d5[a] 2.Qa3#[A] 1...Rg2[b] 2.Re4#[B] 1...Nh6[c] 2.Qh4#[C] 1...hxg4[d] 2.Qh7#[D] but 1...Nf6! 1.Rhf4? (2.Rf7#) 1...d5[a] 2.Qa3#[A] 1...Nh6[c] 2.Qh4#[C] but 1...Nf6! 1.Qg3? (2.Qg7#) 1...d5[a] 2.Qa3#[A] 1...Rg2[b] 2.Re4#[B] 1...Nh6[c] 2.Qg5#[E] but 1...Nxg3! 1.Qc3? (2.Qg7#) 1...d5[a] 2.Qc5#/Qa3#[A]/Qb4#[G] 1...Rg2[b] 2.Re4#[B] 1...Nh6[c]/Nf6 2.Qf6#[F] but 1...Re5! 1.Rff4?? (2.Qd7#) 1...Re6 2.Qxe6# but 1...Nf6! 1.Rf3?? (2.Qd7#) 1...Re6 2.Qxe6# but 1...Nf6! 1.Qe3+?? 1...Nxe3 2.Re4#[B] but 1...Rxe3! 1.Qg4! (2.Qg7#) 1...d5[a] 2.Qb4#[G] 1...Rg2[b] 2.Qe4#[H] 1...Nh6[c] 2.Qg5#[E] 1...hxg4[d] 2.Rh7#[I]" keywords: - Active sacrifice - Changed mates --- authors: - Вукчевић, Милан Радоје source: L'Italia Scacchistica date: 1981 distinction: 2nd HM algebraic: white: [Ka8, Qb7, Rh4, Rd8, Bh8, Ba2, Se6, Sc7, Pa3] black: [Kc4, Rf6, Rb3, Be4, Bc1, Sh5, Pg2, Pf5, Pe2, Pd7, Pd2, Pc2] stipulation: "#2" solution: | "1...dxe6[a] 2.Qc6#[A] 1...Rf7/Rf8/Rxe6[b]/Rg6/Rh6 2.Qd5#[B] 1...d5 2.Qxb3# 1.Qxe4+?? 1...Kc3 2.Qd4# but 1...fxe4! 1.Rxe4+?? 1...Kc3/fxe4 2.Qxb3# but 1...Kd3! 1.Kb8! (2.Qxb3#) 1...dxe6[a] 2.Qb4#[C] 1...Rxe6[b] 2.Qb5#[D]" keywords: - Changed mates --- authors: - Вукчевић, Милан Радоје source: Mat (Beograd) date: 1981 algebraic: white: [Kd7, Qd5, Bd8, Se5, Se2, Pf4] black: [Kf5, Sf2, Sa3, Ph6, Pg5, Pg4] stipulation: "#2" solution: | "1...Ne4[a] 2.Qe6#[A] 1...gxf4[b] 2.Nd4#[B] 1...Nh1/Nh3/Nd1/Nd3 2.Qd3# 1.Nc3? (2.Qf7#) 1...Ne4[a] 2.Qxe4#[C] 1...gxf4[b] 2.Qe6#[A] but 1...Kxf4! 1.Qc4? (2.Ng3#) 1...Ne4[a] 2.Qe6#[A] 1...gxf4[b] 2.Qxf4#[D] 1...Nh1 2.Qd3# but 1...Nxc4! 1.Bxg5?? (2.Ng3#/Nd4#[B]) 1...Ne4[a] 2.Nd4#[B]/Qe6#[A] 1...Nb5/Nc2 2.Ng3# 1...Nh1 2.Nd4#[B]/Qd3# but 1...hxg5! 1.Qd4?? (2.Ng3#) 1...gxf4[b] 2.Qxf4#[D] 1...Nh1 2.Qd3# but 1...Ne4[a]! 1.Qf3?? (2.Ng3#/Nd4#[B]) 1...Ne4[a] 2.Nd4#[B]/Qxg4# 1...gxf4[b] 2.Qxf4#[D] 1...Nh1 2.Nd4#[B]/Qd3# 1...Nb5/Nc2 2.Ng3# but 1...gxf3! 1.Qc6?? (2.Qg6#) but 1...gxf4[b]! 1.Qd2! (2.Ng3#) 1...Ne4[a] 2.Nd4#[B] 1...gxf4[b] 2.Qxf4#[D] 1...Nh1 2.Qd3#" keywords: - Flight giving key - Zagoruiko --- authors: - Вукчевић, Милан Радоје source: 02. Tunsgram Cup date: 1981 distinction: 2nd HM algebraic: white: [Kb1, Qa1, Rd8, Bh8, Ba8, Sd3, Sc7, Pd4, Pc2, Pb4, Pa6, Pa2] black: [Kc4, Rc3, Bf2, Sf6, Pg3, Pf7, Pe3, Pb5, Pa7] stipulation: "#2" solution: | "1...Ng4/Ng8/Nh5/Nh7/Ne4[a]/Ne8/Nd5/Nd7 2.Bd5#[A] 1...Rb3+ 2.axb3# 1.Rc8[C]? (2.Ne6#) 1...Ne4[a]/Nd7 2.Bd5#[A] 1...Rxd3[b] 2.Nd5#[D] 1...Kxd4[c] 2.Nxb5#[B] 1...Ne8 2.Bd5#[A]/Nxe8# 1...Nd5 2.Bxd5#[A]/Nxd5#[D] 1...Rb3+ 2.axb3# but 1...Rxc2! 1.Bc6?? (2.Bxb5#) 1...Rb3+ 2.axb3# but 1...Rxd3[b]! 1.Bd5+[A]?? 1...Kxd4[c] 2.Bxf6#/Nxb5#[B] but 1...Nxd5! 1.Qb2?? (2.Ne5#) 1...Ng4/Nd5/Nd7 2.Bd5#[A] 1...Rb3 2.axb3#/Qxb3# but 1...Rxd3[b]! 1.Nd5[D]! (2.Qxc3#) 1...Ne4[a] 2.Nb2#[F] 1...Rxd3[b] 2.Rc8#[C] 1...Kxd4[c] 2.Nb6#[E] 1...Be1 2.Nxe3# 1...Rxc2 2.Ne5# 1...Rb3+ 2.axb3# 1...Ra3 2.Rc8#[C]/Ne5# 1...Nxd5 2.Bxd5#[A]" keywords: - Flight giving key - Active sacrifice - Black correction - Changed mates - Reversal --- authors: - Вукчевић, Милан Радоје source: Échecs Français date: 1982 distinction: 2nd Prize algebraic: white: [Kc6, Qh4, Re8, Ra3, Bb6, Bb3, Sf4, Sb4, Pg2, Pe4, Pd5, Pd4, Pc2, Pb2] black: [Ke3, Rd1, Ra1, Bh7, Bb8, Sg5, Sg1, Pe5, Pd2, Pa2] stipulation: "#2" solution: | "1...Bxe4[a] 2.dxe5#[A] 1...exf4[b] 2.Bc4#[B] 1...exd4 2.Bc4#[B]/Bxa2#/Ba4# 1.c4? (2.Bc2#) 1...Bxe4[a] 2.dxe5#[A] 1...exf4[b] 2.Bxd1#[D] 1...Nxe4[c] 2.Nc2#[C] but 1...Ne2! 1.d6! (2.Bd5#) 1...Bxe4+[a] 2.d5#[E] 1...exf4[b] 2.Bc4#[B] 1...Nxe4[c] 2.Nbd5#[F] 1...Kxe4 2.Rxe5# 1...Ne2 2.Nfd5#" keywords: - Defences on same square - Changed mates - Mates on same square --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1982 algebraic: white: [Kf8, Qd3, Rd8, Rc4, Bh7, Bg7, Pf7, Pe7] black: [Ke6, Qb1, Rd2, Ra5, Bh2, Be8, Sg3, Sb5, Pe5, Pc6] stipulation: "#2" solution: | "1...Nc3/Nc7/Nd6/Na3/Na7 2.Rd6# 1...Rc2/Qb2/Qb3/Qb4/Qa1/Qc1/Qd1/Qe1/Qg1/Qh1/Qa2 2.Qg6# 1...Nh1/Nh5/Nf1/Nf5/Ne2 2.Bf5# 1...Ne4 2.Qh3# 1.Rxc6+?? 1...Nd6 2.Rdxd6#/Rcxd6# but 1...Bxc6! 1.Rc5! (2.Rxe5#) 1...Re2/Nd4 2.Qc4# 1...Nh1/Nh5/Nf1/Nf5/Ne2 2.Bf5# 1...Ne4 2.Qh3# 1...Nc3/Nc7/Nd6/Na3/Na7 2.Rd6# 1...Qb2/Qa1/Qe1 2.Qg6#" keywords: - Black correction --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1985 distinction: 1st Prize algebraic: white: [Kg5, Qc8, Rg4, Re6, Bh3, Sd7, Sb3, Pg6, Pf6, Pf3, Pe5, Pc6, Pc2] black: [Kd5, Rb5, Se2, Pd4, Pc3, Pb6, Pb4] stipulation: "#2" solution: | "1...Kxe6[a] 2.Qg8#[A]/Rxd4#[B] 1...Ra5[b]/Rc5[b] 2.Nxb6#[C] 1...Ng1[c]/Ng3[c]/Nc1[c] 2.Rxd4#[B] 1...d3 2.Rd6#[D] 1.Qa6? zz 1...Kxe6[a]/Ng1[c]/Ng3[c]/Nc1[c] 2.Rxd4#[B] 1...Ra5[b]/Rc5[b]/d3 2.Rd6#[D] 1...Kc4[d] 2.Nxb6#[C] but 1...Nf4[e]! 1.Qg8[A]?? (2.Rd6#[D]) but 1...Kc4[d]! 1.Nd2?? (2.Rd6#[D]) 1...Kxe6[a] 2.Qg8#[A]/Rxd4#[B] but 1...cxd2! 1.Re4?? zz 1...Ra5[b]/Rc5[b] 2.Nxb6#[C] 1...Nf4[e]/Ng1[c]/Ng3[c]/Nc1[c] 2.Rxd4#[B] 1...d3 2.Rd6#[D] but 1...Kc4[d]! 1.Bf1! zz 1...Kxe6[a] 2.Qg8#[A] 1...Ra5[b]/Rc5[b] 2.Nxb6#[C] 1...d3/Nf4[e]/Ng1[c]/Ng3[c]/Nc1[c] 2.Rd6#[D] 1...Kc4[d] 2.Rxd4#[B]" keywords: - Lacny - Ideal Rukhlis - Stocchi --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1987 algebraic: white: [Kh5, Qd4, Rg6, Re4, Bb1, Sg5, Se2, Pf4, Pe5, Pe3] black: [Kf5, Rc8, Rb7, Ba7, Sf8, Sf1, Pg7] stipulation: "#2" solution: | "1...Bxd4[a] 2.Nxd4#[A] 1...Ng3+/Nh2/Nxe3/Nd2 2.Nxg3# 1.Qc5? (2.Nd4#[A]/Rb4#[B]) 1...Rxc5[c]/Rb3/Rb2/Rxb1 2.Nd4#[A] 1...Rd7[d] 2.Rd4# 1...Ng3+ 2.Nxg3# 1...Nxe3/Nd2 2.Ng3#/Nd4#[A] 1...Rb4/Bxc5/Ne6 2.Rxb4#[B] but 1...Rd8[b]! 1.Qb6? (2.Nd4#[A]/Rc4#[C]) 1...Rd8[b] 2.Rd4# 1...Ng3+ 2.Nxg3# 1...Nxe3/Nd2 2.Ng3#/Nd4#[A] 1...Rxb6/Rc3/Rc2/Rc1 2.Nd4#[A] 1...Ne6 2.Qxe6#/Rc4#[C] 1...Rc4/Bxb6 2.Rxc4#[C] but 1...Rd7[d]! 1.e6?? (2.Re5#/Qd5#[D]/Qe5#) 1...Bxd4[a] 2.Nxd4#[A]/Re5# 1...Rd8[b]/Rd7[d] 2.Re5#/Qe5# 1...Nd7/Rc5[c]/Rb5/Bb8[c] 2.Re5# 1...Ng3+ 2.Nxg3# 1...Nxe3 2.Ng3#/Re5#/Qe5# but 1...Nxg6! 1.Nf3?? (2.Nh4#) 1...Ng3+ 2.Nxg3# but 1...Nxg6! 1.Qd5[D]! (2.e6#) 1...Bd4[a]/Bb8[c]/Rc5[c] 2.Nxd4#[A] 1...Rd8[b] 2.Rb4#[B] 1...Rd7[d] 2.Rc4#[C] 1...Nxg6/Ne6/Nd7 2.Qe6# 1...Rb5 2.Qf7# 1...Ng3+/Nxe3 2.Nxg3#" keywords: - Novotny - Rudenko --- authors: - Вукчевић, Милан Радоје source: Match Israel-U.S.A. date: 1989 distinction: 2nd Place algebraic: white: [Ke1, Qg1, Rc3, Rb2, Be8, Ba3, Pd6, Pc6, Pc2] black: [Kc1, Re5, Rb4, Sa4, Ph3, Pg2, Pf5, Pe3, Pd4, Pc4, Pb3] stipulation: "#2" options: - Circe solution: keywords: - Circe --- authors: - Вукчевић, Милан Радоје source: Neue Zürcher Zeitung date: 1989 distinction: 1st Prize algebraic: white: [Kf8, Qe3, Rf5, Ra5, Be2, Se8, Sb8, Ph5, Pg7, Pe5, Pe4, Pd7] black: [Ke6, Qd1, Rc3, Bh6, Sb4, Sa4, Pf4, Pf2, Pe7, Pc2] stipulation: "#2" solution: | "1...Nc6/Nc5/Rc7/Rb3/Ra3/Rd3/Rxe3 2.Nc7#[A] 1...Nd3/Nd5/Qc1/Qb1/Qa1/Qe1/Qf1/Qg1/Qh1/Qxe2 2.d8N#[B] 1...Bg5 2.g8Q#/g8B# 1...Bxg7+ 2.Nxg7# 1...f3 2.Qxh6# 1.Qg3? (2.Qg6#) 1...Nd5/Qg1 2.d8N#[B] 1...Bg5 2.g8Q#/g8B# 1...Bxg7+ 2.Nxg7# 1...Rxg3 2.Nc7#[A] but 1...fxg3! 1.Qh3[C]? (2.Rf6#) 1...Rc5[b] 2.Rg5#[D] 1...Nd5 2.d8N#[B] 1...Bxg7+ 2.Nxg7# 1...Rxh3/Nc5 2.Nc7#[A] but 1...Qd5[a]! 1.Qb6+? 1...Rc6/Nc6 2.Nc7#[A] 1...Qd6 2.d8N#[B] but 1...Nxb6! 1.Bg4[E]? (2.Rf6#) 1...Qd5[a] 2.Rg5#[D] 1...Bxg7+ 2.Nxg7# 1...Nc5 2.Nc7#[A] 1...Nd5/Qxg4 2.d8N#[B] but 1...Rc5[b]! 1.Rd5?? (2.d8N#[B]) 1...Bxg7+ 2.Nxg7# 1...Nc6 2.Nc7#[A] 1...Rc8 2.dxc8Q#/dxc8B# but 1...Qxd5[a]! 1.Qd3?? (2.d8N#[B]) 1...Nc6/Rxd3 2.Nc7#[A] 1...Bxg7+ 2.Nxg7# 1...Rc8 2.dxc8Q#/dxc8B# but 1...Qxd3! 1.Qd2?? (2.d8N#[B]) 1...Nc6/Rd3 2.Nc7#[A] 1...Rc8 2.dxc8Q#/dxc8B# 1...Bxg7+ 2.Nxg7# but 1...Qxd2! 1.Qd4?? (2.d8N#[B]) 1...Bxg7+ 2.Nxg7# 1...Rc8 2.dxc8Q#/dxc8B# 1...Nc6 2.Nc7#[A] but 1...Qxd4! 1.Bd3?? (2.d8N#[B]) 1...Nc6/Rxd3 2.Nc7#[A] 1...Bxg7+ 2.Nxg7# 1...Rc8 2.dxc8Q#/dxc8B# but 1...Qxd3! 1.Bc4+?? 1...Nd5/Qd5[a] 2.Nc7#[A]/d8N#[B] but 1...Rxc4! 1.Rg5[D]! (2.Rg6#) 1...Qd5[a] 2.Bg4#[E] 1...Rc5[b] 2.Qh3#[C] 1...Bxg5 2.g8Q#/g8B# 1...Bxg7+ 2.Nxg7# 1...Nd5/Qg1 2.d8N#[B] 1...Nc5 2.Nc7#[A]" keywords: - Transferred mates - Reversal - Banny --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1990 algebraic: white: [Kh5, Qc3, Re6, Rc6, Pd4] black: [Kd5, Ra5, Bc7, Ba2] stipulation: "#2" solution: | "1...Be5[a] 2.Rxe5#[A] 1...Ra4/Ra3/Ra6/Ra7/Ra8/Rc5[b] 2.Qc5#[B] 1...Bb1/Bc4 2.Qc4# 1...Bd6 2.Rcxd6# 1...Bd8/Bb6 2.Rcd6#/Re5#[A] 1.Qe3? (2.Qe4#) 1...Be5[a] 2.Qxe5#[D] 1...Rc5[b] 2.Rxc5#[C] but 1...Bb1! 1.Qxa5+?? 1...Kxd4 2.Qd2# but 1...Bxa5! 1.Qd3! (2.Qe4#) 1...Be5[a] 2.dxe5#[F] 1...Rc5[b] 2.dxc5#[E] 1...Bb1 2.Qc4#" keywords: - Zagoruiko comments: - 26585 --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1991 algebraic: white: [Kb5, Qg6, Rc3, Sc2, Pf3, Pe5, Pd4] black: [Kd5, Rh4, Ba7, Sa5, Ph6, Pe6] stipulation: "#2" solution: | "1...Bc5/Bb8 2.Rxc5# 1...Rh3/Rh2/Rh1/Rh5 2.Qe4# 1...Re4 2.fxe4#/Qxe4# 1.Qd3? (2.Ne3#[A]/Nb4#[B]) 1...Bxd4[b] 2.Rc5# 1...Bc5 2.Ne3#[A]/Rxc5# 1...Nc4 2.Nb4#[B]/Qxc4# 1...Nc6 2.Ne3#[A]/Qc4# 1...Re4 2.Nb4#[B]/fxe4#/Qxe4# but 1...Rxd4[a]! 1.Rd3? (2.Ne3#[A]/Nb4#[B]) 1...Rxd4[a] 2.Qe4# 1...Bc5/Nc6 2.Ne3#[A] 1...Re4 2.Nb4#[B]/fxe4#/Qxe4# 1...Nc4 2.Nb4#[B] but 1...Bxd4[b]! 1.Rc6?? (2.Qxe6#/Rd6#) 1...Rxd4[a]/Nb7/Nc4/Bxd4[b] 2.Qxe6# 1...Bc5/Bb8 2.Qxe6#/Rxc5# but 1...Nxc6! 1.Qg7[C]! (2.Qd7#) 1...Rxd4[a] 2.Ne3#[A] 1...Bxd4[b] 2.Nb4#[B] 1...Bc5/Bb8 2.Rxc5# 1...Nb7/Nc4 2.Qxb7#" keywords: - Latvian Novotny - Rudenko --- authors: - Вукчевић, Милан Радоје source: Memorial Schulte date: 1992-10-31 distinction: 1st Prize, 1992-1993 algebraic: white: - Ke6 - Qe7 - Re8 - Re5 - Bf7 - Bb2 - Sf6 - Sc7 - Ph5 - Pf5 - Pd6 - Pc5 - Pc2 - Pb6 - Pa5 - Pa3 black: [Kc4, Sc3, Pa6] stipulation: "#2" solution: | "1...Nd1/Ne2[a]/Ne4[b]/Nb1/Nb5[c]/Na2/Na4 2.Kd7#[A] 1.Rg8? zz 1...Ne2[a]/Ne4[b]/Nb5[c] 2.Kd7#[A] 1...Kd4[d] 2.Rg4#[B] 1...Nd1/Nb1/Na2/Na4 2.Rg4#[B]/Kd7#[A] but 1...Nd5! 1.Qd7? zz 1...Nd1/Ne2[a]/Ne4[b]/Nb1/Na4 2.Ke7#[D]/Qa4#[C] 1...Nb5[c]/Na2 2.Ke7#[D] 1...Kd4[d] 2.Qa4#[C] but 1...Nd5! 1.d7? zz 1...Ne2[a] 2.Kd6#[F] 1...Kd4[d]/Nd5/Ne4[b] 2.Re4#[E] 1...Nd1/Nb1/Na2/Na4 2.Kd6#[F]/Re4#[E] but 1...Nb5[c]! 1.Ng8?? zz 1...Ne2[a]/Nb5[c] 2.Kf6#[H]/Kd7#[A] 1...Ne4[b] 2.Kd7#[A] 1...Kd4[d] 2.Qh4#[G] 1...Nd1/Nb1/Na2/Na4 2.Kf6#[H]/Kd7#[A]/Qh4#[G] but 1...Nd5! 1.Nh7?? zz 1...Ne2[a]/Nb5[c] 2.Kf6#[H]/Kd7#[A] 1...Ne4[b] 2.Kd7#[A] 1...Kd4[d] 2.Qh4#[G] 1...Nd1/Nb1/Na2/Na4 2.Kf6#[H]/Kd7#[A]/Qh4#[G] but 1...Nd5! 1.Nd7! zz 1...Ne2[a]/Nb5[c] 2.Kf6#[H] 1...Nd5/Ne4[b] 2.Re4#[E] 1...Kd4[d] 2.Qh4#[G] 1...Nd1/Nb1/Na2/Na4 2.Kf6#[H]/Qh4#[G]/Re4#[E]" keywords: - Zagoruiko --- authors: - Вукчевић, Милан Радоје source: Memorial Schulte date: 1992-10-31 distinction: 2nd Prize, 1992-1993 algebraic: white: [Kh4, Qb1, Rc5, Bb8, Sd5, Sc2, Ph5, Pe7, Pd6, Pd4] black: [Kf5, Rg8, Bh7, Sg5, Pf7, Pf6, Pf4, Pf3] stipulation: "#2" solution: | "1...Ne6[a] 2.Ne1#/Nce3#/Ncb4#/Na1#/Na3# 1.Qb3? (2.Nc3#) 1...Ne6[a] 2.Qd3#[F] 1...Ne4[b] 2.Nde3#[A] 1...Ke6[c] 2.Nb6#[C] 1...Ke4[d] 2.Nxf6#[E] but 1...Rc8! 1.e8Q?? (2.Nde3#[A]/Nc3#/Nc7#/Ndb4#[B]/Nb6#[C]/Nce3#) 1...Ne6[a] 2.Ne1#/Nce3#/Ncb4#/Na1#/Na3# 1...Ne4[b] 2.Nde3#[A]/Qd7#[D] but 1...Rxe8! 1.e8R?? (2.Nde3#[A]/Nc3#/Nc7#/Ndb4#[B]/Nb6#[C]/Nce3#) 1...Ne6[a] 2.Ne1#/Nce3#/Ncb4#/Na1#/Na3# 1...Ne4[b] 2.Nde3#[A] but 1...Rxe8! 1.Ne1+?? 1...Ne4[b] 2.Nc7# but 1...Ke6[c]! 1.Ncb4+?? 1...Ne4[b] 2.Nc7# but 1...Ke6[c]! 1.Na1+?? 1...Ne4[b] 2.Nc7# but 1...Ke6[c]! 1.Na3+?? 1...Ne4[b] 2.Nc7# but 1...Ke6[c]! 1.Ndb4+[B]?? 1...Ke4[d] 2.Qe1# but 1...Ke6[c]! 1.Nb6+[C]?? 1...Ke6[c] 2.Qb3#/Qa2# but 1...Ke4[d]! 1.Qb7! (2.Nc7#) 1...Ne6[a] 2.Nde3#[A] 1...Ne4[b] 2.Qd7#[D] 1...Ke6[c] 2.Nxf4#[G] 1...Ke4[d] 2.Ndb4#[B]" keywords: - Changed mates --- authors: - Вукчевић, Милан Радоје source: 6th WCCT date: 1998-05-01 distinction: 8th Place, 1996-2000 algebraic: white: [Kd1, Qc3, Re1, Bh8, Bc8, Sc5, Pf4] black: [Kd5, Bg8, Bd8, Sf6, Sa8, Ph2, Pg6, Pf7, Pd6, Pc6, Pa5] stipulation: "#2" solution: | "1...dxc5[a] 2.Qd3#[A] 1...Ng4/Nh5/Nh7/Ne4[b]/Ne8/Nd7[c] 2.Qd4#[B] 1.Bxf6? (2.Qd4#[B]) 1...dxc5[a] 2.Qd3#[A] but 1...Bxf6! 1.Ne4? (2.Qd3#[A]) 1...Nxe4[b] 2.Qd4#[B] 1...Nd7[c] 2.Qb3#[C] 1...Bb6 2.Nxf6# but 1...c5[a]! 1.Nb3? (2.Qd3#[A]/Qd4#[B]) 1...c5[a] 2.Bb7# but 1...Bb6! 1.Na4? (2.Qd3#[A]) 1...c5[a] 2.Bb7# but 1...Bb6! 1.Ba6?? (2.Qc4#) 1...dxc5[a] 2.Qd3#[A]/Qd2#/Qe5# but 1...Nb6! 1.Ne6?? (2.Qb3#[C]/Qd3#[A]/Qd4#[B]) 1...c5[a] 2.Bb7# 1...Nb6/a4 2.Qd3#[A]/Qd4#[B] 1...Bb6 2.Qb3#[C] but 1...fxe6! 1.Na6?? (2.Qd3#[A]) 1...c5[a] 2.Bb7# but 1...Bb6! 1.Nd7! (2.Qd3#[A]) 1...c5[a] 2.Bb7# 1...Ne4[b] 2.Qb3#[C] 1...Nxd7[c] 2.Qd4#[B] 1...Bb6 2.Nxf6#" keywords: - Reciprocal - Pseudo Le Grand - Barnes --- authors: - Вукчевић, Милан Радоје source: Wola Gułowska date: 1996 distinction: 2nd Prize algebraic: white: [Ke7, Qe8, Re1, Rd8, Bd7, Sh5, Sf5, Pf7, Pe4] black: [Ke5, Rg4, Bh6, Se2, Pg5, Pf3, Pd3] stipulation: "#2" solution: | "1...Kxe4[a] 2.Kd6#[A] 1...Bf8+ 2.Kxf8# 1.Rc8? (2.Kd8#) 1...Kxe4[a] 2.Kd6#[A] 1...Rxe4[b]/Nd4[c] 2.Rc5#[B] 1...Bf8+ 2.Kxf8# but 1...Nf4! 1.Ba4? (2.Kd7#) 1...Kxe4[a] 2.Kf6#[D] 1...Rxe4[b] 2.Qb5#[E] 1...Nd4[c] 2.Rd5#[C] 1...Bf8+ 2.Kxf8# but 1...Nf4! 1.Bc8? (2.Kd7#) 1...Kxe4[a] 2.Kf6#[D]/Kd6#[A] 1...Rxe4[b] 2.Qb5#[E] 1...Nd4[c] 2.Rd5#[C] 1...Bf8+ 2.Kxf8# but 1...Nf4! 1.f8Q? (2.Kf7#) 1...Kxe4[a] 2.Kd6#[A] 1...Nf4/Nd4[c] 2.Qf6#[F] 1...Bxf8+ 2.Kxf8# but 1...Rxe4[b]! 1.Qh8+?? 1...Kxe4[a] 2.Qd4# but 1...Bg7! 1.Bc6?? (2.Kd7#) 1...Rxe4[b]/Nd4[c] 2.Rd5#[C] 1...Bf8+ 2.Kxf8# but 1...Nf4! 1.Ra8! (2.Kd8#) 1...Kxe4[a] 2.Kd6#[A] 1...Rxe4[b] 2.Ra5#[G] 1...Nf4/Nd4[c] 2.Qb8#[H] 1...Bf8+ 2.Kxf8#" keywords: - Changed mates --- authors: - Вукчевић, Милан Радоје source: League of Macedonian Problemists date: 1997 distinction: 5th Place algebraic: white: [Kb2, Qh5, Rh4, Rd8, Bh6, Sg4, Se5, Pg3, Pg2, Pf5, Pd5] black: [Ke4, Qh8, Rd4, Bc4, Sg8, Sd2, Pc6, Pc5, Pb3] stipulation: "#2" solution: | "1...Qxe5 2.Nf2# 1...Nf3 2.gxf3# 1.Qg5?? (2.Qf4#) 1...Qxe5 2.Nf2# but 1...Qxh6! 1.Nd7! (2.Nxc5#) 1...Kd3 2.Nf2# 1...Kxd5 2.Ndf6# 1...Rd3+ 2.Ngf6# 1...Rxd5+ 2.Nge5#" keywords: - 2 flights giving key --- authors: - Вукчевић, Милан Радоје source: Mat Plus source-id: 258 date: 1997 distinction: 5th Prize algebraic: white: [Kc2, Qg1, Rh7, Rg4, Bg2, Bc7, Sh3, Sf8, Pf3, Pd2, Pb3] black: [Kd5, Qh4, Ra4, Ba3, Ph5, Pc6, Pb6] stipulation: "#2" solution: | "1... Rc4+ 2. b:c4# 1... Rd4 2. Q:d4# 1... Re4 2. f:e4# 1... Rf4 2. S:f4# 1... R:g4 2. f:g4# 1. Rb4! [2. Rd7, f4#] 1... B:b4 2. f4# 1... R:b4 2. Rd7# 1... Q:b4 2. R:h5# 1... Qg4 2. f:g4# 1... Qf4 2. S:f4# 1... Qe4+ 2. f:e4# 1... Qd4 2. Q:d4# 1... Qc4+ 2. b:c4#" keywords: - Defences on same square - Novotny - Transferred mates --- authors: - Вукчевић, Милан Радоје source: Mat Plus date: 1997 algebraic: white: [Kh2, Qa3, Rf4, Rc1, Bf1, Ba5, Se7, Sc3, Pe2, Pd4, Pb4] black: [Kc4, Qh7, Rd8, Ra8, Bh8, Se6, Sc7, Ph5, Pb3] stipulation: "#2" solution: | "1...Qh6/Qg7/Qf7/Qxe7/Qg8 2.e3# 1...Qd3 2.exd3# 1...Bxd4 2.e4# 1...b2 2.Qa2# 1.Nd1+?? 1...Kb5 2.e4# but 1...Qc2! 1.Ncd5+?? 1...Kb5 2.e4# but 1...Qc2! 1.Ne4+?? 1...Kb5 2.e3# but 1...Kxd4! 1.Nb1+?? 1...Kb5 2.e4# but 1...Qc2! 1.Nb5+?? 1...Kxb5 2.e4# but 1...Qc2! 1.Na2+?? 1...Kb5 2.e4# but 1...Qc2! 1.Na4+?? 1...Kb5 2.e4# but 1...Qc2! 1.Qa4! (2.b5#) 1...Rxd4 2.Ne4# 1...Bxd4 2.e4# 1...Rxa5 2.bxa5# 1...Nxd4 2.Qc6# 1...Nc5 2.bxc5# 1...Qxe7 2.e3# 1...Nd5/Nb5/Na6 2.Qb5#" keywords: - Defences on same square - Latvian Novotny - B2 --- authors: - Вукчевић, Милан Радоје source: Mat Plus date: 1997 algebraic: white: [Kd1, Qf2, Rg5, Re6, Bb1, Se7, Se3, Pg3, Pc4, Pb2, Pa2] black: [Kd4, Be5, Sd8, Sb6, Ph6, Pd2, Pc7, Pb7, Pa5] stipulation: "#2" solution: | "1...c5 2.N7f5#/Qxd2# 1...Nxc4 2.N3f5# 1...Bf4/Bg7/Bh8 2.Qxf4#/Qxd2#/Re4# 1...Bxg3/Bd6 2.Qxd2#/Re4# 1...Bf6 2.Qf4#/Qxf6#/Qxd2#/Re4# 1.Rexe5?? (2.Qf4#/Qxd2#/Re4#) 1...Ne6 2.Qxd2#/Re4# 1...Nxc4 2.Qf4#/Re4#/Rd5# 1...Nd5 2.Rxd5# but 1...hxg5! 1.Rgxe5?? (2.Qf4#/Qxd2#/N7f5#) 1...Nxc4 2.Qf4#/N7f5#/N3f5#/Rd5# 1...Nd5 2.Rxd5# but 1...Nxe6! 1.b3?? (2.N3d5#) 1...Kc3/Bf4/Bxg3 2.Qxd2# 1...Kc5 2.Nc2# but 1...Nxc4! 1.Qf4+?? 1...Bxf4 2.Re4# but 1...Kc5! 1.Nc2+?? 1...Kd3 2.Qe2#/Na3# 1...Ke4 2.Nd4#/Ne1#/Nb4#/Na1#/Na3#/Qf5#/Qe2#/Qe3# but 1...Kxc4! 1.Qf8! (2.N7f5#) 1...Kxe3 2.Qf4# 1...Kc5 2.Nc6# 1...Bd6 2.Re4#" keywords: - Flight giving key --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 1998 distinction: Comm. algebraic: white: [Kh3, Qc2, Rh5, Rh4, Bf7, Sb3, Pf4, Pc3, Pa2] black: [Kc4, Qd8, Rb7, Bc8, Sa4, Pf6, Pf3, Pe6, Pc6, Pc5, Pb5, Pb4] stipulation: "#2" solution: | "1...Rb6/Rc7/Qd7/Qd6/Qd5/Qd4/Qd3/Qd1 2.Na5# 1...Bd7/Qc7/Qb6 2.Nd2# 1...Nb2/Nxc3 2.Rxc5# 1...Nb6 2.Rxc5#/Na5# 1...Qd2/Qe8/Qf8/Qg8/Qh8/Qe7/Qa5 2.Nxd2#/Na5# 1.Bxe6+?? 1...Qd5 2.f5#/Nd2#/Na5# but 1...Bxe6+! 1.Rd5! (2.Qd3#) 1...Nb2 2.Rxc5# 1...cxd5 2.Nd2# 1...Qxd5 2.Na5# 1...exd5+ 2.f5# 1...e5+ 2.Rd7# 1...bxc3 2.Qe4#" keywords: - Flight giving key - Active sacrifice - Defences on same square --- authors: - Вукчевић, Милан Радоје source: Liga Problemista source-id: 1/ date: 1998 algebraic: white: [Kf7, Qe4, Rf5, Re7, Bd7, Ba5, Sa3] black: [Kd6, Qh1, Rh4, Re1, Bf1, Bd8, Sg2, Ph7, Pf6, Pe6, Pb7, Pb5] stipulation: "#2" solution: | "1...Be2/Rd1/Rc1[a]/Rb1/Ra1/Ne3[a] 2.Qxe6#[B] 1...Nf4[b] 2.Qb4#[D] 1...Bc7 2.Bb4#[A] 1...Re2 2.Nxb5#[C] 1...Rh3/Rh2/Rh5/Rh6 2.Qd4#/Qb4#[D] 1...b6 2.Qc6# 1.Qd3+?? 1...Rd4 2.Nxb5#[C]/Qxd4# but 1...Bxd3! 1.Bxb5?? (2.Rxe6#[E]/Rd7#/Bb4#[A]) 1...Rc1[a]/Rb1 2.Rxe6#[E]/Rd7#/Qxe6#[B] 1...Nf4[b] 2.Rd7#/Bb4#[A]/Qb4#[D] 1...Qg1 2.Rxe6#[E]/Rd7# 1...Rhxe4/Bb6/Bxa5/Rexe4 2.Rd7# 1...Bc4 2.Nxc4#/Rd7#/Bb4#[A] 1...Bxb5 2.Nxb5#[C]/Bb4#[A] 1...exf5/e5 2.Bb4#[A] 1...b6 2.Bb4#[A]/Rd7#/Qc6# but 1...Bxe7! 1.Qxb7! (2.Qc6#) 1...Ne3[a]/Rc1[a] 2.Rxe6#[E] 1...Nf4[b] 2.Bb4#[A] 1...Rc4 2.Nxb5#[C]" keywords: - Grimshaw - Changed mates - Transferred mates --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 1998 distinction: 3rd Prize algebraic: white: [Kc2, Qd3, Rh6, Bb8, Sh4, Sd5, Pg3, Pf2, Pe6, Pe4, Pe2, Pd6, Pc6] black: [Ke5, Qa7, Bh8, Bf3, Sd2, Pf7, Pb6, Pa4] stipulation: "#2" solution: | "1...Qa6/Qa5[a] 2.d7#[A] 1...fxe6[b] 2.Ng6#[B] 1...Bg2/Bh1/Bg4/Bh5/Bxe2/Bxe4[c] 2.f4#[C] 1...Qe7 2.dxe7# 1...Nf1/Nc4/Nb1/Nb3 2.Nxf3# 1.Ne7? (2.Qd5#) 1...Qa5[a] 2.d7#[A] 1...Bxe4[c] 2.f4#[C] but 1...fxe6[b]! 1.Nf4? (2.Qd5#) 1...Qa5[a] 2.d7#[A] 1...fxe6[b] 2.Rxe6#[E] but 1...Bxe4[c]! 1.Nc7? (2.Qd5#) 1...fxe6[b] 2.Rxe6#[E] 1...Bxe4[c] 2.f4#[C] but 1...Qa5[a]! 1.d7+[A]?? 1...Qc7 2.Bxc7# but 1...Qxb8! 1.Ne3?? (2.Qd5#) 1...Qa5[a] 2.d7#[A] 1...Bxe4[c] 2.f4#[C]/Ng4#[D] but 1...fxe6[b]! 1.Nc3?? (2.Qd5#) 1...Qa5[a] 2.d7#[A] 1...Bxe4[c] 2.f4#[C] but 1...fxe6[b]! 1.Nb4?? (2.Qd5#) 1...Qa5[a] 2.d7#[A] 1...Bxe4[c] 2.f4#[C] but 1...fxe6[b]! 1.Nxb6?? (2.Qd5#) 1...Qa5[a] 2.Nd7#[F]/d7#[A] 1...Bxe4[c] 2.f4#[C] but 1...fxe6[b]! 1.Nf6! (2.Qd5#) 1...Qa5[a] 2.Nd7#[F] 1...fxe6[b] 2.Qc3#[G] 1...Bxe4[c] 2.Ng4#[D]" keywords: - Flight giving key - Changed mates --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 1998 algebraic: white: [Ke6, Qf6, Rg3, Bf7, Bb2, Sb4, Sa6, Pd7] black: [Kc4, Qh3, Rg2, Re1, Bc5, Sf2, Ph6, Pg5, Pf5, Pf4, Pe5, Pb6, Pb5] stipulation: "#2" solution: | "1...Ng4[a]/g4/Qh2/Qh1/Qh4/Qxg3 2.Kxf5#[A] 1...Ne4[b]/Rc1/Rb1/Ra1/Rf1/Reg1/Rh1 2.Kxe5#[B] 1...Bd4 2.Ke7#/Kd6# 1...Be3 2.Kxe5#[B]/Ke7#/Kd6# 1...Bd6 2.Kxd6# 1...Be7 2.Kxe7# 1...e4 2.Ke5#[B]/Qc3# 1.Qxf5? (2.Kf6#) 1...Ng4[a] 2.Qd3#[E] 1...Ne4[b] 2.Kxe5#[B] 1...Qh5[c] 2.Qc2#[F] 1...Be7 2.Kxe7# 1...Qxf5+ 2.Kxf5#[A] but 1...Rd1! 1.d8Q?? (2.Kd7#/Qd5#[C]) 1...Qh5[c] 2.Qd5#[C]/Rc3#[D] 1...Bd6 2.Kxd6#/Kd7# but 1...Rd1! 1.d8R?? (2.Kd7#) 1...Qh5[c] 2.Rc3#[D] but 1...Rd1! 1.Qg6?? (2.Kf6#) 1...Ng4[a] 2.Kxf5#[A] 1...Ne4[b] 2.Kxe5#[B] 1...Be7 2.Kxe7# but 1...Rd1! 1.Rxh3?? (2.Kxf5#[A]) but 1...Rd1! 1.Qxe5! (2.Kf6#) 1...Ng4[a] 2.Kxf5#[A] 1...Ne4[b] 2.Qd5#[C] 1...Qh5[c] 2.Rc3#[D] 1...Rxe5+ 2.Kxe5#[B] 1...Rd1 2.Qc3# 1...Be7 2.Kxe7#" keywords: - Active sacrifice - Changed mates - Transferred mates --- authors: - Вукчевић, Милан Радоје source: Mezija date: 1999 algebraic: white: [Kh6, Qf8, Re2, Rc4, Bg7, Bb7, Sf4, Sd4, Pe3, Pc2, Pb3] black: [Ke4, Ra7, Ra6, Bg4, Sc8, Sc6, Pc5] stipulation: "#2" solution: | "1...Bh5/Bf5 2.Qf5# 1...Bf3 2.Qf5#/Nde6#/Nf5#/Nxc6#/Nb5# 1...Ra5/Ra4/Ra3/Ra2/Ra1 2.Bxc6# 1.Rxc5?? (2.Re5#) 1...Ra5 2.Bxc6# but 1...Rxb7! 1.Qe8+?? 1...Be6 2.Qxe6# but 1...Ne7! 1.Qe7+?? 1...Be6 2.Qxe6# but 1...Nxe7! 1.Qd6?? (2.Qd5#/Qe5#) 1...Rxb7/cxd4 2.Qd5# 1...Ne7/Nb6 2.Qe5# 1...Bxe2/Be6 2.Qe6#/Qe5# but 1...Nxd6! 1.Qxc5! (2.Qd5#/Qe5#) 1...Rxb7 2.Qd5# 1...Bxe2/Be6/Ne7/Nb6 2.Qe5# 1...Ra5 2.Bxc6#" --- authors: - Вукчевић, Милан Радоје source: Mezija date: 1999 algebraic: white: [Kd7, Qa2, Rf8, Bb8, Bb1, Sd6, Sc7, Pc3] black: [Ke5, Rd3, Bh3, Sf3, Sa3, Pg5, Pf5, Pf4, Pd5] stipulation: "#2" solution: | "1...Nd4[a]/Rxc3[a]/Re3 2.Qxd5#[A] 1...Bg2/Bf1/g4 2.Rxf5# 1...Rd1 2.Qe2#[B] 1...d4 2.Qd5#[A]/Qe6# 1.Bxd3? (2.Qe2#[B]/Qxd5#[A]) 1...Ng1/Nd2/Nd4[a]/Nc2 2.Qxd5#[A] 1...Bf1 2.Rxf5#/Qxd5#[A] but 1...Nc4! 1.Nf7+?? 1...Ke4[b] 2.Qe2#[B] but 1...Kf6! 1.Ne4[C]! (2.Re8#) 1...Nd4[a]/Rxc3[a] 2.Qxd5#[A] 1...Kxe4[b] 2.Qe2#[B] 1...dxe4+ 2.Nd5# 1...fxe4+ 2.Ne6#" keywords: - Flight giving key - Defences on same square - Rudenko --- authors: - Вукчевић, Милан Радоје source: Journal de Genève date: 1975-01-25 distinction: Commendation algebraic: white: [Kg7, Qb8, Rd3, Bh7, Bf2, Sd1, Sa4, Pf7, Pd7, Pc5, Pc3, Pc2] black: [Ke4, Rf5] stipulation: "#2" solution: | "1.Be3?? (2.Qf4#) but 1...Kf3! 1.Bd4?? (2.Qe5#) but 1...Kd5! 1.Kg6! zz 1...Rf4 2.Qe8# 1...Rf3 2.Rd4# 1...Rxf2 2.Nxf2# 1...Rf6+ 2.Kxf6# 1...Rxf7 2.Kxf7# 1...Re5 2.Qb4# 1...Rd5 2.Re3# 1...Rxc5 2.Nxc5# 1...Rg5+ 2.Kxg5# 1...Rh5 2.Kxh5#" keywords: - Black correction --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1982 distinction: 4th Prize algebraic: white: [Ka2, Qf7, Rh6, Rd7, Bf3, Bb2, Se4, Sd6, Pe6, Pb5] black: [Kd5, Qf4, Rh4, Pe3] stipulation: "#2" solution: | "1...Qf5/Qxe4[a]/Qxh6 2.Qxf5#[A] 1...Qg3/Qh2/Qg5/Qxd6[b] 2.e7#[B] 1.Be2? (2.Bc4#) 1...Qxe4[a] 2.Nb7#[C] 1...Qxd6[b] 2.Qf5#[A] but 1...Qf1! 1.Qf5+[A]?? 1...Qe5 2.Qxe5# but 1...Qxf5! 1.Qh5+?? 1...Qf5 2.Qxf5#[A] 1...Qg5 2.Qxg5# 1...Qe5 2.Qxe5# but 1...Rxh5! 1.Rh5+?? 1...Qf5 2.e7#[B]/Qxf5#[A]/Rxf5# 1...Qg5 2.Rxg5#/e7#[B] 1...Qe5 2.e7#[B]/Rxe5# but 1...Rxh5! 1.Ne8+?? 1...Qd6[b] 2.e7#[B] but 1...Kc4! 1.Nf5+?? 1...Qd6[b] 2.e7#[B]/Nxe3# but 1...Kc4! 1.Nc4+?? 1...Qd6[b] 2.e7#[B]/Nxe3#/Nb6# but 1...Kxc4! 1.Nc8+?? 1...Qd6[b] 2.Nb6#/e7#[B] but 1...Kc4! 1.Nb7+[C]?? 1...Qd6[b] 2.e7#[B] but 1...Kc4! 1.Nd2+?? 1...Qe4[a] 2.N6xe4#/Nb7#[C]/Qf5#[A] 1...Qxf3 2.N6e4#/Nb7#[C] but 1...Kc5! 1.Rc7! (2.Rc5#) 1...Qxe4[a] 2.e7#[B] 1...Qxd6[b] 2.Nf6#[D]" keywords: - Zagoruiko --- authors: - Вукчевић, Милан Радоје source: Europe Échecs date: 1981 distinction: 1st HM algebraic: white: [Kb2, Qh2, Rc6, Bb5, Pf5, Pd4, Pd3, Pc3] black: [Kd5, Qf6, Rb8, Ba7, Sg5, Pg7, Pg4, Pb7] stipulation: "#2" solution: | "1...Bc5 2.Rxc5# 1...Nh3/Nh7/Nf7 2.Qh1#/Qg2# 1...Ne6 2.Qh1#/Qg2#/Qd6#/Rd6# 1...Qxf5/Qd6 2.Qd6#/Rd6# 1...Qf7 2.Qe5#/Qd6#/Rd6# 1...Qf8/Qxc6/Qg6/Qh6/Qe5/Qd8 2.Qe5# 1...Qxd4 2.Qd6# 1.Qf4? (2.c4#[A]) 1...Ne4 2.dxe4#/Qxe4# 1...Qxc6 2.Qe5# 1...Qxd4 2.Qd6# but 1...Bxd4[b]! 1.Qc7? (2.Bc4#[B]) 1...Qxc6 2.Qe5# 1...Qxd4 2.Qd6# but 1...bxc6[a]! 1.Kb1?? (2.Qa2#) 1...Bxd4[b] 2.c4#[A] 1...Qxc6 2.Qe5# 1...Qxd4 2.Qd6# but 1...bxc6[a]! 1.Ka1?? (2.Qa2#) 1...bxc6[a] 2.Bc4#[B] 1...Qxc6 2.Qe5# 1...Qxd4 2.Qd6# but 1...Bxd4[b]! 1.Rxf6?? (2.Bc4#[B]/Qe5#/Qd6#/Rd6#) 1...Bxd4[b] 2.Qd6# 1...Nf3/Re8 2.Bc4#[B]/Qd6#/Rd6# 1...Nf7 2.Bc4#[B]/Qh1#/Qg2# 1...Ne4/Bc5/Rd8 2.Bc4#[B]/Qe5# 1...Ne6 2.Qe5# 1...g3 2.Bc4#[B] 1...Rc8 2.Qe5#/Qd6#/Rd6# but 1...gxf6! 1.Qh1+?? 1...Ne4 2.dxe4#/Qxe4# but 1...Nf3! 1.Qg2+?? 1...Ne4 2.dxe4#/Qxe4# but 1...Nf3! 1.Kc1! (2.Qa2#) 1...bxc6[a] 2.Bc4#[B] 1...Bxd4[b] 2.c4#[A] 1...Qxc6 2.Qe5# 1...Qxd4 2.Qd6#" keywords: - Dombrovskis --- authors: - Вукчевић, Милан Радоје source: Rochade date: 1982 distinction: 2nd Prize algebraic: white: [Ka2, Qd5, Rf1, Re7, Bd7, Bc5, Se4, Sc7, Pf3] black: [Kf4, Rf8, Ra4, Bg8, Bg7, Pg3, Pa3] stipulation: "#2" solution: | "1...Rxe4[a] 2.Rxe4#[B]/fxe4#[C] 1...Rc4 2.Qd2#[A]/Qg5# 1...Rf7/Bh7 2.Ne6#/Qd2#[A]/Qg5# 1...Be6 2.Nxe6# 1...Bxd5+ 2.Nxd5# 1.Re6? (2.Qg5#) 1...Rxe4[a] 2.Rxe4#[B] 1...Rf5[b] 2.Qd2#[A] 1...Bh6[c]/Be5[d] 2.Qe5#[D] 1...Bxe6 2.Nxe6# but 1...Bf6! 1.Rf7+?? 1...Bf6 2.Qd6#[E]/Qf5#[F]/Qg5#/Ne6# 1...Rxf7 2.Qg5#/Ne6# but 1...Bxf7! 1.Nf6?? (2.Nh5#/Be3#/Bd6#) 1...Re4[a] 2.Rxe4#[B]/Nh5#/fxe4#[C] 1...Rxf6/Bxf6 2.Be3# 1...Ra6 2.Re4#[B]/Be3#/Nh5# 1...Rd4/g2 2.Nh5#/Bd6# 1...Bf7 2.Be3#/Bd6# 1...Be6 2.Nxe6#/Nh5# but 1...Bxd5+! 1.Qf7+?? 1...Rxf7/Bf6 2.Nd5# but 1...Bxf7+! 1.Be6! (2.Qg5#) 1...Rxe4[a] 2.fxe4#[C] 1...Rf5[b]/Bf6 2.Qxf5#[F] 1...Bh6[c] 2.Qd6#[E] 1...Be5[d] 2.Qd2#[A] 1...Bxe6 2.Nxe6#" keywords: - Active sacrifice - Changed mates --- authors: - Вукчевић, Милан Радоје source: Tunsgram Cup date: 1980 distinction: 3rd Prize algebraic: white: [Kh3, Qh7, Rf6, Rd5, Bc5, Bb5, Sg6, Se5, Pg2, Pb4] black: [Ke4, Rf2, Ra7, Se3, Sc2, Ph6, Pg3, Pe6] stipulation: "#2" solution: | "1...Kxd5[a] 2.Bc6#[A] 1...Nxd5[b]/exd5[c] 2.Bd3#[B] 1...Nd4/Ne1/Nxb4/Na1/Na3 2.Rxd4# 1.Nd7? (2.Re5#) 1...Kxd5[a] 2.Ne7#[E] 1...Ng4[d]/Nxd5[b]/Nc4[e] 2.Nf4#[D] 1...exd5[c] 2.Qe7#[F] but 1...Rf5! 1.Rf4+[C]?? 1...Kxd5[a] 2.Bc6#[A] but 1...Rxf4! 1.Nf4+[D]?? 1...Rxh7 2.Bd3#[B] but 1...Nf5! 1.Rd6?? (2.Bd3#[B]) 1...Nc4[e] 2.Bc6#[A] 1...Ne1/Nxb4 2.Rd4# 1...Rd2 2.Rf4#[C] but 1...Ra3! 1.Nf3! (2.Re5#) 1...Kxd5[a] 2.Nf4#[D] 1...Ng4[d]/Nxd5[b]/Nc4[e] 2.Ne7#[E] 1...exd5[c] 2.Rf4#[C]" keywords: - Defences on same square - Reciprocal - Zagoruiko --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1981 distinction: 1st Prize algebraic: white: [Ke6, Qe3, Rd6, Rb2, Bf1, Bc5, Sf5, Sa4] black: [Kc4, Qe2, Rh3, Rc6, Ba7, Sg3, Sb8, Pg6, Pg4, Pf2, Pa5] stipulation: "#2" solution: | "1...Rxc5/Rc7/Rc8 2.Rd4# 1...Rxd6+ 2.Nxd6# 1...Nh1/Nh5 2.Qe4#/Bxe2# 1...Nxf5 2.Bxe2# 1...Ne4 2.Bxe2#/Qxe4#/Qd4# 1...Qxf1 2.Qc3#/Qb3#/Qd4# 1...Qd3 2.Qxd3#/Qc1#/Qd4#/Bxd3# 1.Rb3?? (2.Nb2#) 1...Rxd6+ 2.Nxd6# 1...Qd3 2.Qxd3# but 1...Nxf1! 1.Rxc6?? (2.Nd6#) 1...Nxf5 2.Bxe2# 1...Ne4 2.Bxe2#/Qxe4#/Qd4# but 1...gxf5! 1.Nxg3?? (2.Qxe2#/Qe4#/Bxe2#) 1...Rxg3 2.Qe4#/Bxe2# 1...Qxf1 2.Qe4#/Qc3#/Qb3#/Qf4#/Qd4# 1...Qd3 2.Qe4#/Qxd3#/Qf4#/Qc1#/Qd4#/Bxd3# 1...Bxc5 2.Qxe2#/Bxe2# but 1...Rxd6+! 1.Bg2! (2.Bd5#) 1...Ne4/Qf3 2.Qd4# 1...Rxc5 2.Rd4# 1...Rxd6+ 2.Nxd6# 1...Qxe3+ 2.Nxe3# 1...Qd2 2.Qb3# 1...Qxb2/Qd3 2.Qd3# 1...Qd1 2.Qc3#" --- authors: - Вукчевић, Милан Радоје source: Schweizerische Schachzeitung date: 1981 distinction: 1st HM algebraic: white: [Kh1, Qd6, Rd1, Rc4, Bg1, Bf3, Sg3, Sa3, Pd2] black: [Kd3, Qc8, Re8, Rd8, Bh8, Ba8, Sd5, Sb4, Pf5, Pf4, Pb6] stipulation: "#2" solution: | "1...Re5/Bd4 2.Rd4# 1...Re3 2.dxe3#[A] 1...Re2/Rf8/Rg8/Be5 2.Bxe2# 1...Bc3 2.dxc3#[B] 1.Qe5! (2.Be2#/Rd4#) 1...Rxe5 2.Rd4# 1...Ne3 2.dxe3#[A] 1...Ne7 2.Qe2# 1...Nf6 2.Qc3# 1...Nc3 2.dxc3#[B] 1...Nc7 2.Rc3# 1...Bxe5/Qc5/Qxc4/Nc2/Nc6 2.Be2#" keywords: - Grimshaw - Novotny - Transferred mates - Mates on same square --- authors: - Вукчевић, Милан Радоје source: Mat (Beograd) date: 1981 algebraic: white: [Kd1, Qg1, Re8, Rc4, Be2, Bc1, Sd4, Sd2, Pf2, Pe5] black: [Kf4, Rh3, Ra5, Bh8, Bh1, Sg7, Sb3, Ph6, Ph5, Pc6] stipulation: "#2" solution: | "1...Rh2/Rh4/Rg3 2.Qg3# 1...Re3 2.fxe3# 1...h4 2.Qg4# 1.Rf8+?? 1...Nf5 2.Rxf5# but 1...Kxe5! 1.N4f3+?? 1...Kf5 2.Bd3# but 1...Nd4! 1.Qg6! (2.Qxh6#) 1...Rxe5 2.Ne6# 1...Nf5/Ne6/Nxe8 2.Qxf5# 1...Bf3 2.N2xb3# 1...Rg3 2.Qxg3# 1...Rf3 2.N4xb3# 1...Nxd2 2.Nf3# 1...Nxd4 2.Nf3#" keywords: - Grimshaw --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1982 distinction: 1st Prize algebraic: white: [Kc1, Qg1, Rg4, Rb2, Bd7, Ba1, Sg6, Sc2, Ph3, Pe2, Pd3, Pd2] black: [Kf5, Qh1, Re8, Ra4, Bd1, Ba7, Sd5, Pf6, Pf2, Pe6, Pa2] stipulation: "#2" solution: | "1...Nb4 2.Rf4#[A] 1...Nb6 2.Ne3#[B] 1...Rxg4 2.Qxg4# 1.Rbb4? (2.Nh4#) 1...Bd4[b] 2.Nxd4#[C] 1...Qxh3[c] 2.e4#[D] 1...Nc3 2.Rgf4# but 1...Rh8[a]! 1.Rb6? (2.Nh4#) 1...Rh8[a] 2.Bxe6#[E] 1...Rd4[d] 2.Nxd4#[C] 1...Nc3 2.Ne3#[B] 1...Rxg4 2.Qxg4# but 1...Qxh3[c]! 1.Rf4+[A]?? 1...Nxf4 2.Qg4# but 1...Rxf4! 1.Rb5! (2.Nh4#) 1...Rh8[a] 2.Ne7#[F] 1...Bd4[b] 2.Rf4#[A] 1...Qxh3[c] 2.Rxd5#[G] 1...Rd4[d] 2.Ne3#[B] 1...Rxg4 2.Qxg4#" keywords: - Grimshaw - Changed mates - Transferred mates --- authors: - Вукчевић, Милан Радоје source: Schakend Nederland date: 1982 distinction: 2nd Prize algebraic: white: [Kh3, Qa4, Rg6, Rc2, Bg4, Bf6, Sd3, Sc6, Pe6, Pd7, Pc5, Pb2] black: [Kd5, Rf8, Bg5, Ba2, Sh7, Sg8, Pg7, Pf4, Pf3, Pb7, Pa5] stipulation: "#2" solution: | "1...bxc6 2.Qd4#[A] 1...Rxf6 2.d8Q#/d8R# 1...Nh6/Ngxf6/Ne7 2.Ne7# 1...Nhxf6 2.Rxg5# 1...Bh4/Bxf6 2.Nxf4# 1.d8N? (2.Bxf3#[B]/Qd4#[A]) 1...Nhxf6 2.Rxg5#/Qd4#[A] 1...Ngxf6 2.Ne7#/Qd4#[A] 1...Bc4 2.Bxf3#[B]/Qxc4# 1...Bxf6 2.Bxf3#[B]/Nxf4# but 1...Rxd8! 1.Bxg5? (2.Bxf3#[B]) 1...Nhf6 2.Nxf4# 1...Rf6 2.d8Q#/d8R# 1...Ngf6 2.Nxf4#/Ne7# but 1...Nxg5+! 1.Be5? (2.Bxf3#[B]) 1...Ngf6 2.Ne7# 1...Rf6 2.d8Q#/d8R# 1...Bf6 2.Nxf4# but 1...Nhf6! 1.Bc3? (2.Bxf3#[B]) 1...Ngf6 2.Ne7# 1...Rf6 2.d8Q#/d8R# 1...Nhf6 2.Rxg5# but 1...Bf6! 1.Be7? (2.Bxf3#[B]) 1...Rf6 2.d8Q#/d8R# 1...Bf6 2.Nxf4# 1...Nhf6 2.Rxg5# but 1...Ngf6! 1.Nde5? (2.Qd4#[A]) 1...Bc4 2.Qxc4# but 1...bxc6! 1.Re2?? (2.Bxf3#[B]/Qe4#/Re5#) 1...Nhxf6 2.Re5#/Rxg5# 1...Ngxf6 2.Ne7#/Re5# 1...Bc4 2.Bxf3#[B]/Re5# 1...Bxf6/gxf6/b5 2.Bxf3#[B]/Qe4# but 1...fxe2! 1.Bd8?? (2.Bxf3#[B]) 1...Ngf6 2.Ne7# 1...Nhf6 2.Rxg5# 1...Bf6 2.Nxf4# but 1...Rf6! 1.Bxg7! (2.Bxf3#[B]) 1...Nhf6 2.Rxg5# 1...Rf6 2.d8Q#/d8R# 1...Ngf6 2.Ne7# 1...Bf6 2.Nxf4#" keywords: - Defences on same square - Barnes --- authors: - Вукчевић, Милан Радоје source: Hassberg MT date: 1987 distinction: 1st HM algebraic: white: [Kb5, Qf3, Rg4, Rd8, Ba1, Sd4, Sb8, Pe6, Pe2, Pd6, Pd3, Pc2, Pb3] black: [Ke5, Rh7, Sh5, Sf2, Pf7, Pf5, Pf4] stipulation: "#2" solution: | "1...Nf6[a]/f6[c] 2.Nbc6#[A] 1...fxe6[b] 2.Ndc6#[B] 1...Kf6 2.Nd7# 1.Qc6? (2.Nd7#) 1...fxe6[b] 2.Nf3#[E] 1...f6[c] 2.Qc5#[F] but 1...Nf6[a]! 1.Kc6! (2.Nd7#) 1...Nf6[a] 2.Qxf4#[C] 1...fxe6[b] 2.Nb5#[G] 1...f6[c] 2.Qd5#[D]" keywords: - Zagoruiko - Mates on same square - Play on same square comments: - Album FIDE 1986-1988, A161 --- authors: - Вукчевић, Милан Радоје source: Meredith Tourney, Politika date: 1998 algebraic: white: [Kb7, Qa8, Rb4, Bc4, Sh4, Sf7, Pf2] black: [Kf4, Be7, Sf8] stipulation: "#2" solution: | "1...Bg5/Bd8 2.Bd3#/Be2#[A]/Bf1#/Bd5#/Be6#[B]/Bb3#/Ba2#/Bb5#/Ba6# 1.Qa5? (2.Qf5#) 1...Ke4[a] 2.Qe5#[C] 1...Kg4[b] 2.Be6#[B] 1...Bxh4[c] 2.Be2#[A] but 1...Bc5! 1.Qb8+?? 1...Ke4[a] 2.Qe5#[C] 1...Bd6 2.Bd3#/Be2#[A]/Bf1#/Bd5#/Be6#[B]/Bb3#/Ba2#/Bb5#/Ba6# but 1...Kg4[b]! 1.Kc8?? (2.Qf3#) 1...Bxh4[c] 2.Bd3#/Be6#[B] but 1...Kg4[b]! 1.Ka6?? (2.Qf3#) 1...Bxh4[c] 2.Bd3#/Be6#[B] but 1...Kg4[b]! 1.Qa3! (2.Qf3#) 1...Ke4[a] 2.Qe3#[D] 1...Kg4[b] 2.Be2#[A] 1...Bxh4[c] 2.Be6#[B]" keywords: - Reciprocal --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1971 distinction: 4th Prize algebraic: white: [Kh4, Qd6, Rb7, Be5, Ba8, Pg5, Pf5, Pe3, Pc4, Pc2] black: [Ke4, Qh7, Rb1, Bf1, Bc1, Ph5, Pf2, Pe2] stipulation: "#2" solution: | "1...Kxe3[a] 2.Qd3#[A] 1...Qxf5[b] 2.Rb3#[B] 1.Bb2? (2.Qf4#) 1...Kxe3[a] 2.Rb3#[B] 1...Kf3[d]/Qxf5[b] 2.Re7#[D] 1...Kxf5[c] 2.Rb5#[C] 1...Bxe3[e] 2.Rf7#[E] but 1...Qc7! 1.Rb6+?? 1...Kxe3[a] 2.Qd4#/Qd3#[A]/Bf4# 1...Kxf5[c] 2.Qe6#/Qf6#/e4# but 1...Qb7! 1.Rb5+[C]?? 1...Kxe3[a] 2.Qd4#/Qd3#[A]/Bf4# 1...Kxf5[c] 2.Qf6#/e4#/Bb2# but 1...Qb7! 1.Rb4+?? 1...Kxe3[a] 2.Qd4#/Qd3#[A]/Bf4# 1...Kxf5[c] 2.Qf6#/e4# but 1...Qb7! 1.Rb3+[B]?? 1...Kxf5[c] 2.Qf6#/e4# but 1...Qb7! 1.Rb2+?? 1...Kxe3[a] 2.Qd4#/Qd3#[A]/Bf4# 1...Kxf5[c] 2.Qf6#/e4# but 1...Qb7! 1.Rxb1+?? 1...Kxe3[a] 2.Rb3#[B]/Qd4#/Qd3#[A]/Bf4# 1...Kxf5[c] 2.Qf6#/e4# but 1...Qb7! 1.Rc7+?? 1...Kxe3[a] 2.Qd4#/Qd3#[A]/Bf4# 1...Kxf5[c] 2.Qf6#/e4# but 1...Rb7! 1.Rd7+?? 1...Kxe3[a] 2.Qd4#/Qd3#[A]/Qc5#/Bf4# 1...Kxf5[c] 2.Qf6#/e4# but 1...Rb7! 1.Re7+[D]?? 1...Kxe3[a] 2.Qd4#/Qd3#[A]/Bf4#/Bg7# 1...Kxf5[c] 2.Qd3#[A]/Qe6#/Qf6#/e4# but 1...Rb7! 1.Rf7+[E]?? 1...Kxe3[a] 2.Qd4#/Qd3#[A]/Bf4# but 1...Rb7! 1.Rg7+?? 1...Kxe3[a] 2.Qd4#/Qd3#[A]/Bf4# 1...Kxf5[c] 2.Qf6#/e4# but 1...Rb7! 1.Rxh7+?? 1...Kxe3[a] 2.Qd4#/Qd3#[A]/Bf4# 1...Kxf5[c] 2.Rf7#[E]/Qf6#/e4# but 1...Rb7! 1.Qd5+?? 1...Kxe3[a] 2.Qd3#[A] but 1...Kxf5[c]! 1.Qd3+[A]?? 1...Kxe5 2.Qd5# but 1...Kf3[d]! 1.Bg7! (2.Qf4#) 1...Kxe3[a]/Qxf5[b] 2.Re7#[D] 1...Kxf5[c] 2.Rf7#[E] 1...Kf3[d] 2.Rb3#[B] 1...Bxe3[e] 2.Rb5#[C]" keywords: - Reciprocal - Ideal Rukhlis --- authors: - Вукчевић, Милан Радоје source: "Magyar Sakkszövetseg \"Benedek-60\"" date: 1982 distinction: 1st Prize algebraic: white: [Kg8, Re4, Be6, Sf5, Sf4, Pg7, Pf7, Pe5, Pe2, Pd3, Pc4] black: [Kg4, Qa8, Rb6, Bb7, Sc8, Ph4, Ph3, Pg5, Pb5, Pa4] stipulation: "h#2" intended-solutions: 4 solution: | "1.Rb6*e6 Sf5-g3 2.Re6-c6 Sf4-h5 # 1.Rb6-c6 Re4-e3 2.Kg4*f4 Re3-e4 # 1.Bb7*e4 Sf4-h5 2.Be4-c6 Sf5-g3 # 1.Bb7-c6 Be6-d5 2.Kg4*f5 Bd5-e6 #" --- authors: - Вукчевић, Милан Радоје source: Sakkélet, Toma Garai-60 J.T. date: 1996 distinction: Special Prize, 1996-1999 algebraic: white: [Kc2, Rc1, Bc3, Ba4, Pe3] black: [Kd5, Rd8, Rc8, Bg8, Pb6] stipulation: "h#2" intended-solutions: 2 solution: | "1.Kd5-c5 Bc3-e5 2.Rd8-d5 Kc2-b3 # 1.Kd5-c4 Bc3-a5 2.Bg8-d5 Kc2-d2 #" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1976 distinction: 3rd Prize algebraic: white: [Kd4, Qc3, Rh2, Bh5, Bh4, Sd1, Sc4, Pg3, Pd6, Pc5, Pc2, Pb5] black: [Kf3, Qa4, Rd2, Rb3, Ba2, Sg4, Sd3, Pe2, Pd7, Pb4, Pa7] stipulation: "s#2" solution: | "1...Rxc3 (a) 2.Se5+ (A) S:e5# 1...bxc3 (b) 2.Rf2+ (B) S:f2# 1.Kd5! threat: 2.Qf6+ Sf4# 1...Rxc3 (a) 2.Rf2+ (B) Sxf2# 1...bxc3 (b) 2.Se5+ (A) Sxe5# 1...Rxc2 2.Qxd3+ Rxd3#" --- authors: - Вукчевић, Милан Радоје source: "Magyar Sakkszövetseg \"Kardos-60\"" date: 1981 distinction: 1st Prize algebraic: white: [Ke3, Qd6, Rc8, Bb7, Se4, Pg3, Pf4, Pf2] black: [Kc4, Qb4, Re7, Ra3, Bh8, Bf3, Sc5, Pg4, Pg2, Pf7, Pe2, Pd5, Pc3, Pb5, Pb3] stipulation: "s#2" solution: | "1.Qd6-e5 ! threat: 2.Qe5-d4 + 2...Bh8*d4 # 1...b3-b2 2.Se4-d2 + 2...c3*d2 # 1...Bf3*e4 2.Qe5*d5 + 2...Be4*d5 # 1...Re7*e5 2.Rc8*c5 + 2...Qb4*c5 # 1...f7-f6 2.Qe5*c3 + 2...Qb4*c3 # 1...Bh8*e5 2.Se4-d6 + 2...Be5*d6 #" --- authors: - Вукчевић, Милан Радоје source: "Magyar Sakkszövetseg \"Kardos-60\"" date: 1981 distinction: 2nd Prize algebraic: white: [Kd6, Qe5, Rg4, Rc7, Bd2, Ba4] black: [Kc4, Qh5, Rd8, Bh2, Be8, Sd4, Sc6, Ph3, Pf3, Pe6, Pd7, Pd3, Pb3] stipulation: "s#2" solution: | "1.Rg4-f4 ! threat: 2.Qe5-c5 + 2...Qh5*c5 # 1...Bh2*f4 2.Ba4-b5 + 2...Sd4*b5 # 1...Qh5-g4 2.Rf4*d4 + 2...Qg4*d4 # 1...Qh5-f7 2.Rc7*c6 + 2...d7*c6 # 1...Qh5-g6 2.Qe5-d5 + 2...e6*d5 # 1...Qh5-h4 2.Rf4*d4 + 2...Qh4*d4 # 1...Qh5-h8 2.Qe5*d4 + 2...Qh8*d4 # 1...Qh5-h7 2.Rc7*c6 + 2...d7*c6 # 1...Qh5-h6 2.Qe5-d5 + 2...e6*d5 #" --- authors: - Вукчевић, Милан Радоје source: 1st WCCT date: 1972 distinction: 18th Place, 1972-1975 algebraic: white: [Kh3, Qd7, Bh5, Bf6, Sg5, Sg1, Pd2] black: [Kf4, Re4, Bc4, Bb8, Sg2, Ph7, Pg3, Pf5, Pa7] stipulation: "#3" solution: | "1.Qd7-a4 ! threat: 2.Qa4*c4 threat: 3.Sg5-e6 # 3.Qc4-f1 # 3.Sg1-e2 # 2...Sg2-e1 3.Sg5-e6 # 3.Sg1-e2 # 2...Sg2-h4 3.Sg5-e6 # 3.Sg1-e2 # 2...Sg2-e3 3.Sg5-e6 # 3.Sg1-e2 # 2...Re4*c4 3.Sg1-e2 # 2...Re4-d4 3.Qc4-f1 # 3.Qc4*d4 # 3.Sg1-e2 # 1...Sg2-e3 2.Sg1-e2 + 2...Bc4*e2 3.Sg5-e6 # 1...Bb8-e5 2.Sg5-e6 + 2...Bc4*e6 3.Sg1-e2 #" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo source-id: 8850 date: 1976 distinction: 1st Prize algebraic: white: [Kf1, Qe2, Rg5, Rb6, Bb8, Sg3, Sa2, Pf4, Pd5, Pc5, Pc4, Pb7] black: [Kd4, Qh7, Rf7, Bd7, Se8, Ph3, Pf2, Pe4, Pe3, Pb5] stipulation: "#3" solution: | "1.Bb8-a7 ! threat: 2.Qe2-b2 + 2...Kd4*c4 3.Qb2-c3 # 2...Kd4-d3 3.Qb2-c3 # 2...Kd4*c5 3.Rb6-c6 # 1...b5-b4 2.Rb6*b4 threat: 3.c5-c6 # 3.Qe2-d1 # 2...Bd7-a4 3.c5-c6 # 2...Bd7-c6 3.Qe2-d1 # 2...Bd7-g4 3.c5-c6 # 2...Qh7-h5 3.c5-c6 # 2.Qe2-d1 + 2...Kd4*c4 3.Rb6*b4 # 2...Kd4*c5 3.Rb6-c6 # 1...Bd7-f5 2.Rb6-g6 threat: 3.c5-c6 # 2...b5*c4 3.Qe2-d1 # 2...Rf7*b7 3.Sg3*f5 # 1...Rf7-f5 2.Rb6-e6 threat: 3.Re6*e4 # 3.c5-c6 # 2...b5*c4 3.Qe2-d1 # 2...Rf5*f4 3.c5-c6 # 2...Rf5*d5 3.Rg5*d5 # 2...Rf5-e5 3.c5-c6 # 2...Rf5-f8 3.c5-c6 # 2...Rf5-f7 3.c5-c6 # 2...Rf5-f6 3.c5-c6 # 2...Rf5*g5 3.c5-c6 # 2...Bd7-c6 3.Re6*e4 # 2...Bd7*e6 3.c5-c6 # 2...Qh7-e7 3.Sg3*f5 # 2...Se8-d6 3.c5-c6 # 3.c5*d6 # 2...Se8-f6 3.c5-c6 # 1...Qh7-f5 2.Rb6-f6 threat: 3.c5-c6 # 2...b5*c4 3.Qe2-d1 # 2...Qf5*d5 3.Rg5*d5 # 2...Bd7-c6 3.Sg3*f5 # 1...Qh7-g7 2.Rb6-e6 threat: 3.Re6*e4 # 3.c5-c6 # 2...Bd7-c6 3.Re6*e4 # 2...Bd7*e6 3.c5-c6 # 2...Rf7*f4 3.c5-c6 # 2...Rf7-e7 3.c5-c6 # 3.Sg3-f5 # 2...Qg7-e5 3.c5-c6 # 2...Qg7-f8 3.Re6*e4 # 2...Qg7-g6 3.c5-c6 # 2...Qg7-h7 3.c5-c6 # 2...Se8-d6 3.c5-c6 # 3.c5*d6 # 2...Se8-f6 3.c5-c6 # 3.Sg3-f5 # 1...Qh7-h8 2.Rb6-e6 threat: 3.Re6*e4 # 3.c5-c6 # 2...Bd7-c6 3.Re6*e4 # 2...Bd7*e6 3.c5-c6 # 2...Rf7*f4 3.c5-c6 # 2...Rf7-e7 3.c5-c6 # 3.Sg3-f5 # 2...Se8-d6 3.c5-c6 # 3.c5*d6 # 2...Se8-f6 3.c5-c6 # 3.Sg3-f5 # 2...Qh8-e5 3.c5-c6 # 2...Qh8-h7 3.c5-c6 # 2...Qh8-f8 3.Re6*e4 #" --- authors: - Вукчевић, Милан Радоје source: Meredith Tourney, Politika date: 1998 algebraic: white: [Kd8, Qd3, Rh6, Bf8, Pe7, Pd7, Pa3] black: [Kc5, Qh4, Rf5, Pf7, Pc7] stipulation: "#3" solution: | "1.Rh6-a6 ! threat: 2.Ra6-a5 + 2...Kc5-c6 3.Qd3-a6 # 2...Kc5-b6 3.Qd3-a6 # 1...Qh4-e1 2.e7-e8=Q + 2...Qe1-e7 + 3.Bf8*e7 # 3.Qe8*e7 # 2.e7-e8=S + 2...Qe1-e7 + 3.Bf8*e7 # 2.e7-e8=R + 2...Qe1-e7 + 3.Bf8*e7 # 2.e7-e8=B + 2...Qe1-e7 + 3.Bf8*e7 # 1...Qh4-c4 2.e7-e8=S + 2...Kc5-b5 3.Se8*c7 # 1...Qh4-d4 2.e7-e8=Q + 2...Qd4-d6 3.Qe8-e3 # 2...Kc5-d5 3.Qe8-e4 #" --- authors: - Вукчевић, Милан Радоје source: Chess Life date: 1985 distinction: 3rd Prize algebraic: white: [Ka4, Qg4, Rh5, Rb4, Bc7, Bb5, Sg5, Sd5, Pf3, Pd2, Pc4] black: [Kc5, Qe2, Re8, Rd8, Bb7, Pg6, Pg2, Pd3, Pc2, Pb6, Pa7] stipulation: "#3" solution: | "1.Qg4-e6 ! threat: 2.Bc7*b6 + 2...a7*b6 3.Qe6*b6 # 1...Qe2*e6 2.Sd5-e7 threat: 3.Sg5*e6 # 1...Kc5-d4 2.c4-c5 + 2...Kd4*c5 3.Rb4-c4 # 1...Bb7*d5 2.Qe6-c6 + 2...Kc5-d4 3.c4*d5 # 2...Bd5*c6 3.Sg5-e6 # 1...Bb7-c6 2.Qe6*c6 + 2...Kc5-d4 3.c4-c5 # 1...Rd8*d5 2.Qe6-d6 + 2...Kc5-d4 3.c4-c5 # 3.c4*d5 # 2...Rd5*d6 3.Sg5-e6 # 1...Rd8-d6 2.Bc7*d6 + 2...Kc5-d4 3.c4-c5 # 2.Qe6*d6 + 2...Kc5-d4 3.c4-c5 # 1...Rd8-a8 2.Bc7-d6 + 2...Kc5-d4 3.c4-c5 # 2.Qe6-d6 + 2...Kc5-d4 3.c4-c5 # 1...Re8*e6 2.Sd5-e3 threat: 3.Sg5*e6 #" --- authors: - Вукчевић, Милан Радоје source: Chess Life date: 1985 distinction: 2nd Prize algebraic: white: [Ka8, Qb8, Rg6, Bh5, Bf4, Sc8, Sc3, Pg3, Pf3, Pe6, Pe5, Pc6] black: [Kf5, Rd8, Be8, Bb4, Sg2, Pg7, Pc4, Pb7] stipulation: "#3" solution: | "1.Sc3-b5 ! threat: 2.Rg6-g5 + 2...Kf5*e6 3.Sb5-c7 # 1...b7*c6 2.Sb5-d6 + 2...Bb4*d6 3.Qb8-b1 # 2...Rd8*d6 3.Sc8-e7 # 1...Rd8-d7 2.Qb8-d6 threat: 3.Rg6-g5 # 3.Sb5-d4 # 2...Sg2*f4 3.Sb5-d4 # 3.g3-g4 # 2...Bb4-c3 3.Rg6-g5 # 2...Bb4*d6 3.Sb5-d4 # 2...Bb4-c5 3.Rg6-g5 # 2...Rd7*d6 3.Sc8-e7 # 2...Be8*g6 3.Bh5-g4 # 3.Sb5-d4 # 1...Be8*c6 2.Sc8-d6 + 2...Bb4*d6 3.Sb5-d4 # 2...Rd8*d6 3.Qb8-f8 #" --- authors: - Вукчевић, Милан Радоје source: Troll date: 2000 algebraic: white: [Kg3, Qb3, Rg4, Bh6, Bf3, Se4, Sc5, Pf6, Pf5, Pc6, Pa2] black: [Kd4, Re8, Rd2, Bf1, Bb8, Sg2, Sd8, Pf2, Pe5, Pe2, Pb7, Pa7, Pa5] stipulation: "#3" solution: | "1.Sc5-a4 ! threat: 2.Qb3-c3 + 2...Kd4-d5 3.Qc3-c5 # 1...Rd2-c2 2.Qb3-d3 + 2...Kd4*d3 3.Se4*f2 # 1...Rd2-d3 2.Qb3-c4 + 2...Kd4*c4 3.Se4-d6 # 1...b7-b6 2.Sa4-c3 threat: 3.Sc3-b5 # 3.Qb3-d5 # 2...e2-e1=Q 3.Qb3-d5 # 2...e2-e1=S 3.Qb3-d5 # 2...e2-e1=R 3.Qb3-d5 # 2...e2-e1=B 3.Qb3-d5 # 2...Sg2-f4 3.Sc3-b5 # 2...Sg2-e3 3.Sc3-b5 # 2...Kd4-d3 3.Se4*f2 # 3.Sc3*e2 # 3.Sc3-b5 # 2...a7-a6 3.Qb3-d5 # 1...Bb8-d6 2.Qb3-d5 + 2...Kd4*d5 3.Se4-c3 # 1...Sd8-e6 2.Se4-d6 + 2...e5-e4 3.Rg4*e4 # 2...Sg2-f4 3.Sd6-b5 # 3.Qb3-c3 # 2...Se6-f4 3.Qb3-c3 # 3.Sd6-b5 #" --- authors: - Вукчевић, Милан Радоје source: 1st WCCT date: 1972 distinction: 5th Place, 1972-1975 algebraic: white: [Kf8, Bh1, Se7, Pf4, Pb2] black: [Kd4, Rh5, Rd3, Ba3, Sh8, Pg6, Pc6] stipulation: "h#3" intended-solutions: 2.1.1... solution: | "1.Rh5-c5 Se7*g6 2.Rc5-c4 + Sg6-e7 3.c6-c5 Se7-f5 # 1.c6-c5 Se7-d5 2.c5-c4 + Sd5-b4 3.Rh5-c5 Sb4-c2 #" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1976 distinction: 4th Prize algebraic: white: [Kf5, Qb3, Rh8, Rh7, Bh2, Bg4, Sh5, Sc8, Pf2, Pe4, Pd5] black: [Kd7, Qa1, Rb1, Ra3, Bf1, Bb2, Pg7, Pb7, Pb6, Pa2] stipulation: "s#3" solution: | "1.Qb3-c3 ! threat: 2.Qc3*g7 + 2...Bb2*g7 3.Sh5-f6 + 3...Qa1*f6 # 1...Bb2-c1 2.Qc3-c6 + 2...b7*c6 3.Sh5-f6 + 3...Qa1*f6 # 1...Bb2*c3 2.Kf5-f4 + 2...Kd7-c7 3.Kf4-f3 + 3...Bc3-e5 # 1...Ra3*c3 2.Kf5-e5 + 2...Kd7-c7 3.Ke5-d4 + 3...Rc3-g3 #" --- authors: - Вукчевић, Милан Радоје source: Politika date: 2000 distinction: 1st Prize algebraic: white: [Kg8, Bh5, Be3, Sf4, Pf5, Pe4] black: [Kh6, Sh8, Sd8, Pf6, Pd3, Pd2] stipulation: "#4" solution: | "1.Bh5-f3? threat: 2.S~# 1...Sd8-f7 2.Sf4-g6+ Sf7-g5 3.Sg6*h8 d1=~ 4.Sh8-f7# 1...Sh8-f7 2.Sf4-e6+ Sf7-g5 3.Sg6*d8 d1=~ 4.Sd8-f7# 1.Bh5-d1 ! threat: 2.S~# 1...Sd8-f7 2.Sf4-e6 + 2...Sf7-g5 3.Se6-d8 zugzwang. 3...Sh8-f7 4.Sd8*f7 # 3...Sh8-g6 4.Sd8-f7 # 1...Sh8-f7 2.Sf4-g6 + 2...Sf7-g5 3.Sg6-h8 zugzwang. 3...Sd8-b7 4.Sh8-f7 # 3...Sd8-c6 4.Sh8-f7 # 3...Sd8-e6 4.Sh8-f7 # 3...Sd8-f7 4.Sh8*f7 #" keywords: - Reciprocal --- authors: - Вукчевић, Милан Радоје source: Šach source-id: 1928 date: 1950 algebraic: white: [Kh2, Qg1, Rg2, Rf1, Bh3, Bf2, Sd5, Pg6, Pf4, Pe2, Pc4, Pc3] black: [Ke4, Rh8, Ra5, Bb7, Ba7, Sf7, Ph6, Pf3, Pe7, Pe5, Pc5, Pa4] stipulation: "#4" solution: | "1.Rf1-a1 ! threat: 2.Qg1-b1 # 1...f3*e2 2.Qg1-b1 + 2...Ke4-f3 3.Bh3-g4 # 3.Qb1-d3 # 1...Ra5-b5 2.Qg1-c1 threat: 3.Qc1-e3 # 3.Qc1-c2 # 2...f3*e2 3.Qc1-e3 # 2...Rb5-b2 3.Qc1-e3 # 2...e5*f4 3.Qc1*f4 # 2...Bb7*d5 3.Qc1-e3 # 1...e5*f4 2.Qg1-b1 + 2...Ke4-e5 3.Qb1-f5 + 3...Ke5-d6 4.Qf5-e6 # 1...Bb7*d5 2.Qg1-b1 + 2...Ke4*f4 3.Rg2-g4 # 3.e2-e3 # 3.Qb1-f5 #" keywords: - Bristol --- authors: - Вукчевић, Милан Радоје source: Probleemblad date: 1972 distinction: 2nd Prize algebraic: white: [Kg8, Qh8, Rg5, Re6, Bd7, Pf4, Pe7] black: [Kh3, Qc4, Rd1, Bb4, Sb1, Ph5, Ph4, Ph2, Pb2] stipulation: "#4" solution: | "1.Qh8-c3 + ! 1...Sb1*c3 2.Kg8-g7 threat: 3.Re6-e3 # 2...h2-h1=Q 3.Re6-e3 + 3...Kh3-h2 4.Re3-h3 # 2...h2-h1=S 3.Re6-e3 + 3...Kh3-h2 4.Re3-h3 # 2...h2-h1=R 3.Re6-e3 + 3...Kh3-h2 4.Re3-h3 # 2...h2-h1=B 3.Re6-e3 + 3...Kh3-h2 4.Re3-h3 # 2...Sc3-e4 3.Re6*e4 + 3...Rd1*d7 4.Re4-e3 # 3...Qc4-e6 4.Re4-e3 # 4.Bd7*e6 # 3.Re6-d6 + 3...Qc4-e6 4.Bd7*e6 # 2...Qc4*e6 3.Bd7*e6 # 2...Qc4-e4 3.Re6*e4 + 3...Rd1*d7 4.Re4-e3 # 3.Re6-d6 + 3...Qe4-f5 4.Bd7*f5 # 3...Qe4-e6 4.Bd7*e6 # 2...Qc4-d4 + 3.Re6-e5 + 3...Qd4*d7 4.Re5-e3 # 1...Rd1-d3 2.Qc3*d3 + 2...Qc4*d3 3.Re6-e3 # 1...Bb4*c3 2.Kg8-h7 threat: 3.Re6-e3 # 2...h2-h1=Q 3.Re6-e3 + 3...Kh3-h2 4.Re3-h3 # 2...h2-h1=S 3.Re6-e3 + 3...Kh3-h2 4.Re3-h3 # 2...h2-h1=R 3.Re6-e3 + 3...Kh3-h2 4.Re3-h3 # 2...h2-h1=B 3.Re6-e3 + 3...Kh3-h2 4.Re3-h3 # 2...Bc3-e5 3.Re6*e5 + 3...Rd1*d7 4.Re5-e3 # 3...Qc4-e6 4.Re5-e3 # 4.Bd7*e6 # 3.Re6-d6 + 3...Qc4-e6 4.Bd7*e6 # 2...Qc4-d3 + 3.Re6-e4 + 3...Qd3*d7 4.Re4-e3 # 2...Qc4*e6 3.Bd7*e6 # 2...Qc4-e4 + 3.Re6*e4 + 3...Rd1*d7 4.Re4-e3 # 1...Qc4-d3 2.Re6-e1 # 2.Re6-e2 # 2.Re6-e3 # 2.Re6-e4 # 2.Re6-e5 # 2.Re6-a6 # 2.Re6-b6 # 2.Re6-c6 # 2.Re6-d6 # 2.Re6-h6 # 2.Re6-g6 # 2.Re6-f6 # 1...Qc4*c3 2.Re6-e3 # 2.Re6-d6 #" --- authors: - Вукчевић, Милан Радоје source: Magyar Sakkszövetség date: 1979 algebraic: white: [Kh1, Bf1, Sf3] black: [Kc4, Qa8, Rc1, Be3, Sg4, Sd3, Ph3, Ph2, Pg3, Pc3, Pc2] stipulation: "h#4" solution: "1.Qa8-e8 Sf3-g1 2.Qe8-e4 + Bf1-g2 3.Sd3-e1 Sg1-f3 4.Kc4-d3 Bg2-f1 #" --- authors: - Вукчевић, Милан Радоје source: Magyar Sakkszövetség date: 1979 distinction: Special Prize algebraic: white: [Kd8, Pa3] black: [Ka6, Qb1, Ra7, Bd7] stipulation: "h#4" twins: b: Move d7 d4 c: Move d7 d3 solution: | "a) 1.Ka6-a5 Kd8-e7 2.Bd7-a4 + Ke7-d6 3.Ra7-a6 + Kd6-c5 4.Qb1-b4 + a3*b4 # b) bBd7--d4 1.Bd4-e5 a3-a4 2.Be5-c7 + Kd8-d7 3.Bc7-a5 + Kd7-c6 4.Qb1-b5 + a4*b5 # c) bBd7--d3 1.Ra7-a8 + Kd8-c7 2.Ka6-a7 a3-a4 3.Bd3-a6 a4-a5 4.Qb1-b6 + a5*b6 #" --- authors: - Вукчевић, Милан Радоје source: 6th WCCT date: 1998-05-01 distinction: 2nd Place, 1996-2000 algebraic: white: [Kg1, Qd1, Rf7, Re7, Bf3, Bd2, Sd6] black: [Kg5, Qa5, Rc3, Rb4, Bh7, Ba7, Sd3, Ph6, Ph4, Pg6, Pe3, Pd5, Pd4, Pc7] stipulation: "#5" solution: | "1.Kg1-h2 ! threat: 2.Qd1-g1 # 1...Rc3-c1 2.Re7-e5 + 2...Sd3*e5 3.Sd6-e4 + 3...d5*e4 4.Bd2*e3 + 4...d4*e3 5.Qd1-d8 # 1...Sd3-e1 2.Re7-e5 # 1...Sd3-f2 2.Re7-e5 # 1...Sd3-f4 2.Re7-e5 # 1...Sd3-e5 2.Re7*e5 # 1...Rb4-b1 2.Bd2*e3 + 2...Sd3-f4 3.Re7-e5 # 3.Be3*f4 # 2...d4*e3 3.Re7-e5 + 3...Sd3*e5 4.Sd6-e4 + 4...d5*e4 5.Qd1-d8 # 1...h4-h3 2.Qd1-g1 + 2...Kg5-h4 3.Qg1-g4 # 3.Qg1-g3 # 1...Qa5-a1 2.Sd6-e4 + 2...d5*e4 3.Bd2*e3 + 3...Sd3-f4 4.Re7-e5 # 4.Be3*f4 # 3...d4*e3 4.Re7-e5 + 4...Sd3*e5 5.Qd1-d8 # 1...h6-h5 2.Qd1-g1 + 2...Kg5-h6 3.Rf7*h7 #" --- authors: - Вукчевић, Милан Радоје source: 6th WCCT date: 1998-05-01 distinction: 10th Place, 1996-2000 algebraic: white: [Ka2, Qf2, Re1, Bf1, Bc7, Sf3, Sd4, Pg4, Pd6] black: [Kd7, Qh3, Rh5, Rf8, Bh4, Bc8, Sg3, Sg1, Pg7, Pg6, Pg2, Pf7, Pc3, Pb7, Pa4] stipulation: "#5" solution: | "1.Sf3-g5 ! threat: 2.Bf1-b5 # 2.Re1-e7 # 1...Sg1-e2 2.Bf1*e2 threat: 3.Be2-b5 # 2...Sg3*e2 3.Qf2*e2 threat: 4.Qe2-b5 # 4.Qe2-e7 # 3...Qh3-d3 4.Qe2-e7 # 3...Qh3-e3 4.Qe2-b5 # 3...Qh3-f3 4.Qe2-e7 # 3...Bh4*g5 4.Qe2-b5 # 3...Rh5*g5 4.Qe2-e7 # 3...Rf8-e8 4.Qe2-b5 # 4.Qe2*e8 # 2...Rh5*g5 3.Qf2-f6 threat: 4.Qf6-e7 # 3...Sg3-f5 4.Be2-b5 # 3...Rg5*g4 4.Be2-b5 # 3...Rg5-a5 4.Be2-b5 + 4...Ra5*b5 5.Re1-e7 # 3...Rg5-b5 4.Be2*b5 # 3...Rg5-c5 4.Be2-b5 + 4...Rc5*b5 5.Re1-e7 # 4...Rc5-c6 5.Re1-e7 # 3...Rg5-d5 4.Be2-b5 + 4...Rd5*b5 5.Re1-e7 # 3...Rg5-e5 4.Qf6*e5 threat: 5.Qe5-b5 # 5.Be2-b5 # 4...Sg3*e2 5.Qe5-b5 # 4.Be2-b5 + 4...Re5*b5 5.Re1-e7 # 3...Rg5-f5 4.Qf6*f5 + 4...Sg3*f5 5.Be2-b5 # 4...g6*f5 5.Be2-b5 # 4...Kd7-e8 5.Be2-b5 # 4.Be2-b5 + 4...Rf5*b5 5.Re1-e7 # 3...Rg5-h5 4.Be2-b5 + 4...Rh5*b5 5.Re1-e7 # 3...g7*f6 4.Be2-b5 + 4...Rg5*b5 5.Re1-e7 # 3...Rf8-e8 4.Qf6*f7 + 4...Re8-e7 5.Qf7*e7 # 1...g2*f1=Q 2.Re1-e7 # 1...g2*f1=S 2.Re1-e7 # 1...g2*f1=R 2.Re1-e7 # 1...g2*f1=B 2.Re1-e7 # 1...Sg3-e2 2.Re1*e2 threat: 3.Re2-e7 # 2...Sg1*e2 3.Qf2*e2 threat: 4.Qe2-b5 # 4.Qe2-e7 # 3...g2*f1=Q 4.Qe2-e7 # 3...g2*f1=B 4.Qe2-e7 # 3...Qh3-d3 4.Qe2-e7 # 3...Qh3-e3 4.Qe2-b5 # 3...Qh3-f3 4.Qe2-e7 # 3...Bh4*g5 4.Qe2-b5 # 3...Rh5*g5 4.Qe2-e7 # 3...Rf8-e8 4.Qe2-b5 # 2...Qh3-e3 3.Re2*e3 threat: 4.Re3-e7 # 4.Bf1-b5 # 3...Sg1-e2 4.Re3-e7 # 3...g2*f1=Q 4.Re3-e7 # 3...g2*f1=S 4.Re3-e7 # 3...g2*f1=R 4.Re3-e7 # 3...g2*f1=B 4.Re3-e7 # 3...Bh4*g5 4.Bf1-b5 # 3...Rh5*g5 4.Re3-e7 # 3...Rf8-e8 4.Bf1-b5 # 2...Bh4*g5 3.Qf2-f5 + 3...g6*f5 4.Re2-e7 + 4...Bg5*e7 5.Bf1-b5 # 2...Rf8-e8 3.Re2-e7 + 3...Re8*e7 4.Bf1-b5 # 3.Qf2*f7 + 3...Re8-e7 4.Qf7*e7 # 4.Re2*e7 # 3.Re2*e8 threat: 4.Re8-e7 # 4.Re8-d8 # 4.Qf2*f7 # 4.Bf1-b5 # 3...Sg1-f3 4.Re8-e7 # 4.Re8-d8 # 4.Bf1-b5 # 3...Sg1-e2 4.Re8-e7 # 4.Re8-d8 # 4.Qf2*f7 # 3...g2*f1=Q 4.Re8-e7 # 4.Re8-d8 # 3...g2*f1=S 4.Re8-d8 # 4.Re8-e7 # 4.Qf2*f7 # 3...g2*f1=R 4.Re8-e7 # 4.Re8-d8 # 3...g2*f1=B 4.Re8-d8 # 4.Re8-e7 # 4.Qf2*f7 # 3...Qh3-d3 4.Qf2*f7 # 4.Re8-e7 # 4.Re8-d8 # 3...Qh3-e3 4.Re8-d8 # 4.Bf1-b5 # 3...Qh3-f3 4.Re8-e7 # 4.Re8-d8 # 3...Bh4*f2 4.Re8-d8 # 4.Re8-e7 # 4.Bf1-b5 # 3...Bh4*g5 4.Bf1-b5 # 3...Rh5*g5 4.Re8-e7 # 4.Re8-d8 # 4.Qf2*f7 # 3...Rh5-h8 4.Re8-e7 # 4.Qf2*f7 # 4.Bf1-b5 # 3...Kd7*e8 4.Qf2*f7 # 3...f7-f5 4.Re8-e7 # 4.Re8-d8 # 4.Bf1-b5 # 3...f7-f6 4.Bf1-b5 # 4.Re8-e7 # 4.Re8-d8 # 1...Sg3*f1 2.Re1-e7 # 1...Sg3-f5 2.Bf1-b5 # 1...Sg3-e4 2.Bf1-b5 # 1...Bh4*g5 2.Bf1-b5 # 1...Rh5*g5 2.Re1-e7 # 1...Rf8-e8 2.Bf1-b5 #" --- authors: - Вукчевић, Милан Радоје source: Trivanovic-Memorial distinction: 3rd Prize algebraic: white: [Ka8, Rh5, Rb1, Bh8, Bh7, Sc2, Pf2, Pb7, Pb6] black: [Ka5, Qg1, Rh3, Bh1, Se1, Sb8, Ph4, Pe7, Pd5, Pc4, Pc3, Pa6, Pa4] stipulation: "#6" solution: | "1.Sc2-a3 ! threat: 2.Sa3*c4 # 1...Qg1-f1 2.f2-f3 threat: 3.Bh8*c3 # 3.Rh5*d5 # 2...Se1-d3 3.Sa3*c4 # 2...Se1-c2 3.Rh5*d5 # 2...Qf1-d3 3.Rh5*d5 + 3...Qd3*d5 4.Bh8*c3 # 3.Bh8*c3 + 3...Qd3*c3 4.Rh5*d5 # 2...Qf1*f3 3.Sa3*c4 # 2...Qf1-f2 3.Bh8*c3 # 3.Sa3*c4 # 2...Qf1-g1 3.Bh8*c3 # 3.Sa3*c4 # 2...Bh1*f3 3.Bh8*c3 # 2...Rh3*f3 3.Rh5*d5 # 2...e7-e5 3.Bh8*e5 threat: 4.Be5*c3 # 3...Se1-d3 4.Sa3*c4 + 4...d5*c4 5.Be5*c3 # 3...Se1-c2 4.Be5*c3 + 4...Sc2-b4 5.Rb1*b4 threat: 6.Rh5*d5 # 6.Rb4-b1 # 6.Rb4-b2 # 6.Rb4-b3 # 6.Rb4-b5 # 5...Qf1-d3 6.Rb4-b5 # 5...Qf1-a1 6.Rh5*d5 # 6.Rb4-b2 # 6.Rb4-b5 # 6.Sa3*c4 # 5...Qf1-c1 6.Rh5*d5 # 6.Rb4-b5 # 6.Sa3*c4 # 5...Qf1-d1 6.Rb4-b1 # 6.Rb4-b2 # 6.Rb4-b3 # 6.Rb4-b5 # 6.Sa3*c4 # 5...Qf1-e1 6.Rh5*d5 # 6.Rb4-b5 # 6.Sa3*c4 # 5...Qf1*f3 6.Rb4-b5 # 6.Sa3*c4 # 5...Qf1-f2 6.Rb4-b1 # 6.Rb4-b2 # 6.Rb4-b3 # 6.Rb4-b5 # 6.Sa3*c4 # 5...Qf1-g1 6.Rb4-b1 # 6.Rb4-b2 # 6.Rb4-b3 # 6.Rb4-b5 # 6.Sa3*c4 # 5...Bh1*f3 6.Rb4-b1 # 6.Rb4-b2 # 6.Rb4-b3 # 6.Rb4-b5 # 5...Rh3*f3 6.Rh5*d5 # 6.Rb4-b5 # 5...Sb8-c6 6.Rh5*d5 # 6.Rb4-b5 # 5...Sb8-d7 6.Rb4-b1 # 6.Rb4-b2 # 6.Rb4-b3 # 6.Rb4-b5 # 3...Qf1-d3 4.Be5*c3 + 4...Qd3*c3 5.Rh5*d5 # 3...Qf1*f3 4.Sa3*c4 + 4...d5*c4 5.Be5*c3 # 3...Rh3*f3 4.Bh7-d3 threat: 5.Be5*c3 # 4...Se1*d3 5.Sa3*c4 + 5...d5*c4 6.Be5*c3 # 4...Se1-c2 5.Sa3*c4 + 5...d5*c4 6.Be5*c3 # 6.Be5-f4 # 4...Qf1*d3 5.Be5*c3 + 5...Qd3*c3 6.Rh5*d5 # 4...Rf3*d3 5.Sa3*c4 + 5...d5*c4 6.Be5*c3 # 4...d5-d4 5.Sa3*c4 # 5.Be5-f4 # 4...Sb8-c6 5.Sa3*c4 + 5...d5*c4 6.Be5*c3 # 3...d5-d4 4.Be5*d4 # 4.Be5-h2 # 4.Be5-g3 # 4.Be5-f4 # 4.Be5-h8 # 4.Be5-g7 # 4.Be5-f6 # 4.Be5*b8 # 4.Be5-c7 # 4.Be5-d6 # 3...Sb8-c6 4.Be5*c3 + 4...Sc6-b4 5.Rb1*b4 threat: 6.Rh5*d5 # 6.Rb4-b1 # 6.Rb4-b2 # 6.Rb4-b3 # 6.Rb4-b5 # 5...Se1-d3 6.Rb4-b5 # 6.Sa3*c4 # 5...Se1-c2 6.Rh5*d5 # 6.Rb4-b5 # 5...Qf1-d3 6.Rb4-b5 # 5...Qf1*f3 6.Rb4-b5 # 6.Sa3*c4 # 5...Qf1-f2 6.Rb4-b1 # 6.Rb4-b2 # 6.Rb4-b3 # 6.Rb4-b5 # 6.Sa3*c4 # 5...Qf1-g1 6.Rb4-b1 # 6.Rb4-b2 # 6.Rb4-b3 # 6.Rb4-b5 # 6.Sa3*c4 # 5...Bh1*f3 6.Rb4-b1 # 6.Rb4-b2 # 6.Rb4-b3 # 6.Rb4-b5 # 5...Rh3*f3 6.Rh5*d5 # 6.Rb4-b5 # 2...e7-e6 3.Bh8*c3 # 2...Sb8-c6 3.Rh5*d5 # 2...Sb8-d7 3.Bh8*c3 # 1...Qg1-g5 2.Rh5*g5 threat: 3.Sa3*c4 # 2...e7-e5 3.Rg5*e5 threat: 4.Sa3*c4 # 1...Qg1-g4 2.f2-f3 threat: 3.Bh8*c3 # 3.Rh5*d5 # 2...Se1-d3 3.Rh5*d5 + 3...Sd3-c5 4.Bh8*c3 # 4.Rd5*c5 # 2...Se1-c2 3.Rh5*d5 # 2...Bh1*f3 3.Bh8*c3 # 2...Rh3*f3 3.Rh5*d5 # 2...Qg4*f3 3.Sa3*c4 # 2...Qg4*h5 3.Bh8*c3 # 2...Qg4-c8 3.Bh8*c3 # 2...Qg4-d7 3.Bh8*c3 # 3.Sa3*c4 # 2...Qg4-e6 3.Bh8*c3 # 3.Sa3*c4 # 2...Qg4-f5 3.Bh8*c3 # 2...Qg4-g1 3.Bh8*c3 # 3.Sa3*c4 # 2...Qg4-d4 3.Rh5*d5 + 3...Qd4-c5 4.Sa3*c4 # 4.Bh8*c3 # 4.Rd5*c5 # 3...Qd4*d5 4.Bh8*c3 # 3.Bh8*d4 threat: 4.Rh5*d5 # 4.Bd4*c3 # 4.Sa3*c4 # 3...Se1-d3 4.Sa3*c4 # 3...Se1-c2 4.Rh5*d5 # 4.Sa3*c4 # 3...Bh1*f3 4.Bd4*c3 # 4.Sa3*c4 # 3...Rh3*f3 4.Rh5*d5 # 4.Sa3*c4 # 3...e7-e5 4.Bd4*c3 # 3...e7-e6 4.Bd4*c3 # 4.Sa3*c4 # 3...Sb8-c6 4.Rh5*d5 # 4.Sa3*c4 # 3...Sb8-d7 4.Bd4*c3 # 4.Sa3*c4 # 2...Qg4-e4 3.Bh8*c3 # 2...Qg4-g8 3.Bh8*c3 # 3.Sa3*c4 # 2...Qg4-g7 3.Sa3*c4 # 3.Rh5*d5 # 2...Qg4-g5 3.Bh8*c3 # 2...e7-e5 3.Rh5*e5 threat: 4.Re5*d5 # 3...Se1-d3 4.Re5*d5 + 4...Sd3-c5 5.Bh8*c3 # 5.Rd5*c5 # 3...Bh1*f3 4.Bh7-e4 threat: 5.Re5*d5 # 5.Sa3*c4 # 4...Se1-d3 5.Sa3*c4 # 4...Bf3-e2 5.Re5*d5 # 4...Bf3*e4 5.Sa3*c4 # 4...Qg4-h5 5.Sa3*c4 # 4...Qg4-c8 5.b7*c8=Q threat: 6.Qc8-c5 # 6.Re5*d5 # 6.Sa3*c4 # 5...Se1-d3 6.Sa3*c4 # 5...Bf3-e2 6.Qc8-c5 # 6.Re5*d5 # 5...Bf3*e4 6.Qc8-c5 # 6.Sa3*c4 # 5...Sb8-c6 6.Sa3*c4 # 6.Re5*d5 # 5...Sb8-d7 6.Sa3*c4 # 5.b7*c8=S threat: 6.Sa3*c4 # 6.Re5*d5 # 5...Se1-d3 6.Sa3*c4 # 5...Bf3-e2 6.Re5*d5 # 5...Bf3*e4 6.Sa3*c4 # 5...Sb8-d7 6.Sa3*c4 # 5.b7*c8=R threat: 6.Re5*d5 # 6.Rc8-c5 # 6.Sa3*c4 # 5...Se1-d3 6.Sa3*c4 # 5...Bf3-e2 6.Rc8-c5 # 6.Re5*d5 # 5...Bf3*e4 6.Rc8-c5 # 6.Sa3*c4 # 5...Sb8-c6 6.Sa3*c4 # 6.Re5*d5 # 5...Sb8-d7 6.Sa3*c4 # 5.b7*c8=B threat: 6.Sa3*c4 # 6.Re5*d5 # 5...Se1-d3 6.Sa3*c4 # 5...Bf3-e2 6.Re5*d5 # 5...Bf3*e4 6.Sa3*c4 # 5...Sb8-d7 6.Sa3*c4 # 5.Re5*d5 + 5...Qc8-c5 6.Sa3*c4 # 6.Bh8*c3 # 6.Rd5*c5 # 4...Qg4-d7 5.Sa3*c4 # 4...Qg4-e6 5.Sa3*c4 # 4...Qg4-f5 5.Sa3*c4 # 4...Qg4-g1 5.Sa3*c4 # 4...Qg4*e4 5.Re5*d5 + 5...Qe4*d5 6.Bh8*c3 # 4...Qg4-g8 5.Sa3*c4 # 4...Qg4-g5 5.Sa3*c4 # 4...Sb8-d7 5.Sa3*c4 # 3...Qg4*f3 4.Sa3*c4 # 3...Qg4-h5 4.Sa3*c4 # 3...Qg4-c8 4.Re5*d5 + 4...Qc8-c5 5.Sa3*c4 # 5.Bh8*c3 # 5.Rd5*c5 # 4.b7*c8=Q threat: 5.Qc8-c5 # 5.Re5*d5 # 5.Sa3*c4 # 4...Se1-d3 5.Sa3*c4 # 4...Bh1*f3 5.Qc8-c5 # 5.Sa3*c4 # 4...Sb8-c6 5.Sa3*c4 # 5.Re5*d5 # 4...Sb8-d7 5.Sa3*c4 # 4.b7*c8=S threat: 5.Sa3*c4 # 5.Re5*d5 # 4...Se1-d3 5.Sa3*c4 # 4...Bh1*f3 5.Sa3*c4 # 4...Sb8-d7 5.Sa3*c4 # 4.b7*c8=R threat: 5.Re5*d5 # 5.Rc8-c5 # 5.Sa3*c4 # 4...Se1-d3 5.Sa3*c4 # 4...Bh1*f3 5.Rc8-c5 # 5.Sa3*c4 # 4...Sb8-c6 5.Sa3*c4 # 5.Re5*d5 # 4...Sb8-d7 5.Sa3*c4 # 4.b7*c8=B threat: 5.Sa3*c4 # 5.Re5*d5 # 4...Se1-d3 5.Sa3*c4 # 4...Bh1*f3 5.Sa3*c4 # 4...Sb8-d7 5.Sa3*c4 # 3...Qg4-d7 4.Sa3*c4 # 3...Qg4-e6 4.Sa3*c4 # 3...Qg4-f5 4.Sa3*c4 # 3...Qg4-g1 4.Sa3*c4 # 3...Qg4-d4 4.Re5*d5 + 4...Qd4-c5 5.Bh8*c3 # 5.Rd5*c5 # 5.Sa3*c4 # 4...Qd4*d5 5.Bh8*c3 # 3...Qg4-e4 4.Re5*d5 + 4...Qe4*d5 5.Bh8*c3 # 4.Bh7*e4 threat: 5.Re5*d5 # 5.Sa3*c4 # 4...Se1-d3 5.Sa3*c4 # 4...Sb8-d7 5.Sa3*c4 # 4.f3*e4 threat: 5.Re5*d5 # 5.Sa3*c4 # 4...Se1-d3 5.Sa3*c4 # 4...Bh1*e4 5.Sa3*c4 # 4...Rh3-d3 5.Sa3*c4 # 4...Sb8-d7 5.Sa3*c4 # 3...Qg4-g8 4.Sa3*c4 # 3...Qg4-g5 4.Sa3*c4 # 3...Sb8-d7 4.Re5*d5 + 4...Sd7-c5 5.Bh8*c3 # 5.Rd5*c5 # 2...e7-e6 3.Bh8*c3 # 2...Sb8-c6 3.Rh5*d5 # 2...Sb8-d7 3.Bh8*c3 # 1...e7-e5 2.Sa3*c4 + 2...d5*c4 3.Rh5*e5 + 3...Bh1-d5 4.Re5*d5 #" --- authors: - Вукчевић, Милан Радоје source: The Problemist source-id: C6408 date: 1980 distinction: 1st Prize algebraic: white: [Ka7, Bg5, Bc8, Sf7, Sd4, Pg2, Pc3, Pa4] black: [Kh5, Ra3, Bg3, Ba2, Sg1, Sc1, Pg6, Pd6, Pd5, Pd3, Pb4, Pb2, Pa6] stipulation: "#13" solution: | "1.Se6! Bf2+ 2.Sc5 [3.g4#] Bg3 3.Sd7 Bf2+ 4.Sb6 Bg3 5.c4 [6.Sxd5 Be5 7.g4#] Bxc4 6.Sd7 Bf2+ 7.Sc5 Bg3 8.Se6 Bf2+ 9.Sd4 Bg3 10.Kb8 b1=Q 11.Se6 Db2 12.Sf4+ Bxf4 13.g4#" --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1971 distinction: 1st HM algebraic: white: [Kc1, Qa1, Bc7, Sd4, Sb3, Pg5, Pg3, Pd2, Pc4] black: [Ke5, Rd6, Bf5, Sb7, Pg6, Pg4, Pe7, Pe6, Pd3] stipulation: "#3" solution: | "1.Qa1-a8 ! zugzwang. 1...Ke5-e4 2.Qa8-h8 zugzwang. 2...Rd6*d4 3.Qh8-h1 # 2...Rd6-d5 3.Qh8-h1 # 2...Rd6-a6 3.Qh8-h1 # 3.Qh8-e5 # 2...Rd6-b6 3.Qh8-e5 # 3.Qh8-h1 # 2...Rd6-c6 3.Qh8-h1 # 3.Qh8-e5 # 2...Rd6-d8 3.Qh8-e5 # 3.Qh8-h1 # 2...Rd6-d7 3.Qh8-h1 # 3.Qh8-e5 # 2...e6-e5 3.Qh8-h1 # 2...Sb7-a5 3.Sb3-c5 # 2...Sb7-c5 3.Sb3*c5 # 2...Sb7-d8 3.Sb3-c5 # 1...Bf5-e4 2.Qa8-h8 # 1...Sb7-a5 2.Qa8-h8 + 2...Ke5-e4 3.Sb3-c5 # 1...Sb7-c5 2.Qa8-h8 + 2...Ke5-e4 3.Sb3*c5 # 1...Sb7-d8 2.Qa8-h1 zugzwang. 2...Bf5-e4 3.Qh1-h8 # 2...Sd8-b7 3.Sd4-c6 # 2...Sd8-c6 3.Sd4*c6 # 2...Sd8-f7 3.Sd4-c6 #" --- authors: - Вукчевић, Милан Радоје source: Europe Échecs date: 1971 distinction: 2nd HM algebraic: white: [Kh5, Qb7, Rd6, Rc1, Be3, Bc6, Se4, Sd3, Pd4] black: [Kf5, Rg4, Re6, Bh4, Sh7, Pg5, Pg3, Pf7, Pf6, Pe7, Pc7] stipulation: "#3" solution: | "1.Qb7-b1 ! threat: 2.Sd3-f4 threat: 3.Se4*g3 # 2...Re6*e4 3.Bc6*e4 # 3.Qb1*e4 # 1...Rg4*e4 2.Rc1-f1 + 2...Re4-f4 3.Sd3-e5 # 1...Re6*e4 2.Rd6-d5 + 2...Re4-e5 3.Sd3-f4 # 2...Kf5-e6 3.Sd3-c5 # 2...e7-e5 3.Bc6-d7 # 2.Rc1-c5 + 2...Re4-e5 3.Sd3-f4 # 2...e7-e5 3.Bc6-d7 # 1...Re6*d6 2.Se4*g3 + 2...Rg4*g3 3.Sd3-f4 # 3.Sd3-c5 # 2...Bh4*g3 3.Sd3-f4 # 2...Kf5-e6 3.Sd3-c5 #" --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1972 distinction: 3rd Prize algebraic: white: [Kh3, Qd1, Bd4, Sg3, Sb4, Ph4, Pf3, Pe6, Pd2] black: [Kf4, Ra3, Ba8, Sa4, Pg6, Pf6] stipulation: "#3" solution: | "1.Qd1-b1 ! threat: 2.Qb1*g6 threat: 3.Qg6-f5 # 3.Qg6-g4 # 3.Qg6*f6 # 2...f6-f5 3.Qg6*f5 # 2...Ba8*f3 3.Qg6-f5 # 3.Qg6*f6 # 3.Qg6-h6 # 2...Ba8-e4 3.Qg6*e4 # 3.Qg6-g4 # 1...Ra3-a1 2.Sg3-e2 + 2...Kf4*f3 3.Qb1-d3 # 1...Ra3*f3 2.Sb4-d5 + 2...Ba8*d5 3.Qb1-b8 # 1...Ra3-d3 2.Sb4*d3 + 2...Kf4*f3 3.Qb1-h1 # 3.Qb1-f1 # 3.Qb1-d1 # 2.Qb1*d3 threat: 3.Sg3-e2 # 3.Qd3-e3 # 2...Sa4-c3 3.Qd3-e3 # 2...Ba8*f3 3.Qd3-e3 # 2...Ba8-e4 3.Qd3*e4 # 3.Qd3-e3 # 1...f6-f5 2.Qb1-f1 threat: 3.Sg3-e2 # 2...Ra3*f3 3.Sb4-d3 # 2...Ra3-e3 3.d2*e3 # 2...Sa4-c3 3.Sb4-d3 # 2...Ba8*f3 3.Sb4-d5 # 1...Ba8*f3 2.Sb4-d3 + 2...Ra3*d3 3.Qb1-b8 # 1...Ba8-d5 2.Sb4*d5 + 2...Kf4*f3 3.Qb1-e4 # 3.Qb1-h1 # 3.Qb1-f1 # 3.Qb1-d1 #" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1971 distinction: 1st Prize algebraic: white: [Ka3, Qd4, Rd2, Bd8, Se5, Sb8, Ph4, Pe2, Pd5, Pc6, Pb4] black: [Kd6, Qe8, Bh3, Sg8, Ph6, Ph5, Pe4, Pd7, Pc7, Pb5] stipulation: "#3" solution: | "1.Qd4-c3 ! zugzwang. 1...Bh3-f1 2.Se5*d7 threat: 3.Qc3-c5 # 2...Qe8*d7 3.Qc3-g3 # 1...Bh3-g2 2.Se5*d7 threat: 3.Qc3-c5 # 2...Qe8*d7 3.Qc3-g3 # 1...Bh3-e6 2.Se5-c4 + 2...b5*c4 3.Qc3-g3 # 1...Bh3-f5 2.Se5-f7 + 2...Qe8*f7 3.Qc3-g3 # 1...Bh3-g4 2.Se5-g6 threat: 3.Qc3-c5 # 2...Qe8*g6 3.Qc3-g3 # 1...e4-e3 2.Se5-f3 threat: 3.Qc3-c5 # 1...d7*c6 2.Se5*c6 threat: 3.Qc3-c5 # 2...Qe8*c6 3.Qc3-g3 # 1...Qe8-g6 2.Se5*g6 threat: 3.Qc3-e5 # 3.Qc3-c5 # 3.Qc3-g3 # 2...e4-e3 3.Qc3-e5 # 3.Qc3-c5 # 1...Qe8-f7 2.Se5*f7 # 1...Qe8*e5 2.Qc3-c5 # 1...Qe8-e6 2.Se5*d7 threat: 3.Qc3-c5 # 2...Qe6*d5 3.Qc3-e5 # 2...Qe6*d7 3.Qc3-g3 # 1...Qe8-e7 2.Se5-g6 threat: 3.Qc3-c5 # 1...Qe8*d8 2.Se5-g6 threat: 3.Qc3-e5 # 3.Qc3-c5 # 3.Qc3-g3 # 2...e4-e3 3.Qc3-e5 # 3.Qc3-c5 # 2...Qd8*h4 3.Qc3-e5 # 3.Qc3-c5 # 2...Qd8-g5 3.Qc3-c5 # 2...Qd8-f6 3.Qc3-c5 # 2...Qd8-e7 3.Qc3-c5 # 2...Qd8-f8 3.Qc3-e5 # 3.Qc3-c5 # 2...Qd8-e8 3.Qc3-c5 # 1...Qe8-f8 2.Qc3-g3 threat: 3.Se5-c4 # 3.Se5-f7 # 2...Qf8-f3 + 3.Se5*f3 # 2...Qf8-f4 3.Se5-f7 # 2...Qf8*d8 3.Se5-g6 # 1...Sg8-e7 2.Se5-c4 + 2...b5*c4 3.Qc3-g3 # 1...Sg8-f6 2.Bd8*f6 threat: 3.Qc3-c5 # 2.Se5-f7 + 2...Qe8*f7 3.Qc3-g3 #" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo source-id: 6937 date: 1972 distinction: 2nd Prize algebraic: white: [Ka4, Qb1, Rd7, Ra2, Bc2, Bb6, Sf8, Pg7, Pe6, Pb4, Pa7] black: [Kc8, Rh2, Rb8, Bh6, Be8, Ph7, Pf6, Pe7, Pd6, Pb7] stipulation: "#3" solution: | "1.Qb1-c1 ! zugzwang. 1...Rh2-h1 2.g7-g8=S threat: 3.Sg8*e7 # 2...Bh6*f8 3.Bc2-d1 # 2...Be8*d7 + 3.e6*d7 # 2.Bc2-d1 + 2...Bh6*c1 3.Ra2-c2 # 1...Rh2*c2 2.Ra2*c2 # 2.Qc1*c2 # 1...Rh2-d2 2.Bc2-b1 + 2...Rd2-c2 3.Ra2*c2 # 3.Qc1*c2 # 2.Bc2-d1 + 2...Rd2-c2 3.Qc1*c2 # 3.Ra2*c2 # 2.Bc2*h7 + 2...Rd2-c2 3.Ra2*c2 # 3.Qc1*c2 # 2.Bc2-g6 + 2...Rd2-c2 3.Qc1*c2 # 3.Ra2*c2 # 2.Bc2-f5 + 2...Rd2-c2 3.Ra2*c2 # 3.Qc1*c2 # 2.Bc2-e4 + 2...Rd2-c2 3.Qc1*c2 # 3.Ra2*c2 # 2.Bc2-d3 + 2...Rd2-c2 3.Ra2*c2 # 3.Qc1*c2 # 2.Bc2-b3 + 2...Rd2-c2 3.Qc1*c2 # 3.Ra2*c2 # 1...Rh2-e2 2.Ka4-b3 threat: 3.Rd7-d8 # 2...Re2-e3 + 3.Bc2-d3 # 2...Be8*d7 3.e6*d7 # 1...Rh2-f2 2.b4-b5 threat: 3.Rd7-d8 # 2...Rf2-f4 + 3.Bc2-e4 # 2...Be8*d7 3.e6*d7 # 1...Rh2-g2 2.Ka4-a5 threat: 3.Rd7-d8 # 2...Rg2-g5 + 3.Bc2-f5 # 2...Be8*d7 3.e6*d7 # 1...Rh2-h5 2.Bc2-f5 + 2...Bh6*c1 3.Ra2-c2 # 1...Rh2-h4 2.Bc2-e4 + 2...Bh6*c1 3.Ra2-c2 # 1...Rh2-h3 2.Bc2-d3 + 2...Bh6*c1 3.Ra2-c2 # 1...d6-d5 2.Ka4-a5 threat: 3.Rd7-d8 # 2...Be8*d7 3.e6*d7 # 1...f6-f5 2.Ka4-a5 threat: 3.Rd7-d8 # 2...Be8*d7 3.e6*d7 # 1...Bh6*c1 2.g7-g8=S threat: 3.Sg8*e7 # 2...Be8*d7 + 3.e6*d7 # 1...Bh6-d2 2.g7-g8=S threat: 3.Sg8*e7 # 2...Be8*d7 + 3.e6*d7 # 1...Bh6-e3 2.g7-g8=S threat: 3.Sg8*e7 # 2...Be8*d7 + 3.e6*d7 # 1...Bh6-f4 2.g7-g8=S threat: 3.Sg8*e7 # 2...Be8*d7 + 3.e6*d7 # 2.b4-b5 threat: 3.Rd7-d8 # 2...Be8*d7 3.e6*d7 # 1...Bh6-g5 2.Ka4-a5 threat: 3.Rd7-d8 # 2...Be8*d7 3.e6*d7 # 1...Bh6*g7 2.Ka4-a5 threat: 3.Rd7-d8 # 2...Rh2-h5 + 3.Bc2-f5 # 2...Be8*d7 3.e6*d7 # 2.b4-b5 threat: 3.Rd7-d8 # 2...Rh2-h4 + 3.Bc2-e4 # 2...Be8*d7 3.e6*d7 # 2.Ka4-a3 threat: 3.Rd7-d8 # 2...Rh2-h3 + 3.Bc2-d3 # 2...Be8*d7 3.e6*d7 # 2.Ka4-b3 threat: 3.Rd7-d8 # 2...Rh2-h3 + 3.Bc2-d3 # 2...Be8*d7 3.e6*d7 # 2.Bc2-b1 + 2...Rh2-c2 3.Ra2*c2 # 3.Qc1*c2 # 2.Bc2-d1 + 2...Rh2-c2 3.Qc1*c2 # 3.Ra2*c2 # 2.Bc2*h7 + 2...Rh2-c2 3.Ra2*c2 # 3.Qc1*c2 # 2.Bc2-g6 + 2...Rh2-c2 3.Qc1*c2 # 3.Ra2*c2 # 2.Bc2-f5 + 2...Rh2-c2 3.Ra2*c2 # 3.Qc1*c2 # 2.Bc2-e4 + 2...Rh2-c2 3.Qc1*c2 # 3.Ra2*c2 # 2.Bc2-d3 + 2...Rh2-c2 3.Ra2*c2 # 3.Qc1*c2 # 2.Bc2-b3 + 2...Rh2-c2 3.Qc1*c2 # 3.Ra2*c2 # 1...Rb8-a8 2.Bc2-e4 + 2...Bh6*c1 3.Be4*b7 # 2...Rh2-c2 3.Be4*b7 # 3.Ra2*c2 # 3.Qc1*c2 # 1...Be8*d7 + 2.e6*d7 # 1...Be8-h5 2.Rd7-d8 # 1...Be8-g6 2.Rd7-d8 # 1...Be8-f7 2.Rd7-d8 #" --- authors: - Вукчевић, Милан Радоје source: British Chess Federation date: 1970 distinction: 2nd HM algebraic: white: [Kc7, Qh7, Re4, Re3, Bf7, Sd7, Sc1, Pf6, Pd3] black: [Kd5, Qb1, Rf1, Ra4, Bg4, Bb2, Ph6, Pe6, Pd6, Pc6, Pb6, Pb5, Pa7] stipulation: "#3" solution: | "1.Sc1-e2 ! threat: 2.Re4*e6 threat: 3.Re6-e5 # 3.Re6*d6 # 2...Bg4*e2 3.Re6-e4 # 3.Re6*d6 # 2...Bg4*e6 3.Bf7*e6 # 1...Rf1*f6 2.Qh7-f5 + 2...Bb2-e5 3.Se2-f4 # 3.Se2-c3 # 2...Bg4*f5 3.Se2-f4 # 2...Rf6*f5 3.Bf7*e6 # 1...Bb2*f6 2.Re4-d4 + 2...Ra4*d4 3.Se2-c3 # 2...Bf6*d4 3.Qh7-e4 # 1...Bb2-e5 2.Re4-d4 + 2...Ra4*d4 3.Se2-c3 # 2...Be5*d4 3.Qh7-e4 # 2.Re4*e5 + 2...d6*e5 3.Re3*e5 #" --- authors: - Вукчевић, Милан Радоје source: Die Schwalbe date: 1971-06 distinction: 1st-2nd Prize algebraic: white: [Kb5, Qa1, Rc1, Bh2, Pg4, Pf3, Pe2, Pd3, Pd2, Pc4, Pb4] black: [Kd4, Rb2, Bb1, Ba3, Ph3, Pg5, Pe7, Pe6, Pc5, Pb3, Pa2] stipulation: "#3" solution: | "1...Bc2 2.R:c2 - 3.Qg1# 1...c:b4 2.Rh1 Bb~ 3.Qg1# 1.Rh1? - zz 1...c:b4! 2.R~? Bc2 3.Qg1#? 1.Rf1! - zz 1...Bc2 2.Qe1! - 3.Qf2# 1...c:b4 2.Rh1! - zz 2...Bc2 3.Qg1# 2...e5 3.Bg1# (1...B:b4 2.Q:b2+ Bc3 3.Q:c3#)" keywords: - Hesitation Bristol - Loss of tempo - Block --- authors: - Вукчевић, Милан Радоје source: The British Chess Magazine date: 1971 distinction: 3rd Prize algebraic: white: [Kb7, Qd6, Rc7, Rc6, Bd7, Sb6, Sb4, Pe6, Pc5, Pa3, Pa2] black: [Kb5, Qa1, Rh5, Rf2, Bf1, Be1, Se8, Ph7, Pe7, Pe4, Pd5, Pd2, Pa5, Pa4] stipulation: "#3" solution: | "1.Sb4-a6 ! threat: 2.Rc7-c8 threat: 3.Rc6-c7 # 2...Se8*d6 + 3.Rc6*d6 # 2...Se8-f6 3.Sa6-c7 # 1...Qa1-g7 2.Qd6-e5 threat: 3.Rc6-d6 # 2...Se8-f6 3.Qe5-b2 # 1...Qa1-f6 2.Qd6-h2 threat: 3.Rc6-d6 # 2...Qf6*e6 3.Rc6*e6 # 2.Qd6-g3 threat: 3.Rc6-d6 # 2...Qf6*e6 3.Rc6*e6 # 2.Qd6-f4 threat: 3.Rc6-d6 # 2...Qf6*e6 3.Rc6*e6 # 2.Qd6-e5 threat: 3.Rc6-d6 # 2...Qf6*e6 3.Rc6*e6 # 3.Qe5-b2 # 2.Qd6*d5 threat: 3.Rc6-d6 # 2...Qf6*e6 3.Rc6*e6 # 1...Qa1-e5 2.Qd6*e5 threat: 3.Rc6-d6 # 3.Qe5-b2 # 2...Bf1-c4 3.Rc6-d6 # 2...d2-d1=Q 3.Rc6-d6 # 2...d2-d1=S 3.Rc6-d6 # 2...d2-d1=R 3.Rc6-d6 # 2...d2-d1=B 3.Rc6-d6 # 2...Rf2-f3 3.Rc6-d6 # 2...d5-d4 3.Rc6-d6 # 2...Rh5-h3 3.Rc6-d6 # 2...Rh5*e5 3.Rc6-d6 # 2...Se8-d6 + 3.Rc6*d6 # 2...Se8-f6 3.Qe5-b2 # 1...Bf1-h3 2.Qd6*d5 threat: 3.Rc6-d6 # 3.Qd5-c4 # 2...Qa1-d4 3.Rc6-d6 # 2...Qa1-c3 3.Rc6-d6 # 2...Qa1*a2 3.Rc6-d6 # 2...Qa1-c1 3.Rc6-d6 # 2...Bh3-f1 3.Rc6-d6 # 2...Bh3*e6 3.Rc6*e6 # 2...Rh5*d5 3.Rc6-d6 # 2...Se8-d6 + 3.Rc6*d6 # 2...Se8-f6 3.Qd5-c4 # 1...Rf2-f7 2.Qd6-f4 threat: 3.Rc6-d6 # 2...Se8-f6 3.Qf4*f1 #" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1971 distinction: 6th Prize algebraic: white: [Ka1, Qe2, Bg4, Bc5, Sd7, Sb2, Pe3, Pa3] black: [Kc3, Qa4, Re4, Rd5, Sb1, Sa5, Pd6, Pd2, Pb3, Pa2] stipulation: "#4" solution: | "1.Sd7-f6 ! threat: 2.Sf6*d5 + 2...Kc3-c2 3.Qe2-d1 # 1...d2-d1=Q 2.Bc5-d4 + 2...Qd1*d4 3.Sb2*a4 + 3...Qd4*a4 4.Sf6*d5 # 2...Qa4*d4 3.Sb2*d1 + 3...Qd4*d1 4.Sf6*e4 # 2...Re4*d4 3.Sf6*d5 + 3...Rd4*d5 4.Sb2*a4 # 2...Rd5*d4 3.Sf6*e4 + 3...Rd4*e4 4.Sb2*d1 #" keywords: - Plachutta --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1971 distinction: 3rd Prize algebraic: white: [Kf7, Rf1, Rb6, Ba1, Sd7, Sa7, Pe3, Pd3, Pc2] black: [Kd5, Qh2, Rh4, Bg3, Bg2, Sh5, Sg7, Pf5, Pb7, Pb5] stipulation: "#4" solution: | "1.Rf1-f4 ! threat: 2.Kf7-e7 threat: 3.Rb6*b5 # 3.Rb6-d6 # 2...Bg3*f4 3.Rb6*b5 # 2...Sg7-e6 3.Rb6-d6 # 2...Sg7-e8 3.Rb6*b5 # 2.Sa7*b5 threat: 3.Rb6-d6 # 3.Sb5-c3 # 3.Sb5-c7 # 3.c2-c4 # 2...Bg3-e1 3.Rb6-d6 # 3.Sb5-c7 # 3.c2-c4 # 2...Bg3*f4 3.Sb5-c3 # 3.c2-c4 # 2...Rh4*f4 3.Rb6-d6 # 3.Sb5-c3 # 3.Sb5-c7 # 2...Sg7-e6 3.Rb6-d6 # 3.Sb5-c3 # 3.c2-c4 # 2...Sg7-e8 3.Sb5-c3 # 3.c2-c4 # 2.Sa7-c8 threat: 3.Sc8-e7 # 3.Rb6-d6 # 2...Bg3*f4 3.Sc8-e7 # 2...Sg7-e8 3.Sc8-e7 # 2.c2-c4 + 2...b5*c4 3.d3*c4 # 2.Ba1-e5 threat: 3.Rb6*b5 # 3.Rb6-d6 # 2...Sg7-e6 3.Rb6-d6 # 2...Sg7-e8 3.Rb6*b5 # 1...Bg2-f1 2.Kf7-e7 threat: 3.Rb6*b5 # 3.Rb6-d6 # 2...Bf1*d3 3.Rb6-d6 # 2...Qh2*c2 3.Rb6-d6 # 2...Bg3*f4 3.Rb6*b5 # 2...Sg7-e6 3.Rb6-d6 # 2...Sg7-e8 3.Rb6*b5 # 2.Sa7*b5 threat: 3.Rb6-d6 # 3.Sb5-c3 # 3.Sb5-c7 # 3.c2-c4 # 2...Bf1*d3 3.Rb6-d6 # 3.Sb5-c3 # 3.Sb5-c7 # 2...Qh2*c2 3.Rb6-d6 # 2...Qh2-d2 3.Rb6-d6 # 3.Sb5-c7 # 3.c2-c4 # 2...Bg3-e1 3.Rb6-d6 # 3.Sb5-c7 # 3.c2-c4 # 2...Bg3*f4 3.Sb5-c3 # 3.c2-c4 # 2...Rh4*f4 3.Rb6-d6 # 3.Sb5-c3 # 3.Sb5-c7 # 2...Sg7-e6 3.Rb6-d6 # 3.Sb5-c3 # 3.c2-c4 # 2...Sg7-e8 3.Sb5-c3 # 3.c2-c4 # 2.Sa7-c8 threat: 3.Sc8-e7 # 3.Rb6-d6 # 2...Bg3*f4 3.Sc8-e7 # 2...Sg7-e8 3.Sc8-e7 # 2.Ba1-e5 threat: 3.Rb6*b5 # 3.Rb6-d6 # 2...Bf1*d3 3.Rb6-d6 # 2...Qh2*c2 3.Rb6-d6 # 2...Sg7-e6 3.Rb6-d6 # 2...Sg7-e8 3.Rb6*b5 # 1...Bg2-e4 2.Kf7-e7 threat: 3.Rb6*b5 # 3.Rb6-d6 # 2...Qh2*c2 3.Rb6-d6 # 2...Bg3*f4 3.Rb6*b5 # 2...Be4*d3 3.Rb6-d6 # 2...Sg7-e6 3.Rb6-d6 # 2...Sg7-e8 3.Rb6*b5 # 2.Sa7*b5 threat: 3.Rb6-d6 # 3.Sb5-c3 # 3.Sb5-c7 # 3.c2-c4 # 2...Qh2*c2 3.Rb6-d6 # 2...Qh2-d2 3.Rb6-d6 # 3.Sb5-c7 # 3.c2-c4 # 2...Bg3-e1 3.Rb6-d6 # 3.Sb5-c7 # 3.c2-c4 # 2...Bg3*f4 3.Sb5-c3 # 3.c2-c4 # 2...Be4*d3 3.Rb6-d6 # 3.Sb5-c3 # 3.Sb5-c7 # 2...Sg7-e6 3.Rb6-d6 # 3.Sb5-c3 # 3.c2-c4 # 2...Sg7-e8 3.Sb5-c3 # 3.c2-c4 # 2.Sa7-c8 threat: 3.Sc8-e7 # 3.Rb6-d6 # 2...Bg3*f4 3.Sc8-e7 # 2...Sg7-e8 3.Sc8-e7 # 2.Ba1-e5 threat: 3.Rb6*b5 # 3.Rb6-d6 # 2...Qh2*c2 3.Rb6-d6 # 2...Be4*d3 3.Rb6-d6 # 2...Sg7-e6 3.Rb6-d6 # 2...Sg7-e8 3.Rb6*b5 # 1...Qh2-g1 2.Sa7*b5 threat: 3.Rb6-d6 # 3.Sb5-c3 # 3.Sb5-c7 # 3.c2-c4 # 2...Qg1*a1 3.Rb6-d6 # 3.Sb5-c7 # 3.c2-c4 # 2...Qg1-c1 3.Rb6-d6 # 3.Sb5-c3 # 3.Sb5-c7 # 2...Qg1-e1 3.Rb6-d6 # 3.Sb5-c7 # 3.c2-c4 # 2...Bg3-e1 3.Rb6-d6 # 3.Sb5-c7 # 3.c2-c4 # 2...Bg3*f4 3.Sb5-c3 # 3.c2-c4 # 2...Rh4*f4 3.Rb6-d6 # 3.Sb5-c3 # 3.Sb5-c7 # 2...Sg7-e6 3.Rb6-d6 # 3.Sb5-c3 # 3.c2-c4 # 2...Sg7-e8 3.Sb5-c3 # 3.c2-c4 # 2.Sa7-c8 threat: 3.Sc8-e7 # 3.Rb6-d6 # 2...Qg1*e3 3.Rb6-d6 # 2...Bg3*f4 3.Sc8-e7 # 2...Sg7-e8 3.Sc8-e7 # 2.c2-c4 + 2...b5*c4 3.d3*c4 # 2.Ba1-e5 threat: 3.Rb6*b5 # 3.Rb6-d6 # 2...Qg1*e3 3.Rb6-d6 # 2...Qg1-b1 3.Rb6-d6 # 2...Sg7-e6 3.Rb6-d6 # 2...Sg7-e8 3.Rb6*b5 # 1...Bg3-e1 2.c2-c4 + 2...b5*c4 3.d3*c4 # 1...Bg3*f4 2.Sa7*b5 threat: 3.Sb5-c3 # 3.c2-c4 # 2...Bf4*e3 3.Sb5-c3 + 3...Kd5-d4 4.Rb6-b4 # 2...Bf4-g3 3.Sb5-c3 # 2...Bf4-h6 3.Sb5-c3 # 2...Bf4-g5 3.Sb5-c3 # 2...Bf4-b8 3.Sb5-c3 # 2...Bf4-c7 3.Sb5-c3 # 2...Bf4-d6 3.Sb5-c3 # 2...Bf4-e5 3.Ba1-d4 threat: 4.Sb5-c3 # 4.c2-c4 # 3...Rh4*d4 4.Sb5-c3 # 3...Be5*d4 4.c2-c4 # 1...Rh4*f4 2.Ba1-e5 threat: 3.Rb6*b5 # 3.Rb6-d6 # 2...Rf4-b4 3.Rb6-d6 # 2...Rf4-c4 3.Rb6-d6 # 2...Sg7-e6 3.Rb6-d6 # 2...Sg7-e8 3.Rb6*b5 # 1...Rh4-g4 2.Sa7*b5 threat: 3.Rb6-d6 # 3.Sb5-c3 # 3.Sb5-c7 # 3.c2-c4 # 2...Bg3-e1 3.Rb6-d6 # 3.Sb5-c7 # 3.c2-c4 # 2...Bg3*f4 3.Sb5-c3 # 3.c2-c4 # 2...Rg4*f4 3.Rb6-d6 # 3.Sb5-c3 # 3.Sb5-c7 # 2...Rg4-g6 3.Sb5-c3 # 3.Sb5-c7 # 3.Rf4-d4 # 3.c2-c4 # 2...Sg7-e6 3.Rb6-d6 # 3.Sb5-c3 # 3.c2-c4 # 2...Sg7-e8 3.Sb5-c3 # 3.c2-c4 # 2.Sa7-c8 threat: 3.Sc8-e7 # 3.Rb6-d6 # 2...Qh2-h4 3.Rb6-d6 # 2...Bg3-h4 3.Rb6-d6 # 2...Bg3*f4 3.Sc8-e7 # 2...Rg4-g6 3.Sc8-e7 # 3.Rf4-d4 # 2...Sg7-e8 3.Sc8-e7 # 2.c2-c4 + 2...b5*c4 3.d3*c4 # 2.Ba1-e5 threat: 3.Rb6*b5 # 3.Rb6-d6 # 2...Rg4-g6 3.Rb6*b5 # 3.Rf4-d4 # 2...Sg7-e6 3.Rb6-d6 # 2...Sg7-e8 3.Rb6*b5 # 1...b5-b4 2.Kf7-e7 threat: 3.Rb6-b5 # 3.Rb6-d6 # 2...Bg3*f4 3.Rb6-b5 # 2...Sg7-e6 3.Rb6-d6 # 2...Sg7-e8 3.Rb6-b5 # 2.Sa7-c8 threat: 3.Sc8-e7 # 3.Rb6-d6 # 2...Bg3*f4 3.Sc8-e7 # 2...Sg7-e8 3.Sc8-e7 # 2.Ba1-e5 threat: 3.Rb6-b5 # 3.Rb6-d6 # 2...Sg7-e6 3.Rb6-d6 # 2...Sg7-e8 3.Rb6-b5 # 1...Sh5*f4 2.Sd7-f6 + 2...Kd5-c5 3.Rb6*b5 + 3...Kc5-d6 4.Ba1-e5 # 2.c2-c4 + 2...b5*c4 3.Sd7-f6 + 3...Kd5-c5 4.Ba1-d4 # 1...Sh5-f6 2.c2-c4 + 2...b5*c4 3.d3*c4 # 1...Sg7-e6 2.c2-c4 + 2...b5*c4 3.d3*c4 #" --- authors: - Вукчевић, Милан Радоје source: Die Schwalbe date: 1971-02 distinction: 3rd Prize algebraic: white: [Ka1, Qf3, Be4, Bb4, Sd3, Sc1, Pg5, Pf6, Pc5] black: [Kc4, Qh7, Rh6, Bg1, Sh8, Sc3, Pg6, Pf7, Pe3, Pd4, Pa2] stipulation: "#4" solution: | "1. Ba8! [2. Qb7 [3. Se5, Sb2#] 1... Rh1 2. Qc6 [3. Qa6+ 3... Sb5 4. Q:a2#] 2... Qh2 3. Qb7 waiting 3... Sb5 4. Qd5# 3... Sd5/a4/e4/b1/d1 4. Qa6# 3... e2, Qb2+ 4. S(:)b2# 3... Qg2 4. Se5#" keywords: - Bristol - Loss of tempo --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1971 distinction: 2nd Prize algebraic: white: [Ke7, Qa5, Bf7, Sf8, Se8, Pc7, Pb6] black: [Kc8, Re3, Rd2, Bh2, Bc4, Sb2, Ph6, Pf6, Pf2, Pe6, Pd6, Pb7, Pa6, Pa4] stipulation: "#4" solution: | "1.Sf8-g6 ! threat: 2.Ke7-f8 threat: 3.Se8*f6 threat: 4.Sg6-e7 # 3.Sg6-e7 + 3...Kc8-d7 4.Se8*f6 # 4.c7-c8=Q # 2...f2-f1=Q 3.Sg6-e7 + 3...Kc8-d7 4.c7-c8=Q # 2...f2-f1=R 3.Sg6-e7 + 3...Kc8-d7 4.c7-c8=Q # 2...Bh2-e5 3.Sg6-e7 + 3...Kc8-d7 4.c7-c8=Q # 2...Re3-b3 3.Sg6-e7 + 3...Kc8-d7 4.Se8*f6 # 4.c7-c8=Q # 2...Re3-g3 3.Sg6-e7 + 3...Kc8-d7 4.Se8*f6 # 4.c7-c8=Q # 2...Re3-f3 3.Sg6-e7 + 3...Kc8-d7 4.c7-c8=Q # 2...Bc4-d3 3.Sg6-e7 + 3...Kc8-d7 4.Se8*f6 # 4.c7-c8=Q # 2...d6-d5 3.Sg6-e7 + 3...Kc8-d7 4.c7-c8=Q # 1...Re3-g3 2.Qa5-d5 threat: 3.Se8*d6 # 3.Bf7*e6 # 2...Rd2*d5 3.Bf7*e6 # 2...Rd2-e2 3.Se8*d6 # 2...Rg3-g1 3.Bf7*e6 # 2...Rg3-g2 3.Bf7*e6 # 2...Rg3-a3 3.Bf7*e6 # 2...Rg3-b3 3.Bf7*e6 # 2...Rg3-c3 3.Bf7*e6 # 2...Rg3-d3 3.Bf7*e6 # 2...Rg3-e3 3.Sg6-e5 threat: 4.Se8*d6 # 4.Bf7*e6 # 3...Rd2*d5 4.Bf7*e6 # 3...Bh2*e5 4.Bf7*e6 # 3...Re3*e5 4.Se8*d6 # 3...Bc4*d5 4.Se8*d6 # 3...Bc4-b5 4.Se8*d6 # 2...Rg3-f3 3.Bf7*e6 # 2...Rg3*g6 3.Bf7*e6 # 2...Rg3-g5 3.Bf7*e6 # 2...Rg3-g4 3.Bf7*e6 # 2...Rg3-h3 3.Bf7*e6 # 2...Bc4*d5 3.Se8*d6 # 2...Bc4-b5 3.Se8*d6 # 1...Bc4-d3 2.Sg6-e5 threat: 3.Se8*d6 # 3.Bf7*e6 # 2...Sb2-c4 3.Bf7*e6 # 2...Bh2*e5 3.Bf7*e6 # 2...Bd3-b1 3.Bf7*e6 # 2...Bd3-c2 3.Bf7*e6 # 2...Bd3-f1 3.Bf7*e6 # 2...Bd3-e2 3.Bf7*e6 # 2...Bd3-h7 3.Bf7*e6 # 2...Bd3-g6 3.Bf7*e6 # 2...Bd3-f5 3.Se5-c6 threat: 4.Sc6-a7 # 3...b7*c6 4.Qa5*a6 # 2...Bd3-e4 3.Bf7*e6 # 2...Bd3-b5 3.Bf7*e6 + 3...Bb5-d7 4.Be6*d7 # 2...Bd3-c4 3.Qa5-d5 threat: 4.Se8*d6 # 4.Bf7*e6 # 3...Rd2*d5 4.Bf7*e6 # 3...Bh2*e5 4.Bf7*e6 # 3...Re3*e5 4.Se8*d6 # 3...Bc4*d5 4.Se8*d6 # 3...Bc4-b5 4.Se8*d6 # 2...Re3*e5 3.Se8*d6 #" --- authors: - Вукчевић, Милан Радоје source: Léon-Martin Mémorial T. date: 1971 algebraic: white: [Kg6, Rf2, Ra7, Be8, Ba5, Sd2, Pe4, Pc2, Pb4] black: [Kb5, Rh7, Bh2, Bf1, Sg5, Sc6, Ph6, Pg7, Pg4, Pg2, Pd6, Pb2, Pa4, Pa3] stipulation: "#6" solution: | "1.Rf2-f8 ! threat: 2.Be8*c6 + 2...Kb5*c6 3.Rf8-c8 + 3...Kc6-b5 4.Rc8-b8 + 4...Kb5-c6 5.Rb8-b6 # 5.Ra7-c7 # 4.Sd2-b1 threat: 5.Sb1-c3 # 5.Sb1*a3 # 4...Bh2-e5 5.Sb1*a3 # 4...Sg5*e4 5.Sb1*a3 # 3.Ra7-c7 + 3...Kc6-b5 4.Rf8-b8 + 4...Kb5-a6 5.Rb8-b6 # 1...Sg5*e4 2.Ra7-b7 + 2...Kb5-a6 3.Be8*c6 threat: 4.Rf8-a8 # 3...g2-g1=Q 4.Rf8-a8 + 4...Qg1-a7 5.Ra8*a7 # 5.Rb7-b6 # 5.Rb7*a7 # 3...g2-g1=B 4.Rf8-a8 + 4...Bg1-a7 5.Ra8*a7 # 5.Rb7-b6 # 5.Rb7*a7 # 3...Bh2-g1 4.Rf8-a8 + 4...Bg1-a7 5.Ra8*a7 # 5.Rb7-b6 # 5.Rb7*a7 # 3...Rh7-h8 4.Rb7-b6 + 4...Ka6-a7 5.Rf8-f7 # 3.Rb7-b6 + 3...Ka6-a7 4.Be8*c6 threat: 5.Rf8-f7 # 5.Rf8-a8 # 4...Bf1-a6 5.Rf8-a8 # 4...Bf1-c4 5.Rf8-a8 # 4...Se4-g5 5.Rf8-a8 # 4...Se4-f6 5.Rf8-a8 # 4...Se4-c5 5.Rf8-a8 # 4...d6-d5 5.Rf8-a8 # 4...Rh7-h8 5.Rf8-f7 # 1...Sg5-e6 2.Be8*c6 + 2...Kb5*c6 3.Rf8-c8 + 3...Kc6-b5 4.Rc8-b8 + 4...Kb5-c6 5.Rb8-b6 # 3...Se6-c7 4.Rc8*c7 + 4...Kc6-b5 5.Rc7-b7 + 5...Kb5-c6 6.Rb7-b6 # 5.Ra7-b7 + 5...Kb5-a6 6.Rb7-b6 # 5.Sd2-b1 threat: 6.Sb1-c3 # 6.Sb1*a3 # 5...Bh2-e5 6.Sb1*a3 # 4.Ra7*c7 + 4...Kc6-b5 5.Rc8-b8 + 5...Kb5-a6 6.Rb8-b6 # 1...Rh7-h8 2.Rf8-f5 + 2...Bh2-e5 3.Rf5-f7 threat: 4.Rf7-b7 # 3...g2-g1=Q 4.Rf7-b7 + 4...Qg1-b6 5.Rb7*b6 # 3...g2-g1=B 4.Rf7-b7 + 4...Bg1-b6 5.Rb7*b6 # 3...Be5-d4 4.Rf7-b7 + 4...Bd4-b6 5.Rb7*b6 # 3...Sg5*f7 4.c2-c4 + 4...Bf1*c4 5.Sd2-b1 threat: 6.Sb1*a3 # 2...d6-d5 3.Rf5*d5 #" --- authors: - Вукчевић, Милан Радоје source: Probleemblad date: 1971 distinction: 1st Prize algebraic: white: [Kh8, Qb6, Re7, Rb5, Bf7, Ba7, Sf3, Sd8, Pg3, Pe2, Pd6, Pc2, Pb4] black: [Ke4, Qh1, Rd1, Ra3, Bd7, Ba1, Ph6, Pg5, Pf5, Pe5, Pe3, Pd5, Pc6] stipulation: "#7" solution: 1.Sd8*e6 ! --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1971 algebraic: white: [Kb7, Rh1, Bh8, Bc2, Sf2, Sc1, Pg2, Pe4, Pc4, Pb6, Pa3] black: [Ka5, Qf1, Re3, Rd2, Bf4, Bd1, Se1, Pg4, Pe2, Pd5, Pc3, Pb3, Pa6, Pa4] stipulation: "#8" solution: 1.Lc2-d3 ! --- authors: - Вукчевић, Милан Радоје source: The British Chess Magazine date: 1972 distinction: 2nd Prize algebraic: white: [Kf3, Ra1, Se4, Sd3, Pg5, Pg4, Pe2, Pb2, Pa4] black: [Kh1, Qh2, Rh3, Ra3, Bg1, Ba8, Sb7, Ph4, Pg6, Pg3, Pg2, Pb3, Pa2] stipulation: "s#2" solution: | "1.Kf3-f4 ! zugzwang. 1...Ra3*a4 2.Sd3-f2 + 2...g3*f2 # 1...Sb7-a5 2.Se4-f2 + 2...g3*f2 # 1...Sb7-c5 2.Se4-f2 + 2...g3*f2 # 1...Sb7-d6 2.Se4-f2 + 2...g3*f2 # 1...Sb7-d8 2.Se4-f2 + 2...g3*f2 #" --- authors: - Вукчевић, Милан Радоје source: Die Schwalbe date: 1971 distinction: 1st Prize algebraic: white: [Kd4, Qd2, Rh2, Bd6, Ba4, Ph3, Pd5] black: [Kf3, Qe8, Re7, Pg7, Pc4, Pb6, Pb4] stipulation: "s#3" solution: | "1.Ba4-c2 ! threat: 2.Bc2-e4 + 2...Re7*e4 # 1...b4-b3 2.Qd2-c3 + 2...Re7-e3 3.Bc2-e4 + 3...Qe8*e4 # 1...c4-c3 2.Qd2-d1 + 2...Re7-e2 3.Bc2-e4 + 3...Qe8*e4 # 1...b6-b5 2.Bc2-d1 + 2...Re7-e2 3.Qd2-e3 + 3...Qe8*e3 # 1...Re7-e5 2.Qd2-e3 + 2...Re5*e3 3.Bc2-e4 + 3...Re3*e4 # 3...Qe8*e4 #" --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1971 distinction: 1st Prize algebraic: white: [Kc4, Qb3, Rg1, Ra2, Bg6, Bc1, Sh4, Sd1, Ph5, Pe6, Pd2, Pc5, Pb4] black: [Ke2, Qh7, Rf8, Bg7, Bf7, Sg8, Pc6] stipulation: "s#3" solution: | "1.Qb3-g3 ! threat: 2.Qg3-e5 + 2...Bg7*e5 3.Bg6-d3 + 3...Qh7*d3 # 1...Bf7*g6 2.d2-d4 + 2...Bg6-c2 3.Qg3-d3 + 3...Qh7*d3 # 1...Bg7-e5 2.Qg3-h2 + 2...Be5*h2 3.Bg6-d3 + 3...Qh7*d3 # 1...Qh7*h5 2.Qg3-f3 + 2...Qh5*f3 3.Bg6-d3 + 3...Qf3*d3 # 1...Qh7-h6 2.Qg3-e3 + 2...Qh6*e3 3.Bg6-d3 + 3...Qe3*d3 # 1...Qh7-h8 2.d2-d3 + 2...Bg7-b2 3.Sd1-c3 + 3...Qh8*c3 # 1...Rf8-d8 2.Qg3-d3 + 2...Rd8*d3 3.Bg6*d3 + 3...Qh7*d3 # 1...Sg8-f6 2.Qg3-g4 + 2...Sf6*g4 3.Bg6-d3 + 3...Qh7*d3 #" --- authors: - Вукчевић, Милан Радоје source: Los Angeles Times date: 1979 distinction: 4th Prize algebraic: white: [Kh6, Qh7, Rh2, Rd8, Bg8, Bf6, Sa3, Pf4, Pe7, Pe4, Pd2] black: [Kd3, Qb4, Ba8, Sb8, Sa6, Pd4, Pc2, Pb2] stipulation: "#3" solution: | "1.Kh6-g5 ! threat: 2.Qh7-h3 + 2...Kd3*e4 3.Bg8-h7 # 3.Rh2-e2 # 3.d2-d3 # 1...Qb4*d2 2.Rd8*d4 + 2...Kd3-e3 3.Qh7-h3 # 2...Kd3-c3 3.Sa3-b5 # 1...Qb4-c5 + 2.Rd8-d5 threat: 3.e4-e5 # 2...Qc5*a3 3.Rd5*d4 # 2...Qc5*e7 3.Rd5*d4 # 2...Qc5-c8 3.Rd5*d4 # 2...Qc5*d5 + 3.e4*d5 # 2...Ba8*d5 3.e4*d5 # 1...Qb4-a5 + 2.e4-e5 + 2...Ba8-e4 3.Bg8-c4 # 1...Qb4-b5 + 2.Bg8-d5 threat: 3.Qh7-h3 # 3.e4-e5 # 2...Qb5-e8 3.Qh7-h3 # 3.Bd5-c4 # 2...Qb5-d7 3.Bd5-c4 # 2...Qb5*d5 + 3.e4*d5 # 2...Sa6-c5 3.Qh7-h3 # 2...Ba8*d5 3.e4*d5 #" --- authors: - Вукчевић, Милан Радоје source: Neue Zürcher Zeitung date: 1979 distinction: 1st Prize algebraic: white: [Kh4, Qe8, Bg7, Se3, Sc7, Ph2, Pf2, Pe5, Pd6, Pd2] black: [Kd4, Qc1, Rg5, Bg4, Sb4, Ph5, Ph3, Pg6, Pe4, Pd3, Pc5, Pa6] stipulation: "#3" solution: | "1. Qe6! ~ 2. Qf5 ~ 3. Se6, e6# 2... g:f5, R:f5, Sc6, Sd5 3. Se6# 2... B:f5, Qc4, Q:d2 3. e6# 1... Rf5 2. Qd5+ S:d5 3. Se6# 1... Bf5 2. Qc4+ Q:c4 3. e6# 1... c4 2. d7 ~ 3. Qb6# 2... Sd5 3. Q:d5# 2... Kc5 3. Qd6# 2... B:e6 3. S:e6# 2... Q:d2 3. Q:c4# 1... B~ 2. Qd5+ S:d5 3. Se6#" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1979 algebraic: white: [Kh7, Rg4, Rg3, Bf4, Se2, Ph6, Ph3] black: [Kh5, Rc3, Ra2, Bc1, Bb5, Sb1, Sa3, Pf6, Pe6, Pe4, Pd7, Pc7] stipulation: "#4" solution: | "1.Kh7-g7 ! threat: 2.h6-h7 threat: 3.h7-h8=Q # 3.h7-h8=R # 2...Bc1*f4 3.Se2*f4 # 1...Ra2*e2 2.h6-h7 threat: 3.h7-h8=Q # 3.h7-h8=R # 2...Bc1*f4 3.h7-h8=Q + 3...Bf4-h6 + 4.Qh8*h6 # 3.h7-h8=R + 3...Bf4-h6 + 4.Rh8*h6 # 2.Rg4-g5 + 2...Kh5-h4 3.h6-h7 threat: 4.h7-h8=Q # 4.h7-h8=R # 2...f6*g5 3.h6-h7 threat: 4.h7-h8=Q # 4.h7-h8=R # 1...Sa3-c2 2.Rg3-d3 threat: 3.Se2-g3 # 2...Bc1*f4 3.Se2*f4 # 2...Rc3*d3 3.Bf4-e3 threat: 4.Se2-g3 # 4.Se2-f4 # 3...Bc1*e3 4.Se2-g3 # 3...Rd3*e3 4.Se2-f4 # 3...e6-e5 4.Se2-g3 # 1...Sa3-c4 2.Bf4-d2 threat: 3.Se2-f4 # 2...Bc1*d2 3.Rg3-e3 threat: 4.Se2-g3 # 4.Se2-f4 # 3...Bd2-e1 4.Se2-f4 # 3...Bd2*e3 4.Se2-g3 # 3...Rc3*e3 4.Se2-f4 # 3...e6-e5 4.Se2-g3 # 2...Rc3-f3 3.Rg3*f3 threat: 4.Se2-g3 # 4.Se2-f4 # 3...Bc1*d2 4.Se2-g3 # 3...e6-e5 4.Rf3-f5 # 4.Se2-g3 # 2...e6-e5 3.Rg3*c3 threat: 4.Se2-g3 # 1...Rc3-c5 2.h6-h7 threat: 3.h7-h8=Q # 3.h7-h8=R # 2...Bc1*f4 3.Se2*f4 # 2...Rc5-g5 + 3.Rg4*g5 + 3...Kh5-h4 4.h7-h8=Q # 4.h7-h8=R # 3...f6*g5 4.h7-h8=Q # 4.h7-h8=R # 1...Rc3-f3 2.h6-h7 threat: 3.h7-h8=Q # 3.h7-h8=R # 2...Bc1*f4 3.h7-h8=Q + 3...Bf4-h6 + 4.Qh8*h6 # 3.h7-h8=R + 3...Bf4-h6 + 4.Rh8*h6 # 3.Se2*f4 + 3...Rf3*f4 4.h7-h8=Q # 4.h7-h8=R # 1...e4-e3 2.h6-h7 threat: 3.h7-h8=Q # 3.h7-h8=R # 2...Bb5-d3 3.h7-h8=Q + 3...Bd3-h7 4.Qh8*h7 # 3.h7-h8=R + 3...Bd3-h7 4.Rh8*h7 # 1...Bb5*e2 2.h6-h7 threat: 3.h7-h8=Q # 3.h7-h8=R # 2...Bc1*f4 3.h7-h8=Q + 3...Bf4-h6 + 4.Qh8*h6 # 3.h7-h8=R + 3...Bf4-h6 + 4.Rh8*h6 # 1...Bb5-d3 2.h6-h7 threat: 3.h7-h8=Q # 3.h7-h8=R # 2...Bc1*f4 3.Se2*f4 # 2...e4-e3 3.h7-h8=Q + 3...Bd3-h7 4.Qh8*h7 # 3.h7-h8=R + 3...Bd3-h7 4.Rh8*h7 # 2.Rg3-e3 threat: 3.Se2-g3 # 2...Ra2*e2 3.h6-h7 threat: 4.h7-h8=Q # 4.h7-h8=R # 2...Bd3*e2 3.h6-h7 threat: 4.h7-h8=Q # 4.h7-h8=R # 1...e6-e5 2.h6-h7 threat: 3.h7-h8=Q # 3.h7-h8=R # 2...Bc1*f4 3.h7-h8=Q + 3...Bf4-h6 + 4.Qh8*h6 # 3.h7-h8=R + 3...Bf4-h6 + 4.Rh8*h6 # 3.Se2*f4 + 3...e5*f4 4.h7-h8=Q # 4.h7-h8=R #" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1979 algebraic: white: [Kd1, Qh3, Rd8, Rc6, Bf7, Ba3, Sg5, Sd7, Pc3, Pb4] black: [Kd3, Re3, Ra5, Ba4, Se6, Sb3, Pg3, Pf4, Pe4, Pd2, Pb5] stipulation: "s#3" solution: | "1. Qh8! ~ 2. S:e6 ~ 3. Qd4 S:d4# 3. Sb8 Sd4# 3. Sdf8 Sd4# 3. Sf6 Sd4# 1... Se~ 2. Bc4+ b:c4 3. Qd4 S:d4# 1... Sg7 2. Sc5+ K:c3 3. Sce6 Sc5# 1... Sec5 2. Se5+ K:c3 3. Sc4 Sd4# 1... Re2 2. R:e6 ~ 3. Qd4 S:d4#" --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1982 distinction: 1st-2nd Prize algebraic: white: [Kc4, Qd4, Rb3, Bc3, Sa2, Pe6, Pe4, Pd6, Pc6, Pc5, Pc2] black: [Ka4, Qf6] stipulation: "#3" solution: | "1.Sa2-b4 ! threat: 2.Qd4*f6 zugzwang. 2...Ka4-a5 3.Rb3-a3 # 1...Qf6*d4 + 2.Bc3*d4 zugzwang. 2...Ka4-a5 3.Rb3-a3 # 1...Qf6-e5 2.Qd4*e5 zugzwang. 2...Ka4-a5 3.Rb3-a3 # 1...Qf6-h4 2.Sb4-d3 threat: 3.Kc4-d5 # 3.Sd3-b2 # 2...Qh4-f2 3.Sd3-b2 # 2...Qh4-f6 3.Sd3-b2 # 2...Qh4-g5 3.Sd3-b2 # 2...Qh4*e4 3.Sd3-b2 # 2...Qh4-h8 3.Sd3-b2 # 2...Qh4-h5 3.Sd3-b2 # 2.Sb4-d5 threat: 3.Sd5-b6 # 3.Kc4-d3 # 2...Qh4-f2 3.Sd5-b6 # 2...Qh4-g3 3.Sd5-b6 # 2...Qh4-d8 3.Kc4-d3 # 2...Qh4-f6 3.Sd5-b6 # 2...Qh4-h3 3.Sd5-b6 # 2...Qh4*e4 3.Sd5-b6 # 2...Qh4-h8 3.Sd5-b6 # 2.Rb3-b2 threat: 3.Rb2-a2 # 1...Qf6-g5 2.Sb4-d3 threat: 3.Sd3-b2 # 2...Qg5-c1 3.Kc4-d5 # 2...Qg5*c5 + 3.Kc4*c5 # 3.Sd3*c5 # 2...Qg5-d5 + 3.Kc4*d5 # 2.Sb4-d5 threat: 3.Sd5-b6 # 3.Kc4-d3 # 2...Qg5-d2 3.Sd5-b6 # 2...Qg5-e3 3.Sd5-b6 # 2...Qg5-d8 3.Kc4-d3 # 2...Qg5-f6 3.Sd5-b6 # 2...Qg5-g1 3.Sd5-b6 # 2...Qg5-g3 3.Sd5-b6 # 2...Qg5*d5 + 3.Kc4*d5 # 2...Qg5-e5 3.Sd5-b6 # 2...Qg5-g7 3.Sd5-b6 # 1...Qf6-h8 2.Qd4*h8 threat: 3.Qh8-a8 # 1...Qf6-g7 2.Qd4*g7 threat: 3.Qg7-a7 # 1...Qf6-d8 2.Qd4-g1 threat: 3.Qg1-a1 # 2.Qd4-d1 threat: 3.Qd1-a1 # 2.Sb4-d3 threat: 3.Kc4-d5 # 3.Sd3-b2 # 2...Qd8-a5 3.Sd3-b2 # 2...Qd8-b6 3.Sd3-b2 # 2...Qd8-g5 3.Sd3-b2 # 2...Qd8-f6 3.Sd3-b2 # 2...Qd8*d6 3.Sd3-b2 # 2...Qd8-b8 3.Sd3-b2 # 2...Qd8-h8 3.Sd3-b2 # 2.Bc3-b2 threat: 3.Rb3-a3 # 2.Rb3-b1 threat: 3.Rb1-a1 # 2.Rb3-b2 threat: 3.Rb2-a2 # 1...Qf6-e7 2.d6*e7 zugzwang. 2...Ka4-a5 3.Rb3-a3 # 1...Qf6-f1 + 2.Sb4-d3 threat: 3.Kc4-d5 # 2...Qf1*d3 + 3.Kc4*d3 # 2...Qf1-f6 3.Sd3-b2 # 2...Qf1-f5 3.Sd3-b2 # 2...Qf1-f2 3.Sd3-b2 # 2...Qf1-g1 3.Sd3-b2 # 1...Qf6-f2 2.Qd4*f2 zugzwang. 2...Ka4-a5 3.Rb3-a3 # 1...Qf6-f3 2.Sb4-d3 threat: 3.Kc4-d5 # 3.Sd3-b2 # 2...Qf3-e2 3.Kc4-d5 # 2...Qf3-h5 3.Sd3-b2 # 2...Qf3*e4 3.Sd3-b2 # 2...Qf3-f1 3.Kc4-d5 # 2...Qf3-f2 3.Sd3-b2 # 2...Qf3*d3 + 3.Kc4*d3 # 2...Qf3-e3 3.Sd3-b2 # 2...Qf3-f6 3.Sd3-b2 # 2...Qf3-f5 3.Sd3-b2 # 1...Qf6-f4 2.Sb4-d3 threat: 3.Kc4-d5 # 3.Sd3-b2 # 2...Qf4-c1 3.Kc4-d5 # 2...Qf4-e3 3.Sd3-b2 # 2...Qf4-g5 3.Sd3-b2 # 2...Qf4*d6 3.Sd3-b2 # 2...Qf4-e5 3.Sd3-b2 # 2...Qf4-f1 3.Kc4-d5 # 2...Qf4-f2 3.Sd3-b2 # 2...Qf4*e4 3.Sd3-b2 # 2...Qf4-f6 3.Sd3-b2 # 2...Qf4-f5 3.Sd3-b2 # 1...Qf6-f5 2.e4*f5 zugzwang. 2...Ka4-a5 3.Rb3-a3 # 1...Qf6*e6 + 2.Sb4-d5 threat: 3.Kc4-d3 # 2...Qe6*d5 + 3.Kc4*d5 # 2...Qe6-h3 3.Sd5-b6 # 2...Qe6*e4 3.Sd5-b6 # 2...Qe6-e5 3.Sd5-b6 # 2...Qe6-f6 3.Sd5-b6 # 1...Qf6-f8 2.Sb4-d3 threat: 3.Kc4-d5 # 3.Sd3-b2 # 2...Qf8*d6 3.Sd3-b2 # 2...Qf8-g7 3.Sd3-b2 # 2...Qf8-f1 3.Kc4-d5 # 2...Qf8-f2 3.Sd3-b2 # 2...Qf8-f5 3.Sd3-b2 # 2...Qf8-f6 3.Sd3-b2 # 2...Qf8-b8 3.Sd3-b2 # 2...Qf8-h8 3.Sd3-b2 # 1...Qf6-f7 2.e6*f7 zugzwang. 2...Ka4-a5 3.Rb3-a3 # 1...Qf6-h6 2.Sb4-d5 threat: 3.Sd5-b6 # 3.Kc4-d3 # 2...Qh6-d2 3.Sd5-b6 # 2...Qh6-e3 3.Sd5-b6 # 2...Qh6-g7 3.Sd5-b6 # 2...Qh6-h3 3.Sd5-b6 # 2...Qh6*e6 3.Kc4-d3 # 2...Qh6-f6 3.Sd5-b6 # 2...Qh6-h8 3.Sd5-b6 # 1...Qf6-g6 2.Sb4-d5 threat: 3.Sd5-b6 # 3.Kc4-d3 # 2...Qg6*e4 3.Sd5-b6 # 2...Qg6-g1 3.Sd5-b6 # 2...Qg6-g3 3.Sd5-b6 # 2...Qg6*e6 3.Kc4-d3 # 2...Qg6-f6 3.Sd5-b6 # 2...Qg6-g7 3.Sd5-b6 #" --- authors: - Вукчевић, Милан Радоје source: Stosic-Gedenkturnier date: 1982 distinction: 2nd Prize algebraic: white: [Ka6, Qc3, Ra4, Bg5, Sf7, Sb3, Pf4, Pf2, Pd4, Pc2] black: [Ke4, Rd1, Bb6, Sf5, Sc4, Pg6, Pf3, Pd5, Pa7] stipulation: "#3" solution: | "1.Ra4-a3 ! zugzwang. 1...Rd1*d4 2.Sb3-c5 + 2...Bb6*c5 3.Qc3*f3 # 1...Bb6*d4 2.Sb3-d2 + 2...Rd1*d2 3.Qc3*f3 # 2...Sc4*d2 3.Qc3-d3 # 1...S~ 2.Qc3-e3 + 2...S:e3 3.Sf7-d6 #" keywords: - Selfblock - Defences on same square - Clearance sacrifice comments: - Check also 49983, 56764, 232897, 270505, 354330 --- authors: - Вукчевић, Милан Радоје source: Neue Zürcher Zeitung date: 1981 distinction: 1st Prize algebraic: white: [Kb2, Qe6, Rh3, Bh4, Bd7, Sc6, Sc4, Pf7, Pf3, Pc5] black: [Kf4, Qg8, Rh5, Rc8, Bh7, Sb7, Pg2, Pe7, Pd4, Pd3] stipulation: "#3" solution: | "1.Sc4-e3 ! threat: 2.Qe6-h6 + 2...Rh5-g5 3.Se3-d5 # 3.Se3*g2 # 2...Rh5*h6 3.Se3-d5 # 2...Qg8-g5 3.Se3-d5 # 3.Se3*g2 # 1...d4*e3 2.Qe6-c4 + 2...Bh7-e4 3.Qc4*e4 # 1...Rh5-g5 2.Se3-f5 threat: 3.Qe6-e4 # 3.Qe6-e5 # 2...Rg5-g3 3.Qe6-e4 # 2...Rg5*f5 3.Qe6-e4 # 2...Sb7*c5 3.Qe6-e5 # 2...Sb7-d6 3.Qe6-e5 # 2...Bh7*f5 3.Qe6-e5 # 2...Rc8*c6 3.Qe6-e4 # 2...Qg8-g7 3.Qe6-e4 # 2...Qg8-h8 3.Qe6-e4 # 1...Rc8*c6 2.f7-f8=Q + 2...Rh5-f5 3.Qe6-e4 # 3.Se3-d5 # 2...Bh7-f5 3.Se3-d5 # 3.Qe6-e4 # 2...Qg8-f7 3.Se3*g2 # 2...Qg8*f8 3.Se3*g2 # 2.f7-f8=R + 2...Rh5-f5 3.Qe6-e4 # 3.Se3-d5 # 2...Bh7-f5 3.Se3-d5 # 3.Qe6-e4 # 2...Qg8-f7 3.Se3*g2 # 2...Qg8*f8 3.Se3*g2 # 1...Qg8-g3 2.Bh4*g3 + 2...Kf4*f3 3.Sc6*d4 # 2...Kf4-g5 3.f3-f4 # 1...Qg8-g5 2.Qe6-e5 + 2...Qg5*e5 3.Se3*g2 # 1...Qg8-g6 2.Qe6-e4 + 2...Qg6*e4 3.Se3*g2 #" --- authors: - Вукчевић, Милан Радоје source: Échecs Français date: 1981 distinction: 3rd Prize algebraic: white: [Kb1, Qc6, Rc2, Rb5, Bf4, Sg3, Pe3, Pc4, Pb7, Pb4] black: [Kd3, Qg7, Re8, Re7, Bf6, Bf1, Pg6, Pe4, Pd4, Pa5] stipulation: "#3" solution: | "1.Qc6-d5 ! threat: 2.Bf4-e5 threat: 3.Qd5*e4 # 3.Qd5*d4 # 2...Bf1-g2 3.Qd5*d4 # 2...Kd3*e3 3.Qd5*e4 # 2...Bf6*e5 3.Qd5*e4 # 2...Re7*e5 3.Qd5*d4 # 2...Re7-d7 3.Qd5*e4 # 2...Re8-d8 3.Qd5*e4 # 1...Bf1-g2 2.Sg3-e2 threat: 3.Se2-c1 # 1...Bf1-e2 2.Sg3*e2 threat: 3.Se2-c1 # 1...Bf6-h4 2.c4-c5 threat: 3.Qd5-b3 # 3.Qd5-c4 # 2...a5-a4 3.Qd5-c4 # 2...Qg7-f7 3.Qd5*d4 # 2...Qg7-g8 3.Qd5*d4 # 1...Bf6-g5 2.c4-c5 threat: 3.Qd5-b3 # 3.Qd5-c4 # 2...a5-a4 3.Qd5-c4 # 2...Bg5*f4 3.Qd5-b3 # 2...Qg7-f7 3.Qd5*d4 # 2...Qg7-g8 3.Qd5*d4 # 1...Re7-d7 2.Rb5*a5 threat: 3.Ra5-a3 # 2...Re8-a8 3.Qd5*e4 # 1...Qg7-h6 2.c4-c5 threat: 3.Qd5-b3 # 3.Qd5-c4 # 2...a5-a4 3.Qd5-c4 # 2...Qh6*f4 3.Qd5-b3 # 1...Qg7-f7 2.Sg3-h1 threat: 3.Sh1-f2 # 2...Bf6-h4 3.Qd5*d4 # 1...Qg7-g8 2.Sg3-h1 threat: 3.Sh1-f2 # 2...Bf6-h4 3.Qd5*d4 # 1...Re8-d8 2.b4*a5 threat: 3.Rb5-b3 # 2...Re7*b7 3.Qd5*e4 #" --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1981 distinction: 1st Prize algebraic: white: [Kb1, Qe4, Rh1, Rg3, Bf3, Bc7, Se2, Sc3, Pg2, Pe3, Pd2] black: [Kf2, Qh7, Rf7, Ba1, Sg7, Sb2, Ph6, Pe7, Pe6] stipulation: "#3" solution: | "1. Bb6! - 2. Qg6! 2... Q:g6+ 3. e4# 1... Rf5 2. Qf4! [3. Se4#] 2... Re5+ 3. Be4# 2... R:f4+ 3. e4# 1... Sf5 2. Qh4! [3. Se4#] 2... S:e3+ 3. Rg6# 2... S:h4+ 3. e4# 1... e5 2. Qf5! [3. Se4, e4#] 2... Q:f5+ 3. e4#" keywords: - Clearance sacrifice - Indirect unpinning - Defences on same square - Battery creation - Battery play --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1981 distinction: 1st HM algebraic: white: [Kb1, Qd8, Rg2, Bh1, Sf3, Se4, Pc5, Pb6, Pb2, Pa3] black: [Kc6, Qh2, Rg5, Rb7, Bh7, Bg1, Sc8, Ph3, Pg6, Pf4, Pb5] stipulation: "#3" solution: | "1.Se4-c3 ! threat: 2.Qd8*c8 + 2...Rb7-c7 3.Qc8*c7 # 1...Bg1*c5 2.Sf3-e5 + 2...Rg5*e5 3.Rg2*g6 # 1...Rg5*c5 2.Sf3-d4 + 2...Bg1*d4 3.Rg2*g6 # 1...Kc6*c5 2.Rg2*g5 + 2...Kc5-c6 3.Sf3-d4 # 2...Kc5-c4 3.Qd8-d5 #" --- authors: - Вукчевић, Милан Радоје source: Themes 64 date: 1982 algebraic: white: [Kf1, Qa5, Rg2, Ra7, Bh1, Be7, Sf7, Sb6, Ph4, Pf4, Pd2, Pc3] black: [Kc6, Qh8, Rh5, Rd7, Sb8, Pe6, Pc7, Pc4, Pb5] stipulation: "#3" solution: | "1.d2-d4 ! threat: 2.Rg2-b2 + 2...Rh5-d5 3.Qa5*b5 # 2...Rd7-d5 3.Qa5*b5 # 1...Rh5*h4 2.Qa5*b5 + 2...Kc6*b5 3.Rg2-b2 # 1...Rh5-c5 2.Rg2-g7 + 2...Rc5-d5 3.Sf7-e5 # 2...Rd7-d5 3.Sf7-e5 # 1...Rd7*d4 2.Rg2-g8 + 2...Rd4-e4 3.Sf7-d8 # 2...Rd4-d5 3.Sf7-d8 # 2...Rh5-d5 3.Sf7-d8 # 2.Rg2-g6 + 2...Rd4-e4 3.Rg6*e6 # 2...Rd4-d5 3.Rg6*e6 # 2...Rh5-d5 3.Rg6*e6 # 1...Qh8*d4 2.Rg2-g5 + 2...Qd4-d5 3.Sf7-e5 # 2...Qd4-e4 3.Sf7-e5 # 3.Qa5*b5 # 2...Rd7-d5 3.Sf7-d8 # 1...Qh8-e5 2.Rg2-g5 + 2...Qe5-e4 3.Sf7-e5 # 3.Qa5*b5 # 2...Qe5-d5 3.Sf7-e5 # 2...Rd7-d5 3.Sf7*e5 # 3.Sf7-d8 # 1...Qh8-g7 2.Rg2*g7 + 2...Rh5-d5 3.Sf7-e5 # 2...Rd7-d5 3.Sf7-d8 # 2.Rg2-g5 + 2...Rd7-d5 3.Sf7-d8 # 1...Qh8-h7 2.Rg2-g6 + 2...Rh5-d5 3.Sf7-e5 # 2...Rd7-d5 3.Sf7-d8 # 3.Rg6*e6 # 2.Rg2-g5 + 2...Qh7-e4 3.Sf7-e5 # 3.Qa5*b5 # 2...Rd7-d5 3.Sf7-e5 # 3.Sf7-d8 # 1...Qh8-g8 2.Rg2*g8 + 2...Rh5-d5 3.Sf7-e5 # 2...Rd7-d5 3.Sf7-d8 # 2.Rg2-g6 + 2...Rd7-d5 3.Rg6*e6 # 2...Rh5-d5 3.Sf7-e5 # 2.Rg2-g5 + 2...Rd7-d5 3.Sf7-e5 #" --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1982 distinction: 1st HM algebraic: white: [Ka6, Ra5, Bf6, Bc4, Se5, Sc5, Pg6, Pg3, Pd6, Pc2] black: [Kh5, Qf3, Rh2, Rg1, Bh1, Sf8, Ph6, Pg4, Pf4, Pe4, Pe3, Pd7] stipulation: "#3" solution: | "1.Bc4-f7 ! threat: 2.g6-g7 + 2...Sf8-g6 3.Bf7*g6 # 1...Qf3-e2 + 2.Se5-d3 threat: 3.Sc5-a4 # 3.Sc5-b3 # 3.Sc5*e4 # 3.Sc5-e6 # 3.Sc5*d7 # 3.Sc5-b7 # 2...Rg1-a1 3.Sc5-a4 # 2...Rg1-b1 3.Sc5-b3 # 2...Qe2*d3 + 3.Sc5*d3 # 2...Qe2-e1 3.Sd3*f4 # 2...Qe2*c2 3.Sd3*f4 # 2...Qe2-d2 3.Sd3*f4 # 2...e4*d3 3.Sc5-e4 # 2...Sf8-e6 3.g6-g7 # 3.Sc5*e6 # 2...Sf8-h7 3.g6-g7 # 3.g6*h7 # 1...Qf3-f1 + 2.Sc5-d3 threat: 3.Se5-c4 # 3.Se5-f3 # 3.Se5*d7 # 3.Se5-c6 # 2...Qf1*d3 + 3.Se5*d3 # 2...Qf1-a1 3.Sd3*f4 # 2...Qf1-b1 3.Sd3*f4 # 2...Qf1-e1 3.Sd3*f4 # 2...Rh2*c2 3.Se5-c4 # 2...e4*d3 3.Se5-f3 # 2...f4*g3 3.Se5-f3 # 2...Sf8-e6 3.g6-g7 # 2...Sf8-h7 3.g6-g7 # 3.g6*h7 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1981 distinction: 1st Prize algebraic: white: [Kh2, Qg4, Rg1, Bf4, Be4, Sg5, Sc1, Ph4, Pf5, Pf3, Pe2, Pb2] black: [Kd2, Qa8, Rd6, Rc7, Bf8, Bd5, Sh5, Pe3, Pc2, Pa4] stipulation: "#3" solution: | "1.Bf4-g3 ! threat: 2.Bg3-e1 + 2...Kd2-d1 3.Be1-c3 # 3.Be1-a5 # 3.Be1-b4 # 2...Kd2*c1 3.Be1-c3 # 1...Bd5-a2 2.f3-f4 threat: 3.Sg5-f3 # 2...Qa8*e4 3.Sg5*e4 # 1...Bd5-b3 2.f3-f4 threat: 3.Sg5-f3 # 2...Qa8*e4 3.Sg5*e4 # 1...Bd5-c4 2.f3-f4 threat: 3.Sg5-f3 # 2...Bc4*e2 3.Qg4*e2 # 2...Qa8*e4 3.Sg5*e4 # 1...Bd5*e4 2.f3*e4 threat: 3.Sg5-f3 # 2...Qa8*e4 3.Sg5*e4 # 1...Bd5-g8 2.f3-f4 threat: 3.Sg5-f3 # 2...Qa8*e4 3.Sg5*e4 # 1...Bd5-f7 2.f3-f4 threat: 3.Sg5-f3 # 2...Qa8*e4 3.Sg5*e4 # 1...Bd5-e6 2.f3-f4 threat: 3.Sg5-f3 # 2...Qa8*e4 3.Sg5*e4 # 1...Bd5-b7 2.Be4-c6 threat: 3.Sg5-e4 # 3.Qg4-b4 # 2...Sh5-f4 3.Sg5-e4 # 2...Sh5*g3 3.Qg4-b4 # 2...Sh5-f6 3.Qg4-b4 # 2...Rd6-d3 3.Sg5-e4 # 2...Rd6-d4 3.Qg4*d4 # 2...Rd6-d5 3.Sg5-e4 # 2...Rd6*c6 3.Sg5-e4 # 3.Qg4-d4 # 2...Rd6-d8 3.Sg5-e4 # 2...Rd6-d7 3.Sg5-e4 # 2...Rd6-h6 3.Sg5-e4 # 3.Qg4-d4 # 2...Rd6-g6 3.Sg5-e4 # 3.Qg4-d4 # 2...Rd6-f6 3.Sg5-e4 # 3.Qg4-d4 # 2...Rd6-e6 3.Qg4-d4 # 2...Bb7*c6 3.Qg4-b4 # 2...Rc7*c6 3.Sg5-e4 # 2...Rc7-e7 3.Qg4-b4 # 2...Qa8-a5 3.Sg5-e4 # 2...Qa8-e8 3.Qg4-b4 # 2...Bf8-g7 3.Sg5-e4 # 1...Bd5-c6 2.Be4-d5 threat: 3.Sg5-e4 # 3.Qg4-b4 # 3.Qg4-d4 # 2...Sh5-f4 3.Sg5-e4 # 2...Sh5*g3 3.Qg4-b4 # 3.Qg4-d4 # 2...Sh5-f6 3.Qg4-b4 # 3.Qg4-d4 # 2...Bc6-b5 3.Sg5-e4 # 2...Bc6*d5 3.Qg4-d4 # 2...Bc6-e8 3.Sg5-e4 # 3.Qg4-d4 # 2...Bc6-d7 3.Sg5-e4 # 3.Qg4-d4 # 2...Bc6-b7 3.Sg5-e4 # 3.Qg4-d4 # 2...Rd6*d5 3.Sg5-e4 # 2...Rd6-d8 3.Sg5-e4 # 3.Qg4-d4 # 2...Rd6-d7 3.Sg5-e4 # 3.Qg4-d4 # 2...Rd6-h6 3.Sg5-e4 # 3.Qg4-d4 # 2...Rd6-g6 3.Sg5-e4 # 3.Qg4-d4 # 2...Rd6-f6 3.Sg5-e4 # 3.Qg4-d4 # 2...Rd6-e6 3.Qg4-d4 # 2...Rc7-b7 3.Sg5-e4 # 3.Qg4-d4 # 2...Rc7-e7 3.Qg4-b4 # 3.Qg4-d4 # 2...Qa8-b7 3.Sg5-e4 # 3.Qg4-d4 # 2...Qa8-a5 3.Sg5-e4 # 3.Qg4-d4 # 2...Qa8-a6 3.Sg5-e4 # 3.Qg4-b4 # 2...Qa8-a7 3.Sg5-e4 # 3.Qg4-b4 # 2...Qa8-e8 3.Qg4-b4 # 3.Qg4-d4 # 2...Qa8-b8 3.Sg5-e4 # 3.Qg4-d4 # 2...Bf8-g7 3.Sg5-e4 # 1...Sh5*g3 2.Qg4*g3 threat: 3.Qg3-e1 #" --- authors: - Вукчевић, Милан Радоје source: Stosic MT date: 1982 distinction: 1st Prize algebraic: white: [Kb7, Qd8, Rd1, Rc6, Bg6, Bd6, Se7, Sd5, Pe6, Pd7, Pd3, Pb4] black: [Kd4, Rh3, Rc1, Bh2, Bb1, Pe2, Pb6, Pb3, Pb2, Pa7] stipulation: "#3" solution: | "1.Qd8-c7 ! threat: 2.Rc6-c4 + 2...Rc1*c4 3.Qc7*c4 # 1...Bb1*d3 2.Bd6-g3 threat: 3.Qc7-f4 # 3.Qc7-e5 # 3.Rd1*d3 # 2...Bh2*g3 3.Rd1*d3 # 2...Rh3*g3 3.Qc7-f4 # 1...Rh3*d3 2.Rc6-c2 threat: 3.Qc7-c3 # 3.Qc7-c4 # 3.Rd1*d3 # 2...Bb1*c2 3.Qc7-c3 # 2...Rc1*c2 3.Rd1*d3 #" keywords: - Bristol - Novotny --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1981 distinction: 3rd Prize algebraic: white: [Kc8, Rg7, Rb5, Bh8, Bc6, Sb1, Pf7, Pf2, Pe6, Pe2, Pc2, Pa4] black: [Kc4, Qh5, Rh3, Bh1, Sf1, Ph6, Pf5, Pf4, Pc7, Pa3] stipulation: "#3" solution: | "1.f2-f3 ! threat: 2.Rg7-g4 threat: 3.Bc6-d5 # 3.Rg4*f4 # 3.Sb1*a3 # 2...Sf1-g3 3.Bc6-d5 # 3.Sb1-d2 # 3.Sb1*a3 # 2...Sf1-e3 3.Rg4*f4 # 3.Sb1-d2 # 3.Sb1*a3 # 2...Sf1-d2 3.Bc6-d5 # 3.Sb1*d2 # 3.Sb1*a3 # 2...Bh1*f3 3.Sb1*a3 # 2...Rh3*f3 3.Bc6-d5 # 2...Rh3-h4 3.Bc6-d5 # 3.Sb1*a3 # 2...f5*g4 3.Sb1*a3 # 2...Qh5*g4 3.Sb1*a3 # 3.Bc6-d5 # 2...Qh5-h4 3.Bc6-d5 # 3.Sb1*a3 # 2...Qh5-g5 3.Bc6-d5 # 3.Sb1*a3 # 1...Bh1*f3 2.Rg7-g3 threat: 3.Sb1*a3 # 1...Rh3*f3 2.Rg7-g2 threat: 3.Bc6-d5 # 2...Sf1-e3 3.Sb1-d2 # 3.Sb1*a3 # 2...Rf3-d3 3.e2*d3 # 3.c2*d3 # 1...Kc4-d4 2.Rg7-g2 + 2...Kd4-e3 3.Rb5-b3 # 2...Kd4-c4 3.Bc6-d5 # 3.Sb1*a3 # 1...Qh5*f3 2.f7-f8=Q threat: 3.Qf8-b4 # 3.Qf8-c5 # 3.Rb5-b4 # 2...Qf3*c6 3.Qf8-b4 # 2...Qf3-d5 3.Qf8-b4 # 3.Rb5-b4 # 2...Qf3-f2 3.Qf8-b4 # 3.Rb5-b4 # 2...Qf3-b3 3.Qf8-c5 # 2...Qf3-c3 3.Qf8-c5 # 2...Qf3-e3 3.Qf8-b4 # 3.Rb5-b4 # 2...Kc4-d4 3.Qf8-c5 # 1...Qh5*f7 2.Rg7*f7 threat: 3.Bc6-d5 # 3.Sb1*a3 # 2...Sf1-e3 3.Sb1-d2 # 3.Sb1*a3 # 2...Bh1*f3 3.Sb1*a3 # 2...Rh3*f3 3.Bc6-d5 # 1...Qh5-g6 2.Rg7*g6 threat: 3.Bc6-d5 # 3.Sb1*a3 # 2...Sf1-e3 3.Sb1-d2 # 3.Sb1*a3 # 2...Bh1*f3 3.Sb1*a3 # 2...Rh3*f3 3.Bc6-d5 # 1...Qh5-h4 2.Rg7-g5 threat: 3.Bc6-d5 # 3.Sb1*a3 # 2...Sf1-e3 3.Sb1-d2 # 3.Sb1*a3 # 2...Bh1*f3 3.Sb1*a3 # 2...Rh3*f3 3.Bc6-d5 # 1...Qh5-g5 2.Rg7*g5 threat: 3.Bc6-d5 # 3.Sb1*a3 # 2...Sf1-e3 3.Sb1-d2 # 3.Sb1*a3 # 2...Bh1*f3 3.Sb1*a3 # 2...Rh3*f3 3.Bc6-d5 #" --- authors: - Вукчевић, Милан Радоје source: diagrammes date: 1981 algebraic: white: [Kh8, Qe1, Re7, Rc1, Bd8, Ba2, Sg7, Sc4, Pg2, Pe5, Pb7, Pb6, Pb4, Pa5, Pa4] black: [Kd5, Qb8, Re2, Be8, Ba1, Pg6, Pf5, Pd3] stipulation: "#3" solution: | "1.Qe1-g3 ! threat: 2.Sc4-d2 + 2...Kd5-d4 3.Sg7-e6 # 1...Ba1*e5 2.Sc4-e3 + 2...Kd5-d6 3.Qg3*e5 # 2...Kd5-d4 3.Rc1-c4 # 2...Kd5-e4 3.Rc1-c4 # 1...Re2*a2 2.Qg3*d3 + 2...Ba1-d4 3.Sc4-e3 # 3.Qd3-f3 # 2...Kd5-c6 3.Qd3-f3 # 3.Sc4-b2 # 2.Qg3-f3 + 2...Kd5-d4 3.Sg7-e6 # 1...Re2-b2 2.Sc4-e3 + 2...Kd5-e4 3.Rc1-c4 # 2...Kd5-d4 3.Rc1-c4 # 3.Qg3-f4 # 2.Qg3*d3 + 2...Kd5-c6 3.Sc4*b2 # 3.Qd3-f3 # 2.Qg3-f3 + 2...Kd5-d4 3.Sg7-e6 # 1...Re2-c2 2.Qg3*d3 + 2...Ba1-d4 3.Qd3-f3 # 2...Kd5-c6 3.Qd3-f3 # 1...Re2*e5 2.Sc4-d6 + 2...Kd5*d6 3.Sg7*e8 # 2...Kd5-d4 3.Qg3*e5 # 1...Re2-e4 2.Sc4-e3 + 2...Kd5-d4 3.Sg7-e6 # 3.Rc1-c4 # 1...Kd5-d4 2.Sg7-e6 + 2...Kd4-e4 3.Qg3-f3 # 2...Kd4-d5 3.Sc4-d2 # 1...Kd5-e4 2.Qg3-f3 + 2...Ke4-d4 3.Sg7-e6 # 1...f5-f4 2.Sc4-b2 + 2...Kd5-d4 3.Qg3*d3 # 2...Kd5-e4 3.Qg3*d3 # 1...Qb8*e5 2.Sc4-b2 + 2...Kd5-d6 3.b7-b8=Q # 3.b7-b8=B # 2...Kd5-d4 3.Qg3*d3 # 2...Kd5-e4 3.Qg3*e5 # 1...Qb8-d6 2.Qg3*d3 + 2...Ba1-d4 3.Sc4-b2 # 3.Sc4-d2 # 3.Sc4-e3 # 2...Kd5-c6 3.Qd3*d6 # 1...Qb8-c7 2.Qg3*d3 + 2...Ba1-d4 3.Sc4-e3 # 2...Kd5-c6 3.Re7*c7 # 1...Qb8-c8 2.Qg3*d3 + 2...Ba1-d4 3.Sc4-e3 # 2...Kd5-c6 3.b7*c8=Q # 3.b7*c8=R # 3.Qd3-d6 # 1...Be8*a4 2.Qg3*d3 + 2...Ba1-d4 3.Sc4-e3 # 2...Kd5-c6 3.Qd3-d7 # 1...Be8-b5 2.Qg3*d3 + 2...Ba1-d4 3.Sc4-e3 # 2...Kd5-c6 3.Qd3-d7 # 1...Be8-d7 2.Qg3*d3 + 2...Ba1-d4 3.Sc4-e3 # 3.Sc4-b2 # 3.Sc4-d2 # 2...Kd5-c6 3.Qd3*d7 # 1...Be8-f7 2.Qg3*d3 + 2...Ba1-d4 3.Sc4-e3 # 3.Sc4-b2 # 3.Sc4-d2 # 2...Kd5-c6 3.Qd3-d7 #" --- authors: - Вукчевић, Милан Радоје source: Schweizerische Schachzeitung date: 1980 distinction: 2nd Prize algebraic: white: [Kh7, Qg1, Re3, Bh8, Sc1, Ph2, Pf3, Pe2, Pd6, Pd4, Pb4] black: [Kf4, Ra5, Ra3, Bb2, Ba6, Sb6, Pg5, Pg2, Pf5, Pe6, Pd7, Pc3, Pb3] stipulation: "#3" solution: | "1.Bh8-g7 ! threat: 2.b4-b5 threat: 3.Bg7-e5 # 3.Sc1-d3 # 2...Bb2*c1 3.Bg7-e5 # 2...Ra5*b5 3.Sc1-d3 # 2...g5-g4 3.Bg7-h6 # 2...Ba6*b5 3.Bg7-e5 # 2...Sb6-c4 3.Sc1-d3 # 1...Bb2*c1 2.Qg1*c1 threat: 3.Re3*c3 # 3.Re3-d3 # 3.Re3*e6 # 3.Re3-e5 # 3.Re3-e4 # 2...g2-g1=Q 3.Re3-e4 # 2...g2-g1=R 3.Re3-e4 # 2...g2-g1=B 3.Re3-e4 # 2...Ra3-a1 3.Re3-e4 # 2...Ra3-a2 3.Re3-e4 # 2...b3-b2 3.Re3-e4 # 2...Ra5-e5 3.Bg7*e5 # 3.Re3*e5 # 3.Re3-e4 # 2...Ba6*e2 3.Re3*c3 # 3.Re3-d3 # 2...Ba6-d3 3.Re3*d3 # 3.Re3*e6 # 3.Re3-e5 # 3.Re3-e4 # 2...Sb6-c4 3.Re3-e4 # 2...Sb6-d5 3.Bg7-e5 # 3.Re3-e4 # 2...e6-e5 3.Re3-e4 # 3.Re3*c3 # 3.Re3-d3 # 3.Re3*e5 # 1...Ra5-d5 2.Re3-e5 threat: 3.Qg1-e3 # 2...Bb2*c1 3.Qg1*c1 # 2...Rd5*e5 3.Bg7*e5 # 2...Sb6-c4 3.Sc1-d3 # 1...Ra5-c5 2.b4*c5 threat: 3.Bg7-e5 # 2...g5-g4 3.Bg7-h6 # 2...Sb6-c4 3.Sc1-d3 # 1...Ba6-c4 2.Re3-d3 threat: 3.Qg1-e3 # 2...Bb2*c1 3.Qg1*c1 # 2...Bc4*d3 3.Sc1*d3 # 2...Ra5-e5 3.Bg7*e5 # 2...Sb6-d5 3.Bg7-e5 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1982 algebraic: white: [Kg7, Qc5, Rf1, Rb4, Sf5, Sd7, Ph5, Pg6, Pg2, Pe3, Pd2] black: [Ke4, Qh4, Ra6, Ra4, Bb8, Ba8, Sc2, Pg4, Pf6, Pe5, Pd5, Pd3, Pc4] stipulation: "#3" solution: | "1.Rb4-b5 ! threat: 2.Qc5*d5 + 2...Ba8*d5 3.Sd7-c5 # 1...Qh4-f2 2.Rf1*f2 threat: 3.Sf5-g3 # 1...Ra6-a7 2.Qc5-c7 threat: 3.Sd7-c5 # 3.Sf5-d6 # 2...Sc2*e3 3.Sd7-c5 # 2...Ra4-a6 3.Sd7-c5 # 2...Qh4-f2 3.Sf5-d6 # 2...d5-d4 3.Sf5-d6 # 2...Ra7-a6 3.Sd7-c5 # 2...Ra7*c7 3.Sf5-d6 # 2...Bb8*c7 3.Sd7-c5 # 1...Ra6-d6 2.Qc5-d4 + 2...Sc2*d4 3.Sd7-c5 # 2...e5*d4 3.Rf1-f4 # 1...Bb8-a7 2.Qc5-b6 threat: 3.Sd7-c5 # 3.Sf5-d6 # 2...Qh4-f2 3.Sf5-d6 # 2...d5-d4 3.Sf5-d6 # 2...Ra6*b6 3.Sd7-c5 # 2...Ba7*b6 3.Sf5-d6 # 2...Ba7-b8 3.Sd7-c5 # 1...Bb8-d6 2.Sf5-g3 + 2...Qh4*g3 3.Sd7*f6 #" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1982 distinction: Prize algebraic: white: [Ke8, Qa1, Rg2, Sf4, Se3, Pg3, Pf2, Pd4, Pc3] black: [Ke4, Rb7, Bd8, Bc6, Sg5, Sd2, Pe7, Pd7, Pd6, Pb3] stipulation: "#4" solution: | "1.Qa1-h1 ! threat: 2.f2-f3 + 2...Sg5*f3 3.Qh1-h7 + 3...Ke4*e3 4.Qh7-d3 # 4.Rg2-e2 # 2...Sd2*f3 3.Qh1-b1 + 3...Ke4*e3 4.Rg2-e2 # 4.Qb1-d3 # 2...Ke4*e3 3.Rg2-e2 # 2...Ke4*f3 3.Rg2-e2 + 3...Kf3*g3 4.Sf4-h5 # 3.Rg2*d2 + 3...Kf3*e3 4.Rd2-e2 # 3...Kf3*g3 4.Sf4-h5 # 3.Rg2-h2 + 3...Kf3*g3 4.Sf4-e2 # 4.Sf4-h5 # 3...Kf3*e3 4.Rh2-e2 # 1...Bc6-b5 2.Rg2-h2 + 2...Sd2-f3 3.Qh1-b1 + 3...Bb5-d3 4.Qb1*d3 # 2...Sg5-f3 3.Rh2-h8 threat: 4.Qh1-h7 # 1...Rb7-b5 2.Rg2-g1 + 2...Sd2-f3 3.Rg1-a1 threat: 4.Qh1-b1 # 2...Sg5-f3 3.Qh1-h7 + 3...Rb5-f5 4.Qh7*f5 #" keywords: - Bristol - Mutual block --- authors: - Вукчевић, Милан Радоје source: Milan Trivanovič MT date: 1982 distinction: 1st Prize algebraic: white: [Kf1, Rg1, Re5, Se8, Sa8, Pf5, Pc3, Pc2, Pb2, Pa4] black: [Kc4, Rc8, Rc6, Pd4] stipulation: "#5" solution: | "1.Rg1-g7 ! threat: 2.Rg7-d7 threat: 3.Rd7*d4 # 1...Rc6-a6 2.Rg7-g3 threat: 3.b2-b3 # 2...Rc8-b8 3.Sa8-b6 + 3...Ra6*b6 {display-departure-file} 4.b2-b3 + 4...Rb6*b3 5.Se8-d6 # 3...Rb8*b6 {display-departure-file} 4.Se8-d6 + 4...Rb6*d6 5.b2-b3 # 1...Rc6-h6 2.Rg7-g4 threat: 3.Rg4*d4 # 2...Rc8-d8 3.Se8-d6 + 3...Rh6*d6 {display-departure-file} 4.Rg4*d4 + 4...Rd6*d4 5.Sa8-b6 # 3...Rd8*d6 {display-departure-file} 4.Sa8-b6 + 4...Rd6*b6 5.Rg4*d4 #" comments: - "C+" --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1981 algebraic: white: [Kb7, Rg4, Rd7, Bg3, Bc6, Sf3, Sc1, Pe5, Pd3, Pb3, Pa4, Pa3] black: [Kc5, Qb2, Rh6, Rh5, Bg8, Bf2, Sh3, Sb4, Pc4, Pb6] stipulation: "#5" solution: --- authors: - Вукчевић, Милан Радоје source: Schweizerische Schachzeitung date: 1981 distinction: 1st Prize algebraic: white: [Kh8, Qc4, Re3, Be7, Sf7, Sd6, Ph3, Pf2] black: [Kf4, Qd1, Rg1, Ra5, Bb2, Ba8, Sd4, Sc1, Ph7, Pg2, Pf3, Pe6, Pd7, Pc2, Pb3] stipulation: "#5" solution: | "1.Be7-h4 ! threat: 2.Bh4-g3 # 1...Sc1-e2 2.Qc4-d5 threat: 3.Bh4-g5 # 3.Re3-e4 # 2...Qd1-d3 3.Bh4-g5 # 2...Se2-g3 3.Bh4*g3 # 3.Bh4-g5 # 2...Se2-c3 3.Bh4-g3 # 3.Bh4-g5 # 2...Sd4-f5 + 3.Kh8*h7 threat: 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...Qd1*d5 4.Bh4-g5 # 3...Qd1-d4 4.Bh4-g5 # 4.Re3*f3 # 3...Qd1-d3 4.Bh4-g5 # 3...Bb2-f6 4.Re3-e4 # 4.Re3*f3 # 3...Se2-c1 4.Bh4-g5 # 4.Re3-e4 # 3...Se2-g3 4.Bh4-g5 # 3...Se2-d4 4.Bh4-g5 # 4.Re3-e4 # 3...Se2-c3 4.Bh4-g5 # 3...Ra5-a4 4.Bh4-g5 # 4.Re3*f3 # 3...Ra5*d5 4.Bh4-g5 # 4.Re3-e4 # 3...Sf5-d4 4.Bh4-g5 # 4.Re3-e4 # 3...Sf5*e3 4.Bh4-g5 # 3...Sf5-g3 4.Bh4-g5 # 4.Re3*f3 # 3...Sf5*h4 4.Re3-e4 # 3...Sf5*d6 4.Bh4-g5 # 4.Re3*f3 # 3...e6*d5 4.Bh4-g5 # 3...Ba8*d5 4.Bh4-g5 # 2...Sd4-c6 + 3.Kh8*h7 threat: 4.Qd5*f3 # 4.Qd5-e4 # 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...Qd1*d5 4.Bh4-g5 + 4...Qd5*g5 5.Re3-e4 # 3...Qd1-d4 4.Qd5*f3 # 4.Bh4-g5 # 4.Re3*f3 # 3...Qd1-d3 + 4.Qd5-e4 + 4...Qd3*e4 + 5.Re3*e4 # 4.Re3-e4 + 4...Qd3*e4 + 5.Qd5*e4 # 3...Bb2-f6 4.Qd5*f3 # 4.Qd5-e4 # 4.Re3-e4 # 4.Re3*f3 # 3...Se2-c1 4.Qd5-e4 # 4.Bh4-g3 # 4.Bh4-g5 # 4.Re3-e4 # 3...Se2-g3 4.Bh4*g3 # 4.Bh4-g5 # 3...Se2-d4 4.Qd5-e4 # 4.Bh4-g3 # 4.Bh4-g5 # 4.Re3-e4 # 3...Se2-c3 4.Bh4-g3 # 4.Bh4-g5 # 3...Ra5-a4 4.Qd5*f3 # 4.Qd5-g5 # 4.Bh4-g5 # 4.Re3*f3 # 3...Ra5*d5 4.Re3-e4 # 3...Sc6-b4 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...Sc6-d4 4.Bh4-g5 # 4.Re3-e4 # 3...Sc6-e5 4.Bh4-g5 # 4.Re3-e4 # 3...Sc6-e7 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...Sc6-d8 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...Sc6-b8 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...Sc6-a7 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...e6*d5 4.Bh4-g5 # 2...Sd4-b5 + 3.Kh8-g8 threat: 4.Qd5-g5 # 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...Qd1*d5 4.Re3-e4 + 4...Qd5*e4 5.Bh4-g5 # 3...Qd1-d4 4.Qd5-g5 # 4.Bh4-g5 # 4.Re3*f3 # 3...Qd1-d3 4.Qd5-g5 # 4.Bh4-g5 # 3...Bb2-f6 4.Re3-e4 # 4.Re3*f3 # 3...Bb2-e5 4.Re3*f3 # 4.Qd5*e5 # 4.Bh4-g5 # 4.Re3-e4 # 3...Se2-c1 4.Qd5-g5 # 4.Bh4-g3 # 4.Bh4-g5 # 4.Re3-e4 # 3...Se2-g3 4.Qd5-g5 # 4.Bh4*g3 # 4.Bh4-g5 # 3...Se2-d4 4.Qd5-g5 # 4.Qd5-e5 # 4.Bh4-g3 # 4.Bh4-g5 # 4.Re3-e4 # 3...Se2-c3 4.Qd5-g5 # 4.Qd5-e5 # 4.Bh4-g3 # 4.Bh4-g5 # 3...Ra5-a4 4.Qd5-g5 # 4.Bh4-g5 # 4.Re3*f3 # 3...Sb5-a3 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...Sb5-c3 4.Bh4-g5 # 4.Re3*f3 # 3...Sb5-d4 4.Bh4-g5 # 4.Re3-e4 # 3...Sb5*d6 4.Bh4-g5 # 4.Re3*f3 # 3...Sb5-c7 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...Sb5-a7 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...e6-e5 4.Re3*f3 # 4.Bh4-g5 # 4.Re3-e4 # 3...e6*d5 4.Bh4-g5 # 3...h7-h6 4.Re3-e4 # 4.Re3*f3 # 3...Ba8*d5 4.Bh4-g5 # 2...Ra5*d5 3.Re3-e4 # 2...e6*d5 3.Bh4-g5 # 2...h7-h6 3.Re3-e4 # 2...Ba8*d5 3.Bh4-g5 # 1...Ra5-g5 2.Bh4*g5 #" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1981 distinction: 2nd Prize algebraic: white: [Ke1, Qb1, Rg5, Ra5, Bc2, Bb4, Sf2, Sc7, Ph4, Pf6, Pe2, Pd6, Pd2] black: [Kf4, Qg8, Rf3, Rd8, Bc8, Ba7, Sd1, Sb6, Ph5, Pg7, Pc6, Pa3, Pa2] stipulation: "#5" solution: 1.Db1-b3 ! --- authors: - Вукчевић, Милан Радоје source: Die Schwalbe source-id: 3359 date: 1981 algebraic: white: [Kd7, Ra8, Bb3, Sg3, Se6, Pc2] black: [Kd5, Qf1, Rh2, Rc1, Bh4, Sf5, Sa3, Pe5, Pe4, Pe3, Pc7, Pc5, Pc4] stipulation: "#6" solution: | "1.Sg3-e2 ! threat: 2.Se6*c7 # 2.Se2-c3 # 1...Rc1*c2 2.Se6*c7 # 1...Qf1*e2 2.Bb3-a4 threat: 3.Ba4-c6 # 2...Sa3-b5 3.Ba4*b5 threat: 4.Bb5-c6 # 3...c4-c3 4.Bb5-c6 + 4...Kd5-c4 5.Ra8-a4 # 3...Sf5-d4 4.Se6*c7 # 3...Sf5-e7 4.Ra8-a5 threat: 5.Bb5-a4 threat: 6.Ra5*c5 # 5.Bb5-c6 + 5...Se7*c6 6.Ra5*c5 # 5.Bb5-a6 threat: 6.Ra5*c5 # 4...Rc1-a1 5.Bb5-a4 threat: 6.Ra5*c5 # 5.Bb5-c6 + 5...Se7*c6 6.Ra5*c5 # 4...Rc1-b1 5.Bb5-c6 + 5...Se7*c6 6.Ra5*c5 # 4...Qe2-h5 5.Bb5-c6 + 5...Se7*c6 6.Ra5*c5 # 4...Qe2-g4 5.Bb5-c6 + 5...Se7*c6 6.Ra5*c5 # 4...Qe2-d3 5.Bb5-c6 + 5...Se7*c6 6.Ra5*c5 # 4...Qe2-e1 5.Bb5-c6 + 5...Se7*c6 6.Ra5*c5 # 4...Qe2*c2 5.Bb5-c6 + 5...Se7*c6 6.Ra5*c5 # 4...Qe2-d2 5.Bb5-c6 + 5...Se7*c6 6.Ra5*c5 # 4...Qe2-f2 5.Bb5-c6 + 5...Se7*c6 6.Ra5*c5 # 4...c4-c3 5.Bb5*e2 threat: 6.Ra5*c5 # 5.Bb5-c6 + 5...Kd5-c4 6.Ra5-a4 # 5...Se7*c6 6.Ra5*c5 # 4...Bh4-e1 5.Bb5-c6 + 5...Se7*c6 6.Ra5*c5 # 2...c4-c3 3.Ba4-c6 + 3...Kd5-c4 4.Ra8-a4 # 2...Sf5-d4 3.Se6*c7 # 2...Sf5-e7 3.Ra8-a5 threat: 4.Ra5*c5 # 3...Sa3-b5 4.Ra5*b5 threat: 5.Rb5*c5 # 1...Qf1-e1 2.Se6*c7 # 1...Rh2*e2 2.Ra8-a5 threat: 3.Ra5*c5 # 2...Sa3-b5 3.Ra5*b5 threat: 4.Rb5*c5 # 3...Bh4-e7 4.Bb3-a4 threat: 5.Rb5-b4 threat: 6.Ba4-c6 # 5...Sf5-d4 6.Se6*c7 # 5.Rb5-a5 threat: 6.Ba4-c6 # 5...c4-c3 6.Ba4-b3 # 5...Sf5-d4 6.Se6*c7 # 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Rc1-a1 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Rc1-b1 5.Rb5-b4 threat: 6.Ba4-c6 # 5...Sf5-d4 6.Se6*c7 # 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Qf1-h3 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Re2-e1 5.Rb5-b4 threat: 6.Ba4-c6 # 5...Sf5-d4 6.Se6*c7 # 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Re2*c2 5.Rb5-b4 threat: 6.Ba4-c6 # 5...Sf5-d4 6.Se6*c7 # 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Re2-d2 5.Rb5-b4 threat: 6.Ba4-c6 # 5...Sf5-d4 6.Se6*c7 # 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Re2-h2 5.Rb5-b4 threat: 6.Ba4-c6 # 5...Sf5-d4 6.Se6*c7 # 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Re2-g2 5.Rb5-b4 threat: 6.Ba4-c6 # 5...Sf5-d4 6.Se6*c7 # 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Re2-f2 5.Rb5-b4 threat: 6.Ba4-c6 # 5...Sf5-d4 6.Se6*c7 # 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Sf5-g7 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Be7-d6 5.Rb5*c5 + 5...Bd6*c5 6.Ba4-c6 # 4...Be7-f8 5.Rb5-a5 threat: 6.Ba4-c6 # 5...c4-c3 6.Ba4-b3 # 5...Sf5-d4 6.Se6*c7 # 5...Sf5-e7 6.Ra5*c5 # 5.Rb5*c5 + 5...Bf8*c5 6.Ba4-c6 # 2...Bh4-e7 3.Bb3-a4 threat: 4.Ba4-c6 # 3...Sa3-b5 4.Ra5*b5 threat: 5.Rb5-b4 threat: 6.Ba4-c6 # 5...Sf5-d4 6.Se6*c7 # 5.Rb5-a5 threat: 6.Ba4-c6 # 5...c4-c3 6.Ba4-b3 # 5...Sf5-d4 6.Se6*c7 # 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Rc1-a1 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Rc1-b1 5.Rb5-b4 threat: 6.Ba4-c6 # 5...Sf5-d4 6.Se6*c7 # 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Qf1-h3 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Re2-e1 5.Rb5-b4 threat: 6.Ba4-c6 # 5...Sf5-d4 6.Se6*c7 # 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Re2*c2 5.Rb5-b4 threat: 6.Ba4-c6 # 5...Sf5-d4 6.Se6*c7 # 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Re2-d2 5.Rb5-b4 threat: 6.Ba4-c6 # 5...Sf5-d4 6.Se6*c7 # 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Re2-h2 5.Rb5-b4 threat: 6.Ba4-c6 # 5...Sf5-d4 6.Se6*c7 # 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Re2-g2 5.Rb5-b4 threat: 6.Ba4-c6 # 5...Sf5-d4 6.Se6*c7 # 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Re2-f2 5.Rb5-b4 threat: 6.Ba4-c6 # 5...Sf5-d4 6.Se6*c7 # 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Sf5-g7 5.Rb5*c5 + 5...Be7*c5 6.Ba4-c6 # 4...Be7-d6 5.Rb5*c5 + 5...Bd6*c5 6.Ba4-c6 # 4...Be7-f8 5.Rb5-a5 threat: 6.Ba4-c6 # 5...c4-c3 6.Ba4-b3 # 5...Sf5-d4 6.Se6*c7 # 5...Sf5-e7 6.Ra5*c5 # 5.Rb5*c5 + 5...Bf8*c5 6.Ba4-c6 # 4.Ba4*b5 threat: 5.Bb5-c6 # 4...c4-c3 5.Bb5-c6 + 5...Kd5-c4 6.Ra5-a4 # 5.Ra5-a4 threat: 6.Se6*c7 # 6.Bb5-c4 # 6.Bb5-c6 # 5...Re2-e1 6.Se6*c7 # 6.Bb5-c6 # 5...Re2*c2 6.Se6*c7 # 6.Bb5-c6 # 5...Re2-d2 6.Se6*c7 # 6.Bb5-c6 # 5...Re2-h2 6.Se6*c7 # 6.Bb5-c6 # 5...Re2-g2 6.Se6*c7 # 6.Bb5-c6 # 5...Re2-f2 6.Se6*c7 # 6.Bb5-c6 # 5...c5-c4 6.Bb5*c4 # 6.Bb5-c6 # 5...Sf5-d4 6.Se6*c7 # 6.Bb5-c4 # 5...Sf5-d6 6.Se6*c7 # 6.Bb5-c6 # 5...Be7-d6 6.Bb5-c4 # 6.Bb5-c6 # 5...Be7-d8 6.Bb5-c4 # 6.Bb5-c6 # 4...Sf5-d4 5.Se6*c7 # 3...c4-c3 4.Ba4-c6 + 4...Kd5-c4 5.Ra5-a4 # 3...Sf5-d4 4.Se6*c7 # 1...Sa3-b1 2.Se6*c7 # 1...Sa3-b5 2.Bb3*c4 + 2...Kd5*c4 3.Ra8-a4 + 3...Kc4-d5 4.Se6*c7 + 4...Sb5*c7 5.Se2-c3 # 4.Se2-c3 + 4...Sb5*c3 5.Se6*c7 # 1...c4*b3 2.Se6*c7 + 2...Kd5-c4 3.Ra8-a4 # 1...Bh4-e1 2.Se6*c7 # 1...Bh4-d8 2.Se2-c3 #" --- authors: - Вукчевић, Милан Радоје source: Mat (Beograd) date: 1981 algebraic: white: [Kh6, Re1, Rc2, Bf1, Bb4, Sg5, Sf3, Pb5, Pb3] black: [Kd5, Qa2, Rd8, Rc8, Be8, Bb8, Sh3, Pg6, Pg2, Pf7, Pf4, Pd4, Pb6] stipulation: "#6" solution: | "1.Sg5-e4 ! threat: 2.Se4-f6 # 1...Kd5-e6 2.Se4-g3 + 2...Ke6-d5 3.Rc2-c7 threat: 4.Bf1-c4 # 4.Re1-e5 # 3...Qa2*b3 4.Re1-e5 # 3...Qa2-e2 4.Sg3*e2 threat: 5.Se2-c1 threat: 6.Bf1-c4 # 6.Re1-e5 # 5...g2*f1=Q 6.Re1-e5 # 5...g2*f1=S 6.Re1-e5 # 5...g2*f1=R 6.Re1-e5 # 5...g2*f1=B 6.Re1-e5 # 5...d4-d3 6.Re1-e5 # 5...f7-f6 6.Bf1-c4 # 5...Bb8*c7 6.Bf1-c4 # 5...Rc8*c7 6.Re1-e5 # 5...Be8*b5 6.Re1-e5 # 5.Se2-g1 threat: 6.Re1-e5 # 6.Bf1-c4 # 5...g2*f1=Q 6.Re1-e5 # 5...g2*f1=S 6.Re1-e5 # 5...g2*f1=R 6.Re1-e5 # 5...g2*f1=B 6.Re1-e5 # 5...d4-d3 6.Re1-e5 # 5...f7-f6 6.Bf1-c4 # 5...Bb8*c7 6.Bf1-c4 # 5...Rc8*c7 6.Re1-e5 # 5...Be8*b5 6.Re1-e5 # 5.Se2-g3 threat: 6.Bf1-c4 # 6.Re1-e5 # 5...g2*f1=Q 6.Re1-e5 # 5...g2*f1=S 6.Re1-e5 # 5...g2*f1=R 6.Re1-e5 # 5...g2*f1=B 6.Re1-e5 # 5...d4-d3 6.Re1-e5 # 5...f7-f6 6.Bf1-c4 # 5...Bb8*c7 6.Bf1-c4 # 5...Rc8*c7 6.Re1-e5 # 5...Be8*b5 6.Re1-e5 # 5.Se2*f4 + 5...Sh3*f4 6.Re1-e5 # 6.Bf1-c4 # 5.Se2*d4 threat: 6.Re1-e5 # 6.Bf1-c4 # 5...g2*f1=Q 6.Re1-e5 # 5...g2*f1=S 6.Re1-e5 # 5...g2*f1=R 6.Re1-e5 # 5...g2*f1=B 6.Re1-e5 # 5...f7-f6 6.Bf1-c4 # 5...Bb8*c7 6.Bf1-c4 # 5...Rc8*c7 6.Re1-e5 # 5...Be8*b5 6.Re1-e5 # 5.Se2-c3 + 5...d4*c3 6.Re1-e5 # 6.Bf1-c4 # 4...g2-g1=Q 5.Se2*g1 threat: 6.Bf1-c4 # 6.Re1-e5 # 5...d4-d3 6.Re1-e5 # 5...f7-f6 6.Bf1-c4 # 5...Bb8*c7 6.Bf1-c4 # 5...Rc8*c7 6.Re1-e5 # 5...Be8*b5 6.Re1-e5 # 5.Se2-g3 threat: 6.Re1-e5 # 6.Bf1-c4 # 5...Qg1-e3 6.Bf1-c4 # 5...Qg1*f1 6.Re1-e5 # 5...d4-d3 6.Re1-e5 # 5...f7-f6 6.Bf1-c4 # 5...Bb8*c7 6.Bf1-c4 # 5...Rc8*c7 6.Re1-e5 # 5...Be8*b5 6.Re1-e5 # 5.Se2*f4 + 5...Sh3*f4 6.Re1-e5 # 6.Bf1-c4 # 5.Se2-c3 + 5...d4*c3 6.Bf1-c4 # 6.Re1-e5 # 4...g2-g1=S 5.Se2*g1 threat: 6.Bf1-c4 # 6.Re1-e5 # 5...d4-d3 6.Re1-e5 # 5...f7-f6 6.Bf1-c4 # 5...Bb8*c7 6.Bf1-c4 # 5...Rc8*c7 6.Re1-e5 # 5...Be8*b5 6.Re1-e5 # 5.Se2*f4 + 5...Sh3*f4 6.Bf1-c4 # 6.Re1-e5 # 5.Se2-c3 + 5...d4*c3 6.Re1-e5 # 6.Bf1-c4 # 4...g2-g1=B 5.Se2*g1 threat: 6.Bf1-c4 # 6.Re1-e5 # 5...d4-d3 6.Re1-e5 # 5...f7-f6 6.Bf1-c4 # 5...Bb8*c7 6.Bf1-c4 # 5...Rc8*c7 6.Re1-e5 # 5...Be8*b5 6.Re1-e5 # 5.Se2-g3 threat: 6.Re1-e5 # 6.Bf1-c4 # 5...Bg1-e3 6.Bf1-c4 # 5...d4-d3 6.Re1-e5 # 5...f7-f6 6.Bf1-c4 # 5...Bb8*c7 6.Bf1-c4 # 5...Rc8*c7 6.Re1-e5 # 5...Be8*b5 6.Re1-e5 # 5.Se2*f4 + 5...Sh3*f4 6.Re1-e5 # 6.Bf1-c4 # 5.Se2-c3 + 5...d4*c3 6.Bf1-c4 # 6.Re1-e5 # 4...g2*f1=Q 5.Se2*f4 + 5...Sh3*f4 6.Re1-e5 # 5.Se2-c3 + 5...d4*c3 6.Re1-e5 # 4...g2*f1=S 5.Se2*f4 + 5...Sh3*f4 6.Re1-e5 # 5.Se2-c3 + 5...d4*c3 6.Re1-e5 # 4...g2*f1=R 5.Se2*f4 + 5...Sh3*f4 6.Re1-e5 # 5.Se2-c3 + 5...d4*c3 6.Re1-e5 # 4...g2*f1=B 5.Se2*f4 + 5...Sh3*f4 6.Re1-e5 # 5.Se2-c3 + 5...d4*c3 6.Re1-e5 # 4...Kd5-e6 5.Se2-g3 + 5...Ke6-f6 6.Bb4-e7 # 5...Ke6-d5 6.Bf1-c4 # 6.Re1-e5 # 5.Se2*d4 + 5...Ke6-f6 6.Bb4-e7 # 5...Ke6-d5 6.Bf1-c4 # 6.Re1-e5 # 4...Kd5-e4 5.Se2*d4 + 5...Ke4-d5 6.Re1-e5 # 6.Bf1-c4 # 4...g6-g5 5.Se2*f4 + 5...Sh3*f4 6.Bf1-c4 # 6.Re1-e5 # 5...g5*f4 6.Re1-e5 # 6.Bf1-c4 # 5.Se2-c3 + 5...d4*c3 6.Bf1-c4 # 6.Re1-e5 # 4...f7-f6 5.Se2*f4 + 5...Sh3*f4 6.Bf1-c4 # 5.Se2-c3 + 5...d4*c3 6.Bf1-c4 # 4...Bb8*c7 5.Se2-c3 + 5...d4*c3 6.Bf1-c4 # 4...Rc8*c7 5.Se2*f4 + 5...Sh3*f4 6.Re1-e5 # 4...Rd8-d6 5.Se2*f4 + 5...Sh3*f4 6.Bf1-c4 # 6.Re1-e5 # 5.Se2-c3 + 5...d4*c3 6.Re1-e5 # 6.Bf1-c4 # 4...Be8*b5 5.Se2*f4 + 5...Sh3*f4 6.Re1-e5 # 5.Se2-c3 + 5...d4*c3 6.Re1-e5 # 4...Be8-c6 5.Se2*f4 + 5...Sh3*f4 6.Bf1-c4 # 6.Re1-e5 # 5.Se2-c3 + 5...d4*c3 6.Re1-e5 # 6.Bf1-c4 # 4...Be8-d7 5.Se2*f4 + 5...Sh3*f4 6.Re1-e5 # 6.Bf1-c4 # 5.Se2-c3 + 5...d4*c3 6.Bf1-c4 # 6.Re1-e5 # 3...Qa2-c2 4.Re1-e5 # 3...g2*f1=Q 4.Re1-e5 # 3...g2*f1=S 4.Re1-e5 # 3...g2*f1=R 4.Re1-e5 # 3...g2*f1=B 4.Re1-e5 # 3...d4-d3 4.Re1-e5 # 3...f7-f6 4.Bf1-c4 # 3...Bb8*c7 4.Bf1-c4 # 3...Rc8*c7 4.Re1-e5 # 3...Be8*b5 4.Re1-e5 # 2...Ke6-f6 3.Bb4-e7 # 2...Ke6-d7 3.Re1-e7 # 2...Bb8-e5 3.Re1*e5 + 3...Ke6-f6 4.Bb4-e7 # 4.Sg3-e4 # 3...Ke6-d7 4.Re5-e7 # 1...Bb8-e5 2.Se4-c3 + 2...d4*c3 3.Re1*e5 # 2...Kd5-e6 3.Re1*e5 + 3...Ke6-f6 4.Bb4-e7 # 4.Sc3-e4 # 3...Ke6-d7 4.Re5-e7 # 2...Rc8*c3 3.Re1*e5 # 1...Rc8-c5 2.Bf1-c4 + 2...Rc5*c4 3.Se4-f6 # 1...Rc8-c6 2.Se4-f6 + 2...Rc6*f6 3.Bf1-c4 # 2.Rc2*c6 threat: 3.Se4-f6 # 3.Bf1-c4 # 2...Qa2*b3 3.Se4-f6 # 2...Qa2-e2 3.Se4-f6 # 2...Qa2-c2 3.Se4-f6 # 2...g2*f1=Q 3.Se4-f6 # 2...g2*f1=S 3.Se4-f6 # 2...g2*f1=R 3.Se4-f6 # 2...g2*f1=B 3.Se4-f6 # 2...d4-d3 3.Se4-f6 # 3.Se4-c3 # 2...Bb8-e5 3.Bf1-c4 # 2...Rd8-d6 3.Bf1-c4 # 2.Bf1-c4 + 2...Rc6*c4 3.Se4-f6 # 1...Rd8-d6 2.Se4-c3 + 2...d4*c3 3.Re1-e5 # 2...Rc8*c3 3.Re1-e5 #" --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1981 distinction: 1st Prize algebraic: white: [Ka2, Rh7, Rh5, Bh8, Ba6, Sf4, Sa4, Pg5, Pf2, Pb3] black: [Kb4, Qh2, Rh6, Rg3, Bg2, Bg1, Se8, Sb2, Pe6, Pc5, Pa7, Pa5] stipulation: "#6" solution: | "1.Rh5-h4 ! threat: 2.Sf4-d3 # 2.Sf4-d5 # 1...Sb2-c4 2.Sf4-d3 + 2...Rg3*d3 3.Rh4*c4 # 1...Bg2-e4 2.Sf4-d3 + 2...Sb2*d3 3.Bh8-c3 # 3.Rh7-b7 # 2...Rg3*d3 3.Rh7-b7 # 2.Rh7-b7 + 2...Be4*b7 3.Sf4-d3 # 3.Sf4-d5 # 1...Qh2*h4 2.f2-f3 threat: 3.Bh8-c3 # 3.Rh7-b7 # 2...Bg1-d4 3.Rh7-b7 # 2...Sb2-d1 3.Rh7-b7 # 3.Sf4-d3 # 2...Sb2-c4 3.Bh8-c3 # 3.Sf4-d3 # 2...Sb2*a4 3.Sf4-d3 # 2...Bg2-f1 3.Bh8-c3 # 2...Bg2*f3 3.Bh8-c3 # 2...Rg3*f3 3.Rh7-b7 # 2...c5-c4 3.Bh8-c3 # 2...e6-e5 3.Sf4-d5 # 2...Rh6-f6 3.Rh7-b7 # 2...Rh6*h7 3.Bh8-c3 # 2...Se8-c7 3.Bh8-c3 # 2...Se8-d6 3.Bh8-c3 # 2...Se8-f6 3.Rh7-b7 # 2...Se8-g7 3.Rh7*g7 threat: 4.Rg7-b7 # 3...Sb2-c4 4.Sf4-d3 # 3...Sb2*a4 4.Rg7-b7 + 4...Sa4-b6 5.Sf4-d3 # 3...Bg2-f1 4.Rg7-b7 + 4...Bf1-b5 5.Bh8-c3 # 5.Rb7*b5 # 3...Bg2*f3 4.Sf4-d3 + 4...Sb2*d3 5.Rg7-b7 + 5...Bf3*b7 6.Bh8-c3 # 3...c5-c4 4.Rg7-b7 + 4...Bg1-b6 5.Bh8-c3 # 3...e6-e5 4.Sf4-d5 # 3...Rh6-h7 4.Rg7-b7 + 4...Rh7*b7 5.Bh8-c3 # 4.Rg7*h7 threat: 5.Bh8-c3 # 5.Rh7-b7 # 4...Bg1-d4 5.Rh7-b7 # 4...Sb2-d1 5.Rh7-b7 # 5.Sf4-d3 # 4...Sb2-c4 5.Bh8-c3 # 5.Sf4-d3 # 4...Sb2*a4 5.Sf4-d3 # 4...Bg2-f1 5.Bh8-c3 # 4...Bg2*f3 5.Bh8-c3 # 4...Rg3*f3 5.Rh7-b7 # 4...Qh4*h7 5.Bh8-c3 # 4...c5-c4 5.Bh8-c3 # 4...e6-e5 5.Rh7-b7 # 5.Sf4-d5 # 1...Rg3-g4 2.Bh8-c3 # 1...c5-c4 2.Sf4-d3 + 2...Sb2*d3 3.Bh8-c3 # 3.Rh4*c4 # 2...Rg3*d3 3.Bh8*b2 threat: 4.Rh4*c4 # 4.Bb2-a3 # 3...Bg2-d5 4.Bb2-a3 # 3...Bg2-e4 4.Bb2-a3 # 3...Qh2-c7 4.Bb2-a3 # 3...Qh2-f4 4.Bb2-a3 # 3...Qh2*h4 4.Bb2-a3 # 3...Rd3-d2 4.Rh4*c4 # 3...Rd3*b3 4.Rh4*c4 # 3...Rd3-c3 4.Bb2*c3 # 4.Bb2-a3 # 3...Rd3-d4 4.Bb2-a3 # 4.Bb2-c3 # 3...Rh6*h4 4.Bb2-a3 # 3...Se8-d6 4.Bb2-a3 # 1...Rh6*h4 2.f2-f3 threat: 3.Bh8-c3 # 3.Rh7-b7 # 2...Bg1-d4 3.Rh7-b7 # 2...Sb2-d1 3.Rh7-b7 # 3.Sf4-d3 # 2...Sb2-c4 3.Bh8-c3 # 3.Sf4-d3 # 2...Sb2*a4 3.Sf4-d3 # 2...Bg2-f1 3.Bh8-c3 # 2...Bg2*f3 3.Bh8-c3 # 2...Rg3*f3 3.Rh7-b7 # 2...Rh4*h7 3.Bh8-c3 # 2...c5-c4 3.Bh8-c3 # 2...e6-e5 3.Rh7-b7 # 3.Sf4-d5 # 2...Se8-c7 3.Bh8-c3 # 2...Se8-d6 3.Bh8-c3 # 2...Se8-f6 3.Rh7-b7 # 2...Se8-g7 3.Bh8*g7 threat: 4.Bg7-c3 # 3...Bg1-d4 4.Bg7*d4 threat: 5.Rh7-b7 # 5.Bd4-c3 # 5.Bd4*c5 # 4...Sb2-d1 5.Rh7-b7 # 5.Sf4-d3 # 5.Bd4*c5 # 4...Sb2-d3 5.Rh7-b7 # 5.Sf4*d3 # 5.Bd4-c3 # 4...Sb2-c4 5.Sf4-d3 # 5.Bd4-c3 # 5.Bd4*c5 # 4...Sb2*a4 5.Sf4-d3 # 4...Bg2-f1 5.Bd4-c3 # 5.Bd4*c5 # 4...Bg2*f3 5.Bd4-c3 # 5.Bd4*c5 # 4...Qh2-g1 5.Rh7-b7 # 5.Bd4-c3 # 4...Rg3*f3 5.Rh7-b7 # 5.Bd4*c5 # 4...Rg3*g5 5.Rh7-b7 # 5.Bd4-c3 # 4...Rh4*h7 5.Bd4-c3 # 5.Bd4*c5 # 4...c5*d4 5.Rh7-b7 # 3...Sb2-d1 4.Sf4-d3 # 3...Sb2*a4 4.Sf4-d3 # 3...Rg3*f3 4.Sf4-d5 + 4...e6*d5 5.Bg7-c3 + 5...Rf3*c3 6.Rh7-b7 # 3...e6-e5 4.Sf4-d5 #" --- authors: - Вукчевић, Милан Радоје source: Die Schwalbe source-id: c. date: 1982 algebraic: white: [Kh6, Rd6, Rb7, Bh2, Sh5, Sf1, Ph3, Pg2, Pe7] black: [Kf5, Qb1, Rg1, Ra3, Be8, Ba1, Sh7, Pg5, Pe4, Pe3, Pc5, Pc4, Pa2] stipulation: "#7" solution: | "1. Shg3+?? K~ 2. Se2+ Kf5 3. Sc3 Qe1, Qf1! 1. Sfg3+?? K~ 2. Se2+ Kf5 3. Sc3 B:h5! 1. Rb5! ~ 2. R:c5+ Be5 3. Sg7# 1... Qb4, ~ 2. Sf(h)g3+ K~ 3. Se2+ Kf5 4. Sd4+ B:d4 5. Sg3+ K~ 6. Sd2+ Kf5 7. S:d4# 1... Q:b5 2. Shg3+ K~ 3. Se2+ Kf5 4. Sc3 B:c3 5. Sg3+ K~ 6. Sh5+ Kf5 7. Sg7# 1... B:b5 2. Sfg3+ K~ 3. Se2+ Kf5 4. Sc3 R:c3 5. Sg3+ K~ 6. Sf1+ Kf5 7. S:e3#" comments: - C+ - corrected by Friedrich Chlubna (Add black Pa2) --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1981 algebraic: white: [Ka1, Rg6, Be7, Sh2, Sg2, Ph5, Ph4, Pf7, Pf3, Pe4, Pd2, Pc3, Pb4] black: [Ke5, Rh8, Rh7, Bf8, Bc8, Ph6, Pe3, Pd4, Pd3, Pb6] stipulation: "#8" solution: --- authors: - Вукчевић, Милан Радоје source: Schweizerische Schachzeitung date: 1980 distinction: 2nd Prize algebraic: white: [Kd5, Qc6, Rc1, Rb2, Ba6, Sf5] black: [Kd3, Qf3, Rf2, Re3, Bh1, Se4, Sb5, Pg7, Pg3, Pf4, Pe2, Pb6, Pb4, Pa7] stipulation: "s#2" solution: | "1.Qc6-d7 ! threat: 2.Kd5-c6 + 2...Se4-d6 # 1...Qf3-h5 2.Kd5-e5 + 2...Se4-d6 # 1...Qf3-g4 2.Kd5-e6 + 2...Se4-d6 #" --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1981 distinction: 3rd-4th Prize algebraic: white: [Kc3, Qd8, Re5, Rc2, Bh7, Sh2, Se3, Pf6, Pc4] black: [Ke2, Qh8, Rf1, Be1, Bd1, Se8, Sd2, Pf2, Pc5, Pb3, Pa4, Pa3] stipulation: "s#2" solution: | "1.Rc2-a2 ! threat: 2.Se3-c2 + 2...Sd2-e4 # 1...Bd1-c2 2.Qd8*d2 + 2...Be1*d2 # 1...Se8-d6 2.Ra2*d2 + 2...Be1*d2 # 1...Se8*f6 2.Se3-f5 + 2...Sf6-e4 # 1...Qh8*f6 2.Se3-d5 + 2...Qf6*e5 # 1...Qh8*h7 2.Qd8-d3 + 2...Qh7*d3 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1981 distinction: 1st Prize algebraic: white: [Ke5, Qc1, Rg4, Ra5, Be6, Sg3, Sd5, Pc7, Pa2] black: [Kc4, Qe1, Re2, Rb4, Be4, Ba1, Sc3, Ph5, Pg6, Pg5, Pe7, Pd3, Pd2] stipulation: "s#2" solution: | "1.Sg3-h1 ! threat: 2.Rg4*e4 + 2...Re2*e4 # 1...Qe1-g3 + 2.Sd5-f4 + 2...Be4-d5 # 1...Qe1*c1 2.Sd5-f6 + 2...Sc3-d5 # 1...d2*c1=Q 2.Sd5-f6 + 2...Sc3-d5 # 1...d2*c1=S 2.Sd5-f6 + 2...Sc3-d5 # 1...d2*c1=R 2.Sd5-f6 + 2...Sc3-d5 # 1...d2*c1=B 2.Sd5-f6 + 2...Sc3-d5 # 1...Rb4-b5 2.Qc1*c3 + 2...Ba1*c3 # 1...h5*g4 2.Sd5*c3 + 2...Be4-d5 #" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1980 algebraic: white: [Kc4, Qf7, Ra5, Bh3, Bc3, Se6, Se4, Pd3, Pc6, Pb4, Pb3] black: [Kf5, Qc1, Rg4, Rc2, Bb2, Sf6, Pe7, Pe3, Pc7, Pc5, Pa7, Pa6] stipulation: "s#2" solution: | "1.Kc4*c5 ! threat: 2.Se4-d6 + 2...c7*d6 # 2...e7*d6 # 1...Bb2*c3 2.Kc5-c4 + 2...Bc3-e5 # 1...Rc2*c3 + 2.Kc5-d4 + 2...Rc3-c5 #" --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1981 distinction: 1st Prize algebraic: white: [Ka5, Qd7, Rb5, Ra6, Bf5, Bd8, Sh3, Pg2, Pb3, Pa4] black: [Kh5, Qc1, Re2, Rb1, Bd1, Ba3, Sf1, Pg3, Pf2, Pe3, Pc2, Pb4, Pb2, Pa7] stipulation: "s#6" solution: | "1.Qd7-d2 ! threat: 2.Bf5*c2 + 2...Kh5-g4 3.Rb5-g5 + 3...Kg4-h4 4.Rg5-c5 + 4...Kh4-g4 5.Bc2-f5 + 5...Kg4-h5 6.Bf5-c8 + 6...Qc1*c5 # 1...Qc1*d2 2.Bf5-d3 + 2...Kh5-g4 3.Rb5-g5 + 3...Kg4-h4 4.Rg5-d5 + 4...Kh4-g4 5.Bd3-f5 + 5...Kg4-h5 6.Bf5-c8 + 6...Qd2*d5 # 1...Re2*d2 2.Bf5-d3 + 2...Kh5-g4 3.Rb5-g5 + 3...Kg4-h4 4.Rg5-d5 + 4...Kh4-g4 5.Bd3-f5 + 5...Kg4-h5 6.Bf5-c8 + 6...Rd2*d5 # 1...e3*d2 2.Bf5-e4 + 2...Kh5-g4 3.Rb5-g5 + 3...Kg4-h4 4.Rg5-e5 + 4...Kh4-g4 5.Be4-f5 + 5...Kg4-h5 6.Bf5-c8 + 6...Re2*e5 #" keywords: - Rehm mechanism --- authors: - Вукчевић, Милан Радоје source: Schach-Echo source-id: 5/10388 date: 1981-05 distinction: 3rd Prize, 1980-1981 algebraic: white: [Kc6, Rf7, Rd8, Bh5, Be5, Se4, Pd6, Pb7, Pb5] black: [Kg8, Qh1, Rd3, Rc3, Bc5, Sf8, Sa8, Ph6, Ph3, Pe6, Pd4, Pc7, Pb3] stipulation: "s#8" solution: --- authors: - Вукчевић, Милан Радоје source: Schach-Echo source-id: 2/10209 date: 1980-02 distinction: Comm., 1980-1981 algebraic: white: [Kd1, Qb4, Bc5, Ba8, Pd2] black: [Ka6, Ra1, Bg7, Bb1, Pd3, Pb2] stipulation: "s#14" solution: --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1980 algebraic: white: [Ke3, Qf8, Rd7, Rc4, Sg2, Ph6, Pg4, Pa7] black: [Kg6, Qa4, Bf3, Sb3, Pg5, Pa5] stipulation: "s#18" solution: --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1981 algebraic: white: [Kc2, Qd2, Rh5, Bc8, Pg3] black: [Kf5, Qg5, Rf2, Rd7, Bh6, Bb5, Sf1, Ph4, Pf3, Pe7, Pc4, Pb4, Pa2] stipulation: "h#2" solution: | "1.Kf5-e5 Kc2-c1 2.Rd7-d5 Qd2-f4 # 1.Kf5-e6 Kc2-d1 2.Qg5-f6 Qd2-d5 #" --- authors: - Вукчевић, Милан Радоје source: Milanovic MT date: 1982 algebraic: white: [Kg5, Re6, Rb3, Bc8, Se3] black: [Kh3, Qg3, Rf7, Ra6, Bg2, Ba7, Sh2, Sg4, Ph7, Pg6, Pf4, Pf2, Pe5, Pe4] stipulation: "h#2" solution: | "1.Ra6*e6 Se3-d1 2.Re6-b6 Sd1*f2 # 1.Ba7*e3 Re6*g6 2.Be3-b6 Rg6-h6 #" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1982 algebraic: white: [Kh1, Rd1, Rc5, Sh6, Sd5, Pf6, Pc3] black: [Ke5, Qf1, Rh8, Re1, Bg8, Bb8, Sg1, Pf4, Pe6, Pe4, Pe2, Pc7, Pc6] stipulation: "h#2" solution: | "1.Qf1-f2 Sd5-b6 + 2.Qf2*c5 Sb6-d7 # 1.Bb8-a7 Sd5-e3 + 2.Ba7*c5 Se3-g4 # 1.Bg8-h7 Sh6-g8 2.Qf1-f2 Sd5-e3 # 1.Bg8-h7 Sh6-g8 2.Bb8-a7 Sd5-b6 #" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1982 algebraic: white: [Kc2, Rg2, Rd3, Bd1, Se8, Se6, Ph2, Pg3, Pc4] black: [Ke4, Qg5, Rf4, Bd7, Bc5, Pf5, Pe5, Pe3, Pd4, Pd2, Pc3, Pa4] stipulation: "#3" solution: | "1.Se8-d6 + ! 1...Bc5*d6 2.Se6*g5 # 1.Se8-f6 + ! 1...Qg5*f6 2.Se6*c5 # 1.Se6*c5 # ! 1.Se6*g5 # !" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1981 algebraic: white: [Ke3, Rf7, Rd2, Sb5, Pc2, Pa5] black: [Kb2, Rh4, Bh8, Sg1, Ph5, Ph2, Pg2, Pf2, Pb3] stipulation: "#3" solution: --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1985 algebraic: white: [Ka6, Rg8, Be3, Ba8, Sf2, Sf1] black: [Kg2, Qh1, Re4, Rb7, Bg7, Bg4, Ph3] stipulation: "h#2" solution: | "1.Rb7-b1 Sf2*e4 2.Bg7-b2 Se4-d2 # 1.Bg7-a1 Sf2*g4 2.Rb7-b2 Sg4-h2 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1984 algebraic: white: [Kf8, Rg3, Rc8, Bh7, Sf2, Sb3, Pf7, Pd3, Pc3] black: [Kc2, Qd4, Rh5, Rb1, Ba8, Ba3, Sg2, Ph6, Ph4, Pb5, Pb4, Pb2] stipulation: "h#2" solution: | "1.Qd4*c3 Bh7-e4 2.Qc3-c6 d3-d4 # 1.Qd4*d3 Rc8-c5 2.Qd3-f5 c3*b4 #" --- authors: - Вукчевић, Милан Радоје source: Chess Life date: 1985 distinction: 3rd Prize algebraic: white: [Ka7, Rg2, Rb6, Pg6, Pb4] black: [Kh1, Qd8, Rc4, Bf5, Sh8, Sa6, Pe3] stipulation: "h#2" intended-solutions: 4 solution: | "1.Rc4*b4 Rg2-d2 2.Rb4-e4 Rb6-b1 # 1.Bf5*g6 Rg2-g5 2.Bg6-e4 Rb6-h6 # 1.Sa6*b4 Rg2-c2 2.Sb4-d5 Rb6-b1 # 1.Sh8*g6 Rg2-g4 2.Sg6-e7 Rb6-h6 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1986 distinction: 1st HM algebraic: white: [Kb1, Qb8, Rf4, Re2, Ba7, Sg6, Sg1, Pb3, Pb2] black: [Kd3, Rf5, Rc4, Bf1, Bc3, Se8, Sd1, Pe6] stipulation: "#3" solution: | "1.Qb8-e5 ! threat: 2.Re2-e3 + 2...Sd1*e3 3.Qe5*e3 # 2...Kd3-d2 3.Sg1-f3 # 1...Bf1-g2 2.Re2-d2 + 2...Bc3*d2 3.Qe5-e2 # 2...Kd3*d2 3.Qe5-e2 # 1...Bc3-d2 2.Qe5-d4 + 2...Rc4*d4 3.Rf4*d4 # 2.Qe5*f5 + 2...Rc4-e4 3.Sg6-e5 # 3.Qf5*e4 # 2...e6*f5 3.Sg6-e5 # 2.Rf4-d4 + 2...Rc4*d4 3.Qe5*d4 # 1...Bc3*e5 2.Rf4-f3 + 2...Sd1-e3 3.Rf3*e3 # 2...Rf5*f3 3.Sg6*e5 # 1...Rc4*f4 2.Qe5-b5 + 2...Rf4-c4 3.Qb5*c4 # 2...Rf5*b5 3.Sg6*f4 # 1...Rc4-d4 2.Qe5*d4 + 2...Bc3*d4 3.Rf4*d4 # 2.Qe5*f5 + 2...Rd4-e4 3.Qf5*e4 # 2...e6*f5 3.Sg6-e5 # 2.Rf4*d4 + 2...Bc3*d4 3.Qe5*d4 # 3.Qe5-e4 # 1...Rf5*f4 2.Qe5-d4 + 2...Bc3*d4 3.Sg6*f4 # 2...Rc4*d4 3.Sg6-e5 # 2...Rf4*d4 3.Sg6-e5 # 1...Rf5*e5 2.Rf4-d4 + 2...Bc3*d4 3.Sg6-f4 # 2...Rc4*d4 3.Sg6*e5 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1987 distinction: 1st Prize algebraic: white: [Kf7, Qa2, Bf6, Bc2, Sd2, Sa7, Pg3, Pb6] black: [Kd7, Rg4, Re1, Ba4, Sb1, Pg6, Pf5, Pf3, Pe6, Pd6, Pc3, Pa6, Pa3] stipulation: "#5" solution: | "1.Sd2-e4 ! threat: 2.Bc2*a4 # 2.Qa2*e6 # 1...Re1*e4 2.Bc2*a4 + 2...Re4*a4 3.Qa2*e6 # 1...Ba4*c2 2.Qa2*e6 # 1...Ba4-b3 2.Bf6-e7 threat: 3.Se4-f6 # 2...Re1*e4 3.Bc2*b3 threat: 4.Bb3*e6 + 4...Re4*e6 5.Qa2*e6 # 4.Bb3-a4 + 4...Re4*a4 5.Qa2*e6 # 3...Re4-e1 4.Bb3*e6 + 4...Re1*e6 5.Qa2*e6 # 3...Re4-e2 4.Bb3*e6 + 4...Re2*e6 5.Qa2*e6 # 3...Re4-e3 4.Bb3*e6 + 4...Re3*e6 5.Qa2*e6 # 3...Re4-c4 4.Bb3-a4 + 4...Rc4*a4 5.Qa2*e6 # 4...Rc4-c6 5.Qa2*e6 # 5.Ba4*c6 # 3...Re4-e5 4.Bb3*e6 + 4...Re5*e6 5.Qa2*e6 # 3...d6-d5 4.Bb3*d5 threat: 5.Bd5-c6 # 4...Re4-c4 5.Bd5*e6 # 4...e6*d5 5.Qa2*d5 # 2...Rg4*e4 3.Qa2*b3 threat: 4.Qb3*e6 + 4...Re4*e6 5.Bc2-a4 # 4.Qb3-a4 + 4...Re4*a4 5.Bc2*a4 # 3...Re4-b4 4.Qb3*b4 threat: 5.Qb4*d6 # 5.Qb4-a4 # 5.Bc2-a4 # 4...Re1-d1 5.Qb4-a4 # 5.Bc2-a4 # 4...Re1-e5 5.Qb4*d6 # 4...Re1-e4 5.Qb4*d6 # 5.Bc2-a4 # 3...Re4-c4 4.Qb3*c4 threat: 5.Qc4-a4 # 5.Qc4-c8 # 5.Qc4-c7 # 5.Qc4-c6 # 5.Bc2-a4 # 4...Re1-e5 5.Qc4-c8 # 5.Qc4-c7 # 5.Qc4-c6 # 4...Re1-e4 5.Qc4-c8 # 5.Qc4-c7 # 5.Qc4-c6 # 5.Bc2-a4 # 4.Qb3-a4 + 4...Rc4*a4 5.Bc2*a4 # 4...Rc4-c6 5.Qa4*c6 # 3...Re4-d4 4.Qb3-a4 + 4...Rd4*a4 5.Bc2*a4 # 3...Re4-e5 4.Qb3*e6 + 4...Re5*e6 5.Bc2-a4 # 3...Re4-h4 4.Qb3-a4 + 4...Rh4*a4 5.Bc2*a4 # 3...Re4-g4 4.Qb3-a4 + 4...Rg4*a4 5.Bc2*a4 # 3...Re4-f4 4.Qb3-a4 + 4...Rf4*a4 5.Bc2*a4 # 3...d6-d5 4.Qb3-a4 + 4...Re4*a4 5.Bc2*a4 # 2...f5*e4 3.Qa2*b3 threat: 4.Qb3*e6 # 4.Qb3-a4 # 3...e4-e3 4.Qb3*e6 # 3...Rg4-f4 + 4.g3*f4 threat: 5.Qb3*e6 # 5.Qb3-a4 # 4...d6-d5 5.Qb3-a4 # 3...Rg4-g5 4.Qb3*e6 # 3...d6-d5 4.Qb3-a4 # 3.Bc2*b3 threat: 4.Bb3*e6 # 4.Bb3-a4 # 3...e4-e3 4.Bb3*e6 # 3...Rg4-f4 + 4.g3*f4 threat: 5.Bb3*e6 # 5.Bb3-a4 # 4...d6-d5 5.Bb3-a4 # 3...Rg4-g5 4.Bb3*e6 # 3...d6-d5 4.Bb3-a4 # 2...e6-e5 + 3.Bc2*b3 threat: 4.Se4-f6 # 4.Bb3-e6 # 4.Bb3-a4 # 3...Re1*e4 4.Bb3-e6 # 3...Rg4*e4 4.Bb3-e6 # 3...f5*e4 4.Bb3-e6 # 4.Bb3-a4 # 3...d6-d5 4.Bb3-a4 # 4.Se4-f6 # 4.Se4-c5 # 3.Qa2*b3 threat: 4.Se4-f6 # 4.Qb3-e6 # 4.Qb3-a4 # 3...Re1*e4 4.Qb3-e6 # 3...Rg4*e4 4.Qb3-e6 # 3...f5*e4 4.Qb3-e6 # 4.Qb3-a4 # 3...d6-d5 4.Qb3-a4 # 4.Se4-f6 # 4.Se4-c5 # 4.Qb3*d5 # 1...Ba4-c6 2.Qa2*e6 # 1...Ba4-b5 2.Qa2*e6 # 1...Rg4*e4 2.Qa2*e6 + 2...Re4*e6 3.Bc2*a4 # 1...d6-d5 2.Bc2*a4 #" --- authors: - Вукчевић, Милан Радоје source: 3rd WCCT distinction: 3rd Place algebraic: white: [Kb7, Qc8, Rg3, Bf7, Sg7, Se2, Ph5, Ph3, Pe7, Pe6, Pd6] black: [Kh4, Rb2, Bd2, Sd4, Sa1, Ph7, Ph6, Pf6, Pe3, Pd5, Pc7, Pb5] stipulation: "#5" solution: | "1.d6-d7 ! threat: 2.Qc8*c7 threat: 3.Qc7-f4 # 2...Sd4*e2 3.Sg7-f5 # 2...Sd4*e6 3.Sg7-f5 # 1...Sa1-b3 2.Qc8*c7 threat: 3.Qc7-f4 # 2...Sb3-c5 + 3.Qc7*c5 threat: 4.Qc5*d4 # 3...Rb2-b4 4.Qc5*d4 + 4...Rb4*d4 5.Sg7-f5 # 4.Qc5-d6 threat: 5.Qd6-f4 # 4...Sd4-b3 5.Sg7-f5 # 4...Sd4-c2 5.Sg7-f5 # 4...Sd4*e2 5.Sg7-f5 # 4...Sd4-f3 5.Sg7-f5 # 4...Sd4-f5 5.Sg7*f5 # 4...Sd4*e6 5.Sg7-f5 # 4...Sd4-c6 5.Sg7-f5 # 4.Qc5-c7 threat: 5.Qc7-f4 # 4...Sd4-b3 5.Sg7-f5 # 4...Sd4-c2 5.Sg7-f5 # 4...Sd4*e2 5.Sg7-f5 # 4...Sd4-f3 5.Sg7-f5 # 4...Sd4-f5 5.Sg7*f5 # 4...Sd4*e6 5.Sg7-f5 # 4...Sd4-c6 5.Sg7-f5 # 3...Bd2-c3 4.Qc5*d4 + 4...Bc3*d4 5.Sg7-f5 # 4.Qc5-d6 threat: 5.Qd6-f4 # 4...Sd4*e2 5.Sg7-f5 # 4...Sd4*e6 5.Sg7-f5 # 4.Qc5-c7 threat: 5.Qc7-f4 # 4...Sd4*e2 5.Sg7-f5 # 4...Sd4*e6 5.Sg7-f5 # 3...Sd4-b3 4.Sg7-f5 # 3...Sd4-c2 4.Sg7-f5 # 3...Sd4*e2 4.Sg7-f5 # 3...Sd4-f3 4.Sg7-f5 # 3...Sd4-f5 4.Sg7*f5 # 3...Sd4*e6 4.Sg7-f5 # 3...Sd4-c6 4.Sg7-f5 # 3...f6-f5 4.Qc5*d4 + 4...f5-f4 5.Sg7-f5 # 5.Qd4-f6 # 5.Qd4*f4 # 4.e7-e8=Q threat: 5.Qe8-e7 # 5.Qe8-d8 # 5.d7-d8=Q # 5.d7-d8=B # 5.Qc5-e7 # 4...Bd2-a5 5.Qe8-e7 # 5.Qc5-e7 # 4...Bd2-b4 5.Qe8-e7 # 5.Qe8-d8 # 5.d7-d8=Q # 5.d7-d8=B # 4...Sd4*e2 5.Sg7*f5 # 4...Sd4-f3 5.Sg7*f5 # 4...Sd4*e6 5.Sg7*f5 # 4...Sd4-c6 5.Sg7*f5 # 4.e7-e8=S threat: 5.Qc5-e7 # 5.d7-d8=Q # 5.d7-d8=B # 4...Bd2-a5 5.Qc5-e7 # 4...Bd2-b4 5.d7-d8=Q # 5.d7-d8=B # 4...Sd4*e2 5.Sg7*f5 # 4...Sd4-f3 5.Sg7*f5 # 4...Sd4*e6 5.Sg7*f5 # 4...Sd4-c6 5.Sg7*f5 # 4.e7-e8=R threat: 5.d7-d8=Q # 5.d7-d8=B # 5.Qc5-e7 # 4...Bd2-a5 5.Qc5-e7 # 4...Bd2-b4 5.d7-d8=Q # 5.d7-d8=B # 4...Sd4*e2 5.Sg7*f5 # 4...Sd4-f3 5.Sg7*f5 # 4...Sd4*e6 5.Sg7*f5 # 4...Sd4-c6 5.Sg7*f5 # 4.e7-e8=B threat: 5.Qc5-e7 # 5.d7-d8=Q # 5.d7-d8=B # 4...Bd2-a5 5.Qc5-e7 # 4...Bd2-b4 5.d7-d8=Q # 5.d7-d8=B # 4...Sd4*e2 5.Sg7*f5 # 4...Sd4-f3 5.Sg7*f5 # 4...Sd4*e6 5.Sg7*f5 # 4...Sd4-c6 5.Sg7*f5 # 4.Qc5-d6 threat: 5.Qd6-f4 # 4...Sd4*e2 5.Sg7*f5 # 4...Sd4*e6 5.Sg7*f5 # 4.Qc5-c7 threat: 5.Qc7-f4 # 4...Sd4*e2 5.Sg7*f5 # 4...Sd4*e6 5.Sg7*f5 # 3.Kb7-c8 threat: 4.Qc7-f4 # 3...Sd4*e2 4.Sg7-f5 # 3...Sd4*e6 4.Sg7-f5 # 3...Sc5-d3 4.Rg3-g4 + 4...Kh4*h3 5.Qc7-g3 # 4.Se2*d4 threat: 5.Sg7-f5 # 5.Sd4-f3 # 5.Sd4-f5 # 4...Sd3-e1 5.Sg7-f5 # 5.Qc7-f4 # 5.Sd4-f5 # 4...Sd3-f4 5.Sg7-f5 # 5.Qc7*f4 # 5.Sd4-f5 # 4...Sd3-e5 5.Sg7-f5 # 5.Sd4-f5 # 3...Sc5*e6 4.Rg3-g4 + 4...Kh4*h3 5.Qc7-g3 # 4.Se2*d4 threat: 5.Sg7-f5 # 5.Sd4-f3 # 5.Sd4-f5 # 4...Se6*d4 5.Qc7-f4 # 4...Se6-f4 5.Sg7-f5 # 5.Qc7*f4 # 5.Sd4-f5 # 4...Se6-g5 5.Sg7-f5 # 5.Qc7-f4 # 5.Sd4-f5 # 4...Se6*g7 5.Qc7-f4 # 5.Sd4-f3 # 4...Se6*c7 5.Sg7-f5 # 5.Sd4-f5 # 2...Sb3-a5 + 3.Kb7-a8 threat: 4.Qc7-f4 # 3...Sd4*e2 4.Sg7-f5 # 3...Sd4*e6 4.Sg7-f5 # 3.Kb7-a6 threat: 4.Qc7-f4 # 3...Sd4*e2 4.Sg7-f5 # 3...Sd4*e6 4.Sg7-f5 # 2...Sd4*e2 3.Sg7-f5 # 2...Sd4*e6 3.Sg7-f5 # 1...Rb2-b1 2.Qc8*c7 threat: 3.Qc7-f4 # 2...Rb1-f1 3.Rg3-g4 + 3...Kh4*h3 4.Qc7-g3 # 2...Sd4*e2 3.Sg7-f5 # 2...Sd4*e6 3.Sg7-f5 # 1...Rb2-a2 2.Qc8*c7 threat: 3.Qc7-f4 # 2...Ra2-a7 + 3.Kb7*a7 threat: 4.Qc7-f4 # 3...Sd4*e2 4.Sg7-f5 # 3...Sd4*e6 4.Sg7-f5 # 3...Sd4-c6 + 4.Qc7*c6 threat: 5.Sg7-f5 # 4.Ka7-a8 threat: 5.Sg7-f5 # 5.Qc7-f4 # 4...Sc6-d4 5.Qc7-f4 # 4...Sc6-e5 5.Sg7-f5 # 4...Sc6*e7 5.Qc7-f4 # 2...Sd4*e2 3.Sg7-f5 # 2...Sd4*e6 3.Sg7-f5 # 1...Rb2-c2 2.Qc8-h8 threat: 3.Sg7-f5 + 3...Sd4*f5 4.Qh8*f6 # 2...Bd2-c3 3.Qh8-g8 threat: 4.Sg7-f5 + 4...Sd4*f5 5.Qg8-g4 # 1...Bd2-a5 2.Qc8-g8 threat: 3.Sg7-f5 + 3...Sd4*f5 4.Qg8-g4 # 2...Rb2-b4 3.Qg8-h8 threat: 4.Sg7-f5 + 4...Sd4*f5 5.Qh8*f6 # 1...Bd2-b4 2.Qc8*c7 threat: 3.Qc7-f4 # 2...Bb4-d6 3.Qc7*d6 threat: 4.Qd6-f4 # 3...Sd4*e2 4.Sg7-f5 # 3...Sd4*e6 4.Sg7-f5 # 2...Sd4*e2 3.Sg7-f5 # 2...Sd4*e6 3.Sg7-f5 # 2.Qc8-g8 threat: 3.Sg7-f5 + 3...Sd4*f5 4.Qg8-g4 #" --- authors: - Вукчевић, Милан Радоје source: Chess Life date: 1986 distinction: 3rd Prize algebraic: white: [Ka6, Re6, Re1, Bh2, Bf1, Sb5, Sa1, Pg2, Pf5, Pb4, Pb3] black: [Kd5, Qh5, Rc8, Rc1, Bb8, Bb1, Sg1, Sf6, Pg4, Pf2, Pd2, Pc3, Pb6, Pa3] stipulation: "#5" solution: | "1.Sa1-c2 ! threat: 2.Sc2-e3 # 1...Bb1*c2 2.Bh2-c7 threat: 3.Re6-d6 # 3.Bf1-c4 # 3.Re1-e5 # 2...Rc1*e1 3.Bf1-c4 # 2...Sg1-f3 3.Re6-d6 # 3.Bf1-c4 # 2...Sg1-e2 3.Re1*e2 threat: 4.Re6-d6 # 4.Re2-e5 # 3...Rc1-e1 4.Re6-d6 # 3...Bc2-e4 4.Re2*e4 threat: 5.Re4-d4 # 5.Re4-e5 # 5.Bf1-c4 # 4...Rc1*f1 5.Sb5*c3 # 5.Re4-d4 # 5.Re4-e5 # 4...Rc1-e1 5.Sb5*c3 # 5.Re4-d4 # 5.Bf1-c4 # 4...d2-d1=Q 5.Re4-e5 # 5.Bf1-c4 # 4...d2-d1=R 5.Re4-e5 # 5.Bf1-c4 # 4...Qh5-h2 5.Re4-d4 # 5.Bf1-c4 # 4...Qh5*f5 5.Bf1-c4 # 4...Sf6*e4 5.Bf1-c4 # 4...Sf6-d7 5.Re4-d4 # 5.Bf1-c4 # 4...Bb8*c7 5.Re4-d4 # 5.Bf1-c4 # 4...Rc8*c7 5.Re4-d4 # 5.Re4-e5 # 3...Bc2*b3 4.Re2-e5 # 3...Qh5-h2 4.Re2*d2 + 4...Bc2-d3 5.Rd2*d3 # 4...c3*d2 5.Bf1-c4 # 3...Qh5*f5 4.Re6-d6 # 3...Sf6-e4 4.Re2*e4 threat: 5.Sb5*c3 # 5.Re4-d4 # 5.Re4-e5 # 5.Bf1-c4 # 4...Rc1*f1 5.Sb5*c3 # 5.Re4-d4 # 5.Re4-e5 # 4...Rc1-e1 5.Sb5*c3 # 5.Re4-d4 # 5.Bf1-c4 # 4...Bc2-b1 5.Re4-d4 # 5.Re4-e5 # 5.Bf1-c4 # 4...Bc2-d1 5.Re4-d4 # 5.Re4-e5 # 5.Bf1-c4 # 4...Bc2*e4 5.Bf1-c4 # 4...Bc2-d3 5.Re4-d4 # 5.Re4-e5 # 4...Bc2*b3 5.Re4-d4 # 5.Re4-e5 # 4...d2-d1=Q 5.Sb5*c3 # 5.Re4-e5 # 5.Bf1-c4 # 4...d2-d1=S 5.Re4-d4 # 5.Re4-e5 # 5.Bf1-c4 # 4...d2-d1=R 5.Sb5*c3 # 5.Re4-e5 # 5.Bf1-c4 # 4...Qh5-h2 5.Sb5*c3 # 5.Re4-d4 # 5.Bf1-c4 # 4...Qh5-h3 5.Re4-d4 # 5.Re4-e5 # 5.Bf1-c4 # 4...Qh5*f5 5.Sb5*c3 # 5.Bf1-c4 # 4...Qh5-h8 5.Bf1-c4 # 4...Bb8*c7 5.Sb5*c3 # 5.Re4-d4 # 5.Bf1-c4 # 4...Rc8*c7 5.Re4-d4 # 5.Re4-e5 # 3...Sf6-e8 4.Re2-e5 # 3...Sf6-d7 4.Re6-d6 # 3...Bb8*c7 4.Re2*d2 + 4...Bc2-d3 5.Rd2*d3 # 4...c3*d2 5.Bf1-c4 # 3...Rc8-d8 4.Re2-e5 # 2...Bc2-e4 3.Bf1-c4 # 2...Bc2-d3 3.Re6-d6 # 3.Re1-e5 # 2...Bc2*b3 3.Re6-d6 # 3.Re1-e5 # 2...d2*e1=Q 3.Bf1-c4 # 2...d2*e1=S 3.Bf1-c4 # 2...d2*e1=R 3.Bf1-c4 # 2...d2*e1=B 3.Bf1-c4 # 2...f2*e1=Q 3.Bf1-c4 # 2...f2*e1=S 3.Bf1-c4 # 2...f2*e1=R 3.Bf1-c4 # 2...f2*e1=B 3.Bf1-c4 # 2...Qh5-h2 3.Bf1-c4 # 2...Qh5*f5 3.Re6-d6 # 3.Bf1-c4 # 2...Sf6-e4 3.Bf1-c4 # 2...Sf6-e8 3.Bf1-c4 # 3.Re1-e5 # 2...Sf6-d7 3.Re6-d6 # 3.Bf1-c4 # 2...Bb8*c7 3.Bf1-c4 # 2...Rc8*c7 3.Re6-d6 # 3.Re1-e5 # 2...Rc8-d8 3.Bf1-c4 # 3.Re1-e5 # 1...Rc1*c2 2.Bh2-c7 threat: 3.Re6-d6 # 3.Bf1-c4 # 3.Re1-e5 # 2...Sg1-f3 3.Re6-d6 # 3.Bf1-c4 # 2...Sg1-e2 3.Bf1*e2 threat: 4.Be2-c4 # 3...f2-f1=Q 4.Be2-c4 + 4...Qf1*c4 5.Re6-d6 # 5.Re1-e5 # 4.Be2*f1 threat: 5.Re6-d6 # 5.Bf1-c4 # 5.Re1-e5 # 4...d2*e1=Q 5.Bf1-c4 # 4...d2*e1=S 5.Bf1-c4 # 4...d2*e1=R 5.Bf1-c4 # 4...d2*e1=B 5.Bf1-c4 # 4...Qh5-h2 5.Bf1-c4 # 4...Qh5*f5 5.Re6-d6 # 5.Bf1-c4 # 4...Sf6-e4 5.Bf1-c4 # 4...Sf6-e8 5.Bf1-c4 # 5.Re1-e5 # 4...Sf6-d7 5.Re6-d6 # 5.Bf1-c4 # 4...Bb8*c7 5.Bf1-c4 # 4...Rc8*c7 5.Re6-d6 # 5.Re1-e5 # 4...Rc8-d8 5.Bf1-c4 # 5.Re1-e5 # 4.Be2-f3 + 4...Qf1*f3 5.Re6-d6 # 5.Re1-e5 # 4...g4*f3 5.Re1-e5 # 5.Re6-d6 # 4...Sf6-e4 5.Bf3*e4 # 3...f2-f1=B 4.Be2-c4 + 4...Bf1*c4 5.Re6-d6 # 5.Re1-e5 # 4.Be2*f1 threat: 5.Re6-d6 # 5.Bf1-c4 # 5.Re1-e5 # 4...d2*e1=Q 5.Bf1-c4 # 4...d2*e1=S 5.Bf1-c4 # 4...d2*e1=R 5.Bf1-c4 # 4...d2*e1=B 5.Bf1-c4 # 4...Qh5-h2 5.Bf1-c4 # 4...Qh5*f5 5.Re6-d6 # 5.Bf1-c4 # 4...Sf6-e4 5.Bf1-c4 # 4...Sf6-e8 5.Bf1-c4 # 5.Re1-e5 # 4...Sf6-d7 5.Re6-d6 # 5.Bf1-c4 # 4...Bb8*c7 5.Bf1-c4 # 4...Rc8*c7 5.Re6-d6 # 5.Re1-e5 # 4...Rc8-d8 5.Bf1-c4 # 5.Re1-e5 # 4.Be2-f3 + 4...g4*f3 5.Re6-d6 # 5.Re1-e5 # 4...Sf6-e4 5.Bf3*e4 # 3...Rc8*c7 4.Be2-f3 + 4...g4*f3 5.Re6-d6 # 5.Re1-e5 # 4...Sf6-e4 5.Bf3*e4 # 2...d2*e1=Q 3.Bf1-c4 # 2...d2*e1=S 3.Bf1-c4 # 2...d2*e1=R 3.Bf1-c4 # 2...d2*e1=B 3.Bf1-c4 # 2...f2*e1=Q 3.Bf1-c4 # 2...f2*e1=S 3.Bf1-c4 # 2...f2*e1=R 3.Bf1-c4 # 2...f2*e1=B 3.Bf1-c4 # 2...Qh5-h2 3.Bf1-c4 # 2...Qh5*f5 3.Re6-d6 # 3.Bf1-c4 # 2...Sf6-e4 3.Bf1-c4 # 2...Sf6-e8 3.Bf1-c4 # 3.Re1-e5 # 2...Sf6-d7 3.Re6-d6 # 3.Bf1-c4 # 2...Bb8*c7 3.Bf1-c4 # 2...Rc8*c7 3.Re6-d6 # 3.Re1-e5 # 2...Rc8-d8 3.Bf1-c4 # 3.Re1-e5 # 1...Rc1*e1 2.Sb5-c7 + 2...Bb8*c7 3.Bf1-c4 # 2...Rc8*c7 3.Re6-d6 + 3...Kd5-e4 4.Bf1-d3 # 1...d2-d1=S 2.Sb5-c7 + 2...Bb8*c7 3.Bf1-c4 # 2...Rc8*c7 3.Re6-d6 # 3.Re1-e5 # 2.Re1*d1 + 2...Rc1*d1 3.Sc2-e3 # 1...d2*e1=Q 2.Sb5-c7 + 2...Bb8*c7 3.Bf1-c4 # 2...Rc8*c7 3.Re6-d6 + 3...Kd5-e4 4.Bf1-d3 # 1...d2*e1=R 2.Sb5-c7 + 2...Bb8*c7 3.Bf1-c4 # 2...Rc8*c7 3.Re6-d6 + 3...Kd5-e4 4.Bf1-d3 # 1...f2*e1=Q 2.Sb5-c7 + 2...Bb8*c7 3.Bf1-c4 # 2...Rc8*c7 3.Re6-d6 + 3...Kd5-e4 4.Bf1-d3 # 1...f2*e1=R 2.Sb5-c7 + 2...Bb8*c7 3.Bf1-c4 # 2...Rc8*c7 3.Re6-d6 + 3...Kd5-e4 4.Bf1-d3 # 1...Qh5-h3 2.Sb5-c7 + 2...Bb8*c7 3.Bf1-c4 # 2...Rc8*c7 3.Re6-d6 # 3.Re1-e5 # 1...Qh5*f5 2.Sb5-c7 + 2...Bb8*c7 3.Bf1-c4 # 2...Rc8*c7 3.Re6-d6 # 1...Qh5-g5 2.Sb5-c7 + 2...Bb8*c7 3.Bf1-c4 # 2...Rc8*c7 3.Re6-d6 # 3.Re1-e5 # 1...Qh5-h6 2.Sb5-c7 + 2...Bb8*c7 3.Bf1-c4 # 2...Rc8*c7 3.Re6-d6 # 3.Re1-e5 # 1...Bb8-f4 2.Re1-e5 + 2...Bf4*e5 3.Sc2-e3 + 3...Kd5-e4 4.Re6*e5 # 1...Bb8-e5 2.Re1*e5 # 1...Bb8-d6 2.Re6*d6 #" --- authors: - Вукчевић, Милан Радоје source: Chess Life date: 1986 distinction: 1st Prize algebraic: white: [Kg7, Rg4, Rb4, Bg1, Bb3, Ph3, Ph2] black: [Kh5, Qh1, Rf1, Be1, Ph6, Ph4, Pd3, Pc5, Pc3, Pb7, Pa6] stipulation: "#8" solution: | "1.Bf2! c4! 2.Rb6 Bd2 3.Ba4 Re1 4.Be3! Qc6! 5.Rg5+ hg 6.B:c6 R:e3 7.Be8+ R:e8 8.Rh6#" keywords: - Novotny comments: - AF 1986-1988, №С111, 12 Points --- authors: - Вукчевић, Милан Радоје source: Chess Life date: 1988 distinction: 2nd Prize algebraic: white: [Kd4, Qe5, Rg6, Rf7, Be3, Bd3, Sh1, Sc3, Pd5] black: [Kf3, Qh8, Rh4, Rd1, Ba6, Ba1, Sg1, Sb7, Ph5, Ph3, Pg2, Pf4, Pd6, Pc4, Pb4] stipulation: "s#2" solution: | "1.Be3-f2 ! threat: 2.Rf7*f4 + 2...Rh4*f4 # 1...Rd1-b1 2.Bd3-e2 + 2...Sg1*e2 # 1...Rd1-c1 2.Bd3-e2 + 2...Sg1*e2 # 1...Rd1-f1 2.Bd3-e2 + 2...Sg1*e2 # 1...Rd1-e1 2.Bd3-e4 + 2...Re1*e4 # 1...Qh8-f6 2.Rg6-g3 + 2...f4*g3 # 1...Qh8-h6 2.Qe5-e2 + 2...Sg1*e2 # 1...Qh8-h7 2.Qe5-e2 + 2...Sg1*e2 # 1...Qh8-a8 2.Qe5-e2 + 2...Sg1*e2 # 1...Qh8-b8 2.Qe5-e2 + 2...Sg1*e2 # 1...Qh8-c8 2.Qe5-e2 + 2...Sg1*e2 # 1...Qh8-d8 2.Qe5-e2 + 2...Sg1*e2 # 1...Qh8-e8 2.Qe5-e4 + 2...Qe8*e4 # 1...Qh8-f8 2.Qe5-e2 + 2...Sg1*e2 # 1...Qh8-g8 2.Qe5-e2 + 2...Sg1*e2 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1986 distinction: 1st Prize algebraic: white: [Ka6, Qe6, Rc1, Bd4, Sb6, Sb2, Pb7, Pa7] black: [Kb4, Qa2, Rf6, Ra3, Bf8, Bf7, Se5, Pf5, Pd2, Pc7, Pc5, Pb3, Pa4] stipulation: "s#3" solution: | "1.Qe6-c6 ! threat: 2.Sb2-d3 + 2...Se5*d3 3.Qc6*a4 + 3...Ra3*a4 # 1...Se5-c4 2.Rc1*c4 + 2...Bf7*c4 + 3.Qc6-b5 + 3...Bc4*b5 # 1...Se5-d3 2.Rc1-c4 + 2...Bf7*c4 + 3.Qc6-b5 + 3...Bc4*b5 # 1...Se5-f3 2.Rc1-c4 + 2...Bf7*c4 + 3.Qc6-b5 + 3...Bc4*b5 # 1...Se5-g4 2.Rc1-c4 + 2...Bf7*c4 + 3.Qc6-b5 + 3...Bc4*b5 # 1...Se5-g6 2.Rc1-c4 + 2...Bf7*c4 + 3.Qc6-b5 + 3...Bc4*b5 # 1...Se5-d7 2.Rc1-c4 + 2...Bf7*c4 + 3.Qc6-b5 + 3...Bc4*b5 # 1...Se5*c6 2.Sb6-d5 + 2...Bf7*d5 3.b7-b8=Q + 3...Sc6*b8 # 3.b7-b8=R + 3...Sc6*b8 # 1...c7*b6 2.Qc6*c5 + 2...Bf8*c5 3.Bd4*c5 + 3...b6*c5 # 1...Bf7-e6 2.Qc6*c5 + 2...Bf8*c5 3.Sb6-d5 + 3...Be6*d5 # 1...Bf8-d6 2.Sb6-d5 + 2...Bf7*d5 3.Qc6*c5 + 3...Bd6*c5 #" --- authors: - Вукчевић, Милан Радоје source: Ivanic MT date: 1990 distinction: 1st Prize algebraic: white: [Kf5, Rh5, Re7, Bb6, Sf7, Sa5, Ph4, Pg6, Pb4] black: [Kd5, Rf1, Be2, Sc7, Pg7, Pg4, Pg3, Pf4, Pe4, Pd6, Pb5, Pa4] stipulation: "#3" solution: | "1.Sf7-g5 ! threat: 2.Sg5*e4 threat: 3.Se4-c3 # 2...Rf1-c1 3.Kf5*f4 # 2...Rf1-f3 3.Kf5*g4 # 2...Be2-d3 3.Kf5*g4 # 1...Rf1-c1 2.Kf5*f4 threat: 3.Sg5*e4 # 3.Sg5-f3 # 3.Sg5-h3 # 3.Sg5-h7 # 3.Sg5-f7 # 3.Sg5-e6 # 2...Rc1-c5 3.Sg5-f3 # 3.Sg5-e6 # 2...Rc1-f1 + 3.Sg5-f3 # 2...Sc7-e6 + 3.Sg5*e6 # 1...Rf1-f3 2.Kf5*g4 threat: 3.Sg5*e4 # 3.Sg5*f3 # 3.Sg5-h3 # 3.Sg5-h7 # 3.Sg5-f7 # 3.Sg5-e6 # 2...Rf3-f1 + 3.Sg5-f3 # 2...Rf3-f2 + 3.Sg5-f3 # 2...Rf3-a3 + 3.Sg5-f3 # 2...Rf3-b3 + 3.Sg5-f3 # 2...Rf3-c3 + 3.Sg5-f3 # 2...Rf3-d3 + 3.Sg5-f3 # 2...Rf3-e3 + 3.Sg5-f3 # 2...e4-e3 3.Sg5-e4 # 3.Sg5*f3 # 3.Sg5-h3 # 3.Sg5-h7 # 3.Sg5-f7 # 2...Sc7-e6 3.Sg5*e6 # 1...Be2-f3 2.Kf5*f4 threat: 3.Sg5*e4 # 3.Sg5*f3 # 3.Sg5-h3 # 3.Sg5-h7 # 3.Sg5-f7 # 3.Sg5-e6 # 2...Bf3-d1 + 3.Sg5-f3 # 2...Bf3-e2 + 3.Sg5-f3 # 2...Bf3-h1 + 3.Sg5-f3 # 2...Bf3-g2 + 3.Sg5-f3 # 2...Sc7-e6 + 3.Sg5*e6 # 1...Be2-d3 2.Kf5*g4 threat: 3.Sg5*e4 # 3.Sg5-f3 # 3.Sg5-h3 # 3.Sg5-h7 # 3.Sg5-f7 # 3.Sg5-e6 # 2...Bd3-e2 + 3.Sg5-f3 # 2...e4-e3 3.Sg5-e4 # 2...Sc7-e6 3.Sg5*e6 # 1...Sc7-a6 2.Sg5-f3 threat: 3.Kf5*f4 # 3.Kf5*g4 # 2...Rf1*f3 3.Kf5*g4 # 2...Be2*f3 3.Kf5*f4 # 1...Sc7-e6 2.Sg5*e6 threat: 3.Se6-c7 # 2...Rf1-c1 3.Se6*f4 # 3.Kf5*f4 # 1...Sc7-a8 2.Sg5-f3 threat: 3.Kf5*f4 # 3.Kf5*g4 # 2...Rf1*f3 3.Kf5*g4 # 2...Be2*f3 3.Kf5*f4 #" --- authors: - Вукчевић, Милан Радоје source: Chess Life date: 1989 distinction: 1st Prize algebraic: white: [Ka3, Qh5, Rf6, Rc6, Bf4, Ba8, Sb7, Sb4, Pg5, Pg3, Pf2, Pe3] black: [Ke4, Rg6, Bg2, Bb8, Se7, Sd5, Pf7, Pd2, Pc7, Pc3, Pb6, Pb5] stipulation: "#3" solution: | "1.Qh5-d1 ! threat: 2.f2-f3 + 2...Bg2*f3 3.Qd1-c2 # 1...Sd5*b4 2.Rc6-c4 + 2...Ke4-d5 3.Rc4-d4 # 2...Ke4-d3 3.Rc4-d4 # 2...b5*c4 3.Sb7-c5 # 1...Sd5*e3 2.Sb7-d6 + 2...Ke4-d4 3.f2*e3 # 2...c7*d6 3.Rc6-c4 # 1...Sd5*f4 2.Sb7-c5 + 2...Ke4-e5 3.g3*f4 # 2...b6*c5 3.Rc6-e6 # 1...Sd5*f6 2.Rc6-e6 + 2...Ke4-f5 3.Re6-e5 # 2...f7*e6 3.Sb7-d6 #" --- authors: - Вукчевић, Милан Радоје source: 3rd WCCT date: 1984 distinction: 5th Place, 1984-1988 algebraic: white: [Kb6, Rh5, Ra7, Bd4, Sf1, Se1, Pf3, Pe6, Pd5, Pc6, Pc4, Pc3] black: [Kd6, Qg3, Bg5, Bf5, Sh6, Sb8, Ph4, Pe7, Pe3, Pd3, Pb4] stipulation: "#3" solution: | "1.Kb6-b5 ! threat: 2.c6-c7 threat: 3.c7-c8=S # 3.c7*b8=Q # 3.c7*b8=B # 2...Bf5*e6 3.c7*b8=Q # 3.c7*b8=B # 2...Sb8-a6 3.c7-c8=S # 2...Sb8-c6 3.c7-c8=S # 2...Sb8-d7 3.c7-c8=S # 1...Qg3*f3 2.Se1*f3 threat: 3.Bd4-e5 # 3.Bd4-c5 # 2...Bg5-f4 3.Bd4-c5 # 2...Bg5-f6 3.Bd4-c5 # 2...Sh6-g4 3.Bd4-c5 # 2...Sh6-f7 3.Bd4-c5 # 2...Sb8-a6 3.Ra7-d7 # 3.Bd4-e5 # 2...Sb8*c6 3.Ra7-d7 # 3.Bd4-c5 # 2...Sb8-d7 3.Ra7*d7 # 1...Bf5-e4 2.f3*e4 threat: 3.c4-c5 # 2...Sb8-a6 3.Ra7-d7 # 2...Sb8-d7 3.Ra7*d7 # 1...Bf5-g6 2.Sf1*e3 threat: 3.c4-c5 # 2...Sb8-a6 3.Ra7-d7 # 2...Sb8-d7 3.Ra7*d7 # 1...Bf5*e6 2.c4-c5 + 2...Kd6*d5 3.Sf1*e3 # 1...Bg5-f4 2.Se1*d3 threat: 3.Bd4-c5 # 2...Sb8-a6 3.Ra7-d7 # 2...Sb8-d7 3.Ra7*d7 # 1...Bg5-f6 2.Bd4-c5 + 2...Kd6-e5 3.Se1*d3 #" --- authors: - Вукчевић, Милан Радоје source: Chess Life date: 1987 algebraic: white: [Kh3, Rg3, Rd8, Bg7, Sd3, Pd4] black: [Kc3, Qc6, Rb3, Ra6, Bb2, Ba8, Ph6, Pg2, Pc5, Pc4, Pb5, Pb4, Pa5] stipulation: "h#2" solution: | "1.Qc6-f3 Sd3-e1 2.Ba8-c6 d4*c5 # 1.Qc6-b7 Bg7*h6 2.Ra6-c6 Sd3-e1 # 1.Qc6-b6 Rg3*g2 2.Ba8-c6 d4*c5 # 1.Qc6-f6 d4*c5 2.Ra6-c6 Sd3-e1 #" --- authors: - Вукчевић, Милан Радоје source: Probleemblad date: 1971 distinction: 5th HM algebraic: white: [Kh4, Qb2, Rh6, Rb4, Bc3, Ba2, Sf7, Sf1, Ph5, Pg3, Pf3, Pd5] black: [Kf5, Qd3, Re1, Ra6, Bd1, Bb8, Sd7, Sa1, Ph3, Pg4, Pe3, Pa4] stipulation: "#3" solution: | "1.Qb2-e2 ! threat: 2.f3*g4 # 2.Qe2*d3 # 1...Bd1*e2 2.d5-d6 threat: 3.Rb4-f4 # 3.Ba2-e6 # 2...Sa1-b3 3.Rb4-f4 # 2...Qd3-e4 3.f3*e4 # 2...Qd3-c4 3.Sf1*e3 # 2...Qd3*d6 3.Sf1*e3 # 2...Qd3-d5 3.Sf1*e3 # 3.Rb4-f4 # 2...Qd3-d4 3.Ba2-e6 # 2...Ra6*d6 3.Rb4-f4 # 2...Sd7-c5 3.Rh6-f6 # 3.Rb4-f4 # 2...Sd7-f6 3.Rh6*f6 # 3.Rb4-f4 # 2...Sd7-f8 3.Rh6-f6 # 3.Rb4-f4 # 2...Bb8*d6 3.Ba2-e6 # 1...Bd1-c2 2.f3*g4 # 1...Re1*e2 2.f3*g4 # 1...Qd3-b1 2.f3*g4 # 2.Sf1*e3 # 1...Qd3-c2 2.f3*g4 # 2.Sf1*e3 # 1...Qd3*e2 2.Rh6-d6 threat: 3.Sf7-h6 # 3.Rb4-f4 # 2...Qe2*f3 3.Sf7-h6 # 2...Qe2-c4 3.Sf7-h6 # 2...Ra6*d6 3.Rb4-f4 # 2...Bb8*d6 3.Sf7-h6 # 1...Qd3-e4 2.f3*e4 # 1...Qd3-b5 2.f3*g4 # 2.Sf1*e3 # 1...Qd3-c4 2.Sf1*e3 # 1...Qd3-d2 2.f3*g4 # 1...Qd3*c3 2.f3*g4 # 1...Qd3*d5 2.f3*g4 # 2.Sf1*e3 # 1...Qd3-d4 2.Sf1*e3 + 2...Qd4*e3 3.f3*g4 # 1...g4*f3 2.g3-g4 # 2.Qe2*d3 # 1...Ra6-g6 2.Qe2*d3 # 1...Ra6-e6 2.f3*g4 # 1...Sd7-c5 2.f3*g4 # 1...Sd7-e5 2.Rb4-f4 # 1...Sd7-f6 2.f3*g4 + 2...Sf6*g4 3.Qe2*d3 # 2.Sf7-d6 + 2...Ra6*d6 3.Rb4-f4 # 2...Bb8*d6 3.Rh6*f6 # 2.Rh6*f6 + 2...Ra6*f6 3.f3*g4 # 3.Qe2*d3 # 2.Qe2*d3 + 2...Sf6-e4 3.f3*e4 # 3.Qd3*e4 # 1...Bb8*g3 + 2.Sf1*g3 #" --- authors: - Вукчевић, Милан Радоје source: Themes 64 date: 1981 distinction: 1st Prize algebraic: white: [Kh5, Qc8, Rh1, Bh7, Be3, Pg2, Pf2, Pd3, Pd2, Pc2] black: [Ke2, Rd5, Ra4, Bc5, Sc7, Sb5, Pg5, Pg4, Pf7, Pf6, Pe5, Pd6, Pc3, Pa2] stipulation: "#8" solution: 1.b2-d4 ! --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) date: 1962 distinction: 2nd Prize algebraic: white: [Ka4, Qh7, Be6, Bd2, Se1, Sb5, Pg3, Pd6, Pc6, Pc4] black: [Ke4, Rg8, Rf8, Bb6, Sa5, Pg6, Pg4, Pe5] stipulation: "#3" solution: | "1. ... Bf2 2. Sc3+ Kd4 3. Qa7# 1. ... Rf2 2. Bd5+ Kf5 3. Qf7# 1. Qh2! [2. Qe2+ Be3 3. Qxe3/d3#] 1. ... Bf2 2. Bd5+ Kf5 3. Qxf2# 1. ... Rf2 2. Sc3+ Kd4 3. Qxf2#" --- authors: - Вукчевић, Милан Радоје source: British Chess Federation date: 1961 distinction: 3rd Prize algebraic: white: [Kg7, Qg3, Rh1, Rd1, Bf6, Ba2, Sg5, Sg2, Ph4] black: [Kf5, Qb6, Ra4, Ra3, Ba6, Ba1, Sc8, Pg4, Pe7, Pe6, Pe5, Pe3, Pc7, Pc5] stipulation: "#3" solution: | "1.Rd1-d8 ! threat: 2.Rd8-f8 threat: 3.Bf6*e5 # 3.Bf6*e7 # 2...Ra4-f4 3.Bf6*e7 # 2...e5-e4 3.Bf6*a1 # 3.Bf6-b2 # 3.Bf6-c3 # 3.Bf6-d4 # 3.Bf6-e5 # 3.Qg3-f4 # 2...e7*f6 3.Rf8*f6 # 2...Sc8-d6 3.Ba2*e6 # 1...Ra3-b3 2.Ba2-b1 + 2...Rb3*b1 3.Sg2*e3 # 2...Rb3-d3 3.Sg2*e3 # 2...Ra4-e4 3.Bb1*e4 # 2...e5-e4 3.Qg3-f4 # 2...Ba6-d3 3.Sg2*e3 # 1...Ra4-c4 2.Rd8-d4 threat: 3.Qg3*e5 # 3.Qg3*g4 # 3.Rh1-f1 # 2...Ba1*d4 3.Rh1-f1 # 2...Ra3*a2 3.Qg3*e5 # 3.Qg3*g4 # 3.Sg2*e3 # 2...e3-e2 3.Qg3*e5 # 3.Qg3*g4 # 2...Rc4-c1 3.Qg3*e5 # 3.Qg3*g4 # 2...Rc4-c2 3.Qg3*e5 # 3.Qg3*g4 # 2...Rc4-c3 3.Qg3*e5 # 3.Qg3*g4 # 2...Rc4-a4 3.Qg3*e5 # 3.Qg3*g4 # 2...Rc4-b4 3.Qg3*e5 # 3.Qg3*g4 # 2...Rc4*d4 3.Qg3*e5 # 2...c5*d4 3.Qg3*e5 # 3.Rh1-f1 # 2...e5-e4 3.Qg3-e5 # 3.Qg3-f4 # 3.Rh1-f1 # 2...e5*d4 3.Qg3-e5 # 3.Qg3-f4 # 3.Rh1-f1 # 2...Ba6-b7 3.Qg3*e5 # 3.Qg3*g4 # 2...Qb6-b1 3.Qg3*e5 # 3.Qg3*g4 # 2...Qb6-b2 3.Qg3*e5 # 3.Qg3*g4 # 2...Qb6-b7 3.Qg3*e5 # 3.Qg3*g4 # 2...Qb6-d6 3.Qg3*g4 # 3.Rh1-f1 # 2...Qb6-c6 3.Qg3*e5 # 3.Qg3*g4 # 2...e7*f6 3.Qg3*g4 # 3.Rh1-f1 # 1...Ba6-c4 2.Rd8-d3 threat: 3.Sg2*e3 # 3.Rh1-f1 # 2...Ba1-d4 3.Rh1-f1 # 2...Ra3*a2 3.Sg2*e3 # 2...Ra3*d3 3.Rh1-f1 # 2...e3-e2 3.Qg3-f2 # 3.Sg2-e3 # 2...Bc4*a2 3.Sg2*e3 # 2...Bc4-b3 3.Sg2*e3 # 2...Bc4*d3 3.Sg2*e3 # 2...Bc4-d5 3.Sg2*e3 # 2...Bc4-a6 3.Sg2*e3 # 2...Bc4-b5 3.Sg2*e3 # 2...Qb6-b1 3.Sg2*e3 # 2...Qb6-b2 3.Sg2*e3 # 2...Qb6-b7 3.Sg2*e3 # 2...Qb6-c6 3.Sg2*e3 # 1...Ba6-b5 2.Ba2-b1 + 2...Ra3-d3 3.Sg2*e3 # 2...Ra4-e4 3.Bb1*e4 # 2...Bb5-d3 3.Sg2*e3 # 2...e5-e4 3.Qg3-f4 # 1...Qb6-b3 2.Sg2*e3 + 2...Qb3*e3 3.Ba2*e6 #" --- authors: - Вукчевић, Милан Радоје source: Tournoi Jubilé 60 de Toma GARAI date: 1996 algebraic: white: [Kb4, Sd4, Sb6, Pe7, Pc4] black: [Kc7, Qf7, Rg7, Re8, Bf8, Sd8, Sb7, Pf6, Pe5, Pa6] stipulation: "h#2" solution: | "1.Kc7-d6 e7*d8=Q + 2.Qf7-d7 Sb6-c8 # 1.Kc7-d6 e7*d8=S 2.Qf7-c7 Sd4-f5 # 1.Kc7-d6 e7*d8=R + 2.Kd6-e7 Rd8-d7 # 1.Kc7-d6 e7*d8=B 2.Sb7-a5 c4-c5 #" --- authors: - Вукчевић, Милан Радоје source: Tournoi Jubilé 60 de Toma GARAI date: 1996 algebraic: white: [Kc3, Rc2, Bc4, Ba5, Pe4] black: [Kd6, Rd8, Rc8, Bf8, Pb7] stipulation: "h#2" solution: | "1.Kd6-c6 Bc4-e6 2.Rd8-d6 Kc3-b4 # 1.Kd6-c5 Bc4-a6 2.Bf8-d6 Kc3-d3 #" --- authors: - Вукчевић, Милан Радоје source: Chess Life date: 1991 distinction: 1st Prize algebraic: white: [Kg1, Qb6, Rh5, Rf7, Bg7, Bb7, Sf4, Sd4, Ph3, Pg6, Pg4, Pe7, Pe6, Pe3] black: [Kg3, Qh8, Rd8, Ra1, Bd1, Bb8, Sf8, Ph6, Pb5, Pa2] stipulation: "s#3" solution: | "1.Qb6-d6 ! threat: 2.Sf4-d5 + 2...Bb8*d6 3.Rf7-f3 + 3...Bd1*f3 # 2...Rd8*d6 3.Rf7-f3 + 3...Bd1*f3 # 1...Bb8*d6 2.Rf7-f6 threat: 3.Sd4-e2 + 3...Bd1*e2 # 1...Rd8*d6 2.Bg7-f6 threat: 3.Sf4-e2 + 3...Bd1*e2 # 1...Sf8*e6 2.Sf4*e6 + 2...Bb8*d6 3.Rf7-f3 + 3...Bd1*f3 # 2...Rd8*d6 3.Rf7-f3 + 3...Bd1*f3 # 1...Sf8*g6 2.Sf4*g6 + 2...Bb8*d6 3.Rf7-f3 + 3...Bd1*f3 # 2...Rd8*d6 3.Rf7-f3 + 3...Bd1*f3 #" keywords: - Novotny - Grimshaw - Active sacrifice - Play on same square --- authors: - Вукчевић, Милан Радоје source: diagrammes date: 1999 distinction: 2nd Prize algebraic: white: [Kh8, Qh3, Rh5, Rd6, Bg8, Bb8, Sf8, Ph6, Pe3, Pb5] black: [Ke5, Ra5, Ba1, Sg5, Sb3, Ph7, Pg6, Pe4] stipulation: "s#3" solution: | "1.Kh8-g7 ! threat: 2.Qh3-g3 + 2...Ke5-f5 + 3.Rd6-f6 + 3...Ba1*f6 # 1...Sb3-d4 2.Rd6-e6 + 2...Ke5-d5 3.Re6-c6 + 3...Sd4-e6 # 1...Ra5-a7 + 2.Rd6-d7 + 2...Ra7-c7 3.Rd7-e7 + 3...Ke5-d6 # 1...Ra5-a6 2.Rd6-d4 + 2...Ra6-d6 3.Rd4*e4 + 3...Ke5*e4 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1985 distinction: 1st Prize algebraic: white: [Ka8, Re8, Rc1, Bg7, Sh5, Sg6, Pg4] black: [Kd5, Qf3, Rb2, Ra3, Bb1, Sh4, Sg2, Pf4, Pe3, Pd6, Pd3, Pb5, Pa7] stipulation: "#7" solution: --- authors: - Вукчевић, Милан Радоје source: Europe Échecs date: 1982 algebraic: white: [Kh2, Qa3, Rf7, Bd2, Bc6, Sd3, Sa4, Pe3, Pa2] black: [Kc4, Rc1, Rb1, Bd1, Ba1, Sa6, Pe5, Pe4, Pc5, Pb6, Pa5] stipulation: "#3" solution: | "1.Rf7-d7 ! threat: 2.Qa3-b2 2...Ba1*b2 3.Sa4*b6 # 2...Rb1*b2 3.Sd3*e5 # 1...Rc1-c2 2.Sa4-b2 + 2...Ba1*b2 3.Qa3-b3 # 2...Rb1*b2 3.Sd3*e5 # 1...Bd1-c2 2.Sd3-b2 + 2...Ba1*b2 3.Sa4*b6 # 2...Rb1*b2 3.Qa3-c3 #" keywords: - Novotny - Grimshaw - Play on same square comments: - Check also 52977, 54110, 170727, 186266, 269325, 370625, 397567, 398400 --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1963 distinction: 2nd Prize algebraic: white: [Ka2, Qa4, Rg5, Sf7, Sc7, Pg4, Pf4, Pf2, Pe3, Pe2] black: [Ke4, Rd3, Bb7, Bb2, Sc4, Sa3, Ph6, Pe5, Pc6] stipulation: "#3" solution: | "1.Qa4-a7 ! threat: 2.f2-f3 # 1...Bb2-d4 2.Rg5*e5 + 2...Sc4*e5 3.Sf7-d6 # 2...Bd4*e5 3.f2-f3 # 1...Rd3-d4 2.Sf7-d6 + 2...Sc4*d6 3.Rg5*e5 # 2...Rd4*d6 3.f2-f3 # 1...Rd3*e3 2.Sf7-d6 + 2...Sc4*d6 3.Qa7*e3 # 2...Ke4*f4 3.Sc7-e6 # 1...Sc4-d2 2.Qa7-d4 + 2...Bb2*d4 3.Sf7-d6 # 2...Rd3*d4 3.Rg5*e5 # 2...e5*d4 3.Rg5-e5 # 3.Sf7-d6 # 1...Sc4*e3 2.Sf7-d6 + 2...Ke4*f4 3.Sc7-e6 # 2...Rd3*d6 3.Qa7*e3 # 1...Sc4-b6 2.Qa7*b6 threat: 3.f2-f3 # 2...Bb2-d4 3.Sf7-d6 # 2...Rd3-d4 3.Rg5*e5 # 2...Rd3*e3 3.Qb6*e3 # 2...c6-c5 3.Qb6-g6 # 1...c6-c5 2.Qa7*b7 + 2...Rd3-d5 3.Qb7*d5 #" --- authors: - Вукчевић, Милан Радоје source: Feenschach date: 1984 algebraic: white: [Ka3, Bh3, Sa4, Pc5] black: [Kd5, Rh4, Ba1, Pf7, Pf6] stipulation: "h#3" solution: "1.Ba1-d4 Ka3-b4 2.Bd4-e5 + Kb4-b5 3.Rh4-d4 Sa4-c3 #" --- authors: - Вукчевић, Милан Радоје source: Phénix date: 1997 distinction: 1st Prize algebraic: white: [Ke2, Qd6, Rc2, Rb5, Bb2, Bb1, Sd8, Sc3, Ph4, Ph3, Pg3] black: [Kf5, Re5, Rc5, Be8, Sa6, Ph5, Pg6, Pf6, Pe4, Pc6, Pb3] stipulation: "#3" solution: | "1.Sc3*e4 ! threat: 2.Qd6*f6 + 2...Kf5*e4 3.Qf6-f3 # 3.Rc2*c5 # 2.Rc2*c5 threat: 3.Qd6*f6 # 3.Qd6-e6 # 2...Sa6*c5 3.Qd6*f6 # 2...Sa6-c7 3.Qd6*f6 # 2...g6-g5 3.Qd6*f6 # 2...Be8-d7 3.Qd6*d7 # 3.Qd6*f6 # 2...Be8-f7 3.Qd6*f6 # 2.Rc2-c4 threat: 3.Qd6*f6 # 2...Re5*e4 + 3.Bb1*e4 # 2...Re5-e6 3.Qd6-f4 # 3.Qd6*e6 # 1...b3*c2 2.Qd6*f6 + 2...Kf5*e4 3.Qf6-f3 # 1...Rc5*c2 + 2.Ke2-f3 threat: 3.Qd6*f6 # 3.Qd6-e6 # 2...Rc2-c5 3.Qd6*f6 # 2...Rc2-c3 + 3.Se4*c3 # 2...Rc2-f2 + 3.Se4*f2 # 2...Sa6-c5 3.Qd6*f6 # 2...Sa6-c7 3.Qd6*f6 # 2...c6-c5 3.Qd6*f6 # 2...c6*b5 3.Qd6*f6 # 2...g6-g5 3.Qd6*f6 # 2...Be8-d7 3.Qd6*d7 # 3.Qd6*f6 # 2...Be8-f7 3.Qd6*f6 # 1...Rc5-c3 2.Qd6*f6 + 2...Kf5*e4 3.Qf6*e5 # 3.Qf6-f4 # 2.Rc2*c3 threat: 3.Qd6*f6 # 3.Qd6-e6 # 3.Rc3-f3 # 2...Sa6-c5 3.Qd6*f6 # 3.Rc3-f3 # 2...Sa6-c7 3.Qd6*f6 # 3.Rc3-f3 # 2...c6-c5 3.Qd6*f6 # 3.Rc3-f3 # 2...c6*b5 3.Qd6*f6 # 3.Rc3-f3 # 2...g6-g5 3.Qd6*f6 # 2...Be8-d7 3.Qd6*d7 # 3.Qd6*f6 # 3.Rc3-f3 # 2...Be8-f7 3.Qd6*f6 # 3.Rc3-f3 # 1...Rc5-c4 2.Qd6*e5 + 2...f6*e5 3.Rb5*e5 # 2.Qd6*f6 + 2...Kf5*e4 3.Qf6*e5 # 3.Qf6-f3 # 3.Qf6-f4 # 3.Rb5*e5 # 3.Rc2*c4 # 2.Qd6-e6 + 2...Kf5*e4 3.Rc2*c4 # 2.Rb5*e5 + 2...f6*e5 3.Qd6*e5 # 2.Rc2*c4 threat: 3.Qd6*f6 # 3.Qd6-e6 # 2...Sa6-c5 3.Qd6*f6 # 2...Sa6-c7 3.Qd6*f6 # 2...c6-c5 3.Qd6*f6 # 2...c6*b5 3.Qd6*f6 # 2...g6-g5 3.Qd6*f6 # 2...Be8-d7 3.Qd6*d7 # 3.Qd6*f6 # 2...Be8-f7 3.Qd6*f6 # 1...Rc5-d5 2.Qd6*f6 + 2...Kf5*e4 3.Qf6-f3 # 3.Qf6-f4 # 3.Rc2-c4 # 1...Re5*e4 + 2.Ke2-f2 threat: 3.Qd6*f6 # 2...Re4-e1 3.Qd6-f4 # 3.Rc2*c5 # 2...Re4-e2 + 3.Rc2*e2 # 2...Re4-e3 3.Qd6-f4 # 3.Rc2*c5 # 2...Re4-a4 3.Qd6-e6 # 3.Rc2*c5 # 3.Rc2-c4 # 2...Re4-b4 3.Qd6-e6 # 3.Rc2*c5 # 3.Rc2-c4 # 2...Re4-c4 3.Qd6-e6 # 3.Rc2*c4 # 2...Re4-d4 3.Qd6-e6 # 3.Rc2*c5 # 2...Re4-e7 3.Qd6-f4 # 3.Rc2*c5 # 2...Re4-e6 3.Rc2*c5 # 3.Qd6-f4 # 3.Qd6*e6 # 2...Re4-e5 3.Rc2*c5 # 2...Re4*h4 3.Rc2*c5 # 2...Re4-g4 3.Qd6-e6 # 3.Rc2*c5 # 2...Re4-f4 + 3.Qd6*f4 # 2...Rc5-e5 3.Qd6-e6 # 1...Sa6-b4 2.Qd6*f6 + 2...Kf5*e4 3.Qf6-f3 # 1...Sa6-c7 2.Qd6*f6 + 2...Kf5*e4 3.Qf6-f3 # 3.Rc2*c5 # 1...Sa6-b8 2.Qd6*f6 + 2...Kf5*e4 3.Qf6-f3 # 3.Rc2*c5 # 2.Rc2*c5 threat: 3.Qd6*f6 # 3.Qd6-e6 # 2...g6-g5 3.Qd6*f6 # 2...Sb8-d7 3.Qd6-e6 # 2...Be8-d7 3.Qd6*f6 # 2...Be8-f7 3.Qd6*f6 # 1...c6*b5 2.Qd6*f6 + 2...Kf5*e4 3.Qf6-f3 # 3.Rc2*c5 # 2.Rc2*c5 threat: 3.Qd6*f6 # 3.Qd6-e6 # 2...Sa6*c5 3.Qd6*f6 # 2...Sa6-c7 3.Qd6*f6 # 2...g6-g5 3.Qd6*f6 # 2...Be8-d7 3.Qd6*d7 # 3.Qd6*f6 # 2...Be8-f7 3.Qd6*f6 # 1...g6-g5 2.Qd6*f6 + 2...Kf5*e4 3.Qf6-f3 # 3.Rc2*c5 # 1...Be8-d7 2.Qd6*d7 + 2...Re5-e6 3.Qd7*e6 # 2...Kf5*e4 3.Qd7-d3 # 3.Rc2*c5 # 3.Rc2-c4 # 3.Rc2-c3 # 2.Qd6*f6 + 2...Kf5*e4 3.Qf6-f3 # 3.Rc2*c5 # 2.Rc2*c5 threat: 3.Qd6*d7 # 3.Qd6*f6 # 2...Sa6*c5 3.Qd6*f6 # 2...Sa6-c7 3.Qd6*f6 # 2...Sa6-b8 3.Qd6*f6 # 2...g6-g5 3.Qd6*f6 # 2...Bd7-e6 3.Qd6*e6 # 2...Bd7-e8 3.Qd6*f6 # 3.Qd6-e6 # 2...Bd7-c8 3.Qd6*f6 # 1...Be8-f7 2.Qd6*f6 + 2...Kf5*e4 3.Qf6-f3 # 3.Rc2*c5 #" --- authors: - Вукчевић, Милан Радоје source: Phénix date: 1997 distinction: 3rd Prize algebraic: white: [Kd7, Qb2, Rf8, Bh6, Bf1, Sb5, Sb4, Ph4, Pf2, Pe7, Pe6] black: [Ke4, Rd3, Bc2, Ba7, Sb1, Pg6, Pg4, Pf5, Pf3, Pd5, Pc7, Pb7] stipulation: "#3" solution: | "1.Qb2-f6 ! threat: 2.Qf6*g6 threat: 3.Qg6*f5 # 1...Sb1-c3 2.Bf1*d3 + 2...Bc2*d3 3.Sb5*c3 # 1...Sb1-a3 2.Sb4*d3 threat: 3.Qf6-e5 # 3.Sb5-c3 # 2...Bc2*d3 3.Sb5-c3 # 2...Bc2-a4 3.Qf6-e5 # 2...Sa3-b1 3.Qf6-e5 # 2...Sa3-c4 3.Sb5-c3 # 2...Sa3*b5 3.Qf6-e5 # 2...d5-d4 3.Qf6-e5 # 2...Ba7-d4 3.Qf6*d4 # 2.Bf1*d3 + 2...Bc2*d3 3.Sb5-c3 # 1...Rd3-d1 2.Qf6-g5 threat: 3.Qg5-f4 # 2...Ba7-e3 3.Qg5*e3 # 1...Rd3-d2 2.Qf6-g5 threat: 3.Qg5-f4 # 2...Ba7-e3 3.Qg5*e3 # 1...Rd3-a3 2.Bh6-g7 threat: 3.Qf6-e5 # 2...Ba7-d4 3.Qf6*d4 # 1...Rd3-b3 2.Bh6-g7 threat: 3.Qf6-e5 # 2...Ba7-d4 3.Qf6*d4 # 1...Rd3-c3 2.Bh6-g7 threat: 3.Qf6-e5 # 2...Ba7-d4 3.Qf6*d4 # 1...Rd3-d4 2.Bh6-g7 threat: 3.Qf6-e5 # 1...Rd3-e3 2.Qf6-g5 threat: 3.Qg5-f4 # 1...Ba7-d4 2.Bf1*d3 + 2...Bc2*d3 3.Qf6*d4 #" --- authors: - Вукчевић, Милан Радоје source: Problemnoter date: 1961 distinction: 4th HM algebraic: white: [Kh1, Qd5, Rb6, Bh5, Ba1, Se4, Pg3, Pe6, Pe5, Pc4] black: [Kf5] stipulation: "#2" twins: b: Add white Rd5 c: Add white Bd5 d: Add white Sd5 e: Add white Pd5 solution: | "a) 1.Qd5-d1 ! 1...Kf5*e4 2.Qd1-f3 # b) wRd5 1.Rd5-d3 ! zugzwang. 1...Kf5*e4 2.Bh5-g6 # c) wBd5 1.Rb6-b2 ! Kf5*e5 2.Rb2-f2 # d) wSd5 1.Kh1-g2 ! zugzwang. 1...Kf5*e4 2.Bh5-g6 # e) wPd5 1.Rb6-b3 ! zugzwang. 1...Kf5*e4 2.Bh5-g6 #" keywords: - Forsberg twins --- authors: - Вукчевић, Милан Радоје source: 1981 dans Aryakov 204 algebraic: white: [Kb4, Re6, Re1, Bg3, Bf1, Sb3, Sa1, Pf5] black: [Kd5, Qh5, Rc8, Rc1, Bb8, Bb1, Sg1, Sf6, Ph3, Pg5, Pg4, Pd2, Pc3] stipulation: "#5" solution: --- authors: - Вукчевић, Милан Радоје source: 3rd WCCT date: 1988 distinction: 8th Place algebraic: white: [Ka7, Qb8, Rd1, Bh8, Bc8, Sd6, Sd5, Pf5, Pe3, Pd7, Pc5] black: [Ke5, Rg8, Rg7, Bh4, Sh6, Pg4, Pb6] stipulation: "#3" solution: | "1.Rd1-d4 ! threat: 2.Bc8-b7 threat: 3.Rd4-e4 # 1...Bh4-e7 2.d7-d8=Q threat: 3.Qd8*e7 # 3.Sd6-c4 # 3.Sd6-f7 # 2...Sh6*f5 3.Sd6-c4 # 3.Sd6-f7 # 2...Be7*d6 + 3.Qd8-e7 # 2...Be7-h4 + 3.Sd6-f7 # 3.Sd6-b7 # 2...Be7-g5 + 3.Sd6-f7 # 3.Sd6-b7 # 2...Be7-f6 + 3.Sd6-f7 # 2...Be7-f8 + 3.Sd6-f7 # 2...Be7*d8 + 3.Sd6-f7 # 2...Rg8*d8 3.Sd6-f7 # 3.Sd6-c4 # 2...Rg8-e8 3.Sd6-c4 # 3.Sd6-f7 # 2...Rg8*h8 3.Sd6-c4 # 3.Sd6-f7 # 1...b6*c5 2.Rd4-e4 + 2...Ke5*d5 3.Bc8-b7 # 1...Sh6*f5 2.Sd6-f7 + 2...Ke5-e6 3.d7-d8=S # 1...Sh6-f7 2.d7-d8=S threat: 3.Sd8-c6 # 3.Sd8*f7 # 3.Sd6-c4 # 3.Sd6*f7 # 2...Bh4*d8 3.Sd6-c4 # 3.Sd6*f7 # 2...Bh4-f6 3.Sd8-c6 # 3.Sd6-c4 # 3.Sd6*f7 # 2...Sf7*d6 + 3.Sd8-f7 # 2...Sf7-g5 + 3.Sd6-f7 # 3.Sd6-b7 # 2...Sf7-h6 + 3.Sd6-f7 # 3.Sd6-b7 # 2...Sf7*h8 + 3.Sd6-f7 # 2...Sf7*d8 + 3.Sd6-f7 # 3.Sd6-b7 # 2...Rg8*d8 3.Sd6-c4 # 3.Sd6*f7 # 2...Rg8-f8 3.Sd8-c6 # 3.Sd6-c4 # 3.Sd6*f7 # 2...Rg8*h8 3.Sd8-c6 # 3.Sd6-c4 # 3.Sd6*f7 # 1...Rg8*c8 2.Bh8*g7 + 2...Bh4-f6 3.Bg7*f6 #" --- authors: - Вукчевић, Милан Радоје source: Sah date: 1950 distinction: 1st Prize algebraic: white: [Kh2, Qg1, Rg2, Rf1, Bh3, Bf2, Sd5, Pf4, Pe2, Pc4, Pc3] black: [Ke4, Rh8, Ra5, Bb7, Ba7, Ph6, Pf3, Pe7, Pe5, Pc5, Pa4] stipulation: "#4" solution: | 1.Tf1-a1 ! - und 7 NL --- authors: - Вукчевић, Милан Радоје source: 2nd WCCT date: 1980 distinction: 4th Place, 1980-1983 algebraic: white: [Kf8, Qd1, Rg6, Rc4, Ba8, Sg3, Pf7, Pf4, Pe6, Pd5] black: [Kd6, Qh3, Rh5, Re1, Bh1, Ph6, Pf2, Pe7, Pd7, Pb6, Pb3, Pa4] stipulation: "#3" solution: | "1.Kf8-e8 ! threat: 2.e6*d7 + 2...Re1-e6 3.d7-d8=Q # 3.d7-d8=R # 3.Rc4-c6 # 2...Qh3-e6 3.Rc4-c6 # 3.d7-d8=Q # 3.d7-d8=R # 2...e7-e6 3.d7-d8=Q # 3.d7-d8=R # 3.f7-f8=Q # 3.f7-f8=B # 3.Rc4-c6 # 1...Re1*e6 2.Qd1-d4 threat: 3.Qd4*b6 # 2...Bh1*d5 3.Sg3-e4 # 1...Qh3*e6 2.Qd1-d2 threat: 3.Qd2-b4 # 2...Rh5*d5 3.Sg3-f5 #" --- authors: - Вукчевић, Милан Радоје source: Die Schwalbe source-id: 4186 date: 1983 algebraic: white: [Ka6, Qf8, Rc5, Bd7, Bc1, Sc6, Sa1, Pe2, Pc4, Pb6, Pb5, Pa3] black: [Kc3, Rh6, Rh4, Bh7, Sf1, Ph3, Pg5, Pf6] stipulation: "#3" solution: | "1.Qf8-d8 ! threat: 2.b6-b7 threat: 3.Qd8-a5 # 1...Sf1-g3 2.Bd7-g4 threat: 3.Qd8-d2 # 3.Qd8-d4 # 2...Sg3*e2 3.Qd8-d2 # 2...Sg3-f1 3.Qd8-d4 # 2...Sg3-f5 3.Qd8-d2 # 3.Qd8-d3 # 2...Sg3-e4 3.Qd8-d3 # 3.Qd8-d4 # 2...Rh4*g4 3.Qd8-d2 # 2...Bh7-d3 3.Qd8*d3 # 3.Qd8-d4 # 2.Bd7-f5 threat: 3.Qd8-d2 # 3.Qd8-d3 # 2...Sg3-f1 3.Qd8-d3 # 2...Sg3-e4 3.Qd8-d3 # 3.Qd8-d4 # 2...Rh4-d4 3.Qd8*d4 # 2...Bh7*f5 3.Qd8-d2 # 1...Sf1-e3 2.Bd7-g4 threat: 3.Qd8-d2 # 3.Qd8-d4 # 2...Se3-c2 3.Qd8-d2 # 2...Se3-f1 3.Qd8-d4 # 2...Se3-f5 3.Qd8-d2 # 3.Qd8-d3 # 2...Se3-d5 3.c4*d5 # 2...Rh4*g4 3.Qd8-d2 # 2...Bh7-d3 3.Qd8*d3 # 3.Qd8-d4 # 1...Sf1-d2 2.Bd7-f5 threat: 3.Qd8*d2 # 3.Qd8-d3 # 2...Sd2-b1 3.Qd8-d3 # 2...Sd2-f1 3.Qd8-d3 # 2...Sd2-f3 3.Qd8-d3 # 2...Sd2-e4 3.Qd8-d3 # 3.Qd8-d4 # 2...Sd2-b3 3.Qd8-d3 # 2...Rh4-d4 3.Qd8*d4 # 2...Bh7*f5 3.Qd8*d2 # 1...Rh4*c4 2.Bd7-g4 threat: 3.Qd8-d4 # 2.Bd7-f5 threat: 3.Qd8-d4 # 3.Qd8-d3 # 2...Rh6-h4 3.Qd8-d3 # 2...Bh7*f5 3.Qd8-d4 # 1...Rh4-e4 2.Bd7-f5 threat: 3.Qd8-d3 # 2...Re4-e3 3.Qd8-d4 # 2...Re4-d4 3.Qd8*d4 # 1...f6-f5 2.Bd7-e6 threat: 3.Qd8-d3 # 2...Rh4-d4 3.Qd8*d4 # 2...f5-f4 3.Qd8-d4 # 1...Bh7-d3 2.Bd7-g4 threat: 3.Qd8*d3 # 3.Qd8-d4 # 2...Bd3-b1 3.Qd8-d4 # 2...Bd3-c2 3.Qd8-d4 # 2...Bd3*e2 3.Qd8-d4 # 2...Bd3-h7 3.Qd8-d4 # 2...Bd3-g6 3.Qd8*f6 # 3.Qd8-d4 # 2...Bd3-f5 3.Qd8-d4 # 2...Bd3-e4 3.Qd8-d4 # 2...Rh4*g4 3.Qd8*d3 # 1...Bh7-e4 2.Bd7-g4 threat: 3.Qd8-d4 # 2...Be4*c6 3.Qd8-d3 # 2...Be4-d5 3.c4*d5 #" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1979 algebraic: white: [Kf5, Qc8, Rg1, Bf6, Sg5, Sd8, Pf3] black: [Kd5, Rh7, Ra1, Bf8, Ba8, Sa3, Ph5, Pf7, Pd6, Pd2, Pc4, Pc3, Pc2, Pb5] stipulation: "#3" solution: | "1.Rg1-b1 ! threat: 2.Qc8*a8 + 2...Kd5-c5 3.Qa8-c6 # 1...Ra1*b1 2.Sg5-e4 threat: 3.Qc8*a8 # 3.Se4*c3 # 2...Rb1-b3 3.Qc8*a8 # 2...c2-c1=Q 3.Qc8*a8 # 2...c2-c1=R 3.Qc8*a8 # 2...d2-d1=S 3.Qc8*a8 # 2...b5-b4 3.Qc8*a8 # 2...Ba8-c6 3.Qc8*c6 # 2...Ba8-b7 3.Qc8*b7 # 3.Se4*c3 # 1...c2*b1=Q + 2.Sg5-e4 threat: 3.Qc8*a8 # 2...Qb1*e4 + 3.f3*e4 # 2...Sa3-c2 3.Se4*c3 # 2...Ba8-c6 3.Qc8*c6 # 2...Ba8-b7 3.Qc8*b7 # 1...c2*b1=S 2.Kf5-f4 threat: 3.Qc8-f5 # 1...c2*b1=R 2.Sg5-e4 threat: 3.Qc8*a8 # 3.Se4*c3 # 2...Rb1-b3 3.Qc8*a8 # 2...Rb1-c1 3.Qc8*a8 # 2...d2-d1=S 3.Qc8*a8 # 2...Sa3-c2 3.Se4*c3 # 2...b5-b4 3.Qc8*a8 # 2...Ba8-c6 3.Qc8*c6 # 2...Ba8-b7 3.Qc8*b7 # 3.Se4*c3 # 1...c2*b1=B + 2.Sg5-e4 threat: 3.Qc8*a8 # 2...Bb1*e4 + 3.f3*e4 # 2...Sa3-c2 3.Se4*c3 # 2...Ba8-c6 3.Qc8*c6 # 2...Ba8-b7 3.Qc8*b7 # 1...Sa3*b1 2.Kf5-f4 threat: 3.Qc8-f5 # 1...Ba8-b7 2.Qc8*b7 + 2...Kd5-c5 3.Qb7-c6 # 3.Sg5-e4 #" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo distinction: 3rd HM algebraic: white: [Ke2, Rh4, Be4, Be1, Sc7, Sb3, Pa2] black: [Ka4, Qe8, Bd8, Sb7, Ph3, Pg3, Pc6, Pc5, Pa5, Pa3] stipulation: "#6" solution: | "1.Ke2-d1 ! threat: 2.Be4*c6 # 1...c5-c4 2.Sb3-c5 + 2...Sb7*c5 3.Be4-c2 + 3...Sc5-b3 4.Rh4*c4 # 4.Bc2*b3 # 4.a2*b3 # 3.Be4*c6 + 3...Qe8*c6 4.Rh4*c4 # 1...Bd8*h4 2.Sb3*c5 + 2...Sb7*c5 3.Be4-c2 + 3...Sc5-b3 4.Bc2*b3 # 4.a2*b3 # 1...Qe8-d7 + 2.Sb3-d4 threat: 3.Be4-c2 # 2...Qd7-g4 + 3.Rh4*g4 threat: 4.Be4-c2 # 4.Be4*c6 # 3...Sb7-d6 4.Be4-c2 # 2...Qd7-f5 3.Be4*c6 # 2...Qd7-e6 3.Be4-c2 + 3...Qe6-b3 4.Bc2*b3 # 4.a2*b3 # 3.Sc7*e6 threat: 4.Be4-c2 # 4.Be4*c6 # 3...c5*d4 4.Be4*c6 # 3...Sb7-d6 4.Se6*c5 # 4.Be4-c2 # 3.Sd4*e6 threat: 4.Be4-c2 # 4.Be4*c6 # 3...Bd8*c7 4.Be4*c6 # 2...Qd7*d4 + 3.Kd1-e2 threat: 4.Be4-c2 # 4.Be4*c6 # 3...Qd4-b2 + 4.Be4-c2 # 3...Qd4-f2 + 4.Be1*f2 threat: 5.Be4-c2 # 5.Be4*c6 # 4...Ka4-b4 5.Bf2-e1 + 5...Kb4-c4 6.Be4-d3 # 6.Be4-d5 # 5...Kb4-a4 6.Be4-c2 # 6.Be4*c6 # 4...c5-c4 5.Be4*c6 + 5...Ka4-b4 6.Sc7-d5 # 5.Bf2-e1 threat: 6.Be4-c2 # 6.Be4*c6 # 5...Sb7-c5 6.Be4*c6 # 5...Sb7-d6 6.Be4-c2 # 5...Bd8*c7 6.Be4*c6 # 4...Bd8*c7 5.Be4*c6 # 4...Bd8*h4 5.Bf2-e1 threat: 6.Be4-c2 # 6.Be4*c6 # 5...Sb7-d6 6.Be4-c2 # 5...Sb7-d8 6.Be4-c2 # 3...Qd4-e3 + 4.Ke2*e3 threat: 5.Be4-c2 # 5.Be4*c6 # 4...Bd8*c7 5.Be4*c6 # 4...Bd8-g5 + 5.Ke3-f3 threat: 6.Be4-c2 # 6.Be4*c6 # 5.Ke3-e2 threat: 6.Be4-c2 # 6.Be4*c6 # 3...Qd4-e5 4.Ke2-f3 threat: 5.Be4-c2 # 5.Be4*c6 # 4...c5-c4 5.Be4-c2 # 4...Qe5-c3 + 5.Be1*c3 threat: 6.Be4-c2 # 6.Be4*c6 # 5...Bd8*c7 6.Be4*c6 # 4...Qe5-f4 + 5.Rh4*f4 threat: 6.Be4*c6 # 6.Be4-c2 # 5...Bd8*c7 6.Be4*c6 # 4...Qe5-f6 + 5.Be4-f5 + 5...c5-c4 6.Rh4*c4 # 5...Qf6-d4 6.Bf5-c2 # 5...Qf6*h4 6.Bf5-c2 # 4...Qe5*c7 5.Be4*c6 # 4...Qe5*e4 + 5.Rh4*e4 + 5...c5-c4 6.Re4*c4 # 4...Qe5-d5 5.Be4*d5 + 5...c5-c4 6.Bd5*c6 # 6.Rh4*c4 # 5...Bd8*h4 6.Bd5-b3 # 6.Bd5*c6 # 4...Qe5-h5 + 5.Rh4*h5 threat: 6.Be4-c2 # 6.Be4*c6 # 5...Sb7-d6 6.Be4-c2 # 5...Bd8*c7 6.Be4*c6 # 4...Qe5-f5 + 5.Be4*f5 + 5...c5-c4 6.Bf5-c2 # 6.Rh4*c4 # 5...Bd8*h4 6.Bf5-c2 # 4...Bd8*c7 5.Be4*c6 # 3...Qd4-d1 + 4.Ke2*d1 threat: 5.Be4-c2 # 5.Be4*c6 # 4...Bd8*c7 5.Be4*c6 # 3...Qd4-d2 + 4.Be1*d2 threat: 5.Be4-c2 # 5.Be4*c6 # 4...Bd8*c7 5.Be4*c6 # 3...Qd4-d3 + 4.Be4*d3 + 4...c5-c4 5.Rh4*c4 # 5.Bd3-c2 # 4...Bd8*h4 5.Bd3-c2 # 3...Qd4-c4 + 4.Be4-d3 threat: 5.Rh4*c4 # 4...Qc4-b4 5.Bd3-c2 # 4...Qc4*h4 5.Bd3-c2 # 4...Qc4-g4 + 5.Rh4*g4 + 5...c5-c4 6.Rg4*c4 # 6.Bd3-c2 # 4...Qc4-f4 5.Bd3-c2 # 4...Qc4-e4 + 5.Rh4*e4 + 5...c5-c4 6.Bd3-c2 # 6.Re4*c4 # 5.Bd3*e4 threat: 6.Be4-c2 # 6.Be4*c6 # 5...Bd8*c7 6.Be4*c6 # 4...Qc4-d4 5.Bd3-c2 # 4...Sb7-d6 5.Rh4*c4 + 5...Sd6*c4 6.Bd3-c2 # 4...Bd8*c7 5.Rh4*c4 + 5...Ka4-b5 6.Rc4-b4 # 4...Bd8*h4 5.Bd3*c4 threat: 6.Bc4-b3 # 3...Qd4-d5 4.Be4-c2 # 3...Qd4*e4 + 4.Rh4*e4 + 4...c5-c4 5.Re4*c4 # 3...Sb7-d6 4.Be4-c2 # 3...Bd8*c7 4.Be4*c6 # 2...Qd7-d5 3.Be4-c2 + 3...Qd5-b3 4.Bc2*b3 # 4.a2*b3 # 2...Qd7-h7 3.Be4*c6 # 2...Qd7-f7 3.Be4*c6 # 1...Qe8-h5 + 2.Rh4*h5 threat: 3.Be4*c6 # 2...Sb7-d6 3.Sb3*c5 # 1...Qe8*e4 2.Rh4*e4 + 2...c5-c4 3.Re4*c4 #" --- authors: - Вукчевић, Милан Радоје source: Šahovski Vjesnik date: 1949 distinction: 2nd Prize algebraic: white: [Ka5, Rb6, Rb1, Bh6, Ba2, Sd7, Sb5, Pf3, Pe3, Pd2, Pa7] black: [Kf5, Qh8, Re5, Bg3, Sh5, Ph7, Pg6, Pb2] stipulation: "#3" solution: | "1.Rb1-g1 ! threat: 2.Ba2-b1 + 2...Re5-e4 3.Bb1*e4 # 1...Re5-e4 2.Sb5-d6 + 2...Bg3*d6 3.Rg1-g5 # 1...Re5*b5 + 2.Rb6*b5 + 2...Bg3-e5 3.e3-e4 # 3.Rg1-g5 # 2...Qh8-e5 3.e3-e4 # 1...Sh5-f4 2.e3-e4 + 2...Re5*e4 3.Sb5-d6 # 1...Sh5-f6 2.Ba2-e6 + 2...Re5*e6 3.Sb5-d4 # 1...Qh8-a8 2.Ba2-e6 + 2...Re5*e6 3.Sb5-d4 # 1...Qh8-c8 2.Ba2-e6 + 2...Re5*e6 3.Sb5-d4 #" --- authors: - Вукчевић, Милан Радоје source: Messigny date: 1999 distinction: 1st Prize algebraic: white: [Ka4, Qb8, Re5, Rd6, Bf6, Sb5, Ph2, Pg5, Pf3, Pe2, Pd7, Pb2] black: [Kf4, Qd1, Re7, Rc1, Bd8, Sh6, Sa1, Pg4, Pf5, Pf2, Pe3, Pc2] stipulation: "#3" solution: | "1.Sb5-c7 ! threat: 2.Qb8-b4 + 2...Qd1-d4 3.Sc7-d5 # 3.Rd6*d4 # 3.Qb4*d4 # 1...Qd1*e2 2.Rd6-d4 + 2...Kf4*f3 3.Qb8-b7 # 3.Qb8-a8 # 1...Qd1*d6 2.Sc7-d5 + 2...Qd6*d5 3.Re5-e4 # 1...Qd1-d2 2.Rd6*d2 threat: 3.Qb8-b4 # 3.Sc7-d5 # 3.Rd2-d4 # 2...Sa1-b3 3.Sc7-d5 # 2...Rc1-d1 3.Qb8-b4 # 3.Sc7-d5 # 2...e3*d2 3.Sc7-d5 # 3.Qb8-b4 # 2...g4*f3 3.Qb8-b4 # 3.Rd2-d4 # 2...Re7*e5 3.Sc7-d5 # 3.Sc7-e6 # 2...Re7*d7 3.Sc7-e6 # 2...Bd8*c7 3.Qb8-b4 # 3.Rd2-d4 # 1...Re7*e5 2.Sc7-e6 + 2...Re5*e6 3.Rd6-d4 #" --- authors: - Вукчевић, Милан Радоје source: Messigny date: 1999 algebraic: white: [Kh2, Ra5, Ra4, Bb4, Sc4] black: [Kh4, Ra7, Ra3, Bc3, Se3, Sd1, Pf6, Pe7, Pd4, Pd3, Pd2, Pb6, Pb2] stipulation: "h#2" solution: | "1.Bc3*b4 Sc4*e3 2.d4*e3 Ra4*b4 # 1.Se3*c4 Bb4*c3 2.d4*c3 Ra4*c4 #" --- authors: - Вукчевић, Милан Радоје source: 3e TT. Falanga date: 1998 algebraic: white: [Kg4, Qa1, Rd2, Ra5] black: [Ke6, Qc6, Rc1, Bh1, Se8, Sd4, Pg6, Pd6] stipulation: "h#2" solution: | "1.Rc1-c5 Kg4-f4 2.Ke6-d5 Qa1-a2 # 1.Bh1-d5 Kg4-g5 2.Ke6-e5 Rd2-e2 #" --- authors: - Milenković, Stanko - Вукчевић, Милан Радоје source: Feenschach source-id: 97/1144 date: 1952 algebraic: white: [Kc5, Sg1, Sa1] black: [Kd1, Pg2, Pc2] stipulation: "h#3" solution: "1.c2-c1=S Sg1-f3 2.g2-g1=S Sa1-c2 3.Sg1-e2 Sc2-e3 #" --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 1999 distinction: 2nd HM algebraic: white: [Kf4, Qg5, Rg1, Rf5, Bh2, Bb1, Sg2, Sb4, Ph4, Pg3, Pf2, Pd3, Pd2] black: [Ke2, Ph5, Pg4, Pe3, Pd5, Pd4] stipulation: "#3" solution: | "1.Sb4-a2 ! zugzwang. 1...e3*f2 2.Rf5-e5 + 2...Ke2*d2 3.Kf4-f5 # 1...Ke2*f2 2.Sa2-c1 threat: 3.Kf4-e5 # 1...Ke2*d2 2.Rg1-e1 zugzwang. 2...e3-e2 3.Kf4-e5 # 2...e3*f2 3.Kf4-e5 # 1...e3*d2 2.Qg5-e7 + 2...Ke2*f2 3.Kf4-g5 #" keywords: - Battery play comments: - Check also 63992, 226338, 229521, 231170, 317277 --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) date: 1951 distinction: 4th HM algebraic: white: [Ka8, Qh2, Rh3, Bh8, Pg7, Pg6, Pg3, Pg2, Pf3, Pa3] black: [Kg8, Rh5, Pa7, Pa4] stipulation: "#3" solution: | "1.Rh3-h4 ! threat: 2.Rh4-b4 threat: 3.Rb4-b8 # 2...Rh5-b5 3.Qh2-h7 # 2...Rh5-c5 3.Qh2-h7 # 2...Rh5-d5 3.Qh2-h7 # 2...Rh5-e5 3.Qh2-h7 # 2...Rh5-f5 3.Qh2-h7 # 2...Rh5*h8 3.g7*h8=Q # 3.Qh2*h8 # 2.Rh4-c4 threat: 3.Rc4-c8 # 2...Rh5-c5 3.Qh2-h7 # 2...Rh5-d5 3.Qh2-h7 # 2...Rh5-e5 3.Qh2-h7 # 2...Rh5-f5 3.Qh2-h7 # 2...Rh5*h8 3.g7*h8=Q # 3.Qh2*h8 # 2.Rh4-d4 threat: 3.Rd4-d8 # 2...Rh5-d5 3.Qh2-h7 # 2...Rh5-e5 3.Qh2-h7 # 2...Rh5-f5 3.Qh2-h7 # 2...Rh5*h8 3.g7*h8=Q # 3.Qh2*h8 # 2.Rh4-e4 threat: 3.Re4-e8 # 2...Rh5-e5 3.Qh2-h7 # 2...Rh5-f5 3.Qh2-h7 # 2...Rh5*h8 3.g7*h8=Q # 3.Qh2*h8 # 2.Rh4-f4 threat: 3.Rf4-f8 # 2...Rh5-f5 3.Qh2-h7 # 2...Rh5*h8 3.g7*h8=Q # 3.Qh2*h8 # 1...Rh5*h4 2.g3*h4 threat: 3.Qh2-b8 # 2.Qh2*h4 threat: 3.Qh4-d8 # 3.Qh4-c4 # 3.Qh4-h7 # 1...Rh5-b5 2.Rh4-b4 threat: 3.Qh2-h7 # 2...Rb5-b8 + 3.Rb4*b8 # 2...Rb5-h5 3.Rb4-b8 # 1...Rh5-c5 2.Rh4-c4 threat: 3.Qh2-h7 # 2...Rc5-c8 + 3.Rc4*c8 # 2...Rc5-h5 3.Rc4-c8 # 1...Rh5-d5 2.Rh4-d4 threat: 3.Qh2-h7 # 2...Rd5-d8 + 3.Rd4*d8 # 2...Rd5-h5 3.Rd4-d8 # 1...Rh5-e5 2.Rh4-e4 threat: 3.Qh2-h7 # 2...Re5-e8 + 3.Re4*e8 # 2...Re5-h5 3.Re4-e8 # 1...Rh5-f5 2.Rh4-f4 threat: 3.Qh2-h7 # 2...Rf5-f8 + 3.Rf4*f8 # 3.g7*f8=Q # 3.g7*f8=R # 2...Rf5-h5 3.Rf4-f8 # 1...Rh5-g5 2.Rh4-f4 threat: 3.Rf4-f8 # 3.Qh2-h7 # 2...Rg5-f5 3.Qh2-h7 # 2...Rg5*g6 3.Rf4-f8 # 2...Rg5-h5 3.Rf4-f8 # 1...Rh5-h7 2.Rh4-b4 threat: 3.Rb4-b8 # 3.Qh2*h7 # 2...Rh7*h2 3.Rb4-b8 # 2...Rh7-h3 3.Rb4-b8 # 2...Rh7-h4 3.Rb4-b8 # 2...Rh7-h5 3.Rb4-b8 # 2...Rh7-h6 3.Rb4-b8 # 2...Rh7*g7 3.Rb4-b8 # 2...Rh7*h8 3.g7*h8=Q # 3.Qh2*h8 # 2.Rh4-c4 threat: 3.Qh2*h7 # 3.Rc4-c8 # 2...Rh7*h2 3.Rc4-c8 # 2...Rh7-h3 3.Rc4-c8 # 2...Rh7-h4 3.Rc4-c8 # 2...Rh7-h5 3.Rc4-c8 # 2...Rh7-h6 3.Rc4-c8 # 2...Rh7*g7 3.Rc4-c8 # 2...Rh7*h8 3.g7*h8=Q # 3.Qh2*h8 # 2.Rh4-d4 threat: 3.Rd4-d8 # 3.Qh2*h7 # 2...Rh7*h2 3.Rd4-d8 # 2...Rh7-h3 3.Rd4-d8 # 2...Rh7-h4 3.Rd4-d8 # 2...Rh7-h5 3.Rd4-d8 # 2...Rh7-h6 3.Rd4-d8 # 2...Rh7*g7 3.Rd4-d8 # 2...Rh7*h8 3.g7*h8=Q # 3.Qh2*h8 # 2.Rh4-e4 threat: 3.Qh2*h7 # 3.Re4-e8 # 2...Rh7*h2 3.Re4-e8 # 2...Rh7-h3 3.Re4-e8 # 2...Rh7-h4 3.Re4-e8 # 2...Rh7-h5 3.Re4-e8 # 2...Rh7-h6 3.Re4-e8 # 2...Rh7*g7 3.Re4-e8 # 2...Rh7*h8 3.g7*h8=Q # 3.Qh2*h8 # 2.g3-g4 threat: 3.Qh2-b8 # 2...Rh7*h8 3.g7*h8=Q # 2.Qh2-h3 threat: 3.Qh3-c8 # 3.Qh3-e6 # 2...Rh7*g7 3.Qh3-c8 # 2...Rh7*h8 3.g7*h8=Q # 1...Rh5-h6 2.Rh4-f4 threat: 3.Rf4-f8 # 2...Rh6*h8 3.g7*h8=Q # 3.Qh2*h8 # 1...a7-a5 2.Rh4-c4 threat: 3.Rc4-c8 # 2...Rh5-c5 3.Qh2-h7 # 2...Rh5-d5 3.Qh2-h7 # 2...Rh5-e5 3.Qh2-h7 # 2...Rh5-f5 3.Qh2-h7 # 2...Rh5*h8 3.g7*h8=Q # 3.Qh2*h8 # 2.Rh4-d4 threat: 3.Rd4-d8 # 2...Rh5-d5 3.Qh2-h7 # 2...Rh5-e5 3.Qh2-h7 # 2...Rh5-f5 3.Qh2-h7 # 2...Rh5*h8 3.g7*h8=Q # 3.Qh2*h8 # 2.Rh4-e4 threat: 3.Re4-e8 # 2...Rh5-e5 3.Qh2-h7 # 2...Rh5-f5 3.Qh2-h7 # 2...Rh5*h8 3.g7*h8=Q # 3.Qh2*h8 # 2.Rh4-f4 threat: 3.Rf4-f8 # 2...Rh5-f5 3.Qh2-h7 # 2...Rh5*h8 3.g7*h8=Q # 3.Qh2*h8 #" --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) source-id: 173 date: 1952 algebraic: white: [Kd1, Qf2, Be4, Ba5, Se1, Sa8, Pg3, Pf5, Pe3, Pd3, Pa3] black: [Kc3, Rb8, Bg8, Ba1, Sb1, Pg4, Pb4, Pb3, Pa7] stipulation: "#3" solution: | "1.Qf2-h2 ! threat: 2.Qh2-h8 # 1...b3-b2 2.Qh2-c2 # 1...Rb8-b5 2.Qh2-h8 + 2...Rb5-e5 3.Qh8*e5 # 1...Rb8-b6 2.Qh2-h8 + 2...Rb6-f6 3.Qh8*f6 # 2.Sa8*b6 threat: 3.Sb6-a4 # 3.Ba5*b4 # 3.Qh2-h8 # 2...Sb1-d2 3.Sb6-a4 # 3.Qh2*d2 # 3.Qh2-h8 # 2...Sb1*a3 3.Sb6-a4 # 3.Qh2-d2 # 3.Qh2-h8 # 2...b3-b2 3.Qh2-c2 # 2...a7*b6 3.Ba5*b4 # 3.Qh2-h8 # 2...Bg8-h7 3.Sb6-a4 # 3.Sb6-d5 # 3.Ba5*b4 # 2.Ba5*b6 threat: 3.Bb6-d4 # 3.Qh2-h8 # 2...b3-b2 3.Qh2-c2 # 2...b4*a3 3.Bb6-a5 # 2...a7*b6 3.Qh2-h8 # 2...Bg8-h7 3.Bb6-d4 # 1...Rb8-b7 2.Qh2-h8 + 2...Rb7-g7 3.Qh8*g7 # 2.Be4*b7 threat: 3.Ba5*b4 # 3.Qh2-h8 # 2...Sb1-d2 3.Qh2*d2 # 3.Qh2-h8 # 2...Sb1*a3 3.Qh2-d2 # 3.Qh2-h8 # 2...b3-b2 3.Qh2-c2 # 2...Bg8-h7 3.Ba5*b4 # 1...Rb8-f8 2.Ba5*b4 # 1...Rb8-e8 2.Ba5*b4 # 1...Rb8-d8 2.Ba5*b4 # 1...Bg8-c4 2.Ba5*b4 + 2...Rb8*b4 3.Qh2-h8 # 1...Bg8-d5 2.a3*b4 threat: 3.b4-b5 # 2...Sb1-d2 3.Qh2*d2 # 2...b3-b2 3.Qh2-c2 # 2...Rb8*b4 3.Qh2-h8 # 2...Rb8-b5 3.Qh2-h8 # 1...Bg8-e6 2.Sa8-b6 threat: 3.Sb6-a4 # 3.Ba5*b4 # 2...Sb1-d2 3.Sb6-a4 # 3.Qh2*d2 # 2...Sb1*a3 3.Sb6-a4 # 3.Qh2-d2 # 2...b3-b2 3.Qh2-c2 # 2...Be6-d7 3.Sb6-d5 # 3.Ba5*b4 # 2...a7*b6 3.Ba5*b4 # 2...Rb8*b6 3.Qh2-h8 # 1...Bg8-f7 2.Be4-b7 threat: 3.Ba5*b4 # 2...Sb1-d2 3.Qh2*d2 # 2...Sb1*a3 3.Qh2-d2 # 2...b3-b2 3.Qh2-c2 # 2...Rb8*b7 3.Qh2-h8 # 1...Bg8-h7 2.Sa8-c7 threat: 3.Sc7-d5 # 2...Sb1-d2 3.Qh2*d2 # 2...b3-b2 3.Qh2-c2 # 2...Bh7-g8 3.Qh2-h8 # 2...Rb8-b5 3.Sc7*b5 # 2...Rb8-d8 3.Sc7-b5 # 3.Ba5*b4 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1982 algebraic: white: [Kd1, Rf3, Rc5, Bh1, Bb8, Se7, Sc6, Ph3, Pg4, Pe2] black: [Ke4, Qg5, Rd7, Ra5, Bh2, Ba2, Sa1, Ph5, Pg6, Pf7, Pd6, Pd2, Pb5, Pb4] stipulation: "#6" solution: | "1.Bb8-a7 ! threat: 2.Rc5-c4 + 2...Ba2*c4 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 3.Rf3-f5 # 2...b5*c4 3.Rf3-f5 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 2.Rc5-f5 threat: 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f4 # 3.Rf3-g3 # 2...Sa1-b3 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f4 # 3.Rf3-g3 # 2...Ba2-b3 + 3.Rf3*b3 # 2...b4-b3 3.Rf3*b3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f4 # 3.Rf3-g3 # 2...Ra5-a3 3.Rf3*a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f4 # 2...Ra5*a7 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-g3 # 2...Qg5-e3 3.Rf3*e3 # 3.Rf3-f4 # 2...Qg5-f4 3.Rf3-e3 # 3.Rf3*f4 # 2...Qg5*g4 3.Rf3-e3 # 3.Rf3-f4 # 2...Qg5*f5 3.Rf3*f5 # 2...g6*f5 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f5 # 2...Rd7*a7 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-g3 # 2.Rc5-e5 + 2...Bh2*e5 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 3.Rf3-f5 # 2...Qg5*e5 3.Rf3-f5 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 2...d6*e5 3.Rf3-f6 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f5 # 2.Rf3-f1 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 2.Rf3-f2 + 2...Ke4-e3 3.Rc5-e5 # 3.Rc5-c3 # 2.Rf3*f7 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 2.Rf3-f6 + 2...Ke4-e3 3.Rc5-e5 # 3.Rc5-c3 # 2.Rf3-f5 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 1...Sa1-c2 2.Rc5-c4 + 2...Ba2*c4 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 3.Rf3-f5 # 2...Sc2-d4 3.Rc4*d4 # 2...b5*c4 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 3.Rf3-f5 # 2.Rc5-e5 + 2...Bh2*e5 3.Rf3-f5 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 2...Qg5*e5 3.Rf3-f6 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f5 # 2...d6*e5 3.Rf3-f5 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 2.Rf3-f1 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 2.Rf3-f2 + 2...Ke4-e3 3.Rc5-e5 # 3.Rc5-c3 # 2.Rf3*f7 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 2.Rf3-f6 + 2...Ke4-e3 3.Rc5-e5 # 3.Rc5-c3 # 2.Rf3-f5 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 1...Sa1-b3 2.Rc5-c4 + 2...Sb3-d4 3.Rc4*d4 # 2...b5*c4 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 3.Rf3-f5 # 2.Rc5-e5 + 2...Bh2*e5 3.Rf3-f5 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 2...Qg5*e5 3.Rf3-f6 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f5 # 2...d6*e5 3.Rf3-f5 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 2.Rf3-f1 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 2.Rf3-f2 + 2...Ke4-e3 3.Rc5-e5 # 3.Rc5-c3 # 2.Rf3*f7 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 2.Rf3-f6 + 2...Ke4-e3 3.Rc5-e5 # 3.Rc5-c3 # 2.Rf3-f5 + 2...Ke4-e3 3.Rc5-c3 # 3.Se7-d5 # 3.Rc5-e5 # 1...Ba2-b1 2.Rc5-c4 + 2...b5*c4 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 3.Rf3-f5 # 2.Rc5-e5 + 2...Bh2*e5 3.Rf3-f5 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 2...Qg5*e5 3.Rf3-f6 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f5 # 2...d6*e5 3.Rf3-f5 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 2.Rf3-f1 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 2.Rf3-f2 + 2...Ke4-e3 3.Rc5-e5 # 3.Rc5-c3 # 2.Rf3*f7 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 2.Rf3-f6 + 2...Ke4-e3 3.Rc5-e5 # 3.Rc5-c3 # 2.Rf3-f5 + 2...Ke4-e3 3.Rc5-c3 # 3.Se7-d5 # 3.Rc5-e5 # 1...Ba2-d5 2.Rf3-f5 + 2...Ke4-e3 3.Rc5-c3 # 3.Se7*d5 # 2.Rc5-c4 + 2...b5*c4 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 3.Rf3-f5 # 2...Bd5*c4 3.Rf3-f5 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 2.Rf3-f1 + 2...Ke4-e3 3.Rc5-c3 # 2.Rf3-f2 + 2...Ke4-e3 3.Rc5-c3 # 2.Rf3*f7 + 2...Ke4-e3 3.Rc5-c3 # 2.Rf3-f6 + 2...Ke4-e3 3.Rc5-c3 # 1...Ba2-c4 2.Rc5*c4 + 2...b5*c4 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 3.Rf3-f5 # 2.Rc5-e5 + 2...Bh2*e5 3.Rf3-f5 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 2...Qg5*e5 3.Rf3-f6 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f5 # 2...d6*e5 3.Rf3-f5 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 2.Rf3-f1 + 2...Ke4-e3 3.Rc5-e5 # 2.Rf3-f2 + 2...Ke4-e3 3.Rc5-e5 # 2.Rf3*f7 + 2...Ke4-e3 3.Rc5-e5 # 2.Rf3-f6 + 2...Ke4-e3 3.Rc5-e5 # 2.Rf3-f5 + 2...Ke4-e3 3.Rc5-e5 # 1...Ba2-b3 + 2.Rf3*b3 + 2...Ke4-f4 3.Rc5-c4 + 3...b5*c4 4.Rb3-f3 + 4...Kf4-e4 5.Rf3-f1 # 5.Rf3-f2 # 5.Rf3*f7 # 5.Rf3-f6 # 5.Rf3-f5 # 3.Rb3-f3 + 3...Kf4-e4 4.Rc5-c3 threat: 5.Rf3-f1 # 5.Rf3-f2 # 5.Rf3*f7 # 5.Rf3-f6 # 5.Rf3-f5 # 4...Bh2-f4 5.Rf3-f1 # 5.Rf3-f2 # 5.Rf3-d3 # 5.Rf3-e3 # 5.Rf3-g3 # 4...Qg5-e3 5.Rc3*e3 # 4...Qg5-f4 5.Rf3-e3 # 4...Qg5-f6 5.Rf3*f6 # 5.Rf3-f5 # 5.Rc3-e3 # 4...Qg5*g4 5.Rc3-e3 # 4...Qg5-f5 5.Rf3*f5 # 5.Rc3-e3 # 4...f7-f5 5.Rf3-f1 # 5.Rf3-f2 # 5.Rf3*f5 # 4...f7-f6 5.Rf3-f5 # 5.Rf3-f1 # 5.Rf3-f2 # 5.Rf3*f6 # 4.Rc5-c4 + 4...b5*c4 5.Rf3-f1 # 5.Rf3-f2 # 5.Rf3*f7 # 5.Rf3-f6 # 5.Rf3-f5 # 4.Rc5-f5 threat: 5.Rf3-f1 # 5.Rf3-f2 # 5.Rf3-a3 # 5.Rf3-b3 # 5.Rf3-c3 # 5.Rf3-d3 # 5.Rf3-e3 # 5.Rf3-f4 # 5.Rf3-g3 # 4...Sa1-b3 5.Rf3-f1 # 5.Rf3-f2 # 5.Rf3*b3 # 5.Rf3-c3 # 5.Rf3-d3 # 5.Rf3-e3 # 5.Rf3-f4 # 5.Rf3-g3 # 4...b4-b3 5.Rf3-g3 # 5.Rf3-f1 # 5.Rf3-f2 # 5.Rf3*b3 # 5.Rf3-c3 # 5.Rf3-d3 # 5.Rf3-e3 # 5.Rf3-f4 # 4...Ra5-a3 5.Rf3*a3 # 5.Rf3-b3 # 5.Rf3-c3 # 5.Rf3-d3 # 5.Rf3-e3 # 5.Rf3-f4 # 4...Ra5*a7 5.Rf3-a3 # 5.Rf3-b3 # 5.Rf3-c3 # 5.Rf3-d3 # 5.Rf3-g3 # 4...Qg5-e3 5.Rf3*e3 # 5.Rf3-f4 # 4...Qg5-f4 5.Rf3-e3 # 5.Rf3*f4 # 4...Qg5*g4 5.Rf3-e3 # 5.Rf3-f4 # 4...Qg5*f5 5.Rf3*f5 # 4...g6*f5 5.Rf3-f1 # 5.Rf3-f2 # 5.Rf3*f5 # 4...Rd7*a7 5.Rf3-a3 # 5.Rf3-b3 # 5.Rf3-c3 # 5.Rf3-d3 # 5.Rf3-g3 # 4.Rc5-e5 + 4...Bh2*e5 5.Rf3-f1 # 5.Rf3-f2 # 5.Rf3*f7 # 5.Rf3-f6 # 5.Rf3-f5 # 4...Qg5*e5 5.Rf3-f5 # 5.Rf3-f1 # 5.Rf3-f2 # 5.Rf3*f7 # 5.Rf3-f6 # 4...d6*e5 5.Rf3-f6 # 5.Rf3-f1 # 5.Rf3-f2 # 5.Rf3*f7 # 5.Rf3-f5 # 4.Rf3-f1 + 4...Ke4-e3 5.Rc5-c3 # 5.Rc5-e5 # 4.Rf3-f2 + 4...Ke4-e3 5.Rc5-e5 # 5.Rc5-c3 # 4.Rf3*f7 + 4...Ke4-e3 5.Rc5-c3 # 5.Rc5-e5 # 4.Rf3-f6 + 4...Ke4-e3 5.Rc5-e5 # 5.Rc5-c3 # 4.Rf3-f5 + 4...Ke4-e3 5.Rc5-c3 # 5.Se7-d5 # 5.Rc5-e5 # 1...Bh2-e5 2.Rf3-b3 + 2...Ke4-f4 3.Se7-d5 # 2.Rc5-c4 + 2...Ba2*c4 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 3.Rf3-f5 # 2...b5*c4 3.Rf3-f5 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 2...Be5-d4 3.Rc4*d4 # 2.Rc5*e5 + 2...Qg5*e5 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 3.Rf3-f5 # 2...d6*e5 3.Rf3-f5 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 2.Rf3-f1 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5*e5 # 2.Rf3-f2 + 2...Ke4-e3 3.Rc5*e5 # 3.Rc5-c3 # 2.Rf3*f7 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5*e5 # 2.Rf3-f6 + 2...Ke4-e3 3.Rc5*e5 # 3.Rc5-c3 # 2.Rf3-f5 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5*e5 # 1...Ra5-a3 2.Rc5-c4 + 2...Ba2*c4 3.Rf3*f7 + 3...Ra3-f3 4.Bh1*f3 # 3.Rf3-f6 + 3...Ra3-f3 4.Bh1*f3 # 3.Rf3-f5 + 3...Ra3-f3 4.Bh1*f3 # 2...b5*c4 3.Rf3-f5 + 3...Ra3-f3 4.Bh1*f3 # 3.Rf3*f7 + 3...Ra3-f3 4.Bh1*f3 # 3.Rf3-f6 + 3...Ra3-f3 4.Bh1*f3 # 2.Rc5-f5 threat: 3.Rf3*a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f4 # 2...Sa1-b3 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f4 # 3.Rf3-g3 # 2...Ba2-b3 + 3.Rf3*b3 # 2...Ra3*a7 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-g3 # 2...Ra3*f3 3.Bh1*f3 # 2...Ra3-e3 3.Rf3*e3 # 3.Rf3-f4 # 2...Ra3-d3 3.Rf3-f4 # 3.Rf3*d3 # 3.Rf3-e3 # 3.e2*d3 # 2...Ra3-c3 3.Rf3*c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f4 # 2...Ra3-b3 3.Rf3-f4 # 3.Rf3*b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 2...b4-b3 3.Rf3-e3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-f4 # 3.Rf3-g3 # 2...Qg5-e3 3.Rf3*e3 # 3.Rf3-f4 # 2...Qg5-f4 3.Rf3-e3 # 3.Rf3*f4 # 2...Qg5*g4 3.Rf3-e3 # 3.Rf3-f4 # 2...Qg5*f5 3.Rf3*f5 + 3...Ra3-f3 4.Bh1*f3 # 2...g6*f5 3.Rf3-b3 + 3...Ke4-f4 4.Se7-d5 # 3.Rf3*f5 + 3...Ra3-f3 4.Bh1*f3 # 2...Rd7*a7 3.Rf3*a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 2.Rc5-e5 + 2...Bh2*e5 3.Rf3*f7 + 3...Ra3-f3 4.Bh1*f3 # 3.Rf3-b3 + 3...Ke4-f4 4.Se7-d5 # 3.Rf3-f6 + 3...Ra3-f3 4.Bh1*f3 # 3.Rf3-f5 + 3...Ra3-f3 4.Bh1*f3 # 2...Qg5*e5 3.Rf3-f5 + 3...Ra3-f3 4.Bh1*f3 # 3.Rf3*f7 + 3...Ra3-f3 4.Bh1*f3 # 3.Rf3-f6 + 3...Ra3-f3 4.Bh1*f3 # 2...d6*e5 3.Rf3-f6 + 3...Ra3-f3 4.Bh1*f3 # 3.Rf3*f7 + 3...Ra3-f3 4.Bh1*f3 # 3.Rf3-f5 + 3...Ra3-f3 4.Bh1*f3 # 2.Rf3*f7 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 2...Ra3-f3 3.Rc5-e5 + 3...Bh2*e5 4.Bh1*f3 # 3...Qg5*e5 4.Bh1*f3 # 3...d6*e5 4.Bh1*f3 # 3.Rc5-c4 + 3...Ba2*c4 4.Bh1*f3 # 3...b5*c4 4.Bh1*f3 # 3.Bh1*f3 + 3...Ke4-e3 4.Rc5-c3 # 4.Rc5-e5 # 2.Rf3-f6 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 2...Ra3-f3 3.Rc5-e5 + 3...Bh2*e5 4.Bh1*f3 # 3...Qg5*e5 4.Bh1*f3 # 3...d6*e5 4.Bh1*f3 # 3.Rc5-c4 + 3...Ba2*c4 4.Bh1*f3 # 3...b5*c4 4.Bh1*f3 # 3.Bh1*f3 + 3...Ke4-e3 4.Rc5-c3 # 4.Rc5-e5 # 2.Rf3-f5 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 2...Ra3-f3 3.Rc5-e5 + 3...Bh2*e5 4.Bh1*f3 # 3...d6*e5 4.Bh1*f3 # 3.Rc5-c4 + 3...Ba2*c4 4.Bh1*f3 # 3...b5*c4 4.Bh1*f3 # 3.Bh1*f3 + 3...Ke4-e3 4.Rc5-c3 # 4.Rc5-e5 # 1...Ra5*a7 2.Rf3-b3 + 2...Ke4-f4 3.Rc5-c4 + 3...b5*c4 4.Rb3-f3 + 4...Kf4-e4 5.Rf3-f5 + 5...Ke4-e3 6.Se7-d5 # 1...Qg5-e3 2.Rc5-c4 + 2...Ba2*c4 3.Rf3*f7 + 3...Qe3-f3 4.Bh1*f3 # 3.Rf3-f6 + 3...Qe3-f3 4.Bh1*f3 # 3.Rf3-f5 + 3...Qe3-f3 4.Bh1*f3 # 2...Qe3-d4 3.Rc4*d4 # 2...b5*c4 3.Rf3*f7 + 3...Qe3-f3 4.Bh1*f3 # 3.Rf3-f6 + 3...Qe3-f3 4.Bh1*f3 # 3.Rf3-f5 + 3...Qe3-f3 4.Bh1*f3 # 2.Rc5-e5 + 2...Bh2*e5 3.Rf3-f5 + 3...Qe3-f3 4.Bh1*f3 # 3.Rf3*f7 + 3...Qe3-f3 4.Bh1*f3 # 3.Rf3-f6 + 3...Qe3-f3 4.Bh1*f3 # 2...d6*e5 3.Rf3-f6 + 3...Qe3-f3 4.Bh1*f3 # 3.Rf3*f7 + 3...Qe3-f3 4.Bh1*f3 # 3.Rf3-f5 + 3...Qe3-f3 4.Bh1*f3 # 2.Rf3*f7 + 2...Qe3-f3 3.Rc5-c4 + 3...Ba2*c4 4.Bh1*f3 # 3...b5*c4 4.Bh1*f3 # 3.Rc5-e5 + 3...Bh2*e5 4.Bh1*f3 # 3...d6*e5 4.Bh1*f3 # 3.Bh1*f3 + 3...Ke4-e3 4.Rc5-c3 # 4.Rc5-e5 # 2.Rf3-f6 + 2...Qe3-f3 3.Bh1*f3 + 3...Ke4-e3 4.Rc5-c3 # 4.Rc5-e5 # 3.Rc5-c4 + 3...Ba2*c4 4.Bh1*f3 # 3...b5*c4 4.Bh1*f3 # 3.Rc5-e5 + 3...Bh2*e5 4.Bh1*f3 # 3...d6*e5 4.Bh1*f3 # 2.Rf3-f5 + 2...Qe3-f3 3.Rc5-e5 + 3...Bh2*e5 4.Bh1*f3 # 3...d6*e5 4.Bh1*f3 # 3.Rc5-c4 + 3...Ba2*c4 4.Bh1*f3 # 3...b5*c4 4.Bh1*f3 # 3.Bh1*f3 + 3...Ke4-e3 4.Rc5-c3 # 4.Rc5-e5 # 1...Qg5-f4 2.Rc5-c4 + 2...Ba2*c4 3.Rf3-e3 # 2...b5*c4 3.Rf3-e3 # 2.Rc5-e5 + 2...Qf4*e5 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 3.Rf3-f5 # 2...d6*e5 3.Rf3-e3 # 2.Rf3-e3 + 2...Ke4*e3 3.Rc5-c3 # 3.Rc5-e5 # 1...Qg5-h4 2.Rc5-c4 + 2...Ba2*c4 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 3.Rf3-f5 # 2...b5*c4 3.Rf3-f5 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 2.Rc5-e5 + 2...Bh2*e5 3.Rf3-f6 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f5 # 2...d6*e5 3.Rf3-f5 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 2.Rf3-f1 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 2.Rf3-f2 + 2...Ke4-e3 3.Rc5-e5 # 3.Rc5-c3 # 2.Rf3*f7 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 2.Rf3-f6 + 2...Ke4-e3 3.Rc5-e5 # 3.Rc5-c3 # 2.Rf3-f5 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 1...Qg5*e7 2.Rc5-f5 threat: 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f4 # 3.Rf3-g3 # 2...Sa1-b3 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f4 # 3.Rf3-g3 # 2...Ba2-b3 + 3.Rf3*b3 # 2...b4-b3 3.Rf3*b3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f4 # 3.Rf3-g3 # 2...Ra5-a3 3.Rf3*a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f4 # 2...Ra5*a7 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-g3 # 2...h5*g4 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-f4 # 2...g6*f5 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f5 # 2...Rd7*a7 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-g3 # 2.Rc5-e5 + 2...Bh2*e5 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 3.Rf3-f5 # 2...d6*e5 3.Rf3-f5 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 2...Qe7*e5 3.Rf3-f6 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f5 # 2.Rf3-f1 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 2.Rf3-f2 + 2...Ke4-e3 3.Rc5-e5 # 3.Rc5-c3 # 2.Rf3*f7 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 2.Rf3-f6 + 2...Ke4-e3 3.Rc5-e5 # 3.Rc5-c3 # 2.Rf3-f5 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 1...Qg5-f6 2.Rc5-c4 + 2...Ba2*c4 3.Rf3*f6 # 3.Rf3-f5 # 2...b5*c4 3.Rf3-f5 # 3.Rf3*f6 # 2...Qf6-d4 3.Rc4*d4 # 2.Rc5-f5 threat: 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f4 # 3.Rf3-g3 # 2...Sa1-b3 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f4 # 3.Rf3-g3 # 2...Ba2-b3 + 3.Rf3*b3 # 2...b4-b3 3.Rf3*b3 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f4 # 3.Rf3-g3 # 2...Ra5-a3 3.Rf3*a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f4 # 2...Ra5*a7 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-g3 # 2...Qf6-c3 3.Rf3*c3 # 3.Rf3-d3 # 3.Rf3-e3 # 3.Rf3-f4 # 2...Qf6-d4 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-g3 # 2...Qf6*f5 3.Rf3*f5 # 2...g6*f5 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f5 # 2...Rd7*a7 3.Rf3-a3 # 3.Rf3-b3 # 3.Rf3-c3 # 3.Rf3-d3 # 3.Rf3-g3 # 2.Rc5-e5 + 2...Bh2*e5 3.Rf3*f6 # 3.Rf3-f5 # 2...d6*e5 3.Rf3-f5 # 3.Rf3*f6 # 2...Qf6*e5 3.Rf3-f6 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f5 # 2.Rf3*f6 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 2.Rf3-f5 + 2...Ke4-e3 3.Rc5-e5 # 3.Rc5-c3 # 1...Qg5*g4 2.Rf3-f5 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 2...Qg4-f3 3.Rc5-e5 + 3...Bh2*e5 4.Bh1*f3 # 3...d6*e5 4.Bh1*f3 # 3.Rc5-c4 + 3...Ba2*c4 4.Bh1*f3 # 3...b5*c4 4.Bh1*f3 # 3.Bh1*f3 + 3...Ke4-e3 4.Rc5-c3 # 4.Rc5-e5 # 2...Qg4-g2 3.Rc5-c4 + 3...Ba2*c4 4.Bh1*g2 # 3...b5*c4 4.Bh1*g2 # 3.Rc5-e5 + 3...Bh2*e5 4.Bh1*g2 # 3...d6*e5 4.Bh1*g2 # 3.Bh1*g2 + 3...Ke4-e3 4.Rc5-c3 # 4.Rc5-e5 # 2.Rc5-c4 + 2...Ba2*c4 3.Rf3*f7 + 3...Qg4-f3 4.Bh1*f3 # 3...Qg4-g2 4.Bh1*g2 # 3.Rf3-f6 + 3...Qg4-f3 4.Bh1*f3 # 3...Qg4-g2 4.Bh1*g2 # 3.Rf3-f5 + 3...Qg4-f3 4.Bh1*f3 # 3...Qg4-g2 4.Bh1*g2 # 2...b5*c4 3.Rf3-f5 + 3...Qg4-f3 4.Bh1*f3 # 3...Qg4-g2 4.Bh1*g2 # 3.Rf3*f7 + 3...Qg4-f3 4.Bh1*f3 # 3...Qg4-g2 4.Bh1*g2 # 3.Rf3-f6 + 3...Qg4-f3 4.Bh1*f3 # 3...Qg4-g2 4.Bh1*g2 # 2.Rc5-f5 threat: 3.Rf3-e3 # 3.Rf3-f4 # 2...Ba2-b3 + 3.Rf3*b3 + 3...Qg4-f3 4.Rb3*b4 # 4.Rb3-e3 # 4.e2*f3 # 4.Bh1*f3 # 3...Qg4-g2 4.Rb3*b4 # 4.Rb3-e3 # 4.Bh1*g2 # 2...Qg4*f3 3.Bh1*f3 # 2...Qg4*f5 3.Rf3*f5 # 2...Qg4-g1 + 3.Ba7*g1 threat: 4.Rf3-f1 # 4.Rf3-a3 # 4.Rf3-b3 # 4.Rf3-c3 # 4.Rf3-d3 # 4.Rf3-e3 # 4.Rf3-f4 # 4.Rf3-g3 # 3...Sa1-b3 4.Rf3-e3 # 4.Rf3-f1 # 4.Rf3*b3 # 4.Rf3-c3 # 4.Rf3-d3 # 4.Rf3-f4 # 4.Rf3-g3 # 3...Ba2-b3 + 4.Rf3*b3 # 3...Bh2*g1 4.Rf5-f4 # 4.Rf3-a3 # 4.Rf3-b3 # 4.Rf3-c3 # 4.Rf3-d3 # 4.Rf3-g3 # 3...b4-b3 4.Rf3-g3 # 4.Rf3-f1 # 4.Rf3*b3 # 4.Rf3-c3 # 4.Rf3-d3 # 4.Rf3-e3 # 4.Rf3-f4 # 3...Ra5-a3 4.Rf3*a3 # 4.Rf3-b3 # 4.Rf3-c3 # 4.Rf3-d3 # 4.Rf3-e3 # 4.Rf3-f4 # 3...g6*f5 4.Rf3-f1 # 4.Rf3*f5 # 3...Rd7*e7 4.Rf3-f1 # 4.Rf3-f4 # 2...Qg4-g2 3.Rf3-e3 # 2...Ra5*a7 3.Rf3-a3 + 3...Qg4-f3 4.e2*f3 # 4.Bh1*f3 # 3...Qg4-g2 4.Bh1*g2 # 3.Rf3-b3 + 3...Qg4-f3 4.e2*f3 # 4.Bh1*f3 # 3...Qg4-g2 4.Bh1*g2 # 3.Rf3-c3 + 3...Qg4-f3 4.e2*f3 # 4.Bh1*f3 # 3...Qg4-g2 4.Bh1*g2 # 3.Rf3-d3 + 3...Qg4-f3 4.Bh1*f3 # 3...Qg4-g2 4.Bh1*g2 # 2...g6*f5 3.Rf3*f5 + 3...Qg4-f3 4.Bh1*f3 # 3...Qg4-g2 4.Bh1*g2 # 2...Rd7*a7 3.Rf3-a3 + 3...Qg4-f3 4.e2*f3 # 4.Bh1*f3 # 3...Qg4-g2 4.Bh1*g2 # 3.Rf3-b3 + 3...Qg4-f3 4.e2*f3 # 4.Bh1*f3 # 3...Qg4-g2 4.Bh1*g2 # 3.Rf3-c3 + 3...Qg4-f3 4.e2*f3 # 4.Bh1*f3 # 3...Qg4-g2 4.Bh1*g2 # 3.Rf3-d3 + 3...Qg4-f3 4.Bh1*f3 # 3...Qg4-g2 4.Bh1*g2 # 2...Rd7*e7 3.Rf3-f4 # 2.Rc5-e5 + 2...Bh2*e5 3.Rf3*f7 + 3...Qg4-f3 4.Bh1*f3 # 3...Qg4-g2 4.Bh1*g2 # 3.Rf3-f6 + 3...Qg4-f3 4.Bh1*f3 # 3...Qg4-g2 4.Bh1*g2 # 3.Rf3-f5 + 3...Qg4-f3 4.Bh1*f3 # 3...Qg4-g2 4.Bh1*g2 # 2...d6*e5 3.Rf3-f5 + 3...Qg4-f3 4.Bh1*f3 # 3...Qg4-g2 4.Bh1*g2 # 3.Rf3*f7 + 3...Qg4-f3 4.Bh1*f3 # 3...Qg4-g2 4.Bh1*g2 # 3.Rf3-f6 + 3...Qg4-f3 4.Bh1*f3 # 3...Qg4-g2 4.Bh1*g2 # 2.Rf3*f7 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 2...Qg4-f3 3.Rc5-e5 + 3...Bh2*e5 4.Bh1*f3 # 3...d6*e5 4.Bh1*f3 # 3.Rc5-c4 + 3...Ba2*c4 4.Bh1*f3 # 3...b5*c4 4.Bh1*f3 # 3.Bh1*f3 + 3...Ke4-e3 4.Rc5-c3 # 4.Rc5-e5 # 2...Qg4-g2 3.Rc5-c4 + 3...Ba2*c4 4.Bh1*g2 # 3...b5*c4 4.Bh1*g2 # 3.Rc5-e5 + 3...Bh2*e5 4.Bh1*g2 # 3...d6*e5 4.Bh1*g2 # 3.Bh1*g2 + 3...Ke4-e3 4.Rc5-c3 # 4.Rc5-e5 # 2.Rf3-f6 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5-e5 # 2...Qg4-f3 3.Rc5-e5 + 3...Bh2*e5 4.Bh1*f3 # 3...d6*e5 4.Bh1*f3 # 3.Rc5-c4 + 3...Ba2*c4 4.Bh1*f3 # 3...b5*c4 4.Bh1*f3 # 3.Bh1*f3 + 3...Ke4-e3 4.Rc5-c3 # 4.Rc5-e5 # 2...Qg4-g2 3.Rc5-c4 + 3...Ba2*c4 4.Bh1*g2 # 3...b5*c4 4.Bh1*g2 # 3.Rc5-e5 + 3...Bh2*e5 4.Bh1*g2 # 3...d6*e5 4.Bh1*g2 # 3.Bh1*g2 + 3...Ke4-e3 4.Rc5-c3 # 4.Rc5-e5 # 1...Qg5*c5 2.Rf3-f1 + 2...Ke4-e3 3.Se7-d5 + 3...Ba2*d5 4.Bh1*d5 threat: 5.Rf1-f3 # 4...h5*g4 5.h3*g4 threat: 6.Rf1-f3 # 1...Qg5-d5 2.Rf3-f1 + 2...Ke4-e3 3.Rc5-c3 # 2.Rc5-c4 + 2...Ba2*c4 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 3.Rf3-f5 # 2...b5*c4 3.Rf3-f5 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 2...Qd5*c4 3.Rf3-f6 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f5 # 2...Qd5-d4 3.Rc4*d4 # 2.Rf3-f2 + 2...Ke4-e3 3.Rc5-c3 # 2.Rf3*f7 + 2...Ke4-e3 3.Rc5-c3 # 2.Rf3-f6 + 2...Ke4-e3 3.Rc5-c3 # 2.Rf3-f5 + 2...Ke4-e3 3.Rc5-c3 # 1...Qg5-e5 2.Rf3-f5 + 2...Ke4-e3 3.Rc5-c3 # 3.Rc5*e5 # 2.Rc5-c4 + 2...Ba2*c4 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 3.Rf3-f5 # 2...b5*c4 3.Rf3-f5 # 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 2...Qe5-d4 3.Rc4*d4 # 2.Rc5*e5 + 2...Bh2*e5 3.Rf3-f1 # 3.Rf3-f2 # 3.Rf3*f7 # 3.Rf3-f6 # 3.Rf3-f5 # 2...d6*e5" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1982 algebraic: white: [Kf8, Qd1, Rf1, Re6, Bb6, Ba4, Sf7, Sa5, Pf3, Pe5, Pc6, Pc5, Pc2] black: [Ke3, Rb1, Bg1, Ba2, Se8, Sc1, Pg6, Pf4, Pe7] stipulation: "#3" solution: | "1.Sf7-d6 ! threat: 2.Sd6-c4 + 2...Ba2*c4 3.Sa5*c4 # 2.Sa5-c4 + 2...Ba2*c4 3.Sd6*c4 # 1...Rb1-b4 2.Qd1*c1 + 2...Ke3-e2 3.Qc1-e1 # 2...Ke3-d4 3.Qc1-d2 # 1...e7*d6 2.Sa5-b3 threat: 3.e5*d6 # 3.c5*d6 # 3.Qd1-d2 # 2...Rb1*b3 3.e5*d6 # 2...Sc1-e2 3.e5*d6 # 3.Qd1-d3 # 3.Qd1-d2 # 2...Sc1-d3 3.Qd1*d3 # 3.Qd1-d2 # 2...Sc1*b3 3.e5*d6 # 3.Qd1-d3 # 2...Bg1-f2 3.e5*d6 # 3.c5*d6 # 2...Ba2*b3 3.c5*d6 # 2...d6-d5 3.Qd1-d2 # 2...d6*c5 3.Qd1-d2 # 3.Bb6*c5 # 2...d6*e5 3.Re6*e5 # 3.Qd1-d2 # 2...Se8-c7 3.c5*d6 # 3.Qd1-d2 # 2...Se8-f6 3.e5*f6 # 3.c5*d6 # 3.Qd1-d2 # 2...Se8-g7 3.c5*d6 # 3.Qd1-d2 # 1...Se8*d6 2.Ba4-b3 threat: 3.e5*d6 # 3.c5*d6 # 2...Rb1*b3 3.e5*d6 # 2...Sc1-e2 3.e5*d6 # 3.Qd1-d3 # 2...Sc1-d3 3.Qd1*d3 # 2...Sc1*b3 3.e5*d6 # 3.Qd1-d3 # 2...Ba2*b3 3.c5*d6 # 2...Sd6-b5 3.Sa5-c4 # 2...Sd6-c4 3.Sa5*c4 # 2...Sd6-e4 3.Sa5-c4 # 2...Sd6-f5 3.Sa5-c4 # 2...Sd6-f7 3.Sa5-c4 # 2...Sd6-e8 3.Sa5-c4 # 2...Sd6-c8 3.Sa5-c4 # 2...Sd6-b7 3.Sa5-c4 #" --- authors: - Вукчевић, Милан Радоје source: Chess Life date: 1988 distinction: 1st Prize algebraic: white: [Kd1, Qa6, Bf8, Bd3, Sc1, Sa5, Pg6, Pf5, Pf3, Pe3, Pc2] black: [Kd5, Qh4, Rc7, Bc8, Bb8, Sb7, Sa3, Ph3, Pg5, Pg3, Pf7, Pe5] stipulation: "#4" solution: | "1.Sc1-a2 ! threat: 2.c2-c4 + 2...Qh4*c4 3.Sa2-c3 + 3...Qc4*c3 4.Bd3-e4 # 2...Rc7*c4 3.Sa2-b4 + 3...Rc4*b4 4.Qa6-c6 # 1...Qh4-a4 2.Qa6-c4 + 2...Qa4*c4 3.Sa2-c3 + 3...Qc4*c3 4.Bd3-e4 # 2...Rc7*c4 3.Bd3-e4 + 3...Rc4*e4 4.Sa2-c3 # 1...Rc7*c2 2.Bd3-c4 + 2...Rc2*c4 3.Sa2-b4 + 3...Rc4*b4 4.Qa6-c6 # 2...Qh4*c4 3.Qa6-c6 + 3...Qc4*c6 4.Sa2-b4 #" keywords: - Plachutta - Play on same square --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1988 distinction: 1st Prize algebraic: white: [Kf8, Qf7, Re8, Re7, Be6, Bb4, Sc8, Sb8, Pc6, Pa2] black: [Kb5, Qh8, Rh5, Rg7, Bh6, Bg8, Ph7, Ph4, Pg6, Pg5] stipulation: "s#3" solution: | "1.Sb8-a6 ! threat: 2.Qf7-f1 + 2...Kb5*c6 3.Re7-c7 + 3...Rg7*c7 # 2...Kb5-a4 3.Be6-b3 + 3...Bg8*b3 # 2.Be6-b3 threat: 3.Qf7-c4 + 3...Bg8*c4 # 1...h4-h3 2.Qf7-f1 + 2...Kb5*c6 3.Re7-c7 + 3...Rg7*c7 # 2...Kb5-a4 3.Be6-b3 + 3...Bg8*b3 # 1...Kb5*a6 2.Re7-a7 + 2...Ka6-b5 3.Qf7-b7 + 3...Rg7*b7 # 1...Kb5*c6 2.Be6-c4 threat: 3.Qf7-d5 + 3...Bg8*d5 # 3.Qf7-e6 + 3...Bg8*e6 # 3.Qf7-f3 + 3...Bg8-d5 # 3.Qf7-f6 + 3...Bg8-e6 # 2...g5-g4 3.Qf7-e6 + 3...Bg8*e6 # 3.Qf7-f6 + 3...Bg8-e6 # 1...Kb5-a4 2.Be6-b3 + 2...Ka4-b5 3.Qf7-c4 + 3...Bg8*c4 # 1...g5-g4 2.Qf7-f1 + 2...Kb5*c6 3.Re7-c7 + 3...Rg7*c7 # 2...Kb5-a4 3.Be6-b3 + 3...Bg8*b3 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1990 distinction: 1st Prize algebraic: white: [Ka6, Re5, Bd4, Se7, Sc4, Ph4, Pg2, Pf3] black: [Kf4, Rb5, Be8, Bb6, Sd1, Pg6, Pg3, Pf5, Pe3, Pd6, Pa7, Pa5, Pa4] stipulation: "#3" solution: | "1.Re5-d5 ! threat: 2.Bd4-f6 threat: 3.Bf6-g5 # 1...Sd1-f2 2.Rd5-c5 threat: 3.Se7-d5 # 3.Bd4*e3 # 2...Sf2-d1 3.Se7-d5 # 2...Sf2-g4 3.Se7-d5 # 2...Rb5-b3 3.Se7-d5 # 2...Rb5*c5 3.Bd4*e3 # 2...Bb6*c5 3.Se7-d5 # 2...Be8-c6 3.Se7*g6 # 3.Bd4*e3 # 2...Be8-f7 3.Bd4*e3 # 1...Sd1-c3 2.Sc4-e5 threat: 3.Se5-d3 # 2...d6*e5 3.Bd4*e5 # 1...Rb5-b1 2.Rd5*f5 + 2...g6*f5 3.Se7-d5 # 1...Rb5-b2 2.Rd5*f5 + 2...g6*f5 3.Se7-d5 # 1...Rb5-b3 2.Rd5*f5 + 2...g6*f5 3.Se7-d5 # 1...Rb5-b4 2.Rd5*f5 + 2...g6*f5 3.Se7-d5 # 1...Rb5-c5 2.Bd4*e3 + 2...Sd1*e3 3.Rd5-d4 # 1...Bb6-c5 2.Rd5*f5 + 2...g6*f5 3.Se7-d5 # 1...Bb6-d8 2.Bd4*e3 + 2...Sd1*e3 3.Rd5-d4 # 1...Bb6-c7 2.Bd4*e3 + 2...Sd1*e3 3.Rd5-d4 # 1...g6-g5 2.Bd4-c5 threat: 3.Rd5-d4 # 3.Rd5*f5 # 3.Bc5*d6 # 2...Sd1-f2 3.Rd5*f5 # 3.Bc5*d6 # 2...Sd1-c3 3.Rd5*f5 # 3.Bc5*d6 # 2...Rb5*c5 3.Rd5-d4 # 2...g5*h4 3.Rd5*f5 # 2...Bb6*c5 3.Rd5*f5 # 2...Bb6-c7 3.Rd5-d4 # 3.Rd5*f5 # 2...d6*c5 3.Rd5*f5 # 2...Be8-c6 3.Se7-g6 # 3.Rd5*f5 # 3.Bc5*d6 # 2...Be8-d7 3.Se7-g6 # 3.Rd5-d4 # 3.Bc5*d6 # 2...Be8-g6 3.Se7*g6 # 3.Rd5-d4 # 3.Bc5*d6 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1990 algebraic: white: [Kh6, Qa3, Rg6, Bh7, Pd4, Pd3, Pb4, Pa2] black: [Kc2, Qd2, Rh8, Rg8, Be8, Be3, Sd1, Sc1, Pf4, Pd5, Pb5, Pa4] stipulation: "h#2" solution: | "1.Sc1*d3 Qa3-b2 + 2.Sd3*b2 Rg6-c6 # 1.Qd2*d3 Qa3-c3 + 2.Qd3*c3 Rg6-g2 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin source-id: 72/2032 date: 1990-07 distinction: 1st Prize algebraic: white: [Kd5, Qb4, Re1, Rd7, Bd1, Bc1, Sf6, Sa1, Pc6, Pb3, Pb2] black: [Kd3, Qh3, Rb7, Bg3, Bg2, Sh8, Sh4, Pg7, Pg4, Pf4, Pf3, Pc7, Pb5] stipulation: "s#4" solution: | "1.Sf6*g4 ! threat: 2.Sg4-f2 + 2...Bg3*f2 3.Qb4*b5 + 3...Rb7*b5 # 1...f3-f2 + 2.Kd5-e5 + 2...Bg2-d5 3.Qb4*b5 + 3...Rb7*b5 4.Re1-e3 + 4...f4*e3 # 1...Bg3-f2 2.Re1-e3 + 2...Bf2*e3 3.Sg4-f2 + 3...Be3*f2 4.Qb4*b5 + 4...Rb7*b5 # 2...f4*e3 3.Sg4*f2 + 3...e3*f2 4.Qb4*b5 + 4...Rb7*b5 # 1...Bg3-h2 2.Re1-e3 + 2...f4*e3 3.Sg4-f2 + 3...e3*f2 4.Qb4*b5 + 4...Rb7*b5 # 3.Sg4-e5 + 3...Bh2*e5 4.Qb4*b5 + 4...Rb7*b5 # 1...Qh3-h1 2.Bd1-e2 + 2...f3*e2 + 3.Kd5-e5 + 3...Bg2-d5 4.Qb4-e4 + 4...Qh1*e4 # 1...Qh3-h2 2.Re1-e3 + 2...f4*e3 3.Kd5-e6 + 3...Bg3-d6 4.Sg4-e5 + 4...Qh2*e5 # 1...Sh4-f5 2.Kd5-c5 + 2...Sf5-d4 3.Qb4*b5 + 3...Rb7*b5 # 2...Sf5-d6 3.Qb4*b5 + 3...Rb7*b5 # 1...Rb7-a7 2.Sg4-f2 + 2...Bg3*f2 3.Qb4-d4 + 3...Bf2*d4 4.Bd1-e2 + 4...f3*e2 #" comments: - F38 p.504, Album FIDE 1989-91 --- authors: - Вукчевић, Милан Радоје source: British Chess Federation date: 1972 algebraic: white: [Kb3, Rh1, Rf7, Bg2, Bc3, Se5, Pe6, Pe2, Pb4, Pa4, Pa3] black: [Kd1, Qa1, Rb1, Bg8, Be1, Ph2, Pe3, Pd6, Pd2, Pb2, Pa2] stipulation: "r#2" solution: | "1.Bg2-a8 ! zugzwang. 1...Kd1*e2 2.Se5-c4 2...d2-d1=Q # 2...d2-d1=B # 2.Kb3-c2 2...d2-d1=Q # 2...d2-d1=B # 1...Rb1-c1 2.Bc3*d2 2...b2-b1=Q # 2...b2-b1=R # 1...Kd1-c1 2.Se5-c4 2...d2-d1=Q # 2...d2-d1=B # 1...d6-d5 2.Bc3*b2 2...Qa1*b2 # 1...d6*e5 2.Rf7-b7 2...Bg8*e6 # 1...Bg8*f7 2.Se5-c6 2...Bf7*e6 # 1...Bg8-h7 2.Se5-c4 2...Bh7-c2 #" --- authors: - Вукчевић, Милан Радоје source: Olympic Ty. date: 1984 distinction: 3rd Prize algebraic: white: [Ka2, Rh1, Rc4, Ba6, Sf2, Sd1, Pg3, Pg2, Pc2, Pa5] black: [Ke2, Qf7, Rg7, Rg6, Bc8, Pf4, Pd2] stipulation: "#4" solution: | "1.Sf2-g4 ! threat: 2.Sd1-c3 # 1...Rg6*g4 2.Ka2-b1 threat: 3.Rc4-e4 # 2...Qf7*c4 3.Ba6*c4 # 2...Qf7-b7 + 3.Rc4-b4 + 3...Qb7*a6 4.Rb4-e4 # 3...Qb7-b5 4.Ba6*b5 # 1...Qf7*c4 + 2.Ba6*c4 # 1...Qf7-f6 2.Rc4-e4 # 1...Bc8*g4 2.Ka2-a1 threat: 3.Rc4-e4 # 2...Qf7*c4 3.Ba6*c4 # 2...Qf7-f6 + 3.Rc4-d4 + 3...Qf6*a6 4.Rd4-e4 #" keywords: - Holzhausen - Cross-checks --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1984 distinction: 1st Prize algebraic: white: [Kh4, Ra5, Bb5, Se8, Sc5, Ph2, Pg3, Pg2, Pd5, Pb4, Pa3] black: [Kb6, Qc2, Rd2, Bg4, Ba7, Sf1, Sc1, Ph7, Pf4, Pf2, Pe7, Pd4, Pc3, Pb7] stipulation: "#4" solution: | "1.h2-h3 ! threat: 2.h3*g4 threat: 3.Sc5-d7 # 2...Qc2-f5 3.Sc5-a4 # 1...Sc1-d3 2.Bb5*d3 threat: 3.Ra5-b5 # 2...Qc2*d3 3.Sc5-a4 # 2...Qc2-a4 3.Sc5*a4 # 2...Rd2*d3 3.h3*g4 threat: 4.Sc5-d7 # 3...Qc2-a4 4.Sc5*a4 # 2...Bg4-d7 3.Sc5*d7 # 2...Ba7-b8 3.h3*g4 threat: 4.Sc5-d7 # 3...Qc2-a4 4.Sc5*a4 # 3.Bd3*c2 threat: 4.Sc5-a4 # 3...Bg4-d7 4.Sc5*d7 # 1...Sc1-a2 2.h3*g4 threat: 3.Sc5-d7 # 2...Sa2*b4 3.a3*b4 threat: 4.Sc5-d7 # 3...Qc2-f5 4.Sc5-a4 # 2...Qc2-f5 3.Sc5-a4 # 1...Sf1-h2 2.h3*g4 threat: 3.Sc5-d7 # 2...Qc2-f5 3.Sc5-a4 # 2...Sh2-f3 + 3.g2*f3 threat: 4.Sc5-d7 # 3...Qc2-f5 4.Sc5-a4 # 1...Sf1*g3 2.h3*g4 threat: 3.Sc5-d7 # 2...Qc2-f5 3.Sc5-a4 # 2...Sg3-f5 + 3.g4*f5 threat: 4.Sc5-d7 # 3...Qc2*f5 4.Sc5-a4 # 1...Sf1-e3 2.h3*g4 threat: 3.Sc5-d7 # 2...Qc2-f5 3.Sc5-a4 # 2...Se3*g2 + 3.Kh4-h3 threat: 4.Sc5-d7 # 3...Qc2-f5 4.Sc5-a4 # 2...Se3-f5 + 3.Kh4-h3 threat: 4.Sc5-d7 # 3.g4*f5 threat: 4.Sc5-d7 # 3...Qc2*f5 4.Sc5-a4 # 1...Qc2-d1 2.Bb5-a4 threat: 3.Ra5-b5 # 2...Qd1-e2 3.Ba4-d7 threat: 4.Sc5-a4 # 3...Qe2-d1 4.Ra5-b5 # 3...Qe2-b5 4.Ra5*b5 # 3...Bg4*d7 4.Sc5*d7 # 2...Qd1*a4 3.Sc5*a4 # 2...Bg4-e2 3.Sc5-d7 # 2...Bg4-d7 3.Sc5*d7 # 2...Ba7-b8 3.Ba4*d1 threat: 4.Sc5-a4 # 3...Bg4*d1 4.Sc5-d7 # 3...Bg4-d7 4.Sc5*d7 # 1...Qc2-b3 2.h3*g4 threat: 3.Sc5-d7 # 2...Qb3*d5 3.Sc5-a4 # 2...Qb3*b4 3.a3*b4 threat: 4.Sc5-a4 # 4.Sc5-d7 # 3...Rd2-a2 4.Sc5-d7 # 2.Bb5-c4 threat: 3.Ra5-b5 # 2...Qb3*c4 3.Sc5-a4 # 2...Qb3-a4 3.Sc5*a4 # 2...Qb3*b4 3.a3*b4 threat: 4.Sc5-a4 # 4.Ra5-b5 # 3...Rd2-a2 4.Ra5-b5 # 3...Bg4-d1 4.Sc5-d7 # 4.Ra5-b5 # 3...Bg4-d7 4.Sc5*d7 # 3...Ba7-b8 4.Sc5-a4 # 2...Bg4-d7 3.Sc5*d7 # 2...Ba7-b8 3.Bc4*b3 threat: 4.Sc5-a4 # 3...Bg4-d7 4.Sc5*d7 # 1...Bg4*h3 2.g2*h3 threat: 3.Sc5-d7 # 2...Qc2-f5 3.Sc5-a4 # 1...Bg4-c8 2.Bb5-d7 threat: 3.Ra5-b5 # 2...Qc2-d3 3.Sc5-a4 # 2...Qc2-a4 3.Sc5*a4 # 2...Ba7-b8 3.Bd7*c8 threat: 4.Sc5-d7 # 3...Qc2-f5 4.Sc5-a4 # 3...Qc2-a4 4.Sc5*a4 # 2...Bc8*d7 3.Sc5*d7 # 1...Bg4-e6 2.d5*e6 threat: 3.Sc5-d7 # 1...Bg4-f5 2.Bb5-d7 threat: 3.Ra5-b5 # 2...Qc2-d3 3.Sc5-a4 # 2...Qc2-a4 3.Sc5*a4 # 2...Bf5-d3 3.Bd7-a4 threat: 4.Sc5-d7 # 3...Qc2*a4 4.Sc5*a4 # 3...Bd3-f5 4.Ra5-b5 # 3...Bd3-b5 4.Ra5*b5 # 2...Bf5*d7 3.Sc5*d7 # 2...Ba7-b8 3.Bd7*f5 threat: 4.Sc5-d7 # 3...Qc2*f5 4.Sc5-a4 # 3...Qc2-a4 4.Sc5*a4 #" --- authors: - Вукчевић, Милан Радоје source: Chess Life date: 1985 distinction: 1st Prize algebraic: white: [Kc5, Qd1, Ra7, Bh3, Bg5, Sd2] black: [Ke5, Rf8, Re8, Bh2, Bg8, Sg6, Se2, Pf3, Pf2, Pd3, Pc6, Pc4, Pb2] stipulation: "#6" solution: | "1.Ra7-f7 ! threat: 2.Sd2*c4 + 2...Ke5-e4 3.Bh3-f5 # 1...Se2-d4 2.Sd2*c4 + 2...Ke5-e4 3.Qd1*f3 + 3...Sd4*f3 4.Bh3-f5 # 2.Qd1*f3 threat: 3.Bg5-f6 # 3.Qf3-e4 # 3.Qf3-e3 # 3.Qf3-f6 # 3.Sd2*c4 # 2...f2-f1=Q 3.Bg5-f6 # 3.Qf3-e4 # 3.Qf3-e3 # 3.Sd2*c4 # 2...f2-f1=S 3.Bg5-f6 # 3.Qf3-e4 # 3.Qf3-f6 # 3.Sd2*c4 # 2...f2-f1=R 3.Bg5-f6 # 3.Qf3-e4 # 3.Qf3-e3 # 3.Sd2*c4 # 2...Bh2-f4 3.Bg5-f6 # 3.Qf3-e4 # 3.Sd2*c4 # 2...Sd4-b3 + 3.Sd2*b3 threat: 4.Bg5-f6 # 4.Qf3-e3 # 4.Qf3-f5 # 3...f2-f1=Q 4.Bg5-f6 # 4.Qf3-e3 # 3...f2-f1=S 4.Bg5-f6 # 4.Qf3-f5 # 3...f2-f1=R 4.Bg5-f6 # 4.Qf3-e3 # 3...Bh2-f4 4.Bg5-f6 # 3...Sg6-f4 4.Bg5-f6 # 4.Qf3-e3 # 3...Sg6-h4 4.Bg5-f6 # 4.Qf3-e3 # 3...Sg6-e7 4.Bg5-f6 # 4.Qf3-e3 # 3...Re8-e6 4.Qf3-e3 # 4.Qf3-f5 # 3...Rf8*f7 4.Qf3-e3 # 2...Sd4-c2 3.Bg5-f6 # 3.Qf3-e4 # 3.Qf3-f6 # 3.Qf3-f5 # 3.Sd2*c4 # 2...Sd4*f3 3.Sd2*c4 + 3...Ke5-e4 4.Bh3-f5 # 2...Sd4-f5 3.Qf3-e4 # 3.Qf3*f5 # 2...Sd4-e6 + 3.Bh3*e6 threat: 4.Qf3-e4 # 4.Qf3-e3 # 4.Qf3-f6 # 4.Qf3-f5 # 3...f2-f1=Q 4.Qf3-e4 # 4.Qf3-e3 # 3...f2-f1=S 4.Qf3-e4 # 4.Qf3-f6 # 4.Qf3-f5 # 3...f2-f1=R 4.Qf3-e4 # 4.Qf3-e3 # 3...Bh2-f4 4.Qf3-e4 # 3...Ke5*e6 4.Qf3-f6 # 4.Qf3-f5 # 3...Sg6-f4 4.Qf3-e4 # 4.Qf3-e3 # 3...Sg6-h4 4.Qf3-e4 # 4.Qf3-e3 # 4.Qf3-f6 # 3...Sg6-e7 4.Qf3-e4 # 4.Qf3-e3 # 4.Qf3-f6 # 3...Re8*e6 4.Qf3-e4 # 4.Qf3-e3 # 4.Qf3-f5 # 4.Sd2*c4 # 3...Rf8*f7 4.Qf3-e4 # 4.Qf3-e3 # 2...Sg6-f4 3.Bg5-f6 # 3.Qf3-e4 # 3.Qf3-e3 # 3.Sd2*c4 # 2...Re8-e6 3.Qf3-e4 # 3.Qf3-e3 # 3.Sd2*c4 # 2...Rf8*f7 3.Qf3-e4 # 3.Qf3-e3 # 3.Sd2*c4 # 2...Bg8*f7 3.Bg5-f6 # 3.Qf3-e4 # 3.Qf3-e3 # 3.Qf3-f6 # 1...Sg6-h4 2.Sd2*c4 + 2...Ke5-e4 3.Sc4-d2 + 3...Ke4-e5 4.Qd1-a4 threat: 5.Bg5-f6 # 5.Qa4-e4 # 4...Se2-g3 5.Bg5-f4 # 5.Bg5-f6 # 5.Qa4-f4 # 5.Qa4-d4 # 4...Se2-d4 5.Qa4*d4 # 4...Se2-c3 5.Bg5-f6 # 5.Qa4-d4 # 4...Sh4-f5 5.Qa4-e4 # 4...Re8-e6 5.Qa4-e4 # 4...Rf8*f7 5.Qa4-e4 # 4...Bg8*f7 5.Qa4-e4 # 4...Bg8-h7 5.Bg5-f6 # 3.Qd1-a4 threat: 4.Qa4*c6 # 3...Se2-f4 4.Qa4*c6 + 4...Sf4-d5 5.Qc6*d5 # 4.Bg5*f4 threat: 5.Sc4-a3 # 5.Sc4*b2 # 5.Sc4-d2 # 5.Sc4-e3 # 5.Sc4-e5 # 5.Sc4-d6 # 5.Sc4-b6 # 5.Sc4-a5 # 5.Qa4*c6 # 4...b2-b1=Q 5.Sc4-b2 # 5.Sc4-d2 # 5.Sc4-d6 # 5.Qa4*c6 # 4...b2-b1=R 5.Sc4-b2 # 5.Sc4-d2 # 5.Sc4-d6 # 5.Qa4*c6 # 4...Bh2*f4 5.Qa4*c6 # 4...d3-d2 5.Sc4*b2 # 5.Sc4-e5 # 5.Qa4-c2 # 4...Sh4-f5 5.Sc4-d2 # 5.Sc4-d6 # 4...Re8-e5 + 5.Sc4*e5 # 4...Re8-e6 5.Sc4-a3 # 5.Sc4*b2 # 5.Sc4-d2 # 5.Sc4-e3 # 5.Sc4-e5 # 5.Sc4-d6 # 5.Sc4-b6 # 5.Sc4-a5 # 4...Re8-a8 5.Sc4-d2 # 5.Sc4-d6 # 5.Sc4-a5 # 5.Qa4*c6 # 4...Re8-b8 5.Sc4-d2 # 5.Sc4-d6 # 5.Sc4-b6 # 5.Qa4*c6 # 4...Re8-c8 5.Sc4-a3 # 5.Sc4*b2 # 5.Sc4-d2 # 5.Sc4-e3 # 5.Sc4-e5 # 5.Sc4-d6 # 5.Sc4-b6 # 5.Sc4-a5 # 4...Re8-d8 5.Sc4-d2 # 5.Sc4-d6 # 4...Rf8*f7 5.Sc4-a3 # 5.Sc4*b2 # 5.Sc4-d2 # 5.Sc4-e3 # 5.Sc4-e5 # 5.Sc4-d6 # 5.Sc4-b6 # 5.Sc4-a5 # 4...Bg8*f7 5.Sc4-d2 # 5.Sc4-d6 # 3...Se2-d4 4.Sc4-d2 + 4...Ke4-e5 5.Qa4*d4 # 3...Se2-c3 4.Qa4*c6 + 4...Sc3-d5 5.Qc6*d5 # 4.Sc4-d2 + 4...Ke4-e5 5.Bg5-f6 # 5.Qa4-d4 # 4.Sc4-d6 + 4...Ke4-e5 5.Qa4-d4 # 5.Bg5-f6 # 3...Bh2-d6 + 4.Sc4*d6 + 4...Ke4-e5 5.Bg5-f6 # 5.Qa4-e4 # 3...d3-d2 4.Qa4-c2 # 3...Re8-e5 + 4.Sc4*e5 + 4...Se2-d4 5.Qa4*d4 # 4...Ke4*e5 5.Bg5-f6 # 3...Re8-e6 4.Sc4*b2 + 4...Ke4-e5 5.Sb2*d3 # 4...Se2-d4 5.Qa4*d4 # 4.Sc4-d2 + 4...Ke4-e5 5.Qa4-e4 # 4.Sc4-e3 + 4...Ke4-e5 5.Se3-g4 # 4...Se2-d4 5.Qa4*d4 # 4.Sc4-d6 + 4...Ke4-e5 5.Qa4-e4 # 4.Sc4-b6 + 4...Ke4-e5 5.Sb6-d7 # 4...Se2-d4 5.Qa4*d4 # 3...Re8-c8 4.Sc4-a3 + 4...Se2-d4 5.Qa4*d4 # 4...Ke4-e5 5.Bg5-f6 # 4.Sc4*b2 + 4...Se2-d4 5.Qa4*d4 # 4...Ke4-e5 5.Bg5-f6 # 5.Sb2*d3 # 4.Sc4-d2 + 4...Ke4-e5 5.Bg5-f6 # 5.Qa4-e4 # 4.Sc4-e3 + 4...Se2-d4 5.Qa4*d4 # 4...Ke4-e5 5.Bg5-f6 # 4.Sc4-e5 + 4...Se2-d4 5.Qa4*d4 # 4...Ke4*e5 5.Bg5-f6 # 4.Sc4-d6 + 4...Ke4-e5 5.Bg5-f6 # 5.Qa4-e4 # 4.Sc4-b6 + 4...Se2-d4 5.Qa4*d4 # 4...Ke4-e5 5.Sb6-d7 # 5.Bg5-f6 # 4.Sc4-a5 + 4...Se2-d4 5.Qa4*d4 # 4...Ke4-e5 5.Bg5-f6 # 3...Re8-d8 4.Qa4*c6 + 4...Rd8-d5 + 5.Qc6*d5 # 4.Sc4-d2 + 4...Ke4-e5 5.Bg5-f6 # 5.Qa4-e4 # 4.Sc4-d6 + 4...Ke4-e5 5.Qa4-e4 # 5.Bg5-f6 # 3...Bg8*f7 4.Qa4*c6 + 4...Bf7-d5 5.Qc6*d5 # 4.Sc4-d2 + 4...Ke4-e5 5.Qa4-e4 # 4.Sc4-d6 + 4...Ke4-e5 5.Qa4-e4 # 1...Sg6-e7 2.Sd2*c4 + 2...Ke5-e4 3.Sc4-d2 + 3...Ke4-e5 4.Qd1-a4 threat: 5.Bg5-f6 # 5.Qa4-e4 # 5.Sd2*f3 # 4...Se2-g1 5.Bg5-f6 # 5.Qa4-e4 # 5.Qa4-d4 # 4...Se2-g3 5.Bg5-f4 # 5.Bg5-f6 # 5.Qa4-f4 # 5.Qa4-d4 # 5.Sd2*f3 # 4...Se2-d4 5.Qa4*d4 # 4...Se2-c3 5.Bg5-f6 # 5.Qa4-d4 # 5.Sd2*f3 # 4...f2-f1=Q 5.Bg5-f6 # 5.Qa4-e4 # 4...f2-f1=R 5.Bg5-f6 # 5.Qa4-e4 # 4...Se7-d5 5.Qa4-e4 # 5.Sd2*f3 # 4...Se7-f5 5.Qa4-e4 # 4...Rf8*f7 5.Qa4-e4 # 4...Bg8*f7 5.Qa4-e4 # 5.Sd2*f3 # 4...Bg8-h7 5.Bg5-f6 # 5.Sd2*f3 # 2.Sd2*f3 + 2...Ke5-e4 3.Sf3-d2 + 3...Ke4-e5 4.Sd2*c4 + 4...Ke5-e4 5.Bh3-g2 # 5.Qd1-h1 # 4.Qd1-h1 threat: 5.Sd2*c4 # 5.Qh1-e4 # 4...Se2-g3 5.Bg5-f4 # 5.Sd2*c4 # 4...Se2-c3 5.Sd2*c4 # 5.Qh1*h2 # 4...Se7-f5 5.Qh1-e4 # 4...Bg8*f7 5.Qh1-e4 # 4...Bg8-h7 5.Sd2*c4 # 1...Rf8*f7 2.Sd2*c4 + 2...Ke5-e4 3.Sc4-d2 + 3...Ke4-e5 4.Qd1-a4 threat: 5.Qa4-e4 # 4...Se2-g3 5.Qa4-d4 # 4...Se2-d4 5.Qa4*d4 # 4...Se2-c3 5.Qa4-d4 # 4...Rf7-f4 5.Qa4-e4 + 5...Rf4*e4 6.Sd2*f3 # 1...Bg8*f7 2.Sd2*f3 + 2...Ke5-e4 3.Sf3-d2 + 3...Ke4-e5 4.Qd1-h1 threat: 5.Qh1-e4 # 4...Se2-g3 5.Qh1*c6 threat: 6.Qc6-c7 # 6.Qc6-f6 # 6.Qc6-d6 # 6.Sd2-f3 # 5...f2-f1=Q 6.Qc6-c7 # 6.Qc6-d6 # 5...f2-f1=R 6.Qc6-c7 # 6.Qc6-d6 # 5...Sg3-h5 6.Qc6-e4 # 6.Qc6-c7 # 6.Qc6-d6 # 6.Sd2-f3 # 5...Sg3-f5 6.Qc6-e4 # 6.Qc6-f6 # 6.Sd2-f3 # 5...Sg3-e4 + 6.Qc6*e4 # 5...Sg6-h4 6.Qc6-c7 # 6.Qc6-f6 # 6.Qc6-d6 # 5...Bf7-d5 6.Qc6*d5 # 6.Qc6-c7 # 6.Qc6-d6 # 5...Bf7-e6 6.Qc6-c7 # 6.Qc6-d6 # 5...Bf7-g8 6.Qc6-c7 # 6.Qc6-d6 # 5...Re8-e6 6.Qc6-d5 # 6.Sd2-f3 # 6.Sd2*c4 # 5...Re8-e7 6.Qc6-f6 # 6.Qc6-d6 # 6.Sd2-f3 # 5...Re8-c8 6.Sd2-f3 # 5...Re8-d8 6.Qc6-f6 # 6.Sd2-f3 # 4...Se2-c3 5.Qh1*h2 + 5...Sg6-f4 6.Qh2*f4 # 4...Bf7-d5 5.Qh1-e4 + 5...Bd5*e4 6.Sd2*c4 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1984 distinction: 1st Prize algebraic: white: [Kg6, Qe4, Re1, Rc8, Bh3, Bf8, Se5, Sd3, Ph7, Ph5, Pf3, Pb3] black: [Ke6, Qa8, Rb7, Rb6, Bh6, Bb1, Sg4, Sc1, Pg7, Pg5, Pd7, Pa2] stipulation: "s#3" solution: | "1.Re1-d1 ! threat: 2.Sd3-f4 + 2...g5*f4 3.Qe4-f5 + 3...Bb1*f5 # 1...Bb1*d3 2.Qe4-f5 + 2...Ke6-d5 + 3.Se5-c6 + 3...Sg4-e5 # 1...Sc1*d3 2.Rc8-e8 + 2...Qa8*e8 + 3.Se5-f7 + 3...Sd3-e5 #" --- authors: - Вукчевић, Милан Радоје source: feenschach source-id: 72/4261 date: 1984-12 distinction: 2nd Prize algebraic: white: [Kd1, Qe5, Bd6, Bc6, Sf3, Sd7, Pe4, Pe3, Pb5] black: [Kc4, Qa5, Rh1, Rc2, Bh5, Bg1, Sa7, Ph2, Pg6, Pf4, Pd3, Pd2, Pb3, Pa4] stipulation: "s#14" solution: | "1.exf4? [2.Qc5+] Rc3! 1.Qe6+ Kc3 2.Qf6+ Kc4 3.Sde5+ Kc3 4.Sg4+ Kc4 5.Sfe5+ Kc3 6.Sd7+ Kc4 7.Qe6+ Kc3 8.Qe5+ Kc4 9.exf4! Rc3 10.Qe6+ Kd4 11.Qf6+ Kc4 12.Sde5+ Kd4 13.Sf3+ Kc4 14.Se3+ Bxe3#" keywords: - Logical problem --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1993 algebraic: white: [Ka5, Be8, Sh7, Pf7, Pc6, Pc4, Pb3, Pa6] black: [Kc5, Rg5, Re2, Bd2, Pg7, Pe6, Pd6, Pd4, Pd3, Pc7, Pb4, Pa7] stipulation: "#7" solution: --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1992 algebraic: white: [Kd3, Qd2, Ra8, Be5, Bc2, Sd7, Sd4, Pf4, Pe3, Pe2, Pb4] black: [Kb2, Qg6, Rh4, Rg5, Bh1, Ba1, Sh6, Sg7, Pg2, Pf5, Pe6, Pd5, Pc7, Pb5, Pa2] stipulation: "s#19" solution: --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1993 distinction: 1st Prize algebraic: white: [Ka2, Qd2, Re4, Bh1, Bf2, Sg5, Sd4, Pe5, Pc5] black: [Kc4, Qh5, Rh7, Bg1, Sd8, Sd7, Pd3, Pa5] stipulation: "#3" solution: | "1.Qd2-b2 ! threat: 2.Qb2-b3 + 2...Kc4*c5 3.Qb3-b5 # 1...a5-a4 2.Sd4-c2 + 2...Kc4-d5 3.Sc2-b4 # 2.Sd4-c6 + 2...Kc4-d5 3.Sc6-b4 # 1...Qh5-d1 2.Sd4-e2 + 2...Kc4-d5 3.Re4-h4 # 1...Qh5-e2 2.Sd4*e2 + 2...Kc4-d5 3.Re4-h4 # 1...Qh5-f7 2.Sd4-f5 + 2...Kc4-d5 3.Re4-h4 # 1...Sd7*c5 2.Sd4-c6 + 2...Kc4-d5 3.Re4-d4 # 2...Sc5*e4 3.Qb2-b3 # 1...Sd7*e5 2.Sd4-e6 + 2...Kc4-d5 3.Re4-d4 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1992 algebraic: white: [Ka8, Qc3, Rc4, Sd7, Pg4, Pe7] black: [Kd5, Qh4, Rh5, Bg1, Bf3, Sf1, Sc1, Ph7, Pe6, Pe4, Pd3, Pa7] stipulation: "#3" solution: | "1.Rc4-c8 ! threat: 2.Sd7-f6 + 2...Qh4*f6 3.Rc8-d8 # 2...Kd5-d6 3.Qc3-c7 # 1...Bg1-b6 2.Sd7*b6 + 2...Kd5-d6 3.Qc3-c7 # 2...a7*b6 3.Rc8-d8 # 1...e4-e3 2.Qc3-c5 + 2...Kd5-e4 3.Qc5-c4 # 1...Qh4*e7 2.Qc3-c4 + 2...Kd5-d6 3.Qc4-c6 # 1...Kd5-d6 2.e7-e8=S + 2...Kd6*d7 3.Qc3-c7 # 2...Kd6-d5 3.Qc3-c4 # 2...Kd6-e7 3.Qc3-g7 # 1...e6-e5 2.Qc3-c6 + 2...Kd5-d4 3.Qc6-c5 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1991 distinction: 2nd Prize algebraic: white: [Kh1, Qe6, Rf3, Rc2, Bd4, Sd2] black: [Ka1, Qg6, Rf8, Rb8, Bh8, Ph5, Pg5, Pe4, Pd5, Pc6, Pc5, Pc3, Pb6] stipulation: "#3" solution: | "1.Qe6-e7 ! threat: 2.Qe7-a7 # 1...Qg6-h7 2.Qe7-f6 threat: 3.Bd4*c3 # 3.Rf3-f1 # 2...e4*f3 3.Bd4*c3 # 2...c5*d4 3.Rf3-f1 # 2...Qh7-f5 3.Bd4*c3 # 2...Rf8*f6 3.Bd4*c3 # 2...Bh8*f6 3.Rf3-f1 # 1...Qg6-f7 2.Bd4-f6 threat: 3.Rf3-f1 # 2...e4*f3 3.Qe7-e1 # 2...Qf7*f6 3.Qe7-a7 # 1...Qg6-g7 2.Rf3-f6 threat: 3.Bd4*c3 # 2...c5*d4 3.Qe7-a3 # 2...Qg7*f6 3.Qe7-a7 # 1...Rb8-b7 2.Qe7*b7 threat: 3.Qb7-a6 # 3.Qb7-a7 # 2...Qg6-h7 3.Qb7-a6 # 2...Qg6-f7 3.Qb7-a6 # 2...Qg6-g7 3.Qb7-a6 # 2...Rf8-f7 3.Qb7-a6 # 2...Rf8-a8 3.Qb7*a8 # 3.Rf3-f1 # 1...Rb8-a8 2.Rf3*f8 threat: 3.Rf8-f1 # 3.Rf8*a8 # 2...Qg6-f5 3.Rf8*a8 # 2...Qg6-e8 3.Rf8-f1 # 2...Qg6-f7 3.Rf8*a8 # 2...Qg6-f6 3.Rf8*a8 # 2...Qg6-g8 3.Rf8-f1 # 2...Ra8-a2 3.Rf8-f1 # 2...Ra8-a3 3.Rf8-f1 # 2...Ra8-a4 3.Rf8-f1 # 2...Ra8-a5 3.Rf8-f1 # 2...Ra8-a6 3.Rf8-f1 # 2...Ra8-a7 3.Rf8-f1 # 3.Qe7*a7 # 2...Ra8*f8 3.Qe7-a7 # 2...Ra8-e8 3.Qe7-a7 # 3.Rf8-f1 # 2...Ra8-d8 3.Rf8-f1 # 3.Qe7-a7 # 2...Ra8-c8 3.Qe7-a7 # 3.Rf8-f1 # 2...Ra8-b8 3.Rf8-f1 # 3.Qe7-a7 # 2...Bh8-f6 3.Rf8*a8 # 1...Rf8-f7 2.Qe7-a7 + 2...Rf7*a7 3.Rf3-f1 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1991 algebraic: white: [Kh1, Qg1, Re1, Bf7, Se4, Sb2, Pg4, Pg3, Pf5, Pf3, Pd5, Pb7] black: [Ke5, Qh6, Rb4, Rb3, Bb5, Sd2, Sc7, Ph3, Pf6] stipulation: "#3" solution: | "1.Qg1-c5 ! threat: 2.d5-d6 + 2...Sc7-d5 3.Qc5*d5 # 1...Rb3-d3 2.b7-b8=Q threat: 3.Qb8*c7 # 2...Sd2-c4 3.Sb2*d3 # 2...Qh6-f8 3.f3-f4 # 2.b7-b8=B threat: 3.Bb8*c7 # 2...Sd2-c4 3.Sb2*d3 # 2...Qh6-f8 3.f3-f4 # 1...Rb3-c3 2.Qc5*c3 + 2...Rb4-d4 3.Qc3*c7 # 1...Rb4-c4 2.Se4-g5 + 2...Sd2-e4 3.f3-f4 # 2...Rb3-e3 3.Sb2-d3 # 2...Rc4-e4 3.f3-f4 # 1...Bb5-c4 2.Se4-c3 + 2...Sd2-e4 3.Re1*e4 # 2...Bc4-e2 3.Sb2-d3 # 2...Qh6-e3 3.f3-f4 # 1...Bb5-c6 2.d5*c6 + 2...Sc7-d5 3.Qc5*d5 # 2.Se4-c3 + 2...Sd2-e4 3.Sb2-d3 # 2...Rb4-e4 3.Sb2-d3 # 2...Qh6-e3 3.Sb2-d3 # 2.Se4-g5 + 2...Sd2-e4 3.f3-f4 # 2...Rb3-e3 3.Sb2-d3 # 2...Rb4-e4 3.f3-f4 # 1...Qh6-e3 2.Qc5-d6 + 2...Ke5-d4 3.Qd6*f6 # 1...Sc7-a6 2.b7-b8=Q + 2...Sa6-c7 3.Qb8*c7 # 2...Sa6*b8 3.d5-d6 # 2.b7-b8=B + 2...Sa6-c7 3.Bb8*c7 # 2...Sa6*b8 3.d5-d6 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1991 algebraic: white: [Ka2, Rf8, Sh4, Pf3] black: [Ke6, Qh6, Re8, Sd7, Sb6, Pa4] stipulation: "h#3" solution: | "1.Ke6-d6 f3-f4 2.Re8-e6 Rf8-c8 3.Sb6-d5 Sh4-f5 # 1.Ke6-e5 Ka2-b2 2.Qh6-d6 Kb2-c3 3.Re8-e6 Rf8-f5 # 1.Qh6-f4 Sh4-g6 2.Qf4-d6 f3-f4 3.Sb6-d5 f4-f5 #" --- authors: - Вукчевић, Милан Радоје source: Šahovski Vjesnik date: 1951 distinction: 3rd Prize algebraic: white: [Kh1, Qf5, Rg7, Bg2, Pg3, Pe5, Pe3, Pc6, Pb2] black: [Ke1, Qa1, Rc1, Ra3, Bd1, Bb8, Sa8, Ph2, Pg6, Pe4, Pe2, Pd2, Pc7, Pc2, Pb3] stipulation: "#4" solution: | "1.Qf5-f8 ! threat: 2.Rg7-f7 threat: 3.Rf7-f1 + 3...e2*f1=Q + 4.Qf8*f1 # 3...e2*f1=S 4.Qf8*f1 # 3...e2*f1=R + 4.Qf8*f1 # 3...e2*f1=B 4.Qf8*f1 # 1...Ra3-a7 2.Qf8-f6 threat: 3.Rg7-f7 threat: 4.Qf6-f2 # 1.Qf5-g5 ! threat: 2.g3-g4 threat: 3.Qg5-h4 # 2...Ke1-f2 3.Qg5-f4 + 3...Kf2-e1 4.Qf4-g3 # 1...Ke1-f2 2.Rg7-f7 + 2...Kf2-e1 3.Qg5-f4 threat: 4.Qf4-f2 # 3.Qg5-f6 threat: 4.Qf6-f2 # 3.g3-g4 threat: 4.Qg5-h4 # 2.Qg5-f4 + 2...Kf2-e1 3.g3-g4 threat: 4.Qf4-g3 # 3.Rg7-f7 threat: 4.Qf4-f2 #" --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) source-id: 17/397 date: 1953-08 algebraic: white: [Ka8, Rb6, Bh2, Bf1] black: [Kd4] stipulation: "h#2" twins: b: Move d4 e4 c: Move b6 b7 d: Move b6 c8 e: Move b6 h3 solution: | "a) 1.Kd4-e4 Rb6-g6 2.Ke4-f5 Bf1-d3 # b) bKd4--e4 1.Ke4-d4 Rb6-b2 2.Kd4-c3 Bh2-e5 # c) wRb6--b7 1.Kd4-d5 Rb7-f7 2.Kd5-e6 Bf1-c4 # d) wRb6--c8 1.Kd4-e3 Rc8-c1 2.Ke3-d2 Bh2-f4 # e) wRb6--h3 1.Kd4-c5 Rh3-a3 2.Kc5-b4 Bh2-d6 # 1.Kd4-c5 Rh3-c3 + 2.Kc5-b6 Bh2-c7 # {(Cook)}" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1992 algebraic: white: [Kh4, Re8, Bg3, Sh1, Ph6, Ph5, Ph3, Pe2, Pc5] black: [Kf5, Pf6] stipulation: "s#23" solution: --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1992 algebraic: white: [Kc5, Qh6, Rd4, Ra5, Bc4, Sh4, Sd6, Pg7, Pg3, Pe2, Pc6, Pc3, Pb4] black: [Ke5, Qf2, Rb1, Be7, Pg5, Pg2, Pf7, Pd7, Pa7, Pa6] stipulation: "#2" solution: | "1...Qf6[a]/Qxg3 2.Re4#[B] 1...Qf4/Qf5/Qxe2[b] 2.Rd5#[A] 1...Rxb4 2.Kxb4# 1...Qf1 2.Rd5#[A]/Re4#[B] 1...Qf3/Qg1 2.Nxf3# 1...Qe1 2.Rd5#[A]/Re4#[B]/Nf3# 1...Qxd4+ 2.cxd4# 1...Bf6 2.Nxf7# 1...Bxd6+ 2.Qxd6# 1...f6 2.Ng6# 1...dxc6 2.Kxc6# 1.Bxf7[C]? (2.Kc4#) 1...Qxe2[b] 2.Rd5#[A] 1...Qxf7[c] 2.Re4#[B] 1...Rxb4 2.Kxb4# 1...Qf3 2.Nxf3# 1...Qxd4+ 2.cxd4# 1...Bxd6+ 2.Qxd6# 1...Bd8 2.Nc4# 1...dxc6 2.Kxc6#/Qe6# but 1...Ra1! 1.Bb3[D]? (2.Kc4#) 1...Qf6[a] 2.Re4#[B] 1...Qxe2[b] 2.Rd5#[A] 1...Qf3 2.Nxf3# 1...Qxd4+ 2.cxd4# 1...Bf6 2.Nxf7# 1...Bxd6+ 2.Qxd6# 1...Bd8 2.Nc4# 1...dxc6 2.Kxc6# 1...f6 2.Ng6# but 1...Ra1! 1.e3? (2.Rd5#[A]/Re4#[B]) 1...Rd1/Qf6[a] 2.Re4#[B] 1...Qf3 2.Nxf3# 1...Qf4/Qf5/f5 2.Rd5#[A] 1...Qd2 2.Re4#[B]/Nf3# 1...Qc2 2.Nf3#/Rd5#[A] 1...Bf6 2.Re4#[B]/Nxf7# 1...Bxd6+ 2.Qxd6# 1...f6 2.Re4#[B]/Ng6# 1...dxc6 2.Kxc6#/Re4#[B] but 1...Qxe3! 1.Qf6+?? 1...Qxf6[a] 2.Re4#[B] 1...Bxf6 2.Nxf7# but 1...Kxf6! 1.Qxg5+?? 1...Qf5 2.Nf3#/Qxf5#/Re4#[B] 1...f5 2.Ng6#/Qxe7# but 1...Bxg5! 1.Ng6+?? 1...Kf6 2.g8N# but 1...fxg6! 1.Ba2[E]! (2.Kc4#) 1...Qf6[a] 2.Re4#[B] 1...Qxe2[b] 2.Rd5#[A] 1...Rxb4 2.Kxb4# 1...Qf3 2.Nxf3# 1...Qxd4+ 2.cxd4# 1...Bf6 2.Nxf7# 1...Bxd6+ 2.Qxd6# 1...Bd8 2.Nc4# 1...dxc6 2.Kxc6# 1...f6 2.Ng6#" keywords: - Defences on same square - Barulin (A) - Rudenko --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1992 algebraic: white: [Qf8, Rc8, Rb8, Bg6, Bd2, Sh2, Sc4, Pf2] black: [Kd7, Qh1, Rh7, Ra2, Bg8, Sd5, Pg3, Pf7, Pf6, Pf3, Pe6, Pd6, Pb4, Pa5] stipulation: "#6" solution: keywords: - "Position?" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1992 algebraic: white: [Kg1, Rf3, Ra6, Bd8, Sd5, Ph5, Pd7] black: [Ke5, Qe6, Ra1, Bb1, Se7, Pg7, Pg5, Pf7, Pa2] stipulation: "h#2" solution: | "1.Qe6-f5 Sd5-b6 2.Ke5-f6 Sb6-c4 # 1.Se7-f5 Sd5-e7 2.Ke5-f6 Se7-g6 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1992 algebraic: white: [Kg4, Qc3, Rh7, Re5, Bg8, Ba7, Se6, Sb4, Pf7, Pc7] black: [Kd6, Qa5, Rf6, Rd4, Be8, Bd8, Se2, Sb6, Pg5, Pf4, Pe4] stipulation: "#2" solution: | "1...Kd7 2.cxd8Q# 1...Ke7 2.f8Q#/f8B# 1...Qxe5/Rd3/Rd2/Rd1/Rd5/Rc4/Rxb4 2.fxe8N# 1...Bxc7 2.Qxc7# 1.Qc5+?? 1...Kd7 2.cxd8Q#/cxd8R# but 1...Qxc5! 1.Qxd4+?? 1...Ke7 2.Qxd8#/f8Q#/f8B#/cxd8Q#/cxd8B# 1...Nd5/Qd5 2.fxe8N# but 1...Nxd4! 1.Bb8! (2.cxd8Q#) 1...Kxe5 2.cxd8N# 1...Ke7 2.f8Q#/f8B# 1...Qxe5 2.fxe8N# 1...Be7 2.c8Q#/c8B# 1...Bxc7 2.Qxc7# 1...Nd7 2.c8N#" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1992 algebraic: white: [Kg8, Qd4, Rd8, Be4, Ba1, Sh7, Pf6, Pf4] black: [Ke6, Qb1, Rf2, Rb5, Bc6, Ba3, Sc4, Sa5, Pg4] stipulation: "#2" solution: | "1...Rb3/Rbb2[a]/Rb6/Rb7/Rb8/Rg5+/Bc5/Bd5 2.Ng5#[B] 1...Nd6/Rc5/Bb2[b]/Bc1/Bf8 2.Nf8#[A] 1...Rb4 2.Ng5#[B]/Nf8#[A] 1...Bxe4/Bd7/Bb7/Ba8 2.Qd7# 1.Rd6+?? 1...Nxd6 2.Nf8#[A] but 1...Bxd6! 1.Re8+?? 1...Be7 2.Nf8#[A]/Rxe7# but 1...Bxe8! 1.Qd5+?? 1...Bxd5 2.Ng5#[B] but 1...Rxd5! 1.Qd6+?? 1...Nxd6 2.Nf8#[A] but 1...Bxd6! 1.Qxc4+?? 1...Rd5 2.Ng5#[B] 1...Bd5 2.Ng5#[B]/Qc8# but 1...Nxc4! 1.Qc5! (2.Ng5#[B]/Nf8#[A]) 1...Rbb2[a] 2.Qf5#[C] 1...Bb2[b] 2.Qe7#[D] 1...Ne5/Nb2 2.Rd6# 1...Rfb2 2.f5# 1...Qb2/Qxa1 2.Bf5# 1...Rxc5 2.Nf8#[A] 1...Bxc5 2.Ng5#[B]" keywords: - Defences on same square - Grimshaw - Novotny - Changed mates - Mates on same square --- authors: - Вукчевић, Милан Радоје source: The British Chess Magazine date: 1970 algebraic: white: [Kc5, Qc3, Re1, Rb6, Be8, Sg8, Sf7, Ph3, Pg4, Pb2] black: [Ke6, Rh6, Rh5, Be2, Sc6, Ph7, Ph4, Pg6, Pg5, Pc2, Pb7] stipulation: "s#2" solution: | "1.b2-b4 ! zugzwang. 1...c2-c1=Q 2.Qc3-c4 + 2...Qc1*c4 # 1...c2-c1=S 2.Qc3-b3 + 2...Sc1*b3 # 1...c2-c1=R 2.Sf7*g5 + 2...Rh5*g5 # 1...c2-c1=B 2.Qc3-e3 + 2...Bc1*e3 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin source-id: 3334 date: 1995 distinction: HM, 1995-1997 algebraic: white: [Kf2, Qb1, Rh4, Bg5, Be6, Sh6, Sd3, Pe5, Pe4, Pc2] black: [Kd4, Qh7, Ra4, Bc6, Se7, Sc4, Ph5, Pf3, Pd6, Pc3, Pa7, Pa5] stipulation: "#3" solution: | "1.Qb1-b5 ! threat: 2.Qb5*c4 + 2...Ra4*c4 3.Bg5-e3 # 1...Bc6*b5 2.Sh6-f5 + 2...Se7*f5 3.e4*f5 # 2...Qh7*f5 3.e4*f5 # 1...Bc6-d5 2.e5*d6 threat: 3.Qb5-c5 # 1...Se7-d5 2.e4*d5 + 2...Qh7-e4 3.Sh6-f5 # 1...Se7-f5 2.e4*f5 + 2...Bc6-e4 3.Qb5-d5 # 1...Qh7*h6 2.Qb5-d5 + 2...Bc6*d5 3.e4*d5 # 2...Se7*d5 3.e4*d5 #" --- authors: - Вукчевић, Милан Радоје source: 1st WCCT date: 1972 distinction: 6th Place, 1972-1975 algebraic: white: [Kc7, Rh1, Rc5, Be3, Bd1, Sg5, Ph5, Pg3] black: [Kh6, Rc4, Rc2, Bh3, Sf3, Pg6, Pe4] stipulation: "h#2" intended-solutions: 2 solution: | "1.Sf3-e5 Sg5-f3 + 2.Kh6*h5 Sf3-d2 # 1.Bh3-f5 Sg5-h3 + 2.Kh6*h5 Sh3-f2 #" --- authors: - Вукчевић, Милан Радоје source: Wola Gułowska date: 1996 distinction: 1st Prize algebraic: white: [Kg5, Qh7, Rg3, Rd8, Ba6, Se4, Pg4, Pg2, Pe3, Pc4] black: [Kd3, Qd4, Rc6, Rc3, Bg1, Bc2, Sd6, Sd5, Pg7, Pf7, Pe6, Pe5, Pe2, Pc7] stipulation: "h#2" twins: b: Move c6 c5 c: Move c6 c8 solution: | "a) 1.Qd4*e4 c4*d5 + 2.Sd6-c4 d5*c6 # b) bRc6--c5 1.Sd6*c4 e3*d4 + 2.Sd5-e3 d4*c5 # c) bRc6--c8 1.Sd5*e3 Se4*d6 + 2.Qd4-e4 Sd6*c8 #" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1976 distinction: 5th HM algebraic: white: [Kh2, Rg3, Re5, Be4] black: [Kb7, Rc6, Bh7, Bc7, Sb6, Pf5, Pd7, Pb5] stipulation: "h#2" twins: b: Add Black Sc6 solution: | "a) 1.Kb7-c8 Rg3-c3 2.Rc6-d6 Re5-e8 # b) bSc6 1.Kb7-a6 Re5-e6 2.Sc6-e5 Rg3-a3 #" --- authors: - Вукчевић, Милан Радоје source: Mat Plus date: 1997 algebraic: white: [Kf7, Qe7, Rh2, Re8, Bd2, Sc8, Sa5, Pf2, Pc3, Pb4] black: [Kd5, Qa8, Rd6, Ra6, Bd8, Bb7, Pg6, Pf6, Pf5, Pc4, Pb5] stipulation: "#3" solution: | "1.f2-f3 ! threat: 2.Qe7-e4 + 2...f5*e4 3.f3*e4 # 1...Rd6-d7 2.Qe7*d7 + 2...Ra6-d6 3.Qd7*b5 # 3.Qd7*d6 # 1...Bd8*a5 2.Qe7-e5 + 2...Kd5-c6 3.Qe5*d6 # 2...f6*e5 3.Sc8-e7 # 1...Bd8*e7 2.Bd2-f4 threat: 3.Sc8*e7 # 3.Rh2-d2 # 2...Ra6*a5 3.Sc8*e7 # 2...Rd6-d7 3.Rh2-d2 # 2...Rd6-e6 3.Rh2-d2 # 2...Bb7*c8 3.Rh2-d2 # 2...Be7-f8 3.Rh2-d2 # 2...Be7-d8 3.Rh2-d2 # 2...Qa8-a7 3.Sc8*e7 # 2...Qa8*c8 3.Rh2-d2 #" --- authors: - Вукчевић, Милан Радоје source: Mat Plus date: 1997 distinction: 3rd Prize algebraic: white: [Kc6, Rh5, Ra4, Be8, Bb8, Sd6, Sb5, Ph6, Pf5, Pf2, Pe6, Pd5, Pd4, Pc5, Pc2] black: [Kf4, Qd1, Bh7, Ba1, Pf3] stipulation: "#3" solution: | "1.Bb8-c7 ! threat: 2.Rh5-h4 + 2...Kf4-g5 3.Bc7-d8 # 1...Ba1*d4 2.Sd6-e4 + 2...Kf4*e4 3.Sb5-c3 # 2...Bd4-e5 3.Se4-d2 # 2...Kf4-g4 3.Se4-f6 # 1...Qd1*d4 2.Sd6-c4 + 2...Qd4-e5 3.Sc4-b2 # 2...Kf4-g4 3.Sc4-e3 # 2...Kf4-e4 3.Sc4-d2 # 1...Qd1-h1 2.Sd6-c4 + 2...Kf4-g4 3.Sc4-e3 # 2...Kf4-e4 3.Sc4-d2 # 1...Qd1-g1 2.Sd6-c4 + 2...Kf4-g4 3.Sc4-e3 # 2...Kf4-e4 3.Sc4-d2 # 1...Kf4-g4 2.Sd6-e4 threat: 3.Se4-f6 # 1...Bh7*f5 2.Sd6*f5 + 2...Kf4-e4 3.Sf5-g3 # 2...Kf4-g4 3.Sf5-e3 #" --- authors: - Вукчевић, Милан Радоје source: Liga Problemista date: 1998 distinction: 1st Place algebraic: white: [Ka1, Qd4, Rd5, Bg2, Bf2, Sg4, Sd1, Pf3, Pe4, Pd2, Pc4] black: [Ke2, Qe7, Rb6, Ba6, Sd7, Pf6, Pf4, Pb4, Pa2] stipulation: "#3" solution: | "1. Qb2! [2. Qc2 2... Qe5+ 3. d4# 2... Q:e4 3. d3# 2... b3 3. Sc3#] 1... Qe5 2. d4+ 2... K:d1 3. d:e5# 2... Kd3 3. Bf1# 1... Q:e4 2. d3+ 2... K:d1 3. d:e4# 1... Bb5 2. Sc3+ 2... b:c3 3. d:c3# 1... B:c4 2. d3+ 2... K:d1 3. d:c4# 1... K:d1 2. Sge3+ 2... f:e3 3. d:e3# 2... Ke2 3. d3#" keywords: - Albino - Active sacrifice --- authors: - Вукчевић, Милан Радоје source: Ohio Chess Bulletin date: 1981 algebraic: white: [Ka4, Qe2, Bc6, Pd6] black: [Ka7, Bb6, Pe6, Pa6] stipulation: "#3" solution: | "1.Bc6-h1 ! threat: 2.Qe2-f3 threat: 3.Qf3-a8 # 3.Qf3-b7 # 2...Bb6-a5 3.Qf3-b7 # 2...Bb6-g1 3.Qf3-b7 # 2...Bb6-f2 3.Qf3-b7 # 2...Bb6-e3 3.Qf3-b7 # 2...Bb6-d4 3.Qf3-b7 # 2...Bb6-c5 3.Qf3-b7 # 2...Bb6-d8 3.Qf3-b7 # 2...Bb6-c7 3.Qf3-b7 # 2.Qe2-e4 threat: 3.Qe4-a8 # 3.Qe4-b7 # 2...Bb6-a5 3.Qe4-b7 # 2...Bb6-g1 3.Qe4-b7 # 2...Bb6-f2 3.Qe4-b7 # 2...Bb6-e3 3.Qe4-b7 # 2...Bb6-d4 3.Qe4-b7 # 2...Bb6-c5 3.Qe4-b7 # 2...Bb6-d8 3.Qe4-b7 # 2...Bb6-c7 3.Qe4-b7 # 2.Qe2-g2 threat: 3.Qg2-a8 # 3.Qg2-b7 # 2...Bb6-a5 3.Qg2-b7 # 2...Bb6-g1 3.Qg2-b7 # 2...Bb6-f2 3.Qg2-b7 # 2...Bb6-e3 3.Qg2-b7 # 2...Bb6-d4 3.Qg2-b7 # 2...Bb6-c5 3.Qg2-b7 # 2...Bb6-d8 3.Qg2-b7 # 2...Bb6-c7 3.Qg2-b7 # 1...Bb6-g1 2.Qe2-g2 threat: 3.Qg2-b7 # 2...Ka7-b6 3.Qg2*g1 # 1...Bb6-f2 2.Qe2-f3 threat: 3.Qf3-b7 # 2...Ka7-b6 3.Qf3*f2 # 1...Bb6-e3 2.Qe2-f3 threat: 3.Qf3-b7 # 2...Ka7-b6 3.Qf3*e3 # 1...Bb6-d4 2.Qe2-e4 threat: 3.Qe4-b7 # 2...Ka7-b6 3.Qe4*d4 # 1...e6-e5 2.Qe2-e4 threat: 3.Qe4-a8 # 3.Qe4-b7 # 2...Bb6-a5 3.Qe4-b7 # 2...Bb6-g1 3.Qe4-b7 # 2...Bb6-f2 3.Qe4-b7 # 2...Bb6-e3 3.Qe4-b7 # 2...Bb6-d4 3.Qe4-b7 # 2...Bb6-c5 3.Qe4-b7 # 2...Bb6-d8 3.Qe4-b7 # 2...Bb6-c7 3.Qe4-b7 # 1...Ka7-b8 2.Qe2*a6 threat: 3.Qa6-b7 # 3.Qa6-a8 # 2...Bb6-a7 3.Qa6-b7 #" --- authors: - Вукчевић, Милан Радоје source: ïah date: 1951 algebraic: white: [Kd3, Re4, Bf8, Be8, Sc4, Sb5, Pa3] black: [Kd5, Qa6, Bb8, Pd4] stipulation: "#3" solution: | "1.Be8-d7 ! threat: 2.Re4*d4 # 1...Qa6*a3 + 2.Bf8*a3 threat: 3.Re4*d4 # 3.Sc4-b6 # 2...Bb8-a7 3.Sb5-c7 # 3.Re4-e5 # 2...Bb8-e5 3.Re4*e5 # 3.Sc4-b6 # 2...Bb8-c7 3.Sb5*c7 # 3.Re4*d4 # 1...Qa6-a7 2.Sc4-e3 + 2...d4*e3 3.Sb5-c3 # 1...Qa6-g6 2.Sc4-e3 + 2...d4*e3 3.Sb5-c3 # 2.Sb5-c3 + 2...d4*c3 3.Sc4-e3 # 1...Qa6-f6 2.Sb5-c3 + 2...d4*c3 3.Sc4-e3 # 1...Qa6-d6 2.Re4-e5 + 2...Qd6*e5 3.Sc4-b6 # 1...Qa6-b6 2.Sc4*b6 # 1...Bb8-a7 2.Sb5-c7 # 2.Re4-e5 # 1...Bb8-e5 2.Re4*e5 # 1...Bb8-d6 2.Sb5-c7 + 2...Kd5-c5 3.Re4-e5 # 2...Bd6*c7 3.Re4*d4 #" --- authors: - Вукчевић, Милан Радоје source: Ohio Chess Bulletin date: 1980 algebraic: white: [Ka3, Rb1, Bg3, Be2, Sf4, Pb4] black: [Kh1, Qg1, Pg4] stipulation: "#3" solution: | "1.Be2-d1 ! zugzwang. 1...Qg1-h2 2.Bd1-f3 # 1...Qg1-a7 + 2.Bd1-a4 + 2...Qa7-g1 3.Ba4-c6 # 1...Qg1-b6 2.Bd1-f3 # 1...Qg1-c5 2.Bd1-f3 # 1...Qg1-d4 2.Bd1-f3 # 1...Qg1-e3 + 2.Bd1-b3 + 2...Qe3-c1 + 3.Rb1*c1 # 2...Qe3-g1 3.Bb3-d5 # 2...Qe3-e1 3.Rb1*e1 # 1...Qg1-f2 2.Bd1-f3 # 1...Qg1*d1 2.Rb1*d1 # 1...Qg1-e1 2.Bd1-f3 + 2...Kh1-g1 3.Rb1*e1 # 2...g4*f3 3.Rb1*e1 # 1...Qg1-f1 2.Bd1-f3 + 2...Kh1-g1 3.Sf4-e2 # 2...g4*f3 3.Rb1*f1 # 1...Qg1*g3 + 2.Bd1-f3 + 2...Kh1-h2 3.Rb1-h1 # 1...Qg1-g2 2.Bd1-f3 #" --- authors: - Вукчевић, Милан Радоје source: LA Times date: 1979 distinction: 3rd Prize algebraic: white: [Kb1, Qb6, Bc5, Ba6, Sg4, Sa4, Pe5, Pe2, Pd4, Pb5, Pb4, Pa2] black: [Kc4, Qh7, Re7, Bg7, Sc8, Sa1, Ph6, Pg6, Pg5, Pf4, Pd5] stipulation: "#3" solution: | "1... R:e5 2. Qf6 [3. b6, S:e5#] 2... Sa7 3. S:e5# 2... B:f6 3. b6# 1... B:e5 2. Qe6 [3. b6, S:e5#] 2... Sa7 3. S:e5# 2... R:e6 3. b6# 1. Kb2! [2. Qb7 , 2. Qc7 [3. b6#] 1... R:e5 2. Qe6 [3. b6#] 2... Sa7/b6/d6 3. S(:)b6# 2... R:e2+ 3. Q:e2# 1... B:e5 2. Qf6 [3. b6#] 2... Ra7 3. S:e5# 2... B:d4+ 3. Q:d4# (1... Q(g)h8 2. Q:g6 [3. Qd3, b6#] 2... Qe8, Ra7 3. Qd3# 2... Qh7 3. b6# 1... Sc2 2. K:c2 ad lib 3. Sb2# 1... Rc(b,a)7 2. Q:R [3. b6#]" keywords: - Defences on same square - Reciprocal - Clearance sacrifice - Ambush - Platzwechsel --- authors: - Вукчевић, Милан Радоје source: Schakend Nederland date: 1982 distinction: 2nd Prize algebraic: white: [Kf3, Qg7, Rf8, Bc6, Bb6, Se5, Sa1, Pg4, Pd6, Pb5, Pb2] black: [Kd4, Qa4, Rc5, Rc3, Be1, Bd1, Sb7, Ph6, Pg5, Pf4, Pe3, Pe2, Pd2, Pb4, Pa2] stipulation: "#3" solution: | "1.Kf3-g2 ! threat: 2.Se5-f3 + 2...Kd4-c4 3.Qg7-d4 # 2...Kd4-d3 3.Qg7-d4 # 1...Rc3-c4 2.Qg7-g6 threat: 3.Qg6-e4 # 3.Se5-f3 # 2...Bd1-c2 3.Se5-f3 # 2...Qa4-c2 3.Se5-f3 # 2...Rc4-c1 3.Qg6-e4 # 2...Rc4-c2 3.Qg6-e4 # 2...Rc4-c3 3.Qg6-e4 # 2...Kd4*e5 3.Qg6-f6 # 2...f4-f3 + 3.Se5*f3 # 2...Sb7*d6 3.Qg6*d6 # 3.Se5-f3 # 1...Rc3-d3 2.Qg7-f7 threat: 3.Qf7-d5 # 3.Se5-f3 # 2...Bd1-b3 3.Se5-f3 # 2...Rd3-a3 3.Qf7-d5 # 2...Rd3-b3 3.Qf7-d5 # 2...Rd3-c3 3.Qf7-d5 # 2...Qa4-b3 3.Se5-f3 # 2...Kd4*e5 3.Qf7-f6 # 2...f4-f3 + 3.Se5*f3 # 1...b4-b3 2.Se5-c4 + 2...Kd4*c4 3.Qg7*c3 # 2...Kd4-d3 3.Qg7*c3 #" --- authors: - Вукчевић, Милан Радоје source: Československý šach date: 1956 algebraic: white: [Kd8, Bh8, Bh7, Sg7, Sg2, Ph4, Ph3, Pd4] black: [Kf6, Rg6, Se2, Sb5, Pf7] stipulation: "#3" solution: | "1.Kd8-d7 ! threat: 2.Sg2-e3 threat: 3.Sg7-h5 # 3.Sg7-e8 # 3.Se3-d5 # 2...Se2-f4 3.Sg7-h5 # 3.Sg7-e8 # 2...Se2*d4 3.Sg7-h5 # 3.Sg7-e8 # 2...Se2-c3 3.Sg7-h5 # 3.Sg7-e8 # 2...Sb5-c3 3.Sg7-h5 # 3.Sg7-e8 # 2...Sb5*d4 3.Sg7-h5 # 3.Sg7-e8 # 2...Sb5-c7 3.Sg7-h5 # 3.Sg7-e8 # 2...Rg6-g5 3.Sg7-h5 # 3.Sg7-e8 # 2...Rg6*g7 3.Se3-g4 # 3.Se3-d5 # 1...Se2*d4 2.Sg7-h5 + 2...Kf6-f5 3.Sh5-g3 # 1...Sb5*d4 2.Sg7-e8 + 2...Kf6-f5 3.Se8-d6 #" --- authors: - Вукчевић, Милан Радоје source: Ideal-Mate Review date: 2000 algebraic: white: [Kd7, Qh2, Rh5, Bd4, Pe3, Pc3] black: [Kd3] stipulation: "#3" solution: | "1.Rh5-d5 ! zugzwang. 1...Kd3-e4 2.Qh2-e2 threat: 3.Rd5-e5 # 2...Ke4*d5 3.e3-e4 # 1...Kd3-c4 2.Qh2-c2 threat: 3.Rd5-c5 # 2...Kc4*d5 3.c3-c4 #" keywords: - Passive sacrifice - Echo mates comments: - similar problem 62481 - Anticipated by Maßmann, Wilhelm Karl Heinrich, 1973 140713 - Check also 154607 --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1976 algebraic: white: [Ka4, Qb5, Rf8, Rd5, Bh7, Sg6, Se5, Pg4, Pg2, Pd2, Pc5, Pc3] black: [Ke4, Qf2, Ra7, Bh2, Sg3, Ph6, Pe6, Pd4, Pa5] stipulation: "#2" solution: | "1...Kxd5[a] 2.Qc6#[A] 1...exd5[b]/dxc3/d3 2.Qd3#[B] 1...Qf1/Qf3/Qf4/Qf5/Qf6[c]/Qf7/Qxf8/Qe2/Qxg2/Qe1 2.Rxd4#[C] 1.Nf4+[D]?? 1...Rxh7 2.Qd3#[B] but 1...Nf5! 1.Qb1+?? 1...d3 2.Qxd3#[B] but 1...Kxd5[a]! 1.Nf3? (2.Re5#) 1...Kxd5[a] 2.Nf4#[D] 1...exd5[b] 2.Rf4#[F] 1...Nh1[d]/Nh5[d]/Nf1[d]/Ne2[d] 2.Ne7#[E] but 1...Nf5! 1.d3+?? 1...Kxd5[a] 2.c4#/Qc4#/Qc6#[A] but 1...Ke3! 1.Rd6?? (2.Qd3#[B]/Qc6#[A]) 1...Ra6/Rc7 2.Qd3#[B] 1...Qf1 2.Qc6#[A]/Rxd4#[C] 1...Qf3 2.Rxd4#[C]/gxf3#/Qc6#[A] 1...Qe2 2.Qc6#[A]/Rxd4#[C]/Rf4#[F] 1...Qe3 2.Qc6#[A] but 1...Qxd2! 1.Nd7! (2.Re5#) 1...Kxd5[a] 2.Ne7#[E] 1...exd5[b] 2.Re8#[H] 1...Nf5/Qf6[c] 2.Nf6#[G] 1...Nh1[d]/Nh5[d]/Nf1[d]/Ne2[d] 2.Nf4#[D] 1...Qf4/Qf5 2.Rxd4#[C] 1...dxc3 2.Qd3#[B] 1.Rf4+[F]! 1...Kxd5[a] 2.c4#/Qc4#/Qc6#[A] 1...Qxf4 2.Rxd4#[C]" keywords: - Checking key - Reciprocal - Black correction - Cooked - Zagoruiko --- authors: - Вукчевић, Милан Радоје source: Bukarest-Belgrad date: 1961 distinction: 5th Place algebraic: white: [Ka7, Qg4, Rd2, Rc1, Bg8, Sf7, Se7, Pe6, Pd4, Pc2, Pb2] black: [Kc4, Qa4, Rh3, Re1, Bg7, Bf5, Sg3, Sf6, Pc7, Pb5, Pb4, Pa6] stipulation: "#2" solution: | "1...c6/c5 2.Nd6# 1...Ne2/Nge4/Re5/Rxe6/Rd1/Rxc1/Rf1/Rg1/Reh1/Be4 2.Ne5# 1.Qe2+?? 1...Bd3 2.Qxd3# 1...Nxe2 2.Ne5# but 1...Rxe2! 1.Qxf5?? (2.Qc5#/Qd3#) 1...Rh5 2.Qd3# 1...Nfe4 2.Qd5# 1...Nd5/Nd7 2.Qxd5#/Qd3# 1...Nh1/Ngh5/Nf1/b3/Qa3/Qb3/Re3/Re4 2.Qc5# 1...Ne2 2.Ne5#/Qc5# 1...Nge4 2.Ne5# 1...Qxc2 2.Qd3#/Qxc2# 1...Re5 2.Nxe5#/Qd3# but 1...Nxf5! 1.Qf3! (2.Qc6#) 1...b3 2.Qc3# 1...Nfe4/Re4/Bd3/Bxc2 2.Qd3# 1...Nd5/Nd7 2.Qxd5# 1...Qxc2 2.b3# 1...Nge4/Re5/Rxe6/Be4 2.Ne5# 1...c5 2.Nd6#" keywords: - Grimshaw --- authors: - Вукчевић, Милан Радоје source: Die Schwalbe date: 1962-09 algebraic: white: [Ka7, Qg5, Rd3, Ra5, Bc7, Ba4, Sc5, Sa6, Pf6, Pe5] black: [Kd5, Rc4, Bd4, Se6, Se4, Pc6, Pc3, Pb4] stipulation: "#2" solution: | "1...N4xc5[a] 2.Qg2#[A] 1...N6xc5[b] 2.Qg8#[B] 1...Rxc5 2.Bb3# 1...Nxc7 2.Nxc7# 1.Kb6?? (2.Bxc6#) 1...N6xc5[b] 2.Qg8#[B] 1...Rxc5 2.Bb3# but 1...Nd8! 1.Qg2[A]? (2.Qxe4#[C]) 1...Rxc5 2.Bb3# 1...Nxc5 2.Qg8#[B] but 1...Ng5! 1.Qg8[B]? (2.Qxe6#[D]) 1...Rxc5 2.Bb3# 1...Nxc5 2.Qg2#[A] but 1...Ng5! 1.Qf5? (2.Qxe4#[C]/Qxe6#[D]) 1...N4xc5[a] 2.Qf3#[E] 1...N6g5/N6xc5[b] 2.e6#[F] 1...Rxc5 2.Bb3# 1...Nf2/Ng3/Nd2 2.Qxe6#[D] 1...Nxf6 2.Qxe6#[D]/exf6# 1...Nd6 2.Qxe6#[D]/exd6# 1...Nf4/Nf8/Nd8 2.Qxe4#[C]/e6#[F] 1...Ng7 2.Qxe4#[C] 1...Nxc7 2.Qxe4#[C]/Nxc7# but 1...N4g5! 1.Nb8?? (2.Bxc6#) 1...N6xc5[b] 2.Qg8#[B] 1...Rxc5 2.Bb3# but 1...Nd8! 1.Bb3! (2.Nxb4#) 1...N4xc5[a] 2.Qg2#[A] 1...N6xc5[b] 2.Qg8#[B]" keywords: - Barnes - Changed mates --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) source-id: 3147 date: 1971 distinction: 3rd HM algebraic: white: [Kb6, Qc1, Rf6, Rc2, Bh7, Sf4, Sb5, Pg7, Pe6, Pe4, Pe2, Pd7, Pd5, Pa2] black: [Ke5, Rf7, Re7, Bb1, Sg8, Sf1, Pg5, Pa3] stipulation: "#2" solution: | "1...Bxc2[a]/Bxa2 2.Qa1#[A] 1...Rxf6[b]/Nxf6[c] 2.Nd3#[B] 1...gxf4 2.Qxf4# 1...Rxe6+ 2.Rxe6# 1.Rc4?? (2.Qc3#) 1...Bc2[a] 2.Qa1#[A] 1...Nxf6[c] 2.Ng6# 1...Rxe6+ 2.Rxe6# but 1...Rxf6[b]! 1.Rc5?? (2.Qc3#) 1...Bc2[a] 2.Qa1#[A] 1...Rxf6[b] 2.d6# 1...Rxe6+ 2.Rxe6# but 1...Nxf6[c]! 1.Rb2?? (2.Qc3#) 1...Nxf6[c]/Rxf6[b] 2.Qc7# 1...Rxe6+ 2.Rxe6# but 1...Bc2[a]! 1.Rd2?? (2.Qc3#) 1...Bc2[a] 2.Qa1#[A] 1...Nxf6[c]/Rxf6[b] 2.Qc7# but 1...Rxe6+! 1.Rf5+?? 1...Kxe4 2.Rc4# but 1...Rxf5! 1.Qxb1? (2.Qa1#[A]) 1...Nxf6[c]/Rxf6[b] 2.Nd3#[B] but 1...Rxe6+! 1.Qxf1? (2.Nd3#[B]) 1...Bxc2[a] 2.Qa1#[A] 1...gxf4 2.Qxf4# 1...Rxe6+ 2.Rxe6# but 1...Kxf6! 1.Qd2?? (2.Qd4#/Qc3#) 1...Rxf6[b]/Nxf6[c] 2.Nd3#[B] 1...Rxe6+ 2.Rxe6# but 1...Nxd2! 1.Qe3?? (2.Qc3#/Qd4#) 1...Rxf6[b] 2.Nd3#[B] 1...Nxf6[c] 2.Ng6#/Nd3#[B] 1...Rxe6+ 2.Rxe6# but 1...Nxe3! 1.Qxa3?? (2.Qc3#/Qb2#) 1...Nxf6[c]/Rxf6[b] 2.Qd6#/Nd3#[B] but 1...Rxe6+! 1.Rc8! (2.Qc3#) 1...Bc2[a] 2.Qa1#[A] 1...Nxf6[c]/Rxf6[b] 2.Qc7# 1...Rxe6+ 2.Rxe6#" keywords: - Pseudo Le Grand --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) date: 1956 algebraic: white: [Kb7, Qc2, Rh4, Rd2, Bb2, Sh7, Sd7, Pf5, Pd3, Pc5] black: [Kd5, Rg4, Rg1, Bc3, Pb5, Pb4] stipulation: "#2" solution: | "1...Rd4[a] 2.Nhf6#[B] 1...R4g3/R4g2/Rg5/Rg6/Rg7/Rg8/Bd4[b] 2.Qb3#[A] 1...Rc4 2.dxc4# 1...Bxd2/Bf6 2.Ndf6#/Nb6#/Nhf6#[B] 1...Be5/Bg7/Bh8 2.Nb6# 1.Nhf6+[B]?? 1...Bxf6 2.Nxf6#/Nb6# but 1...Kd4! 1.Rxg4?? (2.Qb3#[A]) but 1...Rxg4! 1.Bxc3?? (2.Nhf6#[B]) 1...Rg6 2.Qb3#[A]/Rd4# but 1...bxc3! 1.Qxc3?? (2.Ndf6#/Nb6#/Nhf6#[B]/Qe5#) 1...Rd4[a] 2.Nhf6#[B]/Rxd4#/Qxd4# 1...Re1 2.Ndf6#/Nb6#/Nhf6#[B] 1...Rg6 2.Rd4#/Qb3#[A]/Qd4#/Qe5# 1...Rg7 2.Nf6#/Rd4#/Qb3#[A]/Qd4#/Qe5# 1...Re4 2.dxe4#/Ndf6#/Nb6#/Nhf6#[B] 1...Rc4 2.Nhf6#[B]/dxc4#/Qe5# but 1...bxc3! 1.Qb3+[A]?? 1...Rc4 2.dxc4# but 1...Kd4! 1.d4! (2.Nb6#) 1...Rg6/Rg7/Rxd4[a] 2.Qb3#[A] 1...Bxd4[b] 2.Nhf6#[B]" keywords: - Active sacrifice - Reciprocal - Flight giving and taking key - Grimshaw --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) date: 1970 distinction: 1st Commendation algebraic: white: [Kb8, Qc1, Re7, Ba2, Se2, Sd7, Ph5] black: [Kc6, Qc4, Ra5, Bb5, Pd6, Pa6, Pa4, Pa3] stipulation: "#2" solution: | "1...Kd5[a] 2.Qh1#[A] 1...d5[b] 2.Qh6#[B] 1...Qc3/Qc2/Qxc1/Qc5 2.Nd4# 1.Kc8?? zz 1...d5[b] 2.Re6#/Qh6#[B] 1...Qc3/Qc2/Qxc1/Qc5 2.Nd4# but 1...Kd5+[a]! 1.Rf7?? zz 1...d5[b] 2.Qh6#[B] 1...Qc3/Qc2/Qxc1/Qc5 2.Nd4# but 1...Kd5[a]! 1.Rg7?? zz 1...d5[b] 2.Qh6#[B] 1...Qc3/Qc2/Qxc1/Qc5 2.Nd4# but 1...Kd5[a]! 1.Rh7?? zz 1...d5[b] 2.Qh6#[B] 1...Qc3/Qc2/Qxc1/Qc5 2.Nd4# but 1...Kd5[a]! 1.h6?? zz 1...Kd5[a] 2.Qh1#[A] 1...Qc3/Qc2/Qxc1/Qc5 2.Nd4# but 1...d5[b]! 1.Bxc4?? (2.Nd4#) 1...d5[b] 2.Qh6#[B] but 1...Bxc4! 1.Nf4?? zz 1...Qc3/Qc2/Qxc1/Qc5 2.Bd5# but 1...d5[b]! 1.Qc3? zz 1...Kd5[a] 2.Qf3#[C] 1...d5[b] 2.Qf6#[D] 1...Qc5 2.Nd4# but 1...Qxc3! 1.Qh1+[A]?? 1...Qe4 2.Nd4# 1...Qd5 2.Bxd5#/Qxd5#/Nd4# but 1...d5[b]! 1.Qc2! zz 1...Kd5[a] 2.Qe4#[E] 1...d5[b] 2.Qg6#[F] 1...Qc3/Qxc2/Qc5 2.Nd4#" keywords: - Active sacrifice - Mutate - Zagoruiko --- authors: - Вукчевић, Милан Радоје source: Bukarest-Belgrad date: 1961 distinction: 1st Place algebraic: white: [Kb8, Qf3, Rc7, Rc6, Bh1, Sd7, Sc2] black: [Kd5, Qg2, Re4, Re1, Ba1, Sg1, Ph2, Pg6, Pd2, Pb5, Pa7, Pa5] stipulation: "#2" solution: | "1.Ra6[D]! (2.Rc5#) 1...Bd4/Qf2 2.Qb3# 1...Be5/Qg3 2.Qf7#" keywords: - Gamage - Half-pin --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) date: 1969 distinction: 1st HM algebraic: white: [Kb8, Qa4, Be7, Be4, Sg6, Sc8, Pf7] black: [Kd7, Rb5, Bd4, Ba6, Sh7, Pe6, Pe5, Pb7, Pb6] stipulation: "#2" solution: | "1...Ng5/Nf6/Nf8 2.Nf8# 1...Be3/Bf2/Bg1/Bc5 2.Nxe5#[A] 1...Bc3/Bb2/Ba1 2.Nxb6#[B] 1.f8Q?? (2.Qd8#) but 1...Nxf8! 1.f8R?? (2.Rd8#) but 1...Nxf8! 1.f8N+?? 1...Ke8 2.Nd6# but 1...Nxf8! 1.Qxa6?? (2.Qxb5#/Qxb7#) 1...Rb4/Rb3/Rb2/Rb1/Ra5/Rd5 2.Qxb7# 1...Rc5 2.Nxb6#[B] but 1...bxa6! 1.Qxd4+?? 1...Rd5 2.Nxe5#[A] but 1...exd4! 1.Qc2? (2.Qc7#) 1...Bc5 2.Nxe5#[A] 1...Rc5 2.Nxb6#[B] but 1...Bc3! 1.Qd1? zz 1...Ng5/Nf6/Nf8 2.Nf8# 1...Rb4/Rb3/Rb2/Rb1 2.Nxe5#[A] 1...Ra5/Rc5 2.Nxb6#[B] but 1...Rd5! 1.Bf3? zz 1...Be3/Bf2/Bg1/Bc5 2.Nxe5#[A] 1...Bc3/Bb2/Ba1 2.Nxb6#[B] 1...Ng5/Nf6/Nf8 2.Nf8# but 1...e4! 1.Bg2? zz 1...Ng5/Nf6/Nf8 2.Nf8# 1...Be3/Bf2/Bg1/Bc5 2.Nxe5#[A] 1...Bc3/Bb2/Ba1 2.Nxb6#[B] but 1...e4! 1.Bh1? zz 1...Ng5/Nf6/Nf8 2.Nf8# 1...Be3/Bf2/Bg1/Bc5 2.Nxe5#[A] 1...Bc3/Bb2/Ba1 2.Nxb6#[B] but 1...e4! 1.Qc4! (2.Qc7#) 1...Rc5 2.Nxb6#[B] 1...Bc5 2.Nxe5#[A]" keywords: - Transferred mates - Grimshaw --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) date: 1962 distinction: 1st Commendation algebraic: white: [Kc1, Qg1, Rf8, Bd3, Bc3, Se8, Sd7, Pe3, Pd2] black: [Kf3, Qa6, Rh3, Ra5, Pg6, Pf6, Pe7, Pd6, Pb5, Pa7, Pa3] stipulation: "#2" solution: | "1...e6/e5 2.Rxf6# 1...d5 2.Ne5# 1.Bxf6?? (2.Bg5#/Bh4#/Bg7#/Bh8#/Be5#/Bd4#/Bc3#/Bb2#/Ba1#/Bxe7#) 1...Ra4 2.Bd4# 1...Qc6+/Qc8+ 2.Bc3# 1...exf6 2.Rxf6# 1...e5 2.Bg5#/Bh4#/Bg7#/Bh8#/Bxe5#/Be7#/Bd8# 1...Rh4 2.Bxh4# 1...Rh5 2.Bg5# 1...Rh7 2.Bg7# 1...Rh8 2.Bxh8# 1...d5 2.Ne5# 1...g5 2.Bxg5#/Bg7#/Bh8#/Be5#/Bd4#/Bc3#/Bb2#/Ba1#/Bxe7# 1...b4 2.Be5# but 1...Rg3! 1.Ndxf6?? (2.Ng4#/Ng8#/Nh5#/Nh7#/Ne4#/Nd5#/Nd7#) 1...exf6 2.Rxf6# 1...Qc8 2.Nd7# 1...Rh4 2.Ng4# 1...Rh5 2.Nxh5# 1...Rh7 2.Nxh7# 1...Rh8 2.Ng8# 1...Rg3 2.Qf1# 1...Ra4 2.Ne4# 1...b4 2.Nd5# but 1...d5! 1.Nexf6! (2.Ng4#/Ng8#/Nh5#/Nh7#/Ne4#/Ne8#/Nd5#) 1...exf6 2.Rxf6# 1...Qc8 2.Ne8# 1...Rh4 2.Ng4# 1...Rh5 2.Nxh5# 1...Rh7 2.Nxh7# 1...Rh8 2.Ng8# 1...Rg3 2.Qf1# 1...d5 2.Ne5# 1...Ra4 2.Ne4# 1...b4 2.Nd5#" keywords: - Active sacrifice - Fleck - Karlstrom-Fleck - Switchback --- authors: - Вукчевић, Милан Радоје source: Probleemblad date: 1972 distinction: 2nd HM algebraic: white: [Kc7, Qd3, Rh6, Bg8, Bf6, Sh8, Sg6, Pg5, Pf7, Pf4, Pe4] black: [Ke6, Qg7, Rd5, Rb5, Bg3, Sh7, Pd6, Pc6, Pb6] stipulation: "#2" solution: | "1...c5 2.exd5#/Qxd5# 1...Rdc5/Re5/Rf5/Rxg5 2.Qxd6# 1...Bxf4 2.Nxf4# 1...Qxg6/Qxh8/Qxf6 2.f8N# 1...Qxg8 2.fxg8Q#/fxg8B# 1...Qxf7+ 2.Bxf7# 1...Qxh6 2.f8Q#/f8R#/f8B#/f8N# 1.exd5+?? 1...cxd5 2.f5# but 1...Rxd5! 1.Ne5?? (2.f5#) 1...Qg6/Qxg5 2.f8N# 1...Qxf7+ 2.Bxf7# 1...Qxf6 2.f8Q#/f8B# 1...Rxe5 2.Qxd6# 1...Bxf4 2.Qh3# but 1...Nxf6! 1.Bxg7?? (2.f8Q#/f8R#/f8B#/f8N#) 1...Rf5 2.Qxd6#/f8N# 1...Nxg5/Nf6 2.f8N# but 1...Nf8! 1.Qxd5+?? 1...cxd5 2.f5# but 1...Rxd5! 1.Qc4?? (2.f5#) 1...Qxg6/Qxf6 2.f8N# 1...Qxf7+ 2.Bxf7# 1...Bxf4 2.Nxf4# but 1...Nxg5! 1.Be5! (2.f5#) 1...Rxe5 2.Qxd6# 1...Bxf4 2.Qh3# 1...Qxg6 2.f8Q#/f8B# 1...Qxf7+ 2.Bxf7# 1...Qf6 2.f8N# 1...Qxe5 2.f8Q#/f8R#/f8B#/f8N#" --- authors: - Вукчевић, Милан Радоје source: Bukarest-Belgrad date: 1961 distinction: 6th Place algebraic: white: [Kc8, Qb8, Rh4, Re2, Bh5, Bg3, Sh7, Sc1, Pf2] black: [Ke4, Qg4, Bg2, Sf4, Pg5, Pf5, Pe3, Pd5, Pd4] stipulation: "#2" solution: | "1...Kf3/Ng6/Nxh5/Nxe2/Nd3 2.Nxg5# 1...Bf3/Qxg3/Qxh4 2.Nf6# 1...Qh3/Qf3/Qxe2 2.Nxg5#/Nf6# 1.Qe5+?? 1...Kf3 2.Nxg5# but 1...Kxe5! 1.f3+?? 1...Bxf3 2.Nf6# 1...Qxf3 2.Nxg5#/Nf6# but 1...Kxf3! 1.Qb4! (2.Rxe3#) 1...Ke5/Qxg3/Qf3/Qxe2 2.Qe7# 1...Kf3/Nxe2 2.Nxg5#" keywords: - Flight giving key - Polish Rukhlis theme --- authors: - Вукчевић, Милан Радоје source: Probleemblad date: 1972 algebraic: white: [Ke6, Qa3, Rh4, Ra4, Ba8, Sb2, Pg4, Pg3, Pe3, Pd7, Pc6, Pc4] black: [Ke4, Qf1, Rc7, Bh3, Sa2, Pf3, Pf2, Pd2, Pb6] stipulation: "#2" solution: | "1...Rxc6+ 2.Bxc6# 1...Rxd7 2.cxd7# 1...Qe1/Qd1/Qc1/Qa1/Qg1/Qh1/Qg2/Qd3 2.Qd3# 1...Qxc4+ 2.Rxc4# 1...Bg2 2.g5# 1...Bxg4+ 2.Rxg4# 1.Kf6?? (2.Qe7#) 1...Qxc4 2.Qd3# 1...Rxc6+ 2.Bxc6# 1...Rxd7 2.cxd7# but 1...Nb4! 1.Rh5?? (2.Re5#) 1...Rxc6+ 2.Bxc6# 1...Qxc4+ 2.Rxc4# but 1...Bxg4+! 1.c5+?? 1...Qc4+ 2.Rxc4# but 1...Nb4! 1.Qc3?? (2.Qd4#/Qe5#) 1...Qd3 2.Qxd3#/Qe5# 1...Qxc4+ 2.Rxc4# 1...d1Q/d1R 2.Qe5# 1...Bxg4+ 2.Rxg4# 1...Rxc6+ 2.Bxc6# 1...Rxd7 2.cxd7#/Qe5# but 1...Nxc3! 1.Qc5?? (2.Qe5#/Qd4#) 1...Rxc6+ 2.Bxc6# 1...Rxd7 2.cxd7#/Qe5# 1...Qd3/d1Q/d1R 2.Qe5# 1...Qxc4+ 2.Rxc4# 1...Bxg4+ 2.Rxg4# but 1...bxc5! 1.Qe7! (2.Kd6#/Kf6#/Kf7#) 1...Kxe3 2.Kd5# 1...Bxg4+ 2.Kf6# 1...Qd3/d1Q/d1R 2.Kf6#/Kf7# 1...Qxc4+ 2.Kd6# 1...Rxc6+ 2.Kf7# 1...Rxd7 2.Kxd7#" keywords: - Flight giving key - Fleck - Karlstrom-Fleck --- authors: - Вукчевић, Милан Радоје source: Die Schwalbe distinction: 1st-3rd Commendation algebraic: white: [Kf7, Qb1, Re6, Rd8, Bd6, Bc4, Se2, Sd5, Pg6, Pf3, Pe3, Pc3, Pb6, Pb5] black: [Kd2, Qh4, Rc2, Ra1, Be1, Sf1, Pg7, Pg4, Pf6, Pb7, Pb3] stipulation: "#2" solution: | "1...Rc1/Rb2/Rca2 2.Qd3# 1.Bg3! (2.Ne7#/Ndf4#/Nxf6#/Nc7#/Nb4#) 1...Nxe3 2.Nxe3# 1...Qh5/Qh8/Qg5 2.Bxe1# 1...Qxg3/gxf3/Bxg3 2.Ndf4# 1...f5 2.Ne7#/Nf6# 1...Ra8 2.Qxe1# 1...Rxc3 2.Ndxc3#" --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) date: 1962 distinction: 3rd Prize algebraic: white: [Kg3, Ra5, Bd5, Sh4, Sc5, Pg6, Pf6, Pf3] black: [Kh5, Rh8, Rc1, Bf1, Ph6, Ph3, Pf7, Pd3, Pc3] stipulation: "#2" solution: | "1.Ne4?? (2.Be6#/Bxf7#/Bc4#/Bb3#/Ba2#/Bc6#/Bb7#/Ba8#) 1...d2 2.Bc4# 1...Re8 2.Be6# 1...Rc8 2.Bc6# 1...Rb8 2.Bb7# 1...Ra8 2.Bxa8# 1...Rb1 2.Bb3# 1...Ra1 2.Ba2# 1...fxg6 2.Bf7# but 1...Rd8! 1.Bxf7?? (2.Nxd3#/Nd7#/Ne4#/Ne6#/Nb3#/Nb7#/Na4#/Na6#) 1...Kg5 2.Nd7#/Ne4# 1...Rb1 2.Nb3# 1...Ra1 2.Na4# 1...Re1 2.Ne4# 1...Re8 2.Ne6# 1...Rd8 2.Nd7# 1...Rb8 2.Nb7# 1...Ra8 2.Na6# 1...d2 2.Nd3# but 1...Rc8! 1.Bc6?? (2.Nxd3#/Nd7#/Ne4#/Ne6#/Nb3#/Nb7#/Na4#/Na6#) 1...Kg5 2.Nd7#/Ne4# 1...Rb1 2.Nb3# 1...Ra1 2.Na4# 1...Re1 2.Ne4# 1...Re8 2.Ne6# 1...Rd8 2.Nd7# 1...Rb8 2.Nb7# 1...Ra8 2.Na6# 1...d2 2.Nd3# but 1...fxg6! 1.Nd7! (2.Be4#/Be6#/Bxf7#/Bc4#/Bb3#/Ba2#/Bc6#/Bb7#/Ba8#) 1...Re8 2.Be6# 1...Rc8 2.Bc6# 1...Rb8 2.Bb7# 1...Ra8 2.Bxa8# 1...Rb1 2.Bb3# 1...Ra1 2.Ba2# 1...Re1 2.Be4# 1...fxg6 2.Bf7# 1...d2 2.Bc4#" keywords: - Fleck --- authors: - Вукчевић, Милан Радоје source: Schach-Echo source-id: 6753 date: 1971 algebraic: white: [Kg5, Qf5, Rg8, Re2, Be8, Bb2, Se3, Sb7, Pg7, Pf4] black: [Ke7, Qa5, Rh6, Rb6, Bd4, Sg6, Sc6, Ph5, Ph4, Pe6] stipulation: "#2" solution: | "1...Nce5[a] 2.Qf6#[A] 1...Be5[b]/Qa2 2.Qf7#[B] 1...Nge5[c] 2.Qf8#[C] 1...Bxe3/Bf6+ 2.Bf6# 1...Bc5 2.Nd5#/Qf6#[A]/Qf7#[B]/Bf6# 1...Qa4/Qa3/Qa1/Qa6/Qa7/Qa8/Qb4/Qc3/Qd2/Qe1 2.Nd5#/Qf7#[B] 1...Qd5 2.Nxd5# 1...Qxf5+ 2.Nxf5# 1...Nf8 2.gxf8Q# 1...exf5 2.Nxf5#/Nd5# 1...e5 2.Qf6#[A]/Qf7#[B]/Qd7#[D] 1.Qc5+?? 1...Bxc5 2.Nf5#/Nd5#/Bf6# but 1...Qxc5+! 1.Qd5! (2.Nf5#) 1...Nce5[a] 2.Qd8#[E] 1...Be5[b] 2.Qd7#[D] 1...Nge5[c] 2.Qd6#[F] 1...Nf8 2.gxf8Q# 1...Bxe3/Bf6+ 2.Bf6# 1...Qxd5+ 2.Nxd5#" keywords: - Defences on same square - Changed mates --- authors: - Вукчевић, Милан Радоје source: Segal-Turnier date: 1962 distinction: 2nd Commendation algebraic: white: [Kh2, Bh6, Be6, Sg6, Sb6, Ph7, Pg7, Pg4, Pf4, Pe4, Pd7, Pc7] black: [Kf6, Qf8, Bc8, Sh3, Sc4, Pf7, Pc6, Pb7] stipulation: "#2" solution: | "1.gxf8N?? (2.h8Q#/h8B#/d8Q#/d8B#) 1...Bxd7 2.h8Q#/h8B#/Nbxd7# 1...fxg6 2.d8Q#/d8B# but 1...fxe6! 1.Bf5! zz 1...c5 2.Nd5# 1...Ng1/Nf2/Nxf4 2.g5# 1...Ng5 2.fxg5# 1...Bxd7 2.Nxd7# 1...Qe8 2.dxe8N# 1...Qd8 2.cxd8Q#/cxd8B# 1...Qg8 2.hxg8N# 1...Qh8 2.gxh8Q#/gxh8B# 1...Qxg7 2.d8Q#/d8B# 1...Qe7/Qd6/Qc5/Qb4/Qa3 2.g8N# 1...fxg6 2.gxf8Q# 1...Nd2/Nd6/Ne3/Nb2/Nxb6/Na3/Na5 2.e5# 1...Ne5 2.fxe5#" keywords: - Black correction - Flight taking key --- authors: - Вукчевић, Милан Радоје source: Probleemblad source-id: 8557 date: 1981 algebraic: white: [Ka6, Qa3, Rg3, Rd5, Bg2, Sf6, Sd4, Pf4, Pe3, Pd2] black: [Kb1, Qg8, Rh6, Rh5, Bh7, Bd8, Sc8, Pf7, Pe7, Pd6, Pd3, Pb6, Pa7] stipulation: "#3" solution: | "1.Bg2-e4 ! threat: 2.f4-f5 threat: 3.Rd5-b5 # 3.Be4*d3 # 2...Rh5*f5 3.Be4*d3 # 2...Bh7*f5 3.Rd5-b5 # 2...Qg8-e8 3.Be4*d3 # 3.Rg3-g1 # 1...Rh5*d5 2.Sf6*d5 threat: 3.Sd5-c3 # 1...Rh5-e5 2.f4*e5 threat: 3.Rd5-b5 # 2...Qg8-e8 3.Rg3-g1 # 1...Bh7*e4 2.Sf6*e4 threat: 3.Se4-c3 # 1...Qg8-g4 2.Sf6*g4 threat: 3.Rg3-g1 # 2...Rh5-h1 3.Rd5-b5 # 1...Qg8-g5 2.Be4-f5 threat: 3.Rd5-b5 # 2...Qg5*f5 3.Rg3-g1 # 1...Qg8-g6 2.Rd5-f5 threat: 3.Be4*d3 # 2...Qg6*f5 3.Rg3-g1 #" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo source-id: 6954 date: 1972 algebraic: white: [Ka8, Ra2, Bf2, Ba4, Se7, Pb4, Pb3] black: [Ka6, Qe2, Pe5, Pc7] stipulation: "#3" solution: | "1.Bf2-c5 ! threat: 2.Ba4-b5 + 2...Ka6*b5 3.Ra2-a5 # 1...Qe2*a2 2.b4-b5 + 2...Ka6-a5 3.Se7-c6 # 1...Qe2-g2 + 2.Se7-d5 zugzwang. 2...Qg2-g8 + 3.Ba4-e8 # 2...Qg2-f1 3.Ba4-e8 # 3.Sd5*c7 # 3.Ba4-d7 # 3.Ba4-c6 # 2...Qg2-h1 3.Ba4-c6 # 3.Ba4-e8 # 3.Ba4-d7 # 2...Qg2-h3 3.Ba4-d7 # 3.Sd5*c7 # 3.Ba4-e8 # 3.Ba4-c6 # 2...Qg2*d5 + 3.Ba4-c6 # 2...Qg2-e4 3.Ba4-c6 # 3.Ba4-e8 # 3.Ba4-d7 # 2...Qg2-f3 3.Ba4-d7 # 3.Ba4-e8 # 3.Ba4-c6 # 2...Qg2-g1 3.Ba4-c6 # 3.Sd5*c7 # 3.Ba4-e8 # 3.Ba4-d7 # 2...Qg2*a2 3.Sd5*c7 # 2...Qg2-b2 3.Sd5*c7 # 2...Qg2-c2 3.Sd5*c7 # 2...Qg2-d2 3.Sd5*c7 # 2...Qg2-e2 3.Sd5*c7 # 2...Qg2-f2 3.Sd5*c7 # 2...Qg2-g7 3.Ba4-e8 # 3.Ba4-d7 # 3.Ba4-c6 # 2...Qg2-g6 3.Ba4-c6 # 3.Sd5*c7 # 3.Ba4-e8 # 3.Ba4-d7 # 2...Qg2-g5 3.Ba4-d7 # 3.Sd5*c7 # 3.Ba4-e8 # 3.Ba4-c6 # 2...Qg2-g4 3.Ba4-c6 # 3.Sd5*c7 # 3.Ba4-e8 # 3.Ba4-d7 # 2...Qg2-g3 3.Ba4-d7 # 3.Sd5*c7 # 3.Ba4-e8 # 3.Ba4-c6 # 2...Qg2-h2 3.Sd5*c7 # 2...e5-e4 3.Sd5*c7 # 2...c7-c6 3.Sd5-c7 #" --- authors: - Вукчевић, Милан Радоје source: Die Schwalbe date: 1972-10 distinction: HM algebraic: white: [Kc6, Qa4, Bb6, Sc7, Sa8, Pg7, Pf6, Pf4, Pd7, Pc4, Pa6] black: [Kd8, Qg3, Rg1, Rc8, Be2, Sc1, Pf5, Pe4, Pe3, Pd4, Pc3] stipulation: "#3" solution: | "1.Kc6-c5 ! threat: 2.d7*c8=Q + 2...Kd8*c8 3.Qa4-e8 # 2.d7*c8=R + 2...Kd8*c8 3.Qa4-e8 # 1...Sc1-d3 + 2.Kc5*d4 threat: 3.Sc7-e6 # 2...Rc8*c7 3.Bb6*c7 # 1...Sc1-b3 + 2.Kc5-b4 threat: 3.Sc7-e6 # 2...Rc8*c7 3.Bb6*c7 # 1...Be2-h5 2.Kc5-d5 threat: 3.Sc7-e6 # 2...Rc8*c7 3.Bb6*c7 # 1...Qg3-g6 2.Kc5-d6 threat: 3.Sc7-e6 # 2...Rc8*c7 3.Bb6*c7 #" --- authors: - Вукчевић, Милан Радоје source: Springaren date: 1982 distinction: 2nd Prize algebraic: white: [Kf7, Rd7, Bb2, Sh3, Sd4, Pg3, Pe3, Pd6, Pb5] black: [Ke5, Rh1, Rf2, Bc4, Sf1, Pg4, Pf5, Pd5, Pd2, Pc5] stipulation: "#3" solution: | "1.e3-e4 ! threat: 2.Rd7-e7 + 2...Ke5*d6 3.e4-e5 # 1...d5*e4 + 2.Sd4-e6 + 2...Ke5-d5 3.Se6-c7 # 1...f5*e4 + 2.Sd4-f3 + 2...Ke5-f5 3.Sf3-h4 #" --- authors: - Вукчевић, Милан Радоје source: Probleemblad date: 1970 distinction: 4th Commendation algebraic: white: [Kf7, Qe8, Re7, Rd8, Bg2, Bf2, Sg5, Se1, Ph3, Pg3, Pf6, Pd7] black: [Kh2, Ra3, Bb2, Ba2, Sd2, Pd5, Pd4, Pd3, Pc6, Pb5, Pa4] stipulation: "#3" solution: | "1.g3-g4 ! threat: 2.Rd8-a8 threat: 3.Qe8-b8 # 2...Sd2-f1 3.Sg5-f3 # 1...Bb2-c3 2.Re7-e2 threat: 3.Qe8-e5 # 1...Ra3-c3 2.Re7-e3 threat: 3.Qe8-e5 # 1...Ra3-b3 2.Re7-e4 threat: 3.Qe8-e5 #" keywords: - Bristol - Grimshaw - Active sacrifice --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) date: 1962 distinction: Commendation algebraic: white: [Kg7, Re3, Ra8, Ph3, Pg6, Pd3, Pd2] black: [Kg5, Pd6, Pd5] stipulation: "#3" solution: | "1.Ra8-a5 ! threat: 2.Re3-e4 threat: 3.Ra5*d5 # 1...Kg5-h4 2.Kg7-h6 zugzwang. 2...d5-d4 3.Ra5-h5 # 1...Kg5-f4 2.Kg7-f6 zugzwang. 2...d5-d4 3.Ra5-f5 # 1.d3-d4 ! zugzwang. 1...Kg5-h5 2.Kg7-f6 threat: 3.Ra8-h8 # 1...Kg5-f5 2.Kg7-h6 threat: 3.Ra8-f8 # 1...Kg5-h4 2.Kg7-f6 threat: 3.Ra8-h8 # 1...Kg5-f4 2.Kg7-h6 threat: 3.Ra8-f8 #" --- authors: - Вукчевић, Милан Радоје source: Die Schwalbe date: 1972-12 algebraic: white: [Ka1, Qh8, Rc2, Be4, Sd6, Sb7, Ph7, Pg3, Pf3, Pa3] black: [Ke3, Rc7, Ra5, Bf7, Sg1, Sc8, Pg5, Pb6, Pa4] stipulation: "#5" solution: | "1.Qh8-d4 + ! 1...Ke3*d4 2.Sb7-c5 threat: 3.h7-h8=Q + 3...Kd4-e3 4.Qh8-c3 # 4.Sd6-f5 # 3.h7-h8=B + 3...Kd4-e3 4.Sd6-f5 # 3.Sd6-f5 + 3...Kd4-e5 4.h7-h8=Q # 4.h7-h8=B # 2...Sg1-e2 3.Sd6-f5 + 3...Kd4-e5 4.h7-h8=Q # 4.h7-h8=B # 2...Kd4-e5 3.h7-h8=Q + 3...Ke5*d6 4.Qh8-f6 + 4...Bf7-e6 5.Qf6*e6 # 2...Ra5*c5 3.h7-h8=Q + 3...Kd4-e3 4.Qh8-c3 + 4...Rc5*c3 5.Sd6-f5 # 3...Rc5-e5 4.Sd6-f5 # 2...b6*c5 3.h7-h8=Q + 3...Kd4-e3 4.Sd6-f5 # 4.Qh8-c3 # 3.h7-h8=B + 3...Kd4-e3 4.Sd6-f5 # 2...Rc7*c5 3.h7-h8=Q + 3...Kd4-e3 4.Sd6-f5 + 4...Rc5*f5 5.Qh8-c3 # 3...Rc5-e5 4.Sd6-f5 # 2...Rc7-c6 3.h7-h8=Q + 3...Kd4-e3 4.Sd6-f5 # 4.Qh8-c3 # 3.h7-h8=B + 3...Kd4-e3 4.Sd6-f5 # 2...Bf7-a2 3.h7-h8=Q + 3...Kd4-e3 4.Qh8-c3 # 4.Sd6-f5 # 3...Rc7-g7 4.Sd6-f5 + 4...Kd4-e5 5.Qh8*g7 # 4.Qh8*g7 + 4...Kd4-e3 5.Qg7-c3 # 5.Sd6-f5 # 3.h7-h8=B + 3...Kd4-e3 4.Sd6-f5 # 3...Rc7-g7 4.Sd6-f5 + 4...Kd4-e5 5.Bh8*g7 # 4.Bh8*g7 + 4...Kd4-e3 5.Sd6-f5 # 3.Sd6-f5 + 3...Kd4-e5 4.h7-h8=Q + 4...Rc7-g7 5.Qh8*g7 # 4.h7-h8=B + 4...Rc7-g7 5.Bh8*g7 # 2...Bf7-b3 3.Sd6-f5 + 3...Kd4-e5 4.h7-h8=Q + 4...Rc7-g7 5.Qh8*g7 # 4.h7-h8=B + 4...Rc7-g7 5.Bh8*g7 # 3.h7-h8=Q + 3...Kd4-e3 4.Qh8-c3 # 4.Sd6-f5 # 3...Rc7-g7 4.Sd6-f5 + 4...Kd4-e5 5.Qh8*g7 # 4.Qh8*g7 + 4...Kd4-e3 5.Qg7-c3 # 5.Sd6-f5 # 3.h7-h8=B + 3...Kd4-e3 4.Sd6-f5 # 3...Rc7-g7 4.Sd6-f5 + 4...Kd4-e5 5.Bh8*g7 # 4.Bh8*g7 + 4...Kd4-e3 5.Sd6-f5 # 2...Bf7-c4 3.h7-h8=Q + 3...Kd4*c5 4.Qh8-e5 # 3...Kd4-e3 4.Sd6*c4 # 4.Sd6-f5 # 3...Rc7-g7 4.Qh8*g7 + 4...Kd4*c5 5.Qg7-e5 # 4...Kd4-e3 5.Sd6*c4 # 5.Sd6-f5 # 2...Bf7-d5 3.h7-h8=Q + 3...Kd4-e3 4.Qh8-c3 # 4.Sd6-f5 # 3...Rc7-g7 4.Sd6-f5 + 4...Kd4-e5 5.Qh8*g7 # 4.Qh8*g7 + 4...Kd4-e3 5.Qg7-c3 # 5.Sd6-f5 # 3.h7-h8=B + 3...Kd4-e3 4.Sd6-f5 # 3...Rc7-g7 4.Sd6-f5 + 4...Kd4-e5 5.Bh8*g7 # 4.Bh8*g7 + 4...Kd4-e3 5.Sd6-f5 # 3.Sd6-f5 + 3...Kd4-e5 4.h7-h8=Q + 4...Rc7-g7 5.Qh8*g7 # 4.h7-h8=B + 4...Rc7-g7 5.Bh8*g7 # 2...Bf7-e6 3.h7-h8=Q + 3...Kd4-e3 4.Qh8-c3 # 3...Rc7-g7 4.Qh8*g7 + 4...Kd4-e3 5.Qg7-c3 # 2...Bf7-h5 3.h7-h8=Q + 3...Kd4-e3 4.Qh8-c3 # 4.Sd6-c4 # 4.Sd6-f5 # 3...Rc7-g7 4.Sd6-f5 + 4...Kd4-e5 5.Qh8*g7 # 4.Qh8*g7 + 4...Kd4-e3 5.Qg7-c3 # 5.Sd6-c4 # 5.Sd6-f5 # 3.h7-h8=B + 3...Kd4-e3 4.Sd6-c4 # 4.Sd6-f5 # 3...Rc7-g7 4.Sd6-f5 + 4...Kd4-e5 5.Bh8*g7 # 4.Bh8*g7 + 4...Kd4-e3 5.Sd6-c4 # 5.Sd6-f5 # 3.Sd6-f5 + 3...Kd4-e5 4.h7-h8=Q + 4...Rc7-g7 5.Qh8*g7 # 4.h7-h8=B + 4...Rc7-g7 5.Bh8*g7 # 2...Bf7-g6 3.h7-h8=Q + 3...Kd4-e3 4.Qh8-c3 # 4.Sd6-c4 # 3...Rc7-g7 4.Qh8*g7 + 4...Kd4-e3 5.Qg7-c3 # 5.Sd6-c4 # 3.h7-h8=B + 3...Kd4-e3 4.Sd6-c4 # 3...Rc7-g7 4.Bh8*g7 + 4...Kd4-e3 5.Sd6-c4 # 2...Bf7-g8 3.h7-h8=Q + 3...Kd4-e3 4.Qh8-c3 # 4.Sd6-f5 # 3...Rc7-g7 4.Sd6-f5 + 4...Kd4-e5 5.Qh8*g7 # 4.Qh8*g7 + 4...Kd4-e3 5.Qg7-c3 # 5.Sd6-f5 # 3.h7-h8=B + 3...Kd4-e3 4.Sd6-f5 # 3...Rc7-g7 4.Sd6-f5 + 4...Kd4-e5 5.Bh8*g7 # 4.Bh8*g7 + 4...Kd4-e3 5.Sd6-f5 # 3.Sd6-f5 + 3...Kd4-e5 4.h7-h8=Q + 4...Rc7-g7 5.Qh8*g7 # 4.h7-h8=B + 4...Rc7-g7 5.Bh8*g7 # 2...Bf7-e8 3.Sd6-f5 + 3...Kd4-e5 4.h7-h8=Q + 4...Rc7-g7 5.Qh8*g7 # 4.h7-h8=B + 4...Rc7-g7 5.Bh8*g7 # 3.h7-h8=Q + 3...Kd4-e3 4.Qh8-c3 # 4.Sd6-c4 # 4.Sd6-f5 # 3...Rc7-g7 4.Sd6-f5 + 4...Kd4-e5 5.Qh8*g7 # 4.Qh8*g7 + 4...Kd4-e3 5.Qg7-c3 # 5.Sd6-c4 # 5.Sd6-f5 # 3.h7-h8=B + 3...Kd4-e3 4.Sd6-c4 # 4.Sd6-f5 # 3...Rc7-g7 4.Sd6-f5 + 4...Kd4-e5 5.Bh8*g7 # 4.Bh8*g7 + 4...Kd4-e3 5.Sd6-c4 # 5.Sd6-f5 # 2...Sc8*d6 3.h7-h8=Q + 3...Kd4-e3 4.Qh8-c3 # 2...Sc8-e7 3.h7-h8=Q + 3...Kd4-e3 4.Qh8-c3 #" --- authors: - Вукчевић, Милан Радоје source: Probleemblad date: 1970 distinction: 1st HM algebraic: white: [Ka1, Qc1, Rg4, Be3, Ba4, Sh1, Sg8, Ph3, Pg7, Pf2, Pd4, Pb5, Pa2] black: [Kh5, Qb8, Rb3, Ra8, Bb1, Se8, Sc8, Pf6, Pe6, Pe2] stipulation: "#4" solution: | "1.Be3-h6 ! threat: 2.Sg8*f6 + 2...Se8*f6 3.Qc1-g5 # 1...Rb3*b5 2.Bh6-f4 threat: 3.Sh1-g3 # 2...Rb5-b3 3.Ba4*e8 + 3...Bb1-g6 4.Sg8*f6 # 4.Be8*g6 # 2...Rb5-g5 3.Ba4*e8 + 3...Bb1-g6 4.Sh1-g3 # 3...Rg5-g6 4.Sh1-g3 # 4.Sg8*f6 # 2...Qb8*f4 3.Sh1-g3 + 3...Qf4*g3 4.Qc1-h6 # 1...Rb3-e3 2.Qc1*e3 threat: 3.Sg8*f6 + 3...Se8*f6 4.Qe3-g5 # 3.Qe3-g3 threat: 4.Rg4-h4 # 4.Qg3-h4 # 3...Qb8*g3 4.Sh1*g3 # 3...Qb8-f4 4.Qg3-h4 # 2...Bb1-h7 3.Sg8*f6 + 3...Se8*f6 4.Qe3-g5 # 2...Bb1-g6 3.Sg8*f6 + 3...Se8*f6 4.Qe3-g5 # 2...Bb1-f5 3.Sg8*f6 + 3...Se8*f6 4.Qe3-g5 # 2...Bb1-e4 3.Sg8*f6 + 3...Se8*f6 4.Qe3-g5 # 2...Bb1-d3 3.Sg8*f6 + 3...Se8*f6 4.Qe3-g5 # 2...Bb1-c2 3.Sg8*f6 + 3...Se8*f6 4.Qe3-g5 # 2...Bb1*a2 3.Sg8*f6 + 3...Se8*f6 4.Qe3-g5 # 2...e2-e1=Q 3.Sg8*f6 + 3...Se8*f6 4.Qe3-g5 # 2...e2-e1=S 3.Sg8*f6 + 3...Se8*f6 4.Qe3-g5 # 2...e2-e1=R 3.Sg8*f6 + 3...Se8*f6 4.Qe3-g5 # 2...e2-e1=B 3.Sg8*f6 + 3...Se8*f6 4.Qe3-g5 # 2...Ra8*a4 3.Sg8*f6 + 3...Se8*f6 4.Qe3-g5 # 2...Qb8-f4 3.Bh6*f4 threat: 4.Sh1-g3 # 3.Qe3*f4 threat: 4.Sh1-g3 # 2...Qb8-e5 3.d4*e5 threat: 4.Sh1-g3 # 3.Qe3*e5 + 3...Bb1-f5 4.Sh1-g3 # 3...f6-f5 4.Sh1-g3 # 3...f6*e5 4.Sh1-g3 # 2...Qb8-d6 3.Sg8*f6 + 3...Se8*f6 4.Qe3-g5 # 2...Qb8-c7 3.Sg8*f6 + 3...Se8*f6 4.Qe3-g5 # 2...Sc8-e7 3.Sg8*f6 + 3...Se8*f6 4.Qe3-g5 # 1...Qb8-f4 2.Qc1*f4 threat: 3.Sg8*f6 + 3...Se8*f6 4.Qf4-g5 # 3.Rg4-g5 + 3...f6*g5 4.Qf4*g5 # 3.Qf4-g3 threat: 4.Rg4-h4 # 4.Qg3-h4 # 3...Rb3*g3 4.Sh1*g3 # 2...Bb1-h7 3.Sg8*f6 + 3...Se8*f6 4.Qf4-g5 # 3.Rg4-g5 + 3...f6*g5 4.Qf4*g5 # 2...Bb1-f5 3.Sg8*f6 + 3...Se8*f6 4.Qf4-g5 # 3.Rg4-g5 + 3...f6*g5 4.Qf4*g5 # 2...Bb1-e4 3.Sg8*f6 + 3...Se8*f6 4.Qf4-g5 # 3.Rg4-g5 + 3...f6*g5 4.Qf4*g5 # 2...Bb1-c2 3.Sg8*f6 + 3...Se8*f6 4.Qf4-g5 # 3.Rg4-g5 + 3...f6*g5 4.Qf4*g5 # 2...Bb1*a2 3.Sg8*f6 + 3...Se8*f6 4.Qf4-g5 # 3.Rg4-g5 + 3...f6*g5 4.Qf4*g5 # 2...e2-e1=Q 3.Sg8*f6 + 3...Se8*f6 4.Qf4-g5 # 3.Rg4-g5 + 3...f6*g5 4.Qf4*g5 # 2...e2-e1=S 3.Sg8*f6 + 3...Se8*f6 4.Qf4-g5 # 3.Rg4-g5 + 3...f6*g5 4.Qf4*g5 # 2...e2-e1=R 3.Sg8*f6 + 3...Se8*f6 4.Qf4-g5 # 3.Rg4-g5 + 3...f6*g5 4.Qf4*g5 # 2...e2-e1=B 3.Sg8*f6 + 3...Se8*f6 4.Qf4-g5 # 3.Rg4-g5 + 3...f6*g5 4.Qf4*g5 # 2...Rb3-a3 3.Sg8*f6 + 3...Se8*f6 4.Qf4-g5 # 3.Rg4-g5 + 3...f6*g5 4.Qf4*g5 # 2...Rb3*h3 3.Sg8*f6 + 3...Se8*f6 4.Qf4-g5 # 3.Rg4-g5 + 3...f6*g5 4.Qf4*g5 # 2...Ra8*a4 3.Sg8*f6 + 3...Se8*f6 4.Qf4-g5 # 3.Rg4-g5 + 3...f6*g5 4.Qf4*g5 # 2...Sc8-d6 3.Sg8*f6 + 3...Se8*f6 4.Qf4-g5 # 3.Rg4-g5 + 3...f6*g5 4.Qf4*g5 # 2...Sc8-e7 3.Sg8*f6 + 3...Se8*f6 4.Qf4-g5 # 3.Rg4-g5 + 3...f6*g5 4.Qf4*g5 # 1...Qb8-e5 2.d4*e5 threat: 3.Sg8*f6 + 3...Se8*f6 4.Qc1-g5 # 2...Rb3-e3 3.Bh6*e3 threat: 4.Sh1-g3 # 3.Qc1*e3 threat: 4.Sh1-g3 # 1...Qb8*b5 2.Bh6-e3 threat: 3.Sh1-g3 # 2...Rb3*e3 3.Sh1-g3 + 3...Re3*g3 4.Qc1-h6 # 2...Qb5-b8 3.Ba4*e8 + 3...Bb1-g6 4.Sg8*f6 # 4.Be8*g6 # 3.Qc1-c5 + 3...Bb1-f5 4.Ba4*e8 # 3...e6-e5 4.Sh1-g3 # 3...f6-f5 4.Ba4*e8 # 3...Qb8-e5 4.Sh1-g3 # 2...Qb5-g5 3.Ba4*e8 + 3...Bb1-g6 4.Sh1-g3 # 3...Qg5-g6 4.Sh1-g3 # 4.Sg8*f6 # 2...Qb5-e5 3.Ba4*e8 + 3...Bb1-g6 4.Be8*g6 #" --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) source-id: 2946 date: 1969 distinction: 2nd Place algebraic: white: [Kb7, Qa8, Ra7, Bb3, Sg2, Sd3, Pg7, Pf3, Pd2, Pc6, Pc2, Pb5, Pb4] black: [Kd4, Qh6, Bg6, Bg5, Sh8, Ph5, Pg3, Pf7, Pf5, Pd6, Pc7, Pb6] stipulation: "#4" solution: | "1.Ra7-a1 ! threat: 2.Qa8-a2 threat: 3.Qa2-b2 # 2...Bg5*d2 3.Bb3-d5 threat: 4.Qa2-c4 # 2.Sd3-f4 threat: 3.Qa8-a2 threat: 4.Qa2-b2 # 3.Qa8-a3 threat: 4.Qa3-b2 # 3.Ra1-h1 threat: 4.Qa8-a1 # 3.Ra1-g1 threat: 4.Qa8-a1 # 3.Ra1-f1 threat: 4.Qa8-a1 # 3.Ra1-e1 threat: 4.Qa8-a1 # 4.c2-c3 # 3...Bg5*f4 4.Qa8-a1 # 3.Ra1-d1 threat: 4.Qa8-a1 # 3.Ra1-c1 threat: 4.Qa8-a1 # 3.Ra1-b1 threat: 4.Qa8-a1 # 2...Kd4-e5 3.Ra1-e1 + 3...Ke5-f6 4.Qa8-a1 # 3...Ke5-d4 4.Qa8-a1 # 4.c2-c3 # 2...Bg5*f4 3.Ra1-d1 threat: 4.Qa8-a1 # 2...d6-d5 3.Ra1-e1 threat: 4.Qa8-a1 # 4.c2-c3 # 3...Bg5*f4 4.Qa8-a1 # 1...Bg5*d2 2.g7*h8=Q + 2...Qh6-g7 3.Qh8*g7 + 3...f7-f6 4.Qg7*f6 # 2...Qh6*h8 3.Qa8*h8 + 3...f7-f6 4.Qh8*f6 # 2...f7-f6 3.Qh8*f6 # 2.g7*h8=B + 2...Qh6-g7 3.Bh8*g7 + 3...f7-f6 4.Bg7*f6 # 2...Qh6*h8 3.Qa8*h8 + 3...f7-f6 4.Qh8*f6 # 2...f7-f6 3.Bh8*f6 # 1...Bg5-e3 2.Qa8-a2 threat: 3.Qa2-b2 # 2...Be3*d2 3.Bb3-d5 threat: 4.Qa2-c4 # 2.g7*h8=Q + 2...Qh6-g7 3.Qh8*g7 + 3...f7-f6 4.Qg7*f6 # 2...Qh6*h8 3.Qa8*h8 + 3...f7-f6 4.Qh8*f6 # 2...f7-f6 3.Qh8*f6 # 2.g7*h8=B + 2...Qh6-g7 3.Bh8*g7 + 3...f7-f6 4.Bg7*f6 # 2...Qh6*h8 3.Qa8*h8 + 3...f7-f6 4.Qh8*f6 # 2...f7-f6 3.Bh8*f6 # 1...Bg5-f4 2.Qa8-a2 threat: 3.Qa2-b2 # 2...Bf4*d2 3.Bb3-d5 threat: 4.Qa2-c4 # 1...Bg5-h4 2.Ra1-h1 threat: 3.Qa8-a1 # 2...Qh6*d2 3.Qa8-a1 + 3...Qd2-c3 4.Qa1-g1 # 1...Bg5-d8 2.Ra1-h1 threat: 3.Qa8-a1 # 2...Qh6*d2 3.Qa8-a1 + 3...Qd2-c3 4.Qa1-g1 # 1...Bg5-e7 2.Ra1-h1 threat: 3.Qa8-a1 # 2...Qh6*d2 3.Qa8-a1 + 3...Qd2-c3 4.Qa1-g1 # 1...Bg5-f6 2.Ra1-h1 threat: 3.Qa8-a1 # 2...Qh6*d2 3.Qa8-a1 + 3...Qd2-c3 4.Qa1-g1 # 1...h5-h4 2.Qa8-a2 threat: 3.Qa2-b2 # 2...Bg5*d2 3.Bb3-d5 threat: 4.Qa2-c4 # 1...d6-d5 2.Qa8-a2 threat: 3.Qa2-b2 # 2...Bg5*d2 3.Bb3*d5 threat: 4.Qa2-c4 # 1...Bg6-h7 2.Qa8-a2 threat: 3.Qa2-b2 # 2...Bg5*d2 3.Bb3-d5 threat: 4.Qa2-c4 # 1...Qh6*g7 2.Qa8-a2 threat: 3.Qa2-b2 # 2...Bg5*d2 3.Bb3-d5 threat: 4.Qa2-c4 # 2.Ra1-h1 threat: 3.Qa8-a1 # 2...Bg5*d2 3.Qa8-a1 + 3...Bd2-c3 4.Qa1-g1 # 1...Qh6-h7 2.Qa8-a2 threat: 3.Qa2-b2 # 2...Bg5*d2 3.Bb3-d5 threat: 4.Qa2-c4 # 2.Ra1-h1 threat: 3.Qa8-a1 # 2...Bg5*d2 3.Qa8-a1 + 3...Bd2-c3 4.Qa1-g1 #" --- authors: - Вукчевић, Милан Радоје source: diagrammes date: 1981 algebraic: white: [Kd7, Bh8, Bg2, Sc6, Sa6, Pg4, Pe5, Pe2, Pb3, Pa4] black: [Kd5, Qh4, Re4, Bh6, Sa3, Ph7, Pg6, Pf6, Pf5, Pd6, Pc3, Pc2, Pb6] stipulation: "#10" solution: 1.g4-g5 ! --- authors: - Вукчевић, Милан Радоје source: Schweizerische Schachzeitung distinction: 2nd Prize algebraic: white: [Kf8, Rd6, Ra4, Be8, Sf7, Se2, Pf4, Pd3, Pa5] black: [Kc5, Rh5, Rc2, Bh7, Bb2, Sg8, Sg2, Pf6, Pe4, Pc4, Pb7] stipulation: "#7" solution: 1.Td6-b6 ! --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1972 distinction: 4th Prize algebraic: white: [Kg2, Bd7, Bd6, Se2, Sb2, Ph7, Pf3, Pd4, Pd2, Pc5, Pb3, Pa7] black: [Kd5, Qh8, Ra4, Ra2, Se7, Sc6, Pg3, Pf4, Pc7, Pb7, Pb5] stipulation: "#9" solution: | "1.a8/S! 1....Qxa8 2.Sxf4+ Kxd4 3.Se6+ Kd5 4.Sxc7+ Kd4 5.Sxb5+ Kd5 6.Sc3+ Kd4 7.Se2+ Kd5 8.Sd1 ~ 9.Sc3# or Se3# 1....Rxa8 2.Sc3+ Kxd4 3.Sxb5+ Kd5 4.Sxc7+ Kd4 5.Se6+ Kd5 6.Sxf4+ Kd4 7.Se2+ Kd5 8.Sc4 ~ 9.Sb6# or Se3#" keywords: - Round trip --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) source-id: 2406 date: 1966 distinction: 2nd HM algebraic: white: [Kh3, Rh4, Bf2, Be4, Sd5, Sd3, Pf5, Pa4, Pa2] black: [Kc4, Qb8, Sa8, Pg6, Pe5] stipulation: "#4" solution: | "1.Rh4-h8 ! threat: 2.Rh8*b8 threat: 3.Rb8-b4 # 3.Sd3-b2 # 3.Sd3*e5 # 2...Sa8-b6 3.Sd3-b2 # 3.Sd3*e5 # 2.Rh8-c8 + 2...Sa8-c7 3.Sd3*e5 # 2...Qb8-c7 3.Sd3*e5 # 3.Sd3-b2 # 2...Qb8*c8 3.Sd3-b2 # 3.Sd3*e5 # 1...g6-g5 2.Rh8-c8 + 2...Sa8-c7 3.Sd3*e5 # 2...Qb8-c7 3.Sd3*e5 # 3.Sd3-b2 # 2...Qb8*c8 3.Sd3-b2 # 3.Sd3*e5 # 2.Kh3-g4 zugzwang. 2...Sa8-b6 3.Sd3-b2 # 2...Sa8-c7 3.Sd3*e5 # 2...Qb8-a7 3.Sd3*e5 # 3.Sd3-b2 # 2...Qb8-d6 3.Sd3-b2 # 2...Qb8-c7 3.Sd3-b2 # 2...Qb8-b1 3.Sd3*e5 # 2...Qb8-b2 3.Sd3*b2 # 2...Qb8-b3 3.Sd3*e5 # 2...Qb8-b4 3.Sd3*e5 # 2...Qb8-b5 3.Sd3*e5 # 2...Qb8-b6 3.Sd3*e5 # 2...Qb8-b7 3.Sd3*e5 # 2...Qb8*h8 3.Sd3-b2 # 2...Qb8-g8 3.Sd3-b2 # 3.Sd3*e5 # 2...Qb8-f8 3.Sd3*e5 # 3.Sd3-b2 # 2...Qb8-e8 3.Sd3-b2 # 2...Qb8-d8 3.Sd3-b2 # 3.Sd3*e5 # 2...Qb8-c8 3.Sd3*e5 # 3.Sd3-b2 # 1...g6*f5 2.Rh8-c8 + 2...Sa8-c7 3.Sd3*e5 # 2...Qb8-c7 3.Sd3*e5 # 3.Sd3-b2 # 2...Qb8*c8 3.Sd3-b2 # 3.Sd3*e5 # 1...Qb8-b3 2.Rh8-c8 + 2...Sa8-c7 3.Rc8*c7 # 1...Qb8*h8 + 2.Kh3-g2 threat: 3.Sd3-b2 # 2...Qh8-h1 + 3.Kg2*h1 threat: 4.Sd3-b2 # 4.Sd3*e5 # 2...Qh8-h2 + 3.Kg2*h2 threat: 4.Sd3*e5 # 4.Sd3-b2 # 2...Qh8-h3 + 3.Kg2*h3 threat: 4.Sd3-b2 # 4.Sd3*e5 # 2...Qh8-b8 3.f5*g6 zugzwang. 3...Sa8-b6 4.Sd3-b2 # 3...Sa8-c7 4.Sd3*e5 # 3...Qb8-a7 4.Sd3*e5 # 4.Sd3-b2 # 3...Qb8-d6 4.Sd3-b2 # 3...Qb8-c7 4.Sd3-b2 # 3...Qb8-b1 4.Sd3*e5 # 3...Qb8-b2 4.Sd3*b2 # 3...Qb8-b3 4.Sd3*e5 # 3...Qb8-b4 4.Sd3*e5 # 3...Qb8-b5 4.Sd3*e5 # 3...Qb8-b6 4.Sd3*e5 # 3...Qb8-b7 4.Sd3*e5 # 3...Qb8-h8 4.Sd3-b2 # 3...Qb8-g8 4.Sd3-b2 # 4.Sd3*e5 # 3...Qb8-f8 4.Sd3*e5 # 4.Sd3-b2 # 3...Qb8-e8 4.Sd3-b2 # 3...Qb8-d8 4.Sd3-b2 # 4.Sd3*e5 # 3...Qb8-c8 4.Sd3*e5 # 4.Sd3-b2 #" --- authors: - Вукчевић, Милан Радоје source: Schweizerische Schachzeitung date: 1981 distinction: 1st Prize algebraic: white: [Kh8, Qc4, Re3, Be7, Sf7, Sd6, Ph3, Pf2] black: [Kf4, Qd1, Rg1, Ra5, Ba8, Ba1, Sd4, Sc1, Ph7, Pg2, Pf3, Pe6, Pd7, Pc2, Pb3] stipulation: "#5" solution: | "1.Be7-h4 ! threat: 2.Bh4-g3 # 1...Sc1-e2 2.Qc4-d5 threat: 3.Bh4-g5 # 3.Re3-e4 # 2...Qd1-d3 3.Bh4-g5 # 2...Se2-g3 3.Bh4*g3 # 3.Bh4-g5 # 2...Se2-c3 3.Bh4-g3 # 3.Bh4-g5 # 2...Sd4-f5 + 3.Kh8*h7 threat: 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...Ba1-f6 4.Re3-e4 # 4.Re3*f3 # 3...Qd1*d5 4.Bh4-g5 # 3...Qd1-d4 4.Bh4-g5 # 4.Re3*f3 # 3...Qd1-d3 4.Bh4-g5 # 3...Se2-c1 4.Bh4-g5 # 4.Re3-e4 # 3...Se2-g3 4.Bh4-g5 # 3...Se2-d4 4.Bh4-g5 # 4.Re3-e4 # 3...Se2-c3 4.Bh4-g5 # 3...Ra5-a4 4.Bh4-g5 # 4.Re3*f3 # 3...Ra5*d5 4.Bh4-g5 # 4.Re3-e4 # 3...Sf5-d4 4.Bh4-g5 # 4.Re3-e4 # 3...Sf5*e3 4.Bh4-g5 # 3...Sf5-g3 4.Bh4-g5 # 4.Re3*f3 # 3...Sf5*h4 4.Re3-e4 # 3...Sf5*d6 4.Bh4-g5 # 4.Re3*f3 # 3...e6*d5 4.Bh4-g5 # 3...Ba8*d5 4.Bh4-g5 # 2...Sd4-c6 + 3.Kh8*h7 threat: 4.Qd5*f3 # 4.Qd5-e4 # 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...Ba1-f6 4.Qd5*f3 # 4.Qd5-e4 # 4.Re3-e4 # 4.Re3*f3 # 3...Qd1*d5 4.Bh4-g5 + 4...Qd5*g5 5.Re3-e4 # 3...Qd1-d4 4.Qd5*f3 # 4.Bh4-g5 # 4.Re3*f3 # 3...Qd1-d3 + 4.Qd5-e4 + 4...Qd3*e4 + 5.Re3*e4 # 4.Re3-e4 + 4...Qd3*e4 + 5.Qd5*e4 # 3...Se2-c1 4.Qd5-e4 # 4.Bh4-g3 # 4.Bh4-g5 # 4.Re3-e4 # 3...Se2-g3 4.Bh4*g3 # 4.Bh4-g5 # 3...Se2-d4 4.Qd5-e4 # 4.Bh4-g3 # 4.Bh4-g5 # 4.Re3-e4 # 3...Se2-c3 4.Bh4-g3 # 4.Bh4-g5 # 3...Ra5-a4 4.Qd5*f3 # 4.Qd5-g5 # 4.Bh4-g5 # 4.Re3*f3 # 3...Ra5*d5 4.Re3-e4 # 3...Sc6-b4 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...Sc6-d4 4.Bh4-g5 # 4.Re3-e4 # 3...Sc6-e5 4.Bh4-g5 # 4.Re3-e4 # 3...Sc6-e7 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...Sc6-d8 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...Sc6-b8 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...Sc6-a7 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...e6*d5 4.Bh4-g5 # 2...Sd4-b5 + 3.Kh8-g8 threat: 4.Qd5-g5 # 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...Ba1-f6 4.Re3-e4 # 4.Re3*f3 # 3...Ba1-e5 4.Re3*f3 # 4.Qd5*e5 # 4.Bh4-g5 # 4.Re3-e4 # 3...Qd1*d5 4.Re3-e4 + 4...Qd5*e4 5.Bh4-g5 # 3...Qd1-d4 4.Qd5-g5 # 4.Bh4-g5 # 4.Re3*f3 # 3...Qd1-d3 4.Qd5-g5 # 4.Bh4-g5 # 3...Se2-c1 4.Qd5-g5 # 4.Bh4-g3 # 4.Bh4-g5 # 4.Re3-e4 # 3...Se2-g3 4.Qd5-g5 # 4.Bh4*g3 # 4.Bh4-g5 # 3...Se2-d4 4.Qd5-g5 # 4.Qd5-e5 # 4.Bh4-g3 # 4.Bh4-g5 # 4.Re3-e4 # 3...Se2-c3 4.Qd5-g5 # 4.Qd5-e5 # 4.Bh4-g3 # 4.Bh4-g5 # 3...Ra5-a4 4.Qd5-g5 # 4.Bh4-g5 # 4.Re3*f3 # 3...Sb5-a3 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...Sb5-c3 4.Bh4-g5 # 4.Re3*f3 # 3...Sb5-d4 4.Bh4-g5 # 4.Re3-e4 # 3...Sb5*d6 4.Bh4-g5 # 4.Re3*f3 # 3...Sb5-c7 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...Sb5-a7 4.Bh4-g5 # 4.Re3-e4 # 4.Re3*f3 # 3...e6-e5 4.Re3*f3 # 4.Bh4-g5 # 4.Re3-e4 # 3...e6*d5 4.Bh4-g5 # 3...h7-h6 4.Re3-e4 # 4.Re3*f3 # 3...Ba8*d5 4.Bh4-g5 # 2...Ra5*d5 3.Re3-e4 # 2...e6*d5 3.Bh4-g5 # 2...h7-h6 3.Re3-e4 # 2...Ba8*d5 3.Bh4-g5 # 1...Ra5-g5 2.Bh4*g5 #" --- authors: - Вукчевић, Милан Радоје source: Chess Life date: 1986 distinction: 2nd Place algebraic: white: [Kd8, Qe4, Re8, Rc8, Bh8, Bh5, Sb6, Pg4] black: [Kf6, Qd1, Rg7, Rc1, Be1, Ba4, Pg5, Pe5, Pe2, Pd3, Pc5, Pb5] stipulation: "s#3" solution: | "1.Qe4*d3 ! threat: 2.Qd3-d6 + 2...Qd1*d6 + 3.Sb6-d7 + 3...Qd6*d7 # 1...Qd1-b3 2.Qd3-f3 + 2...Qb3*f3 3.Sb6-d5 + 3...Qf3*d5 # 1...Qd1-c2 2.Qd3-f5 + 2...Qc2*f5 3.Sb6-d7 + 3...Qf5*d7 # 1...Be1-d2 2.Qd3-f3 + 2...Bd2-f4 + 3.Sb6-d7 + 3...Qd1*d7 # 1...Ba4-b3 2.Sb6-d5 + 2...Bb3*d5 3.Qd3-f3 + 3...Bd5*f3 # 1...b5-b4 2.Sb6-d7 + 2...Ba4*d7 3.Qd3-f5 + 3...Bd7*f5 #" --- authors: - Вукчевић, Милан Радоје source: Olympic Ty. date: 1984 distinction: 2nd Place algebraic: white: [Kh2, Rh5, Rf1, Be1, Bd1, Sh3, Sg7, Pf6, Pd3, Pc3, Pa4] black: [Kg4, Qc7, Rd7, Ra5, Be3, Bc6, Sd6, Pg5, Pf7, Pf4, Pf3, Pb6] stipulation: "#3" solution: | "1.d3-d4 ! threat: 2.d4-d5 threat: 3.Rh5*g5 # 3.Bd1*f3 # 2...Be3-g1 + 3.Rf1*g1 # 2...Be3-f2 3.Sh3*f2 # 2...Ra5*d5 3.Bd1*f3 # 2...Bc6*d5 3.Rh5*g5 # 2...Sd6-e4 3.Bd1*f3 # 1...Be3*d4 2.c3*d4 threat: 3.Sh3-f2 # 3.Rf1-g1 # 2...Sd6-e4 3.Bd1*f3 # 2...Sd6-f5 3.Rh5*g5 # 3.Sh3-f2 # 1...Ra5-f5 2.Rf1-f2 threat: 3.Rf2-g2 # 2...Be3*f2 3.Sh3*f2 # 2...Sd6-e4 3.Bd1*f3 # 1...Ra5-e5 2.d4*e5 threat: 3.Rh5*g5 # 2...Be3-g1 + 3.Rf1*g1 # 2...Be3-f2 3.Sh3*f2 # 2...Sd6-e4 3.Bd1*f3 # 1...Ra5-b5 2.a4*b5 threat: 3.Rh5*g5 # 2...Be3-g1 + 3.Rf1*g1 # 2...Be3-f2 3.Sh3*f2 # 2...Sd6-e4 3.Bd1*f3 # 1...Bc6-e4 2.Be1-f2 threat: 3.Rf1-g1 # 2...Be3*f2 3.Sh3*f2 # 2...Sd6-f5 3.Rh5*g5 #" --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 1998 distinction: 1st Prize algebraic: white: [Kc2, Qd3, Rh2, Ra1, Bb1, Sg4, Pg2, Pf2, Pe3, Pd2, Pb2, Pa2] black: [Kg1, Qh8, Bg8, Sf8, Pg7, Pe6] stipulation: "#3" solution: | "1.Qd3-h7 ! threat: 2.Rh2-h1 + 2...Kg1*g2 3.Qh7-e4 # 1...Sf8-g6 2.Kc2-c3 threat: 3.Bb1*g6 # 3.Bb1-f5 # 3.Bb1-e4 # 3.Bb1-d3 # 3.Bb1-c2 # 2...Kg1-f1 3.Bb1-d3 # 1...Sf8*h7 2.Kc2-d3 threat: 3.Bb1-c2 # 1...Bg8*h7 + 2.Kc2-b3 threat: 3.Bb1*h7 # 3.Bb1-g6 # 3.Bb1-f5 # 3.Bb1-e4 # 3.Bb1-d3 # 3.Bb1-c2 # 2...Kg1-f1 3.Bb1-d3 # 2...g7-g6 3.Bb1-d3 # 3.Bb1*g6 # 3.Bb1-f5 # 3.Bb1-e4 # 3.Bb1-c2 # 2...Bh7*b1 3.Ra1*b1 # 2...Bh7-c2 + 3.Bb1*c2 # 2...Bh7-d3 3.Bb1*d3 # 2...Bh7-e4 3.Bb1-d3 # 3.Bb1*e4 # 3.Bb1-c2 # 2...Bh7-f5 3.Bb1-c2 # 3.Bb1*f5 # 3.Bb1-e4 # 3.Bb1-d3 # 2...Bh7-g6 3.Bb1-d3 # 3.Bb1*g6 # 3.Bb1-f5 # 3.Bb1-e4 # 3.Bb1-c2 # 2...Sf8-g6 3.Bb1-c2 # 3.Bb1*g6 # 3.Bb1-f5 # 3.Bb1-e4 # 3.Bb1-d3 # 1...Qh8*h7 + 2.Kc2-c3 threat: 3.Bb1*h7 # 3.Bb1-g6 # 3.Bb1-f5 # 3.Bb1-e4 # 3.Bb1-d3 # 3.Bb1-c2 # 2...Kg1-f1 3.Bb1-d3 # 2...g7-g6 3.Bb1-d3 # 3.Bb1*g6 # 3.Bb1-f5 # 3.Bb1-e4 # 3.Bb1-c2 # 2...Qh7*b1 3.Ra1*b1 # 2...Qh7-c2 + 3.Bb1*c2 # 2...Qh7-d3 + 3.Bb1*d3 # 2...Qh7-e4 3.Bb1-d3 # 3.Bb1*e4 # 3.Bb1-c2 # 2...Qh7-f5 3.Bb1-c2 # 3.Bb1*f5 # 3.Bb1-e4 # 3.Bb1-d3 # 2...Qh7-g6 3.Bb1-d3 # 3.Bb1*g6 # 3.Bb1-f5 # 3.Bb1-e4 # 3.Bb1-c2 # 2...Qh7*h2 3.Bb1-e4 # 2...Sf8-g6 3.Bb1-e4 # 3.Bb1*g6 # 3.Bb1-f5 # 3.Bb1-d3 # 3.Bb1-c2 #" --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 1999 distinction: 1st Prize algebraic: white: [Ke4, Qh3, Rc8, Bf5, Bd8, Sc2, Ph2, Pg5, Pe2] black: [Kd6, Qa3, Rh8, Rb1, Bg8, Ba1, Sa4, Ph4, Pg2, Pf7, Pc5, Pc4, Pc3, Pb5, Pa6] stipulation: "#4" solution: | "1.Sc2-b4 ! threat: 2.Rc8-c6 # 1...Rb1*b4 2.Qh3-f3 threat: 3.Qf3-f4 # 2...Qa3-c1 3.Rc8-c6 + 3...Kd6*c6 4.Ke4-e5 # 2...c3-c2 3.Qf3-f4 + 3...Ba1-e5 4.Qf4*e5 # 1...Qa3*b4 2.Qh3-e3 threat: 3.Qe3-f4 # 2...Rb1-f1 3.Bd8-e7 + 3...Kd6*e7 4.Ke4-d5 # 2...c3-c2 3.Qe3-f4 + 3...Ba1-e5 4.Qf4*e5 # 1...c5*b4 2.Qh3-e3 threat: 3.Qe3-f4 # 3.Qe3-d4 # 2...Rb1-f1 3.Qe3-d4 # 2...Rb1-d1 3.Qe3-f4 # 2...g2-g1=Q 3.Qe3-f4 # 2...g2-g1=B 3.Qe3-f4 # 2...Qa3-c1 3.Qe3-d4 # 2...c3-c2 3.Qe3-f4 + 3...Ba1-e5 4.Qf4*e5 # 2...Sa4-c5 + 3.Qe3*c5 # 2...Sa4-b6 3.Qe3-f4 # 3.Qe3*b6 # 3.Qe3-c5 # 2...f7-f6 3.Qe3-f4 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1982 distinction: 1st Prize algebraic: white: [Kg7, Qc5, Rf1, Rb4, Sf5, Sd7, Pg6, Pg2, Pe3, Pd2] black: [Ke4, Qh4, Ra6, Ra4, Bb8, Ba8, Sc2, Ph6, Pg4, Pf6, Pe5, Pd5, Pd3, Pc4] stipulation: "#3" solution: | "1.Rb4-b5 ! threat: 2.Qc5*d5 + 2...Ba8*d5 3.Sd7-c5 # 1...Qh4-f2 2.Rf1*f2 threat: 3.Sf5-g3 # 1...Ra6-a7 2.Qc5-c7 threat: 3.Sd7-c5 # 3.Sf5-d6 # 2...Sc2*e3 3.Sd7-c5 # 2...Ra4-a6 3.Sd7-c5 # 2...Qh4-f2 3.Sf5-d6 # 2...d5-d4 3.Sf5-d6 # 2...Ra7-a6 3.Sd7-c5 # 2...Ra7*c7 3.Sf5-d6 # 2...Bb8*c7 3.Sd7-c5 # 1...Ra6-d6 2.Qc5-d4 + 2...Sc2*d4 3.Sd7-c5 # 2...e5*d4 3.Rf1-f4 # 1...Bb8-a7 2.Qc5-b6 threat: 3.Sd7-c5 # 3.Sf5-d6 # 2...Qh4-f2 3.Sf5-d6 # 2...d5-d4 3.Sf5-d6 # 2...Ra6*b6 3.Sd7-c5 # 2...Ba7*b6 3.Sf5-d6 # 2...Ba7-b8 3.Sd7-c5 # 1...Bb8-d6 2.Sf5-g3 + 2...Qh4*g3 3.Sd7*f6 #" --- authors: - Вукчевић, Милан Радоје source: Phénix date: 1999 distinction: 1st Prize algebraic: white: [Kf6, Qb5, Rd7, Rd3, Be5, Sa4, Pg3, Pf4, Pe2, Pb6] black: [Ke4, Rc8, Rc1, Bd5, Sa5, Sa2, Ph4, Pg6, Pf7, Pe6, Pb4] stipulation: "#3" solution: | "1.Rd7-e7 ! threat: 2.Qb5*d5 + 2...e6*d5 3.Be5-a1 # 3.Be5-b2 # 3.Be5-c3 # 3.Be5-d4 # 3.Be5-b8 # 3.Be5-c7 # 3.Be5-d6 # 1...Rc1-c5 2.Qb5*c5 threat: 3.Qc5-e3 # 3.Qc5-d4 # 3.Rd3-e3 # 2...Sa5-b3 3.Qc5-e3 # 3.Rd3-e3 # 2...Sa5-c4 3.Qc5-d4 # 2...Sa5-c6 3.Qc5-e3 # 3.Rd3-e3 # 2...Rc8*c5 3.Sa4*c5 # 1...Sa2-c3 2.Qb5-c5 threat: 3.Qc5-e3 # 3.Qc5-d4 # 3.Rd3-e3 # 2...Sc3-d1 3.Qc5-d4 # 2...Sc3*e2 3.Qc5-e3 # 3.Rd3-e3 # 2...Sc3-b5 3.Qc5-e3 # 3.Rd3-e3 # 2...Sa5-b3 3.Qc5-e3 # 3.Rd3-e3 # 2...Sa5-c4 3.Qc5-d4 # 2...Sa5-c6 3.Qc5-e3 # 3.Rd3-e3 # 2...Rc8*c5 3.Sa4*c5 # 1...Sa5-c4 2.Qb5-c5 threat: 3.Qc5-d4 # 2...Rc8*c5 3.Sa4*c5 # 1...Sa5-c6 2.Qb5-c5 threat: 3.Qc5-e3 # 3.Rd3-e3 # 2...Rc1*c5 3.Sa4*c5 # 2...Rc1-c3 3.Qc5-e3 # 2...Sc6-d4 3.Qc5*d4 # 1...Bd5-b3 2.Be5-c3 threat: 3.Qb5-e5 # 2...Bb3-d5 3.Qb5*d5 # 2...Sa5-c4 3.Qb5-d5 # 2...Sa5-c6 3.Sa4-c5 # 2...Rc8-c5 3.Sa4*c5 # 1...Bd5-c4 2.Qb5-c5 threat: 3.Qc5-e3 # 3.Qc5-d4 # 3.Rd3-e3 # 2...Rc1-c3 3.Qc5-e3 # 3.Qc5-d4 # 2...Bc4*d3 3.Qc5-d4 # 2...Sa5-b3 3.Qc5-e3 # 3.Rd3-e3 # 2...Sa5-c6 3.Qc5-e3 # 3.Rd3-e3 # 2...Rc8*c5 3.Sa4*c5 # 2...Rc8-d8 3.Qc5-e3 # 3.Rd3-e3 # 1...Bd5-a8 2.Be5-c7 threat: 3.Qb5-e5 # 2...Rc1-c5 3.Sa4*c5 # 2...Sa5-c4 3.Sa4-c5 # 2...Sa5-c6 3.Qb5-d5 # 2...Ba8-d5 3.Qb5*d5 # 1...Bd5-b7 2.Be5-c7 threat: 3.Qb5-e5 # 2...Rc1-c5 3.Sa4*c5 # 2...Sa5-c4 3.Sa4-c5 # 2...Sa5-c6 3.Qb5-d5 # 2...Bb7-d5 3.Qb5*d5 # 1...Bd5-c6 2.Qb5-c5 threat: 3.Qc5-e3 # 3.Qc5-d4 # 3.Rd3-e3 # 2...Rc1*c5 3.Sa4*c5 # 2...Rc1-c4 3.Qc5-e3 # 3.Rd3-e3 # 2...Rc1-c3 3.Qc5-e3 # 3.Qc5-d4 # 2...Sa5-b3 3.Qc5-e3 # 3.Rd3-e3 # 2...Sa5-c4 3.Qc5-d4 # 2...Rc8-d8 3.Qc5-e3 # 3.Rd3-e3 # 1...Rc8-c5 2.Qb5*c5 threat: 3.Qc5-e3 # 3.Qc5-d4 # 3.Rd3-e3 # 2...Rc1*c5 3.Sa4*c5 # 2...Rc1-c4 3.Qc5-e3 # 3.Rd3-e3 # 2...Rc1-c3 3.Qc5-e3 # 3.Qc5-d4 # 2...Sa5-b3 3.Qc5-e3 # 3.Rd3-e3 # 2...Sa5-c4 3.Qc5-d4 # 2...Sa5-c6 3.Qc5-e3 # 3.Rd3-e3 # 1...Rc8-e8 2.Qb5-c5 threat: 3.Qc5-e3 # 3.Qc5-d4 # 3.Rd3-e3 # 2...Rc1*c5 3.Sa4*c5 # 2...Rc1-c4 3.Qc5-e3 # 3.Rd3-e3 # 2...Rc1-c3 3.Qc5-e3 # 3.Qc5-d4 # 2...Sa5-b3 3.Qc5-e3 # 3.Rd3-e3 # 2...Sa5-c4 3.Qc5-d4 # 2...Sa5-c6 3.Qc5-e3 # 3.Rd3-e3 # 1...Rc8-d8 2.Qb5-c5 threat: 3.Qc5-e3 # 3.Qc5-d4 # 3.Rd3-e3 # 2...Rc1*c5 3.Sa4*c5 # 2...Rc1-c4 3.Qc5-e3 # 3.Rd3-e3 # 2...Rc1-c3 3.Qc5-e3 # 3.Qc5-d4 # 2...Sa5-b3 3.Qc5-e3 # 3.Rd3-e3 # 2...Sa5-c4 3.Qc5-d4 # 2...Sa5-c6 3.Qc5-e3 # 3.Rd3-e3 # 2...Bd5-b3 3.Qc5-e3 # 3.Rd3-e3 # 2...Bd5-c4 3.Qc5-e3 # 3.Rd3-e3 # 2...Bd5-a8 3.Qc5-e3 # 3.Rd3-e3 # 2...Bd5-b7 3.Qc5-e3 # 3.Rd3-e3 # 2...Bd5-c6 3.Qc5-e3 # 3.Rd3-e3 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin distinction: 1st Prize algebraic: white: [Kg6, Qb2, Rb3, Bd5, Pg7, Pf3, Pa4] black: [Kg8, Qf4, Re2, Bg3, Se6, Ph5, Pg5, Pf5, Pe7, Pd3, Pc5, Pc2] stipulation: "#5" solution: | "1.Qb2-a2 ! threat: 2.Rb3-b8 + 2...Qf4*b8 3.Bd5*e6 + 3...Re2*e6 + 4.Qa2*e6 # 1...Qf4-e3 2.f3-f4 threat: 3.Rb3-b8 # 2...Qe3*f4 3.Rb3-b8 + 3...Qf4*b8 4.Bd5*e6 + 4...Re2*e6 + 5.Qa2*e6 # 2...Qe3-e5 3.f4*e5 threat: 4.Bd5*e6 # 4.Rb3-b8 # 3...Re2*e5 4.Rb3-b8 # 3...Bg3*e5 4.Bd5*e6 # 2...Bg3*f4 3.Qa2-b2 threat: 4.Rb3-b8 + 4...Bf4*b8 5.Qb2*b8 # 3...Qe3-e5 4.Qb2*e5 threat: 5.Bd5*e6 # 5.Rb3-b8 # 4...Re2*e5 5.Rb3-b8 # 4...Bf4*e5 5.Bd5*e6 # 3...Qe3-g3 4.Qb2-e5 threat: 5.Bd5*e6 # 5.Rb3-b8 # 4...Re2*e5 5.Rb3-b8 # 4...Bf4*e5 5.Bd5*e6 # 1...Qf4-b4 2.Rb3*b4 threat: 3.Bd5*e6 + 3...Re2*e6 + 4.Qa2*e6 # 2...c5-c4 3.Bd5*c4 threat: 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3.a4-a5 threat: 4.Qa2-a4 threat: 5.Qa4-e8 # 3.Qa2*c4 threat: 4.Qc4-c8 # 3...c2-c1=Q 4.Bd5*e6 + 4...Re2*e6 + 5.Qc4*e6 # 3...c2-c1=R 4.Bd5*e6 + 4...Re2*e6 + 5.Qc4*e6 # 3...Bg3-c7 4.Bd5*e6 + 4...Re2*e6 + 5.Qc4*e6 # 4.Qc4-b5 threat: 5.Qb5-e8 # 4.Qc4*c7 threat: 5.Qc7-d8 # 5.Qc7-b8 # 5.Qc7-c8 # 5.Rb4-b8 # 4...c2-c1=Q 5.Qc7-d8 # 5.Rb4-b8 # 4...c2-c1=R 5.Qc7-d8 # 5.Rb4-b8 # 4.Qc4-c6 threat: 5.Qc6-e8 # 4.Rb4-b8 + 4...Bc7-d8 5.Rb8*d8 # 4...Bc7*b8 5.Qc4-c8 # 3.Qa2-b2 threat: 4.Rb4-b8 + 4...Bg3*b8 5.Qb2*b8 # 4.Qb2-e5 threat: 5.Bd5*e6 # 5.Rb4-b8 # 4...Re2*e5 5.Rb4-b8 # 4...Bg3*e5 5.Bd5*e6 # 3...Bg3-c7 4.Rb4-b8 + 4...Bc7-d8 5.Rb8*d8 # 4...Bc7*b8 5.Qb2*b8 # 3...Bg3-d6 4.Rb4-b8 + 4...Bd6*b8 5.Qb2*b8 # 3...c4-c3 4.Rb4-b8 + 4...Bg3*b8 5.Qb2*b8 # 1...Qf4-c4 2.Rb3-b8 + 2...Bg3*b8 3.Bd5*c4 threat: 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3.Qa2*c4 threat: 4.Bd5*e6 + 4...Re2*e6 + 5.Qc4*e6 # 4.Qc4-b5 threat: 5.Qb5-e8 # 5.Qb5*b8 # 4...Bb8-a7 5.Qb5-e8 # 4...Bb8-h2 5.Qb5-e8 # 4...Bb8-g3 5.Qb5-e8 # 4...Bb8-f4 5.Qb5-e8 # 4...Bb8-e5 5.Bd5*e6 # 5.Qb5-e8 # 4...Bb8-d6 5.Qb5-e8 # 4...Bb8-c7 5.Qb5-e8 # 3...Re2-e5 4.Bd5*e6 + 4...Re5*e6 + 5.Qc4*e6 # 2.Bd5*c4 threat: 3.Rb3-b1 threat: 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3.Rb3-b2 threat: 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3.Rb3-a3 threat: 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3.Rb3-b8 + 3...Bg3*b8 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3.Rb3-b7 threat: 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3.Rb3-b6 threat: 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3.Rb3-b5 threat: 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3.Rb3-b4 threat: 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3.Rb3*d3 threat: 4.Rd3-d8 # 3...Re2-d2 4.Bc4*e6 # 3...Bg3-c7 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3...Bg3-d6 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3.Rb3-c3 threat: 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3.Qa2-b2 threat: 4.Rb3-b8 + 4...Bg3*b8 5.Qb2*b8 # 4.Qb2-e5 threat: 5.Bc4*e6 # 5.Rb3-b8 # 4...Re2*e5 5.Rb3-b8 # 4...Bg3*e5 5.Bc4*e6 # 3...c2-c1=Q 4.Rb3-b8 + 4...Bg3*b8 5.Qb2*b8 # 3...c2-c1=R 4.Rb3-b8 + 4...Bg3*b8 5.Qb2*b8 # 4.Qb2*e2 threat: 5.Bc4*e6 # 5.Qe2*e6 # 4...Rc1*c4 5.Qe2*e6 # 4...Rc1-e1 5.Bc4*e6 # 4...d3*e2 5.Bc4*e6 # 4...Bg3-e5 5.Bc4*e6 # 3...Bg3-c7 4.Rb3-b8 + 4...Bc7-d8 5.Rb8*d8 # 4...Bc7*b8 5.Qb2*b8 # 3...Bg3-d6 4.Rb3-b8 + 4...Bd6*b8 5.Qb2*b8 # 2...c2-c1=Q 3.Rb3-b8 + 3...Bg3*b8 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 2...d3-d2 3.Rb3-b1 threat: 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3.Rb3-b2 threat: 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3.Rb3-a3 threat: 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3.Rb3-b8 + 3...Bg3*b8 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3.Rb3-b7 threat: 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3.Rb3-b6 threat: 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3.Rb3-b5 threat: 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3.Rb3-b4 threat: 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3.Rb3-e3 threat: 4.Bc4*e6 # 3...Re2*e3 4.Bc4*e6 + 4...Re3*e6 + 5.Qa2*e6 # 3.Rb3-d3 threat: 4.Rd3-d8 # 3...d2-d1=Q 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3...d2-d1=R 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3...Bg3-c7 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3...Bg3-d6 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 3.Rb3-c3 threat: 4.Bc4*e6 + 4...Re2*e6 + 5.Qa2*e6 # 1...Qf4-e4 2.Rb3-b8 + 2...Bg3*b8 3.f3*e4 threat: 4.Bd5*e6 # 3...Re2*e4 4.Bd5*e6 + 4...Re4*e6 + 5.Qa2*e6 # 2.f3*e4 threat: 3.Bd5*e6 # 2...Re2*e4 3.a4-a5 threat: 4.Qa2-a4 threat: 5.Qa4-e8 # 4...Re4*a4 5.Bd5*e6 # 3.Rb3-b8 + 3...Bg3*b8 4.Bd5*e6 + 4...Re4*e6 + 5.Qa2*e6 # 3.Qa2-b2 threat: 4.Rb3-b8 + 4...Bg3*b8 5.Qb2*b8 # 4.Qb2-e5 threat: 5.Bd5*e6 # 5.Rb3-b8 # 4...Bg3*e5 5.Bd5*e6 # 4...Re4-b4 5.Bd5*e6 # 5.Qe5*e6 # 4...Re4*e5 5.Rb3-b8 # 3...Bg3-c7 4.Rb3-b8 + 4...Bc7-d8 5.Rb8*d8 # 4...Bc7*b8 5.Qb2*b8 # 3...Bg3-d6 4.Rb3-b8 + 4...Bd6*b8 5.Qb2*b8 # 1...c5-c4 2.Qa2-a3 threat: 3.Qa3*e7 threat: 4.Qe7-f8 # 4.Qe7-d8 # 4.Qe7-e8 # 4.Qe7-f7 # 3...Qf4-b8 4.Qe7-f7 # 3...Qf4-c7 4.Qe7-f8 # 4.Qe7-e8 # 3...Qf4-d6 4.Qe7-f7 # 2...Qf4-c7 3.Rb3-b8 + 3...Qc7-d8 4.Rb8*d8 # 3...Qc7*b8 4.Qa3*e7 threat: 5.Qe7-f7 # 4...Qb8-a7 5.Qe7-f8 # 5.Qe7-d8 # 5.Qe7-e8 # 4...Qb8-c7 5.Qe7-f8 # 5.Qe7-e8 # 4...Qb8-b7 5.Qe7-f8 # 5.Qe7-d8 # 5.Qe7-e8 # 4...Qb8-f8 5.g7*f8=Q # 5.g7*f8=R # 5.Qe7*f8 # 4...Qb8-e8 + 5.Qe7*e8 # 3...Qc7-c8 4.Rb8*c8 # 2...Qf4-d6 3.Rb3-b8 + 3...Qd6*b8 4.Qa3*e7 threat: 5.Qe7-f7 # 4...Qb8-a7 5.Qe7-f8 # 5.Qe7-d8 # 5.Qe7-e8 # 4...Qb8-c7 5.Qe7-f8 # 5.Qe7-e8 # 4...Qb8-b7 5.Qe7-f8 # 5.Qe7-d8 # 5.Qe7-e8 # 4...Qb8-f8 5.g7*f8=Q # 5.g7*f8=R # 5.Qe7*f8 # 4...Qb8-e8 + 5.Qe7*e8 # 3...Qd6-d8 4.Rb8*d8 # 2...Qf4-e5 3.Qa3*e7 threat: 4.Qe7-f8 # 4.Qe7-d8 # 4.Qe7-e8 # 4.Qe7-f7 # 3...Qe5*g7 + 4.Qe7*g7 # 3...Qe5-f6 + 4.Qe7*f6 threat: 5.Qf6-d8 # 5.Qf6-f8 # 5.Qf6-f7 # 4...Bg3-c7 5.Qf6-f8 # 5.Qf6-f7 # 4...Bg3-d6 5.Qf6-f7 # 3...Qe5-b8 4.Qe7-f7 # 3...Qe5-c7 4.Qe7-f8 # 4.Qe7-e8 # 3...Qe5-d6 4.Qe7-f7 # 3...Qe5*d5 4.Qe7-f7 # 3.Rb3-b8 + 3...Qe5*b8 4.Qa3*e7 threat: 5.Qe7-f7 # 4...Qb8-a7 5.Qe7-f8 # 5.Qe7-d8 # 5.Qe7-e8 # 4...Qb8-c7 5.Qe7-f8 # 5.Qe7-e8 # 4...Qb8-b7 5.Qe7-f8 # 5.Qe7-d8 # 5.Qe7-e8 # 4...Qb8-f8 5.g7*f8=Q # 5.g7*f8=R # 5.Qe7*f8 # 4...Qb8-e8 + 5.Qe7*e8 # 2...Qf4-d4 3.Qa3*e7 threat: 4.Qe7-f8 # 4.Qe7-d8 # 4.Qe7-e8 # 4.Qe7-f7 # 3...Bg3-c7 4.Qe7-f8 # 4.Qe7-e8 # 4.Qe7-f7 # 3...Bg3-d6 4.Qe7-f7 # 3...Qd4*g7 + 4.Qe7*g7 # 3...Qd4-f6 + 4.Qe7*f6 threat: 5.Qf6-d8 # 5.Qf6-f8 # 5.Qf6-f7 # 4...Bg3-c7 5.Qf6-f8 # 5.Qf6-f7 # 4...Bg3-d6 5.Qf6-f7 # 3...Qd4-a7 4.Qe7-f8 # 4.Qe7-d8 # 4.Qe7-e8 # 3...Qd4-b6 4.Qe7-f8 # 4.Qe7-e8 # 4.Qe7-f7 # 3...Qd4-c5 4.Qe7-f7 # 3...Qd4*d5 4.Qe7-f7 # 2...Qf4-e4 3.Qa3*e7 threat: 4.Qe7-f8 # 4.Qe7-d8 # 4.Qe7-e8 # 4.Qe7-f7 # 3...Bg3-c7 4.Qe7-f8 # 4.Qe7-e8 # 4.Qe7-f7 # 3...Bg3-d6 4.Qe7-f7 # 3...Qe4*d5 4.Qe7-f7 # 3...f5-f4 + 4.Bd5*e4 threat: 5.Qe7*e6 # 5.Qe7-f7 # 4...Re2*e4 5.Qe7-f7 # 4...Se6-c5 5.Qe7-f8 # 5.Qe7-d8 # 5.Qe7-e8 # 5.Qe7-f7 # 5.Rb3-b8 # 4...Se6-d4 5.Qe7-f8 # 5.Qe7-d8 # 5.Qe7-e8 # 5.Qe7-f7 # 5.Rb3-b8 # 4...Se6*g7 5.Qe7*g7 # 4...Se6-f8 + 5.g7*f8=Q # 5.g7*f8=R # 5.Qe7*f8 # 4...Se6-d8 5.Qe7-f8 # 5.Qe7*d8 # 5.Qe7-e8 # 4...Se6-c7 5.Qe7-f8 # 5.Qe7-f7 # 4.f3*e4 threat: 5.Qe7-f7 # 5.Qe7-f8 # 5.Qe7-d8 # 5.Qe7*e6 # 5.Qe7-e8 # 5.Bd5*e6 # 5.Rb3-b8 # 4...Re2*e4 5.Qe7-f8 # 5.Qe7-d8 # 5.Qe7-e8 # 5.Qe7-f7 # 5.Rb3-b8 # 4...c4*b3 5.Qe7-f8 # 5.Qe7-d8 # 5.Qe7*e6 # 5.Qe7-e8 # 5.Qe7-f7 # 5.Bd5*e6 # 4...f4-f3 5.Qe7-f8 # 5.Qe7-d8 # 5.Qe7*e6 # 5.Qe7-e8 # 5.Qe7-f7 # 5.Bd5*e6 # 3.f3*e4 threat: 4.Bd5*e6 # 3...Re2*e4 4.Qa3*e7 threat: 5.Qe7-f8 # 5.Qe7-d8 # 5.Qe7-e8 # 5.Qe7-f7 # 4...Bg3-c7 5.Qe7-f8 # 5.Qe7-e8 # 5.Qe7-f7 # 4...Bg3-d6 5.Qe7-f7 # 2...g5-g4 3.Rb3-b8 + 3...Qf4*b8 4.Qa3*e7 threat: 5.Qe7-f7 # 4...Qb8-a7 5.Qe7-f8 # 5.Qe7-d8 # 5.Qe7-e8 # 4...Qb8-c7 5.Qe7-f8 # 5.Qe7-e8 # 4...Qb8-b7 5.Qe7-f8 # 5.Qe7-d8 # 5.Qe7-e8 # 4...Qb8-f8 5.g7*f8=Q # 5.g7*f8=R # 5.Qe7*f8 # 4...Qb8-e8 + 5.Qe7*e8 #" --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1994 distinction: 1st Prize algebraic: white: [Kf5, Qg8, Rh6, Rc6, Se7, Sa5, Pg4, Pd6, Pb6] black: [Kd7, Qb2, Rc2, Bc3, Bb1, Sh3, Sg1, Pg5, Pb4, Pa2] stipulation: "s#3" solution: | "1.Rh6-h7 ! threat: 2.Se7-c8 + 2...Bc3-g7 3.Rc6-c7 + 3...Rc2*c7 # 1...Qb2-b3 2.Rc6-c7 + 2...Kd7*d6 3.Qg8-e6 + 3...Qb3*e6 # 1...Bc3-g7 2.Rc6-c7 + 2...Kd7*d6 3.Sa5-c4 + 3...Rc2*c4 # 1...Sh3-f2 2.Se7-d5 + 2...Bc3-g7 3.Sd5-f6 + 3...Qb2*f6 # 1...Sh3-f4 2.Se7-g6 + 2...Bc3-g7 3.Sg6-e5 + 3...Qb2*e5 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1994 distinction: 1st Prize algebraic: white: [Kh5, Qh2, Rg6, Be6, Se8, Sc1, Pc7, Pc5, Pb4] black: [Kd4, Rf8, Ra8, Ph6, Pf5, Pc6, Pb5, Pa4, Pa3] stipulation: "#3" solution: | "1.Rg6-g2 ! threat: 2.Qh2-f4 + 2...Kd4-c3 3.Qf4-d2 # 1...Kd4-e4 2.Rg2-e2 + 2...Ke4-d4 3.Qh2-e5 # 2...Ke4-f3 3.Qh2-f2 # 1...Kd4-e3 2.Rg2-e2 + 2...Ke3-f3 3.Qh2-f2 # 2...Ke3-d4 3.Qh2-e5 # 1...Kd4-c3 2.Rg2-c2 + 2...Kc3*b4 3.Qh2-d2 # 2...Kc3-d4 3.Qh2-f4 # 1...f5-f4 2.Rg2-d2 + 2...Kd4-e4 3.Qh2-e2 # 2...Kd4-e5 3.Qh2-e2 # 2...Kd4-e3 3.Qh2-e2 # 2...Kd4-c3 3.Sc1-a2 # 1...Ra8-d8 2.c7*d8=Q + 2...Kd4-c3 3.Sc1-a2 # 3.Qd8-d2 # 2...Kd4-e4 3.Qd8-d3 # 2...Kd4-e3 3.Qd8-d3 #" --- authors: - Вукчевић, Милан Радоје source: Mat Plus date: 1996 distinction: 1st Prize algebraic: white: [Ka1, Qh7, Rh4, Rd8, Bf3, Bc1, Sd3, Sa5, Pf4, Pe4, Pc4, Pc2, Pb2] black: [Kd4, Rf8, Bd6, Bd5, Sc8, Pg6, Pf6, Pe6, Pc7] stipulation: "#3" solution: | "1.Bf3-h1 ! threat: 2.Rh4-h3 threat: 3.c2-c3 # 3.Bc1-e3 # 2...Bd6-b4 3.Bc1-e3 # 2...Bd6*f4 3.c2-c3 # 1...Bd5*e4 2.Qh7*g6 threat: 3.Qg6*e4 # 3.Qg6-g1 # 2...Be4*d3 3.Qg6-g1 # 2...Be4*h1 3.c2-c3 # 2...Be4-g2 3.c2-c3 # 2...Be4-f3 3.c2-c3 # 2...Be4*g6 3.f4-f5 # 2...Be4-f5 3.Qg6-g1 # 2...Be4-a8 3.Qg6-g1 # 3.c2-c3 # 2...Be4-b7 3.Qg6-g1 # 3.c2-c3 # 2...Be4-c6 3.Qg6-g1 # 3.c2-c3 # 2...Be4-d5 3.Qg6-g1 # 3.c2-c3 # 2...f6-f5 3.Qg6-g1 # 2...Rf8-g8 3.Qg6*e4 # 1...Bd6-b4 2.Qh7*c7 threat: 3.Sa5-b3 # 2...Bb4-d2 3.Qc7-c5 # 2...Bb4-c5 3.Qc7*c5 # 2...Bb4*a5 3.Qc7-c5 # 1...Bd6*f4 2.Qh7*c7 threat: 3.Qc7-c5 # 3.Sa5-b3 # 2...Bf4*c1 3.Qc7-c5 # 2...Bf4-d2 3.Qc7-c5 # 2...Bf4*c7 3.e4-e5 # 2...Bf4-d6 3.Sa5-b3 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1982 distinction: 1st Prize algebraic: white: [Kd5, Qe3, Rf3, Rb5, Bf4, Bc6, Ph3, Pg5, Pd4, Pd2, Pc4] black: [Kf5, Rd7, Rc7, Bh1, Bf8, Sd8, Sa8, Ph2, Pg6, Pd6, Pb6] stipulation: "s#2" solution: | "1.Qe3-e7 ! threat: 2.Bf4-e5 + 2...Bh1*f3 # 1...Bh1*f3 + 2.Qe7-e4 + 2...Bf3*e4 # 1...Rd7*e7 2.Kd5*d6 + 2...Re7-e5 # 1...Sd8-e6 2.Bf4*d6 + 2...Se6-f4 # 2...Bh1*f3 # 1...Bf8*e7 2.Bf4-e3 + 2...Bh1*f3 #" --- authors: - Вукчевић, Милан Радоје source: Arguelles JT date: 1982 distinction: 1st Prize algebraic: white: [Kh4, Re8, Ra5, Bg7, Se7, Se2, Pg6, Pg3, Pd3] black: [Ke6, Qc5, Rb4, Ra3, Bd5, Bb8, Sh3, Sf2, Pg4, Pe4, Pd7, Pd6, Pc6, Pa2] stipulation: "#3" solution: | "1.Kh4-h5 ! threat: 2.Se7-g8 + 2...Ke6-f5 3.Sg8-h6 # 1...Qc5-e3 2.Se7*c6 + 2...Ke6-f5 3.Ra5*d5 # 2.Se7*d5 + 2...Ke6-f5 3.Sd5*e3 # 1...Qc5-c1 2.Se7*c6 + 2...Ke6-f5 3.Ra5*d5 # 2.Se7*d5 + 2...Ke6-f5 3.Sd5-e3 # 1...Bd5-b3 + 2.Se7-d5 + 2...Ke6-f5 3.Sd5-e3 # 2...Ke6*d5 3.Se2-c3 # 1...Bd5-c4 + 2.Se7-f5 + 2...Ke6*f5 3.Se2-d4 # 2...Ke6-d5 3.Sf5-e3 #" --- authors: - Вукчевић, Милан Радоје source: Neue Zürcher Zeitung date: 1989 distinction: 1st Prize algebraic: white: [Kg5, Qf3, Rg6, Bf7, Sf5, Sa3, Ph5, Pd5, Pb5, Pb3] black: [Ke5, Qa8, Rc8, Ra6, Bd8, Se2, Sb7, Pe7, Pe6, Pd4, Pc4, Pa5, Pa4] stipulation: "#3" solution: | "1.h5-h6 ! threat: 2.h6-h7 threat: 3.h7-h8=Q # 3.h7-h8=B # 2...e6*d5 3.Qf3*e2 # 3.Qf3*d5 # 2...e6*f5 3.Qf3*e2 # 3.Qf3*f5 # 2...Bd8-b6 3.Rg6*e6 # 2...Bd8-c7 3.Sa3*c4 # 1...Se2-g1 2.Qf3-f4 + 2...Ke5*d5 3.Qf4*d4 # 1...Se2-g3 2.Qf3-f4 + 2...Ke5*d5 3.Qf4*d4 # 1...Se2-f4 2.Qf3*f4 + 2...Ke5*d5 3.Qf4*d4 # 1...Se2-c3 2.Qf3-f4 + 2...Ke5*d5 3.Qf4*d4 # 1...Ra6-d6 2.Bf7*e6 threat: 3.Qf3*e2 # 2...Se2-c1 3.Qf3-f4 # 2...Se2-g1 3.Qf3-f4 # 2...Se2-g3 3.Qf3-f4 # 2...Se2-f4 3.Qf3*f4 # 2...Se2-c3 3.Qf3-f4 # 2...d4-d3 3.Qf3-e3 # 2...Rd6*e6 3.Rg6*e6 # 2...Sb7-c5 3.Sa3*c4 # 1...Ra6-c6 2.Sa3*c4 + 2...Rc6*c4 3.Rg6*e6 # 1...Rc8-c5 2.b3*c4 threat: 3.Qf3*e2 # 2...Se2-c1 3.Qf3-f4 # 2...Se2-g1 3.Qf3-f4 # 2...Se2-g3 3.Qf3-f4 # 2...Se2-f4 3.Qf3*f4 # 2...Se2-c3 3.Qf3-f4 # 2...d4-d3 3.Qf3-e3 # 2...Rc5*c4 3.Sa3*c4 # 2...Sb7-d6 3.Rg6*e6 # 1...Rc8-c6 2.Rg6*e6 + 2...Rc6*e6 3.Sa3*c4 #" --- authors: - Вукчевић, Милан Радоје source: Chess Life date: 1990 distinction: 1st Prize algebraic: white: [Kf1, Qd1, Rh3, Ra4, Bh7, Bh2, Sd7, Sb6, Pg6, Pg2, Pc7, Pb4, Pb3] black: [Ke4, Rc6, Bf7, Be7, Pf5, Pe5, Pe3, Pd5, Pd4, Pa2] stipulation: "#3" solution: | "1.Sb6-c8 ! threat: 2.Sc8-d6 + 2...Rc6*d6 3.Sd7-c5 # 2...Be7*d6 3.Sd7-f6 # 1...Rc6*g6 2.Sd7-f6 + 2...Rg6*f6 3.Rh3-h4 # 2...Be7*f6 3.Sc8-d6 # 1...Be7*b4 2.Sd7-c5 + 2...Bb4*c5 3.Qd1-c2 # 2...Rc6*c5 3.Sc8-d6 #" keywords: - Novotny comments: - Check also 54153 --- authors: - Вукчевић, Милан Радоје source: Mat Plus date: 1996 distinction: 1st Prize algebraic: white: [Kf3, Qe1, Rc2, Be4, Bd2, Ph4, Pf6, Pd6, Pb6, Pb4] black: [Ke5, Ra2, Bg8, Ba5, Sh1, Pg3, Pf7, Pe6, Pd4, Pd3] stipulation: "#4" solution: | "1.Qc1! - 2.Bf4+ Kxf6 3.Be5+ Kxe5 4.Qf4# 1...Kxd6 2.Rc6+ Kd7 3.Rd6+ Kxd6 4.Qc7# 2...Ke5 3.Qc5+ Kxf6 4.Qg5# 1...Kxf6 2.Bg5+ Kg7 3.Bf6+ Kxf6 4.Qg5#, 3...Kf8 4.Rc8#" keywords: - Bristol - Active sacrifice comments: - Chekc also 189115, 370038, 233195 --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 1998 distinction: 4th Prize algebraic: white: [Kd1, Qc7, Rf7, Rb7, Bc5, Bc2, Sf4, Sb6, Pg3, Pe5, Pe2, Pd4] black: [Ke3, Qh1, Rf8, Rb8, Be1, Ba2, Sg4, Sf1, Pf2, Pd7, Pd5] stipulation: "#4" solution: | "1.Qc7-d8 ! threat: 2.Qd8-g5 threat: 3.Sf4-g2 # 3.Sf4-h3 # 3.Sf4-h5 # 3.Sf4-g6 # 3.Sf4-e6 # 3.Sf4*d5 # 2...Qh1-e4 3.Sf4-g2 # 3.Sf4*d5 # 2...Qh1-f3 3.Sf4-g2 # 3.Sf4*d5 # 2...Qh1-h6 3.Sf4-g2 # 3.Sf4*d5 # 2...Qh1-h5 3.Sf4-g2 # 3.Sf4*h5 # 3.Sf4*d5 # 2...Qh1-h4 3.Sf4-g2 # 3.Sf4*d5 # 2...Rf8*f7 3.Sf4-g2 # 3.Sf4*d5 # 2...Rf8-g8 3.Sf4-g2 # 3.Sf4-g6 # 3.Sf4*d5 # 2.Sf4-g2 + 2...Qh1*g2 3.Qd8-g5 # 2.Sf4*d5 + 2...Qh1*d5 3.Qd8-g5 # 2...Ba2*d5 3.Qd8-g5 # 1...Be1-a5 2.Sf4-g2 + 2...Qh1*g2 3.Qd8-g5 # 2.Sf4*d5 + 2...Qh1*d5 3.Qd8-g5 # 2...Ba2*d5 3.Qd8-g5 # 1...Be1-b4 2.Sf4-g2 + 2...Qh1*g2 3.Qd8-g5 # 2.Sf4*d5 + 2...Qh1*d5 3.Qd8-g5 # 2...Ba2*d5 3.Qd8-g5 # 1...Be1-c3 2.Sf4-g2 + 2...Qh1*g2 3.Qd8-g5 # 2.Sf4*d5 + 2...Qh1*d5 3.Qd8-g5 # 2...Ba2*d5 3.Qd8-g5 # 1...Be1-d2 2.Sf4-g2 + 2...Qh1*g2 3.Qd8-g5 # 2.Sf4*d5 + 2...Qh1*d5 3.Qd8-g5 # 2...Ba2*d5 3.Qd8-g5 # 1...Sf1-h2 2.Sf4-g2 + 2...Qh1*g2 3.Qd8-g5 # 2.Sf4*d5 + 2...Qh1*d5 3.Qd8-g5 # 2...Ba2*d5 3.Qd8-g5 # 1...Sf1*g3 2.Sf4-g2 + 2...Qh1*g2 3.Qd8-g5 # 2.Sf4*d5 + 2...Qh1*d5 3.Qd8-g5 # 2...Ba2*d5 3.Qd8-g5 # 1...Qh1-e4 2.Sf4-g2 + 2...Qe4*g2 3.Qd8-g5 # 1...Qh1-f3 2.Qd8-g5 threat: 3.Sf4-g2 # 3.Sf4*d5 # 2...Qf3*e2 + 3.Sf4*e2 # 2...Qf3*f4 3.Qg5*f4 # 2.Sf4-g2 + 2...Qf3*g2 3.Qd8-g5 # 1...Ba2-b1 2.Sb6-c4 + 2...d5*c4 3.d4-d5 # 2.Sb6*d5 + 2...Qh1*d5 3.Sf4*d5 # 2.Sf4-g2 + 2...Qh1*g2 3.Qd8-g5 # 2.Sf4*d5 + 2...Qh1*d5 3.Qd8-g5 # 3.Sb6*d5 # 1...Ba2-c4 2.Sb6*c4 + 2...d5*c4 3.d4-d5 # 2.Sf4-g2 + 2...Qh1*g2 3.Qd8-g5 # 2.Sf4*d5 + 2...Qh1*d5 3.Qd8-g5 # 2...Bc4*d5 3.Qd8-g5 # 1...Ba2-b3 2.Sf4-g2 + 2...Qh1*g2 3.Qd8-g5 # 2.Sf4*d5 + 2...Qh1*d5 3.Qd8-g5 # 2...Bb3*d5 3.Qd8-g5 # 1...Sg4-f6 2.Qd8*f6 threat: 3.Qf6-g5 threat: 4.Sf4-g2 # 4.Sf4-h3 # 4.Sf4-h5 # 4.Sf4-g6 # 4.Sf4-e6 # 4.Sf4*d5 # 3...Qh1-e4 4.Sf4-g2 # 4.Sf4*d5 # 3...Qh1-f3 4.Sf4-g2 # 4.Sf4*d5 # 3...Qh1-h6 4.Sf4-g2 # 4.Sf4*d5 # 3...Qh1-h5 4.Sf4-g2 # 4.Sf4*h5 # 4.Sf4*d5 # 3...Qh1-h4 4.Sf4-g2 # 4.Sf4*d5 # 3...Rf8*f7 4.Sf4-g2 # 4.Sf4*d5 # 3...Rf8-g8 4.Sf4-g2 # 4.Sf4-g6 # 4.Sf4*d5 # 3.Qf6-h6 threat: 4.Sf4-g2 # 4.Sf4-h3 # 4.Sf4-h5 # 4.Sf4*d5 # 3...Qh1-e4 4.Sf4-g2 # 4.Sf4*d5 # 3...Qh1-f3 4.Sf4-g2 # 4.Sf4*d5 # 3...Qh1*h6 4.Sf4-g2 # 3...Qh1-h5 4.Sf4-g2 # 4.Sf4*h5 # 4.Sf4*d5 # 3...Qh1-h4 4.Sf4-g2 # 4.Sf4*d5 # 3...Rf8*f7 4.Sf4-g2 # 4.Sf4*d5 # 3...Rf8-h8 4.Sf4-g2 # 4.Sf4*d5 # 3...Rf8-g8 4.Sf4-g2 # 4.Sf4*d5 # 3.Sf4-g2 + 3...Qh1*g2 4.Qf6-f4 # 4.Qf6-g5 # 4.Qf6-h6 # 3.Sf4*d5 + 3...Qh1*d5 4.Qf6-g5 # 4.Qf6-f4 # 4.Qf6-h6 # 3...Ba2*d5 4.Qf6-g5 # 4.Qf6-f4 # 2...Be1-a5 3.Sf4-g2 + 3...Qh1*g2 4.Qf6-g5 # 4.Qf6-f4 # 4.Qf6-h6 # 3.Sf4*d5 + 3...Qh1*d5 4.Qf6-h6 # 4.Qf6-g5 # 4.Qf6*f2 # 4.Qf6-f4 # 3...Ba2*d5 4.Qf6-f4 # 4.Qf6-g5 # 4.Qf6*f2 # 2...Be1-b4 3.Sf4-g2 + 3...Qh1*g2 4.Qf6-g5 # 4.Qf6-f4 # 4.Qf6-h6 # 3.Sf4*d5 + 3...Qh1*d5 4.Qf6-h6 # 4.Qf6-g5 # 4.Qf6*f2 # 4.Qf6-f4 # 3...Ba2*d5 4.Qf6-f4 # 4.Qf6-g5 # 4.Qf6*f2 # 2...Be1-c3 3.Sf4-g2 + 3...Qh1*g2 4.Qf6-g5 # 4.Qf6-f4 # 4.Qf6-h6 # 3.Sf4*d5 + 3...Qh1*d5 4.Qf6-h6 # 4.Qf6-g5 # 4.Qf6*f2 # 4.Qf6-f4 # 3...Ba2*d5 4.Qf6-f4 # 4.Qf6-g5 # 4.Qf6*f2 # 2...Be1-d2 3.Sf4-g2 + 3...Qh1*g2 4.Qf6-g5 # 4.Qf6-f4 # 4.Qf6-h6 # 3.Sf4*d5 + 3...Qh1*d5 4.Qf6-h6 # 4.Qf6-g5 # 4.Qf6*f2 # 4.Qf6-f4 # 3...Ba2*d5 4.Qf6-f4 # 4.Qf6-g5 # 4.Qf6*f2 # 2...Sf1-h2 3.Sf4-g2 + 3...Qh1*g2 4.Qf6-g5 # 4.Qf6-f4 # 4.Qf6-h6 # 3.Sf4*d5 + 3...Qh1*d5 4.Qf6-h6 # 4.Qf6-g5 # 4.Qf6-f4 # 3...Ba2*d5 4.Qf6-f4 # 4.Qf6-g5 # 4.Qf6-h6 # 2...Sf1*g3 3.Sf4-g2 + 3...Qh1*g2 4.Qf6-h6 # 4.Qf6-g5 # 4.Qf6-f4 # 3.Sf4*d5 + 3...Qh1*d5 4.Qf6-f4 # 4.Qf6-g5 # 4.Qf6-h6 # 3...Ba2*d5 4.Qf6-g5 # 4.Qf6-f4 # 2...Qh1-e4 3.Sf4-g2 + 3...Qe4*g2 4.Qf6-g5 # 4.Qf6-f4 # 4.Qf6-h6 # 2...Qh1-f3 3.Qf6-g5 threat: 4.Sf4-g2 # 4.Sf4*d5 # 3...Qf3*e2 + 4.Sf4*e2 # 3...Qf3*f4 4.Qg5*f4 # 3.Qf6-h6 threat: 4.Sf4-g2 # 4.Sf4*d5 # 3...Qf3*e2 + 4.Sf4*e2 # 3...Qf3*f4 4.Qh6*f4 # 3.Sf4-g2 + 3...Qf3*g2 4.Qf6-g5 # 4.Qf6-f4 # 4.Qf6-h6 # 2...Ba2-b1 3.Sb6-c4 + 3...d5*c4 4.d4-d5 # 3.Sb6*d5 + 3...Qh1*d5 4.Sf4*d5 # 3.Sf4-g2 + 3...Qh1*g2 4.Qf6-g5 # 4.Qf6-f4 # 4.Qf6-h6 # 3.Sf4*d5 + 3...Qh1*d5 4.Qf6-h6 # 4.Qf6-g5 # 4.Qf6-f4 # 4.Sb6*d5 # 2...Ba2-c4 3.Sb6*c4 + 3...d5*c4 4.d4-d5 # 3.Sf4-g2 + 3...Qh1*g2 4.Qf6-f4 # 4.Qf6-g5 # 4.Qf6-h6 # 3.Sf4*d5 + 3...Qh1*d5 4.Qf6-h6 # 4.Qf6-g5 # 4.Qf6-f4 # 3...Bc4*d5 4.Qf6-f4 # 4.Qf6-g5 # 2...Ba2-b3 3.Sf4-g2 + 3...Qh1*g2 4.Qf6-f4 # 4.Qf6-g5 # 4.Qf6-h6 # 3.Sf4*d5 + 3...Qh1*d5 4.Qf6-h6 # 4.Qf6-g5 # 4.Qf6-f4 # 3...Bb3*d5 4.Qf6-f4 # 4.Qf6-g5 # 2...d7-d6 3.Qf6-g5 threat: 4.Sf4-g2 # 4.Sf4-h3 # 4.Sf4-h5 # 4.Sf4-g6 # 4.Sf4-e6 # 4.Sf4*d5 # 3...Qh1-e4 4.Sf4-g2 # 4.Sf4*d5 # 3...Qh1-f3 4.Sf4-g2 # 4.Sf4*d5 # 3...Qh1-h6 4.Sf4-g2 # 4.Sf4*d5 # 3...Qh1-h5 4.Sf4-g2 # 4.Sf4*h5 # 4.Sf4*d5 # 3...Qh1-h4 4.Sf4-g2 # 4.Sf4*d5 # 3...d6*c5 4.Sf4-e6 # 3...Rf8*f7 4.Sf4-g2 # 4.Sf4*d5 # 3...Rf8-g8 4.Sf4-g2 # 4.Sf4-g6 # 4.Sf4*d5 # 3.Sf4-g2 + 3...Qh1*g2 4.Qf6-f4 # 4.Qf6-g5 # 4.Qf6-h6 # 3.Sf4*d5 + 3...Qh1*d5 4.Qf6-h6 # 4.Qf6-g5 # 4.Qf6-f4 # 3...Ba2*d5 4.Qf6-f4 # 4.Qf6-g5 # 2...Rb8-c8 3.Qf6-g5 threat: 4.Sf4-g2 # 4.Sf4-h3 # 4.Sf4-h5 # 4.Sf4-g6 # 4.Sf4-e6 # 4.Sf4*d5 # 3...Qh1-e4 4.Sf4-g2 # 4.Sf4*d5 # 3...Qh1-f3 4.Sf4-g2 # 4.Sf4*d5 # 3...Qh1-h6 4.Sf4-g2 # 4.Sf4*d5 # 3...Qh1-h5 4.Sf4-g2 # 4.Sf4*h5 # 4.Sf4*d5 # 3...Qh1-h4 4.Sf4-g2 # 4.Sf4*d5 # 3...Rc8*c5 4.Sf4-e6 # 3...Rf8*f7 4.Sf4-g2 # 4.Sf4*d5 # 3...Rf8-g8 4.Sf4-g2 # 4.Sf4-g6 # 4.Sf4*d5 # 3.Sf4-g2 + 3...Qh1*g2 4.Qf6-f4 # 4.Qf6-g5 # 4.Qf6-h6 # 3.Sf4*d5 + 3...Qh1*d5 4.Qf6-h6 # 4.Qf6-g5 # 4.Qf6-f4 # 3...Ba2*d5 4.Qf6-f4 # 4.Qf6-g5 # 2...Rf8*f7 3.Qf6-g5 threat: 4.Sf4-g2 # 4.Sf4*d5 # 3...Rf7*f4 4.Qg5*f4 # 3.Qf6-h6 threat: 4.Sf4-g2 # 4.Sf4*d5 # 3...Qh1*h6 4.Sf4-g2 # 3...Rf7*f4 4.Qh6*f4 # 2...Rf8-c8 3.Qf6-g5 threat: 4.Sf4-g2 # 4.Sf4-h3 # 4.Sf4-h5 # 4.Sf4-g6 # 4.Sf4-e6 # 4.Sf4*d5 # 3...Qh1-e4 4.Sf4-g2 # 4.Sf4*d5 # 3...Qh1-f3 4.Sf4-g2 # 4.Sf4*d5 # 3...Qh1-h6 4.Sf4-g2 # 4.Sf4*d5 # 3...Qh1-h5 4.Sf4-g2 # 4.Sf4*h5 # 4.Sf4*d5 # 3...Qh1-h4 4.Sf4-g2 # 4.Sf4*d5 # 3...Rc8*c5 4.Sf4-e6 # 3...Rc8-g8 4.Sf4-g2 # 4.Sf4-g6 # 4.Sf4*d5 # 3.Sf4-g2 + 3...Qh1*g2 4.Qf6-f4 # 4.Qf6-g5 # 4.Qf6-h6 # 3.Sf4*d5 + 3...Qh1*d5 4.Qf6-g5 # 4.Qf6-f4 # 4.Qf6-h6 # 3...Ba2*d5 4.Qf6-g5 # 4.Qf6-f4 # 2...Rf8-h8 3.Qf6-g5 threat: 4.Sf4-g2 # 4.Sf4-h3 # 4.Sf4-h5 # 4.Sf4-g6 # 4.Sf4-e6 # 4.Sf4*d5 # 3...Qh1-e4 4.Sf4-g2 # 4.Sf4*d5 # 3...Qh1-f3 4.Sf4-g2 # 4.Sf4*d5 # 3...Qh1-h6 4.Sf4-g2 # 4.Sf4*d5 # 3...Qh1-h5 4.Sf4-g2 # 4.Sf4*h5 # 4.Sf4*d5 # 3...Qh1-h4 4.Sf4-g2 # 4.Sf4*d5 # 3...Rb8-g8 4.Sf4-g2 # 4.Sf4-g6 # 4.Sf4*d5 # 3...Rh8-h4 4.Sf4-g2 # 4.Sf4*d5 # 3...Rh8-h5 4.Sf4-g2 # 4.Sf4*h5 # 4.Sf4*d5 # 3...Rh8-g8 4.Sf4-g2 # 4.Sf4-g6 # 4.Sf4*d5 # 3.Sf4-g2 + 3...Qh1*g2 4.Qf6-f4 # 4.Qf6-g5 # 3.Sf4*d5 + 3...Qh1*d5 4.Qf6-g5 # 4.Qf6-f4 # 3...Ba2*d5 4.Qf6-f4 # 4.Qf6-g5 # 2...Rf8-g8 3.Sf4-g2 + 3...Qh1*g2 4.Qf6-f4 # 3.Sf4*d5 + 3...Qh1*d5 4.Qf6-f4 # 3...Ba2*d5 4.Qf6-f4 # 1...Sg4*e5 2.Sf4-g2 + 2...Qh1*g2 3.Qd8-g5 # 2.Sf4*d5 + 2...Qh1*d5 3.Qd8-g5 # 2...Ba2*d5 3.Qd8-g5 # 3.d4*e5 # 1...Rb8*d8 2.Sb6*d5 + 2...Qh1*d5 3.Sf4-g2 + 3...Qd5*g2 4.d4-d5 # 2...Ba2*d5 3.Rb7-b3 + 3...Be1-c3 4.Rb3*c3 # 3...Bd5*b3 4.d4-d5 # 1...Rf8*f7 2.Qd8-g5 threat: 3.Sf4-g2 # 3.Sf4*d5 # 2...Rf7*f4 3.Qg5*f4 # 1...Rf8*d8 2.Sf4*d5 + 2...Qh1*d5 3.Rf7-f3 + 3...Qd5*f3 4.d4-d5 # 2...Ba2*d5 3.Sb6-c4 + 3...Bd5*c4 4.d4-d5 # 1...Rf8-g8 2.Sf4*d5 + 2...Qh1*d5 3.Rf7-f3 + 3...Qd5*f3 4.d4-d5 # 2...Ba2*d5 3.Sb6-c4 + 3...Bd5*c4 4.d4-d5 #" --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 2001 distinction: 4th Prize algebraic: white: [Kb8, Qc7, Re4, Bh2, Bg2, Pe6, Pe2, Pd4, Pb3] black: [Kd5, Rc2, Be8, Bc1, Sc8, Sb2, Pd6, Pc5] stipulation: "#2" solution: | "1...cxd4[a] 2.Re3#[A]/Re5#[B] 1...Bf7/Bg6/Bh5 2.Qb7# 1...Ne7/Nb6/Na7 2.Qxd6# 1.Bg1? (2.Re5#[B]) 1...cxd4[a] 2.Re3#[A] but 1...Be3! 1.Qg7! (2.Re3#[A]) 1...cxd4[a] 2.Re5#[B] 1...Kc6/Bg6/Bh5 2.Qb7# 1...Rxe2 2.Rxe2#" keywords: - Le Grand - Flight giving key --- authors: - Вукчевић, Милан Радоје source: Svetec MT date: 1997 distinction: 4th Prize algebraic: white: [Kb8, Qg3, Rg4, Rf5, Sc7, Sc6, Pc5, Pb5] black: [Kd7, Qf4, Rg5, Bf6, Bd1, Sh2, Pg7, Pe5, Pd4] stipulation: "#3" solution: | "1.Qg3-h3 ! threat: 2.Qh3-h8 threat: 3.Qh8-c8 # 3.Qh8-e8 # 2...Bf6-d8 3.Qh8*d8 # 3.Qh8-e8 # 1...Bd1-b3 2.Qh3*b3 threat: 3.Qb3-e6 # 3.Qb3-d5 # 2...Qf4-f3 3.Qb3-e6 # 2...Qf4-e4 3.Qb3-e6 # 2...Qf4*f5 3.Qb3-d5 # 2...e5-e4 3.Qb3-e6 # 2...Bf6-e7 3.Qb3-e6 # 1...Qf4-c1 2.Rf5*f6 threat: 3.Rf6-d6 # 3.Rf6-f7 # 3.Rg4*d4 # 2...Qc1-f4 3.Rf6-d6 # 2...Qc1*c5 3.Rg4*d4 # 2...Qc1-c4 3.Rf6-d6 # 3.Rg4*d4 # 2...Bd1*g4 3.Rf6-d6 # 3.Rf6-f7 # 2...Bd1-b3 3.Rf6-d6 # 3.Rg4*d4 # 2...Sh2*g4 3.Rf6-d6 # 3.Rf6-f7 # 2...e5-e4 3.Rf6-f7 # 3.Rf6-d6 # 2...Rg5*g4 3.Rf6-d6 # 3.Rf6-f7 # 2...Rg5-f5 3.Rf6-d6 # 3.Rg4*g7 # 2...Rg5-g6 3.Rf6-f7 # 3.Rg4*d4 # 2...g7*f6 3.Rg4*d4 # 2.Rg4*d4 + 2...e5*d4 3.Rf5-d5 # 1...Qf4-f1 2.Rg4*d4 + 2...e5*d4 3.Rf5-d5 # 1...e5-e4 2.Rf5-d5 + 2...Qf4-d6 3.Rd5*d6 # 2...Rg5*d5 3.Rg4*g7 # 1...Rg5-h5 2.Rg4*g7 + 2...Bf6*g7 3.Rf5-f7 # 2...Bf6-e7 3.Rg7*e7 # 1...Bf6-d8 2.Rf5-f7 + 2...Qf4*f7 3.Rg4*d4 # 2...Bd8-e7 3.Rf7*e7 # 1...Bf6-e7 2.Rf5-f7 threat: 3.Rf7*e7 # 2...Qf4*f7 3.Rg4*d4 # 2...Qf4-f6 3.Rg4*d4 # 1...g7-g6 2.Rf5*f6 threat: 3.Rf6-d6 # 3.Qh3-h7 # 2...Bd1-b3 3.Rf6-d6 # 2...Qf4*f6 3.Rg4*d4 # 2...e5-e4 3.Qh3-h7 # 2...Rg5-h5 3.Rf6-d6 # 2.Qh3-h7 + 2...Bf6-g7 3.Qh7*g7 # 2...Bf6-e7 3.Qh7*e7 #" --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 2002 distinction: 1st-2nd Prize algebraic: white: [Kg6, Qh5, Re2, Rb8, Bf8, Bc4, Sg5, Sf5, Pf3, Pd2, Pb3, Pa6] black: [Kc5, Rc7, Bb1, Ba5, Sb7, Pe6, Pe4, Pd7, Pd6, Pc6, Pb4] stipulation: "#3" solution: | "1.Sf5*d6 ! threat: 2.Sg5*e6 + 2...Kc5-b6 3.Qh5-c5 # 1...e4-e3 + 2.Sg5-e4 + 2...Kc5-b6 3.Qh5-c5 # 2...Kc5-d4 3.d2*e3 # 1...e4*f3 + 2.Sd6-e4 + 2...Kc5-b6 3.Bf8-c5 # 2...Kc5-d4 3.Sg5*f3 # 1...Kc5-b6 2.Sd6-c8 + 2...Rc7*c8 3.Rb8*b7 # 1...Kc5-d4 2.Sd6-f5 + 2...Kd4-e5 3.Qh5-h2 # 2...e6*f5 3.Qh5-h8 # 1...e6-e5 2.Sd6*b7 + 2...Kc5-d4 3.Bf8-c5 # 2...Kc5-b6 3.Bf8-c5 #" --- authors: - Вукчевић, Милан Радоје source: Europe Échecs date: 1971 algebraic: white: [Kd3, Qe2, Ra8, Ra4, Ba2, Sf5, Sd7, Pd5, Pa3] black: [Kb5, Qh4, Rg5, Rg3, Bh5, Ph3, Pg4, Pg2, Pe3, Pc7] stipulation: "s#3" solution: | "1.Ra4*g4 ! threat: 2.Rg4-b4 + 2...Qh4*b4 3.Ba2-c4 + 3...Qb4*c4 # 1...Rg3*g4 2.Kd3*e3 + 2...Rg4-c4 3.Sf5-d4 + 3...Qh4*d4 # 1...Rg5*g4 2.Qe2-b2 + 2...Rg4-b4 3.Ba2-c4 + 3...Qh4*c4 # 1...Bh5*g4 2.Sf5-d6 + 2...c7*d6 3.Kd3-e4 + 3...Bg4*e2 #" --- authors: - Вукчевић, Милан Радоје source: date: 1982 algebraic: white: [Kb3, Rh6, Bf5, Ba7, Sc8, Pf4, Pb5] black: [Kd5, Rg7, Rd1, Bg8, Bc1, Pe7, Pe3, Pe2, Pc3, Pb4] stipulation: "#4" solution: | "1.Rh6-c6 ! threat: 2.Ba7-c5 threat: 3.Sc8-b6 # 1...Bc1-d2 2.Rc6-c5 + 2...Kd5-d4 + 3.Rc5-c4 + 3...Kd4-d5 4.Rc4-d4 # 1...Bc1-a3 2.Ba7-c5 threat: 3.Sc8-b6 # 2...Rd1-b1 + 3.Kb3-a4 threat: 4.Sc8-b6 # 2.Sc8-b6 + 2...Kd5-d4 + 3.Sb6-c4 + 3...Kd4-d5 4.Sc4*e3 # 2.Ba7*e3 threat: 3.Sc8-b6 # 3.Rc6-c5 # 2...Rd1-b1 + 3.Kb3-a4 threat: 4.Sc8-b6 # 4.Rc6-c5 # 3...b4-b3 4.Sc8-b6 # 2...Rd1-d4 3.Sc8-b6 # 1...Rd1-d3 2.Ba7-c5 threat: 3.Sc8-b6 # 2...c3-c2 + 3.Bf5*d3 threat: 4.Sc8-b6 # 1...Rd1-d2 2.Sc8-b6 + 2...Kd5-d4 + 3.Sb6-c4 + 3...Kd4-d5 4.Sc4*e3 # 1...Rd1-f1 2.Rc6-c5 + 2...Kd5-d4 + 3.Rc5-c4 + 3...Kd4-d5 4.Rc4-d4 # 1...c3-c2 2.Ba7-c5 threat: 3.Sc8-b6 # 2...Rd1-d3 + 3.Bf5*d3 threat: 4.Sc8-b6 # 1...Rg7-f7 2.Sc8-b6 + 2...Kd5-d4 3.Rc6-c4 # 2.Rc6-c5 + 2...Kd5-d4 3.Rc5-e5 # 1...Bg8-e6 2.Rc6*e6 threat: 3.Re6-e5 # 1...Bg8-h7 2.Sc8-b6 + 2...Kd5-d4 3.Rc6-c4 # 2.Rc6-c5 + 2...Kd5-d4 3.Rc5-e5 # 2.Rc6-e6 threat: 3.Re6-e5 #" --- authors: - Вукчевић, Милан Радоје source: Chess by Milan date: 1981 algebraic: white: [Kc2, Qd3, Re8, Re2, Bf6, Sh5, Sa6] black: [Ke6, Rg4, Rf5, Bh7, Bg1, Sg8, Sa8, Pg5, Pf7, Pe7, Pe5, Pc7, Pc6, Pc3] stipulation: "#2" solution: | "1...Bh2/Bc5/Rf2 2.Nc5# 1...Nb6 2.Nxc7# 1...Nh6 2.Rxe7# 1...Nxf6/Rxf6 2.Ng7# 1...Rff4/Rf3/Rf1 2.Rxe5# 1.Rd8! (2.Qd7#) 1...Bd4 2.Qc4# 1...Nb6 2.Nxc7# 1...Rd4/Rf2 2.Nc5# 1...Rff4/Rf3/Rf1 2.Rxe5# 1...Rxf6/Nxf6 2.Ng7#" keywords: - Black correction - Grimshaw --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 2004 algebraic: white: [Kc2, Qd3, Re2, Bf6, Bb5, Se8, Sb3] black: [Ke6, Qh7, Rh4, Rf5, Bg1, Sf8, Pg5, Pf7, Pe7, Pe5] stipulation: "#2" solution: | "1...Ng6/Nd7 2.Bd7#/Qd7# 1...Rh3/Rh2/Rh1/Rh5/Rh6/Rc4+/g4 2.Bc4#/Qc4#[A] 1...Bh2/Bc5/Rf2 2.Nc5#[B] 1...Bd4 2.Qc4#[A] 1...exf6 2.Qd6# 1...Rff4/Rf3/Rf1 2.Rxe5# 1...Rxf6 2.Nc7# 1.Bc6? (2.Qd5#) 1...Bd4/Rc4+ 2.Qc4#[A] 1...Rff4/Rf3/Rf1 2.Rxe5# 1...Rf2/Rd4 2.Nc5#[B] 1...Rxf6 2.Nc7# 1...exf6 2.Qd6# but 1...e4! 1.Nd4+?? 1...Kd5 2.Qc4#[A] 1...Bxd4 2.Qb3#/Qc4#[A] but 1...Rxd4!" keywords: - Unsound - Transferred mates - Grimshaw --- authors: - Вукчевић, Милан Радоје source: Themes 64 date: 1982 algebraic: white: [Kf1, Qa5, Rg2, Ra7, Bh1, Be7, Sf7, Sb6, Ph4, Pf4, Pd2, Pc3] black: [Kc6, Qh8, Rh5, Rd7, Sd8, Sb8, Pe6, Pc7, Pc4, Pb5] stipulation: "#3" solution: | "1.d2-d4 ! threat: 2.Rg2-b2 + 2...Rh5-d5 3.Qa5*b5 # 2...Rd7-d5 3.Qa5*b5 # 1...Rh5*h4 2.Qa5*b5 + 2...Kc6*b5 3.Rg2-b2 # 1...Rh5-c5 2.Rg2-g7 + 2...Rc5-d5 3.Sf7-e5 # 2...Rd7-d5 3.Sf7-e5 # 1...Rd7*d4 2.Rg2-g8 + 2...Rd4-d5 3.Sf7*d8 # 2...Rd4-e4 3.Sf7*d8 # 2...Rh5-d5 3.Sf7*d8 # 1...Qh8*d4 2.Rg2-g5 + 2...Qd4-d5 3.Sf7-e5 # 2...Qd4-e4 3.Sf7-e5 # 3.Qa5*b5 # 2...Rd7-d5 3.Sf7*d8 # 1...Qh8-e5 2.Rg2-g5 + 2...Qe5-e4 3.Sf7-e5 # 3.Qa5*b5 # 2...Qe5-d5 3.Sf7-e5 # 2...Rd7-d5 3.Sf7*e5 # 3.Sf7*d8 # 1...Qh8-g7 2.Rg2*g7 + 2...Rh5-d5 3.Sf7-e5 # 2...Rd7-d5 3.Sf7*d8 # 2.Rg2-g5 + 2...Rd7-d5 3.Sf7*d8 # 1...Qh8-h7 2.Rg2-g6 + 2...Rh5-d5 3.Sf7-e5 # 2...Rd7-d5 3.Sf7*d8 # 2.Rg2-g5 + 2...Qh7-e4 3.Sf7-e5 # 3.Qa5*b5 # 2...Rd7-d5 3.Sf7-e5 # 3.Sf7*d8 # 1...Qh8-g8 2.Rg2*g8 + 2...Rd7-d5 3.Sf7*d8 # 2...Rh5-d5 3.Sf7-e5 # 2.Rg2-g5 + 2...Rd7-d5 3.Sf7-e5 #" --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 1999 algebraic: white: [Kh6, Ba7, Se5, Se4, Pe6] black: [Kh4, Ra1, Bg3, Bb3, Sf4, Sb8, Ph3, Ph2, Pg4, Pf2, Pd7, Pd3, Pc7, Pa6] stipulation: "#5" solution: | "1.Se4-d6 ! threat: 2.Sd6-f5 # 1...Bb3*e6 2.Ba7-d4 threat: 3.Se5-g6 + 3...Sf4*g6 4.Bd4-f6 # 2...Ra1-a5 3.Se5-g6 + 3...Sf4*g6 4.Bd4-f6 + 4...Ra5-g5 5.Bf6*g5 # 2...f2-f1=Q 3.Sd6-f5 + 3...Be6*f5 4.Se5-g6 + 4...Sf4*g6 5.Bd4-f6 # 4...Bf5*g6 5.Bd4-f6 # 2...f2-f1=R 3.Sd6-f5 + 3...Be6*f5 4.Se5-g6 + 4...Sf4*g6 5.Bd4-f6 # 4...Bf5*g6 5.Bd4-f6 # 1...c7*d6 2.Ba7-b6 threat: 3.Bb6-d8 # 2...Sf4-h5 3.Se5-g6 # 2...Sf4-g6 3.Se5*g6 # 2...Sf4*e6 3.Se5-g6 # 2...Sf4-d5 3.Se5-g6 # 2...Sb8-c6 3.e6*d7 threat: 4.d7-d8=Q + 4...Sc6-e7 5.Qd8*e7 # 4...Sc6*d8 5.Bb6*d8 # 4.d7-d8=B + 4...Sc6-e7 5.Bd8*e7 # 4...Sc6*d8 5.Bb6*d8 # 1...d7*e6 2.Ba7-e3 threat: 3.Se5-g6 + 3...Sf4*g6 4.Be3-g5 # 2...Ra1-a5 3.Sd6-f5 + 3...e6*f5 4.Se5-g6 + 4...Sf4*g6 5.Be3-g5 #" --- authors: - Вукчевић, Милан Радоје source: Die Schwalbe date: 2000 algebraic: white: [Kf4, Qg8, Re6, Bg4, Be5, Sf7, Pb2] black: [Kd5, Bb8, Bb5, Pd3, Pc7, Pb6, Pb3] stipulation: "#3" solution: | "1.Be5-c3 ! threat: 2.Qg8-g5 + 2...Kd5-c4 3.Re6-e4 # 1...Kd5-c4 2.Re6-e5 threat: 3.Sf7-d6 # 3.Sf7-g5 # 3.Sf7-h6 # 3.Sf7-h8 # 3.Sf7-d8 # 3.Bg4-e6 # 2...d3-d2 3.Bg4-e2 # 2...Bb5-e8 3.Sf7-d6 # 3.Bg4-e6 # 2...Bb5-d7 3.Sf7-d6 # 2...Bb5-c6 3.Sf7-d6 # 1...c7-c5 + 2.Re6-d6 + 2...Kd5-c4 3.Sf7-e5 # 3.Sf7-g5 # 3.Sf7-h6 # 3.Sf7-h8 # 3.Sf7-d8 # 3.Bg4-e6 # 2...Bb8*d6 + 3.Sf7-e5 # 1...c7-c6 + 2.Sf7-d6 threat: 3.Qg8-g5 # 2...c6-c5 3.Bg4-f3 # 2...Bb8*d6 + 3.Re6-e5 #" --- authors: - Вукчевић, Милан Радоје source: The British Chess Magazine date: 1970 distinction: 1st HM algebraic: white: [Ka5, Qe8, Re3, Rd8, Bf3, Be5, Sb2, Pc6, Pc2, Pb3] black: [Kc5, Qh4, Rg5, Rg3, Bh2, Bf5, Sg6, Sa6, Pe7, Pe6, Pc7, Pb5, Pb4] stipulation: "#3" solution: | "1.c2-c3 ! threat: 2.Be5-d4 + 2...Qh4*d4 3.c3*d4 # 1...Rg3-g4 2.Bf3-e4 [2.Re3-e4? Sg6*e5!] threat: 3.Be5-d4 # 3.Sb2-d3 # 2...Bh2*e5 3.Sb2-d3 # 2...Rg4*e4 3.Sb2-d3 # 2...Qh4-h8 3.Sb2-d3 # 2...Bf5*e4 3.Be5-d4 # 2...Sg6*e5 3.Qe8*e7 # 2...Sg6-f4 3.Qe8*e7 # 3.Be5-d4 # 1...b4*c3 2.Re3*c3 + 2...Qh4-c4 3.Be5-d4 # 1...Rg5-g4 2.Re3-e4 [2.Bf3-e4? Bh2*e5!] threat: 3.Be5-d4 # 3.Sb2-d3 # 2...Bh2-g1 3.Sb2-d3 # 2...Rg3*f3 3.Be5-d4 # 2...Rg4*e4 3.Sb2-d3 # 2...Qh4-f6 3.Sb2-d3 # 2...Qh4-h8 3.Sb2-d3 # 2...Bf5*e4 3.Be5-d4 # 2...Sg6*e5 3.Re4*e5 # 2...Sg6-f4 3.Be5-d4 #" keywords: - Dual avoidance - Novotny --- authors: - Вукчевић, Милан Радоје source: Europe Échecs date: 1970 algebraic: white: [Kf6, Qe6, Re7, Sf8, Se8, Ph6, Pd7, Pd3] black: [Kd8, Qb6, Rf1, Rb1, Bb2, Ba2, Sa5, Pg6, Pf3, Pd6, Pd5, Pd4, Pb7] stipulation: "#3" solution: | "1.h6-h7 ! threat: 2.h7-h8=S threat: 3.Sh8-f7 # 1...Rf1-h1 2.Qe6-e2 threat: 3.Sf8-e6 # 1...Bb2-c1 2.Qe6-e3 threat: 3.Sf8-e6 # 1...Sa5-c4 2.Qe6-e4 threat: 3.Sf8-e6 # 1...Sa5-c6 2.Qe6-e5 threat: 3.Sf8-e6 # 2...Sc6*e7 3.Qe5*e7 #" --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 2002 algebraic: white: [Ka6, Qd6, Rg4, Bg2, Bg1, Sa5, Pf2, Pd5, Pc6, Pb4, Pb2] black: [Kd4, Qe4, Rh3, Bh7, Se7, Se3, Pd3, Pd2] stipulation: "#2" solution: | "1...Bg8/N3f5/N7f5/Ng6 2.Rxe4# 1...Rh2/Rh1/Rh4/Rh5/Rh6 2.fxe3# 1...N3xd5 2.f3# 1...Nc4 2.Nb3# 1...Qf4/Qxg4 2.Qf6# 1.f4! (2.Qc5#) 1...Qxf4 2.Qf6# 1...Qf3/Qxg2 2.Qe5# 1...Qxd5 2.f5#" keywords: - Active sacrifice --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1981 algebraic: white: [Kd7, Qa7, Rc1, Bh6, Bg8, Se6, Sb5, Pa4, Pa2] black: [Kb4, Qh5, Rg5, Rg4, Bh8, Se1, Pg6, Pd6, Pd4, Pb7, Pa3] stipulation: "#2" solution: | "1...Rf5/Re5/Rd5/Rxb5 2.Bd2# 1...d5 2.Bf8# 1.Nf4?? (2.Rc4#/Rb1#) 1...Qh3/Qh2/Rg3/Rg2/Rxb5/b6/d3 2.Rc4# 1...Rc5 2.Rb1# 1...Nd3 2.Rc4#/Nxd3# 1...Nc2 2.Rb1#/Nd3# 1...d5 2.Bf8# but 1...Rd5! 1.Nxg5?? (2.Rc4#/Rb1#) 1...Rg3/Rg2/Qh3/Qh2/b6/Nd3 2.Rc4# 1...d5 2.Bf8# 1...Nc2 2.Rb1# but 1...d3! 1.Ng7?? (2.Rc4#/Rb1#) 1...Rg3/Rg2/Qh3/Qh2/b6/Nd3 2.Rc4# 1...d3/Nc2/Rc5 2.Rb1# 1...Rd5 2.Bd2# 1...Rxb5 2.Rc4#/Bd2# but 1...d5! 1.Nd8?? (2.Rc4#/Rb1#) 1...Qh3/Qh2/Rg3/Rg2/Nd3 2.Rc4# 1...Rd5 2.Bd2# 1...Rc5/Nc2 2.Rb1# 1...Rxb5 2.Rc4#/Bd2# 1...b6 2.Rc4#/Nc6# 1...d5 2.Bf8# but 1...d3! 1.Nec7?? (2.Rc4#/Rb1#) 1...Qh3/Qh2/Rg3/Rg2/Nd3/b6 2.Rc4# 1...d5 2.Bf8# 1...Nc2/Rc5 2.Rb1# 1...Rd5 2.Bd2# 1...Rxb5 2.Rc4#/Bd2# but 1...d3! 1.Nexd4! (2.Rc4#/Rb1#) 1...Rg3/Rg2/Bxd4/Qh3/Qh2 2.Rc4# 1...Rxd4/Rc5 2.Rb1# 1...d5 2.Bf8# 1...b6 2.Rc4#/Nc6# 1...Nd3 2.Rc4#/Nc2# 1...Nc2 2.Rb1#/Nxc2# 1...Rd5 2.Bd2# 1...Rxb5 2.Rc4#/Bd2#" keywords: - Novotny --- authors: - Вукчевић, Милан Радоје source: Chess Life & Review date: 1975 algebraic: white: [Kc8, Qh4, Rf1, Ra4, Bh7, Bg1, Sg6, Sf3, Pg5, Pf5, Pc4] black: [Ke4, Qg4, Bd8, Sb1, Ph5, Pe5, Pd6, Pd3, Pb6] stipulation: "#2" solution: | "1...Bxg5 2.Nxg5# 1...Nc3/Nd2/Na3 2.Nd2# 1.c5+?? 1...Kxf5 2.Nf4#/Nf8# but 1...Kd5! 1.Re1+?? 1...Kxf3 2.Qf2# but 1...Kxf5! 1.Nf4! (2.c5#) 1...Kxf4/Nc3/Nd2/Na3 2.Nd2# 1...d5 2.cxd5# 1...b5 2.cxb5# 1...Qxg1 2.Ng2# 1...Qxf4 2.f6# 1...Qxf5+ 2.Ne6# 1...exf4 2.Qe1#" keywords: - Active sacrifice - Defences on same square - Flight giving and taking key --- authors: - Вукчевић, Милан Радоје source: Neue Zürcher Zeitung date: 1982 algebraic: white: [Ke6, Qh4, Rf2, Rd3, Bh7, Bc7, Sf5, Se1] black: [Ke4, Qf3, Rg3, Rb2, Bg4, Ba3, Sb8, Pg7, Pc6, Pc5] stipulation: "#2" solution: | "1...c4 2.Rd4# 1...Qf4/Qxd3/Qg2/Qh1/Qe2/Qd1 2.Rxf4# 1...Qxf5+ 2.Bxf5# 1.Qh1?? (2.Re3#) 1...Bxf5+ 2.Bxf5# 1...Rb3/Re2 2.Re2# 1...Qg2/Qxh1 2.Rf4# but 1...Rg2! 1.Qxg4+?? 1...Rxg4 2.Ng3# 1...Qf4 2.Nxg3#/Nxg7#/Nd6#/Qxf4#/Rxf4# but 1...Qxg4! 1.Rfxf3?? (2.Rf4#/Rde3#) 1...Rb3/Re2 2.Rf4# 1...Rf2/g5 2.Rde3# but 1...Rxf3! 1.Qe7! (2.Kf7#) 1...c4 2.Rd4# 1...Bh5 2.Nxg3# 1...g6 2.Kf6# 1...Nd7 2.Kxd7# 1...Qf4/Qxd3 2.Rxf4# 1...Qxf5+ 2.Kd6#" --- authors: - Вукчевић, Милан Радоје source: The British Chess Magazine date: 1971 algebraic: white: [Kb3, Qa8, Rd1, Rc3, Bh8, Bh7, Se2, Sb5, Pg2, Pf2, Pe5, Pc2] black: [Ke4, Rg7, Rf5, Bd2, Pd6, Pd5, Pb7] stipulation: "#2" solution: | "1...Rg3[a]/Rxh7 2.Nxd6#[A] 1...Be1/Be3 2.Re3# 1...Rg5/Rg4/Rxg2/Rg8/Rf7/Re7/Rc7/dxe5 2.Nxd6#[A]/f3#[B] 1...Rd7 2.f3#[B] 1.Qa4+?? 1...d4 2.Qxd4# but 1...Kxe5! 1.Bxg7? (2.Nxd6#[A]/f3#[B]) 1...Bxc3 2.Nbxc3#/Nxd6#[A] but 1...d4! 1.Qxb7[C]! zz 1...Rg3[a] 2.Nxd6#[A] 1...Rxb7[b] 2.f3#[B] 1...Kxe5 2.Qe7# 1...Be1/Be3 2.Re3#/Qxd5# 1...Bf4/Bg5/Bh6/Bc1/Bxc3 2.Qxd5# 1...Rg6 2.Rc4# 1...Rg5/Rg4/Rg8/Rf7/Re7/dxe5 2.Nxd6#[A]/Rc4#/f3#[B] 1...Rxg2/Rc7 2.Nxd6#[A]/f3#[B] 1...Rd7 2.f3#[B]/Rc4# 1...Rxh7 2.Nxd6#[A]/Rc4#" keywords: - Active sacrifice - Rudenko --- authors: - Вукчевић, Милан Радоје source: Mezija date: 1996 algebraic: white: [Kh1, Qd1, Rh5, Rf8, Bg7, Ba2, Sh7, Sb3, Pg5, Pg4, Pf2, Pc2] black: [Ke4, Rg8, Rb5, Be8, Bb2, Sb4, Sa5, Pf6, Pf4, Pd6, Pc6] stipulation: "#3" solution: | "1.Rf8*f6 ! threat: 2.Rf6-e6 + 2...Bb2-e5 3.Sh7-f6 # 2...Rb5-e5 3.Sh7-f6 # 2.Qd1-e2 + 2...Ke4-d5 3.Qe2-e6 # 1...Bb2-c1 2.Rf6-e6 + 2...Rb5-e5 3.Sh7-f6 # 1...Bb2*f6 2.Sh7*f6 + 2...Ke4-e5 3.Qd1-e2 # 3.Qd1-e1 # 2.Qd1-e2 + 2...Ke4-d5 3.Sh7*f6 # 1...Bb2-e5 2.g5-g6 threat: 3.Sh7-g5 # 2...Sb4-d3 3.Qd1*d3 # 2...Be5-a1 3.Qd1-e2 # 2...Be5-b2 3.Qd1-e2 # 2...Be5-c3 3.Qd1-e2 # 2...Be5-d4 3.Sb3-d2 # 2...Be5*f6 3.Sh7*f6 # 3.Qd1-e2 # 1...Bb2-d4 2.Sb3-d2 + 2...Ke4-e5 3.Rf6-f5 # 3.Rf6-e6 # 3.g5-g6 # 1...Sb4*c2 2.Rf6-e6 + 2...Bb2-e5 3.Sh7-f6 # 2...Rb5-e5 3.Sh7-f6 # 1...Sb4-d3 2.Qd1-e2 + 2...Ke4-d5 3.Qe2-e6 # 2.Qd1*d3 + 2...Ke4-e5 3.g5-g6 # 3.Qd3-f5 # 1...Sb4-d5 2.Rf6-e6 + 2...Bb2-e5 3.Qd1-d3 # 2.Qd1-d3 + 2...Ke4-e5 3.g5-g6 # 3.Qd3-f5 # 1...Ke4-e5 2.g5-g6 + 2...Ke5-e4 3.Qd1-e2 # 2.Sb3-c5 threat: 3.Rf6-f5 # 3.Rf6-e6 # 3.g5-g6 # 3.Qd1*d6 # 2...Bb2-d4 3.Rf6-e6 # 3.Rf6-f5 # 3.g5-g6 # 2...Sb4-d3 3.Rf6-f5 # 3.Rf6-e6 # 2...Sb4-d5 3.Rf6-e6 # 3.Rf6-f5 # 3.g5-g6 # 2...f4-f3 3.Rf6-f5 # 3.g5-g6 # 3.Qd1*d6 # 2...Sa5-c4 3.Rf6-f5 # 3.Rf6-e6 # 3.g5-g6 # 2...Sa5-b7 3.Rf6-f5 # 3.Rf6-e6 # 3.g5-g6 # 2...Rb5*c5 3.Rf6-e6 # 2...d6-d5 3.Rf6-e6 # 3.g5-g6 # 2...d6*c5 3.Rf6-e6 # 2...Be8-d7 3.Rf6-f5 # 3.Rf6-e6 # 3.Qd1*d6 # 2...Be8*h5 3.Rf6-f5 # 3.Rf6-e6 # 3.Qd1*d6 # 2...Be8-g6 3.Qd1*d6 # 3.Rf6-f5 # 3.Rf6-e6 # 2.f2-f3 threat: 3.g5-g6 # 3.Qd1*d6 # 2...Bb2-d4 3.g5-g6 # 3.Qd1*d4 # 2...Sb4-d3 3.g5-g6 # 2...Sb4-d5 3.g5-g6 # 2...Sa5-c4 3.g5-g6 # 2...Sa5-b7 3.g5-g6 # 2...Rb5-d5 3.g5-g6 # 3.Qd1-e2 # 3.Qd1-e1 # 2...d6-d5 3.Qd1-e1 # 3.g5-g6 # 3.Qd1-e2 # 2...Be8-d7 3.Qd1*d6 # 2...Be8*h5 3.Qd1*d6 # 2...Be8-g6 3.Qd1*d6 # 2.Qd1-e2 + 2...Ke5-d5 3.Qe2-e6 # 2.Qd1*d6 + 2...Ke5-e4 3.Rf6*f4 # 3.Sb3-d2 # 2.Qd1-e1 + 2...Ke5-d5 3.Qe1-e6 # 1...f4-f3 2.Qd1*f3 + 2...Ke4-e5 3.g5-g6 # 3.Qf3-f5 # 2.Qd1-e1 + 2...Ke4-d5 3.Qe1-e6 # 1...Sa5*b3 2.Rf6-e6 + 2...Bb2-e5 3.Sh7-f6 # 2...Rb5-e5 3.Sh7-f6 # 1...Sa5-c4 2.Rf6-e6 + 2...Bb2-e5 3.Sh7-f6 # 2...Sc4-e5 3.Sh7-f6 # 2...Rb5-e5 3.Sh7-f6 # 1...Rb5-f5 2.Qd1-e2 + 2...Ke4-d5 3.Qe2-e6 # 1...Rb5-e5 2.Rf6-f7 threat: 3.Sh7-f6 # 2...Sb4-d5 3.Qd1-d3 # 2...f4-f3 3.Qd1*f3 # 2...Re5-b5 3.Sb3-d2 # 2...Re5-c5 3.Sb3-d2 # 2...Re5-d5 3.Qd1-e2 # 2...Re5-e7 3.Sb3-d2 # 2...Re5-e6 3.Sb3-d2 # 2...Re5*g5 3.Sh7*g5 # 3.Sb3-d2 # 2...Re5-f5 3.Sb3-d2 # 1...c6-c5 2.Rf6-e6 + 2...Bb2-e5 3.Sh7-f6 # 2.Sb3-d2 + 2...Ke4-e5 3.Rf6-f5 # 3.Rf6-e6 # 2...Ke4-d4 3.Rf6*f4 # 3.Rf6*d6 # 1...Be8-d7 2.Rf6-e6 + 2...Bb2-e5 3.Sh7-f6 # 2...Rb5-e5 3.Sh7-f6 # 2...Bd7*e6 3.Sb3-d2 # 1...Be8-f7 2.Rf6-e6 + 2...Bb2-e5 3.Sh7-f6 # 2...Rb5-e5 3.Sh7-f6 # 2...Bf7*e6 3.Sb3-d2 # 1...Rg8-f8 2.Qd1-e2 + 2...Ke4-d5 3.Qe2-e6 #" --- authors: - Вукчевић, Милан Радоје source: Die Schwalbe date: 2002 distinction: 2nd HM algebraic: white: [Kb1, Qe2, Rg3, Bf2, Ba4, Sf5, Pg2, Pf4, Pd4, Pc6, Pc2] black: [Kd5, Rh6, Bc1, Sh5, Sa2, Ph4, Pg7, Pf6, Pd2, Pc3, Pb6, Pa6, Pa3] stipulation: "#3" solution: | "1.Rg3-g5 ! threat: 2.Qe2-e6 + 2...Kd5*e6 3.Ba4-b3 # 1...Sa2-b4 2.Qe2-c4 + 2...Kd5-e4 3.d4-d5 # 2...Kd5*c4 3.Sf5-d6 # 1...Sh5*f4 2.Qe2-e4 + 2...Kd5-c4 3.d4-d5 # 2...Kd5*e4 3.Sf5-d6 # 1...f6*g5 2.Sf5-e7 + 2...Kd5-d6 3.Qe2-e5 #" keywords: - Remote selfblock - Active sacrifice - Battery play --- authors: - Вукчевић, Милан Радоје source: Уральский проблемист date: 2000 algebraic: white: [Kh4, Qa8, Rg7, Ra5, Bh8, Bb1, Se4, Pg4, Pg3, Pe3, Pd5] black: [Ke5, Qf1, Rf6, Rb6, Bh5, Sh3, Sg8] stipulation: "#3" solution: | "1.Qa8-c8 ! threat: 2.Qc8-c3 # 1...Qf1-b5 2.Rg7-g5 + 2...Sh3*g5 3.Qc8-f5 # 1...Qf1-c4 2.Rg7-g5 + 2...Sh3*g5 3.Qc8-f5 # 2.Qc8-f5 + 2...Rf6*f5 3.Rg7-e7 # 1...Qf1-d3 2.Qc8-f5 + 2...Rf6*f5 3.Rg7-e7 # 1...Qf1*b1 2.Qc8-f5 + 2...Rf6*f5 3.Rg7-e7 # 1...Qf1-c1 2.Qc8-f5 + 2...Rf6*f5 3.Rg7-e7 # 2.Rg7-g5 + 2...Sh3*g5 3.Qc8-f5 # 1...Qf1-d1 2.Qc8-c3 + 2...Qd1-d4 3.e3*d4 # 3.Qc3*d4 # 2.Qc8-f5 + 2...Rf6*f5 3.Rg7-e7 # 2.Rg7-g5 + 2...Sh3*g5 3.Qc8-f5 # 1...Qf1-e1 2.Qc8-f5 + 2...Rf6*f5 3.Rg7-e7 # 2.Rg7-g5 + 2...Sh3*g5 3.Qc8-f5 # 1...Bh5*g4 2.Qc8-c3 + 2...Ke5-f5 3.Se4-d6 # 1...Rb6*b1 2.Rg7-e7 + 2...Sg8*e7 3.Qc8-e6 # 1...Rb6-b3 2.Qc8-e6 + 2...Rf6*e6 3.Rg7-g5 # 2.Qc8-c7 + 2...Rf6-d6 3.Rg7-g5 # 3.Rg7-e7 # 3.Qc7*d6 # 2.Rg7-g5 + 2...Qf1-f5 3.Qc8-c7 # 3.Qc8*f5 # 3.Qc8-e6 # 3.Rg5*f5 # 2...Sh3*g5 3.Qc8-c7 # 2.Rg7-e7 + 2...Sg8*e7 3.Qc8-e6 # 3.Qc8-c7 # 1...Rb6-b4 2.Qc8-c3 + 2...Rb4-d4 3.e3*d4 # 3.Qc3*d4 # 2.Qc8-e6 + 2...Rf6*e6 3.Rg7-g5 # 2.Qc8-c7 + 2...Rf6-d6 3.Rg7-g5 # 3.Rg7-e7 # 3.Qc7*d6 # 2.Rg7-g5 + 2...Qf1-f5 3.Qc8-c7 # 3.Qc8*f5 # 3.Qc8-e6 # 3.Rg5*f5 # 2...Sh3*g5 3.Qc8-c7 # 2.Rg7-e7 + 2...Sg8*e7 3.Qc8-e6 # 3.Qc8-c7 # 1...Rb6-b5 2.Qc8-e6 + 2...Rf6*e6 3.Rg7-g5 # 1...Rb6-c6 2.d5*c6 + 2...Qf1-b5 3.Ra5*b5 # 1...Rf6-c6 2.Rg7-g5 # 2.Rg7-e7 #" --- authors: - Вукчевић, Милан Радоје source: Mat (Beograd) date: 1981 distinction: 3rd HM algebraic: white: [Ke8, Qh1, Bc1, Pf6, Pf2, Pe6, Pc3] black: [Ka3, Ra2, Bd3, Ba1, Sb2, Ph4, Pf7, Pf3, Pe5, Pc4, Pc2, Pb3, Pa4] stipulation: "#3" solution: | "1.Qh1-d1 ! threat: 2.e6*f7 threat: 3.f7-f8=Q # 3.f7-f8=B # 2...Bd3-g6 3.Qd1-d6 # 1...c2*d1=Q 2.Bc1-e3 threat: 3.Be3-c5 # 1...c2*d1=S 2.Bc1-h6 threat: 3.Bh6-f8 # 1...c2*d1=R 2.Bc1-e3 threat: 3.Be3-c5 # 1...c2*d1=B 2.Bc1-h6 threat: 3.Bh6-f8 # 2.Bc1-e3 threat: 3.Be3-c5 # 1...f7*e6 2.f6-f7 threat: 3.f7-f8=Q # 3.f7-f8=B # 2...Bd3-g6 3.Qd1-d6 #" --- authors: - Вукчевић, Милан Радоје source: Уральский проблемист date: 2000 algebraic: white: [Kb2, Qf7, Rg1, Rd8, Bf3, Be7, Sd7, Sd1, Pe6, Pe2] black: [Kd2, Qh6, Rh4, Ra4, Bf8, Ba2, Ph5, Pg7, Pg6, Pg5, Pb3] stipulation: "#3" solution: | "1.Qf7*g7 ! threat: 2.Qg7-c3 # 1...Ra4-d4 2.Sd7-b6 threat: 3.Sb6-c4 # 2...Rd4-d3 3.Rd8*d3 # 3.Qg7-c3 # 2...Rd4*d8 3.Qg7-c3 # 2...Rd4-d7 3.Qg7-c3 # 2...Rd4-d6 3.Qg7-c3 # 2...Rd4-d5 3.Qg7-c3 # 2.Sd7*f8 threat: 3.Be7-b4 # 2...Rd4-d3 3.Rd8*d3 # 3.Qg7-c3 # 2...Rd4*d8 3.Qg7-c3 # 2...Rd4-d7 3.Qg7-c3 # 2...Rd4-d6 3.Qg7-c3 # 2...Rd4-d5 3.Qg7-c3 # 1...Ra4-c4 2.Sd7-b6 + 2...Rc4-d4 3.Sb6-c4 # 2...Rh4-d4 3.Sb6*c4 # 2.Sd7-e5 + 2...Rc4-d4 3.Se5-c4 # 2...Rh4-d4 3.Se5*c4 # 1...Rh4-c4 2.Sd7-c5 + 2...Rc4-d4 3.Sc5-e4 # 2.Sd7-f6 + 2...Rc4-d4 3.Sf6-e4 # 1...Rh4-d4 2.Sd7-c5 threat: 3.Sc5-e4 # 2...Ba2-b1 3.Sc5*b3 # 2...Rd4-d3 3.Rd8*d3 # 3.Qg7-c3 # 2...Rd4*d8 3.Qg7-c3 # 2...Rd4-d7 3.Qg7-c3 # 2...Rd4-d6 3.Qg7-c3 # 2...Rd4-d5 3.Qg7-c3 # 1...Qh6*g7 + 2.Sd7-e5 + 2...Ra4-d4 3.Se5-c4 # 2...Rh4-d4 3.Be7*g5 # 1...Qh6-h8 2.Sd7-b6 + 2...Ra4-d4 3.Sb6-c4 # 2...Rh4-d4 3.Be7*g5 # 2.Sd7-e5 + 2...Ra4-d4 3.Se5-c4 # 2...Rh4-d4 3.Be7*g5 # 2.Sd7*f8 + 2...Ra4-d4 3.Be7-b4 # 2...Rh4-d4 3.Be7*g5 # 1...Bf8*g7 + 2.Sd7-f6 + 2...Rh4-d4 3.Sf6-e4 # 2...Ra4-d4 3.Be7-b4 #" --- authors: - Вукчевић, Милан Радоје source: Tidskrift för Schack date: 1981 algebraic: white: [Ka4, Qh5, Rh6, Rf4, Bb4, Sf5, Se1, Pc4] black: [Ke5, Qb1, Rc7, Ba3, Sg1, Sd4, Ph3, Pf7, Pe3, Pb3, Pa6] stipulation: "#3" solution: | "1.Rh6-f6 ! threat: 2.Sf5*d4 + 2...Qb1-f5 3.Rf6*f5 # 3.Qh5*f5 # 1...Qb1*f5 2.Se1-d3 + 2...Ke5*f6 3.Qh5-h6 # 1...Sd4-f3 2.Sf5*e3 + 2...Qb1-f5 3.Qh5*f5 # 2...Sf3-g5 3.Bb4-c3 # 3.Se3-g4 # 2.Sf5-g3 + 2...Qb1-f5 3.Qh5*f5 # 2...Sf3-g5 3.Bb4-c3 # 2.Sf5-h4 + 2...Qb1-f5 3.Qh5*f5 # 2...Sf3-g5 3.Bb4-c3 # 2.Sf5-h6 + 2...Qb1-f5 3.Qh5*f5 # 2...Sf3-g5 3.Sh6-g4 # 3.Bb4-c3 # 2.Sf5-g7 + 2...Qb1-f5 3.Rf6*f5 # 3.Qh5*f5 # 2...Sf3-g5 3.Bb4-c3 # 2.Sf5-e7 + 2...Qb1-f5 3.Qh5*f5 # 2...Sf3-g5 3.Bb4-c3 # 2.Sf5-d6 + 2...Qb1-f5 3.Qh5*f5 # 2...Sf3-g5 3.Bb4-c3 # 1...Sd4*f5 2.Bb4-c3 + 2...Ke5*f4 3.Qh5-h4 # 1...Sd4-e6 2.Sf5*e3 + 2...Qb1-f5 3.Rf6*f5 # 3.Qh5*f5 # 2...Se6-g5 3.Bb4-c3 # 3.Se3-g4 # 2.Sf5-g3 + 2...Qb1-f5 3.Rf6*f5 # 3.Qh5*f5 # 2...Se6-g5 3.Bb4-c3 # 2.Sf5-h4 + 2...Qb1-f5 3.Rf6*f5 # 3.Qh5*f5 # 2...Se6-g5 3.Bb4-c3 # 2.Sf5-h6 + 2...Qb1-f5 3.Rf6*f5 # 3.Qh5*f5 # 2...Se6-g5 3.Sh6-g4 # 3.Bb4-c3 # 2.Sf5-g7 + 2...Qb1-f5 3.Rf6*f5 # 3.Qh5*f5 # 2...Se6-g5 3.Bb4-c3 # 2.Sf5-e7 + 2...Qb1-f5 3.Rf6*f5 # 3.Qh5*f5 # 2...Se6-g5 3.Bb4-c3 # 2.Sf5-d6 + 2...Qb1-f5 3.Rf6*f5 # 3.Qh5*f5 # 2...Se6-g5 3.Bb4-c3 # 1...Ke5*f6 2.Qh5-h6 + 2...Kf6-e5 3.Qh6-d6 # 1...Ke5*f4 2.Qh5-h4 + 2...Kf4-e5 3.Qh4*d4 #" --- authors: - Вукчевић, Милан Радоје source: De Waarheid date: 1981 algebraic: white: [Kh5, Qg8, Bd4, Ba4, Sd3, Sc2] black: [Kc4, Bg5, Sd5, Sd1, Pd6, Pd2, Pc3, Pa5] stipulation: "#3" solution: | "1.Qg8-e6 ! threat: 2.Sd3-e5 + 2...d6*e5 3.Qe6-a6 # 1...Kc4*d3 2.Qe6-f5 + 2...Kd3-c4 3.Qf5-f1 # 2...Kd3-e2 3.Ba4-b5 # 1...Bg5-f4 2.Qe6-e4 threat: 3.Bd4-g1 # 3.Bd4-f2 # 3.Bd4-e3 # 3.Bd4-h8 # 3.Bd4-g7 # 3.Bd4-f6 # 3.Bd4-e5 # 3.Bd4-a7 # 3.Bd4-b6 # 3.Bd4-c5 # 3.Sc2-a3 # 2...Sd1-f2 3.Bd4*f2 # 3.Sc2-a3 # 2...Sd1-e3 3.Sc2-a3 # 3.Bd4*e3 # 3.Bd4-h8 # 3.Bd4-g7 # 3.Bd4-f6 # 3.Bd4-e5 # 3.Bd4-a7 # 3.Bd4-b6 # 3.Bd4-c5 # 2...Bf4-e3 3.Bd4*e3 # 3.Sc2-a3 # 2...Bf4-e5 3.Bd4*e5 # 3.Sc2-a3 # 2...Sd5-e3 3.Sc2-a3 # 3.Bd4*e3 # 3.Bd4-h8 # 3.Bd4-g7 # 3.Bd4-f6 # 3.Bd4-e5 # 3.Bd4-a7 # 3.Bd4-b6 # 3.Bd4-c5 # 2...Sd5-f6 + 3.Bd4*f6 # 2...Sd5-b6 3.Bd4-f6 # 3.Bd4-g1 # 3.Bd4-f2 # 3.Bd4-e3 # 3.Bd4-h8 # 3.Bd4-g7 # 3.Bd4-e5 # 3.Bd4*b6 # 3.Bd4-c5 # 3.Sc2-a3 # 1...Bg5-f6 2.Qe6-e2 threat: 3.Sd3-b2 # 3.Sd3-c1 # 3.Sd3-e1 # 3.Sd3-f2 # 3.Sd3-f4 # 3.Sd3-e5 # 3.Sd3-c5 # 3.Sd3-b4 # 2...Sd1-f2 3.Sd3-b2 # 3.Sd3*f2 # 3.Sd3-e5 # 2...Sd1-b2 3.Sd3*b2 # 3.Sd3-e5 # 2...Sd5-b4 3.Sd3*b4 # 2...Sd5-e3 3.Sd3-f4 # 3.Sd3-b4 # 2...Sd5-f4 + 3.Sd3*f4 # 2...Sd5-e7 3.Sd3-f4 # 3.Sd3-b4 # 2...Sd5-c7 3.Sd3-f4 # 3.Sd3-b4 # 2...Sd5-b6 3.Sd3-f4 # 3.Sd3-b4 # 2...Bf6*d4 3.Sc2-a3 #" --- authors: - Вукчевић, Милан Радоје source: Mat Plus date: 1997 algebraic: white: [Ka8, Qb5, Rb1, Bc4, Ba5, Sd5, Sc6] black: [Kc2, Qh1, Re4, Be6, Se1, Sc5, Ph5, Pe2, Pd6, Pa3] stipulation: "#3" solution: | "1.Bc4-a2 ! threat: 2.Rb1-c1 + 2...Kc2*c1 3.Qb5-b1 # 1...Se1-g2 2.Sd5-e3 + 2...Sg2*e3 3.Qb5*e2 # 2...Re4*e3 3.Sc6-d4 # 1...Se1-f3 2.Sc6-d4 + 2...Sf3*d4 3.Qb5-c4 # 2...Re4*d4 3.Sd5-e3 # 1...Se1-d3 2.Qb5-c4 + 2...Re4*c4 3.Sd5-e3 #" --- authors: - Вукчевић, Милан Радоје source: The British Chess Magazine date: 1972 algebraic: white: [Kh3, Qb4, Rg1, Rd1, Ba3, Sd3, Ph2, Pg2, Pd4, Pc4, Pc3, Pb2, Pa5] black: [Kc2, Re8, Rd7, Bc6, Bb8, Sg7, Sc7, Ph5, Pf4, Pe6, Pb3, Pa7, Pa6] stipulation: "#3" solution: | "1.d4-d5 ! threat: 2.Qb4-c5 threat: 3.Qc5-f2 # 3.Sd3-b4 # 2...e6*d5 3.Sd3-b4 # 2...Sc7*d5 3.Qc5-f2 # 2.Qb4-b6 threat: 3.Qb6-f2 # 3.Sd3-b4 # 2...e6*d5 3.Sd3-b4 # 2...a7*b6 3.Sd3-b4 # 2...Sc7*d5 3.Qb6-f2 # 1...Bc6-b5 2.Qb4-c5 threat: 3.Qc5-f2 # 3.Sd3-b4 # 2...e6*d5 3.Sd3-b4 # 2...Sc7*d5 3.Qc5-f2 # 1...Bc6*d5 2.Qb4-b7 threat: 3.Sd3-b4 # 2...Bd5*g2 + 3.Qb7*g2 # 1...e6*d5 2.Qb4-e7 threat: 3.Sd3-b4 # 1...Sc7-b5 2.Qb4-c5 threat: 3.Qc5-f2 # 3.Sd3-b4 # 2...Sb5*a3 3.Qc5-f2 # 2...Sb5*c3 3.Sd3-b4 # 2...Sb5-d4 3.Sd3-b4 # 2...e6*d5 3.Sd3-b4 # 1...Sc7*d5 2.Qb4-c5 threat: 3.Qc5-f2 # 2...Sd5*c3 3.Sd3-b4 # 2...Sd5-e3 3.Sd3-b4 # 1...Rd7*d5 2.Qb4-d6 threat: 3.Sd3-b4 # 2...Rd5*d3 + 3.Qd6*d3 # 2...Rd5-b5 3.Sd3-e1 #" --- authors: - Вукчевић, Милан Радоје source: Ohio Chess Bulletin date: 1980 algebraic: white: [Kf1, Qf5, Rg2, Rc5, Bg5, Sb3, Ph4, Pf4, Pf3, Pe4, Pe2, Pd4] black: [Ke3, Qa7, Rc6, Ba6, Sb7, Sa3, Pd7, Pd6] stipulation: "#3" solution: | "1.Rc5-c4 ! threat: 2.Qf5-h3 threat: 3.f4-f5 # 2.Qf5-g4 threat: 3.f4-f5 # 2.Qf5-h7 threat: 3.f4-f5 # 2.Qf5-g6 threat: 3.f4-f5 # 2.Qf5*d7 threat: 3.f4-f5 # 2.Qf5-e6 threat: 3.f4-f5 # 2.Qf5-a5 threat: 3.f4-f5 # 3.Qa5-d2 # 3.Qa5-c3 # 2...Sa3-b1 3.f4-f5 # 2...Sa3*c4 3.Qa5-c3 # 3.f4-f5 # 2...Sa3-b5 3.Qa5-d2 # 3.f4-f5 # 2...Ba6*c4 3.Qa5-d2 # 3.f4-f5 # 2...Rc6*c4 3.Qa5-d2 # 3.f4-f5 # 2...Qa7*d4 3.f4-f5 # 2...Sb7*a5 3.f4-f5 # 2...Sb7-c5 3.Qa5-d2 # 3.f4-f5 # 2.Qf5-b5 threat: 3.f4-f5 # 2.Qf5-c5 threat: 3.f4-f5 # 2.Qf5-d5 threat: 3.f4-f5 # 2.Qf5-e5 threat: 3.f4-f5 # 2.Qf5-f8 threat: 3.f4-f5 # 2.Qf5-f7 threat: 3.f4-f5 # 2.Qf5-f6 threat: 3.f4-f5 # 1...Sa3-b1 2.Qf5-a5 threat: 3.f4-f5 # 2...Sb1-d2 + 3.Qa5*d2 # 1...Sa3*c4 2.Qf5-a5 threat: 3.Qa5-c3 # 3.f4-f5 # 2...Sc4-a3 3.Qa5-d2 # 3.f4-f5 # 2...Sc4-b2 3.Qa5-d2 # 3.f4-f5 # 2...Sc4-d2 + 3.Qa5*d2 # 2...Sc4-e5 3.Qa5-d2 # 3.f4-f5 # 3.f4*e5 # 2...Sc4-b6 3.Qa5-d2 # 3.f4-f5 # 2...Sc4*a5 3.f4-f5 # 2...Qa7*d4 3.f4-f5 # 2...Sb7*a5 3.f4-f5 # 2...Sb7-c5 3.f4-f5 # 1...Sa3-b5 2.Qf5-h3 threat: 3.f4-f5 # 2.Qf5-g4 threat: 3.f4-f5 # 2.Qf5-h7 threat: 3.f4-f5 # 2.Qf5-g6 threat: 3.f4-f5 # 2.Qf5*d7 threat: 3.f4-f5 # 2.Qf5-e6 threat: 3.f4-f5 # 2.Qf5*b5 threat: 3.f4-f5 # 2.Qf5-c5 threat: 3.f4-f5 # 2.Qf5-d5 threat: 3.f4-f5 # 2.Qf5-e5 threat: 3.f4-f5 # 2.Qf5-f8 threat: 3.f4-f5 # 2.Qf5-f7 threat: 3.f4-f5 # 2.Qf5-f6 threat: 3.f4-f5 # 1...Ba6*c4 2.Qf5-b5 threat: 3.f4-f5 # 2...Bc4*b3 3.Qb5-d3 # 2...Bc4*e2 + 3.Qb5*e2 # 1...Ba6-b5 2.Qf5*b5 threat: 3.f4-f5 # 2.Qf5-h3 threat: 3.f4-f5 # 2.Qf5-g4 threat: 3.f4-f5 # 2.Qf5-h7 threat: 3.f4-f5 # 2.Qf5-g6 threat: 3.f4-f5 # 2.Qf5*d7 threat: 3.f4-f5 # 2.Qf5-e6 threat: 3.f4-f5 # 2.Qf5-c5 threat: 3.f4-f5 # 2.Qf5-d5 threat: 3.f4-f5 # 2.Qf5-e5 threat: 3.f4-f5 # 2.Qf5-f8 threat: 3.f4-f5 # 2.Qf5-f7 threat: 3.f4-f5 # 2.Qf5-f6 threat: 3.f4-f5 # 1...Rc6*c4 2.Qf5-c5 threat: 3.f4-f5 # 2...Rc4-c1 + 3.Qc5*c1 # 1...Rc6-c5 2.Qf5*c5 threat: 3.f4-f5 # 2.Qf5-d5 threat: 3.f4-f5 # 2.Qf5-e5 threat: 3.f4-f5 # 2.e4-e5 threat: 3.Qf5-d3 # 3.Qf5-e4 # 2...Rc5*e5 3.Qf5-d3 # 3.f4*e5 # 2...Ba6*c4 3.Qf5-e4 # 2...d6-d5 3.Qf5-d3 # 1...Rc6-c8 2.Qf5-g6 threat: 3.f4-f5 # 2.Qf5-a5 threat: 3.Qa5-d2 # 3.Qa5-c3 # 3.f4-f5 # 2...Sa3-b1 3.f4-f5 # 2...Sa3*c4 3.Qa5-c3 # 3.f4-f5 # 2...Sa3-b5 3.Qa5-d2 # 3.f4-f5 # 2...Ba6*c4 3.Qa5-d2 # 3.f4-f5 # 2...Qa7*d4 3.f4-f5 # 2...Sb7*a5 3.f4-f5 # 2...Sb7-c5 3.Qa5-d2 # 3.f4-f5 # 2...Rc8*c4 3.Qa5-d2 # 3.f4-f5 # 2...Rc8-g8 3.Qa5-d2 # 3.Qa5-c3 # 2.Qf5-b5 threat: 3.f4-f5 # 2...Rc8-g8 3.Rc4-c3 # 2.Qf5-f8 threat: 3.f4-f5 # 1...d6-d5 2.Qf5-e5 threat: 3.f4-f5 # 3.e4*d5 # 2...Sa3*c4 3.f4-f5 # 2...d5*c4 3.f4-f5 # 2...d5*e4 3.f4-f5 # 3.Qe5*e4 # 2...Rc6-g6 3.e4*d5 # 2...Rc6-e6 3.f4-f5 # 2...Qa7*d4 3.Qe5*d4 # 3.f4-f5 # 2...Qa7-b8 3.f4-f5 # 2...Sb7-c5 3.f4-f5 # 2...Sb7-d6 3.f4-f5 # 2...d7-d6 3.f4-f5 # 1...Qa7*d4 2.Qf5-c5 threat: 3.Qc5*d4 # 3.f4-f5 # 2...Sa3-c2 3.f4-f5 # 2...Sa3-b5 3.f4-f5 # 2...Qd4*c5 3.f4-f5 # 2...Rc6*c5 3.f4-f5 # 2...d6*c5 3.f4-f5 # 2...Sb7*c5 3.f4-f5 # 1...Qa7-c5 2.Qf5*c5 threat: 3.f4-f5 # 2.Qf5-d5 threat: 3.f4-f5 # 2.Qf5-e5 threat: 3.f4-f5 # 2...Qc5*e5 3.f4*e5 # 1...Qa7-b6 2.Qf5-a5 threat: 3.Qa5-d2 # 3.Qa5-c3 # 3.f4-f5 # 2...Sa3-b1 3.f4-f5 # 2...Sa3*c4 3.Qa5-c3 # 3.f4-f5 # 2...Sa3-b5 3.Qa5-d2 # 3.f4-f5 # 2...Ba6*c4 3.Qa5-d2 # 3.f4-f5 # 2...Qb6*a5 3.f4-f5 # 2...Qb6*d4 3.f4-f5 # 2...Qb6-d8 3.Qa5-d2 # 3.Qa5-c3 # 2...Qb6*b3 3.f4-f5 # 2...Qb6-b4 3.f4-f5 # 2...Rc6*c4 3.Qa5-d2 # 3.f4-f5 # 2...Sb7*a5 3.f4-f5 # 2...Sb7-c5 3.Qa5-d2 # 3.f4-f5 # 2.Qf5-f6 threat: 3.f4-f5 # 1...Qa7-b8 2.Qf5-a5 threat: 3.Qa5-d2 # 3.Qa5-c3 # 3.f4-f5 # 2...Sa3-b1 3.f4-f5 # 2...Sa3*c4 3.Qa5-c3 # 3.f4-f5 # 2...Sa3-b5 3.Qa5-d2 # 3.f4-f5 # 2...Ba6*c4 3.Qa5-d2 # 3.f4-f5 # 2...Rc6*c4 3.Qa5-d2 # 3.f4-f5 # 2...d6-d5 3.Qa5-d2 # 3.Qa5-c3 # 2...Sb7*a5 3.f4-f5 # 2...Sb7-c5 3.Qa5-d2 # 3.f4-f5 # 2...Qb8-g8 3.Qa5-d2 # 3.Qa5-c3 # 2...Qb8-d8 3.Qa5-d2 # 3.Qa5-c3 # 1...Qa7-a8 2.Qf5-a5 threat: 3.Qa5-d2 # 3.Qa5-c3 # 3.f4-f5 # 2...Sa3-b1 3.f4-f5 # 2...Sa3*c4 3.Qa5-c3 # 3.f4-f5 # 2...Sa3-b5 3.Qa5-d2 # 3.f4-f5 # 2...Ba6*c4 3.Qa5-d2 # 3.f4-f5 # 2...Rc6*c4 3.Qa5-d2 # 3.f4-f5 # 2...Sb7*a5 3.f4-f5 # 2...Sb7-c5 3.Qa5-d2 # 3.f4-f5 # 2...Qa8-g8 3.Qa5-d2 # 3.Qa5-c3 # 2...Qa8-d8 3.Qa5-d2 # 3.Qa5-c3 # 1...Sb7-c5 2.Qf5*c5 threat: 3.f4-f5 # 1...Sb7-d8 2.Qf5-a5 threat: 3.Qa5-d2 # 3.Qa5-c3 # 3.f4-f5 # 2...Sa3-b1 3.f4-f5 # 2...Sa3*c4 3.Qa5-c3 # 3.f4-f5 # 2...Sa3-b5 3.Qa5-d2 # 3.f4-f5 # 2...Ba6*c4 3.Qa5-d2 # 3.f4-f5 # 2...Rc6*c4 3.Qa5-d2 # 3.f4-f5 # 2...Qa7*d4 3.f4-f5 # 2...Sd8-e6 3.Qa5-d2 # 3.Qa5-c3 # 2...Sd8-f7 3.Qa5-d2 # 3.Qa5-c3 #" --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 1998 distinction: 3rd Prize algebraic: white: [Ke8, Qc7, Bg2, Sf6, Pf2] black: [Ke6, Rc5, Ba2, Sc3, Pg6, Pg4, Pc6] stipulation: "#3" solution: | "1.f2-f4 ! threat: 2.Qc7-f7 + 2...Ke6-d6 3.Qf7-d7 # 3.Qf7-e7 # 2...Ke6-f5 3.Sf6-d5 # 1...Sc3-e4 2.Bg2*e4 threat: 3.Qc7-e7 # 1...g4-g3 2.Bg2-h3 + 2...Ke6*f6 3.Qc7-e7 # 2...Rc5-f5 3.Qc7-e7 # 3.Qc7-e5 # 3.Qc7*c6 # 1...g4*f3 ep. 2.Bg2-h3 + 2...Rc5-f5 3.Qc7-e7 # 2...Ke6*f6 3.Qc7-e7 # 1...Ke6*f6 2.Bg2-d5 threat: 3.Qc7-e5 # 3.Qc7-f7 # 2...Ba2*d5 3.Qc7-e5 # 2...Rc5*d5 3.Qc7-f7 # 2...g6-g5 3.Qc7-f7 # 1...Ke6-f5 2.Sf6-d5 threat: 3.Qc7-e5 # 3.Qc7-c8 # 3.Qc7-f7 # 3.Qc7-d7 # 2...Ba2*d5 3.Qc7-e5 # 2...Sc3-e4 3.Qc7-e5 # 3.Qc7-c8 # 3.Qc7-d7 # 2...Sc3*d5 3.Qc7-e5 # 2...g4-g3 3.Qc7-c8 # 3.Qc7-d7 # 2...Rc5*d5 3.Qc7-f7 # 2...Kf5-e6 3.Qc7-e5 # 3.Qc7-d7 # 2...c6*d5 3.Qc7-e5 # 3.Qc7-f7 # 2...g6-g5 3.Qc7-f7 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1995 distinction: 3rd Prize algebraic: white: [Ka4, Qc5, Re2, Rc2, Bb5, Sf3, Se6, Pf2, Pe4, Pd7, Pd4, Pc4] black: [Kd3, Qf8, Rd1, Rc8, Bb8, Sg6, Pf4, Pb4, Pa3] stipulation: "#2" solution: | "1...Re1 2.Nxe1# 1.Qc6?? (2.c5#[A]) 1...Qc5[b] 2.Nxc5#[B] 1...Rd2 2.Rexd2# but 1...Ne5[a]! 1.Qc7? (2.c5#[A]) 1...Ne5[a] 2.Nxe5#[C] 1...Qc5[b] 2.Nxc5#[B] but 1...Rd2! 1.Qf5? (2.c5#[A]) 1...Ne5[a] 2.Nxf4#[D] 1...Qc5[b] 2.e5#[E] 1...Rd2 2.Rexd2# 1...Rxc4 2.Bxc4# but 1...Rc5[c]! 1.Qd6? (2.c5#[A]) 1...Ne5[a] 2.Nxe5#[C] 1...Rc5[c] 2.Nxc5#[B] 1...Rxc4 2.Bxc4#/Nc5#[B] but 1...Rd2! 1.Qxf8? (2.c5#[A]) 1...Ne5[a] 2.Nxf4#[D] 1...Rc5[c] 2.Nxc5#[B] 1...Rxc4 2.Bxc4#/Nc5#[B] but 1...Rd2! 1.Qxb4?? (2.c5#[A]/Qb3#/Qc3#) 1...Ne5[a]/Qc5[b] 2.Qb3#/Qc3# 1...Rc5[c] 2.Qb3#/Qc3#/Qxa3# 1...Rd2 2.Qxd2#/Rcxd2# 1...Rb1 2.Rcd2#/Qc3#/Qd2#/c5#[A] 1...Rxc4 2.Qxc4#/Bxc4# but 1...Qxb4+! 1.Red2+?? 1...Kxe4 2.Neg5#/Nfg5#/Qd5# but 1...Rxd2! 1.Qd5! (2.c5#[A]) 1...Ne5[a] 2.dxe5#[E] 1...Qc5[b]/Rc5[c] 2.dxc5#[A] 1...Rd2 2.Rexd2# 1...Rxc4 2.Bxc4#/Qxc4#" keywords: - Zagoruiko --- authors: - Вукчевић, Милан Радоје source: Mat (Beograd) date: 1981 distinction: 3rd Prize algebraic: white: [Ke7, Qg8, Rg3, Bg7, Bf7, Sg6, Pf5, Pf4, Pe2, Pd6] black: [Ke4, Rd1, Bc6, Sa1] stipulation: "#3" solution: | "1.Qg8-h8 ! threat: 2.Bg7-d4 threat: 3.Qh8-e5 # 1...Rd1-b1 2.Bg7-b2 threat: 3.Qh8-e5 # 1...Rd1-c1 2.Bg7-c3 threat: 3.Qh8-e5 # 1...Rd1*d6 2.Qh8-h1 + 2...Ke4*f5 3.Rg3-g5 # 1...Rd1-d5 2.Qh8-h1 + 2...Ke4*f5 3.Bf7-e6 # 3.Rg3-g5 # 3.e2-e4 # 1...Rd1-h1 2.Qh8*h1 + 2...Ke4*f5 3.Bf7-e6 # 3.Rg3-g5 # 2.Bg7-h6 threat: 3.Qh8-e5 #" --- authors: - Вукчевић, Милан Радоје source: stella polaris date: 1971 distinction: 3rd Prize algebraic: white: [Kd8, Qe7, Re2, Ra5, Be3, Bb5, Sd6, Sb2, Pg4, Pe4, Pd5, Pc3] black: [Ke5, Qa2, Rd1, Rb4, Bb8, Bb1, Se8, Sc7, Pf5, Pe6, Pa4] stipulation: "#3" solution: | "1.Be3-h6 ! threat: 2.Sd6-f7 # 1...Bb1*e4 2.Bb5-c4 threat: 3.Sd6-f7 # 2...Rd1*d5 3.Sb2-d3 # 2...f5*g4 3.Re2*e4 # 2...Se8*d6 3.Qe7-g7 # 1...Rd1*d5 2.Bb5-d7 threat: 3.Sd6-f7 # 2...Se8*d6 3.Qe7-g7 # 1...Qa2*d5 2.Bb5-d7 threat: 3.Sd6-f7 # 2...Se8*d6 3.Qe7-g7 # 1...Rb4*e4 2.Bb5-d3 threat: 3.Sd6-f7 # 2...Qa2*d5 3.Sb2-c4 # 2...f5*g4 3.Re2*e4 # 2...Sc7-b5 3.Qe7*e6 # 2...Se8*d6 3.Qe7-g7 # 1...f5*e4 2.Qe7-g5 + 2...Ke5*d6 3.Bh6-f8 # 1...Se8*d6 2.Qe7-g7 #" --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 2001 distinction: 3rd Prize algebraic: white: [Kd1, Qe7, Re8, Rc8, Bd5, Bc1, Sc7, Sc5, Pf6, Pf4, Pc2, Pb4] black: [Kd4, Rh6, Rg1, Bf1, Sh1, Se6, Pg3, Pg2, Pf3, Pf2, Pc4, Pc3] stipulation: "s#3" solution: | "1. Red8! [2. Sb3+ 2. ... cxb3 3. Sb5 Bxb5#] 1. ... S~ 2. Qe2 - 3. Qxc4 Bxc4# 1. ... Sxc7 2. S5e6+ 2. ... Sxe6 3. Rxc4 Bxc4# 1. ... Sxc5 2. S7e6+ 2. ... Sxe6 3. Rxc4 Bxc4# 1. ... Sxf4 2. Be4+ 2. ... Sd5 3. Bxh6 B~#" keywords: - Black correction - Umnov comments: - Check also 188057, 226339 --- authors: - Вукчевић, Милан Радоје source: Chess Life & Review date: 1971 distinction: 3rd Prize algebraic: white: [Ka2, Qf8, Rc4, Rc1, Bh4, Bb3, Sg6, Sd8, Pg2, Pf7, Pb6] black: [Kd7, Rh5, Rg5, Be8, Sg8, Sg7, Pe5, Pe4, Pe3, Pc2] stipulation: "#2" solution: | "1.Bxc2[D]? (2.Rd1#) 1...Rxg2[a]/Rxg6[b] 2.Rc7#[B] 1...Bxf7[c] 2.Ba4#[A] 1...Nf5/Ne6 2.fxe8Q# 1...Nf6/Ne7 2.Qe7# but 1...e2! 1.R4xc2[E]! (2.Rd1#) 1...Rxg2[a] 2.Ba4#[A] 1...Rxg6[b]/Bxf7[c] 2.Rc7#[B] 1...e2 2.Rd2# 1...Nf5/Ne6 2.fxe8Q# 1...Nf6/Ne7 2.Qe7#" keywords: - Reciprocal --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1982 distinction: 3rd Prize algebraic: white: [Kg7, Rh5, Bg3, Bd7, Sf2, Sb4, Ph3, Pg5, Pf6, Pe6] black: [Kf5, Qc4, Re1, Rd1, Bc1, Ph7, Pg4, Pd6, Pd5, Pb7, Pa4] stipulation: "#3" solution: | "1.Sb4-c2 ! threat: 2.Sc2-e3 + 2...Bc1*e3 3.e6-e7 # 2...Re1*e3 3.g5-g6 # 1...Bc1*g5 2.e6-e7 + 2...Re1-e6 3.Sc2-e3 # 1...Bc1-f4 2.h3*g4 + 2...Kf5-e5 3.g5-g6 # 1...Re1*e6 2.g5-g6 + 2...Bc1-g5 3.Sc2-e3 # 1...Re1-e5 2.f6-f7 threat: 3.f7-f8=Q # 3.f7-f8=R # 2...Qc4-c8 3.h3*g4 # 1...Re1-e4 2.h3*g4 + 2...Re4*g4 3.e6-e7 # 1...Qc4-f4 2.g5-g6 + 2...Qf4-g5 3.h3*g4 # 1...Qc4-e4 2.e6-e7 + 2...Qe4-e6 3.h3*g4 #" --- authors: - Вукчевић, Милан Радоје source: Israel-50 JT date: 1997 distinction: 3rd Prize algebraic: white: [Kc1, Rh3, Ra2, Bb4, Sg1, Sd2, Ph6, Pg3, Pf3, Pf2, Pe5, Pb3] black: [Kd3, Rg8, Rf7, Bb5, Ph7, Pg2, Pe6, Pd5, Pd4, Pc2] stipulation: "#3" solution: | "1.Ra2-a3 ! zugzwang. 1...Bb5-c4 2.b3*c4 # 1...Bb5-a4 2.b3*a4 # 1...Bb5-e8 2.Bb4-e7 threat: 3.b3-b4 # 2...Be8-a4 3.b3*a4 # 1...Bb5-d7 2.Bb4-f8 threat: 3.b3-b4 # 2...Bd7-a4 3.b3*a4 # 1...Bb5-c6 2.Bb4-a5 threat: 3.b3-b4 # 2...Bc6-a4 3.b3*a4 # 1...Bb5-a6 2.Bb4-c5 threat: 3.b3-b4 # 2...Ba6-c4 3.b3*c4 # 1...Rf7*f3 2.Bb4-f8 threat: 3.b3-b4 # 2...Bb5-a4 3.b3*a4 # 2...Bb5-c4 3.b3*c4 # 1...Rf7-f4 2.Bb4-f8 threat: 3.b3-b4 # 2...Bb5-a4 3.b3*a4 # 2...Bb5-c4 3.b3*c4 # 1...Rf7-f5 2.Bb4-f8 threat: 3.b3-b4 # 2...Bb5-a4 3.b3*a4 # 2...Bb5-c4 3.b3*c4 # 1...Rf7-f6 2.Bb4-f8 threat: 3.b3-b4 # 2...Bb5-a4 3.b3*a4 # 2...Bb5-c4 3.b3*c4 # 1...Rf7-a7 2.g3-g4 threat: 3.f3-f4 # 2...Rg8*g4 3.f3*g4 # 1...Rf7-b7 2.g3-g4 threat: 3.f3-f4 # 2...Rg8*g4 3.f3*g4 # 1...Rf7-c7 2.g3-g4 threat: 3.f3-f4 # 2...Rg8*g4 3.f3*g4 # 1...Rf7-d7 2.g3-g4 threat: 3.f3-f4 # 2...Rg8*g4 3.f3*g4 # 1...Rf7-e7 2.g3-g4 threat: 3.f3-f4 # 2...Rg8*g4 3.f3*g4 # 1...Rf7-f8 2.Bb4*f8 threat: 3.b3-b4 # 2...Bb5-a4 3.b3*a4 # 2...Bb5-c4 3.b3*c4 # 1...Rf7-g7 2.g3-g4 threat: 3.f3-f4 # 2...Rg7*g4 3.f3*g4 # 1...Rg8*g3 2.Bb4-e7 threat: 3.b3-b4 # 2...Bb5-a4 3.b3*a4 # 2...Bb5-c4 3.b3*c4 # 1...Rg8-g4 2.Bb4-e7 threat: 3.b3-b4 # 2...Bb5-a4 3.b3*a4 # 2...Bb5-c4 3.b3*c4 # 1...Rg8-g5 2.Bb4-e7 threat: 3.b3-b4 # 2...Bb5-a4 3.b3*a4 # 2...Bb5-c4 3.b3*c4 # 1...Rg8-g6 2.Bb4-e7 threat: 3.b3-b4 # 2...Bb5-a4 3.b3*a4 # 2...Bb5-c4 3.b3*c4 # 1...Rg8-g7 2.Bb4-e7 threat: 3.b3-b4 # 2...Bb5-a4 3.b3*a4 # 2...Bb5-c4 3.b3*c4 # 1...Rg8-a8 2.f3-f4 threat: 3.g3-g4 # 2...Rf7*f4 3.g3*f4 # 1...Rg8-b8 2.f3-f4 threat: 3.g3-g4 # 2...Rf7*f4 3.g3*f4 # 1...Rg8-c8 2.f3-f4 threat: 3.g3-g4 # 2...Rf7*f4 3.g3*f4 # 1...Rg8-d8 2.f3-f4 threat: 3.g3-g4 # 2...Rf7*f4 3.g3*f4 # 1...Rg8-e8 2.f3-f4 threat: 3.g3-g4 # 2...Rf7*f4 3.g3*f4 # 1...Rg8-f8 2.f3-f4 threat: 3.g3-g4 # 2...Rf7*f4 3.g3*f4 # 1...Rg8-h8 2.f3-f4 threat: 3.g3-g4 # 2...Rf7*f4 3.g3*f4 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1988 distinction: 1st Prize, ex aequo algebraic: white: [Ka7, Qc2, Rh5, Rd7, Be5, Sd6, Sd4, Pc4, Pc3, Pb6, Pa4] black: [Kc5, Qd5, Rb1, Ba6, Sg5, Sf5, Pc6, Pa5] stipulation: "#3" solution: | "1.Qc2-b3 ! threat: 2.Qb3-a3 + 2...Rb1-b4 3.Sd4-b3 # 1...Rb1-a1 2.Qb3-b4 + 2...a5*b4 3.Sd4-b3 # 1...Qd5*c4 2.Qb3*c4 + 2...Ba6*c4 3.Sd6-b7 # 1...Qd5*d4 2.Be5*d4 + 2...Sf5*d4 3.Sd6-e4 # 1...Qd5*d6 2.Be5*d6 + 2...Sf5*d6 3.Sd4-e6 # 1...Sf5*d4 2.Sd6-e4 + 2...Qd5*e4 3.Be5-d6 # 2...Sg5*e4 3.Be5*d4 # 1...Sf5*d6 2.Sd4-e6 + 2...Qd5*e6 3.Be5-d4 # 2...Sg5*e6 3.Be5*d6 #" --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1972 distinction: 4th HM algebraic: white: [Ke4, Qc4, Rd1, Be8, Sd7, Sd5, Pg4, Pd4, Pc5] black: [Ke6, Rb4, Bg7, Bc6, Sa8, Ph5, Pe7, Pc3] stipulation: "#3" solution: | "1.Qc4-e2 ! threat: 2.Ke4-d3 + 2...Ke6*d5 3.Qe2-e4 # 2...Bg7-e5 3.Sd5-f4 # 3.Qe2*e5 # 1...Rb4*d4 + 2.Ke4-f3 + 2...Rd4-e4 3.Sd5-f4 # 2...Ke6*d5 3.Qe2-a2 # 2...Bg7-e5 3.Qe2*e5 # 1...Bc6*d5 + 2.Ke4-f4 + 2...Bd5-e4 3.d4-d5 # 2...Bg7-e5 + 3.Qe2*e5 #" --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 2002 distinction: 4th HM algebraic: white: [Kb7, Qc6, Rd6, Bg7, Bd7, Pc3] black: [Ka5, Rh5, Rh4, Bh1, Bg1, Sg2, Se1, Ph7, Pb6] stipulation: "#2" solution: | "1...Bh2/Rc5/Rd4 2.Qxb6#[A] 1...Bd4/Rh3/Rh2/Ra4 2.Qa4#[B] 1...Bc5/Rh6/Rb5 2.Qb5# 1...b5 2.Qa6# 1.Bd4? (2.Qxb6#[A]/Qa4#[B]) 1...Ne3[b] 2.Bxb6# 1...Rb5 2.Qxb5# 1...Bxd4 2.Qa4#[B] 1...Rxd4 2.Qxb6#[A] 1...b5 2.Qa6# but 1...Nf4[a]! 1.Rd5+?? 1...Bc5 2.Qxb6#[A]/Qb5# 1...b5 2.Qa6#/Qxb5# but 1...Rxd5! 1.Rd4? (2.Qxb6#[A]/Qa4#[B]) 1...Nf4[a] 2.Ra4# 1...Rxd4 2.Qxb6#[A] 1...Bxd4 2.Qa4#[B] 1...b5 2.Qc7#/Qb6#[A]/Qa6# 1...Rh6 2.Qb5#/Qa4#[B] 1...Rb5 2.Qxb5# but 1...Ne3[b]! 1.Kb8[C]! (2.Qa8#) 1...Nf4[a] 2.Qa4#[B] 1...Ne3[b] 2.Qxb6#[A] 1...b5 2.Qa6#" keywords: - Flight giving key - Transferred mates - Grimshaw - Novotny - Rudenko --- authors: - Вукчевић, Милан Радоје source: Neue Zürcher Zeitung date: 1997 distinction: 4th HM algebraic: white: [Kg6, Qf7, Rh5, Rf5, Be6, Bd2, Sg7, Sg4, Pe2] black: [Kd4, Rb1, Bb2, Ba4, Se8, Sb4, Pe4, Pb6, Pb5] stipulation: "#2" solution: | "1...e3[a] 2.Rf4#[A] 1...Bc3 2.Be3# 1...Nd3 2.e3# 1...Nf6/Nd6/Nc7 2.Qxf6# 1...Nxg7 2.Qf6#/Qxg7# 1.Bc4? (2.e3#) 1...e3[a] 2.Rf4#[A] 1...Nc2[b]/Nd5[c] 2.Qd5#[B] 1...bxc4 2.Ne6# but 1...Re1! 1.Bb3?? (2.Ne6#) 1...e3[a] 2.Rf4#[A] 1...Nxg7 2.Qf6#/Qxg7# 1...Nc7 2.Qf6# but 1...Bxb3! 1.Ba2?? (2.Ne6#) 1...e3[a] 2.Rf4#[A] 1...Nxa2 2.Qd5#[B] 1...Nxg7 2.Qf6#/Qxg7# 1...Nc7 2.Qf6# but 1...Bb3! 1.Qd7+?? 1...Nd5[c] 2.Qxd5#[B] but 1...Nd6! 1.Qc7?? (2.Be3#/Qe5#/Qxb6#) 1...e3[a] 2.Qe5#/Qf4#[C]/Rf4#[A] 1...Nc2[b] 2.Rd5#/Qe5#/Qxb6# 1...Nd5[c] 2.Rxd5# 1...Bc1 2.Bc3#/Qc3#/Qe5#/Qxb6# 1...Rc1 2.Be3#/Qe5# 1...Nd6 2.Be3#/Qxb6# 1...Nc6 2.Qxb6# 1...Nd3 2.e3#/Be3#/Rd5# 1...Na6 2.Be3#/Rd5#/Qe5# but 1...Nxc7! 1.Qb7? (2.Qxb6#) 1...e3[a] 2.Rf4#[A] 1...Nd5[c]/Na6 2.Qxd5#[B] 1...Nd3 2.e3#/Qd5#[B] but 1...Rc1! 1.Nxe8?? (2.Qf6#/Qg7#) 1...e3[a] 2.Rf4#[A] 1...Nc6 2.Qd7# 1...Nd3 2.Qd7#/e3# but 1...Nd5[c]! 1.Rc5! (2.Be3#) 1...e3[a] 2.Qf4#[C] 1...Nc2[b]/Nd5[c] 2.Rhd5#[D] 1...bxc5 2.Nf5# 1...Bc1 2.Bc3#" keywords: - Active sacrifice - Changed mates --- authors: - Вукчевић, Милан Радоје source: Good Companions 2. QCT date: 2001 distinction: 3rd HM algebraic: white: [Ka4, Qa8, Rg8, Bd4, Se2, Sc5, Ph6, Pb5] black: [Kc4, Rh8, Ph7, Pb6, Pa3] stipulation: "r#2" solution: | "1.Qa8-h1 ! zugzwang. 1...a3-a2 2.Bd4-g1 2...a2-a1=Q # 2...a2-a1=R # 1...b6*c5 2.Rg8-g2 2...Rh8-a8 # 1...Rh8*g8 2.Sc5-e4 2...Rg8-a8 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1985 distinction: 3rd HM algebraic: white: [Kb8, Qf8, Bf5, Be5, Sd3, Sa8, Pf4, Pb3] black: [Kd5, Rc6, Bc8, Ba5, Pf7, Pd7, Pa6] stipulation: "#3" solution: | "1.Kb8-a7 ! zugzwang. 1...Rc6-c2 2.Qf8-d6 # 1...Ba5-e1 2.Sa8-b6 + 2...Rc6*b6 3.Qf8-c5 # 1...Ba5-d2 2.Sa8-b6 + 2...Rc6*b6 3.Qf8-c5 # 1...Ba5-c3 2.Sa8-b6 + 2...Rc6*b6 3.Qf8-c5 # 1...Ba5-b4 2.Sd3*b4 # 1...Ba5-d8 2.Sd3-b4 # 1...Ba5-c7 2.Sd3-b4 # 1...Ba5-b6 + 2.Sa8*b6 + 2...Rc6*b6 3.Qf8-c5 # 1...Rc6-c1 2.Qf8-d6 # 1...Rc6-c3 2.Qf8-d6 # 1...Rc6-c4 2.Qf8-d6 # 1...Rc6-c5 2.Qf8-d6 # 2.Qf8*c5 # 1...Rc6-b6 2.Qf8-c5 # 1...Rc6-c7 + 2.Sa8*c7 + 2...Ba5*c7 3.Qf8-c5 # 3.Sd3-b4 # 2...Kd5-c6 3.Qf8-c5 # 3.Qf8-d6 # 1...Rc6-h6 2.Qf8-c5 # 1...Rc6-g6 2.Qf8-c5 # 1...Rc6-f6 2.Qf8-c5 # 1...Rc6-e6 2.Qf8-c5 # 1...Rc6-d6 2.Qf8*d6 # 1...d7-d6 2.Qf8*f7 + 2...Bc8-e6 3.Qf7*e6 # 1...f7-f6 2.Qf8-g8 + 2...Rc6-e6 3.Qg8-g2 # 1...Bc8-b7 2.Sa8-c7 + 2...Ba5*c7 3.Sd3-b4 # 2...Rc6*c7 3.Qf8-d6 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1984 distinction: 1st HM algebraic: white: [Ke8, Qb2, Rg5, Rg4, Bf8, Bf7, Sf2, Se3, Pd6] black: [Kf6, Qh7, Rd4, Bh5, Be5, Sc6, Sc3, Ph6, Pg7, Pg6, Pe4] stipulation: "#3" solution: | "1.Qb2-b6 ! threat: 2.Qb6-d8 + 2...Sc6-e7 3.Bf8*e7 # 3.Qd8*e7 # 2...Sc6*d8 3.Bf8-e7 # 1...Sc3-d5 2.Se3*d5 + 2...Rd4*d5 3.Sf2*e4 # 2.Sf2*e4 + 2...Rd4*e4 3.Se3*d5 # 1...Rd4*d6 2.Se3-d5 + 2...Sc3*d5 3.Sf2*e4 # 2...Rd6*d5 3.Bf8-e7 # 1...Be5*d6 2.Rg4-f4 + 2...Bd6*f4 3.Bf8-e7 # 2...Kf6*g5 3.Sf2-h3 # 1...Qh7-g8 2.Rg5*g6 + 2...Bh5*g6 3.Rg4*g6 # 1...Qh7-h8 2.Rg5*g6 + 2...Bh5*g6 3.Rg4*g6 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1985 distinction: 1st HM algebraic: white: [Kc6, Ra2, Ba1, Sh5, Se1, Pf3, Pd5, Pb3] black: [Ke3, Se8, Pf4, Pd6, Pc7, Pb4, Pa3] stipulation: "#3" solution: | "1.Ba1-h8 ! zugzwang. 1...Se8-f6 2.Sh5*f6 threat: 3.Sf6-g4 # 1...Se8-g7 2.Sh5*g7 threat: 3.Sg7-f5 #" --- authors: - Вукчевић, Милан Радоје source: Deutsche Schachzeitung date: 1982 distinction: 1st HM algebraic: white: [Ka2, Rb2, Bf4, Bd5, Se3, Sb4, Ph2, Pf2, Pe5, Pe4, Pe2, Pb5, Pa4] black: [Kd4, Rh3, Bf8, Sh4, Sb7, Pd7, Pc4, Pb6] stipulation: "#3" solution: | "1.Ka2-a3 ! threat: 2.Rb2-d2 + 2...Kd4-c5 3.Sb4-a6 # 2...Kd4-c3 3.Se3-d1 # 1...Rh3*e3 + 2.f2*e3 + 2...Kd4-c5 3.Sb4-a6 # 2...Kd4-c3 3.Rb2-c2 # 1...c4-c3 2.Se3-c2 + 2...Kd4-c5 3.Sb4-a6 # 1...Kd4-c3 2.Rb2-c2 + 2...Kc3-d4 3.Rc2*c4 # 1...Sh4-f3 2.Se3-f5 + 2...Kd4-c5 3.Sb4-a6 # 2...Kd4-c3 3.Rb2-c2 # 1...Sb7-c5 2.Sb4-c2 + 2...Kd4-c3 3.Se3-d1 # 1...Bf8*b4 + 2.Ka3*b4 threat: 3.Se3-c2 # 3.Rb2-d2 # 2...Rh3*e3 3.f2*e3 # 2...c4-c3 3.Se3-c2 # 2...Sh4-f3 3.Se3-c2 # 3.Se3-f5 # 2...Sb7-c5 3.Se3-c2 #" --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 1998 distinction: Comm. algebraic: white: [Ka8, Rf6, Ra4, Bg2, Bf8, Se8, Sd3, Pb3, Pa7] black: [Kb5, Qg3, Bc8, Sg6, Pc7, Pb7, Pb6, Pb4] stipulation: "#3" solution: | "1.Ka8-b8 ! threat: 2.Ra4*b4 + 2...Kb5-a5 3.a7-a8=Q # 3.a7-a8=R # 2...Kb5-a6 3.a7-a8=Q # 3.a7-a8=R # 1...Qg3-d6 2.Bf8*d6 threat: 3.Se8*c7 # 2.Rf6*d6 threat: 3.Se8*c7 # 1...Qg3-f4 2.Rf6*f4 threat: 3.Se8*c7 # 3.Rf4*b4 # 2...Sg6*f4 3.Se8*c7 # 2...c7-c5 3.Se8-c7 # 3.Se8-d6 # 1...c7-c5 + 2.Rf6-d6 threat: 3.Se8-c7 # 2...Qg3*d6 + 3.Se8*d6 # 1...c7-c6 + 2.Bf8-d6 threat: 3.Se8-c7 # 2...Qg3*d6 + 3.Se8*d6 #" --- authors: - Вукчевић, Милан Радоје source: Chess Life date: 1986 distinction: Comm. algebraic: white: [Ka6, Qd1, Rf7, Rf4, Bf5, Bb4, Pd6, Pd3] black: [Kc6, Rh4, Bh3, Se1, Sd2, Pg7, Pg6, Pf6, Pe3, Pb6, Pb3, Pa4] stipulation: "#3" solution: | "1.Qd1-g4 ! threat: 2.Bf5-e6 threat: 3.Rf7-c7 # 2.Rf4-d4 threat: 3.Rf7-c7 # 3.Bf5-d7 # 2...Bh3*g4 3.Rf7-c7 # 2...g6*f5 3.Rf7-c7 # 1...Se1-f3 2.Bf5-e6 threat: 3.Rf7-c7 # 2.Qg4*f3 + 2...Sd2*f3 3.Bf5-e4 # 2...Sd2-e4 3.Bf5*e4 # 3.Qf3*e4 # 1...Se1*d3 2.Qg4-f3 + 2...Sd2*f3 3.Bf5-e4 # 2...Sd2-e4 3.Bf5*e4 # 3.Qf3*e4 # 1...Se1-c2 2.Qg4-f3 + 2...Sd2*f3 3.Bf5-e4 # 2...Sd2-e4 3.Bf5*e4 # 3.Qf3*e4 # 1...Bh3-f1 2.Bf5-d7 + 2...Kc6-d5 3.Qg4-e6 # 1...Bh3*g4 2.Rf4-d4 threat: 3.Rf7-c7 # 1...Rh4*g4 2.Bf5-e6 threat: 3.Rf7-c7 # 1...Rh4-h8 2.Rf4-c4 + 2...Sd2*c4 3.Bf5-e4 # 3.Qg4*c4 # 3.Qg4-e4 # 2...Kc6-d5 3.Qg4-d4 # 1...Rh4-h5 2.Rf4-c4 + 2...Sd2*c4 3.Qg4*c4 # 3.Qg4-e4 # 2...Kc6-d5 3.Qg4-d4 # 2.Rf4-d4 threat: 3.Rf7-c7 # 3.Bf5-d7 # 2...Bh3*g4 3.Rf7-c7 # 2...Rh5*f5 3.Rf7-c7 # 2...g6*f5 3.Rf7-c7 # 1...g6*f5 2.Rf4-d4 threat: 3.Rf7-c7 # 2.Rf4*f5 threat: 3.Rf7-c7 #" --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 1998 distinction: 2nd HM algebraic: white: [Kd2, Qh3, Rc5, Se8, Sb6, Ph4, Pg2, Pf5, Pe3] black: [Ke4, Qg8, Rh6, Bh8, Ba6, Pg3, Pf7, Pe5, Pc6, Pb5] stipulation: "#3" solution: | "1.Sb6-d7 ! threat: 2.f5-f6 2...Rh6*f6 3.Rc5*e5 # 2...Bh8*f6 3.Se8-d6 # 1...Qg8-g6 2.Sd7-f6 + 2...Qg6*f6 3.Qh3-g4 # 2...Bh8*f6 3.Se8-d6 # 1...Qg8-g7 2.Se8-f6 + 2...Rh6*f6 3.Rc5*e5 # 2...Qg7*f6 3.Qh3-g4 # 1...Rh6-e6 2.f5*e6 threat: 3.Se8-d6 # 2...Qg8*e8 3.Qh3-g4 # 2...Qg8-f8 3.Qh3-g4 # 1...Rh6-g6 2.Qh3-g4 + 2...Rg6*g4 3.Se8-d6 # 1...Qg8-g5 2.h4*g5 threat: 3.Qh3-g4 # 2...Rh6*h3 3.Se8-d6 # 2...Rh6-d6 + 3.Se8*d6 #" keywords: - Novotny - Holzhausen --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) date: 1956 distinction: 2nd HM algebraic: white: [Kh4, Qh3, Rh5, Ra5, Bg4, Ba3, Sg3, Pf6, Pd5, Pc6] black: [Kd6, Qe1, Rf2, Rb4, Bc2, Ph6, Pg2, Pf7, Pf3, Pe5, Pd4, Pc7] stipulation: "#4" solution: | "1.Bg4-c8 ! threat: 2.Qh3-d7 # 1...Qe1-e4 + 2.Sg3*e4 + 2...Bc2*e4 3.Qh3-d7 # 3.Ba3*b4 # 1...Qe1-h1 2.Ba3*b4 # 1...Bc2-f5 2.Sg3*f5 # 1...d4-d3 + 2.Bc8-g4 threat: 3.Sg3-f5 # 2...Qe1-e4 3.Sg3*e4 # 2...Rf2-f1 3.Ba3*b4 + 3...Qe1*b4 4.Sg3-f5 # 2...Rf2-d2 3.Ba3*b4 # 2...Rf2-e2 3.Ba3*b4 + 3...Qe1*b4 4.Sg3-f5 # 2...d3-d2 3.Ba3*b4 # 2...e5-e4 3.Bg4-c8 threat: 4.Qh3-d7 # 3...Qe1-h1 4.Sg3*e4 # 4.Ba3*b4 # 3...e4-e3 + 4.Sg3-e4 #" --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 2001 distinction: 5th HM algebraic: white: [Ka1, Qh5, Re1, Rd3, Bh2, Bh1, Sf4, Sd4, Pf5, Pb6, Pb5, Pb4] black: [Kd6, Qg7, Rc2, Ra3, Bh8, Bf1, Sh7, Sb1, Ph4, Pf6, Pd7, Pc6, Pa2] stipulation: "#2" solution: | "1...Nd2/Be2/Rc1/Rcc3/Rc4 2.Ng6# 1...Bh3 2.Nb3# 1...cxb5 2.Nxb5# 1.Nxc2+?? 1...Bxd3 2.Ng6# but 1...Rxd3! 1.Ng2+?? 1...Kd5 2.Ne3# but 1...Qg3! 1.Qe8! (2.Qb8#) 1...Re2 2.Nb3# 1...Be2 2.Ng6# 1...Ra7/Ra8 2.Nde2# 1...cxb5 2.Nxb5# 1...Qg8 2.Qe7# 1...Qf8 2.Nfe2#" keywords: - Grimshaw --- authors: - Вукчевић, Милан Радоје source: 2nd WCCT date: 1980 distinction: 4th Place, 1980-1983 algebraic: white: [Kg1, Qe2, Rd4, Rd1, Bc7, Bb7, Sf5, Se5, Pf2, Pd7, Pb4] black: [Ke6, Qf6, Rg8, Rg6, Ba2, Sg7, Sf1, Pg5, Pf7, Pe7] stipulation: "#2" solution: | "1...Qxf5[a] 2.Qa6#[A] 1...Nxf5[b] 2.Qxa2#[B] 1...Kxf5 2.Qg4# 1...Rc8 2.dxc8Q#/dxc8B# 1...Qxe5 2.Qxe5# 1.Bd5+[C]?? 1...Kxf5 2.Qe4#/Qc2#/Qf3#/Qg4#/Qd3# but 1...Bxd5! 1.Bc8?? (2.d8Q#/d8R#/d8B#/d8N#) 1...Qxf5[a] 2.Qa6#[A] 1...Kxf5 2.Qg4# 1...Rxc8 2.dxc8Q#/dxc8B# 1...Qxe5 2.Qxe5# but 1...Rd8! 1.d8Q?? (2.Qd7#/Bc8#) 1...Qxf5[a] 2.Qa6#[A] 1...Kxf5 2.Qg4# 1...Qxe5 2.Qxe5# but 1...Rxd8! 1.d8R?? (2.Bc8#) 1...Qxf5[a] 2.Qa6#[A] 1...Kxf5 2.Qg4# 1...Qxe5 2.Qxe5# but 1...Rxd8! 1.d8B?? (2.Bc8#) 1...Qxf5[a] 2.Qa6#[A] 1...Kxf5 2.Qg4# 1...Qxe5 2.Qxe5# but 1...Rxd8! 1.d8N+?? 1...Kxf5 2.Qe4#/Qc2#/Qf3#/Qg4#/Qd3# but 1...Rxd8! 1.R4d3?? (2.Nd4#) 1...Nxf5[b] 2.Qxa2#[B] 1...Kxf5 2.Qg4# 1...Qxe5 2.Qxe5# but 1...Qxf5[a]! 1.R4d2?? (2.Nd4#) 1...Qxf5[a] 2.Qa6#[A] 1...Kxf5 2.Qg4# 1...Qxe5 2.Qxe5# but 1...Nxf5[b]! 1.Rd5?? (2.Nd4#) 1...Qxf5[a] 2.Qa6#[A] 1...Kxf5 2.Qg4# 1...Qxe5 2.Qxe5# but 1...Nxf5[b]! 1.Rd6+?? 1...Kxf5 2.Qe4# but 1...exd6! 1.Re4? (2.Nd4#) 1...Qxf5[a] 2.Qa6#[A] 1...Nxf5[b] 2.Qxa2#[B] 1...Kxf5 2.Qg4# but 1...Qxe5! 1.Rf4?? (2.Qxa2#[B]/Qa6#[A]/Nd4#) 1...Qxf5[a] 2.Qa6#[A] 1...Nxf5[b] 2.Qxa2#[B] 1...Ra8 2.Nd4# 1...Qxe5 2.Qxe5# 1...Bb1 2.Bd5#[C]/Qc4#/Qa6#[A]/Nd4# 1...Bb3/Ne3/Nd2 2.Qa6#[A]/Nd4# 1...Bc4 2.Qxc4#/Nd4# 1...Bd5 2.Bxd5#[C]/Nd4# 1...Ne8 2.Qxa2#[B]/d8N#/Nd4# but 1...gxf4+! 1.Rg4? (2.Nd4#) 1...Qxf5[a] 2.Qa6#[A] 1...Nxf5[b] 2.Qxa2#[B] 1...Qxe5 2.Qxe5# but 1...Kxf5! 1.Rh4?? (2.Nd4#) 1...Qxf5[a] 2.Qa6#[A] 1...Nxf5[b] 2.Qxa2#[B] 1...Kxf5 2.Qg4# 1...Qxe5 2.Qxe5# but 1...gxh4+! 1.Nf3+?? 1...Kxf5 2.Qe4# 1...Qe5 2.Qxe5# but 1...Ne3! 1.Ng4+?? 1...Kxf5 2.Qe4# 1...Qe5 2.Qxe5# but 1...Ne3! 1.Nxg6+?? 1...Kxf5 2.Qe4# 1...Qe5 2.Qxe5# but 1...Ne3! 1.Nd3+?? 1...Kxf5 2.Qe4#/Qg4# 1...Qe5 2.Qxe5# but 1...Ne3! 1.Nc4+?? 1...Kxf5 2.Qe4#/Qg4# 1...Qe5 2.Qxe5# but 1...Ne3! 1.Nc6+?? 1...Kxf5 2.Qe4#/Qg4# 1...Qe5 2.Qxe5# but 1...Ne3! 1.Rc4! (2.Nd4#) 1...Qxf5[a] 2.Rc6#[D] 1...Nxf5[b] 2.Bd5#[C] 1...Kxf5 2.Qg4# 1...Qxe5 2.Qxe5#" keywords: - Defences on same square - Changed mates --- authors: - Вукчевић, Милан Радоје source: 2nd WCCT date: 1980 distinction: 6th Place, 1980-1983 algebraic: white: [Kc8, Re6, Rb1, Bg8, Be5, Sf2, Sa4, Pd2, Pc7, Pc3, Pb5] black: [Kc4, Qf5, Rh4, Sb8, Pf6] stipulation: "#2" solution: | "1...Qxf2[a] 2.Rd6#[A] 1...Qxb1[b] 2.Rb6#[C] 1...Qf3/Qg5/Qh5/Qg6/Qh7/Qe4/Qd3/Nd7[c] 2.Rc6#[B] 1...Qf4/Qc2 2.Re7#/Re8#/Rd6#[A]/Rc6#[B]/Rb6#[C]/Ra6#/Rxf6# 1...Qxe5 2.Rxe5#[D]/Rc6#[B] 1...Qxe6+ 2.Bxe6# 1.Kxb8? (2.Rc6#[B]) 1...Qxf2[a] 2.Rd6#[A] 1...Qxb1[b] 2.Rb6#[C] 1...Qxe6 2.Bxe6# but 1...Kd5! 1.Kb7?? (2.Rc6#[B]) 1...Qxf2[a] 2.Rd6#[A] 1...Qxb1[b] 2.Rb6#[C] 1...Qxe6 2.Bxe6# but 1...Kd5! 1.Bd4?? (2.Nb6#) 1...Qxf2[a] 2.Re3#[E] 1...Qxb1[b] 2.Re5#[D]/Rb6#[C] 1...Qc5/Qxb5/Nd7[c] 2.Rc6#[B] 1...Qxe6+ 2.Bxe6# but 1...Rxd4! 1.d3+?? 1...Qxd3 2.Rc6#[B] but 1...Kd5! 1.Bd6! (2.Nb6#) 1...Qxf2[a] 2.Re3#[E] 1...Qxb1[b] 2.Re5#[D] 1...Qc5/Qxb5/Nd7[c] 2.Re4#[F] 1...Qxe6+ 2.Bxe6#" keywords: - Changed mates --- authors: - Вукчевић, Милан Радоје source: Уральский проблемист date: 2001 distinction: 3rd Prize, ex aequo algebraic: white: [Kh1, Qa5, Rd3, Bg6, Be5, Ph2, Pf5, Pf4, Pe2, Pd5, Pd2, Pc4] black: [Ke4, Qa1, Rf7, Rd7, Bb1, Se3, Ph3, Pe6, Pc5, Pb2, Pa2] stipulation: "s#3" solution: | "1.Qa5-a8 ! threat: 2.Rd3-d4 + 2...c5*d4 3.d2-d3 + 3...Bb1*d3 # 1...Se3-c2 2.Rd3-e3 + 2...Sc2*e3 3.d2-d3 + 3...Bb1*d3 # 1...Se3-d1 2.Rd3-e3 + 2...Sd1*e3 3.d2-d3 + 3...Bb1*d3 # 1...Se3-f1 2.Rd3-e3 + 2...Sf1*e3 3.d2-d3 + 3...Bb1*d3 # 1...Se3-g2 2.Rd3-e3 + 2...Sg2*e3 3.d2-d3 + 3...Bb1*d3 # 1...Se3-g4 2.Rd3-e3 + 2...Sg4*e3 3.d2-d3 + 3...Bb1*d3 # 1...Se3*f5 2.d5*e6 + 2...Rd7-b7 3.e6*f7 3...Bb1*d3 # 3...Bb1-c2 # 2...Rd7-d5 3.e6*f7 3...Bb1*d3 # 3...Bb1-c2 # 1...Se3*d5 2.f5*e6 + 2...Rf7-f5 3.e6*d7 3...Bb1*d3 # 3...Bb1-c2 # 1...Se3*c4 2.Rd3-e3 + 2...Sc4*e3 3.d2-d3 + 3...Bb1*d3 #" --- authors: - Вукчевић, Милан Радоје source: | Match: Macedonia - USA date: 2001 distinction: 11th Place algebraic: white: [Ka6, Qc6, Rf8, Bg4, Bb8, Pd6, Pd2, Pc5, Pc2, Pa5] black: [Ke5, Rd4, Pg6, Pg5, Pd3] stipulation: "#2" solution: | "1.Rf5+?? 1...Ke6 2.Qc8#/Qe8#[A] but 1...gxf5! 1.Re8+?? 1...Kf4 2.Qf3# but 1...Kf6! 1.c3? zz 1...Rd5[a] 2.Qe8#[A] 1...Rxd6[b] 2.Bxd6#[B] 1...Rc4[c]/Ra4[c]/Re4[d]/Rf4[c]/Rxg4[c] 2.d7#[C] but 1...Rb4! 1.Bf3! (2.Qe8#[A]) 1...Rd5[a]/Rc4[c]/Rb4/Ra4[c]/Rf4[c]/Rg4[c]/Rh4 2.Qxd5#[D] 1...Rxd6[b] 2.Qxd6#[E] 1...Re4[d] 2.Qxe4#[F]" keywords: - Black correction - Flight giving key - Changed mates --- authors: - Вукчевић, Милан Радоје source: 4th WCCT B2 date: 1989 distinction: 12th Place, 1989-1992 algebraic: white: [Kg7, Qc5, Bf6, Bb3, Sh5, Sc3, Pe5, Pd6, Pc4] black: [Ke6, Qa8, Rf1, Re3, Bh1, Bg1, Sc8, Pg4, Pf5, Pf4, Pe2, Pd7, Pc6, Pa5] stipulation: "#3" solution: | "1.Sc3-a4 ! threat: 2.Qc5-d5 + 2...Bh1*d5 3.Sa4-c5 # 2...c6*d5 3.Sa4-c5 # 1...Re3*b3 2.Qc5-f2 threat: 3.Sh5*f4 # 3.Sa4-c5 # 2...Rf1*f2 3.Sa4-c5 # 2...Bg1-h2 3.Sa4-c5 # 2...Bg1*f2 3.Sh5*f4 # 2...Rb3-b5 3.Sh5*f4 # 2...Rb3-f3 3.Sa4-c5 # 2...Qa8-a7 3.Sh5*f4 # 1...Re3-c3 2.Qc5-f2 threat: 3.Sh5*f4 # 3.Sa4-c5 # 2...Rf1*f2 3.Sa4-c5 # 2...Bg1-h2 3.Sa4-c5 # 2...Bg1*f2 3.Sh5*f4 # 2...Rc3*c4 3.Sh5*f4 # 2...Rc3-f3 3.Sa4-c5 # 2...Qa8-a7 3.Sh5*f4 # 1...Re3-d3 2.Qc5-f2 threat: 3.Sh5*f4 # 3.Sa4-c5 # 2...Rf1*f2 3.Sa4-c5 # 2...Bg1-h2 3.Sa4-c5 # 2...Bg1*f2 3.Sh5*f4 # 2...Rd3-d5 3.Sh5*f4 # 2...Rd3-d4 3.Sa4-c5 # 2...Rd3-f3 3.Sa4-c5 # 2...Qa8-a7 3.Sh5*f4 # 1...Re3-e4 2.Qc5-d4 threat: 3.c4-c5 # 3.Sa4-c5 # 2...Rf1-b1 3.Sa4-c5 # 2...Rf1-c1 3.Sa4-c5 # 2...Rf1-f3 3.Sa4-c5 # 2...Bg1*d4 3.c4-c5 # 2...Re4-e3 3.Sa4-c5 # 2...Re4*d4 3.Sa4-c5 # 2...Re4*e5 3.Qd4*e5 # 2...c6-c5 3.Sa4*c5 # 2...Qa8-b7 3.Sa4-c5 # 2...Qa8-a6 3.Sa4-c5 # 2...Qa8-a7 3.c4-c5 # 2...Qa8-b8 3.Sa4-c5 # 2...Sc8-b6 3.Sa4-c5 # 2...Sc8*d6 3.Qd4*d6 # 3.Sa4-c5 # 2...Sc8-e7 3.Sa4-c5 # 1...Re3-h3 2.Qc5-f2 threat: 3.Sh5*f4 # 3.Sa4-c5 # 2...Rf1*f2 3.Sa4-c5 # 2...Bg1-h2 3.Sa4-c5 # 2...Bg1*f2 3.Sh5*f4 # 2...Rh3-f3 3.Sa4-c5 # 2...Rh3*h5 3.Sa4-c5 # 2...Qa8-a7 3.Sh5*f4 # 1...Re3-g3 2.Qc5-f2 threat: 3.Sh5*f4 # 3.Sa4-c5 # 2...Rf1*f2 3.Sa4-c5 # 2...Bg1*f2 3.Sh5*f4 # 2...Rg3-f3 3.Sa4-c5 # 2...Qa8-a7 3.Sh5*f4 # 1...Re3-f3 2.Qc5-e3 threat: 3.c4-c5 # 3.Sa4-c5 # 2...Rf1-b1 3.Sa4-c5 # 2...Rf1-c1 3.Sa4-c5 # 2...Rf1-d1 3.Sa4-c5 # 2...Bg1*e3 3.c4-c5 # 2...Rf3-f2 3.Sa4-c5 # 2...Rf3*e3 3.Sa4-c5 # 2...Rf3-h3 3.Sa4-c5 # 2...Rf3-g3 3.Sa4-c5 # 2...c6-c5 3.Sa4*c5 # 2...Qa8-b7 3.Sa4-c5 # 2...Qa8-a6 3.Sa4-c5 # 2...Qa8-a7 3.c4-c5 # 2...Qa8-b8 3.Sa4-c5 # 2...Sc8-b6 3.Sa4-c5 # 2...Sc8*d6 3.Sa4-c5 # 2...Sc8-e7 3.Sa4-c5 # 1...Qa8-a7 2.Kg7-f8 threat: 3.Sh5-g7 # 2...Re3*e5 3.Qc5*e5 #" --- authors: - Вукчевић, Милан Радоје source: 3rd WCCT distinction: 11th Place algebraic: white: [Ka1, Qc8, Be4, Ba3, Sf4, Sf1, Ph4, Ph2, Pg3, Pe7, Pb2, Pa4] black: [Kg4, Rd7, Ra5, Ba7, Ba2, Se8, Sb8, Ph5, Ph3, Pf3, Pf2, Pe5, Pb3] stipulation: "#3" solution: | "1.Sf4-g6 ! threat: 2.Ba3-c5 threat: 3.Sg6*e5 # 3.Sf1-e3 # 2...Ra5*c5 3.Sf1-e3 # 2...Ba7*c5 3.Sg6*e5 # 2...Sb8-c6 3.Qc8*d7 # 3.Sf1-e3 # 1...Ba2-b1 2.Qc8-c5 threat: 3.Sg6*e5 # 3.Sf1-e3 # 2...Bb1*e4 3.Sf1-e3 # 2...Ra5*c5 3.Sf1-e3 # 2...Ba7*c5 3.Sg6*e5 # 2...Rd7-d3 3.Sg6*e5 # 2...Rd7-d5 3.Sf1-e3 # 2...Rd7*e7 3.Sf1-e3 # 2...Sb8-c6 3.Sf1-e3 # 1...Ra5-d5 2.Qc8-c1 threat: 3.Qc1-g5 # 2...Rd5-d1 3.Sg6*e5 # 2...Rd5-d2 3.Sg6*e5 # 2...Ba7-e3 3.Sf1*e3 # 1...Ba7-d4 2.Qc8-c3 threat: 3.Qc3*f3 # 2...Bd4*c3 3.Sf1-e3 # 2...Bd4-e3 3.Sf1*e3 # 1...Se8-d6 2.Qc8-g8 threat: 3.Sg6*e5 # 3.Sg6-f4 # 3.Sg6-h8 # 3.Sg6-f8 # 2...Sd6*e4 3.Qg8-e6 # 2...Sd6-f5 3.Sg6*e5 # 2...Sd6-f7 3.Sg6*e5 # 2...Sd6-e8 3.Qg8-e6 # 3.Sg6*e5 # 2...Ba7-e3 3.Sg6*e5 # 3.Sg6-f4 # 3.Sf1*e3 # 2...Rd7-d8 3.Sg6*e5 # 3.Sg6-f8 # 2...Rd7*e7 3.Sg6*e5 # 3.Sg6*e7 #" --- authors: - Вукчевић, Милан Радоје source: 1st WCCT date: 1972 distinction: 12th Place, 1972-1975 algebraic: white: [Kg7, Qe6, Sf7, Sc3, Pf4, Pd2, Pc2, Pb5] black: [Kd4, Qa6, Re1, Rb7, Bh3, Se5, Se3, Pg6, Pf5, Pf3, Pe7, Pd6, Pc5, Pc4] stipulation: "#3" solution: | "1.Sf7-d8 ! threat: 2.Qe6-d5 + 2...Se3*d5 3.Sd8-e6 # 1...Se5-d3 2.Sc3-e2 + 2...Re1*e2 3.c2-c3 # 2...f3*e2 3.c2-c3 # 1...Se5-g4 2.Qe6-e4 + 2...f5*e4 3.Sd8-e6 # 1...Se5-f7 2.Qe6-f6 + 2...e7-e5 3.Sd8-e6 # 2...e7*f6 3.Sd8-e6 # 2...Sf7-e5 3.Sd8-e6 # 1...Se5-d7 2.Qe6-f6 + 2...Sd7-e5 3.Sd8-e6 # 2...Sd7*f6 3.Sd8-e6 # 2...e7-e5 3.Sd8-e6 # 2...e7*f6 3.Sd8-e6 # 1...Se5-c6 2.Qe6-e5 + 2...Sc6*e5 3.Sd8-e6 # 2...d6*e5 3.Sd8-e6 # 1...Qa6-c6 2.Qe6*e5 + 2...d6*e5 3.Sd8*c6 #" --- authors: - Вукчевић, Милан Радоје source: 5th WCCT date: 1995-03-01 distinction: 2nd Place, 1993-1996 algebraic: white: [Ka1, Qh4, Re5, Re3, Bh8, Be4, Sd6, Sa6, Ph7, Pf4, Pe2, Pd2, Pb3, Pa2] black: [Kd4, Qg1, Rh1, Rb7, Bh3, Sf1, Sd3, Ph2, Pg2, Pf2, Pd5, Pa3] stipulation: "s#3" solution: | "1.Be4-g6 ! threat: 2.Re3-e4 + 2...d5*e4 3.e2-e3 + 3...Sf1*e3 # 1...Sd3-b2 2.Re3-d3 + 2...Sb2*d3 3.e2-e3 + 3...Sf1*e3 # 1...Sd3-c1 2.Re3-d3 + 2...Sc1*d3 3.e2-e3 + 3...Sf1*e3 # 1...Sd3-e1 2.Re3-d3 + 2...Se1*d3 3.e2-e3 + 3...Sf1*e3 # 1...Sd3*f4 2.Re5-f5 + 2...Rb7-g7 3.Re3*h3 3...Sf1-g3 # 3...Sf1-e3 # 3...Sf1*d2 # 1...Sd3*e5 2.f4-f5 + 2...Bh3-g4 3.Sd6*b7 3...Sf1-g3 # 3...Sf1*e3 # 3...Sf1*d2 # 1...Sd3-c5 2.Re3-d3 + 2...Sc5*d3 3.e2-e3 + 3...Sf1*e3 # 1...Sd3-b4 2.Re3-d3 + 2...Sb4*d3 3.e2-e3 + 3...Sf1*e3 #" --- authors: - Вукчевић, Милан Радоје source: | Match: Macedonia - USA date: 2001 distinction: 7th Place algebraic: white: [Kf7, Rd7, Rb7, Bf8, Bb5, Sd5, Sb4, Pf5, Pe3, Pc6] black: [Kc5, Rd6, Pf6, Pc7] stipulation: "#2" solution: | "1.Rxd6?? (2.Rd7#[A]/Rd8#/Re6#[B]/Rxf6#/Nd3#[C]/Na6#[D]) but 1...cxd6! 1.Re7? zz 1...Rxd5[a] 2.Re5#[E] 1...Rd7[b] 2.Rxd7#[A] 1...Rxc6[c] 2.Rexc7#[F] 1...Re6[d] 2.Rxe6#[B] but 1...Rd8! 1.Bg7[G]? zz 1...Rxd5[a] 2.Na6#[D] 1...Rxc6[c] 2.Nd3#[C] 1...Re6[d] 2.Nd3#[C]/Na6#[D] but 1...Rxd7+[b]! 1.Bh6[H]? zz 1...Rxd5[a] 2.Na6#[D] 1...Rxc6[c] 2.Nd3#[C] 1...Re6[d] 2.Nd3#[C]/Na6#[D] but 1...Rxd7+[b]! 1.Nf4?? (2.Nbd3#/Na6#[D]/Nfd3#) but 1...Kxb4! 1.Nxf6? (2.Nd3#[C]/Na6#[D]) but 1...Kxb4! 1.Nc3? (2.Nd3#[C]/Na6#[D]) but 1...Kxb4! 1.Nxc7?? (2.Nca6#/Bxd6#/Nd3#[C]/Nba6#) but 1...Kxb4! 1.Ke7[I]! zz 1...Rxd5[a] 2.Na6#[D] 1...Rxd7+[b] 2.Kxd7#[J] 1...Rxc6[c] 2.Nd3#[C] 1...Re6+[d] 2.Kxe6#[K]" keywords: - Black correction - Changed mates - Rudenko --- authors: - Вукчевић, Милан Радоје source: 6th WCCT date: 1998-05-01 distinction: 15th Place, 1996-2000 algebraic: white: [Kb8, Qb3, Rf6, Bh3, Bb6, Se3, Sd1, Pf4, Pc4] black: [Ke4, Rh2, Ra2, Be1, Pg6, Pf7, Pf3, Pe6, Pd3, Pa6] stipulation: "#3" solution: | "1.Se3-f1 ! threat: 2.Sf1-g3 + 2...Be1*g3 3.Sd1-c3 # 2.Sd1-c3 + 2...Be1*c3 3.Sf1-g3 # 1...Ra2-g2 2.Sd1-f2 + 2...Be1*f2 3.Sf1-d2 # 2...Rg2*f2 3.Sf1-g3 # 1...Ra2-c2 2.Qb3-a4 threat: 3.Qa4-c6 # 2...Rc2*c4 3.Qa4*c4 # 2...d3-d2 3.Qa4*c2 # 1...Rh2-c2 2.Sf1-d2 + 2...Be1*d2 3.Sd1-f2 # 2...Rc2*d2 3.Sd1-c3 # 1...Rh2-g2 2.Qb3-c3 threat: 3.Qc3-e5 # 3.Qc3-d4 # 2...Be1-f2 3.Qc3-e5 # 2...Be1*c3 3.Sd1*c3 # 2...Ra2-a5 3.Qc3-d4 # 2...Rg2-g5 3.Qc3-d4 # 2...d3-d2 3.Qc3-d4 # 3.Qc3-e3 # 2...f3-f2 3.Bh3*g2 # 2...e6-e5 3.Qc3*e5 # 1...Rh2*h3 2.Sf1-d2 + 2...Be1*d2 3.Sd1-f2 # 2...Ra2*d2 3.Sd1-c3 # 1...f3-f2 2.Sf1-g3 + 2...Ke4-f3 3.Qb3*d3 #" --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 2002 distinction: Special Comm. algebraic: white: [Ka4, Qb7, Re7, Bc2, Sg7, Sf5, Pg2, Pf2, Pe5, Pc5] black: [Kd5, Qh2, Rd3, Rc6, Bb8, Ph3, Pg5, Pg4, Pd4, Pd2, Pc3, Pa5] stipulation: "#3" solution: | "1.Sg7-h5 ! threat: 2.Sh5-f6 + 2...Kd5*c5 3.Qb7-b5 # 2...Kd5-c4 3.Qb7-b5 # 1...Qh2*e5 2.Qb7-b3 + 2...Kd5*c5 3.Qb3-b5 # 2...Kd5-e4 3.Sf5-g3 # 1...Kd5-e4 2.Qb7*c6 + 2...Ke4*f5 3.Bc2*d3 # 1...Kd5-c4 2.Qb7-b3 + 2...Kc4*c5 3.Qb3-b5 # 2.Bc2-b3 + 2...Kc4*c5 3.Qb7-b5 # 1...Bb8*e5 2.Bc2-b3 + 2...Kd5*c5 3.Qb7-b5 # 2...Kd5-e4 3.Sf5-d6 #" --- authors: - Вукчевић, Милан Радоје source: 6th WCCT date: 1998-05-01 distinction: 28th Place, 1996-2000 algebraic: white: [Kb1, Qa6, Rg7, Rf5, Be5, Sg5, Sf4, Ph4, Pf7, Pe4, Pd2, Pa2] black: [Kh6, Rh1, Re2, Bg1, Ph5, Ph2, Pe6, Pd3, Pa3] stipulation: "s#3" solution: | "1.f7-f8=R ! threat: 2.Rf5-f6 + 2...Kh6*g7 3.Qa6-a7 + 3...Bg1*a7 # 1...Re2-e3 2.Sf4*e6 zugzwang. 2...Re3-e2 3.Se6-f4 + 3...Bg1-b6 # 2...Re3*e4 3.Se6-f4 + 3...Bg1-b6 # 2...Re3-h3 3.Se6-f4 + 3...Bg1-b6 # 2...Re3-g3 3.Se6-f4 + 3...Bg1-b6 # 2...Re3-f3 3.Se6-f4 + 3...Bg1-b6 # 3.Se6-d8 + 3...Bg1-b6 # 3.Se6-c7 + 3...Bg1-b6 # 1...Re2-f2 2.Sg5*e6 zugzwang. 2...Rf2*d2 3.Se6-g5 + 3...Bg1-b6 # 2...Rf2-e2 3.Se6-g5 + 3...Bg1-b6 # 2...Rf2*f4 3.Se6-g5 + 3...Bg1-b6 # 2...Rf2-f3 3.Se6-g5 + 3...Bg1-b6 # 2...Rf2-g2 3.Se6-g5 + 3...Bg1-b6 #" --- authors: - Вукчевић, Милан Радоје source: 6th WCCT date: 1998-05-01 distinction: 22nd Place, 1996-2000 algebraic: white: [Kb1, Qf2, Rf3, Ra1, Bh5, Bg7, Pg3, Pf7, Pe3, Pc2, Pa2] black: [Kd1, Rb8, Rb7, Bb5, Ba5, Sd7, Pc3] stipulation: "s#3" solution: | "1.Bg7-h6 ! threat: 2.Qf2-f1 + 2...Kd1-d2 3.Rf3-f2 + 3...Bb5-e2 # 1...Ba5-b4 2.Rf3-f6 + 2...Bb5-e2 3.Rf6-d6 + 3...Bb4*d6 # 1...Ba5-b6 2.Rf3-f4 + 2...Bb5-e2 3.Rf4-d4 + 3...Bb6*d4 # 1...Sd7-b6 2.Rf3-f5 + 2...Bb5-e2 3.Rf5-d5 + 3...Sb6*d5 #" --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 1998 distinction: 2nd Prize algebraic: white: [Kb6, Bc1, Sg2, Sa4, Pg5, Pf2, Pc4, Pb5, Pb3, Pa2] black: [Kb4, Rd1, Be8, Ba1, Sh8, Pg6, Pd7, Pd6, Pd4, Pd3, Pa3] stipulation: "#5" solution: | "1.Kb6-a6 ! zugzwang. 1...Rd1*c1 2.Sg2-f4 threat: 3.Sf4*d3 # 3.Sf4-d5 # 2...Rc1-c3 3.Sf4-d5 # 2...Rc1-d1 3.Sf4-d5 # 2...Be8-f7 3.Sf4*d3 # 1...Ba1-c3 2.Sg2-f4 threat: 3.Sf4-d5 # 2...Be8-f7 3.Sf4*d3 + 3...Rd1*d3 4.Bc1-f4 threat: 5.Bf4*d6 # 1...Ba1-b2 2.Bc1-f4 threat: 3.Bf4*d6 # 2...Sh8-f7 3.Bf4-d2 + 3...Rd1*d2 4.Sg2-f4 threat: 5.Sf4-d5 # 3...Bb2-c3 4.Sg2-f4 threat: 5.Sf4*d3 # 5.Sf4-d5 # 4...Rd1*d2 5.Sf4-d5 # 4...Sf7-e5 5.Sf4-d5 # 4.Sg2-e3 threat: 5.Se3-d5 # 4...d4*e3 5.Bd2*c3 # 1...Rd1-d2 2.Bc1*d2 + 2...Ba1-c3 3.Sg2-e1 threat: 4.Se1*d3 # 3.Sg2-f4 threat: 4.Sf4*d3 # 4.Sf4-d5 # 3...Be8-f7 4.Sf4*d3 # 1...Rd1-h1 2.Sg2-f4 threat: 3.Sf4*d3 # 3.Sf4-d5 # 2...Rh1-d1 3.Sf4-d5 # 2...Rh1-h3 3.Sf4-d5 # 2...Be8-f7 3.Sf4*d3 # 1...Rd1-g1 2.Sg2-f4 threat: 3.Sf4*d3 # 3.Sf4-d5 # 2...Rg1-d1 3.Sf4-d5 # 2...Rg1*g5 3.Sf4*d3 # 2...Rg1-g3 3.Sf4-d5 # 2...Be8-f7 3.Sf4*d3 # 1...Rd1-f1 2.Sg2-f4 threat: 3.Sf4*d3 # 3.Sf4-d5 # 2...Rf1-d1 3.Sf4-d5 # 2...Be8-f7 3.Sf4*d3 # 1...Rd1-e1 2.Sg2-f4 threat: 3.Sf4*d3 # 3.Sf4-d5 # 2...Re1-d1 3.Sf4-d5 # 2...Re1-e5 3.Sf4*d3 # 2...Re1-e3 3.Sf4-d5 # 2...Be8-f7 3.Sf4*d3 # 2.Sg2*e1 threat: 3.Se1*d3 # 1...d3-d2 2.Sg2-f4 threat: 3.Sf4-d3 # 3.Sf4-d5 # 2...d2*c1=Q 3.Sf4-d5 # 2...d2*c1=S 3.Sf4-d5 # 2...d2*c1=R 3.Sf4-d5 # 2...d2*c1=B 3.Sf4-d5 # 2...Be8-f7 3.Sf4-d3 # 1...d6-d5 2.Bc1-f4 threat: 3.Bf4-d6 # 2...Sh8-f7 3.Bf4-c7 threat: 4.Bc7-a5 # 1...Be8-f7 2.Bc1-f4 threat: 3.Bf4*d6 # 1...Sh8-f7 2.Sg2-f4 threat: 3.Sf4-d5 #" --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 2001 distinction: 2nd Prize algebraic: white: [Kh4, Qc7, Rd8, Rb5, Se7, Pe6, Pe2, Pc6, Pc4] black: [Ke4, Ra6, Bg7, Sh5, Sc2, Pg3, Pf6, Pe3, Pc3, Pb4, Pa5] stipulation: "#3" solution: | "1.Se7-c8 ! threat: 2.Sc8-d6 + 2...Ke4-f4 3.Rb5-f5 # 2...Ke4-d4 3.Rb5-d5 # 1...Sc2-d4 2.Qc7-f4 + 2...Ke4*f4 3.Rd8*d4 # 2...Sh5*f4 3.Sc8-d6 # 1...Sh5-f4 2.Rd8-d4 + 2...Sc2*d4 3.Sc8-d6 # 2...Ke4*d4 3.Qc7*f4 # 1...Ra6*c6 2.Qc7*c6 + 2...Ke4-f4 3.Qc6-f3 # 1...Bg7-f8 2.Qc7-h7 + 2...Ke4-f4 3.Qh7-f5 # 2...f6-f5 3.Qh7*f5 #" --- authors: - Вукчевић, Милан Радоје source: Schach (magazine) date: 1950 distinction: 2nd Prize algebraic: white: [Ka2, Qh1, Rb2, Bg2, Ph3, Pc3] black: [Kc1, Bd1, Ph2, Pe4, Pd3, Pd2, Pc2] stipulation: "#4" solution: | "1.Rb2-b8 ! zugzwang. 1...e4-e3 2.Bg2-a8 zugzwang. 2...e3-e2 3.Qh1-b7 threat: 4.Qb7-b2 #" keywords: - Loyd clearance - Bristol --- authors: - Вукчевић, Милан Радоје source: Neue Zürcher Zeitung date: 1989 distinction: 2nd Prize algebraic: white: [Kd6, Qh3, Rg1, Ra4, Ba6, Sd1, Sb2, Pg4, Pf2, Pe5, Pd5, Pc3] black: [Kf3, Be1, Sh1, Sg3, Pg5, Pf4, Pd2] stipulation: "#3" solution: | "1.Rg1-f1 ! zugzwang. 1...Be1*f2 2.Ra4-c4 zugzwang. 2...Kf3-e2 3.Rc4*f4 # 1...Sh1*f2 2.Ba6-c4 zugzwang. 2...Kf3-e4 3.Bc4-e2 #" --- authors: - Вукчевић, Милан Радоје source: Good Companions 2. QCT date: 2001 distinction: 2nd Prize algebraic: white: [Kf1, Qa1, Rd3, Sf7, Pg4, Pg3, Pf4, Pc2] black: [Ke4, Re8, Bf8, Bb1, Sh4, Sb5, Ph6, Pb4] stipulation: "#3" solution: | "1.Qa1-h8 ! threat: 2.Qh8-h7 + 2...Sh4-g6 3.Qh7*g6 # 2...Sh4-f5 3.Qh7*f5 # 1...Sh4-g6 2.Sf7-g5 + 2...h6*g5 3.Qh8-h1 # 1...Sh4-f5 2.Sf7-g5 + 2...h6*g5 3.Qh8-h1 # 1...Re8-e6 2.Sf7-d6 + 2...Sb5*d6 3.Qh8-d4 # 2...Re6*d6 3.Qh8-e5 # 2...Bf8*d6 3.Qh8-a8 #" --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 2002 distinction: 2nd Prize algebraic: white: [Kc6, Qe1, Rd7, Ra3, Bd1, Bc5, Sc4, Sb6, Pe7, Pc7, Pb7] black: [Kd3, Qh6, Rg6, Rf8, Bh2, Sc3, Pg5, Pf6, Pf4, Pd6] stipulation: "s#3" solution: | "1.Kc6*d6 ! threat: 2.Qe1*c3 + 2...Kd3-e4 3.Qc3-e5 + 3...f6*e5 # 1...f4-f3 + 2.Kd6-e6 + 2...Bh2-d6 3.Sc4-e5 + 3...f6*e5 # 1...f6-f5 + 2.Kd6-e5 + 2...Rg6-d6 3.Qe1-e3 + 3...f4*e3 #" --- authors: - Вукчевић, Милан Радоје source: Phénix distinction: 2nd Prize algebraic: white: [Kb1, Be7, Sc5, Sb2, Pd7, Pc2, Pb4, Pa4, Pa2] black: [Ka3, Rb7, Se1, Sa1, Pd5, Pc4, Pa6, Pa5] stipulation: "#4" solution: | "1.b4-b5 ! threat: 2.Sc5-b3 # 2.Sc5-d3 # 2.Sc5-e4 # 2.Sc5-e6 # 2.Sc5*b7 # 2.Sc5*a6 # 1...Sa1*c2 2.Sc5-d3 + 2...Sc2-b4 3.Sd3*e1 threat: 4.Se1-c2 # 1...Sa1-b3 2.Sc5*b3 # 1...Se1-d3 2.Sc5*d3 # 1...Se1*c2 2.Sc5-b3 + 2...Sc2-b4 3.Sb3*a1 threat: 4.Sa1-c2 # 1...Ka3-b4 2.Sc5-e4 # 1...a6*b5 2.Sc5*b7 + 2...b5-b4 3.Sb7-d6 threat: 4.Sd6-b5 # 1...Rb7*b5 2.Sc5*a6 + 2...Rb5-b4 3.Sa6-c7 threat: 4.Sc7-b5 # 2...Rb5-c5 3.Be7*c5 # 1...Rb7-b6 2.Sc5*a6 + 2...Rb6-d6 3.Be7*d6 # 2.Sc5-b3 + 2...Rb6-d6 3.Be7*d6 # 2.Sc5-d3 + 2...Rb6-d6 3.Be7*d6 # 2.Sc5-e4 + 2...Rb6-d6 3.Be7*d6 # 2.Sc5-e6 + 2...Rb6-d6 3.Be7*d6 # 2.Sc5-b7 + 2...Rb6-d6 3.Be7*d6 # 1...Rb7*d7 2.Sc5*d7 # 1...Rb7-c7 2.Sc5-b3 + 2...Rc7-c5 3.Be7*c5 # 2.Sc5-d3 + 2...Rc7-c5 3.Be7*c5 # 2.Sc5-e4 + 2...Rc7-c5 3.Be7*c5 # 2.Sc5-e6 + 2...Rc7-c5 3.Be7*c5 # 2.Sc5-b7 + 2...Rc7-c5 3.Be7*c5 # 2.Sc5*a6 + 2...Rc7-c5 3.Be7*c5 #" --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 2002 distinction: 2nd Prize algebraic: white: [Kh5, Qf1, Rh4, Rh3, Bh1, Bb6, Sh2, Sg4, Pe5, Pb5, Pb2, Pa4] black: [Kc4, Qe2, Bd1, Sc1, Pf2, Pe6, Pc2, Pb4, Pb3] stipulation: "#2" solution: | "1.Kh6? (2.Nxf2#[A]/Nf6#[B]) 1...Nd3/Qd3 2.Ne3# but 1...Qxf1! 1.Kg5?? (2.Nh6#/Nxf2#[A]/Nf6#[B]) 1...Nd3/Qd3 2.Ne3# but 1...Qxf1! 1.Rf3? (2.Nf6#[B]) 1...Nd3 2.Ne3# but 1...Kd5[a]! 1.Bf3? (2.Nxf2#[A]) 1...Nd3 2.Ne3# but 1...Kd3[b]! 1.Nf3[C]! (2.Nd2#) 1...Kd5[a] 2.Nf6#[B] 1...Kd3[b] 2.Nxf2#[A] 1...Nd3 2.Ne3#" keywords: - Barnes - 2 flights giving key - Dombrovskis - Rudenko --- authors: - Вукчевић, Милан Радоје source: Friends of Chess date: 1971 distinction: 2nd Prize algebraic: white: [Kb8, Qd1, Rh5, Re8, Ba7, Se6, Sb7, Pg4, Pc2] black: [Ke4, Qd3, Re2, Bd2, Sf6, Pf4, Pf3, Pf2, Pd7, Pb2] stipulation: "#2" solution: | "1...Qd4[a] 2.Nec5#[A] 1...Re3[b] 2.Nbc5#[B] 1...dxe6 2.Rxe6# 1...d5/Nd5 2.Nd6#/Ng5# 1...Nxh5 2.Nc7# 1...Nh7 2.Nf8#/Ng7#/Nd4#/Ned8#/Nc7# 1...Qd5 2.Ng5# 1...Qd6+/Qc3/Qe3/Qc4 2.Nxd6# 1...Qxc2 2.Qxc2# 1...Be1/Be3/Bc1/Bc3/Bb4/Ba5 2.cxd3#/Qxd3# 1.Bxf2? (2.Nbc5#[B]/Nec5#[A]) 1...b1Q/b1R/d6/Qd4[a]/Qb3/Qa3/Qb5 2.Nc5# 1...Re3[b] 2.Nbc5#[B] 1...dxe6 2.Nc5#/Rxe6# 1...Nxh5 2.Nc7# 1...Qd5 2.Ng5#/Nec5#[A] 1...Qd6+/Qe3 2.Nxd6# 1...Qc3/Qc4 2.Nd6#/Nec5#[A] 1...Qxc2 2.Qxc2#/Nec5#[A] 1...Be3 2.cxd3#/Qxd3# 1...Bb4 2.Nec5#[A]/Qxd3#/cxd3# but 1...Rxf2! 1.Rf5?? (2.Ng5#) 1...dxe6 2.Rxe6# 1...Qd6+ 2.Nxd6# 1...Qxc2 2.Qxc2# but 1...Nxg4! 1.Rb5?? (2.Ng5#) 1...dxe6 2.Rxe6# 1...Qd6+ 2.Nxd6# 1...Qxc2 2.Qxc2# but 1...Qxb5! 1.Qxe2+?? 1...Be3 2.Nbc5#[B]/cxd3#/Qxd3# 1...Qe3 2.Nbc5#[B]/Nd6# 1...Qxe2 2.Nd6# but 1...fxe2! 1.Qb1[C]! (2.cxd3#) 1...Qd4[a] 2.Nec5#[A] 1...Re3[b] 2.Nbc5#[B] 1...Nxh5 2.Nc7# 1...Qd5 2.Ng5# 1...Qd6+/Qc3/Qe3/Qc4 2.Nxd6# 1...Qb3 2.cxb3# 1...Qa3 2.c3# 1...Qxc2 2.Qxc2# 1...Qb5/Qa6 2.c4#" keywords: - Black correction - Rudenko - B2 --- authors: - Вукчевић, Милан Радоје source: TT, problem (Zagreb) date: 1961 distinction: 2nd Prize algebraic: white: [Ke6, Qf1, Rb7, Be4, Sd7, Pb2] black: [Kc4, Rh2, Rg3, Be7, Pg6, Pe2, Pd4, Pd2, Pc2, Pa4] stipulation: "#3" solution: | "1.Qf1-a1 ! threat: 2.Qa1*a4 + 2...Be7-b4 3.Rb7*b4 # 3.Rb7-c7 # 3.Qa4*b4 # 1...Rg3-a3 2.Sd7-e5 + 2...Kc4-c5 3.Qa1*a3 # 1...a4-a3 2.Qa1-a2 + 2...Rg3-b3 3.Qa2*b3 # 2.Sd7-e5 + 2...Kc4-c5 3.b2-b4 # 2.Be4-d5 + 2...Kc4-d3 3.Rb7-b3 # 1...Be7-a3 2.Be4-d5 + 2...Kc4-d3 3.Qa1*a3 #" --- authors: - Вукчевић, Милан Радоје source: Neue Zürcher Zeitung date: 1997 distinction: 2nd Prize algebraic: white: [Kd4, Qa6, Re8, Re5, Bb2, Sd8, Sc3, Ph4, Ph3, Pf4, Pe7, Pe6, Pd3] black: [Kf6, Ra5, Bb8, Ba4, Sc7, Sc5, Pg7, Pg6, Pf2, Pb5, Pb3] stipulation: "#3" solution: | "1.Re5-g5 ! threat: 2.Sc3-e4 + 2...Sc5*e4 3.Kd4*e4 # 1...b5-b4 2.Kd4-c4 threat: 3.Sc3-a2 # 3.Sc3-b1 # 3.Sc3-d1 # 3.Sc3-e2 # 3.Sc3-e4 # 3.Sc3-d5 # 3.Sc3-b5 # 3.Sc3*a4 # 2...Ba4*e8 3.Sc3-d5 # 2...Ba4-b5 + 3.Sc3*b5 # 2...b4*c3 3.Bb2*c3 # 2...Sc5*d3 3.Sc3-e4 # 3.Sc3-d5 # 2...Sc5-e4 3.Sc3*e4 # 3.Sc3-d5 # 2...Sc5*e6 3.Sc3-e4 # 3.Sc3-d5 # 3.Sc3-b5 # 2...Sc5-d7 3.Sc3-e4 # 3.Sc3-d5 # 2...Sc5-b7 3.Sc3-e4 # 3.Sc3-d5 # 3.Sc3-b5 # 2...Sc5*a6 3.Sc3-e4 # 3.Sc3-d5 # 3.Sc3-b5 # 2...Sc7*a6 3.Sc3-e4 # 3.Sc3-d5 # 2...Sc7-b5 3.Sc3-e4 # 3.Sc3-d5 # 2...Sc7-d5 3.Sc3-e4 # 3.Sc3*d5 # 2...Sc7*e6 3.Sc3-e4 # 3.Sc3-d5 # 2...Sc7*e8 3.Sc3-d5 # 2...Sc7-a8 3.Sc3-e4 # 3.Sc3-d5 # 1...Sc5*e6 + 2.Kd4-e4 threat: 3.Sc3-a2 # 3.Sc3-b1 # 3.Sc3-d1 # 3.Sc3-e2 # 3.Sc3-d5 # 3.Sc3*b5 # 3.Sc3*a4 # 2...Ra5*a6 3.Sc3-d5 # 2...b5-b4 3.Sc3-d5 # 3.Sc3-b5 # 2...Sc7*a6 3.Sc3-d5 # 2...Sc7-d5 3.Qa6*e6 # 3.Sc3*d5 # 2...Sc7*e8 3.Qa6*e6 # 3.Sc3-d5 # 2...Sc7-a8 3.Qa6*e6 # 3.Sc3-d5 # 2...Bb8-a7 3.Sc3-d5 # 1...Sc7*e6 + 2.Kd4-d5 threat: 3.Sc3-e4 # 2...Bb8-e5 3.f4*e5 # 1...Bb8-a7 2.Sc3-d5 + 2...Sc7*d5 3.Kd4*d5 #" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1982 algebraic: white: [Kh4, Qc2, Rg5, Rc3, Bh5, Be3, Sg3, Sd1, Ph6, Pg4, Pf4] black: [Kf3, Qh8, Rc6, Ra4, Be8, Ba8, Sh3, Sg1] stipulation: "#2" solution: | "1...Nxg5/Nf2/Nxf4 2.Qf2# 1...Ra3/Ra2/Ra1/Ra5/Raa6/Ra7/Re4 2.Qe4# 1...Ne2 2.Qxe2# 1...Rf6 2.Bc1# 1.Bd4+?? 1...Kxf4 2.Rf5#/Qc1#/Qd2#/Qe4#/Qf5# but 1...Rxc3! 1.Bc5+?? 1...Kxf4 2.Rf5#/Qc1#/Qd2#/Qf5# but 1...Qxc3! 1.Qh2?? (2.Qh1#) 1...Nf2/Nxf4 2.Qxf2# but 1...Ra2!" keywords: - Unsound --- authors: - Вукчевић, Милан Радоје source: Československý šach date: 1956 algebraic: white: [Kc8, Qd2, Rd6, Rd4, Bd8, Ba6, Sb8, Sa7, Pb6] black: [Ka5, Rc3, Rc2, Sc7] stipulation: "#2" solution: | "1...Nd5+[a]/Ne6+[b]/Ne8+[b]/Nb5+[c]/Na8+[b] 2.Nac6#[A] 1...Nxa6+[d] 2.Nbc6#[B] 1...Ra2 2.Qxc3# 1.Kb7? (2.Nbc6#[B]/Nac6#[A]) 1...Nxa6[d] 2.Nbc6#[B] but 1...Rxd2! 1.Bxc7?? (2.R6d5#/Nac6#[A]/b7#) 1...Rb2 2.Nac6#[A] but 1...Rxd2! 1.R6d5+?? 1...Nxd5+[a]/Nb5+[c] 2.Nac6#[A] but 1...Kxb6! 1.Bb5[C]! (2.Ra4#) 1...Nd5+[a]/Ne6+[b]/Ne8+[b]/Na6+[d]/Na8+[b] 2.Nbc6#[B] 1...Nxb5+[c] 2.Nac6#[A] 1...Ra2 2.Qxc3#" keywords: - Somov (B1) - Black correction - Rudenko --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) date: 1971 distinction: 3rd HM algebraic: white: [Kb6, Rf6, Rc2, Bh7, Sf4, Sb5, Pg7, Pe6, Pe4, Pe2, Pd7, Pd5, Pa2] black: [Ke5, Rf7, Re7, Bb1, Sg8, Sf1, Pg5, Pa3] stipulation: "#2" solution: "1...Nxf6/Rxf6 2.Nd3#" keywords: - Unsound --- authors: - Вукчевић, Милан Радоје source: Los Angeles Times date: 1979 algebraic: white: [Kf7, Qe1, Rd2, Bh7, Bg1, Sh4, Se6, Pf6, Pe2, Pc5, Pc4, Pa7] black: [Ke5, Qa8, Bd1, Bb8, Sg3, Ph5, Pg2, Pf2, Pe7, Pd7, Pb6] stipulation: "#2" solution: | "1...Nxe2[a] 2.Bh2#[C] 1...Qf3/Ne4[b]/d5 2.Nxf3#[A] 1...Qxa7 2.Nf3#[A]/Rd5#[B] 1...Qd5 2.Rxd5#[B] 1...Bxe2/Bc2/Bb3/Ba4 2.Qa1# 1...fxe1Q/fxe1R/fxe1B/fxe1N/f1Q/f1R/f1N 2.Bd4# 1...fxg1Q/fxg1R/fxg1B/fxg1N 2.Qxg3# 1...f1B 2.Bd4#/Qxg3# 1.Qxf2?? (2.Qf4#/Qxg3#/Qd4#) 1...Nxe2[a] 2.Qf5# 1...Ne4[b] 2.Ng6#/Nf3#[A]/Qf4#/Qf5#/Qd4# 1...Nh1/Nf1 2.Qf4#/Qf5#/Qd4# 1...Nf5 2.Qf4#/Qxf5# 1...Qd5 2.Qf4#/Qxg3#/Rxd5#[B] 1...Qf3 2.Qd4#/Nxf3#[A] 1...bxc5 2.Qf4#/Qxg3# 1...dxe6 2.Qxg3#/Qd4# but 1...Qe4! 1.axb8Q+?? 1...Qxb8 2.Nf3#[A]/Rd5#[B] but 1...d6! 1.axb8B+?? 1...Qxb8 2.Nf3#[A]/Rd5#[B] but 1...d6! 1.Rxd7? (2.Qc3#) 1...Nxe2[a] 2.Bh2#[C] 1...Ne4[b] 2.Nf3#[A] 1...Qd5 2.Rxd5#[B] 1...Qe4 2.axb8Q#/axb8B# 1...Qf3 2.axb8Q#/axb8B#/Nxf3#[A] 1...fxe1Q/fxe1R/fxe1B/fxe1N 2.Bd4# 1...fxg1Q/fxg1B 2.Qxg3# but 1...Nf5! 1.e4! (2.Ng6#) 1...Ne2[a] 2.Nf3#[A] 1...Nxe4[b] 2.Bh2#[C] 1...Qxe4 2.Rd5#[B] 1...Be2 2.Qa1# 1...fxe1Q/fxe1R/fxe1B/fxe1N 2.Bd4#" keywords: - Reciprocal - Barulin (A) --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1979 algebraic: white: [Ke3, Rc6, Rb2, Bh4, Be8, Sc7, Sc5, Pd6] black: [Kc8, Qa2, Rg5, Bb3, Sf3, Pe5, Pa7] stipulation: "#2" solution: | "1...Rg4/Rg3/Rg2/Rg1/Rg6/Rg8/Rf5/Rh5 2.N7a6# 1...Bc2/Bd1/Bc4/Be6/Bf7/Bg8 2.N7e6# 1.d7+?? 1...Kb8 2.d8Q#/d8R# but 1...Kd8!" keywords: - Unsound --- authors: - Вукчевић, Милан Радоје source: Chess By Milan date: 1980 algebraic: white: [Kd5, Rg2, Rd3, Bc3, Sc4] black: [Kf4, Re8, Sf8, Pg5, Pf5, Pd7, Pd2] stipulation: "#2" solution: | "1...Ne6/Rd8/Rc8/Rb8/Ra8 2.Bxd2#/Be5# 1...Re5+ 2.Bxe5# 1.Ne5?? (2.Bxd2#/Rf2#/Rf3#) 1...Rxe5+ 2.Bxe5# 1...g4/d1B 2.Bxd2# 1...d1R 2.Rf2# 1...d1N 2.Rf3# but 1...d1Q!" keywords: - Unsound --- authors: - Вукчевић, Милан Радоје source: Chess By Milan date: 1976 algebraic: white: [Kh3, Qg4, Rf6, Rc5, Bb1, Ba3, Se7, Pe4, Pe2, Pd2] black: [Kd4, Rf3, Rb6, Bg8, Bg1, Sh2, Sc8, Pg3, Pg2, Pc4] stipulation: "#2" solution: | "1...Rf5/Re3/Rd3[a]/Rc3/Rfb3 2.Nxf5#[A] 1...Rb5/Rbb3/Rb2/Rxb1[b]/Rb7/Rb8/Rc6 2.Nc6#[B] 1...Rf2 2.e3# 1...Re6/Bh7/Bd5 2.Rd5# 1.Qe6?? (2.Qe5#/Rxc4#/Rd5#) 1...Rb5 2.Qe5#/Rxc4#/Nc6#[B] 1...Rb4/Nd6 2.Rd5#/Qe5# 1...Rc6 2.Qe5#/Nxc6#[B]/Rd5# 1...Rd6/c3/Nxe7 2.Rxc4#/Qe5# 1...Rxe6 2.Rd5# 1...Ng4 2.Rxc4#/Rd5# 1...Rf5 2.Rxc4#/Nxf5#[A] 1...Rc3 2.Qe5#/Rd5#/Nf5#[A] but 1...Bxe6+! 1.Qd7+?? 1...Rd6 2.Nc6#[B] 1...Bd5 2.Rxd5#/Qxd5# but 1...Nd6! 1.e5+?? 1...Rf4 2.Nf5#[A]/Qxf4#/Rxf4#[C] but 1...Nxg4! 1.e3+?? 1...Rxe3 2.Nf5#[A] but 1...Bxe3! 1.Qg7! (2.Rd6#) 1...Rd3[a] 2.Re6#[D] 1...Rxb1[b] 2.Rf4#[C] 1...Rfxf6[c] 2.Nf5#[A] 1...Rbxf6[d] 2.Nc6#[B] 1...Be6+/Rb4 2.Rff5# 1...Bd5/Re6 2.Rxd5# 1...Rxa3 2.Rfc6# 1.Qxg8! (2.Qd5#/Qxc4#/Rd5#) 1...Rd3[a]/Rxb1[b]/c3 2.Qd5#/Qxc4# 1...Nd6/Rb4 2.Qd5#/Rd5# 1...Nxe7/Rd6 2.Qxc4# 1...Rf5 2.Qxc4#/Nxf5#[A] 1...Rc3 2.Qd5#/Nf5#[A]/Rd5# 1...Rb5 2.Qd5#/Qxc4#/Nc6#[B] 1...Re6 2.Rd5#" keywords: - Rukhlis - Cooked - Grimshaw --- authors: - Вукчевић, Милан Радоје source: Problemnoter date: 1961 distinction: 2nd Prize algebraic: white: [Kb7, Qa5, Rh5, Bf7, Be5, Sf5, Se6, Pg4, Pe2] black: [Ke4, Rd4, Sg2, Sb6, Pf2, Pe7, Pd7, Pc4] stipulation: "#2" solution: "1.Ng5#" keywords: - Shortmate - "Position?" comments: - "http://dt.dewia.com/yacpdb/?id=254142" --- authors: - Вукчевић, Милан Радоје source: Problemnoter date: 1961 distinction: 3rd Prize algebraic: white: [Kd6, Qg6, Bf4, Ba8, Sd5, Sd1] black: [Kd4, Rf2, Ra3, Bh8, Bf1, Pg2, Pe3, Pd7, Pc5, Pc4, Pa6] stipulation: "#2" solution: | "1...Raa2/Ra1/Ra4/Ra5/Bd3 2.Bxe3# 1...Be5+ 2.Bxe5# 1.Nxf2?? (2.Qe4#) 1...Be5+ 2.Bxe5# 1...Bd3 2.Bxe3# but 1...exf2! 1.N5xe3?? (2.Qe4#) 1...Rxe3 2.Bxe3# 1...Rxf4 2.Nc2# 1...Be5+ 2.Bxe5# but 1...Bd3! 1.Ne7?? (2.Qe4#) 1...Bd3 2.Bxe3# 1...Be5+ 2.Bxe5# but 1...Rxf4! 1.Nf6?? (2.Qe4#/Be5#) 1...Bd3 2.Bxe3#/Be5# 1...c3/Bxf6 2.Qe4# but 1...Rxf4! 1.N5c3?? (2.Qe4#/Bxe3#) 1...Rxc3/Rf3/Re2 2.Qe4# 1...Bd3 2.Bxe3# 1...Be5+ 2.Bxe5# but 1...Rxf4! 1.Nc7?? (2.Qe4#) 1...Bd3 2.Bxe3# 1...Be5+ 2.Bxe5# but 1...Rxf4! 1.Nb6?? (2.Qe4#) 1...Bd3 2.Bxe3# 1...Be5+ 2.Bxe5# but 1...Rxf4! 1.Nb4! (2.Qe4#) 1...Bd3 2.Bxe3# 1...Be5+ 2.Bxe5# 1...Rxf4 2.Nc2#" --- authors: - Вукчевић, Милан Радоје source: Problemnoter date: 1961 distinction: 3rd Prize algebraic: white: [Kd6, Qg6, Bf4, Ba8, Sd1] black: [Kd4, Rf2, Ra3, Bh8, Bf1, Sd5, Pg2, Pe3, Pd7, Pc5, Pc4, Pa6] stipulation: "#2" solution: | "1...Be5+/Nf6 2.Bxe5#[A] 1...Ne7/Nxf4/Nc7/Nb4/Nb6 2.Qe4# 1...Nc3 2.Bxe3#[B] 1.Bxd5? (2.Qe4#) 1...Bd3 2.Bxe3#[B] 1...Be5+ 2.Bxe5#[A] but 1...Rxf4! 1.Bxe3+[B]?? 1...Nxe3 2.Qe4# but 1...Rxe3! 1.Qf5! (2.Qxd5#) 1...Ne7/Nxf4/Nc7/Nb4/Nb6 2.Qe4# 1...Nf6/Be5+ 2.Be5#[A] 1...Nc3 2.Bxe3#[B]" keywords: - Black correction - Transferred mates --- authors: - Вукчевић, Милан Радоје source: The Plain Dealer date: 1979 algebraic: white: [Kg8, Qa2, Rc7, Ra5, Bh2, Bg4, Sf5, Pd6, Pd2, Pc2] black: [Ke4, Qb5, Re6, Bf6, Se8, Sa6] stipulation: "#2" solution: | "1...Qb4/Qb2/Qb1/Qb6/Qb8/Qd7/Qa4 2.Qd5#/d3# 1...Qb7/Qxa5/Qc5/Qe5/Qc6 2.d3# 1...Qd5/Qe2/Qf1 2.Qxd5# 1.Qa4+?? 1...Kd5 2.Qc4# 1...Qb4 2.Qc6#/d3# 1...Qc4/Qxa4 2.d3# 1...Bd4 2.Qxd4# but 1...Nb4! 1.Qc4+?? 1...Bd4 2.d3#/Qxd4# but 1...Qxc4! 1.Qxe6+?? 1...Qe5 2.d3#/Rc4# but 1...Be5! 1.Qb1! (2.Qh1#) 1...Kd5 2.c4# 1...Qb3 2.cxb3# 1...Qxb1 2.d3# 1...Qxf5 2.c3# 1...Qd3 2.cxd3# 1...Qe2/Qf1 2.Qb7#" keywords: - Active sacrifice - Albino - Flight giving key --- authors: - Вукчевић, Милан Радоје source: Chess By Milan date: 1980 algebraic: white: [Kg8, Rh7, Rh5, Bh2, Be4, Sg6, Se5, Pf6, Pe3, Pc3, Pb4, Pa4] black: [Kc6, Bb3, Sa8, Pb6] stipulation: "#2" solution: keywords: - "Position?" --- authors: - Вукчевић, Милан Радоје source: Sah date: 1951 algebraic: white: [Ka2, Qh7, Re8, Rb3, Be2, Se3, Sc2, Pg3, Pg2] black: [Ke4, Qh5, Rf5, Rd5, Bg8, Bf8, Sg4, Se6, Pf6, Pb5] stipulation: "#2" solution: | "1...Re5 2.Bf3#/Bd3# 1...Nxe3 2.Rxe3# 1.Nxg4?? (2.Bf3#/Re3#) 1...Bh6/Bc5/Qh6/Qg5/Rd4/Rd2/Rd1/Rd6/Rd7/Rd8/Rc5 2.Bf3# 1...Qxh7/Qxg4/Qg6/Bxh7 2.Re3# 1...Re5 2.Nxf6#/Bf3# but 1...Rd3!" keywords: - Unsound --- authors: - Вукчевић, Милан Радоје source: Sah date: 1949 algebraic: white: [Kb5, Qc5, Rf8, Re2, Bg1, Bd1, Sh5, Sc4] black: [Kf1, Rg5, Rb3, Bf5, Bf4, Sg4, Pg2, Pd7, Pb4] stipulation: "#2" solution: | "1...Nh2/Nh6/Nf2/Nf6/Ne5 2.Qf2# 1...Bg6/Bh7/Be4/Bc2/Bb1/Be6/Bg3/Bh2/Bd2/Be5/Bd6/Bc7/Bb8 2.Nd2#[A] 1...Bd3 2.Ng3#[B] 1.Ng3+[B]?? 1...Bxg3 2.Nd2#[A] but 1...Rxg3! 1.Bh2! (2.Qg1#) 1...Nxh2/Nf2 2.Qf2# 1...Ne3/Re3/Bg6/Bh7/Be4/Bc2/Bb1/Be6/Bxh2 2.Nd2#[A] 1...Bd3/Be3 2.Ng3#[B]" keywords: - Black correction - Transferred mates - Grimshaw --- authors: - Вукчевић, Милан Радоје source: Sah date: 1949 algebraic: white: [Kh4, Qf7, Rb5, Rb3, Bh6, Ba6, Sg4, Sc2] black: [Kc4, Re6, Rd5, Ba7, Sb1, Ph5, Pg3, Pf5, Pa5, Pa4] stipulation: "#2" solution: | "1...Re4/Re3/Re2/Re1/Re7[a]/Re8 2.Qxd5#[B] 1...Ree5/Red6[b]/Rd3[c]/Rd2[c]/Rd1[c]/Rdd6[c]/Rd7[c]/Rd8[c]/Rde5[e] 2.Nxe5#[A] 1...Rc5[d] 2.Nge3#[C] 1...Bc5 2.R5b4#/Rb6# 1...Rc6/Rxa6/Rf6/Rg6/Rxh6 2.Qxd5#[B]/Ne5#[A] 1...Rb6 2.Qxd5#[B]/Nge3#[C]/Ne5#[A] 1...Rd4 2.Ne3# 1.Qxa7? (2.R5b4#) 1...Rd3[c]/Rd2[c]/Rd1[c]/Rdd6[c]/Rd7[c]/Rd8[c]/Rc5[d] 2.Qc5#[D] 1...Rde5[e] 2.Qd4#[E] 1...axb3 2.Rc5# 1...Rb6 2.Nge3#[C] 1...Rxa6 2.Nce3#/Nge3#[C] 1...Rd4 2.Qc5#[D]/Qxd4#[E] but 1...Rxb5! 1.Qxe6? (2.Qxd5#[B]/Ne5#[A]) 1...Bc5 2.Ne5#[A]/R5b4#/Rb6#/Rb7#/Rb8# 1...Bd4 2.Qe2#/Qxd5#[B] 1...Bb8 2.Qxd5#[B]/Nge3#[C] 1...fxg4/hxg4 2.Qxd5#[B] 1...Nc3 2.Ne5#[A] but 1...axb3! 1.Nge3+[C]?? 1...Rxe3 2.Qxd5#[B] but 1...Bxe3! 1.Bf8[F]! (2.R5b4#) 1...Re7[a] 2.Qxd5#[B] 1...Red6[b]/Rd3[c]/Rd2[c]/Rd1[c]/Rdd6[c]/Rd7[c]/Rd8[c]/Rde5[e] 2.Ne5#[A] 1...Rc5[d] 2.Nge3#[C] 1...Rxa6 2.Qxd5#[B]/Ne5#[A] 1...Rd4 2.Ne3# 1...Rxb5 2.Qxe6# 1...axb3 2.Rc5#" keywords: - Black correction - Changed mates - Rudenko --- authors: - Вукчевић, Милан Радоје source: Problemnoter date: 1961 distinction: 2nd Prize algebraic: white: [Kb7, Qa5, Rh5, Bf7, Be5, Sf5, Se6, Pg4, Pe2] black: [Ke4, Bd4, Sg2, Sb6, Pf2, Pe7, Pd7, Pc4] stipulation: "#2" solution: "1.Ng5#" keywords: - Shortmate - "Position?" --- authors: - Вукчевић, Милан Радоје source: Chess By Milan date: 1967 algebraic: white: [Kc4, Qh8, Re1, Ra7, Se4, Sd6, Pg3, Pf6, Pd3] black: [Ke5, Qh2, Rf5, Re6, Bb4, Sh6, Pf7, Pf3, Pd4] stipulation: "#2" solution: | "1...Re7/Rexf6 2.Rxe7# 1...Re8 2.Qxe8# 1...Bxd6 2.Nf2# 1...Ba5 2.Rxa5# 1...Ng4/Ng8 2.Nxf7# 1.Ra5+?? 1...Bc5 2.Rxc5# but 1...Bxa5!" keywords: - Unsound --- authors: - Вукчевић, Милан Радоје source: Šahovski glasnik date: 1972 algebraic: white: [Kc4, Qa5, Bh8, Bg8, Se8, Pf7] black: [Ke6, Re4, Bd7, Sg7, Sf8, Ph7, Ph5, Pf5, Pf4, Pd4, Pd3, Pc6] stipulation: "#2" solution: | "1...Re1 2.Qxe1# 1...Ng6 2.f8Q#/f8B# 1.Qc5?? (2.Qd6#) 1...Nxe8 2.fxe8Q#/fxe8R#/fxe8B#/fxe8N# but 1...Bxe8! 1.Qc7?? (2.Qd6#) 1...Bxe8 2.fxe8N# 1...Nxe8 2.fxe8Q#/fxe8R# but 1...Ke7! 1.Qd8! (2.Qf6#) 1...Nxe8 2.fxe8N# 1...Bxe8 2.fxe8Q#/fxe8R# 1...Bc8 2.Qd6#" keywords: - Flight giving and taking key --- authors: - Вукчевић, Милан Радоје source: British Chess Federation date: 1972 distinction: 1st HM algebraic: white: [Kc8, Qa4, Rh5, Rc4, Bf5, Bd4, Se4, Pf4] black: [Kd5, Rh1, Rg2, Ba5, Se8, Sb8, Pf7, Pd6, Pd3, Pa6] stipulation: "#2" solution: | "1...Nc6/Nd7 2.Qxc6# 1...Bc3/Bb6/Bc7/Bd8 2.Nxc3# 1...Nf6/Ng7/Nc7 2.Nxf6# 1.Be6+?? 1...Kxe6 2.Qxe8# but 1...Kxe4! 1.Bf2?? (2.Rd4#) 1...Nc6 2.Qxc6# 1...Bc3/Bb6 2.Nxc3# but 1...Rc1! 1.Bg1?? (2.Rd4#) 1...Nc6 2.Qxc6# 1...Bc3/Bb6 2.Nxc3# but 1...Rc2! 1.Bc3?? (2.Rd4#) 1...Nc6 2.Qxc6# 1...Bxc3 2.Nxc3# but 1...Bb6! 1.Bc5?? (2.Rd4#) 1...Bc3 2.Nxc3# 1...dxc5 2.Rxc5# but 1...Nc6! 1.Rc3?? (2.Qc4#) 1...Bxc3 2.Nxc3# but 1...Bb4! 1.Nc5?? (2.Be4#/Be6#) 1...Rg5/Rxh5 2.Be4# 1...Bb4 2.Be6# but 1...dxc5! 1.Bf6! (2.Rd4#) 1...Rc2 2.Bh3# 1...Nc6 2.Qxc6# 1...Bc3/Bb6 2.Nxc3# 1...Rc1 2.Bg4#" --- authors: - Вукчевић, Милан Радоје source: Srbsko-Slovinsko date: 1958 distinction: 1st Place algebraic: white: [Kb5, Qh7, Rg3, Sd3, Sb3, Pf4, Pd5, Pd4, Pc4] black: [Ke4, Rf5, Be7, Sh6, Pe5] stipulation: "#2" solution: | "1. ... exf4 2. Sf2# 1. ... exd4 2. Sd2# 1. d6! waiting 1. ... exf4+ 2. Sdc5# 1. ... exd4+ 2. Sbc5# 1. ... B~ 2. Qb7# 1. ... S~ 2. Qh1#" --- authors: - Вукчевић, Милан Радоје source: Arbejder-Skak date: 1970 algebraic: white: [Kh1, Qf1, Ra8, Bg5, Be2, Sa3, Pf3, Pd4] black: [Kb4, Qa2, Rh6, Re5, Bb2, Sd1, Ph3, Pg7, Pg6, Pf2, Pd5, Pc3, Pc2, Pb3] stipulation: "#4" solution: | "1.Be2-a6 ! threat: 2.Qf1-b5 + 2...Kb4*a3 3.Ba6-c8 # 3.Ba6-b7 # 3.Qb5-a5 # 1...Bb2-a1 2.Qf1-b5 + 2...Kb4*a3 3.Bg5-c1 + 3...Ba1-b2 4.Ba6-c8 # 4.Ba6-b7 # 4.Qb5-a5 # 3...Sd1-b2 4.Qb5-a5 # 4.Ba6-c8 # 4.Ba6-b7 # 3...Qa2-b2 4.Ba6-b7 # 4.Ba6-c8 # 4.Qb5-a5 # 3...b3-b2 4.Ba6-c8 # 4.Ba6-b7 # 2.Ba6-c8 threat: 3.Qf1-b5 # 2...Qa2*a3 3.Ra8-b8 + 3...Kb4-a4 4.Qf1-a6 # 4.Qf1-b5 # 3...Kb4-a5 4.Qf1-b5 # 4.Qf1-a6 # 2...Re5-e1 3.Bg5-e7 + 3...Re1*e7 4.Qf1-b5 # 2...Re5-e2 3.Bg5-e7 + 3...Re2*e7 4.Qf1-b5 # 1...Bb2-c1 2.Qf1-b5 + 2...Kb4*a3 3.Bg5*c1 + 3...Sd1-b2 4.Ba6-c8 # 4.Ba6-b7 # 4.Qb5-a5 # 3...Qa2-b2 4.Qb5-a5 # 4.Ba6-c8 # 4.Ba6-b7 # 3...b3-b2 4.Ba6-b7 # 4.Ba6-c8 # 2.Ba6-c8 threat: 3.Qf1-b5 # 2...Bc1*a3 3.Bc8-d7 threat: 4.Ra8-a4 # 4.Qf1-b5 # 3...Sd1-b2 4.Qf1-b5 # 3...Ba3-c1 4.Qf1-b5 # 3...Ba3-b2 4.Qf1-b5 # 3...b3-b2 4.Qf1-b5 # 3...Re5-e1 4.Ra8-a4 # 3...Re5-e2 4.Ra8-a4 # 3.Ra8-b8 + 3...Kb4-a4 4.Qf1-b5 # 4.Qf1-a6 # 3...Kb4-a5 4.Qf1-a6 # 4.Qf1-b5 # 2...Qa2*a3 3.Ra8-b8 + 3...Kb4-a4 4.Qf1-a6 # 4.Qf1-b5 # 3...Kb4-a5 4.Qf1-b5 # 4.Qf1-a6 # 2...Re5-e1 3.Bg5-e7 + 3...Re1*e7 4.Qf1-b5 # 2...Re5-e2 3.Bg5-e7 + 3...Re2*e7 4.Qf1-b5 # 1...Kb4*a3 2.Ba6-c8 + 2...Ka3-b4 3.Ra8-b8 + 3...Kb4-a4 4.Qf1-a6 # 3...Kb4-a5 4.Qf1-a6 # 4.Qf1-b5 # 3...Kb4-a3 4.Qf1-a6 # 1...Re5-e1 2.Ba6-e2 threat: 3.Bg5-e7 # 2...Re1*e2 3.Bg5-e7 + 3...Re2*e7 4.Qf1-b5 # 2...Re1*f1 + 3.Be2*f1 threat: 4.Bg5-e7 # 1...Re5-e2 2.Ba6*e2 threat: 3.Bg5-e7 #" --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) date: 1971 distinction: 4th HM algebraic: white: [Kb6, Qc1, Rf6, Rc2, Bh7, Sf4, Sb5, Pg7, Pe6, Pe2, Pd7, Pd5, Pa2] black: [Ke5, Rf7, Re7, Bb1, Sg8, Pg5, Pa3] stipulation: "#4" solution: --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1971 distinction: 3rd Prize algebraic: white: [Kf7, Qb6, Rf1, Ba1, Sd7, Sa7, Pe3, Pd3, Pc2] black: [Kd5, Qh2, Rh4, Bg3, Bg2, Sh5, Sg7, Pf5, Pb7, Pb5] stipulation: "#4" solution: --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1971 distinction: 2nd Prize algebraic: white: [Ke7, Qa5, Bf7, Sf8, Se8, Pc7, Pb6] black: [Kc8, Re3, Rd2, Bh2, Bc4, Sb2, Ph6, Pf6, Pf2, Pe6, Pd6, Pb7, Pa6] stipulation: "#4" solution: --- authors: - Вукчевић, Милан Радоје source: Chess By Milan date: 1979 algebraic: white: [Kh2, Re8, Ra2, Bf8, Bf1, Se3, Sb4, Pf4, Pf3, Pd2] black: [Kd4, Qa7, Rh7, Rc1, Bb1, Sb6, Sb2, Ph4, Pa6] stipulation: "#4" solution: | "1.Ra2-a5 ! threat: 2.Sb4-c2 + 2...Bb1*c2 3.Bf8-c5 # 2...Rc1*c2 3.Re8-e4 # 3.Se3-f5 # 2.Se3-c2 + 2...Bb1*c2 3.Bf8-c5 # 3.Sb4-c6 # 2...Rc1*c2 3.Re8-e4 # 1...Bb1-g6 2.Ra5-f5 threat: 3.Re8-e4 # 2...Bg6*f5 3.Se3*f5 # 2...Bg6*e8 3.Rf5-d5 + 3...Sb6*d5 4.Se3-f5 # 3.Sb4-c2 + 3...Rc1*c2 4.Se3*c2 # 3.Se3-c2 + 3...Rc1*c2 4.Sb4*c2 # 2...Qa7-a8 3.Sb4-c2 + 3...Rc1*c2 4.Se3*c2 # 3.Se3-c2 + 3...Rc1*c2 4.Sb4*c2 # 2...Qa7-e7 3.Se3-c2 + 3...Rc1*c2 4.Sb4*c2 # 3.Sb4-c2 + 3...Rc1*c2 4.Se3*c2 # 2...Qa7-b7 3.Sb4-c2 + 3...Rc1*c2 4.Se3*c2 # 3.Se3-c2 + 3...Rc1*c2 4.Sb4*c2 # 2...Rh7-e7 3.Se3-c2 + 3...Rc1*c2 4.Sb4*c2 # 3.Sb4-c2 + 3...Rc1*c2 4.Se3*c2 # 1...Bb1-d3 2.Bf1*d3 threat: 3.Re8-e4 # 3.Se3-f5 # 2...Rc1-c5 3.Bf8*c5 # 3.Re8-e4 # 2...Rc1-h1 + 3.Kh2*h1 threat: 4.Bf8-c5 # 4.Re8-e4 # 4.Se3-c2 # 4.Se3-f5 # 3...Sb2*d3 4.Re8-e4 # 4.Sb4-c2 # 4.Sb4-c6 # 3...Sb2-a4 4.Re8-e4 # 4.Se3-c2 # 4.Se3-f5 # 3...Sb6-a4 4.Re8-e4 # 4.Ra5-d5 # 4.Se3-c2 # 4.Se3-f5 # 3...Sb6-c4 4.Re8-e4 # 4.Ra5-d5 # 4.Se3-c2 # 4.Se3-f5 # 3...Sb6-d5 4.Re8-e4 # 4.Ra5*d5 # 4.Se3-c2 # 4.Se3-f5 # 3...Sb6-d7 4.Re8-e4 # 4.Ra5-d5 # 4.Se3-c2 # 4.Se3-f5 # 3...Sb6-c8 4.Re8-e4 # 4.Ra5-d5 # 4.Se3-c2 # 4.Se3-f5 # 3...Sb6-a8 4.Re8-e4 # 4.Ra5-d5 # 4.Se3-c2 # 4.Se3-f5 # 3...Qa7-a8 4.Bf8-c5 # 4.Se3-c2 # 4.Se3-f5 # 3...Qa7-f7 4.Bf8-c5 # 4.Re8-e4 # 4.Se3-c2 # 3...Qa7-e7 4.Se3-c2 # 4.Se3-f5 # 3...Qa7-d7 4.Bf8-c5 # 4.Re8-e4 # 4.Se3-c2 # 3...Qa7-c7 4.Re8-e4 # 4.Se3-f5 # 3...Qa7-b7 4.Bf8-c5 # 4.Se3-c2 # 4.Se3-f5 # 3...Rh7-h5 4.Re8-e4 # 4.Se3-c2 # 3...Rh7-c7 4.Re8-e4 # 4.Se3-f5 # 3...Rh7-e7 4.Se3-f5 # 4.Se3-c2 # 3...Rh7-f7 4.Bf8-c5 # 4.Re8-e4 # 4.Se3-c2 # 2...Sb2*d3 3.Re8-e4 # 2...Qa7-a8 3.Se3-f5 # 2...Qa7-f7 3.Re8-e4 # 2...Qa7-e7 3.Se3-f5 # 2...Qa7-d7 3.Re8-e4 # 2...Qa7-b7 3.Se3-f5 # 2...Rh7-h5 3.Re8-e4 # 2...Rh7-e7 3.Se3-f5 # 2...Rh7-f7 3.Re8-e4 # 1...Rc1-c8 2.Sb4-c2 + 2...Bb1*c2 3.Se3*c2 + 3...Rc8*c2 4.Re8-e4 # 2...Rc8*c2 3.Re8-e4 # 3.Se3-f5 # 2.Se3-c2 + 2...Bb1*c2 3.Sb4*c2 + 3...Rc8*c2 4.Re8-e4 # 2...Rc8*c2 3.Re8-e4 # 1...Rc1-c7 2.Re8-d8 + 2...Sb6-d5 3.Rd8*d5 # 3.Ra5*d5 # 2...Sb6-d7 3.Ra5-d5 # 2...Rc7-d7 3.Bf8-c5 # 3.Sb4-c6 # 2...Rh7-d7 3.Bf8-g7 # 1...Rc1-c4 2.Sb4-c2 + 2...Bb1*c2 3.Se3*c2 + 3...Rc4*c2 4.Re8-e4 # 2...Rc4*c2 3.Re8-e4 # 3.Se3-f5 # 2.Re8-d8 + 2...Sb6-d5 3.Rd8*d5 # 3.Ra5*d5 # 2...Sb6-d7 3.Ra5-d5 # 2...Qa7-d7 3.Bf1*c4 threat: 4.Bf8-c5 # 4.Sb4-c6 # 3...Bb1-e4 4.Bf8-c5 # 3...Sb2-d3 4.Sb4-c6 # 3...Sb2*c4 4.Bf8-c5 # 3...Sb2-a4 4.Sb4-c6 # 3...Sb6-a4 4.Sb4-c6 # 3...Sb6*c4 4.Bf8-c5 # 3...Sb6-d5 4.Bf8-c5 # 3...Qd7-d6 4.Sb4-c6 # 3...Rh7-h5 4.Sb4-c6 # 3...Rh7-h6 4.Bf8-c5 # 3...Rh7-e7 4.Sb4-c6 # 2...Rh7-d7 3.Bf8-g7 # 2.Se3-c2 + 2...Bb1*c2 3.Sb4*c2 + 3...Rc4*c2 4.Re8-e4 # 2...Rc4*c2 3.Re8-e4 # 1...Rc1-c3 2.Se3-c2 + 2...Bb1*c2 3.Sb4*c2 + 3...Rc3*c2 4.Re8-e4 # 2...Rc3*c2 3.Re8-e4 # 2.Sb4-c2 + 2...Bb1*c2 3.Se3*c2 + 3...Rc3*c2 4.Re8-e4 # 2...Rc3*c2 3.Re8-e4 # 3.Se3-f5 # 1...Sb2-a4 2.Se3-c2 + 2...Bb1*c2 3.Sb4-c6 # 2...Rc1*c2 3.Re8-e4 # 1...Qa7-a8 2.Sb4-c2 + 2...Bb1*c2 3.Bf8-c5 # 2...Rc1*c2 3.Se3-f5 # 1...Qa7-e7 2.Re8-d8 + 2...Sb6-d5 3.Rd8*d5 # 3.Ra5*d5 # 2...Sb6-d7 3.Ra5-d5 # 2...Qe7-d6 3.Bf8*d6 threat: 4.Bd6-c5 # 4.Bd6-e5 # 3...Sb6-d5 4.Bd6-e5 # 4.Ra5*d5 # 3...Sb6-d7 4.Bd6-e5 # 4.Ra5-d5 # 3...Rh7-d7 4.Bd6-e5 # 3.Rd8*d6 + 3...Sb6-d5 4.Rd6*d5 # 4.Ra5*d5 # 2...Qe7*d8 3.Sb4-c2 + 3...Bb1*c2 4.Bf8-c5 # 3...Rc1*c2 4.Se3-f5 # 2...Qe7-d7 3.Sb4-c2 + 3...Bb1*c2 4.Bf8-c5 # 3...Rc1*c2 4.Se3-f5 # 1...Qa7-c7 2.Re8-d8 + 2...Sb6-d5 3.Rd8*d5 # 3.Ra5*d5 # 2...Sb6-d7 3.Ra5-d5 # 2...Qc7-d6 3.Bf8*d6 threat: 4.Bd6-c5 # 4.Bd6-e5 # 3...Sb6-d5 4.Bd6-e5 # 4.Ra5*d5 # 3...Sb6-d7 4.Bd6-e5 # 4.Ra5-d5 # 3...Rh7-d7 4.Bd6-e5 # 3.Rd8*d6 + 3...Sb6-d5 4.Rd6*d5 # 4.Ra5*d5 # 2...Qc7*d8 3.Sb4-c2 + 3...Bb1*c2 4.Bf8-c5 # 3...Rc1*c2 4.Se3-f5 # 2...Qc7-d7 3.Sb4-c2 + 3...Bb1*c2 4.Bf8-c5 # 3...Rc1*c2 4.Se3-f5 # 2...Rh7-d7 3.Bf8-g7 + 3...Qc7-e5 4.Bg7*e5 # 1...Qa7-b7 2.Sb4-c2 + 2...Bb1*c2 3.Bf8-c5 # 2...Rc1*c2 3.Se3-f5 # 1...Rh7-h5 2.Se3-c2 + 2...Bb1*c2 3.Sb4-c6 # 2...Rc1*c2 3.Re8-e4 # 1...Rh7-c7 2.Re8-d8 + 2...Sb6-d5 3.Rd8*d5 # 3.Ra5*d5 # 2...Sb6-d7 3.Ra5-d5 # 3.Bf8-g7 # 2...Rc7-d7 3.Bf8-g7 # 1...Rh7-e7 2.Bf8-g7 + 2...Re7-e5 3.Bg7*e5 # 2...Re7*g7 3.Se3-c2 + 3...Bb1*c2 4.Sb4-c6 # 3...Rc1*c2 4.Re8-e4 # 2.Se3-c2 + 2...Bb1*c2 3.Sb4-c6 # 2...Rc1*c2 3.Bf8-g7 + 3...Re7-e5 4.Bg7*e5 # 3...Re7*g7 4.Re8-e4 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1984 distinction: 1st Prize algebraic: white: [Kh4, Ra5, Se8, Sc5, Ph2, Pg3, Pg2, Pd5, Pb4, Pa3] black: [Kb6, Qc2, Rd2, Bg4, Ba7, Sf1, Sc1, Ph7, Pf4, Pf2, Pd4, Pc3, Pb7] stipulation: "#4" solution: --- authors: - Вукчевић, Милан Радоје source: Feenschach date: 1956 distinction: 2nd Prize algebraic: white: [Kc5, Re4, Rb8, Be8, Bd8, Pe3, Pd5, Pd2, Pa2] black: [Ka4, Qf1, Re6, Rc2, Bg8, Ba1, Sf4, Sc4, Ph7, Pe7, Pe5, Pd3, Pc6, Pc3, Pa3] stipulation: "s#2" solution: | "1.Kc5*c4 ! threat: 2.Be8*c6 + 2...Re6*c6 # 1...Qf1-b1 2.Rb8-b4 + 2...Qb1*b4 # 1...Rc2-b2 2.Kc4*c3 + 2...Rb2-b4 # 1...Sf4-e2 2.Kc4*d3 + 2...Se2-d4 #" --- authors: - Вукчевић, Милан Радоје source: Yugoslav International date: 1949 distinction: 3rd HM algebraic: white: [Kh2, Qh5, Re1, Rb2, Bf3, Bf2, Sg8, Ph3, Pg4, Pd3, Pb5] black: [Kf4, Bh1, Ba7, Pg7, Pg2, Pd5, Pd4, Pb6] stipulation: "s#3" solution: --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1976 distinction: HM algebraic: white: [Ke6, Qb2, Rb4, Ra6, Bc6, Sh3, Sd5, Pe2, Pd7, Pb7] black: [Ke4, Qa8, Rh6, Rc4, Bb3, Sh8, Sg8, Ph4, Pf6, Pf5, Pe7, Pe3, Pc2, Pb5] stipulation: "s#2" solution: | "1.Rb4-a4 ! threat: 2.Sd5-b4 + 2...Rc4*c6 # 1...Bb3*a4 2.Sd5-b6 + 2...Rc4*c6 # 1...Rc4*a4 2.Qb2-e5 + 2...f6*e5 # 1...Rc4-b4 2.Qb2-e5 + 2...f6*e5 # 1...Rc4-d4 2.Sh3-g5 + 2...f6*g5 # 1...Qa8*b7 2.Sd5-b6 + 2...Qb7*c6 # 1...Qa8*a6 2.Sd5-f4 + 2...Qa6*c6 # 2.Sd5-c7 + 2...Qa6*c6 # 1...Qa8-c8 2.Sd5-b6 + 2...Qc8*c6 #" --- authors: - Вукчевић, Милан Радоје source: Chess By Milan date: 1980 algebraic: white: [Kh8, Qg7, Rf5, Bd5, Sg8, Pg3] black: [Kh5, Rh2, Rc8, Bd8, Sg5, Pg4, Pc6] stipulation: "s#2" solution: | "1.Rf5*g5 + ! 1...Bd8*g5 2.Qg7-g6 + 2...Kh5*g6 # 1.Bd5-f3 ! threat: 2.Sg8-f6 + 2...Bd8*f6 # 1...Rc8-c7 2.Qg7-h7 + 2...Rc7*h7 # 1...Bd8-a5 2.Qg7-g6 + 2...Kh5*g6 # 1...Bd8-b6 2.Qg7-g6 + 2...Kh5*g6 # 1...Bd8-c7 2.Qg7-g6 + 2...Kh5*g6 # 1...Bd8-f6 2.Bf3*g4 + 2...Kh5*g4 # 1...Bd8-e7 2.Qg7-g6 + 2...Kh5*g6 #" --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1980 algebraic: white: [Kf3, Qg3, Re5, Ra2, Bd2, Sg8, Se3, Pf2, Pe4, Pe2, Pc3] black: [Kg5, Qh5, Re1, Rb3, Bh6, Bd1, Sg4, Sf5, Ph4, Ph3, Pg6, Pd4, Pb2] stipulation: "s#2" solution: | "1.Qg3-g1 ! threat: 2.Se3-g2 + 2...Sg4-e3 # 1...Re1*e2 2.Se3-f1 + 2...Re2*d2 # 2...Re2-e3 # 1...b2-b1=S 2.Se3-c2 + 2...Sb1*d2 # 1...Rb3*c3 2.Qg1*g4 + 2...Qh5*g4 # 1...d4*c3 2.Se3*g4 + 2...c3*d2 # 1...d4*e3 2.Qg1*g4 + 2...Qh5*g4 #" --- authors: - Вукчевић, Милан Радоје source: Segal Mt date: 1961 distinction: HM algebraic: white: [Ke5, Qh4, Re8, Ra3, Bg3, Bb7, Sd5, Sc1, Ph5, Pf5, Pd6, Pd2] black: [Kf3, Qh8, Rg1, Ra5, Bh2, Bb5, Sb3, Pg7, Pg2, Pf4, Pd7, Pa6, Pa4, Pa2] stipulation: "s#2" solution: --- authors: - Вукчевић, Милан Радоје source: Wcct date: 1975 distinction: 13th Place algebraic: white: [Kc4, Qf7, Re1, Rc6, Bb8, Bb5, Se8, Se6, Pg4, Pg3, Pf3, Pc3, Pb4, Pb3] black: [Ke5, Qg8, Rf8, Rc7, Be3, Bb1, Sh8, Sf1, Ph7, Pg7, Pg6, Pf4, Pd3] stipulation: "s#2" solution: | "1.Se6-c5 ! threat: 2.Qf7-d5 + 2...Qg8*d5 # 1...f4*g3 2.Re1*e3 + 2...Sf1*e3 # 1...Rf8*f7 2.Sc5-d7 + 2...Rf7*d7 # 1...Qg8*f7 + 2.Rc6-e6 + 2...Qf7*e6 # 1...Sh8*f7 2.Bb8*c7 + 2...Sf7-d6 #" --- authors: - Вукчевић, Милан Радоје source: Chess By Milan date: 1976 algebraic: white: [Kc4, Qd1, Rc3, Ra6, Sa4] black: [Ka3, Qa2, Rb1, Ra1, Bf2, Bd7, Se1, Sb3, Pg2, Pe6, Pe5, Pc6, Pc5, Pb4, Pb2] stipulation: "s#2" solution: | "1.Rc3-g3 ! threat: 2.Sa4-c3 + 2...Sb3-a5 # 1...Se1-f3 2.Qd1*b3 + 2...Qa2*b3 # 1...Se1-d3 2.Qd1*b3 + 2...Qa2*b3 # 1...Se1-c2 2.Rg3*b3 + 2...Qa2*b3 # 1...Bf2*g3 2.Sa4*c5 + 2...Sb3-a5 # 1...Bd7-c8 2.Sa4-b6 + 2...Bc8*a6 #" --- authors: - Вукчевић, Милан Радоје source: Mat Plus date: 1996 distinction: 1st Prize algebraic: white: [Kc5, Qf1, Rh1, Rd3, Bf5, Sg6, Pd6, Pd4, Pb4, Pa6] black: [Kg3, Sa2, Pf4, Pf3, Pf2, Pd7, Pc6, Pb5, Pa7] stipulation: "s#6" solution: --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1981 algebraic: white: [Kd3, Qc4, Re6, Rd2, Bh4, Bb7, Sh2, Sf8, Pg3, Pg2, Pf4, Pd7] black: [Kf5, Qa8, Rh1, Rg1, Bc8, Ba5, Pe7, Pb4, Pa7] stipulation: "s#3" solution: | "1.Qc4-c2 ! threat: 2.Re6-f6 + 2...e7*f6 3.Bb7-e4 + 3...Qa8*e4 # 1...Rg1-e1 2.Qc2-c5 + 2...Re1-e5 3.Bb7-e4 + 3...Qa8*e4 # 1...Rh1*h2 2.Kd3-e2 + 2...Kf5-g4 3.Bb7-f3 + 3...Qa8*f3 # 1...Qa8*b7 2.g3-g4 + 2...Kf5*f4 3.Re6-e4 + 3...Qb7*e4 # 1...Qa8-b8 2.Re6-e5 + 2...Qb8*e5 3.Bb7-e4 + 3...Qe5*e4 # 1...Bc8*b7 2.Kd3-c4 + 2...Bb7-e4 3.Rd2-d5 + 3...Qa8*d5 #" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1970 distinction: 6th HM algebraic: white: [Kc4, Qc5, Rh3, Rf8, Bb8, Ba8, Sg2, Sd5] black: [Ke4, Qa1, Bb2, Bb1, Pg7, Pg5, Pd3, Pa6, Pa5, Pa4, Pa3] stipulation: "s#3" solution: | "1.Sg2-e3 ! threat: 2.Rf8-e8 + 2...Bb2-e5 3.Qc5-d4 + 3...Qa1*d4 # 1...Bb2-f6 2.Sd5-c7 + 2...Ke4-f4 3.Qc5-d4 + 3...Qa1*d4 # 1...Bb2-e5 2.Sd5-f6 + 2...Ke4-f4 3.Qc5-d4 + 3...Qa1*d4 #" --- authors: - Вукчевић, Милан Радоје source: Chess By Milan date: 1970 algebraic: white: [Kd6, Qg4, Bh8, Bh7, Sa7, Pe7, Pe2, Pc2, Pb2] black: [Kd4, Qh6, Re5, Rd1, Bf4, Be8, Sf8, Sa8, Ph5, Pg5, Pe6, Pe3, Pd7, Pc4] stipulation: "s#2" solution: | "1.Qg4*e6 ! threat: 2.Bh8*e5 + 2...Bf4*e5 # 1...Qh6-g7 2.Qe6-d5 + 2...Re5*d5 # 1...Qh6-f6 2.Sa7-b5 + 2...Re5*b5 # 1...Qh6-g6 2.c2-c3 + 2...Kd4-e4 # 1...Qh6*h7 2.Qe6*c4 + 2...Kd4*c4 # 1...Be8-g6 2.Qe6*c4 + 2...Kd4*c4 # 1...Sf8-g6 2.Qe6*c4 + 2...Kd4*c4 # 1...Sf8*h7 2.c2-c3 + 2...Kd4-e4 #" --- authors: - Вукчевић, Милан Радоје source: stella polaris date: 1971 algebraic: white: [Kd4, Qg6, Re3, Bf5, Bc1, Pd5, Pc3, Pb4] black: - Kf4 - Qh8 - Rh2 - Rd2 - Bg1 - Be8 - Sh1 - Sg7 - Ph5 - Pg5 - Pg3 - Pd6 - Pd3 - Pc4 - Pb6 - Pb5 stipulation: "s#2" solution: --- authors: - Вукчевић, Милан Радоје source: Chess By Milan date: 1970 algebraic: white: [Ke6, Qh6, Rg1, Be7, Se5, Sd2, Pf7, Pe4, Pd6, Pd5, Pc3] black: [Kh4, Rd4, Bh3, Sh5, Sf6, Ph7, Pg4, Pg3, Pg2, Pd3, Pc4] stipulation: "s#2" solution: | "1.Ke6-f5 ! zugzwang. 1...Rd4*d5 2.Sd2-f3 + 2...g4*f3 # 1...Rd4*e4 2.Se5-f3 + 2...g4*f3 #" --- authors: - Вукчевић, Милан Радоје source: Problemnoter date: 1961 algebraic: white: [Ka8, Qg1, Rf7, Bf8, Pc7, Pc4, Pb7] black: [Kc6, Rg7, Bf5, Pa5] stipulation: "s#4" solution: | "1.Qg1-g6 + ! 1...Bf5*g6 2.c7-c8=R + 2...Kc6-b6 3.b7-b8=R + 3...Kb6-a6 4.Rf7-a7 + 4...Rg7*a7 # 1...Rg7*g6 2.b7-b8=S + 2...Kc6-b6 3.c7-c8=S + 3...Bf5*c8 4.Rf7-b7 + 4...Bc8*b7 #" keywords: - White underpromotion --- authors: - Вукчевић, Милан Радоје source: Šahovski Vjesnik date: 1948 distinction: 1st Prize algebraic: white: [Ka1, Rb6, Rb4, Bf4, Sf1, Sc7, Pg6, Pe7, Pd2, Pc6, Pb2] black: [Kc5, Rh1, Rg1, Ph2, Pg7, Pg3, Pg2, Pb3] stipulation: "s#3" solution: | "1.Ka1-b1 ! zugzwang. 1...g2*f1=S 2.e7-e8=Q threat: 3.Qe8-e3 + 3...Sf1*e3 # 2.e7-e8=S threat: 3.Bf4-e3 + 3...Sf1*e3 # 1...g2*f1=B 2.e7-e8=B threat: 3.Rb6-b5 + 3...Bf1*b5 #" --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) date: 1969 distinction: 2nd Prize algebraic: white: [Kb7, Qf2, Bb8, Ba8, Se4, Pd3, Pc7, Pa7] black: [Kd5, Qh8, Rb3, Ra3, Be8, Sg7, Ph7, Pe6, Pe5, Pc3, Pb6, Pa6] stipulation: "s#2" solution: | "1.Qf2-e3 ! threat: 2.Kb7-c8 + 2...Be8-c6 # 1...Be8-a4 2.Kb7*a6 + 2...Ba4-c6 # 1...Be8-b5 2.Kb7*b6 + 2...Bb5-c6 # 1...Be8-d7 2.Qe3-c5 + 2...b6*c5 # 1...Be8-h5 2.Qe3-c5 + 2...b6*c5 # 1...Be8-g6 2.Qe3-c5 + 2...b6*c5 # 1...Be8-f7 2.Qe3-c5 + 2...b6*c5 #" --- authors: - Вукчевић, Милан Радоје source: Chess By Milan date: 1970 algebraic: white: [Kc4, Qf2, Re1, Rb5, Bc8, Ba3, Se7, Sd3, Pg6, Pg5, Pc3] black: [Ke6, Qf1, Rh4, Rd1, Be4, Sd7, Ph5, Ph3, Pf3, Pa5, Pa4] stipulation: "s#2" solution: | "1.Qf2-a2 ! threat: 2.Re1*e4 + 2...Rh4*e4 # 1...Rd1*e1 2.Rb5-b6 + 2...Be4-c6 # 1...Qf1-e2 2.Rb5-b6 + 2...Be4-c6 # 1...Qf1*e1 2.Kc4-d4 + 2...Be4-d5 #" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1971 distinction: 3rd Prize algebraic: white: [Ke6, Qf4, Rd8, Be4, Bb6, Se1, Sc4, Ph5, Pf7, Pf2, Pd3, Pb4, Pb2] black: [Kd4, Qc5, Rh6, Re2, Be3, Bd1, Sd7, Sb8, Ph7, Pg6, Pd2, Pc6, Pa6] stipulation: "s#2" solution: | "1.Sc4-a5 ! threat: 2.Be4*g6 + 2...Be3*f4 # 1...Bd1-b3 + 2.Be4-d5 + 2...Be3*f4 # 1...Re2*f2 2.Qf4-f6 + 2...Rf2*f6 # 1...Be3*f2 2.Sa5-b3 + 2...Bd1*b3 # 1...Be3*f4 2.Sa5-b3 + 2...Bd1*b3 # 1...Qc5*b6 2.Be4*c6 + 2...Be3*f4 # 1...g6-g5 + 2.Qf4-f6 + 2...Rh6*f6 # 1...Rh6*h5 2.Qf4-e5 + 2...Rh5*e5 #" --- authors: - Вукчевић, Милан Радоје source: Probleemblad date: 1971 distinction: 4th Prize algebraic: white: [Kd6, Qf6, Rg3, Rf1, Be7, Bb1, Sg1, Pb2] black: [Ke4, Qh1, Rh2, Rc2, Sg2, Ph3] stipulation: "s#3" solution: | "1.Qf6-c3 ! zugzwang. 1...Qh1*g1 2.Qc3-c4 + 2...Qg1-d4 + 3.Qc4-d5 + 3...Qd4*d5 # 1...Sg2-e1 2.Qc3-c6 + 2...Ke4-d4 3.Qc6-d5 + 3...Qh1*d5 # 1...Sg2-h4 2.Qc3-c6 + 2...Ke4-d4 3.Qc6-d5 + 3...Qh1*d5 # 1...Sg2-f4 2.Qc3-c4 + 2...Ke4-f5 3.Qc4-d5 + 3...Qh1*d5 # 1...Sg2-e3 2.Qc3-e5 + 2...Ke4-d3 3.Qe5-d5 + 3...Qh1*d5 #" --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1972 algebraic: white: [Kb1, Qf5, Ra1, Bf8, Bf1, Se6, Pa3, Pa2] black: [Kc3, Qh6, Rh1, Rb7, Bh7, Ba5, Se7, Sc8, Pf2, Pe4, Pd2, Pc7, Pb5, Pa7] stipulation: "s#2" solution: | "1.Qf5*e4 ! threat: 2.Qe4-c2 + 2...Bh7*c2 # 2.Qe4-d3 + 2...Bh7*d3 # 1...Rh1-h5 2.Qe4-c2 + 2...Bh7*c2 # 1...Rh1-h4 2.Qe4-c2 + 2...Bh7*c2 # 1...Rh1-h3 2.Qe4-c2 + 2...Bh7*c2 # 1...Rh1-h2 2.Qe4-c2 + 2...Bh7*c2 # 1...d2-d1=S 2.Qe4-c2 + 2...Bh7*c2 # 1...d2-d1=B 2.Qe4-c2 + 2...Bd1*c2 # 2...Bh7*c2 # 1...Qh6*e6 2.Qe4-d3 + 2...Bh7*d3 # 1...Se7-f5 2.Qe4-d4 + 2...Sf5*d4 # 1...Se7-g6 2.Qe4-e5 + 2...Sg6*e5 # 1...Bh7-g8 2.Qe4-c4 + 2...b5*c4 #" --- authors: - Вукчевић, Милан Радоје source: stella polaris date: 1971 algebraic: white: [Kd6, Qe1, Rb8, Sc7, Pf5, Pe7, Pd7, Pd5, Pc4, Pb3] black: [Kb6, Qa8, Ra6, Ba5, Pf7, Pf6, Pe2, Pb7, Pb4, Pa7] stipulation: "s#3" solution: | "1.Rb8-g8 ! zugzwang. 1...Qa8*g8 2.Qe1-g1 + 2...Qg8*g1 3.c4-c5 + 3...Qg1*c5 # 1...Qa8-f8 2.Sc7-a8 + 2...Qf8*a8 3.Rg8-b8 3...Qa8*b8 # 1...Qa8-e8 2.Sc7-a8 + 2...Qe8*a8 3.Rg8-b8 3...Qa8*b8 # 1...Qa8-d8 2.Sc7-a8 + 2...Qd8*a8 3.Rg8-b8 3...Qa8*b8 # 1...Qa8-c8 2.Sc7-a8 + 2...Qc8*a8 3.Rg8-b8 3...Qa8*b8 # 1...Qa8-b8 2.Qe1*b4 + 2...Ba5*b4 + 3.c4-c5 + 3...Bb4*c5 # 3...Kb6-a5 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1981 algebraic: white: [Kd1, Rf5, Rd5, Bg8, Bd4, Se3, Pf3, Pc3, Pa2] black: [Kd3, Qh2, Rh7, Rh6, Be1, Pg2, Pd2] stipulation: "#3" solution: | "1.Se3-c4 ! threat: 2.Sc4-b2 # 1...Qh2-b8 2.Bd4-e5 + 2...Kd3*c4 3.Rf5-f4 # 1...Kd3*c4 2.Rd5-c5 + 2...Kc4-d3 3.Bg8-c4 # 1...Rh6-b6 2.Bd4-g7 + 2...Kd3*c4 3.Rd5-d6 # 1...Rh7-b7 2.Bd4-f6 + 2...Kd3*c4 3.Rd5-d7 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1982 algebraic: white: [Kf8, Qd1, Rf1, Re6, Bb6, Ba4, Sf7, Sa5, Pf3, Pe5, Pc6, Pc5, Pc2] black: [Ke3, Rb1, Bg1, Ba2, Se8, Sc1, Pg6, Pf4] stipulation: "#3" solution: | "1.Sf7-d6 ! threat: 2.Sd6-c4 + 2...Ba2*c4 3.Sa5*c4 # 2.Sa5-c4 + 2...Ba2*c4 3.Sd6*c4 # 1...Rb1-b4 2.Qd1*c1 + 2...Ke3-e2 3.Qc1-e1 # 2...Ke3-d4 3.Qc1-d2 # 1...Se8*d6 2.Ba4-b3 threat: 3.e5*d6 # 3.c5*d6 # 2...Rb1*b3 3.e5*d6 # 2...Sc1-e2 3.e5*d6 # 3.Qd1-d3 # 2...Sc1-d3 3.Qd1*d3 # 2...Sc1*b3 3.e5*d6 # 3.Qd1-d3 # 2...Ba2*b3 3.c5*d6 # 2...Sd6-b5 3.Sa5-c4 # 2...Sd6-c4 3.Sa5*c4 # 2...Sd6-e4 3.Sa5-c4 # 2...Sd6-f5 3.Sa5-c4 # 2...Sd6-f7 3.Sa5-c4 # 2...Sd6-e8 3.Sa5-c4 # 2...Sd6-c8 3.Sa5-c4 # 2...Sd6-b7 3.Sa5-c4 #" --- authors: - Вукчевић, Милан Радоје source: Northwest Chess date: 1976 distinction: 4th Prize algebraic: white: [Ka5, Qa2, Rc1, Ba4, Sf8, Sf7, Pe3, Pd6, Pb4] black: [Kd5, Qe4, Ba8, Pf5, Pd3, Pc4, Pa6] stipulation: "#3" solution: | "1.Ba4-d1 ! zugzwang. 1...Qe4-g4 2.Bd1-f3 + 2...Qg4*f3 3.Qa2*c4 # 2...Qg4-e4 3.Qa2*c4 # 1...d3-d2 2.Qa2*d2 + 2...Qe4-d3 3.Bd1-f3 # 2...Qe4-d4 3.Bd1-f3 # 2...Kd5-c6 3.Sf7-d8 # 1...Qe4-h1 2.Qa2*c4 # 1...Qe4-g2 2.Qa2*c4 # 2.Qa2*g2 # 1...Qe4-f3 2.Qa2*c4 # 2.Bd1*f3 # 1...Qe4*e3 2.Qa2*c4 # 1...Qe4-d4 2.Bd1-f3 + 2...Qd4-e4 3.Qa2*c4 # 1...Qe4-e8 2.Qa2*c4 # 1...Qe4-e7 2.Qa2*c4 # 1...Qe4-e6 2.Qa2*c4 # 1...Qe4-e5 2.Qa2*c4 # 1...Qe4-h4 2.Bd1-f3 + 2...Qh4-e4 3.Qa2*c4 # 1...Qe4-f4 2.Bd1-f3 + 2...Qf4*f3 3.Qa2*c4 # 2...Qf4-e4 3.Qa2*c4 # 1...Kd5-c6 2.Qa2*c4 + 2...Qe4*c4 3.Bd1-f3 # 2...Kc6-b7 3.Qc4-c7 # 1...f5-f4 2.Bd1-f3 threat: 3.Qa2*c4 # 2...Kd5-c6 3.Bf3*e4 # 1...Ba8-c6 2.Rc1*c4 threat: 3.Rc4-c5 # 3.Rc4-d4 # 2...Qe4-h1 3.Rc4-h4 # 3.Rc4-g4 # 3.Rc4-f4 # 3.Rc4-d4 # 2...Qe4-g2 3.Rc4-d4 # 2...Qe4-f3 3.Rc4-h4 # 3.Rc4-g4 # 3.Rc4-f4 # 3.Rc4-d4 # 3.Bd1*f3 # 2...Qe4*e3 3.Rc4-h4 # 3.Rc4-g4 # 3.Rc4-f4 # 2...Qe4*c4 3.Bd1-f3 # 2...Qe4-d4 3.Rc4*d4 # 2...Qe4-e8 3.Rc4-h4 # 3.Rc4-g4 # 3.Rc4-f4 # 3.Rc4-d4 # 2...Qe4-e7 3.Rc4-h4 # 3.Rc4-g4 # 3.Rc4-f4 # 3.Rc4-d4 # 2...Qe4-e6 3.Rc4-h4 # 3.Rc4-g4 # 3.Rc4-f4 # 3.Rc4-d4 # 2...Qe4-e5 3.Rc4-h4 # 3.Rc4-g4 # 3.Rc4-f4 # 3.Rc4-d4 # 2...Qe4-h4 3.Rc4*h4 # 3.Rc4-g4 # 3.Rc4-f4 # 3.Rc4-d4 # 2...Qe4-g4 3.Rc4*g4 # 3.Rc4-f4 # 3.Rc4-d4 # 2...Qe4-f4 3.Rc4*f4 # 3.Rc4-d4 # 2...Bc6-a4 3.Rc4-c5 # 2...Bc6-b5 3.Rc4-c5 # 2...Bc6-e8 3.Rc4-c5 # 2...Bc6-d7 3.Rc4-c5 # 2...Bc6-a8 3.Rc4-c5 # 2...Bc6-b7 3.Rc4-c5 # 1...Ba8-b7 2.Bd1-f3 threat: 3.Qa2*c4 #" --- authors: - Вукчевић, Милан Радоје source: British Chess Federation date: 1961 distinction: 3rd HM algebraic: white: [Ka6, Qg2, Rd7, Rb5, Bh7, Bb4, Sh8, Sa5, Ph5, Pg5, Pe3, Pd6, Pd5, Pd3] black: [Ke5, Qh6, Rg1, Rc2, Bg8, Ba7, Sh3, Sg3] stipulation: "#3" solution: | "1.Qg2-f3 ! threat: 2.Rd7-e7 + 2...Qh6-e6 3.Sh8-g6 # 3.Qf3-f6 # 2...Bg8-e6 3.Sh8-f7 # 1...Qh6-e6 2.Bb4-c5 threat: 3.Sa5-c6 # 3.d3-d4 # 2...Rg1-a1 3.d3-d4 # 2...Rg1-d1 3.Sa5-c6 # 2...Rc2-a2 3.d3-d4 # 2...Rc2*c5 3.d3-d4 # 2...Rc2-c4 3.Sa5*c4 # 3.Sa5-c6 # 2...Rc2-d2 3.Sa5-c4 # 3.Sa5-c6 # 2...Sg3-e2 3.Sa5-c6 # 3.Qf3-e4 # 2...Sg3-f5 3.Sa5-c6 # 3.Qf3-e4 # 2...Sg3-e4 3.Qf3*e4 # 2...Qe6*d5 3.Qf3-f6 # 2...Qe6-g4 3.Sh8-g6 # 3.Sa5-c6 # 2...Qe6*d7 3.Sh8-g6 # 3.d3-d4 # 2...Qe6*d6 + 3.Bc5*d6 # 2...Ba7*c5 3.Sa5-c6 # 1...Ba7*e3 2.Qf3*e3 + 2...Sg3-e4 3.Qe3*e4 # 3.d3-d4 # 1...Bg8-e6 2.Rb5-c5 threat: 3.Sa5-c6 # 3.d3-d4 # 2...Rg1-a1 3.d3-d4 # 2...Rg1-d1 3.Sa5-c6 # 2...Rc2-a2 3.Bb4-c3 # 3.d3-d4 # 2...Rc2*c5 3.d3-d4 # 2...Rc2-c4 3.Sa5*c4 # 3.Sa5-c6 # 2...Rc2-d2 3.Sa5-c4 # 3.Sa5-c6 # 3.Bb4-c3 # 2...Sg3-e2 3.Sa5-c6 # 3.Qf3-e4 # 2...Sg3-f5 3.Sa5-c6 # 3.Qf3-e4 # 2...Be6*d5 3.Qf3*d5 # 2...Be6*d7 3.Sh8-f7 # 2...Ba7*c5 3.Sa5-c6 #" --- authors: - Вукчевић, Милан Радоје source: Československý šach date: 1956 algebraic: white: [Kd8, Bh8, Bh7, Sg7, Sg2, Ph4, Ph3, Pd4] black: [Kf6, Rg6, Se2, Sb5, Pe7] stipulation: "#3" solution: --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1980 algebraic: white: [Ke8, Qd8, Rf5, Be7, Be4, Sg2, Sf8, Pf6, Pe2, Pc3] black: - Kh5 - Qa2 - Rd3 - Rb3 - Bg1 - Bb1 - Sg5 - Sa4 - Ph6 - Pg4 - Pe3 - Pd4 - Pd2 - Pb4 - Pb2 - Pa3 stipulation: "#3" solution: | "1.Qd8-c7 ! threat: 2.Qc7-g3 threat: 3.Qg3-h4 # 3.Sg2-f4 # 2...Bg1-f2 3.Sg2-f4 # 1...Bg1-f2 2.Qc7-h2 + 2...Bf2-h4 3.Qh2*h4 # 3.Sg2-f4 # 1...Rb3*c3 2.Rf5-d5 threat: 3.Be4-g6 # 2...g4-g3 3.Be4-f3 # 1...Rd3*c3 2.Be7-c5 threat: 3.Qc7-f7 # 2...g4-g3 3.Be4-f3 # 1...b4*c3 2.Rf5-b5 threat: 3.Be4-g6 # 2...g4-g3 3.Be4-f3 # 1...d4*c3 2.Be7-d6 threat: 3.Qc7-f7 # 2...g4-g3 3.Be4-f3 #" --- authors: - Вукчевић, Милан Радоје source: Chess By Milan date: 1969 algebraic: white: [Kh2, Qe7, Re6, Rb5, Bh6, Sf8, Pg3, Pf7, Pf6, Pe2, Pd5, Pd4, Pd3] black: [Kf5, Qa2, Bc7, Sb6, Ph7, Pg4, Pd7, Pd6] stipulation: "#3" solution: | "1.Re6-e3 ! threat: 2.Qe7-e4 + 2...Kf5*f6 3.Qe4-f4 # 1...Qa2*d5 2.Re3-e6 threat: 3.e2-e4 # 2.Re3-e4 threat: 3.Re4-f4 # 1...Qa2*e2 + 2.Re3*e2 threat: 3.Re2-f2 # 1...Sb6*d5 2.Qe7*d7 + 2...Kf5*f6 3.Qd7-e6 # 1.Rb5*b6 ! threat: 2.Re6-e5 + 2...d6*e5 3.Qe7*d7 # 1...Qa2*d5 2.Rb6-b5 threat: 3.Rb5*d5 # 3.e2-e4 # 2...Qd5*b5 3.e2-e4 # 2...Qd5-c5 3.e2-e4 # 2...Qd5-e5 3.e2-e4 # 2...d7*e6 3.Qe7*e6 # 3.e2-e4 # 2.e2-e4 + 2...Qd5*e4 3.d3*e4 # 1...Qa2*e2 + 2.Re6*e2 threat: 3.Re2-f2 #" --- authors: - Вукчевић, Милан Радоје source: Chess By Milan date: 1969 algebraic: white: [Ke1, Qh1, Ra1, Bg1, Bd7, Pe2, Pc3, Pb6, Pb5, Pa2] black: [Ka4, Qa8, Bh2, Bg2, Sg6, Pg3, Pf6, Pd6, Pb7, Pa6, Pa5, Pa3] stipulation: "#3" solution: | "1.0-0-0 ! threat: 2.Rd1-d4 # 1...Bg2-c6 2.Qh1-e4 + 2...Ka4*b5 3.Rd1-d5 # 2...Bc6*e4 3.Rd1-d4 # 1...Bg2-d5 2.Rd1-d4 + 2...Bd5-c4 3.b5*a6 # 3.Rd4*c4 # 2.Qh1*d5 threat: 3.Qd5-b3 # 3.Qd5-c4 # 3.Qd5-e4 # 3.Qd5-d4 # 3.b5*a6 # 3.Rd1-d4 # 2...Bh2*g1 3.Qd5-b3 # 3.Qd5-c4 # 3.b5*a6 # 2...a6*b5 3.Bd7*b5 # 3.Qd5-b3 # 3.Qd5-c4 # 3.Qd5-e4 # 3.Qd5-d4 # 3.Qd5*b5 # 3.Rd1-d4 # 2...f6-f5 3.Qd5-b3 # 3.Qd5-c4 # 3.Qd5-d4 # 3.b5*a6 # 3.Rd1-d4 # 2...Sg6-e5 3.Qd5-b3 # 2...Sg6-f8 3.Qd5-b3 # 3.Qd5-c4 # 3.Qd5-e4 # 3.Qd5-d4 # 3.Rd1-d4 # 2...Sg6-e7 3.Qd5-b3 # 3.Qd5-c4 # 3.Qd5-e4 # 3.Qd5-d4 # 3.Rd1-d4 # 2...Qa8-g8 3.b5*a6 # 3.Rd1-d4 # 2...Qa8-e8 3.Qd5-b3 # 3.Qd5-c4 # 3.Qd5-d4 # 3.Rd1-d4 # 2...Qa8-d8 3.Qd5-b3 # 3.Qd5-c4 # 3.Qd5-e4 # 3.Qd5-d4 # 3.Rd1-d4 # 2...Qa8-c8 3.Qd5-b3 # 2.Qh1-e4 + 2...Bd5-c4 3.b5*a6 # 3.Qe4*c4 # 2...Bd5*e4 3.Rd1-d4 # 1...Bh2*g1 2.Rd1-d4 + 2...Bg1*d4 3.Qh1-d1 # 1...Sg6-e5 2.Rd1-d4 + 2...Se5-c4 3.Rd4*c4 # 1...Qa8-g8 2.Rd1-d4 + 2...Qg8-c4 3.Rd4*c4 # 1...Qa8-c8 2.Rd1-d4 + 2...Qc8-c4 3.Rd4*c4 #" --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) date: 1961 distinction: 3rd HM algebraic: white: [Kh5, Qb3, Rc8, Bf5, Sd7, Sc3, Pg6, Pf7, Pf3, Pd5] black: [Kd6, Re1, Ra6, Bf8, Bf1, Pe4, Pc5, Pb5, Pa3] stipulation: "#3" solution: | "1.Qb3-a2 ! threat: 2.Qa2-h2 + 2...Kd6-e7 3.Rc8-e8 # 1...Re1-e2 2.Sc3*b5 + 2...Kd6-e7 3.Rc8-e8 # 1...Bf1-e2 2.Sc3*e4 + 2...Kd6-e7 3.Rc8-e8 # 1.Qb3-c2 ! threat: 2.Qc2-h2 + 2...Kd6-e7 3.Rc8-e8 # 1...Re1-e2 2.Sc3*e4 + 2...Re2*e4 3.Qc2*c5 # 2...Kd6*d5 3.Qc2-d3 # 2...Kd6-e7 3.Rc8-e8 # 1...Bf1-e2 2.Sc3*b5 + 2...Be2*b5 3.Qc2*c5 # 2...Kd6*d5 3.Qc2*e4 # 2...Kd6-e7 3.Rc8-e8 #" keywords: - Grimshaw - Reciprocal --- authors: - Вукчевић, Милан Радоје source: British Chess Federation date: 1962 distinction: HM algebraic: white: [Kb3, Rd1, Rb2, Pe5, Pe4, Pe3, Pe2, Pc5, Pa5] black: [Kb5, Rb8, Pf2, Pc6, Pb6, Pa6] stipulation: "#3" solution: | "1.Kb3-c2 + ! 1...Kb5*a5 2.Rd1-a1 # 1...Kb5*c5 2.Rd1-d3 threat: 3.Rd3-c3 # 1...Kb5-c4 2.Rd1-d3 threat: 3.Rd3-c3 # 1...Kb5-a4 2.Rd1-a1 # 1.Kb3-a2 + ! 1...Kb5*a5 2.Rd1-d3 threat: 3.Rd3-a3 # 1...Kb5*c5 2.Rd1-c1 # 1...Kb5-c4 2.Rd1-c1 # 1...Kb5-a4 2.Rd1-d3 threat: 3.Rd3-a3 # 1.Rd1-d4 ! threat: 2.Rd4-b4 + 2...Kb5*c5 3.Rb2-c2 # 2...Kb5*a5 3.Rb2-a2 # 1...b6*a5 2.Kb3-c3 + 2...Kb5*c5 3.Rd4-c4 # 1...b6*c5 2.Kb3-a3 + 2...Kb5*a5 3.Rd4-a4 #" --- authors: - Вукчевић, Милан Радоје source: Ohio Chess Bulletin date: 1980 algebraic: white: [Ka8, Qc4, Rb7, Bc6, Ba7, Sc8, Sb8, Pb5] black: [Ka5, Qg1, Rh7, Rg6, Bg2, Bf2, Sf1] stipulation: "#3" solution: | "1.Qc4-b3 ! threat: 2.Qb3-a3 # 1...Bf2-c5 2.Ba7-b6 + 2...Bc5*b6 3.Qb3-a3 # 1...Rg6-g3 2.Bc6-f3 threat: 3.Sb8-c6 # 3.Qb3-a3 # 2...Bf2-b6 3.Sb8-c6 # 2...Bf2-c5 3.Sb8-c6 # 2...Bg2*f3 3.Qb3-a3 # 2...Rg3*f3 3.Sb8-c6 # 2...Rg3-g6 3.Qb3-a3 # 2...Rg3-g4 3.Sb8-c6 # 2...Rh7-h4 3.Sb8-c6 # 2...Rh7-h6 3.Qb3-a3 # 2...Rh7*b7 3.Sb8-c6 # 2...Rh7-c7 3.Qb3-a3 # 1...Rg6-g4 2.Bc6-e4 threat: 3.Sb8-c6 # 3.Qb3-a3 # 2...Bf2-b6 3.Sb8-c6 # 2...Bf2-c5 3.Sb8-c6 # 2...Bg2*e4 3.Qb3-a3 # 2...Rg4-g3 3.Sb8-c6 # 2...Rg4*e4 3.Sb8-c6 # 2...Rg4-g6 3.Qb3-a3 # 2...Rh7-h3 3.Sb8-c6 # 2...Rh7-h6 3.Qb3-a3 # 2...Rh7*b7 3.Sb8-c6 # 2...Rh7-c7 3.Qb3-a3 # 1...Rh7-h3 2.Ba7-e3 threat: 3.Rb7-a7 # 3.Qb3-a3 # 2...Bf2*e3 3.Qb3-a3 # 2...Bg2*c6 3.Qb3-a3 # 2...Rh3*e3 3.Rb7-a7 # 2...Rh3-h7 3.Qb3-a3 # 2...Rh3-h4 3.Rb7-a7 # 2...Rg6-g4 3.Rb7-a7 # 2...Rg6*c6 3.Qb3-a3 # 2...Rg6-g7 3.Qb3-a3 # 1...Rh7-h4 2.Ba7-d4 threat: 3.Rb7-a7 # 3.Qb3-a3 # 2...Bf2*d4 3.Qb3-a3 # 2...Bg2*c6 3.Qb3-a3 # 2...Rh4-h3 3.Rb7-a7 # 2...Rh4*d4 3.Rb7-a7 # 2...Rh4-h7 3.Bd4-c3 # 3.Qb3-a3 # 2...Rg6-g3 3.Rb7-a7 # 2...Rg6*c6 3.Qb3-a3 # 2...Rg6-g7 3.Qb3-a3 #" --- authors: - Вукчевић, Милан Радоје source: Chess Life & Review date: 1975 algebraic: white: [Kf1, Qd1, Rg4, Bd7, Bd6, Se6, Pg7, Pg2, Pe7, Pe5, Pe3, Pb2] black: [Kc4, Qf7, Bf4, Ba6, Sa1, Pg5, Pg3] stipulation: "#3" solution: | "1.Se6-d4 ! threat: 2.Qd1-e2 + 2...Kc4-d5 3.Bd7-c6 # 1...Kc4-d5 + 2.Sd4-b5 + 2...Kd5-c4 3.Sb5-a3 # 2...Kd5-e4 3.Qd1-d4 # 1...Bf4*e3 + 2.Sd4-f5 + 2...Be3-f4 3.Sf5-e3 # 2...Be3-d4 3.Rg4*d4 # 1...Bf4*e5 + 2.Sd4-f3 + 2...Be5-f4 3.Sf3-e5 # 2...Be5-d4 3.Rg4*d4 # 2...Qf7-f4 3.g7-g8=Q # 3.g7-g8=B # 1...Ba6-b5 2.Bd7*b5 + 2...Kc4-d5 3.Qd1-f3 # 1...Ba6-b7 2.Bd7-b5 + 2...Kc4-d5 3.Qd1-f3 # 1.Se6-c7 ! threat: 2.e7-e8=Q threat: 3.Qe8*f7 # 2...Ba6-b7 3.Bd7-b5 # 2...Qf7-d5 3.Qd1*d5 # 2...Qf7-e6 3.Qe8*e6 # 3.Bd7*e6 # 2...Qf7-h5 3.Qe8-e6 # 3.Bd7-e6 # 3.Qd1-d5 # 2...Qf7-g6 3.Qd1-d5 # 2...Qf7-g8 3.Qe8*g8 # 2...Qf7*e8 3.Qd1-d5 # 2...Qf7-f5 3.Qd1-d5 # 2...Qf7-f6 3.Qd1-d5 # 2...Qf7*d7 3.Qd1-d5 # 2...Qf7-e7 3.Qd1-d5 # 2...Qf7-f8 3.Qe8-e6 # 3.Bd7-e6 # 3.Qd1-d5 # 2...Qf7*g7 3.Qe8-e6 # 3.Bd7-e6 # 3.Qd1-d5 # 2.Bd7-a4 threat: 3.Qd1-e2 # 3.Qd1-d4 # 2...Sa1-c2 3.Qd1-e2 # 3.Qd1*c2 # 2...Sa1-b3 3.Ba4*b3 # 3.Qd1-e2 # 3.Qd1*b3 # 3.Qd1-c2 # 2...Qf7-d5 3.Qd1*d5 # 2...Qf7-g6 3.Qd1-d5 # 3.Qd1-d4 # 2...Qf7-f5 3.Qd1-d5 # 3.Qd1-d4 # 2.Bd7-f5 threat: 3.Bf5-d3 # 3.Qd1-a4 # 3.Qd1-d3 # 2...Sa1-c2 3.Qd1*c2 # 3.Qd1-d3 # 2...Sa1-b3 3.Qd1-d3 # 3.Bf5-d3 # 3.Qd1-e2 # 3.Qd1-c2 # 2...Ba6-b5 3.Bf5-d3 # 3.Qd1-d3 # 2...Qf7-d5 3.Qd1-a4 # 3.Qd1*d5 # 2...Qf7-g6 3.Qd1-a4 # 3.Qd1-d5 # 3.Qd1-d3 # 2...Qf7-e8 3.Bf5-d3 # 3.Bf5-e6 # 3.Qd1-d5 # 3.Qd1-d3 # 2...Qf7*f5 3.Qd1-d5 # 2.Kf1-e2 threat: 3.Qd1-a4 # 3.Qd1-d3 # 2...Sa1-c2 3.Qd1*c2 # 3.Qd1-d3 # 2...Sa1-b3 3.Qd1-d3 # 3.Qd1-c2 # 2...Ba6-b5 3.Bd7*b5 # 3.Qd1-d3 # 2...Qf7-d5 3.Qd1-a4 # 3.Qd1*d5 # 2...Qf7-g6 3.Qd1-a4 # 3.Qd1-d5 # 2...Qf7-f5 3.Qd1-a4 # 3.Qd1-d5 #" --- authors: - Вукчевић, Милан Радоје source: Chess Life & Review date: 1975 algebraic: white: [Kg8, Rg7, Ra8, Bh5, Sc3, Pf6, Pf4, Pc4, Pb5] black: [Kd8, Qc8, Rd3, Sh2, Pb7] stipulation: "#3" solution: | "1.f6-f7 ! threat: 2.f7-f8=Q # 2.f7-f8=R # 1...Rd3-d7 2.f7-f8=Q + 2...Kd8-c7 3.Sc3-d5 # 1...Rd3-e3 2.f7-f8=Q + 2...Re3-e8 3.Qf8*e8 # 2.f7-f8=R + 2...Re3-e8 3.Rf8*e8 # 1...Kd8-d7 + 2.f7-f8=S + 2...Kd7-d8 3.Sf8-e6 # 2...Kd7-d6 3.Sc3-e4 # 1...Kd8-e7 + 2.f7-f8=S + 2...Ke7-d8 3.Sf8-e6 # 2...Ke7-f6 3.Rg7-f7 # 2...Ke7-d6 3.Sc3-e4 # 1...Kd8-c7 + 2.f7-f8=Q + 2...Rd3-d7 3.Sc3-d5 # 2...Kc7-b6 3.Sc3-a4 # 2...Qc8-d7 3.Qf8-c5 #" --- authors: - Вукчевић, Милан Радоје source: Ohio Chess Bulletin date: 1980 algebraic: white: [Kb7, Qe1, Rb4, Bd5, Sf7, Sf6, Pb6, Pa3] black: [Kc5, Qd3, Ra5, Bg2, Be3, Pf4, Pe4, Pd4, Pc3, Pa6, Pa4] stipulation: "#3" solution: | "1.Qe1-f1 ! threat: 2.Rb4-c4 + 2...Qd3*c4 3.Qf1*c4 # 2...Kc5-b5 3.Sf7-d6 # 1...Bg2*f1 2.Bd5-e6 threat: 3.Sf6-d7 # 2...Qd3-b5 3.Sf6*e4 # 1...Qd3*f1 2.Bd5-c6 threat: 3.Sf6-d7 # 2...Bg2-h3 3.Sf6*e4 #" --- authors: - Вукчевић, Милан Радоје source: Československý šach date: 1956 algebraic: white: [Kb1, Qd3, Rh8, Sg7, Se8] black: [Kh6, Bh7, Pg6, Pg4, Pf6, Pf4, Pd4, Pc5] stipulation: "#3" solution: | "1.Qd3-a6 ! threat: 2.Qa6*f6 threat: 3.Qf6-h4 # 1...g6-g5 + 2.Qa6-d3 threat: 3.Rh8*h7 # 3.Qd3*h7 # 2...f6-f5 3.Qd3-a6 # 2.Kb1-c1 threat: 3.Qa6*f6 # 2.Kb1-b2 threat: 3.Qa6*f6 # 2.Kb1-a1 threat: 3.Qa6*f6 # 2.Kb1-a2 threat: 3.Qa6*f6 #" --- authors: - Вукчевић, Милан Радоје source: Neue Zürcher Zeitung date: 1980 algebraic: white: [Kg4, Rh4, Rc8, Bh6, Sf3, Se7, Ph3, Pc3, Pb4, Pb2, Pa2] black: [Kc4, Qa7, Rc5, Bd1, Bc7, Sb8, Sa6, Pd3, Pd2, Pb5] stipulation: "#3" solution: --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1970 distinction: HM algebraic: white: [Ka7, Qb6, Bf8, Be2, Sg7, Sd3] black: [Kd7, Rh5, Bh2, Bc8, Pg6, Pd6, Pb7, Pa6] stipulation: "#3" solution: | "1.Be2-d1 ! threat: 2.Sd3-e5 + 2...Bh2*e5 3.Bd1-a4 # 2...Rh5*e5 3.Qb6*d6 # 2...d6*e5 3.Qb6-d6 # 3.Bd1-a4 # 1...Bh2-g1 2.Sd3-c5 + 2...Bg1*c5 3.Bd1-a4 # 2...Rh5*c5 3.Qb6*d6 # 2...d6*c5 3.Qb6-d6 # 3.Bd1-a4 # 1...Rh5-h4 2.Sd3-f4 threat: 3.Qb6*d6 # 3.Bd1-a4 # 2...Bh2-g1 3.Bd1-a4 # 2...Bh2*f4 3.Bd1-a4 # 2...Rh4*f4 3.Qb6*d6 # 2...Rh4-h5 3.Qb6*d6 #" --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1982 algebraic: white: [Ka6, Ra5, Bf6, Bc4, Se5, Sc5, Pg6, Pg3, Pc6, Pc2] black: [Kh5, Qf3, Rh2, Rg1, Bh1, Sf8, Ph6, Pg4, Pf4, Pe4, Pe3, Pc7] stipulation: "#3" solution: | "1.Bc4-f7 ! threat: 2.g6-g7 + 2...Sf8-g6 3.Bf7*g6 # 2.Sc5-e6 threat: 3.Se6-g7 # 3.Se5-c4 # 3.Se5-d3 # 3.Se5*f3 # 3.Se5-d7 # 2...Rg1-a1 3.Se6-g7 # 2...Rg1-b1 3.Se6-g7 # 2...Rg1-d1 3.Se6-g7 # 3.Se5-d3 # 2...Rh2*c2 3.Se6-g7 # 3.Se5-c4 # 2...Rh2-d2 3.Se6-g7 # 3.Se5-d3 # 2...Qf3-d1 3.Se6*f4 # 3.Se6-g7 # 3.Se5-d3 # 2...Qf3-e2 + 3.Se5-d3 # 3.Se5-c4 # 2...Qf3-f1 + 3.Se5-c4 # 3.Se5-d3 # 2...f4*g3 3.Se6-g7 # 3.Se5*f3 # 2...Sf8-d7 3.g6-g7 # 3.Se6-g7 # 3.Se5*d7 # 2...Sf8*e6 3.g6-g7 # 2...Sf8-h7 3.g6-g7 # 3.g6*h7 # 3.Se6-g7 # 1...Rg1-a1 2.g6-g7 + 2...Sf8-g6 3.Bf7*g6 # 1...Rg1-b1 2.g6-g7 + 2...Sf8-g6 3.Bf7*g6 # 1...Qf3-e2 + 2.Se5-d3 threat: 3.Sc5-a4 # 3.Sc5-b3 # 3.Sc5*e4 # 3.Sc5-e6 # 3.Sc5-d7 # 3.Sc5-b7 # 2...Rg1-a1 3.Sc5-a4 # 2...Rg1-b1 3.Sc5-b3 # 2...Qe2*d3 + 3.Sc5*d3 # 2...Qe2-e1 3.Sd3*f4 # 2...Qe2*c2 3.Sd3*f4 # 2...Qe2-d2 3.Sd3*f4 # 2...e4*d3 3.Sc5-e4 # 2...Sf8-d7 3.g6-g7 # 3.Sc5*d7 # 2...Sf8-e6 3.g6-g7 # 3.Sc5*e6 # 2...Sf8-h7 3.g6-g7 # 3.g6*h7 # 1...Qf3-f1 + 2.Sc5-d3 threat: 3.Se5-c4 # 3.Se5-f3 # 3.Se5-d7 # 2...Qf1*d3 + 3.Se5*d3 # 2...Qf1-a1 3.Sd3*f4 # 2...Qf1-b1 3.Sd3*f4 # 2...Qf1-e1 3.Sd3*f4 # 2...Rh2*c2 3.Se5-c4 # 2...e4*d3 3.Se5-f3 # 2...f4*g3 3.Se5-f3 # 2...Sf8-d7 3.g6-g7 # 3.Se5*d7 # 2...Sf8-e6 3.g6-g7 # 2...Sf8-h7 3.g6-g7 # 3.g6*h7 # 1...f4*g3 2.g6-g7 + 2...Sf8-g6 3.Bf7*g6 #" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1971 distinction: HM algebraic: white: [Ka2, Qb3, Rc7, Bf8, Ba6, Se8, Sb2, Pe3, Pd6, Pc6, Pa3] black: [Kc5, Qg4, Rd5, Rd3, Bh3, Bh2, Sg5, Sa7, Ph4, Pc3, Pb5] stipulation: "#3" solution: --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1970 algebraic: white: [Kc7, Qe7, Rf1, Ra4, Bc8, Bb8, Sc3, Sb6] black: [Kf4, Rd4, Rb2, Bf3, Ba5, Sh7, Sb4, Pg4, Pg3, Pe3, Pd3, Pd2, Pc5, Pb7, Pa6] stipulation: "#3" solution: | "1.Qe7-g7 ! threat: 2.Qg7*g4 + 2...Kf4-e5 3.Qg4-f5 # 1...Sb4-d5 + 2.Kc7-d8 + 2...Sd5-c7 + 3.Sb6-d5 # 2.Sc3*d5 + 2...Kf4-e4 3.Qg7-e7 # 1...Rd4-d7 + 2.Kc7*d7 + 2...Kf4-f5 3.Kd7-e7 # 3.Kd7-d8 # 3.Kd7-e8 # 1...Rd4-d6 2.Kc7*d6 threat: 3.Qg7-e5 # 3.Qg7*g4 # 3.Kd6-e6 # 3.Kd6-e7 # 3.Kd6*c5 # 3.Sb6-d5 # 2...e3-e2 3.Qg7-e5 # 3.Sb6-d5 # 2...g3-g2 3.Qg7-e5 # 3.Qg7*g4 # 3.Kd6-e6 # 3.Kd6-e7 # 3.Kd6*c5 # 2...Ba5*b6 3.Qg7-e5 # 3.Qg7*g4 # 2...c5-c4 3.Qg7-e5 # 3.Qg7*g4 # 3.Kd6-e6 # 3.Kd6-e7 # 3.Kd6-c5 # 2...Sh7-f6 3.Qg7*f6 # 3.Qg7-h6 # 3.Kd6-e6 # 3.Kd6-e7 # 3.Kd6*c5 # 2...Sh7-g5 3.Kd6*c5 # 3.Qg7-e5 # 3.Qg7-f6 # 3.Kd6-e7 # 3.Sb6-d5 # 2...Sh7-f8 3.Sb6-d5 # 3.Qg7-e5 # 3.Qg7-f6 # 3.Qg7-h6 # 3.Qg7*g4 # 3.Kd6-e7 # 3.Kd6*c5 # 1...Rd4-d5 2.Kc7*b7 + 2...Rd5-d6 + 3.Sb6-d5 # 2...Rd5-e5 + 3.Sb6-d5 # 1...Rd4-e4 2.Qg7-h6 + 2...Kf4-e5 3.Qh6-d6 # 2...Sh7-g5 3.Qh6-f6 # 2.Kc7*b7 + 2...Re4-e5 + 3.Sb6-d5 # 2.Kc7-d8 + 2...Re4-e5 3.Bb8*e5 # 3.Qg7*e5 # 3.Qg7*g4 # 1...Ba5*b6 + 2.Kc7*b6 + 2...Rd4-d6 + 3.Bb8*d6 #" --- authors: - Вукчевић, Милан Радоје source: problem (Zagreb) date: 1962 algebraic: white: [Kh8, Be1, Ph6] black: [Kh2, Ph3, Pe2] stipulation: + solution: | 1. h7 $1 {Banny} (1. Kg8 $2 Kg2 $1 $11) (1. Kg7 $2 Kg1 $1 $11) 1... Kg2 (1... Kg1 2. Kg8 $1 h2 3. h8=Q h1=Q 4. Qd4+ $18) 2. Kg7 $1 h2 3. h8=Q h1=Q 4. Qa8+ Kg1 5. Qa7+ 1-0 --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 1998 algebraic: white: [Ka2, Rh4, Rc8, Bd7, Se5, Ph6, Ph3, Pg5, Pe3, Pd4] black: [Kh7, Rf1, Rb7, Bd2, Bc6, Sc7, Sb2, Pg7, Pg6, Pg2, Pd3, Pc5, Pc4, Pa4] stipulation: "=" solution: | "1. Rh8+ (1. hxg7+ $2 Kxg7 2. Rch8 (2. Rhh8 Bd5 $1) 2... Ra1+ $1 3. Kxa1 g1=Q+ 4. Ka2 Qb1+ $1 5. Kxb1 Nd1+ 6. Ka1 (6. Ka2 Nc3+) 6... Bc3+ 7. Ka2 Rb2+ 8. Ka1 ( 8. Ka3 Bb4#) 8... Rb8+ 9. Ka2 Rxh8 10. Rxh8 Kxh8 11. Bxc6 Nxe3) (1. Nf7 $2 gxh6 $1 (1... Rxf7 $2 2. hxg7+ Kxg7 3. Rch8) 2. Rxh6+ (2. Nxh6 Be1 $1) (2. gxh6 Rxf7 $1) 2... Kg7 3. Rch8 (3. Rhh8 g1=Q) 3... Ra1+ $1 4. Kxa1 g1=Q+ 5. Ka2 Qb1+ $1 6. Kxb1 Nd1+ 7. Ka1 Bc3+ 8. Ka2 Rb2+ 9. Ka3 Rb8 10. Ka2 Rxh8 11. Nxh8 Bxd7) 1... Kxh8 2. h7 Ra1+ 3. Kxa1 g1=Q+ 4. Ka2 Qb1+ 5. Kxb1 Nd1+ 6. Ka1 (6. Ka2 Nc3+ ) 6... Bc3+ 7. Ka2 Rb2+ 8. Ka1 (8. Ka3 Bb4#) 8... Rf2+ 9. Kb1 Be4 10. Bf5 $1 { Nowotny} Rb2+ 11. Ka1 Rb6+ 12. Ka2 Bd5 13. Be6 $1 {Nowotny} Rb2+ 14. Ka1 Rf2+ 15. Kb1 Be4 16. Bf5 {positional draw - perpetual Nowotny} 1/2-1/2" --- authors: - Вукчевић, Милан Радоје source: Sah date: 1951 algebraic: white: [Kb3, Rb8, Ba6] black: [Ka1, Se1, Pe2, Pb2] stipulation: "=" solution: | 1. Bd3 (1. Kc3 $2 Nd3 $19) (1. Ka4 $2 Nd3 2. Bxd3 e1=Q 3. Rb3 {= Wissmann} 3... Qd1 $19 (3... Qe8+ $19) (3... Qh4+ $19)) 1... Nxd3 (1... b1=Q+ 2. Bxb1 Kxb1 3. Re8 $11) 2. Kc2 {dreigt 3.Ta8 mat} 2... Nc1 (2... e1=N+ 3. Kd2 b1=Q 4. Rxb1+ Kxb1 $11) (2... Ne1+ 3. Kd2 $11) 3. Rxb2 e1=Q 4. Rb1+ Ka2 5. Ra1+ Kxa1 {pat} 1/2-1/2 comments: - Anticipated 37374 --- authors: - Вукчевић, Милан Радоје source: QCT Arnhem date: 1981 distinction: 1st Honorable Mention algebraic: white: [Ka3, Qb5, Bc5, Bb1, Se6, Sc4, Pg5, Pd2] black: [Kd5, Rg8, Re2, Bd8, Sb8, Pf3, Pe5, Pe3] stipulation: "#2" solution: | "1...e4 2.Nf4# 1...Be7/Bf6/Bxg5/Bc7 2.Nc7# 1.Qb3?? (2.Na5#) 1...Kxe6 2.Nb6# 1...Kc6 2.Nxe5# but 1...e4! 1.Qd7+?? 1...Kxc4 2.Bd3#/Ba2#/Qd3# but 1...Nxd7! 1.Nxe3+?? 1...Kxe6 2.Ba2# but 1...Rxe3+! 1.Nb6+?? 1...Kxe6 2.Qb3#/Qc4# but 1...Bxb6! 1.Ba2! (2.Nd6#) 1...Kxe6 2.Nxe3# 1...Rxd2 2.Nxd2# 1...e4 2.Nf4#" keywords: - Flight giving key --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1981 distinction: 2nd Honorable Mention algebraic: white: [Ka8, Qf1, Re6, Rc5, Bd6, Sf8, Se5, Ph4, Ph3, Pg5, Pf5] black: [Ke4, Qg8, Rh6, Rb6, Bh2, Bh1, Sb8, Pg3, Pe3, Pd4, Pa6] stipulation: "#2" solution: | "1...Qg6/Qxg5/Qxf8/Qh7 2.Nexg6# 1...g2/Bf3 2.Qf3# 1...Rh5/Rxh4/Rh7/Rh8 2.Nf7# 1.Qd1?? (2.Qg4#) 1...Kf4+ 2.Nc6# 1...Kxf5+ 2.Nf3# 1...Qxg5 2.Neg6# 1...Bf3/g2 2.Qxf3# 1...Rxh4 2.Nf7# but 1...e2! 1.Qxh1+?? 1...Kf4 2.Qf3#/Neg6#/Nd3#/Nc6# 1...Kxf5 2.Qf3#/Nf3#/Nf7#/Ng4#/Neg6#/Nd3#/Ned7#/Nc4#/Nc6# but 1...g2! 1.Qg2+?? 1...Kf4 2.Neg6#/Nd3#/Nc6# 1...Kxf5 2.Nf3#/Nf7#/Ng4#/Neg6#/Nd3#/Ned7#/Nc4#/Nc6# but 1...Bxg2! 1.Qe2! (2.Qg4#) 1...Kf4+ 2.Nc6# 1...Kxf5+ 2.Nf3# 1...Qxg5 2.Neg6# 1...g2/Bf3 2.Qf3# 1...Rxh4 2.Nf7#" keywords: - 2 flights giving key --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1971 distinction: 3rd Prize algebraic: white: [Ka4, Qe8, Bc7, Sb6, Sb4, Pc3, Pa6] black: [Kc5, Rh3, Rg7, Bg8, Bf2, Sg1, Sa1, Pd3, Pc6, Pa7, Nh8, Ng6, Ng4, Nf7, Nf3] stipulation: "#3" solution: | "1.Qe8-e6 ! threat: 2.Qe6-d6 + 2...Nf7*d6 3.Sb4*d3 # 1...Bf2-g3 2.Qe6-f5 + 2...Nf3-e5 3.Sb4*d3 # 2...Bg3-e5 3.Sb4*d3 # 2...Ng4-e5 3.Sb4*d3 # 2...Ng6-e5 3.Sb4*d3 # 2...Nf7-e5 3.Sb4*d3 # 1...Nf3-e5 2.Qe6-c4 + 2...Ne5*c4 3.Sb6-d7 # 1...Ng4-e5 2.Sb6-d7 + 2...Ne5*d7 3.Qe6*c6 # 1...Ng6-e5 2.Sb4*d3 + 2...Ne5*d3 3.Qe6-c4 # 1...a7*b6 2.Bc7-d6 + 2...Nf7*d6 3.Sb4*d3 # 1...Nf7-e5 2.Qe6*c6 + 2...Ne5*c6 3.Sb4*d3 #" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1986 distinction: 1st Prize algebraic: white: [Kb3, Ra3, Bf5, Pb2, Pa2, Gd5, Nb6, Ga5] black: [Ka1, Gg5, Gf3, Gd1] stipulation: "#2" solution: | "1.Nb6-d7 ! zugzwang. 1...Gd1-a4 2.Kb3-c2 # 1...Gd1-g4 2.Kb3-c2 # 1...Gd1-d6 2.Kb3-c2 # 1...Gf3-c6 2.Kb3-c3 # 1...Gf3*a3 2.Kb3-c3 # 2.Kb3*a3 # 1...Gf3-f6 2.Kb3-c3 # 1...Gg5-e5 2.Ga5*e5 #" --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1993 distinction: 2nd Prize algebraic: white: [Kd5, Qd1, Rc2, Ra2, Bg8, Sg1, Se4, Pe7, Pe5] black: [Kb3, Rh4, Ra6, Bh3, Ba5, Ph6, Ph5, Pg4, Pg2, Pb6, Pb4, Pa7] stipulation: "s#5" solution: | "1.Kd5-e6 ! zugzwang. 1...b6-b5 + 2.Ke6-f5 + 2...Ra6-e6 3.Rc2-b2 + 3...Kb3-c4 4.Qd1-b3 + 4...Kc4-d4 5.Sg1-f3 + 5...g4*f3 # 1...g4-g3 + 2.Ke6-d6 + 2...Bh3-e6 3.Rc2-d2 + 3...Kb3-c4 4.Qd1-c2 + 4...Kc4-b5 5.Qc2-c5 + 5...b6*c5 #" --- authors: - Вукчевић, Милан Радоје source: The Problemist date: 1981 algebraic: white: [Ka8, Qc6, Ra6, Pd6, Pc2, Pa7, Ge8, Ge1] black: [Ka4, Qf4, Rh5, Rb1, Bf1, Bb4, Sa5, Pf7, Pf3, Pe4, Pc3, Pa3, Gg4, Gg1, Gb5] stipulation: "#3" solution: | "1.Ka8-b8 ! threat: 2.Ra6*a5 + 2...Ka4*a5 3.a7-a8=Q # 3.a7-a8=R # 2...Bb4*a5 3.Qc6*e4 # 3.Qc6-a8 # 3.Qc6*c3 # 3.Qc6-c4 # 3.Qc6-a6 # 3.Qc6-c8 # 3.Qc6-c7 # 1...Gg1-g5 2.Qc6-c4 + 2...Gb5-b3 3.Qc4*b4 # 2...Gb5-d3 3.Qc4-c6 # 1...Qf4-e3 2.Qc6*e4 + 2...Gb5-b3 3.Qe4*b4 # 1...Qf4*d6 + 2.Qc6*d6 + 2...Gb5-b3 3.Qd6*b4 # 1...Gg4-e2 2.Qc6-c5 + 2...Gb5-b3 3.Qc5*b4 # 2...Gb5-d5 3.Qc5-c6 #" --- authors: - Вукчевић, Милан Радоје source: 5th WCCT date: 1995-03-01 distinction: 20th Place, 1993-1996 algebraic: white: [Kg3, Qc7, Rd2, Ra5, Bc1, Sg8, Sa6, Pg6, Pd4, Pc6, Pb7] black: [Ke3, Qb8, Rh8, Rg5, Bf8, Bb3, Ph3, Pg4, Pf6, Pe4, Pd6, Pb4, Pa7, Pa3] stipulation: "#7" solution: | "1.Rd5! - 2.Rc2+ Kd3 3.S:b4# 1...B:d5 2. S:b4! [2. Sc2#] 2... Bb3 3. Sd5+! 3... R:d5 4. Sg:f6 [5. S:g4#] 4... Rg5 5. Sd5+! 5... R:d5 6. Qf7 [7. Qf4, Qf2#] 6... Rf5 7. Q:b3# 5... B:d5 6. Qa5 [7. Qc3#] 6... Bc4 7. Q:g5# 1...R:d5 2. S:f6! [3. S:g4#] 2... Rg5 3. Sd5+! 3... B:d5 4. Sa:b4 [5. Sc2#] 4... Bb3 5. Sd5+! 5... R:d5 6. Qf7 [7. Qf4, Qf2#] 6... Rf5 7. Q:b3# 5... B:d5 6. Qa5 [7. Qc3#] 6... Bc4 7. Q:g5#" keywords: - Novotny - Umnov --- authors: - Вукчевић, Милан Радоје source: algebraic: white: [Kc7, Qh7, Bd5, Sd8] black: [Ka8, Ba6, Sc8, Pb7] stipulation: "#3" solution: | "1.Kc7*c8 ! zugzwang. 1...Ba6-b5 2.Qh7*b7 # 1...Ba6-f1 2.Qh7*b7 # 1...Ba6-e2 2.Qh7*b7 # 1...Ba6-d3 2.Qh7*b7 # 1...Ba6-c4 2.Qh7*b7 # 1...Ka8-a7 2.Qh7-c7 zugzwang. 2...Ba6-f1 3.Qc7*b7 # 2...Ba6-e2 3.Qc7*b7 # 2...Ba6-d3 3.Qc7*b7 # 2...Ba6-c4 3.Qc7*b7 # 2...Ba6-b5 3.Qc7*b7 # 2...Ka7-a8 3.Qc7-b8 #" --- authors: - Вукчевић, Милан Радоје source: algebraic: white: [Ke1, Qb8, Rd7, Rc4, Bc6, Sh4, Sd3, Pf4, Pd6, Pd5, Pd4, Pc2, Pb7] black: [Ke4, Rh7, Re5, Bh8, Bg8, Se6, Ph5, Pf7, Pf5, Pe3, Pe2] stipulation: "#3" solution: | "1.Rd7-e7 ! threat: 2.Re7*e6 threat: 3.d4*e5 # 2...Re5*e6 3.d5*e6 # 1...Re5*d5 2.d6-d7 threat: 3.Sd3-c5 # 2...Bh8-e5 3.Qb8*e5 # 1...Se6*d4 2.Qb8-c8 threat: 3.Qc8*f5 # 2...Re5-e6 3.d5*e6 # 1...Rh7-g7 2.d5*e6 + 2...Re5-d5 3.e6*f7 # 1...Bh8-f6 2.d4*e5 + 2...Se6-d4 3.e5*f6 #" --- authors: - Вукчевић, Милан Радоје source: algebraic: white: [Ka4, Bg6, Be5, Sh2, Sc7, Pd6, Pd4, Pc2] black: [Kc4, Rh3, Rf2, Bh1, Ph5, Pg4, Pf4, Pd7, Pc6, Pc3] stipulation: "#4" solution: | "1.Sc7-a8 ! threat: 2.Sa8-b6 # 1...Kc4-d5 2.Sh2-f3 threat: 3.Sa8-b6 + 3...Kd5-e6 4.Sf3-g5 # 3.Sa8-c7 + 3...Kd5-c4 4.Bg6-d3 # 4.Bg6-f7 # 2...Bh1*f3 3.Sa8-c7 + 3...Kd5-c4 4.Bg6-d3 # 2...Rf2*c2 3.Sa8-b6 + 3...Kd5-e6 4.Sf3-g5 # 2...Rf2*f3 3.Sa8-c7 + 3...Kd5-c4 4.Bg6-f7 # 2...Rh3*f3 3.Sa8-c7 + 3...Kd5-c4 4.Bg6-f7 # 2...g4*f3 3.Sa8-c7 + 3...Kd5-c4 4.Bg6-d3 # 4.Bg6-f7 # 2...c6-c5 3.Ka4-b5 threat: 4.Sa8-c7 #" --- authors: - Вукчевић, Милан Радоје source: algebraic: white: [Kg8, Qh3, Re2, Bg7, Bg4, Pg3, Pg2, Pd3] black: [Kf1, Rh1, Ra5, Ph2, Pg6, Pg5, Pd6, Pc5, Pa7, Pa2] stipulation: "#4" solution: | "1.Qh3-h8 ! threat: 2.Bg7-a1 threat: 3.Qh8-b2 threat: 4.Qb2-c1 # 3.Qh8-c3 threat: 4.Qc3-e1 # 4.Qc3-c1 # 3.Qh8-f6 + 3...Kf1-g1 4.Qf6-f2 # 2...Ra5-a3 3.Qh8-f6 + 3...Kf1-g1 4.Qf6-f2 # 2...Ra5-a4 3.Qh8-c3 threat: 4.Qc3-e1 # 4.Qc3-c1 # 3...Ra4*g4 4.Qc3-e1 # 3...Ra4-c4 4.Qc3-e1 # 2...Ra5-b5 3.Qh8-f6 + 3...Kf1-g1 4.Qf6-f2 # 2...c5-c4 3.Qh8-b2 threat: 4.Qb2-c1 # 3.Qh8-c3 threat: 4.Qc3-e1 # 4.Qc3-c1 # 1...Kf1-g1 2.Bg7-d4 + 2...Kg1-f1 3.Qh8-f6 # 2...c5*d4 3.Qh8*d4 + 3...Kg1-f1 4.Qd4-a1 # 4.Qd4-f2 # 1...Ra5-a3 2.Bg7-d4 threat: 3.Qh8-f6 # 2...Ra3*d3 3.Qh8-f6 + 3...Rd3-f3 4.Qf6*f3 # 2...c5*d4 3.Qh8-f6 + 3...Kf1-g1 4.Qf6-f2 # 3.Qh8*d4 threat: 4.Qd4-a1 # 4.Qd4-f2 # 3...a2-a1=Q 4.Qd4-f2 # 3...a2-a1=S 4.Qd4-f2 # 3...a2-a1=R 4.Qd4-f2 # 3...a2-a1=B 4.Qd4-f2 # 3...Ra3*d3 4.Qd4-f2 # 3...Ra3-c3 4.Qd4-f2 # 3...Ra3-b3 4.Qd4-f2 # 1...Ra5-a4 2.Bg7-d4 threat: 3.Qh8-f6 # 2...Ra4*d4 3.Qh8-f6 + 3...Kf1-g1 4.Qf6-f2 # 3...Rd4-f4 4.Qf6-a1 # 2...c5*d4 3.Qh8-f6 + 3...Kf1-g1 4.Qf6-f2 # 1...Ra5-b5 2.Bg7-f8 threat: 3.Qh8-f6 + 3...Kf1-g1 4.Qf6-f2 # 2...a2-a1=Q 3.Qh8*a1 + 3...Rb5-b1 4.Qa1*b1 # 2...a2-a1=B 3.Qh8*a1 + 3...Rb5-b1 4.Qa1*b1 # 1...c5-c4 2.Bg7-e5 threat: 3.Qh8-f6 + 3...Kf1-g1 4.Qf6-f2 # 4.Be5-d4 #" --- authors: - Вукчевић, Милан Радоје source: algebraic: white: [Kg3, Qb1, Rh8, Bf7, Bb2, Sc5, Ph4, Pg6, Pg4, Pe4] black: [Kg7, Qb5, Rd4, Rc6, Bh3, Ba1, Sc2, Sa7, Pf6, Pe7, Pe3, Pc7] stipulation: "#7" solution: --- authors: - Вукчевић, Милан Радоје source: algebraic: white: [Kg8, Rf6, Re4, Bh4, Bg2, Sf4, Pg6, Pg3] black: [Kg4, Qd1, Rb5, Ra3, Bh2, Bc8, Se5, Se3, Ph3, Pg7, Pd6, Pd4, Pc2] stipulation: "#9" solution: --- authors: - Вукчевић, Милан Радоје source: Mat Plus algebraic: white: [Kf1, Qd8, Rf5, Bh7, Bd4, Sb4, Pf2, Pd7, Pd6, Pc3, Pb3, Pa7, Pa5] black: [Kb5, Rb1, Bc1, Pg7, Pf3, Pc6, Pc5, Pb2] stipulation: "s#6" solution: | "1.a5-a6 ! threat: 2.Qd8-b6 + 2...Kb5*b6 3.Bd4*c5 + 3...Kb6-b5 4.Bc5-e3 + 4...c6-c5 5.Rf5*c5 + 5...Kb5-b6 6.Rc5-f5 + 6...Bc1*e3 # 3...Kb6-a5 4.Bc5-e3 + 4...c6-c5 5.Rf5*c5 + 5...Ka5-b6 6.Rc5-f5 + 6...Bc1*e3 # 1...g7-g6 2.Qd8-a5 + 2...Kb5*a5 3.Rf5*c5 + 3...Ka5-b6 4.Rc5-g5 + 4...c6-c5 5.Bd4*c5 + 5...Kb6-b5 6.Bc5-d4 + 6...Bc1*g5 # 5...Kb6-a5 6.Bc5-d4 + 6...Bc1*g5 #" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1971 distinction: 1st Prize algebraic: white: [Kb7, Rh1, Bh8, Bc2, Sf2, Sc1, Pg2, Pe4, Pc4, Pb6, Pa3] black: [Ka5, Qf1, Re3, Rd2, Bd1, Bb8, Se1, Pf4, Pe2, Pd5, Pc3, Pb3, Pa6, Pa4] stipulation: "#8" solution: | 1.Bd3! Rd:d3 2.Rh5 Be5! 3.B:e5! Rd2 4.Ncd3! Re:d3! 5.Bf6 Re3 6.Nd3! and etc; 1...Re:d3 2.Rh5 Be5! 3.R:e5! Re3 4.Ncd3! Rd:d3 5.Rf5 Rd2 6.Nd3! and etc. --- authors: - Вукчевић, Милан Радоје source: algebraic: white: [Kh3, Qb2, Re6, Bf7, Be3, Sa3, Pg6, Pe7, Pc6, Pb6] black: [Kd5, Qb8, Rd1, Ra5, Bh2, Ba2, Sg3, Sc1, Ph5, Pf3, Pb7] stipulation: "#2" solution: | "1...Qa8[a]/Qc8/Qe8/Qf8/Qg8/Qe5[b]/Qa7[a] 2.Qe5#[A] 1...Ne4[c] 2.Rf6#[B] 1...Rd4/Re1/Rf1/Rg1/Rh1 2.Qxd4# 1...Qd8 2.exd8Q#/exd8R#/Qe5#[A] 1...Ra4/Rxa3/Ra6/Ra7/Ra8/Rb5 2.Qb5# 1...Nd3 2.Qxa2#/Qd4# 1...Nce2 2.Qxa2# 1.e8Q? (2.Rf6#[B]) 1...Qc8/Qxe8/Qe5[b] 2.Qe5#[A] 1...Qd6[d] 2.Re5#[C] 1...Rd4 2.Qxd4# but 1...Qc7! 1.Qxa2+?? 1...Nb3 2.Qxb3# but 1...Nxa2! 1.Qd2+?? 1...Nd3 2.Qxa2# but 1...Rxd2! 1.Qc3? (2.Qxa5#) 1...Qa8[a]/Qe5[b]/Qa7[a] 2.Qe5#[A] 1...Ne4[c] 2.Rf6#[B] 1...Qd6[d] 2.Re5#[C] 1...bxc6[e] 2.Qxc6#[D] 1...Ra4/Rxa3/Ra6/Ra7/Ra8/Rc5 2.Qc5# 1...Bc4/Nb3 2.Qxc4# 1...Nd3 2.Qd4# but 1...Rb5! 1.Qf6?? (2.Re5#[C]) 1...Qc8 2.Qe5#[A] but 1...Qd6[d]! 1.Qb4! (2.Qxa5#) 1...Qa8[a]/Qd6[d]/Qa7[a] 2.Qd6#[E] 1...Qe5[b] 2.Rd6#[F] 1...Ne4[c] 2.Qxe4#[G] 1...bxc6[e] 2.Re4#[H] 1...Ra4/Rxa3/Ra6/Ra7/Ra8 2.Qb5#/Qc5# 1...Rb5 2.Qxb5# 1...Rc5 2.Qxc5# 1...Bc4/Nb3 2.Qxc4# 1...Nd3 2.Qd4#" keywords: - Changed mates --- authors: - Вукчевић, Милан Радоје source: US Problem Bulletin date: 1995 algebraic: white: [Ka4, Qc5, Re2, Rc2, Bg1, Bb5, Sf3, Se6, Pe4, Pd4, Pc4] black: [Kd3, Qf8, Rd1, Rc8, Bb8, Sh7, Sg6, Ph6, Ph2, Pb4, Pa3] stipulation: "#2" solution: | "1. Qc6?? ~ 2. c5# 1... Qc5 2. S:c5# 1... Rd2 2. Re:d2# 1... Se5! 1. Qc7?? ~ 2. c5# 1... Qe8, Qc5 2. S(:)c5# 1... Se5 2. S:e5# 1... Rd2! 1. Qd5?? ~ 2. c5# 1... Rc5, Qc5 2. d:c5# 1... R:c4 2. B:c4, Q:c4# 1... Se5 2. d:e5# 1... Rd2 2. Re:d2# 1... Qe8! 1. Qf5?? ~ 2. c5# 1... R:c4 2. B:c4# 1... Qe8, Qc5 2. e5# 1... Se5 2. Sf4# 1... Rd2 2. Re:d2# 1... Rc5! 1. Q:f8?? ~ 2. c5# 1... Rc5 2. S:c5# 1... R:c4 2. Sc5, B:c4# 1... Se5 2. Sf4# 1... Rd2! 1. Qg5! ~ 2. Qe3, c5# 1... Bf4, Qf4, Q:f3, S:g5, Sf4, h:g5, h:g1Q/B 2. c5# 1... Rc5, Qe8, Qc5, Se5 2. Qe3# 1... R:c4 2. B:c4, Qe3# 1... Rd2 2. Q:d2#" comments: - version of Viktor Volchek 2013-11-03 --- authors: - Вукчевић, Милан Радоје source: TT, Feenschach date: 1953 distinction: Special Comm., ex aequo algebraic: white: [Kc2, Sd1] black: [Ka6, Pd2, Pb2] stipulation: "h#5" solution: | "1.b2-b1=R Sd1-b2 2.d2-d1=R Kc2-b3 3.Rd1-d7 Kb3-a4 4.Rd7-a7 Sb2-d3 5.Rb1-b6 Sd3-c5 #" keywords: - Promotion - Umnov - Ideal mate --- authors: - Вукчевић, Милан Радоје source: StrateGems date: 1998 distinction: 1st Prize algebraic: white: [Kc2, Qd3, Rh2, Ra1, Bb1, Pg2, Pf2, Pe3, Pd2, Pb2, Pa2] black: [Kg1, Qh8, Bg8, Sf8, Pg7, Pg4, Pe6] stipulation: "#3" solution: | "1. Qh7!! [2. Rh1+ 2... K:g2 3. Qe4#] 1... B:h7+ 2. Kb3! 2... Kf1 3. Bd3# 2... Bc2+ 3. B:c2# 2... B:b1 3. R:b1# 1... Q:h7+ 2. Kc3! 2... Q:h2 3. Be4# 2... Qd3+ 3. Bd3# 2... Qc2+ 3. B:c2# 2... Q:b1 3. R:b1# 1... S:h7 2. Kd3! [3. Bc2#] 2... Kf1 3. Bc2# 1... Kf1 2. Rh1+ 2... Ke2 3. Qd3# 2... K:g2 3. Qe4#" keywords: - Provoked check - Defences on same square - Active sacrifice - Battery play --- authors: - Вукчевић, Милан Радоје source: Rose d'Or date: 1973 distinction: 6th Place algebraic: white: [Kb4, Qd4, Rg4, Rd7, Pf2, Pd2, Pb6, Gh4, Gb8, Ga1] black: [Kf6, Re6, Pg7, Pg2, Pf5, Pa4, Pa3, Gg1, Gf3, Ge5, Gc8, Gb7, Ga7, Ga2] stipulation: "#2" solution: | "1.Gd8! zz 1...Gc5 2.Qd5# 1...Gb5 2.Qc5# 1...Gc7 2.Qd6# 1...Ge3 2.Qe4# 1...Ge2 2.Qe3# 1...Gg3 2.Qf4#" keywords: - Meredith - Battery play --- authors: - Вукчевић, Милан Радоје source: Abdurahmanovic 60 JT date: 2000 distinction: 1st Prize algebraic: white: [Kh1, Rg8, Bh8] black: [Kf5, Qc8, Rb8, Ra2, Bc5, Ba4, Sh7, Sf8, Ph6, Ph5, Pf7, Pe7, Pe6, Pc3] stipulation: "h#3" intended-solutions: 2 solution: | "I) 1.Bc2 Rg7 2.Kf6 Kh2 3.Bf5+ Rg2# II) 1.Rf2 Bg7 2.Kg6 Kg1 3.Rf5+ Bd4#" --- authors: - Вукчевић, Милан Радоје source: U.S. Problem Bulletin date: 1984 distinction: 2nd Prize algebraic: white: [Kh4, Qd7, Rc6, Be4, Ba1, Sf5, Pg3, Pc2] black: [Kg6, Rh7, Bh5, Bd8, Sh8, Se6, Ph6, Pg7, Pg4, Pf7, Pf6, Pc7, Pc3] stipulation: "s#2" solution: | "1.Qd2! zz 1...Se~ 2.Qg5+ hxg5# 1...Sf4! 2.Sd6+ f5# 1...Be7 2.Se3+ f5# 1...cxd2 2.Sd4+ f5#" --- authors: - Вукчевић, Милан Радоје source: | Belgrade - Bucharest date: 1957 distinction: 4th Place algebraic: white: [Kh2, Rh1, Se7, Pe3, Pd6] black: [Kh8, Qc2, Ra6, Ra3, Bc8, Sf6, Sf5, Pg7, Pg5, Pf2] stipulation: "h#2" intended-solutions: 2.1.1.1 solution: | "1.Sf6-e4 d6-d7 2.Sf5-d6 {display-departure-file} Kh2-g2 # 1.Sf6-d7 e3-e4 2.Sf5-e3 Kh2-g3 #" keywords: - Bicolor bi-valve theme --- authors: - Вукчевић, Милан Радоје source: Wola Gułowska date: 1996 distinction: Comm. algebraic: white: [Kd5, Qg8, Rd7, Sg3, Sb6] black: - Kd3 - Qa6 - Rd2 - Rb5 - Bd1 - Ba3 - Sh8 - Sc5 - Pf7 - Pf6 - Pe3 - Pe2 - Pc3 - Pc2 - Pb7 - Pa5 stipulation: "s#2" solution: | "1. Qg5! [2. Qf5 ... Se4#] 1. ... Rb~ 2. Qxe3 ... Kxe3# 1. ... Rb4 2. Kxc5 ... Rd4# 1. ... fxg5 2. Ke5 ... Sxd7#" --- authors: - Вукчевић, Милан Радоје source: Schach-Echo date: 1979 distinction: 1st Prize algebraic: white: [Kf1, Qh7, Rd8, Bf2, Ba6, Sc3, Sb1, Ph6, Pf7, Pf3, Pd3, Pc7, Pb4] black: [Kc2, Rf5, Bd7] stipulation: "h#2" intended-solutions: 2 solution: | "1....Sb5 2.Kxd3 5Sa3# 1.Rb5 Se4 2.Kxd3 eSd2# 1.Bb5 Sd5 2.Kxd3 Se3#" --- authors: - Вукчевић, Милан Радоје source: Northwest Chess source-id: 35 date: 1973-05 algebraic: white: [Ke8, Rg4, Rf2, Bb2, Ba2, Sf4, Sf3, Pe4, Pc5] black: [Kf6, Qd4, Rh1, Sd8, Sc2, Ph7] stipulation: "#2" solution: | "1.Sf3-e5 ! threat: 2.Se5-d7 # 1...Qd4*e5 + 2.Sf4-e6 # 1...Qd4*e4 2.Sf4-h5 # 1...Kf6*e5 2.Sf4-d3 #" --- authors: - Вукчевић, Милан Радоје source: Northwest Chess source-id: 47 date: 1973-06 algebraic: white: [Kh1, Qh6, Rg2, Bf2, Sh3, Sg1, Ph2, Pf5, Pe3, Pe2, Pd4, Pa2] black: [Kf1, Rd5, Ra3, Sa5, Pd6, Pc4] stipulation: "#3" solution: | "1.Rg2-g8 ! threat: 2.Qh6-g5 threat: 3.Qg5-g2 # 2.Qh6-g7 threat: 3.Qg7-g2 # 2.Qh6-g6 threat: 3.Qg6-g2 # 1...Ra3*e3 2.Qh6-g5 threat: 3.Qg5-g2 # 2...Re3-g3 3.Qg5-c1 # 1...Rd5*d4 2.Qh6-g7 threat: 3.Qg7-g2 # 2...Rd4-g4 3.Qg7-a1 # 1...Rd5*f5 2.Qh6-g6 threat: 3.Qg6-g2 # 2...Rf5*f2 3.Qg6-b1 # 2...Rf5-g5 3.Qg6-b1 #" --- authors: - Вукчевић, Милан Радоје source: Northwest Chess source-id: 67 date: 1973-09 algebraic: white: [Kd2, Qa8, Rg4, Bf2, Sf4, Se3, Pe5] black: [Kd4, Rh5, Rc6, Bh7, Sc1, Pf6, Pd7, Pd6, Pc2, Pb5, Pb3] stipulation: "#2" solution: | "1.Qa8-g8 ! threat: 2.Qg8-d5 # 1...Kd4-c5 2.Se3*c2 # 1...Rh5*e5 2.Sf4-e6 # 1...Rc6-c5 2.Sf4-g6 # 1...Bh7-e4 2.Se3-c4 # 1...Bh7*g8 2.Sf4-d3 #" --- authors: - Вукчевић, Милан Радоје source: 3°T.T. Feenschach source-id: 97/1141 date: 1952 distinction: 3rd HM algebraic: white: [Kc5, Re5, Bf1, Sg4] black: [Ke1, Pf3, Pf2, Pe2, Pd2] stipulation: "h#2" options: - SetPlay solution: | "1...Bf1*e2 2.f2-f1=R Be2*f3 # 1.d2-d1=R Sg4-e3 2.e2*f1=R Se3-c4 #" --- authors: - Вукчевић, Милан Радоје source: 3°T.T. Feenschach source-id: 97/1138 date: 1952 algebraic: white: [Kh1, Rc3, Pg2] black: [Ka1, Pg3, Pd2, Pb2] stipulation: "h#3" options: - SetPlay solution: | "1...Rc3*g3 2.d2-d1=R + Kh1-h2 3.Rd1-b1 Rg3-a3 # 1.d2-d1=S Rc3*g3 2.b2-b1=R Kh1-h2 3.Sd1-b2 Rg3-a3 #" --- authors: - Вукчевић, Милан Радоје source: 3°T.T. Feenschach source-id: 97/1154 date: 1952 algebraic: white: [Ke6, Rd6, Pc2] black: [Ke1, Bg1, Pf2, Pe2] stipulation: "h#3" options: - SetPlay solution: | "1...Ke6-d5 2.Ke1-d2 Kd5-e5 + 3.Kd2-e3 Rd6-d3 # 1.f2-f1=R Ke6-e5 2.Ke1-f2 Ke5-f4 3.e2-e1=S Rd6-d2 #" --- authors: - Вукчевић, Милан Радоје source: 3°T.T. Feenschach source-id: 97/1164 date: 1952 algebraic: white: [Kd8, Sh1, Sb5] black: [Ke1, Ph2, Pd2] stipulation: "h#3" options: - SetPlay solution: | "1...Sh1-f2 2.h2-h1=R Sb5-c3 3.Rh1-f1 Sf2-d3 # 1.d2-d1=S Sh1-g3 2.h2-h1=S Sb5-d4 3.Sh1-f2 Sd4-f3 #" --- authors: - Вукчевић, Милан Радоје - Vuković, Miodrag source: Problem date: 1956 algebraic: white: [Kh2, Rh3, Pc2] black: [Kb7, Rb1, Bb6] stipulation: "h#3" solution: "1.Rb1-b5 Rh3-b3 2.Kb7-a6 c2-c3 3.Ka6-a5 Rb3-a3 #" --- authors: - Вукчевић, Милан Радоје source: | Bucarest - Belgrad date: 1957 distinction: 1st Place algebraic: white: [Kc3, Sb2, Pg4, Pe6, Pe2, Pc6] black: [Ka3, Qg8, Rh4, Rc7, Bh8, Bf1, Se5, Sd7, Pf3, Pe3, Pc4, Pb7, Pa4, Pa2] stipulation: "h#2" intended-solutions: 1.4.1.1 solution: | "1.Sd7-f6 e2*f3 2.Se5-d3 Sb2*c4 # 1.Sd7-f6 g4-g5 2.Se5-g4 Sb2*c4 # 1.Sd7-f6 c6*b7 2.Se5-c6 Sb2*c4 # 1.Sd7-f6 e6-e7 2.Se5-f7 Sb2*c4 #" --- authors: - Вукчевић, Милан Радоје source: National Tourney Yougoslavie date: 1957 distinction: 3rd Comm. algebraic: white: [Kb3, Sf5, Sd4] black: [Kg8, Sh8, Sf6] stipulation: "h#2" solution: "1.Kg8-h7 Sd4-e6 2.Sf6-g8 Se6-f8 #" pychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-piece-checkmates-i_by_arex_2017.01.25.pgn0000644000175000017500000000551413365545272032232 0ustar varunvarun[Event "Lichess Practice: Piece Checkmates I: Queen and rook mate"] [Site "https://lichess.org/study/BJy6fEDf"] [UTCDate "2017.02.18"] [UTCTime "12:42:39"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/3k4/8/8/4K3/8/Q6R w - - 0 1"] [SetUp "1"] { Use your queen and rook to restrict the king and deliver checkmate. Mate in 3 if played perfectly. } * [Event "Lichess Practice: Piece Checkmates I: Two rook mate"] [Site "https://lichess.org/study/BJy6fEDf"] [UTCDate "2017.01.30"] [UTCTime "17:10:21"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/3k4/8/8/4K3/8/R6R w - - 0 1"] [SetUp "1"] { Use your rooks to restrict the king and deliver checkmate. Mate in 4 if played perfectly. } 1. Ra5 Kc6 2. Rh6+ Kb7 3. Rg5 Kb8 4. Rg7 Kc8 5. Rh8# * [Event "Lichess Practice: Piece Checkmates I: Queen and bishop mate"] [Site "https://lichess.org/study/BJy6fEDf"] [UTCDate "2017.02.18"] [UTCTime "12:41:45"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/3k4/8/8/2QBK3/8/8 w - - 0 1"] [SetUp "1"] { Use your queen and bishop to restrict the king and deliver checkmate. Mate in 5 if played perfectly. } * [Event "Lichess Practice: Piece Checkmates I: Queen and knight mate"] [Site "https://lichess.org/study/BJy6fEDf"] [UTCDate "2017.02.18"] [UTCTime "12:42:18"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/3k4/8/8/2QNK3/8/8 w - - 0 1"] [SetUp "1"] { Use your queen and knight to restrict the king and deliver checkmate. Mate in 5 if played perfectly. } * [Event "Lichess Practice: Piece Checkmates I: Queen mate"] [Site "https://lichess.org/study/BJy6fEDf"] [UTCDate "2017.01.30"] [UTCTime "17:11:16"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/3k4/8/8/4K3/8/4Q3 w - - 0 1"] [SetUp "1"] { Use your queen to restrict the king, force it to the edge of the board and deliver checkmate. The queen can't do it alone, so use your king to help. Mate in 6 if played perfectly. } 1. Qa5 Ke6 2. Ke4 Kd7 3. Kd5 Ke7 4. Qb6 Kf7 5. Ke5 Kg7 6. Qf6+ Kh7 7. Qg5 Kh8 8. Kf6 Kh7 9. Qg7# * [Event "Lichess Practice: Piece Checkmates I: Rook mate"] [Site "https://lichess.org/study/BJy6fEDf"] [UTCDate "2017.01.30"] [UTCTime "17:11:58"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/3k4/8/8/4K3/8/4R3 w - - 0 1"] [SetUp "1"] { Use your rook to restrict the king, force it to the edge of the board and deliver checkmate. The rook can't do it alone, so use your king to help. Mate in 11 if played perfectly. } 1. Kd4 Kc6 2. Re6+ Kd7 3. Kd5 Kc7 4. Rh6 Kd7 5. Rh7+ Ke8 6. Ke6 Kd8 7. Rg7 Kc8 8. Kd6 Kb8 9. Kc6 Ka8 10. Kb6 Kb8 11. Rg8# *././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootpychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-checkmate-patterns-iv_by_arex_2017.01.25.pgnpychess-1.0.0/learn/puzzles/lichess_study_lichess-practice-checkmate-patterns-iv_by_arex_2017.01.25.0000644000175000017500000002004513365545272032277 0ustar varunvarun[Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns IV: Suffocation Mate #1"] [Site "https://lichess.org/study/96Lij7wH"] [UTCDate "2017.01.28"] [UTCTime "15:13:38"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5rk1/5p1p/8/3N4/8/8/1B6/7K w - - 0 1"] [SetUp "1"] { The Suffocation Mate works by using the knight to attack the enemy king and the bishop to confine the king's escape routes. } * [Termination "mate in 4"] [Event "Lichess Practice: Checkmate Patterns IV: Suffocation Mate #2"] [Site "https://lichess.org/study/96Lij7wH"] [UTCDate "2017.01.28"] [UTCTime "15:16:22"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r4k1r/1q3p1p/p1N2p2/1pp5/8/1PPP4/1P3PPP/R1B1R1K1 w - - 0 1"] [SetUp "1"] { From Wilhelm Steinitz - J B Brockenbrough, 1885. } 19. Bh6+ Kg8 20. Re3 Qd7 21. Rg3+ Qg4 22. Rxg4# * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns IV: Greco's Mate #1"] [Site "https://lichess.org/study/96Lij7wH"] [UTCDate "2017.01.28"] [UTCTime "00:48:24"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "7k/6p1/6Q1/8/8/1B6/8/6K1 w - - 0 1"] [SetUp "1"] { Greco's Mate is named after the famous Italian checkmate cataloguer Gioachino Greco. It works by using the bishop to contain the black king by use of the black g-pawn and subsequently using the queen or a rook to checkmate the king by moving it to the edge of the board. } * [Termination "mate in 2"] [Event "Lichess Practice: Checkmate Patterns IV: Greco's Mate #2"] [Site "https://lichess.org/study/96Lij7wH"] [UTCDate "2017.01.28"] [UTCTime "01:15:03"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r4r1k/ppn1NBpp/4b3/4P3/3p1R2/1P6/P1P3PP/R5K1 w - - 0 1"] [SetUp "1"] { From Max Euwe - Wiersma, 1920. } * [Termination "mate in 4"] [Event "Lichess Practice: Checkmate Patterns IV: Greco's Mate #3"] [Site "https://lichess.org/study/96Lij7wH"] [UTCDate "2017.01.28"] [UTCTime "01:23:00"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r2q1rk1/pbp3pp/1p1b4/3N1p2/2B5/P3PPn1/1P3P1P/2RQK2R w K - 0 1"] [SetUp "1"] { From Sidney Paine Johnston - Frank James Marshall, 1899. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns IV: Max Lange's Mate #1"] [Site "https://lichess.org/study/96Lij7wH"] [UTCDate "2017.01.28"] [UTCTime "01:34:34"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2Q5/5Bpk/7p/8/8/8/8/6K1 w - - 0 1"] [SetUp "1"] { Max Lange's Mate is named after German chess player and problem composer Max Lange. It works by using the bishop and queen in combination to checkmate the king. } * [Termination "mate in 5"] [Event "Lichess Practice: Checkmate Patterns IV: Max Lange's Mate #2"] [Site "https://lichess.org/study/96Lij7wH"] [UTCDate "2017.01.28"] [UTCTime "01:42:44"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r3k3/ppp2pp1/8/2bpP2P/4q3/1B1p1Q2/PPPP2P1/RNB4K b q - 0 1"] [SetUp "1"] { From Adolf Anderssen - Max Lange, 1859. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns IV: Blackburne's Mate #1"] [Site "https://lichess.org/study/96Lij7wH"] [UTCDate "2017.01.25"] [UTCTime "22:25:44"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "5rk1/7p/8/6N1/8/8/1BB5/6K1 w - - 0 1"] [SetUp "1"] { Blackburne's Mate is named for Joseph Henry Blackburne. This checkmate utilizes an enemy rook (or bishop or queen) to confine the black king's escape to the f8 square.. One of the bishops confines the black king's movement by operating at a distance, while the knight and the other bishop operate within close range. } * [Termination "mate in 2"] [Event "Lichess Practice: Checkmate Patterns IV: //Blackburne's Mate #2"] [Site "https://lichess.org/study/96Lij7wH"] [UTCDate "2017.01.25"] [UTCTime "22:27:36"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "r2q1rk1/pp2bp2/2n3p1/3b2Np/8/1P1B4/PB3PPP/R2Q1RK1 w - - 0 1"] [SetUp "1"] 1. Qxh5 a6 2. Qh8# * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns IV: Réti's Mate #1"] [Site "https://lichess.org/study/96Lij7wH"] [UTCDate "2017.01.28"] [UTCTime "14:57:52"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "1nb5/1pk5/2p5/8/7B/8/8/3R3K w - - 0 1"] [SetUp "1"] { Réti's Mate is named after Richard Réti, who delivered it in an 11-move game against Savielly Tartakower in 1910 in Vienna. It works by trapping the enemy king with four of its own pieces that are situated on flight squares and then attacking it with a bishop that is protected by a rook or queen. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns IV: Légal's Mate #1"] [Site "https://lichess.org/study/96Lij7wH"] [UTCDate "2017.01.28"] [UTCTime "15:06:41"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "3q1b2/4kB2/3p4/4N3/8/2N5/8/6K1 w - - 0 1"] [SetUp "1"] { In Légal's Mate, the knight moves into a position to check the king. The bishop is guarded by the other knight, and the enemy pieces block the king's escape. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns IV: Kill Box Mate #1"] [Site "https://lichess.org/study/96Lij7wH"] [UTCDate "2017.01.31"] [UTCTime "09:47:13"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2kr4/8/1Q6/8/8/8/5PPP/3R1RK1 w - - 0 1"] [SetUp "1"] { The Kill Box Mate occurs when a rook is next to the enemy king and support by a queen that also block the king's escape squares. The rook and the queen catch the enemy king in a 3 by 3 "kill box". } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns IV: Triangle Mate #1"] [Site "https://lichess.org/study/96Lij7wH"] [UTCDate "2017.01.31"] [UTCTime "09:51:19"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/3p4/3k4/2R4Q/8/4K3/8/8 w - - 0 1"] [SetUp "1"] { A Triangle Mate is delivered by a queen attacking an enemy king, while it is supported by a rook. The queen and rook are one square away from the enemy king. They are on the same rank or file, separated by one square, with the enemy king being between them one square away, forming a triangle. The king must be restricted from escaping to the middle square behind it away from the queen and rook, by the edge of the board, a piece blocking it, or by controlling that square with a third piece. } * [Termination "mate in 1"] [Event "Lichess Practice: Checkmate Patterns IV: Vukovic Mate #1"] [Site "https://lichess.org/study/96Lij7wH"] [UTCDate "2017.01.31"] [UTCTime "09:44:32"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "4k3/R7/4N3/3r4/8/B7/4K3/8 w - - 0 1"] [SetUp "1"] { In the Vukovic Mate, a rook and knight team up to mate the king on the edge of the board. The rook delivers mate while supported by a third piece, and the knight is used to block the king's escape squares. } * [Termination "mate in 3"] [Event "Lichess Practice: Checkmate Patterns IV: Vukovic Mate #2"] [Site "https://lichess.org/study/96Lij7wH"] [UTCDate "2017.01.29"] [UTCTime "01:44:52"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "R7/8/8/7p/6n1/6k1/3r4/5K2 b - - 0 1"] [SetUp "1"] { From Howard Staunton - Elijah Williams, 1851. } * [Termination "mate in 2"] [Event "Lichess Practice: Checkmate Patterns IV: Vukovic Mate #3"] [Site "https://lichess.org/study/96Lij7wH"] [UTCDate "2017.01.29"] [UTCTime "01:49:28"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "2r5/8/8/5K1k/4N1R1/7P/8/8 w - - 0 1"] [SetUp "1"] { From Pavol Danek - Stanislav Hanuliak, 2001. } *pychess-1.0.0/learn/puzzles/bron.olv0000644000175000017500000161111213365545272016554 0ustar varunvarun--- authors: - Брон, Владимир Акимович source: Magyar Sakkélet date: 1958 algebraic: white: [Kb5, Qh7, Bh8, Ba8, Se5, Se3, Pf4, Pf3, Pd2, Pb2] black: [Kd4, Qf5, Re2, Sg3, Sa5, Pf7] stipulation: "#2" solution: | "1...Qd3+[a] 2.Qxd3#[B] 1...Qd7+[b] 2.Nc6#[A] 1...Nh1/Nh5/Nf1 2.Nxf5# 1...Ne4 2.Nxf5#/Nc2# 1...f6 2.Qa7# 1...Qxf4/Qg4/Qe6 2.Nc6#[A]/Qd3#[B]/Nc2# 1...Qf6/Qg5/Qh5 2.Qd3#[B]/Nc2# 1...Qxe5+ 2.Bxe5# 1...Qh3 2.Qd3#[B]/Nc2#/Nxf7#/Nc6#[A] 1...Qc2 2.Nxf7#/Nc6#[A]/Nxc2# 1...Qb1 2.Nxf7#/Nc6#[A] 1...Qc8 2.Qd3#[B]/Nc6#[A] 1.Qxf5?? (2.Nc2#/Qd3#[B]/Qd7#[C]/Nxf7#/Nc6#[A]) 1...Rxe3 2.Qd7#[C]/Nc6#[A] 1...Rh2 2.Qd3#[B]/Qd7#[C]/Nc2#/Nc6#[A] 1...Nh5 2.Qe4#/Qd3#[B]/Qd7#[C]/Nc2#/Nc6#[A] 1...Nxf5 2.Nxf5#/Nc2# 1...Ne4 2.Nc2#/Qxe4# 1...f6 2.Qd3#[B]/Qd7#[C]/Nc2# 1...Nb7 2.Nxf7#/Nc6#[A]/Qd3#[B] 1...Nc4 2.Qd3#[B]/Nc6#[A]/Nc2# 1...Nc6 2.Qd3#[B]/Qd7#[C]/Nxc6#[A] but 1...Rxd2! 1.Qxf7! (2.Qa7#/Qd5#) 1...Qd3+[a] 2.N5c4#[D] 1...Qd7+[b] 2.Qxd7#[C] 1...Qf6 2.Nc2#/Qd5# 1...Qxf7/Qe6 2.Nc2# 1...Qxe5+/Qg6/Qh7/Qc8 2.Qd5# 1...Qe4/Rxd2 2.Qa7# 1...Qc2 2.Nxc2#/Qd7#[C]/Qd5# 1...Nb3/Nb7/Nc4/Nc6 2.Qd5#/Qc4# 1...Ne4 2.Qd5#/Nxf5#/Nc2#" keywords: - Changed mates --- authors: - Брон, Владимир Акимович source: «64» source-id: 2/948 date: 1930 distinction: 6th Prize, 1st half-year algebraic: white: [Kh6, Qf7, Re8, Rb4, Bf6, Bb7, Se7, Sd5, Pf4, Pe2, Pd2] black: [Ke4, Rh3, Ra6, Ba7, Sf1, Se6, Ph4, Pf5, Pd7, Pd4] stipulation: "#2" solution: | "1...Se6-c5 2.Rb4*d4 # 1...Se6*f4 2.Sd5-c3 # 1.Bf6*d4 ! threat: 2.Qf7*f5 # 1...Se6-d8 +{(Se~+)} 2.Bd4-b6 # 1...Se6-c5 + 2.Bd4-f6 # 1...Se6*d4 + 2.Se7-c6 # 1...Se6*f4 + 2.Sd5-f6 # 1...Sf1-g3{(Se3)} 2.d2-d3 #" keywords: - Active sacrifice - Black correction - Changed mates - Switchback - Provoked check - Battery creation - Battery play --- authors: - Брон, Владимир Акимович source: Тамбовская правда date: 1935 distinction: 3rd Prize algebraic: white: [Kb8, Qh4, Rf6, Rf1, Bh7, Bg1, Sh2, Sf8, Pg3, Pe4, Pd7] black: [Ke5, Rc4, Bg8, Bg5, Sg4, Sb7, Ph6, Ph5, Pe7, Pc7] stipulation: "#2" solution: | "1.d8Q! [2.Sd7#] 1...e6 2.Sf3# 1...Be3 2.Sf3# 1...Se3 2.Sg6# 1...Sf2 2.Rf5# 1...S:f6 2.Rf5/Sf3# - dual 1...Sc5 2.Q:c7# 1...Be6 2.R:e6# 1...Rd4 2.B:d4/Q:d4# 1...B:h7 2.Qd5/Q:e7/Re6# 1...R:e4 2.R1f5/Sg6R6f5#" keywords: - Barulin (A) - Somov (B1) - Isaev - Dual comments: - | Автор даёт рекордное выражение темы Исаева в 4 вариантах. Поскольку в двух из них матующие ходы совпадают, надо считать, что в ней три с половиной Исаева! Несмотря на добавление второго ферзя и дуаль в побочном варианте (1...S:f6) эта композиция - большая победа автора. М.Барулин - арбитр. --- authors: - Брон, Владимир Акимович source: «64», турнир проблемистов source-id: 2/ date: 1940 algebraic: white: [Kh3, Qa1, Rf2, Rd3, Be3, Bc6, Se8, Sd8, Ph6] black: [Ke5, Rc3, Ba2, Sg3, Pg6, Pc7, Pc5, Pc4, Pb4] stipulation: "#2" solution: | "1. Rd7? ~ 2. Re7# But 1... Sf5! 1. Bg5? [2. Bf6#] 1... Sh5 2. Qe1# But 1... Se4! 1. Qg1! [2. Q:g3#] 1... S~ 2. Qg5# 1... Se4 2. Rd5# 1... Sf5 2. Bf4#" keywords: - Black correction - B2 - White combinations - Half-pin --- authors: - Брон, Владимир Акимович source: Problème date: 1962 distinction: 1st Prize, 1962-1964 algebraic: white: [Ka2, Qb3, Rh4, Rc3, Be1, Ba6, Sg2, Sa5, Pe4] black: [Kd4, Qf7, Ra4, Bg6, Sb6, Pe5, Pe2, Pd7, Pa3] stipulation: "#2" solution: | "1...Bf5/Qe7/Qg8/Qe6/Qd5/Qc4 2.Bf2# 1...d6 2.Nc6# 1...d5 2.Nc6#/Qxb6# 1...Qf5/Qf3/Qf1 2.Qxb6# 1...Qf2/Qg7/Qh7/Qe8 2.Bxf2#/Qxb6# 1...Qxb3+ 2.Nxb3# 1.Qc4+?? 1...Rxc4/Nxc4 2.Nb3# but 1...Qxc4+! 1.Qd5+?? 1...Nxd5 2.Nb3# but 1...Qxd5+! 1.Qxf7?? (2.Nb3#/Qf2#) 1...Rxa5/Rb4 2.Qf2# 1...Nc4/Nd5 2.Nb3#/Qd5# 1...Bf5/Bxe4 2.Nb3# but 1...Bxf7+! 1.Rc4+?? 1...Qxc4 2.Bf2# 1...Rxc4 2.Qe3# but 1...Nxc4! 1.Rc6?? (2.Bc3#) 1...Nc4 2.Qc3# 1...Nd5/Qf4 2.Qd3# 1...Qf3 2.Qxb6# 1...Qc4 2.Bf2# 1...Qxb3+ 2.Nxb3# 1...Rc4 2.Qe3# but 1...dxc6! 1.Rc8?? (2.Bc3#) 1...Nc4 2.Qc3# 1...Nd5/Qf4 2.Qd3# 1...Qf3 2.Qxb6# 1...Qc4 2.Bf2# 1...Qxb3+ 2.Nxb3# 1...Rc4 2.Qe3# but 1...Nxc8! 1.Rc7! (2.Bc3#) 1...Qf4/Nd5 2.Qd3# 1...Qf3 2.Qxb6# 1...Qc4 2.Bf2# 1...Qxb3+ 2.Nxb3# 1...Rc4 2.Qe3# 1...Nc4 2.Qc3#" keywords: - Defences on same square - Barulin (A) --- authors: - Брон, Владимир Акимович source: Hlas ľudu source-id: 524 date: 1975-12-04 distinction: 5th Comm. algebraic: white: [Kg5, Rd7, Sd4, Pg6, Pg2, Pc6] black: [Ke5] stipulation: "#3" twins: b: Continued move c6 c2 c: Continued move c2 d2 d: Continued move d7 d8 remove g2 add black pf2 solution: | "a) 1.Sd4-f5 ! zugzwang. 1...Ke5-e4 2.Kg5-f6 threat: 3.Rd7-d4 # 1...Ke5-e6 2.Kg5-f4 threat: 3.Rd7-d6 # +b) wPc6--c2 1.c2-c4 ! zugzwang. 1...Ke5-e4 2.Sd4-f5 zugzwang. 2...Ke4-e5 3.Rd7-e7 # +c) wPc2--d2 1.Sd4-b3 ! zugzwang. 1...Ke5-e4 2.Sb3-c5 + 2...Ke4-e5 3.d2-d4 # 1...Ke5-e6 2.Sb3-c5 + 2...Ke6-e5 3.d2-d4 # +d) wRd7--d8 -wPg2 +bPf2 1.Sd4-c6 + ! 1...Ke5-e6 2.d2-d4 threat: 3.d4-d5 # 1...Ke5-e4 2.Kg5-g4 threat: 3.Rd8-d4 #" --- authors: - Брон, Владимир Акимович source: Sahmati date: 1952 algebraic: white: [Kh3, Bc8, Sg8, Pg6] black: [Kg7, Sh5, Pf6] stipulation: + solution: --- authors: - Брон, Владимир Акимович source: Шахматный листок date: 1927 distinction: 5th HM algebraic: white: [Kc5, Qg3, Rh6, Re5, Bf8, Sd6, Sd3] black: [Kf6, Bh8, Bh1, Sh4, Sg2, Pg6, Pf5, Pc6] stipulation: "#2" solution: | "1...Nf4/Ne1/Ne3 2.Qxh4# 1...Bg7 2.Be7# 1...f4 2.Qg5# 1...Nf3 2.Rxg6#/Qxg6# 1.Kb4?? zz 1...Bg7 2.Be7# 1...Nf4/Ne1/Ne3 2.Qxh4# 1...Nf3 2.Rxg6#/Qxg6# 1...f4 2.Qg5# but 1...c5+! 1.Kb6?? zz 1...Bg7 2.Be7# 1...Nf4/Ne1/Ne3 2.Qxh4# 1...Nf3 2.Rxg6#/Qxg6# 1...f4 2.Qg5# but 1...c5! 1.Rh5?? (2.Qg5#) 1...gxh5 2.Be7# but 1...Nf3! 1.Rh7?? (2.Ne8#/Be7#/Rf7#) 1...Bg7 2.Bxg7#/Be7# but 1...g5! 1.Re4?? zz 1...Bg7 2.Be7# 1...Nf4/Ne1/Ne3 2.Qxh4# 1...Nf3 2.Qxg6#/Rxg6# 1...fxe4 2.Qe5# but 1...f4! 1.Re7?? (2.Ne8#) but 1...f4! 1.Rxf5+?? 1...Nxf5 2.Rxg6#/Qxg6# but 1...Ke6! 1.Qg4?? zz 1...Nf3 2.Rxg6#/Qxg6#/Qxf5# 1...f4 2.Re6#/Qg5#/Qe6# 1...Bg7 2.Be7# 1...Nf4/Ne1/Ne3 2.Qxh4# but 1...fxg4! 1.Qf4?? zz 1...Ne1/Ne3 2.Qxh4# 1...Nf3 2.Qxf5# 1...Bg7 2.Be7# but 1...Nxf4! 1.Qh3! zz 1...Kg5 2.Ne4# 1...Nf3 2.Qxf5# 1...Bg7 2.Be7# 1...Nf4/Ne1/Ne3 2.Qxh4# 1...f4 2.Qe6#" keywords: - Flight giving key - Mutate --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet source-id: 2513 date: 1958-12 algebraic: white: [Kf5, Rf4, Se4, Pd2, Pc6, Pa4, Pa3] black: [Kc4, Rb3, Bf1, Sd5, Sc5, Pf7, Pf6, Pc7] stipulation: "h#2" solution: "1.Rb3-c3 d2-d4 2.Sc5-d3 Se4-d2 #" --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet source-id: 3244 date: 1965-03 algebraic: white: [Ke2, Rh7, Se4, Se3] black: [Ke6, Qb5, Sc4] stipulation: "h#2" twins: b: Continued move h7 a7 c: Continued move b5 a6 d: Continued move a6 a1 solution: | "a) 1.Qb5-f5 Se3-d5 2.Sc4-e5 Sd5-c7 # +b) wRh7--a7 1.Qb5-d5 Se3-f5 2.Sc4-e5 Sf5-g7 # +c) bQb5--a6 1.Qa6-d6 Ra7-f7 2.Sc4-e5 Se4-g5 # +d) bQa6--a1 1.Qa1-f6 Ra7-d7 2.Sc4-e5 Se4-c5 # 1.Qa1-d4 Ke2-f3 2.Ke6-e5 Ra7-e7 # 1.Ke6-e5 Ke2-f3 2.Qa1-d4 Ra7-e7 #" --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet source-id: 9/4723 date: 1983 algebraic: white: [Kh1, Rf5, Bd3, Sd7, Sd6, Pg4, Pd5, Pd2, Pb4] black: [Kd4, Qd1, Bg1, Be8, Pg5, Pf7, Pf6, Pe2, Pc2, Pb5] stipulation: "h#2" solution: | "1.c2-c1=S Sd7-e5 2.Sc1*d3 Se5-f3 # 1.c2-c1=R Bd3-b1 2.Rc1-c4 Sd6*b5 # 1.e2-e1=S Sd7-c5 2.Se1*d3 Sc5-b3 # 1.e2-e1=R Bd3-f1 2.Re1-e4 Sd6*b5 #" --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet source-id: 11/4844 date: 1984 algebraic: white: [Kg2, Ba6, Se8, Pc6] black: [Kc8, Qd1, Ra1, Bb7, Ba7, Sh1, Sf2, Pe7] stipulation: "h#2" solution: | "1.Qd1-d8 Kg2-f3 2.Ba7-b8 Ba6*b7 # 1.Kc8-d8 Ba6-b5 2.Bb7-c8 c6-c7 # 1.Kc8-b8 Kg2-h2 2.Bb7-a8 c6-c7 #" --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet source-id: 4/4673 date: 1983 algebraic: white: [Kb7, Qe4, Rb8, Ra1, Bg1, Sc8, Sc2, Pc7, Pc3, Pb3] black: [Kb5, Rf1, Re2, Bh1, Bc1, Sf6, Pe6, Pd6] stipulation: "s#2" solution: | "1.Ra1-a7 ! threat: 2.Qe4-c6 + 2...Bh1*c6 # 1...Rf1-f3 2.Qe4-d3 + 2...Rf3*d3 # 1...Re2*e4 2.c3-c4 + 2...Re4*c4 # 1...Re2-g2 2.Qe4-e2 + 2...Rg2*e2 # 1...d6-d5 2.Qe4-c4 + 2...d5*c4 # 1...Sf6-d5 2.Qe4-b4 + 2...Sd5*b4 # 1...Sf6*e4 2.Sc8*d6 + 2...Se4*d6 #" --- authors: - Брон, Владимир Акимович source: Правда date: 1927 distinction: 2nd Prize algebraic: white: [Kf4, Qd2, Rf2] black: [Kh1, Ph4, Ph3, Pg2] stipulation: "#3" solution: | "1.Rf2-f3 ! threat: 2.Rf3*h3 + 2...Kh1-g1 3.Qd2-e1 # 1...Kh1-h2 2.Qd2-f2 zugzwang. 2...Kh2-h1 3.Rf3*h3 # 1...Kh1-g1 2.Qd2-e3 + 2...Kg1-h2 3.Rf3*h3 # 2...Kg1-h1 3.Rf3*h3 # 1...g2-g1=S 2.Rf3-f1 zugzwang. 2...h3-h2 3.Qd2-d5 # 1...h3-h2 2.Qd2-d5 threat: 3.Rf3-f1 # 2...Kh1-g1 3.Qd5-d1 #" --- authors: - Брон, Владимир Акимович source: «64» source-id: 7/1145 date: 1934-07 distinction: 1st-2nd Prize algebraic: white: [Kh5, Qc2, Bh2, Bd3, Sf6] black: [Kd4, Be7, Sc1, Sb7, Pc6, Pb4, Pa5] stipulation: "#3" solution: | "1.Bd3-a6 ! threat: 2.Qc2-c4 + 2...Kd4-e3 3.Qc4-f4 # 1...Sc1-e2 2.Qc2-d3 + 2...Kd4-c5 3.Sf6-d7 # 2.Qc2-d2 + 2...Kd4-c5 3.Sf6-d7 # 1...Sc1-d3 2.Qc2*d3 + 2...Kd4-c5 3.Sf6-d7 # 3.Qd3-e3 # 3.Bh2-g1 # 1...Kd4-e3 2.Sf6-g4 + 2...Ke3-f3 3.Qc2*c6 # 2...Ke3-d4 3.Qc2-c4 # 1...Sb7-d6 2.Qc2-c5 + 2...Kd4*c5 3.Bh2-g1 # 1...Be7-d6 2.Sf6-g4 threat: 3.Qc2-c4 #" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1934 distinction: 2nd Prize algebraic: white: [Kb6, Qb2, Rd7, Bc2, Sg3, Sd4] black: [Ke5, Qh6, Bc8, Sg1, Se1, Ph4, Pg6, Pg4, Pe3, Pb7] stipulation: "#3" solution: | "1.Qb2-c3 ! threat: 2.Qc3-c7 + 2...Ke5-f6 3.Sg3-e4 # 1...h4*g3 2.Sd4-b3 + 2...Ke5-e6 3.Sb3-c5 # 2...Ke5-f4 3.Qc3-f6 # 1...Ke5-f6 2.Sd4-b3 + 2...Kf6-e6 3.Sb3-c5 # 2...Kf6-g5 3.Qc3-e5 # 2.Sg3-e4 + 2...Kf6-e5 3.Qc3-c7 # 1...g6-g5 + 2.Sd4-e6 + 2...Ke5*e6 3.Bc2-f5 # 1...Bc8*d7 2.Sd4-f5 + 2...Ke5-e6 3.Bc2-b3 # 2...Ke5-d5 3.Bc2-b3 # 2...Ke5-f4 3.Qc3*e3 #" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1940 distinction: 1st Prize algebraic: white: [Ka1, Qd5, Bd1, Sc4, Sb7] black: [Kd3, Rh3, Rh1, Bh2, Sf1, Ph4, Pf5, Pf4, Pd4, Pd2, Pa6, Pa3] stipulation: "#3" solution: | "1.Qd5-a5 ! threat: 2.Sb7-d6 threat: 3.Qa5*a3 # 1...Sf1-g3 2.Qa5*a3 + 2...Kd3*c4 3.Qa3-b3 # 2...Kd3-e4 3.Qa3-f3 # 1...Sf1-e3 2.Sc4-e5 + 2...Kd3-e4 3.Sb7-d6 # 1...f4-f3 2.Sb7-c5 + 2...Kd3*c4 3.Bd1-b3 #" --- authors: - Брон, Владимир Акимович source: Известия date: 1929 distinction: 1st Prize algebraic: white: [Kb1, Qa8, Bg1, Se5, Pg5, Pf6, Pc4, Pb5, Pa2] black: [Kb4, Rh7, Bf8, Ph5, Pf5, Pe6, Pd7, Pa4, Pa3] stipulation: "#3" solution: | "1.Bg1-f2 ! threat: 2.Qa8-a7 threat: 3.Bf2-e1 # 1...Kb4-c3 2.Qa8-h1 threat: 3.Qh1-e1 # 1...d7-d5 2.Qa8-a5 + 2...Kb4*a5 3.Se5-c6 # 1...d7-d6 2.Qa8-a5 + 2...Kb4*a5 3.Se5-c6 # 1...Bf8-d6 2.Bf2-e1 + 2...Kb4-c5 3.Qa8-a7 # 1...Bf8-h6 2.Bf2-b6 threat: 3.Qa8-a5 #" --- authors: - Брон, Владимир Акимович source: Шахматный листок date: 1927 distinction: 4th Prize algebraic: white: [Kb8, Qc8, Bf4, Se1, Sb7, Pg3, Pf5, Pf3, Pe4, Pb5] black: [Kd4, Bc1, Sd2, Sa2, Pe2, Pb6, Pa6, Pa3] stipulation: "#3" solution: | "1.Sb7-a5 ! zugzwang. 1...Bc1-b2 2.Qc8-d7 + 2...Kd4-c5 3.Se1-d3 # 2...Kd4-c3 3.Qd7*d2 # 3.Bf4*d2 # 1...Sa2-c3 2.Qc8-c4 + 2...Sd2*c4 3.Sa5-b3 # 1...Sa2-b4 2.Qc8-c3 + 2...Kd4*c3 3.Bf4-e5 # 1...Sd2-b1 2.Qc8-c4 # 2.Sa5-b3 # 1...Sd2-f1 2.Sa5-b3 # 2.Qc8-c4 # 1...Sd2*f3 2.Qc8-c4 # 1...Sd2*e4 2.Qc8-c4 # 1...Sd2-c4 2.Qc8*c4 # 1...Sd2-b3 2.Qc8-c4 # 2.Sa5*b3 # 1...a6*b5 2.Qc8-h8 + 2...Kd4-c5 3.Se1-d3 # 1...b6*a5 2.Bf4-e3 + 2...Kd4-e5 3.Qc8-e6 # 2...Kd4*e3 3.Qc8-c5 #" --- authors: - Брон, Владимир Акимович source: Л.Исаев МК date: 1933 distinction: 2nd-3rd Prize algebraic: white: [Ka8, Qg4, Rh5, Bd4, Bc8, Sa7, Pe7, Pc3, Pb3, Pa6] black: [Ka5, Rh7, Rg7, Bh4, Bg8, Sf4, Ph6, Pe6, Pd5, Pd3, Pa2] stipulation: "#3" solution: | "1.Bc8-b7 ! threat: 2.Sa7-c6 + 2...Ka5-b5 3.c3-c4 # 1...Sf4*h5 2.Bd4-e5 threat: 3.Be5-c7 # 3.Qg4-b4 # 2...Bh4-f2 3.Qg4-b4 # 2...Bh4-g3 3.Qg4-b4 # 2...Bh4*e7 3.Be5-c7 # 2...Ka5-b6 3.Qg4-b4 # 2...d5-d4 3.Be5-c7 # 2...Sh5-f4 3.Be5-c7 # 2...Rg7*g4 3.Be5-c7 # 2...Rg7*e7 3.Qg4-b4 # 1...Bh4-g5 2.Qg4-g1 threat: 3.Bd4-b6 # 1...e6-e5 2.Qg4-d7 threat: 3.Qd7-a4 # 3.Qd7-b5 # 3.Qd7-c7 # 3.Qd7-d8 # 3.b3-b4 # 2...a2-a1=Q 3.Qd7-b5 # 3.Qd7-c7 # 3.Qd7-d8 # 3.b3-b4 # 2...a2-a1=R 3.Qd7-b5 # 3.Qd7-c7 # 3.Qd7-d8 # 3.b3-b4 # 2...Sf4-e6 3.Qd7-a4 # 3.Qd7-b5 # 3.b3-b4 # 2...Bh4*e7 3.Qd7-a4 # 3.Qd7-b5 # 3.Qd7-c7 # 2...e5*d4 3.Qd7-b5 # 3.Qd7-c7 # 3.Qd7-d8 # 2...Rg7-g6 3.Qd7-a4 # 3.Qd7-b5 # 3.b3-b4 # 2...Rg7*e7 3.Qd7-a4 # 3.Qd7-b5 # 3.b3-b4 # 1...Rg7-g5 2.Qg4-d1 threat: 3.b3-b4 #" --- authors: - Брон, Владимир Акимович source: Šahs/Шахматы (Rīga) date: 1974 distinction: 2nd Prize algebraic: white: [Kb8, Qc3, Rg7, Rd1] black: [Kh8, Be8, Bc1, Sh7, Sb3, Pf4, Pe3, Pc5, Pb2] stipulation: "#3" solution: | "1.Qc3-e5 ! threat: 2.Rg7-g6 + 2...Sh7-f6 3.Rd1-h1 # 1...Sh7-f6 2.Qe5*f6 threat: 3.Qf6-f8 # 3.Qf6-h6 # 2...b2-b1=Q 3.Qf6-f8 # 2...b2-b1=B 3.Qf6-f8 # 2...Be8-g6 3.Qf6-f8 # 2...Be8-f7 3.Qf6-h6 # 1...Be8-c6 2.Rg7-g2 + 2...Sh7-f6 3.Rd1-h1 # 1...Be8-d7 2.Rg7-g4 + 2...Sh7-f6 3.Rd1-h1 # 1...Be8-h5 2.Rg7-f7 + 2...Sh7-f6 3.Rd1-d8 # 2...Kh8-g8 3.Qe5-g7 #" --- authors: - Брон, Владимир Акимович - Сычов, Владимир Петрович source: Шахматы в СССР date: 1974 distinction: 3rd Prize algebraic: white: [Kg6, Qa3, Rg4, Bb5, Sg2, Sa7] black: [Kd5, Ra8, Bh6, Bc8, Pg5, Pe6, Pd7, Pd4, Pc3, Pb7] stipulation: "#3" solution: | "1.Bb5-d3 ! threat: 2.Rg4*d4 + 2...Kd5-e5 3.Qa3-d6 # 2...Kd5*d4 3.Qa3-d6 # 1...c3-c2 2.Bd3-c4 + 2...Kd5-e5 3.Qa3-g3 # 2...Kd5*c4 3.Sg2-e3 # 1...Kd5-e5 2.Qa3-c5 + 2...d7-d5 3.Rg4-e4 # 3.Qc5-c7 # 1...e6-e5 2.Sg2-e3 + 2...d4*e3 3.Bd3-c4 # 2...Kd5-e6 3.Bd3-f5 # 1...Bh6-f8 2.Rg4*g5 + 2...e6-e5 3.Sg2-f4 # 1...Bh6-g7 2.Rg4*g5 + 2...e6-e5 3.Sg2-f4 # 2...Bg7-e5 3.Sg2-f4 #" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1930 algebraic: white: [Kf3, Qc6, Sg2, Se7, Pg5, Pe2, Pd7] black: [Ke5, Rd8, Ra5, Bh2, Bc8, Sb7, Pf7, Pe6, Pc3, Pa3] stipulation: "#3" solution: | "1.Sg2-e3 ! threat: 2.Qc6-c7 + 2...Ke5-d4 3.Se3-c2 # 2...Sb7-d6 3.Se7-c6 # 3.Qc7*c3 # 1...Ra5-c5 2.Se3-g4 + 2...Ke5-d4 3.Qc6-e4 # 1...Ke5-d4 2.Qc6-b6 + 2...Kd4-e5 3.Se3-g4 # 3.Se3-c4 # 2...Ra5-c5 3.Se7-c6 # 2...Sb7-c5 3.Se7-c6 # 1...Rd8*d7 2.Qc6*c3 + 2...Ke5-d6 3.Se7*c8 # 2...Rd7-d4 3.Se3-c4 #" --- authors: - Брон, Владимир Акимович source: I личное первенство СССР, Шахматы в СССР source-id: 9/ date: 1947 distinction: 3rd Place algebraic: white: [Kf8, Qf4, Rg2, Bg5, Sg4, Sd4, Pe3] black: [Kh5, Qf2, Rc3, Be1, Bd1, Ph7, Ph2, Pf5, Pe7, Pc4] stipulation: "#3" solution: | "1. Se6! [2. Sg7+ 2... Kg6 3. Se5# 2. Se5 ad lib 3. Sg7#] 1... R:e3 2. Bf6 [3. Qg5, Qh6#] 2... Q:f4 3. S:f4# 1... f:g4 2. R:h2+ 2... Kg6 3. Rh6# 2... Q:h2/h4 3. Qf7# 1... B:g4 2. Qb8 [3. Qe8#] 2... Kg6 3. Qe8#" keywords: - Model mates --- authors: - Брон, Владимир Акимович source: Šahovski Vjesnik date: 1947 distinction: 1st HM algebraic: white: [Kc7, Qe1, Rf5, Sc5, Sc2, Pb4] black: [Kc4, Rd3, Be2, Ph7, Pf3, Pe3, Pd7, Pb5, Pa3] stipulation: "#3" solution: | "1.Rf5-d5 ! threat: 2.Rd5-d4 + 2...Rd3*d4 3.Sc2*e3 # 1...Rd3-d2 2.Sc2*e3 + 2...Kc4*b4 3.Qe1*d2 # 2...Kc4-c3 3.Qe1*d2 # 1...Rd3*d5 2.Sc2*a3 + 2...Kc4-d4 3.Qe1-a1 # 1...Kc4*d5 2.Qe1-h4 threat: 3.Qh4-e4 # 2...Rd3-d4 3.Qh4*d4 # 2...Kd5-e5 3.Qh4-g5 #" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1949 distinction: 1st Prize algebraic: white: [Kg6, Qg3, Re3, Sf4, Sb2, Pe5, Pb5] black: [Kd4, Bf1, Sc8, Sa6, Pe7, Pe4, Pc7, Pb3] stipulation: "#3" solution: | "1.Qg3-g1 ! threat: 2.Re3-d3 + 2...Kd4*e5 3.Qg1-g5 # 1...Bf1-h3 2.Re3-f3 + 2...Kd4*e5 3.Sb2-c4 # 2...e4-e3 3.Qg1*e3 # 1...Bf1-g2 2.Re3-f3 + 2...Kd4*e5 3.Sb2-c4 # 2...e4-e3 3.Qg1*e3 # 1...Kd4-c5 2.Re3*b3 + 2...e4-e3 3.Qg1*e3 # 1...Kd4*e5 2.Qg1-g5 + 2...Ke5-d6 3.Qg5-d5 # 2...Ke5-d4 3.Sf4-e6 # 1...Sc8-d6 2.Re3-e2 + 2...Kd4*e5 3.Sb2-d3 # 2...Kd4-c3 3.Sf4-d5 # 2...e4-e3 3.Qg1*e3 #" --- authors: - Брон, Владимир Акимович source: Труд (Москва) date: 1950 distinction: Comm. algebraic: white: [Kb1, Qe1, Bf8, Bc2, Ph7, Pb7, Pb6, Pa6, Pa5] black: [Kd5, Rh5, Bg4, Ba1, Sh4, Sg3, Pf6, Pf3] stipulation: "#3" solution: | "1.Qe1-b4 ! threat: 2.Qb4-d6 + 2...Kd5-c4 3.Qd6-d3 # 1...Ba1-e5 2.Bc2-b3 + 2...Kd5-c6 3.Qb4-a4 # 1...Ba1-d4 2.Qb4-b3 + 2...Kd5-e5 3.b7-b8=Q # 3.b7-b8=B # 2...Kd5-c6 3.b7-b8=S # 1...Sh4-f5 2.Qb4-b5 + 2...Kd5-d4 3.Qb5-c5 # 2...Kd5-e6 3.Bc2-b3 # 1...Kd5-c6 2.b7-b8=Q threat: 3.Qb8-d6 # 3.Qb8-b7 # 2...Ba1-e5 3.Qb8-b7 # 2...Sg3-f5 3.Qb8-b7 # 2...Sg3-e4 3.Qb8-b7 # 2...Bg4-c8 3.Qb8-d6 # 2...Sh4-f5 3.Qb8-b7 # 2...Rh5-d5 3.Qb8-c7 # 3.Qb8-b7 # 2...Rh5*h7 3.Qb8-d6 # 2...Kc6-d7 3.Qb4-d6 # 2...Kc6-d5 3.Qb8-d6 # 2.Qb4-c4 + 2...Rh5-c5 3.b7-b8=S # 3.Bc2-a4 # 2...Kc6-d7 3.Qc4-c8 #" --- authors: - Брон, Владимир Акимович source: Ukrainskogo-Turnier date: 1952 distinction: 1st Prize algebraic: white: [Kg1, Qf2, Re7, Pg4, Pc3] black: [Kg8, Pg2, Pf3, Pe6, Pe4] stipulation: "#3" solution: | "1.Re7-d7 ! zugzwang. 1...Kg8-f8 2.Qf2-c5 + 2...Kf8-g8 3.Qc5-c8 # 2...Kf8-e8 3.Qc5-c8 # 3.Qc5-e7 # 1...e4-e3 2.Qf2*f3 threat: 3.Qf3-a8 # 1...e6-e5 2.Qf2-a2 + 2...Kg8-h8 3.Qa2-a8 # 2...Kg8-f8 3.Qa2-a8 # 3.Qa2-f7 # 1...Kg8-h8 2.Qf2-h4 + 2...Kh8-g8 3.Qh4-d8 #" keywords: - Area clearkeeping --- authors: - Брон, Владимир Акимович source: МК Л.Куббель, Шахматы в СССР source-id: 12/ date: 1953 distinction: 1st Prize algebraic: white: [Ka8, Qa4, Bh7, Bh6, Sg4, Pf2, Pe6, Pa5] black: [Kh5, Qa1, Bb1, Ph4, Ph3, Pf7, Pf6, Pd3, Pd2, Pb7] stipulation: "#3" solution: | "1.Bh6-e3 ! threat: 2.Qa4-b5 + 2...Qa1-e5 3.Sg4*f6 # 2...Kh5*g4 3.Qb5-f5 # 2...f6-f5 3.Qb5*f5 # 1...Qa1-e5 2.Sg4*e5 threat: 3.Qa4-d1 # 3.Qa4-g4 # 2...Bb1-c2 3.Qa4-g4 # 2...d2-d1=Q 3.Qa4*d1 # 2...d2-d1=B 3.Qa4*d1 # 2...f6-f5 3.Qa4-d1 # 2...f6*e5 3.Qa4-d1 # 1...Bb1-a2 2.Qa4-d1 threat: 3.Sg4*f6 # 1...f6-f5 2.Sg4-f6 + 2...Qa1*f6 3.Qa4-d1 # 1...f7*e6 2.Sg4-e5 threat: 3.Bh7-g6 # 3.Qa4-d1 # 3.Qa4-e8 # 3.Qa4-g4 # 2...Qa1*e5 3.Qa4-d1 # 2...Qa1-d4 3.Bh7-g6 # 3.Qa4-e8 # 2...Qa1*a4 3.Bh7-g6 # 2...Bb1-c2 3.Bh7-g6 # 3.Qa4-e8 # 3.Qa4-g4 # 2...Bb1-a2 3.Bh7-g6 # 3.Qa4-e8 # 3.Qa4-g4 # 2...d2-d1=Q 3.Bh7-g6 # 3.Qa4*d1 # 3.Qa4-e8 # 2...d2-d1=B 3.Bh7-g6 # 3.Qa4*d1 # 3.Qa4-e8 # 2...f6-f5 3.Bh7-g6 # 3.Qa4-d1 # 3.Qa4-e8 # 2...f6*e5 3.Qa4-d1 # 2...b7-b5 3.Qa4-d1 # 3.Bh7-g6 # 3.Qa4-g4 #" --- authors: - Брон, Владимир Акимович source: Bjulletenny 25 Cempionata CCCP date: 1958 algebraic: white: [Ka4, Qf7, Rd6, Bb5, Ba7, Sh2, Sd5, Ph4, Pb7] black: [Ke4, Rg5, Rf3, Bh3, Bf6, Sg7, Sg3, Pg6, Pe6, Pe5, Pc3, Pc2] stipulation: "#3" solution: | "1.Bb5-c6 ! threat: 2.Sd5*f6 + 2...Ke4-f4 3.Sf6-h5 # 2...Ke4-f5 3.Sf6-h5 # 3.Sf6-e4 # 3.Sf6-g4 # 3.Sf6-h7 # 3.Sf6-g8 # 3.Sf6-e8 # 3.Sf6-d7 # 1...Rf3-f5 2.Sd5-b4 + 2...Ke4-f4 3.Sb4-d3 # 1...Sg3-f5 2.Sd5*c3 + 2...Ke4-f4 3.Sc3-e2 # 1...Bh3-f5 2.Sd5-e3 + 2...Ke4-f4 3.Se3-g2 # 1...Ke4-d3 2.Sd5-f4 + 2...Kd3-c4 3.Bc6-b5 # 1...Rg5-f5 2.Sd5-e7 + 2...Ke4-f4 3.Se7*g6 # 1...e6*d5 2.Qf7*d5 + 2...Ke4-f4 3.Qd5*f3 # 2...Ke4-f5 3.Qd5*f3 # 1...Sg7-f5 2.Sd5-c7 + 2...Ke4-f4 3.Sc7*e6 #" --- authors: - Брон, Владимир Акимович source: Przepiorka-Memorial date: 1961 distinction: 1st Prize algebraic: white: [Kc1, Qg4, Bd4, Sb2, Sa7, Ph4, Pf4, Pe4, Pd2, Pb5] black: [Ka5, Rh6, Bd8, Se8, Pg5, Pf7, Pd6, Pc2, Pb4] stipulation: "#3" solution: | "1.Qg4-f3 ! threat: 2.Qf3-b3 threat: 3.Qb3-a2 # 3.Qb3-a4 # 3.Sb2-c4 # 2...d6-d5 3.Qb3-a2 # 3.Qb3-a4 # 1...Rh6*h4 2.Qf3-f1 threat: 3.Sa7-c6 # 1.Qg4-h3 ! threat: 2.Qh3-b3 threat: 3.Qb3-a2 # 3.Qb3-a4 # 3.Sb2-c4 # 2...d6-d5 3.Qb3-a2 # 3.Qb3-a4 # 1...Rh6*h4 2.Qh3-f1 threat: 3.Sa7-c6 #" comments: - Check also 299716 --- authors: - Брон, Владимир Акимович source: Československý šach date: 1962 algebraic: white: [Kh8, Qf2, Bh2, Sg3, Sf8, Pg5, Pc2, Pb2] black: [Ke5, Qb8, Ra6, Bc8, Ba5, Ph6, Ph3, Pd2, Pc6, Pb7] stipulation: "#3" solution: | "1.b2-b3 ! threat: 2.Sg3-h5 + 2...Ke5-e4 3.Sh5-f6 # 2...Ke5-d5 3.Sh5-f6 # 1...Ba5-c3 2.Sg3-e2 + 2...Ke5-d5 + 3.Se2*c3 # 2...Ke5-e4 + 3.Se2*c3 # 1...Ba5-d8 2.Sg3-e2 + 2...Ke5-d5 3.Qf2-d4 # 3.Se2-c3 # 2...Ke5-e4 3.Se2-c3 # 1...Ke5-d5 2.c2-c4 + 2...Kd5-d6 3.Sg3-f5 # 2...Kd5-e5 3.Qf2-f6 # 1...Ke5-d6 2.Sg3-f5 + 2...Kd6-d5 3.Qf2-d4 # 1...c6-c5 2.Qf2-f3 threat: 3.Sg3-e2 # 3.Sg3-f5 # 2...Ke5-d6 3.Sg3-f5 # 2...Ke5-d4 3.Sg3-e2 # 2...Ra6-f6 3.Sg3-f5 # 2...h6*g5 3.Sg3-e2 # 1...Qb8-d6 2.Qf2-e3 + 2...Ke5-d5 3.c2-c4 #" --- authors: - Брон, Владимир Акимович source: Sverdlovsk date: 1962 distinction: 1st Prize algebraic: white: [Kb1, Qg7, Rf5, Be2, Sd1, Ph4, Pg5, Pe3, Pd5, Pb4] black: [Ke4, Qh2, Rg3, Bf7, Bc5, Ph3, Pg2, Pd6, Pc7, Pb6] stipulation: "#3" solution: | "1.b4-b5 ! threat: 2.Rf5-f4 + 2...Ke4*d5 3.Be2-c4 # 1...Rg3*e3 2.Sd1-f2 + 2...Ke4*f5 3.Qg7-f6 # 1...Rg3-f3 2.Be2*f3 + 2...Ke4*f5 3.Qg7-f6 # 2...Ke4-d3 3.Qg7-c3 # 1...Rg3*g5 2.Be2-f3 + 2...Ke4*f5 3.Qg7*g5 # 2...Ke4-d3 3.Qg7-c3 # 1...Rg3-g4 2.Be2-f3 + 2...Ke4*f5 3.Qg7-f6 # 2...Ke4-d3 3.Qg7-c3 # 1...Ke4*f5 2.Qg7*f7 + 2...Kf5-e5 3.Qf7-e6 # 2...Kf5-e4 3.Qf7-e6 # 1...Bc5-a3 2.Qg7-d4 + 2...Ke4*f5 3.Be2-d3 # 1...Bc5-b4 2.Qg7-d4 + 2...Ke4*f5 3.Be2-d3 # 1...Bc5*e3 2.Sd1-c3 + 2...Ke4*f5 3.Qg7-f6 # 1...Bc5-d4 2.Qg7*d4 + 2...Ke4*f5 3.Be2-d3 # 1...Bf7-g6 2.Qg7-e7 + 2...Ke4*f5 3.Qe7-e6 #" --- authors: - Брон, Владимир Акимович source: The British Chess Magazine date: 1966 distinction: 1st Prize, ex aequo algebraic: white: [Kf7, Qg8, Rd5, Be1, Sg7, Sf4, Pf3, Pe2, Pd4] black: [Kc4, Rh2, Bg5, Bc2, Sg3, Pf5, Pb6, Pa6, Pa3] stipulation: "#3" solution: | "1.Kf7-e8 ! threat: 2.Rd5-e5 + 2...Kc4*d4 3.Qg8-d5 # 1...Bc2-e4 2.Rd5-d6 + 2...Kc4-b5 3.Qg8-b3 # 2...Be4-d5 3.Qg8*d5 # 1...Bc2-a4 + 2.Rd5-d7 + 2...Kc4-b5 3.Qg8-d5 # 1...Bc2-b3 2.Rd5-d6 + 2...Kc4-b5 3.Qg8*b3 # 1...Rh2-h8 2.Rd5-c5 + 2...Kc4*d4 3.Be1-f2 # 1...Rh2-h6 2.Rd5-c5 + 2...Kc4*d4 3.Be1-f2 # 1...Sg3-e4 2.Rd5-a5 + 2...Kc4*d4 3.Sg7*f5 # 1...Kc4-b3 2.Rd5-b5 + 2...Kb3-a4 3.Qg8-c4 #" --- authors: - Брон, Владимир Акимович source: Busmen's Chess Review date: 1970 algebraic: white: [Kc2, Qh3, Rd5, Bb5, Ba3, Ph6, Pe2] black: [Ka5, Bd7, Pf5, Pe3, Pb7, Pb6] stipulation: "#3" solution: | "1.Qh3*f5 ! zugzwang. 1...Bd7*b5 2.Qf5-f8 threat: 3.Qf8-a8 # 2...Ka5-a4 3.Qf8-b4 # 1...Bd7-c6 2.Qf5-f8 threat: 3.Qf8-b4 # 3.Qf8-a8 # 3.Ba3-b4 # 2...Bc6*b5 3.Qf8-a8 # 2...Bc6*d5 3.Qf8-b4 # 2...Bc6-e8 3.Qf8-b4 # 3.Ba3-b4 # 1...Bd7*f5 + 2.Kc2-c3 threat: 3.Ba3-b4 # 1...Bd7-e6 2.Qf5-e4 threat: 3.Qe4-a4 # 3.Qe4-b4 # 3.Ba3-b4 # 2...Be6*d5 3.Qe4-a4 # 3.Qe4-b4 # 2...Be6-f5 3.Ba3-b4 # 1...Bd7-e8 2.Rd5-d8 threat: 3.Rd8-a8 # 1...Bd7-c8 2.Qf5-e4 threat: 3.Qe4-a4 # 3.Qe4-b4 # 3.Ba3-b4 # 2...Bc8-f5 3.Ba3-b4 # 2.Kc2-c3 threat: 3.Ba3-b4 # 2.Kc2-b3 threat: 3.Ba3-b4 #" --- authors: - Брон, Владимир Акимович source: British Chess Federation date: 1970 distinction: 4th Prize algebraic: white: [Kb7, Qa2, Rh6, Bg8, Sd6, Sc8] black: [Ke5, Re2, Sh8, Sf4, Pg3, Pe3, Pd7, Pd4, Pb5] stipulation: "#3" solution: | "1.Rh6-g6 ! threat: 2.Rg6-g5 + 2...Ke5-f6 3.Sd6-e4 # 1...d4-d3 2.Qa2-a1 + 2...Re2-b2 3.Qa1*b2 # 1...Sf4-d3 2.Qa2-d5 + 2...Ke5-f4 3.Qd5-e4 # 3.Qd5-f5 # 1...Sf4-g2 2.Qa2-d5 + 2...Ke5-f4 3.Qd5-e4 # 3.Qd5-f5 # 1...Sf4-h3 2.Qa2-d5 + 2...Ke5-f4 3.Qd5-e4 # 3.Qd5-f5 # 1...Sf4-h5 2.Qa2-d5 + 2...Ke5-f4 3.Qd5-e4 # 3.Qd5-f5 # 1...Sf4*g6 2.Qa2-d5 + 2...Ke5-f6 3.Sd6-e8 # 2...Ke5-f4 3.Qd5-f5 # 1...Sf4-e6 2.Qa2-d5 + 2...Ke5*d5 3.Rg6-g5 # 2...Ke5-f4 3.Qd5-e4 # 3.Qd5-f5 # 1...Sf4-d5 2.Qa2*d5 + 2...Ke5-f4 3.Qd5-e4 # 3.Qd5-f5 # 1...Sh8-f7 2.Qa2*f7 threat: 3.Qf7-f5 # 3.Qf7-f6 # 3.Qf7-g7 # 3.Rg6-g5 # 2...d4-d3 3.Qf7-f6 # 3.Qf7-g7 # 2...Sf4-d3 3.Qf7-f5 # 3.Qf7-f6 # 3.Rg6-g5 # 2...Sf4-g2 3.Qf7-f5 # 3.Qf7-f6 # 3.Rg6-g5 # 2...Sf4-h3 3.Qf7-f5 # 3.Qf7-f6 # 2...Sf4-h5 3.Qf7-f5 # 3.Rg6-g5 # 2...Sf4*g6 3.Qf7-f5 # 2...Sf4-e6 3.Qf7-f5 # 2...Sf4-d5 3.Qf7-f5 # 3.Rg6-g5 # 1...Sh8*g6 2.Qa2-f7 threat: 3.Qf7-f5 # 3.Qf7-g7 # 2...d4-d3 3.Qf7-g7 # 2...Sf4-d3 3.Qf7-f5 # 2...Sf4-g2 3.Qf7-f5 # 2...Sf4-h3 3.Qf7-f5 # 2...Sf4-h5 3.Qf7-f5 # 2...Sf4-e6 3.Qf7-f5 # 2...Sf4-d5 3.Qf7-f5 # 2...Sg6-h4 3.Qf7-g7 # 2...Sg6-e7 3.Qf7-g7 #" --- authors: - Брон, Владимир Акимович source: Betinjscha-Turnier date: 1970 distinction: 2nd Prize algebraic: white: [Ka8, Rd5, Bh7, Bh6, Sg5, Se7] black: [Kh8, Qd1, Rd2, Rb3, Ba5, Sh1, Sd3, Pg4, Pg3, Pf7, Pe4, Pe2, Pc4, Pb5, Pa7] stipulation: "#3" solution: | "1.Rd5-d6 ! threat: 2.Rd6-g6 threat: 3.Bh6-g7 # 3.Rg6-g8 # 2...Qd1-a1 3.Rg6-g8 # 2...Ba5-c3 3.Rg6-g8 # 2...f7*g6 3.Se7*g6 # 1...Sd3-b2 2.Bh7-f5 threat: 3.Sg5*f7 # 1...Sd3-c1 2.Bh7-f5 threat: 3.Sg5*f7 # 1...Sd3-e1 2.Bh7-f5 threat: 3.Sg5*f7 # 1...Sd3-f2 2.Bh7-f5 threat: 3.Sg5*f7 # 1...Sd3-f4 2.Bh7-g8 threat: 3.Sg5*f7 # 1...Sd3-e5 2.Se7-f5 threat: 3.Bh6-g7 # 1...Sd3-c5 2.Bh7-f5 threat: 3.Sg5*f7 # 1...Sd3-b4 2.Bh7-f5 threat: 3.Sg5*f7 #" --- authors: - Брон, Владимир Акимович - Гуляев, Александр Павлович source: Шахматы в СССР date: 1970 distinction: 1st Prize algebraic: white: [Kd8, Qd7, Re7, Ra3, Bf8, Be2, Sc7, Sc3] black: [Kc4, Qd3, Rh5, Rg6, Bh1, Sh8, Pg3, Pf7, Pe6, Pe5, Pe4, Pb7, Pb5] stipulation: "#3" solution: | "1.Sc7*b5 ! threat: 2.Qd7-d6 threat: 3.Re7-c7 # 2...e4-e3 3.Be2*d3 # 1...Qd3*e2 2.Qd7-c8 + 2...Kc4-d3 3.Sc3-b1 # 2...Kc4-b4 3.Re7*e6 # 3.Re7*b7 # 3.Re7-c7 # 3.Re7-d7 # 3.Re7-e8 # 3.Re7*f7 # 2.Qd7-c7 + 2...Kc4-b4 3.Re7*e6 # 3.Re7-d7 # 3.Re7-e8 # 3.Re7*f7 # 2...Kc4-d3 3.Sc3-b1 # 1...g3-g2 2.Qd7*d3 + 2...Kc4-c5 3.Re7*e6 # 3.Qd3-d6 # 2...Kc4-b4 3.Qd3-d6 # 3.Re7*e6 # 3.Re7*b7 # 3.Re7-c7 # 3.Re7-d7 # 3.Re7-e8 # 3.Re7*f7 # 3.Qd3-c4 # 2...e4*d3 3.Re7-c7 # 1...Kc4-c5 2.Re7*e6 + 2...Qd3-d6 3.Qd7*d6 # 2...Kc5-c4 3.Qd7-d5 # 1...Kc4-b4 2.Re7*e6 + 2...Qd3-d6 3.Qd7*d6 # 3.Bf8*d6 # 2...Kb4-c4 3.Qd7-d5 # 2.Qd7*d3 threat: 3.Re7*e6 # 3.Re7*b7 # 3.Re7-c7 # 3.Re7-d7 # 3.Re7-e8 # 3.Re7*f7 # 3.Qd3-c4 # 3.Qd3-d6 # 2...Kb4-c5 3.Re7*e6 # 3.Qd3-d6 # 2...e4*d3 3.Re7-c7 # 2...Rg6-g8 3.Qd3-c4 # 3.Qd3-d6 # 1...e4-e3 2.Qd7*d3 + 2...Kc4-c5 3.Re7*e6 # 3.Qd3-d6 # 2...Kc4-b4 3.Qd3-d6 # 3.Re7*e6 # 3.Re7*b7 # 3.Re7-c7 # 3.Re7-d7 # 3.Re7-e8 # 3.Re7*f7 # 3.Qd3-c4 # 2.Be2*d3 + 2...Kc4-c5 3.Re7*e6 # 3.Qd7-d6 # 2...Kc4-b4 3.Qd7-d6 # 3.Re7*e6 # 3.Re7-e8 # 3.Re7*f7 # 1...Rh5-h7 2.Qd7-d4 + 2...e5*d4 3.Re7-c7 # 1...Rg6-g8 2.Qd7-d5 + 2...Kc4-b4 3.Sc3-a2 # 3.Ra3-a4 # 2...e6*d5 3.Re7-c7 # 1...Rg6-g7 2.Qd7-d5 + 2...Kc4-b4 3.Re7*e6 # 3.Re7*b7 # 3.Re7-c7 # 3.Re7-d7 # 3.Re7-e8 # 3.Re7*f7 # 3.Sc3-a2 # 3.Ra3-a4 # 2...e6*d5 3.Re7-c7 # 1...f7-f5 2.Qd7-d4 + 2...e5*d4 3.Re7-c7 # 1...f7-f6 2.Qd7-d5 + 2...Kc4-b4 3.Re7*e6 # 3.Re7*b7 # 3.Re7-c7 # 3.Re7-d7 # 3.Re7-e8 # 3.Re7-h7 # 3.Re7-g7 # 3.Re7-f7 # 3.Sc3-a2 # 3.Ra3-a4 # 2...e6*d5 3.Re7-c7 #" --- authors: - Брон, Владимир Акимович source: Ленінське плем'я date: 1970 distinction: 2nd Prize algebraic: white: [Ka3, Bb8, Bb5, Pg3, Pe6, Pd7, Pb3, Pb2] black: [Kd5, Bh1, Sf2, Pf6, Pf5, Pe7, Pd4, Pd3, Pc5, Pb6] stipulation: "#3" solution: | "1.Bb8-f4 ! threat: 2.d7-d8=Q + 2...Kd5*e6 3.Qd8-g8 # 2...Kd5-e4 3.Qd8-a8 # 3.Bb5-c6 # 1...Sf2-e4 2.Bb5-c4 + 2...Kd5-c6 3.d7-d8=S # 1...c5-c4 2.b3*c4 + 2...Kd5-c5 3.b2-b4 # 2...Kd5*e6 3.d7-d8=S # 2...Kd5-e4 3.Bb5-c6 # 1...Kd5*e6 2.d7-d8=S + 2...Ke6-d5 3.Bb5-c6 #" --- authors: - Брон, Владимир Акимович source: Palkoska Memorial date: 1971 distinction: 1st HM algebraic: white: [Ka2, Rf7, Rf2, Bg1, Sc8, Pe6, Pc2, Pb7, Pa5] black: [Kb8, Rh4, Bh3, Bc1, Ph7, Pg3, Pg2, Pf5, Pd6, Pc4, Pc3, Pa6] stipulation: "#3" solution: | "1.Rf7-d7 ! threat: 2.Sc8-e7 threat: 3.Se7-c6 # 1...Bc1-g5 2.Rf2-f4 threat: 3.Bg1-a7 # 1...Bh3-g4 2.Rf2-d2 threat: 3.Bg1-a7 #" --- authors: - Брон, Владимир Акимович source: Szachy date: 1971 distinction: 2nd HM algebraic: white: [Ka1, Qh4, Be2, Sb7, Sb1, Pf3, Pd5, Pc3] black: [Kb3, Rf5, Bf8, Bc6, Se7, Sb6, Pg7, Pf4, Pd3, Pa6, Pa5] stipulation: "#3" solution: | "1.Qh4-e1 ! threat: 2.Be2*d3 threat: 3.Sb7-c5 # 3.Qe1-d1 # 2...Rf5*d5 3.Qe1-d1 # 2...Sb6-a4 3.Sb7*a5 # 3.Qe1-d1 # 2...Sb6-d7 3.Qe1-d1 # 2...Bc6*b7 3.Qe1-d1 # 2...Se7*d5 3.Qe1-d1 # 2...Se7-g6 3.Qe1-d1 # 2...Se7-g8 3.Qe1-d1 # 2...Se7-c8 3.Qe1-d1 # 1...Kb3-a4 2.Be2-d1 + 2...Ka4-b5 3.Sb1-a3 # 2.Qe1-d1 + 2...Ka4-b5 3.Qd1-b3 # 3.Sb1-a3 # 1...d3*e2 2.Qe1*e2 threat: 3.Sb7-c5 # 3.Qe2-a2 # 2...Kb3-a4 3.Sb7-c5 # 2...Rf5*d5 3.Qe2-a2 # 2...Sb6-a4 3.Sb7*a5 # 3.Qe2-a2 # 2...Sb6-d7 3.Qe2-a2 # 2...Bc6*b7 3.Qe2-a2 # 2...Se7*d5 3.Qe2-a2 # 2...Se7-g6 3.Qe2-a2 # 2...Se7-g8 3.Qe2-a2 # 2...Se7-c8 3.Qe2-a2 # 1...Rf5*d5 2.Be2-d1 + 2...Kb3-c4 3.Sb1-a3 # 1...Sb6-a4 2.Sb7*a5 + 2...Kb3-c2 3.Sb1-a3 # 3.Qe1-d2 # 3.Qe1-d1 # 1...Sb6*d5 2.Be2-d1 + 2...Kb3-c4 3.Sb1-a3 # 2.Qe1-d1 + 2...Kb3-c4 3.Be2*d3 # 1...Bc6-b5 2.Be2-d1 + 2...Kb3-c4 3.Qe1-e4 # 2.Qe1-d2 threat: 3.Qd2-a2 # 1...Bc6*d5 2.Be2-d1 + 2...Kb3-c4 3.Sb1-a3 # 2.Qe1-d1 + 2...Kb3-c4 3.Be2*d3 # 1...Se7*d5 2.Qe1-d1 + 2...Kb3-c4 3.Be2*d3 #" --- authors: - Брон, Владимир Акимович source: Buletin Problemistic date: 1973 algebraic: white: [Kh5, Qe8, Se4, Sc2, Pf5, Pf2, Pe2] black: [Kd5, Bb2, Sa6, Pf7, Pc4, Pb6] stipulation: "#3" solution: | "1.Kh5-g4 ! threat: 2.Qe8-a8 + 2...Kd5-e5 3.f2-f4 # 1...Bb2-c1 2.Qe8-d7 + 2...Kd5-e5 3.Qd7-d4 # 2...Kd5*e4 3.Qd7-d4 # 2.Qe8*f7 + 2...Kd5-e5 3.Qf7-e6 # 2...Kd5-c6 3.Sc2-d4 # 2...Kd5*e4 3.Qf7-e6 # 1...c4-c3 2.Qe8*f7 + 2...Kd5-e5 3.Qf7-e6 # 2...Kd5-c6 3.Sc2-d4 # 2...Kd5*e4 3.Qf7-e6 # 1...Sa6-b4 2.Qe8-b5 + 2...Kd5*e4 3.f2-f3 # 2.Sc2*b4 + 2...Kd5-d4 3.e2-e3 # 1...Sa6-c5 2.Sc2-b4 + 2...Kd5-d4 3.e2-e3 # 1...Sa6-c7 2.Sc2-b4 + 2...Kd5-d4 3.e2-e3 # 1...Sa6-b8 2.Sc2-b4 + 2...Kd5-d4 3.e2-e3 # 2.Qe8-b5 + 2...Kd5*e4 3.f2-f3 #" --- authors: - Брон, Владимир Акимович source: Šachové umění source-id: 4951 date: 1977-10 distinction: 2nd HM algebraic: white: [Kd7, Qd3, Re7, Bh8, Bf3, Sf7] black: [Kh7, Bb8, Sc6, Sc1, Ph6, Pg6, Pc7, Pb4] stipulation: "#3" solution: | "1.Bf3-d5 ! threat: 2.Sf7-g5 + 2...Kh7*h8 3.Re7-h7 # 1...Sc6-e5 + 2.Sf7*e5 + 2...Kh7*h8 3.Se5*g6 # 1...h6-h5 2.Qd3*g6 + 2...Kh7*g6 3.Bd5-e4 #" --- authors: - Брон, Владимир Акимович source: Šachové umění source-id: 5132 date: 1978-07 distinction: 1st Comm. algebraic: white: [Kb7, Bd4, Se8, Se1, Pe2, Pc3, Pa2] black: [Kd5, Qh2, Se7, Sa7, Pf7, Pe4, Pe3, Pd7, Pd6] stipulation: "#3" solution: | "Sc2! 1. ... Qxe2 2. Sb4+ 2. ... Kc4 3. Sxd6# 2. ... Ke6 3. Sg7# 1. ... Kc4 2. Sa3+ 2. ... Kd5 3. Sc7# 1. ... Ke6 2. Sg7+ 2. ... Kd5 3. Sxe3#" --- authors: - Брон, Владимир Акимович source: Šachové umění source-id: 9/5189 date: 1978 distinction: 2nd Comm. algebraic: white: [Kf5, Ra3, Bh4, Bd7, Sg4, Sf3] black: [Kh3, Sa6, Sa1, Ph7, Pg5, Pb7] stipulation: "#3" solution: | "1.Kf5-e5 ! threat: 2.Sg4-e3 + 2...g5-g4 3.Bd7*g4 # 2.Sg4-f2 + 2...Kh3-g2 3.Bd7-h3 # 1...Sa1-b3 2.Sg4-e3 + 2...g5-g4 3.Bd7*g4 # 1...Kh3-g2 2.Sg4-e3 + 2...Kg2*f3 3.Bd7-g4 # 2...Kg2-h1 3.Ra3*a1 # 1...g5*h4 2.Sf3-e1 + 2...Sa1-b3 3.Ra3*b3 # 1...Sa6-c5 2.Sg4-f2 + 2...Kh3-g2 3.Bd7-h3 # 1...Sa6-c7 2.Sg4-f2 + 2...Kh3-g2 3.Bd7-h3 # 1...Sa6-b8 2.Sg4-f2 + 2...Kh3-g2 3.Bd7-h3 # 1...h7-h5 2.Sg4-f2 + 2...Kh3-g2 3.Bd7-h3 #" --- authors: - Давиденко, Фёдор Васильевич - Брон, Владимир Акимович source: Šahs/Шахматы (Rīga) date: 1979 distinction: 1st Prize algebraic: white: [Kb8, Qd7, Rf7, Bg8, Sd8, Pf3, Pe4, Pc6, Pb4] black: [Ke5, Qd1, Rg4, Re2, Bb1, Sf2, Pg6, Pf4, Pe6, Pd2, Pc7, Pc3, Pb6, Pb3] stipulation: "#3" solution: | "1.Rf7-f8 ! threat: 2.Qd7-g7 + 2...Ke5-d6 3.Qg7*c7 # 1...Bb1*e4 2.Sd8*e6 threat: 3.Qd7-d4 # 2...Be4-d5 3.Qd7*c7 # 1...Re2*e4 2.Kb8*c7 threat: 3.Qd7-d6 # 2...Re4-d4 3.Qd7*e6 # 1...Sf2*e4 2.Bg8*e6 threat: 3.Qd7-d5 # 2...Se4-f6 3.Sd8-f7 # 2...Se4-d6 3.Qd7-g7 #" --- authors: - Брон, Владимир Акимович source: ÚV ČSZTV date: 1979-05-09 distinction: 3rd Prize algebraic: white: [Kh1, Qb2, Rc3, Bf5] black: [Kh8, Sa4, Sa1, Pg7, Pf4, Pe4, Pc6, Pb3] stipulation: "#3" solution: | "1.Bf5-g6 ! threat: 2.Bg6-f7 threat: 3.Rc3-h3 # 3.Qb2-h2 # 2...Sa1-c2 3.Rc3-h3 # 2...Sa4*b2 3.Rc3-h3 # 2...Sa4*c3 3.Qb2-h2 # 2...e4-e3 3.Qb2-h2 # 2...f4-f3 3.Qb2-h2 # 2...g7-g5 3.Rc3-h3 # 2...g7-g6 3.Rc3-h3 # 2.Qb2-d2 threat: 3.Qd2-d8 # 1...Sa1-c2 2.Qb2*b3 threat: 3.Rc3-h3 # 3.Qb3-b8 # 2...Sc2-e3 3.Qb3-b8 # 2...Sc2-b4 3.Rc3-h3 # 2...Sa4*c3 3.Qb3-b8 # 2...Sa4-b6 3.Rc3-h3 # 2...e4-e3 3.Qb3-b8 # 2...f4-f3 3.Qb3-b8 # 1...Sa4*b2 2.Rc3*c6 threat: 3.Rc6-c8 # 1...Sa4*c3 2.Qb2-a3 threat: 3.Qa3-f8 # 3.Qa3-a8 # 2...Sc3-a4 3.Qa3-f8 # 2...c6-c5 3.Qa3-a8 # 2...Kh8-g8 3.Qa3-a8 # 1...Sa4-c5 2.Bg6-f7 threat: 3.Rc3-h3 # 3.Qb2-h2 # 2...Sa1-c2 3.Rc3-h3 # 2...e4-e3 3.Qb2-h2 # 2...f4-f3 3.Qb2-h2 # 2...Sc5-d3 3.Qb2-h2 # 2...g7-g5 3.Rc3-h3 # 2...g7-g6 3.Rc3-h3 # 1...Sa4-b6 2.Bg6-f7 threat: 3.Rc3-h3 # 3.Qb2-h2 # 2...Sa1-c2 3.Rc3-h3 # 2...e4-e3 3.Qb2-h2 # 2...f4-f3 3.Qb2-h2 # 2...g7-g5 3.Rc3-h3 # 2...g7-g6 3.Rc3-h3 # 1...e4-e3 2.Rc3-d3 threat: 3.Rd3-d8 # 1...f4-f3 2.Qb2-h2 + 2...Kh8-g8 3.Qh2-b8 # 2.Qb2-d2 threat: 3.Qd2-d8 # 1...Kh8-g8 2.Qb2-d2 threat: 3.Qd2-d8 #" --- authors: - Брон, Владимир Акимович - Гамза, Григорий Степанович source: Šachové umění source-id: 4/5608 date: 1980 distinction: 2nd HM algebraic: white: [Kd3, Qh1, Bd8, Se5, Sd7] black: [Kg5, Qe7, Ba3, Pf5, Pd4] stipulation: "#3" solution: | "1.Sd7-f8 ! threat: 2.Sf8-h7 + 2...Kg5-f4 3.Qh1-h2 # 1...f5-f4 2.Kd3-e4 threat: 3.Sf8-h7 # 2...Kg5-f6 3.Qh1-h6 # 1...Kg5-f6 2.Qh1-h8 + 2...Kf6-g5 3.Sf8-e6 # 1...Kg5-f4 2.Qh1-h2 + 2...Kf4-g5 3.Sf8-h7 #" --- authors: - Брон, Владимир Акимович source: Šachové umění source-id: 7/6478 date: 1983 distinction: 1st Comm. algebraic: white: [Kg6, Qh1, Bc8, Sd7, Sb7] black: [Kc6, Ba3, Pg5, Pg4, Pf3, Pd4, Pb4, Pb3, Pa5, Pa4] stipulation: "#3" solution: | "1.Qh1-e1 ! threat: 2.Qe1-e5 threat: 3.Sb7*a5 # 3.Sb7-d8 # 3.Qe5-c5 # 1...b3-b2 2.Qe1-e4 + 2...Kc6-b5 3.Sb7-d6 # 2...Kc6-c7 3.Qe4-c2 # 1...Kc6-c7 2.Qe1-e6 threat: 3.Qe6-c4 # 2...Kc7*c8 3.Qe6-c6 # 1...Kc6-d5 2.Sb7*a5 threat: 3.Qe1-e5 # 1...Kc6-b5 2.Sb7*a5 threat: 3.Qe1-e5 #" --- authors: - Брон, Владимир Акимович source: Hlas ľudu source-id: 261 date: 1972-12-28 distinction: 3rd Comm. algebraic: white: [Kb6, Qd2, Rc8, Be2, Sh7, Sg8] black: [Ke8, Rf7, Bg7, Sf2, Sd8, Ph6, Pg5, Pe6, Pd6, Pd4, Pb7] stipulation: "#3" solution: | "1.Qd2-c2 ! threat: 2.Be2-b5 + 2...Rf7-d7 3.Qc2-g6 # 2.Qc2-a4 + 2...Rf7-d7 3.Be2-h5 # 1...Sf2-e4 2.Qc2-a4 + (A) 2...Rf7-d7 3.Be2-h5 # (B) 1...Rf7-f5 2.Be2-h5 + (B) 2...Rf5-f7 3.Qc2-a4 # (A) 1...Sf2-g4 2.Be2-b5 + (C) 2...Rf7-d7 3.Qc2-g6 # (D) 1...Rf7-f3 2.Qc2-g6 + (D) 2...Rf3-f7 3.Be2-b5 # (C)" --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet source-id: 2391 date: 1958-02 distinction: 1st Prize algebraic: white: [Ka2, Qa7, Rd7, Bh1, Bb6, Sf7, Sa6, Pe6, Pc3, Pb7, Pb2, Pa3] black: [Kc4, Rh6, Bh2, Be8, Pd6, Pd4, Pd3, Pc6, Pb5] stipulation: "#3" solution: | "1.Sa6-b4 ! threat: 2.Bb6*d4 threat: 3.b2-b3 # 1...Bh2-e5 2.Bh1*c6 threat: 3.Bc6-d5 # 1...Bh2-f4 2.Rd7*d6 threat: 3.Rd6*d4 # 2...Bf4-e3 3.Sf7-e5 # 2...Bf4*d6 3.Sf7*d6 # 2...Bf4-e5 3.Sf7*e5 # 2...c6-c5 3.Bh1-d5 # 1...Bh2-g3 2.Bh1-e4 threat: 3.Be4*d3 # 1...d3-d2 2.b2-b3 + 2...Kc4*c3 3.Bb6*d4 # 1...Rh6*e6 2.Bh1*c6 threat: 3.Bc6-d5 # 2...Re6-e5 3.Sf7*d6 # 1...Rh6-f6 2.Rd7*d6 threat: 3.Rd6*d4 # 2...Bh2-g1 3.Sf7-e5 # 2...Bh2*d6 3.Sf7*d6 # 2...Bh2-e5 3.Sf7*e5 # 2...c6-c5 3.Bh1-d5 # 2...Rf6-f4 3.Sf7-e5 # 1...Rh6-g6 2.Bh1-e4 threat: 3.Be4*d3 # 2...Rg6-g3 3.Sf7*d6 #" --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet date: 1959 distinction: 1st Prize algebraic: white: [Kf8, Qc1, Rg5, Rd2, Bd6, Ba6, Se8, Sd8, Pf7, Pf2, Pe7, Pe6, Pd3, Pa2] black: [Kd5, Rh4, Ba8, Ba7, Sh6, Pf5, Pb5, Pa4, Pa3] stipulation: "#3" solution: | "1.d3-d4 ! threat: 2.Se8-f6 + 2...Kd5*d6 3.e7-e8=S # 1...Rh4*d4 2.Ba6*b5 threat: 3.Qc1-h1 # 2...Rd4*d2 3.Qc1-c4 # 2...Rd4-d3 3.Qc1-c4 # 1...Sh6-g4 2.Rg5*f5 + 2...Sg4-e5 3.Rf5*e5 # 2...Kd5-e4 3.Qc1-b1 # 3.Qc1-c2 # 1...Sh6-g8 2.Rg5*f5 + 2...Kd5-e4 3.Qc1-b1 # 3.Qc1-c2 # 1...Ba7*d4 2.f2-f3 threat: 3.Qc1-c5 #" --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet source-id: 3242 date: 1965-03 algebraic: white: [Kh2, Qe2, Rb6, Bf4, Ba6, Se6, Pf3, Pf2, Pd4] black: [Kd5, Qf8, Rh7, Ra4, Be8, Sg5, Sa8, Ph6, Pg6, Pf6, Pa5] stipulation: "#3" solution: | "1.Bf4-b8 ! threat: 2.Se6-f4 + 2...Kd5*d4 3.Qe2-e3 # 1...Ra4*d4 2.Qe2-a2 + 2...Rd4-c4 3.Ba6*c4 # 3.Qa2*c4 # 1...Be8-b5 2.Qe2*b5 + 2...Qf8-c5 3.Rb6-d6 # 3.Qb5*c5 # 1...Qf8-a3 2.Qe2-a2 + 2...Qa3*a2 3.Rb6-d6 # 2...Qa3-b3 3.Rb6-d6 # 2...Ra4-c4 3.Ba6*c4 # 3.Qa2*c4 # 1...Qf8-e7 2.Ba6-b7 + 2...Qe7*b7 3.Rb6-d6 # 2...Be8-c6 3.Bb7*c6 #" --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet source-id: 3267 date: 1965-05 algebraic: white: [Kc3, Qh6, Rf2, Ra6, Bd7, Sf4, Sd6, Pd3, Pc2] black: [Ke5, Qg8, Rg1, Rb1, Bb8, Bb3, Pf6, Pf5, Pe4, Pc5] stipulation: "#3" solution: | "1.Sf4-d5 ! threat: 2.Rf2*f5 # 1...Rb1-f1 2.Qh6-f4 + 2...Ke5*d5 3.Qf4*f5 # 2.Qh6*f6 + 2...Ke5*d5 3.Bd7-c6 # 3.Qf6*f5 # 1...Rg1-f1 2.Qh6-f4 + 2...Ke5*d5 3.Qf4*f5 # 2.Qh6*f6 + 2...Ke5*d5 3.Bd7-c6 # 3.Qf6*f5 # 1...Rg1-g5 2.Qh6*f6 + 2...Ke5*d5 3.Bd7-c6 # 1...f5-f4 2.Qh6*f6 + 2...Ke5*d5 3.Bd7-c6 # 3.Qf6-f5 # 3.d3*e4 # 2.Qh6*f4 + 2...Ke5*d5 3.d3*e4 # 3.Qf4*e4 # 3.Qf4-f5 # 1...Qg8-e6 2.Qh6-f4 + 2...Ke5*d5 3.Bd7-c6 # 2.Sd6-f7 + 2...Ke5*d5 3.Bd7*e6 # 2...Qe6*f7 3.Rf2*f5 # 1...Qg8-h7 2.Qh6*f6 + 2...Ke5*d5 3.Bd7-c6 # 3.Bd7-e6 # 3.Qf6-e6 # 2.Sd6-f7 + 2...Ke5*d5 3.Bd7-e6 # 2...Qh7*f7 3.Rf2*f5 # 1...Qg8-g4 2.Qh6*f6 + 2...Ke5*d5 3.Bd7-c6 # 3.Bd7-e6 # 3.Qf6-e6 # 2.Sd6-f7 + 2...Ke5*d5 3.Bd7-e6 # 1...Qg8-g5 2.Sd6-f7 + 2...Ke5*d5 3.Bd7-e6 # 1...Qg8-g6 2.Sd6-f7 + 2...Ke5*d5 3.Bd7-e6 # 2...Qg6*f7 3.Rf2*f5 #" --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet source-id: 3425 date: 1966-12 distinction: 1st Comm. algebraic: white: [Kg8, Qh4, Rf5, Rc5, Bd7, Ba3, Sg4, Sf8, Pg5, Pf7, Pd4] black: [Ke7, Qb7, Rb8, Ra8, Bf2, Se3, Sc8, Ph7, Pf6, Pb3] stipulation: "#3" solution: | "1.Sg4-e5 ! threat: 2.Sf8-g6 + 2...Ke7-d8 3.f7-f8=Q # 3.f7-f8=R # 2...Ke7-d6 3.Rf5*f6 # 2...h7*g6 3.f7-f8=Q # 1...Se3-g4 2.g5*f6 + 2...Sg4*f6 + 3.Qh4*f6 # 2...Ke7-d8 3.Sf8-e6 # 2...Ke7-d6 3.Se5-c4 # 1...Se3*f5 2.g5*f6 + 2...Ke7-d8 3.Sf8-e6 # 2...Ke7-d6 3.Se5-c4 # 1...f6*e5 2.Rf5*e5 + 2...Ke7-d8 3.Re5-e8 # 2...Ke7-d6 3.Re5-e6 # 3.Rc5-c6 # 3.Qh4-h6 # 1...Qb7-f3 2.Rc5-d5 + 2...Ra8*a3 3.Se5-c6 # 2...Ke7-d8 3.Sf8-e6 # 2...Rb8-b4 3.Se5-c6 # 2...Sc8-d6 3.Se5-c6 # 1...Qb7-d5 2.Rc5*d5 + 2...Ra8*a3 3.Se5-c6 # 2...Ke7-d8 3.Sf8-e6 # 2...Rb8-b4 3.Se5-c6 # 2...Sc8-d6 3.Se5-c6 # 1...Qb7-c6 2.Se5*c6 + 2...Ke7-d6 3.Qh4-f4 # 1...Qb7*d7 2.Rc5-c7 + 2...Ra8*a3 3.Rc7*d7 # 2...Ke7-d8 3.Rc7*d7 # 2...Rb8-b4 3.Rc7*d7 # 2...Sc8-d6 3.Rc7*d7 # 3.Se5-c6 # 1...Ke7-d8 2.Sf8-e6 + 2...Kd8-e7 3.f7-f8=Q # 3.f7-f8=B # 2.Rc5*c8 + 2...Qb7*c8 3.Sf8-e6 # 2...Rb8*c8 3.Sf8-e6 # 1...Ke7-d6 2.Rc5-c6 + 2...Kd6-d5 3.Bd7-e6 # 1...Sc8-a7 2.Rc5-b5 + 2...Ke7-d8 3.Sf8-e6 # 1...Sc8-b6 2.Rc5-a5 + 2...Ke7-d8 3.Sf8-e6 # 1...Sc8-d6 2.g5*f6 + 2...Ke7-d8 3.Sf8-e6 #" --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet source-id: 3549 date: 1968-10 algebraic: white: [Kh8, Qa1, Re1, Rb5, Bf3, Bb4, Sg2, Ph4, Pf2, Pe4, Pd5, Pb3] black: [Ke5, Rd4, Rd2, Bg8, Sf6, Pg4, Pf7, Pd3, Pc2] stipulation: "#3" solution: | "1.Bb4-e7 ! threat: 2.Qa1*d4 + 2...Ke5*d4 3.Be7*f6 # 1...Sf6*d5 2.Qa1-a6 threat: 3.Be7-f6 # 3.Qa6-f6 # 3.Qa6-d6 # 2...Rd4-a4 3.Be7-f6 # 3.Qa6-f6 # 3.Rb5*d5 # 2...Rd4-b4 3.Be7-f6 # 3.Qa6-f6 # 3.Rb5*d5 # 2...Rd4-c4 3.Be7-f6 # 3.Qa6-f6 # 3.Rb5*d5 # 2...Rd4*e4 3.Qa6-f6 # 1...Sf6*e4 2.Bf3*g4 threat: 3.d5-d6 # 3.f2-f4 # 2...c2-c1=Q 3.f2-f4 # 2...c2-c1=R 3.f2-f4 # 2...Rd2*f2 3.d5-d6 # 2...Rd2-e2 3.f2-f4 # 2...f7-f5 3.f2-f4 # 2...f7-f6 3.f2-f4 # 1...Sf6-h5 2.Rb5-b4 threat: 3.Qa1*d4 # 1...Sf6-h7 2.Rb5-b4 threat: 3.Qa1*d4 # 1...Sf6-e8 2.Rb5-b4 threat: 3.Qa1*d4 # 1...Sf6-d7 2.Rb5-b4 threat: 3.Qa1*d4 #" --- authors: - Брон, Владимир Акимович - Давиденко, Фёдор Васильевич source: Magyar Sakkélet source-id: 11/4424 date: 1980 algebraic: white: [Kb6, Qg6, Rd3, Rc4, Bf3, Se3, Sa4, Pg7, Pe6, Pe2, Pd6] black: [Ke5, Qh2, Rd8, Bh6, Bg4, Sh3, Sf7, Ph5, Pg5, Pf5, Pf2, Pc6, Pb7, Pb4] stipulation: "#3" solution: | "1.Qg6*f7 1.Sa4-c5 ! threat: 2.g7-g8=S threat: 3.Qg6-f6 # 2...Bh6-g7 3.Qg6*g7 # 2...Rd8*g8 3.Sc5-d7 # 1...Qh2-f4 2.Sc5-d7 + 2...Rd8*d7 3.Rc4-c5 # 1...Sh3-f4 2.Rc4-e4 + 2...f5*e4 3.Se3-c4 # 1...Sf7*d6 2.Rd3-d5 + 2...c6*d5 3.Sc5-d3 # 1...Rd8*d6 2.Se3*g4 + 2...h5*g4 3.Rd3-e3 #" keywords: - Clearance sacrifice - Selfblock - Cooked comments: - Anticipation 53392 --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet source-id: 5/4680 date: 1983 distinction: 2nd Comm. algebraic: white: [Kb7, Qf1, Re4, Rb5, Ba4, Sc6, Sb1, Pe5, Pe2, Pd4] black: [Kc4, Rd7, Bb6, Sg1, Sb3, Ph5, Pg6, Pe7, Pc7, Pc5, Pb4, Pa5] stipulation: "#3" solution: | "1.Re4-h4 ! threat: 2.e2-e4 + 2...Sg1-e2 3.Qf1*e2 # 1...Sg1*e2 2.Qf1*e2 + 2...Kc4-d5 3.Ba4*b3 # 1...Sb3-c1 2.Qf1*c1 + 2...Kc4-d5 3.Ba4-b3 # 1...Sb3-d2 2.Sb1*d2 + 2...Kc4-c3 3.Qf1-c1 # 2...Kc4-d5 3.Ba4-b3 # 1...Sb3*d4 2.Qf1-d1 threat: 3.Qd1-b3 # 2...Kc4-d5 3.Ba4-b3 # 1...c5*d4 2.e2-e3 + 2...Sg1-e2 3.Qf1*e2 # 1...Rd7*d4 2.Qf1-f7 + 2...e7-e6 3.Qf7*e6 #" --- authors: - Брон, Владимир Акимович source: Pravda source-id: 792 date: 1976-01-30 algebraic: white: [Kh1, Qb1, Ra8, Bd6, Se8, Sb7] black: [Kd7, Sf4, Pf6, Pf5, Pe5, Pb4, Pb3, Pa4] stipulation: "#3" solution: | "1.Sb7-d8 ! threat: 2.Qb1-c1 threat: 3.Qc1-c6 # 1...b3-b2 2.Qb1-d1 threat: 3.Se8*f6 # 3.Qd1*a4 # 2...Kd7*e8 3.Qd1*a4 # 1...Sf4-d5 2.Qb1-d3 threat: 3.Qd3-b5 # 2...Sd5-c3 3.Se8*f6 # 2...Sd5-e7 3.Se8*f6 # 2...Sd5-c7 3.Se8*f6 # 1...Sf4-e2 2.Qb1*f5 + 2...Kd7*e8 3.Qf5-e6 #" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1955 distinction: 1st Prize algebraic: white: [Kh8, Qb1, Rh4, Ra4] black: [Kc3, Bh3, Se3] stipulation: "#3" solution: | "1.Re4! - 2.Qc1+ Sc2 3.Ra3/Re3# 1...Bf5 2.Qc1+ Sc2 3.Ra3# 1...Be6 2.Qc1+ Sc2 3.Re3# 1...Kd2 2.Qb2+ 2...Ke1 3.Ra1# 2...Sc2 3.Rad4# 1...Sc2,Sc4 2.Ra(:)c4+ Kd2 3.Q:c2# 1...Sf5 2.Rac4+/Ra3+ (dual)" keywords: - Model mates --- authors: - Брон, Владимир Акимович source: Известия date: 1928 distinction: 2nd Prize algebraic: white: [Ka8, Qg5, Bg2, Ba7, Sf4, Se8, Pf2, Pd5, Pd2, Pb5] black: [Ke5, Rh6, Re4, Bh8, Sc6, Pf5, Pd7, Pa6] stipulation: "#3" solution: | "1.Qg5-g3 ! threat: 2.Sf4-g6 + 2...Ke5*d5 3.Qg3-b3 # 1...Re4*f4 2.b5*c6 threat: 3.d2-d4 # 1...Sc6-a5 2.Ba7-d4 + 2...Re4*d4 3.Sf4-d3 # 3.Sf4-g6 # 2...Ke5*d4 3.Qg3-c3 # 2.Qg3-c3 + 2...Re4-d4 3.Sf4-d3 # 3.Qc3*d4 # 2...Ke5*f4 3.Qc3-g3 # 2.d2-d4 + 2...Re4*d4 3.Sf4-d3 # 3.Sf4-g6 # 1...Sc6-d4 2.Ba7*d4 + 2...Re4*d4 3.Sf4-d3 # 3.Sf4-g6 # 2...Ke5*d4 3.Qg3-c3 # 1...Sc6*a7 2.Qg3-c3 + 2...Re4-d4 3.Sf4-d3 # 2...Ke5*f4 3.Qc3-g3 # 1...Rh6-h3 2.Sf4-d3 + 2...Ke5*d5 3.Qg3-g8 #" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1931 distinction: 1st-2nd Prize algebraic: white: [Kh6, Qf4, Rd1, Sg6, Se5, Pf7, Pc5, Pc2, Pb4, Pb2] black: [Kd4, Re2, Bd2, Ba6, Sf1, Sb8, Pf2, Pe4, Pc7, Pb5] stipulation: "#3" solution: | "1.Qf4-g5 ! threat: 2.c2-c3 + 2...Kd4-d5 3.Sg6-f4 # 1...Re2-e3 2.Qg5-d8 + 2...Sb8-d7 3.Qd8*d7 # 1...Kd4-d5 2.Sg6-e7 + 2...Kd5-d4 3.c2-c3 # 2...Kd5-e6 3.f7-f8=S # 1...e4-e3 2.Qg5-g2 threat: 3.c2-c3 #" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1937 distinction: 2nd Prize algebraic: white: [Ka6, Qf4, Rb4, Bg7, Sd2, Pc2] black: [Ka1, Bb2, Sc3, Pc5, Pb3] stipulation: "#3" solution: | "1.Qf4-c4 ! zugzwang. 1...Ka1-a2 2.Qc4*b3 + 2...Ka2-a1 3.Qb3*b2 # 1...Bb2-c1 2.Qc4*b3 threat: 3.Qb3-b1 # 2...Bc1-b2 3.Qb3*b2 # 2.Bg7*c3 + 2...Ka1-a2 3.Qc4*b3 # 2...Bc1-b2 3.Rb4-a4 # 2...b3-b2 3.Rb4-a4 # 2.Qc4*c3 + 2...Ka1-a2 3.Qc3-a1 # 3.Qc3*b3 # 2...Bc1-b2 3.Rb4-a4 # 3.Qc3*b2 # 2...b3-b2 3.Rb4-a4 # 3.Qc3-a3 # 1...Bb2-a3 2.Qc4*c3 + 2...Ka1-a2 3.Qc3-a1 # 3.Qc3*b3 # 2...Ba3-b2 3.Rb4-a4 # 3.Qc3*b2 # 2...b3-b2 3.Qc3*a3 # 2.Qc4*b3 threat: 3.Qb3-b1 # 3.Qb3*a3 # 2...Ba3-c1 3.Qb3-b1 # 2...Ba3-b2 3.Qb3*b2 # 2...Ba3*b4 3.Qb3-b1 # 2...c5*b4 3.Qb3-b1 # 1...b3*c2 2.Rb4-a4 + 2...Bb2-a3 3.Bg7*c3 # 2...Sc3-a2 3.Qc4*a2 # 3.Ra4*a2 # 2...Sc3*a4 3.Qc4*a4 # 1...Sc3-a2 2.Qc4-f1 + 2...Sa2-c1 3.Rb4-a4 # 1...Sc3-b1 2.Qc4*b3 threat: 3.Bg7*b2 # 3.Qb3*b2 # 2...Sb1*d2 3.Qb3*b2 # 2...Sb1-c3 3.Qb3*b2 # 2...Bb2*g7 3.Qb3*b1 # 2...Bb2-f6 3.Qb3*b1 # 2...Bb2-e5 3.Qb3*b1 # 2...Bb2-d4 3.Qb3*b1 # 2...Bb2-c3 3.Qb3*b1 # 2.Rb4-a4 + 2...Sb1-a3 3.Ra4*a3 # 1...Sc3-d1 2.Rb4-a4 # 1...Sc3-e2 2.Rb4-a4 # 1...Sc3-e4 2.Rb4-a4 # 1...Sc3-d5 2.Rb4-a4 # 1...Sc3-b5 2.Rb4-a4 + 2...Sb5-a3 3.Ra4*a3 # 1...Sc3-a4 2.Rb4*a4 # 1...c5*b4 2.Qc4*b3 zugzwang. 2...Bb2-c1 3.Qb3-b1 # 2...Bb2-a3 3.Qb3-b1 # 2...Sc3-a2 3.Bg7*b2 # 3.Qb3*b2 # 2...Sc3-b1 3.Qb3*b2 # 3.Bg7*b2 # 2...Sc3-d1 3.Qb3-a4 # 2...Sc3-e2 3.Qb3-a4 # 3.Bg7*b2 # 3.Qb3*b2 # 2...Sc3-e4 3.Qb3*b2 # 3.Bg7*b2 # 3.Qb3-a4 # 2...Sc3-d5 3.Qb3-a4 # 3.Bg7*b2 # 3.Qb3*b2 # 2...Sc3-b5 3.Qb3*b2 # 3.Bg7*b2 # 2...Sc3-a4 3.Qb3*a4 #" --- authors: - Брон, Владимир Акимович source: Chigorin MT date: 1948 distinction: 2nd-3rd Prize algebraic: white: [Kb1, Qd7, Re8, Bd3, Bc1, Se5, Sa2] black: [Kd4, Bb2, Sh2, Sd5, Pf6, Pc5, Pb7, Pb4, Pa3] stipulation: "#3" solution: | "1.Se5-g6 ! threat: 2.Sg6-f4 threat: 3.Re8-e4 # 3.Qd7*d5 # 3.Bc1-e3 # 2...Bb2*c1 3.Qd7*d5 # 3.Re8-e4 # 2...Sh2-f1 3.Re8-e4 # 3.Qd7*d5 # 2...Sh2-g4 3.Re8-e4 # 3.Qd7*d5 # 2...c5-c4 3.Qd7*d5 # 3.Bc1-e3 # 2...f6-f5 3.Qd7*d5 # 3.Bc1-e3 # 1...Bb2*c1 2.Re8-e4 + 2...Kd4*d3 3.Qd7*d5 # 1...Sh2-f1 2.Qd7-g4 + 2...Kd4*d3 3.Qg4-e4 # 2...Sd5-f4 3.Re8-d8 # 1...Sh2-f3 2.Qd7-g4 + 2...Kd4*d3 3.Qg4-e4 # 2...Sd5-f4 3.Re8-d8 # 1...b4-b3 2.Qd7-a4 + 2...Kd4*d3 3.Qa4-e4 # 2...c5-c4 3.Qa4*c4 # 2...Sd5-b4 3.Re8-d8 # 1...Kd4*d3 2.Qd7*d5 + 2...Bb2-d4 3.Re8-e3 # 3.Sg6-f4 # 1...c5-c4 2.Bc1-e3 + 2...Kd4*d3 3.Sg6-f4 #" --- authors: - Брон, Владимир Акимович source: Československý šach date: 1959 distinction: 2nd Prize algebraic: white: [Kb7, Qf6, Bb3, Sf1, Sa6, Pe3, Pe2, Pd6, Pd2] black: [Kd5, Rc4, Bb1, Sh8, Sa3, Pg6, Pe4, Pa7, Pa5] stipulation: "#3" solution: | "1.Sf1-g3 ! threat: 2.d2-d4 threat: 3.Qf6-e5 # 3.Sa6-c7 # 2...Sa3-b5 3.Qf6-e5 # 2...e4*d3 ep. 3.e3-e4 # 2...Sh8-f7 3.Sa6-c7 # 1...Bb1-d3 2.e2*d3 threat: 3.d3*e4 # 2...e4*d3 3.e3-e4 # 1...Sa3-c2 2.Sg3*e4 threat: 3.Se4-c3 # 2...Kd5*e4 3.Qf6-e6 # 1...Sa3-b5 2.Bb3*c4 + 2...Kd5*c4 3.Qf6-e6 # 1...Sh8-f7 2.Qf6-d4 + 2...Kd5-e6 3.Sa6-c5 #" --- authors: - Брон, Владимир Акимович source: Schach (magazine) date: 1962 distinction: 3rd Prize algebraic: white: [Kg1, Qe7, Rh4, Ra4, Bb2, Sg5, Pf4, Pd6, Pd2, Pc4, Pa5] black: [Kc5, Qf5, Re3, Bf1, Se8, Pg7, Pg3, Pe5, Pe2, Pc6, Pa7] stipulation: "#3" solution: | "1.Rh4-h5 ! threat: 2.Sg5-e6 + 2...Qf5*e6 3.d2-d4 # 1...Re3-d3 2.Qe7*e5 + 2...Qf5*e5 3.Sg5-e4 # 1...Qf5*g5 2.f4*e5 2...Qg5*e5 3.d2-d4 #" keywords: - Models with pin --- authors: - Брон, Владимир Акимович source: Československý šach source-id: 94 date: 1965-08 distinction: 2nd Prize algebraic: white: [Ka8, Qf1, Bh3, Bf8, Sc2, Sa7, Pg3] black: [Ke5, Re4, Bh8, Bh7, Pf6, Pe6, Pb6, Pa6] stipulation: "#3" solution: | "1.Bh3-g2 ! threat: 2.Sa7-c6 + 2...Ke5-d5 3.Sc2-b4 # 1...Ke5-d5 2.Qf1*a6 threat: 3.Qa6-b5 # 2...e6-e5 3.Qa6-a2 # 1...f6-f5 2.Qf1-a1 + 2...Re4-d4 3.Qa1*d4 # 2...Ke5-d5 3.Sc2-e3 #" --- authors: - Брон, Владимир Акимович source: Traxler MT date: 1967 distinction: 4th Prize algebraic: white: [Kh4, Qg5, Bf4, Bb5, Sd1, Sc7, Pb2, Pa3] black: [Kc5, Qa7, Rd6, Bc2, Sb7, Sa6, Pf5, Pe6, Pb6] stipulation: "#3" solution: | "1.Sd1-c3 ! threat: 2.Qg5-g1 + 2...Rd6-d4 3.Sc7*e6 # 1...Bc2-b3 2.Bf4-e3 + 2...Rd6-d4 + 3.Sc3-e4 # 1...e6-e5 2.Qg5-e7 threat: 3.Sc7-e6 # 3.Bf4-e3 # 2...Bc2-b3 3.Bf4-e3 # 2...Kc5-d4 3.Qe7*e5 # 2...e5*f4 3.Sc7-e6 # 2...Sa6*c7 3.Bf4-e3 # 2...Sb7-d8 3.Bf4-e3 # 1...Sb7-d8 2.Qg5-e7 threat: 3.Qe7*d6 # 3.Bf4-e3 # 2...Kc5-d4 3.Qe7*d6 # 2...e6-e5 3.Bf4-e3 # 2...Qa7*c7 3.Bf4-e3 # 2...Sd8-b7 3.Sc7*e6 # 3.Bf4-e3 # 2...Sd8-c6 3.Qe7*d6 # 3.Sc7*e6 # 2...Sd8-f7 3.Sc7*e6 # 3.Bf4-e3 #" --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet source-id: 3194 date: 1964-10 algebraic: white: [Kg5, Rf8, Sf4, Pg2] black: [Kg1, Be8, Ph7, Ph5, Pg7, Pe6, Pe2, Pc6] stipulation: "h#3" solution: | "1.e2-e1=S Sf4-e2 + 2.Kg1-h1 Rf8-f3 3.Se1*g2 Rf3-h3 # 1.e2-e1=R Sf4-h3 + 2.Kg1*g2 Kg5-h4 3.Re1-h1 Rf8-f2 # 1.e2-e1=B Sf4-d5 2.Be1-g3 Sd5-e3 3.Bg3-h2 Rf8-f1 #" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 8-9/74 date: 1946 distinction: 2nd Prize algebraic: white: [Ka8, Qh8, Rh4, Bf5, Sc2] black: [Ka2, Bb2, Ph6, Pg3, Pf6, Pe7, Pe6, Pc7, Pc3] stipulation: "#4" solution: | "1.Qh8-d8 ! threat: 2.Bf5*e6 + 2...Ka2-b1 3.Qd8-d1 + 3...Bb2-c1 4.Rh4-b4 # 1...Ka2-b3 2.Qd8-b8 + 2...Kb3-a2 3.Rh4-a4 + 3...Ka2-b1 4.Ra4-a1 # 3...Bb2-a3 4.Bf5*e6 # 4.Ra4*a3 # 2.Rh4-b4 + 2...Kb3-a2 3.Bf5*e6 + 3...Ka2-b1 4.Qd8-d1 # 1...Ka2-b1 2.Qd8-d1 + 2...Kb1-a2 3.Bf5*e6 # 2...Bb2-c1 3.Rh4-b4 + 3...Kb1-a2 4.Bf5*e6 # 2.Rh4-h1 + 2...Kb1-a2 3.Bf5*e6 # 2...Bb2-c1 3.Qd8-b8 + 3...Kb1-a2 4.Bf5*e6 # 1...Bb2-a1 2.Qd8-d1 threat: 3.Bf5*e6 + 3...Ka2-b2 4.Rh4-b4 # 3.Rh4-b4 threat: 4.Bf5*e6 # 4.Qd1*a1 # 4.Qd1-b1 # 3...Ba1-b2 4.Bf5*e6 # 3...e6*f5 4.Qd1*a1 # 4.Qd1-b1 # 4.Qd1-d5 # 3...c7-c5 4.Qd1*a1 # 4.Qd1-b1 # 3.Qd1*a1 + 3...Ka2-b3 4.Rh4-b4 # 4.Qa1-a3 # 4.Qa1-b1 # 2...Ka2-b2 3.Rh4-b4 + 3...Kb2-a2 4.Qd1-b1 # 4.Bf5*e6 # 4.Qd1*a1 # 3.Qd1*a1 + 3...Kb2-b3 4.Rh4-b4 # 4.Qa1-a3 # 4.Qa1-b1 # 2...e6*f5 3.Qd1*a1 + 3...Ka2-b3 4.Qa1-b1 # 2...c7-c5 3.Qd1*a1 + 3...Ka2-b3 4.Qa1-a3 # 4.Qa1-b1 # 2.Qd8-b8 threat: 3.Bf5*e6 # 3.Rh4-a4 # 2...Ba1-b2 3.Rh4-a4 + 3...Ka2-b1 4.Ra4-a1 # 3...Bb2-a3 4.Bf5*e6 # 4.Ra4*a3 # 2...e6*f5 3.Rh4-a4 # 2...c7-c5 3.Rh4-a4 # 2.Rh4-b4 threat: 3.Bf5*e6 # 2...Ba1-b2 3.Bf5*e6 + 3...Ka2-b1 4.Qd8-d1 # 2...e6*f5 3.Qd8-d5 # 2...c7-c5 3.Qd8-a5 # 1...Bb2-a3 2.Qd8-b8 threat: 3.Bf5*e6 # 2...Ba3-b2 3.Rh4-a4 + 3...Ka2-b1 4.Ra4-a1 # 3...Bb2-a3 4.Bf5*e6 # 4.Ra4*a3 # 2...Ba3-b4 3.Rh4*b4 threat: 4.Qb8-a7 # 4.Bf5*e6 # 4.Rb4-a4 # 3...e6*f5 4.Qb8-a7 # 4.Rb4-a4 # 3...c7-c5 4.Qb8-a7 # 4.Rb4-a4 # 2...e6*f5 3.Rh4-a4 threat: 4.Ra4*a3 # 2...c7-c5 3.Bf5*e6 + 3...c5-c4 4.Be6*c4 # 3.Rh4-a4 threat: 4.Ra4*a3 # 1...e6*f5 2.Qd8-d5 + 2...Ka2-b1 3.Rh4-h1 + 3...Kb1*c2 4.Qd5-d1 # 3...Bb2-c1 4.Qd5-b3 # 1...c7-c5 2.Qd8-a5 + 2...Ka2-b3 3.Qa5-a4 # 2...Ka2-b1 3.Rh4-h1 + 3...Bb2-c1 4.Qa5-a1 # 2...Bb2-a3 3.Qa5*a3 + 3...Ka2-b1 4.Rh4-h1 # 4.Qa3-a1 #" --- authors: - Брон, Владимир Акимович source: МК Л.Куббель date: 1953 distinction: 1st Prize algebraic: white: [Ka1, Qg1, Bg6, Sf2, Sc3, Ph2, Pg5, Pf6, Pd6] black: [Kd4, Bh1, Ph3, Pf3, Pc6] stipulation: "#4" solution: | "1.Qg1-b1 ! threat: 2.Qb1-b4 + 2...Kd4-e5 3.Qb4-e4 + 3...Ke5*d6 4.Qe4-e7 # 2...Kd4-e3 3.Sc3-d1 + 3...Ke3-e2 4.Bg6-d3 # 1...Kd4-c4 2.Qb1-b2 threat: 3.Sc3-e4 threat: 4.Bg6-f7 # 2...c6-c5 3.Bg6-f7 + 3...Kc4-d4 4.Sc3-d1 # 1...Kd4-c5 2.Sf2-d3 + 2...Kc5-d4 3.Qb1-b4 + 3...Kd4-e3 4.Qb4-f4 # 2...Kc5-c4 3.Qb1-b4 # 2...Kc5*d6 3.Qb1-b8 + 3...Kd6-e6 4.Sd3-c5 # 3...Kd6-d7 4.Sd3-c5 # 4.Bg6-f5 # 1...Kd4-e3 2.Sf2-g4 + 2...Ke3-d4 3.Qb1-b4 # 2...Ke3-f4 3.Qb1-f5 # 2...Ke3-d2 3.Qb1-d3 + 3...Kd2-e1 4.Qd3-d1 # 3...Kd2-c1 4.Qd3-d1 # 4.Qd3-c2 # 4.Qd3-e3 # 4.Sc3-a2 # 3.Qb1-c2 + 3...Kd2-e1 4.Qc2-d1 # 4.Qc2-c1 # 4.Qc2-f2 # 3.Qb1-b2 + 3...Kd2-e1 4.Qb2-c1 # 4.Qb2-f2 # 3.Ka1-b2 threat: 4.Qb1-d1 # 4.Qb1-c1 # 1...Kd4*c3 2.Qb1-b2 + 2...Kc3-c4 3.Bg6-f7 + 3...Kc4-c5 4.Sf2-e4 # 1...c6-c5 2.Sf2-g4 threat: 3.Qb1-d3 # 2...Kd4-c4 3.Sc3-b5 threat: 4.Bg6-f7 # 4.Sg4-e3 # 3...f3-f2 4.Sg4-e3 # 3...Kc4-d5 4.Qb1-e4 # 2...Kd4*c3 3.Qb1-b2 + 3...Kc3-c4 4.Sg4-e3 # 2...c5-c4 3.Qb1-b6 + 3...Kd4*c3 4.Qb6-b2 # 3.Qb1-b5 threat: 4.Qb5-e5 # 3...Kd4*c3 4.Qb5-b2 #" --- authors: - Брон, Владимир Акимович source: Всесоюзный конкурс date: 1954 distinction: 1st Prize algebraic: white: [Kh6, Qb2, Be6, Sg5, Sc4, Pg7, Pe5, Pd2] black: [Kf4, Qh1, Rh8, Rg8, Bg1, Be8, Sg2, Ph7, Ph5, Pg3, Pd3, Pa2] stipulation: "#4" solution: | "1.Qb2-b4 ! threat: 2.Sc4-e3 + 2...Kf4*e5 3.Qb4-c3 + 3...Ke5-d6 4.Se3-f5 # 3...Ke5-f4 4.Se3-d5 # 4.Qc3-f6 # 4.Qc3-d4 # 4.Qc3-c7 # 3.Qb4-b8 + 3...Ke5-f6 4.Se3-d5 # 3...Ke5-d4 4.Qb8-d6 # 1...Bg1-a7 2.Sc4-b6 + 2...Kf4*e5 3.Qb4-c3 + 3...Ke5-d6 4.Sb6-c8 # 3...Ke5-f4 4.Sb6-d5 # 4.Qc3-f6 # 4.Qc3-d4 # 4.Qc3-c7 # 1...Bg1-b6 2.Sc4*b6 + 2...Kf4*e5 3.Qb4-c3 + 3...Ke5-d6 4.Sb6-c8 # 3...Ke5-f4 4.Sb6-d5 # 4.Qc3-f6 # 4.Qc3-d4 # 4.Qc3-c7 # 2.Qb4*b6 threat: 3.Qb6-d4 # 2...Qh1-a1 3.Qb6-e3 + 3...Sg2*e3 4.d2*e3 # 3.Qb6-b7 threat: 4.Qb7-f3 # 4.Qb7-e4 # 4.Sg5-h3 # 3...Qa1*e5 4.Qb7-f3 # 4.Sg5-h3 # 3...Qa1-d4 4.Qb7-f3 # 4.Sg5-h3 # 3...Qa1-h1 4.Qb7-f3 # 4.Qb7-e4 # 3...Qa1-f1 4.Qb7-e4 # 4.Sg5-h3 # 3...Qa1-e1 4.Qb7-f3 # 4.Sg5-h3 # 3...Qa1-d1 4.Qb7-e4 # 4.Sg5-h3 # 3...Sg2-e1 4.Qb7-e4 # 4.Sg5-h3 # 3...Sg2-h4 4.Qb7-e4 # 4.Sg5-h3 # 3...Be8-c6 4.Qb7-f7 # 3...Be8-g6 4.Qb7-f3 # 4.Sg5-h3 # 2...Qh1-e1 3.Qb6-d4 + 3...Qe1-e4 4.Qd4*e4 # 3.Qb6-b7 threat: 4.Qb7-f3 # 4.Sg5-h3 # 3...Qe1-f2 4.Qb7-e4 # 4.Sg5-h3 # 3...Qe1-d1 4.Qb7-e4 # 4.Sg5-h3 # 3...Qe1-e4 4.Qb7*e4 # 3...Qe1-e3 4.Sg5-h3 # 3...Qe1-e2 4.Sg5-h3 # 3...Qe1-h1 4.Qb7-f3 # 4.Qb7-e4 # 3...Qe1-f1 4.Qb7-e4 # 4.Sg5-h3 # 3...Sg2-h4 4.Sg5-h3 # 3...Be8-c6 4.Qb7-f7 # 2...Qh1-g1 3.Qb6-b7 threat: 4.Qb7-f3 # 4.Qb7-e4 # 4.Sg5-h3 # 3...Qg1-h2 4.Qb7-f3 # 4.Qb7-e4 # 3...Qg1-d4 4.Qb7-f3 # 4.Sg5-h3 # 3...Qg1-e3 4.Sg5-h3 # 3...Qg1-f2 4.Qb7-e4 # 4.Sg5-h3 # 3...Qg1-d1 4.Qb7-e4 # 4.Sg5-h3 # 3...Qg1-e1 4.Qb7-f3 # 4.Sg5-h3 # 3...Qg1-f1 4.Qb7-e4 # 4.Sg5-h3 # 3...Qg1-h1 4.Qb7-f3 # 4.Qb7-e4 # 3...Sg2-e1 4.Qb7-e4 # 4.Sg5-h3 # 3...Sg2-h4 4.Qb7-e4 # 4.Sg5-h3 # 3...Be8-c6 4.Qb7-f7 # 3...Be8-g6 4.Qb7-f3 # 4.Sg5-h3 # 2...a2-a1=Q 3.Qb6-e3 + 3...Sg2*e3 4.d2*e3 # 2...a2-a1=B 3.Qb6-e3 + 3...Sg2*e3 4.d2*e3 # 2...Sg2-e1 3.Qb6-e3 # 2...Sg2-h4 3.Qb6-e3 # 2...Sg2-e3 3.Qb6*e3 # 3.d2*e3 # 2...Be8-c6 3.Qb6-d4 + 3...Bc6-e4 4.Qd4*e4 # 3.Qb6-e3 + 3...Sg2*e3 4.d2*e3 # 2...Be8-g6 3.Qb6-d4 + 3...Bg6-e4 4.Qd4*e4 # 3.Qb6-e3 + 3...Sg2*e3 4.d2*e3 # 1...Bg1-c5 2.Qb4*c5 threat: 3.Qc5-d4 # 2...Qh1-a1 3.Qc5-e3 + 3...Sg2*e3 4.d2*e3 # 3.Qc5-d5 threat: 4.Sg5-h3 # 4.Qd5-f3 # 4.Qd5-e4 # 3...Qa1*e5 4.Sg5-h3 # 4.Qd5-f3 # 4.Qd5*e5 # 3...Qa1-d4 4.Sg5-h3 # 4.Qd5-f3 # 4.Qd5*d4 # 3...Qa1-h1 4.Qd5-f3 # 4.Qd5-e4 # 4.Qd5-d4 # 3...Qa1-f1 4.Sg5-h3 # 4.Qd5-e4 # 4.Qd5-d4 # 3...Qa1-e1 4.Sg5-h3 # 4.Qd5-f3 # 3...Qa1-d1 4.Sg5-h3 # 4.Qd5-e4 # 4.Qd5-d4 # 3...Sg2-e1 4.Sg5-h3 # 4.Qd5-e4 # 3...Sg2-h4 4.Sg5-h3 # 4.Qd5-e4 # 3...Be8-c6 4.Sg5-h3 # 3...Be8-g6 4.Sg5-h3 # 4.Qd5-f3 # 2...Qh1-e1 3.Qc5-d4 + 3...Qe1-e4 4.Qd4*e4 # 3.Qc5-d5 threat: 4.Sg5-h3 # 4.Qd5-f3 # 3...Qe1-f2 4.Sg5-h3 # 4.Qd5-e4 # 3...Qe1-d1 4.Sg5-h3 # 4.Qd5-e4 # 4.Qd5-d4 # 3...Qe1-e4 4.Qd5*e4 # 3...Qe1-e3 4.Sg5-h3 # 3...Qe1-e2 4.Sg5-h3 # 3...Qe1-h1 4.Qd5-f3 # 4.Qd5-e4 # 4.Qd5-d4 # 3...Qe1-f1 4.Sg5-h3 # 4.Qd5-e4 # 4.Qd5-d4 # 3...Sg2-h4 4.Sg5-h3 # 3...Be8-c6 4.Sg5-h3 # 2...Qh1-g1 3.Qc5-d5 threat: 4.Sg5-h3 # 4.Qd5-f3 # 4.Qd5-e4 # 3...Qg1-h2 4.Qd5-f3 # 4.Qd5-e4 # 4.Qd5-d4 # 3...Qg1-d4 4.Sg5-h3 # 4.Qd5-f3 # 4.Qd5*d4 # 3...Qg1-e3 4.Sg5-h3 # 3...Qg1-f2 4.Sg5-h3 # 4.Qd5-e4 # 3...Qg1-d1 4.Sg5-h3 # 4.Qd5-e4 # 4.Qd5-d4 # 3...Qg1-e1 4.Sg5-h3 # 4.Qd5-f3 # 3...Qg1-f1 4.Sg5-h3 # 4.Qd5-e4 # 4.Qd5-d4 # 3...Qg1-h1 4.Qd5-f3 # 4.Qd5-e4 # 4.Qd5-d4 # 3...Sg2-e1 4.Sg5-h3 # 4.Qd5-e4 # 3...Sg2-h4 4.Sg5-h3 # 4.Qd5-e4 # 3...Be8-c6 4.Sg5-h3 # 3...Be8-g6 4.Sg5-h3 # 4.Qd5-f3 # 2...a2-a1=Q 3.Qc5-e3 + 3...Sg2*e3 4.d2*e3 # 2...a2-a1=B 3.Qc5-e3 + 3...Sg2*e3 4.d2*e3 # 2...Sg2-e1 3.Qc5-e3 # 2...Sg2-h4 3.Qc5-e3 # 2...Sg2-e3 3.Qc5*e3 # 3.d2*e3 # 2...Be8-c6 3.Qc5-d4 + 3...Bc6-e4 4.Qd4*e4 # 3.Qc5-e3 + 3...Sg2*e3 4.d2*e3 # 2...Be8-g6 3.Qc5-d4 + 3...Bg6-e4 4.Qd4*e4 # 3.Qc5-e3 + 3...Sg2*e3 4.d2*e3 # 1...Sg2-h4 2.Sc4-b2 + 2...Kf4*e5 3.Qb4-f4 + 3...Ke5*f4 4.Sb2*d3 # 2...Bg1-d4 3.Sb2*d3 # 2...Qh1-e4 3.Sb2*d3 # 3.Qb4*e4 # 1...Be8-b5 2.Qb4-e7 threat: 3.Qe7-f6 # 3.Qe7-f7 # 2...Qh1-h3 3.Qe7-f6 + 3...Qh3-f5 4.Qf6*f5 # 3.Qe7-f7 + 3...Qh3-f5 4.Qf7*f5 # 2...Sg2-h4 3.Qe7-f7 + 3...Sh4-f5 + 4.Qf7*f5 # 3.Qe7-f6 + 3...Sh4-f5 + 4.Qf6*f5 # 2...Sg2-e3 3.Qe7-f6 + 3...Se3-f5 + 4.Qf6*f5 # 3.Qe7-f7 + 3...Se3-f5 + 4.Qf7*f5 # 3.d2*e3 + 3...Bg1*e3 4.Qe7-f6 # 4.Qe7-f7 # 2...Bb5*c4 3.Qe7-f6 # 2...Bb5-e8 3.Qe7-f6 # 2...Rg8*g7 3.Qe7-f6 # 2...Rg8-f8 3.g7*f8=Q + 3...Rh8*f8 4.Qe7*f8 # 3.g7*f8=R + 3...Rh8*f8 4.Qe7*f8 # 3.Qe7*f8 + 3...Rh8*f8 4.g7*f8=Q # 4.g7*f8=R # 1...Be8-c6 2.Sc4-a5 + 2...Kf4*e5 3.Sa5*c6 + 3...Ke5-f6 4.Qb4-e7 # 2...Bg1-d4 3.Qb4*d4 + 3...Bc6-e4 4.Qd4*e4 # 2...Bc6-e4 3.Qb4*e4 # 2.Qb4-e7 threat: 3.Qe7-f6 # 3.Qe7-f7 # 2...Qh1-h3 3.Qe7-f6 + 3...Qh3-f5 4.Qf6*f5 # 3.Qe7-f7 + 3...Qh3-f5 4.Qf7*f5 # 2...Sg2-h4 3.Qe7-f7 + 3...Sh4-f5 + 4.Qf7*f5 # 3.Qe7-f6 + 3...Sh4-f5 + 4.Qf6*f5 # 2...Sg2-e3 3.Qe7-f6 + 3...Se3-f5 + 4.Qf6*f5 # 3.Qe7-f7 + 3...Se3-f5 + 4.Qf7*f5 # 3.d2*e3 + 3...Bg1*e3 4.Qe7-f6 # 4.Qe7-f7 # 2...Bc6-e4 3.Qe7-f6 + 3...Be4-f5 4.Qf6*f5 # 3.Qe7-f7 + 3...Be4-f5 4.Qf7*f5 # 2...Bc6-e8 3.Qe7-f6 # 2...Rg8*g7 3.Qe7-f6 # 2...Rg8-f8 3.g7*f8=Q + 3...Rh8*f8 4.Qe7*f8 # 3.g7*f8=R + 3...Rh8*f8 4.Qe7*f8 # 3.Qe7*f8 + 3...Rh8*f8 4.g7*f8=Q # 4.g7*f8=R # 1...Be8-g6 2.Sc4-b6 + 2...Kf4*e5 3.Sb6-d7 # 2...Bg1-d4 3.Qb4*d4 + 3...Bg6-e4 4.Sb6-d5 # 4.Qd4*e4 # 2...Bg6-e4 3.Qb4*e4 # 2.Sc4-a5 + 2...Kf4*e5 3.Sa5-c6 + 3...Ke5-f6 4.Qb4-e7 # 2...Bg1-d4 3.Qb4*d4 + 3...Bg6-e4 4.Qd4*e4 # 2...Bg6-e4 3.Qb4*e4 #" --- authors: - Брон, Владимир Акимович - Руденко, Валентин Федорович source: Латвийский конкурс date: 1958 distinction: 1st Prize algebraic: white: [Kh3, Qa8, Bf7, Sg5] black: [Kg7, Rb5, Rb4, Ba7, Sc2, Ph4, Pf5, Pf4, Pe5, Pe3, Pd5, Pc6, Pb3] stipulation: "#4" solution: | "1.Qa8-e8 ! threat: 2.Qe8*e5 + 2...Kg7-f8 3.Qe5-f6 threat: 4.Sg5-h7 # 4.Sg5-e6 # 3...Sc2-d4 4.Sg5-h7 # 3...Rb4-e4 4.Sg5-h7 # 2...Kg7-h6 3.Qe5-f6 # 1...Rb4-e4 2.Qe8-g8 + 2...Kg7-h6 3.Qg8-g6 # 2...Kg7-f6 3.Qg8-f8 threat: 4.Sg5-h7 # 3...Kf6*g5 4.Qf8-g7 # 1...d5-d4 2.Qe8-e7 threat: 3.Sg5-e6 + 3...Kg7-h7 4.Qe7*h4 # 3...Kg7-h8 4.Qe7*h4 # 3...Kg7-h6 4.Qe7*h4 # 1...Ba7-d4 2.Qe8-e7 threat: 3.Sg5-e6 + 3...Kg7-h7 4.Qe7*h4 # 3...Kg7-h8 4.Qe7*h4 # 3...Kg7-h6 4.Qe7*h4 # 1...Ba7-b8 2.Sg5-h7 threat: 3.Qe8-g8 + 3...Kg7-h6 4.Qg8-g6 # 1...Kg7-f6 2.Sg5-h7 + 2...Kf6-g7 3.Qe8-g8 + 3...Kg7-h6 4.Qg8-g6 #" --- authors: - Брон, Владимир Акимович source: Šahs/Шахматы (Rīga) date: 1961 distinction: 1st Prize algebraic: white: [Ka6, Qe5, Bd8, Bd1, Sg7, Ph7, Pf2, Pe4, Pb6, Pa4] black: [Kf8, Qf7, Bh8, Sa1, Ph6, Pf4, Pe6, Pd4, Pc5, Pb4, Pb2] stipulation: "#4" solution: | "1.Bd1-e2 ! threat: 2.Sg7*e6 + 2...Qf7*e6 3.Qe5*h8 + 3...Qe6-g8 4.Qh8*g8 # 4.h7*g8=Q # 3...Kf8-f7 4.Qh8-g8 # 3.Qe5*e6 threat: 4.Qe6-g8 # 4.Qe6-e7 # 3...Kf8-g7 4.Qe6-g8 # 3...Bh8-f6 4.Qe6-g8 # 2...Kf8-e8 3.Be2-b5 + 3...Qf7-d7 4.Qe5-h5 # 1...d4-d3 2.Be2-h5 threat: 3.Qe5*f4 threat: 4.Qf4*f7 # 3...Qf7*f4 4.Sg7*e6 # 3...Qf7-f5 4.Sg7*e6 # 3...Qf7-f6 4.Sg7*e6 # 4.Qf4*f6 # 2...Qf7*h5 3.Qe5-f6 + 3...Qh5-f7 4.Bd8-e7 # 2...Qf7-g6 3.Bh5*g6 threat: 4.Sg7*e6 # 4.Qe5-f6 # 3...Bh8*g7 4.Qe5-d6 # 4.Qe5*c5 # 3.Qe5*e6 threat: 4.Qe6-g8 # 4.Qe6-e7 # 3...Qg6*e4 4.Qe6-g8 # 4.Qe6-f7 # 4.Qe6-f6 # 3...Qg6*h7 4.Qe6-f7 # 3...Qg6-e8 4.Qe6-g8 # 3...Qg6-f7 4.Qe6*f7 # 3...Qg6-g5 4.Qe6-g8 # 4.Qe6-f7 # 3...Qg6*e6 4.Sg7*e6 # 3...Qg6-f6 4.Qe6-g8 # 4.Qe6*f6 # 3...Qg6*g7 4.Qe6-e8 # 3...Kf8*g7 4.Qe6-g8 # 2...Qf7-g8 3.Qe5-f6 + 3...Qg8-f7 4.Bd8-e7 # 4.Qf6*f7 # 3.Qe5*e6 threat: 4.h7*g8=Q # 4.h7*g8=R # 4.Qe6*g8 # 4.Qe6-e7 # 3...Kf8*g7 4.h7*g8=Q # 4.Qe6*g8 # 3...Qg8*e6 4.Sg7*e6 # 3...Qg8-f7 4.Qe6*f7 # 3...Qg8*h7 4.Qe6-f7 # 3...Qg8*g7 4.Qe6-e8 # 2...Qf7-e8 3.Qe5-f6 + 3...Qe8-f7 4.Bd8-e7 # 4.Qf6*f7 # 2...Qf7-f5 3.Sg7*f5 threat: 4.Bd8-e7 # 4.Qe5*h8 # 4.Qe5-d6 # 4.Qe5*c5 # 3...Sa1-b3 4.Bd8-e7 # 4.Qe5*h8 # 4.Qe5-d6 # 3...e6*f5 4.Bd8-e7 # 4.Qe5*h8 # 4.Qe5-e7 # 3...Bh8*e5 4.Bd8-e7 # 3...Bh8-f6 4.Qe5*f6 # 3...Bh8-g7 4.Bd8-e7 # 4.Qe5*g7 # 4.Qe5-d6 # 4.Qe5*c5 # 3.Qe5*e6 threat: 4.Qe6-g8 # 4.Qe6-e7 # 3...Qf5*e4 4.Qe6-g8 # 4.Qe6-f7 # 4.Qe6-f6 # 3...Qf5*h7 4.Qe6-f7 # 3...Qf5*e6 4.Sg7*e6 # 3...Qf5-d5 4.Qe6-e7 # 3...Qf5-e5 4.Qe6-g8 # 4.Qe6-f7 # 3...Qf5-f7 4.Qe6*f7 # 3...Qf5-f6 4.Qe6-g8 # 4.Qe6*f6 # 3...Qf5-g5 4.Qe6-g8 # 4.Qe6-f7 # 3...Kf8*g7 4.Qe6-g8 # 3.Qe5*f5 + 3...e6*f5 4.Sg7-e6 # 3...Kf8*g7 4.Qf5-f7 # 3.e4*f5 threat: 4.Sg7*e6 # 4.Qe5-f6 # 3...Bh8*g7 4.Qe5-d6 # 4.Qe5*c5 # 2...Qf7-a7 + 3.b6*a7 threat: 4.Sg7*e6 # 4.Qe5-f6 # 3...Bh8*g7 4.Qe5-d6 # 4.Qe5*c5 # 3.Ka6*a7 threat: 4.Qe5-f6 # 4.Sg7*e6 # 3...Bh8*g7 4.Qe5-d6 # 4.Qe5*c5 # 2...Qf7-b7 + 3.Ka6*b7 threat: 4.Sg7*e6 # 4.Qe5-f6 # 3...Bh8*g7 4.Qe5-d6 # 4.Qe5*c5 # 2...Qf7-d7 3.Qe5-f6 + 3...Qd7-f7 4.Bd8-e7 # 4.Qf6*f7 # 2...Qf7-e7 3.Qe5*c5 threat: 4.Sg7*e6 # 4.Qc5*e7 # 3...Qe7*c5 4.Sg7*e6 # 3...Qe7-d6 4.Sg7*e6 # 3...Kf8*g7 4.Qc5*e7 # 3...Bh8*g7 4.Qc5*e7 # 4.Bd8*e7 # 2...Qf7*g7 3.Qe5-d6 + 3...Qg7-e7 4.Qd6*e7 # 3.Qe5*c5 + 3...Qg7-e7 4.Qc5*e7 # 2...Bh8*g7 3.Qe5-d6 + 3...Qf7-e7 4.Bd8*e7 # 4.Qd6*e7 # 3...Kf8-e8 4.Qd6-e7 # 3.Qe5*c5 + 3...Qf7-e7 4.Qc5*e7 # 4.Bd8*e7 # 3...Kf8-e8 4.Qc5-e7 # 1...Qf7-f5 2.e4*f5 threat: 3.Qe5-f6 # 2...Bh8*g7 3.Qe5-d6 + 3...Kf8-e8 4.Qd6-e7 # 4.Be2-h5 # 3...Kf8-f7 4.Be2-h5 # 4.Qd6-e7 # 3.Qe5*c5 + 3...Kf8-e8 4.Qc5-e7 # 3...Kf8-f7 4.Qc5-e7 # 4.Be2-h5 # 3.Qe5*e6 threat: 4.Qe6-g8 # 4.Qe6-e7 # 3...Bg7-f6 4.Qe6-g8 # 1...Qf7-a7 + 2.b6*a7 threat: 3.Qe5-f6 # 2...Bh8*g7 3.Qe5-d6 + 3...Kf8-e8 4.Qd6-e7 # 4.Be2-h5 # 3...Kf8-f7 4.Be2-h5 # 3.Qe5*c5 + 3...Kf8-e8 4.Qc5-e7 # 3...Kf8-f7 4.Be2-h5 # 3.Qe5*e6 threat: 4.Qe6-g8 # 4.Qe6-e7 # 3...Bg7-f6 4.Qe6-g8 # 2.Ka6*a7 threat: 3.Qe5-f6 # 2...Bh8*g7 3.Qe5-d6 + 3...Kf8-e8 4.Be2-h5 # 4.Qd6-e7 # 3...Kf8-f7 4.Be2-h5 # 3.Qe5*c5 + 3...Kf8-e8 4.Qc5-e7 # 3...Kf8-f7 4.Be2-h5 # 3.Qe5*e6 threat: 4.Qe6-g8 # 4.Qe6-e7 # 3...Bg7-f6 4.Qe6-g8 # 1...Qf7-b7 + 2.Ka6*b7 threat: 3.Qe5-f6 # 2...Bh8*g7 3.Qe5-d6 + 3...Kf8-e8 4.Qd6-e7 # 4.Be2-h5 # 3...Kf8-f7 4.Be2-h5 # 3.Qe5*c5 + 3...Kf8-e8 4.Qc5-e7 # 3...Kf8-f7 4.Be2-h5 # 3.Qe5*e6 threat: 4.Qe6-g8 # 4.Qe6-e7 # 3...Bg7-f6 4.Qe6-g8 # 1...Qf7-e7 2.Bd8*e7 + 2...Kf8-f7 3.Qe5-f6 # 2...Kf8*e7 3.Qe5*e6 + 3...Ke7-d8 4.Qe6-e8 # 3...Ke7-f8 4.Qe6-f6 # 1...Qf7*g7 2.Qe5-d6 + 2...Qg7-e7 3.Qd6*e7 # 2...Kf8-e8 3.Be2-h5 + 3...Qg7-g6 4.Qd6-e7 # 4.Bh5*g6 # 3...Qg7-f7 4.Qd6-e7 # 2...Kf8-f7 3.Be2-h5 + 3...Qg7-g6 4.Qd6-e7 # 1...Bh8*g7 2.Qe5-d6 + 2...Qf7-e7 3.Qd6*e7 # 2...Kf8-e8 3.Be2-b5 + 3...Qf7-d7 4.Qd6-e7 #" --- authors: - Брон, Владимир Акимович source: FIDE Revue date: 1958 distinction: 1st HM algebraic: white: [Kh1, Rd2, Rb4, Bh3, Sf1, Sc2, Ph5, Pg2, Pd6, Pc7, Pb6] black: [Kc3, Qe8, Rh7, Ph6, Ph4, Pf6, Pe7, Pc4, Pb5] stipulation: "#4" solution: | "1.Rb4-b1 ! threat: 2.Sc2-e3 threat: 3.Se3-d1 # 3.Se3-d5 # 2...e7-e6 3.Se3-d1 # 2...Qe8-c6 3.Se3-d1 # 2...Qe8*h5 3.Bh3-g4 threat: 4.Se3-d1 # 3...Qh5*g4 4.Se3-d5 # 2...Qe8-f7 3.Se3-d1 # 2...Qe8-a8 3.Se3-d1 # 2...Qe8-g8 3.Se3-d1 # 1...e7-e6 2.Sc2-d4 threat: 3.Sd4-e2 # 2...Qe8*h5 3.Bh3-f5 threat: 4.Sd4*b5 # 3...Qh5-e8 4.Sd4-e2 # 3...Qh5*f5 4.Sd4-e2 # 1...e7*d6 2.Sc2-b4 threat: 3.Sb4-a2 # 3.Sb4-d5 # 2...Qe8-c6 3.Sb4-a2 # 2...Qe8*h5 3.Sb4-a2 # 2...Qe8-f7 3.Sb4-a2 # 2...Qe8-e4 3.Sb4-a2 # 2...Qe8-e5 3.Sb4-a2 # 2...Qe8-e6 3.Sb4-a2 # 2...Qe8-a8 3.b6-b7 threat: 4.Sb4-d5 # 3...Qa8*b7 4.Sb4-a2 # 3...Qa8-g8 4.Sb4-a2 # 2...Qe8-g8 3.Sb4-a2 # 1...Qe8-g6 2.h5*g6 threat: 3.Sc2-e3 threat: 4.Se3-d1 # 4.Se3-d5 # 3...e7-e6 4.Se3-d1 # 3.Sc2-d4 threat: 4.Sd4-e2 # 4.Sd4*b5 # 3.Sc2-b4 threat: 4.Sb4-a2 # 4.Sb4-d5 # 3...e7-e6 4.Sb4-a2 # 3.Sc2-a3 threat: 4.Sa3*b5 # 2...b5-b4 3.Sc2-e3 threat: 4.Se3-d1 # 4.Se3-d5 # 3...b4-b3 4.Se3-d5 # 3...e7-e6 4.Se3-d1 # 3.Sc2*b4 threat: 4.Sb4-a2 # 4.Sb4-d5 # 3...e7-e6 4.Sb4-a2 # 2...e7-e5 3.Sc2-e3 threat: 4.Se3-d1 # 4.Se3-d5 # 3.Sc2-b4 threat: 4.Sb4-a2 # 4.Sb4-d5 # 3.Sc2-a3 threat: 4.Sa3*b5 #" --- authors: - Брон, Владимир Акимович source: Themes 64 date: 1961 algebraic: white: [Kg8, Rf1, Re8, Ba2, Ba1, Sf7, Sd3, Ph6, Ph5, Ph3, Pf5] black: [Kf6, Qa4, Ra7, Ra3, Bb8, Sh7, Sc3, Pg5, Pd7, Pc7, Pc5] stipulation: "#5" solution: | 1.Sd3-e5 ! - aber unlösbar --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet source-id: 10/4938 date: 1985 algebraic: white: - Ka1 - Qb7 - Rb8 - Rb2 - Bh4 - Bc2 - Sf7 - Sd6 - Pg6 - Pf4 - Pe5 - Pe3 - Pd5 - Pd4 - Pd2 - Pc3 black: [Ka3, Pg7, Pd7] stipulation: "s#10" solution: --- authors: - Брон, Владимир Акимович source: 64 — Шахматное обозрение date: 1983-11-01 algebraic: white: [Kd3, Rg2, Re4] black: [Kf5] stipulation: "#4" solution: | "1.Re4-e1 ! zugzwang. 1...Kf5-f6 2.Rg2-f2 + 2...Kf6-g6 3.Re1-g1 + 3...Kg6-h6 4.Rf2-h2 # 3...Kg6-h7 4.Rf2-h2 # 3...Kg6-h5 4.Rf2-h2 # 2...Kf6-g7 3.Re1-g1 + 3...Kg7-h7 4.Rf2-h2 # 3...Kg7-h8 4.Rf2-h2 # 3...Kg7-h6 4.Rf2-h2 # 2...Kf6-g5 3.Re1-g1 + 3...Kg5-h5 4.Rf2-h2 # 3...Kg5-h6 4.Rf2-h2 # 3...Kg5-h4 4.Rf2-h2 # 1...Kf5-f4 2.Re1-f1 + 2...Kf4-e5 3.Rg2-g6 zugzwang. 3...Ke5-d5 4.Rf1-f5 #" --- authors: - Брон, Владимир Акимович source: Locker-Gedenkturnier date: 1975 distinction: 1st Prize algebraic: white: [Kb5, Qc2] black: [Kh1, Bg1, Ph2, Pe4, Pd5] stipulation: "#6" solution: | "1.Qc2-e2 ! threat: 2.Kb5-c6 zugzwang. 2...Bg1-e3 3.Qe2-f1 + 3...Be3-g1 4.Kc6*d5 zugzwang. 4...e4-e3 5.Qf1-f3 # 2...Bg1-a7 3.Qe2-f1 + 3...Ba7-g1 4.Kc6*d5 zugzwang. 4...e4-e3 5.Qf1-f3 # 2...Bg1-b6 3.Qe2-f1 + 3...Bb6-g1 4.Kc6*d5 zugzwang. 4...e4-e3 5.Qf1-f3 # 2...Bg1-c5 3.Qe2-f1 + 3...Bc5-g1 4.Kc6*d5 zugzwang. 4...e4-e3 5.Qf1-f3 # 2...Bg1-d4 3.Qe2-f1 + 3...Bd4-g1 4.Kc6*d5 zugzwang. 4...e4-e3 5.Qf1-f3 # 2...Bg1-f2 3.Qe2*f2 threat: 4.Qf2-f1 # 2...e4-e3 3.Qe2-f3 # 2...d5-d4 3.Qe2*e4 # 1...Bg1-a7 2.Qe2-f1 + 2...Ba7-g1 3.Kb5-c6 threat: 4.Kc6*d5 zugzwang. 4...e4-e3 5.Qf1-f3 # 3...d5-d4 4.Kc6-d5 threat: 5.Kd5*e4 threat: 6.Qf1-f3 # 1...Bg1-b6 2.Qe2-f1 + 2...Bb6-g1 3.Kb5-c6 threat: 4.Kc6*d5 zugzwang. 4...e4-e3 5.Qf1-f3 # 3...d5-d4 4.Kc6-d5 threat: 5.Kd5*e4 threat: 6.Qf1-f3 # 1...Bg1-c5 2.Qe2-f1 + 2...Bc5-g1 3.Kb5-c6 threat: 4.Kc6*d5 zugzwang. 4...e4-e3 5.Qf1-f3 # 3...d5-d4 4.Kc6-d5 threat: 5.Kd5*e4 threat: 6.Qf1-f3 # 1...Bg1-d4 2.Qe2-f1 + 2...Bd4-g1 3.Kb5-c6 threat: 4.Kc6*d5 zugzwang. 4...e4-e3 5.Qf1-f3 # 3...d5-d4 4.Kc6-d5 threat: 5.Kd5*e4 threat: 6.Qf1-f3 # 1...Bg1-e3 2.Qe2-f1 + 2...Be3-g1 3.Kb5-c6 threat: 4.Kc6*d5 zugzwang. 4...e4-e3 5.Qf1-f3 # 3...d5-d4 4.Kc6-d5 threat: 5.Kd5*e4 threat: 6.Qf1-f3 #" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 75 date: 1970-08 algebraic: white: [Kf3, Rc3] black: [Kh3, Pb7] stipulation: "#4" twins: b: Move b7 b6 solution: | "a) 1.Rc3-c7 ! threat: 2.Rc7-h7 # 1...Kh3-h4 2.Rc7-c5 zugzwang. 2...Kh4-h3 3.Rc5-h5 # 2...b7-b5 3.Rc5*b5 zugzwang. 3...Kh4-h3 4.Rb5-h5 # 2...b7-b6 3.Rc5-b5 zugzwang. 3...Kh4-h3 4.Rb5-h5 # 1...Kh3-h2 2.Rc7*b7 threat: 3.Rb7-b1 zugzwang. 3...Kh2-h3 4.Rb1-h1 # 2...Kh2-h1 3.Kf3-g3 threat: 4.Rb7-b1 # 3.Kf3-f2 threat: 4.Rb7-h7 # 2...Kh2-g1 3.Rb7-h7 zugzwang. 3...Kg1-f1 4.Rh7-h1 # b) bPb7 - b6 1." --- authors: - Брон, Владимир Акимович source: Всесоюзный конкурс миниатюр date: 1955 distinction: 1st Prize algebraic: white: [Kc6, Qh5, Rh3] black: [Ka2, Pc3, Pb2, Pa3] stipulation: "#4" solution: | "1.Qh5-e2 ! threat: 2.Rh3*c3 threat: 3.Rc3-c1 threat: 4.Qe2-c4 # 4.Qe2-e6 # 3...Ka2-b3 4.Qe2-c4 # 3.Qe2-c2 zugzwang. 3...Ka2-a1 4.Rc3*a3 # 2...Ka2-a1 3.Rc3*a3 + 3...Ka1-b1 4.Qe2-d1 # 2...Ka2-b1 3.Qe2-d3 + 3...Kb1-a1 4.Rc3*a3 # 3...Kb1-a2 4.Rc3*a3 # 1...Ka2-b3 2.Qe2-d1 + 2...Kb3-a2 3.Rh3-h1 threat: 4.Qd1-d5 # 3...b2-b1=Q 4.Qd1*b1 # 3...b2-b1=S 4.Qd1*b1 # 3...b2-b1=R 4.Qd1*b1 # 3...b2-b1=B 4.Qd1*b1 # 2...Kb3-b4 3.Rh3-h4 + 3...Kb4-a5 4.Rh4-a4 # 4.Qd1-a4 # 2...Kb3-c4 3.Rh3-h4 # 3.Qd1-a4 #" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1938 algebraic: white: [Kc3, Rc1, Bb7] black: [Ka1, Bb1, Pc6, Pa2] stipulation: "#4" solution: | "1.Rc1-e1 ! zugzwang. 1...c6-c5 2.Bb7-f3 zugzwang. 2...c5-c4 3.Bf3-d1 zugzwang. 3...Bb1-h7 4.Bd1-c2 # 3...Bb1-g6 4.Bd1-c2 # 3...Bb1-f5 4.Bd1-c2 # 3...Bb1-e4 4.Bd1-c2 # 3...Bb1-d3 4.Bd1-c2 # 3...Bb1-c2 4.Bd1*c2 #" --- authors: - Брон, Владимир Акимович source: Memorial Betinsa date: 1970 algebraic: white: [Kb7, Qc1, Rb8, Ra7, Be7, Be4, Sc8, Sa4, Pe6, Pc7, Pb3, Pb2] black: [Kb5, Qg8, Rf8, Re2, Bh2, Bh1, Sg3, Pg4, Pf2, Pe5] stipulation: "s#2" solution: | "1.Qc1-d2 ! threat: 2.Be4-c6 + 2...Bh1*c6 # 1...Bh1*e4 + 2.Qd2-d5 + 2...Be4*d5 # 1...Re2*e4 2.Qd2-b4 + 2...Re4*b4 # 1...Sg3*e4 2.Sc8-d6 + 2...Se4*d6 # 1...Rf8-f3 2.Be4-d3 + 2...Rf3*d3 #" --- authors: - Брон, Владимир Акимович source: Československý šach date: 1958 distinction: 1st Prize algebraic: white: [Kb1, Qh7, Re4, Bb4, Sa3] black: [Ka4, Be7, Pg7, Pg4, Pe6, Pe5, Pb3] stipulation: "#3" solution: | "1.Qh7-h4 ! threat: 2.Qh4-e1 threat: 3.Bb4*e7 # 3.Bb4-d6 # 3.Bb4-c5 # 2...b3-b2 3.Qe1-d1 # 2...Be7*b4 3.Qe1*b4 # 2...Be7-c5 3.Bb4*c5 # 2...Be7-d6 3.Bb4-c5 # 3.Bb4*d6 # 1...g4-g3 2.Bb4-c5 + 2...Ka4-a5 3.Re4-a4 # 1...Be7*b4 2.Qh4-e7 threat: 3.Qe7*b4 # 3.Qe7-a7 # 2...b3-b2 3.Qe7*b4 # 2...Ka4-a5 3.Qe7-a7 # 2...Ka4*a3 3.Qe7*b4 # 1...Be7-c5 2.Qh4-d8 threat: 3.Qd8-a5 # 3.Qd8-d7 # 3.Qd8-e8 # 3.Bb4*c5 # 2...b3-b2 3.Qd8-d1 # 2...Bc5*b4 3.Qd8-a8 # 2...Bc5-g1 3.Qd8-a5 # 3.Qd8-d7 # 3.Qd8-e8 # 2...Bc5-f2 3.Qd8-a5 # 3.Qd8-d7 # 3.Qd8-e8 # 2...Bc5-e3 3.Qd8-a5 # 3.Qd8-d7 # 3.Qd8-e8 # 2...Bc5-d4 3.Qd8-a5 # 2...Bc5-b6 3.Qd8-d7 # 3.Qd8-e8 # 1...Be7*h4 2.Bb4-c3 + 2...Ka4*a3 3.Bc3-b2 # 1...Be7-g5 2.Bb4-c3 + 2...Ka4*a3 3.Bc3-b2 # 1...Be7-d8 2.Qh4*d8 threat: 3.Qd8-a5 # 3.Qd8-d7 # 3.Qd8-a8 # 3.Qd8-e8 # 3.Bb4-f8 # 3.Bb4-e7 # 3.Bb4-d6 # 3.Bb4-c5 # 2...b3-b2 3.Qd8-d1 # 2.Bb4-c3 + 2...Ka4*a3 3.Bc3-b2 #" --- authors: - Брон, Владимир Акимович - Somov, V. source: Шахматы в СССР date: 1974 algebraic: white: [Kh1, Qa3, Rg4, Bb5, Sg2, Sa7] black: [Kd5, Ra8, Bh6, Bc8, Pg5, Pe6, Pd7, Pd4, Pc3, Pb7] stipulation: "#3" solution: --- authors: - Брон, Владимир Акимович source: Червоний гірник date: 1984 distinction: 2nd HM algebraic: white: [Kb6, Qc5, Rh3, Rf6, Sh5] black: [Kh6, Bc2, Bc1, Sg6, Ph7, Pe4] stipulation: "#3" solution: | "1.Rf6-e6 ! threat: 2.Sh5-f6 + 2...Kh6-g7 3.Rh3*h7 # 2...Sg6-h4 3.Sf6-e8 # 1...Bc2-d1 2.Qc5*c1 + 2...e4-e3 3.Qc1*e3 # 1...Bc2-b3 2.Qc5*c1 + 2...e4-e3 3.Qc1*e3 # 1...e4-e3 2.Qc5-e5 threat: 3.Sh5-f4 # 3.Sh5-g3 # 3.Sh5-g7 # 3.Qe5-f4 # 2...Bc2-d1 3.Qe5-f4 # 2...Bc2-f5 3.Qe5-f4 # 2...e3-e2 3.Sh5-f4 # 3.Sh5-g3 # 3.Sh5-g7 #" --- authors: - Брон, Владимир Акимович source: | Šachové umění - Č.Kainer MT source-id: 141 date: 1947 algebraic: white: [Kh5, Qf6, Bh2, Bf1, Sf4, Sc4] black: [Ke4, Re1, Bc3, Sa4, Ph3, Pf2, Pc7, Pc6, Pb7] stipulation: "#3" solution: | "1.Sf4-e6 ! threat: 2.Qf6-f3 + 2...Ke4*f3 3.Se6-g5 # 1...Re1-e3 2.Qf6-g6 + 2...Ke4-d5 3.Sc4*e3 # 2...Ke4-f3 3.Qg6-f5 # 3.Qg6-g4 # 3.Se6-g5 # 1...Re1*f1 2.Qf6-g6 + 2...Ke4-d5 3.Sc4-e3 # 2...Ke4-f3 3.Qg6-g4 # 1...Bc3-d2 2.Qf6-d4 + 2...Ke4-f5 3.Se6-g7 # 3.Bf1*h3 # 2...Ke4-f3 3.Qd4-g4 # 3.Sc4*d2 # 2.Qf6-e5 + 2...Ke4-f3 3.Sc4*d2 # 3.Se6-d4 # 2.Sc4*d2 + 2...Ke4-d5 3.Bf1-c4 # 2...Ke4-e3 3.Qf6-d4 # 3.Qf6-g5 # 3.Qf6-f4 # 3.Qf6-h6 # 3.Bh2-f4 # 1...Bc3*f6 2.Sc4-d2 + 2...Ke4-e3 3.Bh2-f4 # 2...Ke4-d5 3.Bf1-c4 # 2...Ke4-f5 3.Bf1*h3 # 1...Ke4-d5 2.Se6*c7 + 2...Kd5-c5 3.Qf6-d6 # 3.Bh2-d6 # 2...Kd5-e4 3.Qf6-f4 #" --- authors: - Брон, Владимир Акимович source: ЮК А.Грин-75 date: 1983 distinction: 4th-5th Prize algebraic: white: [Ke1, Qf5, Sa6, Pb5] black: [Ka5, Ba4, Pe2, Pd6, Pb6] stipulation: "#3" solution: | "1.Qf5-d3 ! threat: 2.Qd3-c3 + 2...Ka5*b5 3.Sa6-c7 # 1...Ba4-d1 2.Qd3-c4 threat: 3.Qc4-b4 # 1...Ba4-c2 2.Qd3-c4 threat: 3.Qc4-b4 # 1...Ba4-b3 2.Qd3*b3 threat: 3.Qb3-b4 # 1...Ba4*b5 2.Qd3-d5 zugzwang. 2...Ka5*a6 3.Qd5-a8 # 2...Ka5-a4 3.Qd5-a2 #" comments: - Anticipation 374461 --- authors: - Брон, Владимир Акимович source: Československý šach date: 1957 algebraic: white: [Kd7, Rf3, Bb4, Sc3, Sc1] black: [Kd4, Pg3, Pc6, Pc2] stipulation: "#3" solution: | "1.Rf3-f1 ! threat: 2.Rf1-e1 threat: 3.Re1-e4 # 1...Kd4-e5 2.Bb4-c5 threat: 3.Sc1-d3 # 1...Kd4-e3 2.Bb4-c5 + 2...Ke3-d2 3.Sc3-e4 # 1...c6-c5 2.Rf1-f4 + 2...Kd4-e5 3.Sc1-d3 # 2...Kd4-e3 3.Sc3-d5 #" keywords: - Model mates comments: - Anticipation 57161 --- authors: - Брон, Владимир Акимович source: Československý šach date: 1960 algebraic: white: [Ke1, Qa3, Rg8, Bh3, Se7] black: [Ke4, Ph7, Pf4, Pd6, Pd4] stipulation: "#3" solution: | "1.Se7-d5 ! threat: 2.Qa3-f3 + 2...Ke4-e5 3.Rg8-g5 # 3.Rg8-e8 # 2...Ke4*f3 3.Bh3-g2 # 1...d4-d3 2.Qa3-a4 + 2...Ke4-e5 3.Rg8-g5 # 2...Ke4*d5 3.Rg8-g5 # 2...Ke4-f3 3.Qa4*f4 # 3.Bh3-g2 # 1...Ke4-e5 2.Rg8-g5 + 2...Ke5-e4 3.Sd5-f6 # 1...Ke4*d5 2.Qa3-b3 + 2...Kd5-e5 3.Qb3-e6 # 2...Kd5-c5 3.Rg8-c8 # 2...Kd5-c6 3.Rg8-c8 # 2...Kd5-e4 3.Rg8-e8 #" --- authors: - Брон, Владимир Акимович source: UV ČSTV date: 1959 distinction: 2nd HM algebraic: white: [Kg1, Qe5, Bf2, Sf8, Sd6, Ph6] black: [Kd8, Rb7, Bh3, Pf3, Pb5] stipulation: "#3" solution: | "1.Qe5-c5 ! threat: 2.Bf2-h4 + 2...Rb7-e7 3.Qc5-b6 # 1...Rb7-g7 + 2.h6*g7 threat: 3.Bf2-h4 # 1...Rb7-e7 2.Qc5-b6 + 2...Re7-c7 3.Bf2-h4 # 1...Kd8-e7 2.Qc5-g5 + 2...Ke7*f8 3.Qg5-d8 # 2...Ke7*d6 3.Qg5-c5 #" --- authors: - Брон, Владимир Акимович source: Československý šach date: 1960 algebraic: white: [Kc1, Qa4, Rh8, Rg3, Be4, Sg4, Ph6, Ph4, Pd2, Pc3] black: [Kh5, Bd4, Sc2, Pf6, Pb7, Pa3] stipulation: "#3" solution: | "1.Rg3-h3 ! threat: 2.Qa4-b5 + 2...Bd4-e5 3.Sg4*f6 # 2...Bd4-c5 3.Sg4*f6 # 2...Kh5*g4 3.Qb5-f5 # 2...f6-f5 3.Qb5*f5 # 1...Sc2-e3 2.Sg4*e3 threat: 3.Qa4-d1 # 3.Qa4-e8 # 2...Bd4*e3 3.Qa4-d1 # 2...f6-f5 3.Qa4-e8 # 2...b7-b5 3.Qa4-d1 # 1...Sc2-b4 2.Sg4*f6 + 2...Bd4*f6 3.Qa4-d1 # 1...Bd4-e5 2.Rh8-g8 threat: 3.Be4-g6 # 3.Qa4-e8 # 2...Sc2-d4 3.Qa4-e8 # 2...Sc2-b4 3.Qa4-e8 # 2...Be5-d4 3.Qa4-e8 # 2...Be5-f4 3.Qa4-e8 # 2...f6-f5 3.Qa4-e8 # 3.Rg8-g5 # 2...b7-b5 3.Be4-g6 # 1...Kh5*g4 2.Qa4-d7 + 2...Kg4-f4 3.Qd7-f5 # 2...Kg4-h5 3.Qd7-f5 # 2...f6-f5 3.Qd7*f5 # 1...f6-f5 2.Be4-f3 threat: 3.Sg4-e5 # 3.Qa4-e8 # 2...Sc2-e1 3.Qa4-e8 # 2...Sc2-e3 3.Qa4-e8 # 2...Bd4*h8 3.Qa4-e8 # 2...f5*g4 3.Qa4-e8 # 2...Kh5-g6 3.Qa4-e8 # 2...b7-b5 3.Sg4-e5 #" --- authors: - Брон, Владимир Акимович source: MT Čigorin date: 1949 distinction: 2nd-3rd Prize algebraic: white: [Kb1, Qd7, Re7, Bd3, Bc1, Se5, Sa2] black: [Kd4, Bb2, Sh2, Sd5, Pf6, Pc5, Pb7, Pb4, Pa3] stipulation: "#3" solution: | "1.Se5-g6 ! threat: 2.Sg6-f4 threat: 3.Re7-e4 # 3.Qd7*d5 # 3.Bc1-e3 # 2...Bb2*c1 3.Qd7*d5 # 3.Re7-e4 # 2...Sh2-f1 3.Re7-e4 # 3.Qd7*d5 # 2...Sh2-g4 3.Re7-e4 # 3.Qd7*d5 # 2...c5-c4 3.Qd7*d5 # 3.Bc1-e3 # 2...f6-f5 3.Qd7*d5 # 3.Bc1-e3 # 1...Bb2*c1 2.Re7-e4 + 2...Kd4*d3 3.Qd7*d5 # 1...Sh2-f1 2.Qd7-g4 + 2...Kd4*d3 3.Qg4-e4 # 2...Sd5-f4 3.Re7-d7 # 1...Sh2-f3 2.Qd7-g4 + 2...Kd4*d3 3.Qg4-e4 # 2...Sd5-f4 3.Re7-d7 # 1...b4-b3 2.Qd7-a4 + 2...Kd4*d3 3.Qa4-e4 # 2...c5-c4 3.Qa4*c4 # 2...Sd5-b4 3.Re7-d7 # 1...Kd4*d3 2.Qd7*d5 + 2...Bb2-d4 3.Re7-e3 # 3.Sg6-f4 # 1...c5-c4 2.Bc1-e3 + 2...Kd4*d3 3.Sg6-f4 #" --- authors: - Брон, Владимир Акимович source: Československý šach date: 1961 algebraic: white: [Kg3, Qb2, Rc4, Be8] black: [Kd1, Rg1, Rf1, Bf5, Bd2, Pg2, Pf2, Pe4, Pb3, Pa4] stipulation: "#3" solution: | "1.Be8-b5 ! threat: 2.Rc4-c1 + 2...Bd2*c1 3.Qb2-e2 # 1...Kd1-e2 2.Rc4-d4 + 2...Ke2-d1 3.Qb2-b1 # 3.Qb2*d2 # 2...Ke2-e3 3.Qb2*d2 # 2...Ke2-e1 3.Qb2*d2 # 1...Rf1-e1 2.Qb2-b1 + 2...Kd1-e2 3.Rc4-c3 # 3.Rc4*e4 # 2...Bd2-c1 3.Rc4-d4 # 1...Bd2-f4 + 2.Kg3*f4 threat: 3.Rc4-c1 # 1...Bd2-c3 2.Rc4*c3 threat: 3.Rc3-c1 # 3.Qb2-c1 # 3.Qb2-e2 # 2...Rf1-e1 3.Rc3-c1 # 3.Qb2-c1 # 2...Bf5-g4 3.Rc3-c1 # 3.Qb2-c1 # 1...Bf5-g4 2.Rc4-d4 threat: 3.Qb2-b1 # 3.Qb2*d2 # 2...Kd1-e1 3.Qb2*d2 # 2...e4-e3 3.Qb2-b1 #" --- authors: - Брон, Владимир Акимович source: Československý šach date: 1963 algebraic: white: [Ke4, Qf6, Ra4, Sd2] black: [Ka2, Ba7, Se3, Pf7, Pf2, Pb6, Pa3] stipulation: "#3" solution: | "1.Ra4-b4 ! threat: 2.Qf6-b2 + 2...a3*b2 3.Rb4-a4 # 2.Rb4-b1 threat: 3.Qf6-a1 # 3.Rb1-a1 # 2...f2-f1=Q 3.Qf6-a1 # 2...f2-f1=R 3.Qf6-a1 # 2...Se3-c2 3.Qf6*f7 # 1...f2-f1=Q 2.Qf6-b2 + 2...a3*b2 3.Rb4-a4 # 1...f2-f1=S 2.Qf6-b2 + 2...a3*b2 3.Rb4-a4 # 1...f2-f1=R 2.Qf6-b2 + 2...a3*b2 3.Rb4-a4 # 1...f2-f1=B 2.Qf6-b2 + 2...a3*b2 3.Rb4-a4 # 1...Se3-c2 2.Qf6*f7 + 2...Ka2-a1 3.Rb4-b1 # 1...Se3-d1 2.Qf6*f7 + 2...Ka2-a1 3.Rb4-b1 # 1...Se3-f1 2.Qf6-b2 + 2...a3*b2 3.Rb4-a4 # 2.Qf6*f7 + 2...Ka2-a1 3.Rb4-b1 # 1...Se3-g4 2.Qf6-b2 + 2...a3*b2 3.Rb4-a4 # 2.Qf6*f7 + 2...Ka2-a1 3.Rb4-b1 # 1...Se3-f5 2.Qf6-b2 + 2...a3*b2 3.Rb4-a4 # 2.Qf6*f7 + 2...Ka2-a1 3.Rb4-b1 # 1...Se3-d5 2.Qf6-b2 + 2...a3*b2 3.Rb4-a4 # 1...Se3-c4 2.Rb4*c4 threat: 3.Rc4-c2 # 1...b6-b5 2.Rb4-b2 + 2...Ka2-a1 3.Sd2-b3 # 2...a3*b2 3.Qf6-a6 # 1...Ba7-b8 2.Qf6-b2 + 2...a3*b2 3.Rb4-a4 #" --- authors: - Брон, Владимир Акимович source: Československý šach source-id: 67 date: 1963 distinction: 2nd Prize algebraic: white: [Ka2, Qd8, Be3, Bd1, Se8, Pe6, Pd2, Pb5] black: [Ke4, Rg4, Rc4, Bh1, Bb2, Sh3, Pg6, Pf6, Pf2, Pe5, Pa4] stipulation: "#3" solution: | "1.Bd1-e2 ! threat: 2.Qd8-d3 # 1...Bb2-d4 2.Se8*f6 + 2...Ke4-f5 3.Be2*g4 # 1...Sh3-f4 2.Se8-d6 + 2...Ke4-d5 3.Be2*c4 # 1...Rc4-c3 2.Se8*f6 + 2...Ke4-f5 3.Be2*g4 # 1...Rc4-d4 2.Qd8-a8 + 2...Rd4-d5 3.Se8-d6 # 2...Ke4-f5 3.Se8-g7 # 1...Ke4-f5 2.Se8-g7 + 2...Kf5-e4 3.Qd8-d3 #" --- authors: - Брон, Владимир Акимович source: Československý šach source-id: 33 date: 1967-03 algebraic: white: [Kf7, Qf2, Re1, Bd7] black: [Kd5, Bh1, Sg7, Pg6, Pd6, Pd3] stipulation: "#3" solution: | "1.Qf2-b2 ! threat: 2.Qb2-c3 threat: 3.Bd7-c6 # 1...Kd5-c5 2.Re1-c1 + 2...Kc5-d5 3.Bd7-c6 # 1...Kd5-c4 2.Re1-c1 + 2...Kc4-d5 3.Bd7-c6 # 1...Sg7-e6 2.Bd7*e6 + 2...Kd5-c6 3.Re1-c1 # 2...Kd5-c5 3.Re1-c1 # 1...Sg7-f5 2.Bd7-e6 + 2...Kd5-c6 3.Re1-c1 # 2...Kd5-c5 3.Re1-c1 #" --- authors: - Брон, Владимир Акимович source: British Chess Federation date: 1965 distinction: 2nd Prize algebraic: white: [Kd1, Qh3, Rb6, Bg5, Sf6, Sc8] black: [Ke5, Rb4, Ra7, Ba2, Sh4, Sd8, Ph5, Pd4, Pd3, Pb3] stipulation: "#3" solution: | "1.Sc8-d6 ! threat: 2.Qh3-g3 + 2...Ke5-e6 3.Qg3-e1 # 1...d3-d2 2.Qh3-h2 + 2...Ke5-e6 3.Qh2-e2 # 1...Ra7-a5 2.Sd6-f7 + 2...Sd8*f7 3.Rb6-e6 # 3.Qh3-e6 # 1...Sd8-c6 2.Rb6-b5 + 2...Rb4*b5 3.Sd6-c4 # 2...Ke5*d6 3.Sf6-e8 # 1...Sd8-e6 2.Sd6-c4 + 2...Rb4*c4 3.Rb6*e6 # 3.Qh3*e6 # 2.Sd6-f7 + 2...Ra7*f7 3.Qh3*e6 # 3.Rb6*e6 # 1...Sd8-f7 2.Sd6-c4 + 2...Rb4*c4 3.Rb6-e6 # 3.Qh3-e6 # 2.Sd6*f7 + 2...Ra7*f7 3.Qh3-e6 # 3.Rb6-e6 #" --- authors: - Брон, Владимир Акимович source: Šachové umění source-id: 2095 date: 1969-10 algebraic: white: [Kh8, Qb5, Bc1, Sg3, Sd8] black: [Kd4, Sg8, Sf8, Pg6, Pf3, Pc7] stipulation: "#3" solution: | "1.Qb5-b3 ! threat: 2.Bc1-b2 + 2...Kd4-c5 3.Sg3-e4 # 1...Kd4-c5 2.Bc1-a3 + 2...Kc5-d4 3.Sd8-c6 # 1...Kd4-e5 2.Sd8-f7 + 2...Ke5-f6 3.Bc1-g5 # 2...Ke5-d4 3.Bc1-e3 # 1...Sg8-f6 2.Bc1-e3 + 2...Kd4-e5 3.Sd8-f7 #" --- authors: - Брон, Владимир Акимович source: Šachové umění source-id: 2317 date: 1970-04 algebraic: white: [Ke1, Qb8, Bc1, Sb3, Sb2] black: [Ka3, Re3, Rc3, Bg2, Bd4, Pe2, Pd5, Pc5, Pc2, Pa6, Pa5, Pa2] stipulation: "#3" solution: | "1.Sb3-a1 ! threat: 2.Qb8-b3 + 2...Rc3*b3 3.Sa1*c2 # 1...Bg2-e4 2.Sb2-d3 + 2...Ka3-a4 3.Qb8-e8 # 1...Rc3-c4 2.Sb2-d3 + 2...Ka3-a4 3.Qb8-b3 # 2...Bd4-b2 3.Qb8-b3 # 1...c5-c4 2.Qb8-d6 + 2...Bd4-c5 3.Qd6*c5 #" --- authors: - Брон, Владимир Акимович source: | Český šachový svaz - J.Moravec MT date: 1970 distinction: 1st Comm. algebraic: white: [Kg2, Qh6, Be5, Sg4, Sa4] black: [Kd5, Pb3] stipulation: "#3" solution: | "1.Be5-c3 ! threat: 2.Sg4-e3 + 2...Kd5-e4 3.Sa4-c5 # 1...Kd5-e4 2.Qh6-g6 + 2...Ke4-f4 3.Bc3-d2 # 3.Bc3-e5 # 2...Ke4-d5 3.Sg4-e3 # 1...Kd5-c4 2.Qh6-a6 + 2...Kc4-d5 3.Sg4-f6 # 2.Sg4-e5 + 2...Kc4-b5 3.Qh6-c6 # 2...Kc4-d5 3.Qh6-c6 # Cook: 1.Sa4-b2 ! threat: 2.Qh6-d6 + 2...Kd5-e4 3.Qd6-d3 # 1...Kd5-c5 2.Qh6-a6 zugzwang. 2...Kc5-d5 3.Qa6-c4 # 2...Kc5-b4 3.Sb2-d3 # 1...Kd5-e4 2.Qh6-f4 + 2...Ke4-d5 3.Qf4-c4 #" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1952 distinction: HM algebraic: white: [Ka8, Qf8, Be7, Bb7] black: [Ke6, Re2, Sd3, Sd2, Pf4, Pb4] stipulation: "#3" solution: | "1.Be7-h4 ! threat: 2.Qf8-f6 + 2...Ke6-d7 3.Qf6-c6 # 1...Sd2-e4 2.Qf8-e8 + 2...Ke6-d6 3.Qe8-e7 # 2...Ke6-f5 3.Bb7-c8 # 1...Ke6-d7 2.Qf8-d8 + 2...Kd7-e6 3.Qd8-d5 #" keywords: - Model mates --- authors: - Брон, Владимир Акимович source: Šachmaty date: 1950 algebraic: white: [Ka7, Qf8, Bb1, Sa6, Pf4, Pe3, Pb6] black: [Kc6, Bf3, Pg7, Pg6, Pd4, Pb5, Pb3, Pa5] stipulation: "#3" solution: | "1.f4-f5 ! threat: 2.Qf8-c8 + 2...Kc6-d6 3.Qc8-e6 # 2...Kc6-d5 3.Qc8-e6 # 3.Qc8-c5 # 2.Qf8-e8 + 2...Kc6-d6 3.Qe8-e6 # 2...Kc6-d5 3.Qe8-e6 # 1...d4*e3 2.Qf8-c8 + 2...Kc6-d6 3.Qc8-e6 # 2...Kc6-d5 3.Qc8-c5 # 1...b5-b4 2.Qf8-e8 + 2...Kc6-d6 3.Qe8-e6 # 2...Kc6-d5 3.Qe8-e6 # 1...g6*f5 2.Bb1*f5 threat: 3.Qf8-c5 # 1.Bb1-d3 ! threat: 2.Qf8-e7 threat: 3.Qe7-e6 # 2...Bf3-g4 3.Bd3-e4 # 2...Bf3-d5 3.Qe7-c7 # 3.Sa6-b8 # 2...Kc6-d5 3.Qe7-d7 # 1...Bf3-g4 2.Bd3-e4 + 2...Kc6-d7 3.Sa6-c5 # 1...Bf3-e4 2.Bd3*e4 + 2...Kc6-d7 3.Sa6-c5 # 1...b5-b4 2.Bd3-c4 threat: 3.Sa6-b8 # 1...Kc6-d7 2.Bd3*b5 + 2...Bf3-c6 3.Sa6-c5 # 2...Kd7-e6 3.Sa6-c7 # 1...Kc6-d5 2.Sa6-c7 + 2...Kd5-c6 3.Bd3*b5 #" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1937 distinction: 2nd HM algebraic: white: [Kb8, Qc6, Rc1] black: [Ka6, Ra5, Bb6, Sa3] stipulation: "#3" solution: | "1.Rc1-c3 ! zugzwang. 1...Sa3-c2 2.Qc6-c8 + 2...Ka6-b5 3.Qc8-c4 # 1...Sa3-b1 2.Qc6-c8 + 2...Ka6-b5 3.Qc8-c4 # 2.Rc3-b3 threat: 3.Qc6-b7 # 3.Qc6*b6 # 3.Qc6-c8 # 3.Rb3*b6 # 2...Ra5-a1 3.Qc6-b5 # 3.Qc6*b6 # 2...Ra5-a2 3.Qc6-b5 # 3.Qc6*b6 # 2...Ra5-a3 3.Qc6-b5 # 3.Qc6*b6 # 2...Ra5-a4 3.Qc6-b5 # 3.Qc6*b6 # 2...Ra5-h5 3.Qc6*b6 # 2...Ra5-g5 3.Qc6*b6 # 2...Ra5-f5 3.Qc6*b6 # 2...Ra5-e5 3.Qc6*b6 # 2...Ra5-d5 3.Qc6*b6 # 2...Ra5-c5 3.Qc6*b6 # 2...Ra5-b5 3.Qc6*b5 # 1...Sa3-c4 2.Qc6-c8 + 2...Ka6-b5 3.Qc8*c4 # 1...Sa3-b5 2.Qc6-c8 # 2.Qc6-b7 # 1...Ra5-a4 2.Qc6*a4 + 2...Bb6-a5 3.Rc3-c6 # 2.Rc3-c5 threat: 3.Qc6-b7 # 3.Qc6-c8 # 2...Sa3-b5 3.Qc6*b5 # 1...Ra5-h5 2.Rc3*a3 + 2...Rh5-a5 3.Qc6-c4 # 1...Ra5-g5 2.Rc3*a3 + 2...Rg5-a5 3.Qc6-c4 # 1...Ra5-f5 2.Rc3*a3 + 2...Rf5-a5 3.Qc6-c4 # 1...Ra5-e5 2.Rc3*a3 + 2...Re5-a5 3.Qc6-c4 # 1...Ra5-d5 2.Rc3*a3 + 2...Rd5-a5 3.Qc6-c4 # 1...Ra5-c5 2.Rc3*a3 + 2...Rc5-a5 3.Qc6-c4 # 2.Rc3*c5 threat: 3.Qc6-b7 # 3.Qc6-c8 # 2...Sa3-b5 3.Qc6*b5 # 1...Ra5-b5 2.Rc3*a3 + 2...Rb5-a5 3.Qc6-c4 #" --- authors: - Брон, Владимир Акимович source: Ukrajinská sekce date: 1930 distinction: 2nd HM algebraic: white: [Kf2, Qe7, Rh5, Bf6, Ba6, Pf5, Pe5, Pa3] black: [Kg4, Rf8, Ra8, Bg8, Bb8, Ph6, Pf7, Pd6, Pc6, Pc5, Pc4] stipulation: "#3" solution: | "1.Qe7-b7 ! threat: 2.Qb7-b1 threat: 3.Rh5-h4 # 2...Kg4*h5 3.Qb1-d1 # 1...c4-c3 2.Qb7-d7 threat: 3.Rh5-h4 # 2...Kg4*h5 3.Ba6-e2 # 2.Ba6-d3 threat: 3.Rh5-h4 # 2...Kg4*h5 3.Bd3-e2 # 1...Kg4*h5 2.Qb7-b3 threat: 3.Qb3-d1 # 3.Qb3-h3 # 3.Qb3-f3 # 2...c4-c3 3.Ba6-e2 # 3.Qb3-d1 # 2...c4*b3 3.Ba6-e2 # 2...Kh5-g4 3.Qb3-f3 # 1...d6*e5 2.Qb7-d7 threat: 3.Rh5-h4 # 2...Kg4*h5 3.Qd7-d1 #" --- authors: - Брон, Владимир Акимович source: Шахматный листок source-id: 15/1001 date: 1929 distinction: 1st HM algebraic: white: [Kb1, Qh4, Be2, Ba7, Sg1, Pf6, Pf2, Pe4, Pd2] black: [Ke1, Re6, Bg7, Pg6, Pg2, Pd6, Pb5, Pb2] stipulation: "#3" solution: | "1.e4-e5 ! threat: 2.f2-f3 + 2...Ke1*d2 3.Qh4-b4 # 1...g6-g5 2.Qh4-b4 threat: 3.d2-d3 # 1...Bg7*f6 2.Qh4-e4 threat: 3.Sg1-f3 # 2...Ke1*d2 3.Qe4-b4 #" --- authors: - Брон, Владимир Акимович source: Šachmaty date: 1929 algebraic: white: [Ke8, Qg2, Bg4, Bg1, Se4] black: [Ke5, Ba2, Sb8, Sb1, Ph6, Ph4, Pg7, Pg6, Pd2, Pc6, Pb3] stipulation: "#3" solution: | "1.Se4-c5 ! threat: 2.Qg2-h2 + 2...Ke5-d5 3.Bg4-e6 # 2...Ke5-f6 3.Sc5-e4 # 3.Qh2-f4 # 1...Ke5-f6 2.Bg1-d4 + 2...Kf6-g5 3.Sc5-e6 # 1...Ke5-f4 2.Bg1-h2 + 2...Kf4-g5 3.Sc5-e4 # 2...Kf4-e3 3.Qg2-g1 #" --- authors: - Брон, Владимир Акимович source: Шахматы source-id: 8/727 date: 1929 distinction: 4th HM, 2nd half-year algebraic: white: [Kd7, Qd6, Bg5, Bg2, Ph4, Ph3, Pe7, Pd4, Pc2] black: [Kf5, Rh8, Bh2, Sd8, Ph5, Pg7, Pf4, Pc6, Pb4] stipulation: "#3" solution: | "1.Bg2-d5 ! threat: 2.Qd6-e5 + 2...Kf5-g6 3.Qe5-e4 # 1...f4-f3 2.Bd5-c4 threat: 3.Bc4-d3 # 1...c6*d5 2.Qd6-a6 threat: 3.Qa6-d3 #" keywords: - Model mates --- authors: - Брон, Владимир Акимович source: Вечерний Свердловск date: 1967 distinction: 1st Prize algebraic: white: [Kd8, Qc4, Se1, Pc2] black: [Ka5, Pc7, Pb7] stipulation: "#3" solution: | "1.Se1-d3 ! threat: 2.Qc4-c5 + 2...b7-b5 3.Qc5-a7 # 2...Ka5-a6 3.Sd3-b4 # 2...Ka5-a4 3.Qc5-b4 # 3.Sd3-b2 # 1...b7-b5 2.Qc4*c7 + 2...Ka5-a6 3.Sd3-c5 # 3.Sd3-b4 # 2...Ka5-a4 3.Qc7-a7 # 1...b7-b6 2.Kd8*c7 zugzwang. 2...b6-b5 3.Qc4-a2 #" --- authors: - Брон, Владимир Акимович source: I командное первенство России date: 1965 distinction: 1st Prize algebraic: white: [Kc1, Bd3, Bc3, Sh7, Se8, Pg6, Pg4, Pg3, Pb2] black: [Kh6, Qh1, Bg1, Sd2, Sd1, Ph3, Pf4, Pf2, Pe7, Pe5, Pb3] stipulation: "#3" solution: | "1.Bf5! - [2.g5+ Kh5 3.Sg7#] 1...Sf3 2.g7! S:c3 (~) 3.g8S# (2.B:e5? S:e5!) 1...Se4 2.B:e5 ~ 3.Bg7# (2.g7? 3.Sf6!) (1...f:g3 2.B:d2+ Se3 3.B:e3#)" keywords: - Model mates --- authors: - Брон, Владимир Акимович source: Československý šach source-id: 4 date: 1964-01 distinction: 1st HM algebraic: white: [Ka7, Qd8, Bh7, Bb6, Sf8] black: [Kh8, Qg7, Ba4, Pb7, Pb3] stipulation: "#3" solution: | "1.Bb6-d4 ! threat: 2.Qd8-f6 threat: 3.Qf6*g7 # 2...Qg7*f6 3.Bd4*f6 # 1...b7-b5 + 2.Qd8-d7 threat: 3.Qd7*g7 # 3.Bd4*g7 # 2...Qg7*d4 + 3.Qd7*d4 # 1...b7-b6 + 2.Qd8-e7 threat: 3.Qe7*g7 # 3.Bd4*g7 # 2...Qg7*d4 3.Sf8-g6 #" --- authors: - Брон, Владимир Акимович source: Szachy date: 1963 distinction: 1st Prize algebraic: white: [Ke2, Qh4, Rc6, Bb6, Sa5, Pf6, Pf2, Pd6, Pd4] black: [Ka6, Bg7, Pf5, Pe4, Pa4] stipulation: "#3" solution: | "1.Qh4-g5 ! threat: 2.Qg5-c1 threat: 3.Qc1-c4 # 1...e4-e3 2.Qg5*f5 threat: 3.Qf5-d3 # 1...f5-f4 2.Bb6-c5 + 2...Ka6*a5 3.Bc5-a3 # 2...Ka6-b5 3.Bc5-a3 # 1...Bg7-h6 2.Qg5-g8 threat: 3.Qg8-c4 #" --- authors: - Брон, Владимир Акимович source: Československý šach date: 1961 algebraic: white: [Kb1, Ba6, Se8, Sc2, Pe6, Pd5, Pa2] black: [Ka4, Rg4, Bh8, Bh5, Sd1, Pg6, Pg3, Pe3, Pc6, Pc4, Pc3, Pa5] stipulation: "#3" solution: | "1.Se8-d6 ! threat: 2.Ba6-b7 threat: 3.Bb7*c6 # 1...Rg4-d4 2.Sd6-c8 threat: 3.Sc8-b6 # 1...Rg4-g5 2.Ba6*c4 threat: 3.Bc4-b3 # 1...g6-g5 2.d5*c6 threat: 3.Ba6-b5 #" --- authors: - Брон, Владимир Акимович source: Wrobel-Jubiläumsturnier date: 1960 distinction: 2nd Prize algebraic: white: [Ka7, Qb6, Rc3, Be6, Ba5, Sb3, Sb1, Pe4, Pb5] black: [Ka4, Qg1, Ra2, Sh2, Sf1, Pe5, Pd5, Pb7] stipulation: "#3" solution: | "1.Be6-d7 ! threat: 2.Qb6-f2 threat: 3.b5-b6 # 2...Qg1-g7 3.Qf2*a2 # 2...Qg1-g6 3.Qf2*a2 # 2...Qg1-g4 3.Qf2*a2 # 2...b7-b6 3.Qf2*a2 # 2.Qb6-d4 + 2...Qg1*d4 + 3.b5-b6 # 2...e5*d4 3.b5-b6 # 1...Sf1-g3 2.Qb6-d4 + 2...Qg1*d4 + 3.b5-b6 # 2...e5*d4 3.b5-b6 # 1...Sf1-d2 2.Qb6-d4 + 2...Qg1*d4 + 3.b5-b6 # 2...Sd2-c4 3.b5-b6 # 2...e5*d4 3.b5-b6 # 1...Qg1*b6 + 2.Ka7*b6 threat: 3.Sb3-c5 # 1...Qg1-d4 2.Qb6*d4 + 2...e5*d4 3.b5-b6 # 1...Qg1-e3 2.Qb6-d4 + 2...Qe3*d4 + 3.b5-b6 # 2...e5*d4 3.b5-b6 # 1...Ra2-a1 2.Qb6-d4 + 2...Qg1*d4 + 3.b5-b6 # 2...e5*d4 3.b5-b6 # 1...Ra2-a3 2.Qb6-d4 + 2...Qg1*d4 + 3.b5-b6 # 2...e5*d4 3.b5-b6 # 1...Ra2-g2 2.Qb6-d4 + 2...Qg1*d4 + 3.b5-b6 # 2...e5*d4 3.b5-b6 # 1...Ra2-e2 2.Qb6-d4 + 2...Qg1*d4 + 3.b5-b6 # 2...e5*d4 3.b5-b6 # 1...Ra2-d2 2.Qb6-d4 + 2...Qg1*d4 + 3.b5-b6 # 2...Rd2*d4 3.b5-b6 # 2...e5*d4 3.b5-b6 # 1...Ra2-c2 2.Qb6-d4 + 2...Qg1*d4 + 3.b5-b6 # 2...e5*d4 3.b5-b6 # 1...Ra2-b2 2.Qb6-d4 + 2...Qg1*d4 + 3.b5-b6 # 2...e5*d4 3.b5-b6 # 1...Sh2-g4 2.Qb6-d4 + 2...Qg1*d4 + 3.b5-b6 # 2...e5*d4 3.b5-b6 # 1...Sh2-f3 2.Qb6-f2 threat: 3.b5-b6 # 2...Qg1-g7 3.Qf2*a2 # 2...Qg1-g6 3.Qf2*a2 # 2...Qg1-g4 3.Qf2*a2 # 2...Sf3-d4 3.Qf2*a2 # 2...b7-b6 3.Qf2*a2 # 1...d5*e4 2.Qb6-e3 threat: 3.b5-b6 # 3.Rc3-c4 # 2...Sf1*e3 3.b5-b6 # 2...Sf1-d2 3.b5-b6 # 2...Qg1*e3 + 3.b5-b6 # 2...Qg1-g8 3.b5-b6 # 2...Qg1-g7 3.Qe3*e4 # 3.Rc3-c4 # 2...Qg1-g6 3.Rc3-c4 # 2...Qg1-g4 3.Rc3-c4 # 2...Ra2-d2 3.Rc3-c4 # 2...Ra2-c2 3.b5-b6 # 2...b7-b6 3.Rc3-c4 #" --- authors: - Брон, Владимир Акимович source: Szachy date: 1961 distinction: 1st-2nd Prize algebraic: white: [Kg7, Qd2, Ba2, Sc1, Pb5, Pb2, Pa3] black: [Ka1, Ra4, Bf5, Bb8, Pf6, Pd6, Pd3, Pb7, Pb6, Pb4] stipulation: "#3" solution: | "1.b2-b3 ! threat: 2.a3*b4 threat: 3.Qd2-c3 # 2...Ra4*a2 3.Qd2*a2 # 1...Ra4*a3 2.Qd2-f2 threat: 3.Qf2-d4 # 2...Ra3*a2 3.Qf2*a2 # 2...Ra3*b3 3.Sc1*b3 # 1...d6-d5 2.b3*a4 threat: 3.Sc1-b3 #" --- authors: - Брон, Владимир Акимович source: Šachmaty source-id: 3/20 date: 1960 distinction: 1st HM algebraic: white: [Kb3, Qc5, Be5, Be2, Sg1, Ph2] black: [Ke1, Rb1, Be8, Ba5, Pg2, Pf4, Pd5, Pc7, Pb5, Pb2] stipulation: "#3" solution: | "1.Qc5-e7 ! threat: 2.Qe7-h4 + 2...Ke1-d2 3.Be5*f4 # 1...Ke1-f2 2.Be5-d4 + 2...Kf2-e1 3.Sg1-f3 # 1...Ke1-d2 2.Be5*f4 + 2...Kd2-e1 3.Qe7-h4 # 1...f4-f3 2.Be5-g3 + 2...Ke1-d2 3.Qe7-g5 # 2...f3-f2 3.Sg1-f3 # 1...Ba5-b6 2.Be5-c3 + 2...Ke1-f2 3.Sg1-h3 #" keywords: - Model mates comments: - After 388020 --- authors: - Брон, Владимир Акимович source: Конкурс Чувашского КФС date: 1955 distinction: 3rd Prize algebraic: white: [Ke4, Qf1, Rh7] black: [Kf8, Sf5, Pg6] stipulation: "#3" solution: | "1.Rh7-a7 ! threat: 2.Qf1-f4 threat: 3.Qf4-b8 # 1...g6-g5 2.Qf1*f5 + 2...Kf8-g8 3.Qf5-c8 # 2...Kf8-e8 3.Qf5-c8 # 1...Kf8-g8 2.Qf1-c4 + 2...Kg8-h8 3.Qc4-c8 # 2...Kg8-f8 3.Qc4-c8 # 3.Qc4-f7 # 1...Kf8-e8 2.Qf1-b5 + 2...Ke8-f8 3.Qb5-b8 # 2...Ke8-d8 3.Qb5-b8 # 3.Qb5-d7 #" keywords: - Area clearkeeping --- authors: - Брон, Владимир Акимович source: Meisterschaft der UdSSR date: 1948 distinction: 15th Place algebraic: white: [Ke3, Qa7, Bf4, Be2, Se5, Pg2, Pd5, Pd3] black: [Kh4, Rh6, Rb1, Ba4, Pg7, Pd7] stipulation: "#3" solution: | "1.Qa7-b8 ! threat: 2.Qb8-d8 + 2...Rh6-f6 3.Se5-g6 # 2...g7-g5 3.Qd8*g5 # 1...Rb1*b8 2.Be2-g4 threat: 3.g2-g3 # 1...Rb1-b6 2.Be2-g4 threat: 3.g2-g3 # 1...Rh6-f6 2.Qb8-h8 + 2...Rf6-h6 3.Se5-g6 # 1...g7-g5 2.Se5-g6 + 2...Rh6*g6 3.Bf4-g3 #" --- authors: - Брон, Владимир Акимович source: Šachmaty date: 1939 distinction: 3rd Prize algebraic: white: [Kg6, Qe7, Rf7, Bf4, Bd1, Sb6] black: [Ke4, Rb7, Rb2, Be6, Be1, Sh1, Sa5, Pd7, Pd3, Pd2, Pc6, Pc3, Pb4] stipulation: "#3" solution: | "1.Bf4-e3 ! threat: 2.Bd1-f3 + 2...Ke4-e5 3.Rf7-f5 # 2...Ke4*e3 3.Qe7-c5 # 1...Sh1-g3 2.Qe7-h4 + 2...Ke4-e5 3.Qh4-d4 # 3.Qh4-f4 # 2...Ke4*e3 3.Qh4-f4 # 3.Rf7-f3 # 2...Be6-g4 3.Rf7-e7 # 1...Ke4-e5 2.Qe7-f6 + 2...Ke5-e4 3.Qf6-d4 # 3.Qf6-f4 # 2...Ke5-d6 3.Qf6-f4 # 1...Ke4*e3 2.Qe7-c5 + 2...Ke3-e4 3.Bd1-f3 # 1...Sa5-b3 2.Qe7*b4 + 2...Sb3-d4 3.Qb4*d4 # 2...Ke4-e5 3.Qb4-f4 # 3.Be3-f4 # 2...Ke4*e3 3.Rf7-f3 # 3.Qb4-f4 # 2...Be6-c4 3.Rf7-e7 #" --- authors: - Брон, Владимир Акимович source: Конкурс в честь XVII съезда ВКП(б) date: 1934 distinction: 6th Prize algebraic: white: [Kh4, Qe3, Ra5, Bh7, Sd5, Sd4, Pc5] black: [Kc4, Bf1, Ba3, Sf6, Sd7, Pc6] stipulation: "#3" solution: | "1.Sd4-f3 ! zugzwang. 1...Bf1-e2 2.Qe3*e2 + 2...Kc4-b3 3.Sf3-d4 # 3.Qe2-c2 # 2...Kc4*d5 3.Qe2-a2 # 1...Bf1-h3 2.Qe3-d3 # 1...Bf1-g2 2.Qe3-d3 # 1...Bf1-d3 2.Qe3*d3 # 1...Ba3-c1 2.Qe3-d4 + 2...Kc4-b3 3.Qd4-c3 # 3.Qd4-b4 # 1...Ba3-b2 2.Qe3-b3 + 2...Kc4*b3 3.Sf3-d2 # 1...Ba3*c5 2.Qe3-d4 + 2...Kc4-b3 3.Sf3-d2 # 3.Qd4-c3 # 2...Bc5*d4 3.Sf3-d2 # 1...Ba3-b4 2.Qe3-d4 + 2...Kc4-b3 3.Qd4*b4 # 1...Kc4*d5 2.Qe3-e4 + 2...Sf6*e4 3.Bh7-g8 # 1...c6*d5 2.Sf3-d2 + 2...Kc4-b4 3.Qe3*a3 # 1...Sf6*d5 2.Sf3-d2 + 2...Kc4-b4 3.Qe3*a3 # 1...Sf6-e4 2.Qe3*e4 + 2...Kc4-b3 3.Qe4-c2 # 1...Sf6-g4 2.Qe3-e4 + 2...Kc4-b3 3.Qe4-c2 # 2.Sf3-d2 + 2...Kc4*d5 3.Bh7-g8 # 3.Qe3-e4 # 1...Sf6-h5 2.Sf3-d2 + 2...Kc4*d5 3.Bh7-g8 # 3.Qe3-e4 # 2.Bh7-c2 threat: 3.Qe3-d4 # 3.Qe3-b3 # 3.Qe3-e4 # 3.Bc2-b3 # 2...Bf1-d3 3.Qe3-d4 # 3.Qe3*d3 # 2...Ba3-b2 3.Qe3-b3 # 3.Bc2-b3 # 2...Ba3*c5 3.Qe3-b3 # 3.Bc2-b3 # 2...Kc4*d5 3.Qe3-e4 # 2...Sh5-g3 3.Qe3-d4 # 3.Qe3-b3 # 3.Bc2-b3 # 2...Sh5-f6 3.Qe3-d4 # 3.Qe3-b3 # 3.Bc2-b3 # 2...c6*d5 3.Qe3-d4 # 3.Qe3-b3 # 2...Sd7*c5 3.Qe3-d4 # 2...Sd7-f6 3.Qe3-d4 # 3.Qe3-b3 # 3.Bc2-b3 # 2.Qe3-e4 + 2...Kc4-b3 3.Qe4-c2 # 1...Sf6*h7 2.Sf3-d2 + 2...Kc4*d5 3.Qe3-e4 # 1...Sf6-g8 2.Sf3-d2 + 2...Kc4*d5 3.Bh7*g8 # 3.Qe3-e4 # 2.Bh7-c2 threat: 3.Qe3-d4 # 3.Qe3-b3 # 3.Qe3-e4 # 3.Bc2-b3 # 2...Bf1-d3 3.Qe3-d4 # 3.Qe3*d3 # 2...Ba3-b2 3.Qe3-b3 # 3.Bc2-b3 # 2...Ba3*c5 3.Qe3-b3 # 3.Bc2-b3 # 2...Kc4*d5 3.Qe3-e4 # 2...c6*d5 3.Qe3-d4 # 3.Qe3-b3 # 2...Sd7*c5 3.Qe3-d4 # 2...Sd7-f6 3.Qe3-d4 # 3.Qe3-b3 # 3.Bc2-b3 # 2...Sg8-f6 3.Qe3-d4 # 3.Qe3-b3 # 3.Bc2-b3 # 2.Qe3-e4 + 2...Kc4-b3 3.Qe4-c2 # 1...Sf6-e8 2.Qe3-e4 + 2...Kc4-b3 3.Qe4-c2 # 2.Bh7-c2 threat: 3.Qe3-d4 # 3.Qe3-b3 # 3.Qe3-e4 # 3.Bc2-b3 # 2...Bf1-d3 3.Qe3-d4 # 3.Qe3*d3 # 2...Ba3-b2 3.Qe3-b3 # 3.Bc2-b3 # 2...Ba3*c5 3.Qe3-b3 # 3.Bc2-b3 # 2...Kc4*d5 3.Qe3-e4 # 2...c6*d5 3.Qe3-d4 # 3.Qe3-b3 # 2...Sd7*c5 3.Qe3-d4 # 2...Sd7-f6 3.Qe3-d4 # 3.Qe3-b3 # 3.Bc2-b3 # 2...Se8-d6 3.Qe3-d4 # 3.Qe3-b3 # 3.Bc2-b3 # 2...Se8-f6 3.Qe3-d4 # 3.Qe3-b3 # 3.Bc2-b3 # 2.Sf3-d2 + 2...Kc4*d5 3.Bh7-g8 # 3.Qe3-e4 # 1...Sd7-b6 2.Sd5*b6 + 2...Kc4-b4 3.Qe3*a3 # 1...Sd7*c5 2.Sd5-b6 + 2...Kc4-b4 3.Qe3*a3 # 1...Sd7-e5 2.Sd5-b6 + 2...Kc4-b4 3.Qe3*a3 # 1...Sd7-f8 2.Sd5-b6 + 2...Kc4-b4 3.Qe3*a3 # 1...Sd7-b8 2.Sd5-b6 + 2...Kc4-b4 3.Qe3*a3 #" --- authors: - Брон, Владимир Акимович source: Всесоюзный конкурс имени VII шахматно-шашечного съезда date: 1931 distinction: 1st HM algebraic: white: [Ka1, Qf4, Be8, Bb2, Sc1, Sa3, Ph2, Pc6, Pb4, Pa7] black: [Ka4, Rh6, Rc8, Bg8, Sd8, Pg4, Pd5, Pa6] stipulation: "#3" solution: | "1.Qf4-d4 ! threat: 2.b4-b5 + 2...Ka4-a5 3.Bb2-c3 # 3.Sc1-b3 # 1...Rh6-h3 2.c6-c7 + 2...Sd8-c6 3.Be8*c6 # 1...Rh6*c6 2.Sa3-b1 threat: 3.Sb1-c3 # 1...Rc8*c6 2.a7-a8=S threat: 3.Sa8-b6 # 1...Sd8*c6 2.Sc1-d3 threat: 3.Sd3-c5 # 1...Sd8-e6 2.Qd4-b6 threat: 3.Qb6-a5 #" --- authors: - Брон, Владимир Акимович source: Šachmaty date: 1931 distinction: 1st HM algebraic: white: [Ka1, Qd2, Rh5, Bh1, Sg7, Pe6, Pd7, Pc2, Pb5] black: [Ke5, Qa7, Rh6, Bh7, Sg5, Sf5, Ph3, Pf6, Pe7, Pc7, Pb6, Pa4] stipulation: "#3" solution: | "1.c2-c3 ! threat: 2.Qd2-h2 + 2...Sf5-g3 3.Qh2*g3 # 1...Sf5*g7 2.Qd2-d4 + 2...Ke5-f5 3.Qd4-e4 # 2...Ke5*e6 3.Qd4-d5 # 1...Sg5-e4 2.d7-d8=Q threat: 3.Qd8-d4 # 3.Qd8-d5 # 2...Se4*c3 3.Qd8-d4 # 3.Qd2-d4 # 3.Qd2-h2 # 2...Se4*d2 3.Qd8-d4 # 2...Se4-g5 3.Qd8-d5 # 2...Se4-d6 3.Qd2-d4 # 3.Qd2-h2 # 2...Rh6*h5 3.Qd8-d5 # 2...Qa7-a8 3.Qd8-d4 # 2...Qa7-b7 3.Qd8-d4 # 2...c7-c5 3.Qd8-d5 # 2...c7-c6 3.Qd8-d4 # 1...Sg5-f3 2.Qd2-e3 + 2...Ke5-d5 3.Qe3-d4 # 2...Ke5-d6 3.d7-d8=Q # 3.d7-d8=R # 1...Sg5*e6 2.d7-d8=S threat: 3.Sd8-c6 # 3.Sd8-f7 # 2...Se6-d4 3.Sd8-f7 # 3.Qd2*d4 # 3.Qd2-h2 # 2...Se6-g5 3.Sd8-c6 # 2...Se6*g7 3.Qd2-d4 # 3.Qd2-h2 # 2...Se6*d8 3.Qd2-h2 # 3.Qd2-d4 # 2...Qa7-a8 3.Sd8-f7 # 2...Qa7-b7 3.Sd8-f7 # 2...Bh7-g6 3.Sd8-c6 # 2...Bh7-g8 3.Sd8-c6 # 3.Rh5*f5 #" --- authors: - Брон, Владимир Акимович source: Шахматный листок date: 1930 distinction: 5th HM algebraic: white: [Kh7, Qh6, Bg6, Sf5, Sc7, Pg2, Pf2, Pe6] black: [Ke4, Rd6, Bb4, Sd1, Sb7, Pe7, Pd3, Pd2, Pc5, Pa6] stipulation: "#3" solution: | "1.Kh7-g7 ! threat: 2.f2-f3 + 2...Ke4-e5 3.Qh6-h2 # 1...Bb4-c3 + 2.Sf5-d4 + 2...Ke4-e5 3.Sd4-f3 # 2...Ke4*d4 3.Qh6-f4 # 1...Ke4-e5 2.Qh6-h2 + 2...Ke5-e4 3.f2-f3 # 1...Rd6-d4 2.Sf5-d6 + 2...Ke4-e5 3.Sd6-f7 #" --- authors: - Брон, Владимир Акимович source: Szachy date: 1959 algebraic: white: [Ke6, Qb6, Bf3, Pg2, Pd2, Pc2, Pa4, Pa2] black: [Kh1, Ph2, Pg3, Pf4, Pc6, Pb3, Pa5] stipulation: "#3" solution: | "1.Ke6-d7 ! zugzwang. 1...c6-c5 2.Qb6-e6 threat: 3.Qe6-e1 # 1...b3-b2 2.Kd7*c6 zugzwang. 2...b2-b1=Q 3.Qb6*b1 # 2...b2-b1=S 3.Qb6*b1 # 2...b2-b1=R 3.Qb6*b1 # 2...b2-b1=B 3.Qb6*b1 # 1...b3*a2 2.Qb6-d4 threat: 3.Qd4-a1 # 1...b3*c2 2.Qb6-c5 zugzwang. 2...c2-c1=Q 3.Qc5*c1 # 2...c2-c1=S 3.Qc5*c1 # 2...c2-c1=R 3.Qc5*c1 # 2...c2-c1=B 3.Qc5*c1 #" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1937 algebraic: white: [Kc1, Qh1, Sc8, Sc2, Ph3, Pd2] black: [Kc4] stipulation: "#3" solution: | "1.Sc8-a7 ! threat: 2.Qh1-f3 zugzwang. 2...Kc4-c5 3.Qf3-c6 # 1...Kc4-d3 2.Sc2-e3 zugzwang. 2...Kd3-d4 3.Qh1-d5 # 2...Kd3-e2 3.Qh1-f1 # 1...Kc4-b3 2.Qh1-b7 + 2...Kb3-a4 3.Qb7-b4 # 3.Qb7-b5 # 2...Kb3-c4 3.Qb7-b5 # 2...Kb3-a2 3.Qb7-d5 # 3.Qb7-b1 # 3.Qb7-b2 # 3.Qb7-f7 # 2.Qh1-c6 zugzwang. 2...Kb3-a2 3.Qc6-a4 # 3.Qc6-d5 # 3.Qc6-c4 # 3.Qc6-e6 # 2.Qh1-d5 + 2...Kb3-a4 3.Qd5-a2 # 3.Qd5-b5 # 2.Qh1-e4 zugzwang. 2...Kb3-a2 3.Qe4-d5 # 3.Qe4-a4 # 3.Qe4-c4 # 3.Qe4-e6 # 2.Qh1-f1 zugzwang. 2...Kb3-a4 3.Qf1-b5 # 2...Kb3-a2 3.Qf1-c4 # 3.Qf1-f7 # 1.d2-d4 ! zugzwang. 1...Kc4-c3 2.Qh1-f3 + 2...Kc3-c4 3.Sc8-d6 # 1...Kc4-b5 2.Qh1-d5 + 2...Kb5-a6 3.Sc2-b4 # 2...Kb5-a4 3.Sc8-b6 # 1...Kc4-d3 2.Qh1-f3 + 2...Kd3-c4 3.Sc8-d6 # 1...Kc4-b3 2.Sc8-b6 zugzwang. 2...Kb3-c3 3.Qh1-f3 # 2...Kb3-a2 3.Qh1-d5 # 2.Qh1-c6 zugzwang. 2...Kb3-a2 3.Qc6-a4 # 3.Qc6-d5 # 3.Qc6-c4 # 3.Qc6-e6 #" --- authors: - Брон, Владимир Акимович source: | Чувашской АССР - 35 date: 1955 distinction: 5th HM algebraic: white: [Kh5, Qg4, Rg8, Rg6, Bf5] black: [Kh7, Qe8] stipulation: "#2" solution: | "1...Qe7/Qe3/Qe2/Qe1/Qd8/Qb8/Qa8/Qa4 2.Rg5#/R6g7#/Rf6#/Re6#/Rd6#/Rc6#/Rb6#/Ra6#/Rh6# 1...Qe6/Qc8/Qd7 2.R6g7#/Rxe6#/Rh6# 1...Qe5/Qe4/Qb5 2.R6g7#/Rh6# 1...Qf8 2.R6g7#/Rf6#/Rh6# 1...Qxg8 2.Rxg8#/Rh6# 1...Qxg6+ 2.Qxg6# 1...Qc6 2.R6g7#/Rf6#/Re6#/Rd6#/Rxc6#/Rh6# 1.Qg3?? zz 1...Qe7/Qe3/Qe1/Qd8/Qb8/Qa4 2.Rg5#/Rg4#/R6g7#/Rf6#/Re6#/Rd6#/Rc6#/Rb6#/Ra6#/Rh6# 1...Qe6/Qc8/Qd7 2.R6g7#/Rxe6#/Rh6# 1...Qe5/Qe4/Qb5 2.R6g7#/Rh6# 1...Qe2+ 2.Rg4# 1...Qa8 2.Rg5#/Rg4#/R6g7#/Rf6#/Re6#/Rd6#/Rc6#/Rb6#/Ra6#/Rh6#/Qc7# 1...Qf8 2.R6g7#/Rf6#/Rh6# 1...Qxg8 2.Rxg8#/Rh6# 1...Qxg6+ 2.Qxg6# 1...Qc6 2.R6g7#/Rf6#/Re6#/Rd6#/Rxc6#/Rh6# but 1...Qf7! 1.Qg2?? zz 1...Qe7/Qe3/Qe1/Qd8/Qb8/Qa8/Qa4 2.Rg5#/Rg4#/Rg3#/R6g7#/Rf6#/Re6#/Rd6#/Rc6#/Rb6#/Ra6#/Rh6# 1...Qe6/Qc8/Qd7 2.R6g7#/Rxe6#/Rh6# 1...Qe5/Qe4/Qb5 2.R6g7#/Rh6# 1...Qe2+ 2.Rg4# 1...Qf8 2.R6g7#/Rf6#/Rh6# 1...Qxg8 2.Rxg8#/Rh6# 1...Qxg6+ 2.Qxg6# 1...Qc6 2.R6g7#/Rf6#/Re6#/Rd6#/Rxc6#/Rh6# but 1...Qf7! 1.Qg1?? zz 1...Qe7/Qe3/Qe1/Qd8/Qb8/Qa8/Qa4 2.Rg5#/Rg4#/Rg3#/Rg2#/R6g7#/Rf6#/Re6#/Rd6#/Rc6#/Rb6#/Ra6#/Rh6# 1...Qe6/Qc8/Qd7 2.R6g7#/Rxe6#/Rh6# 1...Qe5/Qe4/Qb5 2.R6g7#/Rh6# 1...Qe2+ 2.Rg4# 1...Qf8 2.R6g7#/Rf6#/Rh6# 1...Qxg8 2.Rxg8#/Rh6# 1...Qxg6+ 2.Qxg6# 1...Qc6 2.R6g7#/Rf6#/Re6#/Rd6#/Rxc6#/Rh6# but 1...Qf7! 1.Qg5?? (2.Qh6#) 1...Qe3 2.R6g7#/Rf6#/Re6#/Rd6#/Rc6#/Rb6#/Ra6#/Rh6# 1...Qf8 2.R6g7#/Rf6#/Rh6# 1...Qxg6+ 2.Qxg6# but 1...Qe2+! 1.Qf4?? (2.Qh6#) 1...Qe3 2.Rg5#/Rg4#/Rg3#/Rg2#/Rg1#/R6g7# 1...Qe2+ 2.Rg4# 1...Qf8 2.R6g7# but 1...Qxg6+! 1.Qd4?? (2.Qg7#/Qh8#) 1...Qe7 2.Qh8#/Rg5#/Rg4#/Rg3#/Rg2#/Rg1#/R6g7#/Rh8# 1...Qe5 2.R6g7# 1...Qe2+ 2.Rg4# 1...Qf8 2.Qh8#/R6g7# 1...Qxg8 2.Rh6# 1...Qf7 2.Qh8#/Rh8# 1...Qd7 2.Qxd7#/Qh8#/Rh8#/R6g7# but 1...Qxg6+! 1.Qh4?? (2.Kg5#/Kg4#) 1...Qe7/Qa4 2.Qxe7#/Rg5#/Rg4#/Rg3#/Rg2#/Rg1#/R6g7# 1...Qe4/Qf8 2.R6g7# 1...Qe3/Qe1/Qd8 2.Rg5#/Rg4#/Rg3#/Rg2#/Rg1#/R6g7# 1...Qe2+ 2.Rg4# but 1...Qxg6+! 1.Qh3?? (2.Kg5#/Kg4#) 1...Qe7/Qe3/Qe1/Qd8/Qa4 2.Rg5#/Rg4#/Rg3#/Rg2#/Rg1#/R6g7# 1...Qe4/Qf8 2.R6g7# 1...Qe2+ 2.Rg4# but 1...Qxg6+! 1.Rf8?? zz 1...Qe7/Qe3/Qe2/Qe1/Qd8/Qb8/Qa8/Qa4 2.Rg5#/Rg7#/Rgg8#/Rgf6#/Re6#/Rd6#/Rc6#/Rb6#/Ra6#/Rh6# 1...Qe6/Qc8/Qd7 2.Rg7#/Rxe6#/Rh6# 1...Qe5/Qe4/Qb5 2.Rg7#/Rh6# 1...Qxf8 2.Rh6# 1...Qxg6+ 2.Qxg6# 1...Qc6 2.Rg7#/Rgf6#/Re6#/Rd6#/Rxc6#/Rh6# but 1...Qf7! 1.Rh8+?? 1...Qxh8 2.Rg5#/Rg7#/Rg8#/Rf6#/Re6#/Rd6#/Rc6#/Rb6#/Ra6#/Rh6# but 1...Kxh8! 1.Qc4! zz 1...Qe7 2.Rg5#/Rg4#/Rg3#/Rg2#/Rg1#/R6g7#/Rf6#/Rd6#/Rc6#/Rb6#/Ra6#/Rh6# 1...Qe6 2.R6g7# 1...Qe5/Qd7 2.R6g7#/Rh6# 1...Qe4/Qc8/Qb5 2.Qf7#/R6g7#/Rh6# 1...Qe3/Qe1/Qd8/Qb8/Qa4 2.Rg5#/Rg4#/Rg3#/Rg2#/Rg1#/R6g7#/Rf6#/Rd6#/Rc6#/Rb6#/Ra6#/Rh6#/Qf7# 1...Qe2+ 2.Rg4# 1...Qa8 2.Qc7#/Qf7#/Rg5#/Rg4#/Rg3#/Rg2#/Rg1#/R6g7#/Rf6#/Rd6#/Rc6#/Rb6#/Ra6#/Rh6# 1...Qf8 2.R6g7#/Rf6#/Rh6# 1...Qxg8 2.Qxg8#/Rxg8# 1...Qf7 2.Qxf7# 1...Qxg6+ 2.Bxg6# 1...Qc6 2.Qf7#/R6g7#/Rf6#/Rd6#/Rxc6#/Rh6#" keywords: - Black correction - No pawns --- authors: - Брон, Владимир Акимович source: | Чувашской АССР - 35 date: 1955 distinction: 1st HM algebraic: white: [Kh4, Qe7, Rf1] black: [Kh2, Rf2, Bh1, Pf3] stipulation: "#2" solution: | "1...Bg2 2.Qe5#/Qc7#/Qd6# 1.Qe6?? (2.Qh3#) 1...Bg2 2.Qe5#/Qd6# but 1...Rxf1! 1.Qd7?? (2.Qh3#) 1...Bg2 2.Qd6#/Qc7# but 1...Rxf1! 1.Qg7?? (2.Qg3#/Qg1#) 1...Rxf1 2.Qg3# 1...Bg2 2.Qg3#/Qc7#/Qe5# but 1...Rg2! 1.Qg5?? (2.Qg3#/Qg1#) 1...Bg2 2.Qg3#/Qe5#/Qf4# 1...Rxf1 2.Qg3# but 1...Rg2! 1.Rxf2+?? 1...Kg1 2.Qe1# but 1...Bg2! 1.Qe1! zz 1...Kg2 2.Rxf2#/Qxf2# 1...Bg2 2.Qe5# 1...Rxf1/Re2/Rd2/Rc2/Rb2/Ra2 2.Qg3# 1...Rg2 2.Rxh1#" keywords: - Black correction --- authors: - Брон, Владимир Акимович source: Kárpáti Igaz Szó date: 1969 algebraic: white: [Ka1, Qa5, Rh7, Pc7, Pc6] black: [Kd6] stipulation: "#2" solution: | "1.c8N+?? 1...Kxc6 2.Rc7# but 1...Ke6! 1.Rd7+?? 1...Kxc6 2.c8Q# but 1...Ke6! 1.c8B! zz 1...Kxc6 2.Rh6#" keywords: - Flight taking key --- authors: - Брон, Владимир Акимович source: Mem. Lokker date: 1975 algebraic: white: [Ke1, Qe2, Ba2, Pc6, Pa4] black: [Kc5] stipulation: "#3" solution: | "1.c6-c7 ! zugzwang. 1...Kc5-c6 2.c7-c8=Q + 2...Kc6-d6 3.Qe2-e6 # 2...Kc6-b6 3.Qe2-a6 # 1...Kc5-b6 2.c7-c8=Q threat: 3.Qe2-a6 # 2...Kb6-a5 3.Qe2-b5 # 1...Kc5-d6 2.c7-c8=R threat: 3.Qe2-e6 # 1...Kc5-d4 2.c7-c8=S zugzwang. 2...Kd4-c5 3.Qe2-c4 # 2...Kd4-c3 3.Qe2-d2 # 1...Kc5-b4 2.Qe2-c4 + 2...Kb4-a5 3.Qc4-b5 # 2...Kb4-a3 3.Qc4-b3 #" keywords: - Promotion --- authors: - Брон, Владимир Акимович source: Mem. Keres date: 1978 algebraic: white: [Ka1, Qc6, Sb8, Sb5] black: [Ka5, Ba4, Pb6] stipulation: "#3" solution: | "1.Sb8-a6 ! zugzwang. 1...Ba4-d1 2.Sb5-c3 threat: 3.Qc6-b5 # 2...Bd1-e2 3.Qc6-a4 # 2...Bd1-a4 3.Qc6*a4 # 2...Ka5*a6 3.Qc6-a8 # 1...Ba4-c2 2.Sb5-c3 threat: 3.Qc6-b5 # 2...Bc2-d3 3.Qc6-a4 # 2...Bc2-a4 3.Qc6*a4 # 2...Ka5*a6 3.Qc6-a8 # 1...Ba4-b3 2.Sb5-c3 threat: 3.Qc6-b5 # 2...Bb3-c4 3.Qc6-a4 # 2...Bb3-a4 3.Qc6*a4 # 2...Ka5*a6 3.Qc6-a8 # 1...Ba4*b5 2.Qc6-d5 zugzwang. 2...Ka5*a6 3.Qd5-a8 # 2...Ka5-a4 3.Qd5-a2 # 1...Ka5*a6 2.Sb5-c7 + 2...Ka6-a7 3.Qc6-a8 # 2...Ka6-a5 3.Qc6-c3 #" --- authors: - Брон, Владимир Акимович source: Магаданский комсомолец source-id: 17 date: 1983-03-27 algebraic: white: [Kg8, Qa2, Rg2, Ph7, Pg3] black: [Kh1, Rh3] stipulation: "#3" solution: | "1.Qa2-a8 ! threat: 2.Rg2-a2 + 2...Kh1-g1 3.Qa8-g2 # 2.Rg2-b2 + 2...Kh1-g1 3.Qa8-g2 # 3.Qa8-a1 # 2.Rg2-c2 + 2...Kh1-g1 3.Qa8-a1 # 3.Qa8-g2 # 2.Rg2-d2 + 2...Kh1-g1 3.Qa8-g2 # 3.Qa8-a1 # 2.Rg2-e2 + 2...Kh1-g1 3.Qa8-a1 # 3.Qa8-g2 # 2.Rg2-f2 + 2...Kh1-g1 3.Qa8-g2 # 1...Rh3-h2 2.Rg2-b2 + 2...Kh1-g1 3.Qa8-a1 # 2...Rh2-g2 3.Qa8*g2 # 2.Rg2-c2 + 2...Kh1-g1 3.Qa8-a1 # 2...Rh2-g2 3.Qa8*g2 # 2.Rg2-d2 + 2...Kh1-g1 3.Qa8-a1 # 2...Rh2-g2 3.Qa8*g2 # 2.Rg2-e2 + 2...Kh1-g1 3.Qa8-a1 # 2...Rh2-g2 3.Qa8*g2 # 1...Rh3*g3 + 2.Rg2*g3 + 2...Kh1-h2 3.Qa8-g2 # 1...Rh3*h7 2.Rg2-b2 + 2...Kh1-g1 3.Qa8-g2 # 3.Qa8-a1 # 2...Rh7-b7 3.Qa8-a1 # 1...Rh3-h6 2.Rg2-c2 + 2...Rh6-c6 3.Qa8-a1 # 2...Kh1-g1 3.Qa8-a1 # 3.Qa8-g2 # 1...Rh3-h5 2.Rg2-d2 + 2...Rh5-d5 3.Qa8-a1 # 2...Kh1-g1 3.Qa8-a1 # 3.Qa8-g2 # 1...Rh3-h4 2.Rg2-e2 + 2...Rh4-e4 3.Qa8-a1 # 2...Kh1-g1 3.Qa8-a1 # 3.Qa8-g2 #" comments: - anticipated 85918 --- authors: - Брон, Владимир Акимович source: Магаданский комсомолец date: 1983 distinction: 2nd Prize algebraic: white: [Kc1, Qc2, Ra1, Ba4] black: [Ka8, Qb7, Se4] stipulation: "#3" solution: | "1.Qc2-c7 ! threat: 2.Ba4-c6 # 1...Se4-c3 2.Ba4-c6 + 2...Sc3-a2 + 3.Ra1*a2 # 2...Sc3-a4 3.Qc7*b7 # 3.Ra1*a4 # 1...Se4-c5 2.Ba4-c6 + 2...Sc5-a4 3.Qc7*b7 # 3.Ra1*a4 # 2...Sc5-a6 3.Qc7*b7 # 3.Ra1*a6 # 1...Qb7-b1 + 2.Ra1*b1 threat: 3.Qc7-a5 # 3.Qc7-b8 # 3.Qc7-b7 # 3.Ba4-c6 # 3.Rb1-b8 # 2...Se4-d6 3.Qc7-a5 # 3.Qc7-b8 # 3.Rb1-b8 # 2...Se4-c5 3.Qc7-b8 # 3.Rb1-b8 # 1...Qb7-b2 + 2.Kc1*b2 threat: 3.Ba4-d1 # 3.Ba4-c2 # 3.Ba4-b3 # 3.Ba4-e8 # 3.Ba4-d7 # 3.Ba4-c6 # 3.Ba4-b5 # 2...Se4-c3 3.Ba4-c6 # 2...Se4-c5 3.Ba4-c6 # 1...Qb7-b5 2.Ba4*b5 # 1...Qb7*c7 + 2.Ba4-c6 + 2...Ka8-b8 3.Ra1-a8 #" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР, Л.Куббель МК source-id: 5/46 date: 1946 distinction: 2nd Commendation algebraic: white: [Ka1, Qd1, Re2, Ra2, Bc5, Sf2, Sb2, Pa3] black: [Kc3, Qa7, Rg1, Re8, Bh3, Bf8, Sc8, Pg3, Pf7, Pb3] stipulation: "#2" solution: | "1.Re4! (2.Rc4#) 1...Nd6 2.Bb4# 1...Nb6/Qa6 2.Bd4# 1...Rxd1+ 2.Nbxd1# 1...Rxe4 2.Nxe4# 1...Qa4/Qxc5 2.Nxa4# 1...Bf1 2.Qc1# 1...Be6 2.Re3#" --- authors: - Брон, Владимир Акимович source: The British Chess Magazine date: 1947 distinction: 1st HM algebraic: white: [Ka7, Qa4, Rc8, Bh6, Bc2, Sg4, Sa6, Pf5, Pe2, Pb5] black: [Kd5, Rh3, Rd2, Bg1, Ba2, Sf2, Sd3, Pd6, Pb6] stipulation: "#2" solution: | "1...Bb1 2.Qc4#/Bb3# 1...Bb3 2.Bxb3# 1...Bc4 2.Qxc4# 1...Ne5 2.Nf6# 1...Nc5 2.Nc7# 1...Nh1/Nd1 2.e4# 1.Rc5+?? 1...bxc5/Nxc5 2.Nc7# but 1...dxc5! 1.Qxa2+?? 1...Kd4 2.Qc4# but 1...Ke4! 1.Ne3+?? 1...Ke5 2.Bg7# but 1...Rxe3! 1.e3?? (2.Qd4#) 1...Bc4 2.Qxc4# 1...Ne1/Nf4 2.Nb4#/Qxa2# 1...Ne5 2.Nb4#/Nf6# 1...Nc1/Nb2/Nb4 2.Nb4# 1...Nc5 2.Nc7# but 1...Rxe3! 1.Bg7! (2.Qd4#) 1...Bc4 2.Qxc4# 1...Nxg4/Nh1/Nd1 2.e4# 1...Ne4 2.Qxa2# 1...Ne1/Nf4/Nc1/Nb2/Nb4 2.Nb4# 1...Ne5 2.Nf6# 1...Nc5 2.Nc7#" keywords: - Somov (B1) - Black correction - B2 --- authors: - Брон, Владимир Акимович source: problem (Zagreb) source-id: 2384 date: 1966 algebraic: white: [Kb2, Qb7, Rg4, Rc4, Bd4, Sh5, Se3, Pe2, Pd5, Pa2] black: [Ke4, Qg8, Rh3, Bf8, Bf7, Sg6, Se8, Pf5, Pf4, Pe7] stipulation: "#2" solution: | "1...Rh2/Rh1/Rh4/Rg3 2.Ng3# 1...Rxe3 2.Bf6#/Bg7#/Bh8#/Bc3# 1...Be6 2.dxe6# 1...e6 2.dxe6#/d6# 1...e5 2.Bc5#/Bb6#/Ba7#/dxe6 e.p.# 1...Nh4/Nh8/Ne5 2.Rxf4# 1.Kc1?? (2.Qb1#) 1...Rxe3 2.Bf6#/Bg7#/Bh8#/Bc3#/Bb2#/Ba1# 1...Ne5 2.Rxf4# but 1...Rh1+! 1.Kc3?? (2.Qb1#) 1...Rh1 2.Ng3# 1...Ne5 2.Rxf4# but 1...Rxe3+! 1.Ka1?? (2.Qb1#) 1...Rxe3 2.Bf6#/Bg7#/Bh8#/Bc3#/Bb2# 1...Ne5 2.Rxf4# but 1...Rh1+! 1.Qb3?? (2.Qd3#/Qc2#/Bf6#/Bg7#/Bh8#) 1...Bxd5/Nd6 2.Qd3#/Qc2# 1...Bg7/Ng7/Qg7 2.Qd3#/Qc2#/Bf6#/Bxg7# 1...Nf6 2.Qd3#/Qc2#/Bxf6# 1...e5 2.Qd3#/Qc2#/Bc5#/Bb6#/Ba7# 1...Ne5 2.Rxf4# but 1...Rxe3! 1.Ka3! (2.Qb1#) 1...Rh1 2.Ng3# 1...Rxe3+ 2.Bc3# 1...Ne5 2.Rxf4# 1...e6+ 2.d6# 1...e5+ 2.Bc5#" --- authors: - Брон, Владимир Акимович source: problem (Zagreb) source-id: 1537 date: 1960 algebraic: white: [Kb6, Qb5, Re8, Rc5, Bh7, Bb8, Se7, Se6, Pg2, Pf5, Pf2, Pd4, Pc3] black: [Ke4, Qf6, Bh8, Sf1, Pd3, Pb7] stipulation: "#2" solution: | "1...Ne3 2.f3# 1...Qxf5 2.Bxf5#/Ng5# 1...Qf7/Qg5/Qxe7 2.Ng5# 1...Qf8/Qxd4 2.Ng5#/f6# 1...Qxe6+ 2.fxe6# 1...d2 2.Qb1# 1.Ka7?? (2.Qxb7#) 1...Ne3 2.f3# 1...b6 2.Qc6# 1...d2 2.Qb1# 1...Qxe6 2.fxe6# 1...Qxd4 2.Ng5#/f6# 1...Qxe7 2.Ng5# but 1...Qe5! 1.Qb3?? (2.Qd5#) 1...Qxe6+ 2.fxe6# 1...Qxd4 2.f6#/Ng5# 1...d2 2.Qb1#/Qc2# 1...Ne3 2.f3# but 1...Qe5! 1.Qc4?? (2.Qd5#) 1...Qxe6+ 2.fxe6# 1...Qe5 2.dxe5# 1...Qxd4 2.Ng5#/f6# 1...Ne3 2.f3# but 1...d2! 1.Rc4! (2.Qd5#) 1...Qxe6+ 2.fxe6# 1...Qe5 2.dxe5# 1...Qxd4+ 2.Nc5# 1...Qxe7 2.Ng5# 1...Ne3 2.f3# 1...d2 2.Qb1#" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 6/39 date: 1947 distinction: Commendation algebraic: white: [Kc6, Qa3, Rf8, Rb4, Bg8, Bc1, Sf3, Sf1, Pg4, Pf4, Pd5, Pd4, Pc2, Pb2] black: [Ke4, Rh3, Re1, Bf7, Sh8, Sf2, Ph6, Pg6, Pa2] stipulation: "#2" solution: | "1.d6! (2.d5#) 1...Re3/Rd1 2.Qxe3# 1...Nxg4/Nd3 2.Qd3# 1...Bd5+ 2.Bxd5# 1...Bc4 2.N1d2# 1...Bb3 2.N3d2# 1...Be8+ 2.Rxe8#" keywords: - Somov (B1) --- authors: - Брон, Владимир Акимович source: problem (Zagreb) date: 1963 algebraic: white: [Kg6, Qf5, Re7, Rc6, Bc4, Ba1, Sg3, Sb6] black: [Kd4, Qc2, Rh4, Ra7, Bh8, Bd1, Sg5, Sf6, Ph5, Pe3, Pd2, Pc7, Pc3, Pb3] stipulation: "#2" solution: | "1...Be2 2.Nxe2# 1...Re4 2.Qc5# 1...Qc1/Qb2/Qa2 2.Qe5#/Qc5#/Qd3# 1...Qd3 2.Qxd3# 1...Qxf5+ 2.Nxf5# 1...Ng4/Ng8/Nfh7/Nd7 2.Rd7# 1...Nfe4 2.Qd5# 1...Nge4 2.Qe5# 1.Rd6+?? 1...Nd5 2.Rxd5# but 1...cxd6! 1.Rd7+?? 1...Nd5 2.Rxd5# but 1...Nxd7! 1.Qe4+?? 1...Rxe4/Nfxe4/Ngxe4 2.Nf5# but 1...Qxe4+! 1.Qxc2?? (2.Nf5#/Bxc3#/Qxc3#/Qd3#) 1...Ra5/Bg4/Rf4 2.Bxc3#/Qxc3#/Qd3# 1...Rxa1/Nge4/Nfe4/Nd5/b2 2.Nf5#/Qd3# 1...Be2 2.Nf5#/Nxe2#/Bxc3#/Qxc3# 1...Ne6 2.Bxc3#/Qxc3# 1...bxc2 2.Nf5# but 1...Bxc2+! 1.Be2?? (2.Rc4#) 1...Bxe2 2.Nxe2# 1...Qd3 2.Qxd3# 1...Qxf5+ 2.Nxf5# but 1...Ra4! 1.Bf1?? (2.Rc4#) 1...Qd3 2.Qxd3# 1...Qxf5+ 2.Nxf5# 1...Be2 2.Nxe2# but 1...Ra4! 1.Bb5?? (2.Rc4#) 1...Be2 2.Nxe2# 1...Re4 2.Qc5# 1...Nfe4 2.Qd5# 1...Nge4 2.Qe5# 1...Qd3 2.Qxd3# 1...Qe4 2.Bxc3# 1...Qxf5+ 2.Nxf5# but 1...Ra4! 1.Bxc3+?? 1...Qxc3 2.Qe5#/Qc5# but 1...Kxc3! 1.Ba6! (2.Rc4#) 1...Be2 2.Nxe2# 1...Re4 2.Qc5# 1...Nfe4 2.Qd5# 1...Nge4 2.Qe5# 1...Qd3 2.Qxd3# 1...Qe4 2.Bxc3# 1...Qxf5+ 2.Nxf5#" keywords: - Defences on same square - Barulin (A) --- authors: - Брон, Владимир Акимович source: problem (Zagreb) source-id: 1722 date: 1961 algebraic: white: [Kh6, Qb1, Rh5, Rc4, Ba3, Ba2, Sg6, Sd2, Pf7, Pc7, Pc3] black: [Kd5, Qd7, Re3, Bh3, Sc8, Pf5, Pe2, Pb6] stipulation: "#2" solution: | "1...Ke6 2.Rc6# 1...Nd6/Qd6 2.Rc5# 1...Qxc7 2.Rxc7# 1...Qe6 2.Qb5# 1...Qc6 2.Rd4# 1...Re4/Rxc3/Rf3/Rg3 2.Qxe4# 1...Re5 2.Nf4# 1...Re6 2.Qd3# 1.Qb5+?? 1...Ke6 2.Rc6# but 1...Qxb5! 1.Qxb6?? (2.Rc5#/Rc6#/Rb4#/Ra4#/Rd4#/Re4#/Rf4#/Rg4#/Rch4#) 1...Nd6/Qb5 2.Rc5#/Rd4# 1...Re4 2.Rc5#/Rd4#/Rxe4# 1...Rxc3 2.Rxc3#/Rd4# 1...Qxc7 2.Rc5#/Rc6#/Rxc7#/Rd4# 1...Qc6 2.Rxc6#/Rd4#/Qxc6# 1...Qa4 2.Rc5#/Rxa4#/Rd4# 1...Bg4 2.Rc5#/Rc6#/Rb4#/Ra4#/Rd4#/Re4#/Rf4#/Rxg4# but 1...Nxb6! 1.Qd3+?? 1...Ke6 2.Rc6# but 1...Rxd3! 1.Nf3! (2.Nf4#) 1...Ke6 2.Rc6# 1...Qd6 2.Rc5# 1...Qxc7 2.Rxc7# 1...Qe6 2.Qb5# 1...Qc6 2.Rd4# 1...Re4/Rxf3 2.Qxe4# 1...Re6 2.Qd3#" keywords: - Defences on same square --- authors: - Брон, Владимир Акимович source: Olympia-Turnier date: 1960 distinction: 4th Prize algebraic: white: [Kb5, Rd2, Bc1, Sg5, Sd5, Ph6, Pg4, Pc6, Pc5] black: [Ke5, Sa8, Ph7, Pc7, Pc4, Pc2, Pb6, Pa3] stipulation: "#3" solution: | "1.Sd5-f6 ! threat: 2.Sf6-d7 + 2...Ke5-f4 3.Rd2-g2 # 1...Ke5*f6 2.Rd2-e2 threat: 3.Re2-e6 # 1...Ke5-f4 2.Rd2-d3 + 2...Kf4-e5 3.Sf6-d7 #" keywords: - Model mates comments: - Anticipation 58244 --- authors: - Брон, Владимир Акимович - Давиденко, Фёдор Васильевич source: Schakend Nederland date: 1979 distinction: 1st Prize algebraic: white: [Kc8, Qe1, Rf2, Ra7, Bb8, Ba8, Sd6, Sa5, Pe3, Pc6, Pc2, Pb4] black: [Kd5, Qc1, Rh3, Ra3, Bh7, Bh6, Sd4, Pg7, Pf5, Pe6, Pe5, Pc4, Pb6, Pb5] stipulation: "#3" solution: | "1.Ra7-d7 ! threat: 2.c6-c7 + 2...Sd4-c6 3.Ba8*c6 # 2.e3-e4 + 2...f5*e4 3.Sd6*b5 # 3.Sd6*c4 # 3.Sd6*e4 # 3.Sd6-f5 # 3.Sd6-f7 # 3.Sd6-e8 # 3.Sd6-b7 # 1...Qc1*e3 2.Sd6*c4 + 2...Kd5-e4 3.Sc4-d2 # 1...Ra3*a5 2.Sd6*b5 + 2...Kd5-e4 3.Sb5-c3 # 2.e3-e4 + 2...f5*e4 3.Sd6*b5 # 3.Sd6*e4 # 3.Sd6-f5 # 3.Sd6-f7 # 3.Sd6-e8 # 1...Ra3*e3 2.Sd6*b5 + 2...Kd5-e4 3.Sb5-c3 # 1...Rh3*e3 2.Sd6*f5 + 2...Kd5-e4 3.Sf5-g3 # 1...b6*a5 2.Sd6-b7 + 2...Kd5-e4 3.Sb7-c5 # 2...Kd5*c6 3.Rd7-d6 # 2.e3-e4 + 2...f5*e4 3.Sd6*b5 # 3.Sd6*e4 # 3.Sd6-f5 # 3.Sd6-f7 # 3.Sd6-e8 # 1...Bh6*e3 2.Sd6-f7 + 2...Kd5-e4 3.Sf7-g5 #" --- authors: - Брон, Владимир Акимович source: Przepiorka-Memorial date: 1961 distinction: 1st Prize algebraic: white: [Kd1, Qg4, Bd4, Sb2, Sa7, Ph4, Pf4, Pe4, Pd6, Pc2, Pb5] black: [Ka5, Rh6, Bd8, Se8, Ph7, Pg5, Pd5, Pd2, Pb4] stipulation: "#3" solution: | "1.Qg4-h3 ! threat: 2.Qh3-b3 threat: 3.Qb3-a2 # 3.Qb3-a4 # 1...Rh6*h4 2.Qh3-f1 threat: 3.Sa7-c6 # 1...Bd8-b6 2.Qh3-a3 + 2...b4*a3 3.Bd4-c3 # 1...Bd8-f6 2.Qh3-c8 threat: 3.Qc8-a6 # 2...b4-b3 3.Qc8-c3 # 2...Se8-c7 3.Qc8*c7 #" --- authors: - Брон, Владимир Акимович source: The Problemist date: 1967 algebraic: white: [Kd2, Qa1, Bb2, Sg4, Se3, Pg3] black: [Kh5, Rb8, Ba4, Pg5, Pe7, Pd3, Pc5, Pb3] stipulation: "#3" solution: | "1.Bb2-h8 ! threat: 2.Qa1-h1 + 2...Kh5-g6 3.Sg4-e5 # 1...Ba4-c6 2.Qa1-g7 threat: 3.Qg7-h6 # 3.Qg7-f7 # 3.Qg7-h7 # 2...Bc6-e4 3.Qg7-h6 # 2...Bc6-d5 3.Qg7-h6 # 3.Qg7-h7 # 2...Bc6-e8 3.Qg7-h6 # 3.Qg7-h7 # 2...Rb8*h8 3.Qg7-f7 # 2...Rb8-g8 3.Qg7-h6 # 3.Qg7-h7 # 2...Rb8-f8 3.Qg7-h6 # 3.Qg7-h7 # 1...Kh5-g6 2.Qa1-g7 + 2...Kg6-h5 3.Qg7-h6 # 3.Qg7-f7 # 3.Qg7-h7 # 1...Rb8*h8 2.Qa1*h8 + 2...Kh5-g6 3.Sg4-e5 #" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 8/1554 date: 1933 algebraic: white: [Kh3, Qg7, Re8, Pg3, Pf5, Pf3, Pe4, Pc2, Pb3, Pa5] black: [Kc5, Rh8, Ra2, Ph7, Pd7, Pd6, Pc3, Pa3] stipulation: "#3" solution: | "1. Qh6! [2. Qe3+ 2... Kb5/c6/b4 3. Qb6#] 1... Kb5 2. Q:d6 [3. Re5, Qb6#] 2... R:e8 3. Qb6# 2... K:a5 3. Re5# 1... Kd4 2. Re5 [3. Rd5#] 2... d:e5 3. Qb6# 2... K:e5 3. Qg7# 1... Kb4 2. Q:d6+ 2... Kb5 3. Re5, Qb6# 2... K:a5 3. Re5#" keywords: - Model mates --- authors: - Брон, Владимир Акимович source: problem (Zagreb) source-id: 2313 date: 1966 algebraic: white: [Ke3, Re6, Be7, Bb1, Sd1, Sa5, Pf4, Pb4] black: [Ka3, Bc3, Pf5, Pe4, Pd3, Pd2, Pa6, Pa4] stipulation: "#3" solution: | "1.Re6-e5 ! zugzwang. 1...Bc3-a1 2.b4-b5 # 1...Bc3-b2 2.b4-b5 # 1...Bc3*e5 2.b4-b5 + 2...Be5-d6 3.Be7*d6 # 1...Bc3-d4 + 2.Ke3*d4 threat: 3.b4-b5 # 1...Bc3*b4 2.Re5-c5 threat: 3.Rc5-c3 # 2...Bb4*c5 + 3.Be7*c5 #" --- authors: - Брон, Владимир Акимович source: problem (Zagreb) date: 1968 algebraic: white: [Ke3, Re8, Bf8, Bb1, Sd1, Sa5, Pb4] black: [Ka3, Bc3, Pe4, Pd3, Pd2, Pa6, Pa4] stipulation: "#3" solution: | "1.Re8-e5 ! zugzwang. 1...Bc3-a1 2.b4-b5 # 1...Bc3-b2 2.b4-b5 # 1...Bc3*e5 2.b4-b5 + 2...Be5-d6 3.Bf8*d6 # 1...Bc3-d4 + 2.Ke3*d4 threat: 3.b4-b5 # 1...Bc3*b4 2.Re5-c5 threat: 3.Rc5-c3 # 2...Bb4*c5 + 3.Bf8*c5 #" --- authors: - Брон, Владимир Акимович source: Kubbel-Gedenkturnier, Schach date: 1962-07 distinction: 1st HM algebraic: white: [Kf1, Qh5, Rh4, Rd2, Bd1, Ba1, Sd5, Pe3, Pe2] black: [Ke4, Qb8, Rc6, Ra3, Bh8, Ba6, Sc8, Sb6, Ph6, Pf4, Pe7, Pc4, Pa2] stipulation: "#3" solution: | "1.Kf1-f2 ! threat: 2.Sd5-f6 + 2...Rc6*f6 3.Rd2-d4 # 2...e7*f6 3.Rd2-d4 # 2...Bh8*f6 3.Qh5-g6 # 1...Ra3-d3 2.e2*d3 + 2...c4*d3 3.Bd1-f3 # 1...Ra3-c3 2.Sd5*c3 + 2...Bh8*c3 3.Bd1-c2 # 1...c4-c3 2.Bd1-c2 + 2...Ba6-d3 3.e2*d3 # 3.Bc2*d3 # 1...e7-e5 2.Bd1-c2 + 2...Ra3-d3 3.Sd5-c3 # 1...Qb8-e5 2.Rd2-d4 + 2...Qe5*d4 3.Rh4*f4 # 1...Qb8-d6 2.Qh5-g6 + 2...Qd6*g6 3.Rh4*f4 # 1...Bh8*a1 2.Sd5-c3 + 2...Ba1*c3 3.Bd1-c2 # 2...Ra3*c3 3.Rd2-d4 # 1...Bh8-b2 2.Sd5-c3 + 2...Bb2*c3 3.Bd1-c2 # 2...Ra3*c3 3.Rd2-d4 # 1...Bh8-e5 2.Rh4*f4 + 2...Be5*f4 3.Rd2-d4 #" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 11/639 date: 1933 algebraic: white: [Kf3, Qa5, Be8, Sg6, Ph4, Pe6, Pe4, Pd2] black: [Kh5, Qa7, Rb6, Ra6, Bb5, Ba3, Ph6, Pf4, Pd6, Pc4, Pb7] stipulation: "#3" solution: | "1.Kf3-g2 ! threat: 2.Kg2-h3 threat: 3.Sg6*f4 # 3.Sg6-h8 # 3.Sg6-f8 # 3.Sg6-e7 # 2...Ba3-c5 3.Sg6*f4 # 2...Ra6*a5 3.Sg6*f4 # 2...d6-d5 3.Sg6*f4 # 2...Qa7-b8 3.Sg6*f4 # 2...Qa7-a8 3.Sg6*f4 # 1...Kh5-g4 2.Qa5-c3 threat: 3.Qc3-f3 # 1...Rb6-c6 2.Sg6-e5 + 2...Kh5*h4 3.Qa5-d8 #" --- authors: - Брон, Владимир Акимович source: Themes 64 date: 1962 algebraic: white: [Kg1, Qc7, Ra5, Bh4, Ba8, Sg7, Sb3, Pg3, Pf2, Pd6, Pd3, Pc3, Pb6] black: [Ke5, Re6, Rd5, Ba3, Sf8, Sb4, Pg4, Pb5, Pa6] stipulation: "#3" solution: | "1.Sb3-d2 ! threat: 2.f2-f4 + 2...g4*f3 ep. 3.Sd2*f3 # 1...Sb4*d3 2.Qc7-c4 threat: 3.Qc4*d5 # 2...Sd3-f4 3.Qc4*f4 # 2...Sd3-b4 3.Qc4-f4 # 2...b5*c4 3.Ra5*d5 # 2...Rd5-d4 3.Qc4*d4 # 2...Rd5-c5 3.Qc4-d4 # 2...Rd5*d6 3.Qc4-e4 # 2...Re6*d6 3.Qc4-e4 # 1...Rd5-d4 2.Qc7-c5 + 2...Sb4-d5 3.c3*d4 # 2...Rd4-d5 3.d3-d4 # 1...Re6-f6 2.Qc7-e7 + 2...Rf6-e6 3.Bh4-f6 # 2...Sf8-e6 3.Bh4*f6 # 1...Sf8-g6 2.Qc7-f7 threat: 3.Qf7*e6 # 2...Rd5*d6 3.Qf7-f5 # 3.Sd2-c4 # 2...Ke5*d6 3.Qf7-c7 # 2...Re6*d6 3.Qf7-f5 # 2...Re6-e8 3.Qf7-f6 # 2...Re6-e7 3.Qf7-f6 # 2...Re6-f6 3.Qf7*f6 # 2...Sg6-f4 3.Qf7*f4 # 2...Sg6-f8 3.Qf7-f4 #" --- authors: - Брон, Владимир Акимович source: British Chess Federation date: 1966 distinction: 1st Prize algebraic: white: [Kg2, Qf2, Rd4, Rc8, Bg3, Sc7, Sa1] black: [Kc3, Qc6, Ra5, Ba8, Sb1, Sa4, Pd5, Pd3] stipulation: "#3" solution: | "1.Bg3-e5 ! threat: 2.Rd4-c4 + 2...Kc3*c4 3.Qf2-d4 # 1...d3-d2 2.Rd4-e4 + 2...d5-d4 3.Qf2*d4 # 2...Kc3-d3 3.Qf2-d4 # 3.Qf2-e3 # 3.Qf2-e2 # 3.Qf2-f3 # 1...Qc6-c5 2.Sc7*d5 + 2...Ba8*d5 + 3.Rd4-e4 # 1...Qc6*c7 2.Qf2-a2 threat: 3.Rd4-c4 # 2...d3-d2 3.Qa2-b3 # 3.Qa2-c2 # 2...Sa4-b2 3.Qa2*a5 # 1...Qc6-g6 + 2.Rd4-g4 + 2...d5-d4 + 3.Sc7-d5 #" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР, Л.Куббель МК source-id: 6/53 date: 1946 distinction: 4th Prize algebraic: white: [Kg6, Qe7, Ba4, Se2, Sb3, Ph4, Pe4, Pc2, Pb2] black: [Kc4, Qh3, Rg2, Rb8, Bb6, Ba6, Pg7, Pg4, Pe6, Pe3, Pc7] stipulation: "#3" solution: | "1.Ba4-d7 ! threat: 2.Qe7-a3 threat: 3.Qa3-a4 # 2...Ba6-b5 3.Bd7*e6 # 2...Bb6-a5 3.Sb3*a5 # 3.Qa3-c5 # 2...Bb6-d4 3.Sb3-a5 # 2...Bb6-c5 3.Sb3-a5 # 3.Qa3*c5 # 2...Bb6-a7 3.Sb3-a5 # 2.Qe7*e6 + 2...Kc4-b4 3.c2-c3 # 1...Rg2-g1 2.Qe7*e6 + 2...Kc4-b4 3.c2-c3 # 1...Rg2*e2 2.Qe7*e6 + 2...Kc4-b4 3.c2-c3 # 1...Rg2-f2 2.Qe7*e6 + 2...Kc4-b4 3.c2-c3 # 1...Qh3-h1 2.Qe7*e6 + 2...Kc4-b4 3.c2-c3 # 2.Sb3-d2 + 2...e3*d2 3.b2-b3 # 1...Qh3-h2 2.Qe7*e6 + 2...Kc4-b4 3.c2-c3 # 2.Sb3-d2 + 2...e3*d2 3.b2-b3 # 1...Qh3-f3 2.Qe7*e6 + 2...Kc4-b4 3.c2-c3 # 1...Qh3-g3 2.Qe7*e6 + 2...Kc4-b4 3.c2-c3 # 1...Qh3*h4 2.Qe7*e6 + 2...Kc4-b4 3.c2-c3 # 2.Sb3-d2 + 2...e3*d2 3.b2-b3 # 1...g4-g3 2.Sb3-d2 + 2...e3*d2 3.b2-b3 # 1...Ba6-c8 2.Qe7*e6 + 2...Kc4-b4 3.c2-c3 # 1...Ba6-b7 2.Sb3-a5 + 2...Bb6*a5 3.b2-b3 # 1...c7-c5 2.Qe7*e6 + 2...Kc4-b4 3.c2-c3 # 1...c7-c6 2.Bd7*e6 + 2...Kc4-b5 3.Se2-c3 # 1...Rb8-a8 2.Qe7*e6 + 2...Kc4-b4 3.c2-c3 # 2.Sb3-a5 + 2...Bb6*a5 3.b2-b3 # 1...Rb8-h8 2.Qe7*e6 + 2...Kc4-b4 3.c2-c3 # 2.Sb3-a5 + 2...Bb6*a5 3.b2-b3 # 1...Rb8-f8 2.Qe7*e6 + 2...Kc4-b4 3.c2-c3 # 2.Sb3-a5 + 2...Bb6*a5 3.b2-b3 # 1...Rb8-e8 2.Sb3-a5 + 2...Bb6*a5 3.b2-b3 # 1...Rb8-d8 2.Qe7*e6 + 2...Kc4-b4 3.c2-c3 # 2.Sb3-a5 + 2...Bb6*a5 3.b2-b3 #" --- authors: - Брон, Владимир Акимович source: problem (Zagreb) source-id: 2722 date: 1968 algebraic: white: [Kg8, Qa6, Sf7, Pg5, Pg2, Pe6, Pe3, Pd6, Pc4, Pb7] black: [Kf5, Sb1, Pg6, Pg3, Pe4, Pb4] stipulation: "#3" solution: | "1.Qa6-a1 ! threat: 2.Qa1-h8 threat: 3.Qh8-h3 # 1...Sb1-c3 2.Qa1-h1 threat: 3.Qh1-h3 # 1...Kf5*e6 2.Qa1-a8 threat: 3.Qa8-c8 #" --- authors: - Брон, Владимир Акимович source: Usbekskogo Sportkomuteta date: 1947 distinction: 2nd Prize algebraic: white: [Kh1, Qh8, Re7, Bg4, Sh3, Sb2, Ph4, Pg5, Pe5, Pc4, Pc3, Pb6] black: [Ke4, Rb8, Bc7, Bb1, Se8, Pf7, Pd7, Pa4] stipulation: "#3" solution: --- authors: - Брон, Владимир Акимович source: МК Л.Куббель, Шахматы в СССР source-id: 12/ date: 1953 algebraic: white: [Ka1, Qb1, Bg6, Sf2, Sc3, Pg5, Pg2, Pf5, Pd6] black: [Kd4, Ph4, Pc6] stipulation: "#4" solution: | "auhor : 1.f5-f6 ! threat: 2.Qb1-b4 + 2...Kd4-e5 3.Qb4-e4 + 3...Ke5*d6 4.Qe4-e7 # 2...Kd4-e3 3.Sc3-d1 + 3...Ke3-e2 4.Bg6-d3 # 1...Kd4-c4 2.Qb1-b2 threat: 3.Sc3-e4 threat: 4.Bg6-f7 # 2...c6-c5 3.Bg6-f7 + 3...Kc4-d4 4.Sc3-d1 # 1...Kd4-c5 2.Sf2-d3 + 2...Kc5-d4 3.Qb1-b4 + 3...Kd4-e3 4.Qb4-f4 # 2...Kc5-c4 3.Qb1-b4 # 2...Kc5*d6 3.Qb1-b8 + 3...Kd6-e6 4.Sd3-c5 # 3...Kd6-d7 4.Sd3-c5 # 4.Bg6-f5 # 1...Kd4-e3 2.Sf2-g4 + 2...Ke3-d4 3.Qb1-b4 # 2...Ke3-f4 3.Sc3-e2 + 3...Kf4*g4 4.Qb1-f5 # 3...Kf4*g5 4.Qb1-f5 # 3.Qb1-f5 + 3...Kf4-g3 4.Qf5-f3 # 3.Qb1-e4 + 3...Kf4*g5 4.Qe4-f5 # 3...Kf4-g3 4.Qe4-f3 # 4.Sc3-e2 # 2...Ke3-d2 3.Qb1-d3 + 3...Kd2-e1 4.Qd3-e2 # 4.Qd3-d1 # 3...Kd2-c1 4.Qd3-d1 # 4.Qd3-c2 # 4.Qd3-e3 # 4.Sc3-a2 # 4.Sc3-e2 # 3.Qb1-c2 + 3...Kd2-e1 4.Qc2-d1 # 4.Qc2-c1 # 4.Qc2-f2 # 4.Qc2-e2 # 3.Qb1-b2 + 3...Kd2-e1 4.Qb2-c1 # 4.Qb2-f2 # 4.Qb2-e2 # 3.Ka1-b2 threat: 4.Qb1-d1 # 4.Qb1-c1 # 2.Sf2-d3 threat: 3.Qb1-g1 + 3...Ke3-d2 4.Qg1-c1 # 2...Ke3-d4 3.Qb1-b4 + 3...Kd4-e3 4.Qb4-f4 # 1...Kd4*c3 2.Qb1-b2 + 2...Kc3-c4 3.Bg6-f7 + 3...Kc4-c5 4.Sf2-e4 # 1...c6-c5 2.Sf2-g4 threat: 3.Qb1-d3 # 2...Kd4-c4 3.Sc3-b5 threat: 4.Bg6-f7 # 4.Sg4-e3 # 3...Kc4-d5 4.Qb1-e4 # 2...Kd4*c3 3.Qb1-b2 + 3...Kc3-c4 4.Sg4-e3 # 2...c5-c4 3.Qb1-b6 + 3...Kd4*c3 4.Qb6-b2 # 3.Qb1-b5 threat: 4.Qb5-e5 # 4.Sc3-e2 # 3...Kd4*c3 4.Qb5-b2 # Cook 1.Sc3-e2 + ! 1...Kd4-c5 2.d6-d7 threat: 3.d7-d8=Q threat: 4.Qd8-d4 # 2.Sf2-e4 + 2...Kc5-d5 3.Qb1-d3 + 3...Kd5-e5 4.Qd3-d4 # 2...Kc5-c4 3.Bg6-f7 # 1...Kd4-d5 2.d6-d7 threat: 3.d7-d8=Q + 3...Kd5-e5 4.Qd8-d4 # 4.Sf2-g4 # 4.Qb1-e4 # 4.Qb1-b8 # 4.Qb1-b2 # 3...Kd5-c5 4.Qd8-d4 # 3...Kd5-c4 4.Qd8-d4 # 1...Kd4-c4 2.Bg6-f7 + 2...Kc4-c5 3.Sf2-e4 # 2.Qb1-b6 threat: 3.Bg6-f7 # 2...Kc4-d5 3.Qb6-d4 # 1...Kd4-e5 2.Qb1-d3 threat: 3.Qd3-d4 # 3.Sf2-g4 # 2...c6-c5 3.Sf2-g4 # 2.Qb1-b4 threat: 3.Qb4-c5 # 3.Qb4-d4 # 2...Ke5-d5 3.Qb4-d4 # 2...c6-c5 3.Qb4*c5 # 1...Kd4-e3 2.Bg6-h5 threat: 3.Qb1-c1 + 3...Ke3*f2 4.Qc1-g1 # 1.Sc3-e4 ! threat: 2.Qb1-b2 + 2...Kd4-d5 3.Bg6-f7 # 2...Kd4-c4 3.Bg6-f7 # 2...Kd4-e3 3.Qb2-d2 # 1...Kd4-d5 2.Qb1-d3 + 2...Kd5-e5 3.Sf2-g4 + 3...Ke5-f4 4.Qd3-f3 # 2.Qb1-b4 threat: 3.Qb4-c5 # 2...Kd5-e5 3.Sf2-d3 + 3...Ke5-d5 4.Bg6-f7 # 4.Se4-c3 # 4.Se4-f6 # 1...Kd4-e5 2.Qb1-d3 threat: 3.Sf2-g4 + 3...Ke5-f4 4.Qd3-f3 # 1...Kd4-e3 2.Qb1-c1 + 2...Ke3-e2 3.Bg6-h5 # 2...Ke3-d4 3.Qc1-c5 # 1...c6-c5 2.Qb1-d3 + 2...Kd4-e5 3.Sf2-g4 + 3...Ke5-f4 4.Qd3-f3 #" keywords: - Cooked comments: - Задача исключена из конкурса, Шахматы в СССР, 1954, №6 --- authors: - Брон, Владимир Акимович source: Sowjetische Mehrzügermeisterschaft date: 1952 distinction: 15th Place algebraic: white: [Kb8, Qg4, Bc3, Sf4, Ph5, Pe5, Pe2, Pb2, Pa4] black: [Kc4, Qh7, Rh1, Bh2, Sh8, Sa8, Pg3, Pf6, Pd7, Pc7, Pc5, Pb3] stipulation: "#4" solution: | "1.Kb8-b7 ! threat: 2.Sf4-g2 + 2...Kc4-d5 3.Sg2-e3 # 2...Qh7-e4 + 3.Qg4*e4 # 1...Rh1-d1 2.Sf4-g2 + 2...Rd1-d4 3.Sg2-e3 # 2...Kc4-d5 3.Sg2-e3 # 2...Qh7-e4 + 3.Qg4*e4 + 3...Rd1-d4 4.Sg2-e3 # 1...Bh2-g1 2.Qg4-f3 threat: 3.Qf3-d5 # 2...c7-c6 3.Qf3-d3 + 3...Qh7*d3 4.e2*d3 # 2...Qh7-d3 3.Qf3*d3 # 3.e2*d3 # 2...Qh7-e4 + 3.Qf3*e4 + 3...Bg1-d4 4.Qe4-d3 # 4.Qe4-d5 # 2...Qh7-g8 3.Qf3-d3 # 2...Qh7-f7 3.Qf3-d3 # 2...Sa8-b6 3.Qf3-d3 + 3...Qh7*d3 4.e2*d3 # 1...f6-f5 2.Sf4-g2 + 2...Kc4-d5 3.Qg4-c4 + 3...Kd5*c4 4.Sg2-e3 # 2...f5-f4 3.Sg2-e3 # 2...f5*g4 3.Sg2-e3 # 2.Qg4-f3 threat: 3.Qf3-d5 # 3.Qf3-d3 # 2...Rh1-d1 3.Qf3-d3 + 3...Rd1*d3 4.e2*d3 # 3.Bc3-d2 threat: 4.Qf3-d5 # 4.Qf3-c3 # 4.Qf3-d3 # 3...Rd1-c1 4.Qf3-d5 # 4.Qf3-d3 # 3...Rd1*d2 4.Qf3-c3 # 3...Kc4-d4 4.Qf3-d5 # 3...c7-c6 4.Qf3-c3 # 4.Qf3-d3 # 3...Qh7-g8 4.Qf3-c3 # 4.Qf3-d3 # 3...Qh7-f7 4.Qf3-c3 # 4.Qf3-d3 # 3...Sa8-b6 4.Qf3-c3 # 4.Qf3-d3 # 2...c7-c6 3.Qf3-d3 # 2...Qh7-g8 3.Qf3-d3 # 2...Qh7-f7 3.Qf3-d3 # 2...Sa8-b6 3.Qf3-d3 # 1...f6*e5 2.Sf4-g6 + 2...e5-e4 3.Qg4*e4 # 2...Kc4-d5 3.e2-e4 + 3...Kd5-d6 4.Bc3*e5 # 3...Kd5-c4 4.Sg6*e5 # 4.Qg4-e2 # 1...Qh7-e4 + 2.Sf4-d5 threat: 3.Qg4*e4 # 2...Rh1-d1 3.Qg4*e4 + 3...Rd1-d4 4.Sd5-e3 # 2...Bh2-g1 3.Qg4*e4 + 3...Bg1-d4 4.Sd5-e3 # 2...Kc4*d5 3.Qg4-g8 + 3...Sh8-f7 4.Qg8*f7 # 2...Qe4-d4 3.Sd5-e3 # 2...Qe4*g4 3.Sd5-e3 # 2...Qe4-f4 3.Sd5-e3 # 2...f6-f5 3.Qg4*e4 + 3...f5*e4 4.Sd5-e3 # 1...Qh7-f5 2.Sf4-g2 + 2...Kc4-d5 3.Qg4-c4 + 3...Kd5*c4 4.Sg2-e3 # 2...Qf5-e4 + 3.Qg4*e4 # 2...Qf5*g4 3.Sg2-e3 # 2...Qf5-f4 3.Sg2-e3 # 2.Qg4-f3 threat: 3.Qf3-d5 # 2...Rh1-d1 3.Bc3-d2 threat: 4.Qf3-d5 # 4.Qf3-c3 # 3...Rd1-c1 4.Qf3-d5 # 3...Rd1*d2 4.Qf3-c3 # 3...Kc4-d4 4.Qf3-d5 # 3...Qf5-c2 4.Qf3-d5 # 3...Qf5-d3 4.Qf3*d3 # 3...Qf5-e4 + 4.Qf3*e4 # 3...Qf5-e6 4.Qf3-e4 # 4.Qf3-c3 # 4.Qf3-d3 # 3...Qf5*f4 4.Qf3-d3 # 3...Qf5*e5 4.Qf3-d3 # 3...c7-c6 4.Qf3-c3 # 3...Sa8-b6 4.Qf3-c3 # 2...Qf5-d3 3.Qf3*d3 # 3.e2*d3 # 2...Qf5-e4 + 3.Qf3*e4 # 2...Qf5-e6 3.Qf3-e4 # 3.Qf3-d3 # 2...Qf5*f4 3.Qf3-d3 # 2...Qf5*e5 3.Qf3-d3 # 2...c7-c6 3.Qf3-d3 + 3...Qf5*d3 4.e2*d3 # 2...Sa8-b6 3.Qf3-d3 + 3...Qf5*d3 4.e2*d3 # 2.Qg4*f5 threat: 3.Qf5-e4 # 3.Qf5-d3 # 2...Rh1-d1 3.Qf5-d3 + 3...Rd1*d3 4.e2*d3 # 2...Bh2-g1 3.Qf5-d3 # 2...d7-d5 3.Qf5-d3 # 1...Qh7-h6 2.Qg4*d7 threat: 3.Qd7-b5 # 3.Qd7-e6 # 3.Qd7-d3 # 3.Qd7-d5 # 2...Rh1-d1 3.Qd7-b5 # 2...f6-f5 3.Qd7-b5 # 3.Qd7-d3 # 3.Qd7-d5 # 2...f6*e5 3.Qd7-b5 # 3.Qd7-d3 # 3.Qd7-d5 # 2...Qh6*f4 3.Qd7-e6 # 3.Qd7-d3 # 2...Qh6-g6 3.Qd7-b5 # 3.Qd7-e6 # 3.Qd7-d5 # 2...Qh6-h7 3.Qd7-b5 # 3.Qd7-e6 # 3.Qd7-d5 # 2...c7-c6 3.Qd7-e6 # 3.Qd7-d3 # 2...Sa8-b6 3.Qd7-b5 # 3.Qd7-d3 #" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 3/8 date: 1953 algebraic: white: [Ke5, Rh2, Bf2, Bc4, Se4, Ph5, Pg3, Pd2, Pb5] black: [Kf1, Re2, Sg8, Sc8, Ph7, Pg5, Pg4, Pf3, Pb6] stipulation: "#4" solution: | "1.d2-d4 ! zugzwang. 1...h7-h6 2.Ke5-e6 zugzwang. 2...Sc8-e7 3.Ke6-f7 threat: 4.Se4-d2 # 2...Sc8-a7 3.Ke6-f7 threat: 4.Se4-d2 # 2...Sc8-d6 3.Ke6*d6 threat: 4.Se4-d2 # 2...Sg8-e7 3.Ke6-d7 threat: 4.Se4-d2 # 2...Sg8-f6 3.Ke6*f6 threat: 4.Se4-d2 # 1...Sc8-a7 2.Ke5-d6 threat: 3.Se4-d2 # 2...Sa7*b5 + 3.Bc4*b5 threat: 4.Se4-d2 # 2...Sa7-c8 + 3.Kd6-c7 threat: 4.Se4-d2 # 1...Sc8-d6 2.Ke5*d6 threat: 3.Se4-d2 # 1...Sc8-e7 2.Ke5-d6 threat: 3.Se4-d2 # 2...Se7-f5 + 3.Kd6-c7 threat: 4.Se4-d2 # 2...Se7-c8 + 3.Kd6-c7 threat: 4.Se4-d2 # 1...Sg8-e7 2.Ke5-f6 threat: 3.Se4-d2 # 2...Se7-d5 + 3.Kf6-g7 threat: 4.Se4-d2 # 2...Se7-g8 + 3.Kf6-g7 threat: 4.Se4-d2 # 1...Sg8-f6 2.Ke5*f6 threat: 3.Se4-d2 # 1...Sg8-h6 2.Ke5-f6 threat: 3.Se4-d2 # 2...Sh6-g8 + 3.Kf6-g7 threat: 4.Se4-d2 #" --- authors: - Брон, Владимир Акимович source: Sztalinvárosi Hírlap date: 1960 distinction: HM algebraic: white: [Kg1, Qg6, Re6, Rd1, Be8, Be5, Sd3, Sa3] black: [Kd5, Rd7, Sc7, Pf6, Pd6, Pc3, Pb7] stipulation: "#2" solution: | "1...Nxe6[a] 2.Qg2#[B] 1...Kc6/Re7/Rf7/Rg7[b]/Rh7 2.Rxd6#[A] 1.Bxd7?? (2.Qg2#[B]/Rxd6#[A]) 1...Nxe6[a]/Ne8/Nb5/f5 2.Qg2#[B] 1...fxe5 2.Rxd6#[A] but 1...dxe5! 1.Rxf6?? (2.Qg2#[B]) 1...Kc6/Rg7[b] 2.Rxd6#[A] but 1...dxe5! 1.Bxd6?? (2.Qe4#) 1...Nxe6[a]/f5 2.Nb4#[D] 1...Kxe6/Rg7[b] 2.Nf4#[C]/Nc5# but 1...Kc6! 1.Qg4?? (2.Qc4#) 1...Kc6/Rg7[b] 2.Rxd6#[A] but 1...b5! 1.Qe4+?? 1...Kxe6 2.Bf4#/Bg3#/Bh2#/Bd4#/Bxc3# but 1...Kxe4! 1.Nb4+[D]?? 1...Kxe6 2.Qxf6# but 1...Kc5! 1.Bd4! (2.Qe4#) 1...Kc6/Nxe6[a]/f5 2.Nb4#[D] 1...Rg7[b] 2.Nf4#[C]" keywords: - King Y-flight - Flight giving key - Changed mates --- authors: - Брон, Владимир Акимович source: Československý šach date: 1962 algebraic: white: [Kh3, Qa6, Rh6, Rf4, Bh2, Sf2, Sb6, Pg4] black: [Ke5, Rg7, Ra4, Bg6, Se7, Sb4, Pd4, Pd3, Pc5] stipulation: "#2" solution: | "1...Kd6 2.Rf6# 1...Ned5 2.Nc4# 1...Nbd5 2.Nd7# 1...Bh5/Bh7/Be4/Be8 2.Rf3#/Rf5#/Rff6#/Rf7#/Rf8#/Re4# 1...Bf5 2.Rf3#/Rxf5#/Re4# 1...Bf7 2.Rf3#/Rf5#/Rff6#/Rxf7#/Re4# 1.Qc8?? (2.Rf3#/Rf5#/Rf7#/Rf8#) 1...Nbd5/Nf5 2.Rf5# 1...Bf5 2.Qc7#/Qb8#/Rf3#/Rxf5#/Re4# 1...Bf7 2.Rf3#/Rf5#/Rff6#/Rxf7#/Re4#/Qc7#/Qb8# 1...Ned5 2.Nc4#/Rf5# 1...Rf7 2.Rf5#/Rxf7# but 1...Nxc8! 1.g5! (2.Rf6#) 1...Nf5 2.Re4# 1...Ned5 2.Nc4# 1...Nbd5 2.Nd7# 1...Bf5+ 2.Rg4#" --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet date: 1960 distinction: 4th Comm. algebraic: white: [Kg1, Qd4, Ra6, Ra5, Be6, Ba3, Sd8, Sa8, Ph3, Pf5, Pd3, Pb4, Pb2, Pa4] black: [Kd6, Bh1, Bb6, Se5, Sc8, Ph4, Pg2, Pf6, Pe7, Pb5, Pb3, Pa7] stipulation: "#2" solution: keywords: - "Position?" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 2/9 date: 1961 algebraic: white: [Ka1, Qe2, Ra6, Bc3, Ba4, Se6, Se4, Pd4, Pd2] black: [Kd5, Qh6, Rd7, Bh8, Ba2, Sg7, Se8, Ph5, Pf5, Pf4] stipulation: "#2" solution: | "1...Qxe6[a] 2.Ra5#[A] 1...Nxe6[b] 2.Bc6#[B] 1...Qh7/Qg6/Qf6 2.Nxf4# 1...Bb1/Bb3 2.Bb3# 1...fxe4 2.Qb5#[C] 1.Bb2? (2.Nc3#) 1...Qxe6[a] 2.Ra5#[A] 1...Nxe6[b] 2.Bc6#[B] 1...fxe4 2.Qb5#[C] but 1...Rc7! 1.Bxd7?? (2.Ra5#[A]) 1...Nxe6[b] 2.Bc6#[B] 1...Nd6[c]/Nc7 2.Rxd6#/Nc7# 1...fxe4 2.Qb5#[C] but 1...Bc4! 1.Nf6+?? 1...Qxf6 2.Nxf4# but 1...Nxf6! 1.Nd6! (2.Qe5#) 1...Qxe6[a] 2.Qb5#[C] 1...Nxe6[b] 2.Qf3#[D] 1...Nxd6[c] 2.Bc6#[B] 1...Rxd6[d] 2.Ra5#[A] 1...Qf6 2.Nxf4#" keywords: - Rukhlis comments: - 167688 --- authors: - Брон, Владимир Акимович source: Sztalinvárosi Hírlap date: 1960 distinction: 3rd Comm. algebraic: white: [Kh8, Qf7, Re1, Bf5, Be3, Sb5] black: [Ke5, Qb4, Rh6, Rh4, Ph7, Pd7, Pd6, Pd3] stipulation: "#2" solution: | "1...Rf4/Qf4 2.Bd4# 1.Bg4?? (2.Qf5#/Bf4#/Bd4#) 1...Ke4 2.Qf5#/Bd2# 1...R4h5/Rxg4/Qe4/Qf4/Qxg4/R6h5 2.Bf4#/Bd4# 1...Qxb5 2.Bf2#/Bg1#/Bc5#/Bb6#/Ba7#/Qf5# 1...Qxe1/Re6 2.Qf5# but 1...Rf6! 1.Bh3?? (2.Qf5#/Bf4#/Bd4#) 1...Ke4 2.Bd2#/Qf5# 1...Rxh3/R4h5/Rg4/Rf4/Qf4/Qg4/R6h5 2.Bf4#/Bd4# 1...Re4 2.Qf5#/Bf4# 1...Qxb5/Qxe1/Re6 2.Qf5# 1...Qe4 2.Bd4# but 1...Rf6! 1.Bg6?? (2.Qf5#/Bf4#/Bd4#) 1...R4h5/Rf4/Qf4/Qg4/R6h5/Rxg6 2.Bf4#/Bd4# 1...Re4 2.Bf4#/Qf5# 1...Qxb5/Qxe1 2.Qf5# 1...Qe4 2.Bd4# but 1...hxg6+! 1.Bxd3?? (2.Qf5#/Bf4#/Bd4#) 1...R4h5/Rf4/Qf4/Qg4/R6h5 2.Bf4#/Bd4# 1...Re4 2.Bf4# 1...Qxb5/Qxe1/Re6 2.Qf5# 1...Qe4 2.Bd4# but 1...Rf6! 1.Bxd7?? (2.Qf5#/Bf4#/Bd4#) 1...Ke4 2.Bd2#/Qf5# 1...R4h5/Rf4/Qf4/Qg4 2.Bf4#/Bd4# 1...Re4 2.Qf5#/Bf4# 1...Qxb5/Qxe1 2.Qf5# 1...Qe4 2.Bd4# 1...R6h5 2.Bf4#/Bd4#/Qe6# 1...Re6 2.Qxe6# but 1...Rf6! 1.Be4! (2.Qf5#) 1...Kxe4 2.Bd2# 1...R4h5/Rf4/Rxe4 2.Bf4# 1...Qxe4 2.Bd4# 1...R6h5 2.Qe7# 1...Rf6 2.Qd5#" keywords: - Defences on same square - Flight giving key --- authors: - Брон, Владимир Акимович source: Hlas ľudu date: 1984 algebraic: white: [Kb3, Qa5, Rg4, Bd7] black: [Kh5, Ba7, Sd5, Pf3] stipulation: "#2" solution: | "1.Qd2?? (2.Qh2#/Qg5#) 1...Be3/Ne3 2.Qh2# 1...Bf2/Bg1/Bb8/f2 2.Qg5# but 1...Nf4! 1.Qe1?? (2.Qh1#/Qh4#) 1...Bg1/Bb8/Nf4 2.Qh4# 1...f2 2.Qh1# but 1...Bf2! 1.Qd8?? (2.Qh8#/Qg5#/Qh4#) 1...Kh6 2.Qh8#/Qh4# 1...Ne7 2.Qh8# 1...Bd4 2.Qg5#/Qh4# 1...Be3 2.Qh4# 1...Bf2 2.Qh8#/Qg5# but 1...Nf6! 1.Qa1! (2.Qh1#/Qh8#) 1...Bd4/Be3/Nf6/Nc3 2.Qh1# 1...Bf2/Bg1/Bb8/Nf4 2.Qh8#" --- authors: - Брон, Владимир Акимович source: Československý šach date: 1961 algebraic: white: [Kc1, Qb4, Rf1, Rd7, Bf3, Sg6, Se5] black: [Ke3, Qc6, Bh4, Ba8, Sh1, Sb1, Ph5, Pc4, Pb6, Pa7] stipulation: "#2" solution: | "1. Qxc4! [2. Rd3#] 1. ... Qd6/d5/xd7 2. Qf4# 1. ... Qxg6 2. Qd4# 1. ... Qxc4+ 2. Sxc4# 1. ... Qe4 2. Qe2# 1. ... Qxf3 2. Qd3# 1. ... Sf2 2. Re1#" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 4/15 date: 1954 distinction: 3rd Prize algebraic: white: [Kh8, Qe6, Rd1, Bd5, Sb2, Sa4, Pe2, Pc2] black: [Kd4, Qd2, Be1, Bb7, Se4, Sa6, Pe5] stipulation: "#3" solution: | "1. Qh6! [2. e3+ 2... K:d5 3. c4#] 1... K:d5 2. c4+ 2... Kd4 3. e3# 1... Sd6 2. R:d2+ 2... B:d2 3. Q:d2# 1... Sg5 2. Qb6+ 2... Sc5 3. Q:c5# 2... K:d5 3. Sc3#" keywords: - Models with pin --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1963 algebraic: white: [Kb4, Qe8, Be1, Sb3, Ph3, Pe6, Pc3] black: [Kd5, Sg8, Ph6, Pg6, Pg5, Pe3, Pe2] stipulation: "#4" solution: | "1.Qe8-f7 ! threat: 2.e6-e7 + 2...Kd5-e5 3.e7-e8=Q + 3...Ke5-d6 4.Qe8-e6 # 4.Qf7-d7 # 4.Be1-g3 # 3...Sg8-e7 4.Qe8*e7 # 3.Be1-g3 + 3...Ke5-e4 4.Sb3-c5 # 2...Kd5-d6 3.e7-e8=Q threat: 4.Qe8-e6 # 4.Qf7-d7 # 4.Be1-g3 # 3...Sg8-e7 4.Be1-g3 # 3...Sg8-f6 4.Qe8-e6 # 4.Be1-g3 # 2...Kd5-c6 3.e7-e8=Q + 3...Kc6-d6 4.Be1-g3 # 4.Qe8-e6 # 4.Qf7-d7 # 3...Kc6-b6 4.Qe8-b5 # 4.Qe8-e6 # 2...Kd5-e4 3.Sb3-c5 + 3...Ke4-e5 4.Be1-g3 # 1...Kd5-e5 2.Be1-g3 + 2...Ke5-d5 3.Sb3-c5 threat: 4.Qf7-f3 # 4.Qf7-b7 # 4.Qf7-d7 # 3...e2-e1=S 4.Qf7-b7 # 4.Qf7-d7 # 3...Kd5-c6 4.Qf7-b7 # 3...g5-g4 4.Qf7-b7 # 4.Qf7-d7 # 3...Sg8-e7 4.Qf7-f3 # 3...Sg8-f6 4.Qf7-b7 # 2...Ke5-e4 3.Sb3-c5 + 3...Ke4-d5 4.Qf7-b7 # 4.Qf7-f3 # 4.Qf7-d7 # 1...Kd5-d6 2.Be1-g3 + 2...Kd6-c6 3.Qf7-c7 + 3...Kc6-d5 4.Qc7-c4 # 2...Kd6-d5 3.Sb3-c5 threat: 4.Qf7-f3 # 4.Qf7-b7 # 4.Qf7-d7 # 3...e2-e1=S 4.Qf7-b7 # 4.Qf7-d7 # 3...Kd5-c6 4.Qf7-b7 # 3...g5-g4 4.Qf7-b7 # 4.Qf7-d7 # 3...Sg8-e7 4.Qf7-f3 # 3...Sg8-f6 4.Qf7-b7 # 1...Kd5-c6 2.Qf7-d7 + 2...Kc6-b6 3.Sb3-c5 threat: 4.Qd7-b7 # 3.Sb3-a5 threat: 4.Qd7-b7 # 1...Kd5-e4 2.Kb4-c4 threat: 3.Sb3-c5 + 3...Ke4-e5 4.Be1-g3 # 2...Ke4-e5 3.Be1-g3 + 3...Ke5-e4 4.Sb3-c5 # 2...Sg8-f6 3.Qf7*f6 threat: 4.Sb3-c5 # 2.Sb3-c5 + 2...Ke4-e5 3.Be1-g3 + 3...Ke5-d5 4.Qf7-d7 # 4.Qf7-f3 # 4.Qf7-b7 # 2...Ke4-d5 3.Be1-g3 threat: 4.Qf7-f3 # 4.Qf7-b7 # 4.Qf7-d7 # 3...e2-e1=S 4.Qf7-b7 # 4.Qf7-d7 # 3...Kd5-c6 4.Qf7-b7 # 3...g5-g4 4.Qf7-b7 # 4.Qf7-d7 # 3...Sg8-e7 4.Qf7-f3 # 3...Sg8-f6 4.Qf7-b7 # 1...Sg8-e7 2.Qf7-f3 + 2...Kd5-e5 3.Be1-g3 + 3...Ke5*e6 4.Sb3-c5 # 2...Kd5-d6 3.Be1-g3 + 3...Kd6*e6 4.Sb3-c5 # 2...Kd5*e6 3.Sb3-c5 + 3...Ke6-d6 4.Be1-g3 # 3...Ke6-e5 4.Be1-g3 # 1...Sg8-f6 2.Qf7-b7 + 2...Kd5-e5 3.Be1-g3 + 3...Ke5-f5 4.Sb3-d4 # 3...Ke5*e6 4.Sb3-d4 # 2...Kd5-d6 3.Be1-g3 + 3...Kd6*e6 4.Sb3-d4 # 2...Kd5*e6 3.Sb3-d4 + 3...Ke6-d6 4.Be1-g3 # 3...Ke6-e5 4.Be1-g3 #" --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet date: 1960 algebraic: white: [Kh5, Qe4, Bd6, Sg1, Ph6, Ph4, Pf2, Pd3, Pd2, Pb6] black: [Kh1, Rg2, Bc8, Ph7, Pd7, Pd4, Pb7] stipulation: "#4" solution: | "1.Sg1-f3 ! threat: 2.Qe4-e1 + 2...Rg2-g1 3.Qe1*g1 # 2.Sf3-e1 threat: 3.Qe4*g2 # 2.Sf3-g1 zugzwang. 2...Kh1*g1 3.Qe4-e1 # 2.Sf3-h2 zugzwang. 2...Kh1-g1 3.Qe4-e1 # 2.Sf3-g5 zugzwang. 2...Kh1-g1 3.Qe4-e1 # 2.Sf3*d4 zugzwang. 2...Kh1-g1 3.Qe4-e1 # 1...Rg2-g1 2.Sf3-e1 + 2...Rg1-g2 3.Qe4*g2 # 1...Rg2*f2 2.Qe4-e1 + 2...Kh1-g2 3.Qe1-g1 + 3...Kg2*f3 4.Qg1-g4 # 3...Kg2-h3 4.Qg1-g4 # 4.Sf3-g5 # 4.Qg1-g3 # 2...Rf2-f1 3.Qe1*f1 # 1...Rg2-g8 2.Sf3-h2 + 2...Kh1-g1 3.Qe4-e1 + 3...Kg1-g2 4.Qe1-f1 # 2...Rg8-g2 3.Sh2-g4 zugzwang. 3...Kh1-g1 4.Qe4-e1 # 1...Rg2-g7 2.Sf3-h2 + 2...Kh1-g1 3.Qe4-e1 + 3...Kg1-g2 4.Qe1-f1 # 2...Rg7-g2 3.Sh2-g4 zugzwang. 3...Kh1-g1 4.Qe4-e1 # 2.h6*g7 threat: 3.g7-g8=Q threat: 4.Qg8-g1 # 4.Qe4-e1 # 4.Sf3-e1 # 4.Sf3-g1 # 4.Sf3-h2 # 4.Sf3*d4 # 3.g7-g8=R threat: 4.Rg8-g1 # 4.Qe4-e1 # 4.Sf3-e1 # 4.Sf3-g1 # 4.Sf3-h2 # 4.Sf3*d4 # 3.Qe4-g4 threat: 4.Qg4-h3 # 4.Qg4-g1 # 3.Sf3-e1 + 3...Kh1-g1 4.Qe4-g2 # 2...Kh1-g2 3.g7-g8=Q + 3...Kg2*f2 4.Qg8-g1 # 3...Kg2-h3 4.Qg8-g3 # 4.Qg8-g4 # 4.Qe4-f5 # 4.Qe4-g4 # 4.Sf3-g1 # 4.Sf3-g5 # 3...Kg2-h1 4.Qg8-g1 # 4.Qe4-e1 # 4.Sf3-e1 # 4.Sf3-g1 # 4.Sf3-h2 # 4.Sf3*d4 # 3...Kg2-f1 4.Qg8-g1 # 4.Qe4-e1 # 2...h7-h6 3.Sf3-e1 + 3...Kh1-g1 4.Qe4-g2 # 1...Rg2-g6 2.Sf3-h2 + 2...Kh1-g1 3.Qe4-e1 + 3...Kg1-g2 4.Qe1-f1 # 2...Rg6-g2 3.Sh2-g4 zugzwang. 3...Kh1-g1 4.Qe4-e1 # 1...Rg2-g5 + 2.Kh5*g5 threat: 3.Sf3-e1 + 3...Kh1-g1 4.Qe4-g2 # 2...Kh1-g2 3.Qe4-e2 zugzwang. 3...Kg2-h3 4.Qe2-f1 # 3...Kg2-h1 4.Qe2-f1 # 2.h4*g5 threat: 3.Sf3-e1 + 3...Kh1-g1 4.Qe4-g2 # 3.Sf3-h4 + 3...Kh1-g1 4.Qe4-g2 # 4.Qe4-e1 # 2...Kh1-g2 3.Qe4-e2 zugzwang. 3...Kg2-h3 4.Qe2-f1 # 3...Kg2-h1 4.Qe2-f1 # 1...Rg2-g4 2.Kh5*g4 threat: 3.Qe4-e1 + 3...Kh1-g2 4.Qe1-g1 # 3.Sf3-e1 + 3...Kh1-g1 4.Qe4-g2 # 2...Kh1-g2 3.Qe4-e2 zugzwang. 3...Kg2-h1 4.Qe2-f1 # 1...Rg2-g3 2.Qe4-e1 + 2...Kh1-g2 3.f2*g3 zugzwang. 3...Kg2*f3 4.Qe1-f1 # 3...Kg2-h3 4.Qe1-f1 # 4.Qe1-h1 # 2...Rg3-g1 3.Qe1*g1 # 2.f2*g3 threat: 3.Sf3-e1 + 3...Kh1-h2 4.Qe4-g2 # 3...Kh1-g1 4.Qe4-g2 # 2...Kh1-g2 3.Qe4-e1 zugzwang. 3...Kg2*f3 4.Qe1-f1 # 3...Kg2-h3 4.Qe1-f1 # 4.Qe1-h1 # 3.Qe4-e2 + 3...Kg2-h3 4.Qe2-f1 # 4.Sf3-g1 # 4.Sf3-g5 # 4.Qe2-h2 # 3...Kg2-h1 4.Qe2-h2 # 4.Qe2-f1 # 1...Rg2-h2 2.Qe4-e1 + 2...Kh1-g2 3.Sf3*h2 threat: 4.Qe1-f1 # 2.Sf3*h2 + 2...Kh1-g1 3.Qe4-e1 + 3...Kg1-g2 4.Qe1-f1 # 3.Qe4-e2 threat: 4.Qe2-f1 #" --- authors: - Брон, Владимир Акимович - Корольков, Владимир Александрович source: "1st Friendship Match/2nd s# theme" date: 1963-06-15 distinction: 3rd Place, 1962-1964 algebraic: white: [Kh4, Qe5, Rf8, Re2, Bf1, Sg2, Pg7] black: [Kf3, Qc6, Rh2, Ra5, Ba7, Sg1, Sf6, Ph6, Ph3, Pg3, Pd6, Pd5, Pc4] stipulation: "s#3" solution: | "1.g7-g8=Q ! threat: 2.Qg8*d5 + 2...Ra5*d5 3.Qe5-h5 + 3...Rd5*h5 # 2...Qc6*d5 3.Qe5-h5 + 3...Qd5*h5 # 1...Sg1*e2 2.Qg8*g3 + 2...Se2*g3 3.Qe5-f5 + 3...Sg3*f5 # 1...Rh2*g2 2.Qe5*g3 + 2...Rg2*g3 3.Qg8-g4 + 3...Rg3*g4 # 1...d6*e5 2.Sg2-e1 + 2...Kf3-f4 3.Qg8-g5 + 3...h6*g5 # 1...Ba7-e3 2.Qe5-f4 + 2...Be3*f4 3.Qg8*g3 + 3...Bf4*g3 #" --- authors: - Брон, Владимир Акимович source: Fide Ii date: 1959 distinction: 1st HM algebraic: white: [Ka1, Qg1, Rh4, Ra4, Se7, Se2, Pg2, Pd2, Pc2] black: [Ke4, Qd5, Rf6, Rc8, Bf4, Bd7, Pg4, Pe5, Pd4, Pc4] stipulation: "#3" solution: | "1.Qg1-f2 ! threat: 2.Qf2-f3 + 2...g4*f3 3.Se2-g3 # 1...Bf4-h2 2.Se2-c3 + 2...d4*c3 3.Qf2-e3 # 1...Qd5-g8 2.Se2-c3 + 2...d4*c3 3.d2-d3 # 1...Rf6-g6 2.Se2-g3 + 2...Bf4*g3 3.Qf2-f3 # 1...Rc8-g8 2.d2-d3 + 2...c4*d3 3.Se2-c3 #" --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet source-id: 3/2919 date: 1962 algebraic: white: [Kd6, Qd8, Rh2, Rb4, Bc8, Bb8, Sh4, Sd3, Pf2, Pe6, Pe3, Pe2, Pc4, Pc3] black: [Kg4, Re4, Ra4, Bg2, Sa1, Ph5, Pg7, Pb5, Pa6] stipulation: "#3" solution: | "1.Kd6-c6 ! threat: 2.f2-f3 + 2...Bg2*f3 3.Sd3-f2 # 3.e2*f3 # 1...Re4*e3 + 2.Rh2*g2 + 2...Re3-g3 3.Rg2*g3 # 2...Kg4-h3 3.Sd3-f4 # 1...Re4*c4 + 2.Kc6-b6 threat: 3.Sd3-e5 # 1...Re4*e6 + 2.Kc6-c7 threat: 3.Bc8*e6 # 3.Sd3-e5 # 2...Bg2-d5 3.Sd3-e5 # 2...Bg2-e4 3.Sd3-e5 # 1...Re4-e5 + 2.Rh2*g2 + 2...Kg4-h3 3.Sd3-f4 # 1...Re4-f4 + 2.Rh2*g2 + 2...Kg4-h3 3.Sd3*f4 #" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 11/81 date: 1962 algebraic: white: [Kc3, Qg3, Rc5, Bb5, Sa4, Pe5] black: [Ka5, Rf8, Rc8, Bd1, Sb8, Ph5, Ph3, Pg5, Pe3, Pc7, Pb3, Pa7, Pa3] stipulation: "#3" solution: | "1.Qg3-f3 ! threat: 2.Bb5-f1 + 2...Ka5*a4 3.Qf3-e4 # 2.Bb5-e2 + 2...Ka5*a4 3.Qf3-e4 # 2.Bb5-d3 + 2...Ka5*a4 3.Qf3-e4 # 2.Bb5-c6 + 2...Ka5-a6 3.Bc6-b7 # 1...Bd1*f3 2.Bb5-c4 + 2...Ka5*a4 3.Bc4*b3 # 1...Bd1-e2 2.Bb5*e2 + 2...Ka5*a4 3.Qf3-e4 # 2.Bb5-d3 + 2...Ka5*a4 3.Qf3-e4 # 2.Bb5-c4 + 2...Ka5*a4 3.Bc4*b3 # 1...Bd1-c2 2.Bb5-d3 + 2...Ka5*a4 3.Qf3-e4 # 2.Bb5-c6 + 2...Ka5-a6 3.Bc6-b7 # 1...a3-a2 2.Bb5-c6 + 2...Ka5-a6 3.Bc6-b7 # 1...e3-e2 2.Bb5-c6 + 2...Ka5-a6 3.Bc6-b7 # 3.Qf3-d3 # 2.Bb5*e2 + 2...Ka5*a4 3.Qf3-e4 # 2.Bb5-d3 + 2...Ka5*a4 3.Qf3-e4 # 1...Sb8-a6 2.Bb5*a6 + 2...Ka5*a6 3.Qf3-c6 # 2...Ka5*a4 3.Qf3-c6 # 3.Qf3-e4 # 1...Sb8-d7 2.Bb5*d7 + 2...Ka5-a6 3.Qf3-c6 # 1...Rc8-d8 2.Bb5-c6 + 2...Ka5-a6 3.Bc6-b7 # 1...Rf8*f3 2.Bb5-d7 + 2...Ka5-a6 3.Bd7*c8 # 1...Rf8-f4 2.Bb5-d7 + 2...Ka5-a6 3.Bd7*c8 # 2.Bb5-c6 + 2...Ka5-a6 3.Bc6-b7 # 1...Rf8-d8 2.Bb5-c6 + 2...Ka5-a6 3.Bc6-b7 #" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1961 algebraic: white: [Kc8, Qh2, Bf6, Bd5, Pa3] black: [Kh7, Sb7, Ph6, Ph5, Pg6, Pe4, Pd6, Pb4, Pa4] stipulation: "#3" solution: | "1.Bf6-a1 ! threat: 2.Qh2-b2 threat: 3.Qb2-h8 # 3.Qb2-g7 # 2...g6-g5 3.Qb2-g7 # 1...b4*a3 2.Qh2-a2 threat: 3.Bd5-g8 # 2...g6-g5 3.Bd5*e4 # 1...g6-g5 2.Qh2-f2 threat: 3.Qf2-f7 # 3.Qf2-f5 # 2...Sb7-d8 3.Qf2-f5 # 2...Kh7-g6 3.Bd5*e4 # 3.Qf2-f7 #" --- authors: - Гуляев, Александр Павлович - Брон, Владимир Акимович source: Шахматы в СССР date: 1970 distinction: 1st Prize algebraic: white: [Kd8, Qd7, Re7, Ra3, Bf8, Be2, Sc7, Sc3] black: [Kc4, Rh5, Rg6, Bh1, Sh8, Pg3, Pf7, Pe6, Pe5, Pe4, Pb7, Pb5] stipulation: "#3" solution: --- authors: - Брон, Владимир Акимович source: British Chess Federation 102nd Tourney date: 1962 distinction: 1st HM, 1962-1963 algebraic: white: [Ka7, Qb6, Bc5, Sg4, Se5, Pf6, Pf5, Pa4] black: [Kd5, Qg2, Be3, Ba8, Sg1, Pf4, Pe4, Pd3, Pc6, Pc3, Pb4, Pb3] stipulation: "#3" solution: | Intention 1. Sd7 (Qxb4) 1. ... Qf2 2.Qd8 1. ... Qa2 2.Qa5 But 1. ... Qxg4! and there is a cook 1. Qd8!+ keywords: - Cooked --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 2/1518 date: 1933 algebraic: white: [Kd8, Qg6, Bc4, Bc1, Se4, Ph5, Ph4, Pg2, Pf6, Pc5] black: [Ke5, Rh2, Sg8, Sa3, Ph6, Pg4, Pc7, Pc6, Pc2, Pb6] stipulation: "#3" solution: | "1. Sg3! [2. Qe4+ 2... K:f6 3. Qd4, Bb2#] 1... S:f6 2. Q:f6+ 2... K:f6 3. Bb2# 1... Kd4 2. Qd3+ 2... K:c5 3. B:a3# 2... Ke5 3. Qc3# 1... S:c4 2. Qf5+ 2... Kd4 3. Se2# 1... Sb1 2. Se2 [3. Bf4#] 2... Sd2 3. Bb2#" keywords: - Model mates --- authors: - Брон, Владимир Акимович source: Achalgazdra Kommunisti date: 1957 distinction: 1st-2nd Prize algebraic: white: [Ke6, Be2, Sc2, Sa1, Pb6, Pa5] black: [Ka4, Bb7, Bb4, Pd3] stipulation: + solution: | "1. a6 $1 Bxa6 (1... dxc2 2. Nxc2) 2. Bxd3 $1 Bc8+ $1 (2... Bxd3 3. b7 Bc4+ 4. Ke5 $1) (2... Bb7 3. Kd7) 3. Ke5 $3 (3. Kd5 $2 Bb7+ 4. Kc4 $1 (4. Kd4 Bf8 $1 5. Be4 Bxe4 6. Kxe4 Kb5 $1 7. b7 Bd6 8. Kd5 Kb6) 4... Bf8 $1 5. Nb3 $1 Ba6+ 6. Kd4 (6. Kd5 Bb7+ 7. Kc4 Ba6+) (6. Kc3 Bxd3 7. Kxd3 Kb5 8. b7 Bd6) 6... Kxb3 7. Bxa6 Kxc2 8. Kd5 Bh6 $1 9. Ke4 Bf8) 3... Bc5 $1 (3... Bf8 4. Be4 $1) 4. Kd5 Bxb6 5. Kc6 Be6 $1 (5... Bd8 6. Bb5+ Ka5 7. Nb3#) (5... Ka5 6. Nb3+ Ka4 7. Nd2 $1 Ba5 8. Bb5#) 6. Kxb6 Bc4 $1 7. Bf5 Be6 8. Nb3 $1 Bxf5 (8... Bxb3 9. Bd7#) (8... Kxb3 9. Nd4+) 9. Nc5# 1-0" --- authors: - Брон, Владимир Акимович source: Achalgazdra Kommunisti date: 1955 distinction: 4th Prize algebraic: white: [Ke1, Rd7, Bf5, Sb7] black: [Ka6, Ra2, Ba1, Pb3, Pa4, Pa3] stipulation: "=" solution: | 1. Nc5+ Ka5 $3 (1... Kb5 2. Nxb3 axb3 3. Rb7+ Ka4 4. Bd7+) 2. Nxa4 $3 (2. Nxb3+ $2 axb3 3. Ra7+ Kb6) (2. Rb7 $2 Bc3+ 3. Kf1 Ra1+ 4. Kg2 a2) 2... Kxa4 (2... Rh2 3. Ra7+ Kb4 (3... Kb5 4. Bd7+) 4. Rb7+ $1 Kxa4 5. Bd7+ Ka5 6. Ra7+ Kb4 7. Ra4+ Kc5 8. Rxa3) 3. Ra7+ Kb4 4. Rb7+ Kc3 5. Rxb3+ $1 Kxb3 6. Be6+ Kb2 7. Kd1 $1 Kb1 8. Bf5+ Kb2 9. Be6 $1 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматный листок source-id: 193 date: 1927 distinction: 3rd Honorable Mention algebraic: white: [Ka6, Rf6, Ph5] black: [Ke8, Bg4, Pg3, Pf7, Pa7] stipulation: "=" solution: | "1. h6 Kf8 2. h7 Kg7 3. Rxf7+ Kh8 4. Rf8+ Kxh7 5. Rb8! g2 6. Rb1 Be2+ 7. Ka5 Bf1 8. Rb4 g1Q 9. Rh4+ Kg6 10. Rg4+ Qxg4 stalemate 5. Re8? g2 6. Re1 Be2+ 7. Ka5 Bf1 8. Re4 Be2 looses " keywords: - Stalemate --- authors: - Брон, Владимир Акимович source: Бакинский рабочий date: 1927 distinction: 2nd Honorable Mention algebraic: white: [Ke3, Rc5, Bh8, Pf4, Pe5] black: [Kh4, Ph2, Pe7, Pd7, Pc4] stipulation: + solution: | 1. Bf6+ $1 Kg4 $1 (1... exf6 $144 2. Rc8 fxe5 3. Rh8+ Kg3 4. f5 $18) (1... Kg3 $144 2. Rc8 $18) 2. e6 exf6 (2... h1=Q $144 3. Rg5+ Kh4 4. Rg1+ $18) 3. Rh5 $3 (3. e7 $143 h1=Q 4. e8=Q Qe1+ $19) 3... Kxh5 4. e7 h1=Q 5. e8=Q+ Kg4 6. Qg6+ $1 (6. Qxd7+ $143 f5 $11) 6... Kh3 7. Qh5+ Kg2 8. Qg4+ Kh2 9. Kf2 $18 1-0 --- authors: - Брон, Владимир Акимович source: Шахматный листок source-id: 257 date: 1928 distinction: 2nd Prize algebraic: white: [Kd1, Be4, Sg5, Pe7, Pb6] black: [Kc4, Rg4, Bh5, Sh2] stipulation: "=" solution: | 1. e8=Q Rxg5+ 2. Kd2 Nf1+ (2... Bxe8 $144 3. b7 Nf1+ 4. Kc2 Ba4+ (4... Rg8 $144 $11 {transpose}) 5. Kc1 Rb5 6. Bd3+ Kxd3 7. b8=Q Rxb8 $11) 3. Kc2 Ne3+ 4. Kd2 Bxe8 5. b7 Nf1+ 6. Kc2 Rg8 7. Bd5+ Kxd5 8. b8=Q Bg6+ (8... Ba4+ $144 9. Kc1 Rxb8 $11) 9. Kc3 Rxb8 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматный листок source-id: 298 date: 1928 distinction: Commendation algebraic: white: [Kd2, Rg4, Bg5] black: [Kh2, Bd8, Bc6, Pc4, Pa2] stipulation: "=" solution: | 1. Bf4+ Kh1 (1... Kh3 $144 2. Rg3+ Kh4 3. Ra3 $11) 2. Be5 c3+ 3. Bxc3 Ba5 4. Rh4+ (4. Ra4 $143 Bxa4 5. Kc1 Bb4 6. Ba1 Ba3+ $19) 4... Kg2 5. Rg4+ Kf1 (5... Kf2 $144 6. Ra4 Bxa4 7. Kc1 Bb4 8. Bd4+ Kf3 9. Kb2 $11) 6. Rf4+ Kg2 (6... Kg1 $144 7. Ra4 Bxa4 8. Kc1 Bb4 (8... Bd7 $144 9. Bf6 Kf2 10. Kb2 Be6 $11) 9. Bd4+ Kf1 10. Kb2 $11) 7. Rg4+ Kh2 8. Ra4 Bxa4 9. Kc1 Bxc3 $11 (9... Bb4 $144 10. Be5+ Kg2 11. Kb2 $11) 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Pravda date: 1930 distinction: 3rd Prize algebraic: white: [Kh7, Re4, Se1, Pd3, Pd2] black: [Kc8, Bb4, Ba6, Sc5, Pf3] stipulation: "=" solution: | "1. Re8+ $1 (1. Rf4 $143 Ne6 (1... Nxd3 $143 2. Nxd3 Bxd3+ 3. Kg7 Be2 4. Rxb4 f2 5. Rf4 $11) 2. Rf6 Be7 3. Rxf3 Ng5+ 4. Kg8 Nxf3 5. Nxf3 Bxd3 $19) 1... Kd7 2. Rf8 Nxd3 $1 (2... Bxd2 $144 $5 3. Nxf3 Bxd3+ 4. Kg7 Ne6+ (4... Bc3+ $144 5. Kh6 $11 {EGTB 7-men ?}) 5. Kf7 Bc3 6. Ra8 $11 {EGTB 7-men ?}) 3. Rf7+ $1 Ke6 $1 4. Rxf3 Nxe1 5. Re3+ Kf7 6. Rxe1 Bd3+ (6... Bxd2 $144 7. Re5 $1 Bd3+ 8. Kh8 Bc1 ( 8... Bc3 $144 $11) 9. Rf5+ $1 Bxf5 $11) 7. Kh8 Bc5 8. Re5 $1 Ba3 (8... Bd4 $144 $11) 9. Rc5 $1 Bb2+ 10. Rc3 Bb1 $1 (10... Ba1 $144 $11) 11. d4 $1 Bxc3 $11 1/2-1/2" --- authors: - Брон, Владимир Акимович source: Шахматный листок source-id: 542 date: 1931 distinction: 6th-7th Honorable Mention algebraic: white: [Kf4, Bg7, Ph6, Pg5, Pf6] black: [Kg8, Rd5, Se8, Sb3] stipulation: "=" solution: | 1. h7+ Kxh7 2. f7 Nxg7 3. g6+ $1 Kxg6 (3... Kh6 $144 4. f8=Q Kxg6 $11) 4. f8=Q Ne6+ 5. Ke4 Rd4+ 6. Ke5 Nxf8 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 602 date: 1932 algebraic: white: [Ka7, Bg7, Se1, Pg3] black: [Kf5, Bh2, Sd7, Sb6, Pe6] stipulation: "=" solution: | 1. Nf3 Bxg3 2. Nd4+ Kg6 3. Nxe6 Kf7 4. Bd4 Nc8+ 5. Kb7 Nd6+ 6. Ka8 Kxe6 7. Bf2 Be5 8. Bd4 Bxd4 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 636 date: 1933 distinction: 3rd Honorable Mention algebraic: white: [Ke1, Re3, Pf4, Pf3] black: [Kg6, Bg1, Sb5, Pc2] stipulation: "=" solution: | 1. Re6+ Kf5 2. Re5+ (2. Rc6 $143 Nd4 3. Rc7 (3. Rc5+ $144 Kf6 4. Rc7 Be3 $19) 3... Be3 $19) 2... Kxf4 3. Re4+ Kxf3 (3... Kf5 $144 4. Kd2 $11) 4. Rc4 Na3 5. Rxc2 Nxc2+ 6. Kf1 Bh2 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 643 date: 1933 distinction: 2nd Honorable Mention algebraic: white: [Kc2, Bc7, Sb7, Pg4, Pf4, Pf2, Pb2] black: [Kb4, Qg8, Pg7, Pd5, Pb5] stipulation: + solution: | 1. Bd6+ Kc4 2. Na5+ Kd4 3. Nb3+ Kc4 (3... Ke4 $144 4. Nd2+ Kd4 $18 {transpose}) 4. Nd2+ Kd4 5. Nf3+ Ke4 6. Ng5+ Kd4 7. Bf8 $1 b4 (7... Kc4 $144 8. b3+ Kd4 9. Kd2 g6 10. Kc2 b4 11. Kd2 Qh8 12. Bg7+ Qxg7 13. Ne6+ $18) 8. b3 g6 9. Kd2 Qh8 10. Bg7+ Qxg7 11. Ne6+ $18 1-0 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1933 algebraic: white: [Kh1, Rc5, Ph6, Pd5] black: [Kg4, Rf7, Ph3] stipulation: + solution: | 1. d6 Rf1+ 2. Kh2 Rf2+ 3. Kg1 h2+ 4. Kh1 Rf1+ 5. Kxh2 Rf6 6. Rc4+ Kg5 7. d7 Rxh6+ 8. Kg3 Rd6 9. Rc5+ Kf6 10. Rc6 $18 1-0 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1934 algebraic: white: [Kh2, Rc8, Pg2, Pe4] black: [Kg6, Bd3, Ph5, Pb2] stipulation: "=" solution: | 1. Rg8+ (1. Rb8 $143 b1=Q 2. Rxb1 Bxb1 3. Kh3 Kg5 $1 $19) 1... Kh6 2. Rh8+ Kg5 (2... Kg7 $144 3. Rb8 b1=Q 4. Rxb1 Bxb1 5. g4 $1 hxg4 6. Kg3 $11) 3. Rg8+ Kf4 4. Rf8+ Kxe4 5. Rb8 $1 (5. Re8+ $143 Kd4 6. Rb8 Kc3 7. Kh3 Be2 $19) 5... b1=Q 6. Rxb1 Bxb1 7. Kh3 Kf4 (7... Kf5 $144 8. Kh4 Kg6 9. g4 $11) 8. Kh4 Bg6 9. g4 $1 hxg4 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1934 algebraic: white: [Kc4, Rh4, Sg6, Pb5] black: [Kb8, Sd1, Pe2, Pd3, Pc5, Pb7] stipulation: "=" solution: | 1.b5-b6 Kb8-c8 2.Sg6-e5 Kc8-d8 3.Se5*d3 Sd1-b2+ ! 4.Kc4*c5 ! Sb2*d3+ 5.Kc5-d6 e2-e1=Q 6.Rh4-h8+ Qe1-e8 7.Rh8-g8 ! Qe8*g8 {stalemate} 7...Sd3-e1 8.Rg8*e8+ Kd8*e8 9.Kd6-c7 5...e2-e1=R 6.Rh4-h7 --- authors: - Брон, Владимир Акимович source: Kharkov Socialist date: 1934 algebraic: white: [Kc7, Rh7, Be5, Sg2] black: [Kd2, Rf5, Bh6, Pd7] stipulation: + solution: | 1. Nh4 Rxe5 (1... Rh5 $144 2. Rxh6 Rxh6 3. Bf4+ $18) 2. Nf3+ Ke3 3. Nxe5 Bf4 4. Kd6 (4. Rh5 $143 Ke4 5. Kd6 Kd4 6. Rh4 (6. Rf5 $144 Ke4 7. Rh5 Kd4 $11) 6... Ke4 7. Rh5 (7. Rg4 $144 Kf5 $11) 7... Kd4 $11) 4... Kd4 (4... Ke4 $144 5. Rh4 $18 {Transpose}) 5. Rh5 (5. Rh4 $143 Ke4 $11) 5... Bg3 6. Rg5 Bf4 7. Rg4 Ke4 8. Rh4 Kf5 9. Kd5 Bxe5 10. Rh5+ $18 1-0 --- authors: - Брон, Владимир Акимович source: «64» date: 1938 algebraic: white: [Kd1, Sc8, Ph6, Pd6, Pd4, Pa4] black: [Ke6, Rc4, Pe7, Pb7] stipulation: + solution: | 1. d5+ Kf7 2. d7 Rd4+ 3. Ke2 $1 (3. Kc2 $143 Rxd5 4. h7 Kg7 5. Nxe7 Rxd7 6. Ng6 Rc7+ $11) (3. Ke1 $143 Rxd5 4. h7 Kg7 5. Nxe7 Rxd7 6. Ng6 Rd8 7. h8=Q+ Rxh8 8. Nxh8 Kxh8 $11) 3... Rxd5 4. h7 $1 (4. Nb6 $143 Rd6 5. Nc4 Rd5 6. Kf3 Kg8 7. Ne5 Kh7 8. Ke4 Rd6 $1 9. a5 Kg8 $1 $11) 4... Kg7 5. Nxe7 Rxd7 6. Ng6 $1 Kxh7 (6... Rd8 $144 7. h8=Q+ Rxh8 8. Nxh8 Kxh8 $18) 7. Nf8+ $18 1-0 --- authors: - Брон, Владимир Акимович source: «64» date: 1938 distinction: 3rd Honorable Mention algebraic: white: [Kg8, Ra2, Bb2] black: [Kd8, Bh4, Bd3, Pf7, Pb7] stipulation: + solution: | 1. Ra4 Bf2 2. Bd4 Be1 3. Ra1 Bb4 (3... Bh4 $144 4. Rd1 Bc2 5. Rd2 Be4 6. Bf2+ $18) 4. Rd1 Be2 5. Bb6+ Ke8 6. Rd8+ Ke7 7. Rd4 Bd6 8. Re4+ $18 1-0 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1940 distinction: Commendation algebraic: white: [Kd2, Bb1, Sc7, Pg2, Pb4, Pa3] black: [Kc4, Bg8, Bg7, Pg5, Pe6, Pe5, Pd6, Pb6] stipulation: + solution: | 1. Ba2+ Kd4 2. Bxe6 Bh7 (2... Bxe6 $144 3. Nxe6+ $18) 3. Nb5+ Ke4 4. Nc3+ Kd4 5. Ne2+ Ke4 6. Ng3+ Kd4 7. Bf5 Bg8 (7... Bxf5 $144 8. Nxf5+ $18) 8. Bb1 Be6 9. Ne2+ Kd5 10. Ba2+ $18 1-0 --- authors: - Брон, Владимир Акимович source: МК Л.Куббель, Шахматы в СССР date: 1945 distinction: 2nd Honorable Mention algebraic: white: [Kh2, Bh1, Bb2, Pg7, Pd6, Pc3] black: [Kh5, Rg3, Be6, Ph4, Pb6] stipulation: + solution: | 1. c4 Bxc4 2. d7 (2. Bd5 Bxd5 3. d7 Rg2+ 4. Kh3 Rg3+) 2... Rd3 3. Bf3+ $3 (3. Bd5 Rd2+ 4. Kg1 Rxd5 5. g8=Q Rd1+) 3... Kh6 4. Bd5 $1 {Nowotny} Rd2+ 5. Kg1 Rxd5 6. g8=N+ $1 Kg5 7. Bc1+ Kf5 8. Ne7+ Ke6 9. Nxd5 Kxd7 10. Nxb6+ Ke6 11. Nxc4 1-0 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1946 algebraic: white: [Ke6, Bb1, Sc2, Pg6, Pd6] black: [Kc8, Rd3, Bb8, Pa7] stipulation: + solution: | 1. Nd4 Rxd4 2. Bf5 Rxd6+ 3. Ke7+ Kc7 4. g7 Rd8 5. Be6 a5 6. Bf7 Kc8 (6... Rd7+ $144 7. Kf8 Rd8+ 8. Be8 $18) 7. Be8 Bd6+ 8. Kf7 $18 1-0 --- authors: - Брон, Владимир Акимович source: Труд (Москва) date: 1947 distinction: 2nd Commendation algebraic: white: [Kb4, Rg4, Sg3] black: [Kd2, Bc2, Ph2, Pe3, Pa3] stipulation: "=" solution: | "1. Rh4 (1. Nf1+ $143 Kd3 2. Nxh2 a2 3. Rg1 Bb1 $19) 1... a2 2. Rxh2+ e2 $1 ( 2... Kd3 $144 3. Rh1 Bb1 4. Kb3 $1 e2 (4... a1=Q $143 5. Rd1#) 5. Kb2 $11) ( 2... Kc1 $144 3. Ne2+ Kb2 4. Nd4 a1=Q 5. Rxc2+ Kb1 6. Kc4 $1 $11) 3. Rxe2+ (3. Nxe2 $143 a1=Q 4. Nd4+ Kd3 $1 5. Nxc2 Qc3+ $1 6. Ka4 Qc6+ 7. Kb3 Qd5+ 8. Ka4 Kc3 $1 $19) 3... Kd3 4. Re1 Bb1 5. Ne4 $1 a1=Q 6. Nc5+ Kc2 7. Rc1+ $1 Kb2 $1 8. Nd3+ Ka2 9. Rc3 $1 $11 1/2-1/2" --- authors: - Брон, Владимир Акимович source: Erevan Ty date: 1947 distinction: 4th Prize algebraic: white: [Ka2, Rb4, Ba3, Sf4] black: [Kc5, Qf5, Pg7, Pe6] stipulation: + solution: | 1. Ng6 $1 Qd5+ $1 2. Ka1 $1 e5 3. Ne7 Qe6 $1 4. Kb1 $1 g6 5. Ka1 $1 (5. Kb2 $143 g5 6. Kc3 Qh3+ $11) 5... g5 6. Kb2 $1 g4 7. Kc3 $1 Qa2 8. Rb3+ $18 1-0 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1947 algebraic: white: [Kg6, Rb2, Bc8, Pg2, Pf4, Pd7] black: [Kc7, Be1, Ph6, Ph2, Pf5, Pe7, Pe6] stipulation: + solution: | 1. d8=Q+ (1. Rc2+ $143 Kd8 2. Ba6 Kxd7 $19) 1... Kxd8 2. Rc2 h1=Q 3. Bxe6 Bc3 4. Rxc3 Qxg2+ 5. Kxh6 (5. Kf7 $143 Qa8 $11) 5... Qh2+ 6. Kg6 Qg1+ (6... Qg2+ $144 7. Kf7 Qc6 8. Rc4 {transpose}) 7. Kh7 $3 (7. Kf7 $143 Qc5 8. Rc4 Qc6 $1 $11) 7... Qh2+ 8. Kg8 (8. Kg7 $143 Qb2 $19) 8... Qg1+ 9. Kf8 Qc5 10. Rc4 Qc6 11. Kf7 Qc5 (11... Qe8+ $144 12. Kg7 Qf8+ 13. Kh7 $18) (11... Qa6 $144 12. Rc8+ $18) 12. Kg6 Qg1+ 13. Kxf5 Qb1+ 14. Kg5 Qg1+ 15. Kh6 Qh1+ 16. Kg7 Qa1+ 17. Kg8 Qg1+ 18. Kf8 (18. Kf7 $144 Qc5 19. Kg7 Qg1+ 20. Kf8 Qc5 21. f5 { Time loosing dual}) 18... Qc5 19. f5 Qc6 20. Kf7 Qc5 21. Kg8 Qg1+ 22. Kf8 Qc5 23. f6 Qxc4 24. fxe7+ $18 1-0 --- authors: - Брон, Владимир Акимович source: Erevan Ty date: 1947 distinction: 4th Honorable Mention algebraic: white: [Kf7, Rg8, Bh1, Pg3, Pb3, Pa4] black: [Kf5, Ph6, Pg4, Pd6, Pb7, Pa2] stipulation: + solution: | 1. Ra8 $3 (1. Be4+ $143 Ke5 $1 2. Re8+ Kd4 $17) (1. Re8 $143 a1=Q 2. Be4+ Kg5 3. Rg8+ Kh5 4. Bg6+ Kg5 5. Bd3+ Kh5 6. Be2 Qd4 7. Bxg4+ Qxg4 8. Rxg4 Kxg4 $11 9. a5 d5 10. b4 d4 11. b5 d3 12. a6 bxa6 13. bxa6 d2 14. a7 d1=Q 15. a8=Q $11) 1... b6 (1... Ke5 $144 2. Re8+ Kd4 3. Re1 $18) (1... a1=Q $144 2. Ra5+ $18) 2. Re8 $1 a1=Q 3. Be4+ Kg5 4. Rg8+ Kh5 5. Bg6+ Kg5 6. Bd3+ $1 Kh5 7. Be2 $1 Qd4 8. Bxg4+ (8. Rxg4 $143 Qf2+ $19) 8... Qxg4 9. Rxg4 Kxg4 10. Ke6 $1 (10. b4 $143 d5 11. a5 bxa5 12. bxa5 d4 13. a6 d3 14. a7 d2 15. a8=Q d1=Q $11) 10... d5 $1 ( 10... h5 $144 11. b4 Kxg3 12. a5 bxa5 13. bxa5 h4 14. a6 h3 15. a7 h2 16. a8=Q $18) 11. Kxd5 Kxg3 12. b4 h5 13. a5 bxa5 14. b5 $1 h4 15. b6 h3 16. b7 h2 17. b8=Q+ $18 1-0 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1948 distinction: 3rd Honorable Mention algebraic: white: [Kg6, Re5, Bf3, Pe3, Pd4] black: [Kh8, Qa5, Bb5, Pg7, Pa4] stipulation: "=" solution: | 1. Bc6 Bd3+ (1... Qd8 $144 2. Rh5+ Kg8 3. Bd5+ Kf8 4. Rh8+ Ke7 5. Rxd8 Kxd8 6. Kxg7 $11) 2. e4 Qd8 3. Rh5+ (3. Re8+ $143 Qxe8+ 4. Bxe8 a3 $19) 3... Kg8 4. Bd5+ Qxd5 (4... Kf8 $144 5. Rh8+ Ke7 6. Rxd8 Kxd8 $11) 5. Rh8+ $3 (5. Rxd5 $143 Bxe4+ 6. Rf5 a3 $18) 5... Kxh8 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: USSR Study Composition champ date: 1948 distinction: 11th Prize algebraic: white: [Ka5, Bf5, Sd1, Pg6, Pf4, Pe6, Pd3, Pa7] black: [Ka8, Rh6, Bd4, Sh3, Pe7, Pd6] stipulation: "=" solution: | 1. Ka6 Nxf4 2. Ne3 d5 (2... Rh2 $144 3. Be4+ d5 4. Nxd5 Ra2+ 5. Kb5 Rb2+ 6. Kc4 $11) 3. Nxd5 $1 Nxd5 4. Be4 Rh5 5. g7 $1 Bxg7 6. d4 $1 Bf6 (6... Bxd4 $144 7. Bxd5+ Rxd5 $11) 7. Bf3 Rf5 8. Be4 Rh5 9. Bf3 Rg5 10. Be4 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Magyar Sakkvilág date: 1948 distinction: 1st Prize algebraic: white: [Kh1, Rb7, Bf7, Ph7, Pg7, Pg2, Pe7, Pc6, Pc4, Pb6, Pa5] black: [Ka8, Rc8, Ra3, Sh8, Ph2, Pg3, Pd5, Pc7] stipulation: + solution: | 1. Ra7+ Kb8 2. Ra8+ Kxa8 3. b7+ Ka7 4. bxc8=N+ $1 Ka6 5. gxh8=B $1 (5. gxh8=Q $143 d4 6. Qxd4 Ra1+ 7. Qxa1 $11) 5... d4 6. Bxd4 Rd3 7. Bh5 Rb3 8. Bg6 Rc3 9. Be3 Ra3 10. h8=B $1 Rxe3 11. e8=R $1 $18 (11. e8=Q $143 Re1+ 12. Qxe1 $11) 1-0 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1948 algebraic: white: [Kh8, Bb8, Sf2, Pf6, Pd6] black: [Kf4, Re6, Sg5] stipulation: + solution: | 1. Nh3+ $1 (1. d7+ $143 Kf5 2. Kg8 Rxf6 3. d8=Q Rg6+ $11) 1... Kf5 $1 2. Nxg5 Rxf6 (2... Re8+ $144 3. Kg7 Rxb8 4. f7 $1 Ke5 5. Ne4 $1 $18) 3. Nh7 $1 Rf7 4. Kg8 Kg6 5. Nf8+ $1 Kf6 6. d7 Rg7+ 7. Kh8 Kf7 $1 8. Bd6 $1 (8. d8=Q $143 Rg8+ 9. Kh7 Rh8+ 10. Kxh8 $11) (8. d8=R $143 Rg8+ 9. Kh7 Rxf8 $11) (8. d8=N+ $143 Kf6 $1 $11) 8... Rg5 9. d8=R $1 $18 (9. d8=Q $143 Rg8+ 10. Kh7 Rh8+ 11. Kxh8 $11) 1-0 --- authors: - Брон, Владимир Акимович source: Czechoslowakija JT UJCS date: 1948 distinction: 4th Prize algebraic: white: [Kd3, Bh7, Bc3, Sg5, Sb6, Pb5] black: [Kc1, Bh5, Pe3, Pd2] stipulation: + solution: | 1. Bb2+ Kxb2 2. Nc4+ Kc1 3. Nxe3 Be2+ $1 4. Kc3 $1 (4. Kxe2 $143 d1=Q+ 5. Nxd1 $11) 4... Bxb5 5. Nf3 d1=Q 6. Nxd1 Be2 7. Be4 Bxd1 8. Ne1 Ba4 (8... Bg4 $144 9. Nd3+ Kd1 10. Nf2+ $18) (8... Bh5 $144 9. Nd3+ Kd1 10. Bc6 Ke2 (10... Bg4 $144 11. Nf2+ $18) 11. Nf4+ $18) (8... Be2 $144 9. Bc2 Bb5 10. Nf3 Be2 11. Nd4 Bc4 12. Kxc4 $18) 9. Nd3+ Kd1 10. Nb2+ $18 1-0 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1948 distinction: 4th Commendation algebraic: white: [Kb2, Bg3, Se6, Pc7] black: [Kd7, Bd2, Pf3] stipulation: + solution: | 1. Nc5+ (1. Kc2 $143 Be3 2. Kd1 Bb6 3. Ke1 Kc8 4. Kf1 Kb7 $11) 1... Kc8 2. Ne4 Bb4 3. Kb3 f2 (3... Bf8 $144 4. Kc4 Kb7 5. Kd4 Bb4 6. Ke3 $18 Bf8 7. Kxf3 $18) 4. Bxf2 Ba5 5. Nd6+ Kxc7 6. Nc4 $18 1-0 --- authors: - Брон, Владимир Акимович source: Труд (Москва) date: 1950 algebraic: white: [Kg8, Bb5, Pb6] black: [Kg6, Re6, Sc8] stipulation: "=" solution: | 1. b7 Ne7+ 2. Kf8 Rb6 3. b8=Q $1 (3. Be8+ $144 Kf6 4. b8=Q Ng6+ 5. Bxg6 Rxb8+ $19) 3... Rxb8+ 4. Be8+ Kf6 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Sverdlovsk Ty, На смену! date: 1951 distinction: 1st Prize algebraic: white: [Ka1, Qe3, Bf6] black: [Kd6, Qb5, Ph5, Pg6, Pd5, Pa4] stipulation: + solution: | "1. Qe7+ Kc6 2. Qe8+! Kb6! 3. Bd4+ Ka5 4. Qd8+ Kb4! 5. Qe7+! Kb3 6. Qe3+ Kc2 7. Qc3+ Kd1 8. Be3! Ke2 9. Qd2+ Kf3 10. Qf2+ Kg4! 11. Qf4+ Kh3 12. Qf3+ Kh2 13. Bf4+ Kg1 14. Qg3+ Kf1 15. Be3! Ke2 16. Qf2+ Kd3 17. Qf1+ wins 15. ... Qe2 16. Qg1# 12. ... Kh4 13. Qg2 wins 10. ... Ke4 11. Qf4+ Kd3 12. Qf1+ wins 8. ... Qe2 9. Qc1# 5. ... Ka5 6. Qc7+ Ka6 7. Qa7# 6. ... Kb4 7. Qc3# 5. ... Kc4 6. Qe2+ 3. ... Ka6 4. Qa8# 2. ... Kc5 3. Bd4+! Kc4 4. Qe2+ Kb4 5. Qd2+ Kc4 6. Qc3# 3. ... Kb4 4. Qe1+ Ka3 5. Qc3+ Qb3 6. Bc5#" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1951 algebraic: white: [Ke5, Qh2, Sa4] black: [Ke3, Qb1, Pf5] stipulation: + solution: | 1. Qf4+ Kd3 $1 2. Qxf5+ Kc4 3. Qf7+ $1 (3. Qxb1 $143 $11) 3... Kb4 $1 (3... Kd3 $144 4. Qg6+ Kc4 5. Nb6+ $1 $18) 4. Qb7+ Kc4 $1 5. Nb6+ $1 Kc3 $1 (5... Kb3 $144 6. Nc4+ Ka4 $1 7. Qa6+ Kb4 8. Qb6+ Ka4 9. Qa5+ $18) 6. Nd5+ Kc2 7. Ne3+ Kc1 8. Qc6+ $1 Kb2 (8... Kd2 $144 9. Nc4+ Ke2 10. Qg2+ Kd1 11. Qf1+ Kc2 12. Na3+ $18) 9. Nc4+ Ka1 10. Qa4+ Qa2 11. Qd1+ Qb1 12. Qd4+ Ka2 13. Qa7+ Kb3 14. Nd2+ $18 1-0 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 21 date: 1953 distinction: 5th Honorable Mention algebraic: white: [Ka2, Bf3, Bc3, Pg4] black: [Kd1, Ba1, Pe2, Pb2] stipulation: + solution: | 1. Bxe2+ $1 (1. Kb1 $143 $11) (1. Bb4 $143 Kc1 $1 2. Be4 b1=Q+ $1 3. Bxb1 Bf6 $1 4. Be4 (4. Bd3 $144 Kd1 $11) 4... Be7 $1 5. Ba5 (5. Be1 $144 Kd1 $11) 5... Bd8 $1 6. Bc3 Bf6 $1 $11) 1... Kc2 2. Bd1+ (2. Bd3+ $143 Kxd3 3. Kb1 Ke4 $1 4. g5 Kf5 5. Bf6 Kg6 $11) 2... Kc1 (2... Kxc3 $144 3. g5 (3. Kb1 $143 Kd4 $11) 3... Kc4 $1 (3... Kd4 $144 4. g6 $18) (3... b1=Q+ $144 4. Kxb1 Bb2 5. g6 $18) 4. Bb3+ $1 Kc5 (4... Kd4 $144 5. g6 Kc5 6. Kb1 $18) 5. Kb1 $1 Kd6 6. g6 Ke7 7. g7 $18) 3. Bd2+ $1 Kxd2 $1 4. Kb1 $1 Ke3 5. g5 Kf4 6. g6 Kg5 7. g7 Kh6 8. g8=R $18 1-0 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1953 distinction: 2nd Prize algebraic: white: [Kh1, Bh6, Ph3, Pg5, Pf2, Pe2, Pb5] black: [Kh4, Ba2, Ph5, Pf7, Pf5, Pe5, Pc6] stipulation: + solution: | "1. b6 Bd5+ 2. e4 $1 Bxe4+ (2... fxe4 $144 3. g6 $1 (3. b7 $143 e3+ 4. Kg1 e2 $19) 3... fxg6 4. b7 e3+ 5. Kg1 e2 6. Bd2 $18) 3. f3 Bxf3+ 4. Kh2 c5 5. g6 $1 fxg6 6. Bg7 $1 Kg5 (6... e4 $144 7. Bf6+ g5 8. Bc3 $18) 7. Kg3 $1 Bb7 8. h4# 1-0" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1954 algebraic: white: [Kh4, Bh6, Sg5, Sc6] black: [Kg8, Ph2, Pg6, Pf7, Pf4] stipulation: "=" solution: | 1. Ne7+ Kh8 2. Nxf7+ Kh7 3. Ng5+ $1 Kxh6 4. Nf5+ gxf5 5. Nh3 h1=Q $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Riga Chess Club Ty date: 1954 distinction: 2nd Prize algebraic: white: [Kh2, Ph4, Pg5, Pa3] black: [Kd6, Sa2, Pf6, Pa5] stipulation: "=" solution: | 1. h5 Ke7 2. h6 Kf7 3. h7 Kg7 4. gxf6+ Kxh7 5. Kg3 Kg6 6. Kf4 Kxf6 7. Ke4 Ke6 8. Kd4 Kd6 9. Kc4 Kc6 10. Kb3 Nc1+ 11. Ka4 Kb6 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: problem (Zagreb) date: 1959 algebraic: white: [Kb7, Bf7, Pd4, Pc6] black: [Kd3, Sh8, Sb3, Pe6, Pd7, Pa5] stipulation: "=" solution: | 1. Bxe6 dxe6 2. c7 Nf7 3. Kc6 Nxd4+ 4. Kc5 Nd6 5. c8=Q Nxc8 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: problem (Zagreb) date: 1959 algebraic: white: [Kh2, Qg3, Sd6, Pf4, Pb7] black: [Ka5, Qc7, Ra1, Pg2, Pf6, Pc6, Pa6] stipulation: + solution: | 1. Qc3+ Kb6 2. Qb4+ Ka7 3. b8=Q+ Qxb8 4. Qc5+ Ka8 5. Qxc6+ Ka7 6. Qc5+ Ka8 7. Qd5+ Ka7 8. Qd4+ Ka8 9. Qe4+ Ka7 10. Qe3+ Ka8 11. Qf3+ Ka7 12. Qf2+ Ka8 13. Qxg2+ Ka7 14. Qf2+ Ka8 15. Qf3+ Ka7 16. Qe3+ Ka8 17. Qe4+ Ka7 18. Qd4+ Ka8 19. Qd5+ Ka7 20. Qc5+ Ka8 21. Qc6+ Ka7 22. Nc8+ $11 1-0 --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet date: 1959 distinction: 2nd Prize algebraic: white: [Ka1, Rb4, Bd8, Sc5, Ph2, Pg2, Pf2, Pe2, Pc3, Pa2] black: [Ka3, Qa7, Rh6, Pe7, Pd7, Pc4, Pb5, Pa6, Pa5] stipulation: + solution: | 1. Ra4+ $1 bxa4 2. Bxe7 (2. Nd3 $143 Qd4 $3 3. cxd4 cxd3 4. Bxe7+ (4. exd3 $144 Re6 $19) 4... d6 5. exd3 Re6 $19) 2... Rd6 $1 (2... Qb6 $144 3. Nd3+ d6 4. Bg5 $18) 3. Nd3 $3 (3. Bxd6 $143 Qb6 4. Nb3+ Qxd6 5. Nd4 Qg6 $1 6. f3 d5 $1 7. g3 $1 (7. e4 $143 Qxg2 $19) 7... Qb1+ $3 8. Kxb1 $11) 3... Qc5 $1 4. Nb2 $1 Rd1+ $1 5. Nxd1 Qxe7 6. Ne3 $1 Qe4 7. h3 $3 (7. h4 $143 d6 $1 8. h5 d5 9. h6 Qg6 10. f3 Qh7 11. g4 Qg6 12. g5 Qh7 $19) 7... d6 $1 8. h4 d5 9. h5 Qh7 10. f3 $18 1-0 --- authors: - Брон, Владимир Акимович source: Československý šach date: 1960 distinction: 1st-2nd Prize algebraic: white: [Ka4, Rf4, Sc2, Pf2, Pd2] black: [Kh3, Rd1, Se6, Pd4, Pd3] stipulation: "=" solution: | 1. Rf3+ Kg2 (1... Kg4 $144 2. Rg3+ Kf4 3. Nxd4 $11) 2. Nxd4 Rxd2 $1 3. Rg3+ $1 (3. Rxd3 $143 Nc5+ 4. Kb4 Nxd3+ 5. Kc3 Rd1 6. Kc2 Nxf2 $19) 3... Kxf2 4. Rxd3 $3 Nc5+ (4... Rxd3 $144 5. Nxe6 $11) 5. Kb4 Nxd3+ 6. Kc3 Rd1 (6... Ke3 $144 7. Nf5+ Ke2 8. Nd4+ Kd1 9. Nb3 Rb2 10. Nd4 Rd2 11. Nb3 Rb2 12. Nd4 $11) 7. Kc2 Ke1 8. Nf3+ Ke2 9. Nd4+ Ke1 10. Nf3+ $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Olympiad Schach date: 1960 distinction: 1st Prize algebraic: white: [Ke4, Bf1, Sd1, Pg2, Pf5, Pe6] black: [Ke8, Ra6, Sb3, Pf7, Pb2] stipulation: "=" solution: | 1. Bb5+ Kf8 2. Nxb2 Rb6 3. Bd3 $1 Nd2+ 4. Kd4 $1 Rxb2 5. Kc3 (5. exf7 $143 Rb3 $19) 5... Ra2 6. exf7 Ke7 7. f8=Q+ Kxf8 8. f6 Ke8 $1 9. Bg6+ $1 Kd7 10. Bf5+ $1 Kd8 11. Bd3 Kd7 12. Bf5+ Ke8 13. Bg6+ Kf8 14. Bd3 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Szachy date: 1960 distinction: 2nd Prize algebraic: white: [Kd8, Rg4, Bd3, Pe3, Pc2] black: [Kc5, Qb1, Pd7, Pd6, Pb6] stipulation: + solution: | 1. Rg5+ d5 (1... Kc6 $144 2. Be4+ $18) 2. Rxd5+ $1 Kc6 3. Be4 Qb2 4. c3 $1 Qb3 5. c4 Qxe3 6. Bh1 $1 Qc5 (6... Qe6 $144 7. Re5+ Kd6 8. Rxe6+ dxe6 $18) 7. Rxd7+ $18 1-0 --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet source-id: 273 date: 1960 distinction: 1st Prize algebraic: white: [Kh1, Bb1, Sc3, Pc5] black: [Ka8, Ra7, Bb8, Ph2, Pg6, Pg4, Pd6] stipulation: + solution: | 1. Be4+ Rb7 2. c6 Rc7 3. Nb5 g3 $1 4. Bd5 $1 g5 5. Bg2 $1 (5. Be4 $143 Re7 6. c7+ Rxe4 7. c8=Q Re1+ $19) 5... d5 (5... g4 $144 6. Bd5 g2+ 7. Bxg2 g3 8. Bd5 g2+ 9. Bxg2 d5 10. Bxd5 Ra7 11. c7+ Rb7 12. c8=B $18 (12. c8=N $144 $18)) 6. Bxd5 g4 7. Bg2 Rf7 (7... Ra7 $144 8. c7+ Rb7 9. c8=N $1 $18) 8. c7+ Rf3 $1 9. c8=R $1 $18 (9. Bxf3+ $143 gxf3) (9. c8=B $143 $18 Be5 10. Bxg4 Kb7 11. B2xf3+ $16) (9. c8=N $143 Be5 10. Ne7 Kb7 $17) (9. c8=Q $143 $11) 1-0 --- authors: - Брон, Владимир Акимович source: Shablinsky MT date: 1961 distinction: 4th Prize algebraic: white: [Kh5, Bh4, Sg8, Pf4, Pd6, Pc4] black: [Kf7, Bh2, Sh3, Sf5, Pe2] stipulation: "=" solution: | 1. d7 (1. Nh6+ $143 Nxh6 2. d7 Kg7 $1 3. d8=Q (3. Bf6+ $144 Kh7 $1 $19) 3... Nxf4+ 4. Kg5 Ne6+ $19) 1... Nxf4+ $1 2. Kg4 Nxh4 (2... Ne6 $144 3. Kxf5 $11) 3. d8=Q e1=Q 4. Nh6+ $1 Kg7 5. Qg8+ $1 Kxh6 (5... Kf6 $144 6. Qd8+ Kg7 7. Qg8+ $11 ) 6. Qh8+ Kg6 7. Qg8+ Kf6 8. Qf8+ Ke5 9. Qh8+ $1 Kd6 10. Qd8+ Kc6 11. Qc8+ Kb6 12. Qd8+ $1 Kc6 (12... Ka6 $144 13. Qa8+ $11) 13. Qc8+ Kd6 14. Qd8+ Kc5 15. Qe7+ $3 Qxe7 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet date: 1962 algebraic: white: [Kd2, Rg5, Bh3, Sc7] black: [Kc6, Rd6, Ba4, Pe2, Pd3, Pa7] stipulation: "=" solution: | 1. Nd5 Rxd5 2. Bg2 e1=Q+ 3. Kxe1 d2+ 4. Kf2 $1 d1=Q 5. Rxd5 Qxd5 6. Ke1 $3 (6. Bxd5+ $143 Kxd5 7. Ke1 Kc4 8. Kd2 Kb3 9. Kc1 Ka2 $19) 6... Kc5 (6... Qxg2 $144 $11) 7. Bxd5 Kxd5 8. Kd2 Kc4 9. Kc1 Kb3 10. Kb1 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Запорізька правда date: 1962 distinction: 1st Honorable Mention algebraic: white: [Ka3, Bd7, Ph4, Pg5, Pg3, Pg2, Pd3, Pb5, Pb4, Pb3] black: [Ka1, Ph5, Pb7, Pa2] stipulation: + solution: | 1. Bf5 $1 (1. d4 $143 b6 $1 2. Be8 Kb1 3. Bg6+ Ka1 4. g4 hxg4 5. Bh7 g3 6. g6 Kb1 7. g7+ Ka1 8. Bg8 Kb1 9. Bh7+ Ka1 $11) 1... b6 $1 2. Bh7 $3 Kb1 3. d4+ Ka1 4. g6 $1 Kb1 5. g7+ Ka1 6. g4 $1 hxg4 7. g8=R $1 (7. g8=Q $143 g3 $11) 7... g3 8. Rg6 $18 1-0 --- authors: - Брон, Владимир Акимович source: Československý šach date: 1963 distinction: 1st Honorable Mention algebraic: white: [Kf3, Rf5, Pb2] black: [Kh2, Bc1, Ba2, Sg2] stipulation: "=" solution: | 1. Rh5+ Kg1 2. Ra5 Be6 (2... Bc4 $144 3. Rc5 Ne3 (3... Ne1+ $144 4. Kg3 Bf4+ 5. Kxf4 Nd3+ 6. Ke3 Nxc5 $11 7. Kd4 $11) 4. b3 $11) 3. Ra1 Ne1+ 4. Ke2 Bg4+ 5. Kxe1 Bxb2 6. Rc1 (6. Ra2 $143 Bc3+ 7. Rd2 Kh1 $1 $19) 6... Bxc1 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Lidová demokracie date: 1963 distinction: 1st Prize algebraic: white: [Kb2, Qh5, Ba5] black: [Kf6, Qa7, Sa1, Ph7, Pf7, Pd7, Pb7, Pb3, Pa6] stipulation: + solution: | 1. Bc3+ Ke7 2. Qe5+ Kd8 3. Ba5+ b6 4. Qc5 Qb8 5. Bxb6+ Ke8 6. Qe3+ Kf8 7. Bc5+ d6 8. Qe5 Qd8 9. Bxd6+ Kg8 10. Qg3+ Kh8 11. Be5+ f6 12. Qg5 $18 1-0 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1964 algebraic: white: [Kb5, Bf7, Sg2, Pd5] black: [Ka8, Ba7, Sf5, Ph4, Pc7] stipulation: "=" solution: | 1. Nxh4 Nxh4 2. Kc6 Bb8 (2... Kb8 $144 3. d6 cxd6 4. Kxd6 $11) 3. d6 $1 cxd6 4. Bd5 Ka7 5. Be4 Ka6 6. Bd3+ Ka7 (6... Ka5 $144 7. Kb7 $11) 7. Be4 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet date: 1964 algebraic: white: [Kg2, Re1, Sf3, Ph4, Pg7, Pe6, Pd3, Pc6, Pa6] black: [Kb1, Qa1, Ra2, Bd5, Sc1, Ph6, Pe7, Pc7, Pc2, Pb2, Pa7, Pa3] stipulation: + solution: | "1. g8=N $1 (1. g8=Q $143 Bxf3+ 2. Kh2 Bd1 $1 $19) 1... h5 $1 2. Nf6 $1 exf6 3. e7 Bxf3+ (3... f5 $144 4. e8=N f4 5. Nd6 cxd6 6. c7 Bc6 7. c8=N (7. c8=Q $144 Bxf3+ (7... Bd5 $144 8. Qc4 {par exemple} Ba8 9. Qe4 Bxe4 10. dxe4 d5 11. Nd2#) 8. Kxf3 d5 9. Qb7 d4 10. Qb6 $18) 7... Bd5 8. Nb6 axb6 9. Kf2 Bxf3 10. Kxf3 $18 ) 4. Kxf3 f5 5. e8=N f4 6. Nd6 cxd6 7. c7 d5 8. c8=N d4 9. Nb6 axb6 10. a7 b5 11. a8=N b4 12. Nb6 b3 13. Ke4 $1 f3 14. Nc4 f2 15. Nd2# 1-0" --- authors: - Брон, Владимир Акимович source: Springaren date: 1964 distinction: 2nd Honorable Mention algebraic: white: [Kh3, Rb8, Ph6, Ph2, Pd5, Pc5] black: [Ke3, Rh7, Ph4, Pg5, Pe7, Pc7] stipulation: + solution: | 1. Kg4 $1 (1. d6 $143 exd6 2. Kg4 dxc5 $1 3. Kxg5 c4 $1 4. Kg6 c3 5. Re8+ Kd2 6. Rd8+ Ke2 $11) 1... Rxh6 2. d6 exd6 (2... cxd6 $144 3. c6 $18) 3. Re8+ $1 Kd4 4. Kxg5 Rh7 5. Kg6 Rd7 6. c6 $1 $18 1-0 --- authors: - Брон, Владимир Акимович source: FIDE Ty date: 1964 distinction: 2nd Prize algebraic: white: [Kd1, Bh5, Bf4, Sc6, Sa8] black: [Kb7, Pg2, Pb2] stipulation: + solution: | 1. Na5+ $1 Ka6 2. Nc7+ Kxa5 3. Bd2+ Ka4 4. Be8+ Kb3 (4... Ka3 $144 5. Nb5+ Ka2 6. Nc3+ Ka1 7. Be3 b1=Q+ 8. Nxb1 Kxb1 9. Bd4 $18) 5. Bf7+ Ka4 6. Kc2 b1=Q+ 7. Kxb1 g1=Q+ 8. Ka2 Qg8 9. Bd5 $1 Qf7 10. Ne6 Kb5 11. Nd4+ Ka4 12. Bb3+ Qxb3+ 13. Nxb3 $18 1-0 --- authors: - Брон, Владимир Акимович source: Dunder JT date: 1965 distinction: Commendation algebraic: white: [Ke5, Rb1, Pc6] black: [Kh8, Ra8, Bf2, Sa2] stipulation: "=" solution: | 1. c7 Bg3+ (1... Kg7 $144 2. Rb7 Kg6 3. Ke6 $11) (1... Rc8 $144 2. Ke6 $1 Rxc7 (2... Bg3 $144 3. Rh1+ Kg7 4. Rg1 $11) 3. Rb2 $11) 2. Ke6 $1 (2. Kf6 $143 Rf8+ 3. Ke7 Rc8 4. Rh1+ Kg8 $1 5. Rg1 Rxc7+ 6. Ke6 Rg7 $19) 2... Bxc7 (2... Nc3 $144 3. Rh1+ Kg7 4. Rg1 Ne2 5. Rxg3+ $1 Nxg3 6. Kd7 $11) 3. Kf7 Bh2 $1 (3... Ra7 $144 4. Rh1+ Bh2+ 5. Kf6 Rh7 6. Ra1 $11 {transpose}) 4. Rh1 Ra7+ 5. Kf6 $1 (5. Kg6 $143 Rg7+ 6. Kf6 Rg2 $19) 5... Rh7 (5... Ra6+ $144 6. Kg5 $1 Ra5+ 7. Kg6 $11) 6. Ra1 $1 Ra7 7. Rh1 Rh7 8. Ra1 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet date: 1965 distinction: 3rd Prize algebraic: white: [Kh6, Sg5, Sg4, Ph3, Pd6, Pa7, Pa3] black: [Kf8, Rb2, Ba8, Pf7, Pe7, Pc5, Pa4] stipulation: + solution: | 1. d7 Rd2 2. Ne5 f6 (2... c4 3. Ngxf7 c3 4. d8=Q+ Rxd8 5. Nxd8 c2 6. Ne6+ Ke8 7. Nd3) 3. Ng6+ (3. Ne6+ Kg8 4. d8=Q+ Rxd8 5. Nxd8 fxe5 6. Ne6 c4 7. Nc7 c3 8. Nxa8 c2 9. Nb6 c1=Q+) 3... Kg8 4. Nxe7+ Kf8 5. Ng6+ Kg8 6. Ne4 Bxe4 (6... Rd1 7. Nxc5 Kf7 8. Nf4 Rd2 9. Nfe6) (6... Rxd7 7. Nxf6+) 7. Ne7+ Kf7 8. Nd5 $1 { Nowotny} Rh2 (8... Rd3 9. h4 Rh3 10. h5 Bf3 11. d8=N+) (8... Rxd5 9. a8=Q) ( 8... Bxd5 9. d8=Q) 9. d8=N+ $1 Kf8 10. Ne6+ Kf7 11. Ng5+ fxg5 12. a8=Q 1-0 --- authors: - Брон, Владимир Акимович source: «64» date: 1969 algebraic: white: [Ka3, Qa4, Ba8, Pe6, Pd6, Pb4, Pa5] black: [Ka7, Qc4, Rg7, Bh3, Pe5, Pb6] stipulation: + solution: | "1. axb6+ $1 Kb8 $1 2. Qe8+ Qc8 3. d7 $1 Rxd7 4. exd7 Bxd7 5. Qxe5+ Kxa8 6. Qa5+ Kb7 7. Qa7+ Kc6 8. b7 $1 Qxb7 (8... Qh8 $144 9. b8=N+ $1 $18 (9. b8=Q $143 Qc3+ 10. Ka4 Qc2+ 11. Ka3 $11)) 9. Qc5# 1-0" --- authors: - Брон, Владимир Акимович - Олимпиев, Бронислав Григорьевич source: Шахматы в СССР date: 1970 distinction: 3rd Commendation algebraic: white: [Ke1, Se8, Ph3, Ph2, Pg6, Pe5, Pe3, Pc2, Pa6] black: [Ke7, Rf5, Ph6, Pf7, Pe6, Pa7] stipulation: + solution: | 1. g7 Rg5 2. h4 Rg6 3. h5 Rg4 4. h3 Rg5 5. h4 Rg4 6. Nf6 $1 Rxg7 7. Kf2 Kd8 8. c3 $1 (8. c4 $143 Kc8 9. c5 Kb8 10. c6 Ka8 $1 $11) 8... Kc8 9. c4 Kb8 10. c5 Ka8 11. c6 Kb8 12. c7+ Kc8 13. e4 $1 $18 1-0 --- authors: - Брон, Владимир Акимович source: Szachy date: 1970 distinction: 1st-2nd Honorable Mention algebraic: white: [Kg7, Rd5, Be5, Sb7, Pb3, Pb2] black: [Kc6, Ra1, Bc1, Pf7, Pa6] stipulation: + solution: | "1. Ra5 $1 Rxa5 2. Nxa5+ Kb5 3. Bc3 $1 (3. Nc4 $143 Kb4 4. Kxf7 Kxb3 $11) 3... Bxb2 $1 4. Bxb2 Kxa5 5. Ba3 $1 (5. Bc3+ $143 Kb5 6. Kxf7 a5 7. Ke6 a4 8. b4 a3 $11) 5... f5 6. Kf6 $1 f4 7. Ke5 $1 f3 8. Kd4 $1 f2 (8... Kb6 $144 9. Ke3 $18) 9. Kc5 f1=Q 10. Bb4# 1-0" --- authors: - Брон, Владимир Акимович source: Hungarian Chess Federation Ty Magy date: 1970 distinction: 2nd Honorable Mention algebraic: white: [Kf3, Sd8, Pd6, Pd5, Pc5] black: [Kb4, Sf7, Ph7, Pe3, Pd7] stipulation: + solution: | 1. c6 (1. Nxf7 $143 Kxc5 2. Kxe3 Kxd5 3. Kf4 Ke6 $11) 1... Nxd6 $1 (1... Nxd8 $144 2. c7 $18) (1... dxc6 $144 2. Nxf7 $18) 2. cxd7 Kc4 $1 (2... Kc5 $144 3. Ne6+ $18) 3. Kxe3 $1 Kxd5 4. Ke2 $1 (4. Kd3 $143 h6 $1 5. Ke2 Ke4 6. Ne6 Nf7 $11) 4... h6 $1 5. Kd3 h5 (5... Kc5 $144 6. Ne6+ $18) (5... Ke5 $144 6. Nc6+ $18) (5... Ne4 $144 6. Nb7 $18) 6. Ke2 $1 h4 7. Kf1 $1 (7. Kf3 $143 h3 8. Kg3 Nf5+ 9. Kxh3 Kd6 $11) 7... h3 8. Kg1 Ke4 (8... Kc4 $144 9. Nc6 Nb7 10. Na5+ $18 ) 9. Ne6 $1 Nb7 10. Nc5+ $18 1-0 --- authors: - Брон, Владимир Акимович source: Farago MT, Revista Română de Şah date: 1971 distinction: 1st Honorable Mention algebraic: white: [Ke2, Rf5, Sh2, Pf2, Pe4, Pa2] black: [Kg1, Qh8, Pf4, Pe6, Pe5, Pa4] stipulation: + solution: | 1. Nf3+ Kg2 $1 (1... Kh1 $144 2. Rg5 $18) 2. Rg5+ Kh3 3. Rg6 $1 (3. Rg1 $143 a3 $1 4. Rh1+ Kg2 5. Rh4 Qh5 $1 6. Rxh5 $11) 3... a3 $1 (3... Qh5 $144 4. Rg7 $1 Qh6 5. Rh7 $1 Qxh7 6. Ng5+ $18) 4. Rg1 $1 Qh6 $1 5. Kf1 $1 (5. Rh1+ $143 Kg2) 5... Qg7 $1 6. Rh1+ $1 Kg4 7. Ke2 $1 (7. Kg2 $143 Qh8 $1 8. Rh2 Qh3+ $1 9. Rxh3 $11) 7... Qh8 $1 8. Rh2 $1 Qf6 9. Rh7 $1 Qd8 10. Nxe5+ Kg5 11. Nf7+ $18 1-0 --- authors: - Брон, Владимир Акимович source: Szachy date: 1971 distinction: 2nd Honorable Mention algebraic: white: [Kh3, Re1, Pf6, Pf2, Pc6] black: [Ka7, Rd6, Ph7, Ph4, Pf4, Pc7, Pa6] stipulation: + solution: | 1. f7 Rf6 2. Re7 Kb6 (2... a5 $144 3. Rxc7+ Kb6 4. Re7 Kxc6 5. Re6+ $18) 3. Kxh4 h6 4. f3 a5 (4... Kc5 $144 5. Rxc7 Kd6 6. Ra7 a5 7. c7 Kd7 8. c8=Q+ Kxc8 9. Ra8+ $18) (4... Rf5 $144 5. Kg4 Rf6 6. Kh5 $18) 5. Kh5 a4 6. Re8 Rxf7 7. Kg6 $18 1-0 --- authors: - Брон, Владимир Акимович source: Armenian Central Chess Club Ty date: 1975 distinction: 3rd Prize algebraic: white: [Kg4, Rg1, Pf5, Pb5] black: [Kc4, Rb2, Bh8, Bh7] stipulation: "=" solution: | 1. Rh1 Rg2+ 2. Kf4 $1 Rg7 3. Rc1+ Kxb5 4. Rc8 Rg8 (4... Bg8 $144 5. f6 Rg1 6. f7 $11) 5. Rc7 Rg7 6. Rc8 Rg8 7. Rc7 Bg7 8. Ke4 $1 Kb6 9. Rf7 $1 (9. Rd7 $143 Kc6 10. Rf7 Kd6 11. Kf3 Ke5 12. f6 Be4+ 13. Kf2 Bxf6 $19) 9... Kc6 10. Kf3 $1 Kd5 (10... Kd6 $144 11. f6 $11) 11. Ke2 $1 Kd4 (11... Kc4 $144 12. Kf3 $11) 12. Kf2 Ke5 13. f6 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Peckover JT EG date: 1976 distinction: 2nd Prize algebraic: white: [Ke8, Rf6, Bg2, Pc3] black: [Kc2, Rd5, Ra3, Sg8] stipulation: "=" solution: | 1. Be4+ $1 (1. Bxd5 $143 Nxf6+ 2. Kf7 Nxd5 $19) 1... Kc1 $1 (1... Kxc3 $144 2. Rf3+ Kb4 3. Bxd5 $11) 2. Rf1+ Rd1 3. Rxd1+ Kxd1 4. Kf7 Nh6+ (4... Ra4 $144 5. Bf3+ $11) 5. Kg7 $1 Ra6 (5... Ng4 $144 6. Bf3+ $11) 6. Bd3 $1 Rc6 $1 (6... Rb6 $144 7. Bg6 Ng4 8. Bh5 Rb4 $11) 7. Be4 $1 Re6 (7... Rb6 $144 8. Bg6 Ng4 9. Bh5 $11) 8. Bg6 Ng4 9. Bf5 Re7+ 10. Kf8 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: МК А.Троицкий, Молодой ленинец (Пенза) date: 1976 distinction: 1st Prize algebraic: white: [Ka4, Ba3, Sg7, Pe4, Pd7, Pd2, Pc5] black: [Kf8, Be7, Bb1, Sd8, Sa2, Pe6] stipulation: "=" solution: | 1. c6 $1 Nxc6 2. Nxe6+ (2. Kb3 $143 Nc1+ 3. Bxc1 (3. Kb2 Nd3+ $1 4. Kxb1 Bxa3) 3... Kxg7 $19) (2. Bxe7+ $143 Kxe7 3. Kb3 Nab4 $19) 2... Kf7 3. d8=N+ (3. d8=Q $143 Bc2+ 4. Kb5 Nxd8 $19) (3. Bxe7 $143 Kxe7 4. d8=Q+ Nxd8 5. Nxd8 Bxe4 $1 $19 ) 3... Nxd8 4. Nxd8+ Bxd8 5. Kb3 Bf6 6. e5 $1 (6. Bb2 $143 Bg5 7. Bh8 Kg8 8. Be5 Nc1+ 9. Kb2 Nd3+) 6... Bxe5 7. Bb2 Bd6 8. Ba3 $1 (8. d4 $143 Bf4 $19) 8... Be5 9. Bb2 Bf4 10. Bh8 $1 (10. Ba3 $143 Bxd2 $1 11. Kb2 Nc3 12. Bb4 Nd1+ $19) ( 10. Bd4 $143 Nc1+ 11. Kb2 Ne2 $19) 10... Kg8 $1 11. Bf6 (11. Be5 $143 Nc1+ 12. Kb2 Nd3+ $19) (11. Ba1 $143 Bxd2 12. Kb2 Nc3 $19) 11... Kf7 12. Bh8 $1 Kg8 13. Bf6 $1 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Szachy date: 1976 algebraic: white: [Kd3, Rh3, Se7, Ph6, Pc4] black: [Kf8, Pg2, Pc5, Pb2] stipulation: + solution: | "1. Ng6+ $1 (1. Rf3+ $143 Ke8 $1 $19) 1... Kf7 $1 (1... Ke8 $144 2. Re3+ Kd7 3. Re1 $18) (1... Kg8 $144 2. h7+ Kf7 3. Rf3+ Kxg6 4. Rg3+ Kxh7 5. Kc2 $18) 2. Rf3+ Kg8 $1 3. Ne7+ $1 Kh8 4. Rf8+ Kh7 5. Rf7+ Kxh6 (5... Kh8 $144 6. Ng6+ Kg8 7. Rg7#) 6. Nf5+ Kg6 7. Rg7+ $1 Kh5 $1 8. Rb7 $1 (8. Ng3+ $143 Kh4 $1 9. Rb7 Kxg3 10. Kc2 g1=Q 11. Rg7+ Kf2 12. Rxg1 Kxg1 13. Kxb2 $11) 8... b1=Q+ $1 9. Rxb1 g1=Q $1 10. Ng7+ $3 Qxg7 11. Rh1+ Kg6 12. Rg1+ Kf6 13. Rxg7 Kxg7 14. Ke4 $18 1-0" --- authors: - Брон, Владимир Акимович source: Szachy date: 1977 distinction: 1st Prize algebraic: white: [Kf3, Ra5, Bh4, Pg6, Pb4, Pb2] black: [Kb6, Qc7, Pg7, Pc6] stipulation: + solution: | 1. Bf2+ c5 $1 2. Rxc5 $1 Qb7+ 3. Kg3 $1 (3. Ke2 $143 Qe4+ 4. Be3 Kb7 $11) 3... Qb8+ 4. Kh3 $1 (4. Kg2 $143 Qa8+ 5. Kg1 Kb7 $1 $11) 4... Qb7 (4... Kb7 $144 5. Rb5+ Ka6 6. Rb6+ Qxb6 7. Bxb6 Kxb6 $18) 5. Kh2 $1 Qb8+ 6. Kg1 Qb7 7. b3 $3 Qb8 8. Rc8+ Ka6 $1 9. Rc6+ $1 Kb5 10. Rb6+ $18 1-0 --- authors: - Брон, Владимир Акимович source: Themes 64 date: 1978 distinction: 1st Prize algebraic: white: [Ke2, Ba5, Sc3, Pg6, Pg2, Pd5, Pb2] black: [Kc5, Ra6, Bb8, Pf5, Pf4, Pb7, Pa7] stipulation: + solution: | 1. Bb6+ Rxb6 2. Na4+ Kxd5 (2... Kb5 $144 3. Nxb6 Be5 4. Nc4 $1 Bg7 5. b4 Bf8 6. Kf3 $18) 3. Nxb6+ Ke6 4. Nd7 f3+ (4... Bc7 $144 5. g7 Kf7 6. Nf6 Kxg7 7. Ne8+ $18) (4... Bd6 $144 5. g7 Kf7 6. Nf6 Kxg7 7. Ne8+ $18) 5. gxf3 Bh2 (5... Bf4 $144 6. g7 Kf7 7. Nf6 Kxg7 8. Nh5+ $18) (5... Bc7 $144 6. g7 Kf7 7. Nf6 Kxg7 8. Ne8+ $18) (5... Bd6 $144 6. g7 Kf7 7. Nf6 Kxg7 8. Ne8+ $18) (5... Bg3 $144 6. g7 Kf7 7. Nf6 Kxg7 8. Nh5+ $18) 6. Kf1 f4 7. Ne5 Kf6 8. Ng4+ Kxg6 9. Nxh2 $18 1-0 --- authors: - Брон, Владимир Акимович source: Československý šach date: 1980 algebraic: white: [Kh2, Qa2, Rd5, Bb3, Ph3, Pf2] black: [Kf3, Qa3, Rh6, Bc2, Pd3, Pb4] stipulation: "=" solution: | 1. Rxd3+ Bxd3 2. Qd2 Rxh3+ 3. Kxh3 Bf1+ (3... Bf5+ $144 4. Kh2 Qxb3 5. Qd1+ Qxd1 $11) 4. Kh4 Qxb3 5. Qd5+ Qxd5 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Szachy date: 1980 algebraic: white: [Kh3, Rd7, Rc7, Ph5, Ph2, Pc2] black: [Kh6, Ba6, Pg7, Pg5, Pf3, Pe2, Pc3] stipulation: "=" solution: | 1. Rc6+ (1. Rd6+ $143 Kxh5 2. Rxg7 Bc8+ $19) 1... Kxh5 2. Rxg7 g4+ (2... Bd3 $144 3. cxd3 g4+ 4. Rxg4 e1=Q 5. Rc5+ Kh6 6. Rc6+ Kh7 7. Rc7+ Kh8 8. Rc8+ $11) 3. Rxg4 e1=Q (3... f2 $144 4. Rc5+ Kh6 5. Kh4 $18) 4. Rc5+ Kh6 5. Rc6+ Kh7 6. Rc7+ Kh8 7. Rc8+ $1 Bxc8 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Friendship-200 JT Achalgazdra Kommunisti date: 1983 distinction: 3rd Honorable Mention algebraic: white: [Kd4, Qa2, Sc8, Pc5, Pa7] black: [Ka8, Bc1, Sf6, Sd1, Pd6, Pd2, Pc7, Pb2] stipulation: "=" solution: | 1. Nb6+ cxb6 2. cxb6 b1=Q 3. Qxb1 Nb2 4. b7+ Kxb7 5. a8=Q+ Kxa8 6. Qa2+ Kb8 7. Qb3+ Kc7 8. Qc2+ Kd8 9. Qxd2 Bxd2 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Ukrain Ty date: 1983 distinction: 1st Prize algebraic: white: [Ke5, Rb3, Ba5, Ph7, Pb4] black: [Ke7, Bc1, Ph3, Pa2] stipulation: + solution: | 1. Bd8+ (1. Bb6 $143 a1=Q+ 2. Bd4 Bf4+ 3. Ke4 Qe1+ $19) 1... Kf7 (1... Kd7 $144 2. Rd3+ Kc6 3. Rc3+ Kb5 4. Rxc1 $18) 2. Rf3+ Kg6 3. h8=N+ Kh7 (3... Kh5 $144 4. Kf5 $18) 4. Rxh3+ Kg8 5. Rg3+ Kh7 (5... Kf8 $144 6. Ke6 $18) 6. Rg7+ Kxg7 7. Bf6+ Kg8 (7... Kh7 $144 8. Ke6 $11 Bh6 9. Kf7 a1=Q 10. Bxa1 Bg7 11. Bf6 $18) 8. Kf5 Bh6 9. Kg6 a1=Q 10. Bxa1 Bg7 11. Bf6 (11. Bxg7 $143 $11) 1-0 --- authors: - Брон, Владимир Акимович source: 64 — Шахматное обозрение date: 1985 distinction: 3rd Prize algebraic: white: [Kb6, Rc1, Bg1, Pd6, Pc3] black: [Kc8, Rd8, Bb4, Se8, Sa2] stipulation: "=" solution: | 1. Ra1 $1 Nxc3 2. Ra8+ $1 Kd7 3. Rxd8+ Kxd8 4. Kc6 $1 Bxd6 5. Bb6+ $1 Kc8 6. Bc5 Bc7 7. Bb6 Bb8 8. Ba7 $1 Bf4 9. Be3 Bg3 10. Bf2 Bh2 11. Bg1 Be5 12. Bd4 Bxd4 $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1950 distinction: 1st Prize algebraic: white: [Ke6, Bb1, Sc3, Ph4, Pg5] black: [Kh7, Ba8, Sf3, Pg6] stipulation: + solution: | "1. h5 $1 Nxg5+ (1... Kg7 $144 2. h6+ Kh7 3. Kf6 Nh4 4. Ne2 Bc6 5. Nf4 Be8 6. Bc2 $18) 2. Kf6 Ne4+ (2... Kh6 $144 3. hxg6 Bc6 4. g7 Nh7+ 5. Bxh7 Kxh7 6. Kf7 Be8+ 7. Kf8 $18) 3. Nxe4 gxh5 4. Ng5+ Kh8 $1 (4... Kh6 $144 5. Nf7#) (4... Kg8 $144 5. Ba2+ Kh8 (5... Kf8 $144 6. Bf7 $1 $18) 6. Be6 h4 7. Kf7 h3 8. Kf8 h2 9. Nf7+ Kh7 10. Bf5#) 5. Ba2 $1 Bb7 (5... h4 $144 {main} 6. Kf7 $1 h3 7. Kf8 h2 8. Nf7+ Kh7 9. Bb1+ Be4 10. Bxe4#) 6. Kf7 $1 Ba6 $1 7. Kf8 Bd3 8. Bg8 $1 Bg6 9. Bh7 $1 Bxh7 10. Nf7# 1-0" --- authors: - Брон, Владимир Акимович source: Assiac JT EG date: 1972 distinction: 1st Prize algebraic: white: [Ka7, Re8, Bd5, Ba5, Pf2, Pc5, Pa2] black: [Kc7, Qf1, Sa8, Pg4, Pd7, Pb6, Pb2] stipulation: + solution: | 1. Rc8+ $1 Kxc8 2. cxb6 Qa6+ $1 (2... Kd8 $144 3. b7+ Ke7 4. b8=Q $1 b1=Q 5. Qe5+ Kf8 6. Qf6+ Ke8 7. Bf7+) 3. Kxa6 Nc7+ $1 4. Ka7 $1 Nb5+ 5. Ka8 $1 Nc7+ 6. bxc7 b1=Q 7. a4 $1 Qb2 8. Bh1 $1 (8. Bg2 $143 g3 $19) (8. Be4 $143 Qb3 $1 9. Ka7 g3 10. fxg3 Qe3+ $19) 8... Qb1 $1 9. Bg2 $1 (9. Bd5 Qb2 {no progress}) 9... Qb3 $1 10. Be4 $1 Qb2 11. Bd5 $1 Qb1 12. Ka7 Qb2 13. Bb6 Qxb6+ 14. Kxb6 $18 1-0 --- authors: - Брон, Владимир Акимович source: Шахматный бюллетень date: 1971 algebraic: white: [Kc1, Bb7, Pg6, Pe5, Pb6] black: [Kh8, Bd8, Pg7, Pd6, Pd3] stipulation: + solution: | "1. e6 $1 d2+ $1 (1... Kg8 2. e7 d2+ 3. Kb2 $1 Bxe7 4. Bd5+ Kf8 5. b7 Bf6+ 6. Ka2 $1 d1=Q 7. b8=Q+ Ke7 8. Qc7+ Ke8 9. Bc6+ Kf8 10. Qf7#) 2. Kxd2 $1 Kg8 3. e7 $1 (3. Bd5 $2 Kf8 4. b7 Bc7 5. Kc3 Bb8 6. Kb4 Ke7 7. Kb5 Kd8 8. Kc6 Ke7) 3... Bxe7 4. Bd5+ Kh8 $1 5. b7 Bd8 $1 6. b8=N $1 (6. b8=Q $2) (6. b8=B $2 Bc7 $1 7. Ba7 Bb6 8. Bxb6) 6... Bf6 7. Kd3 Be5 8. Kc4 Bf6 9. Kb5 Be5 10. Kc6 Bf6 11. Kd7 Be5 12. Ke8 Bc3 $1 13. Nc6 $1 Bf6 $1 14. Kf7 (14. Kf8 $2 Be7+ $1) 14... Bh4 15. Nd4 Bg5 16. Ne6 Bf6 $1 17. Nc7 $1 Be5 (17... Bg5 18. Ne8 Bh6 19. Ba2 d5 20. Bxd5 Bg5 21. Nxg7) 18. Ne8 $1 Bd4 19. Kf8 $1 Bc3 20. Nc7 $1 Bf6 (20... Ba5 21. Ne6 $1 Bc3 22. Nd8) 21. Bg8 $1 Be5 22. Kf7 Bf6 (22... d5 23. Nxd5 $1) 23. Bh7 $1 Be5 24. Ke6 Bf4 25. Nb5 d5 26. Kxd5 Be5 27. Ke6 Bg3 28. Nc3 Be5 29. Ne4 Bf4 30. Kd5 1-0" --- authors: - Брон, Владимир Акимович source: Drosha Ty date: 1966 distinction: 5th Prize algebraic: white: [Kf1, Rh2, Bh3, Pf6, Pe3, Pa7] black: [Ka8, Rh4, Rg4, Bd7] stipulation: + solution: | 1. f7 (1. Bxg4 $2 Rxh2 2. f7 (2. Bxd7 $2 Rh6) 2... Bb5+ 3. Kg1 Rh8) 1... Rf4+ $1 (1... Rh8 2. Bxg4 Rf8 3. Bf3+ Kxa7 4. Bd5) 2. exf4 Bxh3+ $1 (2... Rxf4+ 3. Rf2 Bxh3+ 4. Kg1 Rxf7 5. Rxf7) 3. Kg1 (3. Ke1 $2 Rxf4 4. Rf2 Re4+ 5. Kd1 Rd4+) (3. Ke2 $2 Rxf4 4. Rf2 Rxf7 $1 (4... Bf1+ $2 5. Ke3 (5. Rxf1 $2 Rxf7 6. Rxf7) 5... Rxf7 6. Rxf7 Ba6 7. Kd4 Bb7 8. Kc5 Kxa7 9. Kb5) 5. Rxf7 Bg2 6. Kd3 (6. Rf2 Bb7) 6... Bb7 7. Kc4 Bd5+ 8. Kxd5) 3... Rg4+ 4. Rg2 $3 Rxf4 (4... Rxg2+ 5. Kh1) 5. Rf2 Rxf7 6. Rxf7 Be6 (6... Bd7 7. Rf8+ Kxa7 8. Rf7) 7. Rc7 $1 (7. Re7 $2 Bc4 $1 (7... Bd5 8. Re5) 8. Kf2 Ba6 9. Ke3 Bb7 10. Kd4 Kxa7 11. Kc5 Ka6 $1) 7... Bd5 8. Rc5 Bb7 9. Ra5 1-0 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1940 algebraic: white: [Ke1, Rg2, Bc3, Ba8, Pe2, Pa2] black: [Kh1, Qe8, Ph4, Ph2, Pf5, Pe3, Pd3, Pa4, Pa3] stipulation: + solution: | 1. Bf3 d2+ 2. Kd1 Qe4 3. Bxe4 fxe4 4. Rg8 $1 {Indian} h3 5. Bg7 $1 Kg2 6. Be5+ Kh1 7. Bg3 $1 Kg2 8. Bf4+ Kh1 9. Bg5 $1 Kg2 10. Bxe3+ Kf1 11. Rf8+ Kg2 12. Rf2+ Kg3 13. Rxh2 1-0 --- authors: - Брон, Владимир Акимович source: Shakhmaty date: 1940 algebraic: white: [Kb7, Rh3, Pf3, Pd2, Pa6, Pa2] black: [Kd1, Rc5, Ph5, Pf4, Pd4, Pd3, Pa3] stipulation: + solution: | 1. a7 Ra5 2. Rh2 Kc2 3. a8=Q Rxa8 4. Kxa8 Kb2 5. Rxh5 ({duals} 5. Kb7 $1) (5. Ka7) 5... Kxa2 6. Rb5 ({duals} 6. Ka7 $1 Kb2 7. Kb6 Kc2 8. Kc5 Kxd2 9. Kxd4 $18 ) (6. Kb7) 6... Ka1 7. Rb8 $1 {Indian} a2 8. Kb7 Kb2 9. Kc6+ Kc2 10. Ra8 Kxd2 11. Rxa2+ Ke3 12. Kd5 d2 13. Rxd2 Kxd2 14. Kxd4 1-0 --- authors: - Брон, Владимир Акимович source: Ty date: 1949 distinction: Prize algebraic: white: [Ka8, Rb5, Be2, Pg4, Pe3, Pa2] black: [Kh1, Bg1, Ba4, Ph2, Pg3, Pd6, Pd5, Pa3] stipulation: + solution: | "1. Bf3+ g2 2. Rb1 Bc2 3. Ra1 $1 {Indian?} Be4 (3... d4 $5) 4. Bxe4 dxe4 5. g5 d5 6. g6 d4 7. g7 d3 8. g8=B $1 {Phoenix} d2 9. Bb3 d1=Q 10. Bxd1 Bf2 11. Bc2+ Bg1 12. Bb1 Bf2 13. Kb7 $1 1-0" --- authors: - Брон, Владимир Акимович source: Lelo date: 1962 algebraic: white: [Ke4, Rf1, Ba8, Pf2, Pc6, Pc3, Pa4, Pa2] black: [Kh1, Bg1, Ph2, Pg3, Pd4, Pc7, Pb5, Pa3] stipulation: + solution: | 1. Kf3 g2 $1 (1... gxf2 2. Bb7 bxa4 3. Bc8 d3 4. Bh3) (1... dxc3 2. Kxg3 $1 c2 3. Rc1 $1 bxa4 4. Rxc2 Bxf2+ 5. Rxf2 Kg1 6. Rxh2) 2. Ra1 $1 bxa4 (2... dxc3 3. axb5 c2 4. b6) 3. Bb7 d3 $1 (3... dxc3 4. Bc8 c2 5. Bh3) 4. Ba6 $1 d2 5. Be2 d1=Q 6. Bxd1 Bxf2 7. Bc2+ Bg1 (7... g1=Q 8. Be4 $1 Qe1 $1 9. Rxe1+ Bxe1 10. Ke2+ Kg1 11. Kxe1 h1=Q 12. Bxh1 Kxh1 13. Kf2 Kh2 14. c4 $1) (7... g1=N+ 8. Kg4 $1 Kg2 9. Be4+) 1-0 --- authors: - Брон, Владимир Акимович source: Karseladze MT Lelo date: 1970 distinction: 2nd Honorable Mention algebraic: white: [Kc1, Sb7, Ph7, Pd7, Pd3, Pd2, Pc7, Pc5, Pa6] black: [Ka1, Qb3, Pa7] stipulation: + solution: | 1. h8=Q+ Ka2 2. Qg8 $1 Ka1 (2... Qxg8 3. c8=Q) 3. Qg7+ (3. Qxb3 $2) 3... Ka2 4. Qf7 Ka1 5. Qf6+ Ka2 6. Qe6 Ka1 7. Qe5+ Ka2 8. Qd5 Qxd5 (8... Ka1 9. Qd4+ Ka2 10. Qc4 Ka1 11. Qc3+) 9. c8=Q Qb3 $1 (9... Qh1+ 10. Kc2 Qb1+ 11. Kc3) 10. Qg8 $1 Ka1 11. Qg7+ Ka2 12. Qf7 Ka1 13. Qf6+ Ka2 14. Qe6 Ka1 15. Qe5+ Ka2 16. Qd5 Qxd5 17. d8=Q Qb3 18. Qa5+ 1-0 --- authors: - Брон, Владимир Акимович source: Lelo date: 1962 distinction: 2nd Honorable Mention algebraic: white: [Ka2, Ra5, Bf1, Sg5] black: [Ke7, Rd6, Pg2] stipulation: + solution: | "1. Ra7+ $1 (1. Bxg2 $2 Rd2+) 1... Ke8 (1... Kf6 2. Ne4+ Ke5 3. Bxg2) (1... Kf8 2. Nh7+ Kg8 (2... Ke8 3. Bb5+ Kd8 4. Rg7) 3. Bc4+) (1... Kd8 2. Nf7+ Kc8 3. Nxd6+) 2. Bb5+ Kf8 (2... Kd8 3. Nf7+ Kc8 4. Nxd6+ Kb8 5. Rg7) 3. Nh7+ $1 (3. Rf7+ $2 Kg8 4. Bc4 Rc6 $1 5. Bb3 Rb6 6. Rf2+ Rxb3) (3. Nf3 $2 Rf6 4. Ng1 Rf1) ( 3. Nh3 $2 Rh6 4. Ng1 Rh1) 3... Kg8 4. Bc4+ Kh8 5. Ng5 $1 Ra6+ $1 (5... Rh6 6. Nf7+ Kg7 7. Nxh6+ Kxh6 (7... Kg6 8. Bd3+ Kf6 9. Rf7+) (7... Kf6 8. Rf7+ Kg6 9. Bd3+) 8. Bd3 $1 g1=Q 9. Rh7+ Kg5 10. Rg7+) 6. Bxa6 $1 (6. Rxa6 $2 g1=Q 7. Ra8+ Kg7 8. Rg8+ Kh6 $1 9. Nf7+ Kh7 10. Rxg1) 6... g1=Q 7. Rh7+ Kg8 8. Bc4+ Kf8 9. Rf7+ Ke8 10. Bb5+ Kd8 11. Ne6+ Kc8 12. Ba6+ Kb8 13. Rb7+ Ka8 (13... Kc8 14. Rg7+) 14. Nc7# 1-0" --- authors: - Брон, Владимир Акимович source: Merani Заря Востока date: 1970 distinction: 2nd Honorable Mention algebraic: white: [Kc2, Rd4, Rb8, Sd3, Sa5, Ph4] black: [Ka3, Sf6, Se6, Pg7, Pf2, Pc5, Pb5, Pa6, Pa2] stipulation: "=" solution: | 1.Sa5-c4+ b5*c4 2.Rd4*c4 Se6-d4+ 3.Rc4*d4 a2-a1=S+ 4.Kc2-c3 c5*d4+ 5.Kc3-c4 f2-f1=Q 6.Rb8-a8 Ka3-a2 7.Ra8*a6+ Ka2-b1 8.Ra6-b6+ Sa1-b3 9.Rb6*b3+ Kb1-a2 10.Rb3-b5 Qf1-e2 11.Rb5-a5+ Ka2-b1 12.Ra5-b5+ 3...c5*d4 4.Rb8-b3+ Ka3-a4 5.Sd3-c5+ 1...Ka3-a4 2.Sd3-b2+ Ka4-b4 3.Sb2-d3+ --- authors: - Брон, Владимир Акимович source: Молодость Грузии date: 1970 distinction: 2nd Special Honorable Mention algebraic: white: [Kd7, Be2, Sh6, Ph2, Pf3, Pc3, Pb2, Pa2] black: [Kc5, Pg2, Pc6, Pb6, Pb5] stipulation: + solution: | 1. b4+ (1. Ng4 $2 b4 $1) 1... Kd5 2. Ng4 $1 g1=Q 3. Bf1 $1 c5 4. a3 $1 cxb4 ( 4... c4 5. Bg2) 5. axb4 Qh1 (5... Qxf1 6. Ne3+) 6. f4 Ke4 7. Nf2+ 1-0 --- authors: - Брон, Владимир Акимович source: Молодость Грузии date: 1970 distinction: 3rd Prize algebraic: white: [Kh1, Ba6, Sg6, Sg3, Pb7] black: [Kg4, Rf7, Ph4, Pd2] stipulation: + solution: | "1. Be2+ Kh3 $1 2. Nf5 $1 (2. b8=Q $2 d1=Q+ 3. Bxd1 Rf1+ 4. Nxf1) (2. Kg1 $2 Rxb7) 2... Rxf5 3. Kg1 $1 Rf6 (3... d1=Q+ {main} 4. Bxd1 Rb5 5. Nf4+ Kg3 6. Ne2+ $1 Kh3 7. Bc2 $1 Rxb7 (7... Kg4 8. Bf5+ Kg5 9. Be4 Kg4 10. Nc3 Rb4 11. Na4 Kg3 12. Nc5 h3 13. Na6 h2+ 14. Kh1) 8. Bf5#) (3... Rb5 4. Bxb5 d1=Q+ 5. Bf1+ Kg4 6. b8=Q Qd4+ 7. Kh2 $1 Qf2+ 8. Bg2 h3 9. Ne5+ Kg5 10. Qg8+) 4. Nf4+ $1 Rxf4 5. b8=R $1 (5. b8=Q $2 d1=Q+ 6. Bxd1 Rf1+ 7. Kxf1) 5... d1=Q+ 6. Bxd1 Rd4 7. Rb3+ 1-0" --- authors: - Averkin, O. - Брон, Владимир Акимович source: October Revolution JT, Молодость Грузии date: 1977 distinction: 3rd Prize algebraic: white: [Kd3, Bb5, Ba7, Sh3, Sg2] black: [Kd8, Qh4, Bc8, Pg5, Pc5] stipulation: + solution: | "1. Bb6+ $1 (1. Nxh4 $2 Bxh3 2. Bb6+ Kc8 $1 3. Ba6+ Kb8) 1... Ke7 2. Bxc5+ Kd8 ( 2... Kf6 3. Nxh4 Bxh3 4. Bd4+ Ke6 5. Bc4+) 3. Bb6+ $1 Ke7 4. Nxh4 Bxh3 5. Ng6+ $1 Kf6 6. Be8 Bf5+ 7. Ke3 Bxg6 8. Bd4+ Kf5 9. Bd7# 1-0" --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet date: 1958 algebraic: white: [Ka2, Rg6, Bh7, Sd3, Pc6, Pb6, Pb3] black: [Kd5, Rd8, Ra8, Pf7, Pd7, Pb7, Pa4] stipulation: + solution: | "1. Nb4+ (1. cxb7 fxg6 2. Nb4+ Kd6) 1... Kc5 (1... Ke5 2. Rg5+ Kf6 3. cxb7 axb3+ 4. Kxb3 Rab8 (4... Kxg5 5. bxa8=Q Rxa8 6. Be4 Rb8 7. b7 f5 8. Na6) 5. Rb5) 2. cxb7 axb3+ 3. Kxb3 Rab8 (3... fxg6 4. bxa8=Q Rxa8 5. b7 Rb8 6. Na6+) 4. Na6+ Kb5 5. Nxb8 Rxb8 (5... fxg6 6. Nxd7) 6. Rg5+ f5 $1 {repeated Nowotny} 7. Bxf5 Rxb7 8. Be4+ d5 $1 9. Bxd5 Rxb6 10. Bb7# 1-0" --- authors: - Брон, Владимир Акимович source: Československý šach date: 1961 algebraic: white: [Kc5, Rg4, Pe6] black: [Kc8, Rh7, Ba1, Pg6, Pg3] stipulation: "=" solution: | 1. Kd6 $1 Bf6 $1 (1... Bb2 2. Rxg3 $1 Rh6 3. e7) (1... Ra7 2. Rxg6 Ra6+ 3. Kd5 Ra3 4. Rg8+) 2. Rxg6 Bh4 3. e7 $1 {Nowotny} Bxe7+ (3... Rxe7 4. Rg8+ Kb7 5. Rxg3) 4. Kc6 $1 Rh3 5. Rg8+ Bd8 6. Rg6 $1 Ba5 7. Rg8+ Bd8 8. Rg6 { positional draw} 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Rustaveli MT, Вечерний Тбилиси date: 1967 distinction: 3rd Special Prize algebraic: white: [Ke1, Bh1, Bb2, Pg6, Pg4, Pd4] black: [Kf8, Bh8, Sg3, Ph6, Ph3] stipulation: + solution: | "1. g7+ $1 (1. Ba3+ $2 Kg7 $1 2. Bf3 (2. d5 Nxh1 3. Bb2+ Kxg6 4. Bxh8 h2 5. Be5 Ng3) 2... h2 3. d5 Kxg6) 1... Bxg7 (1... Kxg7 2. d5+ Kg6 (2... Kg8 3. Bxh8 Nxh1 4. d6 $1) 3. Bxh8 Nxh1 4. Be5) 2. Ba3+ Kf7 3. Bd5+ Kg6 $1 4. Kf2 Nh1+ $1 (4... Bxd4+ 5. Kxg3 h5 (5... Be5+ 6. Kf3 $1 h2 (6... h5 7. Be4+ Kh6 8. Bc1+) 7. Be4+ $1 Kg5 8. Be7+ Bf6 9. Bxf6+ Kxf6 10. Kf4) 6. Be4+) 5. Bxh1 (5. Ke3 $2 Bxd4+ 6. Kxd4 Nf2) 5... Bxd4+ 6. Kg3 Be5+ 7. Kh4 $1 (7. Kxh3 $2 h5 8. Be4+ Kg5 $1 9. Bc1+ (9. Be7+ Bf6 10. Bxf6+ Kxf6) 9... Bf4 10. Bxf4+ Kxf4 11. gxh5 Kg5) 7... Bf6+ $1 8. Kxh3 h5 9. Be4+ Kh6 10. g5+ $1 Bxg5 (10... Kxg5 11. Bc1#) 11. Bf8# 1-0" --- authors: - Брон, Владимир Акимович source: Kommunist date: 1973 distinction: 1st-3rd Prize algebraic: white: [Ka4, Bc1, Pe6] black: [Kh2, Rf3, Pc3, Pb3, Pa6] stipulation: "=" solution: | 1. e7 (1. Kxb3 $2 Rf2 2. Kxc3 (2. e7 Re2 3. Ba3 c2) 2... Re2 3. Bf4+ Kg2 4. Kb4 Kf3 5. Bc7 Rxe6 6. Ka5 Ke4 7. Bb6 Kd5 8. Kxa6 Kc6 $1) 1... b2 $1 2. Bxb2 cxb2 ( 2... Rf4+ {main} 3. Ka5 (3. Ka3 $2 Re4 $1 4. Bxc3 Rxe7 5. Ka4 Kg2 6. Ka5 Re3 $1 7. Bb4 (7. Bd2 Re2) 7... Re6 8. Bc5 Re5 $1 9. Kb6 Kf3 10. Bd4 Re6+ 11. Ka5 Re4) 3... cxb2 (3... Rf5+ 4. Kxa6 $1 cxb2 (4... Rf6+ 5. Ka7 cxb2 6. e8=Q b1=Q 7. Qe5+) 5. e8=Q b1=Q 6. Qb8+ $1 Qxb8) 4. e8=Q b1=Q (4... Rf5+ {main} 5. Kxa6 b1=Q (5... Rf6+ 6. Ka7 b1=Q 7. Qe5+) 6. Qb8+ $1 Qxb8) 5. Qh5+ $1 Kg2 6. Qg6+ $1 Qxg6 ) (2... Re3 3. Bxc3 Rxe7 4. Ka5 Re3 5. Bd2 $1) 3. e8=Q b1=Q (3... Rf4+ 4. Ka3 b1=Q 5. Qe2+ Kg3 6. Qg2+ Kh4 7. Qg4+ Kxg4) 4. Qe2+ $1 Kg3 5. Qe1+ $1 Qxe1 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Galitzky Memorial Tourney date: 1965 distinction: 1st Prize algebraic: white: [Kg1, Rh3, Ba7, Pe2, Pa6] black: [Ke1, Rb2, Bf4, Pg3, Pf5] stipulation: + solution: | "1. Bd4 (1. e3 Be5 2. Bc5 (2. Rh5 Ra2 3. Rxf5 Rxa6 $11) 2... Ke2 3. a7 Ra2 4. Kg2 Kd3+ 5. Kf1 Kc4 6. Bb6 Kb5 $11) (1. Bc5 Bb8 (1... Rb8) 2. a7 Bxa7 3. Bxa7 f4 4. e4 Ke2 5. Rxg3 fxg3 6. Kg2 Kd3+ 7. Kxg3 Kxe4 $11) 1... Ra2 (1... Rxe2 $2 2. a7 Ra2 3. Rh8 $18) 2. a7 Kxe2 3. Rh8 (3. Rh5 Kd3 4. Rxf5 (4. Bb6 Ke4 (4... Be3+ 5. Bxe3 Kxe3 6. Rxf5 Rxa7 $11) 5. Rh8 Bc7 6. Re8+ Kd5 7. Be3 f4 8. a8=Q+ Rxa8 9. Rxa8 fxe3 10. Re8 $11) (4. Bc5 Be3+ 5. Bxe3 Kxe3 6. Rxf5 Rxa7 $11) 4... Kxd4 5. Rxf4+ Ke5 6. Rf7 $11) 3... Be5 (3... Kd3 4. Bc5 Bd6 5. Rd8 Kc4 (5... Ra1+ 6. Kg2 Kc4) 6. Bb6 (6. Be3 Ra1+ (6... f4 7. Rc8+ Kd5 $1 8. Bb6 Ra1+ 9. Kg2 Ra2+ 10. Kh3 f3 11. a8=Q+ Rxa8 12. Rxa8 Ke4 13. Re8+ Kf4 14. Rd8 Be5 15. Rf8+ Ke4 16. Kg4 f2 17. Kh3 Kd3 18. Kg2 Ke2 19. Ba7 Bc3 20. Bb8 Be1) 7. Kg2 Ra2+ 8. Kf3 f4 9. Bb6 Ra3+ 10. Ke4 Bc7 11. Rc8 Kb5 12. Bd4 f3 13. Rxc7 f2 14. Rc1 Rxa7) 6... Ra1+ 7. Kg2 Ra2+ 8. Kf3 Ra3+ 9. Be3 $11 {cf. infra}) 4. Re8 (4. Bxe5 Rxa7 5. Kg2 Ra3 6. Bxg3 $11) (4. a8=Q Bxd4+ 5. Kg2 Rxa8 6. Rxa8 f4 7. Re8+ Be3) 4... Kd3 5. Bc5 (5. Bb6 $2 Bc7 6. Bc5 Kc4 7. Be3 f4 $11) (5. a8=Q Bxd4+ 6. Kf1 (6. Kh1 Rh2#) 6... g2+ 7. Ke1 g1=Q#) 5... Bd6 (5... Ra1+ $2 6. Kg2 Ra2+ 7. Kf3 $18 Rf2+ 8. Bxf2 gxf2 9. Kg2 Bd4 $18) 6. Rd8 (6. Bxd6 $2 Rxa7 7. Bxg3 $11) 6... Kc4 (6... Ra1+ 7. Kg2 Kc4 $1 8. Bb6 (8. Be3 Ra2+ 9. Kf3 f4 10. Bb6 Bc7 (10... Ra3+ 11. Ke4 Bc7 12. Rc8 Kb5 13. Bd4 $18) 11. Rc8 Kb5 12. Bd4 Ra3+ 13. Ke4 Kc6 14. a8=Q+ Rxa8 15. Rxa8 $18) 8... Ra2+ 9. Kf3 Ra3+ 10. Be3 Rxe3+ 11. Kxe3 Bc5+ 12. Kf3 Bxa7 $11) 7. Bb6 Bc7 (7... Ra1+ 8. Kg2 Ra2+ 9. Kf3 (9. Kh3 Rh2#) (9. Kf1 Ra1+ 10. Ke2 Ra2+ 11. Kd1 Ra1+ 12. Kc2 Kd5 (12... Be7 13. a8=Q Rxa8 14. Rxa8 f4 15. Rg8 Bd6 16. Kd2 Kd5 17. Ke2 $18) 13. a8=Q+ Rxa8 14. Rxa8 f4 (14... Ke4 15. Rd8 Bf4 16. Rd3 Be5 17. Re3+ Kd5 18. Kd1 f4 19. Rd3+ Ke4 20. Ke2 Bb2 (20... Bf6 21. Ra3 Be5 22. Ra4+ Kf5 23. Kf3 Bd6 24. Bd4 Ke6 25. Bb2 Kf5 26. Ra5+ Ke6 27. Bc1 Bc7 28. Rb5 Bd6) 21. Rb3 Be5 22. Rb4+ Kd5 23. Kf3 Bd6 24. Re4 Bb8 25. Re2 Kc6 26. Bd8 Kd5 27. Bg5 Bd6 $18) 15. Kd3 f3 (15... Kc6 16. Bd4 f3 17. Ra5 Kd7 18. Ra6 Bb8 (18... Ke7 19. Ke3 f2 20. Ke2 Kd7 21. Bf6 Ke6 22. Bh4 Kd5 23. Rb6 Kc5 24. Rb3 Kc4 25. Re3 $18) 19. Ke3 f2 20. Ke2 Bf4 21. Bf6 Be3 22. Kf1 $1 Bf4 23. Bh4 Bd6 24. Rb6 Kc7 25. Rb3 $18) 16. Ra5+ Ke6) 9... Ra3+ 10. Be3 (10. Kg2 Ra2+) 10... Rxe3+ (10... f4 11. a8=Q Rxe3+ 12. Kg4) 11. Kxe3 Bc5+ 12. Kf4 Bxa7 13. Kxg3 $11) 8. Rc8 Kb5 9. Bd4 Kc4 (9... Be5 $2 10. Rc5+ $18) 10. Be3 Kd3 11. Bc5 Bd6 (11... Ra1+ 12. Kg2 Ra2+ 13. Kf3 Rf2+ 14. Bxf2 gxf2 15. Kg2 Ke2 16. Re8+ $18) (11... f4 12. a8=Q Rxa8 13. Rxa8 f3 14. Ra4 Ke2 15. Re4+ Kd3 16. Re3+ Kc4 17. Ba7 f2+ 18. Kg2 Bd6 19. Bb6 Kb5 20. Bd8 Bf4 21. Rf3 $18) 12. Bb6 f4 13. a8=Q Rxa8 14. Rxa8 f3 15. Rd8 Ke2 16. Re8+ $1 (16. Rxd6 $2 f2+ $19) 16... Kd1 ( 16... Kd2 17. Kf1 g2+ 18. Kg1 Bf4 19. Re4 Bg3 20. Re3 Be1 21. Rxf3 $18) 17. Re3 f2+ 18. Kf1 Kd2 19. Bd4 Bf4 20. Rf3 Bd6 21. Bf6 $18 1-0" --- authors: - Брон, Владимир Акимович source: Buletin Problemistic date: 1974 distinction: 2nd Honorable Mention algebraic: white: [Kf5, Ba1, Pe5] black: [Kh8, Bh6] stipulation: + solution: | 1. Kg6 (1. Bb2 $2 Kg8 2. Kg6 Bf8 3. e6 Bb4 4. Bg7 Ba3 5. Bh6 Be7 6. Kf5 Ba3 7. Kf6 Bf8 8. Bc1 Bb4) 1... Bg7 (1... Bf8 2. Kf7 Ba3 3. e6+ Kh7 4. Bg7 Bb4 5. Bf8) 2. e6 Kg8 3. e7 Bf8 4. e8=B (4. e8=Q $2) (4. e8=N $2 Ba3 (4... Be7 $2 5. Bg7 Bg5 6. Nd6 Be7 7. Nf5 Bg5 8. Kxg5) 5. Bg7 Be7 6. Bh6 Bf8 7. Nf6+ Kh8 8. Bxf8 ( 8. Bc1 Ba3 9. Bg5 Be7)) 4... Ba3 5. Bg7 1-0 --- authors: - Брон, Владимир Акимович source: Tschigorin MT date: 1949 distinction: 2nd Commendation algebraic: white: [Ke5, Re3, Bc7, Ph7, Pe4] black: [Ke7, Bc1, Pa2] stipulation: + solution: | 1. Bd8+ (1. Bd6+ $2 Kd7 $1) 1... Kf7 (1... Kd7 2. Rd3+) 2. Rf3+ Kg6 3. h8=N+ $1 Kh7 (3... Kh5 4. Rf5+ $1) 4. Rh3+ Kg8 5. Rg3+ Kh7 (5... Kf8 6. Ke6) 6. Rg7+ $1 Kxg7 (6... Kxh8 7. Ra7 Bb2+ 8. Ke6 a1=Q 9. Rxa1 Bxa1 10. Bf6+) 7. Bf6+ Kg8 ( 7... Kh7 8. Ke6 Bh6 9. Kf7) 8. Kf5 Bh6 $1 9. Kg6 a1=Q $1 10. Bxa1 Bg7 11. e5 $1 Bxh8 12. e6 Bg7 13. e7 Bf8 $1 14. e8=B $1 (14. e8=Q $2) 1-0 --- authors: - Брон, Владимир Акимович source: Themes 64-20 JT, Themes 64 date: 1976 distinction: 6th Honorable Mention algebraic: white: [Kc2, Rb1, Sd7, Pg2, Pe2] black: [Ka4, Qe8, Pg6, Pe6, Pe5, Pc6, Pc5] stipulation: + solution: | 1. Nb6+ Ka5 (1... Ka3 2. Nc4+ Ka2 3. Rb2+ Ka1 4. Rb3 Qa8 5. Ra3+ Qxa3 6. Nxa3) 2. Nc4+ Ka4 (2... Ka6 3. Ra1+ Kb7 4. Nd6+) 3. Kc3 Qd8 4. Rd1 Qc7 (4... Qxd1 5. Nb2+) (4... Qd4+ 5. Rxd4 exd4+ 6. Kd3 Kb4 7. Ne5) 5. Ra1+ Kb5 6. Ra8 e4 7. e3 ( 7. Kb3 $2 Qg3+ 8. e3 Qe1) 7... Qg7+ 8. Kb3 Qc7 9. g3 (9. g4 $2 g5 10. Kc3 Qg7+ 11. Kb3 Qc7) 9... g5 10. g4 e5 11. Kc3 1-0 --- authors: - Брон, Владимир Акимович source: Известия date: 1925 algebraic: white: [Ka7, Ra3, Sf6] black: [Kh2, Bg5, Pd3, Pb2] stipulation: "=" solution: | 1. Ng4+ Kg1 2. Rb3 d2 3. Nf2 Be3+ 4. Ka8 Bxf2 5. Rxb2 d1=Q 6. Rb1 Qxb1 1/2-1/2 --- authors: - Брон, Владимир Акимович source: All-Union of Chess Section of Physical Culture and Sport Committee (USSR) Ty date: 1926 distinction: 2nd Honorable Mention algebraic: white: [Kc5, Sh1, Pf6] black: [Kb2, Se8, Pe2] stipulation: "=" solution: | 1. f7 Nc7 2. Nf2 Kc2 3. Nd3 Kxd3 4. Kd6 e1=Q 5. f8=Q Qb4+ 6. Ke5 Qxf8 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Конкурс Всесоюзного комитета физкультуры и спорта date: 1926 algebraic: white: [Kh5, Re5, Bb8, Pc2] black: [Kh7, Bc4, Pd3, Pc7, Pa2] stipulation: "=" solution: | 1. Re7+ Kh8 2. Re8+ Kg7 3. Re1 d2 4. Rg1+ Kf6 5. Bxc7 Be2+ 6. Kh4 d1=Q 7. Rxd1 Bxd1 8. Ba5 a1=Q 9. Bc3+ Qxc3 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматный листок date: 1927 distinction: 3rd Prize algebraic: white: [Kc2, Rc7, Sf5, Pe4, Pc3] black: [Kb5, Qf8, Pf6, Pc4] stipulation: + solution: | 1. Rc8 Qa3 2. Nd4+ Kb6 3. Rb8+ Kc5 4. Rb5+ Kd6 5. Rd5+ Ke7 6. Ra5 1-0 --- authors: - Брон, Владимир Акимович source: Шахматный листок date: 1927 algebraic: white: [Ke2, Qa3, Sb5, Pe7] black: [Kf7, Qg8, Sg6, Pe3, Pc4] stipulation: + solution: | 1. e8=Q+ Kxe8 2. Qa8+ Kf7 3. Nd6+ Kg7 4. Nf5+ Kh8 5. Qa1+ c3 6. Qxc3+ Kh7 7. Qc7+ Kh8 8. Qh2+ Qh7 9. Qb8+ Qg8 10. Qb2+ Kh7 11. Qb7+ Kh8 12. Qh1+ Qh7 13. Qa8+ Qg8 14. Qa1+ Kh7 15. Qh1+ Nh4 16. Qxh4+ Kg6 17. Ne7+ 1-0 --- authors: - Брон, Владимир Акимович source: Шахматный листок date: 1927 algebraic: white: [Ke8, Re6, Sf8, Ph5, Pb6] black: [Kb8, Bd1, Sg8, Sc2, Pd2, Pb7, Pa5] stipulation: "=" solution: | 1. Kd8 Bxh5 2. Nd7+ Ka8 3. Re5 Nb4 4. Rxa5+ Na6 5. Ra2 d1=Q 6. Rxa6+ bxa6 7. b7+ Kxb7 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматный листок date: 1928 distinction: 2nd Honorable Mention algebraic: white: [Ke1, Rc3, Bd7] black: [Ka1, Bh5, Bb6, Sb2, Pd3] stipulation: "=" solution: | 1. Rc1+ Ka2 2. Be6+ Ka3 3. Rc3+ Ka4 4. Bf5 Ba5 5. Kd2 Be2 6. Bxd3 Bxd3 7. Kc1 Bxc3 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматный листок date: 1928 distinction: 2nd Prize algebraic: white: [Kd1, Be4, Pg4, Pe6, Pb6] black: [Kc4, Rg5, Bh3, Sh2] stipulation: "=" solution: | 1. e7 Bxg4+ 2. Kd2 Bd7 3. e8=Q Bxe8 4. b7 Nf1+ 5. Kc2 Rg8 6. Bd5+ Kxd5 7. b8=Q Ba4+ 8. Kc1 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматный листок date: 1928 distinction: 2nd Prize algebraic: white: [Kd1, Be4, Pg5, Pe7, Pb6] black: [Kc4, Rg4, Bh5, Sh2] stipulation: "=" solution: | 1. e8=Q Rxg5+ 2. Kd2 Nf1+ 3. Kc2 Ne3+ 4. Kd2 Nf1+ 5. Kc2 Bxe8 6. b7 Rg8 7. Bd5+ Kxd5 8. b8=Q Ba4+ 9. Kc1 Rxb8 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматы date: 1929 distinction: Honorable Mention algebraic: white: [Kh6, Rc3] black: [Ke8, Pg4, Pf3] stipulation: "=" solution: | 1. Rc8+ Ke7 2. Rc7+ Ke6 3. Rc6+ Ke5 4. Rc5+ Ke4 5. Rc4+ Ke3 6. Rxg4 f2 7. Rg3+ Ke4 8. Rg4+ Ke5 9. Rg5+ Ke6 10. Rg6+ Ke7 11. Rg7+ Kf8 12. Rg5 f1=Q 13. Rf5+ Qxf5 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматный листок date: 1929 distinction: 2nd Honorable Mention algebraic: white: [Kh6, Re2, Pd6, Pb6, Pb3, Pb2, Pa4] black: [Ka5, Rd5, Pb4, Pa6] stipulation: + solution: | "1.Re2-e5 ! Rd5*e5 2.d6-d7 Re5-e6+ 3.Kh6-g5 Re6*b6 ! 4.d7-d8=S ! Rb6-b8 5.Sd8-c6+ 4...Rb6-d6 5.Sd8-b7+ 4.d7-d8=Q ? 2...Re5-f5 3.d7-d8=Q Rf5-f6+ 4.Kh6-h5 Rf6-f5+ 5.Qd8-g5 4...Rf6-h6+ 5.Kh5-g4 Rh6-g6+ 6.Qd8-g5+ 2...Re5-d5 3.b6-b7 1.b6-b7 ! {cook} Rd5*d6+ 2.Kh6-g5 ! Rd6-d8 3.Kg5-f6 Rd8-b8 4.Re2-e5+ Ka5-b6 5.Re5-e7 Kb6-a5 6.Kf6-e5 Rb8*b7 7.Ke5-d6 Rb7-b8 8.Re7-e5+ Ka5-b6 9.a4-a5+ Kb6-a7 10.Kd6-c5 Rb8-b5+ 11.Kc5-d4 9...Kb6-b7 10.Re5-e7+ Kb7-a8 11.Kd6-c6 7...Rb7-b6+ 8.Kd6-d5 Rb6-c6 9.Re7-e5 Rc6-c2 10.Kd5-d6+ Ka5-b6 11.a4-a5+ Kb6-a7 12.Re5-e7+ Ka7-a8 13.Kd6-d5 Rc2*b2 14.Kd5-c4 Rb2-h2 15.Kc4*b4 9.Kd5*c6 ? 6...Rb8-d8 7.Re7-c7 Rd8-b8 8.Ke5-d6 Rb8*b7 9.Rc7-c5+ Ka5-b6 10.a4-a5+ Kb6-a7 11.Rc5-c7 5...Kb6-a7 6.Kf6-e6 Ka7-b6 7.Ke6-d5 Kb6-a5 8.Kd5-c6 3...Ka5-b6 4.Re2-e7 Rd8-b8 5.Kf6-e5 Rb8*b7 6.Re7*b7+ Kb6*b7 7.Ke5-d5 2...Rd6-d5+ 3.Kg5-f6 Rd5-d8 4.Kf6-e7 Rd8-b8 5.Ke7-d6 Ka5-b6 6.Re2-e7 Kb6-a5 7.Kd6-c6 Rb8-c8+ 8.Kc6-d5 Rc8-b8 9.Kd5-d6 Rb8*b7 10.Re7-e5+ 5...Rb8*b7 6.Re2-e5+ Ka5-b6 7.a4-a5+ Kb6-a7 8.Re5-e7" keywords: - Cooked --- authors: - Брон, Владимир Акимович source: date: 1929 algebraic: white: [Kh6, Rg4] black: [Ke3, Pf2] stipulation: "=" solution: | 1. Rg3+ Ke4 2. Rg4+ Ke5 3. Rg5+ Ke6 4. Rg6+ Ke7 5. Rg7+ Kf8 6. Rg5 f1=Q 7. Rf5+ Qxf5 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматный листок date: 1929 algebraic: white: [Kf1, Bd1, Ba7, Sc6] black: [Kd6, Sc4, Pb6] stipulation: + solution: | 1. Nb4 Ne3+ 2. Ke2 Nxd1 3. Bb8+ Kc5 4. Nd3+ Kd4 5. Be5+ Ke4 6. Bg7 Ne3 7. Nf2+ Kf4 8. Bh6+ 1-0 --- authors: - Брон, Владимир Акимович source: Шахматный листок date: 1929 algebraic: white: [Kh8, Bh5, Sd3, Sc5, Pg7, Pg5, Pg2] black: [Kf5, Bd4, Sh4, Sh2, Pe4] stipulation: + solution: | "1. Nf2 Bxg7+ 2. Kxg7 Kxg5 3. g4 Nxg4 4. Ncxe4+ Kxh5 5. Ng3+ Kg5 6. Nh3# 1-0" --- authors: - Брон, Владимир Акимович source: Шахматный листок date: 1929 algebraic: white: [Kh4, Bb7, Ph3, Pf2, Pd4, Pb6] black: [Ke4, Be1, Bc2, Ph6, Pd5] stipulation: "=" solution: | 1. Bxd5+ Kxd5 2. b7 Bxf2+ 3. Kg4 Bd1+ 4. Kf4 Bg1 5. Kg3 Bxd4 6. b8=Q Be5+ 7. Kh4 Bxb8 1/2-1/2 --- authors: - Брон, Владимир Акимович source: «64» date: 1930 distinction: Commendation algebraic: white: [Kf1, Be7, Bc2, Sh3, Sa5] black: [Kh2, Bd4, Sg4, Pd6, Pb7] stipulation: + solution: | 1. Ng5 Ne3+ 2. Ke2 Nxc2 3. Kd2 Ne1 4. Kxe1 Bc3+ 5. Kf1 Bxa5 6. Bxd6+ Kh1 7. Ne4 Bb6 8. Bb8 Bd4 9. Ng3+ Kh2 10. Ne2+ 1-0 --- authors: - Брон, Владимир Акимович source: Шахматный листок date: 1930 distinction: 3rd Honorable Mention algebraic: white: [Ka3, Ra2, Bf6, Sg4, Pc2] black: [Ka5, Re2, Bc4, Pe3, Pd3, Pd2] stipulation: "=" solution: | 1. Ra1 Re1 2. Nxe3 Rxa1+ 3. Bxa1 d1=Q 4. Nxd1 dxc2 5. Nb2 c1=Q 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Вечерняя Москва date: 1930 distinction: 4th Prize algebraic: white: [Kc4, Qe1, Ph6, Pg7, Pg2, Pe4] black: [Kg6, Qc8, Bh3, Ph7, Pc7, Pc6, Pc5] stipulation: + solution: | 1. Qg3+ Bg4 2. Qxg4+ Qxg4 3. g8=R+ Kh5 4. Rxg4 Kxg4 5. g3 Kxg3 6. e5 Kf4 7. e6 Ke5 8. e7 Kd6 9. e8=R 1-0 --- authors: - Брон, Владимир Акимович source: «64» date: 1930 algebraic: white: [Ka5, Bd1, Pd3, Pb6] black: [Ka2, Pb4, Pb2] stipulation: + solution: | 1. Bc2 b3 2. Bxb3+ Kxb3 3. b7 b1=Q 4. b8=R+ Kc2 5. Rxb1 Kxb1 6. d4 1-0 --- authors: - Брон, Владимир Акимович source: «64» date: 1930 algebraic: white: [Ke8, Be4, Ba7, Sf8, Sc1] black: [Kd6, Ba4, Sd7, Pd5] stipulation: + solution: | 1. Bc2 Bxc2 2. Nxd7 Ba4 3. Bb8+ Ke6 4. Kd8 Bxd7 5. Nb3 Ba4 6. Nc5+ 1-0 --- authors: - Брон, Владимир Акимович source: «64» date: 1930 algebraic: white: [Kg1, Bd3, Se5, Sd4, Pe3] black: [Kd2, Bh4, Bd5, Ph6] stipulation: + solution: | 1. e4 Bxe4 2. Bxe4 Ke3 3. Bg6 Bf2+ 4. Kg2 Kxd4 5. Nf3+ Ke3 6. Bh5 Ke2 7. Ne5+ Ke3 8. Ng4+ 1-0 --- authors: - Брон, Владимир Акимович source: «64» date: 1930 algebraic: white: [Kh7, Bf3, Se7, Pg2, Pe3, Pd3, Pc5, Pa6, Pa3] black: [Kb8, Qb3, Ph5, Pc7, Pa7, Pa4] stipulation: + solution: | 1. Nc6+ Kc8 2. Bd5 Qxd3+ 3. e4 Qxa6 4. Be6+ Kb7 5. Bc4 Qxc6 6. Bd5 1-0 --- authors: - Брон, Владимир Акимович source: «64» date: 1930 algebraic: white: [Ka4, Rd5, Bf5] black: [Kb2, Se2, Sa2, Ph2, Pd4] stipulation: "=" solution: | 1. Rb5+ Nb4 2. Rxb4+ Ka2 3. Be6+ Ka1 4. Bd5 Nc3+ 5. Ka3 Nxd5 6. Rxd4 h1=Q 7. Rd1+ Qxd1 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматный листок source-id: 481 date: 1930-10-10 algebraic: white: [Kc2, Sf8, Sc5, Pf6, Pf3] black: [Kg5, Rc6] stipulation: + solution: | "1. f7 Rxc5+ 2. Kd3 Rf5 3. Se6+ Kh4 4. f8R wins 4. ... f8Q? 5. Rxf3 Qxf3 stalemate" comments: - Stalemate avoidance --- authors: - Брон, Владимир Акимович source: Шахматный листок date: 1930 algebraic: white: [Kg1, Re8, Rb7, Sd4, Sc8, Ph2, Pe6, Pc7, Pb2] black: [Ke4, Rf4, Ba2, Ph3, Pg2, Pb5] stipulation: + solution: | 1. Rf8 Rxf8 2. Nf5 Kxf5 3. e7 Rxc8 4. b3 Bxb3 5. Rxb5+ Kf4 6. Rb4+ Kf5 7. Rxb3 Rxc7 8. Rf3+ Kg4 9. Rg3+ Kh4 10. e8=R 1-0 --- authors: - Брон, Владимир Акимович source: Шахматный листок date: 1930 algebraic: white: [Kc5, Rf4, Re3, Be2, Pc4, Pb6] black: [Kd7, Qe1, Bf5, Ba5, Sh4, Pf7, Pc6] stipulation: "=" solution: | 1. Rd4+ Kc8 2. Re8+ Kb7 3. Re7+ Kb8 4. Rd8+ Bc8 5. Rxc8+ Kxc8 6. Bg4+ f5 7. Bxf5+ Nxf5 8. b7+ Kb8 9. Re8+ Qxe8 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Вечерняя Москва date: 1930 algebraic: white: [Kc4, Ph6, Pg7, Pg2, Pe4] black: [Kg6, Qg4, Ph7, Pc7, Pc6, Pc5] stipulation: + solution: | 1. g8=R+ Kh5 2. Rxg4 Kxg4 3. g3 Kxg3 4. e5 Kf4 5. e6 Ke5 6. e7 Kd6 7. e8=R 1-0 --- authors: - Брон, Владимир Акимович source: All-Union of Chess Section of Physical Culture and Sport Committee (USSR) Ty date: 1931 distinction: 2nd Prize algebraic: white: [Kd3, Bd6, Bd1, Sf1, Pd5] black: [Kb6, Bg2, Sh3, Pg7, Pb4] stipulation: + solution: | 1. Ne3 Bxd5 2. Nxd5+ Kc6 3. Bf4 Nf2+ 4. Kd2 Nxd1 5. Nxb4+ Kc5 6. Nd3+ Kd4 7. Bc7 g5 8. Bd8 g4 9. Ne1 Nb2 10. Bf6+ 1-0 --- authors: - Брон, Владимир Акимович source: date: 1931 algebraic: white: [Kf3, Sg1, Sf5, Ph3, Pe3, Pc3, Pa5] black: [Kh1, Bb2, Ph5, Ph2, Pd5, Pd3] stipulation: + solution: | 1. Ne2 dxe2 2. Ng3+ Kg1 3. Nxe2+ Kf1 4. Ng3+ Kg1 5. a6 h4 6. Nh1 Kxh1 7. Kf2 Bc1 8. a7 Bxe3+ 9. Kxe3 Kg2 10. a8=B h1=Q 11. Bxd5+ 1-0 --- authors: - Брон, Владимир Акимович source: All-Union of Chess Section of Physical Culture and Sport Committee (USSR) Ty date: 1931 distinction: 4th Prize algebraic: white: [Ka4, Bg5, Sb8, Pd6, Pc6, Pb2] black: [Kc8, Ba8, Sf7, Pe6] stipulation: + solution: | 1. d7+ Kxb8 2. Bf4+ e5 3. Bxe5+ Ka7 4. Bd4+ Ka6 5. d8=N Nxd8 6. c7 Nb7 7. c8=R 1-0 --- authors: - Брон, Владимир Акимович source: Shakhmaty date: 1931 distinction: 5th Honorable Mention algebraic: white: [Kh3, Be1, Bb7, Sg5, Sc1] black: [Kd1, Bb5, Sb6, Pg3, Pd7] stipulation: + solution: | "1. Ba5 Bf1+ 2. Kxg3 Nc4 3. Nb3 Kc2 4. Nd4+ Kd3 5. Bb4 Kxd4 6. Kf2 Bd3 7. Nf3# 1-0" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1931 distinction: 6th Prize algebraic: white: [Kc3, Be2, Ba7, Sf1] black: [Ka8, Rc8, Pf6, Pc5, Pc4] stipulation: + solution: | 1. Bb6 Kb7 2. Ba5 Ka6 3. Nd2 Re8 4. Bf1 Kxa5 5. Nxc4+ Ka4 6. Bg2 Re6 7. Bd5 Ra6 8. Bf7 Kb5 9. Be8+ Rc6 10. Kd3 f5 11. Ne5 1-0 --- authors: - Брон, Владимир Акимович source: Шахматный листок date: 1931 algebraic: white: [Kh2, Rd3, Bd1, Pf4] black: [Kf1, Bg8, Bc7, Pe7] stipulation: + solution: | 1. Kg3 e5 2. Bh5 exf4+ 3. Kf3 Kg1 4. Rd7 Bb3 5. Rxc7 Bd1+ 6. Kxf4 Bxh5 7. Rc5 Be8 8. Kg3 Kf1 9. Rf5+ Kg1 10. Re5 1-0 --- authors: - Брон, Владимир Акимович source: Шахматный листок date: 1931 algebraic: white: [Kh5, Pc6] black: [Ke2, Bd1, Sf1, Pf6] stipulation: "=" solution: | 1. c7 Ng3+ 2. Kg4 Kf2+ 3. Kh3 Bc2 4. c8=Q Bf5+ 5. Kh4 Bxc8 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматный листок date: 1931 algebraic: white: [Kb2, Bc2, Sg8, Ph7, Pf3, Pe3, Pa2] black: [Kg6, Bh8, Ph3, Pf5, Pe5, Pd7, Pa4] stipulation: "=" solution: | 1. Ne7+ Kg5 2. Nxf5 e4+ 3. Ka3 Kxf5 4. fxe4+ Ke5 5. Bd1 Kxe4 6. Bg4 h2 7. Bxd7 Kd5 8. Bc8 Kc6 9. Bf5 h1=Q 10. Be4+ Qxe4 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1932 distinction: 2nd Honorable Mention algebraic: white: [Kb5, Rb6, Bc8, Pd6, Pd5] black: [Ka7, Bd1, Sf8, Pe4, Pe2, Pb4, Pa5] stipulation: "=" solution: | 1. Bg4 Nd7 2. Bxd7 Ba4+ 3. Kxa5 Bxd7 4. Rxb4 e1=R 5. Rxe4 Ra1+ 6. Kb4 Ra4+ 7. Kc5 Rxe4 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Shakhmaty date: 1932 algebraic: white: [Ka1, Ba4, Pe5, Pe2, Pc5] black: [Kh1, Rc4] stipulation: + solution: | 1. Bc6+ Kg1 2. e6 Rc1+ 3. Kb2 Rxc5 4. e7 Re5 5. e8=R 1-0 --- authors: - Брон, Владимир Акимович source: Shakhmaty date: 1932 algebraic: white: [Ka7, Rc5, Sf8] black: [Ka1, Bd8, Sd4, Pd5, Pd3] stipulation: "=" solution: | 1. Rxd5 Bh4 2. Ka8 Bf2 3. Ne6 d2 4. Nxd4 d1=Q 5. Nb3+ Qxb3 6. Ra5+ Kb2 7. Rb5 Qxb5 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1932 algebraic: white: [Kf3, Bd8, Pe5] black: [Kh6, Sd7, Pg7] stipulation: + solution: | 1. e6 Ne5+ 2. Ke4 Ng6 3. Kf5 Kh5 4. Bg5 Nf8 5. e7 Ng6 6. e8=R 1-0 --- authors: - Брон, Владимир Акимович source: «64» date: 1933 distinction: 5th Prize algebraic: white: [Kh5, Rf8, Be2, Pf2] black: [Kh1, Re6, Se7, Sd7, Pe3] stipulation: "=" solution: | 1. Rf3 Nf6+ 2. Kh4 Ng6+ 3. Kh3 Ne4 4. Rxe3 Nxf2+ 5. Kg3 Rxe3+ 6. Bf3+ Kg1 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Shakhmaty date: 1933 algebraic: white: [Kc6, Be1, Sh8, Sc5, Pg4] black: [Kh6, Bd4, Sf8] stipulation: + solution: | "1. Nf7+ Kg6 2. Kd5 Bh8 3. Ne5+ Bxe5 4. Kxe5 Kg5 5. Bd2+ Kxg4 6. Kf6 Kh5 7. Kg7 Ng6 8. Nd7 Nh4 9. Nf6# 1-0" --- authors: - Брон, Владимир Акимович source: Shakhmaty date: 1933 algebraic: white: [Ka4, Bb8, Pf6, Pc4, Pb6] black: [Kc5, Ra1, Bh4, Sg3, Pa3] stipulation: "=" solution: | 1. b7 Rb1 2. Ba7+ Kxc4 3. b8=Q Rxb8 4. Bxb8 a2 5. Be5 Ne2 6. Ka3 Nc1 7. Ba1 Kd3 8. f7 Be7+ 9. Kb2 Kd2 10. f8=Q Bxf8 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Shakhmaty date: 1933 algebraic: white: [Ka2, Rf1, Pa6] black: [Kc4, Rd4, Bg7, Pd7] stipulation: "=" solution: | 1. a7 Rd2+ 2. Ka3 Bb2+ 3. Ka4 Bd4 4. Rc1+ Kd3 5. Rc3+ Kxc3 6. a8=Q Ra2+ 7. Kb5 Rxa8 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1933 algebraic: white: [Kd1, Rb2, Be2] black: [Ka8, Bd6, Bc6] stipulation: + solution: | 1. Rb6 Ba4+ 2. Kc1 Bf4+ 3. Kb1 Be8 4. Rf6 Bb8 5. Re6 Bd7 6. Bf3+ Ka7 7. Re7 1-0 --- authors: - Брон, Владимир Акимович source: «64» date: 1934 distinction: 1st Prize algebraic: white: [Ka1, Ba4, Sc2, Sb3, Pd6] black: [Kc4, Bh2, Bc8] stipulation: + solution: | "1. Nd2+ Kd3 2. Ne1+ Ke2 3. Bb5+ Kd1 4. d7 Bxd7 5. Bxd7 Be5+ 6. Kb1 Bc3 7. Ne4 Bxe1 8. Bg4# {#} 1-0" --- authors: - Брон, Владимир Акимович source: wa02 date: 1934 distinction: 8th Prize algebraic: white: [Kf8, Pg5, Pf7, Pd7, Pd6] black: [Kh7, Bf5, Sc6, Sb6, Pe7] stipulation: "=" solution: | 1. d8=Q Nxd8 2. dxe7 Nd7+ 3. Ke8 Nxf7 4. g6+ Kg7 5. gxf7 Nf6+ 6. Kd8 Kxf7 7. e8=Q+ Nxe8 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Shakhmaty date: 1934 algebraic: white: [Kc6, Be7, Bb3, Pb6, Pa6, Pa3] black: [Ka5, Rf1, Be2, Pd2, Pa7] stipulation: + solution: | 1. b7 Bf3+ 2. Kc5 Rc1+ 3. Kd4 Bxb7 4. axb7 d1=Q+ 5. Bxd1 Rxd1+ 6. Kc3 Rb1 7. Bb4+ Rxb4 8. axb4+ Ka6 9. b8=B Kb5 10. Bc7 1-0 --- authors: - Брон, Владимир Акимович source: Shakhmaty date: 1934 algebraic: white: [Kc3, Rg7, Bg2, Be1, Pg6, Pd4] black: [Kd7, Ra4, Bg5, Be8, Pf7, Pe7, Pd5] stipulation: + solution: | "1. gxf7 Rc4+ 2. Kd3 Rxd4+ 3. Kxd4 Bf6+ 4. Kxd5 Bxg7 5. Bh3+ e6+ 6. Bxe6+ Ke7 7. f8=Q+ Bxf8 8. Bh4# 1-0" --- authors: - Брон, Владимир Акимович source: Shakhmaty date: 1934 algebraic: white: [Kb4, Ra6, Bb8, Pa3] black: [Ke1, Sd1, Pg2, Pf6, Pd6, Pa4] stipulation: "=" solution: | 1. Ba7 Nf2 2. Rc6 Nd3+ 3. Kc3 Nc5 4. Bxc5 dxc5 5. Re6+ Kd1 6. Rd6+ Kc1 7. Rxf6 g1=Q 8. Rf1+ Qxf1 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1934 algebraic: white: [Kc6, Bd7, Sh6, Sd4, Pg5] black: [Kh5, Bd8, Sa6, Pd5] stipulation: + solution: | "1. Be8+ Kxg5 2. Nf7+ Kf6 3. Nxd8 Ke7 4. Bg6 Kxd8 5. Kb6 Nc7 6. Bf5 Ne8 7. Nc6# {#} 1-0" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1934 algebraic: white: [Ke4, Bh6, Bb1, Sh8] black: [Kh7, Bb5] stipulation: + solution: | 1. Nf7 Kg6 2. Nd6 Bc6+ 3. Kf4+ Kxh6 4. Nf5+ Kh5 5. Ba2 Kg6 6. Ne7+ 1-0 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1934 algebraic: white: [Kc6, Be7, Bb3, Pf3, Pb6, Pa6, Pa3] black: [Ka5, Rf1, Be2, Pd2, Pa7] stipulation: + solution: | 1. b7 Bxf3+ 2. Kc5 Rc1+ 3. Kd4 d1=Q+ 4. Bxd1 Rxd1+ 5. Kc3 Bxb7 6. axb7 Rb1 7. Bb4+ Rxb4 8. axb4+ Ka6 9. b8=B 1-0 --- authors: - Брон, Владимир Акимович source: Shakhmaty date: 1935 algebraic: white: [Kb1, Sd7, Pe5, Pe4] black: [Kc3, Pf7, Pe7] stipulation: + solution: | 1. e6 fxe6 2. e5 Kb3 3. Kc1 Kc3 4. Kd1 Kd3 5. Ke1 Ke3 6. Kf1 Kf3 7. Kg1 Kg3 8. Kh1 Kh3 9. Nf8 Kg3 10. Nxe6 Kg4 11. Nf8 e6 12. Kg2 Kf5 13. Nd7 Kg4 14. Kf2 Kf4 15. Ke2 Ke4 16. Kd2 Kd4 17. Kc2 Kc4 18. Kb2 Kb4 19. Ka2 Kc4 20. Ka3 Kc3 21. Ka4 Kc4 22. Ka5 1-0 --- authors: - Брон, Владимир Акимович source: Shakhmaty date: 1935 algebraic: white: [Kd8, Bb1, Ba7, Se6, Sa3] black: [Kd6, Bc1, Sb3, Pd7, Pc5] stipulation: + solution: | "1. Nc7 Bxa3 2. Nb5+ Kc6 3. Nxa3 Kb7 4. Ba2 Nc1 5. Bc4 d5 6. Bxd5+ Kxa7 7. Bc4 Kb6 8. Nc2 Kc6 9. Ke7 Kc7 10. Ke6 Kc6 11. Ke5 Kb6 12. Kd6 Ka5 13. Kc6 Ka4 14. Kb6 Nb3 15. Bb5# 1-0" --- authors: - Брон, Владимир Акимович source: Shakhmaty date: 1935 algebraic: white: [Ka8, Be2, Ph6, Pg7, Pb5, Pa5] black: [Kc8, Bg6, Bd4, Se8, Sd8] stipulation: "=" solution: | 1. Bg4+ Kc7 2. b6+ Bxb6 3. axb6+ Kxb6 4. g8=Q Nc7+ 5. Kb8 Nc6+ 6. Kc8 Ne7+ 7. Kd8 Nxg8 8. h7 Bxh7 9. Bf5 Bxf5 1/2-1/2 --- authors: - Брон, Владимир Акимович source: «64» date: 1937 distinction: 4th Honorable Mention algebraic: white: [Ke4, Rb8, Ba2, Pd6] black: [Kc6, Bh5, Sd5, Ph7, Pc4] stipulation: + solution: | 1. Bxc4 Nf6+ 2. Kf5 Ne8 3. Bb5+ Kxd6 4. Bxe8 Kc7 5. Ra8 Kb7 6. Rd8 Kc7 7. Rd7+ Kc8 8. Rxh7 Bxe8 9. Rh8 Kd7 10. Kf6 1-0 --- authors: - Брон, Владимир Акимович source: Šachová skladba date: 1937 algebraic: white: [Kd4, Sf8, Ph6, Ph2, Pd3, Pd2] black: [Kg5, Rc2, Be1] stipulation: + solution: | 1. h7 Bxd2 2. h4+ Kf5 3. Kd5 Bc3 4. d4 Bxd4 5. Kxd4 Rh2 6. h8=R 1-0 --- authors: - Брон, Владимир Акимович source: Šachová skladba date: 1937 algebraic: white: [Kb5, Re7, Bh5, Pc6] black: [Kc8, Qf8, Ph2, Pb7, Pb6, Pa7] stipulation: "=" solution: | 1. Bg4+ Kb8 2. c7+ Ka8 3. c8=Q+ Qxc8 4. Bxc8 h1=Q 5. Bxb7+ Qxb7 6. Re8+ Qb8 7. Ka6 Qxe8 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1937 algebraic: white: [Kh2, Rg5, Bc1] black: [Kb8, Bh7, Bc3, Pg4] stipulation: + solution: | 1. Bf4+ Ka8 2. Rc5 Be1 3. Rc8+ Ka7 4. Rc7+ Ka8 5. Re7 Bh4 6. Re8+ Kb7 7. Rh8 1-0 --- authors: - Брон, Владимир Акимович source: Tschigorin MT date: 1938 distinction: 3rd Honorable Mention algebraic: white: [Ka4, Rf6, Sd8, Pa6, Pa2] black: [Kb6, Bh3, Sf8, Pe6, Pc2, Pa3] stipulation: "=" solution: | 1. a7 Kxa7 2. Rf7+ Nd7 3. Rxd7+ Kb8 4. Rb7+ Kc8 5. Nxe6 Bxe6 6. Rb5 Bd7 7. Kb3 c1=Q 8. Rc5+ Qxc5 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Shakhmaty date: 1938 distinction: 3rd Honorable Mention algebraic: white: [Kg6, Qe3, Pg5, Pf4] black: [Kg8, Bd1, Sg2, Ph5, Pg7, Pe4, Pb7, Pb3] stipulation: "=" solution: 1. Qg3 b2 2. f5 Nh4+ 3. Qxh4 b1=Q 4. Qxe4 Qxe4 1/2-1/2 --- authors: - Брон, Владимир Акимович source: «64» date: 1938 algebraic: white: [Kd2, Sc8, Ph6, Pe3, Pd6] black: [Kf7, Rf5, Pe4, Pd3] stipulation: + solution: | 1. d7 Rd5 2. Nb6 Rd6 3. Nc4 Rd5 4. Ne5+ Kg8 5. Ng4 Rd6 6. Nf6+ Kh8 7. h7 Kg7 8. Ne8+ 1-0 --- authors: - Брон, Владимир Акимович source: Shakhmaty date: 1938 algebraic: white: [Kh5, Ra6, Ba4, Ph6, Ph2, Pc2, Pa2] black: [Kf6, Bh3, Pg5, Pe7, Pe6, Pe2] stipulation: + solution: | "1. h7 Kg7 2. h8=Q+ Kxh8 3. Kg6 Bf5+ 4. Kh6 Kg8 5. Be8 e1=Q 6. Ra8 Be4 7. Rb8 Qh4+ 8. Bh5# 1-0" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1938 algebraic: white: [Ka7, Qg1, Bh3] black: [Kd6, Qa3, Sb2, Pc4, Pb7, Pb6, Pa4] stipulation: + solution: | 1. Qd4+ Ke7 2. Qg7+ Ke8 3. Bd7+ Kd8 4. Bb5 Qd6 5. Qg5+ Kc7 6. Qg8 Qd8 7. Qg7+ Kd6 8. Qd4+ Ke7 9. Qh4+ 1-0 --- authors: - Брон, Владимир Акимович source: Shakhmaty date: 1939 algebraic: white: [Kd2, Be8, Ba3, Ph6, Ph5, Pe6] black: [Kh8, Rg3, Pg2] stipulation: + solution: | 1. Bb2+ Kh7 2. Bd4 g1=Q 3. Bxg1 Rg2+ 4. Kd3 Rxg1 5. Bg6+ Kxh6 6. e7 Rd1+ 7. Ke2 Rd5 8. e8=R 1-0 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1939 algebraic: white: [Ka1, Bc1, Sc3, Sa3, Ph4, Pc4, Pb2] black: [Kb6, Qd6, Pc6, Pb5, Pa6] stipulation: + solution: | 1. c5+ Qxc5 2. Na4+ bxa4 3. Be3 Ka5 4. b4+ Qxb4 5. Bd2 Qxd2 6. Nc4+ Kb4 7. Nxd2 1-0 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1939 algebraic: white: [Ke2, Rd6, Bf6, Ba2] black: [Kg1, Rh8, Ra8, Be8, Sh1, Pd5] stipulation: "=" solution: | 1. Bd4+ Kh2 2. Bxd5 Rd8 3. Be5+ Ng3+ 4. Bxg3+ Kxg3 5. Rxd8 Bb5+ 6. Bc4 Bxc4+ 7. Ke1 Rxd8 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Shakhmaty date: 1940 algebraic: white: [Ka4, Bh6, Sa3, Ph4, Pd7, Pc5, Pc4, Pb3] black: [Ka1, Bd8, Pd5, Pc6, Pc3, Pa6, Pa2] stipulation: + solution: | 1. Bc1 d4 2. h5 d3 3. h6 d2 4. Bxd2 cxd2 5. h7 d1=N 6. h8=R 1-0 --- authors: - Брон, Владимир Акимович source: Shakhmaty date: 1940 algebraic: white: [Ka6, Ra5, Sb8, Pe2, Pd5, Pb2, Pa2] black: [Kd4, Bf1, Ba3, Pf3, Pa7] stipulation: "=" solution: | 1. Nc6+ Ke4 2. Ra4+ Kxd5 3. bxa3 fxe2 4. Nb4+ Kd6 5. Ka5 e1=Q 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Shakhmaty date: 1940 algebraic: white: [Ka1, Ba6, Ph6, Ph5, Pc5] black: [Ke3, Rh4, Be8, Sb6] stipulation: "=" solution: | 1. h7 Rxh5 2. cxb6 Rxh7 3. b7 Rh1+ 4. Kb2 Bg6 5. Bd3 Bxd3 6. b8=Q Rb1+ 7. Kc3 Rxb8 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1940 algebraic: white: [Ke1, Bc1, Sd7] black: [Kh4, Sd6, Pg5] stipulation: + solution: | "1. Kf1 Kh3 2. Bxg5 Kh2 3. Bf4+ Kh1 4. Nf6 Ne4 5. Nh5 Nf6 6. Ng3+ Kh2 7. Ne4+ Kh1 8. Nf2# 1-0" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1940 algebraic: white: [Ke1, Bc1, Sd7, Ph2] black: [Kh4, Sd6, Pg5] stipulation: + solution: | 1. Kf1 Kh3 2. Bxg5 Kxh2 3. Bf4+ Kh1 4. Nf6 Ne4 5. Nh5 Nf6 6. Ng3+ Kh2 7. Ne4+ 1-0 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1940 algebraic: white: [Kh3, Re2, Ra1, Ba2, Pg2, Pc3, Pa7] black: [Ka3, Qf8, Rg8, Bd3, Pc4, Pc2] stipulation: "=" solution: | 1. a8=Q+ Qxa8 2. Bxc4+ Kb2 3. Rxa8 Bf5+ 4. g4 Bxg4+ 5. Kh4 Rxa8 6. Rxc2+ Kxc2 7. Bd5 Ra4 8. Bc6 Rf4 9. Kg3 Rc4 10. Bd5 Ra4 11. Bc6 Rc4 12. Bd5 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Shakhmaty date: 1946 distinction: 1st Honorable Mention algebraic: white: [Kc8, Rh1, Bc2, Pf2, Pe2, Pd2, Pb4, Pb2] black: [Ke5, Qf4, Pf6, Pe7, Pd6, Pb6, Pb5] stipulation: + solution: | "1. Rh5+ Ke6 2. Bb3+ d5 3. Rxd5 Qxf2 4. d4 f5 5. e4 Qxb2 6. Rd6+ Kxd6 7. e5+ Kc6 8. d5# 1-0" --- authors: - Брон, Владимир Акимович source: Kubbel MT date: 1946 distinction: 3rd-4th Prize algebraic: white: [Kg8, Qe2, Bg4, Pg3] black: [Kg5, Qh6, Sh5, Pe6, Pe4] stipulation: + solution: | "1. Qe3+ Kg6 2. Qxe4+ Kg5 3. Qe3+ Kg6 4. Bxh5+ Kxh5 5. g4+ Kg6 6. Qxe6+ Kg5 7. Qe3+ Kg6 8. Qe7 Qh4 9. Qg7# {#} 1-0" --- authors: - Брон, Владимир Акимович source: wa02 date: 1948 distinction: 2nd Honorable Mention algebraic: white: [Ke8, Se3, Ph5] black: [Kh8, Sg8, Ph7] stipulation: + solution: | 1. Kf7 Nh6+ 2. Kf8 Ng8 3. Ng4 h6 4. Kf7 Kh7 5. Ne5 Kh8 6. Nc4 Kh7 7. Nd6 Kh8 8. Ne8 Kh7 9. Ke6 Kh8 10. Kd6 Kh7 11. Kd7 Kh8 12. Ke6 Kh7 13. Kf7 Kh8 14. Nc7 Kh7 15. Ne6 Kh8 16. Nf8 1-0 --- authors: - Брон, Владимир Акимович source: Czechoslowakija JT date: 1948 distinction: 4th Prize algebraic: white: [Kd3, Bh7, Ba1, Sg5, Sb6, Pb5] black: [Kc1, Bh5, Pe3, Pd2] stipulation: + solution: | 1. Bb2+ Kxb2 2. Nc4+ Kc1 3. Nxe3 Be2+ 4. Kc3 Bxb5 5. Nf3 d1=Q 6. Nxd1 Be2 7. Be4 Bxd1 8. Ne1 Bh5 9. Nd3+ Kd1 10. Bd5 Ke2 11. Nf4+ 1-0 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1949 distinction: Honorable Mention algebraic: white: [Kf5, Rd7, Sg7, Sd4] black: [Kf8, Qb4] stipulation: + solution: | 1. Nge6+ Kg8 2. Rd8+ Kh7 3. Kf6 Qb6 4. Ra8 Qd6 5. Nf3 1-0 --- authors: - Брон, Владимир Акимович source: Tschigorin MT date: 1949 distinction: 4th Honorable Mention algebraic: white: [Kc7, Bf1, Se5, Pe3] black: [Kc5, Qa4, Pf5, Pe7] stipulation: + solution: | 1. Nd3+ Kd5 2. Bg2+ Qe4 3. Nf4+ Ke5 4. Ng6+ Kd5 5. Nxe7+ Ke5 6. Ng6+ Kd5 7. Kd7 Qxg2 8. Nf4+ Ke4 9. Nxg2 Kf3 10. Ke6 1-0 --- authors: - Брон, Владимир Акимович source: Erevan Ty date: 1950 distinction: 2nd-3rd Honorable Mention algebraic: white: [Kf3, Bd2, Sf4, Ph6, Pe5] black: [Kd8, Ra6, Bd4, Sg7, Se8] stipulation: "=" solution: | 1. Ng6 Rxg6 2. h7 Rg3+ 3. Kxg3 Bxe5+ 4. Kg4 Nf6+ 5. Kg5 Nxh7+ 6. Kh6 Nf8 7. Bg5+ Kd7 8. Bf6 Bxf6 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1950 distinction: 3rd Honorable Mention algebraic: white: [Kb6, Be5, Sb3, Pa5, Pa4] black: [Kb4, Bf8, Pe2, Pd7] stipulation: + solution: | 1. Nc1 Bc5+ 2. Ka6 e1=Q 3. Nd3+ Kxa4 4. Nxe1 Bb4 5. Nd3 Bxa5 6. Nc5+ Kb4 7. Nb7 d6 8. Bxd6+ Ka4 9. Nc5+ Kb4 10. Bf8 1-0 --- authors: - Брон, Владимир Акимович source: Dagestaner Committee Fizkultura i Sport date: 1950 distinction: 5th Prize algebraic: white: [Kc4, Ra3, Bb1, Se3, Pb7] black: [Ke8, Rb8, Ba8, Sc8, Pe7] stipulation: + solution: | "1. Bg6+ Kd7 2. bxa8=N Rxa8 3. Be8+ Kd6 4. Rxa8 Nb6+ 5. Kb5 Nxa8 6. Bc6 Nc7+ 7. Kb6 Ne6 8. Nc4# {#} 1-0" --- authors: - Брон, Владимир Акимович source: Труд (Москва) date: 1950 algebraic: white: [Ke5, Bb4, Ph6, Ph2] black: [Kh8, Sg8] stipulation: + solution: | 1. Bf8 Kh7 2. h3 Kg6 3. h7 Kxh7 4. Kf5 Nh6+ 5. Kf6 Ng8+ 6. Kg5 Kh8 7. Kg6 1-0 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1951 distinction: 3rd Honorable Mention algebraic: white: [Kf1, Bg1, Pg4, Pg3, Pe6, Pe3, Pd4, Pa6] black: [Kd2, Re4, Be8, Pg5, Pf7] stipulation: "=" solution: | 1. a7 Bb5+ 2. Kf2 Bc6 3. d5 Bxd5 4. a8=Q Bxa8 5. exf7 Rxe3 6. Bh2 Rf3+ 7. Kg1 Ke1 8. f8=Q Rxf8 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Latvia Ty date: 1952 distinction: 2nd Honorable Mention algebraic: white: [Kh3, Be8, Ph6, Pf3, Pe2, Pc5] black: [Kg5, Re5, Pe4, Pe3] stipulation: + solution: | 1. f4+ Kxf4 2. Bf7 Rxc5 3. h7 Rc8 4. Bg8 Rc5 5. Kh4 Rc1 6. Be6 Rh1+ 7. Bh3 Rg1 8. h8=R 1-0 --- authors: - Брон, Владимир Акимович source: Kubbel MT date: 1953 distinction: 3rd Prize algebraic: white: [Ka1, Ba6, Ph6, Pb5] black: [Ke3, Rc5, Be8] stipulation: "=" solution: | 1. h7 Rh5 2. b6 Rxh7 3. b7 Rh1+ 4. Kb2 Bg6 5. Bd3 Bxd3 6. b8=Q Rb1+ 7. Kc3 Rxb8 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Конкурс Всесоюзного комитета физкультуры и спорта date: 1954 distinction: 1st Prize algebraic: white: [Kd4, Bh1, Pe2, Pc7, Pa5, Pa3] black: [Kc8, Bd1, Sb2, Pc4, Pb7] stipulation: "=" solution: | 1. Kc3 Na4+ 2. Kxc4 Bxe2+ 3. Kb4 Nb2 4. Kc3 Nd1+ 5. Kd2 Bh5 6. Bd5 Kxc7 7. a6 bxa6 8. Bf7 Bf3 9. Bd5 Bg4 10. Be6 Nf2 11. Ke3 Nd1+ 12. Kd2 Nf2 13. Ke3 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1955 distinction: 1st Honorable Mention algebraic: white: [Kb2, Bf2, Bd3, Sh4, Sg1, Pd4] black: [Kg5, Rc4, Sc3, Pd2, Pb5] stipulation: + solution: | 1. Be3+ Kf6 2. Bxd2 Na4+ 3. Ka3 Rxd4 4. Bg5+ Kxg5 5. Nhf3+ Kf4 6. Nxd4 Ke3 7. Bxb5 Nc3 8. Nf5+ Kf2 9. Nh3+ Kg2 10. Bd7 Kxh3 11. Kb3 Ne2 12. Nd4+ 1-0 --- authors: - Брон, Владимир Акимович source: Akaki-150 JT date: 1955 distinction: 1st Prize algebraic: white: [Kf1, Rh5, Bd8, Pb5] black: [Ka1, Be8, Be7, Sc1, Pe3] stipulation: "=" solution: | 1. Re5 Bxb5+ 2. Rxb5 e2+ 3. Ke1 Bxd8 4. Kd2 Bc7 5. Kc2 Bf4 6. Rb1+ Ka2 7. Rb4 Ka3 8. Re4 Bg5 9. Kc3 Bh6 10. Kc2 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Конкурс Всесоюзного комитета физкультуры и спорта date: 1955 distinction: 1st Prize algebraic: white: [Ke8, Bh2, Pe5] black: [Ke4, Sa5, Pc7] stipulation: + solution: | 1. e6 Nc6 2. Kd7 Kd5 3. Bxc7 Kc5 4. Bf4 Kb5 5. Bd6 Kb6 6. Kc8 Na7+ 7. Kd8 Nc6+ 8. Kd7 Kb7 9. Bc7 Nb4 10. Be5 Nc6 11. Bd4 1-0 --- authors: - Брон, Владимир Акимович source: Shakhmaty date: 1956 algebraic: white: [Ka6, Rd7, Sf8] black: [Kb8, Bh7, Sf7, Pc2] stipulation: "=" solution: | 1. Rd5 Nd6 2. Rxd6 Kc7 3. Rd7+ Kc6 4. Ne6 Kxd7 5. Nc5+ Kd6 6. Nb3 Bg8 7. Nc1 Kc5 8. Ka5 Kc4 9. Ka4 Kc3 10. Ka3 Bc4 11. Nb3 Bf7 12. Nc1 Kd2 13. Kb2 Bc4 14. Ka1 Kc3 15. Nb3 Bxb3 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1956 algebraic: white: [Ka1, Ra3, Bh4, Ph2, Pe4, Pd3, Pb2] black: [Kc5, Qb8, Sc8, Pc6, Pa6] stipulation: + solution: | 1. Bf2+ Kb4 2. Be1+ Kc5 3. Rc3+ Kb4 4. Ka2 Qa8 5. Rb3+ Kc5 6. Bf2+ Kd6 7. Rb8 Qxb8 8. Bg3+ 1-0 --- authors: - Брон, Владимир Акимович source: Schach-Echo date: 1958 distinction: 2nd Honorable Mention algebraic: white: [Ke2, Pa2] black: [Kh1, Ph3, Pf7, Pf4] stipulation: + solution: | "1. Kf1 h2 2. a4 f3 3. a5 f6 4. a6 f5 5. a7 f4 6. a8=R f2 7. Ra1 f3 8. Kxf2# 1-0" --- authors: - Брон, Владимир Акимович source: Schach-Echo date: 1958 distinction: 2nd Honorable Mention algebraic: white: [Ke1, Sb7, Ph4] black: [Kb1, Pc7, Pc5, Pa4] stipulation: + solution: | 1. Na5 a3 2. Kd1 a2 3. Nb3 c4 4. Na1 Kxa1 5. Kc1 c3 6. h5 c6 7. h6 c5 8. h7 c4 9. h8=R 1-0 --- authors: - Брон, Владимир Акимович source: Československý šach date: 1958 distinction: 2nd Prize algebraic: white: [Kg8, Bc7, Bb3, Sg2] black: [Ke8, Bh3, Sg7, Pd5, Pc3] stipulation: + solution: | "1. Nf4 c2 2. Bxc2 Bf5 3. Ba4+ Bd7 4. Bd1 Nf5 5. Bh5+ Ke7 6. Nxd5+ Ke6 7. Bf7# { #} 1-0" --- authors: - Брон, Владимир Акимович source: Kommunist date: 1958 distinction: 2nd Prize algebraic: white: [Kd1, Ra7, Be8, Ba1, Pb5, Pa3] black: [Kg8, Bf1, Sh2, Sa2, Pf2, Pc3, Pb6] stipulation: "=" solution: | 1. Bf7+ Kh8 2. Bxa2 Be2+ 3. Kc2 Bd3+ 4. Kb3 Bc4+ 5. Ka4 Bxa2 6. Bxc3+ Kg8 7. Rg7+ Kf8 8. Rg6 Ng4 9. Rxg4 f1=Q 10. Rf4+ Qxf4+ 11. Bb4+ Ke8 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1958 algebraic: white: [Kg1, Sc7, Pf3, Pd4] black: [Kb2, Bh8, Ph3, Pf6, Pf5, Pa7] stipulation: + solution: | 1. d5 f4 2. d6 f5 3. Nd5 Bd4+ 4. Kh2 Bf2 5. Kxh3 Be1 6. Nb6 Bb4 7. d7 Be7 8. Nc8 Bf6 9. Nxa7 1-0 --- authors: - Брон, Владимир Акимович source: Шахматна мисъл date: 1958 algebraic: white: [Kh1, Sc7, Pg2, Pe3, Pd5] black: [Kg5, Re4, Ph6] stipulation: + solution: | 1. d6 Kf6 2. Nd5+ Ke6 3. d7 Rh4+ 4. Kg1 Kxd7 5. g3 Rh3 6. Kg2 1-0 --- authors: - Брон, Владимир Акимович source: Szachy date: 1959 distinction: 2nd Honorable Mention algebraic: white: [Kb1, Sg8, Ph4, Pd6, Pb5] black: [Kh7, Rg7, Pc7, Pb6, Pb4] stipulation: + solution: | 1. Nf6+ Kh6 2. d7 Rg1+ 3. Kc2 b3+ 4. Kxb3 Rd1 5. Kc4 Rd6 6. h5 Kg5 7. Ne4+ 1-0 --- authors: - Брон, Владимир Акимович source: Československý šach date: 1959 distinction: 2nd Prize algebraic: white: [Kc4, Rb8, Ba4, Pd2] black: [Ka2, Sh5, Sf1, Pe2, Pc3, Pb2] stipulation: "=" solution: | 1. Bc2 Nxd2+ 2. Kd3 Nf4+ 3. Kxc3 b1=N+ 4. Bxb1+ Nxb1+ 5. Kc2 e1=R 6. Rb2+ Ka1 7. Ra2+ Kxa2 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Алма-Атинская правда date: 1959 distinction: 6th Prize algebraic: white: [Kf3, Rb5, Sd4, Pg7, Pg3, Pd5, Pb2, Pa3] black: [Kg8, Qd7, Ph6, Ph4, Pf6, Pf5, Pc7, Pa4] stipulation: + solution: | 1. Rb8+ Kxg7 2. Rd8 Qf7 3. Ne6+ Kg6 4. Rd7 Qg8 5. Nf4+ Kg5 6. Rd8 Qf7 7. Rf8 Qh7 8. Rh8 Qf7 9. gxh4+ Kxh4 10. Rxh6+ Kg5 11. Rh8 1-0 --- authors: - Брон, Владимир Акимович source: Szachy date: 1961 distinction: 1st Prize algebraic: white: [Kc2, Bf4, Sh1, Sf1, Pc3] black: [Ke1, Bg1, Sf5, Pb4] stipulation: + solution: | 1. Nfg3 Ne3+ 2. Bxe3 bxc3 3. Bg5 Be3 4. Bf6 Bd4 5. Bh4 Bf6 6. Nf2 Kxf2 7. Ne4+ Kf3 8. Nxf6 1-0 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1961 distinction: 2nd Honorable Mention algebraic: white: [Ke1, Rh3, Bg4] black: [Ka4, Qa6, Be8, Pb4, Pa5] stipulation: "=" solution: | 1. Bd1+ b3 2. Rxb3 Bb5 3. Bc2 Qb6 4. Kd2 Qh6+ 5. Kc3 Qf6+ 6. Kd2 Qf4+ 7. Kc3 Qe3+ 8. Kb2 Qd4+ 9. Kc1 Qf4+ 10. Kb2 Qd2 11. Rd3+ Qxc2+ 12. Kxc2 Bxd3+ 13. Kb2 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Tidskrift för Schack date: 1961 distinction: 3rd Prize algebraic: white: [Ka8, Be2, Pe6, Pe4, Pd6, Pb2, Pa7, Pa4] black: [Kc8, Qb1, Bd7, Sc3, Pa5] stipulation: "=" solution: | 1. Ba6+ Kd8 2. e7+ Ke8 3. Kb8 Qxb2+ 4. Kc7 Nd5+ 5. exd5 Qc3+ 6. Kb7 Qb3+ 7. Kc7 Qxd5 8. a8=Q+ Qxa8 9. Bb7 Qa7 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1962 distinction: 1st Prize algebraic: white: [Kg1, Bc8, Ph2, Pg7, Pc5, Pb5, Pa5] black: [Ka7, Rg8, Bb8, Pg6, Pg5, Pg3, Pa6] stipulation: + solution: | 1. b6+ Ka8 2. Be6 Rxg7 3. Bd5+ Rb7 4. c6 Rc7 5. Kh1 gxh2 6. Bg2 g4 7. Bd5 g3 8. Bg2 g5 9. Bd5 g2+ 10. Bxg2 g4 11. Bd5 g3 12. Bg2 Ra7 13. c7+ Rb7 14. Be4 Bxc7 15. bxc7 Ka7 16. c8=R 1-0 --- authors: - Брон, Владимир Акимович source: Themes 64 date: 1962 distinction: 1st-2nd Prize algebraic: white: [Kb1, Qh2, Ba4, Pc3] black: [Kd3, Qa3, Be2, Pd7] stipulation: + solution: | 1. Bb5+ Kxc3 2. Qe5+ Kb4 3. Qe7+ Kb3 4. Qxe2 d5 5. Qh2 d4 6. Qd2 d3 7. Qxd3+ Kb4 8. Qd6+ Kb3 9. Qd2 1-0 --- authors: - Брон, Владимир Акимович source: Молодость Грузии date: 1962 distinction: 2nd Honorable Mention algebraic: white: [Kh2, Ra7, Bh5, Pc2] black: [Kf1, Rf6, Pd4, Pd3] stipulation: + solution: | "1. Kg3 Ke1 2. cxd3 Kd2 3. Ra3 Rc6 4. Kf4 Rc3 5. Ra2+ Kxd3 6. Be2# 1-0" --- authors: - Брон, Владимир Акимович source: FIDE Ty date: 1962 distinction: 4th Honorable Mention algebraic: white: [Kg8, Bh1, Bc1, Sd7, Sb7, Pc2, Pb2] black: [Kb4, Qe1, Pg6, Pf5, Pd3, Pb3] stipulation: "=" solution: | 1. Bd2+ Qxd2 2. c3+ Kb5 (2... Qxc3 $144 3. bxc3+ Kxc3 4. Ndc5 b2 5. Na4+ Kc2 6. Nxb2 Kxb2 $11) 3. Nd6+ Ka6 4. Bb7+ Ka7 5. Bc8 $1 Qf4 6. Nb5+ Ka8 7. Nb6+ Kb8 8. Ba6 $1 Qe3 9. Nd7+ Ka8 10. Nc7+ Ka7 11. Bc8 $1 {= ici s'arrкte l'йtude} Qg3 { contrфle c7} (11... Qf3 $144 12. Nb5+ Ka8 13. Nc7+ Ka7 14. Nb5+ Ka8 $11) 12. Nb5+ Ka8 13. Nb6+ Kb8 14. Ba6 d2 (14... Qe3 $144 {contrфle b6} 15. Nd7+ Ka8 16. Nc7+ Ka7 17. Bc8 $11) 15. Nd7+ Ka8 16. Nb6+ $11 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Československý šach date: 1962 algebraic: white: [Kg6, Bf8, Sh6, Sc7, Ph4] black: [Kc8, Bc4, Sg2, Pd7] stipulation: + solution: | 1. Ne8 Nxh4+ 2. Kh5 Nf5 3. Nxf5 Bf7+ 4. Kg5 Bxe8 5. Nd6+ Kd8 6. Kh6 1-0 --- authors: - Брон, Владимир Акимович source: Современное слово date: 1962 algebraic: white: [Kh2, Ra8, Sh8, Pd3] black: [Ke1, Rg5, Pd4] stipulation: + solution: | "1. Nf7 Rh5+ 2. Kg3 Kd2 3. Ra3 Rc5 4. Kf4 Rc3 5. Ra2+ Kxd3 6. Ne5# 1-0" --- authors: - Брон, Владимир Акимович source: Szachy date: 1963 distinction: 1st Prize algebraic: white: [Kh7, Sh6, Pg2, Pd6, Pd5] black: [Kf6, Re2] stipulation: + solution: | 1. Ng8+ Kf7 2. d7 Rxg2 3. d8=R Rh2+ 4. Nh6+ Ke7 5. Ra8 Kd6 6. Ra5 Rh5 7. Ra6+ Kxd5 8. Ra5+ 1-0 --- authors: - Брон, Владимир Акимович source: New Statesman {and Nation} date: 1964 distinction: 1st-2nd Prize algebraic: white: [Kd1, Bb3, Sg7, Sa5, Pg6, Pe2] black: [Ke4, Ba3, Sh8, Sh1, Pd2] stipulation: + solution: | "1. Bc2+ Kd4 2. Kxd2 Bb4+ 3. Kc1 Nxg6 4. Nc6+ Ke3 5. Nxb4 Nf4 6. Nf5+ Kxe2 7. Be4 Nf2 8. Ng3+ Ke3 9. Nc2# {#} 1-0" --- authors: - Брон, Владимир Акимович source: Fischer MT date: 1965 distinction: 1st Prize algebraic: white: [Ke6, Rf5, Bf6, Ba6, Pc5] black: [Ke8, Rb1, Bf4, Sc2, Ph3, Ph2] stipulation: "=" solution: | 1. Bb5+ Rxb5 2. Rh5 Nd4+ 3. Bxd4 Kd8 4. Rh8+ Kc7 5. Rxh3 Rb1 6. Be3 Re1 7. Kf5 Bg3 8. Bf2 Rf1 9. Kg4 Be5 10. Kf5 Bg3 11. Kg4 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Schakend Nederland date: 1965 distinction: 1st-2nd Prize algebraic: white: [Ke2, Ba2, Pd5, Pb7] black: [Ke8, Bc7, Sb5, Sa6] stipulation: "=" solution: | 1. Bc4 Nc3+ 2. Kd3 Na4 3. b8=Q+ Bxb8 4. Bxa6 Nc5+ 5. Kc4 Nxa6 6. Kb5 Nc7+ 7. Kc6 Kd8 8. Kb7 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Šahs/Шахматы (Rīga) date: 1965 distinction: 2nd Prize algebraic: white: [Kd1, Bh5, Bf4, Sc7] black: [Ka5, Pg2, Pb2] stipulation: + solution: | 1. Bd2+ Ka4 2. Be8+ Kb3 3. Bf7+ Ka4 4. Kc2 b1=Q+ 5. Kxb1 g1=Q+ 6. Ka2 Qg8 7. Bd5 Qf7 8. Ne6 Kb5 9. Nd4+ Ka4 10. Bb3+ Qxb3+ 11. Nxb3 1-0 --- authors: - Брон, Владимир Акимович source: Práce date: 1965 distinction: 3rd Prize algebraic: white: [Kd7, Bf1, Sd6, Sd4] black: [Kh4, Sg4, Se6, Pg5, Pe2] stipulation: + solution: | "1. N4f5+ Kh5 2. Ng3+ Kh6 3. Ndf5+ Kg6 4. Bxe2 Nc5+ 5. Kd6 Ne4+ 6. Nxe4 Kxf5 7. Ng3+ Kf4 8. Nh5+ Kf5 9. Bd3# 1-0" --- authors: - Брон, Владимир Акимович source: Clausen MT date: 1966 distinction: 1st Prize algebraic: white: [Kc1, Be3, Sa8, Pg6, Pg2, Pf6] black: [Kg4, Rc6, Bc5, Pd4] stipulation: + solution: | 1. g7 Bf8+ 2. Kd1 Bxg7 3. fxg7 Rg6 4. Bxd4 Kh5 5. Ke2 Rxg2+ 6. Kf3 Rg6 7. Nc7 Kg5 8. Nd5 Kh6 9. Ne7 Rxg7 10. Nf5+ 1-0 --- authors: - Брон, Владимир Акимович source: National Zeitung date: 1966 distinction: 1st Prize algebraic: white: [Kf4, Bg3, Sc3, Pc2, Pa7, Pa2] black: [Ka8, Re3, Sf1, Pf3, Pf2] stipulation: "=" solution: | 1. Nd1 Re4+ 2. Kxf3 Re1 3. Kxf2 Rxd1 4. Ke2 Rc1 5. Bf4 Rb1 6. Bb8 Kb7 7. a3 Ka8 8. a4 Ra1 9. Be5 Rc1 10. Bf4 Rb1 11. Bb8 Kb7 12. a5 Rc1 13. a6+ Ka8 14. Bf4 Ra1 15. Be5 Ra5 16. Bb8 Rf5 17. c4 Rf7 18. c5 Rf5 19. c6 Rf6 20. c7 Ng3+ 21. Kd3 Rf3+ 22. Kd4 Ne2+ 23. Kd5 Rc3 24. Kd6 Nf4 25. Kd7 Nd5 26. c8=N 1/2-1/2 --- authors: - Брон, Владимир Акимович source: New Statesman {and Nation} date: 1966 distinction: 1st Prize algebraic: white: [Kb2, Pe7, Pe3, Pb5] black: [Kd1, Bb7, Sg7, Pc5] stipulation: "=" solution: | 1. Kc3 Bg2 2. Kc4 Kc2 3. e4 Bxe4 4. Kxc5 Kc3 5. Kd6 Kb4 6. b6 Kb5 7. e8=Q+ Nxe8+ 8. Ke7 Ng7 9. Kf6 Nh5+ 10. Kg5 Ng7 11. Kf6 Ne8+ 12. Ke7 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Themes 64 date: 1967 distinction: 1st Prize algebraic: white: [Kc4, Ba7, Sf1, Pg6] black: [Ke5, Rh3] stipulation: + solution: | 1. g7 Rh4+ 2. Kd3 Rg4 3. Ne3 Rg5 4. Bd4+ Ke6 5. Ke4 Kf7 6. Nf5 Kg8 7. Bf6 Rg1 8. Ke5 Rg2 9. Ke6 Rg1 10. Ke7 Re1+ 11. Kd7 Kh7 12. Bb2 Re2 13. Bc3 Rg2 14. Ke7 Kg8 15. Ke8 Rg1 16. Be5 Rg2 17. Bd4 Rg5 18. Nh6+ Kh7 19. Kf8 Kxh6 20. Be3 1-0 --- authors: - Брон, Владимир Акимович source: Dnepropetrovsk Chess Club Ty date: 1967 distinction: 1st-2nd Honorable Mention algebraic: white: [Kh2, Bd6, Sc8, Pf6, Pb5] black: [Ka4, Sh4, Sd7, Pf5] stipulation: + solution: | "1. b6 Kb5 2. b7 Kc6 3. b8=Q Nxb8 4. Bxb8 Kd7 5. Ne7 Ke6 6. Kg3 Kxf6 7. Nd5+ Kg5 8. Bf4+ Kh5 9. Nf6+ Kg6 10. Ne8 Kh5 11. Ng7+ Kg6 12. Be5 Kg5 13. Ne6+ Kh5 14. Bf4 Ng6 15. Ng7# 1-0" --- authors: - Брон, Владимир Акимович source: Rubinstein MT date: 1968 distinction: 1st Honorable Mention algebraic: white: [Ka8, Rh3, Pf2, Pe5, Pa7, Pa6] black: [Kg4, Rb1, Pg5, Pe6, Pa4] stipulation: + solution: | 1. Ra3 Kf5 2. Ra1 Rb2 3. Rxa4 Kxe5 4. Ra2 Rxa2 5. Kb7 Rb2+ 6. Kc7 Rc2+ 7. Kd7 Rd2+ 8. Ke7 1-0 --- authors: - Брон, Владимир Акимович source: Schakend Nederland date: 1968 distinction: 1st Honorable Mention algebraic: white: [Kb2, Ba1, Sg2, Sa8, Pa4] black: [Kc4, Bg6, Sg1, Pd6] stipulation: + solution: | 1. Ka3 Be4 2. Nb6+ Kc5 3. Nf4 Kxb6 4. Bd4+ Ka5 5. Bxg1 Bc6 6. Bf2 Bxa4 7. Be1+ Kb5 8. Ne2 Bc2 9. Nd4+ 1-0 --- authors: - Брон, Владимир Акимович source: Rubinstein MT date: 1968 distinction: 1st Prize algebraic: white: [Ke6, Rf1, Sa4] black: [Kd2, Rb8, Bh6, Sd7, Pb2] stipulation: "=" solution: | 1. Rf2+ Kc1 2. Nxb2 Nf8+ 3. Kf7 Rxb2 4. Rf1+ Kd2 5. Rf6 Rb7+ 6. Kg8 Bg7 7. Rf2+ Kd3 8. Rd2+ Kc4 9. Rc2+ Kd5 10. Rc7 Rb8 11. Rb7 Rxb7 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Kalendar českých šachistů date: 1968 distinction: 2nd Commendation algebraic: white: [Ke4, Bf8, Sb6, Ph6] black: [Kb2, Be8, Sg8, Se6, Pa4] stipulation: "=" solution: | 1. h7 Ng5+ 2. Kf5 Nxh7 3. Nxa4+ Bxa4 4. Bg7+ Kb1 5. Kg6 Bc2+ 6. Kf7 Bb3+ 7. Kg6 Bc2+ 8. Kf7 1/2-1/2 --- authors: - Брон, Владимир Акимович source: date: 1968 algebraic: white: [Kc4, Bf1, Sd8, Pg7, Pg5, Pf4] black: [Kh7, Rf7, Rd5, Bh5] stipulation: "=" solution: | 1. g8=Q+ Kxg8 2. Nxf7 Bxf7 3. g6 Be6 4. Bh3 Re5+ 5. Kd3 Re1 6. Kd2 Re4 7. Kd3 Re1 8. Kd2 1/2-1/2 --- authors: - Брон, Владимир Акимович source: New Statesman {and Nation} date: 1968 distinction: 3rd Prize algebraic: white: [Ka3, Bd7, Bb8, Se5, Pb4, Pa5] black: [Kb7, Bd2, Se3, Pe7, Pe6, Pb3, Pa7] stipulation: + solution: | "1. Nc6 Bxb4+ 2. Nxb4 Nc4+ 3. Kxb3 Nxa5+ 4. Ka4 Nc4 5. Bxe6 Nb6+ 6. Ka5 Kxb8 7. Na6+ Ka8 8. Kb4 Kb7 9. Kb5 Nc8 10. Bd5# 1-0" --- authors: - Брон, Владимир Акимович source: Breider-60 JT date: 1968 distinction: 4th Prize algebraic: white: [Kh6, Rc5, Be7, Pe5] black: [Kg8, Se1, Ph7, Ph5, Ph2, Pd7, Pb7, Pb3] stipulation: + solution: | 1. e6 dxe6 2. Bd6 e5 3. Rc7 h1=Q 4. Rg7+ Kh8 5. Rxh7+ Kg8 6. Rg7+ Kh8 7. Bxe5 Nd3 8. Bd4 Qe4 9. Rg4+ Qe5 10. Bxe5+ Nxe5 11. Re4 Nf7+ 12. Kg6 Nd6 13. Ra4 1-0 --- authors: - Брон, Владимир Акимович source: Chéron-70 JT date: 1968 distinction: 4th Prize algebraic: white: [Kh3, Sa3, Ph6, Pg4] black: [Kc1, Ph5, Pe7, Pe3, Pb3] stipulation: + solution: | 1. h7 e2 2. h8=Q hxg4+ 3. Kg2 e1=Q 4. Qa1+ Kd2 5. Nc4+ Ke2 6. Qe5+ Kd1 7. Nb2+ Kd2 8. Qa5+ Ke2 9. Qb5+ Kd2 10. Qb4+ Ke2 11. Qxe7+ Kd2 12. Qb4+ Ke2 13. Qxg4+ Ke3 14. Qg5+ Kd4 15. Qd8+ Ke3 16. Qe7+ Kd2 17. Qb4+ Ke2 18. Qf4 1-0 --- authors: - Брон, Владимир Акимович source: Schakend Nederland source-id: 1114 date: 1968 algebraic: white: [Kb2, Ba1, Sg2, Sa8, Pa4] black: [Kc4, Bg6, Sg1] stipulation: + solution: | 1. Ka3 Be4 2. Nb6+ Kc5 3. Nf4 Kxb6 4. Bd4+ Ka5 5. Bxg1 Bc2 6. Bf2 Bxa4 7. Be1+ Kb5 8. Ne2 Bc2 9. Nd4+ 1-0 --- authors: - Брон, Владимир Акимович source: МК З.Бирнов date: 1969 distinction: 2nd Prize algebraic: white: [Ka3, Bg8, Se1, Pg7, Pc3, Pc2] black: [Kb1, Bh6, Sf6, Pd7, Pd4, Pa4] stipulation: + solution: | "1. Ba2+ Kc1 2. g8=Q Nxg8 3. Bxg8 Kd2 4. Nf3+ Kxc2 5. cxd4 d5 6. Kxa4 Kd3 7. Kb4 Ke4 8. Nh4 Be3 9. Bh7+ Kxd4 10. Nf3# 1-0" --- authors: - Брон, Владимир Акимович source: New Statesman {and Nation} date: 1969 algebraic: white: [Ka7, Qh2, Be2] black: [Kc8, Qa3, Rc2, Pc4, Pb7, Pb6, Pa4] stipulation: + solution: | 1. Bg4+ Kd8 2. Qh8+ Ke7 3. Qg7+ Ke8 4. Bd7+ Kd8 5. Bb5 Qd6 6. Qg5+ Kc7 7. Qg8 Qd8 8. Qg7+ Kd6 9. Qd4+ Ke7 10. Qh4+ 1-0 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1969 algebraic: white: [Ka5, Bg3, Sg4, Pd6] black: [Kd5, Re2, Pe6, Pb3] stipulation: + solution: | "1. d7 Ra2+ 2. Kb6 Ra8 3. Be5 b2 4. Bxb2 Kd6 5. Kb7 Rd8 6. Ba3+ Kxd7 7. Nf6# 1-0" --- authors: - Брон, Владимир Акимович source: Lommer JT date: 1970 distinction: 1st Prize algebraic: white: [Ke4, Bc8, Sd7, Ph4, Pe2, Pd6] black: [Ke6, Bh5, Sf1, Se8, Pe3, Pb7] stipulation: "=" solution: | 1. Nc5+ Kxd6 2. Nxb7+ Kc7 3. Bh3 Ng3+ 4. Kxe3 Kxb7 5. Kf4 Nxe2+ 6. Kg5 Ng3 7. Kf4 Ne2+ 8. Kg5 Ng7 9. Kf6 Ne8+ 10. Kg5 Ng3 11. Kf4 Ne2+ 12. Kg5 Ng7 13. Kf6 Ne8+ 14. Kg5 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Kalendar českých šachistů date: 1970 distinction: 2nd Commendation algebraic: white: [Ka8, Bf8, Pf3, Pd6, Pc6, Pa4] black: [Kb6, Qe1, Bb1, Pd4, Pb7, Pa5] stipulation: "=" solution: | 1. d7 Qh4 2. cxb7 Ka6 3. Bc5 Be4 4. fxe4 Qxe4 5. d8=N d3 6. Be3 Qd5 7. Bg5 d2 8. Bxd2 Qxd8+ 9. b8=N+ Kb6 10. Be3+ Kc7 11. Bb6+ Kxb6 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Československý šach date: 1970 distinction: 4th Honorable Mention algebraic: white: [Kd5, Rh7, Bh4] black: [Kb5, Bf8, Bf1] stipulation: + solution: | 1. Rb7+ Ka6 2. Rf7 Bg2+ 3. Kc4 Ba3 4. Bf2 Bf1+ 5. Kb3 Bc1 6. Ra7+ Kb5 7. Ra1 Bc4+ 8. Kc3 Bh6 9. Rb1+ 1-0 --- authors: - Брон, Владимир Акимович source: Themes 64 date: 1970 distinction: 4th Honorable Mention algebraic: white: [Kc6, Bh4, Sd3, Pc2] black: [Ka4, Qd2, Pe7] stipulation: + solution: | 1. Nb2+ Kb4 2. Be1 Qc3+ 3. Kd5 e6+ 4. Kd6 e5 5. Nd3+ Kc4 6. Bxc3 Kxc3 7. Ne1 e4 8. Ke5 e3 9. Ke4 Kd2 10. c4 1-0 --- authors: - Брон, Владимир Акимович source: Solidarity Ty date: 1970 distinction: 4th Prize algebraic: white: [Kb4, Rh5, Sf2, Pc6, Pa7] black: [Ka8, Rh8, Ph6, Pd6, Pb7] stipulation: + solution: | "1. c7 Kxa7 2. Ne4 Kb6 3. Rxh6 Rc8 4. Nxd6 Rxc7 5. Nc8# 1-0" --- authors: - Брон, Владимир Акимович source: Solidarity Ty date: 1970 distinction: 4th Prize algebraic: white: [Kb4, Rh5, Ba1, Sf2, Pc6] black: [Ka7, Rd8, Bh8, Ph6, Pd6, Pb7] stipulation: + solution: | "1. c7 Rc8 2. Bxh8 Rxh8 3. Ne4 Kb6 4. Rxh6 Rc8 5. Nxd6 Rxc7 6. Nc8# 1-0" --- authors: - Брон, Владимир Акимович source: Schakend Nederland date: 1971 distinction: 1st Honorable Mention algebraic: white: [Kd8, Rg5, Ph2, Pf2, Pd4, Pb6, Pa5] black: [Kb8, Qf3, Ph4, Pf5, Pd7, Pb7] stipulation: + solution: | 1. Rg8 Qd5 2. Rf8 Qd6 3. Re8 h3 4. f3 Ka8 5. f4 Kb8 6. d5 Ka8 7. Kc8 Qg6 8. Kxd7+ 1-0 --- authors: - Брон, Владимир Акимович source: Gorgiev MT date: 1971 distinction: 1st Prize algebraic: white: [Kd2, Rh5, Rf5, Bd7, Ba7, Pf2] black: [Kf1, Qg6, Ra3, Bb3, Pg5, Pe4] stipulation: + solution: | 1. Bb5+ Bc4 2. Bxc4+ Rd3+ 3. Bxd3+ exd3 4. Rh1+ Kg2 5. Rg1+ Kxg1 6. Rxg5+ Kf1 7. f4 Qb6 8. Rg1+ 1-0 --- authors: - Брон, Владимир Акимович source: Farago MT, Revista Română de Şah date: 1971 distinction: 2nd Commendation algebraic: white: [Kh3, Bc3, Ph5, Pf6, Pf4, Pe3] black: [Kd8, Rf2, Bd6, Pe7, Pe2] stipulation: + solution: | 1. f7 e5 2. h6 Rf1 3. Kg2 exf4 4. exf4 Rxf4 5. h7 e1=N+ 6. Bxe1 Be5 7. Bh4+ Kd7 8. Bf6 Rxf6 9. h8=Q Rg6+ 10. Kh1 Bxh8 11. f8=Q Be5 12. Qf7+ 1-0 --- authors: - Брон, Владимир Акимович source: The Problemist date: 1971 distinction: 3rd Prize algebraic: white: [Kh2, Rc1, Sf1, Ph6, Pf4, Pf3, Pb2] black: [Kh5, Qd7, Pf5, Pc7] stipulation: + solution: | "1. h7 Qxh7 2. Rc6 Qg7 3. Re6 Kh4 4. b4 c6 5. Rd6 c5 6. b5 c4 7. b6 c3 8. b7 c2 9. b8=Q c1=Q 10. Qd8+ Kh5 11. Qe8+ Kh4 12. Qe7+ Qxe7 13. Rh6# 1-0" --- authors: - Брон, Владимир Акимович source: Halberstadt MT date: 1971 distinction: 4th Prize algebraic: white: [Kf7, Bg1, Be8, Sf3, Se3] black: [Kd8, Bb1, Se4, Ph6, Pd5, Pd4] stipulation: + solution: | 1. Nf5 Ng5+ 2. Nxg5 Bxf5 3. Nf3 Bg4 4. Nxd4 Bh5+ 5. Kf8 Bxe8 6. Ne6+ Kd7 7. Nf4 h5 8. Bf2 d4 9. Bh4 d3 10. Nxd3 1-0 --- authors: - Брон, Владимир Акимович source: Schakend Nederland source-id: 1259 date: 1971 algebraic: white: [Kd8, Rg5, Ph2, Pf3, Pf2, Pd4, Pb5, Pa5] black: [Kb8, Qh3, Ph4, Pf5, Pd7, Pb7] stipulation: + solution: | 1. b6 Qxf3 2. Rg8 Qd5 3. Rf8 Qd6 4. Re8 h3 5. f3 Ka8 6. f4 Kb8 7. d5 Ka8 8. Kc8 Qxf4 9. Kxd7+ 1-0 --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet date: 1972 distinction: 1st Honorable Mention algebraic: white: [Ka1, Rh1, Re1, Ph5, Ph4, Pf7, Pc6] black: [Kh8, Rf4, Rd4, Pe7, Pe6, Pc2, Pb5, Pb4, Pb3, Pa7] stipulation: + solution: | 1. c7 Rc4 2. Re4 c1=Q+ 3. Rxc1 Rxc1+ 4. Kb2 Rff1 5. Re1 Rc2+ 6. Kxb3 Rff2 7. Re2 Rc3+ 8. Kxb4 Rff3 9. Re3 Rc4+ 10. Kxb5 Rff4 11. Re4 1-0 --- authors: - Брон, Владимир Акимович source: Het Belgisch Schaakbord (L'Echiquier Belge) date: 1972 distinction: 2nd Honorable Mention algebraic: white: [Kd8, Ph2, Pb5] black: [Ka8, Pc7, Pc6, Pa6] stipulation: + solution: | 1. bxc6 Kb8 2. h4 a5 3. h5 a4 4. h6 a3 5. h7 a2 6. h8=B 1-0 keywords: - White underpromotion - stalemate avoidance --- authors: - Брон, Владимир Акимович source: Themes 64 date: 1972 distinction: 3rd Prize algebraic: white: [Kb7, Rb4, Sc1, Pa4] black: [Ka5, Ra1, Pc5, Pa2] stipulation: "=" solution: | 1. Rb5+ Kxa4 2. Rxc5 Rb1+ 3. Ka6 a1=Q 4. Ra5+ Kb4 5. Nd3+ Kc3 6. Nc5 Qb2 7. Na4+ 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Solidarity Ty date: 1972 distinction: 4th Honorable Mention algebraic: white: [Kg1, Bd8] black: [Ke5, Ba7, Pg3, Pd4] stipulation: "=" solution: 1. Bc7+ Ke4 2. Bxg3 Kf3 3. Bf2 d3 4. Kf1 d2 5. Be1 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Schakend Nederland date: 1972 algebraic: white: [Kg5, Bh7, Ba7, Sb6, Pc2] black: [Ke2, Bc6, Pg4, Pd2] stipulation: "=" solution: | 1. Na4 Bxa4 2. Bd3+ Ke1 3. Bb8 Kf2 4. Ba7+ Ke1 5. Bb8 d1=Q 6. Bg3+ Kd2 7. Bf4+ Kc3 8. Be5+ Kb4 9. Bd6+ Ka5 10. Bc7+ Kb4 11. Bd6+ 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Buletin Problemistic date: 1973 distinction: Commendation algebraic: white: [Kg4, Bc4, Sb6, Sa4, Pb2] black: [Ka7, Rh1, Pg5, Pc7, Pc5] stipulation: + solution: | 1. Nc8+ Kb8 2. Ne7 Rh4+ 3. Kxg5 Rxc4 4. Nc6+ Ka8 5. Nc3 Kb7 6. Na5+ 1-0 --- authors: - Брон, Владимир Акимович source: Revista de Şah date: 1973 distinction: 1st Commendation algebraic: white: [Kg7, Rd2, Bd3, Pc5] black: [Kd7, Qa7, Sf8, Pf6, Pc7, Pc6] stipulation: + solution: | 1. Bf5+ Ke7 2. Re2+ Ne6+ 3. Rxe6+ Kd8 4. Kf7 Qa2 5. Kf8 Qe2 6. Re4 Qe3 7. Kf7 Qb3+ 8. Be6 Qd3 9. Rh4 1-0 --- authors: - Брон, Владимир Акимович source: Szachy date: 1973 distinction: 1st Commendation algebraic: white: [Kg7, Rc4, Bg3, Pg2, Pe5, Pb6] black: [Kb8, Qd5, Bb1, Sa7, Pf5, Pb7] stipulation: + solution: | 1. e6+ f4 2. Bxf4+ Ka8 3. Ra4 Qxg2+ 4. Kf8 Qa2 5. Rxa2 Bxa2 6. e7 Bf7 7. Kxf7 Nc8 8. e8=N Nxb6 9. Nc7+ Kb8 10. Nd5+ Ka7 11. Be3 1-0 --- authors: - Брон, Владимир Акимович source: Revista de Şah date: 1973 distinction: 1st Honorable Mention algebraic: white: [Kh1, Sg2] black: [Ke5, Bg3, Sc4] stipulation: "=" solution: | 1. Kg1 Ke4 2. Kf1 Nd2+ 3. Ke2 Nf3 4. Kd1 Kd3 5. Nf4+ Bxf4 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Wiener Schachzeitung date: 1973 distinction: 2nd Honorable Mention algebraic: white: [Ka3, Sg6, Sb2, Pf3, Pe4, Pd6, Pd2, Pb4, Pb3] black: [Ka1, Ba6, Pg4, Pg3, Pe5, Pd4, Pb7, Pb6, Pb5] stipulation: + solution: | 1. Nh4 g2 2. Nxg2 gxf3 3. Ne3 dxe3 4. dxe3 f2 5. d7 f1=N 6. d8=R Nxe3 7. Rc8 Kb1 8. Nd3 1-0 --- authors: - Брон, Владимир Акимович source: Schakend Nederland date: 1973 distinction: 3rd Honorable Mention algebraic: white: [Kc3, Bg7, Sg5] black: [Kh2, Se1, Pc5, Pa6] stipulation: + solution: | "1. Kd2 Ng2 2. Be5+ Kg1 3. Bg3 Kf1 4. Ne4 c4 5. Nc3 a5 6. Na4 Kg1 7. Ke2 c3 8. Nxc3 Kh1 9. Kf2 a4 10. Nd1 a3 11. Kf1 a2 12. Nf2# 1-0" --- authors: - Брон, Владимир Акимович source: date: 1973 algebraic: white: [Kg1, Rf4, Se6, Pf7] black: [Kh6, Qb8, Bc2, Sf2, Pc5] stipulation: + solution: | 1. f8=Q+ Qxf8 2. Rh4+ Kg6 3. Nxf8+ Kg7 4. Ne6+ Kf7 5. Nd8+ Ke7 6. Nc6+ Kd7 7. Nb8+ Kc7 8. Na6+ Kb7 9. Nxc5+ Kb6 10. Nd7+ Kc6 11. Nf6 1-0 --- authors: - Брон, Владимир Акимович source: New Statesman {and Nation} date: 1974 distinction: 5th Honorable Mention algebraic: white: [Kf8, Bc6, Pf6, Pa6] black: [Kg5, Ra5] stipulation: + solution: | 1. f7 Kf6 2. Bb5 Ra1 3. Bc4 Rh1 4. Ke8 Re1+ 5. Kd7 Kg7 6. Kc6 Ra1 7. Kb6 Rb1+ 8. Bb5 Ra1 9. Be8 Kf8 10. a7 Ke7 11. Kb7 Rb1+ 12. Bb5 Rxb5+ 13. Ka6 Rb1 14. f8=Q+ 1-0 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1974 algebraic: white: [Kc3, Bg7, Sg5] black: [Kh2, Se1, Pb5] stipulation: + solution: | 1. Kd2 Ng2 2. Be5+ Kg1 3. Bg3 b4 4. Nf3+ Kh1 5. Nd4 Kg1 6. Kd3 Kh1 7. Ke4 Kg1 8. Nf3+ Kf1 9. Kd3 b3 10. Nd2+ Kg1 11. Nxb3 1-0 --- authors: - Брон, Владимир Акимович source: Latvia Ty date: 1975 distinction: Honorable Mention algebraic: white: [Kg6, Ba5, Ph4, Ph2, Pd6, Pc7, Pa7] black: [Kh1, Re8, Re5, Sa6, Ph5] stipulation: + solution: | 1. d7 R5e6+ 2. Kf5 Re5+ 3. Kf4 Re4+ 4. Kf3 Re3+ 5. Kf2 Re2+ 6. Kf1 Nxc7 7. Bxc7 R2e7 8. dxe8=Q Rxe8 9. Kf2 Re4 10. a8=R 1-0 --- authors: - Брон, Владимир Акимович source: Szachy date: 1975 distinction: 1st Commendation algebraic: white: [Ke8, Rc6, Sc5, Ph6, Ph3, Pa6] black: [Ka8, Rb4, Bc2, Sg8, Pa4] stipulation: "=" solution: | 1. h7 Bxh7 2. Rc8+ Ka7 3. Rc7+ Kb8 4. a7+ Ka8 5. Nxa4 Rxa4 6. Kf7 Rh4 7. Kg7 Rxh3 8. Rf7 Rh4 9. Rc7 Rh1 10. Rf7 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Командное первенство СССР date: 1975 distinction: 13th Prize algebraic: white: [Kg6, Sd7, Sa7, Pf5, Pc3] black: [Kh2, Bd3, Sb2] stipulation: + solution: | 1. Ne5 Be4 2. Kg5 Bxf5 3. Kxf5 Nd1 4. Ng4+ Kg3 5. c4 Nb2 6. c5 Nd3 7. c6 Nb4 8. c7 Nd5 9. c8=N 1-0 --- authors: - Брон, Владимир Акимович source: «64» date: 1975 distinction: 3rd Honorable Mention algebraic: white: [Kh5, Be1, Bb3, Pa6] black: [Kd7, Rd3, Ba4] stipulation: + solution: | 1. a7 Bc6 2. Ba4 Rd5+ 3. Kh6 Ra5 4. Bxa5 Kc8 5. Bb5 Be4 6. Ba6+ 1-0 --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet date: 1975 distinction: 3rd Honorable Mention algebraic: white: [Kd1, Ra3, Bg8, Ba1, Pf5] black: [Kb1, Rh6, Bg7, Pg6, Pg3, Pd7, Pd4, Pc3] stipulation: + solution: | 1. Ba2+ Kxa1 2. Bd5+ Kb2 3. Rb3+ Ka2 4. Rxc3+ Ka1 5. Ra3+ Kb2 6. Rb3+ Ka2 7. Rxg3+ Kb2 8. Rb3+ Ka2 9. f6 Bxf6 10. Rh3+ 1-0 --- authors: - Брон, Владимир Акимович source: Armenian Central Chess Club Ty date: 1975 distinction: 3rd Prize algebraic: white: [Kg4, Rg1, Pf5, Pc4] black: [Ka4, Ra2, Bh8, Bh7] stipulation: "=" solution: | 1. Rh1 Rg2+ 2. Kf4 Rg7 3. Ra1+ Kb4 4. Ra8 Rg8 5. Ra7 Rg7 6. Ra8 Rg8 7. Ra7 Bg7 8. Ke4 Kc5 9. Rf7 Kd6 10. c5+ Kxc5 11. Kf3 Kd5 12. Ke2 Kd4 13. Kf2 Ke5 14. f6 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Schakend Nederland source-id: 1435 date: 1975 distinction: 5th Honorable Mention algebraic: white: [Kb4, Bh6, Ba8, Sa3, Sa1] black: [Kb2, Bh7, Bf6] stipulation: + solution: | "1. Nb3 Be7+ 2. Ka4 Bxa3 3. Bc1+ Ka2 4. Bxa3 Be4 5. Nc1+ Ka1 6. Ne2 Bxa8 7. Nc3 Bc6+ 8. Kb3 Bf3 9. Bb2# {#} 1-0" --- authors: - Брон, Владимир Акимович source: EG (magazine) date: 1975 algebraic: white: [Ka7, Rf5, Bd3, Se5] black: [Kd6, Re8, Rc5, Ba4, Pa6, Pa5] stipulation: "=" solution: | 1. Nc4+ Kc6 2. Nxa5+ Rxa5 3. Rxa5 Bb5 4. Rxa6+ Bxa6 5. Bb5+ Bxb5 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Arguelles JT date: 1976 distinction: 1st Prize algebraic: white: [Ka4, Rd4, Ra2, Bf1, Pf2, Pe4, Pb2] black: [Kh5, Rh4, Be5, Sg2, Sa8, Pc2] stipulation: "=" solution: | 1. Rc4 Nb6+ 2. Kb3 Nxc4 3. Kxc2 Nge3+ 4. fxe3 Rh2+ 5. Be2+ Rxe2+ 6. Kd3 Rxb2 7. Ra5 Rb4 8. Rc5 Nb2+ 9. Ke2 Nc4 10. Kd3 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet date: 1976 distinction: 3rd Honorable Mention algebraic: white: [Ka2, Re7, Sb8] black: [Ka8, Sb7, Sa1, Pd5, Pd3, Pb2, Pa7, Pa6] stipulation: + solution: | 1. Nc6 d2 2. Re8+ Nd8 3. Rxd8+ Kb7 4. Na5+ Kb6 5. Rxd5 Nc2 6. Rxd2 Nb4+ 7. Kb1 Kxa5 8. Rd6 Ka4 9. Kxb2 a5 10. Rd4 a6 11. Rd6 1-0 --- authors: - Брон, Владимир Акимович source: Tidskrift för Schack date: 1976 distinction: 3rd Honorable Mention algebraic: white: [Kg8, Rg2, Rd2] black: [Kh1, Qf1, Pa5] stipulation: + solution: | 1. Rh2+ Kg1 2. Rhe2 Kh1 3. Rc2 Kg1 4. Kg7 a4 5. Kg8 a3 6. Kg7 a2 7. Rxa2 Kh1 8. Rf2 Qg2+ 9. Kf8 Qg1 10. Rab2 Qg2 11. Rb1+ 1-0 --- authors: - Брон, Владимир Акимович source: Kivi JT date: 1976 distinction: 3rd Prize algebraic: white: [Kc1, Bb7, Sd2, Pe2] black: [Ka5, Sg3, Pc3, Pa6] stipulation: + solution: | "1. Nb3+ Kb4 2. Nd4 Kc4 3. e3 Kd3 4. Nc2 Nf5 5. Bxa6+ Ke4 6. Bb7+ Kd3 7. e4 Nd6 8. Bc6 Nxe4 9. Bb5# 1-0" --- authors: - Брон, Владимир Акимович source: Kivi JT date: 1976 distinction: 4th Prize algebraic: white: [Kd2, Bd8, Ph5, Pe5, Pa6] black: [Kh1, Rf5, Se8, Ph7, Ph6, Pe2] stipulation: + solution: | 1. a7 e1=Q+ 2. Kxe1 Rxe5+ 3. Kf2 Nc7 4. Bxc7 Re8 5. Bb8 Re4 6. a8=R Ra4 7. Ra7 Rxa7 8. Bxa7 Kh2 9. Kf3 Kh3 10. Bf2 1-0 --- authors: - Брон, Владимир Акимович source: Schakend Nederland source-id: 1501 date: 1976 distinction: Special Commendation algebraic: white: [Ka5, Rd7, Sg2] black: [Ka3, Bc8, Sg1] stipulation: + solution: | 1. Rd3+ Kb2 2. Nf4 Bb7 3. Re3 Kc2 4. Re1 Nf3 5. Re7 Ba8 6. Re8 Bc6 7. Rc8 Ne5 8. Ng6 Nxg6 9. Rxc6+ Kd3 10. Rxg6 1-0 --- authors: - Брон, Владимир Акимович source: EG (magazine) date: 1976 algebraic: white: [Ka6, Rd4, Pb4, Pa5] black: [Kc8, Bh5, Pg2] stipulation: "=" solution: | 1. Rc4+ Kb8 2. Rc1 Be2+ 3. b5 Bf1 4. Rc5 g1=Q 5. Rc8+ Kxc8 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Gorgiev MT date: 1977 distinction: Commendation algebraic: white: [Kd3, Sh4, Sg8, Pg3, Pf6, Pf5] black: [Kf7, Be1, Sh2, Sb1, Pf3] stipulation: "=" solution: | 1. Nh6+ Kxf6 2. Nxf3 Nxf3 3. Ke2 Nbd2 4. Ng4+ Kg5 5. Nf2 Kxf5 6. Nh1 Ke4 7. Nf2+ Kf5 8. Nh1 Kg4 9. Nf2+ Kf5 10. Nh1 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Червоний гірник date: 1977 distinction: Commendation algebraic: white: [Kh4, Ra3, Ba2, Pg7, Pd2, Pc3] black: [Ke2, Rc8, Bg4, Pc2] stipulation: "=" solution: | 1. g8=Q Rxg8 2. Bc4+ Kxd2 3. Ra2 Ra8 4. Rxc2+ Kxc2 5. Bd5 Ra4 6. Bc6 Rf4 7. Kg3 Rc4 8. Bd5 Ra4 9. Bc6 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР date: 1977 distinction: Commendation algebraic: white: [Kg1, Bf7, Bd4, Sh7, Sf8, Pg2, Pd7, Pc7, Pc3] black: [Kh6, Qe2, Rd5, Bh5, Pc4] stipulation: + solution: | 1. d8=Q Rxd8 2. cxd8=B Bxf7 3. Bg5+ Kh5 4. Bde3 Qe1+ 5. Kh2 Kg4 6. Nf6+ Kf5 1-0 --- authors: - Брон, Владимир Акимович source: Труд (Москва) date: 1977 distinction: Honorable Mention algebraic: white: [Kh3, Sb6, Pg2, Pb5] black: [Kh5, Sh8, Ph6, Pg6, Pf6, Pa5] stipulation: + solution: | 1. Nd5 Nf7 2. b6 Ne5 3. b7 Nc6 4. Nf4+ Kg5 5. Ne6+ Kf5 6. Nd4+ Nxd4 7. b8=Q 1-0 --- authors: - Брон, Владимир Акимович source: Труд (Москва) date: 1977 distinction: Honorable Mention algebraic: white: [Kf1, Bh6, Bf7, Sg6, Sa4] black: [Kd4, Bh5, Ba3, Se7, Pe3] stipulation: + solution: | 1. Bg7+ Ke4 2. Nc3+ Kf3 3. Ne5+ Kf4 4. Bxh5 Nf5 5. Bh8 Ng3+ 6. Kg2 Nxh5 7. Nb5 Bc1 8. Nd3+ 1-0 --- authors: - Брон, Владимир Акимович source: Труд (Москва) date: 1977 distinction: Honorable Mention algebraic: white: [Kg1, Rb7, Ph2, Pe6, Pd6, Pc7, Pb2] black: [Kf5, Rf8, Ba2, Sc8, Ph3, Pg2, Pb5] stipulation: + solution: | 1. e7 Nxe7 2. dxe7 Rc8 3. b3 Bxb3 4. Rxb5+ Kf4 5. Rb4+ Kf5 6. Rxb3 Rxc7 7. Rf3+ Kg4 8. Rg3+ Kh4 9. e8=R 1-0 --- authors: - Брон, Владимир Акимович source: Korolkov JT date: 1977 distinction: 1st Commendation algebraic: white: [Ke1, Qc7, Rg7, Rd7, Ph7, Ph2, Pe2, Pd6, Pc3, Pc2, Pb6, Pb2] black: [Ka6, Bc4, Ph3, Pe3, Pc5, Pa5, Pa4, Pa2] stipulation: + solution: | 1. Qa7+ Kb5 2. Qxa5+ Kxa5 3. Ra7+ Ba6 4. Rxa6+ Kxa6 5. Ra7+ Kb5 6. c4+ Kb4 7. Rxa4+ Kxa4 8. b3+ Kb4 9. h8=B 1-0 --- authors: - Брон, Владимир Акимович source: Magyar Sakkvilág date: 1977 distinction: 4th Honorable Mention algebraic: white: [Kc8, Rh7, Sc5, Ph6, Pb4] black: [Ka8, Rb1, Bf5, Pe7, Pe6, Pc3] stipulation: "=" solution: | 1. Rh8 Rxb4 2. Kc7+ Ka7 3. h7 Bxh7 4. Rxh7 c2 5. Rh1 Rb1 6. Rh4 Rb7+ 7. Kc6 Rb6+ 8. Kc7 Rb7+ 9. Kc6 c1=Q 10. Ra4+ Kb8 11. Ra8+ Kxa8 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Schakend Nederland source-id: 1581 date: 1977 distinction: 5th Honorable Mention algebraic: white: [Kf7, Ba3, Sf3, Sc8] black: [Kb7, Bd1, Pc6, Pc5] stipulation: + solution: | 1. Nd6+ Kc7 2. Ne8+ Kd8 3. Ng5 Bh5+ 4. Kf8 Bxe8 5. Ne6+ Kd7 6. Nxc5+ Kd8 7. Ne6+ Kd7 8. Nf4 c5 9. Bb2 Kd8 10. Bf6+ Kd7 11. Bg5 c4 12. Bf6 c3 13. Bxc3 Kd8 14. Bf6+ Kd7 15. Bg5 1-0 --- authors: - Брон, Владимир Акимович source: Korolkov JT date: 1977 distinction: Special Commendation algebraic: white: [Kf4, Ba4, Sd3, Pd4, Pb2] black: [Ka2, Bb6, Bb1, Se7, Pd5] stipulation: "=" solution: | 1. Nb4+ Kxb2 2. Ke5 Be4 3. Nxd5 Bxd5 4. Kd6 Ka3 5. Bb5 Kb4 6. Be8 Bd8 7. Kd7 Nc6 8. Kd6 Ne7 9. Kd7 Nc6 10. Kd6 1/2-1/2 --- authors: - Брон, Владимир Акимович source: «64» date: 1978 distinction: Honorable Mention algebraic: white: [Kb5, Rd8, Pf6, Pe5, Pd5] black: [Kg4, Rg6, Bg2, Pg7, Pf7] stipulation: + solution: | 1. e6 fxe6 2. f7 Rf6 3. dxe6 Kf5 4. f8=Q Rxf8 5. e7 Re8 6. Rxe8 Ke6 7. Kb6 Kf7 8. Rg8 Kxe7 9. Rxg7+ 1-0 --- authors: - Брон, Владимир Акимович source: Selman MT date: 1978 distinction: 1st Commendation algebraic: white: [Kd1, Rf3, Bh5, Sa6, Pf6, Pc6] black: [Kd3, Qb6, Rf7, Pe3, Pc3] stipulation: "=" solution: | 1. Nb4+ Qxb4 2. Bg6+ Qe4 3. Bxe4+ Kxe4 4. c7 c2+ 5. Kc1 Rxc7 6. f7 e2 7. Rf4+ Ke5 8. Rf5+ Ke6 9. Rf6+ Kd7 10. f8=N+ Ke8 11. Re6+ Re7 12. Rxe2 Rxe2 13. Ng6 Re4 14. Kxc2 Kf7 15. Kd3 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Šahs/Шахматы (Rīga) date: 1978 distinction: 1st Special Honorable Mention algebraic: white: [Kd8, Ph4, Pb6] black: [Kg6, Sf2, Sb3, Pf7] stipulation: "=" solution: | 1. h5+ Kf6 2. Ke8 Ne4 3. h6 Nd6+ 4. Kf8 Nc5 5. h7 Nd7+ 6. Kg8 Ke7 7. b7 Nf6+ 8. Kg7 Nf5+ 9. Kh8 Nd7 10. Kg8 Nf6+ 11. Kh8 Nd7 12. Kg8 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Szachy date: 1978 distinction: 2nd Prize algebraic: white: [Ka4, Re3, Bc3, Pg6, Pe4, Pb6, Pa3] black: [Kc4, Ba8, Sf3, Pg2, Pb4, Pa7, Pa6] stipulation: "=" solution: | 1. b7 Bxb7 2. Bxb4 g1=Q 3. Rc3+ Kd4 4. Bc5+ Kxc3 5. Bxg1 Ne5 6. Bd4+ Kxd4 7. g7 Bc6+ 8. Kb4 Bxe4 9. g8=Q Nc6+ 10. Kb3 Bd5+ 11. Ka4 Bxg8 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Selman MT date: 1978 distinction: 4th Honorable Mention algebraic: white: [Kg4, Rh7, Sa5, Pf6, Pd4] black: [Ke8, Rb1, Bb8, Sc4, Pf4] stipulation: "=" solution: | 1. f7+ Kf8 2. Rh8+ Kg7 3. Rg8+ Kxf7 4. Rxb8 Ne3+ 5. Kxf4 Nd5+ 6. Ke5 Rxb8 7. Nc6 Rb5 8. Na7 Ra5 9. Nc6 Rb5 10. Na7 Rb7 11. Nc6 Rd7 12. Nb8 Rd8 13. Nc6 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Seneca MT date: 1978 distinction: 5th Commendation algebraic: white: [Kf5, Re2, Se7, Se6, Pb3] black: [Kc3, Ba6, Sc8, Sc1] stipulation: + solution: | "1. Nd5+ Kxb3 2. Nc5+ Kc4 3. Rc2+ Kxd5 4. Nxa6 Nd6+ 5. Kf4 Nd3+ 6. Ke3 Ne5 7. Nc7# {#} 1-0" --- authors: - Брон, Владимир Акимович source: Roycroft JT date: 1978 distinction: 6th Commendation algebraic: white: [Kf6, Rh4, Bc6, Sf8, Pc3] black: [Kf2, Rc5, Pd2] stipulation: + solution: | "1. Ba4 Rxc3 2. Rh2+ Ke1 3. Ne6 Rc1 4. Bd1 Kxd1 5. Nd4 Ke1 6. Nf3+ Kf1 7. Nxd2+ Ke1 8. Nf3+ Kd1 9. Rd2# {#} 1-0" --- authors: - Брон, Владимир Акимович source: EG (magazine) date: 1978 algebraic: white: [Ka1, Bd8, Ba2, Ph7, Pg7, Pc2] black: [Kc3, Bd4, Pg5, Pe2] stipulation: "=" solution: | 1. Bb1 Kb4+ 2. Ka2 Bxg7 3. h8=Q Bxh8 4. Bxg5 e1=Q 5. Bd2+ Qxd2 keywords: - Stalemate --- authors: - Брон, Владимир Акимович source: Magyar Sakkvilág date: 1978 algebraic: white: [Kg3, Bh5, Pg6, Pe2] black: [Ke4, Rd6, Ph3] stipulation: + solution: | 1. g7 Rd8 2. Bf7 Ke3 3. Bc4 Rc8 4. Kh2 Rd8 5. Kxh3 Rc8 6. Kg3 Rd8 7. Kg4 Rd1 8. Kf5 Rg1 9. Kf6 Rf1+ 10. Ke7 Rg1 11. Kf8 Rf1+ 12. Bf7 Rg1 13. Bh5 Rf1+ 14. Bf3 1-0 --- authors: - Брон, Владимир Акимович source: Šahs/Шахматы (Rīga) date: 1978 algebraic: white: [Kd4, Rg6, Sb1, Pf5, Pe5, Pa5] black: [Ka4, Rf3, Sh4, Pe6, Pb7] stipulation: + solution: | "1. a6 bxa6 2. Rg4 Nxf5+ 3. Kc5+ Ka5 4. Rg2 Rf4 5. Ra2+ Ra4 6. Na3 Ne3 7. Ra1 Nd5 8. Nc4# 1-0" --- authors: - Брон, Владимир Акимович source: Schakend Nederland source-id: 1655 date: 1978 algebraic: white: [Ka3, Bh1, Sf3, Pa5] black: [Kb1, Bg3, Ba8, Sc6, Pc5] stipulation: "=" solution: | 1. Nd2+ Kc2 2. Ne4 Be1 3. Nxc5 Bb4+ 4. Ka4 Bxc5 5. Be4+ Kc3 6. Kb5 Nd4+ 7. Ka6 Bxe4 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Gazeta Częstochowska date: 1979 distinction: Prize algebraic: white: [Ka7, Rd3, Ba5, Pg2, Pe3] black: [Kg3, Bf6, Sd6, Sb6, Ph2] stipulation: "=" solution: | 1. e4+ Kxg2 2. Rd2+ Kg3 3. Rxh2 Nbc8+ 4. Ka6 Kxh2 5. e5 Bxe5 6. Bc3 Bf4 7. Bd2 Bg3 8. Be1 Bxe1 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Paros MT date: 1979 distinction: 1st Commendation algebraic: white: [Ka8, Rh8, Sa3, Pe4, Pd6, Pb2] black: [Kd4, Rg1, Bd3, Sf6, Pb5] stipulation: "=" solution: | 1. e5 Kxe5 2. d7 Nxd7 3. Nxb5 Bxb5 4. Rh5+ Kd6 5. Rxb5 Ra1+ 6. Kb7 Nc5+ 7. Kc8 Kc6 8. Rb4 Re1 9. Rd4 Ra1 10. Rb4 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet date: 1979 distinction: 4th Honorable Mention algebraic: white: [Kd2, Rh8, Bh2, Bf7, Pg7, Pd6, Pa6, Pa5] black: [Ka7, Rf5, Pf2, Pe7, Pe2] stipulation: + solution: | 1. Ra8+ Kxa8 2. g8=Q+ Ka7 3. Qb8+ Kxb8 4. dxe7+ Ka7 5. Bb8+ Ka8 6. Bd5+ Rxd5+ 7. Kxe2 Rd1 8. Kxf2 Rd8 9. exd8=N 1-0 --- authors: - Брон, Владимир Акимович source: Argentinia Chess Club Ty date: 1979 algebraic: white: [Kf1, Bc4, Sg2, Ph2, Pb6] black: [Kh3, Rh5, Bd2, Sh6, Ph4] stipulation: + solution: | "1. b7 Rf5+ 2. Kg1 Rf8 3. Be6+ Ng4 4. Bc8 Bf4 5. Nxf4+ Rxf4 6. b8=R Rb4 7. Ba6 Rxb8 8. Bf1# 1-0" --- authors: - Брон, Владимир Акимович source: Gorgiev MT date: 1980 distinction: 1st Prize algebraic: white: [Kb5, Rc8, Rc7, Sd3] black: [Kh2, Qf1, Sc4, Pb2, Pa3] stipulation: "=" solution: | 1. Rh7+ Kg1 2. Rg7+ Qg2 3. Rxg2+ Kxg2 4. Rg8+ Kf1 5. Nxb2 axb2 6. Ka4 b1=Q 7. Rg1+ Kxg1 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Mandil MT date: 1980 distinction: 2nd Prize algebraic: white: [Kg2, Rb4, Ph3, Pf4, Pf2, Pb7] black: [Kh6, Rd4, Ra2, Sh2, Pf5, Pe3] stipulation: "=" solution: | 1. b8=Q Rxf2+ 2. Kg3 Nf1+ 3. Kh4 Rfxf4+ 4. Qxf4+ Rxf4+ 5. Rxf4 e2 6. Rf2 Ng3 7. Rxe2 Nxe2 1/2-1/2 --- authors: - Брон, Владимир Акимович source: 64 — Шахматное обозрение date: 1980 distinction: 2nd Prize algebraic: white: [Kf8, Rh2, Sg2, Pc6, Pb6] black: [Ka6, Bd4, Ba2, Sc8, Pf2] stipulation: "=" solution: | 1. Ne3 Bxe3 2. Rxf2 Bd5 3. b7 Bh6+ 4. Ke8 Bxc6+ 5. Kd8 Kxb7 6. Rf7+ Kb8 7. Rf6 Nd6 8. Ke7 Nc8+ 9. Kd8 Bg5 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Šachové umění date: 1980 distinction: 3rd Honorable Mention algebraic: white: [Kh2, Qa2, Rd5, Bb3, Ph3, Pf2] black: [Kf3, Qa3, Rh4, Bc2, Pd3, Pb4] stipulation: "=" solution: | 1. Rxd3+ Bxd3 2. Qd2 Rxh3+ 3. Kxh3 Bf1+ 4. Kh4 Qxb3 5. Qd5+ Qxd5 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Armenia JT date: 1980 distinction: 4th Prize algebraic: white: [Ka2, Rf2, Pg6, Pg3, Pe3, Pb5] black: [Ka8, Rh5, Re4, Pb2] stipulation: "=" solution: | 1. g7 b1=Q+ 2. Kxb1 Rxb5+ 3. Kc2 Rc4+ 4. Kd2 Rg4 5. Rf8+ Rb8 6. Rf7 Rxg3 7. Kd3 Rg4 8. Kc3 Rgb4 9. Rf8 Rg4 10. Rf7 Rg3 11. Kd3 Rg4 12. Kc3 Rg3 13. Kd3 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Loshinksy MT date: 1982 distinction: 2nd Prize algebraic: white: [Ka7, Bb2, Sa4, Pf2] black: [Kg5, Bd1, Sd5, Sa1, Pd6] stipulation: "=" solution: | 1. Nb6 Nxb6 2. Kxb6 Nb3 3. Kc6 Na5+ 4. Kb5 Nb7 5. Kc6 Bf3+ 6. Kc7 Kf5 7. Bg7 Ke6 8. Bf8 Ke5 9. Bg7+ Kf5 10. Bh6 Ke5 11. Bg7+ Ke6 12. Bf8 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Szachy date: 1982 distinction: 5th Honorable Mention algebraic: white: [Kg6, Bb4, Sh4, Ph6, Pd6] black: [Kg8, Rb3, Bc8, Sd4, Ph5] stipulation: "=" solution: | 1. h7+ Kh8 2. Kh6 Nf5+ 3. Nxf5 Bxf5 4. d7 Bxd7 5. Bc5 Rd3 6. Bf8 Rg3 7. Bc5 Rg4 8. Ba3 Rg2 9. Bc5 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Duras MT date: 1982 distinction: 6th Honorable Mention algebraic: white: [Kf8, Be5, Sh2, Sc5, Pf3, Pa4] black: [Kc4, Rh3, Pf2] stipulation: + solution: | "1. Ne4 f1=N 2. Nxf1 Rxf3+ 3. Kg7 Kb4 4. Nfd2 Rf5 5. Bd6+ Kxa4 6. Kg6 Ra5 7. Nc3# 1-0" --- authors: - Брон, Владимир Акимович source: 64 — Шахматное обозрение date: 1983 distinction: Commendation algebraic: white: [Kf8, Bh8, Sa7, Pc6] black: [Ke3, Rb8, Sd8, Pd7, Pd4] stipulation: "=" solution: | 1. Bxd4+ Kxd4 2. c7 Ne6+ 3. Ke7 Nxc7 4. Kxd7 Rb7 5. Nc6+ Kc5 6. Nd8 Ra7 7. Nc6 Ra6 8. Nb8 Ra7 9. Nc6 Rb7 10. Nd8 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Kharkov Liberation Ty date: 1983 distinction: 1st Honorable Mention algebraic: white: [Kh4, Qd2, Bb4, Ph5, Pg5, Pg2, Pf7, Pf5] black: [Kh7, Qd7, Rg8, Rc6, Bd5, Ph6, Pf6, Pe6, Pd3] stipulation: "=" solution: | 1. g6+ Kg7 2. Qxh6+ Kxh6 3. fxg8=Q Rc4+ 4. g4 Rxg4+ 5. Kxg4 exf5+ 6. Kh4 Bxg8 7. Bf8+ Qg7 8. Bd6 Qa7 9. Bf8+ Qg7 10. Bd6 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet date: 1983 distinction: 3rd Prize algebraic: white: [Kc4, Re6, Pf6] black: [Ka3, Bg6, Ph6, Ph4, Pc2] stipulation: "=" solution: | 1. Ra6+ Kb2 2. Rb6+ Ka1 3. Ra6+ Kb2 4. Rb6+ Kc1 5. Kc3 h3 6. f7 Bxf7 7. Rxh6 Bd5 8. Rh4 Bf3 9. Ra4 Kb1 10. Rb4+ Ka2 11. Ra4+ 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Современное слово date: 1984 distinction: Commendation algebraic: white: [Kb5, Bg4, Pc6] black: [Ka2, Ra1, Pa5, Pa4] stipulation: + solution: 1. Be6+ Ka3 2. c7 Rb1+ 3. Kc5 Rb8 4. cxb8=B 1-0 --- authors: - Брон, Владимир Акимович source: Современное слово date: 1984 distinction: Commendation algebraic: white: [Kb6, Bg5, Pc6] black: [Ka3, Ra2, Pa6, Pa5] stipulation: + solution: 1. Be7+ Ka4 2. c7 Rb2+ 3. Kc6 Rb8 4. cxb8=N 1-0 --- authors: - Брон, Владимир Акимович source: 64 — Шахматное обозрение date: 1984 distinction: 3rd Honorable Mention algebraic: white: [Kc1, Rg2, Bc8, Sb4, Pa2] black: [Ke1, Qh5, Ra7, Pg7, Pg6, Pg5] stipulation: + solution: | "1. Nc2+ Kf1 2. Ne3+ Ke1 3. Bg4 Rxa2 4. Rxa2 Qh2 5. Kb1 Qb8+ 6. Rb2 Qh2 7. Ka2 Qe5 8. Re2# 1-0" --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet date: 1984 distinction: 5th Honorable Mention algebraic: white: [Kf4, Be7, Bd7, Ph5, Pe6] black: [Kh7, Ra8, Bb7, Sf2, Sd2, Pf7] stipulation: "=" solution: | 1. exf7 Nd3+ 2. Ke3 Nc4+ 3. Kd4 Nde5 4. Bf5+ Kg7 5. f8=Q+ Rxf8 6. h6+ Kf7 7. Bxf8 Kxf8 8. Be6 Ba6 9. Bd5 Bb5 10. Kc5 Ba6 11. Kd4 1/2-1/2 --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet date: 1985 distinction: Commendation algebraic: white: [Kh1, Ra4, Bd4, Sg4] black: [Kh5, Rb4, Bh4, Sa8, Pg6, Pa5] stipulation: "=" solution: | 1. Nf6+ Bxf6 2. Rxa5+ Bg5 3. Be3 Rh4+ 4. Kg2 Rg4+ 5. Kh3 Nc7 6. Re5 Na6 7. Rb5 Nc7 8. Re5 1/2-1/2 --- authors: - Неунывако, Павел Ефимович - Брон, Владимир Акимович source: Правда date: 1930 distinction: 3rd Prize algebraic: white: [Kh7, Rf8, Be1, Pd2] black: [Kd7, Bb4, Ba6, Sg2] stipulation: "=" solution: | 1. Rf7+ Ke6 2. Rf3 Nxe1 3. Re3+ Kf7 4. Rxe1 Bxd2 (4. ... Bd3+ 5. Kh8) 5. Re5 Bd3+ 6. Kh8 Bc3 draw --- authors: - Брон, Владимир Акимович source: Шахматный листок source-id: 423 date: 1930 algebraic: white: [Kd8, Rd7, Bd3, Pe3, Pc2] black: [Kc5, Qb1, Pb6] stipulation: + solution: | 1. Rd5+ $1 Kc6 $1 2. Be4 Qb2 $1 3. c3 $1 (3. Kc8 $1 {cook} b5 4. c4 $1) 3... Qb3 $1 4. c4 $1 Qxe3 5. Bh1 $1 1-0 --- authors: - Брон, Владимир Акимович source: Szachy source-id: 632 date: 1968 distinction: 1st Commendation algebraic: white: [Kh5, Sh4, Ph6, Pg6] black: [Kf6, Rc4] stipulation: + solution: | 1. h7 Kg7 (1... Rc8 2. Kh6) 2. Nf5+ Kh8 3. Nd6 Rc7 (3... Rc5+ 4. Kg4) 4. Nf7+ Rxf7 5. gxf7 Kxh7 6. f8=R 1-0 --- authors: - Брон, Владимир Акимович source: «64» source-id: 16/675 date: 1928-08-20 algebraic: white: [Kh6, Qb3, Rg5, Rd3, Bd6] black: [Ke4, Rf1, Ra4, Bb7, Bb6, Sh5, Pg6, Pa6, Pa3] stipulation: "#2" solution: | "1...Rf4/Nf4 2.Re5# 1...Bd5/Bc8 2.Qxd5# 1...Rd4 2.Re3# 1.Qxa4+?? 1...Bd4 2.Qxd4# but 1...Kxd3! 1.Re3+?? 1...Kd4 2.Qc3#/Qd3# but 1...Bxe3! 1.Rd2! (2.Qd3#) 1...Rf3 2.Qe6# 1...Nf4 2.Re5# 1...Be3 2.Qxb7# 1...Rd4 2.Re2#" --- authors: - Брон, Владимир Акимович source: Przepiorka-Memorial date: 1961 distinction: 1st Prize algebraic: white: [Kc1, Qg4, Bd4, Sb2, Sa7, Ph4, Pf4, Pe4, Pd6, Pc2, Pb5] black: [Ka5, Rh6, Bd8, Se8, Pg5, Pd5, Pb4] stipulation: "#3" solution: | "1. Qh3! [2. Qb3 ~ 3. Qa2, Qa4#] 1... Bf6 2. Qc8 [3. Qa6#] 2... Sc7 3. Q:c7# 2... b3 3. Qc3# 1... Bb6 2. Qa3+ b:a3 3. Bc3#" comments: - corrected by the author - Check also 49562 --- authors: - Брон, Владимир Акимович source: British C.P.F. date: 1967 algebraic: white: [Ke1, Qc2, Rg5, Rg4, Bg1, Sb4, Sb1, Pg6, Pg2, Pe5, Pe4, Pc3] black: [Ke3, Rh1, Ra1, Sf2, Ph2, Pg7, Pe6, Pa2] stipulation: "s#2" solution: | "1.Rg4-h4 ! zugzwang. 1...Ra1*b1 + 2.Qc2-c1 + 2...Rb1*c1 # 1...a2*b1=Q + 2.Qc2-c1 + 2...Qb1*c1 # 1...a2*b1=S 2.Qc2-d2 + 2...Sb1*d2 # 1...a2*b1=R + 2.Qc2-c1 + 2...Rb1*c1 # 1...a2*b1=B 2.Qc2-d3 + 2...Bb1*d3 # 1...h2*g1=S 2.Rg5-g3 + 2...Sg1-f3 # 1...h2*g1=B 2.Qc2*f2 + 2...Bg1*f2 #" --- authors: - Брон, Владимир Акимович source: Zeit-Magazin date: 1972 algebraic: white: [Kd1, Rc1, Bg3, Se2, Se1, Pa5, Pa4] black: [Kh1, Sa8, Sa7, Pb6, Pb5, Pb4, Pa6] stipulation: "#3" solution: | "1.Bg3-b8 ! zugzwang. 1...b4-b3 2.Rc1-c3 threat: 3.Rc3-h3 # 1...b5*a4 2.Rc1-c4 threat: 3.Rc4-h4 # 1...b6*a5 2.Rc1-c5 threat: 3.Rc5-h5 # 1...Sa7-c6 2.Rc1*c6 threat: 3.Rc6-h6 # 1...Sa7-c8 2.Rc1*c8 threat: 3.Rc8-h8 # 1...Sa8-c7 2.Rc1*c7 threat: 3.Rc7-h7 #" --- authors: - Брон, Владимир Акимович source: algebraic: white: [Kc1, Qf2, Bg1, Bf1, Pc5, Pa3] black: [Ke4, Re8, Bh8, Sg8, Sd7, Ph6, Pf7, Pc3, Pb5] stipulation: "#3" solution: | "1.Bf1-h3 ! threat: 2.Qf2-f5 # 1...Ke4-d5 2.Qf2*f7 + 2...Kd5-e5 3.Qf7-f5 # 2...Kd5-c6 3.Qf7*d7 # 2...Kd5-e4 3.Qf7-f5 # 2...Re8-e6 3.Qf7*e6 # 1...Ke4-d3 2.Bh3-f5 + 2...Kd3-c4 3.Qf2-a2 # 2...Re8-e4 3.Qf2-f1 # 1...Sd7-e5 2.Qf2-d4 + 2...Ke4-f3 3.Qd4-e3 # 1...Re8-e5 2.Qf2-d4 + 2...Ke4-f3 3.Qd4-g4 # 1...Sg8-e7 2.Qf2-e2 + 2...Ke4-f4 3.Qe2-e3 # 2...Ke4-d5 3.Bh3-g2 # 1...Bh8-e5 2.Bh3-g2 + 2...Ke4-d3 3.Qf2-f1 #" --- authors: - Брон, Владимир Акимович source: Stern date: 1972 algebraic: white: [Kb6, Qg6, Rh1, Bb1, Ph2, Pf3, Pe5, Pb3, Pa3] black: [Ka1, Rh4, Pb2, Pa2] stipulation: "#3" solution: | "1.Qg6-g1 ! threat: 2.Bb1-e4 + 2...b2-b1=Q 3.Qg1-d4 # 2...b2-b1=S 3.Qg1-d4 # 2...b2-b1=R 3.Qg1-d4 # 2...b2-b1=B 3.Qg1-d4 # 1...Rh4*h2 2.Bb1-c2 + 2...b2-b1=Q 3.Qg1-d4 # 2...b2-b1=S 3.Qg1-d4 # 2...b2-b1=R 3.Qg1-d4 # 2...b2-b1=B 3.Qg1-d4 # 1...Rh4-a4 2.b3*a4 zugzwang. 2...a2*b1=Q 3.Qg1*b1 # 2...a2*b1=S 3.Qg1*b1 # 2...a2*b1=R 3.Qg1*b1 # 2...a2*b1=B 3.Qg1*b1 # 1...Rh4-b4 + 2.a3*b4 zugzwang. 2...a2*b1=Q 3.Qg1*b1 # 2...a2*b1=S 3.Qg1*b1 # 2...a2*b1=R 3.Qg1*b1 # 2...a2*b1=B 3.Qg1*b1 # 1...Rh4-c4 2.b3*c4 zugzwang. 2...a2*b1=Q 3.Qg1*b1 # 2...a2*b1=S 3.Qg1*b1 # 2...a2*b1=R 3.Qg1*b1 # 2...a2*b1=B 3.Qg1*b1 # 1...Rh4-d4 2.Bb1-d3 + 2...b2-b1=Q 3.Qg1*d4 # 2...b2-b1=S 3.Qg1*d4 # 2...b2-b1=R 3.Qg1*d4 # 2...b2-b1=B 3.Qg1*d4 # 1...Rh4-g4 2.f3*g4 zugzwang. 2...a2*b1=Q 3.Qg1*b1 # 2...a2*b1=S 3.Qg1*b1 # 2...a2*b1=R 3.Qg1*b1 # 2...a2*b1=B 3.Qg1*b1 # 1...Rh4-h6 + 2.Bb1-g6 + 2...b2-b1=Q 3.Qg1-d4 # 2...b2-b1=S 3.Qg1-d4 # 2...b2-b1=R 3.Qg1-d4 # 2...b2-b1=B 3.Qg1-d4 #" --- authors: - Брон, Владимир Акимович source: algebraic: white: [Kf1, Qd1, Rf6, Re5, Bh8, Bf3, Sd3, Sa5, Pg5, Pe4, Pe2, Pd5] black: [Kd4, Qc7, Rb8, Ba6, Sc1, Pe3, Pd6, Pc6, Pc5, Pc4, Pb3] stipulation: "#4" solution: | "1.Rf6*d6 ! threat: 2.Re5-e8 + 2...Qc7-g7 3.Bh8*g7 # 2.d5*c6 + 2...Kd4-c3 3.Qd1*c1 # 2...Qc7*d6 3.Re5-d5 # 2.Sa5*c6 + 2...Kd4-c3 3.Qd1*c1 # 2...Qc7*c6 3.Re5-e8 # 1...Sc1*e2 2.Re5-e8 + 2...Qc7-g7 3.Bh8*g7 # 1...Sc1*d3 2.Re5-e8 + 2...Qc7-g7 3.Bh8*g7 # 1...Sc1-a2 2.Re5-e8 + 2...Qc7-g7 3.Bh8*g7 # 1...b3-b2 2.Re5-e8 + 2...Qc7-g7 3.Bh8*g7 # 2.Sd3*c1 + 2...Kd4-c3 3.Sc1-a2 # 1...c4-c3 2.Sd3*c1 + 2...Ba6-d3 3.Qd1*d3 # 2.Re5-e8 + 2...Qc7-g7 3.Bh8*g7 # 3.d5*c6 # 2.d5*c6 + 2...Qc7*d6 3.Re5-d5 # 2.Sd3-f4 + 2...Sc1-d3 3.Sf4-e6 # 2...Ba6-d3 3.Sf4-e6 # 1...c4*d3 2.Re5-e8 + 2...Qc7-g7 3.Bh8*g7 # 1...Kd4-c3 2.Re5-e8 + 2...Qc7-g7 3.Bh8*g7 # 1...Ba6-b5 2.Re5-e8 + 2...Qc7-g7 3.Bh8*g7 # 2.d5*c6 + 2...Kd4-c3 3.Qd1*c1 # 2...Qc7*d6 3.Re5-d5 # 1...Ba6-b7 2.d5*c6 + 2...Kd4-c3 3.Qd1*c1 # 2...Qc7*d6 3.Re5-d5 # 2.Re5-e8 + 2...Qc7-g7 3.Bh8*g7 # 1...Qc7*d6 2.Re5-e8 + 2...Qd6-e5 3.Bh8*e5 # 2...Qd6-f6 3.Bh8*f6 # 1...Qc7-h7 2.d5*c6 + 2...Kd4-c3 3.Qd1*c1 # 2.Sa5*c6 + 2...Kd4-c3 3.Qd1*c1 # 1...Qc7-g7 2.Sa5*c6 + 2...Kd4-c3 3.Qd1*c1 # 2.d5*c6 + 2...Kd4-c3 3.Qd1*c1 # 1...Qc7-e7 2.d5*c6 + 2...Kd4-c3 3.Qd1*c1 # 2...Qe7*d6 3.Re5-d5 # 2.Sa5*c6 + 2...Kd4-c3 3.Qd1*c1 # 1...Rb8*h8 2.Sa5*c6 + 2...Kd4-c3 3.Qd1*c1 # 2...Qc7*c6 3.d5*c6 + 3...Kd4-c3 4.Qd1*c1 # 1...Rb8-g8 2.d5*c6 + 2...Kd4-c3 3.Qd1*c1 # 2...Qc7*d6 3.Re5-d5 # 1...Rb8-f8 2.d5*c6 + 2...Kd4-c3 3.Qd1*c1 # 2...Qc7*d6 3.Re5-d5 #" --- authors: - Брон, Владимир Акимович - Козлов, Александр Иванович source: Шахматы в СССР source-id: 12/65 date: 1950 algebraic: white: [Kf1, Qd1, Rd6, Ra5, Bh2, Bb5, Sc8, Sc4, Pg5, Pe7, Pe3, Pc6] black: [Kf5, Qa6, Rg8, Rb8, Sh3, Ph4, Pf7, Pf2, Pe4, Pb7] stipulation: "#3" solution: | "1. Sd2! [2. Rf6+ 2... K:g5 3. S:e4#] 1... Q:c6 2. Qg4+!! 2... K:g4 3. Be2# 1... K:g5 2. Qh5+!! 2... K:h5 3. Be2# 1... R:g5 2. Bd3+! 2... Q:a5 3. B:e4# 2... Qb5 3. R:b5# 1... S:g5 2. Be2+! 2... Q:a5 3. Bg4# 2... Qb5 3. R:b5# 1... Rg6 2. Rd5+ 2... Ke6 3. Re5#" keywords: - Active sacrifice - Selfblock - Battery play - Defences on same square --- authors: - Брон, Владимир Акимович source: «64» source-id: 17/690 date: 1928-09-05 algebraic: white: [Ka2, Qa7, Ba6, Sf6, Sc2, Pg3, Pe4, Pe2, Pd5, Pc5, Pb5, Pb2] black: [Kc4, Bh4, Bf3, Sb7, Pg5, Pd7] stipulation: "#3" solution: | "1.e4-e5 ! threat: 2.b5-b6 + 2...Kc4*c5 3.b2-b4 # 1...Bf3*d5 2.Sf6-g4 2...Bd5-g8 3.Sg4-e3 # 1...Sb7*c5 2.Qa7-c7 2...Bf3*e2 3.b5-b6 # 1...Sb7-d6 2.c5*d6 2...Bf3*e2 3.Qa7-d4 # 2...Bf3*d5 3.Qa7-d4 # 1.Qa7-b8 1.Qa7*b7 !" keywords: - Cooked - Model mates comments: - +bRh7, C+ --- authors: - Брон, Владимир Акимович source: FIDE date: 1957 algebraic: white: [Kh7, Rh5, Rc2, Bb8, Se2, Sa5, Pd2, Pa2] black: [Kb4, Rh3, Rg4, Bg3, Ph4, Pg7, Pd7, Pd6, Pa4, Pa3] stipulation: "#3" solution: | "1. Rd5! [2. Sf4 [3. B:d6, Sd3, Rc4#] 2... R:f4 3. B:d6# 2... B:f4 3. Rc4#] 1... Re4 2. Sc3 [3. Rb5#] 2... Re5 3. B:d6# 1... Bf2 2. Sd4 [3. B:d6, Rb5, Rc4#] 2... R:d4 3. B:d6# 2... Rg5 3. B:d6, Rc4# 2... Rg6, Bg3 3. Rb5, Rc4# 2... Rc3 3. Rb5, d:c3# 2... B:d4 3. Rc4# 1... Be5 2. Rc7 [3. Rb7#] 2... Bd4 3. Rc4#" --- authors: - Брон, Владимир Акимович source: Zwaigsne date: 1957 distinction: 2nd Prize algebraic: white: [Ka8, Qb8, Rf6, Rd6, Bd7, Ba7, Sg4, Se5, Ph4, Ph2, Pg2, Pa5] black: [Ke4, Rc4, Ra4, Bb4, Sh7, Pg6, Pg3, Pf7, Pd5, Pa3] stipulation: "#3" solution: | "1. Rf3! [2. Re3+ 2... Kf4 3. Sd3, h:g3#] 1... Bc5 2. Qb3 [3. Qd3#] 2... Rd4 3. Qe3# 2... Rc3 3. Q:d5# 2... Kd4 3. Qd3/e3, Rf4# 1... Rc5 2. Sc6 [3. Qe8#] 2... Sf8/f6/g5 3. S(:)f6# 2... d4 3. R:d4# 2... Bc3 3. Qb1#" keywords: - Grimshaw --- authors: - Брон, Владимир Акимович source: Buletin Problemistic source-id: 895 date: 1978 algebraic: white: [Ke8, Qd1, Ra6, Bg3, Bd7, Se6, Sc5, Pd4] black: [Kd5, Rh7, Re3, Bc1, Sh8, Sf7, Pc4, Pb7] stipulation: "#2" solution: | "1. Bc8! [2. B:b7#] 1... Sf~ 2. Rd6# 1... Se5 2. Sf4# 1... c3 2. Qb3# 1... Rb3 2. Sc7# 1... R:e6+ 2. B:e6#" keywords: - Black correction - Unpinning --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 5/49 date: 1946 algebraic: white: [Ke7, Rc4, Ra4, Ph5, Pe2, Pd2, Pc2, Pb5] black: [Kd5, Ph6, Ph3, Pg6, Pb6, Pb3] stipulation: "#3" solution: | "1. Rcg4! [2. d4 [3. c4, e4#] 2... b:c2 3. e4#] 1... g:h5 2. Rh4 [3. R:h5#] 2... Kc5/e5 3. R:h5# 1... g5 2. d4 [3. c4, e4#] 2... b:c2 3. e4# 1... Kc5 2. c4 ad lib 3. d4# 1... Ke5 2. e4 ad lib 3. d4#" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 7/66 date: 1946 algebraic: white: [Kb8, Qc7, Rb2, Sg5, Ph5, Pd3, Pc2, Pb7] black: [Kf6, Ba6, Ph7, Pf5, Pe3, Pb5, Pa7, Pa5] stipulation: "#4" solution: | "1. c4! [2. Qd6+ 2... K:g5 3. Rg2+ 3... K:h5/h4 4. Qh2# 1... B:b7 2. S:h7+ 2... Ke6 3. R:b5 [4. Re5#] 3... Bd5 4. c:d5# 1... K:g5 2. Qg7+ 2... Kf4 3. Rg2 [4. Qg3#] 3... Kf3 4. Qg3# 1... a4 2. Rg2 [3. S:h7+ 3... Ke6 4. Rg6# 3. d4 ad lib 4. Qf7, Qe5#] 1... b4 2. Rg2 [3. S:h7+ 3... Ke6 4. Rg6# 3. d4 [4. Qf7, Qe5#] 3... B:c4 4. Qe5#] 1... f4 2. Q:f4+ 2... Ke7 3. Kc7 [4. Qf7#] 3... Ke8 4. Qf7# 2... Ke7 3. Qf7+ 3... Kd6 4. Qc7# 3... Kd8 4. Se6# 2... Kg7 3. Se6+ 3... Kg8/h8 4. Qf8#" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 6/47 date: 1948 algebraic: white: [Kg8, Rc4, Bg3, Bb7, Sf6, Sc8, Pd5] black: [Kd8, Rb4, Bf1, Pg6, Pe6, Pc6, Pb6] stipulation: "#3" solution: | "1. Be5! [2. R:c6 ad lib 3. Bc7#] 1... c5 2. Sa7 [3. Sc6#] 2... Ke7 3. Sc6# 1... R:c4 2. d:e6 ad lib 3. e7#" --- authors: - Брон, Владимир Акимович source: «64», МК В.Ленин-100, «64» source-id: 32 date: 1970 distinction: 4th-5th Prize algebraic: white: [Kh7, Qc7, Rc2, Sb4, Pf7, Pd2, Pa5] black: [Ka1, Ra7, Bg1, Bb1, Sg8, Sg3, Pf6, Pd4, Pb7, Pa6] stipulation: "#3" solution: | "1. Qc4? [2. Qb3 [3. Qb2#] 2... B:c2+ 3. S:c2#] 1... Se4 2. Ra2+ 2... B:a2 3. Q:a2# 1... B:c2+ 2. Q:c2 [3. Qa2, Qc1#] 2... Se2 3. Qa2# But 1... b6! b5! 1. Qb6! [2. Sd3 ad lib 3. Qb2#] 1... f5 2. Ra2+ 2... B:a2 3. Sc2# 1... d3 2. Q:g1 [3. Ra2, Qd4#] 2... d:c2, Sf1 3. Qd4# 2... Sf5/e4/e2 3. Ra2#" --- authors: - Брон, Владимир Акимович source: Конкурс в Латвии date: 1958 distinction: 1st HM algebraic: white: [Kb1, Qh5, Rd1, Ra4, Bh4, Bg8, Sc7, Sc4, Pf5, Pe2, Pd5] black: [Ke4, Qf3, Be6, Bb8, Sh8, Sg4, Pg7, Pe3, Pa6] stipulation: "#3" solution: | "1. Se8! [2. Sa5+ 2... Ke5 3. Sc6#] 1... B:f5 2. Sb2+ 2... Ke5+ 3. Sd3# 1... Q:f5 2. Scd6+ 2... Ke5+ 3. Re4# (1... Bd7 2. Sd2+ 2... Ke5 3. S:f3# 1... Ba7 2. Sed6+ 2... Kf4 3. Qg5#)" keywords: - Battery play - Battery creation - Provoked check - Selfpinning --- authors: - Брон, Владимир Акимович source: «64» source-id: 31/46 date: 1974 distinction: 2nd Prize algebraic: white: [Kh8, Qe1, Re5, Sb6, Pe7] black: [Ke8, Bd3, Bc5, Pf7, Pd5] stipulation: "#3" solution: | "1. Qd1! [2. Qa4+ 2... Bb5 3. Qa8/:b5#] 1... f6 2. Qh5+ 2... Bg6 3. Q:g6# 1... B:e7 2. Qg4 [3. Qg8, Qc8#] 2... Kd8 3. Qd7/c8# 2... Kf8, f6/f5, Ba6/f5 3. Qg8# 2... Bg6/h7 3. Qc8# 1... Bb5 2. Q:d5 [3. Qd8, Qa8#] 2... f6/f5 3. Qg8# 2... Ba6 3. Qd7/d8/c6# 2... Bc6 3. Qd8/:c6# 2... Bd7 3. Q:d7# 2... B:b6/d6 3. Q:b5# 2... B:e7 3. Qa8#" --- authors: - Брон, Владимир Акимович source: Šahs/Шахматы (Rīga) source-id: 937 date: 1961 distinction: 1st Prize algebraic: white: [Ka5, Qd1, Re1, Rb5, Bc7, Bb3, Se5, Pg4, Pb4] black: [Kd4, Qg6, Rf6, Re7, Bh8, Bg2, Pg3, Pd3, Pc3, Pa6] stipulation: "#3" solution: | "1. Re2! [2. Bb6+ 2... R:b6 3. Qg1#] 1... Rf8 2. Q:d3+ 2... Q:d3 3. Bb6# 1... R:c7 2. Sf3+ 2... R:f3 3. Rd5# 2... B:f3 3. Qg1# 1... Ree6 2. Sc6+ 2... R:c6 3. Be5# 2... B:c6 3. Bb6# 1... Ree6 2. B:e6 [3. Bb6#] 2... R:e6 3. Qg1# 2... c2 3. Qa1# 1... Rf8 2. Q:d3+ 2... Q:d3 3. Bb6# 1... Qe4 2. Qg1+ 2... Rf2 3. Bb6# 2... Qe3 3. Q:e3#" --- authors: - Брон, Владимир Акимович source: ÚV ČSTV date: 1969 distinction: 4th HM algebraic: white: [Kb4, Qe8, Ba7, Sb3, Ph3, Pe6, Pc3] black: [Kd5, Bg1, Sg8, Ph6, Pg6, Pg5, Pf3, Pe3, Pb7] stipulation: "#4" solution: | "1. Qf7! 1. ... b6 2. c4+ 2. ... Ke4 3. Qxg6+ 3. ... Ke5 4. Bb8# 1. ... Se7 2. Qxf3+ 2. ... Kxe6 3. Sc5+ 3. ... Ke5 4. Bb8# 2. ... Kd6 3. Bb8+ 3. ... Kxe6 4. Sc5# 1. ... Sf6 2. Qxb7+ 2. ... Kxe6 3. Sd4+ 3. ... Ke5 4. Bb8#" --- authors: - Брон, Владимир Акимович source: «64» source-id: 47/69 date: 1976-11 algebraic: white: [Ke1, Ra1, Bc3, Sd6, Pf5, Pe3, Pe2, Pc5, Pb3, Pa5] black: [Ka6, Pf6, Pe5, Pe4, Pd4, Pc6, Pa7] stipulation: "#4" solution: | "1. O-O-O! waiting 1... d:e3 2. Rd5 waiting 2... c:d5 3. b4 ad lib 4. b5# 1... d:c3 2. Kc2 waiting 2... K:a5 3. K:c3 [4. Ra1#] 3... Ka6 4. Ra1# 1... d3 2. Be1 waiting 2... d:e2 3. Rd2 waiting 3... K:a5 4. Ra2# 2... d2+ 3. R:d2 waiting 3... K:a5 4. Ra2#" --- authors: - Брон, Владимир Акимович source: Бюллетень ЦШК СССР source-id: 2/8 date: 1973 distinction: Comm. algebraic: white: [Kd2, Qh2, Rb1, Pg5, Pf4] black: [Ka5, Qh5, Rf6, Ra6, Ph4, Pg4, Pf7, Pe7, Pd6, Pd5, Pd4, Pc7] stipulation: "#3" solution: | "1. Qg2! [2. Q:d5+ 2... c5, Ka4 3. Qa2#] 1... c6 2. Kc1 [3. Qa2#] 2... Ka4 3. Qa2# 1... e6 2. Ke1 [3. Qa2#] 2... Ka4 3. Qa2# 1... Rf5 2. Kd3 [3. Qa2#] 2... Ka4 3. Qa2# 1... Q:g5 2. Kd1 [3. Qa2#] 2... Ka4 3. Qa2#" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 12/1561 date: 1933 algebraic: white: [Kb7, Qa7, Rc2, Bf5, Sg6, Sb2] black: [Kd5, Rh3, Bd8, Ph2, Pf6, Pe3, Pd7, Pd6, Pb5, Pa4] stipulation: "#3" solution: | "1. Rc7! [2. Qc5+ 2... d:c5 3. R:d7#] 1... B:c7 2. Se7+ 2... Ke5 3. Sd3# 1... Rh7 2. Sd1 [3. Sc3, S:e3#] 2... B:c7, b4 3. S:e3# 2... Re7/h3 3. Sc3#" keywords: - Model mates --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 13/1574 date: 1933 algebraic: white: [Ke1, Qb8, Bc6, Pf2, Pe3, Pd2, Pb6, Pb2, Pa2] black: [Ka5, Sb1, Pf3, Pe7, Pe6, Pe5, Pd3, Pa6] stipulation: "#3" solution: | "1. Qd8! waiting 1... Kb4 2. Q:e7+ 2... Kc4 3. b3# 2... Ka5 3. Qc5# 1... e4 2. Qd4 [3. Qc5, b4#] 2... Sa3/c3 3. b4# 1... Sa3 2. b:a3 ad lib 3. b7# 1... Sc3 2. b:c3 ad lib 3. b7# 1... S:d2 2. a3 [3. b7, b4#] 2... Sc4 3. b4# 2... Sb3 3. b7#" keywords: - Model mates --- authors: - Брон, Владимир Акимович source: Revista Română de Şah date: 1960 distinction: 2nd HM algebraic: white: [Kg8, Qg3, Rc8, Ra4, Bh4, Bb3, Sg5, Sa7, Pf7, Pd2, Pc7, Pc6, Pa5, Pa3] black: [Kc5, Re2, Rc1, Bh8, Bh1, Sg6, Sd1, Pf5, Pe7] stipulation: "#3" solution: | "1. Rd8! - 2. Qe5+ B:e5 3. Se6#, 2... R:e5 3. d4# 1... Ba1 2. Qc3+ B:c3 3. Rc4#, 2... R:c3 3. d4# 1... Sf8 2. Se4+ R:e4 3. Rd5#, 2... B:e4 3. B:e7# 1... f4 2. Re4 B:e4 3. Se6#, 2... R:e4 3. Rd5# 1... Sf4 2. Q:f4 [3. Qb4#], 2... Re4 3. Rd5#, 2... Be4 3. Se6# 1... Bd4 2. Qd3 [3. Q:d4, Qb5#], 2... B:c6 3. Q:d4#" keywords: - Novotny - Grimshaw --- authors: - Брон, Владимир Акимович source: МК Я. Бетиньша, Шахматы date: 1967 distinction: 3rd HM algebraic: white: [Ka6, Ra8, Pd7] black: [Ke7, Qb2, Rf7, Bg1, Ba4, Sc4, Sa5, Pg6] stipulation: "h#2" intended-solutions: 4 solution: | "1. Kf6 d8=Q 2. Kg7 Qh8# 1. Kd6 d8=R 2. Kc7 Rac8# 1. Bb3 d8=B 2. Kf8 Bf6# 1. Qg7 d8=S 2. Kf8 Sc6#" keywords: - Allumwandlung - Model mates comments: - P0507956 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 9/73 date: 1951 algebraic: white: [Kf7, Qa6, Rf3, Rd8, Be8, Ba5, Sd7, Sc4, Pg3, Pe2] black: [Kd5, Rh5, Rb3, Bd2, Ba8, Sb1, Ph6, Pg7, Pf5, Pd4, Pc6, Pb6] stipulation: "#3" solution: | "1. Ke7! [2. Bf7+ 2... Ke4 3. Sd6#] 1... Bb4+ 2. Sc5+ 2... K:c5 3. B:b6# 1... Bg5+ 2. Sf6+ 2... Kc5 3. R:f5# 1... Re3+ 2. Sde5+ 2... Kc5 3. Q:b6# 2... Ke4 3. Rf4# 1... d3 2. Sc:b6+ 2... Kd4/e4 3. Qc4# 2... R:b6 3. Q:d3# 1... Ke4 2. Sd6+ 2... Kd5 3. Bf7, Qc4#" --- authors: - Брон, Владимир Акимович - Вахлаков, Юрий Николаевич source: Шахматы в СССР source-id: 2/12 date: 1952 algebraic: white: [Kh7, Qh1, Rf8, Rc3, Bg8, Bb2, Se4, Sd5, Pf3] black: [Ke5, Qa7, Ra6, Bd8, Ba2, Sc6, Sb3, Ph5, Pf4, Pc7] stipulation: "#2" solution: | "1. S:f4? [2. Rc5#] 1... Qd4 2. Sg6# 1... Scd4 2. Sd3# 1... Kd4 2. R:b3/d3# 1... Sbd4 2. Sg6/d3# But 1... Bf6! 1. Se3? [2. Rc5#] 1... Qd4 2. Rf5# 1... Scd4 2. Sc4# 1... Kd4 2. R:b3# But 1... Sbd4! 1. Sdf6! [2. Rc5#] 1... Qd4, Kf5 2. Q:h5# 1... Scd4, Sbd4 2. Sd7# 1... Kd4 2. R:b3#" keywords: - Zagoruiko - Selfblock - Flight giving key --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 3/19 date: 1948 algebraic: white: [Kb8, Qb7, Rf2, Rc8, Bh2, Bb1, Sd1, Sa3, Pf4, Pe4] black: [Kd4, Rg3, Ba2, Sa4, Pg2, Pe2, Pd6, Pa6, Pa5] stipulation: "#2" solution: | "1. Bg1! [2. Rf3#] 1... R~ 2. Qg7# 1... Rd3 2. Sc2# 1... Rb3 2. Rc4# 1... e:d1~ 2. Rd2#" keywords: - Black correction --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 10/ date: 1952 distinction: 1st-2nd Prize algebraic: white: [Ka7, Qd3, Bg8, Be7, Sg2, Sf2] black: [Ke5, Rg5, Re1, Bh2, Bf3, Sc2, Ph5, Pg7, Pd4, Pc6, Pc3, Pa6] stipulation: "#3" solution: | "1. Sh4! - 1... ~ 2. Qf5+ R:f5 3. Sg6# 1... Bg4 2. Qe4+ R:e4 3. Sd3# 1... Se3 2. Q:d4+ K:d4 3. S:f3# 1... Re4 2. Qb5+ a:b5/c:b5 3. Sd3# (2... Kf4 3. Q:g5#) 1... Kf4 2. Q:f3+ Ke5 3. Sd3#" keywords: - Model mates - Active sacrifice comments: - FIDE Album (1945-1955) with bSf1 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 11/78 date: 1952 algebraic: white: [Ke1, Re4, Bh8, Be6, Sa3, Ph4, Pf2, Pb2] black: [Ka1, Bc1, Ph5, Pf3, Pe7, Pe2] stipulation: "#3" solution: | "1. Re3! waiting 1... B:b2 2. Rc3 [3. Rc1#] 2... B:c3+ 3. B:c3# 1... Bd2+ 2. K:d2 [3. b4#] 2... e1=Q+/B+ 3. R:e1# 1... B:e3 2. b4+ 2... Bd4 3. B:d4#" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 5/21 date: 1955 algebraic: white: [Kd7, Qg2, Rh4, Re1, Bf1, Ba1, Sc5, Sb2, Pb4] black: [Kd5, Rf3, Bh1, Bg5, Sh3, Sd1, Pd6, Pb5, Pa7, Pa5] stipulation: "#2" solution: | "1. Sba4! [2. Rd4#] 1... d:c5 2. Re5# 1... B:h4 2. R:d1# 1... Bf4/f6 2. Qg8# 1... Be3 2. Qa2# 1... Sf4 2. Q:g5# 1... Sc3/b2 2. S(:)c3# 1... Se3 2. Qd2#" keywords: - Gamage --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 8/39 date: 1955 distinction: 3rd HM algebraic: white: [Kh5, Qe1, Re4, Sg4, Sb7, Pd2, Pc2, Pb5] black: [Kd5, Rc3, Bg7, Sg8, Sc1, Pf6, Pf3, Pc7] stipulation: "#3" solution: | "1. Qh4! [2. Se3+ 2... R:e3 3. c4#] 1... Bh6 2. Q:f6 [3. Qe6, Qf5, Qe5, Qd4, Rd4#] 2... S:f6+ 3. S:f6# 1... K:e4 2. Sf2+ 2... Ke5/d5/f5 3. Qe4#" keywords: - Model mates --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 10/58 date: 1956 algebraic: white: [Kg5, Qg3, Bc7, Sb5, Ph4, Pf4, Pb4, Pb2] black: [Ka8, Pg6, Pe7, Pd4, Pc4, Pb7, Pa6] stipulation: "#3" solution: | "1. Qg2! waiting 1. ... e6 2. Sd6 [3. Qxb7#] 2. ... Ka7 3. Qxb7# 1. ... e5 2. Qh3 [3. Qc8#] 2. ... axb5 3. Qa3# 1. ... axb5 2. Qh1 [3. Qa1#] 2. ... Ka7 3. Qa1# 1. ... a5 2. Qd5 [3. Qd8, Qg8#] 2. ... e6 3. Qd8# 1. ... c3 2. Qd5 [3. Qd8, Qg8#] 2. ... e6 3. Qd8# 2. ... axb5 3. Qa2# 1. ... d3 2. Qg1 [3. Qa7#] 2. ... b6 3. Qg2/h1# 2. ... axb5 3. Qa1#" keywords: - Model mates --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 11/66 date: 1956 algebraic: white: [Kh7, Qb1, Re4, Be1] black: [Kh5, Rf5, Bh4, Pf6] stipulation: "#2" solution: | "1. Rf4! waiting 1. ... R~ 2. Qg6# 1. ... Rg5 2. Rxh4# 1. ... Kg5, B~ 2. Qxf5# 1. ... Bg5 2. Qd1#" keywords: - Black correction --- authors: - Брон, Владимир Акимович - Стукановский, В. source: Шахматы в СССР source-id: 6/33 date: 1958 algebraic: white: [Kh1, Qe7, Re1, Rd8, Bb4, Bb3, Sf2, Sc1] black: [Kd4, Qh8, Rh6, Rh4, Ba7, Sc4, Ph2, Pe5, Pd5] stipulation: "#2" solution: | "1. Ba2! [2. Sb3#] 1. ... S~ 2. Rxd5# 1. ... Se3 2. Se2# 1. ... Sb6 2. Qc5# 1. ... Sd6 2. Qxa7# 1. ... Rh3 2. Re4#" keywords: - Black correction --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 7/45 date: 1958 algebraic: white: [Kc2, Qf8, Bc3, Ba4, Sc5, Sb4, Pd4, Pb2, Pa7] black: [Ka5, Rb8, Ra8, Bh4, Bc8, Se4, Sc4, Pg3, Pe3, Pa3] stipulation: "#3" solution: | "1. Qd6! [2. Qc7+ 2. ... Rb6, Sb6 3. Sc6#] 1. ... Rxa7 2. Qb6+ 2. ... Rxb6, Sxb6 3. Sc6# 2. ... Kxb6 3. Sd5# 1. ... Scxd6 2. Sc6+ 2. ... Kb6 3. Ba5# 1. ... Sexd6 2. Sd5+ 2. ... Rb4 3. Bxb4# 1. ... Sxc5 2. Qxc5+ 2. ... Rb5 3. Qxb5# 2. ... Kxa4 3. b3#" keywords: - Active sacrifice - Model mates --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 4/30 date: 1960 algebraic: white: [Kf3, Qh8, Rh1, Ba3, Pg4, Pb2, Pa4] black: [Ka2, Pb4] stipulation: "#3" solution: | "1. Qb8! waiting 1. ... bxa3 2. bxa3 waiting 2. ... Kxa3 3. Ra1# 1. ... b3 2. Bb4 waiting 2. ... Kxb2 3. Qh2# 1. ... Kb3 2. Qxb4+ 2. ... Kc2 3. Qc3# 2. ... Ka2 3. Qc4#" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 5/41 date: 1951 algebraic: white: [Kh7, Qd1, Ra6, Bb5, Sg6, Ph2, Pg5, Pe6, Pc2] black: [Kf5, Qa2, Be1, Ph3, Pe4, Pc3, Pb2] stipulation: "#3" solution: | "1. Ra5! [2. Qg4+ 2... K:g4 3. Be2#] 1... K:g5 2. Qh5+ 2... K:h5 3. Be2# 2... Kf6 3. Qe5# 1... Qa4 2. B:a4+ 2... K:e6 3. Bb3, Qd5/d7# 1... Q:a5 2. Qd5+ 2... Kg4 3. Be2# 1... Qa1 2. Ba4+ 2... K:e6 3. Bb3, Qd5/d7# 1... Qd5 2. Q:d5+ 2... Kg4 3. Be2#" keywords: - Model mates - Active sacrifice --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 11/59 date: 1950 distinction: Comm. algebraic: white: [Ka1, Rd6, Bh8, Bb7, Sh2, Ph4, Pf2, Pb3] black: [Kf5, Ph5, Pg4, Pc5, Pb4, Pa6, Pa3] stipulation: "#3" solution: | "1. Ka2! [2. Ba1 [3. Rf6#] 2... Kf4 3. Rf6#] 1... a5 2. Ba1 [3. Rf6#] 2... Kf4 3. Rf6# 1... c4 2. Bc8+ 2... Kf4/e4 3. Rd4# 1... Kf4 2. Ba1 [3. Rf6#] 2... Kf5 3. Rf6# 1... g3 2. Rf6+ 2... Ke5 3. Sf3#" keywords: - Model mates --- authors: - Брон, Владимир Акимович source: Šahs/Шахматы (Rīga) source-id: 17/1389 date: 1977 algebraic: white: [Kb4, Qf6, Rf2, Rd2, Bg1, Bb1, Sd4, Sd3, Pe3, Pd5] black: [Ke4, Qg4, Re8, Bh6, Bf5, Sg7, Pg2, Pc3, Pb6] stipulation: "#2" solution: | "1... K:e3 2. Rfe2# 1... K:d5 2. Qc6# 1. Sb3! [2. Qd4#] 1... K:e3+ 2. Rf4# 1... K:d5+ 2. Sf4# 1... Re5, Se6 2. Q(:)e5# 1... B:e3 2. Sdc5#" keywords: - Changed mates - | Check - Non-check --- authors: - Брон, Владимир Акимович source: «64» source-id: 7/1146 date: 1934-07 algebraic: white: [Kg4, Qa2, Re3, Rc5, Bd4, Bb1, Sh8, Se5, Ph6, Pd7, Pd6, Pc6] black: [Kf6, Rc2, Rb3, Bb2, Sd8, Sb5, Pf2] stipulation: "#2" solution: | "1.Kg4-h4 ! threat: 2.Se5-g4 # 1...Kf6-e6 2.Se5-f7 # 1...Kf6-f5 2.Se5-g6 #" keywords: - Selfpinning - Battery play --- authors: - Брон, Владимир Акимович source: IV FIDE-Turnier 1964 - date: 1967 distinction: 1st Comm. algebraic: white: [Kd8, Rf6, Rb4, Bf8, Se1, Sc6, Pf2, Pc2] black: [Kd5, Qa2, Rc1, Bb1, Se2, Sa3, Ph4, Pc7, Pb3, Pb2] stipulation: "#3" solution: | "1.f3 ~ 2.Sd3 ~ 3.Se7# 2... Sc4 3.Rb5# 1... R:c2 2.Re4 ~ 3.Sb4# 2... Rc4 3.Re5# 2... R:c6 3.Rf5# 1... b:c2 2.Kd7 ~ 3.Rf5# 2... Sc4 3.Rb5# 1... B:c2 2.Sg2 ~ 3.Se3# 2... Sc4 3.Rb5# 1... S:c2 2.Rb5+ Kc4 3.Rc5#" --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 3/12 date: 1947 algebraic: white: [Kb7, Qe7, Rg3, Rc8, Bf5, Ba5, Se3, Sd8] black: [Kd4, Rh8, Rf2, Bb4, Sf3, Pf6, Pf4, Pd6, Pd5, Pd3] stipulation: "#2" solution: | "1. Bg6? [2. Sf5#] But 1... Rh5! 1. Bh7! [2. Sf5#] 1... Bc5 2. Sc6# 1... d2 2. Sc2# 1... f:e3 2. Rg4# 1... Se5 2. Se6# 1... Sh4 2. Q:f6#" keywords: - B2 --- authors: - Брон, Владимир Акимович source: Šahs/Шахматы (Rīga) source-id: 11/275 date: 1969 algebraic: white: [Kf8, Qf5, Rh4, Rd1, Bh8, Ba2, Sg7, Se8, Ph5, Pe6, Pe2, Pd2, Pb4] black: [Kd4, Rf1, Bh7, Sg4, Se4, Pe7, Pc6, Pc3] stipulation: "#2" solution: | "1... Sef6 2. e3# 1... Sgf6 2. Qc5# 1... Se5 2. R:e4# 1. Qf3! [2. Sf5#] 1... Ke5 2. d4# 1... Sef6 2. Qe3# 1... Sgf6 2. Q:c3# 1... Se5 2. d:c3#" keywords: - Changed mates - Half-pin - Indirect unpinning --- authors: - Брон, Владимир Акимович source: Конкурс Свердловского КФиС date: 1948 distinction: 1st-2nd Prize algebraic: white: [Kh7, Qf5, Re8, Rd1, Bg1, Bf3, Sh4, Sa5, Pg7, Pg3, Pf6, Pb5, Pb4] black: [Kd6, Qc8, Rc3, Bc2, Ba1, Sf2, Sd2, Pg5, Pd7, Pc7, Pc4] stipulation: "#2" solution: | "1. g4! [2. Bh2#] 1... Q:e8 2. Sb7# 1... R~ 2. S:c4# 1... Rd3 2. Qc5# 1... B:f5+ 2. S:f5# 1... S:g4/h3/h1 2. Bc5# 1... Sd3 2. Qd5# 1... Sfe4 2. Qe5#" keywords: - Black correction - Indirect unpinning comments: - 172410 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 12/77 date: 1948 algebraic: white: [Kc1, Qg8, Rf1, Rd7, Bf3, Sg6, Se5] black: [Ke3, Qc6, Rg3, Ba8, Sh1, Sb1, Pc4] stipulation: "#2" solution: | "1. Q:c4! [2. Rd3#] 1... Qd6/d5/:d7 2. Qf4# 1... Q:g6 2. Qd4# 1... Qe4 2. Qe2# 1... Q:f3 2. Qd3# 1... Q:c4+ 2. S:c4# 1... R:f3 2. Sg4# 1... Sf2 2. Re1#" keywords: - Selfpinning - Unpinning --- authors: - Брон, Владимир Акимович source: Kubbel MT date: 1953 distinction: 3rd Honorable Mention algebraic: white: [Kb3, Bc1, Ba8, Pg5, Pg2] black: [Kf8, Bh7, Sh3, Sb6, Pg7, Pb4] stipulation: "=" solution: | 1.Bb7 Sf2 2.Be3 Bg8+ 3.Kxb4 Sd3+ 4.Kc3 Sb2 5.Bc5+ Kf7 6.Bxb6 Sa4+ 7.Kb4 Sxb6 8.Kc5 Sd7+ 9.Kd6 Sb6 10.Kc5 Sa4+ 11.Kb4 Sb2 12.Kc3 Sd1+ 13.Kd2 Sf2 14.Ke3 Sg4+ 15.Kf4 Sf2 16.Ke3 = --- authors: - Брон, Владимир Акимович source: «64» source-id: 40/136 date: 1937-07-20 algebraic: white: [Kg8, Qh3, Rh5, Rc3, Bh8, Ba8, Sf7, Se8, Pe6, Pc7] black: [Ke4, Qb7, Rc6, Ra6, Be2, Sc2, Pg6, Pf4, Pf3, Pd6, Pc5] stipulation: "#2" solution: | "1. e7! [2. Qe6#] 1... Qb3 2. Se:d6# 1... Qc8 2. Sf:d6# 1... d5 2. Sg5# 1... Sd4 2. Sf6# 1... Bc4 2. Q:f3#" keywords: - Pinning - Dual avoidance - B2 --- authors: - Брон, Владимир Акимович source: «64», турнир проблемистов source-id: 1/ date: 1940 algebraic: white: [Ke8, Qd6, Rg3, Rg2, Bd2, Bb7, Sh4, Sc6, Pf4, Pc3, Pb4] black: [Ke4, Re3, Bb6, Ba6, Sd1, Pf7, Pf5, Pc4, Pc2] stipulation: "#2" solution: | "1. Qf6! [2. Q:f5#] 1... K:f4+ 2. Qe5# 1... Kd3+ 2. Se5# 1... Kd5+ 2. Se7#" keywords: - 3+ flights giving key - Cross-checks --- authors: - Брон, Владимир Акимович source: «64», турнир проблемистов source-id: 5/ date: 1940 algebraic: white: [Kg4, Qc7, Re4, Rd7, Bd4, Bd1, Sg2, Pf5, Pb4] black: [Kd5, Qg1, Re7, Re3, Bf8, Ba8, Sg3, Sc3, Pg7, Pf4, Pf3, Pd6] stipulation: "#2" solution: | "1. Bf6! [2. Qc4, Rd4#] 1... R7:e4 2. Qc5# 1... Sc:e4 2. S:f4# 1... R3:e4 2. R:d6# 1... Sg:e4 2. Bb3#" keywords: - Defences on same square - Selfblock - Dual avoidance --- authors: - Брон, Владимир Акимович source: «64», турнир проблемистов source-id: 7/ date: 1940 algebraic: white: [Kc8, Qe3, Rd1, Rb6, Bg8, Bg1, Sh2, Sa5, Pe4] black: [Ke5, Ra4, Bh1, Bg3, Sf8, Sc7, Pf5] stipulation: "#2" solution: | "1... R:e4 2. Sc4# 1... B:e4 2. Sf3# 1. Rf1? [2. R:f5#] But 1... Bf2! 1. Qg5! [2. Q:f5#] 1... K:e4 2. Qe3# 1... R:e4 2. Sc6# 1... B:e4 2. Sg4#" keywords: - Changed mates - Flight giving key - Selfpinning - Selfblock --- authors: - Брон, Владимир Акимович source: «64», турнир проблемистов source-id: 9/ date: 1940 algebraic: white: [Ka6, Qa3, Rd7, Ra5, Bh8, Be6, Sh7, Sd3, Pg4, Pg2, Pf2, Pe5, Pd2, Pb4] black: [Ke4, Qa1, Rf3, Rd1, Bf1, Bd8, Sc8, Pe3, Pc4] stipulation: "#2" solution: | "1. f:e3! [2. Bd5, Sc5#] 1... c3 2. Rd4# 1... R:e3 2. Bf5# 1... Rf6 2. Sg5# 1... Q:e5 2. R:e5#" --- authors: - Брон, Владимир Акимович source: «64», турнир проблемистов source-id: 11/ date: 1940 algebraic: white: [Kf4, Qh2, Re1, Ra1, Bf1, Be5, Sg2, Se3, Pe2, Pb3] black: [Kf2, Bc1, Pf5, Pe6, Pe4, Pc2, Pb4] stipulation: "#2" solution: | "1... B~ 2. Sh4# 1... B:e3+ 2. S:e3# 1. Kg5! [2. Bg3#] 1... f4 2. Sg4# 1... B:e3+ 2. Sf4#" keywords: - Block - Changed mates - Cross-checks --- authors: - Брон, Владимир Акимович source: «64», турнир проблемистов source-id: 15/ date: 1940 algebraic: white: [Kb8, Qb7, Rg3, Rc7, Bf8, Ba8, Sg5, Se5, Pf4, Pe2] black: [Kd4, Rh6, Rd7, Bc8, Bc5, Sg8, Sd5, Pc4, Pb6] stipulation: "#2" solution: | "1. Bg7! [2. Sc6#] 1... B5~ 2. R:c4# 1... Bd6 2. Q:d5# 1... Sd~ 2. Qe4# 1... Sdf6 2. Se6# 1... Sc3 2. e3# 1... Se3 2. Sef3# 1... c3 2. Rd3#" keywords: - Unblock - Black correction --- authors: - Брон, Владимир Акимович source: «64» source-id: 21/301 date: 1940 algebraic: white: [Kb5, Qh7, Rc1, Bh8, Ba8, Se5, Se3, Pf4, Pf3, Pd2] black: [Kd4, Qf5, Re2, Sg3, Sa5, Pf7, Pc3, Pb4] stipulation: "#2" solution: | "1... Qd3+ 2. Q:d3# 1... Qd7+ 2. Sc6# 1. Q:f7! [2. Qa7, Qd5#] 1... Qd3+ 2. S5c4# 1... Qd7+ 2. Q:d7#" keywords: - Cross-checks - Changed mates --- authors: - Брон, Владимир Акимович source: Východoslovenské noviny source-id: 46 date: 1969-10-31 algebraic: white: [Kb1, Rd7, Bc6, Pg3, Pc5, Pc3, Pa5, Pa4] black: [Ka3, Pg7, Pb3, Pb2, Pa6] stipulation: "#5" solution: | "1.Rd7-d4 ! zugzwang. 1...g7-g5 2.Bc6-e8 zugzwang. 2...g5-g4 3.Rd4-d7 zugzwang. 3...Ka3*a4 4.Rd7-d4 + 4...Ka4*a5 5.Rd4-a4 # 1...g7-g6 2.Rd4-g4 zugzwang. 2...g6-g5 3.Bc6-e4 zugzwang. 3...Ka3*a4 4.Be4-c6 + 4...Ka4-a3 5.Rg4-a4 #" keywords: - Indian --- authors: - Брон, Владимир Акимович source: Шахіст (Київ) source-id: 20(29)/36 date: 1937-09-14 algebraic: white: [Kb7, Qe7, Rg3, Rc8, Bf5, Ba5, Se3, Sd8] black: [Kd4, Rh8, Rd1, Bb4, Sf3, Pf6, Pf4, Pd6, Pd5, Pd3] stipulation: "#2" solution: | "1. Bh7! [2. Sf5#] 1... Bc5 2. Sc6# 1... Se5 2. Se6# 1... f:e3 2. Rg4# 1... d2 2. Sc2# 1... Sh4 2. Q:f6# Cook 1. R:f3!" keywords: - Cooked - B2 comments: - "add bSg1?" --- authors: - Брон, Владимир Акимович source: Шахіст (Київ) source-id: 11/16 date: 1937-04-21 algebraic: white: [Kb8, Qb7, Re1, Ra5, Bh1, Bg1, Se5, Sa6, Pf4, Pf2, Pd6, Pc6, Pb3, Pa7] black: [Kd4, Qa1, Rc2, Rb4, Bb5, Sa8, Pe7, Pe6, Pc3] stipulation: "#2" solution: | "1. d:e7! [2. Qd7#] 1... Sc7/b6 2. Q(:)b6# 1... Bc~ 2. Re4# 1... Bd3 2. Sf3# 1... Be2 2. f3# 1... B:c6 2. Q:b4# 1... Ba4 2. Q:b4, Re4#" keywords: - Black correction --- authors: - Брон, Владимир Акимович source: Шахіст (Київ) source-id: 11/17 date: 1937-04-21 algebraic: white: [Kh8, Rc2, Bd6, Sg7, Sf8] black: [Kd8, Bh3, Ph6, Pf7, Pf5, Pb5] stipulation: "#3" solution: | "1. Bg3! [2. Bh4+ 2... f6 3. B:f6#] 1... Ke7 2. Re2+ 2... Kf6 3. Bh4# 2... Kd8 3. Re8# 2... K:f8 3. Bd6, Re8# 1... f6 2. Sfe6+ 2... Kd7/e7 3. Rc7#" keywords: - Model mates --- authors: - Брон, Владимир Акимович source: Magyar Sakkélet source-id: v date: 1966 algebraic: white: [Kh1, Rd4, Rb6] black: [Ka3, Bh3, Bf8, Se1, Pf2] stipulation: "=" solution: | 1.Rb6-a6+ Ka3-b3 2.Ra6-b6+ Kb3-c3 3.Rd4-f4 f2-f1=Q+ 4.Rf4*f1 Bh3*f1 5.Rb6-e6 Kc3-d2 6.Re6-f6 Bf1-g2+ { } 7.Kh1-h2 Bf8-c5 8.Rf6-f2+ Bc5*f2 {stalemate} keywords: - Stalemate comments: - Version Сергей Осинцев, 2016 --- authors: - Брон, Владимир Акимович source: Problem source-id: v date: 1959 algebraic: white: [Kb7, Sc7, Pc6] black: [Kd3, Sh8, Sb3, Pf7, Pa5] stipulation: "=" solution: 1.Sc7-e6 f7*e6 2.c6-c7 Sh8-f7 3.Kb7-c6 Sb3-d4+ 4.Kc6-c5 Sf7-d6 5.c7-c8=Q {pat} keywords: - Version of Sergej Osincev, 2016 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: v date: 1956 algebraic: white: [Ka6, Rf4, Sf8] black: [Ka3, Bh7, Pc2] stipulation: "=" solution: | 1.Rf4-f3+ Ka3-b4 2.Rf3-f4+ Kb4-c5 3.Rf4-f7 Kc5-d6 4.Rf7-d7+ Kd6-c6 5.Sf8-e6 Kc6*d7 6.Se6-c5+ Kd7-d6 7.Sc5-b3 Bh7-g8 { } 8.Sb3-c1 Kd6-c5 9.Ka6-a5 Kc5-c4 10.Ka5-a4 Kc4-c3 11.Ka4-a3 Bg8-c4 12.Sc1-b3 Bc4*b3 {pat} 12...Bc4-f7 13.Sb3-c1 Kc3-d2 14.Ka3-b2 Bf7-c4 15.Kb2-a1 Kd2*c1 {pat} 15...Kd2-c3 16.Sc1-b3 Bc4*b3 {pat} comments: - Version of Sergej Osincev, 2016 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: v date: 1934 algebraic: white: [Kb5, Rh6, Sh8, Pb6] black: [Kc8, Bd5, Sd1, Pe3, Pc5, Pb7] stipulation: "=" solution: | 1.Sh8-g6 e3-e2 2.Sg6-e5 Kc8-d8 3.Se5-d3 Bd5-c4+ 4.Kb5*c4 Sd1-b2+ 5.Kc4*c5 Sb2*d3+ 6.Kc5-d6 e2-e1=Q { }7.Rh6-h8+ Qe1-e8 8.Rh8-g8 Qe8*g8 {pat} comments: - Version, 2016 - Check also 274914 --- authors: - Брон, Владимир Акимович source: «64» source-id: v date: 1936 algebraic: white: [Kf2, Ba7, Sc7, Sc3, Pg2, Pd2] black: [Ke5, Sh6, Ph2, Pg5, Pe4] stipulation: "=" solution: | 1.Ba7-d4+ Ke5*d4 2.Sc3-e2+ Kd4-d3 3.Se2-g3 Sh6-f5 4.Sg3-h1 Kd3*d2 5.Sc7-d5 g5-g4 { }6.g2-g3 e4-e3+ 7.Sd5*e3 Sf5*e3 {pat} comments: - Version, 2016 --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 23-24/1502 date: 1932 algebraic: white: [Kg5, Qf4, Re2, Rc6, Bc3, Bb5, Sg6, Sf7] black: [Kd5, Qc1, Rh8, Rd1, Bh5, Ba3, Sg4, Sf1, Pe6, Pd4, Pc4] stipulation: "#2" solution: | "1.Rc6-c7 ! threat: 2.Bb5*c4 # 1...Sg4-e3{display-departure-square} 2.Qf4-e5 # 1...Sf1-e3{display-departure-square} 2.Qf4-f3 # 1...Sf1-d2 2.Qf4*d4 # 1...Qc1*c3 2.Qf4-e4 # 1...Qc1*f4 + 2.Sg6*f4 # 1...Ba3-e7 + 2.Sg6*e7 # 1...Ba3-c5 2.Bb5-c6 # 1...Sg4-e5 2.Re2*e5 #" keywords: - Indirect unpinning - Unpinning - Dual avoidance --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 16/1461 date: 1932 algebraic: white: [Kh4, Qg3, Rg5, Bf4, Sf8] black: [Kh6, Qe7, Pf5] stipulation: "#2" solution: 1.Qg3-c3 ! zugzwang. --- authors: - Брон, Владимир Акимович source: Шахматы в СССР source-id: 11/1436 date: 1932 algebraic: white: [Kd1, Qd4, Re6, Ra5, Bh2, Bc4, Se2, Ph4, Pf3] black: [Kf5, Qa6, Rd7, Rb5, Bc6, Bb8, Sh8, Pe7, Pb6] stipulation: "#2" solution: | "1.Re6-h6 ! threat: 2.Bc4-e6 # 1...Rb5-d5{display-departure-square} 2.Qd4-d3 # 1...Bc6-d5 2.Qd4-g4 # 1...Rd7-d5{display-departure-square} 2.Bc4-d3 # 1...Rd7*d4 + 2.Se2*d4 # 1...Rd7-d6 2.Se2-g3 # 1...Sh8-g6 2.Rh6-h5 #" keywords: - Defences on same square --- authors: - Брон, Владимир Акимович source: Československý šach source-id: 103 date: 1963-11 algebraic: white: [Kb5, Re4, Ra4, Sg6] black: [Kh5, Bh1, Bd6, Sf7, Ph3, Pf2] stipulation: "=" solution: | "1.Sg6-f4+ ! Kh5-h6 ! 2.Re4-e6+ Kh6-h7 ! 3.Ra4-a1 Bh1-g2 4.Sf4*h3 ! f2-f1=Q+ 5.Ra1*f1 Bg2*f1+ 6.Kb5-c6 ! Bf1-g2+ ! 7.Kc6-d7 ! Bg2*h3 8.Kd7-e8 Bh3*e6 {stalemate} 8...Kh7-g7 9.Re6-g6+ ! Kg7*g6 {stalemate} 9.Re6-f6 ? Bh3-d7+ ! 4...Bg2*h3 5.Re6-f6 2...Kh6-g7 3.Ra4-a1 Bh1-g2 4.Re6-g6+ 1...Kh5-g4 2.Sf4-d3+ ! Bh1*e4 3.Sd3*f2+ Kg4-f3 4.Sf2*h3 3...Kg4-g3 4.Sf2*e4+ 1...Bd6*f4 2.Re4*f4 h3-h2 3.Rf4-h4+ Kh5-g5 4.Ra4-g4+ Kg5-f5 5.Rg4-f4+ Kf5-g5 6.Rf4*f2 1...Kh5-h4 2.Sf4-d3+ ! Bh1*e4 3.Sd3*f2 h3-h2 4.Sf2*e4 Bd6-e5 5.Ra4-b4 Kh4-h3 6.Rb4-b1 Kh3-g2 7.Rb1-c1 Be5-f4 8.Rc1-c2+" keywords: - Stalemates --- authors: - Брон, Владимир Акимович source: Roi Blanc Peugeot, TT date: 1962 distinction: 4th Comm. algebraic: white: [Kc5, Qc3, Rh5, Rd3, Bh7, Be7, Sg5, Sd4, Pg3, Pf7, Pe6, Pc6] black: [Ke5, Qg1, Rf5, Re2, Bh1, Bg7, Sa7, Pd2, Pc7] stipulation: "#2" solution: | "1.Kc5-b4 ! threat: 2.Sd4-f3 #{display-departure-file} 1...Re2-e4 2.Qc3-c5 # 1...Rf5-f4 2.Sg5-f3 #{display-departure-file} 1...Qg1*d4 + 2.Qc3*d4 # 1...Qg1-b1 + 2.Sd4-b3 # 1...Qg1*g3 2.Sd4*e2 # 1...Ke5-d5 2.Qc3-c5 # 1...Rf5*g5 2.Rh5*g5 # 1...Sa7*c6 + 2.Sd4*c6 #" keywords: - Flight giving key - Monreal theme --- authors: - Брон, Владимир Акимович source: В поисках шахматной истины source-id: 151 date: 1979 algebraic: white: [Kf6, Bh8, Pg6, Pd6] black: [Kh5, Bb5, Ph2] stipulation: "=" solution: | "1.d6-d7 ? h2-h1=Q 2.d7-d8=Q Qh1-h4+ 1.g6-g7 Bb5-c4 2.g7-g8=Q ! Bc4*g8 3.d6-d7 h2-h1=Q 4.d7-d8=Q Qh1-h4+ 5.Kf6-g7 Qh4*d8 {stalemate}" keywords: - Stalemate --- authors: - Брон, Владимир Акимович source: Шахматы source-id: 10/744 date: 1929 algebraic: white: [Ke8, Qg2, Bg4, Bg1, Se4] black: [Ke5, Ba2, Sb8, Ph6, Ph4, Pg7, Pg6, Pd2, Pc6, Pc2, Pb3] stipulation: "#3" solution: | "1.Se4-c5 ! threat: 2.Qg2*d2 2.Qg2-h2 + 1...Ke5-f4 2.Bg1-h2 + 2...Kf4-e3 3.Qg2-g1 # 2...Kf4-g5 3.Sc5-e4 # 1...Ke5-f6 2.Bg1-d4 + 2...Kf6-g5 3.Sc5-e6 # 2.Qg2*d2 threat: 3.Qd2-f4 # 3.Bg1-d4 # 2...c2-c1=Q 3.Bg1-d4 # 2...c2-c1=B 3.Bg1-d4 # 2...Kf6-e5 3.Qd2-d4 # 2...g6-g5 3.Qd2-d6 # 2...Sb8-d7 3.Sc5*d7 # 3.Qd2-f4 #" keywords: - Dual --- authors: - Брон, Владимир Акимович - Давиденко, Фёдор Васильевич source: Фестиваль в Одессе date: 1983 distinction: 1st Prize algebraic: white: [Ke8, Qe6, Rg3, Rc3, Bh8, Bd5, Sa5, Pe5, Pd2] black: [Kd4, Qa2, Ra6, Bc5, Bb1, Sf4, Sb7, Pg6, Pg5, Pe7, Pd3, Pb5, Pa7, Pa3] stipulation: "#3" solution: | "1.Bd5-h1 ! threat: 2.Qe6-c4 + 2...b5*c4 3.e5-e6 # 1...Sf4-d5 2.Qe6-g4 + 2...Sd5-f4 3.e5-e6 # 1...Bc5-b4 2.Qe6-b6 + 2...Ra6*b6 3.e5-e6 # 1...Sb7*a5 2.Qe6-d7 + 2...Bc5-d6 3.e5-e6 # 1...Qa2*e6 2.Sa5-b3 + 2...Qe6*b3 3.e5-e6 # 1...Sf4*e6 2.Rg3-g4 + 2...Se6-f4 3.e5-e6 # 1...Ra6*e6 2.Sa5-c6 + 2...Re6*c6 3.e5-e6 # 1...Qa2-d5 2.Qe6*d5 + 2...Sf4*d5 3.Sa5-b3 #" keywords: - Clearance sacrifice - Decoy - Deflect - Defences on same square --- authors: - Брон, Владимир Акимович - Давиденко, Фёдор Васильевич source: Фестиваль в Одессе date: 1984 distinction: 3rd Prize algebraic: white: [Ke7, Rf3, Bf5, Se2, Ph6, Pg4, Pg3, Pe6, Pe4, Pc4] black: [Ke5, Ph7, Pg5, Pf7, Pc6, Pc5] stipulation: "#3" options: - SetPlay solution: | "1...f7-f6 2.Rf3-f4 zugzwang. 2...g5*f4 3.g3*f4 # 1...f7*e6 2.Rf3-e3 zugzwang. 2...e6*f5 3.e4*f5 # 1.Bf5*h7 ? 1...f7-f6 2.Rf3-e3 zugzwang. 2...f6-f5 3.e4*f5 # 1...f7*e6 2.Rf3-f4 zugzwang. 2...g5*f4 3.g3*f4 # but 1...f7-f5 ! 1.Rf3-f4 ! 1...f7-f6 2.Ke7-d7 zugzwang. 2...g5*f4 3.g3*f4 # 1...f7*e6 2.Bf5*h7 zugzwang. 2...g5*f4 3.g3*f4 #" keywords: - Block - Zagoruiko - Reciprocal --- authors: - Брон, Владимир Акимович source: Шахматный листок source-id: 23/1050 date: 1929 algebraic: white: [Ka8, Qc6, Rh4, Rh2, Be1, Bc2, Sg1, Sb6, Pc3] black: [Ke3, Rg2, Re6, Bf3, Sg5, Pe7, Pd6, Pd5, Pc5] stipulation: "#2" solution: | "1.Qc6*d5 ! threat: 2.Sb6-c4 # 1...Re6-e4 2.Qd5-d3 # 1...Bf3-e2 2.Qd5-d2 # 1...Bf3-g4 2.Qd5*g5 # 1...Rg2-g4 2.Be1-d2 # 1...Bf3*d5 + 2.Sb6*d5 #" keywords: - Selfpinning - Unpinning --- authors: - Брон, Владимир Акимович source: Шахматный листок source-id: 21/1032 date: 1929 algebraic: white: [Kb2, Qf6, Bf1, Sb3, Ph5, Pg5, Pg3, Pf5] black: [Kd5, Ra7, Be8, Pg4, Pf7, Pb4, Pa5] stipulation: "#3" solution: | "1.Qf6-b6 ! threat: 2.Qb6-c5 + 2...Kd5-e4 3.Sb3-d2 # 1...Kd5-e4 2.Qb6-d4 + 2...Ke4-f3 3.Qd4-f4 # 2...Ke4*f5 3.Qd4-d5 # 1...Ra7-d7 2.Bf1-g2 + 2...Kd5-c4 3.Qb6-a6 # 2...Kd5-e5 3.Qb6-f6 # 1...Ra7-c7 2.Qb6-d4 + 2...Kd5-c6 3.Sb3*a5 #" keywords: - Model mates --- authors: - Брон, Владимир Акимович source: Шахматный листок source-id: 17/1006 date: 1929 algebraic: white: [Ka8, Be7, Sg5, Sb3, Pf2, Pe4, Pe2, Pd2] black: [Ke5, Be8, Ph5, Ph4, Pg6, Pf3, Pd3, Pc6, Pb5, Pb4] stipulation: "#3" solution: | "1.Sb3-c5 ! threat: 2.e2-e3 threat: 3.Sg5*f3 # 3.Sc5*d3 # 1...d3*e2 2.Sg5-e6{display-departure-file} threat: 3.d2-d4 # 1...f3*e2 2.Sc5-e6{display-departure-file} threat: 3.f2-f4 # 1...Ke5-d4 2.Sg5*f3 + 2...Kd4-c4 3.e2*d3 # 1...Ke5-f4 2.Sc5*d3 + 2...Kf4-g4 3.e2*f3 #" --- authors: - Брон, Владимир Акимович source: Всесоюзный конкурс имени VII шахматно-шашечного съезда date: 1931 distinction: 1st Comm. algebraic: white: [Kh2, Bb2, Bb1, Sf8, Pg7, Pe6, Pe2, Pd5, Pc7, Pc2] black: [Kg8, Ra3, Ba6, Ba5, Pe3, Pc6, Pb7, Pb6, Pb4] stipulation: "#3" solution: | "1.Bb2-e5 ! threat: 2.c7-c8=S threat: 3.Sc8-e7 # 1...b4-b3 2.c2-c4 threat: 3.Bb1-h7 # 1...b6-b5 2.c2-c3 threat: 3.Bb1-h7 #" --- authors: - Брон, Владимир Акимович source: Конкурс имени VII шахматно-шашечного съезда, «64» source-id: 1/ date: 1932 distinction: 1st Comm., 1931-1932 algebraic: white: [Kb5, Qh8, Rg2, Rc4, Bh5, Ba5, Sf5, Sd5, Pf3, Pe6, Pd2] black: [Kd3, Re2, Bf6, Sh3] stipulation: "#2" solution: | "1.Bh5-g6 ! threat: 2.Sf5-e3 # 1...Re2*e6 2.Sd5-b4 # 1...Re2-e5 2.Rc4-c3 # 1...Re2*g2 2.Sf5-g3 # 1...Sh3-f2{(Sg5, Sf4)} 2.Sd5-f4 # 1...Bf6-c3 2.Qh8*c3 # 1...Re2-f2 2.Sf5-d4 # 2.Sf5-g3 #" keywords: - Battery creation - Battery play - Anti-critical move - Somov (B1) --- authors: - Брон, Владимир Акимович source: Конкурс имени VII шахматно-шашечного съезда, «64» source-id: 1/ date: 1932 distinction: 6th Comm., 1931-1932 algebraic: white: [Kf8, Qg8, Re1, Rc5, Be6, Ba1, Sh3, Sb5, Pg5, Pg3, Pf3, Pe2, Pd7] black: [Ke5, Rd4, Rc3, Sa7, Ph5, Pd5, Pb4] stipulation: "#2" solution: | "1...Rc3*f3 + 2.e2*f3 # 1...Rd4-f4 + 2.g3*f4 # 1.Be6*d5 ! threat: 2.Qg8-e6 # 1...Rc3*f3 + 2.Bd5*f3 # 1...Rd4-f4 + 2.Bd5-f7 # 1...Rd4*d5 2.Qg8*d5 # 2.Rc5*d5 #" keywords: - Battery creation - Battery play - Cross-checks - Half-pin - Changed mates --- authors: - Брон, Владимир Акимович source: «64» source-id: 9-10/1207 date: 1933 algebraic: white: [Kb2, Rf6, Bh8, Ba8, Pf2, Pc2] black: [Ke5, Pe3, Pa5] stipulation: "#3" solution: | "1.f2-f3 ! threat: 2.Kb2-c3 threat: 3.f3-f4 # 2.c2-c3 threat: 3.f3-f4 # 1...e3-e2 2.c2-c3 threat: 3.f3-f4 # 1...a5-a4 2.Kb2-c3 threat: 3.f3-f4 # 1...Ke5-d4 2.Rf6-c6 + 2...Kd4-d5 3.c2-c4 #" --- authors: - Брон, Владимир Акимович source: «64» source-id: 4/1185 date: 1933 algebraic: white: [Kb1, Qe8, Ra7, Bg2, Sa2] black: [Ka4, Rb5, Bh7, Bd6, Sh2, Sa5, Ph3, Pg6, Pg5, Pc5, Pb2, Pa3] stipulation: "#3" solution: | "1.Qe8-d7 ! threat: 2.Ra7*a5 + 2...Ka4*a5 3.Qd7-a7 # 2...Ka4-b3 3.Qd7*b5 # 1...c5-c4 2.Bg2-e4 threat: 3.Be4-c2 # 1...Bd6-b8{(Bc7)} 2.Qd7-d1 + 2...Rb5-b3 3.Bg2-c6 #" --- authors: - Брон, Владимир Акимович source: «64» source-id: 12/1167 date: 1934 algebraic: white: [Kf4, Rc8, Bd4, Bc6, Pg5, Pf5, Pe2, Pa5] black: [Kd6, Sa3, Sa1] stipulation: "#3" solution: | "1.Bc6-d5 ! threat: 2.Rc8-d8 + 2...Kd6-c7 3.Bd4-b6 # 2...Kd6-e7 3.Bd4-f6 # 1...Sa3-c4 2.Bd4-c5 + 2...Kd6-d7 3.Bd5-e6 # 2...Kd6*d5 3.e2-e4 # 1...Kd6-d7 2.Bd5-e6 + 2...Kd7-e7 3.Bd4-c5 # 2...Kd7-d6 3.Bd4-c5 # 1...Kd6*d5 2.Bd4-e5 threat: 3.e2-e4 # 1...Kd6-e7 2.Bd4-c5 + 2...Ke7-d7 3.Bd5-e6 #" --- authors: - Брон, Владимир Акимович source: Szachy source-id: 2087 date: 1959-08 algebraic: white: [Ke8, Re5, Bg6, Bb6, Sh2, Ph5, Pf2, Pe3, Pb4] black: [Kh4, Qb1, Ph6, Ph3, Pg5, Pf3, Pe4, Pc3, Pb5] stipulation: "#3" solution: | "1.Bb6-c7 ! zugzwang. 1...Qb1-d3 2.Re5-d5 threat: 3.Bc7-g3 # 1...Qb1-c2 2.Re5*g5 2...Kh4*g5 3.Bc7-d8 # 2...h6*g5 3.Bc7-g3 # 1...Qb1-a2 2.Re5*e4 + 2...g5-g4 3.Bc7-d8 # 3.Re4*g4 # 3.Sh2*f3 # 1...Qb1-a1 2.Re5*e4 + 2...g5-g4 3.Bc7-d8 # 3.Re4*g4 # 3.Sh2*f3 # 1...Qb1*b4 2.Re5-c5 threat: 3.Bc7-g3 # 1...Qb1-b3 2.Re5*e4 + 2...g5-g4 3.Bc7-d8 # 3.Re4*g4 # 3.Sh2*f3 # 2.Re5-d5 threat: 3.Bc7-g3 # 1...Qb1-b2 2.Re5*e4 + 2...g5-g4 3.Bc7-d8 # 3.Re4*g4 # 3.Sh2*f3 # 2.Re5*g5 threat: 3.Rg5-g4 # 2...Kh4*g5 3.Bc7-d8 # 2...h6*g5 3.Bc7-g3 # 1...Qb1-h1 2.Re5*e4 + 2...g5-g4 3.Bc7-d8 # 3.Re4*g4 # 1...Qb1-g1 2.Re5*e4 + 2...Qg1-g4 3.Bc7-g3 # 3.Re4*g4 # 3.Sh2*f3 # 2...g5-g4 3.Bc7-d8 # 3.Sh2*f3 # 1...Qb1-f1 2.Re5*e4 + 2...g5-g4 3.Bc7-d8 # 3.Re4*g4 # 3.Sh2*f3 # 1...Qb1-e1 2.Re5*e4 + 2...g5-g4 3.Bc7-d8 # 3.Re4*g4 # 3.Sh2*f3 # 1...Qb1-d1 2.Re5*e4 + 2...g5-g4 3.Re4*g4 # 1...c3-c2 2.Re5*e4 + 2...g5-g4 3.Bc7-d8 # 3.Re4*g4 # 3.Sh2*f3 #" --- authors: - Брон, Владимир Акимович source: Problem date: 1958 algebraic: white: [Kg8, Rb1, Bf1, Pc5] black: [Kb7, Qa7, Rd5, Ba5, Sb4, Pe5, Pd6, Pd4, Pc6, Pb3, Pb2] stipulation: "h#3" options: - SetPlay solution: | "1...Rb1*b2 2.Sb4-d3 Rb2*b3 + 3.Kb7-a6 Bf1*d3 # 1.Ba5-d8 Rb1-a1 2.Qa7-b8 Ra1-a7 + 3.Kb7-c8 Bf1-h3 #" pychess-1.0.0/learn/lessons/0000755000175000017500000000000013467766037015050 5ustar varunvarunpychess-1.0.0/learn/lessons/lichess_study_charles-xii-at-bender_by_gbtami_2016.08.15.pgn0000644000175000017500000000627113365545272027725 0ustar varunvarun[Event "Charles XII at Bender: Samuel Loyd mate in #3"] [Site "https://lichess.org/study/3aJNVC40"] [UTCDate "2016.08.15"] [UTCTime "10:09:56"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/gbtami"] [FEN "8/6R1/7p/5K1k/8/6p1/5bPP/4N3 w - - 0 1"] [SetUp "1"] { This problem was originally published in 1859. The story involves an incident during the siege of Charles XII of Sweden by the Turks at Bender in 1713. "Charles beguiled this period by means of drills and chess, and used frequently to play with his minister, Christian Albert Grosthusen, some of the contests being mentioned by Voltaire. One day while so engaged, the game had advanced to this stage, and Charles (White) had just announced mate in three." } 1. Rxg3 { Excellent! } 1... Bxg3 (1... Bxe1 2. Rh3+ Bh4 3. g4#) 2. Nf3 { Now the black bishop the only piece able to move so it can't prevent white to mate on g4. } (2. hxg3 { Oh no, this is stalemate! }) 2... Bxh2 3. g4# * [Event "Charles XII at Bender: Samuel Loyd mate in #4"] [Site "https://lichess.org/study/3aJNVC40"] [UTCDate "2016.08.15"] [UTCTime "10:21:15"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/gbtami"] [FEN "8/6R1/7p/5K1k/8/6p1/5bPP/8 w - - 0 1"] [SetUp "1"] { "Scarcely had he uttered the words, when a Turkish bullet, shattering the window, dashed the White knight off of the board in fragments. Grothusen started violently, but Charles, with utmost coolness, begged him to put back the other knight and work out the mate, observing that it was pretty enough. But another glance at the board made Charles smile. We do not need the knight. I can give it to you and still mate in four!" } 1. hxg3 Be3 (1... Bc5 2. Rg4 Be7 3. Rh4+ Bxh4 4. g4#) (1... Be1 2. Rg4 Bxg3 3. Rxg3 Kh4 4. Rh3#) 2. Rg4 Bg5 3. Rh4+ Bxh4 4. g4# * [Event "Charles XII at Bender: Samuel Loyd mate in #5"] [Site "https://lichess.org/study/3aJNVC40"] [UTCDate "2016.08.15"] [UTCTime "10:24:06"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/gbtami"] [FEN "8/6R1/7p/5K1k/8/6p1/5bP1/8 w - - 0 1"] [SetUp "1"] { Who would believe it, he had scarcely spoken when another bullet flew across the room, and the pawn at h2 shared the fate of the knight. Grothusen turned pale. "You have our good friends the Turks with you," said the king unconcerned, "it can scarcely be expected that I should contend against such odds; but let me see if I can dispense with that unlucky pawn. I have it!" he shouted with a tremendous laugh, "I have great pleasure in informing you that there is undoubtedly a mate in 5." } 1. Rb7 Be3 (1... Bg1 2. Rb1 Bh2 3. Re1 Kh4 4. Kg6 h5 5. Re4#) 2. Rb1 Bg5 3. Rh1+ Bh4 4. Rh2 gxh2 5. g4# * [Event "Charles XII at Bender: Benkő Pál mate in #2"] [Site "https://lichess.org/study/3aJNVC40"] [UTCDate "2018.04.03"] [UTCTime "10:11:41"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/gbtami"] [FEN "8/6R1/7p/5K1k/6R1/6p1/5bPP/4N3 w - - 0 1"] [SetUp "1"] { Hungarian composer GM Benkő Pál composed a prequel to Sam Loyd's first problem, with an extra White rook on g4, making it a mate in two moves. } 1. R4g5+ hxg5 (1... Kh4 2. Nf3#) 2. Rh7# *pychess-1.0.0/learn/lessons/lichess_study_beautiful-chess-studies-1_by_thijscom_2018.03.05.sqlite0000644000175000017500000032000013441162535031620 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) U-learn/lessons/lichess_study_beautiful-chess-studies-1_by_thijscom_2018.03.05.pgn   %Qhttps://lichess.org/study/iDSPaPWA %Q https://lichess.org/study/iDSPaPWA !Ihttps://lichess.org/@/thijscom !I https://lichess.org/@/thijscom @g7 U a 4  q E  ~ G  | L  a 1 o<h5f4tDO1@iBeautiful Chess Studies (1): Zachodjakin, 1961,?_Beautiful Chess Studies (1): Wotawa, 1963/>eBeautiful Chess Studies (1): Troitsky, 1909*/=eBeautiful Chess Studies (1): Troitsky, 1898*/<eBeautiful Chess Studies (1): Troitsky, 1896*0;gBeautiful Chess Studies (1): Tavariani, 1982*-:aBeautiful Chess Studies (1): Selman, 1940*09gBeautiful Chess Studies (1): Selesniev, 1916*.8cBeautiful Chess Studies (1): Sarychev, 1948+7]Beautiful Chess Studies (1): Raina, 197116iBeautiful Chess Studies (1): Prokes, 1948 (ii),5_Beautiful Chess Studies (1): Prokes, 194804gBeautiful Chess Studies (1): Pogosyants, 198703gBeautiful Chess Studies (1): Pogosyants, 198002gBeautiful Chess Studies (1): Pogosyants, 197901gBeautiful Chess Studies (1): Pogosyants, 196910iBeautiful Chess Studies (1): Pogosyants, 1967*6/sBeautiful Chess Studies (1): Pogosyants, 1964 (ii)*1.iBeautiful Chess Studies (1): Pogosyants, 1964*1-iBeautiful Chess Studies (1): Pogosyants, 1963*5,qBeautiful Chess Studies (1): Pogosyants, 1962 (ii)0+gBeautiful Chess Studies (1): Pogosyants, 19626*sBeautiful Chess Studies (1): Pogosyants, 1961 (ii)*1)iBeautiful Chess Studies (1): Pogosyants, 1961*1(iBeautiful Chess Studies (1): Pogosyants, 1959*/'eBeautiful Chess Studies (1): Mironenko, 1983/&eBeautiful Chess Studies (1): Mattison, 1914*+%]Beautiful Chess Studies (1): Loyd, 1860*.$cBeautiful Chess Studies (1): Liburkin, 1947.#cBeautiful Chess Studies (1): Liburkin, 1934-"aBeautiful Chess Studies (1): Kubbel, 1935*,!_Beautiful Chess Studies (1): Kubbel, 1934, _Beautiful Chess Studies (1): Kubbel, 1908.cBeautiful Chess Studies (1): Kricheli, 1984.cBeautiful Chess Studies (1): Kricheli, 1982-aBeautiful Chess Studies (1): Kozyrev, 19870gBeautiful Chess Studies (1): Kozlowski, 1938*0gBeautiful Chess Studies (1): Kozlowski, 1932*6sBeautiful Chess Studies (1): Kozlowski, 1931 (iii)*5qBeautiful Chess Studies (1): Kozlowski, 1931 (ii)*0gBeautiful Chess Studies (1): Kozlowski, 1931*0gBeautiful Chess Studies (1): Kovalenko, 1972*/eBeautiful Chess Studies (1): Kovalenko, 19680gBeautiful Chess Studies (1): Kondrachev, 1985*[Beautiful Chess Studies (1): Kivi, 1941/eBeautiful Chess Studies (1): Kallstrom, 1973,_Beautiful Chess Studies (1): Kajev, 1932*0gBeautiful Chess Studies (1): Herbstman, 1939*0gBeautiful Chess Studies (1): Herbstman, 1929*+]Beautiful Chess Studies (1): Gunst, 1922-aBeautiful Chess Studies (1): Gorgiev, 1975- aBeautiful Chess Studies (1): Gorgiev, 1958- aBeautiful Chess Studies (1): Gorgiev, 1957, _Beautiful Chess Studies (1): Dizvov, 19787 uBeautiful Chess Studies (1): Capablanca/Lasker, 1914+ ]Beautiful Chess Studies (1): Benko, 2003+]Beautiful Chess Studies (1): Benko, 1999+]Beautiful Chess Studies (1): Benko, 1990+]Beautiful Chess Studies (1): Benko, 1944,_Beautiful Chess Studies (1): Becker, 1988.cBeautiful Chess Studies (1): Afruniev, 1974*[Beautiful Chess Studies (1): Afek, 2001/eBeautiful Chess Studies (1): Afanasyev, 1964:{Beautiful Chess Studies (1): ▶▷ INTRODUCTION ◁◀ @h8 V b 5  r F  H   } M  b 2 p=i6g5uEP2iBeautiful Chess Studies (1): Zachodjakin, 1961@-_Beautiful Chess Studies (1): Wotawa, 1963?0eBeautiful Chess Studies (1): Troitsky, 1909*>0eBeautiful Chess Studies (1): Troitsky, 1898*=0eBeautiful Chess Studies (1): Troitsky, 1896*<1gBeautiful Chess Studies (1): Tavariani, 1982*;.aBeautiful Chess Studies (1): Selman, 1940*:1gBeautiful Chess Studies (1): Selesniev, 1916*9/cBeautiful Chess Studies (1): Sarychev, 19488,]Beautiful Chess Studies (1): Raina, 197172iBeautiful Chess Studies (1): Prokes, 1948 (ii)6-_Beautiful Chess Studies (1): Prokes, 194851gBeautiful Chess Studies (1): Pogosyants, 198741gBeautiful Chess Studies (1): Pogosyants, 198031gBeautiful Chess Studies (1): Pogosyants, 197921gBeautiful Chess Studies (1): Pogosyants, 196912iBeautiful Chess Studies (1): Pogosyants, 1967*07sBeautiful Chess Studies (1): Pogosyants, 1964 (ii)*/2iBeautiful Chess Studies (1): Pogosyants, 1964*.2iBeautiful Chess Studies (1): Pogosyants, 1963*-6qBeautiful Chess Studies (1): Pogosyants, 1962 (ii),1gBeautiful Chess Studies (1): Pogosyants, 1962+7sBeautiful Chess Studies (1): Pogosyants, 1961 (ii)**2iBeautiful Chess Studies (1): Pogosyants, 1961*)2iBeautiful Chess Studies (1): Pogosyants, 1959*(0eBeautiful Chess Studies (1): Mironenko, 1983'0eBeautiful Chess Studies (1): Mattison, 1914*&,]Beautiful Chess Studies (1): Loyd, 1860*%/cBeautiful Chess Studies (1): Liburkin, 1947$/cBeautiful Chess Studies (1): Liburkin, 1934#.aBeautiful Chess Studies (1): Kubbel, 1935*"-_Beautiful Chess Studies (1): Kubbel, 1934!-_Beautiful Chess Studies (1): Kubbel, 1908 /cBeautiful Chess Studies (1): Kricheli, 1984/cBeautiful Chess Studies (1): Kricheli, 1982.aBeautiful Chess Studies (1): Kozyrev, 19871gBeautiful Chess Studies (1): Kozlowski, 1938*1gBeautiful Chess Studies (1): Kozlowski, 1932*7sBeautiful Chess Studies (1): Kozlowski, 1931 (iii)*6qBeautiful Chess Studies (1): Kozlowski, 1931 (ii)*1gBeautiful Chess Studies (1): Kozlowski, 1931*1gBeautiful Chess Studies (1): Kovalenko, 1972*0eBeautiful Chess Studies (1): Kovalenko, 19681gBeautiful Chess Studies (1): Kondrachev, 1985+[Beautiful Chess Studies (1): Kivi, 19410eBeautiful Chess Studies (1): Kallstrom, 1973-_Beautiful Chess Studies (1): Kajev, 1932*1gBeautiful Chess Studies (1): Herbstman, 1939*1gBeautiful Chess Studies (1): Herbstman, 1929*,]Beautiful Chess Studies (1): Gunst, 1922.aBeautiful Chess Studies (1): Gorgiev, 1975.aBeautiful Chess Studies (1): Gorgiev, 1958 .aBeautiful Chess Studies (1): Gorgiev, 1957 -_Beautiful Chess Studies (1): Dizvov, 1978 8uBeautiful Chess Studies (1): Capablanca/Lasker, 1914 ,]Beautiful Chess Studies (1): Benko, 2003 ,]Beautiful Chess Studies (1): Benko, 1999,]Beautiful Chess Studies (1): Benko, 1990,]Beautiful Chess Studies (1): Benko, 1944-_Beautiful Chess Studies (1): Becker, 1988/cBeautiful Chess Studies (1): Afruniev, 1974+[Beautiful Chess Studies (1): Afek, 20010eBeautiful Chess Studies (1): Afanasyev, 1964:{ Beautiful Chess Studies (1): ▶▷ INTRODUCTION ◁◀  20180221: @zupkfa\WRMHC>94/*%  @?>=<;:9876543210/.-,+*)('&%$#"!       @~xrlf`ZTNHB<60*$ @@??>>==<<;;::99887766554433221100//..--,,++**))((''&&%%$$##""!!       @zupkfa\WRMHC>94/*%   @ ? > = < ; : 9 8 7 6 5 4 3 2 1 0 / . - , + * ) ( ' & % $ # " !                                      @~wph`XPH@80( xph`XPH@80( OO@G?D>B=@<>;=i:;b938.7*6&5432610/.-A,*+*6)7(w'Ԅ&z%ǡ$8#P"$!  gP(z?utqoh?b\ X R+ J A 5^+!C Q @zupkfa\WRMHC>94/*%  @?>=<;:9876543210/.-,+*)('&%$#"!       @~wph`XPH@80( xph`XPH@80( OH@G?D>B=@<>;=h:;`938.7*6&5432010/.-@,(+*0)0(p'Ԁ&x%Ǡ$8#P" !  `P(z8utqoh8b\ X R( J A 5X+!@ P @~xrlf`ZTNHB<60*$ @@??>>==<<;;::99887766554433221100//..--,,++**))((''&&%%$$##""!!       @zupkfa\WRMHC>94/*%   @ ? > = < ; : 9 8 7 6 5 4 3 2 1 0 / . - , + * ) ( ' & % $ # " !                                      @zupkfa\WRMHC>94/*%   @ ? > = < ; : 9 8 7 6 5 4 3 2 1 0 / . - , + * ) ( ' & % $ # " !                                      , cyiP9)yiP9) y i P 9 )  y i P 9 )  y i P 9 )  y i P 9 )  y i P 9 ) yiP9)yiP9)yiP9)yiP8' o^D,{cR8 oWF,}c,!:UTCDate2018.03.09+9Opening?*9UTCTime14:49:02)!9UTCDate2018.03.15(8Opening?'8UTCTime12:43:35&!8UTCDate2018.03.05%7Opening?$7UTCTime15:43:30#!7UTCDate2018.03.09"6Opening?!6UTCTime16:18:26 !6UTCDate2018.03.095Opening?5UTCTime14:43:09!5UTCDate2018.03.094Opening?4UTCTime12:00:21!4UTCDate2018.03.083Opening?3UTCTime12:21:23!3UTCDate2018.03.082Opening?2UTCTime16:09:34!2UTCDate2018.03.091Opening?1UTCTime15:19:45!1UTCDate2018.03.090Opening?0UTCTime00:44:13!0UTCDate2018.04.01 /Opening? /UTCTime00:40:39 !/UTCDate2018.04.01 .Opening? .UTCTime00:36:18!.UTCDate2018.04.01-Opening?-UTCTime00:31:59!-UTCDate2018.04.01,Opening?,UTCTime16:32:02!,UTCDate2018.03.10+Opening?+UTCTime15:02:34!+UTCDate2018.03.10~*Opening?}*UTCTime00:22:22|!*UTCDate2018.04.01{)Opening?z)UTCTime22:34:23y!)UTCDate2018.03.12x(Opening?w(UTCTime00:16:50v!(UTCDate2018.04.01u'Opening?t'UTCTime16:11:40s!'UTCDate2018.03.09r&Opening?q&UTCTime14:31:00p!&UTCDate2018.03.15o%Opening?n%UTCTime14:11:07m!%UTCDate2018.03.17l$Opening?k$UTCTime14:12:46j!$UTCDate2018.03.09i#Opening?h#UTCTime12:40:34g!#UTCDate2018.03.09f"Opening?e"UTCTime12:02:03d!"UTCDate2018.03.13c!Opening?b!UTCTime12:28:59a!!UTCDate2018.03.05` Opening?_ UTCTime17:05:27^! UTCDate2018.03.09]Opening?\UTCTime16:53:48[!UTCDate2018.03.09ZOpening?YUTCTime16:41:51X!UTCDate2018.03.09WOpening?VUTCTime13:50:33U!UTCDate2018.03.07TOpening?SUTCTime13:44:57R!UTCDate2018.03.15QOpening?PUTCTime13:49:56O!UTCDate2018.03.15NOpening?MUTCTime14:05:33L!UTCDate2018.03.15KOpening?JUTCTime13:57:52I!UTCDate2018.03.15HOpening?GUTCTime12:16:44F!UTCDate2018.03.13EOpening?DUTCTime12:06:02C!UTCDate2018.03.13BOpening?AUTCTime14:11:13@!UTCDate2018.03.10?Opening?>UTCTime11:59:21=!UTCDate2018.03.13<Opening?;UTCTime16:14:52:!UTCDate2018.03.099Opening?8UTCTime16:58:057!UTCDate2018.03.096Opening?5UTCTime16:48:494!UTCDate2018.04.043Opening?2UTCTime16:43:161!UTCDate2018.04.040Opening?/UTCTime16:38:11.!UTCDate2018.04.04-Opening?,UTCTime16:05:12+!UTCDate2018.03.09*Opening?)UTCTime16:56:47(!UTCDate2018.03.09' Opening?& UTCTime14:04:30%! UTCDate2018.03.07$ Opening?# UTCTime14:35:02"! UTCDate2018.03.15! Opening?  UTCTime14:19:34! UTCDate2018.03.15 Opening? UTCTime13:52:07! UTCDate2018.03.17 Opening? UTCTime17:37:35! UTCDate2018.03.18Opening?UTCTime18:10:02!UTCDate2018.03.18Opening?UTCTime17:48:16!UTCDate2018.03.18Opening?UTCTime17:59:12!UTCDate2018.03.18Opening?UTCTime16:41:00 !UTCDate2018.04.04 Opening? UTCTime17:02:47 !UTCDate2018.03.09 Opening?UTCTime13:11:05!UTCDate2018.03.08Opening?UTCTime11:54:01!UTCDate2018.03.13' COpeningBarnes Opening: Fool's Mate UTCTime22:40:49 !UTCDate2018.04.17 EzbQ7nVE@@Opening??@UTCTime11:55:41>!@UTCDate2018.03.05=?Opening?<?UTCTime16:52:29;!?UTCDate2018.04.04:>Opening?9>UTCTime23:04:178!>UTCDate2018.03.127=Opening?6=UTCTime22:57:095!=UTCDate2018.03.124   O bb0?7k/7p/1N3p1K/8/7p/8/8/8 w - - 0 1C    Y \\ 0?2r5/1Pk1q3/8/4P3/3Q4/8/4K3/8 w - - 0 1G    a X X 0?6N1/5pk1/6p1/3n1P2/3P2K1/8/1B6/8 w - - 0 1E    ] R+R( 0?5Q1N/5P1p/5Pp1/p5kp/8/7K/8/2q5 w - - 0 1C    Y JJ 0?1R1K4/k1n5/Np6/1P1n4/8/8/8/8 w - - 0 1>    O AA 0?4k1rr/R7/8/8/8/8/8/R3K3 w Q - 0 1=   M 5^5X0?7K/8/8/pp6/8/8/PPk5/R7 w - - 0 1D   [ ++0?7r/6k1/4KpBp/5PbQ/8/8/2p3P1/8 w - - 0 1F   _ !C!@0?7q/4kppB/6R1/4N1P1/3PK3/8/3P4/8 w - - 0 1>   O 0?8/r2k4/7R/4P3/4K3/8/8/8 w - - 0 1D   [ 0?7k/3N1P1p/5K2/5P2/1b6/8/4p3/8 w - - 0 1=   M 0?8/P7/qk1K2Q1/8/8/8/8/8 w - - 0 1C   Y QP0?8/2K5/8/2k2N2/4P3/8/1PP1p3/8 w - - 0 1     0A00 fy5fB@   S OOOH@0?2N5/4P3/8/8/k7/4q3/K2b4/8 w - - 0 1F?   [ GG?0?3B2K1/8/3r2pk/p5p1/6P1/8/p7/8 w - - 0 1A>   Q DD>0?8/4K3/8/8/3N4/8/pn1B4/k7 w - - 0 1B=   S BB=0?6k1/7b/8/5pK1/5P2/8/6N1/8 w - - 0 1A<   Q @@<0?8/8/8/5K2/7p/8/3N4/3B2bk w - - 0 1B;   S >>;0?3k4/1BR5/8/8/p7/2K5/pP6/8 w - - 0 1././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootpychess-1.0.0/learn/lessons/lichess_study_beta-lichess-practice-7th-rank-rook-pawn-with-a-passive-rook_by_arex_2018.04.04.sqlitepychess-1.0.0/learn/lessons/lichess_study_beta-lichess-practice-7th-rank-rook-pawn-with-a-passive-ro0000644000175000017500000026000013441162535032670 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) tklearn/lessons/lichess_study_beta-lichess-practice-7th-rank-rook-pawn-with-a-passive-rook_by_arex_2018.04.04.pgn   %Qhttps://lichess.org/study/MkDViieT %Q https://lichess.org/study/MkDViieT Ahttps://lichess.org/@/arex A https://lichess.org/@/arex T^5 N Tm _(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: Spassky - Torre, 1982: Forcing an e-pawn(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: Bartholomew - Thaler, 2012: Trading into a winning 4v4 pawn endgameqg(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: Hochstrasser - Papa, 2012: Forcing an f-pawnri(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: Exercise: King on g7, 2 vs 1 on the King-sidegS(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: Exercise: King on g7, extra c-pawn_C(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: King on g7, extra b-f pawn]?(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: King on g7, extra g-pawnO#(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: King on g7O#(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: King on f7 U 6 O_ Un_(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: Spassky - Torre, 1982: Forcing an e-pawn (BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: Bartholomew - Thaler, 2012: Trading into a winning 4v4 pawn endgamerg(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: Hochstrasser - Papa, 2012: Forcing an f-pawnsi(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: Exercise: King on g7, 2 vs 1 on the King-sidehS(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: Exercise: King on g7, extra c-pawn`C(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: King on g7, extra b-f pawn^?(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: King on g7, extra g-pawnP#(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: King on g7O# (BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: King on f7  20180221 F= H    c 3#3 0?R7/P5pk/5p2/4p2p/4P2P/5P2/6PK/r7 w - - 3 46H   c --0?R7/P6k/5pp1/4p2p/4P2P/5P2/r5PK/8 w - - 1 43B   W ""0?R7/8/P5k1/5pp1/8/5PKP/r7/8 w - - 1 56B   W 0?R7/P5k1/6p1/8/5P1P/8/r7/6K1 w - - 0 1>   O 0?R7/P5k1/8/8/8/r1PK4/8/8 w - - 0 1?   Q 500?R7/P5k1/8/8/8/r4P2/6K1/8 w - - 0 1?   Q LH0?R7/P5k1/8/8/8/r5P1/6K1/8 w - - 0 1=   M 0?R7/P5k1/8/8/8/r7/6K1/8 b - - 0 18   M 0?R7/P4k2/8/8/8/r7/6K1/8 w - - 0 1               3# -" 5L   3 -" 0H                        jSC*jSC*  Opening? UTCTime06:43:22! UTCDate2018.04.04Opening?UTCTime06:30:20!UTCDate2018.04.04Opening?UTCTime06:00:39!UTCDate2018.04.04Opening?UTCTime05:04:39!UTCDate2018.04.04Opening?UTCTime05:09:32 !UTCDate2018.04.04 Opening? UTCTime02:42:50 !UTCDate2018.04.04 Opening?UTCTime02:39:38!UTCDate2018.04.04Opening?UTCTime04:14:25!UTCDate2018.04.04  Opening? UTCTime02:25:26 !UTCDate2018.04.04pychess-1.0.0/learn/lessons/lichess_study_beautiful-chess-studies-2_by_thijscom_2018.04.17.pgn0000644000175000017500000010242413365545272031130 0ustar varunvarun[Event "Beautiful Chess Studies (2): ▶▷ INTRODUCTION ◁◀"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.17"] [UTCTime "22:37:53"] [Variant "Standard"] [ECO "A00"] [Opening "Barnes Opening: Fool's Mate"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] { PART 1 AVAILABLE HERE: https://lichess.org/study/iDSPaPWA CHECKMATE PUZZLES AVAILABLE HERE: https://lichess.org/study/RdtICntn } 1. f3 { This study, the second in its series (the first part can be found at https://lichess.org/study/iDSPaPWA), is a collection of beautiful chess studies, where the assignment is to force a win or a draw. In these puzzles there is only one, often elegant solution achieving this goal. For checkmating puzzles, where the assignment is to force mate within 2/3 moves, see https://lichess.org/study/RdtICntn. } 1... e5 { The puzzles/chapters are listed on the left hand side above the chat window, and are sorted alphabetically by the composers of these puzzles. Each chapter represents a different puzzle. The solution, as well as a detailed analysis of the variations crucial to the solutions, can be found on the right hand side after completing the puzzle and clicking "Analyse". } 2. g4 { If you like these puzzles or have any comments, feel free to drop a line in the chat box on the left, or add this study to your favorites by clicking the little heart ❤️ below the board when loading the study. And as mentioned, do not forget to check out the other puzzle collections at https://lichess.org/study/iDSPaPWA and https://lichess.org/study/RdtICntn. } 2... Qh4# { As a sidenote, you might notice that some chapters have a *-mark, and some do not. Chapters without a * are fully annotated, with hints and guidance why other moves are wrong, while the chapters with a * are not quite fully annotated. (This is a rather time-consuming process.) } * [Result "*"] [Site "https://lichess.org/study/iDSPaPWA"] [Event "Beautiful Chess Studies (1): Afanasyev, 1968"] [Annotator "https://lichess.org/@/thijscom"] [UTCDate "2018.04.17"] [UTCTime "22:40:05"] [Variant "From Position"] [ECO "?"] [Opening "?"] [FEN "2n1kq2/8/K3P3/4N1PN/8/8/8/8 w - - 0 1"] [SetUp "1"] { In this position, white is down a queen for a knight and two pawns. On the other hand, the black pieces are awkwardly placed on the back rank, and the black pieces have very few squares to move to. How does white use this to quickly force a draw? } 1. Nf6+! { Correct! White gives a check, further restricting the black queen, and forcing the black king to move from e8. } 1... Kd8 { As 1... Ke7? 2. Ng6+ immediately loses the queen, black decides that 1... Kd8 is his best chance. How does white continue? } (1... Ke7 2. Ng6+) 2. e7+! { Correct! The king and queen are forked by the pawn, and the knight on e5 threatens to deliver a fork on the next move if either piece captures on e7. } 2... Nxe7 { Black therefore captures on e7 with his knight, avoiding the loss of his queen. This however further restricts the black queen. What does white play next? } (2... Qxe7 3. Nc6+) (2... Kxe7 3. Ng6+) 3. Kb7!! { Correct! This amazing, quiet move shows the helplessness of black's position, despite the considerable material advantage. Black's king is trapped, the knight cannot move due to a checkmate on c6, and the queen is struggling to find any safe squares to move to. } 3... Qg7 { Black finds the only move that does not immediately lose the queen (or loses to checkmate). What does white play next? } (3... Qh8? 4. Nf7#) (3... Nf5? { (or any other knight move) } 4. Nc6#) 4. Kb8!! { Correct! Although white cannot yet exploit the positioning of black's pieces, this king move again demonstrates the helplessness of black's position. } 4... Qf8 { Black again has no good options, and decides to move the queen back to f8. What does white play next? } (4... Qxg5? 5. Nf7#) (4... Qh8? 5. Nf7#) (4... Nd5? { (or any other knight move) } 5. Nc6#) 5. Kb7! { Correct! If black does not try to win, white cannot force a win, and with best play by both sides we will soon reach a three-fold repetition. (1/2-1/2) } * [Event "Beautiful Chess Studies (2): Ditrichson, 1926"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.18"] [UTCTime "12:40:09"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/k7/r1P4R/p7/8/p7/P7/K7 w - - 0 1"] [SetUp "1"] { In this study, white has a dangerous advanced c-pawn (threatening to become a queen in two moves), but white also has an awkwardly placed king, vulnerable to mating attacks on the first rank. Can you find a way for white to win? } 1. Rd6! { Correct! This particular rook move is the only winning move, as will become apparent soon. } (1. Rh7+? Kb6 2. c7 Ra8 { And black holds the draw. }) (1. c7?? Rxh6 2. c8=Q Rh1+ { And black wins! }) (1. Kb1? Rb6+ 2. Kc1 Kb8 { And black makes a draw. }) 1... Rb6 { Black decides to improve his rook slightly, threatening to play Ka7-b8-c7 next. What does white play next? } (1... a4 2. c7 Rxd6 3. c8=N+ { And white wins. }) (1... Ka8 2. c7 Rxd6 3. c8=Q+ Ka7 4. Qc7+ { And white wins. }) (1... Kb8 2. c7+ Kb7 (2... Kxc7 3. Rxa6) 3. Rxa6 Kxa6 4. c8=Q+ { And white wins. }) 2. c7! { Correct! With the white rook on d6, the time is now right to advance the pawn. } 2... Rxd6 { As black cannot both stop the pawn and save his own rook, he decides to capture white's rook, threatening mate on d1. How does white continue? } (2... Kb7 3. Rxb6+ Kxb6 4. c8=Q { And white also wins. }) 3. c8=N+! { Correct! This promotion to a knight forks the king and rook, preventing black's checkmating plans. Soon white will not only capture black's rook, but also black's two a-pawns, after which the white a-pawn will decide the game. (1-0) } * [Event "Beautiful Chess Studies (2): Grin, 1975*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.26"] [UTCTime "20:03:45"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/P7/1k6/6Q1/2p5/4K3/8/1q6 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Qa5+!! Kxa5 2. a8=R+! (2. a8=Q+? Kb4 3. Qb7+ Kc3! 4. Qxb1 $10 { And black is stalemated! }) 2... Kb4 3. Rb8+ { And white wins the queen and the game! (1-0) } * [Event "Beautiful Chess Studies (2): Heuacker, 1930*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.27"] [UTCTime "01:11:04"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "1B6/8/7P/4p3/3b3k/8/8/2K5 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Ba7! Ba1 (1... Bxa7 2. h7 { And white promotes. }) 2. Kb1 Bc3 3. Kc2 Ba1 4. Bd4!! Bxd4 (4... exd4 5. Kd3! { And black is too late to stop the h-pawn. }) 5. Kd3! Ba1 (5... Kg5 6. h7 Kg6 7. h8=Q e4+ 8. Kxd4) 6. Ke4! Kg5 7. h7 { And white promotes to a queen, soon winning the game! (1-0) } * [Event "Beautiful Chess Studies (2): Kalandadze, 1965"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.17"] [UTCTime "22:53:58"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "3k4/1P1PRP2/8/p7/p7/p7/K7/1r3r2 w - - 0 1"] [SetUp "1"] { This somewhat artificial position sees white down a full rook(!), but whereas black's pawns are currently blocked by the black king, white's three pawns are all close to promotion. Your assignment: white to play and win! } 1. Re1!! { Correct! Black's rooks are overloaded with protecting against promotion and defending each other, and this rook move nicely exploits this vulnerability. } 1... Rb2+ { Either way of taking the rook is fatal, so black decides to give a check. What should white play? } (1... Rfxe1 2. b8=Q+ Rxb8 (2... Kxd7 3. Qxb1 Rxb1 4. f8=Q $18) 3. f8=Q+ Kxd7 4. Qxb8 $18) (1... Rbxe1 2. f8=Q+ Rxf8 (2... Kxd7 3. Qxf1 Rxf1 4. b8=Q $18) 3. b8=Q+ Kxd7 4. Qxf8 $18) (1... Rxb7 2. Rxf1 { And white promotes. }) (1... Rxf7 2. Rxb1 { And white promotes. }) 2. Kxa3 { Correct! White cannot retreat to a1, as that would immediately lead to checkmate in one after Rxe1. } 2... Rff2 { Black still cannot capture the rook, and reinstates his two-rooks construction. How does white continue? } (2... Rb3+ 3. Kxa4 Rb4+ 4. Kxa5 Rff4 5. Re4 { This transposes to the main line. }) 3. Re2! { Correct! The black rooks are still overloaded, and this move breaks up the harmony between the black rooks again! } 3... Rb3+ { Black recognizes that the rook is still poisoned, and decides to side-step the rook again with a check. What should white play next? } 4. Kxa4 { Correct! White again undermines the rook on b3, renewing the threat on both rooks. } 4... Rff3 { Black yet again reinstates his defensive mechanism of two defending rooks. How should white proceed? } 5. Re3! { Correct! White repeats the same method of breaking apart the black fortress, by interposing his own rook between black's two rooks. } 5... Rb4+ { Black once more delivers a check on b4, using his last remaining a-pawn for support. How does white continue? } 6. Kxa5 { Correct! White captures the last black a-pawn, renewing the threat on both black rooks. } 6... Rff4 { Black defends both rooks once more, using the same mechanic as before. What should white play? } 7. Re4! { Correct! White interposes his rook one last time, and this time black has no escape anymore. Regardless of black's reply, white will be able to convert to an easily winning endgame. (1-0) } * [Event "Beautiful Chess Studies (2): Kalandadze, 1966*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.18"] [UTCTime "13:07:34"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "3R4/5p1p/q4k1P/5P2/4P1K1/4B3/8/8 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Rd6+! (1. Bg5+? Ke5 2. Bf4+ Kxe4! { And black is ok! }) 1... Qxd6 2. Bg5+ Ke5 3. Bf4+ Kf6 (3... Kxe4 4. Bxd6 { And white wins. }) 4. e5+! (4. Bxd6? { Stalemate! }) 4... Qxe5 (4... Ke7 5. exd6+ { And white wins. }) 5. Bg5# { And black is checkmated! (1-0) } * [Event "Beautiful Chess Studies (2): Kalandadze, 1981*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.18"] [UTCTime "13:13:42"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/7k/8/1p6/1P6/7r/KP5p/3R4 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. Rh1 Kg6 2. b3! (2. Kb1? Kf5 3. Kc2 Kf4 4. Kd2 Kf3 { And black wins. }) 2... Kf5 3. Ka3! Kf4 4. Rxh2! Rxh2 { And white is stalemated! } * [Event "Beautiful Chess Studies (2): Kaminer, 1927"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.17"] [UTCTime "23:48:24"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "n7/8/7n/2k5/2PR4/2P5/2K5/8 w - - 0 1"] [SetUp "1"] { Here we have a position where white has a rook (and two doubled pawns) for two knights, which is usually not enough to win. Can you find a way to exploit the awkward position of black's pieces to force a white victory? } 1. Rh4! { Correct! White attacks one of black's knights, which has a very hard time finding a good square to hide. } 1... Nf7 { Black plays the only move that does not immediately lose a knight to a pin on the fifth or eighth rank. How does white continue putting pressure on black's position? } (1... Ng8 2. Rh8) (1... Nf5 2. Rh5) 2. Rh7! { Correct! This knight is not out of danger yet, and white hits it again, forcing it to another awkward square. } 2... Nd6 { Again, the knight only has one square which does not immediately lose material. (Note that 2... Ne5 fails to 3. Ra7 Nb6 4. Ra5+ Kd6 5. c5+, winning a knight.) How does white proceed? } (2... Ne5 3. Ra7! Nb6 4. Ra5+ Kd6 5. c5+ { And white wins a piece. }) (2... Ng5 3. Rh5) (2... Nd8 3. Rh8) 3. Ra7! { Correct! The white rook now attacks the other black knight, which is stuck in the corner. } 3... Nb6 { The other black knight also finds shelter around the black king, and black is pretty confident now that he will not be losing either of his knights soon. Is he right, or can white still force a win? } 4. Rc7# { Correct! The black knights may be safe, but the king is now checkmated in the center of the board! (1-0) } * [Event "Beautiful Chess Studies (2): Kasparyan, 1935*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.17"] [UTCTime "23:01:42"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "2B3K1/8/3N1p1p/6pk/5P1P/6P1/7r/5r2 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Ne8! Kg6 (1... Rxh4 2. Ng7+ Kg6 3. Bf5#) (1... f5 2. Bxf5 gxh4 3. Ng7#) 2. h5+! Rxh5 (2... Kxh5 3. Ng7+ Kg6 4. Bf5#) 3. f5+! Rxf5 4. g4! Rf4 5. Bf5+! Rxf5 6. Ng7!! { We've reached a very picturesque position, where the white g-pawn will capture one of the black rooks on the next move with mate! } 6... Rd5 7. gxh5# { And black is checkmated! (1-0) } * [Event "Beautiful Chess Studies (2): Klukin, 1982"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.18"] [UTCTime "13:10:03"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "6r1/R4Nn1/3ppkp1/8/4P1K1/8/8/8 w - - 0 1"] [SetUp "1"] { Although black is up two pawns, his pieces are not very well coordinated, and he is hanging by a thread. Can you find the correct way to make use of black's lack of coordination that leads to victory? } 1. e5+! { Correct! The black king is the main hunting target, and this move forces black to block an escape square around his king with his own pawn. } (1. Nh6? Rf8! { And black is doing fine. } 2. e5+ Kxe5! (2... dxe5?? 3. Rf7+! Rxf7 4. Ng8#) 3. Rxg7 d5 $10) 1... dxe5 { Black has no choice but to capture the pawn, and he is now up three pawns. Why does this not matter? } 2. Nh6! { Correct! White attacks the black rook and at the same time threatens mate on f7. } 2... Rf8 { Black finds a multi-purpose move, saving his rook and covering the checkmate on f7. How does white continue? } (2... Rh8? 3. Rf7# { And black is checkmated. }) (2... g5 3. Nxg8+ { And white wins. }) 3. Rf7+! { Correct! The black rook on f8 is overloaded with the protection of f8 and g7, and this sacrifice sets up an unusual smothered mate. } 3... Rxf7 { Black's only move is capturing the white rook. Can you deliver the final blow? } 4. Ng8# { Correct! With only a knight left, white delivers a smothered mate in the center of the board. An unusual but pretty sight! (1-0) } * [Event "Beautiful Chess Studies (2): Kubbel, 1934*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.17"] [UTCTime "23:55:25"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "5k2/1p3p2/1P3PPK/8/5p1p/4p2P/B3PP1p/5r2 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. g7+! Kg8 (1... Ke8 2. g8=Q+ { And white wins. }) 2. Bd5! h1=Q (2... Rg1!? 3. Be4! Rg6+ 4. Bxg6 fxg6 5. Kxg6 h1=Q 6. f7#) (2... Rd1? 3. Be4! Rd6 4. Bh7#) 3. f3! Ra1 (3... Qxh3? 4. Be4 { And white mates soon! }) (3... Rg1!? 4. Be4 Rg6+ 5. Bxg6 fxg6 (5... Qb1 6. Bxb1 $10) 6. f7+ Kxf7 7. Kh7 { And white also gets a queen, saving the draw. }) (3... Qg2? 4. Be4 Qg6+ (4... Qg5+ 5. Kxg5 { And white still threatens Kh6 and Bh7# }) 5. Bxg6 fxg6 6. f7+ Kxf7 7. Kh7 { And white wins. }) (3... Qxf3? 4. exf3 e2 5. Be4 e1=Q 6. Bh7#) 4. Be4! Qb1 5. Bf5!! Qxf5 { And white is stalemated! (1/2-1/2) } (5... Ra5 6. Bxb1 Rh5+ (6... Rf5 7. Bxf5) 7. Kxh5) * [Event "Beautiful Chess Studies (2): Leow, 1849*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.27"] [UTCTime "01:34:29"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/8/p6R/1bK5/k7/1p6/1P6/8 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Rh1 Ka5 2. Ra1+ Ba4 3. Ra2! bxa2 4. b4# { And black is checkmated! (1-0) } * [Event "Beautiful Chess Studies (2): Maksimovskih, 1982*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.18"] [UTCTime "13:39:51"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/3R2B1/6p1/6k1/6p1/6N1/6K1/2q5 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Rd5+! Kh4 (1... Kf4 2. Bh6+ g5 3. Bxg5# { And black is checkmated! }) 2. Rh5+! (2. Bf6+? g5 { And black saves the draw. } 3. Bxg5+ Qxg5 4. Rxg5 Kxg5 $10) 2... gxh5 3. Bf6+ Qg5 4. Nf5# { And black is checkmated! } * [Event "Beautiful Chess Studies (2): Mitrofanov, 1967*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.17"] [UTCTime "23:39:32"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "kb4Q1/P7/1PP5/K6q/8/8/8/4n3 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Qg5!! (1. Ka6? Qe2+ { And black saves the draw! }) 1... Qxg5+ 2. Ka6 Bxa7 3. c7! Qa5+ (3... Qf5 4. b7#) (3... Qf6 4. c8=Q+ Bb8 5. Qb7#) 4. Kxa5 Kb7 (4... Bxb6+ 5. Kxb6) 5. bxa7 { And one of white's pawns will promote soon! (1-0) } * [Event "Beautiful Chess Studies (2): Pogosyants, 1962*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.18"] [UTCTime "12:27:49"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/1p6/1p6/pP4B1/K7/8/pk6/q7 w - - 0 1"] [SetUp "1"] { White to play and draw! (Historical note: this is a slight modification to Pogosyants' original puzzle, which had a duplicate solution for white's second and fourth moves. The additional black pawn on b7, which originally was not there, prevents this duplicate solution, and ensures that all white's moves in the main line are "only moves".) } 1. Bf6+! Kb1 2. Bb2! (2. Bc3? { This move, with a very similar idea, barely fails after black gives up two queens and his a-pawn to win white's b-pawn. } 2... Qb2! (2... Qxc3? { Stalemate! }) 3. Bxb2 a1=Q+! (3... Kxb2? { Stalemate! }) 4. Bxa1 Kxa1 { Black's plan is ultimately to give up the a-pawn for white's b-pawn, after which } 5. Ka3 a4 6. Kxa4 Ka2 7. Kb4 Kb2 8. Ka4 Kc3 9. Ka3 Kc4 10. Ka4 Kc5 11. Ka3 Kxb5 12. Kb3 { Even though white achieves opposition, the additional black pawn on b7 ensures that black can easily win this pawn endgame. The original study, without a pawn on b7, allowed white to hold the draw also with 2. Bc3!. }) 2... Kc2 (2... Kxb2? { Stalemate! }) (2... Qxb2? { Stalemate! }) 3. Bxa1! Kb1 4. Kb3! (4. Bd4? a1=Q+ 5. Bxa1 Kxa1 6. Ka3 a4 { And black wins, similar to the variation given after 2. Bc3? - black will win white's b-pawn, and win the resulting pawn endgame. Again, in the original puzzle, 4. Bd4 would have sufficed to hold the draw as well. }) 4... a4+ 5. Kc3! (5. Kxa4? Kxa1 { And black wins! }) 5... Kxa1 6. Kc2 a3 7. Kc1 { And black is stalemated! (1/2-1/2) } * [Event "Beautiful Chess Studies (2): Pogosyants, 1963*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.19"] [UTCTime "01:12:59"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "2k5/p4q2/1n2N3/8/PK2Q3/8/8/8 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Qc6+ Kb8 2. Qd6+ Kc8 (2... Ka8 3. Qd8+ Kb7 { This transposes to the main line. } (3... Nc8? 4. Qxc8#)) 3. Qd8+! Kb7 4. Qxb6+! Kxb6 (4... axb6 5. Nd8+) 5. a5+! Ka6 (5... Kc6 6. Nd8+) (5... Kb7 6. Nd8+) 6. Nc5# { Black has avoided losing his queen, but instead finds his king checkmated on the edge of the board! (1-0) } * [Event "Beautiful Chess Studies (2): Pogosyants, 1968*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.18"] [UTCTime "13:16:14"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/R2n1p2/b7/4P3/8/k6K/8/8 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Rxd7 (1. Rxa6+ Kb4 { And black wins the e-pawn, saving the draw. } 2. e6 fxe6 3. Rxe6 $10) 1... Bc8 2. e6! fxe6 (2... Bxd7 3. exd7 { And white wins. }) 3. Rc7 Ba6 4. Ra7 { And white wins! (1-0) } * [Event "Beautiful Chess Studies (2): Pogosyants, 1970*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.18"] [UTCTime "00:37:03"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "6K1/6P1/2r5/5Bp1/7k/8/6Pn/8 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Kh8! (1. Kh7? Rc7 $10) 1... Rh6+ 2. Bh7! Rxh7+ 3. Kxh7 Ng4 4. g3+! (4. g8=Q? Nf6+ $19) (4. Kg6? Ne5+ 5. Kf5 Nf7 $10) 4... Kh5 (4... Kxg3 5. Kg6 Ne5+ 6. Kxg5) 5. g8=N!! Ne5 6. Nf6# { And black is checkmated! (1-0) } * [Event "Beautiful Chess Studies (2): Pogosyants, 1986*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.18"] [UTCTime "00:41:24"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/8/8/p7/k2K4/r7/8/NB6 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. Nc2! (1. Bc2+? Kb4 2. Nb3 Rxb3 3. Bxb3 Kxb3 { And black wins. }) 1... Rb3 2. Ba2! Rb2 3. Kd3!! (3. Kc3? Rxa2 4. Kd3 Kb3) (3. Kc4? Rxc2+ 4. Kd3 Rxa2) 3... Rxa2 4. Kc3! Kb5 5. Kb3 Ra4 6. Na3+! { And black has to give up his rook, leading to a draw! (1/2-1/2) } * [Event "Beautiful Chess Studies (2): Prokes, 1939*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.17"] [UTCTime "23:12:11"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/8/8/7K/2k5/3pp3/8/5R2 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. Kg4! e2 2. Rc1+! Kd4 (2... Kb3 3. Kf3 d2 4. Rb1+ Kc2 5. Kxe2 Kxb1 6. Kxd2) 3. Kf3! d2 4. Rc4+! Kd3 (4... Kxc4 5. Kxe2 Kc3 6. Kd1 Kd3) 5. Rd4+! Kxd4 6. Kxe2 Kc3 7. Kd1 Kd3 { Stalemate! (1/2-1/2) } * [Event "Beautiful Chess Studies (2): Prokes, 1940*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.26"] [UTCTime "19:56:36"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "k1K5/r7/8/4R3/r3R3/8/8/8 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Rb5! R7a5 (1... Rxe4 2. Rb8#) (1... Rc7+ 2. Kxc7 Rxe4 3. Ra5#) 2. Reb4! Ka7 (2... Rxb5 3. Rxa4+ Ra5 4. Rxa5#) (2... Rxb4 3. Rxa5#) (2... Ra2 3. Rb8+ Ka7 4. R4b7+ Ka6 5. Ra8#) 3. Rb7+ Ka6 (3... Ka8 4. Rb8+ Ka7 5. R4b7+ Ka6 6. Ra8#) 4. R4b6# { And black is checkmated! (1-0) } * [Event "Beautiful Chess Studies (2): Reti, 1922*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.27"] [UTCTime "01:25:57"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/5p2/8/kpN2P2/8/2R2K2/3pP3/2n5 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Rc2! (1. Rxc1? dxc1=N! { And black will be able to make a draw! }) 1... d1=Q 2. Rxc1! Qd5+ (2... Qxc1? 3. Nb3+ { And white wins. }) (2... Qd2 3. Nb3+) (2... Qd4 3. Nb3+) (2... Qd6 3. Nb7+) (2... Qd8 3. Nb7+) 3. e4! Qe5 (3... Qa2 4. Ra1! Qxa1 5. Nb3+ { And white wins the black queen. }) (3... Qd6 4. Nb7+) (3... Qd4 4. Nb3+) (3... Qd8 4. Nb7+) (3... Qd2 4. Nb3+) (3... Qa8 4. Ra1+) (3... Qc6 4. Nb3+) 4. Ra1+! Qxa1 (4... Kb6 5. Nd7+) (4... Kb4 5. Nd3+) 5. Nb3+ { And white finally wins the black queen and the game! (1-0) } * [Event "Beautiful Chess Studies (2): Reti, 1923*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.27"] [UTCTime "01:14:22"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/8/5K1B/8/8/1p6/k7/2R5 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Rc3! b2 2. Bc1!! b1=Q 3. Ra3# { And black is checkmated! (1-0) } * [Event "Beautiful Chess Studies (2): Rinck, 1902*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.27"] [UTCTime "15:39:36"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/1qp5/p1p1pn1P/4k3/5pP1/1N5K/PR3P2/8 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Na5 Qc8 (1... Qxb2 2. Nc4+) (1... Qa7 2. Nxc6+) (1... Qa8 2. Rb8 Qxb8 (2... Qa7 3. Nxc6+) 3. Nxc6+) 2. Rb8 Qd7 (2... Qxb8 3. Nxc6+) 3. Rd8 Qh7 (3... Qxd8 4. Nxc6+) (3... Qe7 4. Nxc6+) (3... Qf7 4. Nc4+ Ke4 5. Nd2+ Ke5 6. Nf3+ Ke4 7. Ng5+) 4. Nc4+ Ke4 $7 5. Nd2+ Ke5 $7 6. Nf3+ Ke4 $7 7. Ng5+ { And white wins the black queen and the game! (1-0) } * [Event "Beautiful Chess Studies (2): Rinck, 1902 (ii)*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.27"] [UTCTime "16:29:16"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "k2n4/p1BK4/8/1p6/8/1P1B4/q7/8 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. Be4+! Nb7 (1... Nc6 2. Bxc6#) 2. Kc8! Qa6 (2... a5 3. Bb6 { And black gets checkmated. }) 3. Bd5! (3. b4 Qe6#) (3. Bc6 Qxc6) 3... b4 4. Bc6! Qxc6 { And white is stalemated! } * [Event "Beautiful Chess Studies (2): Rinck, 1903*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.27"] [UTCTime "01:38:08"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "4k3/2R5/6p1/1pK1p1q1/8/2N3P1/3P4/8 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Ne4! Qh6 (1... Qh5 2. Nf6+) (1... Qg4 2. Nf6+) (1... Qf5 2. Nd6+) (1... Qd8 2. Nd6+ Kf8 3. Rc8) 2. Rh7! Qf8+ (2... Qxh7 3. Nf6+) 3. Nd6+ Kd8 4. Rh8! Qxh8 5. Nf7+ { And white wins the queen and the game! (1-0) } * [Event "Beautiful Chess Studies (2): Rinck, 1903 (ii)*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.27"] [UTCTime "15:28:29"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "6q1/6p1/2k4p/R6B/p7/8/2P3P1/2K5 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Ra8! Qa2 (1... Qxa8 2. Bf3+) (1... Qe6 2. Ra6+) (1... Qh7 2. Bg6 Qxg6 3. Ra6+) (1... Qd5 2. Bf3) (1... Qc4 2. Rc8+) 2. Rxa4! Qg8 (2... Qxa4 3. Be8+) (2... Qd5 3. Bf3) (2... Qe6 3. Ra6+) 3. Ra8! Qh7 (3... Qxa8 4. Bf3+) (3... Qe6 4. Ra6+) (3... Qd5 4. Bf3) (3... Qc4 4. Rc8+) 4. Bg6! Qxg6 5. Ra6+ { And white finally wins black's queen and the game! (1-0) } * [Event "Beautiful Chess Studies (2): Rinck, 1903 (iii)*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.27"] [UTCTime "17:05:57"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/6p1/3B4/4N3/4p1Pk/8/p3pP1K/8 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. Be7+! g5 $7 2. Bb4! a1=Q (2... a1=R 3. Be1 Rxe1 4. Nf3+ exf3) (2... e1=Q? 3. Bxe1 a1=Q 4. f3+ Qxe1 5. Ng6#) 3. Be1! Qxe1 (3... Qxe5+ 4. f4+ { And white wins the black queen. }) (3... Qc1? 4. f3+ Qxe1 5. Ng6# { And black is checkmated! }) 4. Nf3+! exf3 { And white is stalemated! (1/2-1/2) } * [Event "Beautiful Chess Studies (2): Rinck, 1905*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.27"] [UTCTime "01:08:30"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "b5K1/6P1/8/4B3/2N5/8/5p1p/3k4 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. Ne3+! (1. Bxh2? Bd5+ 2. Kh8 Bxc4 { And black wins. }) 1... Ke2 2. Bxh2! Kxe3 3. Kh8! Bd5 4. g8=Q! Bxg8 5. Bg1!! fxg1=R { And white is stalemated! (1/2-1/2) } * [Event "Beautiful Chess Studies (2): Rinck, 1907*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.27"] [UTCTime "16:18:09"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "6r1/3p3p/p3P2P/k7/1p1PN3/1P6/8/5K2 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. e7! Re8 2. Nd6! Rxe7 3. d5!! Kb6 (3... Re5 4. Nc4+) (3... Re3 4. Nc4+) 4. Nc8+ { And white wins the rook and the game! (1-0) } * [Event "Beautiful Chess Studies (2): Rinck, 1917*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.27"] [UTCTime "15:21:28"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "3N4/4p3/q3Bpp1/1N2k3/P6P/6P1/3K4/8 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Nf7+ Kxe6 (1... Ke4 2. Bd5+ Kf5 (2... Kxd5 3. Nc7+) 3. Nh6+ Ke5 $7 4. Ng4+ Kf5 (4... Kxd5 5. Nc7+) 5. Ne3+ Ke5 $7 6. Nc4+ Kxd5 (6... Kf5 7. Be6+ Ke4 (7... Kxe6 8. Nc7+) (7... Qxe6 8. Nd4+) 8. Bc8! Qa8 (8... Qxa4 9. Nc3+) (8... Qc6 9. Bb7 Qxb7 10. Ncd6+ exd6 11. Nxd6+) (8... Qxc8 9. Ncd6+ exd6 10. Nxd6+) 9. Bb7+ Qxb7 10. Ncd6+ exd6 11. Nxd6+ { And white wins the queen and the game! (1-0) }) 7. Nc7+) 2. Nc7+ * [Event "Beautiful Chess Studies (2): Rjabinin, 1991"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.18"] [UTCTime "12:46:23"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "5nB1/8/3K2P1/6k1/8/8/8/8 w - - 0 1"] [SetUp "1"] { This "clean" study, with only very few pieces left on the board, shows that even positions with so few pieces can be rich in tactical motives. Here white is up a dangerous pawn, and all white's hopes are pinned on getting this pawn across. How does white proceed to victory? } 1. g7! { Correct! Clearly the white g-pawn needs to be saved to keep any winning chances. } 1... Ne6!? { Whereas 1... Ng6? can easily be met with moving the bishop and getting a queen, all other three knight moves contain some venom and require precision on white's side to be victorious. (Can you see how white wins after 1... Nd7!? and after 1... Nh7!?) The main line sees black playing 1... Ne6!? - how does white refute this move? } (1... Nh7!? { This tricky alternative move sees black sacrificing the knight on h7 instead. } 2. Bxh7! Kf6 { Black again sets up a stalemate trap, and now a different underpromotion is required to win... } 3. g8=R! { And white wins! } (3. g8=Q? { Stalemate! }) (3. g8=N+? Kg7! { And black makes a draw! }) (3. g8=B? { And white will not be able to win the game with similar bishops. })) (1... Nd7!? { This knight move hopes to distract the white king, giving black time to win the g-pawn, or alternatively to stop the g-pawn with Nf6. } 2. Bh7! { The only winning move sees the bishop cutting off the b1-h7 diagonal for the black king. } (2. Kxd7? Kg6 { And black saves the draw. }) 2... Nf6 3. Ke7! { And black will soon be in zugzwang, unable to stop the white pawn. } 3... Nd5+ 4. Kf8 Nf6 5. Kf7 { And white wins the knight or promotes to a queen on the next move. }) 2. Bxe6! { Correct! That move was not too hard; capturing the knight, and freeing the g8 square for a future promotion. } 2... Kf6 { Black is not quite resigning yet, and threatens the g-pawn. What does white play next? } 3. g8=N+! { Correct! White needs to be careful to prevent a stalemate, and only this promotion to a knight leads to victory for white! (1-0) } (3. g8=Q? { Stalemate! }) (3. g8=R? { Stalemate! }) (3. g8=B? $10 { And white will not be able to mate with two bishops of the same color. }) * [Event "Beautiful Chess Studies (2): Rusinek, 1987*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.26"] [UTCTime "20:07:00"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "7B/7P/8/8/k7/1p3b2/n2P4/1K6 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. d3! (1. Ba1? Be4+ 2. d3 Bxh7! { And black wins. }) 1... Be2 2. Ba1! Bxd3+ 3. Kb2 Bxh7 { And white is stalemated! (1/2-1/2) } * [Event "Beautiful Chess Studies (2): Sabinin, 1983*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.18"] [UTCTime "13:23:26"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/P7/4b3/Nk1r4/1p6/pK6/2P5/8 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. c4+! (1. a8=Q Rd3# { And white is checkmated! }) 1... bxc3 2. a8=Q! Rd8+ 3. Kxa3! Rxa8 { Stalemate! } * [Event "Beautiful Chess Studies (2): Sackmann, 1909*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.17"] [UTCTime "22:59:48"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/6P1/2P2n2/k7/2n5/2N3K1/8/8 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. c7! Nd6 2. Ne4!! Ndxe4+ 3. Kf4 Nd6 4. Ke5! { And one of white's pawns will soon promote! (1-0) } * [Event "Beautiful Chess Studies (2): Slepyan, 1983*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.26"] [UTCTime "20:01:19"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "2kb4/4P3/K1p5/8/8/6q1/8/1R3B2 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Rb8+! (1. e8=Q?? Qa3#) (1. exd8=Q+? Kxd8 $19) 1... Qxb8 (1... Kxb8 2. exd8=Q#) (1... Kd7 2. exd8=Q+) 2. Bh3+! Kc7 3. e8=N# { And black is checkmated! (1-0) } * [Event "Beautiful Chess Studies (2): Troitsky, 1895*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.18"] [UTCTime "00:46:57"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "5k2/4p2p/6P1/3K4/8/4B3/8/8 w - - 0 1"] [SetUp "1"] 1. Bh6+! Kg8 2. g7! Kf7 (2... e6+ 3. Kd6 Kf7 4. Ke5 Kg8 5. Kf6 e5 6. Ke6 e4 7. Kf6 e3 8. Bxe3 { And the black king will eventually be driven away from g8, after which white promotes his pawn. } 8... h5 9. Bf2 h4 10. Bxh4 Kh7 11. Kf7) (2... e5 3. Ke6 e4 4. Kf6 e3 5. Bxe3 { And white wins. }) 3. g8=Q+!! Kxg8 4. Ke6! Kh8 5. Kf7 e5 6. Bg7# * [Event "Beautiful Chess Studies (2): Zacharov, 1988*"] [Site "https://lichess.org/study/ByFy31hm"] [UTCDate "2018.04.26"] [UTCTime "20:13:45"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/8/4R3/5b2/7k/3r4/5P2/1K6 w - - 0 1"] [SetUp "1"] { White seems to be in deep trouble - his rook is hanging, and black is threatening a devastating discovered attack with his rook, winning the white rook if it moves away from e6. Nonetheless, white can save a draw here - how? } 1. Rh6+! (1. Rf6? Kg5! { And white will soon lose his rook. }) (1. Re5? Rd5+) 1... Kg5 (1... Kg4 2. Kb2 { And with best play, the position is a theoretical draw. }) 2. Rh2!! Rh3+ 3. Ka1! Rxh2 4. f4+! Kf6 { And white is stalemated! (1/2-1/2) } * pychess-1.0.0/learn/lessons/lichess_study_beautiful-chess-studies-1_by_thijscom_2018.03.05.pgn0000644000175000017500000025355113365545272031133 0ustar varunvarun[Event "Beautiful Chess Studies (1): ▶▷ INTRODUCTION ◁◀"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.04.17"] [UTCTime "22:40:49"] [Variant "Standard"] [ECO "A00"] [Opening "Barnes Opening: Fool's Mate"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] { PART 2 AVAILABLE HERE: https://lichess.org/study/ByFy31hm CHECKMATE PUZZLES AVAILABLE HERE: https://lichess.org/study/RdtICntn } 1. f3 { This study, the first in its series (the second part can be found at https://lichess.org/study/ByFy31hm), is a collection of beautiful chess studies, where the assignment is to force a win or a draw. In these puzzles there is only one, often elegant solution achieving this goal. For checkmating puzzles, where the assignment is to force mate within 2/3 moves, see https://lichess.org/study/RdtICntn. } 1... e5 { The puzzles/chapters are listed on the left hand side above the chat window, and are sorted alphabetically by the composers of these puzzles. Each chapter represents a different puzzle. The solution, as well as a detailed analysis of the variations crucial to the solutions, can be found on the right hand side after completing the puzzle and clicking "Analyse". } 2. g4 { If you like these puzzles or have any comments, feel free to drop a line in the chat box on the left, or add this study to your favorites by clicking the little heart ❤️ below the board when loading the study. And as mentioned, do not forget to check out the other puzzle collections at https://lichess.org/study/RdtICntn and https://lichess.org/study/ByFy31hm. } 2... Qh4# { As a sidenote, you might notice that some chapters have a *-mark, and some do not. Chapters without a * are fully annotated, with hints and guidance why other moves are wrong, while the chapters with a * are not quite fully annotated. (This is a rather time-consuming process.) } * [Event "Beautiful Chess Studies (1): Afanasyev, 1964"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.13"] [UTCTime "11:54:01"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/2K5/8/2k2N2/4P3/8/1PP1p3/8 w - - 0 1"] [SetUp "1"] { In this position white is up two pawns and a knight, but black is threatening to get a queen very soon. How does white win the game anyway? } 1. c3! { Correct! This pawn move covers two key squares (b4 and d4) and sets up an alternative way to win - if the pawn cannot be stopped, then maybe black can be checkmated. } 1... e1=Q { Black decides his best chance is to get a queen; both king moves would have allowed a knight check, after which the black pawn can be stopped. How does white proceed? } (1... Kc4 2. Ne3+ Kd3 3. Ng2 { And white will win. }) (1... Kb5 2. Nd4+ Kc4 3. Nxe2 { And white wins. }) 2. Nd6! { Correct! White completely traps the black king, and set up a deadly check with his b-pawn. Checkmate (or winning the queen) seems inevitable. } 2... Qxc3! { Black sees a tricky way to counter white's mating plan. How does white respond to this move? } (2... Qb1 3. b4+ Qxb4 4. cxb4+ { And the white e-pawn will decide the game. }) 3. Nb7+! { Correct! White does not fall for the stalemate trap (3. bxc3? is a draw!), and instead gives an intermediate check first. } (3. bxc3? { Stalemate! }) 3... Kd4+ { Black has no choice to move the king away from c5. What does white play next? } 4. bxc3+ { Correct! Only now does white capture the black queen, as there is no stalemate anymore. As black is not in time to win both white pawns, white will soon win the game. (1-0) } * [Event "Beautiful Chess Studies (1): Afek, 2001"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.08"] [UTCTime "13:11:05"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/P7/qk1K2Q1/8/8/8/8/8 w - - 0 1"] [SetUp "1"] { In this position, white is up a far-advanced a-pawn, but this pawn appears to be doomed. How does white convert this position into a win anyway? } 1. a8=R!! { Correct! White promotes his pawn to distract the black queen, without falling for any stalemate traps. } (1. a8=Q? Qd3+! 2. Qxd3 { And black saves the draw by stalemate! }) 1... Qxa8 { Black has no choice but to take the rook, as otherwise the white rook and queen will quickly checkmate black. How does white continue? } 2. Qb1+ { Correct! White forces the black king further to the edge of the board. } 2... Ka7 { Black tries to run his king to b8, to block the checks with his queen. This inaccuracy however allows white to finish the game quickly. How does white proceed? } (2... Ka6 3. Qa2+ Kb7 4. Qb3+ Kc8 5. Qc4+ Kb7 6. Qb5+ { And black will finally be forced to move the king to a7 anyway, with a similar result as in the game. } 6... Ka7 (6... Kc8 7. Qd7+ Kb8 8. Qc7#) 7. Kc7!) 3. Kc7! { Correct! White threatens mate, and the black queen is unable to hinder white with any spite checks. White will mate black in at most a few more moves. (1-0) } (3. Qa2+? Kb8 { And white can no longer win. }) * [Event "Beautiful Chess Studies (1): Afruniev, 1974"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.09"] [UTCTime "17:02:47"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "7k/3N1P1p/5K2/5P2/1b6/8/4p3/8 w - - 0 1"] [SetUp "1"] { In this position, both sides have pawns ready to promote, but while the black bishop is in time to stop the white pawn, the white knight appears to be too late to stop the black pawn on e2. How does white save a draw anyway? } 1. Ne5! { Correct! White prepares to cover the e1-square with the knight, forcing black's next move. } 1... e1=Q { Black gets his queen, and all seems hopeless for white. Can you find a way out? } (1... e1=R { This essentially leads to the same result. }) 2. f8=Q+! { Correct! White sacrifices his advanced pawn, again forcing black's reply. } (2. f8=R+ { This move also works, and transposes to the main line. }) 2... Bxf8 { Black's only move seems to have decided the game: white is now a full queen down. What does white play next? } 3. Nf7+ { Correct! White has one more free spite check with his knight, again leaving black no choice. } 3... Kg8 { The black king steps aside, and begs the question why white has not resigned yet. How does white continue? } 4. Nh6+ { Correct! White aims for a perpetual with Nf7-h6-f7, thereby forcing black to take to avoid a perpetual. } 4... Bxh6 { Unfortunately for black, taking on h6 leaves white in stalemate! (1/2-1/2) } (4... Kh8 5. Nf7+ Kg8 6. Nh6+ Bxh6) * [Event "Beautiful Chess Studies (1): Becker, 1988"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.04.04"] [UTCTime "16:41:00"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/r2k4/7R/4P3/4K3/8/8/8 w - - 0 1"] [SetUp "1"] { This seemingly innocent endgame holds quite a few hidden surprises. How does white navigate the tricks and traps in this position to quickly force black's resignation? } 1. e6+! { Correct! White avoids 1. Rh7+? Ke6! after which the black rook cannot be captured due to a stalemate. This move instead lifts the stalemate, and threatens to win the rook with a skewer on one of the next moves. } (1. Rh7+ Ke6 2. Rxa7 { And black is stalemated! } (2. Rh6+ Kf7 { This does not transpose back to the main line, as after 2. Rh6+ Kf7! white can no longer force a win. })) 1... Kd6 { Black sees that e.g. 1... Ke7? 2. Rh7+ now does lose a full rook, and takes cover behind the white pawn. How does white continue? } (1... Ke8 2. Rh8+ Ke7 3. Rh7+) (1... Ke7 2. Rh7+) 2. e7+! { Correct! White would be happy to get rid of his e-pawn, as it would allow winning the black rook. } 2... Kd7 { Black again notices the danger of a rook check on h7, and again takes cover behind the white pawn. What does white play next? } (2... Kxe7 3. Rh7+) 3. e8=Q+! { Correct! White insists on black capturing the e-pawn, after which the king can be attacked by the white rook. } (3. Rh7 Ra4+ 4. Ke5 Ke8 { And black forced a draw. }) 3... Kxe8 { Black has no choice but to capture the queen. How does white proceed? } 4. Rh8+! { Correct! The black king is put in check, and cannot find a good square to hide. } 4... Kf7 { The black king charges at white's rook, but he is just too late. How does white decide black's fate? } 5. Rh7+! { Correct! The black king and rook are finally skewered, and white will capture the rook on the next move, winning the game! (1-0) } * [Event "Beautiful Chess Studies (1): Benko, 1944"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.18"] [UTCTime "17:59:12"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "7q/4kppB/6R1/4N1P1/3PK3/8/3P4/8 w - - 0 1"] [SetUp "1"] { In this study, the question is not how this position was miraculously reached, but how white can save his pieces from the awkward positions they are in, and convert his material advantage to a win. What should white play? } 1. Re6+! { Correct! White sacrifices his rook, noting that the rook is poisoned for the f7-pawn due to the knight fork on g6. } 1... Kxe6 { Black has no choice but to capture with his king; all alternatives lead to a collapse even sooner. How should white continue? } (1... fxe6 2. Ng6+ { And white wins the queen and the game. }) (1... Kf8 2. Nd7# { And black is checkmated! }) (1... Kd8 2. Nxf7+ { And the black queen is lost. }) 2. d5+! { Correct! One of the points of the rook check was to lure the king to e6, so now the d-pawn can advance with tempo. } 2... Ke7 { Black has no choice, as the only alternative 2... Kd6 immediately loses to 3. Nxf7+. What should white play next? } (2... Kd6? 3. Nxf7+ { And white wins the black queen. }) 3. d6+! { Correct! The pawn marches up the board even further, using the fact that the black king has very few squares to hide. } 3... Ke8 { The black king wisely avoids taking the pawn, and sidesteps potential knight forks for now. How should white proceed? } (3... Kxd6 4. Nxf7+ { And white wins the black queen. }) (3... Kd8 4. Nxf7+ { And white wins the black queen. }) (3... Kf8 4. g6! { And black will soon lose his queen. }) (3... Ke6 4. Bf5+ Kxd6 5. Nxf7+ { And white wins the black queen. }) 4. d7+! { Correct! White keeps putting the black king in check, again using the fact that the black king is not quite feeling comfortable. } 4... Ke7 { The black king again sidesteps any direct knight forks, and moves to e7. What should white play now? } (4... Kd8 5. Nxf7+) 5. d8=Q+! { Correct! White yet again marches his pawn up the board, to get himself a queen. } 5... Qxd8 { Black must capture the queen, and taking with the king would fall for the by now well-known fork on f7. Taking with the queen therefore seems like the lesser evil, but how does white exploit this capture? } (5... Kxd8 6. Nxf7+) 6. Nc6+ { Correct! White finally found a way to fork the black king and queen, winning the queen and the game! (1-0) } * [Event "Beautiful Chess Studies (1): Benko, 1990"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.18"] [UTCTime "17:48:16"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "7r/6k1/4KpBp/5PbQ/8/8/2p3P1/8 w - - 0 1"] [SetUp "1"] { White is currently up a queen for a rook and has a strong control over the light squares surrounding the black king. On the other hand, black has an unstoppable c-pawn, and after black gets a queen, the white king will not feel very safe either. How does white quickly score the full point? } 1. Bh7! { Correct! The bishop clears the way for the white queen, which threatens to infiltrate through the light squares. } 1... Rf8 { Black finds the most tenacious defense, covering f7 and preparing to hide the king in the corner. How should white continue? } (1... Ra8 { This attempt for a perpetual fails as well, as the white king can eventually outrun the black rook and bishop. } 2. Qf7+ Kh8 3. Bg6 Ra6+ 4. Kd5 Ra5+ 5. Ke4 Re5+ (5... Ra4+ 6. Kf3 Ra3+ 7. Kf2 Be3+ 8. Ke2 c1=N+ 9. Kf1) 6. Kd3 c1=N+ 7. Kc4 Re4+ 8. Kd5 Re5+ 9. Kd6) (1... Kxh7 2. Qg6#) (1... Rxh7 2. Qf7+ Kh8 3. Qf8#) 2. Qg6+ { Correct! The queen infiltrates, and the black king is driven to the corner. } 2... Kh8 $7 { Black's only move is a king retreat to the corner, but the black king now feels reasonably safe in this corner. How does white crack black's defensive setup? } 3. Bg8! { Correct! The white bishop again clears the way for the white queen, which now threatens mate in 1 on h7. } 3... Rxg8 { Black has no choice but to take the bishop, due to the mate threat on h7. How does white continue from here? } (3... c1=Q 4. Qh7#) 4. Kf7! { Correct! The king now infiltrates with deadly effect as well! The white queen is left en prise, but white has a backup plan to win in case the queen is lost. } 4... Rxg6 { As white was threatening mate by simply taking the rook, black had no choice but to take the offered queen. What was the point of white's previous move? } (4... c1=Q 5. Qxg8#) (4... Rd8 5. Qg7#) 5. fxg6 { Correct! This innocent pawn, originally on f5, now decides the game, as it is also unstoppable. } 5... c1=Q { Black cannot stop white's g-pawn, and decides to get a queen now that the action is over. How should white proceed? } 6. g7+ { Correct! The pawn advances with check, gaining a crucial tempo. } 6... Kh7 $7 { Black's only option is to play Kh7. How does white finish the game? } 7. g8=Q# { Correct! The f-pawn has become a queen and, together with the king, now decides the game in white's favor: black is checkmated! (1-0) } * [Event "Beautiful Chess Studies (1): Benko, 1999"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.18"] [UTCTime "18:10:02"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "7K/8/8/pp6/8/8/PPk5/R7 w - - 0 1"] [SetUp "1"] { In this endgame we see white having a full rook more than black, but somehow white's king and rook are very awkwardly placed, while the black king threatens to gobble up the white queenside and advance his own queenside pawns. How does white refute black's ideas, and force a win? } 1. a4! { Correct! White offers a pawn trade, which would liquidate the entire queenside. } (1. Rg1? Kxb2 2. Rg5 Kxa2 3. Rxb5 a4 { And black will soon force a draw. }) (1. b4? axb4 2. Rg1 Kb2 3. Rg2+ Ka3 4. Kg7 b3 5. axb3 Kxb3 { And black is in time to save the draw. } 6. Kf6 b4 7. Ke5 Kc3 8. Ke4 b3 9. Ke3 b2 10. Rg1 Kc2) (1. b3? Kb2 2. Rg1 Kxa2 { And black will save the draw. }) (1. a3? Kxb2 2. Re1 Kxa3 { And black will save the draw. }) 1... Kxb2 { Black observes that neither 1... bxa4? 2. Rxa4 nor 1... b4 2. Rg1 Kxb2 3. Rg5 offer him any drawing chances, and instead captures on b2 first, seemingly gaining a tempo on the white rook. What does white play next? } (1... b4? 2. Rg1 Kb3 3. Rg5 Kxa4 4. Rg3 { And black is unable to make a passed pawn. }) (1... bxa4? 2. Rxa4 Kxb2 3. Rxa5 { And white will easily win the KR vs. K endgame. }) 2. Ra3!! { Correct! This amazing move is all about gaining a tempo in the upcoming pawn race of white's b-pawn against black's a-pawn: white loses one move on making this additional rook move, while it costs black two additional moves to move the king from a3 to a1, after capturing the rook. Observe that 2. axb5? Kxa1 3. b6 a4 3. b7 a3 4. b8=Q a2 is a draw! } (2. axb5 Kxa1 3. b6 a4 4. b7 a3 5. b8=Q a2 { And black is just in time to save the draw! }) 2... Kxa3 { Black must capture the rook, as both pawn moves lose to 2... bxa4? 3. Rxa4 and 2... b4 3. Rg3 followed by 4. Rg5 and 5. Rxa5. What does white play next? } (2... b4 3. Rf3 b3 4. Rf5 Ka3 5. Rxa5 b2 6. Rb5 { And white wins. }) 3. axb5 { Correct! White now enters the pawn race with his b-pawn, knowing that black will be just one move short. } 3... a4 { Black advances his pawn. What does white play? } 4. b6 { Correct! White advances his pawn as well, hoping to get to the other side sooner than black. } 4... Ka2 { Black needs to move his king to make way for his a-pawn, losing an important tempo. What does white play? } 5. b7 { Correct! White marches his pawn up the board, and almost has a new queen. } 5... a3 { Black advances his pawn as well. What does white play? } 6. b8=Q { Correct! Although black has an advanced a-pawn, his pawn is not yet advanced far enough up the board to force a draw; black would need two moves to play Ka1 and a2, and unfortunately he only has one move. (1-0) [An example line: 6... Ka1 7. Qe5+ Kb1 8. Qe1+ Kb2 9. Qb4+ Ka2 10. Kg7 Ka1 11. Qxa3+ and white wins.] } * [Event "Beautiful Chess Studies (1): Benko, 2003"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.18"] [UTCTime "17:37:35"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "4k1rr/R7/8/8/8/8/8/R3K3 w Q - 0 1"] [SetUp "1"] { In this magnificent study by famous chess player and composer Pal Benko, both sides have two rooks, but black's pieces are not very well coordinated. Can white combine threats of checkmate and skewers to win the game? } 1. O-O-O! { Correct! White prevents that black frees up his rooks with tempo (checks), and continues putting pressure on the black position. } 1... Rf8 { Black sees that he cannot move either rook from the back rank, as then the other rook will be lost to a skewer by the a7-rook. Instead, black prepares a (slow) way to untangle. How should white continue? } (1... Rg5 2. Ra8+) (1... Rh6 2. Re1+ Kf8 3. Rf1+ Ke8 4. Ra8+) 2. Kb1! { Correct! White cannot yet exploit black's position yet, and improves the position of his king, clearing more squares for the d1-rook. } 2... Rhg8 { Black pulls his other rook closer to the king, and is now ready to move the rook from f8 along the f-file. What should white play? } (2... Rh6 3. Re1+ Kd8 4. Ra8+) 3. Ka1! { Correct! This remarkable maneuver further increases the pressure on black's position, by also clearing the b1-square for the rook on d1. } (3. Rc1? Kd8 $10) 3... Rf6 { Black can finally remove one of his rooks from the back rank, without losing a rook to a skewer. How does white win anyway? } (3... Rf7 4. Ra8+) 4. Rb1! { Correct! As the a7-rook alone cannot win material with a skewer, white now sets up a mate threat on b8 using the other rook. } (4. Ra8+? Kf7 5. Rd7+ Ke6 $10) 4... Rd6 { Black's only defense against the mate is blocking the check with his own rook. What should white play now? } 5. Rb8+! { Correct! White delivers check anyway, forcing black's reply. } 5... Rd8 $7 { Black has no choice but to put his rook on d8, blocking the check. What does white play? } 6. Rxd8+ { Correct! White trades on d8, luring the black king to d8 and further away from the protection of the other rook. } 6... Kxd8 $7 { Black has no choice but to recapture. How does white finally finish the game? } 7. Ra8+ { Correct! After a long buildup, with many threats of mate and back-rank skewers, this skewer finally decides the game by winning a full rook. (1-0) } * [Event "Beautiful Chess Studies (1): Capablanca/Lasker, 1914"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.17"] [UTCTime "13:52:07"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "1R1K4/k1n5/Np6/1P1n4/8/8/8/8 w - - 0 1"] [SetUp "1"] { This study, composed by two former World Champions, sees white having a material advantage of a rook against a knight. Moreover, the black knights are hanging, and the black king has been cornered, making this seem like an easy win. However, things are not as simple as they seem, as black has some stalemate tricks up his sleeve. How does white win anyway? } 1. Nxc7! { Correct! Black threatens to take on b5/a6, and this knight on c7 needs to be captured. If black now captures on b8, then white takes the knight on d5, easily winning the game. } 1... Nxc7 { Black passes on the free rook, and instead takes the white knight. Now both white's rook and b-pawn are hanging. How does white proceed? } (1... Kxb8 2. Nxd5 { And white also wins. }) 2. Ra8+!! { Correct! This amazing move lifts the stalemate (which would have appeared if white had captured on c7), and threatens to convert to a winning pawn endgame. } (2. Kxc7? { Stalemate! }) 2... Nxa8 { Seeing that 2... Kxa8 3. Kxc7 leads to a lost pawn endgame, and 2... Kb7 3. Ra7+! similarly does not save black, he decides to capture with the knight on a8. What does white play? } (2... Kb7 3. Ra7+! Kxa7 4. Kxc7 { And white also wins. }) (2... Kxa8 3. Kxc7 Ka7 4. Kc6 { And white also wins. }) 3. Kc8! { Correct! Black is in zugzwang, and has no choice but to give up his knight anyway. } 3... Nc7 $7 { Black's only move, which unfortunately for him costs material. How does white continue? } 4. Kxc7 { Correct! White captures the knight, and has reached a winning pawn endgame, where he will soon capture the b-pawn and promote his own b-pawn to a queen. (1-0) } * [Event "Beautiful Chess Studies (1): Dizvov, 1978"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.15"] [UTCTime "14:19:34"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "5Q1N/5P1p/5Pp1/p5kp/8/7K/8/2q5 w - - 0 1"] [SetUp "1"] { In this somewhat strange position, white is up a knight and has two dangerous f-pawns. On the other hand, his king is very exposed, and the white pieces seem terribly misplaced. How does white show that his pieces are actually optimally placed to win the game? } 1. Qh6+! { Correct! The queen sacrifices itself on h6, luring the black king back into the top-right corner. } 1... Kxh6 { As the queen check also skewered the queen on c1, black had no choice but to capture the offered queen. Now, how does white proceed? } (1... Kxf6 2. Qxc1 { And white also wins. }) 2. f8=Q+ { Correct! With the far-advanced f-pawn, white gets a new queen with tempo. } 2... Kg5 $7 { Black's only move brings us back to the starting position, except that now there is no longer a white pawn on f7. How does white proceed from here? } 3. Qh6+! { Correct! White yet again sacrifices his queen on h6, claiming that material is overrated. } 3... Kxh6 { Black again has no choice, as stepping aside would lose the queen on c1. Now, what was the point of white's queen sacrifices? } 4. Nf7# { Correct! After two queen sacrifices, the knight and the pawn on f6 decide the game with this beautiful checkmate! (1-0) } * [Event "Beautiful Chess Studies (1): Gorgiev, 1957"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.15"] [UTCTime "14:35:02"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "6N1/5pk1/6p1/3n1P2/3P2K1/8/1B6/8 w - - 0 1"] [SetUp "1"] { In this position, white is up a piece, but somehow the white knight has found itself trapped deep inside enemy territory. Nonetheless, your assignment is clear: white to play and win! } 1. Ne7! { Correct! The white knight cannot escape through f6 or h6, so it hopes for the best via e7. } 1... Nxe7 { If black wants to save a draw, he must capture white's knight, equalizing the material balance. How does white proceed? } (1... gxf5+ 2. Nxf5+ { And white remains up a piece. }) 2. f6+! { Correct! White forks the black king and knight with this check, forcing black's reply. } 2... Kxf6 { Black must capture the pawn to keep hopes for a draw alive. Now, what was the point of white's last two moves? } 3. d5# { Correct! This discovered check is in fact checkmate! Black's materialistic greed, hoping to get his lost material back, ultimately led to this pretty checkmate in the middle of the board. (1-0) } * [Event "Beautiful Chess Studies (1): Gorgiev, 1958"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.07"] [UTCTime "14:04:30"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "2r5/1Pk1q3/8/4P3/3Q4/8/4K3/8 w - - 0 1"] [SetUp "1"] { Although white is a rook down, it is clear that the white pawn on b7 is worth its weight in gold. Unfortunately, simply taking with 1. bxc8=Q+ will not lead to more than a draw after 1... Kxc8. How does white force a win with a powerful sequence of moves? } 1. Qb6+!! { Correct! This spectacular move pulls the king away from the defense of the rook, and threatens to win the house with a fork on c8. } 1... Kb8 { Black does not fall for white's nasty trick, and hides on b8. How does white continue? } (1... Kd7 2. e6+! Qxe6+ (2... Ke8 3. bxc8=Q+) 3. Qxe6+ Kxe6 4. bxc8=Q+) (1... Kxb6 2. bxc8=N+! { This was the main point of white's initial move. } 2... Kc5 3. Nxe7 Kd4 4. Ng6 { And white will be in time to bring his own king and promote the pawn. }) 2. Qa7+! { Correct! White continues chasing the black king, forcing it to release control over the c8-square. } 2... Kxa7 { Black finally takes the white queen. Alternatively, 2... Kc7 would have lost to the simple 3. bxc8=Q++ Kxc8 4. Qxe7. Now, what was the idea behind these last queen moves? } 3. bxc8=N+! { Correct! White promotes to a knight, winning the black queen, and easily winning the resulting endgame. (1-0) } * [Event "Beautiful Chess Studies (1): Gorgiev, 1975"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.09"] [UTCTime "16:56:47"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "7k/7p/1N3p1K/8/7p/8/8/8 w - - 0 1"] [SetUp "1"] { White has cornered the black king, and the white king is in time to stop two of black's pawns. The third black pawn on h4 however seems unstoppable, even for the white knight. Can you find the narrow path to a draw? } 1. Nd5! { Correct! The white knight threatens to stop the pawn from reaching h3, and so black is left no choice. } 1... h3 { Black runs the pawn down the board, not afraid of the white knight. What does white play? } 2. Nf4! { Correct! The white knight attacks the black pawn, again forcing it to hurry to the other side. } (2. Nxf6? h2 3. Nh5 h1=Q { And black wins. }) 2... h2 { The black pawn has almost reached its destination square. What does white play next? } 3. Nh5! { Correct! The white knight aims for the g3 square, from where it can stop the advanced h-pawn. Black is therefore left no choice but to promote the pawn. } 3... h1=Q { Unfortunately for black however, promoting to a bishop or knight only leads to a draw, while promoting to a queen (or rook) immediately leads to a stalemate! (1/2-1/2) } (3... h1=R { And it is still a stalemate. }) (3... h1=B 4. Nxf6 { And it will soon be a draw as well. }) * [Event "Beautiful Chess Studies (1): Gunst, 1922"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.09"] [UTCTime "16:05:12"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "1NBk4/p2p4/8/3K4/8/8/8/8 w - - 0 1"] [SetUp "1"] { This twin puzzle to (Pogosyants, 1987) sees white in a similar awkward situation: he would be happy to deliver checkmate with the knight and bishop, but it seems that one of his pieces will be lost to the black king soon. How does white win anyway? } 1. Bb7!! { Correct! This accurate move paves the way for a near winning plan. } (1. Ba6? Kc7 2. Kc5 d6+! 3. Kd5 Kxb8 4. Kc6 (4. Kxd6 Ka8 5. Kc7) 4... d5) (1. Bxd7? Kc7 { And black wins one of white's pieces, saving a draw. }) 1... Kc7 { Black needs to win either of whites pieces to save the draw. How does white continue? } 2. Ba6!! { Correct! In the last two moves white intentionally lost a tempo - if in this position white were to move, it would be a draw! } 2... Kxb8 { Black has no choice but to capture the piece - moving the king anywhere else or moving the d-pawn would allow white to save both pieces. Now, what was the point of white's last few moves? } (2... d6 3. Nc6) 3. Kd6! { Correct! The d-pawn is stopped for now, forcing the black king into the corner. } 3... Ka8 { Black's only move. Now, how does white win the game? } 4. Kc7 { Correct! The black king is stalemated, but at the same time the black d-pawn is released, preventing black from claiming a draw. } 4... d5 { Black has to move his d-pawn, but this only helps white. How does white finish the game? } 5. Bb7# { Correct! Black is checkmated with white's last minor piece, taking revenge for the white knight which was lost in battle. (1-0) } (5. Kc8 d4 6. Bb7# { White can torture black some more moves, if he so wishes. }) * [Event "Beautiful Chess Studies (1): Herbstman, 1929*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.04.04"] [UTCTime "16:38:11"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "6k1/2p5/4K3/8/4bR2/4P3/7p/8 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. Rg4+! Kf8 (1... Kh7 2. Rh4+ Kg6 3. Rxh2 { And white has an advantage. }) 2. Rf4+! Ke8 (2... Kg7 3. Rg4+ Kf8 4. Rf4+ { With a perpetual. }) 3. Rh4! h1=Q (3... h1=R 4. Rxe4 { And white draws. }) 4. Rh8+! Qxh8 { Stalemate! (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Herbstman, 1939*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.04.04"] [UTCTime "16:43:16"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "7k/2Pp4/6K1/8/6Rp/8/8/2q5 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. c8=Q+! (1. Rxh4+ Kg8) (1. Kf7 Qf1+) 1... Qxc8 2. Kf7! Qd8 (2... Qc2 3. Rxh4+ Qh7+ 4. Rxh7+ Kxh7 5. Kf6! { And white is just in time to stop the black pawn, forcing a draw! } (5. Ke7? d5! $19)) 3. Rg6! Kh7 4. Rh6+! Kxh6 { Stalemate! (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Kajev, 1932*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.04.04"] [UTCTime "16:48:49"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/8/2NR4/5pn1/4r2k/4r3/6K1/5R2 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Rh6+ Kg4 $7 2. Ne5+ Rxe5 $7 3. Rf4+ Kxf4 $7 4. Rh4# { And black is checkmated! (1-0) } * [Event "Beautiful Chess Studies (1): Kallstrom, 1973"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.09"] [UTCTime "16:58:05"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "1B3K2/5b2/5p2/8/7k/p7/8/8 w - - 0 1"] [SetUp "1"] { In this position, white is down two pawns, and although he can capture black's bishop, the black a-pawn seems unstoppable. How does white save a draw anyway? } 1. Bd6! { Correct! White challenges the black a-pawn, forcing it to move. } (1. Ba7? a2 2. Bd4 f5! 3. Kxf7 f4 $19) 1... a2 { The black a-pawn has almost reached its destination, and white appears to be too late. What does white play? } 2. Be7! { Correct! White has found a cunning drawing plan, starting with this bishop move. } 2... a1=Q { Black promotes to a queen, oblivious to white's plan. (Observe that 2... Kg5 would have similarly led to a forced draw.) How does white force a draw now? } (2... Kg5 3. Bxf6+! Kxf6 { And white is also stalemated! }) 3. Bxf6+! { Correct! This fork of the queen and king forces black to recapture... } 3... Qxf6 { ...after which white is stalemated! (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Kivi, 1941"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.09"] [UTCTime "16:14:52"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "7K/8/5Nkp/1B6/8/8/7p/8 w - - 0 1"] [SetUp "1"] { White has a knight and bishop and would be happy to checkmate black with those, but after a moment of carelessness he has allowed a black pawn to reach h2, which now seems unstoppable. How does white win anyway? } 1. Ne4! { Correct! White threatens to stop the black h-pawn, forcing black to make a choice. } 1... h1=Q { Black decides to get a queen, and starts thinking about actually winning the game. How does white proceed? (See the analysis for why 1... h1=N!? also does not save black.) } (1... h1=N!? { This tricky black move avoids the main line, but this also does not save the draw for black, as the knight is trapped and will soon be lost. } 2. Bf1! (2. Be2? Kf5 3. Bf3 Ng3 4. Nxg3+ Kf4 { And black saves the draw. }) 2... Kf5 3. Bg2 { And the black knight is lost. }) 2. Be8+! { Correct! The white knight and bishop work together harmoniously to force the black king to an awkward square. } 2... Kf5 $7 { Black's only move. Now, how does white exploit the positioning of black's pieces? } 3. Ng3+! { Correct! White wins the black queen, and will soon win the other black pawn and the game. } * [Event "Beautiful Chess Studies (1): Kondrachev, 1985"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.13"] [UTCTime "11:59:21"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "1K6/R7/1k6/1r6/8/2R5/8/1q6 w - - 0 1"] [SetUp "1"] { With an extra queen for a rook, black seems destined for a win. Nonetheless, white has a clean and short way to force a draw! } 1. Rb7+! { Correct! The black king is not quite happy on b6, and this move forces the king to step back. } 1... Ka5 { After 1... Ka6?? 2. Ra3+ white would win a full queen and the game, but this move seems to bring the king to safety soon. What powerful move does white have to save the draw? } (1... Ka6? 2. Ra3+ Ra5 3. Rxa5+ Kxa5 4. Rxb1 { And white wins. }) 2. Rc5! { Correct! This nice aesthetic move puts the black rook in an awkward two-way pin. White simply threatens to take on b5 next. } 2... Rxc5 { Black decides to capture the free rook on c5. What was the point of white's previous move? } 3. Rxb1 { Correct! White wins the black queen, and reaches a drawn rook endgame. (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Kovalenko, 1968"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.10"] [UTCTime "14:11:13"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "2K5/k7/8/1P2B3/2P5/4r3/8/8 w - - 0 1"] [SetUp "1"] { White has two connected passed pawns, and threatens to win the black rook. However, things are not as simple as they seem. How does white avoid the pitfalls, and win the game? } 1. b6+! { Correct! The tempting move 1. Bd4+? does not work due to 1... Ka8! after which 2. Bxe3 is a stalemate! This move sidesteps this issue, and threatens to win the rook on the next move if black takes the pawn. } (1. Bd4+? Ka8 2. Bxe3 { Stalemate! }) 1... Ka6 { Black sees white's winning plan, and does not fall for the fork on d4. How does white continue? } (1... Ka8 2. b7+ Ka7 3. b8=Q+ { And white easily wins. }) (1... Kxb6 2. Bd4+ { And white wins. }) 2. b7 { Correct! Rather than winning the black rook, white now threatens to get a queen. } 2... Rxe5 { Black takes the bishop, and although white can now get a queen, things are again not as simple as they seem. What does white play next? } 3. b8=N+! { Correct! White promotes with check, preventing a check on e8 by the black rook. } (3. b8=Q? Re8+ 4. Kc7 Rxb8 5. Kxb8 Kb6 { And black saves the draw. }) 3... Kb6 { Black chooses to move his king to b6; Ka5 and Ka7 would have led to similar variations. How does white continue? } (3... Ka5 4. Nc6+) (3... Ka7 4. Nc6+) 4. Nd7+ { Correct! White forks the king and rook, and black is unable to win the white c-pawn. White will win the rook, and will soon guide the pawn to promotion. (1-0) } * [Event "Beautiful Chess Studies (1): Kovalenko, 1972*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.13"] [UTCTime "12:06:02"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "1r6/8/8/K7/6k1/4R3/p7/6B1 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. Re1 (1. Ra3 Ra8+ 2. Kb4 Rxa3) 1... Rb1 (1... a1=Q+ 2. Rxa1 Ra8+ 3. Kb4 Rxa1 4. Bd4 { And white will save the draw. }) 2. Re4+ Kf5 3. Ra4 a1=Q (3... Rxg1 4. Rxa2) 4. Bd4! { Correct! White saves his bishop, and will win the black queen on the next move! (1/2-1/2) } (4. Rxa1? Rxa1+ 5. Kb5 Rxg1 { And black wins. }) * [Event "Beautiful Chess Studies (1): Kozlowski, 1931*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.13"] [UTCTime "12:16:44"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "5rkB/5p1R/6P1/8/8/5K2/8/8 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Rg7+! (1. g7 Re8) (1. Bg7 fxg6+ 2. Bxf8 Kxh7) (1. Bf6 fxg6 2. Rg7+ Kh8 3. Rf7+ Kg8) 1... Kxh8 $7 2. Rh7+! Kg8 $7 3. g7! Re8 (3... Kxh7 4. gxf8=Q) 4. Rh8+ Kxg7 $7 5. Rxe8 { And white wins! (1-0) } * [Event "Beautiful Chess Studies (1): Kozlowski, 1931 (ii)*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.15"] [UTCTime "13:57:52"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "1k4b1/5p2/5P2/4N3/8/5K2/8/8 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Nd7+! Kc7 2. Nf8!! Kd8 (2... Kd6 3. Kg4 Kd5 4. Kh5 Ke5 5. Kg5 Ke4 6. Kh6 Kf5 7. Kg7 Kg5 8. Nd7) 3. Kf4! (3. Kg4! { This move transposes to the main line, and is equally strong. }) 3... Ke8 4. Kg5! Kxf8 5. Kh6! Ke8 6. Kg7! Kd7 7. Kxg8! Ke6 8. Kg7! { And white wins! (1-0) } * [Event "Beautiful Chess Studies (1): Kozlowski, 1931 (iii)*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.15"] [UTCTime "14:05:33"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "1R6/7p/7k/P7/P7/P7/1K5p/8 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. Rb6+ Kg5 (1... Kg7 2. Rb7+ Kg8 3. Rb8+ Kf7 4. Rb7+ Kg6 { Black cannot allow the white rook to capture on h7, controlling the h1-square. }) 2. Rb5+ Kg4 (2... Kf4?? 3. Rh5 $18) 3. Rb4+ Kg3 4. Rb3+ Kg2 5. Ka2! h1=Q 6. Rb1! (6. Rb2+? Kf3 7. Rb3+ Ke4 8. Rb4+ Kd5 9. Rb5+ Kd6 10. Rb6+ Kc7 $19 { And black escapes the checks. }) 6... Qh6 7. Rb2+ Kf3 8. Rb3+ Ke4 9. Rb4+ Kd5 10. Rb5+ Kc4 11. Rb4+ { And black cannot avoid a perpetual check, without losing the queen! (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Kozlowski, 1932*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.15"] [UTCTime "13:49:56"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "1k6/8/7R/1P6/3p4/3r4/4K3/3r4 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. Rb6+! Kc7 (1... Ka7 2. Ra6+ Kb7 3. Ra2) 2. Rc6+! Kb7 3. Rc2!! { Surprisingly, black is unable to untangle his rooks without losing one of them. } 3... Ka7 (3... Kb6 4. Rb2 Kc5!? 5. b6! { And black is too late to save both rooks and stop the white b-pawn, also leading to a draw. } 5... Kc4 6. b7 R1d2+ 7. Rxd2 Rb3 $10) 4. Ra2+! Kb6 5. Rb2! { And black cannot avoid either a perpetual, or losing one of the rooks, both leading to a draw. (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Kozlowski, 1938*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.15"] [UTCTime "13:44:57"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "4B3/8/1B5K/8/8/1b6/1p6/3k4 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. Bh5+! (1. Bg6? Bc2 2. Bh5+ Ke1 3. Ba5+ Kf1 { And black promotes. }) 1... Kd2 (1... Kc1 2. Be3+ Kb1 3. Bd4 { And white captures the pawn on the next move. }) 2. Ba5+! Kc1 3. Bb4! b1=Q 4. Ba3+! Kd2 5. Bb4+! Ke3 6. Bc5+! Kf4 7. Bd6+! Ke3 8. Bc5+! { And black cannot avoid a perpetual, due to a bishop check on g6 winning the black queen! (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Kozyrev, 1987"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.07"] [UTCTime "13:50:33"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "4R2K/8/7k/4N2p/8/8/5r2/8 w - - 0 1"] [SetUp "1"] { Even such a seemingly simple position can sometimes contain beautiful tactical motifs. Here the position inevitably seems headed for a draw, but with three accurate moves white can force a win. } 1. Rg8! { Correct! White threatens mate on g6, leaving black with few options to prevent immediate disaster. } 1... Rf6 { The black rook covers g6, preventing Rg6#. (Note that h5-h4, creating air for the king, would have lost to a fork on g4.) How does white continue? } (1... h4 2. Ng4+ Kh5 3. Nxf2) 2. Rg6+! { Correct! White seizes the opportunity to exploit the overloaded black rook. } 2... Rxg6 { Black has no choice but to accept the offered rook sacrifice. How does white now finish the game? } 3. Nf7# { Correct! The black king is checkmated in a rather picturesque way, smothered by his own pieces. (1-0) } * [Event "Beautiful Chess Studies (1): Kricheli, 1982"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.09"] [UTCTime "16:41:51"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/2k4B/8/1K6/8/8/4R3/3r1b2 w - - 0 1"] [SetUp "1"] { Although material is equal, white has gotten himself into a nasty pin. Can white miraculously save the draw? } 1. Bd3 { Correct! White sacrifices the bishop, to save the rook (or to be able to recapture on e2 with the bishop). } 1... Rxd3 { Black captures the free bishop, thereby releasing the pin on the rook, but also setting up a deadly discovered attack in case the white rook moves. How does white respond? } 2. Re4 { Correct! This square and this square alone saves a draw. } 2... Rd4+ { Black gives a discovered check, to win the white rook. What does white play now? } 3. Ka5 { Correct! This reveals the point of the previous rook move: the rook cannot be captured. } 3... Rxe4 { If black does not capture, white should theoretically be able to save the KR vs. KRB endgame. And if black captures, as we see here, white is stalemated! (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Kricheli, 1984"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.09"] [UTCTime "16:53:48"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/8/8/7b/8/6PK/4k1P1/1B1r2B1 w - - 0 1"] [SetUp "1"] { In this position, material is equal, but white has two hanging bishops and an awkwardly placed king. How does white quickly convert this position to a draw? } 1. Bf5! { Correct! White saves one bishop, forcing black to capture the other if he wants to win. } 1... Rxg1 { Black takes the bishop, and is now a rook up for two pawns. What does white play? } 2. Bg4+! { Correct! White gives a check with the bishop, essentially forcing black's reply. } 2... Bxg4+ { Black cannot give up the bishop without losing all winning chances, and is happy to trade bishops. How does white proceed? } (2... Kf2 3. Bxh5 Rh1+ 4. Kg4 { And white will be able to defend with his bishop for a rook. }) 3. Kh2!! { Correct! White does not recapture on g4, but goes for the bigger fish on g1. Unfortunately for black, he cannot save the rook without reaching a stalemate position! } (3. Kxg4 Rxg2 { And black wins. }) 3... Rc1 { Giving up the rook is no more than a draw, while 3... Kf2 or any rook move are stalemate! (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Kubbel, 1908"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.09"] [UTCTime "17:05:27"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "7K/7b/8/8/7R/5k2/6p1/8 w - - 0 1"] [SetUp "1"] { In this endgame, black is threatening to get a queen and win the game. Can white save the draw? } 1. Rh3+! { Correct! White harasses the black king, and challenges black to find a safe spot where white cannot capture the pawn/queen with his rook. } 1... Kf4 { Black notices that 1... Kf2 2. Rh2 allows white to sacrifice the rook for the pawn, leading to no more than a draw. Similarly 2. Kg4? Rxh7! sets up a skewer on g7. The text move avoids these traps. How does white continue? } (1... Kg4? 2. Rxh7!) (1... Kf2? 2. Rh2!) 2. Rh4+! { Correct! White again begs the question where the black king is going to hide, hoping to either put the rook on g4 (if the king moves to the e-file) or capture on h7 (if the king moves to the g-file). } 2... Kf5 { Black avoids immediate draws, and moves the king further up the board. What does white play next? } (2... Kg5 3. Rxh7) (2... Kg3 3. Rxh7) 3. Rh5+! { Correct! White keeps up the checks, asking the king where it is going. } 3... Kf6 { The black king has reached f6, and black's intentions are revealed: he intends to block the next check with his bishop. What does white play? } (3... Kg6 4. Rxh7) 4. Rh1! { Correct! With the black king on f6, covering the g7-square, white seezes his chance to force a draw. } (4. Rh6+? Bg6 $19 { And black promotes next. }) 4... gxh1=Q { White threatened 5. Rg1 and 6. Rxg2, so black has no choice but to capture on h1. But unfortunately for him, promoting to a knight or bishop allows white to capture on h7, while promoting to a rook or queen leads to a draw by stalemate! (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Kubbel, 1934"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.05"] [UTCTime "12:28:59"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/8/4k2K/8/3B4/2p1pP2/2P5/4b3 w - - 0 1"] [SetUp "1"] { Even though both players have the same material, black has two dangerously far advanced pawns. How does white save a draw? } 1. Bxe3! { Correct! White eliminates the dangerous e-pawn, leaving black only with an advanced c-pawn. } 1... Bd2 { The white bishop is pinned to the king, and clearly white cannot afford to lose his bishop. How does he continue? } 2. Bg5! { Correct! White protects his bishop for now, without allowing black to recapture on d2 with his c-pawn. } (2. Bxd2? cxd2 { [%cal Gd2d1] }) 2... Kf5 { Black renews the threat on the white bishop, again forcing white to make a tough decision. How does white continue? } 3. f4! { Correct! This dual-purpose move blocks the attack on g5, and eliminates the f-pawn from the board. } (3. Bxd2? cxd2 { [%cal Gd2d1] }) 3... Bxf4 { Black again renews the threat on the bishop, and hopes to win the pawn endgame in case of an exchange. How does white shatter blacks hopes for a win? } 4. Kh5! { Correct! White sets up a stalemate trap, thereby either saving the draw or the bishop. If black does not capture, white can for instance play Be7-b4xc3 to force a draw. } (4. Bxf4? Kxf4 { [%cal Gf4e3,Ge3d2,Gd2c2] }) 4... Bxg5 { Black accepts his fate and the inevitable draw with a capture on g5: stalemate! (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Kubbel, 1935*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.13"] [UTCTime "12:02:03"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "7R/2kr3p/6Pp/8/8/6Pr/5K2/8 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. Kg2! Rh5 2. gxh7! Kd6 (2... Rg5 3. Rc8+) 3. Ra8! Rxh7 4. Ra6+ Ke5 (4... Ke7 5. Ra7+) 5. Ra5+ { And white wins the rook, and saves the draw! (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Liburkin, 1934"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.09"] [UTCTime "12:40:34"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/p7/P7/P7/P4B2/8/5k2/6bK w - - 0 1"] [SetUp "1"] { In this funny-looking position, white has far-advanced triple a-pawns, and black's pieces are poorly coordinated. How can white exploit these features to score the full point? } 1. Bc7! { Correct! White prepares to move his bishop to a strong square. } 1... Kf1 { Black is almost in zugzwang, and moves his king to make room for his bishop to move. How does white proceed? } 2. Bb6! { Correct! White posts his bishop on the strong b6-square, unafraid of a capture by the black pawn. } 2... Bf2 { Black understands that either capture on b6 is fatal, and so he has only one move not losing the bishop and the game. How does white continue? } (2... axb6? 3. a7 { And white promotes. }) (2... Bxb6? 3. axb6 { And one of the white pawns will promote. }) 3. Kh2! { Correct! White puts the question back in black's camp, on how he wants to deal with the awkward positioning of his pieces. } 3... Ke2 { Black again makes the only move not losing either the bishop or the important a-pawn. What does white play next? } (3... Be1 4. Bxa7 Bxa5 5. Be3 { And white will soon promote either of his pawns. }) (3... Ke1? 4. Kg2 { This only accelerates black's downfall, as black is already unable to cope with the threats now. }) 4. Kg2! { Correct! White again asks how black is going to deal with his awkward pieces, now that the three pieces in the corner have all moved up on the board. } 4... Be3 { Black again only has one option to keep the status quo. How does white continue? } 5. Kg3 { Correct! The same pattern as before continues, and black is again almost in zugzwang. } 5... Kd3 { Black again has no choice but to move the king up the board, while defending the bishop. How does white proceed? } 6. Kf3 { Correct! White again brings his king slightly closer to the queenside, keeping the black pieces in check. } 6... Bd4 { Black does not want to give up the important a-pawn, nor his bishop, so he again carefully moves the bishop one step closer to the queenside. What does white do? } 7. Kf4 { Correct! The white king creeps closer and closer to the queenside. } 7... Kc4 { Black again moves his king up the board, close to the white a-pawns. What does white play? } (7... Bc3 8. Bxa7 Bxa5 9. Bb8 (9. Bg1 Bc7+ 10. Kf5 Bb8 11. Ke6 Kc4 12. Kd7 Kb4 13. Kc8 Ka5 14. Kb7) 9... Bb6) 8. Ke4 { Correct! White again brings his king slightly closer. } 8... Bc5 { Black continues the same pattern again, of moving up the bishop one square. What does white do? } (8... Bc3 9. Bxa7 Bxa5 10. Bg1) 9. Ke5 { Correct! White again moves his king up the board, and now black is faced with a tough decision, as he cannot play Kb5. } 9... Kb4 { Black now moves his king sideways, as b5 is protected. What does white play? } 10. Kd5 { Correct! White forces the black bishop off the diagonal, after which white will be able to win the black a-pawn and the game. } 10... Be7 { Black moves the bishop off the diagonal, as taking on b6 is still fatal. What does white play next? } 11. Kc6 { Correct! White must collect the a7-pawn to win, and this is the easiest way to do it. } (11. Ke6 Kxa4 12. Kxe7 Kb5 13. Kd6 Kxa6 14. Kc6 { This barely wins as well, but is arguably a bit less straightforward. }) (11. Bxa7? Kxa5 { This throws the win away, as the pawns on a5 and a6 are lost by force. }) 11... Kxa4 { Black captures the most backward white pawn, but white has two more strong pawns left. How does he bring them to the other side? } 12. Kb7 { Correct! White wins the black a-pawn, and will then clear the way for the a6-pawn to promote. Black is defenseless against white executing this plan. (1-0) } (12. Bxa7 Kxa5 13. Kb7 { This also wins for white. }) * [Event "Beautiful Chess Studies (1): Liburkin, 1947"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.09"] [UTCTime "14:12:46"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/8/2bq4/4kp2/2B5/5P1Q/8/7K w - - 0 1"] [SetUp "1"] { While there is equal material for both sides, white has a clean-cut way to force a black resignation within a few moves. How does he do this? } 1. Qh8+! { Correct! White threatens the black king, and black has only one good reply to this check. } (1. Qh2+? f4 { And the position will likely head towards a draw. }) 1... Qf6 { Note that moving the king to f4 would have walked into a skewer by the white queen on h2. Therefore blocking the check with the queen is the only option for black. Now, what does white play? } (1... Kf4 2. Qh2+ { And white wins the black queen. }) 2. Qb8+! { Correct! Black is again in check, and still has few options of dealing with this. } (2. Qh2+? f4 { And the position will likely head towards a draw. }) 2... Qd6 { Blocking the check is again the only option, as Kd4 walks into Qb2+. How does white proceed now? } (2... Kd4 3. Qb2+ { And white will win the black queen on the next move. }) 3. Qb2+! { Correct! White keeps harassing black, leaving black with few good replies. } 3... Qd4 { This is again the only move, as Kf4 Qh2+ loses the queen to a skewer. How does white proceed? } (3... Kf4 4. Qh2+ { And white wins the black queen on the next move. }) 4. Qh2+! { Correct! White keeps up harassing the black king. } 4... Qf4 { Black again blocks the check with his queen, asking white what he is really trying to achieve with all these checks. Is white actually making any progress? } (4... f4 5. Qh8+ { And black also loses his queen. }) 5. Qh8+! { Correct! Yes, white has made significant progress, as the black queen now cannot interfere with the checks anymore. The black king is now forced to move to an awkward square. } 5... Kd6 { Black's only reply is Kd6, but he can already see the doom hanging over his position. How does white finish the game? } 6. Qb8+! { Correct! After a strange carousel, the black king and queen have finally been skewered, and white will soon win the black queen and the game. (1-0) } * [Event "Beautiful Chess Studies (1): Loyd, 1860*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.17"] [UTCTime "14:11:07"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/8/8/8/B6n/7p/6k1/4K3 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. Bd7! (1. Bc6+? Kg1 2. Bh1? (2. Bd7 h2 3. Bc6 Ng2+) 2... Kxh1 3. Kf2 Kh2 4. Kf1 Kg3 { And black wins. }) 1... h2 (1... Nf3+ 2. Ke2 Nd4+ 3. Ke3 h2 4. Kxd4 h1=Q 5. Bc6+ { And white also saves the draw. }) 2. Bc6+! Kg1 (2... Nf3+ 3. Ke2 h1=Q 4. Bxf3+ { And white saves the draw. }) 3. Bh1!! Ng2+ (3... Kxh1 4. Kf2! { And white saves the draw in a similar way as in the main line. } (4. Kf1? Nf5 5. Kf2 Ng3 { And black wins. })) 4. Ke2! (4. Bxg2? Kxg2 { And black wins. }) 4... Kxh1 5. Kf1! (5. Kf2? Ne3 { And white cannot keep the black king caged in the corner. }) 5... Ne3+ 6. Kf2 { And black cannot prevent white from repeating Kf1-f2-f1-f2-... until the end of time, thereby saving the draw! (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Mattison, 1914*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.15"] [UTCTime "14:31:00"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "6k1/8/3p4/5n2/6K1/8/4p3/3N1R2 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. Rg1! exd1=R { See the analysis for how 1... exd1=Q+ also leads to a draw. } (1... exd1=Q+ 2. Kh3+! Qxg1) 2. Kh5+! Rxg1 { And white is stalemated! (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Mironenko, 1983"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.09"] [UTCTime "16:11:40"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/3p1p1k/5P1q/5P2/8/4p3/4p2R/4K3 w - - 0 1"] [SetUp "1"] { In this position, white is down a lot of material, but his rook is hanging in there, threatening to take the black queen. Unfortunately that would leave white down several pawns, so white is thinking about resignation. Can you change his mind, and find a drawing line? } 1. Rh5! { Correct! White sees that his king is almost in stalemate, and dares the black queen to take the rook. } 1... d6 { Black sees that taking is a draw, and therefore he cannot move either his queen or his king. What does white play now? } (1... Qxh5 { Stalemate! }) (1... d5 2. Rh2 d4 3. Rh5 d3 4. Rxh6+ Kxh6) 2. Rh2! { Correct! The stalemate threat is renewed, again leaving black with few options. } 2... d5 { Black's goal is to lift the stalemate with a pawn check on d2. How does white continue? } (2... Qxh2 { Stalemate! }) 3. Rh5! { Correct! White is happy to wait for black's d-pawn to advance further. } 3... d4 { Having no other choice, black yet again advances the d-pawn, hoping to give a check in two moves, after which he will not think twice about capturing that annoying white rook. What does white play? } (3... Qxh5 { Stalemate! }) 4. Rh2! { Correct! White is still happy to repeat moves, waiting for the d-pawn to move further down the board. } 4... d3 { Black again advances his pawn, and is ready for a check on d2. What does white play? } (4... Qxh2 { Stalemate! }) 5. Rxh6+! { Correct! White recognized the threat of 5... d2+, and noticed that the white king is now in stalemate even when the black queen is off the board! } (5. Rh5? d2+! 6. Kxe2 Qxh5+ { And black wins. }) 5... Kxh6 { Black has no choice but to recapture the rook, leading to a stalemate! (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Pogosyants, 1959*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.04.01"] [UTCTime "00:16:50"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "4R3/8/3N1qn1/8/5k2/7K/6P1/8 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. Re4+ Kg5 2. Re5+ Kh6 (2... Nxe5 3. Ne4+ { And white wins the black queen. }) (2... Qxe5 3. Nf7+ { And white wins the black queen. }) 3. Rh5+ Kxh5 (3... Kg7 4. Ne8+ { And white wins the black queen. }) 4. g4+ Kh6 (4... Kg5 5. Ne4+ { And white wins the black queen. }) 5. g5+ Qxg5 (5... Kxg5 6. Ne4+ { And white wins the black queen. }) 6. Nf7+ { Correct! White finally forks the king and queen and saves the draw! (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Pogosyants, 1961*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.12"] [UTCTime "22:34:23"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "4b3/8/B6K/8/4N2k/5Pp1/8/8 w - - 0 1"] [SetUp "1"] { One of Pogosyants' first chess compositions, and arguably also one of his best. White is up a piece, but the black pawn threatens to promote in two moves. At first sight it might seem easy to stop the pawn, but things are harder than they seem... White to play and win! } 1. Bf1! { Correct! The black g-pawn needs to be stopped, and this is the only sensible way to do it (without giving up the knight). } 1... Bb5 { Black has some tricks up his sleeve, and tries to distract the bishop from covering the g2-square. How does white reply? } 2. Bg2! { Correct! White avoids the black bishop, and blocks the g-pawn. All hope seems lost for black, but he has another trick up his sleeve... } 2... Bf1 { Black tries to set up a stalemate by sacrificing the bishop and pawn. How does white respond? } 3. Bxf1! { Correct! This bishop cannot be avoided, and needs to be captured now. Black still has one move left he can make. } 3... g2 { Black sacrifices his g-pawn, and offers a draw - after all, capturing on g2 would lead to an instant stalemate and a draw. Can you find the spectacular refutation of black's stalemate plans? } 4. Ng3!! { Correct! This brilliant and completely unexpected move prevents a stalemate, protects f1 in case of a capture, and sets up a mate on f5 in case the pawn promotes on g1 instead. All three main black replies lose, and this truly remarkable move is the only move that guarantees white the win! } 4... g1=Q { Black sees that the bishop on f1 is protected, and that capturing the knight will cost him his g-pawn. He decides to get a queen on g1 instead. How does white finish the game? } (4... gxf1=Q 5. Nxf1 { And white wins with his extra f-pawn. }) (4... Kxg3 5. Bxg2 { And black cannot take the bishop, as the f-pawn would promote. }) 5. Nf5# { Correct! White's last move not only lifted the stalemate and protected f1, but also set up a mate threat on f5, in case the pinned g-pawn left the f1-h3 diagonal. White wins! (1-0) } * [Event "Beautiful Chess Studies (1): Pogosyants, 1961 (ii)*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.04.01"] [UTCTime "00:22:22"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "6n1/3p4/3P1k2/7R/7K/8/8/8 w - - 0 1"] [SetUp "1"] { Although white is up an exchange, black threatens to take white's last remaining pawn in a few moves, forcing a draw. How does white make use of the awkward black pieces to force resignation? } 1. Rh8! { Correct! White attacks the (trapped) black knight, forcing the black king to retreat. } 1... Kg7 { The black king retreats, and asks white the question what the point of the rook move was. How does white continue? } 2. Kg5! { Correct! White ignores the threat against the rook, and activates the king. } 2... Kxh8 { Black seizes the opportunity to take the rook (2... Nf6 3. Rh4! would have led to a winning position for white as well). How does white continue here, a piece down? } (2... Nf6 3. Rh4 Ne8 4. Rd4 { And white will eventually convert this endgame to a win. }) 3. Kg6! { Correct! The black king and knight are trapped, and black is forced to give up his knight. Afterwards, having the opposition, white will win the black d-pawn and march his pawn to victory. (1-0) } * [Event "Beautiful Chess Studies (1): Pogosyants, 1962"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.10"] [UTCTime "15:02:34"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "q1Nk4/1p2p3/p1P5/8/KP6/8/4P3/7R w - - 0 1"] [SetUp "1"] { In this position black is up a queen for a rook and knight, but the queen has found itself in an awkward position on a8. How can white exploit the poor black coordination, to score a full point? } 1. Nb6! { Correct! The black queen is attacked, and unfortunately for black it does not have many good squares to move to. } 1... Qa7 { Black saw that 1... Qb8? loses to 2. Rh8+, so he plays the only move that does not immediately lose the black queen. How does white keep up the pressure? } (1... Qb8? 2. Rh8+ { And white wins the black queen and the game. }) 2. c7+! { Correct! White plays another forceful move, threatening to promote, and thereby forcing black's response. } 2... Kxc7 { Black takes the pawn, and threatens to take the white knight. How does white continue? } 3. Rc1+! { Correct! White correctly sees that black has few good responses to this check, and the most natural reply loses as well. } 3... Kxb6 { All other responses lose even faster, so black goes for the most challenging response, taking the white knight. How does white proceed? } (3... Kb8? 4. Rc8#) (3... Kd8? 4. Rc8#) (3... Kd6? 4. Nc8+) 4. Rc8! { Correct! White is now down a queen for a rook, but this move demonstrates the supremacy of the white rook over the black queen and king. } 4... a5 { Black attempts to free the queen from her cage. What does white play? } 5. b5! { Correct! White keeps the a-file closed, and controls the a6-square with the pawn. The black king and queen are helpless. } 5... e6 { The only moves black has left that do not immediately lose the queen, involve moving his e-pawn. How does white respond? } 6. e3! { Correct! Black and white are in a perpetual zugzwang, and it is important that white wins this tempo game. The careless 6. e4? e5! would have forced white to release black from the bind. } 6... e5 { Black makes his last non-losing move. What does white play? } 7. e4! { Correct! White puts black in zugzwang, and black is forced to give up the queen for at most a white pawn. (1-0) } * [Event "Beautiful Chess Studies (1): Pogosyants, 1962 (ii)"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.10"] [UTCTime "16:32:02"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "1R6/p7/k7/3pp3/1K6/P2P4/p4B2/8 w - - 0 1"] [SetUp "1"] { White has cornered the black king, but appears to be too late to either stop the black a-pawn or checkmate black. How does he save the draw? } 1. Bd4! { Correct! White makes a last attempt to stop the black pawn from promoting, forcing black to take the bishop. } 1... exd4 { Black takes the piece with a smile, thinking victory will soon be his. How does white prove him wrong? } 2. Ka4! { Correct! White steps aside with his king, seemingly surrendering to the fact that black will get a queen. } 2... a1=Q { Black does not see white's cunning plan, and gets a queen. How does white continue? } 3. Rb1! { Correct! White spotted a stalemate, and sends his rook on a desperado trip. } 3... Qc3 { Black recognizes that 3... Qa2 4. Rb2! does not change the status quo, and sees that he can also move his queen to c3. What is white's response? } 4. Rb6+! { Correct! The white rook now sacrifices itself on b6, leaving black no choice but to take it. } 4... axb6 { Regardless of whether black takes the rook with his king or pawn, the result is the same: stalemate! (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Pogosyants, 1963*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.04.01"] [UTCTime "00:31:59"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "2KQ4/1r6/k7/Pn2q3/8/8/8/7R w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. Rh6+! Ka7 2. Qb6+! Rxb6 3. axb6+! Ka6 (3... Ka8 4. b7+ Ka7 5. Ra6+ Kxa6 6. b8=N+) 4. b7+! Ka7 (4... Ka5 5. Ra6+ Kxa6 (5... Kb4 6. b8=Q) 6. b8=N+) 5. Ra6+!! Kxa6 6. b8=N+!! Kb6 (6... Ka7 7. Nc6+) (6... Ka5 7. Nc6+) 7. Nd7+ { And white wins the black queen! (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Pogosyants, 1964*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.04.01"] [UTCTime "00:36:18"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "7b/8/4N1pq/6r1/6k1/5R2/5PK1/8 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. Rf4+! Kh5+ 2. Kh3! Rg3+! (2... Rg4 3. Rxg4 g5 4. Rxg5+ { And white also forces a draw. }) 3. fxg3 g5 4. Rh4+! gxh4 5. g4+! Kg6 6. g5! Qh5 (6... Qh7 7. Nf8+) 7. Nf4+ { White wins the black queen, and black is left with a bishop of the wrong color to promote the h-pawn! (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Pogosyants, 1964 (ii)*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.04.01"] [UTCTime "00:40:39"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/1n6/2k3P1/p7/K7/8/P6b/8 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. g7! Nc5+ 2. Ka3! (2. Kxa5? Be5 3. g8=Q Bc3#) 2... Bf4! 3. Kb2! (3. g8=Q? Bc1#) 3... Be5+ 4. Ka3! Bxg7 { White is stalemated! (1/2-1/2) } (4... Bf4 5. Kb2 Be5+ 6. Ka3 { Black has no better than either a repetition or a stalemate. }) * [Event "Beautiful Chess Studies (1): Pogosyants, 1967*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.04.01"] [UTCTime "00:44:13"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "1k2N3/bp6/8/K7/6bq/8/2Q5/8 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. Qc7+! Ka8 2. Qc8+! Bxc8 (2... Bb8 3. Nc7+ Ka7 4. Nb5+ Ka8 5. Nc7+ { And white has a perpetual check, forcing a draw. }) 3. Nc7+! Kb8 4. Na6+! bxa6 { And white is stalemated! (1/2-1/2) } (4... Ka8 5. Nc7+ Kb8 6. Na6+ { Black has no better than either a perpetual check or a stalemate. }) * [Event "Beautiful Chess Studies (1): Pogosyants, 1969"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.09"] [UTCTime "15:19:45"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "r1b5/5pPp/2K2k1p/5N2/3P2PP/8/8/8 w - - 0 1"] [SetUp "1"] { White has a strong pawn on g7, ready to promote. However, black has set up a discovered check with his rook to capture white's promoted piece. How does white force black to his knees? } 1. g8=N+! { Correct! Promoting to a queen would walk into a discovered check, so a knight promotion with check is white's best chance. } (1. g8=Q Bb7+ 2. Kxb7 Rxg8 { And white will certainly not win. }) 1... Kg6 { Black only has one move, as Ke6 would run into Ng7#. What does white play next? } (1... Ke6? { This walks right into mate in one. } 2. Ng7#) 2. Nge7+ { Correct! With tempo, the white knight on g8 sets out on a journey to greener pastures. } (2. Nfe7+? Kg7 { And black is better. }) 2... Kf6 { Black had no choice but to play this move. How does white continue? } 3. Nd5+ { Correct! Black is checked again, and the knight from g8 continues its journey. } 3... Kg6 { Black again has no choice, as Ke6 would run into Ng7#. Now, what does white play? } (3... Ke6 4. Ng7#) 4. Nf4+ { Correct! Black is checked again, with the same knight that came from g8. } (4. Nfe7+ Kg7 5. Nb6 { This also wins, but is not as elegant and strong as the text. }) 4... Kf6 { Black again only has one move. How does white continue? } 5. Nh5+ { Correct! The white knight from g8 now finds itself on h5, where it covers g7, and therefore forces the black king to move into a different direction. } 5... Ke6 { Now Kg6 would have walked into Ne7#, so the king moves to e6. Did white achieve anything? } (5... Kg6 6. Ne7#) 6. Nhg7+ { Correct! The knight from g8 continues its journey, harassing the black king from various different angles. } (6. Nfg7+ Ke7) 6... Kf6 { Black again has no choice but to move the king back to f6. What does white play now? } 7. Ne8+ { Correct! The white knight has moves for its sixth consecutive time in a row, now reaching e8. From here it also covers g7, thereby forcing the black king to e6. } 7... Ke6 { As Kg6 Ng7# ends the game, the king has no choice but to move to e6. What does white play next? } 8. Nc7+ { Correct! Yet another knight check we have not yet seen, and the black king again needs to step aside. } (8. Nfg7+? Ke7) 8... Kf6 { Black has no choice but to move back to f6 for the fourth time. What does white play next? } 9. Nxa8 { Correct! White cannot checkmate black just yet, but capturing the rook guarantees a big material advantage, which (with some effort) he will be able to convert into a win. (1-0) } * [Event "Beautiful Chess Studies (1): Pogosyants, 1979"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.09"] [UTCTime "16:09:34"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "4qn1k/6pP/8/3N4/8/8/Q7/2K5 w - - 0 1"] [SetUp "1"] { In this position, both sides have equal material, but black's king is not feeling very safe. How does white exploit this to quickly force resignation? } 1. Ne7! { Correct! This discovered attack sets up a checkmate on g8, and blocks the black queen from giving any checks against the white king. } 1... Nxh7 { Black cannot capture on h7 with the king due to the deadly queen check on h2, while simply moving the knight would run into 2. Qg8+ Qxg8 3. hxg8=Q#. With this move, black thinks he has successfully defended against all white's threats. How does white prove him wrong? } (1... Qxe7 2. Qg8#) (1... Ne6 2. Qxe6 Kxh7 3. Qh3+) (1... Kxh7 2. Qh2+ Qh5 3. Qxh5#) 2. Qg8+! { Correct! This queen check lures the queen away from e8, and locks up the black king in the corner. } (2. Ng6+? Qxg6 3. Qa8+ Nf8 4. Qxf8+ Kh7) 2... Qxg8 { Black has no choice to recapture. How does white finish the game? } 3. Ng6# { Correct! Black had no choice but to cooperate with this pretty smothered checkmate! (1-0) } * [Event "Beautiful Chess Studies (1): Pogosyants, 1980"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.08"] [UTCTime "12:21:23"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "Kb6/1pk5/8/PP6/8/8/P7/8 w - - 0 1"] [SetUp "1"] { White has forced his king deep into black's camp, putting pressure on the black fortress formed by the king and bishop. How does white effortlessly convert this into a win? } 1. b6+! { Correct! White further restricts the black pieces, while further advancing his own pawns. } (1. a6? bxa6 2. bxa6 Kb6 { And the game will be a draw. }) 1... Kc8 { Black needs to keep protecting the bishop on b8, so the king steps back. How does white continue? } 2. a6! { Correct! White clears the way for the b-pawn to advance further, by sacrificing his advanced a-pawn. } 2... bxa6 { Black has no choice but to accept the sacrifice, as otherwise the three white pawns will be overwhelming. How does white proceed? } (2... Be5 3. axb7+ Kd7 4. b8=Q { And white wins. }) 3. b7+! { Correct! White pushes his b-pawn further, forcing the black king to block his own bishop again. } 3... Kc7 { The black king moves back to c7, thereby blocking its own bishop on b8. How does white exploit this awkwardness in black's camp? } 4. a3! { Correct! Both sides only have their a-pawn left to move, and this pawn move ensures that black will be the first to run out of moves. } (4. a4? a5! { And white is stalemated! }) 4... a5 { Black cannot move his king and bishop, so he also moves his a-pawn. What does white play next? } 5. a4 $22 { Correct! This is white's only move, but it is also winning, as black is now in zugzwang - he has to give up his fortress. } 5... Kc6 { Black reluctantly moves his king away from c7. How does white proceed? } (5... Ba7 6. Kxa7 { This loses as well. }) 6. Kxb8 { Correct! The white b-pawn is now unstoppable, and white will soon win the game. (1-0) } * [Event "Beautiful Chess Studies (1): Pogosyants, 1987"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.08"] [UTCTime "12:00:21"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "6NR/6kp/4p3/4K3/8/8/8/8 w - - 0 1"] [SetUp "1"] { In this position, the white pieces have seemingly gotten themselves into major trouble, and the black king threatens to take the rook to force a draw. How does white miraculously win this position? } 1. Nh6! { Correct! White threatens to save the rook and the win, forcing black to capture the rook. } 1... Kxh8 { Black takes the rook, and offers a draw. How do you continue? } (1... Kxh6 2. Kxe6 { And white will easily convert with an extra rook. }) 2. Kf6! { Correct! White traps the black king in the corner, leaving black no option but to move his e-pawn. } (2. Kxe6 Kg7 { If the black king is allowed to escape the corner, a draw becomes inevitable. }) 2... e5 $7 { Black runs with his e-pawn, and offers white a draw again. Do you accept? } 3. Kf7! { Correct! White plays on, having bigger plans than a draw. } (3. Nf7+? Kg8 { And black escapes. }) 3... e4 $7 { Black still has no choice but to push his e-pawn. How does white continue? } 4. Kf8 { Correct! White further increases the bind on the black king. } (4. Kf6 { Technically this also wins, but it is two moves slower. } 4... e3 5. Kf7 e2 6. Kf8 e1=Q 7. Nf7#) 4... e3 $7 { Black yet again moves his e-pawn. How does white finish the game? } 5. Nf7# { Correct! Black is mated with the lone knight and king. Although usually a knight and king do not suffice to win, this is one of the few exceptions where black was stuck in a mating net. (1-0) } (5. Kf7 { If white wants to make black suffer for his draw offers, he can even delay the mate by two moves. } 5... e2 6. Kf8 e1=Q 7. Nf7#) * [Event "Beautiful Chess Studies (1): Prokes, 1948"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.09"] [UTCTime "14:43:09"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "5BK1/7P/5bk1/8/8/8/p7/8 w - - 0 1"] [SetUp "1"] { In this position, both sides have pawns which almost reached their destination squares. However, with the black bishop covering the important long diagonal (and both promotion squares), it seems that black will win the game. How does white miraculously save the draw in just a few moves? } 1. h8=Q { Correct! Even though black is covering h8, white promotes anyway. } (1. Bg7 Bxg7 2. h8=Q Bxh8 { And white loses. }) 1... Bxh8 { Black of course must capture the white queen if he wants to win. What does white play? } (1... a1=Q 2. Qh7+ { And white will be able to hold the draw. }) 2. Bg7! { Correct! This strange move prevents black from getting a queen, leaving black with only one candidate move... } 2... Bxg7 { Black must capture the bishop (as otherwise white will simply capture the black bishop), but unfortunately for him, the result is a stalemate! (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Prokes, 1948 (ii)"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.09"] [UTCTime "16:18:26"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/5p2/p3P3/k2K4/8/1P6/1Pb5/8 w - - 0 1"] [SetUp "1"] { Although a piece down, white has a very strong pawn on e6, and the black king has seemingly misplaced itself somewhat on a5. How can white exploit these features to score the full point? } 1. e7! { Correct! White threatens to get a queen, forcing black's reply. } (1. exf7? Bxb3+) 1... Bxb3+ { The bishop captures with check, and aims to stop the e-pawn from a4. How does white continue? } 2. Kc5! { Correct! White sees that he has another chance of winning the game, if black tries to stop the pawn. } 2... Ba4 { Allowing white to promote is not an option for black, so he plays Ba4 anyway. How does white win the game? } 3. b4# { Correct! Black may have stopped the e-pawn from reaching the promotion square, but he has trapped his own king. Checkmate! (1-0) } * [Event "Beautiful Chess Studies (1): Raina, 1971"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.09"] [UTCTime "15:43:30"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "4R3/5kp1/8/6PK/8/8/5p2/8 w - - 0 1"] [SetUp "1"] { In this position white is up a rook, but the black pawn on f2 is about to become a queen. How does white save half a point with a few accurate moves? } 1. Re4! { Correct! This square and only this square will save the draw, as we will see soon. } 1... f1=Q { Black needs to get a queen now that he still has the chance. What was the point of white's last move? } (1... g6+ 2. Kg4 f1=Q 3. Rf4+ { And white also makes a draw. }) 2. Rf4+! { Correct! The white rook sacrifices itself on f4, forcing the black queen to capture it. } (2. g6+ { This also works. } 2... Kg8 (2... Kf6 3. Rf4+ Qxf4) 3. Re8+ Qf8 4. Rxf8+ Kxf8 { And white also makes a draw. }) 2... Qxf4 { Not taking would allow white to win, so black captures the rook. What does white play next? } 3. g6+! { Correct! This pawn check leaves the white king in a stalemate position, and there is nothing black can do about it. } 3... Kf6 { And white is stalemated! (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Sarychev, 1948"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.05"] [UTCTime "12:43:35"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "2k5/3N4/8/8/8/7B/8/3b1K2 w - - 0 1"] [SetUp "1"] { In this endgame, white is up a piece, but it does not seem enough to win: only if he can capture the black bishop soon, will he have realistic winning chances. How does he achieve the seemingly impossible, and win the game? } 1. Ke1! { Correct! White attacks the black bishop, forcing it to move closer to the white knight. } 1... Bc2 { Black finds the only square that prevents an immediate discovered attack on the bishop. How does white continue? } (1... Bb3 2. Nc5+) (1... Ba4 2. Nb6+) (1... Bf3 2. Ne5+) (1... Bh5 2. Nf6+) 2. Kd2! { Correct! White continues harassing the black bishop, forcing it to move again. } 2... Bb1 { The black bishop again crawls away, for now still staying out of reach of the knight. How does white proceed? } (2... Be4 3. Nc5+) (2... Bg6 3. Ne5+) (2... Bh7 3. Nf6+) (2... Bb3 3. Nc5+) (2... Ba4 3. Nb6+) 3. Kc1! { Correct! White again threatens the bishop, and forces it to make another tough choice. } 3... Ba2 { The bishop finds another square to hide on, without falling for a discovered attack. However, he is still not out of the woods yet. What does white play next? } (3... Bd3 4. Nc5+) (3... Be4 4. Nc5+) (3... Bg6 4. Ne5+) (3... Bh7 4. Nf6+) 4. Kb2! { Correct! White hits the bishop again, but this time the bishop has no "safe" squares anymore. } 4... Bg8 { The black bishop has had enough of the white king, and runs away. How can white finally win the bishop? } (4... Bc4 5. Nb6+) (4... Bd5 5. Nb6+) (4... Bf7 5. Ne5+) 5. Nf6+ { Correct! White finally delivers the highly anticipated discovered check, with devastating effect. Black loses the bishop and, if white knows how to mate with knight and bishop, the game. (1-0) } * [Event "Beautiful Chess Studies (1): Selesniev, 1916*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.15"] [UTCTime "14:49:02"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/2P5/1K6/3k4/8/p7/6p1/B7 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Bd4! g1=Q!? (1... Kxd4 2. c8=Q g1=Q 3. Qc5+! { And white wins the black queen. }) 2. Bxg1 a2 3. Bd4! Kxd4 4. c8=Q a1=Q 5. Qh8+ { And white wins the black queen and the game! (1-0) } * [Event "Beautiful Chess Studies (1): Selman, 1940*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.09"] [UTCTime "16:51:54"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "N7/8/8/7p/2p3pk/7P/7K/8 w - - 0 1"] [SetUp "1"] { White to play and draw! } 1. Nc7 c3 2. Nb5 c2 3. Nd4 c1=Q 4. Nf3+ gxf3 { Stalemate! (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Tavariani, 1982*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.04.04"] [UTCTime "16:50:22"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "3k4/1BR5/8/8/p7/2K5/pP6/8 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Rh7! a1=Q 2. Rh1! Qa2 3. Rd1+! Kc7 4. Bd5! { And the black queen is lost! (1-0) } * [Event "Beautiful Chess Studies (1): Troitsky, 1896*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.12"] [UTCTime "23:00:26"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/8/8/5K2/7p/8/3N4/3B2bk w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Bf3+! Kh2 2. Nf1+! Kh3 3. Bh1! Bh2 (3... Bc5 4. Kf4 Bd6+ 5. Kf3 { And we get a similar position as in the main line. }) 4. Ke4! Bc7 (4... Kg4 5. Nxh2+) 5. Kf3! Bf4 6. Bg2# { Checkmate! (1-0) } * [Event "Beautiful Chess Studies (1): Troitsky, 1898*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.12"] [UTCTime "22:57:09"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "6k1/7b/8/5pK1/5P2/8/6N1/8 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Kh6! Kh8 2. Nh4! Kg8 (2... Bg8 3. Ng6#) 3. Nf3! Kh8 4. Ne5! Kg8 (4... Bg8 5. Ng6#) 5. Nc6 (5. Nd7 Kh8 6. Nf8 Bg8 7. Ng6# { This wins for white as well. }) 5... Kh8 6. Ne7! Bg8 (6... Bg6 7. Nxg6+) 7. Ng6# { Checkmate! (1-0) } * [Event "Beautiful Chess Studies (1): Troitsky, 1909*"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.12"] [UTCTime "23:04:17"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/4K3/8/8/3N4/8/pn1B4/k7 w - - 0 1"] [SetUp "1"] { White to play and win! } 1. Nc2+! Kb1 $7 2. Na3+! Ka1 $7 3. Bh6! Nd3 4. Bg7+! Nb2 5. Kf6! Na4 6. Kf5+ (6. Ke6+ Nb2 7. Ke5 { This transposes to the main line. }) 6... Nb2 7. Ke5! Nd3+ 8. Ke4+ (8. Kd5+ Nb2 9. Kd4 { This transposes to the main line. }) 8... Nb2 9. Kd4! Nd1 10. Kd3+ (10. Kc4+ Nb2+ 11. Kc3 { This transposes to the main line. }) 10... Nb2+ 11. Kc3! Na4+ 12. Kc2+ (12. Kb3+ Nb2 13. Bxb2# { This is equivalent to the main line. }) 12... Nb2 13. Bxb2# { Checkmate! (1-0) } * [Event "Beautiful Chess Studies (1): Wotawa, 1963"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.04.04"] [UTCTime "16:52:29"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "3B2K1/8/3r2pk/p5p1/6P1/8/p7/8 w - - 0 1"] [SetUp "1"] { Although black is up a lot of material, threatens white's bishop and threatens to get a queen, white has strong threats against the black king as well. How can white make the most of these threats to force a draw? } 1. Be7 { Correct! White moves the bishop away from danger, and threatens a decisive check on f8. } 1... Rd8+ { Black sees that getting a queen loses to a check on f8, and so first sacrifices his rook, to distract the white bishop. How does white respond? } 2. Bxd8 { Correct! The rook must be captured, giving black time to promote his pawn. } 2... a1=Q { As expected, black gets a queen, now that there are no direct mate threats against his king. How does white save himself from this seemingly hopeless position? } (2... a1=B? 3. Be7) 3. Bf6! { Correct! The bishop attacks the black queen, and threatens a mate on g7, in case it moves. Note that if black captures the bishop, white is stalemated! } (3. Be7 Qg7#) 3... Qa2+ { Black avoids the stalemate, and gains a tempo on the white king to deal with the mate threat later. What should white play? } (3... Qxf6 { Stalemate! }) 4. Kh8! { Correct! The white king hides in the corner, invulnerable to further checks by the black queen. } 4... Qf7 { Black needs to defend against white's mate threat on g7, and therefore brings the queen to f7. How does white continue? } 5. Bxg5+! { Correct! With no more mate threats, but with the white king trapped in the corner, the white bishop sacrifices itself on g5. } 5... Kxg5 $7 { Black has no choice but to capture the bishop, leading to a stalemate! (1/2-1/2) } * [Event "Beautiful Chess Studies (1): Zachodjakin, 1961"] [Site "https://lichess.org/study/iDSPaPWA"] [UTCDate "2018.03.05"] [UTCTime "11:55:41"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "2N5/4P3/8/8/k7/4q3/K2b4/8 w - - 0 1"] [SetUp "1"] { White is a queen down and is in danger of being checkmated in two, but fortunately he has one last trump card: the pawn on e7. How does he manage to convert this seemingly lost position to a draw? } 1. Nb6+! { Correct! White gains a tempo on the black king, to reroute his knight to greener pastures. Note that this knight is immune from capture, as the black queen needs to prevent white from getting his own queen. } 1... Kb5 { Black's last move sidesteps forks on c4 and d5, and he now threatens both the knight and the pawn. How does white keep his drawing chances alive? } (1... Ka5 { Moving the king to a5 allows a nasty fork on c4. } 2. Nc4+) (1... Kb4 { Stepping aside allows a royal fork on d5. } 2. Nd5+) (1... Qxb6 { Taking the knight allows white to get a queen of his own. } 2. e8=Q+) 2. Nd5! { Correct! White saves the knight and pawn, and gains a tempo on the black queen. } (2. Nc8? { Going back to c8 allows black to win the knight and the game with Qe6+. } 2... Qe6+ 3. Kb2 Qxc8) 2... Qe6 { Black had no immediate way to checkmate white, and therefore decided to pin the white knight (preventing any knight jumps), while still covering the e8-square to stop white from getting a queen. How does white force a draw anyway? } (2... Qa7+ { This check does not solve black's problems. } 3. Kb1! Qg1+ 4. Ka2! { And black has no choice but to accept the draw soon. }) 3. e8=Q+! { Correct! White sacrifices his pawn, to unpin the knight and set up a devastating fork. } (3. Kb2? Kc5 { And black will soon win the pawn on e7. }) 3... Qxe8 { How does white finally make use of the awkward positioning of the black major pieces? } 4. Nc7+ { Correct! White sacrificed his pawn to win the black queen with his last remaining piece: his knight. (1/2-1/2) } * ././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootpychess-1.0.0/learn/lessons/lichess_study_beta-lichess-practice-queen-vs-7th-rank-pawn_by_arex_2018.04.02.pgnpychess-1.0.0/learn/lessons/lichess_study_beta-lichess-practice-queen-vs-7th-rank-pawn_by_arex_2018.0000644000175000017500000006613513365545272032472 0ustar varunvarun[Event "(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: Queen in front = Win"] [Site "https://lichess.org/study/pt20yRkT"] [UTCDate "2018.04.02"] [UTCTime "23:23:52"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "7K/8/Q7/8/8/6k1/5p2/8 w - - 0 1"] [SetUp "1"] {Checkmate the opponent In this study, we're going to look at the endgame where one side has a Queen and the other side has a pawn on the 7th rank. We're going to look at the following situations: 1) Queen in front of the pawn = Win 2) Not a Bishop or Rook pawn = Win 3) Rook or Bishop pawn without King assistance = Draw 4) Rook or Bishop pawn with King assistance = Win Let's start with a simple exercise to prove a first point: If the Queen can get in front of the pawn, the side with the Queen will win. Win this game.} * [Event "(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Not a Bishop or Rook pawn = Win"] [Site "https://lichess.org/study/pt20yRkT"] [UTCDate "2018.04.02"] [UTCTime "23:32:24"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "7K/8/1Q6/8/8/8/3kp3/8 w - - 0 1"] [SetUp "1"] {[%cal Gb6d4]} {[%csl Ra2,Gb2,Rc2,Gd2,Ge2,Rf2,Gg2,Rh2]} {If the pawn on the 7th rank is NOT a Bishop or Rook pawn, the side with the Queen can win. The key to winning these positions is to get our King near the pawn so we can capture it safely. To do this, we must force Black to block their own pawn with their King. This will give us a free move which we can use to get our King closer.} { Get your Queen closer to the black King and pawn, without letting Black promote. } 1. Qd4+ { Black does not want to block their own pawn from promoting. That would give White a free move to bring their King closer. } { [%csl Re1,Gc2,Gc1][%cal Rd2e1,Gd2c2,Gd2c1] } 1... Kc2 { We threaten the pawn. } { [%cal Gd4e3] } 2. Qe3 { Exactly! Black has to defend the pawn in the only way they can. } 2... Kd1 { Now we check the King and attack the pawn at the same time. } { [%cal Ge3d3] } 3. Qd3+ { This forces Black to block their own pawn, as Kc2 which is the only other legal move would lose the pawn immediately. } { [%cal Rd1c1,Gd1e1] } 3... Ke1 { Now we have gained a free move! What should we do with it? } { [%cal Gh8g7] } 4. Kg7 { Exactly, we bring the King closer. Now, Black only has two legal moves. Stepping into the pin with Kf1 gives White another free move immediately, so Black will normally play Kf2. } { [%cal Re1f1,Ge1f2,Bd3f1] } 4... Kf2 { Many moves are winning for White, but the most efficient technique is to pin the pawn to the King. } { [%cal Gd3d2] } 5. Qd2 Kf1 { We repeat the technique. Force the black King to block their own pawn or to step away from it. } { [%cal Gd2f4] } 6. Qf4+ Kg2 { Threaten the pawn. } { [%cal Gf4e3] } 7. Qe3 Kf1 { We check the King and attack the pawn at the same time. } { [%cal Ge3f3] } 8. Qf3+ Ke1 { White gains another free move! } { [%cal Gg7f6] } 9. Kf6 Kd2 { Pin! } { [%cal Gf3f2] } 10. Qf2 Kd1 { Force the black King to block their own pawn or to step away from it. } { [%cal Gf2d4] } 11. Qd4+ Kc1 { Threaten the pawn. } { [%cal Gd4e3] } 12. Qe3+ Kd1 { We check the King and attack the pawn at the same time. } { [%cal Ge3d3] } 13. Qd3+ Ke1 { White gains another free move! } { [%cal Gf6e5] } 14. Ke5 Kf2 { Pin! } { [%cal Gd3d2] } 15. Qd2 Kf1 { Force the black King to block their own pawn or to step away from it. } { [%cal Gd2f4] } 16. Qf4+ Kg1 { Threaten the pawn. } { [%cal Gf4e3] } 17. Qe3+ Kf1 { We check the King and attack the pawn at the same time. } { [%cal Ge3f3] } 18. Qf3+ Ke1 { White gains another free move! } { [%cal Ge5e4] } 19. Ke4 Kd2 { Here we normally pin the pawn to the King, but because our King is close, we can actually force Black to block their own pawn more quickly. } { [%cal Gf3d3] } 20. Qd3+ { If Black abandons the pawn with Kc1, we win easily. Black may therefore block their own pawn again. } { [%cal Rd2c1,Gd2e1] } 20... Ke1 { White gains another free move! Many moves including Ke3, win for White, but let's be as efficient as possible. } { [%cal Ge4f3] } 21. Kf3 Kf1 { Mate in 2! } { [%cal Gd3e2] } 22. Qxe2+ Kg1 { Mate in 1! } { [%cal Ge2g2] } 23. Qg2# * [Event "(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: d-pawn = Win"] [Site "https://lichess.org/study/pt20yRkT"] [UTCDate "2018.04.03"] [UTCTime "00:58:16"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "7K/8/1Q6/8/8/8/3pk3/8 w - - 0 1"] [SetUp "1"] {Checkmate the opponent If the pawn on the 7th rank is NOT a Bishop or Rook pawn, the side with the Queen can win. The key to winning these positions is to get our King near the pawn so we can capture it safely. To do this, we must force Black to block their own pawn with their King. This will give us a free move which we can use to get our King closer.} * [Event "(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: b-pawn = Win"] [Site "https://lichess.org/study/pt20yRkT"] [UTCDate "2018.04.08"] [UTCTime "02:57:19"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "7K/8/1Q6/8/8/8/1pk5/8 w - - 0 1"] [SetUp "1"] {Checkmate the opponent If the pawn on the 7th rank is NOT a Bishop or Rook pawn, the side with the Queen can win. The key to winning these positions is to get our King near the pawn so we can capture it safely. To do this, we must force Black to block their own pawn with their King. This will give us a free move which we can use to get our King closer.} 1. Qc5+ Kb3 2. Qb5+ Kc2 3. Qc4+ Kd2 4. Qb3 Kc1 5. Qc3+ Kb1 6. Kg7 Ka2 7. Qc2 Ka1 8. Qa4+ Kb1 9. Kf7 (9. Kf6 Kc1 10. Qc4+ Kd2 11. Qb3 Kc1 12. Qc3+ Kb1 13. Ke5 Ka2 14. Qc2 Ka1 15. Qa4+ Kb1 16. Kd4 Kc1 17. Qc4+ Kd2 18. Qc3+ Ke2 19. Qxb2+ Kf3) 9... Kc1 * [Event "(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Rook pawn, no King assistance = Draw"] [Site "https://lichess.org/study/pt20yRkT"] [UTCDate "2018.04.03"] [UTCTime "01:20:19"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/1K6/P7/8/3q4/8/8/7k w - - 0 1"] [SetUp "1"] {[%cal Ga6a7]} {If the pawn on the 7th rank is a Bishop or Rook pawn, and the side with the Queen does not have their King near the pawn, the side with the pawn can draw. When it's a Rook pawn, the side with the pawn just needs to promote it if allowed, or otherwise keep their King in or near the corner. The side with the Queen won't have any time to get their King closer. Play the only drawing move for White to get to the relevant position we are discussing. } 1. a7 Qb4+ { Black tries to get their Queen closer. Multiple moves holds a draw for White, but if we can't promote our pawn, we should put our King on, or next to, the corner square. } { [%cal Gb7a8] } 2. Ka8 { Note that many moves are an immediate draw by stalemate for Black. } { [%csl Rb5,Rb6,Rb3,Rb2,Rb1,Rh2,Rg2,Rg1][%cal Rb4b5,Rb4b6,Rb4b3,Rb4b2,Rb4b1,Rh1g1,Rh1g2,Rh1h2] } 2... Qa5 { Black tries to get closer. We just stay next to the corner square. Either legal move is fine for White. } { [%cal Ga8b8] } 3. Kb8 { We are now threatening to promote. } { [%cal Ga7a8] } 3... Qb6+ { If we can't promote our pawn, we stay on, or next to, the corner square with our King. } { [%cal Gb8a8] } 4. Ka8 Qa6 { Only one legal move. We keep shuffling. } { [%cal Ga8b8] } 5. Kb8 { Threatening to promote. } { [%cal Ga7a8] } 5... Qd6+ { If we can't promote our pawn, we stay on, or next to, the corner square with our King. Any legal move draws for White. } { [%cal Gb8a8] } 6. Ka8 Qd8+ { Only one legal move. We keep shuffling. } { [%cal Ga8b7] } 7. Kb7 { Threatening to promote. } { [%cal Ga7a8] } 7... Qd7+ { One wrong step and you lose instantly! } { [%cal Rb7a8,Gb7b8] } 8. Kb8 { Threatening to promote. } { [%cal Ga7a8] } (8. Ka8 { This allows mate in 1! } { [%cal Rd7c8] }) 8... Qa4 { If allowed, we promote our pawn to force the draw. } { [%cal Ga7a8] } 9. a8=Q+ Qxa8+ { [%cal Gb8a8] } 10. Kxa8 * [Termination "draw in 20"] [Event "(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: Rook pawn, no King assistance"] [Site "https://lichess.org/study/pt20yRkT"] [UTCDate "2018.04.04"] [UTCTime "00:08:45"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/1K6/P7/8/3q4/8/8/7k w - - 0 1"] [SetUp "1"] {Hold the draw for 20 more moves If the pawn on the 7th rank is a Bishop or Rook pawn, and the side with the Queen does not have their King near the pawn, the side with the pawn can draw. When it's a Rook pawn, the side with the pawn just needs to promote it if allowed, or otherwise keep their King in or near the corner. The side with the Queen won't have any time to get their King closer.} * [Event "(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Bishop pawn, no King assistance = Draw"] [Site "https://lichess.org/study/pt20yRkT"] [UTCDate "2018.04.03"] [UTCTime "10:49:55"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "7K/8/4Q3/8/8/8/2p5/1k6 w - - 0 1"] [SetUp "1"] {[%cal Ge6b3]} {If the pawn on the 7th rank is a Bishop or Rook pawn, and the side with the Queen does not have their King near the pawn, the side with the pawn can draw. When it's a Bishop pawn, the side with the pawn just needs to promote it if allowed, or threaten to promote it, or exploit the possible stalemate situation. If played correctly, the side with the Queen won't have any time to get their King closer. As before, we check the King and attack the pawn at the same time } 1. Qb3+ Ka1 { Black is taking advantage of the fact that Qxc2 would be an immediate draw by stalemate. Note that Black is now threatening to promote. } { [%cal Rb3c2,Gb3a3,Bc2c1] } 2. Qa3+ Kb1 { Check the King and attack the pawn at the same time. } { [%cal Ga3b3] } 3. Qb3+ Kc1 { If Black blocks their own pawn instead of going to the corner, it's still a draw, it just takes longer. As White, we can try to use the technique we learned before. We use the free move to get our King closer. } { [%cal Gh8g7] } 4. Kg7 Kd2 { Pin the pawn. } { [%cal Gb3b2] } 5. Qb2 Kd1 { Force the black King to block their own pawn or to step away from it. } { [%cal Gb2d4] } 6. Qd4+ Ke1 { Threaten the pawn. } { [%cal Gd4c3] } 7. Qc3+ Kd1 { Check the King and attack the pawn at the same time. } { [%cal Gc3d3] } 8. Qd3+ Kc1 { Bring the King closer. } { [%cal Gg7f6] } 9. Kf6 Kb2 { Pin the pawn. } { [%cal Gd3d2] } 10. Qd2 { Note that Ka1 would be losing for Black in this position, as it allows White to get their Queen in front of the pawn. } { [%cal Rb2a1,Gb2b1,Bd2c1] } 10... Kb1 { Force the black King to block their own pawn or to step away from it. } { [%cal Gd2b4] } 11. Qb4+ Ka1 { Threaten the pawn. } { [%cal Gb4c3] } 12. Qc3+ Kb1 { Check the King and attack the pawn at the same time. } { [%cal Gc3b3] } 13. Qb3+ { Ka1 would draw as we saw before. } { [%cal Gb1c1] } 13... Kc1 { Bring the King closer. } { [%cal Gf6e5] } 14. Ke5 Kd2 { Pin the pawn. } { [%cal Gb3b2] } 15. Qb2 Kd1 { Force the black King to block their own pawn or to step away from it. } { [%cal Gb2d4] } 16. Qd4+ Ke1 { Threaten the pawn. } { [%cal Gd4c3] } 17. Qc3+ Kd1 { Check the King and attack the pawn at the same time. } { [%cal Gc3d3] } 18. Qd3+ Kc1 { Bring the King closer. } { [%cal Ge5d4] } 19. Kd4 Kb2 { Pin the pawn. } { [%cal Gd3d2] } 20. Qd2 { Ka1 would lose for Black here, because White would play Kc3 and be able to capture the pawn. } { [%cal Rb2a1,Gb2b1] } 20... Kb1 { Force the black King to block their own pawn or to step away from it. } { [%cal Gd2b4] } 21. Qb4+ Ka1 { Threaten the pawn. } { [%cal Gb4c3] } 22. Qc3+ Kb1 { Check the King and attack the pawn at the same time. } { [%cal Gc3b3] } 23. Qb3+ { Now, Black can't afford to continue as normal anymore. After Kc1, White would play Kd3 and be able to capture the pawn with mate to follow. Black has to play Ka1 to draw. } { [%cal Gb1a1,Rb1c1] } 23... Ka1 { Again, Qxc2 is an immediate draw by stalemate. White can try to other moves, but won't be successful. } { [%cal Rb3c2,Gb3a3] } 24. Qa3+ { Only one legal move for Black. } 24... Kb1 { Pin the pawn. } { [%cal Ga3d3] } 25. Qd3 { Ka2 loses to Qxc2. Kc1 loses to Kc3 which will win the pawn. Ka1 draws because the pawn can only be captured with stalemate. Kb2 also draws, which we will see later. } { [%cal Gb1a1,Gb1b2,Rb1c1,Rb1a2] } 25... Ka1 { Can we try covering the promotion square? } { [%cal Gd3f1] } 26. Qf1+ { Black threatens to promote. } { [%cal Rc2c1,Ra1a2,Ga1b2] } 26... Kb2 { White does not get a free move. } { [%cal Gf1b5] } 27. Qb5+ { Kc1 would lose because it gives White a free move to bring the King closer. } { [%cal Rb2c1,Gb2a1,Gb2a2,Gb2a3] } 27... Ka1 { Promotion is threatened again. } { [%cal Gb5a5] } 28. Qa5+ Kb1 { If the game is not drawn by stalemate with the King in the corner, threefold repetition or the 50-move rule, it may be drawn by allowing promotion and trading down to just the two Kings. } { [%cal Ga5c3] } 29. Qc3 { If Black is allowed, they will promote. } 29... c1=Q { [%cal Gc3c1] } 30. Qxc1+ Kxc1 * [Termination "draw in 20"] [Event "(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: Bishop pawn, no King assistance"] [Site "https://lichess.org/study/pt20yRkT"] [UTCDate "2018.04.04"] [UTCTime "00:10:30"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "7K/8/4Q3/8/8/8/2p5/1k6 w - - 0 1"] [SetUp "1"] {Hold the draw for 20 more moves If the pawn on the 7th rank is a Bishop or Rook pawn, and the side with the Queen does not have their King near the pawn, the side with the pawn can draw. When it's a Bishop pawn, the side with the pawn just needs to promote it if allowed, or threaten to promote it, or exploit the possible stalemate situation. If played correctly, the side with the Queen won't have any time to get their King closer.} 1. Qe4 (1. Qb3+) * [Event "(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Rook pawn, King assistance on short side = Win"] [Site "https://lichess.org/study/pt20yRkT"] [UTCDate "2018.04.03"] [UTCTime "15:52:17"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/8/K7/2Q5/8/p7/1k6 w - - 0 1"] [SetUp "1"] {[%cal Gc4b3]} {[%csl Yb3,Ga5,Gb5,Gc5,Gd5,Gd4,Ge4,Ge3,Ge2,Ge1]} {If the pawn on the 7th rank is a Rook pawn, and the side with the Queen has their King on one of the green squares (or closer) on their move, they can win the game. The side with the Queen can allow the pawn to promote and deliver checkmate. White can accomplish this by having their Queen on the d2 square (other squares can also work) and the King on b3 when the pawn has promoted. The first step is to get our Queen to d2. Black is threatening to promote, so we need to do it without losing any time. } 1. Qb3+ { Kc1 would drop the pawn and lose immediately, so Black goes Ka1. } { [%csl Yb3,Bd2][%cal Rb1c1,Gb1a1] } 1... Ka1 { Force the King out to the 7th rank. } { [%csl Yb3,Bd2][%cal Gb3d1] } 2. Qd1+ { [%csl Yb3,Bd2][%cal Ga1b2] } 2... Kb2 { Get the Queen into position. } { [%csl Yb3,Bd2][%cal Gd1d2] } 3. Qd2+ { Ka1 and Ka3 both lose instantly to checkmate in 1. After Kb1 we would play Kb4 and Black loses in a similar way to Kb3, but since Kb3 is slightly longer variation, let's look at that. } { [%csl Yb3,Bd2][%cal Rb2a1,Rb2a3,Rb2b1,Gb2b3] } 3... Kb3 { Check the King back to the 7th rank so our King can get to b3. } { [%csl Yb3,Bd2][%cal Gd2d3] } 4. Qd3+ { [%csl Yb3,Bd2] } 4... Kb2 { Now we can enter with our King. } { [%csl Yb3,Bd2][%cal Ga5b4] } 5. Kb4 { [%csl Yb3,Bd2] } 5... a1=Q { Get the Queen back in position to set up the checkmate threats. } { [%csl Yb3,Bd2][%cal Gd3d2] } 6. Qd2+ { Only one legal move. } { [%csl Yb3,Bd2][%cal Gb2b1] } 6... Kb1 { [%csl Yb3,Bd2][%cal Gb4b3] } 7. Kb3 { We have reached the goal position. Three checkmates in 1 are threatened. Note that Black can't check White without losing their Queen. } { [%csl Gd1,Gc2,Gb2,Yb3,Bd2][%cal Gd2d1,Gd2c2,Gd2b2] } 7... Qa4+ { [%cal Gb3a4] } 8. Kxa4 Ka1 { [%cal Ga4b3] } 9. Kb3 Kb1 { [%cal Gd2b2] } 10. Qb2# * [Event "(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: Rook pawn, King assistance on short side"] [Site "https://lichess.org/study/pt20yRkT"] [UTCDate "2018.04.04"] [UTCTime "00:15:00"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/8/K7/2Q5/8/p7/1k6 w - - 0 1"] [SetUp "1"] {Checkmate the opponent If the pawn on the 7th rank is a Rook pawn, and the side with the Queen has their King on one of the green squares (or closer) on their move, they can win the game. The side with the Queen can allow the pawn to promote and deliver checkmate. White can accomplish this by having their Queen on the d2 square (other squares can also work) and the King on b3 when the pawn has promoted.} * [Event "(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Rook pawn, King assistance on long side = Win"] [Site "https://lichess.org/study/pt20yRkT"] [UTCDate "2018.04.03"] [UTCTime "15:57:27"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/8/8/2QK4/8/p7/1k6 w - - 0 1"] [SetUp "1"] {[%cal Gc4b3]} {[%csl Yd3,Yd2,Yd1,Ga5,Gb5,Gc5,Gd5,Gd4,Ge4,Ge3,Ge2,Ge1]} {If the pawn on the 7th rank is a Rook pawn, and the side with the Queen has their King on one of the green squares (or closer) on their move, they can win the game. The side with the Queen can allow the pawn to promote and deliver checkmate. White can accomplish this by having their Queen on the d2 square (other squares can also work) and the King on one of the orange squares (d3, d2, d1) when the pawn has promoted. The first step is to get our Queen to d2. Black is threatening to promote, so we need to do it without losing any time. } 1. Qb3+ { Kc1 would drop the pawn and lose immediately, so Black goes Ka1. } { [%csl Yd3,Yd2,Yd1] } 1... Ka1 { Force the King out to the 7th rank. } { [%csl Yd3,Yd2,Yd1][%cal Gb3d1] } 2. Qd1+ { [%csl Yd3,Yd2,Yd1] } 2... Kb2 { Get the Queen into position. } { [%csl Yd3,Yd2,Yd1][%cal Gd1d2] } 3. Qd2+ { [%csl Yd3,Yd2,Yd1] } 3... Kb1 { Now we can enter with our King. } { [%csl Yd3,Yd2,Yd1][%cal Gd4d3] } 4. Kd3 { White has reached the goal position. } { [%csl Yd3,Yd2,Yd1] } 4... a1=N { Black has to promote to a Knight to avoid Qc2#, but it just delays the inevitable. } { [%csl Yd3,Yd2,Yd1][%cal Gd3c3] } (4... a1=Q 5. Qc2#) 5. Kc3 Nc2 { [%cal Gd2c2] } 6. Qxc2+ Ka1 { [%cal Gc2b2] } 7. Qb2# * [Event "(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: Rook pawn, King assistance on long side"] [Site "https://lichess.org/study/pt20yRkT"] [UTCDate "2018.04.04"] [UTCTime "00:18:51"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/8/8/2QK4/8/p7/1k6 w - - 0 1"] [SetUp "1"] {Checkmate the opponent If the pawn on the 7th rank is a Rook pawn, and the side with the Queen has their King on one of the green squares (or closer) on their move, they can win the game. The side with the Queen can allow the pawn to promote and deliver checkmate. White can accomplish this by having their Queen on the d2 square (other squares can also work) and the King on one of the orange squares (d3, d2, d1) when the pawn has promoted.} * [Event "(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Bishop pawn, defending King on long side, King assistance on short side = Win"] [Site "https://lichess.org/study/pt20yRkT"] [UTCDate "2018.04.03"] [UTCTime "21:20:49"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/8/1K6/4Q3/8/2pk4/8 w - - 0 1"] [SetUp "1"] {[%cal Ge4d4]} {[%csl Yb3,Ga5,Gb5,Gc5,Gd5,Gd4,Ge4,Gf4,Gg4,Gg3,Gg2,Gg1]} {If the pawn on the 7th rank is a Bishop pawn, and the side with the Queen has their King on one of the green squares on their move, they can win the game. The side with the Queen can allow the pawn to promote and deliver checkmate. When the attacking King is on the short side, and the defending King is on the long side, the attacker can accomplish this by having their King on b3 when the pawn promotes. We start with the normal technique. Force the black King to block their own pawn or to step away from it. } 1. Qd4+ { [%csl Yb3] } 1... Ke2 { Threaten the pawn. } { [%csl Yb3][%cal Gd4c3] } 2. Qc3 { [%csl Yb3] } 2... Kd1 { Check the King and attack the pawn at the same time. } { [%csl Yb3][%cal Gc3d3] } 3. Qd3+ { [%csl Yb3] } 3... Kc1 { Use the free move to bring the King closer. } { [%csl Yb3][%cal Gb5b4] } 4. Kb4 { [%csl Yb3] } 4... Kb2 { Pin the pawn. } { [%csl Yb3][%cal Gd3d2] } 5. Qd2 { Ka2 would drop the pawn immediately. Ka1 and Kb1 can be met the same way. } { [%csl Yb3][%cal Rb2a2,Rb2a1,Gb2b1] } 5... Kb1 { Reach the goal position. } { [%csl Yb3][%cal Gb4b3] } 6. Kb3 { c1=Q would immediately lose to Qa2#, so Black is forced to promote to a Knight } { [%csl Yb3] } 6... c1=N+ { [%csl Yb3][%cal Gb3a3] } 7. Ka3 Nd3 { We could capture the Knight, but mate in 2 is better. } { [%cal Gd2c3] } 8. Qc3 Nb2 { [%cal Gc3b2] } 9. Qxb2# * [Event "(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Bishop pawn, defending King on long side, King assistance on long side = Win"] [Site "https://lichess.org/study/pt20yRkT"] [UTCDate "2018.04.03"] [UTCTime "22:00:41"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/Q7/8/6K1/8/2pk4/8 w - - 0 1"] [SetUp "1"] {[%cal Ga6d6]} {[%csl Yf3,Yf2,Yf1,Ga5,Gb5,Gc5,Gd5,Gd4,Ge4,Gf4,Gg4,Gg3,Gg2,Gg1]} {If the pawn on the 7th rank is a Bishop pawn, and the side with the Queen has their King on one of the green squares on their move, they can win the game. The side with the Queen can allow the pawn to promote and deliver checkmate. When both Kings are on the long side, the attacker can accomplish this by having their King on one of the orange squares (f3, f2, f1) when the pawn promotes. Black is threatening to promote. We need to get our Queen closer without losing any time. } 1. Qd6+ Ke2 { [%cal Gd6e5] } 2. Qe5+ Kd2 { [%cal Ge5d4] } 3. Qd4+ Ke2 { Normally we would threaten the pawn with Qc3, which also works, but we can be even more efficient here, because our King is so close. } { [%cal Gd4b2] } 4. Qb2 (4. Qc3 Kd1 5. Qd3+ Kc1 6. Qb3 Kd2 7. Qb2 Kd3 8. Kf3 Kc4) 4... Kd1 { Here we can actually afford to spend a move on getting the King closer. Do you see why? } { [%cal Gg4f3] } 5. Kf3 { c1=Q would immediately lose to Qe2#. c1=N loses slightly more slowly. The relatively best option for Black is Kd2, but this also loses. } { [%cal Rc2c1,Gd1d2] } 5... Kd2 { Shoulder the King to get closer to the pawn. } { [%cal Gf3e4] } 6. Ke4 Kd1 { Bring the King closer to threaten Qc2#. } { [%cal Ge4d3] } 7. Kd3 { c1=Q would immediately lose to Qe2#. c1=N loses slightly more slowly. The relatively best option for Black is Ke1, but this also loses. } { [%cal Rc2c1] } 7... Ke1 { [%cal Gb2c2] } 8. Qxc2 Kf1 { [%cal Gc2h2] } 9. Qh2 Ke1 { [%cal Gh2e2] } 10. Qe2# * [Event "(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: Bishop pawn, defending King on long side, King assistance on long side"] [Site "https://lichess.org/study/pt20yRkT"] [UTCDate "2018.04.04"] [UTCTime "00:21:57"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/Q7/8/6K1/8/2pk4/8 w - - 0 1"] [SetUp "1"] {Checkmate the opponent If the pawn on the 7th rank is a Bishop pawn, and the side with the Queen has their King on one of the green squares on their move, they can win the game. The side with the Queen can allow the pawn to promote and deliver checkmate. When both Kings are on the long side, the attacker can accomplish this by having their King on one of the orange squares (f3, f2, f1) when the pawn promotes.} * [Event "(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Bishop pawn, defending King on short side, King assistance on short side = Win"] [Site "https://lichess.org/study/pt20yRkT"] [UTCDate "2018.04.03"] [UTCTime "23:04:37"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/4Q3/8/8/K7/8/1kp5/8 w - - 0 1"] [SetUp "1"] {[%cal Ge7b4]} {[%csl Yb3,Ga4,Gb4,Gc4,Gc3,Gd3,Ge3,Ge2,Ge1]} {If the pawn on the 7th rank is a Bishop pawn, and the side with the Queen has their King on one of the green squares on their move, they can win the game. The side with the Queen can allow the pawn to promote and deliver checkmate. When both Kings are on the short side, the attacker can accomplish this by having their King on b3 when the pawn promotes. Force the black King to block their own pawn or to step away from it. } 1. Qb4+ { Ka1 would lose after Kb3 c1=Q Qa4+ threatening an unstoppable Qa2#. Kc1 would lose after Qe1+ Kb2 Qd2 Kb1 Kb3 forcing a Knight promotion and eventual checkmate as we have seen before. Ka2 loses just as quickly, but let's see why. } { [%cal Gb2a2,Rb2c1,Rb2a1] } 1... Ka2 { Pin and threaten the pawn. Note that Qc3 would be a massive blunder because after c1=Q, Qxc1 would be stalemate. } { [%cal Rb4c3,Gb4d2] } 2. Qd2 { Ka1 loses due to Kb3 Kb1 Qxc2+ Ka1 Qa2#. Kb2 loses because Kb4 Kb1 Kb3, forcing a Knight promotion and eventual checkmate. Kb2 is the best try. } { [%cal Ga2b1,Ra2b2,Ra2a1] } 2... Kb1 { Threaten checkmate. } { [%cal Ga4b3] } 3. Kb3 { Forcing c1=N+, as c1=Q would immediately lose due to Qa2#. } 3... c1=N+ { [%cal Gb3a3] } 4. Ka3 Nd3 { [%cal Gd2c3] } 5. Qc3 Nb2 { [%cal Gc3b2] } 6. Qxb2# * [Event "(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Bishop pawn, defending King on short side, King assistance on long side = Win"] [Site "https://lichess.org/study/pt20yRkT"] [UTCDate "2018.04.03"] [UTCTime "23:13:55"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/4Q3/8/8/8/8/1kp5/4K3 w - - 0 1"] [SetUp "1"] {[%cal Ge7b4]} {[%csl Yd2,Ga4,Gb4,Gc4,Gc3,Gd3,Ge3,Ge2,Ge1]} {If the pawn on the 7th rank is a Bishop pawn, and the side with the Queen has their King on one of the green squares on their move, they can win the game. The side with the Queen can allow the pawn to promote and deliver checkmate. When the attacking King is on the long side, and the defending King is on the short side, the attacker can accomplish this by having their King on d2 when the pawn promotes. Force the black King to block their own pawn or to step away from it. } 1. Qb4+ { Kc1 loses after Qc3 Kb1 Kd2, winning the pawn on the next move. Ka1 loses more slowly. } { [%cal Rb2c1,Gb2a1] } 1... Ka1 { March in and take the pawn. } { [%cal Ge1d2] } (1... Kc1 2. Qc3 Kb1 3. Kd2) 2. Kd2 { No matter what Black does, it's checkmate in 2. } 2... Ka2 { [%cal Gd2c2] } 3. Kxc2 Ka1 { [%cal Gb4b2] } 4. Qb2# * [Event "(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: Bishop pawn, defending King on short side, King assistance on long sid"] [Site "https://lichess.org/study/pt20yRkT"] [UTCDate "2018.04.04"] [UTCTime "00:25:36"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/4Q3/8/8/8/8/1kp5/4K3 w - - 0 1"] [SetUp "1"] {Checkmate the opponent If the pawn on the 7th rank is a Bishop pawn, and the side with the Queen has their King on one of the green squares on their move, they can win the game. The side with the Queen can allow the pawn to promote and deliver checkmate. When the attacking King is on the long side, and the defending King is on the short side, the attacker can accomplish this by having their King on d2 when the pawn promotes.} * pychess-1.0.0/learn/lessons/lichess_study_charles-xii-at-bender_by_gbtami_2016.08.15.sqlite0000644000175000017500000026000013441162535030422 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) O!learn/lessons/lichess_study_charles-xii-at-bender_by_gbtami_2016.08.15.pgn   %Qhttps://lichess.org/study/3aJNVC40 %Q https://lichess.org/study/3aJNVC40 Ehttps://lichess.org/@/gbtami E https://lichess.org/@/gbtami 8j80gCharles XII at Bender: Benkő Pál mate in #20gCharles XII at Bender: Samuel Loyd mate in #50gCharles XII at Bender: Samuel Loyd mate in #40gCharles XII at Bender: Samuel Loyd mate in #3 99k1gCharles XII at Bender: Benkő Pál mate in #21gCharles XII at Bender: Samuel Loyd mate in #51gCharles XII at Bender: Samuel Loyd mate in #40g Charles XII at Bender: Samuel Loyd mate in #3  20180221 }:E   ] 0?8/6R1/7p/5K1k/6R1/6p1/5bPP/4N3 w - - 0 1A   U >80?8/6R1/7p/5K1k/8/6p1/5bP1/8 w - - 0 1A   U 0?8/6R1/7p/5K1k/8/6p1/5bPP/8 w - - 0 1>   Y 0?8/6R1/7p/5K1k/8/6p1/5bPP/4N3 w - - 0 1        >   8          jSC* Opening? UTCTime10:11:41 !UTCDate2018.04.03 Opening?UTCTime10:24:06!UTCDate2016.08.15Opening?UTCTime10:21:15!UTCDate2016.08.15  Opening? UTCTime10:09:56 !UTCDate2016.08.15././@LongLink0000644000000000000000000000017300000000000011604 Lustar rootrootpychess-1.0.0/learn/lessons/lichess_study_2nd-part-game-puzzles-with-interactive-lessons_by_Francesco_Super_2018.01.03.pgnpychess-1.0.0/learn/lessons/lichess_study_2nd-part-game-puzzles-with-interactive-lessons_by_Francesc0000644000175000017500000004232013365545272033245 0ustar varunvarun[Event "💎(2nd part) Game puzzles with interactive lessons!💎: Introduction"] [Site "https://lichess.org/study/VefYFYMP"] [UTCDate "2018.01.04"] [UTCTime "13:18:56"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "PPPPPPPP/PP4PP/P2pp2P/P1p2p1P/P1p2p1P/P2pp2P/PP4PP/PPPPPPPP b - - 0 1"] [SetUp "1"] { Hello everyone and welcome!! Because many people requested it, I decided to make the second part of my previous study about "Game puzzles with interactive lesson!" which is available here: lichess.org/study/Bhmd5jqq. Thank you very much for your support! I hope you enjoy it and have fun! PS If you find these puzzles useful and entertaining, please don't forget to press the heart-shaped button below, thanks in advance! } * [Event "💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 1"] [Site "https://lichess.org/study/VefYFYMP"] [UTCDate "2018.01.03"] [UTCTime "21:40:30"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "2r2r2/1Q3pkp/p4np1/qp6/4B3/1P2P2P/P4PP1/R4RK1 b - - 7 20"] [SetUp "1"] { White's position is uncomfortable and only has a few squares available to protect the light-squared bishop. Can you find the best move to start this combination? } 20... Rc7 { Good! } (20... Rb8 { This move is correct but not the best one. } 21. Qc6) 21. b4 Rxb7 { Excellent! } 22. bxa5 { The next move is pretty obvious :) } 22... Nxe4 { Great, you completed the first puzzle. This was just an easy warm-up :) } * [Event "💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 3"] [Site "https://lichess.org/study/VefYFYMP"] [UTCDate "2018.01.03"] [UTCTime "22:11:21"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "1k1r3r/pbq2ppp/1ppbpn2/8/Q1P1P3/2N1BPP1/PP5P/2KR1B1R w - - 0 1"] [SetUp "1"] { Take a look at the position of our opponent's knight, bishop and Queen carefully. Can you spot a winning move? } 1. Rxd6 { Well spotted! } (1. e5 { Not correct, the bishop can easily take the pawn }) 1... Qxd6 { Can you spot a strong, forcing move for White? } 2. e5 { Well done! It's a double attack! The Queen can't take the pawn otherwise the move Bf4 will make Black lose the game completely. } { [%csl Gf6] } 2... Qe7 { The next move is quite obvious } 3. exf6 { Congratulations! You completed this puzzle! } { [%cal Ge7f6] } 3... Qxf6 * [Event "💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 2"] [Site "https://lichess.org/study/VefYFYMP"] [UTCDate "2018.01.03"] [UTCTime "21:56:45"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "2r2rk1/pp1bqpp1/2nppn1p/2p3N1/1bP5/1PN3P1/PBQPPPBP/3R1RK1 w - - 0 1"] [SetUp "1"] { The Queen is threatening checkmate but the h7 square is controlled by the knight. How do we take advantage of this position? } 1. Nd5 { Well spotted! We are threatening to take the Queen and the Knight! } { [%cal Gd5f6,Gd5e7] } 1... exd5 { The only possible move for Black } 2. Bxf6 { Excellent! Black can't take the bishop because of checkmate in #1 for White so the only move for Black is... } 2... hxg5 { The only possible move for Black to avoid checkmate } 3. Bxe7 { Congratulations, you completed this puzzle. Proceed to the next one :) } 3... Nxe7 * [Event "💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 4"] [Site "https://lichess.org/study/VefYFYMP"] [UTCDate "2018.01.03"] [UTCTime "23:05:13"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "2r4k/1bqpbr1p/pp4p1/3P1p2/2P5/PQNB1P2/1P5P/1K1R1R2 w - - 0 1"] [SetUp "1"] { Black has some weaknesses in this position and the c4 and d5 pawns will play a crucial role in this attack. What is the best move? } 1. d6 { Excellent! At first glance d6 can look like a useless pawn sacrifice but... it's actually not } 1... Qxd6 { The only good move for Black. Now it's time to launch a strong discovered attack! } 2. c5 { Well done! We are attacking the Queen and at the same time we are threatening to take the unprotected rook } 2... Qf6 { The only move possible to defend the rook. Let's reinforce our attack! } 3. Bc4 { Very good, the rook has two attackers and it is forced to move } 3... Rg7 { Attack the only undefended piece of Black } 4. Bd5 { Correct, well done! } (4. cxb6 { This is a good move as well but not the best one }) 4... Bxd5 5. Nxd5 { Good, we are threatening the Queen and the pawn in b6 } { [%cal Gd5f6,Gd5b6] } 5... Qc6 { Now it's time to gain some material } 6. cxb6 { Excellent, this was the best move } (6. Nxb6 { Blunder! Black can play Rb8 pinning our knight! } { [%csl Gb8] }) (6. Nxe7 { Another good move but not the best one :/ }) (6. Qxb6 { Big mistake, the bishop can take the c5 pawn } { [%csl Gc5] }) 6... Bc5 { The bishop is threatening to take the pawn after Rb8, how can we prevent this? } { [%cal Gc5b6,Gc8b8] } 7. Rc1 { Excellent move! } (7. Rd3 { Another good move but we want to pin that bishop } 7... Rb8) 7... Rb8 { We now want our rook to be in the best possible square... } 8. Rfe1 { Well spotted, now the rook is controlling the e file! You completed the chapter, proceed to the next chapter :) } { [%cal Ge1e8] } * [Event "💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 5"] [Site "https://lichess.org/study/VefYFYMP"] [UTCDate "2018.01.04"] [UTCTime "15:14:26"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "8/kp2q3/pR2r2r/1Pp5/7R/1P2Q2P/4K3/8 w - - 0 1"] [SetUp "1"] { It looks over for our Queen, but there is a way to prevent this. What is the best move to start this series of moves? } 1. Rxe6 { Good, well spotted! } 1... Rxe6 { Our Queen is still pinned... We have to kick that rook out :P } 2. b6+ { Well done! } 2... Kxb6 { The only possible move for the king to avoid a mate in #3 } 3. Rh6 { Excellent!! The rook is now pinned and it is over for the Black Queen! } 3... Rxh6 { Easy.... } 4. Qxe7 { Congratulations, you completed this puzzle! } * [Event "💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 6"] [Site "https://lichess.org/study/VefYFYMP"] [UTCDate "2018.01.04"] [UTCTime "15:25:09"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "r4r1k/1bq1b1pp/p3pn2/4Np2/1pNP4/3B4/PP1BQPPP/2RR2K1 w - - 0 1"] [SetUp "1"] { The aim of the following moves is to launch a strong double attack to Black! What is the best move in this position? } 1. Nf7+ { Well spotted!! } 1... Rxf7 { Can you spot the winning move? } 2. Ne5 { Excellent! Our knight is attacking the rook and our rook is attacking the Queen! } { [%cal Ge5f7,Gc1c7] } 2... Qb6 { It's simple now... :) } 3. Nxf7+ { Congrats, you completed this puzzle! } * [Event "💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 8"] [Site "https://lichess.org/study/VefYFYMP"] [UTCDate "2018.01.04"] [UTCTime "15:57:08"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "2krr3/ppp3pp/2n5/2Bq1b2/Q2P4/5N2/P4PPP/3R1K1R b - - 0 1"] [SetUp "1"] { The position is winning for Black and we can manage to threaten checkmate. Our rooks are in their best possible squares and the opponent's King is very vulnerable. What is the best move in this position? } 1... Qxf3 { Very well spotted! It looks crazy at first glance but it's not... } 2. gxf3 { Now look at the vulnerability of the King, let's immeidately start to take advantage of this! } 2... Bh3+ { Excellent, the King can only move in g1and our bishop is in a really strong position! } 3. Kg1 { One move is winning! } 3... Re6 { Well done! We want to threaten checkmate in g6! } 4. Qc2 { Let's activate another piece! } 4... Ne5 { Great move! Threatening mate! } { [%cal Ge5f3] } (4... Rg6+ { This looks like the best move at first, but it drastically reduces our advantage because we are giving up our strong rook }) 5. Qf5 { The only possible move to avoid checkmate! White loses its Queen and we are clearly winning! Now take the Queen! } 5... Bxf5 { Congrats, you've completed this puzzle! } * [Event "💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 7"] [Site "https://lichess.org/study/VefYFYMP"] [UTCDate "2018.01.04"] [UTCTime "15:34:44"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "7k/8/5r2/8/8/2R5/8/K1B5 w - - 0 1"] [SetUp "1"] { What is the best move in this position? There is only one move that is winning. } 1. Bb2 { Well done! The rook can't move anywhere otherwise it leads to a forced checkmate sequence for White. } (1. Rh3+) 1... Kh7 { Can you find the correct move? } 2. Rc7+ { Excellent! it is over for our opponent's rook! } (2. Rh3+ { Blunder, now all the advantage we gained before is lost. This checks the king and attacks black's rook simultaneously, but black can simply play Rh6, blocking the check and saving his rook. After the trade of rooks white can't checkmate black with a single bishop so it ends in a draw which is not what we want! }) 2... Kg6 { Pretty obvious now... } 3. Bxf6 { Well done, you completed this puzzle :) } * [Event "💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 9"] [Site "https://lichess.org/study/VefYFYMP"] [UTCDate "2018.01.04"] [UTCTime "21:19:44"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "8/5p1k/4p1b1/4P3/2Pq4/2Q2KP1/r3P3/2R2B2 b - - 0 1"] [SetUp "1"] { Black has an enormous advantage, that we can transform in a forced checkmate sequence! } 1... Ra3 { Well spotted! The Queen is now pinned } 2. Qxa3 { This is a big blunder from White, now it's checkmate in #9 } 2... Be4+ { Great! Keep going! } 3. Kf4 Bg2+ { Excellent! We are getting nearer! } 4. e4 Qxe4+ 5. Kg5 Qxe5+ (5... Qf5+ { BLUNDER!! Now the position is totally equal and this is not what we want }) 6. Kh4 Qf6+ 7. Kg4 Qf5+ 8. Kh4 { It's checkmate in #3, you've almost done it! } 8... Qh3+ 9. Kg5 Qh6+ (9... Qf5+ { It's correct but it will take us longer to checkmate the King }) 10. Kg4 { It's checkmate in one! } 10... f5# { Congratulations! You completed the puzzle! } * [Event "💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 10"] [Site "https://lichess.org/study/VefYFYMP"] [UTCDate "2018.01.04"] [UTCTime "21:47:46"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "5r2/1p4r1/3kp1b1/1Pp1p2p/2PpP3/q2B1PP1/3Q2K1/1R5R b - - 0 1"] [SetUp "1"] { We can gain a lot of advantage in this position, can you find the best move? } 1... Rxf3 { Well spotted!! Another winning sacrfice! } 2. Kxf3 { Our aim is to take our opponent's Queen. Can you spot the next move of this formidable combination? } 2... Bxe4+ { Excellent!! } 3. Kxe4 Rxg3 { Great move! Keep going! } 4. Rhg1 { You really have to look at the position of the pieces carefully to spot the next move } 4... Qa2 { This looks like a huge blunder by Black at first glance, but if you analyze the position you will notice that White can't take our Queen otherwise it's checkmate in one with Re3. } { [%cal Gg3e3,Rd2a2] } 5. Rxg3 { Now we can take the Queen and we have a huge advantage! } 5... Qxd2 { This was a difficult puzzle (hopefully) and congratulations for completing it! } * [Event "💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 11"] [Site "https://lichess.org/study/VefYFYMP"] [UTCDate "2018.01.04"] [UTCTime "22:45:45"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "r3r3/1p3pk1/2p2qp1/8/1P1Pp3/4P1PK/4QP1P/1R2R3 b - - 0 1"] [SetUp "1"] { One move is winning. Only one. } 1... Ra2 { Excellent! The Queen can't move anywhere otherwise it's checkmate in #3. } { [%cal Gf6f3,Re2a2,Re2a6,Re2d1,Re2f1] } * [Event "💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 13"] [Site "https://lichess.org/study/VefYFYMP"] [UTCDate "2018.01.05"] [UTCTime "15:22:32"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "5rk1/1b1q2p1/p7/4P1B1/1p1N1p1Q/1P6/P3K2R/2r5 b - - 0 1"] [SetUp "1"] { It's a forced mate sequence for Black, and the first move can look a bit surprising to most players :) Can you spot it? } 1... Bf3+ { Very well spotted! } (1... Qxd4 { Blunder! It's a draw! }) 2. Kxf3 { Now check the King! } 2... Qd5+ 3. Kg4 Rg1+ 4. Kh3 Qxd4 5. Re2 Qd5 6. Bxf4 Qh1+ 7. Rh2 Qf3+ 8. Bg3 Qf1+ 9. Rg2 Qxg2+ 10. Kg4 Qf3+ 11. Kg5 Qf5# * [Event "💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 12"] [Site "https://lichess.org/study/VefYFYMP"] [UTCDate "2018.01.05"] [UTCTime "14:37:33"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "r3k2r/1pp1n3/p2p2q1/3Ppp2/1PPb2pp/P2P2P1/3NBPKP/2RQ1R2 b - - 0 1"] [SetUp "1"] { We want to create a strong attack to the King using our rooks and Queen. We want to open the position first to start the attack } 1... hxg3 (1... Kf7 { It is correct but we can make this move later on. Let's open the position up first }) 2. hxg3 { Excellent, now the h-file is dominated by our rook. Now we want to prevent our opponent's rook to move in h1, how can we do this? } { [%cal Gh8h1] } 2... Rh2+ { Well spotted! } (2... Rh6) (2... Rh3 { It is a decent move but we are not fulfilling our aim in this position... now White can play Rh1 } 3. Rh1) 3. Kxh2 { Now the King is occupying the h file and we can start our attacking moves } 3... Qh5+ { Good! } 4. Kg1 { Now the King is very vulnerable and exposed to attacks! Let's activate our pieces! } 4... Kf7 { Good, we are allowing our rook to move in h8 and threaten checkmate } 5. Nf3 { The only possible move to defend h2. Now let's continue with our attacking plan. } { [%cal Gf3h2] } 5... Rh8 { Well spotted. Now we are threatening checkmate in h1!! Black still has a chance to defend checkmate... } 6. Nh4 { We want to get rid of that knight! } 6... Ng6 { Well spotted! } 7. Qa4 { The Queen is threatening a powerful check in d7, what is the best move to prevent it? } { [%cal Ga4d7] } 7... c6 { Correct, this was the best move because White can't take that pawn otherwise it's mate in 4. Now White has only one move available } { [%cal Rd5c6] } (7... Ke7 { It's an inaccuracy because the knight can check our King which means that our Queen will be forced to move out of the h-file } { [%cal Gh4g6,Yh5g6] }) 8. Qa5 { The Queen is threatening check once again... and we have to prevent it... once again } { [%cal Ga5c7] } 8... b6 { It's a forced checkmate sequence now... } 9. Qxb6 { The only move for White to increase the make the checkmate sequence longer } (9. Qxa6) 9... Bxb6 { Congratulations! Now we are definetly winning the game! } * [Event "💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 14"] [Site "https://lichess.org/study/VefYFYMP"] [UTCDate "2018.01.05"] [UTCTime "15:44:47"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "8/1p3k2/8/p2qp1QP/P1B1b3/1P3r2/2P5/1K6 b - - 0 1"] [SetUp "1"] { This looks lost for Black since the light-squared bishop is pinning our Queen, but instead, we are winning! } 1... Rxb3+ { Excellent, well spotted!! Our rook can't get taken because our bishop is pinning the c2 pawn } 2. Ka2 { Well done! Now it gets easy... } 2... Qxc4 { Great! You've completed the puzzle! } * [Event "💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 15"] [Site "https://lichess.org/study/VefYFYMP"] [UTCDate "2018.01.05"] [UTCTime "15:57:40"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "1rr3k1/p3ppbp/3pbnp1/7P/qP1BP1P1/5P2/1PPQ4/1NKR1B1R b Kq - 0 1"] [SetUp "1"] { We can make a winning move here!! Look at the position of our rook and of our Queen first to find out the possible threats to the opponent's King. How can we win something here? } 1... Bh6 { Very well spotted!! The Queen is pinned and can't take the bishop otherwise it's checkmate in #1!! :) } 2. Bd3 { Easy... } 2... Bxd2+ { Congrats! You completed this puzzle! } * [Event "💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 16"] [Site "https://lichess.org/study/VefYFYMP"] [UTCDate "2018.01.05"] [UTCTime "16:07:03"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "2rq2k1/1p1npp1p/p2p2p1/3P4/bP2PP2/r2BB2P/P2R1QPK/5R2 b - - 0 1"] [SetUp "1"] { The bishop in d3 is a big weakness, we have to put pressure on it } 1... Rcc3 { Great! Now we have two attackers and the bishop only has one defender } { [%csl Gc3,Ga3] } 2. Qe2 { This defends the bishop. Let's attack it with another piece! } 2... Bb5 { Excellent, well done! Now White is forced to make another defensive move } { [%cal Gb5d3,Gc3d3,Ga3d3] } 3. Rfd1 { Now let's put our Queen in a good position } 3... Qc7 { Good move! Now the light-squared bishop has to move or it will get taken } { [%csl Gc7,Gc3] } 4. Bxb5 (4. Bd4) 4... Rxe3 { Excellent! We are attacking the Queen and the bishop at the same time } (4... axb5 { Big blunder, now White can play Bd4 restricting the rook to c4 } 5. Bd4 Rc4) 5. Qc4 { White is forcing the trade of Queens } 5... Qxc4 6. Bxc4 Rxe4 { Congrats, you've completed the puzzle! } *././@LongLink0000644000000000000000000000017400000000000011605 Lustar rootrootpychess-1.0.0/learn/lessons/lichess_study_beta-lichess-practice-checkmating-with-a-knight-and-bishop_by_arex_2017.08.02.pgnpychess-1.0.0/learn/lessons/lichess_study_beta-lichess-practice-checkmating-with-a-knight-and-bishop0000644000175000017500000003745113365545272033041 0ustar varunvarun[Event "(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Introduction"] [Site "https://lichess.org/study/ByhlXnmM"] [UTCDate "2017.08.02"] [UTCTime "22:35:49"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "4k3/8/8/8/8/8/8/4KBN1 w - - 0 1"] [SetUp "1"] {[%csl Ga8,Gh1]} {[%cal Be1e2,Ga2a8,Ga2g8,Gg8a8,Gb1h1,Gb1h7,Gh7h1]} {In this Study, we will look at how to checkmate a lone King with a Knight and Bishop. The first thing to note, is that we can only checkmate the King in the corner of the board which is the same color as our Bishop, which in this example is a8 and h1. If we had a dark squared Bishop, we could only checkmate Black on a1 or h8. Black will therefore try to stay in the center of the board, and if they can't, then they will move towards the "wrong" corner, meaning a corner in which we can't checkmate the King. White however, wants to force Black's King to a8 or h1. To accomplish this, there are two well-known methods that can be used. One is called "Delétang's triangle method" and the other is called "the W method". You only have to know one of these methods. In this Study, we will learn the first one. The basic idea is to restrict Black's King to smaller and smaller areas of the board. The first step is to restrict Black's King to one of the green triangles we see on the board in this position. We will control the long diagonal of the triangle with our Bishop, and we will control the necessary dark squares using our Knight and King. Move your King closer to the center to read about step 2 in the overall plan. } 1. Ke2 { [%csl Ga8,Gh1][%cal Ga2g8,Gb1h7,Gg8a8,Gb1h1,Gh7h1,Ga2a8] } 1... Ke7 { When Black's King has been restricted to the first triangle, the second step is to further restrict it to a smaller second triangle (marked in green). Move your King closer to the center to read about step 3 in the overall plan. } { [%csl Ga8,Gh1][%cal Ga4e8,Ge8a8,Gd1h5,Gh5h1,Ga4a8,Gd1h1,Be2e3] } 2. Ke3 { [%csl Gh1,Ga8][%cal Ga4a8,Ga4e8,Ge8a8,Gd1h1,Gd1h5,Gh5h1] } 2... Ke6 { When Black's King has been restricted to the second triangle, the third step is to further restrict it to a smaller third triangle (marked in green), in which we will be able to set up the checkmate. } { [%csl Gh1,Ga8][%cal Ga6c8,Ga6a8,Gc8a8,Gf1h3,Gf1h1,Gh3h1,Be3e4] } 3. Ke4 { Now you know the overall plan. In the next chapter we'll see a famous example of what can happen if you don't know this endgame. } { [%csl Ga8,Gh1][%cal Ga6c8,Gc8a8,Ga6a8,Gf1h3,Gh3h1,Gf1h1] } * [White "Anna Ushenina"] [WhiteElo "2491"] [Black "Olga Girya"] [BlackElo "2463"] [Date "2013.05.06"] [Result "1/2-1/2"] [Site "Geneva SUI"] [Event "Women Grand Prix Geneva"] [Round "4"] [UTCDate "2017.08.02"] [UTCTime "23:23:31"] [Variant "Standard"] [ECO "D11"] [Opening "Slav Defense: Modern"] [Annotator "https://lichess.org/@/arex"] {KBN vs K is a fairly rare endgame. A 2001 study showed that it happens it about 0.02% of games. Even so, it can be useful to study because the technique is hard to find OTB as this game shows. This game took place in Geneva, Switzerland in 2013. It was Round 4 in a FIDE Women Grand Prix tournament. The Women's World Chess Champion, Anna Ushenina, failed to mate with Knight and Bishop and her opponent claimed a draw due to the 50 move rule. The relevant part of the game starts at 72. Nxc3. Scroll through the moves and watch the video below. Move on to the next chapter when you're ready. }{https://www.youtube.com/watch?v=YFF5ibgB6eA} 1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Qb3 dxc4 5. Qxc4 Bf5 6. g3 e6 7. Bg2 Nbd7 8. O-O Be7 9. e3 O-O 10. Rd1 Qc7 11. Nc3 Bg6 12. h3 Rad8 13. Qe2 e5 14. e4 exd4 15. Nxd4 Rfe8 16. Bf4 Qc8 17. Be3 Bb4 18. f3 Qb8 19. Bf2 Bh5 20. Qc2 Bd6 21. Nce2 Bg6 22. a3 h5 23. b4 Ne5 24. Qb3 Nxf3+ 25. Nxf3 Nxe4 26. Nh4 Nxf2 27. Kxf2 Bh7 28. Nf3 Re7 29. Ra2 Rde8 30. Rad2 Bc7 31. Nfd4 Bb6 32. Qf3 Qe5 33. Kg1 a5 34. Kh1 axb4 35. axb4 Qg5 36. h4 Qh6 37. Nf4 Re3 38. Qxh5 Rxg3 39. Qxh6 gxh6 40. Nh5 Rg6 41. Re2 Rxe2 42. Nxe2 Kf8 43. Bh3 Bc7 44. Bf5 Rd6 45. Rxd6 Bxd6 46. Bxh7 Be7 47. Nhf4 Bxh4 48. Bf5 Ke7 49. Nd3 Kd6 50. Nc3 Kc7 51. Kg2 Kb6 52. Kf3 Bf6 53. Ne4 Be7 54. Bc8 Kc7 55. Bg4 Kb6 56. Nec5 Kb5 57. Nxb7 Bxb4 58. Nxb4 Kxb4 59. Nd8 c5 60. Nxf7 c4 61. Ke2 Kc3 62. Kd1 Kb2 63. Nxh6 c3 64. Bf5 Kb3 65. Bc2+ Kb2 66. Nf5 Ka1 67. Ne3 Kb2 68. Nd5 Ka1 69. Ke2 Kb2 70. Kd3 Kc1 71. Ba4 Kb2 72. Nxc3 { White has reached the Knight and Bishop versus lone king endgame. With perfect play, this is mate in 24. } 72... Ka1 73. Nd1 Ka2 74. Bc2 Ka1 75. Kc3 Ka2 76. Bb3+ Ka1 77. Ne3 Kb1 78. Nc2 Kc1 79. Ba2 Kd1 80. Nd4 Ke1 81. Kd3 Kf2 82. Bd5 Kg3 83. Ke3 Kg4 84. Be4 Kg5 85. Kf3 Kf6 86. Kf4 Kg7 87. Kg5 Kf7 88. Kf5 Kg7 89. Bd5 Kh6 90. Ne6 Kh7 91. Kf6 Kg8 92. Nf4+ Kh8 93. Be4 Kg8 94. Nh3 Kh8 95. Ng5 Kg8 96. Nf7 Kf8 97. Bh7 Ke8 98. Bf5 Kf8 99. Nh6 Ke8 100. Nf7 Kf8 101. Ne5 Kg8 102. Ng6 Kh7 103. Be6 Kh6 104. Bg8 Kh5 105. Ne5 Kh4 106. Kf5 Kg3 107. Bc4 Kf2 108. Kf4 Ke1 109. Ke3 Kd1 110. Bd3 Kc1 111. Nc4 Kd1 112. Nb6 Kc1 113. Na4 Kd1 114. Be4 Kc1 115. Bd3 Kd1 116. Nb2+ Kc1 117. Nc4 Kd1 118. Bg6 Kc1 119. Bf5 Kd1 120. Nb6 Kc1 121. Na4 Kd1 122. Nb2+ Kc1 123. Nc4 Kd1 124. Kd3 Kc1 125. Kc3 Kd1 126. Bd3 { Black claimed a draw due to the 50 move rule, 1/2 - 1/2 } 1/2-1/2 [Event "(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Restricting the King to the First Triangle"] [Site "https://lichess.org/study/ByhlXnmM"] [UTCDate "2017.08.05"] [UTCTime "00:59:47"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "4k3/8/8/8/8/8/8/4KBN1 w - - 0 1"] [SetUp "1"] {[%cal Be1e2,Ga2a8,Ga2g8,Gg8a8,Gb1h1,Gb1h7,Gh7h1]} { You will have to use all of your pieces to push Black's king to a corner. Black will first try to stay in the center. Continue the lesson by moving your King towards the center. } 1. Ke2 Ke7 { Black is also moving towards the center. } { [%cal Be2e3] } 2. Ke3 Ke6 { Occupy the center. } { [%cal Be3e4] } 3. Ke4 Kf6 { White now controls the center. When Black can't stay in the center, they will usually try to move towards the wrong corner (h8 in this case). This looks like a good opportunity to get your Bishop into the game. } { [%cal Bf1c4] } 4. Bc4 Kg6 { Take away the f6 square from Black. } { [%csl Rf6][%cal Be4e5,Re5f6] } 5. Ke5 Kg7 { Take away the g6 square from Black. } { [%csl Rg6][%cal Be5f5,Rf5g6] } 6. Kf5 (6. Bf7 { Giving up your bishop means you won't have enough material to win and the game is now a draw :-( }) 6... Kh6 { Get your Knight in the game. } { [%cal Bg1f3] } 7. Nf3 Kg7 { Move your Knight closer. } { [%cal Bf3e5] } 8. Ne5 Kh7 { In this phase of the endgame, your King belongs on f6 where it controls g7, while leaving both f7 and g6 for your Knight. } { [%csl Rg6,Rf7,Rg7][%cal Bf5f6,Re5f7,Re5g6,Rf6g7] } 9. Kf6 Kh8 { The Knight is the only piece that can force the King out of the wrong corner. Force the Black King out of hiding! } { [%cal Ge5f7] } 10. Nf7+ Kh7 { The Black King only has one square. Pass the move in order to force Kg8! } { [%csl Rh8,Rh6,Gg5,Gg6,Gg7][%cal Rf7h6,Rf7h8,Bc4d5,Gf6g7,Gf6g6,Gf6g5] } 11. Bd5 Kg8 $7 { Take away the h7 square in order to force Kf8 - only move! } { [%cal Bf6g6] } 12. Kg6 { [%csl Rh7,Rg7,Rf7][%cal Rg6f7,Rg6g7,Rg6h7] } 12... Kf8 $7 { Now we can maneuver our Knight safely to the correct position for the first triangle. } { [%cal Bf7e5] } 13. Ne5 Ke7 { [%cal Be5d3] } 14. Nd3 Kd6 { Get your last piece into the perfect square to complete the first triangle! } { [%cal Bd5b3] } 15. Bb3 { Nice work! The King is now restricted to the first triangle. Notice how we control all the red squares. } { [%csl Ra4,Rb4,Rc4,Rc5,Rd5,Re5,Re6,Rf6,Rf7,Rg7,Rg8,Bb3,Bd3,Bg6][%cal Gg8a8,Ga2g8] } * [Event "(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Exercise: Restricting the King to the First Triangle"] [Site "https://lichess.org/study/ByhlXnmM"] [UTCDate "2017.08.05"] [UTCTime "15:34:50"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "6k1/5N2/5K2/8/2B5/8/8/8 w - - 20 11"] [SetUp "1"] {[%cal Ge5f7,Rh8g8]} { In the previous chapter, Black replied to Nf7+ with Kh7. Here, Black replies Kg8 instead. Based on what we have learned so far, what move should White now play? } 11. Kg6! { Correct! In the previous chapter, after Nf7+ Kh7 we played Bd5 as a waiting move in order to force Kg8. Since Black played Kg8 willingly, we can immediately play Kg6 Kf8 and reroute our Knight to d3. } (11. Bd5? { This move also wins, but is not the move I was looking for. It is not necessary to play a waiting move now that Black volunteerily played Kg8. }) * [Event "(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Restricting the King to the Second Triangle"] [Site "https://lichess.org/study/ByhlXnmM"] [UTCDate "2017.08.05"] [UTCTime "01:24:34"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/8/3k2K1/8/8/1B1N4/8/8 b - - 29 15"] [SetUp "1"] {[%cal Bg6g7]} 15... Ke7 { Before we can transition our Bishop to the second triangle by playing Ba4, we must further restrict the Black King. Start by taking away the f8 square. } { [%cal Bg6g7] } 16. Kg7 Ke8 { Play a waiting move that will help you to force Black's King back. } { [%cal Bb3c4] } 17. Bc4 Ke7 { Take away the e6 and e8 squares. } { [%cal Bc4f7] } 18. Bf7 { [%csl Re8,Re6][%cal Rf7e8,Rf7e6] } 18... Kd6 { Now invade with your King to take more territory. } { [%cal Bg7f8] } 19. Kf8 Kd7 { Since you can't invade further with your King at the moment, play another waiting move. } { [%cal Bf7b3] } 20. Bb3 Kd6 { Black's area is shrinking. Invade further! } { [%cal Bf8e8] } 21. Ke8 Kc7 { Take the opposition. } { [%cal Be8e7] } 22. Ke7 Kc6 { If you played Ba4 now, the King would escape to d5. Cover that square first. } { [%cal Be7e6] } (22... Kc8 23. Ba4 Kb7) 23. Ke6 Kb5 { You still can't play Ba4 to transition to the second triangle. Take away more territory from the Black King. Avoid putting your King on d5, because that is where you want your Knight to end up. } { [%cal Be6d6] } (23... Kc7?? 24. Ba4 Kb6 25. Kd6 Ka5 26. Bd7 Kb6 27. Nf4 Ka5 28. Nd5 { [%cal Rd5b4] }) 24. Kd6 Ka5 { Ba4 is still not possible. One more King move will solve that problem. } { [%cal Bd6c5] } 25. Kc5 Ka6 { Finally, you can transition the Bishop safely without letting the Black King escape. } { [%cal Bb3a4] } 26. Ba4 Kb7 { The Knight doesn't have to cover b4 at the moment, so this is the perfect time to re-maneuver the Knight into the perfect square for the second triangle. } { [%cal Bd3f4] } 27. Nf4 Kc8 { Get the Knight into the perfect position for the second triangle, covering b6, c7 and e7. } { [%cal Bf4d5] } 28. Nd5 Kd8 { Your King must go back in order to push Black's King further towards the corner, otherwise it will shuffle back and forth on d8 and c7. } { [%cal Bc5d6] } 29. Kd6 Kc8 { Take away the d8 square } { [%cal Bd6e7] } 30. Ke7 Kb7 { Set up the perfect Second Triangle by taking away the a6 square } { [%cal Ba4b5] } 31. Bb5 { Nice work! The King is now restricted to the Second Triangle. Notice how we control all the red squares. } { [%csl Ra6,Rb6,Rc6,Rc7,Rd7,Rd8,Re8,Bb5,Bd5,Be7][%cal Ga4e8,Ge8a8,Ga4a8] } * [Event "(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Exercise: Restricting the King to the Second Triangle"] [Site "https://lichess.org/study/ByhlXnmM"] [UTCDate "2017.08.06"] [UTCTime "19:41:23"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/4k1K1/8/8/2B5/3N4/8/8 w - - 34 18"] [SetUp "1"] 18. Bf7! { Correct! We're pushing the King back so that we can invade with Kf8. } { [%csl Re8,Re6][%cal Rf7e8,Rf7e6] } 18... Kd6 { And now? } 19. Kf8 { Correct! We invade with our King to further restrict Black. } * [Event "(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Restricting the King to the Third Triangle"] [Site "https://lichess.org/study/ByhlXnmM"] [UTCDate "2017.08.05"] [UTCTime "01:27:31"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "8/1k2K3/8/1B1N4/8/8/8/8 b - - 61 31"] [SetUp "1"] {[%cal Be7d6]} 31... Ka7 { Before you can safely transition your Bishop to the third triangle by playing Ba6, you must further restrict the Black King. Restrict the Black King further in a way that does not allow Black to take the opposition. } { [%cal Be7d6] } 32. Kd6 Kb7 { Take the opposition. } { [%cal Bd6d7] } 33. Kd7 Ka7 { Take the opposition. } { [%cal Bd7c7] } 34. Kc7 Ka8 { Transition your Bishop to the diagonal of the third triangle. } { [%cal Bb5a6] } 35. Ba6 Ka7 { Keep the Black King restricted, but don't lose your Bishop. Avoid the stalemate! } { [%cal Ba6c8] } 36. Bc8 Ka8 { Prepare Ba6. } { [%cal Bc7b6] } 37. Kb6 (37. Nc3 Ka7 38. Nb5+ Ka8 39. Bb7#) 37... Kb8 { Put your Bishop on the perfect square for the third triangle. } { [%cal Bc8a6] } 38. Ba6 { Congratulations! Notice how we control all the red squares. } { [%csl Ga6,Gb6,Gd5,Ra7,Rb7,Rc7,Rc8] } * [Event "(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Exercise: Restricting the King to the Third Triangle"] [Site "https://lichess.org/study/ByhlXnmM"] [UTCDate "2017.08.06"] [UTCTime "19:53:10"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "k7/2K5/8/1B1N4/8/8/8/8 w - - 68 35"] [SetUp "1"] 35. Ba6! { Correct! The position of the Black King allows us to transition our Bishop to the long diagonal of the Third Triangle. } 35... Ka7 36. Bc8 { Preserving the bishop while still restricting the Black King. Well done! } * [Event "(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Delivering Mate"] [Site "https://lichess.org/study/ByhlXnmM"] [UTCDate "2017.08.05"] [UTCTime "01:29:34"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "1k6/8/BK6/3N4/8/8/8/8 b - - 75 38"] [SetUp "1"] { When we reach the third triangle, our King and Bishop is restricting the enemy King which frees up our Knight to deliver mate. } 38... Ka8 { [%cal Bd5f6] } 39. Nf6 Kb8 { [%cal Bf6d7] } 40. Nd7+ Ka8 { [%cal Ba6b7] } 41. Bb7# * [Termination "mate in 3"] [Event "(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Exercise: Delivering Mate"] [Site "https://lichess.org/study/ByhlXnmM"] [UTCDate "2017.08.06"] [UTCTime "17:35:46"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "k7/8/BK6/3N4/8/8/8/8 b - - 0 1"] [SetUp "1"] {Checkmate the opponent in 3 moves} 1... Kb8 { In this position, the King is on b8 instead of a8 which means you must checkmate Black slightly differently. Mate in three. } 2. Ne7 Ka8 3. Bb7+ Kb8 4. Nc6# * [Event "(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Exercise: Checkmate the Engine"] [Site "https://lichess.org/study/ByhlXnmM"] [UTCDate "2017.08.05"] [UTCTime "13:47:56"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "4k3/8/8/8/8/8/8/4KBN1 w - - 0 1"] [SetUp "1"] {Checkmate the opponent This is where the rubber meets the road. Use everything you have learned to win the game. } * [Event "(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Exercise: Checkmate the Engine - DSB Edition"] [Site "https://lichess.org/study/ByhlXnmM"] [UTCDate "2017.08.05"] [UTCTime "16:36:04"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "4k3/8/8/8/8/8/8/4KNB1 w - - 0 1"] [SetUp "1"] {Checkmate the opponent Can you do it with a Dark Squared Bishop? } * [Event "(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Exercise: Checkmate the Engine - Rotated Edition"] [Site "https://lichess.org/study/ByhlXnmM"] [UTCDate "2017.08.05"] [UTCTime "16:38:57"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "1NBK4/8/8/8/8/8/8/3k4 w - - 0 1"] [SetUp "1"] {Checkmate the opponent A change in perspective. Can you checkmate Black on h1? } * pychess-1.0.0/learn/lessons/lichess_study_beautiful-checkmate-puzzles_by_thijscom_2018.04.16.sqlite0000644000175000017500000026000013441162535032343 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) W1learn/lessons/lichess_study_beautiful-checkmate-puzzles_by_thijscom_2018.04.16.pgn   %Qhttps://lichess.org/study/RdtICntn %Q https://lichess.org/study/RdtICntn !Ihttps://lichess.org/@/thijscom !I https://lichess.org/@/thijscom  c4zJ ] , m A  \ . /eBeautiful Checkmate Puzzles: Tkachenko, 2002,_Beautiful Checkmate Puzzles: Singer, 1986*[Beautiful Checkmate Puzzles: Loyd, 1881*[Beautiful Checkmate Puzzles: Loyd, 1880*[Beautiful Checkmate Puzzles: Loyd, 1868/eBeautiful Checkmate Puzzles: Loyd, 1859 (ii).cBeautiful Checkmate Puzzles: Loyd, 1859 (i)*[Beautiful Checkmate Puzzles: Loyd, 1857*[Beautiful Checkmate Puzzles: Loyd, 1855/eBeautiful Checkmate Puzzles: Ibulaev, 2013-D/eBeautiful Checkmate Puzzles: Ibulaev, 2013-C/eBeautiful Checkmate Puzzles: Ibulaev, 2013-B/eBeautiful Checkmate Puzzles: Ibulaev, 2013-A,_Beautiful Checkmate Puzzles: Grande, 1964/ eBeautiful Checkmate Puzzles: Denkovski, 1967- aBeautiful Checkmate Puzzles: De Veer, 1914, _Beautiful Checkmate Puzzles: Dawson, 1923/ eBeautiful Checkmate Puzzles: Courtenay, 1868. cBeautiful Checkmate Puzzles: Campbell, 1861-aBeautiful Checkmate Puzzles: Cabrera, 1964,_Beautiful Checkmate Puzzles: Betins, 1889,_Beautiful Checkmate Puzzles: Benoit, 1950-aBeautiful Checkmate Puzzles: Benko, 1983-B-aBeautiful Checkmate Puzzles: Benko, 1983-A/eBeautiful Checkmate Puzzles: Belchikov, 2006.cBeautiful Checkmate Puzzles: Bagrecov, 1974:{Beautiful Checkmate Puzzles: ▶▷ INTRODUCTION ◁◀  d5{K ^ - n B  ] / 0eBeautiful Checkmate Puzzles: Tkachenko, 2002-_Beautiful Checkmate Puzzles: Singer, 1986+[Beautiful Checkmate Puzzles: Loyd, 1881+[Beautiful Checkmate Puzzles: Loyd, 1880+[Beautiful Checkmate Puzzles: Loyd, 18680eBeautiful Checkmate Puzzles: Loyd, 1859 (ii)/cBeautiful Checkmate Puzzles: Loyd, 1859 (i)+[Beautiful Checkmate Puzzles: Loyd, 1857+[Beautiful Checkmate Puzzles: Loyd, 18550eBeautiful Checkmate Puzzles: Ibulaev, 2013-D0eBeautiful Checkmate Puzzles: Ibulaev, 2013-C0eBeautiful Checkmate Puzzles: Ibulaev, 2013-B0eBeautiful Checkmate Puzzles: Ibulaev, 2013-A-_Beautiful Checkmate Puzzles: Grande, 19640eBeautiful Checkmate Puzzles: Denkovski, 1967 .aBeautiful Checkmate Puzzles: De Veer, 1914 -_Beautiful Checkmate Puzzles: Dawson, 1923 0eBeautiful Checkmate Puzzles: Courtenay, 1868 /cBeautiful Checkmate Puzzles: Campbell, 1861 .aBeautiful Checkmate Puzzles: Cabrera, 1964-_Beautiful Checkmate Puzzles: Betins, 1889-_Beautiful Checkmate Puzzles: Benoit, 1950.aBeautiful Checkmate Puzzles: Benko, 1983-B.aBeautiful Checkmate Puzzles: Benko, 1983-A0eBeautiful Checkmate Puzzles: Belchikov, 2006/cBeautiful Checkmate Puzzles: Bagrecov, 1974:{ Beautiful Checkmate Puzzles: ▶▷ INTRODUCTION ◁◀  20180221 a Y H < g  K  ?>   O @@0?r3k3/5R1R/p6K/8/8/8/8/8 w q - 0 1A   U >>0?8/Ppk5/1N1p4/1Q1K4/8/8/8/8 w - - 0 1=   M    O 0?2b5/8/8/6pp/Q5Pk/8/7K/8 w - - 0 1     0A00 zz      `~xrlf`      zz                                F~wpib[TMF@>UTCTime22:11:18=!UTCDate2018.04.16<Opening?;UTCTime21:56:22:!UTCDate2018.04.169Opening?8UTCTime21:34:397!UTCDate2018.04.166Opening?5UTCTime23:41:364!UTCDate2018.04.163Opening?2UTCTime23:41:221!UTCDate2018.04.160Opening?/UTCTime23:41:07.!UTCDate2018.04.16-Opening?,UTCTime23:40:51+!UTCDate2018.04.16*Opening?)UTCTime02:22:49(!UTCDate2018.04.29' Opening?& UTCTime23:21:44%! UTCDate2018.04.16$ Opening?# UTCTime23:18:05"! UTCDate2018.04.16! Opening?  UTCTime00:11:39! UTCDate2018.04.18 Opening? UTCTime23:16:02! UTCDate2018.04.16 Opening? UTCTime00:13:51! UTCDate2018.04.17Opening?UTCTime23:12:27!UTCDate2018.04.16Opening?UTCTime23:08:11!UTCDate2018.04.16Opening?UTCTime00:06:35!UTCDate2018.04.17Opening?UTCTime22:56:36 !UTCDate2018.04.16 Opening? UTCTime22:53:07 !UTCDate2018.04.16 Opening?UTCTime00:00:37!UTCDate2018.04.17Opening?UTCTime23:55:03!UTCDate2018.04.16' COpeningBarnes Opening: Fool's Mate UTCTime21:28:50 !UTCDate2018.04.16././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootpychess-1.0.0/learn/lessons/lichess_study_beta-lichess-practice-queen-vs-7th-rank-pawn_by_arex_2018.04.02.sqlitepychess-1.0.0/learn/lessons/lichess_study_beta-lichess-practice-queen-vs-7th-rank-pawn_by_arex_2018.0000644000175000017500000026000013441162535032445 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) dKlearn/lessons/lichess_study_beta-lichess-practice-queen-vs-7th-rank-pawn_by_arex_2018.04.02.pgn   %Qhttps://lichess.org/study/pt20yRkT %Q https://lichess.org/study/pt20yRkT Ahttps://lichess.org/@/arex A https://lichess.org/@/arex U` E w  &  (BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: Bishop pawn, defending King on short side, King assistance on long sid (BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Bishop pawn, defending King on short side, King assistance on long side = Win (BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Bishop pawn, defending King on short side, King assistance on short side = Win(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: Bishop pawn, defending King on long side, King assistance on long side(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Bishop pawn, defending King on long side, King assistance on long side = Win  (BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Bishop pawn, defending King on long side, King assistance on short side = Winf Q(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: Rook pawn, King assistance on long sideb I(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Rook pawn, King assistance on long side = Wing S(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: Rook pawn, King assistance on short sidec K(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Rook pawn, King assistance on short side = Win^A(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: Bishop pawn, no King assistance[;(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Bishop pawn, no King assistance = Draw\=(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: Rook pawn, no King assistanceY7(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Rook pawn, no King assistance = DrawK(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: b-pawn = WinK(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: d-pawn = WinT-(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Not a Bishop or Rook pawn = WinS+(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: Queen in front = Win  '   F x V  a(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: Bishop pawn, defending King on short side, King assistance on long sid (BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Bishop pawn, defending King on short side, King assistance on long side = Win (BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Bishop pawn, defending King on short side, King assistance on short side = Win(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: Bishop pawn, defending King on long side, King assistance on long side(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Bishop pawn, defending King on long side, King assistance on long side = Win (BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Bishop pawn, defending King on long side, King assistance on short side = Win gQ(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: Rook pawn, King assistance on long side cI(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Rook pawn, King assistance on long side = Win hS(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: Rook pawn, King assistance on short side dK(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Rook pawn, King assistance on short side = Win _A(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: Bishop pawn, no King assistance\;(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Bishop pawn, no King assistance = Draw]=(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: Rook pawn, no King assistanceZ7(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Rook pawn, no King assistance = DrawL(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: b-pawn = WinL(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: d-pawn = WinU-(BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Not a Bishop or Rook pawn = WinS+ (BETA) Lichess Practice: Queen vs 7th-Rank Pawn: Exercise: Queen in front = Win  20180221  K R Y  ` " =   M i+i(0?8/4Q3/8/8/8/8/1kp5/4K3 w - - 0 1=   M dFd@0?8/4Q3/8/8/8/8/1kp5/4K3 w - - 0 1<   K ]]0?8/4Q3/8/8/K7/8/1kp5/8 w - - 0 1<   K ZZ0?8/8/Q7/8/6K1/8/2pk4/8 w - - 0 1<   K SS0?8/8/Q7/8/6K1/8/2pk4/8 w - - 0 1=    M KK 0?8/8/8/1K6/4Q3/8/2pk4/8 w - - 0 1<    K HH 0?8/8/8/8/2QK4/8/p7/1k6 w - - 0 1<    K BbB` 0?8/8/8/8/2QK4/8/p7/1k6 w - - 0 1<    K ?e?` 0?8/8/8/K7/2Q5/8/p7/1k6 w - - 0 1<    K 66 0?8/8/8/K7/2Q5/8/p7/1k6 w - - 0 1=   M 330?7K/8/4Q3/8/8/8/2p5/1k6 w - - 0 1=   M "u"p0?7K/8/4Q3/8/8/8/2p5/1k6 w - - 0 1<   K xx0?8/1K6/P7/8/3q4/8/8/7k w - - 0 1<   K 0?8/1K6/P7/8/3q4/8/8/7k w - - 0 1<   K :80?7K/8/1Q6/8/8/8/1pk5/8 w - - 0 1<   K 0?7K/8/1Q6/8/8/8/3pk3/8 w - - 0 1<   K ]X0?7K/8/1Q6/8/8/8/3kp3/8 w - - 0 17   K 0?7K/8/Q7/8/8/6k1/5p2/8 w - - 0 1                                    i+dF]ZSK H Bb ?e 6 3"ux:]       i(d@]ZSK H B` ?` 6 3"px8X                                                     8 IjSC*vfM6& p Y I 0  p Y I 0  p Y I8Opening?7UTCTime00:25:366!UTCDate2018.04.045Opening?4UTCTime23:13:553!UTCDate2018.04.032Opening?1UTCTime23:04:370!UTCDate2018.04.03/Opening?.UTCTime00:21:57-!UTCDate2018.04.04,Opening?+UTCTime22:00:41*!UTCDate2018.04.03) Opening?( UTCTime21:20:49'! UTCDate2018.04.03& Opening?% UTCTime00:18:51$! UTCDate2018.04.04# Opening?" UTCTime15:57:27!! UTCDate2018.04.03  Opening? UTCTime00:15:00! UTCDate2018.04.04 Opening? UTCTime15:52:17! UTCDate2018.04.03Opening?UTCTime00:10:30!UTCDate2018.04.04#!Terminationdraw in 20Opening?UTCTime10:49:55!UTCDate2018.04.03Opening?UTCTime00:08:45!UTCDate2018.04.04#!Terminationdraw in 20Opening?UTCTime01:20:19 !UTCDate2018.04.03 Opening? UTCTime02:57:19 !UTCDate2018.04.08 Opening?UTCTime00:58:16!UTCDate2018.04.03Opening?UTCTime23:32:24!UTCDate2018.04.02  Opening? UTCTime23:23:52 !UTCDate2018.04.02././@LongLink0000644000000000000000000000017600000000000011607 Lustar rootrootpychess-1.0.0/learn/lessons/lichess_study_beta-lichess-practice-7th-rank-rook-pawn-with-a-passive-rook_by_arex_2018.04.04.pgnpychess-1.0.0/learn/lessons/lichess_study_beta-lichess-practice-7th-rank-rook-pawn-with-a-passive-ro0000644000175000017500000003432113365545272032705 0ustar varunvarun[Event "(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: King on f7"] [Site "https://lichess.org/study/MkDViieT"] [UTCDate "2018.04.04"] [UTCTime "02:25:26"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "R7/P4k2/8/8/8/r7/6K1/8 w - - 0 1"] [SetUp "1"] {[%cal Ga8h8]} {[%csl Ra1,Ra2,Ra6,Rb6,Rb7,Rc6,Rg7,Rc7,Rh7]} {In this Study, we're going to look at Rook endgames where both sides have a Rook, but one side has a pawn on the 7th-rank and their Rook is passive, or "trapped", in front of the pawn. If Black's King is on any of the red squares when it's White to move, this position is a draw. With Black's King on b6 or b7, Black will simply capture the pawn on the next move. With Black's King on c6 or c7, Black will play Kb7 on the next move and be able to either capture the pawn or occupy the promotion square by playing Ka8. With Black's King on a1, a2, or a6, it's impossible for White to move their Rook away from the promotion square with tempo as no checks are available. White either has to move their Rook and lose the pawn, or move their King. The White King has nowhere to hide, so black can just check White forever. If the black King is on any square other than the red squares, it is a win for White. With Black's King on d7, e7 or f7, White can play Rh8. Black can't respond with Rxa7 due to Rh7+, winning the rook on a7. The best Black can do is to delay the eventual loss. With Black's King on any other square not mentioned, White can move their Rook away from the promotion square with a check and promote their pawn on the next move. Since the Black king is not on one of the red squares, we know this is a win for White. Let's win this game by playing the only winning move . } 1. Rh8 { We are now threatening to promote. However, Black can't play Rxa7 due to Rh7+, winning the rook on a7. The best Black can do is to delay the eventual loss. } { [%cal Ra3a7,Ga3a2] } 1... Ra2+ { We move towards the promotion square } { [%cal Gg2f3] } 2. Kf3 Ra3+ { [%cal Gf3e4] } 3. Ke4 Ra4+ { [%cal Ge4d5] } 4. Kd5 Ra5+ { [%cal Gd5c6] } 5. Kc6 Ra6+ { [%cal Gc6b7] } 6. Kb7 { We are now threatening a8=Q, so Black has to give up their Rook. } { [%cal Ga7a8] } 6... Rxa7+ { [%cal Gb7a7] } 7. Kxa7 * [Event "(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: King on g7"] [Site "https://lichess.org/study/MkDViieT"] [UTCDate "2018.04.04"] [UTCTime "04:14:25"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "R7/P5k1/8/8/8/r7/6K1/8 b - - 0 1"] [SetUp "1"] {[%cal Gg7h7]} {[%csl Ra1,Ra2,Ra6,Rb6,Rb7,Rg7,Rc6,Rc7,Rh7]} {If Black's King is on any of the red squares when it's White to move, this position is a draw. With Black's King on b6 or b7, Black will simply capture the pawn on the next move. With Black's King on c6 or c7, Black will play Kb7 on the next move and be able to either capture the pawn or occupy the promotion square by playing Ka8. With Black's King on a1, a2, or a6, it's impossible for White to move their Rook away from the promotion square with tempo as no checks are available. White either has to move their Rook and lose the pawn, or move their King. The White King has nowhere to hide, so black can just check White forever. If the black King is on any square other than the red squares, it is a win for White. With Black's King on d7, e7 or f7, White can play Rh8. Black can't respond with Rxa7 due to Rh7+, winning the rook on a7. The best Black can do is to delay the eventual loss. With Black's King on any other square not mentioned, White can move their Rook away from the promotion square with a check and promote their pawn on the next move. To draw this position as Black we keep our King on g7 or h7, and we keep our Rook on the promotion file whenever we can. If White moves their King next to their pawn we have to check it away. Right now, White isn't threatening anything, so we can just shuffle our King between g7 and h7. } 1... Kh7 2. Kf2 { [%cal Gh7g7] } 2... Kg7 3. Ke2 { [%cal Gg7h7] } 3... Kh7 4. Kd2 { [%cal Gh7g7] } 4... Kg7 5. Kc2 { [%cal Gg7h7] } 5... Kh7 6. Kb2 { Our Rook is threatened, so we move it away while keeping it on the promotion file. } { [%cal Ga3a6] } 6... Ra6 7. Kb3 { White has no threats, so we keep shuffling. } { [%cal Gh7g7] } 7... Kg7 8. Kb4 { [%cal Gg7h7] } 8... Kh7 9. Kb5 { Our Rook is threatened, so we move it away while keeping it on the promotion file. } { [%cal Ga6a1] } 9... Ra1 10. Kb6 { White is now protecting their pawn and threatens to move their Rook away from the promotion square, followed by a8=Q. Continuing to shuffle with Kg7 would be a losing blunder for Black. Instead, we have to check White's King away from the pawn. } { [%cal Rh7g7,Ga1b1] } 10... Rb1+ 11. Kc5 { We stay on the promotion file when we can. } { [%cal Gb1a1] } 11... Ra1 12. Kb4 { White has no threats, so we keep shuffling. } { [%cal Gh7g7] } 12... Kg7 13. Kb3 { White has no threats, so we keep shuffling. } { [%cal Gg7h7] } 13... Kh7 14. Kb2 { Our Rook is threatened, so we move it away while keeping it on the promotion file. } { [%cal Ga1a6] } 14... Ra6 * [Event "(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: King on g7, extra g-pawn"] [Site "https://lichess.org/study/MkDViieT"] [UTCDate "2018.04.04"] [UTCTime "02:39:38"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "R7/P5k1/8/8/8/r5P1/6K1/8 w - - 0 1"] [SetUp "1"] {[%cal Gg3g4]} {[%csl Ra1,Ra2,Ra6,Rb6,Rb7,Rc6,Rg7,Rc7,Rh7]} { An extra pawn on g3 has been introduced. What difference does it make? Well, if we push it to g6, it takes away the h7 square from Black's King. } 1. g4 { White has no threats, so Black shuffles. } 1... Kh7 { [%cal Gg4g5] } 2. g5 Kg7 { [%cal Gg5g6] } 3. g6 { Black can no longer shuffle their King because h7 is unavailable, but Black's King can still occupy g7 and Black can still do nothing by moving their Rook back and forth on the promotion file. Note that Kxg6 would be a losing blunder for Black due to Rg8+ followed by a8=Q. } { [%csl Bh7][%cal Rg7g6,Bg6h7] } 3... Ra4 { We can try to help our pawn with our King. } { [%cal Gg2f3] } 4. Kf3 Ra6 { [%cal Gf3e4] } 5. Ke4 Ra1 { [%cal Ge4d5] } 6. Kd5 Ra2 { [%cal Gd5c6] } 7. Kc6 Ra1 { [%cal Gc6b7] } 8. Kb7 { We are now threatening to move our Rook from the promotion square followed by a8=Q, so Black has to check our King away. } 8... Rb1+ { Let's try to hunt down the Rook. } { [%cal Gb7a6] } 9. Ka6 Ra1+ { [%cal Ga6b5] } 10. Kb5 Rb1+ { [%cal Gb5a4] } 11. Ka4 Ra1+ { [%cal Ga4b3] } 12. Kb3 Ra6 { [%cal Gb3b4] } 13. Kb4 Ra1 { [%cal Gb4b3] } 14. Kb3 * [Event "(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: King on g7, extra b-f pawn"] [Site "https://lichess.org/study/MkDViieT"] [UTCDate "2018.04.04"] [UTCTime "02:42:50"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "R7/P5k1/8/8/8/r4P2/6K1/8 w - - 0 1"] [SetUp "1"] {[%cal Gf3f4]} {[%csl Gb2,Gc2,Gd2,Ge2,Gf2]} { An extra g-pawn does not help White, but an extra b-, c-, d-, e-, or f-pawn does win for White. Why? Because we can now force Black's King away from g7 and h7. } 1. f4 { [%cal Gf4f5] } 1... Ra1 2. f5 { [%cal Gf5f6] } 2... Ra6 3. f6+ { Kh7 loses due to f7 followed by f8=Q. Kxf6 loses due to Rf8+ followed by a8=Q. Rxf6 loses due to Rb8 followed by a8=Q. What happens after Kf7? } { [%cal Ra6f6,Rg7f6,Rg7h7,Gg7f7] } 3... Kf7 { With Black's King off g7 and h7, we can exploit the skewer as before. } { [%cal Ga8h8] } (3... Kh7 4. f7) (3... Rxf6 4. Rb8) 4. Rh8 { Note that Kxf6 would lose to the skewer Rh6+, winning the Rook on a6. } { [%cal Rf7f6,Ga6a7] } 4... Rxa7 { Play the skewer we have seen before. } { [%cal Gh8h7] } (4... Kxf6 5. Rh6+) 5. Rh7+ Kxf6 6. Rxa7 * [Event "(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: Exercise: King on g7, extra c-pawn"] [Site "https://lichess.org/study/MkDViieT"] [UTCDate "2018.04.04"] [UTCTime "05:09:32"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "R7/P5k1/8/8/8/r1PK4/8/8 w - - 0 1"] [SetUp "1"] {[%csl Gb2,Gc2,Gd2,Ge2,Gf2]} {Checkmate the opponent We know that an extra b-, c-, d-, e-, or f-pawn win for White. Prove it.} * [Event "(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: Exercise: King on g7, 2 vs 1 on the King-side"] [Site "https://lichess.org/study/MkDViieT"] [UTCDate "2018.04.04"] [UTCTime "05:04:39"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "R7/P5k1/6p1/8/5P1P/8/r7/6K1 w - - 0 1"] [SetUp "1"] {[%csl Gb2,Gc2,Gd2,Ge2,Gf2]} {Checkmate the opponent We know that an extra b-, c-, d-, e-, or f-pawn win for White. Force a win.} * [Event "(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: Hochstrasser - Papa, 2012: Forcing an f-pawn"] [Site "https://lichess.org/study/MkDViieT"] [UTCDate "2018.04.04"] [UTCTime "06:00:39"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "R7/8/P5k1/5pp1/8/5PKP/r7/8 w - - 1 56"] [SetUp "1"] {[%cal Gh3h4]} {In this game, White forced an f-pawn and won the game. From [Hochstrasser - Papa, Swiss National Championship A, 2012.](https://lichess.org/TRt0CSTK#110). We attempt to force an f-pawn, which we know would be winning for us. } 56. h4 { [%cal Gg5g4,Rg5h4] } 56... gxh4+?? { gxh4+ was played in the game, but g4 would have drawn for Black as there would be no way to force an f-pawn anymore. } { [%cal Gg3h4] } (56... g4!) 57. Kxh4 Ra4+?? { Ra4+ was played in the game, but f4 would still have saved the draw for Black as White would no longer be able to win Black's f-pawn. Why? Because with the Black pawn on f4, White can no longer zugzwang Black's Rook away from protecting the pawn, which is what happens later in the game continuation. } { [%cal Gh4g3] } (57... f4!) 58. Kg3 Kf6 { Kf6 was another missed opportunity for Black to play f4. Now we get to play it, instead. } { [%cal Gf3f4] } 59. f4 Kg6 { We enter the familiar 7th rank Rook pawn position, forcing Black's King to g7 or h7 (in order to prevent White from playing Rh8). } { [%cal Ga6a7] } 60. a7 Kg7 { Since Black's King is restricted to g7 and h7, and Black's Rook is restricted to the a-file, we can start marching our King to take f5. } { [%cal Gg3f3] } 61. Kf3 Ra3+ { [%cal Gf3e2] } 62. Ke2 Kh7 { [%cal Ge2d2] } 63. Kd2 Kg7 { [%cal Gd2c2] } 64. Kc2 Kh7 { [%cal Gc2b2] } 65. Kb2 Ra6 { Note that Black has to stay on the promotion file with their Rook. } { [%cal Gb2b3] } 66. Kb3 Kg7 { [%cal Gb3c4] } 67. Kc4 Ra5 { [%cal Gc4b4] } 68. Kb4 Ra1 { [%cal Gb4c5] } 69. Kc5 Rc1+ { [%cal Gc5d6] } 70. Kd6 Ra1 { [%cal Gd6e5] } 71. Ke5 Ra5+ { [%cal Ge5e6] } 72. Ke6 Kh7 { Put Black in zugzwang. } { [%cal Ge6f6] } 73. Kf6 { Kh6 is the only legal King move, and it loses to Rh8+. This means Black has to move their Rook away from protecting the f5 pawn, or away from protecting the promotion file. } { [%cal Rh7h6] } 73... Ra1 { [%cal Gf6f5] } 74. Kxf5 Kg7 { We can now make way for our f-pawn which will force Black's king away from g7 and h7. } { [%cal Gf5g5] } 75. Kg5 Rg1+ { [%cal Gg5h4] } 76. Kh4 Ra1 { [%cal Gf4f5] } 77. f5 Rh1+ { [%cal Gh4g3] } 78. Kg3 Rg1+ { [%cal Gg3h2] } 79. Kh2 Ra1 { [%cal Gf5f6] } 80. f6+ { Moving away from g7 loses in the different ways we have seen before. Congratulations! } { [%cal Rg7f7,Rg7f6,Rg7g6,Rg7h6,Rg7h7] } * [Event "(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: Bartholomew - Thaler, 2012: Trading into a winning 4v4 pawn endgame"] [Site "https://lichess.org/study/MkDViieT"] [UTCDate "2018.04.04"] [UTCTime "06:30:20"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "R7/P6k/5pp1/4p2p/4P2P/5P2/r5PK/8 w - - 1 43"] [SetUp "1"] {[%cal Gh2g1]} {In this game, White did not force an e- or f-pawn, but rather sacrificed the a7 pawn to trade Rooks into a winning 4v4 pawn endgame. This is a useful concept to remember. From [Bartholomew - Thaler, 2012](https://lichess.org/0OQ4CsA3#84).} 43. Kg1 Kg7 { [%cal Gg1f1] } 44. Kf1 Ra1+ { [%cal Gf1e2] } 45. Ke2 Ra2+ { [%cal Ge2d3] } 46. Kd3 { Note that Black can't play Rxg2, because we will then be able to promote our pawn. } { [%cal Ra2g2] } 46... Ra4 { [%cal Gd3c3] } 47. Kc3 Ra3+ { [%cal Gc3b4] } 48. Kb4 Ra1 { [%cal Gb4c5] } 49. Kc5 Ra6 { Black is trying to restrict White's King from infiltrating Black's position. We can use the fact that Black's Rook has to stay on the promotion file to infiltrate with our King. } { [%cal Gc5b5] } 50. Kb5 Ra1 { [%cal Gb5c6] } 51. Kc6 Ra2 { [%cal Ga8d8] } 52. Rd8 Rxa7 { [%cal Gd8d7] } 53. Rd7+ Rxd7 { [%cal Gc6d7] } 54. Kxd7 { If Black goes Kf7, White can respond Kd6 and Black is in zugzwang. } { [%cal Rg7f7] } 54... Kh6 { [%cal Gd7e7] } 55. Ke7 g5 { [%cal Ge7f6] } 56. Kxf6 gxh4 { [%cal Gf6f5] } 57. Kf5 Kg7 { [%cal Gf5e5] } 58. Kxe5 { ...and we have an easily winning pawn endgame. } * [Event "(BETA) Lichess Practice: 7th-Rank Rook Pawn with a Passive Rook: Spassky - Torre, 1982: Forcing an e-pawn"] [Site "https://lichess.org/study/MkDViieT"] [UTCDate "2018.04.04"] [UTCTime "06:43:22"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/arex"] [FEN "R7/P5pk/5p2/4p2p/4P2P/5P2/6PK/r7 w - - 3 46"] [SetUp "1"] {[%cal Gg2g3]} {Due to the pawn on g7, White is unable to sacrifice the a7 pawn in order to trade Rooks. White can't force the trade of Rooks, but has to force an e- or f-pawn.} 46. g3 Ra2+ { [%cal Gh2g1] } 47. Kg1 Kg6 { [%cal Gf3f4] } 48. f4 Kf7 { [%cal Gf4e5] } 49. fxe5 fxe5 { [%cal Gg1f1] } 50. Kf1 Ra1+ { [%cal Gf1f2] } 51. Kf2 Ra3 { [%cal Gf2e2] } 52. Ke2 Kg6 { [%cal Ge2d2] } 53. Kd2 Ra4 { [%cal Gd2c3] } 54. Kc3 Ra1 { [%cal Gc3c4] } 55. Kc4 Kf7 { [%cal Gc4d5] } 56. Kd5 Ra5+ { Put Black in zugzwang. } { [%cal Gd5d6] } 57. Kd6 Kg6 { [%cal Gd6e6] } 58. Ke6 { Black doesn't want to move their Rook away from the promotion square, nor from protecting the e5 pawn. Kh6 would lose to Rh8+. Black could try Kh7, but after Kf5 g6+ Kf6, Black will eventually run out of moves and the Black Rook will be forced to move. In the game, Black moved their Rook immediately. } { [%cal Rg6h6,Ra5a1,Rg6h7] } 58... Ra1 { [%cal Ge6e5] } 59. Kxe5 Kf7 { [%cal Ge5f5] } 60. Kf5 Ra5+ { [%cal Ge4e5] } 61. e5 g6+ { [%cal Gf5e4] } 62. Ke4 { ...and due to the e-pawn, we win as we have seen before. } * ././@LongLink0000644000000000000000000000016500000000000011605 Lustar rootrootpychess-1.0.0/learn/lessons/lichess_study_game-puzzles-with-interactive-lessons_by_Francesco_Super_2017.08.27.sqlitepychess-1.0.0/learn/lessons/lichess_study_game-puzzles-with-interactive-lessons_by_Francesco_Super_20000644000175000017500000026000013441162535033363 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) hSlearn/lessons/lichess_study_game-puzzles-with-interactive-lessons_by_Francesco_Super_2017.08.27.pgn   %Qhttps://lichess.org/study/Bhmd5jqq %Q https://lichess.org/study/Bhmd5jqq (Whttps://lichess.org/@/Francesco_Super (W https://lichess.org/@/Francesco_Super  oI U _ ! g ) o<💎Game Puzzles with Interactive Lessons!💎: Puzzle 20<💎Game Puzzles with Interactive Lessons!💎: Puzzle 19<💎Game Puzzles with Interactive Lessons!💎: Puzzle 18<💎Game Puzzles with Interactive Lessons!💎: Puzzle 17<💎Game Puzzles with Interactive Lessons!💎: Puzzle 15<💎Game Puzzles with Interactive Lessons!💎: Puzzle 16< 💎Game Puzzles with Interactive Lessons!💎: Puzzle 14< 💎Game Puzzles with Interactive Lessons!💎: Puzzle 13< 💎Game Puzzles with Interactive Lessons!💎: Puzzle 11< 💎Game Puzzles with Interactive Lessons!💎: Puzzle 10; }💎Game Puzzles with Interactive Lessons!💎: Puzzle 9;}💎Game Puzzles with Interactive Lessons!💎: Puzzle 8;}💎Game Puzzles with Interactive Lessons!💎: Puzzle 7;}💎Game Puzzles with Interactive Lessons!💎: Puzzle 4;}💎Game Puzzles with Interactive Lessons!💎: Puzzle 6;}💎Game Puzzles with Interactive Lessons!💎: Puzzle 5;}💎Game Puzzles with Interactive Lessons!💎: Puzzle 3;}💎Game Puzzles with Interactive Lessons!💎: Puzzle 2;}💎Game Puzzles with Interactive Lessons!💎: Puzzle 1  p ` " h *  pJ V =💎Game Puzzles with Interactive Lessons!💎: Puzzle 20=💎Game Puzzles with Interactive Lessons!💎: Puzzle 19=💎Game Puzzles with Interactive Lessons!💎: Puzzle 18=💎Game Puzzles with Interactive Lessons!💎: Puzzle 17=💎Game Puzzles with Interactive Lessons!💎: Puzzle 15=💎Game Puzzles with Interactive Lessons!💎: Puzzle 16=💎Game Puzzles with Interactive Lessons!💎: Puzzle 14 =💎Game Puzzles with Interactive Lessons!💎: Puzzle 13 =💎Game Puzzles with Interactive Lessons!💎: Puzzle 11 =💎Game Puzzles with Interactive Lessons!💎: Puzzle 10 <}💎Game Puzzles with Interactive Lessons!💎: Puzzle 9 <}💎Game Puzzles with Interactive Lessons!💎: Puzzle 8<}💎Game Puzzles with Interactive Lessons!💎: Puzzle 7<}💎Game Puzzles with Interactive Lessons!💎: Puzzle 4<}💎Game Puzzles with Interactive Lessons!💎: Puzzle 6<}💎Game Puzzles with Interactive Lessons!💎: Puzzle 5<}💎Game Puzzles with Interactive Lessons!💎: Puzzle 3<}💎Game Puzzles with Interactive Lessons!💎: Puzzle 2;} 💎Game Puzzles with Interactive Lessons!💎: Puzzle 1  20180221  UJ0 r  c  [ S UO   q @d@`0?6k1/pP1n2p1/2p4p/4p3/2N5/3r4/P4PPP/2R3K1 w - - 0 1M   m = =0?3Q4/1r3ppk/4p3/1p2P3/3R1P1p/7P/6PK/5q2 w - - 0 1\     990?r4r1k/2p3pp/3b1p2/1p2n2q/1P6/PQ1P1N1P/1B3PP1/2R2RK1 w - - 4 24R   w 7a7`0?5rk1/Qp2pp1p/5qp1/8/8/1PbB1P2/b1P3PP/2KR3R b - - 0 17N   o 330?6k1/5ppp/Qb1p4/p3p3/4Pq2/P1N4P/1P4PK/8 w - - 2 26b    110?rnb1kbr1/ppp2p1p/3qp3/3p1p2/3P1B2/2NB1NP1/PPP2P1P/R2Q1RK1 b q - 1 10`     .A.@ 0?r1bqk2r/pppp1ppp/2n2n2/1Bb1p3/4P3/5N2/PPPP1PPP/RNBQ1RK1 w kq - 6 5P    s ** 0?5r1k/6p1/7p/4Q3/p7/P2P1r1P/1P3qP1/1R2R2K w - - 0 34R    w (( 0?1r1bk3/4pp1p/p5p1/1p3b2/8/6P1/PPPR2BP/2KR4 w - - 0 23U    } $$ 0?r1b1r1k1/1p2pp1p/pb4p1/8/8/2N3P1/PPP3BP/2KRR3 w - - 2 17Y     "r"p 0?6k1/2p1npbp/1p2p1p1/1PPp1q2/3P4/1Q2PN2/5PPP/B5K1 b - - 0 19[    0?r4rk1/1b3pp1/p1q1p2p/3p2b1/6Q1/2NB4/PPP2PPP/R3R1K1 b - - 5 19]     f`0?r4rk1/bbqn1ppp/p3p3/1p6/1P6/P1N1nNP1/1B2BP1P/R2QR1K1 w - - 0 16]     0?rn1qkbnr/p3pppp/4b3/1p6/2pP4/2N1P3/1P3PPP/R1BQKBNR w KQkq - 0 7g    d`0?r2q1rk1/ppp2pp1/2np1n1p/2b1p3/P1B1P1b1/2PP1N2/1P1N1PPP/R1BQ1RK1 w - - 1 9Y    0?r4rk1/ppp1q2p/2n1b1p1/3pP3/3P4/P1NB1N2/1P1K3Q/7R b - - 2 20T   { Y X0?rn2r2k/1b2b3/p3qpQN/1p1p4/8/4B3/PPP3PP/R4RK1 w - - 0 21_    0?r2q1r1k/pbpn1p1n/1p1pp2P/6b1/3PPN2/3B1Q2/PPP1NP2/2KR3R b - - 3 15S    0?3r2k1/1p3ppp/2p2b2/p3p3/P3P1Q1/1q4NP/5PP1/3R2K1 w - - 0 25                                     ~~@d= 97a31.A * ( $ "r fd  Y       ~~@`=97`31.@ * ( $ "p ``  X                                                       9 CjSC*jSC* j S C *   j S C *   j S C9Opening?8UTCTime06:55:357!UTCDate2017.09.146Opening?5UTCTime14:44:204!UTCDate2017.09.133Opening?2UTCTime20:55:321!UTCDate2017.09.040Opening?/UTCTime20:50:47.!UTCDate2017.09.04-Opening?,UTCTime20:33:01+!UTCDate2017.09.04*Opening?)UTCTime20:43:39(!UTCDate2017.09.04' Opening?& UTCTime20:26:43%! UTCDate2017.09.04$ Opening?# UTCTime20:53:30"! UTCDate2017.08.28! Opening?  UTCTime19:48:03! UTCDate2017.08.28 Opening? UTCTime19:28:34! UTCDate2017.08.28 Opening? UTCTime15:05:00! UTCDate2017.08.28Opening?UTCTime14:47:34!UTCDate2017.08.28Opening?UTCTime14:37:26!UTCDate2017.08.28Opening?UTCTime09:51:34!UTCDate2017.08.28Opening?UTCTime14:15:23 !UTCDate2017.08.28 Opening? UTCTime13:23:11 !UTCDate2017.08.28 Opening?UTCTime20:26:15!UTCDate2017.08.27Opening?UTCTime19:32:46!UTCDate2017.08.27  Opening? UTCTime18:31:58 !UTCDate2017.08.27././@LongLink0000644000000000000000000000017700000000000011610 Lustar rootrootpychess-1.0.0/learn/lessons/lichess_study_beta-lichess-practice-checkmating-with-a-knight-and-bishop_by_arex_2017.08.02.sqlitepychess-1.0.0/learn/lessons/lichess_study_beta-lichess-practice-checkmating-with-a-knight-and-bishop0000644000175000017500000026000013441162535033015 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) rglearn/lessons/lichess_study_beta-lichess-practice-checkmating-with-a-knight-and-bishop_by_arex_2017.08.02.pgn  !Olga Girya'Anna Ushenina !Olga Girya' Anna Ushenina  !Geneva SUI%Qhttps://lichess.org/study/ByhlXnmM !Geneva SUI%Q https://lichess.org/study/ByhlXnmM Ahttps://lichess.org/@/arex A https://lichess.org/@/arex $; R ' S s k(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Exercise: Checkmate the Engine - Rotated Editiono c(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Exercise: Checkmate the Engine - DSB Editiona G(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Exercise: Checkmate the Engine\ =(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Exercise: Delivering MateR )(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Delivering Matews(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Exercise: Restricting the King to the Third Trianglem_(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Restricting the King to the Third Trianglexu(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Exercise: Restricting the King to the Second Trianglena(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Restricting the King to the Second Trianglews(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Exercise: Restricting the King to the First Trianglem_(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Restricting the King to the First Triangle;Women Grand Prix GenevaO#(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Introduction T ( %< Stk(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Exercise: Checkmate the Engine - Rotated Edition pc(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Exercise: Checkmate the Engine - DSB Edition bG(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Exercise: Checkmate the Engine ]=(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Exercise: Delivering Mate S)(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Delivering Mate xs(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Exercise: Restricting the King to the Third Trianglen_(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Restricting the King to the Third Triangleyu(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Exercise: Restricting the King to the Second Triangleoa(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Restricting the King to the Second Trianglexs(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Exercise: Restricting the King to the First Trianglen_(BETA) Lichess Practice: Checkmating with a Knight and Bishop: Restricting the King to the First Triangle;Women Grand Prix GenevaO# (BETA) Lichess Practice: Checkmating with a Knight and Bishop: Introduction  20180221 SK O  <    K =h=h 0?1NBK4/8/8/8/8/8/8/3k4 w - - 0 1<    K ;; 0?4k3/8/8/8/8/8/8/4KNB1 w - - 0 1<    K 99 0?4k3/8/8/8/8/8/8/4KBN1 w - - 0 1;    I 77 0?k7/8/BK6/3N4/8/8/8/8 b - - 0 1>    O 5}5x 0?1k6/8/BK6/3N4/8/8/8/8 b - - 75 38?   Q 3&3 0?k7/2K5/8/1B1N4/8/8/8/8 w - - 68 35@   S .R.P0?8/1k2K3/8/1B1N4/8/8/8/8 b - - 61 31@   S ,,0?8/4k1K1/8/8/2B5/3N4/8/8 w - - 34 18@   S !!0?8/8/3k2K1/8/8/1B1N4/8/8 b - - 29 15@   S <80?6k1/5N2/5K2/8/2B5/8/8/8 w - - 20 11<   K 0?4k3/8/8/8/8/8/8/4KBN1 w - - 0 14!    2013.05.064249124630D117   K 0?4k3/8/8/8/8/8/8/4KBN1 w - - 0 1                               =h ; 9 7 5} 3&.R,!<         =h ; 9 7 5x 3 .P,!8                                           ( pW@0pW@0 { d T ; $  ( Opening?' UTCTime16:38:57&! UTCDate2017.08.05% Opening?$ UTCTime16:36:04#! UTCDate2017.08.05" Opening?! UTCTime13:47:56 ! UTCDate2017.08.05 Opening? UTCTime17:35:46! UTCDate2017.08.06# Terminationmate in 3 Opening? UTCTime01:29:34! UTCDate2017.08.05Opening?UTCTime19:53:10!UTCDate2017.08.06Opening?UTCTime01:27:31!UTCDate2017.08.05Opening?UTCTime19:41:23!UTCDate2017.08.06Opening?UTCTime01:24:34 !UTCDate2017.08.05 Opening? UTCTime15:34:50 !UTCDate2017.08.05 Opening?UTCTime00:59:47!UTCDate2017.08.05!5OpeningSlav Defense: ModernUTCTime23:23:31!UTCDate2017.08.02  Opening? UTCTime22:35:49 !UTCDate2017.08.02pychess-1.0.0/learn/lessons/lichess_study_beautiful-checkmate-puzzles_by_thijscom_2018.04.16.pgn0000644000175000017500000004136313365545272031647 0ustar varunvarun[Event "Beautiful Checkmate Puzzles: ▶▷ INTRODUCTION ◁◀"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.16"] [UTCTime "21:28:50"] [Variant "Standard"] [ECO "A00"] [Opening "Barnes Opening: Fool's Mate"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] { REGULAR PUZZLES (PARTS 1-2) AVAILABLE HERE: https://lichess.org/study/iDSPaPWA https://lichess.org/study/ByFy31hm } 1. f3 { This study is a collection of checkmating puzzles, where the assignment is to force mate within a certain number of moves. In most puzzles, there are many winning moves, but only one move leads to forced mate in the required number of moves. For puzzles where the assignment is to find the only winning (or drawing) move, see https://lichess.org/study/iDSPaPWA and https://lichess.org/study/ByFy31hm. } 1... e5 { The puzzles/chapters are listed on the left hand side above the chat window, and are sorted alphabetically by the composers of these puzzles. Each chapter represents a different puzzle. The solution can be viewed on the right hand side, together with an analysis of all the variations crucial to these puzzles. } 2. g4 { If you like these puzzles or have any comments, feel free to drop a line in the chat box on the left, or add this study to your favorites by clicking the little heart ❤️ below the board when loading the study. And as mentioned, do not forget to check out the other puzzle collections at https://lichess.org/study/iDSPaPWA and https://lichess.org/study/ByFy31hm. } 2... Qh4# * [Event "Beautiful Checkmate Puzzles: Bagrecov, 1974"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.16"] [UTCTime "23:55:03"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "2b5/8/8/6pp/Q5Pk/8/7K/8 w - - 0 1"] [SetUp "1"] { White to play and mate in two! } 1. Qe8! { White sets up a mate threat on h5, while at the same time giving up control of the g4 square. Fortunately all three captures on g4 can be met with mate on different squares. } { [%cal Ge8h5] } 1... Bxg4 (1... hxg4 2. Qh8#) (1... Kxg4 2. Qe4#) (1... Be6 2. Qxh5#) 2. Qe1# * [Event "Beautiful Checkmate Puzzles: Belchikov, 2006"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.17"] [UTCTime "00:00:37"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "b4K2/8/p1k5/4Q3/P7/8/5B2/8 w - - 0 1"] [SetUp "1"] { White to play and mate in two! } 1. Bg3 { The key move highlights the weakness of the black position along the h2-b8 diagonal. All four black's distinct replies lead to mate, while if it were white to move there would not be a mate in one. } 1... Bb7 (1... Kb7 2. Qc7#) (1... Kb6 2. Qc7#) (1... Kd7 2. Qe8#) (1... a5 2. Qb5#) 2. Qd6# * [Event "Beautiful Checkmate Puzzles: Benko, 1983-A"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.16"] [UTCTime "22:53:07"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "4k2r/R6b/1K6/8/8/8/8/1Q6 w k - 0 1"] [SetUp "1"] { White to play and mate in two! (See also Benko's associated puzzle, with the rook on b7.) } 1. Qh1! { The key move threatens mate on a8 with the queen, while keeping an eye on the h-file (and h7) to refute black's main defenses of castling and blocking a back-rank check with the bishop. } { [%cal Gh1a8] } 1... O-O (1... Be4 2. Qxh8#) (1... Kf8 2. Qa8#) 2. Qxh7# * [Event "Beautiful Checkmate Puzzles: Benko, 1983-B"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.16"] [UTCTime "22:56:36"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "4k2r/1R5b/1K6/8/8/8/8/1Q6 w k - 0 1"] [SetUp "1"] { White to play and mate in two! (See also Benko's associated puzzle, with the rook on a7.) } 1. Qa1! { The key move again threatens a back-rank mate, while attacking the rook on h8 and covering g7 in case of black castling. Note that the same move does not work when the white rook is on a7. } { [%cal Ga1a8] } 1... O-O (1... Bf5 2. Qxh8#) (1... Rg8 2. Qa8#) 2. Qg7# * [Event "Beautiful Checkmate Puzzles: Benoit, 1950"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.17"] [UTCTime "00:06:35"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/b1R5/5K2/6Q1/3kp3/3p4/8/8 w - - 0 1"] [SetUp "1"] { White to play and mate in two! } 1. Qc1! { The key move gives up control of the fifth rank, but sets up a new mate threat on d7. Black's responses can be parried with mates on c4, c5, d2, and d7. } 1... d2 (1... Bb6 2. Rd7#) (1... Bb8 2. Qc5#) (1... Kd5 2. Rd7#) (1... e3 2. Qc4#) 2. Qxd2# * [Event "Beautiful Checkmate Puzzles: Betins, 1889"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.16"] [UTCTime "23:08:11"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/8/8/8/3Q4/7K/N1pp4/3k4 w - - 0 1"] [SetUp "1"] { White to play and mate in two! } 1. Nc1! { This knight move prevents black from advancing his c-pawn, which is his main defense against most quiet first moves by white, and this also sets up dual mate threats on a1 and g1, after black's king moves to c1 and e1. } { [%cal Gd4g1] } 1... Kxc1 (1... Ke1 2. Qg1#) 2. Qa1# * [Event "Beautiful Checkmate Puzzles: Cabrera, 1964"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.16"] [UTCTime "23:12:27"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "4Q3/8/8/4p3/3NkN2/8/4K3/8 w - - 0 1"] [SetUp "1"] { White to play and mate in two! } 1. Qe7! Kxf4 (1... Kxd4 2. Qb4#) 2. Qh4# * [Event "Beautiful Checkmate Puzzles: Campbell, 1861"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.17"] [UTCTime "00:13:51"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/7B/5Q2/6p1/6k1/8/5K2/8 w - - 0 1"] [SetUp "1"] { White to play and mate in two! } 1. Qh8 Kf4 (1... Kh5 2. Bf5#) 2. Qd4# * [Event "Beautiful Checkmate Puzzles: Courtenay, 1868"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.16"] [UTCTime "23:16:02"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/8/k1K4Q/8/8/8/8/8 w - - 0 1"] [SetUp "1"] { White to play and mate in two! } 1. Qe3! { This key move takes away the a7 square from the black king, and simultaneously sets up an inevitable mate on a3. } 1... Ka5 2. Qa3# * [Event "Beautiful Checkmate Puzzles: Dawson, 1923"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.18"] [UTCTime "00:11:39"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "3kN3/3Pp3/2p1Pp2/5p2/1p3P1Q/4p3/P3P3/4K2R w K - 0 1"] [SetUp "1"] { White to play and mate in three! } 1. O-O! { The nice key move clears two squares for the white queen at once: e1 and h1. From there, the queen can reach a5 and a8, delivering checkmate, depending on which black pawn moves off the diagonal. } { [%cal Gh4h1,Gh1a8,Gh4e1,Ge1a5] } 1... c5 (1... b3 2. Qe1 b2 3. Qa5#) 2. Qh1 c4 3. Qa8# * [Event "Beautiful Checkmate Puzzles: De Veer, 1914"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.16"] [UTCTime "23:18:05"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "5k2/8/8/2K1Q2B/8/8/8/8 w - - 0 1"] [SetUp "1"] { White to play and mate in two! } 1. Qg3! { This queen move cuts the black king off from the g-file, setting up a mate on d6 on the next move. Note that white only mates in one due to it being black to move; white is not currently threatening mate in one. } 1... Ke7 2. Qd6# * [Event "Beautiful Checkmate Puzzles: Denkovski, 1967"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.16"] [UTCTime "23:21:44"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "5B2/8/5K2/3k4/8/2R5/4R3/8 w - - 0 1"] [SetUp "1"] { White to play and mate in two! } 1. Bg7 { The key move gives up control of the d6 square, and sets up two distinct mating patterns against black's two replies. Note again that white is not threatening mate in one, and is only able to deliver mate on the next move because black has to move first. } 1... Kd4 (1... Kd6 2. Rd2#) 2. Ke6# * [Event "Beautiful Checkmate Puzzles: Grande, 1964"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.29"] [UTCTime "02:22:49"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/6P1/4p3/k1K1P2R/8/6P1/8/8 w - - 0 1"] [SetUp "1"] 1. Rf5!! exf5 (1... Ka6 2. Rf7 Ka5 3. Ra7#) (1... Ka4 2. Rf3 Ka5 3. Ra3#) 2. g8=Q Ka6 (2... Ka4 3. Qa2#) (2... f4 3. Qa8#) 3. Qa8# * [Event "Beautiful Checkmate Puzzles: Ibulaev, 2013-A"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.16"] [UTCTime "23:40:51"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/8/8/N3B3/8/6NP/3P1Pk1/R3K2R w KQ - 0 1"] [SetUp "1"] { White to play and mate in two! (This is part of a four-puzzle collection with similar positions, by the same composer.) } 1. f3! { The key move removes the f-pawn from the board, luring the black king to f3 and setting up a deadly short castle. } 1... Kxf3 2. O-O# * [Event "Beautiful Checkmate Puzzles: Ibulaev, 2013-B"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.16"] [UTCTime "23:41:07"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/8/8/N3B3/8/6NP/2kP1P2/R3K2R w KQ - 0 1"] [SetUp "1"] { White to play and mate in two! (This is part of a four-puzzle collection with similar positions, by the same composer.) } 1. d3! { The key move removes the d-pawn from the board, luring the black king to d3 and setting up a deadly long castle. } 1... Kxd3 2. O-O-O# * [Event "Beautiful Checkmate Puzzles: Ibulaev, 2013-C"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.16"] [UTCTime "23:41:22"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/8/8/N3B3/8/6N1/3PPPk1/R3K2R w KQ - 0 1"] [SetUp "1"] { White to play and mate in two! (This is part of a four-puzzle collection with similar positions, by the same composer.) } 1. O-O-O! { The key move gives up control of the f-pawn, setting up a mate on h2. } 1... Kxf2 2. Rh2# * [Event "Beautiful Checkmate Puzzles: Ibulaev, 2013-D"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.16"] [UTCTime "23:41:36"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/8/8/N3B3/8/6N1/2kPPP2/R3K2R w KQ - 0 1"] [SetUp "1"] { White to play and mate in two! (This is part of a four-puzzle collection with similar positions, by the same composer.) } 1. O-O! { The key move gives up control of the d-pawn, setting up a mate on a2. } 1... Kxd2 2. Ra2# * [Event "Beautiful Checkmate Puzzles: Loyd, 1855"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.16"] [UTCTime "21:34:39"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "2brrb2/8/p7/7Q/1p1kpPp1/1P1pN1P1/3K4/8 w - - 0 1"] [SetUp "1"] { White to play and mate in two! } 1. Qa5! { Surprisingly enough, after this move black is in zugzwang! The rooks and bishops together cover key squares on the fifth rank (c5, d5, e5, f5), and all moves lose control of one of these important squares, allowing mate by the knight or queen. } 1... Bc5 (1... Bd6 2. Qd5#) (1... Be7 2. Qe5#) (1... Bg7 2. Qxb4#) (1... Rd7 2. Nf5#) (1... Rd6 2. Qxb4#) (1... Rd5 2. Qxd5#) (1... Re7 2. Qxb4#) (1... Re6 2. Nf5#) (1... Re5 2. Qxe5#) (1... Bd7 2. Qd5#) (1... Be6 2. Qe5#) (1... Bf5 2. Nxf5#) (1... Bb7 2. Nf5#) (1... Bh6 2. Qxb4#) 2. Qa1# * [Event "Beautiful Checkmate Puzzles: Loyd, 1857"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.16"] [UTCTime "21:56:22"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/8/8/8/5N2/6n1/1np5/1rk1K2Q w - - 0 1"] [SetUp "1"] { White to play and mate in two! } 1. Qa8! { This key move covers a1, preventing black from moving the rook, while the white knight pins the black knights to the defense of d3 and e2 respectively. Black is in zugzwang, and has to allow one of these three mates. } 1... Nf1 (1... Nc4 2. Nd3#) (1... Ra1 2. Qxa1#) 2. Ne2# * [Event "Beautiful Checkmate Puzzles: Loyd, 1859 (i)"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.16"] [UTCTime "22:11:18"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/8/8/6Q1/4R3/2K2p2/5k2/5b2 w - - 0 1"] [SetUp "1"] { White to play and mate in two! } 1. Re1! { The key move indirectly threatens mate on g1 with the queen, preventing black from moving the bishop. This rook move introduces two more mating patterns, to refute black's attempts 1... Kxe1 and 1... Bg2. } 1... Bg2 (1... Be2 2. Qg1#) (1... Kxe1 2. Qd2#) 2. Qh4# * [Event "Beautiful Checkmate Puzzles: Loyd, 1859 (ii)"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.16"] [UTCTime "22:25:00"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "4R2b/5k2/3K4/4p3/4P2Q/8/8/8 w - - 0 1"] [SetUp "1"] { White to play and mate in two! } 1. Qg4! { The solution gives the black king an extra square (f6) and does not threaten any direct mates, but again relies on zugzwang to force mate on the next move. Black has four main defenses, where the two bishop mates lead to the same (but reflected) mating patterns. Black's king moves introduce two distinct mating patterns as well. } 1... Kxe8 (1... Bf6 2. Qg8#) (1... Bg7 2. Qe6#) (1... Kf6 2. Rf8#) 2. Qg8# * [Event "Beautiful Checkmate Puzzles: Loyd, 1868"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.16"] [UTCTime "22:04:22"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "n3k2r/1Pb1p3/1p2Q3/1K1B4/8/8/8/8 w - - 0 1"] [SetUp "1"] { White to play and mate in two! } 1. b8=N! { This surprising key move covers the d7-square - against most other moves, black can play 1... Bd8, but in this case white has a mate on f7. Note that white is not threatening mate in one at the moment, and it is only because black is in zugzwang that he can deliver mate in two. } (1. b8=Q+ Bd8) (1. bxa8=Q+ Bd8) (1. Kc6 Rh6) 1... Bd8 (1... Bxb8 2. Qc8#) (1... Rf8 2. Qd7#) (1... Rh5 2. Qg8#) (1... Kf8 2. Qf7#) 2. Qf7# * [Event "Beautiful Checkmate Puzzles: Loyd, 1880"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.16"] [UTCTime "21:30:09"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/8/8/8/1BB5/NN6/krQ5/7K w - - 0 1"] [SetUp "1"] { White to play and mate in two! } 1. Qh7! { This key move puts black in zugzwang. White does not threaten mate directly, but most rook moves allow 2. Qb1#. Retreating all the way to h7 further makes sure that 1... Rh2+ can be met with 2. Qxh2#. } 1... Rh2+ (1... Rxb3 2. Qb1#) (1... Rd2 2. Qb1#) (1... Rc2 2. Qxc2#) 2. Qxh2# * [Event "Beautiful Checkmate Puzzles: Loyd, 1881"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.16"] [UTCTime "22:38:57"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/8/7p/4K1kb/8/7R/7Q/8 w - - 0 1"] [SetUp "1"] { White to play and mate in two! } 1. Qa2! { This queen move sets up (indirect) mating threats on g2 and g8, putting black in zugzwang - all his moves allow either Qg2# or Qg8#. } 1... Kg6 (1... Kg4 2. Qg2#) (1... Bg4 2. Qg8#) (1... Bg6 2. Qg2#) 2. Qg8# * [Event "Beautiful Checkmate Puzzles: Singer, 1986"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.17"] [UTCTime "00:24:17"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "8/Ppk5/1N1p4/1Q1K4/8/8/8/8 w - - 0 1"] [SetUp "1"] { White to play and mate in two! } 1. Qa4! { The solution keeps an eye on d7 (in case the black king tries to flee), and gives up the white knight, setting up a new mate on a8 in case black captures the knight. } 1... Kxb6 (1... Kd8 2. Qd7#) 2. a8=N# * [Event "Beautiful Checkmate Puzzles: Tkachenko, 2002"] [Site "https://lichess.org/study/RdtICntn"] [UTCDate "2018.04.16"] [UTCTime "23:35:19"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/thijscom"] [FEN "r3k3/5R1R/p6K/8/8/8/8/8 w q - 0 1"] [SetUp "1"] { White to play and mate in two! } 1. Rb7! { White has a variety of ways to set up a checkmate threat on h8, but this key move is the only move that refutes black's main defense, which is castling long. } { [%cal Gh7h8] } (1. Kg6? O-O-O) 1... O-O-O (1... a5 2. Rh8#) 2. Rhc7# * ././@LongLink0000644000000000000000000000016200000000000011602 Lustar rootrootpychess-1.0.0/learn/lessons/lichess_study_game-puzzles-with-interactive-lessons_by_Francesco_Super_2017.08.27.pgnpychess-1.0.0/learn/lessons/lichess_study_game-puzzles-with-interactive-lessons_by_Francesco_Super_20000644000175000017500000004131013365545272033374 0ustar varunvarun[Event "💎Game Puzzles with Interactive Lessons!💎: Puzzle 1"] [Site "https://lichess.org/study/Bhmd5jqq"] [UTCDate "2017.08.27"] [UTCTime "18:31:58"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "3r2k1/1p3ppp/2p2b2/p3p3/P3P1Q1/1q4NP/5PP1/3R2K1 w - - 0 25"] [SetUp "1"] { PUZZLE 62095. Our aim in this position is to threaten checkmate and black is going be forced to lose the bishop to avoid it. What is the best move to start this attack } 25. Rxd8+ { Excellent move, keep it going! Our aim is to rank mate the King. } (25. Ra1 { This move is ok because we are temporarily defending the a4 pawn. But there is a more aggressive move that can be played, can you find it? }) 25... Bxd8 { Now we want to threaten checkmate. Can you find the best move? } 26. Qd7 { Nice! The bishop can't move anywhere otherwise it's checkmate } { [%cal Ga8h8] } (26. Qc8 { The bishop can be protected by the Queen } 26... Qb6) (26. Nf5 { We are not threatening the bishop and blacks can just play g6 }) 26... g6 { g6 prevents the King from being rank-mated but Black had to give up its bishop :) } 27. Qxd8+ { Congratulations! You completed the puzzle! } (27. Qe8+ { It's a nice move but not the best one. Don't worry, you can try again :) }) * [Event "💎Game Puzzles with Interactive Lessons!💎: Puzzle 2"] [Site "https://lichess.org/study/Bhmd5jqq"] [UTCDate "2017.08.27"] [UTCTime "19:32:46"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "r2q1r1k/pbpn1p1n/1p1pp2P/6b1/3PPN2/3B1Q2/PPP1NP2/2KR3R b - - 3 15"] [SetUp "1"] { How can we take advantage of this position as Black? Can you find the best move? Good luck! ;) } 15... e5 { Great move! The knight is pinned so it can't move anywhere } 16. dxe5 { The knight is still pinned... } 16... dxe5 { Good! The knight will get taken because of it can't move anywhere because of the pin. } 17. Bb5 { This is a good move by White, which is attacking the knight with the rook and the bishop. } 17... c6 { Well spotted! We now defend the knight and attack the bishop. We don't need to take the f4 knight because it's still pinned :) } (17... exf4 { Not the correct move yet. Now whites can take our knight. }) 18. Bc4 { Now it gets easier :) } 18... exf4 { Nice! Well done!! Please proceed to the next puzzle :) } * [Event "💎Game Puzzles with Interactive Lessons!💎: Puzzle 3"] [Site "https://lichess.org/study/Bhmd5jqq"] [UTCDate "2017.08.27"] [UTCTime "20:26:15"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "rn2r2k/1b2b3/p3qpQN/1p1p4/8/4B3/PPP3PP/R4RK1 w - - 0 21"] [SetUp "1"] { This is a checkmate in 5 moves for White. It's difficult to find the best move but if you analyze the position well you can do it :) } 21. Rf3 { Correct, well done! } (21. Rf4 { It's the equivalent of another move with the rook but the computer only allows one. }) 21... Bf8 { Now we have to start attacking the King } 22. Nf7+ { Nice move! } 22... Qxf7 { Now we're almost done. Can you find the best move? Remember that we don't want to take more pieces as possible, we want to checkmate. } 23. Rh3+ { Excellent! The King doesn't have any squares available anymore. } { [%cal Gh3h8] } 23... Bh6 { The only move to avoid a checkmate in one. } 24. Rxh6+ { Good move! } 24... Qh7 { Now checkmate the King! :) } 25. Qxh7# { Well done!! Congratulations!! :) } (25. Rxh7# { Checkmate as well, but mate with the Queen }) * [Event "💎Game Puzzles with Interactive Lessons!💎: Puzzle 5"] [Site "https://lichess.org/study/Bhmd5jqq"] [UTCDate "2017.08.28"] [UTCTime "13:23:11"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "r4rk1/ppp1q2p/2n1b1p1/3pP3/3P4/P1NB1N2/1P1K3Q/7R b - - 2 20"] [SetUp "1"] { White has some well-positioned pieces, such as the Queen and the Rook, which are attacking h7 and threatening mate. } 20... Rxf3 { Good, the knight was hanging } 21. Bxg6 { White is very aggressive. We can't take the bishop otherwise it's checkmate in two, Can you find a good move now? Be careful, analyze the position well before moving :) } 21... Qg5+ { Excellent! } { [%csl Gg5][%cal Gg5g6,Gg5d2] } 22. Kd1 { What is the most logical move here? } 22... Qxg6 23. Rg1 { It looks like a very nice move by White. How does Black respond? } { [%cal Gg1g8] } 23... Bg4 { Very good! The Queen is not pinned anymore. } 24. Nxd5 { This was a blunder by the GM, it's a forced checkmate sequence now. } 24... Qb1+ { Well spotted! } (24... Rh3+ { This is the move I played (which is not a bad move) but it's not the best one. }) 25. Ke2 { Take a look at the position carefully. Which move can lead to a checkmate in 1? } 25... Nxd4+ 26. Kd2 { Now deliver checkmate :) } 26... Rd3# { Congratulations! It's checkmate! Proceed to the next chapter for the next puzzle. } * [Event "💎Game Puzzles with Interactive Lessons!💎: Puzzle 6"] [Site "https://lichess.org/study/Bhmd5jqq"] [UTCDate "2017.08.28"] [UTCTime "14:15:23"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "r2q1rk1/ppp2pp1/2np1n1p/2b1p3/P1B1P1b1/2PP1N2/1P1N1PPP/R1BQ1RK1 w - - 1 9"] [SetUp "1"] { Black can lose some material here } 9. b4 { Well done! } 9... Nxb4 { Now Black takes the pawn with the knight trying to lose less material as possible } 10. cxb4 { Correct, well done! } 10... Bxb4 * [Event "💎Game Puzzles with Interactive Lessons!💎: Puzzle 4"] [Site "https://lichess.org/study/Bhmd5jqq"] [UTCDate "2017.08.28"] [UTCTime "09:51:34"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "rn1qkbnr/p3pppp/4b3/1p6/2pP4/2N1P3/1P3PPP/R1BQKBNR w KQkq - 0 7"] [SetUp "1"] { This is a very good position for White which has many good moves available in this position. However, one move can launch a very strong attack towards Black's Queenside; can you find it? :) } 7. Qf3 { Very good! We are attacking the rook and black can only make one move to avoid losing material } { [%cal Gf3a8] } 7... Nd7 { Black's Queenside is very weak with some hanging pieces... } 8. Nxb5 { Nice! b5 was hanging. } (8. d5 { Nice move, but not the best one :) }) 8... a6 { This is a big blunder from Black. Take a look at the position and find the best move for White. } 9. Qxa8 { Excellent move, well done! Our b5 knight can make a tremendous fork :) } (9. Nc7+ { Good move but you can do better :) }) 9... Qxa8 { The next move is easy to spot and now White has an enormous advantage :) } 10. Nc7+ { Excellent!! You completed the puzzle! Proceed to the next chapter :) } * [Event "💎Game Puzzles with Interactive Lessons!💎: Puzzle 7"] [Site "https://lichess.org/study/Bhmd5jqq"] [UTCDate "2017.08.28"] [UTCTime "14:37:26"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "r4rk1/bbqn1ppp/p3p3/1p6/1P6/P1N1nNP1/1B2BP1P/R2QR1K1 w - - 0 16"] [SetUp "1"] { Black just sacrificed a knight for a pawn (e3). How should White reply to this move? } 16. fxe3 { Good, this was quite easy to spot ;) } 16... Bxe3+ { Move the King in the safest square } 17. Kf1 { Ok nice! } (17. Kg2 { Good move but try again }) 17... Bxf3 { Black is launching pieces towards the Kingside but this is a mistake. } 18. Bxf3 { Excellent move: we are attacking the rook with the bishop and the opponent's bishop with our rook. } { [%cal Gf3a8,Be1e3] } 18... Rac8 { Easy... } 19. Rxe3 { Great! You completed the puzzle :) } * [Event "💎Game Puzzles with Interactive Lessons!💎: Puzzle 8"] [Site "https://lichess.org/study/Bhmd5jqq"] [UTCDate "2017.08.28"] [UTCTime "14:47:34"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "r4rk1/1b3pp1/p1q1p2p/3p2b1/6Q1/2NB4/PPP2PPP/R3R1K1 b - - 5 19"] [SetUp "1"] { Before moving, analyze the position carefully and the possible threats that Black can make. } 19... f5 { Well done! } (19... d4 { It is a nice idea but White can simply make the move Qe4 } { [%cal Gc6g2,Gd4c3] }) (19... Bd2 { Good move but can be defended by Ra1 or Rd1 }) 20. Qb4 { Very bad mistake from White. Now we can make a strong forcing move } 20... d4 { Excellent move! We are attacking the knight and threatening checkmate at the same time } { [%csl Bg2,Bb7,Bc6][%cal Gd4c3,Bc6g2] } 21. Ne4 { Be careful now, don't fall in the trap } 21... Rab8 (21... fxe4 { It's not a good move yet. Now the bishop can take the pawn and our bishop will get attacked. } { [%cal Gd3e4,Ge4a8] }) 22. Qxd4 { Now the next move is very clear } 22... fxe4 { Very good, now we are up in material and the game is winning. :) } * [Event "💎Game Puzzles with Interactive Lessons!💎: Puzzle 9"] [Site "https://lichess.org/study/Bhmd5jqq"] [UTCDate "2017.08.28"] [UTCTime "15:05:00"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "6k1/2p1npbp/1p2p1p1/1PPp1q2/3P4/1Q2PN2/5PPP/B5K1 b - - 0 19"] [SetUp "1"] { Take a look at White's pieces here. We can gain some advantage in this position. } 19... bxc5 { Nice move! We gained a pawn advantage } 20. dxc5 { What a blunder!! } 20... Bxa1 { Great! You completed this puzzle (easy one)! } * [Event "💎Game Puzzles with Interactive Lessons!💎: Puzzle 10"] [Site "https://lichess.org/study/Bhmd5jqq"] [UTCDate "2017.08.28"] [UTCTime "19:28:34"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "r1b1r1k1/1p2pp1p/pb4p1/8/8/2N3P1/PPP3BP/2KRR3 w - - 2 17"] [SetUp "1"] { We can make a very strong move in this position. } 17. Nd5 { Well done! We are attacking the bishop and at the same time threatening the fork. } { [%cal Gd5b6,Gd5c7] } 17... Bd8 { Look at black's pieces, they are not well positioned at all, right? } 18. Nf6+ { Great! The e7 pawn can't eat the knight because otherwise, our rook will take our opponent's rook which is unprotected. } { [%cal Re7f6,Ye1e8,Bf6g8,Bf6e8] } 18... Kf8 { Easy to spot this :) } 19. Nxe8 { Good :) Proceed to the next chapter } * [Event "💎Game Puzzles with Interactive Lessons!💎: Puzzle 11"] [Site "https://lichess.org/study/Bhmd5jqq"] [UTCDate "2017.08.28"] [UTCTime "19:48:03"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "1r1bk3/4pp1p/p5p1/1p3b2/8/6P1/PPPR2BP/2KR4 w - - 0 23"] [SetUp "1"] { Our aim here is to gain some material advantage. } 23. Bc6+ { Excellent, well done! The King is forced to move and the dark-squared bishop will get taken. } 23... Kf8 { The next move is pretty obvious ;) } 24. Rxd8+ { Nice! } 24... Rxd8 { The only move Black can play to lose as less material as possible. Now it's a won game for white. } 25. Rxd8+ { Good, you completed this puzzle :) } 25... Kg7 * [Event "💎Game Puzzles with Interactive Lessons!💎: Puzzle 13"] [Site "https://lichess.org/study/Bhmd5jqq"] [UTCDate "2017.08.28"] [UTCTime "20:53:30"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "5r1k/6p1/7p/4Q3/p7/P2P1r1P/1P3qP1/1R2R2K w - - 0 34"] [SetUp "1"] { This is a good position for White and Black is aiming for a draw. } 34. Re2 { Excellent move! If we sould have taken the rook it would have been a draw because of perpetual checking. } (34. gxf3 { Big blunder! Now blacks can perpetually check the King which means DRAW }) (34. Rf1 { A Big blunder which leads to draw }) 34... Qg3 { Find the best move } 35. gxf3 { Good, now there is not anymore the risk of perpetual check and we could take the rook. } 35... Qxh3+ { Well done, you completed the puzzle! } * [Event "💎Game Puzzles with Interactive Lessons!💎: Puzzle 14"] [Site "https://lichess.org/study/Bhmd5jqq"] [UTCDate "2017.09.04"] [UTCTime "20:26:43"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "r1bqk2r/pppp1ppp/2n2n2/1Bb1p3/4P3/5N2/PPPP1PPP/RNBQ1RK1 w kq - 6 5"] [SetUp "1"] { This positions is very common after the Ruy Lopez Opening. The best move is quite difficult to find ;) } 5. Nxe5 { Very well spotted! } 5... Nxe5 { What's the best move now? } 6. d4 { Well done! } 6... c6 { You have a series of options here, but there is only one best move available } 7. dxe5 { Correct, now if Black takes our bishop, we will take the other knight as well } (7. Ba4 { Good, but not the best move }) 7... cxb5 { Seems pretty obvious, right? ;) } 8. exf6 { Excellent, you completed this puzzle! } * [Event "💎Game Puzzles with Interactive Lessons!💎: Puzzle 16"] [Site "https://lichess.org/study/Bhmd5jqq"] [UTCDate "2017.09.04"] [UTCTime "20:43:39"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "rnb1kbr1/ppp2p1p/3qp3/3p1p2/3P1B2/2NB1NP1/PPP2P1P/R2Q1RK1 b q - 1 10"] [SetUp "1"] { This puzzle is quite short. Analyze the position carefully and find the best move. } 10... Qxf4 { Yup, well spotted! :) The g3 pawn is pinned because of the rook in g8 } { [%csl Gg8][%cal Gg8g1] } * [Event "💎Game Puzzles with Interactive Lessons!💎: Puzzle 15"] [Site "https://lichess.org/study/Bhmd5jqq"] [UTCDate "2017.09.04"] [UTCTime "20:33:01"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "6k1/5ppp/Qb1p4/p3p3/4Pq2/P1N4P/1P4PK/8 w - - 2 26"] [SetUp "1"] 26. Kh1 { This is a checkmate in 7 moves } 26... Qc1+ { Cool, that's the best move } 27. Kh2 { It gets tricky now, analyse the position carefully! } 27... Bg1+ { Good, we are getting there } (27... Qg1+ { Not the best move, now it's checkmate in 9 moves :( }) 28. Kh1 { what about now? } 28... Bf2+ { Excellent, it's checkmate in 3 } 29. Nd1 { The only move to avoid a checkmate in 1 } 29... Qxd1+ { Nice! We are almost done! } 30. Qf1 { well... the next move is so easy to spot xD } 30... Qxf1+ 31. Kh2 { Now deliver checkmate! :)) } 31... Qg1# { Well done!! :)) } * [Event "💎Game Puzzles with Interactive Lessons!💎: Puzzle 17"] [Site "https://lichess.org/study/Bhmd5jqq"] [UTCDate "2017.09.04"] [UTCTime "20:50:47"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "5rk1/Qp2pp1p/5qp1/8/8/1PbB1P2/b1P3PP/2KR3R b - - 0 17"] [SetUp "1"] { This puzzle is quite easy. Black has a two Bishop advantage and it's checkmate in 3 moves. } 17... Qf4+ { Good! The King doesn't have any squares to go to. } 18. Qe3 Qxe3+ 19. Rd2 Qxd2# { Proceed to the next puzzle :) } * [Event "💎Game Puzzles with Interactive Lessons!💎: Puzzle 18"] [Site "https://lichess.org/study/Bhmd5jqq"] [UTCDate "2017.09.04"] [UTCTime "20:55:32"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "r4r1k/2p3pp/3b1p2/1p2n2q/1P6/PQ1P1N1P/1B3PP1/2R2RK1 w - - 4 24"] [SetUp "1"] { We can gain some advantage here. Black has a bad pawn structure and White has many attacking chances. } 24. Nxe5 { Good! } (24. Bxe5 { Correct, but there is another move }) 24... Bxe5 { Mistake by Black. } 25. Rc5 { Very good, the bishop is pinned now } { [%csl Re5][%cal Gc5h5] } 25... Qe2 { Our bishop is attacked } 26. Bxe5 { Excellent! } 26... fxe5 { We can gain some material in this position. All our pieces are protected and we have the initiative in this game } 27. Rxc7 { Well done, you completed the puzzle! } (27. Rxb5) * [Event "💎Game Puzzles with Interactive Lessons!💎: Puzzle 19"] [Site "https://lichess.org/study/Bhmd5jqq"] [UTCDate "2017.09.13"] [UTCTime "14:44:20"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "3Q4/1r3ppk/4p3/1p2P3/3R1P1p/7P/6PK/5q2 w - - 0 1"] [SetUp "1"] { This is a very interesting position.What is the best move here. } 1. Qxh4+ { Very good!Well spotted! } 1... Kg6 { Forced move as if the king is moved to g8 then it is a mate.What would you play now? } 2. Qg5+ { Very good!Keep it up! } (2. f5+ { The pawn can get captured. }) 2... Kh7 { Forced move.What would you play now } 3. Qh5+ { Well done! } { [%cal Gh5g6,Gh5h6] } (3. Qh4+ { Not the best move as it doesnt cover g7 square }) 3... Kg8 { Deliver mate now :D } 4. Rd8# { Well done Chess detective!You did it! } * [Event "💎Game Puzzles with Interactive Lessons!💎: Puzzle 20"] [Site "https://lichess.org/study/Bhmd5jqq"] [UTCDate "2017.09.14"] [UTCTime "06:55:35"] [Variant "Standard"] [ECO "?"] [Opening "?"] [Result "*"] [Annotator "https://lichess.org/@/Francesco_Super"] [FEN "6k1/pP1n2p1/2p4p/4p3/2N5/3r4/P4PPP/2R3K1 w - - 0 1"] [SetUp "1"] { What would you play here?Be careful this is a very tricky one. } 1. Nxe5 { Correct! } (1. b8=Q+ { The knight can capture the queen. }) 1... Nb8 { Now if black captured the knight white would have got a queen.Now what would you play! } 2. Nxd3 { Well done!Proceed now! } *pychess-1.0.0/learn/lessons/lichess_study_beautiful-chess-studies-2_by_thijscom_2018.04.17.sqlite0000644000175000017500000026000013441162535031630 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) U-learn/lessons/lichess_study_beautiful-chess-studies-2_by_thijscom_2018.04.17.pgn   %Qhttps://lichess.org/study/ByFy31hm %Q https://lichess.org/study/ByFy31hm !Ihttps://lichess.org/@/thijscom !I https://lichess.org/@/thijscom &e4m; | I  } J  d 1  n @  Q !/&eBeautiful Chess Studies (2): Zacharov, 1988*/%eBeautiful Chess Studies (2): Troitsky, 1895*.$cBeautiful Chess Studies (2): Slepyan, 1983*/#eBeautiful Chess Studies (2): Sackmann, 1909*."cBeautiful Chess Studies (2): Sabinin, 1983*.!cBeautiful Chess Studies (2): Rusinek, 1987*. cBeautiful Chess Studies (2): Rjabinin, 1991,_Beautiful Chess Studies (2): Rinck, 1917*,_Beautiful Chess Studies (2): Rinck, 1907*,_Beautiful Chess Studies (2): Rinck, 1905*2kBeautiful Chess Studies (2): Rinck, 1903 (iii)*1iBeautiful Chess Studies (2): Rinck, 1903 (ii)*,_Beautiful Chess Studies (2): Rinck, 1903*1iBeautiful Chess Studies (2): Rinck, 1902 (ii)*,_Beautiful Chess Studies (2): Rinck, 1902*+]Beautiful Chess Studies (2): Reti, 1923*+]Beautiful Chess Studies (2): Reti, 1922*-aBeautiful Chess Studies (2): Prokes, 1940*-aBeautiful Chess Studies (2): Prokes, 1939*1iBeautiful Chess Studies (2): Pogosyants, 1986*1iBeautiful Chess Studies (2): Pogosyants, 1970*1iBeautiful Chess Studies (2): Pogosyants, 1968*1iBeautiful Chess Studies (2): Pogosyants, 1963*1iBeautiful Chess Studies (2): Pogosyants, 1962*1iBeautiful Chess Studies (2): Mitrofanov, 1967*3 mBeautiful Chess Studies (2): Maksimovskih, 1982*+ ]Beautiful Chess Studies (2): Leow, 1849*- aBeautiful Chess Studies (2): Kubbel, 1934*, _Beautiful Chess Studies (2): Klukin, 19820 gBeautiful Chess Studies (2): Kasparyan, 1935*-aBeautiful Chess Studies (2): Kaminer, 19271iBeautiful Chess Studies (2): Kalandadze, 1981*1iBeautiful Chess Studies (2): Kalandadze, 1966*0gBeautiful Chess Studies (2): Kalandadze, 1965/eBeautiful Chess Studies (2): Heuacker, 1930*+]Beautiful Chess Studies (2): Grin, 1975*0gBeautiful Chess Studies (2): Ditrichson, 1926:{Beautiful Chess Studies (2): ▶▷ INTRODUCTION ◁◀ &f5n< } J  ~ K  2 e  o A  R "0eBeautiful Chess Studies (2): Zacharov, 1988*&0eBeautiful Chess Studies (2): Troitsky, 1895*%/cBeautiful Chess Studies (2): Slepyan, 1983*$0eBeautiful Chess Studies (2): Sackmann, 1909*#/cBeautiful Chess Studies (2): Sabinin, 1983*"/cBeautiful Chess Studies (2): Rusinek, 1987*!/cBeautiful Chess Studies (2): Rjabinin, 1991 -_Beautiful Chess Studies (2): Rinck, 1917*-_Beautiful Chess Studies (2): Rinck, 1907*-_Beautiful Chess Studies (2): Rinck, 1905*3kBeautiful Chess Studies (2): Rinck, 1903 (iii)*2iBeautiful Chess Studies (2): Rinck, 1903 (ii)*-_Beautiful Chess Studies (2): Rinck, 1903*2iBeautiful Chess Studies (2): Rinck, 1902 (ii)*-_Beautiful Chess Studies (2): Rinck, 1902*,]Beautiful Chess Studies (2): Reti, 1923*,]Beautiful Chess Studies (2): Reti, 1922*.aBeautiful Chess Studies (2): Prokes, 1940*.aBeautiful Chess Studies (2): Prokes, 1939*2iBeautiful Chess Studies (2): Pogosyants, 1986*2iBeautiful Chess Studies (2): Pogosyants, 1970*2iBeautiful Chess Studies (2): Pogosyants, 1968*2iBeautiful Chess Studies (2): Pogosyants, 1963*2iBeautiful Chess Studies (2): Pogosyants, 1962*2iBeautiful Chess Studies (2): Mitrofanov, 1967*4mBeautiful Chess Studies (2): Maksimovskih, 1982* ,]Beautiful Chess Studies (2): Leow, 1849* .aBeautiful Chess Studies (2): Kubbel, 1934* -_Beautiful Chess Studies (2): Klukin, 1982 1gBeautiful Chess Studies (2): Kasparyan, 1935* .aBeautiful Chess Studies (2): Kaminer, 19272iBeautiful Chess Studies (2): Kalandadze, 1981*2iBeautiful Chess Studies (2): Kalandadze, 1966*1gBeautiful Chess Studies (2): Kalandadze, 19650eBeautiful Chess Studies (2): Heuacker, 1930*,]Beautiful Chess Studies (2): Grin, 1975*1gBeautiful Chess Studies (2): Ditrichson, 1926:{ Beautiful Chess Studies (2): ▶▷ INTRODUCTION ◁◀  20180221 &`J u % W  H @ l !Lu1aC&   U &0?8/8/4R3/5b2/7k/3r4/5P2/1K6 w - - 0 1A%   U %0?5k2/4p2p/6P1/3K4/8/4B3/8/8 w - - 0 1D$   [ }}$0?2kb4/4P3/K1p5/8/8/6q1/8/1R3B2 w - - 0 1C#   Y {{#0?8/6P1/2P2n2/k7/2n5/2N3K1/8/8 w - - 0 1C"   Y z"z "0?8/P7/4b3/Nk1r4/1p6/pK6/2P5/8 w - - 0 1B!   W xSxP!0?7B/7P/8/8/k7/1p3b2/n2P4/1K6 w - - 0 1?    Q nn 0?5nB1/8/3K2P1/6k1/8/8/8/8 w - - 0 1I   e kk0?3N4/4p3/q3Bpp1/1N2k3/P6P/6P1/3K4/8 w - - 0 1I   e j'j 0?6r1/3p3p/p3P2P/k7/1p1PN3/1P6/8/5K2 w - - 0 1D   [ h7h00?b5K1/6P1/8/4B3/2N5/8/5p1p/3k4 w - - 0 1E   ] ee0?8/6p1/3B4/4N3/4p1Pk/8/p3pP1K/8 w - - 0 1F   _ bb0?6q1/6p1/2k4p/R6B/p7/8/2P3P1/2K5 w - - 0 1I   e ``0?4k3/2R5/6p1/1pK1p1q1/8/2N3P1/3P4/8 w - - 0 1D   [ ^^0?k2n4/p1BK4/8/1p6/8/1P1B4/q7/8 w - - 0 1L   k \ \0?8/1qp5/p1p1pn1P/4k3/5pP1/1N5K/PR3P2/8 w - - 0 1>   O Z~Zx0?8/8/5K1B/8/8/1p6/k7/2R5 w - - 0 1F   _ WW0?8/5p2/8/kpN2P2/8/2R2K2/3pP3/2n5 w - - 0 1?   Q TT0?k1K5/r7/8/4R3/r3R3/8/8/8 w - - 0 1>   O RR0?8/8/8/7K/2k5/3pp3/8/5R2 w - - 0 1=   M PMPH0?8/8/8/p7/k2K4/r7/8/NB6 w - - 0 1B   W N!N 0?6K1/6P1/2r5/5Bp1/7k/8/6Pn/8 w - - 0 1@   S L L0?8/R2n1p2/b7/4P3/8/k6K/8/8 w - - 0 1C   Y IvIp0?2k5/p4q2/1n2N3/8/PK2Q3/8/8/8 w - - 0 1B   W BB0?8/1p6/1p6/pP4B1/K7/8/pk6/q7 w - - 0 1B   W @Y@X0?kb4Q1/P7/1PP5/K6q/8/8/8/4n3 w - - 0 1F    _ >*>( 0?8/3R2B1/6p1/6k1/6p1/6N1/6K1/2q5 w - - 0 1@    S << 0?8/8/p6R/1bK5/k7/1p6/1P6/8 w - - 0 1N    o 88 0?5k2/1p3p2/1P3PPK/8/5p1p/4p2P/B3PP1p/5r2 w - - 0 1E    ] 22 0?6r1/R4Nn1/3ppkp1/8/4P1K1/8/8/8 w - - 0 1I    e // 0?2B3K1/8/3N1p1p/6pk/5P1P/6P1/7r/5r2 w - - 0 1A   U ) ) 0?n7/8/7n/2k5/2PR4/2P5/2K5/8 w - - 0 1A   U 'E'@0?8/7k/8/1p6/1P6/7r/KP5p/3R4 w - - 0 1G   a $$0?3R4/5p1p/q4k1P/5P2/4P1K1/4B3/8/8 w - - 0 1F   _ 0?3k4/1P1PRP2/8/p7/p7/p7/K7/1r3r2 w - - 0 1@   S zx0?1B6/8/7P/4p3/3b3k/8/8/2K5 w - - 0 1A   U 0?8/P7/1k6/6Q1/2p5/4K3/8/1q6 w - - 0 1?   Q 0?8/k7/r1P4R/p7/8/p7/P7/K7 w - - 0 1     0A00 &Czupkfa\WRMHC&%$#"!       &~xrlf`ZTNHB<60*$&&%%$$##""!!       &Czupkfa\WRMHC & % $ # " !                                      &~wpib[TMF?81*#&%}${#z""xS!n kj'h7eb`^\ Z~WTRPMN!L IvB@Y>* < 8 2 / ) 'E$z &Czupkfa\WRMHC&%$#"!       &~wpib[TMF?81*#&%}${#z "xP!n kj h0eb`^\ZxWTRPHN LIpB@X>( < 8 2 / ) '@$x &~xrlf`ZTNHB<60*$&&%%$$##""!!       &Czupkfa\WRMHC & % $ # " !                                      &Czupkfa\WRMHC & % $ # " !                                      riyiP9)yiP9) y i P 9 )  y i P 9 )  y i P 9 )  y i P 9 )  y i P 9 ) yiP9)yiP9)yir&Opening?q&UTCTime20:13:45p!&UTCDate2018.04.26o%Opening?n%UTCTime00:46:57m!%UTCDate2018.04.18l$Opening?k$UTCTime20:01:19j!$UTCDate2018.04.26i#Opening?h#UTCTime22:59:48g!#UTCDate2018.04.17f"Opening?e"UTCTime13:23:26d!"UTCDate2018.04.18c!Opening?b!UTCTime20:07:00a!!UTCDate2018.04.26` Opening?_ UTCTime12:46:23^! UTCDate2018.04.18]Opening?\UTCTime15:21:28[!UTCDate2018.04.27ZOpening?YUTCTime16:18:09X!UTCDate2018.04.27WOpening?VUTCTime01:08:30U!UTCDate2018.04.27TOpening?SUTCTime17:05:57R!UTCDate2018.04.27QOpening?PUTCTime15:28:29O!UTCDate2018.04.27NOpening?MUTCTime01:38:08L!UTCDate2018.04.27KOpening?JUTCTime16:29:16I!UTCDate2018.04.27HOpening?GUTCTime15:39:36F!UTCDate2018.04.27EOpening?DUTCTime01:14:22C!UTCDate2018.04.27BOpening?AUTCTime01:25:57@!UTCDate2018.04.27?Opening?>UTCTime19:56:36=!UTCDate2018.04.26<Opening?;UTCTime23:12:11:!UTCDate2018.04.179Opening?8UTCTime00:41:247!UTCDate2018.04.186Opening?5UTCTime00:37:034!UTCDate2018.04.183Opening?2UTCTime13:16:141!UTCDate2018.04.180Opening?/UTCTime01:12:59.!UTCDate2018.04.19-Opening?,UTCTime12:27:49+!UTCDate2018.04.18*Opening?)UTCTime23:39:32(!UTCDate2018.04.17' Opening?& UTCTime13:39:51%! UTCDate2018.04.18$ Opening?# UTCTime01:34:29"! UTCDate2018.04.27! Opening?  UTCTime23:55:25! UTCDate2018.04.17 Opening? UTCTime13:10:03! UTCDate2018.04.18 Opening? UTCTime23:01:42! UTCDate2018.04.17Opening?UTCTime23:48:24!UTCDate2018.04.17Opening?UTCTime13:13:42!UTCDate2018.04.18Opening?UTCTime13:07:34!UTCDate2018.04.18Opening?UTCTime22:53:58 !UTCDate2018.04.17 Opening? UTCTime01:11:04 !UTCDate2018.04.27 Opening?UTCTime20:03:45!UTCDate2018.04.26Opening?UTCTime12:40:09!UTCDate2018.04.18' COpeningBarnes Opening: Fool's Mate UTCTime22:37:53 !UTCDate2018.04.17././@LongLink0000644000000000000000000000017600000000000011607 Lustar rootrootpychess-1.0.0/learn/lessons/lichess_study_2nd-part-game-puzzles-with-interactive-lessons_by_Francesco_Super_2018.01.03.sqlitepychess-1.0.0/learn/lessons/lichess_study_2nd-part-game-puzzles-with-interactive-lessons_by_Francesc0000644000175000017500000026000013441162535033232 0ustar varunvarunSQLite format 3@ . >z R 9 _ak>[ tabletag_gametag_gameCREATE TABLE tag_game ( id INTEGER NOT NULL, game_id INTEGER NOT NULL, tag_name VARCHAR(128), tag_value VARCHAR(128), PRIMARY KEY (id), FOREIGN KEY(game_id) REFERENCES game (id) )M+iindexix_game_site_idgameCREATE INDEX ix_game_site_id ON game (site_id)S/qindexix_game_source_idgameCREATE INDEX ix_game_source_id ON game (source_id)P-mindexix_game_event_idgameCREATE INDEX ix_game_event_id ON game (event_id)M+iindexix_game_offset8gameCREATE INDEX ix_game_offset8 ON game (offset8)P-mindexix_game_white_idgameCREATE INDEX ix_game_white_id ON game (white_id)L)iindexix_game_offsetgameCREATE INDEX ix_game_offset ON game ("offset")\5}indexix_game_annotator_idgameCREATE INDEX ix_game_annotator_id ON game (annotator_id)> !Uindexix_game_idgameCREATE INDEX ix_game_id ON game (id)P -mindexix_game_black_idgame CREATE INDEX ix_game_black_id ON game (black_id) ktablegamegame CREATE TABLE game ( id INTEGER NOT NULL, "offset" INTEGER, offset8 INTEGER, event_id INTEGER, site_id INTEGER, date VARCHAR(10), round VARCHAR(8), white_id INTEGER, black_id INTEGER, result SMALLINT, white_elo VARCHAR(4), black_elo VARCHAR(4), ply_count VARCHAR(3), eco VARCHAR(3), time_control VARCHAR(7), board SMALLINT, fen VARCHAR(128), variant SMALLINT, annotator_id INTEGER, source_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(event_id) REFERENCES event (id), FOREIGN KEY(site_id) REFERENCES site (id), FOREIGN KEY(white_id) REFERENCES player (id), FOREIGN KEY(black_id) REFERENCES player (id), FOREIGN KEY(annotator_id) REFERENCES annotator (id), FOREIGN KEY(source_id) REFERENCES source (id) ) ))Itableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER NOT NULL, version VARCHAR(8), PRIMARY KEY (id) )H 'aindexix_event_nameevent CREATE INDEX ix_event_name ON event (name)k5tableeventevent CREATE TABLE event ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )X/qindexix_annotator_nameannotatorCREATE INDEX ix_annotator_name ON annotator (name)w=tableannotatorannotatorCREATE TABLE annotator ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )D%]indexix_site_namesiteCREATE INDEX ix_site_name ON site (name)h3tablesitesiteCREATE TABLE site ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )L)eindexix_player_nameplayerCREATE INDEX ix_player_name ON player (name)n7tableplayerplayerCREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(256), PRIMARY KEY (id) )atablesourcesourceCREATE TABLE source ( id INTEGER NOT NULL, name VARCHAR(256), info VARCHAR(256), PRIMARY KEY (id) ) qelearn/lessons/lichess_study_2nd-part-game-puzzles-with-interactive-lessons_by_Francesco_Super_2018.01.03.pgn   %Qhttps://lichess.org/study/VefYFYMP %Q https://lichess.org/study/VefYFYMP (Whttps://lichess.org/@/Francesco_Super (W https://lichess.org/@/Francesco_Super  j!F k " D f H💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 16H💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 15H💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 14H💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 12H 💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 13H 💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 11H 💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 10G 💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 9G 💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 7G💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 8G💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 6G💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 5G💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 4G💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 2G💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 3G💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 1K💎(2nd part) Game puzzles with interactive lessons!💎: Introduction  k E g "G l #I💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 16I💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 15I💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 14I💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 12I💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 13 I💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 11 I💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 10 H💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 9 H💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 7 H💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 8H💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 6H💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 5H💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 4H💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 2H💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 3H💎(2nd part) Game puzzles with interactive lessons!💎: Puzzle 1K 💎(2nd part) Game puzzles with interactive lessons!💎: Introduction  20180221  ,I, - B 7 ,\     @,@(0?2rq2k1/1p1npp1p/p2p2p1/3P4/bP2PP2/r2BB2P/P2R1QPK/5R2 b - - 0 1\     =P=P0?1rr3k1/p3ppbp/3pbnp1/7P/qP1BP1P1/5P2/1PPQ4/1NKR1B1R b Kq - 0 1M   m ::0?8/1p3k2/8/p2qp1QP/P1B1b3/1P3r2/2P5/1K6 b - - 0 1^     110?r3k2r/1pp1n3/p2p2q1/3Ppp2/1PPb2pp/P2P2P1/3NBPKP/2RQ1R2 b - - 0 1S    y // 0?5rk1/1b1q2p1/p7/4P1B1/1p1N1p1Q/1P6/P3K2R/2r5 b - - 0 1T    { -- 0?r3r3/1p3pk1/2p2qp1/8/1P1Pp3/4P1PK/4QP1P/1R2R3 b - - 0 1Y     (( 0?5r2/1p4r1/3kp1b1/1Pp1p2p/2PpP3/q2B1PP1/3Q2K1/1R5R b - - 0 1N    o $$ 0?8/5p1k/4p1b1/4P3/2Pq4/2Q2KP1/r3P3/2R2B2 b - - 0 1>    O l h 0?7k/8/5r2/8/8/2R5/8/K1B5 w - - 0 1T   { 0?2krr3/ppp3pp/2n5/2Bq1b2/Q2P4/5N2/P4PPP/3R1K1R b - - 0 1[    )(0?r4r1k/1bq1b1pp/p3pn2/4Np2/1pNP4/3B4/PP1BQPPP/2RR2K1 w - - 0 1J   g 0?8/kp2q3/pR2r2r/1Pp5/7R/1P2Q2P/4K3/8 w - - 0 1Z    N H0?2r4k/1bqpbr1p/pp4p1/3P1p2/2P5/PQNB1P2/1P5P/1K1R1R2 w - - 0 1a    0?2r2rk1/pp1bqpp1/2nppn1p/2p3N1/1bP5/1PN3P1/PBQPPPBP/3R1RK1 w - - 0 1\     ' 0?1k1r3r/pbq2ppp/1ppbpn2/8/Q1P1P3/2N1BPP1/PP5P/2KR1B1R w - - 0 1U   } # 0?2r2r2/1Q3pkp/p4np1/qp6/4B3/1P2P2P/P4PP1/R4RK1 b - - 7 20^    0?PPPPPPPP/PP4PP/P2pp2P/P1p2p1P/P1p2p1P/P2pp2P/PP4PP/PPPPPPPP b - - 0 1                                   @,=P:1/ - ( $  l ) N '#       @(=P:1/ - ( $  h ( H                                                      3 jSC*jSC* j S C *   j S C *   3Opening?2UTCTime16:07:031!UTCDate2018.01.050Opening?/UTCTime15:57:40.!UTCDate2018.01.05-Opening?,UTCTime15:44:47+!UTCDate2018.01.05*Opening?)UTCTime14:37:33(!UTCDate2018.01.05' Opening?& UTCTime15:22:32%! UTCDate2018.01.05$ Opening?# UTCTime22:45:45"! UTCDate2018.01.04! Opening?  UTCTime21:47:46! UTCDate2018.01.04 Opening? UTCTime21:19:44! UTCDate2018.01.04 Opening? UTCTime15:34:44! UTCDate2018.01.04Opening?UTCTime15:57:08!UTCDate2018.01.04Opening?UTCTime15:25:09!UTCDate2018.01.04Opening?UTCTime15:14:26!UTCDate2018.01.04Opening?UTCTime23:05:13 !UTCDate2018.01.03 Opening? UTCTime21:56:45 !UTCDate2018.01.03 Opening?UTCTime22:11:21!UTCDate2018.01.03Opening?UTCTime21:40:30!UTCDate2018.01.03  Opening? UTCTime13:18:56 !UTCDate2018.01.04pychess-1.0.0/learn/lectures/0000755000175000017500000000000013467766037015210 5ustar varunvarunpychess-1.0.0/learn/lectures/lec17.txt0000644000175000017500000001457113365545272016665 0ustar varunvarunk The line I will show you in this lecture comes from "Mastering the French With the Read and Play Method", Page 19. 10 k What I am going to give are my annotations to the moves in the line given. 8 e2e4 2 e7e6 2 k This is the French Defense. 8 d2d4 2 d7d5 2 e4e5 2 k This is the advance variation. 8 c7c5 2 k The first thing black should do in the advance variation is put pressure on White's d-pawn. 8 c2c3 2 k White adds protection to his d-pawn. 8 b8c6 2 k Black develops a piece, and adds another attacker on the d-pawn. 8 g1f3 2 k White also develops a piece, and adds a guard to his d-pawn. 8 d8b6 2 k Black develops another piece, and adds yet another attacker on the d-pawn. 8 f1d3 4 k This is the Milner-Barry Gambit. Other options for white include 6. Be2 and 6. a3. 8 k Here, White blocks the queen from guarding the d-pawn, and now black can win the pawn. 8 k The idea being that white tries for a lead in development while black is busy taking the pawn. 8 c5d4 4 k Black starts off by trading pawns. 8 c3d4 4 k White takes the pawn back. 8 k Right here, there is a very common trap that Black can fall into. 8 c6d4 4 k This move is horrible; here's why: 8 f3d4 2 b6d4 4 k So far, this is what black expected. It looks like black won a pawn, however ... 8 d3b5 k This move puts Black in check, and White has a discovered attack and wins the black queen. 8 k Therefore, black must do something first to avoid this check. Let's go back and find an answer. 8 back 4 4 k Instead, black should play ... 8 c8d7 4 k This move removes White's ability to check Black's king with Bb5. 8 e1g1 4 k Again, White doesn't worry about the d-pawn, and tries for a lead in development. 8 c6d4 4 k Here is where Black eats the pawn. 8 f3d4 4 b6d4 4 k Notice that now, Bb5 is no longer a check move, so White can't win Black's queen here. 8 k Both 10. Qe2 f6! and 10. Re1 Ne7 11. Nc3 a6 give Black a slight advantage. 8 b1c3 4 k Out of all White's Choices, this one is best. 8 d4e5 4 k Black eats another pawn, but White will soon get one back. 8 f1e1 4 k White attacks Black's queen. 8 e5b8 4 k This is the safest place for Black's queen. 8 c3d5 4 k White gets a pawn back. Black can't capture the knight because the pawn is pinned. 8 f8d6 4 k Black develops a piece, and threatens to take the pawn on h2 with check. 8 d1g4 4 k White's solution to the threat is a threat of his own. 8 k Black has no time for Bxh2+; here's why: 8 d6h2 4 g1h1 4 k Black must now move his bishop again, or white will play g3 and win the bishop. 8 h2d6 4 g4g7 4 k Black is now going to drop a rook. Therefore, Black must find an alternate to 13...Bxh2+. 8 k Let's back up and find the right 13th move. 4 back 4 4 k Can you find Black's best move? 16 e8f8 4 k Black needs to guard the g-pawn. This also gets the king out of the pin. 8 c1d2 4 k White doesn't have to move the attacked knight because if 14. exd5, 15. Qxd7 is a trade. 8 k Not to mention, it would be a trade favorable to White. 8 h7h5 4 k Here, Black attacks White's queen, and will try to open the h-file for his rook. 8 g4h3 4 k Of course, White must move his queen. He must also maintain the pin on black's e-pawn, or else black will play exd5, winning a piece. 8 g8h6 4 k Black plays this move for a number of reasons. 8 k One reason is to try to get white to take the h-pawn with the queen, and open the h-file. 8 k Another is perhaps to eventually post the knight on f5. 8 k It should also be noted that taking the knight with the bishop is by no means White's best move. 8 d5e3 4 k White wishes to relocate his knight. This also relieves the queen from the responsibility to keep the e-pawn pinned. 8 f8g8 4 k Black gets his king onto a safer square. 8 k Black's king now guards his rook as well, which will be important if white takes the h-pawn. 8 e3c4 4 k White attacks black's bishop and threatens to trade. 8 d6c7 4 k Black must keep his dark-squared bishop, or his threats on h2 are gone. 8 h3h5 4 k White finally takes the h-pawn. 8 h6f5 4 k The king move on move 16 makes this move possible. 8 k Black has now got the knight on a better square, and is also attacking White's queen. 8 h5g5 4 k This move is considered best. 8 c7h2 4 k Only now does Black take the h-pawn with check. 8 g1f1 4 k If 20. Kh1??, 20...Bf4+ wins White's queen, and the game! 8 d7b5 4 k This crucial yet excellent move ties White's pieces down. 8 k Now, if the knight moves, white wins the bishop with check since 21. Ne5 isn't possible. 8 k Also, if 21. Bxf5, 21...Bxc4+!! would win material for Black. 8 k Therefore, White's next move is necessary. 8 b2b3 4 k This move at least frees the bishop, for now the pawn guards the knight. 8 b8d8 4 k Black is now ready to trade queens. His queen was in a somewhat inactive spot anyway. 8 k He also now threatens to play 22...Qxd3+ if white doesn't do something about it. d3f5 4 k This move does 2 things. It gets out of the threat of 22...Qxd3+, and it doubles Black's pawns. 8 e6f5 4 k Black, of course, must take back. 8 g5d8 4 k White can't take on f5. If 23. Qxf5??, 23...Qxd2 wins the bishop. The knight is pinned. 8 a8d8 4 k Of course, Black must take back. 8 d2c3 4 k Black was threatening 24...Rxd2, again because of the pinned knight. 8 b5a6 4 k Black keeps his bishop on that diagonal, but avoids harassment from moves like a4 by white. 8 a2a4 4 k White advances the pawn anyway. This move is also useful because it prevents black's threat of b5, forcing the knight to move, followed by b4, a discovered check that would win white's bishop at c3. 20 h2c7 4 k Black puts the bishop on a better square, and threatens 26...Rh1+. 8 k Note that white is down a pawn, so trading pieces can't be good for white. 8 f1e2 4 k White tries to open up the back rank for his rooks, trying to get in Rh1 and take over the h-file. 8 h8h4 4 k This is an EXCELLENT move. 8 k White is already down a pawn. 4 k He will lose at least another pawn since he can't add another guard to the c4 square. 8 k Black's pieces are better placed. 4 k White's queenside rook isn't even developed, and his knight is pinned. 8 k Black also has the bishop pair. 8 k White also has no way to cover the e4-square, and the threat of ...Re4+ is also good for black. 8 k Overall, Black is winning (Neil McDonald & Andrew Harley give this position a -+). 15 k Well, this concludes my lecture on "Refuting the Milner-Barry Gambit." 5 k I hope all of you enjoyed it. 5 k And that all of you French Defenders can beat all of those that play the Milner-Barry Gambit!!! 10 pychess-1.0.0/learn/lectures/toddmf_lecbot.txt0000644000175000017500000001666213365545272020562 0ustar varunvarun Writing a LectureBot lecture I'm glad that you are interested in writing a lecture for LectureBot. Writing a lecture can be a very good experience, as you often learn more about the lecture's topic while also teaching others about it. Guidelines Your lecture should be as original as possible. Quote other lectures/books/magazines/etc. if you feel it will strongly contribute to the lecture, but always give credit to the source and keep quotes to a minimum. The majority of the lectures are aimed at improving chess skills. Hence common topics are openings, analysis of a GM game, planning, endgames, etc. However, lectures on any topic that can be easily displayed using examine mode on FICS are welcome. For example, lectures on chess variants(suicide, bughouse-- but only one board, etc.), the lighter side of chess(horrible GM blunders, miniatures, etc.), and tactics to run your opponent out of time would all be acceptable lecture topics. There is no guarantee that your lecture will be used, but if your lecture is not acceptable, I will try to work with you so that eventually a good lecture results. Your lecture will not be changed without your permission except in the case of spelling and/or grammar errors. You will be sent email if I would like to change anything else and asked if the changes are acceptable. Don't make lectures extremely short or long. Anywhere between 10 and 60 minutes is good. How to write a lecture There are 4 "levels" of lecture writing. Each one is more time consuming than the last to write but gives you more control over how LectureBot presents the lecture. Please write the lectures in plain ASCII format, and get right to the chess part of the le cture, since LectureBot handles the greetings and goodbyes already. Topic only If you don't want to write a whole lecture but have a good idea for a topic, you may message the topic to toddmf at FICS or email him at tmfreita@uiuc.edu. Book-style lecture A lecture as it might appear in a book. LectureBot will present the content of this type of lecture, but you won't have any control over how much information it sends out at a time or how long it pauses between moves, kibitzes, etc. With this style and th e next two, the first line should contain the topic then the author's FICS handle in parentheses. Sample: Scholar's Mate(toddmf) e4 An aggressive opening move that dates back hundreds of years. e5 Black replies in kind. Bc4 White develops a minor piece. Nc6 As does black. Qh5 This is a weak move, as it leaves the queen in a vulnerable position. Nf6 Black takes advantage of the vulnerability, but misses white's threat! Qxf7 A mate that is still seen today in many scholastic events. Black could have played 3...g6 to stop this. FICS commands This is very similar to the book style lecture, except you must use one FICS command on each line. This gives you complete control over how side variations are handled and how information(kibitzes) is broken up. It is best to use long algebraic in order t o avoid confusing the server(i.e. g1f3, e1g1). You can save time by using "k" as short for kibitz. Also the commands "examine" and "unexamine" are not necessary, as LectureBot does this automatically at the beginning and end of each lecture. Sample: Scholar's Mate(toddmf) e2e4 k An aggressive opening move that dates back hundreds of years. e7e5 k Black replies in kind. f1c4 k White develops a minor piece. b8c6 k As does black. d1h5 k This is a weak move, as it leaves the queen in a vulnerable position. g8f6 k Black takes advantage of the vulnerability, but misses white's threat! h5f7 k A mate that is still seen today in many scholastic events. Black could have played 3...g6 to stop this. back 2 g7g6 FICS commands and pauses This is exactly the same as before, except you can specify how long of a delay there is between each command. To specify the length of a delay, use a line with only a number in it. Delays can only be specified in whole numbers(1,2,3...) of seconds, and th e default delay time is 4 seconds if none is specified. This method gives you total control over the lecture. Sample(waits 4 seconds after each move and 8 seconds after kibitzes): Scholar's Mate(toddmf) e2e4 k An aggressive opening move that dates back hundreds of years. 8 e7e5 k Black replies in kind. 8 f1c4 k White develops a minor piece. 8 b8c6 k As does black. 8 d1h5 k This is a weak move, as it leaves the queen in a vulnerable position. 8 g8f6 k Black takes advantage of the vulnerability, but misses white's threat! 8 h5f7 k A mate that is still seen today in many scholastic events. Black could have played 3...g6 to stop this. 8 back 2 g6 Useful FICS commands for lectures Remember, you do not need to use examine and unexamine. See each command's respective FICS help file for more information. c2c4, h1e1, etc. - Moves in long algebraic notation. back - Moves back a specified number of moves. bsetup - Sets up a board position and/or specifies game type. kibitz - Sends text to everyone watching the lecture. revert - A quick way to get to the last set up position. tomove - Sets the side to move. wname - Sets white's name. bname - Sets black's name. I've written a lecture. What do I do now? Send it to toddmf. The easiest way to do this is to use your text editor to write and save the lecture then email it as a file attachment. Send a lecture to tmfreita@uiuc.edu Download LectureBot and/or the lectures LectureBot(written by toddmf) and the lectures(by various authors named below) are copyrighted by their respective authors. You are free to use them on any non-commercially involved server/web page and for personal(not for profit) use. For a book or magaz ine article, you will need to ask permission. In any case this message and the credit to the author must remain. The authors reserve all other rights to LectureBot and the lectures. The author names given represent handles on the Free Internet Chess Server. If you have further questions, Send email to tmfreita@uiuc.edu. LectureBot package(perl source code, related files, and lectures - Unix systems only) Lecture package (all of the lectures only) Lectures: 2...Qh4 against the King's Gambit by toddmf Rook vs Pawn endgames by toddmf The Steinitz Variation of the French Defense by Seipman The Stonewall Attack by MBDil Introduction to the 2.Nc3 Caro-Kann by KayhiKing Basic Pawn Endings I by DAV Denker's Favorite Game by toddmf A draw against a Grandmaster by talpa The Modern Defense by GMDavies Hypermodern Magic - A study of the central blockade by Bahamut Tactics Training lesson 1: 'Back rank weakness' by knackie Tactics Training lesson 2: 'Discovered attack' by knackie Tactics Training lesson 3: 'Enclosed kings' by knackie Closed Sicilian Survey by Oren Giuoco Piano by afw Tactics Training lesson 4: 'King in the centre' by knackie Refuting the Milner-Barry Gambit in the French Defense by Kabal Introduction to Bughouse by Tecumseh Tactics Training lesson 5: 'Pulling the king to the open' by knackie Thoughts on the Refutation of the Milner-Barry by knackie Tactics Training lesson 6: 'Mating Attack' by knackie Tactics Training lesson 7: 'Opening / Closing Files' by knackie Tactics Training lesson 8: 'Opening / Closing Diagonals' by knackie Tactics Training lesson 9: 'Long Diagonals' by knackie King's Indian Attack vs. the French by cissmjg King's Indian Attack vs. the Caro-Kann by cissmjg King's Indian Attack vs. Other Defenses by cissmjg Secrets of the Flank Attack by Shidinov Mating Combinations by Kabal Basic Pawn Endings II by DAV Grandmaster Knezevic's first FICS lecture by toddmf pychess-1.0.0/learn/lectures/lec14.txt0000644000175000017500000002433613365545272016662 0ustar varunvarunk Welcome to Knackie's Tactics Training. The examples are based on material of an Hungarian Chess School. They have been revised using Fritz and a bit of Knackie's brain. 15 k The 5th Lesson features the theme 'Pulling the king to the open'. 10 k In most middlegames, both sides try to hide their their king behind a pawn shelter. 10 k Sometimes, however, the attacking side finds a way to break through the shelter, pulling the king to the open. 12 l Let's start with a typical example. 8 k Example 1: Dominguez vs Bernard, Romania 1975 3 bsetup 1 bsetup fen 2r4r/pb3kb1/1p2pp2/q7/3P2NP/Q5R1/PP3PP1/4R1K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Dominguez 1 bname Bernard 1 k White's queen is under attack, but white found a better solution than moving the queen... 15 k Consider the position for yourself for a while. 40 g4e5 k White opens the position around the black king... 10 f6e5 g3g7 k After the second sacrifice, the black king remains completely isolated. 15 f7g7 a3e7 k White finally 'saves' his queen. 10 g7g6 e1e5 k After the black king is isolated, white is in no hurry chasing it with checks. 15 a5e5 k Black had no choice. 7 d4e5 k Considering material, black is almost ok: 2 Rooks + Bishop versus white's Queen + 3 Pawns. 10 k Considering the isolated black king, black is completely lost. 10 b7a8 e7f6 g6h7 f6f7 h7h6 g2g4 k Black is helpless against the threat of g4-g5. 12 k Black resigned. 8 k Example 2: Mikenas vs Lebegyev, USSR 1941 3 bsetup 1 bsetup fen r1b1qr2/p4p2/1p2pk2/4N1bp/7P/2PQ2B1/P5P1/1B5K 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Mikenas 1 bname Lebegyev 1 k Not much work to be done here to pull the king to the open. 10 k Can you find the quick mate? 10 k White moves, 45 seconds ... 45 e5g4 k Kg7 now fails to Qh7 mate... 10 k and Ke7 fails to Qd6 mate. 10 k So, black must take the knight... 8 h5g4 g3e5 k Pulling the king further to the open. 10 f6e5 d3d4 k mate 10 k Example 3: Ivkov vs Ingerslev, Moskau 1956 3 bsetup 1 bsetup fen 2r3kr/5pp1/7p/3PQRb1/ppq1B3/8/PPP3PP/1K1R4 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Ivkov 1 bname Ingerslev 1 k Black's position already looks strange. (enclosed Rook at h8) 10 k How did white exploit his superior position? 10 k White moves, 45 seconds... 45 f5f7 k Typically destroying the pawn shelter and pulling the king to the open. 12 g8f7 e5e6 f7f8 k White ensured that the black king can't escape. Now he starts thinking about mate. 10 k How would you continue the attack? 15 e4g6 c4c7 k Black narrowly defends against immediate mate. How does white increase the pressure? 20 d1e1 k After this powerful move, white threatens Qe8+ RxQe8 RxRe8 mate. 12 k The only defense against that mate would be Qd8, but that fails to Qf7 mate. 15 k Black resigned. 8 k Example 4: Marjasin vs Kapengut, USSR 1969 3 bsetup 1 bsetup fen r1b3r1/pp3kbQ/4pBp1/q1p1Pp2/3p4/2P1P3/1P1KB1P1/3R3R 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Marjasin 1 bname Kapengut 1 k At first sight, it might seem that the white king is more in danger than the black one. 12 k What's your opinion? 10 k White moves, 60 seconds... 60 h7g6 k A very bold method for pulling the king to the open. 10 f7g6 k Having played the queen sacrifice you must have seen all the following... 15 e2h5 g6h7 h5f7 g7h6 k Black found some shelter, but... 15 h1h6 h7h6 d1h1 k ate. You would like such a finish in one of your games, wouldn't you? 12 k Example 5: Miles vs Wedberg, Stockholm 1976 3 bsetup 1 bsetup fen rnbr4/1pq2pk1/p2p3p/2pP2pQ/2N5/2PB2P1/P5PP/R4RK1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Miles 1 bname Wedberg 1 k This is a much more 'calm' example. 10 k How did white pull the black king to the open? 10 k White moves, 45 seconds... 45 f1f6 k A calm move, but very strong. White simply threatens Qxh6. 12 k If black defends h6 by means of Rh8, white simply plays Ra-f1, when f7 cannot be protected. 15 k So, black has no choice: he must take the Rook. 10 g7f6 k the rest is simple: 10 h5h6 f6e7 a1e1 e7d7 d3f5 k mate 8 k Example 6: Keres vs Foldesepp, Correspondence 1932 3 bsetup 1 bsetup fen rn4qr/p1ppkp1p/bp1b1n2/4N3/2PPP1p1/2N3P1/PP2B1K1/R1B2Q1R 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Keres 1 bname Foldesepp 1 k In this correspondence game, white worked out a brilliant finish. 12 k Can you calculate the variation through the end? 12 k White moves, 75 seconds... 75 f1f6 k That looks nice, but you must have calculated until the end. e7f6 k How does white continue? 18 c3d5 k Kg7 now fails to the beautiful Bh6 mate, so black has no choice... 15 f6e6 k White would like to play Bxg4 here, but the black Queen protects g4. How does white continue? 18 h1h6 k f7-f6 now fails to Rxf6 mate, so black tries. g8g6 k The black queen is now pinned, so white can play... e2g4 f7f5 g4f5 k mate. That looks great, especially if you are on the white side :-) 15 k Example 7: Petrossian vs Pachmann, Bled 1961 3 bsetup 1 bsetup fen r1br4/1p2npkp/3Bpbp1/pqp5/2N1R3/1P1P1QP1/1PP2PBP/R5K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Petrosian 1 bname Pachmann 1 k Ex World-Champion Petrosian usually played slow strategical chess. 12 k This does not mean he was a bad tactician. 10 k Considering the previous examples, you'll probably guess the first move quickly. Do you also see move 3? 15 k White moves, 75 seconds... 75 f3f6 k Business as usual. 8 g7f6 d6e5 k Preventing the king from going back to g7. 10 k Black can play Kf5 or Kg5 here; let's first consider Kf5: 15 f6f5 k White now has a mate in 3 ... 20 e4f4 f5g5 e5f6 g5h5 f4h4 k mate; let's now go back to the game. 5 back 6 k Black tried Kg5 instead of Kf5. 8 f6g5 k This is the crucial point of Petrosian's combination: 10 k White is now faced with the problem of preventing the king from going back behind the pawn shelter. 15 k What was Petrosian's idea? 20 e5g7 k Extremely strong!! The bishop at g7 controls both the black king's escape squares: f6 and h6. 15 k The black king will soon be mated: e7f5 h2h4 f5h4 g3h4 k On Kf5, Bh3 mate follows, so black tries: g5h5 g2f3 k mate. 5 k You should remember this example, especially the move Bg7!!. 10 k Pulling the king to the open is not sufficient; you must ensure it stays there! 15 k Example 8: Unzicker vs Antoschin, Szocsi 1965 3 bsetup 1 bsetup fen 2r1r1k1/5ppp/pq3b2/2pB1P2/2p2B2/5Q1P/Pn3PP1/2R1R1K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Unzicker 1 bname Antoschin 1 k Things are getting a bit more difficult now... 10 k The first move might seem obvious, but do you see all the complications? 15 k White moves, 75 seconds... 75 d5f7 k Everyone probably got that. g8f7 f3d5 f7f8 k The next move should be easy... 15 f4d6 k Black now has the choice of Re7 or Be7; let's first consider Be7... f6e7 k The next move is very typical... 12 e1e7 e8e7 k Can you find white's next move? 20 d5e6 k Very strong: white attacks both black rooks and prepares the following... 15 c8e8 k There follows of course... 10 d6e7 k Winning the Queen. Let's go back to the game. 10 back 6 k Black tried Re7 instead of Be7. 8 e8e7 k Which strong move now increases the pressure? 20 e1e6 k Preparing Rc-e1 and threatening Bxe7+, winning the Queen. 12 k Let's look what happens if black tries to save his Queen: 10 b6a7 e6f6 k White eliminates a vital defender. 8 g7f6 d5e6 k Attacking both Rooks. c8e8 c1e1 k White now threatens Qxf6+ followed by taking on e7. 12 k Black is helpless, so let's go back to the game. 10 back 6 k Instead of Qa7 black tried the ingenius Rd8. 8 c8d8 k Black pins the Bishop at d6, but white nevertheless gets the better of it: 15 d6e7 f6e7 e6b6 d8d5 b6b2 k Two Rooks versus Rook + Bishop should be no problem. Black resigned. 12 k Example 9: Pinter vs Arhipov, Balatonbereny 1983 3 bsetup 1 bsetup fen r1bqkb1r/pp1npppp/4n3/2p1N3/2B1P3/2N5/PP1P1PPP/R1BQ1K1R 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Pinter 1 bname Arhipov 1 k If you plan some sacrifices here, you must ensure the black king won't escape. 15 k White moves, 75 seconds... 75 e5f7 k The first sacrifice... e8f7 c4e6 k The second sacrifice... f7e6 k How would you prevent the black king from escaping? 20 d1b3 k Black now has the choice going to the Queenside or to the Kingside. 10 k Let's look what could happen if he heads for the Queenside. e6d6 c3b5 d6c6 b3e6 c6b5 a2a4 b5a5 b2b4 c5b4 e6d5 a5b6 c1b2 e7e5 a4a5 b6a6 d5c4 b7b5 c4c6 d7b6 a5b6 k mate. Let's go back to the game. 8 back 20 k Black went to the kingside. 8 e6f6 c3d5 f6f7 k How do you prevent Ke8? 12 d5c7 f7g6 k Should white grab on a8 or is there a better choice? 20 c7e6 d8e8 e6f4 k Now the black king won't escape. 8 g6g5 h2h4 g5h6 b3g3 e8g6 k White could, of course, win playing NxQ, but he wants more. 20 g3g5 g6g5 h4g5 h6g5 h1h5 g5f4 k Kf6 now fails to Rf5 mate, so black tried: 10 d2d3 f4g4 h5g5 g4h4 g2g3 h4h3 g5h5 h3g4 h5h4 g4f3 h4f4 k mate. 5 k You might ask if one must calculate this whole 18-move variation on move 1? Of course not! 15 k You just need to ensure the king won't be able to go back behind his pawn shelter. The king won't survive in the long run. 15 k Example 10: Kolcov vs Nikiforov, USSR 1974 3 bsetup 1 bsetup fen r5k1/1p3p1p/p1pqrPp1/3bN3/8/P1P3Q1/1P4PP/4RRK1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Kolcov 1 bname Nikiforov 1 k In this last example, white found a very imaginative way for using his Queen. 15 k White moves, 75 seconds... 75 e5f7 k QxQ does not help here, because white plays Nh6+ before recapturing the Queen. 15 g8f7 k How does white prepare the decisive attack of his Queen ? 20 e1e6 k Again, QxQ does not help because of Re7+. 10 d6e6 g3c7 f7e8 k How does white prepare further action of his Queen? 20 f6f7 e8f8 k White now finishes the game with a series of beautiful geometrical moves. 12 k Can you find the idea? 20 c7f4 k Threatening Qh6. 8 g6g5 k Which is the next Queen move ? 15 f4d4 k Threatening Qh8. 8 f8e7 k What is the final move? 20 d4c5 k f7-f8Q cannot be prevented. Black resigned. 15 k That final manoeuvre Qc7-f4-d4-c5 shows why chess can be considered an art. 15 k I hope you enjoyed the lesson! These and many more examples can be downloaded in chessbase format at http://webplaza.pt.lu/public/ckaber 20 pychess-1.0.0/learn/lectures/lec15.txt0000644000175000017500000001401213365545272016651 0ustar varunvarunk This lecture is one in a series that will review the moves and ideas behind the King's Indian Attack (KIA). The KIA is a flexible opening system used by many of the world's top players including Fischer, Stein & Tal. It has been successfully played against the French, the Sicilian and the Caro-Kann. This opening lends itself to players who can't spend a great deal of time memorizing openings as White can reach the basic position regardless of what Black does. 44 k The KIA vs. the Caro Kann 6 k Bobby Fischer and Leonid Stein played the KIA vs. the solid Caro Kann defense. White's plan is to attack the e5 square (usually occupied by a pawn and attack on the Q-side) or favorably break up Black's center. We shall see examples of each. 23 k Black's plan is to solidify his center position and suppress White's Q-side play. 8 wname Stein 1 bname Hort 1 e2e4 k Although the KIA can be reached by starting with 1.Nf3 it is more often reached after 1.e4. May e4 players use the KIA as an alternative to the semi-open games. 16 c7c6 d2d3 k By playing d3 (instead of d4) White has less space but more options. More importantly White is avoiding Black's opening preparation and playing the opening on his(her) terms. 17 d7d5 b1d2 k Shielding the queen from exchange in case of an exchange on e4. 8 g7g6 k Since White has not played d4, Black decides to occupy the long diagonal with his dark squared Bishop. 10 g1f3 k Attacking the e5 square. 6 f8g7 g2g3 k The basic setup begins to show itself. The KIA is really nothing more than the King's Indian Defense with the colors reversed! 12 e7e5 k Grabbing space in the center. 6 f1g2 g8e7 k Leaving the long diagonal clear and protecting d5. 6 c2c3 e8g8 e1g1 k Controlling the d4 square and preparing to expand on the Q-side. 7 b8d7 b2b4 k Gaining space on the Q-side and preparing to oppose the Bishop on g7. 8 k This is the basic setup for the KIA vs. the Caro Kann with ...g6 and ...e5. To see it in action, we will continue by showing Stein-Hort Los Angeles, 1968. 15 b7b6 c1b2 c8b7 f1e1 f8e8 g2h3 d8c7 e4d5 c6d5 c3c4 d5d4 a1c1 f7f5 h3g2 g7f6 c4c5 b6b5 d2b3 b7d5 a2a4 a7a6 b3a5 e7c6 a4b5 a6b5 k Now comes a shot .... I'll give you 60 seconds to find it! 65 f3e5 c6b4 e5d7 c7d7 c5c6 d7f7 e1e8 a8e8 a5b7 f6e5 g2d5 f7d5 c1c5 d5f7 d1f3 g6g5 c6c7 g5g4 f3d1 e5c7 d1d2 c7b6 c5b5 b4d3 b7d6 f7d7 d2g5 g8h8 g5f6 h8g8 f6g5 g8h8 d6e8 d7e8 g5f5 d3e1 b5b6 e1f3 g1g2 e8a8 f5f6 h8g8 f6e6 g8h8 e6c6 k And Black resigned here. 6 k Another black strategy is an early ...Bg4 with the idea of trading the N on f3 to relieve some of the pressure on the e5 pawn. 12 revert 1 wname Fischer 1 bname Ibrahimoglu 1 e2e4 c7c6 d2d3 d7d5 b1d2 g7g6 g1f3 f8g7 g2g3 g8f6 f1g2 e8g8 e1g1 c8g4 h2h3 k Forcing Black to commit to either Bxf3 or Bd7. Bh5 looses a piece to g4. 8 g4f3 d1f3 b8d7 f3e2 d5e4 d3e4 d8c7 a2a4 k Here Fischer gains space on the Q-side and challenges Black for control of the b5 square. 9 k So far we have been following Fischer-Ibrahimoglu Seigen Olympiad, 1970. The rest of the game shows how Fischer makes use of the b5 square to tie up Black. 15 a8d8 d2b3 k Looking to occupy the c5 square. 6 b7b6 k Black denies the Knight c5 but weakens the b5 square in the process. 8 c1e3 c6c5 a4a5 e7e5 b3d2 k The Knight starts the long journey to b5. 6 f6e8 a5b6 a7b6 d2b1 c7b7 b1c3 e8c7 k To challenge the Knight when it arrives at b5. 6 c3b5 b7c6 b5c7 c6c7 e2b5 k b5 is still a problem for Black. 6 d8a8 c2c3 a8a1 f1a1 k White now adds control of the open a-file to his list of positional pluses. 8 f8b8 a1a6 g7f8 g2f1 k Relocating the Bishop to a more useful diagonal. 6 g8g7 b5a4 b8b7 f1b5 d7b8 k Black's pieces are very passive. 6 a6a8 f8d6 a4d1 b8c6 d1d2 k Having tied Black up on the K-side Bobby now shifts his focus to the Black King. 8 h7h5 e3h6 g7h7 h6g5 b7b8 a8b8 c6b8 g5f6 b8c6 d2d5 c6a7 b5e8 h7g8 k A small combination winning a pawn..can you spot it? 30 seconds.... 36 e8f7 c7f7 d5d6 k Black resigns 6 revert 1 wname Stein 1 bname Portisch 1 e2e4 c7c6 d2d3 d7d5 b1d2 g7g6 g1f3 f8g7 g2g3 g8f6 f1g2 d5e4 k Black prematurely releases the central tension. This allows White's pieces some more breathing room. 10 d3e4 b8a6 e4e5 k Establishing a cramping pawn on e5. 6 f6d5 d2b3 c8g4 d1e2 d8c8 e1g1 e8g8 f1e1 a6c7 c1d2 f7f6 k It's ugly, but there is no other way to undermine the White's e5 pawn. 8 e5f6 g7f6 c2c3 k Blunting the dark squared Bishop's activity. 6 f8f7 e2e4 g4f5 e4c4 d5b6 c4f1 b6a4 d2c1 c8d7 f3e5 f6e5 e1e5 c7b5 c1f4 a8d8 b3c5 a4c5 e5c5 b5c7 c5e5 c7e6 f4h6 d7d6 f1e2 e6g7 a1e1 f5d3 e2g4 d3f5 g4c4 k Here Black miscalculates...the idea behind this is attempting to trap White Rook and Bishop in a mating trap. White shows us how to proceed correctly. 15 d6e5 e1e5 d8d1 g2f1 f5h3 k Winning a very important pawn. 6 e5e7 d1f1 c4f1 h3f1 e7f7 g8f7 k With a Bishop versus Knight in and endgame with pawns on both sides of the board (as well as being a pawn up), White has a won game. 12 g1f1 g7f5 h6e3 a7a6 f1e2 h7h5 e2d3 b7b5 d3e4 f7e6 h2h3 a6a5 e3c5 a5a4 c5f8 k Black resigns. 6 k This game is a good illustration of White's use of the long diagonal (h1-a8) 8 revert 1 wname Stein 1 bname deLange 1 e2e4 c7c6 d2d3 d7d5 b1d2 e7e5 g1f3 f8d6 g2g3 g8e7 f1g2 f7f6 k A clumsy way to support the e5 pawn. This also weakens the a2 - g8 diagonal. 8 d3d4 k Stein is quick to open up the center to get at the Black King. 8 c8g4 c2c4 k Hitting the weak diagonal again! 6 e5d4 c4d5 c6d5 e4d5 b8d7 e1g1 e8g8 d2b3 k Stein wants to get his Knight to c5 where it controls some key White squares (i.e. e6 and d7). 9 d7b6 d1d4 g4f3 g2f3 d6e5 d4d3 e7d5 b3c5 d5c7 d3b3 g8h8 c5b7 d8e8 b7a5 a8c8 c1e3 k A solid pawn up ... the rest is just good technique on Stein's part. 8 c7e6 a1c1 e5d4 c1c8 e8c8 f1c1 c8e8 a5c6 d4e3 b3e3 e6g5 f3g2 e8e3 f2e3 f8f7 c1d1 g7g6 b2b3 h8g7 a2a4 f7c7 a4a5 b6c8 b3b4 f6f5 b4b5 g5e4 g2e4 f5e4 d1d8 c8e7 c6e7 c7e7 d8b8 e7e5 a5a6 k and Black resigned here. 6 k I hope you enjoyed this lecture. If you have any feedback, drop me an email at cissmjg@hotmail.com. Recommended book on the KIA "The ChessBase University Bluebook Guide to Winning with the KIA by IGM Henley and Maddox. ISBN 1-883358-00-0" 37 pychess-1.0.0/learn/lectures/lec8.txt0000644000175000017500000003657013365545272016610 0ustar varunvarunkib This lecture is intended to show you how to play the Stonewall attack, an age-old white opening that requires little effort to learn and often makes for exciting attacks on the castled black position. 20 Kib Now the disclaimer - This lecture was written by MBDil, a 1500-ish player and a self-proclaimed expert on the stonewall. This lecture is intended for players of up to about 1300 strength, though stronger players may benefit from it. 20 kib Why play the Stonewall? It follows standard opening principles such as control of the center and rapid development. The theory on this opening hasn't changed much in the last hundred years, so once you learn it, you don't have to spend a lot of time keeping current on theory. It's also very helpful for learning concepts such as pawn storms, strong knights and bad bishops, and sacrificial kingside attacks. 35 kib The stonewall also has minor psychological advantages. Many developing players (<1300) are more comfortable answering e4 than d4. In addition, the stonewall typically leads to closed positions, which are usually more intimidating for your opponents that may not be familiar with the "full looking" chessboard that often results. 30 kib So that we can see the basic concepts and ideas of the Stonewall, let's first look at a game where black doesn't put up much of a defense. 15 d4 d5 e3 kib This announces your intentions. White chooses to put a bishop on d3 and set up pawns at d4 and f4 to hold the e5 square. The queen bishop is intentionally locked in to allow better movement for the other pieces. It's not a huge drawback. In many cases, it gets to join in the attack anyway. 25 Nf6 Bd3 e6 Nd2 c5 kib Black, wisely, decided to put his queen knight behind his cpawn and also attempts to break up the wall of strong pawns. kib White doesn't need to worry about cxd, since exd frees his queen bishop without giving up the e5 square. He does need to be concerned with the c4 push, since it would drive his well-placed bishop off of the b1-h7 diagonal. Thus: 30 c3 kib Then, if black plays c4, white can bring his bishop back to c2 7 c4 Bc2 Nc6 f4 kib White has set up the main pawn structure. He wants to put a knight at e5 to hit deep into black's position and also prevent black from playing e5. 15 Bd6 Ngf3 Ng4 kib This move merely wastes time. It's a one-move threat on the undefended e-pawn. 8 Qe2 kib White doesn't mind playing this move at all... Not only does it defend the pawn, it prepares the queen to swing over to g2 or h2 after the pawns begin storming. It makes room for the rooks to move over as well, and it indirectly supports b2 in the event of a queenside attack by black, which frequently occurs in the Stonewall. 25 Bd7 o-o Nf6 kib Avoiding O-O?, where white wins a pawn and continues his attack with Bxh7+, and if Kxh7, Ng5+ wins the g4 knight. 18 h3 o-o g4 kib The storm is afoot! White's plan is to drive the knight from f6 with g5 and pile his forces against the weakened h7 pawn. 13 Qb6 kib Black stumbles onto the correct plan. The idea is a queenside attack, taking advantage of the somewhat cramped white queenside. Better is b5 followed by Qb6. 15 Ne5 kib Its best square. Note that Nxe5 fxe5 forks the bishop and knight. It also opens the f-file and strengthens the attack by white. 10 Nxe5 fxe5 6 back 2 kib Black is also threatened by g5, since moving the knight away will hang the d7 bishop to the knight, which will then fork the Queen and Rook. 15 Qd8 g5 Ne8 kib At this point, the h7 square is weakened and the Queen has freedom to go to h5. Note that an immediate attack is likely to fail, primarily because of the relatively strong pawns in front of the king and the lack of sufficient force to sustain a sacrificial attack. 30 Kib for instance: 2 Qh5 g6 Nxg6 fxg6 Bxg6 hxg6 Qxg6+ Kh8 Qh6+ Kg8 g6 Qe7 kib And white cannot further the attack. 10 back 12 kib a different move order is called for, but that isn't sound either... 8 Bxh7+ Kxh7 Qh5+ Kg8 g6 kib Threatening mate on h7. 5 fxg Nxg6 kib And white will have trouble making progress because the king can slip out of the attack at f7. Black could also organize a strong defense before white's currently dormant pieces could move in to intensify the attack. 20 back 7 kib Note that this line wins only if black refuses the free bishop. The extra piece is just too much to fight. 10 Bxh7 Kh8 Qh5 Nf6 gxf6 kib any black move leads to the same result here. 5 gxf6 Bg6+ Kg7 Qh7 ++ 8 back 9 kib Since it's rarely a good idea to play unsound sacrifices, white decides to make room for his rook to come to g1 and strengthen his attack. 15 Kh2 f6 kib Black doesn't like being cramped in this way. He hopes for gxf6, Nxf6. Unfortunately, his move breaks apart the king's last defense. 12 Bxh7+ Kxh7 Qh5+ Kg8 g6 kib This is the proverbial nail in the coffin. Qh7 ++ is white's next move. 8 back 999 kib You may be thinking now that black put up a lousy defense. This is true. There were many better moves, but the game is instructive in showing the ideal setup of the white pieces during the stonewall attack. 20 kib the attack would not have succeeded without the combination of several white pieces bearing down on the kingside castled position and the huge space advantage held by white. 15 kib Now we'll look at three other games where the basics ring true although the moves change. 8 Kib E. Horowitz vs. an amateur, Milwaukee, 1950. Courtesy of "How to think ahead in chess" by I.A. Horowitz and Fred Reinfeld. 6 wname Horowitz 1 bname Amateur 1 d4 d5 e3 Nf6 Bd3 kib One of the characteristic moves of the stonewall. 5 e6 Nd2 kib White must prevent Ne4. Otherwise, black will almost literally turn the tables and "Stonewall" white. 10 c5 c3 kib The only response. White's dxc is ludicrous, since it gives away control of e5, and gaining e5 is half the point of the stonewall. 12 Nc6 kib Note that after this move, black threatens to take the initiative with e5. White CAN'T let that happen. 10 f4 kib This prevents it nicely. 5 Be7 Ngf3 Kg8 Ne5 Qc7 Kg1 b6 kib White is playing according to plan. He's set up the strong knight at e5 while preventing black from doing the same at e4. He's taken a commanding lead over the b1-h7 diagonal, and has lines open for Qh5 and the rook maneuver R-f3-h3. 20 kib The pawns cover the dark squares of the center and are formidably placed to keep the necessary lines open for attack. 10 kib These are the defining moves of the Stonewall. See why it's so easy to learn? 10 g4 kib Threatening to follow through with the plan to drive the king knight away with g5. 10 Bb7 kib Here, black could actually gain lots of freedom with NxN. For instance: 10 a3 kib The equivalent of doing nothing. 5 Nxe5 fxe5 Ne4 kib The bishop provides enough support to e4 to make this possible. The diagonal is blocked, and black has a strong hold on the center. That's an awful way to end what would have been a strong attack by white. 20 back 4 kib So then what? 6 Qf3 kib Now NxN followed by Ne4 loses a pawn while white's attack is sustained. 10 a6 kib This doesn't look like much, but it's the precursor to a queenside attack by black. Since the kingside couldn't be defended much more than it is, this is probably the correct plan for black. 15 g5 Ne8 Bxh7+ kib When you look at this position, you'll notice the similarity to the previous game in which white had to wait for black to attempt f6 for the bishop sacrifice to work. Why does it work here when it didn't work there? 20 kib The position of black's kingside is identical with the exception of the bishop on e7 instead of d6. White's entire camp is identical to the previous game with the exception of the queen on f3 instead of e2 and the pawn on h2 instead of h3. 20 kib So how does this work? 10 kib The h-pawn is the key. In this second game, white has the opportunity to bottle up black's kingside and then leisurely play Rf3 and Rh3, with mate to follow. 20 kib This implies that the h3 push in the previous game was premature. Perhaps another action was needed, such as allowing the queen to do the honors of driving the knight away. 15 kib Can you say "Instructive?" Now might be a good time. 4 Kxh7 kib Kh8 sends black down in flames as in the previous example with Qh5/Bg6+/Qh7++ 10 Qh5 Kg8 Rf3 g6 kib Black puts up a fight. 6 Qh6 Ng7 Rh3 Nh5 Kib Aha! Black appears to have halted the attack by blocking the file. Could it be that the attack has died? Is there nothing left for our hero with the white pieces? Isn't there something else he can give away to bring black to a halt? 20 Nxg6 kib Black has to deal with the attack on his own knight and mate on h8. 6 fxg6 Qxg6+ Ng7 Kib The only defense. Kh8 fails to RxN mate. 5 kib According to Reinfeld and Horowitz, white can win here with a beautiful sacrifice. 10 Rh8 Kxh8 Qh6+ Kg8 g6 kib and mate is unavoidable. 9 back 5 kib But not to worry. It isn't necessary to see all of the sacs to win with the Stonewall attack. It just takes a bit longer. 10 Rh7 Bd6 kib This brings the queen into the game. Note that the king can no longer slip out via f7 since Rxg7 wins the queen. 10 Qh6 Kib Threatening g6 and Rh8 mate. 5 Kib Black finds a novel answer to that threat: 5 Bxf4 Kib Pinning the g pawn and delaying the inevitable. 5 kib Here Horowitz missed a crushing win: 5 Rh8 Kf7 Qf6 Ke8 Rxf8 Kd7 Rf7 kib White will finish ahead a whole queen. 10 back 7 kib However, Horowitz's strong position allowed him to win after the less violent exf4. 10 exf4 Rxf4 g6 kib Now what? Reinfeld's and Horowitz's analysis is that the king cannot escape unscathed via f8. 10 Kf8 Rh8 Ke7 Qxg7+ Kd6 Nc4+ dxc4 Bxf4+ kib "... and it's all over," they say. 12 back 8 6 Rg4+ Kh1 kib Kf1 would be a mistake since it allows black to exchange queens via Qf4+. The pressure would be off and black would win eventually with his extra piece. 15 Rxg6 kib Black really has no other choice than to return the extra material. 12 Qxg6 Rf8 kib To prevent Nf3. Note that Qf7 loses. 6 back 1 Qf7 Rh8+ Kxh8 Qxf7 8 back 4 Rf8 Nf3 Kib He plays it anyway! Another sac! Rxf3 Bh6 Rf7 Rg1 kib ... and black resigns. Can you blame him? Look at it on your own. Go ahead. I'll give you 20 seconds. 28 back 999 Kib Another? Kib Kujoth vs. Crittenden, Milwaukee, 1949. Courtesy of "How to think ahead in chess" by I.A. Horowitz and Fred Reinfeld. 8 wname Kujoth 1 bname Crittenden 1 d4 d5 e3 Nf6 Bd3 e6 f4 kib Better is Nd2 first, preventing the knight from intruding at e4. 6 Nbd7 Nd2 c5 c3 kib As before, giving the bishop a free escape square in the event of c4. 8 cxd kib an error... it allows the bishop to gain freedom and does nothing to relax white's hold on the center. White should be able to attack more strongly when the time to attack comes. 15 exd kib The only drawback for white is the currently undefended fpawn. 6 Be7 kib Black decides not to make the fpawn an issue. Had he played Bd6, Ndf3 would have sufficed, since it clears the way for the c1 bishop to guard f4, though it has the drawback of weakening white's hold on e4. g3 is another possibility, but it has the possible drawback of delaying the 0-0 - Rf3 - Rh3 maneuver until g4 is played. 25 g1f3 b6 Ne5 kib The pattern is there... Nxe5 kib This is another inaccuracy. White merely has to take with the f-pawn and proceed with a devastating attack that includes the force of the c1 bishop and the open f-file. 15 fxe5 kib A word of advice... anytime the knight on e5 is taken, it is necessary to take back with the f-pawn. This assures white's control of the kingside by locking up any potential attacks by black along the a7-g1 diagonal and opening the lines for the rook on the f-file and the c1 bishop. It also negates the need for g2-g4-g5, since the e5 pawn is enough to drive away the knight on f6. 30 Nd7 Kg1 a5 kib Black's plan is to exchange white's strong d3 bishop by playing Ba6. The guiding principle is that when you're defending, any exchanges you can force will usually ease your pressures. 15 Qg4 kib attacking the undefended gpawn. Castling would usually be the simplest cure, but the castled position would be rather weak here. For instance... 15 O-O Qh5 h6 Nf3 kib threatening the sac Bxh6 and breaking through. White could finish the job with a rook maneuver to g3. 10 back 2 g6 Qh6 kib and white has a strong position with threats of N-f3-g5 and R-f3-h3. 10 back 2 f5 exf Nxf6 Rxf6 Rxf6 Qxh7+ Kf8 Nf3 Rxf3 gxf3 kib and white is up a pawn with more potential attacks to follow. 8 back 12 g6 Bc2 kib ... dodging the simplification by black's Ba6. 5 Bg5 kib trying to muster some defense. Black realizes that castling is dangerous due to 14 Nf3 and 15 Bh6. 15 Nc4 kib a discovered attack that, if unrealized, leads to mate! 7 Bxc1 Nd6+ Kf8 Rxf7 Kg8 Bxg6 h5 Bh7++ kib Horowitz and Reinfeld's analysis shows this as the only line, but black also has Bg5 as a defense. 10 back 2 Bg5 kib Black can avoid mate, but it's not much fun. 5 Qxe6 kib Note that the bishop is immune because of hxg Qxg++. White also threatens Rxh7 dis.ch, Kf8, Qf7++. 10 Ra7 Rxh7 Kf8 Qf7 10 back 12 kib So.... 5 dxc4 Bxg5 Qc7 Rxf7 kib !! This sac is made possible by White's stranglehold on the f-file and his monopoly on the black squares. 12 Kxf7 Rf1+ Kg7 kib Ke8 fails because of Qxe6 mate. Kg8 isn't much better. Qxe6 Kg7 Qf7++ . 18 Bh6+ kib another sac that reduces the black king's mobility to nothing. 4 Kxh6 Rf7 kib The threat is Qh4 mate. Black's next move covers it, but there's another sacrificial threat of mate in two. Can you find it? You've got 10 seconds. 20 Qd8 10 Rxh7+ Kxh7 Qxg6 ++ kib This is reason enough to enjoy playing the Stonewall. White is down two rooks and a knight, but wins the game from his consistent planned play. 15 back 999 kib Here's a bonus game, played by myself about a year ago. I commit two basic inaccuracies that black luckily did not exploit. See if you can spot them. 15 kib I call this a bonus game because it only serves to reinforce the points already mentioned, and since I'll avoid using more commentary than necessary. If you'd like to analyze this game on your own, it's in MBDil's journal, entry A. 18 wname MBDil 1 bname shannu 1 d4 d5 e3 e6 Bd3 Nf6 f4 c5 c3 c4 Bc2 Bd6 Nf3 O-O O-O Ng4 Qe2 Nc6 h3 Nf6 Nbd2 b5 Ne5 Bb7 g4 b4 kib Black has been moving right along with his relatively strong plan. You'll notice as you play this system that the queenside frequently is attacked in this manner. 15 g5 Nd7 h4 bxc3 bxc3 f6 Ng4 kib Bxh7! instead would have lead to a winning attack as we have seen earlier. 8 fxg5 hxg5 Qa5 Qh2 g6 Bb2 Ba3 kib At this point my development is as good as I'm going to get it, and because of my less than perfect play on the queenside, I'm just about to lose material. So, what else? I've gotta do something to keep him occupied. 20 Bxg6 hxg6 Qh6 kib I don't believe this line is entirely sound, but I continue to win with my overall good position anyhow. 10 Rf7 Qxg6+ Rg7 Qxe6+ Kh8 Kf2 Nf8 Rh1+ Rh7 Rxh7+ Nxh7 Rh1 Be7 kib And now the heat is off of my queenside! 5 Qh6 kib ... and black ran out of time. 8 kib Time for the quiz... with regard to the points mentioned in this lecture, what were my two opening inaccuracies? You have 10 seconds. 20 kib For one, I failed to prevent Ne4 with Nd2. Secondly, I played an early h3. Luckily, neither became a major drawback in the game. 10 kib Give yourself partial credit if you claimed that my first mistake was playing d4. :) 8 kib Thank you for listening to my lecture. I hope that you learned something and can now employ the stonewall attack with confidence. 8 kib Though I'm sure there are several good books on this attack, I recommend the classic "How to think ahead in chess" by Horowitz and Reinfeld for a more somewhat more complete understanding of this opening. 20 pychess-1.0.0/learn/lectures/lec9.txt0000644000175000017500000002116113365545272016577 0ustar varunvarunk Welcome to Knackie's Tactics Training. The examples are based on material of a Hungarian Chess School. They have been revised using Fritz and a bit of Knackie's brain. 15 k In this lesson you will learn how to mate an enclosed king. 10 k Example 1: Zoller vs Heywood 1 bsetup 1 bsetup fen 3n1r1k/1pp2p1p/1r3p1N/p4N1Q/4P1R1/1Pq3P1/P4PKP/8 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Zoller 1 bname Heywood 1 k To introduce the theme, let's look at a nice mating combination: 10 k Half of the work is already done here: the black king has nowhere to go. The only task which remains to be done is to give checkmate. 12 k White would like to play something like Nxf7 mate, but unfortunatly the square f7 is protected twice by the Rf8 and the Nd8. 12 k This means it is white's plan to deflect the two protectors of the f7 square. You have 60 seconds to figure it out by yourself... 70 h5f7 d8f7 k The knight does not protect f7 anymore. 8 g4g8 f8g8 k The rook does not protect f7 anymore, so the stage is set for: 8 h6f7 k mate. The final position is very typical. The black king is enclosed by his own pieces, while the mate is given by a white knight. 12 k Example 2: Kurajca vs Ujtelky, Wijk aan Zee 1969 1 bsetup 1 bsetup fen 4Q3/2p2pbk/rn3qNp/3p1P1P/pp1n2R1/1P4N1/P1P3P1/1K3R2 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Kurajca 1 bname Ujtelky 1 k The combinations in this lesson tend to be very pretty. Do you see the mate in 2? 45 seconds... 52 e8h8 g7h8 g6f8 k One must like these knight mates! 10 k Example 3: Larsen vs Najdorf, Lugano 1968 1 bsetup 1 bsetup fen 8/6pk/pN5p/4Rp1q/4nP2/2r4P/Q5P1/6RK 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Larsen 1 bname Najdorf 1 k In the 'clash of the western champions', Najdorf found an easy mate in 3. 45 seconds... 52 c3h3 g2h3 h5h3 a2h2 e4f2 k The knight did it again! 8 k Example 4: Lechtynsky vs Pachman, CSSR 1968 1 bsetup 1 bsetup fen r1bq2rk/1p1p4/p1n1pPQp/3n4/4N3/1N1Bb3/PPP3PP/R4R1K 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Lechtynsky 1 bname Pachman 1 k This example would also be suited for the discovered attack theme. Do you see how the knight strikes again? 60 seconds. 68 g6h7 h8h7 e4g5 h7h8 g5f7 k mate. There's definitely not much scope for these poor enclosed kings! 10 k Example 5: Atkinson vs N.N., Manchester 1929 1 bsetup 1 bsetup fen r5rk/1pp1n1pp/p1n1b1q1/3p1p2/7R/2QB1N2/PB3PPP/4R1K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Atkinson 1 bname N.N. 1 k After these 'easy' mates, let's increase the difficulty level. 8 k In this position, the black king is completely enclosed, so white 'only' needs to play Nf7 mate, but the black queen defends the position quite well, and the white knight is still far away from f7. 75 seconds... 90 e1e6 k White first deflects the black queen from its good defensive position. 10 g6e6 f3g5 k The knight comes with tempo to the threatening square g5. Black has not much choice here, as white threatens both NxQe6 and Rxh7 mate. 15 e6g6 k White would still like to play Nf7. Therefore, he deflects the black queen again... 15 h4h7 g6h7 g5f7 k White has achieved his goal, Nf7 mate. 10 k Example 6: Ribli vs Chandler, Indonesia 1982 1 bsetup 1 bsetup fen 2r3k1/p5bp/2p3p1/3bN2q/1P3p2/P2QP1B1/5PPP/2R1K3 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Ribli 1 bname Chandler 1 k In this example, black's position seems quite solid, especially the formation pawn c6 and Bishop d5. 12 k White started a little combination, having a very typical mate in mind. 120 seconds... 126 c1c6 k A huge blow, right into the heart of black's position. 8 k Black cannot take the rook as after RxRc6 QxBd5+ Kh8 black gets mated with Qd8+ in a few moves 20 c8d8 k Black protects the vital square d5. How did white attack d5 again? 25 c6c8 d8c8 k The mate combination which follows is very typical and arises quite often in the middlegame. If you don't know the idea already, i strongly recommend you memorize the following moves: 15 d3d5 k Black cannot play Kf8 here because of Qf7 mate. 12 g8h8 e5f7 h8g8 f7h6 g8h8 k Now follows a move you should absolutely remember: 10 d5g8 c8g8 h6f7 k mate. Keeping this mating idea in mind will help you win many games (or avoid many losses). 12 k Example 7: Balogh vs Troianescu, Brasso 1947 1 bsetup 1 bsetup fen 2r3rk/3qbppp/8/ppnpPP2/5P2/4BNR1/PP5P/2RQ3K 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Balogh 1 bname Troianescu 1 k The black king is already enclosed by his own teammates, but how could the white knight find a way to mate? 75 seconds... 83 e5e6 k A powerful multi-purpose attacking move. Besides freeing the square e5 for the knight, the pawn takes away one of the defenders of the vital square g6. (the pawn f7) 20 f7e6 f3e5 d7e8 k Black defends against the obvious Nf7 mate, but there's another way for white... 20 e5g6 h7g6 g3h3 e7h4 h3h4 k mate 8 k Example 8: Vaccaroni vs Mazzochi, Rome 1891 1 bsetup 1 bsetup fen 8/6p1/4b1Rp/4q2k/7b/1B6/2PB2Q1/2K5 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Vaccaroni 1 bname Mazzochi 1 k Usually such a position would not be worth looking at. White is already a rook up so he should win easily. However, the mate in 3 white found here is certainly worth more than just a look. 60 seconds... 76 g2g4 e6g4 k Can you find the finish now? 20 g6h6 g7h6 b3f7 k You would like to see this mate in one of your games, wouldn't you? 10 k Example 9: Unzicker vs Sarapu, Siegen 1970 1 bsetup 1 bsetup fen r1b2rk1/pp3ppp/1q1bn3/3Q4/2B1N3/8/PPP3PP/R1BK1R2 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Unzicker 1 bname Sarapu 1 k In this position, white asked himself if he could just grab black's bishop on d6. What do you think? 75 seconds... 83 e4d6 k Unzicker decided: yes! 8 f8d8 k So what now? Black threatens to regain the piece on d6, when white has trouble on the d-file. It seems that white has no way to protect d6. Do you agree? 20 c1f4 k Ooops, white protects it after all! So let's look what happens if black takes away that Bishop f4: 15 e6f4 d5f7 g8h8 k Do you remember the mate that happens often in the middlegame? 15 f7g8 d8g8 d6f7 k mate 8 k Example 10: Najdorf vs N.N., Simul. 1942 1 bsetup 1 bsetup fen r2qrk2/1b2bppB/p7/1p1PN3/1n6/8/1B2QPPP/2RR2K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Najdorf 1 bname N.N. 1 k What's the difference between the ordinary chessplayer and a Grandmaster? 10 k While the ordinary chessplayer would be very glad to find the following combination at all, Najdorf however found it during a simultaneous exhibition! 90 seconds... 102 e2h5 k This move is quite obvious, threatening mate on f7. 10 b7d5 k Black seems to defend well, but Najdorf found a way to mate the enclosed king. 20 d1d5 d8d5 k So, what was Najdorf's idea? 12 h5f7 d5f7 e5d7 k Would you have found this in a simultaneous exhibition? :) 10 k Example 11: Nykitin+Sakarov vs Kasparov 1 bsetup 1 bsetup fen 1qB1r1k1/5pp1/1Bb4p/2P4n/1P1p4/P4n2/1N3QPP/2R2N1K 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Nykitin,Sakarov 1 bname Kasparov 1 k Kasparov is not only today's best chess player, he is also one of the greatest tacticians of all-time. The champion saw that white's king is enclosed. Black just needs to play 'Ng3 mate'. Unfortunately the square g3 is well protected. 75 seconds... 93 e8e2 k Deflecting the queen from protecting g3. 10 f2e2 b8h2 k Deflecting the knight f1. 10 f1h2 h5g3 k mate 8 k Example 12: Horvath vs Eperjesi, Ungarn 1971 1 bsetup 1 bsetup fen r3n1r1/1pq2ppk/1p2p2p/1b2N2N/8/6Q1/PPP2P1P/1K1R2R1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Horvath 1 bname Eperjesi 1 k This last example is a bit more difficult. White had a very surprising move to prepare a mating attack. 120 seconds... 67 k Note that a move like Qxg7 might work, if well prepared... 67 d1d7 k This move makes no sense at first sight. The idea is to cut black's queen off from protecting the f7 square. 15 b5d7 k Now comes white's mating combination. 25 g3g7 k Black has a choice here: let's first look at Nxg7: 8 e8g7 h5f6 h7h8 e5f7 k mate 5 back 4 k Let's now look at Rxg7, which lasts just one move longer: 10 g8g7 g1g7 e8g7 h5f6 h7h8 e5f7 k You see why the first move Rd7 was necessary. Without it black could just capture the knight with Qxf7. 15 k I hope you enjoyed the lesson, keep looking for such mates in your own games, they happen quite often! 15 k These and some more examples can be downloaded in chessbase format at http://webplaza.pt.lu/public/ckaber (Tactic3.zip) 30 pychess-1.0.0/learn/lectures/lec18.txt0000644000175000017500000002057413365545272016666 0ustar varunvarunk Welcome to Knackie's Tactics Training. The examples are based on material of a Hungarian Chess School. They have been revised using Fritz and a bit of Knackie's brain. 15 k The 6th Lesson features the theme 'Mating attack'. 12 k In the previous Lessons, you've already encountered many mating combinations. 16 k In this Lesson we'll dive into the Mating-Attack theme for good. We will also view some more difficult examples. 20 k Example 1: Spasski vs Kozma, Lyon 1955 3 bsetup 1 bsetup fen r4k2/4b2p/q3Pp2/1p1p4/3B4/2PB4/rP3Q1P/1K1R2R1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Spasski 1 bname Kozma 1 k Let's start with an example of former World-Champion Spasski. 13 k White is a piece up, but black seems to have a threatening attack on the a-file. 16 k How did Spasski react? 8 25 f2f6 k nice sacrifice !! 7 e7f6 d4c5 k If black now answers Ke8, he is mated immediately by Rg8, so he tried: 15 f6e7 d1f1 f8e8 g1g8 e7f8 g8f8 k mate 5 k Example 2: Szabo vs Bakonyi, Budapest 1951 3 bsetup 1 bsetup fen r5k1/r4pb1/2p1p1p1/p1q1P1P1/1p1p1Q2/1P1B3R/P2B1P2/6KR 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Szabo 1 bname Bakonyi 1 k In this example, white has two strong rooks on the h-file, but the black Bg7 seems to defend well. 19 k How did white break the defense? 9 k You get 50 seconds... 8 50 f4f6 k What a surprise!! 7 k Black must take the queen. Otherwise, he gets mated by: Rh8+ Bxh8 Rxh8 mate. 16 g7f6 g5f6 k The black king is enclosed! Rh8 mate cannot be prevented. 13 k Example 3: Barcza vs Trojanescu, 1951 3 bsetup 1 bsetup fen r6k/1q1n1prp/p3pN2/1p1b4/6RQ/6P1/PP2PP1P/3R2K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Barcza 1 bname Trojanescu 1 k In this example, it seems hard to believe that white has an easy mate, as the Rg7 defends well. 18 k 60 seconds... 6 30 k note that the black Ra8 plays an important role in defending the 8th row... 30 h4h6 k white simply threatens Qxg7 mate. 9 k black cannot answer RxRg4 because of Qxh7 mate, so he must defend his rook.. 15 a8g8 k It seems white has not achieved much, but there's a considerable difference between the black rook standing on a8 and g8... 21 h6h7 g7h7 g4g8 k mate 5 k Example 4: Adams vs Siminson, USA 1940 3 bsetup 1 bsetup fen r3r1k1/pp3ppp/3b4/3q4/1n1B1P2/3B1P2/PP2Q2P/1K1R2R1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Adams 1 bname Siminson 1 k The first move is surely not difficult to find here. 12 k But then, white must show very precise and forcing play, as black threatens both Qxa2+ and RxQ. 18 k 75 seconds... 6 g1g7 k Let's look what happens if the black king moves to h8 now: 13 g8h8 g7h7 h8g8 h7h8 k mate. That was easy! 8 back 4 k In the game black moved the king to f8 instead. 11 g8f8 k What now? Black still threatens Qxa2+ and RxQ, so white must continue to play forcing moves... 18 g7g8 f8g8 k White will now obviously give check on the g-file. 12 k What is best: Qg2+ or Rg1+ ? 9 30 d1g1 k Did you get it? The white queen is needed on e2 for preventing the black king from escaping via the e-file. 20 g8f8 k White now decisively improves the position of his Bd4. 12 d4g7 f8g8 k White now has a move 'for free' with his bishop g7, as the rook on g1 will give a discovered check. 19 k Which is the best position for the bishop to prepare a typical mating combination? 25 g7f6 g8f8 k Now follows a mating combination you should try to memorize, as it happens quite often: 17 g1g8 f8g8 k The black king steps on the deadly g-file again. 11 e2g2 g8f8 g2g7 k mate. k Example 5: Sokolov vs Rusnikov, 1967 3 5 bsetup 1 bsetup fen r1bk1r2/pp2R1p1/3p3p/2p3Q1/3N4/8/PPP2PPP/6K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Sokolov 1 bname Rusnikov 1 k White is already some material up, but his Queen and knight are under attack. 16 k How would you react? 40 seconds... 10 40 e7b7 k Surprise... If black now tries Rf6, there follows: 12 f8f6 d4c6 d8e8 b7e7 e8f8 g5g7 5 back 6 k So, black took the Queen instead... 9 h6g5 d4c6 d8e8 b7e7 k mate ! 5 k Example 6: Uhlmann vs Smyslov, Hastings 1972 3 bsetup 1 bsetup fen r5k1/pp4p1/2p1q1p1/4P1B1/2nn2P1/5Q2/P4RK1/5R2 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Uhlmann 1 bname Smyslov 1 k This is the chance of your life!! You're playing against World-Champion Smyslov... 16 k But you are running out of time... 30 seconds left. 11 30 f3f8 a8f8 f2f8 g8h7 f1h1 k mate ! You did it :-)) 8 k Example 7: Osvath vs Ortel, Budapest 1970 3 bsetup 1 bsetup fen 3r1r2/p1q1npkp/1p1pp1p1/2p1b1B1/6N1/2PP2P1/PP2QPbP/R3R1K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Osvath 1 bname Ortel 1 k Easy mate? 40 seconds... 8 40 e2e5 k That looks good. 7 d6e5 k So what was the idea behind the Queen sacrifice? 12 g5f6 g7g8 g4h6 k A mate position to remember! 9 k Example 8: Van den Enden vs Prasak, Lublin 1974 3 bsetup 1 bsetup fen r1bq4/p4rkp/2p2p1n/2Pp1PpQ/3P4/3B2NP/P3R1P1/4R1K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname VanDenEnden 1 bname Prasak 1 k The first move is not very spectacular, but the second move is... 14 k 50 seconds... 6 50 e2e8 d8c7 k With his first move, white took some squares away from the black king. Now he showed his mating idea... 18 h5g5 k What a blow !! 10 f6g5 g3h5 k A fantastic mate position ! 9 k Example 9: Bernstein vs Kotov, Groningen 1946 3 bsetup 1 bsetup fen R7/1r3ppk/4p1qp/3pP3/1r3PP1/7P/1P1Q3K/2R5 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Bernstein 1 bname Kotov 1 k How did the old master Bernstein beat the young Kotov? 12 k Do you see the whole variation? 75 seconds... 11 75 c1c8 k threatening Rh8 mate. 8 g6e4 c8h8 h7g6 f4f5 e6f5 k The black king seems safe, but now follows the main idea of the combination: 20 d2h6 g7h6 a8g8 k mate ! 5 k Example 10: Elwekkawi vs Frank, Nigeria 1976 3 bsetup 1 bsetup fen 8/2R2ppk/3p1q1p/3PpP1Q/r7/6PK/5R1P/6r1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Elwekkawi 1 bname Frank 1 k The white king looks somewhat unhappy on h3. 11 k How did black exploit this, having a great mating position in mind? 14 k 75 seconds... 75 f6g5 k What's this? Black exchanges Queens!? 10 h5g5 h6g5 k Maybe white was not unhappy with his position here. 12 f5f6 k So what was the idea of black's combination? 15 a4h4 g3h4 g5g4 k k mate! Did you ever mate by moving pawn g5-g4? :-)) 13 k Example 11: Palatnik vs Kruppa, Kiew 1984 3 bsetup 1 bsetup fen 5r2/1p4r1/3kp1b1/1Pp1p2p/2PpP3/q2B1PP1/3Q2K1/1R5R 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Palatnik 1 bname Kruppa 1 k Do you think all these examples were too easy? 11 k Ok, in this last example we'll increase the difficulty level. 13 k Black started a mind-dazzling combination. 11 k You get 120 seconds (one probably needs 15 minutes for working it all out, but we can't wait that long.. :-)) 20 120 f8f3 k Here comes the first blow!! 9 g2f3 k Now comes... 15 g6e4 k the second blow ! 7 k White has a choice here: Kxe4 or Ke2. Let's first look what happens if he plays Ke2: 17 f3e2 e4h1 b1h1 g7g3 k Threatening Rg2+ 12 h1h2 g3e3 e2f2 e3d3 k And so on. 10 back 8 k In the game White took on e4: 9 f3e4 g7g3 k In the game white now played Ra1, trying to chase the Queen. Let's look what happens if he tries to get rid of the Rg3 instead: 23 h1g1 k Can you find black's next shot? 20 a3a2 k Fantastic! White cannot take QxQ because of Re3 mate! 15 d2e1 k Now follows the nicest move of the combination: 20 b7b6 k Great!! After this little move black suddenly threatens Qa8 mate! 14 b1a1 k Now the Queen cannot go to a8, but... 15 a2a1 k the fun continues... 7 e1a1 g3e3 k mate! 8 back 8 k Now before looking at the game, let's see what happens if white tries to prevent Re3 by means of Rh-e1: 19 h1e1 k White seems to defend everything. How would you continue? 20 a3a8 k Incredible!!! Black comes 'around the corner' to the other side of the board. 16 b1a1 a8g8 k White is helpless against the mating threats. 11 back 4 k In the game, white tried: 10 b1a1 a3b2 k Again, the black Queen cannot be taken because of Re3 mate. 13 k On the other hand, black threatens QxQ himself, followed by Re3 mate. There is no defense. White resigned. 19 k That's all folks, i hope you enjoyed the Lesson. 11 k These and many more examples can be downloaded in Chessbase or Pgn-Format at http://webplaza.pt.lu/public/ckaber 21 pychess-1.0.0/learn/lectures/lec30.txt0000644000175000017500000005657613365545272016673 0ustar varunvarunkibitz This is the second lecture in this series. In the first lecture we looked at opposition and key squares of K+P vs K. Most of this lecture does not require knowledge of that, but the third lecture in this series 'Basic Pawn Endings III: Pattern training' will require knowledge of this and the previous lecture. 30 kibitz In this lecture we will focus a bit more on the role of the kings in pawn endings, the case where king chases a pawn, connected, separated, doubled and outside passed pawns. 20 kibitz In essence this lecture is to provide the rest of the skills to handle king + pawn(s) vs king endings, and to give a grounds for applying to more complicated endings. The next lecture will focus on more examples to provide a base for recognizing features in more complicated pawn endings. 23 bsetup 1 bsetup fen k7/8/8/8/8/8/8/4K3 1 bsetup tomove white 1 bsetup standard 1 bsetup wcastle none 1 bsetup bcastle none 1 bsetup done 1 kibitz This is a quick demonstration of "Einstein's" king. Ignore the black king. 8 kibitz Suppose the white king has to travel to e8. Normally (since this is the way we are conditioned to believe so) we'd think the quickest route is a straight line. (e1-e2-...-e8). 20 kibitz However there are a huge number of ways to get to e8 in seven moves. As long as the white king moves forward a rank each time, it may move to the left or the right, assuming it is still possible to get back to e8 in the quotaed number of moves. Remember when we are talking about the number of moves the king has to make, not the mathematical distance. 35 kibitz Assuming no obstacles, the number of moves to get from one square to another is the maximum of the horizontal and vertical distances (in squares). 15 kibitz To put that mathematically: If H = number of horizontal moves needed to get the to the desired file and V = the number of vertical moves needed to get to the desired rank then M (the number of moves needed to get to the desired square) = MAX (H, V) assuming the path is clear. 27 kibitz Hence going from a4 to a8 (H = 0 horizontal squares, V = 4 vertical) takes 4 moves, as does going from c4 to a8 (H = 2 horizontal, V = 4 vertical) as does e7 to a8 (H = 4 horizontal, V = 1 vertical). 19 kibitz Let's take a look at two different routes from a1 to e1. The route a1 -> b1 -> c1 -> d1 -> e1 (a straight line) requires 4 moves. The route a1 -> b2 -> c3 -> d2 -> e1 (a diagonal path) also requires 4 moves. Keep this in mind when we look at the rule of the square later. 26 kibitz Have a look at this example which shows the direct path is not always the best. 6 bsetup 1 bsetup fen 8/p5K1/P7/8/8/8/8/k7 1 bsetup done 1 kibitz Black has no hope of protecting his pawn (or capturing the white one). 8 Kf7 Kb2 Ke7 Kc3 Kd7 Kd4 Kc7 Kd5 Kb7 Kd6 Kxa7 Kc7 kibitz But, stalemate. White's king is entombed. 5 revert Kf6 Kb2 Ke5 kibitz Since the direct route didn't work, white attempts another route. As shown it will take the same amount of moves, but it will 'shoulder-barge' (take away useful squares from) the black king who will lose a move because the pawn cannot be approached on one of the moves. 25 Kc3 Kd5 kibitz Already Kd4 is no longer playable. What if Kd3 instead? Kd3 Kc6 kibitz Kd6 would let the black king back in with enough moves to stop the pawn (Ke4). 9 Kd4 kibitz What else? Kb7 Kd5 Kxa7 Kc6 Kb8 kibitz Black is too late, thanks to the shoulder barge at d5. 7 back 8 kibitz Just for completeness, here is what happens if black plays to b4 instead of d3... 9 Kb4 Kc6 Ka5 kb7 Kb5 Kxa7 Kc6 Kb8 kibitz Same as before. bsetup 1 bsetup fen 8/8/8/8/P4k2/8/8/K7 1 bsetup tomove white 1 bsetup done 1 kibitz The rule of the square: 4 kibitz Can black stop the pawn here? White's king cannot stop the black king's entry into the position, since black's king would ignore the pawn and grab the key square b8, blockading the pawn with a draw. (If you don't know about this type of ending, see the first lecture). 27 kibitz Therefore it's up to the pawn to run as fast as possible before it's gobbled up by a hungry king. 7 bsetup 1 bsetup fen 8/Pk6/8/8/8/8/8/K7 1 bsetup done 1 kibitz Ignoring the white king, if the black king is on b7 while the pawn is on a7, the king can capture the pawn whoever to move. Even if it queens, black can capture the new born queen. 14 bsetup 1 bsetup fen 8/P7/2k5/8/8/8/8/K7 1 bsetup tomove black 1 bsetup done 1 kibitz If the king is to stop the pawn it must get to either a8, a7 or b7 on this move. 8 Kb7 a8=Q Kxa8 bsetup 1 bsetup fen 2k5/P7/8/8/8/8/8/K7 1 bsetup tomove black 1 bsetup done kibitz Note that it doesn't matter that with the pawn on a7 the b8 square is taken away, since b7 is reachable from both c8 and c7. (Note an exception: with the pawn on a7 and black king on c6/c7/c8 what difference a white king on a6 would make!) 21 bsetup 1 bsetup fen 2k5/P7/K7/8/8/8/8/8 1 bsetup tomove black 1 bsetup done 1 kibitz Chess's equivalent of the 'shut out'. 4 bsetup 1 bsetup fen 8/8/P7/3k4/8/8/8/K7 1 bsetup tomove black 1 bsetup done 1 kibitz So taking another step back, if the pawn is on a6, black must be able to reach one of the squares within the perimeter around a6-c6-c8-a8. 15 Kc6 a7 Kb7 a8=Q Kxa8 1 bsetup 1 bsetup fen 1N4N1/8/8/8/8/1P4N1/8/K5k1 1 bsetup tomove black 1 bsetup done 1 kibitz What's being described here is the rule of the square. Going from where the pawn is, make a diagonal line to the eighth rank. Those two points are used to form a square (opposite corners). The perimeter of the pawn's square is drawn around the corner squares (like an rubber band on a nail board). 1 kibitz Here I've marked the other corners of the square with knights. 35 kibitz If the king can get inside this square then the pawn can be stopped, if it can't the pawn moves, making the square one smaller and so the king cannot catch it. Here the king cannot get to one of the squares inside the perimeter around b3-g3-g8-b8. 28 Kf2 1 bsetup 1 bsetup fen 1N3N2/8/8/8/1P3N2/8/5k2/K7 1 bsetup tomove black 1 bsetup done 10 kibitz Note if the pawn is not a rook pawn, the square can be extended on both sides of the pawn (symmetry). So a 'truncated' square of the pawn b4-a4-a8-b8 exists too. 15 bsetup 1 bsetup fen 8/8/8/8/P4k2/8/8/K7 1 bsetup tomove white 1 bsetup done 1 kibitz It should be easy now... kibitz In the position it's white to move. To draw black must be able to step into the pawn's square (a4-e4-e8-a8). If it was black to move he could. As it is now, black will miss the pawn and it will queen first. If black chases after it, it will be like chasing a rainbow. 27 a5 Ke5 a6 Kd6 a7 Kc7 a8=Q kibitz Too late! 2 bsetup 1 bsetup fen 8/8/8/8/8/8/P5k1/K7 1 bsetup tomove white 1 bsetup done 1 kibitz Black to move plays Kf3 and can stop the pawn. (... Kf3 a4 Ke4 and black is inside the square). 10 kibitz But, it's white's move. By the rule of the square it would appear black can stop the pawn, and indeed after white plays a3 he can. The problem is the pawn may move two squares on its first move (a4). 20 kibitz This is an extension to the rule; with the pawn on the second rank we make the square as if the pawn was on the third (a3). Black cannot get into the square after white plays a4 so the pawn queens. 17 bsetup 1 bsetup fen 8/4p3/8/3P4/1P6/6k1/8/K7 1 bsetup tomove black 1 bsetup done 1 kibitz With more material on the board there are some tricks. 6 kibitz White's king is too far away to be of much use. Black threatens to capture or block the b pawn and with the e pawn blocking the pawn of the d pawn a draw should result. 17 Kf4 kibitz If white tries to advance the b pawn, black can catch it as he's now in the square. However, the presence of other pawns makes a neat tactical trick available. 16 d6 kibitz d6!! is the only winning move here. 6 kibitz White threatens to capture black's pawn, and if it moves he'll queen with d7-d8=Q. Black is forced to accept the sacrifice. A move later and black would capture with his king (hence it is needed now). 20 exd b5 Ke5 b6 kibitz The white pawn advances. Unfortunately the traitor pawn is stopping his own king from entering the square of the enemy pawn. 11 kibitz Black now must either waste a move to move the pawn or take an extra move to move his king round it via d5-c6-c7 or e6-d7-c7 12 kibitz Either way the pawn gets home first. Ke6 b7 Kd7 b8=Q kibitz It's all over now. The queen or king can stop the pawn without problems , and black will soon be mated. 11 kibitz This example brings an important point home. Concepts such as the square, corresponding squares and key/critical squares which are discussed in most textbook examples, should not be thoughtlessly followed. Sometimes there is an exception to a rule, a special trick or a defense that needs a careful reply. 30 kibitz The concepts are only guidelines. They may not always work. Think before you plan to simplify into a 'technically' won endgame, as there might be a hidden resource for the defender. Never use autopilot unless the clock demands it. 20 bsetup 1 bsetup fen 7K/7p/k1P5/8/8/8/8/8 1 bsetup tomove black 1 bsetup done 1 kibitz Here's a famous example by Reti that proves that mindlessly following a rule cannot predict the result. The rest of the position must be looked at. 15 kibitz Black's king is too close to white's pawn, and if it advances black can capture it. Black's pawn is about to advance too far away for white to capture. He needs two extra moves (black is moving first) to get into the square. 22 kibitz Looking at this and remembering the rule of the square, white could have easily resigned. But there is a hidden resource! 11 h5 Kg7 kibitz Off goes the hare pawn, and the tortoise king follows... 6 h4 Kf6 kibitz Still he has no chance of wining the race. h3 Ke6 kibitz White gives up chasing the pawn and goes to protect his own. 6 h2 c7 kibitz huh? What is this? That pawn that couldn't move, for fear of capture, suddenly moves! Now h1=Q c8=Q+ is a draw. 11 Kb7 kibitz Black is forced to stop c8. Kd7 kibitz Now c8 is assured and h1=Q c8=Q+ is a draw. 6 kibitz So if black mindlessly pushes the pawn, white can queen straight afterwards. The maneuver is called the feint. White's king appears to be moving down the board, but then it suddenly changes direction. 21 revert kibitz For completeness, let's see what happens if black threatens to execute white's pawn at an earlier stage. 10 h5 Kg7 h4 Kf6 Kb6 kibitz Dagger poised, the king approaches the pawn. Ke5 kibitz Ke5! is the key move. Since black has invested a tempo on closing in on the white pawn, he hasn't had a chance to advance his own. Now if black captures the pawn, white plays Kf4 and is inside the square of the h4 pawn. If the pawn advances, Kd6 protects the pawn and c7-c8=Q is assured with a draw. 29 h3 Kd6 h2 c7 Kb7 Kd7 h1=Q c8=Q kibitz That is a neat example. Bravo Reti! (It is also a revisitation of the Einstein's king idea.) 9 kibitz (Note: A passed pawn is a pawn that does not have enemy pawns blocking the path either on the same or adjacent files). 7 bsetup 1 bsetup fen 8/2k1p3/2P4K/1P6/8/8/8/8 1 bsetup tomove white 1 bsetup done 1 kibitz Connected passed pawns are a pain to have to deal with. They are usually a winning advantage if they cannot be blockaded. The blockading piece has to give up duties elsewhere. It's almost like being a piece up. 20 kibitz Black cannot capture white's pawns, the back one protects the front one and if the back one is captured the front one cannot be caught. If the king moves away they'll queen, so the black king cannot provide assistance to his pawn. 23 kibitz White just comes in and eats the black pawn, then assists the pawns in queening. While connected pawns (where the front one is a passed pawn) can look after themselves against a king, they cannot queen by themselves. 21 bsetup 1 bsetup fen 2k5/2P5/1P6/3K4/8/8/4p3/8 1 bsetup tomove white 1 bsetup done 1 kibitz Here white cannot catch the black pawn and it threatens to queen next move, but he has another trick up his sleeve. 11 Kc6 e1=Q kibitz Forced; no other move was available. 6 b7 kibitz And white mates. All white had to do was ensure his king couldn't be checked when black queened. Note this mating pattern can also be reused further down the board if a rook, queen or other pieces combined are stopping the enemy king's retreat. 21 bsetup 1 bsetup fen 8/Pk6/1P6/1K6/8/8/8/8 1 bsetup tomove white 1 bsetup done 1 kibitz Here is an example that ties our first lecture together with this one. Black's king blocks both pawns. The white king cannot get any closer due to stalemate. Eg: 17 Ka5 Ka8 Ka6 kibitz And a draw. But is it really drawn? back 3 kibitz Answer: no. If the pawn on a7 didn't exist then we showed in the previous lecture that if we can get the king onto the sixth rank gaining opposition then we can win. So let's get rid of the a pawn... 18 a8=Q Kxa8 kibitz And now opposition. Ka6 kibitz And wins as shown previously. Kb8 b7 Kc7 Ka7 kibitz etc... 1 bsetup 1 bsetup fen 1k6/8/P1P5/8/8/4p3/5p2/5K2 1 bsetup tomove white 1 bsetup done 1 kibitz Passed pawns that are separated by a file can take care of themselves and queen without the aid of the king if they are on the sixth or seventh rank. 15 kibitz White's pawns are too close and the black king is too far away for black to try moving his king to f3 for a mating trick. 12 kibitz Blacks pawns cannot be captured, but they cannot queen, where as white's can. 8 Ke2 kibitz Giving the move to black and zugzwang (a position where one doesn't want the move). 9 Kc7 a7 kibitz While they are on the same rank, the pawns cannot be touched, black threatens one pawn, but the other advances. 10 kibitz There is no way to stop the a-pawn due to both b7 and b8 being covered by the pawns. 6 bsetup 1 bsetup fen 1k6/8/P1P5/5ppp/8/8/6K1/8 1 bsetup tomove black 1 bsetup done 1 kibitz These pawns are so strong they can beat three connected pawns with careful play. 9 kibitz Black's king must not move otherwise one of white's pawns will advance and it cannot be stopped as before. 10 f4 kibitz A pawn moves instead. Kf3 kibitz And wins, since g4 loses the f4 pawn and after h4, Kg4! means that the f or h pawn will have to advance and it will be captured. The two remaining pawns can be stopped as before. 17 kibitz The same idea would win for black with h4 being played first (white would respond with Kh3). 10 back 2 kibitz and now with g4 instead of f4. g4 Kg3 kibitz This again forces a pawn loss. kibitz The winning technique if the pawns are on the same rank is to keep on the file that is in the center of the pawns. This way the king can react no matter which of the three pawns is pushed. 19 bsetup 1 bsetup fen 1k6/8/P1P4p/6p1/5p2/8/6K1/8 1 bsetup tomove white 1 bsetup done kibitz If they form a chain the defense is as follows... 6 Kf3 h5 kibitz The only move. Kf2 kibitz Staying in front of the most advanced pawn... 5 h4 Kg2 kibitz If Kf3?? then h3 and it will be impossible to stop the pawns. 7 g4 Kg1 kibitz Keeping on the file in the middle of the pawns so that it is possible to react to all three pawn moves. This wins before as shown. 12 back 4 kibitz With g4 instead of h4 there is no difference. 5 g4 Kg2 f3 kibitz h4 would just be a transposition to the previous line. 5 Kg3 kibitz Kf1 staying in front of the pawn would be wrong, since after g4 Kg1, h4 then the king is forced to commit to one side and the pawn on the other side will queen. 18 h4 kibitz The pawn on h4 cannot be captured as the king moves out of the square of the f3 pawn and it will queen. Kf2 h3 Kg3 kibitz And the pawns get eaten. f2 Kxf2 h2 Kg2 g3 Kh1 kibitz And now black is forced to give up the pawns and let white queen. 7 kibitz If the separated pawns have not reached the sixth rank then black's king can block one of them and the other cannot advance more than one square without being lost. However black cannot capture the pawns as before. 21 kibitz Pawns with two files between them can also queen without aid of their king as long as they are on the 5th rank (assuming if it's black to move one cannot be captured). 15 bsetup 1 bsetup fen 8/1k6/8/P2P4/8/8/8/7K 1 bsetup tomove black 1 bsetup done 1 kibitz Imagine the pawns form a square (4 x 4). If it touches or is over the 8th rank the king cannot stop them. 11 kibitz In this position the white king is too far away to assist. 6 Ka6 kibitz The king approaches one of the pawns... 5 d6 kibitz And the other one advances. The king must enter the square of that pawn. 8 Kb7 a6 kibitz A decoy. If the king captures, then it steps outside the square of the other pawn and will not be able to catch it. 12 Kb8 d7 kibitz Often the pawn furthest away advances, but here it doesn't matter. 7 Kc7 a7 kibitz And black is unable to stop both pawns. kibitz If the pawns are further apart and the king is not about to capture one of them, then the win is trivial. 11 kibitz Doubled pawns can be a bit trickier. kibitz First there is nothing to be said about doubled rook pawns. They are to be treated the same as single rook pawns. 12 kibitz The extra pawn provides a way of giving the move back to the opponent (wasting a tempo) when it is needed, but with rook pawns that is not the issue. The issue is getting a 'buried' king out of the corner and is a draw whoever to play once either king is buried. 26 kibitz However with other pawns, the second pawn gives more winning chances. For example: 5 bsetup 1 bsetup fen 4k3/8/4P3/4K3/4P3/8/8/8 1 bsetup tomove white 1 bsetup done 1 kibitz Without the pawn on e4 this is drawn as shown in the first lecture. However, here the pawn can be used to waste a tempo, giving the move to black. 14 Kd6 Kd8 e7 Ke8 kibitz A draw? No. e5 Kf7 Kd7 kibitz White wins. kibitz A little care is needed. Shift the final position over two files to the right and it is stalemate. In this case the white king would go to the right-hand-side of the pawn. 17 kibitz There are stalemate cases and knowledge of them does help. 3 kibitz First the obvious one: bsetup 1 bsetup fen 4k3/4P3/4K3/4P3/8/8/8/8 1 bsetup tomove black 1 bsetup done 1 kibitz Ok, it looks like sheer carelessness, but there are other stalemates here. bsetup 1 bsetup fen 4k3/4P3/3KP3/8/8/8/8/8 1 bsetup tomove black 1 bsetup done 1 kibitz Instead of the previous stalemate, white chose to advance the pawn. 4 bsetup 1 bsetup fen 4k3/4P3/3K4/4P3/8/8/8/8 1 bsetup tomove white 1 bsetup done 1 kibitz This was the 'parent' position. Giving up the pawn is no good and the two other moves lead to one of the stalemate possibilities above. 12 kibitz Remember the second pawn is needed for tempo losing purposes. Therefore if the opponent can capture the front pawn a draw will result if the pawns are bunched together, or the other king is too far away to help the remaining pawn by gaining its critical squares. 26 kibitz Here is an example: 1 bsetup 1 bsetup fen 8/4k3/4P3/3KP3/8/8/8/8 1 bsetup tomove white 1 bsetup done 1 kibitz Here white loses the front pawn (zugzwang). The critical squares (d7, e7, f7, d6, d6, d6) of the rear pawn will be controlled by the black king. This is a draw. 13 bsetup 1 bsetup tomove black 1 bsetup done 1 kibitz Giving the move to black, this is draw again, but only with the right moves. It is just like playing with a single pawn, since one of the stalemate possibilities will arise. 17 Ke8 Kd6 kibitz Throwing the pawn is no good. Kd8 e7 Ke8 kibitz And draw as earlier. kibitz Shifting it down a rank... 1 bsetup 1 bsetup fen 8/8/4k3/4P3/3KP3/8/8/8 1 bsetup tomove black 1 bsetup done kibitz (note with white to move he draws again due to having to give up the front pawn). 9 kibitz The winning technique is to leave the pawn on e4 alone until white needs to give a move to black at the normal stalemating position. 12 Ke7 Kd5 Kd7 e6 Ke7 Ke5 Ke8 Kd6 Kd8 e7 kibitz e5 also worked since it would be black's turn not white's. 6 Ke8 e5 Kf7 Kd7 kibitz An outside passed pawn is another winning advantage. While the enemy king is trying to stop it, the pawns (in the center or side of the board) can be eaten up. 16 kibitz Usually as both players castle on the kingside it's an extra pawn on the queenside (a majority) becomes the outside passer. If both castle queenside then the opposite is true. 17 kibitz There are many examples of this. I will only show one. This is to highlight the advantage of having such a pawn. 8 bsetup 1 bsetup fen 8/8/6p1/k4pPp/P4P1P/1K6/8/8 1 bsetup tomove white 1 bsetup done 1 Kc4 kibitz White gives up the pawn, and while black is capturing the white pawn, the white king will eat the kingside pawns. 10 kibitz Black's king even if on e8 would not be able to keep out the white king from the kingside. White would just advance the pawn making its square smaller to lure black out of the way. 18 Kxa4 Kd5 Kb3 Ke6 Kc4 Kf6 Kd4 Kxg6 Ke4 Kh7 Kxf4 g6 Ke4 g7 f4 g8=Q kibitz And the queen will stop the pawn. kibitz Note that the outside pawn may not be enough if its king has to babysit enemy connected pawns, those separated by a rank, or protected passed pawns. 15 kibitz Since the outside pawn may be an advantage it is sometimes advisable to capture towards the outside of the board with pawns later in the game. (In the opening the advice is often capture towards the center to aid in central control). 23 kibitz So what did we learn: kibitz Einstein's king. The shortest path in distance is not the only shortest path in moves. Alternate routes may be available. The number of moves needed is the maximum of the horizontal and vertical distances (in squares). 21 kibitz The shortest path in distance may not always be the best. Watch out for opportunities to shoulder barge, or threaten something else on your way. 14 kibitz The rule of the square is: If we make a diagonal line from the pawn to the back rank and we make that square and the square the pawn is on as opposite corners of a square (with the perimeter outside) then if the enemy king can get inside that square the pawn can be captured. 1 bsetup 1 bsetup fen 1N4N1/8/8/8/8/1P4N1/8/K5k1 1 bsetup tomove black 1 bsetup done 23 kibitz As the pawn moves the square gets smaller. And beware that when the pawn is on the second rank the square should be constructed as if the pawn was on the third rank. The square can be made on both sides of the pawn. Also look for ways to block the approaching king. 26 kibitz The feint is where we pretend to do one thing, but then end up doing another. Using a route that doesn't commit our king to either plan (as in Reti's position) we can then chose at the appropriate moment what to do. 21 kibitz Connected passed pawns can look after themselves against a king, but cannot queen alone. Watch out for using them to get checkmate if they are on the 6th and 7th ranks. 1 bsetup 1 bsetup fen 2k5/2P5/1P6/3K4/8/8/4p3/8 1 bsetup tomove white 1 bsetup done 13 kibitz Passed pawns separated by a file can also look after themselves when they are on the same file although they too cannot queen unless on the sixth or seventh ranks. In this case they will beat two or even three connected pawns. 1 bsetup 1 bsetup fen 1k6/8/P1P4p/6p1/5p2/8/6K1/8 1 bsetup tomove white 1 bsetup done 18 kibitz Passed pawns separated by two files can queen alone as long as they are on the fifth rank at least (will form a square that touches or crosses the eighth rank). Before that they are prone to capture unless the king can assist. 22 kibitz Doubled passed pawns can give winning chances when they aren't rook pawns and there are spare tempos available to the back pawn. Be careful of the stalemate possibilities. 1 bsetup 1 bsetup fen 4k3/8/4P3/4K3/4P3/8/8/8 1 bsetup tomove white 1 bsetup done 13 kibitz An outside passed pawn can be an winning advantage. The pawn is left as bait while all the pawns on the other side are munched. If the king has to babysit enemy pawns that would otherwise advance there may be no advantage in it. 1 bsetup 1 bsetup fen 8/8/6p1/k4pPp/P4P1P/1K6/8/8 1 bsetup tomove white 1 bsetup done 18 pychess-1.0.0/learn/lectures/lec31.txt0000644000175000017500000001526313365545272016660 0ustar varunvarunk This lecture is an edited version of a transcript of a live lecture given by Grandmaster Milorad Knezevic (FICS handle Knez) on April 15, 1999. 10 k Many extraneous comments were eliminated, and the order in which some comments appear were changed so that they appear right before or after the move(s) being discussed. 15 k For consistency, all moves within kibitzes and whispers were changed to standard algebraic notation. 8 k Spelling errors were fixed. Punctuation and grammar were only fixed when what was being said was difficult to understand otherwise. 12 k Now, on with the show :) k GM Knezevic: hi k GM Knezevic: the main idea of our lecture today is open lines as strategic element 8 k GM Knezevic: experienced players perfectly know the meaning of open lines in chess game 8 k GM Knezevic: in general their main use should be the ways to infiltrate in opponent's camp k GM Knezevic: but apart from the abstract meaning of open line , we must find some moment supporting its use , for example better coordination of pieces , more space and so on 17 k GM Knezevic: I will start showing my game against GM Kypreichic , played in Czechoslovakia 1975 9 bname Kypreichic 1 k GM Knezevic: i have white pieces d4 d5 c4 c6 Nc3 e6 Nf3 Nf6 e3 Nbd7 Qc2 Bd6 e4 k dfgordon(CA): e4 is very aggressive k GM Knezevic: 7.e4 , with idea to open game as much as possible , and also trying to open some central lines , at the same time developing well 30 dxe4 Nxe4 Nxe4 Qxe4 Bb4+ Bd2 Bxd2+ Nxd2 O-O O-O-O k dfgordon(CA): 0-0-0 is interesting k GM Knezevic: For the moment white could be satisfied with opening as he got more space and better development! 30 e5 k GM Knezevic: 12...e5 Black is in danger to be too much cramped , and he started fighting for centre 30 dxe5 Qa5 Bd3 g6 Bb1 k GM Knezevic: 15.Bb1! Solving whites problems and with good prospect to control both central lines 30 Nxe5 Rhe1 f6 k dfgordon(CA): f6 is a sign that things are not going well k GM Knezevic: 16 ...f6 , With idea next move Bf5 15 Qh4 k Alias: Why not Be6 k dfgordon(CA): Be6 loses a piece to f4 15 Qc5 k GM Knezevic: 17...Qc5 Trying some counter play with pressure on c4 pawn.But white is perfectly coordinated and tactical complications are serving to him 15 f4 k GM Knezevic: 18 f4! If now black takes on c4 he is immediately lost! 20 Nxc4 Ne4 k Obliviax: why can't Qe7 be played to avoid Nxf6+? k dfgordon(CA): on Qe7 Nd6 looks strong 15 Qb4 Nxf6+ Kg7 Qxh7+ Kxf6 Qxg6 15 back 8 Ng4 k GM Knezevic: he played Ng4 Re2 k GM Knezevic: Re2! Now you will see the main way of using open line : Occupy it with both rooks , come to 7th or 8th rank and try to finish game in direct attack 16 k GM Knezevic: Of course such things do not happen often , just in the case as here when everything works in our favor! 30 Kg7 Rde1 Rf7 Re8 k GM Knezevic: 21.Re8 , That's it! 12 b5 k GM Knezevic: 21... b5?, mistake , losing immediately , but anyway black position is hopeless 20 Bxg6 k GM Knezevic: Bxg6!! k Obliviax: threats: Qxh7 and Bxf7, or if hxg6 then Qh8++ 20 Kxg6 Rxc8 k GM Knezevic: of course it is not necessary to say after 23...Rxc8 24. Qxg4 and Qxc8 16 Nf2 Rxa8 Nd3+ Kb1 Qf5 g4 Qxf4 Rg8+ k GM Knezevic: 27. Rg8 And black resigned , as after Rg7 he gets mated with Qh5 10 Rg7 Qh5 k GM Knezevic: This was just extreme case where white had all conditions for attack 8 k GM Knezevic: but it is anywhere good to know technique of occupying one of last ranks 8 k GM Knezevic: now we will see another game also about lines and ranks.It is my game against Russian GM Alexander Zaitzev(Not related with GM Igor Zaitzev) 14 k GM Knezevic: Alexander was even champion of USSR , but unfortunately died in the best age. 8 revert 1 bname A.Zaitzev 1 e4 c6 d4 d5 exd5 cxd5 c4 Nf6 Nc3 e6 Nf3 Be7 k GM Knezevic: Panov Botvinik line of Caro Kann 6 cxd5 Nxd5 k Knightnite: what is current theory on isolated pawn, a bonus, or a weakness 8 k GM Knezevic: (about isolated pawn)This is a non stop discussion about this matter and it is not possible to give direct answer 12 Bb5+ k GM Knezevic: almost forgotten move but deserving serious attention.In this line Alekhine won against Eliskases on Olympiad in Buenos Aires 1939 13 Bd7 Bxd7+ Qxd7 Ne5 Nxc3 bxc3 Qd5 O-O Nc6 Re1 k Knightnite: what about b5 any good? k GM Knezevic: black has no time for such moves like b5, he must finish developing 20 Rc8 k dfgordon(CA): not 0-0 yet? hmmm that might cost k GM Knezevic: 13...Rc8 more simple is 13...o-o 15 Bb2 O-O k GM Knezevic: 14...0-0? k GM Knezevic: black ignored the critical moment of all position -- danger to his position from whites Ne5 15 k GM Knezevic: it was the last moment to change that knight taking it with N from c6 15 k Knightnite: is c4 good for white k GM Knezevic: yes k GM Knezevic: it is the next move 10 c4 Qd8 Ng4 k GM Knezevic: 16.Ng4 extremely important move , after that white gets strong attack! k dfgordon(CA): d5 is crushing 25 Na5 c5 Nc6 k GM Knezevic: 17...Nc6 , Black likes to install his N on d5 , afterward he would have clear advantage.But white will not allow it! 18 Re3 k GM Knezevic: 18.Re3! If now 18...Nb4 6 Nb4 Rb3 k GM Knezevic: and b7 pawn is hanging 8 back 2 Qd7 k GM Knezevic: 18...Qd7 Now he likes Nb4, as b7 pawn is protected, but white turns on direct attack on blacks king 15 Rg3 f6 k solochess: was the f6 to let the Q protect the g7 pawn? k dfgordon(CA): yes, and block long diagonal 15 Nh6+ Kh8 Qg4 Bd8 k GM Knezevic: 21... Bd8 for the moment looks black managed with defense, but 10 d5 k GM Knezevic: d5! 15 k GM Knezevic: 22...gxh6 No other moves k Obliviax: Ne5 wasn't possible? k dfgordon(CA): if Ne5 then Bxe5 and dxe6 20 gxh6 k dfgordon(CA): theme of open lines again 12 dxc6 Rxc6 k GM Knezevic: For the moment I almost thought "what have i managed , no attack anymore and he even has a pawn more?" But after that I immediately "recognized" d-line and 7th rank! 18 Rd1 Qf7 Rgd3 Be7 k Knightnite: black is very disorganized Rd7 Rxc5 Ba3 Rg5 Qf3 Re8 Qxb7 Qh5 k GM Knezevic: 29...Qh5 , the last black attempt , in some lines the Rd1 is hanging 15 Bxe7 Rxe7 Rd8+ Re8 Qf3 k dfgordon(CA): !! k Ricci: wow k Psycho: I would love to play such a move in a tourney.... k DAV: Q looks like it's overloaded. 6 k Obliviax: sweetest variation is RxR then Qxf6+ 10 k Knightnite: what if black did qf7? k Obliviax: then RxR+ followed by Qxf6+ and Rd8! 15 k GM Knezevic: Qf3!! And here black resigned , as after 32...Qxf3 8 Qxf3 Rxe8+ Kg7 Rd7+ Kg6 Rg8+ Kf5 Rxg5+ hxg5 gxf3 k GM Knezevic: And white as you see stays with R more 6 k GM Knezevic: it was the most important in using open lines on a direct way.Of course there are many moments with maneuvering and positional playing in different positions , but it is something what needs much experience and practice! 23 k GM Knezevic: That was all for today.Thanks very much for attention! 6 pychess-1.0.0/learn/lectures/lec21.txt0000644000175000017500000002076613365545272016663 0ustar varunvarunk Welcome to Knackie's Tactics Training. The examples are based on material of a Hungarian Chess School. They have been revised using Fritz and a bit of Knackie's brain. 15 k The 7th Lesson features the theme 'Opening / Closing Files'. 12 k While opening files for the heavy pieces is a common idea, closing files is much rarer and thus very surprising. 15 k Let's first see a few examples of the more common theme 'Opening files'. 10 k Example 1: Siegers vs Amilibia, Correspondence 1973 3 bsetup 1 bsetup fen r1b2bQ1/p3k1pp/8/3n4/4p3/7P/PPPP1qP1/R1BK3R 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Siegers 1 bname Amilibia 1 k Watch how black freed the 8th rank for his rook and opened the d-file to mate the white king. 20 c8g4 h3g4 d5e3 d2e3 a8d8 k There it is. 6 c1d2 f2d2 k mate 5 k Example 2: Letelier vs Smyslow, Havanna 1967 3 bsetup 1 bsetup fen 8/5k2/p3pp2/2B5/1P1P2p1/5bPp/1r3P2/5RK1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Letelier 1 bname Smyslov 1 k Here's an example of former World Champion Smyslov. 12 k The position looks more like a dull endgame, but Smyslov found a better opportunity... 15 k 45 seconds... 6 45 a6a5 k Throwing away a pawn? 8 b4a5 h3h2 k Another pawn... 7 g1h2 b2b8 k That's it! The rook comes around the corner to the h-file, mating the white king. ( Rb8-h8-h1 ) 16 k White resigned. 7 k Example 3: Benko vs Jenei, Budapest 1949 3 bsetup 1 bsetup fen r2r4/1b3pk1/5qp1/pP1p3p/2pN3P/3nP1P1/PQR2PB1/3R2K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Benko 1 bname Jenei 1 k Do you see how white wins material? 10 k 50 seconds... 6 50 d1d3 k opening the c-file ... 8 c4d3 k So, what was white's idea? 15 d4e6 k This nice move forces black to play fxe6, thus opening the 7th row. 14 k Black cannot move his king because of QxQ. 10 f7e6 k White now uses the freshly opened c-file and 7th row: 12 c2c7 k Black loses his Queen. 12 k Example 4: Rautenberg vs Schlenker, 1948 3 bsetup 1 bsetup fen 2r4k/rR2b2p/5p1B/3Bp3/q1Pn2b1/P5P1/7P/2Q1NR1K 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Rautenberg 1 bname Schlenker 1 k How did white launch a mating attack? 10 k 75 seconds... 6 75 f1f6 k This fine move opens the 7th row for white's Rb7. It also frees the g5-square for the white queen. 19 k Let's first look at what happens if black tries to get rid of the Rb7: 14 a7b7 c1g5 k Threatening mate on g7 ... 8 e7c5 k Black's rook b7 now defends the square g7. 10 f6f8 k This move frees the e5-h8 diagonal for white's Queen. 12 c8f8 g5e5 b7g7 e5g7 k mate 5 k Let's go back to the game. 8 back 8 k Black took the Rf6. 7 e7f6 k Now comes the crucial point of the combination: 15 c1g5 k That looks nice. If black takes the queen there follows: 13 f6g5 h6g7 k mate! 5 back 2 k So black tried: 7 g4f3 h1g1 a7b7 g5f6 b7g7 f6g7 k mate 5 k Example 5: Wexler vs Bronstein, 1973 10 bsetup 1 bsetup fen 4r1k1/3n1pbp/p2p1np1/rp1P4/2q1PP2/1RN3B1/1PQ1B1PP/4R2K 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Wexler 1 bname Bronstein 1 k Here is a more difficult example of the great tactician Bronstein. 14 k 75 seconds... 6 75 f6e4 k What is this?! The black queen is hanging ... 11 e2c4 e4g3 k The e-file is opened. 7 h2g3 e8e1 h1h2 a5a1 k Threatening mate on h1. 8 g3g4 a1c1 c2f2 b5c4 b3b7 k It seems black has not achieved very much, but... 12 g7c3 b2c3 e1h1 h2g3 c1c3 k White loses his queen. 8 k Example 6: Tietz vs Judd, Karlsbad 1898 10 bsetup 1 bsetup fen r2q1n1k/1p5p/2p1p1p1/1b6/5BN1/6P1/4r1PK/1RR3Q1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Tietz 1 bname Judd 1 k Before switching to the 'closing files' theme, let's view a last example of 'opening files'. 18 k This example from the last century is surely one of the greatest pieces of tactics ever played. 18 k You get 90 seconds to try to figure out some of the ideas... 13 90 b1b5 k Hmm.. white opens the c-file. 9 c6b5 k So, why did white open the c-file? 20 c1c8 k No, not a mouseslip :-)) 5 k Let's first see what happens if black plays QxR: 12 d8c8 g1d4 h8g8 g4h6 k mate! 8 back 4 k Now we will see what happens if black tries RxR instead: 13 a8c8 k What is the drawback of this move? 15 g1a1 k The square a1 isn't protected anymore! 10 e6e5 a1e5 e2e5 f4e5 h8g8 g4h6 k mate! 8 back 8 k So, black cannot take the rook. Therefore, he tried: 12 d8d5 k What was white's next blow? 20 g1a1 k Ooops! Can't black take the queen now? Let's see: 12 a8a1 c8f8 h8g7 f4h6 k mate! 8 back 4 k So instead of taking the queen, black tried: 11 e6e5 k And now, white did not play Qxa8?? Qxg2 mate :-(( , but: 13 f4e5 k Black cannot answer with Rxe5 here, because white then answers with RxRa8, and the black rook at e5 remains pinned and is lost. 20 k Therefore, black played: 8 d5e5 k What is white's next move? 15 k of course not QxRa8 Qh5+ -/+, but: 9 c8f8 h8g7 f8f7 k If black doesn't take the rook, there follows: 16 g7g8 g4h6 g8h8 a1a8 e5e8 f7f8 e8f8 a8f8 back 8 g7f7 g4e5 k White takes the Queen with check and then wins the rook a8. Black resigned. 15 k Example 7: Kaminski vs Osznosz , USSR 1968 10 bsetup 1 bsetup fen 1r1r2k1/p4p1p/bqp1pbp1/4N3/4BP2/1PQ1R3/P1P3PP/R5K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Kaminski 1 bname Osznosz 1 k We now switch to the opposite theme 'Closing Files'. 12 k While the reason for opening files is obvious, it is hard to figure out what closing files could possibly achieve. 21 k Let's start with an easy example: The white Re3 is pinned. How did black exploit this? 25 d8d3 k Black closes the 3rd rank, thus cutting off the queen from protecting the Re3. 20 k White resigned, as he loses material. 10 k Example 8: Reti vs Bogoljubov, 1924 10 bsetup 1 bsetup fen 3r1bk1/ppq3pp/2p5/2P2Q1B/8/1P4P1/P6P/5RK1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Reti 1 bname Bogoljubov 1 k Here is a famous example from the New York 1924 Tourney: 12 k Black seems to defend well, but Reti found a nice manoeuvre to exploit black's back rank. 17 k 40 seconds... 6 40 h5f7 g8h8 k Ok, now the Bf8 is protected only once, but unfortunately it is not attacked anymore. 17 k How did Reti proceed? 15 f7e8 k This fine move closes the 8th row. The square f8 is attacked twice, but not protected anymore. 18 k As black cannot find two defenders in one move, he resigned. 13 k Example 9: Csahojan vs Turkvenisvili, USSR 1971 11 bsetup 1 bsetup fen 3Q4/p7/7p/5b2/2P1p1P1/1Rq4k/P2p1P2/6K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Csahojan 1 bname Turkvenisvili 1 k Black seems completely lost here, as his Queen is pinned. 13 k Can black get rid of his trouble? 9 k 45 seconds... 6 45 c3d3 k Here we see one of the most common reasons for closing a file: freeing the way for a passed pawn. 18 k If white now plays RxQ there follows: 10 b3d3 e4d3 k d2d1Q cannot be prevented. 12 back 2 k So, white tried: 7 d8d3 e4d3 b3b1 f5g4 k d2d1Q follows. White will lose his rook, so he resigned. 12 k Example 10: Tarrasch vs Consulting Team, Naples 1914 12 bsetup 1 bsetup fen 2r3r1/3q3p/p6b/Pkp1B3/1p1p1P2/1P1P1Q2/2R3PP/2R3K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Tarrasch 1 bname ConsultingTeam 1 k In the last example we follow Tarrasch, who was well known as a chess teacher. 11 k In this example, he found a very instructive idea. 12 k 60 seconds... 6 60 k Note that the definsive tasks of black's Rc8 and Qd7 are clear-cut: 14 k The rook c8 defends against Rxc5+ ... 10 k and the Qd7 defends against Qb7+. 9 k Tarrasch's next move disturbs the coordination of black's pieces. 20 e5c7 k This move shows a key tactical technique. 10 k White places a piece right into the crossway of black's defensive files ( 7th rank: cutting off the queen and c-file: cutting off the Rc8 ) 25 k Let's see what happens if black plays RxB now: 11 c8c7 k Remember: the role of the Rc8 was to defend c5, so white plays: 14 f3b7 k Forcing the rook to take over the Queen's task of protecting b7. 17 c7b7 c2c5 k mate 5 back 4 k In the game, black tried: 8 d7c7 k Remember: it is the queens task to protect b7, so Tarrasch logically replied: 16 c2c5 k Forcing the Queen to take over the Rook's task of protecting c5. 13 c7c5 f3b7 b5a5 c1a1 k mate 5 k You should try to remember the technique used in this example: Placing a piece into the crossway of two defensive files. 20 k That's all folks, i hope you enjoyed the Lesson. 11 k These and many more examples can be downloaded in Chessbase or Pgn-Format at http://webplaza.pt.lu/public/ckaber 21 pychess-1.0.0/learn/lectures/lec20.txt0000644000175000017500000000750413365545272016655 0ustar varunvarunk Aaron Nimzowitsch, in the years of 1925-1931, was considered to be one of the worlds strongest players. Most famous not only for his writings, but his *style* of writings, Nimzowitsch is most remembered today for his strategic contributions to chess. 20 k His support of the "Hypermodern" system of play is perhaps the only reason it is so popular today. Nimzowitsch also pioneered the once cryptic ideas of "prophylaxis" and "over-protection" which have won me a great deal of games. :-) 20 k The game we will be studying today was played between Aaron Nimzowitsch and A. Hakansson in Kristianstad, 1922. It is a game that greatly describes the idea of a pawn sacrifice in the opening that is not used to obtain an attack, but to overprotect a strategic point with the idea of cramping enemy forces. 23 wname Nimzowitsch 1 bname Hakansson 1 e4 e6 d4 d5 e5 c5 Qg4 k An innovation of Nimzowitsch's. White intends to reduce the support of the bishop on f8 by putting pressure on g7. 10 cxd4 k Of course not... Qxd4 Nc6 k ... where black gains all sorts of time on White's queen, and the e-pawn is an easy target. 10 back 2 Nf3 Nc6 k The cramping effect is already becoming obvious. Nxd4 only loosens white's grip. The bishop on f8 cannot move, and to move the knight on g8 would either result in a horrible kingside pawn structure (Nh6 Bxh6) or the blocking of the already half-dead bishop (Ne7). 25 Bd3 f5 7 k White is in no hurry to recapture the pawn. A few other possibilities: 10 exf6 Nxf6 k This doesnt cut it. Black has total central control, and will gain a lead in development. 10 back 2 Qf4 Nge7 k And Ng6 follows. A good waste of a move. 6 back 2 Qg3 Nge7 O-O 7 Ng6 h4 k This is not a move that is meant for attack, but rather to try to remove some of the pressure on the e5 pawn, which is the pride of white's position. 15 Qc7 k The e-pawn needs more support. 5 Re1 Bd7 k Bc5 should have been played instead. Later in the game, Nimzowitsch will play h5, driving the knight back, when Bc5 would have left f8 open as a retreat square. 18 a3 O-O-O k If he wanted to, white could have won the exchange with the following neat combination: 10 h5 Nge7 Ng5 7 Re8 Nf7 Rg8 7 Nd6+ Kb8 Nxe8 7 Bxe8 k We hand Nimzowitsch the microphone: "With his undeveloped Queenside and his unprotected pawn on h5, he would have had some difficulties to contend with. The text move (b4) is the logical continuation." Aye, black has too many threats. 20 back 10 b4 a6 h5 7 Nge7 Bd2 h6 7 a4 g5 b5 7 f4 Qg4 k See how he is preparing? The e5 and d4 pawns both contribute to a restricted and closed center. Black is severely cramped. This leaves white with enough time to finish development and take control before black can get anything going. Despite being a pawn down, White has a sizeable advantage. 25 Nb8 c3 Re8 k The only move. You should note that the c-file will soon be open for the taking of white's Re1. This leaves black with the unfortunate necessity of scrambling his pieces even further to avoid loss of material. 24 cxd4 Kd8 k White has now regained the pawn. He has complete control over the center, an open C-file, well organized pieces, high mobility, and a pawn storm on the queenside. Both of his bishops have good scope. 20 k Meanwhile, what is black doing? His queen is going to be kicked all the way back to a8. The Nb8 is stuck with nothing to do. He is severely cramped, and his control over the center is restricted to his d-pawn, which isnt doing much. The king is sitting next to the open c-file, and is held in the center by his own pieces. 25 k A grim situation, indeed. White has a strategically won game. The rest is just a mop-up operation. 10 Rc1 Qb6 a5 7 Qa7 b6 Qa8 k Nimzowitsch begins a boa-constrictor like strategy. 8 Rc7 Nf5 Nc3 7 Be7 Nxd5 Nxd4 7 Nxd4 exd5 Qxd7 7 k And black resigns, because of.. Nxd7 Ne6 k A beautiful finish to a most fascinating game. 10 pychess-1.0.0/learn/lectures/lec26.txt0000644000175000017500000002470113365545272016661 0ustar varunvarunk In the 19th Century, there was great appeal for this opening. It allowed for immediate attack by White usually by crashing his King Bishop into the f7 Pawn like a Kamikaze. 15 k Today this opening is not always characterized by the same fireworks as our 19th century counterparts. Instead the game is played tending to a more lasting initiative and positional edge. 15 k Many times this opening transposes into other openings, and the beginner often gets confused when book moves are not played. In these cases, I suggest the beginner develop, dig-in, and trade equally before complications can arise. 10 k Cases where this opening is defended with the Two Knights Defense will not be addressed in this lecture, and nor will the Evans Gambit be discussed. 8 k *********************** 2 k Part I The Basic Setup 6 e2e4 e7e5 g1f3 b8c6 f1c4 f8c5 c2c3 k With 4. c3, White aims to build a strong center, preparing for the plan of 5. d4. 12 k The next move by Black develops the character of this game. Generally, the book move Nf6 is the best response. Although other continuations may lead to equality in pieces, their positional merit is unclear. 15 g8f6 6 back 1 k Other responses are: 4 k The Quiet continuation 4...d6, the Center-Holding Variation 4...Qe7, and sometimes 4...Qf6. 10 k First, the Quiet continuation. 6 d7d6 k The plan of 5. d4 continues. 4 d2d4 e5d4 k 5...Bb6 costs Black a pawn. 4 c3d4 c5b4 c1d2 k White maintians the center. 8 back 6 4 k Another continuation, The Center-Holding Variation. 6 d8e7 4 k With this move Black intends to hold the center. Whether this set-up is ultimately satisfactory remains to be determined. However, If Black trades his King Pawn, the position of the Queen may be compromised. 18 d2d4 k The plan of d4 continues. 4 e5d4 e1g1 d4c3 b1c3 d7d6 c3d5 e7d8 b2b4 k ...with good chances for White 6 k ...for example: 6 c6b4 d5b4 c5b4 d1a4 k ... winning the bishop at b4 because the queen attacks both the king and bishop. 10 k Another plausible variation: 4 back 10 3 d4d3 e4e5 h7h6 b2b4 c5b6 a2a4 a7a5 c1a3 a5b4 c3b4 c6b4 d1b3 b6c5 b1c3 k ...with advantage for White. 15 k Note the long diagonals of which White can take advantage. 8 back 18 4 k Other moves less commendable than 4...Nf6 are: 4...f5 6 f7f5 d2d4 4 k Please note that carrying out the plan 5. d4 usually should not be delayed. 6 f5e4 f3e5 c6e5 d1h5 k with advantage for White. 8 back 6 k Another move less commendable: 4...Qf6 6 d8f6 d2d4 e5d4 e4e5 k 6...Nxe5 7. Qe2 and White wins a piece. 10 f6g6 c3d4 c5b4 b1c3 g6g2 h1g1 g2h3 c4f7 k A difficult position for Black. His King and queen will be forked on g5 if the Bishop is taken. 8 back 12 k Back to the book move: 4...Nf6 4 g8f6 k In attacking the King Pawn, Black actually meets White's plans. d2d4 4 k Moving the Bishop to b6 loses a pawn. For example: 6 c5b6 f3e5 c6e5 d4e5 4 k Nxe4? 6 f6e4 d1d5 k Or... back 1 c4f7 back 6 e5d4 e4e5 k This leads to an unclear struggle. 6 k But if Black is careless with his knight... 4 f6e4 c4d5 k ... he will surely lose a piece. 10 back 3 c3d4 c5b4 k The black Bishop retreating to b6 again concedes the center to White, with a well known trick. 10 back 1 c5b6 d4d5 c6e7 6 k If Black placed the knight to a5 then... back 1 c6a5 4 k then... 4 c4d3 k threatening 9. b4! 6 back 2 4 c6e7 e4e5 f6g4 d5d6 c7d6 e5d6 b6f2 e1e2 e7f5 d1d5 k Winning a piece. 12 k Return to Black moving the bishop 6...Bb4+ 4 back 12 4 c5b4 8 k White's next move will 'Part the Waters' on theory and this will be discussed next in Parts 2 & 3. 8 k In many ways, this will depend on the style of the player. 4 k 7. Nc3 loses a pawn at first, but white's advantage in the center may be greater. 10 k 7. Bd2 ususally ends up in trading Bishops. White avoids a material sacrifice, but the advantage in the center is substantially diminished. 15 k ************************************* 2 k Part 2 The Moller Variation. 7. Nc3 6 k Sometimes called the Moller Attack. The combinative nature of the position usually appeals to aggressive players. 8 b1c3 k A self-pinning move. f6e4 k Black must take the e4 pawn or face difficulties: 4 back 1 2 k 7...d6 may be too timid. 4 d7d6 d4d5 b4c3 b2c3 c6e7 O-O f6e4 f1e1 e4c3 d1d4 k ...and White wins a piece. 12 back 2 e4f6 c1g5 k Black's development is deterred. 6 k ...and Black should not castle. 6 O-O g5f6 g7f6 2 k White's pending attack will be hard to neutralize. 8 back 13 k 8...0-0 may not be better. 6 O-O c1g5 h7h6 g5f6 d8f6 O-O k ...and White is for choice. 2 back 6 k 8...d5 is another difficult situation. 1 d7d5 e4d5 f6d5 O-O k 9...Nxc3 10.bxc3 Be7 11. Bf4 White has a pull. 12 c8e6 c1g5 b4e7 k 11. Bxe7 Ncxe7 12. Ne4 0-0 13. Qb3 White has a pull. 12 c4d5 e6d5 c3d5 d8d5 g5e7 c6e7 f1e1 f7f6 d1e2 d5d7 a1c1 e8f7 k ...yet White has a tiny edge, or at least the initiative rests with White. 15 back 19 k The consistent continuation is 7...Nxe4 4 f6e4 4 k A wild position. Black is a Pawn to the good, but White has an advantage in development while the position is open. White therefore must depend on energetic play, regardless of the loss of additional pawns or even greater material. 18 k Black's aim is consolidation; he especially needs safety for his King. His task is anything but simple, often requiring radical methods. Black must not forsake this aim on behalf of merely retaining a material advantage. 18 O-O e4c3 k The Greco variation of The Moller Attack, which is not quite satisfactory for Black. However, it is Black who chooses to go this way. 10 b2c3 k After Bxc3, either Qb3 or Ba3 give White excellent play. 8 b4c3 d1b3 c3a1 c4f7 e8f8 c1g5 c6e7 f3e5 a1d4 f7g6 d7d5 b3f3 c8f5 g6f5 d4e5 f5e6 e5f6 g5f6 k ... and White wins. 6 g7f6 f3f6 k However, Black can have a satisfactory game along the same lines if he didn't take the pawn c3, and continues with a counter-thrust d5 12 back 22 6 e4c3 b2c3 k 9...d5 d7d5 c3b4 d5c4 f1e1 c6e7 k Black's key move! 6 d1e2 c8e6 f3g5 d8d7 g5e6 d7e6 c1g5 e6e2 e1e2 f7f6 a1e1 O-O-O k ...and Black has a satisfactory game. 10 k ...another way this could play out: 4 back 12 4 c1g5 f7f6 d1e2 4 k 13...f6xg5? 14. Qxc4! 10 c8g4 k ...or... 2 k 13...0-0 14. Qxe7 and after trading, White can scoop up some pawns. 10 back 1 O-O e2e7 d8e7 e1e7 f6g5 e7c7 k ...favoring White. 8 back 6 k another alternative: 4 c8g4 g5f4 e8f7 e2c4 e7d5 f3d2 g4e6 f4g3 k ...and Black can equalize. 8 back 18 4 k Back to 8...Bxc3 4 b4c3 d4d5 k The Moller Variation Proper. 4 k 9.bxc3 is simply met by 9...d5! 6 back 1 b2c3 d7d5 c1a3 d5c4 f1e1 c8e6 e1e4 d8d5 d1e2 O-O-O k Better for Black. 10 back 10 d4d5 c6e5 k Of other alternatives by Black should White take the Bishop at c3, d5 would probably be best. 10 b2c3 e5c4 d1d4 c4d6 k 11...f5! (We'll come back to this in a minute.) 10 d4g7 d8f6 g7f6 e4f6 f1e1 e8f8 c1h6 f8g8 e1e5 d6e4 f3d2 d7d6 d2e4 d6e5 e4f6 k Mate! k Back to 11...f5! 4 back 17 4 k This probably Black's best way to equalize. d1d4 f7f5 d4c4 d7d6 f3d4 O-O f2f3 e4f6 c1g5 h7h6 k With roughly equal chances. 10 back 9 4 k Another example for 11...f5. f7f5 d4c4 O-O d5d6 g8h8 d6c7 d8f6 c1b2 k With roughly equal chances. 6 k What if 9...Bf6? Here's a pretty example for White. 6 back 12 2 c3f6 f1e1 k Please note this rook move. 5 c6e7 e1e4 O-O d5d6 c7d6 d1d6 e7f5 d6d5 d7d6 f3g5 f6g5 c1g5 d8g5 k ...? 4 k Can you see mate? 20 seconds. 20 d5f7 k ...and mate follows. f8f7 e4e8 k Sweet! ( ...or as in chan 10: Moist! ) 6 back 18 k Here is another example: c3f6 f1e1 c6e7 e1e4 d7d6 c1g5 f6g5 f3g5 O-O g5h7 g8h7 d1h5 h7g8 e4h4 f7f5 h4h3 k Preventing 17...Ng6 4 f5f4 g2g4 f4g3 h5h7 g8f7 h7h5 f7g8 4 k ...not Ng6. back 1 6 e7g6 h3g3 d8f6 c4d3 k ...and White will win a piece. 4 back 4 f7g8 h5h7 k with perpetual check. 8 k This is the end of part 2, The Moller variations. The next part will now focus on the move 7.Bd2, a quiet continuation that enables White to avoid a material sacrifice, but his advantage in the center is substantially diminished. 18 k ********************** k Part 3 Move 7. Bd2 4 k This next move is considered a quiet continuation. It does rather seem to have no spark, but note that Black moved his Bishop three times before trading; and by trading, White developes a piece by taking it. 15 back 29 6 c1d2 b4d2 4 k Nxe4 is a bold course, The risk, however, is all Black's. 6 b1d2 d7d5 k The counter-thrust. 5 e4d5 f6d5 d1b3 c6e7 k Be6 is answered by Qxb7. 2 O-O O-O f1e1 c7c6 k White has an isolated Queen Pawn, but he enjoys greater freedom of movement. A situation like like this may become dangerous for either side. 15 k Failure to act energetically may hurt White in that his isolated Queen pawn becomes a liability. On the other hand, even a slight inaccuracy may cause serious damage to black. 15 k Here is a nice variation for White: 2 d2e4 d5b6 e4c5 b6c4 b3c4 b7b6 c5d3 c8e6 k ? 4 k ...Bb7 gives Black an even game. 6 e1e6 f7e6 c4e6 g8h8 d3e5 d8e8 f3g5 k and White wins. 4 k The next example will show a slightly more even game. 6 back 27 c1d2 b4d2 b1d2 d7d5 e4d5 f6d5 d1b3 c6e7 O-O O-O f1e1 c7c6 k Here's the change: a2a4 d8b6 a4a5 b6b3 d2b3 c8f5 f3e5 d5b4 a1c1 b4d5 a5a6 k Changing into a game of position more than tactics. 5 back 11 d2e4 d8b6 e4c3 b6b3 c4b3 c8e6 f3g5 e6d7 e1e5 k ... and White for choice. 6 k Let's go back to move 10 Qb3 4 back 15 2 k The response by Black can shape the game in many different ways. We will now look at a three different responses by Black. 6 d1b3 6 k We'll look at 10...Be6, 10...Na5, 10...0-0. 4 k First 10...Be6. 5 c8e6 b3b7 c6a5 c4b5 k 12...c6? e8f8 b7a6 c7c6 b5a4 4 k Black has little direction from here. 8 back 8 4 k Now look at 10...Na5. 4 k Modern Chess Openings (MCO) lists the next position as equal and could be agreed drawn; for example: 6 c6a5 b3a4 k MCO says this position is drawn because Nb6 is threatened. 6 a5c6 k White played to win in Sveshnikov-Mortensen, Leningrad 1984, with 14. Bb5. 6 a4b3 k 12...Nb6 was threatened. 8 c6a5 b3a4 a5c6 c4b5 c8d7 a4b3 k ?! ...15. 0-0 is equal. 10 d8e7 e1f1 d7e6 k ...and Black ended up with advantage. 12 back 13 k Here another example shows 10...Na5 as unfavorable for Black when the pawn at c7 is moved. 16 c6a5 b3a4 c7c6 c4d5 d8d5 O-O 4 k ...and Black's Knight is ill-placed. 8 back 6 4 k Finally, 10...0-0 ?! Which deserves consideration. 6 O-O c4d5 c6a5 k A tricky situation here. 14 back 22 k Though modern masters have devoted relatively little attention to the Giuoco, its variations continue to pose many intriguing problems. 10 k This lecture was compiled by Art Watkins; Fics handle: afw 8 k I hope this lecture was informative. It was written using combinations of ideas from many of the books in my Chess library simply melded together. Please message me if you have any comments or questions. 12 pychess-1.0.0/learn/lectures/lec2.txt0000644000175000017500000002656513365545272016605 0ustar varunvarunk Welcome to Knackie's Tactics Training. The examples are based on material of a Hungarian Chess School. They have been revised using Fritz and a bit of Knackie's brain. 15 k Note that the time granted for finding the solutions might seem very short to beginners. That's because i had to find a compromise so that the advanced players are not too much bored by the time they have to wait. Don't be bothered if you don't find the solutions in time by yourself; you will learn as much by the explanations that follow. 30 k The first lesson features the theme 'Back rank weakness'. 10 k Example 1: Honfi vs Sebestyen, Dunaujvaros 1952 1 bsetup 1 bsetup fen r1bq2k1/2p2p1p/p1pp2pB/2n4r/8/2N2Q2/PPP2PPP/4RRK1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Honfi 1 bname Sebestyen 1 k Let's dive into the theme by looking at an easy example. 7 k The only piece which still defends black's back rank is the Queen. How does white exploit this? You have 25 seconds... 35 f3f6 k A very powerful move: white threatens Qg7 mate, so black has no choice. 8 d8f6 k But now black's Queen does not protect the back rank anymore. 8 e1e8 8 k Example 2: Dementyev vs Karpov, Riga 1971 1 bsetup 1 bsetup fen q3r1k1/4Rp1p/6p1/2Q1B3/P2P4/1r1b3P/5PP1/4R1K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Dementyev 1 bname Karpov 1 k Here is a similar example. Note that Karpov plays on the black side! What a pity if you had a chance to win against Karpov and could not find the winning move! Which move forced Karpov to resign immediately? 45 seconds... 65 c5d5 k What a shot! White threatens Qxf7 and attacks the rook on b3. If black takes the Queen however... 8 a8d5 k there follows of course... 5 e7e8 k according to the back rank weakness theme. 8 k Example 3: Minic vs Honfi, Vranjacka Banja 1966 1 bsetup 1 bsetup fen r2r2k1/2q2ppp/8/pp1RP3/8/1pP1Q3/1P3PPP/3R2K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Minic 1 bname Honfi 1 k The first two examples already showed that the back rank theme allows some very surprising ideas. This example adds some more fun. How does white exploit black's back rank ? 60 seconds... 45 k Note that white's rooks are already well placed to give mate on d8 , so white would like to get his queen into action... 40 e3a7 k What a surprise! One must like this move(especially as white). Both black pieces which protect d8 are now under attack. 20 k Let's first look what happens if black now takes on d5: 8 d8d5 k Of course white does not take the Queen now, as he then gets mated on d1 himself (back rank weakness!) 12 a7a8 c7d8 a8d8 d5d8 d1d8 k So taking on d5 was no help for black. 8 back 6 k What else could black try? 10 c7c8 k Trying to protect d8. White could now win easily by taking on d8, winning the Queen, but there's a more thematic solution: 25 a7a8 d8f8 a8c8 k and so on. 8 k Example 4: Fuester vs Balogh, Budapest 1945 1 bsetup 1 bsetup fen 5rk1/5ppp/8/8/8/4PQ2/r1q2PPP/RR4K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Fuester 1 bname Balogh 1 k In this example black wins a rook in a very surprising way. Can you find the solution? 45 seconds... 55 c2b2 k The Queen cannot, of course, be taken. Black now simply threatens Rxa1. The only way to avoid this would be : 15 f3d1 k White succeeds in protecting his back rank, but now of course f2 is unprotected. 15 b2f2 k With mate on g2. 8 k Example 5: ??? vs ???, Jugoslavia 1949 1 bsetup 1 bsetup fen 8/pQRq2pk/4p2p/3r1p2/3P4/4P3/PP3PPP/6K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Unknown 1 bname Unknown 1 k What about this position? Black seems in great trouble as his queen is under attack, and moving the queen would allow white to take on g7. 20 k How did the back rank theme help black to completely reverse the situation ? 60 seconds... 67 d5c5 k Neither the Queen nor the rook can be taken, due to back rank mate. On the other hand, black threatens to take white's rook. 25 c7c5 k This prevents immediate mate. 8 d7b7 k With queen vs rook, the win is only a matter of time. 8 k Example 6: Maric vs Gligoric, Belgrad 1962 1 bsetup 1 bsetup fen 5rk1/1B2bp1p/p2p1p2/q4R2/8/2r5/P1PQ2PP/1R5K 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Maric 1 bname Gligoric 1 k Having gained some experience, you should not be surprised by black's first move in this example. Can you find it quickly? 60 seconds... 70 c3b3 k Very powerful: black threatens mate on b1 and attacks both white's Queen and the rook on f5! 20 d2d1 k White protects his back rank. 10 b3b1 k Black simplifies and gains material at the end. 10 d1b1 a5f5 8 k Example 7: Najdorf vs Nunn, England 1983 1 bsetup 1 bsetup fen 6k1/4r3/2ppnQp1/8/1N4q1/1P5p/P4R1P/7K 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Najdorf 1 bname Nunn 1 k In this position it seems at first sight that it is black who is under attack, but white's enclosed king on h1 gave black some ideas to reverse the situation. Do you have as much imagination as John Nunn ? 80 seconds... 96 e6f4 k threatening Re1. Taking the knight would be no help for white as he then gets mated by Re1+ followed by Qg2 mate. So white must protect his back rank. 25 f6a1 k Black now has two good ways to finish the game; can you find at least one of them? 60 seconds... 67 k Let's first look at Fritz's solution: 8 f4e2 k threatening Qe4+ 8 a1f1 g4e4 f2f3 e7f7 k The rook on f3 cannot be protected. 10 back 5 5 k Let's now see the other solution: 8 e7e2 k White cannot take this the rook with RxR as there would follow Qf3+ Kg1 Nxe2 mate, so he must protect his rook. 25 a1g1 k Now black has another back rank shot... 30 f4d3 k Taking the Queen is not allowed, e.g: 8 g1g4 e2e1 g4g1 d3f2 k mate 8 back 4 5 k Instead of taking the Queen, white tries: 8 f2e2 g4f3 k Now white must put either his queen or his rook on g2, but he gets mated in either case. Let's first look at Qg2: 15 g1g2 h3g2 e2g2 f3f1 g2g1 d3f2 k mate 8 back 6 5 k Let's now look at Rg2: 8 e2g2 d3f4 g1f2 h3g2 h1g1 f4h3 k mate 8 k Example 8: Lippschuetz vs Schalopp, London 1886 1 bsetup 1 bsetup fen 2r1Rn1k/1p1q2pp/p7/5p2/3P4/1B4P1/P1P1QP1P/6K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Lippschuetz 1 bname Schalopp 1 k This is an example from the 'good old times'. This should be easy now. White to move. 45 seconds... 50 e2c4 k Of course! White threatens Qg8 mate, so black has no choice 20 c8c4 e8f8 k mate. Easy wasn't it? 8 k Example 9: Netto vs Abente, Paraguay 1983 1 bsetup 1 bsetup fen 2b1r3/1p2qpkp/2p3p1/4r3/R4Q2/2P2RP1/P1B2P1P/6K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Netto 1 bname Abente 1 k This is my favourite example in this lesson. Do you find the mate in 6 ? Black to move. 90 seconds... 52 k Note that if white's king stood on f1 instead of g1, there would be an easy mate with Bh3+ Kg1 Re1. Still having trouble to find the solution ? 58 e5e1 g1g2 e1g1 k Oooops! Strange move, isn't it? (not quite so strange if you've found the solution) 15 g2g1 e7e1 g1g2 k Remember that idea with Bh3+ ?... I hear the ah!'s and oh!'s coming... 25 e1f1 k Of course! 8 g2f1 c8h3 f1g1 e8e1 k mate 8 k Example 10: Gheorghiu vs Kinmark, 1961 1 bsetup 1 bsetup fen r1b2r1k/2q2pp1/2pb3p/p1n1NB2/1pP5/1P5P/PBQ2PP1/3RR1K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Gheorghiu 1 bname Kinmark 1 k This position is an 'attacker's dream'.All of white pieces are well placed for the final attack. How to start it? 90 seconds... 100 d1d6 k Very good. White sees that he can generate back rank problems for black with Nxf7. Therefore he deflects the black queen which protects the f7-square. 25 k Black might think that it would be better to get rid of white's Bishop on f5 first, before taking the rook, so let's first look at Bxf5: 15 c8f5 k White of course does not reply with Qxf5, but with... 15 d6h6 k That's a much better way to 'lose' the rook. White's attack becomes irresistible: 12 g7h6 c2f5 f7f6 k Black must close the long diagonal at all costs, otherwise he gets mated by Nxf7 double-check Kg8 Qg6. 25 e5g6 h8g7 g6e7 k with Qg6 to come. So, black's Bxf5 did not work well. Let's now look at what happens if black takes the rook on d6 first: 20 back 8 5 c7d6 k Now white can show his back rank ideas. Remember: what was white's idea when deflecting the black queen? 20 e5f7 f8f7 e1e8 k The back rank finally comes into action. 8 f7f8 k Believe it or not, white now has an extremely strong move which forces immediate resignation. Can you find it? 60 seconds... 70 c2d2 k That should become one of your all-time favourite tactical moves! The queen cannot, of course, be taken: QxQd2 RxRf8 mate. On the other hand, white threatens Qxh6!!, which could arise after: 30 c5d3 k So that white cannot take black's queen, but of course... 15 d2h6 k The pawn g7 is pinned by the Bishop on b2, so black must recapture with the queen... 10 d6h6 e8f8 k mate 8 back 4 5 k So, what else could black try here? He might just take white's rook, thinking that getting two rooks for the queen is not so bad after all. 20 f8e8 d2d6 k The problem for black is that white still threatens the horrible Qxh6!! 15 back 2 5 k Taking the rook did not work well. Black might want to improve with Kg8 instead: 15 h8g8 d2d6 f8e8 d6g6 k There is no help for black, e.g: 8 e8e1 g1h2 a8a7 g6h7 g8f8 h7h8 f8e7 h8g7 k Black loses at least his rook on a7. 10 back 12 5 k So, black is completely lost after the beautiful Qd2!! 15 k Example 11: Schmidt vs Abramovic, Nice 1983 1 bsetup 1 bsetup fen 3r2k1/5p2/p6p/q5pB/4P3/2R5/1nQ2PPP/6K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Schmidt 1 bname Abramovic 1 k It seems hard to believe that black might exploit white's back rank. After all, the d1 square is well protected by both white's queen and the bishop on h5. Black found, however, one of the strangest chess moves ever played... What do you think? 60 seconds... 80 b2d1 k What could possibly be the idea of such a move? Well, besides threatening to take white's rook, the idea is very surprising: as long as white's bishop stands on h5, it protects d1. If it stands on the square d1 itself, it does not protect the square anymore!? 30 h5d1 k Black now shows his back rank idea: 12 a5c3 k So, white ran right into black's trap. What else could he have tried? 8 back 2 5 c2b3 k White generates a counter attack on f7. 10 a5c3 b3f7 g8h8 k It appears that black's queen and rook do a good job preventing further checks, so there was no help for white after the surprising Nd1!! 8 k Example 12: Sampouw vs Silalahi, Indonesia 1971 1 bsetup 1 bsetup fen 4rrk1/pp3ppp/2n5/3N3R/7q/8/PP2Q1PP/3R3K 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Sampouw 1 bname Silalahi 1 k Let's look at the last example: Both queens are attacked, but white is on the move, so he has a move 'for free', as afterwards, black must still look after his queen. 60 seconds... 85 e2e8 k Black cannot take white's queen now, as after RxQe8 RxQh5, white is simply a rook up, so black has no choice: 25 h4h5 k White now had a very clever idea to make the closed back rank larger?! Can you see it? 45 d5e7 c6e7 k having put a further 'pawn' on black's 7th row, white showed his back rank idea: 25 e8f8 g8f8 d1d8 k That's all folks, hope you enjoyed the show! These and many more examples can be downloaded in chessbase-format at: http://webplaza.pt.lu/public/ckaber (Tactic1.zip) 30 pychess-1.0.0/learn/lectures/lec16.txt0000644000175000017500000003267613365545272016672 0ustar varunvarunk This is the LectureBot's Bughouse lecture. We will focus on the differences between Bughouse and 'normal' chess concerning 'Starting a game', 'Strategy', 'Openings', 'Time Usage', and other topics. "Why play (standard) chess when you can have fun?" 24 k Chapter *I* Basics 1 k Some special server commands for Bughouse are: "partner [someone]" to offer to be someone's Bughouse partner and "ptell [blabla]" tells 'blabla' to only your partner. 16 k Since Bughouse is played on two boards (see also "help Bughouse") it is important to closely watch your partner's position. For that you need to observe your partners board. If you are using Winboard or XBoard as Interface, start the interface a second time, log in as unregistered user and enter "follow [name of your partner]" in the terminal window. The interfaces CClient and Fixation do that automatically. 39 k Now if you want to challenge someone simply add Bughouse to the end of the line ("match [someone] 3 0 rated Bughouse"). 12 k Also, make sure you are in channel 24, the Bughouse (plus discussion ;-) ) channel. And you ought to have the bugopen variable set to 1 ( "+ch 24" and "set bugopen 1" ) 16 k When you've set bugopen to 1 your handle will appear in the "bugwho" list, you'll be open to receive partnership requests, and other Bughouse players will know that you're ready for action. 18 t 24 LectureBot's Bughouse lecture for players from 0 -> 1600 has just started. "observe LectureBot" to join. 30 k Chapter *II.* Strategy 1 bsetup b bughouse 1 bsetup fen rnbqkb1r/ppp2ppp/3ppn2/6N1/3PP3/8/PPP2PPP/RNBQKB1R 1 tomove black 1 wname A 1 bname B 1 bsetup wcastle both 1 bsetup bcastle both 1 bsetup done 1 k Bughouse is a chess variant where controlling important squares (especially around the Kings) is vitally important. In this position (as it often is in Bughouse) f7 is such a weak square. It is only defended by the black King, and white could consider sacking his Knight to make the King move out. 28 Nc6 3 Nxf7 3 Kxf7 3 k As we can see, the black King can only be further attacked with a Knight to drop. So, white should have looked at his partners board to make sure that he could get a Knight BEFORE sacking his other Knight on f7. If he gets his Knight, black could be in difficulties. 26 N@g5 3 f7e8 3 k A Queen would mate already. Another piece to place on f7 would be very good, too. With 'stuff' coming for the next few moves, white has an attack. 14 d5 3 k Remember, there are always 4 Knights, 4 Bishops, 4 Rooks, 2 Queens, and 16 Pawns of one color in Bughouse. So, since all pieces lost or traded on your partners board come to yours and vice versa, it is clear that you HAVE to make sure that your King is safe; a walking King almost always gets mated. 28 K So obviously, black made a mistake here. Lets see what he should have done instead in our starting position. 11 back 6 1 k Black moved Nc6 ?! here. It would have been better to protect the f7-square a second time. Here are a few alternatives: 11 Qe7 1 K If he does not have a piece to drop. Or ... 3 back 1 B@g8 3 back 1 B@g6 3 back 1 B@h5 3 back 1 N@h6 3 k Ok, let's look at another position and find the important/weak squares there. 15 bsetup b bughouse 1 bsetup fen r3kr2/pppqbppp/2n1p3/8/1n1P4/2NPBN2/PPPQ1PPP/R3KB1R 1 tomove white 1 wname A 1 bname B 1 bsetup wcastle none 1 bsetup bcastle qside 1 bsetup done 1 k We are looking for weak squares again. White to move; where can he attack? f7 is obviously well enough defended, but the Knight-pawns can be very weak, too. 15 P@h6 3 gxh6 3 K Good for black that he hasn't castled (0-0 ?). This weakness of the g-pawns is one of the main reasons why you only castle in Bughouse to get out of immediate danger (or if your kingside is protected by enough of your own pieces or if your opponent will not get pieces to attack). So black could consider castling (0-0-0) now ! 32 K White will continue his attack by placing pawns, Bishops or Knights on the weak black squares e5/f6/g7. Often a Knight is placed on h5 to support the attack. 15 P@g7 3 Rg8 3 N@h5 3 k Of course this is only one of the many positions white's attack could lead us to. 10 O-O-O 3 P@g6 3 k Nice move, huh? 3 hxg6 3 P@h7 3 k One of the nice things about the h6/g7 attack is that you don't need to sack too many pieces. 10 revert 1 bsetup 1 tomove black 1 bsetup done 1 k Black to move here can also TRY to attack, but he has to sack at least a Knight. 8 Nxc2+ 3 Qxc2 3 Nb4 3 Qd2 3 N@c2 3 Ke2 3 Nxa1 3 B@a4 3 k This, B@a4!, is one of the 'special' Bughouse moves. The Bishop at a4 (or a5 for black) is at the same time attacking (the Queen) and defending (white's weak square: c2) 18 k Oh, and, speaking of Bishops, there is another thing to say about them before I forget: Bishops aren't worth less than Knights in Bughouse. No matter what some people tell you. If a Pawn is worth 1 "Pawn-unit", Knight and Bishop and Rooks are worth 2, and a Queen 4. 25 c6 3 k ... White can play Ne5, and maybe he will have some advantage. One can only repeat it over and over again: Bughouse is played on BOTH boards! Sacking pieces without getting real advantage is the most common mistake made by players up to a bughouse rating of about 2000. 25 k Next position. 3 bsetup b bughouse 1 bsetup fen r2qkbnr/ppp2ppp/3p1P2/3Np1PN/1p1nP3/7b/PPP1BKPP/R1BQ3R 1 tomove white 1 wname A 1 bname B 1 bsetup wcastle none 1 bsetup bcastle both 1 bsetup done 1 k This is a position from an actual game, and it is a bit more complicated. Black just took a Knight on h3 with his Bishop. White played gxh3 automatically, which was a mistake. We will see what happened to him later. 21 K In an open position, where both players are attacking, especially when they are holding many pieces 'in hand', INITIATIVE is very very very important. So, give checks if you can; action is better than REaction. 20 K So what should white have done? 3 fxg7 3 K Ignoring black's lousy Bishop. 3 Bxg7 3 Nxg7+ 3 Kd7 3 K I don't know who will win this position; it depends a lot on the other board, of course, but White has a fair chance now since both Kings are out in the open. 15 K A few moves back to what white actually did. 3 back 4 1 gxh3 3 P@f4 3 Bxf4 3 exf4 3 fxg7 3 B@e3+ 3 Kg2 3 K This was white's last mistake. 3 K It's your move now. You are holding a Knight and a Pawn and your opponent holds a Rook and a Bishop. Can you see how many moves you'll need to mate? 60 K --> 5 . Got it, right? 3 N@h4+ 3 Kf1 3 P@g2+ 3 Ke1 3 gxh1=Q 3 R@g1 3 Qxg1 3 Bf1 3 Ng2 15 K So, with this nice mate, we are finished with Chapter II. The main thing I wanted you to learn was the importance of King safety, weak squares in your position, and how to 'sack' pieces if and ONLY if you get a strong attack. 30 k Chapter *III.* Openings 1 k From what you have learned in Chapter II, it should be clear that you can forget about some of the standard chess openings in Bughouse. 15 bsetup b bughouse 1 bsetup start 1 wname A 1 bname B 1 bsetup done 1 e4 3 e5 3 K This is not a great idea. Play e5 with black only if you are really good and know what you are doing. We know that f7 (and f2 for white of course) can be weak, and now it's even easier for white to attack that point. 21 Bc4 15 back 2 3 c5 3 K Useless, and creates an extra weak point on c7. 15 back 3 K You should only move your d and e pawns in the Bughouse opening, and, if possible, in the whole game. 15 K So, what I would suggest for all our small Gnejses and ChaseSrs among us is: 3 k A.) e6/d6 as a black opening. 15 e6 3 d4 3 d6 3 Nc3 3 Nf6 3 K White will want to play d5 at one point to attack e6 (and f7). 15 d5 3 P@d7 3 K Now white can move Bc4. Before d5, black would have played d5 himself. 15 Bc4 3 Qe7 3 K And so on. This was only one of a great number of possibilities of course. 15 back 4 3 Nf3 3 K Black's idea can be to try to put some pressure on e4. For example: 8 P@b4 3 K And so on. 3 K Other common bughouse openings for black ( white's idea remains the same : create a strong centre. The first-move advantage is much greater in bughouse than in standard chess. ) 17 K B.) 1..e6 2..d5 3 bsetup b bughouse 1 bsetup start 1 wname A 1 bname B 1 bsetup done 1 e4 1 e6 1 d4 3 d5 3 k And now white has a choice. White can take exd which leads to a very complicated line. ( both white and black Knights can get pinned, Queens are very often moved to e2/e7 and with pawn-drops on e5/e4.) 19 exd5 3 exd5 15 back 2 3 K The other option for white is to play e5. Black will be ok here as long as white doesn't get too many pieces in the beginning. 10 e5 15 K h6 !? is a not necessarily bad move for black here. It can support the idea of playing Ne7-f5 (no Bg5 for white) and overtaking white's exposed centre. 15 bsetup b bughouse 1 bsetup start 1 wname A 1 bname B 1 bsetup done 1 K C.) 1..d5 ?! e4 1 d5 3 K I remember some time ago I asked a real top-notch bugger about the value of this opening and he said "Well -- u lost a pawn". The idea is to sack a pawn for development like in any standard gambit : 19 exd5 3 e6 3 dxe6 3 Bxe6 3 K White should play 4.d4 or 4.Nf3 now to keep d4 under control (no Bc5 for black). 15 back 2 1 Bb5+ 1 K This the other line. Play Bb5+ to weaken black's queenside. c6 3 dxc6 3 bxc6 1 K You can play Be2 here or 5.Nc3 !? or 5.d4 !? sacking the bishop to attack black's weak queenside. There are many interesting lines here, another example is to play 4.Bxc6 ?! after 3..c6. But on to the next opening. 20 bsetup b bughouse 1 bsetup start 1 wname A 1 bname B 1 bsetup done 1 K 1..Nf6 ( 2..d5 ) 3 e4 3 Nf6 3 Nc3 1 K I personally like 2.e5 !? better, instead of Nc3 played by most people. But you need to know how to defend after 2..Ne4 3.Nc3 3..Nxf2 . 30 d5 3 exd5 3 Nxd5 3 K After 4.Bc4 here black plays 4..e6 and has equal chances. 15 Nxd5 3 Qxd5 3 d4 3 Nc6 3 Nf3 1 K 6.Be3 can sometimes be stronger than Nf3. We are on move 6 now! Don't forget to look at your partners board from time to time. 15 Bg4 3 Be2 1 k No- black can't win a pawn here ;-) ... enough about this, you will learn from experience. 30 k Chapter *IV.* Partner Communication, Time (and lag) k This is a position after a long game. 1 bsetup b bughouse 1 bsetup fen r3kb1r/p1pb1ppp/2P5/3p2q1/B1nPp1N1/2N2P1b/PPP1QP1P/R3K2R 1 tomove black 1 wname A 1 bname B 1 bsetup wcastle none 1 bsetup bcastle none 1 bsetup done 15 k Everyone can see how nice a pawn or even a Bishop to place on d2 would be ("m2" = mate in 2). 15 K Unfortunately, black doesn't have any 'diags' (diagonally moving pieces) right now. So he will want to 'sit' (= not move) and wait until his partner takes a Bishop or Pawn he could then place on d2. 21 K His partner's opponent will notice that, and since he probably can't move in a way so that none of his Pawns can be taken, he will 'sit', too. 15 K So, both players with black are sitting now, and, clearly enough, the one with less time will have to move first. 15 K Because of this, SPEED is so important in Bughouse. If Team A played very fast, Player B will have to move now, can't mate (maybe play Bh3xg4) and could be in serious trouble if white has many pieces to drop. 21 K My advice is to play fast whenever you can, especially when in trouble! If you play fast when in trouble your partner can sit, and since your opponent will not get any additional pieces, you'll become safe again. Slow down while attacking, not only to try to find mate but also to wait for pieces or advice from your partner. 31 K So the 5 extra seconds the one playing black for Team A has over the one playing white for Team B made all the difference. It is obvious, then, that already a small amount of 'lag' can change the outcome of the whole game. Most good players will abort a game when the time difference between both boards (black and white's clock added up on every board) is more than 10 seconds in a 3 0 game or maybe 5 seconds in 1 0. 39 K You can test your lag by entering "ping freechess.org -t" in a dos-box and let in run in the background. If more than 1 or 2 out of 10 lines say "Request timed out" you probably lag too much for bughouse. 15 bsetup start 1 bsetup done 1 K Many players communicate a lot to their partners during the game. They "ptell ++" while they are attacking to show that trades/'stuff' is good for them, "ptell --" when they are defending. Or "+n" when a Knight would be good, "++n" when a Knight would be very good, "+++n" when a Knight would mate. The same with "- [piece]" vice versa. Or tell their partners "q exchange" or "q coming". This communication can be very helpful. But also be aware that it costs some time to write this or press your hot-key. So, good players do not talk too much during game, but instead watch their partner's game closely to see for themselves what pieces their partner needs. 63 k Chapter *VI.* How to annoy your partner ;-) 5 k Ahhm, the best way to really annoy your partner is to start an all-out attack from move 1 on. Sack all your Knights and other pieces and then -- Oops, where is my attack? Begin to sit for stuff. While your partner tries to handle his opponent's overflow, you keep telling him "++N", "I need a Queen", "and a Rook, two Pawns", "a Bishop mates!". So, your partner gets you all this, but suddenly you notice -- it wasn't mate, and your opponent starts to attack. Then when you are m1(mated in 1), you wisely decide to 'sit' and let your partner win. He does that and finally has his opponent mated in 1. At this point you disconnect, which forfeits the game in Bughouse. ;-) 65 k HAVE FUN ! 5 k ... PS : Suggestions and corrections are always appreciated. message Tecumseh. Two very good bughouse webpages are www.tasunder.com/bughouse (bughouse game archives and link to FErrants cool Bughouse problems) and www.bughouse.net (bughouse discussion forum). 30 pychess-1.0.0/learn/lectures/lec11.txt0000644000175000017500000001677713365545272016671 0ustar varunvarunki In this lecture I would like to show you a game of mine which I played last year against Byelorussian Grandmaster Viktor Kupreichik (2550 FIDE). It was played in Ter Apel, Holland, in 1997. 13 wname Kupreichik 1 bname talpa 1 ki I will give some analysis of the game and try to share with you some of my feelings that I had during this game. 10 ki The game was played in the first round of the tournament, and I was obviously a bit nervous to play against such a famous player. 12 ki I played with the Black pieces. 5 e4 c5 ki Of course I was aiming for a complicated game, so I chose the sharp Sicilian Defence. 10 Nf3 d6 Nc3 Nc6 d4 cd4 Nd4 Nf6 f4 ki This slightly unusual line is often played by Kupreichik. 10 e5 Nf3 Be7 Bc4 O-O f5 ki The Grandmaster played all this very quickly, while it took me some time to find the right move-order. 10 ki But here I began to think that maybe I had done something wrong. 7 ki Surely, White would very soon start to attack my king and I would lose without a real fight. So I had to think of a way to prevent this. 15 b5 ki !? I was a bit ashamed to play this crazy move against such a big name, but it is really a very interesting move! 15 ki The idea is to disrupt the normal developement of the White pieces by attacking the centre with my own pieces. 12 ki The Black plans are quite clear now: play Qb6, Bb7, Rc8 and Nd4 and start an attack against the White king which is still in the centre. 20 ki Some time after this game, the move 9...Na5! was found, which is probably even better than the move I played. 10 ki But during the game it was not at all easy for White to react in the right way to my novelty. 10 Bb5 ki Now Black has two possibilities. In the end I opted for Bb7, but now I think Qb6 was better. 10 ki Let's see what might have happened then: Qb6 Bg5 Ne4 ki Now Be7 is not possible because of Qf2 mate. 10 Ne4 Qb5 Be7 7 Qb4 Nfd2 Ne7 7 f6 Nf5 ki with an unclear position, or, instead of 11.Bg5: 5 back 10 Bc6 Qc6 Bg5 Qc5 ki Unfortunately, stuff like Nxe4 doesn't really work here. However, O-O is prevented. 15 Bf6 Bf6 Nd5 7 Bb7 Nf6 gf6 7 Qe2 Rac8 c3 7 d5 ki with dangerous counter chances. 10 ki Now, let's get back to the game. back 15 Bb7 Bg5 ki This was played rather quickly, but it is not the best. 5 ki Probably White didn't see the point of Black's play and he was just trying to win as fast as possible against this patzer ! 10 ki This, however, gave me the opportunity to create a very dangerous initiative. 10 ki Instead of the text, White should have gone for either 0-0 or Be3. 10 Qb6 Qd2 ki Again, this is too optimistic. White wants to castle queenside, but in the game I showed that this is too risky. 10 ki After the game, we looked at the following line: 5 back 1 Bf6 Bf6 Bc6 7 Bc6 Nd5 Bd5 7 Qd5 k Pinning the b5 bishop. 6 Qb2 O-O 7 Qc2 ki with chances for both sides. 10 ki Back now to the game. back 10 Qd2 Nd4 Bd3 Rac8 ki Black's play has clearly worked out even better than expected. 10 O-O-O ki Consistent, but very dangerous! The alternative was Nxd4, with the following forced line: 10 back 1 Nd4 ed4 Na4 7 Qc6 Qa5 ki The only move, on b3 there follows Nxe4. 7 Ne4 ki ! White's king is so badly placed in the centre that this piece sac is fully justified. 10 ki for example: Be7 Rfe8 Bb5 7 Qd5 c4 7 dc3 Rd1 Qe5 7 O-O c2 ki and Black wins, because if the Rd1 moves, Black has, amongst others, Qd4+ 17 ki Back to the position after Black's 13th move... 5 back 16 ki If White tries to protect the pawn on b2 with Rb1, he will also be in big trouble: 10 Rb1 Nf3 gf3 7 d5 k ! Opening the centre for the pair of bishops 8 Bf6 Bf6 7 ed5 Rc3 ki ! Again, this is possible because the White king is still in the centre. 14 Qc3 e4 ki and wins. 8 ki If White captures the pawn with his Knight on the 17th move, he will lose in similar fashion: 10 back 4 Nd5 Bd5 ed5 7 e4 ki ! 7 fe4 Bc3 ki ! and Black is winning since after 20.bxc3 Qxb1+ he remains the exchange up. 17 ki In the game Black had another combination, which gave me a winning advantage. 10 back 12 O-O-O Rc3 ki I was very happy to play this move, because now my pieces were so active that I almost didn't have to calculate anything. 15 ki if now bxc3, then 15...d5! with the idea of Ba3 wins on the spot. 12 Qc3 Ne4 k This was the point of the previous move. The White centre is destroyed. 10 Qa3 ki again, the only move, as is easy to see: 10 back 1 Be4 Ne2 k wins the Queen, and back 2 Qe1 Nf3 gf3 7 Bg5 Kb1 Nf2 ki is also winning for Black. ki Back to the game. back 6 Qa3 Ng5 ki Here I started to make some minor mistakes. Easiest was Bxg5, winning. 10 ki The capture with the Knight is less good, because in many lines the Knight will be trapped on g5 with the move h4. 13 ki But I wanted to keep the pair of bishops and underestimated White's counter-chances. 10 Ne5 k Winning back an important pawn, because of 17...dxe5 18.Qxe7. 8 Nb5 k Unfortunately, I now realised that I couldn't swap Queens with the planned Qc5, because White then has a nice trap: 10 back 1 Qc5 Qc5 dc5 c3 ki ! 7 Nc6 Nc6 7 Bc6 h4 ki ! 7 Ne4 Be4 Be4 Rhe1 ki and White wins back the piece ! 8 ki So I had to go for very complicated tactics, which made me quite nervous. 10 back 12 Nb5 Qb4 Qe3 7 ki I guess Nd4 was better, but it is so complicated that I am still not completely sure about it. I will show you one sample line: 10 back 1 Nd4 Qb6 ab6 7 Nd7 Bg2 Rhe1 7 Re8 ki The threat is Ngf3. 7 f6 Bc6 ki ! 7 fe7 Bd7 Bh7 7 Kh7 Rd4 Nf3 7 Rd6 Ne1 Rd7 7 Nf3 ki and Black wins. ki Still, I have the feeling White can improve on some point. ki Now, let's see what happened in the game. back 19 Qe3 Kb1 ki I think objectively Black has lost his advantage here. 5 Qe5 Rhe1 ki ! Suddenly White seizes the initiative ! Black must be very careful not to lose a piece. 10 Qf6 ki Defending the bishop. But now the Ng5 has no squares. Now get ready for some forced tactics. 13 h4 ki ! 7 Nf3 ki ! All pieces seem to be hanging, but after all, Black had a material lead. 12 ki The game reaches its climax. gf3 Bf3 7 Qb5 Bd1 ki The forced line is over, and the result is a very muddy position. White can win back the piece with Rxd1, but h4 is still hanging. That is why White decided to play another intermediate move. 18 ki At this point during the game, I was not very optimistic anymore. 10 ki I realized all too well that truly strong players show their true strength after you have failed to surprise them earlier in the game. 15 Qb7 ki After 24.Rxd1 Qh4 Black is slightly better, but maybe he should have gone for it. 13 Qh4 ki It is possible that Bxc2+ was better, but how could I resist a cheapo against a Grandmaster in timetrouble ? 10 Re7 ki ?? ... And he falls for it ! ki Of course, 25. Qe7 Qxe7 26. Rxe7 would have led to an unclear, probably drawn endgame. 14 ki But now, even though I was in big time trouble as well, I quickly played: 10 Bf3 ki ! The winning move. Because of the mate-threat on h1, White can't take on a7. 12 ki In mutual time-trouble there now followed: Qf3 Qe7 a4 7 Rb8 b3 Qf6 k I just made some safe moves because I didn't really see how I could win the game in a forced way. 12 Ka2 h6 k The idea of just walking with the h-pawn (h5-h4-h3) was obviously the right plan for Black to exploit his advantage. 12 Qc6 Qd4 ki And here, with less than 1 minute on the clock, I offered a draw. 8 ki Of course, this was a very insipid thing to do. Black must still be winning. 10 ki But I was so exhausted by all the complications earlier in the game that I felt very uncertain at this point. 10 ki My opponent literally grabbed my hand and accepted my offer. 5 ki Well, at least I can see this gesture as a compliment for my play during this game. 10 pychess-1.0.0/learn/lectures/lec27.txt0000644000175000017500000002110713365545272016657 0ustar varunvarunk Welcome to Knackie's Tactics Training. The examples are based on material of a Hungarian Chess School. They have been revised using Fritz and a bit of Knackie's brain. 15 k The 9th Lesson features the theme 'Long Diagonals'. 10 k Lesson 8 'Opening / Closing Diagonals' already showed some Bishops in Action. 10 k This lesson covers Bishop's on their 'most loved place': the long diagonals. 10 k Let's start with a typical example. 8 k Example 1: Larsson vs Andersson, Sweden 1971 3 bsetup 1 bsetup fen 2r2rk1/pbq2p2/1pp1p1p1/4R2p/2PP4/1P3Q1P/PB3PP1/3R2K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Larsson 1 bname Andersson 1 k A typical situation for the 'Long Diagonals' theme: white succeeded in exchanging Black's dark-squared fianchettoed bishop, leaving some ugly holes in black's kingside. 28 k White logically played: 8 d4d5 k Opening the long diagonal for the Bb2. 10 c6d5 f3f6 k Black gets overwhelmed on the long diagonal, and white threatens Rxh5 with mate on h8 to come. 18 c7d8 k Black defends against Rxh5 (e.g. Rxh5 QxQ), but white found a better solution: 16 f6h8 k Play continues on the long diagonal. 10 g8h8 e5h5 k double-check 6 h8g8 h5h8 k mate 8 k Example 2: Novak vs Cabarkapa, Emerlo 1970 3 bsetup 1 bsetup fen 1r2r1k1/pbp3pp/3b1q2/2p5/2P1B3/6P1/PPQ2P1P/1RB1R1K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Novak 1 bname Cabarkapa 1 k How did black seize control of the long diagonal? 12 k 35 seconds... 6 35 e8e4 k Sacrificing the rook for the defending bishop, which is a common idea, even if there is no forcing combination. 15 e1e4 k Black now increases pressure on the long diagonal. 15 f6f3 k White resigned, as he will first lose his Re4 and then be mated on the long diagonal. 17 k Example 3: Flesch vs Vadasz, Budapest 1971 3 bsetup 1 bsetup fen 2b2r2/1rq2k2/3p1BR1/p1pP1Pn1/PpP2pP1/1P3B2/8/4Q2K 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Flesch 1 bname Vadasz 1 k In this example you should NOT calculate long variations. 13 k White to move, 35 seconds ... 7 35 g6g7 k White surprisingly gives up his Bishop?! So, what about the long diagonal? 12 f7f6 e1a1 k mate! 8 k Example 4: Mecking vs Basman, Hastings 1965 3 bsetup 1 bsetup fen 8/5pkp/r2p2pq/2pP4/2n2P2/N7/PP1nQ2P/K4R1R 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Mecking 1 bname Basman 1 k Basman is well-known for his strange opening ideas. Here he showed his fantasy in the middlegame. 19 k 45 seconds ... 7 45 a6a3 k Surprise! Let's see what happens if white takes the rook: 13 b2a3 k You might wonder what the relationship between this example and the long diagonals theme is? 18 h6h4 k There it is! The Queen now inevitably comes to f6, and white will be mated. 15 back 2 k So instead of taking the rook, white tried: 11 h2h4 k So that the black queen cannot play the strange manoeuvre Qh6-h4-f6. 14 d2b3 a1b1 c4d2 b1c2 b3d4 c2d2 d4e2 b2a3 e2g3 k White resigned. 8 k Example 5: Root vs Starnes, Pasadena 1983 3 bsetup 1 bsetup fen 2rq1rk1/1p1b3p/p3p1p1/b2p2N1/3B4/P2n2R1/1PP2PPP/R2Q2K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Root 1 bname Starnes 1 k Black just took on d3. How did white reply? 11 k 50 seconds ... 7 50 d1h5 k If black now tries to defend h7 by means of Qe7, there follows: 14 d8e7 g5h7 k Disaster on g6 follows. 10 back 2 k So, black took the Queen. 8 g6h5 k The knight g5 now has a move 'for free', as the Rg3 will give discovered check. 16 k Which knight move would you choose? 20 g5e4 g8f7 g3g7 f7e8 e4d6 k mate 8 k Example 6: Spiro vs Najdorf, 1932 3 bsetup 1 bsetup fen 3r2k1/pb3p1p/1q4p1/2b1P3/1Pp5/2P1p1P1/P3Q1BP/R1B4K 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Spiro 1 bname Najdorf 1 k At the moment, white defends well on the long diagonal, and black's Bc5 is under attack. 17 k How did the great tactician Najdorf react? 11 k 60 seconds ... 7 60 b6c6 k Black surprisingly increases the pressure on the long diagonal. 14 k The queen cannot be taken: 8 g2c6 b7c6 h1g1 d8d1 e2d1 e3e2 c1e3 c5e3 k mate! 8 back 8 k Instead of taking the Queen, white tried: 10 c1a3 k White's rook now defends the first row, but what is the drawback of Ba3? 15 d8d2 k The square d2 is no longer protected by white's bishop. 12 k White has nothing better than taking the Queen now. 10 g2c6 b7c6 h1g1 d2e2 b4c5 e2g2 k If white now plays Kh1 there follows: 10 g1h1 g2g3 k mate 6 back 2 k So, white played: 7 g1f1 e3e2 f1e1 g2g1 k White resigned, as he loses his rook. 10 k Example 7: Nimzovich vs Nielsen, Koppenhagen 1930 3 bsetup 1 bsetup fen r4rk1/p1R2ppp/1p1bp3/3qB3/3PR3/5Q1P/PP3PP1/6K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Nimzovich 1 bname Nielssen 1 k Nimzovich's combinations were considered 'diabolical'. 12 k Here, the devil showed up on move 3. 10 k 50 seconds ... 7 c7d7 k Preventing black from exchanging white's important Be5. 12 a8d8 d7d6 d8d6 k Which was the crucial move of Nimzovich's combination? 20 f3f6 k That looks nice. 7 g7f6 e4g4 g8h8 e5f6 k mate. 8 k Example 8: Uhlmann vs Liebart, 1976 3 bsetup 1 bsetup fen b2r2k1/p3pp1p/4n1p1/2P5/8/2P1Q1P1/P2NqP1P/2B2RK1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Uhlmann 1 bname Liebert 1 k How did Black exploit the light-squared holes in white's kingside? 14 k 45 seconds ... 7 45 d8d2 k If white now answers QxR, there follows: 10 e3d2 e2f3 k With inevitable mate on the long diagonal. 10 back 2 k White tried: 6 c1d2 k Now follows the key-idea of black's combination: 15 e6g5 k White cannot take the knight, as after Qxg5 there would follow Qf3 again. 15 k So, white played: 7 e3e2 g5h3 k mate. 8 k Example 9: Szaharov vs Cserepkov, Alma Ata 1969 3 bsetup 1 bsetup fen 4rbk1/1q3ppp/2Rr4/1p1P1B2/2b1PR2/p5P1/5P1P/B1Q3K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Szaharov 1 bname Cserepkov 1 k In this example, white launched a strong attack ending with a typical mating combination. 17 k 75 seconds ... 7 75 f5h7 g8h7 c6d6 k This very strong move not only prevents black from defending with Rh6, it also deflects the defender of square g7. 21 f8d6 f4h4 k If black now plays Kg6, there follows: 10 h7g6 h4g4 g6h7 g4g7 h7h8 c1h6 k mate 5 back 6 k So, black played: 7 h7g8 k Now follows a typical mating combination that you should try to keep in mind. 15 h4h8 g8h8 c1h6 k The pawn g7 is pinned! 8 h8g8 h6g7 k mate 8 k Example 10: Spielman vs Hoenlinger,1929 10 bsetup 1 bsetup fen 2r1nrk1/pb2qp1p/1p2p1pQ/nP6/8/P2B2N1/1BP2PPP/3RR1K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Spielman 1 bname Hoenlinger 1 k In this game, the great attacking player Spielman showed another typical mating combination. 18 k 75 seconds ... 7 75 g3f5 k Black cannot take the knight: 9 g6f5 d3f5 k Black is mated or loses the Queen. 10 back 2 k In the game, black did not take the knight. He played: 12 e7c5 k How did Spielman strengthen the attack? 20 e1e5 k This move is extremely strong. It not only attacks black's Queen, it also prepares a nice mating combination. 20 k Black's problem here is that he cannot move his Queen off of the a3-f8 diagonal, as he must keep an eye on the e7-square. ( the white knight wants to give check on e7 ) 20 b7d5 k So, why was Re5 a very strong move? 15 f5e7 k Clearing the way for the rook on it's way to h5. 11 c5e7 k You should absolutely remember the following mating combination, which happens very often: 17 h6h7 g8h7 e5h5 k Rhe pawn g6 is pinned! 8 h7g8 h5h8 k mate. 8 k Example 11: Tarrasch vs Walbrodt, 1895 3 bsetup 1 bsetup fen 3b2rk/7p/p7/2pbqNrn/Pp1p1R2/1P1Q2P1/1BPN1R1P/6K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Tarrasch 1 bname Walbrodt 1 k In the last example, we'll go back to the 19th century. 12 k In all the previous examples, the attacking side had a huge positional advantage right at the start. 15 k Things are much less clear in this position. Black has a dangerous counterattack on the g-file. 15 k Chess teacher Tarrasch proved that he was a great tactician. 14 k 90 seconds ... 7 90 f4d4 k Obviously opening the long diagonal for his Bb2, but isn't black's counterattack too strong? 15 h5g3 k Black seizes his chance. 8 f5g3 g5g3 h2g3 g8g3 k Walbrodt must have been happy here; he wins Tarrasch's Queen. 13 g1f1 g3d3 k Did Tarrasch resign now? 20 d4g4 k No! Walbrodt now resigned. If black plays QxB, there follows: 13 e5b2 f2f8 d5g8 f8g8 k mate 8 k That nicely concludes the Lesson; I hope you enjoyed it! 10 k These and many more examples can be downloaded in Chessbase or Pgn-Format at http://webplaza.pt.lu/public/ckaber 20 pychess-1.0.0/learn/lectures/lec1.txt0000644000175000017500000001463213365545272016574 0ustar varunvarune4 e5 f4 kibitz The King's Gambit, an opening that strikes fear in the hearts of many 1...e5 players. White starts a fight as early as move 2, trading off king safety for pressure on the center and easy development in most lines. 20 exf4 Nf3 g5 h4 kibitz Variations like this, where both sides have thrown their kingside pawns forward and sacrificial attacks against the kings are the norm, are very common after 2...exf4. You have probably seen many examples of this if you have examined the games of 19th century masters. 35 back 2 d6 d4 Nf6 Nc3 Be7 Bxf4 kibitz And if black tries to calmly give back the pawn and develop, white often simply takes control of the center and gains a slight lead in development, leaving black cramped. 33 back 8 kibitz However, you don't have to accept a cramped position or be willing to go in to a mutual king hunt to play against the King's Gambit! There are other possibilities, one of which is the topic of this lecture: 20 Qh4 kibitz This move attempts to take advantage of the 2.f4's weakness: the weakening of the e1-h4 diagonal. If Ke2 here, black has the pleasant choice between grabbing the f4 pawn and generating threats with Bc5. So white must play g3. 25 g3 Qe7 kibitz First black lost a tempo with Qh4+, now he is blocking his bishop on f8! What is going on here? 10 kibitz Qh4+ forced white's pawn to g3, and Qe7 pressures whites e-pawn. The position of the pawn on g3 is important. If white ever recaptures on f4 with it, the e1-h4 diagonal will be opened again. Also the move g3 has increased the vulnerability of the h1 rook! Let's look at a line where this comes in to play. 30 fxe5 kibitz White hopes to gain a tempo when the black queen captures on e5. However, black doesn't need to allow that to happen! 10 d6 kibitz If white does not take on d6 now, black will simply play dxe5. 8 exd6 Qxe4 kibitz Taking advantage of the queen's presence on the e-file and the weakness of the h1 rook! Now white can't block with a minor piece and then attack the queen with Nc3, because black will simply take the rook. 25 Qe2 Qxe2 Nxe2 Bxd6 kibitz Black has regained his pawns and reached a roughly even endgame. The g3 pawn is still a liability even at this stage. h5 and h4 is often part of black's plans in the positions that result. 20 Bg2 Nc6 kibitz Intending to complete development and begin attacking white's kingside(Bd7, O-O-O, Ne7, and h5-h4 is a plan). White can choose a plan of bringing his pieces and pawns to the center with c3, d4, O-O, and Bf4, or he can try... 35 Bxc6 bxc6 kibitz Play might proceed as follows: 5 b3 5 Ne7 5 Bb2 5 f6 5 c4 5 c5 5 Nbc3 5 Bb7 5 Rf1 5 Ng6 5 Nb5 5 Ne5 kibitz Black has achieved a good position, and he also threatens Nd3+, picking up the b2 bishop. 20 back 24 kibitz White has another try here that black can also meet with threats against white's e-pawn. 10 d3 kibitz Can you guess what black can try here to take advantage of the pin on the e-file? 20 d5 kibitz Threatening to win a pawn by exf4(opening the e-file), and then grabbing the e-pawn. If white tries this, 10 exd5 exf4 5 kibitz it is white who must be careful! Now Ne2 loses the knight to f3. Black has an interesting counter to Be2. 15 Be2 fxg3 hxg3 Qe5 kibitz Hitting on the d5 pawn, the g3 pawn, and also b2 if the bishop on c1 is developed to f4 now. 15 back 4 kibitz Thus white should play Qe2. 5 Qe2 kibitz Black can gain an advantage like this: 5 fxg3 hxg3 Bg4 kibitz Black is ahead in development and, more importantly since the queens will be traded, white has several weak pawns. 10 back 6 kibitz White has a better move here that causes much less damage to his pawn structure. 10 Nc3 kibitz Black now plays to isolate white's e4 pawn. 5 dxe4 dxe4 Nf6 5 kibitz This move pressures, but does not threaten white's e4 pawn. For example: 10 Nf3 kibitz Grabbing the pawn fails badly for black. 5 exf4 Bxf4 Nxe4 Nd5 5 kibitz If black moves the queen, Nxc7+ is crushing. 10 Nc3 Nxe7 Nxd1 Nd5 10 kibitz The dual threats of Nxc7+ and taking the d1 knight are decisive. 6 back 8 kibitz Black should instead play this: Nc6 5 kibitz White has a hard time pressing any attack based on the weakness of the e5 pawn. For example: 10 Bb5 Bd7 5 Bxc6 d7c6 5 Nxe5 Bxe4 5 Nxe4 Nxe4 5 Qd5 Nd6 5 kibitz And black can follow up with O-O-O. 5 back 12 kibitz White can also attempt to gain a lead in development here. 5 fxe5 Qxe5 Nf3 5 kibitz Black can create a haven for his queen with a method often seen in the Scandinavian defense(1.e4 d5). 10 Qa5 Bd2 c6 5 kibitz White can continue to chase black's pieces around for a few more moves, but it doesn't lead to anything substantial. 10 Nd5 Qd8 Nxf6 Qxf6 Bg5 5 Qd6 Qxd6 Bxd6 O-O-O Bc7 10 kibitz Black has no weaknesses, and it is difficult to stop him from developing normally and pressuring the isolated e4 pawn. 20 back 22 kibitz Another try for white here is Nc3. Nc3 kibitz Black can attempt to reopen the e1-h4 diagonal with exf4!? here but white can soundly sacrifice a pawn with 4.d4 to shake up the position. More along the lines of our solid play is d6. 20 d6 kibitz After this, both sides develop naturally. Here is one possibility. 8 Nf3 Bg4 5 h3 Bxf3 Qxf3 5 Nf6 Bc4 5 Nc6 d3 kibitz Nd4 isn't necessarily good here. 5 Nd4 Qf2 kibitz White will gain a tempo back on the knight by playing Be3, and playing c5 is very risky for black because of the already piled up on weakness on d5 that it would create. 25 back 2 Qd7 kibitz After this, black can choose between castling kingside(after Be7) with a solid position or castling queenside and attacking white's kingside. 17 back 12 kibitz White has one more interesting try here. 5 Qe2 kibitz The idea is to get off of the pin on the e-file and develop the bishop on g2. After this move, black's development is similar to the way development proceeded after 3.Nc3. 15 d6 kibitz In order to meet fxe5 with dxe5. 5 Nf3 Nc6 5 Bg2 Nf6 5 kibitz With the familiar threat of exf4. 5 d3 Bg4 5 c3 kibitz Preventing Nd4. Again, black will soon unblock his bishop with Qd7, and decide where he wants to castle. 12 back 9 kibitz As you may have already figured out, most of white's other moves in this position drop material without much compensation to exf4. 15 kibitz Now you can face the King's Gambit with confidence and no fear of getting a completely passive position or starting a hack and slash fight out of the opening! 15 kibitz Not only is this opening sound for black, but the moves Qh4+ and Qe7 and the positions that result also have good shock value against many people who are accustomed to 2...exf4. 15 pychess-1.0.0/learn/lectures/lec7.txt0000644000175000017500000002474513365545272016610 0ustar varunvarunk Endgames with a rook against pawns are quite common. They usually arise when one side has promoted a pawn in a rook ending. Since support from both the king and rook is usually needed to promote a pawn, these pieces are left far from the opponent's pawns, making them difficult or even impossible to stop. 25 k These endings are often misplayed because one or both players don't know the important strategies used by the side with the rook to round up the pawns. 15 bsetup 1 bsetup fen 3r4/8/1PK2p2/5k2/8/8/8/1R6 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Alekhine 1 bname Bogolyubov 1 k This position is a famous and good example of how a rook vs pawn endgame can come about and how even some of the best can go wrong in a simple endgame. 15 f5g4 b6b7 f6f5 b7b8=Q d8b8 b1b8 k White went on to win this endgame, but earlier, black could have drawn. You probably didn't spot the draw, but we'll return to this position later, and by then you may be able to find the correct move. 18 bsetup 1 bsetup fen 8/K7/8/8/3R4/4pk2/8/8 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname LectureBot 1 bname LectureBot 1 k We will begin by examining the few cases where black(the side with the pawn unless noted) has a chance to win. Black can only win if he is able to prevent white from controlling the queening square and any square in front of the pawn. 20 k Black can do just that in this position. 5 e2 k The poor white rook is on an awful square. It can't get behind the pawn or control the queening square. All white can do is check. 10 d4d3 k Black must be very careful where he moves his king. Moving to the g-file allows black to get behind the pawn. 10 f3g2 d3e3 back 2 k Moving to the 2nd rank allows a pin. 5 f3f2 d3d2 back 2 k And Ke4 allows white to gain control of the e-file. 5 f3e4 d3d8 k White will play Re8 next, which even wins for white if black promotes now. 10 back 2 k Black must play Kf4! keeping control of all the rook's useful squares. 7 f3f4 7 k All white can do is keep checking. 5 d3d4 f4f5 d4d5 k Now black can escape the checks and still control all of the rook's useful squares. 8 f5e6 k Now Rd8 is not a problem: d5d8 e6e7 k And the pawn will queen. bsetup 1 bsetup fen 8/8/7K/8/6R1/4k3/5p2/8 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 k However, there is sometimes a defense even if the rook is badly placed. 7 g4g3 e3e4 g3g4 e4e5 g4g5 e5e6 g5g6 e6f7 k Now white has a clever defense. This defense also works if black's king is on f8. 8 g6g5 f2f1=Q g5f5 f1f5 k Stalemate! 6 bsetup 1 bsetup fen 8/8/1KP5/3r4/8/8/8/k7 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 k In this famous study by Saavedra, black has the same stalemate resource, but white has an amazing way to win. The first several moves should be obvious now. 15 c6c7 d5d6 b6b5 d6d5 b5b4 d5d4 b4b3 d4d3 b3c2 d3d4 k Setting up the stalemate,but white still has a win here. Can you find it? Take 30 seconds. 30 c7c8=R k Mate is threatened, so black must cover the a-file with his rook. 10 d4a4 c2b3 k White again threatens mate with Rc1 and is also attacking black's rook! 10 bsetup 1 bsetup fen KR6/8/5k2/8/6p1/8/8/8 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 k The rest of this lecture focuses on positions where white has winning attempts. There are two ways white can win the pawn. The first is to attack a pawn far from its king, winning it, and the other is to attack the pawn with both the king and the rook at the same time. 25 k There is only one way to force the king and pawn to become separated when they aren't already separated: Cut off the black king on one of its first 3 ranks. 15 b8b5 k Now if black advances his pawn, it can be shown to have wandered too far from its king. 10 g4g3 b5b3 g3g2 b3g3 k Winning the pawn and the game. 5 back 4 k If black doesn't advance his pawn, white can use the other method of winning: attacking the pawn with both his king and rook. White has all the time in the world to simply move his king near the pawn. 20 f6g6 a8a7 g6f6 a7a6 f6g6 a6a5 g6f6 a5a4 f6g6 a4a3 k Moving the king around the edge of the board like this probably isn't the fastest way to win, but it demonstrates an important endgame principle: if your opponent can't do anything, take your time and win safely! 20 k By moving the king around the edge of the board like this, white is not interfering with the rook's cutting off of the black king and is not blocking the squares which the rook attacks the pawn on if the pawn advances. 20 k White will eventually move his king near the pawn, winning it. 5 bsetup 1 bsetup fen 7K/R7/8/3kp3/8/8/8/8 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 k This type of situation is the most common. White and black are in a race. White is attempting to attack the pawn with his king and rook before black can promote it. 15 k Generally, it only takes one move to attack the pawn with the rook, so the position of the white king is very important. White has an important advantage in all of these races: He can move his king twice as quickly as black is moving forward. 20 k This is so because we have already seen that black needs to keep his king and pawn close to each other. White can move his king twice while black moves his king once and pawn once. 15 k This position is an easy win for white if you know that you must quickly improve your king position. 10 h8g7 e5e4 g7f6 d5d4 f6f5 k Notice how white's king is using the side of the pawn that black's king is not covering. 10 e4e3 f5f4 e3e2 k Now white can put his rook in position to stop and attack the pawn. 7 a7e7 d4d3 f4f3 k The pawn is lost. bsetup 1 bsetup fen 7K/R7/4k3/4p3/8/8/8/8 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 k If black moved 1...Kd5?? here, white would win as we have just seen. However, if black knows that white's king must usually approach the pawn on the opposite side as black's, he will find this move. 20 e6f5 k It will take white a long time to bring his king to the d-file and near the pawn. In fact, white doesn't have enough time to win: 10 h8g7 e5e4 k Keeping the white king away from the pawn is the only way to draw. 6 g7f7 e4e3 k The black king is too far advanced to win by cutting it off. 5 a7a4 e3e2 a4a1 f5e4 a1e1 e4e3 6 back 8 k If white waits for black to move his king by improving his rook's position, he falls a tempo short with his own king. 10 a7e7 f5f4 g7f6 e4e3 k Again keeping the king out. f6e6 e3e2 e6d5 f4f3 d5d4 f3f2 6 bsetup 1 bsetup fen 8/4K3/8/3pk3/3R4/8/8/8 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 k Sometimes white must take the opposition in order to get on the correct side of the pawn with his king. That is the case in the study by Fine. 15 k White wants to put his rook on d1 to maintain its pressure on the pawn while also delaying a loss of tempo from the king attacking the rook as long as possible. 15 k However, the immediate Rd1 is incorrect. d4d1 d5d4 e7d7 e5d5 k Black has the opposition and white is unable to get to the right side of the pawn without worsening his rook's position. 10 back 4 k The correct plan is to lose a tempo, an awful idea in most other rook vs pawn endgames. Here it leads to white gaining the opposition, though. 15 d4d2 d5d4 d2d1 e5d5 e7d7 k The same position has arisen, but it is black to move! White will simply move his king to the opposite side of the pawn that black's king goes to. 15 bsetup 1 bsetup fen 3r4/8/1PK2p2/5k2/8/8/8/1R6 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Alekhine 1 bname Bogolyubov k Let's return to this game now. Black played Kg4?? here and lost. See if you can find the right move. 28 f5e4 k Excellent! Now when white promotes his pawn, he won't be able to win since black's king is keeping white's king away from the pawn. 12 bsetup 1 bsetup fen 2R5/8/8/8/2K3p1/6k1/8/8 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname LectureBot 1 bname LectureBot 1 k White should look for every chance he can get to gain a tempo, especially in a close race like this one. 10 g3f2 k It would appear that black has a draw here, but white to play can gain one decisive tempo. 10 c8f8 k Now if black returns to the g-file, he blocks his pawn, giving white enough time to move his king in. 10 f2e2 f8g8 k Now black is forced to put his king on f3 to defend the pawn as opposed to f2, where it was when black played 1...Kf2. This one tempo turns out to be decisive. 15 e2f3 c4d3 g4g3 g8f8 f3g2 d3e2 g2h2 f8g8 k White will move his king in next and either mate or win the pawn. 10 bsetup 1 bsetup fen 8/8/8/8/3K4/7R/3pk3/8 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 k Sometimes underpromotion can save black. h3h2 e2e1 d4e3 k White is threatening the pawn and also mate. However, black can save himself. 8 d2d1=N k Black can draw here if he keeps his knight and king close to each other and remains tactically alert. This position is worth analysing in your spare time to convince yourself that black draws. 16 bsetup 1 bsetup fen 8/8/8/8/8/1K6/p6R/1k6 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 k With a rook pawn, not even underpromotion works. 4 a2a1=N b3c3 k Black is in zugzwang. If the knight moves, it is lost, and if the king moves, it's mate in one. 18 bsetup 1 bsetup fen 8/8/8/8/8/1K6/1p4R1/1k6 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done k Another defense that black sometimes has with a rook or knight pawn is stalemate. 8 b1a1 k Rxb2 is stalemate, and otherwise the pawn promotes. 8 bsetup 1 bsetup fen 8/1R6/8/8/8/8/p2K4/k7 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 k Black is stalemated here. Look at this position for a moment and convince yourself that after white moves the rook(lifting the stalemate), he can't make progress after 1...Kb1. 27 k You have now seen examples of all of the common motifs that occur in the rook vs pawn endgame. However, there is one more thing you need to know about this type of endgame. 15 k In any position where the outcome is not immediately obvious, there is no substitute for calculating until the outcome is clear. Knowing all of the motifs greatly simplifies the calculation, but the calculation still must be done. 20 k Also, many of these motifs also apply in positions where the rook is fighting against more than one pawn. Watch for opportunites to apply them and also use your knowledge of rook vs pawn to determine when you should, for example, capture a pawn in a rook vs two pawns endgame. 25 pychess-1.0.0/learn/lectures/lec3.txt0000644000175000017500000002220213365545272016566 0ustar varunvarunk Legendary GM Arnold Denker has had a very long and successful chess career. However, his favorite game came very early in this career. In this lecture we will analyse that game. Denker had white against Harold Feit in the 1929 New York Interscholastics. 18 wname Denker 1 bname Feit 1 d4 f5 k Black has chosen the double edged Dutch Defense. f5 leads to asymmetrical positions in which black gains an edge in kingside space and fights for the e4 square. 15 k However, black's king position is temporarily weak due to the open h5-e8 diagonal. Black must play carefully to avoid succumbing to one of the many traps and gambits that attempt to take advantage of this. Also, the move f5 doesn't contribute to the development of black's minor pieces. 25 Nf3 e6 k This move is the beginning of the classical Dutch, although black can still play a stonewall(with d5 soon). Black will try to gain control of the light squares. Watch how black's pieces and pawns work toward this goal. 20 g3 k The bishop is best on the long diagonal because black's d7-e6-f5 pawn chain would limit its activity on a square like d3 or c4. 10 b6 Bg2 Bb7 O-O Nf6 c4 k Both sides are following through with their plans. Notice how all of black's moves have tried to control central light squares. 10 k White plans to attack in the center, with an eventual d5 to attack black's pawn chain while being alert for opportunities to take advantage of black's king and dark square weaknesses. 15 Be7 Nc3 k White has now fully prepared the d5 break. d6 k Black opens the d7 square for developing his queen's knight. He also prepares to meet d5 with e5, which is what happened in the game. 15 d5 e5 k This move avoids the pawn weakness that would have resulted from pawn exchanges. After e5, black's pawn structure is stronger than ever. 15 k However, his plan of controlling the light squares has taken a hit because the d5 square is blocked and the b7 bishop has little scope. Also the e6 square has been weakened. White takes advantage of this immediately. 20 Ng5 k If this knight reaches e6 it will attack black's queen and/or g7 pawn and prevent black from castling. Black can't allow this, but the only way to stop it is to undevelop. 15 Bc8 k Most of white's pieces are developed on good squares, whereas black is uncastled, and none of his queenside pieces are developed. White will now try to open the position to try to take advantage of his well developed pieces. 20 e4 k A very strong move. White's plan is to play f4 next, forcing the center open. e4 also has a strong tactical point based on black's vulnerable a8 rook. The knight can't be kicked out by h6. 15 h6 Ne6 k Black must take this since it is attacking the queen and g7 pawn. 7 Bxe6 dxe6 k White now threatens exf5, attacking the a8 rook and winning a pawn. f4 does not work: 10 f4 gxf4 k Winning a pawn anyway, since after exf4... 5 exf4 e5 k White forks the knight and rook. 6 back 4 k The only other defense to exf5 is for black to play fxe4. 5 fxe4 Nxe4 k Renewing the threat against black's rook with Nxf6+. Black is helpless against this threat, because white has an even more deadly threat. 15 c6 k Saving the rook but allowing the more deadly threat. Nxf6 Bxf6 Qh5 k And black will be mated by Qf7. 8 back 10 k Black instead castles while he still can. 5 O-O f4 k Following through with the plan to open the center. 5 exf4 k Black thinks that several pairs of minor pieces will be traded off here when white recaptures his e and f pawns, which would lessen the problems resulting from being behind in development. 15 Bxf4 fxe4 Ncxe4 Nxe4 k However, tactics favor the player with the better position, and white begins a series of crushing tactical moves taking advantage of white's active pieces to attack the black king. First let's look at a mistake white could have made here. 20 Nxe4 k After this, black has fully achieved his goals of trading off some pieces and removing white's pieces from the kingside. Black may be able to salvage this position. 15 back 1 k Instead, white found a brilliant sacrifice. Bxe4 k Black has no choice but to accept the sacrifice by Bxg5(winning the knight). All the other alternates are overwhelmed by white's mass of pieces on the kingside. Such as: 15 g6 Nxh7 Kxh7 Qh5 Kg8 Qxg6 Kh8 Qh7 10 back 8 h6 Qh5 k Intending an eventual Qh7+, driving black's king out or even mating if white can cover the f7 square. For example: 10 hxg5 Bh7 Kh8 Bg6 Kg8 Qh7 k A common mating pattern. 6 back 6 Bxg5 Bxg5 Qxg5 Rxf8 Kxf8 Rf1 k Now Kg8 leads to a variation on the back rank mate. 5 Kg8 Qe8 5 back 2 k And Ke7 is also mated: Ke7 Qf7 Kd8 Qf8 Kd7 Rf7 Qe7 Rxe7 6 back 14 Bf5 k Trying to cover the weak light squares. 5 Ne6 Bxe6 dxe6 k However it is white who gains control of the light squares and also black's only escape for his king(f7). 10 k White is also attacking the rook on a8. If he tries to save the rook, he will be slaughtered by Qg6: 10 c6 Qg6 k And there is no good way to stop the threatened Qh7. 5 back 8 k So, black must accept the sacrifice, as it is the only way to relieve some of the pressure against the black king. 10 Bxg5 Qh5 k White presses forward on the kingside, threatening mate beginning with Bxh7+ and Bxg5, regaining the material and continuing to threaten the black king. 15 k Black has several defensive attempts. h6 may look good at first glance, but that move merely transposes to the easy win for white that we just saw after black declined the knight sacrifice. Let's look at Bh6, defending the bishop and the h7 square. 20 Bh6 k White now wins a pawn, and, more importantly, destroys the pawn protection of black's king. 10 Bxh6 gxh6 Qxh6 k White is threatening mate with Qxh7, and attempts to defend h7 with the queen are met with the simple decoying move Rf8+. For example: 15 Rxf1 Rxf1 Qe7 Rf8 Qxf8 Qxh7 8 back 10 k Another defensive try is g6. g6 k This move is more difficult to meet than it appears, but it loses nonetheless. 10 Bxg6 k This natural sacrifice cannot be accepted. hxg6 Qxg6 Kh8 Bxg5 k Black will be crushed by Bf6+. 8 back 4 h6 k After this, it is difficult to crack black's defense, but there is a way. 10 Bf7 k This bishop can't be taken. Rxf7 Qxf7 Kxf7 Bxg5 Kg6 Bxd8 k White is ahead an exchange and black's pieces still are not developed. 10 back 6 k So black must move his king. If he does not move it to h8, white will force it to h8 anyway by playing Qg6+. Regardless of how the king reaches h8, white's play is the same. 15 Kh8 h4 k This is the point of forcing the king to h8. If the bishop is removed from the protection of h6, white will play Qxh6#. It costs black heavy material to stop this threat, thus white is winning. 15 back 6 k So, g6, h6, and Bh6 all fail. The only other reasonable defense is Rxf4, giving the king an escape square(f8) and removing the threat on the g5 bishop. 15 Rxf4 k White now drives the black king out in to the open. 5 Qxh7 k After Kf8, black will lose his queen or be mated. Kf8 Qh8 k He is mated after Ke7... Ke7 Qxg7 Ke8 Bg6 Rf7 Qxf7 10 back 6 k and loses his queen after Kf7. Kf7 Rxf4 k If Bxf4 then white takes the free queen. Otherwise black is mated as before. 10 back 4 k Black must play Kf7. However the king is further driven out now. 6 Kf7 Bg6 k Ke7 and Kf8 lead to the same devastation we just saw, so Kf6 is forced. 10 Kf6 k Very often a wandering king cannot be mated by a series of checks and forced moves. Usually it is necessary to take away the king's escape squares first. This is called forming a mating net. Here white finds a brilliant way to create a mating net. 20 Rxf4 Bxf4 k White can also win with Rf1 here, but Denker chose to try to hunt the black king instead. 10 Qh4 k If black does not play Bg5, he will lose his queen. 5 Bg5 k What should white do now? After Rf1+, black can simply take the hanging bishop on g6. 10 k But white does not need a violent move. He simply creates a mating net. 10 Qe4 k Black's king cannot move, so Rf1+ is a deadly threat. 5 Be3 k Black tries to escape the net. Bad would be Qxe3: Qxe3 Kxg6 k White is down two pieces and doesn't have much of an attack left. 10 back 2 Kh1 k Black still must do something about the threatened Rf1+, forcing the black king closer to its doom. 10 Bh3 Rf1 k He plays it anyway! This sacrifice cannot be accepted: 6 Bxf1 Qf5 Ke7 Qf7 6 back 4 k Black has no choice but to move his king forward again. 5 Kg5 k Hmm... it doesn't appear that white has any brutal checks and captures or mating combinations here. Surely there must be a way to take advantage of black's awful king position. 15 k Once again the answer lies in the construction of a mating net. 7 Bh7 k This time there is no way out. Black is unable to stop white's two mate threats(Qg6# and Qh4#), so he resigned. 10 k Some points to remember from this game: 6 k The Dutch Defense is very double edged, gaining control of key squares at the cost of king safety and a small developmental lag. 12 k Try to develop your pieces so that they have as much scope as possible and work toward a common goal. 10 k Watch for tactics when your pieces are much more active than your opponents, especially when you have pieces swarming near the enemy king. 15 k Once you have forced your opponents king out in to the open, mate it with a forced series of moves if possible, but usually you will need to trap it in a mating net first. 15 pychess-1.0.0/learn/lectures/lec25.txt0000644000175000017500000005350513365545272016664 0ustar varunvarunkibitz Pawn endings? What could be simpler? Only a few men on the board. Easy to calculate. It's all about pushing the pawn, making a queen and mating. Isn't that right? 15 kibitz A beginner would be forgiven for thinking this. The actual answer is although many pawn endings are basic and can be won without much thought, there are a whole variety of cases where one wrong move can turn a won game into a draw, or even worse a loss. 20 kibitz What's more, any endgame or middlegame with both pawns and pieces may liquidate in a pawn ending. Because of this, it is vital to know if the ending gives the desired result, before pieces are traded. 20 kibitz An extra pawn sometimes leads to win, but not always. It depends on other factors of the position. The idea of this lecture is to give some guidance on how to win / draw simple pawn endings. 15 kibitz We will take some imaginary games, although I have seen and played such games many times. 2 bsetup 1 bsetup fen 8/3k4/8/8/3KP3/8/8/8 1 bsetup tomove white 1 bsetup standard 1 bsetup wcastle none 1 bsetup bcastle none 1 bsetup done 1 kibitz Here white is a pawn up. He can smell victory, all he needs to do is push the pawn to the end and get a queen. Overconfident white misplays e5. 15 e5 kibitz Ok, it looks like white is following the right plan. He pushes the pawn one square closer to queendom. But, unfortunately the black king is too close and can easily block the pawn's path. White should have played Kd5! (as we will see soon). Black now plays Ke6! The game will now be drawn. 25 Ke6 kibitz The pawn's path is firmly blocked. White has no way of breaking this blockade. 10 Ke4 Ke7 kibitz This is a critical idea. The king stays blocking the pawn and gets ready to keep out the white king. 10 kibitz Other moves don't lose, but if you move the position one rank up (White King e5, Pawn e6 and Black King e7) anything other than Ke8 loses. 15 Kd5 Kd7 kibitz Black blocks out the entry of the king. Any other move loses as white gets in front of his pawn and assures a safe road for it. 15 e6 kibitz Retreating the king won't help things either. 5 Ke7 Ke5 kibitz Ok, here's the the critical idea. If Kd8 white plays Kd6 and wins, same with Kf8, Kf6. Black therefore continues to block the pawn and waits for the white king to advance. 15 Ke8 kibitz The only move to draw. A beginner moving without thinking might miss this important move. 10 Kd6 Kd8 kibitz Black can now keep out the king, there is nothing else but to push the pawn again. 10 e7 Ke8 kibitz And now white must play Ke6 which is stalemate, or give up the pawn. 30 kibitz To the uninitiated this may seem like a strange dance. We will now look at the basics behind this, why the king was dancing back and forth. 15 kibitz Winning pawn endings is all about square control. If you control the key squares and hang on to them you are guaranteed a win. One false step and it's half a point as in poor white's case. Hopefully with a little tutoring you won't be a good defenders next victim. You won't win tournaments by drawing in winning positions. 25 kibitz The final position is where to begin. This type of position is known as a zugzwang. This a German word meaning that it is a disadvantage to have the move. 15 kibitz White to move is a draw because the choice is to give up the pawn, or stalemate with the king. 10 kibitz Now what if it was black's turn? Black can move to the side of the pawn by Kf7 which is his only move. 10 bsetup 1 bsetup tomove black 1 bsetup done 1 Kf7 kibitz White now can control the queening square with Kd7 and e8 = Q is assured. 10 Kd7 kibitz The important feature is that if the king is on the seventh rank, on an adjacent file to the pawn, and the pawn is on the fifth, sixth or seventh with white to move the pawn can be shepherded home. 20 kibitz With black to move as long as the pawn cannot be captured, queening is also ensured. 10 kibitz If the king is on the same file as the pawn, it depends on the situation. 10 kibitz For example, if the pawn is not on a rook (a or h) file, then winning is also assured. 10 kibitz However, if the pawn is a rook pawn, and the king is on the same file, the king may become trapped by the opponent's king, as we will see later (since it can't escape out the other side in this case). 20 kibitz Let's remove the pawn for a second and look at the two kings alone. Please disregard the "no mating material" messages, as FICS does not expect a position with only two kings to be played out :) 17 bsetup 1 bsetup fen 8/8/4k3/8/4K3/8/8/8 1 bsetup tomove white 1 bsetup done 1 kibitz Imagine white has to get past the center line, ie. by the king reaching the 5th rank. If it is white to move he can try to dodge the black king by playing either Kf4 or Kd4 15 Kd4 kibitz However the black king can now move to stop him making any progress. 10 Kd6 kibitz Now suppose it's black's turn. 5 back 2 1 bsetup 1 bsetup tomove black 1 bsetup done kibitz Black would love to pass, but he must move. Whichever way he goes, white can 'outflank' him by going the opposite way. 10 Kd6 Kf5 kibitz Did you think to yourself that this is another example of zugzwang? If you did you are right. In fact this example is known as opposition. 15 kibitz Opposition is where the two kings stand one square apart facing each other as in the initial position. 10 kibitz Now suppose white wants to make a 'touchdown' on the d8 or f8 square. Black could defend if white tries to run to the right as far up the board as possible and then try to get back to the left. The correct procedure is as follows: 20 Ke7 kibitz Guarding both squares. 5 kibitz Black cuts off white by blocking on the next rank up. So quick quiz? What does white play? Your clock is ticking, instant reply needed... 15 Ke5 kibitz That's right, he goes for the opposition again with Ke5. If it worked once it will work again. Poor black must yet again give up ground... 15 Kd7 Kf6 Ke8 kibitz Same again Ke6 Kd8 Kf7 Kd7 Kf8 kibitz And touchdown!! The white team wins!! 10 kibitz The kings don't necessarily have to be one rank apart. (vertical) 5 bsetup 1 bsetup fen 8/3k1K2/8/8/8/8/8/8 1 bsetup done kibitz They can be separated by file (horizontal opposition). After all it's a fight for key squares. 11 bsetup 1 bsetup fen 8/3k4/8/5K2/8/8/8/8 1 bsetup done 1 kibitz Diagonal opposition. Here the fight is for the e6 square, and it will become horizontal or vertical opposition next move. 10 kibitz What if they are far away? bsetup 1 bsetup fen 8/3k4/8/8/8/3K4/8/8 1 bsetup tomove white 1 bsetup done 1 kibitz Yes we can see opposition from a distance too. This is called distant opposition. When the kings are separated on a file, rank or diagonal with and odd number of squares betweens they are in opposition. 20 kibitz Here the fight is for the c5, d5 and e5 squares. 5 kibitz If white's goal is to get to those squares.... 5 Kc3 kibitz Black just keeps distant opposition Kc7 kibitz Note: Ke7 is also an opposition, but only when the key square is d5, since after Kc4 Ke6 gains diagonal opposition and keeps white out of d5. Sometimes there is a choice of oppositions and it will then depend on what are the key squares, and the pawn formation. 25 kibitz For example there may be a position a few moves later where opposition cannot be maintained by one side, because of the pawns. This must be taken into consideration when there is a choice of plans and not when it's too late! 20 kibitz White has nothing better than to approach the key squares and black will take up close opposition as in earlier examples. (Moving on the same rank black just moves on the same rank, on the same file). 20 kibitz What if white tries to be sneaky and moves back a rank instead? 10 Kc2 kibitz Black now has a choice. He can keep distant opposition by Kc6, or step back himself into a long distant form (5 squares apart). 10 Kc8 kibitz Again if white moves forward again we transpose to an earlier position, and if white stays on the same rank, so does black. 10 kibitz What about Kc1 though? 5 Kc1 kibitz Black now cannot move back as he's out of board space. He must therefore move forward with Kc7. Anything else allows white an opposition. 15 Kc7 kibitz There are examples where the kings don't have to be on a file, rank or diagonal and yet they will still be in opposition due to it transposing later. 15 bsetup 1 bsetup fen 2k5/8/8/8/K7/8/8/8 1 bsetup done kibitz If we use the two kings to make a rectangle, each king being an opposite corner, if the corners are all the same color (a8-a4-c4-c8), they are in opposition, and it can be maintained as before. 20 kibitz For example, with white to move, any move to the b file will be countered with a black king move to the b file (the square at the center of the rectangle is the key square, that white needs) (b6). 20 kibitz If we pair up squares (known as corresponding squares), we can see that if white goes to b3, black goes to b7 (both white squares so opposition (as all four corners of the rectangle are white)). 20 kibitz similarly white to b4 pairs with b8 5 kibitz And b5 to b7 5 kibitz So our corresponding squares on the b file (to be technical) are b3-b7 b4-b8 b5-b7 10 kibitz On the a file we have a3-c7 (all corners black) and a5-c7 5 kibitz Ok let's formulate a rule. The book 'The Final Countdown' which details a corresponding square theory is a good source to follow this up with (although it is quite complicated and will probably need some knowledge of common study positions). 20 kibitz Let's put the kings on the same file again. 2 bsetup 1 bsetup fen 8/3k4/8/8/8/8/8/3K4 1 bsetup tomove white 1 bsetup done kibitz ok. This theory is called the three file theory. (It can also work with three adjacent ranks, as described in the book). This is where there are three key squares (same rank on three adjacent files). 15 kibitz Let's define our axis as the center of the three ranks of interest. Here white is trying to progress up the d file to the three key squares (say c7, d7 and e7). So the d file is our axis. 15 kibitz Rule 1: When ever the one king is on the axis, the other king must be able to give vertical opposition of some sort, to prevent or make progress. 15 kibitz If the defender has opposition (attacker to move) on the axis, the attacker will not penetrate. If the attacker has the opposition (defender to move) he will penetrate. 15 kibitz Rule 2: When ever the defending king leaves the axis while the attacker is on the axis, or the opposite side of the axis, the attacker should progress on the other side of the axis to the defending king (which is called outflanking). 20 kibitz Let's see this in practice. White is going for c7, d7 or e7. 7 kibitz White tries to proceed up the axis. 5 Kd2 kibitz Rule is black must give opposition while on the axis. 5 Kd8 kibitz Kd6 was just as good. 5 kibitz Now, if white tries to go up the axis, he'll be stopped, eg Kd3 Kd7 Kd4 Kd6 (opposition). 10 kibitz So white tries leaving the axis. 5 Ke3 Ke7 Kd3 kibitz Back to the axis, so black must follow as this is the only way to keep out the white king and maintain opposition. 10 Kd7 Ke4 Ke6 Kd4 Kd6 kibitz Keeping opposition 5 kibitz And there is no way to get to the seventh rank. 10 kibitz Now back to the starting position with black to move 1 bsetup 1 bsetup fen 8/3k4/8/8/8/8/8/3K4 1 bsetup tomove black 1 bsetup done 1 kibitz So if black moves up or down the axis, white will keep opposition and will eventually penetrate as shown in an earlier example. 15 kibitz So black tries a trap Ke7 kibitz If white moves on the axis, black will get opposition next move and draw (Kd2 Kd6! draws). 10 kibitz Ke2 invites Ke6 drawing, since when white returns to the axis, black will have opposition and a draw. 10 kibitz Ke1 doesn't make any progress, since after Kd7 Kd1 is forced, repeating the position (another time and it will be drawn). 10 kibitz So Kc1 or Kc2 are the only moves. Kc1 makes no progress, since Kd7 (one king is now on the axis, so the other must return there with opposition) forces Kd1 repeating. 15 kibitz Therefore Kc2 is the only move to make progress 5 Kc2 kibitz See how easy it is? Kd7 kibitz One king on the axis, other must return. Kd1 doesn't make any progress, Kd2 is not opposition, Kd3 is and does make progress. 13 Kd3 Kc8 Ke4 kibitz Again, defender leaves the axis, so attacker advances on the other side attempting outflanking. 10 Kd8 Kd4 kibitz As before Ke8 Kc5 Kd7 Kd5 Kc7 Ke6 Kd8 Kd6 Kc8 Ke7 kibitz White has the goal of the e7 square 10 kibitz This may seem a little abstract since two kings is drawn, but now we start to look at the situation with pawns on. 10 kibitz Ok, back to the pawns. 1 bsetup 1 bsetup fen 3k4/8/3K4/3P4/8/8/8/8 1 bsetup tomove black 1 bsetup done 1 kibitz Look at this position. It was discussed earlier that if white can get his king to the seventh when the pawn is on the fifth, sixth or seventh of an adjacent file, he can shepherd the pawn home. Does the three file theory apply? You bet it does. 20 kibitz With black to move, black must leave the d file axis (white king on c7, d7 or e7 wins), so white outflanks and wins. 10 Kc8 Ke7 kibitz The pawn can march home. 6 bsetup 1 bsetup fen 3k4/8/3K4/3P4/8/8/8/8 1 bsetup tomove white 1 bsetup done kibitz Here it's white to move. The three ranks theory suggests that without the pawn, white cannot get to e7 because black can maintain opposition. But here we have a pawn. 15 Ke6 Ke8 kibitz White clears a path for the pawn, black has to block the king's entry onto the seventh. 10 d6 kibitz The pawn goes forward and we see the position we discussed earlier. 10 kibitz When the pawn was on the sixth in the earlier example, we said that when the defending king must stay in front of the pawn, until the attacking king reaches the sixth. (So the defender has opposition). 20 kibitz The defender did have opposition, but on playing d6, it's black's turn now, so white has the opposition. 10 Kd8 d7 kibitz Now it's black to move in this critical position. 5 Kc7 Ke7 kibitz The pawn will queen. kibitz Thus a rule can be stated. When the pawn is not a rook pawn, if they pawn is on the fifth, and the king reaches the sixth rank on either the file of the pawn, or an adjacent file, then white will win no matter who to move. 20 kibitz In addition, if the king is on the seventh it will also win as long as the pawn cannot be captured. 10 kibitz Let's shift it down a rank. 1 bsetup 1 bsetup fen 8/3k4/8/3K4/3P4/8/8/8 1 bsetup tomove black 1 bsetup done 1 kibitz Now it depends on who has the move. If it is black to move he will have to give up opposition on the axis, and white's king will penetrate to the seventh. 15 Kc7 Ke6 Kc6 kibitz Black's only hope is to try and win the pawn. Ke7 from white would be careless because Kd5 wins the pawn. 10 d5 kibitz And now white wins because the king is on the sixth when the pawn is on the fifth. 10 Kc7 Ke7 kibitz And the pawn can walk home. 6 bsetup 1 bsetup fen 8/3k4/8/3K4/3P4/8/8/8 1 bsetup tomove white 1 bsetup done 1 kibitz With white to move black can keep the opposition, and force the pawn to advance. 10 Ke5 Ke7 d5 kibitz Remember to win the white king must be on the sixth or seventh. 10 Kd7 kibitz And black just blocks the king's entry and the pawn's advance. 10 d6 Kd8 kibitz Remembering not to go to the e file because opposition is needed after Ke6 from white. 10 Ke6 Ke8 d7 Kd8 kd6 kibitz Stalemate 6 bsetup 1 bsetup fen 8/3k4/8/3K4/8/3P4/8/8 1 bsetup tomove white 1 bsetup done 1 kibitz What about this? The difference is the pawn is moved down one rank. 10 kibitz Black to move and white goes to the sixth, advances the pawn to the fifth and wins as before. 10 kibitz White to move, and white passes the move to black. 5 d4 kibitz And now it's black's move, and white wins as in the last example. 10 kibitz The rule here is when the pawn is on the second, third or fourth ranks, the king must be two ranks in front (4th, 5th, 6th respectively) on either the same or adjacent files. 15 kibitz This is to transfer the move to black when it is white to move. 10 kibitz If it is black to move, white will be able to get two ranks in front using opposition and outflanking as before. 15 kibitz This is why it is wise to get your king into the action rather than pushing pawns too early. If they create a diversion fine, but your king will find it harder to get to the key squares the further away the pawn is. 20 kibitz This can sometimes be a theme in obtaining a draw. Take this position: 6 bsetup 1 bsetup fen 8/3k4/8/4p3/2K5/3P4/8/8 1 bsetup tomove black 1 bsetup done 1 kibitz White threatens Kd5 getting the key squares and Kxe5 winning the pawn. But black throws a spanner in the works. 10 e4 kibitz Now ed is threatened with a draw. If white captures the pawn the key squares move up a rank to the sixth rank and black can stop white getting at those. If d4, Kd6 or Kc6 draws. 16 bsetup 1 bsetup fen 8/3k4/8/4p3/2K5/3P4/8/8 1 bsetup tomove white 1 bsetup done 1 kibitz With white to move, Kd5 occupies the critical squares 5 Kd5 kibitz But now black forces white to capture the pawn. If white captures with the king Ke6 gets opposition and white cannot get to the fifth rank again. 15 kibitz If white captures with the pawn white can win, as after de Ke7, Ke5 gives white the opposition. 10 kibitz Of course d4 is a blunder, due to e3 and it's black who will promote. 10 kibitz The primary special case is the rook's pawn. The enemy king can hide in the corner and cannot be forced out, because pushing the pawn ends in stalemate. 16 bsetup 1 bsetup fen 6k1/8/6KP/8/8/8/8/8 1 bsetup tomove white 1 bsetup done 1 kibitz The key square is g8 as the pawn attacks g7. If black can get there then he can hide in the corner. If the black king was on f8 then h7 would win since black cannot then get to g8 and the white king stops access to g7. But the king is already there. 20 h7 Kh8 kibitz Now white must give up his pawn or play Kh6 stalemate. 6 bsetup 1 bsetup fen 7K/5k2/8/7P/8/8/8/8 1 bsetup tomove black 1 bsetup done 1 kibitz Here white has become trapped, black seals the tomb. 5 Kf8 kibitz If white plays Kh7-h6 black follows with Kf7-f6 and draws. 5 kibitz White has a way of getting out of the corner though. 5 Kh7 Kf7 h6 kibitz Now white has the opposition. Unfortunately although white can get out, black gets in. 10 Kf8 kibitz Anything else allows white to gain the critical g8 square winning. 10 Kg6 Kg8 h7 Kh8 kibitz And a draw as before. kibitz Always beware of ending up with rook pawns, they often draw. 10 kibitz Note even a light squared bishop, or a whole army of them here, is ineffective, as the bishop controls the wrong colored corner. What a difference a dark squared bishop would make! 15 kibitz Right so that's the basics. Let's attempt to confuse you. 5 kibitz What about this one? 1 bsetup 1 bsetup fen 6k1/8/8/8/3P4/8/4K3/8 1 bsetup white 1 bsetup done 1 kibitz Here's a classical example. There's a way to win and a way to draw. You've got 1 minute to work out how to produce a won position with white. 75 kibitz Ok. Let's analyze the position. Notice black's king is two files to the right of white's. If white simply plays up the board, black's king may close this two file gap. Instead of saying I go here he goes there (you'll probably confuse yourself) let's count the moves. 25 kibitz To win, white needs to get to the sixth rank, or ensure opposition on the fifth. Unfortunately, black can get to e6 while white is on e4, and shuts him out. 15 kibitz Note also moving around on the eighth rank until white gets to the fifth and then opposing also works. 10 kibitz The correct strategy is to use the two files to an advantage. 10 Kd3 kibitz The only move. White uses an underpass maneuver. That is he goes behind the pawn. 10 Kf8 Kc4 Ke7 kibitz Note maintenance of the two files. Kc5 kibitz This wins. Note the only way to stop Kc6 getting the pawn's critical square is to play Kd7 and notice the d file is the axis (critical squares c6, d6, e6) 15 kibitz After Kd7 black is on the axis, and white can return to the axis with Kd5 getting opposition, winning one of the critical square c6 or e6, which will allow an advance of the pawn to d5, winning as shown earlier. 30 kibitz Ok a summary of what we have learned. 5 kibitz Pawn endings aren't as simple as they seem. They need care. 5 kibitz Two kings an odd number of squares apart horizontally, vertically or diagonally are said to be in opposition. Also when they form a rectangle (opposite corners) and all the corners are the same color, they are in opposition too. 20 kibitz The three file theory states the following: 5 kibitz When three key squares lie on adjacent files, the center file is said to be the axis, and the following two rules apply. 10 kibitz Rule 1: When ever the one king is on the axis, the other king must be able to give vertical opposition of some sort, to prevent or make progress. 15 kibitz If the defender has opposition on the axis, the attacker will not penetrate. If the attacker has the opposition he will penetrate. 15 kibitz Rule 2: When ever the defending king leaves the axis while the attacker is on the axis, or the opposite side of the axis, the attacker should progress on the other side of the axis to the defending king (which is called outflanking). 20 kibitz When we have a K + P vs K situation, usually white can win if he's on a square two ranks ahead of the pawn, on either the axis or adjacent files. If the pawn in on the fifth rank, key squares also exist on the sixth rank. 20 kibitz The winning procedure is to either outflank and get to the sixth or seventh and shepherd the pawn home, or to transfer the move to the opponent if he has opposition and then proceed. 15 kibitz Once the king is on the sixth and the pawn is on the fifth there is no need to transfer the move. Either outflanking or pushing the pawn through will win, depending on who has the move. 15 kibitz Rook pawns are an exception. Both sides try to control g8 or g7 (or b8 and b7 if the pawn is on the other side). If the attacker controls those squares the pawn will promote, if the defender has them a draw will result. 20 kibitz K + rook P + B vs K, where the bishop is not of the color of the queening square draws if the defending king gets in front of the pawn and can't be dislodged or if it reaches the corner. 15 pychess-1.0.0/learn/lectures/lec4.txt0000644000175000017500000000705513365545272016600 0ustar varunvarunk Although the Caro-Kann is played fairly often at the 1700-1300 level there are very few players that have a firm grasp on the theory. Many of the others just "move" the next piece no matter what the response. White can get away with doing just that for a few moves in the 2.Nc3 Caro-Kann. 25 k The Caro-Kann I believe should be responded to by developing the knights in order to control the center. Such as: 10 e4 c6 Nc3 d5 Nf3 k This is the basic setup in which white has some very strong possibilities. 10 k If black then captures: 5 dxe4 Nxe4 k Most moves here for black transpose back in to lines that can be reached after 2.d4. However, Bf5 does not. 10 Bf5 k This line for black can lead to some terrible problems. Play would continue as: Ng3 Bg6 h4 k Threatening to trap the bishop with h5. 7 h6 Ne5 k Threatening to take the Bishop and weaken the King side pawn structure. 10 k Therefore black responds with: 5 Bh7 Qh5 k Which threatens mate and nearly forces g6. g6 k This move, though, blocks in Black's light colored bishop and renders it almost totally useless at the moment. 10 Bc4 k If gxQh5 then Bf7 and mate. Therefore black is forced to make another uncomfortable move and play: 10 e6 k White is now forced to retreat the Queen to e2. The Queen could also return to f3, but I find this move not as sound for it blocks the Knight's return to its most promising square. 15 k In this position material is even, but white has an outstanding lead in development and should have great chances for a winning game. 15 back 13 1 k Now lets say that Black decides to push his pawns to force some action: 10 d4 Ne2 c5 c3 dxc3 bxc3 k This is now setting up a total take over by white of the middle when he plays the powerful move d4. 10 k White will have a good lead in development and a strangle hold on the center. 10 back 2 1 k A big mistake would be for Black to keep pushing these pawns such as: 10 d3 Ng3 c4 k In this position White can play the slick move Qa4+ and grab both pawns. 10 Qa4+ Bd7 Qxc4 Nc6 Qxd3 k White having good development and being up two pawns should have a winning game. 10 back 12 1 dxe4 Nxe4 k Lets say that after Black plays Nd7 which is a fairly common response hoping to follow up with Ngf6. Nd7 Qe2 Ngf6 Nd6 k This is a wonderful opening that would make your opponent cry. However black can make white's queen look silly by playing Ndf6. 10 back 2 Ndf6 k Threatening to gain a tempo on the queen with Nxe4 then Nf6. 7 back 5 1 Nf6 k Lets now take a look at the Nf6 response which can led to some very interesting play: e5 Ne4 Qe2 k Which threatens to win a pawn. 6 Nxc3 dxc3 k Which opens up the Bishop for quick development. 5 k White can complete his development quickly here and can also create threats against the black king if black his not careful. For example: 15 b6 Nd4 c5 e6 k Now if Black takes this Knight they are in for a nasty surprise: 5 cxd4 Qb5+ Nd7 exf7+ Kxf7 Qxd5+ k This forks the Rook and King and gives White a 3 point lead in material which should lead to an easy win. 10 revert e4 c6 Nc3 d5 Nf3 k Black does have one other good alternative here that does not transpose in to the 2.d4 Caro-Kann. Bg4 k Black intends to trade off this bishop and then play all of his center pawns to light squares. Black will also try to prevent the center from opening, which would favor white's bishops. 18 k Here is a sample of the play that results from this line. 5 h3 Bxf3 Qxf3 e6 8 d3 Nf6 Be2 Nbd7 8 Qg3 g6 O-O Bg7 8 k Hopefully, this will give you some ideas on how to play the 2.Nc3 Caro-Kann and led you to some easy victories against opponents who aren't prepared for it. pychess-1.0.0/learn/lectures/lec19.txt0000644000175000017500000001730013365545272016660 0ustar varunvarunkibitz Welcome to the Closed Sicilian opening survey, part 1. 5 kibitz During the last 50 years, the Sicilian defense has been one of the most common openings in the top level. Maybe the most played one of all times! 2 e4 c5 5 kibitz Before starting examining the opening, let's talk a bit about why playing Closed Sicilian at all. Please do not fall asleep - this is going to be a bit long but it's very important :) I promise to show many chess moves later! :-) 5 kibitz Today, a grandmaster which plays a Sicilian game must know, memorize and have experience with many variations. This refers to the "normal" Sicilian lines we all know or heard of, like the Dragon, Schweningen, Najdorf, Kan systems. 10 kibitz However, a player which prepares his opening repertoire usually chooses lines which do not require a lot of memorizing. Rather, opening lines which guarantee a stable position, yet alive and full of tactics, are preferred. 10 kibitz Explaining more, a modern chess player would like to control the game, leading it to his favorite and known opening lines - especially if he has the white pieces, where he has more choice! 5 kibitz In this lecture (and possibly its successors) I will present to you my favorite line against the Sicilian defense - the Closed Sicilian, characterized by the following move: 2 Nc3 5 kibitz This move is played by many inexperienced players, not knowing of the usual opening strategy in the Sicilian. However, 2.Nc3 has a deep strategical meaning. 1 back 3 kibitz In all open Sicilian lines, white exchanges his d-pawn with black's c-pawn. e.g.: 3 Nf3 d6 d4 cxd4 Nxd4 kibitz In this position, white has hopes for a strong center holding: his d4 knight is already developed and centralized, and he will occupy the d5 square (probably with a knight too), later in the game. 7 kibitz An attempt of black to prevent this control (by e6) will be followed by white pressing the weak d6 pawn, using his queen and rooks along the d-file. 7 kibitz Black, however, will try to benefit from the half-open c-file, which is a "long-term weapon". It is well known that if white does not use his centralized pieces for launching a fast mating attack, black will have a favorable ending. 10 kibitz Always remember, when playing the open Sicilian as white, that on each game in which white has won in a crushing attacking manner after 25-30 moves, there exists another Sicilian game in which black won in the ending, using his pressure along the c-file. 10 kibitz To be frank, I love the open Sicilian and I play it myself, from time to time. A series of lectures can be given on many tactical ideas in the open Sicilian. 5 kibitz However, when I have to play and win as white against Sicilian, I prefer the closed variation. White can certainly get an advantage in many lines, without getting worried about hard-to-find middlegame tactics. 10 kibitz Ok, almost end of the boring talks :) Let's see now the main opening lines in Closed Sicilian (called also CS): 5 back 5 Nc3 Nc6 kibitz Ok, what happened so far? Black saw that white is NOT going to exchange the c5 pawn for his d4. So c-file remains closed! 5 kibitz And black cannot utilize it in the foreseeable future... one point in favor of CS already :) 5 kibitz Can you spot another problem the c5 pawn gives for black's development? Take 30 seconds to think... 30 kibitz So... 1 kibitz Black's dark square bishop is blocked too, hence in most CS lines, black will prefer to develop it to g7 using the fianchetto, rather than play e6 and Be7, leaving this bishop quite poor and closed there... 3 g3 g6 Bg2 Bg7 d3 kibitz Ok, so we more or less understand the starting position of the CS. You may have wondered why white played g3 and Bg2 as well. The reason is similar: 5 kibitz Since white wants to leave the center closed, he plays d3 instead of d4, and to make his f1 bishop useful, he occupies the long h1-a8 diagonal. This g2 bishop can really fire like a Dragon... :-) 10 kibitz White's play depends now on how black continues here. There are 2 main lines in this position: 5. .. e6 and 5. .. d6. Most of the other lines later transpose to these two lines. 5 kibitz In this lecture we will talk about the 5. .. e6 line. 1 e6 2 kibitz White's best move in this position is the sharp 6.Be3. 2 Be3 4 kibitz Most of the people reject the CS as boring and giving no advantage because of the well known and analyzed 6.f4 lines (after 5. .. d6 mostly). Black usually gets a comfortable position. E.g.: 10 back f4 Nge7 Nf3 o-o o-o 5 kibitz Black controls the key square f5 with many pieces and does not let white launch a pawn storm immediately with f5. White will have to play first g4, and black can then strike back in the center with d5! 5 back 5 Be3 kibitz However, the Be3 are much sharper and risky for BLACK. That's the neat point about this opening. 5 kibitz White threatens the c5 pawn. Let's see to what a WRONG move of black can lead to. 5 Nd4 2 kibitz White replies with the stunning 3 Nce2 2 kibitz ! This can lead to a pawn sacrifice. Suppose black takes: 3 Nxe2 Nxe2 Bxb2 3 kibitz It seems black just won a pawn... 3 Rb1 2 kibitz Black can get really greedy now and take another pawn, protecting the bishop as well: 2 Qa5+ Bd2 2 kibitz ! you will see why the ! in a moment. 2 Qxa2 4 kibitz White is much more developed, black has eaten 2 pawns in the opening - standard strategical error. How can white utilize it with one winning move? take 60 seconds to think about it... 60 b1b2 3 kibitz This motif is well known: enticement. 3 Qxb2 Bc3 3 kibitz and white wins the h8 rook. Gives him a figure for the 2 pawns and an excellent position. +-. 10 Qa3 Bxh8 10 back 8 2 kibitz Black can chicken out and try to retreat the bishop AND keep the pawn. Here's a try: 4 Ba3 Rb3 5 kibitz I've analyzed this position with a friend of mine who is a very strong chess player (at least FM strength). We think white has advantage in this position - much better development although a pawn down. 10 Bb4+ c3 Ba5 o-o 10 back 4 1 kibitz Or: 2 Qa5+ Bd2 Qa6 o-o 5 back 4 2 kibitz Black should rather stay on the long black diagonal, instead of Ba3: 2 back 2 2 Bg7 3 kibitz The main line here is actually 10.Bxc5, again with large white plus (I just though it was worth to mention the variations where black refuses to return the pawn). 5 Bxc5 10 back 4 2 kibitz Instead of taking the poisoned b2 pawn, black sometimes plays 2 d6 c3 4 kibitz And now white has a standard formation of this opening: c3, d4, e4 and the g2 bishop. Playing d4 next will guarantee him good starting point of the middle game - strong pawn center and space for his pieces. 8 Ne7 o-o o-o d4 5 back 8 2 kibitz Some people prefer 7. .. d6 here, which is answered by the same plan: 2 d6 2 c3 2 kibitz Gaining an important tempo. 2 Nc6 3 kibitz And now d4 or f4, Nf3 and o-o. 8 kibitz As you see, white has a lot of development ideas. He's not stuck without a plan. Almost any move you do is a good one! :-) 10 back 5 3 kibitz Certainly, 6. .. Nd4? is a mistake. Much better is 6. .. d6: 5 d6 4 kibitz Which we will cover next time. Other moves like 6. .. b6? have failed even for some great Grandmasters like Benko. 6. .. Qa5 is a very interesting line, and 6. .. Nge7... 2 back 2 Nge7 2 kibitz Which I encountered in many 1 0 games... ( :-) ) is answered by... 2 Bxc5 2 kibitz No kidding, I've won 100 lightning games with this :-) Don't forget to look if the c5 pawn is protected. Note here that the rather nasty move: 5 Qa5 2 kibitz ...Threatening to win the pawn back:... 2 Be3 Bxc3+ bxc3 Qxc3 Bd2 5 kibitz ... is answered by the strong move (take 20 seconds before I show it): 2 back 5 20 d4 2 kibitz And now white is a safe pawn up (8... b6 9. Bxe7 Nxe7 10. Ne2 defends the d-pawn) 25 kibitz Let's stop here for now. I will show many more exciting lines in the 5. .. e6 and 5. .. d6 next time. I hope you enjoyed. :-) pychess-1.0.0/learn/lectures/lec23.txt0000644000175000017500000001657513365545272016670 0ustar varunvarunk Welcome to Knackie's Tactics Training. The examples are based on material of a Hungarian Chess School. They have been revised using Fritz and a bit of Knackie's brain. 15 k The 8th Lesson features the theme 'Opening / Closing Diagonals'. 12 k After having seen Rooks in Action in Lesson 7 'Opening / Closing Files', it's now time for the Bishops. 15 k Let's first look at a few 'Opening Diagonals' examples: 10 k Example 1: Gereben vs Troianescu, Budapest 1952 3 bsetup 1 bsetup fen r1b1rqk1/5p2/5Pp1/ppp1B1Q1/8/1P1P3R/P5PP/5RK1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Gereben 1 bname Troianescu 1 k If there were no pawn on f6, things would be easy: Rh8 mate. 13 k So how did white get rid of his own pawn f6? 20 g5g6 f7g6 f6f7 k Opening the diagonal ... 8 f8f7 h3h8 k mate 8 k Example 2: Morales vs Lehman, Lipcse 1960 3 bsetup 1 bsetup fen r4r1k/2p3qp/3p4/p1nPp1P1/1pP1Bp1P/1P3Pn1/P4KNR/1Q2R3 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Morales 1 bname Lehman 1 k In this example, it is hard to believe that black could make use of a diagonal, but it happened. 19 k You get 40 seconds ... 8 40 c7c6 k What is this?! 7 d5c6 k Now you should see which diagonal black can use. 15 g7a7 k The white king is fixed on the diagonal g1-a7, so he can't escape the following discovered attack: 19 g2f4 c5e4 k White resigned in view of a huge loss of material. 12 k Example 3: Mihaljcsisin vs Benko, Sarajevo 1970 3 bsetup 1 bsetup fen r2r2k1/1bq2pb1/6pp/2P1p3/1nBpN2N/6PP/2Q2P2/3RR1K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Mihaljcsisin 1 bname Benko 1 k White has a nice Bc4 and a couple of threatening knights, but his Queen is under attack. 17 k How did white react? 50 seconds ... 10 50 e4f6 k Opening the b1-h7 diagonal for the Queen. 10 k On BxN there would follow: 8 g7f6 c2g6 k The pawn f7 is pinned. 8 f6g7 h4f5 k And Qxg7 mate follows. 12 back 4 k playing Kh8 is no better: 8 g8h8 c2g6 f7g6 h4g6 k mate! 8 back 4 k So, black tried: 7 g8f8 h4g6 f7g6 f6h7 f8e7 c2g6 c7c5 g6e6 k mate 8 k Example 4: Soto Larrea vs Ortega, Havanna 1955 3 bsetup 1 bsetup fen 1q3k2/4b3/2n1p3/p1PpPp2/P1bP1Pp1/2N1Q1P1/8/2N2BK1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname SotoLarrea 1 bname Ortega 1 k This example is more difficult, because the final move is hard to forsee. 15 k Black surely wants to activate his poor Be7. 11 k 60 seconds ... 7 60 c6d4 k Weakening the c5 square. 7 e3d4 k It is clear that black now attacks the pawn c5 with his queen. 13 k Is there a difference between playing Qa7 and Qc7? 25 k Let's first look at Qc7: 8 b8c7 c5c6 k You'll understand this strong defense only if you have seen the whole variation. 16 c7c6 c1d3 c4d3 d4d3 e7c5 k Black hasn't achieved very much. 9 back 7 k Let's now look at Qa7, which was played in the game. Does this really make a difference? 16 b8a7 c1d3 c4d3 d4d3 e7c5 g1g2 k So, what is the difference between the black Queen standing on c6 or a7? 15 a7h7 k That's it! Qh3 mate cannot be prevented. 10 k Example 5: Botvinnik vs Judovics 3 bsetup 1 bsetup fen r1b2r2/1p1nq1bk/1np1p1pp/p7/3PN2N/1P2B3/2Q1BPPP/2RR2K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Botvinnik 1 bname Judovics 1 k Former World Champion Botvinnik in action. 11 k How did Botvinnik exploit his superior position? ( the first move is obvious, but what about the second one? ) 21 k 40 seconds ... 7 40 h4g6 k Opening the threatening b1-h7 diagonal. 10 h7g6 k Which move to play next? Some discovered check? 20 e2h5 k Much better! Kh7 now loses after: 6 g6h7 e4f6 k Double-Check 6 h7h8 c2h7 k mate 5 back 4 k So black played: 7 g6h5 e4g3 k The queen on the open diagonal now prevents the King from going back home. 15 h5g4 h2h3 g4h4 c2e4 k and mate 8 k Example 6: Radulescu vs Trojanescu, Romania 1950 11 bsetup 1 bsetup fen r1b1rbk1/ppqn1pnp/2p3p1/4p3/2P1N3/2N1B1PP/PP2PPB1/2QR1RK1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Radulescu 1 bname Trojanescu 1 k Let's look at a last example of the 'Opening Diagonals' theme. 13 k Black's 'fianchettoed' knight on g7 looks somewhat strange. That square surely better suits a bishop. 19 k How did white exploit black's strange setup? 11 k 60 seconds ... 7 60 d1d7 k Taking away the defender of the f6 square. 10 c8d7 e4f6 k Logical ... 6 g8h8 k White now showed the crucial idea of his combination: 20 e3b6 k A desperado move, which opens the c1-h6 diagonal for the white Queen. 14 c7d6 k A desperate try. Black wants to take on f6 when white plays Qh6, but of course, white does not play Qh6. 19 c3e4 k Defending the Nf6, threatening Qh6 followed by Qh7 mate, and attacking the Queen! 16 k Too many threats, so black resigned. 10 k Example 7: Reshevski vs Persitz, Haifa 1958 11 bsetup 1 bsetup fen 2brnrk1/p1n2p1p/1pqp1PpQ/2p1p1P1/2P1P3/3PNR2/PP2N1BP/R5K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Reshevski 1 bname Persitz 1 k Let's now switch to the more rare 'Closing Diagonals' theme. 10 k Here's an easy example. White wants to play Rh3 followed by Qxh7 mate. 15 k But unfortunately, the Bishop c8 defends the square h3. 12 k White logically played: 8 e3f5 k Closing the diagonal c8-h3. 8 k Rh3 followed by Qxh7 cannot be prevented, so black resigned. 13 k Example 8: Bachman vs Mayinger, Augsburg 1898 11 bsetup 1 bsetup fen 7k/3b4/1p5P/2p3K1/3pp1P1/1P2p3/P1P1B3/8 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Bachman 1 bname Mayinger 1 k This example from the last century nicely illustrates the closing diagonals theme. 16 k How did black succeed in promoting one of his pawns? 12 k 40 seconds ... 7 40 d7b5 e2b5 d4d3 k closing the diagonal a6-f1. 10 c2d3 e3e2 k The pawn will promote. 10 k Example 9: Saemisch vs Ahues, Hamburg 1946 11 bsetup 1 bsetup fen 1r5k/2q2p1p/p2p3B/5PQ1/n1p5/2b4P/PrB3P1/2R1R1K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Saemisch 1 bname Ahues 1 k Black's king is almost mated in this position. White just needs to cut off the Bc3 from protecting g7. 19 k How would you proceed? 8 k 35 seconds ... 7 35 f5f6 k The Bishop is cut off! Easy mate ... 10 c7c5 k Oh No!!!!!!! Black exchanges Queens :-(( 10 back 2 k So white did of course NOT play f5-f6, but: 11 e1e5 c3e5 f5f6 k Now the idea works, as after Qc5+, white's Queen is not attacked anymore. 15 k Mate on g7 follows. 7 k Example 10: Pala vs Beni, Austria 1971 10 bsetup 1 bsetup fen 1r3r1k/1p5p/2qp1P2/4p3/p3n1N1/P4Q2/1PP4P/5RRK 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Palda 1 bname Beni 1 k In the last example of the Lecture, white would like to launch an attack upon the black king. 18 k It seems black has serious counter chances on the c6-g2 diagonal. 14 k How did white prepare the attack? 60 seconds ... 12 60 k If white tries to launch an attack with Nh6 immediately, there follows: 15 g4h6 f8f6 f3g2 e4g3 h2g3 f6h6 k and white is mated :-O 8 back 6 k So, white played: 7 g1g2 k Closing the c6-h1-diagonal. 8 e4g5 k Black would like to exchange Queens. How would you react? 25 g4h6 k If black now answers NxQ, there follows: 10 g5f3 g2g8 f8g8 h6f7 k mate! 8 back 4 k So, black tried: 7 c6f3 f1f3 g5f3 g2g8 f8g8 h6f7 k Just the same. 8 k That's all folks, i hope you enjoyed the Lesson. 11 k These and many more examples can be downloaded in Chessbase or Pgn-Format at http://webplaza.pt.lu/public/ckaber 21 pychess-1.0.0/learn/lectures/lec12.txt0000644000175000017500000002257313365545272016661 0ustar varunvarunk Welcome to Knackie's Tactics Training. The examples are based on material of a Hungarian Chess School. They have been revised using Fritz and a bit of Knackie's brain. 15 k The 4th Lesson features the theme 'King in the centre'. 10 k In the middlegame, a king in the centre is, of course, subject to sharp attacks. 15 k The attacking side should not fear making big sacrifices to hold the king in the centre; mate will be almost inevitable. 15 k Let's start with a famous example: 8 k Example 1: Lilienthal vs Capablanca, Hastings 1934 3 bsetup 1 bsetup fen 2r1k2r/2pn1pp1/1p3n1p/p3PP2/4q2B/P1P5/2Q1N1PP/R4RK1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Lilienthal 1 bname Capablanca 1 k Capablanca was considered an unbeatable chess machine (an ancestor of Deep Blue) 15 k Watch how Lilienthal sacrified his queen to hold Capablanca's king in the centre, scoring a sensational win: 30 e5f6 e4c2 f6g7 k That was Lilienthal's idea. This pawn not only attacks black's rook but it also prevents black's king from escaping out of the centre via f8. 20 h8g8 e2d4 k Black must play Qe4, giving back the queen. Let's look what happens if he plays Qxc3 instead: 15 c2c3 a1e1 d7e5 e1e5 e8d7 e5e7 d7d6 d4b5 k Winning the queen. 5 k Let's now look at the game continuation: 8 back 8 8 c2e4 a1e1 d7c5 e1e4 c5e4 f1e1 g8g7 e1e4 k Bishop+knight vs rook guarantee an easy win. 10 k Example 2: Filipowics vs Skrobek, 1975 3 bsetup 1 bsetup fen 5rk1/p2bp1bp/3p1npB/8/2pNP1P1/2P2P2/PqPK3Q/R6R 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Filipowics 1 bname Skrobek 1 k White threatens BxBg7 followed by Qxh7+. How did Black reverse the situation? 15 k 75 seconds... 75 f6e4 k When the centre is open, the white king is helpless... 10 f3e4 k How does black open the position around white's king still further? 15 g7d4 k If white now plays BxRf8, he will soon be mated by Qxc3, etc., so he takes the bishop. 12 c3d4 b2d4 k The white King cannot escape: if he moves to e2 black plays Bxg4+ followed by Qxc2, whereas if he moves to the first row there comes Qxa1 etc. 30 k Example 3: Tapaszto vs Kossik, Budapest 1951 3 bsetup 1 bsetup fen rn2kb1r/p3pppp/b7/1p1qN3/2pP4/2P1PP2/6PP/1RBQKB1R 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Tapaszto 1 bname Kossik 1 k In this position both kings are still in the centre, but neither side has launched an attack yet. How can white start an attack? 15 k 75 seconds... 75 f1c4 b5c4 d1a4 k If black now plays Nb8-d7 there comes NxNd7! Qxd7 QxBa6 when white quickly develops with 0-0, whereas the black king remains in the centre. 25 k So black has no choice... 10 e8d8 k White would like to exploit the loose position of black's piece, but RxNb8 RxRb8 QxBa6 Rb8-B1 is unclear. How can white improve on this? 35 e3e4 k This opens a diagonal for white's bishop. 8 d5e6 b1b8 a8b8 e5c6 d8c7 c1f4 c7b7 a4b4 k Winning easily, e.g. KxNc6 d4-d5 +- 15 k Example 4: Andersson vs Mecking, Wijk aan Zee 1971 3 bsetup 1 bsetup fen 4R3/1p2r2p/1P1qk1p1/8/4PQ2/5P2/5PKP/8 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Andersson 1 bname Mecking 1 k In this example we've almost reached the endgame. How does white exploit the central position of black's king? 20 k 75 seconds... 75 e4e5 d6c5 f4f6 e6d7 e5e6 k Winning the rook at e7. The e-pawn has done a fine job. 15 k Example 5: Zeitlin vs Krutanski, Leningrad 1971 3 bsetup 1 bsetup fen r3k2r/4n1pp/p2b1p2/Q7/2Bp4/5P1q/PP1B1P1P/R3R1K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Zeitlin 1 bname Krutanski 1 k In this position white must play with great energy, as black threatens Bxh2+ with mate to follow. 20 k 75 seconds... 75 e1e7 k White forces the king to the open. Let's first look what happens if black recaptures with the Bishop: 15 d6e7 a5d5 k White now has time for this simple move, as black doesn't threaten mate on h2 anymore. 10 a8d8 d5f7 e8d7 a1e1 h8e8 c4e6 d7c6 e6h3 k So capturing with the bishop was bad. Let's now look at the game: back 10 e8e7 a1e1 k Black played Kf8 here, so let's first look what happens if black plays Be5 instead: 15 d6e5 e1e5 k In the open position, the black king is helpless. 10 f6e5 a5e5 e7d7 e5d5 d7c7 d2a5 c7b8 d5d6 b8b7 d6c7 k So Be5 didn't help. Let's look at the game: 10 back 12 e7f8 k Black still threatens Bxh2, but white has a powerful reply... 35 d2f4 k Very strong!! Black cannot capture the Bishop because the white Queen then gives check on c5, with mate. 25 g7g6 a5d5 k White threatens Qf7 mate and attacks the Ra8 and the Bd6, which is a bit too much for the defense... 25 k Example 6: Sibarevic vs Bukic, Banja Luka 1976 3 bsetup 1 bsetup fen r1b1kb1r/1q1n1p2/2Np4/1p1Np1pp/5P2/7Q/PPP3PP/2KRR3 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Sibarevic 1 bname Bukic 1 k White has sacrified a piece for a big development advantage, but the centre is still closed. How can white reach the black king? 25 k 75 seconds... 75 e1e5 k That looks good! But it needs some calculation... 15 k Let's look at the easiest variation first: 10 d7e5 k well..., what would you play? 15 d5f6 k Oh! that that was quick! Let's go back: back 2 5 d6e5 k This should cause no problem either... 20 d5f6 d7f6 d1d8 k Surprisingly, mate does not come on the e-file, but on the d-file. Let's go back to the game: 15 back 4 5 f8e7 e5e7 e8f8 h3f5 d7e5 f5f6 h8h7 k Do you see the finish? 20 e7e8 f8e8 f6d8 k mate 8 k Example 7: Friedman vs Thornblom, Stockholm 1974 3 bsetup 1 bsetup fen r3r3/p1p2p1k/3p2pp/2p5/2P2n2/2N2B2/PPR1PP1q/3RQK2 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Friedman 1 bname Thornblom 1 k Black has sacrified a piece for the attack. He would like to play Nf4-h3, threatening Qg1 mate, but black then escapes with e2-e3 Qg1+ Ke2. 20 k This is a kind of anti-example to our theme. The question is: How can black prevent the white king escaping to the centre? 15 k 75 seconds... 75 e8e3 k Very nice! white now has no defense against the simple Nf4-h3 followed by Qg1 mate 20 f2e3 f4h3 e1g3 h2g3 f3a8 g3f2 k mate 8 k Example 8: Csiszar vs Ban, Budapest 1945 3 bsetup 1 bsetup fen q1r2k2/p4ppB/1p1bp2p/3bN3/P2P1n2/1P3P2/1B4PP/1Q2R1K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Csiszar 1 bname Ban 1 k The Bishop h7 nicely prevents the black king from escaping to the corner, but how can white attack? 15 k White could try to find a way to attack f7 with his queen, but how could he achieve this? 15 k 75 seconds... 75 b1f5 k White attacks f7. Simple isn't it? The Queen cannot be captured: 15 e6f5 k There follows... 8 e5d7 k mate. So let's go back to the game: 10 back 2 5 d6e5 k What is the drawback of this defense? 20 b2a3 f8e8 f5e5 k Black resigned in view of the numerous threats: Qe5-d6-e7 mate, or Qe5-g7-f8, or simply QxNf4. 8 k Example 9: Horn vs Jacobsen, Meldorf 1968 3 bsetup 1 bsetup fen r3k2r/1bqnbpp1/p3pn1p/1p2p3/3N1P1B/2NB3Q/PPP3PP/2KR3R 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Horn 1 bname Jacobsen 1 k The position of black's king looks quite secure here. How would you launch an attack in the middle? (Some calculation is needed here) 20 k 90 seconds... 90 d4e6 k A typical sacrifice. 10 f7e6 d3g6 k Black cannot play Kf8 here, as white then plays Qe6 followed by Qf7 mate. 15 e8d8 h3e6 b5b4 f4e5 f6g8 k How can the rook at h1 participate? h1f1 k Very strong! White threatens Rf8 mate. 20 c7c6 k Should white be impressed by black's queen? 20 d1d6 e7h4 k White could take black's queen here, but that would not be enough for such a nice position. 30 f1f8 d8c7 k The finish is easy... 15 c3d5 c6d5 e6d7 k mate 8 k Example 10: Aljechin vs Junge, Prag 1942 3 bsetup 1 bsetup fen 1r2k2r/5pp1/1q3n1p/1pb1p3/3p4/6P1/1PQ1PPBP/R1BR2K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Aljechin 1 bname Junge 1 k In the final example we will see how a World Champion uses the 'king in the centre' theme. 20 k At first sight it seems impossible to prevent black from castling next move. Show some imagination like Aljechin... 20 k 90 seconds... 90 a1a6 k That looks strange... 10 b6a6 c2c5 k That was Aljechin's idea: the Queen prevents the black king from castling and threatens Qxe5+. 15 a6e6 g2c6 k Black played Nf6-d7 here; Kd8 is no better: 10 e8d8 c1d2 k The second bishop comes into action... 10 b5b4 c5a5 d8e7 d2b4 b8b4 a5b4 e6d6 b4b7 e7e6 c6a4 k White now threatens Ba4-b3+ followed by Qxf7. 15 f6d5 a4b3 h8d8 e2e4 k Winning the knight. Let's now look at the game: 10 back 16 5 f6d7 c6d7 k Black cannot recapture with the Queen, as after Qe6xd7 Qc5xe5+, white wins the rook at b8. 20 e8d7 c5a7 k On Kc8, white would answer Bc1-d2 followed by Rc1+. 15 d7c6 c1d2 h8c8 k How does Aljechin take more squares away from the black king? 30 e2e4 k Very strong! 8 e6b3 k How does Aljechin bring his rook into action? 30 d1a1 b5b4 a1a6 c6b5 a6a5 b5c6 a7c5 c6d7 a5a7 k Mate follows. This was a very typical example: 10 k White first played energetically to prevent the black king from castling (sacrifice Ra6!) 15 k Play then slowed down and Aljechin took his time to activate his pieces (Bc1-d2), and took away squares from the king (e2-e4!) 15 k The black king in the centre proved a LONG TERM ADVANTAGE for white; there was no need to look for a quick mate. 15 k I hope you enjoyed the lesson. Many more examples can be found at http://webplaza.pt.lu/public/ckaber in chessbase-format (download file Tactic4.zip) 20 pychess-1.0.0/learn/lectures/lec13.txt0000644000175000017500000002065413365545272016660 0ustar varunvarunk It was in the late 1970s that I first made the aquaintance of this provocative counter-attacking defence. Under the influence of Raymond Keene, a great many British players were playing it around that time and I decided to jump on the bandwagon. Later on it proved quite difficult to jump off again and play more classical openings, but then that's another story. 30 k With his first two moves, 1...g6 and 2...Bg7 Black makes no attempt whatsoever to follow the tried and trusted classical precept of occupying the center. Instead he calmly fianchettoes a bishop and argues the he can attend to things like development later in the game. 25 k Some practitioners of the Modern (Colin McNab and David Norwood for example) like to try and close the position up with ...c6 and possible ...d5. But I have my own interpretation involving a fierce counterattack against the d4 square. 20 k Above all I want that bishop on g7 to breathe fire, to strike terror along the h8-a1 diagonal. Sometimes I play ...c7-c5, sometimes ...e7-e5, but always something against the d4 square and with that long diagonal in mind. 20 k There isn't enough time to show all the ins and outs of this defence, but the following games show my interpretation in action against a variety of White set-ups and how this opening has served me faithfully in some critical games. 20 k Amongst my victims with this opening are the likes of Bent Larsen and Viswanathan Anand, but on this occasion I'll show you the real crushes! The first game was played in the last round of the student team Championships in Graz 1981 in which the England team was going for the silver medal.... 25 k Polajzer-Davies, Student Team Ch., Graz (Austria), 1981 wname Polajzer 1 bname Davies 1 d4 g6 c4 Bg7 Nc3 d6 e4 k According to the late Mikhail Botvinnik, setting up the pawns on d4, c4 and e4 is the strongest answer to the Modern Defence. I have usually preferred my `stock' recipe; a counterattack against the d4 square. 20 Nc6 Be3 e5 d5 Nce7 k Reaching a kind of King's Indian Defence in which the fact that Black's knight has not been developed on f6 yet means that he can sometimes play ...f7-f5 before bringing it out. White takes immediate measures against this. 20 g4 c5 h4 7 Nf6 g5 Nh5 7 Be2 Nf4 Bf3 7 O-O Nge2 f5 7 Qd2 Qa5 O-O-O 7 Rb8 k !! One of the best moves I have ever played. The idea, should White play quietly now, is to pry open the queenside with ....b5 followed by ....a6. And there are other points should White capture on f4. 25 Nxf4 exf4 7 Bxf4 fxe4 k White, by the way, loses a piece after 17.Nxe4 Qxd2+. 6 Nxe4 Qxd2 10 back 2 k The line which most beautifully illustrates the power of 14...Rb8 is: 10 Bxe4 Bxc3 bxc3 7 Rxf4 Qxf4 Qxc3+ 7 Kb1 b5 k Opening up the b-file. Or... 7 back 2 Bc2 Bf5 7 Rd2 Qa1+ back 10 Bxd6 Rxf3 k ! 7 Bxb8 Rxc3+ k ! 7 k Now if 19.bxc3... bxc3 Bxc3 Qc2 7 Qa3+ Kb1 Bf5 k followed by 22...e3. 8 back 6 Kb1 e3 fxe3 7 Bf5+ Ka1 Rc2 k ! 7 k White lost on time but he could equally have resigned. Qxa5 k This would have been met by: Bxb2+ Kb1 Rd2+ k followed by mate. 7 k I still count this as my most artistic miniature. 5 revert k This next game was one of the wins which earned my first Grandmaster norm in Oslo 1988. After a few careless moves in the opening Black develops a murderous attack. White, by the way, is not a patzer. These days he has a rating of around 2500 and is on the verge of becoming a GM. 25 k Gausel,E-Davies,N, Oslo, 1988 3 wname Gausel 1 bname Davies 1 d4 d6 e4 g6 Nc3 Bg7 Bc4 Nc6 Be3 Nf6 h3 k Preventing 6...Ng4 but losing time for development. 7 e5 dxe5 Nxe5 7 Bb3 O-O Qd2 7 b5 k ! 7 k White's neglect of development allows Black to take the initiative. 10 f3 b4 Nd5 7 Nxd5 Bxd5 c6 7 Bb3 a5 a4 7 d5 k Blasting open the center before White has got his king safe. If he had now tried to remedy this with 15.0-0-0 there would follow: 12 O-O-O Qf6 k and after 16.Bd4 there is: 5 Bd4 c5 k ! distracting the bishop from the defence of b2. 10 back 4 exd5 Nc4 7 Bxc4 Bxb2 k Suddenly White is in desperate trouble; the threats include 17...Bxa1 and 17...Bc3, not to mention 17...Qh4+. 17 Ne2 Qh4+ k Even stronger than capturing the rook on a1, as that will remain a threat. 12 Bf2 Qxc4 Rb1 7 Bc3 Nxc3 bxc3 7 Qd3 Re8+ Kd1 7 Qa2 k ! 7 Rc1 Ba6 Qxc3 7 Qxd5+ Qd2 Rad8 k ! The final position shows the true extent of White's misery. 15 revert k Engedal,N-Davies N, Gausdal Peer-Gynt , 1990 3 wname Engedal 1 bname Davies 1 e4 g6 d4 Bg7 Nc3 d6 f4 Nc6 k I was later to abandon this move after Dragan Velimirovic answered it with 5.Bb5 in a tournament in Vrnjacka Banja in 1991. Since then I have answered the Austrian Attack (4.f4) with 4...e6 followed by ...Ne7, ...Nd7, ...b6 and ...Bb7, obtaining a similar set-up to the game. 25 Be3 Nf6 Nf3 7 e6 Be2 O-O 7 O-O Ne7 Nd2 7 b6 a4 a6 7 Qe1 c5 k Black's usual way of challenging White's set-up from this structure. Here it proves especially effective because White has played the rather artificial 9.Nd2. 15 Qf2 Bb7 Bf3 7 Qc7 a5 cxd4 7 Bxd4 b5 Bb6 7 Qc8 Rac1 Nd7 7 Bd4 k 18.Be3 was better, as now Black rips apart what is left of White's center. 10 e5 Be3 f5 k ! The opening of the position proves good for Black as his pieces are better placed. Note that White's king also proves weak, a consequence of 4.f4! 15 g3 exf4 gxf4 7 b4 Nd1 Nf6 7 Qg2 fxe4 Nxe4 7 Nxe4 Bxe4 Bxe4 7 Qxe4 Qg4+ Kh1 k 27.Qg2 Qf5 would also have been unpleasant for White. 10 Nf5 Qxb4 k A suicidal pawn snatch but it is already rather difficult to give White good advice. 12 Ng3+ k Taking the knight allows 29...Qh3+ : hxg3 Qh3 Kg1 7 Qg3 Kh1 Rf5 k With Rh5 to come. 10 back 6 Kg1 Nxf1+ Kxf1 7 Qf3+ Kg1 Rae8 7 Qd2 Rxf4 k ! White has had enough. 33.Bxf4 is answered by 33...Re2 threatening both mate and the queen. 13 revert k For a period of about 10 years I played nothing but the Modern, but in the late 1980s I started to branch out into other openings. Even eating caviar every day can become boring. 15 k Yet faced with the prospect of having to win my last round game for a GM norm in a tournament in Budapest, I could hardly answer 1.e4 with 1...e5, after which I would get a boring Four Knights or Ruy Lopez. The only chance was the Modern Defence, and this was it's finest hour. 25 k Godena,M-Davies,N, First Saturday Tournament, Budapest, May 1993 5 wname Godena 1 bname Davies 1 e4 g6 d4 Bg7 Nc3 d6 Nge2 k The safe way of introducing the fianchetto line for White, as after the immediate 4.g3... 10 back 1 g3 k there is 4...Nc6... Nc6 k and if 5.Nge2 then 5...Bg4. Nge2 Bg4 8 back 4 Nge2 k After the text move I either play the immediate 4...Nc6, or sometimes 4...a6 5.a4 Nc6. 10 Nc6 Be3 Nf6 7 h3 e5 dxe5 7 Nxe5 Ng3 k The safe way to play it would have been: Be6 Qd2 Nc4 8 back 3 k But given that I had to win this game I was not afraid of danger. 7 O-O Qd2 Re8 7 O-O-O b5 k !? A pawn for an open file - not a bad deal with opposite wing castling. If White doesn't capture Black gets the c4 square for his knight on e5. 16 Bxb5 Bd7 k After 12.f4 my opponent didn't like the look of: f4 Bxb5 fxe5 7 Rxe5 Bd4 Qe7 k which he felt gave me good compensation for the sacrificed exchange. 15 back 6 k In the post mortem we looked at 12.Ba6!? but then 12...Be6 wasn't clear. 10 Be2 Qb8 f4 7 Nc6 Bf3 Qb4 7 k Preparing to move a rook to b8 and threaten mate on b2. 7 a3 Qb7 e5 7 Rab8 k An alternative way to defend b2 was with 17.Na4. 5 Na4 k But then Black has... dxe5 fxe5 Qb5 k ! 7 exf6 Bxf6 b3 7 Rxe3 Qxd7 Bg5 k and if 22.Kb1 then 22...Rxb3+. 12 back 10 b3 dxe5 fxe5 Rxe5 7 Nge4 Qa6 k ! It is less good to play this move after a preliminary exchange of knights on e4. Thus: back 1 Nxe4 Nxe4 7 Qa6 a4 k White's defences hold. 10 back 4 Qa6 a4 k ? The decisive mistake. White should take this opportunity to exchange on f6, as for the time being Black is forced to recapture with the bishop. After Black's next move it becomes possible to take back on f6 with the queen. 20 Na5 Nxf6+ Qxf6 k ! The point, after which the latent threats along the long h8-a1 diagonal prove decisive. Perhaps White thought that his next move made the capture with the queen impossible, but a serious disappointment is waiting. 20 Bd4 Qd6 k ! Ouch! Only now did he see that the intended capture of my rook on e5 is met by 23...Qa3+ followed by 24...Nxb3. 15 Nb1 Rxb3 k ! KAPOW! White must kiss his castled position goodbye. 6 Bxe5 Qb6 k White has had enough. The threat is 25...Rb1+, the rook is immune to capture because of the knight fork picking up White's queen and after 25.Nc3 there is either 25...Nc4 or 25...Ra3, depending on Black's mood. 30 k This event was brought to you by Warwick chess club (England) 5 pychess-1.0.0/learn/lectures/lec24.txt0000644000175000017500000001564413365545272016665 0ustar varunvarunk This lecture is one in a series that will review the moves and ideas behind the King's Indian Attack (KIA). The KIA is a flexible opening system used by many of the world's top players including Fischer, Stein & Tal. It has been successfully played against the French, the Sicilian and the Caro-Kann. This opening lends itself to players who can't spend a great deal of time memorizing openings as White can reach the basic position regardless of what Black does. 55 k The KIA vs. other defenses. 8 k In this lecture we will be looking at 4 black formations. 6 k (1) KIA vs. a Queen's Indian formation. k (2) A full KID with the colors reversed. k (3) The symmetrical variation. k (4) KIA vs. the Sicilian where Black plays ...d6. 5 k Let's start with the KIA vs. the Queen's Indian formation. 5 wname Henley 1 bname Browne 1 g1f3 k There are many ways of getting into the KIA. Here white chooses to keep other options open. 9 c7c5 k Inviting a standard Sicilian after 2. e4. 5 g2g3 k Preparing to fianchetto the K-Bishop. 5 b7b6 k Heading for a Queen's Indian defense with ...b6 and ...Bb7. 6 f1g2 k Preparing to castle. c8b7 e1g1 k With the King safe, White will make his intentions on the center clear. 8 g8f6 d2d3 k Preparing e4. 6 d7d5 k Black is also fighting for the e4 square. 6 b1d2 k Still preparing e4. 6 e7e6 k Black decides to reinforce his strong point (d5). 6 e2e4 k In some ways this system resembles the KIA vs. the French. As we will see later many of the ideas involved in playing the KIA vs. the French are also valid against the QID. 17 f8e7 f1e1 k Protecting the valuable e4 pawn and preparing to push to e5. 7 b8c6 k Hitting the d4 square. 8 c2c3 k Keeping the Black Knight out of d4. 6 d5e4 k Black tries to ease the pressure by exchanging the e4 pawn. As we shall see, this doesn't work out as planned. 11 d3e4 k The Knight on d2 is shielding the Queen from being exchanged (as in the French). 8 e8g8 e4e5 k White plays e5 anyway. This effectively cuts Black's defenses in half. 7 f6d5 d1e2 k Overprotecting the e5 pawn. 6 a8c8 k Up to this point we have been following Henley-Browne, WBCA Caissa Memorial Blitz Tournament, 1992. 10 k We shall show the rest of the game so you can see how to follow White's plan through. 9 h2h4 c5c4 d2e4 d8c7 e4g5 h7h6 g5h3 c8d8 e2c4 f7f6 k An ugly way to undermine the e5 pawn, but what else is Black to do? 7 e5f6 f8f6 h3f4 c7d7 f4d5 e6d5 c4d3 d8f8 e1e2 g8h8 c1f4 a7a5 f3e5 k e5 still is a problem for Black. 9 c6e5 f4e5 f6f7 a1d1 e7c5 e5d4 d7g4 d1e1 b7c6 d4c5 b6c5 g2d5 f7f3 d5f3 c6f3 e2e8 k And Black resigned here. 5 k Now we will examine a variation where Black floods the center with pawns. This variation is the Fianchetto variation King's Indian Defense with the colors reversed. 16 revert 1 wname Petrosian 1 bname Donner 1 g1f3 d7d5 g2g3 g7g6 f1g2 f8g7 e1g1 e7e5 k Black will attempt to smother White with his center pawns. 6 d2d3 g8e7 b1d2 e8g8 k Preparing e4. 6 e2e4 k Achieving the basic KIA setup. 6 c7c5 k We now have a full KID with the colors reversed. 6 e4d5 k White immediately attacks the Black center attempting to show that it is weak. 8 e7d5 d2b3 k Wasting no time. White wants to pressure the Black center as much as possible. 8 b8d7 k Also possible is ...b6 but this leaves the long diagonal (h1 - a8) very weak. 8 f1e1 k Now pressuring the e-pawn. 6 a8b8 k Getting off the long diagonal and preparing ...b5. 6 k Up until now we have been following Petrosian-Donner, Piatgorski Cup, 1966. The rest of the game is a lesson on how to contort your opponent. 13 f3d2 d5c7 b3a5 c7e6 a5c4 k Bouncing from weakness to weakness, Tigran slowly improves his position and worsens his opponent's. 10 d8c7 d2e4 d7b6 e4c3 c8d7 a2a4 d7c6 c3b5 c6b5 a4b5 b6c4 d3c4 b7b6 c2c3 f8e8 a1a6 e8e7 d1a4 b8c8 g2d5 c7b8 d5e6 f7e6 a4d1 c8d8 d1g4 e7e8 h2h4 d8d7 h4h5 g6h5 g4h5 e8f8 h5g4 f8f6 c1e3 f6g6 g4e4 g7f8 a6a1 f8d6 e1d1 g6g7 d1d2 d6f8 d2d7 g7d7 e4g4 g8f7 g4h3 f7f6 a1f1 b8e8 h3h4 f6g7 e3h6 g7g8 h6f8 g8f8 f1e1 e8f7 e1e5 f7g6 g1g2 g6f7 e5e4 f8e8 e4f4 f7e7 h4h5 e8d8 h5e5 d8c8 e5e4 c8b8 f4h4 e7f7 h4f4 f7e7 e4f3 e7d6 f4f8 d7d8 f8f6 k and Black resigned here. k Just to show how flexible the KIA can be, the following game shows a symmetrical variation of the KIA. 10 revert 1 wname Levitan 1 bname Shaked 1 g1f3 g8f6 g2g3 g7g6 f1g2 f8g7 d2d3 d7d6 e2e4 e7e5 k This game is Levitan-Shaked, US Junior Ch. 1993. 6 h2h3 b8c6 b1c3 e8g8 e1g1 f6e8 c1e3 f7f5 e4f5 g6f5 f3g5 c6e7 d3d4 h7h6 d4e5 h6g5 e3g5 c7c6 k And now comes a great shot. I'll give you 45 seconds to find it. 51 c3d5 k If Black takes the Knight... 5 c6d5 k Then... 5 g2d5 f8f7 k This is forced because... 8 back 1 g8h8 k walks into... 6 d1h5 g7h6 h5h6 k Mate! The same variation holds for 16... Kh7. 6 back 4 f8f7 d1h5 k And the Rf7 falls giving White an overwhelming position. 6 back 4 f8f7 d5e7 f7e7 e5d6 e8d6 c2c3 d8d7 g5e7 d7e7 f1e1 e7f6 d1b3 g8h8 a1d1 c8d7 b3b4 g7f8 c3c4 a8d8 c4c5 d6e4 b4b7 e4c5 b7a7 f6g7 b2b4 c5e4 g2e4 f5e4 e1e4 k Black resigns. k The final Black formation we will examine is the Sicilian defense where Black plays ...d6. 9 k The obvious advantage is that it prevents White from maintaining a pawn on e5. The KIA is not quite as effective in these variations but is still very playable. 16 revert 1 wname Smyslov 1 bname Botvinnik 1 g1f3 g8f6 g2g3 g7g6 f1g2 f8g7 d2d3 c7c5 e2e4 b8c6 b1d2 e8g8 e1g1 d7d6 k With a pawn on d6 a King-side attack (prevalent in some variations of the KIA) is unlikely. 9 k White has other resources however. 6 a2a4 k Gaining Q-side space and securing c4 for the Nd2. 6 k At this point there are two variations to consider. Here Black can play this position two ways. (1) Mutual expansion of the Q-side by playing ...Rb8 ...Bb7 and (2) central expansion by ...Ne8 and ...f5. 19 k First, Q-side expansion. 6 a8b8 d2c4 b7b6 k Please note that 9. ... a6 is met by 10. a5 tying up Black's Q-side. 7 e4e5 d6e5 f3e5 c6e5 c4e5 k With some initiative for White. Analysis by GM Henley. 6 back 8 k Black's other alternative is to expand in the center. 6 f6e8 k Preparing ...f5. 6 d2c4 k Pressuring the e5 square. 6 e7e5 k Gaining central space and controlling the d4 square. 6 c2c3 k Keeping the Knight out of d4. 6 f7f5 k Attacking the e4 pawn. Capturing would allow Black to play ...gxf5. 7 b2b4 k Following through with the idea of Q-side expansion. 6 k Smyslov-Botvinnik, USSR Ch. 1955 is the game being played here. We present the rest of the game to show how each sides plans are followed through. 14 c5b4 c3b4 f5e4 d3e4 c8e6 c4e3 c6b4 a1b1 a7a5 c1a3 e8c7 a3b4 a5b4 b1b4 g7h6 b4b6 h6e3 f2e3 e6c4 b6d6 d8e8 f1e1 f8f7 f3g5 f7e7 g2f1 k A very important theme in the KIA is relocating the White squared Bishop to a more active post if the long diagonal is blocked. 12 c4f1 e1f1 e8a4 d6d8 e7e8 k Rxd8 fails to Qxd8+ followed by Qxc7. 6 d1f3 a4c4 d8d7 k Black resigns. k I hope you enjoyed this lecture. If you have any feedback, drop me an email at cissmjg@hotmail.com. Recommended book on the KIA "The ChessBase University Bluebook Guide to Winning with the KIA by IGM Henley and Maddox. ISBN 1-883358-00-0" 39 pychess-1.0.0/learn/lectures/lec5.txt0000644000175000017500000002365213365545272016602 0ustar varunvarunk Welcome to Knackie's Tactics Training. The examples are based on material of a Hungarian Chess School. They have been revised using Fritz and a bit of Knackie's brain. 15 k In this lesson I will introduce one of the most powerful tactical elements: the discovered attack. 10 k Example 1: Schrancz vs Honfi, Hungary 1971 1 bsetup 1 bsetup fen r4rk1/2q1bppp/4b3/p2p3R/3B4/1NnP3Q/1P4PP/4R1K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Schrancz 1 bname Honfi 1 k To demonstrate the power of discovered attacks, especially discovered checks, let's look at this example: 30 h5h7 k White does not worry about his queen. He has seen a series of discovered checks. 12 e6h3 h7g7 g8h8 g7f7 h8g8 f7g7 k that's like taking new fuel 7 g8h8 g7e7 h8g8 e7c7 k Winning easily. 8 k Example 2: Reti vs Tartakower, Vienna 1910 1 bsetup 1 bsetup fen rnb1kb1r/pp3ppp/2p5/4q3/4n3/3Q4/PPPB1PPP/2KR1BNR 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Reti 1 bname Tartakower 1 k This is a classic example you will find in many books. How does white force the black king into a double check? You get 45 seconds... 55 d3d8 k Again the discovered attack is worth more than a queen. 8 e8d8 d2g5 k That's the most powerful type of discovered check: the double check. 8 d8e8 d1d8 k mate. 5 k Black could have chosen to go to c7 instead of e8, but this leads to the same result: 8 back 2 d8c7 g5d8 k that mate looks even better! 8 k Example 3: Mocsai vs Barati, Budapest 1961 1 bsetup 1 bsetup fen 2r2rk1/pb4pp/1p1bN3/3n1p2/1P6/PQ1BP1Pq/1BP2P1P/4RRK1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Mocsai 1 bname Barati 1 k The discovered check on the d-file worked well in the previous example, but of course it also works on diagonals. Can you find black's nice mate in 3? 45 seconds... 58 h3g2 g1g2 k Now, of course, black must choose the right discovered check. 15 d5f4 g2g1 f4h3 k Another nice mate position to remember. 10 k Example 4: Tanacskozok vs Pillsbury, Chicago 1 bsetup 1 bsetup fen r7/1p2Pk2/p4Pr1/4Q3/8/1P6/b1P3P1/6K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Tanacskozok 1 bname Pillsbury 1 k Discovered checks do not only arise in the middlegame. In this example white found a very clever way to use his advanced pawns. Do you see the variation with a surprising discovered check on move 3? 90 seconds... 105 e5d5 k White now intends Qd8 and promoting his pawn e7. 8 k Black must play Kxf6 here, since after Ke8, white plays Qe6, with the deadly f6-f7 to come. 18 f7f6 d5d8 k Threatening e7-e8Q 7 g6g8 k Ooooops! Black protects everything. Even the discovered check e7e8Q does not help here, as black then plays RxQd8. But remember: which is the most powerful type of discovered attacks? 25 e7e8=N k The double check! 10 k Example 5: Kraiko vs Ray, Svajc 1958 1 bsetup 1 bsetup fen r1b1k2r/4ppbp/p5p1/Qp2q3/3N4/4BP1P/PPP3P1/1K1R3R 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Kraiko 1 bname Ray 1 k This example shows a slight variation of a well-known theme. White to move. 45 seconds... 52 a5d8 e8d8 k And now not, of course, Nc6+, when the black king escapes to c7, but... 15 d4e6 d8e8 d1d8 k mate 8 k Example 6: Banfalvi vs Marussi, Correspondence game 1966 1 bsetup 1 bsetup fen r4r1k/pQB1qp1p/4pp2/8/1PnP4/5P2/1P2KP1P/R5R1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Banfalvi 1 bname Marussi 1 k At first sight this position looks rather unclear, but a discovered attack makes the difference. White to move. 60 seconds... 68 c7e5 k Threatening Bxf6 mate and unleashing a discovered attack on black's queen. 20 e7d8 k After recovering from the shock black seems to have found a convenient defense. White's next move, however, shows that black's queen is overloaded with defensive tasks: 20 b7a8 k Simply winning a rook, as black's queen must keep the f6-square protected. 15 k Example 7: Janowski vs Nardus, 1912 1 bsetup 1 bsetup fen 3rr1k1/ppp2ppp/8/5Q2/4n3/1B5R/PPP1qPP1/5RK1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Janowski 1 bname Nardus 1 k In this example black found an elegant way to 'exchange queens', winning a rook on the road. To find the solution you must try to get white's king into a discovered check. 120 seconds... 135 e2f1 k That's the first part of the 'queen exchange'. 8 g1f1 e4d2 f1g1 e8e1 g1h2 d2f1 k This forces white's king to run into a discovered check. Look how nicely the knight prevents the king from escaping to g3. 15 h2g1 f1e3 g1h2 e3f5 k The work is done. 8 k Example 8: Reshevsky vs Gligoric, New York 1952 5 bsetup 1 bsetup fen 1k1r3r/ppq2pnp/1npbb1p1/3p4/3P1NP1/2NBP2P/PPQ2P1B/1KR4R 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Reshevsky 1 bname Gligoric 1 k Ok, those were the 'easy' examples. At the grandmaster level, you won't find many examples of mate in 3 or similar, but look how the discovered check theme helped Reshevsky to find a great combination against Gligoric. 20 k Reshevsky saw that black's king was on the same diagonal as white's Bishop on h2. Meanwhile, the knight on f4 could be the piece that generates the discovered attack. 20 k If you keep that in mind, you'll understand the following white moves, where white systematically frees the crucial diagonal of black pieces. You get 120 seconds to try to figure it out by yourself... 135 c3b5 k Refusing the sacrifice does not help. Let's see this first: 8 c7e7 b5d6 d8d6 f4e6 k The diagonal h2-b7 already comes into action. 10 k Let's go back and look what happens in the game. back 4 c6b5 c2c7 k This eliminates the first black piece standing on the diagonal h2-b7. 10 d6c7 k Keeping our idea in mind, you'll find the next move easily. 20 c1c7 k One more black piece eliminated on the diagonal. 10 b8c7 k The work is done; the black king now faces the discovered check on the 'naked' diagonal: 20 f4e6 c7d7 e6d8 h8d8 d3b5 d7e6 h2c7 k Keeping the discovered attack theme in mind, this rather complicated combination suddenly became easy to understand. 15 k Example 9: Kapu vs Benko, Budapest 1955 1 bsetup 1 bsetup fen 8/6bk/8/2R2p1p/pp5P/4pPP1/P2r4/2N2K2 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove black 1 bsetup done 1 wname Kapu 1 bname Benko 1 k This example is outstanding. With only a rook and a bishop, Benko generated a firework of tactical ideas, using the discovered attack theme. This is a great example to study. 120 seconds... 135 d2f2 k White now has two possibilities. Let's first look at Ke1: 8 f1e1 k Black's play is now rather easy. 8 g7c3 e1d1 f2d2 d1e1 d2d5 k A discovered check, which gains material. 12 back 6 k Let's now see Kg1: 8 f1g1 k Black's following move is extremely strong, featuring discovered check ideas. Can you find it? 45 g7d4 k Black now threatens e3e2. White must now attack black's bishop so that he can take it when it gives check. We will consider Rd5 and Rc4, let's look at Rd5 first: 24 c5d5 e3e2 c1e2 k So, what now? RxNe2 RxBe4 leads to absolutely nothing, but black keeps thinking about discoverd checks: 15 d4e3 k Fantastic! White's knight has nowhere to go. (e.g. Nc1 Rc2 discovered check) 20 e2f4 f2d2 g1f1 e3f4 k Black has won a piece! 8 back 8 k Let's now consider Rc4: 8 c5c4 k Do you find black's next blow? 30 f2c2 k Another incredible move. White cannot play RxBd4 now, as after RxNc1+ Kg2 e2 the pawn proves decisive, so black tries: 25 c4c2 e3e2 k The e-pawn promotes with the help of a last discovered check! 10 k The tactical richness of this seemingly easy position was amazing! 10 k Example 10: Salwe vs Marco, Ostende 1907 1 bsetup 1 bsetup fen r5k1/2pN2p1/pp1q3p/3b4/6B1/5PR1/1P5P/3R2K1 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Salwe 1 bname Marco 1 k Let's go back to easier stuff. In this old example white saw a little combination which gained material. 90 seconds... 98 d1d5 k If black had seen the following moves, he would have refused to take on d5 now and would have played Qc6 instead, for example. Then, the position is rather unclear. 25 d6d5 d7f6 g7f6 g4e6 k The double-check in action. White should win, although some work still remains to be done. 12 k Example 11: Neumann vs Bergmann, Prag 1913 1 bsetup 1 bsetup fen 3r1rk1/ppp2ppp/2n2b2/8/2B2Q2/6Bq/PP3P1P/3R2RK 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Neumann 1 bname Bergmann 1 k Another old example. How did white make use of the discovered check theme? 90 seconds... 97 f4f6 k If black takes the queen, this leads to a quick mate: 10 g7f6 g3e5 k Discovered check 8 g8h8 e5f6 k mate 8 back 4 k What else could black try? 25 d8d1 k Very clever! Black now really threatens to take the quuen on f6, as the discovered check won't work now (black would simply play RxRg1). However, if the simple discovered check does not work, you must use something more powerful... 30 f6g7 k Preparing, of course, a double check! 8 g8g7 g3e5 k The double check forces the king into the open, where it won't escape: 10 g7h6 e5g7 h6h5 c4e2 h5h4 g7f6 k mate 8 k Example 12: Jerostrom vs Bergman, Ljusdal 1950 1 bsetup 1 bsetup fen r1b1rk2/3n1pbQ/2qp2p1/p2N2P1/2Bp3N/4P3/PP3PP1/2KR3R 1 bsetup wcastle none 1 bsetup bcastle none 1 tomove white 1 bsetup done 1 wname Jerostrom 1 bname Bergman 1 k Let's conclude the lesson with a nice mate in 4. You will find it if you think of a discovered check on the a2-g8 diagonal. 90 seconds... 100 h4g6 k Taking away the pawn f7 on the a2-g8 diagonal. 15 f7g6 h7g8 k Forcing the king on the diagonal. 15 f8g8 k Now you must choose the right discovered check... 25 d5e7 g8f8 e7g6 k mate. That looks good! 10 k I hope you enjoyed the lesson. These examples (and more) can be downloaded in chessbase format at http://webplaza.pt.lu/public/ckaber (Tactic2.zip) If you don't have Chessbase, maybe one of your friends could convert the database to PGN format for ex ample. If you are runing Windows, you might as well download Chessbase Light for free on the Chessbase homepage at http://www.chessbase.com. 45 pychess-1.0.0/learn/lectures/lec22.txt0000644000175000017500000001443113365545272016654 0ustar varunvarunk The Milner-Barry Gambit is one of the sharpest white weapons against the French Defense. 15 k Over the years there have been found many suitable ways for black to face the Gambit. 15 k One of these ways is shown in LectureBot's 'Refuting the Milner-Barry Gambit in the French Defense', written by Kabal. 15 k I recommend to anyone who plays the french, viewing that lecture. You will take by surprise many Milner-Barry fans with that secret weapon. 15 k Let's revisit the proposed variation: 8 e2e4 e7e6 d2d4 d7d5 e4e5 k The Advance Variation of the French. 8 c7c5 c2c3 b8c6 g1f3 d8b6 k All the fight is about the d4 square. 8 f1d3 k This move introduces the Milner-Barry Gambit. 8 k d3 is the Bishop's dream-square, but the drawback is that d4 is now insufficiently protected, so white will have to sacrifice his d4 pawn. 15 c5d4 c3d4 k Black must now avoid the well known trap: Nxd4 Nxd4 Qxd4 Bb5+, winning the Queen. 12 c8d7 b1c3 c6d4 f3d4 b6d4 e1g1 k This is the crucial position of the Milner-Barry. 8 k Black's most secure move is now a6, preventing ideas of Nc3-b5. 8 k However, accepting the second pawn sacrifice has become increasingly popular. 10 d4e5 f1e1 e5b8 c3d5 f8d6 d1g4 e8f8 c1d2 h7h5 k This is black's new idea, which is explained in detail in LectureBot's 'Refuting the Milner-Barry Gambit in the French Defense' by Kabal. Again, I recommend that lecture to anyone who plays the French as black. 10 k White's Queen must now go to the ugly square h3, as otherwise he loses his Nd5. Black will develop his knight with Nh6 or Nf6, with the idea of going to g4. Practice proved that black has the advantage. 15 k Having played the Milner-Barry for many years, the author (knackie) made up his mind how white could react against this new threat to his favourite weapon. 15 back 8 k The result of this search can be seen right at the start of the variation: 12 f1e1 e5b8 k And now, instead of playing the usual Nxd5, I propose: d1f3 k White intends to take on d5 with his Queen. He also threatens to play Bf4 in some variations. 8 k This might seem illogical at first sight; white needs two moves to take on d5 instead of one. 10 k The main variation shown before proved, however, that the position of white's knight at d5 is very loose. White will have to lose some tempi for saving that knight anyway. 15 k Let's now look at some concrete analysis: 10 k What could be black's reply to Qf3? 10 k One idea would be defending the pawn at d5. This can be achieved with Nf6 or Bc6. 12 k Let's look at Nf6 first: 8 g8f6 k Bg5 is not good here: Bg5 Be7 Bxf6 Bxf6 k White takes on d5 but doesn't achieve anything. 18 back 4 c3d5 f6d5 f3d5 k Compared to the theory line, white doesn't need to worry about his loose Nd5, meaning the white Queen can move freely around. 15 f8d6 d5g5 k Black's best here is probably Kf8, similar to the theory line, but the exchange of knights certainly favours white. 15 k If black plays g7-g6 here, he will lose inevitably. e.g: g7g6 Qf6 Rf8 Bh6 Rg8 Bb5 k With the threat of Rxe6. 20 back 6 k Let's now see how play can proceed if black castles: 10 e8g8 g5h4 f7f5 k Black has little choice if he wants to avoid mate. 8 d3c4 k This strong diagonal along with the d-file will prove more than enough compensation for the pawn. 10 g8h8 k White cannot take on e6: Bxe6?? Re8! 10 c1g5 e6e5 a1d1 b8c7 e1e3 k Intending Rh3. 8 f5f4 c4d3 k Black is in trouble. 10 d7f5 d3f5 f8f5 e3h3 g7g6 h3d3 k Black will be overwhelmed on the dark squares. 10 back 24 1 k Let's now look what happens if black protects d5 by means of Bc6: 10 d7c6 c1f4 f8d6 k It is difficult to say which is white's best response here, but the following is very interesting: 12 f3g3 k Strange move, isn't it? 8 d6f4 g3g7 k The position is rather unclear, but white should certainly be no worse. 15 k Let's now look what else black can try after Qf3. 8 back 6 k Instead of protecting d5, black could proceed with Bd6 as in the main variation. 15 f8d6 f3d5 k It seems black can now safely play Nf6 followed by 0-0, but... 10 g8f6 d5g5 k This attacks g7, so black has little choice. 8 e8g8 g5h4 k This position happened many times in knackie's games (blitz, rapid, and even tournament games). 10 k The result? Black NEVER survived. 8 k White's idea is very simple: Bc1-g5 followed by BxNf6 and Qxh7 mate. 15 k While white's plan is easy to foresee, black has no easy way of preventing it. 15 k I recommend you try this position against your computer. 10 k Let's look at two sample variations: h7-h6 and Be5 (played by Fritz) 10 h7h6 k Black tries to prevent Bg5. 8 k The sacrifice Bxh6 now only leads to a roughly equal position: 8 c1h6 d6h2 k Everything else loses. 8 g1h1 g7h6 h4h6 b8f4 k After this strong defense, black gets an equal game. 8 h6h2 f4h2 h1h2 k The game is equal. 10 back 9 k Instead of Bxh6 white should play: 8 e1e3 k Threatening Rh3 followed by Bxh6. A game against Fritz5 continued: 8 f8d8 e3h3 e6e5 h3g3 k Black is now helpless against Bxh6 or Qxh6. 8 k So h7-h6 was obviously bad. 6 back 6 k Instead of h6 Fritz5 usually tries: 8 d6e5 k A very clever move; after Bg5 h6! white would be forced into the equal variation Bxh6 Bxh2! we've already seen. 15 k Again, white should prefer: 8 e1e3 k White simply threatens Rh3 followed by Bxh7+, while h7-h6 would again be met by Rh3. 15 g7g6 k Analysis showed this is probably the best reply. 10 d3e2 k A very strange move; white wants to be able to take on h5 (after Nh5 or h7-h5) in some variations. 12 d7c6 e3h3 h7h5 c1g5 k Let's just follow a sample analysis game against Fritz5. 10 f6d5 c3e4 k After Bxb2, white answers Bxh5! 10 k After f7-f5 white would answer Nc5! Bxb2 Bxh5! You can check these variations with your computer. 15 k The game now goes crazy. Fritz played: 15 f7f6 e2h5 f6g5 e4g5 d5f4 h5g6 f4h3 h4h3 e5h2 g1h1 g8g7 h3h7 g7f6 h7h6 f6e7 h6g7 e7d6 a1d1 c6d5 g5e4 d6c6 d1c1 k and black was mated on the Queenside. 12 back 38 k Further analysis is of course needed, but if you play the Milner-Barry gambit and you find the 'Refutation of the Milner-Barry' hard to meet, Qf3 should provide a serious alternative with the surprise factor being on your side. 20 k If you want extensive analysis in Chessbase or PGN format, just send a mail (or a message) to knackie. I'll send you the analysis by mail-attachment. 20 k That's all folks! The author now sits and waits for the refutation of the refutation of the refutation of the Milner Barry ... :-) pychess-1.0.0/learn/lectures/lec29.txt0000644000175000017500000000762613365545272016673 0ustar varunvarunk You are about to see 5 positions that occurred in Patrick McCartney's (Kabal's) first 200 USCF rated games over the board, and 2 positions from games on the ICC. In each case, you will be given the position, the number of moves needed to mate, and the time alloted for each problem, as they do vary in difficulty. You can expect them to get more difficult as the lecture goes on. 10 bsetup 1 bsetup wname McCartney 1 bsetup bname Singleton 1 bsetup tomove White 1 bsetup wcastle none 1 bsetup bcastle none 1 bsetup fen 5rk1/1pp4p/p1q1pB2/2b5/4P3/2N5/PPP1Q1PP/3R3K 1 bsetup done 3 k Problem 1: This was a game I had in round 3 of a local tournament in the summer of 1998. White to move and mate in 3. Time Limit: 1 Minute 60 e2g4 4 g8f7 4 g4g7 4 f7e8 4 d1d8 1 k Mate!! 10 bsetup 1 bsetup tomove White 1 bsetup bname Ascher 1 bsetup fen r6k/pp4pp/8/1qpQN3/4P3/8/PP3PPP/1K5R 1 bsetup done 3 k Problem 2: This game comes from Round 1 of the same tournament as the prior problem. White to move and mate in 4. Time Limit: 1 Minute 60 e5f7 4 h8g8 4 f7h6 4 g8h8 4 k Or ...Kf8 Qf7 Mate 4 d5g8 4 a8g8 4 h6f7 1 k Smothered mate!! 10 bsetup 1 bsetup tomove White 1 bsetup bname Daw 1 bsetup fen r3r2k/pp2BP1p/2n3pN/q1p2b2/2Pb4/7P/PP2B1P1/1R1Q1R1K 1 bsetup done 3 k Problem 3: This was my first USCF rated game played in 1998. I had White. White to move and mate in 2. Time Limit: 1 1/2 Minutes. 90 d1d4 4 c5d4 4 k ...Ne5 doesn't alter the result. 4 e7f6 1 k Mate!! 10 bsetup 1 bsetup tomove Black 1 bsetup wname Plummer 1 bsetup bname McCartney 1 bsetup fen 3r1rk1/p5pp/1p4q1/2p1p3/2P1Nn2/1N3P2/P1Q2KPP/3RR3 1 bsetup done 3 k Problem 4: I played this game back around mid-August 1998. I had Black. Black to move and mate in 4. Time Limit: 2 Minutes. 120 g6g2 4 f2e3 4 kibitz Incorrect would be Rd3: Rd3 Qxd3 Nd5 Qd5 k Check! back 4 f4d5 4 k No use taking the queen when you have a forced mate instead. 4 e3d3 4 k Or cxd5 Rxf3 Mate 4 f8f3 4 e1e3 4 f3e3 1 k Mate!! 10 bsetup 1 bsetup tomove White 1 bsetup wname Flanker 1 bsetup bname StickyQuagmire 1 bsetup fen r1bq3r/p1p1k1pp/2p2b2/3pN2Q/3Pp3/6N1/PPP2PPP/R3K2R 1 bsetup wcastle both 1 bsetup bcastle none 1 bsetup done 3 k Problem 5: (Note: White can still castle in either direction for this problem) Flanker (McCartney) did a major spanking against Philidor's Defense in this game on the ICC. After only 12 moves each, White is dominating. He can win the queen with 13.Nxc6+, but even better, he has mate in 3. Can you find it? Time Limit: 2 Minutes 120 h5f7 4 e7d6 4 e5c4 4 d5c4 4 g3e4 1 k Mate!! back 3 k Sacrificing the other knight is just as effective: Ne4 dxe4 Nc4 bsetup 1 bsetup tomove White 1 bsetup wcastle none 1 bsetup wname McCartney 1 bsetup bname Oxman 1 bsetup fen 4r3/2R4p/pp4p1/2p2k2/2P2PN1/1P2PK2/7P/2n5 1 bsetup done 3 k Problem 6: I won this USCF rated game played at the Charlotte Chess Club back in May 1998 by finding the key move that gives white the win. White to move and mate in 3. Time Limit: 2 1/2 Minutes. 150 c7c6 4 k Here Black resigned due to the triple threat of Rf6 Mate, e4 Mate, and Nh6 Mate. 4 e8e6 4 k The only move that temporarily stops all 3 of White's mates, but it only prolongs it by 1 move. If ...Rf8, then e4 (or Nh6) is mate. If Rxe3+, then Nxe3 is mate. 4 e3e4 4 e6e4 4 c6f6 1 k Mate!! (or Nh6 Mate!!) 10 bsetup 1 bsetup wname les3 1 bsetup bname Flanker 1 bsetup tomove Black 1 bsetup fen rq5k/1p2pBbp/6p1/pNP1n3/1P6/P3P2P/3r1P1P/1RQ2RK1 1 bsetup done 3 k Problem 7: This was a wild game. Black has already sacrificed a piece, and yet he has mate in 5. Can you find it? Time Limit: 3 Minutes 180 e5f3 4 g1g2 4 k Or Kh1 Qxh2 mate 4 b8h2 4 g2f3 4 k Black sacrifices yet another piece!! 4 h2h3 4 f3f4 4 k The game actually went Ke4 Qf5 mate, but it can be prolonged another move. 4 g7h6 4 f4e4 4 k Ke5 Qf5 is also mate. 4 h3f5 1 k Mate!! 10 k That concludes this lecture. Hopefully I'll have a "Mating Attacks II" after I get done playing another 200 games!! 5 pychess-1.0.0/learn/lectures/lec6.txt0000644000175000017500000001234113365545272016574 0ustar varunvarunk This lecture is one in a series that will review the moves and ideas behind the King's Indian Attack (KIA). The KIA is a flexible opening system used by many of the world's top players including Fischer, Stein & Tal. It has been successfully played against the French, the Sicilian and the Caro-Kann. This opening lends itself to players who can't spend a great deal of time memorizing openings as White can reach the basic position regardless of what Black does. 44 k The KIA vs. the French k Bobby Fischer played the KIA early in his career against both the French and Sicilian (after an early ...e6). White's plan is to establish a pawn on e5 effectively cutting Black's defenses off from the K-side and attack the dark squares around Black's king. 24 k Black's Plan is to attack on the Q-side with a pawn storm and distract White's K-side attack. The play for both sides tends to be very tactical. 14 e2e4 k Although the KIA can be reached by starting with 1.Nf3 it is more often reached after 1.e4. May e4 players use the KIA as an alternative to the semi-open games. 16 e7e6 d2d3 k By playing d3 (instead of d4) White has less space but more options. More importantly White is avoiding Black's opening preparation and playing the opening on his(her) terms. 17 d7d5 b1d2 k Protecting e4 and shielding the Queen from being exchanged in case of an exchange on e4. 9 g8f6 k Hitting the pawn on e4. 6 g1f3 k Attacking the important e5 square. 6 f8e7 k Preparing to castle. 6 g2g3 k The basic setup begins to show itself. The KIA is really nothing more than the King's Indian Defense with the colors reversed! 12 e8g8 k Getting the King to safety. 6 f1g2 k Getting the White squared Bishop on the long diagonal (h1 - a8). 6 c7c5 k Controlling the d4 square. 6 e1g1 b8c6 k Hitting d4 again. 6 e4e5 k Black's forces are now (effectively) cut in half. After an inevitable Nd7 White should support the e5 pawn and continue the attack on the dark squares around Black's king. 17 f6d7 k Hitting e5 again. 6 f1e1 k Supporting the e5 pawn. On ...Qc7, White has Qe2. 6 b7b5 k Here they come like a swarm of ants. Blacks pawns will flood the Q-side and attempt to open a file for Black's heavy pieces. 12 d2f1 k Getting the Q-Knight to the K-side via e3 or h2. 6 b5b4 h2h4 k A very important move in the KIA. White plays to control g5 (a dark square) and open up a square for the N on f1. 12 k The KIA can also be reached via the Sicilian move order. 6 revert e2e4 c7c5 g1f3 e7e6 d2d3 d7d5 b1d2 b8c6 g2g3 k Here Black varies and fianchettos the K-Bishop. 6 g7g6 f1g2 f8g7 e1g1 g8e7 k Black play his K-Knight to a potentially more useful square. This allows the option of ...Nf5 hitting h4, e3 and protecting the sensitive h6 square. 15 k White's plan however, has not changed. Occupy e5 with a pawn and attack the dark squares around Black's King. Of course this means trading off the dark square Bishop. 22 f1e1 e8g8 e4e5 k ...Qc7 being met by Qe2 6 e7f5 k Occupying a key square. Black's setup is much more solid than in the French variation. 8 d2f1 k Planning to play Ne3, trading off Black's well placed Knight. 7 d8c7 k Now Qe2 gives Black Nd4 but White has another move... 7 c1f4 k This move prepares to exchange Black's dark square Bishop as well as protecting the critical e5 pawn. 10 k The best wasy to learn an opening is to play through some games. revert 1 wname Bobby_Fischer 1 bname L_Miagmasuren 1 e2e4 e7e6 d2d3 d7d5 b1d2 g8f6 g2g3 c7c5 f1g2 b8c6 g1f3 f8e7 e1g1 e8g8 e4e5 f6d7 f1e1 b7b5 d2f1 b5b4 h2h4 a7a5 c1f4 a5a4 a2a3 b4a3 b2a3 c6a5 k More usual is ...Nd4 or ...Ba6 6 f1e3 c8a6 g2h3 d5d4 e3f1 d7b6 k More pieces leaving the defense of their King. 6 f3g5 b6d5 f4d2 e7g5 k This move further weakens Black's grip on the dark squares around the Black King. 8 d2g5 d8d7 d1h5 f8c8 f1d2 d5c3 k Now comes a shot....I'll give you 60 seconds to find it. 66 g5f6 k If gxf6 then... g7f6 e5f6 k Black's King is in serious trouble. If ...Kf8 6 g8f8 k then... h5h7 k and mate is unavoidable. or ... 6 back 2 g8h8 h5h6 c8g8 h3f5 k ...Rg7 loses to Qxg7 mate, so ... 6 e6f5 e1e7 k with a dominating position. Black actually played ... 6 back 8 d7e8 d2e4 g7g6 h5g5 c3e4 e1e4 c5c4 h4h5 c4d3 e4h4 a8a7 Bg2 d3c2 g5h6 e8f8 h6h7 k Black resigned here. Because Kxh7 then... 6 g8h7 h5g6 h7g8 h4h8 k or ... back 2 h7g6 g2e4 k Here's what happens when Black is not careful... revert 1 wname D_Bronstein 1 bname W_Uhlmann 1 e2e4 e7e6 d2d3 d7d5 b1d2 g8f6 g1f3 c7c5 g2g3 b8c6 f1g2 f8e7 e1g1 e8g8 f1e1 b7b5 e4e5 f6d7 d2f1 a7a5 h2h4 b5b4 c1f4 c8a6 f3g5 d8e8 d1g4 a5a4 k Oooops... g5e6 k Just in case you thought White won all the time... revert 1 wname W_Brown 1 bname W_Uhlmann 1 e2e4 e7e6 d2d3 d7d5 b1d2 g8f6 g1f3 c7c5 g2g3 b8c6 f1g2 f8e7 e1g1 e8g8 e4e5 f6d7 f1e1 b7b5 d2f1 a7a5 h2h4 b5b4 c1f4 c8a6 f3g5 d8e8 d1h5 e7g5 h5g5 a5a4 f1e3 g8h8 a1d1 h7h6 g5h5 f7f5 h5e8 a8e8 e3c4 c6d4 c4d6 d4c2 d6e8 f8e8 e1e2 b4b3 a2b3 a4b3 e2d2 a6b5 d1c1 e8a8 g2f3 a8a2 f3d1 b5a4 c1b1 h8g8 g3g4 f5g4 d1g4 g8f7 g1g2 a4b5 f4g3 d7b6 g4d1 b5d3 d2d3 c2e1 g2f1 e1d3 d1b3 a2b2 b1b2 d3b2 f1e2 c5c4 b3c2 d5d4 c2e4 d4d3 e2d2 b6a4 d2e3 a4c5 e4f3 c5b3 k I hope you enjoyed this lecture. If you have any feedback, drop me an email at cissmjg@hotmail.com. Recommended book on the KIA: "The ChessBase University Bluebook Guide to Winning with the KIA by IGM Henley and Maddox. ISBN 1-883358-00-0" 23 pychess-1.0.0/learn/lectures/lec28.txt0000644000175000017500000002713213365545272016664 0ustar varunvarunk Good afternoon and welcome to 'Secrets of the Flank Attack.' 6 k This lecture is designed to give the viewer some interesting ideas on how to attack on the wings when the center becomes locked up. 13 k Since this topic is relevant only to closed openings (an oxymoron!?), it is safe to say that this lecture is written for players of an intermediate strength (1200-1600), as those below this range are probably interested in more 'popular' opening strategies such as those behind the Ruy Lopez and Sicilian Dragon, and those above this range are probably familiar with the themes that will be presented. Not that players outside the range can't pick up anything, though :) 45 k Note: all games presented in this lecture come from OTB play. wname Shidinov,M 1 bname Amir,A 1 k Instructive Game 1- The half-closed center. g1f3 d7d5 g2g3 g8f6 f1g2 b8c6 o-o e7e5 k Black sets up a classical pawn duo, which White sets to undermine immediately. 8 c2c4 d5d4 k Black closes the position, releasing the tension white placed on the center. 7 back k Black's other good options were 5...Be6 6.cxd with a Sicilian game, or 5...dxc 6.Qa4 with a reversed Pterodactyl. 5...e4, overextending, is a dubious way to play: 18 e4 Ng5 h6 cxd k ! Qxd5 Nxe4 Nxe4 d3 k += (Schiller) 10 back 8 d5d4 k White must be careful: 6.e3 d3 and White has problems, with the threats of ...e4 and ...Nc6-b4-c2. 12 d2d3 f8d6 a2a3 c6e7 k ?! Correct was ...a5. Whenever black pushes ...d5-d4, he must be prepared to play a reversed Benoni. 10 b2b4 k Grabbing Q-side space. c7c5 b1d2 k Black can't grab the b4 pawn since: cxb axb Bxb4 Qa4 Nc6 Nxe5 k +- 10 back 6 a8b8 a1b1 e7g6 k The following maneuver should be remembered and repeated in similar Benoni-ish positions where king 4 is an available pivot square: 10 f3g5 o-o g5e4 f6e4 d2e4 k The pressure on c5 yields the Bishop pair to White. 6 d8c7 b4c5 d6c5 e4c5 c7c5 b1b5 k The square b5 (or b4 for Black) is an ideal post for a rook during a queenside invasion--that's the rank where all of Black's fixed center pawns stand! 15 c5e7 e2e3 k White plans to open up the e-file and isolate black's queen pawn, so... 7 d4e3 f2e3 k And White's rolling center combined with his Bishop pair brought him victory 46 moves later. 15 revert 1 bname Gordon,J 1 k Instructive Game 2- The early N-a3. g1f3 c7c5 g2g3 d7d5 f1g2 b8c6 c2c4 k Entering the Reti Opening. When Black has played an early ...c5 the Reti should be handled exactly like a reversed Benoni. 12 d5d4 d2d3 g8f6 o-o e7e5 e2e4 k The center has become closed, and (provided Black chooses not to invoke en passant on this move) both parties will continue with their flank strategies. 15 f8e7 b1a3 k The formation taken in this game is that of the Czech Benoni (reversed). The focus of this instructive episode is the Benoni player's immediate plan of na3-c2,Bd2,Qe1,Rb1,a3, and then b4 to open the Q-side. In this game his plan is contrasted with the crude K-side bludgeon of Black. 26 o-o a3c2 c8g4 d1e1 k A crafty move, freeing the KN from its pin while hitting the square b4. Note this move was in White's plan anyway; it just happened to be a good move on the other side of the board as well! :) 18 d8d7 c1d2 a7a5 k To hold up White's b2-b4 advance. It is a general rule that in positions with closed centers, the Knight Pawns (b or g) can be advanced to create tension on the wings. 16 a1b1 g4h3 k If 13.a3? then ...a4! ties White's hands, as b2-b4 will always be met with ...axb3 en passant. So that rule is important, after all! :) 13 b2b3 h3g2 g1g2 f6e8 k Freeing the f pawn. 5 f3g1 k White pauses his Q-side play to defend. 6 f7f5 f2f3 e8d6 a2a3 f5e4 f3e4 f8f1 e1f1 a8f8 f1e1 d6f7 d2a5 k White could have played his b3-b4 push on that move, but he decided to steal a pawn first. He will then defend for a few moves, and play b3-b4 after resetting his pieces to their natural squares. 19 f7g5 a5d2 d7g4 e1d1 g4e6 d1e2 e6g6 b3b4 k Finally!! :) c5b4 c2b4 k A disadvantage of the Na3-c2 Reti lines is that this Knight gets into play only by taking on b4 or using e1, a square which should be occupied by a major piece: the Queen in closed systems or the f-Rook in half-open systems. 22 c6b4 d2b4 e7b4 b1b4 g6a6 e2b2 a6c6 k The threat of ...Nxe4 is dangerous. 6 b2e2 f8a8 b4b5 k We have yet another recurring theme to look at- the importance of b5 (or b4 for Black) during a Q-side invasion. Great rook square, b5 is! :) 14 c6c7 e2b2 c7e7 k The game concludes nicely: b5b7 e7a3 b7b8 g8f7 b2b7 k Followed by Rxa8. 1-0. 10 revert 1 bname Mody,A 1 k Instructive Game 3-Expanding on both wings. k You know what they say about advancing on both wings: either you end up looking like a grandmaster, or you end up looking confused :) 12 g1f3 k Don't worry, they're not all Retis! :) We have a King's Indian Defense and a Modern coming up next. 9 e7e6 g2g3 d7d5 f1g2 g8f6 o-o c7c5 c2c4 b8c6 b2b3 k More prudent was e3 first, so that on ...d5-d4 white can open a file. But we already know from Game 1 that White does not fear closed positions! 14 d5d4 k Well timed. d2d3 e6e5 e2e4 f8e7 k The center has become closed, and White begins Q-side play. Note that b2-b3 is NOT a waste of time, as this move is often needed to keep Black from 'jamming' White (advancing a5-a4). Black's e7-e6-e5, on the other hand, CAN be referred to as a waste of time. 24 b1a3 k We will see the same pattern that we saw White use in Game 2: Na3-c2,Bd2,Qe1,Rb1,a3,etc. 10 o-o c1d2 c8g4 k This looks familiar. Can you guess how White might respond to this? 7 d1e1 k Deja Vu! White evades the pin in a most unexpected manner. 6 f6d7 a3c2 a7a5 k Black attempts to restrain White. 6 h2h3 k What!?? This is a horrible move that takes away all chances of an easy Q-side attack. It was imperative for him to play a2-a3. Black stuffs White in the following manner: 16 g4f3 g2f3 c6b4 k Stuffing the b-pawn!! 6 d2b4 k Another mistake!! White should take with the Nc2 (his worst placed piece at this moment) and then pry open the a-file with a2-a3. After the text White may miss his good bishop. 17 a5b4 a2a3 b4a3 c2a3 d8b6 a3b5 k White's queenside is completely stuffed! Whatever will he do!? 6 f8d8 a1a4 k Trying to take the a-file. If Black takes off the rooks, he will cure White's little problem on b3. 9 a8a6 e1d2 k It is easy to see White's plan has failed. Thus, he reorganizes his forces. In closed games, time is not as critical as in the sharper openings, like, say, the Dragon. 16 d7b8 f3e2 k It looks like the long diagonal shall never become open again, so White relocates the 'modern' bishop, to a different post where it overprotects White's structure and... 16 b8c6 f2f4 k ...frees the f-pawn!! Now white grabs space on the other wing. 7 e7f6 g3g4 e5f4 d2f4 h7h6 f4c7 k Penetration. White forces an ending with a knight posted on d5. 7 b6c7 b5c7 a6a4 b3a4 f6e5 c7d5 d8a8 f1b1 a8a7 b1b5 k Fine rook square, b5 is! :) 6 e5d6 k White has recovered from his opening errors, though he only has a minimal advantage. The rest of this ending is long, drawn out, and filled with mutual error. It is not important to the lecture and will not be included. 21 k What IS important, though, is seeing how White shifted his attack to the kingside when his queenside became stuffed in order to obtain acceptable play. Even though his K-side attack was not dangerous, it threw Black off-balance to the point where White was able to come back into the game (and eventually win a complex Bishop ending). 32 revert 1 wname Cobia,P 1 bname Shidinov,M 1 k Let's root for Black this time, shall we? k Instructional Game 4- The Stock Kingside Attack k Most of you, I bet, have heard of the King's Indian Defense. This defense, as it seems, is notorious for half-closed positions with wild attacks on both wings. 16 k The following is a perfect example of how to run a K-side attack in a half-closed position. 9 d2d4 g8f6 c2c4 g7g6 b1c3 f8g7 e2e4 d7d6 g1f3 o-o f1e2 e7e5 o-o b8c6 d4d5 k White closes the center and intends to attack on the Q-side. 6 k Black, in the meantime, will play for mate by storming the K-side. 6 c6e7 d1c2 k One of white's quieter 9th moves. Black is out of his opening book now but can still play 'automatic' KID moves. 10 k These 'automatic' moves qualify as a 'Stock' attack, or a series of moves that can be played in a certain formation that the opponent cannot possibly prevent. These moves are memorized before the game to save time, so that all the protagonist needs to think about during the game is the move order. 28 k Different players have different arsenals of 'Stock' attacks. For example, some players will prefer playing a King's Indian with moves like ...Nd7(or e8),...f5-f4 while some players like the system with ...c6,...a5,...Na6(or d7)-c5. k The former attack was played in this game: 26 f6d7 c1e3 f7f5 f3g5 k A trick! White threatens Ne6. Note that this move would not be a great threat had Black played ...Ne8 instead of ...Nd7. Some move orders are better than others, apparently! :) 17 d7f6 a1d1 h7h6 g5f3 k Chicken! If white wanted to play the line like this, he should have followed up with the sac' on e6. White's line is far too passive. 12 f5f4 e3c1 b7b6 k Stopping for a moment to defend... Hey! could that be another theme?? :) 6 b2b4 a7a5 a2a3 g6g5 k Back to the Kingside! 6 c1b2 e7g6 k "My play was far too quiet, I should have played c4-c5 earlier, the move doesn't need this much preparation. I was doing nothing, and [Shidinov] was just sitting there playing Bobby-Fischer moves" (Cobia) 19 k "Bobby Fischer's games were all the same. The same openings, the same attacks, the same sacrifices. Very simple." (Geller) 11 h2h3 g5g4 h3g4 f6g4 g2g3 f4g3 f2g3 g4e3 k Winning the exchange. In this example White's last few moves were very poor. 8 revert 1 wname Dixon,J 1 k Instructive Game 5-Another double-flank attack. k One last example, a very modern game, shows how Black can achieve a maneuvering game against a king-pawn opening. Though White does not show much skill in handling the position, this game is still instructive. 19 e2e4 g7g6 d2d4 f8g7 f2f4 k The Three Pawns' Attack. Black can now transpose to the Austrian Attack of the Pirc, or he can try this new line: 11 d7d5 k Suggested in ECO, but only now receiving practical tests. (Schiller) 6 e4e5 h7h5 g1f3 g8h6 f1d3 k 6.Be3 Bg4 7.Nbd2 Nc6 8.Bf2 Nf5 9.h3 Bxf3 10.Nxf3 h4= was Borkowski-Campbell, St.John Open 2, 1988. 10 c8f5 b1c3 c7c6 f3h4 e7e6 h4f5 h6f5 d3f5 g6f5 c1e3 d8h4 g2g3 h4h3 d1f3 h3g4 f3e2 g4e2 c3e2 h5h4 o-o-o g7f8 k In closed positions, development (or lack thereof) is not as critical as in the sharper openings. Not that it isn't important or anything... 13 c2c3 b8d7 c1c2 c6c5 e2c1 k ?! Now Black can take on g3 without giving white a passed pawn. 7 h4g3 h2g3 h8g8 k Shying away from allowing a lone White R access to Black's Kingside. 7 c1e2 a8c8 c2b1 b7b5 k There it is! d1c1 c5c4 a2a3 e8e7 k !? Black transfers his Rooks to the g file. 6 c1g1 g8g6 g1g2 f8g7 e3f2 c8g8 h1g1 g7f8 k But Black has plans for the Bishop on the Q-side. 6 g1h1 k Looks unprofessional, yes? 6 d7b8 e2g1 b8c6 g1f3 c6a5 f3d2 f8h6 h1h4 h6f8 b1a2 e7e8 h4h2 a5c6 h2h1 k Holding for laughter... a7a5 g2h2 k Ok, this time he has it right! b5b4 k Too bad Black is smashing through! h1b1 k Otherwise Black would take a pawn and then move his Nc6 into b3 via a5. 8 g6h6 b1h1 k Aha! White's rook that guards the b file gets distracted! 6 h6h2 h1h2 b4c3 b2c3 a5a4 k Making room for the N. 6 h2h1 c6a5 h1b1 k Too late! 6 a5b3 k Black has achieved a substantial advantage and is certainly winning. Note the center is still completely shut. 11 k White probably relaxed because he felt there was no way his structure could be undermined. Boy, was he wrong! :) 15 revert 1 k I certainly hope you know more about playing in closed positions than you did before you watched this lecture. 11 k Happy hunting! :) pychess-1.0.0/learn/lectures/lec10.txt0000644000175000017500000000435513365545272016655 0ustar varunvarune2e4 5 e7e6 5 d2d4 5 d7d5 k The French Defense has been used by every World Champion since Steinitz except Fischer. 10 k Black's main weakness in the French is the light-squared bishop. 8 k In the French, black usually looks for play on the queenside (since that is the direction that his central pawn chain points to). 12 b1c3 k White's has other good options here, 8 back 1 k such as 3. Nd2 (the Tarrasch Variation) b1d2 8 back 1 k and 3. e5 (the Advance Variation). e4e5 8 back 1 k But in this lecture we will use Nc3. :) b1c3 6 g8f6 k Black brings out his knight to add an attacker on the e4-pawn. 8 e4e5 k This move is the beginning to the Steinitz Variation. 8 k The other main option for white would be 4. Bg5 (the Classical Variation). 8 k However, the Classical Variation became somewhat unpopular for white after Korchnoj often won with the black pieces in the mid-1980s. 12 f6d7 k Black saves his knight and prepares to push c5 next. 8 f2f4 5 k This solidifies the e5-pawn. Otherwise, e5 could become very weak after black plays c5 and cxd4. 12 c7c5 k Now both sides battle for the d4 square. 8 g1f3 5 b8c6 5 c1e3 5 k Black has two main options here. 8 k He can either continue with 7...Qb6 5 k or the quieter 7...cxd4. 8 k Let's take a little look at both of these options. 8 d8b6 6 c3a4 k This is the best way to defend b2. 8 b6a5 5 c2c3 k Notice that the queen now protects the knight on a4. 8 c5d4 5 b2b4 k The play becomes a bit wild now. 8 c6b4 5 c3b4 5 f8b4 k Black now has three pawns for a knight. 8 e3d2 5 b4d2 5 k Now white must take back with the knight since Qxd2 would lose the knight on a4. 5 f3d2 5 b7b6 k This move aims to free the light-squared bishop. 8 k After 14. Qb3 or Bd3, white has a slight advantage. 10 k Let's go back and look at the other option, 7...cxd4. 10 back 13 8 c5d4 k As I mentioned earlier, this move is quieter than 7...Qb6. 8 f3d4 k Now black can choose between Bc5 and Nxd4. 8 f8c5 6 d1d2 6 e8g8 6 e1c1 k Chances are now roughly even. 10 back 4 5 k Nxd4 is also fine for black. c6d4 5 e3d4 5 d7b8 k Black now looks to reposition his other knight to c6. 8 d1d2 4 b8c6 5 e1c1 7 k Now either Qa5 or a6 leads to roughly even chances. 10 k I hope you now have a better understanding of the Steinitz Variation of the French Defense. 10 pychess-1.0.0/INSTALL0000644000175000017500000000407113457667617013317 0ustar varunvarunPyChess does not have to be compiled/installed to run. To run execute the following in this directory: $ ./pychess To install system wide run following as root # python3 setup.py install To see other install options/formats: $ python3 setup.py --help-commands To run the pychess engine in text based mode $ PYTHONPATH=lib/ python3 lib/pychess/Players/PyChess.py To run unit tests for pychess: cd testing $ ./run3 run_tests.py -------------------------------------- Developers shoud install some linters: pip install flake8 pip install pep8-naming flake8 --install-hook=git git config flake8.strict true ------------------------------- PyChess learning modules need stockfish to be installed ------------------------------- Dependencies for Ubuntu/Debian: stockfish gnome-icon-theme python3 python3-cairo python3-gi python3-gi-cairo python3-sqlalchemy python3-pexpect python3-psutil python3-websockets gobject-introspection gir1.2-glib-2.0 gir1.2-gtk-3.0 gir1.2-pango-1.0 gir1.2-rsvg-2.0 gir1.2-gdkpixbuf-2.0 gir1.2-gtksource-3.0 gir1.2-gstreamer-1.0 gir1.2-gst-plugins-base-1.0 (If you have no sound in pychess try to install gstreamer1.0-pulseaudio) -------------------------------------------- Dependencies for CentOS/RHEL7 and Fedora 20: stockfish python3 python3-gobject python3-cairo gobject-introspection glib2 gtk3 pango gdk-pixbuf2 gtksourceview3 gstreamer1 gstreamer1-plugins-base python3-sqlalchemy python3-pexpect python3-psutil python3-websockets ---------------------- Dependencies for Arch: stockfish python python-gobject python-cairo python-sqlalchemy python-pexpect python-psutil python-websockets gobject-introspection glib2 gtk3 pango gdk-pixbuf2 gtksourceview3 gstreamer gst-plugins-base ------------------------- Dependencies for Windows: Go to https://msys2.github.io/ and download the x86_64 installer In C:\msys64\mingw32.exe terminal run: pacman -S mingw-w64-i686-gtk3 mingw-w64-i686-python3-gobject mingw-w64-i686-gtksourceview3 mingw-w64-i686-python3-sqlalchemy mingw-w64-i686-python3-psutil In Windows command window run: c:\msys64\mingw32\bin\python3.exe ./pychess pychess-1.0.0/LICENSE0000644000175000017500000010451313353143212013244 0ustar varunvarun GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . pychess-1.0.0/pychess.png0000644000175000017500000000227113353143212014421 0ustar varunvarunPNG  IHDRw=bKGD pHYs }eYtIME  [ɥ{FIDATHǝTmPTe=}.K.,5cY+ [!3f?F'aM?_Ք2e66DIB9[9 겋+X~{޽3\{}yAr8"*Si[(.bY*QFHN[\WqS2M .Y]Zj\+ҘOOOx 4NmXS;,g~'fZo?$IE_3E_}y;ݏpoJJiߜ̜Uis 0-|LA!ӛ1`̏-ܒ@tdg&fJ^b/kk?w$00fg /2ji~?\Sk;?.߰g=h<, ŵBG~cSSf pPrr O-.|J~WTM=}g[7-qd9|Cczl$/v8Xm!+kxq);ׇT}^>45M7__v]N'^7WK~Ʈf#>7m.-45X 'YRXF9X"5Cn2!}@lNϞɫk^%~+T56UC "9"/-*\|pV3+j4SQd2iFwk Z,Vp 8+;LӍA4l9!8s&CRB !g&zզ4Ube;͆hd􀶩HqD8;ՃeUr8򬝑nk{=wx( #1:Պݡks`0ny(&ΪVe,\b)Ko,7ԪCs$UEd },*ch2K Dᤞdg\c &RcbȊ]"+!O}X5/ "+vm9oQv]ZH,*!wRWNyg'9f/q]{K~|[~]:W}A_oťd$H8Hp*.LPNwwn+ s3{=il┴ﵯomVߏۓKt+V5F`>gduf9`n1 %8LටV(E@\-6^1{EۥQ4 FfA#gl1 F(>u**v̠pC Cy,oǕSol+={GUu]K9FXJR'&}B HɅo@Mֿm톧?s햚OL}̓~sif|?XZ@[YqxM cHRMz&u0`:pQ<bKGDtIME 3f; vpAg@uIDATxLˎtIDr{\2+{=ĀˆA3W\=ႋ`OMw%2s7;*"\G%P,Df稊9Ƹ1^pT GQl8U{||it?zp4e.g""0sg-{ r(;7a̅>BJR@MZU+B['c8XyN""X +Z"?ş}bXσ9Ox|ҵ z8XkcH-Vr|'AkV8sF+S s DZ`Ԁo**cV6vxx (5+S* '"BP12` ԊqE+6`PDpsk1vv" (˜0pwVa:Uad,s MUeai5)?'Z98oZO䯿}~tPh7Ư7>x;~/YsQ7zDUU {bЊύuj4ȗt~v Ǐ?Fn||Z_j2|^?o vzL3l5Jc~~?(Uqw(#_|;cN>읱&Go4>ǜӜV 7>9x0 sPj=kQ"+l?zr;;,[ep͋AT>O|8oP$p LPE~6ZU nˢ9y94a/Hಐj,E~:xgfΡ<7S܅s`s!o-AɹRjPUZ(";M:=:T\;X Wן9aPJP <\ȼ@q"j&eFxF &M L'̘jZD(01לAADPJ:IC\(")E)E`J;s-'E7ƿsgz0ɘtp%Vo(klY!)N&5_b/9h⇲USLr_v¨gVHYAxTUy!!NogŻ'+4gB,ORW>'ch{4H~n!P?>~GS4hUՂAؾboJAZsK2-*:P Ҥ2BUy;NWJun5PV䂂:0 ,JE45Rg"^,<6x\s#sXk`"*=& Q)_`9k6:PjE7(z}NrC(s"0-9xg }ҵQʲA&4l6&TThlyxv5r}ocx\UPqQԢ܎3>J)e@* Ci"y^A*=_ "tAl̲ jPi0MƎ D ~?@TX6!rq=08bqZp7JSnWZPQ~\FQ{9k1ǘyg@ #L_!|~:P+- =Jp6~|"GznsC*#ʢB0q_Q0 E #+nyXRe?9Zւ;|LEhnT,g$Vc^ܳMgc0U!Qe,6N-칂|A{Y65AYԲa "PV8˜`2.8z$ K|L$\cp04Lݳפ2|pTۚtiE?|PkF?Eo܎ܴ?@8X;<=o{ʌ>&9Y,j 95ZX1OjF;~-y5rsFn׸p=S4(BڰK9uH @_6'>8jE0"*e-O⴪5y 6o?ĜTy#(e¼6jx\ ZւJܝ {P9OR?)勪9k5 Tʸ<@0sr_wCp܂k[{.܌fQB#统T9kV̷|fɤrBࡨ/D&Pc 7XA b<q?ɭwKʚKq VZ8&L(>}6R82NmNH(I% ͙{(WC.$]{Y[ B` 7b A{mZT^V)rnRV0-:@|*kM{.TZKiGϱery֢DCjM |@+-Z(.L[$ih㨅48Jq¿{Z3׋X|?1  nr}7*>? !ȠUqMV|xv*ybx ,ТDtJ(e-0[OaTg& 3Kt?Ro3HFqX̹x4K;9b" xSzփ1hy:#</{|Ns0fRi_6ÕoωY2-PMXUY#{AExB;J!hGe" J6?{Tb`3wӆT`l2@kLiaZ+Í޸{vk Ym3 KiV*TUzKT\H5q0%t $[$Pq\I9AIi%J]q MZTx{iI| pZ.XcrХqh<\ZZJ]7sOf> A1<U~<| oǃZ`y $i[\34`΋7E!eX"t)yla3:e}J/(4l(pύQaϔN c 뵀rcRϻPjs--΃@h%aJf`9ϼv$R'bIE)4sj3c,Σo0DUbɟ" goVSK8Xo.Km` E37GItUR80a,XZ;B+U8[{&ވ0 l[,!*<,[Ooo|F5'ש@;PI~.?nk \gѰHM+_pZgI@B*] Z̧T9[KZqREduML*cFm=U/?㯃.:LbΜس͋jkP`J$(E jqĜZ曑_ʼn,)}.@q ;3**4`\F#O&|2Ƅ˝"m0|&~7|H*Rs}ד,@Z хYx?O> PIATEJsppھ@%yxL)Vo rYk,*s-"Ԑ V5 ӱ Zx|Nl-@>:s濓fNMPj*Ԩ{B6G8ZdH)[aVgZt0PIi%CڱM%$W} JT(LH-W2|cǶ@m36piny|nuK*CUMIr^K-~o(AR$hݨH8*y= Ř):O˶Dd^O.[_q1 Bk:Gkx5kc8۝5H!R nxL~5&?9?{%@[.:"NkSڐzQT*i VBTrWH26-.6([J%`+KlS1^rHDW}eTG4VpyT@ ҁIEۏ{"][v T V+OD?ZA-Ǣyo97J栳 s bLr1L3|[ۙ5Vj߶UeǓXrvE he&o)(_’&ɤ[$ c[M$xnS{}nG)cZc\ wihŜSCPK"jI/:/4$%+,EeS3 gf[8DqymƘcˀfE¨'J@[%hKA|Zmf V𱀒0Q}=ByRŕ*rTX@ =G9fsH`Αۯ9.Bme)%+kl ЖR(^0[[ڤy] _[jk  æ[Pk0=(==$ rWnowsLPi5u}f^"\sǓǓ9&᧷ۦ%x>G/Gꉒ/yvs!.dD%VrLq/pxߵ(?|R Uv?@~ i6 77e<swO`#6W kwZLw1#%mou +}%uvOOZiB;X9X(k͡ɤDEiΨ5e]sp;`E3g 6F* #OR;G &3 REE1g9p\HGm܎+h@9ƛ\YƜ߹%>߾?9A-g.k8jkZ l$`< E"ָ`,9nO Sz6"|KeX f|x~;Y|Μ3uf"RR|x/rp?D"RXI?IL Fr'ʲFG]U0G03gOs#P!(\k4hEnXxnf Oo7܃Ǔş~~y;J#mKsu_p;"Z,X |%?>"TtQ'W4"QHN/VT@V5ah9|Amdpd6xru?S?>6R aX M[Hykɲ77 M~h#挂 !$.VoߞK2‘+ޣO1)iEm^xh:>S *Xi$3o9==Ue)v O8{voHn2%wPO?/QRUAMX5[[0|jEUsU qjqjb4)2ƦX+zh~ոfR wU>i𜡫܄5[gĔmo~"N`mclv6z-HUJnZD(XMZY1HaYh) #x2Q)xz]_#V*5 "纈@f%@lMl.Z{M3Ep,Ol\#_6Kn+ TJiz䢊Pq?suz_Dn8 7?*ж%SZ+eWcN's-{#?h(Ph[GQPMm3}zvzK6㖷Hc >rƳ#)2L@tb6zZ1k旾V |c2G ̄,LE7\ kB.8<jM5bCgFlf,Xsr1k뚂ں(9łGJ(?>4_y2#$$0lmI[iqyq҂p+PpIxO>~0Wݿ'T%gd[i2$Q<9Z,ᏥHdUʏOQ)Fޔ{bG"||O.s~]ijOXm?9Vi\1o/kB K!3z4M4`6p@CKxMML.?,zXdffk3rˉeWpraMVEҐ4(Rm{xu7V:Ư)NgڤHFh/<< @*qÃPpmFj[<)<;J-:Je0ϹpfW-B ϙ e96ǘ|xy Yy$6[ʩZݝp[\$>Fˢb?>DZU?ۢZ>@{=dI!7!q+ƵUMQ +#PMBv*r6{o\FTTC -,! fIvYL_n7s2ގuy}{WJmtiC] cMZq\iXhg6I9r++h7zs.)ڱ<H?I9S4bAiLOK\ϷO" ZDwzC9rI.'eJRjy ,^m@֠B;RcηRj'J&|YZH9q`nPa٠rX W Tҡ}-Uϋ&׎|kL]tq \SRU-4Ig x >Bڸ5s*';_) B%=U9JC<&Xng|DSp-P5^p"4 yHO28Q79y/oU+{~`oxXSUjvlyr![^%.9+fͅSmȌBeoUJќ<0Z5?Y̝|5#I%fs2msN =1/~֒o^8\"½tڨ/cB$QRӻx E-Pjzӓo\Fe)k6N5(xVQ۷o"^ -k!wŢQ%|΄( H(GĆNĵƶ[U+L[mJFt фy׷&fەlIOPౌ>1i>"|?|7OC\b"*[.%zN%]ŭ,CI)d唚be n\۽+#BGX53*4ΕمJ6s2&R٢7mg?ԙ(G`1 &Ǒ"{uǵR ^+ V@(d'@臃\G͸ H}6JS~Rb89!r֑fL2{\9"9CN_l!5sRD0#=քg!0`ضDJ-9Вɹ+v]U?zv$b"˜j1ӫ8viVb ,16u3V%S+,OiSe-e]MMЕd04?㷞IYL[i2(E[[ J.YD&vF;6 1oo7Dd&[x\3}uqrZcI{TF%K!Gdܯt]%>KszNٗD^!ZAZcG&׵+MӄTw[eEVJ{ 9WJt UE[byZIUesNDۼ%,Z#)AFz8)ԍ B6o']Ꮉb9wʐB>2CR[|()#;`,gD$mZúB;B#X2ڶ^lΤO@8{g*\zOu%ry}@!vX/PQ)-sb$If:e=E@K$,! p TͿO():Bf[s> =LCs(˙OrY.呅=dJE3-/|]` X<9VN`tʙ_3=#Oq Ŗ ;PkCyQS9Zpg,O aTS4+y` XPʠUO.ybSEv}xVuz#TpMȲ[LK:H d,%XZ9jZ"qX>WngD:=l8= Oz㗦yyjhHQ^K2i@ ̷ᘏ}q;s*!+?/51MkS-=eRt+ΞaײR+%ٟ۸! Iw|:rIw\2 }AJ67z3̘[|c~ly1'VbjH)37ے F,ټr-Ruؤ0יpNCiVL&SY~1#<'W *>Y7$b?ntҫ֩u/jn# /'d TVTl.F24-\jigߞq`H/VZno'jViBJgqjfxDΚ|gSb۽dSȰrЯ<(HJh;jKffZ9c=m+c+`Vh$+PL;?z%؇LqxeIc|'o'YZ2<-3ͥ«c+ax ’ti=3w nd_]2} /qAp-T&} /|8J{BFGFGu tC|U߹ުp|gM&ʭ}Lj-t*LN 5#Q ,AxS_>ʡiTZo ~z~m7\%X g:ڈ=(<. 4g9Ԯ|ot,EJ"x vkRiAپeF->8O8A"m'{JYHš =xIJJB˼̰|Lٳp4b/oEo~~ abt P"lM R2]\+yIKjAuL~@Ox~9*JO=(IvS&tXHzlm2vs  +˺ɶ|VZfijgI-7%!BvtHiD#)|?I\?.j lȶ,9D&*"%TZn\ )T(FgOu\k*|ST^D\jKj3jYl 0gBp/ШmSnb<4ڕޠu8EzL`Prx:&^(F$g, T*l+U3ge֯+0tJ %aU],_0"m+Rp~敡D֖|ARuNK Z&LRYw2 RPAUTHOy^X1|H "_ǓVҲd!_K-g4P&!5-p녛vD[UE½+辅5]mL)e2 MuEwlUOh@1CO! XNB@|"n2&Hao?>)ZviКY 9ʈuM..QjFssQTi-2joizSR7lYӁ1_h,m܎, ԞiUeeC&3Go_$FET9[ #2zf̘%^Y/~:Ly,QBW(%gM$V,{LEݒ픩 FBJ\/dVV]lHd̘Zyό %Xi6xZ6\,)"ި[+'פj-jR֯+U #ƘO摞zG}iS`y EM/o0ɫWsq$nҥ|%dž{tZG(|E 2)Ut)uX&|7V&-U4O ss"%ZCb,Avn;2HIejyjkHɑ fbl%-(l03؜TA%K?Ɛ[aA9zOܜ\7YTVX.!t3"4m ,*\rB;&9w؄Jg[VM{sg3d^cjpdیVk8+]] #lu/(N"h3+Y |+3]S-<chHfZ8k't=.aS%7V,MB5])LNAvKTќ(%#Ǡ͟Hr~jEkEc'$QY&cd8|Ȣe7Ŋ_ϭS\xo>|^oXRN&zK{0 Rj5!y2lGjZR3V]2vSM>w}!Usqj%n`"xkLO{MJ9o5~=7[ G~{;ӸV*#n%xmY/J.J^Ρt͢j򹩭=.v|kiƎѝK%TLz#ܐm 9fȤY-JoD^枟uSbSwd%4^J;dR* >fA#ݧ3.i< .ع $(#`J XIr0ux}w]͖UF{yP| vWVlR%K utvpLcqAZ g,[$e"F%_1={:%+\ %Lqф8"VAk_B_,p.2=%bSls%fTWT;cdo6L*?P"urfA!rJT_CD5y|Wk(ĮI[cgn[WsH=OJL3&ۓ] N> (J hut!N%#N|S%[xT]'$2qfeZp {hϓ-%ە 2/@C\3VmvR9EW ࿗v=6=./ kWv|>x|}ёFTX X;jJM,y~i:*|+`rՁRg}kJooȠ=*nݜK%tY?V+GX%SwWEÌтV ʒb˾6),PlDЖxzuDH"GFs\f2dJnKY8Y%e;mc>v]@vao"uThNE w/u'"I̤T&$x,|B cWl ͖Οm#J*[dfM%+8 Xv^g%HjO'a ]d2z}Ry+x;HK| UGref 8{gLKX":q!#J۽SS-sMn[1fT}la)j Y%sMܘ,(d=E/9cny)`ҩjncR?;H}5yP4b}-Ǚc/f82ed(H++mrkAh0֠؀H:.b2JE\uziz*\HaD9rf_4MJPvjV5%Hl"v XmYܶgnte(ىYKG&!dK/s,5r=ˠoB`]1ǥ-:0v($%alQnϕEIVwQH2x^ZrXWT-^zz8,dY$ /˜*/7%}Cy{#$61+_,)UaDMeǚ Rv.eq6&6r~t /r%H%cg3[$.߸_yL[)_r.>9XY#?+uKd:y8Wծ׶9/ k=Y [t=K ;*5^"RyyyGe;$3Sd+=|WI AEJRV^S5U IËB!13๭oiN*D:tԯLVkna;TSRM2i|9d<۷k2cgg%Hx^m;rT)ҙj2+α Mnɚ92(Z9^f7gWjTϕ_V`eSm#{{k)Ƿ<_ TR6VlxQ`,m=uCRHBha-5tEj|V[<"&A"][t,|P"e:R=8: ]s0Gs C#Klj*wrژTdge6J59:gSoI1RynU\µ7A)^ Y$JncS%TI+C+aw𾓪^CMO7p3l9G,wKл়w)03z%gK/_hs9Mt!ڭakbHu/YTs.%XaH|IZ¾(TDxB- R%=+d`oYB1ɚR-U+&[aTw?>*Dܪi9WX@+'j5YVrY"kn1"ZmPd1bϔ*q97eNcp䤕³zMcMFPJ7^Bdj-KAW9}dA13%R<~57W uz *fBvsaCp 8{i9B0`Xv! Ỹ-sQLxT+Ay9v@eZ)ro;VGr\xe3Cӹp*` FY"XH@[aYVχQۑIWJæ}@~'~{ /XfLֲI&uJJ2lq=3n*Ol'W#}Ƚռl\j+N/h6sW(UۖM6|Df¨ oMI?ýP5"M8 t)a~Ўڿ_.2hc3: n5gl`v!j?ևΆHT)5P'=*H|WZ5@ FdyxV,C/#_Jr"3VF/gv˗"?/~'oB5(~AD>Usz)||^zIX!Jo#nEsxqbY3+E0#fvB*uk] ִ{6TV% Il@ ߔZ ϑ 0zǼ2jd-RFU:s٩z0Z/L*:~7+*<+,<]Ef}41/X9[.[L%/)rs;Ɛ,ڲiG]\>SZ GSKKɳ{:jR[H-|>k|U<yS\~?X)#Ub)ta# 3ۯv=.DuI[{Hʫ~,n >.E{p*ʫ ZN|YFk /Ou6gbJT^<"iRT[_HP-]WGV(</oD2wx͂.}cɳз V#.ӄo+HΙ# bLFFv \) e\*}Ѻk:|dz 0`4~-#>.~p'e17,AF/0Zrm&9߮'gt)WJ@zVi-_}Ig}k o#=3[܋*ȱ SKIM`uiKȘkgg3RSTiZkpFeRʞAb7xɓjyKL{`y*03%s5e:;d*B+Neθ=#L>jB3y54+u==YOJ|zJx}ᶯJW~/X5<@y^OqydOy:3Z-5&=WT8nZJDeNvJ}*`_l˃ny Nl )vqdm%Pr@@LB1fdsv'v. c v7>OL_Ԏ V=Nuc( eC=&߿}g)Q[m4n,94^Sle퇻]ka>3k# )lKe cLOQʃGfmd.hٍ BLK+5g"8TXklћMEhaZ`Q}p XbHU( cc0\\I"Z[5lRM%Sk͉(Hq3cdwa&5ke\ZY22p pK s9z 0J ōܖw!TWgJ[Ckg_>瓵ɵnRRq6NώސAIwBTmKwawYK&Kh?3Sej4Ix"zwB2ؽm|oI΋cGzX- PWK247nH$8lIJw)Qx^3ڸz[EiSY5ʎPe Fc-Q9zеws9( YZ$U3% )AsP۩9ӬWF]͵T`-I5:ڶpR/્A$+ eh15"AaH9.;?~@j&[POuM 9V3QSNe"La<3>8{&r znOοH^vgBZ\cr܂:Ռ+?OAu%+nCr+v_r27+n{Z{nZu ^x<:Gk\'?>ZIG~snv"R5*ajFJj򵐦W,"7g͟?^״֭WP_fV=kLՆ{AUr`>Jv(ǘa&uB'"[4#YN"9_R,c5-E2notZhܵoOןp? EsK+x?Ec7Lv Fg5- aN .2k-8 k2^iI5/g< .IiVf5W:V5g|S& ە,KlGDUl M4@ z=okJ}!H-5UݕY֚c 'c|#3- 835(T9iò,4؊~%D'v&'jkR A\o|{>S 4(K"1zguՃ^ oȧ]OLtmdҾeFU\#鉷0X\qT_ObTȥs/"[)ו %wI$Iνnx^$n^yKEdu֛@["9 tb-O_RrkBGm]§kAmM֜8ת*BZʷ~'e]5#]7joRd|hy%d˃#@*R<ω`}Q;M+I&t(^Es}:d}ξ)T\6x34W~~ob~98CdS$^&o~I5ϟ.T8>jyv.F) iDcX/ 820 A4,ȫkIou݋Mh+B6Gՙf8QE81x>]"}8{ vݗ:zt8d%caV;%!}//C@T0ٚ(,1p1$ sUzؓ1WW?~NYP"}ˣ麳,d2Nɪ1v)?OKX~[|B;Gg~K_Rnkn{LKЮ֖8ER&R?qhZ"m—~4BФ~Ά~+FvPG|gIو~x`}!TG@Gjp}lIFvMŠ\7yrEeF.ӫcmɰ|y^K-2+5RqDR"tgH7:"A<*eNXVд0viwE%[ɴ\zQ>p!qr|sb'@Ι\̞XоI4U+k4"HIM:4Uӗ;iCJE7gw P,C <4a9hQx6N^:駚 (魏 no)5} wMo!h0ѱ1>2Qg'.FEM\ WF/LE L  ۤ%j߇sM<üq]q5_x+`94`Mi>f3[;fe(@P%DL^;se1TtE<&ovg!k:'# 6f=Fb03x(|h%"}4v*QHnA‚QթC Og%X9"!6u͡a@ў孀 <\C`Ǘy>;59}_${YR"yYUV9WrYŠt9#8'ZXU>2mU6llEɭ_zȓbNWJ! Adߜо3Zw#J4cM:dޗEQ锭ڄSWpI?pd"2Ϋ1ݮk#o~"qW!0^}ؒvA>M̸klboөBoF:Ug$ê+siCshŖ47 Ѱ(zm/g[LSV<P"-!VrG s~e.K:e:6(ؿ-HCw~~H"? oy0by6.1k%x֤&gxDZٵ-Ԅ!מ%)7!^}7ۢX%f̸H:ISTL05WSa%=S> є#AC\֔́ -ĈŠ~&[ecP޿i|Za0xMb\-3QÊa)WPî+vi`ydJ󕸴_$-ח\e._sr_[ ˋ-6=hΗwO1]l)G!"kE (Q6JΧNI64޷yȩsȍ_g#@I wB݃68t((%qOVxT$Z Y\5zNlImAok'0ͼVCsAETGo{p< UOoH &[|tu¬/A:!*+u,p."^Sg5 mNV$L+RXcK>1R0$:!RL8ڙhJh0,`hz-zd [۪XyQ*UNQxha{N<]V[ ml'G-+ppMs0 [;BS:eTH٢9CjZiUǹ< ;pNK:҄cơJp2iLx}\گO jʡKG1 !Sh6^ 4k&Q =Df4f9&"8 ij+Z54STaKlUZraCc?]o||mPwbJYt;;L>앳5"5yClްq̾m;F~q, i{<)D+2T@11lڭǠڳJoRuI)嗯mE2MX!]7VAJ w0{a ݮᬝ2%<17.[/EfTgPg|=/ڞ#ʪ@'.W3Թm\b1y=0ߟܟ ?I4 exl#X2JNMJbJX\N }#9oڵ1jæS(A]d4o؝>+3 ΩkSf(d:xy%@i1f6fi>\>8Z_y(bO]sM.Ui*>ߜ] Lyz~qT? uE}ښؗ!eQa_g{ 9L@6/l8OP>mhG%^ޥ N\i ua9ABn)oQTS \X!1Wowlm#hI&&I%3c8>>2|{W$×ocQR8AJ7}wo|MChމ!ŏ(mKNv+#Ne1*=x>D%+e:t$6s`n3fwrw>Cc\Eȹ0ܨiRׁ9e`Dz[ b=>-!Uzvz~rru+g" -}uj'BAL1qQ#mKT+S1'0){X^q`/r_o] ?̋QED}ꍏ1::9F*QDʉ1Wv&󕎱JRo]"?>:^JSӮ|\Ѡ2 ,nђDP63ʖ#t<57݋8y?Btփ>}}}+.7QNUfEzjƂSb꼏 UgU B]Iيh#J5;4x7I>ȟkп:M#~ٌTl5Vv)-cr7. 6VEC14_U (7K5IX芸\nJt2]'&;LTj&VFK)Ze_}F~|??!Lzۂ (-ͥ&DmlDo˥˽WK?~0MY$ Ky6~}O5/'[PG%{A\TPð9>Z`leηe|"1`[b ފƲ\$ܮ=2kOMLْ1{%!PNV#fcNc7fITW޳Do: sl3|=*3H_~}d81LhivVL0&8e9)'PJZ1/pPr˄:sToُW'&~ hA5͊a}1MG3?k7Ưnk`?]'q|n;!'J Օ\fN.=H@C,3l6bTpt}YDuV `UR8'm88imr`=aRIo19S6qc1|<2N\Oqƌƥ$*b\P\Oͭ\KeT@}RvS ꘍>ĤIƠ1=,7~x~sqFU_ŐatrLUm ʵ%^t(SVdzoO~O㟾?}'ƗCd:-Wc,2&$e)Syy]q1ܩcjCj6};gmڈ+W!M 0,˷F2JJ`ZxR1C$y%RxN%r_4T}2 7GOlo{UO"R\̵_9  )|0ŴVhajc$Фd7ƱhQ58 # m81+9ctq1NX_r#VHEmz^ o yG1&q:蓋.䯇E-Еl]0PA"6 n7m`MmS~ݨU׷Uߐ/Wh(ANQ*qmi<z Nϐ.[?yFٌ=oi`1x6rPAׇMfi:u="RE"_C81V} TߨOjoܮ9EZXH1sFhIo Xl[cdK8/>?~zJ|FX؄!Kju"ٖrն~}Cgh ]]kBZV ]Ԁ!N.Qz0{<vL+4H.6hj0F>&J[Q/݈]9:et:(L m8'&]+Ƥt[O|?K@\ތ?r\kUl 1V-.2 Kfu. X@d}a!2|,$uŻ;!Ws.ֺE\@2% 0:CI*ߢd\l"vb<)2ϹRObQt fB1Pꊜr?syl|[gf AzXU }&HLN*9&Cb^La5.Z!trRDjP̠q>@M1F,B9v z[͔Be"_'LGR27,[͗HQ#F9)$ G 3S@ Lsָ/NJqQP50`d9el=VV!/SwmURhā-U;vmuupyrʓɷ}2qԓh懦n4ز9^5^lcΜi8!tLfL)OVE |k1yVnS% S:,}\+ݪp%V5IDAT[vk=M"ef66mIϮ傑÷'2?x!|ye?1:L#tua:vy+c6eJ)FzLm>>xut%XM!|jK#6ci+vˋ1py17,2]O'Kү%gā,-Eγ-:j2(h|p$ƒwӼ\HdȐs QLa LR[`'LLqJVL1ȞN'ʹFVBy(i/<1֟opw~&_BɅ9>);X4I"0Q!쨄IB۵HPhʣ:9necv#T͐iL- *v!uY a]evՒ櫵~iQr,8tMٵ'=mbrMʅ+8BBHpcfumآDI]dw8|m%+V‚C˞*E 1pId6;u5}D(TL̶Efϸ/v4lۛ)vSº9rBҽ:$ $-39ɜcho~+=<Vvg4bDWcl&dn_ n}]986CD2[Y<k ~3j'S3ޟ\Š~'9mP52Y~p"N4{T3lqŀ ~p"{q3ؠW:F{Z]bġ0d#(sYi+¹0xdQ+yLKU2IzڛtxD€e/ݞ'/cS{T#r.AȒ%!MV{L)Cdrt\t9g.;)!9KlJ }ZWHW[ )K \(ŏ4TSu8tȩ0^jBL K}[}lH}@u,KJ@iХzrN,~R K9/Y坲%W?ȏOǝI]y߉ {yO8U6vU@v04U<4Ʉc8XR 9(sTJUқs]V< s09GhQ /B Ffor*ڤ[@vѲ^ʒMxSu{m*ZI< *!0,[&0imrۯޫ3F$]kZF*6!- sjn91:O.%Sei-+D&봺BS!hJo^.Ė׹leKB[|\LF=r A! bv󎝹S .9g=d>>]wS/7mTÐ#ߟ-c.ÒeLa n䃒WPFG÷0ݴe=~@֘މf2"Z %Fo9NZt>_nsy]2o>\VWQ^ F&5 ,`+n+d&7D6\W iJc,ŠQ%IRL5̞O?PqϦzCHͦ6G= ?%86T}kO"K?$F*h+Ma "1X21ZNGsBH X!bCL Z 1ƴ@{ Lu`E.QȪmb)Y9+$.yNYv>rN!~vIzູZ˗yY|"%< C&F6زvqHJ'X7dޠkHD=1Ғ99AN=O5YZ: _뉣ww'.OzN,+%%QrVՍl>RHyb+ΛiQ⒁iӨu2f?J :)O㨃%q^)ӧ (~YV(/9 (Y~rvų+1J\:|/ n(KT`}S \I=Lv+ĔHmvBL"y"UҺW|4)}e Yd|DIzO? G)Q1Pb$i`I1I Z*~3N>=Ζÿh'KbDf-`!uuLf v+1\m4^mӎ q0z ?+GU]<q#3 ˋcMؼ):us~P*X&-6Z%͋1 G_gao];MIHu_?5d7VR:vVqYK!X@$Hrbļb(AY[!H[)ƶ/ICw}6.UuV9mݹqlmg+q p~v_WƗowB7.KkP}g>N5E2sκ$bz )po{#Yr-Z8ݯ~w٨>VtKfXH5^<-_\3eĕ$ѧ=W"Ɩ95c1/Jrx?VP m* [$82=1&p~?k'[˅g;}HBi1Зe'YMre x 4]|GHDQ:Ba{q:NMh2/Q0+V9cN_w]_;I=N4{媴g&NIp8LtT'ࡓ"Ek)xNYo=w&g?ׄ amAzԄ G<3v dSCV2pJKQ<:2klÌg%vÔ4Gg/;gSc/ߨsvhaGYuTq[-JJK5[io_hKV*!NYr`+뎏7U;8 xVSRҲG>İNKȽe ]`ܦ7s,Zť;KKەa1t 1M\ɐcf 'An?p>?/aAp"J"MhDu/(荼'PxV6#%'J\A@"ȱ6>qڂ3-` L-0DWB}Hrdc֌CV^5^K-,09ϵ -[۟;Z|~YODKx}ZGى؇#ItEX(M׬̗#qFӑW@]"[Ũ4iA0Gٽ/idr \\ۙ1䭠EҜ9.a@\/i毼;;U0Ev6AWTEcr©:qjZ0T?>s<,ʞ a-V*’E43ܶV ;&cH[iǕe%=3PwT2{Lhn/YxANu%Ȓ[@IH.pLo)o\v?cDֹ]/ Έ}h<̙fEѡ) ݰT3}8a,Rѧ B-2NiL_ EMN)s]b$~ܜ> % Emd10K8Ls0Ew!f&,9;K6%~c8\17.=/:?i}8D?% %TIkbk׬y1NYD[3XdKTMh|L50Fbւpn8O17uyV.gW4'-g$i::=f, [Jt679g$r'1eX4]5DQOoLIw1|A;9} SH 5hc)yjExw)D* fلSmKKgW5):mƘN0S/@v[kw̌K4sqv&dE(AyVTP,/k"$hS[9V4"9<i~Q,NNtw>m|zҏs >B͗j-%Co\mbmuzg=酗8Rƣbrꤩhdb)Ԕٯ7lL 9\V6]Uu"p !?jÛЮ) M]8gmuRudV_L IR<\R7`9P?kf TwQٶ TTq.}ĴݱsWXݩk,J+IIQr.$햹l2DVxz!~|0$e86B.ɡŝYuWW jrLSOd"{dȵd9 'E`oMx$bwds u-w z\Xa'Q6t>>ؼӛ;}߉Vڱ/zSuߚcLW>9^ DXh!JarEfbsh=kF6z:# X(:3l(vNe]gڗH9"m&TYllw $/JXBIV*ӗzJ"Yc+PІaKY5XL^%|ID&CFv 3G;1JvK(EڰA-Y{Y sPL1jS+1>04vNў֟X\#袋Rd$'4Gx0UAv,'^˖0K&:%Hvl%S6IVVkP'7yY*撂RĂQʳv,0Q-8!{oifDYgC7K#++{dZno8Ĕ00"6@'̨pc ǂ0΅u6FvAd:lh2vϠ0Ҩ媳EhЉu F lVkm)֙Egh'wpĵDڶ4AFZ#hH>nPi3"4Lm櫑X%CḶ1*k$Ɯd\$W G*dZξHpMT ҋNJ.!OИlWsghi/IM|#mIm𚲈(HM*M^߀$[}Fh:8,ठ&סR36<-su+^J^}AEІa) z1MΘm\m JCofQGrEr Z&mQAKQ]0R=a}`Ӫ -fUeydV\bɐ5 -Y'[F.7x 5,&ʟ{^L2,_hƹ,cN\[*4mu@ }fQ 씂b޶A-3U[ʸ;6*uBvw<*̷Z";+M?WvňMOZWNp&⦨!vJh| ޠDzo}?V89?ƠueN&Qұ}FsO}!3aaVWǒN1Ә\?]E}tܻ\sAly?.ssdT͍$n7~_9i0˽'qc &e7 9^t8Bk_&E~ϏYn #,%+nRy7/ZOHu[0W SV)`4)ݛI :b Y ٚf,VSF 8 7Fܗ.k:6;+ hСsEMY˗#+Rʤ S6 Kx9//6ck yi+r+=Ч^zI[N2ݙip&'6JAQ֏hV,R>ć@^F&`cY(ÿ0 FJHHc㢳녁󬇔:1LeA2%$ireׅ/uNą QTw_ ɔk>]ZXh߭c֖ _I!p\yϕT`6D 9ٶ4o  ӏα1X6;{2\ŗl0m`a'ZYQ=|9<ńSbb HNքm 6-,؜߆kOFUp=Y9 FF 2T#)EVk_ca<->Wx v<*SܘD>u5m8_M9q}'1po8[ 3qd1d(O#!bsu-%j3c8|&ٶ)F=G+IztzN84ɿu)aRqu3<-x^*NgPJ!Mσ6rm]H0&ϡ)'ŏ)H٣][돇oS<)Hq?Y$"hbƶgfrQĴQ #1:2b,K!LNb+LywRL~UD ,_SR 28:I>IL~s'!L~J Ȫy{{O<'[1QX9x8?}FY+[yVIG$3 0|]+5D!%Ǿ]`F4ρLy,:YmџNS XM&cJzm#g\fvfmk![Yy^n(NJMuZՑV-&Hi 5NB6y6up?UvXǓ7?S?~bۮ@[jxVr[ "UHڞS=J NJWb(i<Gi_M D^ydw9=mq|(B0G)؁!Sr]/ cknA$ V;c:'5r-jtW|W98>C4Q%xm2 i|zL&)YJQ Onm—\sY?_-֥>IQ#UΣ2Zsf\lp*Rk|Z9– 2|&K$u`/U'e47w7 ~r&s\fA{ޝ\ ǣ`QC> 3<{LxNx "h\N~}BYi>XƁ 6:Ajw*iVȁG&(M_hŵC;}S+P&oY\谰k'f+ 1HIeaCS"hX2PtX’͵otT2J1P}\DVE:6Do]蜒j #$B].Rwח1mL#ιNTiҧ lb"R7rmB\F@#ra.wpAٻ=2MC-g,j?*_%qRڂa;Geߊ1LR;n0ܦ}c,R@ׄ#y@3ySPzh;}H[bR"vDp(2U",0/CK$`+"$K9ˌcA=j0V?S{l~lGA/zCI ėNr٤3[YCI-[}S&D y]9bm`1\&o0mɜb2[네$9idY/9EØ5xbz+ɖe#z0.M)2h e%*C}Du=$Y|!bf?:tE]$`5K Ta9#ㅅY{5bϥ6K1򢾫ϹPyVbʤӛ5^!Rc8%#֩}םtzRsV|IZDkAk3ڵ y͞%%]! ]\W%%VpD#j1>X} $ٛRYtnjkxbhs䒒$}p6]q!<;ӻs]K2 YpF-oԌu([&H dVLg/ۼʊ餬xmetj!iSthB[B'XH n}-yAPEӗv2è\Xxp=,}:Q"chXִ4O5Ô4bdbnhV*#W4Q M:"N7* #4.A>(JQ-)6Y Z5=K u헷P$ NYOYL]z[sL2l#[X!E'uZm-5kt..% v ?^@_k&L3"3ULMf0KizNB¦t}*kN\]Nd-zK߮leQŖeMRr/or+;ļO9xW:;& Z=Lb⹖w,"= d;,5m67'$srGd.kE,NR(;$*jH^䊰<1FAېKj1i,MMЩm2s;Ԯ>(hְ<J7,$z}@qA'uF)f5l$& Jl2DVRdi zZHIt}q\?nxI_x97EtѼkàqi&K!f9e`r/WfWP /AosB[8?\_IcJpEZg"v#~0Ա6v"äOWpO;1vu.9[cQ5:{_-k ojj<{q0)[bH4&++}ɯsi̹'y2l2Cko0F-'jot&W<[h8A/M/B`D lXX"8C2 ѝ:dbj_sH!1gS^Ţ=P>" dvԣR{ -+fTA?2Ї[Y];B}DK8'W4k9r o6YahS-a~sNı k̔ĝY?Ce]|p>~9XX(p+^51IػQג̰fpOۅm٪70Ę~NHQ_&TS[ kd _~z庨%tEXtdate:create2017-11-10T19:54:58+01:00%tEXtdate:modify2014-10-29T19:53:22+01:00Y\=tEXticc:copyrightCopyright 2007 Apple Inc., all rights reserved.f)#tEXticc:descriptionGeneric RGB Profile8$tEXticc:manufacturerGeneric RGB Profile=h>tEXticc:modelGeneric RGB ProfileoIENDB`pychess-1.0.0/boards/brazilwood_d.png0000644000175000017500000013435313353143212016703 0ustar varunvarunPNG  IHDRg-gAMA a cHRMz&u0`:pQ<bKGDtIME  IIDATxT\G=>!"2Ueֵt7ڻHm3.2b-{GFM';R.L12/W2_ە?8)9|$DOfRJF "RJL̺.lFr]w?/i8a7thVN:2o?'5Jw8R*qXgIg"N0E~/h9\ɟʙ)te]pX,!8p+Nk ~f]~,+;wܿ>yO: qp1;nif==Fz9k!.+4Ұ˅u*кF̅;>θi~&IΙn!r7R5){F ,g4c8s,\+u@ ؀ jΑNZF~=`Ö2cM #>*&G,rk,o<΃'8.߱!wRq|<uqf*a\:uΑ{zTIjv}6#e\iň,4c?4f Fn-JZ V?;10Ak Vс\43p^׆s% #c :cӿMZ B/OpNRzXsyYpauF 2Q[opS$Lo?~#4\:!i\/pnu.L/ހ9˲0 >F۷o]}zrr'~`r^W.5gz+䜰l9b8vJ> CjV+Z|ޙbBiVJʘ)k#<y&Y?#!xiѻ%. kttG):GkMog ` h29|pti]'zGm'=dJ.ݨgjӇ:h㝧.X>8q1Fˍ58N4 !LXZnCHN g{;F.c-2\tcȥOz-eY/8{zAƹ?(9c+VZļ, ۍZ+:ee"z6C)LXxj  Z.<BxvAn>Ps%Z+gJՊsX򞷃ƳN' s)C5R,+˲л.+u u ΓSjx<ؿ>5L3wj+3I GkwmK5Oa0st1 !F\nfl經B~dѿR+}kn`&Z\aV#2f`5뭷%WBp86ak-h ct0qY/xTirqs03ρ# guac?8yH%FT(6L%N޼X>jjo`*9xkVeB X0-38A9VjNԚhh^t:ws0ڛXf4;c ki;:tkyb끱ۍR]88cؿtӹ\nXkE7yc۸iI7}.c ' +Y:zsZRʴֹэXqҋ4s'8nТ1zo0MW[7yJ&.XڤBv{7g,낏0,.`cI9q.x:=r&ǘذt\5)0Xg qkŽs\8LڴE%X 95;a^Vޘy'#k Vs$Zy O f[D3±饲дBiY𳨭:Ӽ0r?xNk 1iL뀒J!̱mϿs#֒s?[u98]k[t]7JMkX4\Hgt0bЇy~-|'2c0nMsVm-5kz߶1tu8/6#\< k$@KZ]hh~,Y$&^FdoEL:Ojʴt*ʹm3c#Ⱥl' -Z$J7e&S0Tk6J [:af0V3#vbVH9q擷>x\/ZZȭޮX.",%*w^Eb}r*P~cA9OJNJ|<DP{Tay 6HtO#\ۚMRX'̅H#.mxg@;x7irc<]}`PNʓM39\ Z iLӭ:N#1V`t:>Z3nxRXo^ Nk6r&1}ZqYE1R))QsF7fG*"ko-H8R!3q:c鈪4qE%;JrݸBC%ӡ55Uu1t3Nq,KZ F?~kY# cm++LZ`ژ';C̴L`8I!DxOZX[2,+˅V?@`5".N7s֩V:֩pYxh˅חƟ֘ SzB>sPd6p4G]?G' \6.U\oZFP!ƉZp8D `+cw][dyo:aH;Ǿ&19OҬ k B^W, T[ sǀl*Fmy>0 ͸J4O%o06!7CX\'lXKP-@(Qg6Z."FN'K0vY9%Nĺk}{ ']",X븧c{zS7nq |}z`,RrB!pؒO: c%˙i zPbމ~ ƙOԜ9҉gzes~J gJZm 1Fy J2=jRӘY%]IZmUL3f\.7e̸ Ӭ7 4G^!X/}ǡG೥[ú`ڋ+sMP !zn~6N'}f۷5rJ i|55y!n zmq&<V!Xs#-kK{Kiڔ?x{qZ`4O12/:0lI-ľ1'j_KU:qNM )ijX/y={Ś38F'zY)] wk$? Bp,IVKfLLʉǾR~HY3籋0Mب{}{ ,^/CoR9}ty{b ,,^JNݺ.zp L03ASy`dtŻ$f0 A936Τ@9ͫ 0݈3kbih޿#@<߾SSфjItx|/mgZf Fp]RrdMzA'Z1-FxaiLL+UV(g%5X,zBNDǑLwFəY"GΒy{~A!pNӇ+PJq)JILX5gTR#g 6hz~:h>f]޶?8Αs)<4t#q^iJZB@r E щkŌXL{NRg]&}&5 %O1O= K/UnpsΏ?~༃}o5\ {E1^omCW2KqAHZ-12 5wM0Y !Ɗk^9qzvJC/!JoכTO эVVwSJ)I'p== Uz s:;4oWnN>: 0^+-˟aZ32 ,<4PZǶql;Z+7q`%}$g$F62nHk-<_gq!0ϫ4A3}XIPћ gtg]FT)a~o%_[obyePjLl7U`,ە_KecEXUIvgRmkg8N}$we$Z iiҍyԯߛhII~XCuԬ)Vb˂sMji.P<~ ! @R^r&,q)FBML!KW8#~ؐiyD'`h}qS],ґPawa(dB_+9^cs-C}lKY7UJrЛ1+ 1j6\sA0Rϛoƹb Zv\pv5;9'&Bx!UqNp+k%I 43\. 0~C%~x#' hq܇ 󤵊_ | [uIZ"s L}d.ZNڵ <Np#K` R/Xfjܽ HBE EqiY?>oC]+~&ǎ3p=JC "8OziǺq$ pRrYYT,C8NbcKemv%X۶m d)Wޯ1X.t⃢E}:fLǎ42V0T CgzlqiHƵ L1 Ԍ IqQJҰA/Ƽ ۿw6v<K= LS?hR$hle]zzض{|ۧx&yL.\Vy^$O sߩ);icFm0yAnm}Z˕u])z;ʼn3C!B af^Dw)u!t ?4LEӤw䜠W,f2 OΝO萒)D)mEW1mk\l }G@CGfzsCer&AYP- U[3u}1F>0; [SƇ{:Ku vxE4zHP)*yIs4$x_S"x;RawcU[~}p)-sUרЛP.8Z/)v{vBd;Nmc^ן8m??]1wtضDY;}:qm^JHbピX`lg^jۤ2wVOwNBreJ}dA\Ѵ!魍qfj3XmkN'e kmeqC-{AwwGsmhoĥ^T}W B#&A/`C:QZ8eY m# F3b\'A->9sKfahd701y/: 4X/1ܿ "X(z.\/9?C3WMڒd=" 'l:}Ak^jr-C`! #^RO>[3QR~ ,ܱy3`,_;>Xl}d( kQb)ӪOmraQآk%H9ji=yv."|8yR)5+/ O\?(0%% =fb&?] }#L :޿vzYF6ẮLqlư,3&.L'`Byy1X8vj$qLqzyH ><'6l}[#DSr3bWzRL'㏑'".tk%el:xttO<%em8J.Ĩ8jѺ] !L suV+9e:K!V'1Y/3>> A-°HB]׫fΒ_>fL@l5)A`:kZK*\*ZI[;|<xk~uc䔰^KLyҪp1r^iڵ Uyl)?p;5.׫7r"X 9 Do}P;pAkZ~h?h~ȱo F#6άguEɭҭ#Ch:$Li;eOD-$Zmf̫ݰ\+p{'$qf)[0 `*h4jז\D nVыЫ>ZE}ޕ-)5QUP>O>a^ɧK_tĊXv'JD+}D[|ov/MI)D_<_|M-M*!4ȥq]i<`-j;KF8qKI:I"\}Ы{ cX/']w>U}.^5A|?M+U290Ralҡ̘ry?^C"Y5`>} qJ@5#aXYyJ>G,ɘ=KzKҜr:8nD=<GW-GD/iԀ38NxK8Oؠ`)k5Qyld;ffiQZAo|~O8 ;PLv5g`lg\n,od9}x{u ?㠵otPN4tXr)yRz$U+c?u-g,+r!x?C˕q(D ';nm(J !P sbw%uB*IPԀelXE`ag|Mzmb9xċAQi@@V ]S\GtBZ=<%Ac%:ai!2+4.cqB8,CV %\l__N9 ܠ[8Ez/L4rF^t=OrY,ʽ7EAc,6JS"?(?ȵIMsi"'Agcg6 +{ǿ t}<Ѣ0UgZkg !bn@VyjG`!Jd`@e1 F|#ͬtVU B BpM',zǟI?-\TsuN4I<8Eۛ iǶkaYHn65%}<<@F,UzV:/ 1R?^)%8rC4Ց)1/ eU],zHkgE0lk 籿RX7h(^phzn)r )eRJ:'/5 HMbmD<)#VUBFF)9RL+)gyڧʂz|XeF^-l98R1bSD2xI̤Y}_at)z񥍆sPe摓g rZ'Yho,}p ഞ}a׶6RQ3'vi䢫ܹ*nDHV[!Ay cC,5#>b;Q[GV4>MeŅ@Κ]̬Lg}Ҵtk wa/!:zэB8A781-+P*kWұ_ظB. wnEగU7jz c稕eӂ 3%iTaT3 kqZG'7z]k]Z?qA4ms޽.xyrnU ѻgSTPO6^m;|^F),u},@Ï۔ZY[lvlLBC N7^ګpk8tCXV$9s^qq Pғd(L<w9eT(zeC>&f*6##<9G44.f1|}|FV5⩝^Ƃ3灴Ct5,ޏ`_7E,&P[^L}}㭀^ ?A0CRUMYnxC513 @4LF#F^*I{z#$Jn%$ 9؆:y05m|[@e02CYiDZqnE}B4iR홒^\4oOAV?d2)r2R<ʀM-<@n<%7(5SrcPlCaTooAL&5j9+oYMcٸ߿^*ñP;q*Rx_J\SǼ0N5+q ԊJ<ϓ 02d) ў`8)LY $[2ЇLukztFH <^'.Vת޺AMa"UrwlXo۷ocw5rʣIF8ˮoRhy 'ImS\WOj>~lgq,<U{'LkKq}n6;6>F/#Y!gB"ʳX$i *Y(q8?C߽)*WS&nol^2*̳M'xߟ|^J5zjNFӨJ\:Kӡ%y=^9}N8iE[p+!zUt U oqVHT)),$ Qq>2Ѩ2UzLy}TX eeT  Еqk+4=c#(Fq+}!Fc;9!(Cphp ̞COsޙ48+rұ,@WQ0/ѪV2KV~iճc#6iY^H}4D%EwQ{'5J*8~9ܻp4FFNZqT&9Yiaw:\gtr $*%3--+,Ɍ^Nc& k['F8$AgS*~6 :[FxS 0c 0^jrEi`iA݇1, < !+uva,8t%_06KT8vEԢ%c;u]^ 91B᧌yr!( !C~p\{3L*詜)9j+ZJ_P:M)Ԕ)WIEهKm/Э5#}(jȤX#O^F s?LW۷wJw !V΅x+5z)6c@8 .@yLXP۸q9nHzP:ev<L'aeU~fEkɵGfGV+m%g#gǯ<>EWY_*Y*߿ \, e]>x<@F ydʐu|7V-Ӥ@<>@ 0NRɭ"186]I3iB1%y;tP]%Hi7lkk;(1Rz9Cq|j7Ǚ ?-Z9.V:î12rbR4Il3}\Jo`Jz-)7*zeD:K*ǾIT >>c^@]&#=fGgJ8GG\+@ly,uc߲P}۫ v0ͪx|uGϲUR ^bEKe4>^3^86f~Gixihq$ $Bǟv[U!8IZyTzF'̑oǶ;*ks`AbP(EEV_V۫M[hvZkz]XJs-GRtc?L,h#XgPguY>VIKgVPh\߮玭8~DbFf9cx6ٻO>DΔ2/ :e([Ρ ,_KօOw mt9_?ge8:BYRYUDP|JS״e`Z< @m*[ F*~`ewA'v\Ex]GSPQY-}Ƚe gݐr;ylJjm![ Q4vih:Y,|}~XVK9 ,/ 2ԉЍm(*߬u%2O5DV1Qi5oЋty)}tXAu؎pQmFZ(UvT *;hcӺЯF]I\0{s*bvK:GJڥ~*bqIS*N)uӀȊ ,oX'F: ~m/v4DվBՋ PKbP`E2tҮ@VeFhp`FL:vx:$S>ƆGzTBZ%-CɲTjcr*sְoۘ %yYח?ǏgB-z1#]3TXU:JSl.9[k!FijfaZ& 5w!lo2'yK6إ Z{B)˺?Cp ?¨$c. cX0E\ڜK-XoU5Ƃ>R$pT33;Џǃ\F؇:EJ8Oƛ tg}nNcbQA-Z֙jFby?|pް\dyA *#cG,goNb *'j\HiTL<* +< Uig45c S4VH>/2ct2S6̝8qeTnޘU=5ϳ@RF$G~Xz`"U@>08 9NmiDժnak a&T^mL%lw}n:E:Q+4j__D8Gv~ ]'/ԜF:-ʵ P_ٷohHki鴚tt}XF.&|Jϙ`/ $yn[Mt~m )WQH4u^9/-Q_BUU.ֲ\Gb7lpC ;t!sK3O *]C5B,묕g4'Rc\c1ϜU}1 >Sŀ%Q7<Ƕi=wz,ım\Y5*!=t=%3_TNJLۍ=T=yT.HkTK'633QrS68r|||Hg= /-3/yq-[VH:+rb]FgvIc;~r*NMRc-n-wL-<~{Fe<rUM^TܓS8G:DycW7yf<%%'ׇPV%OAui9'=n,H#9pTmeqaZ9q>D} \JQ־\. HGjl,R]ǶSߊ.3=Ǯsy2ZY7fbҽ==ZQ!.h <Air;s{ JPm0CIf==zx4tЍ:~eAPj S y#\ι*;DFqi0)F)G0QkS|ʔ:Ѯԛb7J# C 9W~2<>N+4ql;?2/3Rrj)L8avFE8^8CҬf!Κ+Y/s,˅A͉?q<*E~}}wtjD9ߤT  a!pn;#@gG2,jL'tdZr[#FnoB5zRÀ>fgqfgܫҚ2-g@+rx $[28Hc8Op%'!<cLj꯽>5t{iF!{lK7VNH7UQhyR]e8M䮸^BsS-OÖli^Μxw:UJ9@d;"1h3 lۻ.7]*g8VBGUT}, Ԭҏ؆fslSyG()*+{nWKEz[K4HEH/RܞY)2Iהz:=wH .Psx<#jLj.yp`DºZ48HRs~q1@L"I1*l@t Jmqҩv{{)Be482ݾBxSVx\gn݈Q=嵱y!'>Nt>!򭃌x]"QN9\԰p?άPN)SI;T1ǶQR |Tj!j[,DZx&ȕW^_gm}1uhm8|Gn 5;h2#(8˴oo|jac^.VU> cםaY3eE-2:R.+{J}{'ם ~QH Zy$һ>ǝc?R*iF%4E^g.t,j/R:-+Cmu.Zu8әѨʎTgp0q!Jbtlϗ 3PZczCF?wW;Gu]yܿ$u/g2.Ō<ӽQdZ:}ޭqvp1ל!'vzP\/וʺ̬˅tz݌\iG; FNK ]*UR7D3l\ :3M?ia{ c,t}6ǶJ@y/~2EAS}I)ߎu ~Ĕ(t K9c/pطMfn;SV0?m1J$il␽V%>0d"$O42*?2NU jSN44jb{)sM<)k>x@%8~gopa*E=M/SCm6 ;'me =_8IE.r53Xy{ 3Q6<~1%Y__9t۶Dʧ"4;ZuI>N녴m $ˇ?kG<^jVk\;*$gZ&tv(kj+=~b9zB1]Ҭ'QcSkCµ\yu醔QbvY2}>q:>.[SbTJYk0bd^8Γ!jו8ӽEUTԢt&IvIьwr J߾s^1XiR#i]b6nk)xZ,V ]︨?j4s Qh%AΚy>e'x6m:R{cK7$ "506Gkkc絾,"n߿QFXbGڪ"GB+Kۡ$ӡ)9ӀFI^8L;<-=(Zόl5ۦFn߈#:3,|OQPpy\q˜Μ5_󲮃*vN9˕?!CwNCQUunoKZ~{cYrLO%%`&~ׇqYq%!LS)Q:5Emf&j)Q!H[F1RYR>35GV^IEzH4/y )⏕ml~^;y?x| 97xLC)>x.+h* JiĆ qz)ySF~Ju#NSHTt*@sM.X ( 묮EJeWV^W~-τ_3\j㡮 g8u~@8>e?S:5`Yf$?nϟ?IyFԝq Eye;*c;4sv`,eD(wlCt.@2l tzrIz zjx'ՆEixns>}SG^J2F#|8Ej7s_(< v˲↢8өt_*;-86olyJC_k>ɎThwqF*k832R:դ8^Vh4 R?}6r瑼Uiwu8s~((.wR*x_}4oY:`f\fY9jLEm}z/42'j[mVh3“JlY埰qA'G ApWB? l|Ѿ #ay"Ǚd<Ary=%8P(^(C9qG:l5 89ZGo8f‘2MJ?r}#!_\o6* O˪7zwWS vQi^p3oaN: -~PsQ-lAJ9)ࠫi)ooTtђ\nW9J"*z⺊5''.i%Gc-ezqs&Icuz]iTZWvZVlk4M—gN I1(t==%Umt#5vmEGQxR;!bqg+˨.ʟyqC3 gvE9T5g@~Wχ@?9튛'Ejdze>Nf Aǯpx||r>f8q~\ E=~zpjo;v=twM1\om_| %W s{\/{y۱J:n:We!9Go0ػVv7XKùpGQD_Ҿ=.eЬ$rW5| ?]IN)Eh}/<7gHs^B*j&YxQ>c>#hGo8-kzePuModP#'.7}؎qrMyL3vqHi'Z8Ϥ^-R~l9r)wDutۃ8b;?@lL!rndr03﷫8AyAle+X\R! pc E 3Jl+ˎK:6 zr/< 9/YE;T9)I8G*J|#Cl)JvAt%C!uL Qt i$/:2MH'P}A1u_V땷M!5k,_mtivDDy0-1㛂FgƐS _w/%i>CGU*+ؘBd 5!/+ӢЯ;pA ܰ$XA>\:VJUN~dK&SQM!gP+HΔ3eK)q2;R>(>d?ϓNޕEL,#'Q8#q]3tLLkre ThEׯzWmyA5X؍{=0̗?|';o0y㐚+T)ɽua!N\no,;|-JiX3N7yt՜y|~C__Ʒ?c',+e3_.l))/f|. rU1]GJbfGj,ZYz2jTiӰGBf׺bT]NS[1 =c{(:mvKI}?~&!zb^Tyܫ|:]еFa21p2u5Z)]bJYn#Q*p-v=LWԹN3&3۫RbL#gBI:u&m963燌Zg:_׷Ȱiޯ8 ˲0|a? ?l___޹^Veh#sܘ8BwcTS㾽jk߾!oi/6{}O ":xn)rM+??ռ \sUmt.pn`vc?O|}>-Gwv *+Ŵ ގ JCaKY|`'ZW\[} UNuR5E+쭿U D*׿FT'vr=qA8U'$Y,/+~/阳2@hV=5'EiXɆLkZCH2xI\ǶQʉu7<]@$Ϊ0m ~8 P$5 5XX{'_~L2q}{v?D=^ #`ouN&߿qB|rfzz2/qr槉7)RZr0VX6%I`g%ZydeDPz:Bz"3z"Ǚ* 58GNam?>ċz'm^m}ӵj ɳ# :OśzE!Ϋqxj}TEX-1iLLQc)Wz(J1._GIeYj:|~|Cu.SˇQb0|<}[3rN9QZDerʈb .+9JRr7߿asՌ\l{Qпں.S8Nl&R:Gһs).2S PVنkpa&ע(gFM)̣3y7 ij4 }TRs\jM D4 KJe qV鄨dre6p7Τ_Z|{J|}v7$< .Xy*Ȉa$1#`cT\r_rJTyt^fjԃT+1_HA&N'ZJ:d0\=U6;PZVCU<>ȵV4y޿)e5%>~4L܁'R'́y-x].iPǠC:U4F|7UF)kU~\WPF9Z'(+{yo <8$`VGoc? >`xgnПx.1Կ*XSF3I R!ʘ]owz/8^BMkGsϊ.Պ|Я3\u R7CޔF2b p3B1'4f0PPqhNGlVW.+<zWQ>Ƕ)ź#R4/\Wn޸ܮǦu/- I g.,8NuP~c`;31>zlZ+(.ŧU4#hiޓΝ^+k5mSfxx!WN}*{ i-XQbm *#NAj^(N@^E,ӊT E†Fdl:ib{<RLqװNs_`3~<_uViQю eYh~쯨8pֱsfjOpseš85њBkJij#ijfXQjkP c@%`J Ӿv'>Bꓠp<zu,w ,#1jWɤ&<XRtQF+M^ָ^.'CTg tW*|=e6s!p nkHGr]hEQ*翇t 1FU> yg^Pɏ?9@rf)"ˋhQ{ovf.,l)Y+zOb;AWg`W1l &,ŤY At8`ִ,6*T5y~'Zu8uH?'N9 v|-aV'.bQ֍p򮑼+f/j]G^gBy^pAХ6cta3ˠ1`V=`(ʣ-,qiLAe^tQƘg"kB[ Aؖ:t|]_3㯌5rIqcӛWzmka$pSn4BQy0ʋ3ƈ) P}  '̯\6*L8~lq8c9y\U>?)%sYWJw2hnĸ|&掳ؠgJwi"o2yyR;N,q3fJ+*F/a > bޚ霩*ZjrY\:)цPޜC&odõ9%)I$&#q _wnDގWL\ckf1` uuZԕk?CdZ摅׆ &Rzuq?FZV7҇ |ɟy9gLrrV/s,uxb͗RH 1@ :W,AI!5 )lw[l="3=vddFHVFf(Nt?Uުk!81szj2Fnx<S49ӕБRU޻|..}@Zqv~G5qAo>jV֊k+tfZr62ٟz餐&xby֫]d+}Q}סfCM?ǸVh%rd> Bh ~C|"e,x6b|q`}YXsE yVDGkifM>KkŰAqBYm2k Z2q m)o{,şZ9Z-RH!\21VHcPOl}+L'ǂ'_0V#'F1zGiU܃r5³dsAcN9Mqt>uJ_^4{!n*ig.[bS2` )HCJ|vN0+W)V:F*Ϛ1d] sȕza}X|hk Zc0Sʉ~B\*>?<5ΔXHѹ[<>^7,s@Is -q 􉴁tضM ZSŨkp.@) ;Μ;Jԏӄ=x:sv& @K,P<贖}Q810j'.dYG=cVQzn Jya;Pʧ2ܖ!N3}es#{%6-gC|p"_g@#y*HA!Sh%ZG9߱;/Z!Yև0=p> uOt"œ@)Slh,˖)Y+|n E fpǾ__/1Kņ1x6 #6d(^__pKԋ4c9R~fLˌcB'Q^:-O֗s*xQp?WkdHԜ}@Yێ2Tt] {e}@I,<121XX~0+hX됎S ABEl]:X+2%3e2aP ,뺉ZOUH' "V#.BjFoض''Zw| WX~p!Ig=Rx,M_g) S\ F):xAz9<iP( ax,hc̴ !ݢ CS)I^%ZD2Z≭+U.i򵓼 b8p kW+ J>\pssO(>׆b2 *\qjKAEK܃\H.TȲpU s1z=~ !4HbZy7r˫1\z%2U0a@%NLaBkBků 5NdC?`6F6t:]ѱ+LHBe8C (Z-"ѐSBN 5:mWJƔI\JyOci& 7^Sx6gp^9{rJ%a_< 5"`gؔFX04{J ^b ;||H3je&&ϝY=gc;9|Aq?aZ0?>\@gx0,iߜL35aR⅟x=gӊeH8SJ(amww~>FZ [[}@3DMr^ ,eXpl!(hC?6p6YȢ(^3Bp2A@ PR:RsMYoVgq; 0T2blFF,]2EVr)(‡|投Y{)-J@SOk\h\j i V((tr~4Mćǃζ7_FLlh#:Zx qMB]y 9N )|36*略qG>t @*K{b&Ό=r(c(Lx+ΜHwta- AYԨpo^"1V(Qϥʾ Z'M>kvɒ;8zs"U,SW_*s4W!|YR['c9'%FdTő{8HqcRb%Nw2Rj柅oFJ?9_ , g~J-Jpwc,ۚ+K6i=E7,l\ZB6-7Rӵ,'eJ><ǏA8~)J;l&$t5u&Jvt q[1mX-e5j 8kvt"FƓjpJC'x/Q)`P gNp;8EEkڅ2$(0:|!>R*ftθYi7:3S; RzgN ZvSTFU*lk r&Uwx, uy%^V16T3>/O9;KEj)Z 6M0|^ fd80Y I;ow]iqT\`cWIo5遮< {Exq '٠WFwxx 7Du&t4k& ('$e2Z<)gIWt@:$1.5J3vVGSG8M~}}owhD7iiD[\?Z9%ݪVXDL3Žż<0kd\&AyGAB#% T7[''cmR뤹dP1sֺ[кAkE>-ia>Xa>)BȉifdeY8~yNcg[J1!B5DH'd+h*m?ѕ4E<&{R q, ^ 4{nA+Js`|R7> '=BrN@Y3uk39ڹ/R䔹5NXPEVeq* `0i+-9R7ϭ{66ҮV'j…8XC .x,' 2CMQj/#E /}|DGCI;' J;zx~AU HD-tnwTTF˴Ɂ,4BjVX?q#?>0z'|"xc$mc6+{Xw̙|5Nԥ9V F[AJ:׎x#C"aX:CEc%o.OZ/Zqog-I2mr5Fzתp'],Kȧ_7*W7(µ;οt2[3Jx FOscb68aeX<ҽq%c'T*mW.S |mr J*gLΛUj'lRle | Ҫ#Q3Kɉ]j0aW= rchyLNޤ0D<$x~ ֍ .V+A!"# q͕ J.=pF𭵰/!Pcǃk1qTsBpǶXOg*IM.D΢\Aڹ/s0rƺh"RF> R]lmH"sb}h]R⼜22a&FcLtIw^3`pSȡf3OCi. ,`:/h٢+?MJ)F܍E.N8kEzixsk U(ºa,5ҐjZ#yh"5ZDnXmli1^57<%Vʗ5!rgk'+ 1^yڨ $[809k)16xێ{ewHpg+<§x!#(FZ-Uf>[-() RD*#2"5"8ByfI|&.eLZۗ }tV.]Z3Ox_+X Hz|eM܈q0ڡ+w%eX[YN fi5nhF9QR'R8ؤ(tVO25RTpFc_lJYr}$5\U)E|mƨk$c14l[c0-3C9Olۊ9v2ֈuik<Ɉ/}g SR~!?Fb428Sq&t%c2ytĔ@L[:d#=K+ NKcL[ę޶oX_oRSp;m8C zZqg{Ewu_)2Q~gOkM$'V5B!y<B,lZ5F蒺lA[iA%%ZEZ1ѯFț??/R)"J+ļ%QexJ4 +P/~ope;y*uhEfs h=.|&Ԓ1"\l}JnJNXW>Ӷc?>v `z~ȭkZDFm[ɞˌRDz.k26H@|𑈊= ;*)UdT#["_ݝ=Ԁ5F&L1O3#EZM3`,%mniфy]Om 䭥㓀p0-3h]Zyg!1EA~젊>*B +q.|!a IVı{xL4fuΜƱ8O! ޿Ѱ+Bd8vB,W#XÞtY^PZo8KvҌ~TQrX`-^d|V$AB>w˜hwOM";Ck013'Eu/BS \]gR !88c>)|{i@m&P [G3tXOzhv*  zwJfl5JF:7UsGv_DʙلDm @NSސ l~sB5x|p2k}Ϗ@ON'ƨ1h=r5=gyGdhqBF֠,wpԂQNc]LBn7Fo8]-TV?YgR+e6ޱ<<~?|<<*au[F؃Lĥ391#1hK{8|`^&IJ4Di;8}teRD(Ԓqhb2J҂(55cyaD-xCKZç19b^E+g8𞕂 g/"xNy)Z? 3x~$NXGf1mI>0E+ <-8)9$h!䗂m;nfZ< y+h!g? Z_HHDnȥ PzZ 7MZ~hX0Yfi]h̘+j$Nk_h~'F1,BDb1d* Ty_p`3M8$|:FGi{&#.\ep߆Jyځ3e8Yx+pFRXzh7r#bISkP<$ oN #F0(gS)X~(M:#` ;xY咣E:h::4cĘ=aU.N"XiQ;%;Ls&[QꃁR2@JrAyPRB ^겔 9?cJ{4#2M̚SC[3!:+F^+i H p1З2JZq)H5PV`іq1FI޴cSɴAzud2_KK U&2pj@LO 6'3@Kp]T i_GLJ0FV혦58-`„\j,}q$/.:P?29$/Vbݏ&'-.iFI*]JSq QMBa8%( ,Of΅a J0&,-JaZ>lZlmDe506`;]Fi{zgfM2$7>Nމ7*jNeW_$N~SM)P}!Oc! #gVcv9tޥ[p !cyP@Ep.\D`'fܼ ȉ Dh2I7ַuöL<ە. Df|e vi1{Z/Cpn@j&Ç"G]Jgrk8҉Rˇ5OnF8&>6\IsQ#bt $iFiXgiGG.X Qm)5M@9p{pVJܻV˚<NRS.($ PPÈSKP`k-|FQZ1nħ.FF;p<4GWj,"JfM@TjA›ָcuϴL'YG^Eġ4! !rʼld{?dV.%aA#$7oޭEmCVࡌۆtRq#%7 ;UD{'wF uTi:J5VE6VY1xrt~5?Ѩљ }`*~$=!#@x㟜3jL_+*r!!w+sHSBh`_V{R"ұû _zaጽ7_f|'eC5q!iz>S ې|FDdTo྾P΄}?0qӢ^/>PZ #fށ৙@g6L5(Q|ZoZR]ԜGim C8EQ*Ig R,J)Cvt;r",3C~i5ԟ؟ J>QR[n촔VyK/TXQ: ^,|>6"N XeqWr:9uBmER1NX>?ȥ+Pc[q"!l@kEJx x\_+[J!R*/g)aٳe 1-J)hȥz'%YBT* Xэqn@=|D m[qn;I:~2.p)n9&>lU6hW|~q":U ZVF {*ɟ1Xnjm{d(q qU kP*frXe@'[-;8AF Ԝx9BɄt`Zl'lIKin}zGNT(TtRqf<H*OѓcjϢ92dKJo!ƎZy#Gb샧]&GJ8 _ߘ|\A$>|1;Y"6Wl@:NH(4f}0e!@{1އDO'xP 4>#P(\>\(RO^RgJ+, ָeW~5֯թRLi@Ԏ0Egł{c~9jg5^׹LYmۨy~`JoA mi w#5T:o%k u*4H85+ @w\X/b{)WM wjx{üDL Pel/w|~|__Nv5z+紑_dFDz@_;w5jI<hc|>RB9N)ph=WV5%kz2;ňnFx'R@ueۊ{8R2PN~޷g:Ivb]WDO6/ ms"ΒD&~BoD e58ƬjS1 G !m;g !Np!g$(zU–|&Z44s+㮟tI6&a0MġD" 'ֻ\eW*oLGx>3șwinB_0XᙹVJR"C vNkUYZ*1!D- Z:/Fo䇩!XpQ7R l|h@~io.`En5S`l,/޻;s%P)q}9߫2ʫrq!Dځ5~*yZo9zNr&m ʲں(P \{\"kk_8Ӂeg֚G֘@X{D؃.fπztzyK=1T2 Q EBC0v)q"ŧU,' ;4-&k&joFNMV}k ɒycB)1H Q䶙3W9]/:F2+]VCb*4?IM|CRWs #͔#:rϘ=kmp䳠q8SGkD[ut{Tp{2 wxikᜅhkg:ypBۙy1̈r 7دzsٜß\$Aց .Ů mC)_IxoHAv /.tkcTpAJQQ۴,~C@ yx뱾Wl h:4S[Lm B2cnW('2Apy"c*T獖B5q! x'Ra ? cHDq5r&;p͈8E;oMgEjbsg@NM,<jM\\n=rmo&LMT+FU ksӥǀ爜&ן 18`?T;߈vX&Z켅:m0%u@2T.=m( @8v$.4ܣ)˧jУ9c{#Lë1K<|B[NAr &O,ȧKH_>Pڲ+xOyy E-])+vWo^|XґQȶ W ? FUFsךzp'3Ds1:-AIX.;  2_^+Bpl%;`!',>R}Y~%3Bf%L4Z+R- ?P8m`> B@n .2V+g:I"PطZ#RDe@i$Dҹ3+LV<`d@[s3i +f#dB@:&-}/\~m4Δ*eYn/rb qSqG e4„: ''bh90cg,Fa-(4v|/Ґ`CFkzJM8XmZWnn9o׍o䔱u+$y=Zĵ1;Iz,;0%[*d=6ks!8ۉ3QN ".4BZ)8V$9˦&j]v(|@JJzK HJ.oH\Y#@`&8feڠqtS0OxZ#to?~|?>'V$5řuF+kߞTeE--A h/bHR0 Ԇ >oBvX&9m?B  \]̥<81MM܎1p Ts>h~F M\Ő6JP|]Qsk JtA|[ T9 X>V!bI Pa[ 4_oXkh0]$UcJ@)%pqB)@:p F<2v/;c4mqBo鼰S2t.Qσ?qQ9i;'gCV9))wOӼh?y6qbDbCPccII_n򵘁TDbWh%)=@Й_ˌUc:r5ԸDZX2#Y1s伇qq pX=+l`~,3?L93Mֱ8YR>bTZ*B;U>>Pj2WyMW+mCFfC>z 5{6R<(.9( >]li+LaN rFL x^g:ѳ,t$<Ѵ&,Vm7ȫlXUnqurOOh]F^Z<Λ=O)RԽ<< .Hb``}qDc0&EA[85K)s&lxOiB2]cyIܞKdIOzL:!OmG=_7F7MrZ/ g*xjny\Z+sǙñ15ҾdD$*sH -1jC$!DYkPJ'ƻʩ4NsL;yd` 16,3ur .;Z;)b"7BȃX`!u;GJ' x.Nu)P!p+ S)>&2=*aǀtȾri;`ChFi\;PjVFCUeUTn˲'|$}BRP,%kb#xtȿ+ֺd<yY@:Co Bk2ڀ8pvP7 n"j\Ǎ͡zY9D7xs<,jS7.5EM@P:@Y9`^v7P >:>NػB $aܐTѵV/M%QkE9ޯ7 >֊R*ض| S.ض ׿ql;kڋДX Og\G(VLˌCB4PT/O&$?>ž&ugĢ])RK|<r# P{$6KPr^eJ)$yx7@;u]Q҉'*G'U*d<ZBI71L n֊V-[|fx5 zwXۜ1뮒hMX\jms0:t[ XxX߰o A X:L!y^XaD[t[#wwBW@W Ctl_5SN5)]R-BފM)rl)RXD15rɧyqَ9ݤʨ[붒3Rf#>~:^7Oh όO(h[j)}?)V6@KTBsqН߬!M.hH!}N [nbSwev+m.FihK '3zZB{rS=0ΐ, OF# hV@8K΍5V¬q czm(1{yKb?=|g&Dǡ92`<8! &D3^*[؏_cl;HM$ֆE=] 2ZYj4D'4s0j#J:ޱ |v S:Jnp1QZwB ⢖̈SJ: ;Ŵb^2YOEk=La&"ڄ=zG ^l:CJ)oJsϏO;/m 'zp<˗gYl.RZh xwrwNqp|I<08 7}p :,&sfZPDi^D [ I~V&l.~ 7 8!k7:q`;wV[Y0Č%tEXtdate:create2017-11-10T19:54:58+01:00%tEXtdate:modify2012-10-25T22:38:00+02:00OxIENDB`pychess-1.0.0/boards/lanta_d.png0000644000175000017500000013044013353143212015617 0ustar varunvarunPNG  IHDRg-iCCPiccxڍoe?ά 8S?B`Aw˶Pfbۘݱ#=qզ4Ube;͆hd􀶩HqD8;ՃeUr8򬝑nk{=wx( #1:Պݡks`0ny(&ΪVe,\b)Ko,7ԪCs$UEd },*ch2K Dᤞdg\c &RcbȊ]"+!O}X5/ "+vm9oQv]ZH,*!wRWNyg'9f/q]{K~|[~]:W}A_oťd$H8Hp*.LPNwwn+ s3{=il┴ﵯomVߏۓKt+V5F`>gduf9`n1 %8LටV(E@\-6^1{EۥQ4 FfA#gl1 F(>u**v̠pC Cy,oǕSol+={GUu]K9FXJR'&}B HɅo@Mֿm톧?s햚OL}̓~sif|?XZ@[YqxM cHRMz&u0`:pQ<bKGDtIME 3f;IDATxTɒ$ɱm .fQ5D5wsd3`y( @$"LUͻ]b䙋F2|qzJ1y=Q8fϓzxԢc Z5 Af H܌X0cr:S ,ݠ"UE&$5 ;^F$kQ$YAfP8DYY1LcE Vs1l0F's.ޝʤ0^f2pw"F`X+Lq1,Ia4w܌$br bMfNV$iIp#X} }\qs70[?x|=H )`N\zGEo*`94k㠪\p PUf/y kNV&G4s$L萙y~0<24ZwZTZ(@9hp7j5/?FIV(bAY 9'a[ћY\,EzdŠ1/>Qi0[@s ˃ތMM'^,k*pB `Ya>Z ֵ;nN3- Z iǍINdN~9P|*f&0yƤϹ^ c]D@in@σhtzJhY F`Q̖PIoIeָ5#EUpA5/ܡ ' j9k!~xBj8EC\W֢cXk19E捹MJhsme8e5'?N1o*+^߸VN2Z82l0̅siqV_pw7hEfN9fNszLXE3lqoEEã&9(1sfѼE0U@bnFQ!+xe1F#faU V%2i8VE'kju%c?~p:1k Ce xd^ 7jrBVugz༞/^}x^;fQA[FO"ȩê=#2ș5YQ|E}eƢA,8nql bҀV`@aUJqAz#"hwj%sNJpǻ49uF99YWpYeX&ƌSWtqťSpދ w:=`eH7VmQIUcD,7X;` 8(G VfyܨJ`I{?+cMW${'l,K5k6*"[_n֜I݈,I]ZkvHh^N5IN.fLJVDrs 8ל:A] ,Ѹ/4ÈUKg/ʽZyZ*aÌt-*SwO="NaoUFu[T0:tw҈R_~㚓׿0z sw }5 +Vi?=AZA%!RtF펚,ά`>/,Llnz84L@вv7Ad!H ȡj(EEm*Fs08HfKkNFTP:8lES,+ UM+E/\CW}tZA,{]w_ V.V&uf}jGR֜P欖:GQzVyf$XF6b7v^Z{M(276 ]tNNgkqVч7;P? ) V,MR?׵ܵd3:fǓUzNnǁ9(7伸E륮 'A3T0I h&3>a&4;'LuJfUZ0rϛjNSUpơgØN]^Uj KѼzgIwvǭ=!WUSXgfح2i[Ƶ}*\`Oz2gQdcc4Lv8$2]_)E>X̜;D5#;v'?USF+ZD5Vcx|Z*UM523j@ʜ$iS,/)2uYTs &"uJ9J7zmPlFd'+J7ck=q[ߟZK idV4qf$VjbUzX*fmwբS!qP,Wjܼi\נ43׋kXYz=5);轜B眔8pN'Jߎ,x]z/aXގ&78Fk )tqK8_I"i`eк_C>Lr5\/µZp{c"y͋zfޝX0f"hPRnLKH1tWB]5t/]qZm ʩNׯ/;Д v_h793&Y{.S"I\AwX㹨U|4g3(܍v4}pDr} *" r&]ZO )~bhٓZEtYgw~[ThP]U*VN+OX(U@If$dhĄ~-Tqe,ML ^z ÿ=M?1!fPU޹0zDjըb_g ML>qUӽKo -,]T8VoR{4Qוbؠ.='.Xm<n⒏>N fM}ŤeaTHH431:LE~bu}dw9T-m8s?pkJx2UOk&[`*Vکm Vɾ*c.~,3A%ǠE% *.=ZJc׮$A5$ޚf>x/g;8'k%]&% EӬXk8[p:6^SU5CǞWY 5T]L~}>n/Kah&Κ5z2Z9;~ si7QuCӐxfb7**5jhFE!q'D:j%Gp7xxCwQZpcfVXV4#;ynd.mq ךF'c1W̸7R׆U{,U'fXj &y^ϯD$",~Ay`x#M`N$ R&]]!x FCL5L!J+. }ǂ+h0x=X߇֛94/8Fb]}:UY5:I>/f,~?p3~?p72`U[1gPk8P X*,;F#KFZ$7Dӿw+BWdn 3p-i&+!]GoXvZkqu*+UsCN-I70Y0nMQ H]^Idv~!X(G98<_Or%R!0\W,w;:'Š>Uix]VνyNr>O1x2YY5y]cƞp |bwb+?}5CJc,_v' /Oz#Q {3%$]Sku%/yK#@g`Ex8N;`]Zdtք}NC`(\OjoʋPqeBws-~8n|~Axsa=flŊYEop6K7Οk!{3tFuiT_7otuf:G"8NcO7^+JiM)ֆ9z&R.~Y7u^{o ИW8"D." -чM68E3~̹w `yf&PW;l 5XX >*1"Nϸ8x QW{5lr'&A-|˳9aҵ?cCNf5AT?O??ci4w mv V=%g;icu`7@i00]sWQ5yW0fd7sV¬R./]})EAj՚ 2̋8fafgsV&`J}1p+LbtF0 ÚXP\kSKAms/{܁Ӡ[TjJV)QhXƛ篨,8΃?~}y6HɛXm,ZR{R[Vp.n,9{Lt@Iz8Z n[7&45_3Eˊ{gŤs{dVtlX5fSjb.18ФɋyMzc[LZjn6M[kl$8MwM]"o:~Gs(VlXZ)>x: N$'M`nh\mބ-B_.6b>9o{'y-?WKę+.TYi2b IqiX]ª6}͋?z,fud- yu5b\Wm8gy|DA <(jf{z#~t|}s ҇NGƖRn{]Mښƌ^n]?KWǙ\8z)AM$]3VnWcDk}_홂gt]ۣ[፴bߤ˱0ѡfN7V3jjZi Ey]ӻXUkf\ւo]ޗ߈}fv ErHpb"TJEx[h)ѕ.43A+e "*Ļp`o.tyEK29SNd~kq #~u%ך5;z^H$vd`oJM>1kSloͳqD1[}ӕdk;s MLo|˦Z=6Fg.́_6CEd1qMM_ԥq;L_81n`51ߔ21[ m{y~㲢[aU,DcN(>{%?AV<8Ro7ʤ J2wnC F3is5Y)YeUoKܾ80dD5/Z6 mt1h2s1A>ֱ\:el6'S~f}uMH@5I^EFw |T6Fa%]&At{PQHF׌vRU\gk4+뢻cpyA2z'L`n35V3ݩ [*M~'ٍ/R;z=qӉ No}Wmd4L\O"Y6i refmhE=0yoy}}1(s-qR]KN%/KgZ;ui:6ڞ|֛Ym`Vt֋>n̉ՁWԨSSᶉFZhZ؀t$$ύfXussm^?YObhM57)rIv8n _]# *BdZnU2_C,]Zz=!RҥV4ס; sǨr7kd_+UF6uIoXq &_Ǡ7N5j\y8|oPXO 2.2]߳[;j ֜~MMq.I,KBJXsh6Ċ [.!XJG@:Sk"3Fۘ:fD&?w2XMY赵aBKTAf 3PE5j>GuK d-Q!N"HPx^C2EoMt>E ϔ%&! Doz^3b[[\%ː隉1D&bN;sK/7[hnn6sӾesiMѪK޷nܾepslF7׸\5_/#d ԛ%late-KB @cޖ\ 4j̩]ñP/MCLu/Φ;M]&vJRmSެA3WjHdM3ӘF3*7=XM-}c0ƱOpc0zcfq垉jc琘Fi#ju+ "T1Q" Y_O5+X%ɦ3qxҎ8SDۢ#hnjҲh<A8C҃`\W2 {] 5gUlV7{ΪftotkG&hU;g۵EIswmթmw) NH띱)ZT)ΚU~a&բiߣݟ\Wv̂8ElSq2`]!Twu-r&~o%Bp|^ ㄡ9v m[lDB_m[̒Njnkh0,_wҏs|(5/l_[Q"0%ݝ6:D{ K" +s{T"y3M([]WDN\Y̕%Mۦ~!a >Άq]9t\Ъw#XϿ`u8-@t7$M`^'s&f7KH8>hqY)z6$if9*k] ټ tZ̏b^ڐM$M7h<5̬Lo,mKy`{kNGs||8c2j|zuVfD𵒞t0]5DߏLdmUa[ٚ`{62h5h}N->RI̅QSț3x欑JxAښi4d[;sk.)\%8a}ecEIkvQ~vDC-՞Wmx%dW-r;V4ڐz/sn\aRn}cۊy0?C v8@:ΊĖЅ)\+2dðmf\=Jo xO8cPJʌp惜Us_IX6:)¤]̥"zFjbw6p4TJ[zNQdMJ4J=.f\AC;8_?E=;ok-vy|Nf\pAC9/V&sЏETK@5;}p BR13vusEqS#ڐ9*֚]^o0zcwDvm̠_s&Y⅝Ǹc]a!vypuZO>:~g|/nGqr褉~i]՛\8n)í}1bYַste9d-)ȍ!6{Ńu =q EDJ z<'A,;BIoqgA)w. Ŭ >EFxW8*ugJt&~3˰0\ g: 'kMr "X{q;rZc<.^;Sc Y=&^k5(R踝o'GׅX1ufK u]mVy:݌a[\עmwMܳt2TWSpz b%11{H+҂oG55dXN9%ĝ c|{hW'Ky3xEM5©Ww\3CtW߼p٩93DZY %WؚtǕl kr`kSmv#[ V'AEo0kz<y7[m3n2j2#yP-.^dZF{&J4%UpsqavT fjφum55^+C3LL_׋R̈́#4WD`k\r>ˈȻq(⿒;垩V~^6X91%ҞXF'ǐd#x75g$ݶm?ڭ pg q HC s\={Ặ3d]Eub^|s۱Ebeqt%q]IJGzv~m`}CYAViR@E"֢wil]ǠHoxeb\+v&5l؟db%̰$67᜾R Ӊp困")lCL:FyA'L쥊VH9Il&QYXI-nosr1yhPr dvԖVc%uF[q"SZ?nܭMk^7kgQWmV\2^zz'xѶ>u}k:Ra34lz[ +nC [Xg3`}fSV}$YߵI㥜;T]L3idEqMu}/qezذ.I$ٖciwWŵ{Ջ !)-65m䪳2`.7͐ms[].?0#Yݨ γs>s:Mx>b?k|:.6[Z\ ,\>q(Fx]$CQIɹp byRMrkFbaECs 85zgqy5W= tZFƐ'L"Į;~NԵjԦ?o۵:ylas3yqksҥ׸O>Z"w&e1N^bw7{̷!'jL;`chmк)\>Yry1fмsׯc]UQ\"4Ɣ{yu 1[27f]+X~72|\*Q/ڭs}%CzXܴwtC#y ;OK/wx~{NEڊj+b$s{ { л/ܓYbkz7^k03ht׏; rw*̻"%Y1yH>o̙ n+.ד &bF~q6% *; ϸiَOC֛ȡ1qi eM^!U[o*@mL+w2PmHlwuUt"/OLo޻ve_0}ouz=&D 䳲'-!:mdc [p9_|-4f;!`.~e >j;2wYmNS *eM4~IDO&M:wmNo|]>Ʒvѣч*]&YIdfb1ch()q3Cc2)zFZc].-6I_mA>8 AN"I7gt)ܮ9%Dw5 aiaHW2 ƕC]5R-gWpu& UGz-Gs^1 ۮx̔c|{l\C [ziKSqfŶ^>wͅL_S71D˚4ʭQr*ei2)KрK*˳ˆ/O@h/8LZε=A^s_Ex%Y`ӌO %b gp=sBv gߦ#wDlAx*̗ffF? w< #)s~㚏mqu]*}I$jM5Ͼ ~ z^O*8y0 oۺΏ۝97'@^$w: Q%v$$MA{ tg)]-޸x뛟׻bfF?#,ahqcѸnɶeɲ3^}%'vî?ྫྷ"ժ/4frc ߌ\ۋC[Ut]wn<мmr"4ou'LL5k7Dmpe2 |q`W(op7[:/ſ.OwH9iH&".HӼ+ Э7 uh־-֖Hh)^`^A?5SwNp֎†jRWۛ޶ hA7fR62=k ]&9/0TX #`lY&&{-`*v*Owv o2a7;ww.t9x- #].8g*z<-I̙]'??>tʻoQzS85L1ByIgɚcdvP'k5/׋zdn o{ _ke`{˾~7!߉ +׎mrd:ՉPX+ '7?CISh*T#~[?4Ͱ`U0Rlيv6㖺,Yߢ$pqA޹!SYl,E/5rl2y)ZiVycv"1isQϭ_^[矿1~|4V2i__hiAuAk>ئU?虜Ư?(xM/1J&>pYP}"(5gQ%xoZv`sM2Wm.p]%o`š1n;!bլi2kMF;8TU~*ͬک)m͝urx0Z:*3$.+Q *'fv-&Rff)H;58qpo7ͻ\j tcta6qPܽIᚋڎM3ܕ\bmx9б;$?1ƹS7DtږFϒ~^-E% ј|>܏;-֦h;<;~Y#igǁT̙ 7|_ϿnG-emtNjxZ)-Bw`.v36ɪ`n\?n7Zralftu SuVTX3gndm,GX i'XRYU) Y tRڶYKzXB,6\l$wfL)؎ Tm=yҘAhryT͡+Tzoأobh!ҜfZޣ4<ѫqjV.$? l ?X+x>%<6k9H׃9Wp??pwqo#$G%wbJi;ά=P7) m.uI;ھ;׵瘎ݍ\eo&rΔZK׆Q~HZӘToIXHIMofPMr|uKMj'ӽ%X|]O%5hqÜnͿ "3ylԷ@m4ŞV1׋k׿+LArygknb1QC fk]; rc57j~=?z|vSPzמ)ݸ7ucz;IWOg˶G14z%$J~ MƹPH Ys$Wm4YNNߎm30зjE)zn,hԷks׫dwĂ;^Z '3 u7!I]hF/VxSO;cH["*Vv]T g@`>TbɕD+Em7#V# z)V:z=اL[\Kiy2ZM8͒uFqmzo/]X%Fd^AFuMb9y>.nh 0RH?v͹nGx &F9G2QͷDF_ ]m_5/1Nu1_Us⊋UCf?scpvd8?v ʖsS?o7bg ;V'7z SmNo'5Z+j>ңI|Vjx 8\'q(Ǐ_*"/NHz)Μ%ŋHX⸝|>r,ѝEyt^T ѤF L?1[ܔ܎zui+ >u]|}Mm.vPt6|7JluQ͌\d&e.#R:ŜSh "ָR76i?KCBV;xւ5J/ԙwFMu^uW47ۥE̜*u2}Ӯ[q52?>8~:w' q`v0f=,cʁ|Ǎ>RqV^u^_/};9GOksMSX2Yx0Z@ϯkG{9Nu)s6lm[UJ*x]W%㦰lKr aaSI{^AYb+EvqMFW4kUqt:K*ŠMv q457/d|NO~es{3ߍ?ߟy'n |i-UP W*/z_xo /{߄2XV2Ym2pvQӷAԺ s) QXm'I) {z,vV<"i`9Ye!dMTW ?zZ[ax5o)lTMMhHܳ>y"ACzɪ7kY3$ٜ>%7_7|m{Z MاlEoMwZc9uReHӷBh\׮XyA-~;oi4qүMwyb%ka88sCSq2\cףd_,lq؏:9U[".i筄؞6Rq;ԒDebw*`fR) Z2}0+]ɛlMM 2~F^̹jwܡoq| ̬`.vy.3ڳDB]ƖKqW^︷qQGT$rjޖ5&-gӻ;s8-;x.Wyٝ,FәZ\3YgN! G[[H_n2sqb6/fh70Ywñ)V*`ě(nҀP϶݅_XD&{y]rS[e=T{x `vcz<'ѷ@Ӌ [JLz/+7^ C^l+J^X0U0\B&EgԊfʨ^2>jt+ $r2^0Kdq%p76mN}&k:% 7鮃v,tR2\:[Nyd1a[k Rc0q:? QѾ%LMn [b`l N,Pr6aJw *WUJn1¬͸[m1dVoĮiM@"[%hɌEs/g^B]}PSKS?r-o61͞-$=T'dfg%9J'N4:&ю)d׫?,Io]8l^!qvb)ƭ+8)+"?b~s;O*u8p-=s0/Ym٫ GJ-z&KZ;<9]L+0VP͙!9tjȱ@ș%6s(X4.:1d]xkЂ1$dX?k]"6Wf&)|%,o2vr-t%&s3~0Pyd53N漸ESb| \ XI>+"yY뢺qcIeViv5+Rd^⌷ԁ53v q 2s70ekx=zBwdZt:=Pp/DX<^zFGhYUfnpn/V9A][ji bӮ%Nk:B0Y 8]"x,:,h.=rKh["Y;-ΨzdsiM8Rm䠩nM| =^ʊ-v5lb\}$%555G>GQa4ej$EɽYmvXΕŪu4 b먑ON)X߿Vp1WSuR~})?j^ۣĎm4=?uypx]Iw^%*Ǫv͗ߢwz@z.n`gU<xEAMXRdzx봙19X-xƓ ?;Pbs k.^ǂ fe/}0"Nzѹyl\=59ܹ.!Oָ' Ľӟ)d%r3kt\Okf@|P'uMjBƤau]|]/bIRK!2q]؂QP/|}-ܷ@^JEZbcLvp{dX䩳 G6vh<F>T&Lnm|>vTsvhU~""%FE"zQ9/}kTⶀOSy3J5*~ 27ZS,|+9=m15km ~|/^ =}'a^&Wpo?(.5h[^%9+*r-jk"Fs] u?]Lw―<}~2m3V@hyiL_u=pF[ŽavȍOϋRkĤّ3 \l*US.LsSsC;8Ap?zwPūکU;uʹmsu,/@vn 5>LmAzi+V;DN^/T""zl&.4q#j0U03.qڮݥ߽f.#HҌnc_9x <7>jC˿pO-R]ULNϔo6go[&s hzxQg;f1n]I,yS]kŕrz"hZ*[D'sP'%yw-Y7P(ƕm#Ӏ N;Y;2f-88n"V>xؽS^Zqs ct٧]u)@B uMI6B@up 0\u)dm탕w~PҙjM;+%jpD9+-7U,gSMX)lT^P؇mB˱u_/^n\.W-TQ<^,Z sԆmAږ5w$͒ ]@KշLjBYA+kHG:N=7 DQ暜X";ל~6i ,mJ1eqĥ:%wf69-p9k4'R25ܒȱQ޷芵FP-',k%3Ԕ/6-6c u%{Qd v*F ts}͕o{ŋBt(Yͬl7Aϵ]ߞŻoϨ{ft[@MZlƛ"DmF~L}ڋ/3ÿDK186ЂZob.SNSޤ+O+:,ѻF2o xKY״NIϺ$RL(<_qca?g(B=k-" iz u{Ѻdn{hpBdX0l N3wQjm%NM5ߚB@^KkW,| qN_l"UӶF?eJT)tV"cvt7[԰M-Oڡtk3+Xΐ@%t)֕o1CŬt<7&6 ˼y+i ^YL_&3s ZAC>6WimzkWѦmX vJۑ5>{=#WYk_K Wv vlh.)2ph`wid55) "϶M,ފt+7rilzlUຜoCv]5o#G |e #MT5I\9??~}b|H>ۮm_/j^|t {ԓ6>T+% s*NJMiDk>wa]wwA$wsǷ $C_ u?Z'lpuMinPCu :xt뻮T EsA^X;DJ4[3Fjn0,3(#pS`=uM>tc֣zN~IeOZNQ%9/~~PT1xg]1(< O5Fϟ}D_|7^p8f'B؉scoѝ2>1?/I;m4Q#|$|QMW^0 f8sbyKOow.Bw}Mn"CGKٔ1]ыьUs:{d r9b #!UMbO2. L9!ޜ /B8^|`zuC6w;Dk~};9z;Ӈv]? Bqli(\+>$#XqD5~bδ 1F:c!n NP;^+ wEh}{[/rPƍx*nw[gEpWs4 hT)Vk}?K&e9oUAJ|cm:Wk !E?~\CfR p_|a [fW"HwzO?<֩@RIלM>8ϓ=dIOI;}M9rG G1:|1W1f eI:|h~DŻ!pl]d>8Nƾ*vCxW*%6 t "jq^71N-z9K6JmD)sumNT#]wQl6JvvO^.rRv 7-|c9Qz׵jVXVnd:m$FcZkp=#CB%$e`SsVc fT|>!,vp)fz3빝Kq0'dL8K ^kjƼf0)Y:j|V{!ƈSSyьdm8l99kkm'\55x}z+\xiFVs͕B b*QEkIShA[+Cd/2iՌ(Ϩ ܬ$G)}3ƪw6;8σ[?I-MϽͤzD^Xl@+֩߿X۝XWk>c§L[!zUy[6c^e-MZ\~:{3ģsG;!R yt]]K*KB}؏fܻK"z&zK M{Qn~4ΡXX;ؚ4ץ=O-0zo`Ks3 "-M/uߒ 45זyj^HfBQ ƶ-8A ;B̷f΍h&"*g)z!o+6H=ڻ+no.vnhJ~ԓ!]LVdo:,Kq3Վ÷L[IjDގKQPݹxϊ}?W0(h. +bH[k'fnw Hi)FS Mڎq(i"w]u-~B㴁?loĄ!a'%UCMR+;-?"RQhq)PǸn2Rm3fώ?xos &`8pVSܥ6UG-2}nF T0BG uufNM{~Bܝ`b^\ ~ВqGD.;ȣV 㫿KFXLnm{z (K u,\xb|*_P<k/ y'ؑ0ş~+͏?^ rSk9*ĢN jxSq;gChYu@ƁZݜlvdFU!MdmC>1`SxƪI[5Y3 \:sqmݏ8.;8+7 JڥՌ[ 1,K;fQ=¢͇(D JqT5"L|ي4#|Ϗf+ni9p3D4hA)+ ~^FMcl8JZtzN;6k̰@:LRb{ݕ贵{+ !n>%dbPY*gwCF_Cs T'1B{NNC>܀$&Zr--{&(e5^ (2؋B@@7N)-t()=`x1^yuw3m 1:QWZy4h%-= $Y~E_Zw`wqH L#hC!b/YkO옰V|ֱw0Z6 6?J "6 3ܷRrÐ"9Z ĦpWy#Ԣl+\ nTЋ /竞A1*AtҀ'  }P"Sh j@M+ŸB@/͋[Udx/Ñ0j\JH,MQbڀ09 Drʕ]`fu7w“Fb$ab#`+r&T(;`8oh<.B0*H _) "7'"u g5Ô3_'Ao%&hsF2 fFaG{3pZz|J/! sw07v]O?< MDDhHfOREl KIWKuBnʺ+7 |@(҄!U矘I8y;aZQ<Ƒt8]*U@),a/穰Hq馭mNб)$MwcZ m P_;c\M蠍@ = Yaԓׄ 퀛P4篟8Ġ]q+ϵQğ>z\azwh''v:f0hڭse`^ #@1@E qϪ9-k`[6= oc B'{—:|8֚"j$NyAY !J%D Ch,bsCq"E1*{]R`c t2xU*u%!  E,gn] \+^K ҋ~*)H(D vT?zJד6+7t И 2h dJl?AH疅тx5W {bBd7>|Ap\(tk[.gû=YCal f|"% pE'C]>GPXs+E:JIPlM\c\_zzF'"η^+"0&ZqU;1b6?>0<߿p@+9J6 O`Fkm<RPIam4y4W՘- PQu>-H 8@K)pw >+k%e`>A;6F,,)TnV6-s8wcn@Ɵ_@ͫ8xA^BIl bQu k8}S:ӷ^Cy [g8D"gO͑8r飒rh HwW]7A0M1;` |˳5L}PТR$۬`\*&_;ïO؞XWapF5Qϕ8rPQ7TpgGP.%wt & 8ߙt/(>͸Ԗ4ڿݥ C}$]@Uq` ᧟ܜP0z{#V'dTAz&3!ȁ)Iy}ѩKEDmG 0MC9⃢Uz_z=IūR$ZW0dз۠v3{B3#L`ESqz0`HN}Тy]}G+myt׃,+'iu.( ' Pɍ;GSgX1&P8~zF_ VB~Z"CX(OSd;.Jj ц\bs3$?ID&MAg tɋ;nLA-أ U8k _N8(f\]ҺYX -$Q }%C˪0Xe`pߨzSCCDI` 'V^yuM s8N&3yhv{ǃiak%-+oINp>àۖE/pt!4E*0 ׼rҐuӨ@P$!(.Q42&sN w0hG l:Uq{b|6";:-wxbB`&L0IJW"CϏ.:E;d}cB)ah+0e`v &?GRPD:0:Z×z3Z`&n::'݆B#QF"-h˪T%vyQJշ?kOEp fʻƍҫF55g|R~x4Gt~sGb`VE(c 0Sy~`^orH1*cw ׼AFX0!ɴ0VkcVJUͅ_ɑ] gJXIn|}9Yp.wXܻJvwIIU퍵=`c^Oy] =Re$hK6%}9t847ڴ;*d8V2s/w~~s")N3YuI|JՃS+_IDATZVn@8fcT8=OȦ rűLifߒ1Qpצ0PF TiNhûwK#򡥧7͉vM￾ R4!Z}}}srP#j|b՗" Qj'*jV[(jfnI:oq lzp\ Q^MK/ 梪Ar;- 1֚ν@xܣ;>rJLpe~P EӮ;v䛹-bȝy5Odxv&ԩ(in!-֜]c ?OɪuoPZ(15Y}"uwj@r܅<ܻ N̠fpӀHyGHLAYh:8=K5߮9ЕAUNDoL8|=JT IH(wp]K) )Lv@\  Zxư~0;1apn&]a7#`E$З&ul/(ghڄϜUւʀ|P]^"o Ͻ0ד/K9kqPN8G" 쵡 Eo"/U<|n'\Ӳ6c)<&L(ݪ=3MLIp,zb=0㉈/H\'Lֆ+d-?`"0ǗPgLY#q@b_?S uF%숻soヿT)"'Y ι^M)PxJСޯ0 o,>~x3gG"`)I CQwl>( {?6WeLlNrTU0q(4N+X$ }s귒@'-iFNRJڨ>b݈ 3wlX 0vAn6bǁ3>p d > yug7ý(+3A *V%V|g% 0X9}d׼UXUbͺB ^/ƃ6%A+ P98 _;r$o-#-(('ԑ(9rLѷybłn#T╷BݎVNF76 V\/8\RJzt'ab] )`pD@Eqx̅syBS,"!F27T^V|={qgzrR"TI_[-R>8 ۲ozU΋Z!OZ*Y%|}66f7y{qJBb [.o+b+\hI Jp9!ع8_4 ߾-rU$[cF$wl2'*QjT0kY<"Xl|+ABM86jCP8d*;Uv'pR& aD=,vx$ 1vUj+ Yqw,(#XԳ5rִsQ/Eɹ@q ^kO;]aQz~]a~TmFUt;ׄx7P~a[հ(D5򚓩AiE rAf|dR}~9uWfaGz8 ?,L *7&fh[,%YQQċ!ގrɬbr~GFTTcڼN0>P*r"7 ]fނ%L8$)z 1++Vd {ѻshϓ kasQͱQVߪuŚ H,+6Y2܍]3)~ϋ5qB2zmӭL4FPg aڍk Vk@U,2 8R}_/ۖ'7ce"#z6YP#p'ʣGC 0 w<@*E'Zޝv q:Yy :D_y]=_/댦sqCo{ѹ\} EDS7R cLFc{>\x^v{pc M!6ԅ,TQ͓2&ܑlT@26\[K4pN\{Ѫ`Mh13 wFe1i%ZPXk$$ar,>+E> p\|PW֜-R>Y~|&k;̙.*>1f(JE@dtU,kz,5Nsļ^( n!\5>me:F4YZ&(P$V`&/$\)Ð0wb] K4J5(vU</Q&WҥܕW `^/f0 'bs5Z-ZN?iI _/ݶ6G UuQ Wéd\:0e\(Wq} WӰ>p-fO`(׺qUPuP2|:@;v"&tqj"bWX)hg/w# `.D O LMlRYi;3>?Tn Q<̰2p9jS~g 2N~`}"䏗np {C}01qX2F`85!|* ~1 X(I-ӑGnM0CA[hFIٚ8Z/2y9{݅~a@Ŝ7ҳ^Scx {%jSЖK:(+.R.q8{Ͷ3UÝr0+m͸)aH9wh(V[(~P|)m'ڑp쑒d|i16[!\)^EJ} ]k2XPC1zV]˭l7T _DZ =CʖՆ rT3,=L+9`*or*C AX-XEunq;~V{="ϔ堎؜ުm5gDPPs4l |8Ey(.upNu} )f**Qע! (rC f|oQB }KU!6(,+8Ozjr4Q9 لwwmvuq'W/[ε`1,]ʪ&NXk δ@Jnrk=9fv6n,QݛJ5nJHRƽ!W¹9 {s=zCr R;Qcհ "Дt{ ,^ ^i|-ep>h,cc%8 ',dH. 8iD`MʣlH(`SSО %& ^9>~(v{hi1Ķ7&! 1 8`U z×e!{]zTz:Tz[c`W^HH{EIkt eǽ'VhLh;󮮡wY1`ךøoSN]Zk/Ԁ'>߿@kk'P 2:xGt~75P)L ŝsPCʒefE!qrqqzcT\jk{j$,5 <>楊0zhW?*z0@H&`LRQRvx/8O*dbam*`FF 'O7{x8t~M iTUT>!Fm 1GXղ!;zbэk>X0$ ML6p@CcjsS3C(>h1} sAevPu 8E ZNB@9/fxb0㔺OaȚp0Mbʽ6T,o$Cej RU%v{oSE k-D 9V@-*L;>.mv/C4۶2/S԰_S S抏A@2Dsh06cLeRj'\@1f%B.x̽k7(!|u RMkٻB83K%/ݛBFa3̶6@Fӱi8\H@c<ʄ9@\mu`m!_'>]p FN` m^}"`ϫ=)4T(^{a' ^%@#OH&5pp^E6~H|Ó2Z,10ʊ7$OXkܨ+)bʔ}(֎NLzUz2:|PSuPkR:qbZ/ xPҬϯ+__H5@mA8t7qR scօ??qؓe/0a0yUE -`j%]q5 Γp܍ŒV hFb‘{b 1nJS ?OM+ z%ćvQw5! ;iaxz]{럣#5jn8 Hs`E)|S(+zrs;;a fNIB'm@c`%=$k_ UHP?ʓ8+4aA 5Y -n B ӘbE"ԄM z: sGoБ9ϵwT^r 4NtwµǝWתRz36sv`wVޡ,!Zv-uQEB#%>J{Ys3WESB,b1*yҍPp')fu.uiϛULto z3C GU*' ~wdg3>f&ENI1-X9[ 3X Ig8.Vv}0{k" I;:a4ڋױ+8܁`#$uuQVK 90'Q! z'c0kz>mb^ر`3q p;ЎBWk2P$(y"40NFh8(CzZI"+]Hx\QQTz/irQl"tq 1{ir [ʰװ{a+.Ģ B[# eSotCG[B|musI\퉉jYVhuGiK NHXV5mՄ/ b@hn J٫Q']&ICakG; LM*xILF4.ND0 _=$.W`HɍTű8 [P؋ځ eT:ZU{~hӑ)08£X_W-DӍw41|Gh3 ^3 nG'T4IWFD= 3+7Ơ,}k6CcOCwV9g6fxĉ#9I"mNtO | c&'Ub_sCpNr%A3P!9z@] F=c|{2[ax;,{vmg!}1d8-cK@&-0((-Dmwgedr-E6 ۂq } '91_U8 fA*q''ߢ],W@F1KK,p^N*Dy$S
zm|'.R+ 6-򝀑vF9nx @Vf%igrx2HPۗCY ~1V6BCW'VV6X=q }5NYUz?axN*41灨1>q |I!G11cxσ* P6!ѴރkUZB&p~| xٸbqBiN4@H]W͖sRcM<\$Km[;icp(sbԀ}(")al$6: N/^L 8OfEp3:DHWMfln|8IÑx}kn@yV5h+Q%!>*e~8yCB׽iiF9V$7iN VKr~ H%ɿ\V&!K ֎b!1ڕ? ԋxtoNA  \ȳژ58TqRؠTpX#c Z1tP^>A?\Jp&hF/]Sb2Xu-GoW^:WLey$gVI`1R*blTTk1RvOtnmh/U _hDw 0v\md0"*OnA6Ѿ 8 PBUفjIhF?H=)ݝ["V#7>ܽ^DUH{6FpN qL 7)sNؘ{x8B@%X׮6Y:Afݻ5u6ѻ1q~BdAt[W{ -\\?Q׏Vp*6BxGxf)h~a&_.}adg"u)ݖAjת:W g,^'FBUjmxpW`VD9$6Ep`` }잽 (u<Z+{\8cox(G.LP!\R0WMo5j^Pp*P5RZJa[bJgX0aЫߤ 7ŸH OC 169&2&}BPA)4y, .Z ;l.uMUkͅn>*Z1B6rZO`0LPȆZ<l֢ԠH'ջ)ZE8`F"RL;tW`VN ;Ti)}NK+"!(W'2` U1ӑ;Z[kN;6ךXM·A Fkof(W{[I4  %4. 1l0M⋏+jSbya=G* Fm/NO`Yu*ZMYs(ur?` ,1u)jLS6M~n!6X8PT ԋ1 8f蠹ε X v;c*=ӻ$ۛ$tEv빫RTݨ !McQ6by"ZH->tK!#ǹBZ\{ M2CP.4tdb5H!$ax텹6 zp_!6譾k$dݼ` )"g赫qJD@+^P1e>P SI۟΂xC6mp5JQj|WV'NMƘN %>K=; 6Yq_t7-"<y*3&zD )ƟfXv%mfNҭS$PSy~0B`̆5r 9l c8g {0A4:EW$+zYҨ5'y!us³O3ULu4L y Ӕm\i+<¬D@tEXticc:modelGeneric RGB ProfileoIENDB`pychess-1.0.0/boards/brazilwood_l.png0000644000175000017500000011704713353143212016714 0ustar varunvarunPNG  IHDRg-gAMA a cHRMz&u0`:pQ<bKGDtIME  I vpAg@uIDATxT͖$I ~Y#żʬf992TŢ;*3TEkn|]n_'^oʊ\Xn7 .hk,taljƸ2,(x_CC53TDf8MĎ/z'SD_?vEa7},, ~M_6y_AvVܛje" 7;XЖx,(w\;}l_o8ouTAY׿<``IYPGC7еjܚ㠏/ccm.p;./:>HLƏ: .N<'M^rÔ&*x&m`\m7eA?M4qEvC47Na`4ݴAWaax8 vC7E[ ^((k0ΦT7 t7FgºqJfVz`zaFwA5]I;agpslFј닮.XMMY%qtef_-5wp'pm麡j|>3`Pmx9Y[yNju,H_ݩMIBC鋲.jS~퟿pjD K/n"(J/P@`X nw*Mr@N=fӦ=.N:#)0=洇ToΚ?X擸/:NX`oK=Ga:/Jߌqhԗq3_9!l ipw2 -17Gdz+9Bst_tXzց1}݄S?fK>AP߬ӝ@ӭ w7r/enKvn:7i_}a>y1fldq`NNC`35GpўzASili'i@?MVB͉ZMR:1=pg!gNvn-pjNb^Y(NΧ賧0GZ4aEuS ˊߚע5]ѭ<ܸrgz7p} &fio,tF^Y= MN:\tMSJމWQfu}M X`E8`=ۛX3{P=jͰs30m=cU5_b~.lݥ& h+MBB5=r y0K̪J\5˅i, llo1T~ [/p;pcus ?ZQ&5ynYi5(ď5oaG/Äca̮ϼDI$Qe] F0.̉YEЖ=_iV3l/on#ցUv]d 2VmҌJp+o]"*,F`q j'T5HгlɍA N,76܁~ D1v}M^Ki@ Z4>è1 /ҝN{c, ;އCj^r}8 F8XwεgtEm9ԍbӀ剝_s݀lk[qo- 886_6f3"bWɾ>>#!|kD+ n}o!APr=,3^u3`!iZE># ݬ#(s*1pG7\"}aY@5_[%v%<tKӫ/kQA0fCK Zw}m.kfiw''4+͜%&֔e,Ɖ,nN%67t_N[C޺UG3bx)3&z͞^Zo< =X ÇCo7F3k 2%p\=@7sEkys,Yyэ#h3%e":V϶]%KQx~cԕe?Ux&h/ Bd8޴[?r/m0;xo]Cg,/lzB՞k[ YAPhɇV*6:Ѳa#J1vC7+ZTCE-zo‰x>N6:5%7Y%'13!]548$K`5 wmpܡ .` _ O$fsq,᪹ 6z4iKX^1|fsBsuh~脚ljJ;pξmyd'KogC5P[fIۢ3Mxپu:_fvc}&?7Fޘv$Eq/SJv!Knq]Y^2r3+u!A?;Y5m}'XKi?5.Xϣ8D3cۚK(TE6<tTB;?cR2Yuo m}T)p0n-*{Y.Z_YI81ۄi0-abO^axZpPaN:U7;rw,e-|Z ,[3FIoބ~#ʩ JM_ Fc$KA@B;%vQK'Qo=$s}{Eċklr9(dƒ5G딷BSr^I١Y[=1#Pj,<FWИ\`g d\-д-QjpKn~T3N%((ljx:8dM&[7m)˂_r*S?_s*mcMfҼ:]="Nc987>y6r%-]A^s -xIh$_x8>`Th }N2z]X h(S4["94z(mVՒp_oա+֌k.zif3QxX+cHX[zZot٭YB9EAzrFl=XHlD[k&fiEI͖+x`Ki ?{d@Y CP7[Y5>s/:pTv~*$  1%B4o Ӿ\ΊM *-M?^ԇ/Lީ6x6筕RR;0,ȇG<`3oo_E d{?RN"]Mfޚ9V з6Z DrR rTCWH\Mn$,dJcX^sR={ͦ |auoBop?t<`56m3:m/XՖ2Eh!AFnRUoH%Lk جgAFЃ-]b}~pt::$C0BlKՍi4EVAҿo1^P4]oUϓ/[}|:Om4Zpk'!7:5nF/ f%$ݶ!zB4>Wn+~{ a^,y\w]]=W<: Kʎ7M[>;+D#AVþr~V;.:X`f䙋J|҂fD aHp݅=KMݢĖρ3VU& =KEkp[IMKJ/Rs ]x^d%ϘmGޱh7M{iZXYб:Yؐϟ?9mzaLVj*Fϋ>U"7 EdFvi-JW`ό&]Z:kσax^T(˱igZ֦gY-*r}Oa#t0y#*3ĝjè;btV?X6^{u%u| \_{nGّxȧ\_1z<Ϙ7狈s6qfxvs(-#rH.өfԓ/@0U%Z/chn#׺t(/M\s22`=̋ x7 IעGHK'לⷽ%B9NZ.: +=_)08NA:):>K1Ynz?j 3& 1uA[Yɒy}&ddJ%ؿ0C#ZUڇr䜚)zsP6vӜ0rtϚ/kכj+^0SpWB~ Gchfj_0v|)[t]bc抦3w1aT by]0EhgkdB&;':c$EVmpD\ùLZGsQ)ݣC8T(^T#%>bw[o;m-cJZHt0CW mfh5Up7*o%T8eWDbu-TH9BbjIÀ(c-܍aJB<y񘑀z Ѫ&?-:6 ΛcKSDޙNi8JG@/hvS2?;=Wc?8X< /-Oצn63|ї1|tB w 0] KKf蠖7T7sF$1$%>IX[>c[sIXcF>c E?:e[ocQL^PC{@LaW=:1?Hz|&5e`VJYdq[0%ܮs h)Z죿y8҉o)Quu37]qI-V_}-Iw[[Ar#rstcIV3Jb\"%澿Wc򏰖qh[~(a7YGyߚi:m݆^'ެԐ|Aqh)蹖h<T|Hm&g9Tr65ꙡVJ(juANd|*ɟ+H~jB9\erf4 Bc̩&_khڡQb¬^vwbQ(m\1 bºzR|I6X/"*mKD>mq{8ÉZfپ}ܒA*.yuWC<Ԏ 61`A((NElf_H]o|w[k8Z n/m|l'2ĒQ\*;k6J )=t:yDyTVɀ oYD7oml˦& U;|QjCA PA"KS-ڏCJ{^5NY2-#Ft+z?d9T|/(VWH"ԑ"~d]'~K'HDZ&$$hH5jLΈC{q o(V{ S9&^'Ic}F=:i?Y* `K\kcsPy7X*)L#Ն.Z`i(6ɞ"fKnXu5nb[Jz,lQ/l&ǀxsU9qLϣFPƜE{2`M[LXebɼ5\6/'h,$,:?|Ҕ8/ 0Y̛_;j'8"5“r^'Bǂ=1p~(5h\I[ ;!fg1>f e+花#rl[?x4(i$ߧ69| <c||XlXN2=3\DFA:C@N=lk #k0ǘz\*GtY9qeN ,xAF̦7E0ߗ"ކϼkN]" !Pq ڥ{%F $N (#Nq trK&巳I,D|4/I}Kۥ/]Q+7F}Ҥf9岬a?*o`c /'-{}|_Τ`J`RM6GV2l7: !dg;sm@ڣp ^LA mua#0;up;YC?5ϯl$VKѽa}QMVbvIF @_Ϸti$-׋/swп/ܼE3H[}uo["j%n/v^Ĉ)eT1\gAz5X2G{,fG3lwk-l= AMbԬ?LVk2&v4/#т;aHm3 Bs#:s1Q8(?6ڪhL}BT91IaUܹ ;1> 1*l5T| +?ރllǠ "G 1? ]#ےKAQ17v_T pV4*u`fCyɈde^W\0ž/q u>$m>[L#5LET~>e줨GYƵSY45`o]tތFՊ&B5 AlƱThn'֕,cYF2 e=,%%- 9y%?!uQv _8\?^ޤ΢TQ_Cq<?6$>N1k@z; o `kq\)SL5pWK[5/MEh X]+"]vO?zQi-yU Ћ 21=B12WNXpM3FvN(L(Û:D[6,3{d]DD8|cɚW bѩ^X-A<) &!2\=gxmTc<4.^F,Ӈ¾7K l"m6=CbfJշBYC`a_GadhȥE&ݱe %bơgú*C3VJ*+ֲ ')U(e,Nq|yũd:p$kOmC/ݎb/58XqIV[l!H_ t{}C[F~ӃEz$֒-I=78y[]g{*~ vdV;-5q@kp; G]S 4oh_[9Ė&v [/bbZjV2ijȼdRѾ?95lP?5dFF'ՇY3T%UŔI48"F]=#b&FekcRu[ZӇO]l=Ў OV38*X}\_=;&6mzj_161!)C$!'>UZ`af輞I}M\XMXp#=l~9/͡:5K9.=UM_TNҪOK qDnrCлÖ}nc!$nϋZAq=*a~D9۩0d౏A~VZoS)#]d[5dV5K:=bv~i cá-)S5D|ݿ\J(g=E!X2]IbWotruuyfׇKYO=X@ҟ%I|{45րG+&UJGn6/"23j|bI>;RTRaXL$IdQ-8^'٩XKs(Pf:Zd'791C_A6kVqSĿHR{(ĉD}㽇Q_M | v{vːQi8?IK7԰.Ly/ [.W&Ǽ@NJ)3v r Ӣc$2ЎԩZ}hέІЭ`l .?Ì?`."b`6j&R-f9x(M-XƦ0쓾zP˨[S P?5-$Z3%xA9<3CxqVCsLf4ɾQX$[K$ob?{Eg;ۛ`+8{~<.N褶ՈQfJNUq׈Q@TICNt*>`7e,~p=ɎI'o2EPQX`({^at1KiO;K3?٩% )VV…O#AA; Kj2V"u:տ)KHi %Cx?C I?4Hv*2%IN&}ӎb pwvN;?[&Ⱥ =+eHm36՘(atuOھ*5.4ǵ((rH̬^1S_8^ȱ䲬HSmNX"7#ouT,m=͎:hs1US'!F- xr܎i"v>F>WLu4kܵPlSW9 ($THI2]zC uްYl~ăv??D({8j  _d]1(A%UP %z22/4[P¤`'Ʀ߳H Y bojv%f<0Z ^+r_%Gך՞Kwc\fS2[)T1 `E`/x"w#PIȤ|A1k\u=~դy|eؾf[jhI՗=?ǃ= -Eb@wdK s fG/&JDcFA/vߚg 5[:0)&+;a#ŌbrX7}K –B[-sšMF_׾eQ;N]mHUMY>a*@X|5XC͡x TQ^iR!B!b-XoOͧW@fpK/f]Q=\EϤ9RY-חүj@\XoK@]#Uuu z6O^d]zX:P_=|orr`z2cUoEs@ss0ApF2vvc~N,AGy݄ɾ h;xt}hGkm.1~)!,qf-hbޚ7,X+&A 'NF-Ѓ_Jql[A[ jUܽ>sv_X)~]A>})Ö0uM)Å3=%cyb|QAxLK1oubE'IuK_T5mO`T<,0Lp1ŜDJ}^xE8uH́>DYM{<2gC3I, T.0<޼aq>fDɝaO<D&SG ?߬lnK=Of嶛yÇ'%tk[gX@ Bq>ʛͫtdٴ01T|D*(}S:4S{$Qp[1a.C+IvZPkoͶQfn"2IxiA'yP0^RxR a>YG(x[\2Qi[X;0Sss-9a@9tM}h2Zœ,U*Ԅofc6xHwKjBK K1dMe/lY /f~hT?[Yhc"T  >΢G_X :-y_i>N2iITK$fHtz"VWq*JǺ<{l~´(sku K6o,5/n V\ޓD 6oFi˟I{m&[fo8mOB!^G=KSM61?]\e4Vd`| u}J,$X>/~Z8t ?t$`PҞ[jw?9ZD٦xM/9H <ė$>†Tb{`m.,/riz"ϙnܞʯ{jicu5'Kk}ظM̼V ml )iu:q$Wv}nzol]-{~n7ss_M" bq$I ?pݥ ' M0Cn|MCv%^']_*B/(iI)F^b7ÁL`UޘʕR{0yD+xJfxb1[k-뚳$@շ4Y;Oz{½xUx9 '֭|55p hĸ8.=S$cl\L1ű:,<2 y mO J-O4=Ó*&c;o(x*rmS@S<>P1ao*Z_^rgږ-@8-hEv4;1OӓȖ[6jm*5"f Y=&MշrcTX1[>:nR4%2z@<+a6Lң$x=[iJ:Ck=A9?aٵ/8C/&R I߷uAp@j#gRK!{4(FȭzhĽ? ?LaE F|j6uy$6ˡ &c2&$q. C`AoE♝x麨Y{[ *cEOLVL0Zi c)ӥdfT*Tk٠{@N%(iJ}u>r2kJ)2Gd}|/_:Irfpe>'sJ.Gj (O@Lf& hn=a@])e^qYbdJT7٩=\KbP=/Tv?y*6n1O&SP"GeO O2VKb[m)-pFbxm'7GV,l Е?2sEMZqjưVt/mj]%yL8D1ȮoP1bbĒM_Cө]HmIR!tuNd g}2;?3qP[7G5ҏqAwjq1Z!ʢ[+R(3'f+e<;ROkSC?oakx[9/0zn5_D8k-JD(7CDs/kaqvH{s(a%d/!~S=Sz{b,'Gd$ņ)7"E<%MKe*g9ϗ(RMA?|j̮'I$l!z0t4ن-u,ux8J,hh/%e=~glj)+C/"頛**RNRmT1uwsE6jm ZKȪAPK@^ۇ(wXȈ4SBWV/F|| - Aaзh9-0nNlo%d-Ei8N%nI:f-߃M㩕7A/!uZ֢q̩VF5)lү c b- f=ޭy>Z&rt!R͏7ǴM?d|Voo:߬- 4U=SxPky7~h$C*Y~>1M{ն*v&9EAi26JaIVR/KUrE2L@(΋uNޜ=&$8'T12I2_R37R9[,.i=!>FmaKaO}Ĩ3-.܉/ x9TT} [\Yum'" vΩI緧Llh3*SP4\ݗ{x49$=`SV,ၥxInEMǚ|ov!vmEO[Rf:qL_j]eO TP~km/2{5pB#rMI(1tu(t9wXpb)LRѸZ51|LHmS D֧yXKCY=2iG Y)s_}D7j5`JE}K(σ9g / GRP8}Wbj-0[)hk}߂Xf}PzI9Fhe^T H-)ޔ@6Gg-6E%5 Yr]~U 0UsJ1AGaS|$'uԪkcu>Å AxЮkI&ǵn\s̙JtV,\1DnZfvG9%5h?s#Y:һi9?` /\)Al'恮;/V9%^Fn(TZDI#Hwv&Ur ةƐ0]Zb,!C/듪U9iaj"ڋϬƱ>k_J~cÑ@+b!48\?}kN[:ֈtI)?,N ͙O4O=n72)'F&jjl)'zkoC)â&A:G$ҕB۝eYm/>]":hUt妏/c|S:ifʜ+^ɾdISPnU+ EQ'(0nZN=2pIN֣d'PvɄ'~@1QDե_ioߣ[zq jwbNEk-ÿA{M~fc4d?: @һX'f&"١0N׼7q`.pcW:z @4)֘aV4$,:— -u2GqJIi4WXa哩-VS0NX5颊 yRGc a?3یkg]H^N҇S HcHIz*M8}G1 tme5 /6°TS&38fY?N+E>ġSD<XvOI"f$pfl>0ebzi?ؘ ]5@؋PS, 9օ `XjɤAr3zHtè'涥,3ҹn-,:aAYN=lMst9͛~/1u Nw3w(Z?gc)0,5lb=5 %{{Zkov?jߊ09ϑP#ա*,hNu;гmw\4>y/*×sך][;䋽$ b*+EfQtq|S)jKSMGxJ-d\I'Fdd - ~{ %^e. [S^Z"@5l6ԼT>~ϟ?&J][TX߄IF } LJR71I3 Smi}6d:iR=֩|})%1:WOOzhN(2msb%fPMjA,Bb <*h'q)Qu2O%}$%V?,8͌DPƧւ xGC7; K ]SP#{SauV~ o['}|ɀS =rJvWclm8哎23xfoVOww+K۟;Is%\<3]l恚UC?nIk|Q6uȱ-6JZ6ԗbn+C q`Jp2ѬNNWWռ)F^2j _ȸjZ{ &k+֠m-ͱ%'g՚6@#R|T@oRik$]ݦ[Kib~̟=%2 N-Sk AXiٙp 3[H `NQZ`bQRY9㻩 <8X1fW2I['K8;qzlr̙S$$/V!OtڊGqx\`'JےFfx|XI/HCPEfa2Sr6FsNQBYۛhMV IK49O͎%5~G慥?IhڊM N?^>!^` GM)nDDplfiK K4kRjpnsYOP丞T9=h21-ktMC<]Sxn`Uz`ؠm*o v 3XA'iI}n{Xo/ρl"OzT)}|[i:ri.>qO\1SxRWŴ/XITcj%~CVK)Uu&,h왗FtJҤzO1{n#s+tH5𜏢J&X(Ǵhem+btzK=cebcۓ7MM]:DӘL_jɟ SwHkI1}(),hITVW(|HJTdi̞yN'bNzMh'[S4/t.f{z:Crxu5}xע1 K9p3K!Q10ɳNysb}'a* :\@Oŭ? :4+Juk-6ϰެ,55D0.a/)]Kj> Vbs<~}^͞}ęNL=øPV 5NܩJ5VT*[{~/ jmNgKp# )*f <\<>/F#VGY|,%jQ uS V9ݿMOF,=׹t*@0VU;!%ho{lA+Y[5kCZ!35 {UZS2QICi/]E8H\f)}H@n[d=7-7ID:᧊-C"f2Q5ٌ(lQ)8u}B\4:ÁD>JQ ADb"HrtɅ0.lNSa! f͊ /<({61>ل+INeX bu0!JRoqzS3bU1p&Cxo.ɩmiN&7ր‡LS5*!)4Cx7.3v_sUX6@#~.xk-d (AvFgړ[ӡ1>W4z["Ȧ&r缨Xթj#^a2#vN˟ld5fw 5J  S(dH:3_85[}%cs3e'qX ڔd6SOã+(\9wSѴό1,?e ʬ>_&| 9`@qV34gQFh-55J&Cy2U;O]NFm0ŇQ.q).%o~.(HcX^o})PcLj*O{aEMI3crcuї9ITz%^"1VV}L pՙROhClr$5Gs)E25b< ~b{7mϺNȷEکSĤܿ5 c:1Q©PrhW /, (̧zjRhY@3VXe?=کELM\nĔd3'_̜J="5v1>'iJ{zD>5R7=7':J !~} evc V<zr7%|E&#ֺԀ׭+6V mQ=a/ⴉXB|hFJ8$^םMyz&5Su,$(PsJOˣI&|ɦjxrI?YUc[0D9aMf`.Kg)FΕ2 us?_'H}.X#k"mkf75*;IqP&#m~0Rjt#>Xk~cǒF̿F%, JKݖ}R^t*M$lo^; o6> K!3k}a9T,@G8 ɏMQK,DUI ڶSQ[_;'(a ̬sIwdxp>t%Hs1 tmcjJ'J7SZzJ 4H(D28tam3lR5$mHT>!=6-wR}ݬK"dMkX-NV-!f}䏏{\IQx\ln?0C36slo6q}_gN >D14D@ohyZj`> Kc^|Xh^غބ+kEnH[7t >[^O06퍯fz͊Oi-5*٩[C /NO(߸骅K1ͣ-XTKg~ɶ5dzSl)7 K4E4TX'^mxl:ƅuMEt\Y–\߸8:0ȱAʶ)+f$;J{q:'QMʫCk-Jt2$tp$+~Qץ3e3M)""E ZkY4rOL4S$\X|~p #\=pd Ц|j_tnRS%햠0q?4?̉t4.ݒ< Y:t ۓ]m4i8l< (۟,eL95MDHCX]O`( V)FOr.=q:7qVFT#ӭP̚_%QX)Ɛ)Cg`0%Sdkc1s%t!lYz32E)@h(GbӟQs|MA~eŞQNrڔӌ%Z1 vz 7֚1d{8맭i/jSuZvbi&M9w=%%4”.C4fu9w5a3u1(%q?@h__>R1¦&Fu6he ?:2R/OSl8M5W7Ox|)/&̆u f=b\ [HǤۜIⱌJU]-"<,ꉭYz>^Yjļ@)G")qD >"չj~/},"Q5ibO l<&|N;%$C7ߡ R9ޚKWB\E]x#&؞ N PfˑRcSAur}-uK&XЍ>~~ZMJM,J\\щ(6ܳe GD>a q0Oy/hlDӗmgDt4G &VCW% 5cVVlk`}ʐ隓oIDtLcF8Ajg*cF; Ko|;wr,V4/%ޮOpK*Y)OGג/e”)K>d m? @Ż2F B T31=RZF.,iny Pgk*d}x`\ӆ5/=Λľ?$T%2ṭ[k:-7qgAy}cj(R̙GInTHo~ ݊V7/n{a]DwX$Ц$ŖŒ $p%Жkl= DL(+~ Z_ڨRzjר@z =8ȩ6~9+TCIs6i7*6<5jEf0Xd㵘ӘTEFβgb֓bzX̣v͏ov~J gXCf5iIt(H`~xHthRc(m镴-i 3[בSӢ_#ʩhg?S$/)`X0֋#8 W1J{7덞`wmjd;g\ & b~iO#1{|sZfF'톯Y/!=FXYy}Sv`/4"X`}Bc i!ݟ,@θK]˰zaK?[_4bl jϘbq1D8E3,by5/Rk%D}[g;"tL­P MNZj480էⵛā[Ut6d+f26̃_a?kWo$mt%Fxal+6褮()ÙŒ b k4ZhpXۦ!1&ECx77w$k6L8˞Nc.n]*Qc?'&Rc¢8&fO?ߥ=p%﯅}mt0KiJU Kra I:e.֫ЛZC9Ω4@1i92&[&߸K!C苾G|I"rHMs!!F3 8^ f^:YTԦuj4΅7XR7]K?C[ӻkP1fQ7Es{bRZH @cמǓ"j\S@Zr̓n}Su}@l/Xh׻][ k &"nDjJK l}ICy z/<J2V̴X+ Da?j 5qpeJ, 8uY)#CfʒĆSorR E a'ED zJ{ϗm=~4zןc>? L\FGsj) k,vY"Q+*uRrɝx4D'Ac`z1aN}51KzZY:i>f{H#j?h5ۻh^Y fGL(KIYjT?s(ij??6Cee7aՈP _&bVJMO?4V1In pkH'M`rVmJ U;f|;VJkgg*tE%t $6LP܍,[KМZ)_,R 3 m'$XVg<59HY jtH#}#3Q7b HΕ(_K??uMbr˧|B)A\k!:B1]a\-& , ;8f\wp7fsZ5l\MNzwNQv+hZB5&</}S+g붾}n֩.r*N?G^$Փz͇d3| { LI隔 IIx`(jS j-b&zTNfJY <Ԗr{Vˤ_k9 , S772ౘ_ }[ {Sb MQk_g8mNP7ST+9 z<ȏLS֌ßFMc`o*Q]/mA~G.͞@4, d4F)5 [&*.q)?~_(Dlɳp,MMuጏ'#VpR :> Jf˟D-M5Ʈ}(#捝mMlqbG`4xY([0O۸6E4f2tx$Wi] |~v{I9${ r];Ή_2%M:ځSJRqS6SYЇiP~:&*'z}*ZS٣,5-D?> n*;}N॓ ;)"H< BLI`Fj65oapå=[o:cİneJ\`yoVkʓ($Q [PR烽J"Lz v8؞Hd3q~H*QW/dۍ<ԩ=E엪'(VP{/{ ?< xoVKsډA1B'0hӞܚ~bkyit2K[7K#TC$;m&8s|iʺgn#N`|įaTê0yK1Ȣ=ƨl?L &ݩ]N3cX2ìG6!GmC'qY-^Mc=v6pYf y}[Sʪr-GRpC?X9zHvOOA}$Xʨ/rNwSц ζ~mOqVOTǨ^ H+Qt>&I/thwwjB_*4HZ'IWmLk2tXHyT5x%PqyJfj\bGվi#[t%Hu5eSG<]@1w \&m<4Dw5À<'\x=פ:hᩂa BMEXz-LdP?H#ŧ 9ngca-D#(_h3f)/6CӰ\OFԆL=#v>v2n37f?%7Z|cn,^,><=li$>jSй25OjnFXdOYUa&it*zě)Nmpɴ8E ljhj-6JL0Iyc?>;l<NKWEz ,qO`P7sK=uJ`E/[]/e2BY^:Gl!ᨑiI1{ $WGqc]u~9J_^9Jg2Nc}1In'|kDJcS_dZfcd$&M^2c7#UV ~9CrEftDrtO }k>Q7U5Y*z\ lC4&`٭;4xIUOg*aA6OQMAKmRu 77p+qX2ȂWdSuA,`]_{p}pR]3vQCڜv$k.z 2_mzxlP ?I 636οdgœ=Þ'U^B؋IN9 etжE!f-uGMS %2`!1$u2{A+4PyBs5ʩy݋PH:^^Lj8ħt}E&]œȾ#Jąqw5c[ej ᇖ_l"sy_9`Gm(_HU[9: "L׾Z-ĕ֪rK휝dkc۩q' q]Ŕed"P,bPkϥ Q}{LpS,I;]`D8%JQ^!J9lf|aVO'c(ͮBS׹J>`M洍ݛMxbA| LQaQp4 \'1l0BM0 ݷDDŽmZ kz'Z7Bc;PȞJjHTD,ykep '$%j#͗r8j4Hm{"k-_~ǝC- jR%Vs,Y`Y&̑G37A![%iF NiZ ucGa8F>:UCz&/i-ܸ`.>Rbz!98$'s1|`j Z[.8&Nd/+8mdgZTu^Ml-a%5d3X)@&:#FD;l咅'L=$&AIT0ndoY1\Bľz7[QpOdKIBHS,Lm3vJAz |h.Q rN ޠM]z+Dixl! ɰ ElJL(@ڪd`+j$ֵ._-u+ \J!HQ ,׉FV'7m/d/]<6$ف!jX'Z] L H5lϊ|&q!cbfȚ|]E5d,JAa.X8"UsHc<َMz~Uv˦JU۠u+hk+E2gRZdU~+R`i'WYd-(sY8'ƕWv>΅K@VPaƺ |Η&b&US)TljQ.Wɦp{%/,I|w- %Y#x^u^1UJbԾW\ %܂W=65Xڒn%dsp 3 _6K05-ن0lL>%FDP뇆]Ň 4LstbPxpho* ֜%Sx98cXN}(E-X>uJAMr4q4ȎW"0(TМJfL*PZOrO?5K3;2~'O l@.Mir^dOk;S1npUM`NPD; NH:'J5l +{P9)J/5\\ݵs]Vǟ7+11O%aNg3Ov7if }\MEEش]pvʥpeS򢰹S[<^uN>UwPs be&&j~$YJlhu]2p$_]M5΅bBAL}aȡ4 m m+h2>m#by]A h r֤XuL|M:pAׁAHuzԦf`-CpAҰ"ua)2BJlmv9f,c9 ;'HŦIlO`>e^ܷąZkހcG{`vq)J7ξg8;>ah?b8_yó)o㴈l}fA=K"f^6_3BsP@v lR϶_ fviAf ǂ*#TKqyB@]'_d'z'6vLy ֺn%ӣNIҲq囸:kZENy=$ 5 5d*ұlQ1%ֳNXĆIEZ:}y@Ɲ|1Msh]gmLވo-",E"@R50fТL}c51J@'Ҝ$:_c:%r 䲟QA(*5c]?s։jJ9k@T7pbT  OLknhuJ)U,5. LUH?aY 7F'OY&h bVO <&֮=έ@<ѹa1/t[OZʉCR^f z@SrkKhpN|^6ߩ@]]߷ ̧E[`d*Nfʞ&f-ō9mC+s R ԿjQjw>NwR79~ {G[E$;wBM̞!n b؉,#@r!ET0HZVA {n2N v&!$X,ꊀmG8MSDG0rt yR,T;!ɹ@n,2nsk%T$j]#J2O*> x\Œ';Z Wnb2b*Ry@D S]nlº$@ty;ur?/ay[pfO!~&'htkR] f8DpJ v,wF@Gm?)ћdp|$uuߛ)ۊ E`%MJErIK!֎fϥdA&oD66M.`r[2ߞdN#k4%ʨVxoONcR*>M',>TI8ojArtb^xN $l| k6ߥtWl^IWq[>zjIgD"ƸYī擿ǃb&IݬqЖxҜ'ϗ B]qCuQe'NXmhF~1 /5T|q4XOЋ,|NW`2fwiF2Lejg1ش;OzJ =rx@, H@qRC~>{3#9—c!<6mm 8I|if{KKg+tX”ҹWKE8P̅G AMB6f<(+y,dbX 05H{AFb*F`}l"!(]֓/v}t5sp`0Lڤ\؀!>ss M u9O̜Jc\M T[Q% a]-džBC7\i[{kR%qdwv6O~r{"GC;si;4JEPQ k[@pO݁Yth(q~YhQ>v 9b3R8q 5m]=uЪ ;]w#'pZbMX_HI̚nP‚ eO؋ܘ>Z,AlUHG#@y_5 hxz:m Ղ, 7,?SӅ)n KPʭP2X>FC?޼4y\GIdȴ=hJ7re15e'53}} Ea5VĜT4/)x |/Kc3 D\`L7[0^h:#N86[,ORɎ.|F8QvhUCBCH^|8fvqqv M֦T(5KñU&\gw@4wB|]RRUEI5OmkvCP)2‚ EI 3Jb&KJƉA1xr{F`sszЏKMQ/lکR5O_K HmOF0Œ3sjU/JDDs1sH\Izχ|9g1 ϻ-j:y cw.p:.R5] o|?J^ΉaE.#i?(s :Z V!D-4OIٕͬ4Cx"WC<#$E7L+1kKߐM^T^ eL/B3 Op݀}ږ(R |ma1uƭfyBŒkyUQlki)p>ԼD  wCaLjc-w(r毘Dt[P%SvQ~neu;=#P}/>O l  %*6>hzB]\haC0ɭlNwww oHvXov 3 CDbt`HF)nC+QW~@WЂ0{IEH}3p'g!@Oz CoZD&fnA9D.@v f'f#;66ԅDĎx<|]?۸߮_ ?mD(s̙76| o7k '7lDi"0n&|N;^>v|MkxhظU0$wT7>Ӝ*_Y?B]'IEf<`1sz0>_ DZF^O_(8>>0m@BG\f:1jwɬ^}" w3|Ͽp|<{?`-8x~}|~m~olpI%tEXtdate:create2017-11-10T19:54:58+01:00%tEXtdate:modify2012-10-25T22:38:00+02:00OxIENDB`pychess-1.0.0/boards/slate_l.png0000644000175000017500000001645313353143212015647 0ustar varunvarunPNG  IHDRt/{gAMA a cHRMz&u0`:pQ<bKGD̿ pHYs66BtIME 8[A vpAgY IDATxmn%_( @ ot\_ldLzurg޳6?/ux֜3VKmsq-XRZ|.ޏwqQ㽽qV}N͡M$z1ޝ-ozyJy$ʉ?kZC4WIGώn'~-ގ[G[)ڹ-1OS% VZkQBǍ%~b{q;Ҍ} C#C 9Y61St+ 8<떭|&wޖ|E1YXnx^aJx6KɐB 'S48Gvi8ŃQTtU&7>LGf}󇗦{{?^JZ j X{r!¥XO#qP>"%:r$ FJ2*Bٴc\ZQ8JK@H6_[0>,֪(!$ {klJ_|Dml}x` aD6# "Fhc)%ᢉ懊F`>TT0S5DX\BX N/?4cOD#{Ђm\&Խ@rU*)j-Dn=0LفzA $qI2sl'닁4Ï^!|#2L K7*@[ !d-ˀڂԱ%: lU6SZx 0V$f)@'9ւ EȪ-3yfy#m)$\-0 @| qq 2#_~ AFKlQG-3ljZv"`^;7=BcՄidXipѦ|.m.˒6Bl`:9 9(SQm/\9KM%S%Z?%^ܠ#>)v ޿)᳾ϭK,lPҞ&_ P*A*aauD: Ӗ4RC0e*NX M$T*<-pN SoVUUE]  |'2 vLH#+"mEHyyHF+}[0w,Ogm_%*hC,T>q!jQhpFeNE)pV'^m֣*BF`bzX2}Ő*#ڦLYÞRƧi!D~j p=-]cݨױbV088MbᕹbOS)s;'vs^+] fK.Znh})8ݒU0̩ G ,خedanG1,m ~UH`tQ°r%oUPҋ:lД9 lKX>lYrȼe1m&N% "t1xRޝ>m^ WL !Jx79`͌cdaB*wG4M@s4) ;}2f11PӀ,e\Y2aRyZ)+m ߰;7kP%[HW@xĥ[z2`5rm\ǘJ=Z2˩,Ub  ڧ$4ȷξt%6YUm'7rjDqS1ȢDcяoK<\םSْ Da- ֗6̃З3o ?6ș|s\jx_Iy`ӚTE|CĆSbK`χ}i-n2 !D5ar*m_WqHcxBjR2;-x ,@@%DʨLM9R@v$i#JR\4l UU#pIʝLuf.(3T*2 <0v/o `05I*b"v/)cE*ԔGTfiP LsuIIY&f9U[4Ș^Mܹ%p-e;_sjG ۱҂1նP'07&55Ӧ?!) ֜&!EjR SP=& OvjAt;fJBA,=Ң$oNfl;u LldEO)tHVbx)GZ"N8"~s2XF;]UQD$M"np~8bk?^CBpqDI~a ~ 0F_LŠ--\@P7,g҅"PYBii@q<( ̙ع%Hn7FC+ˆf kœvGR 'I9gyk:M8+YB,U#,б EVJ.o"NBo?Qn0g$WJSf}Bp!Ym,TG J~m [B-R׌y wMy3bG"ݪ"))2d/\6-1Fj\!G`+?`9;'#DDF%~6 Mj`69K`ܤ}o@tEʷ~Tq$AA-F tp) ?_FEBr8< ]7.e$ΞB~T$E1ٛm$2qPS[6`#،l vM;&h{kKDA/lEZISu"AzOB(>7F .1%Ve_O1TE _wqeB͑p0s\TOP*.tUZe`P6E@J'C Q !6mu\x `j/I)x{ˬr n7W+w4Ƿ_zpB?3]C> 0QW'!!%JؽK+x&D%Κf>P]+v)1 鮐-i@.DN%_}cˣ2>8b$xk_7 jA裗꾅i-$71͋ۤ*w_ /WGR=_R tٶG[f 9?Y[0=G& Y|`bt:#D ]Y)9yʅ\ O[ɩIahW JGO2W,elzQ}}vi9EF_;7& Q o1wxY;nsV'kKh%/Bacf[Zּ9,)왝E uw&lV`9ܮKefYua3m'ޙr脚Ut ϳ#"戙'|q[AW 9^Au1*<XPVX&ڨY N̤Y!W2mK٣Y sG>J~7vXB6s|ky+AP2T Qi?x_I DC +;;4is'J78{z4UVhȆ&- 5)]&s](ȷ VRזWysYV0=xy`LdUCt(N<l-4% (3LNVOe3ڔ>^>Ī/s"P8`arIL@u^F ^q9,$Q5;DkTrZZڃ*A/ vOC"=@$}RdRhfr %# [Ӟ챫ƹEI+F*ow\t;i#K;T" , !|53 a+'֥m>N!l+'k+yR-J֭]ՙȊ<:"F=Z^pB??I|xI„m[:(,>< Oq(gq&Kz]Ĉ0:yvBtO7.#7靍I'&gӔOݻ;(WOM;MgP.iRE_2n_JA$,uƓ,pc^SLn] H8zCsy: yH'H^nD%>O9D`92~+=񏢏x\yrr뀑GFO|4R&aZ;B,E5pӺ2:̭yӎY2RBtL@Q\t ۳h8ϝ}kPdya[@<.l-4psuɡ7!2hZE )&Kvu0DsMŗuK ldQM^dA*XX1%9Lc:Qv&gVԉϕ.HB >Qv/rH#_KKz>ni-O?37'j偬hPgiwɻM/Y.㽮N!~"L7wo88D!5|NX>xGbD8Ӽ C r|hˑP~$-?@sp(8KO@ d%'ŗ9)4m LXtc"d<>% .`elM'^HSVZÝsQ58no՗ǖ>&3϶%e,(=?5dzNQp޿nMzӫȥQvYVqrlEϺpK<>W>%URAUlr:'9>m!!6]r윶qQQ|Lo2~ w~ kw g>ny4@3s͡bHp?*9Sjej\is.yλɔĻہt(9 գ޳"t_!NgM"smB$v/Cʝyѿ 5~5e0g}>JxVets xξɀ 0fm}ƾ1 iwf`0rwI6<\pM#]|vbPtk2Na΂bQr?؛蹾fZ\P¼۸\nf3w<σ2M>{tyF"#y5E  q $0/ $ l^Zd"3 ›/RoN bưπ߾1yc3CfBU9*}cg2_!ף„f#<,~^T UH"q:ұ})D$܃9rảL[EFDS(PQlF$ HTL ab.``%$^<UӲtE@$zpyyC:?P/?kUNTjV?bTQKo6Yzc7 wGtU4aL<*Vx+t :'t?P,I"9<ʷfP׋+7Y Ud $ªQC@sՠ6$4RCq71 HCeA5رYg/as*_Ý*{}3' `/ tQ}Ɖ1O>7ޮjQߑ̝'w)pHU+Qy7fYP/^ɪj74)L."Tx|C<7R_s#3X5ʽ`iuR-O& 1T ɾ/U&NWL<=Y}\Wg?Xϛ_5 H`8N$IhD*q@/]eDOETL.' y!w\l PM/oU .n957̺ " 1A)AjUC>Mm&)2roI?o(R & QY}m"i#-}lGu@d$p/D;8q1+ !B=%>|黰DGzO0e1zgU!(lAקRr6d"@j%Nfe/0G<я$vv" ߻lT ф@4O1 C 4"(3c~`/HdKt.ߪ`'o~:CBа @JR P6v"fֽ/T28Zs"+j!4 $X

P`z`hy nG2Y5^*>l̉1 c9;_ =E5g][V;aaq7/f?뺰p|S`S!zjLjy]giolfΣ,3aҠw?PVoaeȮMf"HO!Upw=9&/gs\NԟY ?ƨ6r9#b'Pejgjf<# dfs9  % e9#0 7Z` <Mk e3ىB1Q쇓Fuu?*pY.Y⊚_d*?xM 5jk CW"o(Lk  ._VX?6D5őp փ1H.D=`|kT/x^Y cd?#P *Fڄ܎l4f^(AoNHҿ?iL`v#EMCm@L`~h0L|;))l5^Z)FxaN\s̹³~5 u`6XbWދLMNbuc u![\oćjN(LOI0x؏0/!p@`uW_z^@*Zu=5 xL;>-NfyEqpwlOld8T@6&pX!XV.F>szN n {CBb_M"'ʶAA2/3Ea?L觰H|`/(t !>'5FEIxqiACr0*3MvVi` P{a_:j'wLCDŨ,19ogy` 44A '^'d&f3ڡZq__0{ lԷ at(͡wa|+  $j ,J.fq)Q_PO5jۄ+4v8TYpl Q 9&c̈$ tB\C֔Xg;d^Q5;vP- >SmÐ^k0h:7u!]Ym 88\8Sr\XqYXyyBTU?$@ƆfE6v" fg`Ӏ{YJz8%O$"3 N%A c@B* sWC0e)etN8~Wj5Q؜ hGW8 DXAjua "7 4F݄삙5L&TM_)HJW}2@7D*?<.("fb47$EĹ  bبD|rz6و5O!-Dvg~Vᔾ I?!6t".hblVq,3OtzVN )n {;7$Vq]ȵ"z L z7% {|9I")C{=$D¢^P hL3bt!&r!Vw"FOyQ؄A tv2Wbdoz>Y蒚`W Db(׽P랬S&_p$>5- Z M#ot'!x8(U#$($> @v_pߘf(jq,,%)DX?jv#vu~hbɿ%H u0Ψ,b=uQI@ fwR FԀ3_ r4dQ Cc])((lݴ _$EҸw~0,*@9''! ]On:wA`ANA T&_7l*($t 8Br?L F,s,vm(=7_Sq%XMrPڼ ~ֆW\Tq c]3[pbqګ=as7@'ԇk) Jx.ƪNa1azob8$55FȾM)j#pVƉ6YhnOZ4;Tn6{p_*#lx0l"KKDBeT+EOc`f7ƀ;9qTx?ySEL ⎨cRlq ;+JEu0~y 9bY w^[1FdT*uP EUZ"E&mb? @d,"UwPpWЫm"`~p[9m_@rˁ.~^5,v \S>06=bvG c\-kRϩDWr+}s4) B5;81EU%!jCQg*a$bC*fEΦ7D]34)E?Xx7D1# ñfBS:\~NTr\9%_XgC`BdB>\)ɶ,Ld*" amlHhSro$On@Y8 ;Ʉr@ c04ٷ QC!z[ӌ4+Mů@JEi8>R96`5z?Dџ$^g,M~(~( D!&8'|^!Z֚ICRB_f oNKT֎2<7Y92qģitdfZO՘sTO <ϻQzwGlb=/zecn9y#k͍'3ObqC]v;2=@k20J ,j69.v&=LlQgZ1GqG1uqM}_"_ =cm(IH™6R м64_u+d=WKr9> 닰Q8 BR7Dbbe!(O{J=JY1;t?K=77"7M~ݒ:"BJ뭅}@TQ:XyQQc]w?c*SaYtǐf䯊} R~GLWl|qb̍) 1Fan?K{ZU$b9<+ &@P} OdUlzH!! ćcb(9I<YO:Br Y)zd#L d N`KU^5.eg{2! b#J746)dJ  89ժc7oo]K,P D}6R1T D|ms*kCԫQ!:b ذBxJ+Eʍ+ȅLYx<>ava1x.F{頁,@eASb<9J’?,jaUfY9uN9C||N6>pcjzpY({ Ӊojp\RB ]¶/dK/{L*W8q7Cv |Ue0 c`rtb^0Na8E/)cMoT>՛)b؟^CN>NCbuR7Lq_78G5cGm,faA ]m\'_H1?9 (z !keXf]#*rMDUV?JaFȧ8U(\*:{N" H=b``'pfT\Wf `Np v `׆)Vr> t34$,T}MM03*8,"+g5-n֋KeuabD:u}SĂo"*]Lk`vs4-"Ms/E.D>*"2Geiixʲ-/°"'W(.27pOD֞i #E;RW$/E>7 &'OU|c`/k-]߁%<>Rf1S̲N%/Fk8EwϢ޳g z62H2M'BP`1@pAY[ɐZ $`? :h3{c;NTKg5i~ c^Ȥy_GKG(RfQџ"$thM[1;y< CPAN_{~V@BOM Ja%Z FHhA ȁ8OnUN47|̪$ {h A;^pwZPWiʃ H H,.d(g!F4t*V!|)ƢƁ#/s#HE1 |#:Rog W fGJ$MB 7iՇ }Ap@A$1 `ysNF`- ۄ ZT¦:qho޴RLW J3 Y3ѥ<+HYWm[A&#$RJ3ھQrdICRK>^Vf/ /d|DZ6Lh5Q vv1  vTm4S,Vk岮ևs\P (hɤHn*[+\uN"gE}] dÆǢm2Y(zW/ya={wb 0/X1<[j[ ٜ3Wf&q`-$Ck<2& NUd`J K@< r: "5ec$/|&z+2K͒4&?/xߍ3q9kU5wYDlf5 v-ʱ[Hts *2{a*5T aゔu f_q2tVe9P~ͣxM=sf7-r|noʭ6X'·mg 4{U9=C}$Y.?ةw z[{,ڵLͫ.i`P7I%̫\r;7E#U/* mozmzkB2A|>F -W$!Z&0ٿYRVqTjXˋ`O1imoHKQu1>td;|moKHDs  q5>aeČt۔ +QejFqXuzrWvXd ?*p'+z QɄ8i-5DTQMuvdG]qܣ2P~R&MW548L/I|D# Y" $>D"jpqPLw-x!wqod;A xyk-Bn)J*CS :eh ),8Ĵl9 8+蚠j"9KVH@T>fHAUnV5aNiIڳ\u`:I=/%~Q%A~b{ أ*ߒ]aovl,>2!<=&&|˦!7R%6ςsa^?\n/<<ϥ5E,[ WUELoEZ,RI,EśYktYeU4 2u+r3{mMϮyfڶ صBTa~N6uЎH dBz&RSW T/BwٛC+J"r=^#e2!rAxc5YUy1cnĒ(v(778V-B:p\Ofa1~E uԖYoa4>_Cg KӶƽQ3=3O=`>7~%%Jۋx>Fkj !/j*Q to+FVJ]|7:{7m[РЀӀy ~r"zX6.t $z_j,;Q* /i?<:znzGvsxq 2 sЮfmیFQYO5 q/z>z|˄gy fh>[y-^\n;~?~ʍf4u?&,Q^Z>'Qg~ Zg?#ooV Ÿ]$ 6"D"1!*'l[ V)0|#)T.dZFvr@bcHY87b{Oiraث7wM8*u& X[4N_BG(0H&^ũT6%xcD|R4z]~%iI٠rt6w wM]M†VuE{2bP0VSMypoDv%תA[&V)ghP"&&@2SG cD l줲=kOVA%2@%md?u$"ZR<{^c)b\a)rë́dy!tn29jΓRޑk֛.qk^@$~~~;mK M-{? m‘=:o1څ++Y=5R#i} oj;w47d K!<<μgݜjX!'vzr,=jG* G3Mjj ; wc`@ڍe{V}3%]ݩjU_ 8#D ] Qתx$ȍ23HHp@f,gXAwBu Ɂ 0k?sAB7פY7MwdP2a#כd"F?Vza-7h;})G=SU%U@3J9n]U hC.FwFNEL7s BۣCUyUv9LuC=VQmg, *xhf γYpR8 X+OL}̱?@}^ު΋P S S=kj=uXQV4@D5R'DTMC<•r{Ћ.a#xHjBLJ"e>Ģį>Ccnr@`e(AqBE7ļ H?+sC۳>:Q~܋wY},Q(O_ml2 x>h aEp)zzO<WHʵ0>Q2zK1mIXku&>7bRl:`%R6WB8fB1XYqLRmrRz2 FH4BS}<m\jᅑ,Shaw|2rp 4qәǬ8p*va 8+fb:&YFʤu]׼Ef1H݇a9TWIzQ:遒B>!PfA(U4$67d~%kհs?gK"`H!:elp,0D8I! z̛HfɕDMn7GR.{]^7= Mh$gbEBF ToF`* S `Uƫe[/ȵ!QUR~YÅN7'#AGˠP1O~Ʈbi 2&гk`եkm~u;ws\Fmn*UDVh#jC=vT@67葬5"~'GœAtZcN<ŤR56<WI*{c^4YѪ)ThBJ) ۏlW=Vv](7N6/y a 1vVZ#\a:aWϧe4?[k2=4zqm&ef>8itq9q ͞]:-^lSQv36 vINWu5b,v_H:#d5QZ; 1z1Kxm8#urrj :fe-prB쉴Mؼ;+%qZV\gKV<‰mT zDM_!hmXqym\E-hjmgm!2 Rf542[ymY֋c"K m0pb7|p$+:Db[sq `_ ʒȧhNϤJI,͸3\!b/CH]m4DZ]K ~PY7A a7|Ï_DcջƠz[=28_,bt슆>9igՂi?;uoP>(Vw[r $`k9p`6oNiUK cM⺯W>Vw:ڸgY#y*1> ˜fW&:۲E PD홞YDF<G` hk4DKP=^ Hlx>+ R>_9 ,{@1~zX_&xC ⬬ϨN,^@MD`oD}^;~Ֆ$*NwK<~-)WvCגLi"T.=WJtMpj/i_tQl/ei]^f@o5 2i_ 3%aqKO#.ۊNeJ aE@,j&܊bqxe"Jc)M.֤o J@I9!(o,%9kZdA Uez5TzYMi(TZ5 on)D?~^zJv$WlNeU*.HK^?XP6*jZOͮ8!B @jb, :Z2Qt4:3;r Wd /t8V }4~^D۾2kC>,nΫ/V(^~@Ƥ[>kȚUQmtҭJ<cd~**&ts]9v^nY]Z)oVW }y8Ѯ!U5^`.T2kMpЇV.Aui(~VoXy~Vfag*R#HCP~g9/;ơfr {cL" o)Ou#l,[t@'o͋l.?P[D3 "Z5)IzqkWb&:^!.B6MN\[fd!h!ě~(+YW@ X=M)6+a?[=J 4)ׅ4f(\B禎ƪ`77nZ]DGeͩG{`-w֢AKoj)2/c.{KNj&n^o ba|pTY^^YHoDLnwe--x/7s5}oU8e1 5^ v`Ub.?X0u-oED(~~% i 1s@<!Ro`3̯K*Iw?fXIB2`" *Wb`xc7,]7o$n^C Z|ðEb?oH|vd=^l]&,6d.be=C/@S=65#Bb}AV@[FNZ ?pb.޻Ej2omްKK79ۚvm*iEj6_[NJu-L8s{/Nvp0;ﻫjU Y$#"^RE/`s {\lQ ^+YY@`8L}Ûd6SP}yHayTҒ1\yw`ړĀ؅/VOpHRNwOr('Ӕ v(E XHY$tV%^jT c1*I9mdZ0iQQߵqKJ""xZSQܛJPaF1Xɏo_ .h]Aƽ9$7G2d@jpc6p]7Dξ1s%RNsMhXUC˭({BkAM7%P|P`oaHq&K-8/u-R+e])o4wNJeH.?&5W[XKcc`YG{NK_d. 6 AW{@jo⌨!')[Mp1Jϑco+ߵ~55o!5EC3s"O=i)ֽe,oSQm5]2 x.8@ <ՑVS9jCτ@ !Nr/H* @'h:JA`Z:QvL,Rr~҈REqfYb1 ]WjMyц*_y"[nmܥkYNMiPp vM3?9HxF Lj5fKXk:J+6@RZ'MW-R{ۆpe:|6nx\d۾ʊxQwG!MjqxPFIw)zjF:4&[Z7gY<ɺεFvEPU1u#%rHH_GM#OQ *u"ãN:&Ux!;[oJ^bo <|F|^'8i*rS >³%su5^J!\"WxU\5<D +3#pIOYx|y*D9rmf +2eܹ΅:hT[+ޭ{騭vVVM 0Ǡyy_6bب7<:myy:bkGsR }D;E]Ûyh?sg  Fa%tEXtdate:create2017-11-10T19:54:58+01:00%tEXtdate:modify2009-06-20T11:49:40+02:00UryIENDB`pychess-1.0.0/boards/wood_d.png0000644000175000017500000004406513353143212015477 0ustar varunvarunPNG  IHDRnn[&gAMA a cHRMz&u0`:pQ<bKGD pHYs  tIME 2z:_G$IDATxem,Rko'lp oLT$8W۱}CCaf ?@""0D&~7t(rȀ!w@$__kἎ ? a؄}w`Ȁa ւA2>7pw 5!05H$~.h`݋d S @ "{u]P*4}! Ych@|C "P1_c%V S  U^7_*TH @~`Ӱ a7bD 0 u'b)D`4X^5%V2"Y7]@`ހ$`ɯ  Kф 0gUo0d&tL(/7@8P v( 3w`x r~sc(l(<5E" M(;F BT "M>LD:l(9Z3H9`}#c@w+ τ(Wގ?o ΅6j6R X(^c3 =ך@8) Q!|>àݨ T5G@|`!b*RVWcDH4)bDoZa;{!**a $1aB0d(|+2pnƟ   5 ᱐y0tGD dba@nkCxr`oΰ, ǼEka 0@d`$fn Pu" dn  aCM܈.1 o!"F|Ӑ\QL &"< ӑ0k'`@-`'‡G穪aӁ"QFok <d*C \X{#D Ȓ|  O bAz*T("d> "~~ jPK(">XZ D7/<HHbVcdx53!#H3T#2]7` #1lbQ ϡEp&= 0U~VŒ 00e @@ HT%{-d U&0|3y" D"b3r9_^ 2{K"3H٨)@*_ZDv!(2Srb s^ u Y\ܝQQ_g@JTx<ؾ!cH:"2A*i9@|* *Bs 8 'gww^3Bw?gQA1Q+10Ry@*0cJWg`EĹX.0;10-vdd]Rf7w;g0jH0I@&PI$Θd` \FL CUd fk^2@1yp>cq̠7ػRwwwG"pzAU~*0\`R#/Ύ[kݱuVW*_W SEʗ2P(L **ĵ>P' BB17OϺ7&e $%0$L=|GPb%#Z9踋yM{@m31d@e`Z B!VE_GNyH  P p8F*L\ (*Y׸w1倈|+Hx!?bi C=..I0F@`f|>LdlBő̈́x$<k=a 29ƴ:yC0l0f+wڡ*cTʾϯu;~߁ą &HLvę`Tr|Ԯ۬l| Zu+ ( 2iؘFjv 1q]K[2@nCcAAv2.H$ ~ƃ)L7Dׄ];6~`n<D f!A|`^`zavQ@`U9C$9P+F%: Dh` U 2aniZU=` Z"ޓ‹Uߌk"7남Vv0ĘL\\ p7Rp0^vDL}c/L$ϼ:0h`p`b1&#O UW&Cٽ&{1`1menPtI-z`Ðw?&.bオ!ϰAPءDZHKnkNzL [{[nFN Jߌ)<+l΋yj~f {=I_e/։jܕ:ĜRɉp[ºfèPPB^}ux߈p~,+!b=H&>jz.fwk[ƽn=ju>43&f2pnxp7㪳ʝ@OTu]XGhgĴT]P'w2evx jWq3kݼ)vTİp i<WAN97p@0Qxr8 GS4wI}n1 sR|BK"Q8b6aX$U_ u*s1~n?cN$q`,(kfg"x UV^3!9Y%ix4QXTQ9 "05$ݠ{٘:^o`Xx.ťkݘ'L*7}Bp"U^U&Wٝ0dd5ZU^@:fn \/V^o)'9 vitS]sJL #X IIesNjt0Hd 5'^fo'[`ng R2D憻T`&,­8T@;U%+/#;Zʆ%Wp8YHC<(U*:Znoh+Bju:$=Q<hzM)vT$ZR,bNu.T߹8〻ᮘfYSS#Yc!HAP]eNjh`]Ua+Q-P|m DЅ0D|D&v2) @0]A*B[r\i%8jzcXjVB,zFҒ'Bd@d@n޸`i.9FxCRT"D7?=iUWǦ a*rvW^k8lrhy,YfJ2h F$ca*PlܦE&vFᏤ&Pu}1jo<{xռk/i`:C29إ0"XIfYe)\ c]QbuG-n*vR!0fVw"y#ra7 56&ul" YN78F KbgUe7ֽ[ cQ)>[8ϲsvCgԪckgJݓԙ~a?|.}(ZhkL"otWȏ "v?u_P e+Zu| y!F#0z!dx/!!CpLc*yބbD0B'Ī1 )|9)"oL`fo@!Q%hAwoi&g[S?Hux "ǒ(1]9|a'3O cRyc6N0/d8 k6"(;]4^sV!PUdD8Sm\Mvgt4{S |XqYi-|ݴ՘|>^]uy]HʄګCZ/A˺ ]\Aa>$dϵ1H_FZy]3dYI'e }J&xj_`ΉMaoɓ])zP¤aG`L.!xvN\4;.4J GJQ&׋",0VQ 948O$ϳu;8p * _=Y| Ruj]BOR\??>sE`Z4q>+;f 4Ua1 IUbF+XˊbUFVIG<WbafAFE"FrReARn~ىH47&L*]#(^^/eE A^$*v)ĊL^ҳ05' |{o# Zt;uՁfjeY)R.[;n(L0SώHqg)XT@ae-ʌ~3e^ -N|ޝoH~MxdX-Ȯ칀 ;Y}~O \9d}p({?| J8ɔߧ>צk1rܗ8"Bݙ=E4^lpR曌[^mz5`}X wXK\ׄHb"wx|K!M^D䠺0~qsVFuU%03{-jٿ.YYU,]roC91oE]u7Pdc}%7uI7C ;Q-EQޏP@.KVHL:/$%s79Lj(Ġ{ tb\+>#].v:%:_/6!$ETbqZ#H6[MJGRJXK*ܕl*IV/׶+B(SԌ"RBPj/eg{Ѩ zx@pC SDGž&_/f0akx-{Q`!,&+]D`-ȁo ]MX1Ŏ) XXEO`Ḽ)P]2C|N'l^'|gaZO$ŊU˄'dCse$Π ^dzX.(涇cg MdуE⨁2x IIdy`v'exj6SElX3i4&A#ޭVFކqE;%ZhwDt: FA8*raWnM1  WZTfL&܌@`(bSIm=YG8QQ}D+suÔLRWTT 2Ik^o\6/r y4I (Y`s^aĦwi*[oxV'33+5ͦb&g-cna@7%ŇRD )ӫ..^ ~*OG"˽7sB8:qk͜V 4vYeM(jF"0b6y$` ;ެ&^ ;6E}H_6j2mcD^kTTp 0͉K`""ug ?E )IB* Qp:T`&w"[H!tLfɭoGBrgL@w` bk#ٿM9„Z{ ڄ;IE'{S!:'EmFQydkxUBݱ}cһ~H ^HZ%ʬ2iϻ$FdWuHS5K`2:Ӌ6DhJ4}^0\i@*ZlL$o)Dbc†)eb$'ԫMl,8.vZ0Z J6Y+ijF.{'FL-3yd蕍vKy8,'qRN+ 3"dIq΋(MAhy7!/{0doweYEpV8&.Nx(ܠ\TBttk/.ũ3-V׊$˺`9{)ᆽyv|ʔkD *x&1 u>O% vN[iXXA} w7 v"KA`T:ɲ^Q@jHI:zR0{T@=5 >CDpͼ;{/~І+Z#Ϫ4&^?NM/ػ2f-]r]":>ٜ| ̦Vr%E]E QP&5cBny~~^?ַ@}VY: *jfq JX*dBKkC>L vqG ɢ6FVeaDOJ0d&r/`obXe$U1wRH_60m ~M4 U\uv]sx a(fkL6YXH|ʞۺ=p^[ U1RH85 ;ŴZG, JHsZ#,(z;wh` ;QVOߎuVcS!,a 5%{/z 0_TͺӻEtb;4?u,Z *_ғ8Y3)!ċI}~ӌUaXwA0q ]9&q=ZocT9)3nfnIC y6Swe NY`2 lGFB1_/PZ*>ƟznV9׽-ga(|ؠfmppqC\|mmIs0sU6"j^?"d}5b~4'j9'8kbI\$BcXGqHe0]%0Y(Lz!:4o31Lb퇒~.0r>I%K߳Sw|^~/Sn5kI5&||c RsZE ro0}/VFeX$(:$ۜmE$$@(MU \:CpZ@Ƙa shÿ1C dЀ&y2!ÚpYI7BT`npwP &#&~ozZCf 6vc%I{mXZ:VHLÇ/h6jsU/]H-:4ie*͆F IG˵Nn((׼"j0BZ Q.y̲'qFGצ:5J&f-:X`px* qY8]Ku B'h|wHRvP@s;3{Xy )z)Ck{/LA_Ue*9JyRj.2=D9u\|ۣO&BdhͫQ0uhCe@r/!u4"Vh~>LLV=mo~Euy(6)E/cln|9MLAw^X.@bņb*C B2+0N"`+i&4_C4DI q<11ƀWEmH$&N< Gjo;FRzL ]v"F1 0Us ѓ7:0 %DV nZ3K5@ru rkOͶzg6 Xw~RjYxzn+61iV7*"[en=,bဩeykNʣˊĺ!*|/|ޟkcTha/uk-߸^:Bk5/ĎfKե|{yeuG)M؁q|FdY ѮuO]M׽)Ny㻸72 p߿iJ7C Rh< Ѝzt &_ |±2І:W_dypvrɲF0d$tʛ-ވ DWy~}[=GY6S q~nw'=/IC#~ôWCᨱ6yܴ=4Jk kkyUItHsC -׷E=- U&{n"n8FDm(k1Pi 9\^EjǼV~CB&:gX d? ϭ5UN20^jާ\ML57 z6xdܭ@ᔁtNhdY F}]FHA׃B3ҳ\C|Jj2A&d_1y5b@ugkvgG!Rѻm:>M_1*Oǟث% 墪nIlܗ|?0)Ѹ~Ntbpv+yXc-]]5qN-Ee6{kdȃKrBHx/gieu Hc󹱥2SiJpZТ Lɍ̃f4i]ȲS 5gO6F&j^@4UQq͋DU`MPA'u'4!>q]cPXw8_NX/Ldb/0#. ׀ @_dE{>@d K@ޤE1_?Y,vI*,~NyO X"6YT6rrgE^?"]Y+9 }z8(uCϳ9O}YbΎCsv^t)` 3ewE|P~)@ XE8P{6~ҵs0{APAd<#<̰EDŽ(t^GL|ӵn}^U1 8v9ad^w5qKh09mT%D J/N GJjNiL@+KSK*P(MxF 3\!X5sT5Ms Nl t5p篮H:T)OJ@Ȥ_}hLD{R!\"7|ua^ɺ8tKp Gޛveet]??vtJOYbF]=~4sp!u|] t"dz!Z;׮~WcOp4}~ wՙc~ q#|;oi̅12Mxb(97l Ņ\ qÔÁl/\ @= JsIgT=M^t<6?R*gyg u*w?UycMZJ.xX̪meىti߼,wnwslϿcuP rhVNe .rs2kE%oKڹ Q$B7G*rԑG4,bvщt} scU١&J%'I5 s’`wRllX,wLe wr løbM;ZEa2j<({c-Ra2/KGy! h"`)jΉW5qvEsrfjSzgZ4ͷ3}h_1GQxѮ*Ukcߖ}vJg"|` IgMS}vT|_ckmtYY3 II[(Fގ\{9zwjPZѻ 4 AsmԬpZy{c VHk_8EI?=K8DnNJY3(SBwZ(V=l~XjW6gH'Mp^׋6`] Q}> &eiϋ祅{9b#G4.}"c]>l4deà%\%Iw]ecr/jW(PUɆ} $A9Uk{-JPׂ~ eŮbNG8Q?v$.Zv XnsٙtZ٣97ʡա>Z󯞙c&pp WK&Iv}D"GPj=|)<(6[VP!,¾sC|DGO mQ[Uw.!xT0њ~qFZk:" ݾꭟݴժV$lUu ¢Mvd#ę8 Kj/}KeBbaF+ Th:n[4*YSP7EMg+ XMڛ/.JC<{-D+Ω n^~Jɼpi,Y&3m% \5~p[#91g3CrE%UFI&A3r;Ki1s}>vgm=G~ jڥc( $ :qMu2k4ogXPPBcD0ݗZ;4O9TL<6;'h ?MDOdcW{-(3~ӥ{{=\E[}.#Pk^̘Bɿ˛}2~bUY e_M ۧL e(۸Q:ƿf7aʮYؕ "6P_5ag33-;ĪHy6lpe+6odȀ ܋T_$t;ߜ4h r̨CWt?H㙂a5bmHbĆ/lgϋ({ O| y ς7eI1P`KpHu>v͒G_3PS2Sf5҈ /:Qͅ1 zƥ/ _k T&HOw)'ܸofyF _:%Q+S6NjXr\恿C{mܟ{-h9qi>m)E8'ki.L,wj5M(⧚հ4h&3tPُQwաj8ffT"8)^چ872YPRU(t8ٰEq!TQ^6)Io\Ŕiuত1x(؏*[xkNrQl6>z{|$)ְF2#&k|2C % 6_Q-VW^O9絧{D! al9gSZ4ΑCSxN0gZeV!@ dۭ'K_? A)՜ɚ |`SkN15,$nD%!:<:#hQAD{YR稍)>߽;#e+Nj+AP34pǪ:MyW+}T& _A7%^Ern/1W G2}+R,41˭@'_Ə 6y|c`^$jXV&9/ h4;_ͨrAJRM$F<.X)ʤa1֛rlڮ=T|k\oe 18g{Wr,oPgBuMl/ZeI{0᪙:Ϩ(i~yfuBKrMH8v/Q!wxʄ9lK'*]"Oyc)/݌l:C~TMV?6r&FR"ssa;[6H= ޔ4±R2 QZ60J6ZuPZy,@5{R|5rwS|f p=ދb%q8~lD6R|#1rV>*Bmzn)Eyu 2Hሇ2IM#JJ.hp3Z/PSNקA͊K]4_=NCO6 {HGrVbvz>is<SXX<2Z!yˇ%wgY}+"`ϗM%RyFrH)V`nx^ȍԚ;J=i7ivyie@L"3z{iiEa1O< O 裡!0CBeC!ږd0<8f,$jte5y"D&ƸXw7@(4;9Ԥl[γVk{()OEQy'C$tB}erI7$QRgT<~!0FZV "4Th.II\ɶNBד1ghٻ?&wu]A5{l"wMT\E^s)׽wۜ($5ωHi8Cq /fVAji+f(X~&9:dM95k"J5IFBy]pp.Lq0ŒM3]q^g{d%[C'Zś*?xt<}߸*{6Bκz~[q^/LC v9]coHy9/6`{d 0mb<韟NjERv7;:^hzYzz]\\u_v2ʿ |WV] jȞ^b%tEXtdate:create2017-11-10T19:54:58+01:00%tEXtdate:modify2009-06-20T11:49:40+02:00UryIENDB`pychess-1.0.0/boards/mahogony_d.png0000644000175000017500000012705513353143212016351 0ustar varunvarunPNG  IHDRg-gAMA a cHRMz&u0`:pQ<bKGDtIME  QzVIDATxT$q=U-]tYɴI`MWe]?ܳf\ʌpX^Xx9)z u^Uz;Tse{k7Nn}mPYlb`F2q0l(Σ:txwVY՜(u1d|b8la9شr~bl2γ5̄*zn2N+< [s <4l9^ϛaX+_{@*j{t`t_oq]&k8%>,sLpUX8"¸.C1w~|Ԣ8y{h_Oޣ# ;{ Ŀ7EEU1eZ(0kMT~R_~m -ʲE)PZ_x|8%!"ǃ Sg07TčM {QJ+mۘ68߿) x^S40藡&>q\1 Zp7̝9(ϯ/9n0PR@Y31. B( ;f\7NǾ/;BU؏-XQ0-=^e*HsG^yQZ} Aٴ"UqүŶU}8Up@kCƘ'"²c5Z4~?Eq8UZ*[-fophmhi|3QYN/~bԝT6U"/MEثPq|MXUa+* s*c s?[+Xn9q1ٶ85Z ۦǶ1#10BR0JۘG̖kśVy>|=Zpsx#P~4 mٚ1봦MJ +o8v|ŵos,$7V3n {\sn sqS@ 23V+* R' Za-&m@ܙ+vcZAxDPĀ7H/*{̙sz_ BAG~V'[\>bx]' }\iӹ}^?W<0` Z)|S sw>O(5JQ1Pe).O!:6*ܛ}+8[m(ZE85 ( )ʜ#DɓR(ڎ|a7p|}?sZxL5 J0Ń!-#R?kƵ@kdk͙څX59ܛEA4,;iƿ_oJ-[E&R~l;>'ؤ֊k c^xlkrxBaZL8*NSb,VX9'k$>'yµPA+jtcIs˹ރM}JFE(kZ,?a8h\Dٷ9lh3}~H 31s-mš64l92&- д~_F=JMuӴᗱ7j|s&{.Kl5Vq*ᢌy>Pn`bS"No\ 7# { M9¸˅ǶNS*2N'a9;])Upq4q7/d|`)'לp-mKu ` IJ8` c $pToXcjZcgk[߷'I,V3j ж>:31;ױ*\SF5ZY˅$`,JQ3 Zi&/M`~#<9e\ 7\ yqJŗ83-ei,' itf{%O L)}RkW,D g), y\sTҶ8j kt[@,91,Aбg`Tfdk-gfqIHpPQ)_kPRvoZCIjJb*pΫClE֔|qzJ5 1Njqq͓hcдNQ55sC\2O79*. &|&uo^oJDЎ[TsBRVH|(oΚquJQl\OF@Wh_ζq [,Nn um<Hfm{BBKupc\iR[.0HTFJ4DrjZ+ՄABT`ȭ|C!͑Wj q$ʁx^eo"!r+EmR~gJZLtXcO/T-)Y ~VU1;@&s,Zm'Rc6ýf졯[f1h L=޸7661MpqC=Xϒ N_>[l`;39ZBkRH`yaM6m6 U5Wb!bPqXFI),{fƿʾlY/g4<࿾l ǾEKRY6ΌVw+*9R88ĵj .4Ib({+s dD߂SHdo6&|4Tt{5AR\}1 󠵶%u) !࠭t-ck tp )Er6)|?x⚊e& hk-=JG~JR{mHw!eZ9-X T8T]+4=s zoFSQcj1i3t˥&ft^'W(xٷelm;rP-)At ;EǘP@gm`Ƶ" 4E fX! lm9$hsQx!cƖXdכ}+/Ei%YI7p)|+iD/1׿bآl*Qxl;ǓqZ'8+svEk>c+Elpyq}8QQF^o2~;>. Mqq<w C>LI8_K%"ĮpʘzTD !]A؃xU UO |\4qV9(y嶢LkR."\o[Ἦ~sKggewg13 [acr0 JmT-e Z#saSz'ogY con˂,eWNYb3ذ17,KWfFp㩂VJ3?ip%&nmPT06pN qy;v{iF8 XsCʛh<8ƈV>}Z8'MJvsLT*\H9LLW Z1oױ9 V@"h1覉vm[=-U.&g} jոԠ8ΜW{ gˢrR3!Đym[ׅxLx!uuF}~tzcvŜTur#-^4V@Aysˁ#uwԄ<+N8Q8‘5:?}?_.-6d}]f"IHF|,*pN {\JA1)!icQka3bKNaOv='Be}Q7|8Lu]Bٷ8V,9)K//xH_Zje;"b\j{iJTDUuk+\yT. R|$k̝UTs=d[5LLC( MٓBT-HmB:rXc+q|}}5[yxLw!q/ȚTx>jmFdNJ/ԫz1]g@+G ZFk>W[k/ " `tTOcx$x1{SssPZa1sMUqC"^ky Jɷ-ZqŠ [#?u?x3퓕flEzOsK5Gk<=NT'kC^+ENj3QjQʍ>:R5A:}t805U s|bSccPPH˂&-j TL4/ C55[r[*ӧ, !{z㬘c0pGu6T40±|Z<[  L[CxZQa\+B_g$sN|"Tn ]m-6649\!}kI Y(_ '}GYg*[P[ubnlG Q u@q[URuau58X{=21i)R cvE%sBmO9 A)y盫A!פ[zʾT-Io))J .VsM/rLw}BZ(AW%rf^w .DZ5'oLSNTcI-sYK5ƕ[U~"afrc>-6vl<9J \rJiزlN 5k.9 u0~fb?T y],Q.,ƠIp5+;{Gڃp7Rybܓ}cGmCpƸjlіQEIلcQ6U0,8 %rC#rGơI-O,o !N$(EyBkhqn)p<^_ —:ŌJxn1 g+]WLB2<>YGQ|I艙+݀Nj6/ 9kX'>5Hf;U 6X0LzVkkpЍRbc2 hV7 p8C4 gf{ ͸fnlRp4{`DcU⤴9""eQ2OJw_\gxhk%vq 9<=-oqR@׈eY^)Z$ -ǝ-w| t#N^ϋXnmK'lǦ4~#ù7+ǮVdnI8S}/RbҖW}@530{?;zg.pFstzE_g+=Id~~EP6qP[85"_O;[]<<l~Hx#P4"hHᚆSJƴu9I*¶ _wGڄ OY۶RwN` Wɟܜ 3!!w[sZw5с`U-Hdy,l`HX,}qJ)!#P t+I {W[Ic ؜;O/d7+S1.?M+ɢm'YɥJy_(U`o6 3/^9B\"niHg"c,Wkd+*Wx\Ʉvgf{p%BG00kaWc`-qxhHPx39_oL՚{paqj4^蹀|ƌԄGzDG..3ƈtcRҥB$g~6?waY5FneӀ="M1(GdCsu^}D/DWy0GK[}yvq sP !e86 F:4}Ў'Whc-}^^H2*yJ1{_2 |AO ɶ9 q/08q)|~QW+yvRRHpT2vXs`sr)ȅqhoM{@-ǖ2 5R{p6&cOUAkƅ -m Hi. 6UhtdICVsjdhYðxsͨPp/BTT .SVNJ_zK׃O!YbgW!h%dWQF%us1 74 ٖ\ha\ih_^0uݡ"v=}QUi j. 7d.ĕ[JUC`mߘ#y}]*a =j|k~Hv-UaΙigl9# Jn+[ ҶʉN_ퟸEbP'^S){Lf@C¢r E"x2<sR}졳S@ P!L?x<*φX@ȝBt 'U8쏃m˕H6`kJP˰3{Jscj!*̦Q BK@.7Z2ך,TԔ,!YA`OXV(oU#fdBzk9Ts9i.*sfDr5.à5(GɈ=$hWoIkEH m{F ffX'k뺸f&gXrGG 3"5WUt8qFV78~!;E'F1sM}1HMorSV x`IJ73zH} /uC9ss5BUo{c?ہ^"GYsN^g2~V=շ0YpL}yRI /*LjKYm5 y0fhwTĶUZǣ@8Za7.\َy ]=19`K/ZPekhU w rQh/?['$h\|:#jeƈY8Z ?b+4(h(OӶ= LwBό~]ǶFT<$W+LPeyK! [ԭ"e%#QazM>2Tj>pGՂ$+,M=e)_vk)ZɔʑYKe 8OdnfEl n:4~KE$JjZf0lt2Z\i۲wmwk[̑q=zNA >?pǑ/g b#=%Nλ&\gBjPQı"fn5}-LE[ e؜%fڭ?׵Xԅc<dOdd)(KboOR,Mܭs*ͬC3eV8~G3[fqlbk}^К~^BC &˗5~jEK<|`tDC鞟n?Ҁ?>ru hǁh-R3"P~3L<>GVkxGJEE2BӮ+*yێhg]bTw߶Юkm6<'γV"~ncqV1ޖqKZ2q<{-\8C'yb#I#^kgUzf >-|bζzZ5}$8ܛt`$ϕ{kn%|ZsF@$s2Vt(,;h[~VXj,-Wud2Ɗ$Кq\kT{"7 M/=`qu0}\?IO6=q~v}UKW@șٷSQK<,BGaQwh*$t3mqvz=/^ܾn8ZzԐm[ĜlK#}XAVkMU1J}f<5 , ?c4ȲO3=D|wv^#LSRP Иl;W _m0Yxg+b[xv Zbei+~]nUãb+,` ERڧ̡ĉuEONYR9RU6ȪZZM 1c-wrWa3HrzrB$ğ^7g*V`aqGmI;E>&.oZe>i*<-';SV{뼘YN}YH+ X/IR{MMh51*5_{E ?Q%DJd9Fp23$[rV>y}w`]#ٯyR慳zc)^CXR&r4x] X3S#I:[?pT@8JA\UJx%οm2J\4t m)v.Hۘ7 BQsFM)LQcC &s6Nθ4sWc`\ҘugVHy&?_%Tb5u ^+jEV{2RHr6`Syl */@ #I ˕>`N+¶}gd"SITd|M*F zsR7( MVAa{d;nev8վVj%Bku*Kq~UZԮ,Gkvi'[UBdT5kkz αX Ŝ)HdyDPCɼ̷LB¾d>?D!Mס<_lϨ,:: n nj\9{6x_ǓU~! EK$ dKЂQ/ :?,zJrSw|Fn;U`ˢNtAbaZc&$O|1FDj̼TDŽM{zRtYj;~UDgy4u,Ok^G>Dcm RE8{^f߶OﲈX c A)E)yE( ~lA׈V%NY"YD!"qUUeha"\yll [U֘`Q 9OlAIzv1JNܚZqG3 waOY;(uQfćë[SaVP/3U#rP{eWKz| c2n1$X5|>YnY"Bƌ]˅9S~HT@h"G5*m+p'NL xǕg(9pS_'EA<F~6d2BxõQ Jd[+Z)`T[#U-Kc7S(Ƕ(% т zWSO~D\zLwJQ̴M|qʩ~5ʇg=  , n^0}_­Qj|LXSV go5-\e%ǜ,ʜBAQ8jil(ÔkD南E!Kv$p+ZJDOl%([xP"*/T}vVKAlak\NWc>Lz+De2eCD2g2}w7%aNVj}o]EܶCV(~O;WA]3VoT =N)gx"ą0Q~Nm;cƶTkީGX#TB7Μ=?̀jJp9-}+ւk$>d,+(p3. }ݜE2\QZDscMעUDʗ W`ˑA<cI+Wm?dpPAfƳ~ضƮD)nlPz|ܒmL߆5G#\YON͘N9~\4j K}?{( 2o[d=׊I묭r]!ݷ*4ӑڶϔ69ST 9[eFs q)Z%g_3ĚhvusbpkQyH/i s-2D2 ft`/ ݶJu]HOD~HiLk 3mԉf?Xjoiw}RJihµnjd32Nx?'8]gcIѮ9+~1b6IE>\c~owm^R Qbg]כG[hlPVwur߶ociĘBi$0ˏ1k0[>JrLFL%m|VblT:RdlmfY,y)6Ӌe}!ZqD=5J45x`ƶ=x/wW-aag\\lk1ܩuc^kf69yơV00ch7xg*հyӺa!jَ+4B挬{3tQ~^y^RYlMyGUCFsE y~FFE=c,lD8y72kzoP|}m|g>U}59j.֌웖RgpQ:Im?TZ t?g̥d܈JBjmTq« 2>'e sWV .mcJGv.6T WvJdFoc&Dkf[ʄJiFLȲbP\?H`j;C"-+L<vD F'*#NkL:ߚFxll^Z'jNJiV ǤEƌM& /_W4ZQ*}BTPhc,Ŭh_E;BGﮠA6F4N^ E^WAM8k ^wR(:QA L⃧gM.QlOYHxܽ)4=-Z8 I ѠNce^H`e'>fLj+MD=#)#zlqDOZ) =߉";Zfmʚ\1Λa^;>kg'` ńV?ۋ8$ckl5}pIʕZA)%{0 6DBm!p|7cZ^dSq">?Fĉ)X/𸵈m2W(y>e;֠)q-3"]?Qje<2[)Zx{Jw'J9g*51hbM`6s FU-f@2fRӣ^7#ΐ9^=6\OtZjpk[*b6}xxJ؋m~ٲ zAjlc3zEsȎo{,50n%@|Eb8"O2 %Cej,[5kSؘT7f[`ƚ#O8!žq+};1N7-3HkQSj-kȒxaT-/xW=3 ԩjQ #lGFM;@,:bf|cJ*c( 6f#q*Y Fi+FRK֍E=瑁")|܆l4AkFgM{}>O-[{(vPhEr&?3B3}Eqy< kvyFsIq|o%xXj>Q{Dqo%< zGu wu!VT 'dF{-1?-VrqW"OEҤl[ 䜃*P,"+V> (9ssH](afшВD@?>h1'CYsQL e0.ʹbm*825?8ҲnnHnKR:Y=aԌЍ@yu9-66D{} .U-lExanEn (Zl]}mxpeDLQJ`}ƥ[D%sһ00=Yxa=Uf7Ug?ݷa+[p5[ٽ~VJcߏoX̜-[5"RX܆)BE,鶢b .5\&"H3C4#f~pە*hM~w柎z<{4dyJ} &sgЄ~jx}+HVoJg_F"_wd\NoY}k-z.EV*^%]Bpf QjH(q ~0֚(LK(z]s=B{Ư%'uk>F Cѭ ѩj wZ2i>Қq,wp-5fz2XB*hkQmپ+>(1=pK ^KRG/1.ɭ))-ٟ퍶>ڳǩݦ02F_H[^vu]Ĩ0cfzl_56sSpls%3x핛" AC.s㔾%׈Hc g\Z%D8%>X[DIÖZf0P Os^6BQ(U`q[h=Gd喝#ɪBe sF) +Ol5_5 yg̎5N)\נwc۲Y2Ga I#Ѵ2̨Z % ,!|"}ѽp[SkR8ώaWwO#QxG9ƞE75cQ0VX8W?vU`Jx%][d ֜p%nJQf%::Ad~*"8fKeB?GQևVQry<` ֏8#H`k)x>PjnA+x v*z(l%CחP#ytkORnz'GzEvHVү+H@GbvU5=Bvzwchzyj *??'{rҜԓ" u#Opvn̅XR,(^AiP/iYY˅U_+9pnD }^QRҞe/EM3CDC%I =D! 8G"35uc-L#i5#H,UOY3Nb;Thv{ [=9{b=3.yh)8Ѭ׻Gx=33rGȳ6E<V叙5:I?;*&EZ3#BjQGv]3gŃTtk57dz-COͅbKi@T λ;WH4ιXG}Dxe}s>eW)?cYe D@Y&Z"P?rE"\QV3#69Sk'⇭|sѨ<2]=jO,3db_bP, cnӫ`hF*K^8I8i X{b[b#:$1%U檑$%X5#*j1F(`$w0ܢPGzeHf=QWeNl.-AO&%Avs:x_yq\$s֒ j䛄)K ?!m, AΘyueJWh|T~33=sn&ZQ?lO#ʧl9?|NR"g@;`qB}^E VAgMDÀߪRe*Ǿg>mLS< zn f\Bg+r=F f厅db(mt{'z~}i[q0PZF9Dn G)~񚠯BcQKFeTkD4<uMlJٙ.ƈj"H75BĴ'`ղֱ.9XF֮>=U^y>:zn{x`P)Lm[:"m&jz@ZJ a (Idi*#c̰Yk0_,گ[E ɟS=3ͷow$VM䩮\:hN.l ?K7z 4Ά܄b;gaJ%zs}-gP( nn M|l]SlEyq(h͢fM)HI8 oʊZIǶww~TqƌȳaKbGGzƤlRY޷18 y-BžqY6)-l%LFga?%>egz)jO=]4bw@j-IEU δz 娰2%N '-y[4% R erI7iOQuv σ_)ܸkYT*h@"_glo m-m7 '_2a?b鸳z}ҧ;Gnh,=Bk*JwW2!#M53k nuL ӯCe|>'2Z' P(9LlYr Lט!/Uk:GV[ⓢ ") 查,lʚA!y0WʖeBwahf{l͕[ vM:xT\w* D™쵢GU2 NO.;}֘1ߴ,7;a49ZxX˙lR"hyd3BޣՃGmcFF!sL3zAR M[$FR*ol,W5g:ZQo[k+c/ʈH.B%Gq=[z <6}AgQao=Q>+񰚭L9RmkiQԳZ, ;}=$q|ڗJp}?L?njl7]G3SBI!%`sNN,q_OεZ^7>1z)#O|`E[yq[oZ˻bQ u[_#)@ sa#nt ~BTszyXm8Ol6NBVnS4;֧YD86ZuϐMgJp USX7-TQKa~'F+f:g8grj1D pɪD"m*]217X#?R[Wj(u,r썭ϝ1'ވ sU۞ -ly2dc"B'5XKJxOhm3OӒo "ioZ؈qaxþb)jwZj{klYf)[6ݩgsq"-ByJVVTf|%?㑰yv6sV9]46{ 8b k`ʲIK(@K P#|sLG\-7ccְOCvDQQ4YV&D#៏r5T*"q~h) Dc*fOF'Q6 YF׆ϖ)ITZxle,JZ&|Ճm*|u;+_{bDQtQeѯOf)xv}苦wFЙ n5\nQ#KҊvHVw> /%v UJZΠR%2E,"d@ED|ek8h xS:=[kSAKYSJx~rŸ:=ot{uOj~׃7ΒM4/A:U > G0ku-g;^L%9بZ댤TwU{hO*¶G@54T9ZΑb*xFUl6%H_1kx6O:_-2aXiGlZ|<Ȁnƿ2e(d_\+eKӑy0"39E+G i-OQ7`ytՉ`vSa?]-*^`[luO;6THkzJ>wF%rdMYQR4>uϩRKx熨39U0-gc<Yr Ϝ ՞5xت$b<׋qB;#qG+l1G i5WTy>"qeʺpe$~Jq!\;-+IEyGRX5V\>\;ǁZ@N0F3heV[n@SLjjEW1+ٌH[}g$3#鸅=4ְqEòIHTXŝ}"CJB-wU(lygO=&3]~K Ny԰ Dn<#_1Ap9n}8Z#yg;[·E&eEwJ-yS[k-jE4`$t>9兡m'? ?'5u\%Ni59>xZe5ef{<ᔶ#u9=Jy-?&`I9IB"X2H7f_\Qb֩mUhG -L`b/` 5h9wFax3IPŝqE#u1LWh&Ӝ#ƶqV!.Kni=pӭ{ 6/ £mIiJ'p*s`\ } T̤jQՍפn*3Tt`vF ?xfK ɮ'YƱѧԭ xx5w wuL,֒O[Pf&Žޓ KnPztϾȚO`? D4s}w#pyX'\>2%u<+lS'+~EbD-2O{̢C-8#N%۱Ǣq[ׯ׶qµ6PQgKvQGkؘTfJ:RK:^"Z7W;#DzǍ\Us+s0'7AhI՝`g]_[nV>7||L14hT a5N9'Z(.ss 3t7cF<.%&T%c'|}﯉'P$)oaee9';pߓ΁oޫck :~bw\PTj51ȡ*Fg+ӍHe1R8䨅'U&iJ7; |d 0P1E8*1.pe2thXF}+;y)%Nc\JaNťuy|IE+9<5ny+YPRo6 _`uVXSOcҰ% 00ZDȦhB+){FΜ Ŝ+/]3l OGTrZYАz7QrĚ{(E8&iBrɬAm [*@Q(>^/~Kt/7# f5IyΉKT8yDxeڼjECRuN9~ 4פжmȕ;h!t @R#✂R-֜h_Kbn.XK>jz;x ;?Tiڂe?fR%\RQx}j'A }Bѱ﬷%^\cu{ڰ469+2fydwN)`ׅc}pv۞RRS4P3*B生z=-5 !4{hk4$,\%?_AqCaFv4 2FgN⽯)i:B,)i>&] NaqNƟ9re?'E7 J͹L y$Z }=~9odN@(l3>DOZMs{)gp _JbOm'FOCMV ~ ,s5ҝ˽M玕d3՟`Bs|Y7kHe0g"`0ݢl$,s0cJZo  I[(9q=f6hfMqWuy`A8hk*R N{qAxksZg:3 "*B%]=`~2z+]j9qtK3 =mN<* yqsbR){y?䠲eE?%c<rN1#뛑{,?Zǫ!EX.| ׫24ڈk:NH'xƈwW5}󵓠 da5!U/A`c2W;x]7S~1D%Sf& ]x-%q$eb]71}!!~P3V?ń>cj- :23LeUG wh|qJO'ǺW@X<%X/|G?-__6 ?+vvԘiK׌ϵ֐G#Vboڴ*_h.3[F ي|#Zk ИC¾s!!J[d 9'>{eȥ t#ؙa`)nk!KnQZbs<.~4iڍw6ՎwI"bP{mJIk+J-24_K*y1Ӆ2mj)AH)z_r@sp,! t\cN[k]׫0lCq#WDxCbzinX䙃&I[miIbw\FJlVhQT-K.PiS/&ݤq.Yv͜jٞgkwx^kz7~oAM0:O >QiPavbvCrI^WROw^C=Ҟ3sae>-wf$m+%GW͘co$Z@kNdߍ~OHe\A}N|}y)hT10EJ .aqVω:9| STr ssTЯ+$Hݻxa1P\TyK1cEW\j(zލ=s/n`n:\_JLY5_V*3&>1CKU0µ 8.\mj\ OðV g,x (oK2Kz$ /0M %0g-!zֶPr@bBU5++ :p6[Vt̰ d.Tyω\+8L기0uoD+ 3sSXѪbԜـ1 OsJiHBz%QY.&e?|;] u:%+: 3ϻCE '%}a(׫#l/9n326Uw)Xh rQ5(&2  Jm Cr3j~ˆ&w[Cʡ`x/}}cͅ}`}XqR#$$ f`rדKRS2:]K280I-O٭^dStwMէT,wԔitVJn7jU1!{p<tR* rexC~_;`Ils"}D[q-`g-Ah*d#UP5^kN@JVdl[5NLwׄ0Vp\'^;*&  m*\XM]Bs.\c(HT@i0}wFӖc k?3up!lkb,3G{H0,hGKe'qZRRA}X?}/%N&7µ -la91-6?x?ň nYy>\p^,*ecٜ^;|ׁ14dխ5,Ԩ3 )1Gfxp,~Q9\%첸% g*(E38>pI1B4ׅOEqA9QL.ӅӒ1$YP4 0Utc - ۖ I8 uWI$IXֲgKtSɤՊͻ!+iDRRWoQ>yFE$|o+D+ ε04DxdU$6c]{D%fl%tψ:'s`kňQ+jJ\87 WO-r vFz͌ι\ ]/@U1]&'hzw;P& a@!Y@bk-TJZbgd_XRd]؋)6a(1Ƚ S#z9.Lwe8)PKHXt;#<:DS5Q n'^ 1IƟs} nhN5\J" [k.\nXr[-*@y ce [#aąm70kg 9bobm-P(Z!  ڤcz ntފ}/@&ҍU]Cֿ{$la@Bp|=ъ2Av(pZ:20;H]}>> n>%w=FJ=w-@kPe .s6`ȣ_qJt8ɕkf*hS#t* 0Ŷ0mTc<5cp m)+;:¼l- PAf5 wl-%IDAT1Džphm>Dw5n$HJ8хm&l]Qx2*|fX=6cT&;jXB74 /9+Ә!JΤY1cw6QG  Q)fOun0=l 1FʀD:|#[BVVً;1!c\">L,aH^uAQc?|'3C7U'j!M3W[[{w(m ԁ$$Q9/0ucuj"8]&M pw\ptԶ%AƵ}`)_}4 ڞD&hI镤(pl'6/뜘NGJ\^hHмR?tВ‘0MqXµ6_' UP#E4⩪WI+M\°᱌KbYHuxvwE Q{KX?9,Ķe9X! )Mfr11 %W\sŖ2r賣m >04@9O@"EURI8$v}כ0|Ѩ+\PSAv)3\M2a0 ;r"fTE(Ī˲E09۝X-+t;s.~y蛼m8,>;& ]$$2K6@y) Ө9V0>!M*ɯn|fxMN:')su3Cńx"u\Dm%p@׼<4  a8I28΋ӜcuRya7CVRJ&&S1۬*(*ܖDmu^*dqG4\B8L=&F {Ӟz(KVR0\][tk)0J.zQ|*jf?[V,3Y%mSxf,[x0o}㒥0{G wUcLRcSmFό)Yc_ Gkv`u~Be!e`k,k" 6Vt(L9ywhi@\8Ύisbam+Gk]}?T7nl91vvd5U'5t΂kZzf$0on%DC =ȏ[⸽I>\@f N1W<1 h(ٚ$9`U %`MM9 _7l'RN,ZY (޽0Q3IOUUp\o09lz0[$W:}N+r*4bLN!>Xrk*nĶC┻I Ӹ޳Q»&^f4qI*H8%X\Rz&3.܃>:lN&O̘ .j%0&¶m>rUzV8Vnnky΂F>8Qg˟jbL]ւ^[EME4U\N6*T\hz6š .+Y&^/(}gŰUj;dp|N --`i}ԶFMr~[r}}۶DXpl`֟,4⽩OB!p'Jr꘼wE#X%>krC}1!WNc:nd p3%v3ߓ gh@򼶷=65d&6~PkwևOƚVDR4?{n-1|!zV8JKȪhZIl!Z3#E.@CԬY ܻ 7SBKc1(Ie-QfN݉1l 7pb#M3Q- +,V&?|1efaci5 ߺ}su,w8QSq?_4[J/B{1J1BF!^>m#AX,o wek.o\ l tsA+ ڲ 9'ΆŒLHFVrdb{I8@ $/755W>6|FУTsVpm$0B]P*D1 Rbo"y/7K6O5<ܔR)OC_^h<5%x8kנ| -Pkq8OwEk.xE  r^64pIG$"! e ߷*RI׆SE|%tͅ6ۤJiuR͏"Ņ;/9N7%X|"X;\WEBzq0<@W]pT@sO#Kh [$4y] R&r(',,\- "j{@ƟcԋD29)=VRkkxNK}q۶î2G91^s@̉-[k[P p s絰[nP3*{Z1_gNtcً;'/׆XQSJ}b ׸0Wg-pj5lmVG _4iufPW5ɀI{ iS8`+YYgnhh ^<@` 'PiknHul%p1y‚ 94ިAr3쥰$'HΑXq=Mp:7@n#6J XIn;⨃uɬǽ*L݇L^F@ѱc bS/&VfR)p8\g$ƠzCx &א1)L3MqZUD'kq]tӨV⥁2ᔒQR1'1m=mB9Rhjk.ͼW1)2 L"[neO]10} bD!dY(O(C>;xHZ}C-[msfu`_Zn"у[m(),!9&hp5))acQ*QAɜpK?@4*'ᢍ%'z}վ{CBn,eV-\ 3`Mo^$y'W~G맣l"a$Fwu@м boO-L=|F X$*i/R7L@XƩֶS$};KdEQ6=h@nWTl0h&V8zE=n\}a_'8-,ц:$EQ]f +,P$1y ,s$,ѣ /gR  IG(rk0wd y|qL\е""4u.Y6E?EK`͜x{ nٓG6Ղ6Ȳǔ+mjՊ)ׯtؐ$.p͐ ea^o>wVD}]op(L*8lb[Rr3t[r$C~bc-||| +%},bc^G;L-S6H\_'$EFsBkVLl`شMak.RRg%У!NkW <;nМBfL} axZ=s8hpeiO[҄$0uG8&l.-O@ j?yJV*@c"[瘘9*u],\^' UyOQVLCua|&&тc-\flX7JcThBǜ}t]]HpUv;1'j$*){e\V!U}Ltfuᯏ1.}gu~Q ́WKpDrEKXsF#5)(ZZ߸KV7?pEp/݊b %bWavSȍZ=☆a TH1%t({ rWY,CEj~cwGl-*b@}eX}`8ʇqr$׌e6C~}PG|"Zr}X7^p)#YӒJ ZDSbn3WI_=kN@Pc]cc5%'8ə ]xyMPz}߫Fl0>Z[yTH9՘^ H@n `,΁kpA!~_K"8Xka"Bm<#nR˳M9=3fJ_/!Q}- I*iuآ#z-`M 1'luXt fPJkm{.誂x; ÔB7Y.Fk^Yb㵢?[xF MUO صZ lhրe~ym5i]Sa`0"Wȉk5†x<uۏjJr.>}q[& 2% ;+b ꭏn(V9ߏk>5=r_`q,ˆ,OS \PEZ)UYk-W k]rF+ 6f(> [WPͤsXLL#/|T2Ժ>aaW(ܐ-2Ӄpہ$E0CBs&!ж{] U ڹ(0&Sr#zpUwsofqI }D}x)Dž_2;(4Wh.8"oJl.wRIkv׾þ-kTӿ4T=Kiȗٝ{)ݵ ա Wڮ_K6!U}`SA%vGW@n[/6cwW,^wbь$sɫ`Mքw ׅ|;>k({\Maπ$Bsy8ktwsMH0tQ*s%qifX0X+>~s gK ?ozSBn!$d<~(C-  HXL $s2'#SNYfӥZ)!5m{@[Iq9{B1.q/Fɍzq BQ4ӉnQ'k>kD+`&*;Ѝ۪} 1J&L3ua[%t a\J>QU*HE>|HXDGbѯkpr*9q TvsQU׌Ǵŵ&RJ:E]9G^A2Q~{gGZm%KO,߯4#-J',ɠW\;ԙtsw怣x:Cu ׈3~c=gМ!zi&$HBRle6g.>I5׊_/yR9&RM< `DA/;jRqYJ WZU K[>@J-Cׁ]')uSB-c\+-,hHuy Z+,Ykf@_ u!'KQ*m#qABp|6>Ѫ0x Cb:/ğ=Ԍ1vۀɯ׆% /h* q%rPRXHk 66fcƦdo4:^/x!@>  8 }q^/1MM[[-dn3Do'yCz.9!d}4+,q"&Ϣn^l=))j 68E[yjdUu Aj*@S{46x [#Q k&_~IX[͡c{cFڋ1 X ;ԚS4pܸLqwɞUX-,ܞ+6Qa{L>Q }>Ay#*D{9k#2)>wTb *p~Ӥ_8'zy:vd\Wx]ca S|W7 Pw/q=%GKCI|[L?_6 Z Za%Čjl2`ڵJb֨k3>cL.Y|SچSkDQk1tr}p]38^iPk?HI;PDd]OD<6>|;mB9D]a+NA!y(i6鍀})6~ڙ,8}h[)dnc|aN"ID=x8;wt`MUq0UEsͨ_N[sPDkg٘-e$"d(cI\,4qLKO)Pi)g}cs#2Cʊ(>[ArĊ1/ Q0pH!st _/0N sx¹)){G^yt& Jr>qI.'B5.i\z i渨bA̓DIa |U5#tk>??i!]t[)45 5 lQGcG hf"TrO:1NH.L\X5")'RX ,kR,fG?iFS}৸m D߿"x_ gPZsg:mbMb/))/4m ( w[Q4}{"TN{jl3@䒅Ԃ^}02Jk,d dqVkj*~YRV\VX˛H."}"AP~ulU["nx.CN|c^xv,:3pP3X_ۢ*+a!74D$n2YWkf֣%* /0Zz(X$K JpN 3'ribb,ڛ@r:BI'{O+:׾ڊ>v^D[}}>No7~/H\ARjy^ }/a١ ߯ >/loLe,6j[LmX7ߺnh|97&Dq^ sq*Eװ;ln({Z-0oln^;;E&ji~D5C34pn]"*aA7z槱gF-Ci5Q'2 `Lm9QJfLE,A%,c@r_4Ҏޟ`uĕ_ yh΅[+j1|mXIa< 񆭁߿^ L)>B琏 {~m-%)Z%ǯ@mF[ZA]d ` L.ϖVжWlqa!.wL9a+D ও- V'5ti{'z-~\9\[w<&ʜ39p'X>!hXj%|&op|v(Nڀ-eq>'f[{hjsy؉a 0+96) 4vp_ [a`Q@rG(KIϞi4 p4NJV.o އ/y Xu{^mw+v!L{۰׆ߔ{eߘ3r<&_t%7˭'[s.N`\OB{q|km 1jǒ7'2vn?k1=%>),3c@H;On]ذqwfh%RB(] qd.ؐ W6uOp ?mFaOF6›Y<s2(eg|e!n6aZ|#XMRw+J5{Xr9|"m $kt7>XpIϪ WJG>+]qfXx#ysNX`1z$TXw'Dz5 wy:tkػC;q4Q{WG^0V;#J3{bh5!X fpMB;Cpn XW7,܈G&7|_.5,ɻ30S~3<M sx\_k:a028wZi&I.m>.F,,P/rLB]~#HAs7|*,WЙ8[{o<{0|1xj}7E.~ֆm`Wւ[+R- }*)bvSi#jO.+/Y} |+_V D^印q wϿe;*8aeMGxOB8kEzҼ<¶(ۿʗ~%곜C #XZc0a&Dwa:O yq `1/%Oq5C;*ooW![J%J']ԫ3N6c[&.j/|_9f5_F_ M*y]TvQJϷe7)kf4,>=j1B|1LĭqbȒ:4+ULX7ZƧNjk3~t".m;]NgQ[_dyxRYdMx3+WMI DS"u xJi!r\+!{J=|TfSYY@iR~3Vn侮x!A/⯓)y0vr҇сx;=!X*2$&2y6f2XAvѵG@a+je7KS td^*0Q/  h-حIƎ"B-$Nmܚ3L`3ϗ1 $D&ev}$Q/R rdg{l΄K 5t;Ds/J}<:4s֤ d_Ҭ2zЖVW!BI[.xcD@LnAF[`[ơ 𙣄V3{_Qw\aC4V C`~bG*ii/IGɷ88QY?g?*^-٠:0qzLqʋ[=iXΈ_`]’U)*LJh{@Yr$ϔ?G3-dmQY~ _N=DO3|R1(?qd>U:7+idrgMP"!_on#<6TC_ZX%IDУi* T,Hܘ,x)'>ϲvvfw^q`w6P"ڹ#aP&ٯ0;ŜEgT)+#t͙"Jko= FF?"Ei*rÿ1[pXzmR(?JXfEjw `lIɺo,!@s'HD-pfi5P`%Z7BqEփ1i/KĪ}5ŕr9Qͅсܩ+H22̖1UmrwLdow3t8pα넠@YEQa{WP+I;}{'SZh@Ɯ$ \k;x$Z<%\YiRgEA Iwd&k!<~\OTLv?A*uOK<1{ m}g I!)N1 ՝J ?HrNJ2@*T2eyJނ`pvom;^l/߶#+}Mf'>{&=҅Gkcy61zri,,P'}tpQ$p+~ `S5#Dwe@ZG;hf"-oe09LH-LXzYW]6ew^Z`7W%uPq4wn`O/R0s_-S"EޱᙡS]E][&zÝNK[,A[iT#;S>pyO:R0 KU1Hzj{Yw#,bz+8_bʿb[=#&ȎSR?QT^zlK6y+B!d%1g|ᩓ_Guys=!@"fY{G ((mꔔbSp{r[:+Qsg/*aA2⅌= hx%{e_ :Upo  Lp26?0/InQ-s+iH:|װ-y6lѠKmUg'8>A y}` "( RJTG!04o:?l]i\nH@ qMo֌98L( t;5&7p`IQϨ҈T [#zGdEȑ>V"7ߨALto $wUv{Q)/5r/;dr m$7^D RʇOŸ3BhɻL4КOB\D1h%T*zx#~ .1a,,S]4146]BVɫPٛD2λ 0/ȸ26v!)EK$+`I ]XRQ:_.vfh|-Y@'ԈvNLߗ_ T\Mi| 9w|I +uQҺX/IA}Xzc}P@R"yp}âag'(ݟ+ݢ<@b)\aod:%=XM$ O!WHC0Eҗ8h8n2XN5U:Bپ{Tv` IԣsE "IqCj>{6՟~((F0˿f5QIJj` #C4q+X j@vC @ל>"|+w~։rhjѓ %},>&~]]twݻ?S٣l5 !+qN2($j{1PV6GNdU(ΑS=o1Ph ԺQ@#Y bu* CYi <+v=~cҭ +/Ȍ;n @ uXQZX~!wUm_sBo'&5{;Ҫ[CDBǛMd3r Es!;$b6+ʒ׉9=ۂji$ y}5c>nHM{jLjݡ[rC ^gx3>bCBMۑ;ˁ_Y!ľ-v%bz< '͚]S70k ܼ=*c8ᾷL*:6&~[(XL_d@";\[R \L*P&tok1虃(LIƂę_("'a'i9-toRx 9jS5[ٍMYG¾V*җvgV'p\jGm; ݴnҝ]cٖs܏\Fq3Q$]`.A b?k胀<%{`OD,c*aLsokSJc5"ȱ:h!ް 3E -cPe'z2~;B@vb؃NA$II)A9Xju5g{n juE=(=?eɝIfc5w*uy0@Pٮ߰ǑO- Rޤ';ؽT0TF9!JޔmUz2aW'aLG|@րwR:Z_&"yF2GtL7ueOZ![9ҜUD"p9KYrϮA w(H V-,ȿB$S4%J 4'tھoڻG@Fe$l$1Cavzr[1RKw(3BI"6'/!daWyF'Q-HYy|$QoRL&T6$;wT #J RJAcKʥ7(MjԄf~5_W5VQSE9O9IU Y~v*t+vE'shSqORgȣ*G->*gm%zG7'X̘[΁X NEG t>2HO)͞*az9X֟|8]aCadȣjhL$JBDH!)ț)2"#D,b@"+B"z_nN; F~`^(WV!@?i%l;Gt{Q;D?^6Tcϒkf}7T)ULͻdS}b螞=$Mv#eUFT>f=35@RqejkS6)e-mVmPO n iD{Xh,9FdY *]~:ApDS6:&gc]+uuvdM/'CD!W)9Gس[BSRvjc GKF:,nX)Or*ŽxE?BSc=IQO~D,Y 7JwVS~P _KXٓF[cVͪT8lBvS*nD9Lsk; jӂ3πU3, ȸIDʮ(;@f _Wb5+Vþ;td}Siz>TDSϊ,hYL=G2BѸ6d_eu ifAՀKYLmp&FMۧD5$ &XmzHE,z)pHŌ"nKuR]x]4DD1vPO,C[mIT0Sì! ,qHij@Ojf1*a8 FbAۢdriJFiP-i 7$fny(*RMԀϪlb}2yU`P-G5,vG`+szL (gvߩAFcClOت]0^jiLqxg*`} |c,3o1D,WVi*Fz[k6ա^4v&`Τo -SQ CW^dFG%w6'hTvӯ,Bl.2Ⱦ q;,9&B8{v [<lOqQhnnPl Qjgc15: Mran&S~F|'Z-*_qV20ڭ3jɚ{[Cp7iB`"poAs'I1}>է4ƧG ؈uD|K,n]4_i%~q߲4 ]jD2;d(/!?ur ,RP|`N`߫f(:p눝4*Q}qB3i4*vPO^E dWqŪ5jiXdf9i=<4f<5sHC :Z;z]:M%P rt6vA ߓUn;Qޜ.[3hUO46^8"D m5DP梔:p gA |/ :%1EvJeBpr*C[ [eĢ7fe[+|vjhW>;"n=WMP|[Pլ)3Fp \Yb%Ājnӱ4d0<,@5ojzS h[_t&:Qذ3% NĈ܉7-0ixcUQG+NCߴ(~28`1m)o@H B*i~㰚%yCjz`CjL pk B(4ke^'D_v_, \30weA u"$Gl#*!W:æA W58+*T]@-muYs,tË+쏃=gr[Dup{A@"b3'~&f:,?=ѣM^#ezD݀fXx8SP=H4mj4q?R4i Wi$Z,}-QbVg  N,/FPo'GP6[2AUK1QTqRYJN)%t1l FA+` "bWRhCX(A]&x""sMJS{Fr! uC% 3^ MoK ,I)khk׎ !qֆ~wa}!pq'w5MFUsD#:J6 vyo!>BW]#fUNh `^481쯴6F{",9DFhRAI5"\Nm1"#>UNoc!1{P]U*R]8PЯaa͜ !>G/MBā΢w+Ru(@[_u Dbs[j?_|'1홧R#'u@sG@/N=̩$5GYLGy qvP]%Tyݱ/;пtH(~c':Ece *%AM=AUr$W'V=J8GUY6` lz}>M0kwy*T"ƎW& [ofG"6IΉ6?c4TnHwN)!+ҘHhfB^#R+>FG0rz= J ^$XTP$? /P^U)fTTCyyXgZ/WK1S uQb!?[xgDI HxE>(\uUѭxOqSipArҩE}5o' PuYZ=GD٢Ez6ʛ9@"r"TzIܬwpbK ަfh aRK^Ox֡RH{H O gVf`&f0r[ꑩ,n,hbQʚ̷cX&3= cQJ jQ*psׅ)F-$ fl-q1/s$Ʊ)whēԗfZ-Q2}04zU$Z:U":^9s}uP2kӲ#>NEQ58~U8и#9v |ϋm;nu#Gw+{YEŗ -nyڎv!"^$ĚM'XԘ. !tΏܙHJ] = ׫]%Áb'Yg6XnY8bM";QC7j7E[7XQxpnlYddKySB(H]csF庱,]Sct<^{ Xe0Z/Z6XII|%" A>MupAfLs.NW0A<(T;wYI <'TQ_jirg0ӋXR0M,ZZwSlܥ tLXiX%Β{On} &(BUReӱ5 D W4֨q@C H.:6cuLz7oG3IVԨ2`դIˑEJ )jJ0);0odN5.53|Gi{V~4s vtt|i/nK<®'m8!ڡ@QUN؏uMO]56`Lh5l琘īh*|/Ue|01euJH% Gg푢L~ &_Etzqh2ntRMO ;k4x~~-.}0dNQMc:$c-z6\#0ɫ2.҃DZӬsڅYC. xO0;OF%YRA:[!j^E?9<)"[4dU𔃦>QW)3/ L ۮEM34$."7ifq 0M,:͟IUL 3ܥa.t z}b&6-ԍicgkA~UNIOg]{8a,Λ9vu7J>#uP 9L.{ dԙpkh;V;/ ;r?6<"?Ax<J+0(MMŨ=9 E ]"b4CQaޞm+Gd2!a_%'5akekGw /^XL]=8 Iy!qTs{`w-)Lٔ?y;q""v"IrwN 鼳󤎈i6¹osgźTLѵv #01d!\Xy f40FcQ,9i{,v_W(ݙ\<ݖ98X 6c߰-5]J#͒.6I T(vNX)h]ŬGBӌ?mdc]3B1nQgrrH.NρAyx]g5۝ ^02,r_O ۿafG7߈&BSܘ 4ލ@:;*mLmq2""W@9`UaB)-017FpҎd NcJӺ aSs,O )~`ՁpQkbSH x} t:dHdheى4-hrNP+A߅=9$4IcCeNjjSbCct? Ad4WX4}Ιw9'ٿBfy꜓I,-I5d-$ofKЧn:$Kz_Y[mP"!}AGhWwB2Z *dqWtL}Z ZxKR7EV/kAqaDU}tDBʁ복 =az}%=H /Je:Zxf=%/kA:u/\Џѯ|CV~S,K^؄gRs$9 Ex$${kUݷs7ҴV6)^BVTD[ejޤj_{j.O,ih/#W>*nIRQ[)}OMXTjZvB^m4tt5N6zkIZs ђ}8#τLk!Nc!)Ɨ Nުa_Bӥ [%,z%豷TjzKҢ}~ G*0f{1/S m|]cZpSZyH.Ԁ0\GKG`>bwypY7X &)[ŽHSznu+%=>WVF3I.a51xjKtxŰ 60 ?$\Sk6Xvql;&0^H'$(-Z8iP) ֝\öll~0}6ˌEZjY%.Dt_?\"=-n)αD5KT1I Q*BPy~,9둓aL` !S4V \22,-^\|fmy.%y.iUf}vl÷6E3< 8%Z(/"ZS;AL9zA,/d`$KL›h{ Sg{%( i $Xe@9m]9ͭU0O=nunn)n ɉGL`9;wl׽h! C p%7f!0eA,Ф2 H"_l+ה|ZȲ"  (HN7@YGE>bUǤzE7qiO>G\,&(P)_@%G+XlH5Cq /DNS:ֺl1_ {i׽G&"NXGְE$, .Fx/ NPB| Ȩ?ԉ,.'ˡ `(8N1gР7UeFfd!Nju,Ut"e愫 ӁJwA!}ۏ]zX57Ie /ڒ٪N Bv~۰O٤/|if >< .\7`V-7m~[;.#/pyoAg:NE!zg yԒ8" Z,$ J,[Fzl,oa.¡<+^&1b"6PXHgi "1Jz-~"ZF+x󓕕ܷ^֏0?Y9KjO!(LP 6QUJ"(^߶k?nX6pge3lL~wLC~*Vܚ5iJ׋֦!Z9K#~.,ihnwZXnՓ\ YX.G2(O('gٓ_jq, b'y-+WJpgcۮ3OWϸJ&|?10Dl8˲]C,/ }#B2/h.;-oጽ P_"gNAʑv)_M%iu ex[~y,#\6Țڵ²J 0jUU*BEZa6y8Prj+p*_PW\^D Ԋ[xFբeǑt?8 j\0"J'"kÚ@pz[' jֺc<ӶbRJ驮e /Bpr '+r l8M ç@Z 9<@ El>_KGTlxK,0-z!rn6^*1S;Fd: j5O[f[v_{Fh'|c5 ˬqcJݹUZi^[?'Sf;9=f8> jmN$֠WX,?8*\2aW@|D +^Fk8hêG9)񑊢WKrF KVG*,G~ˎw%+ )|z!͢@i&qc\ >*JBl%#$Ic wԐ\Ÿe GO/~The8> Vbl6?HȖ!qOgX22&iF:m3,[ӷ$R5~>w!Ketdn//p McA+Ѹw~Z"}(K2@|ޮ߻-. 99;a\EY'D ՈU#۷F 'He:&G-a{CG§~'`hq ZXz@\ߡ#o\lX2bw·5kZCur鳖,=1gJU[rNg ?/8$w6Z%N^$GOY5}qcd 2"е^W'[>}-vm:։wB 9B/,Dq,jD ýϤߢӨ*-ꂎL l%+bM e#F~DvU W) O-9 ]&FH',f\}ɪ䤱Fu!r%890aYs~&@ʆIDPu i,"(UJZcR?.kthH;kBsr8nBܢua4ii`c %m}q\oc8@2ˬY),&ǭefY㋾ 'v Wyp$]v] @>vI(+'gcghQx)Xs/F 7щ\]|%{+O1T|Ů/6#2ܑ?ji!2x< i쯜eҢM tߊq!}ȑ,כLp԰дf3f IUD|:kNvgdI¿R*u䠊u9cfn5/#&lzvM AFLTh-rqB7$+xJJMz/oo2[EhyU]pg?\>Kh£F0Vgx6Ȥ G~%Lvs@i[ICFKwԞ\b%,A =tHMӉM6 ˻DczZ`"ț5y6k',aOې7,˱)NhqlIݬ,ͰPq`1љ={3n?BDyH-B;Ex!AD_t&)sH8ɒ(P챂8{Ȥ : m~N0`vj8+AvPB|VW^1Ⱥ,I}v* CܴX=ep8ɑiJl]`6·hKe)d -cpο$BA.8 4)ٱa2Jr?F ~rw\P % ϧB&䲺Lo /Ӓ% t+ւL~N R\⋁ &xFaS 5:]82c{#[<4rg!/d/ي" zH,:2JG,U_Ɠf KivYSyܟ5򴬂| s2\L'(@uC}v;`Umpbq 6EM %{]V&i p/OO )*B,xYxN@a ᲌WO%*hEHvSd[Y"DcRSfCDUAaes=d|PQ:u .޿yx!mjM.’ DN6Rl H<:o3mqy9 $w0jmEڰ8G=AW%Wny<ՙB,% !3>ɴyaeV(NN} &6Y. fe?LY4&R(֚zį< 9ity{pY]bM+}cٰ[=-e"n€q!k옟PHLW(m" ǾIR3U@-=s@IJHU'P#pE?:9(T~ `00 !=' u cVF1f2~_QB^: ^ y3'q;'Hc剟3ѼCޗ47;U) A|#6-FfCyRO¯SSz K_Fp5*^U*M ژ3s"舠QQ@X}vhcp4T XVHABI_xzJR`#{s={5ʋ~ nL!]h>?b@!H˹mW+7F ѩ hK^Y'ixX~ɰdi5}F9[ ,-k},$FIi$G+0y(7L/ii;~FD<^8ʁVې>kIٳb%_jѢ|9I,!sY7&{'%!2Z. y!ʎ:ۻE"O_˒uP@00e~+zN$,s$S(|$>j(8.}ȥo^q;g`Z[2=!<@CXL}7:!]UIf:ƭ'ddʹ$Ba!`6ww%+O8ubyNO-7 zFCH3'x Tx c3z2ɝ9TJqqZ#}#'C10I{SjrBj*B~,#I#Iq$ɣ_)GMh$z+(P OFhX )z>jlT~孜9@WIwIH>h"i I ^n[ͧaFy^%M(/m9S~fC| QQfemHQJ~'xOjzCp(3XJ;8 8ЮoW6턏SΧq|z7kfI$zɃ&B|BM8a! "kB_PuGMFSxz%k~GҡB]=(]G{^!GQ`4]^耷 fH!uK+yΥh!R DD~R, @4!jNrA˯yPש;7b)NQ<~nC&bx?QFSJRN8.R`'22zV"Pʨܤ䵝hFB-Yn{\6NZN@U)CoiLsMLJqFӺцb^Od1%Rv"lI^Ho$t"uh$"EN,o:2 ΁o'w)ey;_IL,F,^HyUpRX[bCHpC0Jܳ.^JH`!!q~@XB}萏8{,{h!7CriAKYS_ȼ-Z&#WDHn&+kT=OuC+0g9|*p6+JUs ]dW9v?7#'I%ug)&}ȁg=idIËVy=JyՄ<%nTvBY=fH4$!M]b /,[ wRDI'>mdǹIBu"j3 z:ņVy[1]ZVfk?{~7/\] Y\}vAwU @F#&ș;GQn9ODK+y5eqJc;͔tM;8?=Alw5C`lc+.娃eSdLueQ0)܊Y쿰,_Id88/VZ" ziޗi$/-5yA-T@_n>D]*ٹAJ .Lm2Kƭ>q:Y>W "md݅ E,b3_eg۟u"*hcְcrV-Fjb!u谋ZV^jOpSOB^yYAfگ,D> ~_] AI(JVEo[BV)o`"/R=kMvP٦?6hB2(d~K{O*r zBT;SP%QT+5?KQIRW{e`HuRO \u"ά!Z?0>3~[ɽ Ҵ9Rs$ʡ'kK1 vTm^}!L%H.Tx0BA7;1vl|vVHjvAh,.`tݻb:=<uW"D{' e<6o}n$AGN`Tj`?Es<ny;F L DAS0CŶ~P\ l6TTjɪKLv6,U)c!K+Cc2Pbe>0s'dɡeID舼z_Nr㊰g;҂Mb!`ÍGdxy:yĺ&SukBI^oq>rR%8r[B$^F iIn'u"'9/G).,8 vs/xd+DAHvſ:!*bƒ X :T>t?};\Dk:Sʍnx!ܢn;e`q*%n2rnTwND8e@vdz˒ :@~+%A<ӿ)"$#XȎQ :QB:s|$߰!B )Ï6zw./߸m3Iy+dP BYhH`2Mi%U:B5 r#L`ɟ! WЮ'}i%?b&pv{nko}PK+" 2dihf0E#vy}vq;馈᧴uZ5ǃCW3@%nH %xeq2Zz9,Hvcdia767GckR E䛖"Rw9 O'' kss4>:C@=:1eAIGFIn."8n%!ƾn3?À۵nWwC yMU6bF:7P_X0Z(*lL֑<촫(2 :ɟqT=`%݄q  ^5+Ŵ<'^n1:Z'P@Id0zͱ. Ė^Crzȃ? wqgڃ9D~S- Ź`nC+<-'SBȏW"糎gx@|q7:Lۼ@en)-?xxX}ТL% 'Sx#e4#C>8W{~?"nX$ts+<ʼL.}חg~ oBhAhO9o|9D6HmA z8z:HD8:A +tn&ImƋyu䇊6|éhfy4zxG%@>BG]XXu3_o)n6PŬ=}GB(^jao* ^Ƴ#nA] N2a^t.+CZ=Q՘Nf%s{/# $/4_G,aSd$~?"C *9 D<8B#. aug'F1 G0aF) T(z? T禠 F.H@#<j)XUOQw0jos|{^M[$D (`V(JǸXћf 鰓I??lNCysIKb ҿU(+:#V[(UPo:X=L.1z":m$GIfBJ^,/YtU2"+ў iȴBܖ^LvC~O!/IS^6 ,!4taXML C8~iwDl+CY>c/_*Gt;,#I}"R_ }ڲ.>$oBp ]7FJEr1(*ՠBdz7|(<DNq%c7KYJ T2Mc0³n|)|Y۽uWgUaa;7lσcmܡ }L@w'kr$KkcX9q7#_ UVQ&u1{>B[x68A30#ą8|:(l;%nR鳀DQqrfǓ4TEEV4#e1Nh;bv;#r(۶L/fGwynqSYLDʧ;|+ Bd|,Ĩ^͓&suX%>=ǷN= ƠtF8Xa3f_뷱;$wpJuGcw!91fa^ t}ca~g Hhe1$A܂(P'{cܠV~sS J-y!3,ήcŒqŃD#i1!w&%=m9e@ɝ3 =.+n vw惴s2ʎ܀ZWs8;SaI$JZ8jMxMBFoYd8KsB~@ZHЬ.A^$r #A\{BquAtU\p̒+'~1K%?pA@ϳc!h1*^ dE"AgaQPu'B%SõS],!xeW݊"0ZC6)M#S@,I7%b L @O}`wW<QsՃ FWyOٳc7y;h`9Cj~Cz.NKA=@^XBpeО+ g6^٩\nGōN 4Pϝٜ0O q M6'(zq}ܵ\=>L9K2ȴ dJ%Cܜӧ#>dFT8^ $^f"p" ^UU$"x=S1bEצE%tO׏ҵD!^)pvAa T;n*q@L eܦSmiYoYxuFY H#PHGXBe*$!r_0uftg Р[Gޤd~ )()Pd"EwNa,'jfX OBg,}Բ<6gxcn+4 {yKJ+T<ݎW )aEށ$@Y ))!o&Uz]11ET &,ib 5*<w⛟|Uxhzr 'O>&=^͠)f㋞YC8} `R"00!gnĥ ' `,zxz '΁ljr8ph?u/z{w{ {o1Lr7C^H1zI/DXLaefQ̈́8_m8:ܵC2LB4gK'(`x Hnp2ːq!,(vS(JwgU&;$518Ѱϵ.m$#`<2uNJ96 9Fc!|eq`|qu w8iq:6 { o$-+ĩ\G\mq7 $dSS%K}%@LMP̹JʅiTxt{|ڏ AfZXi#RDMw]#u_QYTcr8힞yhY#MN1y_Pp} :mXx\sPQ0p^9sC_;jL4^K`l6Ʀ;)¤$4e·vW頄ޘ&0)rLY|CYò.nXS=kެ2%#\P'ςw( H @U_?f< LR)vߎVu]PJMKha̋vH`?a\.{(v9@$pEW-zPͮlĆwkQboZF~ynPUd F,&c{fR}9s#Zj wKdJȗ\{C$&Zu„yRo18AxݥTd$>Y[mcB؎x~O' &%mhZvCt:A\4 EC07=eڐtxPB|2U;;/ v-ooXav)P`sQޖ\,yHܲq -˸N52='K8 97$+% 9ڟʍ7}F>%YpBʡV o陸/,~Ox j|>UDy3Mdp7.0EmlOj`#BhTwd&?3rsr3{$hKaf%iBQ!~;_wLg_BQFrY.߹5ᓀ$۰3Ns¦Eǝ7#+s@VsQϾz2Ga oN ;ri"C$yL/}wm. W4].| $7%M&H7/$W_WQ%(FK=;vF-qƓ6eseޣ2{r^ɯEN _G|< >gNWRݧd+K6c\/ !e['\궿ʔ{:ePR iVPf㰔>Q~z.15ªko_ s஺*>|b .H8y}/ڸ߲#E{R"qarK#aQn4t@\lnr ?tgxU';fz|BViHXei&=u',$\ %ZY5]Ɠ4& Rɳ5t7Z}sAzLG J8MΗ;<`}LaNeN WL fE$*iEV=lƾz49~nH+WqHH6:<[㢙, 4gYn0r) $; t4SlJaqK[=a]&T![Lw \y`rd<( mybg2؅"?jMf8EM2%k :muZغ~a$ts#A؃&Xǥn`wx3m5.| N^<]wMz2Cd @XUyoP&-ĎLuSA\D; rvNu?jT5In]̽^.xH`LgI^<>Z~`H-$~'&-pbWWd!eGQAZD&6q떢%dŽA!$} <n~=b@ ydE4Lp5aivW3mGR|]Z_yP]4:$fz4 DR}ز;M&sKBW LS̝{ygfK^ϰ7&i$[ WoA;KW94.m,į$W4PHniO\i睞OOwNB0 |izp׬%0so=R2<+^GSb 9|%SgZCANsz c E3&S߮T9L pдh9ݤ5y*bL KN[Z2y~I撙~ئymvQ+CLrz{]:\ya>E0a?C) P98{1 I`!￟t6 vC>6ϭɾP!6P-Y8f&N洞,e\9]-٥Km`{b~CQ7~Zx^>K?]b|áIin R,w^+r-EBIQ+%70pdN: Ж_!SjTnSJ ,/2XgEH'_EG[2O]a!a~oǁH|, tQWal) QnL~pb D}wd=o.7o6 wNuqlN 톝ɲZ< õ0?KߢK(\C:Z8?-i!)c_Bq%BueB^b rfvP{I{XeNu5ڒm]]5u2|;1RmfO`误{r0/T\`1__Q(|շ37_=b2@VSX;,¼]oʈ򩴴&Q>$S(JpdIr0|N_Wz}UO!2{=ˮ0,L,O]}Vc|NV&높\(Ԛq[_i?z0ܷm8[AV@e/Z"t CQbd<ۊ -I<H"K_˥D6mu\(KW`+)XסDTROMMΝEۣ8pi%k9/ ͅPv)\e/]SgoX9r K|Ꝺ-u ٹf$H6RVD~`!GȬ#8! =#0|U g^Ÿ#[u&N9C72IZeT[.1}..\Fu)˅ CՀr>",q `%.fQp`ݸtePÒ܉pk~S/oq7;| ~oP' OUՉ|/܊fT˼FS((䉸6%O8QOH\҉d !љ5ܒxǡI1~CzxPƵӠ~m܏;Gv}ވ5˨vB m mefO4"6̬Zܞ \.dH!zdZ=WJxP`b EM^Ϝ=ԋPbtWOR;C&Ȣ{ ~V$yxN_`\4re%tEXtdate:create2017-11-10T19:54:58+01:00%tEXtdate:modify2007-06-13T13:14:31+02:00mqIENDB`pychess-1.0.0/boards/maple_l.png0000644000175000017500000011705013353143212015630 0ustar varunvarunPNG  IHDRg-gAMA a cHRMz&u0`:pQ<bKGDtIME b vpAg@uIDATxT͖$I ~Y#żʬf992TŢ;*3TEkn|]n_'^oʊ\Xn7 .hk,taljƸ2,(x_CC53TDf8MĎ/z'SD_?vEa7},, ~M_6y_AvVܛje" 7;XЖx,(w\;}l_o8ouTAY׿<``IYPGC7еjܚ㠏/ccm.p;./:>HLƏ: .N<'M^rÔ&*x&m`\m7eA?M4qEvC47Na`4ݴAWaax8 vC7E[ ^((k0ΦT7 t7FgºqJfVz`zaFwA5]I;agpslFј닮.XMMY%qtef_-5wp'pm麡j|>3`Pmx9Y[yNju,H_ݩMIBC鋲.jS~퟿pjD K/n"(J/P@`X nw*Mr@N=fӦ=.N:#)0=洇ToΚ?X擸/:NX`oK=Ga:/Jߌqhԗq3_9!l ipw2 -17Gdz+9Bst_tXzց1}݄S?fK>AP߬ӝ@ӭ w7r/enKvn:7i_}a>y1fldq`NNC`35GpўzASili'i@?MVB͉ZMR:1=pg!gNvn-pjNb^Y(NΧ賧0GZ4aEuS ˊߚע5]ѭ<ܸrgz7p} &fio,tF^Y= MN:\tMSJމWQfu}M X`E8`=ۛX3{P=jͰs30m=cU5_b~.lݥ& h+MBB5=r y0K̪J\5˅i, llo1T~ [/p;pcus ?ZQ&5ynYi5(ď5oaG/Äca̮ϼDI$Qe] F0.̉YEЖ=_iV3l/on#ցUv]d 2VmҌJp+o]"*,F`q j'T5HгlɍA N,76܁~ D1v}M^Ki@ Z4>è1 /ҝN{c, ;އCj^r}8 F8XwεgtEm9ԍbӀ剝_s݀lk[qo- 886_6f3"bWɾ>>#!|kD+ n}o!APr=,3^u3`!iZE># ݬ#(s*1pG7\"}aY@5_[%v%<tKӫ/kQA0fCK Zw}m.kfiw''4+͜%&֔e,Ɖ,nN%67t_N[C޺UG3bx)3&z͞^Zo< =X ÇCo7F3k 2%p\=@7sEkys,Yyэ#h3%e":V϶]%KQx~cԕe?Ux&h/ Bd8޴[?r/m0;xo]Cg,/lzB՞k[ YAPhɇV*6:Ѳa#J1vC7+ZTCE-zo‰x>N6:5%7Y%'13!]548$K`5 wmpܡ .` _ O$fsq,᪹ 6z4iKX^1|fsBsuh~脚ljJ;pξmyd'KogC5P[fIۢ3Mxپu:_fvc}&?7Fޘv$Eq/SJv!Knq]Y^2r3+u!A?;Y5m}'XKi?5.Xϣ8D3cۚK(TE6<tTB;?cR2Yuo m}T)p0n-*{Y.Z_YI81ۄi0-abO^axZpPaN:U7;rw,e-|Z ,[3FIoބ~#ʩ JM_ Fc$KA@B;%vQK'Qo=$s}{Eċklr9(dƒ5G딷BSr^I١Y[=1#Pj,<FWИ\`g d\-д-QjpKn~T3N%((ljx:8dM&[7m)˂_r*S?_s*mcMfҼ:]="Nc987>y6r%-]A^s -xIh$_x8>`Th }N2z]X h(S4["94z(mVՒp_oա+֌k.zif3QxX+cHX[zZot٭YB9EAzrFl=XHlD[k&fiEI͖+x`Ki ?{d@Y CP7[Y5>s/:pTv~*$  1%B4o Ӿ\ΊM *-M?^ԇ/Lީ6x6筕RR;0,ȇG<`3oo_E d{?RN"]Mfޚ9V з6Z DrR rTCWH\Mn$,dJcX^sR={ͦ |auoBop?t<`56m3:m/XՖ2Eh!AFnRUoH%Lk جgAFЃ-]b}~pt::$C0BlKՍi4EVAҿo1^P4]oUϓ/[}|:Om4Zpk'!7:5nF/ f%$ݶ!zB4>Wn+~{ a^,y\w]]=W<: Kʎ7M[>;+D#AVþr~V;.:X`f䙋J|҂fD aHp݅=KMݢĖρ3VU& =KEkp[IMKJ/Rs ]x^d%ϘmGޱh7M{iZXYб:Yؐϟ?9mzaLVj*Fϋ>U"7 EdFvi-JW`ό&]Z:kσax^T(˱igZ֦gY-*r}Oa#t0y#*3ĝjè;btV?X6^{u%u| \_{nGّxȧ\_1z<Ϙ7狈s6qfxvs(-#rH.өfԓ/@0U%Z/chn#׺t(/M\s22`=̋ x7 IעGHK'לⷽ%B9NZ.: +=_)08NA:):>K1Ynz?j 3& 1uA[Yɒy}&ddJ%ؿ0C#ZUڇr䜚)zsP6vӜ0rtϚ/kכj+^0SpWB~ Gchfj_0v|)[t]bc抦3w1aT by]0EhgkdB&;':c$EVmpD\ùLZGsQ)ݣC8T(^T#%>bw[o;m-cJZHt0CW mfh5Up7*o%T8eWDbu-TH9BbjIÀ(c-܍aJB<y񘑀z Ѫ&?-:6 ΛcKSDޙNi8JG@/hvS2?;=Wc?8X< /-Oצn63|ї1|tB w 0] KKf蠖7T7sF$1$%>IX[>c[sIXcF>c E?:e[ocQL^PC{@LaW=:1?Hz|&5e`VJYdq[0%ܮs h)Z죿y8҉o)Quu37]qI-V_}-Iw[[Ar#rstcIV3Jb\"%澿Wc򏰖qh[~(a7YGyߚi:m݆^'ެԐ|Aqh)蹖h<T|Hm&g9Tr65ꙡVJ(juANd|*ɟ+H~jB9\erf4 Bc̩&_khڡQb¬^vwbQ(m\1 bºzR|I6X/"*mKD>mq{8ÉZfپ}ܒA*.yuWC<Ԏ 61`A((NElf_H]o|w[k8Z n/m|l'2ĒQ\*;k6J )=t:yDyTVɀ oYD7oml˦& U;|QjCA PA"KS-ڏCJ{^5NY2-#Ft+z?d9T|/(VWH"ԑ"~d]'~K'HDZ&$$hH5jLΈC{q o(V{ S9&^'Ic}F=:i?Y* `K\kcsPy7X*)L#Ն.Z`i(6ɞ"fKnXu5nb[Jz,lQ/l&ǀxsU9qLϣFPƜE{2`M[LXebɼ5\6/'h,$,:?|Ҕ8/ 0Y̛_;j'8"5“r^'Bǂ=1p~(5h\I[ ;!fg1>f e+花#rl[?x4(i$ߧ69| <c||XlXN2=3\DFA:C@N=lk #k0ǘz\*GtY9qeN ,xAF̦7E0ߗ"ކϼkN]" !Pq ڥ{%F $N (#Nq trK&巳I,D|4/I}Kۥ/]Q+7F}Ҥf9岬a?*o`c /'-{}|_Τ`J`RM6GV2l7: !dg;sm@ڣp ^LA mua#0;up;YC?5ϯl$VKѽa}QMVbvIF @_Ϸti$-׋/swп/ܼE3H[}uo["j%n/v^Ĉ)eT1\gAz5X2G{,fG3lwk-l= AMbԬ?LVk2&v4/#т;aHm3 Bs#:s1Q8(?6ڪhL}BT91IaUܹ ;1> 1*l5T| +?ރllǠ "G 1? ]#ےKAQ17v_T pV4*u`fCyɈde^W\0ž/q u>$m>[L#5LET~>e줨GYƵSY45`o]tތFՊ&B5 AlƱThn'֕,cYF2 e=,%%- 9y%?!uQv _8\?^ޤ΢TQ_Cq<?6$>N1k@z; o `kq\)SL5pWK[5/MEh X]+"]vO?zQi-yU Ћ 21=B12WNXpM3FvN(L(Û:D[6,3{d]DD8|cɚW bѩ^X-A<) &!2\=gxmTc<4.^F,Ӈ¾7K l"m6=CbfJշBYC`a_GadhȥE&ݱe %bơgú*C3VJ*+ֲ ')U(e,Nq|yũd:p$kOmC/ݎb/58XqIV[l!H_ t{}C[F~ӃEz$֒-I=78y[]g{*~ vdV;-5q@kp; G]S 4oh_[9Ė&v [/bbZjV2ijȼdRѾ?95lP?5dFF'ՇY3T%UŔI48"F]=#b&FekcRu[ZӇO]l=Ў OV38*X}\_=;&6mzj_161!)C$!'>UZ`af輞I}M\XMXp#=l~9/͡:5K9.=UM_TNҪOK qDnrCлÖ}nc!$nϋZAq=*a~D9۩0d౏A~VZoS)#]d[5dV5K:=bv~i cá-)S5D|ݿ\J(g=E!X2]IbWotruuyfׇKYO=X@ҟ%I|{45րG+&UJGn6/"23j|bI>;RTRaXL$IdQ-8^'٩XKs(Pf:Zd'791C_A6kVqSĿHR{(ĉD}㽇Q_M | v{vːQi8?IK7԰.Ly/ [.W&Ǽ@NJ)3v r Ӣc$2ЎԩZ}hέІЭ`l .?Ì?`."b`6j&R-f9x(M-XƦ0쓾zP˨[S P?5-$Z3%xA9<3CxqVCsLf4ɾQX$[K$ob?{Eg;ۛ`+8{~<.N褶ՈQfJNUq׈Q@TICNt*>`7e,~p=ɎI'o2EPQX`({^at1KiO;K3?٩% )VV…O#AA; Kj2V"u:տ)KHi %Cx?C I?4Hv*2%IN&}ӎb pwvN;?[&Ⱥ =+eHm36՘(atuOھ*5.4ǵ((rH̬^1S_8^ȱ䲬HSmNX"7#ouT,m=͎:hs1US'!F- xr܎i"v>F>WLu4kܵPlSW9 ($THI2]zC uްYl~ăv??D({8j  _d]1(A%UP %z22/4[P¤`'Ʀ߳H Y bojv%f<0Z ^+r_%Gך՞Kwc\fS2[)T1 `E`/x"w#PIȤ|A1k\u=~դy|eؾf[jhI՗=?ǃ= -Eb@wdK s fG/&JDcFA/vߚg 5[:0)&+;a#ŌbrX7}K –B[-sšMF_׾eQ;N]mHUMY>a*@X|5XC͡x TQ^iR!B!b-XoOͧW@fpK/f]Q=\EϤ9RY-חүj@\XoK@]#Uuu z6O^d]zX:P_=|orr`z2cUoEs@ss0ApF2vvc~N,AGy݄ɾ h;xt}hGkm.1~)!,qf-hbޚ7,X+&A 'NF-Ѓ_Jql[A[ jUܽ>sv_X)~]A>})Ö0uM)Å3=%cyb|QAxLK1oubE'IuK_T5mO`T<,0Lp1ŜDJ}^xE8uH́>DYM{<2gC3I, T.0<޼aq>fDɝaO<D&SG ?߬lnK=Of嶛yÇ'%tk[gX@ Bq>ʛͫtdٴ01T|D*(}S:4S{$Qp[1a.C+IvZPkoͶQfn"2IxiA'yP0^RxR a>YG(x[\2Qi[X;0Sss-9a@9tM}h2Zœ,U*Ԅofc6xHwKjBK K1dMe/lY /f~hT?[Yhc"T  >΢G_X :-y_i>N2iITK$fHtz"VWq*JǺ<{l~´(sku K6o,5/n V\ޓD 6oFi˟I{m&[fo8mOB!^G=KSM61?]\e4Vd`| u}J,$X>/~Z8t ?t$`PҞ[jw?9ZD٦xM/9H <ė$>†Tb{`m.,/riz"ϙnܞʯ{jicu5'Kk}ظM̼V ml )iu:q$Wv}nzol]-{~n7ss_M" bq$I ?pݥ ' M0Cn|MCv%^']_*B/(iI)F^b7ÁL`UޘʕR{0yD+xJfxb1[k-뚳$@շ4Y;Oz{½xUx9 '֭|55p hĸ8.=S$cl\L1ű:,<2 y mO J-O4=Ó*&c;o(x*rmS@S<>P1ao*Z_^rgږ-@8-hEv4;1OӓȖ[6jm*5"f Y=&MշrcTX1[>:nR4%2z@<+a6Lң$x=[iJ:Ck=A9?aٵ/8C/&R I߷uAp@j#gRK!{4(FȭzhĽ? ?LaE F|j6uy$6ˡ &c2&$q. C`AoE♝x麨Y{[ *cEOLVL0Zi c)ӥdfT*Tk٠{@N%(iJ}u>r2kJ)2Gd}|/_:Irfpe>'sJ.Gj (O@Lf& hn=a@])e^qYbdJT7٩=\KbP=/Tv?y*6n1O&SP"GeO O2VKb[m)-pFbxm'7GV,l Е?2sEMZqjưVt/mj]%yL8D1ȮoP1bbĒM_Cө]HmIR!tuNd g}2;?3qP[7G5ҏqAwjq1Z!ʢ[+R(3'f+e<;ROkSC?oakx[9/0zn5_D8k-JD(7CDs/kaqvH{s(a%d/!~S=Sz{b,'Gd$ņ)7"E<%MKe*g9ϗ(RMA?|j̮'I$l!z0t4ن-u,ux8J,hh/%e=~glj)+C/"頛**RNRmT1uwsE6jm ZKȪAPK@^ۇ(wXȈ4SBWV/F|| - Aaзh9-0nNlo%d-Ei8N%nI:f-߃M㩕7A/!uZ֢q̩VF5)lү c b- f=ޭy>Z&rt!R͏7ǴM?d|Voo:߬- 4U=SxPky7~h$C*Y~>1M{ն*v&9EAi26JaIVR/KUrE2L@(΋uNޜ=&$8'T12I2_R37R9[,.i=!>FmaKaO}Ĩ3-.܉/ x9TT} [\Yum'" vΩI緧Llh3*SP4\ݗ{x49$=`SV,ၥxInEMǚ|ov!vmEO[Rf:qL_j]eO TP~km/2{5pB#rMI(1tu(t9wXpb)LRѸZ51|LHmS D֧yXKCY=2iG Y)s_}D7j5`JE}K(σ9g / GRP8}Wbj-0[)hk}߂Xf}PzI9Fhe^T H-)ޔ@6Gg-6E%5 Yr]~U 0UsJ1AGaS|$'uԪkcu>Å AxЮkI&ǵn\s̙JtV,\1DnZfvG9%5h?s#Y:һi9?` /\)Al'恮;/V9%^Fn(TZDI#Hwv&Ur ةƐ0]Zb,!C/듪U9iaj"ڋϬƱ>k_J~cÑ@+b!48\?}kN[:ֈtI)?,N ͙O4O=n72)'F&jjl)'zkoC)â&A:G$ҕB۝eYm/>]":hUt妏/c|S:ifʜ+^ɾdISPnU+ EQ'(0nZN=2pIN֣d'PvɄ'~@1QDե_ioߣ[zq jwbNEk-ÿA{M~fc4d?: @һX'f&"١0N׼7q`.pcW:z @4)֘aV4$,:— -u2GqJIi4WXa哩-VS0NX5颊 yRGc a?3یkg]H^N҇S HcHIz*M8}G1 tme5 /6°TS&38fY?N+E>ġSD<XvOI"f$pfl>0ebzi?ؘ ]5@؋PS, 9օ `XjɤAr3zHtè'涥,3ҹn-,:aAYN=lMst9͛~/1u Nw3w(Z?gc)0,5lb=5 %{{Zkov?jߊ09ϑP#ա*,hNu;гmw\4>y/*×sך][;䋽$ b*+EfQtq|S)jKSMGxJ-d\I'Fdd - ~{ %^e. [S^Z"@5l6ԼT>~ϟ?&J][TX߄IF } LJR71I3 Smi}6d:iR=֩|})%1:WOOzhN(2msb%fPMjA,Bb <*h'q)Qu2O%}$%V?,8͌DPƧւ xGC7; K ]SP#{SauV~ o['}|ɀS =rJvWclm8哎23xfoVOww+K۟;Is%\<3]l恚UC?nIk|Q6uȱ-6JZ6ԗbn+C q`Jp2ѬNNWWռ)F^2j _ȸjZ{ &k+֠m-ͱ%'g՚6@#R|T@oRik$]ݦ[Kib~̟=%2 N-Sk AXiٙp 3[H `NQZ`bQRY9㻩 <8X1fW2I['K8;qzlr̙S$$/V!OtڊGqx\`'JےFfx|XI/HCPEfa2Sr6FsNQBYۛhMV IK49O͎%5~G慥?IhڊM N?^>!^` GM)nDDplfiK K4kRjpnsYOP丞T9=h21-ktMC<]Sxn`Uz`ؠm*o v 3XA'iI}n{Xo/ρl"OzT)}|[i:ri.>qO\1SxRWŴ/XITcj%~CVK)Uu&,h왗FtJҤzO1{n#s+tH5𜏢J&X(Ǵhem+btzK=cebcۓ7MM]:DӘL_jɟ SwHkI1}(),hITVW(|HJTdi̞yN'bNzMh'[S4/t.f{z:Crxu5}xע1 K9p3K!Q10ɳNysb}'a* :\@Oŭ? :4+Juk-6ϰެ,55D0.a/)]Kj> Vbs<~}^͞}ęNL=øPV 5NܩJ5VT*[{~/ jmNgKp# )*f <\<>/F#VGY|,%jQ uS V9ݿMOF,=׹t*@0VU;!%ho{lA+Y[5kCZ!35 {UZS2QICi/]E8H\f)}H@n[d=7-7ID:᧊-C"f2Q5ٌ(lQ)8u}B\4:ÁD>JQ ADb"HrtɅ0.lNSa! f͊ /<({61>ل+INeX bu0!JRoqzS3bU1p&Cxo.ɩmiN&7ր‡LS5*!)4Cx7.3v_sUX6@#~.xk-d (AvFgړ[ӡ1>W4z["Ȧ&r缨Xթj#^a2#vN˟ld5fw 5J  S(dH:3_85[}%cs3e'qX ڔd6SOã+(\9wSѴό1,?e ʬ>_&| 9`@qV34gQFh-55J&Cy2U;O]NFm0ŇQ.q).%o~.(HcX^o})PcLj*O{aEMI3crcuї9ITz%^"1VV}L pՙROhClr$5Gs)E25b< ~b{7mϺNȷEکSĤܿ5 c:1Q©PrhW /, (̧zjRhY@3VXe?=کELM\nĔd3'_̜J="5v1>'iJ{zD>5R7=7':J !~} evc V<zr7%|E&#ֺԀ׭+6V mQ=a/ⴉXB|hFJ8$^םMyz&5Su,$(PsJOˣI&|ɦjxrI?YUc[0D9aMf`.Kg)FΕ2 us?_'H}.X#k"mkf75*;IqP&#m~0Rjt#>Xk~cǒF̿F%, JKݖ}R^t*M$lo^; o6> K!3k}a9T,@G8 ɏMQK,DUI ڶSQ[_;'(a ̬sIwdxp>t%Hs1 tmcjJ'J7SZzJ 4H(D28tam3lR5$mHT>!=6-wR}ݬK"dMkX-NV-!f}䏏{\IQx\ln?0C36slo6q}_gN >D14D@ohyZj`> Kc^|Xh^غބ+kEnH[7t >[^O06퍯fz͊Oi-5*٩[C /NO(߸骅K1ͣ-XTKg~ɶ5dzSl)7 K4E4TX'^mxl:ƅuMEt\Y–\߸8:0ȱAʶ)+f$;J{q:'QMʫCk-Jt2$tp$+~Qץ3e3M)""E ZkY4rOL4S$\X|~p #\=pd Ц|j_tnRS%햠0q?4?̉t4.ݒ< Y:t ۓ]m4i8l< (۟,eL95MDHCX]O`( V)FOr.=q:7qVFT#ӭP̚_%QX)Ɛ)Cg`0%Sdkc1s%t!lYz32E)@h(GbӟQs|MA~eŞQNrڔӌ%Z1 vz 7֚1d{8맭i/jSuZvbi&M9w=%%4”.C4fu9w5a3u1(%q?@h__>R1¦&Fu6he ?:2R/OSl8M5W7Ox|)/&̆u f=b\ [HǤۜIⱌJU]-"<,ꉭYz>^Yjļ@)G")qD >"չj~/},"Q5ibO l<&|N;%$C7ߡ R9ޚKWB\E]x#&؞ N PfˑRcSAur}-uK&XЍ>~~ZMJM,J\\щ(6ܳe GD>a q0Oy/hlDӗmgDt4G &VCW% 5cVVlk`}ʐ隓oIDtLcF8Ajg*cF; Ko|;wr,V4/%ޮOpK*Y)OGג/e”)K>d m? @Ż2F B T31=RZF.,iny Pgk*d}x`\ӆ5/=Λľ?$T%2ṭ[k:-7qgAy}cj(R̙GInTHo~ ݊V7/n{a]DwX$Ц$ŖŒ $p%Жkl= DL(+~ Z_ڨRzjר@z =8ȩ6~9+TCIs6i7*6<5jEf0Xd㵘ӘTEFβgb֓bzX̣v͏ov~J gXCf5iIt(H`~xHthRc(m镴-i 3[בSӢ_#ʩhg?S$/)`X0֋#8 W1J{7덞`wmjd;g\ & b~iO#1{|sZfF'톯Y/!=FXYy}Sv`/4"X`}Bc i!ݟ,@θK]˰zaK?[_4bl jϘbq1D8E3,by5/Rk%D}[g;"tL­P MNZj480էⵛā[Ut6d+f26̃_a?kWo$mt%Fxal+6褮()ÙŒ b k4ZhpXۦ!1&ECx77w$k6L8˞Nc.n]*Qc?'&Rc¢8&fO?ߥ=p%﯅}mt0KiJU Kra I:e.֫ЛZC9Ω4@1i92&[&߸K!C苾G|I"rHMs!!F3 8^ f^:YTԦuj4΅7XR7]K?C[ӻkP1fQ7Es{bRZH @cמǓ"j\S@Zr̓n}Su}@l/Xh׻][ k &"nDjJK l}ICy z/<J2V̴X+ Da?j 5qpeJ, 8uY)#CfʒĆSorR E a'ED zJ{ϗm=~4zןc>? L\FGsj) k,vY"Q+*uRrɝx4D'Ac`z1aN}51KzZY:i>f{H#j?h5ۻh^Y fGL(KIYjT?s(ij??6Cee7aՈP _&bVJMO?4V1In pkH'M`rVmJ U;f|;VJkgg*tE%t $6LP܍,[KМZ)_,R 3 m'$XVg<59HY jtH#}#3Q7b HΕ(_K??uMbr˧|B)A\k!:B1]a\-& , ;8f\wp7fsZ5l\MNzwNQv+hZB5&</}S+g붾}n֩.r*N?G^$Փz͇d3| { LI隔 IIx`(jS j-b&zTNfJY <Ԗr{Vˤ_k9 , S772ౘ_ }[ {Sb MQk_g8mNP7ST+9 z<ȏLS֌ßFMc`o*Q]/mA~G.͞@4, d4F)5 [&*.q)?~_(Dlɳp,MMuጏ'#VpR :> Jf˟D-M5Ʈ}(#捝mMlqbG`4xY([0O۸6E4f2tx$Wi] |~v{I9${ r];Ή_2%M:ځSJRqS6SYЇiP~:&*'z}*ZS٣,5-D?> n*;}N॓ ;)"H< BLI`Fj65oapå=[o:cİneJ\`yoVkʓ($Q [PR烽J"Lz v8؞Hd3q~H*QW/dۍ<ԩ=E엪'(VP{/{ ?< xoVKsډA1B'0hӞܚ~bkyit2K[7K#TC$;m&8s|iʺgn#N`|įaTê0yK1Ȣ=ƨl?L &ݩ]N3cX2ìG6!GmC'qY-^Mc=v6pYf y}[Sʪr-GRpC?X9zHvOOA}$Xʨ/rNwSц ζ~mOqVOTǨ^ H+Qt>&I/thwwjB_*4HZ'IWmLk2tXHyT5x%PqyJfj\bGվi#[t%Hu5eSG<]@1w \&m<4Dw5À<'\x=פ:hᩂa BMEXz-LdP?H#ŧ 9ngca-D#(_h3f)/6CӰ\OFԆL=#v>v2n37f?%7Z|cn,^,><=li$>jSй25OjnFXdOYUa&it*zě)Nmpɴ8E ljhj-6JL0Iyc?>;l<NKWEz ,qO`P7sK=uJ`E/[]/e2BY^:Gl!ᨑiI1{ $WGqc]u~9J_^9Jg2Nc}1In'|kDJcS_dZfcd$&M^2l8$f=?<Gd@UfT=i$XUY@C_aO EUM %ks3u#>L%,;)i5hII)Upj '-|-c,xekO6u޿. (7k;^n_`c jHRSNduMAMP aB?' $ߦƆL,U²gAj0_t0%i^cu>`WJTId@B] _5 U߁Ϻ"`;oϝ'F9OUq) IDAT4(+'<>]Z/ HDs8jw*5Pm&m|c$]!#:^]5֍.tJ}LKp ݩr|Y)^tGB*k]{3I0,n`p?W5 luxI` |aeX&:@R'J(jB 'T>W1\ٽxshŤ &5i@$]_ oW'~.qA\]6%j¾rM/6{/^\ ^t )j+'YD7C\뵅ZAYnӃL~Mc̃j0=V(/+% Ofb_|.]h7 V>g)MLJ N>G%/P"\ QRa3 ^z<@iv8mTk 5Mvo`6 :KmȘ$fKh䤁e-:a  @n}%:l> EY+кH1BRTDR%bϛEg]++V` :UCz&/i-ܸ`.>Rb=iO,kh XVG Džf`- m;,YUWnwzS@KX@I'g Vp 1P9Eph(cMצ\P󄥇d?( F­#:+wK8&^xzAEen wD <_Ri C62aA 85HSEsxw\`coǮ)r*W6e(dhp=y7Mb~w- %Y#x^u pK(Kf) {0r8 `yֹ(Vl.[f*!ES-P(N *D,vPlߍb[U@q*%Dl)/t6M\ }L\xO]pTWt4l_ 997z/rg!>G+WI'}P-xcҖL,vl[B68iyh0yXi\6QecqzoA7"Z?4*>\VaJ`u3EsxVh/YP n'2C(fcࠉ`G@9,aTa+'[^T (\Uـ=xq-ʡ!8 ~hfVc<9J(H?qg|LGSV*'ZGR!MEw&ozs}+[sHhƎt8x;zL] a"K4DڮKBj [j!W5{×9WqgWtCNS }vJ`(8?F\-iu2 y5ݰn[3see'`&@$iZ# "NZ}^6e>)Tva1,G}r>팖, S:&}.z:M\8 (cĥH`m0ZV*ZhN%3x&('_jX~' Nj .MirdOk;S1npUM`NPB; NH:'J5l ;7{P9)Jo5\\ݵs]vǟ7+11O%aNg3Ov7if }MEEn8;R)pyQ\ީcnUKq'rӪ b(CVR t2f ~$ٳJjhu]2^p%_]M5΅bDǃ,;X>}aȡRsCE-bC϶M"&ˀVʬp!W-*UǴ~1ȏ`NpI[\D` G2E#65cpn  ø?MRh֒Xdr b?&@lDg"J 'ysNjjz5^R*A0: قC(7؋D._D,ɷ^`.=#4-ٶPUT;-LQPBc$Sj|p):Qޒ,bQod3'S^B*FSu~l""Zo"A'j DheA(1c\dшQ@w(!K8#]Q.G@.=*EUe?עuf >3gԝv\ Du /F1 bıv &|_Ψ\RȂP㲠D]EJpCM^<}4R0AL(za汶v tn*։Ή'ƺmA>%k*F estK '{9̓HMٛf)9} FGƓz3@#<ơmSρr>nQ'O&vȴU =MD^%k3sJCl)M^b (]ﭏu'ōkqQyQ;I?N!uP` f]X ;eHB;$Z^1h*&I*d/S؍OTIA." E]I1r)Z(&CΚ's14ZB.AlsH|^Ggmvx]'1v@y@RZcak]g%<95ܵXvZ-?ZԤ Q^DLeZuI:nK Kz= bۄ?ņZA֍34ց7OD|ZEe]Zjh,]!@ǁ.~]I$_7b͠x<@0vB25v&OnPpAG6MlT︍%'$mU;'){ %Rν7%݋, X%KIo[mEILbXIrRF`\RFss)YQž ]1qKۋi$c]}D5 i@@%*c$7ZDO9 tf^|N $l| k6?tWl^ɤҸ-RYH3Y"c,UbKMuf1n8hlhƋKz#כb!訲m'&ھ}p !9M ȋ;c z*+1*1B`!_vAk /JS~O2 fREx ^ԭ5%yr{ioXQr ss M6 usXƸ8^ J2va [BC7[jzv~c TMs.U/*U\UDTԶVml7D "(,@)Z"ӡ$&hRj{'7'{&97<ؾe)}pzPVy檝*QKdI`ځQ{/d^!MC,9<\QH@0y >ρk "%Ҹf %v RaFr'ɻ/*uq6`dcH>P^U}RcI3ՀP{hd0IJ{>!= P|5nVu_Ku $SqyP痪FJ`}*z;'eP@V\+K#_0%0zi{ Y4֨Hg$hyJʮ]of»'6!P'H/jaZ1X[D6+SHzqSJz+Y3 4>)uk["X2KV\;_jޫ[-%׾&R|8unD^Pb_1,趠J좚A! nȎ@<141\h',OLTL>hzB]\h;``@[\h;)_dU x/fݭX)pO[RJ֛0fj)ԵbJ>8F7Cq{>Гkܟ>1Is꺑|>0B]d 6\cŇ\4ڣn ,q5k)Nvlx\RpC *^ Ciq)S;8}dKN7tgl@QKy " /K' # S10bqGw&eV 8tUЂ0NJq-ЀEc"`@I08&nTh~#8Lf۹~D8ܙg{ f'ۃ$;|2Dx<}ua]''D/c1/=>P x8֯_HsT|c>8Ն~ǁ8'< ?q:Q͂OvNԙ?~^@<&*ZB__X/;V':c"ppkpsoOԛ'B dix}`uLOGׯO| /dr z#D jN'uS?(5q30Q q??.I?x}w~b<'ߞx~|}"/Foޮ&{%tEXtdate:create2017-11-10T19:54:58+01:00%tEXtdate:modify2012-10-25T22:38:28+02:00>IENDB`pychess-1.0.0/boards/sandlewood_d.png0000644000175000017500000015151313353143212016663 0ustar varunvarunPNG  IHDRg-gAMA a cHRMz&u0`:pQ<bKGDtIME =IDATxxg9G D2A^&s ln#{ѤPɜAdmfSs gyе#K\Ia`en1!^pL jOiXqc2=@&3d`8AJEs2N~J .yv1hF^:l8BUO)I' OJtJ!NbJ8qM戤2E0`Aʠw-i,ӄN)F-&¨*)gJUvPzdg,e%刊p¯!%sFVj nYOjfP21 3GH@O_Z ;:=_G *>:ho7Txv9nT2ZE}`]7|PF`=dQlߎ̌m5hFwW) 9dkcby-қO5)MxVG> !Dazt j5ggzT)'n(V=0T&J":'Ƅ$ T|/?* |@P{0 )!a8 ;(DeZ :21s}@o+` 81HZ}aF1eshJLtיMQY< :o|an%P VVViDfs8btV* ZXV9{1Ȑ]``>$ EbJ0€n|#JZLWR%w|+9"h10d D2lR$nFFP̌.9&FpJ+_lZ'xD7ߨuLhg ~׆Ew=-aVC&ܾjq}d zrtcD8*P+i 4߰9sdTӘdG!FEc`=uÝql9C2!`S@% l>t3 3)"9V69SƘ'DsRqsp葮8 kV$ES9IIp1@1$2z|(eD? ARpwXu:l\&㴓) 1GYi0Dy Pc(}Q;e?̐eMd <4HSRZxL*()b9Gb2h@^";Dq1!iSML:*`\v DHPJ SH8k%Nα)gbXp@o&W >R859^;Lxu`$p@BfYAH=s2]'  6ע29fUZ~Ld=:ƜyRC-0ey6 IZ`N s/ .%R~E*t:&Usip[$a(4%H.#H,;%\IyV⹻^bՁQqT]?1^0.n([&xp?Y 1^2 GL!8noÂTO3-9-b}rou=k! &=9΂}s|Iɳ4wVc.PjGL ۃ1-x' "_.1S[# )ޘdq'*ӄ> ;Kg쯃ϣһG1Kg?v~ą@Dj|r֩u0|Fųfcq NniOcxN암<5S.Ik|;;ۖބ?|s`0mq,"<nIQ %oBdtEoWRg#'=۵(^Ik|bh'F'.7>?[f؄1]Шh<:*ʠanwRsrOܳw0|CDx7Nj}$geALʛ)"6: "XCK,Oi85R]2Tst>jga/{xuؘNjILXɳsv_m]~N湯7e:)Й|('ʓeH19ru+Vb }vvcX9*4ʗ-argUγ-^Ƴp6~ȏc's8 ,7?>~c?9>K<"r3m/]9~imN>:y2(;gځ3Z'%9fڑZi@Z訤xz?~a'upHso9|Y*P_CֈqT6Csy}EdPZʼn1lF_~O϶n:[#hD׏O^%GWG;;J2x'u&a?ZSKj|}n_OwOFS1QH"HA Q#1&hL)4:uex}3 [t|_$x'"78Q/︦ C]}l.VqQ(8'N5+ ){ \g/pSYnk8J :ϝ|[SJQ2cr $$?35jO޾\ z|}ATJu؟sn:*iIr"9Ϭ`I AШ0%I/{[٩2 s[ uW!CRSf-3W |FUє` 9fvʫ59d/FZ2Y=:۳,[ُ1+L>,z@tgy&RȬA~]{7~/ _n# SVo4ueԊH;BIz$%x)*y}g?N̔/|T:v\ul aWC 3)J/lI?NxrtDp ?n bӴSωkqP<:u, `p_7|Nl+fH!3j*d{LD_Rt!u,O|hJWCr^,mKC// MbI+fuN޶|QuN⺁? g}BBbfFgy""ю2 UA\;۶r'#ysr ;r MƏ#[#DIz3Ep zhVrnL5Ot5y E~eak?H$ۍg1j8YI1mhD;.@\{9bEHPVihJH a#ʼz.<SbArٯ!0y2^V:_l[\!h|klRF q6X=mh)>P9I!y6zWe_p*p;fIFΞ8Mb`!p֓x˶GgqOff8O F\Wi| #( Fʁe!:t2T}v6q!S!r' 5 q|gɑu?b/WFꬄ){ bo cgޕ1ʒP^.sĶ*e$"rXiD㶮0'7J;1*.;y]nY*kLH3tLR&GnA-_|{~c0wDy݃ V^Vɋ| \+<]:MXsQrd?' 쯓^HNѴ"(I)W@6rJGE\0YWT.O^)] 0Kar\@P8,nMˍeL*۳BDb~4wl%ɟsaf2[*ǜv t^OPW의pg9_ 2;cxltXs€~g/;xOW2'^Hܿ'Sw | ~ k^xe07ѐ5#2x%+Qq=I3bVY8%˕3,a"Cȳ,K&1\ CՌ׳/|~~2q9}d|֊G>w%3ʛW/x^ЪᓏTK Cs~8fKLQ|yT;ju,<_/⮉s *B @?X\MEuV|epC⮂]ā瓲CyF^xuh*l0U, y|%2 ɺܙ}|YjĘIcq*EGF)Sla*wՆVjali ӵ{+?o_&m݈͌15FgܓìXA=[1$Oo_9?96  {m49ȡz=xH‡ ܿ?'6rdvL,.2DLq9" <'uJgx㜣s*'f¶lP,)L%+dA"JI;xXElC u *xH,^D8>NSFTΑC&DϒW0TޑB&&%$=g!Dkba?Ǥx&̩DnvDҏ?taRIKFG`ZI<PfBPCRM{, ǓR;e unFMF󞨞!rwv1;Md]7|+r{X|`sN1ޯᏉ,&QkE3829(9f:IrADʗ C2AN}G^Tچ{`@{| QPF#z<Fyaw`N]"ۉ *C=$++lv3N} yU *=ĥ6f PaKo|O|JYSy2\!qa<^+V))iM!#Wj_/rvy",ǿ>/ ?'hEoc*hN/sJ wF?d_؂c/q > x톨' ˋR hp4!.4itJ/'cu&9a $?rB9 Y@$!̉̄0Fl+'ELRq#:vj,fW$3G%\׿|k"n7 uʳwrO 1pıl+čZ!xR,6qKyt}6<߾"?YiA9O^JZ%M#~r`XdX˗(J}7LQJ,!./b+`qHSMuIyT}3GDeSN_f3pNrr&& 4fUpPZRM<~IC[ 2YI\Zϣy& 1DŒDǕ}R8J=&/ t^mbD?rsj%&\m|cg]7B﯊Q?xslas<㓐UcSfٮ[~s?vS\ '쵐*EA9Ο<GǹF !cpL<:yxo%Kw?H>𣓣$l<&A􂛎8xImve05QQpbV9D΃>&N]5omL)#1  +jc5rC xW?PSn P^׆ g2l^_ܱM)p\N;~ܶy0;.E ~(7h Dh0~.fX!@A%B$nGxrIu 6/٧@04uB:>' *\G̑{ܟ@GnWNx1)r` WE2栵wFJuvT^Yub 4&yv;/Js8gxQ b8@dzŀ̘;|>|o?'\y|v'L92@XӬA 1Ynp1G'Ee1Ibp'Q80^|﯂ˁ,N`Q ^:;3Q-9+~Cy󊏉TboH-eƘ8CJz m w<('Ȗ#9aZ8W@xg8O"BH1gd,h6půT)D@bld*3hNy{e\yhRlyc͙Ɋ>'hVeR\i7QO|hJ "*,9߿n_ sy#p|NbW-;:< @g=St"3D<=v9>+5;՟\9KeK?Լ&b \Մh#cL qIM$4Yf@D/ ]\ųH jv JcWCare *H; vYn#ɰNHUǜjWkq2~H3<R h x́ӌ嫖=]9691"h1&DQT G6!`?'u+hׅ6a! .)XS$Mo ` I"C 4u)ǀhdbl?ire0@ 1e?yE ߞr5UPn 2xthH8Vy|VGBz#H0.@^m? I.tx-KgLJOF hQ"iyޓ~Th(r҆q,s/>LBHb}VBpLcZa%rr"XC LZVˡ }n,L hӘagkVO鍨JL` E C*Oˊw 2' /d6j޸uG F- a@Vrt^FL0.xo/ysPFրTWaJTInleT>Uf%BĚL`σi0~G5G@鸡Zs9#b;u2+0☟ׅB|OtNtYU 'Gt8 LqV/`v^8zY}BDFm81l^> P]B/$KsL W`ifk1is.(@4@=)h#B5`%pe'”Dl0hCi86y+dDʳhVXzq29r+XV85@ HmW sE~ף6p\wre?qP4C:.&+7\+$I' 2?4y1 i L@a\nu$BK(d4:<*;^W?)F@l0Cfp"-zFx)U Ly1)BOk)D9\ N( Q$TxFBH5cD$R~%i|?asE]eTJZn D3yr$n$Fh0Sn[J>= A>:ʜBqNaM*\HJZ&.i+W"?aYx u`щ|#ϓlɘ t w6Is i,۵-kW~f1)XcYnxի!"$>N+OoXH`FJKBL8*3x xKH+ \ytھsN1@S$NBG $/0&$SG%hi'qTP4TR0DW4juIQ,*pL(*2 (i&xOzILB>^Wa4,Er^}7^0)"qAuZBc~6PHs2'EO/_Tve\sS`A^ rOeM!zp׮&!'ucv娃^6*:'pc.SgL dX 1R]ϝQ;,S1dѥcs`v!Ѧw6ӈrbyn<^XZ8]R@R㞕n%Uk͕q`n2^)Gqp/\@V;yrm6n'>9AvfL] 3~ 9FA1u@RysOcd[qN}|"(hYr~'v%8O8 fQۊ#΋$ϥ&WOWQm8/фp^8>>D- KҙgzE ZSbT"W~/9m#%#;׳\ gh0|S{#xc`r"Jn㠫at/y5^*K~,nnr{e3mO4kPςhcF as1VVgʒ 3(/g9Oc"2W/8䦗Hj°Iy6^3v*iڹmh'a] +dN 3AlpN-诌mWȷk̜gO-qҨfT9D'=adKVɚ79^哷aH`%lj3.$ 䔙³j2xާog$dm`waUYĂSz'Ic3Q24~*/yKLL>y S` 7eۮa+R ו9]} Ζ8F?􁯫γ7usBΙ 9W~KHF}1?AWMN$swAЀ2@S`ΉamCXҤs"\Zd(Bp}6 3iDL5OLe>ճFhvʤNJx(B;A +Հ;Es2dmz ,x11mdF l,ׁKcܖtA$q0qz~hÌL8${~ZN> K=>1REv4nK $TFQ*!8nFD ]n-F%P`#0 Jyd#rʌ Bv0f8A#e OYPoׅ$lˏ9" p5G&u$8P`/UnS;)ҍ]"Z+&2IJ߰Qy1 pK| $XTH^x}VD%%Y!߿}3V44#0GᬕtwO3}%I-'5q*ϏOTxVl (0'REokVRy_2x]I|?&NEkB&597, pO7pMR0ь5>_O>Or2D5`cROb I ƉƢETeFΉe?V-sT ErO ps";ORk~?N Rf^)KLQbVbtWziͨS#oT9cØ^YeuqĘA~ؼgq#ml+S"aQዿ:taK""lF|T01IRd 7',Bm7Y*Ql0Pf 9PZQNgyq[c\}\WeJ3O4#yxՆ׀z?T_h"Clrye0HSj&V ˶qB0,c|4#62*?,bg cNS$ǛBV2Gj@n!y9^❾?c?.zJA1j4?@kΌd s4z]TdzYCG?xV|o4Lu/,ZTsv^5. _*2^^*+hrOH5BcqtA*F\jܷtļ2|/ol>o/d 8wbиrd y46">"pasJ28E +]_O|5`2f4ћc'_9g3ZkTx:s )u ! 8e% v 27UkdeAbs1nA|)P9tħ]S2~FjIyOBCmr ~8HAY6aItF҅Kۂ;5)utbɜ';r$ 6&Gdn.Pgeh'2:8=zuA RD#;گ.0fmgƶeҘ IU|f%1y[mtJWQ֐Ѱ.f? lHR@"g':&&W"Sy0הP1 nB &Ͽ>2J9Eo]玏!^NFzL1')&ʨc/ٯD!` U0^hΰ`ޙ!.c}^gdq8Z'i>K-l6>%+k ,mDD^3ċ'pu>ObT⽧BX<~³lNAF( cx]"2^1ʸ6y6SA:(PG3r{&HI13_{i4ac OF3qzc8g&1y DehBj 8)mx9D]ӗ8eOPOFJܙp1zF<yA5Yp˿ GEѣ6 OYOtuB-gJ&+~tǷߩb,Bou d95PZw|bEH^3 5i[ yJ/g-x[R>q\۴:Qj E#]ӌZ| 6AkœN@~4bXT9ώȼq7c?+"|0mYX|"ǠR@thN6mhM< =bRGkF<ƺ,$ ÿ_Q"a^˒.Pp6^CŌkt^Xզk灉.? 3]/fL?[YQN.PPtƍ WWckG5(jn (e0EZr$>5l[fI I5 ,&5f9R_7f?ɷ%^(u2geJ`l v[[쵡s12/v3v"!. kHk\Kl3c@4?/_c]3s+&Sm^c#X~ zL^qϑL$DžمQjl EyZJ'\FqqNg,qu]@;{?qNg;*nL u\(uam1\x3uk(8c xR9pj9^t 3U7y⩇0^cTGgRByt=|\?NVNas 8g,v20yke҂/{Em\(:U̫Uj[-(ڃx O|Qyn-+}Bœ;#(]{ ~Q;%|WJ@0c|˴}$}F?.rZatXbĶDˬyM!bn23%- MD'9Fi,1nQ@XQ#&*'縦$ΡA˼]px?D\w|O=竰[v*&L ;N!/Q EۍW2%;LRZ9ܿgF\2.NBY/95 S5fm 9E<'F=;! hu,,II&1nSu^Tgct1n{t <9&.'Fo_xwz13!Dg8'/'r㪙|nV'C$gOMg!PZLMleqn‚.Wr:jfq7L| h,)pGb0 )lkqz=]^ _qK?da ;h{[pP/ΐf'KL9^ð̫pܣc.yTt 7B6q|+g/W뚸yhBuiW}KxS~HXfkS~8KA6G^LQ+;@T/׫y]Sާ &N<[ :$IX=s\Xc!c@o>shN#nmYHA" e1-6C#vp18Sz_] b bͦE_Am9)]Zb ѩ5'W<fVIR !Dʺ1ȝ`zf%HqGxٝ(W;#eѱ@8o: ~ ~%`x^a[s Yn,[ Nm|PYB ˜iEo@ZèE,WQ)beq 4U,wjuuB.F]7-xu=(.X~<+SF@ƾYR,-HC[#2fg`K岑*럧:(Xf)+ 020NtB;-6ZJ+$ $gAJU0Q{'k#.32|@`@L~b̙iMxO ]gSV/~B* ;737v,ϣs l0:=ޘS%0!K̍;?~|sY^! < O޿W 'Q1EK '9.f Pp61b# x#:&C7Z}<1ْr8ցZc ޲O[l{~.;@wlf-ߎm#.6{cA|؍x9?ә:)ݠ%c'F9m}#]l'W1<{5paZEu0qL˶iLur<=>؂9%02xEcE$c_`D(S[] z/|:Tn#_ZQ޼e#U8A;XY7Go' g%ۛL˶;wO#\D> |0˫2ssܷLMx0 S9۱8n%et&8'Ӏڄ+\1`#~':yiMTrfg3h/ꯑ8bE]If Q w'K55:]cU[8LiJB2o )ʘYårM8&Mo=hfW\ kg+9ƑD5+ZIi#[aVژ-޸{7G/"E]qi_v] b\,OFqqq4]?'M:VcY pLt@8;f Z3" K˔x${6 Kya]XgPs^cƅUro;ܣ]VKJѮ-vxiٰw@xľ|HtV0V0n%lf3k >XjxcI,13qWV{%PKa{UL F 59r]Q PhQ 3&{"$YH!+(B6 z8yɜ[- iٽaO<|`Sp(:ٸJcewK^ o9n;Kc!:)`EYH5أ8CXz- qg}cn;Y:Jy2naEjc Gۙ\rduLxTO޶;71~]9FΕƝoœ »3$T-rs??*c~wXWkn<;I]6,sa79?+llAؼ`j΢pn4ߐf`TnۜJ/ ÛzL>rNmO-`+X~f̶3380ΒuBEZZNG#@nyUZ-ľߙG&ɇKD׽ >,E+lI٬ܣ$wfb gP)u)DP+[D  u =WR}6b7޶@qspS>{gASEѮ҆5`N1ČER` krv_J ªl0ٕvݐ'7B\륻xiI>Z-9 8JkX)|~~NJ 6RL"͢8/Ι/N`$ ZFm81~v7+}Vo~;o'^8҅l ޭ-,ڀ-Kʹs NJ- )Y ,ZTT!ZADcuš8k_`7ns qeznWh-kɴd) (YsX6t|6kH*om0b=n n"#!H0p M2 =q{C, ZW?6 γ3)BO׌/7G++X)b%Ob+hRM VcgEiqA`^$1QKȕV8+e9 ;r!@|cj_3shq &+ 1)ow&͘ؽ22,^ R'[ڨmcVEuU$jxB +'PJ}Bc,n,ϿeU'mfi7 cnF~+$C0C!u+]8GnqC12gjZ6+:ܢ(M.wG0*FvЗ=.1 ZV 9P`Y uT80IUp浒܄q[a!=Pb8OG'cF2"gžm Z?Kg-W،YsSU y n622\ q0ږsȶa"=Zƍ*ϣRW~jeħDK/~vib?aZW9I`c=xn֭Utσrt[ۃ!,xM_Dh̋)`0x[yZFhsb=k[z[ԂXOxSXNRZ?w@6B':OLjϒLlpP |kU. rݩcEk0<{! ZkfHU?'WϾ,=y>n 85sMAШp.35T>.%]-Fj!36x6 aZ]u)xq 578cN/jLy(Bz+ Nx}G\A}v[mã6_< -6kZ- 50b"~I*/w7?>f2c > 1Y琶&0d` _=6ٷ?7f_9!sif<*Rjk;1:r>VQ;˯}B&]DaGd9=Ԯ[tA^!1 1mx 8_ZV'PGI-]/CJW9gE'wT7r=f5ool>h~8B.8gar^c&\+Nn֖g%~~ypgŷǃLg2B'z45Atۗe w\ザ?Ɉ1XDc$N{QqQ0lxKhULB0%sv:˄j,W=1sLj;rg%n2D} GtTA6x#xfJ= 1c6B[Od㦴 %Ȣemѩ Ya< ˝ًey7_BDx 1pcȿ]}[Ol9̎vZ+,Y"Ԋ:Ÿx2o7τx#$ _Rws9C%s/v¡7 2B"Y15K m7q]qDl[ ^-wh4k'mJiB7PYoqv4]Kc-?Ecn\qxҪa<d<٢p%nH*L#K~]ZC _k3IKfQZ6f&(ˉ&\V =!TȆjRcJ\n+*\H?n-vL0yA_?iAW\Ia .۶Cv5 *;tYm9cUv "Cd|tll19cd;T=8hY9`n<"•O:*r\\^+4$F%UU $Q31 r‚إ_ŭ)5! .}VzY5Klv@"ě 9jT}~1|.zհ*X$8Kca` WUég8 XukJ$zoZk`7}JM3\MIwQK=*>_vQ:9N8NJH'㪔>lVs.$l"cL]k8 LisO>aru;,zN߄ބK&A=Bf"sK 2q^ɭ`󤈡Lրx,8OR/ol{ M:C0ȦLظ x@^rf%sȤIo-`γ|8gFBlOѰes3٨\6"wk,S%{ HʶωWyC X6&yAJ4{)1')11"sqaa+SfyG OpH{٦ȍB.Z)֐Sv<,lqIL ҶFheO4C͋zހwXZYݯmJcF-|=)s_4CeY4-kJcOŭAzh@;ϣ>1I')s()c%o˓EIo GE".FJvrtvpPas`Ń[(2NDQb.Lcp̐ƟtyfR U'hqm*9w[E,^s6NADw{N5)Ǔz*?|M,#Y,Ѭ뇍87&+sUee+">Xcpb76e/ԮpMWLrր1;zd%F8VD0;b-'kksem i'o!,z x1lkciUI=K2`l)bnX.l#w a +|K{\ZW0$e^6Ɓ 2@D77xMrϪc0e$ЈЧØsݑLE [݂o7F3;:8c" z>qVP s ꅪ'XYɤT͎0甍bx.6bmv"Ӝqr*YW]O 5 . sxB8+hWjA!@xYmȕ܈u6Fp~x27Ok9 "I@ٙ3<7Sz=`\]!ޙ"C!ǟqpX.]oĴ/aj+?fAO/%j!4Q+9Hf5Zz¸&Oܰfo&h~`ƍED^s7U ~vaUlo46ߘ93Ç7v*( ՋgǔI%ҥpOz~ܢtn>!?+5 Utث0)0&u {̪z|@)[WwCIi%Bx Z' S2_f^K#%Eš#3^{[Lth#cx;'%BKHTZ sCPTVu` _7k%br>) dZT}Ib@Fcd7d6_ekVz_+-%90Ǐϋ?.6T,K\3]@NG={P21>YQZqۘcPZGubo^( .#u,RTYДAGkP0~*ytA² Q`Z̕ XԂZ\xfP [mp=1vF=YYHF9 CEy&g&}Eշ=+k-ۖp@eZ%o6_~ci!WCW Ac JXl/̶hju9»wky7Һ'Q".kJic.UۏclY+G)!9qܚ!IUS9Yκ(IhFWLMiL aeT|dltܶ|m"2Qs0\CW@P>ٔ,7Y~eu* #r> !)2W#2z.8Ƕ6PE]z R؈1ňVq)19Gdw2@_s#_h7l!`G1 W3sbtUhFhp^o%>/ d*-kx'v֠C]C5 J"FCY Ng][/og.8YyX.gc2|}&1`ٰOBg9*) žjt-,ٖX*!  u1*[7\R=+~iъW  q NR&_L`a7L5TɞSW9HUpĢP2q~yv!.T8JY uYϧ•3NN<.Dɭ#yBTK>KzP.u\b(1Q~W,\O1 s ;.Yf=)MV.8 )uz3XgJZ qT^yŠok/=ͮǰ,} V_aTΒ;fNҾq5C7'VCFyLX9c&Ǜ@c`eq3԰YG}sl4䕜T9χc֘62%ްb^͵& mCfU9}ĵ1}q.>@U,s -BvJfdTv=*[ߏ52[Sv5`%[nj,7d2Y*m(Fj؜d4` Q:oo2& E|˝:[HC|AtT `;s6zmIf:?M+ :>'M ooo>2ʔ ]$x #c-NpEٓ]Ot&BzCNjy/f+R?-8.+i#Aq7ԑѩvg1л%°DƀZtNqMq[ub!Vv*ޔRax͑ƶyĈuʡ7XCMJ:_hGǺ ?h|wfZ\k;Թr@~dtd62xbx߱;4<[JSHeϓxD* (9hvr#qefM.u jZɹ4!._TeBӆ_kl,MMոIJ(BfX "FFذⷡ,B', &$vm*2:j59eԎF]=S65.#wc9eV$ _;}I$kV& {k' B.O{bR*o_ t\(9-$Ca« AuԢď/lAwu1 áu}5kA҄.|aY/79hDs#~GP_b{ta\m6XtN/KXՠ** @3A;VSdDkhiqQa p_IJhGat1(ƳWȥc?WO#2hFgYRlSC3Jo &̡TW4?u`em!CA!qMe(r"ؘ 04Un)O_$gW*g"yA$̕x|bLȅik>":v1L~ wjgn6|]xBCWK5D(گeʴk;P +?޸nTmDPkc-~`wTvȒff*g%[Ԯyw(--8-Ml]P:ڝKT ,9Wj̩$H/Qt8,M ւ ^p\4/l29Ea=qpЂ$+ܜŒ(&c. k,GiV.E+* ;sP7#4+0[WQ mތghS-OPo CX%l8uо|!aPFEy^6ã0wo- WyaXZgF4_X=[X6.1:}$ڙ)!8)OߩaR}4APDtÚi^NY›_ǘ8hۍZ8>z.q(-I V}q01 F:`y< Sx9`߮cM⳵ai %1+35(aY *=a]\BEJh2 LH!dv =q5g8oQ]U#g"1™s*Q3sΥ}2B w(x<~dYs)z5¾չRF 0Qk_Ł`JūD{U.r!K"`層ad޼gT b Y~!?vJm$|Mӯw͟m%^FDdY : ?W=5Dp~Q{AD60M(žoo1Vx8T=_;EFn=MF*ӂs kV׋-n1@'~;K ӎJ!rh}?VʟDpFYG'*#`̍ZI T`{ęD=w bcKCF_)]^2tniCGgwB1>qx?և5P6bhlB:yi5{=/Y?HE1yZ3b7\a\}c[^)Z91\ U|1γgE0@}MTGߨooJ/mTt9^ObH֑gYG?H)mbewǓ;yPQ ,8ZDV5 ŶV̎ upEfIv n ^+'C"FY WY5*mʏgFQHY]a߹<( FV6`~RCIDATYHx\pzF4 U9f pIu ǿ,ggAi'>2cvCtرNȭ^ҁ6Y2ojIrXBI`Lk2L '*+s(!((A 5?F%bj#Q 1X/'?Jap/,%v#ҩ9# ٖ҆7Y)d ic3M5hS¨jo~ *Vm8{'q6sEL $,THĢ<{#կ޽#g?_CJVsrt4vw_ y'=昽8({QآCd`LMb@ p✒{MCv,,T^ q5[IV'?JXGOΕkBa`k^<a : zber4\Ǔ+_8m8-q<|?0l~Gictzwq,XޕG|>'Q :z !b_6?ض ,oXOnV|ˍ켹Z hIye?bhS}L)HcC4aDG 4>~OF̾ g|'v{QBIrŭKX:,Nṃq' Pl|\u2].3s ۠f)}<n/'oo]zQݱpw Z60ʊ,F< } bVVqtQ'X o& {0H?taK`P'Y#7̫-O8߉68 z}!&l̞MN2P L5eo3B8ϗ702qH@Ҟioӿ:q`DQq10Bmыۅ00fbF_+k~؂JGIF\(g]" szsLXٴZ9[r b:(]iKb) t}HZk]9w;:\E/2]y71ژ=FMU%9CtQ:&n~ Mw܍gvØu}q a銷:(Nxn$*&Yư톱0Jer9 5q﷈F7x~aم=}KD]NT̔Zc{ ۵1>ƨKP8sNft/̒6`r Ǹ/29{f a&RRhS$X~ 72K`2zg\KbbZ>\U\DnԾ,vY S9w @ /z$v4̦҆S H^Jnh}ѻFPpAɭ-҄FڟZQkxfD'I,!cyYU8᧯ȹ~)P;Z*J{fvnO r1lcPP d6tLeBN ul6,)5?gWWu6Y"kGܒK hvakm^!y}$/TTYQ)C j7 ^k*wJNpOt4wp{>(*hsl."fێ5BU{%/?gJtCͿob#gJm|vlٖizgx%ڍn@v|#!,=qswn.E{fVu "G4 k<6 vFo^ɵ†DkaO||l ɻ0(yKg8zRa۰ ΡbdPE;sϿjdfeXFF<8ٸbRu n [K7Cusֶ;ha28r&1)S f>QYs2<8Y .GF0FjKKZe]W3籐EV"wsx!Z: &]Ћ9-ߏ;5\mh]\U8jC{'G'UPfǡ9o8uk',sv.Xg<󢎺3__o#عFRΛgGKt 3Ge82Μp]djYFkf˯w!Sk[qk0cYQ-1DXx)Dg:>jHL ,J)sf/[w7Bt&#_ #+I) o\"Ozl{be_zJ:,zB t*g^(t5k>lOaG~ >clD$Qj>  ـuj d.DTaց&wڕߎ9.Z\ߌa-oEf3x17߰ Of1Ƥ 4)cva\_ `r*Ux\7*)Zь~luut3osP $U`ZIϸ\:;1+*+nuPP(:`*aonfŋ܆0"n#R8j=2ZY1.OM olnÇQ(݄vƏ9hsRϋ{mÎ)E%ˍϞiÐĊ㳝1֐zt ߔf. +ΜɬB BږnvBiGXMcuPҒN,Ai;۾s dܻC $O_ܷ52b,r/zYO9jwԩH ~MS5@AI"8E5{Y`8HJa-aq%h.#?c$7j6PUbژs@0 ]#*? W}ǯ_]34(d%ϋGmoj*_5 ̩LAcKgE6*߲!Y)6lq NFhb5yrMe2Oo(N%KV]Iu!]׿;]z#+ear͓MvS2 &T)K*å ;G#ۊ1 X*KR'n}=5<^vfڄ#2#8za$ͺ< Io@/9`)fY\'OO3t=Qjd-9/w GsfD낼[Ce !o0/^MX1K/])ʾ;Jb2$k},V&3c䆚iŭ`iV&u~l.1E5:éD&ǸD@FeO:7*=3ű;^9SJ]lL)g> d#ډm62Nc-v khg3z0q5ݮy_ևmBo*&Z>Ri F>Qoi€yLy7q-؀ :1r-y {Wo(51:@x(~s8VrEGqV|8yUm#̨E>&ab[L77~bQ:D>1_/QD7 ެYr}\=Y$9Q\xY1,7nV O܆~r~?h(WFOԆa={ 2! 97Nx =` & xQ]3eEǠ#ݝv,["3_8H1d~z[<ǎs'_y_O2 ׃PgQIh\ižv2dd(GeLpG]<4vus bTh:VbtY~g#69yu,8ᨙgEc$f}:E[b|uIWikr;F_#9b/EXx3l?޷@Jk m6W\$-ъpei-٨ur'h9ooIx> 6a_WЬhA+ޯO <!JSQTm[ } L1"L"F@;LO nT '8 %8cy2{qnxyhx_CZ9Q([׷xw/{X1յ+ bnxq e"ז LYHW: Zn̅;" &eg@P3[@+N[J:!n$IX#*hoWNlʮyfUvrXg ZJ۝hjSZ]mnWxG~F%naʘi01qnDp e*.33+ot>?+G)ii9cM&{BDw~8|YTo9)q|-4ʳ| AļXБ(C$۷?Ƞ!q-MǿkeQ5:ף`&491&p9Vw֥eYFVE?`,B{sQ3NNKSz c>sǪI]}̱.Fkub 9@S=Fgz[c$,^'2]V^9rGfNH.bٔzO:v´ m%=hMyGBJp .: IyZ{G4!ZpA1{mp} E6T3su%=20r۞o? [Z_<k/ШO'gY*I<[Y؝n;{:aI7Ms^h\5f 2!F };t=lv'ȓ+"'lOD"aۙ0{û|Pz%uU+'g\~60BKz8Z&NjfۍuXrm6& [h$V9qdo4>, f.mb4ոƠ[}hOb[yr*=,ZYi}`AbDŻ@p$8+KL1y 4?qcoqgNn05پ,\&?**`f-G1-9ʊus|K!{7=YR8:a sZ.tLۆMU0/k -F5T:aZʺq`Υzhh0CQZR$kbp,e}pB0t~ mxosAqߖǣ_/Ro!)ЦawpMYi]&bw Hp]uLnɽ0@YPdi<3O~C72׃dvyEC6(6LB2ݿ:t=eKXh.m>BɎ2 ?EBu~]0Z."^P,.2d98199vR a9qoXNƮ1:+>$JSj/)gC r)WhMѾDӊFO~%bEق C1&'i- u ܨ|wN6nkc`{zI5MYefqɽ9}C!4Rw3DԨ _`ggFٺ  3fk}}'8yYT 5e6Ǒ2NwW7,ƓΌ -gB/8_YLI;nxuSCH9fB":OĬFfqKGɓt ab]_}ǴJ jfTg"cN*:.Rx k5Z,{Fǁd)ox|S=I%ਥ]Q8pдtlMDk1jЬbհ82s}5FP[9)g%e*4$x|gTkjͼKZb c=C/llNSi(+`hĠ[{M L!4^Y׀ଧ!2X-Lɥ^2v`:_Qؼ ް'mnGeG;!劷~Z2Y?k5&~ ""㬜4`8JcEH+°aV6҇QN*P,4- :D&NʠK=Xk>>? ƪ# ~58nknA3L7q سL"lXZ4jZnz?8 D?jJUJdP]|>2hf]' LKBwC(3nc`<'[J+mWD7ZI,Ɓ>цL8=p M\7g˜hӚ$0qh1EP!L}giNL6)wڞ0}pNyy]0Z3҉NѭQ7;hcr;bB͂іةr+Cu9S'gM@+X^/rPi7׃l5?;tR+Y=_0@.6ڳmRR%n$Ah2f"I+T? eFO3_~pbũd\cWG=e~w]P!Pb1[yf1/`VIIkӏA\VF8Q2[ΰ̱s> b2GoZ\8n5G-8g|Ҵ-+%xp2>T;:1zbkm[87aZS1jLtRНasՌ2ͻe E ct|l"hig}[k` ň59 1DiCZ5~G=T KKT, RتE>;6ޯ?^,oizRJc!Goye;VCXcdU_#A).C!kt=]w x8:h-wR*F ["Y?]y|g4eQsV8K%11#Dhs{(=~ab9grU05{X ,RP'}FoӍЬkk MCf*%8s KƄITy F<[4Go đKʼn;0%PCk5jB5-% nz26Cf*n[ͱ'縸s18ՉLrjDk2mEޭxk1'5> D"k4Ŷ-HygY:RT#,\y: :KzQuVjF qyK ^rEcmR1j#}&n,gʤs`~jd {Sh4t|T:{j7T|Iһ#:Efi\{qJo;urf~dȣ4 =)Xk9&KAtCiCms pu, N V)Ot냆!U!I ?2Ok}wpOn ,͖o_8?a^O>~(!]ЮxTT{1BerdrEDхK0 i5G7s') aedL%h$v[#aI2rh,aB A{u]z^G/ ? m&ܱ<=.pY'33J11%GM|3(t޶oX7 Q4 r>XV])~`M෯d0yP‘*]1\5xAtB=5e Gb,W4H.-[,\}e90#Bu{a8Pr59R-騴Zɪs2ݢ"o#SVY¼U*&QFNc;Fy\[s*zjM:d`0Z @ ҤʺX~~xy ' 5+E;aHP܎+6P\7DOPڣaEk5Pc93޹ƍ 9[!aeT;_(MxqCWZћKD[[y6(Vq} wX-x&S"LTe!'9q"|8P`PR͐`q/w:Gn jaxO_U&GИ/~˲D^ 3ROhXM`:|501(c(jqk (%岮%]@a M62%L X[=9Rqtd(RkYl(h4az34w3Vo-7+p,6x՚ *LֱGH HBdAo}QKFf/u\=ztIR(΁2 ea&!/Є;;Q =aWG eP]8r>0F0.[@{p6 i.t# c8 ^a#4Xy[ dtfppP9ZҁVPP+]cu!דfo:{~',O/u|JsE[l\T$Rj@"X\O5[k}2)&+R\׈W ?K0BfO3TEy4eZm`AkAI,ay3Cw\x'YPbmkZDiD%cViBާ+?Ϳr`Ax GNا,]'3F#mD 7NӅ( W<$Zn(8ufŃvTձc2Ba:P#!dq֑%c/ FgZ*11¹IaA1U^(g!\VHdZfiϺ1-ohRJϭT ":úDr Z:h .~C !"4uEr'.`fj]qqt@M5,z0mf&Y z\iN$j7z%Rf[:LӳGޥ~h/ i Y.cM}< Bzrdp#Dlѱ,`" Pi8^X. hLFN0R5h[c{j֡8zm? @zzEمm QB~$tUN"Ew @gwf0i'T1bXU^0dZ&?)2@~'Lbl54U;j$ATdH{oz:|rp!C2S*ʬ`L* W Xh)p$%3YqJ-`cR)i {{?u;Yiw+ NPypB,1+')(\ykk=1ӽݹ,)t*Z#"EV ԮfIB"4Jt˜1#DS𯁘|I5Ơ+Z-FSP t %n$x`pQ1ؽ@e'x˦Tev+Eh#dU;>?+'97uS)U ) *^ٰ%QduQ ]}׬Cd$Jï`6?AጧHFyKoJ{l0 v釦iDőGmdSW#?8Ɖ/:D@ux8e;#d+R;Yub{?)&wyL_pZ?-'Z`؜#KYGOBS/&1&BRSvf^ ̅$ye(Bk1:{+&s̈́ FpH#,+MZa kޱ(S|%沢 ABAtŌ5(8m#k( n!fpNTع1b'; 8㰮b2w6L*9OS!U 'D;IfC;/ryih1}R :M 5;FW++rotzj,?Ebs ȏFa 6/"aQ_yTyY܆ :;S[ۺiN u8FO$P+Y}4hVZɜb9(XK2 *iлoYђT^C4x"vhJkjkKۺ]#jh@R&.h<-C1fuӾ)58΂֠R~X?GgY4J9d.o/)>3 hټCH- D~NT+/O;Nw}-z.$mow.a+T=81RfeIE?;2Ea}2@|-eoJc2}8'F:z[IH=׊F%)͡bq^eQ, !r>>yA!iPu' G#q51 's<yaDXbQչ }pQ̌ m A!zy\X476G%Z qaЇq;B>}4B%>5zp6h?s̲J*;!QJ?i`-8= y.4=cdW 8w_ N;`%SCȒ &F ibkEuwו;n|u+t\9+&!j1ڄGZyy~GqfrR @N;Ëg" ;Bβmk)h(7e+{ۺ8:i|J)@u4gXoU"%am gO}^^C7>jjL|`:f(3>>pJذxmʺnTMyt7PlyDzsm,QVcǻ)bG'ZǙ3`u[FVPAs끓inءP-1 +\y8Qkg?,ѱK`T+&1xR+|;Z,ON:++.>+9/T=ڲ.ӹ|Y6\Pĸq]N{ um+auPby™:601DE2(#cWдa3E94Si՛&<[VUQ^^9JA;cP8c^[ İXE)biZx d x\Vb9 Jw3WqN[AV*F*2UL7,ˆOxSez)R/tm*SL܏5 1?}[t胦x|ۍGJDe.Ԙht4JIq3{Urp\Qt7ʱe,z(5L9,ڱB9n4;HKh۝?Z' @S#>izanZgΟv ZوwLqJ~ܹhK AaQ %2_FwT5Hgy]jkV:Qn E=2CY^^Oqj*`-{4-.T976עr}l6PK7~?P?Sv~<\./$S\ו7?}ީr-.~ѕv~Лo||?1_,q 2K~1RpffJg)_DuޔF jeThSM*\+!q}YE /1}xgBOB-1Q3ef6rYiMc!^eQu^mh۹l QxlpX#z>'ɯyhV VwEGDjÏuR{%IAM{į3ȚL,M*C9gyvaKXP>[8Ơv&G g/Dj-F x|DiuaytLJTf?y>ێKDƜӖx'z_t,2EzgBە&L֟ot@~0=#]Xʲ}?R)lv.)4_d'8NpQBwNMyg4ú8 [4m=:)߅uY̅)DeZJdUk#ƭ^V1g ݒzE`BAZ3c61H놾55Ec`pIzR6x$^"z{:fBOp74uN]5T f3Qrk醗dE[SӃ:~?齲 nx]QD42|oX, g~PF/uvEK~Ύc :5RRC_k F+TpZQAY=GC. g VZk >gT x(4q1,287U+.A1ǑH@T34 DQњ".+q Z-<D8׎rK;M4)^B2:Ou (CǑ,q_YVc!ExyrO&5:jS4sƃD*%?*N-9Ԋ \>h9 #F6oiA%e pZ8#Ny~ r)TP]vk~n< hQ4ъ]cp|$Rs;wJ5ƍh휲[6Ѷ[maZѻFS`uszm/6O ޮ NV׫0C1,Eyâ> 6EՆߎCQ[Í☊eAjvPK!ź,\^9o|I9sZ^/dlB5-) 'csqҁC%tEXtdate:create2017-11-10T19:54:58+01:00%tEXtdate:modify2012-10-25T18:05:08+02:00V'IENDB`pychess-1.0.0/boards/aluminium_l.png0000644000175000017500000005032013353143212016526 0ustar varunvarunPNG  IHDR^gAMA a cHRMz&u0`:pQ<rPLTEʿ߿ʿʿ굵ꪪʿʿԿuP-&bKGD% pHYs  tIME O vpAgO1IDATxE#dXE DT~Ʊs9TUM2pbnnhMӼӺ}^[o뺵21i>۴e9y>e]6mqr,~/Gy]۴Ѷ|˶KueWG?2;eɟi=jcZZ~-z-=+_ |mos1מ?=H>d]}k۾|š7kk/v#osgdxy #{)FgeYmX,7?Oۊq{۱=Msgs>ցokXٟygoK=Fj~kLŚ]lYkY3yu 4ښǀ֮Jzˌx4,[XV}>~ɻyO~1Z-{t:Ͼ??+c[v(d}Ow>'1[ }_9tH3+uN fcQނϪ~y'N΃;'lߧB>& 5l置7oG;xXwM9 QKAzc3ѶX!)?䃮c7G9S:9Y<<8ߺ[_wbc̟C5)YZ3G'eb|׼ŋl=:c.K~cK΋ 8xH|c(q.Z?0؟fܒe眍|Mgebu5|dw枅bY<;r9'+Ṅ;™y{y;Oe-5+E:fP74gop{<.qℏkAy80j>tE0#\֟Nٹ/2FY]vcA-ANvاDrĚ㕳zEL`NύwYԑoy,o\Ξv|c {Z_YX˲+:wqI8myXFQMbq`ћGO?ɲfQ'_-bLK%ߞЄoy͋Ƅ0„N9Y8>~'wcYG#AY:蔓A4gA09d^$H9y?C)& ollgΖΤy}&28㓼A_1,T"Jv$;'~=L)r & &e.ouز SN{và@~}x#<͔3)o<6iƂxYr|IE>*O9Ix@8+yz!fyX:Y9`K95\?apY{G|2{snD7$0K4WǙ u,l#n y>dm xm֓@vJ 9QuDf1pX ܪȜΦ䕧ooe! rfU`Ml=L(oWV!W'4q l0)܄!/m"LpB9<3P,1xB3ngFL4̙3ܸkooּUg |bMuV1_}s% |㠰̟BJe䓁ܾz@ODEҧ,A(8V\d;iٟfQwϙ|;LmOL85AJ^-ЬI{kV g%#5$ª޲pgd_xV"ί%>1꜍Bş7u_iE9^b$aP/L"teTKV"kJ2D"97Ͳ/V)ȔdYϧ[_]8&\ fj,FZ b6r,NޒSQXldN;)/+GC/uT% `*ypa;d~ޟ;NlZ[SӀHDTMY yj|2agʰ[b@šRc$-ӽ%KOv]qSm+y>F΅!ZǤco;}DNնrF`t"Z>ed1X""Ka4ϫQڙBCs 4Ĉ7/[i&BV4gם2Dn+ir7(NWצ: @YɱeuņVPc-|᭤~ߟ,ABd+}6'OL QC0n,TD=f5A:Cf>f5 C":Q t$1%{#esABU (U\ߐ#>"rs,e X/ ;VpRE$:Rc/MF''[UŷroxוotѨ>J#Ӕ q)X#NE,"Qj>> uM ='& IgtT 酭qV!{ě>df+4 G>aY>sP=dh}q3f #M#%OPS{_e%@ _)HoI1K漦޿{u-ʇl:_lnjV?N]c{i qWZY+P xZAPنbM` ,;i1x1DVZ4 W_cm{!æq=nmYnv.4esv"t {*#67ĆjU@ 2IGrbiRno7ec^h?̀A[D7Ř ߂QU4a\-Ƕ_@xo"}>G=w+Jx];mA6JZu3s#҂^ xwr'8j˝ |x 86,y5m3痝Y@z3Ytd3G6{ ?@ غ[]$w9)JDЭ%1d?V?FzHtɞR/h$'@Ɯ֟|#o}691@%th_r,FK lJ e{:RF;-?q=.V,Hj9E^>A{XFm[>ʜH8UJX95*VtfOd $\ݥdkb"~ ¬a![~, )t@v 4`ȩfA7oO?emv)W\$Uٶ?ç8lɧJm e7tSkZռO9+ȉ6 xq|fBGXk̎1 L rW͎[i#`Mv屲n+G(I*c/7{Tbm/N˃qzYs7~j!ۀe,~a<O?IL ,J_`z6@z',xl/i. OHf vqWPE [Y!W< `XyDK`8~xhjjXZZ au>: ' ( 3 ZXq`iZ(A%];@kI! D6x?Y{lNk?_f E!^4Ѯu'N iٰ=HnzP (U#ܺX!dGYJ=yNCC{@;!6Y>=v9WvrH{/sn>4\ Lvuhש:1Fߍn0?Im;m4] '=7&ouΕl %欉BD_1>9Fc/V6_Mq`[H/Op/^P&F˦ִr2:?E!>m]k>;ˆc#Jz&&$9(>H:lḮs8=s:,uŴ֬U]|މD`<~__?`3T<?#`}(OS$9|,ؑ6b0Bl5Ks ?Ka2ۛo[+Mh3 sY]/Q;q)4Y 3 D΅9gGnp)@-ڪOX ;|$铴?HTy/!BN8:W  ,*RA ̙7$>M]t&&r. 3!KQ8RT #Uy vx(E3/=9ȧfȃ7=9I Wl{KVJ~ͱmcZ6?I >&'kh7url8M0>aDJKMdQ*o%Z`ätk>EA.!u/~Ki:NxCBUe{Mҋa1˅JU@k5o)Oӛ7ʑLʢϘ 3r!D҇KVcc`/ ӏW&-і+EE*5V9yE3,g ™<@,,_qcO50BdXztqB-̚J_L|1!Vm< #^!i;?[$rXLyI51Ş!ȇ'ٜ'BMB8P5`wτB weSg>}bd:7犳x8JwxO*y#),瀆2WSk&FJĥ`+ҷc,膼kI03 `b m -[H-vɮ?N-k/-F~"I=A ( c>l t朤C;DAlbN5E|4j?V-ȚBx.,p]75`bڣ8R³ 3ֺ綾hiU0R''ei!y/&>g TSP ϫ9!fY 2 w ;4cL_76$D\828oP&;^o򙻕&y3ѽɢG=v-+F{h> mŀIE8C1֭ 3c7,HfA^>9yLKj3Q}؃Ɉ)qsO-։bH0􍚟>"9-6IyJEbg (n sdvy|8R-xq3 ׉9ѮS@G6EwqT 4,ժ֓tОL͖5r0 AQeHg9ݎ{q)8I.YPKmKiU{ȋIl%NYR^d#ɟ*R9't8?}]eV yN>}!:o`GT .x'Ž7Ҿ Sw%#R5&jĞIa'2E1cg}~kҝMaP4bT-%JǦA7f DS6]s6ôUiM&G]42fsy R?"C3r&,΃]&ܫOā]t 2W9YoDםm(y5X="ŭu۲<4o[^腃Ex!thLO<$w$a />m":g$BE; !㾟z~V%Em\00amf޼~SyZ| [ v `X>XmAS̲ɝl|TPӥ4_E_XAڣX\Fhi!S+(Fzh 5]gD!GiǯkAWRkL]bْj(QSJ{x'ܬ=Vr cyuY;UMx7P.0h|JnUQeţXC0Q@Ha[gϽ7^?@lE OyNrgh~C@kz ճhV'#K?)rSzc0h{olObc՟$WR,lC0DcVŹJqASRgDb$YQD5o[&y?fO&VbBvpF\{,$۲9 K #P^qV!E*q7!13%m`5}C=q(!y}q6YE LE3_A>ͯ8$/?=tv2?Q,dմaI!{zQg9f$+V:@ó, 6 *Gczt (Ѿ) qgG}=#jIo\oD r[;/#$0cC. Խ#t8&p?s ¯D`1[S[If:m/SHG4F=qQ5`K@]< ٴ\sO4V-ox${LpORc|Uj 쒴wpHJI bud{[9?}mޑi#&96֗иmj 0i7 zj5 K?Cn0 "!9crb^ ;~Y킜 PO/}4iCGEʿ۟D*/[0ݞUtΦ) .ɮQoX҂rҟʗK_ŀܔ v|06J0QU,IrM;^ѵIpfR_r5_Zc8%aKmQ\?FgO,IV[َM: i=9Ja@[LYuwЁy. Q~`7Ah|ijjm_K(BG"=IYSMdBBMW B8C`fmN>~BG<UzR}PSTf]a$9ۥppz~+8ⶳQb' 3Ocω D/m 5>\0y^.H"530#!R-3'FS}voxZw WiKQlC =nKd QePQcɜ? sAdQ0Řa#- uW%uCތ d;̌UolֱصUJM_9S]EęJyq,mg$Bdb%٪V\{)e)01AD^Tc~L\' ,?3]g0V "H^7cX`+ys<d:Px*}) { DcW5߬u~0hcF .F媐'M\t-39ub YAzq|I9NY4Ke_}&>zܩ!nZS voQ~$5v$;q:J2r,Aӝd$ߴ Vw1gOz-8zyXhΆm*G*σh^Eާ,`=Y\X[R $͙Ĕmp(z͒0DzaONs 3䷘Y;gn~I]ɌqRS8iKo?bb ؘ<msGE&Ĉufjt:X{rT}"}g_H/VwLű,9Jp^ Œ;D I,3ߏxT8?>HW(4'0E%3:? ŴC͒:L~ߖch2iXwÒszL~sL /67 t/8.$5$I5}wD:k򐞚6RlEwNA&"O٦/[q@$EO(4lրkFCDD~eOHi{l{i?@ƀy $K=Lx= %׫{]S$$НAVh%C!qKE`%@;U-1sww WPotoXUnslA!2`y5v{=hQ ͼ<<2]w5RT~ 2) fép&N-ˋ#UoA]Rmy\4vYǚ'6p(:W?zfkXͿEK.cKǔ|Қw)}@(|׿sNuJ|jh֑C[n>FRo2Z8<&( oϸhtϼåNJ7}Hb:tiʷYaj`HTڻ\l+2%ZHsdL*8J9o~6aVݫl/q?`OG)#`ZqjPmGWsQVR0Bd<*]hCh4yy4w^U?IvM <7:D3t@M}΄jS-4޴gZGMI1Z$`ur2'vp]ε_)NZD+L]\Jr@ҧ)efc88*Q;a8X@*;:DQt b!a5AVbx8 HXE=jS!C[=}+ﴶݤMFk'H  %wuAqEiҳ$f)ԝƐ4siHgtV[};D"u$cߤQ\dz]  "/c.iRz wg/8J`nluMc;tQa`bd_p az5Nx:Txqp{zک ;>U.mCyq_5%w䉏貪sTgu"1E S`Y‹x2{1v:Yܩ ¶K^-<&Z&[qn Ce¶y+&'z=zp2{O8  jDkDy-]Nشn[-ba o ˸ޭ源WBt/leHCHojrƊ٬K=kSM2OF K}-4 g+0I3:KY[m!NZ.W$"XPF߆W@sxʛ5o ѷt o j^jJ43bxr=)R95-ZHɵropS*u vUǫmi*pC:.Tw-SarKVTi73+G4U-Ex۾񂋓=y(Ŗ]ڠ+.P\\G:6gWgֺƩ璒g)\6cvI{eDieV G߳'Z3Mm>)iXy@O$?ϿM)y< _TN U8m_N>@j9":n}O$3tP 3q J-J0d)Cm C`k2=5W> ,9y{dvkB _&\6tK$4$[9X"gEq*. v$ &|h䷮:Uԍ(3 MUpf#bCl8JҤShe@C]+!4)BL5s)`"w )0Nө~5 נp7E_D9Ŋֳ Z%*Y9qJ|i4\>ƛRw(Y7pX*̥ aq&FMtz*)Jr~HZIez|k)9V6Igh.d;a'u|s#P356$06LT^3fWaKrP(LkR,f^ %S{MNN-Q7t5T73~tHW!Mq.b{ՋAMW)e{s_ s[?o6tIȓH|qae-~y "ݮ[ٕ4l cIw!"9RH\N_dHbtJ| o5R<3iKTB輦ɀ9Ʒ!"ɺEJ!\p(y%4PƻR0,mZu!|$2zڊ{6M<!,OU'H.Qu\stQ <~t5$5L7VJ;%eݿd'%5QD; {iy[dܓr8M T,@F8xa|-`0vdjf}>AOeFyGnU?+vn0 (u[Q7LJW}@Oz( 4b5.C$\(g贙~Y7HX^ځ ulu[Hg!F] QQcs{7z3_%k b]h4kG]Tjx[,%Fwkuo:ԭ1[ZFuKRyz17:[ y.Hj)Eǫ[ǐ;*VgLxPBf$ U.OC D~SϘ y5cϵX׋8jeHJ,{-S;\+/.U@:v^J6AAOq ^*n&BMF{U xQخn c^~RׯwZ|* ݺgQÖ-wzW\5xշII7V+&GnM^ru_OFjaiC,eE5BȾUq{=0bu=B=v7/n`*_ً-ԇ_#*-^ B_iIҾ>F-ؘ^Lh3zrn6$=8w9g4~e::g WHI z w+jˊxm0BRl,IF;g.w*D$HY@ĀscL^½Ս{\?O\>8|{i$9;ARZN7{T"޾BR6sŦ-;ĩ<ԽvKDJֹs z\0wV'ȫo7UyݺUC r*vlW/ }brɸ`:ե5&>viύxer)97u-3ҀaAb"p? G]VE(.f=S.TsZ .eTUyMybyPxZVn#w w!HMs5q)A~]1uLG/ 6/BJ,\MذWHXj䝟,׷͢iK<@-$|Kh=>oмA<W7 @_UZoҊd' 4dHϫj L#.v-_; y:8UIOe09ʛ&$xY;}O.-V)9CoHU;Er_w [2.%ۚDR"&D2JWk z}%Fqc?[wv10>9Vt@܍S^ QVC\T(b,] !z:rH2_.O,12nXH=4ZqI& *B漪\}gŢǨSk(>*~V~U {n**z3 "4 'f=@af#8pL_ĎmT$|n wt2`!Ϳ"/2̥eԤ_x˵֪teո["K8$ `_߻{/}woDPu---& a_j/I|Hְv ?9nUWRf~GF[ +oml-quVcJºwQhjwW-uu]U=@_&/oNZ(u K}'luЮ:_;ԢB8 ׫ y_6r}eCp\n8|^XˆƵZ#<2[ 6/[{1Mu @Uaq ވ{x]i&F~yQC뺾oxT-Nm6gI d@"v|xX\@S=(=ey^Kg [{2^rmZeoPG69*.*6RAYK.'l`| izANR Frnr^|t ٛO+l5IUohF߽J4kb0вO 2֯C\m9ӓLUI?'ˉ$?$ڽt?Dl(,JZ͒q+ & 1N/FڗҒ*~bK/R?r?qW{}|(*[ێ喺}ihMd7na Ub$. \^ 0`!89 c?cn/Tm#?!U_ȱ_fKu9co5DJY[;2snE'3^7f}짋P(07]6$_12]i])#-mxmadNs&xf&=o7֍"{֔\T i `0Vث%!WJϠߊ?z_;?TXzrzlK Dd'_xF0y`n\>+JvgF+ކNg$v--=ks(CTodpBӳ&j**{+OLɫlֽٍ['zYd- `m,[~o9 aK/b\mdb0l/fDM%tEXtdate:create2017-11-10T19:54:58+01:00%tEXtdate:modify2007-06-13T13:14:31+02:00mqIENDB`pychess-1.0.0/boards/marble_l.png0000644000175000017500000003551113353143212015775 0ustar varunvarunPNG  IHDR^gAMA a cHRMz&u0`:pQ<PLTEԿ߿ʵԵ߿ʿʵʪԵʪʪԿԿԿԵԿ߿Կʿߵ߿ʟԵ꿪Եʵʪ߿ԪߵԪԪߵԵbKGD*SԞ pHYs  tIME w vpAg9IDATx}} dp: ٬5ZI#{o׻""[L{/G3#tK/\j_?>J/|5o^ߔTlonɖo~x1/z6KɬK}a|4<:wc\mGcҬUa?4} ʿώ);™on6¨xuûZ-=;?j|!XEǘ,IK:O1V[81\[{Jz>s>K+[/&[v̹dLƮT?p08}ǟfw? fxJkܗIwsc^\ᆍNJ?dPá)=[GuqCI`>Nb3Qvnn}wBcS{8k!1HIcEAE|sE+ȣx՜D+)у lƛ1'2&Q54v9ن_ǿ0?<i$Vvi %x,ccS VLjaoX{Kqș3(8Ɠ\[\evj\LX{qs~zUPQ`ӱ4ewL{LJ$4Vu][0G 0<;qpyx~X Bc"kK {+AzF:mbLzBʌ\s|(bɅF&׷o`Gy Z - @Y!Q INe+ASS4X&^jI_߿iS#fCd Bn?|Foί'i烱 4ϝhk_설${D%ݰRI2XeZ"uکI bթ.T쩟9T)Tw;Ƨ !sY9g9AAo #6!P1ˣl,#Bw5"P#Llr6Wc>g&1cS[X,r,J?{<" kOƠ%] d:L(% Pe:&x6X] 2-$/*(I<8S: Ʒ,+V*qEIaZ#H i'$ɶM ['`="Uts)QgqB m: \ A8XEQ,>oZ)kBrk ,XH7/&mȻ !sxi!)ύ;aȾan$΅,eܰ};MЬVq.bSk!ڢtY":3-m 0N\Ral8n0B58>Ҕ i|ڦZq ӠE`f<)t D9m{ے!%n0/,; (d bSp(YhxZlTC7^+.JI$JqDe P,cSپѰ"˷gNh5ÍW.$L^bJ V,RNC _]322EίrE)[CE*6gGgݡZLr$6M!+d/bOl(t-Gݦ*q$ZhPՐBtM \m0{C? j|rmwD#ʷiykl{WL1PNYr1`mv ֯dP81}?!_ OJ'Dȣ4$1: T˒055QM 'BBgC %'i 9p 7O. o'F(ۋK\VQs6+6?(ɎRFq ' c5yPX1bN۹/:,٪Ԁpz͕h79xiRh3hplL&DLu"9!8r&1ݛ:ruB^آ(srGTC8 V LE.ٶC(֡܂4y~'L7:]myUk/Sn>N>f%!Ux#WMJ iK!fT 9L/s-]?,n]n!ߜ^N^.s'X4ekǷ xiTq'?_DP.֎6ۯ"7?jvƸ3\T"`!c2! daVBb[-_kN8жC)Y3?׿s\-+RnmY@`AN7x#_#|%n2g8Qװ\Ϡ|Ϊ?Aڃj ͒!9cJm?0Vۣ3et-{ Y> p8!pt!f}$q8X I}FP<8& Fb)4%]Oچ(g 4y]bRDW)KC]RD!]EXtصuLʏt^H5gm8OLt"!+=(,OlÈΧ߯Y#ni9Nnl5RD_jr3W9 VcG`*m;Y3s5ݟuxقq$mg<L4B'a;)!\Bşr~G,)֔Q9lAa1kdEH372 ha` YA= a ^R:pY̭]pLripڮg&,[)L`K|!K&,L1y~yyeS ?O'C=&y?;Vũܦ4VRQ*WBey\oxS^l؀: ~ӁO /%GdVM^mعnNfTpu:4ہ( R=%)m´k'BІo{4C'O>PGPBGS6_a;5Gm;9*DgLwi 4'^ӥJ%4!r[ 8G%;u"dybL_m_w j0ƞﶍ 5ᠿopKqly5L\G0!7AIOnJŻAD:gaJ4X5Nwjm!ӆ|F(b2l!D4gxf{{0+c򀚼B)N)= 63# {`[99hiAKdGNxý9V¿N5/ b.u` gxgLbKL_>Z}bhFgT`k[OK*)mSB77T=uOY +dxy G3QPṵ.IH ӦL rod΃M12#?9(Q0I:p(u7cGƛeDA-]}]U1+`;ó<UYj[-y}b1m0UDŽ6I&csc2)6 )އ?B5#=N%@?$!-+@S#[@MnO/D9Ezn RKu|sFq/B$]^p!&syWe.‹"hUM*A3,C~R]lIShL/a₆!pǩBhtڦ~d9$N1Ae/i##n#$X*Ci/ۑ /zQ,0''ԛ[[LE3ū#4C 5琼ɷBɧ`gݗw_rVcUȻMZٲi[3{?İ-%FJEYx$W뜒wiF "PmMzo>o'}5}MH~Qiʐ.t2TZjSAKcoT6f>TTU6 >X2PK }Tݚ5Lz,^fy!ZS4WJH@77$ Ǫ>Bc&ȳ1S z U+qmRY7YҵBie $"v#-/oʾ4`Wqq+vű( ܖgc.i/0'{VY~^$SKG [إs:U_Ϗf*4/8> `>TZ?Ĭ6WmVLLrTr\;YrR77eIJr"q"ySoAl"xA~;몟la ѡҀTa_]$)[x%FآI24_|{AE0'5eT{}Zig~meR45\g ʇȂ"7{yZsƜ~WQ{~YMIJŸ,p! 【,#B3APbQ@6:ԶPqhȊR=T[U]nߑg/׆64։TYӴ2)#be%Sgӝiyjy4Y2 0=+7+Ѭj(8BH  )^IN/y44DI.oh 9&Gn rD-J&Z&kh2!} pDy/NN E1h0`A^;Bz0NOMF61晾䨚`j@N ؍@-9]Nl[}Կ]!`  6W良)y`q}{@y=E(`{CpjXjZCufoDHr'©FԫDZHO|ؔ^qUY H4=Bj_,2 Gmשּׁ N`La1-FiӂTwWޅ1e|# 8O:~]oÎ24>̼n)(43R|WL23BfV'#g"S!gBڪ˽̈T >,.\Ƅ E5i}'ID SIH}SEF̖ =UpO\^aW"~U%9 y ӮqGE#Yl%t|HL/wwJ񆅜gʎk$dhAu{):Ffs礟7h"!1HmE:" L@\̑aK C9V(Ң|(t Ԗ>Ҋq!@q MiAo1/A.!YQW-UUB+v.yO+dh̡p'AXĸiΚR*g1xv?q/< ]$?/ѸĝKGJf+rg 24ݾ )*=1([2*VZaeln`?JdόXh^c/cq )>袈4I8 "Cy"4"&74'2eI-@_|3d=;X`, e!C31oQ9m/= nzK0r%PPJr/UqTl2mtW.ir,q"C#> yr†\`g4Mo PH2)Fz x9 U|Bdi]Md Z hvzqW)8DJU/,Bp7_НަZd'(cء:ͅ1E2Pv7[JRzc2YL*!N#׻bB"K`zBPRD~DY!Oɀc#$7dh ]Ԍ? h?֜8=2Sq bߘD*.EE)$^=#vLaFT]4a_üHКKySUlT@r|S%ĵn'S='Ŋʼ+ 塒@3& {*D^ KNw My?˔s,ϯ'=d)=;m'& Jf{m?. d(mMP { af!e`'58e- Oa3_h (-\4Bifg})hMЬ&%,]}y4^G&q&F]M{ߚ?RTX }b_sh<f;#,(\#̺ztEVR eShil5^m?N|W:G QTXs"99p<+WEҔ`Q;\;S58 /"@~̏vNiOՑQ88ĕQf8g>Gq*5b ʄfUCYDliBm!"<7&pJFE/+Pc4)&\lm !7?޷n^ ]x, ㇻ 2GؒC@` uq/_ 3*s]Sb:3d;pJ xy-eM}_*:C W~ABa ֣?>_C02%FDF )ޮ/J^&@&[v v*ʪ*lZ(6,לX  22u+HK;*hrk RN\jg$)Uy*S;2t`bi>ϩ>ohsYMŕ3Rz3lв5蘗!TU/׉ {~B&ri2ܩ~jC(1< Jp9Ar>B| *kbiz;4v ]G"OìL.I;pY>+yK~"3b =pc܃Jf\C?6oR5n3swL.J֩$8[ ިK\1 %@Ad-PCQ1I,'Y 2WݒO̧cݧ5δ@[4xִؖtuJ tC<ԗh|}[eQ)P!<0Pz&*qUuFR=#ۊgo"8fɎ U*[+duIT@ `6'^W+N6qCXjnO{K]r0)օt(NyuhiFnWЦojf@jly-a7$34۳cYiB+o?]⡹4?m/T}_VXҪm,%*du]h3a>2и^[ NTu>E>_ ÁzTuP|%R|&YKR~%3vcuL*]w/9VOV{37j$Lu3U;B[ay- gEBSYk3 񨚑BedXUy]hs:-fٲn;ݜ\.X{ԥ_NcVEl/BJ{-AʵXxr%[/.E-R.)Jj@x$<İ''Jèٯmr2@qm]re(QEx~MjUjeDdfR}ޭQHu"^.\^7 MOe6]|d)}^3tq*W Ӗ:ϴMDiҴ\*XQCHڧE>4_Bc-.2eM$Xs {m32bn2; +ބ|%@.?eoh h|!_OެN})iaU!24- |T{/*l\BG++.? k\KOYS1:И \+~<pmcK+<vVAq ?姪5y2FYsi!]R [{$uUY>Igwۭ"fZ?:Ee\Vj<ݗ3ϪjP"$!er5f%<͐n޿u^G[pzbW-^D2 qi9;wQuΝ J,Z2wzPtCxQ} C_a-dkEB4<2cN'M,/? Y!5O$T+ YM\VD dWF -ň2w2x?Kq&O&a-{ { ώͥK.E i!˚PUȂ(ajv4eĒR꼼SFLذd+VtָԖ0?b!TX,r;w/LO'/?udhc7Wn]~xiTm(C}82΋s$k,BHW)ZyH^e\1/?ա*o^wW<_2k/`uh#}v|}{4rQ*Nw}* ;p+<4vRO,A5eN; gPx>zhފCL,a\~J+/IN9UXl~i8ڭ&"e) |;}Ɯl-_^^GaS!2@N\_~zuƦZ٫ɓlP E9P}XqmtSQNukj)/ qCJq?YFVϺ,pʻBTO 4yX QuO }q ]i|ePt[- cyW6M.O8)^~N־9WQ[x -*i3tS_Q-ӌtSp==-$vXR-erqlZ`;yxu giz)nwPk7M8[d1Ƽe<;d<:;C`k:l4=w6""xV4OD ;ƒ E3k2 CJrnAQ<@*v[7&i9_}=YuD@D }a<}4^&;&y)qw!n}΢/?;=!je:=hYؘoU:q vP C ^.u^~j-((pH|ex u _o %Zs-Hj-lB7;W;;$בPPR/M47jdR1 Cyi[Ru~aQ!gA T8{F;.?N_H6/?MW6Ύ UmV8躴*]8t\s\~ @pY}dՀ[-9 o42G@^nGF4[[( &|`Zʼn 2L@J,EAKB\BǼnq)om8y} teY#lIm7C:zOUܖ[ g,,~Q{h^@XS+g2+_-z|}W\(GV~hP@idmlA%>uHHf{kdNQ{3mxm:(.;vq/L闟^p w+C\ <:Y6Uꇜ1sWTre9tb::8Do-֒ti= }3[l_vQt)#ú $Css}IҤu"%#L)glˬr;,oU)(1i2 "ChWWdr$3BmxNY*&rt׳OuӔS} +() _t|YE-&ԢKTtet+Niq'>ȕ0=~>5x@UMi!dOp,|@_;Yf :2^)Iե9N>;r>OaZTw\D8#/ے' GD7?Qm΋3PQjv7&X|Hm.Z<=lJ2C@\?5iЁ%tEXtdate:create2017-11-10T19:54:58+01:00%tEXtdate:modify2007-06-13T13:14:31+02:00mqIENDB`pychess-1.0.0/boards/sand_d.png0000644000175000017500000004022513353143212015446 0ustar varunvarunPNG  IHDR^gAMA a cHRMz&u0`:pQ<d'ZwY;hPv5}Nx&<O:m,<ɹOe&s5'~xWp5y4Vۉ9[jX1g|IV~osՇ*qex`3 0 [pϏ<|0lx<Ӝ'9n/g<88h;sÎ{OrcwВ3mqIe$\oLh8ϟŐ/x~W慇L->ye=eī5zFPh,mBĭK1Gp~qu6sʼnWOUuVmdhLq-7~9x_f\b,Y879N>mgfXѾv&0\g{}:v W]rEq;p9:,dor'Gϝ0y}},fyԼِdb!~g0=ӟ ;Y1lHmࠥ2~Bᇟq/t(Q.c_7ݛ4s],B3i>7úl`1A8𚻼6qÃ1һw-D3\7mXk7:bx.ϝ8W\ovf ۋ ͎=vB:s3p<4ha\\ |LCS hNg Z]2ُ%sR'xi_cwF OCkE; <>2xq `c6a0\9 4oIxGb<r-{"7vb!c~h.0sLb@pf0o--ŕX؏g^88,Yfx1:2ݻqg({w? ~8&w-ŶđiN48 /B^tpaIWhß84FKw8zϱ.jΈ+JAr.hgiGB8a/0v=2瓊Ol8hzCv PϛoH,9?|,6 3?\Ve7LҐLMxP0^Eh: Ϋa:sA<׆:\Ќ1^kw31wZ5.O:Jbq</r5+E۟Vu,]A5=Z((&6r5ac`lF3 vLrئmHm H+7`5&EIM!GǺVu1è=\J229}ЖV E>E1yǞk2l& 58c}q$Xt>=6&At'Q?T$"ylW{4xjI/g"0\`#pcF|ۄg43H wpo:LU|J*nJ&ɟ!`:eq9<\ 䓎op@e1oFHd6F 8c^ m?-ywyH1%7^1xA_Z%S1<ԅ?+KchFvnQ< 'QaMvY . ?p;/G_Go.G[l0S1̝8nrfG`A"dMEB_Y΃`:8(A((mBl" =dLV/ ՛dSAXhk㚴BXv@"/ a9J0 h$AS؀_y?^\ABQ~I%۸*)D,5Ó[Tf+Q3BOPp?65\GsaWt)vq':_c-;E˝fKj  O Rxd ۣu&H~L9˩_q'bƦל}31i 7xGR[xr_fV80a_hg!22P]?b ΄f"HvƥK=v*Q槯eHM0-i67ÎoNnO L: 'QFΆ >n b:).Etj.+/\8WX0S d|{=wcV4A-2eٜ%(>!E s4k iV:EGqvMQ0YX?`op bƧn&ݕוP^ ^c9Ix؝m"8ٜCD|vIDܝ&Ps\qveH$nz)8oB]`ݔnʂ<{?Ύ=MԪ}Ge /: |o64(D(--Pcy @k6e2vx"hM3(׻!ُh]qZL Kn{ZɖK^qrnR,HyzX?g)y<3x6άxR' (5.y[j~fr=?|f}=@ZM{0p"li-lp`c|}AҒ%Ad.*ΟÙWdꔂ!aq VŕۦSHLb'0`Ҝ irF3G3@:<2xiAUF)J@u!]Lӕ$K7'PeτQژ$e'$fYI~iA \b1,8ucV{eؔd*[ W# 3;>rmZ+21޹ Gӂ?NփL!'7Cډ}`S@ԷO%H '5 ٤A/1 {m2)0(w(Alʣbqrmr%;J ThuA.4yvθbVc%U^Avi`px;9K;;?M!B(qUgJRDUao1#]"E\9цIX#%{O&1}r39( :󔳭F*t4jp.ݜTMZ5o'|A1т2t$"x +:?"nC0̓3o`MB$+~IUu昝E=v܉7y^]V-_+BI/0$0E<HLS z~FeUtC %pݥ`"U&i7k 5WYk޹%љn_q3 yU 0#9`j܆^X+ZM=\`3VO!f1KιC &"/oPooxKL(aGwX5 `lR2kdA4$R~!] O4J*:@&)^XAy;WxnsґV˜A)G  k<B tVg"A ЧtW7O{yj?iyQqaX e-p.d^mJuI $: xJAc?B4,_߸n|YnX" ؾI"p:E,y+$ ,}a_T☲*-sa 4쿹CcZ ^4I镳D)q@Ĵ}n|sJ8z᱌!IZZ svnUCk&U\;-xRMݤrVp0H~jk /y + jOF>Ṡ݂{0H"r ~ Pp> 5 Xc_ Q'*_ _bWf97@\:* n2.sQCF19HifWe= b6/{abxv)RQbIli 0^qe%TZGe% 3Fq~݃]Eפ Ƥ%xjd*>FЀi%R_CNb rF|+""BGD1E( b[ Y)n07c~-O2=A3DflR6< hA*qɸj#+*a3GA!K8I@1`E*܅dIG2=K>n,Rު #t,$|AmXKU*_XLgL 폩X7oS+Xȣz#Q9+7N/!V衵mK|wsH4+r0)zZo1i@ #=@R4 @ctu[w20dQUQ}clAps)e.d5_S |> @Y؋G*t<r"\0k+"0wٮc2HDUKŸݧ5 hˇ 'g@«,d]pS&mت: c%_&Z՜BR)Y𠓚M{PGPm_SC t]=7B\3 ޲F1N~*טjjbyAnYӁhf )g_'\] . TOH2mݙ'y(|,هð˼Ke! (5d$i:R| qڍi88țc<Ĉ) !AHZeYq5f: ge:GƴDu% (uuORQdXTRT.)/!u'(@ 5A$\+/,(p}@ntD9E[$MVlNJ2&C\_Y۸SED} 6b\X5A+cXCX!3\ć l%%hQEi;+s$s6ҫ1WweL]kȝIט[ha`Ieѡ$k^0[^HOYo% *M)$Sr5IQL,&$rP'IT\`mB|XFܔ*l.*BF~*y(\Em|ab91+)|M%}o:_D]D+B+К$OWңXUk g`^%#g xca B8hլ^Ryb$0S2vs!RCn>V 1hG fN#KN¦v9dNv(r=r%C~e&*Ӹ800׼lRbJZґP@kԿ%ofmE.E*sSHcLmlTSb/WcBi20MpMLJ݋~}!cm0u Cl,\Co `~PI K]ss5pC29A~]i;gfYF֔0{pWVtJ$lb@LyW9SWojTj1tJ4ٙlnUy2N_2m}E~(CkEvS<~.u5~-P9q4BeQŗ[N :Xk/[nB}VT\_,x7q2`ރA(ZK/ *7V:)y?,X*ZߤF.5iW 2ҳJka9_ -5>75u*1PqH\c(K#FUWTvr)D=\TVtZ$kT*T Ty6 qj5a \\m(N\ƘJ`8n ӛdnӾ=\Лd{,! 7TJ1?_!x [zP(Q bm͙{L 1̀!#Z,_ncq %4O?cC |4V݀QƔ\L[ߡxi\,8e%fhOhIe.CLI0X~24|,K#[#8Ъ]c#F~sfE2|CBUreXu ٻJ *+ֈi]*?4@rƕYEl<^J@i c]`l`Âw<o|v']JmSR9ϲ/Tx5xJu24ԏؓ/n 2")oQ6"@jC,a[X ô@"qKE .1ց 0bHگ3l5tGT1H6"%%;V&hsT̮m`1Atj'exT3?&]G =;L QZu}rF/%qjh2qKP.)eP})ȗ%FL[P"}kGNشB-l`Ҽw/ 3P5ƛEbH@$me(br63eޓs 2\U2s~ dސz:{6PDTb P:&9(8q(;~mDi%(bk9^4-S,Z jg,ލ.Z|Tnt,v_mkϗbI!*TlZ&.mxY_n^z.y?m:0Ly%Im!4:-ŨVvM2Z(i ^^'Ī`Z962nE+:UJuʠ}3:le 1 )_=uG{u2kz`Kg_b'SsxACh'Ux#7T0$'aDN&+t Qc+905c7U[zIc3aϜ(EW\?+krpq2J!H>8ZQ ;>jޜN)ک>nҾ]/PKRhL.b)BM)t:b0BR+$D5|SNT"FhM63_5i^'_ 9=sۗ+ʦz2G1$2Շs\㬻|.Ů짣(OadUz̪ߪPGywʤ()1k(˶W[KF渗ɂU@,'|9_֨ŞCɺ`,s U}X]逯үbͿk2#,EePT y~R7&̎)(hEЈJ0_ ԇO!N㪝+Ӱ Y/e3"mV]Hw1eZuk񻷺yYLND53{E\=~̲~T, [TnF <@E^閡/sPU˂XS"y^\AUzKPJ+ z'RK-'vBTJp8׏c8Vv!$sSO, 4 x,7tn; uF ԽT|2'C@ 9gs꿥?]1$f <ݻnry]j9xeb 1qy~yf ƒ1d*HRf)\i;(#Bpffbδ%anLp:Qy bl a0/뤦h_3Y4͹Muwm bX(,a5Rs cwun~4 3̔ش zyxQI$͠DwuNֻ jZÀ 0ݨQeHU!S4 t9AP;MjiY%n[U6,T?8Tΐ̀4:QZEM6v(!X pX?gp0N~pEnŮI+ō0E65^HWj)c9r&myeJf+%DFݘ'pC,kvgK$,Lb.ZC X ?2>7`Kz9v!~j,pzRw>2EQȶ TN^|_+(ˍH ?miY֘s%;iU9ej}s!{S`clE"SzRh繁KtwnG`4Ҽ',f3ػgJ.#kUp$U[ Si%@Q$ޘ b?v/L N;`rckBa0 EN/3PS=z?}lsw?LoZA(^O&evE34Ք(׼.5/b Z8Lj[% H__W®JnV_ՋSB@EI)QiE ''W(.L_kr㾹Queftz[~[蚝Y=Xn+6yH~>^\vR(hZE+lNPYgXu67%${HaLb# l]9vR $  ;V<)ů*#*'RSM.':zK^, tO+1wߛZ<NZRmHP WZ9(B7ykG4[JnЋ.*%Dc)4_Bjy<~uJ y5|2Yㅰa`I><D.)Մ6:uTd|:"@n!_|#:ȪVE3kc2p 1ݙ#Fe].'nlH{X`{9}FxM}M3xͧPjL2@ǹ}-*BוO:S].Ndc_6z9z:tR-(%P0ѥD'kh0el7A 7f y;UF#~qR2b隺л\ *ZMFy~) hfڛAѫ|BZYk8cRTp=_ݹt_ugc Vg .Cv1"M=&Ur*Y>w$ 1wW1=?ɳP ZRezKBӲ]*6ҔSR:idv gIGC%djNd#VIC2('dJ0L+ _験2}SX =2yg 0%N\Mٍ`oDXawV6'2k5k!i_釆3čl!bTe(:Q8Cq9긖$n^ժvIadF,+c*/Fh\p|iŪ3sg-Gy_ٖ ,26Xz/LJk:Hj ;@'Ⱥv,\<:C.KRwΗv ;_WׁahJC}JN\7j?Rq _hC6=3c}x; 4#!x>i%R~ADzsU'#v2,”WojxѼx*))nbJ2- T>>(UG~qVشT]fq>i4>RX(ԜkcFdX47Y;|%IjdԠ ݼmN$[r8|HJ J=vj]O(ך$`/PWccIU'D}k׾,?ôkNl[_ٟ,|CG:TJivOߛclykH%NIŒdPtv5g§u'j@NGu tQ +zu11r>Ԫ-sҹm<3=fݝ NLmvRU@ȣ@29w׹27ke;R )1 ru4D:bgHkU-_QEGv2 s~;uNA `<7. yѐ^&usݷH-;mwRMB#)]#6t8M(!shAd/6Ppv7Ki<$͉زP"Ϋ-xcmݛ?B6T/c@rj+sDì^e6%}۬}r(>t efsKw9엥L]@aJWYC*DUd ^4oB}: F8jyUK T-_CgR :nE* g#Ҏ|VUg),q/uU~pX3%@s%bQ5i^p*a0ݫrtUTh= n~( *=a'\^cT PlvͳmDJX\3p;9Z( ;uf *K[ i/va"²ouUЍ/ʈ)[Ep:(3SSg_5tr3U/nJӋZ^7w3 Ydl-; aEDDžbcIo5"I9Y 4RDn*ˆ%bONEQ0wVN%nAHU>P|+ ?a5k$|e0Ѳ\ݳ>)ƕ;%y6-.7<áA%;45y2x#!m&0z+,R~l2wxS:duhZ|Gܖ vcAu$"2IÅKB_Dߒ1(JNƹl<tVM۞cTKY͵"bQ@T:.SECUPmiclˏ4Whtb$p "uǎA"\=VRt@(ZڿDkx 2bfMeGS3t6g7[Zj'W}|(训>kDw88a!;@Vu\ws.^8ҊrSon}$E[H%vGrnܴeu1l覮RI-!Yu>WVu%m3j3@ol-ۈ$fCa4UF@B.Ad1>GX_^~^h[53u*l/Ҫ @QӶks5NѾfx~pMjcWh"3bg&ł%6!x%Dz67)"u;;/?Ec+s#ei4\T$ܳH4EYפ6F5c<ԁ5T9_RЉۜZn)7&coˬؾ5L<ʂa yطU;:{MAwgPn3c fNC1/dkv% D&j-hRy^tlsл=伺0CmPՕ& x DIݗ`Oe. c [[_?3SJxSZװQ:_M\ ^Cn[}bf!wC<-S͟BK=f;QWB8D:}t[Q᜔vpsV-> `>b: U1QZ3y[aY-U)F\CRQժLj:84ݚ3`s⾜C =*de5pJv}HaL[af/#oY=VeLEW.KųP~` ] xkNJgXs'&W֣ =8f]M.ר'ܩǗDǜWCaO+sL'3_cv".S1XTO Yu@9AJTMe )>]SZ$Y"apsg+&_Bu`?IhYl8%tEXtdate:create2017-11-10T19:54:58+01:00%tEXtdate:modify2007-06-13T13:14:31+02:00mqIENDB`pychess-1.0.0/boards/cherry_l.png0000644000175000017500000017613313353143212016035 0ustar varunvarunPNG  IHDRXgAMA a cHRMz&u0`:pQ<bKGD pHYs  tIME A ] vpAgIDATxTˮuI- 3sk%z ѠM/@B x7JĻqF쵦/_֜~16.h4 ʄh4<]F Bce 0 X@U+@WP < {mx8Ѝ.? c#<0ƀ9; U\̂nTF 86<gB @U pwk H@ffndGg׀[*DaXWen?Yϙ>S\0lE4r;w7bwd6 n0dDXbsLȿ0>anh34N ?Un#{漐aV0sTc^0pws ݉9*pT5bL+0n D0ТsN / s W<.ިnX5Vn JP*p'hCð;̅e`a(- pR Jo (+T%: s.CFv 4x͙0>6Xo0DeCiY/xƮ< ~g!sY0 wT:{`pt;`o U s nʂՂs"k/n30u憵cF#38֍1"c:.}cMgTn Ftk97(sA0Aߍ1[]LT!31PX8 ti  €0o4Y>xuT7 y/Pm0sd&f<)0KT݉1yU5F0 4 toV,gD+ 0BQ@;` t 5xw.t7<&n|?px9~O?f:eVTѼ!LTvvsd;\7| ެ0XnD`hx U{-DӪBxß[0Mx ݵNQ"u5  yNޔXKv[@ {/+1{^Y*C{oD|Ptvn\Lh s ӱ T+30{< CFwox&]p+dԩ]@O fc ",*"& ȽP~k7{aՅaVم*;68^;_dS#0_@ncyx]35'roXzÑ]2-Рu-܌Hu݅s}/[** fSl>xX`熫(5Ϯ>l]=FDOtL^ w!X^6ĵBph{px$na^CV2GxxV=~sӠ=k2ƀF4y3 K&ѥ^p0bp GW, 0ds5Mz{ԏ@Uݫx"0^ U ZKhX-J/BpC`ӆ <-/6ZnIkp89QY؛0֌]p\H#ҶF≻&KJ؇ 0za3hC# eajnI6s\ps=t%h0j.#.ޅ@}%BA@$Ɲ ,*S,taXQs3TmwIIBAJ} `D 1.1C#+A_Q̱@{z\10x9\Z P8vnD\o> 4+VIXmkDM5|#LS4w5g-l60Rȕe(oT! ]ac˙~/xom"bUœ9Mn/9jʹKwJpś.1-pp@L @E"6Ĝ#]b S5*$Ƅ*zi sbWcI6WἄW6*z^|\%ԣ hKT46iQ@Ç71<1]Ȼ1 މ܉1?ˮqFЈ{cwЖ1s9Nt&n nDxa 2 lẦ3'k`ϼY9 |sNt8XwD<%`6~yp1=ixz-@30N6N, ^gpQV޸ ZxBn°D Xs: NĜF%_s.B@<,]:+`t<G aDa+p:HLATS܀ A IDo\݄eax́O݂7vBcQ ΃;82Y`eu875̃7?5[%B%o δXLPgƔhM>PI8]Z7&j項Ϊw7$\-9e K"6؎̷pza eS3so~Nq}wׄ9$bunR#|@ՈK/&ʕv/  8uG ; I9#nZu`6Ε,y$@m!  ]{o1Q1bu"U^ E> yU;c\sKp kzw~  d=㺰R\Ek q́;o8c`w!0y]_g&Zn(X 5 U0/w ͻ`YhXYo>#0!<$p1;BU#t1QT952;Va`/Bn1\,>stB ktGh>Fh41533To&=wh&0O{Tb0ޘi;v7j-trP3\%@gDIMM>Xf/ ]4p8[,JWn/0b<ľ K QoM*<(_OӾl "g Dz': ]?*Dq!iu!="x|1'ƁdTh4eyXV/tnXi<v'pk \l Qg4b4^\>> x2k`pw,6Qrt+egBu>C>K+B>9P˰79KG6l(ej->0 !=amqgf u:1|3"B/p)`{[DAXe 5#g9݋oi |ARmMH1'WbSe"՝IcY 9~`p 5* o8SLSꬷ.d'FP&6c/%ϐɋ(꘱NgZ(Cظ=l'T-P8Ybw{pjruDKj\ |y̷ A5zަ[eL#\G*Y{W%kZGOn>1 V3$Q'!@'"&͢[t9&ῄǹ  w;YJ&V}F u:89r7rՍ[#ť8$vǘ'<2Ej$'L0v",Xwu"7r-d#c}n έa4R!&C%Aj,]'Uu~H}Zp?o d4t_)D1sԋ߳_ry.r3r9ymCͩ毹X%Ȳ|& Ӱu[ ¿p~LD\("W@0ɛ1Č-~؋s%*km|ut[{nJFJ|e Q‡d#{ Ę=x:&ڀُC\7q]k`8-`aL h>#e`JG׍y,8Ll;!]syk=F>tbѲ:80# 6CWkoַEBav\_\Os@{=latsScfR.4g4> ? @Dz /iq8PZ?z-8%Fא/\0IϬsAnAi-̊d8(LeKפw"NTs7` 9ԇzD8ڵψY#" /[7gW 7qbQ*oT^^Xkz{NMr/a\+SW_a吡,:4 tc°s5U?H`C,5ف{܋ntpxojȍM`-c6DmjP:=gm}hȈB89Lm$5%ѩ;9SacMѝp4!X~xf*EqP(]ݞr6YD"&JZ938MMb;* ό(DaGm}ð`yEDYB;HP?=c\$Beݨf..zN.r;10joF @BĹ. rMkPl`ƌ k%^dE [:p]M.O;_wF#<G{NA 0K2Gpsu#7AH+aNxEp +դ6B#%vW;.Tnd5vB޹px.16w5N 65eȺޙ.sEnǮ[(QcF z`x5h9/0I9 ՠb(P0fۄ 2 6Ң4-€o]m1CB!Jy0nCCD:.Ū&9Ar;rzme"X&kPJ`ohy Arrm9ZDSܢ9Ldb4||`y Q󩲔=S-5FcP7Tw0uJȝ t\ 3ݱ u,n l## Qisc~3ǝkbx!0xy!ːbVXC2To?(XsvBN)`P<1 ~S9M0^ ARcݿM}Ն"kڐ-aLS˩3_r 9+4npH1`ZzQ ֆi4O6G B= 4,q(.k!M78 ʌQrZd?DC4 nMļ$Rp$#Eâmp%TkX|466 Fk bj5[|+9QTGބ]Nn(ML7^ץpc_xd=c!]c#egR⥽{̌i+ȼ*1tS]㥛5xkF/*q@&Ua/R;|^c /F,~K .kQ{YI@ 7 O , n̫1Ύ*R"Z{kFô!x` * Zt"Xw|Rs$o7cꝵ篿pfU#g}ßCZr4ՆT+(zpmD:|[< }ğ5шasϜ''Jg[ى1X:{#\Q'u dagm}nt>U߻܅ɖ6fpe:_~V7>/RoWF7ŗ2R&:BanjP%H%h Rz=sG S% +&@2[ ňꢬ@̊*z7Rjf2 ;g,"apYKfo9 Ԯa½9hhdڐff0tҢ\1>Tf֦Wq!_&{&yMDvc1yt&Wb|ʞg\=2-24ܟyQ_:@ڬBa )wcH|ֽქi.'.|}v3ĺx r/71s2ERua栳[jZx]êD cZo׼0 hr i.LIZ;KE1LM7'D'}L}0?;o* yԭWv\CVܯf@"5Lc7KpD+7Ht+LU3[eq}iB ƫ8_raAd /#OX>j"B5DgF6ٯ |nxpgC=}<_Mb8j^nfq ^B4fO^؀s3`A/CTyh TKº DM$PsJsVLh[QӇNdr桄7f$<:EH0Ik9–ܷ6`w'[NSͺqF_v=n[Ůz<`24' ϛd2` \"N6)|T}{J&gZ27}V*R+O AǕD),],Y8`30s'Ğ|)g64aԟY6K/LHL\3T LҜT!cH{Wv+0$˜{8P(ݰtbTeR2 j:R~|I9 у«c@#P: )wSȽDs-T9aYrp*O;V{90諴n/A:zfOsHJ4% +t|acYD] 'кS`M` pKG1ByV@8 |r"/ц\74릋H5&v&7عJI؇ǘjsЬ"l\_[뛽۾?7@\?"R-&s]IƇ0ý6^s`2 5y'z/nQjF@4ks4ȶ]onN߄s4K! - ܟ7yn`HNYGafH<±1$k p^x`2pW2e-Z]Cdnj&9o!O %Xl0)-06r4g;3Ɛث#!5v&(<]ZynI3k?eX#I1 tp-w:+ 7hc>/NtpQ`#4+"0N6@)rRp"mBrVg;WSnsmM`z( )GRʍK0Àc\`9hQdj0/ lVܯu9H{uTU x]g&>7 ѷ,^l N.RI 2u/RQ=!'eYVmX m7g*_? u=LDNUx}I9(xQ9I qA.{˱õVq{=O7kp{]"KD#E I۵>28@h`j9])@԰mKi7VpRQ8-5h^ܢ+@90bR7_K}aspqyaa_k2u|ԉN5ygmz1=y{恝sU| [~Q8rR^jv$ C\/J1g4_6`oy\ׅ\@oD1]Wx33 'c erJ8. O#"݋Y1v.d57YLݍz9_mu:f~z$#u GR|i|7x]5ʻIFDWwj7{pE.QqJdm9z,n lLK>250+7Q2V!ʽ8n~nH4{)wX)[⼆{Wc_P_\SZ%9qf77"?߸^H;8$z(! Gc~`I+?D rtn|]4 ):us X0q\x>_\s$ſVDAyd ;$Q5:r~9kм] tŃѠBc*?7eG49>Їc.JNk.|G6oE}f+>Y[2KD `K*F4x{\yNJ; *Lkٻ.G=  jPQeQz97м^k%P q |PT%8ڸCY;K*BȀ/2 sHȔ5 !dnL^ - 7{c  q3܂<&S-D8@AS ݨ񁆅p!pyMNu R "JIyJgpwu̲4&$"B2ln&,޺f| W8ʠc> Щ2xU㩾˜# [dpx'iŌl d;ae$Fⴓߍ#eLGUzLi{raZ uiڀ"Lo n$]"C/>+%wzp"F`"΂2 ͡w=8 *+0B(j]ɜ>)-Bv79ENJP;wѴx$&AYX.(z͋br͋@1uF Xv) cY-Onsa"-,Nd[ŹW,UMP11V{Cn/bN*o9[ Ǽ&Vvɜ'a 5Ǖc*,%K='$4Az fǝ|a$f ^n/6@˭T,f-zY0fbG`~az5e-]8.`%ð>7 Ig8ʠ pXo)bor@ L |Fn9@r +9izWϝ19%߫.Ĉؼ@dJVNse B Sb &]Kqxꎐ%Q1~v#(u+cx]2F]ۥJGDmXycVF8Y%3ZlrQ~la:ȃq y Ns.ƨɅP`r$mF{] ijިmTsHuq9Pr蔋 p--rp(Æ44mƜxnT5|+Kf Lr-Rx6@ї|&eh(ùj}n$0 d,=UށʪF7RWkE^T*m.aqqag>& A(rzgGϤ+ϴv|N9ZrYNyw+KЁtG֜HZ˰U (XRT07|)wDޜ@$^&-KC"ڛ%UUMF4":{m\ f KqXg䛵cf=Hӈ6iyԎϝ0l9%c/Ed >ՁiࡄF6RBsGko 5w yDp 4"jysK# sG *ỉ2Ɲl`/+`@c#l5@HV7 YԸc^  j9źh38dÚYl:I%`q7n! @0$6v5aM+as<X2x%c6g?F9߷aj-<r>6,O {!=ph\jn^q rJ.Id?QX̚L`?h"<{tỲs!A5h u1ʍଉ% aפ 8^U3H0tiͫyYn}QưѼqZVHc6IԜF²9y۾S{'0C:CLɃ0|]}$\'Uҳ\9FfWl8ax?b QR `l-7W0o3t7d5x!-Mi4㈖ -:٨naݑDrWcቜaMU";7̹DŽ*q?'n&" '{[zcv(.P$'j@7͵Lժ:n&#a 'Qa@l ]hrIHisg l9ts] H )1ɧxīE =ƑT$bX@-θ\vJCaiSOnBQQ!&7Փ|p{',7י3&,7qs/5\҇eYf8Ʀ4>Y?k6,~ 㪊Lt~EpQnXmqSkWc7u*.Z(. ֌dhMfم;٨7eprR^+Vr\֩#BC2tVԫ^S^ b>K9B/P E+tNU8RD݆A⚙ὕ`H%AYY62L 'tLP M `eܤݎe5NCX`擰aYN)AB^JAX]譔W#]-k4yt)ڂ0VS  [ooT&h>s&,>Am4B Rbm_P⇫d!s .t e@N#Fsz3~}dIJA1|4@X?iӀTypsc!."qt0E`xaP.LzkFb#2.ú?R79zycWc|KyFnj& &څo'1q?"+ =iQ6^@ lk7ҝ ?xl`(`'`LRM2 co>Y&=vŎӶ!"ƤZmvَ{ccNnO ߘf e92g|4`A_h'ɪ V€ޛN;72|Ld F.99#n|je9/DgPKW5< n:d h¹dbjv Ð #F `pCl|L J4UN9gXh;<3IB)@wY.!MeNrGx[21K_!4Otx-p0.Mh1ZfxRR+Ti~A ޅ]j9t&16Y*2lxy+O't wڹdh,7Vi+:5e#慓NjZ*Sdɣ0MT:%n8 w̱0{HxyQ=Rxj}_A!sb㚽134x^Q0kQ6 kD_^?tza[Þ`@яԢqj".}:J/> fQ떞b8%!љf4aX{k&+ FKyAxs 8r”x>)͕KU+,X'#  :%pxbš&(B9=6 V6G}$/Y֛&=fdfW7J,c /RuKX֩=͋>[{߾w 1 KN@.dMBcj}yP~Ȃ(:S/ ~S^Ѡ&xDM:A#bK4UM3a;QYKSQOE9s7 X%faDogp/sJByƋFpGdC&k,ش6|t3A KYb( 3 ? VICl18Ѐ'7 neN@xYGҭC}qgIQج[L̞Hlv0-dneq.p$tu%CTqؗxnXnYqgݰ)n^vs.3 z<. ItHY?o8ĺa|^n^u)c(6Y<7;7\iwxJ:/0ċi щDὀ2t>냕4Ci14%E^Y1!Zw6r2ӈbK&Ġc` pt,w 6mi^nE~?,PjN pKi n<{ln*ӧ2?Ӻ+| ev)"SAwNv[Y݉1 >p B , ڐ|х x)I/97O6K_-:OoiS]ڒѤHY7kslHFS4 mrd@Z`?ɊDbWhjiJ XxJ qܰ,{P55DGc+0D j\XM\Tˍ;_M6w~Q6o\_r_E݉_2^_} fFxdD )w%rp"}pYXfed]t ½.dPGj>o(.eHq̀\yp1hK>s84)@#P+wB& 3b;_/tӧ`cn;,XQ/_+щ{k G7690;ҖH; 3NSdHgZpũfv$ x/Y lcxSOx #' { ١D;WD\عƝk{ @ ºÝu/z S j;^O"LCD}9wzӒ Z<) g^p/a\gBtaLlfk֍]-zPHdL @{qɭP5$6sG[N/$";^meT+cH#"̦-*F]{ETHN|@Q&m.ynBfkNd.+"sg# )Oq^W`ݥe(,1Vseɻ4(2c#.o/?ĀaD2hBG|=VpoC\4[e̹dˢݲN\sI"Ma1 l[0f%5󱧁9ޟ+lOe 6 ?x1 ?LL oIXG1X=hZ`.cZ\qso*܊˙lrx.rvqvb% +LJS!.tO W5V&H;ֱs+PO|s $ZǙ skhFՅmMTeXjjZ>eP&M6:X kѢiao2ߋ|k|J ن@BDF8Y0 b{9il;"_S!xoN ! "G,S`;8>&TFTFGUb‘"jaM=hh #: |!C,rV%ҟ*raR&mb)q4=`(KF6Q/B4s ѭ'b 9 t>FɈt_?qF9qcdxs3 p)ʙ_kʢ_w G=C:$/Y/.܎B<*. ^AU$ IM io"&'l 5 l5H| f   0q+h6^0G[IlPln'_*0g5ЍqЌMf8fJXR㎠f[<ކkH> F! a]ѲX7oǠecg`'0L?n91LKFKNJ&Н6%~R97 y+Qqb,wB~vu[=Tg8-ܔNU1 l\#0cI… ?N7FtpIӋ6G 1 ^8F``#&Y+BKC[Ή$ 5;o (0qx42L7У#2A5^> ?_W&) ͺm)U4 .P^iNUq *CO< F!S7/gzW3EZ̀k0cJ]tE#Z< z&΍ p"C :~a c\ 5TԑN\4wbD5A-75 ."^G'kNfIƣ20.)fPML5e$9 )σHJv}]T~a KM>O ra $*LdOƓvJ6Mۼ-'R&^Y/ȇ R>Ư4n ;LX6u2wK"%{`]s.AͮK^l&oEfEMʓ+LHqІQ%rk fu6#z??a1k| | &{ Xšu]M#j̋l:r\WpuK8ܟS=k(JQ`WKKU_6K bM53M~REKG ds2INDo-EU]@8y 55 uaLj3PmL6iy m[zwn(F%w ӵli Q&T}JȮ>C|q/zNe1ẐXo0K6Ki(u" _&gP+(cQ_ps8~HpcElqj|i `ḋ,27( ĂgKѕPb.w&kN"1Nw^t YN"!d&MdZrX̥ OʊwG=@_Yn_uz5%xMϬQ4MLbŶe  È~W?Y8Z+A(9s)bbw4"QXN P&*4 B$d7U{`rgZ7)PxqGaF'[X3Qͱs[bi°}<DEf^k A] ?7&9&UcHhA qNIn_'T"Qz}G>QX.* ybV1;%4Bdz,<k+Fa-dX3R"\Musp $FH9?$`oiЌ|F>=B$ok->`SFc gS2)L"zO_xģsm*M+AwťOY$?Acfrz]t:Mϟ|sd )JL =D0sUq 7)IJl e"QcӦ8 t@ j+ cz|VYN%f 7ᑘ쿘%zOCo΂R!748 R&XMhZ|%GGՈOr xDNO'L.>d,|eg.oM5Llr'%l܋_v=f |D ݸb<.Iw){\PX3&e#PI>kOv3 Dj_c`p"A Tòd@Sn'뚚!ފjPz"Fmlu퀥~|j!7kF'oz6]"~s7TŽ-ݕpMO B{?L4a ӠM o&"RmN&0GĘw ,:-݆dD$1G1d !;@FaK tp'>GMԎoun0wcPAS = kqNƒSxXm 0ih71(QyUaA!͌^%y!,AkP, &"91iTJdP#΃/bΟښ)r\ K `m-=:_(fB%h4-d o1m%Hwo!3d2Keȼ l'Wy!Lٖ[4^3l)ʐFw;5 ފ LϦ4qhJ]8zk'#2sQ2ZBЃ6hbP !".? %-Eߍښ6s~U?R0.?) ޼؋<6>+ߎI7Ѧ4w|½?c ^X!IދIEt Ξ]ү^iDV RRUNug^k$q>BEddB.F2-Cz.c2SBš[ZԵt%C15n`.וL-̆9C1ݔh.;1UXn7|@  &ɛS*5n^ۀ(ɣfI4`Q׾Qc`z Jn݀/a;7~vI@Iי >1ڝʁW@Vu7V1]-P |}/zs]s!c/Կ3Yk$_Ϻj3R|"S o˛sIE'tfϑf͡B foP|e<)XN@Dctw6 7 KRC<|^}j.^L&]EsO\VX+fٔ$Ksf?d"sF3eSd%xQV1mG,n|^D!1KTc^7EfJRcb$@Y#v }l>狖n26$u'\/|>epv>Wd5_N~WXu13GdANݜ||MLjp[QX\q(7@߼ytbsә( wG]io-aFk&)D>M(HwK~WE À%?K/P43v 30l1}` 4E LYul+0ը"hbUJrk&3Hrk)_]_ Yl$$kn @"+n.3cF{&P7}N,8pñ  ˀ28<5S{ ;JJ`́1^?w7X.W 1|rK5ygj\hPpC؂E A_CYhuT i:tSTf`L|%36NGVɶ!lsgn'19owMQԹ7lӰJýUDoJ`KޗAorp`M:5/;#J6@^Or $z62iSI)b"l<~ IЀ\7{1x b\3yda7oВSϜ7pD9H}&cw΍ y<_<2?r '!ht~#1mfa2[F<8>͇ZݕG$Mx5~jD84Zj\ 'Q-TF]tJ6sQᏒnoX)} m$f~>4c{,(M0^7Qʹ !їG9=bs'¦+(Loij"'3i (9c:FA1m+[J=HTnn<+׀0ܫTi/*o o"jX4pH|ݛeUdG8.U|>0̴vP ~6k}ݧpڹZ7.`4+DV[y C_ >CJphKO3Gi wx|r)PEzS(f݅T>34SUG}<TY1d0c7RN5gCbwnČFo8FƼ^(7?F (,| ̔YE SV7rƿHM]H.T@Jv1wd};ut#kLٿC66'Lr%uGp'M'O)"<4;T-TkM%,HYrtɲ ÍNV q Gp>#mX 0t]>V 27I}+i%佟j-6?'q5]N:\ 6$Ƚ3>%y%$B>|t"\`C*ᮯV `Wy3.*yk^LMtexmMK9u0tb&cpx?'+%˩1ک2Z,E8}}5p]_O^vD0n`¤a$^C/I): X X0G ai`Te(6צ;9LoM"p\'$Ar6r䣻80M%y͇ðױ͑)xt]/ LdΞpyOhivl6f9ԥI2#ɷCD*}i} nl7Q>1"AEZ{5/U2dx$ t{M+"0q~9&&cbGADi3.4- +$G]E!2DHZ.`r̆k;A |MۓCc@-T 7(TRnx#!PPIKAwS3=ޚ4[!mo|_miFMũ9,X,u !s?5^ooᓽoҕ&CdpT r =$V)I)6~=s kVhJ/{)2 Oaltٸ^C7H ٹ ,*M;cEč2 y vF諅_Ě}cF!JS4V`B2D0`MO*X A2&oXl*oH!Nf>f_KBVC%4d W-a=`) ̀6lͰ`_"bSZ.oS5n}%haFݲXaW4 頄x|.r%*ИڤӦI{.Q_lpƠq؋&rN {- 7eL[S֍3F(OyN%ۯ1 P ^{O[:\{$C 1dVBX[ 3Y@R^Y#sk o 7ފ}nb4`LT6}O A6&\Sz$5Uiaf{3[ݰBDNKN}ssUb?<k} Kd{A۝:wJU t!08\܋13H7T<98 P)um)ULDL{* _]E4槄JM9_߻aF't҅XTB#U`#`AaFZ"at7`-˛IHl* ?zbF;lwG)G\܄̪efinы)VH(ž)D$7k-xs{q@ 1EhSn͸Mlf.H(̆%%1Ѵ4v.gȍfXs{C?oJcyxF|c~0TI9-1՟QYsN=-3T127Y'̋iA+c<8]pdy C"-FL6e@2u299VՊ;ī9Kv tqNx% u.5mMh1$'|}?&  7_< Ej.h`(7!")]UAf텕7” q>g>+:pZ#TW3NjCe20ԣo U >bLIr/}#A [4œ_iĈiEdoǛr#zHZq)+$$/S^`Bɬ}80̊;O*g$.B<~? @VG  , sO /O8T$}T<^اK$H}L2󸼐_=<2&-ΰG'!4o -ijS(8N+(obv,.PѹR܅MV\!}|;sҽI E4<7vo9f6PWE*}e%<|iC"; ?\WbRȃFyƋups7m VADgɛ,%Sq2-uk6\.wV 'huz JY7QD}]$\A)4*;J MMû&wN'fM 5c-ZMsga6"cPV "n 6lѫ'=4Z9uw,1 [q3FgK5ܜ>SDh~0 -xV~Ktd LJ3'SFXW7^?3P)[j~J9CLzu*z2056-1 n/vE1H^X+q}_Bxc\baRTsյ`C1r|l2K R$/P`5hy5f'rd;gءrYZ!/\䰡@ucoYj!Uߜ/s6>Ii 5B؀E#WK\lr{ׅx} Y*9}ؤL|M3 )xMzf:O`iyHv?0-}i-oqȅwO H*̋*0 I3i "?ME$WhnW<^^໫d,D{Mh =q-%XVk\HB2s;±fk`_*??7^_ cR{4ޜ 'Z$ݛ 01.)2k\1TEwͪ Yla\ߪ9l6&HpIB΋kLDIBZu</pRߩ2rvR֍@|>c@\(_``_<5##HAccHeڱdNBP39D G @Ӥؚö{rR~E^&,s[ 7~^B "bPM Kϛxk]7{{oJ|/Boh, aAWCMhR2WS)<b>7~w T-sՌb$Cf!ph<&)2)O/Qt)U||ʮ*V+z=DY +0M*FGʖ<8lw C|uo5#:ӭn |=(L[eW6@ J'u./\CܔG;nhH#.P0:4]ݚ:[ÆjƘ,B~p. Pn '[|{J]O ]#L\4 d$lR7?b3R%tSΕkbv6ˌѦXhjR# _> S_Iԥ H:ɡE)WfW5׋V$RX?7M&,SX~l<7NkU-0{!Trs)2J}H)D悔u5e qnKh Q\zӸwRɡa%K:zCh) ŕp}<[Ms$@Om:(K&"f4W ׍>?c #3?0 F2`x.b#W`rubnED sU~\Im1zVC;I]d ?` 0+7D|E?=uDcŸNeS\o5zKCkt.YfKZ*8։$>9K Q d2ア|]П3'#fA]xhɀ_%,k?rUGA0lC( u shFEOթ.s)T9L͑ )mMt <:f` S0ndj˦DvɵsKa%͊U°%NU,J{$lXIBVG8]uCIZ:\;r* [h6/Mlz<%aX+Z пJ{a#R܀)154RdNєeM8"iQ96#a3Dpœ9p0 X'!pQϽh 0_ &NLڀ ɚWp0qF,)8\!ewiO| -KIj5^Mǥݥڍg#5Ɯx>F\dCmuhc`Λ& 2oU4a(ZnD4'|mՄ\̍!!`ڌxy5Y(0'+V?!ߡ/;ː^CUtJXKMR2Z+٠ !('ërƀBİ?7V%qee!=߯9`@N@~Xρ¼D M /84bSfw2z/TK' {pr5VyMGFKBou#i3zRD2Lژ bi A9a/F%R v%`/{?襉aSՌ dH)!a>ҕiE?98VMqVX317yIwc>}]=H}N `9*cէ{\ ] /Phrf؟%{9bh5kD OzGߎG9G{66%g?|gRx9E=^yrDjGDɡoKPԝN3l09*iSvo~CV4[pc`7 C99\OxD}Q[DȨ5|-žɦhܠc3OPY3"?Z!xcdsYmHlu4rJ ;@4R)~39 ^Njb{c\_/|߅1C+BI ts4t>1}%*;:q+ Vf`SZjx\ͲqF7Fh_$E E~ӌb͉y&nz &n| 6aS Y \C]=6tqp Aާ ^X0 $1`L\/{6½ǘ0͙0d r5qjZ#4(B<Fv췬0 ta՝W' r$SN_cs B>}forc(0 )Jݎb8E>ɍ0< 0w_q]O/Gʩ0K(vIUfu7)s`???1 |.(U0ht@!THVOj1QSC-N1>=#Xx1c¿ix#IoC6N[,^;-8Ƹ02*yBv~`1qKMu:EFҊ"h/G~XvZK+#J(h0%uMۚiW9#Ku?taRk: 3=>džq؜z.ޟ7|\:Rr,Xԣl~GӞSF.q WC0_^Y u ?7\Y\8%&K҉ uwx[s,?I-\psZ&DGms(d鍫!PZ@h[ DX`9sy&:tr,JeJx4)bn1;M{C@G,g܌`#itM \2 k5 )7ޢ3(6) :^%dG}EQ 9~Q޸$?\ETzwrڪIلJ]utbZ9!Mڨm4v eED^}ՀW޽vϘ}$Ng=g0 V e Dh&fr&a ;7KX3qԃlm>,^zm> ӥXqu臗:- \I P9\ $;O5cN#ލ)A7#zet'k:^~ dAکx>p֐D1`4&RTp IjkZ8 ?ú~qhy `ytBYтLbFZ6^Wع7Ss:lAL4àH,l|ZbRXTfy@GlVG1.3EB DK̎Got,]4VLuk +fIuROf1cxkn-I4ws B[Pϼ^018oZ@P'sC5ǩfH4UotTm]˕XkᖘdD|yé @ @Ԡ ,fke~zEЀ :+FO~)3 swy]{j12PBF9mb eS2&itAٟ3NlpZ^= CZҍCYFwk<`9]ׇ:Qx. &N&IDw6eG[gUᚄ}gs]`yS&? ĕ ;ͩ?dR)ǁ*;7x$5kLn0KQ]<$aP P\kI i^6UnAZ0~!-P{(trdkT3{`!pZ"u%!_g.]㍂HvUfHr46 E-bZPIm.MV2zŠ`B?LM(d<sڇv)e%}:); &%{) G q4 e"@&0DBk7 zOcЖ'2Ɉ{)U7 J)u@{""1}8lBa"ByzǼ]Qʓ[8!u52f%f[z/fHXR5aE_yd*KC$~uo3_BAw*rv7@\K5@=G<ņnԉ)p;ʹ 7'a6]KFu>)g[ӭl$gviƥq-A yOWZ`7PMyE }7maÅf?(wQ4n͊9y+j &w2ڢŐj$v|,Nؿ~rp=)JS͸=_l*`#% n*}Ǭ);N: uoFv?:澲4([Cep'$Ofnᛣ8qp<3LpRkjӟLĔ:;!`$U7kҥ̈{ 7;1Hߊ"w-c!^1+=@Alqڣ'i_Γ7E{v4tPʕSRfp lʦ.B}_h!|(qk-{9R~=_ Yz0`wq38qzGI_N [PG`LfeQYj?݂>oiN-yiU!t{#`-\[\zpC&ƐHN'gs7/@7rsЭrdC4'4vmWa8#2nnN15nknh0~Tą_Kenb/3EheN)e?CioADoi)襊BycNIV V 9.: cah'iǡI26AImykLZ7~:Z,rt /'si i)ػܛ\mx~q6֟8h$1s!r'n0ȯ%, xZ@Qq습;x['IR]Up4T3@aH/aH@ w㺯A"X Zihܛ,ל%ڎ -^;+{Qq6Z+II(][l_=%G]W]&g3'6Ara b.2L1ykQ\Eo=^~ o}U7111Р؂Cc[XA5QՔ?<{0qF !9zDc nsSw-]lϣi YH?y?DVrW<9u -fivޘݚoᨘXwidyt\L`;ZQFc֩E1o8\O|?6Y(DEY[%fIĞg"TM l9.sGMϣq̡A (ή}́ހG3$KPmɄusq:r|0=8 I. OLrL̇z8uC-7H~v *sR{L  2<(~.XD槣p㺿_8q/b{4Ey}|P׍%8ZA7)66P1am?_$qi4:&f2þKX4\S&^[4D^xB"1' vw)"ebكCDrvb#}a7z"l#XT^ڡ1_$±dL985KP t|90 m'Xz:b sͳ05wLY#m`|)x1O$&ZtxQC˩`";7'Ԭ<5e̱1&`zcQP[MЯp]3E +cD& mdq5Dž}eq1e)=uCqՅyqr*9VcĝKGޅ;ͬbY/\Z#c~ev6Xb~q"r^zq!0 Iw66$h4"}OxnsQPфo:Ud(P20h%bgC-B?CM| ȅ߃Sf$lrpAsL`Rf 爺TIcЌp3ub7US<AIEk&v9ViBZ-6;) u&kiT請a+30Ѝ {UJa*dTAEnSdkqxKT2br[x9,1OTMjK=AE`714k۷8h``$bsr*ROSPf  ߕ \4-Eqo3W"獣MVjw f+ 2~ͻo> 5pq\"@Z7hSל :`quBFn iΫ]Xk~BxfcUܥlk,B{l{ y3cp̽Ɲ8Ύ~I̅1oDDH5g\|9(.xmZd\5Uܿ`qm0oFH5"_NB})%hNմ%'en#/nZ={t@T (q& C%%7^-sHd$A}! { _8_8zg ( a]1P-uO&L0x4aDo?"Taܿ2 'Ю""(nqZ$p \2l{_2FyZz`w07Ah5)1 agy1B]95kNѩzNViNeFc2z&zE ¶ Go4bPE @!yNg{Z 'ckA7-#! +ѐ jpt 57x 1B43q/*%}I \&uӜUMVaЎi\t0 ,JM-]ڹpcZEо~rpw&TΑ/d-&58J3{K$ ڭPMkJmBbN6u[(z;pͥ2(¨ x_oԚǁzq߱s*pc QR̖B/%mL+sx_@-[PA(FRʣBHm"oG\s!:%9'K+7 ǫA7TpVÁM>̋ɄՎq?d\Һ7h6 r\Υā0ȕ1AҐm:O\+-QSS z?_'ʂSǹDw8e 9Ob\5LA)ℇa/6ZF)IɔvjE_sÙ:YO\[b*_GϹkxߗGܸF(k7-\ 9kњaMfx_mCz@5(M ~7\TBhvn(.woYEtn5Hq6 _rnQ&PڂÀ}L?f* V,XbyVӬM%x#9o=[7wI2i/P;Jߨ6sq, )ʽi''53s'AQ;@,Մ/{ M҉k_3p]72,ZvmސFT9q$Q8i %T&7sRev̽DEnoa+wDR3uґ{:Oʉo^ ٩M%sl :6!$B$xر< c9E̺Kɗ?(YM#GAg\c˜N;m^@Nfٯ|o!Ǽy׷f( iQ%#2) ;:t<7EV`LQEsڛxˑ* K*؉*9wO+v)l,DŽr05wS"S 2󆣨A7Ξ9\.Ǽo,MbZy&^1NY+{| { )qp<\'*xfÐY/pVmx5`pLܒ3p5T*y*o;T*5q#lk!/NGG?>א%M*`Me.i^`7 ;ơS"fI ~b#m|^Y2'.JqI[}i: @yCʅ5*nqOG0HKӌF'q֟ReF_?w;gSW0CN҈.r=u-XJUws@T h=ځh'*߰28Oq_x/t ~>o/wiAdetk(L~hԂLvR &2z/y~r8CZK$-wn=* 2KOD Tf_91.vk +n7ȟz!hksҚ.YMsD@pq& cY@ zϘ(MOLx6ޙm̒6{ AAؼPh Nn-Y8 U e7XLhͅO:M`,'׋Lc28ST!-´5]a&zC{/r 'y`*o, G(OXX pfs3AsNu+v~j)žj Pƴh@S E<*%[qRF CA(9U8!84"^+_ 跷ۛl8 Jc^̇ uSX1C ] IXZCNC_oRf¢ptj̵Kjd{d:|t3>ǐTTy=ްJ &l` Xc<"FKW@cI<7caͩ8rT%cVi6oM8:^#Ꝁi~>gq274Ps0 s6RE<\:ś߷@ S vI*aoCTIG`cptt&;!X6Lb?|i 2ea8JA*R;\1)CG,\UBHcoEhQ%nNI &7Ҽ2h3kcͥ\ȄdO޸qR`\0g, -OׅF/ P8$krڴ0nOeCt6 @M(M}tT|r]l95 w%zhyKwǁ@ܔ `  C9Q.r )NMC5&LJ6W~|\nIS)Y$!ӟ$;Kq@󓷉Iy &1K1;0Nd6=؃/S=EQQ~{PqMk'"sGThɦ-%˞Ƙ0Qa͛ɬ׍$q5h nNI..M%HBGb7M a;(v3{J3 r-7Ѥbf+ zߨ"&@ODƼշ}c|uMmvc؞| 3sY]\J=\K)Yi0~LڏWX qízqTO~ϙ5Xt||Ik=x8ʵ{S)Z j t ѹ*odZl֎G~2s0xl΋Ww~s .@c֍uP܀%0۵zMo"㚂Z65+6@?X0[dނ04ZLWt4E;; =J(9oTƘ轡j0f;qh喝ol!PO[.7%onV)>$&|%e핔;zE]RJ%`LF#p'ΣSIrs2D!R0ŗN\ UJӭMSe2m @k*9B=sxz3kni˵ZrR"niXj<8|j0'(3ya 89^[X+0>*[\:%L/{;p]?9f5Z2\Џך";G0:݉e8iHA@/"·;q-6[i#DO- Xxѕy\C@Zd!fI9wEzuYG. 1Ӟhgm<'67z'9!|a5 e+eC\9.ӿ1ܘ7cCYY]y0AM}0E5I] du˞j(U `v̹ʼnGſtNr n:w Y fL36;qz020@;  U7p̋8-Qk  +cw C?g|]Xc= 2/Duf*O e`r[>)Z# .-b-gTF!0n.Q_',NP@SBPe(z0=\ kK$.:r8fN|݋0 ij.$Kо,M$ͫ*pDv4kՎ@90/E$m}qjFRD }2( ;W=N52iIM?,L!4gűkk\>;oṷRn:^"OA6?FiqX@Êr|7(Y"̺yX T|[^0n`7sWP&zBVׁy(swC ~ 4S~N%h88ZkkyzFe7 G/$Hjr3ӐsbUK7fC8# (>B-t"BBŀSEV_S'湊/&@^jv?@4hןDdžDO狷xc Nsr-WR59Í{,:,H7NxL27y(p$w @ ygh_Z?dHZ2[r $OJbaJ(Py @o g?0r4i k3"D4mC:+CJ"7hrW!-q|vƳ&bܽ~~} 'wXOTŽq緱-Q=\OPfTrC%Ol0m6Ɲ1 &䍓\2/B׉Io<խ`5^|vh%NWA(1.9a\8ήYWєf ?}4&<8FT[H#>>d,>3zfϔ{a+p j7XҌ3'wNBapS!jtE;HnoK4 e}gIrE?e{JR-$.*CߊL Xʺ "XB"!H @&|mQA d/|h/PqQY,SB0+o ܙ 9ӱ:;+ R|edb\! ;(?Blc%sUƤ`EC`agYjf"G}l'0rcdއc@)-Ȥ&1"%m8hl<)kq_qsb}1!Guu[ Xձ֔UpS_{Yg8: Ew?qh0&_ z hn;j274'.$ki%b4'HV@7*oܷ/)i-&Vs`ES#SN0ƜxAi*m\8zDZ^ z/g7ԙ:q|r%yKc^.U 9n\s{ Yvѭ}ImCLXW$CSC?HglXǯŲmw ZJ܊k gвr˿q!Dvi謅kФ#{ wS:.Џյ d§“Wbz| 9ힼCyDgwFau5ogg}>{0`!eprNw,7%"]") .3 .9U k`)SJBjҗ)y47P F0HR2J<;|V泑e~yzϲMN" ,L%Yda4r 3-tRʴ4|~}4Yaڵ^ӸSx_9 )2/ƪ yQUK!0ZZqto7MM$wĸ5&r$IJZ5 >\IU:J{b"=7|05Ǽ'/MގC%Ƞ&~]z̊DN =Llx#_8Ǡ7vTϟ_8?;MQe`RXn<*;0sP't6kqqY9B KDs#ijį_7z$^jQ+4i tܦӁv;Lt6lYkR*%ibk`CGsy~\O8-m ;\p^R܆#)E$ Q;X荈Oj8s%$?1uO.K%6~I8-g*ކM VG1_Jv;M=&7,!F^UM<f\º~}CkZOr G'400 k$遼o9;MVWxb|h>k<@ryt> סG~?yt- iji'cɛuES?Ox'%ԅ9M)'IJ؃nJ/@0`_dxτ{1[Ï#B.D\ESq4XS㙆O!$n-pVp:)|5{A/-Q9q(O;릕 p膿C;:L3B"QM^cb9󾟜 i.܊q 02PTZ9pCM.6)طU.VsN(Slv^sq4ND,[/\Wb%qr{>o @O1/d9}3i`8K7<uw"{&܂|[c&oN|yNܗ .Xy' _B;NB aœ@ޣcp$36} :db РE,yjʁ#0dKnNχ|((NTݘ~;Zk,=v{Z/xKfvJ'6$3qjf߂*R S}u"-g MM/YEm"[ZMь*zҿ;9afC4F)w \V`DPJ8_?!s& pND-t@rE1dF'lϤ\ťC<;{;5dr)_|8HŤ7ޱS"0ʣ Z(>`e;lK$8~oLpNRK <%9Ko9ܕz V@9iPMV95ޥ?uEpGSH;oWLoKm0\9fDV;8?ezrX=Z!"0rԒ̶y"! T\Z ^SZek-aqlP:a({3P<GsH9+iYh4sk`^[=.+T]ϐƎ<@@D_4)}?xR4F CTRm02M3&xJ偬@eSOcZObT EŨU9V9FŀӀ%$IoHgFA(!K!^$rxi_Wq8 ȅm~51-ۓKrmy0vW΅%xM;s5)JJ*ؚ?o0`ƐPPִsm}z[hM(zL)œS>f.IK`3Pžj%L8*͂j%mq]_s/Y8[?;:&>Z& <% (dREpܑaPVڦ[h LV߸9E!0b?2<DpCayGRB}JP6Hy,~.[n{ ҽ)7h8Ƒ Tq3 U% B[0)MM4XAN䲦Zl.[~^Rf۪}vU"-] s><{d|J _h4XXFј2ra-07sIS buMl˹J2}M}3H7!́F Nܞ' c.7 XUH8;QOL]+``{< qAg%FN"%IO83yY`=K3 ĢdBb5z\J/(!q ~/> q+_J_e"t[SX7%W`ac x4:[OJ6pDA8ڛh\XDk  dăįTrs]Q:frg#Yr(zNS91NK!;@c xi~H*.Jb S_H3 $ħt<`]{AA]/N9}&/ɮՔ4&\C!bl!tF)o4V b(`De*m%]~h%8$h"EN}iTi(4O0@m$j8$ sssGC%&uG vDcм;_r"Mu>+:jgsE^  nTv\3Q RJx_<-RqdAgƙා%$mZG/ɬ`dA`k-~aRvz0873*~^RI>kheT!uN&:IQf K a\  N]:咧J9@@hIʫԴs|b?NE%Dë5$CሗCD45†m8=^W4NJO}/RNJk`qD~o2X-3 0py;UhNzL4Oޑn%6P#S|8X0pr*|.IU5*ʁPN<=(X 7`Ē#J =5 ' Gº@סHYhm-hRr:plirݴj:pMWVaNDlNz cK+AӴ\I[V”B<D+sKXU=ϼ-[gA ybL~[=BF?' oN$q{`蔃lQA `g8l,g6跕j>0aqoF]D5P*1۳LUKɹd0c|q_αa4B×#ŻG)c{䤩ō ^Y^<5Jf5[y,ҤHyOy-n ełUb_\=Gu' ΦO0ϑ !5l~DS{"~Up4)kӿOo5CsSٷI~*3ѣa go3c'>hĥ# 2K|C&,7j0OzQkm%cG4,ar8^{ .5DZ,BCkolr|]7<Њh$YAlF%ML*#1s(Ƣ65h׀-MyCcV7=p}ÜnXwb]**d&(D Vh˜i\SV|pP`UQQt]&dٳeV tsf#LdWzW)'< btE/϶r4L<Yڦܥi:AMS:=˰%NW:k5i2a4ɹ>zKJS/}a*J_;irc$Zd4IsڔeTg0r8;)K8^g*l42)\$T\Sp>< -!y d)kf z;A#" .a k9'aeƚ(pn]~|פ5 t:r'߂e#d(Tr^Զrм[!d ɺ +b"=͹%1s V}Sj`0ձQtH8rX:p,WdQ>Á%XJl􃴓;;2̼1aq-zpt|{P&a8L.+پIlt p>{Vz(9Op_c0Oka^75'$Q>kyENV׆}x4t;xGmRDX?)( _2~(ID rSK$i 5 ^Fخ4sj/ "t7_ieª]R cJf{A]_KhrM/0"o*-&tԂt.}*B˩%M}1|0 -v7bt}1kVx{aɾDrdSzs-}o9H*4TR` YV.'T8)gu/D0m߼ɹZG"CLan/ņy$ŐT KrbPK/7` Yʭe[ȈoӔ}ǂ%IՁege>d%/{6+5f]iK(VV7OڒtFK{%[ia+H4+3 s:RC(h5hHwLͺZ#Sl-JLzU|i?;(J<z_8Lxj:&K6啹{0+/\4&^Қγ ' 4vq\o"1bӞŻ  yCk/;I( AœɈrXsRmNbHhAgIV!7aƀ'"ks=-ޔ*j,Ӈtua="YB^&Ee `}o!G3@+%b:9HѰ?poB/z,uuTAn4P(^]0|3qLVx.Q {<А#7 07oT*p('JGP+"^f̊=96 y-獣`x&;'}X)4=bs8Q+h{{ER]7O :b%z'% u'd|k>>A P$Gڱ+NZJneP$ȇrPw`iG[XrlU mGg%?e0eD0@kiׯ<3 SqR=YK`f 6SW7YXt.-E'c1"\$%a@5\*όl?3ij2oCEؙOѩ97eam?^4I#\XcMd2ʬur1eF/<Aٌ :EѨ~,N0q-/]gLh"Y@N/`%jri& 0GsrC kOaZd.mRcm/w:$%_hOjB2%BcR]='LY0?:!X_c=5 z$7EqIր|.CO"E-E$7R(1w3Sރh+8 iӌkkXa;VC8sp![s5Isט{ui29-͜w#꛰YwTv lP'tzaXP8ٵ)<mPdl5$vITF\ im46N\eT~Xw=v> lgq=EodW,7ف Juɾ*`Gh4/lL\8~9e%k!EEЋMlԠ`^\'D$l@d,6eo3v;} ;t:%L!LW](: M~o0G/E3413J?x&[9ٹJ<ǔdQcC6_9<e*VXh/D1/ d6uy?JG;~LԢ$*94Z %g%9(T+xOT5 ϛ^( 80ƅ)L[`CPܿghћ2@Uѩ-Jx˞}!Ye: x}{5Yyʠ$`S e) M[s.λ\alW% EEd|o >oBB{ --KS^7ܫ0As4񆠅:P2' 糘$ktZF/n9R&8ԯHe 혘nBB#z{OkGrʼ7;*y My0qv >'.giwint+fJxHUE,)XRV9+w-*iPk^a%YL$vbK˴ hIPrK;(QXP$0[LfwJajh.~)IhNyLA*X*%"#$oq0b?'r:~^Y(I8yMQ e?^Dҵ Dcq4X7>> g/pʫIͷJ*ޝΛz&I__%J=f7G@P2.>-AIo9w H#]6%4kkp{C#XKS^xuB'`ܻ!ÜGjg+5hh GbͅV /(;0j?mO@aŦn|haƔnKˣ-'f<'rle#^TӎiKPKl.0%5Q,  ,JJCu.OJN*`NM%,8ߞs{欿%Vv}SpxC7B!=PX#! /IJ"sj? qQx/Â}HaG-]B$2|zZ"b,vhpxlHY,''^ !*I‡76"xRIGWԾ 5Pfof1oR]?GSM8G}& i] /I#Ht2Yu)*yMn'!F}%ʻn.Ģ&8iX+>zOԻ V*#dab';u%f7?>z8)rƕ掹%8Ct "񧱔c2[*(1KٞhF: ;ݱ7TVT:05MFBUI7,Gj.%t'L&dr$ 7x;hj}$Q3ln#OK~9Sbb> %J}'0El^A[Ulq?iBzӕ7oŇ^o(8El)>}kp;1vK$4('+6Ԓ-eb$4 E82U!G$TG!fn  FN_KĚwǘ׫Џω!"5?Qb$F܄}.{hE=HT͸ R_+j\C3 C!/zccN4az |nJyn^.o ka) X)FmOKeXQz2uFy`-b2[MV3gZD(D"e$H`mA^Bt6ci :z:9qwǜ#A8Z5Ee#"0°2g`L.B_= ?+a#3ܣT.) _RUMj2j`(ͥ`HZz }o*wc029ڵY45M&5\Gkx}Nߓ)cS-?@|5I i!II>l____>>$T=к" &md8Ͽ5|l\QH٘] 9u3%¬Â?Y"(wB@S_Hx-1 GX$fyDZmqh@ί6sCB = ֈ{#d0dBʌs{2hF?S5!M ֞R ھo:_yp0b2g8:9T *qg&8|+(K16\ ( m̱TW1L+U/%An[7Gs8H@18(x?n/ǘ,-!ꘌif_.X^9Ę d]Xq9pXǥ##:A,'iAIŁe y&r|G0g|Yj Aɜ|ZO^o@axa͛/9͉F8ӝ ^ 4aOP 6M08ҡ-( UHi 1`yryzz_*8<;}2œ@_G*]^Bqͮ\Xs}O% NS|KA-v@(]C0K`AϯԖPz/]ȆUc89xUe%/ 7a\??Y`fwX s'>m!? W%.By<(ʂ/c•U03LLf̹'Y):`攇\8O%寅pQEZ6?ǚlkqq |zqlFȘY*&eq0n-2~R SՁ 6ޞhRf}QŐށ)`D"BOtln- Gp$&/ G+d8>S"}Q.hmb-ǯ7pl_:~ `  9 כ[odIEP)D8{XQ(bp:e&cwÇUC)Un.r/)aA0pK,fFSPרɎ]XυIX*`a8 Ok@W8ޚ1G \893qP°?c&(B)\q+] <ѫ$:dp 9Ǩ!@|mC@ݘI>Q14g |v&yc5tdeў@H0'=FSquMn8%Ґazq/ k8aVxR؂ v4nᅿ o%8n|~rA|LαiZֳ__{8~|,1,iC:8p1ZZw;BWg$7 *ݫr~?8[jrQy܄fQW2nLu%;ő 8*LzC Vv$o}`lkQbxu)He2,MƘ4Gw9wO.=5M;Wc@e  7k8([OJL)INVTd<!iV_o@:% Y GW?c!B뜥TzW#0Ȼm5 24|]<rq}vp(oS{s,ELtf]N ?Yj3F;AM_k c0f X4rw̷kuZ2s* xn 4OmeaR =gRy-/ [<Q =~f/C[L7:"kO[r+l *2,in+|kf$}(6k^-p;)AQmjQO0 ĬEOA4$ YSwہ'^w 5Ng1̱s~a&.~Wk cO.:_=neT5| 6dJk3V ($)fBxw @21ZP urO] i*pI-xM#MaVE*$=sp0X  ~h5MjJ_9: 72_ׁWaϟ @MN /n8% %p܉)e( YLb=ϒ\[dB= 7; c٤{,6qhYSB)\0gm8~4FyuW@ooq8y <ɛ1=O}8q\x}2 :8O}?GZϿqoڽmmYPDƺ9Ԯ!tOw_~^єtlgLZua<ÅR2WjcS7wpYB G=ʣ~_? G4!:K&\jĿ/~dikQnm}4Jo$i' ĮExȇޒ܌0(zPU#[zZ:B %9 _71Bf[7@9Cbmˮ~]7Iq[׵ML2=uHɜV25 `U=_H1}]A.0Q W]U-Yz4[_Xqko-¨G `h T T&vfoXUP`z8pMgV걽 ;5lcT-:cr-ח׻pN`Ý7Ņ*4~7*E»vU7mWr`-.e7œӁ6w}6A3S/on$k~'G~5p]:qܮQzK{,i\{w:>5?g V gS>1ŜzXB(!31?ցfT:ŗyopz"G_ 6'=~FkI| hdؗ09 8#'M]xOXt / J&Op~Qwy"{6 ޚ2K ":yVJ1p/ CN4QIkyf1#.G; tMX ՗Z$([;s-J:{'j c"4, ZP}bm r=;qF3y2172P/l%ф{}oÑu߸*6N'3wʆw,_wa6aux}U*E4I/3\s45_o`.n[A-)syc@(9gʎ9qcFw{qHrTm-`7 +$=rx~+q"8oݜطGM;iX0A8hW"ؙ緿u%R4P=Q9}q<ӡRBKX \LCޏhY!yHjj9 O7e4%K/񝁟_ :=쯓Z&=@óYe.ú;?iOx7hu0nBHuKE;_~6|M| 5 qLBI,ǡMY54 hLP* Jx-X7=k~f*Ԩt=8N\|}9>Mx@ey8SvBj Kp X0o r'ApxYm,Iww;01Qׂ.(C񈄗RtMQ'oNp6L`Gv PnrrHŶ-XZ؀d(& \@fiC<Z8 '9~N68 qX6EUϯ ՘K ":v现f@;e kp -n~oZNDKnET$s`|L${]gNRU 9OX;1K5b" nW0c"^yk`/N q LIMxd jvL'i4Y.jГtjFBC>p4{K0LuIlV%tq ,ChZ5$TO(!/֖kx/ _oG^ =[lh\!mF/wbr$w]x5C따#Qy#hX(OJr1&s ?LM B%ֺqq=s~uOD7 -j ˂!G jV2'8`k~߅iPI^fy@m>*d sM 0w\oMR \ʒ|)B>'؛]2Tv/:u9L~T܀ ^b2~:H5*{e[w#KSֲPn`KF58B7R8HÃf& M'H!z o&nJZ2ZHáU r/03y&~_}i$"#&>?b[o3 )[\:9$h쭬qgj )>xƛ5 _dxe2L2.VgΓ5@ PSĚ  jڬ4pn'7}aL`Mx Oe܎O IQ TΩgW"_⬹ kCD=V8˒ ֒ 4;-# SvHPxO"0faJdM`yTpzfœ n @B.%a%ydV!Zϯ/G__qkq9Ѥ8>OD?2H,k kD# A:KFyQko)9с9UAjŲ-)4yԢ!K.W4H#,䲮RqEaD`m1~0S~x` 3Z,M&jD"O WT "gĚ^'A Kyߴpq7R pjWtV=ɩfǢ[pvV8We em8pBkogh,V.!p梊'ЭeQgaL}Cp73ii}Ob*NABk@@"IHof;F_hTZdB@47պנ[؊<_1iL%Wz4`GAma,3pM>חƶ NBNq:Pr;;oG c\}R&M2!Yš!K\ԹY )gΑ].IY2O8!vak^1pq+F |3dIs4; ;qi_񱤲w,;tBwfy*AEy_/?E9)kM)1f hTpOHA0&n~rrV>b \E&$D"_wLX[&' vA2xE~nʡ7IW&>?X@{9_ tiۊNjp} LK;~^tN? "!oV#-qBi74O J$qx"xTqf%r._0YF'FHKS5>تe1 aм[ 1e:+q$:>^SQìwpPmWsGUǚ5ǹ@x#'N f6qB)(ZYKi/pBj 83:ғ &k}y 1|>8Bh ?m.l\n׏8ޘ `|WBmA  8eԓ{mO̠tq 1ۏn:]5ws;"9<ܴa6S;w0'F-l6ax)gac!op(otdbBьHBz#;f.,5LD%_R/Af,> ].-Aḗ45aMILpO'a *} _-W>;/T%v̻:.|?0dT3(m L?,B|kd6G<*A1pM_`Y 3kߡ ͨ ūoOs倢 .^H bj1S4rA=Lh+thƙuRoaFkaҢ9#e6`;sHvuhŻZkQ[)YRAA cY rT(DMlq_`ш \&V %I3"xpDLa};`XE!q !3*32Ǣ0oB2w C'MOI)M:A7ׯ0}9y jP3}x0@ih*H[]ML+ PXc/ }ch@&rzP`9K%*-*-K˧I` 7ziR8'M} `2$H Sh:K6Ol8e扄}g(cMO XXֲo0xЅq a;no;n!Ke 6G flp1@.85c˷Ufb XeoÿnK0@T.xSPI䑰F%(f^Tc5 Z!\LJbR>6T)HArxqwɣ^MdYJnL_VNJ%+ZS&E9fYazO"aƍ@{bm(mbb#R*G=S;|Z; OVJ `_\)܋F0^-& `0k[|NXZa٣$fET!מ@Oxûӯ;?o<3 ϳGJE 5&]hT+C[\n;97 [ٰ>J-N9␴;)R6|Hq IU`T0a*%2; ?GÐ16/Eg$m:(Oq LS {>A-U V_6 uY p/y`z3$KM2/kb`֞KQmKo79 T[ͣQXߒ.˧%h' ҶSV*tQYk&؞Ų&Nl>Dǥ*2rïQ@kiHFJM>}V2*D)4Hzۿ'9ǽlĘ&E^Mܴ,b|062CDH EW=g!j0n  +Chrb4/x,t~cio|`+K6uC\vk2E[sM%IMZ$R 3O;IWҵZF Y24`Gs) 1D[EEP6)B㗶\x>.~˂Gc_dXЌC|"ab[*ujVʼnzvMcn0Ќӳ N!0~y:މRh/6{TQz d,?:?\>S*'Sn*Öݾ~lcyq7M'e0Oxe$3ֹ-0>kt|0=c*M~qjt2մ͵]jg݀nTa2 NIT%U2J1xPdz_2УJlbzL62XYg*:*[]bpm`θ&j&c{7107wgv<o aI{{45TN,F<èJ`%!aUÉMwN`:e]}AVnCp8~ ~(iNQ h &Z& ]}XêF/@Hea̔@%9ż}JO-[E']&NF}OJ|jJah0o6{!TT u8JReK?,7nBZKu:_NedHg.`a{G7L~lWaUW n`lCKYRS* 3\M=2w[*UF1~{ t3K^67D0I8MYsgzkʙXZ]>ܘ>9C9A ~|P@wB υq/V$E'\jP9?y4;9  ?]%tEXtdate:create2017-11-10T19:54:58+01:00%tEXtdate:modify2007-06-13T13:14:31+02:00mqIENDB`pychess-1.0.0/boards/fritz_d.png0000644000175000017500000001612613353143212015662 0ustar varunvarunPNG  IHDRWXIDATx}\mrnl| %;²,98 ?@Bի[~>29FCcz>f"bf~ќswwgM4"DBlk޷+iFA̴{D0p,"ke6idY pǾ?n/Hg'.@dfs-w_fc Ƭ"Ed$c_nMqÚƶs-+ M]kٌ͈H@GZy\i9-(7"f/)q>Y3l6infIp,&ap_CZyE$Befͅt.}ۊ6wʦa!x |43/ሰpaNN,#, C``"L,.`~sE@N g(T6a 280Zi 0`w1>i1R"M%s'@.IuX Bi47 pDAl6g @IYN0"@h2"dx`6"!ADj DDDL*.FDAna.ÃA0 A,C}#rg B43T0 '+``FD0 x*Ʌ>cZk t=yptfyēD8afFJJDd f쎧8ox{s2#!`DN (4L""; &31ӈe b wA="`3#q0 E$`1(<Ad vG0+H (Twĺ z@D%"=Aá;D wxH)X Z "x #'ly,pu\g0sNB̐  ĝcȠʼn' PiDm!X@ ff<D]w.Vzz$wbߞ#3*>?Ժ$,VN Zs{yMF̰#"Im0/QƮUnhfK#^oGdوhYJEPe79e "V"Hj3#%"(:at{fsGΔs%#TF()Qٗ}~@yAy.*{<6AZKZtüDrcP0神w]fyBĚbM K>- >Dg10NiU,Lt}a m%Ϭ8= uR,2vw48f/%^P (~Qnaba;Rݱm#zif1M˃):ݭ"@FDݕČr1FYݷmK'9ED]alf`}a{=pguW{Ӄ.۶!|Qy3`}Y0 IrSf0cmǬqĂM3 nTEi"HDE`&coivIJfƜ'CUlQr=Oof6~XS*̛ȃYu>vM#&O9T񼬛,pU~޷QER6ՋF^ٱs-3,H8ျ4o\ gu4/Pa}}'jELݴfʺL(f\Le "DвkZӧ=-j;U)؅hL*>y'pyhZaDj=Wj!+1*;ח_IGƬ.VRϬzz)/Fj2+Ы4T:Iu^Z[Z*K4Mmlw {ٞw@LgtDs-qQjk:Y',c[:N.7MHcͦJ//ɲ~h7 js%;Pת+" HOG2;kBČkXl O{.Psε<"vtRea햘+Xݶ-3r@^M^@V"|>v~gv)RI*X_xbh^ r IRe+[ Ϥ=])JjvIie]p &/aWdVJRQS"C7@an~@]dPoKb|u) >Hg0q߃y5}N[k9XONŲ.WO~)4F,3N=yZݠ>AhntWଵf; Wܽp{sADE(*BnS֧aߨ@'N*kc{_n|R;j!"Dd1}IݝAf_SKkܾ+Q,s7t-9qit+$רLy6 JPY++V[;&!P"Hk#_ f'flftrGH]/r1eҽ{z99։Y ΙF V#""7*1c._쀬eAc>Ʊm䮹ڍT~mRg6ZU a9cȇ{:1iJcZxbbpۚ{hQl[cTp$L8D^tu}9T9;vX&# .b/ @蘍#K]t'PN5p*H{M''KZR1ϳOuw&te1QD<ek1}  *,o)ӨY{V,9G@ZkkAzbe=0K y~|܃>1qՉtwW+6{Vi2.&DC6mT"ՏZ>/AD8 ԝ# œ1(A ť64#(c"pe#E'"?&ҳtCP]n_t>_RZC_>7#v#ZD8s-ɽdx -iA՘h>/"V싪epx;PEd-tD%͡Bt@Pc9k fz`ǜBYGHT0CM R6(c"u*W}C0{SnUUTX՞LW˺p>z\9q s=ce"ޛkv  denmȜثD2{#`i "w]kIIN#JeWU1ߞb%sKHZ8.#b4=$~֎}}}|uPfI_8;1/WezaP.eɍ^u)-&L ʸT?䊺a#$#Rg=IoCzl}62r3b@.)>]S&JAEr.CUۍN%{4aDM,XD.2tކ{^Y*^FZ$Gߊ#|b ǞwA0FLG`fRN(sw`wO,+ef}:=WRVbsZ!噕>.8%Ǩq"53v/.>穳\>Gײ*];ڝ}P~5 Ψ5+@4^Sp4{,[FqVk]LYo9vOq^5;4aNAsF1-5(w߀lR3sZ-嵎t^Bm6e%v6 i:wno5(,"٬U=ُ)? mYrkĵ1_2Y.",пvV?gQ#lBOG٥;a-M/gڡPDCC/S}|"yBd=A9STӧ褗ۖRM5N6vxn>{Mv+@Z wxQ)wڊCޣbkjT7ڥ]zH6.sj/|v+KW wmrNLHE>Xʧ'ph*"wOd3M|BlvpQ? Q|ޥV^r&N:n5ܕPbX-"&琺A"0oc03"hxdӃjpޛ?T1ƾ?#m+CqdP'~?hk-gRz©/]=V/D4mj,1")}H'3kO=} T.EX~&_kfMG0w)3عW.3Gf^$2!vZcxJʙTffwݼ@zoSfapnA _EjstЈ / 5G RkgtGTu럐BC%=8N\gf9 -}iΪ/B%=s|ȩiƾ:_oYHZ}W0;6^?9Y^%~?{xi*ŗiΩSQJ.NT ե huR1x8;'ąr|3HWR}~CBGLLDaA|\p' ;v-{NM/~?FP ٲ)֜E%AVs!X/-[UE41p1 1c?N€O cPP4ulk>O~H2'zکBGaSFq WuEr؜-`x,kxE{˧w;w6胲#}"U5.O]ue+Y`K\BaѢݜ[/Z3f_YJD\D0V_zI>ܟǫkc9g|kA n?nyb۶$b޾sXF`f9,De㡟^Gэ}ƯUK3U@]f)GFz63n윁@KLD917I"֤sk!_WbT 1Ơmw+:TۍAq ȗBXz5 53cו2K=sO=C(,D6W Tzr԰Kk$"_mBVڤ:Q+ӒhfR`bO_ q/wyWs9z9tmի׻e׌5,lZǸ:-_DeƛO|P5H]w}~]O~u?]"mDr8p2|0EDXa>_Q+>D> I> N99 >I I >SNDXDS^ h$ m*m/՚bKGDT pHYs  tIME 69WIDATx] HIJD ACCibZdoswU=3˞ Uuf*e=H׹X,޽ݻwz[.2}sE?-?-U:_-|^,_we~8ϳ\7~߯׋zosgjW}~+lsWN|vG25,,2M~?/>.޿_/w~ZcӋz~,+ 9}wbZg{pe 4xzp 醴E re *O?ns{"ޣ9k(X?$Ͻ,V˧[qSW@ȼ[)\n*܀}7 U`YI`S]gs9Kk$xWCŭ| ]C(|[UUHp !y/ܯM;_le@"!>*/k뚿HhMΥy.q .o|`*JIW8 $g CzxHD2A&$ONRǠW. }p|@'$]{p$һƛD*o}vWo~*V;] ~Y@;RP.||߀F(ZIѥyHI|ӗK߭1|XOծtA[[)uVnekjeT Y?).9k">>QQ*W\P8VDȫݪM@tM0ۈ~V?dv7q|50bB7ՒWg1M"h O;ȶ3YJ cZF]PUICI$ߴfu$@IbBZEAժ+SEݜdQPwY|.b56/ SU<L!%u#.ժG/w* uee.Q DmRֹ]ZTnsۭEV7H;#{\/Ǐހ,u4 5fV(K*PQ%uie- qFs%$]7Yw!$y|+0y-ő;|C[Q$r}1]bhM6[_zFNk!tuӷ*;%$5#DFi\I;zh{H׍GHn@>" 4[ zkܯKS|ɍTMC$ARJf ;B*׋$ .YgE*"Պ?`<"p,C]+ܯެ H>"B ׯ[ "o$7f@B7W? .I>H= k7l=Wԡ/ *@?(OK|WjyZѐ;Ru9%'z}l-IW$0]@4R7U4k͘ӭ~aRmC]kDnDb$2gB| KY# `^ [[RlU(XDA8`2!2\ٹ;(y^t/ʲG$#7"r^s7&ڮUHV0B8܀xؑCo@0wR-I}ieg^Cqbd#wi~Ykc(Q8ojJJ$ ȂMft .ub_CuA^^\¸ąn^KIY kIbXmQ 4PMB' "Zוq%W% ;3:t+K-eaV蠹x\lsоAR-ڀ~e1o:t@UFDC"PH$;RS\@GD@]Zm\>b;͘v.E])j?cxdB&4>刅{ΖOr϶9o.׃en;q)eA7ܥO뒍kUJy o{'S@%ƴ7bCŏ?IހD8m<K<.Ja5F3}KGLX 8҈7浄&ڃ~'߻zH1a+z92Zrc ;K@V}i Bl*_fpyyţHAf5@| ;:qZ˂w~Ѣ!BM|_h[+>Hn#%9v?[4tDƾ}G}ZfrnYd-nnߒQ+ׂ&NA܋2 {/) ZZf5%z(~H^+ MoChH-J@^E/7cintw=-{!J3/&oQ7h@jWX.>Һ!H?~^ʀ)"[T\8nQcm'%iրp+`#CGUy  rqle'gt+ (N">(V1X[IV>C!ycX ɕ|+sh$8";n4NK!$#D;^l%A@~a[ T!y=*8S w@(d lD2+TWR/[neGg)7'-ϩb@n|vlgmⵐYd,[-RzbPLVZ)D!:_e.@95a.`RH <@꺌28IJ:!41"$$gDf -yTy9|Q^L:$91 R6uӏ\TQi+"E TK"Q7 2n+GVwlH]TpLZdTEoI}S݀q=I _uKk@>R¸?6\8I)Bl[Tr,RD: _^_1gr' rVsV%gş/+Иۚ$$GAj/aaP+!ur&>avuHbRl)q$EMFG(גqֿP_|ǔT%) jY2*XxW hҐ&Hve3P(S 2ʅe- R]ċ(l)CN$[q;QzŎL ߑӪN ::_$.Y#>2ϖgtg)gI)l8KB;+HJiV[ (Jj/o6"8QY^ ȑpR'喊lbO@| l$I'YbQ$n@-'>7.(!0RبRb她Q@$HOchCʣُ?$:+tVTsO7lk}h4~PHH5L?_ -Nk *Ў!\u%bHItl$ =h#ͱF P j(и A(*VC;a$P+&犓rXb{dI|Kc8/S $\|8 maqCUUhW4Q@ȴ4Vx48I"DuAdOZ`*^>vAILTA2` Z16uj@C&~z*ۏtڢ ԛ%+G>!{*>0[-3x[Hl$҅#.<0R*8$21`s(6B2UݪTb}vj#P**NLz($7Y8 G? BA բ7浄c}#xߟ!\=M4fIDFY0/rp^9@BRצrildc75h畇"B9ḇ+֕NW0SjA$bA ސ(P-$S?L ݪA fe؏#n"vbQ&X/t \MVHJ. q 󾻺b4bO,*HoD͖1cg%#{Ty"6)@Mr Uĺ#7C"+qNx9OZ(JGK:ߦZ/ʬB(o5`s4n wEj )H''aXڼ'4?XR H^>1餘|%k!*%h7CզɺLDN6k7 BJcBh)s>wKxY0 ۱ e"G/2YѓgʋDcGnuu]jy:5@84A kSSM@3'w$ڗzvw"HcukOGd#EnLeoPZbe^k:Eģ}E&y8l$ e-10چuu׊ %-^@WrFJZ!lf0T $ 5ZDFQZOOt]:X*1ݰpyq0u$8`n|GļO1$)](VlkGik+gG|SmZ68-)e3$O6Yٔն "GtSl6].]ř>d3շt:X{!DA?)ʸaSgwFmQ]fQcZ MQŀCd2ߊoa~t^^kPH)'2v;l$ش ׷m6ўʋ"ˣZU[\*S l$_RݤZKI2kLnӌw?+,ג HοX9PA:Q.c _(Yn37K1,lkl4%ζGH`#J/ng1 Z3>減8ϋC:aEYBs>˸ه uE0+% Rg{na !+`#42c*"B]S&pQu$CHxSցY֟wDY:>+S{D~$;Hh Nn% TK&r8CcSJ1VU c)p20߀X biE-C;r펺yqx/_֨e0Rwi5eQMi=H`׉i3á#R6s6.+e(cnۑK} Tc/K,bT">k%NtZ r8s 8A)RSqo39=iX9COեSty;2VNb,td1tm3j}:mcyO()=ԔZԁ]@bDe Ax4 ],$ P<~I -}hүdUQn{^/x=aRPHM:6S+j(B\yl(S 24W>!()TK^"DC8R#&35KYڻBG̝DZ%SR[$YښoTFQdӅMtb߲nN[-Ү6 ,,+2"ym3&ؚ6XNlK,ͭuV7_)&^~K"B2|ڔechk-x 1)--eJ+ƠGRbO<,a|vu;*HDi.,eja@$ Qh]"cf0HM5aӻ2E#}su9kWnSdTQdg4|8FzS޳%I\vIq$$PRX( $xT }6yf!+F7FR]sf8:ò$ 9 ȳxow|YbF`Ayq%'y =8nՇ"qˑ8xڏPTKќRkM6ɥW\׎Ħ?85fMd-U7@|LG1ɦ?I>I`Mr"iϟm( -MŒ:vjljlLYzGpJTQfpS(qޓe.b0]=PtF7 dI " =>-_E\GrkJզ&UTu3$Ǒ+telZT|ˈ @]J-C< $:'ҼJ^!A*E$K% (Nv/cG넆pP8U4_E+](rN@dN8^s%dD8]iHWRto(THS [xDIhf??Ro<) ӟL\DZ| [^P8v㨠JNUP"[$ [2Ҷsg:*OS"+) Dʺ,ml3rws&YX~n캧Bh:T0f\*IDpÅ$E R:X3.1pr^ᕺ{?QJ&DH&7$}OhW?O"">6Vn&,)HF~<0+`rUf]J}\(-H"6$Xm*& 5IGn˧ [ : 0w/c Q8v!fͧYD /)EB\>Rnu6H+/xN~]Dn ;Da+uty.a9;Ĕ.m(TqJa^FS+,ejv5'wGHb%#MӾEf8l&p)A@AԊPv]oOn0`*QihZi +őĺ?60irJL\+^O^kpeV[>bvvRZ٩ʂmi)KkINˑ2䤨6khqA΀b*#LWeoO6NNCLe3({QI^#Gc[͐Ns`eem.QdHf~je+['$9g%P8iЁcB4Z9c?'qAQ Se1RYw^d:9 IWecp̬șq%U_vj/ꄱ_:m9A#OI pdv(}])cv`5uQȫ1{Q׾-hN^BWqM"CQjE4 uEn-g'9E߽t HԧyYBcb&!n Li8pnsA:O{K\o`%%)a+W "gI$󄝄戃{v h G.eUZ3`@,)@#U .l=㿞.zF5KqRv %j/U2b30})mT9Ox﹘(ܟ:w%ω߲ICO Imc g#N#rsTcKNėƒq֬P#5I8KRQ|%;5X=H^X0se{m1CNPLW=.?\_.Weޟ"|C}Dҍ(eon,DXY!*P=}K1fP@`#{T+T HJs2 `| ?֞tpEkk14F8&s trZ$LJK\So2)ş~N1͹Z وfC$RT(8u}p%UCe6Š ҋ\F}ra J$Pkڔ+@C{KpHQ?8dt|,a} $;tKFWrtSэGi~趲&ÅQHDte&ld's<yܖuOlhue!ʭ&&Tොd5ڈ=}l06r8Kk<5]UƤZu P}: G i0mҷ;Ɓ>xМ͟e#Y+H"($iY R I:8Teܺکn̔@;i##@L(PI:Ifn;Vj҈Yu+U }NL}1P N{e&UZ lozߗR-#L_i|g-e/Bݸ(jȶ($y=U20$VflC׃NEQƦdd뫌:iliEj]$MNat~Ng~yמE ; F6, ~]qgN (Jd +LJW9Sr-O9 P^I"xbEZ-`;h$Fiqy:[SǪF=to%P"!S27 M7p9!e:ΌtBřMVZU*\ئ(D2)|ܸY)5TXf4KHFϭljufq"] D0@&V徏q,:ymqm8ֽ}VE8jZN^ӳ*D0~vʋuET~ ۴Ha:`xmgJJ" B=FŅRJc[4r I]{?^Ѵ  ,^ˌ|FI8jhmfIf ,.0)X*[Ѯkt/. 0Z7ΧNoUQ>'ZA W[*I"f"[3']c# \?qdDZͺo02v;9cIIP%!:Q ep3atx}?*g@$ku e,Ti hؒ znx1')5+GilF^dF\WU.,CKSڦމ[~|vh vc)!وյN?,#ƥʊH./8,9oD`$r%sgSV*' ܆ Bԥ e5Ts ]%YQ2pN܈$<* WܿSJz@$Bs(1uLc_ClH/VuŽwEԔv//[[,V11 .`RPc4BMnB$p"=<JB0 g#rJ}BdCo)XX88NV؆ՒR䈭/G䵐@Rfنyc7q<6##h Ye>9s8 Z/Ciel%S([Y̷Z%bMKN5&`VD ͳ "V}pŒUqS#p׿>[.}H"=ABTEH O<9F!ˤ,p"S`qo(ҏW s⎵"dI#˸yn_컢 jh5Ձr7. |p;4>M侯Li L# ZϺ0FWpS-D[s!Rǥu{e %xEdLBB=ӽDR 3 ̸#3?IIFfiXu[F{w}^"ݣ:3SKq0]s>#u㇝ t/QHM)ʹU,3 +!0?ٮ#L]9~(f]-jɩ7$BҐq>]n,V"$ۄDhd9V93#Slq');Zbڝ&hK(2Y6s~g1}(_ $/nޗ3xtzvPVӤ1h2@W&R\MtٓVb-"6<11iYCHHg+etiG`fI045w;`Jt4L;LUt8/&J,܀H"ζlv 2Τ)͔v4jL+K>\DE> e+Y*֏e3p;t|:$Կ 놣 F9`(?pD*F@<E"KYG.o@kQya `+F?so8^o3.,e#N4Yyrʭx,d;3t[H H 77L1zB(Y &F|pib:2n@\wӚI>LUI\D8~nW<(.|NhƉrU2vvZE!7ܰQ$lcq;,VWJEl1ݞʴX;zIB Q+vN}7'oh(xxy}__)M+%?&oskF,R.e ,Ha+R^}&Mj-U& ,l.Q 8 s~"F+4%ɐͺzD$>ax)nܦT&Õ{0RI#pz.HcCQ[nϕt应ngc- .KV .º *[MoW5G@l:v/J m!$ڣ`|dYk7HA9AqjlToZA"Э.ʔ)=cWl+)I[DR =Y6id&߿K"gDr6"enN IÀ,c'}_`TK< @RG#!g)rQ#yg(HU#w {WaSȋX87y_L~deLaegq3č65Cs Ҳ_Gog(2%T$Vt}szGjmJ@iY 0+=r”U H3Z,AN@$ 3y>en` {$ұX"u\~?^ٌO%3aM̿M!ĦG5fL3AWD720=;piی|2ccn 70wL^^Zĵ⫴ZIOt~"yLVώzW{Y=ePn`ƃ[ k)6OɰGXyJ -x{=T˜5TqƘ m} \$28rښls0YKHdpFeeUD|؎Ja["*6Sݢl&y'tHUn=K[6'  ^| S2eO}&闤غ>ocj)H^O) D)ϒuz}d+Rp(%`$tWTW ;*&L @/.08#a[dTG,$ Uֽ:QsG39xˌ!Z;TPEQk@Y}o# S4"\Lf Ȯ(֨uZ3E<00EĮ`-,O1t2VeIxs9߹3b;t9UPM iCسǖrf`6#a"E6=#%Q"-F\A9ܝi {6eR(\eؽc̤9ؓ: d."" &u7,0+Op^a_ k!Ly|z9F"rœ܍%M:M`aW6w!"HUjMàs]pn|h%ʶwp'C ٵ0Fr՗0z2+VNTlK#~@"-_adΓM&o,IfU(ؘamRq,m,c2sG IJC ޖ$KG;ANo,֕W*,U w#,ȨS?[)h_^,R6r깽"pC`P{L9Y@^^nmzN5x.A#nMilT=. +)f֏UDL}.JY2B۴]K T޲re:S;bD(Յպb1Y{76q(]t2L_U>,FuO6&j!Ya'O~;{%vHI HBǦ9fU{VNYW/rk`)ˤ{S-{FvkEe3g7 nIߙH͓T$J;Bҫtd|V薚ᩃ"mDh::u". 2K).6}^ܐ V Zޑo(?\z4Q蝭cB* ģ{rQIFfԱzk_%mʳMą䨃~8)UCٰlj7{-|fri 9A.HepP/ iK P2N3vD].Eޞ2p.p_\MUJgZC7 2Z*%gVӼI%@SwidaDɔ޵l F*[R Mo(4UDtвE* ll_T"uEѹ.Aؓ20 oY?HJkZ3vi'NJ8b6,{`{P =Gdׂ53)}&7H4{$|Ū$̿Q9tB"_Hن"oF5E8KOфC'_f`~ܶR$F>#a=u=1 z/7VCHR@R}u ^2O[$ޙl4B]eola1!ѐjD-B)8p%Rȑ %OP O<94OYYզ<6X !MZ%B[\rK gqJz09 .vٌV- &;Sk(<ϕm6/v$U#Ħ,M$]!u8|nL995%oVjuy o7ԌMHL'S i1`Nl;!E h3!FQ M'm1P܀g򶔊M弛/]߶ֻc'=י?[v-pZ陕`n WVpFKFL z SHޅSw.ִJK6rKtmz2J 3/.-"%W`협 E@ĉe s9V!6ؚVy1G6}aſ]+`m؇V&GԮ̂u ;۴\'oV>&?p8Lx܏.UR?D'Y/rtrL$Xƞ.+׀dj4msjb[p(og3l"_!r* K4U/o2`1e'<Y=|ўNၺO+=|B5#̐$LiږGU 2ޞd3.z0;__d\(0}6pZ0g?w P2N S.BX<قܸgs=SD* NZʶAb7VZGoX &R@Cn'LЛ ?-߯d;Vҩ%!d@7 52!كfBEi]eR!^t[4c=>< {}AF"gPn%/ʬ#j}XqI)=r~K, ˥ae+ǝx2ԊoXaRQۊh[i\* {7XDBL[, ~}~ၧϧހΥ*ll-fC^HZ+.I!a^?=`6k2 4˻b;!dzCbk*v<=NxJ{4,[7܃Woa@ isK#ӛ̞C\yw?n=Z'ì\ټANҔnӛ?%rUX wpr΂H9kS+@kG߀`_'.Hd-?CK^%tEXtdate:create2017-11-10T19:54:58+01:00%tEXtdate:modify2007-06-13T13:14:31+02:00mqIENDB`pychess-1.0.0/boards/sandlewood_l.png0000644000175000017500000011254313353143212016673 0ustar varunvarunPNG  IHDRg-gAMA a cHRMz&u0`:pQ<bKGDtIME = vpAg@uIDATxd[$I$D: Hee22`Y `m@g R0tFF:t ݛ qވ}?=/92f] Gkr+/PhwBB QX ̚rlX}!Vaj K@iA~Áj$ XF5`Uzи +MԆGs4 eDxpUot܈Htnp6+nڎr$䩻^1> 7-/eXJ.|nW*; 4ȍmn,*a"XNd%h{oD7̓7]\3" ޢ^`]|+Љev[rɇ-^G0 tôS aK_T`;,ڨ;.n.tDG dlp^h7مBAUBU"aݬK xx*7kC4,D asGUfÙq mh[HoP]`Qn<=u  .F܀,< kÑр-}ҀI@ 6m/ k]7ba چEHn3xjN05\ OJpsϱwx- zJ,s^ P nf]9 @Nȹ(:ax79^0 $pՋ0BZb<5QfiF#aaruB.t^ѹ^0:PiX 6 UDFg7?2>eU.@[1h7O&S a+փMiP/Dhָ:U7t-;j/t%lz 'gEzm  .\~Yw"ܑ˵y-6>^xy6Ag1mo!WWVބ.g ;*Hkn` 7YO9nEn%;FcÐXXesDv;ÀL~NSez"Е<휥ToG FO4ύěe/Is X\6k ѱ+лy7]<<ذ6NC/!+٥ \Σ FwT B {a5.kf ugXMtx&7y}D`/g40,sPɇp+ r]wJ6rW72@#[= C8̰jDHJ;P)\M?`07~ Ef}٪/XZkU5XB NЗ~@UhbUFFw IP]p\p'&œE<`7+FB B[1&l1‘Ȝ[o>;jt+2A, -(-]{b9:%B&MY:ijha,|w"xLD9\Xl~/BU:w5C0]at,k Ta4ق2&UnPE7v\h%R{ c:< NӎFKk)䍬lvEw6x,{4Y t uƚщȢkˆ ၭ+rd};୑h+Ȁ0*.B4 Ba1Wâd.-bl؜6 KX!  XF1Dz 4,ɱ@{<;b &<Һa5ufz49^G]ԇG7b`X`X߬mw=*Pj$\ý DB4yperA :Xp~iaa,ِYLXF.~P^Pg.@„.RѓA# #Pk}v?u~65U{4fò5i@lTÀ:B8\`W:PeH޸Rcu,~imSQjGldINU2KXpשhͮ.n$_u8E=UG@9A&:x6lHCiM6@%~D12,ĺN.x ʅfQB wn sSP<Ҍx"Nw_WM&bv.7*RWJeAk ȼ7eRsȗ,N'[5baz' zn5OI[Iq$-Z@`Z<b4;ڶ]B0X0.;LIjBT:y;P͛ɂ0%P٧:7yi#F{GՔUWh@WBҏ6IOU1"?}j4l4¢LD/̾b{]?@~/ǗvaR;\Ge0pF(ĐzIC(ÛON4Hg}'GN#@DI}vf~T'l  k|1Z_@bK0E lEfvB|-g7vqCcU*t5c&`y]7Po&0pn,y7x2BI`a0++QFUĠ´c Fi%yNPDgѨ 2 g^`b/Gq6CLǎB\\h\'Ԝj^us38!@)%4IpsT9` 5? ׆, *_{)f({#kzk>tMЦE܀XNcESu^-Iو:ҷQyTmf֋ϽRoToT/*۩tQш%PQ-tz-1ޗn"#;@-5٭/ZDSCtoj1$Kf b 8TįK%~ܕZ)IIlM6 mH}xvUlnsB2]iȍGh?P:;=7IlŠ t摮, C!3!-i (| n[iKtCy#WJ| ]t.OhE [WZXbeΔ9d,^$v]v7s%F(ujVɈDC2XR:}ȿ g<,9%ݝ^~L @,W{QSF Q Q6G%lяɪ s-UlLȚPk F^j#Rs$}u jIΒ$ Y|xqmM%@+k[P%YT,N@{|f Foj:l{1wo  eg:PM_vn, 6E{V(xۮFRd3a.9mT6YS)F*-ʼo ĺ"3wrtl։-#@ܱK Xn䔯B)&%/IPLtͿ07GX8vJKr̛;%7_0͚){sӲ.*TnC`IQ.6UP: !c(đZnG#Mɑפ8\bT* VYHqrvXi@guN' Ýν-m MZXSWXoG_H>5H=t !hozZ'ǙpkV\x"/P-W.6{ Km)ݣ43)o}EyC21ؿǧ~uVӘqѱ [ B] t`?pF2녰Kт ya GX/Xk$l%P'=sOW*F>0`U@6["ci$=BTٯ+%`/ߨ">潑,<HXAeraIqzoV'6D3PbjYsa݂ɟƿߍyũz&qT|` 8K?تQJ %Ϝ)kT!Ug NW#qŴKr>r' AAܖ6 ˧6κI H:`(KFǂE˂ p` ,oq{ }4},{xcuFB5QQze@J,Fe#3TC՛r6xB!IJgkPfT*ڵ:䷸FKD+޸C#]o'zn1 YŌӖt}]q@` Xn(Tg 2-btՂՃjW DM}PhluiO:I/EVAYI*EeP~Z B ωd dpv\qT}F7PL6tZƓB-<>|,,@apI[tΨCK[f,_bΩ;카AڭѻZ4 {:e;،i=&}8ੌ@盖Y[hw$ʕ3enG$ Lb QJa UVLX%*qXՍKknР)cǩh^%[/L~G<4 zْx!1KEelnb9g<EU*KЌeQ0,9mm_7)[0[Z@?UQcemHh)G a]vbQN\KIޗ:KʼnmK׷X5t;:;|/Dr2[<л0IblDB5C%~@uJ7ŅG">  Y 3uy1@]hN,rcc.}b\A?dULjYL[EQkQ Q\qɱ&2n.eN,1E;9c-jG9;y%č|b,8tZƟZ00. ՘2kP΂2#=غ aŎcz~LzmR4tsl\\F ݁ @ \xc7'XTK!GYr6B&T_1i vi .k`6Vfnud_'ѥfZWOW)Q-Zn-D FeVD8 Qws7wj"~X`G`X6ajC!b#x=86FKiLJ`''<G{g!NBKnE G(`Y4$>k'4a ,S6~娗aWc`ZCTՎRĿdِ.$NJU9!%7uG&_H?mw3==FtkgsyG¶\Mޠv݌8ĮV"]\g3j(j٩-@1li äg6`BGjj PYb.C=l?iYmե874.pCf}8iF"ƮyK96K0y=<^U*VƋp8oA|\L-tUIz \êQKHjP= mNM[dRGRM ywT &)m=~fv4X\Z.L\>luM))1+L{&ofۨ@ʇ( ?9ZQVSyS$;.vr=/צv Q9[)83!-иρLBogD/|Տ蜑>nt}IHUfI)'WNw5 y,J?wdn'uW\/}IeN PE/IAz$S%f_Etz A.܉a@aݥF')u('Ly̅ՓG^o4y` S] /(2ff.c-- c%e|sQ5NME@Zwv .=:RS4 Q&u2Qŵ |cWb5ܓ5of0xR/hE&Ym3vX?efA6JItH{p}}LdѢeݎX vZN njxi31qakroe~QKʅۙʧ_uP[(>^9{X:u*cZ QΆ88]&naP\+ wj1 M'Ua_D ; to8RR@ot%ojLc`_ʯ&=ȃ_،j!{֫7O[` uIYBȣ 8b]ͤ}[ M}_~eBCTI#z 'N .;8]3K@l%p}Z8r7_ݣ`f̂! ll2Gp]T?ܱL\*%ڈz#$.-̵P'QnX? W*Н/ݚ55H:Ɩ8 2@ 0! k /M ,i%_R0LMȄXu%Lr婟׉'x:Z6QW HY=!iLO]vf,/*kX宝^$"p:Mbn@HXot" SWK4Oϴч4nzkˏ{jq(^uIQNx-@ݠtxرf"6Uv 攀%i \$ EEړۙ&6% PX؆X($-Ɖ#'1/)$ɀ9՛k;bl[#,Sw4 f_ VxOņȻ"=WlzDKXަNVl*7xj7 E7A/L&^peFo]T[ZrhY;Nn~I1Dﶚ)71+ᡈ7nPIT@.)6Lb3dMfj>K{J%qڐj il6a4J CU*i#q 9Zx#TP\h^7KẎ9J<ָɎa՚&"Uvɣ@;̈́_lnJB9%| |^)zÌ 0̭ҥ)OUEb&άpv?3L\)$0 8!|U+6W(m'Nk3j'Ë'УǕdf[R/i'gNr-=)߇ 5秱)MA-r$(V&"l\Fh$WPw%t񥋏/`k8N>u+,#\"5w GQ`'椸\5~-MvA@!>Z{sYCjLs5E*+%?⻡z*^TLibLƚ'g`i%lF:S~Uӕ6+}Fz?iX sLd[+S$䝵o~f ,;4\`u 3W`k?Ldr. J*P[mC FQZc` g8G6ŧTTȂ+X1 V&'$D-:% v@Cjtu%E{r)?+x:eٲޜMXܨ2@\4IK؅B|$nNEd`" 9ᰪ* $lj𞑊T e7n}V,I"nV?s bYs.) -:H/EI[lHK@IEC9 ؠ?ǨDqPʇP/aMLC>"ZQ7cИX]mrIP1umO [9 i]tC ;E•My\Y:yifȊJ6ul ^/,&LpHMx47A#vhcjClQuiV{N8GIL]F4Pna``}o1Kj%b H{[g,Jp`1@,Xq9B0L"11 ?)QpTHXxO1 \m$Sq\b0Aݍpb)߉Q G]&΄ _ lG=D.۰h:uK Ig*Mӡ OF 5*z}n|ʭDs2ބvD7sx+sTa !;QSO-ٿp?mr[A̤O\ /<$5]9 lEh5aʍ (29}쎫 }JNe8xa6~fg5v?2,-.,3#O=~PnAJ_Ok0'/)ju;t$ @Թ}#-qB,z™ 6\ ن&vJ%eлQq+qX6 5 sجqcS baM|vM_Ⴍ NBqىK Ȉ~ y6!n-v;j,w2!v A5ԪIGNx*@7eN%_:grۀ!|\x}:H> TYOƲǚ9ðwaM«lbӕYȈx90`Zװ#JEUNA`=7>S0 LaM(v[uY ө؂1 lIPlpTo6(>ྀBI߷XRmb5lP<*7vѧw;՝y(ҶZIY˩pr3] ]%K81l=S۴ER^JK(&o[-ႊGL5>SkN_ՂځǜiP88#KMfMr \ZI EnR^ئvD.֘`F*Q[PƤh|AV rZ1~C%Fe|k=p:Ap߇*W\ -h;`]Wf:)JdgyMxܾXW2U871!I?91RA&8{n !Yu2wN"fN 돏"GP<ϿuZ$yh6j:&B'Fy:1tuԜO$[ؠԃ*+Bh ! jάrS<yvtRL'_LěiEv N 5 cawVjя9?6ζ5@ fNM`AFh<٦Ȇ%86 1S(}NzQ#&7q, 0T$JU,+Pjp!BOb;$7`ߨtxKoH9,KҪM,ĽBDh9 t}p4][8S_R< [y(1/GG@A9%cXЩ0H!fkVL lٰwߥka 7e8nF&=E{6ճ*Lh{ kI_ ƉvSG;6jBt-,Дsr],Px˃@^KC fpsͰrOumփ4 !C5b=2{('B+XwA.5ޠ _n^e4 ]Je@qUoans6EsiQD> 7oqq[~{P`/f5٤!KQ=0X7NCϟh16܅5,`dd'ua7ʜ]2C1Fif NNœB?6" U @f`K`F1VJz;Ɇ'[̩v܅ X0lq<M.{S1Ã'')Q|&,X4<oPPKYd.>`bbx}Jd#al&Uв+viCAOʑLUk:pѨZDOz9x{/6~ٽP~6u*FE&T5ӈop$9 ];(34.}fL5dqLMs{h YI=.ыNHr]'e(Z!KT+H -Ј+`xI6ݪwZl4yw(>ƓbfXQȃB'=<c2Bj6u&ɝDF!`˔xRT5yvjI)Rc*ȎW7@."W!g=bVzV s:SO9 4K >4װ/< 65ܹi8-L'DU pq,Ju(3mbM4 ?`']OZߐCHT1$]yiOve@(l_#L0,z!ҥS!yJmĞQʆד=b3a, qܗEՆ(MM Kǿ&K.™Y3 }(>U'={Z;7m_5] RG@1Ui<|N-PTuDze7f]c=BC2. :o-U24Xȩ7˨,PYaJ,f]gl ښŁLEpIFRa,2)G2 Tgd6ib=U5Ic?mK`p.`˦ C C@/e;%m_,C ~/.B`"/Y J,i4ނ*ւ*->b-ZMnqtv_\5A =apy-7 鮼;Ya]Cz( 0]'(Ӳ3cAeIRpC#j`-c1= cP.3  ˇi%v^6Ǚ:0L OU|ñHjXY]:.Cf:J5qBhfDEN btP5;hc1R R@5ݨӭ!53+W̟N `ͦQood;<!!om`E8F?nX%{avcŋCFi-i j]gzis=iO nS9aJl7J$ѫq7L m.jY2+~*%|gX,0+L"sPH !܏Of\_ucL9bByx!Š% uK`|`>Mوd'Luʾ@ mRu0}IG]Nnz9dՇ. h5YLG7}Jler=ўi=X0[Fd|vw&@0z w5VӞuT?1TV7|\F-6^m@)Pt++I-dJ(6Mm9 [^][D僙V[ddg[]wIPn NN/ T*ZBUw![7dI XaLu1ol=rm0N6Ժj>9kMgpeUԆN]do#F+=?w 4;FqP#_3m N$c\/``Pʾ~:]ˆswOx:%c[,&uuVm2o lcfB@0nkIʎGM!a4_23yGwbXұ7![Q{:P-4^Rr4WpbJɏ#0H*p~C4eHj /8;Yİ ŲIR*&| P,uvՑ'd Kc+U%p(#F'mjwF #TD[ϻe7*Dn]nsCU'[ZO (XJ$n`ഓ Aޜz tW#P,(r0*%7u< *dr3Q$5gM1` })ЅB-}?/)L)pmÍ[q>ᒖ⼍&I]v \1(Ūbrx5pTוNoy&` 0/sC.F|iޓܾ܆=r Dr5ں G)Jhĕ!C8_ /5X::~87&F8 IE華IbV"ld>Zo~p*ဵl%C6v:(Ym9܇2EbРCf硗La*dSBoWQ)lt,ߥj3Mr ! 1tL"|nߤJ_*Ud[RQ=q3iLI [?J5š,gi#ŃU`7ТUsd QQ#hv'˗)rbu=7Å,az#x [8AUa%ڌTaO&SA-)IexM, i\tQ҈Uh jHLs0_H$VA:95O[ l^c? ӶYdJn̚4-=Av>kL9ZRz>(DW-#Y(Iš4$6rҥHM7j7MF=GEq .%ש XvMYm6 5ĝ N+kz CAÝu\Vh`> e"p#L!ܑ7xl DÞ?oZQv|Ǟ m}8B ls'+#XG/Y{~1?B7fH"YB mҕSV Rzy ҰLcRgFE"72H<%=;RNӋ$_E O6l<0DVRcB8!~ jT7LEKBN =/4nt'^rY['ąB$g]sHH6]Ӌ"N!@,Ot޲I{RBɚ#Q, n- # h܇6U5PLU9a7BCŀ6IGa j˙ , ۋwѪHyD>^b}Ua3Yܜ?+4Ŝ8MPWXvPiKU$pdzSz6f̷#ߘTB snZEp+Fly=L:>*[AHd-V?1tp!w̝?G\PU(cv#ko X?>AÅ+3|F %zUdA;M*et9 f hzQ4)[]wG laV#`$4ψ!0PRɐz. 6eb t%Ol<yPxjȰ@D_.w9S5xY.T*NMo4/~2XDzT6V["x@9}D ,.ަpˠ+yR( = SLXe1YYTMl|朆4\_.0\QAa…?x)'́ND'`KB14Xo< GĚ"G;/fa3GN$(sG!OīōgzJ,xZz?sN`)d!N $U)^UyԾQQd(lj|1CkɞFTAg\G45E Iho2rTiHIU~i|a]rMݧF c{H6ג:O7O3boi-Ĝdv] {<r3MbaSnN88' W82&`]/X'CJ105ʬL]B2I h$N"4$0 6U/iI95ˏmj uڌڬ-H&"<5чJlginC^xi -p֢ Zh%lx:$ayj1LRq͗:L' nm]yn~=$5Ca(WooX̨\7GsUtW'پ!Jib,K!,y X$ܚgGZӹpV9v+x(sfr ꘈaVk's*taF~H[[t+1y_Pk៬tW>4 XXFI2u'CɨBr ,)KSC|bs3h c!ԭ(qTl }`R+ꎚR7h92eܿJdAh$D; R,o#$~cPt7.#Oj4qZE AnedI\ɡnŃK0{c?Z ^ doI.FՒij5C?zaf(GF>d?|]KlAuKn6Cr]ٚ5N.Ʒ~Kxs8ԿiCXdN>w7jKBOSy`%0ܐIphHce9ԣf" 8WbA4ih"F 8# 3tMrzLU2I5OXZ:  Ѧ!dwF,5oz!BtbHyW`!`&X)GZ'lڍ6kHrޑB*7p E?"Z&otѦ >;r3-*{~ SUR:!~muA%QWy-[hlJÈЛУq(5% yX^ӁZ v(vsC%jEsԿ$`D%nK z@K[7;|a+֠0YjL0\4#c3o!0c+JN+~4]Tbh~jRa7}Ӱw):M]\6B}b? x H=8d2t {3k()@;kJ^0/7mh~uM*i ̄Mup$ą_rmʳՂژʣq0!&շknS_Vcbfpɣ8He6D^GqQTp\o˧ {3933pr{D9M>T07dIF^Mgi/^7;UN%íTfnQ c> ra5SDGm0˰||ѥa,ԘqYKvRv=-2;&&' Ed: wV3Z5뭖ǥ#*e~ m~7?17x8"$)5 Oa8:U(J(AXz9E3v3Mh0B_`#emf3kÙ͠G8R*<0߀3!VOf!'ƈ[r)*to,'ۄtr(:Yț+x bS=x34Ұ- 2+ `l0Ȓ+׏Q:Ӑ0F?axHIʈY-Ӣe0̨ÝTWM'ʧЋ:BTM͈ݪZRؤ+9CJ]pa5Ű_vFa~3([|dl` I; ;n<i)=sg`ḲΆi=Fq"KU6Uٍ݉`,†6ˌ)3mQzfkىlEp!Ԓ &Tt-Ƥr?:Wz)ӤZ-#xHlS'U)_([gaM욫a`uS hɖ+(yB0682GБGJzX\b  *VL;mS.C'X ʙd!M I(9#%UvS5>a4쭈:6S`mX.G}asU 訅nFAPPN̤;H(V ve@`wLȧ*|4$ xu5숻ox={H$ Uc~>jfu kb~ ̷~&%Ȉ_Bl̈tI`JsBaҊio|"b/2^J+ kN)r_6iM z{3%pJ[8З9!ϢFӝ'e&?G[Bʔ2#|F_~0 )fb rT֥ՔFνA7s+TDV0:cѯ(3ϔ'#Vy`ߺba3[ x7R' +%ᩅ`Ml@[H#*B*E,@fVۯ\@ڐwe\99*%}PJ/U7VGj!:wǐ8|@7J-%3x'1fm,kx Kqh#eݼTOjЇf ɦ%}yA(_p jC ZDINsva&E9$#k_XkI.Ėn4'^I Q  .PrP]Ԧ~6Jֱ7pq۳db+XYh\(NL5ao aYF6!#[RfǏyseMX* i(6׉T\f2Cl*KN,i_(WgjڽJl M0dJ h{\XB3Y}#ʘfE1@kTqbnq\nEAˋ㺸#X0qj456.yKǒ^y2>1;"H3LL&n.8Ȍ(1nrӤ)NzhXud PS&JBKԛNI`ehH(uf ` ^"*)ҍfpN_eM̖aKeTK,S拀HmVARP4,r} ìօ7/m~2(6a|oJi7;T]HR q!3X!=W"'3$/09JG'DɊ'~XRШg/qP^A({᜘1 큮Ė2o͉ O!^>Gh[9=NҷrTJ$ 5cjoseX;'l`dxgE["f8OºcK掀mJzvaTf3ƒؙۓCۣ|]*vZ6|wĤ=lX R;Vԭy$ASP_HY&ɽ{=C?5<@0<8Y6@I̛NϩAM";P6W8Rҿk_JNۘƆ}ysw]刈&1n|6OTW ˕G2 @b+CiȮycS[Xy} } Vă yߚQ5h¼4Qsv3f7,<:u:8N )ƖإtyFe >>)&9b AaS3odt1aQ,O]c`0VTP1y IⱴؐS0 1Ԡo" }B<U**İ0%gCA<6=.غϠ>6Mk ,vn dˊ.~3(^!h7c-ٹT:HiHB~sWo.jKӉ8Е F'6@'|G7sua&]* rG6e IB5.RI2QU=Qv T#Ă'LO3L 2s ۸.F`5<9/+)h <xgKJNgQv VgSei4FKԬ{(^V2_|fMhdNxp&l]=&5keM!H| |IlYn#cl&](PE8nLtd\n=sa` ʚHGG uĮ*sXXp> ^M&G+_fG A 4CS1{8@4aj5 q^A|Ioڨ$9=R 9H4#$$³#qX͜S+x2 Ur?株}9om\9`6R8-:.Ħ=#Q[иf2Gvu7o# |\d,c N  ga*89ʙ %F8S˫K'8aB It 1GY ؊.ģmNWW\ x'uF&LQfTQ3ˇxnr *vXZ5l&J#m䭭x~m9mhv6wj9^7CC H+ 6+ٰ✑j,!N :>iο1H "aS$.Q^Hke)Oi es嵺6c:m%\XA nl)ttZHۋYԽibL7pT Q8@kBӈ24$ b"l?Ee$qJ:BkT2M `@aaFkfSRzu3pܜ+(Ynk.?l?o% Z[qgCaJ] G­(rUصP TWGO377&ϢڜY֎S ̤ΡJ3w}umzi09^OLGck4(d Fi"(IG]2lFT51)MYK jS )ςa3MpfN38akMv[ ;Ϋ~u cJAry3M'J *ɒSHSFI!\_ z@|l%Ԭ6O5p)H*: !x8T$AUme</ս7D;Y#I(YoQ{NE >sYQ< ".Ǜi.̰BKߒnA1pP\U7礩GBՍsbݬa"kOPD%9"Y@Zj*e@7X#c^O v#Gx'\ ?^}~p!cK@̌aftptc%C;DK,i/T܂Wp4Cv:ȿkR;S*93j&^IR$. -ⱵBRwre+p6 c'%TX0nFhi0zYI<4(A~V ̍(koCQ/L0ΑU@ p%|E:2 J YlݸaAoTM׾^*K> S/.!m4nRZ&ݭ'="_q.mW{ 5gV:@_[7Y|;DbMbMy24WWzhXm6b d'.眐֥eR$E-DxV/t JojX3/zNd"ʰ%c%^ԗ-,x~<(8a;zFvpqӏ y(9̀]+6<\}4A KwX$0=e薀':ђ /PS&"y\R"dC/ y\E!0,Uj S eQlwwA7$HP)SJ)Y0l[VH+5JhK Y'eDF##Y9 kdpDH3MyZͧR󟻉1) A_X9¿֙p0-$] V{MҬaO$ /nAR!r5`;t齁tGLd) h2=F"Yj y{a<)Og; VlLhT3ؘNW+} h_?d񮋧-u,Z ]L>y`2bTi9Ӊo6HotQn!,5CeZv$x&M`ᬷ 8GMkB!~tra5L1٤!((O=Lϋ0sut3AD+(H'')Tz>)Gw'1s%D:>]डޛyjDDY]pΞ =̇g6AREI3Xt9Te(.r2 j2G B!h (ZxȥkbFiP 0Nd[hܥX%䠏级O5txm@tnA9eY OcMrjk%+xH5/nG{3dȣu&9ůR-k'պzJ3yfΈweG(q7ٚ{2MƄ'< W\ ~(NQ:4qie1$Û.K~re5$eO0P S1ԐmDQԽڜTq'LR/55ⅉtȸNt5|Q]j6Q!VJB^$E:փW&ȫ^pk P r AleM7}&fI~M`#{2y`NŢCm|R`( NC:25{DB 4QX"m_KQ.i",(5^J➡HTqB?̦"CE8_T0$hQeŕ\1]rput_r*s")O2RdLj NA])\s$"5)X,ZfP|P*s^J,}y8W'A\o-ewtG) /`3xɫҔa`z,ʖ]u6'ojAO(07Tv>Rʫ XIj`t*ʷF8k4Ƃ_4H؋\\[!]Bم[`V,[;#0*>Z!齑 4ް_RcSWDSG=(m[& }åESbU*)?+hy1O99)x;Օ$ʙ ]@֎m}4wP oo,{ѵ fč<877 3(|vlpÆ@sI,>I$Keg"PVu$#U[@~3YԴ9z`3͎"q)MPMY&R #cSO6cF,f-GVqi\3f&= y1Ïú 5y|l/$~T/gQ6&cAƲy`/Bd<""X6Ydj  ̍y‡;='B*=~\]Ȝf"ك*ɃFn+{I^L)1uՅ5t*~GUleVG35 vK1@62Ll^`"&ovhGkSi] nM ?$Fą%ossobla][NP#5NXFd\?7E92MRv9 w&ZT 80L B?AUq"0}-_pB4I%x ILn~&sbLbIj25-xR9Uک#%(Ԝ3!A)]lIRkM MeҳXgJ[# A4=Rtf_dyolЖ9(%U.bUdHG׀,f}$ oz?=x/Bu`Ģ>9fP*=Si;kRaI;90JXp ('|N@Mp} u_(xbD#&$@C&W25I+YC{}0=s A8)-qNy 9(@M&ha:Do" rq`B^փج9LE%ܘAA RZ*izqlQ0Q7[8lxtCiv9ݷfu#,PB,׿m%}1a &Ixr]3Z`\Ctpσ?4U7]v?ԡOg\^<oi3&YOFS'o?N>*q1AUt ~x^ ᬷj6H]  .C&ޜ,Z&^lJTAl.ڰe%\NK>7KQoG 3nkUgF2ę]Ӕ҃R}vM>d*ċ-K*`<;mn_^؈Xxj#M4]$d OyyPP#qbpޮfnj7GJf s}pŁ@: bb6qLϦR-xAM%fm;a{ tgfTX.TצFddl@a iNv)v~ b(e _ؿF8QT4 3{R3Ľ_(,boeŅo/R ( h]Ե,Gn@JsK3H nʾl@VL MƪtST&}U~I"F\h)K±uϩkbzOM2 >V`vh8 hg53FoB(aLV6 q9O6)Ǔ :U2L9X|  1\D ^-~wjXm̉ZW9!;;b/<`9dT*@i0aC<5Che .¤/ 7I^d({4~s x_f S/YUUk k,/!t H{_} E/tƃb/Ҥn)tCr*' )rEI SI(h.+tehG$2t+tg=\֙jE@1+yĥ?e0(Wx_Ĭ:0y7?WԲ}DEM!<."UN&+g\Ֆ<^Tk)Cl% H ^N aMgmBz^4'@LvSln "f9#^Krn0bcܴ6S'ڄgh@:0-8aT ̷m5@BXwMI]̿n ڥ.$Cdbљ)[W4?EI`o16^ݚA"0>LN(5iClBL|-0-`Nd[#Jq4(F4x5xB/Sz/i.;WK{0lo9O|pp`H+8rc?u!{ juω?9t_/ƻUM/OI8D9gZk&1*);_`qh+t]_;׳%iz*Z~DCuJk 5*B/Bl/nzC!hdH!3k&5f n%Gyݲr\3(!& 7O/mVJvq$X {3t{߆Vd+$d^蹄Sdߗ+&:Bk~"^l m$6odnM/F)F */.%7 踃PO ,-n2FBΑ&ZZJ!bC؁{lz@z0*,;5q,« O0LIf)6CWh7"dJ6(2:'x4*jO'?"_Ӝ"֌oopKIKAU-ko\B;Di:*G} eQi9n8DKT_Jy!ۣrA)^uX<+#">J=$]GIJ"sa3HQFEh#vK+ G wKtǜeZemʼnb|Si)[AS%hJ*wҷ#,V{+o|yBCg-S^= tMiFPuҰP{_v[Vb)ژb;ar~o ͔3BV)2mρxLA>fw=!V-u,$=;\4`ђTQPhvLǂ*jqf8:kұ"gKKt{Ǒ{Ƀta@Z԰KWPjC%%4PŜȍ)4;P/sad[#.)C&uDz}1fBV+oqD)wvF%B(b+!qP[:6dSg:@wCf*P~"Öw}Y O2P5܊Č7h$ǽZVYe3,zĻ0%R|Ԓ?斡94!/£Mb;7񥔕+t1g~d$@gċt'N'L,<.Q1~2!eP7%# |u RӞqJ\%6HS%"L.H'ua0FjV A=[}S'c)a׊=J 3u^1=4]D.i}%TDI;/RH{eâ;U=Pڝe4> D%mHj7.D-C.ȘâHb<N˼zC[>U(hLUU]FYeD۔)+#sSSYJT<-OmG 70|l\V;ݹ@#:V㢂4 FyI 02WiJ1qNa$SzkbL2p@p E+U-/[ 9UhAxUX`]}l,l0M )U JVm*YJz]m}`r`u45ctmW{;K<Q,_ F )$AaPã.8&oTVлrK¸:!Ji!DiqQ#A/Fu;26q 1L@HF@ x4e![VzC,6 0@+ !PZY3W*OT#cMAVv'&z:d vҜtVSf@MKs<òC鼧U}\f9U|JL!B[TbpvٷPñf5+*DFBuZYN͒BH7n*0YhLolZʽ(0ސupJ r p/mM&!!ԙ3&, [N:> cOHMjPf|Z/DH^>43?P*N!^sTIOUᢊq"V49iQӜ2)O!qoHLR(B%/!c.m).J'ÜX>U-a;]"ؼ25Im1 '] %bI⑈̈́fEc6!dap)}I^̙x;+/&d2`-Ӈ,eJPE&3W[.Ml& YEBLn6Et [,-Yj6 9x.)" =Č;GJuːK;0ltv.Wd;6QZ0ƿjdF U&D1Ұfgw?$Ě$HMJta v V->(NqLO7ș%>BUGTZ֝ӌmNsi #7)bC·JXUW/`HKIGDoNK`6ިz1>!ID ѯG,uy`YchS~["n|T(;bAo!3?h+^cIXã+% c]_*K;B1MBH:.9s;w \b(uQsceLcqxNA2I w?2OU}MǠ{E#kXjdE:>6VrYI748MߴĕJ@Qi լOn326KeJv|XYAAIϠ\ʦHH"Dt<#40a#ĦmK/L嶖5ž6)ooU5MjE?8]NhGb`DZ~s&t$$2$T ~|τYquծp1E?F!;1Rh]iz#ssyAfQvG_oF!q[-x}Rݷp3%֖$fbbxB Tۡ-./}3KxmJdm@Eh;}slK˚7%=u1=Cnڄ0 ,5tZ=,={;SPұy\bD1?b+(cj'XE 5sɡYY'c< u+>6"s=ln  '+s.F%aps +VQ5։4=8J|i;{4+S>{NrbȇXƖێK]fo-Vy^ce7Wm#UGpU55I$h<ޠyae'zf=mD&wOʾ  <+d `6P*oΰ1 F"zȕNeiPTねdU!]rzi:ݽ?")5~[r?K֧8XգQ%1wNTW w~]4LV^= X΋HSw@ ?D1 &th JNRk]K{0YXY9`"ȿ%AIaHoW^ lT@~ak3=v8h#;iE]y7mdiJDRY%!!"Ԃ1f!p%xٺt-})x=>Ds`m8^%[Uغ:YQރGGĨC.C1)U/I0mzKG}V՜܇Gు5P;7.dI3]kV4S18]S>`i"e$92l{7`6}WJ|i %MW꠨KK)4uUBxenxlk qkt;] ^~c2o]!i9 D(i4;~|l\=ZfTo#Q<73v=[Nn4~0HBɜo&P =LsGT=@C޲nZSf~z^5v1K&[ Y葙.Ё (sa{v2#M@繳o ÿS`2"/B"lq({GՅ %#0pΑNGw) hq̺֜4}R;'Řm:+.w [̝_#'ѧ$ԇe͸B4}) )2u\ks=j&֍GdFٶlߜ^fZ!ʽ.ͽIuzuo4. 9*NQΖMYn:ʧ*W* MW${=ǧ-$æݽX1M-jU 2ZlնGgQ we?5e>/N C@#iUNZnM)}Y],*v@{=wZLZ6 j\r+lsy^ɠg\#Hd>|D;&(<zeb=MsΖ󜗫-^C:^WW>\+s 3Rx|u\ٟm!rJ6S||?_`l ?:/K^ OiߴK^t_颕؟?z](H~+?W[?lUo'`}k Ȯ420g_HJXa"dEʊ~xpem}/?lE:pXHgƣ̕ =9ӏ7sV 5":R j{,_\ 0~(niH Sm:Ow^dl7>i(h{K)ƋIO,{.@ήK3gee=.NCg9x|\K⥅-&x9f5[<;>¯_;8_\ +R\a#}% R8AF+w~t2?Ѣ.7^BJGRD^eOn$g,!RƞXH\o&Vaa+ށqBwXtIE7!a5b!}5u8ORbzUÎaZ1/F]GFO7V,y\bf?X_[/7ł}ɽg!!0RA8逽c-a|΄-ED0Rl#9یUA_Z~~^YV`2d>e)Jf~ ع Cog#t&,)Qͱ7X  Oq]~sEu2;b j >z@}A=֎L!"/Z/ Bo'NWj[r3$[riRO6s!F;%Q<ҡ^hg\7䬕3oˉZn2Mxd2|48u V"}5L~(V +R|kaCÕr"|k$+d3Z_A=ɾ| ol i_C|yjX>ME> l6̇1ggˉR*H h}e[Q\vm ID \YrVБh~4X$k'鶤A%?ԧм-pWz;.1CVP/ `eQ ȭr+Y%Y{‹$m<% mB0ۑPZyYt .j"$`)=tͪ48l%BE?i4#HT~' iBcRPr ~/[ޖAy-"h̋NtDɳA݊,dc|6[ tF;{ ot8R '\ZVR?K q` %bA:50 ~_҄i0FWt)z8 1{tϞ0OZ7#nɭ=7ς>*}>}RːRR>ةDWm!ˇ7_~ !߁e7گ..&3^g@L?x)}w-v:~N6y }|fةY&&M/B.[R ꟄXq#0l |:A1!x3Vq+4EQ"%4 ù;m,cfJ1ФQbܝ3%ϱ_,YsٶnbS!zRJwHt8+!"_s` `JsKZ̈"h}cm 111iJ<<.sF$%Q%xiߥx))mx-(rcE#X7aV1p O[#X0bd1%ej~~z64 -A] ]0+b11l^ -qwpBn/!z=|&ч \(B*d **B31 9NdyS /kQilߠz 8DDc͟xz~턊TjΌ.,O@3.r<5d)b̧dR\RFtƌ1OXkAIRexķ.H}.,Q4{ GMA,pkM1%TM 2ct_!fζTTlsހc!vABiU4/X?JA( O!k򢏃 씩FXƮ1~GT_)WxR&)Z~m6P.Ǭ]/NP(1P I4+VVe%OB1n7mp*G@ʥ޸/)dBSe=$\\%.!S-"5>L Ia8|B=R +6$9&R ׃{x>2B&ȥ*@2/HsŰ sՔVOuAc9k*8UoxcR 7s/ NӠ컵t< O9~M O'Wu~ϱ0xV]h)𤋵}Wj#-m e\@ >PBa~$r<~JALna#PHNc$K`qE^NB82ͅԨ_ _קL3FF <ŠMp>.C; =P[ ܯ< 63]r'@ɬf2;H!Cb*8qb)q 0o[Z"b#Zd꯾ _\ƦOٙ 6Sc !4͉JT?rr4OK/- LNи!'ݿ#N=T3Lȃ "|Gl4Z,O!G&D-I@/] ֔y#oV4FICKVAun4}q)pc%qßuƗB[V.ʳp.& IZND_JE a?<aDW%k7bBZ ?! #NhM-K6<.QQƒ㹸 ̈+%2C\;4kjh&yT(;U*phL1u ϗ,g,֛rq v,J˥ 6=1DO*ȉ`[U-5T&_ )=}yP +S?'%E3Щ^[aEXBit8>HVDA~]͔]1Cka4xSy1S֙s!~Xn&͟rx܈dNCoChH^:˖u7z6 4IlEE&L7zE&? kw,%Fۆ ?πBƘ%9Aѧ(z״{DL}Fb]i-Asreu!FǯFC7G?q4 -vgpI泦XH8pKEJ4Rى5 nLN U3p,/-Z {&%G});s`]Ԧ AqfVO r$¬"S{iBl)-x8RE8zi9AI2gxUHryS3%\udEC=j,ň;~a=6>TJOlB6]; E1_!Kt4H(9.Q͢9%rPv$f'H.߁RrP +O0SIA2CMm@*UOaUS{gdv$kY7/3fg!]}SfTlQ\.Ff5= efJҌM_2U5`a"T./ \#+Ah4e`٠PEI; Gacl fQ}S&tBaS'>IQLN%J聥 9mp#Ƞ8x,Oį#ufw& `YUx0Z:a_YҴ,p#P\Cv?b-^mL=l >mCh.So-<XmM?{X#Q-jh;2Bx44cµp/ W3W]a#PD|t"jDFBzQ/}gQ'R8قP<:32"/P3cJC;ps)a-Lو@8#$LUVEFf3Ca I)&አB `yn P1$2x%?t>bScR&熇ZAgqDVo@=5=_FSxeJOM/Q$äB!5`*8ILm'v{*l,%E0%Hhd0cPPKDri M)"/YQ'X7Eױ)S>x&Dp0QxA9+F^Tt2|X AEx"Z0{{f-|jB/2Xkٸ/sԉ& x>]FvKMXG1k8)-i"jњI0TPC|!TFכѺy"z6Z$P$? & !oEs%JۍkQ4>4DQHsizED:EoWSAUDuN&3b+hDJY*&eܶmbž`F<]"27y?J}7K‰&p{*7zPUO ڻE4H7,$~ Z4JIEsb' r}u|;>G?.}h!w͏طzR{ Q;.4nb؜"Z$0m匔GJN$deS ;?.ϷФBSֹC(׸#g/LP\P+j q Bܘ?=N72bb[a|RA[)Z.PKQ^dI\<'&/tS h=aG8V\B"hGS5*q4!b$ECZ}9L9JU.8<hΖQ-H2p&.,Beᐅ'> ]ځTE٬'בYC@yŨM0(TzM`9ZdSKĆ;j85 Y0˭lA^*t!GnsuJ- ]CpSet4ht8Be< T)Ru'0tq)\^g waU~(: Zk6E([]\Lص5 ~urR:mqʯDq-^ Q6YMK~0Hʿ|ܐXF1-hQQ\;7ܟ cC56ʁ~JZ"kR|P|zOԕ#s`h㶷M3:ynS;0;$yPLF)# @d@Чns3RJDL˅rPk$A(JďInI]F0?uFwvВE2 F@ 9b} `] C[~J=OHį}M6uDZJvhT=f!D\Uj#Bo? ȍ1G6פ.Y1ՖPKWrZwJu^Yc"L5>?[B iX,CncD51IDoY VnDeL0x+G {#luXбN,D]C GT2hGJ'6}][h\=q"N~)~@Ei!1MRCwAf8"Uk3NrJGD e?F71I3:&d.!7y'ƹ2+(B)oG]ЉƬRQ\ktle\5F<<&ՏᨻWUi5YXM6P74٩-(|,gX0;ZˇY|EާB65{p#? [n!@GnbzKMVIFKyV=3f {&S::*M4q`<5Llg7&ĨkG)Bw\-@'m߂ zQbd+d` -ZոAs,~M]*Fi G#j(c0ѢTC(hh2>ڤfR&?)Q0L'bmd^ /K̿@(VݾJ/"z4DN߈dABۈ!ġ+Mo6p\|eV bYC2AFck1ܷVH BSOxNٴ gh<̢ h#FBu-iv%e 0K4F.әM5]}#c i!%͵84~ ՈubiTZ"4s xL6ӋȘ^C`n?YbyAs5"/;ɞ>M#B5:N+Š>2DE4jFjN'|(J%khUYDfȂe }$[@ M` G `AÆj٨X=9oMsfP4x:Jլ<$b9@HHC Y,1w8!+XӀ ,V g9Q~ηӸrY4IGupi(VED9θڨʸP)NG8K惱@#3 ٔkVta ,Qo,[7'|lsD1#.E$s#i]_20XsxEZz]2i F jl$[Έž^Do T"emC986/hm lA fN5,rA; O44σ ̚"r50 gDp3.)Rυ9WGtd ~,DB3A;%y; ${ph3̢lhn JYyq!B9`$[#4 4<9D#;ۮy<L E"DPgI8H}1)Ieo/!9puEs%岂Yǐ%y= ;v*^1º./ET=9Gצ@/EeB+ 4 ||ELZLZ u%Q)CYK[e1nuG'_T'^?w  B C]*+ ,KU2Hf0 >eԕbUkשx9AbH*UePcq2OZ3}C׻: 75#W ٠kZ }D Z,MD%z&)QɃ3 AG u^K6XH2Wr&YDsZz"܈e/\| ]̥Ù/&ck̀/']Ҷ_X+AN9SR[׀9n B~2F4-1Ŏ|aV0G\y0%j4s- HW/̤RL"_X2ğ"8h ܉ڠ[eÛZV1UXt6Yd-T sH[(^ Zu'"8# :6(j>T/ֽ]QM,k0~j 4Llt`} 2.]&˰8-x Z9 fp}I%q:h8AF-,!MuQd 5A,vA  !lFzA אgX 7jJ,F!u?xEi@"^%CrP9܁8S(3F04ڿW3Y}pΙy4v-6ƆOTI,%8bDf~-_<~c/$%[I3wa(DG9%tM\3uRq05.3]dtx,‚H"|<۾'b'%/yYb4tV+pkw;YZ^N_`e}~դ=2R %E14,x$XPCL:nYPl%3\'«),e8vK=8,@rh,FuHxTUW@ [@S=mB/TAp$W$#a-en<=uE,:qINw kcyOC.8x$ D7[UF :prT2qw>i% :+XU1XePћa}WL3;d6(Z XDbqDXpP *h,[$s}2,A?(NtDf h h/Mn|VA ߧ>Q$pp(8&Ip'J&E,Om ocG*;2IAXM^kDuAv 7QĢk$`&:@ŲGr^f+qk\Fᕵ>DM84GïI Wg'K3-0Y `c.p.v%#KhzA)+=/yz⒇p'Q)hۅX8M@TRg]~y #ѮyXҠC&ҵdQ;ϼ-'X"|`r.E!J uŢ[5҂Oze {>4ybkd1 ȑ /?jKQz6U/u2 7`Ao- )u9 .ӂ{w#lr=\Zܠr>um,s`YG04p^.FbyPՃMiF6Bp(BM9.G*6\4 YCP>b$6ƫaM`.a*ںL>\33B; Ef>Z$c?0uH+{3@=HcgP4ZH#-3Z;.bяTk[^&HTxvH:Y{sv^uUwCW&RKE3.%!V.(J re% qOV7Zhs#XȌ%Z7D}pl3#zQIJʏqS\-CT`ǿי\BY{QU>K+$80QP\TFʬ`pgF9!8Y0Fcz J5 Z%&Þt!ܽf@} yú*gtWF|q6=LٌdL."W>"ڕ|x[FW0pYnE:brK(F0SjA% VDž;!(B>>D vAUC[)D-Sh\p?FfatVTtMR4t7' ).#+oRw w0F,2T;/%㠁PWP\# z; ҃HMj~Ͽ':W@ RЮF"dakBZ.(?c|.@a|xk.(y_ڕ L9g)-!*Rp#la|/0<ȣ<M5#|Ҷ3Z5fRr.U7B6z`x'Xsv6iaBk 88h A,OcA, bʘ5Ba]wH?ge\'O\+LKp_E:,Z"Ĺ}XLbc`@Z$ǵ.:8i޿ߺFMY7ބ0,:>:nŕ4u.FB9xe ~VG*c qZR.?9 FŶϬ)df%L0U?Q4‡X {73! Mw7IR4)FtAh@\i4Q ߿чiIO6|3)pޒI9.{ B/<+8H& ͳ gfHS@qכnaT4u2ux$yެ[-1աp\4y-Yw @.#>>z!_ 0W#R혜)ڐI@;W G9+&bm MS;5N IdtiQ2a/f¶orC\QݐS}x!:J z`UPАy+jyF*ߜT+.gӮ0Nd"F HVo蠱kA&tr]X"ߩU">^(8-99_4ocoyjw B65YxB ٠hp!D,!MM 17cyQ)nDFn9G 4zlI3k2H7E,rBcު<)ƻBz{k)a2NqMbVI Mn7"ƝwjZM %OFu` LA޷@`'Q"YY6}h*^k'6LS hJ7&24~wpDUy<ϼǾz5V^mӸ_Wy6bJփBURGCt%2c%;Ix=D=OOK^~U>-vlf%Vm+G_fI/iSt*~k]q~|fpRn'i--Gzن[B|KLS(ajqu4GIۭ a$]űt | .#Q݃8]vXws; .1c5U 5<$R$S hEAY͏UD#ƃv,JQaTɐVob 7(A𫱅?fenUgOuCeix%"td61 dh\aMO1Ic o^UofoXT :HM8?([YH 5INV`!c{}kJ8s)C upjC~{7re8cZՔNg>aK&sic 8jX'E\~Bpk 506pMȈ)oHa8zҘx73 G3rNA##%:IS 7Y6L5= jMJ.+:fIRnk=n(#?xn3C~4;1aV7Fh[ooJ M$6ӻTȊ4nz@5qs\@=#b+@y#o 2Qy0HtY=9uʁ6&WSxu=~dwP㷺$N^Jh#amӸP<ѶuLÂ˸; FBR~9L ' ՈVm%#7uu2QqceȮ#Cd""GEFZJMW!.#"XClK&}X]KSFevφozy9.VXA%Z3oLl~lA yDt# uآ(pF !_IlyjwqFu!?J.TyW ?5]%]?.&t+q"8[R7S&BPNXp"X6X)PfqD\uY0  uaDXpɒwp؟ҡJiw]I70_,@dßGqw7Ĉ?o߮C=k|qOzwx03>>{Opź?~{X헿WxICSW!XiL|Ba)c{c֑/]t. ;,כԡ7y;J_X{}̕tN)SR_^[}zևa^<·|~8>?Sxtqf;OY%xos!;~lj,f(uqa1Zo_p\T"6]L{#i- ;jz:{<^]ԗsnNM|Hi/)@C f˥r%>(Flsփ`3%OM>Oӊ??hžC;XɔG>;=C,>;>T}`Nϱ NŎy8<i>"ŇnCXMqpEL NUowRÓe-J4ԄzST̈́KE^KKO/Z&Jf4)<(x^}̱)B^A;0sFDxLR} O=c50 P:߰z#{V1@`#_‡އ UkkX?sY@bPڽ4@k?J&.Bԧ"uJ|]xyTJbCwGm-^ᓹ(@c#?o#6b6ĺ̇7'lXeJ'Ornc|OXҏs2޿<&w=}Vyڝ_Ų"Nel+x h&?㫯zZ/˳} Ss*eo =l Po%=!rB5D[wPaǨƶۆr׶:<b8 ]\-]{Q;ӿOC- .ě#wyz89 hzZJ8R|\4XWL˙Z|Aej4{bxtx^ZDBAp>3NuZ6gMhxxt@7TsմwUM4Z/KD~VJ9˔D)!>KQ͎e'7~`,$HM=]O6ݹyؚirɸ5q0Vlۆ"aێGo[K˙l)<>C{dȻ4if=;vŗ+<'"X8mj0OR'::3`M^Y|O\\fo;!Mo%J'A7M,کN2o`Ɯ+4͔'@wZA`+60Kmj> aZ4x&zJ>\ܚ'B&y !H, -Ve4 q hôYMg oZ.t"M{.7SbzbJߥfp+(G%ɦD(o$'#NZE>C<-+:!HBfxٜL5X@!|VЁl.~J~/u &x n T!]iؗ>erF jzƃ|G8|n{ZxN\|ea AV26Rww;6Pe2Ÿ?[0dU ;oC z;Ğ咴 Ih_=xa,Gh}lW'C6t;'f/7 1!`t%J_/P \j˅d >[BWe 5;$$8j'$3Y"pfgC) 4ہxxbW_H _ ,uM؏}8 'S@)ptgZ# 8@|VNk'sa Uݐ p v g=|hŐDIq -@32#JL ےKٱetK]z-YzC+ [s7Ȟ6iC7Z^֝W8Qvd@5S#F-j=I7 p ,2%:{_&% .e~kЧ<[C X !tx Ipnwɽ;cz+b N/Edyr! G7yA7jRE xxi 34;Q#6D%Qh ¿0"pqS75d9 1=j9-x{;[2A.&eO1n4tfQW,g"lU@ר4PQ{~ѱfH6E`5v%OJ׆;ͦ~ZW4{'yPlٰ-{n$m*G-lg5t ʖ@oP9៨@54L-wmaL ESFDJ(` A^PfiG8w* 7^G:ATNqp1ms!4L'5Z@77H]H?}0 `gWRg`~?#f9~ ,Oj^ 0h'ql@9ChGx״sVU'd IJ좎w#&>Qqh-fԴ <nđXYY !=L$΃ z3V ?:J!"%mhӖM[sweBw(||tڠ8 !YjE3 +Ѵ 7=TqiH//T̢0hy=C< M{ih οF̍@. *`x]҅'gD*ԇ:|F|~< I]9DA,ѭְeQe6VgM^deUZ0вq00(%Bx|X΁hEs1,i7uE\A3Ub,\jo\&Xף >B@iMٞP+JG9Ľ=+pnA!W;>m2+obJ%.u]y`枡4 ်PkjBI CSd R…6z&+@;1 ƯK>u~^ NFThBE=39[̉HgO,j9a`HeY% VTlʦ5)R}U="vnγ!V4DYQ;z3aҳe#:n%ĥTH!T{qX,3Sܳ``X9lBSD.'4=-cyt/d4Xj!=C:"X= yktn:њH i`{ɚy?WG,7U~ |?U5֩]34׍űI0ЋN A;!l$lL)x +^`I ƸyeV[%UaݗbEYp/ƣJ*FR@\ 뭴Z[IëvB]aY,>Vܵzo>B!)hNQ F4'^ ɵ r߷ra(N.Y#6ȍ8˽7:ܨ4VJM9JN|z3-TGdXz1hjfNeChV)fry{JEZ[`6=; Rh,Ĉ !*[x+:DI؄=9}vi|Ȍ3ͶRtaVL[ƞY+,"I`9j2-(2:/5(%2|D ˊuî jW_k!tBp$NN=>sۏ'J*Y+oH7Rv"# X% >#U?J:+zdoy,lGczK:6 LfY]` 7oˬWEdT6ߥ^:x=rT5U`X]9Du]i.-D]Z߅`\:X`0 ck;\U-R.~UC xu``U;?0?pE0$WskY<uaĊF tap=,7bUR/6>/,V)\G*G:l#dAi8翍\Lt] ,O50/< 9'Y›+PmNU_ʟ,19H\`rdh=TM&;՗_ޟH7҇)"B@ Rr,,WeْB\bl謠"Y\J:xfaƅ; LiGUPrpwzzB=HMO$ | ЫtN(S[(dh4%5~J=ha09/FgR1.L>c}\ZE'.0YP߾R( ^ 1?ل3='e;_n DWhȢd&qE3$jh7'rE&VL,oJ!&RGxU"|v!jE51Uq0l^ˎ"P{fjZ!K{o j =iA$iumkQG&e,7 kO6|\s-W{7`!}:qZYsZ,CdݰgK{=Y%&]hOe4)--b6bJ=W&e~,a{}5H*z|Xܒ7GVct09Nob{7NjZm*-fs",lE.3!uT-9@'VXnss30 ռ4@Fsn{7~b7]zqV-?xTz6zb՗j!8(pssRKųL>w׹P\qgELX7/;ݬ„efdlu(ε$!$rKlv:Ձ sulE Xx"DHdᔚ3QB8DE UZM*ͪdz+I{2y\*xQޏ):SNڧ<+B&a`[oT_ 3E獵8>޽O[E.g2ŚR0 6N&O|b@[pE6٩ @տcV/{sJWLWU wj8#QMp0W;2߶9ZV x#GLBr5ֆUv21?b1aLLi%E4Ovk1z8CV `Cmn1@CJ9ˤ ;6nw) F@~͌ܦKdRձ&zQ62X[ߛF!{L-8t v D jl#A3I^%T)rw;evrNAyO5jBL(mu\U2I d20J6@oxԚo COsNpБ/El@dA܃dSCpE+o"LA3ا`ҽ%<-Rft V3TLL"ZxjOo(H <Yzxxq0aϔ/UXy C!Vod~'jM#84׻/PiQTg 1?\i*r-)S,lS}&̢YBx"ў w;5va H6숔>?f`z7<|o,@XHb<IoO*@L '=P!?Vx0*i.W3Yx>1eB$g:b)=+E#륀7sxĉ ߨa4w5wOۓ#y=JF)gGngWh t*g2|nrwuAzR I19fBhz@ C?GJ?gU2u=Ko5 yfB FtIQ 9⥏cږz "3k,wN|5K֨W6R>3c1Fql$l7[䷋ZJoWb˰5fbՂ\k/ Rq5ZgJҞ%g{,EgW%!B@"W\/rWѨQip$W}(+/ dk ʉPGKznu+R0qBoz[xi%g)00G>p(-ޠX1#$>COCLFR Z5T-\ױ+xܲ$ ,y:7`IѰɵX+-4"_J8nV[yQ؝]d9(,x^.9ʱ>U/2) GHgvR%]{(|eQ88V"w{7ʫ#2+u}6nӇT>`V cw߻BūEmJO]2RMX\*Q ̂?ItR 5%`>}4$rŪa;Ro_=k@S}fgQeGV:ֈOjU/"^RC`O%k%> ru-ˏ'Uȫ稠?ݫ39[>OO1 Ra";|mvML`& cM$32%d}sYJlq3 NZz U:BDT@dd+"MxT67HA2+BVҒ겔qW x#bl{GnԘϱAʰ9-25VZYEKGTRna1$g<W%Ŷ:Q*u]9sT){Kr,P-L [{GjqE+ WrR1_wR¾o $ѧUC.kZB G BhI㥝Q88*CR?8aGԹ1A$-bo92'Ću@Uy״Zjm֯?exd|NG>=K|Gć=K?AFΜm?dwʤŻ-~Kf$UÊrT[Ĉ_̶!GQS_c) L$&6$ >V gA" /,j1NuGTRRyS޻}uu [ 8*oT5JVSl\ߍRFؾ 笟zmUwH4MVJ62P➴y^>B΁yMk;_UKGa{Fgo8%F_J9Cp׵Ͽbf*qH=Ӻi^LW薊vU!7mh65GyPax}xVilwQ}S.h6#"H'{,"3z#WHõ-jh>%Q3 ~ O0KgxI3b񳘜ِ } Qy1R#OXaBi=VM  ;v&8;L]I,';D8kMOxNoOoFXv1Gl&ZY"/i.ۈAIhZW[di4!P#i+jwC仳 -㣲{9͆e׻-k6cŪ9w1lDMBxu")ʽj7.Ʒ9ݚV[YlAbBI|0XA*S@UY %4'Ua/ڄ2uN)n!ZTXXGD맪 !t a!6rg>Is\\ |>ô/.p"S ڨ) Xke@Sn`BU(:\}ˇPit~$W4Bz9)Z-7=Eن%6IyX$B.`Ӭj>_j&g44g ө ?Ql"3P`^G1T0fO\x1Z}K#ݬ&ŨtZ:#3RCb" iPj0:z "۳EK`#!tρg4I,X!z5*)Νuċm9Ea#*}YOj,BOR\pd!8+ѓے̂}}kC8֡mP݈x^gP,(ν>ПnF ݚ?(ϨG==maz2qj |`8L/WTa/lMN%`U]~x/*IP$$ș]糯T!/$KtX,o(T]g]LC evZc )ԺR~mSt#EҔY18Z4{fIT0/n 3ilbOv颔7T+0U6c*i]xPlv̚wp{':"||xuhB͡L IklV:a]=yn@4vuNf 5E}3_ŠȄ98jB&:+0 "W(drahYz~f uX9С~ʍuLqOO0Na\"5e,"3}VR::hmE`_eџ\cvjy ;&ǔAl +& $ǜvsHeգ09:fbn2rR^譂B2 0 ?tO vzuQALWgEEdl2ojwĺ2^o`D8f]$49jH ]BLD^ӆJ&a) = &2z%ZhH~^!Æ7)D8;cdNq`|YjL)2d:T3D=8wƮzW~eT7Z'U܍$xg%J!徱N-ēgÅ? ZpWg`45\WZlNuÒO^C`C瓷'5XzP1`o ۫8Kuw̚ˌ2RTj dPnἃY#F`1e>hpUWU#ɜهxp)ϋ/YPV]o0gm𜄕ʋ1='щdp0,P..?|(sB :3١9UpD9qe?ʙguITm|Á1c`ɬl'[lHMyZg$g'i͑m!i]3[ZzJ.B|Iy㱴ԧ XWċ=A-'V3Bf!*QX]vw#?3Yxj@o8bXJhffG,q%/e4)ḻx :S Hک5!V ЈSm5*Q ZACq`mRy Qop6LKefvm?X_i ӳqu{ ^]i.dЈM™:ҠdjZɤqƢҦ[mac |, s֢{ҀYL>~wɧq7 f.^+(TLiPЃp*:e$`=ybDpq{?5ъ @] !V^zwlV}VsU&sV@,\Ǟڮ9\ix2t6T>4\7ǒ?.&nAE'>R\j6:ЦR=&)v/N`` gȭhvMesuV] ެj$z.$ak5>_j/(Rd^q%]e#ſSg*, ssIwvWL׷<- L>D-F:yj}`þۗþVe Fv' @ձ0ҬUJ t霔ww;^G$:Qj/,<)o*@gD4~P6"+!}I.f#cc|;[ Rpl~+kHf]/*tKn * sɅ:@4ܟ>:6k[,=܊fO= e1&`qi#Y0E-XT%qHs:q'B "[qUò qZxU.2OxX e-j Oa"f_>lA -4 Bmz,W5Bc6\@!XE$~:FEgiYlJY"X; avjJPLk -k>zX0 w5ԕ: shTw/C7MU§:;^]W#Ҁ9 YF 1Jq}|b :?H"oUqbHkn*0Yb^]$~m|<৥~U,"5Ok@*jO)1-ω[GVS%km٘6S0r;tJ{ǥ XswC 0ay1 ?@MZ%k1xdSfTjS`J0|wۯyQE쾛sP|``T%U萏F{,B7OOjI֟yu$S4DJS{=9@yV޾J?\?x+V2 ?[k~iK{pL,o rwn}N}U8o0rX؊=2DD +$9Y^]wߍ.ɋ5 14#˩ l,.s.˄ Z@'5^5$4h4~T\g3q6"~byxG,'T5w!=-4ZmT 9m򅧮Uy&BCdDR}f *[0zy|59UU~ 1z@475.?uݠlvw/a"[ŗUeBj L۪j9BDdԵˑ1 VE.ꏟ(^lp,ZIXmI֗m-S5D5\6J\RpE_XFD`>>i>ePl̿ˆ?F6%o%֟n=YtD 8Rdyz<睮a|r֎E-ffK.͛b;eq;V+M ˘uu\(y.ݸF,&ZBah~2M^U^)G_Ax԰cxDž]ͮ;丏IWX3[hձ&,$VF|>>+/?m qtմם.ezz0a239Z<":٬{JR,UW뽓0lI7d5Ԣj"'ŜiiI4wMilƓp6_{!e ֨'_2>sZQC/>OoOT$LV0ΓOm=4]Q4F8(x_ V(DMcyf?-w7/$As*b=!.$_pk;TC{5ٲ}k_%30jBL }鱪ݔM؍ȩ= } 6[\FeWd%I9Hj&؋-l3kepuHZwGC5jah9@pY NwQUU|Rʕvaej^͛kt;^XXZo^oѶ7)Ӻ/5Ew?!7.ާY5D#k\ _}ZdDnRHvb9d l|" L+rL}ȘrOm}*_AΟ0SdNqZ?9_N+uk?:]0Qo%/g 73n^֜ Ib-׌y-Wq+@kClG}W+ʼ8T ciԀf44oω-4kks~4rK5$ym~Ź=̉q 6 u,.SOT"g>?SH rTVh*<^jΤtiV4vNտ8# oemdGQGbj⸜=sD2v{&Nsm[5k3yWYC+1)/o+fʗ09]iE9>&i_8E">[%^}Gn(c}lcdS[ puAjBִKBeY\˴HufxmiK:dۅ)x66l'Y@1 E_,^ O6O˽1$qs3% 39r9 =E-[~t7S #ӏ?B[V|mWgY7-`AEY(NPS͠㬃&`_aD\2`Fu[,i.Jltk g&rښ+xi켔OGJkN[t{Jo=.ϔdSwS%N}态.:Nz:7A Rcu|akXZH%n7.rBv0Pl7 -`诣qr9);!]Pbm$iT+ L_'a urku&.jg%qK9?gާj.Lv+ztN(ߵz 9ֶ=6NăY9X[)RwR6By3bL缷z~;uFЩu+ UZko퀊֕|4gW6N7rϺϑۮ,!x]_w[r~jK%yٮr $5D&axWw^'sD D'ζ|u# n{qV-0,&:^iO #&T-Q龟65 y.F q]=۠[m8mxva&l$7k÷뢦@m؉Mc#Gfgu]Hr [ߔ8Çoˆ)6aȜU(HY Sd,UDS^a ?O!oʰj+tvOKC栕8:q` LFŮ #!lXC.2 rVd'0rJ:p'~ 3%tEXtdate:create2017-11-10T19:54:58+01:00%tEXtdate:modify2007-06-13T13:14:31+02:00mqIENDB`pychess-1.0.0/boards/fritz_l.png0000644000175000017500000002125613353143212015672 0ustar varunvarunPNG  IHDRXXc IDATxu|ۖI SRV}n)d;}@IX80 opǯ_n1\.0 ?Dķw&˂e;2awmeXíZ;86DuドޱPźwP;pUྡ"?)ZC@[18lTDpLo/yKw 1Dd}{R!Ѷ}'5S${f.4RȈX{x$3# R.d$JDrGb$h1.}\6D`^r6w\XQ:D8۾H!nhĐpOsMJ UZ#3)K۴tϰH,;8@DBѝJYM hB$,d}X(cxA1$ ynhbIo=5D`iٷP"K 37 JЋ^H@k&t츬 ƶTUѣThlF.TKIG JKM)B`K α{D( D*m=ŔeՖE͒4QDm>x5-"F#:@IHf&TxEd$E@B$L1>H =p뺘Ν$ݽwW]TUD2#@Fs0ϽǛi>>"3Xe%{zw"24#g 2J0LQE@H22S MFt:Bޫ-ϡɈ&DfDh͔BcǠ6!TDdD2T(1m :M %4[߮ 0,- #H(3z_7JQB!))i.t1h Q66v9Q."d׶mBC?Nևǩ5WU3Lϋ[k[JR,!G(`}ED>NZn2*녧-07Բ 9\VeYIU,VqnB9|Ⱦﭵr\.1~^f>?,R(@y~ +Q}/z>pYm꘷۷o۶վ+U箩ۮ+/C_$FL!"fu?4I3+hWwP8a"zfm`4Vvpz)L_Vg,UUUû̅{1Crn!X±0$L#*RÑ ԑf"8 PU PqA>??30QL88*A J,D *">ߔMm\.fJm^si#2F&Gd`Hk22fsOt^f]2D}۶13LTZwbf}mAz2O.6ʠ˲jpw8=q@}+03Ǩ,ߣYsO%NMwNCc=އwhZ+X4h~}CDOQe'$*L G}"sOeUf&J5 qF"V?c+XcG3D%#3k0RT[$ !b9!#"Lu^3]M\Dd@!,I*IfڄT`z_ibG ꤨ4Mzsș.fN bS|pRm%j( UUOEDU] 5"Nfb-MQPup*1+w\rp߷q۷1uz?J̄lK5DFD*dc3Gf"}(s]] gkMֺc]ym憚HJ sGra JSzW \I*iA UQw2*0LGt&1Y<NXfyrVvZ#FFf3QeVqsl׹j(9!U 18#@u$Te8+p棂 MB mfre,G$Ӕ!{w[@MJQDc¹j(Ya\_DTdQU=X^~Vuw/!YKf^.@"QHf!OOQ0ę,(YLWE8xk-")eTTN QHFwdQ hҚ =LSU9MHFjHTUīey%3Ul-R>RWut{R-9*YebE!)dXї#|vމU5"i<EvMfdbGdLX" TkC#ĈY $43󬵒!b]( "pG⌔L#LD)"#<ƃ+p?L8(fG%"[kRWAj&E$&Pb~X_q'uGCD\"G1`򂃭 /x ep}\ۣRz`k>u@u۶bn۾~z{{#Y[}9 *46՚d۲,e￑;%[ӌqEď?Yc=`bre>䩿fY^.orA _a>^I-;={P"OWQiw"ُ4+tU!IՂgvf"䍨dD8' G *Fal&5^~XA Q@JW">SUtH' xDARf=BMk2ԓ}ɠd2k&!g$2K #TeeY),LdTo&}> "~cU$z:P]XuIJfT18*B  /@@^|[q6ŸIEJFapψj DQ/bD,iR=6fc:gZdhⳏS,\*{Qֿ ?x/"VY{vG#}MǕ==tg 'px h̙:GyYY/K2s}.%?~uTd}(G2;qʟLWڧg6U hғn;FPC3U+O9kkG 3pAISjd= r<:TR":R@vm 33H$Zrw $ؑIJ(T3bDIJ?8~e]Ŗ>*Hz;Iі^W.6m{c\T vN >Zc۶ -ޥ%D˲,kSD,km'Z]@5ٶ}Y.ͣd1>"wNCPeΤ{mR HQl-ZH8ɹ4^VH-\ҎAԖe79+(h%,)'s~M=NFa8<Əm1*=zY p6c&|& ;7]~[:W=/ 2D|D r|/1>ƞP2h(7qPNgbҪm1k>p$uxZpw-4,tbړ9Q=r +XhlznIIF@1N@o6ƨo=GG~#iHvs߫ZSi'"wl[QrIL1(L7O%rr7 t{FJFx2}l`ΞGL- 0OU\'g&by3_OL'0M1 1*(P4p=Sqfb&%"E 3q\V5"DL{E^.vt]jʳG`v/ a}5*$g cD}e}K 2F/g֝Pex\gh=K{EpYLk k1Dm#cEmҖZ+hx0rV@c۶\˲\.Bo?~RmӽE+{n^ og)"UUkzBz6f!Q{p7(0ܒ4.">>3+W.1S3$RĠ88kV{2W퉞~Aq #Rd"^_XvJx}>)")u+'b8ƥ,08sEsW͗>ȼ3}dXLF$fcVer (OQѪdoֳn, <.]ˢnl/<8wpgl=r(=FiTؾ߶rbB[=,)*S[5qw񈨺pݺ)yqz̖SOaPm0'&W=鞀G@ƈ=b퉩NF"DcY\6cYFʩzhejc/jU <:]Rk=Uʽrff)sFDHړ/A hۛ-cN[L035Y1BUG0sE<+|Ͳ!sFX?I' 3Pa5DOtꑙE$ Jk,MD_Be gN,m]>i|>+FX1|RI1>n c|n~^?>?$p}r{?~fyvy{oo4(-cM.mYmr>zkVU!4m͖s.pIvN"PsO:"C\p(/ 1IY.ԦˌC̖xEAb2#V& )H™ry@=q_ퟹss5/M`^vv3Ιq ~V [af2PP%  q^}U,lV~=&+\I2n*Zع/ p2c2sNU]#B'%`dˋsTzVL)?crzD E)잸 1%jdG8% " |BPcM2M-Ɖ 5Vs7@UDGդeYVJ ع2p箙u< R.\DfP=vH^`f\8BA^*벖eʳ(w&>ry G`zi5 s=T~)1[!YcMCD,mM*zUN #Zk"M1FT?i]EfK@~̺SOբׯ5؞Z{l UCu7Fx V/Ĝgp)wTׯ_X?neR4!%TD^9=-{.ԨY?έZ٪ ,&UՈb]~g桏@L1㕇ORl繌sD)A<"9gf˲,s^ QTϱ~g(S$ƙ"HHxc\? *FxfP^&g>YxSۦDAfeΠ{? xx>TL|HyVbYeklD2ͬ.a2^L'<2i˳3[,Em1TsHXD@!w}!9+~%,2r93'qk]LbdSH;a + NK5ΐ' E&;,KѾ_,m#/gb_Im窼p;(EOh!^%x݉!_+Y0qܫk^3|q2-~NJ"Y$PeqĎWYޤ C[:Lx ‹pWսH <;X*>TΡP {y+_&k1۷~]/r]mD{{֖HLHB}i]>߽Ǿ`S[ 1'WTB:ɹSV+xFrXy +m;8F3KsxQ9Mm[2g|bZPZ9d{A'asA3eΦtPFsbc//8(?TUmb 轋4[!AWBzK7ؙ)*x3L\)2^k\~O< y80p/}#9VM N658b3s"y'aVv;Ll03cvrW:;DTp CQ͓܉*4'V Ԭ.K@p߶mYkys%UyOM{na΍HFd^L+c죽tA@Ϋ\0EG\_X}n֚(_wOy{ ۫f;X'*[A?~8Ϣ}nϟ%E~ϊvS.k=AU\b(fPQ.Vg{3ZFKu]׵rș+V)HUAm"z0KϹ㟨qԬaL|,Gg!iIDATG۔Wd=a&9 f OT?:fN:",<"1dk"fuV#ꗉsr ǘ-£~G'cu_(~T1z*gdMQ3#rcHXUU<`r_8~aC&]%1Pŏ>(~a]YO=ľ>%S݅E b$/O8%#̦i%m[=GMxNTb麮uWg c3?+^̚e1&l"@S; c&? >z/OcFf=#g/qŭ**= N=;}%Rg?O'b~aB3`!YL}!J3F5j$E=8mi%Ğx˵,KAPZK^A'c3) Vճ D[υsH=80C[A H !@ 7&IENDB`pychess-1.0.0/boards/maple_d.png0000644000175000017500000013255613353143212015630 0ustar varunvarunPNG  IHDRg-gAMA a cHRMz&u0`:pQ<bKGDtIME bIDATxLK$ɒ},"fYCL L{g w3Uy0c~Hw3U)3}C\NX!)j YԣQӘkp7Va@ *Lh7SVx` V p kbg#@q/d-"`{ lUe0BGV0Øb}ӎܩ͘}2|R['υ.Q*' 'kx*ZP 1 }~YL4ϊw(ʸ:ÊEٟK)FiNǬ2A Z+w󁋰N1Z#LQ LDD~ܣ (`MP^￱*Lk-;'8Z9QSƚ\cbsƘHf8 R ݹo>z(R`y 1E-.(9**kvtӎrD2^7 hhZYEtayЊ8Z~_hQ_ UEKX(zJכ&z Xc}RLœ 7@EQPaYD@~s'8_'E>'NbM }<8+ z_-A^c*2׃`⨅>;Ƃ.&q_AEFߔV!J`D1QJ1p~<E0S,b\7D`*P cpZ53Cpwb?Z5aOotZ"¼o֘CTDA &ԳVrs,O!" ;X3X> p׍"A"%6_B;yx8q"~$ qTk,d ZrhEu9 (13B h89=b?_U0CD `wbUj;8j᾿&,8R %P 55Vd }N(b5Olj`o,@j{BQrJk, +Qft1;& 4-?DQ-;fN;T"ԳȾa\o֜EEYF,P1&Ԋ﯋5랸OV o'btD kh8*/g\RyZlǾvOVO`PӯΚ'f"!1s1ė{0z|:11~ dUcQ8ZED*sLLZ ?8LXhQJX^G;Pr4\N9NAXkbrG PZG|(*Z |X _+fK Aꑧ!`NȉQ b-=b^=ZR 3!Ã)09Ϩh\Z9 gXm^oԆ c/ 0XSV*˅堥zy&׋{a΅X狯}#0+G,+_BgZ8H3Y1Q!`! f_xbDk.XL??jД9oE~)\ EňyJHPXy5ѩUKnآyb`=,5̇*׍,(HL)J}T+=*]VH0VPOouJ1c.lBc by>sr"Vj{Ҫ`*X@C D8>uuj)\?p񑣀8NT BN1AVf *hi"Q:9r%{P<粹1'( j ED-PqVxkb B[B>smVܧ/GM)%9k9ktdNV,dE}__MЎ(|<@(|1<ȍq J{ӹ&|Q#D>_8A0dNd@ʓY灙qo|9E\$Mm5>7q> UJ՜_ݙs|Pq<b9&s6j)\;_=hZ].YX!Xmx8,X5֚90֜pDhw '~uD0%|#PT1n"`~C,|.}@V&gp|q[eFHiHk>s9fza&HS(HU!aA JntHn">'>V| bNL9.T"VXI >aެkOTX#gQkLeV~!9_=OL&ÝAJ_7PDSGE* @[#zO`&k܌z@  ZLyw֘y1Y|ߘ*!^Y҈X ׿_zR-0mcrs}!TfD^3+ #!3E~ !,OLX;;1;kWɜj ;c׍Cj<WG0|Zv0 9k-")v~Üm- EOj3480}p<abIk3?18Y=+|||eRB47woZ8a!I)F=BY+k /d/>Ճ+Z+"n^p}˺'yՔR-ǃI^˃E\F^3bBQh}QT9HJe bW#\5ɼof Z9s̹ V.>jo׫x` *b&MG~Y,T9aX5wg͕pxQ6U mUbFBUV*YѢ]_<%yd\Dd%"'1AVgǣ%v:{^G! y9j} *e4zMkB)"V)ɵGp_IT)kvGS@{<8~_ jO8T`tjL Xd+73|tԝʝxEW aͼެW!T837HxDPYΆo0b<>yQS%p5ڳ%/JuMޱfbS'SOpj.; 瞃EB0B>uRZ2,.Hq6ԌyD7@=Xk2:(FJߧQ?pB`&{.n* qDY#oZgF-}8\ϛc9T RHb"Mp<ISJUNR0+ɺ7&G1ةDdz2/}aR(< uV ЌjqJ1dy][|hX Lւl:-f>c:"@k BQ +1cR׍%,G}m|@90dҎrVXy凘TK+`A7D+׮ᨬN~ku\9Hy 'ԊW3U  %7JDA3 )|}1+zw_H)_LW;P*zM` ΘA=48?*.E< wP,sD2xO/ 6GmE@] p.{_vV,5ω5{>H}bq"%9UTmE^{_L߿9'x͚4x3O&1q4iV`?>ID`Ϫf!u_E"R ` .RwJ¾>/|tgF*ێ2F0+ȍu\9Fф"V-3Aws$ 'MiA`V(pJI褐Ax>R V޺2_N-F}%Vu JR*n3dWQ4&pTلs" -6lk x x4GE ׍Iݭ!j4d Dq _TUBVΙE p(QYDHy"s$(x8C$\\N)GRr{/Sb<8פ9'@jh(B-Ђ!עskm~5V)v}/b V,ԌZJn#O5g+$,_#!5"NVJB)}!R!V.E#PyX= ^{^qDC2/Š!_*ȢTcAR G-)95G 4L8"X"g)Z)F~Ϥf}' PTj5Z9bZ̓dz^NmZJrB,B1Of ӃX9^/S$|k ֘ 5r[ARzu%k>Z)ϓ!0gdpj9AA8>)_’45c).h{}T&Ԣ\_SX IWBbҎ䛏G>)R=ꁕIb<\R*Ϗ(hԪ)%C |r|֊LXά &Ļj[%R5)8"HI5cjy2H`}OD5g0VFR nWpԭO1/%B;+fpg|7=JUXWE#9nQ9zbyğ}|K\yŚ)OֆZcLzwqph#:,WJ0ׅ9XO۱Zpre=y$sw1+!1 Y`Xodv+>I筅}fQ@KotAky$o>Li` gXOLĀ$ 1\7IyOd̎jTu|T{ Y'Dp9PH%Ũ9~%dVPTiQM6TjLYY͹_ M2ݸog QYiRd㞬;Ϝ$Dtb.L)+"$?zBHeʫ堏d: lPZ'@1nV4h(%Rg.-ON<A=8e%v@#㙴Zx273^/4٠")-Xnҽ#UTjik]DQ\}'2YŐ[p%`:A"{ | F0c'.)F]>8 sܚx}A <&+@̐,HI4u*B篿pN&j͹2jӿn"V>bD(>/~< ~B#g8s|B ! -FHp'&0a~ݨ*DH=$Mhw,Q<?+i\A;}L|L-'\NE@ΆJ1-)Bxл6ECckjH)\BN;gi 5x2YWx/c{Z/[zMy)%qU E=.+g^!xgicxѣAL[ i6+ b/k9&_9,@?)h9f>WGHF5BG_\ s 9+E`F~Q}o%=h B$5~5&'Y0,QT*ၴJ)[-i+_c+AӖ4U}3fnuo<$9j#i ]s1.( ÇSV?S0VDq V~0\{{Luܶ?cMJ{a &%pgޝTq^뇶};rJjbVekԖsí\8b0GD*aV)@  "iΞ3չ3X}Q>>ӱP$cc+}"VOjr$ͅ~>1H|;@A9S|}}QIծ;椅ȇԚag-&N"8c iVx||R Z j9@q$Vhm9QX}q+{{w>r95={(Xm[2!"IȟIkMI4bϕ(jzn[N{%\MmqPjBrjm1hzjZr릴RRt$<5e6Rܸf}6tlXtD,a`_̙4+%ܳb&oע͠`}M !3rV">xŜ:\#鿹AbVh rlgiG1iquZ=Y"5d*\_%*lTSaH (fX3ăuw4vf{גLq di&b̹4/hΑ"PV S'byV@d;ߪƻ/jeJ3X!f*b=˔l9quTتdlF>Z [; 4i?Ԃh)Y=9ZwUY)uԤLrwuКc¦ WPkczŒ0K@JsK>5<580'}%j7s|&coઔgĝZ(JBk<Ә,ו15*@Jޒbjbsijۮ}cdJQV_-^s (̯w0EcK,9>&Wd\o|C ^J%ְw{h;+OXZCcmz f qx!  bJ1J4U"qSɿn)YZ^9&ckm+k `{B"H~}__?f h`*Zx^ gT_j1mț-_)ȎZ'JrJ|h ĊҊю+l3]G= 5)IE?Twb}$l=3)d(-SbOގmZ)3Qs=;#35p2W b)ݿ 5h wZa&fG|>>NNB-w- wŏNuZэe숙A(릩M_+_bL) 3gF-AS J}_쬔J)G: Cu<9_<7mݝVEFj#VRG)^pTr +H߾h(USZgzܪx>9à&.ULC*_O;Qs08ҵ6Z*B9kfFkk=q2XKC(!3= `F"RoY5*Ϗg:ÑZag:C)$A`heoZcL y4J{uHLl~![c,Y9N! rvϤF-JDj1}M~,r_'vh;1d.'hs1w.N-5*2%maFpLvM/Ff*DeQ*ĒXKAc0s\#A_k^㦬9)lHRr;)" $ŔAf"PKbn&6x~eDp)מNzpcc`*'9Ě9},Yv xF)h/XS22 f,cΑQf)[ MiA+r *M]pnGJHHNJRwLq+%i ZHn݈!.\Jeur穼*1FJG8_7]f9W'KZf_,œe5j̈́.r~ % L^BӾ}!tampd$$%뤶(`1+T3P^z OT7pdF cE|ED}hQ ^ t-dԌq߹Tj*[;{B8U2[ۧVk8c[- GkI ĶuzFiX;2=<nYh?n+}]Y}1 eZ朙X;"ɟ=uGy 13qLr_\u-eN_[Uޯt)lF}qQxP-!\ @5ʣgIϯ|Qiϓ`RPPr|_w75ɫIVp_# sf+l c^=Oǯ_ xa}0Ly |X!{G5PIN<V+kA1`oWc%o+٧#c㠯񵸿^ȝB {.)X#Ӳ}ّطZV[GO5(tsI Qn3WYv>X)BQ?1vΤ`ǝD軪!M.юq35X{vD q2'Jwb:Q2sLipb+\R d! %"i7K)qB;9rT4#* i#!*MbH&HqIkhq'^8m0ڞZ#dV8wAoMa> dSu?;N;)Vpvr_7_o+ҲcBHms \Wsu͐B$sL-]NMM}]k|]Ne#)- #\3eI._WƟ}]"oPNey<{B}x;R-D",H?i-|岹<ٙ3g|C@`X`uOעH$U+5rh8>@r{q|$7C +'~Lߒ|tِGIjTB2KA53  1Od-ƈ UQ hiچ>iX=q(I#w}dGP'wRbƌ@ά>so'}ykR1=x0Pd쎇6"C;k%1YB30s9J+E I\L3D[уq וsTۋ=&Z+kjz}J93GN$G=!MIR9 QhɚLX4@6( 2m Zw~udŝ1D-[y`ߊ mgL_o0ŪQg'%OvrSXRwf+πVƃ@X#7z_Hc0?O6Au8~/[<=S~nqr+1>.drqE{g*Dnyb{xr?k|I gX*#2?Z})]*-U aL!\)VWXD"/=a>8U!zLЊ8yD/rvp)mL=ƙ̭;vĜy݉iZ[;ڑZ?Z֒scN2b?dz\23+m*1VNFVX'}B7\GvՍ4<Vw8z;@$땋]w+4Sߝl9ZD~[3Ɩ$1Sk˱ߔ,\lWXI b*>#vK@WS#qʮ52-jX XE-9o`/j1dMHCR>.|3X#CVwT+%?3dQYdh./4;_w IV𘼾ҷgk裣*p;f&?.;d/PZƷy@;iRถm/cKЄ@ T{JJlZ=,_Ԟjiɞ|ɾۜl % f[kRNbX$K6ϓEj-8?Yf; srG./H3 OƵ8vgJE۾y(gQ&xQeM-2ZRv"8"4I^9Y;zd}K`GVOȟR'~JRW%k|\lM,y+Z5guq}C"_N HVƌo찌f_Oy{)q;_󓱜4}Isx RَFs+xIaŊt~yU[̌Rgr* _rݻN>gU徿x0gt՚Hv>W9rQ k[WN?5 |4 jܻ%Ǣ4cCJ`L|%6Vk^s$WIjGZS4,##krd✈]"W~ʆV;[7%5:RLi݈[e)'"Q{kpW֚ OjTsN4AKk?TUxDʥ Y( ^wN7í`d?%3]lZ||fC3NJ+r,Pnbjgn؊s5q{&D.NX}>=?9v^fM(Gݣr{:1kf }y]fyfP{nblI:R__cׯΜ5ypT se vS5~2%F/V w>cڣa#+.J VGw F}.__H w,;4ݎ1p[`ǯ4MhNnu$DAf˕Bq&L7\,bΝ,v`\}fpO;O1&.P@x+~e2(f{Gسu= FϾ`xTqk}Mk_>kAIz]Wߎ!JmڰQ1.ϟT9,D=Yǯ,@k ,Idc^Le[]~%tvx<j"C# L__IjңЬd?LDb2'4ZZ}neVy&D϶}a)h癧k?[&V jBmvF|Q͸v99{v@`}fZ0789ogbI k?n/hdk}"g$|32b10'I_*ղ$aj)[QKrs_wU1ܱia#LuM`dd};4' |g2t 4֊}uKo-;UӉWv'սg=h)ikQB`+9ncRFZ\~6 ԍ>}%ym= j->+<;JH;3h0oK-S$o%r`nU w*]eJ%o1z~G9N\sެYX;)GzZiV_sfJ33kK]3'Q 9}>b8Rh5g:= Ÿ_o&V9ܽ= z8ip蹤rc82mFY_  Q Ȇ$LGכΌǴbZУ&Ykm ڂQC\c1vַl]ˢ%;כ+y3VY|Zmg f|p>P 7JO4y'XM #Fz1=^-Oj1Dj4-E2Ň_鯋iVJNϱgZR=c%R`a-޸P /f s,Iigǿmhj<+Ӑ)B;ViJ;j33s!NA p|L 'i @lH_O牖Ki־!r,8ZBRij yB#* W|dSyA "q%qO;˨ ,;+­GCsaM)0;2LaƸqaz\_i3]+`=JTjZsPA[>ZW(fuka40V$(1Lw=~y ^;#Bj,d8jIcQjPpmf^o<4ެHq ;A֐}-ISXc0wzm hR1ScYY[Bj%@=hf^Qz<+[a. ,YTR덌;$[<i(ѲWS['Z6[rLώ9} +57ׅP$T#;t̜(J*0qPJ(0%ak-XϨ;FbǮ^/IҞG6aJٱ!󁌕)u# =_Iyh% 6KyXG'SpOѓwfd!K4tf&a=ek_|Pe$4L 6R#ٯ g|?_ٖNnJ^UBL_fv WSfْJ*AzV",11S^lzQ~5t-(d*W U28ttכRҺRiy̟ {7I"Z#[iIhF՞%y9IS*ղkmfC|)5+ؔ[,ƸѹǍ$,1‚H~2򪂉jphh {BVLE|(f繙 . 7VFdm/8IYƮqHŐ,\tSc-eʨ5.б܌|?=nID^y>sX=bQ ҇l"YicSgΜj"̚Ny8~ _GEeOduXnrdevIIQǖldHZɔ0iR*9͉.P5)Ͽq(Vg,>|@<#l”|ieiJυٮx"hIN=Nh_$gF=3 C~ة[eoAh0IeVw: 28j̑s"G(n %EU+MUw'Mg(}1WRTq+'hQ)a)]n"S"{$TA,hbyjdda)z>2\~~#[S4Og>BXM pf5PQD[2 E_mm??at '3=Pm}bm@53U^lJj~sR}u\29 /4晧Aw'B,${OӓHe\RnR0괧α8ZiY,Wߌk+mjK2c 4ȰѢ30$j mᕺ=L a=Oj0o<3#дJ;(1{k̽Ԃj)[A1&{kM5%KnuSJ2!b́\#+,6ל`qџDskcgú;u}̢57ݶTkkG]E6a(씃q{:v99'C'׈TܞgwD&[1}3^oޟ_"%ͯA|leNh\26f-eS1-iژ+?]!w`fr###vxIOwMefZJzJzL{ a>?eLTf\XEbknց~eL;*RLz35r|gl ?rB דZ𔾗4oMB$>w$cG&|䶼v=DZivzo2>5y캇R>RQ2S& Я )#O۳.v$4?+=昌wIyE)ʸp%P+if\GamgiW@[``m yugW$,fw6,:d9U_QCȺBm97-χ݃}l%3 {B"rVꙧ8~0M-Z\xȢ5iI܁TKg%Z2|3Vc_pF" Vq5L&зh$a\F=Cly5VJKnh"וJL4TsoZ)v\9}l*!Vi. ?!߄s^)n՜yzŵB;f6Z.q$Gs2ZT?_=5#;~gw=n4ʗ#+m E˜q_X*v>XLtH ZRy׀s }SFyo_yEJMDi'ŶrfTʸ JJ,J)>š5vIwgSx8#vzZ3w`lNF|+|d/QŨ%;eM_HJMӪrvٳϕ.[vϷFmL9f7E@b^g|ˤTryv")O>a<)UTN;lN8˞6J5Mqdw~ݻ]y!- *Ъ,q6;53'2Pr}+26נ,FC[mWDp_w&9\1]Fz}fj1yK3#$%=Ql~[K&Nm@6|ObVJـ12@!C=UjzIK?A?e`qXd=r3-=iLENE-i@ޔwl?1_ħ13; o T3*<MQ/Fli5D s^3%Ĕ|^m+y+O0?FhzCT>I=3y;Xg.4G%":犌YN\ߎǙ}wTy\_ו5 v })}8#{/P$d_]B3{8Ϭb!ew͑ A ŀ;5[ШD Z6#bY `5 sQ3CjKȿD58vUfdn&Vl>O$"1w˿߹;__Z kWI!# ȺnI ͖JGʸd,a/}?WX|Q[ Ew{T2#iMKdHj|0VHTHD*1Kd;RE=<4 sb"e۫l%BYI;IF,kS!qZ#y)2=_Bw2@sKٰڰ0}1qcW|Uo%ng%sԴ eE, _1XW}( Wzydm<Ҏ{2h-iC0긧6Q <ܭG1&0,2|XƉ̑+ZS\RE误Z vO"|2hKhɜZ BXsq''ɪk|d\jn@ZO#jJ\gkRx|<ѕV\a!JIϯH|J)LtG#Uw e炸HX,SWKIǏ?5ky;s=R f&ןRI;T_eZԜ5w>~`s5}AgAlrJq"c=~=3ik.(kԧg#0|y+yF% d%RX[ꭢf9doZYDJ5!$#~;>4Lk~Cߛvc`%;MR|}0o\HhdT츑RוBQ\³6%HSx4͂rZ3rYA!W-6z>nGD,FOGE |JfR),2vxkGZwyɰ ,W'DnWw碝ϔY]78΃Oj}0V?(hCNKH}a&Q[ԃZOT,+էO?eH_>nDȐoa\7j |{xjJj-+GfQGz|y>80; zSku{ݴVtR >kQǎ-vY.7 Eflt-gKGd ׻g;T1d84v HqX;[~f`2x@g)ɾWXO@ۡCsw ww̠sW,5"#јϵV5*JN2eDG.1=O_7EkK'S'4>'K1dU|-wtϥfe[V[ob^6L좜b3,  k $kHuQ+xV+Hh<*s%̞av6̓N-k4'4{&K(iם<N{v?`BVslg*J^E| nvlcLIgyn ZM9G'PoaVA}>2M*X3U.$A q+عfw gݎ-=}f"Fm& 尔RYS,P?wf`f4x]kskm`F e.<ǃukEip9Zc}&ǛARJR$km u}q9:GRi3hn+:g cyZ4H cG|+;,dו!l!I$Q5]nHTL-ctw،H?,:2=T[[WΠb=%EA]SzƼǏd~,Bc?h[ ߁BKu ץ6Ƹ׵Dϯ?qJHk̝E-g$?G&D-Yg6WdsNҴ <~=t[Q6+5|[vwn,:Vc]wK7_%{0>_@KcL-q.WagwUe mpŔ-@hP౱}q.*q8땤/d1Sügg* Z^VP7d?(k)R֘G)~ڐgf)D l T*kx ? 28[OC}6um#y/*B/\@WgW "=u1s'gSI'l; fX:4N@j1y"Oݱ(tq;]FDsqc Č ;+r8Y-|C|sXMX?'4 & =.갰9'qn<9bqhG@\aBذ.aqh(D%Ν&&%``|skc!P@+ˋx.gf4yyV`P_yS<τ51ZS-Pxϻ k\Xs!\y0?OczBhQtc$E!}QOZB~窬'LaR={BlSm 7>p74V1Z7l,) +!ۀ~!Pi@f5͔O m~* <38sT7r7Dspu 5l47b-y{I X  ׀/:clwvN̈́b^t;Kg{Eڴ&fsMEa3Y4+61I_(&x}ty?6soD$;o޼ᨩmByV+J8PALE 0 u^$76}#s ԢI3K.x?}jvt3Xg-0V9[!wMlZ!ε"Ar'vM^|C{IKaA|s6Fן9xDsM\CўB-~ڂ y#}Ħ&A41 9v ukŧU$h~ l~ވx|<>㦙9t|RۈZ ÷Ė ( "k:~} RDm_965ԣc9uw<~t8c.gmոN,Zz%k XVMfUDZЈ4ׁÞarM+9; A8It:Y>XIR @*{@ºYcp>6@W[hn"}3H*fF3a01< aҡ\"{ p=j?P"HW#Ӿ5kAԒf/Y?q/ QPa K& NdmPUqea=.zQ;Țւ~|,B8"$j*ϒ};t5?>E>]iLai@\_b-n>Cnx%A$ q.jڲg2&o]1G3 FڔrKSKk2JjZC<^NHUv{Cqo{  zh0Xozn}]{dʰ!X.ƌxG({.0QB `aF3 RñcAb"_ Z7\k"2Pr%D@a*C/Pk :1ߤ ؈$"se',eZ7ZоNlMGj⎣x#!8f(%P0Yo~~Ia&vѷC7DR 3X@r8\x6!!cݓNJD2J"C0i RGnon\<'ԯ;+^_¢_h TXx [k jW7EnF3`Ңkύ~p?L Fpoێ~4+v4S^ |7{S ;/f7Zd72ͧzkA`ab?c/~Q*ϒI U Fx~- =q_Ьl^>#/b^&@,$ 8 z"B(),:T%?`I;c̑ق ,Ds}*ߢ((8Ζm ^h BHP5R,?¸Vn+LuaI$ScjoKkP;v=pPqYC>)a5Z3R@`rlї_9E (p^ļFp )ƥ=tL! `=D+K~ 7|ءׄg}WsŸȔ734 ?ޘ]cY%d2 Pt7ASQ+`Rgv8dMܨb$s`K1TUE5SN|A?OvtPxx .HTC9 ><G*C ~J&JyVd2>_zE=;18Vu(Y@'V'0 ֢Fy7=53)=. 7 -+R?K#^(ݠ𬅢Jrh(#+ua C흖G5 g`WDbR??vbg'X7*pOyF#~`CU1B1~r/_v9 _0"7"RkoB]K$^apG8ZiJ9֡ ]p@ɦx.$k\k,Ѿ|YAlC?dՂ_7':"6]}υ?GEp`0E<$|G^LHZW4zFvC뀵9eƄ3 ګ%n_QPh0"ஹ'ˬ6TxۇyiBJn|w8WC>/_ 7J١UяPLAھ93E6]lY/`PXύ 4!Rx 3sbPC7MP2%5U] Qg{yfU10}2pYϮ@?Onj;sn\/EfhBHi}+S^iO"T !7]۰&K{y~ko͈Z1rp55Fx* ل3nwzq.>l U*ϝ}X׍u?\fL?01EٲN dқI&- -)c +k54SrƜhǑs4Yra(* Ƹ|+J;HZK29HXH**V)E0E(!Xx ˙Q_JVwyB=d=ZQ|{Ksxfqm8"e7P?B7V[s9Ѹ(a0P#];)@l&YB"ak8, WE'9.)-dϭACf8," ;J*`qlNP_Y8Z.AX%Mk~pv'"Ƨ 5 qmk@DذD20al` `Qş6e+t}Wr}?plB6' kްʨpdhshHINrjj}o@77n.Vx?;P'\R Ʋslsb= .E4f) *bEWxL~ $yDk!dfd9V׍13I&Α #LhJke,~$s-g O88oV_CM$ق '=oH}3\= ( WqOv$H  fBZ'_|ij0,g# seVT{K"B qG++h~Z1BlCB=*p_x}-3`%i@c*GU H 3sc|}4xR+|bmZoC9sTfZmll-q`_{H*$U1 o4v;:RLѾ^OW?xޓpYQO]dE/i <U!iub;X: XoeT1MKFTv+{XZ;, ǥNp?R*[e'ղf3 1ͽX:AlBbA$I?1쵱Fc l#־1& A{. Aɣw(Noe -{>| ׂ(L8o+y[e@z?Xk/ODvL(;|L$ѭfsMzjoPCm<&3;`~Q@}D@IbB4ws?gC:Y MZ 1V:Q)g2~̝c-#|'isB $Q -*j)B{wGCоNڄ/]a,G-7a'|dDr< pbmf3X>Gi7Z%0LI FyZ#IdD~G^u&E +蝡Z?c$q.I{hH{圗x$s:2;"ǂ/Q;{altk"kss?)#ɎqhpQA\1Ա$r;| dxFZ`T]{#f#[{ hՠztz;c|pb-TI)9Ԣ:\fƷ[G)F jmXKo E@&#IGU*d( Ui<@ <q0$xZXطR|C0 SgniZ4ҥ>#kf GcؾQZE*A\ Ew80`2Ev; &8_'JenqS|䅠Db 3ƛHf-U(:.IFC3d"0M bAkAh"%{~,/P>=+5V1 ꋮZI\Z{3#rZ:3J'!AZ ` ^B9Hz|zEĶ0\P+ZokLv@y[AOBce:*R*e 4fIDATQ&jbb3V0}aN؞͹R4yYm3q}9 6s1Uqtl))l ÝǪ|'x^+$ 4|w Sr8g`7N*@A _AXLaCT&aE^Rx ]HHRo% (h>:MH@?_G1[1<{R<Vٓ蕯Q!<;Q>(ƳAq4o?;3h ,UaXXʨ8w3tlq?j7^~~#`_1a4pNz3HQ<ukSX@$ט8J% O<-5#o`d z@)g&; |o\׆/[3V9¡{A?#c+XL'K. A&Skb,&D>7Hv^1=kd'\EI x/JTu]zjUZZG{f%AmӘVLHQf^*.]GsL'x,6;Di1`}lߗc] zg_0VҨ* j5!ȇSy2aЎƧI-yʌ_A%vCxy7 Vx+0ȡx@頷oª@ XI||AFޔdfi&y"!E %BҖ?l3`x@яH/]skzT(^=Wߊ9jW8`55h3= LC=$)q`79GE*yxʑrW熆3/!q Iۑ -!h{ !jk zN)*! u$0ŕU  GC7kg{$'F;yPe >y>BGɐÆq_T|4Qjq E:X(4GZE/}Nh?Y=# !66$/jx wauz:o3l*}iU+ y<LlyЬ{qFyVxiÇc׃=7,a_)GË*b1r׏osskĽ&OJ`By_ @rQ &SÁuPW{-zJL5-(D&v9YϖzA1q`8 j{G7M?. x #JcCpŤ=hI;^7^MZ9"Ю IG)bU}޸CT0aѬWWh" 'tM?tj!(D'|fk%/B3vthO,>ȓoZZ сTT6XmEkX[k/[,DUyt 6\KUvZgKGnΑۅt@)R%:t۽|g >0=yF{ajb qPE6xC;bx~6'zGs1kR6>V:dR93r|ClH\_Z6B Ij'u,Z }d6[`O:ɯ !$3Fh_{x%#/c9ߪWk%Z8`sc߸7潰 deԸ7 9׽gW3 ^,;O%œ0p Xv\[?Q"n!(qt;~}xu׊pEܱ K>7Χs8G 2˴ynEy&:jEQJ!S+EP_c}1`Osq-?oAVx/yk-5>||ڪl& LvvNHX@z!`v\P K;]f KAù5gROa+>*#y$|}T qlqA,?ExHFb@1!rL>"W̾gn<3ƚpXϓ4E[WDpǕ 'G9_gnJd]aυ>Wħz9q&T _5 Xa7=yFUpgz2)1Xȏ=~tVx4\)ݔ9T\`x}yAr0u=98ֳ3P^̔۴`{.E̍㫢d%U?Yuԣ^/"?w?'| "&Je]pR-ؓ^1cmmGMYU㕇!o/= E5 _ZfWF?PH">@ "*4 MXv%{-E@5Wヒb[8z79\.(ЈȀl&J|Acq8⒂+Rx^,o`'h vVűlR doHqiLL Ioou&vleP7vL_g7(L B6x&aDa;/2 DI`\Yo82`>98J8Si5R΄0aba|n9Vx OCܣWXO^4]<)Q!#0 ua?EJ;'/O! Wܓ<[ syd23>}`>Yr Gy]ߋ$xy"5"):7wb.V<|zPIb@lϖ rS֒" +69ybSV#y aM&H9DP /Yt:;w՛,xΚZ`-H,COdD)1\%e=iN]A;t4-!N@)@(Zf\x7b;Mk4 }alݓbO w KABT(\!Q~B`$]8g#;#Y/P>m䆝CbY0Zߟ0d#!0 )HsٮACB.*=&$Hdz׏vbd4k$.J2R' BhPx_)/BI*e֪x_dܜ@'Xvad{ }1)V+rA@di0֥bs>k$*VKLsOV) dJ)Tκ {/k0+W(.(K;{ٶl1SBL}M7Js$αGVI%%Ar!0x 9ɐB`Mw`G9)_Dޗ^< Ekn A s>9(EhX=y)`PcfeuAyynJWFh_!qmM6o["&Af6dm\?k&+4NG(lgQV uoX'gRtHl(`3zocc[\].1)78 ~ 5ĘkaOn - MQ̖Ld#xMJ2&h<JWC8E"}1aIc50~8Kjs=9n p ۴Z0!  %kq_$hA \M&Q sub=ohue:ICnzxUb ,"VSxn$'~3Oryḿ/k@r?rĽ!ҼPJA;NhkVYSFdgnx6\9н9כ?u"K?!0N^ޘ#0=MQ'YN3\A ZƸ7{gs}snodEą]\((A3 hgd(#[zTFȳ֚q OиDh] V( :gq28o6yt@w *%/@M؃ZVȻ^N6Iydg?q7M 3B70?@8_FؼiL 5l0/#VHº͠3E08QJOt]EX!i *lP n{,q<`?:7MP+cw^c_@MEYoR8 Tqh+z6"|5F)Y_{UEVD'T;V0Io ;! 8p=AsogW;+nDbt%ʲ_jA=7-:|ZDf Y-tI<|. s[Tn(䳳-VA?_08 7+qqʠO2wz*m-I [|S-r8^Ix%š{E܃G@)h;^㭌a(UQD jM&]3UT kc".ׄR ^~3~R_O<9uQ8vw1xKoT^!ҡZ1 ]#id[BLŚVm}#(yakҰjV'n[ xs0iK1V jbEU!m#i6!UN",x%.ԣD qFz/W"&G JG 8Q`gE煥@y,AӎZC`{$i)]H/ʡYJ'M`sq{jZ|v c +=q3$eY΍5e7 Ϸ5\'c|x|ne>}pȷ=KH@LTD8.b3&UɑٞR>LT%`'ǜy%XO`撾T&F>5g_xz4huT[Z0AE8SZC=q ću]yr XR Vq+wl8{Q s`^&>1&O\:(f3'֜xB>$Fa eHEIM6M% )oJE 񅽈ׂ `osռ80n&+:aJ$lbrkẔ`Vq X`I^׍Z'dJ_Z.Sn`w\%́(U_@ZHH%hOҊ;\t苖-"6{[4JJld_scM޸8ehMxRAD ;?J遹6ռ /΃UH^|ߧpB _B4hg/"r@et}&B+OG9:$^ޠ|](Z@ULLW7ds TBXh'8E@,h|BnveeQkѭ/*SZ _& +ZsaCa=u߀[Ҕ0~ CR\M̄IJB-9&}eшMvdl!B5 J?uhb<X{汀 υuّ5y.xߐXx|Y$!op#Ybf p?'ձ~q97=h=Mz02;һa97|(0J˴ie/cB% :Hf1 $[u}hv$QURi+~VXWgiG ob`="Y Sz2 `o,׳±Ѫ3e?^ rwZ޶MK ue׊6ۑ3Qyq`_sM0硰v`d(x> ֲ+ZX\ӸJT pg'ZJ^VezZͩRڕ`(|M3\OamV@{1\#p~ 6Z;X|J6=;- *0GBo 9xpnVTRU\YZn8ׁrOl|MdxEϺڑwLHQa7DzT=yl) V9G`ɩ0+`v<ZAq?XR^=stL{x4k|^{wI Ry7&|Mƾxx3siLqB6^PaL,.Ǿ'-`T)jƴ)U63h&kBZ\g|@\>ƂXs.R'xy|~{Z!)Y s8LTC1f^{rkƺ&&YH5C4H.)ΌwF؟z8 Լ{@WЃ(;?xFau5%*͗𩺙5cR`%.w,dg^<[Fw:>w>ʪa 99N4pw@oTt|W4V.qqy<SދKaӪ+CGpZ+?Moô$`PEen2U)IY ҰWf6V8G@dXsrat 17U:LQLiJN_)Po7u=´U>q͈N&Fjķ/snv`|@g0 p}X8ِ|[12M$H-V@!ͽ9qv7aK>Mqas HpDdA1"k< TIʂA09(^;K3@4\Y36s x<|=ڸ7Z\Ŵ޸+GC ٬D,@䚤*Qj`nZ<[B g!<-+pnJ3XG-x|a!\~SE+\=}z!D wj1rŸ`ikP/a^xGN^>,cB}@`ގ;k<<ׅj 'Ri'U=P̱bbZK1นg+$!S9)TAqA ^t7%ŒI> DjL,HEĈXȆn]D;X3p+@_^ Ұ^ͥP7ȑYY֐ߺ;ik /(Xs盥X$Ĥbv [(_+G)J3 Dh&ӁTܚ >i@^(Jx6L Aׂ9n qqc@76GN%3"Hr"Bꥌ\GMPC#çG)VErhrUt?櫡3sš9 U,1 1/v$SP ZkJ7٢B\`q5Ewc;EGo:P#hp\)r겡nQ*5I)ĂlF+;f4R 8׿` x{ 3Uu1UX 5ajY< " A;,ϛ[ns*E{?Wv R8ؾ }d.5Wv}lćUsFqp 7zQgC&ViVV\ߐ41(lj \/μ놩cSELb$t6*R n鼍zx :-@kt+ٷ`^oE3 s*XwޱoVZ[)RyffU~bk>dr?* !N.JF^4{y#^@aki9;ì례pp!YF~Daxwt?Lpj36ҏ+2/CtC:)81@g$dCɨ31odh`^ VeptωVAk0ȁ:~X z KϿV>hBjli+1k7JV V9ijܘނ M#84 9 綣9r1((~;PBX;[b[`ړƄh 4Ka-zCT `͒ u'3 bm d{&!Q~q9!?#مNYpZPZ+ D)/DIpO6{Q;WCk's4"6A侰V0he<=Z zhmصӗ+&FMXew,)mQQ0zXas wѧKK4<%tEXtdate:create2017-11-10T19:54:58+01:00%tEXtdate:modify2012-10-25T22:38:28+02:00>IENDB`pychess-1.0.0/boards/lapis_l.png0000644000175000017500000004442613353143212015650 0ustar varunvarunPNG  IHDR^gAMA a cHRMz&u0`:pQ<DPLTE`ʵjʪjԿuʵuU`jJU@U`JJUj@55``uUU@J@5+@Uʵ`@@5ʀU@`Jʿ߿@JjU@@+Եu`JuU@jʪ``j55+JjJ@@UʀJJ@ԕUJ@jԊʊJ@5@@ԿԿj5ʿjuJJ5߿uʿuJ@+Ԋʟ`ʊUJ5uUU@ߊʊԵjԕʪuʵUԀJԵԀ߿ߕʕʵʟj`Կu߿jʿ`JUJ«7bKGDkRe pHYs  tIME * H vpAgFIDATxM c%u%V]臑[R]jቲ`qFQn`eyA+لldsέ u?=Tu1S!r q Zu|-9ڧX'RRoSKސB{f{WOϘT+}֛yykX:Nz]eZu^yꂏ%WiZմ?u]a sa av5{ v0.d]R&7L.Z~H!Ih3/^p\ŊwIm̧e]KOKfg:?M]ο!O%Uصq9)}TX[e- ~ UuXО?oXe?vڵ;%,o^쿛崘!|N/?I쏩XbsC'yk̙bnTi{~4Uxf!-Z8* 75.@ß ]ޞ꫓]|spu:WSX[sze"q?{uMKhKfyQH-KOvWMli7 9i2Z_R˔em^OfbbkM7{ggki9ӠZS%~9LqmI7n ҐF=O,0 p0!"=k;Po͐e}\ͷO t3?[*R%mQ !u5ňwXl]րG1cŠ_H u|eqnZł<պ#N,6̜VgyrWs\̈'K7F@+D^r+V!dYH+ ,r1/+?!-X YOaiSŇ%,[dyҝ1b|eƊ -3Mi̮1P7[L&ב%ڣ?3?aHU޲<[uTO),5 ~fv"cZ2` Ɠg]翸/_~ICҐY!hQX%ˑN75/A|KQY2\cwyV8Kq'] nUAf Rr YZM]̐-u$֢DlfJ91``}ʐܵ&^_dH!-k%#"B `Wט,5D ME>-u s;MU[ntk Ի/j2`0+b|ɶ6ʿAݼۭ˵MZ&ZFtW Z).3 YoR]W~ KE'Upkpپc^'oj^˯=_- LcJ" f-QJ^dx:caz%NHB"vWxypx`K85+PvlyY|ke2YMXbBnkѭ2L͋]_J?3LFmc1/Q]9rؕER+DJ[}ݢeF*n=\+6ےxo`I+E.XwrH^rԹI,W&.NZfzSalolyb_bghNj[ xt1UcHӍ`#.DVFB2θ d1+22@sZ!۵d+to3kfk x9e:iz|o<lٽb's0iƉml;p gkNS0 0nW̨fȂm< (`7"1b2Z SOWfT%SSQحL@=љp3=+dxlaĈ]-b ur\٘/+@9N8qExDs3~iO_sc1 a8کXi-Rfc1vVKc|6{E Y M)4$W@rbXdi! Ybg  NBKB{,?Wd[QH}ʼbau>,#ď 1F Y1 5V+bkjH,ZC\872V^l` $Zĕf81Ќ1SuA_nOYr,yLԪloU縛&  *;3,.TrB,:,dfRFkx+0zАoU5l,_X`f fa9^ۊJ!~Gb'Fy!o^(!$ aAm4!&l*s e,qRɧ:/7Y7V&h|`ߝ!-:z `Y ʀ E3[/L7`ւIqR Wsӂ*bɔ_ +_aHU6S g5 } jd 4_Q< -awg8la%5,:/ Q!;%r2ULV[No@csSqW!j g\ݤ9T[_ͯV'ZP"֮/֯,8hPZ& ɝITT#;{kP4Rkw+ߡ/mM,?&1!+ ګSnz"lRtl)!e^x+FYvE#$B WP( Hz4f-DESSX`xv!~֢2M7fg7@ñ`QMa4[!s/E"F9$7ye\XI #kd8BEs& v+]P͐boxE(7q}bv=g3#* CαԌ+&R¨40$LZUՑ)(!a_>a:+7[O3/ OKk}ܐ 2K)Kf{S]̐-{IO4Dmk/z$CQOE~C)DnȼrB4=́`N߅V c͹ø2X3T! ~ؙ$f®`O*3 a{dV*E@|xߨgõ!_#\@qPv`r_(!l+nHXNtaGQ&7ĪJBQ!Xt#Cj8~k=ː_iPZqʗ7_s]P?<`U& hx 4:RRFVQU~oqʄD9uHK]9N!{3RrILQ7ĩpT@3G^0沫#eV#Z=%;D7}oMgOPk!W1r- ͐x9?zU֦&žrɖh=RbuDWZ&xq YBa 0͊ȬqhX:}frn G8| c&h_pWbW S9 \O"\Mɋ:'cR <5u͈䉘VٖaѻÊl!lr;o$+ CBh5Hh>jDePp="LvI瀫rw"݌=<:f!vi]Xl%L2ٱe<31ƐX<  cHcg fr۾~$t4Ԝ$"zp\cY B-6p@Ov$jFɌKZkTD]rt^C$6\îSY 靸U s0)7[l ;(-=}aqRQSeҪONyi9֪hynf /}-j`#+qiHv L$ޗdzȥAW'J=LTx R0RS}bX"rl>$Eb"ҡjPD$f4dckAR!] .&Μck( _ (A4hfE+j"}PyVet#[!jma; 5t ӡ) c 佹w#6pC"ڱN~;I4";^@>gM3EBhI-qԘH"ƣndaܱČ $Nq#45yr%дyh|SawxӼkOG(N+Ptd炆 gz\ű%1@!sՓ.Yn#,Bh,b4^dr) ("tCJb}Ac.DDzd!`#:́]L'Ԣ0c;^eaݽqµ}j^TxK1/x2IA֔4RKs$z_"͛'ۡ= _B[HCl{Νp2lMaڢe//e5[9"Q;P]ID}1dSN1ۨuxUnahfF7-n;h!ËI(!,@7yQ4eWZ,ۨ|Alݺ\+Hn)Ct&lɐ\?D&5y$ۊ.~6P8R]qN>zƊ< !Iq/ )#Rus:W $9 \)JiW&5 (¨;u-C¨I:UpW)oOv{BD! I ߰Rx /R&IqA\:Nnhz%\ U4C~;MdC|GzM#A1_})RO ;CZ%d'W (A)Hr).?vU\V’4A9ayk\|1XKda#ߜ\Hu|2ئW$79B䛰pu(⺥Zukav605[7B7KM+.fka$DUs|Pi!S}zJsͮ*RtC )&N!!,=H0v bys9*L Fgf -ɢ$b֦8v,@|ƪaoR!rHaA>ۊ!yRAXd$kkexS';6֣s*~}oLc滔]+t3NkRG|$O qp&EׯGw]o5^bG#׊ұyX9!NZSqe&>>S~q)L,-XmSo}"GJ>drG(LyCzJZ܇/yHƄEgck[B6mmC.ތYc*恅r?F[A$(t!"Rau]Ÿ ̣Rqd:c1()L˝O"cW˴"bsX!z>|;Α{< Q;5!`)ks^aB6 ! dIAL$w!ٚRPծf{osh劀s&e 1fyM)f:',4zm,;X|^'>:a*֭q`5b0 Qf8)"Sթx\O5Jޤ0NǍ)CED~"8Hx.Kn 9@uߡ(•b9xaC|b޻{"~|?А{6 ~ƥ@ xg0*$ +*FA SlP-mrMG"hy14rR 19֘ŞMMx ar*2Dq `ժr^=j"8H޶)1?*EtO<ho=1SUAseK/2j+Ns|cĠgBIv:. ޣ/bTM̋? %tbU_{e.yl:(6X/r1V@ojthcig코}KӥيbS(# mrSH{7R"ґ ׌dd>vܯg\#^4mfhMl<1k^ m:_ -\ǮM9t$g cn!#+&^ݟ7÷}=]q D;ዜM痃W$Z8Tm5 [.7 xScHزO-G#M_*M_kmOZ9OCz}{ބ]`|%J$g)cG@s p !]͛qb-|&] "* ռ;LsF#p&f+Zh(UNB["J[ ) BxҀ6-̬ݦ4OߺkeoBx\3v6NJ[]K6dV|qʅmzPj'qڠM~]02C6IJVDm/YdyW (wfԵn!έ Ly{ ȇ@Vy:7|P9m<9=] v'L!ſI(=!<~6B/v^)G8 ucINE<6E~m͋At+K]m=o`)f=OvTdJ9fVyp].`z$ѐ4rA曠ZMREa# GA\1DA7!f.k[=e/E a~w:N#Y^}N-̾wJx᧟ NBMnc>z=]G%k CBxSeH5Ӝw2DAYeGn8"h5(cЫ-\Ao[j}54ti' Um (D]p2m`hs1T^b^ĐK3 ۟WCOeHT(b^TUU=gnTLJUINknoa\5`߶YQAۊ], n?7aH6<'Ryhԉ|8E(;ԆQ͡[Q\ڤ,Lw/duW^/Vl6{:hylqNm>]l`>nd"v]juS-Ő.h&VI>~Fc *}_ylP ,О3g?+v=l4? /Oz*AJʙTm 8 ER=] eR9]!h.~?]7}[cbmm]ha}tޱ h47$h[:yojIc֡$ C# qD}ul6)W>wljiK8Xm1cMzk ks6YsFĬ\2ɶ<)F`U p&J&!ٖqrg𔩧9 Bm޳Q=QSgYaczs53MKy_lZґPY njkn)c?)Y$WNsؾqSȎr(DJ~CEEnpQjAN7cw?8~*`[#;^9*8O$Hӂqn1O2޲ݟghup0 OzŁZT/~@eͤVt2l]_ SPr{61I8w}!^U*X< 6Ӑ5NQwzŭ6p"'#,xFLCR qD!pA#EN8`hT%0^"+eI̐|'Ĕ^jx /ޮ?օ%9Uf N`=#M3a Ԕ[G&_v޽yx0C 0f+buCO^)l6r5Qɻ8, HlQ=k3M>nmЪ]~Ruؽjh3c{}NwȈn:\냹T^GfB!L^GA^*5@]m tNG;")l7EO@{E+EIu*$Z3)hK0b-#^8ʑ'C`yG*q#轁e U3CV մ(S4meGL~6 9_j". 9./|AtVٔ 3o(b'NݷPYe2czޱvQ@OnG}(kP׍3LJb k.yHǙ\o4+ hc9[g>S[znľ9f-D\Z!}Clx7>E3rE̷T{|*en̽l}_nP(L|RjțRi45C74V߷iU p9? 2 ^7DC9ׯjift|`.IĈ8jvfy_}v?d aN[N|ݏ{ՓGOqCC {ɝ&w+uw* :E=C[9F;ٟj4nE l=󓫗:3wkZ?RkyT2’vm5\ج̾iմ%[]e7\;~>z@3^7Ojm9QeLװ3,9of<3Uu3+@5#j !b_u<Ǒ4 R͍%e>F 4Q$\c*Gcː aH Cy(bpD:!3r0`m#Uʦ6Kmes*%pȐ+/ėx=:J?ElԼPM MRRiy=)83?gv| g}t'³M4,>;y VK#4=/0w)є8r<ď߇+]ba󴝾\͓utƙe0]id] yB:zVѕG[|)Fч4OjJ}&aa }[':s|PZyPC]Ł'yFH2 >jS ^Ufx.>w[ hLRL@HI>OrECHd>ᔥgw*5zGs"BPWW?߄Kɞ!o,ђI+6%[B }]'&JPsAڟ7Т{q;m`~@#38Da =Q\v|ܒ %kK"㠻T6ꕦx|6MԱQG=2p+]\ac.!#e!͐tz˶Cr6 VKG5x3f<B8gPX$VCJi"\O?sHO]BQ`3w}6;5{S:^|D=9)V39ҹsP.7{`<\ ~h?Fi$5 ~fSqs%@Ȑvwo| .핁w#,>~q~Wk X}ޡgߒGbtv P8O:n7ZaK=Ε->%?_=`Gxo5y8k1!X7R{-1IYaƙ"/4>hXϵmr{ z$o"q#=1wt2ۊ6ݩw}+t^-U[VE هcJXV {^-A1 IPiI"v4bzńĆ>{^:[kÔ# (?51?%7w'_U9ӵkXXCMicbc>NMl6iHI ӝ/ge~AFe0cB\9 8MxµWwނ[8bm^ ^%*m-q 2\)=,zt`q9[(o2 M)nݴ_7wÐ}*H"вyg|ᛏ߇!1Cб.csHkfej\570լ3C}<& >bkq':g۱/@h !|Ը' m < U'tڍ0ËMOP 4 %csng|R%tEXtdate:create2017-11-10T19:54:58+01:00%tEXtdate:modify2007-06-13T13:14:31+02:00mqIENDB`pychess-1.0.0/boards/mahogony_l.png0000644000175000017500000011704613353143212016360 0ustar varunvarunPNG  IHDRg-gAMA a cHRMz&u0`:pQ<bKGDtIME  QzV vpAg@uIDATxT͖$I ~Y#żʬf992TŢ;*3TEkn|]n_'^oʊ\Xn7 .hk,taljƸ2,(x_CC53TDf8MĎ/z'SD_?vEa7},, ~M_6y_AvVܛje" 7;XЖx,(w\;}l_o8ouTAY׿<``IYPGC7еjܚ㠏/ccm.p;./:>HLƏ: .N<'M^rÔ&*x&m`\m7eA?M4qEvC47Na`4ݴAWaax8 vC7E[ ^((k0ΦT7 t7FgºqJfVz`zaFwA5]I;agpslFј닮.XMMY%qtef_-5wp'pm麡j|>3`Pmx9Y[yNju,H_ݩMIBC鋲.jS~퟿pjD K/n"(J/P@`X nw*Mr@N=fӦ=.N:#)0=洇ToΚ?X擸/:NX`oK=Ga:/Jߌqhԗq3_9!l ipw2 -17Gdz+9Bst_tXzց1}݄S?fK>AP߬ӝ@ӭ w7r/enKvn:7i_}a>y1fldq`NNC`35GpўzASili'i@?MVB͉ZMR:1=pg!gNvn-pjNb^Y(NΧ賧0GZ4aEuS ˊߚע5]ѭ<ܸrgz7p} &fio,tF^Y= MN:\tMSJމWQfu}M X`E8`=ۛX3{P=jͰs30m=cU5_b~.lݥ& h+MBB5=r y0K̪J\5˅i, llo1T~ [/p;pcus ?ZQ&5ynYi5(ď5oaG/Äca̮ϼDI$Qe] F0.̉YEЖ=_iV3l/on#ցUv]d 2VmҌJp+o]"*,F`q j'T5HгlɍA N,76܁~ D1v}M^Ki@ Z4>è1 /ҝN{c, ;އCj^r}8 F8XwεgtEm9ԍbӀ剝_s݀lk[qo- 886_6f3"bWɾ>>#!|kD+ n}o!APr=,3^u3`!iZE># ݬ#(s*1pG7\"}aY@5_[%v%<tKӫ/kQA0fCK Zw}m.kfiw''4+͜%&֔e,Ɖ,nN%67t_N[C޺UG3bx)3&z͞^Zo< =X ÇCo7F3k 2%p\=@7sEkys,Yyэ#h3%e":V϶]%KQx~cԕe?Ux&h/ Bd8޴[?r/m0;xo]Cg,/lzB՞k[ YAPhɇV*6:Ѳa#J1vC7+ZTCE-zo‰x>N6:5%7Y%'13!]548$K`5 wmpܡ .` _ O$fsq,᪹ 6z4iKX^1|fsBsuh~脚ljJ;pξmyd'KogC5P[fIۢ3Mxپu:_fvc}&?7Fޘv$Eq/SJv!Knq]Y^2r3+u!A?;Y5m}'XKi?5.Xϣ8D3cۚK(TE6<tTB;?cR2Yuo m}T)p0n-*{Y.Z_YI81ۄi0-abO^axZpPaN:U7;rw,e-|Z ,[3FIoބ~#ʩ JM_ Fc$KA@B;%vQK'Qo=$s}{Eċklr9(dƒ5G딷BSr^I١Y[=1#Pj,<FWИ\`g d\-д-QjpKn~T3N%((ljx:8dM&[7m)˂_r*S?_s*mcMfҼ:]="Nc987>y6r%-]A^s -xIh$_x8>`Th }N2z]X h(S4["94z(mVՒp_oա+֌k.zif3QxX+cHX[zZot٭YB9EAzrFl=XHlD[k&fiEI͖+x`Ki ?{d@Y CP7[Y5>s/:pTv~*$  1%B4o Ӿ\ΊM *-M?^ԇ/Lީ6x6筕RR;0,ȇG<`3oo_E d{?RN"]Mfޚ9V з6Z DrR rTCWH\Mn$,dJcX^sR={ͦ |auoBop?t<`56m3:m/XՖ2Eh!AFnRUoH%Lk جgAFЃ-]b}~pt::$C0BlKՍi4EVAҿo1^P4]oUϓ/[}|:Om4Zpk'!7:5nF/ f%$ݶ!zB4>Wn+~{ a^,y\w]]=W<: Kʎ7M[>;+D#AVþr~V;.:X`f䙋J|҂fD aHp݅=KMݢĖρ3VU& =KEkp[IMKJ/Rs ]x^d%ϘmGޱh7M{iZXYб:Yؐϟ?9mzaLVj*Fϋ>U"7 EdFvi-JW`ό&]Z:kσax^T(˱igZ֦gY-*r}Oa#t0y#*3ĝjè;btV?X6^{u%u| \_{nGّxȧ\_1z<Ϙ7狈s6qfxvs(-#rH.өfԓ/@0U%Z/chn#׺t(/M\s22`=̋ x7 IעGHK'לⷽ%B9NZ.: +=_)08NA:):>K1Ynz?j 3& 1uA[Yɒy}&ddJ%ؿ0C#ZUڇr䜚)zsP6vӜ0rtϚ/kכj+^0SpWB~ Gchfj_0v|)[t]bc抦3w1aT by]0EhgkdB&;':c$EVmpD\ùLZGsQ)ݣC8T(^T#%>bw[o;m-cJZHt0CW mfh5Up7*o%T8eWDbu-TH9BbjIÀ(c-܍aJB<y񘑀z Ѫ&?-:6 ΛcKSDޙNi8JG@/hvS2?;=Wc?8X< /-Oצn63|ї1|tB w 0] KKf蠖7T7sF$1$%>IX[>c[sIXcF>c E?:e[ocQL^PC{@LaW=:1?Hz|&5e`VJYdq[0%ܮs h)Z죿y8҉o)Quu37]qI-V_}-Iw[[Ar#rstcIV3Jb\"%澿Wc򏰖qh[~(a7YGyߚi:m݆^'ެԐ|Aqh)蹖h<T|Hm&g9Tr65ꙡVJ(juANd|*ɟ+H~jB9\erf4 Bc̩&_khڡQb¬^vwbQ(m\1 bºzR|I6X/"*mKD>mq{8ÉZfپ}ܒA*.yuWC<Ԏ 61`A((NElf_H]o|w[k8Z n/m|l'2ĒQ\*;k6J )=t:yDyTVɀ oYD7oml˦& U;|QjCA PA"KS-ڏCJ{^5NY2-#Ft+z?d9T|/(VWH"ԑ"~d]'~K'HDZ&$$hH5jLΈC{q o(V{ S9&^'Ic}F=:i?Y* `K\kcsPy7X*)L#Ն.Z`i(6ɞ"fKnXu5nb[Jz,lQ/l&ǀxsU9qLϣFPƜE{2`M[LXebɼ5\6/'h,$,:?|Ҕ8/ 0Y̛_;j'8"5“r^'Bǂ=1p~(5h\I[ ;!fg1>f e+花#rl[?x4(i$ߧ69| <c||XlXN2=3\DFA:C@N=lk #k0ǘz\*GtY9qeN ,xAF̦7E0ߗ"ކϼkN]" !Pq ڥ{%F $N (#Nq trK&巳I,D|4/I}Kۥ/]Q+7F}Ҥf9岬a?*o`c /'-{}|_Τ`J`RM6GV2l7: !dg;sm@ڣp ^LA mua#0;up;YC?5ϯl$VKѽa}QMVbvIF @_Ϸti$-׋/swп/ܼE3H[}uo["j%n/v^Ĉ)eT1\gAz5X2G{,fG3lwk-l= AMbԬ?LVk2&v4/#т;aHm3 Bs#:s1Q8(?6ڪhL}BT91IaUܹ ;1> 1*l5T| +?ރllǠ "G 1? ]#ےKAQ17v_T pV4*u`fCyɈde^W\0ž/q u>$m>[L#5LET~>e줨GYƵSY45`o]tތFՊ&B5 AlƱThn'֕,cYF2 e=,%%- 9y%?!uQv _8\?^ޤ΢TQ_Cq<?6$>N1k@z; o `kq\)SL5pWK[5/MEh X]+"]vO?zQi-yU Ћ 21=B12WNXpM3FvN(L(Û:D[6,3{d]DD8|cɚW bѩ^X-A<) &!2\=gxmTc<4.^F,Ӈ¾7K l"m6=CbfJշBYC`a_GadhȥE&ݱe %bơgú*C3VJ*+ֲ ')U(e,Nq|yũd:p$kOmC/ݎb/58XqIV[l!H_ t{}C[F~ӃEz$֒-I=78y[]g{*~ vdV;-5q@kp; G]S 4oh_[9Ė&v [/bbZjV2ijȼdRѾ?95lP?5dFF'ՇY3T%UŔI48"F]=#b&FekcRu[ZӇO]l=Ў OV38*X}\_=;&6mzj_161!)C$!'>UZ`af輞I}M\XMXp#=l~9/͡:5K9.=UM_TNҪOK qDnrCлÖ}nc!$nϋZAq=*a~D9۩0d౏A~VZoS)#]d[5dV5K:=bv~i cá-)S5D|ݿ\J(g=E!X2]IbWotruuyfׇKYO=X@ҟ%I|{45րG+&UJGn6/"23j|bI>;RTRaXL$IdQ-8^'٩XKs(Pf:Zd'791C_A6kVqSĿHR{(ĉD}㽇Q_M | v{vːQi8?IK7԰.Ly/ [.W&Ǽ@NJ)3v r Ӣc$2ЎԩZ}hέІЭ`l .?Ì?`."b`6j&R-f9x(M-XƦ0쓾zP˨[S P?5-$Z3%xA9<3CxqVCsLf4ɾQX$[K$ob?{Eg;ۛ`+8{~<.N褶ՈQfJNUq׈Q@TICNt*>`7e,~p=ɎI'o2EPQX`({^at1KiO;K3?٩% )VV…O#AA; Kj2V"u:տ)KHi %Cx?C I?4Hv*2%IN&}ӎb pwvN;?[&Ⱥ =+eHm36՘(atuOھ*5.4ǵ((rH̬^1S_8^ȱ䲬HSmNX"7#ouT,m=͎:hs1US'!F- xr܎i"v>F>WLu4kܵPlSW9 ($THI2]zC uްYl~ăv??D({8j  _d]1(A%UP %z22/4[P¤`'Ʀ߳H Y bojv%f<0Z ^+r_%Gך՞Kwc\fS2[)T1 `E`/x"w#PIȤ|A1k\u=~դy|eؾf[jhI՗=?ǃ= -Eb@wdK s fG/&JDcFA/vߚg 5[:0)&+;a#ŌbrX7}K –B[-sšMF_׾eQ;N]mHUMY>a*@X|5XC͡x TQ^iR!B!b-XoOͧW@fpK/f]Q=\EϤ9RY-חүj@\XoK@]#Uuu z6O^d]zX:P_=|orr`z2cUoEs@ss0ApF2vvc~N,AGy݄ɾ h;xt}hGkm.1~)!,qf-hbޚ7,X+&A 'NF-Ѓ_Jql[A[ jUܽ>sv_X)~]A>})Ö0uM)Å3=%cyb|QAxLK1oubE'IuK_T5mO`T<,0Lp1ŜDJ}^xE8uH́>DYM{<2gC3I, T.0<޼aq>fDɝaO<D&SG ?߬lnK=Of嶛yÇ'%tk[gX@ Bq>ʛͫtdٴ01T|D*(}S:4S{$Qp[1a.C+IvZPkoͶQfn"2IxiA'yP0^RxR a>YG(x[\2Qi[X;0Sss-9a@9tM}h2Zœ,U*Ԅofc6xHwKjBK K1dMe/lY /f~hT?[Yhc"T  >΢G_X :-y_i>N2iITK$fHtz"VWq*JǺ<{l~´(sku K6o,5/n V\ޓD 6oFi˟I{m&[fo8mOB!^G=KSM61?]\e4Vd`| u}J,$X>/~Z8t ?t$`PҞ[jw?9ZD٦xM/9H <ė$>†Tb{`m.,/riz"ϙnܞʯ{jicu5'Kk}ظM̼V ml )iu:q$Wv}nzol]-{~n7ss_M" bq$I ?pݥ ' M0Cn|MCv%^']_*B/(iI)F^b7ÁL`UޘʕR{0yD+xJfxb1[k-뚳$@շ4Y;Oz{½xUx9 '֭|55p hĸ8.=S$cl\L1ű:,<2 y mO J-O4=Ó*&c;o(x*rmS@S<>P1ao*Z_^rgږ-@8-hEv4;1OӓȖ[6jm*5"f Y=&MշrcTX1[>:nR4%2z@<+a6Lң$x=[iJ:Ck=A9?aٵ/8C/&R I߷uAp@j#gRK!{4(FȭzhĽ? ?LaE F|j6uy$6ˡ &c2&$q. C`AoE♝x麨Y{[ *cEOLVL0Zi c)ӥdfT*Tk٠{@N%(iJ}u>r2kJ)2Gd}|/_:Irfpe>'sJ.Gj (O@Lf& hn=a@])e^qYbdJT7٩=\KbP=/Tv?y*6n1O&SP"GeO O2VKb[m)-pFbxm'7GV,l Е?2sEMZqjưVt/mj]%yL8D1ȮoP1bbĒM_Cө]HmIR!tuNd g}2;?3qP[7G5ҏqAwjq1Z!ʢ[+R(3'f+e<;ROkSC?oakx[9/0zn5_D8k-JD(7CDs/kaqvH{s(a%d/!~S=Sz{b,'Gd$ņ)7"E<%MKe*g9ϗ(RMA?|j̮'I$l!z0t4ن-u,ux8J,hh/%e=~glj)+C/"頛**RNRmT1uwsE6jm ZKȪAPK@^ۇ(wXȈ4SBWV/F|| - Aaзh9-0nNlo%d-Ei8N%nI:f-߃M㩕7A/!uZ֢q̩VF5)lү c b- f=ޭy>Z&rt!R͏7ǴM?d|Voo:߬- 4U=SxPky7~h$C*Y~>1M{ն*v&9EAi26JaIVR/KUrE2L@(΋uNޜ=&$8'T12I2_R37R9[,.i=!>FmaKaO}Ĩ3-.܉/ x9TT} [\Yum'" vΩI緧Llh3*SP4\ݗ{x49$=`SV,ၥxInEMǚ|ov!vmEO[Rf:qL_j]eO TP~km/2{5pB#rMI(1tu(t9wXpb)LRѸZ51|LHmS D֧yXKCY=2iG Y)s_}D7j5`JE}K(σ9g / GRP8}Wbj-0[)hk}߂Xf}PzI9Fhe^T H-)ޔ@6Gg-6E%5 Yr]~U 0UsJ1AGaS|$'uԪkcu>Å AxЮkI&ǵn\s̙JtV,\1DnZfvG9%5h?s#Y:һi9?` /\)Al'恮;/V9%^Fn(TZDI#Hwv&Ur ةƐ0]Zb,!C/듪U9iaj"ڋϬƱ>k_J~cÑ@+b!48\?}kN[:ֈtI)?,N ͙O4O=n72)'F&jjl)'zkoC)â&A:G$ҕB۝eYm/>]":hUt妏/c|S:ifʜ+^ɾdISPnU+ EQ'(0nZN=2pIN֣d'PvɄ'~@1QDե_ioߣ[zq jwbNEk-ÿA{M~fc4d?: @һX'f&"١0N׼7q`.pcW:z @4)֘aV4$,:— -u2GqJIi4WXa哩-VS0NX5颊 yRGc a?3یkg]H^N҇S HcHIz*M8}G1 tme5 /6°TS&38fY?N+E>ġSD<XvOI"f$pfl>0ebzi?ؘ ]5@؋PS, 9օ `XjɤAr3zHtè'涥,3ҹn-,:aAYN=lMst9͛~/1u Nw3w(Z?gc)0,5lb=5 %{{Zkov?jߊ09ϑP#ա*,hNu;гmw\4>y/*×sך][;䋽$ b*+EfQtq|S)jKSMGxJ-d\I'Fdd - ~{ %^e. [S^Z"@5l6ԼT>~ϟ?&J][TX߄IF } LJR71I3 Smi}6d:iR=֩|})%1:WOOzhN(2msb%fPMjA,Bb <*h'q)Qu2O%}$%V?,8͌DPƧւ xGC7; K ]SP#{SauV~ o['}|ɀS =rJvWclm8哎23xfoVOww+K۟;Is%\<3]l恚UC?nIk|Q6uȱ-6JZ6ԗbn+C q`Jp2ѬNNWWռ)F^2j _ȸjZ{ &k+֠m-ͱ%'g՚6@#R|T@oRik$]ݦ[Kib~̟=%2 N-Sk AXiٙp 3[H `NQZ`bQRY9㻩 <8X1fW2I['K8;qzlr̙S$$/V!OtڊGqx\`'JےFfx|XI/HCPEfa2Sr6FsNQBYۛhMV IK49O͎%5~G慥?IhڊM N?^>!^` GM)nDDplfiK K4kRjpnsYOP丞T9=h21-ktMC<]Sxn`Uz`ؠm*o v 3XA'iI}n{Xo/ρl"OzT)}|[i:ri.>qO\1SxRWŴ/XITcj%~CVK)Uu&,h왗FtJҤzO1{n#s+tH5𜏢J&X(Ǵhem+btzK=cebcۓ7MM]:DӘL_jɟ SwHkI1}(),hITVW(|HJTdi̞yN'bNzMh'[S4/t.f{z:Crxu5}xע1 K9p3K!Q10ɳNysb}'a* :\@Oŭ? :4+Juk-6ϰެ,55D0.a/)]Kj> Vbs<~}^͞}ęNL=øPV 5NܩJ5VT*[{~/ jmNgKp# )*f <\<>/F#VGY|,%jQ uS V9ݿMOF,=׹t*@0VU;!%ho{lA+Y[5kCZ!35 {UZS2QICi/]E8H\f)}H@n[d=7-7ID:᧊-C"f2Q5ٌ(lQ)8u}B\4:ÁD>JQ ADb"HrtɅ0.lNSa! f͊ /<({61>ل+INeX bu0!JRoqzS3bU1p&Cxo.ɩmiN&7ր‡LS5*!)4Cx7.3v_sUX6@#~.xk-d (AvFgړ[ӡ1>W4z["Ȧ&r缨Xթj#^a2#vN˟ld5fw 5J  S(dH:3_85[}%cs3e'qX ڔd6SOã+(\9wSѴό1,?e ʬ>_&| 9`@qV34gQFh-55J&Cy2U;O]NFm0ŇQ.q).%o~.(HcX^o})PcLj*O{aEMI3crcuї9ITz%^"1VV}L pՙROhClr$5Gs)E25b< ~b{7mϺNȷEکSĤܿ5 c:1Q©PrhW /, (̧zjRhY@3VXe?=کELM\nĔd3'_̜J="5v1>'iJ{zD>5R7=7':J !~} evc V<zr7%|E&#ֺԀ׭+6V mQ=a/ⴉXB|hFJ8$^םMyz&5Su,$(PsJOˣI&|ɦjxrI?YUc[0D9aMf`.Kg)FΕ2 us?_'H}.X#k"mkf75*;IqP&#m~0Rjt#>Xk~cǒF̿F%, JKݖ}R^t*M$lo^; o6> K!3k}a9T,@G8 ɏMQK,DUI ڶSQ[_;'(a ̬sIwdxp>t%Hs1 tmcjJ'J7SZzJ 4H(D28tam3lR5$mHT>!=6-wR}ݬK"dMkX-NV-!f}䏏{\IQx\ln?0C36slo6q}_gN >D14D@ohyZj`> Kc^|Xh^غބ+kEnH[7t >[^O06퍯fz͊Oi-5*٩[C /NO(߸骅K1ͣ-XTKg~ɶ5dzSl)7 K4E4TX'^mxl:ƅuMEt\Y–\߸8:0ȱAʶ)+f$;J{q:'QMʫCk-Jt2$tp$+~Qץ3e3M)""E ZkY4rOL4S$\X|~p #\=pd Ц|j_tnRS%햠0q?4?̉t4.ݒ< Y:t ۓ]m4i8l< (۟,eL95MDHCX]O`( V)FOr.=q:7qVFT#ӭP̚_%QX)Ɛ)Cg`0%Sdkc1s%t!lYz32E)@h(GbӟQs|MA~eŞQNrڔӌ%Z1 vz 7֚1d{8맭i/jSuZvbi&M9w=%%4”.C4fu9w5a3u1(%q?@h__>R1¦&Fu6he ?:2R/OSl8M5W7Ox|)/&̆u f=b\ [HǤۜIⱌJU]-"<,ꉭYz>^Yjļ@)G")qD >"չj~/},"Q5ibO l<&|N;%$C7ߡ R9ޚKWB\E]x#&؞ N PfˑRcSAur}-uK&XЍ>~~ZMJM,J\\щ(6ܳe GD>a q0Oy/hlDӗmgDt4G &VCW% 5cVVlk`}ʐ隓oIDtLcF8Ajg*cF; Ko|;wr,V4/%ޮOpK*Y)OGג/e”)K>d m? @Ż2F B T31=RZF.,iny Pgk*d}x`\ӆ5/=Λľ?$T%2ṭ[k:-7qgAy}cj(R̙GInTHo~ ݊V7/n{a]DwX$Ц$ŖŒ $p%Жkl= DL(+~ Z_ڨRzjר@z =8ȩ6~9+TCIs6i7*6<5jEf0Xd㵘ӘTEFβgb֓bzX̣v͏ov~J gXCf5iIt(H`~xHthRc(m镴-i 3[בSӢ_#ʩhg?S$/)`X0֋#8 W1J{7덞`wmjd;g\ & b~iO#1{|sZfF'톯Y/!=FXYy}Sv`/4"X`}Bc i!ݟ,@θK]˰zaK?[_4bl jϘbq1D8E3,by5/Rk%D}[g;"tL­P MNZj480էⵛā[Ut6d+f26̃_a?kWo$mt%Fxal+6褮()ÙŒ b k4ZhpXۦ!1&ECx77w$k6L8˞Nc.n]*Qc?'&Rc¢8&fO?ߥ=p%﯅}mt0KiJU Kra I:e.֫ЛZC9Ω4@1i92&[&߸K!C苾G|I"rHMs!!F3 8^ f^:YTԦuj4΅7XR7]K?C[ӻkP1fQ7Es{bRZH @cמǓ"j\S@Zr̓n}Su}@l/Xh׻][ k &"nDjJK l}ICy z/<J2V̴X+ Da?j 5qpeJ, 8uY)#CfʒĆSorR E a'ED zJ{ϗm=~4zןc>? L\FGsj) k,vY"Q+*uRrɝx4D'Ac`z1aN}51KzZY:i>f{H#j?h5ۻh^Y fGL(KIYjT?s(ij??6Cee7aՈP _&bVJMO?4V1In pkH'M`rVmJ U;f|;VJkgg*tE%t $6LP܍,[KМZ)_,R 3 m'$XVg<59HY jtH#}#3Q7b HΕ(_K??uMbr˧|B)A\k!:B1]a\-& , ;8f\wp7fsZ5l\MNzwNQv+hZB5&</}S+g붾}n֩.r*N?G^$Փz͇d3| { LI隔 IIx`(jS j-b&zTNfJY <Ԗr{Vˤ_k9 , S772ౘ_ }[ {Sb MQk_g8mNP7ST+9 z<ȏLS֌ßFMc`o*Q]/mA~G.͞@4, d4F)5 [&*.q)?~_(Dlɳp,MMuጏ'#VpR :> Jf˟D-M5Ʈ}(#捝mMlqbG`4xY([0O۸6E4f2tx$Wi] |~v{I9${ r];Ή_2%M:ځSJRqS6SYЇiP~:&*'z}*ZS٣,5-D?> n*;}N॓ ;)"H< BLI`Fj65oapå=[o:cİneJ\`yoVkʓ($Q [PR烽J"Lz v8؞Hd3q~H*QW/dۍ<ԩ=E엪'(VP{/{ ?< xoVKsډA1B'0hӞܚ~bkyit2K[7K#TC$;m&8s|iʺgn#N`|įaTê0yK1Ȣ=ƨl?L &ݩ]N3cX2ìG6!GmC'qY-^Mc=v6pYf y}[Sʪr-GRpC?X9zHvOOA}$Xʨ/rNwSц ζ~mOqVOTǨ^ H+Qt>&I/thwwjB_*4HZ'IWmLk2tXHyT5x%PqyJfj\bGվi#[t%Hu5eSG<]@1w \&m<4Dw5À<'\x=פ:hᩂa BMEXz-LdP?H#ŧ 9ngca-D#(_h3f)/6CӰ\OFԆL=#v>v2n37f?%7Z|cn,^,><=li$>jSй25OjnFXdOYUa&it*zě)Nmpɴ8E ljhj-6JL0Iyc?>;l<NKWEz ,qO`P7sK=uJ`E/[]/e2BY^:Gl!ᨑiI1{ $WGqc]u~9J_^9Jg2Nc}1In'|kDJcS_dZfcd$&M^2lHv$<"I>bd[dF^'U+3#@CaO EUM %ks3u#>L%,;)i5hII)Upj '-|-c,xekO6u_QW~H/Ue0c15q)`J2֦ &0!o?cKx*ya3uycBwC/ F:~]_g]oODƕU:PW—D2C&w೮؎ƛs'QNS<  IDAT J&OiKR:\&%j w[ j[y`+n;ߘ6D+f6I%rpbWȈN"$Wl%buc'z#1@)0i0=\Cwk%-wVʠW'f3P ZLri(ˤ=/U 1[l;rn>`$_o'`Ml|fAz LQaQp4\'1l0BM0 ݷDǂZ kzZ7B;P^JjHTDlykep '$%j#͗r8j4Hm{!1 KίܿΡD 9tok~j sь! d˻$MGl2 &=7D*$g!W tvfRŃ/R5Ǎ4fqΓ$+7[:ilt[ Z׋ `*0xR歱R$n6)elMV凹#FnoqRqE֢*2sh\qEHkg8/nohEFag|kQl,V5_nBʆ6rl 'O"[IywP5'uQ7D `Rj`*?Kه`4FpB*\ H&ӹ MIVPhq` 8G]'qArbZ kpP6|L>rmg ڦqtY`M^Z-YH[bඣ4Sݣ5qwOܒ0!;YkfJBi4q3Ǥ#, ̓<\B+vgsCЎ-3k) z'`";`(X1_*D"`'r]:x.>&n.vI.J^ 8 tmj6y|BBί?ucXFuSl='?pb(zR*QDJzL5XڒnmK'#MV_6K05-ن0lL>Z-FDP뇆]Ň 4LstbPxrho* ֜%{`޷Ō?4fHWS΋$zu* &DAC4AL@ăvߙUȾ`yq 3sHqOX70>WTFuE+ߌ$+JbH+>2K=|sRTfRl~z|-xYS =C?  uR|?yO>XˡV~j+DlsXA֍v.th.vopιg _CiCh?:Yku\zSؔ|rRمqǰɝP3Z|4L9ꔂ"4q4ȎYW"0tkYQh9T^hif`=d 0Y`;Ѳ/)6?d|l$b>y]A h rբXuLTG<auLTp$P`[:=riS3v 疡Z iX0J!%qk-E&g@.Y9˘kxNkA Ft*tpR; X/80qڮ'8X]\u- b]-0?b8_yó)㴈l}f{%b< {gفE=*9a{8*Thd*S.U5 u0[>_,۞l=P~dK(]Eu(uJ.߯_޾ zMH _/DugaX#IL a"F \b={UKl(o[T:ܗiCZX<=G:93?o-",E&|FBDZ)Vg3FhO1%dqw n Љ i$:c:%r 䲯QA(*5c]ɟ9D5[j N1Q '&=KX4wF%*FL^}&*,UJj1ŕn )XTV0b(]J8lDRhT0co  1O=5׫0]oz;1y:\p|Z4&@mBmdl"jR(y_TUbH1hoRKEELzo} < (n,]s=5ȋI)w [X4C b؉,#@r!ET0HZVA {n2N v!$X,ꊀmG8MKBG0r0 5X>AKxF.`VC ty(g6"Tp|=*l~I{GoJwY Jœ(!\ɿRf/%0J2#䒪6B%͞Kɂ\M߈lLM.`rq[2^dN#{4%ʨVxoONcR*~LJ/X|W#'ᠾѪU%xV@?' 7juZ%aO0X!%hָbM&]m%EjFfX/^n:O3$uA[fEs6^d>_t#\AEGh;a5 1%5ob@^k̕VY4 h^yT" N$rd+bLע,a9"f_aF]޾DT*xʧ!֬lņ\p' *UB,N*N4^Cy`';q^{z43~  Ȃ(Ij%4AQV Db,XcpxV~\0뇔*UXV_^n4/ɓK|F] NI` V -l Z#q{*e>QρU;BR>j!M4{K"j0Aqܝ6-͙&ylL| lz" T`HG;();%cܷZ_"cZ%*%J^j!0EKB-xƴ{ {H~ǻ^E?com}EHj#īu 'wk6Lrc-y(ᓶQS '=cp% >L3 x*n vmQ&2J,ݵNЄ0yĴ#ڦ2PC53PClBZ9}xX B79P5FmP.^̈cΰeX`m OM9apŁ \''D!7a>Y2M0lq4'̞I.7ދ- Z:q[νC*ǽŁb.PX'jR@hvۀu}bw;Z>V.2Aڔ ez|8*uՄ5p'5P5]W#Tm_'sUuRSZ%TLhQLIqqP |ܜoVScfA[vcFOW'rAjRSG:?y4; e \sE&拒#\ ->OP1$HțJ"6Z؍fG<2#K Q:<$چث%c=_nG="@!~X{ WI1&hxVB’t')~Z/P,&@Ay׸E~ZM}.a.%pNYA_+IzOx|p{V)~[߹0,P dŵH9b#J\Vq_UxȢFE:#D SRvz3+(m< $: GQ l']@ЋT[̚MhIpXRŲYځ-,P<]^lji'T,7QŶ!OKDpp' FfA#Gǘ>"kr;qƮyT^@O݃'eؾ]-8PEyOA]"aoxp/4=Vx<8\,c<aq0gys'E!>#cٞO6-ˀAv/~#9TlqF~hy2 l>aB81`2[diolfpmpޟoo?0Ja~'~>?~By W˜߿|xpC<&8g%9~Ls0.@<&Vp]'?' Frzcoc`~|`>賐mx~SuO|z( }}<.>au!'/~}'zjL7?_w~^)CxE7޿ mbYSB_aV_]z_90pߐk6pVׯx~q >?8}{zw0x?;/do3u%tEXtdate:create2017-11-10T19:54:58+01:00%tEXtdate:modify2012-09-14T20:26:29+02:00aIENDB`pychess-1.0.0/lang/0000755000175000017500000000000013467766037013202 5ustar varunvarunpychess-1.0.0/lang/az/0000755000175000017500000000000013467766037013614 5ustar varunvarunpychess-1.0.0/lang/az/LC_MESSAGES/0000755000175000017500000000000013467766037015401 5ustar varunvarunpychess-1.0.0/lang/az/LC_MESSAGES/pychess.mo0000644000175000017500000001675213467766036017426 0ustar varunvarunL|H I g 'w      Q &W *~ (     % ' , 3 9 ? F P [ j p         ".4EUd u D     -> G R_afox     # *,24:AFM V `nt   ' /=C!Y{   %      %2 ; I T`w }"+o#^5, 7TI'15#.$R!w   ( 3AUi  5FXgmtP  '7 J T`xz }$     *&4 [gip r|   0L_~ &&  *;U[l+u    + :!H j w"+uZ3k+J%:[(RU;VATMl<rnx4h-p\B}Y0q2K&ag' FS17Gj_|obW, Dm#iO~NH."/)>z8 P ^fec$`6{C]y!sEX?@=dIQ 95vt*w L'%s' is not a registered name0 Players ReadyPromote pawn to what?AnalyzingAnimationEnter Game NotationPlay Sound When...PlayersA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedUnable to save file '%s'Unknown file type '%s'A player _checks:A player _moves:A player c_aptures:About ChessAll Chess FilesBBeepBishopBlackBlitzBlitz:ChallengeChess GameChess PositionClockClose _without SavingCommentsConnectingConnection ErrorConnection was closedCould not save the fileCreate SeekDetect type automaticallyDon't careEmailEnter GameEvent:File existsGain:Game informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:GuestHuman BeingInitial positionIt is not possible later to continue the game, if you don't save it.KKnightLightningLightning:Local EventLocal SiteLog on ErrorLog on as _GuestMinutes:Minutes: Move HistoryNNameNew GameNo soundNormalObserved _ends:Offer _DrawOpen GameOpen Sound FileOpening BookPPlayer _RatingPo_rts:Pre_viewPreferencesPromotionPyChess - Connect to Internet ChessPyChess.py:QQueenRRatedRatingRookRound:S_ign upSave GameSave Game _AsScoreSelect sound file...Send seekSite:StandardStandard:The error was: %sThe game ended in a drawThe game has been abortedThe game has been adjournedTimeTypeUnknownUnratedUntimedUse _analyzerWhiteYou sent a draw offerYour opponent is not out of time._Accept_Actions_Call Flag_Clear Seeks_Game_Game List_Help_Hide tabs when only one game is open_Load Game_Log Viewer_Name:_New Game_Observed moves:_Password:_Player List_Replace_Rotate Board_Save Game_Start Game_Use sounds in PyChess_Viewgnuchess:http://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chesspromotes a Pawn to a %sProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Azerbaijani (http://www.transifex.com/gbtami/pychess/language/az/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: az Plural-Forms: nplurals=2; plural=(n != 1); '%s' registrasiya olunmuş ad deyil0 Oyunçu HazırdırPiyadanı nəyə çevirəcəksiniz?Analiz edilirAnimasiyaGedişlərin Siyahısını Daxil EdinSəs çıxar...Oyunçular'%s' adlı fayl mövcuddur. Siz onu əvəz etmək istəyirsinizmi?%s mühərriki öldü'%s' faylı qeyd oluna bilmədi'%s' : dosye növü dəstəklənmirO_ynuçulardan Biri Şah Deyəndə:Oynuçulardan Biri _Gediş Edəndə:Oyunçulardan Biri Fiqur _VurandaŞahmat HaqqındaBütün Şahmat FayllarıFBiipFilQaraBlitsBlits:YarışŞahmat OyunuŞahmat vəziyyətiSaatQeyt _etmədən bağlaŞərhlərBağlanılırBağlantı XətasıBağlantı kəsildiFayl qeyd edilə bilmədiAxtarış YaratNövü avtomatik təyin etNarahat olmaEpoçtOyun Vəziyyəti Daxil EtHadisə:Fayl mövcuddurNəaliyyət:Oyun haqda məlumatOynun _Heç-heçə Qurtaranda:Oyunu _Uduzanda:Oyun _Başlayanda_Oyunu Udanda:QonaqİnsanBaşlanğıc vəziyyətƏgər siz oyunu yadda saxlamasanız, daha sonra oynu davam etdirmək olmayacaq.ŞAtİldırımsürətliİldırımsürətli:Yerli HadisəYerli SaytıGiriş Xətası_Qonaq kimi qoşulDəqiqə:Dəqiqə: Gedişlərin SiyahısıAAdYeni OyunSəssizNormalMüşahidə olunan oyun _qurtaranda:_Bərabərlik Təklif EtOyunu AçSəs Faylını AçAçılışPOyunçu _ReytinqiPo_rtlar:B_axSeçimlərÇevirməPyChess - İnternet Şahmatına QoşulPyChess.py:VVəzirTReytinqliReytinqTopRaund:Q_eydiyyatdan keçOyunu Qeyd EtOyunu _Fərqli Qeyd EtXalSəs Faylını Seç...Axtarış Göndərİnternet Səhifəsi:StandartStandart:Xəta : %s - idi.Oyun bərabərə qurtardı.Oyun ləğv edildiOyun başqa vaxta saxlanıldıVaxtNövNaməlumReytinqsizVaxtsız_Analizatordan istifadə etAğSiz heç-heçə təklifi göndərdinizRəqibiniz vaxtı hələ qurtarmayıb._Qəbul Et_Hərəkət_Bayrağı Endir_Axtarışları Təmizlə_Oyun_Oyun Siyahısı_Yardım_Ancaq səkmə olduqda səkmələri gizlətOyun _Yüklə_Qeyd İzləyicisi_Ad:_Yeni Oyun_Müşahidə olunan oynadıqdaŞ_ifrə:_Oyunçu SiyahısıƏvəz e_tTaxtanı _Çevir_Oyunu Qeyd EtOyuna _BaşlaPyChessdə _səsdən istifadə et_Görünüşgnuşahmat:http://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessPiyadanı çevirdi : %spychess-1.0.0/lang/az/LC_MESSAGES/pychess.po0000644000175000017500000043617213455542726017426 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # elxan , 2007 # elxan , 2007 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Azerbaijani (http://www.transifex.com/gbtami/pychess/language/az/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: az\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Oyun" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Yeni Oyun" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "Oyun _Yüklə" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Oyunu Qeyd Et" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Oyunu _Fərqli Qeyd Et" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Oyunçu _Reytinqi" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Hərəkət" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "_Bərabərlik Təklif Et" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Bayrağı Endir" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Görünüş" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "Taxtanı _Çevir" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_Qeyd İzləyicisi" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Yardım" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Şahmat Haqqında" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Seçimlər" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Ancaq səkmə olduqda səkmələri gizlət" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animasiya" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "_Analizatordan istifadə et" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analiz edilir" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "PyChessdə _səsdən istifadə et" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "O_ynuçulardan Biri Şah Deyəndə:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Oynuçulardan Biri _Gediş Edəndə:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Oynun _Heç-heçə Qurtaranda:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Oyunu _Uduzanda:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "_Oyunu Udanda:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Oyunçulardan Biri Fiqur _Vuranda" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Oyun _Başlayanda" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "_Müşahidə olunan oynadıqda" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "Müşahidə olunan oyun _qurtaranda:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Səs çıxar..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Çevirmə" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Vəzir" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Top" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Fil" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "At" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Piyadanı nəyə çevirəcəksiniz?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Oyun haqda məlumat" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "İnternet Səhifəsi:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Raund:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Hadisə:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Ağ" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Qara" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuşahmat:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - İnternet Şahmatına Qoşul" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "Ş_ifrə:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Ad:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "_Qonaq kimi qoşul" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Po_rtlar:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "Q_eydiyyatdan keç" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "İldırımsürətli:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Standart:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Blits:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "_Axtarışları Təmizlə" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Qəbul Et" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Axtarış Göndər" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Axtarış Yarat" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Standart" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Blits" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "İldırımsürətli" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Reytinq" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Vaxt" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 Oyunçu Hazırdır" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Yarış" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Qonaq" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "_Oyunçu Siyahısı" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "_Oyun Siyahısı" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "B_ax" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Vaxtsız" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Dəqiqə: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Narahat olma" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Yeni Oyun" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "Oyuna _Başla" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Oyunçular" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Gedişlərin Siyahısını Daxil Edin" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Qeyt _etmədən bağla" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://en.wikipedia.org/wiki/Chess" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://en.wikipedia.org/wiki/Rules_of_chess" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Oyunu Aç" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Rəqibiniz vaxtı hələ qurtarmayıb." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Şahmat vəziyyəti" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Naməlum" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Şahmat Oyunu" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Yerli Hadisə" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Yerli Saytı" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "A" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "F" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "T" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "V" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "Ş" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Oyun bərabərə qurtardı." #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Oyun başqa vaxta saxlanıldı" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Oyun ləğv edildi" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Normal" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' registrasiya olunmuş ad deyil" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Reytinqsiz" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Reytinqli" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Bağlantı Xətası" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Giriş Xətası" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Bağlantı kəsildi" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Siz heç-heçə təklifi göndərdiniz" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "%s mühərriki öldü" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "İnsan" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Dəqiqə:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Nəaliyyət:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Oyun Vəziyyəti Daxil Et" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Səs Faylını Aç" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Səssiz" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Biip" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Səs Faylını Seç..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "Piyadanı çevirdi : %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Saat" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Növ" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Epoçt" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Bağlanılır" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Ad" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Növü avtomatik təyin et" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Oyunu Qeyd Et" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "'%s' : dosye növü dəstəklənmir" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "'%s' faylı qeyd oluna bilmədi" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "Əvəz e_t" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Fayl mövcuddur" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "'%s' adlı fayl mövcuddur. Siz onu əvəz etmək istəyirsinizmi?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Fayl qeyd edilə bilmədi" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "Xəta : %s - idi." #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Əgər siz oyunu yadda saxlamasanız,\ndaha sonra oynu davam etdirmək olmayacaq." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Bütün Şahmat Faylları" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Açılış" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Şərhlər" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Başlanğıc vəziyyət" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Gedişlərin Siyahısı" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Xal" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/ms_MY/0000755000175000017500000000000013467766037014226 5ustar varunvarunpychess-1.0.0/lang/ms_MY/LC_MESSAGES/0000755000175000017500000000000013467766037016013 5ustar varunvarunpychess-1.0.0/lang/ms_MY/LC_MESSAGES/pychess.mo0000644000175000017500000011030013467766035020017 0ustar varunvarunzU'5 55"5=5+V5555'5#55606G6N6 W6a6 j6t6@}666667#!7E7_7?u7&7$7+87-8"e8*8(88e8H9 N9Z9&b9 999 999 9 99m9b:j:r:::::: :: :: ::; ;;-;4;F; M;W; _; k; u;;;;; ;;;!;<* <"K< n<K<%<O=-Q=$=-=&= =>>'>/>6><>D>I>P> W>x>> >>>>> >> >? ?8?S?\?c?r?? ?? ? ?? ????? ? @@@/@*8@c@k@ s@}@&@ @@@@@:@ 4AAA HASA kAvAAAAAAAAAAA B BB0BJBOBXBqBzB"BBB BB B BB BBC CC'C/C&FCmCuC ~C1CCCC CCC D D%D0CD@tDHDD}EHF dFrF wF FFFF FFF FFFGG%G ,G6GTGeGuG GGGGGG GGGG GH HH H %H0H 5H?H$HHmHtH {HHH!HHHH H H HH:H$5IZI^IfIkIrI$III IIIII JJ4J9J AJMJTJZJbJhJoJvJJ JJJ+JJK K K8K?KQKYK`KhKpK vKKKKKK KKL L "L-L 5LBLWL\L bLmL+sL LL+LLLLLLMM M $M /M!9M[McMjMsMMM M M M MM MM MMMNNN!N&N ,N/8N hNvN ~N NN NNNN NNNNNO O )O 4O >OJO ]O iO wO O O O O O OOOOOOP.)PXP hPvPPPPPPPPPPQQ Q QQ#Q ,Q9Q NQZQ iQuQ }QQQ QQ QQQQQQRR R*R1R9R?RFRZRmRtR}R,RR RRR S4S :SES [S hS rSSSSSSSS T T*T?TXT`TgT~TT T T TT TTUU/UAUJUSUcULkUU U U,U V*V0V7VJV`VfVoVV VV VVVV VV W W)W2W9DWZ~WWW X(XAX]XZsXXXKX-(Y,VY YYYYYYYYYY YZZ$Z,)ZVZ]ZeZvZZ ZZ ZZ4ZZ[[2[ :[G[ O[][s[[ [[Q["\ #\1\:\S\i\n\\\\\\\\\C\$+]P]f]}]]]]|]_^f^o^ x^&^ ^ ^^^^ ^^^^_ _ _ #_ /_9_ B_$P_ u______$_e_G`K`P` U`a`d`t`}`````s` bb$b@b3]bbbb%b'bc)-cWcuc|cccccBccc dd0d&KdrddFd'd+e&nnn nn oo+oJoRoWo`ogooo ~ooo oo!oooop!p*p&=pdpip opzpppp ppppppp+p%q-q 6q1@qrqyq q qqqqq!qAr@DrHrr}st6tFt Kt*Vtt tttttttttuuu+ uLu_upuuuuuuu uuuv vv v%v-v 2v=v BvLv1Uvvv vvv"v vvv vvww:"w-]wwwwww(www x xx(x7xGxZxnxsx {xxxxxxxxx xxxyy)y 0y;yYy`yyyyyyy y y#yyyz z%zCzYzhz wzzzzz zz z zz+z{{'{0{5{;{B{ U{ `{ k{$u{{{{{{{ { { { {| || "|-|5|:|J|R| X|c|i|Hq| | | ||| |} }}})} A} M}[}s}z} } }}} }}}} ~ ~ *~6~L~]~ r~~~ ~~~8~  4">a~   ,7?HO X b o{ ˀр "BT[d,v Ł ! '2 HSd~̂т! 1=Qgov ̓ڃ !/*Zcl~Q#؄ . ES\cv ȅ υۅ  2@IRDco4RlD4 <3] Ј ,399sz ˉ 14E!Uẘ UdӋڋ   9'?Bg)"Ԍ",)G)q'ÍEL U_+s Ŏ ׎   +8J Q^q-ďeX\` hv{ uB \R>,5 hIn?bWa_Ecq,3[!q#d"J}X|Qh8" v=PY~rj;4(1T6]V v g@n/M^_ l@*m&z)?s]'Vs-d%t(:e)-cb+5s']liGAI m:?</!LQkKR.VoXzGY>+2 [*UDea6KT!DN@.[)N7^ D$LWU hy\kGaz2Mwf5 'Xv&i#`13EwHy <:LZJW{Nm|${Ffn%+I<9px}xH9tBCj,p4 \ 7>`yAkw S0^FFqS(r -80lEOCP#. =/$OH u9c;A2o%JgYRZ`Z4;r*dS"~ug6UB_f3CtojbeOT01P=K7ip&x8QM + %d sec chess has lagged for 30 seconds invalid engine move: %s is lagging heavily but hasn't disconnected is not installed min%(black)s won the game%(color)s moves a %(piece)s to %(cord)s%(minutes)d min + %(gain)d sec/move%(player)s is %(status)s%(player)s plays %(color)s%(white)s won the game%d min1-minute15-minute3-minute45-minute5-minutePyChess was unable to load your panel settingsAnalyzingAnimationBoard StyleChess SetsInstalled SidepanelsNew version %s is available!Play Sound When...Welcome screen%s is not marked executable in the filesystemEngine, %s, has diedError loading gameFile '%s' already exists.PyChess was not able to save the gameUnable to add %sUnable to save file '%s'Unknown file type '%s'ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortAbout ChessAc_tiveActivate alarm when _remaining sec is:Add commentAdd move symbolAdd start commentAddress ErrorAdjournAdminAdministratorAfghanistanAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbaniaAlgeriaAll Chess FilesAll the evaluationsAmerican SamoaAndorraAngolaAnguillaAntarcticaAntigua and BarbudaAny strengthArchivedArgentinaArmeniaArubaAsian variantsAsk for permissionsAssessAsymmetric RandomAtomicAustraliaAustriaAuto-logoutAvailableAzerbaijanBackround image path :Bad moveBahamasBahrainBangladeshBarbadosBecause %(loser)s disconnectedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(winner)s king reached the centerBecause %(winner)s lost all piecesBecause a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both players agreed to a drawBecause both players agreed to abort the game. No rating changes have occurred.Because both players agreed to an adjournmentBecause both players ran out of timeBecause the connection to the server was lostBecause the game exceed the max lengthBecause the server was shut downBeepBelarusBelgiumBelizeBeninBermudaBestBhutanBlack:Bonaire, Sint Eustatius and SabaBosnia and HerzegovinaBotswanaBouvet IslandBrazilBritish Indian Ocean TerritoryBrunei DarussalamBulgariaBurkina FasoBurundiCabo VerdeCambodiaCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCameroonCanadaCayman IslandsCentral African RepublicChadChallenge: ChatChess AdvisorChess GameChess PositionChess clientChess960ChileChinaChristmas IslandClaim DrawClassicalClockCocos (Keeling) IslandsColombiaCommand line interface to the chess serverCommentComorosComputersCongoCongo (the Democratic Republic of the)ConnectingConnecting to serverConnection ErrorConnection was closedConsoleContinue to wait for opponent, or try to adjourn the game?Cook IslandsCornerCosta RicaCould not save the fileCrazyhouseCreating .bin index file...Creating .scout index file...CroatiaCubaCuraçaoCyprusCzechiaCôte d'IvoireDark Squares :DatabaseDateDate/TimeDenmarkDestination Host UnreachableDetect type automaticallyDiedDjiboutiDo you want to abort it?DominicaDominican RepublicDon't show this dialog on startup.DrawDraw:Dummy AccountEcuadorEdit Seek: Edit commentEgyptEl SalvadorEmailEnginesEnter GameEquatorial GuineaEritreaError parsing %(mstr)sError parsing move %(moveno)s %(mstr)sEstoniaEthiopiaEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEvent:Examine Adjourned GameExaminedExaminingExcellent moveExecutable filesExport positionExternalsFEN needs 6 data fields. %sFEN needs at least 2 data fields in fenstr. %sFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Pawns start on their 7th rank rather than their 2nd rank!FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html White pawns start on 5th rank and black pawns on the 4th rankFalkland Islands [Malvinas]Faroe IslandsFijiFile existsFind postion in current databaseFinlandFischer RandomFollowForced moveFrame:FranceFrench GuianaFrench PolynesiaFrench Southern TerritoriesFriendsGabonGambiaGame ListGame analyzing in progress...Game informationGame is _drawn:Game is _lost:Game is _won:Games running: %dGaviota TB path:GeorgiaGermanyGhanaGibraltarGiveawayGo back to the main lineGo onGood moveGreeceGreenlandGrenadaGridGuadeloupeGuamGuatemalaGuernseyGuest logins disabled by FICS serverGuestsGuineaGuinea-BissauGuyanaHaitiHeard Island and McDonald IslandsHintsHoly SeeHondurasHong KongHow to PlayHuman BeingHungaryICC giveaway: https://www.chessclub.com/user/help/GiveawayICC lag compensation needs timestampICSIcelandIdleImagesImport chessfileImport games from theweekinchess.comImporting game headers...IndiaIndonesiaInfinite analysisInfoInitial positionInteresting moveInvalid move.Iran (Islamic Republic of)IraqIrelandIsle of ManIsraelItalyJamaicaJapanJerseyJordanJump to initial positionJump to latest positionKazakhstanKenyaKiribatiKorea (the Democratic People's Republic of)Korea (the Republic of)KuwaitKyrgyzstanLao People's Democratic RepublicLatviaLeave _FullscreenLebanonLengthLesothoLiberiaLibyaLiechtensteinLight Squares :List of ongoing gamesList of playersList of server channelsList of server newsLithuaniaLoad _Recent GameLoading player dataLocal EventLocal SiteLog OffLog on ErrorLogging on to serverLossLoss:LuxembourgMacaoMacedonia (the former Yugoslav Republic of)MadagascarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMalawiMalaysiaMaldivesMaliMaltaManualMarshall IslandsMartiniqueMauritaniaMauritiusMaximum analysis time in seconds:MayotteMexicoMinutes:Moldova (the Republic of)MonacoMongoliaMontenegroMontserratMore channelsMore playersMoroccoMove HistoryMoves:MozambiqueMyanmarNameNames: #n1, #n2NamibiaNauruNeedNepalNetherlandsNever use animation. Use this on slow machines.New CaledoniaNew RD:New ZealandNew _DatabaseNewsNicaraguaNigerNigeriaNiueNo _animationNo conversation's selectedNo soundNorfolk IslandNorthern Mariana IslandsNorwayNot AvailableObserve %sObserversOffer AbortOffer Ad_journmentOffer PauseOffer RematchOffer ResumeOffer UndoOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOmanOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpen Sound FileOpening booksOpponent RatingOtherOther (non standard rules)Other (standard rules)PakistanPalauPalestine, State ofPanamaPapua New GuineaParaguayPausePawnPeruPhilippinesPingPitcairnPlay RematchPlay _Internet ChessPlayer ListPlayer _RatingPlayers: %dPlayingPng imagePolandPortugalPreferencesPrivatePuerto RicoPyChess Information WindowQatarR_esignRatedReceiving list of playersRemoveRequest ContinuationReset ColoursResumeRomaniaRoundRound:Running Simul MatchRussian FederationRwandaRéunionSaint BarthélemySaint Helena, Ascension and Tristan da CunhaSaint Kitts and NevisSaint LuciaSaint Martin (French part)Saint Pierre and MiquelonSaint Vincent and the GrenadinesSamoaSan MarinoSao Tome and PrincipeSaudi ArabiaSave GameSave Game _AsSave database asSave files to:Save moves before closing?ScoreSelect Gaviota TB pathSelect auto save pathSelect background image fileSelect book fileSelect engineSelect sound file...Select working directorySenegalSerbiaService RepresentativeSetting up environmentSetup PositionSeychellesSide_panelsSierra LeoneSimple Chess PositionSingaporeSint Maarten (Dutch part)Site:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinSlovakiaSloveniaSolomon IslandsSomaliaSome of PyChess features needs your permission to download external programsSorry '%s' is already logged inSound filesSouth AfricaSouth Georgia and the South Sandwich IslandsSouth SudanSpainStatusStep back one moveStep forward one moveSudanSurinameSuspicious moveSvalbard and Jan MayenSwazilandSwedenSwitzerlandSymbolsSyrian Arab RepublicTaiwan (Province of China)TajikistanTanzania, United Republic ofTeam AccountTexture:ThailandThe error was: %sThe game can't be loaded, because of an error parsing FENThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe move failed because %s.The reason is unknownThe score panel tries to evaluate the positions and shows you a graph of the game progressThebanThemesThere is %d game with unsaved moves.There are %d games with unsaved moves.There is something wrong with this executableThis is a continuation of an adjourned matchTimor-LesteTip of the DayTogoTokelauTongaTranslate PyChessTrinidad and TobagoTry chmod a+x %sTunisiaTurkeyTurkmenistanTurks and Caicos IslandsTuvaluTypeType or paste PGN game or FEN positions hereUgandaUkraineUnclear positionUndescribed panelUndoUndo one moveUndo two movesUninstallUnited Arab EmiratesUnited Kingdom of Great Britain and Northern IrelandUnited States of AmericaUnknownUnknown game stateUnratedUnregisteredUruguayUse _analyzerUse _local tablebasesUse _online tablebasesUse name format:UzbekistanVanuatuVariant developed by Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Venezuela (Bolivarian Republic of)Very bad moveViet NamVirgin Islands (British)Virgin Islands (U.S.)WaitWallis and FutunaWestern SaharaWhite:WildWinWin:Year, month, day: #y, #m, #dYemenYou asked your opponent to moveYou have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou sent a draw offerYou sent a pause offerYou sent a resume offerYou sent an abort offerYou sent an adjournment offerYou sent an undo offerYour panel settings have been reset. If this problem repeats, you should report it to the developersZambiaZimbabwe_Actions_Analyze Game_Auto save finished games to .pgn file_Copy FEN_Copy PGN_Edit_Engines_Export Position_Fullscreen_Game_General_Help_Hints_Invalid move:_Load Game_Log Viewer_New Game_Replace_Rotate Board_Save %d document_Save %d documents_Save Game_Show Sidepanels_Sounds_Use sounds in PyChess_Viewblackdatabase opening tree needs chess_dbhttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlminminsmovenot playingofonline in totalround %ssecsecsvs.whiteÅland IslandsProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Malay (Malaysia) (http://www.transifex.com/gbtami/pychess/language/ms_MY/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: ms_MY Plural-Forms: nplurals=1; plural=0; + %d saatcaturtelah lambat selama 30 saat gerakan enjin tidak sah: %stelah menjadi sangat lambat tetapi masih bersambungtidak dipasang min%(black)s memenangi permainan%(color)s gerak %(piece)s ke %(cord)s%(minutes)d min + %(gain)d saat/gerakan%(player)s ialah %(status)s%(player)s bermain dengan warna %(color)s%(white)s memenangi permainan%d min1-minit15-minit3-minit45-minit5-minitPyChess tidak dapat memuatkan tetapan panel andaPenganalisaanAnimasiGaya PapanSet CaturPanel Sisi DipasangVersi baharu %s sudah tersedia!Main Bunyi Ketika...Skrin aluan%s tidak ditanda sebagai bolehlaku dalam sistem failEnjin, %s, telah matiRalat memuatkna permainanFail '%s' sudah ada.PyChess tidak boleh menyimpan permainanTidak boleh tambah %sTidak boleh menyimpan fail '%s'Jenis fail '%s' tidak diketahuiASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docHenti PaksaPerihal CaturAk_tifAktifkan penggera bila _berbaki saat:Tambah ulasanTambah simbol gerakanTambah ulasan mulaRalat AlamatTangguhPentadbirPentadbirAfghanistanAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbaniaAlgeriaSemua Fail CaturSemua penilaianSamoa AmerikaAndorraAngolaAnguillaAntartikaAntigua dan BarbudaMana-mana kekuatanDiarkibArgentinaArmeniaArubaVarian AsiaTanya keizinanNilaiRawak AsimetrikAtomicAustraliaAustriaAuto-daftar-keluarAdaAzerbaijanLaluan imej latar belakang:Gerakan terukBahamasBahrainBangladeshBarbadosKerana %(loser)s telah terputusKerana %(loser)s kehabisan masaKerana %(loser)s telah menarik diriKerana raja %(winner)s telah sampai di tengah-tengahKerana %(winner)s kehilangan semua buahnyaKerana sambungan pemain terputusKerana pemain terputus sambungan dan pemain yang lain meminta ditangguhkanKerana kedua-dua pemain bersetuju untuk seriKerana kedua-dua pemain bersetuju untuk henti paksa permainan. Tiada perubahan penarafan telah berlaku.Kerana kedua-dua pemain bersetuju untuk ditangguhkanKerana kedua-dua pemain kehabisan masaKerana sambungan dengan pelayan telah terputusKerana permainan melangkaui tempoh maksimumKerana pelayan telah dimatikanBipBelarusBelgiumBelizeBeninBermudaTerbaikBhutanHitam:Bonaire, Sint Eustatius dan SabaBosnia dan HerzegovinaBotswanaPulau BouvetBrazilWilayah Lautan India BritishBrunei DarussalamBulgariaBurkina FasoBurundiCabo VerdeKembojaKembojaKemboja: http://www.khmerinstitute.org/culture/ok.htmlCameroonCanadaKepulauan CaymanRepublik Afika TengahChadCabaran:SembangPenasihat CaturPermainan CaturKedudukan CaturKlien caturChess960ChileChinaPulau ChristmasTuntut SeriKlasikJamKepulauan Cocos (Keeling)ColombiaAntaramuka baris perintah ke pelayan caturUlasanComorosKomputerCongoRepublik Demokrasi CongoMenyambungMenyambung dengan pelayanRalat SambunganSambungan telah ditutupKonsolTeruskan menunggu pihak lawan, atau cuba tangguhkan permainan?Kepulauan CookCornerCosta RicaTidak dapat simpan failCrazyhouseMencipta fail indeks .bin...Mencipta fail indeks .scout...CroatiaCubaCuraçaoCyprusCzechiaCôte d'IvoirePetak Hitam :Pangkalan DataTarikhTarikh/MasaDenmarkHos Destinasi Tidak Boleh DicapaiKesan jenis secara automatikMatiDjiboutiAnda mahu menghenti paksa ia?DominicaRepublik DominicanJangan tunjuk dialog semasa permulaan.SeriSeri:Akaun SemuEcuadorSunting Jangkau:Sunting ulasanMesirEl SalvadorEmelEnjinMainGuinea KhatulistiwaEritreaRalat menghurai %(mstr)sRalat menghurai gerakan %(moveno)s %(mstr)sEstoniaEthiopiaEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiAcara:Periksa Permainan TertangguhDiperiksaMemeriksaGerakan terbaikFail bolehlakuEksport kedudukanLuarFEN memerlukan 6 medan data. %sFEN memerlukan sekurang-kurangnya 2 medan data dalam fenstr. %sFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Pawns start on their 7th rank rather than their 2nd rank!FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html White pawns start on 5th rank and black pawns on the 4th rankKepulauan Falkland [Malvinas]Kepulauan FaroeFijiFail wujudCari kedudukan dalam pangkalan data semasaFinlandRawak FischerIkutGerakan terpaksaBingkai:PerancisGuiana PerancisPolynesia PerancisWilayah Selatan PerancisRakanGabonGambiaSenarai PermainanMenganalisis permainan masih berlangsung...Maklumat permainanPermainan _seri:Permainan _kalah:Permainan _menang:Permaian berlangsung: %dLalauan TB Gaviota:GeorgiaJermanGhanaGibraltarGiveawayPergi ke barisan utamaPergiGerakan baikGreeceGreenlandGrenadaGridGuadeloupeGuamGuatemalaGuernseyDaftar masuk tetamu dilumpuhkan oleh pelayan FICSTetamuGuineaGuinea-BissauGuyanaHaitiPulau Heard dan Kepulauan McDonaldPembayangHoly SeeHondurasHong KongBagaimana hendak BermainManusiaHungaryICC giveaway: https://www.chessclub.com/user/help/GiveawayICC kekurangan pemampasan perlukan setem masaICSIcelandMelahuImejImport fail caturImport permainan dari theweekinchess.comMengimport tajuk permainan...IndiaIndonesiaAnalisis tanpa hadMaklumatKedudukan awalGerakan menarikGerakan tidak sah.Republik Islam IranIrakIrelandKepulauan ManIsraelItaliJamaicaJepunJerseyJordanLompat ke kedudukan awalLompat ke kedudukan terkiniKazakhstanKenyaKiribatiRepublik Demokrasi KoreaRepublik KoreaKuwaitKyrgyzstanRepublik Demokrasi Rakyat LaoLatviaKeluar Dari Skrin Pe_nuhLubnanTempohLesothoLiberiaLibyaLiechtensteinPetak Cerah :Senarai permainan masih berlangsungSenarai pemainSenarai saluran pelayanSenarai berita pelayanLithuaniaMuat Permainan Baru-baru _IniMemuatkan data pemainAcara SetempatTapak SetempatDaftar KeluarLog dengan RalatMendaftar masuk ke pelayanKalahKalah:LuxembourgMacaoMacedoniaMadagascarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMalawiMalaysiaMaldivesMaliMaltaManualKepulauan MarshallMartiniqueMauritaniaMauritiusTempoh analisis maksimum dalam saat:MayotteMexicoMinit:Republik MoldovaMonacoMongoliaMontenegroMontserratLagi saluranLagi pemainMaghribiSejarah GerakanGerakan:MozambiqueMyanmarNamaNama: #n1, #n2NamibiaNauruDiperlukanNepalBelandaJangan sesekali guna animasi. Guna ini pada komputer perlahan atau lama.New CaledoniaRD baharu:New ZealandPangkalan _Data BaharuBeritaNicaraguaNigerNigeriaNiueTiada _animasiTiada perbualan dipilihTiada bunyiPulau NorfolkKepulauan Mariana UtaraNorwayTidak TersediaPerhati %sPemerhatiTawar Henti PaksaTawar Penan_gguhanTawar JedaTawar Perlawanan SemulaTawar Sambung SemulaTawar Buat AsalTawar _Henti PaksaTawar Se_riTawar _JedaTawar Sa_mbung SemulaTawar _Buat AsalPanel PyChess rasmi.Luar TalianOmanAtas-TalianHanya animasikan _gerakanHanya animasikan gerakan buah.Hanya pengguna berdaftar layak berbual dalam saluran iniBuka Fail BunyiMembuka bukuPenarafan Pihak LawanLain-lainLain-lain (bukan peraturan piawai)Lain-lain (peraturan piawai)PakistanPalauPalestinePanamaPapua New GuineaParaguayJedaBidakPeruFilipinaPingPitcairnMain Perlawanan SemulaMain Catur _InternetSenarai Pemain_Penarafan PemainPemain: %dBermainImej PngPolandPortugalKeutamaanPersendirianPuerto RicoTetingkap Maklumat PyChessQatarTa_rik DiriDitarafkanMenerima senarai pemainBuangPohon KesinambunganTetap Semula WarnaSambung SemulaRomaniaPusinganPusingan:Menjalankan Perlawanan SimulasiPersekutuan RusiaRwandaRéunionSaint BarthélemySaint Helena, Ascension dan Tristan da CunhaSaint Kitts dan NevisSaint LuciaSaint Martin (Bahagian Perancis)Saint Pierre dan MiquelonSaint Vincent dan the GrenadinesSamoaSan MarinoSao Tome dan PrincipeArab SaudiSimpan PermainanSimpan Permainan Seb_agaiSimpan pangkalan data sebagaiSimpan fail ke:Simpan gerakan sebelum menutup?SkorPilih laluan TB GaviotaPilih laluan auto simpanPilih fail imej latar belakangPilih fail bukuPilih enjinPilih fail bunyi...Pilih direktori kerjaSenegalSerbiaWakil PerkhidmatanMenetapkan persekitaranPersediaan KedudukanSeychelles_Panel sisiSierra LeoneKedudukan Catur MudahSingapuraSint Maarten (Bahagian Belanda)Laman:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinSlovakiaSloveniaKepulauan SolomonSomaliaSesetengah fitur PyChess memerlukan keizinan anda untuk memuat turun program luarMaaf '%s' sudah pun mendaftar masukFail bunyiAfrica SelatanKepulauan Georgia Selatan dan Sandwich SelatanSudan SelatanSepanyolStatusUndur satu gerakanMaju satu gerakanSudanSurinameGerakan janggalSvalbard dan Jan MayenSwazilandSwedenSwitzerlandSimbolRepublik Arab SyriaTaiwan (Wilayah China)TajikistanRepublik Bersatu TanzaniaAkaun PasukanTekstur:ThailandRalat adalah: %sPermainan tidak dapat dimuatkan, kerana terdapat ralat menghurai FENPermainan tidak dapat dibaca sehingga akhir, kerana terdapat ralat menghurai gerakan %(moveno)s '%(notation)s'.Permainan tamat dengan seriPermainan telah dihenti paksaPermainan telah ditangguhPermainan telah ditamatkanGerakan gagal kerana %s.Sebab tidak diketahuiPanel skor cuba menilai kedudukan dan tunjuk graf kemajuan permainanThebanTemaTerdapat %d permainan dengan gerakan tidak disimpan.Ada masalah dengan bolehlaku iniIni adalah kesinambungan perlawanan yang tertangguhTimor-LestePetua Hari IniTogoTokelauTongaTerjemah PyChessTrinidad dan TobagoCuba chmod a+x %sTunisiaTurkiTurkmenistanKepulauan Turks dan CaicosTuvaluJenisTaip atau tampal permainan PGN atau kedudukan FEN di siniUgandaUkraineKedudukan tidak jelasPanel tidak jelasBuat AsalBuat asal satu gerakanBuat asal dua gerakanNyahpasangEmiriyah Arab BersatuUnited Kingdom of Great Britain dan Ireland UtaraAmerika SyarikatTidak diketahuiKeadaan permainan tidak diketahuiTidak BertarafTidak BerdaftarUruguayGuna peng_analisisGuna jadual asas _setempatGuna jadual asas a_tas talianGunaformat nama:UzbekistanVanuatuVariant dibangunkan oleh Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Venezuela (Republik Bolivari)Gerakan paling terukViet NamKepulauan Virgin (British)Kepulauan Virgin (U.S.)TungguWallis dan FutunaSahara BaratPutih:Rawak-LiarMenangMenang:Tahun, bulan, hari: #y, #m, #dYamanAnda meminta pihak lawan untuk bergerakAnda telah didaftar keluar kerana telah melahu lebih dari 60 minitAnda belum membuka apa-apa perbualan lagiAnda telah menghantar tawaran seriAnda telah menghantar tawaran jedaAnda telah menghantar tawaran sambung semulaAnda telah menghantar tawaran henti paksaAnda telah menghantar tawaran penangguhanAnda telah menghantar tawaran buat asalTetapan panel adna telah ditetapkan semula. Jika masalah ini masih berulang, anda seharusnya melaporkannya kepada pihak pembangunZambiaZimbabwe_Tindakan_Analisis Permainan_Auto simpan permainan selesai ke fail .pgnSa_lin FENSa_lin PGN_Sunting_Enjin_Eksport KedudukaS_krin Penuh_Permainan_Am_BantuanPe_mbayangGerakan _tidak sah:_Muat PermainanPelihat _LogPermainan _Baharu_Ganti_Putar Papan_Simpan %d dokumen_Simpan PermainanT_unjuk Panel SisiBun_yi_Guna bunyi dalam PyChess_Lihathitampangkalan data membuka tree perlukan chess_dbhttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlminmingerakantidak bermaindarijumlah atas-talianpusingan %ssaarsaatlwn.putihKepulauan Ålandpychess-1.0.0/lang/ms_MY/LC_MESSAGES/pychess.po0000644000175000017500000045755113455542741020041 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # abuyop , 2017 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Malay (Malaysia) (http://www.transifex.com/gbtami/pychess/language/ms_MY/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ms_MY\n" "Plural-Forms: nplurals=1; plural=0;\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Permainan" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "Permainan _Baharu" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Main Catur _Internet" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Muat Permainan" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Muat Permainan Baru-baru _Ini" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Simpan Permainan" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Simpan Permainan Seb_agai" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "_Eksport Keduduka" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "_Penarafan Pemain" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "_Analisis Permainan" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Sunting" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "Sa_lin PGN" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "Sa_lin FEN" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "_Enjin" #: glade/PyChess.glade:518 msgid "Externals" msgstr "Luar" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Tindakan" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Tawar _Henti Paksa" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Tawar Penan_gguhan" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Tawar Se_ri" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Tawar _Jeda" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Tawar Sa_mbung Semula" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Tawar _Buat Asal" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "Ta_rik Diri" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Lihat" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Putar Papan" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "S_krin Penuh" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Keluar Dari Skrin Pe_nuh" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "T_unjuk Panel Sisi" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "Pelihat _Log" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "Pangkalan Data" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "Pangkalan _Data Baharu" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "Simpan pangkalan data sebagai" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "Import fail catur" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "Import permainan dari theweekinchess.com" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Bantuan" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Perihal Catur" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Bagaimana hendak Bermain" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Terjemah PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Petua Hari Ini" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Klien catur" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Keutamaan" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Hanya animasikan _gerakan" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Hanya animasikan gerakan buah." #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Tiada _animasi" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Jangan sesekali guna animasi. Guna ini pada komputer perlahan atau lama." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animasi" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_Am" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "Guna jadual asas _setempat" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "Lalauan TB Gaviota:" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "Guna jadual asas a_tas talian" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Guna peng_analisis" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "Tempoh analisis maksimum dalam saat:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "Analisis tanpa had" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Penganalisaan" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "Pe_mbayang" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Nyahpasang" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "Ak_tif" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Panel Sisi Dipasang" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "_Panel sisi" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "Laluan imej latar belakang:" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "Skrin aluan" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "Tekstur:" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "Bingkai:" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Petak Cerah :" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "Grid" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Petak Hitam :" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "Tetap Semula Warna" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "Gaya Papan" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "Set Catur" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Tema" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Guna bunyi dalam PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Permainan _seri:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Permainan _kalah:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Permainan _menang:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "Gerakan _tidak sah:" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "Aktifkan penggera bila _berbaki saat:" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Main Bunyi Ketika..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "Bun_yi" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "_Auto simpan permainan selesai ke fail .pgn" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Simpan fail ke:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "Gunaformat nama:" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "Nama: #n1, #n2" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "Tahun, bulan, hari: #y, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Maklumat permainan" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Laman:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Hitam:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Pusingan:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Putih:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Acara:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Tarikh" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Kedudukan Catur" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Tidak diketahui" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Kedudukan Catur Mudah" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "Permainan tidak dapat dimuatkan, kerana terdapat ralat menghurai FEN" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Permainan Catur" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "Mengimport tajuk permainan..." #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "Mencipta fail indeks .bin..." #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "Mencipta fail indeks .scout..." #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "Gerakan tidak sah." #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "Ralat menghurai %(mstr)s" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "Permainan tidak dapat dibaca sehingga akhir, kerana terdapat ralat menghurai gerakan %(moveno)s '%(notation)s'." #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "Gerakan gagal kerana %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "Ralat menghurai gerakan %(moveno)s %(mstr)s" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "Imej Png" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "Hos Destinasi Tidak Boleh Dicapai" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Mati" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Acara Setempat" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Tapak Setempat" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "min" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "saar" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "Versi baharu %s sudah tersedia!" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "Andorra" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "Emiriyah Arab Bersatu" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "Afghanistan" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "Antigua dan Barbuda" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "Anguilla" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "Albania" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "Armenia" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "Angola" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "Antartika" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "Argentina" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "Samoa Amerika" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "Austria" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "Australia" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "Aruba" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "Kepulauan Åland" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "Azerbaijan" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "Bosnia dan Herzegovina" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "Barbados" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "Bangladesh" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "Belgium" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "Burkina Faso" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "Bulgaria" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "Bahrain" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "Burundi" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "Benin" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "Saint Barthélemy" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "Bermuda" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "Brunei Darussalam" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "Bonaire, Sint Eustatius dan Saba" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "Brazil" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "Bahamas" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "Bhutan" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "Pulau Bouvet" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "Botswana" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "Belarus" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "Belize" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "Canada" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "Kepulauan Cocos (Keeling)" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "Republik Demokrasi Congo" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "Republik Afika Tengah" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "Congo" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "Switzerland" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "Côte d'Ivoire" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "Kepulauan Cook" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "Chile" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "Cameroon" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "China" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "Colombia" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "Costa Rica" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "Cuba" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "Cabo Verde" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "Curaçao" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "Pulau Christmas" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "Cyprus" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "Czechia" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "Jerman" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "Djibouti" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "Denmark" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "Dominica" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "Republik Dominican" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "Algeria" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "Ecuador" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "Estonia" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "Mesir" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "Sahara Barat" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "Eritrea" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "Sepanyol" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "Ethiopia" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "Finland" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "Fiji" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "Kepulauan Falkland [Malvinas]" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "Kepulauan Faroe" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "Perancis" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "Gabon" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "United Kingdom of Great Britain dan Ireland Utara" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "Grenada" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "Georgia" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "Guiana Perancis" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "Guernsey" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "Ghana" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "Gibraltar" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "Greenland" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "Gambia" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "Guinea" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "Guadeloupe" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "Guinea Khatulistiwa" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "Greece" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "Kepulauan Georgia Selatan dan Sandwich Selatan" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "Guatemala" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "Guam" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "Guinea-Bissau" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "Guyana" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "Hong Kong" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "Pulau Heard dan Kepulauan McDonald" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "Honduras" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "Croatia" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "Haiti" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "Hungary" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "Indonesia" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "Ireland" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "Israel" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "Kepulauan Man" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "India" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "Wilayah Lautan India British" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "Irak" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "Republik Islam Iran" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "Iceland" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "Itali" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "Jersey" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "Jamaica" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "Jordan" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "Jepun" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "Kenya" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "Kyrgyzstan" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "Kemboja" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "Kiribati" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "Comoros" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "Saint Kitts dan Nevis" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "Republik Demokrasi Korea" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "Republik Korea" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "Kuwait" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "Kepulauan Cayman" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "Kazakhstan" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "Republik Demokrasi Rakyat Lao" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "Lubnan" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "Saint Lucia" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "Liechtenstein" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "Liberia" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "Lesotho" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "Lithuania" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "Luxembourg" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "Latvia" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "Libya" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "Maghribi" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "Monaco" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "Republik Moldova" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "Montenegro" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "Saint Martin (Bahagian Perancis)" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "Madagascar" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "Kepulauan Marshall" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "Macedonia" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "Mali" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "Myanmar" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "Mongolia" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "Macao" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "Kepulauan Mariana Utara" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "Martinique" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "Mauritania" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "Montserrat" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "Malta" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "Mauritius" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "Maldives" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "Malawi" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "Mexico" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "Malaysia" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "Mozambique" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "Namibia" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "New Caledonia" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "Niger" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "Pulau Norfolk" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "Nigeria" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "Nicaragua" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "Belanda" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "Norway" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "Nepal" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "Nauru" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "Niue" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "New Zealand" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "Oman" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "Panama" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "Peru" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "Polynesia Perancis" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "Papua New Guinea" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "Filipina" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "Pakistan" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "Poland" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "Saint Pierre dan Miquelon" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "Pitcairn" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "Puerto Rico" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "Palestine" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "Portugal" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "Palau" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "Paraguay" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "Qatar" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "Réunion" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "Romania" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "Serbia" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "Persekutuan Rusia" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "Rwanda" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "Arab Saudi" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "Kepulauan Solomon" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "Seychelles" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "Sudan" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "Sweden" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "Singapura" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "Saint Helena, Ascension dan Tristan da Cunha" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "Slovenia" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "Svalbard dan Jan Mayen" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "Slovakia" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "Sierra Leone" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "San Marino" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "Senegal" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "Somalia" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "Suriname" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "Sudan Selatan" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "Sao Tome dan Principe" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "El Salvador" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "Sint Maarten (Bahagian Belanda)" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "Republik Arab Syria" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "Swaziland" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "Kepulauan Turks dan Caicos" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "Chad" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "Wilayah Selatan Perancis" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "Togo" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "Thailand" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "Tajikistan" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "Tokelau" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "Timor-Leste" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "Turkmenistan" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "Tunisia" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "Tonga" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "Turki" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "Trinidad dan Tobago" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "Tuvalu" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "Taiwan (Wilayah China)" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "Republik Bersatu Tanzania" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "Ukraine" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "Uganda" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "Amerika Syarikat" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "Uruguay" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "Uzbekistan" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "Holy See" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "Saint Vincent dan the Grenadines" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "Venezuela (Republik Bolivari)" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "Kepulauan Virgin (British)" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "Kepulauan Virgin (U.S.)" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "Viet Nam" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "Vanuatu" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "Wallis dan Futuna" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "Samoa" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "Yaman" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "Mayotte" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "Africa Selatan" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "Zambia" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "Zimbabwe" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Bidak" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Permainan tamat dengan seri" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s memenangi permainan" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s memenangi permainan" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "Permainan telah ditamatkan" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Permainan telah ditangguh" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Permainan telah dihenti paksa" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "Keadaan permainan tidak diketahui" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Kerana kedua-dua pemain kehabisan masa" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "Kerana kedua-dua pemain bersetuju untuk seri" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "Kerana permainan melangkaui tempoh maksimum" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "Kerana %(loser)s telah menarik diri" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "Kerana %(loser)s kehabisan masa" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "Kerana %(loser)s telah terputus" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "Kerana %(winner)s kehilangan semua buahnya" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "Kerana raja %(winner)s telah sampai di tengah-tengah" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "Kerana sambungan pemain terputus" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "Kerana kedua-dua pemain bersetuju untuk ditangguhkan" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "Kerana pelayan telah dimatikan" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "Kerana pemain terputus sambungan dan pemain yang lain meminta ditangguhkan" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "Kerana kedua-dua pemain bersetuju untuk henti paksa permainan. Tiada perubahan penarafan telah berlaku." #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "Kerana sambungan dengan pelayan telah terputus" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "Sebab tidak diketahui" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "ASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "ASEAN" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "Makruk: http://en.wikipedia.org/wiki/Makruk" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "Makruk" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "Kemboja: http://www.khmerinstitute.org/culture/ok.html" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "Kemboja" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "Ai-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "Ai-Wok" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "Sittuyin" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Rawak Asimetrik" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "Atomic" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Corner" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "Crazyhouse" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "EuroShogi" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "http://en.wikipedia.org/wiki/Chess960\nFICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Rawak Fischer" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "Giveaway" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\nWhite pawns start on 5th rank and black pawns on the 4th rank" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "Variant dibangunkan oleh Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "Theban" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\nhttp://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\nPawns start on their 7th rank rather than their 2nd rank!" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "Maaf '%s' sudah pun mendaftar masuk" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Menyambung dengan pelayan" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Mendaftar masuk ke pelayan" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Menetapkan persekitaran" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "%(player)s ialah %(status)s" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "tidak bermain" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Rawak-Liar" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Atas-Talian" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Luar Talian" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "Ada" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "Bermain" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "Melahu" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "Memeriksa" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "Tidak Tersedia" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "Menjalankan Perlawanan Simulasi" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Tidak Bertaraf" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Ditarafkan" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d min" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr " + %d saat" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "%(player)s bermain dengan warna %(color)s" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "putih" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "hitam" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "Ini adalah kesinambungan perlawanan yang tertangguh" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "Penarafan Pihak Lawan" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Persendirian" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Ralat Sambungan" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Log dengan Ralat" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Sambungan telah ditutup" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Ralat Alamat" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Auto-daftar-keluar" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Anda telah didaftar keluar kerana telah melahu lebih dari 60 minit" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "Daftar masuk tetamu dilumpuhkan oleh pelayan FICS" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "1-minit" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "3-minit" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "5-minit" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "15-minit" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "45-minit" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "Chess960" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "Diperiksa" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Lain-lain" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Pentadbir" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Akaun Pasukan" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "Tidak Berdaftar" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "Penasihat Catur" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "Wakil Perkhidmatan" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "Akaun Semu" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "PyChess tidak dapat memuatkan tetapan panel anda" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "Tetapan panel adna telah ditetapkan semula. Jika masalah ini masih berulang, anda seharusnya melaporkannya kepada pihak pembangun" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "Rakan" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "Pentadbir" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "Lagi saluran" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "Lagi pemain" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "Komputer" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "Tetamu" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "Pemerhati" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "Pergi" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "Jeda" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "Tanya keizinan" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "Sesetengah fitur PyChess memerlukan keizinan anda untuk memuat turun program luar" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "pangkalan data membuka tree perlukan chess_db" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "ICC kekurangan pemampasan perlukan setem masa" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "Jangan tunjuk dialog semasa permulaan." #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "Tiada perbualan dipilih" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "Memuatkan data pemain" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "Menerima senarai pemain" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "Tetingkap Maklumat PyChess" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "dari" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "Anda belum membuka apa-apa perbualan lagi" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "Hanya pengguna berdaftar layak berbual dalam saluran ini" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "Menganalisis permainan masih berlangsung..." #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "Anda mahu menghenti paksa ia?" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "Henti Paksa" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "Pilih enjin" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "Fail bolehlaku" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "Tidak boleh tambah %s" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "tidak dipasang" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "%s tidak ditanda sebagai bolehlaku dalam sistem fail" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "Cuba chmod a+x %s" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "Ada masalah dengan bolehlaku ini" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "Pilih direktori kerja" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr " gerakan enjin tidak sah: %s" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Tawar Perlawanan Semula" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "Perhati %s" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Main Perlawanan Semula" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Buat asal satu gerakan" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Buat asal dua gerakan" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "Anda telah menghantar tawaran henti paksa" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "Anda telah menghantar tawaran penangguhan" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Anda telah menghantar tawaran seri" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "Anda telah menghantar tawaran jeda" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "Anda telah menghantar tawaran sambung semula" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "Anda telah menghantar tawaran buat asal" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "Anda meminta pihak lawan untuk bergerak" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Enjin, %s, telah mati" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "Tawar Henti Paksa" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "Tuntut Seri" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "Sambung Semula" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "Tawar Jeda" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "Tawar Sambung Semula" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "Buat Asal" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "Tawar Buat Asal" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "telah lambat selama 30 saat" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "telah menjadi sangat lambat tetapi masih bersambung" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "Teruskan menunggu pihak lawan, atau cuba tangguhkan permainan?" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "Tunggu" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "Tangguh" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "Lompat ke kedudukan awal" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "Undur satu gerakan" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "Pergi ke barisan utama" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "Maju satu gerakan" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Lompat ke kedudukan terkini" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "Cari kedudukan dalam pangkalan data semasa" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Manusia" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minit:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "Gerakan:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "Klasik" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "Lain-lain (peraturan piawai)" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "Lain-lain (bukan peraturan piawai)" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "Varian Asia" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "catur" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Persediaan Kedudukan" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "Taip atau tampal permainan PGN atau kedudukan FEN di sini" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Main" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "Pilih fail buku" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "Membuka buku" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "Pilih laluan TB Gaviota" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Buka Fail Bunyi" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "Fail bunyi" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Tiada bunyi" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Bip" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Pilih fail bunyi..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "Panel tidak jelas" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "Pilih fail imej latar belakang" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "Imej" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "Pilih laluan auto simpan" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "FEN memerlukan 6 medan data. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "FEN memerlukan sekurang-kurangnya 2 medan data dalam fenstr. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "Fail '%s' sudah ada." #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "Pusingan" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "Tempoh" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "Diarkib" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Jam" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Jenis" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Tarikh/Masa" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "Pohon Kesinambungan" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "Periksa Permainan Tertangguh" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "Senarai saluran pelayan" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Sembang" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "Maklumat" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "Konsol" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "Antaramuka baris perintah ke pelayan catur" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Menang" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Seri" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Kalah" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "Diperlukan" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "Terbaik" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Emel" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "jumlah atas-talian" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Menyambung" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "Senarai Permainan" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "Senarai permainan masih berlangsung" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Permaian berlangsung: %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "Berita" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "Senarai berita pelayan" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "Nilai" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "Ikut" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "Senarai Pemain" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "Senarai pemain" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Nama" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "Status" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "Pemain: %d" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Cabaran:" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Sunting Jangkau:" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "%(minutes)d min + %(gain)d saat/gerakan" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Manual" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "Mana-mana kekuatan" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " min" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "Menang:" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "Seri:" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "Kalah:" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "RD baharu:" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "ICS" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "Daftar Keluar" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Kesan jenis secara automatik" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "Ralat memuatkna permainan" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Simpan Permainan" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "Eksport kedudukan" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Jenis fail '%s' tidak diketahui" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Tidak boleh menyimpan fail '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Ganti" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Fail wujud" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Tidak dapat simpan fail" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess tidak boleh menyimpan permainan" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "Ralat adalah: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "Terdapat %d permainan dengan gerakan tidak disimpan." #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "Simpan gerakan sebelum menutup?" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "lwn." #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "_Simpan %d dokumen" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Semua Fail Catur" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "Tambah ulasan mula" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "Tambah ulasan" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "Sunting ulasan" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "Gerakan baik" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "Gerakan teruk" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "Gerakan terbaik" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "Gerakan paling teruk" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "Gerakan menarik" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "Gerakan janggal" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "Gerakan terpaksa" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "Tambah simbol gerakan" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "Kedudukan tidak jelas" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "Ulasan" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "Simbol" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "Semua penilaian" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "Buang" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "min" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "saat" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "gerakan" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "pusingan %s" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "Pembayang" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Panel PyChess rasmi." #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Kedudukan awal" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "%(color)s gerak %(piece)s ke %(cord)s" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "Enjin" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Sejarah Gerakan" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Skor" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "Panel skor cuba menilai kedudukan dan tunjuk graf kemajuan permainan" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/vi/0000755000175000017500000000000013467766037013620 5ustar varunvarunpychess-1.0.0/lang/vi/LC_MESSAGES/0000755000175000017500000000000013467766037015405 5ustar varunvarunpychess-1.0.0/lang/vi/LC_MESSAGES/pychess.mo0000644000175000017500000002346713467766035017432 0ustar varunvarun !  ': b s   Q & 7&(^ #%"8#[  + 1< COUfv  D  '1 C O\m v      #& JVX^`fmr y  5<TN 1#7%["# !! )5;%A g r~       !"++Nz! ":Qog +(5Ti6V52"0 Jk"(,-- [ e p}  0BHWr  fmos  (* /:L am    * F R T Z \ d r u |     !!3!H!HQ! !l!"0"O" n"z" """&""+"!##/E#0u#(#*#"#$,$?$ E$(R${$$$$$$ $$%%0%O% T% a% o%}% %"%+%% % &&*&,Q&~& &!&&0&&'t +VO He]Mp_< dIlu9jyDiW&!Q:4%>kPR2@*,h;"L|'T0aU/~mq vN^-?owCGnx)#EcJA{XgB1}K8$ Z=6Srs\3z[f(7b5.F`Y%s was declined by your opponent%s was withdrawn by your opponent'%s' is not a registered namePromote pawn to what?AnalyzingAnimationPlay Sound When...PlayersA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedPyChess was not able to save the gameUnknown file type '%s'A player _checks:A player _moves:A player c_aptures:About ChessAll Chess FilesBBeepBishopBlackBlack has a rather cramped positionBlack has a slightly cramped positionBlack should do pawn storm in leftBlack should do pawn storm in rightChess GameChess PositionClockClose _without SavingCommentsConnectingConnection ErrorConnection was closedCould not save the fileDatabaseDetect type automaticallyEmailEnter GameEvent:File existsGain:Game informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:GuestHuman BeingInitial positionIt is not possible later to continue the game, if you don't save it.KKnightLeave _FullscreenLightningLoad _Recent GameLocal EventLog on ErrorLog on as _GuestMinutes:Move HistoryNNameNew GameNew _DatabaseNo soundNormalObserved _ends:Offer _DrawOpen GameOpen Sound FileOpening BookPingPlayer _RatingPo_rts:PreferencesPromotionPyChess - Connect to Internet ChessPyChess.py:QQueenRRatedRatingRookRound:Save GameSave Game _AsSave database asScoreSelect sound file...Setup PositionShredderLinuxChess:Simple Chess PositionSite:Standard:The connection was broken - got "end of file" messageThe error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The game ended in a drawThe game has been abortedThe game has been adjournedTimeTypeUnknownUnratedUse _analyzerUse _inverted analyzerWhiteWhite has a rather cramped positionWhite has a slightly cramped positionWhite should do pawn storm in leftWhite should do pawn storm in rightYou sent a draw offerYour opponent asks you to hurry!Your opponent is not out of time._Accept_Fullscreen_Game_Help_Hide tabs when only one game is open_Load Game_Log Viewer_Name:_New Game_Observed moves:_Password:_Replace_Rotate Board_Save Game_Start Game_Use sounds in PyChess_Viewcaptures materialcastlesdefends %sdrawsgnuchess:http://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyincreases the pressure on %smatesmoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %sonline in totalpromotes a Pawn to a %sputs opponent in checkslightly improves king safetytakes back materialProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Vietnamese (http://www.transifex.com/gbtami/pychess/language/vi/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: vi Plural-Forms: nplurals=1; plural=0; Đối phương từ chối %sĐối phương rút lại %s'%s' không phải là tên đã đăng kíPhong cấp Tốt thành quân gì?Đang phân tíchHình độngPhát Âm Thanh Khi...Người chơiMột tập tin có tên '%s' đã tồn tại. Bạn có muốn thay thế nó không?Máy, %s, đã dừng hoạt độngPyChess không thể lưu tập tinKhông rõ kiểu tập tin '%s'Một người chơi _chiếu vua:Một người chơi _thực hiện nước đi:Một người chơi ă_n quân:Giới thiệu ChessTất cả các tập tin cờ vuaTBípTượngĐenThế cờ Đen tương đối tù túngThế cờ Đen hơi tù túngĐen nên dâng sóng Tốt phía bên tráiĐen nên dâng sóng Tốt phía bên phảiVán cờThế cờĐồng hồĐóng mà _không lưuBình luậnĐang kết nốiLỗi kết nốiKết nối bị dừngKhông thể lưu tập tinCơ sỡ dữ liệuTự động phát hiện kiểuthư điện tửChơiGiải đấu:Tập tin đã tồn tạiBù thời gian:Thông tin về ván cờ_Hòa cờ:_Thua cờ:Ván cờ được _bày ra:_Thắng cờ:KháchNgườiVị trí ban đầuSau này bạn sẽ không thể tiếp tục ván cờ, nếu bây giờ bạn không lưu nó lại.VMãThoát_Đầy màn hìnhCờ chớpTải_Trò chơi Hiện thờiGiải đấu địa phươngLỗi Đăng nhậpĐăng nhập với tên _GuestPhút:Các nước đã chơiMTênVán mớiMới_dữ liệuKhông có âm thanhTrung bình_Kết thúc quan sátĐề nghị _HòaVán đấu mởMở tập tin âm thanhSách khai cuộcPingĐiểm của người chơiCác C_ổng:Tùy chọnPhong cấpPyChess - Kết nối với Internet ChessPyChess.py:HHậuXĐiểmTính điểmXeVòng:Lưu lại ván đấuLưu lại ván với _TênLưu dữ liệu làĐiểm sốChọn tập tin âm thanh...Thiết lập Vị tríShredderLinuxChess:Thế cờ đơn giảnĐịa chỉ mạng:Chuẩn:Kết nối bị ngắt - nhận được thông báo "kết thúc file"Lỗi là: %sTập tin đã tồn tại ở '%s'. Nếu bạn chọn thay thế, nội dung của nó sẽ bị ghi đè.Ván cờ kết thúc hoàVán cờ đã bị huỷ bỏVán cờ được hoãn lạiThời gianLoạiKhông rõKhông được tính điểmDùng công cụ _phân tíchDùng công cụ phân tích _ngượcTrắngThế cờ Trắng tương đối tù túngThế cờ Trắng hơi tù túngTrắng nên dâng sóng Tốt phía bên tráiTrắng nên dâng sóng Tốt phía bên phảiBạn đã gửi lời đề nghị hoàĐối thủ giục bạn khẩn trương!Đối phương chưa hết giờ._Chấp nhận_Đầy màn hình_Ván_Trợ giúpẨ_n tab khi chỉ mở một ván cờ_Tải ván cờXem _nhật trình_Tên:_Chơi ván mớiCác nước đã _quan sát:_Mật khẩu :_Thay thế_Xoay bàn cờ_Lưu lại ván cờ_Bắt đầu ván cờ_Bật âm thanh trong PyChess_Xemđổi quânnhập thànhbảo vệ %shòagnuchess:http://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chesstăng cường an toàn cho Vuatăng cường áp lực lên %schiếu hếtdi chuyển quân Xe đến cột mởdi chuyển quân Xe đến cột nửa mởlên Tượng nách: %strực tuyến trong tổng sốphong cấp Tốt thành quân %schiếu Vua đối phươngphần nào tăng cường sự an toàn cho Vuagỡ lại quânpychess-1.0.0/lang/vi/LC_MESSAGES/pychess.po0000644000175000017500000044040713455542756017431 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2010 # nguyen vui , 2018 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Vietnamese (http://www.transifex.com/gbtami/pychess/language/vi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: vi\n" "Plural-Forms: nplurals=1; plural=0;\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Ván" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Chơi ván mới" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Tải ván cờ" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Tải_Trò chơi Hiện thời" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Lưu lại ván cờ" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Lưu lại ván với _Tên" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Điểm của người chơi" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Đề nghị _Hòa" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Xem" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Xoay bàn cờ" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Đầy màn hình" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Thoát_Đầy màn hình" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "Xem _nhật trình" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "Cơ sỡ dữ liệu" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "Mới_dữ liệu" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "Lưu dữ liệu là" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Trợ giúp" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Giới thiệu Chess" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Tùy chọn" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "Ẩ_n tab khi chỉ mở một ván cờ" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Hình động" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Dùng công cụ _phân tích" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Dùng công cụ phân tích _ngược" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Đang phân tích" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Bật âm thanh trong PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "Một người chơi _chiếu vua:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Một người chơi _thực hiện nước đi:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "_Hòa cờ:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "_Thua cờ:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "_Thắng cờ:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Một người chơi ă_n quân:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Ván cờ được _bày ra:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "Các nước đã _quan sát:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "_Kết thúc quan sát" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Phát Âm Thanh Khi..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Phong cấp" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Hậu" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Xe" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Tượng" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Mã" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Phong cấp Tốt thành quân gì?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Thông tin về ván cờ" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Địa chỉ mạng:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Vòng:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Giải đấu:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Trắng" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Đen" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Kết nối với Internet Chess" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Mật khẩu :" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Tên:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Đăng nhập với tên _Guest" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Các C_ổng:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Chuẩn:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Chấp nhận" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Cờ chớp" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Tính điểm" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Thời gian" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Khách" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Ván mới" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Bắt đầu ván cờ" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Người chơi" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Đóng mà _không lưu" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://en.wikipedia.org/wiki/Chess" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://en.wikipedia.org/wiki/Rules_of_chess" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Ván đấu mở" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Đối phương chưa hết giờ." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Đối thủ giục bạn khẩn trương!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "Đối phương từ chối %s" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "Đối phương rút lại %s" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Thế cờ" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Không rõ" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Thế cờ đơn giản" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Ván cờ" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Giải đấu địa phương" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "M" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "T" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "X" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "H" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "V" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Ván cờ kết thúc hoà" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Ván cờ được hoãn lại" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Ván cờ đã bị huỷ bỏ" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Trung bình" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "Kết nối bị ngắt - nhận được thông báo \"kết thúc file\"" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' không phải là tên đã đăng kí" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Không được tính điểm" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Điểm" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Lỗi kết nối" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Lỗi Đăng nhập" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Kết nối bị dừng" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Bạn đã gửi lời đề nghị hoà" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Máy, %s, đã dừng hoạt động" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Người" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Phút:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Bù thời gian:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Thiết lập Vị trí" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Chơi" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Mở tập tin âm thanh" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Không có âm thanh" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Bíp" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Chọn tập tin âm thanh..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "hòa" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "chiếu hết" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "chiếu Vua đối phương" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "tăng cường an toàn cho Vua" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "phần nào tăng cường sự an toàn cho Vua" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "di chuyển quân Xe đến cột mở" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "di chuyển quân Xe đến cột nửa mở" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "lên Tượng nách: %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "phong cấp Tốt thành quân %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "nhập thành" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "gỡ lại quân" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "đổi quân" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "tăng cường áp lực lên %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "bảo vệ %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "Trắng nên dâng sóng Tốt phía bên phải" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "Đen nên dâng sóng Tốt phía bên trái" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "Trắng nên dâng sóng Tốt phía bên trái" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "Đen nên dâng sóng Tốt phía bên phải" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "Thế cờ Đen tương đối tù túng" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "Thế cờ Đen hơi tù túng" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "Thế cờ Trắng tương đối tù túng" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "Thế cờ Trắng hơi tù túng" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Đồng hồ" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Loại" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "thư điện tử" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "trực tuyến trong tổng số" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Đang kết nối" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Tên" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Tự động phát hiện kiểu" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Lưu lại ván đấu" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Không rõ kiểu tập tin '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Thay thế" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Tập tin đã tồn tại" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Một tập tin có tên '%s' đã tồn tại. Bạn có muốn thay thế nó không?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "Tập tin đã tồn tại ở '%s'. Nếu bạn chọn thay thế, nội dung của nó sẽ bị ghi đè." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Không thể lưu tập tin" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess không thể lưu tập tin" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "Lỗi là: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Sau này bạn sẽ không thể tiếp tục ván cờ,\nnếu bây giờ bạn không lưu nó lại." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Tất cả các tập tin cờ vua" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Sách khai cuộc" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Bình luận" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Vị trí ban đầu" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Các nước đã chơi" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Điểm số" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/sv/0000755000175000017500000000000013467766037013632 5ustar varunvarunpychess-1.0.0/lang/sv/LC_MESSAGES/0000755000175000017500000000000013467766037015417 5ustar varunvarunpychess-1.0.0/lang/sv/LC_MESSAGES/pychess.mo0000644000175000017500000032025313467766035017435 0ustar varunvarunQ*,Uq q qGqr r$r ?rMrhrr+rr rrr/r0&s[WsNst%t`?t(t+t't3u#Qu%uu@u7u0v#Evivvvvvv#v$w9w'Lwtw w!wQwJx>hxxx!xxxxxy yyyy%y@y EyOyly uyyy0y'y@y(z9zJz]zozzzzzz#z${#D{h{y{{{{{{{ |!|7|I|c|?v|Q|&}$/}+T}C}7}U}"R~*u~(~~~~e &. ,<K(] S )!K Q _kmr -<P n{CĂ  " ,7 KX aksy ƒ؃ ߃*J ` l vÄ ˄ք/߄SQcԅ! 1R/oSQ#E*i-"‡+(:rو LKm'%O-W3$6ފ#E9A!ߋ!-#&Q-x; BFKS[bhp u $#ٍ%# Ύ"َ#* K R \fx~ ׏ Ґ   %4 =8G. ّ  ".BS Xf"|  ŒҒے 6V:VRS; Ĕڔ*,>1k ȕՕ ޕ&  5F\d:m /  $D MX p Xȗb!ۘ "$'6? DNTgow<&+:GC`A.GP c"np #' / 9 ER*g "ќ 1*Ɲ}Ν L Wcu}&. 17=DLc lv:џ 0 @=D~HàF HS=֣w} ˥  !&(!O&q8 ٦ $+1  '8T\_ekr wϨި  %6©ʩҩ ة ! (2: ?J OYb$h4ɪ Ъު6!= _ lz  ˫׫:߫$?CFNQ`1eGA߬!>nXRBYc]?^B;qSOF3 z &߳$ /=)Q{  Ķ Ҷݶ ,1 9EDL̷   )+1]u | ̸Ըݸ}E ѹ߹ *B V`r  úغߺ + '2+9elu~  Ի   !#EM Tu ~ Ƽ Ѽ ܼ   # *5=?BGX`pv.{ /   #)$M$r###߾ "(0 5CCʿѿ 9L T_ oy ~   4<tA,*+*:el.  (41fv  %/7= B L Yf k w   ! *6 >HPWkt[ !2O8W' #$?    +- 5BIOn t  ! ,:Lhow~ 4/BIRU^,p    &0 FS X bp(*9d{ %6 GU"j   / :FBV$ 2 : G S` v/Lf  ,   &-@VZa }   "-5 R _lu~ph"gC5KJP493 >RM3cXT" w9Z3MiI}J`faqZK$-p~E,cAA *6 ;H X fr  ";B,Gtv}uy  4$"G`h{     3ARd0z Q6"U x9 U!Mw  $#6%Z "#* '+G L VbtB9?:9z(/y C$3&$=K)?Vn% tPi%l!n/&E(l&''|   & * 5 B LV_en  %   %+ < GR e r| $  )+2^u !)8%?1E'w$! $CW] p z5"e+Co !( J kw z ,60(g  (#<`! Dk b oGy *  /H4X@0f?N' c4*1-7# #[ % @ 6 4 "R u      , */ Z -o  ( % W ZZ B "  &# J L N P ` g k o w         0 (CD &=] p&6HbqGO:&-)B 2L]"-$.Sh~e   $(.2W4!NYp  +# 2>mE +HXlM   3 K V`io      $6D{     %2.Va_"#;$_"2W`i&'2+L'x(e(V-h&_7 /U ( L / R+!I~!!!"+""(N"7w"3""C#E# I#U#]#d#j#r# y#### # # #&#%#%$.$ $-$+ %)L%v%}% % %%%% %% %%& & *&4&'&'' ''' .';'C'E'H' K' U'b' k'8u''''',' ( ((!(>(D( K(V(i(y((($( (( ( ( ( ))) ):&)Va)R)R *R^****** *++)%+(O+5x+ + + + + + ++++,$,-,A,P,i, p,Lz, ,2, - - -(-?-G-^- d-o-----O-^)..... ..../ /// /-/5/ ;/E/L/_/f/o/w/%/E//0&0*0;0FD0N0C0131<1 T1,b111 11 '23272?2Q2e2x2)22 222'2 33 3*)3T33344444%4(45&5 /5195k5 q5 |55 5 5 55;56'6/626-Q6D6A6H7FO7H7 798#::s; < <<<!=<_< |<<<<+<&<(<=:&=!a=== = == == {>> >>>>>>>> >? ? ??4?E?V?i????????@@@ @@ @ @@ @@ A AA A'A ,A6A?A.EAtA6|AA AAAAA!A B&B,B FB TBbBgBlB qBB BBBB B BB:B:CACECHCOC RC`C9hCFCFC0DDMEeE[GFBFnFnUG9G>GB=HrHNH`BISJJKKK K*K/T CT MT ZT fTpTTTTT TTTT T U U U ,U9UAU FU SU^UfU lUxU~UUUUUUUU4UUU@ VMVRV aVlV sV V"V#V%V"V"W$>WcWkW rW WWWWW:WW X X X)X1XQX`XfXxXX X XX XXXXX YY,Y AYOY ^Y kYyYYY YYoY*9Z&dZ$Z&ZZZZ;[N[ U[b[q[[[[ [;[\\ -\ 8\C\I\g\\\\\\\\ \\\\\ \]]&] +]8]H]M] \]f]l]]]]] ] ]] ^ ^^^%^+^<^E^\^^^^^^ _(_G9___/__ _ _ __$_$`A` `aa aaa)a9a;aCaRaYa_a~a aaa aaa a ab b"b 7bCbSbgb bb b b b bb bbbbcc-c3Gc{cccccc-cc c d(dBdad gd rd}d dd dddd!de %e/eAe_eqe1eeeeee ee f'#f%Kfqff f fffff g $g0g8g-އ< -ICwfvщ!$(MۊƋl't')zQ'̎&)$E)j%; [hqx    +  ' /9B Xd k w+đ ԑ   ) 8D Z gu 'Ԓ  % 5B? *.;Vu7{%#ٔ  *!> ` n  ĕ3Е#g(#ӗ .8@EIM%R)x ʘ͘ܘ,CXk'q:*ԙ= P^em}%!'+Katx| k1w`4n 70 YG567=S9N)%Kt4gC}WSV\KUs5fX+MEWj0z/ J$6VH-0"d~'NLy,kMi+A+w<DOvb_2:d'CQI*] EW Ccl&/vRS{':6,z:f  6O.RBr5w 0T=opI!g1:+m ])KS=p3UAZ{CT\Lhu\0M@*fkj)|]Rxc2N[&e/ukF}j&'|*tw,d/!D^1;=>I=X&(t,J$$a?XD[$84zH":lg0hG$s+So.n7?"z-,?^Lc&n &#nA]B1)gpyQKP_mVU]O"sQ_FphsME2<(qL >~Fd.'aqcxI{P (7KOIP`-(B8 ;gkr[LDOT.`rGsu ;_(nh39BHyAi1 <@yt\}V??8b|HQ2~9Q `RZ##9 %l[8zoRrA# )Z.M u3B %bY(9rl!U^  *!P E->ZHi;o{GY@A3<GPY'`ah #m;=W;4"|JIJ{ m _v2w H*v>  5Q8 1J@/y<cNi@ TC>qL%9%V/-1D\ e5~Fd+XZb!F^txW}| GYK5iMFoN7af8e3)O?}"%f6Dx7Uv,aX!<C.qxlpm4b[>N j$eqE ^PE3u#Bk:ej*T @6J4~2- Gain: + %d sec challenges you to a %(time)s %(rated)s %(gametype)s game chess has arrived has declined your offer for a match has departed has lagged for 30 seconds invalid engine move: %s is censoring you is lagging heavily but hasn't disconnected is not installed is present min noplay listing you uses a formula not fitting your match request: where %(player)s plays %(color)s. with whom you have an adjourned %(timecontrol)s %(gametype)s game is online. would like to resume your adjourned %(time)s %(gametype)s game.%(black)s won the game%(color)s got a double pawn %(place)s%(color)s got an isolated pawn in the %(x)s file%(color)s got isolated pawns in the %(x)s files%(color)s got new double pawns %(place)s%(color)s has a new passed pawn on %(cord)s%(color)s moves a %(piece)s to %(cord)s%(counter)s game headers from %(filename)s imported%(minutes)d min + %(gain)d sec/move%(name)s %(minutes)d min %(duration)s%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s%(name)s %(minutes)d min / %(moves)d moves %(duration)s%(opcolor)s has a new trapped bishop on %(cord)s%(path)s containing %(count)s games%(player)s is %(status)s%(player)s plays %(color)s%(time)s for %(count)d moves%(white)s won the game%d min%s can no longer castle%s can no longer castle in kingside%s can no longer castle in queenside%s games processed%s moves pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent%s will identify what threats would exist if it were your opponent's turn to move%s will try to predict which move is best and which side has the advantage'%s' is a registered name. If it is yours, type the password.'%s' is not a registered name(Blitz)(Link is available on clipboard.)*-00 Players Ready0 of 00-11-01-minute1/2-1/210 min + 6 sec/move, White120015-minute2 min, Fischer Random, Black3-minute45-minute5 min5-minuteConnect to Online Chess ServerPromote pawn to what?PyChess was unable to load your panel settingsAnalyzingAnimationBoard StyleChess SetsChess VariantEnter Game NotationGeneral OptionsInitial PositionInstalled SidepanelsMove textName of _first human player:Name of s_econd human player:New version %s is available!Open GameOpen databaseOpening, endgameOpponent StrengthOptionsPlay Sound When...PlayersStart learningTime ControlWelcome screenYour Color_Connect to server_Start Game%s is not marked executable in the filesystemA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedError loading gameFile '%s' already exists.PyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to add %sUnable to save file '%s'Unknown file type '%s'Challenge:A player _checks:A player _moves:A player c_aptures:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortAbout ChessAc_tiveAcceptActivate alarm when _remaining sec is:Active color field must be one of w or b. %sActive seeks: %dAdd commentAdd evaluation symbolAdd move symbolAdd new filterAdd start commentAdd sub-fen filter from position/circlesAdd threatening variation lines Adding suggestions can help you find ideas, but slows down the computer's analysis.Additional tagsAddress ErrorAdjournAdjourned, history and journal games listAdminAdministratorAfghanistanAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbaniaAlgeriaAll Chess FilesAll the evaluationsAll whiteAmerican SamoaAnalysis by %sAnalyze black movesAnalyze from current positionAnalyze gameAnalyze white movesAnalyzer's primary variationAndorraAngolaAnguillaAnimate pieces, board rotation and more. Use this on fast machines.Annotated gameAnnotationAnnotatorAntarcticaAntigua and BarbudaAny strengthArchivedArgentinaArmeniaArubaAsian variantsAsk for permissionsAsk to _MoveAssessAsymmetric RandomAsymmetric Random AtomicAustraliaAustriaAuthorAuto Call _FlagAuto _promote to queenAuto _rotate board to current human playerAuto login on startupAuto-logoutAvailableAzerbaijanBB EloBack to main lineBackround image path :Bad moveBahamasBahrainBangladeshBarbadosBecause %(black)s lost connection to the serverBecause %(black)s lost connection to the server and %(white)s requested adjournmentBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s king explodedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause %(mover)s stalematedBecause %(white)s lost connection to the serverBecause %(white)s lost connection to the server and %(black)s requested adjournmentBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause %(winner)s has fewer piecesBecause %(winner)s king reached the centerBecause %(winner)s king reached the eight rowBecause %(winner)s lost all piecesBecause %(winner)s was giving check 3 timesBecause %(winner)s wiped out white hordeBecause a player aborted the game. Either player can abort the game without the other's consent before the second move. No rating changes have occurred.Because a player disconnected and there are too few moves to warrant adjournment. No rating changes have occurred.Because a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both king reached the eight rowBecause both players agreed to a drawBecause both players agreed to abort the game. No rating changes have occurred.Because both players agreed to an adjournmentBecause both players have the same amount of piecesBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause of adjudication by an admin. No rating changes have occurred.Because of courtesy by a player. No rating changes have occurred.Because practice goal reachedBecause the %(black)s engine diedBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBecause the server was shut downBecause the server was shut down. No rating changes have occurred.BeepBelarusBelgiumBelizeBeninBermudaBestBest moveBhutanBishopBlackBlack ELO:Black O-OBlack O-O-OBlack has a new piece in outpost: %sBlack has a rather cramped positionBlack has a slightly cramped positionBlack have to capture all white pieces to win. White wants to checkmate as usual. White pawns on the first rank may move two squares, similar to pawns on the second rank.Black moveBlack should do pawn storm in leftBlack should do pawn storm in rightBlack side - Click to exchange the playersBlack:BlindFoldBlindfoldBlindfold AccountBlitzBlitz:Blitz: 5 minBolivia (Plurinational State of)Bonaire, Sint Eustatius and SabaBook depth max:Bosnia and HerzegovinaBotswanaBouvet IslandBrazilBringing your king legally to the center (e4, d4, e5, d5) instantly wins the game! Normal rules apply in other cases and checkmate also ends the game.British Indian Ocean TerritoryBrunei DarussalamBughouseBulgariaBulletBurkina FasoBurundiCCACMCabo VerdeCalculating...CambodiaCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCameroonCanadaCandidate MasterCapturedCastling availability field is not legal. %sCategory:Cayman IslandsCenter:Central African RepublicChadChallengeChallenge: Challenge: Change ToleranceChatChess AdvisorChess Alpha 2 DiagramChess Compositions from yacpdb.orgChess GameChess PositionChess ShoutChess clientChess960ChileChinaChristmas IslandClaim DrawClassic chess rules http://en.wikipedia.org/wiki/ChessClassic chess rules with all pieces white http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden figurines http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pawns http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pieces http://en.wikipedia.org/wiki/Blindfold_chessClassicalClassical: 3 min / 40 movesClearClockClose _without SavingCocos (Keeling) IslandsColombiaColorize analyzed movesCommand line interface to the chess serverCommand line parameters needed by the engineCommand line parameters needed by the runtime envCommand:CommentComment:CommentsComorosCompensationComputerComputersCongoCongo (the Democratic Republic of the)ConnectingConnecting to serverConnection ErrorConnection was closedConsoleContinueContinue to wait for opponent, or try to adjourn the game?Cook IslandsCool! Now let see how it goes in the main line.Copy FENCornerCosta RicaCould not save the fileCounterplayCountry of origin of the engineCountry:CrazyhouseCreate New Pgn DatabaseCreate New Polyglot Opening BookCreate Polyglot BookCreate SeekCreate a new databaseCreate new squence where listed conditions may be satisfied at different times in a gameCreate new streak sequence where listed conditions have to be satisfied in consecutive (half)movesCreate polyglot opening bookCreating .bin index file...Creating .scout index file...CroatiaCrushing advantageCubaCuraçaoCyprusCzechiaCôte d'IvoireDDMDark Squares :DatabaseDateDate/TimeDate:Decisive advantageDeclineDefaultDenmarkDestination Host UnreachableDetailed connection settingsDetailed settings of players, time control and chess variantDetect type automaticallyDevelopment advantageDiedDisplay MasterDjiboutiDo you know that it is possible to finish a chess game in just 2 turns?Do you know that the number of possible chess games exceeds the number of atoms in the Universe?Do you really want to restore the default options of the engine ?Do you want to abort it?DominicaDominican RepublicDon't careDon't show this dialog on startup.DrawDraw:DrawishDue to abuse problems, guest connections have been prevented. You can still register on http://www.freechess.orgDummy AccountECOEcuadorEdit SeekEdit Seek: Edit commentEdit selected filterEffect on ratings by the possible outcomesEgyptEl SalvadorEloEmailEn passant cord is not legal. %sEn passant lineEndgame TableEndgamesEngine playing strength (1=weakest, 20=strongest)Engine scores are in units of pawns, from White's point of view. Double clicking on analysis lines you can insert them into Annotation panel as variations.EnginesEngines use uci or xboard communication protocol to talk to the GUI. If it can use both you can set here which one you like.Enter GameEnvironmentEquatorial GuineaEritreaError parsing %(mstr)sError parsing move %(moveno)s %(mstr)sEstimated duration : %(min)d - %(max)d minutesEstoniaEthiopiaEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventEvent:ExamineExamine Adjourned GameExaminedExaminingExcellent moveExecutable filesExpected format as "yyyy.mm.dd" with the allowed joker "?"Export positionExternalsFAFEN needs 6 data fields. %sFEN needs at least 2 data fields in fenstr. %sFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns * No castling * Black's arrangement mirrors white'sFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED * No castling * Black's arrangement DOES NOT mirrors white'sFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Pawns start on their 7th rank rather than their 2nd rank!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Pawns start on 4th and 5th ranks rather than 2nd and 7thFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html White pawns start on 5th rank and black pawns on the 4th rankFIDE ArbeiterFIDE MasterFMF_ull board animationFace _to Face display modeFalkland Islands [Malvinas]Faroe IslandsFijiFile existsFilterFilter game list by current game movesFilter game list by opening movesFilter game list by various conditionsFiltersFilters panel can filter game list by various conditionsFind postion in current databaseFingerFinlandFirst gamesFischer RandomFollowFont:For each player, the statistics provide the probability to win the game and the variation of your ELO if you lose / end into a tie / win, or simply the final ELO rating changeForced moveFrame:FranceFree comment about the engineFrench GuianaFrench PolynesiaFrench Southern TerritoriesFriendsGMGabonGain:GambiaGameGame ListGame analyzing in progress...Game cancelledGame informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Game shared at GamesGames running: %dGaviota TB path:Generally this means nothing, as the game is time-based, but if you want to please your opponent, perhaps you should get going.GeorgiaGermanyGhanaGibraltarGiveawayGo back to the main lineGo onGood moveGrand MasterGreeceGreenlandGrenadaGridGuadeloupeGuamGuatemalaGuernseyGuestGuest logins disabled by FICS serverGuestsGuided interactive lessons in "guess the move" styleGuineaGuinea-BissauGuyanaHHaitiHalfmove clockHandle seeks and challengesHandle seeks on graphical wayHeaderHeard Island and McDonald IslandsHidden pawnsHidden piecesHideHintHintsHoly SeeHondurasHong KongHordeHost:How to PlayHtml DiagramHuman BeingHungaryICC giveaway: https://www.chessclub.com/user/help/GiveawayICC lag compensation needs timestampICSIMIcelandIdIdentificationIdleIf set you can refuse players accepting your seekIf set, FICS game numbers in tab labels next to player names are shown.If set, PyChess will colorize suboptimal analyzed moves with red.If set, PyChess will show game results for different moves in positions containing 6 or less pieces. It will search positions from http://www.k4it.de/If set, PyChess will show game results for different moves in positions containing 6 or less pieces. You can download tablebase files from: http://www.olympuschess.com/egtb/gaviota/If set, PyChess will suggest best opening moves on hint panel.If set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, clicking on main application window closer first time it closes all games.If set, pawn promotes to queen without promotion dialog selection.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the captured figurines will be shown next to the board.If set, the elapsed time that a player used for the move is shown.If set, the hint analyzer engine evaluation value is shown.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If the analyzer finds a move where the evaluation difference (the difference between the evaluation for the move it thinks is the best move and the evaluation for the move made in the game) exceeds this value, it will add an annotation for that move (consisting of the engine's Principal Variation for the move) to the Annotation panelIf you don't save, new changes to your games will be permanently lost.Ignore colorsIllegalImagesImbalanceImportImport PGN fileImport annotated games from endgame.nlImport chessfileImport games from theweekinchess.comImporting game headers...In TournamentIn this game, check is entirely forbidden: not only is it forbidden to move ones king into check, but it is also forbidden to check the opponents king. The purpose of the game is to be the first player that moves his king to the eight row. When white moves their king to the eight row, and black moves directly after that also their king to the last row, the game is a draw (this rule is to compensate for the advantage of white that they may move first.) Apart from the above, pieces move and capture precisely as in normal chess.In this position, there is no legal move.Indent _PGN fileIndiaIndonesiaInfinite analysisInfoInitial positionInitial setupInitiativeInteresting moveInternational MasterInvalid move.Iran (Islamic Republic of)IraqIrelandIsle of ManIsraelIt is not possible later to continue the game, if you don't save it.ItalyJamaicaJapanJerseyJordanJump to initial positionJump to latest positionKKazakhstanKenyaKingKing of the hillKiribatiKnightKnight oddsKnightsKorea (the Democratic People's Republic of)Korea (the Republic of)KuwaitKyrgyzstanLag:Lao People's Democratic RepublicLatviaLearnLeave _FullscreenLebanonLecturesLengthLesothoLessonsLevel 1 is the weakest and level 20 is the strongest. You may not define a too high level if the engine is based on the depth to exploreLiberiaLibyaLichess practice studies Puzzles from GM games and Chess compositionsLiechtensteinLight Squares :LightningLightning:List of ongoing gamesList of playersList of server channelsList of server newsLithuaniaLoad _Recent GameLoading player dataLocal EventLocal SiteLog OffLog on ErrorLog on as _GuestLogging on to serverLosersLossLoss:LuxembourgMacaoMacedonia (the former Yugoslav Republic of)MadagascarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMalawiMalaysiaMaldivesMaliMaltaMamer ManagerManage enginesManualManual AcceptManually accept opponentMarshall IslandsMartiniqueMateMate in %dMaterial/moveMauritaniaMauritiusMaximum analysis time in seconds:MayotteMexicoMicronesia (Federated States of)Minutes:Minutes: Moderate advantageMoldova (the Republic of)MonacoMongoliaMontenegroMontserratMore channelsMore playersMoroccoMoveMove HistoryMove numberMovedMoves:MozambiqueMyanmarNNMNameNames: #n1, #n2NamibiaNational MasterNauruNeedNeeds 7 slashes in piece placement field. %sNepalNetherlandsNever use animation. Use this on slow machines.NewNew CaledoniaNew GameNew RD:New ZealandNew _DatabaseNew game from 1-minute playing poolNew game from 15-minute playing poolNew game from 25-minute playing poolNew game from 3-minute playing poolNew game from 5-minute playing poolNew game from Chess960 playing poolNewsNextNext gamesNicaraguaNigerNigeriaNiueNo _animationNo chess engines (computer players) are participating in this game.No conversation's selectedNo soundNo time controlNorfolk IslandNormalNormal: 40 min + 15 sec/moveNorthern Mariana IslandsNorwayNot AvailableNot a capture (quiet) moveNot the best move!ObserveObserve %sObserved _ends:ObserversOddsOffer A_bortOffer AbortOffer Ad_journmentOffer PauseOffer RematchOffer ResumeOffer UndoOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOmanOn FICS, your "Wild" rating encompasses all of the following variants at all time controls: One player starts with one less knight pieceOne player starts with one less pawn pieceOne player starts with one less queen pieceOne player starts with one less rook pieceOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpenOpen GameOpen Sound FileOpen chess fileOpening BookOpening booksOpening chessfile...OpeningsOpenings panel can filter game list by opening movesOpponent RatingOpponent's strength: OptionOptionsOtherOther (non standard rules)Other (standard rules)PPakistanPalauPalestine, State ofPanamaPapua New GuineaParaguayParameters:Paste FENPatternPausePawnPawn oddsPawns PassedPawns PushedPeruPhilippinesPick a datePingPitcairnPlacementPlayPlay Fischer Random chessPlay Losers chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer ListPlayer _RatingPlayers:Players: %dPlayingPng imagePo_rts:PolandPolyglot book file:PortugalPractice endgames with computerPre-chess: https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_positionPre_viewPrefer figures in _notationPreferencesPreferred level:Preparing to start import...PreviewPreview panel can filter game list by current game movesPrevious gamesPrivateProbably because it has been withdrawn.ProgressPromotionProtocol:Puerto RicoPuzzlesPyChess - Connect to Internet ChessPyChess Information WindowPyChess has lost connection to the engine, probably because it has died. You can try to start a new game with the engine, or try to play against another one.PyChess.py:QQatarQueenQueen oddsQuit LearningQuit PyChessRR_esignRacing KingsRandomRapidRapid: 15 min + 10 sec/moveRatedRated gameRatingRating change:Reading %s ...Receiving list of playersRecreating indexes...RefreshRegisteredRemoveRemove selected filterRequest ContinuationResendResend %s?Reset ColoursReset my progressRestore the default optionsResultResult:ResumeRetryRomaniaRookRook oddsRotate the boardRoundRound:Running Simul MatchRuntime env command:Runtime env parameters:Runtime environment of engine command (wine or node)Russian FederationRwandaRéunionSRS_ign upSaint BarthélemySaint Helena, Ascension and Tristan da CunhaSaint Kitts and NevisSaint LuciaSaint Martin (French part)Saint Pierre and MiquelonSaint Vincent and the GrenadinesSamoaSan MarinoSanctionsSao Tome and PrincipeSaudi ArabiaSaveSave GameSave Game _AsSave _own games onlySave _rating change valuesSave analyzing engine _evaluation valuesSave arrows/circlesSave asSave database asSave elapsed move _timesSave files to:Save moves before closing?Save the current game before you close it?Save to PGN file as...ScoreScoutSearch:Seek GraphSeek _GraphSeek updatedSeeks / ChallengesSelect Gaviota TB pathSelect a pgn or epd or fen chess fileSelect auto save pathSelect background image fileSelect book fileSelect engineSelect sound file...Select the games you want to save:Select working directorySend ChallengeSend all seeksSend seekSenegalSeqSequenceSerbiaServer:Service RepresentativeSetting up environmentSetup PositionSeychellesSho_w cordsShort on _time:Should %s publicly publish your game as PGN on chesspastebin.com ?ShoutShow FICS game numbers in tab labelsShow _captured piecesShow elapsed move timesShow evaluation valuesShow tips at startupShredderLinuxChess:ShuffleSide to moveSide_panelsSierra LeoneSimple Chess PositionSingaporeSint Maarten (Dutch part)SiteSite:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinSlight advantageSlovakiaSloveniaSolomon IslandsSomaliaSome of PyChess features needs your permission to download external programsSorry '%s' is already logged inSound filesSourceSouth AfricaSouth Georgia and the South Sandwich IslandsSouth SudanSp_y arrowSpainSpentSri LankaStandardStandard:Start Private ChatStatusStep back one moveStep forward one moveStrStreakStudy FICS lectures offlineSub-FEN :SudanSuicideSurinameSuspicious moveSvalbard and Jan MayenSwazilandSwedenSwitzerlandSymbolsSyrian Arab RepublicTTDTMTaiwan (Province of China)TajikistanTalkingTanzania, United Republic ofTeam AccountText DiagramTexture:ThailandThe abort offerThe adjourn offerThe analyzer will run in the background and analyze the game. This is necessary for the hint mode to workThe chain button is disabled because you are logged in as a guest. Guests can't establish ratings, and the chain button's state has no effect when there is no rating to which to tie "Opponent Strength" toThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe current game is not terminated. Its export may have a limited interest.The current game is over. First, please verify the properties of the game.The directory where the engine will be started from.The displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe endgame table will show exact analysis when there are few pieces on the board.The engine %s reports an error:The engine is already installed under the same nameThe engine output panel shows the thinking output of chess engines (computer players) during a gameThe entered password was invalid. If you forgot your password, go to http://www.freechess.org/password to request a new one over email.The error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The flag callThe game can't be loaded, because of an error parsing FENThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe hint panel will provide computer advice during each stage of the gameThe inverse analyzer will analyze the game as if your opponent was to move. This is necessary for the spy mode to workThe move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe reason is unknownThe resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe takeback offerThebanThemesThere is %d game with unsaved moves.There are %d games with unsaved moves.There is something wrong with this executableThis game can be automatically aborted without rating loss because there has not yet been two moves madeThis game can not be adjourned because one or both players are guestsThis is a continuation of an adjourned matchThis option is not applicable because you're challenging a playerThis option is not available because you're challenging a guest, Threat analysis by %sThree-checkTimeTime controlTime control: Time pressureTimor-LesteTip Of The dayTip of the DayTitleTitledTogoTokelauTolerance:TongaTournament DirectorTranslate PyChessTrinidad and TobagoTry chmod a+x %sTunisiaTurkeyTurkmenistanTurks and Caicos IslandsTuvaluTypeType or paste PGN game or FEN positions hereUUgandaUkraineUnable to accept %sUnable to save to configured file. Save the games before closing?Unable to save to configured file. Save the current game before you close it?Unclear positionUndescribed panelUndoUndo one moveUndo two movesUninstallUnited Arab EmiratesUnited Kingdom of Great Britain and Northern IrelandUnited States Minor Outlying IslandsUnited States of AmericaUnknownUnknown game stateUnofficial channel %dUnratedUnregisteredUnticked : the exponential stretching displays the full range of the score and enlarges the values around the null average. Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better.UntimedUpside DownUruguayUse _analyzerUse _inverted analyzerUse _local tablebasesUse _online tablebasesUse a linear scale for the scoreUse analyzer:Use name format:Use opening _bookUse time compensationUsed by engine players and polyglot book creatorUzbekistanValueVanuatuVariantVariant developed by Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Variation annotation creation threshold in centipawns:Venezuela (Bolivarian Republic of)Very bad moveViet NamView lectures, solve puzzles or start practicing endgamesVirgin Islands (British)Virgin Islands (U.S.)W EloWFMWGMWIMWaitWallis and FutunaWarning: this option generates a formatted .pgn file which is not standards complientWas unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.WelcomeWell done!Well done! %s completed.Western SaharaWhen this button is in the "locked" state, the relationship between "Opponent's strength" and "Your strength" will be preserved when a) your rating for the type of game sought has changed b) you change the variant or the time controlWhiteWhite ELO:White O-OWhite O-O-OWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite has a slightly cramped positionWhite moveWhite should do pawn storm in leftWhite should do pawn storm in rightWhite side - Click to exchange the playersWhite:WildWildcastleWildcastle shuffleWinWin by giving check 3 timesWin:Winning %With attackWoman FIDE MasterWoman Grand MasterWoman International MasterWorking directory:Year, month, day: #y, #m, #dYemenYou are currently logged in as a guest but there is a completely free trial for 30 days, and beyond that, there is no charge and the account would remain active with the ability to play games. (With some restrictions. For example, no premium videos, some limitations in channels, and so on.) To register an account, go to You are currently logged in as a guest. A guest can't play rated games and therefore isn't able to play as many of the types of matches offered as a registered user. To register an account, go to You asked your opponent to moveYou can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou can't select a variant because "Untimed" is checked, You can't switch colors during the game.You can't touch this! You are examining a game.You don't have the necessary rights to save the file. Please ensure that you have given the right path and try again.You have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou have to set kibitz on to see bot messages here.You have tried to undo too many moves.You have unsaved changes. Do you want to save before leaving?You may only have 3 outstanding seeks at the same time. If you want to add a new seek you must clear your currently active seeks. Clear your seeks?You sent a draw offerYou sent a pause offerYou sent a resume offerYou sent an abort offerYou sent an adjournment offerYou sent an undo offerYou sent flag callYou will lose all your progress data!Your opponent asks you to hurry!Your opponent has asked that the game be aborted. If you accept this offer, the game will end with no rating change.Your opponent has asked that the game be adjourned. If you accept this offer, the game will be adjourned and you can resume it later (when your opponent is online and both players agree to resume).Your opponent has asked that the game be paused. If you accept this offer, the game clock will be paused until both players agree to resume the game.Your opponent has asked that the game be resumed. If you accept this offer, the game clock will continue from where it was paused.Your opponent has asked that the last %s move(s) be undone. If you accept this offer, the game will continue from the earlier position.Your opponent has offered you a draw.Your opponent has offered you a draw. If you accept this offer, the game will end with a score of 1/2 - 1/2.Your opponent is not out of time.Your opponent must agree to abort the game because there has been two or more moves madeYour opponent seems to have changed their mind.Your opponent wants to abort the game.Your opponent wants to adjourn the game.Your opponent wants to pause the game.Your opponent wants to resume the game.Your opponent wants to undo %s move(s).Your panel settings have been reset. If this problem repeats, you should report it to the developersYour seeks have been removedYour strength: Your turn.ZambiaZimbabweZugzwang_Accept_Actions_Analyze Game_Archived_Auto save finished games to .pgn file_Call Flag_Clear Seeks_Copy FEN_Copy PGN_Decline_Edit_Engines_Export Position_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hint arrow_Hints_Invalid move:_Load Game_Log Viewer_My games_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Puzzle success:_Recent:_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Untimed_Use main app closer [x] to close all games_Use sounds in PyChess_Variation choices:_View_Your Color:andand guests can't play rated gamesand on FICS, untimed games can't be ratedand on FICS, untimed games have to be normal chess rulesask your opponent to moveblackbrings a %(piece)s closer to enemy king: %(cord)sbrings a pawn closer to the backrow: %scall your opponents flagcaptures materialcastlesdatabase opening tree needs chess_dbdatabase querying needs scoutfishdefends %sdevelops a %(piece)s: %(cord)sdevelops a pawn: %sdrawsexchanges materialgnuchess:half-openhttp://brainking.com/en/GameRules?tp=2 * Placement of the pieces on the 1st and 8th row are randomized * The king is in the right hand corner * Bishops must start on opposite color squares * Black's starting position is obtained by rotating white's position 180 degrees around the board's center * No castlinghttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyin the %(x)s%(y)s filein the %(x)s%(y)s filesincreases the pressure on %sinvalid promoted piecelessonslichessmatesminminsmovemoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %snot playingofoffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalotherspawn capture without target piece is invalidpins an enemy %(oppiece)s on the %(piece)s at %(cord)splaces a %(piece)s more active: %(cord)spromotes a Pawn to a %sputs opponent in checkrating range nowrescues a %sresignround %ssacrifices materialsecsecsslightly improves king safetytakes back materialthe captured cord (%s) is incorrectthe end cord (%s) is incorrectthe move needs a piece and a cordthreatens to win material by %sto automatic acceptto manual acceptucivs.whitewindow1wtharveyxboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Random arrangement of the pieces behind the pawns * No castling * Black's arrangement mirrors white'sxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * White has the typical set-up at the start. * Black's pieces are the same, except that the King and Queen are reversed, * so they are not on the same files as White's King and Queen. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * In this variant both sides have the same set of pieces as in normal chess. * The white king starts on d1 or e1 and the black king starts on d8 or e8, * and the rooks are in their usual positions. * Bishops are always on opposite colors. * Subject to these constraints the position of the pieces on their first ranks is random. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.yacpdbÅland IslandsProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Swedish (http://www.transifex.com/gbtami/pychess/language/sv/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: sv Plural-Forms: nplurals=2; plural=(n != 1); Inkrement: + %d sek utmanar dig på en %(time)s %(rated)s %(gametype)s parti schack har anlänt har avböjt ditt erbjudande för en match har lämnat har släpat efter i 30 sekunder ogiltigt motor drag: %s censurerar dig släpar kraftigt efter men har inte kopplats ifrån är inte installerat är närvarande min noplay noterar dig använder en formel som inte matchar din matchningsförfrågan: där %(player)s spelar %(color)s. med den spelaren du har ett uppskjutet %(timecontrol)s %(gametype)s parti är ansluten. vill du fortsätta ditt uppskjutna %(time)s %(gametype)s parti.%(black)s vann partiet%(color)s fick en dubbelbonde %(place)s%(color)s fick en isolerad bonde på %(x)s linjen%(color)s fick isolerade bönder på %(x)s linjer%(color)s fick nya dubbelbönder %(place)s%(color)s har en a ny passerad bonde på %(cord)s%(color)s flyttar en %(piece)s till %(cord)s%(counter)s partihuvuden från %(filename)s importerade%(minutes)d min + %(gain)d sek/drag%(name)s %(minutes)d min %(duration)s%(name)s %(minutes)d min %(sign)s %(gain)d sek/drag %(duration)s%(name)s %(minutes)d min / %(moves)d drag %(duration)s%(opcolor)s har en ny instängd löpare på %(cord)s%(path)s innehåler %(count)s drag%(player)s är %(status)s%(player)s spelar %(color)s%(time)s för %(count)d drag%(white)s vann partiet%d min%s kan inte rockera längre%s kan inte rockera längre på kungsflygeln%s kan inte rockera längre på damflygeln%s partier bearbetas%s flyttar bönderna till stonewall-formation%s returnerar ett fel%s accepterades inte av din motståndare% s togs tillbaka av din motståndare%s kommer att identifiera vilka hot som skulle finnas om det var din motståndares drag%s kommer att försöka förutse vilket drag som är bäst och vilken sida som har fördel'%s' är ett registrerat namn. Om det är ditt, skriv lösenordet.'%s' är inte ett registrerat namn(Blixt)(Länk är tillgängligt på urklipp.)*-00 Spelare klara0 av 00-11-01-minut1/2-1/210 min + 6 sec/move, Vit120015-minuter2 min, Fischer Random, Svart3-minuter45-minuter5 min5-minuterAnslut mot online schackserverPromovera bonden till?PyChess kunde inte ladda dina panelinställningarAnalyserarAnimeringBrädesinställningarSchackpjäserSchackvariantSkriv in partikommentarAllmänna alternativStartställningInstallerade sidopanelerFlytta textNamn på första spelare:Namn på andra spelare:Ny version %s är tillgänglig!Öppna partiÖppna databasÖppningar, slutspelMotståndarstyrkaAlternativSpela ljud när...SpelareStarta lektionTidskontrollVälkomstskärmDin färg_Anslut mot server_Starta parti%s är inte markerat som som exekverbar i filsystemetEn fil med namnet '%s' existerar redan. Vill du ersätta den?Motor, %s, har döttFel vid inläsning av partiFilen '%s' finns redan.PyChess upptäcker dina motorer. Var god vänta.PyChess kunde inte spara partietDet finns %d partier med osparade drag. Spara ändringar innan du stänger?Unable to add %sKunde inte spara filen '%s'Okänd filtyp '%s'Utmanare:En spelare _schackar:En spelare _drar:En spelare tar:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAvbrytOm SchackAk_tivAccepteraAktivera larm när det återstår i sek:Aktivt färgfält måste vara en av w eller b. %sAktiva sökningar: %dLägg till kommentarLägg till värderingssymbolLägg till dragsymbolLägg till nytt filterLägg till startkommentarLägg till under-fen-filter från ställning/cirklarLägg till hotande variantlinjer Att lägga till förslag kan hjälpa dig att hitta idéer, men saktar ner datorns analys.Ytterligare taggarAdressfelUppskjutaUppskjutna, historia och journal partilistaAdminAdministratörAfghanistanAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbanienAlgerietAlla schackfilerAlla utvärderingarBara vittAmerikanska SamoaAnalyser av %sAnalysera svarta dragAnalysera aktuell ställningAnalysera partiAnalysera vita dragAnalysatorns huvudvariantAndorraAngolaAnguillaAnimera pjäser, brädes rotation och mer. Använd detta på snabba maskiner.Kommenterad partiAnteckningKommentatorAntarktisAntigua och BarbudaVilken styrka som helstArkiveradeArgentinaArmenienArubaAsiatiska varianterBe om behörigheterBe om _dragUtvärderaAsymmetrisk slumpmässigAsymmetrisk slumpmässig AtomschackAustralienÖsterrikeFörfattareAuto-Tiden är ute_Promovera till dam automatisktAuto _rotera brädet till mänsklig spelare vid dragetAuto-inloggning vid uppstartAuto-utloggningTillgängligAzerbaijanLS EloTillbaka till huvudvariantenSökväg bakgrundsbild:Dåligt dragBahamasBahrainBangladeshBarbadosFör att %(black)s tappade anslutning till servernFör att %(black)s tappade anslutningen mot servern och %(white)s begärd uppskjutningför att %(black)s fick slut på tid och %(white)s har tillräckligt med matrial att göra mattför att %(loser)s kopplade ifrånför att %(loser)s kung exploderadeför att %(loser)s fick slut på tidför att %(loser)s gav uppför att %(loser)s blev schackmattför att %(mover)s pattsattFör att %(white)s tappade anslutning till servernFör att %(white)s tappade anslutningen mot servern och %(black)s begärde uppskjutningför att %(white)s fick slut på tid och %(black)s har tillräckligt med material att göra mattför att %(winner)s har färre pjäserför att %(winner)s kung nådde centrumför att %(winner)s kung nådde den åttonde radenför att %(winner)s förlorade alla pjäserför att %(winner)s schackade 3 gångerEftersom %(winner)s utplånade vits hordFör att en spelare avbröt partiet. Båda spelare kan avbryta partiet utan den andras samtycke före drag två. Inga ratingförändringar har skett.För att en spelare kopplade ifrån och det är för få drag för att motivera uppskjutning. Inga ratingförändringar har skett.För att en spelare tappade anslutningenFör att en spelare tappade anslutningen och den andra spelaren begärde uppskjutningEftersom båda kungarna nådde åttonde radenför att båda spelarna enades om remiFör att båda spelarena gick med på att avbryta partiet. Inga ratingförändringar har skett.För att båda spelarna kom överens om en uppskjutningför att båda spelarna har samma antal pjäserför att båda spelarna har slut på tidför att ingen av spelare har tillräckligt med material för att göra mattpå grund av avdömning från en administratörPå grund av avdömning av en administratör. Inga ratingförändringar har skett.På grund av artighet av en spelare. Inga ratingförändringar har skett.Eftersom övningsmål uppnåttsFör att %(black)s motor dogFör att %(white)s motor dogFör att anslutningen till servern tappadesför att partiet överstiger maxlängdenför att de senaste 50 dragen inte har gett något nyttför att samma ställning har upprepats tre gångerFör att servern stängdes avFör att servern stängdes av. Inga ratingförändringar har skett.PipVitrysslandBelgienBelizeBeninBermudaBästaBästa dragBhutanlöpareSvartSvart ELO:Svart O-OSvart O-O-OSvart har en ny pjäs på utposten: %sSvart har en ganska trång ställningSvart har en något trång ställningSvart måste ta alla vita pjäser för att vinna. Vit vill göra schackmatt som vanligt. Vita bönderna på första raden kan flyttas två rutor, liknande bönderna på andra raden..Svarts dragSvart borde göra en bondestorm till vänsterSvart borde göra en bondestorm till högerSvart sida - klicka för att byta spelareSvart:BlintBlindschackBlind-kontoBlixtBlixt:Blixt: 5 minBolivia (Mångnationella staten)Karibiska NederländernaMax bokdjup:Bosnien och HercegovinaBotswanaBouvetönBrasilienGenom att ta din kung enligt reglerna till centrum (e4, d4, e5, d5) vinner omedelbart spelet! Normala regler gäller i andra fall och schackmatt avslutar också spelet.Brittiska territoriet i Indiska oceanenBrunei DarussalamChockBulgarienBulletBurkina FasoBurundiCCACMKap VerdeBeräknar...KambodjaCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlKamerunKanadaKanditatmästareTagnaRockadmöjlighetsfältet är felaktigt. %sKategori:CaymanöarnaCentrum:Centralafrikanska republikenTchadUtmanaUtmanare: Utmanare: Ändra toleransChattSchackrådgivareChess Alpha 2 diagramSchackkompositioner från yacpdb.orgSchackpartiSchackställningSchackropSchackklientSchack960ChileKinaJulönKräv remiKlassiska schackregler http://sv.wikipedia.org/wiki/SchackKlassiska schackregler med alla pjäser vita https://sv.wikipedia.org/wiki/BlindschackKlassiska schackregler med dolda pjäser https://sv.wikipedia.org/wiki/BlindschackKlassiska schackregler med dolda pjäser https://sv.wikipedia.org/wiki/BlindschackKlassiska schackregler med dolda pjäser https://sv.wikipedia.org/wiki/BlindschackKlassiskKlassiskt: 3 min / 40 dragRensaKlockaStäng _utan att sparaKokosöarnaColombiaFärgade analysdragKommandoradsgränssnitt mot schackservernKommandorad parametrar behövs av motornKommandoradsparametrar som behövs av runtime-miljönKommando:KommentarKommentar:KommentarerKomorernaKompensationDatorDatorerKongoKongo (Demokratiska republiken)AnsluterAnslutar mot serverAnslutningsfelAnslutningen var stängdKonsolFortsättFortsätt att vänta på motsåndare, eller försök att skjuta upp partiet?CooköarnaCoolt! Nu kollar vi hur det går i huvudvarianten.Kopiera FENHörnschackCosta RicaKunde inte spara filenMotspelMotorens ursprungslandLand:CrazyhouseSkapa ny PGN-databasSkapa ny polyglot öppningsbokSkapa polyglot bokSkapa sökningSkapa en ny databasSkapa ny sekvens där angivna villkor kan uppfyllas vid olika tider i ett partiSkapa ny strängsekvens där de angivna villkoren måste uppfyllas i efterföljande (halv)dragSkapa polyglot öppningsbokSkapar .bin indexfil...Skapar .scout indexfil...KroatienKrossfördelKubaCuraçaoCypernTjeckienElfenbenskustenDDMMörka rutor:DatabasDatumDatum/TidDatum:Avgörande fördelAvböjStandardDanmarkVärdmaskin onåbarDetaljerade anslutningsinställningarDetaljerade inställningar av spelare, tidskontroll och schackvariantIdentifiera typ automatisktUtvecklingsfördelDogDisplay mästareDjiboutiVet du att det är möjligt att vinna ett schackparti på bara 2 drag?Vet du att antalet möjliga schackspel överstiger antalet atomer i universum?Vill du verkligen återställa till standardalternativen av motorn?Vill du avbryta det?DominicaDominikanska republikenBryr mig inteVisa inte den här dialogrutan vid uppstart.RemiRemier:RemiaktigPå grund av missbruksproblem har gästanslutningar förhindrats. Du kan fortfarande registrera dig på http://www.freechess.orgDummy kontoECOEcuadorRedigera sökningRedigera sökning: Redigera kommentarRedigera markerat filterPåverkan av rating på möjliga resultatEgyptienEl SalvadorEloE-postEn Passant-strängen är felaktig. %sPassant radSlutspelsdatabasSlutspelMotorstyrka (1 = svagaste, 20 = starkaste)Motorns poäng är i enheter av bönder, från vits synvinkel. Genom att dubbelklicka på analyslinjerna kan du infoga dem i anteckningspanelen som varianter.MotorerMotorn använder uci eller xboard-kommunikationsprotokoll att prata med GUI. Om den kan använda båda, kan du ställa in det som passar.PartiinställningarMiljöEkvatorialguineaEritreaParsningsfel %(mstr)sParsningsfel drag %(moveno)s %(mstr)sBeräknad tid: %(min)d - %(max)d minutesEstlandEtiopienEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventHändelse:UndersökaGranska uppskjutit partiUndersöktGranskningUtmärkt dragExekverbara filerFörväntat format som "yyyy.mm.dd" med tillåtet joker "?"Exportera ställningExternaFAFEN behöver 6 datafält. %sFEN behöver minst 2 datafält i fenstr. %sFICS atomschack: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS chock: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Slumpmässigt utvalda pjäser (två damer eller tre torn möjliga) * Exakt en kung av varje färg * Pjäsernas placeras slumpmässigt bakom bönderna * Ingen rockad * Svarts uppställning speglar vitsFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Slumpmässigt utvalda pjäser (två damer eller tre torn möjliga) * Exakt en kung av varje färg * Pjäserna placeras slumpmässigt bakom bönderna, UNDERSTÄLLDA ATT LÖPARNA ÄR BALANSERADE * Ingen rockad * Svarts uppställning speglar INTE vitsFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position Bönderna börjar på 7: e raden i stället för 2:a raden!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Bönderna startar från 4:e och 5:e raden istället för 2:a and 7:eFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html Vita bönderns startar på 5:e raden och svarta bönder börjar på 4:e radenFIDE domareFIDE-mästareFMF_ullatändig brädesanimeringVisningsläge ansikte mot ansikteFalklandsöarna [Malvinerna]FäröarnaFijiFilen existerarFilterFiltrera partilistan på aktuella partidragFiltrera partilistan på öppningsdragFiltrera partilistan efter olika villkorFilterFilterpanelen kan filtrera partilistan efter olika villkorSök ställning i aktuell databasFingerFinlandFörsta partiFischerandomFöljTypsnitt:För varje spelare ger statistiken sannolikheten för att vinna partiet och ändringen i ditt ELO om du förlorar / spelar remi / vinner, eller helt enkelt den slutliga ELO-ratingändringenEnda dragetRam:FrankrikeFri kommentar om motornFranska GuyanaFranska PolynesienFranska sydterritoriernaVännerGMGabonInkrement:GambiaPartiPartilistaPartianalys pågår...Partiet avbrutetPartiinformationPartiet är _remi:Partiet är _förlorat:Paritet är _uppsatt:Partiet är _vunnet:Parti delat på PartierPågående partier: %dSökväg Gaviota-bas :I allmänhet betyder det ingenting, eftersom spelet är tidsbaserat, men om du vill göra din motståndare glad, borde du kanske sätta fart.GeorgienTysklandGhanaGibraltarGiveawayGå tillbaka till huvudvariantenFortsättBra dragStormästareGreklandGrönlandGrenadaRutnätGuadeloupeGuamGuatemalaGuernseyGästGästinloggningar inaktiverade av FICS-servernGästerGuidade interaktiva lektioner i "gissa draget" -stilenGuineaGuinea-BissauGuyanaHHaitiHalvdrags klockaHantera sökningar och utmaningarHantera sökningar grafisktHuvudHeard- och McDonaldöarnaDolda bönderDolda pjäserGömTipsTipsHeliga stolenHondurasHong KongHordVärd:Hur spelar manHtml diagramMänniskaUngernICC giveaway: https://www.chessclub.com/user/help/GiveawayKompensation för ICC eftersläpning behöver tidsstämpelICSIMIslandIdIdentifieringInaktivOm vald, kan du vägra spelare att acceptera din sökningOm vald, visas FICS partinummer på fliken intill namnen på spelarna.Om vald, kommer PyChess att färga suboptimala draganalyser med rött.Om vald, visar PyChess partiresultat för olika drag i positioner som innehåller 6 eller färre pjäser. Det kommer att söka positioner från http://www.k4it.de/Om vald, visar PyChess partiresultat för olika drag i positioner som innehåller 6 eller färre pjäser. Du kan ladda ner slutspelsdatabaser från: http://www.olympuschess.com/egtb/gaviota/Om vald, kommer PyChess att föreslå bästa öppningsdragen på tipspanelen.Om vald, kommer PyChess använda figurer för att uttrycka pjäser, i stället för stora bokstäver.Om vald, klick på huvudprogrammets stängningskryss stänger alla partier första gången.Om vald, bonden promoveras till dam utan val i promoveringsdialog.Om vald, kommer de svarta pjäserna att ha huvudena neråt, lämpligt vid spel på mobila enheter mot vänner.Om vald, kommer brädet att rotera efter varje drag, för att visa den naturliga vyn för spelaren vis draget.Om vald, kommer de tagna pjäserna visas bredvid brädet.Om vald, visas förfluten tid som en spelare använt per drag.Om vald, visas utvärderingsvärden från tipsanalysatorns motorn.Om vald, kommer brädet att visa rader och linjer för varje schackruta. Dessa är användara för schacknotation.Om vald, gömmer det fliken i toppen av partifönstret, när det inte behövs.Om analysatorn finner ett drag där utvärderingsskillnaden (skillnaden mellan utvärderingen för draget som den anser är det bästa draget och utvärderingen för draget som görs i partiet) överstiger detta värde, kommer det att lägga till en anteckning för det draget (bestående av av motorns huvudvariant för dragen) till anteckningspanelenOm du inte spara, nya ändringar till dina partier kommer gå förlorade permanent.Ignorera färgerOgiltigtBilderObalansImporteraImportera PGN-filImportera kommenterade partier från endgame.nlImportera schackfilImportera partier från theweekinchess.comImporterar partihuvud...I turneringI det här spelet är det helt förbjudet att schacka. Det är inte bara förbjudet att ställa kungen i schack men det är också förbjudet att schacka motståndarens kung. Syftet med spelet är att vara den första spelaren som flyttar sin kung till åttonde raden. När vit flyttar sin kung till åttonde raden och om svart flyttar sin kung därefter också till sista raden, då är partiet remi (denna regel är till för att kompensera fördelen för vit genom att få börja.) Bortsett från ovanstående rör sig pjäserna och tar exakt som i normalt schack.I denna ställning, finns det inga regelrätta drag.Gör indrag i _PGN filIndienIndonesienOändlig analysInfoUtgångsställningUrsprungliga inställningarInitiativIntressant dragInternationell mästareOgiltigt drag.Iran (Islamiska republiken)IrakIrlandIsle of ManIsraelDet är inte möjligt att fortsätta partiet senare, om du inte sparar det.ItalienJamaicaJapanJerseyJordanienHoppa till utgångsställningenHoppa till senaste ställningenKKazakstanKenyakungTomteschackKiribatispringareUdda springarespringareKorea (Demokratiska folkrepubliken)Korea (Republiken)KuwaitKirgizistanEftersläpning:Demokratiska folkrepubliken LaosLettlandLektionerLämna _fullskärmLibanonFöreläsningarLängdLesothoLektionerNivå 1 är den svagaste och nivån 20 är den starkaste. Du får inte definiera en för hög nivå om motorn är baserad på djupet som ska undersökasLiberiaLibyenLichess övningar studier problem från GM-partier och schackkompositionerLiechtensteinLjusa rutor:LightningLightning:Lista över pågående partierLista över spelareLista över serverkanalerLista över servernyheterLitauenLadda _senaste partiLaddar spelarens dataLokal händelseLokal platsUtloggningInloggningsfelAnslut som _GästLoggar på serverLosersFörlustFörluster:LuxemburgMacaoMakedonien (fd jugoslaviska republiken)MadagaskarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMalawiMalaysiaMaldivernaMaliMaltaMamer-ManagerHantera motorerManuellGodkänn manuelltAcceptera motståndare manuelltMarshallöarnaMartiniqueMattMatt i %dMatrial/dragMauretanienMauritiusMaximal analystid i sekunder:MayotteMexicoMicronesien (Federerade stater)Minuter:Minuter: Måttlig fördelMoldavien (Republiken)MonacoMongolietMontenegroMontserratFler kanalerFler spelareMarockoDragDraghistoriaDragnummerFlyttadDrag:MoçambiqueBurmaSNMNamnNamn: #n1, #n2NamibiaNationell mästareNauruBehöverBehöver 7 snedstreck i pjäsplaceringsfältet. %sNepalNederländernaAnvänd aldrig animering. Använd detta på långsamma maskiner.NyttNya KaledonienNytt partiNy RD:Nya ZeelandNy _DatabasNytt parti från 1-minuters poolenNytt parti från 15-minuters poolenNytt parti från 25 minuters spelpoolNytt parti från 3-minuters poolenNytt parti från 5-minuters poolenNytt parti från Chess960 spelarpoolNyheterNästaNästa partiNicaraguaNigerNigeriaNiueIngen _animeringInga schackmotorer (datorspelare) deltar i det här parti.Ingen konversation valdInget ljudIngen tidskontrollNorfolkönNormaltNormalt: 40 min + 15 sek/dragNordmarianernaNorgeInte tillgängligInget tag-drag (tyst)Inte bästa draget!ObserveraObservera %sObserverade _slut:ObservatörerOddsErbjud av_brottErbjud avbrottErbjud _uppskovErbjud pausErbjud returmatchErbjud fortsättningErbjud ångraErbjud avbrottErbjud _remiErbjud _pauseErbjud _fortsättningErbjud _ångraOfficiell PyChess-panel.FrånkoppladOmanPå FICS, din "Wild"-rating omfattar alla följande varianter vid alla tidskontroller: En spelare börjar med en springare mindreEn spelare börjar med en bonde mindreEn spelare börjar med en dam mindreEn spelare börjar med ett torn mindreAnslutenBara animera _dragBara animera pjäsflyttningar.Endast registrerade användare kan prata i den här kanalenÖppnaÖppna partiÖppna ljudfilÖppna schackfilSpelöppningsbokSpelöppningsböckerÖppna schackfil...ÖppningarÖppningspanelen kan filtrera partilistan på öppningsdragMotståndarratingMotståndarens styrka: AlternativAlternativAnnatÖvrigt (icke-standardregler)Övrigt (standardregler)BPakistanPalauPalestina (stat)PanamaPapua Nya GuineaParaguayParametrar:Klistra in FENMönsterPauseBondeUdda bönderBönder passeradeBönder framskjutnaPeruFilippinernaVälj ett datumPingPitcairnöarnaPlaceringSpelaSpela Fischerandom schackSpela SlagschackSpela returmatchSpela _internetschackSpela med normala schackreglerSpelarlistaSpelar_ratingSpelare:Spelare: %dSpelarPng-bildPo_rtar:PolenPolyglot bokfil:PortugalÖva slutspel med datornPre-schack: https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position_FörhandsgranskaAnvänd figurer i _notationInställningarÖnskad nivå:Förbereder att starta import...FörhandsgranskaFörhandsgranskapanelen kan filtrera partilistan på aktuella partidragFöregående partiPrivatFörmodligen för att den har dragits tillbaka.FramstegPromoveringProtokoll:Puerto RicoProblemPyChess - anslut till internetschackPyChess informationsfönsterPyChess har tappat anslutningen till motorn, troligen för att den har dött. Du kan försöka starta ett nytt parti med den motorn, eller försöka spela mot en annan.PyChess.py:DQatardamUdda damSluta lektionerAvsluta PyChessT_Ge uppRusande kungarRandomSnabbSnabb: 15 min + 10 sek/dragRankatRankat partiRatingÄnring av rating:Läser %s ...Tar emot lista över spelareÅterskapar index...UppdateraRegistreradTa bortTa bort markerat filterBegär fortsättningSkicka igenSkicka igen %s?Återställ färgerÅterställ mina framstegÅterställ standardalternativenResultatResultat:ÅterupptaFörsök igenRumänientornUdda tornRotera brädetRondRond:Running Simul MatchRuntime miljökommando:Runtime miljöparametrar:Runtime-miljö för motor-kommando (wine eller nod)Ryska federationenRwandaRéunionSR_AnslutSaint-BarthélemySankta Helena, Ascension och Tristan da CunhaSaint Kitts och NevisSaint LuciaSaint-Martin (Franska delen)Saint-Pierre och MiquelonSaint Vincent och GrenadinernaSamoaSan MarinoSanktionerSão Tomé och PríncipeSaudiarabienSparaSpara spel_Spara parti somSpara bara _egna partierSpara _rating ändringsvärdenSpara motoranalysens värderingarSparaSpara somSpara databas somSpara förfluten tid per dragSpara filer till:Spara drag innan stängning?Spara det aktuella partiet innan du stänger det?Spara PGN-fil som...PoängSpanaSök:SökgrafSök_grafSök uppdateradSökningar / utmaningarVälj sökväg Gaviota-slutspelsdatabasVälj en pgn, epd eller fen schackfilVälj sökväg auto-sparaVälj bakgrundsbildfilVälj bokfilVälj motorVälj ljudfil...Välj partier du vill spara:Välj arbetskatalogSkicka utmaningSkicka alla sökningarSkicka sökSenegalSekSekvensSerbienServer:ServicerepresentantStäller in miljöAnge ställningSeychellerna_Visa kordinaterTidsnöd:Ska %s offentligt publicera ditt parti som PGN på chesspastebin.com?RopaVisa FICS partinummer på flikenVisa _tagna pjäserVisa förfluten tid per dragVisa utvärderingsvärdenVisa tips vid uppstartShredderLinuxChess:ShuffleSida vid dragetSido_panelerSierra LeoneEnkel schackställningSingaporeSint Maarten (Holländska delen)PlatsPlats:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinLiten fördelSlovakienSlovenienSalomonöarnaSomaliaNågra av PyChess-funktionerna behöver ditt tillstånd att ladda ner externa programLedsen '%s' är redan inloggadLjudfilerKällaSydafrikaSydgeorgien och SydsandwichöarnaSydsudanSp_ionpilSpanienSpenderatSri LankaStandardStandard:Starta privat chattStatusStega tillbaka ett dragStega framåt ett dragStrRadStudera FICS-föreläsningar offlineunder-FENSudanSuicideSurinamTveksamt dragSvalbard och Jan MayenSwazilandSverigeSchweizSymbolerSyriska arabiska republikenTTDTMTaiwan (Kinas provins)TadzjikistanTalandeTanzania, Förenade republikenLagkontoText diagramTextur:ThailandErbjudandet att avbrytaErbjudandet att skjuta uppAnalysatorn kommer att köras i bakgrunden och analysera partiet. Detta är nödvändigt för att tipspanelen ska fungeraKedjeknappen är inaktiverad för att du är inloggad som gäst. Gäster kan inte få rating, och kedjeknappens val har ingen effekt när det inte finns någon rating för att binda "Mottståndarens styrka" tillChattpanelen låter dig kommunicera med din motståndare under partiet, förutsatt han eller hon är intresseradKlockan har inte startats än.Kommentarspanelen kommer att försöka analysera och förklara de spelade dragenAnslutningen bröts - fick meddelandet "slut på fil"Det aktuella partiet är inte avslutat. Dess export kan ha ett begränsat intresse.Det aktuella partiet är slut. Verifiera först egenskaperna hos partiet.Katalog där motorn vill startas från.Det visade namnet på den första mänskliga spelaren, t.ex. John.Det visade namnet på den andra mänskliga spelaren, t.ex. Mary.Erbjudandet att remiSlutspelsdatabasen visar en exakt analys när det finns några få pjäser på brädet.Motorn %s rapporterar ett fel:Motorn är redan installerad under samma namnMotorpanelen visar analyserna hos schackmotorer (datorspelare) under ett partiLösenordet du matade in var ogiltigt. Om du har glömt ditt lösenord går du till http://www.freechess.org/password för att begära ett nytt över e-post.Felet var: %sFilen existerar redan i '%s'. Om du ersätter den så kommer innehållet att bli överskrivet.Tiden är utePartiet kan inte läsas in, på grund av ett fel vid parsning av FENPartiet kan inte läsas till slutet, på grund av fel vid parsning av draget %(moveno)s '%(notation)s'.Partiet slutade remiPartiet har avbrutitsPartiet har skjutits uppPartiet har dödatsTipspanelen kommer att ge råd från datorn under varje steg i partietDen inverterad analysatorn kommer analysera partiet som om din motståndare är vid draget. Detta är nödvändigt för att spionläget ska fungeraDraget misslyckades eftersom %s.Protokollet håller koll på spelarnas drag och låter dig navigera genom partietErbjudandet att byta sidaSpelöppningsboken kommer att försöka inspirera dig under partiets öppningsfas genom att visa dig gemensamma drag som gjorts av schackmästareErbjudantet av pauseAnledning är okändUppgivetErbjudandet att återupptaPoängpanelen försöker utvärdera ställningen och visar dig ett diagram över partiets utvecklingErbjudandet att ta tillbakaThebanTemaDet är %d parti med osparade drag.Det är %d partier med osparade drag.Det här är något fel med denna exekverbara filDet här spelet kan automatiskt avbrytas utan rating förlust eftersom det ännu inte har gjorts två dragDetta parti kan inte avbrytas eftersom en eller båda spelarna är gästerDet här är en fortsättning på en uppskjuten matchDet här alternativet är inte tillgängligt för att du utmanar en spelareDet här alternativet är inte tillgängligt för att du är en utmanar en gäst, Hotanalysis av %sTre-schackTidTidskontrollTidskontroll: TidsnödÖsttimorDagens tipsDagens tipsTitelTitelTogoTokelauTolerans:TongaTurneringsledareÖversätt PyChessTrinidad och TobagoFörsök chmod a+x %sTunisienTurkietTurkmenistanTurks- och CaicosöarnaTuvaluTypSkriv eller klistra in PGN-parti eller FEN-ställningar härUUgandaUkrainaKunde inte acceptera %sKan inte spara till konfigurationsfil. Spara partier innan du stänger? Kan inte spara till konfigurationsfil. Spara det aktuella partiet innan du stänger?Oklar ställningObeskriven panelÅngraÅngra ett dragÅngra två dragAvinstalleraFörenade ArabemiratenFörenade konungariket Storbritannien och NordirlandFörenta staternas mindre öar i Oceanien och VästindienAmerikas förenta staterOkändOkänd partistatusInofficiell kanal %dEj rankatOregistreradUnticked: exponentiell sträckning visar hela spalten av poängen och förstorar värdena runt nollvärdet. Ticked: den linjära skalan fokuserar på ett begränsat intervall runt nollvärdet. Det belyser de små fel och blundrar bättre.Utan tidUpp och nerUruguayAnvänd _analysatornAnvänd _inverterad analysatorAnvänd _lokala slutspelsdatabaserAnvänd _online slutspelsdatabaserAnvänd en linjär skala för poängenAnvänd analysator:Använd namnformat:Använd öppningsbokAnvänd tidskompensationAnvänds av motor spelare och polyglot bok skapareUzbekistanVärdeVanuatuVariantVariant utvecklad av Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Variation annotation creation threshold in centipawns:Venezuela (Bolivarianska republiken)Mycket dåligt dragVietnamVisa föreläsningar, lösa problem eller börja träna slutspelBrittiska JungfruöarnaAmerikanska JungfruöarnaV EloWFMWGMWIMVäntaWallis- och FutunaöarnaVarning: Det här alternativet genererar en formaterad .png-fil som inte är standardkompatibelDet gick inte att spara '%(uri)s'. PyChess känner inte till formatet '%(ending)s'.VälkommenBra gjort!Bra gjort! %s är avklarat.VästsaharaNär denna knapp är i "låst" tillstånd, kommer förhållandet mellan "Motståndarens styrka" och "Din styrka" vara bevarad när a) Din rating för typ av spel som sökts har ändrats b) Du ändrar variant eller tidskontrollVitVit ELO:Vit O-OVit O-O-OVit har en ny pjäs på utposten: %sVit har en ganska trång ställningVit har en något trång ställningVits dragVit borde göra en bondestorm till vänsterVit borde göra en bondestorm till högerVit sida - klicka för att byta spelareVit:VildWildcastleWildcastle shuffleVinstVinn genom att schacka 3 gångerVinster:Vinst %Med attackKvinnlig FIDE-mästareKvinnlig StormästareKvinnlig Internationell mästareArbetskatalog:År, månad, dag: #y, #m, #dJemenDu är för närvarande inloggad som gäst men det finns en helt gratis provperiod i 30 dagar, och förutom det finns det ingen kostnad och kontot skulle förbli aktivt med förmågan att spela partier. (Med vissa begränsningar. Till exempel inga premiumvideor, vissa begränsningar i kanaler osv.) För att registrera ett konto, gå till Du är för närvarande inloggad som gäst. En gäst kan inte spela rankade partier och kan därför inte spela så många typer av matcher som erbjuds som en registrerad användare. För att registrera ett konto, gå till Du bad din motståndare att flyttaDu kan inte spela rankade partier för att "Utan tid" är vald, Du kan inte spela ett rankat parti för att du är inloggad som gästDu kan inte välja variant för att "Utan tid" är vald, Du kan inte byta färg under ett parti.Du kan inte röra vid det här! Du undersöker ett parti.Du har inte nödvändiga rättigheter att spara filen. Se till att du har rätt sökväg och försök igen.Du har loggats ut eftersom du var inaktiv i mer än 60 minuterDu har inte öppnat några konversationer änDu måste ställa in kibitz för att se botmeddelanden här.Du har försökt att ångra för många drag.Du har ändringar som inte sparats. Vill du spara innan du lämnar?Du får bara ha 3 utestående sökningar på samma gång. Om du vill lägga till en ny sökning måste du rensa dina aktiva sökningar. Rensa dina sökningar?Du erbjöd remiDu erbjöd en pauseDu erbjöd återupptaDu erbjöd att avbrytaDu erbjöd att skjuta uppDu erbjöd att ångraDu påpekade att tiden är uteDu kommer förlora dina framsteg!Din motståndare ber dig att skynda!Din motståndare har bett om att avbryta partiet. Om du accepterar detta erbjudande, kommer partiet att sluta utan någon ändring av rating.Din motståndare har bett om att skjuta upp partiet. Om du accepterar erbjudandet, kommer partiet att skjutas upp och du kan återuppta det senare (när din motståndare är ansluten och båda spelarna är överens om att återuppta).Din motståndare har bett om att partiet ska pausas. Om du accepterar erbjudandet, kommer klockan pausas tills båda spelarna är överens om att återuppta partiet.Din motståndare har bett om att partiet ska återupptas. Om du accepterar detta erbjudande fortsätter klockan från var den var pausad.Din motståndare har bett om att senaste %s dragen ska ångras. Om du accepterar erbjudandet, kommer partiet fortsätta från en tidigare ställning.Din motståndare har erbjudit dig remi.Din motståndare har erbjudit dig remi. Om du accepterar erbjudandet, kommer partiet sluta med resultatet 1/2 - 1/2.Din motståndare har inte slut på tid.Din motståndare måste gå med på att avbryta partiet eftersom det har gjorts två eller fler dragDin motståndare verkar ha ändrat sig.Din motståndare vill avbryta partiet.Din motståndare vill skjuta upp partiet.Din motståndare vill pausa partiet.Din motståndare vill återuppta partiet.Din motståndare vill ångra %s drag.Dina panelinställningar har återställts. Om problemet upprepas ska du rapportera det till utvecklarnaDina sökningar har tagits bortDin styrka: Din tur.ZambiaZimbabweDragtvång_Acceptera_Åtgärder_Analysera parti_Arkiverade_Autospara avslutade partier till .pgn-file_Tiden är ute_Rensa sökningar_Kopiera FEN_Kopiera PGN_Avböj_Redigera_Motorer_Exportera ställning_Fullskärm_Parti_Partilista_Allmänt_Hjälp_Göm flikar när bara ett parti är öppet_Tipspil_Tips_Ogiltigt drag:_Ladda parti_Loggvisare_Mina partier_Namn:_Nytt parti_Nästa_Observerade drag:_Motståndare:_Lösenord:_Spela normalt schack_Spelarlista_Föregående_Problem framgång:_Senaste:_Ersätt_Rotera brädet_Spara %d dokument_Spara %d dokumenten_Spara %d dokument_Spara parti_Sökningar / Utmaningar_Visa sidopaneler_Ljud_Starta partiet_Utan tid_Använd huvudprogrammets stäng-[x] för att stänga alla partier_Använd ljud i PyChess_Variationsval:_Visa_Din färg:ochoch gäster kan inte spela rankade partieroch på FICS, kan inte partier utan tid rankasoch på FICS måste partier utan tid ha normal schackreglerbe din motståndare att flyttasvartför en %(piece)s närmare till fiendens kung: %(cord)sför bonden närmare till 8-raden: %sange att motståndarens tid är utetar materialrockeraröppningträdets databas behöver chess_dbdatabasfrågan behöver scoutfishförsvarar %sutvecklar en %(piece)s: %(cord)sutvecklar en bonde: %sdragbyter materialgnuchess:halv-öppenhttp://brainking.com/en/GameRules?tp=2 * Placering av pjäserna på 1: a och 8: e raden är slumpmässig * Kungen börjar i högra hörnet * Löparna måste börja på rutor med motsatta färger * Svarts startposition erhålls genom att rotera vits positionen 180 grader runt brädets centrum * Ingen rockadhttp://sv.wikipedia.org/wiki/Schackhttps://sv.wikipedia.org/wiki/Schack960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://sv.wikipedia.org/wiki/Schackförbättrar kungens säkerhetpå %(x)s%(y)s linjepå %(x)s%(y)s linjerökar trycket på %sogiltig promoveringnspjäslektionerlichessmattminmindragflyttar ett torn till en öppen linjeflyttar ett torn till en halvöppen linjefianchetterar löparen : %sspelar inteaverbjud en remierbjud en pauseerbjud att ta tillbakaerbjud ett avbrotterbjud att skjuta upperbjud att ta tillbakaerbjud att byta sidatotal tid anslutenandrata en bonde utan målpjäs är ogiltigtbinder en fiende %(oppiece)s med en %(piece)s på %(cord)splacerar en %(piece)s mer aktivt: %(cord)spromoverar en bonde till en %ssätter motståndaren i schackratingintervall nuräddar en %sge upprond %soffrar materialseksekförbättrar kungens säkerhet någottar tillbaka materialtagna-strängen (%s) är felaktigslutsträngen (%s) är felaktigdraget behöver en pjäs och en stränghotar att vinna material med %sacceptera automatisktacceptera manuelltucivs.vitfönster1wtharveyxboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Slumpmässigt placering av pjäserna bakom bönderna * Ingen rockad * Svarts uppställning speglar vitsxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * Vit har den typiska uppställningen vid start. * Svarta pjäserna är desamma, förutom att kungen och drottningen är omvända, * så de är inte på samma flygel som vits kung och dam. * Rockad görs på samma sätt som normalt schack: * o-o-o indikerar lång rockad och o-o kort rockad.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * I denna variant har båda sidorna samma uppsättning pjäser som i normalt schack. * Den vita kungen börjar på d1 eller e1 och den svarta kungen börjar på d8 eller e8, * och torna är i sina vanliga positioner. * Löparna är alltid på motsatta färger. * Med förbehåll för dessa begränsningar är positionen av pjäserna på första raden slumpmässig. * Rockad görs på samma sätt som i normalt schack: * o-o-o indikerar lång rockad och o-o kort rockad.yacpdbÅlandpychess-1.0.0/lang/sv/LC_MESSAGES/pychess.po0000644000175000017500000054466213455542764017452 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2007 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Swedish (http://www.transifex.com/gbtami/pychess/language/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Parti" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Nytt parti" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Spela _internetschack" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Ladda parti" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Ladda _senaste parti" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Spara parti" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "_Spara parti som" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "_Exportera ställning" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Spelar_rating" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "_Analysera parti" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Redigera" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_Kopiera PGN" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "_Kopiera FEN" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "_Motorer" #: glade/PyChess.glade:518 msgid "Externals" msgstr "Externa" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Åtgärder" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Erbjud avbrott" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Erbjud _uppskov" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Erbjud _remi" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Erbjud _pause" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Erbjud _fortsättning" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Erbjud _ångra" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Tiden är ute" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "_Ge upp" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Be om _drag" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "Auto-Tiden är ute" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Visa" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Rotera brädet" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Fullskärm" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Lämna _fullskärm" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "_Visa sidopaneler" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_Loggvisare" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "_Tipspil" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "Sp_ionpil" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "Databas" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "Ny _Databas" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "Spara databas som" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "Skapa polyglot öppningsbok" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "Importera schackfil" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "Importera kommenterade partier från endgame.nl" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "Importera partier från theweekinchess.com" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Hjälp" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Om Schack" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Hur spelar man" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Översätt PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Dagens tips" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Schackklient" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Inställningar" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "Det visade namnet på den första mänskliga spelaren, t.ex. John." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Namn på första spelare:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "Det visade namnet på den andra mänskliga spelaren, t.ex. Mary." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Namn på andra spelare:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Göm flikar när bara ett parti är öppet" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Om vald, gömmer det fliken i toppen av partifönstret, när det inte behövs." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "_Använd huvudprogrammets stäng-[x] för att stänga alla partier" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "Om vald, klick på huvudprogrammets stängningskryss stänger alla partier första gången." #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "Auto _rotera brädet till mänsklig spelare vid draget" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Om vald, kommer brädet att rotera efter varje drag, för att visa den naturliga vyn för spelaren vis draget." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "_Promovera till dam automatiskt" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "Om vald, bonden promoveras till dam utan val i promoveringsdialog." #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "Visningsläge ansikte mot ansikte" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Om vald, kommer de svarta pjäserna att ha huvudena neråt, lämpligt vid spel på mobila enheter mot vänner." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "Använd en linjär skala för poängen" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "Unticked: exponentiell sträckning visar hela spalten av poängen och förstorar värdena runt nollvärdet.\n\nTicked: den linjära skalan fokuserar på ett begränsat intervall runt nollvärdet. Det belyser de små fel och blundrar bättre." #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "Visa _tagna pjäser" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "Om vald, kommer de tagna pjäserna visas bredvid brädet." #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Använd figurer i _notation" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "Om vald, kommer PyChess använda figurer för att uttrycka pjäser, i stället för stora bokstäver." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "Färgade analysdrag" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "Om vald, kommer PyChess att färga suboptimala draganalyser med rött." #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "Visa förfluten tid per drag" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "Om vald, visas förfluten tid som en spelare använt per drag." #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "Visa utvärderingsvärden" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "Om vald, visas utvärderingsvärden från tipsanalysatorns motorn." #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "Visa FICS partinummer på fliken" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "Om vald, visas FICS partinummer på fliken intill namnen på spelarna." #: glade/PyChess.glade:1402 msgid "General Options" msgstr "Allmänna alternativ" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "F_ullatändig brädesanimering" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Animera pjäser, brädes rotation och mer. Använd detta på snabba maskiner." #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Bara animera _drag" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Bara animera pjäsflyttningar." #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Ingen _animering" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Använd aldrig animering. Använd detta på långsamma maskiner." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animering" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_Allmänt" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "Använd öppningsbok" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "Om vald, kommer PyChess att föreslå bästa öppningsdragen på tipspanelen." #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "Polyglot bokfil:" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "Max bokdjup:" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "Används av motor spelare och polyglot bok skapare" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "Använd _lokala slutspelsdatabaser" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "Om vald, visar PyChess partiresultat för olika drag i positioner som innehåller 6 eller färre pjäser.\nDu kan ladda ner slutspelsdatabaser från:\nhttp://www.olympuschess.com/egtb/gaviota/" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "Sökväg Gaviota-bas :" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "Använd _online slutspelsdatabaser" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "Om vald, visar PyChess partiresultat för olika drag i positioner som innehåller 6 eller färre pjäser.\nDet kommer att söka positioner från http://www.k4it.de/" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "Öppningar, slutspel" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Använd _analysatorn" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "Analysatorn kommer att köras i bakgrunden och analysera partiet. Detta är nödvändigt för att tipspanelen ska fungera" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Använd _inverterad analysator" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "Den inverterad analysatorn kommer analysera partiet som om din motståndare är vid draget. Detta är nödvändigt för att spionläget ska fungera" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "Maximal analystid i sekunder:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "Oändlig analys" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analyserar" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_Tips" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Avinstallera" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "Ak_tiv" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Installerade sidopaneler" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "Sido_paneler" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "Sökväg bakgrundsbild:" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "Välkomstskärm" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "Textur:" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "Ram:" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Ljusa rutor:" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "Rutnät" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Mörka rutor:" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "Återställ färger" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "_Visa kordinater" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "Om vald, kommer brädet att visa rader och linjer för varje schackruta. Dessa är användara för schacknotation." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "Brädesinställningar" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "Typsnitt:" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "Flytta text" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "Schackpjäser" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Tema" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Använd ljud i PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "En spelare _schackar:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "En spelare _drar:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Partiet är _remi:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Partiet är _förlorat:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Partiet är _vunnet:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "En spelare tar:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Paritet är _uppsatt:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "_Observerade drag:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "Observerade _slut:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "Tidsnöd:" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "_Ogiltigt drag:" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "Aktivera larm när det återstår i sek:" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "_Problem framgång:" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "_Variationsval:" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Spela ljud när..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Ljud" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "_Autospara avslutade partier till .pgn-file" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Spara filer till:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "Använd namnformat:" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "Namn: #n1, #n2" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "År, månad, dag: #y, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "Spara förfluten tid per drag" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "Spara motoranalysens värderingar" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "Spara _rating ändringsvärden" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "Gör indrag i _PGN fil" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "Varning: Det här alternativet genererar en formaterad .png-fil som inte är standardkompatibel" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "Spara bara _egna partier" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Spara" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Promovering" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "dam" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "torn" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "löpare" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "springare" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "kung" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Promovera bonden till?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "Standard" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "springare" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Partiinformation" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Plats:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "Änring av rating:" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "För varje spelare ger statistiken sannolikheten för att vinna partiet och ändringen i ditt ELO om du förlorar / spelar remi / vinner, eller helt enkelt den slutliga ELO-ratingändringen" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "Svart ELO:" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Svart:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Rond:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "Vit ELO:" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Vit:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "Datum:" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "Resultat:" #: glade/PyChess.glade:4818 msgid "Game" msgstr "Parti" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "Spelare:" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Händelse:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "Förväntat format som \"yyyy.mm.dd\" med tillåtet joker \"?\"" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "Identifiering" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "Ytterligare taggar" #: glade/PyChess.glade:5066 msgid "uci" msgstr "uci" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "xboard" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "Hantera motorer" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Kommando:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protokoll:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Parametrar:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "Kommandorad parametrar behövs av motorn" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "Motorn använder uci eller xboard-kommunikationsprotokoll att prata med GUI.\nOm den kan använda båda, kan du ställa in det som passar." #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "Arbetskatalog:" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "Katalog där motorn vill startas från." #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "Runtime miljökommando:" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "Runtime-miljö för motor-kommando (wine eller nod)" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "Runtime miljöparametrar:" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "Kommandoradsparametrar som behövs av runtime-miljön" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "Land:" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "Motorens ursprungsland" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "Kommentar:" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "Fri kommentar om motorn" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "Miljö" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "Önskad nivå:" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "Nivå 1 är den svagaste och nivån 20 är den starkaste. Du får inte definiera en för hög nivå om motorn är baserad på djupet som ska undersökas" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "Återställ standardalternativen" #: glade/PyChess.glade:5538 msgid "Options" msgstr "Alternativ" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "Filter" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Vit" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Svart" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "Ignorera färger" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "Event" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "ECO" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "Elo" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "0" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "-" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Datum" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "Plats" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "Kommentator" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Resultat" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "1-0" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "0-1" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "1/2-1/2" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "Variant" #: glade/PyChess.glade:6410 msgid "Header" msgstr "Huvud" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "Obalans" #: glade/PyChess.glade:6789 msgid "White move" msgstr "Vits drag" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "Svarts drag" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "Inget tag-drag (tyst)" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "Flyttad" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "Tagna" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "Sida vid draget" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "Matrial/drag" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "under-FEN" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "Mönster" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "Spana" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Analysera parti" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "Använd analysator:" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "Om analysatorn finner ett drag där utvärderingsskillnaden (skillnaden mellan utvärderingen för draget som den anser är det bästa draget och utvärderingen för draget som görs i partiet) överstiger detta värde, kommer det att lägga till en anteckning för det draget (bestående av av motorns huvudvariant för dragen) till anteckningspanelen" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "Variation annotation creation threshold in centipawns:" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "Analysera aktuell ställning" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "Analysera svarta drag" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "Analysera vita drag" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "Lägg till hotande variantlinjer " #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess upptäcker dina motorer. Var god vänta." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - anslut till internetschack" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "Anslut mot online schackserver" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Lösenord:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Namn:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Anslut som _Gäst" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "Värd:" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Po_rtar:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "Eftersläpning:" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "Använd tidskompensation" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "_Anslut" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Utmanare: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Skicka utmaning" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Utmanare:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Lightning:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Standard:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Blixt:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "2 min, Fischer Random, Svart" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 min + 6 sec/move, Vit" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 min" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "_Rensa sökningar" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Acceptera" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Avböj" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "Skicka alla sökningar" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Skicka sök" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Skapa sökning" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Standard" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Blixt" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Lightning" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Dator" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "_Sökningar / Utmaningar" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Rating" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Tid" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "Sök_graf" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 Spelare klara" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Utmana" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Observera" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Starta privat chatt" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "Registrerad" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Gäst" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "Titel" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "_Spelarlista" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "_Partilista" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "_Mina partier" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "Erbjud av_brott" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "Undersöka" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "_Förhandsgranska" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "_Arkiverade" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "Asymmetrisk slumpmässig " #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Redigera sökning" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Utan tid" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minuter: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr " Inkrement: " #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Tidskontroll: " #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Tidskontroll" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Bryr mig inte" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Din styrka: " #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Blixt)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Motståndarens styrka: " #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "När denna knapp är i \"låst\" tillstånd, kommer förhållandet\nmellan \"Motståndarens styrka\" och \"Din styrka\" vara\nbevarad när\na) Din rating för typ av spel som sökts har ändrats\nb) Du ändrar variant eller tidskontroll" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Centrum:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Tolerans:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Göm" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Motståndarstyrka" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Din färg" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Spela med normala schackregler" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Spela" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Schackvariant" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Rankat parti" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Acceptera motståndare manuellt" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Alternativ" #: glade/findbar.glade:6 msgid "window1" msgstr "fönster1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 av 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Sök:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Föregående" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Nästa" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Nytt parti" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Starta partiet" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "Kopiera FEN" #: glade/newInOut.glade:143 msgid "Clear" msgstr "Rensa" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "Klistra in FEN" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "Ursprungliga inställningar" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "Motorstyrka (1 = svagaste, 20 = starkaste)" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "Vit sida - klicka för att byta spelare" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "Svart sida - klicka för att byta spelare" #: glade/newInOut.glade:397 msgid "Players" msgstr "Spelare" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "_Utan tid" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "Blixt: 5 min" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "Snabb: 15 min + 10 sek/drag" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "Normalt: 40 min + 15 sek/drag" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "Klassiskt: 3 min / 40 drag" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "_Spela normalt schack" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Spela Fischerandom schack" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "Spela Slagschack" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Öppna parti" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Startställning" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Skriv in partikommentar" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "Halvdrags klocka" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "Passant rad" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "Dragnummer" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "Svart O-O" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "Svart O-O-O" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "Vit O-O-O" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "Vit O-O" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "Rotera brädet" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Avsluta PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Stäng _utan att spara" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "_Spara %d dokument" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "Det finns %d partier med osparade drag. Spara ändringar innan du stänger?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Välj partier du vill spara:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Om du inte spara, nya ändringar till dina partier kommer gå förlorade permanent." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "Detaljerade inställningar av spelare, tidskontroll och schackvariant" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "_Motståndare:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_Din färg:" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "_Starta parti" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "Detaljerade anslutningsinställningar" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "Auto-inloggning vid uppstart" #: glade/taskers.glade:369 msgid "Server:" msgstr "Server:" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "_Anslut mot server" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "Välj en pgn, epd eller fen schackfil" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "_Senaste:" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "Skapa en ny databas" #: glade/taskers.glade:609 msgid "Open database" msgstr "Öppna databas" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "Visa föreläsningar, lösa problem eller börja träna slutspel" #: glade/taskers.glade:723 msgid "Category:" msgstr "Kategori:" #: glade/taskers.glade:796 msgid "Start learning" msgstr "Starta lektion" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Dagens tips" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Visa tips vid uppstart" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://sv.wikipedia.org/wiki/Schack" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://sv.wikipedia.org/wiki/Schack" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Välkommen" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Öppna parti" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "Läser %s ..." #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "%(counter)s partihuvuden från %(filename)s importerade" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "Motorn %s rapporterar ett fel:" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "Din motståndare har erbjudit dig remi." #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "Din motståndare har erbjudit dig remi. Om du accepterar erbjudandet, kommer partiet sluta med resultatet 1/2 - 1/2." #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "Din motståndare vill avbryta partiet." #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "Din motståndare har bett om att avbryta partiet. Om du accepterar detta erbjudande, kommer partiet att sluta utan någon ändring av rating." #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "Din motståndare vill skjuta upp partiet." #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "Din motståndare har bett om att skjuta upp partiet. Om du accepterar erbjudandet, kommer partiet att skjutas upp och du kan återuppta det senare (när din motståndare är ansluten och båda spelarna är överens om att återuppta)." #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "Din motståndare vill ångra %s drag." #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "Din motståndare har bett om att senaste %s dragen ska ångras. Om du accepterar erbjudandet, kommer partiet fortsätta från en tidigare ställning." #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "Din motståndare vill pausa partiet." #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "Din motståndare har bett om att partiet ska pausas. Om du accepterar erbjudandet, kommer klockan pausas tills båda spelarna är överens om att återuppta partiet." #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "Din motståndare vill återuppta partiet." #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "Din motståndare har bett om att partiet ska återupptas. Om du accepterar detta erbjudande fortsätter klockan från var den var pausad." #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "Uppgivet" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "Tiden är ute" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "Erbjudandet att remi" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "Erbjudandet att avbryta" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "Erbjudandet att skjuta upp" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "Erbjudantet av pause" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "Erbjudandet att återuppta" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "Erbjudandet att byta sida" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "Erbjudandet att ta tillbaka" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "ge upp" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "ange att motståndarens tid är ute" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "erbjud en remi" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "erbjud ett avbrott" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "erbjud att skjuta upp" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "erbjud en pause" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "erbjud att ta tillbaka" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "erbjud att byta sida" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "erbjud att ta tillbaka" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "be din motståndare att flytta" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Din motståndare har inte slut på tid." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "Klockan har inte startats än." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "Du kan inte byta färg under ett parti." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "Du har försökt att ångra för många drag." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Din motståndare ber dig att skynda!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "I allmänhet betyder det ingenting, eftersom spelet är tidsbaserat, men om du vill göra din motståndare glad, borde du kanske sätta fart." #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "Acceptera" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "Avböj" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "%s accepterades inte av din motståndare" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "Skicka igen %s?" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "Skicka igen" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "% s togs tillbaka av din motståndare" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "Din motståndare verkar ha ändrat sig." #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "Kunde inte acceptera %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "Förmodligen för att den har dragits tillbaka." #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s returnerar ett fel" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "Chess Alpha 2 diagram" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "Det aktuella partiet är slut. Verifiera först egenskaperna hos partiet." #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "Det aktuella partiet är inte avslutat. Dess export kan ha ett begränsat intresse." #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "Ska %s offentligt publicera ditt parti som PGN på chesspastebin.com?" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "Parti delat på " #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "(Länk är tillgängligt på urklipp.)" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Schackställning" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Okänd" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Enkel schackställning" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "Partiet kan inte läsas in, på grund av ett fel vid parsning av FEN" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "Html diagram" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "Schackkompositioner från yacpdb.org" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Schackparti" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "Analysatorns huvudvariant" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "Importerar partihuvud..." #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "Skapar .bin indexfil..." #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "Skapar .scout indexfil..." #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "Ogiltigt drag." #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "Parsningsfel %(mstr)s" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "Partiet kan inte läsas till slutet, på grund av fel vid parsning av draget %(moveno)s '%(notation)s'." #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "Draget misslyckades eftersom %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "Parsningsfel drag %(moveno)s %(mstr)s" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "Png-bild" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "Text diagram" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "Värdmaskin onåbar" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Dog" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Lokal händelse" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Lokal plats" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "min" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "sek" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "Ogiltigt" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "Matt" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "Ny version %s är tillgänglig!" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "Andorra" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "Förenade Arabemiraten" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "Afghanistan" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "Antigua och Barbuda" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "Anguilla" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "Albanien" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "Armenien" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "Angola" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "Antarktis" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "Argentina" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "Amerikanska Samoa" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "Österrike" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "Australien" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "Aruba" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "Åland" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "Azerbaijan" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "Bosnien och Hercegovina" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "Barbados" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "Bangladesh" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "Belgien" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "Burkina Faso" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "Bulgarien" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "Bahrain" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "Burundi" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "Benin" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "Saint-Barthélemy" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "Bermuda" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "Brunei Darussalam" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "Bolivia (Mångnationella staten)" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "Karibiska Nederländerna" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "Brasilien" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "Bahamas" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "Bhutan" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "Bouvetön" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "Botswana" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "Vitryssland" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "Belize" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "Kanada" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "Kokosöarna" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "Kongo (Demokratiska republiken)" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "Centralafrikanska republiken" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "Kongo" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "Schweiz" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "Elfenbenskusten" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "Cooköarna" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "Chile" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "Kamerun" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "Kina" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "Colombia" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "Costa Rica" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "Kuba" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "Kap Verde" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "Curaçao" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "Julön" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "Cypern" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "Tjeckien" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "Tyskland" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "Djibouti" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "Danmark" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "Dominica" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "Dominikanska republiken" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "Algeriet" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "Ecuador" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "Estland" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "Egyptien" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "Västsahara" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "Eritrea" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "Spanien" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "Etiopien" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "Finland" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "Fiji" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "Falklandsöarna [Malvinerna]" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "Micronesien (Federerade stater)" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "Färöarna" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "Frankrike" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "Gabon" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "Förenade konungariket Storbritannien och Nordirland" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "Grenada" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "Georgien" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "Franska Guyana" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "Guernsey" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "Ghana" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "Gibraltar" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "Grönland" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "Gambia" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "Guinea" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "Guadeloupe" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "Ekvatorialguinea" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "Grekland" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "Sydgeorgien och Sydsandwichöarna" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "Guatemala" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "Guam" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "Guinea-Bissau" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "Guyana" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "Hong Kong" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "Heard- och McDonaldöarna" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "Honduras" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "Kroatien" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "Haiti" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "Ungern" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "Indonesien" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "Irland" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "Israel" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "Isle of Man" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "Indien" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "Brittiska territoriet i Indiska oceanen" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "Irak" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "Iran (Islamiska republiken)" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "Island" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "Italien" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "Jersey" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "Jamaica" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "Jordanien" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "Japan" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "Kenya" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "Kirgizistan" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "Kambodja" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "Kiribati" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "Komorerna" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "Saint Kitts och Nevis" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "Korea (Demokratiska folkrepubliken)" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "Korea (Republiken)" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "Kuwait" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "Caymanöarna" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "Kazakstan" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "Demokratiska folkrepubliken Laos" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "Libanon" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "Saint Lucia" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "Liechtenstein" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "Sri Lanka" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "Liberia" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "Lesotho" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "Litauen" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "Luxemburg" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "Lettland" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "Libyen" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "Marocko" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "Monaco" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "Moldavien (Republiken)" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "Montenegro" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "Saint-Martin (Franska delen)" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "Madagaskar" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "Marshallöarna" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "Makedonien (fd jugoslaviska republiken)" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "Mali" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "Burma" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "Mongoliet" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "Macao" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "Nordmarianerna" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "Martinique" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "Mauretanien" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "Montserrat" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "Malta" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "Mauritius" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "Maldiverna" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "Malawi" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "Mexico" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "Malaysia" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "Moçambique" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "Namibia" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "Nya Kaledonien" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "Niger" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "Norfolkön" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "Nigeria" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "Nicaragua" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "Nederländerna" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "Norge" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "Nepal" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "Nauru" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "Niue" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "Nya Zeeland" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "Oman" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "Panama" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "Peru" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "Franska Polynesien" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "Papua Nya Guinea" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "Filippinerna" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "Pakistan" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "Polen" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "Saint-Pierre och Miquelon" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "Pitcairnöarna" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "Puerto Rico" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "Palestina (stat)" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "Portugal" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "Palau" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "Paraguay" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "Qatar" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "Réunion" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "Rumänien" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "Serbien" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "Ryska federationen" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "Rwanda" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "Saudiarabien" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "Salomonöarna" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "Seychellerna" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "Sudan" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "Sverige" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "Singapore" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "Sankta Helena, Ascension och Tristan da Cunha" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "Slovenien" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "Svalbard och Jan Mayen" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "Slovakien" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "Sierra Leone" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "San Marino" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "Senegal" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "Somalia" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "Surinam" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "Sydsudan" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "São Tomé och Príncipe" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "El Salvador" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "Sint Maarten (Holländska delen)" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "Syriska arabiska republiken" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "Swaziland" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "Turks- och Caicosöarna" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "Tchad" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "Franska sydterritorierna" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "Togo" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "Thailand" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "Tadzjikistan" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "Tokelau" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "Östtimor" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "Turkmenistan" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "Tunisien" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "Tonga" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "Turkiet" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "Trinidad och Tobago" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "Tuvalu" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "Taiwan (Kinas provins)" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "Tanzania, Förenade republiken" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "Ukraina" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "Uganda" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "Förenta staternas mindre öar i Oceanien och Västindien" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "Amerikas förenta stater" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "Uruguay" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "Uzbekistan" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "Heliga stolen" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "Saint Vincent och Grenadinerna" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "Venezuela (Bolivarianska republiken)" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "Brittiska Jungfruöarna" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "Amerikanska Jungfruöarna" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "Vietnam" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "Vanuatu" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "Wallis- och Futunaöarna" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "Samoa" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "Jemen" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "Mayotte" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "Sydafrika" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "Zambia" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "Zimbabwe" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Bonde" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "B" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "S" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "L" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "T" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "D" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "K" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Partiet slutade remi" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s vann partiet" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s vann partiet" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "Partiet har dödats" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Partiet har skjutits upp" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Partiet har avbrutits" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "Okänd partistatus" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "Partiet avbrutet" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "för att ingen av spelare har tillräckligt med material för att göra matt" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "för att samma ställning har upprepats tre gånger" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "för att de senaste 50 dragen inte har gett något nytt" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "för att båda spelarna har slut på tid" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "för att %(mover)s pattsatt" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "för att båda spelarna enades om remi" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "på grund av avdömning från en administratör" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "för att partiet överstiger maxlängden" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "för att %(white)s fick slut på tid och %(black)s har tillräckligt med material att göra matt" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "för att %(black)s fick slut på tid och %(white)s har tillräckligt med matrial att göra matt" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "för att båda spelarna har samma antal pjäser" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "Eftersom båda kungarna nådde åttonde raden" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "för att %(loser)s gav upp" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "för att %(loser)s fick slut på tid" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "för att %(loser)s blev schackmatt" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "för att %(loser)s kopplade ifrån" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "för att %(winner)s har färre pjäser" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "för att %(winner)s förlorade alla pjäser" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "för att %(loser)s kung exploderade" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "för att %(winner)s kung nådde centrum" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "för att %(winner)s schackade 3 gånger" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "för att %(winner)s kung nådde den åttonde raden" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "Eftersom %(winner)s utplånade vits hord" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "För att en spelare tappade anslutningen" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "För att båda spelarna kom överens om en uppskjutning" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "För att servern stängdes av" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "För att en spelare tappade anslutningen och den andra spelaren begärde uppskjutning" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "För att %(black)s tappade anslutningen mot servern och %(white)s begärd uppskjutning" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "För att %(white)s tappade anslutningen mot servern och %(black)s begärde uppskjutning" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "För att %(white)s tappade anslutning till servern" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "För att %(black)s tappade anslutning till servern" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "På grund av avdömning av en administratör. Inga ratingförändringar har skett." #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "För att båda spelarena gick med på att avbryta partiet. Inga ratingförändringar har skett." #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "På grund av artighet av en spelare. Inga ratingförändringar har skett." #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "För att en spelare avbröt partiet. Båda spelare kan avbryta partiet utan den andras samtycke före drag två. Inga ratingförändringar har skett." #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "För att en spelare kopplade ifrån och det är för få drag för att motivera uppskjutning. Inga ratingförändringar har skett." #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "För att servern stängdes av. Inga ratingförändringar har skett." #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "För att %(white)s motor dog" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "För att %(black)s motor dog" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "För att anslutningen till servern tappades" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "Anledning är okänd" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "Eftersom övningsmål uppnåtts" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "ASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "ASEAN" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "Makruk: http://en.wikipedia.org/wiki/Makruk" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "Makruk" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "Cambodian: http://www.khmerinstitute.org/culture/ok.html" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "Cambodian" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "Ai-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "Ai-Wok" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "Sittuyin" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n* Slumpmässigt utvalda pjäser (två damer eller tre torn möjliga)\n* Exakt en kung av varje färg\n* Pjäserna placeras slumpmässigt bakom bönderna, UNDERSTÄLLDA ATT LÖPARNA ÄR BALANSERADE\n* Ingen rockad\n* Svarts uppställning speglar INTE vits" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Asymmetrisk slumpmässig" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "FICS atomschack: http://www.freechess.org/Help/HelpFiles/atomic.html" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "Atomschack" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klassiska schackregler med dolda pjäser\nhttps://sv.wikipedia.org/wiki/Blindschack" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "Blindschack" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klassiska schackregler med dolda pjäser\nhttps://sv.wikipedia.org/wiki/Blindschack" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "Dolda bönder" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klassiska schackregler med dolda pjäser\nhttps://sv.wikipedia.org/wiki/Blindschack" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "Dolda pjäser" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klassiska schackregler med alla pjäser vita\nhttps://sv.wikipedia.org/wiki/Blindschack" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "Bara vitt" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "FICS chock: http://www.freechess.org/Help/HelpFiles/bughouse.html" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "Chock" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "http://brainking.com/en/GameRules?tp=2\n* Placering av pjäserna på 1: a och 8: e raden är slumpmässig\n* Kungen börjar i högra hörnet\n* Löparna måste börja på rutor med motsatta färger\n* Svarts startposition erhålls genom att rotera vits positionen 180 grader runt brädets centrum\n* Ingen rockad" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Hörnschack" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "Crazyhouse" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "EuroShogi" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "https://sv.wikipedia.org/wiki/Schack960\nFICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Fischerandom" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "Giveaway" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "Svart måste ta alla vita pjäser för att vinna.\nVit vill göra schackmatt som vanligt.\nVita bönderna på första raden kan flyttas två rutor,\nliknande bönderna på andra raden.." #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "Hord" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "Genom att ta din kung enligt reglerna till centrum (e4, d4, e5, d5) vinner omedelbart spelet!\nNormala regler gäller i andra fall och schackmatt avslutar också spelet." #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "Tomteschack" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "En spelare börjar med en springare mindre" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "Udda springare" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "Losers" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "Klassiska schackregler\nhttp://sv.wikipedia.org/wiki/Schack" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Normalt" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "En spelare börjar med en bonde mindre" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "Udda bönder" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\nVita bönderns startar på 5:e raden och svarta bönder börjar på 4:e raden" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "Bönder passerade" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\nBönderna startar från 4:e och 5:e raden istället för 2:a and 7:e" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "Bönder framskjutna" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "Pre-schack: https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "Placering" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "En spelare börjar med en dam mindre" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "Udda dam" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "I det här spelet är det helt förbjudet att schacka. Det är inte bara förbjudet\natt ställa kungen i schack men det är också förbjudet att schacka motståndarens kung.\nSyftet med spelet är att vara den första spelaren som flyttar sin kung till åttonde raden.\nNär vit flyttar sin kung till åttonde raden och om svart flyttar sin kung därefter \n också till sista raden, då är partiet remi\n(denna regel är till för att kompensera fördelen för vit genom att få börja.)\nBortsett från ovanstående rör sig pjäserna och tar exakt som i normalt schack." #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "Rusande kungar" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n* Slumpmässigt utvalda pjäser (två damer eller tre torn möjliga)\n* Exakt en kung av varje färg\n* Pjäsernas placeras slumpmässigt bakom bönderna\n* Ingen rockad\n* Svarts uppställning speglar vits" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Random" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "En spelare börjar med ett torn mindre" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "Udda torn" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n* Slumpmässigt placering av pjäserna bakom bönderna\n* Ingen rockad\n* Svarts uppställning speglar vits" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Shuffle" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "Suicide" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "Variant utvecklad av Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "Theban" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "Vinn genom att schacka 3 gånger" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "Tre-schack" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\nhttps://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position\nBönderna börjar på 7: e raden i stället för 2:a raden!" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "Upp och ner" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n* Vit har den typiska uppställningen vid start.\n* Svarta pjäserna är desamma, förutom att kungen och drottningen är omvända,\n* så de är inte på samma flygel som vits kung och dam.\n* Rockad görs på samma sätt som normalt schack:\n* o-o-o indikerar lång rockad och o-o kort rockad." #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "Wildcastle" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n* I denna variant har båda sidorna samma uppsättning pjäser som i normalt schack.\n* Den vita kungen börjar på d1 eller e1 och den svarta kungen börjar på d8 eller e8,\n* och torna är i sina vanliga positioner.\n* Löparna är alltid på motsatta färger.\n* Med förbehåll för dessa begränsningar är positionen av pjäserna på första raden slumpmässig.\n* Rockad görs på samma sätt som i normalt schack:\n* o-o-o indikerar lång rockad och o-o kort rockad." #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "Wildcastle shuffle" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "Anslutningen bröts - fick meddelandet \"slut på fil\"" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' är inte ett registrerat namn" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "Lösenordet du matade in var ogiltigt.\nOm du har glömt ditt lösenord går du till http://www.freechess.org/password för att begära ett nytt över e-post." #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "Ledsen '%s' är redan inloggad" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "'%s' är ett registrerat namn. Om det är ditt, skriv lösenordet." #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "På grund av missbruksproblem har gästanslutningar förhindrats.\nDu kan fortfarande registrera dig på http://www.freechess.org" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Anslutar mot server" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Loggar på server" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Ställer in miljö" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "%(player)s är %(status)s" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "spelar inte" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Vild" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Ansluten" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Frånkopplad" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "Tillgänglig" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "Spelar" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "Inaktiv" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "Granskning" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "Inte tillgänglig" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "Running Simul Match" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "I turnering" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Ej rankat" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Rankat" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d min" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr " + %d sek" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "%(player)s spelar %(color)s" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "vit" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "svart" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "Det här är en fortsättning på en uppskjuten match" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "Motståndarrating" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "Godkänn manuellt" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Privat" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Anslutningsfel" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Inloggningsfel" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Anslutningen var stängd" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Adressfel" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Auto-utloggning" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Du har loggats ut eftersom du var inaktiv i mer än 60 minuter" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "Gästinloggningar inaktiverade av FICS-servern" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "1-minut" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "3-minuter" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "5-minuter" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "15-minuter" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "45-minuter" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "Schack960" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "Undersökt" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Annat" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "Bullet" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Administratör" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "Blind-konto" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Lagkonto" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "Oregistrerad" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "Schackrådgivare" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "Servicerepresentant" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "Turneringsledare" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "Mamer-Manager" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "Stormästare" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "Internationell mästare" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "FIDE-mästare" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "Kvinnlig Stormästare" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "Kvinnlig Internationell mästare" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "Kvinnlig FIDE-mästare" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "Dummy konto" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "Kanditatmästare" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "FIDE domare" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "Nationell mästare" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "Display mästare" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "C" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "T" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "U" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "CA" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "SR" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "TD" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "TM" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "GM" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "IM" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "FM" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "WGM" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "WIM" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "WFM" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "D" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "H" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "CM" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "FA" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "NM" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "DM" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "PyChess kunde inte ladda dina panelinställningar" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "Dina panelinställningar har återställts. Om problemet upprepas ska du rapportera det till utvecklarna" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "Vänner" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "Admin" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "Fler kanaler" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "Fler spelare" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "Datorer" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "Blint" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "Gäster" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "Observatörer" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "Fortsätt" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "Pause" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "Be om behörigheter" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "Några av PyChess-funktionerna behöver ditt tillstånd att ladda ner externa program" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "databasfrågan behöver scoutfish" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "öppningträdets databas behöver chess_db" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "Kompensation för ICC eftersläpning behöver tidsstämpel" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "Visa inte den här dialogrutan vid uppstart." #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "Ingen konversation vald" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "Laddar spelarens data" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "Tar emot lista över spelare" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "Din tur." #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "Tips" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "Bästa drag" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "Bra gjort! %s är avklarat." #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "Bra gjort!" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "Nästa" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "Fortsätt" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "Inte bästa draget!" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "Försök igen" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "Coolt! Nu kollar vi hur det går i huvudvarianten." #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "Tillbaka till huvudvarianten" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "PyChess informationsfönster" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "av" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "Föreläsningar" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "Lektioner" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "Problem" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "Slutspel" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "Du har inte öppnat några konversationer än" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "Endast registrerade användare kan prata i den här kanalen" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "Partianalys pågår..." #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "Vill du avbryta det?" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "Avbryt" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "Du har ändringar som inte sparats. Vill du spara innan du lämnar?" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "Alternativ" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "Värde" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "Välj motor" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "Exekverbara filer" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "Unable to add %s" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "Motorn är redan installerad under samma namn" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr " är inte installerat" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "%s är inte markerat som som exekverbar i filsystemet" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "Försök chmod a+x %s" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "Det här är något fel med denna exekverbara fil" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "Importera" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "Välj arbetskatalog" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "Vill du verkligen återställa till standardalternativen av motorn?" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "Nytt" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "Välj ett datum" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr " ogiltigt motor drag: %s" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Erbjud returmatch" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "Observera %s" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Spela returmatch" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Ångra ett drag" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Ångra två drag" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "Du erbjöd att avbryta" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "Du erbjöd att skjuta upp" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Du erbjöd remi" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "Du erbjöd en pause" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "Du erbjöd återuppta" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "Du erbjöd att ångra" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "Du bad din motståndare att flytta" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "Du påpekade att tiden är ute" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Motor, %s, har dött" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "PyChess har tappat anslutningen till motorn, troligen för att den har dött.\n\n Du kan försöka starta ett nytt parti med den motorn, eller försöka spela mot en annan." #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "Det här spelet kan automatiskt avbrytas utan rating förlust eftersom det ännu inte har gjorts två drag" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "Erbjud avbrott" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "Din motståndare måste gå med på att avbryta partiet eftersom det har gjorts två eller fler drag" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "Detta parti kan inte avbrytas eftersom en eller båda spelarna är gäster" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "Kräv remi" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "Återuppta" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "Erbjud paus" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "Erbjud fortsättning" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "Ångra" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "Erbjud ångra" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr " har släpat efter i 30 sekunder" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr " släpar kraftigt efter men har inte kopplats ifrån" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "Fortsätt att vänta på motsåndare, eller försök att skjuta upp partiet?" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "Vänta" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "Uppskjuta" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "Hoppa till utgångsställningen" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "Stega tillbaka ett drag" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "Gå tillbaka till huvudvarianten" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "Stega framåt ett drag" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Hoppa till senaste ställningen" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "Sök ställning i aktuell databas" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "Spara" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Människa" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minuter:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "Drag:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Inkrement:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "Klassisk" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "Snabb" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "%(name)s %(minutes)d min / %(moves)d drag %(duration)s" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "%(name)s %(minutes)d min %(sign)s %(gain)d sek/drag %(duration)s" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "%(name)s %(minutes)d min %(duration)s" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "Beräknad tid: %(min)d - %(max)d minutes" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "Odds" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "Övrigt (standardregler)" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "Övrigt (icke-standardregler)" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "Asiatiska varianter" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr " schack" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Ange ställning" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "Skriv eller klistra in PGN-parti eller FEN-ställningar här" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Partiinställningar" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "Välj bokfil" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "Spelöppningsböcker" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "Välj sökväg Gaviota-slutspelsdatabas" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Öppna ljudfil" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "Ljudfiler" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Inget ljud" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Pip" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Välj ljudfil..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "Obeskriven panel" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "Välj bakgrundsbildfil" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "Bilder" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "Välj sökväg auto-spara" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "Vet du att det är möjligt att vinna ett schackparti på bara 2 drag?" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "Vet du att antalet möjliga schackspel överstiger antalet atomer i universum?" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "FEN behöver 6 datafält. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "FEN behöver minst 2 datafält i fenstr. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "Behöver 7 snedstreck i pjäsplaceringsfältet. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "Aktivt färgfält måste vara en av w eller b.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "Rockadmöjlighetsfältet är felaktigt. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "En Passant-strängen är felaktig. \n\n%s" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "ogiltig promoveringnspjäs" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "draget behöver en pjäs och en sträng" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "tagna-strängen (%s) är felaktig" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "ta en bonde utan målpjäs är ogiltigt" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "slutsträngen (%s) är felaktig" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "och" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "drag" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "matt" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "sätter motståndaren i schack" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "förbättrar kungens säkerhet" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "förbättrar kungens säkerhet något" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "flyttar ett torn till en öppen linje" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "flyttar ett torn till en halvöppen linje" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "fianchetterar löparen : %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "promoverar en bonde till en %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "rockerar" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "tar tillbaka material" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "offrar material" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "byter material" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "tar material" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "räddar en %s" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "hotar att vinna material med %s" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "ökar trycket på %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "försvarar %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "binder en fiende %(oppiece)s med en %(piece)s på %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "Vit har en ny pjäs på utposten: %s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "Svart har en ny pjäs på utposten: %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "%(color)s har en a ny passerad bonde på %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "halv-öppen" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "på %(x)s%(y)s linje" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "på %(x)s%(y)s linjer" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "%(color)s fick en dubbelbonde %(place)s" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "%(color)s fick nya dubbelbönder %(place)s" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "%(color)s fick en isolerad bonde på %(x)s linjen" msgstr[1] "%(color)s fick isolerade bönder på %(x)s linjer" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "%s flyttar bönderna till stonewall-formation" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "%s kan inte rockera längre" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "%s kan inte rockera längre på damflygeln" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "%s kan inte rockera längre på kungsflygeln" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "%(opcolor)s har en ny instängd löpare på %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "utvecklar en bonde: %s" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "för bonden närmare till 8-raden: %s" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "för en %(piece)s närmare till fiendens kung: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "utvecklar en %(piece)s: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "placerar en %(piece)s mer aktivt: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "Vit borde göra en bondestorm till höger" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "Svart borde göra en bondestorm till vänster" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "Vit borde göra en bondestorm till vänster" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "Svart borde göra en bondestorm till höger" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "Svart har en ganska trång ställning" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "Svart har en något trång ställning" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "Vit har en ganska trång ställning" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "Vit har en något trång ställning" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "Ropa" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "Schackrop" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "Inofficiell kanal %d" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "Filter" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "Filterpanelen kan filtrera partilistan efter olika villkor" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "Redigera markerat filter" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "Ta bort markerat filter" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "Lägg till nytt filter" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "Sek" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "Skapa ny sekvens där angivna villkor kan uppfyllas vid olika tider i ett parti" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "Str" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "Skapa ny strängsekvens där de angivna villkoren måste uppfyllas i efterföljande (halv)drag" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "Filtrera partilistan efter olika villkor" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "Sekvens" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "Rad" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "Öppningar" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "Öppningspanelen kan filtrera partilistan på öppningsdrag" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "Drag" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "Partier" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "Vinst %" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "Filtrera partilistan på öppningsdrag" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "Förhandsgranska" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "Förhandsgranskapanelen kan filtrera partilistan på aktuella partidrag" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "Filtrera partilistan på aktuella partidrag" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "Lägg till under-fen-filter från ställning/cirklar" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "Importera PGN-fil" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "Spara PGN-fil som..." #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "Öppna" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "Öppna schackfil..." #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "Spara som" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "Öppna schackfil" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "Återskapar index..." #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "Förbereder att starta import..." #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "%s partier bearbetas" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "Skapa ny polyglot öppningsbok" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "Skapa polyglot bok" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "Skapa ny PGN-databas" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "Filen '%s' finns redan." #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "%(path)s\ninnehåler %(count)s drag" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "Id" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "V Elo" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "S Elo" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "Rond" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "Längd" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "Tidskontroll" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "Första parti" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "Föregående parti" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "Nästa parti" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "Arkiverade" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "Uppskjutna, historia och journal partilista" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Klocka" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Typ" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Datum/Tid" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr " med den spelaren du har ett uppskjutet %(timecontrol)s %(gametype)s parti är ansluten." #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "Begär fortsättning" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "Granska uppskjutit parti" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "Talande" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "Lista över serverkanaler" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Chatt" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "Info" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "Konsol" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "Kommandoradsgränssnitt mot schackservern" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Vinst" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Remi" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Förlust" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "Behöver" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "Bästa" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "På FICS, din \"Wild\"-rating omfattar alla följande varianter vid alla tidskontroller:\n" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "Sanktioner" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "E-post" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Spenderat" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "total tid ansluten" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Ansluter" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "Finger" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "Du är för närvarande inloggad som gäst men det finns en helt gratis provperiod i 30 dagar, och förutom det finns det ingen kostnad och kontot skulle förbli aktivt med förmågan att spela partier. (Med vissa begränsningar. Till exempel inga premiumvideor, vissa begränsningar i kanaler osv.) För att registrera ett konto, gå till " #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "Du är för närvarande inloggad som gäst. En gäst kan inte spela rankade partier och kan därför inte spela så många typer av matcher som erbjuds som en registrerad användare. För att registrera ett konto, gå till " #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "Partilista" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "Lista över pågående partier" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Pågående partier: %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "Nyheter" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "Lista över servernyheter" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "Utvärdera" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "Följ" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "Spelarlista" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "Lista över spelare" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Namn" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "Status" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "Spelare: %d" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "Kedjeknappen är inaktiverad för att du är inloggad som gäst. Gäster kan inte få rating, och kedjeknappens val har ingen effekt när det inte finns någon rating för att binda \"Mottståndarens styrka\" till" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Utmanare: " #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "Om vald, kan du vägra spelare att acceptera din sökning" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "Det här alternativet är inte tillgängligt för att du utmanar en spelare" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Redigera sökning: " #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "%(minutes)d min + %(gain)d sek/drag" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Manuell" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "Vilken styrka som helst" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "Du kan inte spela ett rankat parti för att du är inloggad som gäst" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "Du kan inte spela rankade partier för att \"Utan tid\" är vald, " #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "och på FICS, kan inte partier utan tid rankas" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "Det här alternativet är inte tillgängligt för att du är en utmanar en gäst, " #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "och gäster kan inte spela rankade partier" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "Du kan inte välja variant för att \"Utan tid\" är vald, " #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "och på FICS måste partier utan tid ha normal schackregler" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "Ändra tolerans" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "Sökgraf" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "Hantera sökningar grafiskt" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " min" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "Sökningar / utmaningar" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "Hantera sökningar och utmaningar" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "Påverkan av rating på möjliga resultat" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "Vinster:" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "Remier:" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "Förluster:" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "Ny RD:" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Aktiva sökningar: %d" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr " vill du fortsätta ditt uppskjutna %(time)s %(gametype)s parti." #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr " utmanar dig på en %(time)s %(rated)s %(gametype)s parti" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr " där %(player)s spelar %(color)s." #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "ICS" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "Utloggning" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "Nytt parti från 1-minuters poolen" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "Nytt parti från 3-minuters poolen" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "Nytt parti från 5-minuters poolen" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "Nytt parti från 15-minuters poolen" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "Nytt parti från 25 minuters spelpool" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "Nytt parti från Chess960 spelarpool" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "Du måste ställa in kibitz för att se botmeddelanden här." #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "Du får bara ha 3 utestående sökningar på samma gång. Om du vill lägga till en ny sökning måste du rensa dina aktiva sökningar. Rensa dina sökningar?" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "Du kan inte röra vid det här! Du undersöker ett parti." #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr " har avböjt ditt erbjudande för en match" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr " censurerar dig" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr " noplay noterar dig" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr " använder en formel som inte matchar din matchningsförfrågan:" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "acceptera manuellt" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "acceptera automatiskt" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "ratingintervall nu" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "Sök uppdaterad" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "Dina sökningar har tagits bort" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr " har anlänt" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr " har lämnat" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr " är närvarande" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Identifiera typ automatiskt" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "Fel vid inläsning av parti" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Spara spel" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "Exportera ställning" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Okänd filtyp '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "Det gick inte att spara '%(uri)s'. PyChess känner inte till formatet '%(ending)s'." #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Kunde inte spara filen '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "Du har inte nödvändiga rättigheter att spara filen.\n Se till att du har rätt sökväg och försök igen." #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Ersätt" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Filen existerar" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "En fil med namnet '%s' existerar redan. Vill du ersätta den?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "Filen existerar redan i '%s'. Om du ersätter den så kommer innehållet att bli överskrivet." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Kunde inte spara filen" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess kunde inte spara partiet" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "Felet var: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "Det är %d parti med osparade drag." msgstr[1] "Det är %d partier med osparade drag." #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "Spara drag innan stängning?" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "Kan inte spara till konfigurationsfil. Spara partier innan du stänger?\n " #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "vs." #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "_Spara %d dokument" msgstr[1] "_Spara %d dokumenten" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "Spara det aktuella partiet innan du stänger det?" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "Kan inte spara till konfigurationsfil. Spara det aktuella partiet innan du stänger?" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Det är inte möjligt att fortsätta partiet senare,\nom du inte sparar det." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Alla schackfiler" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "Anteckning" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "Kommenterad parti" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "Uppdatera" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "Lägg till startkommentar" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "Lägg till kommentar" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "Redigera kommentar" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "Bra drag" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "Dåligt drag" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "Utmärkt drag" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "Mycket dåligt drag" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "Intressant drag" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "Tveksamt drag" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "Enda draget" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "Lägg till dragsymbol" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "Remiaktig" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "Oklar ställning" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "Liten fördel" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "Måttlig fördel" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "Avgörande fördel" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "Krossfördel" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "Dragtvång" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "Utvecklingsfördel" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "Initiativ" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "Med attack" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "Kompensation" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "Motspel" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "Tidsnöd" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "Lägg till värderingssymbol" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "Kommentar" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "Symboler" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "Alla utvärderingar" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "Ta bort" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "Ingen tidskontroll" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "min" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "sek" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "%(time)s för %(count)d drag" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "drag" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "rond %s" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "Tips" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "Tipspanelen kommer att ge råd från datorn under varje steg i partiet" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Officiell PyChess-panel." #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Spelöppningsbok" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "Spelöppningsboken kommer att försöka inspirera dig under partiets öppningsfas genom att visa dig gemensamma drag som gjorts av schackmästare" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "Analyser av %s" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "%s kommer att försöka förutse vilket drag som är bäst och vilken sida som har fördel" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "Hotanalysis av %s" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "%s kommer att identifiera vilka hot som skulle finnas om det var din motståndares drag" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "Beräknar..." #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "Motorns poäng är i enheter av bönder, från vits synvinkel. Genom att dubbelklicka på analyslinjerna kan du infoga dem i anteckningspanelen som varianter." #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "Att lägga till förslag kan hjälpa dig att hitta idéer, men saktar ner datorns analys." #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "Slutspelsdatabas" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "Slutspelsdatabasen visar en exakt analys när det finns några få pjäser på brädet." #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "Matt i %d" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "I denna ställning,\nfinns det inga regelrätta drag." #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "Chattpanelen låter dig kommunicera med din motståndare under partiet, förutsatt han eller hon är intresserad" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Kommentarer" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "Kommentarspanelen kommer att försöka analysera och förklara de spelade dragen" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Utgångsställning" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "%(color)s flyttar en %(piece)s till %(cord)s" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "Motorer" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "Motorpanelen visar analyserna hos schackmotorer (datorspelare) under ett parti" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "Inga schackmotorer (datorspelare) deltar i det här parti." #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Draghistoria" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "Protokollet håller koll på spelarnas drag och låter dig navigera genom partiet" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Poäng" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "Poängpanelen försöker utvärdera ställningen och visar dig ett diagram över partiets utveckling" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "Öva slutspel med datorn" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "Titel" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "Studera FICS-föreläsningar offline" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "Författare" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "Guidade interaktiva lektioner i \"gissa draget\" -stilen" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "Källa" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "Framsteg" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "Lichess övningar studier problem från GM-partier och schackkompositioner" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "andra" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "Lektioner" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "Sluta lektioner" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "lichess" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "wtharvey" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "yacpdb" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "lektioner" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "Återställ mina framsteg" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "Du kommer förlora dina framsteg!" pychess-1.0.0/lang/lt/0000755000175000017500000000000013467766037013621 5ustar varunvarunpychess-1.0.0/lang/lt/LC_MESSAGES/0000755000175000017500000000000013467766037015406 5ustar varunvarunpychess-1.0.0/lang/lt/LC_MESSAGES/pychess.mo0000644000175000017500000000105313467766036017417 0ustar varunvarun$,89Project-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Lithuanian (http://www.transifex.com/gbtami/pychess/language/lt/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: lt Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3); pychess-1.0.0/lang/lt/LC_MESSAGES/pychess.po0000644000175000017500000043177613455542737017442 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Lithuanian (http://www.transifex.com/gbtami/pychess/language/lt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: lt\n" "Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/pl_PL/0000755000175000017500000000000013467766037014210 5ustar varunvarunpychess-1.0.0/lang/pl_PL/LC_MESSAGES/0000755000175000017500000000000013467766037015775 5ustar varunvarunpychess-1.0.0/lang/pl_PL/LC_MESSAGES/pychess.mo0000644000175000017500000000366613467766035020021 0ustar varunvarun)  %$ '8=DM bns z        +'7&_ (? Wb jx      Add commentAnalyze gameBecause both players agreed to a drawBecause both players ran out of timeBishopBlack:Calculating...Edit commentEnginesGame informationKingMakrukNo soundPlay _Internet ChessPreferencesRookRound:Save Game _AsSelect background image fileThe game ended in a drawUninstallWhite:_Fullscreen_Help_Load Game_New Game_Rotate Board_Save GameProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Polish (Poland) (http://www.transifex.com/gbtami/pychess/language/pl_PL/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: pl_PL Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3); Dodaj komentarzAnaliza gryPonieważ gracze zgodzili się na remisPonieważ graczom skończył się czasGoniecCzarne:Obliczanie...Edytuj komentarzSilnikiInformacje o grzeKrólMakrukBez dźwiękówZagraj przez _InternetOpcjeWieżaRunda:Zapisz grę _jakoWybierz obraz dla tłaGra zakończona remisemOdinstalujBiałe:_Pełny ekran_Pomoc_Wczytaj grę_Nowa gra_Obróć planszę_Zapisz grępychess-1.0.0/lang/pl_PL/LC_MESSAGES/pychess.po0000644000175000017500000043271113455542756020020 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # Piotr Pietrzak , 2016 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Polish (Poland) (http://www.transifex.com/gbtami/pychess/language/pl_PL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pl_PL\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Nowa gra" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Zagraj przez _Internet" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Wczytaj grę" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Zapisz grę" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Zapisz grę _jako" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Obróć planszę" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Pełny ekran" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Pomoc" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Opcje" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Odinstaluj" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Wieża" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Goniec" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Król" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Informacje o grze" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Czarne:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Runda:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Białe:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Analiza gry" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Gra zakończona remisem" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Ponieważ graczom skończył się czas" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "Ponieważ gracze zgodzili się na remis" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "Makruk" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Bez dźwięków" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "Wybierz obraz dla tła" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "Dodaj komentarz" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "Edytuj komentarz" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "Obliczanie..." #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "Silniki" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/fr/0000755000175000017500000000000013467766037013611 5ustar varunvarunpychess-1.0.0/lang/fr/LC_MESSAGES/0000755000175000017500000000000013467766037015376 5ustar varunvarunpychess-1.0.0/lang/fr/LC_MESSAGES/pychess.mo0000644000175000017500000040655513467766036017427 0ustar varunvarun$-,ZXx Yx dxGnxx x$x xxy1y+Cyoy yyy/y0y[zNczz%z`z(P{+y{'{3{#|%%|@K|7|0|#|}2}M}j}}}#}$}}'}$~ 8~!Y~Q{~J~>Wu!}  %/50>'o@؀ 4Of &7#$7#\׃mم?Q,&~$+ʆC7:Ur"ȇ*(?U׉kP%ve| &.*Y jv(͌ Sk {) ύۍmPX`p CƏՏ (EMTC] ŐА   ! 5BI[q x*  "4KT\ do x/SQYx! Փ/SCQ#* -8"f+(ޕr} K']%O-3)$]6#EݘA#e!!-Ǚ&-;J B  #*1 7 B L$X#}%Ǜ r"}#*Ĝ  ") 9 Z{ Wv  ɞ؞ 8. FP_g  ŠӠ"  & 2?HNTd u6VVReS 5;AWox*,1#+4= ER [e&k ä٤: %/2bk r}  ʥե  #/XEb:X`sx ˧ѧ<6sȨѨFmNGjKf`>~n,A -"8 [intp| ll t ~ *׮ ݮ" &41=o } °&ٰ./7 @1J| ʱ:۱ &030Q@DòHFQH=ݴw}_ ݷ + GU Z fp&w!&8 (IP Xdsz 0<CJ hv޺ 5DUet ̻X`h nx żҼ ټ   $>4Ez  ֽ!  *8=BHQ Zdj p | :$ؾ 1#GUA߿v>,XkRBcZ]?B\;qSMOF 8FN U_f&v$ )  $ 2=N cq D ,D FQW\mv }+   ,4=DLTE 1? O Ydz  " *7H]di oz+ + + 2@Y $/ 4 ? M X!b      )6> C P\b it|~. /+ /=F N Z#h$$###BG L Wago tC  *1Pi p~     $ 1 < I U b p|t,*C+n*.) .8H X es435>DX_p yg ! & 0 =J O [gl u   k" [@I eqB8J' #2G2tT  + 9FH P]dj    5 < GUg 4J]dm,> T`{    &(Aj~*"( 0 ; GTg%~ " .GV eow{6   *B:}$  + 7D Zd~/LJ jv },    $:>E akqy`iy    ! .;DnMAp]hJ"C5KJ$4o93R!t3c,RTI 9ZAZtI}`q`Oix,>rg}Z#~<OK"-n~E,aAA (4 9F V dpcIN Vag{ , ")1uEy5FX ]k z4$ '= ERP  X d  l z        0&  W b h p Qx 6  "  7 E 9N         U M6      u     $#A%e "#* 26R W amB&~ 9;?u9(/HyCF$3&= Ht% $tE%!lG!n/E &u ( & ' '!|&>.> ?'?>?[?x????{@ LA mAAAAAOAQDB4B3B0BW0CDCrC)@D6jD.DDDEFuGH+H@H]UH HsH 1IXL+Y!xYYYIY3>Z4rZ4Z1Z4[?C[E[%[N[>\C\L\U\\\c\l\ u\\\\ \ \ \-\-\2]D]]@^@E^0^^ ^^!^__ _ _?___~__ ___)o````` ````` ``aa aCa5b>bEbVb,_b b b bbbb bbb cc'c?c_cpccccccc ccHcv.dVdrduoe eefff8fMfVf8rf8f4f g $g 0g >gKg Sg `g kgwg'}gggggg h@h Qh<[h hh h$h hhh ii-.i\iuiiii} j%j$j&jjkkk%k ,k6kEkGkJkZkkk pk{kk kkkk$kSk!;l]lplllllDMmfmUmwOnxnb@oMozolpI qWq oqyqq)qqqqqr rrrs%s9sNs es-ss sss1s tt7t*Gtrt5u=uu uv v&v5Av+wvvv v2v vv ww2w;wLw[w9qwwww(w;wC9xL}xLxFyQ^yywz/|~}} ~ #~0~3~P~o~ ~~~~~~<~.~3%YVa,  %.  ,&Se{#(   $+ =^nƂ߂x(  ă & /= DNV ]h m w5)Ȅ ")"E+h Åԅ܅  # +9HO:W4džֆنBh>Q~xv8aBylJVjywKKÎVf{0.&0W LW1ד " '2BGY kv"ؔݔ ZS Zdjqz ƕ̕Е 2Hc k x* ޖG    %2M_{ ݘ% 1 <I!f  ə-ϙ A`gpy~ "š     ʛ՛%ݛ " 6 @M_|  Üɜ Μۜ  !2:KQBXU  -:Lgܞ ' 9CIRWJh -ԟ   &2&9`w  ɠԠ %>Qg}ԡ #0L5,(*آ) -7,RAȣڣ*F _MjϤ79BI^e y !>DJO bo~  %+,Xj {  " ,6>Z1c[% - Ab(T03 ת   ) 6U(& 1A CN ^i%p ϱ"  ) 5!?a x!Ȳ    #7JPXk1ֳ ow z.ȴ ݴ  $D J V`v *ǵ*,'Jr$0ܶ'3#"Wz ٷ*29K%˸*!.Pa~   ιL P[oS40)Pz" ̼׼  ##-QV^@p  ˽ սf"Qt, Ǿվ   8>Pbgn    8:=@I e q!  p^$kQ=OWO2=5Ntd$0h/ZblU%f9y*EbzP`'l #xf2 A?.E fT(Nwpwd,~S BFH    "i)Z $28M^q : X,b 0 CQ3e) +.Zr#)-6M)i!A   V4t'FHbXY ^ hu   * .63eAA1-_g x    0Iipq/K{ RSKOZ86/f}Ux-B/?]oM *)E+o.;#5&1\ @+|4p-*+X&0*1m9&  % 6:@{"    !,72j|  $5Q cp  2 .OU j@x ;Y=Y!:#Sw(9 !>Ra u  .?K %).$3(X " 3Qe8l4'$3X gr{+)&-*#X|   Z  a b5k(K+-A<}D_9M5N36c:7{.!]3 `"xV/0A( PqCOYpu]7hv m~T,M7*c2E? w}pXD>T[9Ak b;Gp#6HSRWEJe82}`2g0u5_#aT!|m]GSo}.R!OLF.rUj 'IWw1-gZj0B?iI K6bS<s# ^0D =o5+UaN$'c$6Fxf &6/d(GHJ l;(,(iSC4;!Gnm*n2')MQa@Z\y t{>Zc8tV1m{I_Kd"Y RPB9hwMzx7VCb.P^[r0~YX= 08C` \p KFP%VBW|[o:^k9W:B q,r^o KW$oMFG5_m~ !7W 5)L9~ T`D3&sRA<Imua[?rh6NOi]Z\re&LR^[ 27 !adU[Q_HOt)i#8z.c$Nf%%Aj=JS=fkQ}l/  l@,9aLZs*{K|+n@JbE)@ dT3j: l\#u"in4;g)X/n}$ zk=w=k*~lq:HQd@CIfwxShVU+v*\e-tYqEz q%yU Fe:4 -<fpJ>Ay`PEUv&Xvy-,QtHqyBx{ eoQNY|F+^."11Rys&N|]<L_ vY>P $b8?u 4/<Hh3'\st(s'BeJp;)"zrI#lM1DOXf>1Xu|z{CZG3+>'-4?LicgTh` ;,%~g4&V]%x8nvdw/"@2O*?gjDEj Gain: + %d sec challenges you to a %(time)s %(rated)s %(gametype)s game chess has arrived has declined your offer for a match has departed has lagged for 30 seconds invalid engine move: %s is censoring you is lagging heavily but hasn't disconnected is not installed is present min noplay listing you uses a formula not fitting your match request: where %(player)s plays %(color)s. with whom you have an adjourned %(timecontrol)s %(gametype)s game is online. would like to resume your adjourned %(time)s %(gametype)s game.%(black)s won the game%(color)s got a double pawn %(place)s%(color)s got an isolated pawn in the %(x)s file%(color)s got isolated pawns in the %(x)s files%(color)s got new double pawns %(place)s%(color)s has a new passed pawn on %(cord)s%(color)s moves a %(piece)s to %(cord)s%(counter)s game headers from %(filename)s imported%(minutes)d min + %(gain)d sec/move%(name)s %(minutes)d min %(duration)s%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s%(name)s %(minutes)d min / %(moves)d moves %(duration)s%(opcolor)s has a new trapped bishop on %(cord)s%(path)s containing %(count)s games%(player)s is %(status)s%(player)s plays %(color)s%(time)s for %(count)d moves%(white)s won the game%d min%s can no longer castle%s can no longer castle in kingside%s can no longer castle in queenside%s games processed%s moves pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent%s will identify what threats would exist if it were your opponent's turn to move%s will try to predict which move is best and which side has the advantage'%s' is a registered name. If it is yours, type the password.'%s' is not a registered name(Blitz)(Link is available on clipboard.)*-00 Players Ready0 of 00-11-01-minute1/2-1/210 min + 6 sec/move, White120015-minute2 min, Fischer Random, Black3-minute45-minute5 min5-minuteConnect to Online Chess ServerPromote pawn to what?PyChess was unable to load your panel settingsAnalyzingAnimationBoard StyleChess SetsChess VariantEnter Game NotationGeneral OptionsHint mode analyzes your game to show you the best current move. Enable it with the shortcut Ctrl+H from the menu View.Initial PositionInstalled SidepanelsMove textMultiPV is an option of some chess engines that shows other possible good moves. They are displayed in the panel Hints. The value can be adapted from that panel with a double-click on the displayed figure.Name of _first human player:Name of s_econd human player:New version %s is available!Open GameOpen databaseOpening, endgameOpponent StrengthOptionsPlay Sound When...PlayersPonder is an option available in some chess engines that allows thinking when it is not the turn of the engine. It will then consume more resources on your computer.Spy mode analyzes the threats, so the best move that your opponent would play as if it was his turn. Enable it with the shortcut Ctrl+Y from the menu View.Start learningTime ControlWelcome screenYour Color_Connect to server_Start Game%s is not marked executable in the filesystemA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedError loading gameFile '%s' already exists.PyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to add %sUnable to save file '%s'Unknown file type '%s'Challenge:A lesson is a complex study that explains the tactics for a given position. It is common to view circles and arrows over the board to focus on the behavior of the pieces, the threats, etc...A puzzle is a set of simple positions classified by theme for which you should guess the best moves. It helps you to understand the patterns to drive an accurate attack or defense.A game is made of an opening, a middle-game and an end-game. PyChess is able to train you thanks to its opening book, its supported chess engines and its training module.A lot of fun is offered by atomic chess that destroys all the surrounding main pieces at each capture move.A player _checks:A player _moves:A player c_aptures:A tablebase can be connected either to PyChess, or to a compatible chess engine.ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortAbout ChessAc_tiveAcceptActivate alarm when _remaining sec is:Active color field must be one of w or b. %sActive seeks: %dAdd commentAdd evaluation symbolAdd from folderAdd move symbolAdd new filterAdd start commentAdd sub-fen filter from position/circlesAdd threatening variation lines Adding suggestions can help you find ideas, but slows down the computer's analysis.Additional tagsAddress ErrorAdjournAdjourned, history and journal games listAdminAdministratorAfghanistanAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbaniaAlgeriaAll Chess FilesAll the evaluationsAll whiteAmerican SamoaAn approximate position has been found. Do you want to display it ?An evaluation of +2.3 is an advantage for White of more than 2 pawns, even if White and Black have the same number of pawns. The position of all the pieces and their mobility are some of the factors that contribute to the score.Analysis by %sAnalyze black movesAnalyze from current positionAnalyze gameAnalyze white movesAnalyzer's primary variationAndorraAngolaAnguillaAnimate pieces, board rotation and more. Use this on fast machines.Annotated gameAnnotationAnnotatorAntarcticaAntigua and BarbudaAny strengthArchivedArgentinaArmeniaArubaAsian variantsAsk for permissionsAsk to _MoveAssessAsymmetric RandomAsymmetric Random AtomicAustraliaAustriaAuthorAuto Call _FlagAuto _promote to queenAuto _rotate board to current human playerAuto login on startupAuto-logoutAvailableAzerbaijanBB EloBack to main lineBackround image path :Bad moveBahamasBahrainBangladeshBarbadosBase path:Because %(black)s lost connection to the serverBecause %(black)s lost connection to the server and %(white)s requested adjournmentBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s king explodedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause %(mover)s stalematedBecause %(white)s lost connection to the serverBecause %(white)s lost connection to the server and %(black)s requested adjournmentBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause %(winner)s has fewer piecesBecause %(winner)s king reached the centerBecause %(winner)s king reached the eight rowBecause %(winner)s lost all piecesBecause %(winner)s was giving check 3 timesBecause %(winner)s wiped out white hordeBecause a player aborted the game. Either player can abort the game without the other's consent before the second move. No rating changes have occurred.Because a player disconnected and there are too few moves to warrant adjournment. No rating changes have occurred.Because a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both king reached the eight rowBecause both players agreed to a drawBecause both players agreed to abort the game. No rating changes have occurred.Because both players agreed to an adjournmentBecause both players have the same amount of piecesBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause of adjudication by an admin. No rating changes have occurred.Because of courtesy by a player. No rating changes have occurred.Because practice goal reachedBecause the %(black)s engine diedBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBecause the server was shut downBecause the server was shut down. No rating changes have occurred.BeepBelarusBelgiumBelizeBeninBermudaBestBest moveBhutanBishopBlackBlack ELO:Black O-OBlack O-O-OBlack has a new piece in outpost: %sBlack has a rather cramped positionBlack has a slightly cramped positionBlack have to capture all white pieces to win. White wants to checkmate as usual. White pawns on the first rank may move two squares, similar to pawns on the second rank.Black moveBlack should do pawn storm in leftBlack should do pawn storm in rightBlack side - Click to exchange the playersBlack:BlindFoldBlindfoldBlindfold AccountBlitzBlitz:Blitz: 5 minBolivia (Plurinational State of)Bonaire, Sint Eustatius and SabaBook depth max:Bosnia and HerzegovinaBotswanaBouvet IslandBrazilBringing your king legally to the center (e4, d4, e5, d5) instantly wins the game! Normal rules apply in other cases and checkmate also ends the game.British Indian Ocean TerritoryBrunei DarussalamBughouseBulgariaBulletBurkina FasoBurundiCCACMCabo VerdeCalculating...Calling the flag is the termination of the current game when the time of your opponent is over. If the clock is with you, click on the menu item Actions > Call Flag to claim the victory.CambodiaCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCameroonCanadaCandidate MasterCapturedCastling availability field is not legal. %sCategory:Cayman IslandsCenter:Central African RepublicChadChallengeChallenge: Challenge: Change ToleranceChatChess AdvisorChess Alpha 2 DiagramChess Compositions from yacpdb.orgChess GameChess PositionChess ShoutChess clientChess960ChileChinaChoose a folderChristmas IslandClaim DrawClassic chess rules http://en.wikipedia.org/wiki/ChessClassic chess rules with all pieces white http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden figurines http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pawns http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pieces http://en.wikipedia.org/wiki/Blindfold_chessClassicalClassical: 3 min / 40 movesClearClockClose _without SavingCocos (Keeling) IslandsColombiaColorize analyzed movesCommand line interface to the chess serverCommand line parameters needed by the engineCommand line parameters needed by the runtime envCommand:CommentComment:CommentsComorosCompensationComputerComputersCongoCongo (the Democratic Republic of the)ConnectingConnecting to serverConnection ErrorConnection was closedConsoleContinueContinue to wait for opponent, or try to adjourn the game?Cook IslandsCool! Now let see how it goes in the main line.Copy FENCornerCosta RicaCould not save the fileCounterplayCountry of origin of the engineCountry:CrazyhouseCreate New Pgn DatabaseCreate New Polyglot Opening BookCreate Polyglot BookCreate SeekCreate a new databaseCreate new squence where listed conditions may be satisfied at different times in a gameCreate new streak sequence where listed conditions have to be satisfied in consecutive (half)movesCreate polyglot opening bookCreating .bin index file...Creating .scout index file...CroatiaCrushing advantageCubaCuraçaoCyprusCzechiaCôte d'IvoireDDMDark Squares :DatabaseDateDate/TimeDate:Decisive advantageDeclineDefaultDenmarkDestination Host UnreachableDetailed connection settingsDetailed settings of players, time control and chess variantDetect type automaticallyDetected enginesDevelopment advantageDiedDisplay MasterDjiboutiDo you know that a game is generally finished after 20 to 40 moves per player? The estimated duration of a game is displayed when you configure a new game.Do you know that a knight is better placed in the center of the board?Do you know that having two-colored bishops working together is very powerful?Do you know that it is possible to finish a chess game in just 2 turns?Do you know that moving the queen at the very beginning of a game does not offer any particular advantage?Do you know that the king can move across two cells under certain conditions? This is called castling.Do you know that the number of possible chess games exceeds the number of atoms in the Universe?Do you know that the rooks are generally engaged late in game?Do you know that you can help to translate PyChess into your language, Help > Translate PyChess.Do you know that your computer is too small to store a 7-piece endgame database? That's why the Gaviota tablebase is limited to 5 pieces.Do you really want to restore the default options of the engine ?Do you want to abort it?DominicaDominican RepublicDon't careDon't show this dialog on startup.Download linkDrawDraw:DrawishDue to abuse problems, guest connections have been prevented. You can still register on http://www.freechess.orgDummy AccountECOEach chess engine has its own evaluation function. It is normal to get different scores for a same position.EcuadorEdit SeekEdit Seek: Edit commentEdit selected filterEffect on ratings by the possible outcomesEgyptEl SalvadorEloEmailEn passant cord is not legal. %sEn passant lineEndgame TableEndgamesEngine playing strength (1=weakest, 20=strongest)Engine scores are in units of pawns, from White's point of view. Double clicking on analysis lines you can insert them into Annotation panel as variations.EnginesEngines use uci or xboard communication protocol to talk to the GUI. If it can use both you can set here which one you like.Enter GameEnvironmentEquatorial GuineaEritreaError parsing %(mstr)sError parsing move %(moveno)s %(mstr)sEstimated duration : %(min)d - %(max)d minutesEstoniaEthiopiaEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventEvent:ExamineExamine Adjourned GameExaminedExaminingExcellent moveExecutable filesExpected format as "yyyy.mm.dd" with the allowed joker "?"Export positionExternalsFAFEN needs 6 data fields. %sFEN needs at least 2 data fields in fenstr. %sFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns * No castling * Black's arrangement mirrors white'sFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED * No castling * Black's arrangement DOES NOT mirrors white'sFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Pawns start on their 7th rank rather than their 2nd rank!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Pawns start on 4th and 5th ranks rather than 2nd and 7thFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html White pawns start on 5th rank and black pawns on the 4th rankFIDE ArbeiterFIDE MasterFMF_ull board animationFace _to Face display modeFalkland Islands [Malvinas]Faroe IslandsFijiFile existsFile nameFilterFilter game list by current game movesFilter game list by opening movesFilter game list by various conditionsFiltersFilters panel can filter game list by various conditionsFind postion in current databaseFingerFinlandFirst gamesFischer RandomFollowFont:For each player, the statistics provide the probability to win the game and the variation of your ELO if you lose / end into a tie / win, or simply the final ELO rating changeForced moveFrame:FranceFree comment about the engineFrench GuianaFrench PolynesiaFrench Southern TerritoriesFriendsFrom _Custom PositionFrom _Default Start PositionFrom _Game NotationGMGabonGain:GambiaGameGame ListGame analyzing in progress...Game cancelledGame informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Game shared at GamesGames running: %dGaviota TB path:Generally this means nothing, as the game is time-based, but if you want to please your opponent, perhaps you should get going.GeorgiaGermanyGhanaGibraltarGiveawayGo back to the main lineGo back to the parent lineGo onGood moveGrand MasterGreeceGreenlandGrenadaGridGuadeloupeGuamGuatemalaGuernseyGuestGuest logins disabled by FICS serverGuestsGuided interactive lessons in "guess the move" styleGuineaGuinea-BissauGuyanaHHTML parsingHaitiHalfmove clockHandle seeks and challengesHandle seeks on graphical wayHeaderHeard Island and McDonald IslandsHidden pawnsHidden piecesHideHintHintsHoly SeeHondurasHong KongHordeHost:How to PlayHtml DiagramHuman BeingHungaryICC giveaway: https://www.chessclub.com/user/help/GiveawayICC lag compensation needs timestampICSIMIcelandIdIdentificationIdleIf set you can refuse players accepting your seekIf set, FICS game numbers in tab labels next to player names are shown.If set, PyChess will colorize suboptimal analyzed moves with red.If set, PyChess will show game results for different moves in positions containing 6 or less pieces. It will search positions from http://www.k4it.de/If set, PyChess will show game results for different moves in positions containing 6 or less pieces. You can download tablebase files from: http://www.olympuschess.com/egtb/gaviota/If set, PyChess will suggest best opening moves on hint panel.If set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, clicking on main application window closer first time it closes all games.If set, pawn promotes to queen without promotion dialog selection.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the captured figurines will be shown next to the board.If set, the elapsed time that a player used for the move is shown.If set, the hint analyzer engine evaluation value is shown.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If the analyzer finds a move where the evaluation difference (the difference between the evaluation for the move it thinks is the best move and the evaluation for the move made in the game) exceeds this value, it will add an annotation for that move (consisting of the engine's Principal Variation for the move) to the Annotation panelIf you don't save, new changes to your games will be permanently lost.Ignore colorsIllegalImagesImbalanceImportImport PGN fileImport annotated games from endgame.nlImport chessfileImport games from theweekinchess.comImporting game headers...In Chess960, the lines of the main pieces are shuffled in a precise order. Therefore, you cannot use the booking book and you should change your tactical habits.In TournamentIn this game, check is entirely forbidden: not only is it forbidden to move ones king into check, but it is also forbidden to check the opponents king. The purpose of the game is to be the first player that moves his king to the eight row. When white moves their king to the eight row, and black moves directly after that also their king to the last row, the game is a draw (this rule is to compensate for the advantage of white that they may move first.) Apart from the above, pieces move and capture precisely as in normal chess.In this position, there is no legal move.Indent _PGN fileIndiaIndonesiaInfinite analysisInfoInitial positionInitial setupInitiativeInteresting moveInternational MasterInvalid move.Iran (Islamic Republic of)IraqIrelandIsle of ManIsraelIt is not possible later to continue the game, if you don't save it.ItalyJamaicaJapanJerseyJordanJump to initial positionJump to latest positionKKazakhstanKenyaKingKing of the hillKiribatiKnightKnight oddsKnightsKorea (the Democratic People's Republic of)Korea (the Republic of)KuwaitKyrgyzstanLag:Lao People's Democratic RepublicLatviaLearnLeave _FullscreenLebanonLecturesLengthLesothoLessonsLevel 1 is the weakest and level 20 is the strongest. You may not define a too high level if the engine is based on the depth to exploreLiberiaLibyaLichess practice studies Puzzles from GM games and Chess compositionsLiechtensteinLight Squares :LightningLightning:List of ongoing gamesList of playersList of server channelsList of server newsLithuaniaLoad Re_mote GameLoad _Recent GameLoad a remote gameLoading player dataLocal EventLocal SiteLog OffLog on ErrorLog on as _GuestLogging on to serverLosersLossLoss:LuxembourgMacaoMacedonia (the former Yugoslav Republic of)MadagascarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMalawiMalaysiaMaldivesMaliMaltaMamer ManagerManage enginesManualManual AcceptManually accept opponentMany sounds are emitted by PyChess while you are playing if you activate them in the preferences: Settings > Preferences > Sound tab > Use sounds in PyChess.Marshall IslandsMartiniqueMateMate in %dMaterial/moveMauritaniaMauritiusMaximum analysis time in seconds:MayotteMexicoMicronesia (Federated States of)Minutes:Minutes: Moderate advantageMoldova (the Republic of)MonacoMongoliaMontenegroMontserratMore channelsMore playersMoroccoMoveMove HistoryMove numberMovedMoves:MozambiqueMyanmarNNMNameNames: #n1, #n2NamibiaNational MasterNauruNeedNeeds 7 slashes in piece placement field. %sNepalNetherlandsNever use animation. Use this on slow machines.NewNew CaledoniaNew GameNew RD:New ZealandNew _DatabaseNew game from 1-minute playing poolNew game from 15-minute playing poolNew game from 25-minute playing poolNew game from 3-minute playing poolNew game from 5-minute playing poolNew game from Chess960 playing poolNewsNextNext gamesNicaraguaNigerNigeriaNiueNo _animationNo chess engines (computer players) are participating in this game.No conversation's selectedNo database is currently opened.No soundNo time controlNorfolk IslandNormalNormal: 40 min + 15 sec/moveNorthern Mariana IslandsNorwayNot AvailableNot a capture (quiet) moveNot the best move!ObserveObserve %sObserved _ends:ObserversOddsOffer A_bortOffer AbortOffer Ad_journmentOffer PauseOffer RematchOffer ResumeOffer UndoOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOmanOn FICS, your "Wild" rating encompasses all of the following variants at all time controls: One player starts with one less knight pieceOne player starts with one less pawn pieceOne player starts with one less queen pieceOne player starts with one less rook pieceOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpenOpen GameOpen Sound FileOpen chess fileOpening BookOpening booksOpening chessfile...OpeningsOpenings panel can filter game list by opening movesOpponent RatingOpponent's strength: OptionOptionsOtherOther (non standard rules)Other (standard rules)PPakistanPalauPalestine, State ofPanamaPapua New GuineaParaguayParameters:Parser/ChessDB is an external module used by PyChess to show the expected outcome for a given position.Paste FENPaste the link to download:PatternPausePawnPawn oddsPawns PassedPawns PushedPeruPhilippinesPick a datePingPitcairnPlacementPlayPlay Fischer Random chessPlay Losers chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer ListPlayer _RatingPlayers:Players: %dPlayingPlaying horde in PyChess consists in destroying a flow of 36 white pawns with a normal set of black pieces.Png imagePo_rts:PolandPolyglot book file:PortugalPractice endgames with computerPre-chess: https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_positionPre_viewPrefer figures in _notationPreferencesPreferred level:Preparing to start import...Press Ctrl+Z to ask your opponent to rollback the last played move. Against a computer or for an unrated game, undoing is generally automatically accepted.PreviewPreview panel can filter game list by current game movesPrevious gamesPrivateProbably because it has been withdrawn.ProgressPromotionProtocol:Puerto RicoPuzzlesPyChess - Connect to Internet ChessPyChess Information WindowPyChess generates 3 information files when a PGN file is opened : .sqlite (description), .scout (positions), .bin (book and outcomes). These files can be removed manually if necessary.PyChess has lost connection to the engine, probably because it has died. You can try to start a new game with the engine, or try to play against another one.PyChess includes a chess engine that offers an evaluation for any chess position. Winning against PyChess engine is a coherent way to succeed in chess and improve your skills.PyChess is an open-source chess application that can be enhanced by any chess enthusiasts: bug reports, source code, documentation, translations, feature requests, user assistance... Let's get in touch at http://www.pychess.orgPyChess supports a wide range of chess engines, variants, Internet servers and lessons. It is a perfect desktop application to increase your chess skills very conveniently.PyChess uses offline lessons to learn chess. You will be then never disappointed if you have no Internet connection.PyChess uses the external module Scoutfish to evaluate the chess databases. For example, it is possible to extract the games where some pieces are in precise count or positions.PyChess.py:QQatarQueenQueen oddsQuit LearningQuit PyChessRR_esignRacing KingsRandomRapidRapid: 15 min + 10 sec/moveRatedRated gameRatingRating change:Reading %s ...Receiving list of playersRecreating indexes...RefreshRegisteredRemoveRemove selected filterRequest ContinuationResendResend %s?Reset ColoursReset my progressRestore the default optionsResultResult:ResumeRetryRomaniaRookRook oddsRotate the boardRoundRound:Running Simul MatchRuntime env command:Runtime env parameters:Runtime environment of engine command (wine or node)Russian FederationRwandaRéunionSQLite is an internal module used to describe the loaded PGN files, so that PyChess can retrieve the games very fast during a search.SRS_ign upSaint BarthélemySaint Helena, Ascension and Tristan da CunhaSaint Kitts and NevisSaint LuciaSaint Martin (French part)Saint Pierre and MiquelonSaint Vincent and the GrenadinesSamoaSan MarinoSanctionsSao Tome and PrincipeSaudi ArabiaSaveSave GameSave Game _AsSave _own games onlySave _rating change valuesSave analyzing engine _evaluation valuesSave arrows/circlesSave asSave database asSave elapsed move _timesSave files to:Save moves before closing?Save the current game before you close it?Save to PGN file as...ScoreScoutSearch:Seek GraphSeek _GraphSeek updatedSeeks / ChallengesSelect Gaviota TB pathSelect a pgn or epd or fen chess fileSelect auto save pathSelect background image fileSelect book fileSelect engineSelect sound file...Select the games you want to save:Select working directorySend ChallengeSend all seeksSend seekSenegalSeqSequenceSerbiaServer:Service RepresentativeSetting up environmentSetup PositionSeveral rating systems exist to evaluate your skills in chess. The most common one is ELO (from its creator Arpad Elo) established on 1970. Schematically, the concept is to engage +/- 20 points for a game and that you will win or lose proportionally to the difference of ELO points you have with your opponent.SeychellesShare _GameSho_w cordsShort on _time:Should %s publicly publish your game as PGN on chesspastebin.com ?ShoutShow FICS game numbers in tab labelsShow _captured piecesShow elapsed move timesShow evaluation valuesShow tips at startupShredderLinuxChess:ShuffleSide to moveSide_panelsSierra LeoneSimple Chess PositionSingaporeSint Maarten (Dutch part)SiteSite:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinSlight advantageSlovakiaSloveniaSolomon IslandsSomaliaSome of PyChess features needs your permission to download external programsSorry '%s' is already logged inSound filesSourceSouth AfricaSouth Georgia and the South Sandwich IslandsSouth SudanSp_y arrowSpainSpentSri LankaStandardStandard:Start Private ChatStatusStep back one moveStep forward one moveStrStreakStudy FICS lectures offlineSub-FEN :SudanSuicideSuicide chess, giveaway chess or antichess are all the same variant: you must give your pieces to your opponent by forcing the captures like at draughts. The outcome of the game can change completely if you make an incorrect move.SurinameSuspicious moveSvalbard and Jan MayenSwazilandSwedenSwitzerlandSymbolsSyrian Arab RepublicTTDTMTagTaiwan (Province of China)TajikistanTalkingTanzania, United Republic ofTeam AccountText DiagramTexture:ThailandThe DTZ is the distance to zero, so the remaining possible moves to end into a tie as soon as possible.The Gaviota tables are precalculated positions that tell the final outcome of the current game in terms of win, loss or draw.The lectures are commented games to learn step-by-step the strategy and principles of some chess techniques. Just watch and read.The abort offerThe adjourn offerThe analyzer will run in the background and analyze the game. This is necessary for the hint mode to workThe chain button is disabled because you are logged in as a guest. Guests can't establish ratings, and the chain button's state has no effect when there is no rating to which to tie "Opponent Strength" toThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe chess variants consist in changing the start position, the rules of the game, the types of the pieces... The gameplay is totally modified, so you must use dedicated chess engines to play against the computer.The clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe communication with an Internet chess server is not standardized. Therefore you can only connect to the supported chess servers in PyChess, like freechess.org or chessclub.comThe connection was broken - got "end of file" messageThe current game is not terminated. Its export may have a limited interest.The current game is over. First, please verify the properties of the game.The directory where the engine will be started from.The displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe endgame table will show exact analysis when there are few pieces on the board.The engine %s reports an error:The engine is already installed under the same nameThe engine output panel shows the thinking output of chess engines (computer players) during a gameThe entered password was invalid. If you forgot your password, go to http://www.freechess.org/password to request a new one over email.The error was: %sThe experienced chess players can use blind pieces by starting a new variant game.The file already exists in '%s'. If you replace it, its content will be overwritten.The flag callThe game can't be loaded, because of an error parsing FENThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe hint panel will provide computer advice during each stage of the gameThe inverse analyzer will analyze the game as if your opponent was to move. This is necessary for the spy mode to workThe level 20 gives a full autonomy to the chess engine in managing its own time during the game.The move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book gives you the moves that are considered to be good from a theoretical perspective. You are free to play any other legal move.The opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe position does not exist in the database.The provided link does not lead to a meaningful chess content.The rating is your strength: 1500 is a good average player, 2000 is a national champion and 2800 is the best human chess champion. From the properties of the game in the menu Game, the difference of points gives you your chance to win and the projected evolution of your rating. If your rating is provisional, append a question mark '?' to your level, like 1399?.The reason is unknownThe releases of PyChess hold the name of historical world chess champions. Do you know the name of the current world chess champion?The resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe standard file format to manage chess games is PGN. It stands for Portable Game Notation. Do not get confused with PNG which is a usual file format to store drawings and pictures.The takeback offerThe time compensation is a feature that doesn't waste your clock time because of the latency of your Internet connection. The module can be downloaded from the menu Edit > Externals.ThebanThemesThere is %d game with unsaved moves.There are %d games with unsaved moves.There is something wrong with this executableThis game can be automatically aborted without rating loss because there has not yet been two moves madeThis game can not be adjourned because one or both players are guestsThis is a continuation of an adjourned matchThis option is not applicable because you're challenging a playerThis option is not available because you're challenging a guest, Threat analysis by %sThree-checkTimeTime controlTime control: Time pressureTimor-LesteTip Of The dayTip of the DayTitleTitledTo play on Fullscreen mode, just press the key F11. Press it again to exit this mode.To save a game Game > Save Game As, give the filename and choose where you want to be saved. At the bottom choose extension type of the file, and Save.To start Learning, click on the Book icon available on the welcome screen. Or choose the category next to that button to start the activity directly.TogoTokelauTolerance:TongaTournament DirectorTranslate PyChessTrinidad and TobagoTry chmod a+x %sTunisiaTurkeyTurkmenistanTurks and Caicos IslandsTuvaluTypeType or paste PGN game or FEN positions hereUUgandaUkraineUnable to accept %sUnable to save to configured file. Save the games before closing?Unable to save to configured file. Save the current game before you close it?Unclear positionUndescribed panelUndoUndo one moveUndo two movesUninstallUnited Arab EmiratesUnited Kingdom of Great Britain and Northern IrelandUnited States Minor Outlying IslandsUnited States of AmericaUnknownUnknown game stateUnofficial channel %dUnratedUnregisteredUnticked : the exponential stretching displays the full range of the score and enlarges the values around the null average. Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better.UntimedUpside DownUruguayUse _analyzerUse _inverted analyzerUse _local tablebasesUse _online tablebasesUse a linear scale for the scoreUse analyzer:Use name format:Use opening _bookUse time compensationUsed by engine players and polyglot book creatorUzbekistanValueVanuatuVariantVariant developed by Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Variation annotation creation threshold in centipawns:Various techniquesVenezuela (Bolivarian Republic of)Very bad moveViet NamView lectures, solve puzzles or start practicing endgamesVirgin Islands (British)Virgin Islands (U.S.)W EloWFMWGMWIMWaitWallis and FutunaWarning: this option generates a formatted .pgn file which is not standards complientWas unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.WelcomeWell done!Well done! %s completed.Western SaharaWhatever the number of pawns, an end-game starts when the board is made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, etc... Knowing the moves will help you to not miss the checkmate!When playing crazyhouse chess, the captured pieces change of ownership and can reappear on the board at a later turn.When this button is in the "locked" state, the relationship between "Opponent's strength" and "Your strength" will be preserved when a) your rating for the type of game sought has changed b) you change the variant or the time controlWhiteWhite ELO:White O-OWhite O-O-OWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite has a slightly cramped positionWhite moveWhite should do pawn storm in leftWhite should do pawn storm in rightWhite side - Click to exchange the playersWhite:WildWildcastleWildcastle shuffleWinWin by giving check 3 timesWin:Winning %With attackWoman FIDE MasterWoman Grand MasterWoman International MasterWorking directory:Year, month, day: #y, #m, #dYemenYou are currently logged in as a guest but there is a completely free trial for 30 days, and beyond that, there is no charge and the account would remain active with the ability to play games. (With some restrictions. For example, no premium videos, some limitations in channels, and so on.) To register an account, go to You are currently logged in as a guest. A guest can't play rated games and therefore isn't able to play as many of the types of matches offered as a registered user. To register an account, go to You asked your opponent to moveYou can choose from 20 different difficulties to play against the computer. It will mainly affect the available time to think.You can play against chess engines on an Internet chess server. Use the filter to include or exclude them from the available players.You can share a position by using the exchange format FEN, which stands for Forsyth-Edwards Notation. This format is also adapted for the chess variants.You can start a new game by Game > New Game, then choose the Players, Time Control and Chess Variants.You can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou can't select a variant because "Untimed" is checked, You can't switch colors during the game.You can't touch this! You are examining a game.You cannot use the local chess analysis mode while you are playing an unterminated game over Internet. Else you would be a cheater.You don't have the necessary rights to save the file. Please ensure that you have given the right path and try again.You have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou have to set kibitz on to see bot messages here.You have tried to undo too many moves.You have unsaved changes. Do you want to save before leaving?You may only have 3 outstanding seeks at the same time. If you want to add a new seek you must clear your currently active seeks. Clear your seeks?You might be interested in playing King of the hill if you target to place your king in the middle of the board, instead of protecting it in a corner of the board as usual.You must define a chess engine in the preferences in order to use the local chess analysis. By default, PyChess recommends you to use the free engine named Stockfish which is renown to be the strongest engine in the world.You sent a draw offerYou sent a pause offerYou sent a resume offerYou sent an abort offerYou sent an adjournment offerYou sent an undo offerYou sent flag callYou should sign up online to play on an Internet chess server, so that you can find your games later and see the evolution of your rating. In the preferences, PyChess still have the possibility to save your played games locally.You will lose all your progress data!Your opponent asks you to hurry!Your opponent has asked that the game be aborted. If you accept this offer, the game will end with no rating change.Your opponent has asked that the game be adjourned. If you accept this offer, the game will be adjourned and you can resume it later (when your opponent is online and both players agree to resume).Your opponent has asked that the game be paused. If you accept this offer, the game clock will be paused until both players agree to resume the game.Your opponent has asked that the game be resumed. If you accept this offer, the game clock will continue from where it was paused.Your opponent has asked that the last %s move(s) be undone. If you accept this offer, the game will continue from the earlier position.Your opponent has offered you a draw.Your opponent has offered you a draw. If you accept this offer, the game will end with a score of 1/2 - 1/2.Your opponent is not out of time.Your opponent must agree to abort the game because there has been two or more moves madeYour opponent seems to have changed their mind.Your opponent wants to abort the game.Your opponent wants to adjourn the game.Your opponent wants to pause the game.Your opponent wants to resume the game.Your opponent wants to undo %s move(s).Your panel settings have been reset. If this problem repeats, you should report it to the developersYour seeks have been removedYour strength: Your turn.ZambiaZimbabweZugzwang_Accept_Actions_Analyze Game_Archived_Auto save finished games to .pgn file_Call Flag_Clear Seeks_Copy FEN_Copy PGN_Decline_Edit_Engines_Export Position_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hint arrow_Hints_Invalid move:_Load Game_Log Viewer_My games_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Puzzle success:_Recent:_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Untimed_Use main app closer [x] to close all games_Use sounds in PyChess_Variation choices:_View_Your Color:andand guests can't play rated gamesand on FICS, untimed games can't be ratedand on FICS, untimed games have to be normal chess rulesask your opponent to moveblackbrings a %(piece)s closer to enemy king: %(cord)sbrings a pawn closer to the backrow: %scall your opponents flagcaptures materialcastlesdatabase opening tree needs chess_dbdatabase querying needs scoutfishdefends %sdevelops a %(piece)s: %(cord)sdevelops a pawn: %sdrawsexchanges materialgnuchess:half-openhttp://brainking.com/en/GameRules?tp=2 * Placement of the pieces on the 1st and 8th row are randomized * The king is in the right hand corner * Bishops must start on opposite color squares * Black's starting position is obtained by rotating white's position 180 degrees around the board's center * No castlinghttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyin the %(x)s%(y)s filein the %(x)s%(y)s filesincreases the pressure on %sinvalid promoted piecelessonslichessmatesminminsmovemoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %snot playingofoffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalotherspawn capture without target piece is invalidpins an enemy %(oppiece)s on the %(piece)s at %(cord)splaces a %(piece)s more active: %(cord)spromotes a Pawn to a %sputs opponent in checkrating range nowrescues a %sresignround %ssacrifices materialsecsecsslightly improves king safetytakes back materialthe captured cord (%s) is incorrectthe end cord (%s) is incorrectthe move needs a piece and a cordthreatens to win material by %sto automatic acceptto manual acceptucivs.whitewindow1wtharveyxboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Random arrangement of the pieces behind the pawns * No castling * Black's arrangement mirrors white'sxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * White has the typical set-up at the start. * Black's pieces are the same, except that the King and Queen are reversed, * so they are not on the same files as White's King and Queen. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * In this variant both sides have the same set of pieces as in normal chess. * The white king starts on d1 or e1 and the black king starts on d8 or e8, * and the rooks are in their usual positions. * Bishops are always on opposite colors. * Subject to these constraints the position of the pieces on their first ranks is random. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.yacpdbÅland IslandsProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 20:21+0000 Last-Translator: ecrucru Language-Team: French (http://www.transifex.com/gbtami/pychess/language/fr/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: fr Plural-Forms: nplurals=2; plural=(n > 1); Gain : + %d s vous challenge pour une partie "%(time)s %(rated)s %(gametype)s" échecest arrivéa décliné votre proposition de jeuest partia eu un retard de connexion de 30 secondesmouvement invalide du moteur : %svous a censuréa des retards de connexion mais n'a pas été deconnectén'est pas installéest présent minaucun jeu ne vous listeutilisation d'une formule ne correspondant pas à votre demande de correspondance :Où %(player)s joue %(color)s. avec qui vous avez une partie ajournée "%(timecontrol)s %(gametype)s" est en ligne.désire reprendre la partie %(gametype)s ajournée %(time)s.%(black)s gagne la partie%(color)s a des pions doublés %(place)s%(color)s a un pion isolé en colonne %(x)s%(color)s a des pions isolés dans les colonnes %(x)s%(color)s a des nouveaux pions doublés %(place)s%(color)s a un nouveau pion passé en %(cord)s%(color)s déplace un %(piece)s en %(cord)s%(counter)s en-têtes de parties de %(filename)s importés%(minutes)d min + %(gain)d s/coup%(name)s %(minutes)d min %(duration)s%(name)s %(minutes)d min %(sign)s %(gain)d sec/coup %(duration)s%(name)s %(minutes)d min / %(moves)d coups %(duration)sLes %(opcolor)s ont un nouveau fou piégé en %(cord)s%(path)s contient %(count)s parties%(player)s est %(status)s%(player)s joue %(color)s%(time)s pour %(count)d coups%(white)s gagne la partie%d min%s ne peut plus faire de roque%s ne peut plus faire de petit roque%s ne peut plus faire de grand roque%s parties traitées%s adopte une formation stonewall%s retourne une erreur%s a été décliné par votre adversaire%s a été retiré pas votre adversaire%s va identifier quelles menaces pourraient exister si c'était à votre adversaire de jouer%s va essayer de prédire quel est le meilleur déplacement et qui de noir ou blanc a l'avantage'%s' est un nom enregistré. Si c'est le vôtre, saisissez le mot de passe. '%s' n'est pas un nom enregistré(Blitz)(Le lien est disponible dans le presse-papiers.)*-00 Joueur prêt0 de 00-11-01 minute1/2-1/210 min + 6 s/coup, Blanc120015 minutes2 min, échecs aléatoires Fischer, Noir3 minutes45 minutes5 min5 minutesSe connecter à des serveurs d'échecs en lignePromouvoir le pion en ?PyChess n'a pas pu charger les paramètres de votre panneauAnalyseAnimationStyle de plateauÉchiquiersVarianteEntrer l'évaluation de la partieOptions généralesLa flèche d'indice vous montre le meilleur coup possible dans la position courante. Activez-la avec le raccourci Ctrl+H du menu Affichage.Position initialePanneaux latéraux installésCoupMultiPV est une option de certains moteurs d'échecs qui affiche les meilleurs coups alternatifs dans le panneau d'indices. Leur nombre peut être adapté depuis les options du moteur, ou en double-cliquant sur le chiffre par défaut du panneau d'indices.Nom du _premier joueur humain :Nom du _second joueur humain :Une nouvelle version %s est disponible!Charger une partieOuvrir une baseOuverture, fin de jeuForce de l'adversaireOptionsJouer un son quand...JoueursPonder est une des options d'un moteur d'échecs qui consiste à l'autoriser à réfléchir alors que ce n'est pas son tour. Ceci consomme plus de ressources matérielles sur votre ordinateur.Le mode espion analyse les menaces, c'est-à-dire le meilleur coup que jouerait votre adversaire si c'était à lui de jouer. Activez-le avec le raccourci Ctrl+Y depuis le menu Affichage.Démarrer l'apprentissageParamètres de la penduleÉcran d'accueilVotre couleur_Connexion au serveur_Démarrer la partie%s n'est pas exécutable d'après ses propriétés de fichierUn fichier nommé '%s' existe déjà. Voulez-vous le remplacer?Le calculateur, %s, a rendu l'âmeErreur au chargement de la partieLe fichier '%s' existe déjà.PyChess recherche les moteurs de jeu disponibles. Veuillez patienter.PyChess n'est pas capable de sauvegarder la partieIl y a %d parties avec des coups non sauvegardés. Enregistrer les changements avant de fermer ?Impossible d'ajouter %sImpossible de sauver le fichier '%s'Type de fichier inconnu '%s'Défier :Une leçon est une étude complexe qui explique la tactique dans une position donnée. Il est fréquent d'avoir des cercles et des flèches affichés sur l'échiquier pour se concentrer sur le comportement des pièces, les menaces, etc...Un puzzle est un ensemble de positions simples et classifiées par thème pour lequel vous devez deviner les meilleurs coups. Ceci vous aide à comprendre les motifs pour conduire une attaque ou une défense précis.Une partie est constituée d'une ouverture, d'un milieu de partie et d'une fin de partie. PyChess peut vous entraîner dans chaque phase grâce à son livre d'ouverture, à ses moteurs de jeu et à son module d'apprentissage.Dans la variante des échecs atomiques, les pièces sont détruites tout autour d'une case où une capture a eu lieu.Un _joueur fait échecUn joueur déplace :Un joueur c_apture :Une table de positions peut être connectée à PyChess ou à un moteur d'échecs compatible.AsiatiqueÉchecs asiatiques : http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbandonnerÀ propos des échecsActifAccepterActiver l'alarme quand le temps _restant en seconde est:Le camp du joueur doit être w (blanc) ou b (noir). %sRequêtes actives : %dAjouter un commentaireAjouter une annotationAjouter par dossierAjouter une annotation de la positionAjouter un nouveau filtreAjouter un premier commentaireAjouter un filtre sous-FEN depuis la position/cerclesAjouter les lignes de menaceAjouter des suggestions peut vous aider à trouver des idées, mais ralentit l'analyse de l'ordinateur.Attributs additionnelsErreur d'adressageAjournerListe des parties ajournées et historiséesAdministrateurAdministrateurAfghanistanAi-WokAi-Wok : http://www.open-aurec.com/wbforum/viewtopic.php?p=199364#p199364AlbanieAlgérieTous les fichiers d'échecsToutes les évaluationsTout blancSamoa américainesUne position approximative a été trouvée. Voulez-vous l'afficher ?Une évaluation de +2,3 est un avantage pour les Blancs de plus de 2 pions, même si les Blancs et les Noirs ont le même nombre de pions. La position des pièces et leur mobilité sont quelques uns des facteurs qui contribuent à la détermination du score.Analyse par %sAnalyser les mouvements des noirsAnalyser à partir de la position actuelleAnalyser le jeuAnalyser les mouvements des blancsVariation principale de l'analyseurAndorreAngolaAnguillaAnime les pièces, fait pivoter l'échiquier et plus encore. À utiliser sur une machine puissante.Partie commentéeAnnotationCommentateurAntarctiqueAntigua-et-BarbudaN'importe quel niveauArchivéArgentineArménieArubaVariantes asiatiquesDemander les permissions_Demander de jouerÉvaluerEchecs aléatoires asymétriquesAléatoire asymmétriqueAtomiqueAustralieAutricheAuteur_Drapeau automatique au temps_Promouvoir en dame_Retourner automatiquement l'échiquier vers le joueur humainConnexion automatique au démarrageDéconnexion automatiqueDisponibleAzerbaïdjanFN EloRetour à la ligne principaleChemin d'accès pour l'image de fond :Mauvais coupBahamasBahraïnBangladeshBarbadeRacine :Parce que le joueur %(black)s a perdu la connexion au serveurParce que le joueur %(black)s a perdu la connexion au serveur et que le joueur %(white)s a demandé d'ajourner la partieParce que les %(black)s ont écoulé leur temps de jeu et que les %(white)s n'ont plus suffisamment de pièces pour mettre en échecParce que %(loser)s s'est déconnectéParce que le roi de %(loser)s a exploséParce que %(loser)s a dépassé son temps réglementaireParce que %(loser)s a abandonnéParce %(loser)s était échec et matParce que %(mover)s a fait un pat.Parce que le joueur %(white)s a perdu la connexion au serveurParce que le joueur %(white)s a perdu la connexion au serveur et que le joueur %(black)s a demandé d'ajourner la partieParce que les %(white)s ont écoulé leur temps de jeu et que les %(black)s n'ont plus suffisamment de pièces pour mettre en échecParce que %(winner)s a moins de piècesParce que le roi de %(winner)s a atteint le centreParce que le roi de %(winner)s a atteint la huitième ligneParce que %(winner)s a perdu toutes ses piècesParce que %(winner)s a mis en échec 3 foisParce que %(winner)s a repoussé la horde blancheParce qu'un joueur a annulé la partie, ou qu'un des joueurs n'avait pas déjà terminé son premier tour. Aucune modification de classement n'a eu lieu.Parce qu'un joueur s'est déconnecté et qu'il y a trop peu de déplacement pour avoir un ajournement. Aucune évaluation n'a été effectuée.Parce qu'un joueur a perdu sa connexionParce qu'un joueur a perdu sa connexion et que l'autre joueur a demandé un report de la partieParce que le roi a atteint la huitième rangéeParce que les deux joueurs ont accepté un match nulParce que les deux joueurs ont accepté d'annuler le jeu. Aucune évaluation n'a été effectuée.Parce que les deux joueurs ont décidé d'un ajournementParce que les deux joueurs ont le même nombre de pièces.Parce que les deux joueurs ont dépassé leur limite de temps.Parce que aucun des joueurs n'a suffisamment de pièce pour mettre en échecPar arbitrage d'un administrateurA cause d'une adjudication par l'administrateur. Aucune évaluation n'a été effectuée.Du à la courtoisie d'un joueur. Aucune évaluation n'a été effectuée.Parce que l'objectif de l'entraînement est atteintParce que le calculateur de %(black)s a rendu l'âmeParce que le calculateur de %(white)s a rendu l'âmeParce que la connexion au serveur a été perdue.Parce que la partie a dépassé la longueur maximaleParce que les 50 derniers coups n'ont rien apporté de nouveau.Parce que la même position a été répétée trois fois d'affilée.Parce que le serveur a été arrêtéParce que le serveur a été éteint. Aucune évaluation n'a été effectuée.BeepBélarusBelgiqueBelizeBéninBermudesMeilleurMeilleur coupBhoutanFouNoirELO noir :Noirs O-ONoirs O-O-OLes noirs postent une nouvelle pièce en : %sLes noirs ont une position plutôt resserréeLes noirs ont une position légèrement resserréeLes Noirs doivent capturer toutes les pièces blanches. Les Blancs doivent mater comme d'habitude. Les pions blancs des première et deuxième lignes peuvent sauter deux cases.Coup des noirsLes noirs devraient mener une attaque de pions sur l'aile gaucheLes noirs devraient mener une attaque de pions sur l'aile droiteCôté noir - Cliquez pour échanger les joueursNoir :À l'aveuglePartie à l'aveugleCompte "à l'aveugle" (blindfold)BlitzBlitz :Blitz : 5 minBolivie (État plurinational de)Bonaire, Saint-Eustache et SabaProfondeur maximale du livre :Bosnie-HerzégovineBotswanaIle BouvetBrésilAmener légalement le roi au centre du plateau (e4, d4, e5, d5) fait gagner la partie instantanément! Les règles classiques s'appliquent dans tous les autres cas et un mat conclut la partie.Territoire britannique de l'océan indienBrunéi DarussalamBlitz à quatreBulgarieBulletBurkina FasoBurundiCCACMCabo VerdeCalculs en cours...Le tombé du drapeau est l'arrêt de la partie quand le temps de votre adversaire est écoulé. S'il vous reste du temps, cliquez sur le menu Actions > Appel du drapeau pour revendiquer la victoire.CambodgeCambodgienÉchecs cambodgiens : http://www.khmerinstitute.org/culture/ok.htmlCamerounCanadaCandidat MaîtreCapturéLe champ pour le roque n'est pas légal. %sCatégorie :Iles CaymanCentre :République centrafricaineTchadDéfiDéfier : Défier : Modifier la toléranceChatConseiller en échecsDiagramme Chess Alpha 2Études d'échecs de yacpdb.orgPartie d'échecsPosition d'échecCrierClient de jeu d'échecsChess960ChiliChineChoisir un dossierIle ChristmasDemander NulleRègles classiques des échecs https://fr.wikipedia.org/wiki/%C3%89checsRègles des échecs classiques avec toutes les pièces en blanc http://fr.wikipedia.org/wiki/Partie_%C3%A0_l%27aveugleRègle classique des échecs à l'aveugle http://en.wikipedia.org/wiki/Blindfold_chessRègles des échecs classiques avec les pions non affichés http://fr.wikipedia.org/wiki/Partie_%C3%A0_l%27aveugleRègles des échecs classiques avec les pièces non affichées http://fr.wikipedia.org/wiki/Partie_%C3%A0_l%27aveugleClassiqueClassique : 3 min / 40 coupsEffacerPenduleFermer _sans enregistrerIles Cocos (Keeling)ColombieColorer les coups analysésInterface en ligne de commande vers le serveur d'échecsParamètres de commande requis pour le moteur d'échecs.Paramètres requis pour le processus d'environnementCommande :CommentaireCommentaire :CommentairesComoresCompensationOrdinateurOrdinateursCongoCongo (la République démocratique du)Connexion en coursConnexion au serveurErreur de connexionLa connexion a été ferméeConsoleContinuerContinuer d'attendre un adversaire, ou tenter d'ajourner le jeu?Iles CookSuper ! Regardons maintenant quelle est la ligne principale.Copier FENCoinCosta RicaImpossible de sauvegarder le fichierContre-jeuPays d'origine du moteurPays :Maison de fouCréer une nouvelle base PGNCréer un nouveau livre d'ouvertures PolyglotCréer un livre PolyglotCréer une requêteCréer une nouvelle baseCréer une nouvelle séquence dont les conditions peuvent être satisfaites à différents moments du jeuCréer une nouvelle séquence en série dont les conditions peuvent être satisfaites pour des (demi-)mouvements consécutifsCréer un livre d'ouvertures PolyglotCréation du fichier d'index .bin...Création du fichier d'index .scout...CroatieAvantage écrasantCubaCuraçaoChypreTchéquieCôte d'IvoireDDMCases noires : Base de donnéesDateDate/HeureDate :Avantage décisifDéclinerDéfautDanemarkHôte InaccessibleParamètres détaillés de connexionParamètres détaillés des joueurs, du contrôle du temps et de la variante de jeuDétecter le type automatiquementMoteurs détectésAvantage de développementArrêtéMaître commentateurDjiboutiSavez-vous qu'une partie est généralement terminée après 20 à 40 coups par joueur ? La durée est estimée quand vous configurez une nouvelle partie.Savez-vous qu'un cavalier est plus actif au centre de l'échiquier ?Savez-vous qu'avoir et conserver une paire de fou sur des cases de couleurs opposées est très fort ?Savez-vous qu'il est possible de terminer une partie d'échecs en seulement 2 tours ?Savez-vous que le déplacement de la reine en tout début de partie n'offre généralement pas d'avantage particulier ?Savez-vous que le roi peut se déplacer de deux cases sous certaines conditions ? Ce mouvement est appelé le «roque».Savez-vous que le nombre de parties possibles est plus grand que celui des atomes dans l'univers ?Savez-vous que les tours sont souvent engagées tardivement dans une partie ?Savez-vous que vous pouvez aider à traduire PyChess dans votre langue via le menu Aide > Traduire PyChess ?Savez-vous que votre ordinateur est trop petit pour stocker une base de fins de parties de 7 pièces ? C'est pourquoi la base Gaviota est limitée à 5 pièces.Voulez-vous vraiment restaurer les options par défaut du moteur de jeu ?Voulez-vous l'annuler ?DominiqueRépublique dominicainePas de préférenceNe pas afficher la fenêtre au démarrageLien de téléchargementNulleNul :Tendance nulleSuite à des abus, les connexions en mode invité sont interdites. Vous pouvez toujours vous enregistrer sur http://www.freechess.orgCompte fictifECOChaque moteur d'échecs a sa propre fonction d'évaluation. Il est normal d'obtenir différents scores pour une même position.EquateurEditer une requêteEditer une requête Éditer un commentaireModifier le filtre sélectionnéEffet sur les classements de la fin de partieEgypteEl SalvadorEloAdresse électroniqueCoordonnée invalide pour la case en passant. %sEn passantTableau de fin de partieFins de partiesForce de jeu du moteur (1=faible, 20=fort)Les scores de l'analyseur sont exprimés en unité de pions au bénéfice positif des Blancs. En double-cliquant sur la ligne, vous pouvez les insérer comme variante dans le panneau Annotation.MoteursAfin de communiquer avec l'interface graphique, les moteurs d'échecs utilisent le protocole UCI ou xboard. Définissez ici le protocole que vous souhaitez utiliser.Entrer dans la partieEnvironnementGuinée équatorialeErythréeErreur de lecture %(mstr)sErreur pour analyser le mouvement %(moveno)s %(mstr)sDurée estimée : %(min)d - %(max)d minutesEstonieEthiopieEuroShogiEuroShogi : http://en.wikipedia.org/wiki/EuroShogiÉvénementÉvénement :ExaminerExaminer la partie ajournéeAnalyséAnalyse en coursExcellent coupFichiers exécutablesFormat attendu en "aaaa.mm.jj" avec le joker possible "?"Exporter la positionModules externesFAFEN nécessite 6 champs de données. %sFEN requiert au moins 2 champs de données dans fenstr. %sFICS atomique : http://www.freechess.org/Help/HelpFiles/atomic.htmlBlitz à quatre FICS : http://www.freechess.org/Help/HelpFiles/bughouse.htmlMaison de fou FICS : http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlQui perd gagne : http://fr.wikipedia.org/wiki/Qui_perd_gagne_(échecs)Échecs suicide FICS : http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Pièces aléatoires (deux reines ou trois tours sont possibles) * Un roi par joueur * Pièces disposées aléatoirement derrière les pions * Pas de roque * Pièces en face-à-face de chaque côtéFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Pièces choisies aléatoirement (deux reines ou trois roques possibles) * Exactement un roi de chaque couleur * Pièces placées aléatoirement derrières les pions, SOUMIS A LA CONTRAINTE QUE LES FOUS SOIENT ÉQUILIBRÉS * Pas de roque * La position des Noirs ne doient pas être la même que celle des blancsFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Les pions commencent sur leur 7ème ligne au lieu de leur 2ème!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Les pions commencent en face à face sur les 2 lignes centralesFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html Les pions blancs commencent sur la 5ème ligne et les pions noirs sur la 4ème ligneArbitre FIDEMaître FIDEMFÉchiquier totalement animéAffichage en mode face à faceIles MalouinesIles FéroéFidjiLe fichier existeNom de fichierFiltreFiltrer les parties par les mouvements de la partie couranteFiltrer les parties par mouvements d'ouvertureFiltrer la liste des parties selon divers critèresFiltresLe panneau des filtres expose différents critères pour réduire la liste des partiesTrouver la position dans la base de donnéesIdentitéFinlandePremières partiesFischer aléatoireSuivrePolice :Pour chaque joueur, vous avez une probabilité de victoire ainsi que l'évolution de votre classement ELO selon que ce soit une défaite, un nul ou une victoire, ou tout simplement la variation finale du classement ELOCoup forcéContour :FranceCommentaire libre à propos du moteur de jeuGuyane françaisePolynésie françaiseTerres australes françaisesAmisDepuis une _position personnaliséeDepuis la position _classique de départDepuis une _notation de partieGMGabonIncrémentGambiePartieListe des partiesAnalyse de la partie en cours...Partie annuléeInformations sur la partieEx-aequoLa partie est _perdue :L'échiqiuer est disposé :La partie est _gagnée :Partie partagée àPartiesParties en cours : %dChemin de Gaviota TB :Généralement, cela ne signifie rien puisque la partie est chronométrée, sauf pour faire plaisir à votre adversaire.GéorgieAllemagneGhanaGibraltarSuicide en tant que "giveaway"Retour à la ligne principaleRetour à la ligne parenteContinuerBon coupGrand MaîtreGrèceGroenlandGrenadeGrilleGuadeloupeGuamGuatemalaGuerneseyInvitéConnexions anonymes désactivées par le serveur FICSInvitésLeçons interactives pour deviner le coupGuinéeGuinée-BissauGuyanaHExtraction HTMLHaïtiCompteur de demi-mouvementsGérer les requêtes et les défisGérer les demandes de partie graphiquementEntêteHeard-et-Îles MacDonaldPions cachésPièces cachéesMasquerIndiceIndicesVatican (État de la Cité du)HondurasHong KongHordeHôte :Comment jouerDiagramme HTMLHumainHongrieICC giveaway: https://www.chessclub.com/user/help/GiveawayLa compensation de la latence ICC requiert timestampInternet (ICS)MIIslandeIdIdentificationInactifSi activé, vous pouvez refuser les joueurs acceptant vos demandesSi sélectionné, les numéros de partie FICS s'affichent dans les onglets à côté du nom des joueurs.Si sélectionné, PyChess colorie les mouvements analysés suboptimales en rouge.Si activé, PyChess montrera grâce à http://www.k4it.de les résultats de jeu pour les parties disposant d'au plus 6 piècesSi sélectionné, PyChess regardera les fins de parties d'au plus 6 pièces à la recherche de résultats. Les tables sont téléchargeables depuis : http://www.olympuschess.com/egtb/gaviota/Lorsque cette option est sélectionnée, PyChess suggérera les meilleurs ouvertures possibles dans le panneau d'aide.Lorsque cette option est sélectionnée, PyChess utilise des figurines pour désigner les pièces déplacées, plutôt que des lettres majuscules.Si activé, toutes les parties sont fermées en cliquant sur la croix de l'application principaleSi sélectionné, le pion sera alors promu automatiquement en reine sans afficher le dialogue de sélection de promotion.Lorsque cette option est sélectionnée, les pièces noires sont affichées la tête pointant vers le bas. Adapté au jeu entre amis sur des appareils mobiles.Lorsque cette option est sélectionnée, l'échiquier pivote après chaque coup pour afficher le point de vue du joueur dont c'est le tour.Lorsque cette option est sélectionnée, les pièces capturées seront affichées à côté de l'échiquier.Si sélectionné, on affiche le temps écoulé mis par un joueur pour le déplacement.Lorsque cette option est sélectionnée, la valeur du coup proposé par le moteur d'analyse est affichée.Lorsque cette option est sélectionnée, les colonnes et les lignes de l'échiquier sont identifiées respectivement par des lettres et des chiffres. Cette désignation est conforme à la notation algébrique.Lorsque cette option est sélectionnée, cache l'onglet en haut de la fenêtre de jeu lorsque ce n'est pas nécessaire.Si l'analyseur détecte un coup où la différence d'évaluation (la différence entre l'évaluation pour ce qu'il pense être le meilleur coup et l'évaluation du coup joué) dépasse cette valeur, il ajoute une annotation pour ce coup (sous la forme de la variation principale du moteur pour le coup) dans le panneau d'annotationSi vous ne sauvegardez pas, les changements des parties seront définitivement perdus.Ignorer les couleursIllégalImagesDéséquilibreImporterImporter un fichier PGNImporter des parties annotées depuis endgame.nlImporter des partiesImporter des parties depuis theweekinchess.comImportation des en-têtes de partie...Dans la variante Chess960, les pièces principales sur les première et huitième lignes sont mélangées selon un ordre précis. Par conséquent, vous ne pouvez pas employer la bibliothèque d'ouvertures et cela change vos habitudes tactiques.En tournoiLa mise en échec est interdite que ce soit pour soi ou l'adversaire. Le but est d'amener en premier son roi sur la huitième ligne. La partie est nulle si les deux rois atteignent la huitième ligne durant le même tour. Cette règle évite aux Noirs d'être désavantagés de ne pas avoir joué en premier. Les mouvements et les captures des pièces suivent les règles classiques.Dans cette position, il n'y a pas de coup légal.Indenter le fichier _PGNIndeIndonésieAnalyse infinieInfoPosition initialePosition initialeInitiativeCoup intéressantMaître InternationalDéplacement invalide.Iran (la République islamique d')IraqIrlandeIle de ManIsraëlIl ne sera pas possible de continuer cette partie plus tard si vous ne la sauvegardez pas.ItalieJamaïqueJaponJerseyJordanieRevenir à la position initialeAller à la dernière positionRKazakhstanKenyaRoiRoi de la collineKiribatiCavalierHandicap d'un cavalierCavaliersCorée (la République populaire démocratique de)Corée (la République de)KoweïtKirghizistanLatence :Laos (République démocratique populaire)LettonieApprendreQuitter le mode _plein écranLibanCoursLongueurLesothoLeçonsLe niveau 1 est le plus faible et le niveau 20 est le plus fort. Vous ne devez pas définir une valeur trop élevée si le moteur dépend de la profondeur de jeuLibériaLibyeÉtudes Lichess issues de parties de grands maîtres ou de compositionsLiechtensteinCases blanches :LightningLightning :Liste des parties en coursListe des joueursListe des canaux du serveurListe des annonces du serveurLithuanieCharger une partie _distanteCharger une partie _récenteCharger une partie distanteChargement des informations du joueurÉvénement localSite localDéconnecterErreur à l'authentificationSe connecter en tant qu' _invitéDébut de transactionQui perd gagnePerduDéfaite :LuxembourgMacaoMacédoine (l'ex‑République yougoslave de)MadagascarThaïlandais (Makruk)Échecs thaïlandais Makruk : http://fr.wikipedia.org/wiki/MakrukMalawiMalaisieMaldivesMaliMalteMamer ManagerGérer les moteursManuelAccepter manuellementAccepter l'adversaire manuellementPyChess produit des sons lors des parties s'ils sont activés dans les préférences : menu Éditer > Préférences > onglet Sons > Activer les sons.Iles MarshallMartiniqueMatMat en %dPièce/CoupMauritanieMauriceTemps maximum d'analyse en secondes :MayotteMexiqueMicronésie (États fédérés de)Minutes :Minutes : Avantage modéréMoldavie (la République de)MonacoMongolieMonténégroMontserratPlus de canauxPlus de joueursMarocCoupCoups jouésNuméro de déplacementDéplacéCoups :MozambiqueMyanmarCNMNomNoms : #n1, #n2NamibieMaître NationalNauruBesoinLe champ de position des pièces nécessite 7 barres obliques. %sNépalPays-BasAucune animation durant la partie. À utiliser sur les machines les moins puissantes.NouveauNouvelle-CalédonieNouvelle partieNouveau RD :Nouvelle-ZélandeNouvelle base de _donnéesNouvelle partie de 1 minuteNouvelle partie de 15 minutesNouvelle partie de 25 minutesNouvelle partie de 3 minutesNouvelle partie de 5 minutesNouvelle partie Chess960InformationsSuivantParties suivantesNicaraguaNigerNigérieNiueAucune animationAucun moteur d'échecs (Intelligence Artificielle) ne participe à ce jeu.Aucune consersation selectionéeAucune base de données n'est encore ouverte.Aucun sonPas de contrôle du tempsIle NorfolkNormalNormale : 40 min + 15 sec/déplacementIles Mariannes du NordNorvègeIndisponiblePas un mouvement de capturePas le meilleur coup !ObserverObserve %s_Fins observées :ObservateursHandicapProposer l'a_bandonProposer un abandonProposer un a_journementProposer une pauseProposer une revancheProposer de reprendreProposer d'annuler le coupProposer un _abandonProposer _ex-aequoProposer une _pauseProposer de _reprendreProposer d'annuler le coupPanneau officiel de PyChess.DéconnectéOmanAvec FICS, le classement "Wild" considère l'ensemble des cadences de jeu : Un joueur commence avec un cavalier en moinsUn joueur commence avec un pion en moinsUn joueur commence avec une reine en moinsUn joueur commence avec une tour de moinsConnectéAnimer seulement les coupsAnime uniquement les mouvements des pièces.Seuls les utilisateurs enregistrés peuvent discuter sur ce canalOuvrirOuvrir une partieOuvrir le fichier de sonOuvrir une partie d'échecsBibliothèque d'ouverturesBibliothèques d'ouverturesOuverture des parties...OuverturesLe panneau des ouvertures peut filtrer les parties par mouvements d'ouvertureNiveau de l'adversaireNiveau de l'adversaire : OptionOptionsAutreAutre (règles non standards)Autre (règles standards)PPakistanPalaosPalestine (État de)PanamaPapouasie-Nouvelle-GuinéeParaguayParamètres :Parser/ChessDB est un module externe utilisé par PyChess pour afficher les résultats possibles de la position courante.Coller FENCollez le lien à télécharger :MotifPausePionHandicap d'un pionPions libresPions poussésPérouPhilippinesChoisir une datePingPitcairnPlacementJouerJouer aux échecs aléatoires FischerJouer à Qui Perd GagneJouer la revancheJouer aux échecs en _ligneJouer avec les règles normales des échecsListe des joueursNiveau du joueurJoueurs :Joueurs : %dLectureJouer la variante "horde" dans PyChess consiste à détruire une armée de 36 pions blancs à l'aide d'un jeu normal de pièces noires.Image PNGPo_rts :PologneFichier du livre Polyglot :PortugalPratiquer des fins de parties contre l'ordinateurPre-chess: https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_positionAperçuPréférer la notation avec figurinesPréférencesNiveau préféré :Préparation de l'importation...Appuyez sur Ctrl+Z pour demander à votre adversaire s'il veut bien annuler le dernier coup joué. Contre un ordinateur ou dans une partie amicale, l'annulation est généralement acceptée.AperçuLe panneau de prévisualisation peut filtrer les parties avec les mouvements actuelsParties précédentesPrivéProbablement parce que l'élément a été retiré.ProgressionPromotionProtocole :Porto RicoPuzzlesConnexion serveur d'échecs en ligne FICSFenêtre d'Information PyChessPyChess génère 3 informations quand un fichier PGN est ouvert : .sqlite (description), .scout (positions) et .bin (mouvements et résultats). Ces fichiers peuvent être supprimés manuellement si nécessaire.PyChess a perdu la connexion avec le moteur, probablement en raison de son plantage. Vous pouvez essayer de démarrer une nouvelle partie avec le moteur, ou de jouer contre un autre.PyChess inclut un moteur d'échecs analysant n'importe quelle position d'échecs classique ou de variante. Gagner contre PyChess est une manière cohérente de progresser aux échecs.PyChess est une interface de jeu d'échecs open-source qui peut être améliorée par tous les joueurs enthousiastes : rapports de bugs, code source, documentation, traductions, demandes de fonctionnalités, assistance aux joueurs... Prenez contact sur http://www.pychess.orgPyChess prend en charge un large éventail de moteurs d'échecs, de variantes, de serveurs en ligne et de cours théoriques. C'est une application de bureau parfaite pour accroître commodément vos compétences aux échecs.PyChess utilise des cours hors-ligne pour vous apprendre les échecs. Vous ne serez alors jamais déçu si vous n'avez aucune connexion Internet.PyChess utilise le module externe Scoutfish pour évaluer les bases de données d'échecs. Par exemple, il est possible d'extraire les parties où quelques pièces sont dans une position donnée.PyChess.py :DQatarDameHandicap de la reineQuitter l'apprentissageQuitter PyChessTAbandonnerCourse des roisAléatoireRapideRapide : 15 min + 10 sec/déplacementNotéPartie avec classementClassementÉvolution ELO :Lecture de %s ...Réception de la liste des joueursRecréation des index...RafraîchirEnregistréSupprimerSupprimer le filtre sélectionnéDemander à poursuivreRé-envoyerRé-envoyer %s ?Réinitialiser les couleursEffacer la progressionRestaurer les options par défautRésultatRésultat :ReprendreRéessayerRoumanieTourHandicap d'une tourTourner le plateauRondeRonde :Partie simultanéeCommande d'environnement :Paramètres d'environnement :Commande d'environnement du moteur (wine ou node)Russie (la Fédération de)RwandaRéunion (La)SQLite est un module interne utilisé pour décrire les fichiers PGN et qui accélère la recherche de parties.AS_InscriptionSaint-BarthélemySainte-Hélène, Ascension et Tristan da CunhaSaint-Kitts-et-NevisSainte-LucieSaint-Martin (partie française)Saint-Pierre-et-MiquelonSaint-Vincent-et-les GrenadinesSamoaSaint-MarinSanctionsSao Tomé-et-PrincipeArabie saouditeSauvegarderSauvegarder la partieEnregistrer la partie _sous...Sauvegarder ses pr_opres parties seulementSauvega_rder la modification du classementSauv_egarder les évaluations de l'analyseurSauvegarder les flèches et les cerclesSauvegarder sous...Sauvegarder la base de données sousSauvegarder le _temps écoulé des déplacementsEnregistrer les parties vers :Sauvegarder les coups avant de fermer ?Sauvegarder la partie courante avant de la fermer ?Sauvegarder le fichier PGN sous...ScoreScoutRechercher :Graphique des parties_Graphe des requêtesProposition mise à jourParties disponiblesSélectionner le chemin des tables GaviotaSélectionner un fichier d'échecs PGN, EPD ou FENSélectionner le chemin pour l'enregistrement automatiqueSélectionner l'image d'arrière-planSélectionner une bibliothèqueSélectionner un moteurSélectionnez un fichier son...Sélectionner les parties à sauvegarder :Choisir le répertoire de travailEnvoyer un défiEnvoyer toutes les requêtesEnvoyer une requêteSénégalSéqSéquenceSerbieServeur :Agent de serviceParamètrage de l'environnementDisposer les piècesPlusieurs systèmes de notation existent pour évaluer votre niveau aux échecs. Le plus commun est ELO (de son créateur Arpad Elo) établi en 1970. Schématiquement, le concept est d'engager ±20 points dans une partie que vous gagnerez ou perdrez proportionnellement à l'écart de points ELO que vous avez avec votre adversaire.SeychellesParta_ger la partieÉchiquier avec coordonnéesÀ court de _temps :Est-ce que %s doit publier publiquement votre partie en PGN sur chesspastebin.com ?CrierMontrer les numéros de partie FICS dans les ongletsMontrer les pièces _capturéesMontrer le temps de déplacement écouléAfficher les évaluationsAfficher des astuces au démarrageShredderLinuxChess :AléatoireCouleur du tourPanneaux latérauxSierra LeonePosition simple des piècesSingapourSaint-Martin (partie néerlandaise)LieuLieu :Birman (Sittuyin)Échecs birmans Sittuyin : http://en.wikipedia.org/wiki/SittuyinAvantage légerSlovaquieSlovénieIles SalomonSomalieDes fonctionnalités de PyChess requièrent votre autorisation pour télécharger des modules externesDésolé '%s' est déjà connectéFichiers de sonSourceAfrique du SudGéorgie du Sud-et-les Îles Sandwich du SudSoudan du SudFlèche de _menaceEspagneDépenséSri LankaStandardStandard :Démarrer conversation privéeÉtatReculer d'un coupAvancer d'un coupSérSérieÉtude hors ligne de cours FICSSous-FEN :SoudanSuicideLes termes "suicide", "give away" et "antichess" désignent tous la même variante de jeu : vous devez donner vos pièces à votre adversaire en forçant les captures comme au jeu de dames. Le résultat de la partie peut changer du tout au tout si vous effectuez un mouvement incorrect.SurinameCoup suspectSvalbard et l'Île Jan MayenSwazilandSuèdeSuisseSymbolesSyrie (la République arabe)TDTTMAttributTaïwan (Province de Chine)TadjikistanConversationsTanzanie (la République-Unie de)Compte "équipe" (team)Diagramme texteTexture :ThaïlandeLe DTZ est la distance jusqu'au score zéro, c'est-à-dire le nombre de coups restants avant de pouvoir considérer la partie comme nulle.Les tables Gaviota sont des positions précalculées qui indiquent l'issue possible d'une position en termes de victoire, de défaite ou de nul.Les cours sont des parties commentées pour apprendre par étapes la stratégie et les principes du jeu. Laissez-vous guider en regardant et lisant.La proposition d'abandonLa proposition d'ajournementL'analyseur va tourner en tâche de fond et analyser la partie. C'est nécessaire pour que le mode "aide" puisse fonctionnerLe bouton de lien est désactivé parce que vous êtes enregistré comme invité. Les invités ne peuvent pas être classés, donc le bouton n'aurait aucun effetLe panneau de chat vous permet de communiquer avec votre adversaire pendant le jeu, en supposant qu'il ou elle soit intéressé(e).Les variantes d'échecs consistent à changer la position de départ, les règles du jeu, le type des pièces... La tactique étant totalement chamboulée, vous devez utiliser des moteurs de jeu dédiés pour défier l'ordinateur.La pendule n'a pas encore commencé.Ce panneau de commentaires va essayer d'analyser et d'expliquer les coups joués.La communication avec un serveur d'échecs Internet n'est pas standardisée. Par conséquent, vous pouvez uniquement vous connecter aux serveurs d’échecs pris en charge par PyChess, comme freechess.org ou chessclub.com.La connexion a été coupée - message "fin de fichier" reçuLa partie actuelle n'est pas terminée. L'exporter aurait un intérêt limité.La partie actuelle est terminée. Vérifiez d'abord ses propriétés, s'il vous plaît.Le dossier à partir duquel le moteur sera lancé.Le nom affiché du premier joueur humain, par exemple Pierre.Le nom affiché du joueur invité, par exemple Marie.La proposition de nulLa table de fin de jeu montre une analyse exacte uniquement lorsqu'il ne reste que quelques pièces sur l'échiquer.Le moteur %s a signalé une erreur :Le moteur est déjà installé sous le même nomDurant une partie, le panneau d'affichage du moteur montre le résultat des calculs du moteur d'échecs.Le mot de passe saisi est invalide. Si vous l'avez oublié, allez sur http://www.freechess.org/password pour en demander un nouveau par courriel.L'erreur est : %sLes joueurs expérimentés peuvent jouer à l'aveugle en commençant une nouvelle variante de jeu.Le fichier existe déjà dans '%s'. Si vous le remplacez, son contenu sera écrasé.La chute du drapeauImpossible de charger la partie car une erreur s'est produite lors de l'interprétation du fichier FENLa partie n'a pas pu être lue jusqu'à la fin à cause d'une erreur d'interprétation au coup %(moveno)s '%(notation)s'.La partie s'est terminée par un match nulLa partie a été abandonéeLa partie est suspendueLa partie a été détruiteL'écran d'indice fournira des conseils de l'ordinateur à chaque étape du jeu.L'analyseur inverse va analyser la partie comme si c'était à votre adversaire de jouer. Ceci est nécessaire pour que le mode "espion" fonctionneLe niveau 20 donne au moteur d'échecs une autonomie totale dans la gestion de son temps de jeu.Le coup n'a pas réussi à cause de %s.La feuille de jeu assure le suivi des coups des joueurs et vous permet de naviguer dans l'historique du jeu.La proposition de changer de côtéLa bibliothèque d'ouvertures vous donne les mouvements qui sont considérés comme bons d'un point de vue théorique. Vous êtes libre de jouer n'importe quel autre mouvement autorisé à tout moment.Le livre des ouvertures va essayer de vous inspirer pendant la phase d'ouverture en vous montrant les coups les plus joués par des maîtres.La proposition de pauseLa position n'existe pas dans la base de données.Le lien donné ne permet pas de récupérer une partie d'échecs.Le classement est votre force de jeu : 1500 est un bon joueur moyen, 2000 est un champion national et 2800 est le meilleur champion du monde. Dans les propriétés de la partie accessible depuis le menu Partie, la différence de points vous donne votre probabilité de gagner et l'évolution projetée de votre classement. Si celui-ci n'est pas stabilisé, apposez un point d'interrogation '?' à la fin (exemple: 1399?).La raison est inconnueLes versions de PyChess portent le nom de champions du monde historiques aux échecs. Connaissez-vous le nom du champion actuel ?L'abandonLa proposition de reprendreLe panneau de score essaie d'évaluer les positions et vous montre un graphe de la progression du jeu.Le format de fichier standard pour les échecs est PGN. Il signifie «Portable Game Notation» (notation portable de parties). Il ne faut pas le confondre avec le format PNG qui est utilisé pour sauvegarder des dessins et des images simples.La proposition d'annuler le dernier coupLa compensation de temps est une fonctionnalité qui évite de retirer du temps à votre horloge à cause de la latence de votre connexion Internet. Le module peut être téléchargé à partir du menu menu Éditer > Modules externes.DonjonThèmesIl y a %d partie avec des coups non sauvegardés.Il y a %d parties avec des coups non sauvegardés.Le fichier exécutable ne semble pas correctLa partie peut être annulée automatiquement sans perte de classement parce que deux mouvements n'ont pas encore été faits.Cette partie ne peut pas être ajournée car au moins un des joueurs est un invitéC'est la suite d'un jeu suspenduCette option n'est pas disponible parce que vous défier un joueurCette option n'est pas disponible, parce que vous défiez un invité, Menace analysée par %sTrois échecsCadenceContrôle du tempsCadence : Pressé par le tempsTimor-LesteAstuce du jourAstuce du jourTitreTitréPour jouer en plein écran, appuyez sur la touche F11. Refaites-le pour le quitter ce mode.Pour sauvegarder une partie Partie > Enregistrer la partie sous, choisissez un nom et où le fichier doit être sauvé. En bas, choisissez l'extension du fichier et Enregistrer.Pour commencer à apprendre, cliquez sur le bouton livre disponible sur la page d'accueil. Ou choisissez la catégorie à côté du bouton afin de démarrer l'activité directement.TogoTokelauTolérance :TongaDirecteur de tournoiTraduire PyChessTrinité-et-TobagoEssayez chmod a+x %sTunisieTurquieTurkménistanIles Turks-et-CaïcosTuvaluTypeSaisissez ou collez ici une partie PGN ou une position FENUOugandaUkraineImpossible d'accepter %sImpossible d'enregistrer dans le fichier cible. Enregistrer les parties avant de fermer?Impossible d'enregistrer dans le fichier cible. Enregistrer la partie en cours avant de la fermer?Position non clairePanneau non décritAnnuler le coupAnnuler un coupAnnuler deux coupsDésinstallerEmirats arabes unisRoyaume-Uni de Grande-Bretagne et d'Irlande du NordIles mineures éloignées des États-UnisEtats-Unis d'AmériqueInconnuStatut de la partie inconnuCanal non officiel %dNon notéNon-enregistréDécoché : l'étirement exponentiel affiche toutes les valeurs possibles du score tout en élargissant les valeurs centrales proches de zéro. Coché : l'échelle linéaire se focalise sur les scores autour de la valeur zéro sans déformation. Les erreurs et les bourdes sont ainsi plus visibles.Sans décompte de tempsCamps inversésUruguayUtiliser _analyseurUtiliser _analyseur inverseUtiliser les tables de base _localeUtiliser les tables de bases _connectéesUtiliser une échelle linéaire pour le scoreUtiliser l'analyseur :Utiliser le format de nom :Utiliser la _bibliothèque des ouverturesUtiliser la compensation de tempsUtilisé par les moteurs de jeu et le créateur de livre PolyglotOuzbékistanValeurVanuatuVariationVariante développée par Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Seuil de variation en centipions pour l'annotation :Techniques diversesVenezuela (République bolivarienne du)Très mauvais coupViet NamLire des cours, résoudre des puzzles ou pratiquer des fins de partiesIles Vierges britanniquesIles Vierges des États-UnisB EloFMfGMfMIFAttendezWallis-et-FutunaAttention : l'option génère un fichier PGN formatté qui ne respecte pas les standardsPyChess n'a pas pu sauvegarder '%(uri)s' car il ne reconnaît pas le format '%(ending)s'.BienvenueBien joué !Bien joué ! %s terminé.Sahara occidentalQuel que soit le nombre de pions, une fin de partie commence quand l'échiquier contient certaines pièces principales : 1 tour contre 1 fou, 1 dame contre 2 tours, etc... Connaître les coups vous aidera à ne pas rater l'échec et mat !Aux échecs crazyhouse, les pièces capturées changent de camp et peuvent réapparaître sur l'échiquier à un tour ultérieur.Quand le bouton est actif, l'écart de force sera préservé entre vous et l'adversaire si : a) votre classement pour le type de jeu recherché a changé b) vous changez la variante ou le contrôle du tempsBlancELO blanc :Blancs O-OBlancs O-O-OLes blancs posent une nouvelle pièce en%sLes blancs ont une position plutôt resserréeLes blancs ont une position légèrement resserréeCoup des blancsLes blancs devraient mener une attaque de pions sur l'aile gaucheLes blancs devraient mener une attaque de pions sur l'aile droiteCôté blanc - Cliquez pour échanger les joueursBlanc :Variantes "Wild"WildcastleWildcastle mélangéGagnéVictoire en donnant 3 échecsVictoire :Victoires %En attaquantMaître FIDE féminineGrand Maître fémininMaître Internationale FéminineRépertoire de travail :Année, mois, jour : #y, #m, #dYémenVous êtes enregistré comme invité et bénéficiez d'une période d'essai de 30 jours. Au-delà, votre compte restera actif mais quelques restrictions s'appliqueront, comme l'absence de vidéos premium, canaux réduits... Pour vous enregistrer, allez à Vous êtes enregistré comme visiteur n'ayant pas la possibilité de jouer des parties classées. De ce fait, vous ne pouvez pas bénéficier de toutes les opportunités de jeu tant que vous ne créez pas de compte àVous avez demandé à votre adversaire de jouerContre l'ordinateur, vous pouvez choisir parmi 20 niveaux de difficulté. Le temps de réflexion disponible pour le moteur de jeu en dépendra.Vous pouvez jouer contre des moteurs d'échecs sur un serveur Internet. Utilisez le filtre pour les inclure ou exclure parmi les joueurs disponibles.Vous pouvez partager une position d'échecs au format d'échange FEN qui signifie «Forsyth-Edwards Notation». Ce format est aussi adapté pour les variantes d'échecs.Vous pouvez démarrer une partie via le menu Partie > Nouvelle partie, puis choisissez les joueurs, la cadence et la variante de jeu.L'option "sans cadence" étant sélectionnée, vous ne pouvez pas jouer de partie. Connecté en tant qu'invité, vous ne pouvez pas jouer de partie évaluée.L'option "sans cadence" étant sélectionnée, vous ne ne pouvez pas choisir de variante, Vous ne pouvez pas changer de couleur pendant la partie.Vous ne pouvez pas y toucher en examination de partie.Au risque de vous faire passer pour un tricheur, l'analyse locale de position ne peut pas être utilisée durant une partie en ligne non terminée.Vous n'avez pas les droits suffisants pour sauvegarder le fichier. Assurez-vous d'avoir donné le bon chemin puis réessayez.Vous avez été déconnecté parce que vous étiez inactif pendant plus de 60 minutesVous n'avez pas encore ouvert de conversationVous devez activer kibitz pour voir ici les messages automatiques.Vous avez essayé d'annuler trop de mouvements.Vous avez des modifications non enregistrées. Voulez-vous les sauvegarder avant de quitter ?Vous ne pouvez avoir que 3 requêtes ouvertes simultanément. Voulez-vous effacer toutes vos demandes pour créer la nouvelle ?Vous seriez intéressé pour jouer à la variante «roi de la colline» si votre objectif est de placer le roi au centre de l'échiquier plutôt que de le protéger d'un échec dans un coin comme à l'habitude.Vous devez définir un moteur d'échecs dans les préférences afin d'utiliser l'analyse locale. Par défaut, PyChess vous recommande d'utiliser le moteur gratuit Stockfish qui est reconnu comme le plus fort au monde.Vous avez proposé un match nulVous avez envoyé une proposition de pauseVous avez proposé de reprendre la partieVous avez envoyé une proposition d'abandonVous avez proposé un ajournement de la partieVous avez envoyé une proposition d'annuler le dernier coupVous avez appelé le drapeauVous devriez vous enregistrer en ligne pour jouer sur un serveur d'échecs, de sorte de pouvoir retrouver vos parties plus tard et sauvegarder votre classement. Dans les préférences, PyChess a toujours la possibilité de sauvegarder localement vos parties.Vous allez perdre toute vos données de progression !Votre adversaire vous demande de vous dépêcher.Votre adversaire propose d'abandonner la partie. Si vous acceptez cette proposition, la partie terminera sans modification du niveau.Votre adversaire à demander d'ajourner la partie. Si vous acceptez cette proposition, la partie sera ajournée et vous pourrez la reprendre plus tard (quand votre adversaire est connecté et que les deux joueurs acceptent de reprendre la partie).Votre adversaire souhaite faire une pause. Si vous acceptez cette proposition, la pendule sera arrêtée jusqu'à ce que les deux joueurs acceptent de reprendre la partie.Votre adversaire souhaite reprendre la partie. Si vous acceptez cette proposition, la pendule reprendra là où elle a été arrêtéeVotre adversaire propose d'annuler le(s) %s coups précédents. Si vous acceptez cette proposition, la partie continuera à partir de l'ancienne position.Votre adversaire vous propose un match nul.Votre adversaire vous propose un nul. Si vous acceptez cette proposition, la partie se terminera avec un score de 1/2 - 1/2.Votre adversaire n'a pas dépassé le temps imparti.Votre adversaire doit confirmer l'abandon de la partie parce qu'au moins deux mouvements ont été déjà faits.Votre adversaire semble avoir changer d'avis.Votre adversaire veut abandonner la partie.Votre adversaire veut ajourner le jeu.Votre adversaire veut mettre en pause la partie.Votre adversaire veut reprendre la partie.Votre adversaire veut annuler %s déplacement(s).Les paramètres des panneaux ont été réinitialisés. Contactez les développeurs si le problème persiste.Vos propositions ont été suppriméesVotre niveau : Votre tour.ZambieZimbabweZugzwang (coup forcé)_Accepter_Actions_Analyser le jeu_ArchivéS_auvegarder automatiquement les parties terminées en PGN_Victoire au temps_Initialiser les offres de parties_Copier FEN_Copier PGN_Refuser_Editer_MoteursE_xporter la position_Plein écran_PartieListe des parties_GénéralA_ide_Cacher les onglets quand une seule partie est en cours_Flèche d'indice_Astuces_Déplacement incorrect :_Charger une partie_Informations du journal_Mes parties_Nom :_Nouvelle partie_Suivant_Déplacements observés :_Adversaire :Mot de _passe :_Jouer les règles normalesListe des joueurs_PrécédentSuccès des _puzzles :_Récent :_Remplacer_Rotation de l'échiquier_Sauvegarder %d document_Sauvegarder %d documents_Sauvegarder %d documents_Enregistrer la partieRequêtes / Défis_Afficher les panneaux latéraux_Sons_Commencer la partie_Sans cadence_Utiliser la croix principale [x] pour fermer toutes les parties_Activer les sonsChoix de _variations :A_ffichage_Votre couleur :etet les invités ne peuvent pas jouer de parties évaluées.et sur FICS, les parties jouées sans contrôle de temps ne peuvent pas être évaluées.et sur FICS, les parties sans contrôle de temps suivent les règles normales des échecsdemander à l'adversaire de jouernoirdéplace un %(piece)s plus près du roi adverse : %(cord)savance un pion vers la rangée : %sdemander la victoire au tempscapture une pièceroqueLa base des ouvertures requiert chess_dbL'interrogation de la base de données requiert scoutfishdéfend %sDéveloppe un %(piece)s: %(cord)savance un pion : %sobtient le nuléchange une piècegnuchess :semi-ouvertehttp://brainking.com/en/GameRules?tp=2 * Placement aléatoire des pièces sur les 1ère et 8ème lignes * Roi positionné dans le coin droit du joueur * Couleur opposée des fous pour chaque joueur * Position noire obtenue par rotation centrale à 180° * Pas de roquehttp://fr.wikipedia.org/wiki/Jeu_d'%C3%A9checshttps://fr.wikipedia.org/wiki/%C3%89checs_al%C3%A9atoires_Fischer FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://fr.wikipedia.org/wiki/R%C3%A8gles_du_jeu_d%27%C3%A9checsamélioré la sécurité du roidans la colonne %(x)s%(y)sdans les colonnes %(x)s%(y)sfait pression sur %sPièce promue invalide.leçonslichessmateminminscoupmet une tour sur une colonne ouvertemet la tour sur une colonne semi-ouvertemet le fou en fianchetto : %sne joue passurproposer un nulproposer une pauseProposer d'annuler le dernier coupproposer un abandonproposer d'ajournerproposer de reprendreproposer de changer de côtéConnectés au totalAutresla capture du pion sans pièce à prendre est impossiblecloue un %(oppiece)s ennemi au %(piece)s en %(cord)sRend un %(piece)s plus actif : %(cord)spromeut le pion en %smet l'adversaire en échecévaluation de l'ensemble maintenantprotège un %sabandonnerronde %ssacrifie du matérielsecsecsaméliore légérement la sécurité du roireprend une piècela position capturée (%s) est incorrectela position de fin (%s) est incorrectele coup nécessite une pièce et une positionmenace de prendre une pièce par %sAccepter automatiquementAccepter manuellementucicontreblancFenêtre 1wtharveyxboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Placement aléatoire des pièces derrière les pions * Pas de roque * Arrangement des pièces des Noirs en miroir des Blancsxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * Les Blancs sont disposés de façon classique. * Les Noirs le sont également, sauf que le Roi et la Reine sont permutés. * Ainsi les Roi et Reine adverses se font face dans la même colonne. * Le roque est exécuté selon les règles standards: * o-o-o est le grand roque et o-o est le petit roque.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * Dans cette variante, les deux côtés ont les mêmes pièces. * Le roi blanc commence en d1 ou e1, et le roi noir en d8 ou e8. * Les tours sont dans les coins. * Les fous sont de cases de couleurs opposées. * La position des autres pièces sont aléatoires sur leur première ligne. * Les règles du roque sont habituelles.yacpdbIles Ålandpychess-1.0.0/lang/fr/LC_MESSAGES/pychess.po0000644000175000017500000060535213455543000017403 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # alaindresse , 2014 # JoeCocker, 2017 # CInlloc , 2016 # ecrucru, 2017-2019 # Fabian Michel , 2016 # gbtami , 2016 # Hervé Renault , 2018 # ludo , 2015 # MARTIN Damien , 2013-2014 # minicore , 2013 # Pierre Boulenguez, 2007 # RyDroid , 2014 # Xavier Lüthi , 2014 # Xavier Lüthi , 2014 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 20:21+0000\n" "Last-Translator: ecrucru\n" "Language-Team: French (http://www.transifex.com/gbtami/pychess/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Partie" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Nouvelle partie" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "Depuis la position _classique de départ" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "Depuis une _position personnalisée" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "Depuis une _notation de partie" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Jouer aux échecs en _ligne" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Charger une partie" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Charger une partie _récente" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "Charger une partie _distante" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Enregistrer la partie" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Enregistrer la partie _sous..." #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "E_xporter la position" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "Parta_ger la partie" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Niveau du joueur" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "_Analyser le jeu" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Editer" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_Copier PGN" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "_Copier FEN" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "_Moteurs" #: glade/PyChess.glade:518 msgid "Externals" msgstr "Modules externes" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Actions" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Proposer un _abandon" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Proposer un a_journement" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Proposer _ex-aequo" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Proposer une _pause" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Proposer de _reprendre" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Proposer d'annuler le coup" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Victoire au temps" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "Abandonner" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "_Demander de jouer" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "_Drapeau automatique au temps" #: glade/PyChess.glade:673 msgid "_View" msgstr "A_ffichage" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Rotation de l'échiquier" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Plein écran" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Quitter le mode _plein écran" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "_Afficher les panneaux latéraux" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_Informations du journal" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "_Flèche d'indice" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "Flèche de _menace" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "Base de données" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "Nouvelle base de _données" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "Sauvegarder la base de données sous" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "Créer un livre d'ouvertures Polyglot" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "Importer des parties" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "Importer des parties annotées depuis endgame.nl" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "Importer des parties depuis theweekinchess.com" #: glade/PyChess.glade:865 msgid "_Help" msgstr "A_ide" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "À propos des échecs" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Comment jouer" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Traduire PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Astuce du jour" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Client de jeu d'échecs" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Préférences" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "Le nom affiché du premier joueur humain, par exemple Pierre." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Nom du _premier joueur humain :" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "Le nom affiché du joueur invité, par exemple Marie." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Nom du _second joueur humain :" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Cacher les onglets quand une seule partie est en cours" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Lorsque cette option est sélectionnée, cache l'onglet en haut de la fenêtre de jeu lorsque ce n'est pas nécessaire." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "_Utiliser la croix principale [x] pour fermer toutes les parties" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "Si activé, toutes les parties sont fermées en cliquant sur la croix de l'application principale" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "_Retourner automatiquement l'échiquier vers le joueur humain" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Lorsque cette option est sélectionnée, l'échiquier pivote après chaque coup pour afficher le point de vue du joueur dont c'est le tour." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "_Promouvoir en dame" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "Si sélectionné, le pion sera alors promu automatiquement en reine sans afficher le dialogue de sélection de promotion." #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "Affichage en mode face à face" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Lorsque cette option est sélectionnée, les pièces noires sont affichées la tête pointant vers le bas. Adapté au jeu entre amis sur des appareils mobiles." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "Utiliser une échelle linéaire pour le score" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "Décoché : l'étirement exponentiel affiche toutes les valeurs possibles du score tout en élargissant les valeurs centrales proches de zéro.\n\nCoché : l'échelle linéaire se focalise sur les scores autour de la valeur zéro sans déformation. Les erreurs et les bourdes sont ainsi plus visibles." #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "Montrer les pièces _capturées" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "Lorsque cette option est sélectionnée, les pièces capturées seront affichées à côté de l'échiquier." #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Préférer la notation avec figurines" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "Lorsque cette option est sélectionnée, PyChess utilise des figurines pour désigner les pièces déplacées, plutôt que des lettres majuscules." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "Colorer les coups analysés" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "Si sélectionné, PyChess colorie les mouvements analysés suboptimales en rouge." #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "Montrer le temps de déplacement écoulé" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "Si sélectionné, on affiche le temps écoulé mis par un joueur pour le déplacement." #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "Afficher les évaluations" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "Lorsque cette option est sélectionnée, la valeur du coup proposé par le moteur d'analyse est affichée." #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "Montrer les numéros de partie FICS dans les onglets" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "Si sélectionné, les numéros de partie FICS s'affichent dans les onglets à côté du nom des joueurs." #: glade/PyChess.glade:1402 msgid "General Options" msgstr "Options générales" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "Échiquier totalement animé" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Anime les pièces, fait pivoter l'échiquier et plus encore. À utiliser sur une machine puissante." #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Animer seulement les coups" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Anime uniquement les mouvements des pièces." #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Aucune animation" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Aucune animation durant la partie. À utiliser sur les machines les moins puissantes." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animation" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_Général" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "Utiliser la _bibliothèque des ouvertures" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "Lorsque cette option est sélectionnée, PyChess suggérera les meilleurs ouvertures possibles dans le panneau d'aide." #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "Fichier du livre Polyglot :" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "Profondeur maximale du livre :" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "Utilisé par les moteurs de jeu et le créateur de livre Polyglot" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "Utiliser les tables de base _locale" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "Si sélectionné, PyChess regardera les fins de parties d'au plus 6 pièces à la recherche de résultats.\nLes tables sont téléchargeables depuis :\nhttp://www.olympuschess.com/egtb/gaviota/" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "Chemin de Gaviota TB :" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "Utiliser les tables de bases _connectées" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "Si activé, PyChess montrera grâce à http://www.k4it.de les résultats de jeu pour les parties disposant d'au plus 6 pièces" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "Ouverture, fin de jeu" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Utiliser _analyseur" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "L'analyseur va tourner en tâche de fond et analyser la partie. C'est nécessaire pour que le mode \"aide\" puisse fonctionner" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Utiliser _analyseur inverse" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "L'analyseur inverse va analyser la partie comme si c'était à votre adversaire de jouer. Ceci est nécessaire pour que le mode \"espion\" fonctionne" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "Temps maximum d'analyse en secondes :" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "Analyse infinie" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analyse" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_Astuces" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Désinstaller" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "Actif" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Panneaux latéraux installés" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "Panneaux latéraux" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "Chemin d'accès pour l'image de fond :" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "Écran d'accueil" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "Texture :" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "Contour :" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Cases blanches :" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "Grille" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Cases noires : " #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "Réinitialiser les couleurs" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "Échiquier avec coordonnées" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "Lorsque cette option est sélectionnée, les colonnes et les lignes de l'échiquier sont identifiées respectivement par des lettres et des chiffres. Cette désignation est conforme à la notation algébrique." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "Style de plateau" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "Police :" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "Coup" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "Échiquiers" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Thèmes" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Activer les sons" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "Un _joueur fait échec" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Un joueur déplace :" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Ex-aequo" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "La partie est _perdue :" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "La partie est _gagnée :" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Un joueur c_apture :" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "L'échiqiuer est disposé :" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "_Déplacements observés :" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "_Fins observées :" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "À court de _temps :" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "_Déplacement incorrect :" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "Activer l'alarme quand le temps _restant en seconde est:" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "Succès des _puzzles :" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "Choix de _variations :" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Jouer un son quand..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Sons" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "S_auvegarder automatiquement les parties terminées en PGN" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Enregistrer les parties vers :" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "Utiliser le format de nom :" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "Noms : #n1, #n2" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "Année, mois, jour : #y, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "Sauvegarder le _temps écoulé des déplacements" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "Sauv_egarder les évaluations de l'analyseur" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "Sauvega_rder la modification du classement" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "Indenter le fichier _PGN" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "Attention : l'option génère un fichier PGN formatté qui ne respecte pas les standards" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "Sauvegarder ses pr_opres parties seulement" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Sauvegarder" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Promotion" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Dame" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Tour" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Fou" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Cavalier" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Roi" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Promouvoir le pion en ?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "Charger une partie distante" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "Collez le lien à télécharger :" #: glade/PyChess.glade:4467 msgid "Default" msgstr "Défaut" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "Cavaliers" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Informations sur la partie" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Lieu :" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "Évolution ELO :" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "Pour chaque joueur, vous avez une probabilité de victoire ainsi que l'évolution de votre classement ELO selon que ce soit une défaite, un nul ou une victoire, ou tout simplement la variation finale du classement ELO" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "ELO noir :" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Noir :" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Ronde :" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "ELO blanc :" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Blanc :" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "Date :" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "Résultat :" #: glade/PyChess.glade:4818 msgid "Game" msgstr "Partie" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "Joueurs :" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Événement :" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "Format attendu en \"aaaa.mm.jj\" avec le joker possible \"?\"" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "Identification" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "Attributs additionnels" #: glade/PyChess.glade:5066 msgid "uci" msgstr "uci" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "xboard" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "Gérer les moteurs" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Commande :" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protocole :" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Paramètres :" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "Paramètres de commande requis pour le moteur d'échecs." #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "Afin de communiquer avec l'interface graphique, les moteurs d'échecs utilisent le protocole UCI ou xboard.\nDéfinissez ici le protocole que vous souhaitez utiliser." #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "Répertoire de travail :" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "Le dossier à partir duquel le moteur sera lancé." #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "Commande d'environnement :" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "Commande d'environnement du moteur (wine ou node)" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "Paramètres d'environnement :" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "Paramètres requis pour le processus d'environnement" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "Pays :" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "Pays d'origine du moteur" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "Commentaire :" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "Commentaire libre à propos du moteur de jeu" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "Environnement" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "Niveau préféré :" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "Le niveau 1 est le plus faible et le niveau 20 est le plus fort. Vous ne devez pas définir une valeur trop élevée si le moteur dépend de la profondeur de jeu" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "Restaurer les options par défaut" #: glade/PyChess.glade:5538 msgid "Options" msgstr "Options" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "Ajouter par dossier" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "Moteurs détectés" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "Racine :" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "Filtre" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Blanc" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Noir" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "Ignorer les couleurs" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "Événement" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "ECO" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "Elo" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "0" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "-" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Date" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "Lieu" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "Commentateur" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Résultat" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "1-0" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "0-1" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "1/2-1/2" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "Variation" #: glade/PyChess.glade:6410 msgid "Header" msgstr "Entête" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "Déséquilibre" #: glade/PyChess.glade:6789 msgid "White move" msgstr "Coup des blancs" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "Coup des noirs" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "Pas un mouvement de capture" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "Déplacé" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "Capturé" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "Couleur du tour" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "Pièce/Coup" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "Sous-FEN :" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "Motif" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "Scout" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Analyser le jeu" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "Utiliser l'analyseur :" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "Si l'analyseur détecte un coup où la différence d'évaluation (la différence entre l'évaluation pour ce qu'il pense être le meilleur coup et l'évaluation du coup joué) dépasse cette valeur, il ajoute une annotation pour ce coup (sous la forme de la variation principale du moteur pour le coup) dans le panneau d'annotation" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "Seuil de variation en centipions pour l'annotation :" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "Analyser à partir de la position actuelle" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "Analyser les mouvements des noirs" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "Analyser les mouvements des blancs" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "Ajouter les lignes de menace" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess recherche les moteurs de jeu disponibles. Veuillez patienter." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py :" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess :" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess :" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "Connexion serveur d'échecs en ligne FICS" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "Se connecter à des serveurs d'échecs en ligne" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "Mot de _passe :" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Nom :" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Se connecter en tant qu' _invité" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "Hôte :" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Po_rts :" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "Latence :" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "Utiliser la compensation de temps" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "_Inscription" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Défier : " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Envoyer un défi" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Défier :" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Lightning :" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Standard :" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Blitz :" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "2 min, échecs aléatoires Fischer, Noir" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 min + 6 s/coup, Blanc" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 min" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "_Initialiser les offres de parties" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Accepter" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Refuser" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "Envoyer toutes les requêtes" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Envoyer une requête" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Créer une requête" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Standard" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Blitz" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Lightning" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Ordinateur" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "Requêtes / Défis" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Classement" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Cadence" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "_Graphe des requêtes" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 Joueur prêt" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Défi" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Observer" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Démarrer conversation privée" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "Enregistré" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Invité" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "Titré" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "Liste des joueurs" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "Liste des parties" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "_Mes parties" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "Proposer l'a_bandon" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "Examiner" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "Aperçu" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "_Archivé" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "Aléatoire asymmétrique" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Editer une requête" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Sans décompte de temps" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minutes : " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr " Gain : " #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Cadence : " #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Paramètres de la pendule" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Pas de préférence" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Votre niveau : " #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Blitz)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Niveau de l'adversaire : " #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "Quand le bouton est actif, l'écart de force sera préservé\nentre vous et l'adversaire si :\na) votre classement pour le type de jeu recherché a changé\nb) vous changez la variante ou le contrôle du temps" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Centre :" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Tolérance :" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Masquer" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Force de l'adversaire" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Votre couleur" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Jouer avec les règles normales des échecs" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Jouer" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Variante" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Partie avec classement" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Accepter l'adversaire manuellement" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Options" #: glade/findbar.glade:6 msgid "window1" msgstr "Fenêtre 1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 de 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Rechercher :" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Précédent" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Suivant" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Nouvelle partie" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Commencer la partie" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "Copier FEN" #: glade/newInOut.glade:143 msgid "Clear" msgstr "Effacer" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "Coller FEN" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "Position initiale" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "Force de jeu du moteur (1=faible, 20=fort)" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "Côté blanc - Cliquez pour échanger les joueurs" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "Côté noir - Cliquez pour échanger les joueurs" #: glade/newInOut.glade:397 msgid "Players" msgstr "Joueurs" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "_Sans cadence" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "Blitz : 5 min" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "Rapide : 15 min + 10 sec/déplacement" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "Normale : 40 min + 15 sec/déplacement" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "Classique : 3 min / 40 coups" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "_Jouer les règles normales" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Jouer aux échecs aléatoires Fischer" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "Jouer à Qui Perd Gagne" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Charger une partie" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Position initiale" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Entrer l'évaluation de la partie" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "Compteur de demi-mouvements" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "En passant" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "Numéro de déplacement" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "Noirs O-O" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "Noirs O-O-O" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "Blancs O-O-O" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "Blancs O-O" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "Tourner le plateau" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Quitter PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Fermer _sans enregistrer" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "_Sauvegarder %d documents" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "Il y a %d parties avec des coups non sauvegardés. Enregistrer les changements avant de fermer ?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Sélectionner les parties à sauvegarder :" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Si vous ne sauvegardez pas, les changements des parties seront définitivement perdus." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "Paramètres détaillés des joueurs, du contrôle du temps et de la variante de jeu" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "_Adversaire :" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_Votre couleur :" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "_Démarrer la partie" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "Paramètres détaillés de connexion" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "Connexion automatique au démarrage" #: glade/taskers.glade:369 msgid "Server:" msgstr "Serveur :" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "_Connexion au serveur" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "Sélectionner un fichier d'échecs PGN, EPD ou FEN" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "_Récent :" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "Créer une nouvelle base" #: glade/taskers.glade:609 msgid "Open database" msgstr "Ouvrir une base" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "Lire des cours, résoudre des puzzles ou pratiquer des fins de parties" #: glade/taskers.glade:723 msgid "Category:" msgstr "Catégorie :" #: glade/taskers.glade:796 msgid "Start learning" msgstr "Démarrer l'apprentissage" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Astuce du jour" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Afficher des astuces au démarrage" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "Le lien donné ne permet pas de récupérer une partie d'échecs." #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://fr.wikipedia.org/wiki/Jeu_d'%C3%A9checs" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://fr.wikipedia.org/wiki/R%C3%A8gles_du_jeu_d%27%C3%A9checs" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Bienvenue" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Ouvrir une partie" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "Lecture de %s ..." #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "%(counter)s en-têtes de parties de %(filename)s importés" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "Le moteur %s a signalé une erreur :" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "Votre adversaire vous propose un match nul." #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "Votre adversaire vous propose un nul. Si vous acceptez cette proposition, la partie se terminera avec un score de 1/2 - 1/2." #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "Votre adversaire veut abandonner la partie." #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "Votre adversaire propose d'abandonner la partie. Si vous acceptez cette proposition, la partie terminera sans modification du niveau." #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "Votre adversaire veut ajourner le jeu." #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "Votre adversaire à demander d'ajourner la partie. Si vous acceptez cette proposition, la partie sera ajournée et vous pourrez la reprendre plus tard (quand votre adversaire est connecté et que les deux joueurs acceptent de reprendre la partie)." #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "Votre adversaire veut annuler %s déplacement(s)." #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "Votre adversaire propose d'annuler le(s) %s coups précédents. Si vous acceptez cette proposition, la partie continuera à partir de l'ancienne position." #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "Votre adversaire veut mettre en pause la partie." #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "Votre adversaire souhaite faire une pause. Si vous acceptez cette proposition, la pendule sera arrêtée jusqu'à ce que les deux joueurs acceptent de reprendre la partie." #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "Votre adversaire veut reprendre la partie." #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "Votre adversaire souhaite reprendre la partie. Si vous acceptez cette proposition, la pendule reprendra là où elle a été arrêtée" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "L'abandon" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "La chute du drapeau" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "La proposition de nul" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "La proposition d'abandon" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "La proposition d'ajournement" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "La proposition de pause" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "La proposition de reprendre" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "La proposition de changer de côté" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "La proposition d'annuler le dernier coup" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "abandonner" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "demander la victoire au temps" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "proposer un nul" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "proposer un abandon" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "proposer d'ajourner" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "proposer une pause" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "proposer de reprendre" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "proposer de changer de côté" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "Proposer d'annuler le dernier coup" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "demander à l'adversaire de jouer" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Votre adversaire n'a pas dépassé le temps imparti." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "La pendule n'a pas encore commencé." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "Vous ne pouvez pas changer de couleur pendant la partie." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "Vous avez essayé d'annuler trop de mouvements." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Votre adversaire vous demande de vous dépêcher." #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "Généralement, cela ne signifie rien puisque la partie est chronométrée, sauf pour faire plaisir à votre adversaire." #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "Accepter" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "Décliner" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "%s a été décliné par votre adversaire" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "Ré-envoyer %s ?" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "Ré-envoyer" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s a été retiré pas votre adversaire" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "Votre adversaire semble avoir changer d'avis." #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "Impossible d'accepter %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "Probablement parce que l'élément a été retiré." #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s retourne une erreur" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "Diagramme Chess Alpha 2" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "La partie actuelle est terminée. Vérifiez d'abord ses propriétés, s'il vous plaît." #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "La partie actuelle n'est pas terminée. L'exporter aurait un intérêt limité." #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "Est-ce que %s doit publier publiquement votre partie en PGN sur chesspastebin.com ?" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "Partie partagée à" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "(Le lien est disponible dans le presse-papiers.)" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Position d'échec" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Inconnu" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Position simple des pièces" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "Impossible de charger la partie car une erreur s'est produite lors de l'interprétation du fichier FEN" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "Diagramme HTML" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "Études d'échecs de yacpdb.org" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Partie d'échecs" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "Variation principale de l'analyseur" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "Importation des en-têtes de partie..." #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "Création du fichier d'index .bin..." #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "Création du fichier d'index .scout..." #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "Déplacement invalide." #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "Erreur de lecture %(mstr)s" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "La partie n'a pas pu être lue jusqu'à la fin à cause d'une erreur d'interprétation au coup %(moveno)s '%(notation)s'." #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "Le coup n'a pas réussi à cause de %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "Erreur pour analyser le mouvement %(moveno)s %(mstr)s" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "Image PNG" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "Lien de téléchargement" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "Extraction HTML" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "Techniques diverses" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "Diagramme texte" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "Hôte Inaccessible" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Arrêté" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Événement local" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Site local" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "min" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "sec" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "Illégal" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "Mat" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "Une nouvelle version %s est disponible!" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "Andorre" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "Emirats arabes unis" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "Afghanistan" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "Antigua-et-Barbuda" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "Anguilla" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "Albanie" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "Arménie" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "Angola" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "Antarctique" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "Argentine" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "Samoa américaines" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "Autriche" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "Australie" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "Aruba" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "Iles Åland" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "Azerbaïdjan" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "Bosnie-Herzégovine" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "Barbade" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "Bangladesh" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "Belgique" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "Burkina Faso" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "Bulgarie" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "Bahraïn" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "Burundi" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "Bénin" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "Saint-Barthélemy" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "Bermudes" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "Brunéi Darussalam" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "Bolivie (État plurinational de)" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "Bonaire, Saint-Eustache et Saba" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "Brésil" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "Bahamas" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "Bhoutan" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "Ile Bouvet" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "Botswana" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "Bélarus" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "Belize" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "Canada" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "Iles Cocos (Keeling)" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "Congo (la République démocratique du)" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "République centrafricaine" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "Congo" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "Suisse" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "Côte d'Ivoire" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "Iles Cook" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "Chili" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "Cameroun" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "Chine" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "Colombie" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "Costa Rica" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "Cuba" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "Cabo Verde" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "Curaçao" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "Ile Christmas" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "Chypre" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "Tchéquie" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "Allemagne" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "Djibouti" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "Danemark" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "Dominique" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "République dominicaine" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "Algérie" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "Equateur" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "Estonie" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "Egypte" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "Sahara occidental" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "Erythrée" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "Espagne" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "Ethiopie" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "Finlande" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "Fidji" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "Iles Malouines" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "Micronésie (États fédérés de)" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "Iles Féroé" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "France" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "Gabon" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "Royaume-Uni de Grande-Bretagne et d'Irlande du Nord" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "Grenade" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "Géorgie" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "Guyane française" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "Guernesey" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "Ghana" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "Gibraltar" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "Groenland" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "Gambie" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "Guinée" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "Guadeloupe" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "Guinée équatoriale" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "Grèce" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "Géorgie du Sud-et-les Îles Sandwich du Sud" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "Guatemala" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "Guam" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "Guinée-Bissau" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "Guyana" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "Hong Kong" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "Heard-et-Îles MacDonald" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "Honduras" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "Croatie" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "Haïti" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "Hongrie" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "Indonésie" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "Irlande" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "Israël" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "Ile de Man" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "Inde" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "Territoire britannique de l'océan indien" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "Iraq" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "Iran (la République islamique d')" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "Islande" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "Italie" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "Jersey" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "Jamaïque" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "Jordanie" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "Japon" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "Kenya" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "Kirghizistan" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "Cambodge" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "Kiribati" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "Comores" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "Saint-Kitts-et-Nevis" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "Corée (la République populaire démocratique de)" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "Corée (la République de)" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "Koweït" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "Iles Cayman" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "Kazakhstan" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "Laos (République démocratique populaire)" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "Liban" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "Sainte-Lucie" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "Liechtenstein" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "Sri Lanka" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "Libéria" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "Lesotho" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "Lithuanie" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "Luxembourg" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "Lettonie" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "Libye" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "Maroc" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "Monaco" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "Moldavie (la République de)" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "Monténégro" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "Saint-Martin (partie française)" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "Madagascar" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "Iles Marshall" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "Macédoine (l'ex‑République yougoslave de)" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "Mali" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "Myanmar" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "Mongolie" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "Macao" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "Iles Mariannes du Nord" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "Martinique" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "Mauritanie" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "Montserrat" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "Malte" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "Maurice" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "Maldives" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "Malawi" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "Mexique" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "Malaisie" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "Mozambique" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "Namibie" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "Nouvelle-Calédonie" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "Niger" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "Ile Norfolk" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "Nigérie" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "Nicaragua" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "Pays-Bas" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "Norvège" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "Népal" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "Nauru" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "Niue" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "Nouvelle-Zélande" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "Oman" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "Panama" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "Pérou" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "Polynésie française" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "Papouasie-Nouvelle-Guinée" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "Philippines" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "Pakistan" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "Pologne" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "Saint-Pierre-et-Miquelon" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "Pitcairn" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "Porto Rico" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "Palestine (État de)" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "Portugal" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "Palaos" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "Paraguay" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "Qatar" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "Réunion (La)" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "Roumanie" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "Serbie" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "Russie (la Fédération de)" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "Rwanda" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "Arabie saoudite" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "Iles Salomon" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "Seychelles" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "Soudan" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "Suède" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "Singapour" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "Sainte-Hélène, Ascension et Tristan da Cunha" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "Slovénie" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "Svalbard et l'Île Jan Mayen" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "Slovaquie" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "Sierra Leone" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "Saint-Marin" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "Sénégal" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "Somalie" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "Suriname" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "Soudan du Sud" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "Sao Tomé-et-Principe" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "El Salvador" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "Saint-Martin (partie néerlandaise)" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "Syrie (la République arabe)" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "Swaziland" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "Iles Turks-et-Caïcos" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "Tchad" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "Terres australes françaises" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "Togo" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "Thaïlande" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "Tadjikistan" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "Tokelau" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "Timor-Leste" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "Turkménistan" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "Tunisie" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "Tonga" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "Turquie" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "Trinité-et-Tobago" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "Tuvalu" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "Taïwan (Province de Chine)" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "Tanzanie (la République-Unie de)" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "Ukraine" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "Ouganda" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "Iles mineures éloignées des États-Unis" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "Etats-Unis d'Amérique" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "Uruguay" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "Ouzbékistan" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "Vatican (État de la Cité du)" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "Saint-Vincent-et-les Grenadines" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "Venezuela (République bolivarienne du)" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "Iles Vierges britanniques" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "Iles Vierges des États-Unis" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "Viet Nam" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "Vanuatu" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "Wallis-et-Futuna" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "Samoa" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "Yémen" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "Mayotte" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "Afrique du Sud" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "Zambie" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "Zimbabwe" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Pion" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "C" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "F" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "T" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "D" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "R" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "La partie s'est terminée par un match nul" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s gagne la partie" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s gagne la partie" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "La partie a été détruite" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "La partie est suspendue" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "La partie a été abandonée" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "Statut de la partie inconnu" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "Partie annulée" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "Parce que aucun des joueurs n'a suffisamment de pièce pour mettre en échec" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "Parce que la même position a été répétée trois fois d'affilée." #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "Parce que les 50 derniers coups n'ont rien apporté de nouveau." #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Parce que les deux joueurs ont dépassé leur limite de temps." #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "Parce que %(mover)s a fait un pat." #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "Parce que les deux joueurs ont accepté un match nul" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "Par arbitrage d'un administrateur" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "Parce que la partie a dépassé la longueur maximale" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "Parce que les %(white)s ont écoulé leur temps de jeu et que les %(black)s n'ont plus suffisamment de pièces pour mettre en échec" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "Parce que les %(black)s ont écoulé leur temps de jeu et que les %(white)s n'ont plus suffisamment de pièces pour mettre en échec" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "Parce que les deux joueurs ont le même nombre de pièces." #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "Parce que le roi a atteint la huitième rangée" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "Parce que %(loser)s a abandonné" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "Parce que %(loser)s a dépassé son temps réglementaire" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "Parce %(loser)s était échec et mat" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "Parce que %(loser)s s'est déconnecté" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "Parce que %(winner)s a moins de pièces" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "Parce que %(winner)s a perdu toutes ses pièces" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "Parce que le roi de %(loser)s a explosé" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "Parce que le roi de %(winner)s a atteint le centre" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "Parce que %(winner)s a mis en échec 3 fois" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "Parce que le roi de %(winner)s a atteint la huitième ligne" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "Parce que %(winner)s a repoussé la horde blanche" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "Parce qu'un joueur a perdu sa connexion" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "Parce que les deux joueurs ont décidé d'un ajournement" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "Parce que le serveur a été arrêté" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "Parce qu'un joueur a perdu sa connexion et que l'autre joueur a demandé un report de la partie" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "Parce que le joueur %(black)s a perdu la connexion au serveur et que le joueur %(white)s a demandé d'ajourner la partie" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "Parce que le joueur %(white)s a perdu la connexion au serveur et que le joueur %(black)s a demandé d'ajourner la partie" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "Parce que le joueur %(white)s a perdu la connexion au serveur" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "Parce que le joueur %(black)s a perdu la connexion au serveur" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "A cause d'une adjudication par l'administrateur. Aucune évaluation n'a été effectuée." #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "Parce que les deux joueurs ont accepté d'annuler le jeu. Aucune évaluation n'a été effectuée." #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "Du à la courtoisie d'un joueur. Aucune évaluation n'a été effectuée." #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "Parce qu'un joueur a annulé la partie, ou qu'un des joueurs n'avait pas déjà terminé son premier tour. Aucune modification de classement n'a eu lieu." #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "Parce qu'un joueur s'est déconnecté et qu'il y a trop peu de déplacement pour avoir un ajournement. Aucune évaluation n'a été effectuée." #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "Parce que le serveur a été éteint. Aucune évaluation n'a été effectuée." #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "Parce que le calculateur de %(white)s a rendu l'âme" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "Parce que le calculateur de %(black)s a rendu l'âme" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "Parce que la connexion au serveur a été perdue." #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "La raison est inconnue" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "Parce que l'objectif de l'entraînement est atteint" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "Échecs asiatiques : http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "Asiatique" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "Échecs thaïlandais Makruk : http://fr.wikipedia.org/wiki/Makruk" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "Thaïlandais (Makruk)" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "Échecs cambodgiens : http://www.khmerinstitute.org/culture/ok.html" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "Cambodgien" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "Ai-Wok : http://www.open-aurec.com/wbforum/viewtopic.php?p=199364#p199364" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "Ai-Wok" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "Échecs birmans Sittuyin : http://en.wikipedia.org/wiki/Sittuyin" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "Birman (Sittuyin)" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n* Pièces choisies aléatoirement (deux reines ou trois roques possibles)\n* Exactement un roi de chaque couleur\n* Pièces placées aléatoirement derrières les pions, SOUMIS A LA CONTRAINTE QUE LES FOUS SOIENT ÉQUILIBRÉS\n* Pas de roque\n* La position des Noirs ne doient pas être la même que celle des blancs" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Echecs aléatoires asymétriques" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "FICS atomique : http://www.freechess.org/Help/HelpFiles/atomic.html" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "Atomique" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Règle classique des échecs à l'aveugle\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "Partie à l'aveugle" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Règles des échecs classiques avec les pions non affichés\nhttp://fr.wikipedia.org/wiki/Partie_%C3%A0_l%27aveugle" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "Pions cachés" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Règles des échecs classiques avec les pièces non affichées\nhttp://fr.wikipedia.org/wiki/Partie_%C3%A0_l%27aveugle" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "Pièces cachées" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Règles des échecs classiques avec toutes les pièces en blanc\nhttp://fr.wikipedia.org/wiki/Partie_%C3%A0_l%27aveugle" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "Tout blanc" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "Blitz à quatre FICS : http://www.freechess.org/Help/HelpFiles/bughouse.html" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "Blitz à quatre" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "http://brainking.com/en/GameRules?tp=2\n* Placement aléatoire des pièces sur les 1ère et 8ème lignes\n* Roi positionné dans le coin droit du joueur\n* Couleur opposée des fous pour chaque joueur\n* Position noire obtenue par rotation centrale à 180°\n* Pas de roque" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Coin" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "Maison de fou FICS : http://www.freechess.org/Help/HelpFiles/crazyhouse.html" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "Maison de fou" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "EuroShogi : http://en.wikipedia.org/wiki/EuroShogi" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "EuroShogi" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "https://fr.wikipedia.org/wiki/%C3%89checs_al%C3%A9atoires_Fischer\nFICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Fischer aléatoire" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "Suicide en tant que \"giveaway\"" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "Les Noirs doivent capturer toutes les pièces blanches.\nLes Blancs doivent mater comme d'habitude.\nLes pions blancs des première et deuxième lignes peuvent sauter deux cases." #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "Horde" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "Amener légalement le roi au centre du plateau (e4, d4, e5, d5) fait gagner la partie instantanément!\nLes règles classiques s'appliquent dans tous les autres cas et un mat conclut la partie." #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "Roi de la colline" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "Un joueur commence avec un cavalier en moins" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "Handicap d'un cavalier" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "Qui perd gagne : http://fr.wikipedia.org/wiki/Qui_perd_gagne_(échecs)" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "Qui perd gagne" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "Règles classiques des échecs\nhttps://fr.wikipedia.org/wiki/%C3%89checs" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Normal" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "Un joueur commence avec un pion en moins" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "Handicap d'un pion" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\nLes pions blancs commencent sur la 5ème ligne et les pions noirs sur la 4ème ligne" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "Pions libres" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\nLes pions commencent en face à face sur les 2 lignes centrales" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "Pions poussés" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "Pre-chess: https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "Placement" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "Un joueur commence avec une reine en moins" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "Handicap de la reine" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "La mise en échec est interdite que ce soit pour soi ou l'adversaire.\nLe but est d'amener en premier son roi sur la huitième ligne.\nLa partie est nulle si les deux rois atteignent la huitième ligne durant le même tour.\nCette règle évite aux Noirs d'être désavantagés de ne pas avoir joué en premier.\nLes mouvements et les captures des pièces suivent les règles classiques." #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "Course des rois" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n* Pièces aléatoires (deux reines ou trois tours sont possibles)\n* Un roi par joueur\n* Pièces disposées aléatoirement derrière les pions\n* Pas de roque\n* Pièces en face-à-face de chaque côté" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Aléatoire" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "Un joueur commence avec une tour de moins" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "Handicap d'une tour" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n* Placement aléatoire des pièces derrière les pions\n* Pas de roque\n* Arrangement des pièces des Noirs en miroir des Blancs" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Aléatoire" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "Échecs suicide FICS : http://www.freechess.org/Help/HelpFiles/suicide_chess.html" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "Suicide" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "Variante développée par Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "Donjon" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "Victoire en donnant 3 échecs" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "Trois échecs" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\nhttp://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\nLes pions commencent sur leur 7ème ligne au lieu de leur 2ème!" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "Camps inversés" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n* Les Blancs sont disposés de façon classique.\n* Les Noirs le sont également, sauf que le Roi et la Reine sont permutés.\n* Ainsi les Roi et Reine adverses se font face dans la même colonne.\n* Le roque est exécuté selon les règles standards:\n* o-o-o est le grand roque et o-o est le petit roque." #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "Wildcastle" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n* Dans cette variante, les deux côtés ont les mêmes pièces.\n* Le roi blanc commence en d1 ou e1, et le roi noir en d8 ou e8.\n* Les tours sont dans les coins.\n* Les fous sont de cases de couleurs opposées.\n* La position des autres pièces sont aléatoires sur leur première ligne.\n* Les règles du roque sont habituelles." #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "Wildcastle mélangé" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "La connexion a été coupée - message \"fin de fichier\" reçu" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' n'est pas un nom enregistré" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "Le mot de passe saisi est invalide.\nSi vous l'avez oublié, allez sur http://www.freechess.org/password pour en demander un nouveau par courriel." #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "Désolé '%s' est déjà connecté" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "'%s' est un nom enregistré. Si c'est le vôtre, saisissez le mot de passe. " #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "Suite à des abus, les connexions en mode invité sont interdites. \nVous pouvez toujours vous enregistrer sur http://www.freechess.org" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Connexion au serveur" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Début de transaction" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Paramètrage de l'environnement" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "%(player)s est %(status)s" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "ne joue pas" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Variantes \"Wild\"" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Connecté" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Déconnecté" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "Disponible" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "Lecture" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "Inactif" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "Analyse en cours" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "Indisponible" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "Partie simultanée" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "En tournoi" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Non noté" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Noté" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d min" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr " + %d s" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "%(player)s joue %(color)s" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "blanc" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "noir" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "C'est la suite d'un jeu suspendu" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "Niveau de l'adversaire" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "Accepter manuellement" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Privé" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Erreur de connexion" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Erreur à l'authentification" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "La connexion a été fermée" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Erreur d'adressage" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Déconnexion automatique" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Vous avez été déconnecté parce que vous étiez inactif pendant plus de 60 minutes" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "Connexions anonymes désactivées par le serveur FICS" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "1 minute" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "3 minutes" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "5 minutes" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "15 minutes" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "45 minutes" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "Chess960" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "Analysé" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Autre" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "Bullet" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Administrateur" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "Compte \"à l'aveugle\" (blindfold)" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Compte \"équipe\" (team)" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "Non-enregistré" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "Conseiller en échecs" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "Agent de service" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "Directeur de tournoi" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "Mamer Manager" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "Grand Maître" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "Maître International" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "Maître FIDE" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "Grand Maître féminin" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "Maître Internationale Féminine" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "Maître FIDE féminine" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "Compte fictif" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "Candidat Maître" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "Arbitre FIDE" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "Maître National" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "Maître commentateur" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "C" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "T" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "U" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "CA" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "AS" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "DT" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "TM" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "GM" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "MI" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "MF" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "GMf" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "MIF" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "FMf" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "D" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "H" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "CM" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "FA" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "NM" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "DM" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "PyChess n'a pas pu charger les paramètres de votre panneau" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "Les paramètres des panneaux ont été réinitialisés. Contactez les développeurs si le problème persiste." #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "Amis" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "Administrateur" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "Plus de canaux" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "Plus de joueurs" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "Ordinateurs" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "À l'aveugle" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "Invités" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "Observateurs" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "Continuer" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "Pause" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "Demander les permissions" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "Des fonctionnalités de PyChess requièrent votre autorisation pour télécharger des modules externes" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "L'interrogation de la base de données requiert scoutfish" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "La base des ouvertures requiert chess_db" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "La compensation de la latence ICC requiert timestamp" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "Ne pas afficher la fenêtre au démarrage" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "Aucune consersation selectionée" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "Chargement des informations du joueur" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "Réception de la liste des joueurs" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "Votre tour." #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "Indice" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "Meilleur coup" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "Bien joué ! %s terminé." #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "Bien joué !" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "Suivant" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "Continuer" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "Pas le meilleur coup !" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "Réessayer" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "Super ! Regardons maintenant quelle est la ligne principale." #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "Retour à la ligne principale" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "Fenêtre d'Information PyChess" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "sur" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "Cours" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "Leçons" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "Puzzles" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "Fins de parties" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "Vous n'avez pas encore ouvert de conversation" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "Seuls les utilisateurs enregistrés peuvent discuter sur ce canal" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "Analyse de la partie en cours..." #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "Voulez-vous l'annuler ?" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "Abandonner" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "Vous avez des modifications non enregistrées. Voulez-vous les sauvegarder avant de quitter ?" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "Option" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "Valeur" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "Sélectionner un moteur" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "Fichiers exécutables" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "Impossible d'ajouter %s" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "Le moteur est déjà installé sous le même nom" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "n'est pas installé" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "%s n'est pas exécutable d'après ses propriétés de fichier" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "Essayez chmod a+x %s" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "Le fichier exécutable ne semble pas correct" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "Choisir un dossier" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "Importer" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "Nom de fichier" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "Choisir le répertoire de travail" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "Voulez-vous vraiment restaurer les options par défaut du moteur de jeu ?" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "Nouveau" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "Attribut" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "Choisir une date" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "mouvement invalide du moteur : %s" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Proposer une revanche" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "Observe %s" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Jouer la revanche" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Annuler un coup" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Annuler deux coups" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "Vous avez envoyé une proposition d'abandon" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "Vous avez proposé un ajournement de la partie" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Vous avez proposé un match nul" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "Vous avez envoyé une proposition de pause" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "Vous avez proposé de reprendre la partie" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "Vous avez envoyé une proposition d'annuler le dernier coup" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "Vous avez demandé à votre adversaire de jouer" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "Vous avez appelé le drapeau" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Le calculateur, %s, a rendu l'âme" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "PyChess a perdu la connexion avec le moteur, probablement en raison de son plantage.\n\nVous pouvez essayer de démarrer une nouvelle partie avec le moteur, ou de jouer contre un autre." #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "La partie peut être annulée automatiquement sans perte de classement parce que deux mouvements n'ont pas encore été faits." #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "Proposer un abandon" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "Votre adversaire doit confirmer l'abandon de la partie parce qu'au moins deux mouvements ont été déjà faits." #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "Cette partie ne peut pas être ajournée car au moins un des joueurs est un invité" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "Demander Nulle" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "Reprendre" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "Proposer une pause" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "Proposer de reprendre" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "Annuler le coup" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "Proposer d'annuler le coup" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "a eu un retard de connexion de 30 secondes" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "a des retards de connexion mais n'a pas été deconnecté" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "Continuer d'attendre un adversaire, ou tenter d'ajourner le jeu?" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "Attendez" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "Ajourner" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "Revenir à la position initiale" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "Reculer d'un coup" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "Retour à la ligne principale" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "Retour à la ligne parente" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "Avancer d'un coup" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Aller à la dernière position" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "Trouver la position dans la base de données" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "Sauvegarder les flèches et les cercles" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "Aucune base de données n'est encore ouverte." #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "La position n'existe pas dans la base de données." #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "Une position approximative a été trouvée. Voulez-vous l'afficher ?" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Humain" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minutes :" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "Coups :" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Incrément" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "Classique" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "Rapide" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "%(name)s %(minutes)d min / %(moves)d coups %(duration)s" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "%(name)s %(minutes)d min %(sign)s %(gain)d sec/coup %(duration)s" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "%(name)s %(minutes)d min %(duration)s" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "Durée estimée : %(min)d - %(max)d minutes" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "Handicap" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "Autre (règles standards)" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "Autre (règles non standards)" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "Variantes asiatiques" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr " échec" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Disposer les pièces" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "Saisissez ou collez ici une partie PGN ou une position FEN" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Entrer dans la partie" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "Sélectionner une bibliothèque" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "Bibliothèques d'ouvertures" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "Sélectionner le chemin des tables Gaviota" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Ouvrir le fichier de son" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "Fichiers de son" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Aucun son" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Beep" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Sélectionnez un fichier son..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "Panneau non décrit" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "Sélectionner l'image d'arrière-plan" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "Images" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "Sélectionner le chemin pour l'enregistrement automatique" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "PyChess est une interface de jeu d'échecs open-source qui peut être améliorée par tous les joueurs enthousiastes : rapports de bugs, code source, documentation, traductions, demandes de fonctionnalités, assistance aux joueurs... Prenez contact sur http://www.pychess.org" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "PyChess prend en charge un large éventail de moteurs d'échecs, de variantes, de serveurs en ligne et de cours théoriques. C'est une application de bureau parfaite pour accroître commodément vos compétences aux échecs." #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "Les versions de PyChess portent le nom de champions du monde historiques aux échecs. Connaissez-vous le nom du champion actuel ?" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "Savez-vous que vous pouvez aider à traduire PyChess dans votre langue via le menu Aide > Traduire PyChess ?" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "Une partie est constituée d'une ouverture, d'un milieu de partie et d'une fin de partie. PyChess peut vous entraîner dans chaque phase grâce à son livre d'ouverture, à ses moteurs de jeu et à son module d'apprentissage." #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "Savez-vous qu'il est possible de terminer une partie d'échecs en seulement 2 tours ?" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "Savez-vous qu'un cavalier est plus actif au centre de l'échiquier ?" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "Savez-vous que le déplacement de la reine en tout début de partie n'offre généralement pas d'avantage particulier ?" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "Savez-vous qu'avoir et conserver une paire de fou sur des cases de couleurs opposées est très fort ?" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "Savez-vous que les tours sont souvent engagées tardivement dans une partie ?" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "Savez-vous que le roi peut se déplacer de deux cases sous certaines conditions ? Ce mouvement est appelé le «roque»." #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "Savez-vous que le nombre de parties possibles est plus grand que celui des atomes dans l'univers ?" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "Vous pouvez démarrer une partie via le menu Partie > Nouvelle partie, puis choisissez les joueurs, la cadence et la variante de jeu." #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "Contre l'ordinateur, vous pouvez choisir parmi 20 niveaux de difficulté. Le temps de réflexion disponible pour le moteur de jeu en dépendra." #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "Le niveau 20 donne au moteur d'échecs une autonomie totale dans la gestion de son temps de jeu." #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "Pour sauvegarder une partie Partie > Enregistrer la partie sous, choisissez un nom et où le fichier doit être sauvé. En bas, choisissez l'extension du fichier et Enregistrer." #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "Le tombé du drapeau est l'arrêt de la partie quand le temps de votre adversaire est écoulé. S'il vous reste du temps, cliquez sur le menu Actions > Appel du drapeau pour revendiquer la victoire." #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "Appuyez sur Ctrl+Z pour demander à votre adversaire s'il veut bien annuler le dernier coup joué. Contre un ordinateur ou dans une partie amicale, l'annulation est généralement acceptée." #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "Pour jouer en plein écran, appuyez sur la touche F11. Refaites-le pour le quitter ce mode." #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "PyChess produit des sons lors des parties s'ils sont activés dans les préférences : menu Éditer > Préférences > onglet Sons > Activer les sons." #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "Savez-vous qu'une partie est généralement terminée après 20 à 40 coups par joueur ? La durée est estimée quand vous configurez une nouvelle partie." #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "Le format de fichier standard pour les échecs est PGN. Il signifie «Portable Game Notation» (notation portable de parties). Il ne faut pas le confondre avec le format PNG qui est utilisé pour sauvegarder des dessins et des images simples." #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "Vous pouvez partager une position d'échecs au format d'échange FEN qui signifie «Forsyth-Edwards Notation». Ce format est aussi adapté pour les variantes d'échecs." #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "Vous devez définir un moteur d'échecs dans les préférences afin d'utiliser l'analyse locale. Par défaut, PyChess vous recommande d'utiliser le moteur gratuit Stockfish qui est reconnu comme le plus fort au monde." #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "La flèche d'indice vous montre le meilleur coup possible dans la position courante. Activez-la avec le raccourci Ctrl+H du menu Affichage." #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "Le mode espion analyse les menaces, c'est-à-dire le meilleur coup que jouerait votre adversaire si c'était à lui de jouer. Activez-le avec le raccourci Ctrl+Y depuis le menu Affichage." #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "Ponder est une des options d'un moteur d'échecs qui consiste à l'autoriser à réfléchir alors que ce n'est pas son tour. Ceci consomme plus de ressources matérielles sur votre ordinateur." #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "MultiPV est une option de certains moteurs d'échecs qui affiche les meilleurs coups alternatifs dans le panneau d'indices. Leur nombre peut être adapté depuis les options du moteur, ou en double-cliquant sur le chiffre par défaut du panneau d'indices." #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "Au risque de vous faire passer pour un tricheur, l'analyse locale de position ne peut pas être utilisée durant une partie en ligne non terminée." #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "Une évaluation de +2,3 est un avantage pour les Blancs de plus de 2 pions, même si les Blancs et les Noirs ont le même nombre de pions. La position des pièces et leur mobilité sont quelques uns des facteurs qui contribuent à la détermination du score." #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "PyChess inclut un moteur d'échecs analysant n'importe quelle position d'échecs classique ou de variante. Gagner contre PyChess est une manière cohérente de progresser aux échecs." #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "Le classement est votre force de jeu : 1500 est un bon joueur moyen, 2000 est un champion national et 2800 est le meilleur champion du monde. Dans les propriétés de la partie accessible depuis le menu Partie, la différence de points vous donne votre probabilité de gagner et l'évolution projetée de votre classement. Si celui-ci n'est pas stabilisé, apposez un point d'interrogation '?' à la fin (exemple: 1399?)." #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "Plusieurs systèmes de notation existent pour évaluer votre niveau aux échecs. Le plus commun est ELO (de son créateur Arpad Elo) établi en 1970. Schématiquement, le concept est d'engager ±20 points dans une partie que vous gagnerez ou perdrez proportionnellement à l'écart de points ELO que vous avez avec votre adversaire." #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "Chaque moteur d'échecs a sa propre fonction d'évaluation. Il est normal d'obtenir différents scores pour une même position." #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "La bibliothèque d'ouvertures vous donne les mouvements qui sont considérés comme bons d'un point de vue théorique. Vous êtes libre de jouer n'importe quel autre mouvement autorisé à tout moment." #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "Les tables Gaviota sont des positions précalculées qui indiquent l'issue possible d'une position en termes de victoire, de défaite ou de nul." #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "Savez-vous que votre ordinateur est trop petit pour stocker une base de fins de parties de 7 pièces ? C'est pourquoi la base Gaviota est limitée à 5 pièces." #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "Une table de positions peut être connectée à PyChess ou à un moteur d'échecs compatible." #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "Le DTZ est la distance jusqu'au score zéro, c'est-à-dire le nombre de coups restants avant de pouvoir considérer la partie comme nulle." #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "Les variantes d'échecs consistent à changer la position de départ, les règles du jeu, le type des pièces... La tactique étant totalement chamboulée, vous devez utiliser des moteurs de jeu dédiés pour défier l'ordinateur." #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "Dans la variante Chess960, les pièces principales sur les première et huitième lignes sont mélangées selon un ordre précis. Par conséquent, vous ne pouvez pas employer la bibliothèque d'ouvertures et cela change vos habitudes tactiques." #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "Aux échecs crazyhouse, les pièces capturées changent de camp et peuvent réapparaître sur l'échiquier à un tour ultérieur." #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "Les termes \"suicide\", \"give away\" et \"antichess\" désignent tous la même variante de jeu : vous devez donner vos pièces à votre adversaire en forçant les captures comme au jeu de dames. Le résultat de la partie peut changer du tout au tout si vous effectuez un mouvement incorrect." #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "Jouer la variante \"horde\" dans PyChess consiste à détruire une armée de 36 pions blancs à l'aide d'un jeu normal de pièces noires." #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "Vous seriez intéressé pour jouer à la variante «roi de la colline» si votre objectif est de placer le roi au centre de l'échiquier plutôt que de le protéger d'un échec dans un coin comme à l'habitude." #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "Dans la variante des échecs atomiques, les pièces sont détruites tout autour d'une case où une capture a eu lieu." #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "Les joueurs expérimentés peuvent jouer à l'aveugle en commençant une nouvelle variante de jeu." #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "Vous devriez vous enregistrer en ligne pour jouer sur un serveur d'échecs, de sorte de pouvoir retrouver vos parties plus tard et sauvegarder votre classement. Dans les préférences, PyChess a toujours la possibilité de sauvegarder localement vos parties." #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "La compensation de temps est une fonctionnalité qui évite de retirer du temps à votre horloge à cause de la latence de votre connexion Internet. Le module peut être téléchargé à partir du menu menu Éditer > Modules externes." #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "Vous pouvez jouer contre des moteurs d'échecs sur un serveur Internet. Utilisez le filtre pour les inclure ou exclure parmi les joueurs disponibles." #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "La communication avec un serveur d'échecs Internet n'est pas standardisée. Par conséquent, vous pouvez uniquement vous connecter aux serveurs d’échecs pris en charge par PyChess, comme freechess.org ou chessclub.com." #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "PyChess utilise le module externe Scoutfish pour évaluer les bases de données d'échecs. Par exemple, il est possible d'extraire les parties où quelques pièces sont dans une position donnée." #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "Parser/ChessDB est un module externe utilisé par PyChess pour afficher les résultats possibles de la position courante." #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "SQLite est un module interne utilisé pour décrire les fichiers PGN et qui accélère la recherche de parties." #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "PyChess génère 3 informations quand un fichier PGN est ouvert : .sqlite (description), .scout (positions) et .bin (mouvements et résultats). Ces fichiers peuvent être supprimés manuellement si nécessaire." #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "PyChess utilise des cours hors-ligne pour vous apprendre les échecs. Vous ne serez alors jamais déçu si vous n'avez aucune connexion Internet." #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "Pour commencer à apprendre, cliquez sur le bouton livre disponible sur la page d'accueil. Ou choisissez la catégorie à côté du bouton afin de démarrer l'activité directement." #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "Les cours sont des parties commentées pour apprendre par étapes la stratégie et les principes du jeu. Laissez-vous guider en regardant et lisant." #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "Quel que soit le nombre de pions, une fin de partie commence quand l'échiquier contient certaines pièces principales : 1 tour contre 1 fou, 1 dame contre 2 tours, etc... Connaître les coups vous aidera à ne pas rater l'échec et mat !" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "Un puzzle est un ensemble de positions simples et classifiées par thème pour lequel vous devez deviner les meilleurs coups. Ceci vous aide à comprendre les motifs pour conduire une attaque ou une défense précis." #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "Une leçon est une étude complexe qui explique la tactique dans une position donnée. Il est fréquent d'avoir des cercles et des flèches affichés sur l'échiquier pour se concentrer sur le comportement des pièces, les menaces, etc..." #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "FEN nécessite 6 champs de données.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "FEN requiert au moins 2 champs de données dans fenstr.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "Le champ de position des pièces nécessite 7 barres obliques.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "Le camp du joueur doit être w (blanc) ou b (noir).\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "Le champ pour le roque n'est pas légal.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "Coordonnée invalide pour la case en passant.\n\n%s" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "Pièce promue invalide." #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "le coup nécessite une pièce et une position" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "la position capturée (%s) est incorrecte" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "la capture du pion sans pièce à prendre est impossible" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "la position de fin (%s) est incorrecte" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "et" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "obtient le nul" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "mate" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "met l'adversaire en échec" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "amélioré la sécurité du roi" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "améliore légérement la sécurité du roi" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "met une tour sur une colonne ouverte" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "met la tour sur une colonne semi-ouverte" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "met le fou en fianchetto : %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "promeut le pion en %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "roque" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "reprend une pièce" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "sacrifie du matériel" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "échange une pièce" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "capture une pièce" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "protège un %s" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "menace de prendre une pièce par %s" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "fait pression sur %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "défend %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "cloue un %(oppiece)s ennemi au %(piece)s en %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "Les blancs posent une nouvelle pièce en%s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "Les noirs postent une nouvelle pièce en : %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "%(color)s a un nouveau pion passé en %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "semi-ouverte" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "dans la colonne %(x)s%(y)s" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "dans les colonnes %(x)s%(y)s" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "%(color)s a des pions doublés %(place)s" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "%(color)s a des nouveaux pions doublés %(place)s" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "%(color)s a un pion isolé en colonne %(x)s" msgstr[1] "%(color)s a des pions isolés dans les colonnes %(x)s" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "%s adopte une formation stonewall" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "%s ne peut plus faire de roque" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "%s ne peut plus faire de grand roque" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "%s ne peut plus faire de petit roque" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "Les %(opcolor)s ont un nouveau fou piégé en %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "avance un pion : %s" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "avance un pion vers la rangée : %s" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "déplace un %(piece)s plus près du roi adverse : %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "Développe un %(piece)s: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "Rend un %(piece)s plus actif : %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "Les blancs devraient mener une attaque de pions sur l'aile droite" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "Les noirs devraient mener une attaque de pions sur l'aile gauche" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "Les blancs devraient mener une attaque de pions sur l'aile gauche" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "Les noirs devraient mener une attaque de pions sur l'aile droite" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "Les noirs ont une position plutôt resserrée" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "Les noirs ont une position légèrement resserrée" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "Les blancs ont une position plutôt resserrée" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "Les blancs ont une position légèrement resserrée" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "Crier" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "Crier" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "Canal non officiel %d" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "Filtres" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "Le panneau des filtres expose différents critères pour réduire la liste des parties" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "Modifier le filtre sélectionné" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "Supprimer le filtre sélectionné" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "Ajouter un nouveau filtre" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "Séq" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "Créer une nouvelle séquence dont les conditions peuvent être satisfaites à différents moments du jeu" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "Sér" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "Créer une nouvelle séquence en série dont les conditions peuvent être satisfaites pour des (demi-)mouvements consécutifs" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "Filtrer la liste des parties selon divers critères" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "Séquence" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "Série" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "Ouvertures" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "Le panneau des ouvertures peut filtrer les parties par mouvements d'ouverture" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "Coup" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "Parties" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "Victoires %" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "Filtrer les parties par mouvements d'ouverture" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "Aperçu" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "Le panneau de prévisualisation peut filtrer les parties avec les mouvements actuels" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "Filtrer les parties par les mouvements de la partie courante" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "Ajouter un filtre sous-FEN depuis la position/cercles" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "Importer un fichier PGN" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "Sauvegarder le fichier PGN sous..." #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "Ouvrir" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "Ouverture des parties..." #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "Sauvegarder sous..." #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "Ouvrir une partie d'échecs" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "Recréation des index..." #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "Préparation de l'importation..." #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "%s parties traitées" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "Créer un nouveau livre d'ouvertures Polyglot" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "Créer un livre Polyglot" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "Créer une nouvelle base PGN" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "Le fichier '%s' existe déjà." #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "%(path)s\ncontient %(count)s parties" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "Id" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "B Elo" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "N Elo" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "Ronde" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "Longueur" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "Contrôle du temps" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "Premières parties" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "Parties précédentes" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "Parties suivantes" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "Archivé" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "Liste des parties ajournées et historisées" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Pendule" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Type" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Date/Heure" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr " avec qui vous avez une partie ajournée \"%(timecontrol)s %(gametype)s\" est en ligne." #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "Demander à poursuivre" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "Examiner la partie ajournée" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "Conversations" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "Liste des canaux du serveur" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Chat" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "Info" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "Console" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "Interface en ligne de commande vers le serveur d'échecs" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Gagné" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Nulle" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Perdu" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "Besoin" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "Meilleur" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "Avec FICS, le classement \"Wild\" considère l'ensemble des cadences de jeu :\n" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "Sanctions" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Adresse électronique" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Dépensé" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "Connectés au total" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Connexion en cours" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "Identité" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "Vous êtes enregistré comme invité et bénéficiez d'une période d'essai de 30 jours. Au-delà, votre compte restera actif mais quelques restrictions s'appliqueront, comme l'absence de vidéos premium, canaux réduits... Pour vous enregistrer, allez à " #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "Vous êtes enregistré comme visiteur n'ayant pas la possibilité de jouer des parties classées. De ce fait, vous ne pouvez pas bénéficier de toutes les opportunités de jeu tant que vous ne créez pas de compte à" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "Liste des parties" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "Liste des parties en cours" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Parties en cours : %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "Informations" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "Liste des annonces du serveur" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "Évaluer" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "Suivre" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "Liste des joueurs" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "Liste des joueurs" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Nom" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "État" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "Joueurs : %d" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "Le bouton de lien est désactivé parce que vous êtes enregistré comme invité. Les invités ne peuvent pas être classés, donc le bouton n'aurait aucun effet" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Défier : " #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "Si activé, vous pouvez refuser les joueurs acceptant vos demandes" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "Cette option n'est pas disponible parce que vous défier un joueur" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Editer une requête " #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "%(minutes)d min + %(gain)d s/coup" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Manuel" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "N'importe quel niveau" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "Connecté en tant qu'invité, vous ne pouvez pas jouer de partie évaluée." #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "L'option \"sans cadence\" étant sélectionnée, vous ne pouvez pas jouer de partie. " #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "et sur FICS, les parties jouées sans contrôle de temps ne peuvent pas être évaluées." #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "Cette option n'est pas disponible, parce que vous défiez un invité, " #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "et les invités ne peuvent pas jouer de parties évaluées." #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "L'option \"sans cadence\" étant sélectionnée, vous ne ne pouvez pas choisir de variante, " #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "et sur FICS, les parties sans contrôle de temps suivent les règles normales des échecs" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "Modifier la tolérance" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "Graphique des parties" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "Gérer les demandes de partie graphiquement" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " min" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "Parties disponibles" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "Gérer les requêtes et les défis" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "Effet sur les classements de la fin de partie" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "Victoire :" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "Nul :" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "Défaite :" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "Nouveau RD :" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Requêtes actives : %d" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "désire reprendre la partie %(gametype)s ajournée %(time)s." #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr " vous challenge pour une partie \"%(time)s %(rated)s %(gametype)s\"" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "Où %(player)s joue %(color)s." #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "Internet (ICS)" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "Déconnecter" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "Nouvelle partie de 1 minute" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "Nouvelle partie de 3 minutes" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "Nouvelle partie de 5 minutes" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "Nouvelle partie de 15 minutes" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "Nouvelle partie de 25 minutes" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "Nouvelle partie Chess960" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "Vous devez activer kibitz pour voir ici les messages automatiques." #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "Vous ne pouvez avoir que 3 requêtes ouvertes simultanément. Voulez-vous effacer toutes vos demandes pour créer la nouvelle ?" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "Vous ne pouvez pas y toucher en examination de partie." #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "a décliné votre proposition de jeu" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "vous a censuré" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "aucun jeu ne vous liste" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "utilisation d'une formule ne correspondant pas à votre demande de correspondance :" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "Accepter manuellement" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "Accepter automatiquement" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "évaluation de l'ensemble maintenant" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "Proposition mise à jour" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "Vos propositions ont été supprimées" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "est arrivé" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "est parti" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "est présent" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Détecter le type automatiquement" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "Erreur au chargement de la partie" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Sauvegarder la partie" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "Exporter la position" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Type de fichier inconnu '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "PyChess n'a pas pu sauvegarder '%(uri)s' car il ne reconnaît pas le format '%(ending)s'." #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Impossible de sauver le fichier '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "Vous n'avez pas les droits suffisants pour sauvegarder le fichier.\nAssurez-vous d'avoir donné le bon chemin puis réessayez." #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Remplacer" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Le fichier existe" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Un fichier nommé '%s' existe déjà. Voulez-vous le remplacer?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "Le fichier existe déjà dans '%s'. Si vous le remplacez, son contenu sera écrasé." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Impossible de sauvegarder le fichier" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess n'est pas capable de sauvegarder la partie" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "L'erreur est : %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "Il y a %d partie avec des coups non sauvegardés." msgstr[1] "Il y a %d parties avec des coups non sauvegardés." #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "Sauvegarder les coups avant de fermer ?" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "Impossible d'enregistrer dans le fichier cible.\nEnregistrer les parties avant de fermer?" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "contre" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "_Sauvegarder %d document" msgstr[1] "_Sauvegarder %d documents" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "Sauvegarder la partie courante avant de la fermer ?" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "Impossible d'enregistrer dans le fichier cible.\nEnregistrer la partie en cours avant de la fermer?" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Il ne sera pas possible de continuer cette partie plus tard\nsi vous ne la sauvegardez pas." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Tous les fichiers d'échecs" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "Annotation" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "Partie commentée" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "Rafraîchir" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "Ajouter un premier commentaire" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "Ajouter un commentaire" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "Éditer un commentaire" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "Bon coup" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "Mauvais coup" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "Excellent coup" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "Très mauvais coup" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "Coup intéressant" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "Coup suspect" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "Coup forcé" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "Ajouter une annotation de la position" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "Tendance nulle" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "Position non claire" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "Avantage léger" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "Avantage modéré" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "Avantage décisif" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "Avantage écrasant" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "Zugzwang (coup forcé)" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "Avantage de développement" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "Initiative" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "En attaquant" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "Compensation" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "Contre-jeu" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "Pressé par le temps" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "Ajouter une annotation" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "Commentaire" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "Symboles" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "Toutes les évaluations" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "Supprimer" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "Pas de contrôle du temps" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "mins" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "secs" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "%(time)s pour %(count)d coups" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "coup" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "ronde %s" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "Indices" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "L'écran d'indice fournira des conseils de l'ordinateur à chaque étape du jeu." #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Panneau officiel de PyChess." #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Bibliothèque d'ouvertures" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "Le livre des ouvertures va essayer de vous inspirer pendant la phase d'ouverture en vous montrant les coups les plus joués par des maîtres." #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "Analyse par %s" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "%s va essayer de prédire quel est le meilleur déplacement et qui de noir ou blanc a l'avantage" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "Menace analysée par %s" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "%s va identifier quelles menaces pourraient exister si c'était à votre adversaire de jouer" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "Calculs en cours..." #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "Les scores de l'analyseur sont exprimés en unité de pions au bénéfice positif des Blancs. En double-cliquant sur la ligne, vous pouvez les insérer comme variante dans le panneau Annotation." #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "Ajouter des suggestions peut vous aider à trouver des idées, mais ralentit l'analyse de l'ordinateur." #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "Tableau de fin de partie" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "La table de fin de jeu montre une analyse exacte uniquement lorsqu'il ne reste que quelques pièces sur l'échiquer." #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "Mat en %d" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "Dans cette position,\nil n'y a pas de coup légal." #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "Le panneau de chat vous permet de communiquer avec votre adversaire pendant le jeu, en supposant qu'il ou elle soit intéressé(e)." #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Commentaires" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "Ce panneau de commentaires va essayer d'analyser et d'expliquer les coups joués." #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Position initiale" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "%(color)s déplace un %(piece)s en %(cord)s" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "Moteurs" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "Durant une partie, le panneau d'affichage du moteur montre le résultat des calculs du moteur d'échecs." #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "Aucun moteur d'échecs (Intelligence Artificielle) ne participe à ce jeu." #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Coups joués" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "La feuille de jeu assure le suivi des coups des joueurs et vous permet de naviguer dans l'historique du jeu." #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Score" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "Le panneau de score essaie d'évaluer les positions et vous montre un graphe de la progression du jeu." #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "Pratiquer des fins de parties contre l'ordinateur" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "Titre" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "Étude hors ligne de cours FICS" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "Auteur" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "Leçons interactives pour deviner le coup" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "Source" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "Progression" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "Études Lichess issues de parties de grands maîtres ou de compositions" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "Autres" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "Apprendre" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "Quitter l'apprentissage" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "lichess" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "wtharvey" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "yacpdb" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "leçons" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "Effacer la progression" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "Vous allez perdre toute vos données de progression !" pychess-1.0.0/lang/pt/0000755000175000017500000000000013467766037013625 5ustar varunvarunpychess-1.0.0/lang/pt/LC_MESSAGES/0000755000175000017500000000000013467766037015412 5ustar varunvarunpychess-1.0.0/lang/pt/LC_MESSAGES/pychess.mo0000644000175000017500000027130213467766035017430 0ustar varunvarun'N(h )h 4hG>hh h$h hhhi+i?i Qi]ibi/vi0i[iN3jj%j`j( k+Ik'uk3k#k0k&l?lZlqlxl#l$l'lm m!6mQXmJm>m4nRn!Zn|n~nnnnnnnnnn nnn o oo0o'Lo@toooooop,pCpwp#p$p#ppqq3qLq[quqqqqqqqQr&Ur$|r+rCr7sUIs"s*s(st,t>tOtcteitt ttt&t.uFu Wucuyuuu uSuv /v=vEv Kv Yvevmlvvvv vww"w6w Twawuw}wwCww w w wx x!x *x4x՜XRmBc]g?ŞB;HqSOJF & 4$Ej ) ¢̢ޢ   3A\a iuD|ǣϣգܣ !',=F MY+a  ݤ $, 2@ P Ze{  ӥ ߥ $) /:+@ lw+~æȦ Φܦ  * 5 @ N Y!c  ۧ  $ ) 6BH OZbdgl}.Ϩ ը/ #, 4 @NS Xbhp uCǩ 9 @Na it   ˪ ٪  %1IQtV,˫*+#*Oz.ެ  (=FVls{ĭح߭  " , 9F K Wch q{ ή   (07KT] y'ï #8S     $ 2?A IV]c ұ & - 8FXt{ Ųٲ,G ]i   Ƴ г޳(7?Pix*մ۴ /L ]k"˵ ڵ6 E P\l$rŶܶ  &3 ISX^/g  , . :EK Q[ dnȸظ   )+.1 LW_ |p.h"C5K!Jm493'[RjcݽAT `9nZ6RIk}3`OJZpZK -Y~E,LAyA $ 4 BN]lry~  ,#PRYauuyev  4$#<DWm u   0B XciqQy6" %3<Ukquy}UM&.GV@ F Q [$g#% "#*(SZ _j}  (.9N?9(/+y[C$3>&r9Of~% t%`y%l'!n/%&U(|&''9 IT[dmu ~ &   $/8%> dpw     !$/T gr + !")D8n1'!:L T_~ 5"e+~ "*049>![ }   /66(m  .#Bf! Dn[ lBv *%>dy D-TJc)`.Q0';$0:k%$1#U%i%dM>h3#'+4<V [+f  6'Tk}##(L(_'"!"?Oj{Q8W)-[7DO|)<63je)1@G-O*}!$-,K[x   *m1 $ ?Mlt{X   ) 3=FL_y  3%Qw    1TDT$,Q"l/1TTF"+($8"`Gm3X7-94,jaV#4C,x'8<CUc     * 5+B%n65+6biz "* 3?F(# , 6DLNQ T _m u8   #?E NYl    > d^ \ Z \{  #    *  @ J 4h 8          & 3 "9  \ f }    :     $  < J c  j u   ! ! # #,1:ATdf v  !' '6??` $v, :C IUY0`5Tcl~. 1&.7 L Var%:B DLHFJ!lWy  !# 1$8]*e *DKN Uain}"(@{V    #1 9FN U_ eo x2   #2AI N Xb ku {  <aX`  h!S6"f">"D0#tu#r#H]$S$6$p1%V%@%Q:' ''''%''$(!(( J(-U(( (( ((( ((()&)F)M) U)a)Kh))))) )))* *#*+* /* 9*D*K*^*+f*** **#****+ + %+1+8+A+J+ Q+_+ o+ z++++ +++ , ,,*,E, \,j,r, {,,+, ,,+,,,--- - )-7->-R-r- - -- - -(--"-. .#.=. E. O. Z. e.q.. .... . . ...../ // /-,/Z/`/=h/// //// // 0000$0S40 00 0 0!00 1 1!1:1 C1O1 h1u1~1111111 202A2Q2e2x2 22n2 3'53]3 }3 33&3434 %404F4_4r44 44444445.5 05;5A5V5^5p5 y5 55555555 5556 666;6W6f6%666 6 66 67 77/7 87C7 b7p7777&7 7 7 7 8# 8"18T8 888999,9<9 >9I9 Y9d9"l99 999 99: : :(:C:[: d: q:}:: : : :::::;;;#;?;G;N;W; Z;f;+v;; ;;; ; ;;<!< )<6<I<2e<&< <<$< =$=%D= j= == === =!=%><>Y>j>$>">>> >? ? ?? $?.?K?c? u?? ??0??$?@8@Q@ e@ p@}@ @@ @@@@/@ A AA+A4ASAcAiA)xA A AA A AAAAB B B2B 9BCBLB\B qB~BB BBBBBB BBB CC #C.CEC~[CCnD#,EAPEEQEMF5NF?F9FFUG"gGGHHRH!ID?IgIIJJ*JI?JJ# Kb/KKK:LLL eLpL_LLMML M#ZMs~MHM);NBeNJNN OO"O7O IO UO aOmOuO~OO OOOOOOOOO PP&P3+P_PaPhPqPPOQmQQ QQQ QQ/Q*RFR aRnRR RR RRRRRS2S%NStSSSS SSSSVS1VT%TTTTTT U UUUXU\sU UUUVV V W W, W&MW tWW7W6W,XGXPX UX`XvXX X X XXXXYY5Yo[&[[a\}\"\\\$\],.]&[]~]^^o__i_"9`a\`+`W`.Ba*qa$a(a)a0b&Eblb{bb bbbbb b;b cc &c 2c >cHcPcacuccccc:c cccdd 8dDd Kd Vd`d vdddd d d dd,de 3eAeTele re e;eeee ff0f6AfGxf#ff8f5$g#Zg~gg gggg g g g8g#7ie[i-ii j j7jPjpjyjjjj&j+j"j kkk-k@kXklkkkkk9k&l.lEl*bl ll llll(ll+m.m-Mm{mmmmmmmmmn1pr1S7J_Yd^#B.8e/0r1(2GolZtX j_<KWgpN>t6i&LuE~vnV.Hx  *nMh@I0YeRY!#1mNaX\tw@o=]>bGgZ,M VDW>cm$m+Gec-ixK2T\?Bqinaf  s;QaCDHfpb7A oqF*j\;fs|O_y GU{rI0NNJUn4'N~ay[: *'jvPcJ<w$+|gJkk[?I o?"Vs]amqK +}+XI|r8A%]).Ob2:%50Y}M\-P<z }!\LRxE)Z/CU>e3S2;E_0RvMV%7`GmFQ!1BL{Tlpz:84VwjX#fF`E  "!Zdey`,3B(9"Y7b$i$Lv{OzUHkqg H$OChKSR  *tPrS;9L~6+Bi9>8DJTAzu8<6Ob/E5]| Q{n<4dp6&s#Ppy[33QsIw-D%u,=.9TSTc^M55 w})!x^hQD/d C~"=9}]U1/[hqR34W@ZX^u 4F,xvl'y@:Ht#h: %W7l';`=`, ({zc @~(K W' &[)*kFA).o| k?^?f  C=-r6 j"2&_5-Adg&(uPl Gain: + %d sec challenges you to a %(time)s %(rated)s %(gametype)s game chess has arrived has declined your offer for a match has departed has lagged for 30 seconds invalid engine move: %s is censoring you is lagging heavily but hasn't disconnected is not installed is present min noplay listing you uses a formula not fitting your match request: where %(player)s plays %(color)s. with whom you have an adjourned %(timecontrol)s %(gametype)s game is online. would like to resume your adjourned %(time)s %(gametype)s game.%(black)s won the game%(color)s got a double pawn %(place)s%(color)s got an isolated pawn in the %(x)s file%(color)s got isolated pawns in the %(x)s files%(color)s got new double pawns %(place)s%(color)s has a new passed pawn on %(cord)s%(color)s moves a %(piece)s to %(cord)s%(counter)s game headers from %(filename)s imported%(minutes)d min + %(gain)d sec/move%(opcolor)s has a new trapped bishop on %(cord)s%(player)s is %(status)s%(player)s plays %(color)s%(white)s won the game%d min%s can no longer castle%s can no longer castle in kingside%s can no longer castle in queenside%s moves pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent%s will identify what threats would exist if it were your opponent's turn to move%s will try to predict which move is best and which side has the advantage'%s' is a registered name. If it is yours, type the password.'%s' is not a registered name(Blitz)(Link is available on clipboard.)*-00 Players Ready0 of 00-11-01-minute1/2-1/210 min + 6 sec/move, White120015-minute2 min, Fischer Random, Black3-minute45-minute5 min5-minuteConnect to Online Chess ServerPromote pawn to what?PyChess was unable to load your panel settingsAnalyzingAnimationBoard StyleChess SetsChess VariantEnter Game NotationGeneral OptionsInitial PositionInstalled SidepanelsMove textName of _first human player:Name of s_econd human player:New version %s is available!Open GameOpen databaseOpening, endgameOpponent StrengthOptionsPlay Sound When...PlayersStart learningTime ControlWelcome screenYour Color_Connect to server_Start GameA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedError loading gameFile '%s' already exists.PyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to add %sUnable to save file '%s'Unknown file type '%s'Challenge:A player _checks:A player _moves:A player c_aptures:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortAbout ChessAc_tiveAcceptActivate alarm when _remaining sec is:Active color field must be one of w or b. %sActive seeks: %dAdd commentAdd evaluation symbolAdd move symbolAdd new filterAdd start commentAdd threatening variation lines Adding suggestions can help you find ideas, but slows down the computer's analysis.Additional tagsAddress ErrorAdjournAdminAdministratorAfghanistanAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbaniaAlgeriaAll Chess FilesAll whiteAmerican SamoaAnalysis by %sAnalyze black movesAnalyze from current positionAnalyze gameAnalyze white movesAndorraAngolaAnguillaAnimate pieces, board rotation and more. Use this on fast machines.Annotated gameAnnotationAnnotatorAntarcticaAntigua and BarbudaAny strengthArchivedArgentinaArmeniaArubaAsian variantsAsk for permissionsAsk to _MoveAssessAsymmetric RandomAsymmetric Random AtomicAustraliaAustriaAuthorAuto Call _FlagAuto _promote to queenAuto _rotate board to current human playerAuto login on startupAuto-logoutAvailableAzerbaijanBB EloBack to main lineBackround image path :Bad moveBahamasBahrainBangladeshBarbadosBecause %(black)s lost connection to the serverBecause %(black)s lost connection to the server and %(white)s requested adjournmentBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s king explodedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause %(mover)s stalematedBecause %(white)s lost connection to the serverBecause %(white)s lost connection to the server and %(black)s requested adjournmentBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause %(winner)s has fewer piecesBecause %(winner)s king reached the centerBecause %(winner)s lost all piecesBecause %(winner)s was giving check 3 timesBecause a player aborted the game. Either player can abort the game without the other's consent before the second move. No rating changes have occurred.Because a player disconnected and there are too few moves to warrant adjournment. No rating changes have occurred.Because a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both players agreed to a drawBecause both players agreed to abort the game. No rating changes have occurred.Because both players agreed to an adjournmentBecause both players have the same amount of piecesBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause of adjudication by an admin. No rating changes have occurred.Because of courtesy by a player. No rating changes have occurred.Because the %(black)s engine diedBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBecause the server was shut downBecause the server was shut down. No rating changes have occurred.BeepBelarusBelgiumBelizeBeninBermudaBestBest moveBhutanBishopBlackBlack ELO:Black O-OBlack O-O-OBlack has a new piece in outpost: %sBlack has a rather cramped positionBlack has a slightly cramped positionBlack moveBlack should do pawn storm in leftBlack should do pawn storm in rightBlack side - Click to exchange the playersBlack:BlindFoldBlindfoldBlindfold AccountBlitzBlitz:Blitz: 5 minBolivia (Plurinational State of)Bonaire, Sint Eustatius and SabaBook depth max:Bosnia and HerzegovinaBotswanaBouvet IslandBrazilBringing your king legally to the center (e4, d4, e5, d5) instantly wins the game! Normal rules apply in other cases and checkmate also ends the game.British Indian Ocean TerritoryBrunei DarussalamBughouseBulgariaBurkina FasoBurundiCCACMCabo VerdeCalculating...CambodiaCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCameroonCanadaCandidate MasterCapturedCastling availability field is not legal. %sCategory:Cayman IslandsCenter:Central African RepublicChadChallengeChallenge: Challenge: Change ToleranceChatChess AdvisorChess Alpha 2 DiagramChess GameChess PositionChess ShoutChess clientChileChinaChristmas IslandClaim DrawClassic chess rules http://en.wikipedia.org/wiki/ChessClassic chess rules with all pieces white http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden figurines http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pawns http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pieces http://en.wikipedia.org/wiki/Blindfold_chessClassicalClassical: 3 min / 40 movesClearClockClose _without SavingCocos (Keeling) IslandsColombiaColorize analyzed movesCommand line interface to the chess serverCommand line parameters needed by the engineCommand:CommentComment:CommentsComorosCompensationComputerComputersCongoCongo (the Democratic Republic of the)ConnectingConnecting to serverConnection ErrorConnection was closedConsoleContinueContinue to wait for opponent, or try to adjourn the game?Cook IslandsCopy FENCornerCosta RicaCould not save the fileCounterplayCountry of origin of the engineCountry:CrazyhouseCreate New Pgn DatabaseCreate SeekCreate a new databaseCreate polyglot opening bookCreating .bin index file...Creating .scout index file...CroatiaCubaCuraçaoCyprusCzechiaCôte d'IvoireDDark Squares :DatabaseDateDate/TimeDate:DeclineDefaultDenmarkDestination Host UnreachableDetailed connection settingsDetect type automaticallyDiedDisplay MasterDjiboutiDo you know that it is possible to finish a chess game in just 2 turns?Do you know that the number of possible chess games exceeds the number of atoms in the Universe?Do you want to abort it?DominicaDominican RepublicDon't careDrawDraw:Due to abuse problems, guest connections have been prevented. You can still register on http://www.freechess.orgDummy AccountECOEcuadorEdit SeekEdit Seek: Edit commentEdit selected filterEffect on ratings by the possible outcomesEgyptEl SalvadorEloEmailEn passant cord is not legal. %sEn passant lineEndgame TableEndgamesEngine playing strength (1=weakest, 20=strongest)Engine scores are in units of pawns, from White's point of view. Double clicking on analysis lines you can insert them into Annotation panel as variations.EnginesEngines use uci or xboard communication protocol to talk to the GUI. If it can use both you can set here which one you like.Enter GameEnvironmentEquatorial GuineaEritreaError parsing %(mstr)sError parsing move %(moveno)s %(mstr)sEstoniaEthiopiaEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventEvent:ExamineExamine Adjourned GameExaminedExaminingExcellent moveExecutable filesExport positionExternalsFAFEN needs 6 data fields. %sFEN needs at least 2 data fields in fenstr. %sFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns * No castling * Black's arrangement mirrors white'sFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED * No castling * Black's arrangement DOES NOT mirrors white'sFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Pawns start on their 7th rank rather than their 2nd rank!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Pawns start on 4th and 5th ranks rather than 2nd and 7thFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html White pawns start on 5th rank and black pawns on the 4th rankFIDE MasterFMF_ull board animationFace _to Face display modeFalkland Islands [Malvinas]Faroe IslandsFijiFile existsFilterFilter game list by opening movesFiltersFind postion in current databaseFingerFinlandFischer RandomFollowFont:Forced moveFrame:FranceFree comment about the engineFrench GuianaFrench PolynesiaFrench Southern TerritoriesFriendsGMGabonGain:GambiaGameGame ListGame analyzing in progress...Game cancelledGame informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Game shared at GamesGames running: %dGaviota TB path:Generally this means nothing, as the game is time-based, but if you want to please your opponent, perhaps you should get going.GeorgiaGermanyGhanaGibraltarGo back to the main lineGo onGood moveGrand MasterGreeceGreenlandGrenadaGridGuadeloupeGuamGuatemalaGuernseyGuestGuest logins disabled by FICS serverGuestsGuineaGuinea-BissauGuyanaHHaitiHalfmove clockHeaderHeard Island and McDonald IslandsHidden pawnsHidden piecesHideHintHintsHoly SeeHondurasHong KongHost:How to PlayHuman BeingHungaryIMIcelandIdIdentificationIdleIf set you can refuse players accepting your seekIf set, FICS game numbers in tab labels next to player names are shown.If set, PyChess will colorize suboptimal analyzed moves with red.If set, PyChess will show game results for different moves in positions containing 6 or less pieces. It will search positions from http://www.k4it.de/If set, PyChess will show game results for different moves in positions containing 6 or less pieces. You can download tablebase files from: http://www.olympuschess.com/egtb/gaviota/If set, PyChess will suggest best opening moves on hint panel.If set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, clicking on main application window closer first time it closes all games.If set, pawn promotes to queen without promotion dialog selection.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the captured figurines will be shown next to the board.If set, the elapsed time that a player used for the move is shown.If set, the hint analyzer engine evaluation value is shown.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If the analyzer finds a move where the evaluation difference (the difference between the evaluation for the move it thinks is the best move and the evaluation for the move made in the game) exceeds this value, it will add an annotation for that move (consisting of the engine's Principal Variation for the move) to the Annotation panelIf you don't save, new changes to your games will be permanently lost.Ignore colorsImagesImportImport PGN fileImport annotated games from endgame.nlImport chessfileImport games from theweekinchess.comImporting game headers...In TournamentIn this position, there is no legal move.IndiaIndonesiaInfinite analysisInfoInitial positionInitial setupInitiativeInteresting moveInternational MasterInvalid move.Iran (Islamic Republic of)IraqIrelandIsle of ManIsraelIt is not possible later to continue the game, if you don't save it.ItalyJamaicaJapanJerseyJordanJump to initial positionJump to latest positionKKazakhstanKenyaKingKing of the hillKiribatiKnightKnight oddsKnightsKorea (the Democratic People's Republic of)Korea (the Republic of)KuwaitKyrgyzstanLag:Lao People's Democratic RepublicLatviaLearnLeave _FullscreenLebanonLecturesLengthLesothoLessonsLiberiaLibyaLiechtensteinLight Squares :LightningLightning:List of ongoing gamesList of playersList of server channelsLithuaniaLoad _Recent GameLoading player dataLocal EventLocal SiteLog on ErrorLog on as _GuestLogging on to serverLosersLossLoss:LuxembourgMacaoMacedonia (the former Yugoslav Republic of)MadagascarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMalawiMalaysiaMaldivesMaliMaltaMamer ManagerManage enginesManualManual AcceptManually accept opponentMarshall IslandsMartiniqueMate in %dMaterial/moveMauritaniaMauritiusMaximum analysis time in seconds:MexicoMicronesia (Federated States of)Minutes:Minutes: Moldova (the Republic of)MonacoMongoliaMontenegroMontserratMore channelsMore playersMoroccoMoveMove HistoryMove numberMovedMoves:MozambiqueMyanmarNNMNameNames: #n1, #n2NamibiaNational MasterNauruNeedNeeds 7 slashes in piece placement field. %sNepalNetherlandsNever use animation. Use this on slow machines.NewNew CaledoniaNew GameNew RD:New ZealandNew _DatabaseNewsNextNicaraguaNigerNigeriaNiueNo _animationNo chess engines (computer players) are participating in this game.No conversation's selectedNo soundNorfolk IslandNormalNormal: 40 min + 15 sec/moveNorthern Mariana IslandsNorwayNot AvailableNot the best move!ObserveObserve %sObserved _ends:ObserversOddsOffer A_bortOffer AbortOffer Ad_journmentOffer PauseOffer RematchOffer ResumeOffer UndoOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOmanOn FICS, your "Wild" rating encompasses all of the following variants at all time controls: One player starts with one less knight pieceOne player starts with one less pawn pieceOne player starts with one less queen pieceOne player starts with one less rook pieceOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpenOpen GameOpen Sound FileOpen chess fileOpening BookOpening booksOpening chessfile...OpeningsOpponent RatingOpponent's strength: OptionOptionsOtherOther (non standard rules)Other (standard rules)PPakistanPalauPalestine, State ofPanamaPapua New GuineaParaguayParameters:Paste FENPatternPausePawnPawn oddsPawns PassedPawns PushedPeruPhilippinesPick a datePingPitcairnPlacementPlayPlay Fischer Random chessPlay Losers chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer ListPlayer _RatingPlayers:Players: %dPlayingPng imagePo_rts:PolandPolyglot book file:PortugalPre_viewPrefer figures in _notationPreferencesPreferred level:Preparing to start import...PreviewPrivateProbably because it has been withdrawn.ProgressPromotionProtocol:Puerto RicoPyChess - Connect to Internet ChessPyChess Information WindowPyChess has lost connection to the engine, probably because it has died. You can try to start a new game with the engine, or try to play against another one.PyChess.py:QQatarQueenQueen oddsQuit LearningQuit PyChessRR_esignRacing KingsRandomRapidRapid: 15 min + 10 sec/moveRatedRated gameRatingRating change:Reading %s ...Receiving list of playersRecreating indexes...RegisteredRemoveRemove selected filterRequest ContinuationResendResend %s?Reset ColoursReset my progressRestore the default optionsResultResult:ResumeRetryRomaniaRookRook oddsRotate the boardRoundRound:Running Simul MatchRussian FederationRwandaRéunionSRS_ign upSaint BarthélemySaint Helena, Ascension and Tristan da CunhaSaint Kitts and NevisSaint LuciaSaint Pierre and MiquelonSamoaSan MarinoSanctionsSao Tome and PrincipeSaudi ArabiaSaveSave GameSave Game _AsSave _own games onlySave _rating change valuesSave analyzing engine _evaluation valuesSave asSave database asSave elapsed move _timesSave files to:Save moves before closing?Save the current game before you close it?Save to PGN file as...ScoreScoutSearch:Seek _GraphSeek updatedSelect Gaviota TB pathSelect auto save pathSelect background image fileSelect book fileSelect engineSelect sound file...Select the games you want to save:Select working directorySend ChallengeSend all seeksSend seekSenegalSeqSequenceSerbiaServer:Service RepresentativeSetting up environmentSetup PositionSeychellesSho_w cordsShort on _time:ShoutShow FICS game numbers in tab labelsShow _captured piecesShow elapsed move timesShow evaluation valuesShow tips at startupShredderLinuxChess:ShuffleSide to moveSide_panelsSierra LeoneSimple Chess PositionSingaporeSiteSite:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinSlovakiaSloveniaSolomon IslandsSomaliaSorry '%s' is already logged inSound filesSourceSouth AfricaSouth Georgia and the South Sandwich IslandsSouth SudanSp_y arrowSpainSpentSri LankaStandardStandard:Start Private ChatStatusStep back one moveStep forward one moveSudanSuicideSurinameSuspicious moveSvalbard and Jan MayenSwazilandSwedenSwitzerlandSymbolsSyrian Arab RepublicTTDTMTaiwan (Province of China)TajikistanTalkingTanzania, United Republic ofTeam AccountTexture:ThailandThe abort offerThe adjourn offerThe analyzer will run in the background and analyze the game. This is necessary for the hint mode to workThe chain button is disabled because you are logged in as a guest. Guests can't establish ratings, and the chain button's state has no effect when there is no rating to which to tie "Opponent Strength" toThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe current game is not terminated. Its export may have a limited interest.The current game is over. First, please verify the properties of the game.The directory where the engine will be started from.The displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe endgame table will show exact analysis when there are few pieces on the board.The engine %s reports an error:The engine output panel shows the thinking output of chess engines (computer players) during a gameThe entered password was invalid. If you forgot your password, go to http://www.freechess.org/password to request a new one over email.The error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The flag callThe game can't be loaded, because of an error parsing FENThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe hint panel will provide computer advice during each stage of the gameThe inverse analyzer will analyze the game as if your opponent was to move. This is necessary for the spy mode to workThe move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe reason is unknownThe resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe takeback offerThebanThemesThere is %d game with unsaved moves.There are %d games with unsaved moves.There is something wrong with this executableThis game can be automatically aborted without rating loss because there has not yet been two moves madeThis game can not be adjourned because one or both players are guestsThis is a continuation of an adjourned matchThis option is not applicable because you're challenging a playerThis option is not available because you're challenging a guest, Threat analysis by %sThree-checkTimeTime control: Time pressureTimor-LesteTip Of The dayTip of the DayTitleTitledTogoTokelauTolerance:TongaTournament DirectorTranslate PyChessTrinidad and TobagoTry chmod a+x %sTunisiaTurkeyTurkmenistanTurks and Caicos IslandsTuvaluTypeType or paste PGN game or FEN positions hereUUgandaUkraineUnable to accept %sUnable to save to configured file. Save the games before closing?Unable to save to configured file. Save the current game before you close it?Unclear positionUndescribed panelUndoUndo one moveUndo two movesUninstallUnited Arab EmiratesUnited Kingdom of Great Britain and Northern IrelandUnited States Minor Outlying IslandsUnited States of AmericaUnknownUnknown game stateUnofficial channel %dUnratedUnregisteredUntimedUpside DownUruguayUse _analyzerUse _inverted analyzerUse _local tablebasesUse _online tablebasesUse a linear scale for the scoreUse analyzer:Use name format:Use opening _bookUse time compensationUzbekistanValueVanuatuVariantVariant developed by Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Variation annotation creation threshold in centipawns:Venezuela (Bolivarian Republic of)Very bad moveViet NamVirgin Islands (British)Virgin Islands (U.S.)W EloWFMWGMWIMWaitWarning: this option generates a formatted .pgn file which is not standards complientWas unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.WelcomeWell done! %s completed.Western SaharaWhen this button is in the "locked" state, the relationship between "Opponent's strength" and "Your strength" will be preserved when a) your rating for the type of game sought has changed b) you change the variant or the time controlWhiteWhite ELO:White O-OWhite O-O-OWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite has a slightly cramped positionWhite moveWhite should do pawn storm in leftWhite should do pawn storm in rightWhite side - Click to exchange the playersWhite:WildWildcastleWildcastle shuffleWinWin by giving check 3 timesWin:Winning %With attackWoman FIDE MasterWoman Grand MasterWoman International MasterWorking directory:Year, month, day: #y, #m, #dYemenYou asked your opponent to moveYou can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou can't select a variant because "Untimed" is checked, You can't switch colors during the game.You can't touch this! You are examining a game.You don't have the necessary rights to save the file. Please ensure that you have given the right path and try again.You have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou have to set kibitz on to see bot messages here.You have tried to undo too many moves.You may only have 3 outstanding seeks at the same time. If you want to add a new seek you must clear your currently active seeks. Clear your seeks?You sent a draw offerYou sent a pause offerYou sent a resume offerYou sent an abort offerYou sent an adjournment offerYou sent an undo offerYou sent flag callYou will lose all your progress data!Your opponent asks you to hurry!Your opponent has asked that the game be aborted. If you accept this offer, the game will end with no rating change.Your opponent has asked that the game be adjourned. If you accept this offer, the game will be adjourned and you can resume it later (when your opponent is online and both players agree to resume).Your opponent has asked that the game be paused. If you accept this offer, the game clock will be paused until both players agree to resume the game.Your opponent has asked that the game be resumed. If you accept this offer, the game clock will continue from where it was paused.Your opponent has asked that the last %s move(s) be undone. If you accept this offer, the game will continue from the earlier position.Your opponent has offered you a draw.Your opponent has offered you a draw. If you accept this offer, the game will end with a score of 1/2 - 1/2.Your opponent is not out of time.Your opponent must agree to abort the game because there has been two or more moves madeYour opponent seems to have changed their mind.Your opponent wants to abort the game.Your opponent wants to adjourn the game.Your opponent wants to pause the game.Your opponent wants to resume the game.Your opponent wants to undo %s move(s).Your seeks have been removedYour strength: Your turn.ZambiaZimbabweZugzwang_Accept_Actions_Analyze Game_Archived_Auto save finished games to .pgn file_Call Flag_Clear Seeks_Copy FEN_Copy PGN_Decline_Edit_Engines_Export Position_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hint arrow_Hints_Invalid move:_Load Game_Log Viewer_My games_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Recent:_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Untimed_Use main app closer [x] to close all games_Use sounds in PyChess_Variation choices:_View_Your Color:andand guests can't play rated gamesand on FICS, untimed games can't be ratedand on FICS, untimed games have to be normal chess rulesask your opponent to moveblackbrings a %(piece)s closer to enemy king: %(cord)sbrings a pawn closer to the backrow: %scall your opponents flagcaptures materialcastlesdefends %sdevelops a %(piece)s: %(cord)sdevelops a pawn: %sdrawsexchanges materialgnuchess:half-openhttp://brainking.com/en/GameRules?tp=2 * Placement of the pieces on the 1st and 8th row are randomized * The king is in the right hand corner * Bishops must start on opposite color squares * Black's starting position is obtained by rotating white's position 180 degrees around the board's center * No castlinghttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyin the %(x)s%(y)s filein the %(x)s%(y)s filesincreases the pressure on %sinvalid promoted piecelessonsmatesminminsmovemoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %snot playingofoffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalotherspins an enemy %(oppiece)s on the %(piece)s at %(cord)splaces a %(piece)s more active: %(cord)spromotes a Pawn to a %sputs opponent in checkrating range nowrescues a %sresignround %ssacrifices materialsecsecsslightly improves king safetytakes back materialthe captured cord (%s) is incorrectthe end cord (%s) is incorrectthe move needs a piece and a cordthreatens to win material by %sto automatic acceptto manual acceptucivs.whitewindow1xboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Random arrangement of the pieces behind the pawns * No castling * Black's arrangement mirrors white'sxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * White has the typical set-up at the start. * Black's pieces are the same, except that the King and Queen are reversed, * so they are not on the same files as White's King and Queen. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * In this variant both sides have the same set of pieces as in normal chess. * The white king starts on d1 or e1 and the black king starts on d8 or e8, * and the rooks are in their usual positions. * Bishops are always on opposite colors. * Subject to these constraints the position of the pieces on their first ranks is random. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.Åland IslandsProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Portuguese (http://www.transifex.com/gbtami/pychess/language/pt/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: pt Plural-Forms: nplurals=2; plural=(n != 1); Incremento: + %d secdesafia para um %(time)s %(rated)s %(gametype)s jogo xadrezestá a chegarrecusou sua oferta para um jogoestá a sairAtraso de 30 segundosmovimento invalido: %sestá a censurá-loo atraso é alto mas não desconectounão está instaladoestá presente minnão o listouUtilizar uma formula não apropriada para sua solicitação de jogo:onde %(player)s joga %(color)s.com que teve um jogo %(timecontrol)s %(gametype)s adiado está online.gostaria de retomar o seu jogo adiado %(time)s %(gametype)s.%(black)s venceu o jogo%(color)s têm um Peão dobrado %(place)s%(color)s têm um Peão isolado na coluna %(x)s%(color)s têm Peões isolados nas colunas %(x)s%(color)s têm novos Peões dobrados %(place)s%(color)s têm um novo Peão passado em %(cord)s%(color)s movem %(piece)s para %(cord)sImportados %(counter)s cabeçalhos de jogos de %(filename)s%(minutes)d min + %(gain)d sec/lance%(opcolor)s têm um novo Bispo preso em %(cord)s%(player)s está %(status)s%(player)s joga %(color)s%(white)s venceu o jogo%d min%s já não podem rocar%s já não podem fazer pequeno-roque%s já não podem fazer grande-roque%s movem os Peões para uma formação de muralha%s devolveu um erro%s foi recusado por o seu adversário%s foi retirada por o seu adversário%s vai identificar quais são as ameaças existentes, se fosse o seu adversário na sua vez de jogar%s vai tentar prever qual movimento é melhor e qual lado está com vantagem '%s' é um nome registado. Se for o seu, introduza sua senha.'%s' não é um nome registado(Blitz)(Ligação disponível na área de transferência.)*-00 jogadores prontos0 de 00-11-01-minuto1/2-1/210min + 6s/lance, Brancas120015-minutos2 min, Xadrez Aleatório de Fischer, Pretas3-minutos45-minutos5 min5-minutosA ligar ao Servidor de Xadrez OnlinePromover Peão a que?PyChess não conseguiu carregar as configurações do o seu painelAnalisadorAnimaçãoEstilo do tabuleiroModelosVariantes do xadrezEntrar com Notação de JogoOpções GeraisPosição InicialPainéis laterais instaladosMover textoNome do p_rimeiro jogador humano:Nome do s_egundo jogador humano:Nova versão %s está disponível!Abrir JogoAbrir base de dadosAbertura, final de partidaForça do adversárioOpçõesTocar som quando...JogadoresComeçar a aprenderControle de tempoTela de boas vindasA sua cor_Conetar ao servidor_Iniciar JogoUm ficheiro com o nome '%s' já existe. Pretende substituí-lo?Mecanismo de xadrez, %s, foi encerradoErro ao carregar o jogoO ficheiro "%s" já existe.PyChess está verificando os seus mecanismos de xadrez. Por favor espere.PyChess não conseguiu guardar o jogoHá %d jogos com lances não salvos. Guardar antes de fechar?Incapaz de adicionar %sNão foi possível guardar o ficheiro '%s'Formato de arquivo desconhecido '%s'Desafiar:Um jogador dá _xeque:Um jogador _move:Um jogador _captura:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortarSobre o xadrezA_tivoAceitarAtivar alarme quando segundos _restantes for:Campo de cor ativa precisa ser b ou n. %sBuscas ativas: %dAdicionar comentárioAdicionar símbolo de avaliaçãoAdicionar símbolo de movimentaçãoAdicionar novo filtroAdicionar comentário inicialAdicionar linhas de variações ameaçadorasAdicionando sugestões para ajuda-lo e obter ideias, mas retarda as analises do computador.Etiquetas adicionaisErro no endereçoAdiarAdministradorAdministradorAfeganistãoAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbâniaArgéliaTodos os ficheiros de xadrezTodas brancasSamoa AmericanaAnalises por %sAnalisar movimento das negrasAnalisar a partir da posição atualAnalisar jogoAnalisar movimento das brancasAndorraAngolaAnguillaAnimar peças, rotação do tabuleiro e mais. Use esta opção em computadores rápidos.Jogo anotadoAnotaçãoNotasAntártidaAntígua e BarbudaQualquer forçaArquivadoArgentinaArméniaArubaVariante asiáticaPerguntar por permissõesPedir que _MovaAvaliarAleatório AssimétricoAleatório assimétricoAtómicoAustráliaÁustriaAutorChamar _Bandeira AutomaticamenteAuto _promover a rainhaA_uto-rodar o tabuleiro para o jogador humano atualAutenticar automaticamente ao iniciarAuto-desconectarDisponívelAzerbaijãoBN EloVoltar para a linha principalCaminho da imagem de fundo:Má jogadaBahamasBahreinBangladecheBarbadosPorque %(black)s perdeu a conexão com o servidorPorque %(black)s perdeu a conexão com o servidor e %(white)s solicitou um adiamentoPorque %(black)s caiu no tempo e %(white)s não tem material suficente para dar matePorque %(loser)s se desconectouPorque %(loser)s rei explodiuPorque o tempo de %(loser)s terminouPorque %(loser)s abandonouPorque %(loser)s levou cheque-matePorque %(mover)s provocou empate por afogamentoPorque %(white)s perdeu a conexão com o servidorPorque %(white)s perdeu a conexão com o servidor e %(black)s solicitou um adiamentoPorque %(white)s caiu no tempo e %(black)s não tem material suficente para dar matePorque %(winner)s tem menos peçasPorque o rei %(winner)s alcançou o centro Porque %(winner)s perdeu todas as peçasPoque o %(winner)s deu check 3 vezesO jogador abortou o jogo. Qualquer jogador pode abortar o jogo sem o consenso de outros antes da segunda jogada. Não ocorreu nenhuma alteração na classificação.Como um jogador desconectou e tem poucas jogadas para garantir um adiamento, não ocorreu nenhuma alteração na classificação.Porque o jogador perdeu a conexãoPorque um jogador perdeu a conexão e outro jogador solicitou adiamentoPorque ambos combinaram empatePorque ambos os jogadores concordaram em abortar o jogo, não ocorreu nenhuma alteração na classificação.Porque ambos os jogadores concordaram num adiamentoPorque ambos jogadores tem a mesma quantidade de peçasPorque o tempo acabou para ambos os jogadoresPorque nenhum jogar tem material suficiente para dar mateDevido a uma decisão proferida por um administradorPor causa da decisão proferida por um administrador, não ocorreu nenhuma alteração na classificação.Por causa da cortesia do jogador, não ocorreu nenhuma alteração na classificação.Porque o motor %(black)s morreuPorque o mecanismo de xadrez %(white)s foi encerradoPorque a conexão com o servidor foi perdidaPorque o jogo excedeu o tamanho máximoPorque os últimos 50 lances não trouxeram nada de novoPorque a mesma posição se repetiu três vezes consecutivasPorque o servidor foi desligadoPorque o servidor foi desligado, não ocorreu nenhuma alteração na classificação.Aviso sonoroBielorrússiaBélgicaBelizeBenimBermudasMelhorMelhor movimentoButãoBispoPretasPreto ELO:Negras O-ONegras O-O-ONegras tem uma peça em posto avançado: %sNegras estão com muito pouco espaçoNegras estão com pouco espaçoMovimento das pretasNegras devem fazer uma chuva de Peões na ala esquerdaNegras devem fazer uma chuva de Peões na ala direitaLado preto - Clique para mudar de jogadoresPretasXadrez às CegasXadrez às CegasConta de xadrez às cegasBlitzBlitz:Blitz: 5 minBolívia (Estado Plurinacional da)Países Baixos CaribenhosProfun. máx. do livro:Bósnia e HerzegovinaBotswanaIlha BouvetBrasilTrazer o seu rei legalmente para o centro (e4, d4, e5, d5) imediatamente ganha o jogo! Regras normais aplicam em alguns casos e checkmate também termina o jogo.Território Britânico do Oceano ÍndicoBrunei DarussalamBughouseBulgáriaBurquina FasoBurundiCCACMCabo VerdeA calcular...CambojaCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCamarõesCanadáCandidato a MestreCapturouRoque não disponível. %sCategoria:Ilhas CaimãoCentro:República Central AfricanaChadeDesafiarDesafiar: Desafio: Alterar tolerânciaConversaMentor de xadrezDiagrama Chess Alpha 2Jogo de XadrezPosição do tabuleiroChess ShoutCliente de XadresChileChinaIlha do NatalReclamar empateRegras clássicas do xadrez http://en.wikipedia.org/wiki/ChessRegras clássicas do xadrez com todas as peças brancas http://en.wikipedia.org/wiki/Blindfold_chessRegras clássicas do xadrez com peças ocultas http://en.wikipedia.org/wiki/Blindfold_chessRegras clássica do xadrez com Peões ocultos http://en.wikipedia.org/wiki/Blindfold_chessRegras clássicas do xadrez com peças ocultas http://en.wikipedia.org/wiki/Blindfold_chessClássicoClássico: 3 min / 40 movimentosLimparRelógio_Fechar sem GuardarIlhas Cocos (Keeling)ColômbiaColorir movimentos analisadosInterface da linha de comandos do servidor de xadrezParâmetros da linha de comandos necessários pelo motorComando:ComentárioComentário:ComentáriosComoresCompensaçãoComputadorComputadoresCongoCongo (República Democrática do)A conetarConectando ao servidorErro de conexãoConexão foi fechadaConsolaContinuarContinuar esperando pelo oponente, ou tentar adiar o jogo?Ilhas CookCopiar FENCantoCosta RicaNão foi possível guardar o arquivoContra-ataquePaís de origem do motorPaís:CrazyhouseCriar Nova Base de Dados PgnCriar buscaCriar uma nova base de dadosCriar livro de abertura poliglotaA criar ficheiro indexado .bin...A criar ficheiro indexado .scout...CroáciaCubaCuraçaoChipreCheca (República)Costa do MarfimDCasas Escuras :Base de DadosDataData/HoraData:RecusarPadrãoDinamarcaEndereço de destino inacessívelConfigurações de ligação detalhadasDetetar formato automaticamenteEncerradoMostrar MestreDjiboutiSabia que é possível fazer um xeque-mate com dois movimentos?Sabia que o número de possíveis jogos no xadrez é maior que o número de átomos do Universo?Pretende abortar?DominicaRepública DominicanaQualquer umEmpateEmpate:Apesar do problema de abuso, conexão do visitante foi preservada. Você ainda tem registo no http://www.freechess.orgConta inicianteECOEquadorEditar buscaEditar busca: Editar comentárioEditar filtro selecionadoEfeito sobre a classificação pelos resultados possíveisEgitoEl SalvadorEloE-mailCoordenadas do En passant não são legais. %sLinha en passantFinal de PartidaFinaisForça do motor de jogo (1=mais fraco, 20=mais forte)As unidades de medidas dos motores de xadrez estão em peões, do ponto de vista das Brancas. Carregando duas vezes sobre as linhas de análise, pode inseri-las no painel Anotação como variações.Motores de jogoMotores utilizam o protocolo de comunicação uci ou xboard para falar com a GUI. Se ele pode utiliza ambos, pode definir aqui o que gosta.Entrar no JogoAmbienteGuiné EquatorialEritreiaErro ao processar %(mstr)sErro ao analisar movimento %(moveno)s %(mstr)sEstóniaEtiópiaEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventoEvento:ExaminarExaminar Jogo AdiadoExaminadoExaminandoJogada excelenteFicheiros executáveisExportar posiçãoExternosFAFEN precisa de 6 campos de dados. %sFEN precisa de pelo menos 2 campos de dados na fenstr. %sFICS atómico: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS Bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicídio: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Escolha Randômica de peças (duas rainhas ou três torres possíveis) * Exatamente um rei de cada cor * Peças colocadas aleatoriamente atrás dos peões * Sem roque * Disposição das negras espelha as brancasFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Escolha Randômica de peças (duas rainhas ou três torres possíveis) * Exatamente um rei de cada cor * Peças colocadas aleatoriamente atrás dos peões, SUJEITO A RESTRIÇÃO PARA QUE OS BISPOS ESTEJAM BALANCEADOS * Sem roque * Disposição das negras NÂO espelha as brancasICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Peões iniciam na sua 7ª fileira ao invés da 2ª fileira!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Peões iniciam na 4ª e 5ª fileira ao invés da 2ª e 7ªFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html Peões brancos iniciam na 5ª fileira e peões negros na 4ª fileiraMestre FIDEFMAnimação completa do _tabuleiro_Modo de visualização Face a FaceIlhas MalvinasIlhas FéroeFijiO ficheiro já existeFiltroFiltrar lista de jogos por aberturasFiltrosEncontrar posição na base de dados atualTocarFinlândiaAleatório de FischerSegueFonte:Forçar movimentoQuadro:FrançaComentário livre sobre o motorGuiana FrancesaPolinésia FrancesaTerras Austrais FrancesasAmigosGMGabãoIncremento:GâmbiaJogoLista de jogosAnalise do jogo em andamento...Jogo canceladoInformações do jogoO jogo _empata:O jogo é per_dido:O jogo é _iniciado:O jogo é _vencido:Jogo partilhado emJogosJogos em execução: %dDiretório Gaviota TBGeralmente isto não significa nada, como o jogo é baseado em tempo, mas se quer agradar o seu adversário, talvez deva irGeórgiaAlemanhaGanaGibraltarVolte para a linha inicialContinuarBoa jogadaGrande MestreGréciaGronelândiaGranadaGrelhaGuadalupeGuãoGuatemalaGuernseyConvidadoLogin de visitante desabilitado pelo servidor FICSVisitantesGuinéGuiné-BissauGuianaHHaitiRelógio meio movimentoCabeçalhoIlha Heard e Ilhas McDonaldOcultar PeõesOcultar peçasOcultarDicaSugestãoSanta SéHondurasHong KongHost:Como JogarSer humanoHungriaMIIslândiaIdIdentificaçãoInativoSe marcado poderá recusar jogadores que aceitaram sua buscaSe marcado, número de jogadores FICS será mostrado e separadores próximo do nome de jogadores.Se definido, PyChess vai colorir os movimentos analisados como inadequados com vermelho.Se definido, PyChess irá mostrar os resultados de jogos de movimentos diferentes em posições que contém 6 ou menos peças. Irá procurar posições de http://www.k4it.de/Se definido, PyChess irá mostrar os resultados de jogos de movimentos diferentes em posições que contém 6 ou menos peças. Pode transferir ficheiros tablebase: http://www.olympuschess.com/egtb/gaviota/Se definido, PyChess vai sugerir o melhor movimento de abertura no painel de dicas.Se marcado, o PyChess utilizará figuras para mostrar as peças movidas, em vez de letras maiúsculas.Se selecionado, fechar a janela principal fecha todos os jogosSe selecionado, peão promove a rainha sem abrir opção de escolha.Se marcado, as peças negras ficarão de cabeça para baixo, adequado para jogar contra amigos em aparelhos móveis.Se marcado, o tabuleiro será rodado depois de cada lance, para mostrar a visualização natural do jogador atual.Se definido, as peças capturadas serão mostradas ao lado do tabuleiro.Se definido, o tempo decorrido que um jogador utiliza para cada jogada é mostrado.Se selecionado, valor restante da analise é mostrado.Se marcado, o tabuleiro mostrará as coordenadas de cada casa do tabuleiro. É útil para a notação do xadrez.Se marcado, oculta o separadores no topo da janela do jogo quando não é necessária.Se a análise encontra um movimento onde a diferença de avaliação (a diferença entre a análise do movimento que se pensa ser melhor e a avaliação do movimento do jogo) ultrapassa este valor, será adicionada uma anotação do movimento (consistindo na variação principal do movimento) no painel de anotações. Se não guardar, as novas alterações dos jogos serão perdidas permanentemente.Ignorar coresImagensImportarImportar ficheiro PGNImportar jogos anotados de endgame.nlImportar ficheiro de xadrezImportar jogos de theweekinchess.comA importar cabeçalhos do jogo...Em torneionessa posição, não há uma jogada regular.ÍndiaIndonésiaAnálise infinitaInformaçãoPosição inicialConfiguração inicialIniciativaJogada interessanteMestre InternacionalMovimento inválido.Irão (República Islâmica do)IraqueIrlandaIlha de ManIsraelNão será possível continuar posteriormente a partida se não salvá-la.ItáliaJamaicaJapãoJerseyJordâniaIr para a posição inicialIr para a última posiçãoRCazaquistãoQuéniaReiRei acimaQuiribátiCavaloVantagem do CavaloCavalosCoreia (República Popular Democrática da)Coreia (República da)KuwaitQuirguistãoAtraso:República Democrática Popular LauLetóniaAprenderSair do _Ecrã CompletoLíbanoPalestrasComprimentoLesotoLiçõesLibériaLíbiaLiechtensteinCasas Brancas :RelâmpagoRelâmpago:Lista de jogos a decorrerLista de jogadoresLista de canaisLituâniaCarregar _Jogo RecenteA carregar dados do jogadorEvento localPonto localErro ao conectarConetar-se como _ConvidadoConectando ao servidorDe perdedoresDerrotaDerrota:LuxemburgoMacauMacedónia (antiga República Jugoslava da)MadagáscarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMaláuiMalásiaMaldivasMaliMaltaGestor MamerGerir motoresManualAceitar manualmenteAceitar adversário manualmenteIlhas MarshallMartinicaMate em %dMaterial/moverMauritâniaMauríciaO tempo máximo de análise em segundos:MéxicoMicronésia (Estados Federados da)Minutos:Minutos: Moldávia (República da)MónacoMongóliaMontenegroMonserrateMais canaisMais jogadoresMarrocosMovimentoHistórico de MovimentosNumero do movimentoMoveuMovimentos:MoçambiqueBirmâniaCNMNomeNomes: #n1,#n2NamíbiaMestre NacionalNauruNecessárioPrecisa de 7 traços na peça localizada. %sNepalHolandaNunca utilizar animação. Use isto para computadores lentos.NovoNova CaledóniaNovo JogoNovo RD:Nova ZelândiaNova Base de _DadosNovidadesSeguinteNicaráguaNígerNigériaNiueSem an_imaçãoNenhum motor de jogo de xadrez (jogador computador) estão participando desse jogo.Nenhuma conversa foi selecionadaSem somIlha NorfolkTempo padrãoNormal: 40 min + 15 seg/movimentoIlhas Marianas SetentrionaisNoruegaIndisponívelNão é a melhor jogada!ObservarObservar %sJogo observado _termina:ObservadoresVantagemOferecer _Abortar PartidaOferecer anulaçãoOferecer Ad_iamentoOferecer PausaOferecer desforraOferecer ContinuaçãoOferecer voltar jogadaOferecer para _Abortar a PartidaOferecer _EmpateOferecer _PausaOferecer _ReinícioPedir para Vo_ltarPainel oficial do PyChess.DesconectadoOmãNo FICS, a sua classificação em "Wild" abrange todas as seguintes variantes em todos os controlos de tempo: Um jogador começa sem um CavaloUm jogador começa com um Peão a menosUm jogador começa sem a rainhaUm jogador começa sem uma TorreConectadoAnimar somente mo_vimentosAnimar somente o movimento das peças.Somente jogadores registados podem falar neste canalAbrirAbrir jogoAbrir Ficheiro de SomAbrir ficheiro de xadrezLivro de aberturasLivro de aberturasA abrir arquivo de xadrez...AberturasClassificação do AdversárioForça do adversário: OpçãoOpçõesOutroOutro (fora da regra padrão)Outro (regra padrão)PPaquistãoPalauPalestina, Estado daPanamáPapua Nova GuinéParaguaiParâmetros:Colar FENPadrãoPausarPeãoVantagem do PeãoPeões passadosPeões avançadosPeru FilipinasEscolher uma dataPingPitcairnColocaçãoJogarJogar Xadrez Aleatório FischerJogar xadrez dos perdedoresJogar revancheJogar Xadrez na _InternetJogar com as regras normais do xadrezLista de jogadoresClassificação do Jogado_rJogadores:Jogadores: %dA jogarImagem PNGPo_rtas:PolóniaFicheiro de livro Polyglot:PortugalPre_visãoUtilizar figuras na _notaçãoPreferênciasNível preferido:A preparar a importação...Pré-visualizaçãoPrivadoProvavelmente porque ele foi retirado.ProgressoPromoçãoProtocolo:Porto RicoPyChess - Conecte ao Internet ChessJanela de informações do PyChessPyChess perdeu a conexão com a maquina, provavelmente ela foi encerrado. Pode tentar iniciar um novo jogo com a maquina, ou tentar jogar contra outra.PyChess.py:DQatarDamaVantagem da DamaSair da AprendizagemSair do PyChessTAban_donarCorrida de reisAleatórioRápidoRápido: 15 min + 10 seg/movimentoPontuadoJogo pontuadoClassificaçãoAlteração da classificação:A ler %s ...A receber lista de jogadoresA recriar índices...RegistadoRemoverRemover filtro selecionadoSolicitar ContinuaçãoReenviarReenviar %s?Repor CoresLimpar o meu progressoRestaurar as opções de origemResultadoResultado:ContinuarTentar novamenteRoméniaTorreVantagem da TorreRodar tabuleiroRodadaRonda:A executar jogo simultâneoRússiaRuandaReuniãoSRReg_iste-seSão BartolomeuSanta Helena, Ascensão e Tristão da CunhaSão Cristóvão e NevisSanta LúciaSão Pedro e MiquelãoSamoaSan MarinoSançõesSão Tomé e PríncipeArábia SauditaGuardarGuardar jogoGuardar Jogo _ComoGuardar somente _meus jogosGuardar valores de alte_ração da classificaçãoGuardar valores _restantes de análiseGuardar comoGuardar base de dados comoGuardar _tempo restante de movimentoGuardar ficheiros para:Guardar lances antes de fechar?Guardar o jogo atual antes de fechar?Guardar num ficheiro PGN como...PontuaçãoScoutPesquisar:Procurar _gráficosolicitar atualizaçãoSelecionar diretório Gaviota TBSelecionar gravação automáticaSelecione ficheiro de imagem de fundoSelecionar ficheiro de livroSelecionar motorSelecione um ficheiro de som...Selecione os jogos que quer guardar:Selecione o diretório de trabalhoEnviar desafioEnviar todas as buscasEnviar buscaSenegalSeqSequênciaSérviaServidor:Representante de atendimentoConfigurando o ambienteAjustar PosiçãoSeichelesMostrar c_oordenadasCurto _tempo:ShoutMostrar número de jogadores FICS em separadoresMostrar peças _capturadasMostrar tempo restante de movimento.Mostrar valores de avaliaçãoMostrar dicas ao iniciarShredderLinuxChess:AleatórioLado a mover_Painel lateralSerra LeoaPosicionamento comum do xadrezSingapuraSiteSite:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinEslováquiaEslovéniaIlhas SalomãoSomáliaDesculpe '%s' já está logadoArquivos de somFonteÁfrica do SulIlhas Geórgia do Sul e Sanduíche do SulSudão do SulSe_ta espiaEspanhaTempo gastoSri LankaPadrãoPadrão:Começar conversa privadaStatusRetroceder um lanceAdiantar um lanceSudãoSuicídioSurinameJogada suspeitaSvalbard e Jan MayenSuazilândiaSuéciaSuíçaSímbolosRepública Árabe SíriaTTDTMTaiwan (República da China)TajiquistãoA falarTanzânia, República Unida daConta da equipaTextura:TailândiaA oferta de anulaçãoA oferta de adiamentoO motor de jogo será executado em segundo plano e vai analisar o jogo. Necessário para o modo de sugestão funcionarO botão está desativado porque autenticou-se como visitante. Os visitantes não podem ter classificação, e o estado do botão não possui efeito quando não existe nenhuma classificação associada à "Força do oponente".O painel Conversa lhe permite comunicar com o seu adversário durante o jogo, desde que ele esteja interessadoO relógio ainda não foi iniciado.O painel Comentários tenta analisar e explicar os lances jogadosA conexão foi interrompidaO jogo atual não está terminado. A exportação pode ter um interesse limitado.O jogo atual terminou. Primeiro, por favor verifique as propriedades do jogo.O diretório a partir de onde o motor será iniciado.O nome mostrado do primeiro jogador humano, por exemplo, João.O nome mostrado do jogador convidado, por exemplo, Maria.A oferta de empateNo final de partida, mostrara analises exata quando tiver poucas peças no tabuleiro.O motor de jogo %s relata um erro:As saídas de motor de jogo no painel mostra as saídas de analises da motor de jogo do xadrez (jogador computador) durante um jogoA senha está incorreta. Se esqueceu sua senha, vá para http://www.freechess.org/password e solicite uma nova senha por e-mail.O erro foi: %sO arquivo já existe em '%s'. Se substituí-lo, o seu conteúdo será sobrescrito.A acusação de queda de setaO jogo não pode ser carregado, por causa de um erro de análise FENO jogo não pode ser lido até o final, devido a um erro ao analisar o lance %(moveno)s '%(notation)s'.O jogo terminou empatadoO jogo foi anuladoO jogo foi adiadoO jogo foi encerradoO painel de sugestão, aconselhara o computador durante cada fase do jogoO analisador inverso será executado, e mostra como o seu adversário vai mover. Necessário para o modo espião funcionarNão foi possível mover porque %s.O separadores Lances regista os lances dos jogadores e permite que navegue pelo histórico do jogoA oferta de mudança de ladoO livro de aberturas irá tentar inspirá-lo durante a fase de abertura do jogo mostrando-lhe lances comuns feitos pelos mestres de xadrezA oferta de pausaA razão é desconhecidaO abandonoA oferta de retomadaO painel de Pontuação tenta avaliar as posições e mostrar um gráfico da evolução do jogoA oferta de voltar jogadasThebanTemasHá %d jogo com lances não-salvos.Há %d jogos com movimentos não-salvos.À algo errado com este executávelO jogo pode ser automaticamente cancelado sem perda na classificação porque ainda não foram feitas duas jogadas.Este jogo não pode ser adiado pois um ou mais jogadores são convidadosEsta é a continuação de um jogo adiadoEsta opção não é aplicável porque está desafiando um jogadorEsta opção não está disponível porque está a desafiar um convidado, Analises de ameaças por %sTrês checksTempoControle de tempo: Pressão do tempoTimor-LesteDica do diaDica do diaTítuloTituladoTogoToquelauTolerância:TongaDiretor do torneioTraduza o PyChessTrindade e TobagoTente chmod a+x %sTunísiaTurquiaTurcomenistãoIlhas Turcas e CaicosTuvaluTipoTecle ou cole sua partida PGN ou posição FEN aquiUUgandaUcrâniaNão foi possível aceitar %sNão foi possível guardar para o ficheiro configurado. Guardar os jogos antes de fechar?Incapaz de guardar o arquivo de configuração. Guardar o jogo antes de fechar?Posição incertaPainel sem descriçãoVoltar jogadaVoltar um lanceVoltar dois lancesDesinstalarEmirados Árabes UnidosReino Unido da Grã-Bretanha e Irlanda do NorteIlhas Menores Distantes dos Estados UnidosEstados Unidos da AméricaDesconhecidoEstado do jogo desconhecidoCanal não-oficial %dNão pontuadoNão RegistadoSem relógioCabeça para baixoUruguaiUtilizar a_nalisadorUtilizar analisador _inversoUtilizar tablebases _localUtilizar tablebases _onlineUsar escala linear para a pontuaçãoUtilizar analisadorUtilizar formato do nome:Utilizar _livro de aberturasUsar compensação de tempoUsbequistãoValorVanuatuVarianteVariante desenvolvida por Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Anotação da variação cria um limiar de peõesVenezuela (República Bolivariana da)Jogada muito máVietnameIlhas Virgens (Britânicas)Ilhas Virgens (E.U.A.)B EloMFM (WFM)WGMWIMEspereAviso: esta opção gera um ficheiro .png formatado que não é compatível com padrõesNão foi possível guardar '%(uri)s' porque o PyChess não reconhece o formato '%(ending)s'.Bem-vindoFeito! %s completado.Saara OcidentalQuando este botão está no estado "marcado", a relação entre "a força de adversário" e "a sua força" estará preservada se a) a sua classificação para o tipo de jogo procurado for alterada b) alterar a variante ou o controlo do tempoBrancasBranco ELO:Brancas O-OBrancas O-O-OBrancas tem uma peça em posto avançado: %sBrancas estão com muito pouco espaçoBrancas estão com pouco espaçoMovimento das brancasBrancas devem fazer uma chuva de Peões na ala esquerdaBrancas devem fazer uma chuva de Peões na ala direitaLado branco - Clique para mudar de jogadoresBrancas:WildWildcastleWildcastle aleatórioVitóriaGanha executando check 3 vezesVencedor:A ganhar %Com ataqueMestre FIDE MulherGrande Mestre MulherMestre Internacional MulherDiretório de trabalho:Ano, mês, dia: #y, #m, #dIémenPediu para o seu oponente moverNão pode jogar jogos pontuados porque o botão "Sem relógio" foi marcado, Não pode jogar jogos pontuados porque está conectado como convidadoNão pode selecionar uma variação porque o botão "Sem relógio" foi marcado, Não pode mudar a cor durante o jogo.Não pode tocar aqui! Está examinando um jogo.Não tem privilégios necessários para guardar o ficheiro. Por favor certifique-se que indicou o caminho correto e tente novamente.Foi desconectado porque ficou inativo mais de 60 minutosAinda não abriu conversasTem que selecionar kibitz para ver as mensagens de robot aqui.Você tentou voltar demasiados lances.Pode ter somente 3 buscas ao mesmo tempo. Se quer adicionar uma nova busca, precisa limpar suas buscas atuais. Pretende limpar suas buscas?Enviou uma oferta de empateEnviou uma oferta de pausaEnviou uma oferta de continuaçãoEnviou uma oferta de anulaçãoEnviou uma oferta de adiamentoEnviou uma pedido para voltar jogadaEnviou chamadaIrá perder todos os dados do seu progresso!O seu adversário pede que se apresse!O seu adversário solicitou que o jogo seja anulado. Se aceitar, o jogo terminará sem nenhuma alteração na classificação.O seu adversário quer que o jogo seja adiado. Se aceitar, o jogo será adiado e poderá jogá-lo em outra data (se o seu adversário também estiver conectado e ambos os jogadores concordarem em retomar o jogo).O seu adversário pediu para fazer uma pausa no jogo. Se aceitar, o relógio do jogo será parado até que ambos aceitem retomar o jogo.O seu adversário quer retomar o jogo. Se aceitar, o relógio do jogo continuará a contar de onde foi pausado.O seu adversário quer voltar %s lance(s). Se aceitar, o jogo continuará a partir da posição indicada.O seu adversário ofereceu empate.O seu adversário ofereceu um empate. Se aceitar, a partida terminará com o resultado 1/2 - 1/2.O seu adversário não está fora do tempo.O seu oponente precisa aceitar para o jogo ser abortado porque tem duas ou mais jogadasO seu adversário parece ter mudado sua mente.O seu adversário quer cancelar a partida.O seu oponente quer adiar a partida.O seu adversário quer pausar a partida.O seu adversário quer retomar a partida.O seu adversário quer desfazer %s movimento(s).As suas solicitações foram removidasA sua força: Sua vez.ZâmbiaZimbabuéZugzwang_Aceitar_Ações_Analisar partida_ArquivadoGuardar _automaticamente jogos terminados num ficheiro .pgn_Acusar SetaLimpar Bus_cas_Copiar FEN_Copiar PGN_Rejeitar_EditarMotor_es de jogo_Exportar Posição_Ecrã Completo_JogoLista de _Jogos_GeralAj_udaEs_conder separadores quando houver somente um jogo aberto_Seta de dica_DicasMovimento _inválido:Carr_egar jogo_Visualizador de Registos_Meus jogos_Nome:_Novo Jogo_PróximoJogo obse_rvado move:A_dversário:_Senha:_Jogar pelas regras normaisLista de _Jogadores_Anterior_Recente:_Substituir_Rodar o Tabuleiro_Guardar %d documento_Guardar %d documentos_Guardar %d documentos_Guardar Jogo_Buscas / Desafios_Mostrar Painel Lateral_Sons_Iniciar JogoSem _relógio_Utilizar o fechar principal [x] para fechar todos os jogos_Utilizar sons no PyChess_Variação de escolhas:_Ver_A sua Cor:ee os convidados não podem jogar jogos pontuadose no FICS, jogos sem relógio não podem ser pontuadose no FICS, jogos sem relógio têm que ser nas regras normais do xadrezpedir ao o seu adversário que movanegraslevam %(piece)s para mais perto do Rei inimigo: %(cord)slevam um Peão para mais perto da última fileira: %sacusar queda de seta do adversáriocapturam peçarocamdefendem %savançam %(piece)s: %(cord)savançam um Peão: %sempatamtrocam peçasgnuchess:semi-abertahttp://brainking.com/en/GameRules?tp=2 * Localização das peças na 1ª e 8ª fileira são randomizadas * O rei está no canto direito * Bispos precisam iniciar em cores de casas opostas * Posição inicial das negras é obtida pela posição das brancas em 180 graus em torno do centro do tabuleiro * Sem roquehttp://pt.wikipedia.org/wiki/Xadrezhttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://pt.wikipedia.org/wiki/Regras_do_xadrezmelhora a segurança do Reina coluna %(x)s%(y)snas colunas %(x)s%(y)saumenta a pressão em %speça inválida para promoçãoliçõesfazem xeque-mateminminsmovermovem uma Torre para uma coluna abertamovem uma Torre para uma coluna semi-abertamovem o Bispo para o fianqueto: %snão jogardeoferecer empateoferecer uma pausaoferecer voltar jogadasoferecer anulaçãooferecer adiamentooferecer para reiniciar jogooferecer troca de ladoconectado no totaloutrospregam %(oppiece)s do inimigo no(a) %(piece)s em %(cord)saumentam ação de %(piece)s: %(cord)spromovem um Peão a %spõem o adversário em xequeintervalo de classificação neste momentoresgata %sabandonorodada %sSacrificar materialssegsmelhora ligeiramente a segurança do Reirecuperam materiala coordenada capturada (%s) está incorretafim do laço (%s) é incorretoo lance precisa de uma peça e uma coordenadaameaça ganhar a peça por %saceitar automaticamenteaceitar manualmenteucivs.brancasjanela1xboardxboard sem roque: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Disposição aleatória das peças atrás dos peões * Sem roque * Arranjo das negras espelham as brancasxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * Brancas tem a posição normal de inicio. * Negras tem a mesma posição, exceto para o Rei e Rainha que são invertidos, * para que eles não tenham a mesma coluna como o Rei e a Rainha branca. * Roque é executado como no xadrez normal: * o-o-o indica roque longo e o-o indica roque curto.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * Nessa variante ambos os lados tem o mesmo posicionamento das peças do xadrez normal. * O rei branco inicia na d1 ou e1 e o rei negro inicia na d8 ou e8, * e as torres estão em sua posições normais. * Bispos estão sempre em cores opostas. * Sujeito a restrições, a posição das peças em suas primeiras fileiras é aleatória. * Roque é feito como no xadrez normal. * o-o-o indica roque longo e o-o indica roque curto.Ilhas de Alandapychess-1.0.0/lang/pt/LC_MESSAGES/pychess.po0000644000175000017500000053520113455542727017431 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2007 # Rui , 2018 # Tiago Santos , 2016 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Portuguese (http://www.transifex.com/gbtami/pychess/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Jogo" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Novo Jogo" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Jogar Xadrez na _Internet" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "Carr_egar jogo" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Carregar _Jogo Recente" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Guardar Jogo" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Guardar Jogo _Como" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "_Exportar Posição" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Classificação do Jogado_r" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "_Analisar partida" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Editar" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_Copiar PGN" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "_Copiar FEN" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "Motor_es de jogo" #: glade/PyChess.glade:518 msgid "Externals" msgstr "Externos" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Ações" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Oferecer para _Abortar a Partida" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Oferecer Ad_iamento" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Oferecer _Empate" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Oferecer _Pausa" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Oferecer _Reinício" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Pedir para Vo_ltar" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Acusar Seta" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "Aban_donar" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Pedir que _Mova" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "Chamar _Bandeira Automaticamente" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Ver" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Rodar o Tabuleiro" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Ecrã Completo" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Sair do _Ecrã Completo" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "_Mostrar Painel Lateral" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_Visualizador de Registos" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "_Seta de dica" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "Se_ta espia" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "Base de Dados" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "Nova Base de _Dados" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "Guardar base de dados como" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "Criar livro de abertura poliglota" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "Importar ficheiro de xadrez" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "Importar jogos anotados de endgame.nl" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "Importar jogos de theweekinchess.com" #: glade/PyChess.glade:865 msgid "_Help" msgstr "Aj_uda" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Sobre o xadrez" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Como Jogar" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Traduza o PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Dica do dia" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Cliente de Xadres" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Preferências" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "O nome mostrado do primeiro jogador humano, por exemplo, João." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Nome do p_rimeiro jogador humano:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "O nome mostrado do jogador convidado, por exemplo, Maria." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Nome do s_egundo jogador humano:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "Es_conder separadores quando houver somente um jogo aberto" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Se marcado, oculta o separadores no topo da janela do jogo quando não é necessária." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "_Utilizar o fechar principal [x] para fechar todos os jogos" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "Se selecionado, fechar a janela principal fecha todos os jogos" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "A_uto-rodar o tabuleiro para o jogador humano atual" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Se marcado, o tabuleiro será rodado depois de cada lance, para mostrar a visualização natural do jogador atual." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "Auto _promover a rainha" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "Se selecionado, peão promove a rainha sem abrir opção de escolha." #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "_Modo de visualização Face a Face" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Se marcado, as peças negras ficarão de cabeça para baixo, adequado para jogar contra amigos em aparelhos móveis." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "Usar escala linear para a pontuação" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "Mostrar peças _capturadas" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "Se definido, as peças capturadas serão mostradas ao lado do tabuleiro." #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Utilizar figuras na _notação" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "Se marcado, o PyChess utilizará figuras para mostrar as peças movidas, em vez de letras maiúsculas." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "Colorir movimentos analisados" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "Se definido, PyChess vai colorir os movimentos analisados como inadequados com vermelho." #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "Mostrar tempo restante de movimento." #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "Se definido, o tempo decorrido que um jogador utiliza para cada jogada é mostrado." #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "Mostrar valores de avaliação" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "Se selecionado, valor restante da analise é mostrado." #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "Mostrar número de jogadores FICS em separadores" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "Se marcado, número de jogadores FICS será mostrado e separadores próximo do nome de jogadores." #: glade/PyChess.glade:1402 msgid "General Options" msgstr "Opções Gerais" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "Animação completa do _tabuleiro" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Animar peças, rotação do tabuleiro e mais. Use esta opção em computadores rápidos." #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Animar somente mo_vimentos" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Animar somente o movimento das peças." #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Sem an_imação" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Nunca utilizar animação. Use isto para computadores lentos." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animação" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_Geral" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "Utilizar _livro de aberturas" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "Se definido, PyChess vai sugerir o melhor movimento de abertura no painel de dicas." #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "Ficheiro de livro Polyglot:" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "Profun. máx. do livro:" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "Utilizar tablebases _local" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "Se definido, PyChess irá mostrar os resultados de jogos de movimentos diferentes em posições que contém 6 ou menos peças.\nPode transferir ficheiros tablebase:\nhttp://www.olympuschess.com/egtb/gaviota/" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "Diretório Gaviota TB" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "Utilizar tablebases _online" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "Se definido, PyChess irá mostrar os resultados de jogos de movimentos diferentes em posições que contém 6 ou menos peças.\nIrá procurar posições de http://www.k4it.de/" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "Abertura, final de partida" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Utilizar a_nalisador" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "O motor de jogo será executado em segundo plano e vai analisar o jogo. Necessário para o modo de sugestão funcionar" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Utilizar analisador _inverso" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "O analisador inverso será executado, e mostra como o seu adversário vai mover. Necessário para o modo espião funcionar" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "O tempo máximo de análise em segundos:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "Análise infinita" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analisador" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_Dicas" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Desinstalar" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "A_tivo" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Painéis laterais instalados" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "_Painel lateral" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "Caminho da imagem de fundo:" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "Tela de boas vindas" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "Textura:" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "Quadro:" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Casas Brancas :" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "Grelha" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Casas Escuras :" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "Repor Cores" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "Mostrar c_oordenadas" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "Se marcado, o tabuleiro mostrará as coordenadas de cada casa do tabuleiro. É útil para a notação do xadrez." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "Estilo do tabuleiro" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "Fonte:" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "Mover texto" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "Modelos" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Temas" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Utilizar sons no PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "Um jogador dá _xeque:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Um jogador _move:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "O jogo _empata:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "O jogo é per_dido:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "O jogo é _vencido:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Um jogador _captura:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "O jogo é _iniciado:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "Jogo obse_rvado move:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "Jogo observado _termina:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "Curto _tempo:" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "Movimento _inválido:" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "Ativar alarme quando segundos _restantes for:" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "_Variação de escolhas:" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Tocar som quando..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Sons" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "Guardar _automaticamente jogos terminados num ficheiro .pgn" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Guardar ficheiros para:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "Utilizar formato do nome:" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "Nomes: #n1,#n2" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "Ano, mês, dia: #y, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "Guardar _tempo restante de movimento" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "Guardar valores _restantes de análise" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "Guardar valores de alte_ração da classificação" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "Aviso: esta opção gera um ficheiro .png formatado que não é compatível com padrões" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "Guardar somente _meus jogos" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Guardar" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Promoção" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Dama" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Torre" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Bispo" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Cavalo" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Rei" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Promover Peão a que?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "Padrão" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "Cavalos" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Informações do jogo" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Site:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "Alteração da classificação:" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "Preto ELO:" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Pretas" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Ronda:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "Branco ELO:" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Brancas:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "Data:" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "Resultado:" #: glade/PyChess.glade:4818 msgid "Game" msgstr "Jogo" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "Jogadores:" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Evento:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "Identificação" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "Etiquetas adicionais" #: glade/PyChess.glade:5066 msgid "uci" msgstr "uci" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "xboard" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "Gerir motores" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Comando:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protocolo:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Parâmetros:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "Parâmetros da linha de comandos necessários pelo motor" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "Motores utilizam o protocolo de comunicação uci ou xboard para falar com a GUI.\nSe ele pode utiliza ambos, pode definir aqui o que gosta." #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "Diretório de trabalho:" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "O diretório a partir de onde o motor será iniciado." #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "País:" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "País de origem do motor" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "Comentário:" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "Comentário livre sobre o motor" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "Ambiente" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "Nível preferido:" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "Restaurar as opções de origem" #: glade/PyChess.glade:5538 msgid "Options" msgstr "Opções" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "Filtro" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Brancas" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Pretas" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "Ignorar cores" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "Evento" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "ECO" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "Elo" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "0" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "-" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Data" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "Site" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "Notas" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Resultado" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "1-0" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "0-1" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "1/2-1/2" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "Variante" #: glade/PyChess.glade:6410 msgid "Header" msgstr "Cabeçalho" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "Movimento das brancas" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "Movimento das pretas" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "Moveu" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "Capturou" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "Lado a mover" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "Material/mover" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "Padrão" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "Scout" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Analisar jogo" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "Utilizar analisador" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "Se a análise encontra um movimento onde a diferença de avaliação (a diferença entre a análise do movimento que se pensa ser melhor e a avaliação do movimento do jogo) ultrapassa este valor, será adicionada uma anotação do movimento (consistindo na variação principal do movimento) no painel de anotações. " #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "Anotação da variação cria um limiar de peões" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "Analisar a partir da posição atual" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "Analisar movimento das negras" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "Analisar movimento das brancas" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "Adicionar linhas de variações ameaçadoras" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess está verificando os seus mecanismos de xadrez. Por favor espere." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Conecte ao Internet Chess" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "A ligar ao Servidor de Xadrez Online" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Senha:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Nome:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Conetar-se como _Convidado" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "Host:" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Po_rtas:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "Atraso:" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "Usar compensação de tempo" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "Reg_iste-se" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Desafio: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Enviar desafio" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Desafiar:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Relâmpago:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Padrão:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Blitz:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "2 min, Xadrez Aleatório de Fischer, Pretas" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10min + 6s/lance, Brancas" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 min" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "Limpar Bus_cas" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Aceitar" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Rejeitar" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "Enviar todas as buscas" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Enviar busca" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Criar busca" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Padrão" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Blitz" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Relâmpago" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Computador" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "_Buscas / Desafios" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Classificação" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Tempo" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "Procurar _gráfico" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 jogadores prontos" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Desafiar" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Observar" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Começar conversa privada" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "Registado" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Convidado" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "Titulado" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "Lista de _Jogadores" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "Lista de _Jogos" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "_Meus jogos" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "Oferecer _Abortar Partida" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "Examinar" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "Pre_visão" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "_Arquivado" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "Aleatório assimétrico" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Editar busca" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Sem relógio" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minutos: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr " Incremento: " #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Controle de tempo: " #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Controle de tempo" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Qualquer um" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "A sua força: " #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Blitz)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Força do adversário: " #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "Quando este botão está no estado \"marcado\", a relação\nentre \"a força de adversário\" e \"a sua força\" estará\npreservada se\na) a sua classificação para o tipo de jogo procurado for alterada\nb) alterar a variante ou o controlo do tempo" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Centro:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Tolerância:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Ocultar" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Força do adversário" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "A sua cor" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Jogar com as regras normais do xadrez" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Jogar" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Variantes do xadrez" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Jogo pontuado" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Aceitar adversário manualmente" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Opções" #: glade/findbar.glade:6 msgid "window1" msgstr "janela1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 de 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Pesquisar:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Anterior" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Próximo" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Novo Jogo" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Iniciar Jogo" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "Copiar FEN" #: glade/newInOut.glade:143 msgid "Clear" msgstr "Limpar" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "Colar FEN" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "Configuração inicial" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "Força do motor de jogo (1=mais fraco, 20=mais forte)" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "Lado branco - Clique para mudar de jogadores" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "Lado preto - Clique para mudar de jogadores" #: glade/newInOut.glade:397 msgid "Players" msgstr "Jogadores" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "Sem _relógio" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "Blitz: 5 min" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "Rápido: 15 min + 10 seg/movimento" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "Normal: 40 min + 15 seg/movimento" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "Clássico: 3 min / 40 movimentos" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "_Jogar pelas regras normais" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Jogar Xadrez Aleatório Fischer" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "Jogar xadrez dos perdedores" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Abrir Jogo" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Posição Inicial" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Entrar com Notação de Jogo" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "Relógio meio movimento" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "Linha en passant" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "Numero do movimento" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "Negras O-O" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "Negras O-O-O" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "Brancas O-O-O" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "Brancas O-O" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "Rodar tabuleiro" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Sair do PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "_Fechar sem Guardar" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "_Guardar %d documentos" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "Há %d jogos com lances não salvos. Guardar antes de fechar?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Selecione os jogos que quer guardar:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Se não guardar, as novas alterações dos jogos serão perdidas permanentemente." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "A_dversário:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_A sua Cor:" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "_Iniciar Jogo" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "Configurações de ligação detalhadas" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "Autenticar automaticamente ao iniciar" #: glade/taskers.glade:369 msgid "Server:" msgstr "Servidor:" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "_Conetar ao servidor" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "_Recente:" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "Criar uma nova base de dados" #: glade/taskers.glade:609 msgid "Open database" msgstr "Abrir base de dados" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "Categoria:" #: glade/taskers.glade:796 msgid "Start learning" msgstr "Começar a aprender" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Dica do dia" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Mostrar dicas ao iniciar" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://pt.wikipedia.org/wiki/Xadrez" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://pt.wikipedia.org/wiki/Regras_do_xadrez" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Bem-vindo" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Abrir jogo" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "A ler %s ..." #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "Importados %(counter)s cabeçalhos de jogos de %(filename)s" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "O motor de jogo %s relata um erro:" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "O seu adversário ofereceu empate." #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "O seu adversário ofereceu um empate. Se aceitar, a partida terminará com o resultado 1/2 - 1/2." #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "O seu adversário quer cancelar a partida." #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "O seu adversário solicitou que o jogo seja anulado. Se aceitar, o jogo terminará sem nenhuma alteração na classificação." #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "O seu oponente quer adiar a partida." #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "O seu adversário quer que o jogo seja adiado. Se aceitar, o jogo será adiado e poderá jogá-lo em outra data (se o seu adversário também estiver conectado e ambos os jogadores concordarem em retomar o jogo)." #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "O seu adversário quer desfazer %s movimento(s)." #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "O seu adversário quer voltar %s lance(s). Se aceitar, o jogo continuará a partir da posição indicada." #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "O seu adversário quer pausar a partida." #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "O seu adversário pediu para fazer uma pausa no jogo. Se aceitar, o relógio do jogo será parado até que ambos aceitem retomar o jogo." #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "O seu adversário quer retomar a partida." #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "O seu adversário quer retomar o jogo. Se aceitar, o relógio do jogo continuará a contar de onde foi pausado." #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "O abandono" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "A acusação de queda de seta" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "A oferta de empate" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "A oferta de anulação" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "A oferta de adiamento" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "A oferta de pausa" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "A oferta de retomada" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "A oferta de mudança de lado" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "A oferta de voltar jogadas" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "abandono" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "acusar queda de seta do adversário" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "oferecer empate" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "oferecer anulação" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "oferecer adiamento" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "oferecer uma pausa" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "oferecer para reiniciar jogo" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "oferecer troca de lado" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "oferecer voltar jogadas" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "pedir ao o seu adversário que mova" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "O seu adversário não está fora do tempo." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "O relógio ainda não foi iniciado." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "Não pode mudar a cor durante o jogo." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "Você tentou voltar demasiados lances." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "O seu adversário pede que se apresse!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "Geralmente isto não significa nada, como o jogo é baseado em tempo, mas se quer agradar o seu adversário, talvez deva ir" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "Aceitar" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "Recusar" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "%s foi recusado por o seu adversário" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "Reenviar %s?" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "Reenviar" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s foi retirada por o seu adversário" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "O seu adversário parece ter mudado sua mente." #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "Não foi possível aceitar %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "Provavelmente porque ele foi retirado." #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s devolveu um erro" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "Diagrama Chess Alpha 2" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "O jogo atual terminou. Primeiro, por favor verifique as propriedades do jogo." #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "O jogo atual não está terminado. A exportação pode ter um interesse limitado." #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "Jogo partilhado em" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "(Ligação disponível na área de transferência.)" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Posição do tabuleiro" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Desconhecido" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Posicionamento comum do xadrez" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "O jogo não pode ser carregado, por causa de um erro de análise FEN" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Jogo de Xadrez" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "A importar cabeçalhos do jogo..." #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "A criar ficheiro indexado .bin..." #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "A criar ficheiro indexado .scout..." #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "Movimento inválido." #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "Erro ao processar %(mstr)s" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "O jogo não pode ser lido até o final, devido a um erro ao analisar o lance %(moveno)s '%(notation)s'." #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "Não foi possível mover porque %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "Erro ao analisar movimento %(moveno)s %(mstr)s" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "Imagem PNG" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "Endereço de destino inacessível" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Encerrado" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Evento local" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Ponto local" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "min" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "s" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "Nova versão %s está disponível!" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "Andorra" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "Emirados Árabes Unidos" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "Afeganistão" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "Antígua e Barbuda" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "Anguilla" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "Albânia" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "Arménia" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "Angola" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "Antártida" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "Argentina" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "Samoa Americana" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "Áustria" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "Austrália" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "Aruba" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "Ilhas de Alanda" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "Azerbaijão" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "Bósnia e Herzegovina" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "Barbados" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "Bangladeche" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "Bélgica" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "Burquina Faso" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "Bulgária" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "Bahrein" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "Burundi" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "Benim" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "São Bartolomeu" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "Bermudas" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "Brunei Darussalam" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "Bolívia (Estado Plurinacional da)" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "Países Baixos Caribenhos" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "Brasil" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "Bahamas" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "Butão" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "Ilha Bouvet" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "Botswana" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "Bielorrússia" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "Belize" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "Canadá" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "Ilhas Cocos (Keeling)" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "Congo (República Democrática do)" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "República Central Africana" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "Congo" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "Suíça" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "Costa do Marfim" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "Ilhas Cook" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "Chile" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "Camarões" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "China" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "Colômbia" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "Costa Rica" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "Cuba" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "Cabo Verde" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "Curaçao" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "Ilha do Natal" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "Chipre" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "Checa (República)" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "Alemanha" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "Djibouti" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "Dinamarca" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "Dominica" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "República Dominicana" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "Argélia" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "Equador" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "Estónia" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "Egito" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "Saara Ocidental" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "Eritreia" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "Espanha" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "Etiópia" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "Finlândia" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "Fiji" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "Ilhas Malvinas" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "Micronésia (Estados Federados da)" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "Ilhas Féroe" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "França" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "Gabão" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "Reino Unido da Grã-Bretanha e Irlanda do Norte" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "Granada" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "Geórgia" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "Guiana Francesa" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "Guernsey" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "Gana" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "Gibraltar" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "Gronelândia" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "Gâmbia" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "Guiné" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "Guadalupe" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "Guiné Equatorial" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "Grécia" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "Ilhas Geórgia do Sul e Sanduíche do Sul" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "Guatemala" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "Guão" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "Guiné-Bissau" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "Guiana" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "Hong Kong" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "Ilha Heard e Ilhas McDonald" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "Honduras" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "Croácia" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "Haiti" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "Hungria" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "Indonésia" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "Irlanda" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "Israel" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "Ilha de Man" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "Índia" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "Território Britânico do Oceano Índico" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "Iraque" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "Irão (República Islâmica do)" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "Islândia" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "Itália" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "Jersey" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "Jamaica" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "Jordânia" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "Japão" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "Quénia" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "Quirguistão" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "Camboja" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "Quiribáti" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "Comores" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "São Cristóvão e Nevis" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "Coreia (República Popular Democrática da)" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "Coreia (República da)" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "Kuwait" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "Ilhas Caimão" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "Cazaquistão" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "República Democrática Popular Lau" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "Líbano" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "Santa Lúcia" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "Liechtenstein" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "Sri Lanka" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "Libéria" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "Lesoto" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "Lituânia" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "Luxemburgo" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "Letónia" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "Líbia" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "Marrocos" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "Mónaco" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "Moldávia (República da)" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "Montenegro" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "Madagáscar" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "Ilhas Marshall" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "Macedónia (antiga República Jugoslava da)" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "Mali" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "Birmânia" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "Mongólia" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "Macau" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "Ilhas Marianas Setentrionais" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "Martinica" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "Mauritânia" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "Monserrate" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "Malta" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "Maurícia" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "Maldivas" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "Maláui" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "México" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "Malásia" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "Moçambique" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "Namíbia" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "Nova Caledónia" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "Níger" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "Ilha Norfolk" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "Nigéria" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "Nicarágua" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "Holanda" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "Noruega" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "Nepal" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "Nauru" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "Niue" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "Nova Zelândia" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "Omã" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "Panamá" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "Peru " #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "Polinésia Francesa" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "Papua Nova Guiné" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "Filipinas" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "Paquistão" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "Polónia" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "São Pedro e Miquelão" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "Pitcairn" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "Porto Rico" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "Palestina, Estado da" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "Portugal" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "Palau" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "Paraguai" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "Qatar" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "Reunião" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "Roménia" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "Sérvia" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "Rússia" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "Ruanda" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "Arábia Saudita" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "Ilhas Salomão" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "Seicheles" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "Sudão" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "Suécia" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "Singapura" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "Santa Helena, Ascensão e Tristão da Cunha" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "Eslovénia" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "Svalbard e Jan Mayen" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "Eslováquia" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "Serra Leoa" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "San Marino" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "Senegal" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "Somália" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "Suriname" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "Sudão do Sul" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "São Tomé e Príncipe" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "El Salvador" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "República Árabe Síria" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "Suazilândia" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "Ilhas Turcas e Caicos" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "Chade" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "Terras Austrais Francesas" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "Togo" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "Tailândia" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "Tajiquistão" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "Toquelau" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "Timor-Leste" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "Turcomenistão" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "Tunísia" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "Tonga" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "Turquia" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "Trindade e Tobago" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "Tuvalu" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "Taiwan (República da China)" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "Tanzânia, República Unida da" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "Ucrânia" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "Uganda" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "Ilhas Menores Distantes dos Estados Unidos" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "Estados Unidos da América" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "Uruguai" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "Usbequistão" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "Santa Sé" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "Venezuela (República Bolivariana da)" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "Ilhas Virgens (Britânicas)" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "Ilhas Virgens (E.U.A.)" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "Vietname" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "Vanuatu" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "Samoa" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "Iémen" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "África do Sul" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "Zâmbia" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "Zimbabué" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Peão" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "C" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "B" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "T" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "D" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "R" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "O jogo terminou empatado" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s venceu o jogo" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s venceu o jogo" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "O jogo foi encerrado" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "O jogo foi adiado" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "O jogo foi anulado" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "Estado do jogo desconhecido" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "Jogo cancelado" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "Porque nenhum jogar tem material suficiente para dar mate" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "Porque a mesma posição se repetiu três vezes consecutivas" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "Porque os últimos 50 lances não trouxeram nada de novo" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Porque o tempo acabou para ambos os jogadores" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "Porque %(mover)s provocou empate por afogamento" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "Porque ambos combinaram empate" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "Devido a uma decisão proferida por um administrador" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "Porque o jogo excedeu o tamanho máximo" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "Porque %(white)s caiu no tempo e %(black)s não tem material suficente para dar mate" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "Porque %(black)s caiu no tempo e %(white)s não tem material suficente para dar mate" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "Porque ambos jogadores tem a mesma quantidade de peças" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "Porque %(loser)s abandonou" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "Porque o tempo de %(loser)s terminou" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "Porque %(loser)s levou cheque-mate" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "Porque %(loser)s se desconectou" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "Porque %(winner)s tem menos peças" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "Porque %(winner)s perdeu todas as peças" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "Porque %(loser)s rei explodiu" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "Porque o rei %(winner)s alcançou o centro " #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "Poque o %(winner)s deu check 3 vezes" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "Porque o jogador perdeu a conexão" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "Porque ambos os jogadores concordaram num adiamento" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "Porque o servidor foi desligado" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "Porque um jogador perdeu a conexão e outro jogador solicitou adiamento" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "Porque %(black)s perdeu a conexão com o servidor e %(white)s solicitou um adiamento" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "Porque %(white)s perdeu a conexão com o servidor e %(black)s solicitou um adiamento" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "Porque %(white)s perdeu a conexão com o servidor" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "Porque %(black)s perdeu a conexão com o servidor" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "Por causa da decisão proferida por um administrador, não ocorreu nenhuma alteração na classificação." #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "Porque ambos os jogadores concordaram em abortar o jogo, não ocorreu nenhuma alteração na classificação." #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "Por causa da cortesia do jogador, não ocorreu nenhuma alteração na classificação." #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "O jogador abortou o jogo. Qualquer jogador pode abortar o jogo sem o consenso de outros antes da segunda jogada. Não ocorreu nenhuma alteração na classificação." #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "Como um jogador desconectou e tem poucas jogadas para garantir um adiamento, não ocorreu nenhuma alteração na classificação." #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "Porque o servidor foi desligado, não ocorreu nenhuma alteração na classificação." #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "Porque o mecanismo de xadrez %(white)s foi encerrado" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "Porque o motor %(black)s morreu" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "Porque a conexão com o servidor foi perdida" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "A razão é desconhecida" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "ASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "ASEAN" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "Makruk: http://en.wikipedia.org/wiki/Makruk" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "Makruk" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "Cambodian: http://www.khmerinstitute.org/culture/ok.html" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "Cambodian" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "Ai-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "Ai-Wok" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "Sittuyin" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n* Escolha Randômica de peças (duas rainhas ou três torres possíveis)\n* Exatamente um rei de cada cor\n* Peças colocadas aleatoriamente atrás dos peões, SUJEITO A RESTRIÇÃO PARA QUE OS BISPOS ESTEJAM BALANCEADOS\n* Sem roque\n* Disposição das negras NÂO espelha as brancas" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Aleatório Assimétrico" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "FICS atómico: http://www.freechess.org/Help/HelpFiles/atomic.html" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "Atómico" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Regras clássicas do xadrez com peças ocultas \nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "Xadrez às Cegas" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Regras clássica do xadrez com Peões ocultos\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "Ocultar Peões" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Regras clássicas do xadrez com peças ocultas \nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "Ocultar peças" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Regras clássicas do xadrez com todas as peças brancas\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "Todas brancas" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "FICS Bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "Bughouse" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "http://brainking.com/en/GameRules?tp=2\n* Localização das peças na 1ª e 8ª fileira são randomizadas\n* O rei está no canto direito\n* Bispos precisam iniciar em cores de casas opostas\n* Posição inicial das negras é obtida pela posição das brancas em 180 graus em torno do centro do tabuleiro\n* Sem roque" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Canto" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "Crazyhouse" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "EuroShogi" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "http://en.wikipedia.org/wiki/Chess960\nFICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Aleatório de Fischer" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "Trazer o seu rei legalmente para o centro (e4, d4, e5, d5) imediatamente ganha o jogo!\nRegras normais aplicam em alguns casos e checkmate também termina o jogo." #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "Rei acima" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "Um jogador começa sem um Cavalo" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "Vantagem do Cavalo" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "De perdedores" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "Regras clássicas do xadrez\nhttp://en.wikipedia.org/wiki/Chess" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Tempo padrão" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "Um jogador começa com um Peão a menos" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "Vantagem do Peão" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\nPeões brancos iniciam na 5ª fileira e peões negros na 4ª fileira" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "Peões passados" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\nPeões iniciam na 4ª e 5ª fileira ao invés da 2ª e 7ª" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "Peões avançados" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "Colocação" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "Um jogador começa sem a rainha" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "Vantagem da Dama" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "Corrida de reis" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n* Escolha Randômica de peças (duas rainhas ou três torres possíveis)\n* Exatamente um rei de cada cor\n* Peças colocadas aleatoriamente atrás dos peões\n* Sem roque\n* Disposição das negras espelha as brancas" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Aleatório" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "Um jogador começa sem uma Torre" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "Vantagem da Torre" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "xboard sem roque: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n* Disposição aleatória das peças atrás dos peões\n* Sem roque\n* Arranjo das negras espelham as brancas" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Aleatório" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "FICS suicídio: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "Suicídio" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "Variante desenvolvida por Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "Theban" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "Ganha executando check 3 vezes" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "Três checks" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "ICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\nhttp://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\nPeões iniciam na sua 7ª fileira ao invés da 2ª fileira!" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "Cabeça para baixo" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n* Brancas tem a posição normal de inicio.\n* Negras tem a mesma posição, exceto para o Rei e Rainha que são invertidos,\n* para que eles não tenham a mesma coluna como o Rei e a Rainha branca.\n* Roque é executado como no xadrez normal:\n* o-o-o indica roque longo e o-o indica roque curto." #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "Wildcastle" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n* Nessa variante ambos os lados tem o mesmo posicionamento das peças do xadrez normal.\n* O rei branco inicia na d1 ou e1 e o rei negro inicia na d8 ou e8,\n* e as torres estão em sua posições normais.\n* Bispos estão sempre em cores opostas.\n* Sujeito a restrições, a posição das peças em suas primeiras fileiras é aleatória.\n* Roque é feito como no xadrez normal.\n* o-o-o indica roque longo e o-o indica roque curto." #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "Wildcastle aleatório" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "A conexão foi interrompida" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' não é um nome registado" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "A senha está incorreta.\nSe esqueceu sua senha, vá para http://www.freechess.org/password e solicite uma nova senha por e-mail." #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "Desculpe '%s' já está logado" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr " '%s' é um nome registado. Se for o seu, introduza sua senha." #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "Apesar do problema de abuso, conexão do visitante foi preservada.\nVocê ainda tem registo no http://www.freechess.org" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Conectando ao servidor" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Conectando ao servidor" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Configurando o ambiente" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "%(player)s está %(status)s" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "não jogar" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Wild" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Conectado" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Desconectado" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "Disponível" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "A jogar" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "Inativo" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "Examinando" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "Indisponível" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "A executar jogo simultâneo" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "Em torneio" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Não pontuado" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Pontuado" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d min" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr " + %d sec" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "%(player)s joga %(color)s" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "brancas" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "negras" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "Esta é a continuação de um jogo adiado" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "Classificação do Adversário" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "Aceitar manualmente" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Privado" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Erro de conexão" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Erro ao conectar" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Conexão foi fechada" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Erro no endereço" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Auto-desconectar" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Foi desconectado porque ficou inativo mais de 60 minutos" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "Login de visitante desabilitado pelo servidor FICS" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "1-minuto" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "3-minutos" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "5-minutos" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "15-minutos" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "45-minutos" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "Examinado" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Outro" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Administrador" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "Conta de xadrez às cegas" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Conta da equipa" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "Não Registado" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "Mentor de xadrez" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "Representante de atendimento" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "Diretor do torneio" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "Gestor Mamer" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "Grande Mestre" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "Mestre Internacional" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "Mestre FIDE" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "Grande Mestre Mulher" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "Mestre Internacional Mulher" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "Mestre FIDE Mulher" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "Conta iniciante" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "Candidato a Mestre" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "Mestre Nacional" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "Mostrar Mestre" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "C" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "T" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "U" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "CA" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "SR" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "TD" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "TM" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "GM" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "MI" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "FM" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "WGM" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "WIM" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "MFM (WFM)" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "D" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "H" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "CM" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "FA" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "NM" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "PyChess não conseguiu carregar as configurações do o seu painel" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "Amigos" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "Administrador" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "Mais canais" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "Mais jogadores" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "Computadores" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "Xadrez às Cegas" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "Visitantes" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "Observadores" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "Continuar" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "Pausar" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "Perguntar por permissões" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "Nenhuma conversa foi selecionada" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "A carregar dados do jogador" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "A receber lista de jogadores" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "Sua vez." #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "Dica" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "Melhor movimento" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "Feito! %s completado." #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "Seguinte" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "Continuar" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "Não é a melhor jogada!" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "Tentar novamente" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "Voltar para a linha principal" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "Janela de informações do PyChess" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "de" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "Palestras" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "Lições" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "Finais" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "Ainda não abriu conversas" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "Somente jogadores registados podem falar neste canal" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "Analise do jogo em andamento..." #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "Pretende abortar?" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "Abortar" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "Opção" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "Valor" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "Selecionar motor" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "Ficheiros executáveis" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "Incapaz de adicionar %s" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "não está instalado" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "Tente chmod a+x %s" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "À algo errado com este executável" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "Importar" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "Selecione o diretório de trabalho" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "Novo" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "Escolher uma data" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "movimento invalido: %s" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Oferecer desforra" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "Observar %s" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Jogar revanche" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Voltar um lance" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Voltar dois lances" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "Enviou uma oferta de anulação" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "Enviou uma oferta de adiamento" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Enviou uma oferta de empate" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "Enviou uma oferta de pausa" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "Enviou uma oferta de continuação" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "Enviou uma pedido para voltar jogada" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "Pediu para o seu oponente mover" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "Enviou chamada" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Mecanismo de xadrez, %s, foi encerrado" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "PyChess perdeu a conexão com a maquina, provavelmente ela foi encerrado.\n\nPode tentar iniciar um novo jogo com a maquina, ou tentar jogar contra outra." #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "O jogo pode ser automaticamente cancelado sem perda na classificação porque ainda não foram feitas duas jogadas." #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "Oferecer anulação" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "O seu oponente precisa aceitar para o jogo ser abortado porque tem duas ou mais jogadas" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "Este jogo não pode ser adiado pois um ou mais jogadores são convidados" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "Reclamar empate" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "Continuar" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "Oferecer Pausa" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "Oferecer Continuação" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "Voltar jogada" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "Oferecer voltar jogada" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "Atraso de 30 segundos" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "o atraso é alto mas não desconectou" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "Continuar esperando pelo oponente, ou tentar adiar o jogo?" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "Espere" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "Adiar" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "Ir para a posição inicial" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "Retroceder um lance" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "Volte para a linha inicial" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "Adiantar um lance" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Ir para a última posição" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "Encontrar posição na base de dados atual" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Ser humano" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minutos:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "Movimentos:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Incremento:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "Clássico" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "Rápido" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "Vantagem" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "Outro (regra padrão)" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "Outro (fora da regra padrão)" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "Variante asiática" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr " xadrez" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Ajustar Posição" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "Tecle ou cole sua partida PGN ou posição FEN aqui" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Entrar no Jogo" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "Selecionar ficheiro de livro" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "Livro de aberturas" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "Selecionar diretório Gaviota TB" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Abrir Ficheiro de Som" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "Arquivos de som" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Sem som" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Aviso sonoro" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Selecione um ficheiro de som..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "Painel sem descrição" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "Selecione ficheiro de imagem de fundo" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "Imagens" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "Selecionar gravação automática" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "Sabia que é possível fazer um xeque-mate com dois movimentos?" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "Sabia que o número de possíveis jogos no xadrez é maior que o número de átomos do Universo?" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "FEN precisa de 6 campos de dados.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "FEN precisa de pelo menos 2 campos de dados na fenstr.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "Precisa de 7 traços na peça localizada.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "Campo de cor ativa precisa ser b ou n.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "Roque não disponível.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "Coordenadas do En passant não são legais. \n\n%s" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "peça inválida para promoção" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "o lance precisa de uma peça e uma coordenada" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "a coordenada capturada (%s) está incorreta" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "fim do laço (%s) é incorreto" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "e" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "empatam" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "fazem xeque-mate" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "põem o adversário em xeque" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "melhora a segurança do Rei" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "melhora ligeiramente a segurança do Rei" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "movem uma Torre para uma coluna aberta" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "movem uma Torre para uma coluna semi-aberta" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "movem o Bispo para o fianqueto: %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "promovem um Peão a %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "rocam" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "recuperam material" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "Sacrificar material" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "trocam peças" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "capturam peça" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "resgata %s" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "ameaça ganhar a peça por %s" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "aumenta a pressão em %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "defendem %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "pregam %(oppiece)s do inimigo no(a) %(piece)s em %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "Brancas tem uma peça em posto avançado: %s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "Negras tem uma peça em posto avançado: %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "%(color)s têm um novo Peão passado em %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "semi-aberta" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "na coluna %(x)s%(y)s" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "nas colunas %(x)s%(y)s" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "%(color)s têm um Peão dobrado %(place)s" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "%(color)s têm novos Peões dobrados %(place)s" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "%(color)s têm um Peão isolado na coluna %(x)s" msgstr[1] "%(color)s têm Peões isolados nas colunas %(x)s" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "%s movem os Peões para uma formação de muralha" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "%s já não podem rocar" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "%s já não podem fazer grande-roque" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "%s já não podem fazer pequeno-roque" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "%(opcolor)s têm um novo Bispo preso em %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "avançam um Peão: %s" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "levam um Peão para mais perto da última fileira: %s" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "levam %(piece)s para mais perto do Rei inimigo: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "avançam %(piece)s: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "aumentam ação de %(piece)s: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "Brancas devem fazer uma chuva de Peões na ala direita" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "Negras devem fazer uma chuva de Peões na ala esquerda" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "Brancas devem fazer uma chuva de Peões na ala esquerda" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "Negras devem fazer uma chuva de Peões na ala direita" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "Negras estão com muito pouco espaço" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "Negras estão com pouco espaço" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "Brancas estão com muito pouco espaço" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "Brancas estão com pouco espaço" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "Shout" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "Chess Shout" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "Canal não-oficial %d" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "Filtros" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "Editar filtro selecionado" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "Remover filtro selecionado" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "Adicionar novo filtro" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "Seq" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "Sequência" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "Aberturas" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "Movimento" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "Jogos" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "A ganhar %" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "Filtrar lista de jogos por aberturas" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "Pré-visualização" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "Importar ficheiro PGN" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "Guardar num ficheiro PGN como..." #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "Abrir" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "A abrir arquivo de xadrez..." #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "Guardar como" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "Abrir ficheiro de xadrez" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "A recriar índices..." #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "A preparar a importação..." #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "Criar Nova Base de Dados Pgn" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "O ficheiro \"%s\" já existe." #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "Id" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "B Elo" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "N Elo" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "Rodada" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "Comprimento" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "Arquivado" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Relógio" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Tipo" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Data/Hora" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "com que teve um jogo %(timecontrol)s %(gametype)s adiado está online." #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "Solicitar Continuação" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "Examinar Jogo Adiado" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "A falar" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "Lista de canais" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Conversa" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "Informação" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "Consola" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "Interface da linha de comandos do servidor de xadrez" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Vitória" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Empate" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Derrota" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "Necessário" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "Melhor" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "No FICS, a sua classificação em \"Wild\" abrange todas as seguintes variantes em todos os controlos de tempo:\n" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "Sanções" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "E-mail" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Tempo gasto" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "conectado no total" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "A conetar" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "Tocar" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "Lista de jogos" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "Lista de jogos a decorrer" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Jogos em execução: %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "Novidades" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "Avaliar" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "Segue" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "Lista de jogadores" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "Lista de jogadores" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Nome" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "Status" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "Jogadores: %d" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "O botão está desativado porque autenticou-se como visitante. Os visitantes não podem ter classificação, e o estado do botão não possui efeito quando não existe nenhuma classificação associada à \"Força do oponente\"." #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Desafiar: " #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "Se marcado poderá recusar jogadores que aceitaram sua busca" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "Esta opção não é aplicável porque está desafiando um jogador" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Editar busca: " #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "%(minutes)d min + %(gain)d sec/lance" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Manual" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "Qualquer força" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "Não pode jogar jogos pontuados porque está conectado como convidado" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "Não pode jogar jogos pontuados porque o botão \"Sem relógio\" foi marcado, " #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "e no FICS, jogos sem relógio não podem ser pontuados" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "Esta opção não está disponível porque está a desafiar um convidado, " #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "e os convidados não podem jogar jogos pontuados" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "Não pode selecionar uma variação porque o botão \"Sem relógio\" foi marcado, " #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "e no FICS, jogos sem relógio têm que ser nas regras normais do xadrez" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "Alterar tolerância" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " min" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "Efeito sobre a classificação pelos resultados possíveis" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "Vencedor:" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "Empate:" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "Derrota:" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "Novo RD:" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Buscas ativas: %d" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "gostaria de retomar o seu jogo adiado %(time)s %(gametype)s." #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "desafia para um %(time)s %(rated)s %(gametype)s jogo" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "onde %(player)s joga %(color)s." #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "Tem que selecionar kibitz para ver as mensagens de robot aqui." #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "Pode ter somente 3 buscas ao mesmo tempo. Se quer adicionar uma nova busca, precisa limpar suas buscas atuais. Pretende limpar suas buscas?" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "Não pode tocar aqui! Está examinando um jogo." #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "recusou sua oferta para um jogo" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "está a censurá-lo" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "não o listou" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "Utilizar uma formula não apropriada para sua solicitação de jogo:" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "aceitar manualmente" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "aceitar automaticamente" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "intervalo de classificação neste momento" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "solicitar atualização" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "As suas solicitações foram removidas" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "está a chegar" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "está a sair" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "está presente" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Detetar formato automaticamente" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "Erro ao carregar o jogo" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Guardar jogo" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "Exportar posição" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Formato de arquivo desconhecido '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "Não foi possível guardar '%(uri)s' porque o PyChess não reconhece o formato '%(ending)s'." #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Não foi possível guardar o ficheiro '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "Não tem privilégios necessários para guardar o ficheiro.\nPor favor certifique-se que indicou o caminho correto e tente novamente." #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Substituir" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "O ficheiro já existe" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Um ficheiro com o nome '%s' já existe. Pretende substituí-lo?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "O arquivo já existe em '%s'. Se substituí-lo, o seu conteúdo será sobrescrito." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Não foi possível guardar o arquivo" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess não conseguiu guardar o jogo" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "O erro foi: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "Há %d jogo com lances não-salvos." msgstr[1] "Há %d jogos com movimentos não-salvos." #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "Guardar lances antes de fechar?" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "Não foi possível guardar para o ficheiro configurado. Guardar os jogos antes de fechar?" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "vs." #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "_Guardar %d documento" msgstr[1] "_Guardar %d documentos" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "Guardar o jogo atual antes de fechar?" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "Incapaz de guardar o arquivo de configuração. Guardar o jogo antes de fechar?" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Não será possível continuar posteriormente a partida \nse não salvá-la." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Todos os ficheiros de xadrez" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "Anotação" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "Jogo anotado" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "Adicionar comentário inicial" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "Adicionar comentário" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "Editar comentário" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "Boa jogada" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "Má jogada" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "Jogada excelente" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "Jogada muito má" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "Jogada interessante" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "Jogada suspeita" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "Forçar movimento" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "Adicionar símbolo de movimentação" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "Posição incerta" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "Zugzwang" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "Iniciativa" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "Com ataque" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "Compensação" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "Contra-ataque" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "Pressão do tempo" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "Adicionar símbolo de avaliação" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "Comentário" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "Símbolos" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "Remover" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "mins" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "segs" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "mover" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "rodada %s" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "Sugestão" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "O painel de sugestão, aconselhara o computador durante cada fase do jogo" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Painel oficial do PyChess." #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Livro de aberturas" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "O livro de aberturas irá tentar inspirá-lo durante a fase de abertura do jogo mostrando-lhe lances comuns feitos pelos mestres de xadrez" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "Analises por %s" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "%s vai tentar prever qual movimento é melhor e qual lado está com vantagem" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "Analises de ameaças por %s" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "%s vai identificar quais são as ameaças existentes, se fosse o seu adversário na sua vez de jogar" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "A calcular..." #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "As unidades de medidas dos motores de xadrez estão em peões, do ponto de vista das Brancas. Carregando duas vezes sobre as linhas de análise, pode inseri-las no painel Anotação como variações." #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "Adicionando sugestões para ajuda-lo e obter ideias, mas retarda as analises do computador." #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "Final de Partida" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "No final de partida, mostrara analises exata quando tiver poucas peças no tabuleiro." #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "Mate em %d" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "nessa posição,\nnão há uma jogada regular." #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "O painel Conversa lhe permite comunicar com o seu adversário durante o jogo, desde que ele esteja interessado" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Comentários" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "O painel Comentários tenta analisar e explicar os lances jogados" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Posição inicial" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "%(color)s movem %(piece)s para %(cord)s" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "Motores de jogo" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "As saídas de motor de jogo no painel mostra as saídas de analises da motor de jogo do xadrez (jogador computador) durante um jogo" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "Nenhum motor de jogo de xadrez (jogador computador) estão participando desse jogo." #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Histórico de Movimentos" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "O separadores Lances regista os lances dos jogadores e permite que navegue pelo histórico do jogo" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Pontuação" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "O painel de Pontuação tenta avaliar as posições e mostrar um gráfico da evolução do jogo" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "Título" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "Autor" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "Fonte" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "Progresso" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "outros" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "Aprender" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "Sair da Aprendizagem" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "lições" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "Limpar o meu progresso" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "Irá perder todos os dados do seu progresso!" pychess-1.0.0/lang/af/0000755000175000017500000000000013467766037013570 5ustar varunvarunpychess-1.0.0/lang/af/LC_MESSAGES/0000755000175000017500000000000013467766037015355 5ustar varunvarunpychess-1.0.0/lang/af/LC_MESSAGES/pychess.mo0000644000175000017500000000371213467766035017371 0ustar varunvarun#4/L' 1B] lx     $,5; AL S ] h v m(;Kg w     $ENV\ bm t      "  #! Promote pawn to what?AnimationEnter Game NotationPlayersAbout ChessBishopEvent:Gain:Game informationKnightLog on as _GuestMinutes:PreferencesPromotionQueenRookRound:Save Game _AsSite:TimeUse _analyzerUse _inverted analyzer_Accept_Actions_Game_Help_Load Game_Name:_New Game_Password:_Rotate Board_Save Game_Start Game_Use sounds in PyChessProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Afrikaans (http://www.transifex.com/gbtami/pychess/language/af/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: af Plural-Forms: nplurals=2; plural=(n != 1); Bevorder pion tot wat?AnimasieVerskaf Spel NotasieSpelers:Oor skaakLoperGebeurtenis:Wins:Spel inligtingRidderTeken in as _GasMinute:VoorkeureBevorderingDameToringRondte:Stoor Spel _AsTuiste:Tydgebruik _analiseerderGebruik _omgekeerde analiseerder_Aanvaar_Aksies_Spel_Hulp_Laai Spel_Naam:_Nuwe Spel_Wagwoord:_Wentel bord_Stoor Spel_Begin Spel_Gebruik klanke in PyChesspychess-1.0.0/lang/af/LC_MESSAGES/pychess.po0000644000175000017500000043234713455543004017370 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2008 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Afrikaans (http://www.transifex.com/gbtami/pychess/language/af/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: af\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Spel" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Nuwe Spel" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Laai Spel" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Stoor Spel" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Stoor Spel _As" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Aksies" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Wentel bord" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Hulp" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Oor skaak" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Voorkeure" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animasie" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "gebruik _analiseerder" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Gebruik _omgekeerde analiseerder" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Gebruik klanke in PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Bevordering" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Dame" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Toring" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Loper" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Ridder" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Bevorder pion tot wat?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Spel inligting" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Tuiste:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Rondte:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Gebeurtenis:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Wagwoord:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Naam:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Teken in as _Gas" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Aanvaar" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Tyd" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Begin Spel" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Spelers:" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Verskaf Spel Notasie" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minute:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Wins:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/fi/0000755000175000017500000000000013467766037013600 5ustar varunvarunpychess-1.0.0/lang/fi/LC_MESSAGES/0000755000175000017500000000000013467766037015365 5ustar varunvarunpychess-1.0.0/lang/fi/LC_MESSAGES/pychess.mo0000644000175000017500000021452213467766036017405 0ustar varunvarun<U30E 1E JJK!K>K@KPKWKrKwKK'K@KLL%L7LLLgL~LL#L$L#LM0MHMaMpMMMMMMMQN&TN${NCN7NUO"rO*O(OOOP"P6PeKpXpRpB6qcyq]q?;rB{r;rqrSlsOsFuWu ^u)luu uu uDuv3vKvMvRvcv jvvv~vv v vvv v v vvw%w,w1w7w+>w jwxww ww w!ww w w x x x*x,x/x4x.Ex/txxx xCxy"y+y2y Qy_y gyry yy y yy y y y y y y z z #z/zGztOz,z*z+{*H{s{z{{.{ {{ { { ||2|8|S|j| l| x||| | | ||||| || }!} 0}<} D}N}V}j}s} }}'} } }#}~~ ~~~ ~ ~~~ , 2=D ^i~     (?Xg* ǀԀ /="Ru ́ $:Ph ɂ߂/# COU ^h{ ȃ؃p[hH"Cԅ54N93RScsׇT 9Z>̉I}KɊ`F`Z'K-~E,AAQ  ʎ؎ .,3`byv & 5?G] er z  ؐ Q6cM $ #2%V"|#Óʓ ϓړ 0C^q9?9((b/yC5$y3&ҖƗޗ+ >t_Ԙ0%;la!Λn/_&(&ߜ''.Vs ͝ ם  '0%6\c r }   ƞў  $7 JUiz +ßڟ !)8=v1'Ƞ  #.Mag z 5"Ģe+Myڣ! : [g j wƤܤ6(#Ld{ ߥ#!6XxDIkDM T)` ͭ1ܭ  4)2^[L:'Q`y-گ+&4#[-ư15P,Ʊ߱3?->m ˲%ز;@Y)_B̳߳6Nb"~!*!:\l|Nε,*JXu9ζa+j50̷!4KeQ  Ѹݸ.6L`rgӹ ;G P ^lms + AOQh ˻ػ $+=O5V65ü $&,,HKuM!"1$Ty',־KMO)#ǿ*"9zN:n-`/87h'I"I5=%%% !/9Q2@"(1 7 A)Mw31! ' 4 ? KW  #>33r    , 8F6WVVR<S % . 8 E O [i 9 "  %.0 ?I ^ipIUMds |p '): d/qeu 1$ V1`   #<"@_DHF.Hu=w}< 4; LVY ` ,K (?GI`t AK>T8IM@E6E gQ*'5 PB9C ,& S]d|< -4L\ck '+< hv !$  #4F Ubdgl6|A I'q   !1E ao   (\02222&Y`"vB  )>Bb}     <Y n { 6 '. 6"Be  +>MO Wci    *2;Z]fo x)!"(=fl q}&&3Zp   *3 Lm! /,An ~ %e5qy#K1[2%& R&pk c))9SV M.| e*s %4 =TJn+3u_Q 'GH5    '3Fa4hY*>F_z   !'(&PwQ= ^dhlpWv  *#42N  8$G"lMKB)%l.x=:*xK%}"*+Mdyhf|(R )__-' '? +g # 3      !  ,  : %E k            + * 3  B N  T _  e  p z        /   5 C S h  q ~ 7     / 8 RX   : ( %6\ n |   5$+eP;&>Unw#{(  #7 JXo:+ 7 C MXj#l(&*$AZquy{3\]%b{?Ns- O, >PF8#hVU%{_z#fC.A-f0pNQ! '.I<|J8@\p6po4M3|){ R+&eeV}9CRkN 0[-,&&r4l a,1[5jj1$juE2 (s?I b$!HhUrwK>v qKn^<iB|"qT,y:m/lib\G4O`"~d$ @cgJ f Uh$samSx[r"^Ek ^)0+v+VL(m5Xye@g9igW;"P 4ccT*IY  )G86`X];;Q1 7+2Y_Xw3zDq}93'#Dwd<Hnlutu77~*xFx;t}A.o:SoL/M%nT/L = E>OB-_Z~dHY6M'JZ`W5PFG9AyZt!!CBSkK% *: aQ6D. =v&z*W21(#=2R:'](8 3<5)? 0/7 Gain: + %d sec challenges you to a %(time)s %(rated)s %(gametype)s game chess has arrived has declined your offer for a match has departed has lagged for 30 seconds invalid engine move: %s is censoring you is lagging heavily but hasn't disconnected is present min noplay listing you uses a formula not fitting your match request: where %(player)s plays %(color)s. with whom you have an adjourned %(timecontrol)s %(gametype)s game is online. would like to resume your adjourned %(time)s %(gametype)s game.%(black)s won the game%(color)s got a double pawn %(place)s%(color)s got an isolated pawn in the %(x)s file%(color)s got isolated pawns in the %(x)s files%(color)s got new double pawns %(place)s%(color)s has a new passed pawn on %(cord)s%(color)s moves a %(piece)s to %(cord)s%(minutes)d min + %(gain)d sec/move%(opcolor)s has a new trapped bishop on %(cord)s%(player)s is %(status)s%(player)s plays %(color)s%(white)s won the game%d min%s can no longer castle%s can no longer castle in kingside%s can no longer castle in queenside%s moves pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent%s will identify what threats would exist if it were your opponent's turn to move%s will try to predict which move is best and which side has the advantage'%s' is a registered name. If it is yours, type the password.'%s' is not a registered name(Blitz)(Link is available on clipboard.)*0 Players Ready0 of 010 min + 6 sec/move, White12002 min, Fischer Random, Black5 minPromote pawn to what?PyChess was unable to load your panel settingsAnalyzingAnimationChess SetsChess VariantEnter Game NotationGeneral OptionsInitial PositionInstalled SidepanelsName of _first human player:Name of s_econd human player:New version %s is available!Open GameOpening, endgameOpponent StrengthOptionsPlay Sound When...PlayersTime ControlWelcome screenYour Color_Connect to server_Start GameA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedError loading gamePyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to add %sUnable to save file '%s'Unknown file type '%s'Challenge:A player _checks:A player _moves:A player c_aptures:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortAbout ChessAc_tiveAcceptActivate alarm when _remaining sec is:Active color field must be one of w or b. %sActive seeks: %dAdd commentAdd evaluation symbolAdd move symbolAdd start commentAdd threatening variation lines Adding suggestions can help you find ideas, but slows down the computer's analysis.Address ErrorAdjournAdminAdministratorAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364All Chess FilesAll whiteAnalysis by %sAnalyze black movesAnalyze from current positionAnalyze gameAnalyze white movesAnimate pieces, board rotation and more. Use this on fast machines.Annotated gameAnnotationAny strengthArchivedAsian variantsAsk to _MoveAssessAsymmetric RandomAsymmetric Random AtomicAuto Call _FlagAuto _rotate board to current human playerAuto login on startupAuto-logoutAvailableBB EloBackround image path :Because %(black)s lost connection to the serverBecause %(black)s lost connection to the server and %(white)s requested adjournmentBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s king explodedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause %(mover)s stalematedBecause %(white)s lost connection to the serverBecause %(white)s lost connection to the server and %(black)s requested adjournmentBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause %(winner)s has fewer piecesBecause %(winner)s king reached the centerBecause %(winner)s lost all piecesBecause %(winner)s was giving check 3 timesBecause a player aborted the game. Either player can abort the game without the other's consent before the second move. No rating changes have occurred.Because a player disconnected and there are too few moves to warrant adjournment. No rating changes have occurred.Because a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both players agreed to a drawBecause both players agreed to abort the game. No rating changes have occurred.Because both players agreed to an adjournmentBecause both players have the same amount of piecesBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause of adjudication by an admin. No rating changes have occurred.Because of courtesy by a player. No rating changes have occurred.Because the %(black)s engine diedBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBecause the server was shut downBecause the server was shut down. No rating changes have occurred.BeepBestBishopBlackBlack O-OBlack O-O-OBlack has a new piece in outpost: %sBlack has a rather cramped positionBlack has a slightly cramped positionBlack should do pawn storm in leftBlack should do pawn storm in rightBlack:BlindFoldBlindfoldBlindfold AccountBlitzBlitz:Blitz: 5 minBringing your king legally to the center (e4, d4, e5, d5) instantly wins the game! Normal rules apply in other cases and checkmate also ends the game.BughouseCCACMCalculating...CambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCastling availability field is not legal. %sCenter:ChallengeChallenge: Challenge: Change ToleranceChatChess AdvisorChess Alpha 2 DiagramChess GameChess PositionChess ShoutChess clientClaim DrawClassic chess rules http://en.wikipedia.org/wiki/ChessClassic chess rules with all pieces white http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden figurines http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pawns http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pieces http://en.wikipedia.org/wiki/Blindfold_chessClearClockClose _without SavingColorize analyzed movesCommand:CommentsCompensationComputerComputersConnectingConnecting to serverConnection ErrorConnection was closedContinue to wait for opponent, or try to adjourn the game?Copy FENCornerCould not save the fileCounterplayCrazyhouseCreate SeekDDark Squares :DateDate/TimeDeclineDefaultDestination Host UnreachableDetect type automaticallyDiedDo you know that it is possible to finish a chess game in just 2 turns?Do you know that the number of possible chess games exceeds the number of atoms in the Universe?Do you want to abort it?Don't careDrawDraw:Due to abuse problems, guest connections have been prevented. You can still register on http://www.freechess.orgDummy AccountECOEdit SeekEdit Seek: Edit commentEffect on ratings by the possible outcomesEmailEn passant cord is not legal. %sEn passant lineEndgame TableEngine scores are in units of pawns, from White's point of view. Double clicking on analysis lines you can insert them into Annotation panel as variations.EnginesEngines use uci or xboard communication protocol to talk to the GUI. If it can use both you can set here which one you like.Enter GameError parsing move %(moveno)s %(mstr)sEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventEvent:ExamineExamine Adjourned GameExaminedExaminingExecutable filesExport positionFAFEN needs 6 data fields. %sFEN needs at least 2 data fields in fenstr. %sFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns * No castling * Black's arrangement mirrors white'sFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED * No castling * Black's arrangement DOES NOT mirrors white'sFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Pawns start on their 7th rank rather than their 2nd rank!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Pawns start on 4th and 5th ranks rather than 2nd and 7thFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html White pawns start on 5th rank and black pawns on the 4th rankFIDE MasterFMF_ull board animationFace _to Face display modeFile existsFingerFischer RandomFollowForced moveFriendsGMGain:Game analyzing in progress...Game informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Game shared at GamesGames running: %dGaviota TB path:Generally this means nothing, as the game is time-based, but if you want to please your opponent, perhaps you should get going.Go back to the main lineGrand MasterGuestGuest logins disabled by FICS serverGuestsHHalfmove clockHidden pawnsHidden piecesHideHintsHost:How to PlayHuman BeingIMIdIdleIf set you can refuse players accepting your seekIf set, FICS game numbers in tab labels next to player names are shown.If set, PyChess will colorize suboptimal analyzed moves with red.If set, PyChess will show game results for different moves in positions containing 6 or less pieces. It will search positions from http://www.k4it.de/If set, PyChess will show game results for different moves in positions containing 6 or less pieces. You can download tablebase files from: http://www.olympuschess.com/egtb/gaviota/If set, PyChess will suggest best opening moves on hint panel.If set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, clicking on main application window closer first time it closes all games.If set, pawn promotes to queen without promotion dialog selection.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the captured figurines will be shown next to the board.If set, the elapsed time that a player used for the move is shown.If set, the hint analyzer engine evaluation value is shown.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If the analyzer finds a move where the evaluation difference (the difference between the evaluation for the move it thinks is the best move and the evaluation for the move made in the game) exceeds this value, it will add an annotation for that move (consisting of the engine's Principal Variation for the move) to the Annotation panelIf you don't save, new changes to your games will be permanently lost.ImagesIn TournamentIn this position, there is no legal move.Initial positionInitiativeInternational MasterInvalid move.It is not possible later to continue the game, if you don't save it.Jump to initial positionJump to latest positionKKingKing of the hillKnightKnight oddsKnightsLeave _FullscreenLight Squares :LightningLightning:Load _Recent GameLoading player dataLocal EventLocal SiteLog on ErrorLog on as _GuestLogging on to serverLosersLossLoss:MakrukMakruk: http://en.wikipedia.org/wiki/MakrukMamer ManagerManage enginesManualManual AcceptManually accept opponentMate in %dMaximum analysis time in seconds:Minutes:Minutes: More channelsMore playersMove HistoryMove numberNNMNameNames: #n1, #n2Needs 7 slashes in piece placement field. %sNever use animation. Use this on slow machines.New GameNew RD:No _animationNo chess engines (computer players) are participating in this game.No conversation's selectedNo soundNormalNormal: 40 min + 15 sec/moveNot AvailableObserveObserve %sObserved _ends:ObserversOddsOffer A_bortOffer AbortOffer Ad_journmentOffer PauseOffer RematchOffer ResumeOffer UndoOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOn FICS, your "Wild" rating encompasses all of the following variants at all time controls: One player starts with one less knight pieceOne player starts with one less pawn pieceOne player starts with one less queen pieceOne player starts with one less rook pieceOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpen GameOpen Sound FileOpening BookOpening booksOpponent RatingOpponent's strength: OtherOther (non standard rules)Other (standard rules)PParameters:Paste FENPausePawnPawn oddsPawns PassedPawns PushedPingPlayPlay Fischer Random chessPlay Losers chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer _RatingPlayers: %dPlayingPng imagePo_rts:Polyglot book file:Pre_viewPrefer figures in _notationPreferencesPrivateProbably because it has been withdrawn.PromotionProtocol:PyChess - Connect to Internet ChessPyChess Information WindowPyChess has lost connection to the engine, probably because it has died. You can try to start a new game with the engine, or try to play against another one.PyChess.py:QQueenQueen oddsQuit PyChessRR_esignRandomRapidRapid: 15 min + 10 sec/moveRatedRated gameRatingReceiving list of playersRegisteredRequest ContinuationResendResend %s?ResultResumeRookRook oddsRoundRound:Running Simul MatchSRS_ign upSanctionsSaveSave GameSave Game _AsSave _own games onlySave analyzing engine _evaluation valuesSave elapsed move _timesSave files to:Save moves before closing?Save the current game before you close it?ScoreSearch:Seek _GraphSeek updatedSelect Gaviota TB pathSelect auto save pathSelect background image fileSelect book fileSelect engineSelect sound file...Select the games you want to save:Select working directorySend ChallengeSend all seeksSend seekService RepresentativeSetting up environmentSetup PositionSho_w cordsShort on _time:ShoutShow FICS game numbers in tab labelsShow _captured piecesShow elapsed move timesShow evaluation valuesShow tips at startupShredderLinuxChess:ShuffleSide to moveSide_panelsSimple Chess PositionSiteSite:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinSorry '%s' is already logged inSound filesSpentStandardStandard:Start Private ChatStatusStep back one moveStep forward one moveSuicideTTDTMTeam AccountThe abort offerThe adjourn offerThe analyzer will run in the background and analyze the game. This is necessary for the hint mode to workThe chain button is disabled because you are logged in as a guest. Guests can't establish ratings, and the chain button's state has no effect when there is no rating to which to tie "Opponent Strength" toThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe directory where the engine will be started from.The displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe endgame table will show exact analysis when there are few pieces on the board.The engine %s reports an error:The engine output panel shows the thinking output of chess engines (computer players) during a gameThe entered password was invalid. If you forgot your password, go to http://www.freechess.org/password to request a new one over email.The error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The flag callThe game can't be loaded, because of an error parsing FENThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe hint panel will provide computer advice during each stage of the gameThe inverse analyzer will analyze the game as if your opponent was to move. This is necessary for the spy mode to workThe move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe reason is unknownThe resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe takeback offerThebanThemesThere is %d game with unsaved moves.There are %d games with unsaved moves.There is something wrong with this executableThis game can be automatically aborted without rating loss because there has not yet been two moves madeThis game can not be adjourned because one or both players are guestsThis is a continuation of an adjourned matchThis option is not applicable because you're challenging a playerThis option is not available because you're challenging a guest, Threat analysis by %sThree-checkTimeTime control: Time pressureTip Of The dayTip of the DayTitledTolerance:Tournament DirectorTranslate PyChessTypeType or paste PGN game or FEN positions hereUUnable to accept %sUnable to save to configured file. Save the current game before you close it?Unclear positionUndescribed panelUndoUndo one moveUndo two movesUninstallUnknownUnofficial channel %dUnratedUnregisteredUntimedUpside DownUse _analyzerUse _inverted analyzerUse _local tablebasesUse _online tablebasesUse analyzer:Use name format:Use opening _bookVariantVariant developed by Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Variation annotation creation threshold in centipawns:W EloWFMWGMWIMWaitWas unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.WelcomeWhen this button is in the "locked" state, the relationship between "Opponent's strength" and "Your strength" will be preserved when a) your rating for the type of game sought has changed b) you change the variant or the time controlWhiteWhite O-OWhite O-O-OWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite has a slightly cramped positionWhite should do pawn storm in leftWhite should do pawn storm in rightWhite:WildWildcastleWildcastle shuffleWinWin by giving check 3 timesWin:With attackWoman FIDE MasterWoman Grand MasterWoman International MasterWorking directory:Year, month, day: #y, #m, #dYou asked your opponent to moveYou can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou can't select a variant because "Untimed" is checked, You can't switch colors during the game.You can't touch this! You are examining a game.You don't have the necessary rights to save the file. Please ensure that you have given the right path and try again.You have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou have to set kibitz on to see bot messages here.You have tried to undo too many moves.You may only have 3 outstanding seeks at the same time. If you want to add a new seek you must clear your currently active seeks. Clear your seeks?You sent a draw offerYou sent a pause offerYou sent a resume offerYou sent an abort offerYou sent an adjournment offerYou sent an undo offerYou sent flag callYour opponent asks you to hurry!Your opponent has asked that the game be aborted. If you accept this offer, the game will end with no rating change.Your opponent has asked that the game be adjourned. If you accept this offer, the game will be adjourned and you can resume it later (when your opponent is online and both players agree to resume).Your opponent has asked that the game be paused. If you accept this offer, the game clock will be paused until both players agree to resume the game.Your opponent has asked that the game be resumed. If you accept this offer, the game clock will continue from where it was paused.Your opponent has asked that the last %s move(s) be undone. If you accept this offer, the game will continue from the earlier position.Your opponent has offered you a draw.Your opponent has offered you a draw. If you accept this offer, the game will end with a score of 1/2 - 1/2.Your opponent is not out of time.Your opponent must agree to abort the game because there has been two or more moves madeYour opponent seems to have changed their mind.Your opponent wants to abort the game.Your opponent wants to adjourn the game.Your opponent wants to pause the game.Your opponent wants to resume the game.Your opponent wants to undo %s move(s).Your seeks have been removedYour strength: Zugzwang_Accept_Actions_Analyze Game_Archived_Call Flag_Clear Seeks_Copy FEN_Copy PGN_Decline_Edit_Engines_Export Position_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hints_Invalid move:_Load Game_Log Viewer_My games_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Untimed_Use main app closer [x] to close all games_Use sounds in PyChess_View_Your Color:andand guests can't play rated gamesand on FICS, untimed games can't be ratedand on FICS, untimed games have to be normal chess rulesask your opponent to moveblackbrings a %(piece)s closer to enemy king: %(cord)sbrings a pawn closer to the backrow: %scall your opponents flagcaptures materialcastlesdefends %sdevelops a %(piece)s: %(cord)sdevelops a pawn: %sdrawsexchanges materialgnuchess:half-openhttp://brainking.com/en/GameRules?tp=2 * Placement of the pieces on the 1st and 8th row are randomized * The king is in the right hand corner * Bishops must start on opposite color squares * Black's starting position is obtained by rotating white's position 180 degrees around the board's center * No castlinghttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyin the %(x)s%(y)s filein the %(x)s%(y)s filesincreases the pressure on %sinvalid promoted piecematesminmoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %snot playingofoffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalpins an enemy %(oppiece)s on the %(piece)s at %(cord)splaces a %(piece)s more active: %(cord)spromotes a Pawn to a %sputs opponent in checkrating range nowrescues a %sresignround %ssacrifices materialsecslightly improves king safetytakes back materialthe captured cord (%s) is incorrectthe end cord (%s) is incorrectthe move needs a piece and a cordthreatens to win material by %sto automatic acceptto manual acceptucivs.whitewindow1xboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Random arrangement of the pieces behind the pawns * No castling * Black's arrangement mirrors white'sxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * White has the typical set-up at the start. * Black's pieces are the same, except that the King and Queen are reversed, * so they are not on the same files as White's King and Queen. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * In this variant both sides have the same set of pieces as in normal chess. * The white king starts on d1 or e1 and the black king starts on d8 or e8, * and the rooks are in their usual positions. * Bishops are always on opposite colors. * Subject to these constraints the position of the pieces on their first ranks is random. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.Project-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Finnish (http://www.transifex.com/gbtami/pychess/language/fi/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: fi Plural-Forms: nplurals=2; plural=(n != 1); Ansio:+ %d shaastaa sinut %(time)s %(rated)s %(gametype)s peliin.shakkion saapunuton kieltänyt ehdotuksesi uusintaotteluunon lähtenyton laahannut 30 sekuntiaLaiton moottorin siirto: %ssensoroi sinualaahaa pahasti, mutta ei ole katkaissut yhteyttäon läsnäminmusta listakäyttää kaavaa, joka ei sovi otteluvaatimuksiisi:, missä %(player)s plays %(color)s.jonka kanssa sinulla on lykätty %(timecontrol)s %(gametype)s peli on online.haluaisi jatkaa sinun lykättyä %(time)s %(gametype)s peliä.%(black)s voitti pelin%(color)s sai kaksoissotilaan %(place)s%(color)s sai eristetyn sotilaan %(x)s linjalla%(color)s sai eristetyt sotilaat %(x)s linjoilla%(color)s sai uudet kaksoissotilaat %(place)s%(color)s:lla on uusi vapaasotilas %(cord)s%(color)s siirtää %(piece)s %(cord)s%(minutes)d min + %(gain)d s/siirto%(opcolor)s on uusi lähetti ansassa %(cord)s%(player)s on %(status)s%(player)s pelaa %(color)s%(white)s voitti pelin%d min%s ei voi enää linnoittautua%s ei voi enää linnoittautua kuninkaan puolelle%s ei voi enää linnoittautua kuningattaren puolelle%s siirtää sotilaat kivimuurimuodostelmaan%s tuottaa virheenVastustajasi hylkäsi %sVastustajasi vetäytyi %s%s tunnistaa vastustajan siirtovuorolla olevat uhat%s yrittää ennustaa, mikä siirto on paras ja kummalla on etu'%s' on rekisteröity nimi. Jos omistat sen, syötä salasana.'%s' ei ole rekisteröity nimi(Pikashakki)(Linkki saatavissa leikepöydällä.)*0 Pelaajaa valmiina0 0:sta10 min + 6 s/siirto, Valkoinen12002 min, Shakki960, Musta 5 minMihin korotat sotilaan?PyChess ei pystynyt lataamaan ikkuna-asetuksiasiAnalysointiAnimointiShakkisetitShakkivarianttiSyötä pelinotaatioYleiset valinnatAloitusasemaAsetetut sivuikkunatEnsimmäisen pelaajan nimi:Toisen pelaajan nimi:Uusi versio %s saatavilla!Avaa peliShakkiavaus, loppupeliVastustajan vahvuusValinnatSoita äänimerkki, kun...PelaajatPeliaikaAloitusruutuVärisiYhdistä palvelimeenAloita peliTiedosto nimeltä '%s' on jo olemassa. Haluatko korvata sen?Shakkimoottori, %s, kaatuiVirhe ladattaessa peliäPyChess tutkii käytettävissä olevia shakkimoottoreita. Odota hetki.PyChess ei pystynyt tallentamaan peliä %d pelissä on tallentamattomia siirtoja. Tallenna muutokset ennen sulkemista?Ei pysty lisäämään %sTiedosta ei pysty tallentamaan '%s'Tuntematon tiedostotyyppi '%s'Haaste:Pelaaja shakkaa:Pelaaja siirtää:Pelaaja lyö nappulan:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docKeskeytäTietoa shakistaToiminnassaHyväksyAktivoi hälytys, kun sekunteja on jäljellä:Aktiivisen värikentän täytyy olla joko w tai b. %sAktiiviset haut: %dLisää kommenttiLisää arviointisymboliLisää siirtomerkkiLisää avauskommenttiLisää uhkaavat muunnelmatEhdotuksien lisääminen voi auttaa sinua löytämään ideoita, mutta hidastaa tietokoneen analyysiä.OsoitevirheLykkääYlläpitäjäYlläpitäjäAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364Kaikki shakkitiedostotKaikki valkeat%s analyysiAnalysoi mustan siirrotAnalysoi nykyasemastaAnalysoi peliAnalysoi valkean siirrotElävöi nappulat, laudan kääntö ja muu. Käytä vain tehokkailla laitteilla. Kommentoitu peliKommentointiMikä tahansa vahvuusArkistoituAasialaiset variantitPyydä siirtämäänArvioiAsymmetric RandomAsymmetric RandomAtomicVaadi automaattisesti voittoa ajan loppumisen nojallaKäännä lauta automaattisesti nykyiselle pelaajalle.Kirjaudu sisään automaattisesti käynnistettäessäAutomaattinen uloskirjautuminenSaatavillaBM EloTaustakuvan hakemistopolku:Koska %(black)s menetti yhteyden palvelimeenKoska %(black)s menetti yhteyden palvelimeen ja %(white)s pyysi lykkäystäKoska %(black)s aika loppui ja %(white)s on riittämätön materiaali mattiinKoska %(loser)s katkaisi yhteydenKoska %(loser)s kuningas räjähtiKoska %(loser)s käytti ajan loppuunKoska %(loser)s luovuttiKoska %(loser)s matitettiinKoska %(mover)s aiheutti pattitilanteenKoska %(white)s menetti yhteyden palvelimeenKoska %(white)s menetti yhteyden palvelimeen ja %(black)s pyysi lykkäystäKoska %(white)s aika loppui ja %(black)s on riittämätön materiaali mattiinKoska %(winner)s on vähemmän nappuloitaKoska %(winner)s saavutti keskustanKoska %(winner)s menetti kaikki nappulansaKoska %(winner)s shakkasi 3 kertaaKoska pelaa keskeytti pelin, kumpikin pelaaja voi keskeyttää pelin ilman toisen hyväksyntää ennen toista siirtoa. Rankingeissa ei tapahdu muutoksia.Koska pelaaja katkaisi yhteyden, ja liian vähän siirtoja lykkäyksen takaamiseksi, rankingeissa ei tapahtunut muutoksia.Koska pelaaja menetti yhteyden Koska pelaaja menetti yhteyden ja toinen pyysi lykkäystäKoska molemmat pelaajat suostuivat tasapeliinKoska molemmat pelaajat suostuivat pelin keskeyttämiseen, Rankingeissa ei tapahtunut muutoksia.Koska molemmat pelaajat suostuivat lykkäykseenKoska molemmilla pelaajilla on sama määrä nappuloitaKoska molemmilta pelaajilta loppui aikaKoska kummallakaan pelaajalla ei riittävästi materiaalia matittamiseen.Koska ylläpitäjä tuomitsi pelinKoska ylläpitäjä tuomitsi pelin, rankingeissa ei tapahtunut muutoksia.Koska pelaaja myöntyi, rankingeissa ei tapahtunut muutoksia.Koska %(black)s shakkimoottori kaatuiKoska %(white)s shakkimoottori kaatuiKoska yhteys palvelimeen menetettiin.Koska peli ylitti maksimipituudenKoska viimeiseen 50 siirtoon ei tapahtunut mitään uuttaKoska sama asema toistui kolme kertaa peräkkäin.Koska palvelin suljettiinKoska palvelin suljettiin, rankingeissa ei tapahtunut muutoksia.PiippausParasLähettiMustaMusta O-OMusta O-O-OMustalla on uusi upseeri etuvartiossa: %sMustalla on ahdas asemaMustalla on hieman ahdas asemaMustan pitäisi tehdä sotilasrynnäkkö vasemmallaMustan pitäisi tehdä sotilasrynnäkkö oikeallaMusta:SokkoSokkoSokko-tunnusPikashakkiPikashakki:Pika: 5 minTuomalla kuningas laillisesti keskustaan (e4, d4, e5, d5) voitaa pelin välittömästi! Normaalit säännöt pätevät muissa tapauksissa ja myös matti päättää pelin.Tandemshakki CCACMLaskee...KambodžalainenKambodžalainen: http://www.khmerinstitute.org/culture/ok.htmlLinnoitusmahdollisuus-kenttä ei ole laillinen. %sKeskusta:HaasteHaaste:Haasta:Muutoksen toleranssiKeskusteluShakkineuvojaChess Alpha 2 diagrammiShakkipeliShakkiasemaShakkihuutoShakkipääteVaadi tasapeliäClassic chess rules http://en.wikipedia.org/wiki/ChessClassic chess rules with all pieces white http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden figurines http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pawns http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pieces http://en.wikipedia.org/wiki/Blindfold_chessTyhjennäKelloSulje tallentamattaVärjää analysoidut siirrotKomento:KommentitKompensaatioTietokoneTietokoneetYhdistetäänYhdistetään palvelimeenYhteysvirheYhteys suljettiinJatka vastustajan odottamista tai yritä lykätä peliä?Kopioi FENNurkkaTiedostoa ei pystytty tallentamaanVastapeliCrazyhouseLuo hakuDMustat ruudut:PäiväysPäivämäärä/AikaKieltäydyOletusVerkkoyhteysongelmaHavaitse tyyppi automaattisestiKaatunutTiedätkö, että on mahdollista voittaa shakkipeli vain 2:lla siirrolla?Tiesitkö, että mahdollisia shakkiasemia on enemmän kuin universumissa on atomeja? Haluatko keskeyttää?Älä välitäTasapeliTasapeli:Due to abuse problems, guest connections have been prevented. You can still register on http://www.freechess.orgHarjoitustunnusECOMuokkaa hakuaMuokaa hakua:Muokkaa kommenttiaMahdollisten tulosten vaikutus rankingiinSähköpostiOhestalyöntikoordinaatti ei ole laillinen. %sOhestalyönnin erittelyLoppupelitaulukkoMoottorin arvot ovat yksikkönä sotilas valkean puolelta katsottuna. Kaksoisklikkaamalla analyysirivejä voit laittaa ne Kommentti-ikkunaan muunnelmina.ShakkimoottoritShakkimooottorit käyttävät uci- tai xboard kommunikointiprotokollaa keskutellakseen GUI:n kanssa. Jos moottori toimii molempina, voit valita tässä tyypin. Liity peliinVirhe siirron %(moveno)s %(mstr)s jäsennyksessäEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiTapahtumaTapahtuma:TutkiTutki lykättyä peliäTutkittuTutkimassaSuoritettavat tiedostotVie asemaFAFEN tarvitsee 6 tietokenttää. %sFEN tarvitsee vähintään 2 tietokenttää fenstr:ssä. %sFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns * No castling * Black's arrangement mirrors white'sFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED * No castling * Black's arrangement DOES NOT mirrors white'sFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Pawns start on their 7th rank rather than their 2nd rank!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Pawns start on 4th and 5th ranks rather than 2nd and 7thFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html White pawns start on 5th rank and black pawns on the 4th rankFIDE-mestari FMLaudan täysi elävöittäminen"Kasvotusten"-näyttöTiedosto on olemassaFingerFischerRandom-shakki SeuraaPakotettu siirtoYstävätGMAnsio:Pelin analysointi käynnissä...Pelitiedot Peli päättyy tasan: Peli päättyy häviöön:Aloitustilanne:Peli päättyy voittoon:Peli jaetaan osoitteessaPelitPeliä käynnissä: %dGaviota-loppupelitaulukoiden hakemistopolku:Yleensä tällä ei ole väliä, koska peli perustuu ajankäyttöön, mutta jos haluat miellyttää vastustajaasi, olisi ehkä aika panna töpinäksi.Siirry takaisin päämuunnelmaanSuurmestariVierasFICS esti sisäänkirjautumisen vieraanaVieraatHPuolisiirtojen laskuriPiilotetut sotilaatPiilotetut nappulatPiilotaVihjeetIsäntä:Miten pelataIhminenIMIdToimetonValittuna voit kieltäytyä pelaajien hyväksymistä haasteistasiFICS-pelien numerot näytetään välilehdissä pelaajien nimien vieressä.PyChess värjää analysoidut ala-arvoiset siirrot punaisella.PyChess näyttää pelin lopputulokset eri siirroille asemissa, joissa on 6 tai vähemmän nappuloita. Se etsii asemia tietokannasta osoitteessa http://www.k4it.de/PyChess näyttää pelin lopputulokset eri siirroille asemissa, joissa on 6 tai vähemmän nappuloita. Voit ladata loppupelitaulukot osoitteessa: http://www.olympuschess.com/egtb/gaviota/ Jos valittuna, PyChess näyttää parhaat avaussiirrot Vihjeet-ikkunassa.PyChess käyttää symboleja siirtojen merkintään isojen kirjaimien sijaan.Pääikkunan sulkeminen ensimmäisellä kerralla sulkee kaikki pelit.Sotilas korottuu kuningattareksi ilman valintaikkunaa.Mustan nappulat käännettyinä, sopii pelattaessa mobiililaitteilla.Jos valittuna, lauta kääntyy joka siirron jälkeen näyttäen pelivuorossa olevan pelaajan näkymän.Näytä lyödyt nappulat laudan vieressä.Näytä pelaajan siirtoon kulunut aika.Jos valittuna, vihjeanalysaattorin arvo näytetään.Näytä pelilaudan linjat ja rivit. Tästä on hyötyä siirtojen merkinnässä.Piilota peli-ikkunan yllä oleva välilehti tarvittaessa.Jos analysaattori löytää siirron, jonka arviointiero ( ero sen löytämän parhaan siirron ja pelatun siirron välillä) ylittää tämän arvon, se lisää kommentin kyseiselle siirrolle (koostuen moottorin päämuunnelman siirrosta) kommentti-ikkunaan.Jos et tallenna, menetät tallentamattomat muutoksesi lopullisesti.KuvatTurnauksessaTässä asemassa, ei ole laillisia siirtoja.AlkuasemaAloiteKansainvälinen mestariLaiton siirto.Peliä ei pysty jatkamaan myöhemmin, jos et tallenna sitä.Siirry aloitusasemaanSiirry viimeisimpään asemaanKKuningasKing of the hillRatsuRatsutasoitusRatsutPoistu kokoruututilastaValkeat ruudut:SalamaSalama:Lataa äskettäinen peliLadataan pelaajan tietojaPaikallinen tapahtumaPaikallinen sijaintiKirjautumisvirheKirjaudu _vierailijanaKirjaudutaan palvelimeenHäviäjänHäviöHäviö:Thaimaalainen shakkiMakruk: http://en.wikipedia.org/wiki/MakrukMamer ManagerHallitse shakkimoottoreitaOhjekirjaManuaalinen hyväksyntäHyväksy vastustaja manuaalisestiMatti %d siirrossaMaksimi analysointiaika sekunneissa:Minuuttia:Minuutit:Enemmän kanaviaEnemmän pelaajiaSiirtohistoriaSiirtonumeroNNMNimiNimet: #n1, #n2Tarvitaan 7 vinoviivaa nappulansijoituskentässä. %sÄlä koskaan käytä elävöintiä. Käytä hitailla laitteilla.Uusi peliUusi rankingpoikkeamaEi elävöintiä.Yhtään shakkimoottoria (tietokonepelaajia) ei osallistu tähän peliin.Keskusteluja ei valittuEi ääniäNormaaliNormaali: 40 min + 15s/siirtoEi saatavillaTarkkaile peliäSeuraa %sSuoritettu siirto lopettaa pelin:KatsojatTasoitusEhdota keskeyttämistäEhdota keskeytystäEhdota pelin lykkäämistäEhdota taukoaTarjoa uusintaotteluaEhdota jatkoaEhdota peruutustaEhdota pelin keskeyttämistäEhdota tasapeliäEhdota taukoaEhdota pelin jatkamistaEhdota kumoamistaVirallinen PyChess ikkuna.OfflineFICS:ssa, sinun "Wild" ranking sisältää kaikki seuraavat variantit kaikilla peliajoilla: Toinen pelaaja aloittaa yhtä ratsua vähemmälläToinen pelaaja aloittaa yhden sotilaan häviölläToinen pelaaja aloittaa kuningatarta vähemmälläToinen pelaaja aloittaa yhtä tornia vähemmälläOnlineElävöi vain siirrotElävöi vain upseereiden siirrot.Vain rekisteröityneet käyttäjät voivat puhua tällä kanavallaAvaa peliAvaa äänitiedostoAvauskirjaAvauskirjatVastustajan vahvuuslukuVastustajan vahvuus:MuuMuut (ei-standardit säännöt)Muut (standardisäännöt)PParametrit:Liitä FENTaukoSotilasSotilastasoitusVapaasotilaatSiirretyt sotilaatPingPelaaPelaa Shakki960:aPelaa häviäjän shakkiaPelaa uusintaotteluPelaa shakkia internetissäPelaa normaalisäännöilläPelaajan vahvuuslukuPelaajat: %dPelaamassaPng-kuvaPo_rts:Polyglot-kirjatiedosto:EsikatseluKäytä nappuloiden symbolista merkintää notaatiossaAsetuksetYksityinenTodennäköisesti, koska se on peruttu.KorotusProtokolla:PyChess - Yhdistä internet-peliinPyChess Information WindowPyChess kadotti yhteyden moottoriin todennäköisesti kaatumisen johdosta. Voit aloittaa uuden pelin moottorin kanssa tai pelata toista vastaan.PyChess.py:QKuningatarKuningatartasoitusLopeta PyChessRLuovutaSatunnainenNopeaNopea: 15 min + 10 s/siirtoRanakattuRankattu peliRatingVastaanotetaan pelaajalistaaRekisteröitynytPyydä jatkoaLähetä uudelleenLähetä uudelleen %s?TulosJatkaTorniTornitasoitusKierrosKierros:Pyörittää simultaaniotteluaSRS_ign upSanktiotTallennaTallenna peliTallenna peli -na:Tallenna vain omat pelitTallenna analysoivan moottorin arvioinnitTallenna siirtoihin kuluneet ajatTallenna tiedostot polkuun:Tallenna siirrot ennen sulkemista?Tallenna nykyinen peli ennen sulkemista?ArvotHae:Seek _GraphHaku päivitettyValitse Gaviota TB-polkuValitse polku automaattitallennukselleValitse taustakuvatiedostoValitse kirjastotiedostoValitse shakkimoottoriValitse äänitiedosto...Valitse pelit, jotka haluat tallentaa:Valitse työhakemistoLähetä haasteLähetä kaikki hautLähetä hakuPalvelun edustajaYmpäristön asettaminenLuo peliasemaNäytä laudan koordinaatitAikapula:HuudaNäytä FICS-pelien numerot välilehdissäNäytä lyödyt nappulatNäytä siirtoihin kuluneet ajatNäytä arviointiNäytä vihjeet käynnistyksessäShredderLinuxChess:ShufflePuoli siirtovuorossaSivuikkunatYksinkertainen shakkiasemaPaikkaPaikka:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinPahoittelen, '%s' on jo kirjautunut sisäänÄänitiedostotKäytettyVakioVakio:Aloita yksityinen keskusteluStatusSiirry takaisin yksi siirtoSiirry eteenpäin yksi siirtoItsemurhaTTDTMJoukkue-tunnusKeskeytyspyyntöLykkäyspyyntöAnalysaattori laskee taustalla ja analysoi peliä. Tämä vaaditaan, jotta vihjemoodi toimisi.Ketjutusnappi on poistettu käytöstä, koska olet kirjautunut sisään vieraana. Vieraat eivät voi luoda rankingia, ja ketjutusnapin tilalla ei ole vaikutusta, kun ei ole mihin rankingia verrata vastustajan vahvuuslukuaKeskusteluikkunassa voit keskustella vastustajan kanssa pelin aikana, mikäli hän on kiinnostunut keskustelemaanKelloa ei ole vielä käynnistetty.Kommentti-ikkunassa pyritään analysoimaan sanallisesti tehtyjä siirtoja.Yhteys katkaistiin - saatiin viesti "end of file"Hakemisto, mistä shakkimoottori käynnistetään.Ensimmäisen pelaajan nimi esim. JohnTuntemattoman pelaajan nimi esim. MaryTasapelipyyntöLoppupelitaulukko näyttää tarkan analyysin, kun laudalla on vähän nappuloita.Shakkimoottori %s raportoi virheestä:Moottorin tulostusikkuna näyttää shakkimoottoreiden (tietokonepelaajien) miettimät siirrot pelin aikanaThe entered password was invalid. If you forgot your password, go to http://www.freechess.org/password to request a new one over email.Virhe: %sTiedosto on jo olemassa paikassa '%s'. Jos haluat korvata sen, sen sisältö päällekirjoitetaan. Voiton vaatiminen ajan loppumisen nojallaPeliä ei voi ladata, koska FEN-jäsennyksessä on virhe.Peliä ei voi lukea loppuun, koska siirrossa %(moveno)s '%(notation)s' tapahtui virhe.Peli päättyi tasanPeli on keskeytettyPeli on lykättyPeli on tuhottuVihjeet-näytössä esitetään tietokoneen neuvoja kussakin pelin vaiheessa.Vasta-analysaattori analysoi peliä vastustajan puolelta vastustajan siirtovuorolla. Tämä vaaditaan, jotta tarkkailumoodi toimisi. Siirto epäonnistui %s johdosta.Siirtoikkuna esittää pelaajien siirrot ja mahdollistaa koko pelin siirtojen ja peliasemien valinnanPuolenvaihtopyyntöAvauskirja yrittää inspiroida sinua pelin avauksessa näyttämällä shakkimestareiden tekemiä yleisiä siirtojaTaukopyyntöTuntematon syyLuovutusJatkopyyntöArvoikkunassa arvioidaan peliasemien arvot ja esitetään arvojen muutos graafisestiTakaisinsiirto-pyyntöThebanTeemat%d peli olemassa, jossa on tallentamattomia siirtoja.%d peliä olemassa, joissa on tallentamattomia siirtoja.Suoritettavassa tiedostossa on jotain vikaaTämä peli voidaan keskeyttää automaattisesti ilman rankingin menetystä, koska kahta siirtoa ei ole vielä tehty.Tätä peliä ei voi lykätä, koska toinen tai kummatkin pelaajat ovat vieraita.Tämä on lykätyn ottelun jatkoTämä valinta ei ole käytettävissä, koska olet haastamassa pelaajaaTämä valinta ei saatavilla, koska haastat vierasta,%s:n uhka-analyysiThree-checkAikaPeliaika:AikapulaPäivän vihjePäivän vihjeTittelöityToleranssi:Turnauksen johtajaKäännä PyChess-ohjelmaaTyyppiSyötä tai liitä PGN-peli tai FEN-asemat täälläUKykenemätön hyväksymään %sMääritettyyn tiedostoon ei pysty tallentamaan. Tallenna nykyinen peli ennen sulkemista?Epäselvä asemaKuvailematon ikkunaPeruutaOta yksi siirto takaisinOta kaksi siirtoa takaisinPoista asennusTuntematonEpävirallinen kanava %dRankkaamatonRekisteröitymätön Ei aikarajoitustaYlösalaisinKäytä analysaattoriaKäytä vastapuolista analysoijaaKäytä paikallisia loppupelitaulukoitaKäytä internetin loppupelitaulukoitaKäytä analysaattoria:Käytä nimen formaattina:Käytä avauskirjaaShakkivarianttiVariant developed by Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Muunnelman kommentoinnin luomisen kynnysarvo senttisotilaina:V EloWFMWGMWIMOdota '%(uri)s' ei pystytty tallentamaan, koska PyChess ei tunnista formaattia '%(ending)s'.TervetuloaKun tämä on lukittuna, vastustajan ja sinun vahvuuslukujen suhde säilyy samana, kun a) vahvuuslukusi tietylle pelityypille muuttuu b) vaihdat shakkivarianttia tai peliaikaa ValkeaValkea O-OValkea O-O-OValkealla on uusi upseeri etuvartiossa: %sValkealla on jokseenkin ahdas asemaValkealla on hieman ahdas asemaValkean pitäisi tehdä sotilasrynnäkkö vasemalllaValkean pitäisi tehdä sotilasrynnäkkö oikeallaValkoinen:WildWildcastleWildcastle shuffleVoittoVoitto shakkaamalla 3 kertaaVoitto:Valkean hyökkäysNaisten FIDE-mestari Naisten suurmestariNaisten kansainvälinen mestariTyöhakemisto:Vuosi, kuukausi, päivä: #v, #k, #pPyysit vastustajaasi siirtämäänEt voi pelata pisteytettyjä pelejä, koska "Ei aikarajoitusta" on valittuna,Et voi pelata rankattuja pelejä, koska olet kirjautunut sisään vieraana.Et voi valita vaihtoehtoa, koska "Ei aikarajoitusta" on valittuna,Et voi vaihtaa värejä pelin aikana.Et voi koskea tähän! Olet tutkimassa peliä.Sinulla ei ole tarvittavia oikeuksia tallentaa tiedostoa. Varmista, että olet antanut oikean polun ja yritä uudelleen.Sinut on kirjattu ulos, koska olit toimeton yli 60 minuuttia.Et ole avannut vielä yhtään keskutelujaSinun pitää asettaa kibitz päälle nähdäksesi botin viestit täällä.Yritit peruuttaa liian monta siirtoa.Maksimissaan 3 hakua samalla kertaa. Jos haluat tehdä uuden haun, sinun täytyy tyhjentää aktiiviset haut. Tyhjennä haut?Lähetit tasapelipyynnönLähetit taukopyynnönLähetit jatkopyynnönLähetit keskeytyspyynnönLähetit lykkäyspyynnönLähetit peruutuspyynnönLähetit merkkilipun tarkistuksen Vastustajasi pyytää sinua kiirehtimään!Vastustajasi pyytää pelin keskeyttämistä. Jos hyväksyt, peli päättyy ilman ranking-muutoksia.Vastustajasi pyytää pelin lykkäystä. Jos hyväksyt, peli lykätään, ja voit jatkaa sitä myöhemmin ( kun vastustajasi on yhteydessä ja molemmat suostuvat jatkamaan). Vastustajasi haluaa pitää tauon pelistä. Jos hyväksyt, kello pysäytetään, kunnes molemmat pelaajat suostuvat jatkamaan peliä.Vastustajasi haluaa jatkaa peliä. Jos hyväksyt, kello käynnistetään siitä, mihin se pysäytettiin.Vastustajasi haluaa peruuttaa %s siirron (siirtoa). Jos hyväksyt, peli jatkuu aikaisemmasta asemasta.Vastustajasi tarjoaa sinulle tasapeliä.Vastustajasi tarjoaa tasapeliä. Jos hyväksyt, peli päättyy pistein 1/2 - 1/2. Vastustajalla on vielä aikaa jäljellä.Vastustajasi täytyy suostua pelin keskeyttämiseen, koska kaksi tai enemmän siirtoa on tehty.Vastustajasi vaikuttaa vaihtaneen mieltään.Vastustajasi haluaa keskeyttää pelin.Vastustajasi haluaa keskeyttää pelin.Vastustajasi haluaa pitää tauon pelistä.Vastustajasi haluaa jatkaa peliä. Vastustajasi haluaa peruuttaa %s siirron (siirtoa).Hakusi on poistettuVahvuutesi: SiirtopakkoHyväksy_ToiminnotAnalysoi peliArkistoituVaadi voittoa ajan loppumisen nojallaPyChess - Internet Chess: FICS_Kopioi FEN_Kopioi PGNKieltäydy_Muokkaa_ShakkimoottoritVie asema_Kokoruututila_PeliPelilistaYleiset_Apua_Piilota välilehdet, kun yksi peli on auki_VihjeetLaiton siirto:_Lataa peli_LokiOmat pelitNimi:_Uusi peli_SeuraavaSuoritetut siirrot:Vastustaja:Salasana:_Pelaa normaalia shakkiaPelaajalista_Edellinen_Korvaa_Käännä lauta_Tallenna %d dokumentti_Tallenna %d dokumentitTallenna %d dokumentitTallenna peliHaut / Haasteet_Näytä sivuikkunat_Äänet_Aloita peli_Ei aikarajoitusta_Käytä yleistä rastia [x] sulkeaksesi kaikki pelit. Käytä ääniä_NäytäVärisi:jaja vieraat eivät voi pelata rankattuja pelejäja FICS:ssä aikarajoittamia pelejä ei voi pisteyttääja FICS:ssä aikarajoittamattomissa peleissä tulee olla normaalit sakkisäännötpyydä vastustajaa siirtämäänmustatuo %(piece)s lähemmäksi vihollisen kuningasta: %(cord)stuo sotilaan lähemmäksi takariviä: %svaadi voittoa ajan loppumisen nojallaottaa materiaalialinnoittautuupuolustaa %skehittää %(piece)s: %(cord)skehittää sotilaan: %spelaa tasanvaihtaa materiaaliagnuchess:puoliavoinhttp://brainking.com/en/GameRules?tp=2 * Placement of the pieces on the 1st and 8th row are randomized * The king is in the right hand corner * Bishops must start on opposite color squares * Black's starting position is obtained by rotating white's position 180 degrees around the board's center * No castlinghttps://fi.wikipedia.org/wiki/Shakkihttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttps://fi.wikipedia.org/wiki/Shakki#S.C3.A4.C3.A4nn.C3.B6tparantaa kuninkaan suojaustaTiedostossa %(x)s%(y)sTiedostoissa %(x)s%(y)slisää painostusta %sLaiton korotettu nappulamatittaaminsiirtää tornin avoimelle linjallesiirtää tornin puoliavoimelle linjallesivustoi lähetin: %sei pelaa:staehdota tasapeliäehdota taukoaehdota takaisinsiirtoaehdota keskeytystäehdota lykkäystäehdota jatkoaehdota puolten vaihtoayhteensä onlinekiinnittää vihollisen %(oppiece)s %(piece)s:lla %(cord)ssijoittaa %(piece)s aktiivisemmin: %(cord)skorottaa sotilaan %s:ksivastustaja joutuu shakkiinrankingin vaihteluväli nytpelastaa %sluovuttaakierros %suhraa materiaaliasparantaa hieman kuninkaan suojaustasaa takaisin materiaaliaLyöty koordinaatti (%s) on virheellinenLoppukoordinaatti (%s) on virheellinenSiirtoon tarvitaan nappula ja koordinaattiuhkaa voittaa materiaalia %shyväksy automaattisestihyväksy manuaalisestiucivs.valkeaikkuna1xboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Random arrangement of the pieces behind the pawns * No castling * Black's arrangement mirrors white'sxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * White has the typical set-up at the start. * Black's pieces are the same, except that the King and Queen are reversed, * so they are not on the same files as White's King and Queen. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * In this variant both sides have the same set of pieces as in normal chess. * The white king starts on d1 or e1 and the black king starts on d8 or e8, * and the rooks are in their usual positions. * Bishops are always on opposite colors. * Subject to these constraints the position of the pieces on their first ranks is random. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.pychess-1.0.0/lang/fi/LC_MESSAGES/pychess.po0000644000175000017500000051651113455543010017371 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2008 # physica ingocnito , 2016 # physica ingocnito , 2016 # Riku Lahtinen , 2015 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Finnish (http://www.transifex.com/gbtami/pychess/language/fi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Peli" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Uusi peli" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Pelaa shakkia internetissä" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Lataa peli" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Lataa äskettäinen peli" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "Tallenna peli" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Tallenna peli -na:" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "Vie asema" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Pelaajan vahvuusluku" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "Analysoi peli" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Muokkaa" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_Kopioi PGN" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "_Kopioi FEN" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "_Shakkimoottorit" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Toiminnot" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Ehdota pelin keskeyttämistä" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Ehdota pelin lykkäämistä" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Ehdota tasapeliä" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Ehdota taukoa" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Ehdota pelin jatkamista" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Ehdota kumoamista" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "Vaadi voittoa ajan loppumisen nojalla" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "Luovuta" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Pyydä siirtämään" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "Vaadi automaattisesti voittoa ajan loppumisen nojalla" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Näytä" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Käännä lauta" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Kokoruututila" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Poistu kokoruututilasta" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "_Näytä sivuikkunat" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_Loki" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Apua" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Tietoa shakista" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Miten pelata" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Käännä PyChess-ohjelmaa" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Päivän vihje" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Shakkipääte" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Asetukset" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "Ensimmäisen pelaajan nimi esim. John" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Ensimmäisen pelaajan nimi:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "Tuntemattoman pelaajan nimi esim. Mary" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Toisen pelaajan nimi:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Piilota välilehdet, kun yksi peli on auki" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Piilota peli-ikkunan yllä oleva välilehti tarvittaessa." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "_Käytä yleistä rastia [x] sulkeaksesi kaikki pelit. " #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "Pääikkunan sulkeminen ensimmäisellä kerralla sulkee kaikki pelit." #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "Käännä lauta automaattisesti nykyiselle pelaajalle." #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Jos valittuna, lauta kääntyy joka siirron jälkeen näyttäen pelivuorossa olevan pelaajan näkymän." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "Sotilas korottuu kuningattareksi ilman valintaikkunaa." #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "\"Kasvotusten\"-näyttö" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Mustan nappulat käännettyinä, sopii pelattaessa mobiililaitteilla." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "Näytä lyödyt nappulat" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "Näytä lyödyt nappulat laudan vieressä." #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Käytä nappuloiden symbolista merkintää notaatiossa" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "PyChess käyttää symboleja siirtojen merkintään isojen kirjaimien sijaan." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "Värjää analysoidut siirrot" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "PyChess värjää analysoidut ala-arvoiset siirrot punaisella." #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "Näytä siirtoihin kuluneet ajat" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "Näytä pelaajan siirtoon kulunut aika." #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "Näytä arviointi" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "Jos valittuna, vihjeanalysaattorin arvo näytetään." #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "Näytä FICS-pelien numerot välilehdissä" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "FICS-pelien numerot näytetään välilehdissä pelaajien nimien vieressä." #: glade/PyChess.glade:1402 msgid "General Options" msgstr "Yleiset valinnat" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "Laudan täysi elävöittäminen" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Elävöi nappulat, laudan kääntö ja muu. Käytä vain tehokkailla laitteilla. " #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Elävöi vain siirrot" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Elävöi vain upseereiden siirrot." #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Ei elävöintiä." #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Älä koskaan käytä elävöintiä. Käytä hitailla laitteilla." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animointi" #: glade/PyChess.glade:1527 msgid "_General" msgstr "Yleiset" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "Käytä avauskirjaa" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "Jos valittuna, PyChess näyttää parhaat avaussiirrot Vihjeet-ikkunassa." #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "Polyglot-kirjatiedosto:" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "Käytä paikallisia loppupelitaulukoita" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "PyChess näyttää pelin lopputulokset eri siirroille asemissa, joissa on 6 tai vähemmän nappuloita.\nVoit ladata loppupelitaulukot osoitteessa:\nhttp://www.olympuschess.com/egtb/gaviota/\n " #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "Gaviota-loppupelitaulukoiden hakemistopolku:" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "Käytä internetin loppupelitaulukoita" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "PyChess näyttää pelin lopputulokset eri siirroille asemissa, joissa on 6 tai vähemmän nappuloita.\nSe etsii asemia tietokannasta osoitteessa http://www.k4it.de/" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "Shakkiavaus, loppupeli" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Käytä analysaattoria" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "Analysaattori laskee taustalla ja analysoi peliä. Tämä vaaditaan, jotta vihjemoodi toimisi." #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Käytä vastapuolista analysoijaa" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "Vasta-analysaattori analysoi peliä vastustajan puolelta vastustajan siirtovuorolla. Tämä vaaditaan, jotta tarkkailumoodi toimisi. " #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "Maksimi analysointiaika sekunneissa:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analysointi" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_Vihjeet" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Poista asennus" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "Toiminnassa" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Asetetut sivuikkunat" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "Sivuikkunat" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "Taustakuvan hakemistopolku:" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "Aloitusruutu" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Valkeat ruudut:" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Mustat ruudut:" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "Näytä laudan koordinaatit" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "Näytä pelilaudan linjat ja rivit. Tästä on hyötyä siirtojen merkinnässä." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "Shakkisetit" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Teemat" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "Käytä ääniä" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "Pelaaja shakkaa:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Pelaaja siirtää:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr " Peli päättyy tasan: " #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Peli päättyy häviöön:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Peli päättyy voittoon:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Pelaaja lyö nappulan:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Aloitustilanne:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "Suoritetut siirrot:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "Suoritettu siirto lopettaa pelin:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "Aikapula:" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "Laiton siirto:" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "Aktivoi hälytys, kun sekunteja on jäljellä:" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Soita äänimerkki, kun..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Äänet" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Tallenna tiedostot polkuun:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "Käytä nimen formaattina:" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "Nimet: #n1, #n2" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "Vuosi, kuukausi, päivä: #v, #k, #p" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "Tallenna siirtoihin kuluneet ajat" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "Tallenna analysoivan moottorin arvioinnit" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "Tallenna vain omat pelit" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Tallenna" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Korotus" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Kuningatar" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Torni" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Lähetti" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Ratsu" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Kuningas" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Mihin korotat sotilaan?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "Oletus" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "Ratsut" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Pelitiedot" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Paikka:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Musta:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Kierros:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Valkoinen:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Tapahtuma:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "uci" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "xboard" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "Hallitse shakkimoottoreita" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Komento:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protokolla:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Parametrit:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "Shakkimooottorit käyttävät uci- tai xboard kommunikointiprotokollaa keskutellakseen GUI:n kanssa.\nJos moottori toimii molempina, voit valita tässä tyypin. " #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "Työhakemisto:" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "Hakemisto, mistä shakkimoottori käynnistetään." #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Valkea" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Musta" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "Tapahtuma" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "ECO" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Päiväys" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "Paikka" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Tulos" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "Shakkivariantti" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "Puoli siirtovuorossa" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Analysoi peli" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "Käytä analysaattoria:" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "Jos analysaattori löytää siirron, jonka arviointiero ( ero sen löytämän parhaan siirron ja pelatun siirron välillä) ylittää tämän arvon, se lisää kommentin kyseiselle siirrolle (koostuen moottorin päämuunnelman siirrosta) kommentti-ikkunaan." #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "Muunnelman kommentoinnin luomisen kynnysarvo senttisotilaina:" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "Analysoi nykyasemasta" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "Analysoi mustan siirrot" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "Analysoi valkean siirrot" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "Lisää uhkaavat muunnelmat" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess tutkii käytettävissä olevia shakkimoottoreita. Odota hetki." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Yhdistä internet-peliin" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "Salasana:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "Nimi:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Kirjaudu _vierailijana" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "Isäntä:" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Po_rts:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "S_ign up" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Haasta:" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Lähetä haaste" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Haaste:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Salama:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Vakio:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Pikashakki:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "2 min, Shakki960, Musta " #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 min + 6 s/siirto, Valkoinen" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 min" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "PyChess - Internet Chess: FICS" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "Hyväksy" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "Kieltäydy" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "Lähetä kaikki haut" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Lähetä haku" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Luo haku" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Vakio" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Pikashakki" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Salama" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Tietokone" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "Haut / Haasteet" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Rating" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Aika" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "Seek _Graph" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 Pelaajaa valmiina" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Haaste" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Tarkkaile peliä" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Aloita yksityinen keskustelu" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "Rekisteröitynyt" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Vieras" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "Tittelöity" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "Pelaajalista" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "Pelilista" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "Omat pelit" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "Ehdota keskeyttämistä" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "Tutki" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "Esikatselu" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "Arkistoitu" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "Asymmetric Random" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Muokkaa hakua" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Ei aikarajoitusta" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minuutit:" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "Ansio:" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Peliaika:" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Peliaika" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Älä välitä" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Vahvuutesi: " #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Pikashakki)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Vastustajan vahvuus:" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "Kun tämä on lukittuna, vastustajan ja sinun vahvuuslukujen suhde säilyy samana, kun\na) vahvuuslukusi tietylle pelityypille muuttuu\nb) vaihdat shakkivarianttia tai peliaikaa " #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Keskusta:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Toleranssi:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Piilota" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Vastustajan vahvuus" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Värisi" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Pelaa normaalisäännöillä" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Pelaa" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Shakkivariantti" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Rankattu peli" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Hyväksy vastustaja manuaalisesti" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Valinnat" #: glade/findbar.glade:6 msgid "window1" msgstr "ikkuna1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 0:sta" #: glade/findbar.glade:66 msgid "Search:" msgstr "Hae:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Edellinen" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Seuraava" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Uusi peli" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Aloita peli" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "Kopioi FEN" #: glade/newInOut.glade:143 msgid "Clear" msgstr "Tyhjennä" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "Liitä FEN" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Pelaajat" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "_Ei aikarajoitusta" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "Pika: 5 min" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "Nopea: 15 min + 10 s/siirto" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "Normaali: 40 min + 15s/siirto" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "_Pelaa normaalia shakkia" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Pelaa Shakki960:a" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "Pelaa häviäjän shakkia" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Avaa peli" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Aloitusasema" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Syötä pelinotaatio" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "Puolisiirtojen laskuri" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "Ohestalyönnin erittely" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "Siirtonumero" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "Musta O-O" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "Musta O-O-O" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "Valkea O-O-O" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "Valkea O-O" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Lopeta PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Sulje tallentamatta" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "Tallenna %d dokumentit" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr " %d pelissä on tallentamattomia siirtoja. Tallenna muutokset ennen sulkemista?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Valitse pelit, jotka haluat tallentaa:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Jos et tallenna, menetät tallentamattomat muutoksesi lopullisesti." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "Vastustaja:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "Värisi:" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "Aloita peli" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "Kirjaudu sisään automaattisesti käynnistettäessä" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "Yhdistä palvelimeen" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Päivän vihje" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Näytä vihjeet käynnistyksessä" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "https://fi.wikipedia.org/wiki/Shakki" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "https://fi.wikipedia.org/wiki/Shakki#S.C3.A4.C3.A4nn.C3.B6t" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Tervetuloa" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Avaa peli" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "Shakkimoottori %s raportoi virheestä:" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "Vastustajasi tarjoaa sinulle tasapeliä." #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "Vastustajasi tarjoaa tasapeliä. Jos hyväksyt, peli päättyy pistein 1/2 - 1/2. " #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "Vastustajasi haluaa keskeyttää pelin." #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "Vastustajasi pyytää pelin keskeyttämistä. Jos hyväksyt, peli päättyy ilman ranking-muutoksia." #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "Vastustajasi haluaa keskeyttää pelin." #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "Vastustajasi pyytää pelin lykkäystä. Jos hyväksyt, peli lykätään, ja voit jatkaa sitä myöhemmin ( kun vastustajasi on yhteydessä ja molemmat suostuvat jatkamaan). " #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "Vastustajasi haluaa peruuttaa %s siirron (siirtoa)." #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "Vastustajasi haluaa peruuttaa %s siirron (siirtoa). Jos hyväksyt, peli jatkuu aikaisemmasta asemasta." #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "Vastustajasi haluaa pitää tauon pelistä." #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "Vastustajasi haluaa pitää tauon pelistä. Jos hyväksyt, kello pysäytetään, kunnes molemmat pelaajat suostuvat jatkamaan peliä." #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "Vastustajasi haluaa jatkaa peliä. " #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "Vastustajasi haluaa jatkaa peliä. Jos hyväksyt, kello käynnistetään siitä, mihin se pysäytettiin." #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "Luovutus" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "Voiton vaatiminen ajan loppumisen nojalla" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "Tasapelipyyntö" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "Keskeytyspyyntö" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "Lykkäyspyyntö" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "Taukopyyntö" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "Jatkopyyntö" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "Puolenvaihtopyyntö" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "Takaisinsiirto-pyyntö" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "luovuttaa" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "vaadi voittoa ajan loppumisen nojalla" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "ehdota tasapeliä" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "ehdota keskeytystä" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "ehdota lykkäystä" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "ehdota taukoa" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "ehdota jatkoa" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "ehdota puolten vaihtoa" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "ehdota takaisinsiirtoa" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "pyydä vastustajaa siirtämään" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Vastustajalla on vielä aikaa jäljellä." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "Kelloa ei ole vielä käynnistetty." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "Et voi vaihtaa värejä pelin aikana." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "Yritit peruuttaa liian monta siirtoa." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Vastustajasi pyytää sinua kiirehtimään!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "Yleensä tällä ei ole väliä, koska peli perustuu ajankäyttöön, mutta jos haluat miellyttää vastustajaasi, olisi ehkä aika panna töpinäksi." #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "Hyväksy" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "Kieltäydy" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "Vastustajasi hylkäsi %s" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "Lähetä uudelleen %s?" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "Lähetä uudelleen" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "Vastustajasi vetäytyi %s" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "Vastustajasi vaikuttaa vaihtaneen mieltään." #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "Kykenemätön hyväksymään %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "Todennäköisesti, koska se on peruttu." #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s tuottaa virheen" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "Chess Alpha 2 diagrammi" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "Peli jaetaan osoitteessa" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "(Linkki saatavissa leikepöydällä.)" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Shakkiasema" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Tuntematon" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Yksinkertainen shakkiasema" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "Peliä ei voi ladata, koska FEN-jäsennyksessä on virhe." #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Shakkipeli" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "Laiton siirto." #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "Peliä ei voi lukea loppuun, koska siirrossa %(moveno)s '%(notation)s' tapahtui virhe." #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "Siirto epäonnistui %s johdosta." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "Virhe siirron %(moveno)s %(mstr)s jäsennyksessä" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "Png-kuva" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "Verkkoyhteysongelma" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Kaatunut" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Paikallinen tapahtuma" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Paikallinen sijainti" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "min" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "s" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "Uusi versio %s saatavilla!" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Sotilas" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "N" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "B" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "R" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "Q" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "K" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Peli päättyi tasan" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s voitti pelin" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s voitti pelin" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "Peli on tuhottu" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Peli on lykätty" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Peli on keskeytetty" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "Koska kummallakaan pelaajalla ei riittävästi materiaalia matittamiseen." #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "Koska sama asema toistui kolme kertaa peräkkäin." #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "Koska viimeiseen 50 siirtoon ei tapahtunut mitään uutta" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Koska molemmilta pelaajilta loppui aika" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "Koska %(mover)s aiheutti pattitilanteen" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "Koska molemmat pelaajat suostuivat tasapeliin" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "Koska ylläpitäjä tuomitsi pelin" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "Koska peli ylitti maksimipituuden" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "Koska %(white)s aika loppui ja %(black)s on riittämätön materiaali mattiin" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "Koska %(black)s aika loppui ja %(white)s on riittämätön materiaali mattiin" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "Koska molemmilla pelaajilla on sama määrä nappuloita" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "Koska %(loser)s luovutti" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "Koska %(loser)s käytti ajan loppuun" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "Koska %(loser)s matitettiin" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "Koska %(loser)s katkaisi yhteyden" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "Koska %(winner)s on vähemmän nappuloita" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "Koska %(winner)s menetti kaikki nappulansa" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "Koska %(loser)s kuningas räjähti" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "Koska %(winner)s saavutti keskustan" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "Koska %(winner)s shakkasi 3 kertaa" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "Koska pelaaja menetti yhteyden " #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "Koska molemmat pelaajat suostuivat lykkäykseen" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "Koska palvelin suljettiin" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "Koska pelaaja menetti yhteyden ja toinen pyysi lykkäystä" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "Koska %(black)s menetti yhteyden palvelimeen ja %(white)s pyysi lykkäystä" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "Koska %(white)s menetti yhteyden palvelimeen ja %(black)s pyysi lykkäystä" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "Koska %(white)s menetti yhteyden palvelimeen" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "Koska %(black)s menetti yhteyden palvelimeen" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "Koska ylläpitäjä tuomitsi pelin, rankingeissa ei tapahtunut muutoksia." #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "Koska molemmat pelaajat suostuivat pelin keskeyttämiseen, Rankingeissa ei tapahtunut muutoksia." #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "Koska pelaaja myöntyi, rankingeissa ei tapahtunut muutoksia." #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "Koska pelaa keskeytti pelin, kumpikin pelaaja voi keskeyttää pelin ilman toisen hyväksyntää ennen toista siirtoa. Rankingeissa ei tapahdu muutoksia." #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "Koska pelaaja katkaisi yhteyden, ja liian vähän siirtoja lykkäyksen takaamiseksi, rankingeissa ei tapahtunut muutoksia." #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "Koska palvelin suljettiin, rankingeissa ei tapahtunut muutoksia." #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "Koska %(white)s shakkimoottori kaatui" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "Koska %(black)s shakkimoottori kaatui" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "Koska yhteys palvelimeen menetettiin." #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "Tuntematon syy" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "ASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "ASEAN" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "Makruk: http://en.wikipedia.org/wiki/Makruk" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "Thaimaalainen shakki" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "Kambodžalainen: http://www.khmerinstitute.org/culture/ok.html" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "Kambodžalainen" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "Ai-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "Ai-Wok" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "Sittuyin" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n* Randomly chosen pieces (two queens or three rooks possible)\n* Exactly one king of each color\n* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n* No castling\n* Black's arrangement DOES NOT mirrors white's" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Asymmetric Random" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "Atomic" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Classic chess rules with hidden figurines\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "Sokko" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Classic chess rules with hidden pawns\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "Piilotetut sotilaat" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Classic chess rules with hidden pieces\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "Piilotetut nappulat" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Classic chess rules with all pieces white\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "Kaikki valkeat" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "Tandemshakki " #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "http://brainking.com/en/GameRules?tp=2\n* Placement of the pieces on the 1st and 8th row are randomized\n* The king is in the right hand corner\n* Bishops must start on opposite color squares\n* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n* No castling" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Nurkka" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "Crazyhouse" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "EuroShogi" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "http://en.wikipedia.org/wiki/Chess960\nFICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "FischerRandom-shakki " #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "Tuomalla kuningas laillisesti keskustaan (e4, d4, e5, d5) voitaa pelin välittömästi!\nNormaalit säännöt pätevät muissa tapauksissa ja myös matti päättää pelin." #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "King of the hill" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "Toinen pelaaja aloittaa yhtä ratsua vähemmällä" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "Ratsutasoitus" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "Häviäjän" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "Classic chess rules\nhttp://en.wikipedia.org/wiki/Chess" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Normaali" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "Toinen pelaaja aloittaa yhden sotilaan häviöllä" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "Sotilastasoitus" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\nWhite pawns start on 5th rank and black pawns on the 4th rank" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "Vapaasotilaat" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\nPawns start on 4th and 5th ranks rather than 2nd and 7th" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "Siirretyt sotilaat" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "Toinen pelaaja aloittaa kuningatarta vähemmällä" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "Kuningatartasoitus" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n* Randomly chosen pieces (two queens or three rooks possible)\n* Exactly one king of each color\n* Pieces placed randomly behind the pawns\n* No castling\n* Black's arrangement mirrors white's" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Satunnainen" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "Toinen pelaaja aloittaa yhtä tornia vähemmällä" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "Tornitasoitus" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n* Random arrangement of the pieces behind the pawns\n* No castling\n* Black's arrangement mirrors white's" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Shuffle" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "Itsemurha" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "Variant developed by Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "Theban" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "Voitto shakkaamalla 3 kertaa" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "Three-check" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\nhttp://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\nPawns start on their 7th rank rather than their 2nd rank!" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "Ylösalaisin" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n* White has the typical set-up at the start.\n* Black's pieces are the same, except that the King and Queen are reversed,\n* so they are not on the same files as White's King and Queen.\n* Castling is done similarly to normal chess:\n* o-o-o indicates long castling and o-o short castling." #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "Wildcastle" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n* In this variant both sides have the same set of pieces as in normal chess.\n* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n* and the rooks are in their usual positions.\n* Bishops are always on opposite colors.\n* Subject to these constraints the position of the pieces on their first ranks is random.\n* Castling is done similarly to normal chess:\n* o-o-o indicates long castling and o-o short castling." #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "Wildcastle shuffle" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "Yhteys katkaistiin - saatiin viesti \"end of file\"" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' ei ole rekisteröity nimi" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "The entered password was invalid.\nIf you forgot your password, go to http://www.freechess.org/password to request a new one over email." #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "Pahoittelen, '%s' on jo kirjautunut sisään" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "'%s' on rekisteröity nimi. Jos omistat sen, syötä salasana." #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "Due to abuse problems, guest connections have been prevented.\nYou can still register on http://www.freechess.org" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Yhdistetään palvelimeen" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Kirjaudutaan palvelimeen" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Ympäristön asettaminen" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "%(player)s on %(status)s" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "ei pelaa" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Wild" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Online" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Offline" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "Saatavilla" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "Pelaamassa" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "Toimeton" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "Tutkimassa" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "Ei saatavilla" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "Pyörittää simultaaniottelua" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "Turnauksessa" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Rankkaamaton" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Ranakattu" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d min" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "+ %d s" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "%(player)s pelaa %(color)s" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "valkea" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "musta" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "Tämä on lykätyn ottelun jatko" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "Vastustajan vahvuusluku" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "Manuaalinen hyväksyntä" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Yksityinen" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Yhteysvirhe" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Kirjautumisvirhe" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Yhteys suljettiin" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Osoitevirhe" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Automaattinen uloskirjautuminen" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Sinut on kirjattu ulos, koska olit toimeton yli 60 minuuttia." #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "FICS esti sisäänkirjautumisen vieraana" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "Tutkittu" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Muu" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Ylläpitäjä" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "Sokko-tunnus" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Joukkue-tunnus" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "Rekisteröitymätön " #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "Shakkineuvoja" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "Palvelun edustaja" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "Turnauksen johtaja" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "Mamer Manager" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "Suurmestari" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "Kansainvälinen mestari" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "FIDE-mestari " #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "Naisten suurmestari" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "Naisten kansainvälinen mestari" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "Naisten FIDE-mestari " #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "Harjoitustunnus" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "C" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "T" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "U" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "CA" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "SR" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "TD" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "TM" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "GM" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "IM" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "FM" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "WGM" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "WIM" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "WFM" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "D" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "H" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "CM" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "FA" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "NM" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "PyChess ei pystynyt lataamaan ikkuna-asetuksiasi" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "Ystävät" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "Ylläpitäjä" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "Enemmän kanavia" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "Enemmän pelaajia" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "Tietokoneet" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "Sokko" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "Vieraat" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "Katsojat" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "Tauko" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "Keskusteluja ei valittu" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "Ladataan pelaajan tietoja" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "Vastaanotetaan pelaajalistaa" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "PyChess Information Window" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr ":sta" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "Et ole avannut vielä yhtään keskuteluja" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "Vain rekisteröityneet käyttäjät voivat puhua tällä kanavalla" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "Pelin analysointi käynnissä..." #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "Haluatko keskeyttää?" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "Keskeytä" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "Valitse shakkimoottori" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "Suoritettavat tiedostot" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "Ei pysty lisäämään %s" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "Suoritettavassa tiedostossa on jotain vikaa" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "Valitse työhakemisto" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "Laiton moottorin siirto: %s" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Tarjoa uusintaottelua" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "Seuraa %s" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Pelaa uusintaottelu" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Ota yksi siirto takaisin" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Ota kaksi siirtoa takaisin" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "Lähetit keskeytyspyynnön" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "Lähetit lykkäyspyynnön" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Lähetit tasapelipyynnön" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "Lähetit taukopyynnön" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "Lähetit jatkopyynnön" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "Lähetit peruutuspyynnön" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "Pyysit vastustajaasi siirtämään" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "Lähetit merkkilipun tarkistuksen " #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Shakkimoottori, %s, kaatui" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "PyChess kadotti yhteyden moottoriin todennäköisesti kaatumisen johdosta.\n\nVoit aloittaa uuden pelin moottorin kanssa tai pelata toista vastaan." #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "Tämä peli voidaan keskeyttää automaattisesti ilman rankingin menetystä, koska kahta siirtoa ei ole vielä tehty." #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "Ehdota keskeytystä" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "Vastustajasi täytyy suostua pelin keskeyttämiseen, koska kaksi tai enemmän siirtoa on tehty." #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "Tätä peliä ei voi lykätä, koska toinen tai kummatkin pelaajat ovat vieraita." #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "Vaadi tasapeliä" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "Jatka" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "Ehdota taukoa" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "Ehdota jatkoa" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "Peruuta" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "Ehdota peruutusta" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "on laahannut 30 sekuntia" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "laahaa pahasti, mutta ei ole katkaissut yhteyttä" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "Jatka vastustajan odottamista tai yritä lykätä peliä?" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "Odota" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "Lykkää" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "Siirry aloitusasemaan" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "Siirry takaisin yksi siirto" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "Siirry takaisin päämuunnelmaan" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "Siirry eteenpäin yksi siirto" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Siirry viimeisimpään asemaan" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Ihminen" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minuuttia:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Ansio:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "Nopea" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "Tasoitus" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "Muut (standardisäännöt)" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "Muut (ei-standardit säännöt)" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "Aasialaiset variantit" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "shakki" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Luo peliasema" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "Syötä tai liitä PGN-peli tai FEN-asemat täällä" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Liity peliin" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "Valitse kirjastotiedosto" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "Avauskirjat" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "Valitse Gaviota TB-polku" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Avaa äänitiedosto" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "Äänitiedostot" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Ei ääniä" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Piippaus" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Valitse äänitiedosto..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "Kuvailematon ikkuna" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "Valitse taustakuvatiedosto" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "Kuvat" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "Valitse polku automaattitallennukselle" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "Tiedätkö, että on mahdollista voittaa shakkipeli vain 2:lla siirrolla?" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "Tiesitkö, että mahdollisia shakkiasemia on enemmän kuin universumissa on atomeja? " #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "FEN tarvitsee 6 tietokenttää.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "FEN tarvitsee vähintään 2 tietokenttää fenstr:ssä.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "Tarvitaan 7 vinoviivaa nappulansijoituskentässä.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "Aktiivisen värikentän täytyy olla joko w tai b.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "Linnoitusmahdollisuus-kenttä ei ole laillinen.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "Ohestalyöntikoordinaatti ei ole laillinen.\n\n%s" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "Laiton korotettu nappula" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "Siirtoon tarvitaan nappula ja koordinaatti" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "Lyöty koordinaatti (%s) on virheellinen" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "Loppukoordinaatti (%s) on virheellinen" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "ja" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "pelaa tasan" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "matittaa" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "vastustaja joutuu shakkiin" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "parantaa kuninkaan suojausta" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "parantaa hieman kuninkaan suojausta" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "siirtää tornin avoimelle linjalle" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "siirtää tornin puoliavoimelle linjalle" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "sivustoi lähetin: %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "korottaa sotilaan %s:ksi" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "linnoittautuu" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "saa takaisin materiaalia" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "uhraa materiaalia" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "vaihtaa materiaalia" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "ottaa materiaalia" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "pelastaa %s" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "uhkaa voittaa materiaalia %s" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "lisää painostusta %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "puolustaa %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "kiinnittää vihollisen %(oppiece)s %(piece)s:lla %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "Valkealla on uusi upseeri etuvartiossa: %s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "Mustalla on uusi upseeri etuvartiossa: %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "%(color)s:lla on uusi vapaasotilas %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "puoliavoin" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "Tiedostossa %(x)s%(y)s" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "Tiedostoissa %(x)s%(y)s" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "%(color)s sai kaksoissotilaan %(place)s" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "%(color)s sai uudet kaksoissotilaat %(place)s" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "%(color)s sai eristetyn sotilaan %(x)s linjalla" msgstr[1] "%(color)s sai eristetyt sotilaat %(x)s linjoilla" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "%s siirtää sotilaat kivimuurimuodostelmaan" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "%s ei voi enää linnoittautua" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "%s ei voi enää linnoittautua kuningattaren puolelle" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "%s ei voi enää linnoittautua kuninkaan puolelle" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "%(opcolor)s on uusi lähetti ansassa %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "kehittää sotilaan: %s" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "tuo sotilaan lähemmäksi takariviä: %s" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "tuo %(piece)s lähemmäksi vihollisen kuningasta: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "kehittää %(piece)s: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "sijoittaa %(piece)s aktiivisemmin: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "Valkean pitäisi tehdä sotilasrynnäkkö oikealla" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "Mustan pitäisi tehdä sotilasrynnäkkö vasemmalla" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "Valkean pitäisi tehdä sotilasrynnäkkö vasemallla" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "Mustan pitäisi tehdä sotilasrynnäkkö oikealla" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "Mustalla on ahdas asema" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "Mustalla on hieman ahdas asema" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "Valkealla on jokseenkin ahdas asema" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "Valkealla on hieman ahdas asema" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "Huuda" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "Shakkihuuto" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "Epävirallinen kanava %d" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "Pelit" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "Id" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "V Elo" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "M Elo" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "Kierros" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "Arkistoitu" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Kello" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Tyyppi" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Päivämäärä/Aika" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "jonka kanssa sinulla on lykätty %(timecontrol)s %(gametype)s peli on online." #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "Pyydä jatkoa" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "Tutki lykättyä peliä" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Keskustelu" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Voitto" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Tasapeli" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Häviö" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "Paras" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "FICS:ssa, sinun \"Wild\" ranking sisältää kaikki seuraavat variantit kaikilla peliajoilla:\n" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "Sanktiot" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Sähköposti" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Käytetty" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "yhteensä online" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Yhdistetään" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "Finger" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Peliä käynnissä: %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "Arvioi" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "Seuraa" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Nimi" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "Status" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "Pelaajat: %d" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "Ketjutusnappi on poistettu käytöstä, koska olet kirjautunut sisään vieraana. Vieraat eivät voi luoda rankingia, ja ketjutusnapin tilalla ei ole vaikutusta, kun ei ole mihin rankingia verrata vastustajan vahvuuslukua" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Haaste:" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "Valittuna voit kieltäytyä pelaajien hyväksymistä haasteistasi" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "Tämä valinta ei ole käytettävissä, koska olet haastamassa pelaajaa" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Muokaa hakua:" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "%(minutes)d min + %(gain)d s/siirto" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Ohjekirja" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "Mikä tahansa vahvuus" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "Et voi pelata rankattuja pelejä, koska olet kirjautunut sisään vieraana." #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "Et voi pelata pisteytettyjä pelejä, koska \"Ei aikarajoitusta\" on valittuna," #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "ja FICS:ssä aikarajoittamia pelejä ei voi pisteyttää" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "Tämä valinta ei saatavilla, koska haastat vierasta," #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "ja vieraat eivät voi pelata rankattuja pelejä" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "Et voi valita vaihtoehtoa, koska \"Ei aikarajoitusta\" on valittuna," #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "ja FICS:ssä aikarajoittamattomissa peleissä tulee olla normaalit sakkisäännöt" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "Muutoksen toleranssi" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "min" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "Mahdollisten tulosten vaikutus rankingiin" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "Voitto:" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "Tasapeli:" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "Häviö:" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "Uusi rankingpoikkeama" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Aktiiviset haut: %d" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "haluaisi jatkaa sinun lykättyä %(time)s %(gametype)s peliä." #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "haastaa sinut %(time)s %(rated)s %(gametype)s peliin." #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr ", missä %(player)s plays %(color)s." #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "Sinun pitää asettaa kibitz päälle nähdäksesi botin viestit täällä." #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "Maksimissaan 3 hakua samalla kertaa. Jos haluat tehdä uuden haun, sinun täytyy tyhjentää aktiiviset haut. Tyhjennä haut?" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "Et voi koskea tähän! Olet tutkimassa peliä." #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "on kieltänyt ehdotuksesi uusintaotteluun" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "sensoroi sinua" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "musta lista" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "käyttää kaavaa, joka ei sovi otteluvaatimuksiisi:" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "hyväksy manuaalisesti" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "hyväksy automaattisesti" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "rankingin vaihteluväli nyt" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "Haku päivitetty" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "Hakusi on poistettu" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "on saapunut" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "on lähtenyt" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "on läsnä" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Havaitse tyyppi automaattisesti" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "Virhe ladattaessa peliä" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Tallenna peli" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "Vie asema" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Tuntematon tiedostotyyppi '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr " '%(uri)s' ei pystytty tallentamaan, koska PyChess ei tunnista formaattia '%(ending)s'." #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Tiedosta ei pysty tallentamaan '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "Sinulla ei ole tarvittavia oikeuksia tallentaa tiedostoa.\nVarmista, että olet antanut oikean polun ja yritä uudelleen." #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Korvaa" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Tiedosto on olemassa" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Tiedosto nimeltä '%s' on jo olemassa. Haluatko korvata sen?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "Tiedosto on jo olemassa paikassa '%s'. Jos haluat korvata sen, sen sisältö päällekirjoitetaan. " #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Tiedostoa ei pystytty tallentamaan" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess ei pystynyt tallentamaan peliä" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "Virhe: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "%d peli olemassa, jossa on tallentamattomia siirtoja." msgstr[1] "%d peliä olemassa, joissa on tallentamattomia siirtoja." #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "Tallenna siirrot ennen sulkemista?" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "vs." #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "_Tallenna %d dokumentti" msgstr[1] "_Tallenna %d dokumentit" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "Tallenna nykyinen peli ennen sulkemista?" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "Määritettyyn tiedostoon ei pysty tallentamaan. Tallenna nykyinen peli ennen sulkemista?" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Peliä ei pysty jatkamaan myöhemmin,\njos et tallenna sitä." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Kaikki shakkitiedostot" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "Kommentointi" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "Kommentoitu peli" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "Lisää avauskommentti" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "Lisää kommentti" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "Muokkaa kommenttia" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "Pakotettu siirto" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "Lisää siirtomerkki" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "Epäselvä asema" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "Siirtopakko" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "Aloite" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "Valkean hyökkäys" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "Kompensaatio" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "Vastapeli" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "Aikapula" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "Lisää arviointisymboli" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "kierros %s" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "Vihjeet" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "Vihjeet-näytössä esitetään tietokoneen neuvoja kussakin pelin vaiheessa." #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Virallinen PyChess ikkuna." #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Avauskirja" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "Avauskirja yrittää inspiroida sinua pelin avauksessa näyttämällä shakkimestareiden tekemiä yleisiä siirtoja" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "%s analyysi" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "%s yrittää ennustaa, mikä siirto on paras ja kummalla on etu" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "%s:n uhka-analyysi" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "%s tunnistaa vastustajan siirtovuorolla olevat uhat" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "Laskee..." #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "Moottorin arvot ovat yksikkönä sotilas valkean puolelta katsottuna. Kaksoisklikkaamalla analyysirivejä voit laittaa ne Kommentti-ikkunaan muunnelmina." #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "Ehdotuksien lisääminen voi auttaa sinua löytämään ideoita, mutta hidastaa tietokoneen analyysiä." #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "Loppupelitaulukko" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "Loppupelitaulukko näyttää tarkan analyysin, kun laudalla on vähän nappuloita." #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "Matti %d siirrossa" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "Tässä asemassa,\nei ole laillisia siirtoja." #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "Keskusteluikkunassa voit keskustella vastustajan kanssa pelin aikana, mikäli hän on kiinnostunut keskustelemaan" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Kommentit" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "Kommentti-ikkunassa pyritään analysoimaan sanallisesti tehtyjä siirtoja." #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Alkuasema" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "%(color)s siirtää %(piece)s %(cord)s" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "Shakkimoottorit" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "Moottorin tulostusikkuna näyttää shakkimoottoreiden (tietokonepelaajien) miettimät siirrot pelin aikana" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "Yhtään shakkimoottoria (tietokonepelaajia) ei osallistu tähän peliin." #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Siirtohistoria" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "Siirtoikkuna esittää pelaajien siirrot ja mahdollistaa koko pelin siirtojen ja peliasemien valinnan" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Arvot" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "Arvoikkunassa arvioidaan peliasemien arvot ja esitetään arvojen muutos graafisesti" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/id/0000755000175000017500000000000013467766037013576 5ustar varunvarunpychess-1.0.0/lang/id/LC_MESSAGES/0000755000175000017500000000000013467766037015363 5ustar varunvarunpychess-1.0.0/lang/id/LC_MESSAGES/pychess.mo0000644000175000017500000003136013467766036017400 0ustar varunvarun ( ?`'~#$,FQU&7*(1 Zf v* K%JOp-$6#JEnA&-;K     ):Phq   io   RS&r$D /9 K W bo        '1 ANPUj y #  1@V \g5m93T#x ': BP Vah ~!     +1%7 ] i t     +/5 =H"N+qgJ!j!!!'!!!!"0"M"a" "K"!"9"36#2j# ####,#$!$1;$Xm$!$a$0J%#{%D%%G&JH&)&1&B&2'E'I'Q' W'b'i'x' ' '''' ''''((1(7( G( U(_(n( =)H)\)m))) ) )f)g*)**'*L*.+0+5+ H+S+ n+ y+++++++++ +++,$,4,E,Y,j,y,, ,,,,, ,,#,--- -!-'-.-@-H-Q-b-|------- -3-50.2f..W.//5/M/f/ l/x/// // /// / 00$+0!P0r0z000 0 00 00 0 004021B1 R1`1g1w1 11 1111C1/2 I2S2 Z2f2"l2+22222~e#+:mnO ]%[Fq7>(^kpx8!N Y`iGryAT _MJUs =z$<DVt Q.I&3/Ej?u}S9{cR1;obL*|vw"4f5-'H6\WKC)a2P@0XlZdhBg,%(black)s won the game%(white)s won the game%s was declined by your opponent'%s' is not a registered namePromote pawn to what?AnalyzingAnimationEnter Game NotationName of _first human player:Name of s_econd human player:Play Sound When...PlayersA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedPyChess was not able to save the gameUnable to save file '%s'Unknown file type '%s'About ChessAll Chess FilesAsk to _MoveAuto Call _FlagAuto _rotate board to current human playerBBecause %(mover)s stalematedBecause a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both players agreed to a drawBecause both players agreed to abort the game. No rating changes have occurred.Because both players agreed to an adjournmentBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause of adjudication by an admin. No rating changes have occurred.Because of courtesy by a player. No rating changes have occurred.Because the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBecause the server was shut downBeepBishopBlackBlack ELO:Black:BlitzChess GameChess PositionChess clientClockClose _without SavingCommentsConnectingConnection ErrorConnection was closedCould not save the fileDatabaseDetect type automaticallyEmailEnter GameEvent:ExternalsFile existsFor each player, the statistics provide the probability to win the game and the variation of your ELO if you lose / end into a tie / win, or simply the final ELO rating changeGain:Game informationGame is _drawn:Game is _lost:Game is _won:GuestHow to PlayHuman BeingIf set, clicking on main application window closer first time it closes all games.If set, this hides the tab in the top of the playing window, when it is not needed.Import annotated games from endgame.nlImport chessfileImport games from theweekinchess.comIt is not possible later to continue the game, if you don't save it.KKnightLeave _FullscreenLightningLoad _Recent GameLocal EventLocal SiteLog on ErrorLog on as _GuestMinutes:Move HistoryNNameNew GameNew _DatabaseNo soundNormalObserved _ends:Offer Ad_journmentOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOpen GameOpen Sound FileOpening BookPPingPlay _Internet ChessPlayer _RatingPreferencesPromotionPyChess - Connect to Internet ChessQQueenRR_esignRatedRatingRating change:RookRound:Save GameSave Game _AsSave database asScoreSelect sound file...Setup PositionSimple Chess PositionSite:Sp_y arrowSpentThe connection was broken - got "end of file" messageThe displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedTimeTip of the DayTranslate PyChessTypeUnable to accept %sUnknownUnknown game stateUnratedUse _analyzerWhiteWhite ELO:White:You sent a draw offerYour opponent asks you to hurry!Your opponent is not out of time._Accept_Actions_Analyze Game_Call Flag_Copy FEN_Copy PGN_Edit_Engines_Export Position_Fullscreen_Game_Help_Hide tabs when only one game is open_Hint arrow_Load Game_Log Viewer_Name:_New Game_Observed moves:_Password:_Replace_Rotate Board_Save Game_Show Sidepanels_Start Game_Use main app closer [x] to close all games_Use sounds in PyChess_Viewcastlesdefends %sdrawshttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessmatesonline in totalpromotes a Pawn to a %sputs opponent in checkProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Indonesian (http://www.transifex.com/gbtami/pychess/language/id/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: id Plural-Forms: nplurals=1; plural=0; %(black)s memenangkan permainan%(white)s memenangkan permainan%s ditolak oleh musuh Anda'%s' bukan nama yang terdaftarNaikkan pion menjadi?MenganalisaAnimasiMasukkan Catatan PermainanNama _pemain pertama:Nama _pemain kedua:Mainkan Suara Ketika...PemainNama berkas '%s' sudah ada. apakah anda ingin menimpanya?Mesin, %s, matiPyChess tidak dapat menyimpan permainanTidak dapat menyimpan berkas '%s'Tipe berkas tidak diketahui '%s'Tentang CaturSemua Berkas CaturMeminta _BergerakPanggil _Bendera Otomatis_Rotasi papan otomatis untuk pemain saat iniBKarena %(mover)s telah dikalahkanKarena seorang pemain kehilangan koneksi internetKarena seorang pemain kehilangan koneksi internet dan pemain lain mengajukan untuk rehatKarena kedua pemain setuju imbangKarena kedua pemain setuju untuk mengakhiri permainan. Tidak ada perubahan rating yang diberikan.Karena kedua pemain setuju untuk melakukan rehatKarena kedua pemain kehabisan waktuKarena tidak ada pemain yang memiliki material cukup untuk checkmateKarena keputusan oleh adminKarena keputusan oleh admin. Tidak ada perubahan rating yang diberikan.Karena kebaikan seorang pemain. Tidak ada perubahan rating yang diberikan.Karena permainan melebihi jangka maksimumKarena 50 pergerakan terakhir tidak ada yang baruKarena posisi yang sama berulang sebanyak tiga kali berturut-turutKarena server matiBipMentariHitamELO Hitam:Hitam:Serangan kilatPermainan CaturPosisi CaturKlien caturJamTutup _tanpa MenyimpanKomentarMenyambungkanGalat SambunganSambungan ditutupTidak dapat menyimpan berkasDatabaseDeteksi tipe otomatisEmailMasuk PermainanPertandingan:EksternalFile sudah adaUntung masing-masing pemain, statistik memberikan kemungkinan untuk kemenangan sebuah permainan dan variasi dari ELO jika anda mengalami kekalahan / imbang / menang, atau secara sederhana rating ELO berubahPerolehan:Informasi permainanPermainan _seri:Permainan _kalah:Permainan _menang:TamuCara BermainKemanusiaanJika diatur, mengklik pada penutup jendela aplikasi utama pertama kali akan menutup seluruh permainan.Jika diatur, ini akan menyembunyikan tab pada bagian atas jendela permainan, bilamana tidak dibutuhkan.Impor permainan bernotasi dari endgame.nlImpor chessfileImpor permainan dari theweekinchess.comTidak akan mungkin akan melanjutkan permainan, jika Anda tidak menyimapnnya.KKudaTutup _Layar PenuhHalilintarMemuat _Permainan TerakhirEven LokalSitus LokalGalat Log masukLog masuk sebagai _TamuMenit:Riwayat PergerakanNNamaPermainan BaruDatabase _BaruTanpa SuaraBiasaPengamatan _berakhir:Tawarkan _TundaTawarkan _GugurTawarkan _ImbangTawarkan _IstirahatTawarkan _LanjutTawarkan _UndoBuka PermainanBuka Berkas SuaraMembuka BukuPPingBermain _Catur Online_Penilaian PemainPreferensiKenaikanPyChess - Sambung ke Catur InternetQRatuR_BerhentiNilaiRatingPerubahan Rating:BentengPutaran:Simpan PermainanSimpan Permainan _SebagaiSimpan database sebagaiNilaiPilih berkas suara...Menyusun PosisiPosisi Catur SederhanaSitus:Panah _MengintaiMenghabiskanSambungan terputus - didapatkan pesan "end of file"Nama yang tercantum dari pemain pertama, contoh John.Nama yang tercantum dari pemain tamu, contoh Mary.Kesalahan di: %sNama berkas '%s' sudah ada. Bila Anda menimpanya, isinya akan diganti dengan yang baru.Permainan berakhir seriPermainan telah dibatalkanPermainan telah ditundaPermainan telah diakhiriWaktuTips HarianTerjemahkan PyChessJenisTidak dapat disetujui %sTidak DikenalPosisi permainan tidak dikenalBelum dinilaiGunakan _analyzerPutihELO Putih:Putih:Anda mengirim tawaran seriMusuh Anda meminta anda lebih cepat!Musuh Anda belum kehabisan waktu.Terim_a_Aksi_Analisa Permainan_Panggil Bendera_Salin FEN_Salin PGN_Edit_Mesin Catur_Ekspor Posisi_Layar Penuh_Permainan_Bantuan_Sembunyikan tab ketika hanya satu permainan terbuka_Petunjuk Panah_Muat PermainanPenampil _Log_Nama:_Permainan BaruPerpindahan _diamati:Kata _Laluan:_Ganti_Putar Papan_Simpan Permainan_Tampilkan Panel Samping_Mulai Permainan_Gunakan penutup aplikasi utama [x] untuk menutup seluruh permainanG_unakan suara di PyChess_TampilanKastilbertahan %sremishttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessmattotal tersambungpromosikan Pion menjadi %sskakpychess-1.0.0/lang/id/LC_MESSAGES/pychess.po0000644000175000017500000044207613455542747017413 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2008 # Muhammad K Huda , 2018 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Indonesian (http://www.transifex.com/gbtami/pychess/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Permainan" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Permainan Baru" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Bermain _Catur Online" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Muat Permainan" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Memuat _Permainan Terakhir" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Simpan Permainan" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Simpan Permainan _Sebagai" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "_Ekspor Posisi" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "_Penilaian Pemain" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "_Analisa Permainan" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Edit" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_Salin PGN" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "_Salin FEN" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "_Mesin Catur" #: glade/PyChess.glade:518 msgid "Externals" msgstr "Eksternal" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Aksi" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Tawarkan _Gugur" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Tawarkan _Tunda" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Tawarkan _Imbang" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Tawarkan _Istirahat" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Tawarkan _Lanjut" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Tawarkan _Undo" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Panggil Bendera" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "_Berhenti" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Meminta _Bergerak" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "Panggil _Bendera Otomatis" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Tampilan" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Putar Papan" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Layar Penuh" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Tutup _Layar Penuh" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "_Tampilkan Panel Samping" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "Penampil _Log" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "_Petunjuk Panah" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "Panah _Mengintai" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "Database" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "Database _Baru" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "Simpan database sebagai" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "Impor chessfile" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "Impor permainan bernotasi dari endgame.nl" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "Impor permainan dari theweekinchess.com" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Bantuan" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Tentang Catur" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Cara Bermain" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Terjemahkan PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Tips Harian" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Klien catur" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Preferensi" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "Nama yang tercantum dari pemain pertama, contoh John." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Nama _pemain pertama:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "Nama yang tercantum dari pemain tamu, contoh Mary." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Nama _pemain kedua:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Sembunyikan tab ketika hanya satu permainan terbuka" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Jika diatur, ini akan menyembunyikan tab pada bagian atas jendela permainan, bilamana tidak dibutuhkan." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "_Gunakan penutup aplikasi utama [x] untuk menutup seluruh permainan" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "Jika diatur, mengklik pada penutup jendela aplikasi utama pertama kali akan menutup seluruh permainan." #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "_Rotasi papan otomatis untuk pemain saat ini" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animasi" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Gunakan _analyzer" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Menganalisa" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "G_unakan suara di PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Permainan _seri:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Permainan _kalah:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Permainan _menang:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "Perpindahan _diamati:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "Pengamatan _berakhir:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Mainkan Suara Ketika..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Kenaikan" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Ratu" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Benteng" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Mentari" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Kuda" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Naikkan pion menjadi?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Informasi permainan" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Situs:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "Perubahan Rating:" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "Untung masing-masing pemain, statistik memberikan kemungkinan untuk kemenangan sebuah permainan dan variasi dari ELO jika anda mengalami kekalahan / imbang / menang, atau secara sederhana rating ELO berubah" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "ELO Hitam:" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Hitam:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Putaran:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "ELO Putih:" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Putih:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Pertandingan:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Putih" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Hitam" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Sambung ke Catur Internet" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "Kata _Laluan:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Nama:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Log masuk sebagai _Tamu" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "Terim_a" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Serangan kilat" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Halilintar" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Rating" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Waktu" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Tamu" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Permainan Baru" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Mulai Permainan" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Pemain" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Masukkan Catatan Permainan" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Tutup _tanpa Menyimpan" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://en.wikipedia.org/wiki/Chess" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://en.wikipedia.org/wiki/Rules_of_chess" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Buka Permainan" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Musuh Anda belum kehabisan waktu." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Musuh Anda meminta anda lebih cepat!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "%s ditolak oleh musuh Anda" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "Tidak dapat disetujui %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Posisi Catur" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Tidak Dikenal" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Posisi Catur Sederhana" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Permainan Catur" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Even Lokal" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Situs Lokal" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "N" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "B" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "R" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "Q" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "K" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Permainan berakhir seri" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s memenangkan permainan" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s memenangkan permainan" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "Permainan telah diakhiri" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Permainan telah ditunda" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Permainan telah dibatalkan" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "Posisi permainan tidak dikenal" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "Karena tidak ada pemain yang memiliki material cukup untuk checkmate" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "Karena posisi yang sama berulang sebanyak tiga kali berturut-turut" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "Karena 50 pergerakan terakhir tidak ada yang baru" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Karena kedua pemain kehabisan waktu" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "Karena %(mover)s telah dikalahkan" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "Karena kedua pemain setuju imbang" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "Karena keputusan oleh admin" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "Karena permainan melebihi jangka maksimum" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "Karena seorang pemain kehilangan koneksi internet" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "Karena kedua pemain setuju untuk melakukan rehat" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "Karena server mati" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "Karena seorang pemain kehilangan koneksi internet dan pemain lain mengajukan untuk rehat" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "Karena keputusan oleh admin. Tidak ada perubahan rating yang diberikan." #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "Karena kedua pemain setuju untuk mengakhiri permainan. Tidak ada perubahan rating yang diberikan." #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "Karena kebaikan seorang pemain. Tidak ada perubahan rating yang diberikan." #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Biasa" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "Sambungan terputus - didapatkan pesan \"end of file\"" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' bukan nama yang terdaftar" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Belum dinilai" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Nilai" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Galat Sambungan" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Galat Log masuk" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Sambungan ditutup" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Anda mengirim tawaran seri" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Mesin, %s, mati" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Kemanusiaan" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Menit:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Perolehan:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Menyusun Posisi" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Masuk Permainan" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Buka Berkas Suara" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Tanpa Suara" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Bip" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Pilih berkas suara..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "remis" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "mat" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "skak" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "promosikan Pion menjadi %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "Kastil" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "bertahan %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Jam" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Jenis" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Email" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Menghabiskan" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "total tersambung" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Menyambungkan" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Nama" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Deteksi tipe otomatis" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Simpan Permainan" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Tipe berkas tidak diketahui '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Tidak dapat menyimpan berkas '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Ganti" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "File sudah ada" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Nama berkas '%s' sudah ada. apakah anda ingin menimpanya?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "Nama berkas '%s' sudah ada. Bila Anda menimpanya, isinya akan diganti dengan yang baru." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Tidak dapat menyimpan berkas" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess tidak dapat menyimpan permainan" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "Kesalahan di: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Tidak akan mungkin akan melanjutkan permainan,\njika Anda tidak menyimapnnya." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Semua Berkas Catur" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Membuka Buku" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Komentar" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Riwayat Pergerakan" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Nilai" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/ko/0000755000175000017500000000000013467766037013613 5ustar varunvarunpychess-1.0.0/lang/ko/LC_MESSAGES/0000755000175000017500000000000013467766037015400 5ustar varunvarunpychess-1.0.0/lang/ko/LC_MESSAGES/pychess.mo0000644000175000017500000004415513467766035017422 0ustar varunvarun< pq0' 5L#h$,>Xk}     )3;A U_*g   *2:AGOV]c j   ( 0;DM T^m  & 3 ; H Q \ e {          A !3!> 2>?> X> b>l> |>>>>>>>>?9? I?W?r??? ?? ? ??c? L@W@r@y@T@@@ A'A.A 5ACA GAQApAAA AA A A)AB B%B,BAB EBPBcB}BB%B BBBBCC0Co8C/C C C CC@D9AD{D,DD D DDDD EE"E;E ?ELEPEYE^EsEZE E EEF"F 1F G G G0GCHUH\HyWwp;61_7urf+D<0xn bNOK$6-'*]H q7j1Lt!Y^  &  A@5[$%(Eo8a ,|0dXM3mJ<-! " &Q)Us9.{>(/*P"#+}/'k #lI8,\;SB2z)=VZiTvG:R9hF5 `4~:?4%23.ceg C%(black)s won the game%(white)s won the gameConnect to Online Chess ServerPromote pawn to what?AnalyzingAnimationEnter Game NotationGeneral OptionsInstalled SidepanelsName of _first human player:Name of s_econd human player:Open databaseOpening, endgameOptionsPlay Sound When...PlayersWelcome screenYour Color_Connect to server_Start GameA player _checks:A player _moves:A player c_aptures:AbortAbout ChessAc_tiveAfghanistanAlbaniaAlgeriaAmerican SamoaAndorraAngolaAnguillaAnnotationAntarcticaAntigua and BarbudaArgentinaArmeniaArubaAsk for permissionsAustraliaAustriaAuto _rotate board to current human playerAuto login on startupAzerbaijanBackround image path :BahamasBahrainBangladeshBarbadosBecause %(loser)s resignedBecause %(loser)s was checkmatedBelarusBelgiumBelizeBeninBermudaBhutanBishopBlackBlack:Bolivia (Plurinational State of)Bonaire, Sint Eustatius and SabaBosnia and HerzegovinaBotswanaBouvet IslandBrazilBritish Indian Ocean TerritoryBrunei DarussalamBulgariaBurkina FasoBurundiCabo VerdeCambodiaCameroonCanadaCategory:Cayman IslandsCentral African RepublicChatChess clientChileChinaChristmas IslandClose _without SavingCocos (Keeling) IslandsColombiaCommand:Comment:ComorosCongoCongo (the Democratic Republic of the)ConsoleCook IslandsCopy FENCosta RicaCountry:Create a new databaseCroatiaCubaCuraçaoCyprusCzechiaCôte d'IvoireDark Squares :DatabaseDenmarkDjiboutiDo you really want to restore the default options of the engine ?Do you want to abort it?DominicaDominican RepublicDon't show this dialog on startup.EcuadorEgyptEnginesEngines use uci or xboard communication protocol to talk to the GUI. If it can use both you can set here which one you like.EnvironmentEquatorial GuineaEritreaEstoniaEthiopiaEvent:Executable filesFace _to Face display modeFalkland Islands [Malvinas]Faroe IslandsFijiFinlandFont:FranceFree comment about the engineFrench GuianaGabonGain:GambiaGame ListGame analyzing in progress...Game informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:GeorgiaGermanyGhanaGibraltarGreeceGreenlandGrenadaGridGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiHeard Island and McDonald IslandsHondurasHong KongHow to PlayHuman BeingHungaryIcelandIf set, pawn promotes to queen without promotion dialog selection.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the captured figurines will be shown next to the board.IndiaIndonesiaInfoIran (Islamic Republic of)IraqIrelandIsle of ManIsraelItalyJamaicaJapanJerseyJordanKazakhstanKenyaKiribatiKnightKorea (the Democratic People's Republic of)Korea (the Republic of)KuwaitKyrgyzstanLao People's Democratic RepublicLatviaLeave _FullscreenLebanonLesothoLiberiaLibyaLiechtensteinLight Squares :List of ongoing gamesList of playersList of server newsLithuaniaLoad _Recent GameLog on as _GuestLuxembourgManage enginesMaximum analysis time in seconds:Micronesia (Federated States of)Minutes:Moldova (the Republic of)MonacoMontenegroMoroccoMove HistoryNames: #n1, #n2Never use animation. Use this on slow machines.New GameNew _DatabaseNewsNo _animationNo chess engines (computer players) are participating in this game.Offer _DrawOnly animate _movesOpen GameOptionOptionsParameters:PawnPlay RematchPlay _Internet ChessPlayer ListPlayer _RatingPolyglot book file:PreferencesPreferred level:PromotionProtocol:PyChess - Connect to Internet ChessQueenR_esignRatingRestore the default optionsRookRound:Saint BarthélemySaint Kitts and NevisSaint LuciaSaveSave Game _AsSend seekServer:Sho_w cordsShow _captured piecesShow tips at startupSide_panelsSite:Some of PyChess features needs your permission to download external programsSouth Georgia and the South Sandwich IslandsSpainSri LankaSwitzerlandTalkingThe displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.ThemesThere is something wrong with this executableTimeTip Of The dayTip of the DayTranslate PyChessUninstallUnited Arab EmiratesUnited Kingdom of Great Britain and Northern IrelandUnknownUse opening _bookValueWestern SaharaWhiteWhite ELO:White:Working directory:Year, month, day: #y, #m, #dYou have unsaved changes. Do you want to save before leaving?_Accept_Actions_Call Flag_Copy FEN_Copy PGN_Edit_Engines_Fullscreen_Game_General_Help_Hide tabs when only one game is open_Hints_Invalid move:_Load Game_Log Viewer_Name:_New Game_Opponent:_Password:_Rotate Board_Save Game_Show Sidepanels_Start Game_Use main app closer [x] to close all games_View_Your Color:http://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessresignÅland IslandsProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Korean (http://www.transifex.com/gbtami/pychess/language/ko/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: ko Plural-Forms: nplurals=1; plural=0; %(black)s이(가) 게임을 이겼습니다.%(white)s이(가) 게임을 이겼습니다.온라인 체스 서버에 연결폰을 무엇으로 승급시키겠습니까?분석애니메이션게임 기록 보기일반 옵션설치된 패널첫 번째 사람 플레이어 이름(_F):두 번째 사람 플레이어 이름(_E):데이터베이스 열기오프닝, 엔드게임옵션소리를 재생할 시점...플레이어시작 화면내 색서버에 연결(_C)게임 시작(_S)체크 상태일 때(_C):이동할 때(_M):말을 잡을 때(_A):중단체스 소개활성화(_T)아프가니스탄알바니아알제리아메리칸사모아안도라앙골라앵귈라주석남극앤티가 바부다아르헨티나아르메니아아루바권한 요청오스트레일리아오스트리아현재 사람 플레이어로 보드 자동 회전(_R)시작 시 자동 로그인아제르바이잔배경 이미지 위치 :바하마바레인방글라데시바베이도스%(loser)s이(가) 항복했습니다.%(loser)s이(가) 체크메이트가 되었습니다.벨라루스벨기에벨리즈베냉버뮤다부탄비숍흑흑:볼리비아 다민족국보네르, 신트외스타티위스 및 사바보스니아 헤르체고비나보츠와나부베섬브라질영국령 인도양 지역브루나이 다루살람불가리아부르키나파소부룬디카보베르데캄보디아카메룬캐나다분류:케이맨 제도중앙아프리카 공화국채팅체스 클라이언트칠레중국크리스마스섬저장하지 않고 닫기(_W)코코스 제도콜롬비아명령:코멘트:코모로콩고콩고 민주 공화국콘솔쿡 제도FEN 복사코스타리카국가:새 데이터베이스 만들기크로아티아쿠바퀴라소키프로스체코코트디부아르어두운 색 칸 :데이터베이스덴마크지부티엔진 기본 옵션으로 되돌리시겠습니까?중단하시겠습니까?도미니카도미니카 공화국시작 시 이 대화상자 보이지 않기에콰도르이집트엔진엔진은 uci 또는 xboard 통신 프로토콜을 사용하여 GUI와 연결됩니다. 엔진이 두 가지를 모두 지원한다면 원하는 것을 설정할 수 있습니다.환경적도 기니에리트레아에스토니아에티오피아이벤트:실행 파일마주보기 모드(_T)포클랜드 제도페로 제도피지핀란드글꼴:프랑스엔진에 대한 자유로운 코멘트프랑스령 기아나가봉획득:감비아게임 목록게임 분석 진행 중...게임 정보게임이 무승부일 때(_D)게임에 패배했을 때(_L):게임이 준비됐을 때(_S):게임에 승리했을 때(_W)조지아독일가나지브롤터그리스그린란드그레나다격자과들루프괌과테말라건지섬기니기니비사우가이아나아이티허드 맥도널드 제도온두라스홍콩게임 방법사람헝가리아이슬란드설정하면 폰은 프로모션 종류 선택 대화 상자 없이 퀸으로 승급합니다.설정하면 검은색 말이 아래를 향합니다. 모바일 기기에서 친구와 대전할 때 적합합니다.설정하면 잡힌 말이 보드 옆에 표시됩니다.인도인도네시아정보이란 이슬람 공화국이라크아일랜드맨섬이스라엘이탈리아자메이카일본저지섬요르단카자흐스탄케냐키리바시나이트조선민주주의인민공화국대한민국쿠웨이트키르기스스탄라오인민민주공화국라트비아전체 화면 종료(_F)레바논레소토라이베리아리비아리히텐슈타인밝은 색 칸 :진행 중인 게임 목록플레이어 목록서버 소식 목록리투아니아최근 게임 불러오기(_R)손님으로 로그온(_G)룩셈부르크엔진 관리최대 분석 시간(초):미크로네시아 연방분:몰도바 공화국모나코몬테네그로모로코이동 기록이름: #n1, #n2애니메이션을 사용하지 않습니다. 느린 기기에서만 이 옵션을 사용하세요.새 게임새 데이터베이스(_D)소식애니메이션 없음(_A)이 게임에는 체스 엔진(컴퓨터 플레이어)이 참여하지 않습니다.비김 제의(_D)이동 애니메이션만(_M)게임 열기옵션옵션매개변수:폰재경기인터넷 체스 플레이(_I)플레이어 목록선수 등급 매기기(_R)Polyglot 북 파일:기본 설정선호 레벨:프로모션프로토콜파이체스 - 인터넷 체스에 연결퀸항복(_R)점수기본 옵션 복원룩라운드:생바르텔레미세인트키츠 네비스세인트루시아저장다른 이름으로 게임 저장(_A)탐색 보냄서버:보드 번호 표시(_W)잡힌 말 표시(_C)시작할 때 팁 보이기측면 패널(_P)장소:PyChess의 일부 기능을 위해 외부 프로그램을 다운로드할 수 있는 권한이 필요합니다.사우스조지아 사우스샌드위치 제도스페인스리랑카스위스대화첫번째 사람 플레이어의 표시되는 이름(예: John).게스트 플레이어의 표시되는 이름(예: Mary).테마이 실행 파일에 문제가 있습니다.시간오늘의 팁오늘의 팁PyChess 번역하기제거아랍 에미리트 연합국영국알 수 없음오프닝 북 사용(_B)값서사하라백백 ELO:백:작업 디렉터리:년, 월, 일: #y, #m, #d저장하지 않은 변경 사항이 있습니다. 닫기 전에 저장하시겠습니까?허용(_A)동작(_A)차례 넘기기(_C)FEN 복사(_C)PGN 복사(_C)편집(_E)엔진(_E)전체 화면(_F)게임(_G)일반(_G)도움말(_H)게임이 하나만 열려있을 때 탭 숨기기(_H)힌트잘못된 움직임(_I):게임 불러오기(_L)로그 보기(_L)이름(_N):새 게임(_N)상대방(_O):암호(_P):체스판 회전(_R)게임 저장(_S)측면 패널 보이기(_S)게임 시작(_S)메인 앱의 닫기 버튼 [x]으로 모든 게임 닫기(_U)보기(_V)내 색(_Y):https://ko.wikipedia.org/wiki/%EC%B2%B4%EC%8A%A4https://ko.wikipedia.org/wiki/%EC%B2%B4%EC%8A%A4_%EA%B7%9C%EC%B9%99항복올란드 제도pychess-1.0.0/lang/ko/LC_MESSAGES/pychess.po0000644000175000017500000044536613455542723017427 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2008 # 김준혁 , 2016 # 김준혁 , 2016,2018-2019 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Korean (http://www.transifex.com/gbtami/pychess/language/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ko\n" "Plural-Forms: nplurals=1; plural=0;\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "게임(_G)" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "새 게임(_N)" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "인터넷 체스 플레이(_I)" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "게임 불러오기(_L)" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "최근 게임 불러오기(_R)" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "게임 저장(_S)" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "다른 이름으로 게임 저장(_A)" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "선수 등급 매기기(_R)" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "편집(_E)" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "PGN 복사(_C)" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "FEN 복사(_C)" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "엔진(_E)" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "동작(_A)" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "비김 제의(_D)" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "차례 넘기기(_C)" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "항복(_R)" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "보기(_V)" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "체스판 회전(_R)" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "전체 화면(_F)" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "전체 화면 종료(_F)" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "측면 패널 보이기(_S)" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "로그 보기(_L)" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "데이터베이스" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "새 데이터베이스(_D)" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "도움말(_H)" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "체스 소개" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "게임 방법" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "PyChess 번역하기" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "오늘의 팁" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "체스 클라이언트" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "기본 설정" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "첫번째 사람 플레이어의 표시되는 이름(예: John)." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "첫 번째 사람 플레이어 이름(_F):" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "게스트 플레이어의 표시되는 이름(예: Mary)." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "두 번째 사람 플레이어 이름(_E):" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "게임이 하나만 열려있을 때 탭 숨기기(_H)" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "메인 앱의 닫기 버튼 [x]으로 모든 게임 닫기(_U)" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "현재 사람 플레이어로 보드 자동 회전(_R)" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "설정하면 폰은 프로모션 종류 선택 대화 상자 없이 퀸으로 승급합니다." #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "마주보기 모드(_T)" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "설정하면 검은색 말이 아래를 향합니다. 모바일 기기에서 친구와 대전할 때 적합합니다." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "잡힌 말 표시(_C)" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "설정하면 잡힌 말이 보드 옆에 표시됩니다." #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "일반 옵션" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "이동 애니메이션만(_M)" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "애니메이션 없음(_A)" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "애니메이션을 사용하지 않습니다. 느린 기기에서만 이 옵션을 사용하세요." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "애니메이션" #: glade/PyChess.glade:1527 msgid "_General" msgstr "일반(_G)" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "오프닝 북 사용(_B)" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "Polyglot 북 파일:" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "오프닝, 엔드게임" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "최대 분석 시간(초):" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "분석" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "힌트" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "제거" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "활성화(_T)" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "설치된 패널" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "측면 패널(_P)" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "배경 이미지 위치 :" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "시작 화면" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "밝은 색 칸 :" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "격자" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "어두운 색 칸 :" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "보드 번호 표시(_W)" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "글꼴:" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "테마" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "체크 상태일 때(_C):" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "이동할 때(_M):" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "게임이 무승부일 때(_D)" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "게임에 패배했을 때(_L):" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "게임에 승리했을 때(_W)" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "말을 잡을 때(_A):" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "게임이 준비됐을 때(_S):" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "잘못된 움직임(_I):" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "소리를 재생할 시점..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "이름: #n1, #n2" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "년, 월, 일: #y, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "저장" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "프로모션" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "퀸" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "룩" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "비숍" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "나이트" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "폰을 무엇으로 승급시키겠습니까?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "게임 정보" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "장소:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "흑:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "라운드:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "백 ELO:" #: glade/PyChess.glade:4780 msgid "White:" msgstr "백:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "이벤트:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "엔진 관리" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "명령:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "프로토콜" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "매개변수:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "엔진은 uci 또는 xboard 통신 프로토콜을 사용하여 GUI와 연결됩니다.\n엔진이 두 가지를 모두 지원한다면 원하는 것을 설정할 수 있습니다." #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "작업 디렉터리:" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "국가:" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "코멘트:" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "엔진에 대한 자유로운 코멘트" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "환경" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "선호 레벨:" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "기본 옵션 복원" #: glade/PyChess.glade:5538 msgid "Options" msgstr "옵션" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "백" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "흑" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "파이체스 - 인터넷 체스에 연결" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "온라인 체스 서버에 연결" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "암호(_P):" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "이름(_N):" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "손님으로 로그온(_G)" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "허용(_A)" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "탐색 보냄" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "점수" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "시간" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "내 색" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "옵션" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "새 게임" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "게임 시작(_S)" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "FEN 복사" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "플레이어" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "게임 기록 보기" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "저장하지 않고 닫기(_W)" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "상대방(_O):" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "내 색(_Y):" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "게임 시작(_S)" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "시작 시 자동 로그인" #: glade/taskers.glade:369 msgid "Server:" msgstr "서버:" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "서버에 연결(_C)" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "새 데이터베이스 만들기" #: glade/taskers.glade:609 msgid "Open database" msgstr "데이터베이스 열기" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "분류:" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "오늘의 팁" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "시작할 때 팁 보이기" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "https://ko.wikipedia.org/wiki/%EC%B2%B4%EC%8A%A4" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "https://ko.wikipedia.org/wiki/%EC%B2%B4%EC%8A%A4_%EA%B7%9C%EC%B9%99" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "게임 열기" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "항복" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "알 수 없음" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "안도라" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "아랍 에미리트 연합국" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "아프가니스탄" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "앤티가 바부다" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "앵귈라" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "알바니아" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "아르메니아" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "앙골라" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "남극" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "아르헨티나" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "아메리칸사모아" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "오스트리아" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "오스트레일리아" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "아루바" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "올란드 제도" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "아제르바이잔" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "보스니아 헤르체고비나" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "바베이도스" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "방글라데시" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "벨기에" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "부르키나파소" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "불가리아" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "바레인" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "부룬디" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "베냉" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "생바르텔레미" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "버뮤다" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "브루나이 다루살람" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "볼리비아 다민족국" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "보네르, 신트외스타티위스 및 사바" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "브라질" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "바하마" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "부탄" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "부베섬" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "보츠와나" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "벨라루스" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "벨리즈" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "캐나다" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "코코스 제도" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "콩고 민주 공화국" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "중앙아프리카 공화국" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "콩고" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "스위스" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "코트디부아르" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "쿡 제도" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "칠레" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "카메룬" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "중국" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "콜롬비아" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "코스타리카" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "쿠바" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "카보베르데" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "퀴라소" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "크리스마스섬" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "키프로스" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "체코" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "독일" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "지부티" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "덴마크" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "도미니카" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "도미니카 공화국" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "알제리" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "에콰도르" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "에스토니아" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "이집트" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "서사하라" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "에리트레아" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "스페인" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "에티오피아" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "핀란드" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "피지" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "포클랜드 제도" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "미크로네시아 연방" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "페로 제도" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "프랑스" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "가봉" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "영국" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "그레나다" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "조지아" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "프랑스령 기아나" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "건지섬" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "가나" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "지브롤터" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "그린란드" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "감비아" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "기니" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "과들루프" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "적도 기니" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "그리스" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "사우스조지아 사우스샌드위치 제도" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "과테말라" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "괌" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "기니비사우" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "가이아나" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "홍콩" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "허드 맥도널드 제도" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "온두라스" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "크로아티아" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "아이티" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "헝가리" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "인도네시아" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "아일랜드" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "이스라엘" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "맨섬" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "인도" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "영국령 인도양 지역" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "이라크" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "이란 이슬람 공화국" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "아이슬란드" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "이탈리아" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "저지섬" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "자메이카" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "요르단" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "일본" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "케냐" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "키르기스스탄" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "캄보디아" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "키리바시" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "코모로" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "세인트키츠 네비스" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "조선민주주의인민공화국" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "대한민국" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "쿠웨이트" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "케이맨 제도" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "카자흐스탄" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "라오인민민주공화국" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "레바논" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "세인트루시아" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "리히텐슈타인" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "스리랑카" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "라이베리아" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "레소토" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "리투아니아" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "룩셈부르크" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "라트비아" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "리비아" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "모로코" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "모나코" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "몰도바 공화국" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "몬테네그로" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "폰" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s이(가) 게임을 이겼습니다." #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s이(가) 게임을 이겼습니다." #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "%(loser)s이(가) 항복했습니다." #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "%(loser)s이(가) 체크메이트가 되었습니다." #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "권한 요청" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "PyChess의 일부 기능을 위해 외부 프로그램을 다운로드할 수 있는 권한이 필요합니다." #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "시작 시 이 대화상자 보이지 않기" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "게임 분석 진행 중..." #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "중단하시겠습니까?" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "중단" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "저장하지 않은 변경 사항이 있습니다. 닫기 전에 저장하시겠습니까?" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "옵션" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "값" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "실행 파일" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "이 실행 파일에 문제가 있습니다." #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "엔진 기본 옵션으로 되돌리시겠습니까?" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "재경기" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "사람" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "분:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "획득:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "대화" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "채팅" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "정보" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "콘솔" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "게임 목록" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "진행 중인 게임 목록" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "소식" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "서버 소식 목록" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "플레이어 목록" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "플레이어 목록" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "주석" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "엔진" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "이 게임에는 체스 엔진(컴퓨터 플레이어)이 참여하지 않습니다." #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "이동 기록" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/is/0000755000175000017500000000000013467766037013615 5ustar varunvarunpychess-1.0.0/lang/is/LC_MESSAGES/0000755000175000017500000000000013467766037015402 5ustar varunvarunpychess-1.0.0/lang/is/LC_MESSAGES/pychess.mo0000644000175000017500000000650513467766035017421 0ustar varunvarun9O7&*^    !/ 5A HUfo v #  -5!;]fl r }    "   2 - ? H M T \ c }          " 6 P _ i s !~      #  7 @ !H j v ~     & , $( & -%"#'1 ,+2)748!63.5 90 */%s returns an errorPlay Sound When...PlayersPyChess was not able to save the gameUnable to save file '%s'About ChessBeepBishopBlackClockClose _without SavingCommentsConnectingConnection ErrorCould not save the fileEmailFile existsGame is _lost:Game is _won:GuestHuman BeingKnightLog on ErrorLog on as _GuestNo soundNormalOpen GamePreferencesPyChess - Connect to Internet ChessQueenRookSave GameSave Game _AsScoreSelect sound file...The error was: %sThe game ended in a drawUnable to accept %sUnknownWhiteYour opponent is not out of time._Actions_Game_Help_Load Game_New Game_Replace_Rotate Board_Save Game_Start Game_Use sounds in PyChess_Viewdefends %sdrawshttp://en.wikipedia.org/wiki/Chessimproves king safetyProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Icelandic (http://www.transifex.com/gbtami/pychess/language/is/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: is Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11); %s skilar villuSpila hljóð Þegar...SpilararPyChess gat ekki vistað leikinnGet ekki vistað skrá '%s'Um SkákBípBiskupSvarturKlukka_Loka án þess að vistaAthugasemdirTengistTengingarvillaGat ekki vistað skráTölvupósturSkráin er þegar tilLeikurinn er _tapaður:Leikurinn er _unninn:GesturMannveraRiddariInnskráningarvillaSkrá mig inn sem _GesturEkkert hljóðVenjulegtOpna LeikStillingarPyChess - Tengjast Internet SkákDrottningHrókurVista leikVista Leik _SemStigVelja hljóðskrá...Villan var: %sLeikurinn hefur endað í jafntefliGet ekki tekið til baka %sÓþekktHvíturAndstæðingur rann út á tíma._Aðgerðir_Leikur_Hjálp_Hlaða inn leik_Nýr leikur_Skipta útSnúa Borði_Vista Leik_Ræsa Leik_Nota hljóð í PyChess_Sýnver %sjafnteflihttp://is.wikipedia.org/wiki/Sk%C3%A1kbætir öryggi kóngsinspychess-1.0.0/lang/is/LC_MESSAGES/pychess.po0000644000175000017500000043332513455542767017431 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2008 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Icelandic (http://www.transifex.com/gbtami/pychess/language/is/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: is\n" "Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Leikur" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Nýr leikur" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Hlaða inn leik" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Vista Leik" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Vista Leik _Sem" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Aðgerðir" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Sýn" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "Snúa Borði" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Hjálp" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Um Skák" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Stillingar" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Nota hljóð í PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Leikurinn er _tapaður:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Leikurinn er _unninn:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Spila hljóð Þegar..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Drottning" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Hrókur" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Biskup" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Riddari" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Hvítur" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Svartur" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Tengjast Internet Skák" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Skrá mig inn sem _Gestur" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Gestur" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Ræsa Leik" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Spilarar" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "_Loka án þess að vista" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://is.wikipedia.org/wiki/Sk%C3%A1k" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Opna Leik" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Andstæðingur rann út á tíma." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "Get ekki tekið til baka %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s skilar villu" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Óþekkt" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Leikurinn hefur endað í jafntefli" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Venjulegt" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Tengingarvilla" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Innskráningarvilla" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Mannvera" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Ekkert hljóð" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Bíp" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Velja hljóðskrá..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "jafntefli" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "bætir öryggi kóngsins" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "ver %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Klukka" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Tölvupóstur" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Tengist" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Vista leik" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Get ekki vistað skrá '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Skipta út" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Skráin er þegar til" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Gat ekki vistað skrá" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess gat ekki vistað leikinn" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "Villan var: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Athugasemdir" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Stig" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/si/0000755000175000017500000000000013467766037013615 5ustar varunvarunpychess-1.0.0/lang/si/LC_MESSAGES/0000755000175000017500000000000013467766037015402 5ustar varunvarunpychess-1.0.0/lang/si/LC_MESSAGES/pychess.mo0000644000175000017500000000100613467766036017411 0ustar varunvarun4L`a hks _Name:_Password:Project-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2016-01-28 08:56+0000 Last-Translator: slav0nic Language-Team: Sinhala (http://www.transifex.com/gbtami/pychess/language/si/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: si Plural-Forms: nplurals=2; plural=(n != 1); නම (_N):රහස්පදය(_P)pychess-1.0.0/lang/si/LC_MESSAGES/pychess.po0000644000175000017500000024103413353143212017376 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2008 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-01-27 13:28+0100\n" "PO-Revision-Date: 2016-01-28 08:56+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Sinhala (http://www.transifex.com/gbtami/pychess/language/si/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: si\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:122 glade/PyChess.glade:2054 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Add threatening variation lines " msgstr "" #: glade/analyze_game.glade:229 glade/PyChess.glade:1459 msgid "Colorize analyzed moves" msgstr "" #: glade/analyze_game.glade:244 glade/PyChess.glade:1495 msgid "Show evaluation values" msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:7 msgid "PyChess - Connect to Internet Chess" msgstr "" #: glade/fics_logon.glade:47 msgid "Connect to the Free Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 glade/taskers.glade:394 msgid "_Password:" msgstr "රහස්පදය(_P)" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "නම (_N):" #: glade/fics_logon.glade:191 msgid "Log on as _Guest" msgstr "" #: glade/fics_logon.glade:227 msgid "Host:" msgstr "" #: glade/fics_logon.glade:259 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:271 msgid "Auto login on startup" msgstr "" #: glade/fics_logon.glade:385 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:2078 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:2102 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:2126 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:400 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:422 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:444 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:480 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:584 lib/pychess/ic/ICLounge.py:2208 #: lib/pychess/ic/__init__.py:101 lib/pychess/Utils/GameModel.py:206 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:637 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:665 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:703 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:716 lib/pychess/ic/FICSObjects.py:56 #: lib/pychess/ic/ICLounge.py:1137 lib/pychess/ic/ICLounge.py:2208 #: lib/pychess/ic/__init__.py:99 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:757 glade/newInOut.glade:633 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:814 glade/fics_lounge.glade:1346 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:879 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:921 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:951 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:1055 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when \n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:1095 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:1134 msgid "1200" msgstr "" #: glade/fics_lounge.glade:1188 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:1243 lib/pychess/ic/ICLounge.py:2452 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:1289 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:1386 lib/pychess/Database/gamelist.py:40 #: lib/pychess/ic/ICLounge.py:1357 lib/pychess/ic/ICLounge.py:1557 #: lib/pychess/ic/ICLounge.py:2108 lib/pychess/Utils/repr.py:10 #: lib/pychess/widgets/ChessClock.py:40 #: lib/pychess/widgets/TaskerManager.py:153 msgid "White" msgstr "" #: glade/fics_lounge.glade:1414 lib/pychess/Database/gamelist.py:40 #: lib/pychess/ic/ICLounge.py:1358 lib/pychess/ic/ICLounge.py:1558 #: lib/pychess/ic/ICLounge.py:2110 lib/pychess/Utils/repr.py:10 #: lib/pychess/widgets/ChessClock.py:40 #: lib/pychess/widgets/TaskerManager.py:154 msgid "Black" msgstr "" #: glade/fics_lounge.glade:1453 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:1512 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:1552 msgid "Play" msgstr "" #: glade/fics_lounge.glade:1618 glade/newInOut.glade:833 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:1676 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:1692 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:1722 msgid "Options" msgstr "" #: glade/fics_lounge.glade:1750 msgid "PyChess - Internet Chess: FICS" msgstr "" #: glade/fics_lounge.glade:1823 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:1847 msgid "_Accept" msgstr "" #: glade/fics_lounge.glade:1871 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:2151 msgid "2 min, Fischer Random, 1800↓, Black" msgstr "" #: glade/fics_lounge.glade:2172 msgid "10 min + 6 sec/move, 1400↑, White" msgstr "" #: glade/fics_lounge.glade:2193 msgid "5 min, 1200-1800, Manual" msgstr "" #: glade/fics_lounge.glade:2247 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:2301 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:2337 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:2353 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:2374 lib/pychess/ic/ICLounge.py:472 #: lib/pychess/ic/ICLounge.py:670 lib/pychess/ic/ICLounge.py:1357 #: lib/pychess/ic/ICLounge.py:1358 msgid "Rating" msgstr "" #: glade/fics_lounge.glade:2399 msgid "Time" msgstr "" #: glade/fics_lounge.glade:2419 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:2444 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:2496 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:2549 glade/fics_lounge.glade:2735 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:2602 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:2659 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:2792 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:2847 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:2904 glade/PyChess.glade:841 msgid "Offer _Resume" msgstr "" #: glade/fics_lounge.glade:2962 glade/PyChess.glade:880 msgid "R_esign" msgstr "" #: glade/fics_lounge.glade:3006 glade/PyChess.glade:820 msgid "Offer _Draw" msgstr "" #: glade/fics_lounge.glade:3050 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:3107 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:3151 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:3208 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:3313 msgid "News" msgstr "" #: glade/fics_lounge.glade:3345 msgid "Show Console" msgstr "" #: glade/fics_lounge.glade:3359 msgid "Show _Chat" msgstr "" #: glade/fics_lounge.glade:3373 msgid "_Log Off" msgstr "" #: glade/fics_lounge.glade:3393 msgid "Tools" msgstr "" #: glade/fics_lounge.glade:3428 msgid "Asymmetric Random " msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/widgets/newGameDialog.py:445 msgid "New Game" msgstr "" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:257 msgid "_Black player:" msgstr "" #: glade/newInOut.glade:274 msgid "_White player:" msgstr "" #: glade/newInOut.glade:385 msgid "Players" msgstr "" #: glade/newInOut.glade:436 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:475 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:526 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:575 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:684 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:724 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:774 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:919 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1162 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1219 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1314 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1327 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1339 msgid "Side to move" msgstr "" #: glade/newInOut.glade:1351 msgid "Move number" msgstr "" #: glade/newInOut.glade:1361 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1375 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1389 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1403 msgid "White O-O" msgstr "" #: glade/promotion.glade:7 msgid "Promotion" msgstr "" #: glade/promotion.glade:49 lib/pychess/Utils/repr.py:12 msgid "Queen" msgstr "" #: glade/promotion.glade:95 lib/pychess/Utils/repr.py:12 msgid "Rook" msgstr "" #: glade/promotion.glade:141 lib/pychess/Utils/repr.py:12 msgid "Bishop" msgstr "" #: glade/promotion.glade:187 lib/pychess/Utils/repr.py:12 msgid "Knight" msgstr "" #: glade/promotion.glade:233 lib/pychess/Utils/repr.py:12 msgid "King" msgstr "" #: glade/promotion.glade:265 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:9 msgid "Chess client" msgstr "" #: glade/PyChess.glade:44 msgid "Game information" msgstr "" #: glade/PyChess.glade:164 msgid "Event:" msgstr "" #: glade/PyChess.glade:178 msgid "Site:" msgstr "" #: glade/PyChess.glade:204 msgid "Round:" msgstr "" #: glade/PyChess.glade:237 msgid "White:" msgstr "" #: glade/PyChess.glade:249 msgid "Black:" msgstr "" #: glade/PyChess.glade:302 msgid "Game data" msgstr "" #: glade/PyChess.glade:357 msgid "Date of game" msgstr "" #: glade/PyChess.glade:495 msgid "_Game" msgstr "" #: glade/PyChess.glade:502 msgid "_New Game" msgstr "" #: glade/PyChess.glade:515 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:534 msgid "_Load Game" msgstr "" #: glade/PyChess.glade:550 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:558 msgid "Open _Database" msgstr "" #: glade/PyChess.glade:569 lib/pychess/widgets/newGameDialog.py:615 msgid "Setup Position" msgstr "" #: glade/PyChess.glade:579 msgid "Enter Game _Notation" msgstr "" #: glade/PyChess.glade:592 msgid "_Save Game" msgstr "" #: glade/PyChess.glade:606 msgid "Save Game _As" msgstr "" #: glade/PyChess.glade:624 msgid "Share Game" msgstr "" #: glade/PyChess.glade:630 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:644 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:678 msgid "Player _Rating" msgstr "" #: glade/PyChess.glade:723 msgid "_Edit" msgstr "" #: glade/PyChess.glade:734 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:746 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:763 msgid "_Engines" msgstr "" #: glade/PyChess.glade:789 msgid "_Actions" msgstr "" #: glade/PyChess.glade:800 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:810 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:831 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:847 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:870 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:890 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:905 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:918 msgid "_View" msgstr "" #: glade/PyChess.glade:925 msgid "_Rotate Board" msgstr "" #: glade/PyChess.glade:939 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:952 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:969 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:980 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:997 msgid "_Hint mode" msgstr "" #: glade/PyChess.glade:1009 msgid "Sp_y mode" msgstr "" #: glade/PyChess.glade:1024 msgid "_Help" msgstr "" #: glade/PyChess.glade:1034 msgid "About Chess" msgstr "" #: glade/PyChess.glade:1043 msgid "How to Play" msgstr "" #: glade/PyChess.glade:1052 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:1058 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1153 msgid "Default" msgstr "" #: glade/PyChess.glade:1156 msgid "Knights" msgstr "" #: glade/PyChess.glade:1167 lib/pychess/widgets/preferencesDialog.py:349 msgid "Beep" msgstr "" #: glade/PyChess.glade:1170 lib/pychess/widgets/preferencesDialog.py:350 msgid "Select sound file..." msgstr "" #: glade/PyChess.glade:1173 lib/pychess/widgets/preferencesDialog.py:348 msgid "No sound" msgstr "" #: glade/PyChess.glade:1180 msgid "Preferences" msgstr "" #: glade/PyChess.glade:1218 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1230 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1259 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1271 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1307 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1312 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1326 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1331 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1345 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1350 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1364 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1369 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1383 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1388 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1402 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:1407 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:1421 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1426 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1440 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1445 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1464 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1477 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1482 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1500 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1526 msgid "General Options" msgstr "" #: glade/PyChess.glade:1560 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1565 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1579 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1584 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1599 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1604 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1632 msgid "Animation" msgstr "" #: glade/PyChess.glade:1651 msgid "_General" msgstr "" #: glade/PyChess.glade:1692 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1697 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1724 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1768 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1773 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1803 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1843 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1848 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1870 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1904 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1946 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1978 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:2020 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:2096 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2118 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2263 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2317 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2367 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2382 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2440 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2479 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2515 msgid "Reset Default Colours" msgstr "" #: glade/PyChess.glade:2551 msgid "Board Colours" msgstr "" #: glade/PyChess.glade:2610 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2634 msgid "Themes" msgstr "" #: glade/PyChess.glade:2659 msgid "_Use sounds in PyChess" msgstr "" #: glade/PyChess.glade:2982 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:2997 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3010 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3025 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3040 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3055 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3084 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3136 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3151 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3265 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3317 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3369 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3416 msgid "Play Sound When..." msgstr "" #: glade/PyChess.glade:3438 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3463 msgid "_Auto save finished games" msgstr "" #: glade/PyChess.glade:3497 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3525 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3569 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3582 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3619 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3644 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3669 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:3698 msgid "Save" msgstr "" #: glade/PyChess.glade:3728 msgid "uci" msgstr "" #: glade/PyChess.glade:3731 msgid "xboard" msgstr "" #: glade/PyChess.glade:3739 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:3837 msgid "Command:" msgstr "" #: glade/PyChess.glade:3851 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:3865 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:3878 msgid "Command line parameters needed by the engine." msgstr "" #: glade/PyChess.glade:3903 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:3929 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:3942 msgid "The directory where the engine will be started from." msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 lib/pychess/widgets/ionest.py:424 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:126 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:154 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:219 msgid "_Start Game" msgstr "" #: glade/taskers.glade:338 msgid "Log on as G_uest" msgstr "" #: glade/taskers.glade:410 msgid "Ha_ndle:" msgstr "" #: glade/taskers.glade:469 msgid "_Connect to server" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:302 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:305 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:370 lib/pychess/widgets/gamenanny.py:80 msgid "Welcome" msgstr "" #: lib/pychess/Database/gamelist.py:40 msgid "Id" msgstr "" #: lib/pychess/Database/gamelist.py:40 msgid "W Elo" msgstr "" #: lib/pychess/Database/gamelist.py:40 msgid "B Elo" msgstr "" #: lib/pychess/Database/gamelist.py:41 msgid "Result" msgstr "" #: lib/pychess/Database/gamelist.py:41 msgid "Event" msgstr "" #: lib/pychess/Database/gamelist.py:41 msgid "Site" msgstr "" #: lib/pychess/Database/gamelist.py:41 msgid "Round" msgstr "" #: lib/pychess/Database/gamelist.py:41 msgid "Date" msgstr "" #: lib/pychess/Database/gamelist.py:41 msgid "ECO" msgstr "" #: lib/pychess/Database/gamelist.py:62 msgid "PyChess Game Database" msgstr "" #: lib/pychess/Database/PgnImport.py:188 #, python-format msgid "The game #%s can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/ic/FICSConnection.py:139 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:140 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:141 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:145 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:146 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:147 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:166 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:181 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:239 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:35 lib/pychess/ic/FICSObjects.py:47 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:46 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:54 lib/pychess/ic/ICLounge.py:1136 #: lib/pychess/ic/ICLounge.py:2209 lib/pychess/ic/__init__.py:98 #: lib/pychess/widgets/newGameDialog.py:153 msgid "Blitz" msgstr "" #: lib/pychess/ic/FICSObjects.py:58 lib/pychess/ic/ICLounge.py:1137 #: lib/pychess/ic/ICLounge.py:2209 lib/pychess/ic/__init__.py:100 msgid "Lightning" msgstr "" #: lib/pychess/ic/FICSObjects.py:60 lib/pychess/Variants/atomic.py:15 msgid "Atomic" msgstr "" #: lib/pychess/ic/FICSObjects.py:62 lib/pychess/Variants/bughouse.py:9 msgid "Bughouse" msgstr "" #: lib/pychess/ic/FICSObjects.py:64 lib/pychess/Variants/crazyhouse.py:9 msgid "Crazyhouse" msgstr "" #: lib/pychess/ic/FICSObjects.py:66 lib/pychess/Variants/losers.py:9 msgid "Losers" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/Variants/suicide.py:12 msgid "Suicide" msgstr "" #: lib/pychess/ic/FICSObjects.py:70 lib/pychess/ic/__init__.py:129 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:117 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:118 lib/pychess/ic/FICSObjects.py:143 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:141 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:145 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:147 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:149 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:308 lib/pychess/ic/FICSObjects.py:492 #: lib/pychess/ic/ICLounge.py:2278 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:491 lib/pychess/ic/ICLounge.py:670 #: lib/pychess/ic/ICLounge.py:1358 lib/pychess/ic/ICLounge.py:1558 #: lib/pychess/ic/ICLounge.py:2113 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:498 lib/pychess/ic/ICLounge.py:2098 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:500 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:517 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:519 lib/pychess/ic/ICLounge.py:909 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:519 lib/pychess/ic/ICLounge.py:909 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:565 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:654 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:656 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:810 msgid "Private" msgstr "" #: lib/pychess/ic/FICSObjects.py:930 lib/pychess/ic/ICLounge.py:527 #: lib/pychess/Savers/epd.py:139 msgid "Unknown" msgstr "" #: lib/pychess/ic/ICLogon.py:159 lib/pychess/ic/ICLogon.py:165 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:161 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:163 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:169 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:172 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:173 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLounge.py:222 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/ic/ICLounge.py:241 msgid "" "You may only have 3 outstanding seeks at the same time. If you want to add a" " new seek you must clear your currently active seeks. Clear your seeks?" msgstr "" #: lib/pychess/ic/ICLounge.py:258 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/ic/ICLounge.py:270 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/ic/ICLounge.py:283 msgid " is censoring you" msgstr "" #: lib/pychess/ic/ICLounge.py:296 msgid " noplay listing you" msgstr "" #: lib/pychess/ic/ICLounge.py:311 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/ic/ICLounge.py:325 msgid "to manual accept" msgstr "" #: lib/pychess/ic/ICLounge.py:327 msgid "to automatic accept" msgstr "" #: lib/pychess/ic/ICLounge.py:329 msgid "rating range now" msgstr "" #: lib/pychess/ic/ICLounge.py:330 msgid "Seek updated" msgstr "" #: lib/pychess/ic/ICLounge.py:342 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/ic/ICLounge.py:363 msgid " has arrived" msgstr "" #: lib/pychess/ic/ICLounge.py:370 msgid " has departed" msgstr "" #: lib/pychess/ic/ICLounge.py:374 msgid " is present" msgstr "" #: lib/pychess/ic/ICLounge.py:391 sidepanel/chatPanel.py:17 msgid "Chat" msgstr "" #: lib/pychess/ic/ICLounge.py:472 sidepanel/bookPanel.py:366 msgid "Win" msgstr "" #: lib/pychess/ic/ICLounge.py:472 sidepanel/bookPanel.py:360 msgid "Draw" msgstr "" #: lib/pychess/ic/ICLounge.py:472 sidepanel/bookPanel.py:363 msgid "Loss" msgstr "" #: lib/pychess/ic/ICLounge.py:482 msgid "" "On FICS, your \"Wild\" rating encompasses all of the following variants at " "all time controls:\n" msgstr "" #: lib/pychess/ic/ICLounge.py:494 msgid "Sanctions" msgstr "" #: lib/pychess/ic/ICLounge.py:499 msgid "Email" msgstr "" #: lib/pychess/ic/ICLounge.py:504 msgid "Spent" msgstr "" #: lib/pychess/ic/ICLounge.py:506 msgid "online in total" msgstr "" #: lib/pychess/ic/ICLounge.py:512 msgid "Ping" msgstr "" #: lib/pychess/ic/ICLounge.py:517 msgid "Connecting" msgstr "" #: lib/pychess/ic/ICLounge.py:544 msgid "" "You are currently logged in as a guest.\n" "A guest can't play rated games and therefore isn't able to play as many of the types of matches offered as a registered user. To register an account, go to http://www.freechess.org/Register/index.html." msgstr "" #: lib/pychess/ic/ICLounge.py:669 lib/pychess/ic/ICLounge.py:1136 msgid "Name" msgstr "" #: lib/pychess/ic/ICLounge.py:670 lib/pychess/ic/ICLounge.py:1358 #: lib/pychess/ic/ICLounge.py:1558 msgid "Type" msgstr "" #: lib/pychess/ic/ICLounge.py:670 lib/pychess/ic/ICLounge.py:1558 msgid "Clock" msgstr "" #: lib/pychess/ic/ICLounge.py:726 lib/pychess/ic/ICLounge.py:923 #: lib/pychess/Players/Human.py:250 msgid "Accept" msgstr "" #: lib/pychess/ic/ICLounge.py:728 msgid "Assess" msgstr "" #: lib/pychess/ic/ICLounge.py:734 msgid "Archived" msgstr "" #: lib/pychess/ic/ICLounge.py:848 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/ic/ICLounge.py:897 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/ic/ICLounge.py:902 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/ic/ICLounge.py:907 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/ic/ICLounge.py:924 lib/pychess/Players/Human.py:251 msgid "Decline" msgstr "" #: lib/pychess/ic/ICLounge.py:1065 msgid " min" msgstr "" #: lib/pychess/ic/ICLounge.py:1137 msgid "Status" msgstr "" #: lib/pychess/ic/ICLounge.py:1203 lib/pychess/ic/ICLounge.py:1233 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/ic/ICLounge.py:1469 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/ic/ICLounge.py:1559 msgid "Date/Time" msgstr "" #: lib/pychess/ic/ICLounge.py:1614 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/ic/ICLounge.py:1635 msgid "Request Continuation" msgstr "" #: lib/pychess/ic/ICLounge.py:1637 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/ic/ICLounge.py:1965 msgid "" "The chain button is disabled because you are logged in as a guest. Guests " "can't establish ratings, and the chain button's state has no effect when " "there is no rating to which to tie \"Opponent Strength\" to" msgstr "" #: lib/pychess/ic/ICLounge.py:2006 msgid "Challenge: " msgstr "" #: lib/pychess/ic/ICLounge.py:2044 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/ic/ICLounge.py:2048 lib/pychess/ic/ICLounge.py:2051 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/ic/ICLounge.py:2064 msgid "Edit Seek: " msgstr "" #: lib/pychess/ic/ICLounge.py:2095 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/ic/ICLounge.py:2116 msgid "Manual" msgstr "" #: lib/pychess/ic/ICLounge.py:2256 msgid "Any strength" msgstr "" #: lib/pychess/ic/ICLounge.py:2308 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/ic/ICLounge.py:2312 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/ic/ICLounge.py:2313 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/ic/ICLounge.py:2317 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/ic/ICLounge.py:2318 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/ic/ICLounge.py:2332 lib/pychess/Variants/shuffle.py:16 #: lib/pychess/widgets/newGameDialog.py:266 msgid "Shuffle" msgstr "" #: lib/pychess/ic/ICLounge.py:2333 lib/pychess/widgets/newGameDialog.py:267 msgid "Other (standard rules)" msgstr "" #: lib/pychess/ic/ICLounge.py:2334 lib/pychess/widgets/newGameDialog.py:268 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/ic/ICLounge.py:2421 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/ic/ICLounge.py:2422 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/ic/ICLounge.py:2454 msgid "Change Tolerance" msgstr "" #: lib/pychess/ic/__init__.py:102 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:103 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:182 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:182 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:182 msgid "Computer" msgstr "" #: lib/pychess/ic/__init__.py:183 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:183 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:183 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:184 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:184 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:184 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:185 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:185 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:185 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:186 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:186 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:186 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:187 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:191 msgid "*" msgstr "" #: lib/pychess/ic/__init__.py:191 lib/pychess/Utils/repr.py:14 msgid "B" msgstr "" #: lib/pychess/ic/__init__.py:191 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:192 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:192 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:192 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:193 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:193 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:193 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:194 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:194 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:194 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:195 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:195 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:195 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:195 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:195 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:195 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:195 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:195 msgid "NM" msgstr "" #: lib/pychess/Players/CECPEngine.py:857 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:20 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:21 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:24 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:27 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:29 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:30 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:32 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:33 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:36 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:40 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:41 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:52 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:53 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:66 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:72 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:180 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:181 msgid "" "Generally this means nothing, as the game is time-based, but if you want to " "please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:259 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:260 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:267 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:275 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:276 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:290 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:291 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:298 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:12 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:39 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:41 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/database.py:19 msgid "PyChess database" msgstr "" #: lib/pychess/Savers/epd.py:12 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:44 lib/pychess/Savers/pgn.py:329 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/pgnbase.py:100 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgnbase.py:102 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgnbase.py:110 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:28 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:362 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/png.py:15 msgid "Png image" msgstr "" #: lib/pychess/System/ping.py:31 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:74 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:147 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:148 msgid "Local Site" msgstr "" #: lib/pychess/Utils/repr.py:12 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:14 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:14 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:14 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:14 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:14 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:17 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:18 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:19 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:20 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:21 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:22 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:26 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:28 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:29 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:30 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:31 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:32 lib/pychess/Utils/repr.py:42 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:34 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:35 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:38 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:39 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:40 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:41 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:43 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:44 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:45 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:46 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:49 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:51 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:52 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:53 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:55 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:56 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:58 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:59 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:60 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:61 msgid "" "Because a player aborted the game. Either player can abort the game without " "the other's consent before the second move. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:62 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:63 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:67 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:68 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/TimeModel.py:229 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:231 msgid "sec" msgstr "" #: lib/pychess/Variants/asean.py:12 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:13 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:33 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:34 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:60 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:61 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:86 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:87 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:111 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:112 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:14 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/blindfold.py:7 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:9 #: lib/pychess/widgets/newGameDialog.py:264 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:18 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:20 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:29 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:31 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:40 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:42 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:8 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:8 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/euroshogi.py:9 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:10 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:18 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:20 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/kingofthehill.py:8 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:10 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:8 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:9 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:8 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/normal.py:4 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:6 lib/pychess/widgets/newGameDialog.py:157 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:8 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:9 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:11 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:13 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:10 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:12 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/queenodds.py:8 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:9 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/randomchess.py:11 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:17 #: lib/pychess/widgets/TaskerManager.py:155 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:8 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:9 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:11 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/suicide.py:11 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/theban.py:10 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:10 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:10 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:13 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:10 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:17 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:20 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:85 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:86 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:95 #: lib/pychess/widgets/gamewidget.py:202 lib/pychess/widgets/gamewidget.py:320 msgid "Abort" msgstr "" #: lib/pychess/widgets/ChatView.py:125 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatWindow.py:222 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ChatWindow.py:254 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/ChatWindow.py:312 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/ChatWindow.py:350 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/ChatWindow.py:400 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/ChatWindow.py:518 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChatWindow.py:529 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChatWindow.py:540 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChatWindow.py:548 msgid "More players" msgstr "" #: lib/pychess/widgets/ChatWindow.py:558 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChatWindow.py:568 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChatWindow.py:578 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatWindow.py:805 msgid "Conversations" msgstr "" #: lib/pychess/widgets/ChatWindow.py:807 msgid "Conversation info" msgstr "" #: lib/pychess/widgets/enginesDialog.py:152 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:156 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:176 #: lib/pychess/widgets/enginesDialog.py:210 #: lib/pychess/widgets/enginesDialog.py:235 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:177 msgid "wine not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:211 #: lib/pychess/widgets/enginesDialog.py:236 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:266 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/gamenanny.py:115 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:134 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:136 lib/pychess/widgets/gamenanny.py:147 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:168 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:171 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:203 msgid "The game is paused" msgstr "" #: lib/pychess/widgets/gamenanny.py:221 lib/pychess/widgets/gamenanny.py:222 msgid "Loaded game" msgstr "" #: lib/pychess/widgets/gamenanny.py:228 msgid "Saved game" msgstr "" #: lib/pychess/widgets/gamenanny.py:232 msgid "Analyzer started" msgstr "" #: lib/pychess/widgets/gamenanny.py:281 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:283 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:285 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:287 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:293 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:305 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:306 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" "You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:204 msgid "" "This game can be automatically aborted without rating loss because there has" " not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:206 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:208 msgid "" "Your opponent must agree to abort the game because there has been two or " "more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:226 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:243 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:325 msgid "Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:326 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:328 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:329 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:333 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:335 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:550 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:566 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:567 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:575 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:576 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:648 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:653 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:658 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:664 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:669 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:903 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/widgets/gamewidget.py:904 msgid "" "Your panel settings have been reset. If this problem repeats, you should " "report it to the developers" msgstr "" #: lib/pychess/widgets/ionest.py:67 lib/pychess/widgets/newGameDialog.py:389 #: lib/pychess/widgets/TaskerManager.py:210 msgid "You" msgstr "" #: lib/pychess/widgets/ionest.py:70 lib/pychess/widgets/newGameDialog.py:390 #: lib/pychess/widgets/preferencesDialog.py:61 #: lib/pychess/widgets/TaskerManager.py:213 msgid "Guest" msgstr "" #: lib/pychess/widgets/ionest.py:93 msgid "Error loading game" msgstr "" #: lib/pychess/widgets/ionest.py:127 lib/pychess/widgets/newGameDialog.py:480 msgid "Open Game" msgstr "" #: lib/pychess/widgets/ionest.py:137 msgid "All Files" msgstr "" #: lib/pychess/widgets/ionest.py:140 msgid "Detect type automatically" msgstr "" #: lib/pychess/widgets/ionest.py:146 msgid "All Chess Files" msgstr "" #: lib/pychess/widgets/ionest.py:228 msgid "Save Game" msgstr "" #: lib/pychess/widgets/ionest.py:228 msgid "Export position" msgstr "" #: lib/pychess/widgets/ionest.py:232 lib/pychess/widgets/ionest.py:360 msgid "vs." msgstr "" #: lib/pychess/widgets/ionest.py:249 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/widgets/ionest.py:250 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/widgets/ionest.py:266 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/widgets/ionest.py:268 msgid "" "You don't have the necessary rights to save the file.\n" "Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/widgets/ionest.py:276 msgid "_Replace" msgstr "" #: lib/pychess/widgets/ionest.py:280 msgid "File exists" msgstr "" #: lib/pychess/widgets/ionest.py:282 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/widgets/ionest.py:283 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/widgets/ionest.py:299 msgid "Could not save the file" msgstr "" #: lib/pychess/widgets/ionest.py:300 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/widgets/ionest.py:301 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/widgets/ionest.py:325 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/widgets/ionest.py:328 msgid "Save moves before closing?" msgstr "" #: lib/pychess/widgets/ionest.py:339 msgid "Unable to save to configured file. Save the games before closing?" msgstr "" #: lib/pychess/widgets/ionest.py:366 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/widgets/ionest.py:412 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/widgets/ionest.py:420 msgid "" "Unable to save to configured file. Save the current game before you close " "it?" msgstr "" #: lib/pychess/widgets/ionest.py:434 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/widgets/LogDialog.py:26 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:184 lib/pychess/widgets/LogDialog.py:188 msgid "of" msgstr "" #: lib/pychess/widgets/newGameDialog.py:84 #: lib/pychess/widgets/newGameDialog.py:85 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:155 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:224 msgid "Minutes:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:228 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:241 #, python-format msgid "%(name)s %(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/widgets/newGameDialog.py:244 #, python-format msgid "%(name)s %(minutes)d min %(gain)d sec/move" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 #, python-format msgid "%(name)s %(minutes)d min" msgstr "" #: lib/pychess/widgets/newGameDialog.py:265 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:269 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:301 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:682 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:725 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:123 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:128 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:156 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:331 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:341 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:485 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:678 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:51 msgid "" "You can start a new game by Game > New Game, in New Game " "window do you can choose Players, Time Control and Chess " "Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:52 msgid "" "You can choose from 20 different difficulties to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "Chess Variants are like the pieces of the last line will be placed on the " "board." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Do you know that you can call flag when the clock is with you, " "Actions > Call Flag." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "Pressing Ctrl+Z to offer opponent the possible rollback moves." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "To play on Fullscreen mode, just type F11. Coming back, F11 " "again." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "Hint mode analyzing your game, enable this type Ctrl+H." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "Spy mode analyzing the oponnent game, enable this type Ctrl+Y." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "You can play chess listening to the sounds of the game, for that, " "Settings > Preferences > Sound tab, enable Use " "sounds in PyChess and choose your preferred sounds." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "Do you know that you can help translate Pychess in your language, " "Help > Translate Pychess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:184 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:185 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:195 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:152 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:154 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:175 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:178 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:189 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:192 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:260 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:272 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:306 lib/pychess/Utils/lutils/lmove.py:556 msgid "promotion move without promoted piece is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:312 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:323 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:24 sidepanel/commentPanel.py:191 #: sidepanel/commentPanel.py:208 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:43 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:45 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:49 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:73 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:75 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:108 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:109 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:119 #: lib/pychess/Utils/lutils/strateval.py:121 #: lib/pychess/Utils/lutils/strateval.py:124 #: lib/pychess/Utils/lutils/strateval.py:126 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:132 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:135 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:158 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:162 #: lib/pychess/Utils/lutils/strateval.py:170 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:164 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:166 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:291 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:294 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:296 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:298 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:336 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:369 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:377 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:416 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:470 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:472 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:474 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:477 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:478 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:485 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:492 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:507 #: lib/pychess/Utils/lutils/strateval.py:514 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:508 #: lib/pychess/Utils/lutils/strateval.py:515 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:510 #: lib/pychess/Utils/lutils/strateval.py:517 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:551 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:573 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:574 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:591 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:594 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:612 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:638 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:640 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:643 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:645 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:671 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:673 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:675 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:677 msgid "White has a slightly cramped position" msgstr "" #: sidepanel/annotationPanel.py:26 msgid "Annotation" msgstr "" #: sidepanel/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: sidepanel/annotationPanel.py:236 msgid "Copy PGN" msgstr "" #: sidepanel/annotationPanel.py:249 msgid "Add start comment" msgstr "" #: sidepanel/annotationPanel.py:254 msgid "Add comment" msgstr "" #: sidepanel/annotationPanel.py:258 sidepanel/annotationPanel.py:316 msgid "Edit comment" msgstr "" #: sidepanel/annotationPanel.py:269 msgid "Forced move" msgstr "" #: sidepanel/annotationPanel.py:274 msgid "Add move symbol" msgstr "" #: sidepanel/annotationPanel.py:280 msgid "Unclear position" msgstr "" #: sidepanel/annotationPanel.py:289 msgid "Zugzwang" msgstr "" #: sidepanel/annotationPanel.py:290 msgid "Development adv." msgstr "" #: sidepanel/annotationPanel.py:291 msgid "Initiative" msgstr "" #: sidepanel/annotationPanel.py:292 msgid "With attack" msgstr "" #: sidepanel/annotationPanel.py:293 msgid "Compensation" msgstr "" #: sidepanel/annotationPanel.py:294 msgid "Counterplay" msgstr "" #: sidepanel/annotationPanel.py:295 msgid "Time pressure" msgstr "" #: sidepanel/annotationPanel.py:300 msgid "Add evaluation symbol" msgstr "" #: sidepanel/annotationPanel.py:304 msgid "Remove symbols" msgstr "" #: sidepanel/annotationPanel.py:911 #, python-format msgid "round %s" msgstr "" #: sidepanel/bookPanel.py:21 msgid "Hints" msgstr "" #: sidepanel/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: sidepanel/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: sidepanel/bookPanel.py:87 msgid "Opening Book" msgstr "" #: sidepanel/bookPanel.py:88 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: sidepanel/bookPanel.py:139 #, python-format msgid "Analysis by %s" msgstr "" #: sidepanel/bookPanel.py:140 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: sidepanel/bookPanel.py:142 #, python-format msgid "Threat analysis by %s" msgstr "" #: sidepanel/bookPanel.py:143 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: sidepanel/bookPanel.py:159 sidepanel/bookPanel.py:269 msgid "Calculating..." msgstr "" #: sidepanel/bookPanel.py:300 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: sidepanel/bookPanel.py:302 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: sidepanel/bookPanel.py:311 msgid "Endgame Table" msgstr "" #: sidepanel/bookPanel.py:315 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: sidepanel/bookPanel.py:364 sidepanel/bookPanel.py:367 #, python-format msgid "Mate in %d" msgstr "" #: sidepanel/bookPanel.py:554 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: sidepanel/chatPanel.py:21 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: sidepanel/commentPanel.py:16 msgid "Comments" msgstr "" #: sidepanel/commentPanel.py:20 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: sidepanel/commentPanel.py:121 msgid "Initial position" msgstr "" #: sidepanel/commentPanel.py:254 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: sidepanel/engineOutputPanel.py:15 msgid "Engines" msgstr "" #: sidepanel/engineOutputPanel.py:20 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: sidepanel/engineOutputPanel.py:44 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: sidepanel/historyPanel.py:10 msgid "Move History" msgstr "" #: sidepanel/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: sidepanel/scorePanel.py:15 msgid "Score" msgstr "" #: sidepanel/scorePanel.py:19 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" pychess-1.0.0/lang/br/0000755000175000017500000000000013467766037013605 5ustar varunvarunpychess-1.0.0/lang/br/LC_MESSAGES/0000755000175000017500000000000013467766037015372 5ustar varunvarunpychess-1.0.0/lang/br/LC_MESSAGES/pychess.mo0000644000175000017500000004130413467766035017405 0ustar varunvarunKLxy{}'+#G$k  4@&Ho C  *-XZqx ~     *9BJNRX^ eo   &G2AzS> XHRBc7]?B9;|qS* ~ &$ - = GRd s~/    ) 5 B P \ p         ! ! !! +!7!9!?!A!I! P! [!i!p!u!|!! !!(!!!"" "!"0" ?"I" X"d"$t"""" " """ # # # #p3#9#3#}$$$$$$ $$ $$$% (%6%G%Y%a% g% r%}%%%% %&% % % %&&&& /&;&A&J&%P& v&&& & && && & & && ''+"'N'e'k'o'v'*** ** *$*,*12*d*y*****&*" +!-+O+h+|++++++ ,. , <,'],,",j, *-8-H-8\------------. .. '.H. Q. \.g.l.. . .......... //$/+/C/\/v//////k/G#0k061Q+2p}2V2SE3u34A4M4N(5w5^6`6 y686646777 $7 /7=7T7 f7 p7${77 77777X7 ;8I8 ]8k8t888888 8#829K9 M9 [9f9m9!r99 9979 : : : ):5:7:?:A:J:S:\:u:}::: ::0:>:';5F;|;;;;;;;< <8(<a<'y<%< < < < < <= ==5=8=6=->>> >>> >>?!?$9?&^???$? ?? ??@@5@ =@J@;`@@ @ @@@ @@ @ AA A@%AfAuA }AAAAAA A AAB"B@BEIBBBBBHD^~9dl!M5g`Rx(pWn +C*'4)h=t-.{FN;BP I \SE3O j8b a1vc,AG2kJ#XUKYf/:|[mwsz_<0Tr$euy@>o&]%Q7?ZiV} Lq6"*-00 Players Ready0-11-01/2-1/25 minPromote pawn to what?AnalyzingAnimationBoard StyleChess SetsGeneral OptionsInstalled SidepanelsName of _first human player:Name of s_econd human player:Opening, endgamePlay Sound When...PlayersWelcome screenChallenge:A player _checks:A player _moves:A player c_aptures:About ChessAc_tiveActivate alarm when _remaining sec is:Analyze black movesAnalyze from current positionAnalyze gameAnalyze white movesAnimate pieces, board rotation and more. Use this on fast machines.AnnotatorAsk to _MoveAuto Call _FlagAuto _rotate board to current human playerBBackround image path :BishopBlackBlack ELO:Black moveBlack:BlitzBlitz:CapturedChallengeChallenge: Chess clientClearColorize analyzed movesCommand:ComputerCopy FENCountry:Create SeekDark Squares :DatabaseDefaultECOEloEmailEventEvent:ExternalsF_ull board animationFace _to Face display modeFilterFrame:Game informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Gaviota TB path:GridGuestHeaderHost:How to PlayIf set, FICS game numbers in tab labels next to player names are shown.If set, PyChess will colorize suboptimal analyzed moves with red.If set, PyChess will show game results for different moves in positions containing 6 or less pieces. It will search positions from http://www.k4it.de/If set, PyChess will show game results for different moves in positions containing 6 or less pieces. You can download tablebase files from: http://www.olympuschess.com/egtb/gaviota/If set, PyChess will suggest best opening moves on hint panel.If set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, clicking on main application window closer first time it closes all games.If set, pawn promotes to queen without promotion dialog selection.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the captured figurines will be shown next to the board.If set, the elapsed time that a player used for the move is shown.If set, the hint analyzer engine evaluation value is shown.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.Ignore colorsImbalanceImport annotated games from endgame.nlImport chessfileImport games from theweekinchess.comInfinite analysisKKingKnightKnightsLeave _FullscreenLight Squares :LightningLightning:Load _Recent GameManage enginesMinutes: MovedNNameNames: #n1, #n2Never use animation. Use this on slow machines.New GameNew _DatabaseNo _animationObserveObserved _ends:Offer Ad_journmentOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOnly animate _movesOnly animate piece moves.PParameters:Paste FENPatternPingPlay _Internet ChessPlayer _RatingPo_rts:Polyglot book file:Prefer figures in _notationPreferencesPromotionProtocol:PyChess.py:QQueenRR_esignRatingRegisteredReset ColoursResultRookRound:S_ign upSaveSave Game _AsSave _own games onlySave analyzing engine _evaluation valuesSave database asSave elapsed move _timesSave files to:ScoutSeek _GraphSend ChallengeSend all seeksSend seekSetup PositionSho_w cordsShort on _time:Show FICS game numbers in tab labelsShow _captured piecesShow elapsed move timesShow evaluation valuesSide to moveSide_panelsSiteSite:Sp_y arrowStandardStandard:Start Private ChatThe analyzer will run in the background and analyze the game. This is necessary for the hint mode to workThe displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The inverse analyzer will analyze the game as if your opponent was to move. This is necessary for the spy mode to workThemesTimeTip of the DayTitledTranslate PyChessUninstallUnknownUse _analyzerUse _inverted analyzerUse _local tablebasesUse _online tablebasesUse analyzer:Use name format:Use opening _bookVariantWhiteWhite ELO:White moveWhite:Year, month, day: #y, #m, #d_Accept_Actions_Analyze Game_Auto save finished games to .pgn file_Call Flag_Copy FEN_Copy PGN_Decline_Edit_Engines_Export Position_Fullscreen_Game_General_Help_Hide tabs when only one game is open_Hint arrow_Hints_Invalid move:_Load Game_Log Viewer_Name:_New Game_Observed moves:_Password:_Rotate Board_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Use main app closer [x] to close all games_Use sounds in PyChess_ViewucixboardProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Breton (http://www.transifex.com/gbtami/pychess/language/br/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: br Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4); *-00 C'hoarier Prest0-11-01/2-1/25 munKas war-raok ar gwerin e petra?O tielfennañBevadurStil an DaolEchederDibarzhioù PennañPannel-kostez stalietAnv ar c'hoarier denel kentañ:Anv an eil c'hoarier denel:O tigeriñ, fin ar c'hoariLenn ur Son Pa...C'hoarierienSkram DegemerDaeadenn:Gwiriadenn ur c'hoarier:Fiñvadenn ur c'hoarier:Pakadenn ur c'hoarier:Diwar-benn ChessGweredekaa_tBevaat an alarm pa vez an eilennoù o chom da:Analizañ fiñvadennoù ar re zuAnalizañ diwar al lec'hiadur a-vremañDielfennañ ar c'hoariAnalizañ fiñvadennoù ar re wennPezhioù-bev, troidigezh an daolig ha muioc'h c'hoazh. Grit gant an dra-mañ war mekanikoù kreñv-kenañ.EvezhiadennerGoulenn c'hoariHopal _Banniel EmgeEm- _dreiñ an daol d'ar c'hoarier denel a zo da c'hoariBskeudenn drekleur ar wenodenn:FurlukinDuELO Du:D'ar re Zu da FiñvalDu:BlitzBlitz:PaketDaeadennDaeadenn:Pratik ChessDilemelLivañ ar fiñvadennoù analizetUrzhiad:UrzhiataerEilañ FENBro:Krouiñ un enklaskKarrezioù Du:Diaz-roadennDre-ZiouerECOEloPostelDarvoudDarvoud:Moladoù DiavezDaolig hollvevMod diskwel _Tal ouzh TalSilSteuñvenn:Titouroù ar C'hoariRampo:Ar c'hoari 'zo _kollet:Ar c'hoari a zo staliet:Ar c'hoari 'zo _gounezet:Gwenodenn Gaviota TB:KaelKouviadTalbennOstiz:Penaos c'hoariM'eo lakaet, an niverennoù c'hoari FICS a zo diskouezet en ivinell labeloù kichen d'an anvioù c'hoarier.M'eo lakaet, PyChess a livo ar fiñvadennoù analizet suboptimal e ruz.M'eo lakaet, PyChess a ziskouezo deoc'h disoc'hoù c'hoari evit fiñvadennoù disheñvel e lec'hiadurioù oc'h enderc'hel 6 pezh pe nebeutoc'h. Mont a raio da glask al lec'hiadur war http://www.k4it.de/M'eo lakaet, PyChess a ziskouezo deoc'h disoc'hoù c'hoari disheñvel evit fiñvadennoù e lec'hiadurioù oc'h enderc'hel 6 pezh pe nebeutoc'h. Gellout a rit pellgargañ diaz-taolennoù restroù adalek: http://www.olympuschess.com/egtb/gaviota/M'eo lakaet, PyChess a ginnigo deoc'h an digoradurioù gwellañ er panell sikour.M'eo lakaet, PyChess a raio gant tudennoù-pri evit diskouez ar pezhioù fiñvet, e-plas evit lizherennoù-bras.M'eo lakaet, ma klikit war arload-pennañ ar prenestr e serro an holl c'hoariadennoù.M'eo lakaet, ar pezh a vo anvet da rouanez hep diskouez an diviz diuzadenn anvadur.M'eo lakaet, ar pezhioù du a vo o fenn en traoñ, azasaet eo evit c'hoari en enep mignoned war ur pellgomzer hezoug.M'eo lakaet, an daol a droio goude kement fiñvadenn, da ziskwel ar pezh a wel en un doare naturel ar c'hoarier a zo dezhañ da c'hoari.M'eo lakaet, ar pezhig tapet a vo diskwelet e-kichen d'an daolig.M'eo lakaet, an amzer implijet gant ur c'hoarier evit fiñval a zo diskwelet.M'eo lakaet, ar mekanik da analizañ talvoudegezh an taolioù a zo diskouezet.M'eo lakaet, an daolig-c'hoari a ziskouezo lizheroù ha niveroù evit pep karrezenn. Ar re-se a zo implijet gant notadurioù an echedoù.M'eo lakaet, an dra-mañ a guzh an ivinell e-krec'h prenestr ar c'hoariadenn, pa n'eo ket ret.Ober fae ouzh al livioùDigempouezEmporzhiañ c'hoariadennoù notennaouet diwar endgame.nlEmporzhiañ chessfileEmporzhiañ c'hoariadennoù diwar theweekinchess.comAnalizadurioù difinKRoueMarc'hegerMarc'hegerienKuitaat ar Skramm-leunKarrezioù Gwenn:LightningLightning:Kargañ _ur c'hoariadenn nevez-flammMerañ al luskerienMunutennoù:FiñvetNAnvAnvioù: #n1, #n2Chom hep ober gwech ebet gant ar bevadurioù. Grit gant an dra-mañ war mekanikoù gwan.C'hoari Nevez_Diaz-roadenn NevezBev_adur ebetArsellerFinoù arsellet:Kinnig DiwezhatañKinnig DilezelKinnig ur bartienn RampoKinnig un EhanKinnig Adkregiñ gantiKinnig DioberLakaat da vevañ an taolioù hepkenLakaat da vevañ fiñvadennoù ar pezhioù hepken.PArventennoù:Pegañ FENPatronPingC'hoari _Echedoù war an InternetNotadur ar C'hoarierPo_rzhioù:Restr-levr lies-yezhel:Kavout gwelloc'h an notadurioù gant an tudennigoù-priArventennoùKas war-raokProtokol:PyChess.py:QRouanezRDil_ezelRummadurMarilhetAdderaouekaat al LivioùDisoc'hTourTro:KevreañEnrollañEnrollañ ar C'hoari _DindanEnrollañ ho c'hoariadennoù deoc'h-c'hwi hepkenEnrollañ talvoudegezhioù ar mekanik da analizañ an taolioùEnrollañ an diaz-roadenn evelEnrolladur an amzer aet e-bioù evit ar fiñvadennoùEnrollañ ar restroù dindan:ScoutGraph an enklaskoùKas un DaeadennKas an holl enklaskloùKas un enklaskDasparzhañ ar PezhioùDisk_wel an daveennoùBerr e amzer:Diskouez niverennoù ar c'hoari FICS en ivinelloù labelDiskouez _tammoù tapetDiskouez an amzer dremenet evit fiñvalDiskouez an talvoudegezhioù priziañTu da fiñvalPannel-kostezLec'hiennLec'hienn:Saezh sp_iaStandardStandard:Kregiñ gant ur Flapva PrevezAn analizer az aio en-dro en drek-leur hag e analizo ar c'hoari. Ret eo evit ma 'z aio en-dro evit ar mod sikour da vont en-dro.Anv ar c'hoarier kentañ denel diskouezet, d. sk., Yann.Anv ar c'hoarier pedet denel diskouezet, d. sk., Mari.An analizer eilpennet az aio en-dro evel ma vefe d'hoc'h enebour da c'hoari. Ret eo evit ma 'z aio en-dro evit ar mod spier da vont en-dro.TemoùAmzerAli an deiztitredTreiñ PyChessDistaliañDianavImplijout _dielfennerImplijout un dielfenner eilpennetImplijit diazoù-taolennoù _lec'helImplijit diazoù-taolennoù r_ouedadelOber gant an dielfenner:Grit gant anv ur stumm:Grit gant levraoueg an digoradurioùValigañsGwennELO Gwenn:D'ar re Wenn da FiñvalGwenn:Bloavezh, miz, deiz: #y, #m, #d_Aotren_Oberiennoù_Analizañ ar C'hoariEm-enrollañ ar c'hoariadennoù echuet dindan ur restr .pgn_Hopal ar Banniel_Eilañ FEN_Eilañ PGNNac'hañ_EmbannLusk_erioù_Ezporzhiañ al Lec'hiadurSkramm-leun_C'hoari_Hollek_Skoazell_Kuzhat an ivinelloù pa n'eus ket nemet ur c'hoariadenn digoret_Roudenn saezhAl_ioùDiwir mod:_Kargañ ur c'hoariadennGweler Kerzhlevr_Anv:C'hoari _NevezFiñvadennoù arsellet:Ger-tremen:Taol o treiñ_Enrollañ ar C'hoariEnklask/DaedennoùDi_skouez ar Panelloù-kostez_Sonioù_Ober gant ar bouton tostañ [X] evit lazhañ an holl c'hoariadennoùImplijout ar sonioù e PyChessDiskouezucixtaolennpychess-1.0.0/lang/br/LC_MESSAGES/pychess.po0000644000175000017500000044652013455543003017402 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2008 # Irriep Nala Novram , 2017-2018 # Irriep Nala Novram , 2016 # Irriep Nala Novram , 2016 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Breton (http://www.transifex.com/gbtami/pychess/language/br/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: br\n" "Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_C'hoari" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "C'hoari _Nevez" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "C'hoari _Echedoù war an Internet" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Kargañ ur c'hoariadenn" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Kargañ _ur c'hoariadenn nevez-flamm" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Enrollañ ar C'hoari" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Enrollañ ar C'hoari _Dindan" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "_Ezporzhiañ al Lec'hiadur" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Notadur ar C'hoarier" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "_Analizañ ar C'hoari" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Embann" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_Eilañ PGN" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "_Eilañ FEN" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "Lusk_erioù" #: glade/PyChess.glade:518 msgid "Externals" msgstr "Moladoù Diavez" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Oberiennoù" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Kinnig Dilezel" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Kinnig Diwezhatañ" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Kinnig ur bartienn Rampo" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Kinnig un Ehan" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Kinnig Adkregiñ ganti" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Kinnig Diober" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Hopal ar Banniel" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "Dil_ezel" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Goulenn c'hoari" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "Hopal _Banniel Emge" #: glade/PyChess.glade:673 msgid "_View" msgstr "Diskouez" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "Taol o treiñ" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "Skramm-leun" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Kuitaat ar Skramm-leun" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "Di_skouez ar Panelloù-kostez" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "Gweler Kerzhlevr" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "_Roudenn saezh" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "Saezh sp_ia" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "Diaz-roadenn" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "_Diaz-roadenn Nevez" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "Enrollañ an diaz-roadenn evel" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "Emporzhiañ chessfile" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "Emporzhiañ c'hoariadennoù notennaouet diwar endgame.nl" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "Emporzhiañ c'hoariadennoù diwar theweekinchess.com" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Skoazell" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Diwar-benn Chess" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Penaos c'hoari" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Treiñ PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Ali an deiz" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Pratik Chess" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Arventennoù" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "Anv ar c'hoarier kentañ denel diskouezet, d. sk., Yann." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Anv ar c'hoarier denel kentañ:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "Anv ar c'hoarier pedet denel diskouezet, d. sk., Mari." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Anv an eil c'hoarier denel:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Kuzhat an ivinelloù pa n'eus ket nemet ur c'hoariadenn digoret" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "M'eo lakaet, an dra-mañ a guzh an ivinell e-krec'h prenestr ar c'hoariadenn, pa n'eo ket ret." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "_Ober gant ar bouton tostañ [X] evit lazhañ an holl c'hoariadennoù" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "M'eo lakaet, ma klikit war arload-pennañ ar prenestr e serro an holl c'hoariadennoù." #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "Em- _dreiñ an daol d'ar c'hoarier denel a zo da c'hoari" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "M'eo lakaet, an daol a droio goude kement fiñvadenn, da ziskwel ar pezh a wel en un doare naturel ar c'hoarier a zo dezhañ da c'hoari." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "M'eo lakaet, ar pezh a vo anvet da rouanez hep diskouez an diviz diuzadenn anvadur." #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "Mod diskwel _Tal ouzh Tal" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "M'eo lakaet, ar pezhioù du a vo o fenn en traoñ, azasaet eo evit c'hoari en enep mignoned war ur pellgomzer hezoug." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "Diskouez _tammoù tapet" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "M'eo lakaet, ar pezhig tapet a vo diskwelet e-kichen d'an daolig." #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Kavout gwelloc'h an notadurioù gant an tudennigoù-pri" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "M'eo lakaet, PyChess a raio gant tudennoù-pri evit diskouez ar pezhioù fiñvet, e-plas evit lizherennoù-bras." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "Livañ ar fiñvadennoù analizet" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "M'eo lakaet, PyChess a livo ar fiñvadennoù analizet suboptimal e ruz." #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "Diskouez an amzer dremenet evit fiñval" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "M'eo lakaet, an amzer implijet gant ur c'hoarier evit fiñval a zo diskwelet." #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "Diskouez an talvoudegezhioù priziañ" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "M'eo lakaet, ar mekanik da analizañ talvoudegezh an taolioù a zo diskouezet." #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "Diskouez niverennoù ar c'hoari FICS en ivinelloù label" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "M'eo lakaet, an niverennoù c'hoari FICS a zo diskouezet en ivinell labeloù kichen d'an anvioù c'hoarier." #: glade/PyChess.glade:1402 msgid "General Options" msgstr "Dibarzhioù Pennañ" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "Daolig hollvev" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Pezhioù-bev, troidigezh an daolig ha muioc'h c'hoazh. Grit gant an dra-mañ war mekanikoù kreñv-kenañ." #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Lakaat da vevañ an taolioù hepken" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Lakaat da vevañ fiñvadennoù ar pezhioù hepken." #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Bev_adur ebet" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Chom hep ober gwech ebet gant ar bevadurioù. Grit gant an dra-mañ war mekanikoù gwan." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Bevadur" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_Hollek" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "Grit gant levraoueg an digoradurioù" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "M'eo lakaet, PyChess a ginnigo deoc'h an digoradurioù gwellañ er panell sikour." #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "Restr-levr lies-yezhel:" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "Implijit diazoù-taolennoù _lec'hel" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "M'eo lakaet, PyChess a ziskouezo deoc'h disoc'hoù c'hoari disheñvel evit fiñvadennoù e lec'hiadurioù oc'h enderc'hel 6 pezh pe nebeutoc'h.\nGellout a rit pellgargañ diaz-taolennoù restroù adalek:\nhttp://www.olympuschess.com/egtb/gaviota/" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "Gwenodenn Gaviota TB:" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "Implijit diazoù-taolennoù r_ouedadel" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "M'eo lakaet, PyChess a ziskouezo deoc'h disoc'hoù c'hoari evit fiñvadennoù disheñvel e lec'hiadurioù oc'h enderc'hel 6 pezh pe nebeutoc'h.\nMont a raio da glask al lec'hiadur war\nhttp://www.k4it.de/" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "O tigeriñ, fin ar c'hoari" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Implijout _dielfenner" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "An analizer az aio en-dro en drek-leur hag e analizo ar c'hoari. Ret eo evit ma 'z aio en-dro evit ar mod sikour da vont en-dro." #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Implijout un dielfenner eilpennet" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "An analizer eilpennet az aio en-dro evel ma vefe d'hoc'h enebour da c'hoari. Ret eo evit ma 'z aio en-dro evit ar mod spier da vont en-dro." #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "Analizadurioù difin" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "O tielfennañ" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "Al_ioù" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Distaliañ" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "Gweredekaa_t" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Pannel-kostez staliet" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "Pannel-kostez" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "skeudenn drekleur ar wenodenn:" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "Skram Degemer" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "Steuñvenn:" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Karrezioù Gwenn:" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "Kael" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Karrezioù Du:" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "Adderaouekaat al Livioù" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "Disk_wel an daveennoù" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "M'eo lakaet, an daolig-c'hoari a ziskouezo lizheroù ha niveroù evit pep karrezenn. Ar re-se a zo implijet gant notadurioù an echedoù." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "Stil an Daol" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "Echeder" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Temoù" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "Implijout ar sonioù e PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "Gwiriadenn ur c'hoarier:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Fiñvadenn ur c'hoarier:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Rampo:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Ar c'hoari 'zo _kollet:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Ar c'hoari 'zo _gounezet:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Pakadenn ur c'hoarier:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Ar c'hoari a zo staliet:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "Fiñvadennoù arsellet:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "Finoù arsellet:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "Berr e amzer:" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "Diwir mod:" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "Bevaat an alarm pa vez an eilennoù o chom da:" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Lenn ur Son Pa..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Sonioù" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "Em-enrollañ ar c'hoariadennoù echuet dindan ur restr .pgn" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Enrollañ ar restroù dindan:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "Grit gant anv ur stumm:" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "Anvioù: #n1, #n2" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "Bloavezh, miz, deiz: #y, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "Enrolladur an amzer aet e-bioù evit ar fiñvadennoù" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "Enrollañ talvoudegezhioù ar mekanik da analizañ an taolioù" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "Enrollañ ho c'hoariadennoù deoc'h-c'hwi hepken" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Enrollañ" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Kas war-raok" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Rouanez" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Tour" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Furlukin" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Marc'heger" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Roue" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Kas war-raok ar gwerin e petra?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "Dre-Ziouer" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "Marc'hegerien" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Titouroù ar C'hoari" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Lec'hienn:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "ELO Du:" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Du:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Tro:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "ELO Gwenn:" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Gwenn:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Darvoud:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "uci" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "xtaolenn" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "Merañ al luskerien" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Urzhiad:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protokol:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Arventennoù:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "Bro:" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "Sil" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Gwenn" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Du" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "Ober fae ouzh al livioù" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "Darvoud" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "ECO" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "Elo" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "0" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "-" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "Lec'hienn" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "Evezhiadenner" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Disoc'h" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "1-0" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "0-1" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "1/2-1/2" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "Valigañs" #: glade/PyChess.glade:6410 msgid "Header" msgstr "Talbenn" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "Digempouez" #: glade/PyChess.glade:6789 msgid "White move" msgstr "D'ar re Wenn da Fiñval" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "D'ar re Zu da Fiñval" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "Fiñvet" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "Paket" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "Tu da fiñval" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "Patron" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "Scout" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Dielfennañ ar c'hoari" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "Ober gant an dielfenner:" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "Analizañ diwar al lec'hiadur a-vremañ" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "Analizañ fiñvadennoù ar re zu" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "Analizañ fiñvadennoù ar re wenn" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "Ger-tremen:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Anv:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "Ostiz:" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Po_rzhioù:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "Kevreañ" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Daeadenn:" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Kas un Daeadenn" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Daeadenn:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Lightning:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Standard:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Blitz:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 mun" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Aotren" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "Nac'hañ" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "Kas an holl enklaskloù" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Kas un enklask" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Krouiñ un enklask" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Standard" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Blitz" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Lightning" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Urzhiataer" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "Enklask/Daedennoù" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Rummadur" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Amzer" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "Graph an enklaskoù" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 C'hoarier Prest" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Daeadenn" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Arseller" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Kregiñ gant ur Flapva Prevez" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "Marilhet" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Kouviad" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "titred" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Munutennoù:" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "C'hoari Nevez" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "Eilañ FEN" #: glade/newInOut.glade:143 msgid "Clear" msgstr "Dilemel" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "Pegañ FEN" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "C'hoarierien" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Dianav" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "N" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "B" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "R" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "Q" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "K" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Dasparzhañ ar Pezhioù" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Postel" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Anv" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/ml/0000755000175000017500000000000013467766037013612 5ustar varunvarunpychess-1.0.0/lang/ml/LC_MESSAGES/0000755000175000017500000000000013467766037015377 5ustar varunvarunpychess-1.0.0/lang/ml/LC_MESSAGES/pychess.mo0000644000175000017500000000315313467766035017412 0ustar varunvarunHCI !   m'5Yg,_$' $$"#G   PyChess is discovering your engines. Please wait.Analyze gameColorize analyzed movesLog on as _GuestMaximum analysis time in seconds:New GameObserveTime_Accept_Name:_Next_Password:_Start GameProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Malayalam (http://www.transifex.com/gbtami/pychess/language/ml/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: ml Plural-Forms: nplurals=2; plural=(n != 1); പൈചെസ്സ് നിങ്ങളുടെ എഞ്ചിനുകൾ കണ്ടെത്തുകയാണ്. ദെയവായി കാത്തിരിക്കുകകളി വിശകലനം ചെയ്യുകവിശകലനം ചെയ്ത നീകങ്ങൽക്കു നിറം നല്കുക_അദിതിയായി കേറുകവിശകലനത്തിനുള്ള പരമാവതി സമയം seconds-ഇൽപുതിയ കളിനിരീക്ഷിക്കുകസമയം അംഗീകരിക്കുക_ നാമം_അടുത്തതുപാസ്‍വേര്‍ഡ്_കളി തുടങ്ങുകpychess-1.0.0/lang/ml/LC_MESSAGES/pychess.po0000644000175000017500000043310513455542742017413 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2009 # Sreekumar , 2015 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Malayalam (http://www.transifex.com/gbtami/pychess/language/ml/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ml\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "വിശകലനം ചെയ്ത നീകങ്ങൽക്കു നിറം നല്കുക" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "വിശകലനത്തിനുള്ള പരമാവതി സമയം seconds-ഇൽ" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "കളി വിശകലനം ചെയ്യുക" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "പൈചെസ്സ് നിങ്ങളുടെ എഞ്ചിനുകൾ കണ്ടെത്തുകയാണ്. ദെയവായി കാത്തിരിക്കുക" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "പാസ്‍വേര്‍ഡ്" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_ നാമം" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "_അദിതിയായി കേറുക" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "അംഗീകരിക്കുക" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "സമയം " #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "നിരീക്ഷിക്കുക" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "_അടുത്തതു" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "പുതിയ കളി" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_കളി തുടങ്ങുക" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/eo/0000755000175000017500000000000013467766037013605 5ustar varunvarunpychess-1.0.0/lang/eo/LC_MESSAGES/0000755000175000017500000000000013467766037015372 5ustar varunvarunpychess-1.0.0/lang/eo/LC_MESSAGES/pychess.mo0000644000175000017500000000064213467766035017405 0ustar varunvarun$,8h9Project-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2012-06-08 23:19+0000 Last-Translator: FULL NAME Language-Team: Esperanto (http://www.transifex.com/gbtami/pychess/language/eo/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: eo Plural-Forms: nplurals=2; plural=(n != 1); pychess-1.0.0/lang/eo/LC_MESSAGES/pychess.po0000644000175000017500000043144713467735177017426 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2012-06-08 23:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Esperanto (http://www.transifex.com/gbtami/pychess/language/eo/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: eo\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/hi/0000755000175000017500000000000013467766037013602 5ustar varunvarunpychess-1.0.0/lang/hi/LC_MESSAGES/0000755000175000017500000000000013467766037015367 5ustar varunvarunpychess-1.0.0/lang/hi/LC_MESSAGES/pychess.mo0000644000175000017500000000477113467766036017412 0ustar varunvarun )C   !)KT\#e         %i/9i'+M.|&]%-Sk=   ?+ H i w   (      1200PyChess is discovering your engines. Please wait.Analyze gameBlitz:ChallengeHideLightning:Log on as _GuestMaximum analysis time in seconds:New GamePo_rts:Pre_viewPyChess - Connect to Internet ChessPyChess.py:S_ign upSave GameShredderLinuxChess:StandardStandard:TimeUse analyzer:_Accept_Clear Seeks_Help_Name:_New Game_Password:_Start Gamegnuchess:Project-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Hindi (http://www.transifex.com/gbtami/pychess/language/hi/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: hi Plural-Forms: nplurals=2; plural=(n != 1); 1200<बड़ा><बी>प्य्चेस्स आपके इंजनों की खोज कर रही है.कृपया प्रतीक्षा करें.<बी><बड़ा>खेल का विश्लेषण कीजिएहमले की तैयारी:चुनौतीछिपाएँबिजली:ळोग ओन अस _गुएस्तअधिकतम विश्लेषण समय सेकंड मे नया खेलपो_र्त्स:पूर्वावलोकन (_v)प्य्चेस्स - इंटरनेट शतरंज से जुड़ेंप्य्चेस्स.प्यस_इग्न उपखेल सहेजेंष्रेद्देरलिनक्सचेस्स:मानकमानक:समयविश्लेषक का उपयोग कीजिए_स्वीकारें_कलेअर सीक्समदद(_H)_नाम:नया खेल (_N)_पासवर्ड:खेल आरंभ करें (_S)ग्नुचेस्सpychess-1.0.0/lang/hi/LC_MESSAGES/pychess.po0000644000175000017500000043370113455542776017414 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2007 # Saiwal Krishna , 2016 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Hindi (http://www.transifex.com/gbtami/pychess/language/hi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "नया खेल (_N)" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "मदद(_H)" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "अधिकतम विश्लेषण समय सेकंड मे " #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "खेल का विश्लेषण कीजिए" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "विश्लेषक का उपयोग कीजिए" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "<बड़ा><बी>प्य्चेस्स आपके इंजनों की खोज कर रही है.कृपया प्रतीक्षा करें.<बी><बड़ा>" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "प्य्चेस्स.प्य" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ष्रेद्देरलिनक्सचेस्स:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "ग्नुचेस्स" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "प्य्चेस्स - इंटरनेट शतरंज से जुड़ें" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_पासवर्ड:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_नाम:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "ळोग ओन अस _गुएस्त" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "पो_र्त्स:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "स_इग्न उप" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "बिजली:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "मानक:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "हमले की तैयारी:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "_कलेअर सीक्स" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_स्वीकारें" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "मानक" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "समय" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "चुनौती" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "पूर्वावलोकन (_v)" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "छिपाएँ" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "नया खेल" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "खेल आरंभ करें (_S)" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "खेल सहेजें" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/da/0000755000175000017500000000000013467766037013566 5ustar varunvarunpychess-1.0.0/lang/da/LC_MESSAGES/0000755000175000017500000000000013467766037015353 5ustar varunvarunpychess-1.0.0/lang/da/LC_MESSAGES/pychess.mo0000644000175000017500000011407613467766036017376 0ustar varunvarunD<\$p0 q0|000%0`0(&1+O1'{1#101122#.2$R2'w22 2!2>253S3[3k3r3333'3@34/4@4U4p44#4$4445&5@5O5c5y555Q5& 6C167u6U6*7(.7W7m777 777 7 7 77788%8 C8P8Cd8 88 888 88*9,9 B9N9/P9Q999!:3: N:o:/:Q:#;*2;-];";+; ;K;%G<Om<3<$<6=#M=!q=-=&=-=;> R>s>x>> > > >$>#>%> ?" ?#C?g? n?x???????? ? ??? @ @@ 2@=@ L@ X@e@k@q@@@@@@@@ @ @@A#A9A @AKAcA lAxAAAAAA AAAAABGB`OB BB B B BBBB B C CCC #C/CEC `C nCzCCCCCCCCCC CCD D#D *D4D:DADFD ODYD _D kDwDXDcD]I@I EI/QII I IIIIII IJ J J'J,J ?J MJ ZJ fJ sJ JJJJJJ.J KK +K8KHK^KdK fKrKzK K K KKKK KKKLLL!L =LIL QL [L#eLL LLL L LLLLLLM MMM -M8M?M DMNMUM ^MhM mM wMMMMMM MM"MN!N 0N:NQNhN wNNNNNN NNNN O#O)O/O 8OBOUO\OoOO OOOhO"%PCHP5P9P3P0Q?QTQQ QZQR(RBR^RwR`RRSSSSSZS0TKCTATATUU(U7UFU UUV$V)V=V OV]V lV4vVVVV VV V VWW)W1WM6WWW W W W$W#W%W "X"-X#PXtX{XXXXXX9X?Y9ZY(YCY$Z&&ZMZ cZtZ%Z![&A[&h['[[[[ [ [ [ [ \ \\%\+\ <\H\ N\Y\b\%h\ \\\ \ \ \\ \\\ \ ]] "] /]9] B]$P]u] ]]]] ]]] ]]!])^8F^^^1^'^^_$_ ,_7_V_j_p_ _ _"_+___`*`G`M`!j` `` ` ````` a"a62a(iaaa aaaaa# b!/bQbqbub{bbjb cdd d*$d^Od.d,d* e$5e0Zeeee'e*e!f;f"Qf)tfGf fgg g'gBgGgcg6ig8gggg h(h?h4_h2hhhhii/iBiZikiihi2j=4j2rjTj-j'(kPkgkkkkkkk k kkl ll 1l Rl^l2sl lllll llBm!Jmlmm0mNm$n!(n!Jnln nn0nNn"=o$`o&o&o%o#oPp#np\p0p& qBGq!qq(q-q1#r9Urrrrr rr rrr s 8s4Cs3xss ssss s ssst t tt5tEt JtXtnt wt t tttttttt u uu u )u4uJu[utu |uuu uuuuuuuuuu*v2vGv<MvTvvvvv ww&w*w0w ?wLw Tw aw kwwww wwwwwwwww x"x2xFxWxnx wx x xxxxx xxxxxNx_8ycyWyLTz@zzz'{*{ 1{<{M{\{q{{{I{{{ |||| /|9|L|[|c|l|~| ||||||| |}},} 5} V} `} l}z}} }}}}8}} }} ~ .~8~?~]~c~u~~~ ~~~ ~~ ~ ~~,ENUh'      3GLS lx̀  ": Uacl} ā ʁՁ ܁    (37 @N_n  Ղ 5EV[v ƃ$̃  .5J\ eptI/9y,+ j,]9Qj^ ˆ?ۈA3=uA   Ċϊߊ 1 BOls  ċՋK Xb gq z 43"V\a!hCӍ@:X,B(*,W*s!#&E#l,%  1 ? KW^g { , ؑ   #-5 Q ^l} #Ӓ  (= BN&Q7x7  ?+Nz Ӕ  !.@o͕"ݕ&!'I L XezȖ:ږ+A _ ly$%* &*/7Y/!"+$&&~{\sp* < -3'YIV2>1iOSQhFw"#3n00 b#:v-`$(M2 H7 6wC,B0 PMRGx>u7OA|m:leA,oH=X: ;7@[456)d<%%fLx|V9U(~Kbt<L4u$={ B!yDS@  m9"ec@84`T+1.gz]W ?*F*dDJgA9;'yp^ h;Qn>1D+sZB\q X^Cal&cjrq/5I_=r)-izjk[EZ (8W'k)Nt_?P. R % E.N?CG2!a} f]8,v6#/KJT3o5U} Gain: chess min%(black)s won the game%(color)s got a double pawn %(place)s%(color)s got an isolated pawn in the %(x)s file%(color)s got isolated pawns in the %(x)s files%(color)s got new double pawns %(place)s%(color)s has a new passed pawn on %(cord)s%(color)s moves a %(piece)s to %(cord)s%(minutes)d min + %(gain)d sec/move%(opcolor)s has a new trapped bishop on %(cord)s%(white)s won the game%d min%s can no longer castle%s can no longer castle in kingside%s can no longer castle in queenside%s moves pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent'%s' is a registered name. If it is yours, type the password.'%s' is not a registered name(Blitz)0 Players Ready0 of 010 min + 6 sec/move, White12002 min, Fischer Random, Black5 minPromote pawn to what?PyChess was unable to load your panel settingsAnalyzingAnimationChess VariantEnter Game NotationInitial PositionInstalled SidepanelsName of _first human player:Name of s_econd human player:Open GameOpponent StrengthOptionsPlay Sound When...PlayersTime ControlWelcome screenYour Color_Connect to server_Start GameA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedPyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to save file '%s'Unknown file type '%s'Challenge:A player _checks:A player _moves:A player c_aptures:About ChessAc_tiveActive seeks: %dAdd commentAddress ErrorAdministratorAlbaniaAlgeriaAll Chess FilesAnalyze black movesAnalyze from current positionAnalyze gameAnalyze white movesAnimate pieces, board rotation and more. Use this on fast machines.ArgentinaArmeniaAsk to _MoveAsymmetric RandomAsymmetric Random AustraliaAustriaAuto _rotate board to current human playerAuto login on startupAuto-logoutBBecause %(black)s lost connection to the serverBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s king explodedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause %(mover)s stalematedBecause %(white)s lost connection to the serverBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause %(winner)s has fewer piecesBecause %(winner)s king reached the centerBecause %(winner)s king reached the eight rowBecause %(winner)s lost all piecesBecause %(winner)s was giving check 3 timesBecause a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both players agreed to a drawBecause both players agreed to abort the game. No rating changes have occurred.Because both players have the same amount of piecesBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBecause the server was shut downBeepBishopBlackBlack ELO:Black O-OBlack O-O-OBlack has a new piece in outpost: %sBlack has a rather cramped positionBlack has a slightly cramped positionBlack moveBlack should do pawn storm in leftBlack should do pawn storm in rightBlack:BlindfoldBlindfold AccountBlitzBlitz:Blitz: 5 minCalculating...CanadaCapturedCenter:ChallengeChallenge: Challenge: Change ToleranceChatChess AdvisorChess Alpha 2 DiagramChess GameChess PositionChess ShoutChess clientChileChinaClassical: 3 min / 40 movesClockClose _without SavingColombiaColorize analyzed movesCommand:CommentsComputerComputersConnectingConnecting to serverConnection ErrorConnection was closedCornerCosta RicaCould not save the fileCountry:Create SeekCroatiaCubaCôte d'IvoireDark Squares :DatabaseDateDate/TimeDefaultDenmarkDestination Host UnreachableDetect type automaticallyDiedDo you know that it is possible to finish a chess game in just 2 turns?Do you know that the number of possible chess games exceeds the number of atoms in the Universe?Don't careDrawEdit SeekEdit Seek: Edit commentEgyptEloEmailEndgame TableEnter GameEstoniaEvent:ExamineFIDE MasterF_ull board animationFace _to Face display modeFaroe IslandsFile existsFilterFinlandFischer RandomFranceFriendsGain:Game informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Games running: %dGeorgiaGrand MasterGreeceGuatemalaGuestGuestsHideHondurasHong KongHost:How to PlayHuman BeingHungaryIf set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If you don't save, new changes to your games will be permanently lost.Ignore colorsImport chessfileImport games from theweekinchess.comIndiaIndonesiaInfinite analysisInitial positionInternational MasterInvalid move.IrelandIsraelIt is not possible later to continue the game, if you don't save it.Jump to initial positionJump to latest positionKKingKnightKnight oddsKnightsLeave _FullscreenLight Squares :LightningLightning:Load _Recent GameLoading player dataLocal EventLocal SiteLog on ErrorLog on as _GuestLogging on to serverLosersLossMamer ManagerManualManually accept opponentMate in %dMaximum analysis time in seconds:Minutes:Minutes: More channelsMore playersMove HistoryMove numberNNameNetherlandsNever use animation. Use this on slow machines.New GameNew _DatabaseNo _animationNo conversation's selectedNo soundNormalNormal: 40 min + 15 sec/moveNorwayNot AvailableObserveObserved _ends:ObserversOddsOffer Ad_journmentOffer RematchOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpen GameOpen Sound FileOpening BookOpponent RatingOpponent's strength: OtherPParameters:PatternPawnPawn oddsPawns PassedPawns PushedPingPlayPlay Fischer Random chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer _RatingPo_rts:Pre_viewPrefer figures in _notationPreferencesPrivatePromotionProtocol:PyChess - Connect to Internet ChessPyChess Information WindowPyChess.py:QQueenQueen oddsQuit PyChessRR_esignRandomRapidRapid: 15 min + 10 sec/moveRatedRated gameRatingReading %s ...RegisteredResultRookRook oddsRound:S_ign upSanctionsSaveSave GameSave Game _AsSave database asSave files to:Save moves before closing?ScoreSearch:Seek _GraphSelect sound file...Select the games you want to save:Send ChallengeSend all seeksSend seekService RepresentativeSetting up environmentSetup PositionSho_w cordsShoutShow _captured piecesShow tips at startupShredderLinuxChess:ShuffleSide_panelsSimple Chess PositionSite:Sorry '%s' is already logged inSp_y arrowSpainSpentStandardStandard:Start Private ChatStatusStep back one moveStep forward one moveSuicideTeam AccountThe abort offerThe adjourn offerThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The flag callThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe reason is unknownThe resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe takeback offerThere is %d game with unsaved moves.There are %d games with unsaved moves.This option is not applicable because you're challenging a playerThis option is not available because you're challenging a guest, TimeTime control: Tip Of The dayTip of the DayTo save a game Game > Save Game As, give the filename and choose where you want to be saved. At the bottom choose extension type of the file, and Save.Tolerance:Tournament DirectorTranslate PyChessTypeUnable to accept %sUndescribed panelUndo one moveUndo two movesUninstallUnited Kingdom of Great Britain and Northern IrelandUnknownUnofficial channel %dUnratedUnregisteredUntimedUpside DownUse _analyzerUse _inverted analyzerUse opening _bookVariantWaitWas unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.WelcomeWhiteWhite ELO:White O-OWhite O-O-OWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite has a slightly cramped positionWhite moveWhite should do pawn storm in leftWhite should do pawn storm in rightWhite:WildWinWin by giving check 3 timesWoman FIDE MasterWoman Grand MasterWoman International MasterYou can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou can't select a variant because "Untimed" is checked, You can't switch colors during the game.You have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou have tried to undo too many moves.You sent a draw offerYour opponent asks you to hurry!Your opponent has asked that the game be aborted. If you accept this offer, the game will end with no rating change.Your opponent has offered you a draw.Your opponent is not out of time.Your opponent wants to abort the game.Your opponent wants to pause the game.Your opponent wants to resume the game.Your strength: _Accept_Actions_Analyze Game_Archived_Call Flag_Clear Seeks_Copy FEN_Copy PGN_Decline_Edit_Export Position_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hint arrow_Hints_Invalid move:_Load Game_Log Viewer_My games_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Use sounds in PyChess_View_Your Color:andand guests can't play rated gamesand on FICS, untimed games can't be ratedand on FICS, untimed games have to be normal chess rulesask your opponent to moveblackbrings a %(piece)s closer to enemy king: %(cord)sbrings a pawn closer to the backrow: %scall your opponents flagcaptures materialcastlesdefends %sdevelops a %(piece)s: %(cord)sdevelops a pawn: %sdrawsexchanges materialgnuchess:half-openhttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyin the %(x)s%(y)s filein the %(x)s%(y)s filesincreases the pressure on %smatesmoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %sofoffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalpins an enemy %(oppiece)s on the %(piece)s at %(cord)splaces a %(piece)s more active: %(cord)spromotes a Pawn to a %sputs opponent in checkrescues a %sresignsecslightly improves king safetytakes back materialthe captured cord (%s) is incorrectthe move needs a piece and a cordthreatens to win material by %svs.whitewindow1xboardProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Danish (http://www.transifex.com/gbtami/pychess/language/da/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: da Plural-Forms: nplurals=2; plural=(n != 1); Ekstra: skak min%(black)s vandt spillet%(color)s har en dobbelbonde på %(place)s%(color)s har en isoleret bonde i %(x)s filen%(color)s har isolerende bønder i %(x)s filerne%(color)s har nye dobbeltbønder på %(place)s%(color)s har en passeret bonde på %(cord)s%(color)s rykker en %(piece)s til %(cord)s%(minutes)d min + %(gain)d sek/træk%(opcolor)s har en ny fanget løbet på %(cord)s%(white)s vandt spillet%d min%s kan ikke længere rokere%s kan ikke længere rokere i kongeside%s kan ikke længere rokere i droningeside%s rykker en bonde i murformation%s returnerer en fejl%s blev afslået af din modstander%s blev trukket tilbage af din modstanderNavnet '%s' er allerede registreret. Hvis det er dit, angiv passwordet.'%s' er ikke et registreret navn(Hurtig)0 Spillere Klar0 af 010 min + 6 sek/træk, Hvid12002 min, Fischer Random, Sort5 minHvad vil du forfremme din bonde til?PyChess kunne ikke indlæse dine panerAnalyseAnimationSkakvariantIndtast spilnotationUdgangspositionInstallerede sidepanelerNavnet på den _første menneskelige spiller:Navnet på den and_en menneskelige spiller:Åben spilModstanderstyrkeValgmulighederSpil lyd når...SpillereTidskontrolVelkomst billedeDin farveForbind til server_Start spilDer eksisterer allerede en fil ved navnet '%s'. Kunne du tænke dig at overskrive den?Skakprogrammet, %s, er gået nedPyChess finder dine motorer. Vent venligst.PyChess kunne ikke gemme spilletDer er %d spil med ugemte træk. Gem ændringerne før du slutter?Kunne ikke gemme filen '%s'Ukendt filttype: '%s'Udfordring:En spiller sætter _skak:En spiller _trækker:En brik _slås:Om skakAk_tivAktive opfordringer: %dTilføj kommentarAdresse fejlAdministratorAlbanienAlgerietAlle skakfilerAnalyser sorte trækAnalyser fra nuværende stillingSpilanalyseAnalyser hvide trækAnimér brikker, brætrotation og mere. Anbefalet.ArgentinaArmenienBed om at _rykkeAsymmetrisk RandomAsymmetrisk tilfældigAustralienØstrigAutomatisk _rotér brættet til den spillende menneskelige spillerAutomatisk login ved programstartAutomatisk aflogningLFordi %(black)smistede forbindelsen til serverenFordi %(black)s løb tør for tid og %(white)s ikke har materiale til at vindeFordi %(loser)s afbrød forbindelsenFordi %(loser)s konge exploderedeFordi %(loser)s løb tør for tidFordi %(loser)s opgavFordi %(loser)s blev sat skakmatFordi %(mover)s satte patFordi %(white)smistede forbindelsen til serverenFordi %(white)s løb tør for tid og %(black)s ikke har materiale til at vindeFordi %(winner)shar færre brikkerFordi %(winner)skonge nåede centrumFordi %(winner)skonge nåede 8. rækkeFordi %(winner)s har tabt alle brikkerFordi %(winner)sblev sat skak 3 gangeFordi en spiller tabte forbindelsenFordi en spillet tabte forbindelsen og den anden spiller anmodede om udsættelseFordi spillerne blev enige om remisFordi begge spillere enedes om at afbryde partiet. Der er ikke sket nogen ændring i rating.Fordi begge spillere har det samme antal brikkerFordi begge spillere løb tør for tidFordi ingen af spillerne har tilstrækkelig materiale for at vindePågrund af en admins bedømmelseFordi den %(white)s motor dødeFordi vi tabte forbindelsen til serverenFordi spillet overskred den maksimale længdeFordi de sidste 50 træk ikke har bragt noget nytFordi den samme position har er blevet gentaget tre gangeFordi serveren blev lukket nedBipLøberSortSort ELO:Sort O-OSort O-O-OSort har en ny forpost: %sSort har en ret lukket positionSort har en lidt lukket positionSort trækSort burde iværksætte en bondestorm i venstre sideSort burde iværksætte en bondestorm i højre sideSort:BlindskakBlindskakbrugerHurtigHurtig:Blitz: 5 minBeregner...CanadaSlåetCenter:UdfordringUdfordr: Udfordring: Ændr toleranceChatSkakrådgiverChess Alpha 2 diagramSkakspilSkakpositionRåb om skakSkak programChileKinaKlassisk: 3 min / 40 trækTidLuk _uden at gemmeColombiaFarvelæg analyserede trækKommando:KommentarerComputerComputereTilslutterTilslutter til serverForbindelsesfejlForbindelsen blev lukketHjørneCosta RicaKunne ikke gemme filenLand:Ny OpfordringKroatienCubaElfenbenskystenSorte felter :DatabaseDatoDato/tidStandardDanmarkBestemmelsesstedets vært er utilgængeligFind type automatiskDødeVidste du, at det er muligt at vinde et spil i kun to træk?Vidste du at antallet af mulige skakspil overskrider antallet af atomer i universet?LigegladRemiRedigérRedigér opfordring: Rediger kommentarEgyptenEloEmailSlutspilstabelIndtast spilEstlandSammenhæng:UndersøgFIDE MesterF_uld brætanimationAnsigt _til ansigts visningFærøerneFilen eksistererFilterFinlandFischer RandomFrankrigVennerEkstraSpil informationSpillet ender i _remis:Spillet _tabes:Spillet er _sat op:Spillet _vindes:Igangværende spil: %dGeorgienStormesterGrækenlandGuetemalaGæstGæsterSkjulHondurasHong KongHost:Hvordan man spillerMenneskeUngarnDette bruger figurer, når skaktræk udtrykkes, i steddet for store bogstaver.Dette spejler de sorte brikker på en måde, der gør det nemt at spille med venner på tavler.Dette drejer brættet efter hvert træk, så det vises naturligt for den spiller, der skal trække.Dette viser række- og kolonnenavne på skakbrættet. Det er brugbart for skaknotation.Dette skjuler fanebladet i toppen af vinduet, når der ikke er brug for det.Hvis du ikke gemmer, vil nye ændringer til spillene blive tabt.Ignorer farverImporter skakfilImporter partier fra theweekinchess.comIndienIndonesienUendelig analyseUdganspositionInternational MasterUgyldigt træk.IrlandIsraelDet er ikke muligt senere at fortsætte spillet, hvis du ikke gemmer det.Hop til startpositionenHop til den sidste positionKKongeSpringerSpringerhandicapSpringereForlad _fuldskærmHvide felter :LynskakLynskak:Åbn seneste spilHenter spiller dataLokalt spilLige i nærhedenKunne ikke logge påLog på som_GæstLogger ind på serverenAntiTabteMamer ManagerManuelAcceptér modstandere manueltMat i %dMakisimal analysetid i sekunder:Minutter:Minutter: Flere kanalerFlere spillereNotationTræk nummerSNavnHollandBrug aldrig animation. Anbefalet for langsomme maskiner.Nyt spilNy DatabaseIngen _animationDu har ikke valgt nogen samtalerIngen lydNormalNormal: 40 min + 15 sek/trækNorgeIkke tilgængeligObserverObserveret spil _slutter:TilskuereHandicapTilbyd uds_ættelseTilbyd omkampTilbyd _afbrydelseTilbyd _remisTilbyd _pauseTilbyd genopta_gelseSpørg om lov at fortr_ydeOfficielt PyChess panel.AfkobletonlineAnimér kun _trækAnimér kun brikkerne.Kun registrerede brugere må snakke herÅbn spilÅben lydfilÅbningsbogModstanders ratingModstanderstyrke: AndetBParametre:MønsterBondeBondehandicapBønderne passeretBønderne fremskudtPingAfspilSpil Fischer Random skakSpil omkampSpil _InternetskakSpil med normale reglerSpiller _RatingPo_rteForhånds_visningForetræk figurer i _notationenPræferencerPrivatForfremmelseProtokol:PyChess - Forbind til internetskakPyChess InformationsvinduePyChess.py:DDronningDroningehandicapAfslut PyChessTOpgivTilfældigHurtigHurtig: 15 min + 10 sek/trækRatedRated spilRatingLæser %s ...RegistreretResultatTårnTårnhandicapRunde:Opret _brugerSanktionerGemGem spilGem spil _somGem database somGem filer som:Gem trækkene før vi lukker?UdviklingSøg:_GrafvisningVælg lydfil...Vælg de spil du vil gemme:Send UdfordringSend alle søgningerSend opfordringServicerepræsentantSætter det sidste opSet position opV_is koordinaterRåbVis brikker som er _slåetVis tips ved startShredderLinuxChess:ShuffleSide_panelerSimpel skakpositionSted:Beklager '%s' er allerede logget indSpion pilSpanienBrugtStandardStandard:Start Privat ChatStatusGå et træk tilbageGå et træk fremSelvmordHoldbrugerTIlbudet om afbrydelseTilbudet om udskydelseChatpanelet lader dig kommunikere med din modstander i løbet af spillet. Hvis altså han eller hun er interesseret.Uret er endnu ikke startet.Kommentarpanelet forsøger at analysere og forklare de træk, der rykkes.Forbindelsen blev afbrudt. Mødte slutningen af strømmenNavnet på den første spiller, f.eks. Jens.Navnet på gæstespilleren, f.eks. Kirsten.Tilbudet om remiFejlen var: %sFilnavnet er allerede brugt i mappen '%s'. Hvis du overskriver den, vil dens nuværende indhold forsvinde.Kravet om tidssejrSpillet kan ikke læses til ende, fordi der var en fejl i trækket %(moveno)s '%(notation)s'.Spillet endte uafgjortSpillet er blevet afbrudtSpillet er blevet udsatSpillet er blevet dræbtTrækket fejlede fordi %s.Notationspanelet gemmer hvad spillerne trækker, og lader dig navigere gennem spilhistorikken.Tilbudet om at skifte sideÅbningsbogen forsøger i åbningsfasen at inspirere dig til at prøve nye træk, ved at vise dig hvad forskellige stormestre typiske ville rykke.TIlbudet om pauseÅrsagen er ukendtOpgivelsenTilbudet om genoptagelsePanelet viser udviklingen i de pointtal hver position tildeles.Tilbudet om fortrydelseDer er %d spil med ugemte træk.Der er %d spil med ugemte træk.Denne mulighed kan ikke bruges, fordi du udfordrer en spillerDenne mulighed er ikke tilgængelig fordi du udfordrer en gæst, TidTidskontrol: Dagens tipDagens tipFor at gemme et spil Spil > Gem spillet som, giv filnavnet og vælg hvor du vil have det gemt. I bunden vælger du en filtype og trykker Gem.Tolerance:TurneringslederOversæt PyChessTypeKunne ikke acceptere %sUbeskrævet panelFortryd ét trækFortryd to trækAfinstallérStorbrittanien og NordirlandUkendtUofficiel kanal %dIkke ratedIkke registreretUden tidsbegrænsningPå hovedetBrug _analysatorBrug _omvendt analysatorBrug åbningsbogVariantVentKunne ikke gemme '%(uri)s' fordi PyChess ikke kender formatet '%(ending)s'.VelkommenHvidHvid ELO:Hvid O-OHvid O-O-OHvid har en ny forpost: %sHvid har en ret lukket positionHvid har en lidt lukket positionHvidt trækHvid burde iværksætte en bondestorm i venstre sideHvid burde iværksætte en bondestorm i højre sideHvid:WildVundneVinder ved at sætte skak 3 gangeKvindelig FIDE mesterKvindelig StormesterKvindelig Internatioal mesterDu kan ikke spille ratede spil, fordi "Ubegrænset" er slået til, Du kan ikke spille ratede spil, fordi du er logget på som gæstDu kan ikke vælge en variant fordi "Ubegrænset" er sat, Du kan ikke skifte side i løbet af spillet.Du er blevet logget af fordi du var inaktiv i mere end 60 minutterDu har ikke startet nogen samtaler endnuDu har bedt om at udskyde for mange træk.Du har sendt et remistilbudDin modstander beder dig om at skynde sig!Din modstander har bedt om at spillet bliver afbrudt. Hvis du accepterer tilbuddet, vil spillet slutte uden nogen ændring i rating.Din modstander har tilbudt remis.Din modstander har stadig tid tilbage.Din modstander vil afbryde spillet.Din modstander vil sætte partiet på pause.Din modstander vil genoptage partiet.Din styrke: _Acceptér_Handlinger_Analyser Parti_Gemt_Kræv sejr ved tid_Nulstil alle_Kopier FEN_Kopier PGN_Afvis_Rediger_Eksporter Stilling_Fuldskærm_Parti_Spilliste_Generelt_Hjælp_Skjul faneblade, når kun et spil er åbent_Hint pil_HintsUlovligt træk:_Åbn spil_Logviser_Mine partier_Navn:_Nyt spil_Næste_Observeret spiller rykker:M_odstander:_Adgangskode:Spil normal skakS_piller liste_Forrige_Overskriv_Rotér brædt_Gem %d dokument_Gem %d dokumenter_Gem %d dokumenter_Gem spil_Op- og Udfordringer_Vis sidepaneler_Lyde_Start spil_Brug lyde i PyChess_Vis_Din farve:ogog gæster kan ikke spille ratede spilog på FICS skal alle ratede spil være tidsbegrænsedeog på FICS kan kun normale spil være tidsubegrænsedebed din modstander om at trækkesortbringer en %(piece)s tættere på modstanderens konge: %(cord)srykker en bonde tættere på bagrækken: %skræv sejr ved tidvinder materialerokererforsvarer %sudvikler en %(piece)s: %(cord)sudvikler en bonde: %ssætter remisudbytter materialegnuchess:halvåbenhttp://da.wikipedia.org/wiki/Skakhttp://da.wikipedia.org/wiki/Skak#Spillereglerforbedrer kongens sikkerhedi %(x)s%(y)s fileni %(x)s%(y)s filerneforhøjrer presset på %ssætter skakmatrykker et tårn til en åben linjerykker et tårn til en halvåben linjerykker en løber i fianchetto: %saftilbyd remitilbyd pauseanmod of at fortrydetilbyd at afbrydetilbyd at udskydetilbyd at genoptagetilbyd at skifte sidepå nettet totaltlåser en fjendtlig %(oppiece)s på %(piece)s på %(cord)splacerer en %(piece)s mere aktivt: %(cord)sforfremmer en bonde til en %ssætter skakredder en %sopgivsekforbedrer kongens sikkerhed en smulegenvinder materialeden slåede koordinat (%s) er forkerttrækket skal have en brik og en koordinattruer med at slå på %smodhvidwindow1xboardpychess-1.0.0/lang/da/LC_MESSAGES/pychess.po0000644000175000017500000046254113455542725017376 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # Peter Hansen , 2016-2018 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Danish (http://www.transifex.com/gbtami/pychess/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Parti" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Nyt spil" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Spil _Internetskak" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Åbn spil" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Åbn seneste spil" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Gem spil" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Gem spil _som" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "_Eksporter Stilling" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Spiller _Rating" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "_Analyser Parti" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Rediger" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_Kopier PGN" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "_Kopier FEN" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Handlinger" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Tilbyd _afbrydelse" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Tilbyd uds_ættelse" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Tilbyd _remis" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Tilbyd _pause" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Tilbyd genopta_gelse" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Spørg om lov at fortr_yde" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Kræv sejr ved tid" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "Opgiv" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Bed om at _rykke" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Vis" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Rotér brædt" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Fuldskærm" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Forlad _fuldskærm" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "_Vis sidepaneler" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_Logviser" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "_Hint pil" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "Spion pil" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "Database" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "Ny Database" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "Gem database som" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "Importer skakfil" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "Importer partier fra theweekinchess.com" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Hjælp" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Om skak" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Hvordan man spiller" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Oversæt PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Dagens tip" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Skak program" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Præferencer" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "Navnet på den første spiller, f.eks. Jens." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Navnet på den _første menneskelige spiller:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "Navnet på gæstespilleren, f.eks. Kirsten." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Navnet på den and_en menneskelige spiller:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Skjul faneblade, når kun et spil er åbent" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Dette skjuler fanebladet i toppen af vinduet, når der ikke er brug for det." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "Automatisk _rotér brættet til den spillende menneskelige spiller" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Dette drejer brættet efter hvert træk, så det vises naturligt for den spiller, der skal trække." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "Ansigt _til ansigts visning" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Dette spejler de sorte brikker på en måde, der gør det nemt at spille med venner på tavler." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "Vis brikker som er _slået" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Foretræk figurer i _notationen" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "Dette bruger figurer, når skaktræk udtrykkes, i steddet for store bogstaver." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "Farvelæg analyserede træk" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "F_uld brætanimation" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Animér brikker, brætrotation og mere. Anbefalet." #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Animér kun _træk" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Animér kun brikkerne." #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Ingen _animation" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Brug aldrig animation. Anbefalet for langsomme maskiner." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animation" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_Generelt" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "Brug åbningsbog" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Brug _analysator" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Brug _omvendt analysator" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "Makisimal analysetid i sekunder:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "Uendelig analyse" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analyse" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_Hints" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Afinstallér" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "Ak_tiv" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Installerede sidepaneler" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "Side_paneler" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "Velkomst billede" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Hvide felter :" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Sorte felter :" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "V_is koordinater" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "Dette viser række- og kolonnenavne på skakbrættet. Det er brugbart for skaknotation." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Brug lyde i PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "En spiller sætter _skak:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "En spiller _trækker:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Spillet ender i _remis:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Spillet _tabes:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Spillet _vindes:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "En brik _slås:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Spillet er _sat op:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "_Observeret spiller rykker:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "Observeret spil _slutter:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "Ulovligt træk:" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Spil lyd når..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Lyde" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Gem filer som:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Gem" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Forfremmelse" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Dronning" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Tårn" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Løber" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Springer" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Konge" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Hvad vil du forfremme din bonde til?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "Standard" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "Springere" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Spil information" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Sted:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "Sort ELO:" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Sort:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Runde:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "Hvid ELO:" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Hvid:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Sammenhæng:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "xboard" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Kommando:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protokol:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Parametre:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "Land:" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "Filter" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Hvid" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Sort" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "Ignorer farver" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "Elo" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Dato" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Resultat" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "Variant" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "Hvidt træk" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "Sort træk" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "Slået" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "Mønster" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Spilanalyse" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "Analyser fra nuværende stilling" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "Analyser sorte træk" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "Analyser hvide træk" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess finder dine motorer. Vent venligst." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Forbind til internetskak" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Adgangskode:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Navn:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Log på som_Gæst" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "Host:" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Po_rte" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "Opret _bruger" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Udfordring: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Send Udfordring" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Udfordring:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Lynskak:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Standard:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Hurtig:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "2 min, Fischer Random, Sort" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 min + 6 sek/træk, Hvid" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 min" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "_Nulstil alle" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Acceptér" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Afvis" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "Send alle søgninger" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Send opfordring" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Ny Opfordring" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Standard" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Hurtig" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Lynskak" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Computer" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "_Op- og Udfordringer" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Rating" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Tid" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "_Grafvisning" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 Spillere Klar" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Udfordring" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Observer" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Start Privat Chat" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "Registreret" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Gæst" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "S_piller liste" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "_Spilliste" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "_Mine partier" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "Undersøg" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "Forhånds_visning" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "_Gemt" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "Asymmetrisk tilfældig" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Redigér" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Uden tidsbegrænsning" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minutter: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr " Ekstra: " #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Tidskontrol: " #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Tidskontrol" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Ligeglad" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Din styrke: " #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Hurtig)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Modstanderstyrke: " #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Center:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Tolerance:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Skjul" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Modstanderstyrke" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Din farve" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Spil med normale regler" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Afspil" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Skakvariant" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Rated spil" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Acceptér modstandere manuelt" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Valgmuligheder" #: glade/findbar.glade:6 msgid "window1" msgstr "window1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 af 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Søg:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Forrige" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Næste" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Nyt spil" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Start spil" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Spillere" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "Blitz: 5 min" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "Hurtig: 15 min + 10 sek/træk" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "Normal: 40 min + 15 sek/træk" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "Klassisk: 3 min / 40 træk" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "Spil normal skak" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Spil Fischer Random skak" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Åben spil" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Udgangsposition" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Indtast spilnotation" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "Træk nummer" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "Sort O-O" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "Sort O-O-O" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "Hvid O-O-O" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "Hvid O-O" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Afslut PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Luk _uden at gemme" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "_Gem %d dokumenter" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "Der er %d spil med ugemte træk. Gem ændringerne før du slutter?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Vælg de spil du vil gemme:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Hvis du ikke gemmer, vil nye ændringer til spillene blive tabt." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "M_odstander:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_Din farve:" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "_Start spil" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "Automatisk login ved programstart" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "Forbind til server" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Dagens tip" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Vis tips ved start" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://da.wikipedia.org/wiki/Skak" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://da.wikipedia.org/wiki/Skak#Spilleregler" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Velkommen" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Åbn spil" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "Læser %s ..." #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "Din modstander har tilbudt remis." #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "Din modstander vil afbryde spillet." #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "Din modstander har bedt om at spillet bliver afbrudt. Hvis du accepterer tilbuddet, vil spillet slutte uden nogen ændring i rating." #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "Din modstander vil sætte partiet på pause." #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "Din modstander vil genoptage partiet." #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "Opgivelsen" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "Kravet om tidssejr" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "Tilbudet om remi" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "TIlbudet om afbrydelse" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "Tilbudet om udskydelse" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "TIlbudet om pause" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "Tilbudet om genoptagelse" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "Tilbudet om at skifte side" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "Tilbudet om fortrydelse" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "opgiv" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "kræv sejr ved tid" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "tilbyd remi" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "tilbyd at afbryde" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "tilbyd at udskyde" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "tilbyd pause" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "tilbyd at genoptage" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "tilbyd at skifte side" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "anmod of at fortryde" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "bed din modstander om at trække" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Din modstander har stadig tid tilbage." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "Uret er endnu ikke startet." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "Du kan ikke skifte side i løbet af spillet." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "Du har bedt om at udskyde for mange træk." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Din modstander beder dig om at skynde sig!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "%s blev afslået af din modstander" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s blev trukket tilbage af din modstander" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "Kunne ikke acceptere %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s returnerer en fejl" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "Chess Alpha 2 diagram" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Skakposition" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Ukendt" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Simpel skakposition" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Skakspil" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "Ugyldigt træk." #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "Spillet kan ikke læses til ende, fordi der var en fejl i trækket %(moveno)s '%(notation)s'." #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "Trækket fejlede fordi %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "Bestemmelsesstedets vært er utilgængelig" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Døde" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Lokalt spil" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Lige i nærheden" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "sek" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "Albanien" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "Armenien" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "Argentina" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "Østrig" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "Australien" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "Canada" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "Elfenbenskysten" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "Chile" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "Kina" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "Colombia" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "Costa Rica" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "Cuba" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "Danmark" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "Algeriet" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "Estland" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "Egypten" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "Spanien" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "Finland" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "Færøerne" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "Frankrig" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "Storbrittanien og Nordirland" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "Georgien" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "Grækenland" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "Guetemala" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "Hong Kong" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "Honduras" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "Kroatien" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "Ungarn" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "Indonesien" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "Irland" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "Israel" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "Indien" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "Holland" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "Norge" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Bonde" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "B" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "S" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "L" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "T" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "D" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "K" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Spillet endte uafgjort" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s vandt spillet" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s vandt spillet" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "Spillet er blevet dræbt" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Spillet er blevet udsat" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Spillet er blevet afbrudt" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "Fordi ingen af spillerne har tilstrækkelig materiale for at vinde" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "Fordi den samme position har er blevet gentaget tre gange" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "Fordi de sidste 50 træk ikke har bragt noget nyt" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Fordi begge spillere løb tør for tid" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "Fordi %(mover)s satte pat" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "Fordi spillerne blev enige om remis" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "Pågrund af en admins bedømmelse" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "Fordi spillet overskred den maksimale længde" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "Fordi %(white)s løb tør for tid og %(black)s ikke har materiale til at vinde" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "Fordi %(black)s løb tør for tid og %(white)s ikke har materiale til at vinde" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "Fordi begge spillere har det samme antal brikker" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "Fordi %(loser)s opgav" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "Fordi %(loser)s løb tør for tid" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "Fordi %(loser)s blev sat skakmat" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "Fordi %(loser)s afbrød forbindelsen" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "Fordi %(winner)shar færre brikker" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "Fordi %(winner)s har tabt alle brikker" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "Fordi %(loser)s konge exploderede" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "Fordi %(winner)skonge nåede centrum" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "Fordi %(winner)sblev sat skak 3 gange" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "Fordi %(winner)skonge nåede 8. række" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "Fordi en spiller tabte forbindelsen" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "Fordi serveren blev lukket ned" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "Fordi en spillet tabte forbindelsen og den anden spiller anmodede om udsættelse" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "Fordi %(white)smistede forbindelsen til serveren" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "Fordi %(black)smistede forbindelsen til serveren" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "Fordi begge spillere enedes om at afbryde partiet. Der er ikke sket nogen ændring i rating." #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "Fordi den %(white)s motor døde" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "Fordi vi tabte forbindelsen til serveren" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "Årsagen er ukendt" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Asymmetrisk Random" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "Blindskak" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Hjørne" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Fischer Random" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "Springerhandicap" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "Anti" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Normal" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "Bondehandicap" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "Bønderne passeret" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "Bønderne fremskudt" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "Droningehandicap" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Tilfældig" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "Tårnhandicap" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Shuffle" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "Selvmord" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "Vinder ved at sætte skak 3 gange" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "På hovedet" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "Forbindelsen blev afbrudt. Mødte slutningen af strømmen" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' er ikke et registreret navn" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "Beklager '%s' er allerede logget ind" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "Navnet '%s' er allerede registreret. Hvis det er dit, angiv passwordet." #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Tilslutter til server" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Logger ind på serveren" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Sætter det sidste op" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Wild" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "online" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Afkoblet" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "Ikke tilgængelig" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Ikke rated" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Rated" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d min" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "hvid" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "sort" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "Modstanders rating" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Privat" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Forbindelsesfejl" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Kunne ikke logge på" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Forbindelsen blev lukket" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Adresse fejl" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Automatisk aflogning" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Du er blevet logget af fordi du var inaktiv i mere end 60 minutter" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Andet" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Administrator" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "Blindskakbruger" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Holdbruger" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "Ikke registreret" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "Skakrådgiver" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "Servicerepræsentant" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "Turneringsleder" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "Mamer Manager" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "Stormester" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "International Master" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "FIDE Mester" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "Kvindelig Stormester" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "Kvindelig Internatioal mester" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "Kvindelig FIDE mester" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "PyChess kunne ikke indlæse dine paner" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "Venner" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "Flere kanaler" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "Flere spillere" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "Computere" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "Gæster" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "Tilskuere" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "Du har ikke valgt nogen samtaler" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "Henter spiller data" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "PyChess Informationsvindue" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "af" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "Du har ikke startet nogen samtaler endnu" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "Kun registrerede brugere må snakke her" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Tilbyd omkamp" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Spil omkamp" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Fortryd ét træk" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Fortryd to træk" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Du har sendt et remistilbud" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Skakprogrammet, %s, er gået ned" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "Vent" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "Hop til startpositionen" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "Gå et træk tilbage" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "Gå et træk frem" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Hop til den sidste position" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Menneske" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minutter:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Ekstra" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "Hurtig" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "Handicap" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "skak" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Set position op" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Indtast spil" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Åben lydfil" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Ingen lyd" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Bip" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Vælg lydfil..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "Ubeskrævet panel" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "Vidste du, at det er muligt at vinde et spil i kun to træk?" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "Vidste du at antallet af mulige skakspil overskrider antallet af atomer i universet?" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "For at gemme et spil Spil > Gem spillet som, giv filnavnet og vælg hvor du vil have det gemt. I bunden vælger du en filtype og trykker Gem." #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "trækket skal have en brik og en koordinat" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "den slåede koordinat (%s) er forkert" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "og" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "sætter remis" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "sætter skakmat" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "sætter skak" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "forbedrer kongens sikkerhed" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "forbedrer kongens sikkerhed en smule" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "rykker et tårn til en åben linje" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "rykker et tårn til en halvåben linje" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "rykker en løber i fianchetto: %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "forfremmer en bonde til en %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "rokerer" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "genvinder materiale" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "udbytter materiale" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "vinder materiale" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "redder en %s" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "truer med at slå på %s" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "forhøjrer presset på %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "forsvarer %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "låser en fjendtlig %(oppiece)s på %(piece)s på %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "Hvid har en ny forpost: %s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "Sort har en ny forpost: %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "%(color)s har en passeret bonde på %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "halvåben" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "i %(x)s%(y)s filen" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "i %(x)s%(y)s filerne" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "%(color)s har en dobbelbonde på %(place)s" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "%(color)s har nye dobbeltbønder på %(place)s" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "%(color)s har en isoleret bonde i %(x)s filen" msgstr[1] "%(color)s har isolerende bønder i %(x)s filerne" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "%s rykker en bonde i murformation" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "%s kan ikke længere rokere" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "%s kan ikke længere rokere i droningeside" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "%s kan ikke længere rokere i kongeside" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "%(opcolor)s har en ny fanget løbet på %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "udvikler en bonde: %s" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "rykker en bonde tættere på bagrækken: %s" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "bringer en %(piece)s tættere på modstanderens konge: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "udvikler en %(piece)s: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "placerer en %(piece)s mere aktivt: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "Hvid burde iværksætte en bondestorm i højre side" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "Sort burde iværksætte en bondestorm i venstre side" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "Hvid burde iværksætte en bondestorm i venstre side" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "Sort burde iværksætte en bondestorm i højre side" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "Sort har en ret lukket position" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "Sort har en lidt lukket position" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "Hvid har en ret lukket position" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "Hvid har en lidt lukket position" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "Råb" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "Råb om skak" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "Uofficiel kanal %d" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Tid" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Type" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Dato/tid" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Chat" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Vundne" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Remi" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Tabte" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "Sanktioner" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Email" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Brugt" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "på nettet totalt" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Tilslutter" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Igangværende spil: %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Navn" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "Status" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Udfordr: " #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "Denne mulighed kan ikke bruges, fordi du udfordrer en spiller" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Redigér opfordring: " #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "%(minutes)d min + %(gain)d sek/træk" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Manuel" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "Du kan ikke spille ratede spil, fordi du er logget på som gæst" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "Du kan ikke spille ratede spil, fordi \"Ubegrænset\" er slået til, " #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "og på FICS skal alle ratede spil være tidsbegrænsede" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "Denne mulighed er ikke tilgængelig fordi du udfordrer en gæst, " #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "og gæster kan ikke spille ratede spil" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "Du kan ikke vælge en variant fordi \"Ubegrænset\" er sat, " #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "og på FICS kan kun normale spil være tidsubegrænsede" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "Ændr tolerance" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " min" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Aktive opfordringer: %d" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Find type automatisk" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Gem spil" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Ukendt filttype: '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "Kunne ikke gemme '%(uri)s' fordi PyChess ikke kender formatet '%(ending)s'." #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Kunne ikke gemme filen '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Overskriv" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Filen eksisterer" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Der eksisterer allerede en fil ved navnet '%s'. Kunne du tænke dig at overskrive den?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "Filnavnet er allerede brugt i mappen '%s'. Hvis du overskriver den, vil dens nuværende indhold forsvinde." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Kunne ikke gemme filen" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess kunne ikke gemme spillet" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "Fejlen var: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "Der er %d spil med ugemte træk." msgstr[1] "Der er %d spil med ugemte træk." #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "Gem trækkene før vi lukker?" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "mod" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "_Gem %d dokument" msgstr[1] "_Gem %d dokumenter" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Det er ikke muligt senere at fortsætte spillet, hvis du ikke gemmer det." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Alle skakfiler" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "Tilføj kommentar" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "Rediger kommentar" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Officielt PyChess panel." #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Åbningsbog" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "Åbningsbogen forsøger i åbningsfasen at inspirere dig til at prøve nye træk, ved at vise dig hvad forskellige stormestre typiske ville rykke." #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "Beregner..." #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "Slutspilstabel" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "Mat i %d" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "Chatpanelet lader dig kommunikere med din modstander i løbet af spillet. Hvis altså han eller hun er interesseret." #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Kommentarer" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "Kommentarpanelet forsøger at analysere og forklare de træk, der rykkes." #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Udgansposition" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "%(color)s rykker en %(piece)s til %(cord)s" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Notation" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "Notationspanelet gemmer hvad spillerne trækker, og lader dig navigere gennem spilhistorikken." #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Udvikling" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "Panelet viser udviklingen i de pointtal hver position tildeles." #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/fa/0000755000175000017500000000000013467766037013570 5ustar varunvarunpychess-1.0.0/lang/fa/LC_MESSAGES/0000755000175000017500000000000013467766037015355 5ustar varunvarunpychess-1.0.0/lang/fa/LC_MESSAGES/pychess.mo0000644000175000017500000003362213467766036017375 0ustar varunvarunKHIKMOVZ^fk'q#-$Qv 5CH   1> R \i*   "1 9C Wdj   !)/6>Tov~     #16=EWg y!  /( 1 ?M U _l        2JYa j v      !'-5 DP e r~93 &5DK] bp        & 0 ; EOX^g x %       ) 4 ? R _ i w    +   !"!+3!_!c!k!jr!"""""""" ": #F#X#n#####&#"$"6$*Y$$$"$$$ %(% =%^%ex%% %& && 6&@& X&c&-&&&&& '(''5P'+''"''' ''(("( =( G(R(f(~(%(((( (( ))-) C)Q)a)e){) )) ) ) )!)") * *!* 9*Z*m** ** ** ****++4+P+W+ ^+!j++"++%++,16,h,,[,,-"- :- G-T-:o-&---..'7.*_... ...!.*.#/7/F/X/j/ y/ ////// / //0 0 0#$0#H0l0 00 00'0(0#1A1Z1 c1m1B1B1 22%2:2J2Z2l22$2$22"2*2#'3 K3V3\3m3 v33333 3333 4 4)4 ;4G4W4t4 44 4 4N4 5$5=5X5m55555 5555 66.6$C6 h6t6 6Q6(677 &7"07+S7777WSIj+[Aha7u3lfk yq5|(?4n9xUzmG$Q^] VX "w@TN>\*OF 2 <1Rdr8PE=iY, :Cv&.sJt~6H'%-ecb}K0/`pD!M_g#{LZo)B;*-00 of 00-11-01/2-1/212005 minPromote pawn to what?AnalyzingAnimationChess SetsChess VariantGeneral OptionsInitial PositionInstalled SidepanelsName of _first human player:Name of s_econd human player:Opening, endgameOpponent StrengthOptionsPlay Sound When...PlayersTime ControlWelcome screenYour Color_Connect to server_Start GamePyChess is discovering your engines. Please wait.Challenge:A player _checks:A player _moves:A player c_aptures:About ChessAc_tiveAdd commentAdminAnalyze black movesAnalyze from current positionAnalyze gameAnalyze white movesAnnotatorAsk to _MoveAsymmetric Random Auto Call _FlagAuto _rotate board to current human playerAuto login on startupB EloBackround image path :BishopBlackBlack O-OBlack O-O-OBlack moveBlack:Calculating...Center:ChallengeChallenge: Chess clientClearClose _without SavingColorize analyzed movesCommand:CommentsComputerConnecting to serverCopy FENDark Squares :DatabaseDefaultDon't careECOEdit commentEloEn passant lineEnginesEventEvent:ExamineF_ull board animationFace _to Face display modeFilterFriendsGame informationGame is _drawn:Game is _lost:Game is _won:Gaviota TB path:GuestHeaderHideHintsHost:How to PlayIdIgnore colorsImbalanceImport chessfileInitial setupKingKnightKnightsLeave _FullscreenLight Squares :Load _Recent GameLocal SiteLog on as _GuestManage enginesManually accept opponentMaximum analysis time in seconds:Move HistoryMove numberNever use animation. Use this on slow machines.New GameNew _DatabaseNo _animationObserveObserversOffer A_bortOffer Ad_journmentOffer UndoOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOnly animate piece moves.Opponent's strength: Parameters:Paste FENPatternPlayPlay _Internet ChessPlay normal chess rulesPlayer _RatingPo_rts:Pre_viewPreferencesPromotionProtocol:PyChess.py:QueenQuit PyChessR_esignRated gameRatingRegisteredResultRookRound:S_ign upSaveSave Game _AsSave _own games onlySave files to:ScoreScoutSearch:Send ChallengeSho_w cordsShow tips at startupSide to moveSide_panelsSiteSite:Start Private ChatThe displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.ThemesTimeTime control: Tip Of The dayTip of the DayTitledTranslate PyChessUndoUndo one moveUndo two movesUninstallUse _analyzerUse _inverted analyzerUse analyzer:VariantW EloWelcomeWhiteWhite O-OWhite O-O-OWhite moveWhite:Your strength: _Accept_Analyze Game_Archived_Call Flag_Copy FEN_Copy PGN_Decline_Edit_Engines_Export Position_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hints_Invalid move:_Load Game_Log Viewer_My games_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Rotate Board_Save Game_Show Sidepanels_Sounds_Start Game_Untimed_Use main app closer [x] to close all games_Use sounds in PyChess_View_Your Color:gnuchess:http://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessuciwindow1xboardProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Persian (http://www.transifex.com/gbtami/pychess/language/fa/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: fa Plural-Forms: nplurals=2; plural=(n > 1); *-00 of 00-11-01/2-1/212005دقیقهترفیع سزباز چطورباشد؟تحلیلانیمیشندورهای شطرنجگونه شطرنجگزینه های عمومیموقعیت اولیهنصب پنل های جانبینام بازیکن اول:نام بازیکن دوم:بازکردن، پایانبازیقدرت رقیبگزینه هاپخش صدا هنگام...بازیکنانکنترل زمانصفحه خوش آمدرنگ شما_اتصال به سرور_شروع بازیPychessدرجستجوی یافتن موتورهای شما،لطفاصبرکنید.رقابت:کیش ها:حرکت ها:زدن ها:درباره شطرنجفع_الافزودن توضیحادمینتحلیل حرکات سیاهتحلیل ازروی موقعیت کنونیتحلیل بازیتحلیل حرکت سپیدحاشیه نویسدرخواست_حرکتشانس نامتقارنفراخواندن خودکار پرچمچرخش_خودکار برد به سمت بازیکنورودخودکار به راه اندازB Eloمسیرتصویرپس زمینه:فیلسیاهسیاه O-Oسیاه O-O-Oحرکت سیاهسیاهدرحال محاسبه...مرکز:رقابترقابت:کلاینت شطرنجپاک کردنبستن_بدون ذخیره سازیتحلیل رنگی حرکاتCommand:توضیحاترایانهمتصل به سرورکپی FENمربع تیره:پایگاه دادهپیش فرضمهم نیستECOتغییر توضیحEloخط ممتدموتورهارویدادرویداد:آزمودنانیمیشن ک-امل تختهحالت نمایش رخ به رخفیلتردوستاناطلاعات بازیبازی پات یا مساوی:بازی برده:بازی باخته:Gaviota TB path:مهمانهِدرپنهانراهنمایی هامیزبان:قوانین بازیIdردکردن رنگ هانامتعادلواردکردن chessfileبرپاسازی اولیهشاهاسباسب هاترک کردن_تمام صفحهمربع روشن:بارگذاری_بازی اخیرسایت محلیورود به عنوان_میهمانمدیریت موتورهاپذبرفتندستی رقیبحداکثر زمان تحلیل در ثانیه:تاریخچه حرکتشماره حرکتهرگز از انیمیشن استفاده نکن.استفاده ببر از slow machinesبازی جدیدپایگاه داده _جدیدبدون_انیمیشنمشاهدهمشاهدهپیشنهاد خ_اتمهپیشنهاد ادامه بازی به وقتی دیگر پیشنهادبرگشت به قبلیپیشنهاد_خاتمهپیشنهاد_پاتپیشنهاد_مکثپیشنهاد_ازسرگیریپیشنهاد_برگشت به قبلیفقط انیمیت حرکت مهره هاقدرت رقیب:پارامترها:درجFENالگوبازی کردنبازی کردن _Internet Chessبازی شطرنج باقواعدعادیرده_بازیکنپورت ها:پیش_نمایشتنظیمات‌ترفیعاتپروتکل:PyChess.py:وزیرخروج PyChessک_ناره گیریبازی مجازدرجه بندیثبت شدهنتیجهرخدورثبت نامذخیرهذخیره باری_به عنوانذخیره بازی های خودمدخیره فایل ها در:امتیازارزیابی حریفجستجو:ارسال رقابتنمای-ش عدد و حروف تختهنشان دادن نکته در شروعحرکت به سمت کنارپنل های_جانبیسایتسایت:شروع گفتگو خصوصینمایش دادن نام اولین بازیکن, e.g., امیرنمایش دادن نام بازیکن مهمان, e.g., مریمتم هازمانکنترل زمان:نکته روزنکته روزعنوان دارترجمه PyChessقبلیبرگشت به یک حرکت قبلبرگشت به دو حرکت قبلحذفاستفاده از_تحلیلگراسفاده از تحلیلگرمعکوساستفاده ار تحلیلگر:مختلفW Eloخوشامدیدسپیدسپید O-Oسپید O-O-Oحرکت سپیدسپیدقدرت شما:_پذیرش_تحلیل بازیبایگانی شدنفراخواندن پرچم_کپی FEN_کپی PGN_نپذیرفتن_تغییر_موتورها_صادرکردن وضعیت_تمام صفحه_بازی_لیست بازی_عمومی_راهنماپنهان کن تب ها رو موقعی که تنها یک بازی بازه_راهنمایی ها_حرکت نامعتبر_بارگذازی بازی_لیست وقایع_بازی های مننام:_بازی جدیدبعدی_مشاهده حرکات:_رقیب:_رمز:_بازی شطرنج عادی_لیست بازیکنپیشین_چرخاندن تخته_ذخیره بازی_نمایش پنل های جانبی_صداها_شروع بازیبی هدف_استفاده از علامت خروج[x]برای بستن همه بازی ها_استفاده از صدا در PyChess_نما_رنگ شما:gnuchess:http://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessuciwindow1xboardpychess-1.0.0/lang/fa/LC_MESSAGES/pychess.po0000644000175000017500000044350713455542770017401 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # Amirhessam Golmirzaei , 2017 # FIRST AUTHOR , 2008 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Persian (http://www.transifex.com/gbtami/pychess/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fa\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_بازی" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_بازی جدید" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "بازی کردن _Internet Chess" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_بارگذازی بازی" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "بارگذاری_بازی اخیر" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_ذخیره بازی" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "ذخیره باری_به عنوان" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "_صادرکردن وضعیت" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "رده_بازیکن" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "_تحلیل بازی" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_تغییر" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_کپی PGN" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "_کپی FEN" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "_موتورها" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "پیشنهاد_خاتمه" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "پیشنهاد ادامه بازی به وقتی دیگر " #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "پیشنهاد_پات" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "پیشنهاد_مکث" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "پیشنهاد_ازسرگیری" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "پیشنهاد_برگشت به قبلی" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "فراخواندن پرچم" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "ک_ناره گیری" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "درخواست_حرکت" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "فراخواندن خودکار پرچم" #: glade/PyChess.glade:673 msgid "_View" msgstr "_نما" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_چرخاندن تخته" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_تمام صفحه" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "ترک کردن_تمام صفحه" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "_نمایش پنل های جانبی" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_لیست وقایع" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "پایگاه داده" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "پایگاه داده _جدید" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "واردکردن chessfile" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_راهنما" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "درباره شطرنج" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "قوانین بازی" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "ترجمه PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "نکته روز" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "کلاینت شطرنج" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "تنظیمات‌" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "نمایش دادن نام اولین بازیکن, e.g., امیر" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "نام بازیکن اول:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "نمایش دادن نام بازیکن مهمان, e.g., مریم" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "نام بازیکن دوم:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "پنهان کن تب ها رو موقعی که تنها یک بازی بازه" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "_استفاده از علامت خروج[x]برای بستن همه بازی ها" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "چرخش_خودکار برد به سمت بازیکن" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "حالت نمایش رخ به رخ" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "تحلیل رنگی حرکات" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "گزینه های عمومی" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "انیمیشن ک-امل تخته" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "فقط انیمیت حرکت مهره ها" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "بدون_انیمیشن" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "هرگز از انیمیشن استفاده نکن.استفاده ببر از slow machines" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "انیمیشن" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_عمومی" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "Gaviota TB path:" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "بازکردن، پایانبازی" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "استفاده از_تحلیلگر" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "اسفاده از تحلیلگرمعکوس" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "حداکثر زمان تحلیل در ثانیه:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "تحلیل" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_راهنمایی ها" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "حذف" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "فع_ال" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "نصب پنل های جانبی" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "پنل های_جانبی" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "مسیرتصویرپس زمینه:" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "صفحه خوش آمد" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "مربع روشن:" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "مربع تیره:" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "نمای-ش عدد و حروف تخته" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "دورهای شطرنج" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "تم ها" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_استفاده از صدا در PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "کیش ها:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "حرکت ها:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "بازی پات یا مساوی:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "بازی برده:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "بازی باخته:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "زدن ها:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "_مشاهده حرکات:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "_حرکت نامعتبر" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "پخش صدا هنگام..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_صداها" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "دخیره فایل ها در:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "ذخیره بازی های خودم" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "ذخیره" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "ترفیعات" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "وزیر" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "رخ" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "فیل" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "اسب" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "شاه" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "ترفیع سزباز چطورباشد؟" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "پیش فرض" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "اسب ها" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "اطلاعات بازی" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "سایت:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "سیاه" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "دور" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "سپید" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "رویداد:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "uci" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "xboard" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "مدیریت موتورها" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Command:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "پروتکل:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "پارامترها:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "فیلتر" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "سپید" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "سیاه" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "ردکردن رنگ ها" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "رویداد" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "ECO" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "Elo" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "0" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "-" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "سایت" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "حاشیه نویس" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "نتیجه" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "1-0" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "0-1" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "1/2-1/2" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "مختلف" #: glade/PyChess.glade:6410 msgid "Header" msgstr "هِدر" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "نامتعادل" #: glade/PyChess.glade:6789 msgid "White move" msgstr "حرکت سپید" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "حرکت سیاه" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "حرکت به سمت کنار" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "الگو" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "ارزیابی حریف" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "تحلیل بازی" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "استفاده ار تحلیلگر:" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "تحلیل ازروی موقعیت کنونی" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "تحلیل حرکات سیاه" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "تحلیل حرکت سپید" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "Pychessدرجستجوی یافتن موتورهای شما،لطفاصبرکنید." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_رمز:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "نام:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "ورود به عنوان_میهمان" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "میزبان:" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "پورت ها:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "ثبت نام" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "رقابت:" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "ارسال رقابت" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "رقابت:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5دقیقه" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_پذیرش" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_نپذیرفتن" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "رایانه" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "درجه بندی" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "زمان" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "رقابت" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "مشاهده" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "شروع گفتگو خصوصی" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "ثبت شده" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "مهمان" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "عنوان دار" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "_لیست بازیکن" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "_لیست بازی" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "_بازی های من" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "پیشنهاد خ_اتمه" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "آزمودن" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "پیش_نمایش" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "بایگانی شدن" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "شانس نامتقارن" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "کنترل زمان:" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "کنترل زمان" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "مهم نیست" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "قدرت شما:" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "قدرت رقیب:" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "مرکز:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "پنهان" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "قدرت رقیب" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "رنگ شما" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "بازی شطرنج باقواعدعادی" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "بازی کردن" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "گونه شطرنج" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "بازی مجاز" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "پذبرفتندستی رقیب" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "گزینه ها" #: glade/findbar.glade:6 msgid "window1" msgstr "window1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 of 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "جستجو:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "پیشین" #: glade/findbar.glade:192 msgid "_Next" msgstr "بعدی" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "بازی جدید" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_شروع بازی" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "کپی FEN" #: glade/newInOut.glade:143 msgid "Clear" msgstr "پاک کردن" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "درجFEN" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "برپاسازی اولیه" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "بازیکنان" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "بی هدف" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "_بازی شطرنج عادی" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "موقعیت اولیه" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "خط ممتد" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "شماره حرکت" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "سیاه O-O" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "سیاه O-O-O" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "سپید O-O-O" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "سپید O-O" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "خروج PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "بستن_بدون ذخیره سازی" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "_رقیب:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_رنگ شما:" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "_شروع بازی" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "ورودخودکار به راه انداز" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "_اتصال به سرور" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "نکته روز" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "نشان دادن نکته در شروع" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://en.wikipedia.org/wiki/Chess" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://en.wikipedia.org/wiki/Rules_of_chess" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "خوشامدید" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "سایت محلی" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "متصل به سرور" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "دوستان" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "ادمین" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "مشاهده" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "برگشت به یک حرکت قبل" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "برگشت به دو حرکت قبل" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "قبلی" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "پیشنهادبرگشت به قبلی" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "Id" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "W Elo" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "B Elo" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "افزودن توضیح" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "تغییر توضیح" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "راهنمایی ها" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "درحال محاسبه..." #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "توضیحات" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "موتورها" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "تاریخچه حرکت" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "امتیاز" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/zu/0000755000175000017500000000000013467766037013640 5ustar varunvarunpychess-1.0.0/lang/zu/LC_MESSAGES/0000755000175000017500000000000013467766037015425 5ustar varunvarunpychess-1.0.0/lang/zu/LC_MESSAGES/pychess.mo0000644000175000017500000000116513467766036017442 0ustar varunvarunL | h8 HRX`RatingTime_Accept_Name:_Password:Project-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Zulu (http://www.transifex.com/gbtami/pychess/language/zu/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: zu Plural-Forms: nplurals=2; plural=(n != 1); UkulinganiselwaIsikhathi_Vuma_Igama:_Izwi elihluthulelo:pychess-1.0.0/lang/zu/LC_MESSAGES/pychess.po0000644000175000017500000043160413455542760017443 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2009 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Zulu (http://www.transifex.com/gbtami/pychess/language/zu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Izwi elihluthulelo:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Igama:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Vuma" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Ukulinganiselwa" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Isikhathi" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/sl/0000755000175000017500000000000013467766037013620 5ustar varunvarunpychess-1.0.0/lang/sl/LC_MESSAGES/0000755000175000017500000000000013467766037015405 5ustar varunvarunpychess-1.0.0/lang/sl/LC_MESSAGES/pychess.mo0000644000175000017500000007522313467766036017430 0ustar varunvarun A $ $$!$%8$`^$($+$'%#<%0`%%%%#%$%'&8& L&!m&&&&&&&& '''@7'x''''''#'$"(G(X(q((((((Q(&4)C[)7)U)*-*(X***** *** * ++C+ c+p+*+ ++Q+ ,!,,N, i,,Q, ,K-$f-6-#-!--.&6.-].;....$.#.%"/"H/#k/ ///// / //// 00 $0/0 >0J0P0f0 o0z00000 0 001"1G'1`o1 11 1 11 12 2202 K2W2f2l2}222 22 222 2 2X2cV3]3q4S4F4%565DK555555 55 5 56 6 "6 -6:6K6`6g6 l6z666 6 6 6 666/6 7 7$7?7H7O7W7g7l7 7 7 7 7 7 777778."8 Q8[8 k8x8888 8 8 8888 8899,949=9 Y9e9 m9#w99 999 9 999999 9 :: : :': 0: ::H:c:i: q:}:":: :::: ;;;2;F; N;Z;p;v;|; ;;;; ;;;h;"c<C<5<9=3:=n=}=T= =Z=M>f>>>>`>2?L????@Z@n@K@A@AAQAVAfAuAA 1Bub 0O`+$*"8b2XR-o&: V- t]=H}l C@{`ggx+qB? <A%/&pm |avU~Uy1xOIQ 7focqS5s^1W'()NP|t:KkW(dZ@$LQpn. DeA>shhi'F\\"j,_IrGBMdR_#/Liwn46f5Jm)#2jvVH.^]9G};y*6X{K93TzJMu<D=~eF Y;rSY%z7! Gain: min%(black)s won the game%(color)s got a double pawn %(place)s%(color)s got an isolated pawn in the %(x)s file%(color)s got isolated pawns in the %(x)s files%(color)s got new double pawns %(place)s%(color)s has a new passed pawn on %(cord)s%(color)s moves a %(piece)s to %(cord)s%(minutes)d min + %(gain)d sec/move%(opcolor)s has a new trapped bishop on %(cord)s%(white)s won the game%d min%s can no longer castle%s can no longer castle in kingside%s can no longer castle in queenside%s moves pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent'%s' is not a registered name(Blitz)0 Players Ready0 of 010 min + 6 sec/move, White12002 min, Fischer Random, Black5 minPromote pawn to what?PyChess was unable to load your panel settingsAnalyzingAnimationChess VariantEnter Game NotationInitial PositionInstalled SidepanelsName of _first human player:Name of s_econd human player:Open GameOpponent StrengthOptionsPlay Sound When...PlayersTime ControlYour Color_Start GameA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedPyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to save file '%s'Unknown file type '%s'Challenge:A player _checks:A player _moves:A player c_aptures:About ChessAc_tiveActive seeks: %dAddress ErrorAdministratorAll Chess FilesAnimate pieces, board rotation and more. Use this on fast machines.Ask to _MoveAsymmetric RandomAuto _rotate board to current human playerAuto-logoutBBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause %(mover)s stalematedBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBeepBishopBlackBlack has a new piece in outpost: %sBlack has a rather cramped positionBlack has a slightly cramped positionBlack should do pawn storm in leftBlack should do pawn storm in rightBlindfoldBlindfold AccountBlitzBlitz:Center:ChallengeChallenge: Challenge: Change ToleranceChatChess AdvisorChess Alpha 2 DiagramChess GameChess PositionChess ShoutClockClose _without SavingCommentsConnectingConnecting to serverConnection ErrorConnection was closedCornerCould not save the fileCreate SeekDate/TimeDestination Host UnreachableDetect type automaticallyDiedDo you know that it is possible to finish a chess game in just 2 turns?Do you know that the number of possible chess games exceeds the number of atoms in the Universe?Don't careDrawEdit SeekEdit Seek: EmailEnter GameEvent:FIDE MasterF_ull board animationFace _to Face display modeFile existsFischer RandomGain:Game informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Games running: %dGrand MasterGuestHideHow to PlayHuman BeingIf set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If you don't save, new changes to your games will be permanently lost.Initial positionInternational MasterIt is not possible later to continue the game, if you don't save it.Jump to initial positionJump to latest positionKKingKnightKnight oddsLeave _FullscreenLightningLightning:Loading player dataLocal EventLocal SiteLog on ErrorLog on as _GuestLogging on to serverLosersLossMamer ManagerManualManually accept opponentMinutes:Minutes: More channelsMore playersMove HistoryNNameNever use animation. Use this on slow machines.New GameNo _animationNo conversation's selectedNo soundNormalObserveObserved _ends:OddsOffer Ad_journmentOffer RematchOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpen GameOpen Sound FileOpening BookOpponent's strength: OtherPPawnPawn oddsPawns PassedPawns PushedPingPlayPlay Fischer Random chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer _RatingPo_rts:Pre_viewPrefer figures in _notationPreferencesPrivatePromotionPyChess - Connect to Internet ChessPyChess Information WindowPyChess.py:QQueenQueen oddsQuit PyChessRR_esignRandomRapidRatedRated gameRatingRookRook oddsRound:S_ign upSave GameSave Game _AsSave moves before closing?ScoreSearch:Seek _GraphSelect sound file...Select the games you want to save:Send ChallengeSend seekService RepresentativeSetting up environmentSetup PositionSho_w cordsShoutShow tips at startupShredderLinuxChess:ShuffleSide_panelsSimple Chess PositionSite:SpentStandardStandard:Start Private ChatStep back one moveStep forward one moveTeam AccountThe abort offerThe adjourn offerThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The flag callThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe reason is unknownThe resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe takeback offerThere is %d game with unsaved moves.There are %d games with unsaved moves.This option is not applicable because you're challenging a playerThis option is not available because you're challenging a guest, TimeTime control: Tip Of The dayTip of the DayTo save a game Game > Save Game As, give the filename and choose where you want to be saved. At the bottom choose extension type of the file, and Save.Tolerance:Tournament DirectorTranslate PyChessTypeUnable to accept %sUndescribed panelUndo one moveUndo two movesUninstallUnknownUnofficial channel %dUnratedUntimedUpside DownUse _analyzerUse _inverted analyzerWas unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.WelcomeWhiteWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite has a slightly cramped positionWhite should do pawn storm in leftWhite should do pawn storm in rightWildWinYou can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou can't select a variant because "Untimed" is checked, You can't switch colors during the game.You have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou have tried to undo too many moves.You sent a draw offerYour opponent asks you to hurry!Your opponent is not out of time.Your strength: _Accept_Actions_Call Flag_Clear Seeks_Decline_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Load Game_Log Viewer_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Use sounds in PyChess_View_Your Color:andand guests can't play rated gamesand on FICS, untimed games can't be ratedand on FICS, untimed games have to be normal chess rulesask your opponent to movebrings a %(piece)s closer to enemy king: %(cord)sbrings a pawn closer to the backrow: %scall your opponents flagcaptures materialcastlesdefends %sdevelops a %(piece)s: %(cord)sdevelops a pawn: %sdrawsexchanges materialgnuchess:half-openhttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyin the %(x)s%(y)s filein the %(x)s%(y)s filesincreases the pressure on %smatesmoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %sofoffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalpins an enemy %(oppiece)s on the %(piece)s at %(cord)splaces a %(piece)s more active: %(cord)spromotes a Pawn to a %sputs opponent in checkrescues a %sresignslightly improves king safetytakes back materialthe captured cord (%s) is incorrectthe move needs a piece and a cordthreatens to win material by %svs.window1Project-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Slovenian (http://www.transifex.com/gbtami/pychess/language/sl/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: sl Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3); Dodatek: min%(black)s je zmagal%(color)s je dobil dvojnega kmeta %(place)s%(color)s je dobil izolirane kmete v datoteki %(x)s%(color)s je dobil izoliranega kmeta v datoteki %(x)s%(color)s je dobil izolirana kmeta v datoteki %(x)s%(color)s je dobil izolirane kmete v datoteki %(x)s%(color)s je dobil novega dvojnega kmeta %(place)s%(color)s ima mimohodnega kmeta na %(cord)s%(color)s prestavi %(piece)s na %(cord)s%(minutes)d min + %(gain)d sek/potezo%(opcolor)s je ujel tekača na %(cord)s%(white)s je zmagal%d min%s ne more več narediti rokade%s ne more več narediti rokade na kraljevo stran%s ne more več narediti rokade na kraljičino stran%s premakne kmeta v formacijo kamnenega zidu%s je sporočil napako%s je bil zavrjen s strani nasprotnika%s je bil preklican s strani nasprotnika'%s' ni registrirano ime(hitro)0 igralcev pripravljenih0 od 010 min + 6 sek/potezo, beli12002 min, Fischer naključna, črni5 minPovišaj kmeta v?PyChess ni mogel naložiti vaših nastavitev pultaAnaliziranjeAnimacijaRazličica šahaVstavi notacijo igreZačetni položajNameščeni stranski pultiIme prvega človeškega igralca:Ime drugega človeškega igralca:Odpri igroNasprotnikova močMožnostiPredvajaj zvok ob ...IgralciNadzor časaVaša barva_Začni igroDatoteka '%s' že obstaja. Ali jo želite zamenjati?Programnik, %s, se je prekinilPyChess išče vaše programnike. Prosimo, počakajte.PyChess ne more shraniti igreObstaja %d iger z neshranjenimi potezami. Želite shraniti spremembe?Datoteke '%s' ni mogoče shranitiNeznana vrsta datoteke '%s'Izzovi:Igralec _šahira:Igralec _prestavi:Igralec z_apleni:O šahuAk_tivnoAktivna povpraševanja: %dNapaka v naslovuSkrbnikVse šahovske datotekeAnimiraj figure, šahovsko ploščo in drugo. To možnost uporabite na hitrih računalnikih.Prosi za pre_mikAsimetrično naključenSamodejno ob_rni ploščo k trenutnemu človeškemu igralcuSamodejna odjavaLKer je %(black)s potekel čas in %(white)s nima zadosti materiala za matiranjeKer se je %(loser)s odjavilKer je %(loser)s zmanjkalo časaKer se je %(loser)s predalKer je bil %(loser)s matiranKer je %(mover)s v patuKer je %(white)s potekel čas in %(black)s nima zadosti materiala za matiranjeKer je igralec izgubil povezavoKer je igralec izgubil povezavo in je drugi igralec zahteval odložitevKer je obema igralcema potekel časKer nobeden igralec nima zadosti materiala za matiranjeZaradi razsodbe skrbnikaKer se je programnik igralca %(white)s prekinilKer je povezava do strežnika prekinjenaKer je igra prekoračila maksimalno dolžinoKer zadnjih 50 potez ni prineslo ničesar novegaKer je bila enaka poteza ponovljena trikrat zaporedomaPiskTekačČrniČrni ima novo figuro v postojanki: %sČrni ima precej utesnjen položajČrni ima delno utesnjen položajČrni bi moral napasti z leveČrni bi moral napasti z desneNa slepoSlepi računHitroHitro:Usredišči:IzzoviIzziv: Izzovi: Spremeni odstopanjePogovorŠahovski svetovalecŠahovski alfa 2 diagramŠahovska igraPoložaj šahaKlic šahaUraZapri _brez shranjevanjaKomentarjiPovezovanjePovezovanje na strežnikNapaka pri povezaviPovezava je bila prekinjenaKotNi mogoče shraniti datotekeUstvari povpraševanjeDatum/ČasCiljni strežnik je nedosegljivSamodejno zaznaj vrstoUmrlAli ste vedeli, da je šahovsko igro končati v samo dveh potezah?Ali ste vedeli, da število možnih šahovskih iger presega število elementov v vesolju?Vseeno mi jeNeodločenoUredi povpraševanjeUredi povpraševanje: Elektronska poštaVnesi igroDogodek:Mojster FIDE_Polna animacija ploščeNačin prikaza iz obraza v obrazDatoteka že obstajaFischer naključnaDodatek:Podatki o igriIgra je neo_dločena:Igra je izgub_ljena:Igra je na_stavljena:Igra je _dobljena:Trenutne igre: %dVelemojsterGostSkrijKako igratiČloveško bitjeČe je nastavljeno, bo PyChess prikazal slike za premike potez figur namesto velikih črk.Če je nastavljeno, potem bodo črne figure nastavljene z glavo navzdol, kar je primerno za igranje s prijateljem preko mobilne naprave.Če je nastavljeno, se bo igralna plošča vsako potezo prestavila tako, da bo prikazan naraven pogled za trenutnega igralca.Če je nastavljeno, bo igralna plošča prikazala oznako za vsako šahovsko polje. Le-ti ne bodo prikazani v šahovski notaciji.Če je nastavljeno, potem skrije zavihek na vrhu okna, ko le-ta ni potreben.Če ne shranite, bodo spremembe trajno izgubljene.Začetni položajMednarodni mojsterČe je sedaj ne shranite, kasneje ne bo mogoče nadaljevati igre.Skoči na začetni položajSkoči na zadnji položajKKraljKonjKonj prednostiZapusti celozaslonski načinBliskovitoBliskovito:Nalaganje igralčevih podatkovKrajevni dogodekKrajevna stranNapaka pri prijaviPrijavi se kot _gostPrijavljanje na strežnikIzgubarjiPorazSamodejni turnirni upraviteljRočnoRočno odobri nasprotnikaMinut:Minut: Več sobVeč igralcevZgodovina potezSImeNikoli ne uporabi animacij. To možnost uporabite na počasnih računalnikih.Nova igra_Brez animacijeNi izbranega pogovoraBrez zvokaObičajnoOpazujOpazovani _konča:NeenakoPonudi _odložitevPonudi revanšoPonudi _prekinitevPonudi neo_dločen izidPonudi _premorPonudi _nadaljevanjePonudi p_ovrnitev potezeUradni PyChess pult.OdjavljenPrijavljenAnimiraj samo _potezeAnimiraj samo poteze figur.Samo registrirani uporabniki se lahko pogovarjajo v tej sobiOdpri igroOdpri zvočno datotekoOtvoritvena knjigaMoč nasprotnika: DrugoPKmetKmet prednostiKmeti so zaobšliPritisk kmetovPingIgrajIgraj Fischer naključni šahIgraj revanšo_Igraj internetni šahIgraj navadni šahIgralčev rang_Vrata:_PredogledDodaj figure v _notacijoMožnostiZasebnoNapredovanjePyChess - Povežite se z internetnim šahomOkno informacij PyChessPyChess.py:DKraljicaKraljica prednostiZapri PyChessT_Predam seNaključenNagloRangiranRangirana igraRangTrnjavaTrnjava prednostiRunda:_Prijavi seShrani igroShrani igro _kotŽelite shraniti poteze pred zapiranjem?IzidIšči:_Grafikon povpraševanjaIzberi zvočno datoteko ...Izberite igre, ki jih želite shraniti:Pošlji izzivPošlji povpraševanjeStoritveni predstavnikPripravljanje okoljaNastavi položaj_Prikaži notacijeKlicPrikaži nasvete ob zagonuShredderLinuxChess:TrikStranski _pultiEnostavni položaj šahaStran:ZapravljenoObičajnoObičajno:Začni zasebni pogovorKorak nazaj za eno potezoKorak naprej za eno potezoEkipni računPonudba za prekinitevPonudba za odložitevPogovorni pult vam omogoča sporazumevanje z nasprotnikom med igro, ob predpostavki, da le-ta želi pogovorUra se še ni zagnala.Pult komentarjev bo poskušal analizirati in razložiti igrane potezePovezava prekinjena - dobljena napaka "konec datoteke"Prikazano ime prvega človeškega igralca, npr. Janez.Prikazano ime gostujočega igralca, npr. Marija.Ponudba za neodločenostNapaka: %sDatoteka že obstaja v '%s'. Če jo zamenjate, bo vsebina prepisana.Zastavica je padlaIgra ne more biti prebrana do konca, ker je nastala napaka pri analizi premika %(moveno)s '%(notation)s'.Igra se je končala neodločenoIgra je bila preklicanaIgra je bila odloženaIgra je bila prekinjenaPremik je spodletel zaradi %s.Preglednica premikov sledi igralčevim potezam in vam omogoča krmariti med igralno zgodovinoPonudba za spremembo straniOtvoritvena knjiga vas bo skušala navdušiti med odpiralno fazo igre s tem, da vam bo prikazala običajne poteze šahovskih mojstrovPonudba za premorNeznan razlogOdstopPonudba za nadaljevanjePult rezultatov poskuša ovrednotiti položaj in prikazati graf poteka igrePonudba za povrnitev potezeObstaja %d iger z neshranjenimi potezami.Obstaja %d igra z neshranjenimi potezami.Obstajata %d igri z neshranjenimi potezami.Obstajajo %d igre z neshranjenimi potezami.Ta možnost ni na voljo, ker izzivate igralcaTa možnost ni na voljo, ker izzivate gosta, ČasNadzor časa: Nasvet dnevaNasvet dnevaZa shranitev igre pritisnite Igra > Shrani igro kot, dodelite ime datoteke in izberite, kam želite igro shraniti. Na dnu izberite vrsto pripone datoteke in pritisnite Shrani.Odstopanje:Direktor turnirjaPrevedi PyChessVrstaNi mogoče sprejeti %sNeopisan pultRazveljavi eno potezoRazveljavi dve poteziOdstraniNeznanoNeuradna soba %dNerangiranBrez časaZgoraj navzdolUporabi _analizoUporabi _nasprotno analizo'%(uri)s' ni mogoče shraniti, PyChess verjetno ne pozna vrste '%(ending)s'.DobrodošliBeliBeli ima novo figuro v postojanki: %sBeli ima precej utesnjen položajBeli ima delno utesnjen položajBeli bi moral napasti z leveBeli bi moral napasti z desneDivjiZmagaNe morete igrati rangirane igre, ker je možnost "Brez časa" omogočena Ne morete igrati rangirane igre, ker ste prijavljeni kot gostNe morete izbrati različice, ker je izbrana možnost "Brez časa", Barve med igro ni mogoče menjati.Samodejno ste bili odjavljeni, ker ste bili nedejavni več kot 60 minutNiste še pričeli s pogovoromPoskusili ste razveljaviti preveč potez.Poslali ste ponudbo za neodločenostNasprotnik vas je pozval, da pohitite!Nasprotniku se še ni iztekel čas.Vaša moč: _Sprejmi_DejanjaSporoči padec zastavice_Počisti povpraševanja_Zavrni_Celozaslonski način_IgraSeznam i_ger_Splošno_Pomoč_Skrij zavihke, ko je odprta le ena igra_Naloži igroPregledovalnik _dnevnikov_Ime:_Nova igra_Naslednji_Opazovani prestavi:Naspr_otnik:_Geslo:_Igraj navadni šahSeznam _igralcev_Prejšnji_Zamenjaj_Zavrti ploščo_Shrani %d dokumentov_Shrani %d dokument_Shrani %d dokumenta_Shrani %d dokumente_Shranite %d dokumentov_Shrani igro_Povpraševanja / Izzivi_Prikaži stranske pulte_Zvoki_Začni igro_Uporabi zvoke v PyChessu_Pogled_Vaša barva:inin gostje ne morejo igrati rangiranih igerin na FICS igre brez časa ne morejo biti rangiranein na FICS igre brez časa morajo potekati po navadnih šahovskih pravilihprosi nasprotnika za premikpribliža %(piece)s nasprotnemu kralju: %(cord)spribliža kmeta zadnji vrstici: %ssporoči padec nasprotnikove zastavicezavzame materialzavržebrani %srazvije %(piece)s: %(cord)srazvije kmeta: %sneodločenzamenja materialgnuchess:napol odprthttp://sl.wikipedia.org/wiki/%C5%A0ahhttp://sl.wikipedia.org/wiki/%C5%A0ahovska_pravilaizboljša kraljevo varnostv %(x)s%(y)s datotekiv %(x)s%(y)s datotekahpoveča pritisk na %smatirapremakne trnjavo na odprti stolpecpremakne trnjavo na polovico odprtega stolpcapremakne tekača na bok: %sodponudi neodločen izidponudi premorponudi povrnitevponudi prekinitevponudi odložitevponudi nadaljevanjeponudi spremembo straniskupaj prijavljenihpritisne na nasprotnika %(oppiece)s z %(piece)s pri %(cord)spremakne %(piece)s bolj živahno: %(cord)spoviša kmeta v %spostavi nasprotnika v šahreši %spredam seneznatno izboljša kraljevo varnostpovrne materialzavzeta notacija (%s) je nepravilnapoteza potrebuje figuro in notacijopreti nad zmago materiala z %sprotiokno1pychess-1.0.0/lang/sl/LC_MESSAGES/pychess.po0000644000175000017500000045734613455542762017440 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # , 2010 # Elvis M. Lukšić , 2013 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Slovenian (http://www.transifex.com/gbtami/pychess/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sl\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Igra" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Nova igra" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "_Igraj internetni šah" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Naloži igro" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Shrani igro" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Shrani igro _kot" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Igralčev rang" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Dejanja" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Ponudi _prekinitev" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Ponudi _odložitev" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Ponudi neo_dločen izid" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Ponudi _premor" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Ponudi _nadaljevanje" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Ponudi p_ovrnitev poteze" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "Sporoči padec zastavice" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "_Predam se" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Prosi za pre_mik" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Pogled" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Zavrti ploščo" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Celozaslonski način" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Zapusti celozaslonski način" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "_Prikaži stranske pulte" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "Pregledovalnik _dnevnikov" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Pomoč" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "O šahu" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Kako igrati" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Prevedi PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Nasvet dneva" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Možnosti" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "Prikazano ime prvega človeškega igralca, npr. Janez." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Ime prvega človeškega igralca:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "Prikazano ime gostujočega igralca, npr. Marija." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Ime drugega človeškega igralca:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Skrij zavihke, ko je odprta le ena igra" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Če je nastavljeno, potem skrije zavihek na vrhu okna, ko le-ta ni potreben." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "Samodejno ob_rni ploščo k trenutnemu človeškemu igralcu" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Če je nastavljeno, se bo igralna plošča vsako potezo prestavila tako, da bo prikazan naraven pogled za trenutnega igralca." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "Način prikaza iz obraza v obraz" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Če je nastavljeno, potem bodo črne figure nastavljene z glavo navzdol, kar je primerno za igranje s prijateljem preko mobilne naprave." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Dodaj figure v _notacijo" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "Če je nastavljeno, bo PyChess prikazal slike za premike potez figur namesto velikih črk." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "_Polna animacija plošče" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Animiraj figure, šahovsko ploščo in drugo. To možnost uporabite na hitrih računalnikih." #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Animiraj samo _poteze" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Animiraj samo poteze figur." #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "_Brez animacije" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Nikoli ne uporabi animacij. To možnost uporabite na počasnih računalnikih." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animacija" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_Splošno" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Uporabi _analizo" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Uporabi _nasprotno analizo" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analiziranje" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Odstrani" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "Ak_tivno" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Nameščeni stranski pulti" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "Stranski _pulti" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "_Prikaži notacije" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "Če je nastavljeno, bo igralna plošča prikazala oznako za vsako šahovsko polje. Le-ti ne bodo prikazani v šahovski notaciji." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Uporabi zvoke v PyChessu" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "Igralec _šahira:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Igralec _prestavi:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Igra je neo_dločena:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Igra je izgub_ljena:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Igra je _dobljena:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Igralec z_apleni:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Igra je na_stavljena:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "_Opazovani prestavi:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "Opazovani _konča:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Predvajaj zvok ob ..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Zvoki" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Napredovanje" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Kraljica" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Trnjava" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Tekač" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Konj" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Kralj" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Povišaj kmeta v?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Podatki o igri" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Stran:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Runda:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Dogodek:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Beli" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Črni" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess išče vaše programnike. Prosimo, počakajte." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Povežite se z internetnim šahom" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Geslo:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Ime:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Prijavi se kot _gost" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "_Vrata:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "_Prijavi se" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Izzovi: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Pošlji izziv" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Izzovi:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Bliskovito:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Običajno:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Hitro:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "2 min, Fischer naključna, črni" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 min + 6 sek/potezo, beli" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 min" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "_Počisti povpraševanja" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Sprejmi" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Zavrni" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Pošlji povpraševanje" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Ustvari povpraševanje" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Običajno" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Hitro" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Bliskovito" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "_Povpraševanja / Izzivi" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Rang" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Čas" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "_Grafikon povpraševanja" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 igralcev pripravljenih" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Izzovi" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Opazuj" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Začni zasebni pogovor" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Gost" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "Seznam _igralcev" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "Seznam i_ger" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "_Predogled" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Uredi povpraševanje" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Brez časa" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minut: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr " Dodatek: " #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Nadzor časa: " #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Nadzor časa" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Vseeno mi je" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Vaša moč: " #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(hitro)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Moč nasprotnika: " #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Usredišči:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Odstopanje:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Skrij" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Nasprotnikova moč" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Vaša barva" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Igraj navadni šah" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Igraj" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Različica šaha" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Rangirana igra" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Ročno odobri nasprotnika" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Možnosti" #: glade/findbar.glade:6 msgid "window1" msgstr "okno1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 od 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Išči:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Prejšnji" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Naslednji" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Nova igra" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Začni igro" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Igralci" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "_Igraj navadni šah" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Igraj Fischer naključni šah" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Odpri igro" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Začetni položaj" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Vstavi notacijo igre" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Zapri PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Zapri _brez shranjevanja" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "_Shranite %d dokumentov" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "Obstaja %d iger z neshranjenimi potezami. Želite shraniti spremembe?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Izberite igre, ki jih želite shraniti:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Če ne shranite, bodo spremembe trajno izgubljene." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "Naspr_otnik:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_Vaša barva:" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "_Začni igro" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Nasvet dneva" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Prikaži nasvete ob zagonu" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://sl.wikipedia.org/wiki/%C5%A0ah" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://sl.wikipedia.org/wiki/%C5%A0ahovska_pravila" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Dobrodošli" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Odpri igro" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "Odstop" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "Zastavica je padla" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "Ponudba za neodločenost" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "Ponudba za prekinitev" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "Ponudba za odložitev" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "Ponudba za premor" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "Ponudba za nadaljevanje" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "Ponudba za spremembo strani" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "Ponudba za povrnitev poteze" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "predam se" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "sporoči padec nasprotnikove zastavice" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "ponudi neodločen izid" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "ponudi prekinitev" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "ponudi odložitev" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "ponudi premor" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "ponudi nadaljevanje" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "ponudi spremembo strani" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "ponudi povrnitev" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "prosi nasprotnika za premik" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Nasprotniku se še ni iztekel čas." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "Ura se še ni zagnala." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "Barve med igro ni mogoče menjati." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "Poskusili ste razveljaviti preveč potez." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Nasprotnik vas je pozval, da pohitite!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "%s je bil zavrjen s strani nasprotnika" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s je bil preklican s strani nasprotnika" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "Ni mogoče sprejeti %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s je sporočil napako" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "Šahovski alfa 2 diagram" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Položaj šaha" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Neznano" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Enostavni položaj šaha" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Šahovska igra" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "Igra ne more biti prebrana do konca, ker je nastala napaka pri analizi premika %(moveno)s '%(notation)s'." #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "Premik je spodletel zaradi %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "Ciljni strežnik je nedosegljiv" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Umrl" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Krajevni dogodek" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Krajevna stran" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Kmet" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "S" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "L" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "T" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "D" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "K" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Igra se je končala neodločeno" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s je zmagal" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s je zmagal" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "Igra je bila prekinjena" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Igra je bila odložena" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Igra je bila preklicana" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "Ker nobeden igralec nima zadosti materiala za matiranje" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "Ker je bila enaka poteza ponovljena trikrat zaporedoma" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "Ker zadnjih 50 potez ni prineslo ničesar novega" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Ker je obema igralcema potekel čas" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "Ker je %(mover)s v patu" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "Zaradi razsodbe skrbnika" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "Ker je igra prekoračila maksimalno dolžino" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "Ker je %(white)s potekel čas in %(black)s nima zadosti materiala za matiranje" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "Ker je %(black)s potekel čas in %(white)s nima zadosti materiala za matiranje" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "Ker se je %(loser)s predal" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "Ker je %(loser)s zmanjkalo časa" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "Ker je bil %(loser)s matiran" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "Ker se je %(loser)s odjavil" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "Ker je igralec izgubil povezavo" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "Ker je igralec izgubil povezavo in je drugi igralec zahteval odložitev" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "Ker se je programnik igralca %(white)s prekinil" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "Ker je povezava do strežnika prekinjena" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "Neznan razlog" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Asimetrično naključen" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "Na slepo" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Kot" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Fischer naključna" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "Konj prednosti" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "Izgubarji" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Običajno" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "Kmet prednosti" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "Kmeti so zaobšli" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "Pritisk kmetov" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "Kraljica prednosti" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Naključen" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "Trnjava prednosti" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Trik" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "Zgoraj navzdol" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "Povezava prekinjena - dobljena napaka \"konec datoteke\"" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' ni registrirano ime" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Povezovanje na strežnik" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Prijavljanje na strežnik" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Pripravljanje okolja" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Divji" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Prijavljen" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Odjavljen" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Nerangiran" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Rangiran" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d min" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Zasebno" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Napaka pri povezavi" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Napaka pri prijavi" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Povezava je bila prekinjena" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Napaka v naslovu" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Samodejna odjava" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Samodejno ste bili odjavljeni, ker ste bili nedejavni več kot 60 minut" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Drugo" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Skrbnik" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "Slepi račun" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Ekipni račun" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "Šahovski svetovalec" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "Storitveni predstavnik" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "Direktor turnirja" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "Samodejni turnirni upravitelj" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "Velemojster" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "Mednarodni mojster" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "Mojster FIDE" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "PyChess ni mogel naložiti vaših nastavitev pulta" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "Več sob" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "Več igralcev" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "Ni izbranega pogovora" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "Nalaganje igralčevih podatkov" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "Okno informacij PyChess" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "od" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "Niste še pričeli s pogovorom" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "Samo registrirani uporabniki se lahko pogovarjajo v tej sobi" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Ponudi revanšo" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Igraj revanšo" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Razveljavi eno potezo" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Razveljavi dve potezi" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Poslali ste ponudbo za neodločenost" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Programnik, %s, se je prekinil" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "Skoči na začetni položaj" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "Korak nazaj za eno potezo" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "Korak naprej za eno potezo" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Skoči na zadnji položaj" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Človeško bitje" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minut:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Dodatek:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "Naglo" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "Neenako" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Nastavi položaj" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Vnesi igro" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Odpri zvočno datoteko" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Brez zvoka" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Pisk" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Izberi zvočno datoteko ..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "Neopisan pult" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "Ali ste vedeli, da je šahovsko igro končati v samo dveh potezah?" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "Ali ste vedeli, da število možnih šahovskih iger presega število elementov v vesolju?" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "Za shranitev igre pritisnite Igra > Shrani igro kot, dodelite ime datoteke in izberite, kam želite igro shraniti. Na dnu izberite vrsto pripone datoteke in pritisnite Shrani." #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "poteza potrebuje figuro in notacijo" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "zavzeta notacija (%s) je nepravilna" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "in" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "neodločen" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "matira" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "postavi nasprotnika v šah" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "izboljša kraljevo varnost" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "neznatno izboljša kraljevo varnost" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "premakne trnjavo na odprti stolpec" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "premakne trnjavo na polovico odprtega stolpca" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "premakne tekača na bok: %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "poviša kmeta v %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "zavrže" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "povrne material" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "zamenja material" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "zavzame material" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "reši %s" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "preti nad zmago materiala z %s" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "poveča pritisk na %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "brani %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "pritisne na nasprotnika %(oppiece)s z %(piece)s pri %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "Beli ima novo figuro v postojanki: %s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "Črni ima novo figuro v postojanki: %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "%(color)s ima mimohodnega kmeta na %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "napol odprt" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "v %(x)s%(y)s datoteki" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "v %(x)s%(y)s datotekah" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "%(color)s je dobil dvojnega kmeta %(place)s" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "%(color)s je dobil novega dvojnega kmeta %(place)s" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "%(color)s je dobil izolirane kmete v datoteki %(x)s" msgstr[1] "%(color)s je dobil izoliranega kmeta v datoteki %(x)s" msgstr[2] "%(color)s je dobil izolirana kmeta v datoteki %(x)s" msgstr[3] "%(color)s je dobil izolirane kmete v datoteki %(x)s" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "%s premakne kmeta v formacijo kamnenega zidu" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "%s ne more več narediti rokade" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "%s ne more več narediti rokade na kraljičino stran" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "%s ne more več narediti rokade na kraljevo stran" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "%(opcolor)s je ujel tekača na %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "razvije kmeta: %s" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "približa kmeta zadnji vrstici: %s" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "približa %(piece)s nasprotnemu kralju: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "razvije %(piece)s: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "premakne %(piece)s bolj živahno: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "Beli bi moral napasti z desne" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "Črni bi moral napasti z leve" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "Beli bi moral napasti z leve" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "Črni bi moral napasti z desne" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "Črni ima precej utesnjen položaj" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "Črni ima delno utesnjen položaj" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "Beli ima precej utesnjen položaj" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "Beli ima delno utesnjen položaj" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "Klic" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "Klic šaha" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "Neuradna soba %d" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Ura" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Vrsta" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Datum/Čas" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Pogovor" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Zmaga" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Neodločeno" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Poraz" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Elektronska pošta" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Zapravljeno" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "skupaj prijavljenih" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Povezovanje" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Trenutne igre: %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Ime" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Izziv: " #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "Ta možnost ni na voljo, ker izzivate igralca" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Uredi povpraševanje: " #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "%(minutes)d min + %(gain)d sek/potezo" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Ročno" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "Ne morete igrati rangirane igre, ker ste prijavljeni kot gost" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "Ne morete igrati rangirane igre, ker je možnost \"Brez časa\" omogočena " #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "in na FICS igre brez časa ne morejo biti rangirane" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "Ta možnost ni na voljo, ker izzivate gosta, " #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "in gostje ne morejo igrati rangiranih iger" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "Ne morete izbrati različice, ker je izbrana možnost \"Brez časa\", " #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "in na FICS igre brez časa morajo potekati po navadnih šahovskih pravilih" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "Spremeni odstopanje" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " min" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Aktivna povpraševanja: %d" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Samodejno zaznaj vrsto" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Shrani igro" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Neznana vrsta datoteke '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "'%(uri)s' ni mogoče shraniti, PyChess verjetno ne pozna vrste '%(ending)s'." #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Datoteke '%s' ni mogoče shraniti" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Zamenjaj" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Datoteka že obstaja" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Datoteka '%s' že obstaja. Ali jo želite zamenjati?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "Datoteka že obstaja v '%s'. Če jo zamenjate, bo vsebina prepisana." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Ni mogoče shraniti datoteke" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess ne more shraniti igre" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "Napaka: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "Obstaja %d iger z neshranjenimi potezami." msgstr[1] "Obstaja %d igra z neshranjenimi potezami." msgstr[2] "Obstajata %d igri z neshranjenimi potezami." msgstr[3] "Obstajajo %d igre z neshranjenimi potezami." #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "Želite shraniti poteze pred zapiranjem?" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "proti" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "_Shrani %d dokumentov" msgstr[1] "_Shrani %d dokument" msgstr[2] "_Shrani %d dokumenta" msgstr[3] "_Shrani %d dokumente" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Če je sedaj ne shranite,\nkasneje ne bo mogoče nadaljevati igre." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Vse šahovske datoteke" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Uradni PyChess pult." #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Otvoritvena knjiga" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "Otvoritvena knjiga vas bo skušala navdušiti med odpiralno fazo igre s tem, da vam bo prikazala običajne poteze šahovskih mojstrov" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "Pogovorni pult vam omogoča sporazumevanje z nasprotnikom med igro, ob predpostavki, da le-ta želi pogovor" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Komentarji" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "Pult komentarjev bo poskušal analizirati in razložiti igrane poteze" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Začetni položaj" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "%(color)s prestavi %(piece)s na %(cord)s" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Zgodovina potez" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "Preglednica premikov sledi igralčevim potezam in vam omogoča krmariti med igralno zgodovino" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Izid" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "Pult rezultatov poskuša ovrednotiti položaj in prikazati graf poteka igre" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/zh_CN/0000755000175000017500000000000013467766037014203 5ustar varunvarunpychess-1.0.0/lang/zh_CN/LC_MESSAGES/0000755000175000017500000000000013467766037015770 5ustar varunvarunpychess-1.0.0/lang/zh_CN/LC_MESSAGES/pychess.mo0000644000175000017500000003572213467766035020012 0ustar varunvarun   /H_f z!'/@Ql&"CI7U*(Fo      !8 Z{     !2HO gs u      +: K Yflq w F  $ .9 K W bo    / 4 = K T [ i q     !!&!,!.!3!8!=!R! a!m!u!}! ! !#!! !!! !!!" "" "$"+"@"E"L"O" X" b"p"v"~"""" """" ## &#2#8#># G#Q#d#k#m#p# s#"#5#9#$%$>$X$t$$$$$$$$% % % %-% <%F%N%V% ^% j%x%%%%%%%(%C%&&D& Z&!{&&&& & && && &&'% ' 1' <'H' O'Y'_' p'{' ' ' '' '''' ' ((*( 0(=(A([( c(n( t( ~("(+(((((r( h*r*z*** ****+4+=+?+ T+_+d+%m++ +++++ ,,5,<,P,d,,|,A,.,F-,a-,---- -. . .. 1. >.K.R.T.r...... ...... ..//1/ 8/B/ [/h/{// // // /// / / 00#0&0 @0M0P0 X0 e0 o0y0 0 0000 000090 1 1+1-11151F1 M1Z1 t1 1 111 111 112 2 2 &232528<2 u2 222 22 22 22 2 2 33!3 ;3E3 X3b3r3y3{33 333 3 3 3 3 33"34 34?4A4 E4S4 U4`4g4 n4 x4 4 44 444 44444"4 !5 .5;5 N5[5w555 555 5 55555 55.666V6e6~6666 666 6 67777 17 >7K7 R7 \7 f7s7z7 7777777$777$58Z8y888 8 888 8 9 99 ,9 69/A9q999 9 9 9 999 ::':<:P:b: s:~: :: ::::: :; ; ;A;T^;;; ;; BcGC5E?Hf,}v2 &%|T$jwD WS09Ji~pAQ-^ X7'e+[IFm n8Oz=h_ \LKqtM;k> /#]V!ls1{dx`u43.aZ"Y (N*o)U6 Rgy<@Pb : r + %d sec min%(black)s won the game%(player)s is %(status)s%(white)s won the game%d min%s returns an error%s was declined by your opponent%s was withdrawn by your opponent'%s' is not a registered name(Blitz)*0 Players Ready0 of 012005 minPromote pawn to what?AnalyzingAnimationEnter Game NotationInitial PositionInstalled SidepanelsOpen GameOptionsPlay Sound When...PlayersTime ControlYour Color_Start GameEngine, %s, has diedPyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to save file '%s'Unknown file type '%s'Challenge:A player _checks:A player _moves:A player c_aptures:About ChessAddress ErrorAdministratorAll Chess FilesAny strengthAuto-logoutAvailableBBecause %(loser)s disconnectedBecause %(loser)s ran out of timeBecause a player lost connectionBishopBlackBlack:BlitzBlitz:CCAChallengeChallenge: ChatChess GameChess clientClockClose _without SavingCommentsConnectingConnecting to serverConnection ErrorConnection was closedCornerCould not save the fileCreate SeekDDate/TimeDetect type automaticallyDon't careDrawEdit SeekEmailEnter GameEvent:FIDE MasterFMFace _to Face display modeFile existsGMGain:Game informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Grand MasterGuestHideHintsHow to PlayHuman BeingIMIdleIf you don't save, new changes to your games will be permanently lost.Initial positionInternational MasterKKingKnightLeave _FullscreenLightningLightning:Load _Recent GameLocal EventLocal SiteLog on ErrorLog on as _GuestLogging on to serverLosersLossManualManual AcceptManually accept opponentMinutes:Minutes: More playersMove HistoryNNameNever use animation. Use this on slow machines.New GameNo _animationNo soundNormalNot AvailableObserveObserved _ends:Offer A_bortOffer _AbortOffer _DrawOffer _PauseOffer _UndoOfflineOnlineOnly animate piece moves.Open GameOpen Sound FileOpening BookOpponent's strength: OtherPPawnPingPlayPlay _Internet ChessPlayer _RatingPlayers: %dPlayingPo_rts:Pre_viewPreferencesPromotionPyChess - Connect to Internet ChessPyChess Information WindowPyChess.py:QQueenQuit PyChessRR_esignRandomRapidRatedRated gameRatingRequest ContinuationRookRound:SRS_ign upSave GameSave Game _AsScoreSearch:Select sound file...Select the games you want to save:Send ChallengeSend seekSetting up environmentSetup PositionShow tips at startupShredderLinuxChess:ShuffleSide_panelsSite:SpentStandardStandard:Start Private ChatStatusTTDTMTeam AccountThe clock hasn't been started yet.The connection was broken - got "end of file" messageThe displayed name of the first human player, e.g., John.The error was: %sThe game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe move failed because %s.The reason is unknownTimeTime control: Tip Of The dayTip of the DayTranslate PyChessTypeUUnable to accept %sUndo one moveUndo two movesUninstallUnknownUnratedUntimedUpside DownUse _analyzerUse _inverted analyzerWGMWIMWelcomeWhiteWhite:WinYou can't switch colors during the game.You have been logged out because you were idle more than 60 minutesYou have tried to undo too many moves.You sent a draw offerYour opponent asks you to hurry!Your opponent is not out of time.Your strength: _Accept_Actions_Call Flag_Clear Seeks_Decline_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Load Game_Log Viewer_Name:_New Game_Next_Observed moves:_Password:_Play Normal chess_Player List_Previous_Rotate Board_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Untimed_Use sounds in PyChess_View_Your Color:andask your opponent to movecastlesdefends %sdrawsgnuchess:half-openhttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessmatesminonline in totalsecProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Chinese (China) (http://www.transifex.com/gbtami/pychess/language/zh_CN/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: zh_CN Plural-Forms: nplurals=1; plural=0; + %d 秒 分钟%(black)s 赢得游戏%(player)s 目前 %(status)s%(white)s 赢得游戏%d 分钟%s返回错误。您的对手拒绝了%s。您的对手撤销了%s。'%s'不是一个注册姓名(快棋)*0 个玩家已就绪0 中的 012005 分钟兵升变为什么?分析中动画进入游戏记谱最初的位置已安装侧栏面板打开游戏选项当...播放声音玩家时间控制您的颜色开始游戏(_S)引擎(%s)已经僵死PyChess 正在寻找你的引擎,请稍候。PyChess无法保存此游戏有 %d 个游戏还未保存. 关闭前先保存吗?无法保存文件‘%s’未知文件类型‘%s’挑战:将军(_c):走棋(_m):吃子(_a):关于地址错误管理员所有象棋文件任何能量自动注销可用B因为 %(loser)s 断开连接因为 %(loser)s 超时因为一个玩家失去连接象黑方黑方快速快棋:CCA挑战挑战: <玩家>对话国际象棋国际象棋客户端时钟关闭而不保存(_W)注释连接中正在连接到服务器连接错误连接已经关闭角落无法保存文件开始查找D日期/时间自动探测类型不必在意平局编辑查找条件电子邮件进入游戏事件:国际棋联大师FM面对面显示模式(_T)文件存在GM获得:游戏信息和棋:输棋:比赛开始(_s):赢棋:超级大师来宾隐藏提示如何游戏人类IM空闲如果不保存,您游戏的新更改将永久丢失。初始位置国际大师K王马离开全屏(_F)闪电超快棋:载入最近的游戏(_R)本地事件本地站点登录错误登录为来宾用户(_G)正在登录到服务器失败者失败手动手动接受手动接受对手分:分钟: 更多玩家移动历史N姓名永远不显示动画.在配置差的机器上用这项.新游戏无动画(_A)无声普通不可用旁观残局(_e):提议取消(_B)请求中断提议和棋(_D)请求暂停请求悔棋离线在线只显示棋子移动时的动画公开赛打开声音文件开局库对手棋力:其它P兵牵制开始游戏开始线上对战玩家积分(_P)玩家:%d游戏中端口(_R):预览(_V)首选项升变PyChess - 连接到互联网象棋PyChess 信息窗口PyChess.py:Q后退出PychessR认输(_E)随机快速已记分积分游戏等级分请求继续车轮次:SR注册保存游戏游戏另存为(_A)得分查找:选择声音文件…请选择你想要保存的游戏:发出挑战开始寻找正在设置环境设置位置启动时显示日积月累ShredderLinuxChess:随机侧栏面板(_P)站点:花费标准标准:进行私聊状态TTDTM团队账户时钟还没有开始。连接已经断开 - 存在"end of file"信息P1的显示名称,例如 约翰错误为:%s一方投降游戏结束比赛被取消比赛被封盘比赛被终止走棋失败因为 %s。未知原因时间时间控制: 日积月累今日提示翻译 PyChess类別U无法接受%s。悔一步棋悔两步棋卸载未知的不计分不限时间倒置使用分析工具(_a)使用逆向分析工具(_i)WGMWIM欢迎白方白方获胜游戏期间您不能切换颜色。您已经注销因为您空闲时间超过了 60 分钟您已经尝试撤销太多走棋。你发送了一个提和请求您的对手请您快点!您的对手未超时。你的棋力:接受(_A)操作(_A)请求裁判(_C)清空查询(_C)拒绝(_D)全屏(_F)游戏(_G)游戏列表(_G)常规(G)帮助(_H)只有一个游戏的时候隐藏标签(_H)读取游戏(_L)日志查看(_L)用户名(_N):新游戏(_N)下一个(_N)定式(_O):密码(_P):玩普通棋(_P)玩家列表(_P)上一个(_P)旋转棋盘(_R)保存 %d 文档(_S)保存游戏(_Save)查找/挑战(_S)显示边栏(_S)声音(_S)开始游戏(_S)不限时(_U)在PyChess中使用声音查看(_V)您的颜色(_Y):和要求您的对手走棋车防御 %s和局gnuchess:半封闭http://zh.wikipedia.org/wiki/%E5%9B%BD%E9%99%85%E8%B1%A1%E6%A3%8Bhttp://zh.wikipedia.org/wiki/%E5%9B%BD%E9%99%85%E8%B1%A1%E6%A3%8B#.E8.A6.8F.E5.89.87将死分钟在线总数秒pychess-1.0.0/lang/zh_CN/LC_MESSAGES/pychess.po0000644000175000017500000044177013455542766020021 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # Chenyu Wu , 2017 # FIRST AUTHOR , 2008 # doZeR , 2014 # Tiansworld , 2013 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Chinese (China) (http://www.transifex.com/gbtami/pychess/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "游戏(_G)" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "新游戏(_N)" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "开始线上对战" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "读取游戏(_L)" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "载入最近的游戏(_R)" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "保存游戏(_Save)" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "游戏另存为(_A)" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "玩家积分(_P)" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "操作(_A)" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "请求中断" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "提议和棋(_D)" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "请求暂停" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "请求悔棋" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "请求裁判(_C)" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "认输(_E)" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "查看(_V)" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "旋转棋盘(_R)" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "全屏(_F)" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "离开全屏(_F)" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "显示边栏(_S)" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "日志查看(_L)" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "帮助(_H)" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "关于" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "如何游戏" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "翻译 PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "今日提示" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "国际象棋客户端" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "首选项" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "P1的显示名称,例如 约翰" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "只有一个游戏的时候隐藏标签(_H)" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "面对面显示模式(_T)" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "只显示棋子移动时的动画" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "无动画(_A)" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "永远不显示动画.在配置差的机器上用这项." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "动画" #: glade/PyChess.glade:1527 msgid "_General" msgstr "常规(G)" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "使用分析工具(_a)" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "使用逆向分析工具(_i)" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "分析中" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "卸载" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "已安装侧栏面板" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "侧栏面板(_P)" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "在PyChess中使用声音" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "将军(_c):" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "走棋(_m):" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "和棋:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "输棋:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "赢棋:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "吃子(_a):" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "比赛开始(_s):" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "定式(_O):" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "残局(_e):" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "当...播放声音" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "声音(_S)" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "升变" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "后" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "车" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "象" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "马" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "王" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "兵升变为什么?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "游戏信息" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "站点:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "黑方" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "轮次:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "白方" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "事件:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "白方" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "黑方" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess 正在寻找你的引擎,请稍候。" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - 连接到互联网象棋" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "密码(_P):" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "用户名(_N):" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "登录为来宾用户(_G)" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "端口(_R):" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "注册" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "挑战: <玩家>" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "发出挑战" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "挑战:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "超快棋:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "标准:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "快棋:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 分钟" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "清空查询(_C)" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "接受(_A)" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "拒绝(_D)" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "开始寻找" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "开始查找" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "标准" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "快速" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "闪电" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "查找/挑战(_S)" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "等级分" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "时间" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 个玩家已就绪" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "挑战" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "旁观" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "进行私聊" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "来宾" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "玩家列表(_P)" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "游戏列表(_G)" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "提议取消(_B)" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "预览(_V)" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "编辑查找条件" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "不限时间" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "分钟: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "时间控制: " #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "时间控制" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "不必在意" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "你的棋力:" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(快棋)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "对手棋力:" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "隐藏" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "您的颜色" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "开始游戏" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "积分游戏" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "手动接受对手" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "选项" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 中的 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "查找:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "上一个(_P)" #: glade/findbar.glade:192 msgid "_Next" msgstr "下一个(_N)" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "新游戏" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "开始游戏(_S)" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "玩家" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "不限时(_U)" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "玩普通棋(_P)" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "打开游戏" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "最初的位置" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "进入游戏记谱" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "退出Pychess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "关闭而不保存(_W)" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "保存 %d 文档(_S)" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "有 %d 个游戏还未保存. 关闭前先保存吗?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "请选择你想要保存的游戏:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "如果不保存,您游戏的新更改将永久丢失。" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "您的颜色(_Y):" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "开始游戏(_S)" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "日积月累" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "启动时显示日积月累" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://zh.wikipedia.org/wiki/%E5%9B%BD%E9%99%85%E8%B1%A1%E6%A3%8B" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://zh.wikipedia.org/wiki/%E5%9B%BD%E9%99%85%E8%B1%A1%E6%A3%8B#.E8.A6.8F.E5.89.87" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "欢迎" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "公开赛" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "要求您的对手走棋" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "您的对手未超时。" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "时钟还没有开始。" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "游戏期间您不能切换颜色。" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "您已经尝试撤销太多走棋。" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "您的对手请您快点!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "您的对手拒绝了%s。" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "您的对手撤销了%s。" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "无法接受%s。" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s返回错误。" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "未知的" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "国际象棋" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "走棋失败因为 %s。" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "本地事件" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "本地站点" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "分钟" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "秒" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "兵" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "N" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "B" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "R" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "Q" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "K" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "一方投降游戏结束" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s 赢得游戏" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s 赢得游戏" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "比赛被终止" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "比赛被封盘" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "比赛被取消" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "因为 %(loser)s 超时" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "因为 %(loser)s 断开连接" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "因为一个玩家失去连接" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "未知原因" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "角落" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "失败者" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "普通" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "随机" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "随机" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "倒置" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "连接已经断开 - 存在\"end of file\"信息" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s'不是一个注册姓名" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "正在连接到服务器" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "正在登录到服务器" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "正在设置环境" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "%(player)s 目前 %(status)s" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "在线" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "离线" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "可用" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "游戏中" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "空闲" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "不可用" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "不计分" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "已记分" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d 分钟" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr " + %d 秒" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "手动接受" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "连接错误" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "登录错误" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "连接已经关闭" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "地址错误" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "自动注销" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "您已经注销因为您空闲时间超过了 60 分钟" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "其它" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "管理员" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "团队账户" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "超级大师" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "国际大师" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "国际棋联大师" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "C" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "T" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "U" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "CA" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "SR" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "TD" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "TM" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "GM" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "IM" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "FM" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "WGM" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "WIM" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "D" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "更多玩家" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "PyChess 信息窗口" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "悔一步棋" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "悔两步棋" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "你发送了一个提和请求" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "引擎(%s)已经僵死" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "人类" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "分:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "获得:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "快速" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "设置位置" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "进入游戏" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "打开声音文件" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "无声" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "选择声音文件…" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "和" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "和局" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "将死" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "车" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "防御 %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "半封闭" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "时钟" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "类別" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "日期/时间" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "请求继续" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "对话" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "获胜" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "平局" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "失败" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "电子邮件" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "花费" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "在线总数" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "牵制" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "连接中" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "姓名" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "状态" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "玩家:%d" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "手动" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "任何能量" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " 分钟" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "自动探测类型" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "保存游戏" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "未知文件类型‘%s’" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "无法保存文件‘%s’" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "文件存在" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "无法保存文件" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess无法保存此游戏" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "错误为:%s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "所有象棋文件" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "提示" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "开局库" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "注释" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "初始位置" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "移动历史" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "得分" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/bg/0000755000175000017500000000000013467766037013572 5ustar varunvarunpychess-1.0.0/lang/bg/LC_MESSAGES/0000755000175000017500000000000013467766037015357 5ustar varunvarunpychess-1.0.0/lang/bg/LC_MESSAGES/pychess.mo0000644000175000017500000000706613467766036017402 0ustar varunvarun9O'"37B z    18I R_dm v  5:@HQW ]h o y   m1 O m  F  - E X &k &   *  &" I R p { (       , 3 = #V z (  * $ A L S e w        (0&! 8 .7 $%36 *(5/'1"#)9 -, 24+Promote pawn to what?AnalyzingAnimationPlayersPyChess was not able to save the gameAbout ChessBishopBlackClockClose _without SavingCommentsConnectingConnection ErrorConnection was closedEmailEvent:File existsGain:Game informationGuestInitial positionKnightLog on as _GuestMinutes:Move HistoryNameNew GameNo soundPreferencesQueenRatingRookRound:Save GameSave Game _AsScoreSelect sound file...Site:The error was: %sThe game has been abortedThe game has been adjournedThe game has been killedTimeWhite_Accept_Actions_Game_Help_Load Game_Name:_New Game_Password:_Rotate Board_Save Game_Start Game_ViewProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Bulgarian (http://www.transifex.com/gbtami/pychess/language/bg/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: bg Plural-Forms: nplurals=2; plural=(n != 1); Повиши пешката в?АнализиранеАнимацияИграчиPyChess не може да запази игратаЗа ШахаОфицерЧеренЧасовникЗатваряне _без запазванеКоментариСвързванеГрешка при свързванеВръзката е затворенаЕлектронна пощаСъбитие:Файлът вече съществуваПечалба:Информация за игратаГостНачална позицияРицарВлез като _ГостМинути:История на движениятаИмеНова ИграБез звукПредпочитанияЦарицаОценкаТопРунд:Запис на играЗапази Играта _КатоРезултатИзбор на звуков файл…Сайт:Грешка : %sИграта беше прекратенаИграта беше закритаИграта беше убитаВремеБял_Приемане_Действия_Игра_Помощ_Зареди Игра_Име:_Нова Игра_Парола:_Завърти масата_Запази Играта_Стартирай Играта_Изгледpychess-1.0.0/lang/bg/LC_MESSAGES/pychess.po0000644000175000017500000043406213455542766017404 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2008 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Bulgarian (http://www.transifex.com/gbtami/pychess/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Игра" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Нова Игра" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Зареди Игра" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Запази Играта" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Запази Играта _Като" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Действия" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Изглед" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Завърти масата" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Помощ" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "За Шаха" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Предпочитания" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Анимация" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Анализиране" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Царица" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Топ" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Офицер" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Рицар" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Повиши пешката в?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Информация за играта" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Сайт:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Рунд:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Събитие:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Бял" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Черен" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Парола:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Име:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Влез като _Гост" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Приемане" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Оценка" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Време" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Гост" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Нова Игра" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Стартирай Играта" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Играчи" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Затваряне _без запазване" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "Играта беше убита" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Играта беше закрита" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Играта беше прекратена" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Грешка при свързване" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Връзката е затворена" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Минути:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Печалба:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Без звук" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Избор на звуков файл…" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Часовник" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Електронна поща" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Свързване" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Име" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Запис на игра" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Файлът вече съществува" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess не може да запази играта" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "Грешка : %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Коментари" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Начална позиция" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "История на движенията" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Резултат" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/hr/0000755000175000017500000000000013467766037013613 5ustar varunvarunpychess-1.0.0/lang/hr/LC_MESSAGES/0000755000175000017500000000000013467766037015400 5ustar varunvarunpychess-1.0.0/lang/hr/LC_MESSAGES/pychess.mo0000644000175000017500000020035613467766036017420 0ustar varunvarun08@ 9@ D@GN@@ @$@ @@@A+#A OA[A`A/tA0A[AN1BB%B`B(C+GC'sC#C0CC D$D;DBD#ZD$~D'DD D!EQ"EJtE>EEF!$FFFHFXF_FzFFF'F@F GG-GBG]GuG#G$GGGHH+HEHTHhHzHQH&H$IC+I7oIUI"I* J(KJtJJJJJeJ-K 3K?KGK&NK.uKK KKKK KSL nL|L LLmLM M!M0M NMC[MM M MM MMM NN*!NLN bN nNxNzN/NSNQOVOuO!OO OO/PS@PQP#P* Q"5Q+XQrQ QKR%dROR-R3S$gXgRAhch]h?ViBi;iqjSjOjF+l rl)ll ll lDl.mGm_mamfmwm ~mmm m mmm m m mnn)n0n5n+a`S`^t{ ¸ θ ظ?, lz ǹֹع ;LBKۺ   $3B,KxNa 0" S1]  Ƚӽ#4FNJGP(SyͿC$~ 1O`v .F![ }  U a ]mOdt"w?UOI[#P S&] : =?EW_r{ +J`f+m!0 :B J We u7@ J-x #   "0 ? M[k~  5...]1 61@Xiz -A\b '  2"; ^iq &   $0!8Zcuz  #*:O1m" 0'-5H*Z' 7DZ%k":Ymv/" 1 < GSmt  mzdC:<9w2/ `"-dQFNVv9NcRzTTn} WexV -C!5%1[ 3,=LUj ~   '(:ctM;.48<@TG  '!"=6<t  -A^s0O@IU+;"'*Rn$ x,q*{"1_T&)'&-(T'}, #+?Obq 2 ,?Pd j x  72EVjC )(+@T])6"%Y   4,!al.<Pf"    !/ D R`p:2/ @LS["_$ 7NRY`ho\?~dJ`.amv>H-7;v4BqUL{ S8FS$yAo'PDkBkz?Qyi/oW~U_ig@}a23g]=\*q25)4++ VIt?B,/LQ= Xk[Y!!6eTxb d$aQr >Y'#lp N-D_3~w_\ |etKv PGW umwHpsON&Z}d9OU%2+m9ey*L\,4^8]|cgz@['oj |V ]M qcZr .6Mh<Nxnn*sHEtlCA0I7$9:T Eu5`f"uf7cCE<JKh1R/O{TMp;(0DVR8i&hYsr&l)K! S.@>J[)#^`X CGf1 (-WZ1;Pbj3^G,"%z5< Fbj:}:6"{n(x0FAX#=wRI% Gain: + %d sec challenges you to a %(time)s %(rated)s %(gametype)s game chess has arrived has declined your offer for a match has departed has lagged for 30 seconds invalid engine move: %s is censoring you is lagging heavily but hasn't disconnected is present min noplay listing you uses a formula not fitting your match request: where %(player)s plays %(color)s. with whom you have an adjourned %(timecontrol)s %(gametype)s game is online. would like to resume your adjourned %(time)s %(gametype)s game.%(black)s won the game%(color)s got a double pawn %(place)s%(color)s got an isolated pawn in the %(x)s file%(color)s got isolated pawns in the %(x)s files%(color)s got new double pawns %(place)s%(color)s has a new passed pawn on %(cord)s%(color)s moves a %(piece)s to %(cord)s%(minutes)d min + %(gain)d sec/move%(opcolor)s has a new trapped bishop on %(cord)s%(player)s is %(status)s%(player)s plays %(color)s%(white)s won the game%d min%s can no longer castle%s can no longer castle in kingside%s can no longer castle in queenside%s moves pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent%s will identify what threats would exist if it were your opponent's turn to move%s will try to predict which move is best and which side has the advantage'%s' is a registered name. If it is yours, type the password.'%s' is not a registered name(Blitz)(Link is available on clipboard.)*0 Players Ready0 of 010 min + 6 sec/move, White12002 min, Fischer Random, Black5 minPromote pawn to what?PyChess was unable to load your panel settingsAnalyzingAnimationChess VariantEnter Game NotationInitial PositionInstalled SidepanelsName of _first human player:Name of s_econd human player:Open GameOpening, endgameOpponent StrengthOptionsPlay Sound When...PlayersTime ControlYour Color_Start GameA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedError loading gamePyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to add %sUnable to save file '%s'Unknown file type '%s'Challenge:A player _checks:A player _moves:A player c_aptures:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortAbout ChessAc_tiveAcceptActivate alarm when _remaining sec is:Active color field must be one of w or b. %sActive seeks: %dAdd commentAdd evaluation symbolAdd move symbolAdd start commentAdd threatening variation lines Adding suggestions can help you find ideas, but slows down the computer's analysis.Address ErrorAdjournAdministratorAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364All Chess FilesAll whiteAnalysis by %sAnalyze from current positionAnalyze gameAnimate pieces, board rotation and more. Use this on fast machines.Annotated gameAnnotationAny strengthAsian variantsAsk to _MoveAsymmetric RandomAsymmetric Random AtomicAuto Call _FlagAuto _rotate board to current human playerAuto login on startupAuto-logoutAvailableBB EloBecause %(black)s lost connection to the serverBecause %(black)s lost connection to the server and %(white)s requested adjournmentBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s king explodedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause %(mover)s stalematedBecause %(white)s lost connection to the serverBecause %(white)s lost connection to the server and %(black)s requested adjournmentBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause %(winner)s has fewer piecesBecause %(winner)s king reached the centerBecause %(winner)s lost all piecesBecause %(winner)s was giving check 3 timesBecause a player disconnected and there are too few moves to warrant adjournment. No rating changes have occurred.Because a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both players agreed to a drawBecause both players agreed to abort the game. No rating changes have occurred.Because both players agreed to an adjournmentBecause both players have the same amount of piecesBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause of adjudication by an admin. No rating changes have occurred.Because of courtesy by a player. No rating changes have occurred.Because the %(black)s engine diedBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBecause the server was shut downBecause the server was shut down. No rating changes have occurred.BeepBishopBlackBlack O-OBlack O-O-OBlack has a new piece in outpost: %sBlack has a rather cramped positionBlack has a slightly cramped positionBlack should do pawn storm in leftBlack should do pawn storm in rightBlack:BlindfoldBlindfold AccountBlitzBlitz:Blitz: 5 minBringing your king legally to the center (e4, d4, e5, d5) instantly wins the game! Normal rules apply in other cases and checkmate also ends the game.BughouseCCACalculating...CambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCastling availability field is not legal. %sCenter:ChallengeChallenge: Challenge: Change ToleranceChatChess AdvisorChess Alpha 2 DiagramChess GameChess PositionChess ShoutChess clientClaim DrawClassic chess rules http://en.wikipedia.org/wiki/ChessClassic chess rules with all pieces white http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden figurines http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pawns http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pieces http://en.wikipedia.org/wiki/Blindfold_chessClearClockClose _without SavingColorize analyzed movesCommand:CommentsCompensationComputerConnectingConnecting to serverConnection ErrorConnection was closedContinue to wait for opponent, or try to adjourn the game?Copy FENCornerCould not save the fileCounterplayCrazyhouseCreate SeekDDateDate/TimeDeclineDefaultDestination Host UnreachableDetect type automaticallyDiedDo you know that it is possible to finish a chess game in just 2 turns?Do you know that the number of possible chess games exceeds the number of atoms in the Universe?Do you want to abort it?Don't careDrawDummy AccountECOEdit SeekEdit Seek: Edit commentEmailEn passant cord is not legal. %sEn passant lineEndgame TableEngine scores are in units of pawns, from White's point of view. Double clicking on analysis lines you can insert them into Annotation panel as variations.EnginesEngines use uci or xboard communication protocol to talk to the GUI. If it can use both you can set here which one you like.Enter GameError parsing move %(moveno)s %(mstr)sEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventEvent:Examine Adjourned GameExaminedExaminingExecutable filesExport positionFEN needs 6 data fields. %sFEN needs at least 2 data fields in fenstr. %sFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns * No castling * Black's arrangement mirrors white'sFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED * No castling * Black's arrangement DOES NOT mirrors white'sFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Pawns start on their 7th rank rather than their 2nd rank!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Pawns start on 4th and 5th ranks rather than 2nd and 7thFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html White pawns start on 5th rank and black pawns on the 4th rankFIDE MasterFMF_ull board animationFace _to Face display modeFile existsFischer RandomForced moveFriendsGMGain:Game analyzing in progress...Game informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Game shared at Games running: %dGaviota TB path:Grand MasterGuestHalfmove clockHidden pawnsHidden piecesHideHintsHost:How to PlayHuman BeingIMIdIdleIf set, PyChess will colorize suboptimal analyzed moves with red.If set, PyChess will show game results for different moves in positions containing 6 or less pieces. It will search positions from http://www.k4it.de/If set, PyChess will show game results for different moves in positions containing 6 or less pieces. You can download tablebase files from: http://www.olympuschess.com/egtb/gaviota/If set, PyChess will suggest best opening moves on hint panel.If set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, clicking on main application window closer first time it closes all games.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the captured figurines will be shown next to the board.If set, the elapsed time that a player used for the move is shown.If set, the hint analyzer engine evaluation value is shown.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If the analyzer finds a move where the evaluation difference (the difference between the evaluation for the move it thinks is the best move and the evaluation for the move made in the game) exceeds this value, it will add an annotation for that move (consisting of the engine's Principal Variation for the move) to the Annotation panelIf you don't save, new changes to your games will be permanently lost.In TournamentIn this position, there is no legal move.Initial positionInitiativeInternational MasterInvalid move.It is not possible later to continue the game, if you don't save it.Jump to initial positionJump to latest positionKKingKing of the hillKnightKnight oddsKnightsLeave _FullscreenLightningLightning:Load _Recent GameLoading player dataLocal EventLocal SiteLog on ErrorLog on as _GuestLogging on to serverLosersLossMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMamer ManagerManage enginesManualManual AcceptManually accept opponentMate in %dMaximum analysis time in seconds:Minutes:Minutes: More channelsMore playersMove HistoryMove numberNNameNames: #n1, #n2Needs 7 slashes in piece placement field. %sNever use animation. Use this on slow machines.New GameNo _animationNo chess engines (computer players) are participating in this game.No conversation's selectedNo soundNormalNormal: 40 min + 15 sec/moveNot AvailableObserveObserve %sObserved _ends:OddsOffer A_bortOffer AbortOffer Ad_journmentOffer PauseOffer RematchOffer ResumeOffer UndoOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOne player starts with one less knight pieceOne player starts with one less pawn pieceOne player starts with one less queen pieceOne player starts with one less rook pieceOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpen GameOpen Sound FileOpening BookOpening booksOpponent RatingOpponent's strength: OtherOther (non standard rules)Other (standard rules)PParameters:Paste FENPausePawnPawn oddsPawns PassedPawns PushedPingPlayPlay Fischer Random chessPlay Losers chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer _RatingPlayers: %dPlayingPng imagePo_rts:Polyglot book file:Pre_viewPrefer figures in _notationPreferencesPrivateProbably because it has been withdrawn.PromotionProtocol:PyChess - Connect to Internet ChessPyChess Information WindowPyChess.py:QQueenQueen oddsQuit PyChessRR_esignRandomRapidRapid: 15 min + 10 sec/moveRatedRated gameRatingReceiving list of playersRequest ContinuationResendResend %s?ResultResumeRookRook oddsRoundRound:Running Simul MatchSRS_ign upSanctionsSaveSave GameSave Game _AsSave _own games onlySave analyzing engine _evaluation valuesSave elapsed move _timesSave files to:Save moves before closing?Save the current game before you close it?ScoreSearch:Seek _GraphSeek updatedSelect Gaviota TB pathSelect auto save pathSelect book fileSelect engineSelect sound file...Select the games you want to save:Select working directorySend ChallengeSend all seeksSend seekService RepresentativeSetting up environmentSetup PositionSho_w cordsShort on _time:ShoutShow _captured piecesShow elapsed move timesShow evaluation valuesShow tips at startupShredderLinuxChess:ShuffleSide to moveSide_panelsSimple Chess PositionSiteSite:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinSorry '%s' is already logged inSound filesSpentStandardStandard:Start Private ChatStatusStep back one moveStep forward one moveSuicideTTDTMTeam AccountThe abort offerThe adjourn offerThe analyzer will run in the background and analyze the game. This is necessary for the hint mode to workThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe directory where the engine will be started from.The displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe endgame table will show exact analysis when there are few pieces on the board.The engine %s reports an error:The engine output panel shows the thinking output of chess engines (computer players) during a gameThe entered password was invalid. If you forgot your password, go to http://www.freechess.org/password to request a new one over email.The error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The flag callThe game can't be loaded, because of an error parsing FENThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe hint panel will provide computer advice during each stage of the gameThe inverse analyzer will analyze the game as if your opponent was to move. This is necessary for the spy mode to workThe move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe reason is unknownThe resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe takeback offerThebanThemesThere is %d game with unsaved moves.There are %d games with unsaved moves.There is something wrong with this executableThis game can not be adjourned because one or both players are guestsThis is a continuation of an adjourned matchThis option is not applicable because you're challenging a playerThis option is not available because you're challenging a guest, Threat analysis by %sThree-checkTimeTime control: Time pressureTip Of The dayTip of the DayTo save a game Game > Save Game As, give the filename and choose where you want to be saved. At the bottom choose extension type of the file, and Save.Tolerance:Tournament DirectorTranslate PyChessTypeType or paste PGN game or FEN positions hereUUnable to accept %sUnclear positionUndescribed panelUndoUndo one moveUndo two movesUninstallUnknownUnofficial channel %dUnratedUnregisteredUntimedUpside DownUse _analyzerUse _inverted analyzerUse _local tablebasesUse _online tablebasesUse analyzer:Use name format:Use opening _bookVariant developed by Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Variation annotation creation threshold in centipawns:W EloWFMWGMWIMWaitWas unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.WelcomeWhiteWhite O-OWhite O-O-OWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite has a slightly cramped positionWhite should do pawn storm in leftWhite should do pawn storm in rightWhite:WildWildcastleWildcastle shuffleWinWin by giving check 3 timesWith attackWoman FIDE MasterWoman Grand MasterWoman International MasterWorking directory:Year, month, day: #y, #m, #dYou asked your opponent to moveYou can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou can't select a variant because "Untimed" is checked, You can't switch colors during the game.You have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou have tried to undo too many moves.You sent a draw offerYou sent a pause offerYou sent a resume offerYou sent an abort offerYou sent an adjournment offerYou sent an undo offerYour opponent asks you to hurry!Your opponent has asked that the game be aborted. If you accept this offer, the game will end with no rating change.Your opponent has asked that the game be adjourned. If you accept this offer, the game will be adjourned and you can resume it later (when your opponent is online and both players agree to resume).Your opponent has asked that the game be paused. If you accept this offer, the game clock will be paused until both players agree to resume the game.Your opponent has asked that the game be resumed. If you accept this offer, the game clock will continue from where it was paused.Your opponent has asked that the last %s move(s) be undone. If you accept this offer, the game will continue from the earlier position.Your opponent has offered you a draw.Your opponent has offered you a draw. If you accept this offer, the game will end with a score of 1/2 - 1/2.Your opponent is not out of time.Your opponent seems to have changed their mind.Your opponent wants to abort the game.Your opponent wants to adjourn the game.Your opponent wants to pause the game.Your opponent wants to resume the game.Your opponent wants to undo %s move(s).Your seeks have been removedYour strength: Zugzwang_Accept_Actions_Analyze Game_Call Flag_Clear Seeks_Copy FEN_Copy PGN_Decline_Edit_Engines_Export Position_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hints_Invalid move:_Load Game_Log Viewer_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Untimed_Use main app closer [x] to close all games_Use sounds in PyChess_View_Your Color:andand guests can't play rated gamesand on FICS, untimed games can't be ratedand on FICS, untimed games have to be normal chess rulesask your opponent to moveblackbrings a %(piece)s closer to enemy king: %(cord)sbrings a pawn closer to the backrow: %scall your opponents flagcaptures materialcastlesdefends %sdevelops a %(piece)s: %(cord)sdevelops a pawn: %sdrawsexchanges materialgnuchess:half-openhttp://brainking.com/en/GameRules?tp=2 * Placement of the pieces on the 1st and 8th row are randomized * The king is in the right hand corner * Bishops must start on opposite color squares * Black's starting position is obtained by rotating white's position 180 degrees around the board's center * No castlinghttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyin the %(x)s%(y)s filein the %(x)s%(y)s filesincreases the pressure on %sinvalid promoted piecematesminmoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %snot playingofoffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalpins an enemy %(oppiece)s on the %(piece)s at %(cord)splaces a %(piece)s more active: %(cord)spromotes a Pawn to a %sputs opponent in checkrating range nowrescues a %sresignround %ssecslightly improves king safetytakes back materialthe captured cord (%s) is incorrectthe end cord (%s) is incorrectthe move needs a piece and a cordthreatens to win material by %sto automatic acceptto manual acceptucivs.whitewindow1xboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Random arrangement of the pieces behind the pawns * No castling * Black's arrangement mirrors white'sxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * White has the typical set-up at the start. * Black's pieces are the same, except that the King and Queen are reversed, * so they are not on the same files as White's King and Queen. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.Project-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Croatian (http://www.transifex.com/gbtami/pychess/language/hr/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: hr Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; Dodatak: + %d sek izaziva te na %(time)s %(rated)s %(gametype)s partijušahje stigao/laje otklonio/la tvoju ponudu za ogledje otišao/la kasni 30 sekundi neispravni potez pogonika: %s te cenzurira jako kasni, ali nije iskopčanje prisutan/na min ima te na popisu za odbijanje igrekoristi formulu koja se ne uklapa u tvoj zahtjev za ogled: gdje %(player)s igra %(color)s. s kojim imaš odgođenu %(timecontrol)s %(gametype)s partiju je na mreži. želi nastaviti vašu odgođenu %(time)s %(gametype)s partiju.%(black)s je dobio partiju%(color)s ima dvostrukog pješaka %(place)s%(color)s ima usamljenog pješaka u %(x)s koloni%(color)s ima usamljene pješake u %(x)s kolonama%(color)s ima usamljene pješake u %(x)s kolonama%(color)s ima nove dvostruke pješake %(place)s%(color)s ima novog izmaklog pješaka na %(cord)s%(color)s povlači %(piece)s na %(cord)s%(minutes)d min + %(gain)d sek/potez%(opcolor)s ima novog zarobljenog lovca na %(cord)s%(player)s je %(status)s%(player)s igra %(color)s%(white)s je dobio partiju%d min%s ne može više izvršiti rokadu%s ne može više izvršiti rokadu na kraljevoj strani%s ne može više izvršiti rokadu na kraljičinoj strani%s pomiče pješake u formaciji bedema%s vraća neispravnost%s je otklonjeno od tvog protivnika%s je povučen od strane tvog protivnika%s će prepoznati koje bi prijetnje postojale da je tvoj protivnik bio na potezu %s će pokušati predvidjeti koji je potez najbolji i koja strana ima prednost'%s' je zabilježeno ime. Ako je tvoje, upiši zaporku.'%s' nije zabilježeno ime(Brzopotezno)(Poveznica je dostupna u međuspremniku.)*0 igrača pripravnih0 od 010 min + 6 sek/potez, Bijeli12002 min, Fischerov nasumični, Crni5 minPretvori pješaka u što?PyChess nije mogao podići tvoje postavke za oknaAnalizira seAnimacijaŠahovska varijantaUnesi notaciju partijePočetna pozicijaUgrađena sporedna oknaIme _prvog ljudskog igrača:Ime _drugog ljudskog igrača:Otvori partijuOtvaranje, završnicaProtivnička jačinaMogućnostiOglasi se zvukom kada...IgračiNadzor vremenaTvoja boja_Započni partijuDatoteka s imenom '%s' već postoji. Želiš li je zamijeniti?Šahovski pogonik, %s, se isključioPogreška u učitavanju partijePyChess otkriva tvoje šahovske pogonike. Molim pričekaj.PyChess nije mogao pohraniti partijuIma %d partija s nepohranjenim potezima. Pohrani promjene prije zatvaranja?Nije moguće dodati %sNije moguće pohraniti datoteku '%s'Nepoznata vrsta datoteke '%s'Izazovi:Igrač _šahira:Igrač _povlači:Igrač u_zima:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docPrekiniO šahuD_jelatnoPrihvatiUključi zvučno upozorenje kad _preostaje sekundi:Polje boje na potezu mora biti jedno od bijeloga ili od crnoga. %sDjelatni zahtjevi: %dDodaj komentarDodaj simbol procjeneDodaj simbol potezaDodaj početni komentarDodaj prijeteće potezne promjeneDodavanje prijedloga može ti pomoći u nalaženju zamisli, ali usporava računalnu analizu.Neispravnost u adresiOdgodiUpraviteljAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364Sve šahovske datotekeSvi bijeli Analiza po %sAnaliziraj od trenutne pozicijeAnaliziraj partijuAnimiraj figure, zaokretanje ploče i ostalo. Primjenjuj to na brzim računalima.Notirana partijaNotacijaBilo koja jačinaAzijske varijanteZatraži _potezAsimetrični nasumični Asimetrični nasumični Atomski - Atomic Samozovi _zastavicuSamo_zaokreni ploču prema trenutnom ljudskom igračuSamoprijava pri pokretanjuSamoodjavaDostupnoBC EloJer je %(black)s izgubio vezu s poslužiteljemJer je %(black)s izgubio vezu prema poslužitelju, a %(white)s zatražio odgoduJer je %(black)s ostao bez vremena, a %(white)s nema dovoljno materijala za matiranjeJer se %(loser)s isključioJer je %(loser)s kralj eksplodiraoJer je %(loser)s iscurilo vrijemeZbog predaje %(loser)sJer je %(loser)s matiranjer je %(mover)s u patuJer je %(white)s izgubio vezu s poslužiteljemJer je %(white)s izgubio vezu prema poslužitelju, a %(black)s zatražio odgoduJer je %(white)s ostao bez vremena, a %(black)s nema dovoljno materijala za matiranjeJer %(winner)s ima manje figuraJer je %(winner)s kralj dosegao središteJer je %(winner)s izgubio sve figureJer je %(winner)s zadao šah 3 putaJer se igrač isključio, a preostalo je premalo poteza za dopuštanje odgode. Nisu se dogodile promjene u rangiranju.Jer je igrač izgubio mrežnu vezuJer je jedan igrač izgubio mrežnu vezu, a drugi je zatražio odgoduJer su se oba igrača suglasila s remijemJer su se oba igrača suglasila s prekidom partije. Nisu uslijedile promjene u rangiranju.Jer su se oba igrača suglasila s odgodomJer oba igrača imaju isti broj figuraJer je igračima iscurilo vrijemeJer nijedan igrač nema dovoljno materijala za matZbog presude upraviteljaRadi presude upravitelja. Nisu se dogodile promjene u rangiranju.Zbog ljubaznosti igrača. Nije došlo do promjena u rangiranju.Jer je šahovski pogonik %(black)s zamroJer je šahovski pogonik %(white)s zamroJer je izgubljena mrežna veza prema poslužiteljuJer je partija prešla najveću moguću dužinu trajanjaJer posljednjih 50 poteza nije donijelo ništa novogaJer je ista pozicija opetovana tri puta zaredomJer je poslužitelj isključenJer je poslužitelj isključen. Nisu uslijedile promjene u rangiranju.Zvučni signallovacCrniCrni O-OCrni O-O-OCrni ima novu figuru u predstraži %sCrni ima više sputanu pozicijuCrni ima pomalo sputanu pozicijuCrni bi trebao napraviti pješački napad na lijevoj straniCrni bi trebao napraviti pješački napad na desnoj straniCrni:Slijepi Račun za igru na slijepoBrzopoteznoBrzopotezno:Brzopotezno: 5 minDovođenje vlastitoga kralja u središte (e4, d4, e5, d5) trenutačno donosi pobjedu u partiji! U ostalim slučajevima primjenjuju se uobičajena pravila i šah-mat također završava partiju.Tandemski - Bughouse CCAIzračunava se...CambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlPolje izbora rokade nije pravilno. %sSredište:IzazoviIzazovi:Izazovi: Promijeni odstupanjeRazgovorŠahovski savjetnikŠahovski dijagram Alfa 2Šahovska partijaŠahovska pozicijaUzvik šahŠahovski klijentZatraži remiKlasična šahovska pravila http://en.wikipedia.org/wiki/ChessKlasična šahovska pravila sa svim figurama bijelim http://en.wikipedia.org/wiki/Blindfold_chessKlasična šahovska pravila sa skrivenim figuricama http://en.wikipedia.org/wiki/Blindfold_chessKlasična šahovska pravila sa skrivenim pješacima http://en.wikipedia.org/wiki/Blindfold_chessKlasična šahovska pravila sa skrivenim figurama http://en.wikipedia.org/wiki/Blindfold_chessUkloniUraZatvori _bez spremanjaOboji analizirane potezeNaredba:KomentariNadomjestakRačunaloPovezujemSpajanje na poslužiteljNeispravnost pri spajanjuVeza je bila zatvorenaNastaviti čekati na protivnika ili pokušati odgoditi partiju?Preslikaj FENUgaoni - Corner Nije moguće spremiti datotekuProtuigraLudi - Crazyhouse Stvori zahtjevDNadnevakNadnevak/VrijemeOtkloniZadanoDomaćin odredišta nedostupanPrepoznaj vrstu automatskiZamrloZnaš li kako je moguće završiti šahovsku partiju u samo 2 potezna kruga?Znaš li da broj mogućih šahovskih partija nadilazi broj atoma u svemiru?Želiš li je prekinuti?ZanemarenoRemiLažni računECOUredi zahtjevUredi zahtjev:Uredi komentarE-poštaSpona uzimanja u prolazu nije pravilna. %sPotez uzimanja u prolazuPloča završniceIshodi šahovskog pogonika su u jedinicama pješaka, promatrajući s očišta bijeloga. Dvoklikom na analitičke nizove možeš ih umetnuti u okno komentara kao inačice.Šahovski pogoniciŠahovski pogonici koriste komunikacijski protokol uci ili xboard za općenje s grafičkim korisničkim sučeljem. Ako se ne mogu koristiti oba, možeš odabrati onaj koji želiš.Uđi u igruNeispravnost u obradi poteza %(moveno)s %(mstr)sEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiDogađajDogađaj:Provjeri odgođenu partijuProvjerenoU provjeriIzvršne datotekeIzvezi pozicijuFEN treba 6 podatkovnih polja. %sFEN treba najmanje 2 podatkovna polja u fenstr. %sFICS atomski šah: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS tandemski šah: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS ludi šah: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS gubitnički šah: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS samoubilački šah: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS divlji šah/3: http://www.freechess.org/Help/HelpFiles/wild.html * Nasumično odabrane figure (moguće su dvije kraljice ili tri topa) * Samo jedan kralj od svake boje * Figure postavljene nasumično iza pješaka * Nema rokade * Postava crnoga odraz je postave bijelogaFICS divlji šah/4: http://www.freechess.org/Help/HelpFiles/wild.html * Nasumično odabrane figure (moguće su dvije kraljice ili tri topa) * Samo jedan kralj od svake boje * Figure postavljene nasumično iza pješaka, UZ OGRANIČENJE DA SU SKAKAČI U RAVNOTEŽI * Nema rokade * Postava crnoga NE odražava postavu bijelogaFICS divlji šah/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Pješaci započinju na svome 7. redu umjesto na svome 2. redu!FICS divlji šah/8: http://www.freechess.org/Help/HelpFiles/wild.html Pješaci započinju na 4. i 5. redu umjesto na 2. i 7. reduFICS divlji šah/8a: http://www.freechess.org/Help/HelpFiles/wild.html Bijeli pješaci započinju na 5. redu, a crni pješaci na 4. reduFIDE-majstorFMP_otpuna animacija pločeZaslonski prikaz licem u liceDatoteka postojiFischerov nasumični Prisiljeni potezPrijateljiGMDodatak:Analiza partije u tijeku...Obavijest o partijiPartija je _neriješena:Partija je _izgubljena:Partija je _postavljena:Partija je _dobivena:Partija podijeljena na Partije u tijeku: %dPutanja za bazu pozicija Gaviota:VelemajstorGostPolupotezna uraSkriveni pješaci Skrivene figure SakrijPrijedloziDomaćin:Kako igrati?Ljudsko bićeIMIdU mirovanjuAko je postavljeno, PyChess će nedovoljno dobre analizirane poteze obojiti u crveno.Ako je tako postavljeno, PyChess će pokazati ishod partije za različite poteze u pozicijama koje sadrže 6 ili manje figura. Pozicije će tražiti na http://www.k4it.de/Ako je tako postavljeno, PyChess će pokazati ishod partije za različite poteze u pozicijama koje sadrže 6 ili manje figura. Možeš preuzeti datoteke sa šahovskom bazom pozicija na: http://www.olympuschess.com/egtb/gaviota/Ako je postavljeno, PyChess će predložiti najbolje otvarajuće poteze u savjetodavnom oknu.Ako je postavljeno, PyChess će koristiti brojke kako bi prikazao povučene figure, radije nego velika slova.Ako je postavljeno, klikom na glavni programski zatvarač prozora prvi puta zatvaraju se sve partijeAko je postavljeno, crne figure bit će spuštene, što je pogodno za igru protiv prijatelja na mobilnim uređajima.Ako je postavljeno, ploča će se zaokrenuti nakon svakog poteza, kako bi se prikazao naravni pogled igrača na potezu.Ako je postavljeno, uzete figure bit će prikazane kraj ploče.Ako je postavljeno, prikazano je proteklo vrijeme koje je igrač iskoristio za potez.Ako je postavljeno, prikazuje se rezultat procjene analitičkog pogonika.Ako je postavljeno, šahovska ploča će prikazivati slovnu i brojčanu oznaku za svako šahovsko polje. Ovo je iskoristivo u šahovskoj notaciji.Ako je postavljeno, ovo sakriva karticu na vrhu igrajućeg prozora, kada ona nije potrebna.Ako analiza pronađe potez u kojem razlika u procjeni nadilazi ovu vrijednost (razlika između procjene za potez koji smatra najboljim i procjene za potez povučen u partiji), dodat će bilješku za taj potez (koja se sastoji od glavne inačice šahovskog pogonika za potez) u okno komentaraAko ih ne pohraniš, nove promjene u tvojim partijama bit će trajno izgubljene.U turniruU ovoj poziciji nema pravilnog poteza.Početna pozicijaInicijativaMeđunarodni majstorNepravilni potez.Nije moguće kasnije nastaviti partiju ako je ne spremiš.Skoči na početnu pozicijuSkoči na najnoviju pozicijuKkraljKralj u središtuskakačSkakač prednosti SkakačiNapusti _cijeli zaslonMunjevitoMunjevito:Učitaj _nedavnu partijuPodižu se igračevi podatciMjesni događajMjesni položajNeispravnost pri prijaviPrijavi se kao _GostPrijavljivanje na poslužiteljGubitnički - Losers PorazMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMamer-rukovoditeljUpravljanje šahovskim pogonicimaRučnoRučno prihvatiRučno prihvati protivnikaMat u %dNajduže dopušteno vrijeme analize u sekundama:Minute:Minute:Više kanalaViše igračaPovijest potezaBroj potezaSImeImena: #n1, #n2Treba 7 kosih crta u polju za postavljanje figure. %sNikad ne koristi animaciju. Primjenjuj to na sporim računalima.Nova partijaBez _animacijeNijedan šahovski pogonik (računalni igrač) ne sudjeluje u ovoj partiji.Nijedan razgovor nije izabranBez zvukaStandardnoStandardno: 40 min + 15 sek/potezNedostupnoPromatrajPromatraj %sPromatrane _završnice:PrednostiPonudi pre_kidPonudi prekidPonudi _odgoduPonudi stankuPonudi uzvratPonudi nastavakPonudi poništenjePonudi _prekidPonudi _remiPonudi _stankuPonudi _nastavakPonudi _vraćanje potezaSlužbeno okno PyChessaIzvan mrežeJedan igrač počinje s jednom figurom skakača manjeJedan igrač počinje s jednim pješakom manjeJedan igrač počinje s figurom kraljice manjeJedan igrač počinje s jednom figurom topa manjeNa mrežiAnimiraj samo _potezeAnimiraj samo poteze figuraSamo zabilježeni korisnici mogu općiti s tim kanalomOtvori partijuOtvori zvučnu datotekuKnjiga otvaranjaKnjige otvaranjaRang protivnikaProtivnikova jačina:DrugoDrugo (nestandardna pravila)Drugo (standardna pravila)PMjerila:Prilijepi FENZaustavipješakPješak prednosti Pješaci izmakli Pješaci pogurnuti Pokaži mrežno kašnjenjeIgrajIgraj Fischerov nasumični šahIgraj gubitnički šahIgraj uzvratIgraj _internetski šahIgraj po normalnim šahovskim pravilimaRang igračaIgrači: %dU igriPng slikaUl_azi:Datoteka knjige Polyglot:Pre_gledBudi skloniji figurama u _notacijiPrilagodbeZasebnoVjerojatno jer je povučen.PromocijaProtokol:PyChess - Spoji se na internetski šahObavijesni prozor PyChessaPyChess.py:DdamaKraljica prednosti Napusti PyChessTP_redajNasumični UbrzanoUbrzano: 15 min + 10 sek/potezRangiranRangirana partijaRangPrima se popis igračaZahtijevaj nastavakPonovno pošaljiPonovno poslati %s?IshodNastavitopTop prednosti KrugKrug:U tijeku simultankaSR_Registriraj seKazneSpremiPohrani partijuPohrani partiju _kaoSpremi samo _vlastite partijeSpremi vrijednosne procjene analitičkog pogonikaSpremi protekla _vremena za potezeSpremi datoteke u:Pohrani poteze prije zatvaranja?Spremiti tekuću partiju prije njena zatvaranja?IshodTraži:_Grafikon zahtjevaZahtjev obnovljenOdaberi putanju do podatkovne baze GaviotaOdaberi putanju samospremanjaOdaberi knjižnu datotekuOdaberi šahovski pogonikIzaberi zvučnu datoteku...Izaberi partije koje želiš pohraniti:Odaberi djelatni direktorijUputi izazovPošalji sve zahtjevePošalji zahtjevPoslužiteljski predstavnik na FICS-uPostavljanje okružjaPostavi pozicijuPrikaži oznakeNedostatak _vremena:UzvikPokaži _uzete figurePrikaži proteklo vrijeme za potezPrikaži vrijednosti procjenePokaži savjete pri pokretanjuShredderLinuxChess:Shuffle Strana na potezuSporedna _oknaJednostavna šahovska pozicijaMjestoMjesto:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinOprosti, '%s' je već prijavljen/aZvučne datotekePotrošenoStandardnoStandardno:Započni zasebni razgovorStanjePovuci jedan potez unazadPovuci jedan potez naprijedSamoubilački - Suicide TTDTMSkupni računPonuda prekidaPonuda odgodeAnaliza će raditi u pozadini i analizirati partiju. Ovo je potrebno kako bi savjetodavni način radioOkno razgovora dopušta ti općenje s protivnikom tijekom partije, pod pretpostavkom da je on ili ona zainteresirana za toUra još nije pokrenuta.Okno komentara pokušat će analizirati i objasniti odigrane potezeVeza je bila prekinuta - primljena je poruka "end of file"Direktorij iz kojega će biti pokrenut šahovski pogonik.Prikazano ime prvog ljudskog igrača, npr. Mislav.Prikazano ime gostujućeg igrača, npr. Marija.Ponuda remijaPloča završnice će prikazati točnu analizu kad preostane samo nekoliko figura na šahovnici.Šahovski pogonik %s dojavljuje neispravnost:Izlazno okno pogonika pokazuje misaoni tok šahovskih pogonika (računalnih igrača) tijekom partijeUnesena zaporka je neispravna. Ako si zaboravio/la svoju zaporku, idi na http://www.freechess.org/password kako bi zatražio/la novu preko e-pošte.Neispravnost je bila: %sDatoteka već postoji u '%s'. Ako je zamijeniš, njen sadržaj bit će prebrisan.Poziv zastavicePartija ne može biti pokrenuta, zbog neispravnosti u računalnom čitanju FENPartija ne može biti pročitana do kraja zbog neispravnosti u računalnom čitanju poteza %(moveno)s '%(notation)s'.Partija je završila remijemPartija je prekinutaPartija je odgođenaPartija je dokrajčenaSavjetodavno okno omogućit će računalni prijedlog tijekom svakog dijela partijeObrnuta analiza će analizirati partiju kao da je tvoj protivnik bio na potezu. Ovo je potrebno kako bi špijunski način radioPotez nije uspio zbog %s.Lista poteza bilježi igračke poteze i omogućuje ti kretanje kroz povijest partijePonuda zamjene stranaKnjiga otvaranja će te pokušati nadahnuti tijekom faze otvaranja igre pokazujući ti uobičajene poteze šahovskih majstoraPonuda stankeRazlog je nepoznatPredajaPonuda nastavkaOkno ishoda pokušava procjenjivati pozicije i grafički ti prikazuje napredak partijePonuda povrata potezaTheban TemePostoji %d partija s nepohranjenim potezima.Postoje %d partije s nepohranjenim potezima.Postoji %d partija s nepohranjenim potezima.Nešto nije u redu s ovom izvršnom datotekomOva se partija ne može odgoditi jer su jedan ili oba igrača gostiOvo je nastavak odgođenog ogledaOva mogućnost nije primjenjiva jer izazivaš igračaOva mogućnost nije dostupna jer izazivaš gosta,Analiza prijetnje po %sTrostruki šahVrijemeNadzor vremena:Vremenski tjesnacSavjet danaSavjet danaZa pohranu partije Partija > Pohrani partiju kao, imenuj datoteku i odaberi kamo je želiš pohraniti. Pri dnu odaberi vrstu ekstenzije datoteke, a onda Pohrani.Odstupanje:Ravnatelj turniraPrevedi PyChessVrstaUpiši ili dodaj PGN partiju ili FEN pozicije ovdjeUNije prihvatljivo %sNejasna pozicijaNeopisano oknoPoništiPoništi jedan potezPoništi dva potezaDeinstalirajNepoznatoNeslužbeni kanal %dNerangiranNeregistriranVremenski neograničenoPreokrenuti Koristi _analizuKoristi _obrnutu analizuKoristi _mjesnu šahovsku bazu pozicijaKoristi _mrežnu šahovsku bazu pozicijaKoristi analizu:"Koristi oblik imena:Koristi _knjigu otvaranjaVarijantu razvio Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Prag stvaranja komentara inačice u pješačkim stotinkama:B EloWFMWGMWIMČekajNije bilo moguće pohraniti '%(uri)s' jer PyChess ne prepoznaje format '%(ending)s'.Dobrodošli uBijeliBijeli O-OBijeli O-O-OBijeli ima novu figuru u predstraži %sBijeli ima više sputanu pozicijuBijeli ima pomalo sputanu pozicijuBijeli bi trebao napraviti pješački napad na lijevoj straniBijeli bi trebao napraviti pješački napad na desnoj straniBijeli:Divlji - Wild Wildcastle Wildcastle shuffle PobjedaPobjeda davanjem šaha 3 putaS napadomŽenski FIDE-majstorŽenski velemajstorŽenski međunarodni majstorDjelatni direktorij:Godina, mjesec, dan: #y, #m, #dZatražio/la si od protivnika povlačenje potezaNe možeš igrati rangiranu partiju jer je označeno "vremenski neograničeno",Ne možeš igrati rangiranu partiju jer si prijavljen/a kao gostNe možeš odabrati varijantu jer je označeno "vremenski neograničeno",Ne možeš zamijeniti boje tijekom partije.Odjavljen/a si jer si bio/la u mirovanju više od 60 minutaJoš nisi otvorio nijedan razgovorPokušao si poništiti previše poteza.Poslao/la si ponudu za remiPoslao/la si ponudu za stankuPoslao/la si ponudu za nastavakPoslao/la si ponudu za prekidPoslao/la si ponudu za odgoduPoslao/la si ponudu za povrat potezaProtivnik traži da požuriš!Tvoj je protivnik predložio da partija bude prekinuta. Ako prihvatiš ponudu, partija će završiti bez promjene ranga.Tvoj je protivnik zamolio odgodu partije. Ako prihvatiš ponudu, partija će biti odgođena te je možeš nastaviti kasnije (kada tvoj protivnik bude na mreži i kada se oba igrača slože oko nastavka).Tvoj je protivnik zamolio da partija bude privremeno zaustavljena. Ako prihvatiš ovu ponudu, šahovska ura bit će zaustavljena sve dok se oba igrača ne suglase s nastavkom partije. Tvoj je protivnik zamolio nastavak partije. Ako prihvatiš ovu ponudu, šahovska ura će nastaviti teći od trenutka kada je zaustavljena.Tvoj bi protivnik želio poništiti %s potez(a). Ako prihvatiš ponudu, partija će biti nastavljena iz prethodne pozicije.Tvoj protivnik ponudio ti je remi.Tvoj je protivnik ponudio remi. Ako prihvatiš ponudu, partija će završiti ishodom 1/2 - 1/2.Tvoj protivnik nije ostao bez vremena.Izgleda da se tvoj protivnik predomislio.Tvoj protivnik želi prekinuti partiju.Tvoj protivnik želi odgoditi partiju.Tvoj protivnik želi zaustaviti partiju.Tvoj protivnik želi nastaviti partiju.Tvoj protivnik želi poništiti %s potez(a).Tvoji zahtjevi su uklonjeniTvoja jačina:Prisiljeni potez - Zugzwang_Prihvati_Radnje_Analiziraj partiju_Zovi zastavicu_Počisti zahtjeve_Preslikaj FEN_Preslikaj PGN_Odbij_Uredi_Šahovski pogonici_Izvezi poziciju_Cijeli zaslon_PartijaPopis _partija_Općenito_Pomoć_Sakrij kartice kad je samo jedna partija otvorena_Prijedlozi_Nepravilni potez:_Učitaj partijuPreglednik dnevnika_Ime:_Nova partija_Sljedeći_Promatrani potezi:_Protivnik:_Zaporka:_Igraj standardni šahPopis _igrača_Prijašnji_Zamijeni_Zaokreni ploču_Pohrani %d zapis_Pohrani %d zapisa_Pohrani %d zapisa_Pohrani %d zapise_Pohrani partiju_Zahtjevi / Izazovi_Prikaži sporedna okna_Zvukovi_Započni partiju_Vremenski neograničeno_Koristi glavni programski zatvarač [x] za zatvaranje svih partija_Koristi zvukove u PyChessu_PrikazTvoja bojaia gosti ne mogu igrati rangirane partijea FICS ne omogućava rangiranje vremenski neograničenih partijaa FICS nalaže da se vremenski neograničene partije igraju po normalnim šahovskim pravilimazatraži od protivnika povlačenje potezacrnidovodi %(piece)s bliže protivničkom kralju: %(cord)spribližava pješaka zadnjem redu: %szovi zastavicu svoga protivnikauzima materijalvrši rokadubrani %srazvija %(piece)s: %(cord)srazvija pješaka: %sremiziraizmjenjuje materijalgnuchess:poluotvorenojUgaoni šah: http://brainking.com/en/GameRules?tp=2 * Postavljanje figura na 1. i 8. redu jest nasumično * Kralj je u desnom igračevu uglu * Lovci moraju započeti na poljima suprotne boje * Početna pozicija crnoga dobiva se okretanjem pozicije bijeloga za 180 stupnjeva oko središta ploče * Nema rokadehttp://hr.wikipedia.org/wiki/Šahhttp://en.wikipedia.org/wiki/Chess960 FICS divlji šah/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://hr.wikipedia.org/wiki/Šahovska_pravilapoboljšava sigurnost kraljau %(x)s%(y)s koloniu %(x)s%(y)s kolonamapovećava pritisak na %snepravilno pretvorena figuramatiraminpomiče topa u otvorenu kolonupomiče topa u poluotvorenu kolonupomiče lovca u 'fianchetto': %sne igraodponudi remiponudi stankuponudi povrat potezaponudi prekidponudi odgoduponudi nastavakponudi zamjenu stranaukupno na mrežipritišće protivnika %(oppiece)s na %(piece)s na %(cord)spostavlja %(piece)s u aktivniji položaj: %(cord)spretvara pješaka u %sšahira protivnikaopseg ranga sadaspašava %spredajkrug %ssekblago poboljšava sigurnost kraljauzima nazad materijaluzimajuća oznaka (%s) je nepravilnakrajnja spona (%s) je netočnapotez treba figuru i poveznicuprijeti dobitkom materijala s %sna automatsko prihvaćanjena ručno prihvaćanjeuciprotivbijeliprozor1xboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS divlji šah/2: http://www.freechess.org/Help/HelpFiles/wild.html * Nasumična postava figura iza pješaka * Nema rokade * Postava crnoga odraz je postave bijelogaxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS divlji šah/0: http://www.freechess.org/Help/HelpFiles/wild.html * Bijeli ima uobičajenu postavu na početku. * Crne figure su iste, osim što su kralj i dama preokrenuti, * tako da nisu na istim linijama kao bijeli kralj i dama. * Rokada se izvodi kao i u normalnom šahu: * o-o-o označava veliku rokadu, a o-o malu rokadu.pychess-1.0.0/lang/hr/LC_MESSAGES/pychess.po0000644000175000017500000051334113455543001017402 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # Elvis M. Lukšić , 2013 # Elvis M. Lukšić , 2013 # FIRST AUTHOR , 2008 # gbtami , 2015-2016 # Elvis M. Lukšić , 2013 # Elvis M. Lukšić , 2013 # Elvis M. Lukšić , 2013 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Croatian (http://www.transifex.com/gbtami/pychess/language/hr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hr\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Partija" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Nova partija" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Igraj _internetski šah" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Učitaj partiju" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Učitaj _nedavnu partiju" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Pohrani partiju" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Pohrani partiju _kao" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "_Izvezi poziciju" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Rang igrača" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "_Analiziraj partiju" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Uredi" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_Preslikaj PGN" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "_Preslikaj FEN" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "_Šahovski pogonici" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Radnje" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Ponudi _prekid" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Ponudi _odgodu" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Ponudi _remi" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Ponudi _stanku" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Ponudi _nastavak" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Ponudi _vraćanje poteza" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Zovi zastavicu" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "P_redaj" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Zatraži _potez" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "Samozovi _zastavicu" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Prikaz" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Zaokreni ploču" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Cijeli zaslon" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Napusti _cijeli zaslon" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "_Prikaži sporedna okna" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "Preglednik dnevnika" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Pomoć" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "O šahu" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Kako igrati?" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Prevedi PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Savjet dana" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Šahovski klijent" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Prilagodbe" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "Prikazano ime prvog ljudskog igrača, npr. Mislav." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Ime _prvog ljudskog igrača:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "Prikazano ime gostujućeg igrača, npr. Marija." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Ime _drugog ljudskog igrača:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Sakrij kartice kad je samo jedna partija otvorena" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Ako je postavljeno, ovo sakriva karticu na vrhu igrajućeg prozora, kada ona nije potrebna." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "_Koristi glavni programski zatvarač [x] za zatvaranje svih partija" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "Ako je postavljeno, klikom na glavni programski zatvarač prozora prvi puta zatvaraju se sve partije" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "Samo_zaokreni ploču prema trenutnom ljudskom igraču" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Ako je postavljeno, ploča će se zaokrenuti nakon svakog poteza, kako bi se prikazao naravni pogled igrača na potezu." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "Zaslonski prikaz licem u lice" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Ako je postavljeno, crne figure bit će spuštene, što je pogodno za igru protiv prijatelja na mobilnim uređajima." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "Pokaži _uzete figure" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "Ako je postavljeno, uzete figure bit će prikazane kraj ploče." #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Budi skloniji figurama u _notaciji" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "Ako je postavljeno, PyChess će koristiti brojke kako bi prikazao povučene figure, radije nego velika slova." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "Oboji analizirane poteze" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "Ako je postavljeno, PyChess će nedovoljno dobre analizirane poteze obojiti u crveno." #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "Prikaži proteklo vrijeme za potez" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "Ako je postavljeno, prikazano je proteklo vrijeme koje je igrač iskoristio za potez." #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "Prikaži vrijednosti procjene" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "Ako je postavljeno, prikazuje se rezultat procjene analitičkog pogonika." #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "P_otpuna animacija ploče" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Animiraj figure, zaokretanje ploče i ostalo. Primjenjuj to na brzim računalima." #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Animiraj samo _poteze" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Animiraj samo poteze figura" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Bez _animacije" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Nikad ne koristi animaciju. Primjenjuj to na sporim računalima." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animacija" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_Općenito" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "Koristi _knjigu otvaranja" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "Ako je postavljeno, PyChess će predložiti najbolje otvarajuće poteze u savjetodavnom oknu." #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "Datoteka knjige Polyglot:" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "Koristi _mjesnu šahovsku bazu pozicija" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "Ako je tako postavljeno, PyChess će pokazati ishod partije za različite poteze u pozicijama koje sadrže 6 ili manje figura.\nMožeš preuzeti datoteke sa šahovskom bazom pozicija na:\nhttp://www.olympuschess.com/egtb/gaviota/" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "Putanja za bazu pozicija Gaviota:" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "Koristi _mrežnu šahovsku bazu pozicija" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "Ako je tako postavljeno, PyChess će pokazati ishod partije za različite poteze u pozicijama koje sadrže 6 ili manje figura.\nPozicije će tražiti na http://www.k4it.de/" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "Otvaranje, završnica" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Koristi _analizu" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "Analiza će raditi u pozadini i analizirati partiju. Ovo je potrebno kako bi savjetodavni način radio" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Koristi _obrnutu analizu" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "Obrnuta analiza će analizirati partiju kao da je tvoj protivnik bio na potezu. Ovo je potrebno kako bi špijunski način radio" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "Najduže dopušteno vrijeme analize u sekundama:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analizira se" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_Prijedlozi" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Deinstaliraj" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "D_jelatno" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Ugrađena sporedna okna" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "Sporedna _okna" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "Prikaži oznake" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "Ako je postavljeno, šahovska ploča će prikazivati slovnu i brojčanu oznaku za svako šahovsko polje. Ovo je iskoristivo u šahovskoj notaciji." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Teme" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Koristi zvukove u PyChessu" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "Igrač _šahira:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Igrač _povlači:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Partija je _neriješena:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Partija je _izgubljena:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Partija je _dobivena:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Igrač u_zima:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Partija je _postavljena:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "_Promatrani potezi:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "Promatrane _završnice:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "Nedostatak _vremena:" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "_Nepravilni potez:" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "Uključi zvučno upozorenje kad _preostaje sekundi:" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Oglasi se zvukom kada..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Zvukovi" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Spremi datoteke u:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "\"Koristi oblik imena:" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "Imena: #n1, #n2" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "Godina, mjesec, dan: #y, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "Spremi protekla _vremena za poteze" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "Spremi vrijednosne procjene analitičkog pogonika" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "Spremi samo _vlastite partije" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Spremi" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Promocija" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "dama" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "top" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "lovac" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "skakač" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "kralj" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Pretvori pješaka u što?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "Zadano" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "Skakači" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Obavijest o partiji" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Mjesto:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Crni:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Krug:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Bijeli:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Događaj:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "uci" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "xboard" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "Upravljanje šahovskim pogonicima" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Naredba:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protokol:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Mjerila:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "Šahovski pogonici koriste komunikacijski protokol uci ili xboard\nza općenje s grafičkim korisničkim sučeljem.\nAko se ne mogu koristiti oba, možeš odabrati onaj koji želiš." #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "Djelatni direktorij:" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "Direktorij iz kojega će biti pokrenut šahovski pogonik." #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Bijeli" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Crni" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "Događaj" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "ECO" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Nadnevak" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "Mjesto" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Ishod" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "Strana na potezu" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Analiziraj partiju" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "Koristi analizu:" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "Ako analiza pronađe potez u kojem razlika u procjeni nadilazi ovu vrijednost (razlika između procjene za potez koji smatra najboljim i procjene za potez povučen u partiji), dodat će bilješku za taj potez (koja se sastoji od glavne inačice šahovskog pogonika za potez) u okno komentara" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "Prag stvaranja komentara inačice u pješačkim stotinkama:" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "Analiziraj od trenutne pozicije" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "Dodaj prijeteće potezne promjene" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess otkriva tvoje šahovske pogonike. Molim pričekaj." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Spoji se na internetski šah" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Zaporka:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Ime:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Prijavi se kao _Gost" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "Domaćin:" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Ul_azi:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "_Registriraj se" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Izazovi: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Uputi izazov" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Izazovi:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Munjevito:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Standardno:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Brzopotezno:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "2 min, Fischerov nasumični, Crni" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 min + 6 sek/potez, Bijeli" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 min" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "_Počisti zahtjeve" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Prihvati" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Odbij" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "Pošalji sve zahtjeve" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Pošalji zahtjev" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Stvori zahtjev" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Standardno" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Brzopotezno" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Munjevito" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Računalo" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "_Zahtjevi / Izazovi" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Rang" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Vrijeme" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "_Grafikon zahtjeva" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 igrača pripravnih" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Izazovi" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Promatraj" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Započni zasebni razgovor" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Gost" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "Popis _igrača" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "Popis _partija" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "Ponudi pre_kid" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "Pre_gled" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "Asimetrični nasumični " #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Uredi zahtjev" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Vremenski neograničeno" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minute:" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr " Dodatak:" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Nadzor vremena:" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Nadzor vremena" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Zanemareno" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Tvoja jačina:" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Brzopotezno)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Protivnikova jačina:" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Središte:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Odstupanje:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Sakrij" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Protivnička jačina" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Tvoja boja" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Igraj po normalnim šahovskim pravilima" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Igraj" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Šahovska varijanta" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Rangirana partija" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Ručno prihvati protivnika" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Mogućnosti" #: glade/findbar.glade:6 msgid "window1" msgstr "prozor1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 od 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Traži:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Prijašnji" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Sljedeći" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Nova partija" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Započni partiju" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "Preslikaj FEN" #: glade/newInOut.glade:143 msgid "Clear" msgstr "Ukloni" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "Prilijepi FEN" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Igrači" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "_Vremenski neograničeno" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "Brzopotezno: 5 min" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "Ubrzano: 15 min + 10 sek/potez" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "Standardno: 40 min + 15 sek/potez" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "_Igraj standardni šah" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Igraj Fischerov nasumični šah" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "Igraj gubitnički šah" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Otvori partiju" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Početna pozicija" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Unesi notaciju partije" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "Polupotezna ura" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "Potez uzimanja u prolazu" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "Broj poteza" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "Crni O-O" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "Crni O-O-O" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "Bijeli O-O-O" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "Bijeli O-O" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Napusti PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Zatvori _bez spremanja" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "_Pohrani %d zapise" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "Ima %d partija s nepohranjenim potezima. Pohrani promjene prije zatvaranja?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Izaberi partije koje želiš pohraniti:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Ako ih ne pohraniš, nove promjene u tvojim partijama bit će trajno izgubljene." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "_Protivnik:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "Tvoja boja" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "_Započni partiju" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "Samoprijava pri pokretanju" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Savjet dana" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Pokaži savjete pri pokretanju" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://hr.wikipedia.org/wiki/Šah" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://hr.wikipedia.org/wiki/Šahovska_pravila" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Dobrodošli u" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Otvori partiju" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "Šahovski pogonik %s dojavljuje neispravnost:" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "Tvoj protivnik ponudio ti je remi." #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "Tvoj je protivnik ponudio remi. Ako prihvatiš ponudu, partija će završiti ishodom 1/2 - 1/2." #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "Tvoj protivnik želi prekinuti partiju." #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "Tvoj je protivnik predložio da partija bude prekinuta. Ako prihvatiš ponudu, partija će završiti bez promjene ranga." #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "Tvoj protivnik želi odgoditi partiju." #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "Tvoj je protivnik zamolio odgodu partije. Ako prihvatiš ponudu, partija će biti odgođena te je možeš nastaviti kasnije (kada tvoj protivnik bude na mreži i kada se oba igrača slože oko nastavka)." #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "Tvoj protivnik želi poništiti %s potez(a)." #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "Tvoj bi protivnik želio poništiti %s potez(a). Ako prihvatiš ponudu, partija će biti nastavljena iz prethodne pozicije." #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "Tvoj protivnik želi zaustaviti partiju." #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "Tvoj je protivnik zamolio da partija bude privremeno zaustavljena. Ako prihvatiš ovu ponudu, šahovska ura bit će zaustavljena sve dok se oba igrača ne suglase s nastavkom partije. " #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "Tvoj protivnik želi nastaviti partiju." #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "Tvoj je protivnik zamolio nastavak partije. Ako prihvatiš ovu ponudu, šahovska ura će nastaviti teći od trenutka kada je zaustavljena." #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "Predaja" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "Poziv zastavice" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "Ponuda remija" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "Ponuda prekida" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "Ponuda odgode" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "Ponuda stanke" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "Ponuda nastavka" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "Ponuda zamjene strana" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "Ponuda povrata poteza" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "predaj" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "zovi zastavicu svoga protivnika" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "ponudi remi" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "ponudi prekid" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "ponudi odgodu" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "ponudi stanku" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "ponudi nastavak" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "ponudi zamjenu strana" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "ponudi povrat poteza" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "zatraži od protivnika povlačenje poteza" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Tvoj protivnik nije ostao bez vremena." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "Ura još nije pokrenuta." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "Ne možeš zamijeniti boje tijekom partije." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "Pokušao si poništiti previše poteza." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Protivnik traži da požuriš!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "Prihvati" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "Otkloni" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "%s je otklonjeno od tvog protivnika" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "Ponovno poslati %s?" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "Ponovno pošalji" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s je povučen od strane tvog protivnika" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "Izgleda da se tvoj protivnik predomislio." #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "Nije prihvatljivo %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "Vjerojatno jer je povučen." #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s vraća neispravnost" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "Šahovski dijagram Alfa 2" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "Partija podijeljena na " #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "(Poveznica je dostupna u međuspremniku.)" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Šahovska pozicija" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Nepoznato" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Jednostavna šahovska pozicija" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "Partija ne može biti pokrenuta, zbog neispravnosti u računalnom čitanju FEN" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Šahovska partija" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "Nepravilni potez." #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "Partija ne može biti pročitana do kraja zbog neispravnosti u računalnom čitanju poteza %(moveno)s '%(notation)s'." #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "Potez nije uspio zbog %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "Neispravnost u obradi poteza %(moveno)s %(mstr)s" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "Png slika" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "Domaćin odredišta nedostupan" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Zamrlo" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Mjesni događaj" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Mjesni položaj" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "min" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "sek" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "pješak" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "S" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "B" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "T" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "D" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "K" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Partija je završila remijem" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s je dobio partiju" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s je dobio partiju" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "Partija je dokrajčena" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Partija je odgođena" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Partija je prekinuta" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "Jer nijedan igrač nema dovoljno materijala za mat" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "Jer je ista pozicija opetovana tri puta zaredom" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "Jer posljednjih 50 poteza nije donijelo ništa novoga" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Jer je igračima iscurilo vrijeme" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "jer je %(mover)s u patu" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "Jer su se oba igrača suglasila s remijem" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "Zbog presude upravitelja" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "Jer je partija prešla najveću moguću dužinu trajanja" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "Jer je %(white)s ostao bez vremena, a %(black)s nema dovoljno materijala za matiranje" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "Jer je %(black)s ostao bez vremena, a %(white)s nema dovoljno materijala za matiranje" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "Jer oba igrača imaju isti broj figura" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "Zbog predaje %(loser)s" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "Jer je %(loser)s iscurilo vrijeme" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "Jer je %(loser)s matiran" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "Jer se %(loser)s isključio" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "Jer %(winner)s ima manje figura" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "Jer je %(winner)s izgubio sve figure" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "Jer je %(loser)s kralj eksplodirao" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "Jer je %(winner)s kralj dosegao središte" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "Jer je %(winner)s zadao šah 3 puta" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "Jer je igrač izgubio mrežnu vezu" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "Jer su se oba igrača suglasila s odgodom" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "Jer je poslužitelj isključen" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "Jer je jedan igrač izgubio mrežnu vezu, a drugi je zatražio odgodu" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "Jer je %(black)s izgubio vezu prema poslužitelju, a %(white)s zatražio odgodu" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "Jer je %(white)s izgubio vezu prema poslužitelju, a %(black)s zatražio odgodu" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "Jer je %(white)s izgubio vezu s poslužiteljem" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "Jer je %(black)s izgubio vezu s poslužiteljem" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "Radi presude upravitelja. Nisu se dogodile promjene u rangiranju." #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "Jer su se oba igrača suglasila s prekidom partije. Nisu uslijedile promjene u rangiranju." #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "Zbog ljubaznosti igrača. Nije došlo do promjena u rangiranju." #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "Jer se igrač isključio, a preostalo je premalo poteza za dopuštanje odgode. Nisu se dogodile promjene u rangiranju." #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "Jer je poslužitelj isključen. Nisu uslijedile promjene u rangiranju." #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "Jer je šahovski pogonik %(white)s zamro" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "Jer je šahovski pogonik %(black)s zamro" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "Jer je izgubljena mrežna veza prema poslužitelju" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "Razlog je nepoznat" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "ASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "ASEAN" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "Makruk: http://en.wikipedia.org/wiki/Makruk" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "Makruk" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "Cambodian: http://www.khmerinstitute.org/culture/ok.html" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "Cambodian" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "Ai-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "Ai-Wok" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "Sittuyin" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "FICS divlji šah/4: http://www.freechess.org/Help/HelpFiles/wild.html\n* Nasumično odabrane figure (moguće su dvije kraljice ili tri topa)\n* Samo jedan kralj od svake boje\n* Figure postavljene nasumično iza pješaka, UZ OGRANIČENJE DA SU SKAKAČI U RAVNOTEŽI\n* Nema rokade\n* Postava crnoga NE odražava postavu bijeloga" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Asimetrični nasumični " #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "FICS atomski šah: http://www.freechess.org/Help/HelpFiles/atomic.html" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "Atomski - Atomic " #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klasična šahovska pravila sa skrivenim figuricama\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "Slijepi " #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klasična šahovska pravila sa skrivenim pješacima\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "Skriveni pješaci " #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klasična šahovska pravila sa skrivenim figurama\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "Skrivene figure " #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klasična šahovska pravila sa svim figurama bijelim\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "Svi bijeli " #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "FICS tandemski šah: http://www.freechess.org/Help/HelpFiles/bughouse.html" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "Tandemski - Bughouse " #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "Ugaoni šah: http://brainking.com/en/GameRules?tp=2\n* Postavljanje figura na 1. i 8. redu jest nasumično\n* Kralj je u desnom igračevu uglu\n* Lovci moraju započeti na poljima suprotne boje\n* Početna pozicija crnoga dobiva se okretanjem pozicije bijeloga za 180 stupnjeva oko središta ploče\n* Nema rokade" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Ugaoni - Corner " #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "FICS ludi šah: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "Ludi - Crazyhouse " #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "EuroShogi" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "http://en.wikipedia.org/wiki/Chess960\nFICS divlji šah/fr: http://www.freechess.org/Help/HelpFiles/wild.html" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Fischerov nasumični " #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "Dovođenje vlastitoga kralja u središte (e4, d4, e5, d5) trenutačno donosi pobjedu u partiji!\nU ostalim slučajevima primjenjuju se uobičajena pravila i šah-mat također završava partiju." #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "Kralj u središtu" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "Jedan igrač počinje s jednom figurom skakača manje" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "Skakač prednosti " #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "FICS gubitnički šah: http://www.freechess.org/Help/HelpFiles/losers_chess.html" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "Gubitnički - Losers " #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "Klasična šahovska pravila\nhttp://en.wikipedia.org/wiki/Chess" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Standardno" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "Jedan igrač počinje s jednim pješakom manje" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "Pješak prednosti " #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "FICS divlji šah/8a: http://www.freechess.org/Help/HelpFiles/wild.html\nBijeli pješaci započinju na 5. redu, a crni pješaci na 4. redu" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "Pješaci izmakli " #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "FICS divlji šah/8: http://www.freechess.org/Help/HelpFiles/wild.html\nPješaci započinju na 4. i 5. redu umjesto na 2. i 7. redu" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "Pješaci pogurnuti " #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "Jedan igrač počinje s figurom kraljice manje" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "Kraljica prednosti " #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "FICS divlji šah/3: http://www.freechess.org/Help/HelpFiles/wild.html\n* Nasumično odabrane figure (moguće su dvije kraljice ili tri topa)\n* Samo jedan kralj od svake boje\n* Figure postavljene nasumično iza pješaka\n* Nema rokade\n* Postava crnoga odraz je postave bijeloga" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Nasumični " #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "Jedan igrač počinje s jednom figurom topa manje" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "Top prednosti " #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS divlji šah/2: http://www.freechess.org/Help/HelpFiles/wild.html\n* Nasumična postava figura iza pješaka\n* Nema rokade\n* Postava crnoga odraz je postave bijeloga" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Shuffle " #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "FICS samoubilački šah: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "Samoubilački - Suicide " #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "Varijantu razvio Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "Theban " #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "Pobjeda davanjem šaha 3 puta" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "Trostruki šah" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "FICS divlji šah/5: http://www.freechess.org/Help/HelpFiles/wild.html\nhttp://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\nPješaci započinju na svome 7. redu umjesto na svome 2. redu!" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "Preokrenuti " #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS divlji šah/0: http://www.freechess.org/Help/HelpFiles/wild.html\n* Bijeli ima uobičajenu postavu na početku.\n* Crne figure su iste, osim što su kralj i dama preokrenuti,\n* tako da nisu na istim linijama kao bijeli kralj i dama.\n* Rokada se izvodi kao i u normalnom šahu:\n* o-o-o označava veliku rokadu, a o-o malu rokadu." #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "Wildcastle " #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "Wildcastle shuffle " #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "Veza je bila prekinuta - primljena je poruka \"end of file\"" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' nije zabilježeno ime" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "Unesena zaporka je neispravna.\nAko si zaboravio/la svoju zaporku, idi na http://www.freechess.org/password kako bi zatražio/la novu preko e-pošte." #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "Oprosti, '%s' je već prijavljen/a" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "'%s' je zabilježeno ime. Ako je tvoje, upiši zaporku." #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Spajanje na poslužitelj" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Prijavljivanje na poslužitelj" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Postavljanje okružja" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "%(player)s je %(status)s" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "ne igra" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Divlji - Wild " #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Na mreži" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Izvan mreže" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "Dostupno" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "U igri" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "U mirovanju" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "U provjeri" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "Nedostupno" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "U tijeku simultanka" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "U turniru" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Nerangiran" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Rangiran" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d min" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr " + %d sek" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "%(player)s igra %(color)s" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "bijeli" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "crni" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "Ovo je nastavak odgođenog ogleda" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "Rang protivnika" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "Ručno prihvati" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Zasebno" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Neispravnost pri spajanju" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Neispravnost pri prijavi" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Veza je bila zatvorena" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Neispravnost u adresi" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Samoodjava" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Odjavljen/a si jer si bio/la u mirovanju više od 60 minuta" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "Provjereno" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Drugo" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Upravitelj" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "Račun za igru na slijepo" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Skupni račun" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "Neregistriran" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "Šahovski savjetnik" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "Poslužiteljski predstavnik na FICS-u" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "Ravnatelj turnira" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "Mamer-rukovoditelj" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "Velemajstor" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "Međunarodni majstor" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "FIDE-majstor" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "Ženski velemajstor" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "Ženski međunarodni majstor" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "Ženski FIDE-majstor" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "Lažni račun" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "C" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "T" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "U" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "CA" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "SR" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "TD" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "TM" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "GM" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "IM" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "FM" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "WGM" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "WIM" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "WFM" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "D" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "PyChess nije mogao podići tvoje postavke za okna" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "Prijatelji" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "Više kanala" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "Više igrača" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "Zaustavi" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "Nijedan razgovor nije izabran" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "Podižu se igračevi podatci" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "Prima se popis igrača" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "Obavijesni prozor PyChessa" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "od" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "Još nisi otvorio nijedan razgovor" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "Samo zabilježeni korisnici mogu općiti s tim kanalom" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "Analiza partije u tijeku..." #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "Želiš li je prekinuti?" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "Prekini" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "Odaberi šahovski pogonik" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "Izvršne datoteke" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "Nije moguće dodati %s" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "Nešto nije u redu s ovom izvršnom datotekom" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "Odaberi djelatni direktorij" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr " neispravni potez pogonika: %s" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Ponudi uzvrat" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "Promatraj %s" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Igraj uzvrat" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Poništi jedan potez" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Poništi dva poteza" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "Poslao/la si ponudu za prekid" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "Poslao/la si ponudu za odgodu" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Poslao/la si ponudu za remi" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "Poslao/la si ponudu za stanku" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "Poslao/la si ponudu za nastavak" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "Poslao/la si ponudu za povrat poteza" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "Zatražio/la si od protivnika povlačenje poteza" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Šahovski pogonik, %s, se isključio" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "Ponudi prekid" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "Ova se partija ne može odgoditi jer su jedan ili oba igrača gosti" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "Zatraži remi" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "Nastavi" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "Ponudi stanku" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "Ponudi nastavak" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "Poništi" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "Ponudi poništenje" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr " kasni 30 sekundi" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr " jako kasni, ali nije iskopčan" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "Nastaviti čekati na protivnika ili pokušati odgoditi partiju?" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "Čekaj" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "Odgodi" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "Skoči na početnu poziciju" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "Povuci jedan potez unazad" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "Povuci jedan potez naprijed" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Skoči na najnoviju poziciju" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Ljudsko biće" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minute:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Dodatak:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "Ubrzano" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "Prednosti" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "Drugo (standardna pravila)" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "Drugo (nestandardna pravila)" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "Azijske varijante" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "šah" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Postavi poziciju" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "Upiši ili dodaj PGN partiju ili FEN pozicije ovdje" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Uđi u igru" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "Odaberi knjižnu datoteku" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "Knjige otvaranja" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "Odaberi putanju do podatkovne baze Gaviota" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Otvori zvučnu datoteku" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "Zvučne datoteke" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Bez zvuka" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Zvučni signal" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Izaberi zvučnu datoteku..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "Neopisano okno" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "Odaberi putanju samospremanja" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "Znaš li kako je moguće završiti šahovsku partiju u samo 2 potezna kruga?" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "Znaš li da broj mogućih šahovskih partija nadilazi broj atoma u svemiru?" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "Za pohranu partije Partija > Pohrani partiju kao, imenuj datoteku i odaberi kamo je želiš pohraniti. Pri dnu odaberi vrstu ekstenzije datoteke, a onda Pohrani." #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "FEN treba 6 podatkovnih polja. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "FEN treba najmanje 2 podatkovna polja u fenstr. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "Treba 7 kosih crta u polju za postavljanje figure. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "Polje boje na potezu mora biti jedno od bijeloga ili od crnoga. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "Polje izbora rokade nije pravilno. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "Spona uzimanja u prolazu nije pravilna. \n\n%s" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "nepravilno pretvorena figura" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "potez treba figuru i poveznicu" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "uzimajuća oznaka (%s) je nepravilna" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "krajnja spona (%s) je netočna" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "i" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "remizira" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "matira" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "šahira protivnika" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "poboljšava sigurnost kralja" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "blago poboljšava sigurnost kralja" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "pomiče topa u otvorenu kolonu" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "pomiče topa u poluotvorenu kolonu" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "pomiče lovca u 'fianchetto': %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "pretvara pješaka u %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "vrši rokadu" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "uzima nazad materijal" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "izmjenjuje materijal" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "uzima materijal" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "spašava %s" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "prijeti dobitkom materijala s %s" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "povećava pritisak na %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "brani %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "pritišće protivnika %(oppiece)s na %(piece)s na %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "Bijeli ima novu figuru u predstraži %s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "Crni ima novu figuru u predstraži %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "%(color)s ima novog izmaklog pješaka na %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "poluotvorenoj" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "u %(x)s%(y)s koloni" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "u %(x)s%(y)s kolonama" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "%(color)s ima dvostrukog pješaka %(place)s" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "%(color)s ima nove dvostruke pješake %(place)s" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "%(color)s ima usamljenog pješaka u %(x)s koloni" msgstr[1] "%(color)s ima usamljene pješake u %(x)s kolonama" msgstr[2] "%(color)s ima usamljene pješake u %(x)s kolonama" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "%s pomiče pješake u formaciji bedema" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "%s ne može više izvršiti rokadu" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "%s ne može više izvršiti rokadu na kraljičinoj strani" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "%s ne može više izvršiti rokadu na kraljevoj strani" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "%(opcolor)s ima novog zarobljenog lovca na %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "razvija pješaka: %s" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "približava pješaka zadnjem redu: %s" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "dovodi %(piece)s bliže protivničkom kralju: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "razvija %(piece)s: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "postavlja %(piece)s u aktivniji položaj: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "Bijeli bi trebao napraviti pješački napad na desnoj strani" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "Crni bi trebao napraviti pješački napad na lijevoj strani" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "Bijeli bi trebao napraviti pješački napad na lijevoj strani" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "Crni bi trebao napraviti pješački napad na desnoj strani" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "Crni ima više sputanu poziciju" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "Crni ima pomalo sputanu poziciju" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "Bijeli ima više sputanu poziciju" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "Bijeli ima pomalo sputanu poziciju" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "Uzvik" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "Uzvik šah" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "Neslužbeni kanal %d" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "Id" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "B Elo" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "C Elo" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "Krug" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Ura" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Vrsta" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Nadnevak/Vrijeme" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr " s kojim imaš odgođenu %(timecontrol)s %(gametype)s partiju je na mreži." #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "Zahtijevaj nastavak" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "Provjeri odgođenu partiju" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Razgovor" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Pobjeda" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Remi" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Poraz" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "Kazne" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "E-pošta" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Potrošeno" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "ukupno na mreži" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Pokaži mrežno kašnjenje" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Povezujem" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Partije u tijeku: %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Ime" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "Stanje" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "Igrači: %d" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Izazovi:" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "Ova mogućnost nije primjenjiva jer izazivaš igrača" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Uredi zahtjev:" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "%(minutes)d min + %(gain)d sek/potez" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Ručno" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "Bilo koja jačina" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "Ne možeš igrati rangiranu partiju jer si prijavljen/a kao gost" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "Ne možeš igrati rangiranu partiju jer je označeno \"vremenski neograničeno\"," #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "a FICS ne omogućava rangiranje vremenski neograničenih partija" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "Ova mogućnost nije dostupna jer izazivaš gosta," #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "a gosti ne mogu igrati rangirane partije" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "Ne možeš odabrati varijantu jer je označeno \"vremenski neograničeno\"," #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "a FICS nalaže da se vremenski neograničene partije igraju po normalnim šahovskim pravilima" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "Promijeni odstupanje" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " min" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Djelatni zahtjevi: %d" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr " želi nastaviti vašu odgođenu %(time)s %(gametype)s partiju." #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr " izaziva te na %(time)s %(rated)s %(gametype)s partiju" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr " gdje %(player)s igra %(color)s." #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "je otklonio/la tvoju ponudu za ogled" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr " te cenzurira" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr " ima te na popisu za odbijanje igre" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "koristi formulu koja se ne uklapa u tvoj zahtjev za ogled:" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "na ručno prihvaćanje" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "na automatsko prihvaćanje" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "opseg ranga sada" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "Zahtjev obnovljen" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "Tvoji zahtjevi su uklonjeni" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "je stigao/la" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "je otišao/la" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "je prisutan/na" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Prepoznaj vrstu automatski" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "Pogreška u učitavanju partije" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Pohrani partiju" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "Izvezi poziciju" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Nepoznata vrsta datoteke '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "Nije bilo moguće pohraniti '%(uri)s' jer PyChess ne prepoznaje format '%(ending)s'." #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Nije moguće pohraniti datoteku '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Zamijeni" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Datoteka postoji" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Datoteka s imenom '%s' već postoji. Želiš li je zamijeniti?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "Datoteka već postoji u '%s'. Ako je zamijeniš, njen sadržaj bit će prebrisan." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Nije moguće spremiti datoteku" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess nije mogao pohraniti partiju" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "Neispravnost je bila: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "Postoji %d partija s nepohranjenim potezima." msgstr[1] "Postoje %d partije s nepohranjenim potezima." msgstr[2] "Postoji %d partija s nepohranjenim potezima." #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "Pohrani poteze prije zatvaranja?" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "protiv" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "_Pohrani %d zapis" msgstr[1] "_Pohrani %d zapisa" msgstr[2] "_Pohrani %d zapisa" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "Spremiti tekuću partiju prije njena zatvaranja?" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Nije moguće kasnije nastaviti partiju\nako je ne spremiš." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Sve šahovske datoteke" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "Notacija" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "Notirana partija" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "Dodaj početni komentar" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "Dodaj komentar" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "Uredi komentar" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "Prisiljeni potez" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "Dodaj simbol poteza" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "Nejasna pozicija" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "Prisiljeni potez - Zugzwang" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "Inicijativa" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "S napadom" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "Nadomjestak" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "Protuigra" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "Vremenski tjesnac" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "Dodaj simbol procjene" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "krug %s" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "Prijedlozi" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "Savjetodavno okno omogućit će računalni prijedlog tijekom svakog dijela partije" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Službeno okno PyChessa" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Knjiga otvaranja" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "Knjiga otvaranja će te pokušati nadahnuti tijekom faze otvaranja igre pokazujući ti uobičajene poteze šahovskih majstora" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "Analiza po %s" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "%s će pokušati predvidjeti koji je potez najbolji i koja strana ima prednost" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "Analiza prijetnje po %s" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "%s će prepoznati koje bi prijetnje postojale da je tvoj protivnik bio na potezu " #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "Izračunava se..." #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "Ishodi šahovskog pogonika su u jedinicama pješaka, promatrajući s očišta bijeloga. Dvoklikom na analitičke nizove možeš ih umetnuti u okno komentara kao inačice." #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "Dodavanje prijedloga može ti pomoći u nalaženju zamisli, ali usporava računalnu analizu." #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "Ploča završnice" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "Ploča završnice će prikazati točnu analizu kad preostane samo nekoliko figura na šahovnici." #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "Mat u %d" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "U ovoj poziciji\nnema pravilnog poteza." #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "Okno razgovora dopušta ti općenje s protivnikom tijekom partije, pod pretpostavkom da je on ili ona zainteresirana za to" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Komentari" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "Okno komentara pokušat će analizirati i objasniti odigrane poteze" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Početna pozicija" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "%(color)s povlači %(piece)s na %(cord)s" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "Šahovski pogonici" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "Izlazno okno pogonika pokazuje misaoni tok šahovskih pogonika (računalnih igrača) tijekom partije" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "Nijedan šahovski pogonik (računalni igrač) ne sudjeluje u ovoj partiji." #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Povijest poteza" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "Lista poteza bilježi igračke poteze i omogućuje ti kretanje kroz povijest partije" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Ishod" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "Okno ishoda pokušava procjenjivati pozicije i grafički ti prikazuje napredak partije" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/gl/0000755000175000017500000000000013467766037013604 5ustar varunvarunpychess-1.0.0/lang/gl/LC_MESSAGES/0000755000175000017500000000000013467766037015371 5ustar varunvarunpychess-1.0.0/lang/gl/LC_MESSAGES/pychess.mo0000644000175000017500000005133313467766035017407 0ustar varunvarun@  'EM]d'@!2Gbz#$ 2AUg&zC7U*s(   !/C? * ! % F $g # - & -!3!8!?!E!K!R! Z! d!p!!! !!!!! !!! " " 8" D"N" h"s" x" "" """" """" # #'# 9#F#L# Q# ]#ci#]#S+$F$$$$%%%$%+% =% G%R% f% r%%%%%%% % % % %&&/ &=& F&T&o&x&&& & & & & & &&''')'.C' r'|' '''''''' ''(()(1(:( V(b( j(t( ((( (((( ((((( ( (()) ')3)"H)k) z)) ))) )))) ))* $*1*A*hS*"*C*5#+9Y+3++++,,7,P,l,,,,Z,A-AZ----- ---. .. ".,.4.J.R. Z.h....9.?.9 /(E/Cn/$/&// 0!50W0g0o0 x0 0 00 000%0 0 00 1 11 !1 ,171 J1 W1 a1o1 1111 111 11!1)28@2y2 22 2"2+223/3 23 ?3M3\3m3}33333!344l4{555555566666;6Y6(_6J6666%777!P7(r7'77778%868N8`8%w8@848\95p93999::!:4: E:S:Bo::A:;!;"#;&F;m;*;$;+;<('<)P<8z<<<<<<<<<<=&=+===Q=X= j= v===== = ==>"> *>8>G>M> `> l>>> >>>>?? -?9?B? J? V?ra?i?R>@:@@@@A*A-A1A8A TA ^A lA AAAAAA AB B *B7BGB_BaB4fB BB$BBBBCC-CBCSCbCtCC C CCC6C (D6D KDYDqDxDzDDDDDD#DD E E"E AENE VE!aE EEEEE EEEEEE EEF"F ;FGFOFcF)FF FFFF GG .G9G ?G IGTGlGGGGiG#HNCH"H;H5H'I;IJIfIzIIIIII Jc"JCJHJKK-K>K OK[KnKKKK K KKK KK L "L,L4LX;L@LHL/MENM&M+MM"N&(NONaN jNtNNNNNNN-NNO!O (O 6O@O WO cOqOO OOOOOOP PP3P 8PDP5FP0|PNP$P !Q,Q 4Q">Q+aQQQQQQQQR&RARTR kR(uR0RRR)!HJ@R7P5<(j$@u?,3 "W}X/>2bB'-[ dq<F  #0]7Q8g:!o1m=i4t;,ZC6)${sI&fwcYlxE6h  >N-%21_93  4pV9:+\kr`zS?|D~#"My0A&*.8;L(.5Oa+%/ ve^U' TGK *=n min%(black)s won the game%(white)s won the game%d min%s returns an error'%s' is not a registered name(Blitz)0 Players Ready0 of 010 min + 6 sec/move, White12002 min, Fischer Random, Black5 minPromote pawn to what?PyChess was unable to load your panel settingsAnalyzingAnimationChess VariantEnter Game NotationInitial PositionInstalled SidepanelsName of _first human player:Name of s_econd human player:Open GameOpponent StrengthOptionsPlay Sound When...PlayersTime ControlYour Color_Start GameEngine, %s, has diedPyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to save file '%s'Unknown file type '%s'Challenge:A player _moves:About ChessAc_tiveActive seeks: %dAddress ErrorAdministratorAll Chess FilesAnimate pieces, board rotation and more. Use this on fast machines.Ask to _MoveAuto _rotate board to current human playerAuto-logoutBBecause %(loser)s disconnectedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause a player lost connectionBecause both players ran out of timeBecause of adjudication by an adminBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBeepBishopBlackBlitzBlitz:Center:ChallengeChallenge: Challenge: Change ToleranceChatChess GameChess PositionClockClose _without SavingCommentsConnectingConnecting to serverConnection ErrorConnection was closedCould not save the fileCreate SeekDate/TimeDetect type automaticallyDon't careDrawEdit SeekEdit Seek: EmailEnter GameEvent:F_ull board animationFace _to Face display modeFile existsGain:Game informationGame is _drawn:Game is _lost:Game is _won:Games running: %dGrand MasterGuestHideHow to PlayHuman BeingIf set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, this hides the tab in the top of the playing window, when it is not needed.If you don't save, new changes to your games will be permanently lost.Initial positionInternational MasterJump to initial positionJump to latest positionKKingKnightLeave _FullscreenLightningLightning:Loading player dataLocal EventLog on ErrorLog on as _GuestLogging on to serverLossManualManually accept opponentMinutes:Minutes: More channelsMore playersMove HistoryNNameNever use animation. Use this on slow machines.New GameNo _animationNo conversation's selectedNo soundObserved _ends:OddsOffer Ad_journmentOffer RematchOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpen GameOpen Sound FileOpening BookOpponent's strength: OtherPPawnPingPlayPlay Fischer Random chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer _RatingPo_rts:Pre_viewPrefer figures in _notationPreferencesPrivatePromotionPyChess Information WindowPyChess.py:QQueenQuit PyChessRRandomRapidRated gameRatingRookRound:S_ign upSave GameSave Game _AsSave moves before closing?ScoreSearch:Seek _GraphSelect sound file...Select the games you want to save:Send ChallengeSend seekSetting up environmentSho_w cordsShow tips at startupShredderLinuxChess:Side_panelsSite:SpentStandardStandard:Step back one moveStep forward one moveTeam AccountThe abort offerThe adjourn offerThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe error was: %sThe game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe move failed because %s.The offer to switch sidesThe pause offerThe reason is unknownThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThis option is not applicable because you're challenging a playerThis option is not available because you're challenging a guest, TimeTime control: Tip Of The dayTip of the DayTolerance:Tournament DirectorTranslate PyChessTypeUndo one moveUndo two movesUninstallUnknownUnofficial channel %dUnratedUntimedUse _analyzerUse _inverted analyzerWelcomeWhiteWinYou can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou can't select a variant because "Untimed" is checked, You can't switch colors during the game.You have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou have tried to undo too many moves.You sent a draw offerYour opponent asks you to hurry!Your opponent is not out of time.Your strength: _Accept_Actions_Call Flag_Clear Seeks_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Load Game_Log Viewer_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Rotate Board_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Use sounds in PyChess_View_Your Color:andand guests can't play rated gamesand on FICS, untimed games can't be ratedand on FICS, untimed games have to be normal chess rulesask your opponent to movedefends %sdrawsgnuchess:http://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyincreases the pressure on %sofoffer a drawoffer a pauseoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalpromotes a Pawn to a %sresignslightly improves king safetythe move needs a piece and a cordvs.window1Project-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Galician (http://www.transifex.com/gbtami/pychess/language/gl/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: gl Plural-Forms: nplurals=2; plural=(n != 1); min%(black)s gaña a partida%(white)s gaña a partida%d min%s devolveu un erro'%s' non é un nome rexistrado(Partida rápida)0 xogadores listos0 de 010 min + 6 seg/mov, nrancas12002 min, Fischer Random, negras5 minA que promove o peón?PyChess foi incapaz de cargar o teu panel de ferramentasAnalizandoAnimaciónVariante do xadrezIntoducir notación da partidaPosición inicialPaneis laterais instaladosNome do _primeiro xogador humano:Nome do _segundo xogador humano:Partida abertaMestría do opoñenteOpciónsFacer sonar son cando..XogadoresControl de tempoA súa corComezar partidaO motor, %s, morreuPyChess está a buscar os eus motores. Agarde.PyChess non puido gardar a partidaHai %d xogos sen cambios gardados. Quere gardar os cambios antes de saír?Foi imposible gardar o arquivo '%s'Tipo de arquivo descoñecido '%s'Desafío:_Movementos dun xogador:Sobre do xadrezAc_tivarBuscas activas: %dErro no enderezoAdministradorTódolos arquivos de xadrezAnimar pezas, rotar taboleiro e máis. Usar es máquinas rápidas.Pedir que _mova_Rotar automaticamente o taboleiro cara ao xogador humano actualPeche automático de sesiónAXa que o %(loser)s se desconectouPorque o %(loser)s se quedou sen tempoPorque o %(loser)s se retirouPorque ó %(loser)s lle fixeron xaque mateXa que un xogador perdeu a conexiónXa que ambos xogadores quedaronse sen tempoPor decisión dun administradorPorque se perdeu a conexión ó servidorXa que o xogo superou o duración máximaPorque os últimos 50 movementos non aportaron nada novoBeepAlfilNegrasPartida rápidaPartida rápida:Centro:DesafíoReto: Desafío: Tolerancia ó cambioChatPartida de xadrezPosición do xadrezReloxoPechar sen gardarComentariosConectandoConectando co servidorErro na conexiónPechouse a conexiónNon se puido gardar o arquivoCrear buscaData/HoraDetectar tipo automaticamenteNon te preocupesTáboasEditar buscasEditar busca: EmailIntroducir partidaActividade:Animación completa do taboleiroModo de vista "Cara a cara"O ficheiro xa existeBeneficio:Información da partidaPartida en _táboas:Partida perdida:Partida gañada:Xogos en proceso: %dGran MestreHóspedeAgocharCómo xogarSer humanoSe se selecciona, as pezas negras estarán boca abaixo, axeitado para xogar contra amigos en dispositivos móbeis.Se se selecciona, o taboleiro xirará tras cada movemento, para amosar a vista natural do xogador actual.Se se activa, agóchase a lapela da parte superior da xanela cando non se precisa.Se non garda, os novos cambios perderanse definitivamente.Posición InicialMestre InternacionalSaltar á posición inicialSaltar a última posiciónReReiCabaloSaír da _pantalla completaLóstregoIluminación:Cargando información do xogadorEvento localErro ó iniciar sesiónEntrar como _convidadoIniciando sesión no servidorPerderManualAceptar manualmente ao opoñenteMinutos:Minutos: Máis canlesMáis xogadoresHistorial de movementosCNomeNon usar nunca animación. Usar en máquinas lentas.Nova partidaSen animaciónNon se seleccionou ningunha conversaSilencioFinais observados:ProbabilidadesOfrecer a_prazamentoOfrecer revanchaOfrecer i_nterromperOfrecer _táboasOfrecer _pausaOfrecer _reanudarOfrecer _desfacerPanel Oficial de PyChessDesconectadoConectadoAnimar soamente movementos.Animar so movementos de pezas.Só os usuarios rexistrados poden falar por este canleAbrir partidaAbrir Arquivo de SonAbrindo LibroMestría do opoñente: OutrosPPeónPingXogarXogar xadrez Fischer RandomXogar revanchaXogar xadrez na _redeXogar coas regras normais do xadrez_Cualificación do xogadorPo_rtos:_Vista previaMellor figuras nas anotaciónsPreferenciasPrivadoPromociónXanela de Información de PyChessPyChess.py:RaRaíñaSaír de PyChessTAleatorioRápidaPartida cualificadaCualificaciónTorreRonda:Re_xistroGardar partidaGardar _como...Gardar movementos antes de pechar?PuntuaciónBuscar:_Gráfico de buscasSeleccionar arquivo de son...Selecciona as partidas que queres gardar:Enviar desafíoEnviar buscaPreparando entornoAmosar coordenadasAmosar consellos ao iniciarShredderLinuxChess:Paneis lateraisSitio web:GastoEstándarEstándar:Retroceder un movementoAvanzar un movementoConta de equipoA oferta de abortarA oferta de táboasO panel de conversas permítelle comunicarse co seu opoñente durante a partida, sempre que el/ela queiraO reloxo non se iniciou aínda.O panel de comentario tratará de analizar e explicar os movementos realizadosPerdeuse a conexión - ver mensaxeNome a amosar para o primeiro xogador humano, p.ex., Xoán.Nome a amosar para o xogador convidado, p.ex., MaríaA oferta de táboasO erro foi: %sA partida quedou en táboasAbortouse a partidaAprazouse a partidaFinalizouse a partidaO movemento fallou porque %s.O oferta de intercambiar ladoA oferta de pausaDescoñécese a razónA oferta de reanudaciónO panel de puntuación trata de avaliar as posicións e amosache un gráfico do progreso da partidaEsta opción non é aplicábel xa que está a desafiar a un xogadorEsta opción non está dispoñible porque estás a retar a un invitado, TempoControl de tempo: Consello do díaConsello do díaTolerancia:Director de torneoTraducir PyChessTipoDesfacer un movementoDesfacer dous movementosDesinstalarDescoñecidoCanle non oficial %dSen cualificarSen tempoUsar analizadorUsar analizador inversoBenvido/aBrancasGañarNon pode xogar partidas cualificadas xa que está seleccionada a opción «Sen tempo», Non pode xogar partidas cualificadas xa que entrou como hóspedeNon podes seleccionar unha variante xa que está marcado «Sen tempo», Non podes intercambiar cores durante a partida.Pechouse a túa sesión porque estiveches ausente máis de 60 minutosNon abriches ningunha conversa aínda.Intentaches desfacer demasiados movementos.Enviou unha oferta de táboasO teu adversario quere que apures!O teu advesario non finalizou o tempo.A súa mestría: _Aceptar_Accións_Chamar bandeira_Limpar buscas_Pantalla completa_PartidaLista de _partidasXeral_Axuda_Agochar lapelas cando só hai un xogo aberto_Cargar partida_Rexistrar a vista_Nome:_Nova Partida_SeguinteMovementos observados:Adversario:_Contrasinal:_Xogar xadrez normalLista de _xogadores_Anterior_Rotar taboleiroGardar %d documentos_Gardar partidaBu_scas / Desafios:_Amosar controis lateraisSons_Iniciar PartidaUsar sons en PyChess_VerA túa cor:ee os convidados non poden xogar partidas cualificadase en FICS, as partidas sen tempo non se puntúane en FICS, as partidas sen tempo teñen que seguir as regras normais do xadrezpedirlle ó adversario que mova pezadefende %stáboasgnuchess:http://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessmellora a seguridade do reiincrementa a presión en %sdeofrecer táboasofrecer unha pausaofrecer abortarofrecer aprazamentoofrecer a reanudaciónofrecer intercambiar ladosconectado en totalpromover un Peón a %srechazadamellora lixeiramente a seguridade do reio movemento necesita unha peza e unha coordenadavs.xanela1pychess-1.0.0/lang/gl/LC_MESSAGES/pychess.po0000644000175000017500000044756313455542730017417 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2007 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Galician (http://www.transifex.com/gbtami/pychess/language/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: gl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Partida" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Nova Partida" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Xogar xadrez na _rede" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Cargar partida" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Gardar partida" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Gardar _como..." #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "_Cualificación do xogador" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Accións" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Ofrecer i_nterromper" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Ofrecer a_prazamento" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Ofrecer _táboas" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Ofrecer _pausa" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Ofrecer _reanudar" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Ofrecer _desfacer" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Chamar bandeira" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Pedir que _mova" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Ver" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Rotar taboleiro" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Pantalla completa" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Saír da _pantalla completa" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "_Amosar controis laterais" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_Rexistrar a vista" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Axuda" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Sobre do xadrez" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Cómo xogar" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Traducir PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Consello do día" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Preferencias" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "Nome a amosar para o primeiro xogador humano, p.ex., Xoán." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Nome do _primeiro xogador humano:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "Nome a amosar para o xogador convidado, p.ex., María" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Nome do _segundo xogador humano:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Agochar lapelas cando só hai un xogo aberto" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Se se activa, agóchase a lapela da parte superior da xanela cando non se precisa." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "_Rotar automaticamente o taboleiro cara ao xogador humano actual" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Se se selecciona, o taboleiro xirará tras cada movemento, para amosar a vista natural do xogador actual." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "Modo de vista \"Cara a cara\"" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Se se selecciona, as pezas negras estarán boca abaixo, axeitado para xogar contra amigos en dispositivos móbeis." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Mellor figuras nas anotacións" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "Animación completa do taboleiro" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Animar pezas, rotar taboleiro e máis. Usar es máquinas rápidas." #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Animar soamente movementos." #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Animar so movementos de pezas." #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Sen animación" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Non usar nunca animación. Usar en máquinas lentas." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animación" #: glade/PyChess.glade:1527 msgid "_General" msgstr "Xeral" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Usar analizador" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Usar analizador inverso" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analizando" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Desinstalar" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "Ac_tivar" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Paneis laterais instalados" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "Paneis laterais" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "Amosar coordenadas" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "Usar sons en PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "_Movementos dun xogador:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Partida en _táboas:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Partida perdida:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Partida gañada:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "Movementos observados:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "Finais observados:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Facer sonar son cando.." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "Sons" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Promoción" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Raíña" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Torre" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Alfil" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Cabalo" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Rei" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "A que promove o peón?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Información da partida" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Sitio web:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Ronda:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Actividade:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Brancas" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Negras" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess está a buscar os eus motores. Agarde." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Contrasinal:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Nome:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Entrar como _convidado" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Po_rtos:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "Re_xistro" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Desafío: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Enviar desafío" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Desafío:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Iluminación:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Estándar:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Partida rápida:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "2 min, Fischer Random, negras" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 min + 6 seg/mov, nrancas" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 min" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "_Limpar buscas" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Aceptar" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Enviar busca" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Crear busca" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Estándar" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Partida rápida" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Lóstrego" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "Bu_scas / Desafios:" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Cualificación" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Tempo" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "_Gráfico de buscas" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 xogadores listos" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Desafío" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Hóspede" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "Lista de _xogadores" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "Lista de _partidas" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "_Vista previa" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Editar buscas" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Sen tempo" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minutos: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Control de tempo: " #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Control de tempo" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Non te preocupes" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "A súa mestría: " #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Partida rápida)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Mestría do opoñente: " #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Centro:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Tolerancia:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Agochar" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Mestría do opoñente" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "A súa cor" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Xogar coas regras normais do xadrez" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Xogar" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Variante do xadrez" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Partida cualificada" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Aceptar manualmente ao opoñente" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Opcións" #: glade/findbar.glade:6 msgid "window1" msgstr "xanela1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 de 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Buscar:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Anterior" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Seguinte" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Nova partida" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Iniciar Partida" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Xogadores" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "_Xogar xadrez normal" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Xogar xadrez Fischer Random" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Partida aberta" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Posición inicial" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Intoducir notación da partida" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Saír de PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Pechar sen gardar" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "Gardar %d documentos" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "Hai %d xogos sen cambios gardados. Quere gardar os cambios antes de saír?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Selecciona as partidas que queres gardar:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Se non garda, os novos cambios perderanse definitivamente." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "Adversario:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "A túa cor:" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "Comezar partida" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Consello do día" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Amosar consellos ao iniciar" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://en.wikipedia.org/wiki/Chess" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://en.wikipedia.org/wiki/Rules_of_chess" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Benvido/a" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Abrir partida" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "A oferta de táboas" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "A oferta de abortar" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "A oferta de táboas" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "A oferta de pausa" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "A oferta de reanudación" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "O oferta de intercambiar lado" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "rechazada" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "ofrecer táboas" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "ofrecer abortar" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "ofrecer aprazamento" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "ofrecer unha pausa" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "ofrecer a reanudación" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "ofrecer intercambiar lados" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "pedirlle ó adversario que mova peza" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "O teu advesario non finalizou o tempo." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "O reloxo non se iniciou aínda." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "Non podes intercambiar cores durante a partida." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "Intentaches desfacer demasiados movementos." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "O teu adversario quere que apures!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s devolveu un erro" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Posición do xadrez" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Descoñecido" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Partida de xadrez" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "O movemento fallou porque %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Evento local" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Peón" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "C" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "A" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "T" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "Ra" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "Re" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "A partida quedou en táboas" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s gaña a partida" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s gaña a partida" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "Finalizouse a partida" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Aprazouse a partida" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Abortouse a partida" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "Porque os últimos 50 movementos non aportaron nada novo" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Xa que ambos xogadores quedaronse sen tempo" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "Por decisión dun administrador" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "Xa que o xogo superou o duración máxima" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "Porque o %(loser)s se retirou" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "Porque o %(loser)s se quedou sen tempo" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "Porque ó %(loser)s lle fixeron xaque mate" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "Xa que o %(loser)s se desconectou" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "Xa que un xogador perdeu a conexión" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "Porque se perdeu a conexión ó servidor" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "Descoñécese a razón" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Aleatorio" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "Perdeuse a conexión - ver mensaxe" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' non é un nome rexistrado" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Conectando co servidor" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Iniciando sesión no servidor" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Preparando entorno" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Conectado" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Desconectado" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Sen cualificar" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d min" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Privado" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Erro na conexión" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Erro ó iniciar sesión" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Pechouse a conexión" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Erro no enderezo" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Peche automático de sesión" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Pechouse a túa sesión porque estiveches ausente máis de 60 minutos" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Outros" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Administrador" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Conta de equipo" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "Director de torneo" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "Gran Mestre" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "Mestre Internacional" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "PyChess foi incapaz de cargar o teu panel de ferramentas" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "Máis canles" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "Máis xogadores" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "Non se seleccionou ningunha conversa" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "Cargando información do xogador" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "Xanela de Información de PyChess" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "de" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "Non abriches ningunha conversa aínda." #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "Só os usuarios rexistrados poden falar por este canle" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Ofrecer revancha" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Xogar revancha" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Desfacer un movemento" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Desfacer dous movementos" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Enviou unha oferta de táboas" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "O motor, %s, morreu" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "Saltar á posición inicial" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "Retroceder un movemento" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "Avanzar un movemento" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Saltar a última posición" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Ser humano" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minutos:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Beneficio:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "Rápida" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "Probabilidades" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Introducir partida" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Abrir Arquivo de Son" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Silencio" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Beep" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Seleccionar arquivo de son..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "o movemento necesita unha peza e unha coordenada" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "e" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "táboas" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "mellora a seguridade do rei" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "mellora lixeiramente a seguridade do rei" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "promover un Peón a %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "incrementa a presión en %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "defende %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "Canle non oficial %d" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Reloxo" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Tipo" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Data/Hora" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Chat" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Gañar" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Táboas" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Perder" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Email" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Gasto" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "conectado en total" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Conectando" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Xogos en proceso: %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Nome" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Reto: " #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "Esta opción non é aplicábel xa que está a desafiar a un xogador" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Editar busca: " #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Manual" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "Non pode xogar partidas cualificadas xa que entrou como hóspede" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "Non pode xogar partidas cualificadas xa que está seleccionada a opción «Sen tempo», " #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "e en FICS, as partidas sen tempo non se puntúan" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "Esta opción non está dispoñible porque estás a retar a un invitado, " #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "e os convidados non poden xogar partidas cualificadas" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "Non podes seleccionar unha variante xa que está marcado «Sen tempo», " #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "e en FICS, as partidas sen tempo teñen que seguir as regras normais do xadrez" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "Tolerancia ó cambio" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " min" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Buscas activas: %d" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Detectar tipo automaticamente" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Gardar partida" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Tipo de arquivo descoñecido '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Foi imposible gardar o arquivo '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "O ficheiro xa existe" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Non se puido gardar o arquivo" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess non puido gardar a partida" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "O erro foi: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "Gardar movementos antes de pechar?" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "vs." #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Tódolos arquivos de xadrez" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Panel Oficial de PyChess" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Abrindo Libro" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "O panel de conversas permítelle comunicarse co seu opoñente durante a partida, sempre que el/ela queira" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Comentarios" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "O panel de comentario tratará de analizar e explicar os movementos realizados" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Posición Inicial" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Historial de movementos" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Puntuación" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "O panel de puntuación trata de avaliar as posicións e amosache un gráfico do progreso da partida" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/ru/0000755000175000017500000000000013467766037013630 5ustar varunvarunpychess-1.0.0/lang/ru/LC_MESSAGES/0000755000175000017500000000000013467766037015415 5ustar varunvarunpychess-1.0.0/lang/ru/LC_MESSAGES/pychess.mo0000644000175000017500000036120313467766035017433 0ustar varunvarun&SK8e 9e DeGNee e$e eeef+#fOf afmfrf/f0f[fNCgg%g`g(0h+Yh'h3h#h%i@+i7li0iii j j'j#?j$cj'jj j!jQkJYk>kkl! l+l-l/l1lAlHlLlPlXlslxll0l'l@l5mFmWmjm|mmmmmm#n$,n#Qnunnnnnnnoo.oDoVopo?oQo&p$X[RBcJ]? BL;q˞S=OF (6> EOV&f$á ݡ)): @J\a r  ڤߤD39AGNg  åʥѥ E   1AY mw  ɧڧ  +JSX ^l{  Ǩ!Ҩ *1 : HU] b o{ . /)-6 > JX] b mw} Cת 1 8Fat |   ҫ ޫ    * 8D\dti,ެ* +6*b.­  -;P4Yîɮ  ",2 7 A N[ ` lx} Я   *29MVv հݰ' % / 9E#Mq 8DFL R ] kxz Ʋղ &=R Y drij ɳӳ"+,= j  ´д('@O*j Ƶӵ%&C Tb"w¶ Ѷ۶- < GSBc$ѷ+? G T `m /ѸLI i u, ƹ̹ҹ ۹(, 3=CKTd{  ú̺պphhU"C5%K[J49'3aR3cKgTy 9ZqI}#`8ZZmtK{-~Et,AA)k     ,$&-5uIy9J\ ao ~$   (6Mc z  Q6U 9 #U5M  $ #1%U {"#* "&B G Q]oB9?59u(/yC$3&F+Cax% tG &%l!Anc/&()&R'y' " + 9&C j u   % $ 3 > JT [ek |   $ %0DU ]i+r !)8,e1' <PV i s5}"e+<h}!! C dp s ,6)(` !#5Y!xD$ o ; 21>OX.#dR8ylj,05MEF8S+g(H?ZE!, AbRfI$f51k1~ =(,0'8`3e^:p<7"7Z$w(=(+,+X4+#"(K3e$&("29lN`X:C<G?oF?6M g" e-AZQiQ% '30[&(:@X%&@Qlm $+Pd#v0-'.<6k yG e t       # '' )O  y - -     K+ Iw h ;* f y    5 5  . = 2P s  F9>*TD)2s!92El^A=SmL-zTPdP<TzJ]nSFk33Mehdl35] 4AV e p {  BL6Nb5>I@f 0>M&\ 3   0!=!L!]!l!n!q! t!+!8!! " "Q!"s" "" " "":"## # -#@N##!#!## $ $!$]@$$.%%>&&*&''+'!I'k'B|'Y'F(`(p(((((( ()()#@).d)))m)%* @*/M*}*4* * *3*+/0+"`+5+7++/,2,;, D,O,Q,h,~,, ,1,,, -2 -:@-v{-6-,). V.a.}p..u/)0G0DW0 0 000111'1)2102<b2Q2 22 3D 3R3%f33\353 053=5q666&6:677 -7177 i7 v7767777848R8a8=d8b8H9JN9J9P9M5::6<I> ??e@{@)~@9@!@ AA -AQ:AYAAAAwBBBB)B"C 1CI=C!D DD?D#E (E5E 8ECE cE pE}E%EE$EF!F?F_F$F FF%FF GGGGH/'HWHlHH HHH HH H]H SI^I `I!kII<III J J3JFJbJsJ JJJJJFJ,K0K3KDKIKdK|KKLGMP`NOEPP~mQQRr~SSsTTU^Vx`X!XXY-Y@Y'[YRY6Y= Z=KZZZB]7] ^^)-^W^!l^%^^^'^ _2._a_j_{_u_ ` ` `'`38`3l``` ` ```!` a a a7-a ea pa"}a a aab bbcc c c*cd*#d,Nd {d1d*dde !e#,ePe*neeeeee e8fAfRf [f%hf%ff!f4fg!g7gOgGdggg gg+g h!h2hNhjhyhhh hh hhhhhhWi ^iii_~i iii j!(jJj Yjdjj jjjqj$n*rn-n+nnooKoIoO:pIpp-p@qVqqq(r**rUror5r rtrAsas s s s8s4stt #t0tAtUt jt ut!tt!tttt u %u+2u3^uu@u7u%vAv ^vlv vv v vvv?v 4wM>ww w6ww!x 2xF?xx!xxx xEx-8y3fy zz z z%z%z {"{${4{ G{(R{{{{{${{.|*2|]| y|0|)|#|$}*},F}Ls}}}}"}~ .~!9~[~{~~6~'~ ~~~^+- !';Lc6/g1!:V,Mz "΂>40?e"ȃS4U(ф  -)%W!}%*Ņ I/P2f7ч3Kd u U+( 9F9ۉ1KI1݊  & CP!p   ԋ' #0CRTWZ!q%ˌ'ڌ'*&ϏXQah Yu;ϑ* #6Z3S!u+AR1_s04!R:t2*::ޙ1ٚ# /+Gs.29BCbsI?dZb+  "*#Mq"̡ա 0& W boV &+F#d   פ8/0O(ۥ,֧.(?W;5Ө_ .i#3>/DUdxsfSrB,H u tSȭ%# ITds@JůL]<o>d P \g*} 4   '66^$( Mе@_zr\Iϸ<VQ43XNb$QAv.773WI6ս@ M2 >Z&/ <>;665@l:=/&Vj yc.Z   &1 X f p|\" !  B c1.# R`v- 1 ,C[Z/# $J'`rr=F Xa@L%&#'= eoGer4*"/<@ }HP+Y-,%2;)n8 IN8>%$.@R a!o=%ICMG88(Ktx | |Z!ak.?7 $#i0r -HEdk2 34L9AQ+oImmIs"GhM7-,9 (fKv]O$tyeJ X*F[2Z^H!t4K%^[eaP X{!3/C@I  `*B 3xP Ty U9: F~2L=N\ ylD8^Uo"LFT'%0 Z'Nva.Q[mRAHtq5E:SWw[Qz~Q? i5)^*_JUf&N9'd"1qaSCL>. {"APF;zC>W1jYbYvEkE_v: xY@<1r*b5 8cT>ebPuGqV~p?6 +D3'`(}%dp23VIm@pt}G%Wqcip&gY-SH gjdyT{\=ijws:d//9oB~wH_7n-,|| Z0l8:f`bMN g}Y]uRTKV& 7;BA?g KV"_uP&Mq+St+b|D6v~(1$p*`<r{Z[=})<i/\8}{nx= WxjU)M56zf@ uSf,^Q0RJGO0OBsWGO=ns#];AkRE?`8w%ornUu|!6r+#>2o\ M(;l-].zZhO&h4LJzVly<4/Cm>FXc'h\hca<$sK6)De4)1.7lBD;x_wk#IeJN!!| ]CaXgn@ #,$R,X (j5c Gain: + %d sec challenges you to a %(time)s %(rated)s %(gametype)s game chess has arrived has declined your offer for a match has departed has lagged for 30 seconds invalid engine move: %s is censoring you is lagging heavily but hasn't disconnected is not installed is present min noplay listing you uses a formula not fitting your match request: where %(player)s plays %(color)s. with whom you have an adjourned %(timecontrol)s %(gametype)s game is online. would like to resume your adjourned %(time)s %(gametype)s game.%(black)s won the game%(color)s got a double pawn %(place)s%(color)s got an isolated pawn in the %(x)s file%(color)s got isolated pawns in the %(x)s files%(color)s got new double pawns %(place)s%(color)s has a new passed pawn on %(cord)s%(color)s moves a %(piece)s to %(cord)s%(counter)s game headers from %(filename)s imported%(minutes)d min + %(gain)d sec/move%(name)s %(minutes)d min %(duration)s%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s%(name)s %(minutes)d min / %(moves)d moves %(duration)s%(opcolor)s has a new trapped bishop on %(cord)s%(player)s is %(status)s%(player)s plays %(color)s%(white)s won the game%d min%s can no longer castle%s can no longer castle in kingside%s can no longer castle in queenside%s moves pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent%s will identify what threats would exist if it were your opponent's turn to move%s will try to predict which move is best and which side has the advantage'%s' is a registered name. If it is yours, type the password.'%s' is not a registered name(Blitz)(Link is available on clipboard.)*-00 Players Ready0 of 00-11-01/2-1/210 min + 6 sec/move, White12002 min, Fischer Random, Black5 minConnect to Online Chess ServerPromote pawn to what?PyChess was unable to load your panel settingsAnalyzingAnimationBoard StyleChess SetsChess VariantEnter Game NotationGeneral OptionsInitial PositionInstalled SidepanelsMove textName of _first human player:Name of s_econd human player:New version %s is available!Open GameOpen databaseOpening, endgameOpponent StrengthOptionsPlay Sound When...PlayersStart learningTime ControlWelcome screenYour Color_Connect to server_Start Game%s is not marked executable in the filesystemA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedError loading gameFile '%s' already exists.PyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to add %sUnable to save file '%s'Unknown file type '%s'Challenge:A player _checks:A player _moves:A player c_aptures:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortAbout ChessAc_tiveAcceptActivate alarm when _remaining sec is:Active color field must be one of w or b. %sActive seeks: %dAdd commentAdd evaluation symbolAdd move symbolAdd new filterAdd start commentAdd threatening variation lines Adding suggestions can help you find ideas, but slows down the computer's analysis.Additional tagsAddress ErrorAdjournAdminAdministratorAfghanistanAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbaniaAlgeriaAll Chess FilesAll the evaluationsAll whiteAmerican SamoaAnalysis by %sAnalyze black movesAnalyze from current positionAnalyze gameAnalyze white movesAnalyzer's primary variationAndorraAngolaAnguillaAnimate pieces, board rotation and more. Use this on fast machines.Annotated gameAnnotationAnnotatorAntarcticaAntigua and BarbudaAny strengthArchivedArgentinaArmeniaAsian variantsAsk for permissionsAsk to _MoveAssessAsymmetric RandomAsymmetric Random AtomicAustraliaAustriaAuthorAuto Call _FlagAuto _promote to queenAuto _rotate board to current human playerAuto login on startupAuto-logoutAvailableAzerbaijanBB EloBack to main lineBackround image path :Bad moveBahrainBangladeshBecause %(black)s lost connection to the serverBecause %(black)s lost connection to the server and %(white)s requested adjournmentBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s king explodedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause %(mover)s stalematedBecause %(white)s lost connection to the serverBecause %(white)s lost connection to the server and %(black)s requested adjournmentBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause %(winner)s has fewer piecesBecause %(winner)s king reached the centerBecause %(winner)s king reached the eight rowBecause %(winner)s lost all piecesBecause %(winner)s was giving check 3 timesBecause a player aborted the game. Either player can abort the game without the other's consent before the second move. No rating changes have occurred.Because a player disconnected and there are too few moves to warrant adjournment. No rating changes have occurred.Because a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both players agreed to a drawBecause both players agreed to abort the game. No rating changes have occurred.Because both players agreed to an adjournmentBecause both players have the same amount of piecesBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause of adjudication by an admin. No rating changes have occurred.Because of courtesy by a player. No rating changes have occurred.Because practice goal reachedBecause the %(black)s engine diedBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBecause the server was shut downBecause the server was shut down. No rating changes have occurred.BeepBelarusBelgiumBelizeBeninBestBest moveBhutanBishopBlackBlack ELO:Black O-OBlack O-O-OBlack has a new piece in outpost: %sBlack has a rather cramped positionBlack has a slightly cramped positionBlack have to capture all white pieces to win. White wants to checkmate as usual. White pawns on the first rank may move two squares, similar to pawns on the second rank.Black moveBlack should do pawn storm in leftBlack should do pawn storm in rightBlack side - Click to exchange the playersBlack:BlindFoldBlindfoldBlindfold AccountBlitzBlitz:Blitz: 5 minBonaire, Sint Eustatius and SabaBotswanaBouvet IslandBrazilBringing your king legally to the center (e4, d4, e5, d5) instantly wins the game! Normal rules apply in other cases and checkmate also ends the game.Brunei DarussalamBughouseBulgariaBurundiCCACMCalculating...CambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCameroonCanadaCapturedCastling availability field is not legal. %sCategory:Center:ChadChallengeChallenge: Challenge: Change ToleranceChatChess AdvisorChess Alpha 2 DiagramChess Compositions from yacpdb.orgChess GameChess PositionChess ShoutChess clientChileChinaClaim DrawClassic chess rules http://en.wikipedia.org/wiki/ChessClassic chess rules with all pieces white http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden figurines http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pawns http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pieces http://en.wikipedia.org/wiki/Blindfold_chessClassicalClassical: 3 min / 40 movesClearClockClose _without SavingCocos (Keeling) IslandsColombiaColorize analyzed movesCommand line interface to the chess serverCommand line parameters needed by the engineCommand:CommentComment:CommentsCompensationComputerComputersCongoConnectingConnecting to serverConnection ErrorConnection was closedConsoleContinueContinue to wait for opponent, or try to adjourn the game?Copy FENCornerCould not save the fileCounterplayCountry of origin of the engineCountry:CrazyhouseCreate New Pgn DatabaseCreate SeekCreate a new databaseCreate polyglot opening bookCreating .bin index file...Creating .scout index file...CroatiaCrushing advantageCubaCyprusCzechiaDDark Squares :DatabaseDateDate/TimeDate:Decisive advantageDeclineDefaultDenmarkDestination Host UnreachableDetailed connection settingsDetailed settings of players, time control and chess variantDetect type automaticallyDevelopment advantageDiedDjiboutiDo you know that it is possible to finish a chess game in just 2 turns?Do you know that the number of possible chess games exceeds the number of atoms in the Universe?Do you really want to restore the default options of the engine ?Do you want to abort it?Don't careDon't show this dialog on startup.DrawDraw:DrawishDue to abuse problems, guest connections have been prevented. You can still register on http://www.freechess.orgDummy AccountECOEcuadorEdit SeekEdit Seek: Edit commentEdit selected filterEffect on ratings by the possible outcomesEgyptEloEmailEn passant cord is not legal. %sEn passant lineEndgame TableEndgamesEngine playing strength (1=weakest, 20=strongest)Engine scores are in units of pawns, from White's point of view. Double clicking on analysis lines you can insert them into Annotation panel as variations.EnginesEngines use uci or xboard communication protocol to talk to the GUI. If it can use both you can set here which one you like.Enter GameEnvironmentEritreaError parsing %(mstr)sError parsing move %(moveno)s %(mstr)sEstoniaEthiopiaEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventEvent:ExamineExamine Adjourned GameExaminedExaminingExcellent moveExecutable filesExport positionExternalsFAFEN needs 6 data fields. %sFEN needs at least 2 data fields in fenstr. %sFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns * No castling * Black's arrangement mirrors white'sFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED * No castling * Black's arrangement DOES NOT mirrors white'sFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Pawns start on their 7th rank rather than their 2nd rank!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Pawns start on 4th and 5th ranks rather than 2nd and 7thFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html White pawns start on 5th rank and black pawns on the 4th rankFIDE MasterFMF_ull board animationFace _to Face display modeFaroe IslandsFijiFile existsFilterFilter game list by opening movesFilter game list by various conditionsFiltersFilters panel can filter game list by various conditionsFind postion in current databaseFingerFinlandFirst gamesFischer RandomFollowFont:For each player, the statistics provide the probability to win the game and the variation of your ELO if you lose / end into a tie / win, or simply the final ELO rating changeForced moveFrame:FranceFree comment about the engineFrench GuianaFriendsGMGabonGain:GambiaGameGame ListGame analyzing in progress...Game cancelledGame informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Game shared at GamesGames running: %dGaviota TB path:Generally this means nothing, as the game is time-based, but if you want to please your opponent, perhaps you should get going.GeorgiaGermanyGhanaGibraltarGiveawayGo back to the main lineGo onGood moveGrand MasterGreeceGreenlandGrenadaGridGuatemalaGuestGuest logins disabled by FICS serverGuestsHHaitiHalfmove clockHeaderHeard Island and McDonald IslandsHidden pawnsHidden piecesHideHintHintsHoly SeeHondurasHordeHost:How to PlayHtml DiagramHuman BeingHungaryICC giveaway: https://www.chessclub.com/user/help/GiveawayICSIMIcelandIdIdentificationIdleIf set you can refuse players accepting your seekIf set, FICS game numbers in tab labels next to player names are shown.If set, PyChess will colorize suboptimal analyzed moves with red.If set, PyChess will show game results for different moves in positions containing 6 or less pieces. It will search positions from http://www.k4it.de/If set, PyChess will show game results for different moves in positions containing 6 or less pieces. You can download tablebase files from: http://www.olympuschess.com/egtb/gaviota/If set, PyChess will suggest best opening moves on hint panel.If set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, clicking on main application window closer first time it closes all games.If set, pawn promotes to queen without promotion dialog selection.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the captured figurines will be shown next to the board.If set, the elapsed time that a player used for the move is shown.If set, the hint analyzer engine evaluation value is shown.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If the analyzer finds a move where the evaluation difference (the difference between the evaluation for the move it thinks is the best move and the evaluation for the move made in the game) exceeds this value, it will add an annotation for that move (consisting of the engine's Principal Variation for the move) to the Annotation panelIf you don't save, new changes to your games will be permanently lost.Ignore colorsIllegalImagesImbalanceImportImport PGN fileImport annotated games from endgame.nlImport chessfileImport games from theweekinchess.comImporting game headers...In TournamentIn this game, check is entirely forbidden: not only is it forbidden to move ones king into check, but it is also forbidden to check the opponents king. The purpose of the game is to be the first player that moves his king to the eight row. When white moves their king to the eight row, and black moves directly after that also their king to the last row, the game is a draw (this rule is to compensate for the advantage of white that they may move first.) Apart from the above, pieces move and capture precisely as in normal chess.In this position, there is no legal move.Indent _PGN fileIndiaIndonesiaInfinite analysisInfoInitial positionInitial setupInitiativeInteresting moveInternational MasterInvalid move.Iran (Islamic Republic of)IraqIrelandIsraelIt is not possible later to continue the game, if you don't save it.ItalyJamaicaJapanJordanJump to initial positionJump to latest positionKKazakhstanKenyaKingKing of the hillKnightKnight oddsKnightsKuwaitLatviaLeave _FullscreenLebanonLecturesLengthLesothoLessonsLevel 1 is the weakest and level 20 is the strongest. You may not define a too high level if the engine is based on the depth to exploreLiberiaLibyaLichess practice studies Puzzles from GM games and Chess compositionsLiechtensteinLight Squares :LightningLightning:List of ongoing gamesList of playersList of server channelsList of server newsLithuaniaLoad _Recent GameLoading player dataLocal EventLocal SiteLog OffLog on ErrorLog on as _GuestLogging on to serverLosersLossLoss:LuxembourgMadagascarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMalaysiaMaliMaltaMamer ManagerManage enginesManualManual AcceptManually accept opponentMateMate in %dMaterial/moveMauritaniaMaximum analysis time in seconds:MayotteMexicoMinutes:Minutes: Moderate advantageMonacoMongoliaMore channelsMore playersMoroccoMoveMove HistoryMove numberMoves:MozambiqueMyanmarNNMNameNames: #n1, #n2NamibiaNeeds 7 slashes in piece placement field. %sNepalNetherlandsNever use animation. Use this on slow machines.NewNew GameNew RD:New ZealandNew _DatabaseNewsNextNext gamesNicaraguaNigerNigeriaNo _animationNo chess engines (computer players) are participating in this game.No conversation's selectedNo soundNo time controlNormalNormal: 40 min + 15 sec/moveNorwayNot AvailableNot a capture (quiet) moveNot the best move!ObserveObserve %sObserved _ends:ObserversOddsOffer A_bortOffer AbortOffer Ad_journmentOffer PauseOffer RematchOffer ResumeOffer UndoOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOmanOn FICS, your "Wild" rating encompasses all of the following variants at all time controls: One player starts with one less knight pieceOne player starts with one less pawn pieceOne player starts with one less queen pieceOne player starts with one less rook pieceOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpenOpen GameOpen Sound FileOpen chess fileOpening BookOpening booksOpening chessfile...OpeningsOpenings panel can filter game list by opening movesOpponent RatingOpponent's strength: OptionOptionsOtherOther (non standard rules)Other (standard rules)PPakistanPanamaParaguayParameters:Paste FENPausePawnPawn oddsPawns PassedPawns PushedPeruPhilippinesPick a datePingPlayPlay Fischer Random chessPlay Losers chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer ListPlayer _RatingPlayers:Players: %dPlayingPng imagePo_rts:PolandPolyglot book file:PortugalPractice endgames with computerPre_viewPrefer figures in _notationPreferencesPreferred level:Preparing to start import...PreviewPrevious gamesPrivateProbably because it has been withdrawn.ProgressPromotionProtocol:Puerto RicoPuzzlesPyChess - Connect to Internet ChessPyChess Information WindowPyChess has lost connection to the engine, probably because it has died. You can try to start a new game with the engine, or try to play against another one.PyChess.py:QQatarQueenQueen oddsQuit LearningQuit PyChessRR_esignRandomRapidRapid: 15 min + 10 sec/moveRatedRated gameRatingRating change:Reading %s ...Receiving list of playersRecreating indexes...RegisteredRemoveRemove selected filterRequest ContinuationResendResend %s?Reset ColoursReset my progressRestore the default optionsResultResult:ResumeRetryRomaniaRookRook oddsRotate the boardRoundRound:Running Simul MatchRussian FederationRwandaSRS_ign upSaint BarthélemySaint Helena, Ascension and Tristan da CunhaSaint Vincent and the GrenadinesSamoaSan MarinoSanctionsSaudi ArabiaSaveSave GameSave Game _AsSave _own games onlySave analyzing engine _evaluation valuesSave asSave database asSave elapsed move _timesSave files to:Save moves before closing?Save the current game before you close it?Save to PGN file as...ScoreSearch:Seek _GraphSeek updatedSelect Gaviota TB pathSelect a pgn or epd or fen chess fileSelect auto save pathSelect background image fileSelect book fileSelect engineSelect sound file...Select the games you want to save:Select working directorySend ChallengeSend all seeksSend seekSenegalSeqSequenceSerbiaServer:Service RepresentativeSetting up environmentSetup PositionSeychellesSho_w cordsShort on _time:Should %s publicly publish your game as PGN on chesspastebin.com ?ShoutShow FICS game numbers in tab labelsShow _captured piecesShow elapsed move timesShow evaluation valuesShow tips at startupShredderLinuxChess:ShuffleSide to moveSide_panelsSierra LeoneSimple Chess PositionSingaporeSiteSite:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinSlight advantageSlovakiaSloveniaSomaliaSome of PyChess features needs your permission to download external programsSorry '%s' is already logged inSound filesSouth AfricaSouth Georgia and the South Sandwich IslandsSouth SudanSp_y arrowSpainSpentStandardStandard:Start Private ChatStatusStep back one moveStep forward one moveStrStreakSub-FEN :SudanSuicideSurinameSuspicious moveSvalbard and Jan MayenSwedenSwitzerlandSymbolsTTDTMTajikistanTeam AccountText DiagramTexture:ThailandThe abort offerThe adjourn offerThe analyzer will run in the background and analyze the game. This is necessary for the hint mode to workThe chain button is disabled because you are logged in as a guest. Guests can't establish ratings, and the chain button's state has no effect when there is no rating to which to tie "Opponent Strength" toThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe current game is not terminated. Its export may have a limited interest.The current game is over. First, please verify the properties of the game.The directory where the engine will be started from.The displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe endgame table will show exact analysis when there are few pieces on the board.The engine %s reports an error:The engine is already installed under the same nameThe engine output panel shows the thinking output of chess engines (computer players) during a gameThe entered password was invalid. If you forgot your password, go to http://www.freechess.org/password to request a new one over email.The error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The flag callThe game can't be loaded, because of an error parsing FENThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe hint panel will provide computer advice during each stage of the gameThe inverse analyzer will analyze the game as if your opponent was to move. This is necessary for the spy mode to workThe move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe reason is unknownThe resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe takeback offerThebanThemesThere is %d game with unsaved moves.There are %d games with unsaved moves.There is something wrong with this executableThis game can be automatically aborted without rating loss because there has not yet been two moves madeThis game can not be adjourned because one or both players are guestsThis is a continuation of an adjourned matchThis option is not applicable because you're challenging a playerThis option is not available because you're challenging a guest, Threat analysis by %sThree-checkTimeTime controlTime control: Time pressureTip Of The dayTip of the DayTitledTo save a game Game > Save Game As, give the filename and choose where you want to be saved. At the bottom choose extension type of the file, and Save.TogoTolerance:Tournament DirectorTranslate PyChessTry chmod a+x %sTunisiaTurkeyTurkmenistanTypeType or paste PGN game or FEN positions hereUUgandaUkraineUnable to accept %sUnable to save to configured file. Save the games before closing?Unable to save to configured file. Save the current game before you close it?Unclear positionUndescribed panelUndoUndo one moveUndo two movesUninstallUnited Arab EmiratesUnited States Minor Outlying IslandsUnited States of AmericaUnknownUnofficial channel %dUnratedUnregisteredUnticked : the exponential stretching displays the full range of the score and enlarges the values around the null average. Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better.UntimedUpside DownUruguayUse _analyzerUse _inverted analyzerUse _local tablebasesUse _online tablebasesUse a linear scale for the scoreUse analyzer:Use name format:Use opening _bookUse time compensationUzbekistanValueVanuatuVariantVariant developed by Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Variation annotation creation threshold in centipawns:Very bad moveViet NamView lectures, solve puzzles or start practicing endgamesVirgin Islands (British)Virgin Islands (U.S.)W EloWFMWGMWIMWaitWallis and FutunaWarning: this option generates a formatted .pgn file which is not standards complientWas unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.WelcomeWell done!Western SaharaWhen this button is in the "locked" state, the relationship between "Opponent's strength" and "Your strength" will be preserved when a) your rating for the type of game sought has changed b) you change the variant or the time controlWhiteWhite ELO:White O-OWhite O-O-OWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite has a slightly cramped positionWhite moveWhite should do pawn storm in leftWhite should do pawn storm in rightWhite side - Click to exchange the playersWhite:WildWildcastleWildcastle shuffleWinWin by giving check 3 timesWin:Winning %With attackWoman FIDE MasterWoman Grand MasterWoman International MasterWorking directory:Year, month, day: #y, #m, #dYemenYou are currently logged in as a guest but there is a completely free trial for 30 days, and beyond that, there is no charge and the account would remain active with the ability to play games. (With some restrictions. For example, no premium videos, some limitations in channels, and so on.) To register an account, go to You are currently logged in as a guest. A guest can't play rated games and therefore isn't able to play as many of the types of matches offered as a registered user. To register an account, go to You asked your opponent to moveYou can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou can't select a variant because "Untimed" is checked, You can't switch colors during the game.You can't touch this! You are examining a game.You don't have the necessary rights to save the file. Please ensure that you have given the right path and try again.You have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou have to set kibitz on to see bot messages here.You have tried to undo too many moves.You may only have 3 outstanding seeks at the same time. If you want to add a new seek you must clear your currently active seeks. Clear your seeks?You sent a draw offerYou sent a pause offerYou sent a resume offerYou sent an abort offerYou sent an adjournment offerYou sent an undo offerYou sent flag callYou will lose all your progress data!Your opponent asks you to hurry!Your opponent has asked that the game be aborted. If you accept this offer, the game will end with no rating change.Your opponent has asked that the game be adjourned. If you accept this offer, the game will be adjourned and you can resume it later (when your opponent is online and both players agree to resume).Your opponent has asked that the game be paused. If you accept this offer, the game clock will be paused until both players agree to resume the game.Your opponent has asked that the game be resumed. If you accept this offer, the game clock will continue from where it was paused.Your opponent has asked that the last %s move(s) be undone. If you accept this offer, the game will continue from the earlier position.Your opponent has offered you a draw.Your opponent has offered you a draw. If you accept this offer, the game will end with a score of 1/2 - 1/2.Your opponent is not out of time.Your opponent must agree to abort the game because there has been two or more moves madeYour opponent seems to have changed their mind.Your opponent wants to abort the game.Your opponent wants to adjourn the game.Your opponent wants to pause the game.Your opponent wants to resume the game.Your opponent wants to undo %s move(s).Your seeks have been removedYour strength: Your turn.ZambiaZimbabweZugzwang_Accept_Actions_Analyze Game_Archived_Auto save finished games to .pgn file_Call Flag_Clear Seeks_Copy FEN_Copy PGN_Decline_Edit_Engines_Export Position_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hint arrow_Hints_Invalid move:_Load Game_Log Viewer_My games_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Puzzle success:_Recent:_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Untimed_Use main app closer [x] to close all games_Use sounds in PyChess_Variation choices:_View_Your Color:andand guests can't play rated gamesand on FICS, untimed games can't be ratedand on FICS, untimed games have to be normal chess rulesask your opponent to moveblackbrings a %(piece)s closer to enemy king: %(cord)sbrings a pawn closer to the backrow: %scall your opponents flagcaptures materialcastlesdefends %sdevelops a %(piece)s: %(cord)sdevelops a pawn: %sdrawsexchanges materialgnuchess:half-openhttp://brainking.com/en/GameRules?tp=2 * Placement of the pieces on the 1st and 8th row are randomized * The king is in the right hand corner * Bishops must start on opposite color squares * Black's starting position is obtained by rotating white's position 180 degrees around the board's center * No castlinghttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyin the %(x)s%(y)s filein the %(x)s%(y)s filesincreases the pressure on %sinvalid promoted piecelessonslichessmatesminminsmovemoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %snot playingofoffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalotherspawn capture without target piece is invalidpins an enemy %(oppiece)s on the %(piece)s at %(cord)splaces a %(piece)s more active: %(cord)spromotes a Pawn to a %sputs opponent in checkrating range nowrescues a %sresignround %ssacrifices materialsecsecsslightly improves king safetytakes back materialthe captured cord (%s) is incorrectthe end cord (%s) is incorrectthe move needs a piece and a cordthreatens to win material by %sto automatic acceptto manual acceptucivs.whitewindow1wtharveyxboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Random arrangement of the pieces behind the pawns * No castling * Black's arrangement mirrors white'sxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * White has the typical set-up at the start. * Black's pieces are the same, except that the King and Queen are reversed, * so they are not on the same files as White's King and Queen. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * In this variant both sides have the same set of pieces as in normal chess. * The white king starts on d1 or e1 and the black king starts on d8 or e8, * and the rooks are in their usual positions. * Bishops are always on opposite colors. * Subject to these constraints the position of the pieces on their first ranks is random. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.yacpdbÅland IslandsProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Russian (http://www.transifex.com/gbtami/pychess/language/ru/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: ru Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3); Добавлять за ход: + %d cек Предлагает вам сыграть партию типа %(time)s %(rated)s %(gametype)s шахматыприбылотклонил ваше предложение матчаотбылиспытал задержку в 30 секунд недопустимый ход движка: %sприменяет цензуру в отношении васиспытывает серьезную задержку, но не отключилсяне установленприсутствует мин.занёс вас в черный списокиспользует формулу, неподобающую вашему запросу матча где %(player)s играет %(color)s. с кем у вас отложенная игра %(timecontrol)s %(gametype)s, сейчас онлайн. хочет продолжить отложенную вами игру %(time)s %(gametype)s.%(black)s одерживает победу,%(color)s имеют две пешки %(place)s%(color)s имеют изолированную пешку на вертикали %(x)s%(color)s имеют изолированные пешки на вертикалях %(x)s%(color)s имеют изолированные пешки на вертикалях %(x)s%(color)s получают новые сдвоенные пешки %(place)s%(color)s получают проходную пешку на %(cord)s%(color)s переместили %(piece)s на %(cord)sФайл: %(filename)s Импортировано заголовков: %(counter)s%(minutes)d мин + %(gain)d сек/ход%(name)s %(minutes)d мин %(duration)s%(name)s %(minutes)d мин %(sign)s %(gain)d сек/ход %(duration)s%(name)s %(minutes)d мин / %(moves)d ходов %(duration)s%(opcolor)s получают нового епископа в ловушке на %(cord)s%(player)s %(status)s%(player)s играет %(color)s%(white)s одерживает победу,%d мин%s больше не могут сделать рокировку%s больше не могут сделать рокировку на стороне короля%s больше не могут сделать рокировку на стороне королевы%s перемещают пешки в устойчивую позицию%s возвращает ошибку%s было отклонено противником%s было отозвано соперником%s попытается установить возможную угрозу, если ход будет делать ваш соперник%s попытается предсказать, какой ход лучший, и какая сторона имеет преимуществоИмя '%s' уже зарегистрировано. Если оно ваше, введите пароль.Имя '%s' не зарегистрировано(Блиц)(Ссылка доступна в буфере обмена.)*-00 готовых игроков0 из 00-11-01/2-1/210 мин + 6 сек/ход, Белые12002 мин, Шахматы Фишера, Черные5 минПодключиться к шахматному онлайн-серверуНа что заменить пешку?PyChess не в состоянии загрузить ваши настройки панелиИдёт анализАнимацияСтиль доскиВарианты комплектов фигурВариант ШахматТип нотацииОбщие параметрыНачальная позицияУстановленные боковые панелиПереместить текстИмя _первого игрока:Имя _второго игрока:Доступна новая версия %s !Открыть игруОткрыть базу данныхДебют, эндшпильСила соперникаНастройкиПроигрывать звук, если...ИгрокиНачать обучениеКонтроль времениЭкран приветствияВаш цвет_Подключиться к серверу_Начать игру%s не является исполняемым файломФайл '%s' уже существует. Вы хотите заменить?Компьютерная программа, %s, не отвечаетОшибка при загрузке партииФайл '%s' уже существует.PyChess проверяет наличие шахматных движков. Пожалуйста, подождите.PyChess не смог сохранить партиюХоды в %d играх не сохранены. Сохранить изменения перед закрытием?Не получилось добавить %sНе удалось сохранить файл '%s'Неизвестный тип файла '%s'Вызов:Поставлен шах_Игрок сделал ход:Игрок взял _фигуру:АСЕАНASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docПрерватьО шахматахАктивироватьПринятьАктивировать сигнал, когда секунд _остается:Активное цветовое поле должно быть w или b. %sАктивных запросов: %dДобавить комментарийДобавить оценочный символДобавить символ ходаДобавить новый фильтрДобавить начальный комментарийДобавить строки с вариантами угрозДобавление предположений может помочь вам в поиске идей, но замедляет компьютерный анализ.Дополнительные тэгиОшибка адресаОтложитьАдминистраторАдминистраторАфганистанAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364АлбанияАлжирВсе шахматные файлыВсе оценкиВсе белыеАмериканское СамоаАналитика от %sАнализировать ходы чёрныхАнализ с текущей позицииАнализировать партиюАнализировать ходы белыхОсновной вариант анализатораАндорраАнголаАнгильяАнимировать фигуры, повороты доски и др. (для быстрых компьютеров).Записанная играНотацияАннотаторАнтарктикаАнтигуа и БарбудаЛюбая силаВ архивеАргентинаАрменияАзиатские вариантыПопросить разрешенияПопросить сделать _ходИсходАсимметричные случайныеАсимметричные случайныеАтомные шахматыАвстралияАвстрияАвторАвтоматически заявлять о падении _флажкаАвтоматически _превращать пешку в ферзяАвтоматически _переворачивать доску для текущего игрокаАвтоматический вход при запускеАвтовыходДоступенАзербайджанВЧ ЕлоОбратно к основному вариантуПуть к фоновому изображению :Плохой ходБахрейнБангладешпотому что %(black)s отключилсяпотому что %(black)s отключился, а %(white)s предложил перенести партиюпотому что у %(black)s кончилось время, а у %(white)s не хватает материала, чтобы поставить матПотому что %(loser)s отключился от сервераПотому что король %(loser)s взорванпотому что у %(loser)s кончилось времяпотому что %(loser)s сдалсяпотому что игроку %(loser)s поставлен матпотому что %(mover)s в патепотому что %(white)s отключилсяпотому что %(white)s отключился, а %(black)s предложил перенести партиюпотому что у %(white)s кончилось время, а у %(black)s не хватает материала, чтобы поставить матпотому что у %(winner)s меньше фигурПотому что король %(winner)s достиг центраПотому что %(winner)s король достиг восьмой горизонталипотому что %(winner)s потерял все фигурыПотому что %(winner)s сделал шах 3 разаПотому что игрок прервал игру. Прерывать игру без согласия соперника разрешается до второго хода. Рейтинг не изменился.потому что игрок отключился, а для переноса партии было сделано слишком мало ходов; рейтинг не изменилсяпотому что игрок потерял связь с серверомпотому что один игрок отключился, а второй предложил перенести партиюпотому что оба соперника согласились на ничьюпотому что оба соперника согласились прервать игру; рейтинг не изменилсяпотому что оба соперника согласились перенести партиюпотому что у игроков одинаковое число фигурпотому что у обоих соперников кончилось времяпотому что обоим игрокам не хватает материала, чтобы поставить матПотому что администратор перенёс партиюпотому что администратор перенёс игру; рейтинг не изменилсяиз-за любезности игрока; рейтинг не изменилсяПотому что цель тренировки достигнутаПотому что движок %(black)s сдохПотому что движок %(white)s умерпотому что соединение с сервером потеряноПотому что партия превысила максимальную длительностьпотому что последние 50 ходов не принесли ничего новогопотому что одна и та же позиция повторилась три раза подрядпотому что сервер отключилсяпотому что сервер отключился; рейтинг не изменилсяСигналБелоруссияБельгияБелизБенинЛучшийЛучший ходБутанСлонЧёрныеELO чёрных:Чёрные O-OЧёрные O-O-OЧёрные имеют новую фигуру в защите %sЧёрные имеют довольно стеснённую позициюЧёрные имеют несколько стеснённую позициюЧтобы победить чёрные должны взять все фигуры белых. Белые, как обычно, хотят поставить мат. Пешки на первой горизонтали могут передвигаться на две клетки, также как пешки на второй горизонтали.Ход чёрныхЧёрные должны брать пешкой налевоЧёрные должны брать пешкой направоСторона чёрных - Нажмите чтобы поменять игроков местамиЧерные:ВслепуюВслепуюАккаунт Слепое пятноБлицБлиц:Блиц: 5 мин.Бонэйр, Синт-Эстатиус и СабаБотсванаОстров БувеБразилияДля победы в партии проведите своего короля на одно из центральных полей (e4, d4, e5, d5)! В остальном действуют обычные правила, мат королю тоже завершает игру.БрунейБагхаусБолгарияБурундиCCACMИдёт вычисление...Cambodian (Шахматы Камбоджи)Cambodian: http://www.khmerinstitute.org/culture/ok.htmlКамерунКанадаВзятоНеправильное поле возможности рокировки. %sКатегория:Центр:ЧадВызовВызов: Вызов: Изменить допустимое отклонениеЧатШахматный советчикДиаграмма Chess Alpha 2Шахматные композиции с сайта yacpdb.orgPortable Game NotationШахматная позицияШахматный возгласШахматный клиентЧилиКитайПотребовать ничьюКлассические шахматные правила http://en.wikipedia.org/wiki/ChessКлассические правила шахмат со всеми белыми фигурами http://en.wikipedia.org/wiki/Blindfold_chessКлассические правила шахмат со скрытыми фигурами http://en.wikipedia.org/wiki/Blindfold_chessКлассические правила шахмат со скрытыми пешками http://en.wikipedia.org/wiki/Blindfold_chessКлассические правила шахмат со скрытыми фигурами http://en.wikipedia.org/wiki/Blindfold_chessКлассикаКлассика: 3 мин / 40 ходовОчиститьЧасы_Закрыть без сохраненияКокосовые островаКолумбияОкрашивать проанализированные ходыИнтерфейс командной строки к шахматному серверуПараметры командной строки для движкаКоманда:КомментарийКомментарий:КомментарииКонпенсацияКомпьютерКомпьютерыКонгоПодключениеСоединение с серверомОшибка подключенияПодключение было закрытоКонсольПродолжитьПродолжать ждать противника или попробовать отложить игру?Скопировать FENУголкиНе удалось сохранить файлКонтриграСтрана происхождения движкаСтрана:ДурдомСоздать новую базу данных PGNСоздать запросСоздать новую базу данныхСоздать книгу polyglotСоздаётся файл индексов .bin ...Создаётся файл индексов .scout ...ХорватияПодавляющее преимуществоКубаКипрЧехияDТёмные поля:База данныхДатаДата/ВремяДата:Убедительное преимуществоОтклонитьПо умолчаниюДанияУзел назначения недоступенПодробные параметры соединенияПодробные настройки игроков, контроля времени и варианта правилОпределить тип автоматическиПреимущество в развитииМертвДжибутиЗнаете ли вы, что можно завершить шахматную партию всего за два хода?Знаете ли вы, что количество возможных вариантов игр в шахматах превышает число атомов во Вселенной?Вы уверены, что хотите установить стандартные настройки движка?Хотите его остановить?Не важноНе показывать этот диалог при старте.НичьяНичья:Вероятная ничьяИз-за поднявшейся ругани гостевые соединения ограничены. Но вы по-прежнему можете зарегистрироваться на http://www.freechess.orgАккаунт-пустышкаECOЭквадорРедактировать ЗапросРедактировать запрос: Редактировать комментарийРедактировать выделенный фильтрВлияние на рейтинг возможных исходов партииЕгипетEloПочтаПроходная координата недопустима. %sНа проходеЭндшпильная таблицаЭндшпилиСила игрового движка (1 = наименьшая, 20 = наибольшая)Движок считает очки в пешечных единицах, с точки зрения белых. Двойной щелчок по аналитическим линиям позволяет вам вставить их в панель аннотаций в качестве вариантов.ДвижкиДвижки общаются с графическим интерфейсом пользователя по протоколу uci или xboard. Если движок может использовать оба из них, выберите протокол, который вы предпочитаете.Начать партиюОкружениеЭритреяОшибка парсинга %(mstr)sОшибка парсинга хода %(moveno)s %(mstr)sЭстонияЭфиопияEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiТурнирТурнир:ИсследоватьИсследовать отсроченную игруИсследованоИсследуетОтличный ходИсполнимые файлыЭкспорт позицииВнешнееFAFEN необходимо 6 полей с данными. %sFEN необходимо по крайней мере 2 поля с данными в fenstr. %sFICS атомный: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS багхаус: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS дурдом: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlПоддавки FICS: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS суицид: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Случайные фигуры (возможно две королевы или три пешки) * Точно по одному королю каждого цвета * Фигуры расположены случайно позади пешек * Без рокировки * Расположение черных отражает расположение белыхFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Случайные фигуры (возможны две королевы или три ладьи) * По одному королю каждого цвета * Фигуры располагаются случайным образом за пешками, ДЕЙСТВУЕТ ОГРАНИЧЕНИЕ - СЛОНЫ СБАЛАНСИРОВАНЫ * Без рокировки * Расположение черных НЕ отражает расположение белыхFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Пешки начинают на 7-й линии, а не на 2-й!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Пешки начинают на 4ом и 5ом ранге, вместо 2го и 7гоFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html Белые пешки начинают на 5ом ранге и черные пешки на 4ом рангеМастер ФИДЕFM_Полная анимация доскиРежим отображения _Лицом к ЛицуФарерские ОстроваФиджиФайл существуетФильтрОтфильтровать список партий по первым ходамФильтровать список партий по различным условиямФильтрыПанель фильтров позволяет отсортировать партии по различным условиямНайти позицию в текущей базе данныхОб игрокеФинляндияПервые партииФишеровские случайныеСледитьШрифт:Для каждого игрока данная статистика отображает вероятность выигрыша в партии и изменение вашего ELO в случае проигрыша / ничьи / выигрыша, или просто итоговое изменение рейтинга ELOФорсированный ходРамка:ФранцияПроизвольный комментарий о движкеФранцузская ГвианаДрузьяGMГабонДобавлять за ход:ГамбияПартияСписок партийИдёт анализ партии...Партия отмененаИнформация о партииВ партии _ничья:Партия _проиграна:Партия на_чалась:Партия _выиграна:Партия размещена наПартииТекущие игры: %dПуть к таблицам Gaviota:В этом нет особого смысла, партия с контролем времени, однако, если хотите проявить вежливость, вам стоит начать действовать.ГрузияГерманияГанаГибралтарРаспродажаВернуться к главной линииПродолжитьХороший ходГроссмейстерГрецияГренландияГренадаСеткаГватемалаГостьПриём гостевых подключений сервером FICS остановленГостиHГаитиСчётчик полуходовЗаголовокОстров Херд и острова МакдональдСкрытые пешкиСкрытые фигурыСкрытьПодсказкаПодсказкиСвятой ПрестолГондурасОрдовые шахматыХост:Как игратьДиаграмма HtmlЧеловекВенгрияРаспродажа ICC: https://www.chessclub.com/user/help/GiveawayICSIMИсландияИНИдентификаторБездельничаетЕсли установлено, вы можете отклонять игроков, принявших ваш запросЕсли установлено, то на вкладках, рядом с именами игроков, будут показываться номера партий FICSЕсли установлено, PyChess будет окрашивать оптимальные проанализированные ходы красным.Если установлено, PyChess будет показывать результаты игры для различных ходов в позициях, состоящих из 6 или менее фигур. Будет искать позиции из http://www.k4it.de/Если установлено, PyChess будет показывать исход партии для различных ходов в позициях, содержащих 6 или менее фигур. Вы можете загрузить файлы таблиц окончаний из: http://www.olympuschess.com/egtb/gaviota/Если установлено, PyChess будет предлагать лучшие ходы дебютов на панели подсказок.Если включено, PyChess будет отображать в нотации фигуры вместо заглавных букв.Если включено, нажатие на кнопку Закрыть главного окна в первый раз закроет все игры.Если включено, пешка превращается в ферзя без вызова окна для выбора.Если включено, чёрные фигуры располагаются вверх ногами. Это удобно для игры вдвоём на мобильных устройствах.Если включено, доска будет автоматически поворачиваться после каждого хода в положение для текущего игрока.Если установлено, взятые фигуры будут показаны рядом с доской.Если установлено, будет показано время, которое игрок потратил на каждый ход.Если установлено, покажет оценки движка для анализа подсказок.Если установлено, игровая доска будет отображать метки и ранг для каждого игрового поля. Это полезно для шахматной нотации.Если включено, скрывает вкладку наверху игрового окна, когда она не нужна.Если анализатор найдет ход, разница оценки которого (разница между оценкой хода по его мнению наилучшего и оценкой ходов, сделанных в игре) превосходит это значение, он добавит аннотацию для этого хода (в зависимости от принципиальной вариации движка для хода) на панель аннотацийЕсли вы не сохранитесь, все изменения будут безвозвратно утеряны.Игнорировать цветНе по правиламИзображенияДизбалансИмпортироватьИмпортировать файл PGNИмпортировать аннотированные партии с endgame.nlИмпортировать шахматный файлИмпортировать партии с theweekinchess.comИмпортируются заголовки партий...В турниреВ этой игре шах полностью запрещён: нельзя не только перемещать своего короля под шах, но и ставить шах королю противника. Цель игры - первым привести короля на восьмую горизонталь. Если чёрные приводят своего короля на восьмую горизонталь непосредственно после того как это сделали белые, засчитывается ничья (это правило компенсирует преимущество первого хода). Остальные правила такие же, как в обычных шахматах.В этой позиции нет допустимого хода.Выровнять содержимое файла _PGNИндияИндонезияНеограниченный анализИнформацияНачальная позицияНачальная настройкаИнициативаИнтересный ходМеждународный МастерНедопустимый ход.Иран (Исламская Республика)ИракИрландияИзраильБудет невозможно продолжить игру позже, если вы ее не сохраните.ИталияЯмайкаЯпонияИорданияПерейти к начальной позицииПерейти к последней позицииKКазахстанКенияКорольЦарь горыКоньНеравенство конейКониКувейтЛатвия_Покинуть полноэкранный режимЛиванЛекцииПродолжительностьЛесотоУрокиУровень 1 - слабейший, уровень 20 - наиболее сильный. Не стоит задавать слишком высокий уровень если алгоритм движка основан на поиске в глубину ЛиберияЛивияСервер Lichess предлагает решить шахматные композиции и задачи, составленные по партиям гроссмейстеровЛихтенштейнСветлые поля:МолнияМолния:Список активных партийСписок игроковСписок каналов сервераСписок новостей сервераЛитваЗагрузить _недавнюю партиюЗагрузка данных игрокаЛокальный турнирЛокальное местоВыйтиОшибка авторизацииВойти как _гостьАвторизация на сервереПоддавкиПоражениеПоражение:ЛюксембургМадагаскарМакрукМакрук: https://ru.wikipedia.org/wiki/МакрукМалайзияМалиМальтаУправляющий мамеромУправление движкамиВручнуюОдобрение вручнуюВручную принимать соперникаМатМат в %d ходаМатериал/ходМавританияМаксимальное время анализа в секундах:МайоттаМексикаМинуты:Минуты: Умеренное преимуществоМонакоМонголияБольше каналовБольше игроковМароккоХодИстория ходовНомер ходаХоды:МозамбикМьянмаNNMИмяИмена: #n1, #n2НамибияТребуется 7 слэшэй в поле расположения фигур. %sНепалНидерландыНикогда не использовать анимацию (для слабых машин).НоваяНовая играНовый RD:Новая ЗеландияНовая _база данныхНовостиДалееСледующие партииНикарагуаНигерНигерияБез _анимацииВ этой игре не участвуют шахматные движки (игроки-компьютеры).Нет выбранных беседБез звукаБез контроля времениКлассикаКлассика: 40 мин + 15 сек/ходНорвегияНедоступенХод без взятия (тихий ход)Не лучший ход!НаблюдатьНаблюдать за %s_Конец партии при наблюдении:ЗрителиПеревес_Отменить предложениеПредложить прервать партиюПредложить _отложить партиюПредложить паузуПредложить реваншПредложить продолжитьПредложить отменуПредложить _прервать партиюПредложить _ничьюПредложить сделать _перерывПредложить _продолжитьПредложить _отменить ходОфициальная PyChess панельОтключёнОманНа FICS ваш "Дикий" рейтинг охватывает все эти варианты с любым контролем времени: У одного из игроков на одного коня меньшеУ одного из игроков на одну пешку меньшеУ одного из игроков на одну королеву меньшеУ одного из игроков на одну ладью меньшеПодключенАнимировать только _ходыАнимировать только движения фигур.В этом канале могут общаться только зарегистрированные пользователиОткрытьОткрыть партиюОткрыть звуковой файлОткрыть шахматный файлКнига дебютовКниги дебютовОткрывается шахматный файл...ДебютыПанель дебютов может фильтровать список партий по первым ходамРетинг СоперникаСила соперника: ОпцияОпцииДругиеДругое (нестандартные правила)Другое (стандартные правила)PПакистанПанамаПарагвайПараметры:Вставить FENПаузапешкуНеравенство пешекПроходные пешкиПроведенные пешкиПеруФилиппиныВыберите датуОткликИгратьИграть в шахматы ФишераИграть в шахматные поддавкиИграть реваншПодключ_иться к шахматному серверуИгра по классическим правиламСписок игроков_Рейтинг игрокаИгроки:Игроков: %dИграетPng изображениеПо_рты:ПольшаФайл книги Polyglot:ПортугалияОтработка эндшпилей с компьютеромТ_ест_Использовать изображения фигур в нотацииПараметрыЖелаемый уровень:Подготовка к началу импорта...ПредпросмотрПредыдущие партииПриватВозможно потому что оно было отозвано.ДостиженияПревращение пешкиПротокол:Пуэрто-РикоЗадачиPyChess - Подключение к Интернет ШахматамИнформационное окно PyChessPyChess потерял связь с шахматным движком, возможно из-за его остановки. Вы можете попытаться начать новую игру с той же шахматной программой или против какой-либо другой.PyChess.py:QКатарФерзьНеравенство королевПрекратить обучениеВыход из PyChessR_СдатьсяСлучайныеРапидРапид: 15 мин + 10 сек/ходРейтинговаяРейтинговая играРейтингИзменение рейтинга:Идёт чтение %s ...Получение списка игроковВоссоздание индексов...С регистрациейУбратьУдалить выделенный фильтрЗапросить продолжениеПовторная отправкаОтправить %s ещё раз?Сбросить цветаСбросить мои достиженияВосстановить значения опций по умолчаниюРезультатРезультат:ПродолжитьПопытаться ещё разРумынияЛадьяНеравенство ладейРазвернуть доскуТурТур:Запустить симуляционный матчРоссийская ФедерацияРуандаSRР_егистрацияСен-БартелемиОстрова Святой Елены, Вознесения и Тристан-да-КуньяСент-Винсент и ГренадиныСамоаСан-МариноСанкцииСаудовская АравияСохранитьСохранить партиюСохранить партию _какСохранять только свои собственные партииСохранять оценки анализатораСохранить какСохранить базу данных какСохранять количество времени, потраченное на каждый ходСохранить файлы в:Сохранить ходы перед закрытием?Сохранить текущую партию пока вы её не закрыли?Сохранить в файл PNG как...СчётИскать:_График ЗапросовЗапрос обновленВыбрать путь Gaviota TBВыбрать шахматный файл pgn, epd или fenВыбрать путь автосохраненияВыбрать файл фонового изображенияВыбрать файл книгиВыбрать движокЗвуковой файл...Выберите партии, которые вы хотите сохранить:Выберите рабочую директориюОтправить ВызовОтправить все запросыОтправить запросСенегалРядРядСербияСервер:Служебный представительНастройка окруженияНастроить позициюСейшельские ОстроваПоказывать _координатыМало _времени:Позволить %s открыто опубликовать вашу партию в виде PGN на сайте chesspastebin.com ?КрикПоказывать номера партий FICS на вкладкахПоказывать _взятые фигурыПоказывать время, потраченное на каждый ходПоказывать значения оценкиПоказывать советы при запускеShredderLinuxChess:ПеремешиватьОчередь ходаБоковые _панелиСьерра-ЛеонеForsyth-Edwards NotationСингапурМестоМесто:SittuyinSittuyin (Бирманские шахматы): http://en.wikipedia.org/wiki/SittuyinНебольшое преимуществоСловакияСловенияСомалиНекоторые функции PyChess требуют вашего разрешения на загрузку сторонних программОчень жаль, но '%s' уже на сервереЗвуковые файлыЮжная АфрикаЮжная Георгия и Южные Сандвичевы ОстроваЮжный СуданСтрелка _шпионского режимаИспанияПрошлоСтандартСтандарт:Начать Приватный ЧатСтатусНазад на один ходВперёд на один ходПлсПолосаSub-FEN :СуданСамоубийствоСуринамСтранный ходШпицберген и Ян-МайенШвецияШвейцарияСимволыTTDTMТаджикистанКомандный аккаунтТекстовая диаграммаТекстура:ТайландПредложение прерватьПредложение отложитьАнализатор будет в фоновом режиме анализировать партию. Это необходимо для работы режима подсказокКнопка "цепочка" не работает потому что вы вошли как гость. Гости не имеют рейтинга и поэтому нет того значения к которому можно привязать "Силу соперника".Панель чата позволяет общаться с соперником во время игры, если у него есть такое желаниеЧасы ещё не запущены.Панель комментариев пытается анализировать и пояснять сделанные ходыСвязь была нарушена - получено сообщение "end of file"Партия не завершена. Её экспорт заинтересует не всех.Партия закончена. Пожалуйста, проверьте свойства партии.Директория, из которой будет запускаться движок.Отображаемое имя первого игрокаОтображаемое имя гостяПредложение ничьейТаблица эндшпиля покажет точную аналитику, когда на доске останется мало фигур.Движок %s сообщает об ошибке:Движок уже установлен под тем же самым именемПанель вывода движка показывает мыслительный процесс движков (компьютерных игроков) во время игрыВведен неправильный пароль. Если вы забыли пароль, пройдите на http://www.freechess.org/password чтобы запросить новый по электронной почте.Ошибка: %sФайл уже существует в '%s'. Если вы замените его, содержимое будет перезаписано.Заявление о падении флажкаНе удалось загрузить партию из-за ошибки парсинга FENНе удаётся прочитать партию до конца из-за ошибки парсинга хода %(moveno)s '%(notation)s'.Партия закончилась вничьюПартия прерванаПартия перенесенаПартия принудительно завершенаПанель подсказок предоставляет советы компьютера на каждом этапе игрыОбратный анализатор будет анализировать партию со стороны противника. Это необходимо для работы в шпионском режимеХод не совершен из-за %s.Список ходов содержит ходы, сделанные игроками, и позволяет перемещаться по истории игрыПредложение поменяться местамиКнига дебютов поможет вам на ранней стадии игры, показывая ходы, сделанные великими шахматными игрокамиПредложение приостановитьПричина неизвестнаСдача партииПредложение продолжитьПанель очков пытается оценить позиции и показывает график игрового прогрессаПредложение отменить ходФивТемыИмеется %d игра с несохранёнными ходами.Имеется %d игры с несохранёнными ходами.Имеется %d игр с несохранёнными ходами.Имеется %d игр с несохранёнными ходами.С этой программой что-то пошло не такИгру можно автоматически прервать без потери рейтинга, так как ещё не сделано двух ходовИгра не может быть перенесена, потому что один из игроков гостьЭто продолжение отложенного матчаЭто неподходящая опция, потому что вы вызываете игрокаЭта опция недоступна, так как вы вызываете гостя, Поточная аналитика от %sТройной шахВремяКонтроль времениКонтроль времени: Временное давлениеСовет дняСовет дняСо званиемДля сохранения игры выберите Игра > Сохранить игру как, задайте имя файла и выберите путь сохранения. Снизу выберите тип файла, и нажмите Сохранить.ТогоОтклонение:Директор турнираПеревести PyChessПопробуйте набрать chmod a+x %sТунисТурцияТуркменистанТипВведите или вставьте сюда PGN игру или FEN позицииUУгандаУкраинаНевозможно принять %sНе удалось сохранить в указанный файл. Сохранить партии перед закрытием?Не удалось сохранить в указанный файл. Сохранить текущую партию перед закрытием?Неясная позицияНеописанная панельОтменаОтменить один ходОтменить два ходаУдалитьОбъединённые Арабские ЭмиратыВнешние малые острова СШАСоединённые Штаты АмерикиНеизвестныйНеофициальный канал %dНерейтинговаяБез регистрацииЕсли включено: экспоненциальное растяжение отображает весь диапазон значений с увеличением вокруг нулевого среднего. Если выключено: линейная шкала отображает ограниченный диапазон вокруг нулевого среднего. Это лучше подчёркивает небольшие ошибки и зевки.Без ограничения времениСверху внизУругвайИспользовать _анализаторИспользовать _обратный анализаторИспользовать _локальные таблицыИспользовать _онлайн таблицыИспользовать линейную шкалу для оценочных значенийИспользовать анализатор:Формат имени файла:Использовать _книгу дебютовИспользовать компенсацию времениУзбекистанЗначениеВануатуВариантВариант, разработанный Кайем Ласкосом: http://talkchess.com/forum/viewtopic.php?t=40990Вариации погрешности создания аннотации в сантипешках:Очень плохой ходВьетнамПосмотреть лекции, решать задачи или начать практиковаться в эндшпиляхВиргинские Острова (Великобритания)Виргинские Острова (США)Б ЕлоWFMWGMWIMЖдатьУоллис и ФутунаВнимание: эта опция генерирует форматированный файл .pgn, не соответствующий стандартамНе удалось сохранить '%(uri)s', так как PyChess не знает формата '%(ending)s'.Добро пожаловатьХорошая работа!Западная СахараКогда эта кнопка в "закрытом" состоянии, соотношение сил между вами и соперником будет сохраняться если: а) ваш рейтинг изменился б) вы изменили контроль времениБелыеELO белых:Белые O-OБелые O-O-OБелые имеют новую фигуру в защите %sБелые имеют довольно стеснённую позициюБелые имеют несколько стеснённую позициюХод белыхБелые должны брать пешкой налевоБелые должны брать пешкой направоСторона белых - Нажмите чтобы поменять игроков местамиБелые:ДикиеДикий замокДикий замок вперемешкуПобедаПобеждает поставивший 3 шахаПобеда:% победС атакойЖенский мастер FIDEЖенский ГроссмейстерЖенский Международный МастерРабочая директория:Год, месяц, день: #y, #m, #dЙеменВы вошли как гость. Обратите внимание, что вы можете воспользоваться полностью бесплатным 30-дневным пробным периодом по окончании которого плата по-прежнему не будет взиматься и ваш аккаунт останется активным с сохранением возможности играть партии. (С некоторыми ограничениями. Например, без возможности просмотра премиум-видео, с ограничениями в каналах и т.д.) Для регистрации аккаунта, пройдите наВы вошли как гость. Гости не участвуют в рейтинговых партиях, и поэтому им недоступны многие типы матчей для зарегистрированных пользователей. Чтобы зарегистрироваться, пройдите наВы попросили соперника сделать ходВы не можете играть рейтинговую игру, потому что выбрано "Без времени", Вы не можете играть рейтинговые игры, потому что вы зашли как гостьВы не можете выбрать вариант, потому что выбрано "Без времени", Нельзя сменить цвет фигур во время игры.Не трогать! Вы исследуете партию.У вас нет необходимых прав для сохранения файла. Пожалуйста, проверьте, указали ли вы правильный путь и попробуйте снова.Вы отключены из-за бездействия более 60 минутУ вас ещё нет открытых беседЧтобы видеть здесь сообщения бота, включите kibitz.Вы пытаетесь отменить слишком много ходов.У вас может быть лишь 3 одновременных запроса. Если хотите добавить новый запрос, вы должны отменить все активные сейчас. Отменить?Вы предложили ничьюВы предложили приостановить партиюВы предложили продолжитьВы предложили прервать партиюВы предложили отложить партиюВы предложили отменить ходыВы отправили заявление о падении флажкаВсе изменения будут потеряны!Противник просит вас поторопиться!Соперник предложил прервать игру. Если вы примете предложение, игра закончится без изменения рейтинга.Соперник предложил отложить игру. Если вы примете предложение, игру можно будет продолжить позже (когда соперник будет в сети и оба игрока согласятся продолжить игру).Соперник предложил приостановить игру. Если вы примете предложение, игровые часы будут приостановлены, пока оба игрока не будут согласны продолжить игру.Соперник предложил продолжить игру. Если вы примете предложение, часы продолжат отсчёт с момента их остановки.Соперник предложил отменить последние %s ход(ов). Если вы примете предложение, игра продолжится с позиции, которая была до них.Соперник предложил ничью.Соперник предложил ничью. Если вы примете предложение, игра закончится со счётом 1/2 - 1/2.У противника ещё не истекло время.Чтобы прервать партию, требуется согласие соперника, так как уже сделано более одного ходаКажется, ваш соперник передумал.Соперник хочет прервать игру.Соперник хочет отложить игру.Соперник хочет приостановить игру.Соперник хочет продолжить игру.Соперник хочет отменить %s ход(ов).Ваши запросы были удаленыВаша сила: Ваш ход.ЗамбияЗимбабвеЦугцванг_Принять_Действия_Анализ партииВ _архиве_Автоматически сохранить законченные партии в файл .pgn_Заявить о падении флажка_Очистить запросы_Скопировать FEN_Скопировать PGN_Отклонить_Правка_Движки_Экспорт Позиции_Полноэкранный режим_Партия_Игры_Общие_Справка_Скрывать вкладки, если открыта только одна партияСтрелка _подсказки_Подсказки_Недопустимый ход:_Загрузить партию_Просмотр журнала_Мои партии_Имя:_Новая партия_СледующийСделан _ход при наблюдении:_Соперник:_Пароль:_Играть в обычные шахматыИ_гроки_Предыдущий_Сделано задач:_Недавние:_Заменить_Повернуть доску_Сохранить %d документ_Сохранить %d документа_Сохранить %d документов_Сохранить %d документов_Сохранено %d документ(ов)_Сохранить партию_Запросы / Вызовы_Показывать боковые панели_Звуки_Начать игру_Без времени_Закрывать все игры по нажатию на [Х] главного окна_Использовать звуки в PyChess_Вариантов выбрано:_Вид_Ваш цвет:ии Гости не могут играть рейтинговые игрыи на FICS, игры "Без времени" не могут быть рейтинговымии на FICS, игры "Без времени" должны быть Классическими шахматамипопросить противника сделать ходчёрныепродвигают %(piece)s ближе к королю противника: %(cord)sпродвигают пешку ближе к последней диагонали ходом %sзаявить о падении флажка соперникавыигрывает материалрокируютсязащищают %sразвивает %(piece)s: %(cord)sразвитие пешки: %sсделали ничьюразменивают материалgnuchess:полуоткрытойhttp://brainking.com/en/GameRules?tp=2 * Расположение фигур на 1-ой и 8-ой строках случайное * Король находится в правом углу * Слоны должны начинать на квадратах противоположных цветов * Позиция черных обеспечивается поворотом позиции белых на 180 градусов относительно центра доски * Без рокировкиhttp://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D1%85%D0%BC%D0%B0%D1%82%D1%8Bhttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D1%85%D0%BC%D0%B0%D1%82%D1%8B#.D0.9F.D1.80.D0.B0.D0.B2.D0.B8.D0.BB.D0.B0улучшают защиту короляна %(x)sвертикали %(y)sв файлах %(x)s%(y)sувеличивают давление на %sнедопустимая фигура продвиженияурокиLichessпоставили матминминходперемещают ладью на открытую вертикальперемещают ладью на полуоткрытую вертикальфианкетируют слона на %sвне игрыизпредложить ничьюпредложить приостановкупредложить отменить ходпредложить прерватьпредложить отложить партиюпредложить продолжитьпредложить поменяться местамина связидругиенельзя взять пешкой в отсутствии фигурысвязывает %(oppiece)s противника с %(piece)s на %(cord)sактивно располагает %(piece)s на: %(cord)sпревращает пешку в %sдают шах противникудиапазон рейтинга сейчасспасают %sсдатьсяраунд %sжертвует материалсексекнесколько улучшают защиту королявозвращают материалнедопустимая захваченная координата (%s)недопустимая конечная координата (%s)для хода требуется фигура и координатыугрожает выиграть материал с %sдля автоматического одобрениядля одобрения вручнуюucivs.белыеокно1WTHarveyxboardxboard без рокировки: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Фигуры расположены случайным образом за пешками * Нет рокировки * Расположение черных зеркально отражает расположение белыхДикий замок xboard http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * Белые имеют типичную расстановку в начале. * Черные фигуры тоже, кроме того, что Король и Королева меняются местами, * таким образом они не в таком же положении как Король и Королева белых. * Рокировка происходит как в нормальных шахматах: * o-o-o указывает на длинную рокировку и o-o указывает на короткую.Дикий замок xboard http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * В этом варианте обе стороны имеют такй же набор фигур, как и в обычных шахматах. * Белый король в начале партии ставится на поле d1 или e1, а чёрный король - на поле d8 или e8. * Ладьи занимают свои обычные поля. * Слоны должны стоять на полях разного цвета. * В остальном фигуры на первой горизонтали располагаются произвольно. * Рокировка производится как в обычных шахматах: * o-o-o обозначает длинную рокировку и o-o короткую.YACPDBАландские островаpychess-1.0.0/lang/ru/LC_MESSAGES/pychess.po0000644000175000017500000062414213455542746017440 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # milssky <2furius@gmail.com>, 2012 # Ilyas B Arinov , 2014 # DS28 , 2015 # Emir Fridun-Zade , 2019 # FIRST AUTHOR , 2007 # gbtami , 2015-2016 # Ilyas B Arinov , 2014 # Ilyas B Arinov , 2015 # Ilyas B Arinov , 2015 # Mikhail Chekan , 2016 # milssky <2furius@gmail.com>, 2012 # slav0nic , 2012 # Sergey Shuvalkin , 2016,2018 # slav0nic , 2012 # slav0nic , 2012 # Stepan Kashuba , 2019 # DS28 , 2016 # Михаил Степанов , 2015 # Сергей Комков, 2015 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Russian (http://www.transifex.com/gbtami/pychess/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ru\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Партия" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Новая партия" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Подключ_иться к шахматному серверу" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Загрузить партию" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Загрузить _недавнюю партию" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Сохранить партию" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Сохранить партию _как" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "_Экспорт Позиции" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "_Рейтинг игрока" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "_Анализ партии" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Правка" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_Скопировать PGN" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "_Скопировать FEN" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "_Движки" #: glade/PyChess.glade:518 msgid "Externals" msgstr "Внешнее" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Действия" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Предложить _прервать партию" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Предложить _отложить партию" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Предложить _ничью" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Предложить сделать _перерыв" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Предложить _продолжить" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Предложить _отменить ход" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Заявить о падении флажка" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "_Сдаться" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Попросить сделать _ход" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "Автоматически заявлять о падении _флажка" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Вид" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Повернуть доску" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Полноэкранный режим" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "_Покинуть полноэкранный режим" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "_Показывать боковые панели" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_Просмотр журнала" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "Стрелка _подсказки" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "Стрелка _шпионского режима" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "База данных" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "Новая _база данных" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "Сохранить базу данных как" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "Создать книгу polyglot" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "Импортировать шахматный файл" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "Импортировать аннотированные партии с endgame.nl" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "Импортировать партии с theweekinchess.com" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Справка" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "О шахматах" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Как играть" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Перевести PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Совет дня" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Шахматный клиент" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Параметры" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "Отображаемое имя первого игрока" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Имя _первого игрока:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "Отображаемое имя гостя" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Имя _второго игрока:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Скрывать вкладки, если открыта только одна партия" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Если включено, скрывает вкладку наверху игрового окна, когда она не нужна." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "_Закрывать все игры по нажатию на [Х] главного окна" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "Если включено, нажатие на кнопку Закрыть главного окна в первый раз закроет все игры." #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "Автоматически _переворачивать доску для текущего игрока" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Если включено, доска будет автоматически поворачиваться после каждого хода в положение для текущего игрока." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "Автоматически _превращать пешку в ферзя" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "Если включено, пешка превращается в ферзя без вызова окна для выбора." #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "Режим отображения _Лицом к Лицу" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Если включено, чёрные фигуры располагаются вверх ногами. Это удобно для игры вдвоём на мобильных устройствах." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "Использовать линейную шкалу для оценочных значений" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "Если включено: экспоненциальное растяжение отображает весь диапазон значений с увеличением вокруг нулевого среднего. Если выключено: линейная шкала отображает ограниченный диапазон вокруг нулевого среднего. Это лучше подчёркивает небольшие ошибки и зевки." #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "Показывать _взятые фигуры" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "Если установлено, взятые фигуры будут показаны рядом с доской." #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "_Использовать изображения фигур в нотации" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "Если включено, PyChess будет отображать в нотации фигуры вместо заглавных букв." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "Окрашивать проанализированные ходы" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "Если установлено, PyChess будет окрашивать оптимальные проанализированные ходы красным." #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "Показывать время, потраченное на каждый ход" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "Если установлено, будет показано время, которое игрок потратил на каждый ход." #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "Показывать значения оценки" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "Если установлено, покажет оценки движка для анализа подсказок." #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "Показывать номера партий FICS на вкладках" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "Если установлено, то на вкладках, рядом с именами игроков, будут показываться номера партий FICS" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "Общие параметры" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "_Полная анимация доски" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Анимировать фигуры, повороты доски и др. (для быстрых компьютеров)." #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Анимировать только _ходы" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Анимировать только движения фигур." #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Без _анимации" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Никогда не использовать анимацию (для слабых машин)." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Анимация" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_Общие" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "Использовать _книгу дебютов" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "Если установлено, PyChess будет предлагать лучшие ходы дебютов на панели подсказок." #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "Файл книги Polyglot:" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "Использовать _локальные таблицы" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "Если установлено, PyChess будет показывать исход партии для различных ходов в позициях, содержащих 6 или менее фигур.\nВы можете загрузить файлы таблиц окончаний из:\n http://www.olympuschess.com/egtb/gaviota/" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "Путь к таблицам Gaviota:" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "Использовать _онлайн таблицы" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "Если установлено, PyChess будет показывать результаты игры для различных ходов в позициях, состоящих из 6 или менее фигур.\nБудет искать позиции из http://www.k4it.de/" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "Дебют, эндшпиль" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Использовать _анализатор" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "Анализатор будет в фоновом режиме анализировать партию. Это необходимо для работы режима подсказок" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Использовать _обратный анализатор" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "Обратный анализатор будет анализировать партию со стороны противника. Это необходимо для работы в шпионском режиме" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "Максимальное время анализа в секундах:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "Неограниченный анализ" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Идёт анализ" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_Подсказки" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Удалить" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "Активировать" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Установленные боковые панели" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "Боковые _панели" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "Путь к фоновому изображению :" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "Экран приветствия" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "Текстура:" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "Рамка:" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Светлые поля:" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "Сетка" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Тёмные поля:" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "Сбросить цвета" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "Показывать _координаты" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "Если установлено, игровая доска будет отображать метки и ранг для каждого игрового поля. Это полезно для шахматной нотации." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "Стиль доски" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "Шрифт:" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "Переместить текст" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "Варианты комплектов фигур" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Темы" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Использовать звуки в PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "Поставлен шах" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "_Игрок сделал ход:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "В партии _ничья:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Партия _проиграна:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Партия _выиграна:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Игрок взял _фигуру:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Партия на_чалась:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "Сделан _ход при наблюдении:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "_Конец партии при наблюдении:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "Мало _времени:" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "_Недопустимый ход:" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "Активировать сигнал, когда секунд _остается:" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "_Сделано задач:" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "_Вариантов выбрано:" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Проигрывать звук, если..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Звуки" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "_Автоматически сохранить законченные партии в файл .pgn" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Сохранить файлы в:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "Формат имени файла:" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "Имена: #n1, #n2" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "Год, месяц, день: #y, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "Сохранять количество времени, потраченное на каждый ход" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "Сохранять оценки анализатора" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "Выровнять содержимое файла _PGN" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "Внимание: эта опция генерирует форматированный файл .pgn, не соответствующий стандартам" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "Сохранять только свои собственные партии" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Сохранить" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Превращение пешки" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Ферзь" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Ладья" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Слон" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Конь" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Король" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "На что заменить пешку?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "По умолчанию" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "Кони" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Информация о партии" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Место:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "Изменение рейтинга:" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "Для каждого игрока данная статистика отображает вероятность выигрыша в партии и изменение вашего ELO в случае проигрыша / ничьи / выигрыша, или просто итоговое изменение рейтинга ELO" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "ELO чёрных:" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Черные:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Тур:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "ELO белых:" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Белые:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "Дата:" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "Результат:" #: glade/PyChess.glade:4818 msgid "Game" msgstr "Партия" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "Игроки:" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Турнир:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "Идентификатор" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "Дополнительные тэги" #: glade/PyChess.glade:5066 msgid "uci" msgstr "uci" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "xboard" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "Управление движками" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Команда:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Протокол:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Параметры:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "Параметры командной строки для движка" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "Движки общаются с графическим интерфейсом пользователя по протоколу uci или xboard.\nЕсли движок может использовать оба из них, выберите протокол, который вы предпочитаете." #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "Рабочая директория:" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "Директория, из которой будет запускаться движок." #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "Страна:" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "Страна происхождения движка" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "Комментарий:" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "Произвольный комментарий о движке" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "Окружение" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "Желаемый уровень:" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "Уровень 1 - слабейший, уровень 20 - наиболее сильный. Не стоит задавать слишком высокий уровень если алгоритм движка основан на поиске в глубину " #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "Восстановить значения опций по умолчанию" #: glade/PyChess.glade:5538 msgid "Options" msgstr "Опции" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "Фильтр" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Белые" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Чёрные" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "Игнорировать цвет" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "Турнир" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "ECO" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "Elo" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "0" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "-" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Дата" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "Место" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "Аннотатор" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Результат" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "1-0" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "0-1" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "1/2-1/2" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "Вариант" #: glade/PyChess.glade:6410 msgid "Header" msgstr "Заголовок" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "Дизбаланс" #: glade/PyChess.glade:6789 msgid "White move" msgstr "Ход белых" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "Ход чёрных" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "Ход без взятия (тихий ход)" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "Взято" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "Очередь хода" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "Материал/ход" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "Sub-FEN :" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Анализировать партию" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "Использовать анализатор:" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "Если анализатор найдет ход, разница оценки которого (разница между оценкой хода по его мнению наилучшего и оценкой ходов, сделанных в игре) превосходит это значение, он добавит аннотацию для этого хода (в зависимости от принципиальной вариации движка для хода) на панель аннотаций" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "Вариации погрешности создания аннотации в сантипешках:" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "Анализ с текущей позиции" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "Анализировать ходы чёрных" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "Анализировать ходы белых" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "Добавить строки с вариантами угроз" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess проверяет наличие шахматных движков. Пожалуйста, подождите." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Подключение к Интернет Шахматам" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "Подключиться к шахматному онлайн-серверу" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Пароль:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Имя:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Войти как _гость" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "Хост:" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "По_рты:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "Использовать компенсацию времени" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "Р_егистрация" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Вызов: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Отправить Вызов" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Вызов:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Молния:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Стандарт:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Блиц:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "2 мин, Шахматы Фишера, Черные" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 мин + 6 сек/ход, Белые" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 мин" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "_Очистить запросы" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Принять" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Отклонить" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "Отправить все запросы" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Отправить запрос" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Создать запрос" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Стандарт" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Блиц" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Молния" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Компьютер" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "_Запросы / Вызовы" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Рейтинг" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Время" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "_График Запросов" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 готовых игроков" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Вызов" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Наблюдать" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Начать Приватный Чат" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "С регистрацией" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Гость" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "Со званием" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "И_гроки" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "_Игры" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "_Мои партии" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "_Отменить предложение" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "Исследовать" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "Т_ест" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "В _архиве" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "Асимметричные случайные" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Редактировать Запрос" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Без ограничения времени" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Минуты: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr " Добавлять за ход: " #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Контроль времени: " #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Контроль времени" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Не важно" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Ваша сила: " #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Блиц)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Сила соперника: " #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "Когда эта кнопка в \"закрытом\" состоянии,\nсоотношение сил между вами и соперником\nбудет сохраняться если:\nа) ваш рейтинг изменился\nб) вы изменили контроль времени" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Центр:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Отклонение:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Скрыть" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Сила соперника" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Ваш цвет" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Игра по классическим правилам" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Играть" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Вариант Шахмат" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Рейтинговая игра" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Вручную принимать соперника" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Настройки" #: glade/findbar.glade:6 msgid "window1" msgstr "окно1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 из 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Искать:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Предыдущий" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Следующий" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Новая игра" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Начать игру" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "Скопировать FEN" #: glade/newInOut.glade:143 msgid "Clear" msgstr "Очистить" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "Вставить FEN" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "Начальная настройка" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "Сила игрового движка (1 = наименьшая, 20 = наибольшая)" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "Сторона белых - Нажмите чтобы поменять игроков местами" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "Сторона чёрных - Нажмите чтобы поменять игроков местами" #: glade/newInOut.glade:397 msgid "Players" msgstr "Игроки" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "_Без времени" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "Блиц: 5 мин." #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "Рапид: 15 мин + 10 сек/ход" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "Классика: 40 мин + 15 сек/ход" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "Классика: 3 мин / 40 ходов" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "_Играть в обычные шахматы" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Играть в шахматы Фишера" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "Играть в шахматные поддавки" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Открыть игру" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Начальная позиция" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Тип нотации" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "Счётчик полуходов" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "На проходе" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "Номер хода" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "Чёрные O-O" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "Чёрные O-O-O" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "Белые O-O-O" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "Белые O-O" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "Развернуть доску" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Выход из PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "_Закрыть без сохранения" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "_Сохранено %d документ(ов)" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "Ходы в %d играх не сохранены. Сохранить изменения перед закрытием?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Выберите партии, которые вы хотите сохранить:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Если вы не сохранитесь, все изменения будут безвозвратно утеряны." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "Подробные настройки игроков, контроля времени и варианта правил" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "_Соперник:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_Ваш цвет:" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "_Начать игру" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "Подробные параметры соединения" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "Автоматический вход при запуске" #: glade/taskers.glade:369 msgid "Server:" msgstr "Сервер:" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "_Подключиться к серверу" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "Выбрать шахматный файл pgn, epd или fen" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "_Недавние:" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "Создать новую базу данных" #: glade/taskers.glade:609 msgid "Open database" msgstr "Открыть базу данных" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "Посмотреть лекции, решать задачи или начать практиковаться в эндшпилях" #: glade/taskers.glade:723 msgid "Category:" msgstr "Категория:" #: glade/taskers.glade:796 msgid "Start learning" msgstr "Начать обучение" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Совет дня" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Показывать советы при запуске" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D1%85%D0%BC%D0%B0%D1%82%D1%8B" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D1%85%D0%BC%D0%B0%D1%82%D1%8B#.D0.9F.D1.80.D0.B0.D0.B2.D0.B8.D0.BB.D0.B0" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Добро пожаловать" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Открыть партию" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "Идёт чтение %s ..." #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "Файл: %(filename)s Импортировано заголовков: %(counter)s" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "Движок %s сообщает об ошибке:" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "Соперник предложил ничью." #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "Соперник предложил ничью. Если вы примете предложение, игра закончится со счётом 1/2 - 1/2." #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "Соперник хочет прервать игру." #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "Соперник предложил прервать игру. Если вы примете предложение, игра закончится без изменения рейтинга." #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "Соперник хочет отложить игру." #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "Соперник предложил отложить игру. Если вы примете предложение, игру можно будет продолжить позже (когда соперник будет в сети и оба игрока согласятся продолжить игру)." #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "Соперник хочет отменить %s ход(ов)." #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "Соперник предложил отменить последние %s ход(ов). Если вы примете предложение, игра продолжится с позиции, которая была до них." #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "Соперник хочет приостановить игру." #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "Соперник предложил приостановить игру. Если вы примете предложение, игровые часы будут приостановлены, пока оба игрока не будут согласны продолжить игру." #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "Соперник хочет продолжить игру." #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "Соперник предложил продолжить игру. Если вы примете предложение, часы продолжат отсчёт с момента их остановки." #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "Сдача партии" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "Заявление о падении флажка" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "Предложение ничьей" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "Предложение прервать" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "Предложение отложить" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "Предложение приостановить" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "Предложение продолжить" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "Предложение поменяться местами" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "Предложение отменить ход" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "сдаться" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "заявить о падении флажка соперника" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "предложить ничью" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "предложить прервать" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "предложить отложить партию" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "предложить приостановку" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "предложить продолжить" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "предложить поменяться местами" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "предложить отменить ход" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "попросить противника сделать ход" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "У противника ещё не истекло время." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "Часы ещё не запущены." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "Нельзя сменить цвет фигур во время игры." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "Вы пытаетесь отменить слишком много ходов." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Противник просит вас поторопиться!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "В этом нет особого смысла, партия с контролем времени, однако, если хотите проявить вежливость, вам стоит начать действовать." #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "Принять" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "Отклонить" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "%s было отклонено противником" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "Отправить %s ещё раз?" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "Повторная отправка" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s было отозвано соперником" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "Кажется, ваш соперник передумал." #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "Невозможно принять %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "Возможно потому что оно было отозвано." #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s возвращает ошибку" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "Диаграмма Chess Alpha 2" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "Партия закончена. Пожалуйста, проверьте свойства партии." #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "Партия не завершена. Её экспорт заинтересует не всех." #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "Позволить %s открыто опубликовать вашу партию в виде PGN на сайте chesspastebin.com ?" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "Партия размещена на" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "(Ссылка доступна в буфере обмена.)" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Шахматная позиция" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Неизвестный" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Forsyth-Edwards Notation" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "Не удалось загрузить партию из-за ошибки парсинга FEN" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "Диаграмма Html" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "Шахматные композиции с сайта yacpdb.org" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Portable Game Notation" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "Основной вариант анализатора" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "Импортируются заголовки партий..." #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "Создаётся файл индексов .bin ..." #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "Создаётся файл индексов .scout ..." #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "Недопустимый ход." #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "Ошибка парсинга %(mstr)s" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "Не удаётся прочитать партию до конца из-за ошибки парсинга хода %(moveno)s '%(notation)s'." #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "Ход не совершен из-за %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "Ошибка парсинга хода %(moveno)s %(mstr)s" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "Png изображение" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "Текстовая диаграмма" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "Узел назначения недоступен" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Мертв" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Локальный турнир" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Локальное место" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "мин" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "сек" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "Не по правилам" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "Мат" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "Доступна новая версия %s !" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "Андорра" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "Объединённые Арабские Эмираты" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "Афганистан" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "Антигуа и Барбуда" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "Ангилья" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "Албания" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "Армения" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "Ангола" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "Антарктика" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "Аргентина" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "Американское Самоа" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "Австрия" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "Австралия" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "Аландские острова" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "Азербайджан" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "Бангладеш" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "Бельгия" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "Болгария" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "Бахрейн" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "Бурунди" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "Бенин" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "Сен-Бартелеми" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "Бруней" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "Бонэйр, Синт-Эстатиус и Саба" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "Бразилия" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "Бутан" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "Остров Буве" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "Ботсвана" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "Белоруссия" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "Белиз" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "Канада" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "Кокосовые острова" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "Конго" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "Швейцария" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "Чили" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "Камерун" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "Китай" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "Колумбия" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "Куба" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "Кипр" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "Чехия" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "Германия" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "Джибути" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "Дания" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "Алжир" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "Эквадор" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "Эстония" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "Египет" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "Западная Сахара" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "Эритрея" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "Испания" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "Эфиопия" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "Финляндия" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "Фиджи" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "Фарерские Острова" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "Франция" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "Габон" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "Гренада" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "Грузия" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "Французская Гвиана" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "Гана" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "Гибралтар" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "Гренландия" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "Гамбия" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "Греция" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "Южная Георгия и Южные Сандвичевы Острова" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "Гватемала" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "Остров Херд и острова Макдональд" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "Гондурас" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "Хорватия" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "Гаити" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "Венгрия" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "Индонезия" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "Ирландия" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "Израиль" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "Индия" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "Ирак" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "Иран (Исламская Республика)" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "Исландия" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "Италия" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "Ямайка" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "Иордания" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "Япония" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "Кения" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "Кувейт" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "Казахстан" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "Ливан" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "Лихтенштейн" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "Либерия" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "Лесото" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "Литва" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "Люксембург" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "Латвия" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "Ливия" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "Марокко" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "Монако" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "Мадагаскар" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "Мали" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "Мьянма" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "Монголия" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "Мавритания" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "Мальта" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "Мексика" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "Малайзия" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "Мозамбик" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "Намибия" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "Нигер" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "Нигерия" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "Никарагуа" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "Нидерланды" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "Норвегия" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "Непал" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "Новая Зеландия" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "Оман" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "Панама" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "Перу" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "Филиппины" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "Пакистан" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "Польша" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "Пуэрто-Рико" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "Португалия" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "Парагвай" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "Катар" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "Румыния" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "Сербия" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "Российская Федерация" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "Руанда" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "Саудовская Аравия" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "Сейшельские Острова" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "Судан" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "Швеция" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "Сингапур" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "Острова Святой Елены, Вознесения и Тристан-да-Кунья" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "Словения" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "Шпицберген и Ян-Майен" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "Словакия" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "Сьерра-Леоне" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "Сан-Марино" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "Сенегал" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "Сомали" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "Суринам" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "Южный Судан" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "Чад" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "Того" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "Тайланд" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "Таджикистан" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "Туркменистан" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "Тунис" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "Турция" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "Украина" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "Уганда" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "Внешние малые острова США" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "Соединённые Штаты Америки" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "Уругвай" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "Узбекистан" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "Святой Престол" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "Сент-Винсент и Гренадины" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "Виргинские Острова (Великобритания)" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "Виргинские Острова (США)" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "Вьетнам" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "Вануату" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "Уоллис и Футуна" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "Самоа" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "Йемен" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "Майотта" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "Южная Африка" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "Замбия" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "Зимбабве" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "пешку" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "N" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "В" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "R" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "Q" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "K" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Партия закончилась вничью" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s одерживает победу," #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s одерживает победу," #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "Партия принудительно завершена" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Партия перенесена" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Партия прервана" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "Партия отменена" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "потому что обоим игрокам не хватает материала, чтобы поставить мат" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "потому что одна и та же позиция повторилась три раза подряд" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "потому что последние 50 ходов не принесли ничего нового" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "потому что у обоих соперников кончилось время" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "потому что %(mover)s в пате" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "потому что оба соперника согласились на ничью" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "Потому что администратор перенёс партию" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "Потому что партия превысила максимальную длительность" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "потому что у %(white)s кончилось время, а у %(black)s не хватает материала, чтобы поставить мат" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "потому что у %(black)s кончилось время, а у %(white)s не хватает материала, чтобы поставить мат" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "потому что у игроков одинаковое число фигур" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "потому что %(loser)s сдался" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "потому что у %(loser)s кончилось время" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "потому что игроку %(loser)s поставлен мат" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "Потому что %(loser)s отключился от сервера" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "потому что у %(winner)s меньше фигур" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "потому что %(winner)s потерял все фигуры" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "Потому что король %(loser)s взорван" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "Потому что король %(winner)s достиг центра" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "Потому что %(winner)s сделал шах 3 раза" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "Потому что %(winner)s король достиг восьмой горизонтали" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "потому что игрок потерял связь с сервером" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "потому что оба соперника согласились перенести партию" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "потому что сервер отключился" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "потому что один игрок отключился, а второй предложил перенести партию" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "потому что %(black)s отключился, а %(white)s предложил перенести партию" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "потому что %(white)s отключился, а %(black)s предложил перенести партию" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "потому что %(white)s отключился" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "потому что %(black)s отключился" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "потому что администратор перенёс игру; рейтинг не изменился" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "потому что оба соперника согласились прервать игру; рейтинг не изменился" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "из-за любезности игрока; рейтинг не изменился" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "Потому что игрок прервал игру. Прерывать игру без согласия соперника разрешается до второго хода. Рейтинг не изменился." #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "потому что игрок отключился, а для переноса партии было сделано слишком мало ходов; рейтинг не изменился" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "потому что сервер отключился; рейтинг не изменился" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "Потому что движок %(white)s умер" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "Потому что движок %(black)s сдох" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "потому что соединение с сервером потеряно" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "Причина неизвестна" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "Потому что цель тренировки достигнута" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "ASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "АСЕАН" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "Макрук: https://ru.wikipedia.org/wiki/Макрук" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "Макрук" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "Cambodian: http://www.khmerinstitute.org/culture/ok.html" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "Cambodian (Шахматы Камбоджи)" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "Ai-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "Ai-Wok" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "Sittuyin (Бирманские шахматы): http://en.wikipedia.org/wiki/Sittuyin" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "Sittuyin" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n* Случайные фигуры (возможны две королевы или три ладьи)\n* По одному королю каждого цвета\n* Фигуры располагаются случайным образом за пешками, ДЕЙСТВУЕТ ОГРАНИЧЕНИЕ - СЛОНЫ СБАЛАНСИРОВАНЫ\n* Без рокировки\n* Расположение черных НЕ отражает расположение белых" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Асимметричные случайные" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "FICS атомный: http://www.freechess.org/Help/HelpFiles/atomic.html" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "Атомные шахматы" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Классические правила шахмат со скрытыми фигурами\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "Вслепую" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Классические правила шахмат со скрытыми пешками\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "Скрытые пешки" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Классические правила шахмат со скрытыми фигурами\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "Скрытые фигуры" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Классические правила шахмат со всеми белыми фигурами\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "Все белые" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "FICS багхаус: http://www.freechess.org/Help/HelpFiles/bughouse.html" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "Багхаус" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "http://brainking.com/en/GameRules?tp=2\n* Расположение фигур на 1-ой и 8-ой строках случайное\n* Король находится в правом углу\n* Слоны должны начинать на квадратах противоположных цветов\n* Позиция черных обеспечивается поворотом позиции белых на 180 градусов относительно центра доски\n* Без рокировки" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Уголки" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "FICS дурдом: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "Дурдом" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "EuroShogi" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "http://en.wikipedia.org/wiki/Chess960\nFICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Фишеровские случайные" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "Распродажа ICC: https://www.chessclub.com/user/help/Giveaway" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "Распродажа" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "Чтобы победить чёрные должны взять все фигуры белых.\nБелые, как обычно, хотят поставить мат.\nПешки на первой горизонтали могут передвигаться на две клетки, также как пешки на второй горизонтали." #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "Ордовые шахматы" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "Для победы в партии проведите своего короля на одно из центральных полей (e4, d4, e5, d5)!\nВ остальном действуют обычные правила, мат королю тоже завершает игру." #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "Царь горы" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "У одного из игроков на одного коня меньше" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "Неравенство коней" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "Поддавки FICS: http://www.freechess.org/Help/HelpFiles/losers_chess.html" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "Поддавки" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "Классические шахматные правила\nhttp://en.wikipedia.org/wiki/Chess" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Классика" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "У одного из игроков на одну пешку меньше" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "Неравенство пешек" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\nБелые пешки начинают на 5ом ранге и черные пешки на 4ом ранге" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "Проходные пешки" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\nПешки начинают на 4ом и 5ом ранге, вместо 2го и 7го" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "Проведенные пешки" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "У одного из игроков на одну королеву меньше" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "Неравенство королев" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "В этой игре шах полностью запрещён: нельзя не только перемещать своего короля под шах, но и ставить шах королю противника.\nЦель игры - первым привести короля на восьмую горизонталь.\nЕсли чёрные приводят своего короля на восьмую горизонталь непосредственно после того как это сделали белые, засчитывается ничья (это правило компенсирует преимущество первого хода).\nОстальные правила такие же, как в обычных шахматах." #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n* Случайные фигуры (возможно две королевы или три пешки)\n* Точно по одному королю каждого цвета\n* Фигуры расположены случайно позади пешек\n* Без рокировки\n* Расположение черных отражает расположение белых" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Случайные" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "У одного из игроков на одну ладью меньше" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "Неравенство ладей" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "xboard без рокировки: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n* Фигуры расположены случайным образом за пешками\n* Нет рокировки\n* Расположение черных зеркально отражает расположение белых" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Перемешивать" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "FICS суицид: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "Самоубийство" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "Вариант, разработанный Кайем Ласкосом: http://talkchess.com/forum/viewtopic.php?t=40990" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "Фив" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "Побеждает поставивший 3 шаха" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "Тройной шах" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\nhttp://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\nПешки начинают на 7-й линии, а не на 2-й!" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "Сверху вниз" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "Дикий замок xboard http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n* Белые имеют типичную расстановку в начале.\n* Черные фигуры тоже, кроме того, что Король и Королева меняются местами,\n* таким образом они не в таком же положении как Король и Королева белых.\n* Рокировка происходит как в нормальных шахматах:\n* o-o-o указывает на длинную рокировку и o-o указывает на короткую." #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "Дикий замок" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "Дикий замок xboard http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n* В этом варианте обе стороны имеют такй же набор фигур, как и в обычных шахматах.\n* Белый король в начале партии ставится на поле d1 или e1, а чёрный король - на поле d8 или e8.\n* Ладьи занимают свои обычные поля.\n* Слоны должны стоять на полях разного цвета.\n* В остальном фигуры на первой горизонтали располагаются произвольно.\n* Рокировка производится как в обычных шахматах:\n* o-o-o обозначает длинную рокировку и o-o короткую." #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "Дикий замок вперемешку" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "Связь была нарушена - получено сообщение \"end of file\"" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "Имя '%s' не зарегистрировано" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "Введен неправильный пароль.\nЕсли вы забыли пароль, пройдите на http://www.freechess.org/password чтобы запросить новый по электронной почте." #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "Очень жаль, но '%s' уже на сервере" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "Имя '%s' уже зарегистрировано. Если оно ваше, введите пароль." #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "Из-за поднявшейся ругани гостевые соединения ограничены.\nНо вы по-прежнему можете зарегистрироваться на http://www.freechess.org" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Соединение с сервером" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Авторизация на сервере" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Настройка окружения" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "%(player)s %(status)s" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "вне игры" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Дикие" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Подключен" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Отключён" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "Доступен" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "Играет" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "Бездельничает" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "Исследует" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "Недоступен" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "Запустить симуляционный матч" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "В турнире" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Нерейтинговая" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Рейтинговая" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d мин" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr " + %d cек" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "%(player)s играет %(color)s" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "белые" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "чёрные" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "Это продолжение отложенного матча" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "Ретинг Соперника" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "Одобрение вручную" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Приват" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Ошибка подключения" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Ошибка авторизации" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Подключение было закрыто" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Ошибка адреса" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Автовыход" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Вы отключены из-за бездействия более 60 минут" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "Приём гостевых подключений сервером FICS остановлен" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "Исследовано" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Другие" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Администратор" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "Аккаунт Слепое пятно" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Командный аккаунт" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "Без регистрации" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "Шахматный советчик" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "Служебный представитель" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "Директор турнира" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "Управляющий мамером" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "Гроссмейстер" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "Международный Мастер" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "Мастер ФИДЕ" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "Женский Гроссмейстер" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "Женский Международный Мастер" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "Женский мастер FIDE" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "Аккаунт-пустышка" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "C" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "T" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "U" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "CA" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "SR" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "TD" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "TM" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "GM" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "IM" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "FM" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "WGM" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "WIM" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "WFM" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "D" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "H" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "CM" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "FA" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "NM" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "PyChess не в состоянии загрузить ваши настройки панели" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "Друзья" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "Администратор" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "Больше каналов" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "Больше игроков" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "Компьютеры" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "Вслепую" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "Гости" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "Зрители" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "Продолжить" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "Пауза" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "Попросить разрешения" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "Некоторые функции PyChess требуют вашего разрешения на загрузку сторонних программ" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "Не показывать этот диалог при старте." #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "Нет выбранных бесед" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "Загрузка данных игрока" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "Получение списка игроков" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "Ваш ход." #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "Подсказка" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "Лучший ход" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "Хорошая работа!" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "Далее" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "Продолжить" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "Не лучший ход!" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "Попытаться ещё раз" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "Обратно к основному варианту" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "Информационное окно PyChess" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "из" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "Лекции" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "Уроки" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "Задачи" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "Эндшпили" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "У вас ещё нет открытых бесед" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "В этом канале могут общаться только зарегистрированные пользователи" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "Идёт анализ партии..." #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "Хотите его остановить?" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "Прервать" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "Опция" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "Значение" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "Выбрать движок" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "Исполнимые файлы" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "Не получилось добавить %s" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "Движок уже установлен под тем же самым именем" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "не установлен" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "%s не является исполняемым файлом" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "Попробуйте набрать chmod a+x %s" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "С этой программой что-то пошло не так" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "Импортировать" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "Выберите рабочую директорию" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "Вы уверены, что хотите установить стандартные настройки движка?" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "Новая" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "Выберите дату" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr " недопустимый ход движка: %s" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Предложить реванш" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "Наблюдать за %s" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Играть реванш" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Отменить один ход" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Отменить два хода" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "Вы предложили прервать партию" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "Вы предложили отложить партию" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Вы предложили ничью" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "Вы предложили приостановить партию" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "Вы предложили продолжить" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "Вы предложили отменить ходы" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "Вы попросили соперника сделать ход" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "Вы отправили заявление о падении флажка" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Компьютерная программа, %s, не отвечает" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "PyChess потерял связь с шахматным движком, возможно из-за его остановки.\n\nВы можете попытаться начать новую игру с той же шахматной программой или против какой-либо другой." #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "Игру можно автоматически прервать без потери рейтинга, так как ещё не сделано двух ходов" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "Предложить прервать партию" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "Чтобы прервать партию, требуется согласие соперника, так как уже сделано более одного хода" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "Игра не может быть перенесена, потому что один из игроков гость" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "Потребовать ничью" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "Продолжить" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "Предложить паузу" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "Предложить продолжить" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "Отмена" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "Предложить отмену" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "испытал задержку в 30 секунд" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "испытывает серьезную задержку, но не отключился" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "Продолжать ждать противника или попробовать отложить игру?" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "Ждать" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "Отложить" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "Перейти к начальной позиции" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "Назад на один ход" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "Вернуться к главной линии" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "Вперёд на один ход" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Перейти к последней позиции" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "Найти позицию в текущей базе данных" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Человек" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Минуты:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "Ходы:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Добавлять за ход:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "Классика" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "Рапид" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "%(name)s %(minutes)d мин / %(moves)d ходов %(duration)s" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "%(name)s %(minutes)d мин %(sign)s %(gain)d сек/ход %(duration)s" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "%(name)s %(minutes)d мин %(duration)s" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "Перевес" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "Другое (стандартные правила)" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "Другое (нестандартные правила)" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "Азиатские варианты" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr " шахматы" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Настроить позицию" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "Введите или вставьте сюда PGN игру или FEN позиции" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Начать партию" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "Выбрать файл книги" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "Книги дебютов" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "Выбрать путь Gaviota TB" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Открыть звуковой файл" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "Звуковые файлы" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Без звука" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Сигнал" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Звуковой файл..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "Неописанная панель" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "Выбрать файл фонового изображения" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "Изображения" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "Выбрать путь автосохранения" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "Знаете ли вы, что можно завершить шахматную партию всего за два хода?" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "Знаете ли вы, что количество возможных вариантов игр в шахматах превышает число атомов во Вселенной?" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "Для сохранения игры выберите Игра > Сохранить игру как, задайте имя файла и выберите путь сохранения. Снизу выберите тип файла, и нажмите Сохранить." #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "FEN необходимо 6 полей с данными. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "FEN необходимо по крайней мере 2 поля с данными в fenstr. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "Требуется 7 слэшэй в поле расположения фигур. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "Активное цветовое поле должно быть w или b. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "Неправильное поле возможности рокировки. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "Проходная координата недопустима. \n\n%s" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "недопустимая фигура продвижения" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "для хода требуется фигура и координаты" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "недопустимая захваченная координата (%s)" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "нельзя взять пешкой в отсутствии фигуры" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "недопустимая конечная координата (%s)" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "и" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "сделали ничью" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "поставили мат" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "дают шах противнику" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "улучшают защиту короля" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "несколько улучшают защиту короля" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "перемещают ладью на открытую вертикаль" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "перемещают ладью на полуоткрытую вертикаль" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "фианкетируют слона на %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "превращает пешку в %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "рокируются" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "возвращают материал" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "жертвует материал" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "разменивают материал" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "выигрывает материал" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "спасают %s" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "угрожает выиграть материал с %s" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "увеличивают давление на %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "защищают %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "связывает %(oppiece)s противника с %(piece)s на %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "Белые имеют новую фигуру в защите %s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "Чёрные имеют новую фигуру в защите %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "%(color)s получают проходную пешку на %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "полуоткрытой" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "на %(x)sвертикали %(y)s" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "в файлах %(x)s%(y)s" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "%(color)s имеют две пешки %(place)s" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "%(color)s получают новые сдвоенные пешки %(place)s" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "%(color)s имеют изолированную пешку на вертикали %(x)s" msgstr[1] "%(color)s имеют изолированные пешки на вертикалях %(x)s" msgstr[2] "" msgstr[3] "%(color)s имеют изолированные пешки на вертикалях %(x)s" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "%s перемещают пешки в устойчивую позицию" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "%s больше не могут сделать рокировку" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "%s больше не могут сделать рокировку на стороне королевы" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "%s больше не могут сделать рокировку на стороне короля" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "%(opcolor)s получают нового епископа в ловушке на %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "развитие пешки: %s" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "продвигают пешку ближе к последней диагонали ходом %s" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "продвигают %(piece)s ближе к королю противника: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "развивает %(piece)s: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "активно располагает %(piece)s на: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "Белые должны брать пешкой направо" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "Чёрные должны брать пешкой налево" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "Белые должны брать пешкой налево" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "Чёрные должны брать пешкой направо" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "Чёрные имеют довольно стеснённую позицию" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "Чёрные имеют несколько стеснённую позицию" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "Белые имеют довольно стеснённую позицию" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "Белые имеют несколько стеснённую позицию" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "Крик" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "Шахматный возглас" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "Неофициальный канал %d" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "Фильтры" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "Панель фильтров позволяет отсортировать партии по различным условиям" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "Редактировать выделенный фильтр" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "Удалить выделенный фильтр" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "Добавить новый фильтр" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "Ряд" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "Плс" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "Фильтровать список партий по различным условиям" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "Ряд" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "Полоса" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "Дебюты" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "Панель дебютов может фильтровать список партий по первым ходам" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "Ход" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "Партии" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "% побед" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "Отфильтровать список партий по первым ходам" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "Предпросмотр" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "Импортировать файл PGN" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "Сохранить в файл PNG как..." #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "Открыть" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "Открывается шахматный файл..." #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "Сохранить как" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "Открыть шахматный файл" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "Воссоздание индексов..." #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "Подготовка к началу импорта..." #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "Создать новую базу данных PGN" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "Файл '%s' уже существует." #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "ИН" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "Б Ело" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "Ч Ело" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "Тур" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "Продолжительность" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "Контроль времени" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "Первые партии" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "Предыдущие партии" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "Следующие партии" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "В архиве" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Часы" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Тип" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Дата/Время" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr " с кем у вас отложенная игра %(timecontrol)s %(gametype)s, сейчас онлайн." #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "Запросить продолжение" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "Исследовать отсроченную игру" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "Список каналов сервера" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Чат" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "Информация" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "Консоль" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "Интерфейс командной строки к шахматному серверу" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Победа" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Ничья" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Поражение" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "Лучший" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "На FICS ваш \"Дикий\" рейтинг охватывает все эти варианты с любым контролем времени:\n" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "Санкции" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Почта" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Прошло" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "на связи" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Отклик" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Подключение" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "Об игроке" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "Вы вошли как гость. Обратите внимание, что вы можете воспользоваться полностью бесплатным 30-дневным пробным периодом по окончании которого плата по-прежнему не будет взиматься и ваш аккаунт останется активным с сохранением возможности играть партии. (С некоторыми ограничениями. Например, без возможности просмотра премиум-видео, с ограничениями в каналах и т.д.) Для регистрации аккаунта, пройдите на" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "Вы вошли как гость. Гости не участвуют в рейтинговых партиях, и поэтому им недоступны многие типы матчей для зарегистрированных пользователей. Чтобы зарегистрироваться, пройдите на" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "Список партий" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "Список активных партий" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Текущие игры: %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "Новости" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "Список новостей сервера" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "Исход" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "Следить" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "Список игроков" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "Список игроков" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Имя" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "Статус" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "Игроков: %d" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "Кнопка \"цепочка\" не работает потому что вы вошли как гость. Гости не имеют рейтинга и поэтому нет того значения к которому можно привязать \"Силу соперника\"." #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Вызов: " #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "Если установлено, вы можете отклонять игроков, принявших ваш запрос" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "Это неподходящая опция, потому что вы вызываете игрока" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Редактировать запрос: " #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "%(minutes)d мин + %(gain)d сек/ход" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Вручную" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "Любая сила" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "Вы не можете играть рейтинговые игры, потому что вы зашли как гость" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "Вы не можете играть рейтинговую игру, потому что выбрано \"Без времени\", " #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "и на FICS, игры \"Без времени\" не могут быть рейтинговыми" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "Эта опция недоступна, так как вы вызываете гостя, " #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "и Гости не могут играть рейтинговые игры" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "Вы не можете выбрать вариант, потому что выбрано \"Без времени\", " #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "и на FICS, игры \"Без времени\" должны быть Классическими шахматами" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "Изменить допустимое отклонение" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " мин." #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "Влияние на рейтинг возможных исходов партии" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "Победа:" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "Ничья:" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "Поражение:" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "Новый RD:" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Активных запросов: %d" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr " хочет продолжить отложенную вами игру %(time)s %(gametype)s." #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr " Предлагает вам сыграть партию типа %(time)s %(rated)s %(gametype)s" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr " где %(player)s играет %(color)s." #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "ICS" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "Выйти" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "Чтобы видеть здесь сообщения бота, включите kibitz." #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "У вас может быть лишь 3 одновременных запроса. Если хотите добавить новый запрос, вы должны отменить все активные сейчас. Отменить?" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "Не трогать! Вы исследуете партию." #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "отклонил ваше предложение матча" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "применяет цензуру в отношении вас" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "занёс вас в черный список" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "использует формулу, неподобающую вашему запросу матча" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "для одобрения вручную" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "для автоматического одобрения" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "диапазон рейтинга сейчас" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "Запрос обновлен" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "Ваши запросы были удалены" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "прибыл" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "отбыл" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "присутствует" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Определить тип автоматически" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "Ошибка при загрузке партии" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Сохранить партию" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "Экспорт позиции" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Неизвестный тип файла '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "Не удалось сохранить '%(uri)s', так как PyChess не знает формата '%(ending)s'." #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Не удалось сохранить файл '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "У вас нет необходимых прав для сохранения файла.\nПожалуйста, проверьте, указали ли вы правильный путь и попробуйте снова." #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Заменить" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Файл существует" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Файл '%s' уже существует. Вы хотите заменить?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "Файл уже существует в '%s'. Если вы замените его, содержимое будет перезаписано." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Не удалось сохранить файл" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess не смог сохранить партию" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "Ошибка: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "Имеется %d игра с несохранёнными ходами." msgstr[1] "Имеется %d игры с несохранёнными ходами." msgstr[2] "Имеется %d игр с несохранёнными ходами." msgstr[3] "Имеется %d игр с несохранёнными ходами." #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "Сохранить ходы перед закрытием?" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "Не удалось сохранить в указанный файл. Сохранить партии перед закрытием?" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "vs." #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "_Сохранить %d документ" msgstr[1] "_Сохранить %d документа" msgstr[2] "_Сохранить %d документов" msgstr[3] "_Сохранить %d документов" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "Сохранить текущую партию пока вы её не закрыли?" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "Не удалось сохранить в указанный файл. Сохранить текущую партию перед закрытием?" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Будет невозможно продолжить игру позже, если вы ее не сохраните." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Все шахматные файлы" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "Нотация" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "Записанная игра" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "Добавить начальный комментарий" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "Добавить комментарий" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "Редактировать комментарий" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "Хороший ход" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "Плохой ход" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "Отличный ход" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "Очень плохой ход" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "Интересный ход" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "Странный ход" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "Форсированный ход" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "Добавить символ хода" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "Вероятная ничья" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "Неясная позиция" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "Небольшое преимущество" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "Умеренное преимущество" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "Убедительное преимущество" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "Подавляющее преимущество" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "Цугцванг" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "Преимущество в развитии" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "Инициатива" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "С атакой" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "Конпенсация" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "Контригра" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "Временное давление" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "Добавить оценочный символ" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "Комментарий" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "Символы" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "Все оценки" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "Убрать" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "Без контроля времени" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "мин" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "сек" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "ход" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "раунд %s" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "Подсказки" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "Панель подсказок предоставляет советы компьютера на каждом этапе игры" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Официальная PyChess панель" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Книга дебютов" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "Книга дебютов поможет вам на ранней стадии игры, показывая ходы, сделанные великими шахматными игроками" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "Аналитика от %s" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "%s попытается предсказать, какой ход лучший, и какая сторона имеет преимущество" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "Поточная аналитика от %s" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "%s попытается установить возможную угрозу, если ход будет делать ваш соперник" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "Идёт вычисление..." #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "Движок считает очки в пешечных единицах, с точки зрения белых. Двойной щелчок по аналитическим линиям позволяет вам вставить их в панель аннотаций в качестве вариантов." #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "Добавление предположений может помочь вам в поиске идей, но замедляет компьютерный анализ." #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "Эндшпильная таблица" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "Таблица эндшпиля покажет точную аналитику, когда на доске останется мало фигур." #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "Мат в %d хода" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "В этой позиции\nнет допустимого хода." #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "Панель чата позволяет общаться с соперником во время игры, если у него есть такое желание" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Комментарии" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "Панель комментариев пытается анализировать и пояснять сделанные ходы" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Начальная позиция" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "%(color)s переместили %(piece)s на %(cord)s" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "Движки" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "Панель вывода движка показывает мыслительный процесс движков (компьютерных игроков) во время игры" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "В этой игре не участвуют шахматные движки (игроки-компьютеры)." #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "История ходов" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "Список ходов содержит ходы, сделанные игроками, и позволяет перемещаться по истории игры" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Счёт" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "Панель очков пытается оценить позиции и показывает график игрового прогресса" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "Отработка эндшпилей с компьютером" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "Автор" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "Достижения" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "Сервер Lichess предлагает решить шахматные композиции и задачи, составленные по партиям гроссмейстеров" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "другие" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "Прекратить обучение" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "Lichess" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "WTHarvey" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "YACPDB" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "уроки" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "Сбросить мои достижения" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "Все изменения будут потеряны!" pychess-1.0.0/lang/eu/0000755000175000017500000000000013467766037013613 5ustar varunvarunpychess-1.0.0/lang/eu/LC_MESSAGES/0000755000175000017500000000000013467766037015400 5ustar varunvarunpychess-1.0.0/lang/eu/LC_MESSAGES/pychess.mo0000644000175000017500000000076213467766036017417 0ustar varunvarun4L`a hjs _Name:_Password:Project-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Basque (http://www.transifex.com/gbtami/pychess/language/eu/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: eu Plural-Forms: nplurals=2; plural=(n != 1); _Izena:_Pasahitza:pychess-1.0.0/lang/eu/LC_MESSAGES/pychess.po0000644000175000017500000043154013455543001017402 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2008 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Basque (http://www.transifex.com/gbtami/pychess/language/eu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: eu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Pasahitza:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Izena:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/hu/0000755000175000017500000000000013467766037013616 5ustar varunvarunpychess-1.0.0/lang/hu/LC_MESSAGES/0000755000175000017500000000000013467766037015403 5ustar varunvarunpychess-1.0.0/lang/hu/LC_MESSAGES/pychess.mo0000644000175000017500000033474413467766036017434 0ustar varunvarunt+E\Wpt qt |tGtt t$t uu0uIu+[uu uuu/u0u[vN{vv%v`w(hw+w'w3w#x%=x@cx7x0x# y1yJyeyyyy#y$yz'z0{o{{!{{{{{{{{{{{| ||4| =|G|M|0V|'|@||}}%}7}L}g}~}}}#}$}# ~0~A~V~n~~~~~~~~+?>Q~&$+CH7UĀ"*=(hRdue &.=l }΃( S*~ )΄ Ԅ mcks C 5BVs{Cφ ކ   (2:@O cpw χ* ' 3 =HJPby  /SQ5!Ɖ $/ASqQŊ#*;-f"+( r K?'%Oٍ-)3W$6#E AQ!!ӏ-&#-J;x BՐ%-4:B GQX_ e p z$#%ϑ "#Β* $ .8JPW g Г ٓȔ ϔܔ  8R[bs.| ĕ̕ % *8"N q| ɖ ږ6VVsRʗS q{Ԙݘ*, 1M  ʙ&Й (>F:O /ǚК ך & /: Rs XbfŜ؜ݜ ! &06IQYa~<؝-F6N}G̞jf`>GnA7PY l"w p ,:> F P \i*~ "Ţ 1Aݣ} c nz&.Ҥ 1NT[cz : 0#@TDHڦF#Hj=w}1 ɫ̫ ' , 8B&I!p&8 " *6ELR  :HYu}ĮǮͮӮڮ ߮'7F Weu{*2: @JSl   °Ͱ Ұܰ$4L Sah jw}Ʊ!ͱ  # ,6< B N [g:o$ϲӲֲ޲1G'AoH>X=RBc,]?B.;qqSOsFù  '18&Ho$ ͺ)  ",>C T bm~  ɽսDܽ!'/5<C\t v +  =DJ\dmt| E ao   ' ; GR Zgx + +!*38 >L[ bp  ! * 3>Qkr {    %+.0_ e/q  #$$'#L#p#  C< Wx " *5 EO T am  t,*+*;BV.p  4<Lbiqw !)/ 4 > KX ] iuz    ( 0:BI]f[ $A8I' #1 u    .H^ fqx  %6<CWl4,' =Id ~   (*Sgo*   $ 0=P%g "0? NX`dmt| B/$5Zp  05;/DtL ( /,< i u   #+4D [e lx  (p:h"C$5hKJ459j3R:3ZcT 9ZYI}f`E`a\,l>sZ K-\~E ,OA|A " '4 D R^m|6; CNThz , u2y"3E JX gq4$* 2?= EQ Yg~ 0 DOU]Qe6" $29;uUM#q y $#% ,"7#Z*~   3Na~B~+9?9/(i/yC<$3&=> #;Yp% t?%l!9n[/&(!&J'q'|>[ kv}  &     # 4@ FQZ%`         '1BK T$b  +*> DQ!U)w81',Tm$!   % /59"oe+$9Ph!  , / <J[j{,6( E ] t         #  !4 V v          DP h#M,z ) &3S dnt<7^Ue2}95"=&R&yK:-'Uq"!/ 0=n(""] WjC  '(1Z\^ `lptx    /+-;Y "7Wp, )E![}!LCj,5-K?;?.16-h E  Q [ d ej     2 <)!f!z!!!!!!7!$%"kJ"" " ":" #&# 6#B#mI######$;$ N$[$!z$$$&$$% %L%a%s%|% %%%% %%%%%& &=&R&g& l&v&~&(&"&D&!'9' T' _'j'l't'' ''' '' '-'P(P`( (!(()&)?)-Y)P)Q)+**(V*2*+*#*2+5++"e,<,*,),T-2o-1-"-*-".<A.A~.!../$ /E/\/s//4/ /////0 00%0,020 :0 G0 S0 a0,0,001/102642k2t2|22222 2 2'23%3 .3<3uC333333 44444 4 *484 A48K444 44=4 445 5%5 *5 45@5 W5 a5 k5w5$5 555 555556"6=96aw6`6`:7_7 7"8)82878R8j8s8%8&8/89 9 $9 19?9 G9U9d9s9&y9 99999 9O : Y::f::: :::$:; ;';*G;r;;;;Q<&< =$=A=I=_=d=m=t=|==== == === ===='>=<>z>>>>>>j>2P?K?B?g@]z@E@?A:^AAAAA+AB B B )B4BBBBB BC C5'C]C cCoCsC/zCCC C,C DDDE EEEE#E,FIFQF ZF1dFF FF"F F FFG;GWGmGG;G=G@GD=HHHFHHI=[IoJ L{LYM M MMNN3N ON]NbN yNNCN0N=O>OQGO,OOOOO P P*PPPP1P Q)Q:QVQ_QvQQQQ QQQ QQQR R &R1R ARMR gRrR RRHSPSXS ^ShSqSSS S SS SSS SS ST T=TPTBXTT TTTTTT#T% U0U!8UZUpUUUUUU UUUU UUU:U</VlVpVsV{V~VVBVkVHHWWbXdUYVYiZz{ZsZmj[U[V.\?\W\S]+q])^ ^ ^^^ _ !_1,_ ^_$k_ _ __-``a aa(a -a ;aIaYaja}aaaa aaAabbb%b,b 3bAbSb Ub`bfbnbbbb b+bbb c c c3c:cCcUc ]cicocwc3cccXc d(d9dAd&Idpddd dddd e3eBe JeTeieeee e ee+e ef+ f6f=fFfOfTfZf jfvf|fff fff f f fg"g*g 1gRgXgagqggg g ggggg g gh h hh'h)h,h1hAhIhXh^hOchh h2hh h ii i*i.iDi#[iii(ii ii ijjjjE"j!hj j jjjj jkk&k5kRk lkvkkk kkkkll0lFldl~llllllmm m0xm/m/m0 n :nEnWnAunnnnnoo&o ?o\Loooooo op+p-p6pv@vFv Mv[v tv~v vv vvv vv vvw%"w#Hw lw xwwww wwww-x 5x ?x JxUx[xcxkxzxx xxx#xAx:yMyTy]y `yny,yy yyy z%z +z 6zCz Yzfznzz z"z&zz{+{*G{r{!{%{{{{{||-|A|8X|&|3||#},}E}%a}}}}}}}}~ ~~.~G~ `~k~~ ~X~ ~8 C*a&  & 8B\ag/p ̀Հ[ t , Áρ  $5FJQ ju {  ǂ ӂނ  %/LS cmvvr'(ք7b7}-F^xe4N< :HE1h IUt:7R<h//C' kvɌڌa(Ddm_ҍ(2'[:׎ގ     &3 8D8= EPVh ͐>35<DV]T .CYs4$̒ 2L[lC Zhp).ϔ+*!;] yR ^)p"ϖM;Tjrvz ~`V T _l  !-ޙ, 90K1|7  $ . O Z fsכݛ^GSaWI5Sן++AWz%!:Z\+L0٢! 6(W&,:ԣb4r""ʤ=$+$P9uu.%3T33"<hP ٧   * =4H} Ϩ ݨ  ! + 6B%Jp ȩϩ ԩ    !*G P[+n Ъު>!Pr9MԫU"xA/ܬ  ) 6C@Aƭ!׭%@ I2W!e: Mn#ٰ &*-$X }ѱ.G:OM.ز &!0Rh q}  ҳ&< 'Jr ͵1ιչiB~EuQBMp:X, 5j67X00y)(rqz-ouhm1A:O~qBY}LvlE#I$OY#/%MV.2dOWkSy+7|H+J]Vfy K| ;8Lv44/# s#TgiQ7[j")VP6p;DrE?8 +/C$m='X&N.s Fj-) TcgdPy%Zk1H"J, {:k\86Q zAgn4aJ"33 `g^Q-=I pG[UCpUGs"R3?V\Mt1QuM_<K &m{ =FG~mEuv8Z\X^>`NO%c9A|[ 9)d}3Os*B+ = ,Z4 . (RN5'<75%et!Gki2NUjoeIq?t"g !Sr[d2' &f_a1b]@fP:(>4[G$X&3F>0z?0e\VVU};., Eyu c152xTKi`?ncXWNvd rC'[|bZ0+/R^7~@( !nLANfT?w7c;Bm:H!xl_p a9QY<(Rhqa@$l@M{*Sz=]/>6*: ^2o]@|lWSir4<*I%<L0nT x)\!]P\-_q#`SwfYae t CkW#K=D`oG@8z.UFIx{s6bPq;R~.]trWb+d1Dp}Z9OhlB_J^ULv-LkJib/9>l)F<AcM_gCKnhDsaYD HS"$j`'x55Ke,2,m&wHFRJHo3*o wfYe> !b;8}D{^$hI A- (EZtjP *hWCTw'%9n6 & Gain: + %d sec challenges you to a %(time)s %(rated)s %(gametype)s game chess has arrived has declined your offer for a match has departed has lagged for 30 seconds invalid engine move: %s is censoring you is lagging heavily but hasn't disconnected is not installed is present min noplay listing you uses a formula not fitting your match request: where %(player)s plays %(color)s. with whom you have an adjourned %(timecontrol)s %(gametype)s game is online. would like to resume your adjourned %(time)s %(gametype)s game.%(black)s won the game%(color)s got a double pawn %(place)s%(color)s got an isolated pawn in the %(x)s file%(color)s got isolated pawns in the %(x)s files%(color)s got new double pawns %(place)s%(color)s has a new passed pawn on %(cord)s%(color)s moves a %(piece)s to %(cord)s%(counter)s game headers from %(filename)s imported%(minutes)d min + %(gain)d sec/move%(name)s %(minutes)d min %(duration)s%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s%(name)s %(minutes)d min / %(moves)d moves %(duration)s%(opcolor)s has a new trapped bishop on %(cord)s%(path)s containing %(count)s games%(player)s is %(status)s%(player)s plays %(color)s%(time)s for %(count)d moves%(white)s won the game%d min%s can no longer castle%s can no longer castle in kingside%s can no longer castle in queenside%s games processed%s moves pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent%s will identify what threats would exist if it were your opponent's turn to move%s will try to predict which move is best and which side has the advantage'%s' is a registered name. If it is yours, type the password.'%s' is not a registered name(Blitz)(Link is available on clipboard.)*-00 Players Ready0 of 00-11-01-minute1/2-1/210 min + 6 sec/move, White120015-minute2 min, Fischer Random, Black3-minute45-minute5 min5-minuteConnect to Online Chess ServerPromote pawn to what?PyChess was unable to load your panel settingsAnalyzingAnimationBoard StyleChess SetsChess VariantEnter Game NotationGeneral OptionsInitial PositionInstalled SidepanelsMove textName of _first human player:Name of s_econd human player:New version %s is available!Open GameOpen databaseOpening, endgameOpponent StrengthOptionsPlay Sound When...PlayersStart learningTime ControlWelcome screenYour Color_Connect to server_Start Game%s is not marked executable in the filesystemA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedError loading gameFile '%s' already exists.PyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to add %sUnable to save file '%s'Unknown file type '%s'Challenge:A game is made of an opening, a middle-game and an end-game. PyChess is able to train you thanks to its opening book, its supported chess engines and its training module.A player _checks:A player _moves:A player c_aptures:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortAbout ChessAc_tiveAcceptActivate alarm when _remaining sec is:Active color field must be one of w or b. %sActive seeks: %dAdd commentAdd evaluation symbolAdd from folderAdd move symbolAdd new filterAdd start commentAdd sub-fen filter from position/circlesAdd threatening variation lines Adding suggestions can help you find ideas, but slows down the computer's analysis.Additional tagsAddress ErrorAdjournAdjourned, history and journal games listAdminAdministratorAfghanistanAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbaniaAlgeriaAll Chess FilesAll the evaluationsAll whiteAmerican SamoaAn approximate position has been found. Do you want to display it ?Analysis by %sAnalyze black movesAnalyze from current positionAnalyze gameAnalyze white movesAnalyzer's primary variationAndorraAngolaAnguillaAnimate pieces, board rotation and more. Use this on fast machines.Annotated gameAnnotationAnnotatorAntarcticaAntigua and BarbudaAny strengthArchivedArgentinaArmeniaArubaAsian variantsAsk for permissionsAsk to _MoveAssessAsymmetric RandomAsymmetric Random AtomicAustraliaAustriaAuthorAuto Call _FlagAuto _promote to queenAuto _rotate board to current human playerAuto login on startupAuto-logoutAvailableAzerbaijanBB EloBack to main lineBackround image path :Bad moveBahamasBahrainBangladeshBarbadosBase path:Because %(black)s lost connection to the serverBecause %(black)s lost connection to the server and %(white)s requested adjournmentBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s king explodedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause %(mover)s stalematedBecause %(white)s lost connection to the serverBecause %(white)s lost connection to the server and %(black)s requested adjournmentBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause %(winner)s has fewer piecesBecause %(winner)s king reached the centerBecause %(winner)s king reached the eight rowBecause %(winner)s lost all piecesBecause %(winner)s was giving check 3 timesBecause %(winner)s wiped out white hordeBecause a player aborted the game. Either player can abort the game without the other's consent before the second move. No rating changes have occurred.Because a player disconnected and there are too few moves to warrant adjournment. No rating changes have occurred.Because a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both king reached the eight rowBecause both players agreed to a drawBecause both players agreed to abort the game. No rating changes have occurred.Because both players agreed to an adjournmentBecause both players have the same amount of piecesBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause of adjudication by an admin. No rating changes have occurred.Because of courtesy by a player. No rating changes have occurred.Because practice goal reachedBecause the %(black)s engine diedBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBecause the server was shut downBecause the server was shut down. No rating changes have occurred.BeepBelarusBelgiumBelizeBeninBermudaBestBest moveBhutanBishopBlackBlack ELO:Black O-OBlack O-O-OBlack has a new piece in outpost: %sBlack has a rather cramped positionBlack has a slightly cramped positionBlack have to capture all white pieces to win. White wants to checkmate as usual. White pawns on the first rank may move two squares, similar to pawns on the second rank.Black moveBlack should do pawn storm in leftBlack should do pawn storm in rightBlack side - Click to exchange the playersBlack:BlindFoldBlindfoldBlindfold AccountBlitzBlitz:Blitz: 5 minBolivia (Plurinational State of)Bonaire, Sint Eustatius and SabaBook depth max:Bosnia and HerzegovinaBotswanaBouvet IslandBrazilBringing your king legally to the center (e4, d4, e5, d5) instantly wins the game! Normal rules apply in other cases and checkmate also ends the game.British Indian Ocean TerritoryBrunei DarussalamBughouseBulgariaBulletBurkina FasoBurundiCCACMCabo VerdeCalculating...CambodiaCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCameroonCanadaCandidate MasterCapturedCastling availability field is not legal. %sCategory:Cayman IslandsCenter:Central African RepublicChadChallengeChallenge: Challenge: Change ToleranceChatChess AdvisorChess Alpha 2 DiagramChess Compositions from yacpdb.orgChess GameChess PositionChess ShoutChess clientChess960ChileChinaChoose a folderChristmas IslandClaim DrawClassic chess rules http://en.wikipedia.org/wiki/ChessClassic chess rules with all pieces white http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden figurines http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pawns http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pieces http://en.wikipedia.org/wiki/Blindfold_chessClassicalClassical: 3 min / 40 movesClearClockClose _without SavingCocos (Keeling) IslandsColombiaColorize analyzed movesCommand line interface to the chess serverCommand line parameters needed by the engineCommand line parameters needed by the runtime envCommand:CommentComment:CommentsComorosCompensationComputerComputersCongoCongo (the Democratic Republic of the)ConnectingConnecting to serverConnection ErrorConnection was closedConsoleContinueContinue to wait for opponent, or try to adjourn the game?Cook IslandsCool! Now let see how it goes in the main line.Copy FENCornerCosta RicaCould not save the fileCounterplayCountry of origin of the engineCountry:CrazyhouseCreate New Pgn DatabaseCreate New Polyglot Opening BookCreate Polyglot BookCreate SeekCreate a new databaseCreate new squence where listed conditions may be satisfied at different times in a gameCreate new streak sequence where listed conditions have to be satisfied in consecutive (half)movesCreate polyglot opening bookCreating .bin index file...Creating .scout index file...CroatiaCrushing advantageCubaCuraçaoCyprusCzechiaCôte d'IvoireDDMDark Squares :DatabaseDateDate/TimeDate:Decisive advantageDeclineDefaultDenmarkDestination Host UnreachableDetailed connection settingsDetailed settings of players, time control and chess variantDetect type automaticallyDetected enginesDevelopment advantageDiedDisplay MasterDjiboutiDo you know that a knight is better placed in the center of the board?Do you know that having two-colored bishops working together is very powerful?Do you know that it is possible to finish a chess game in just 2 turns?Do you know that moving the queen at the very beginning of a game does not offer any particular advantage?Do you know that the king can move across two cells under certain conditions? This is called castling.Do you know that the number of possible chess games exceeds the number of atoms in the Universe?Do you know that the rooks are generally engaged late in game?Do you know that you can help to translate PyChess into your language, Help > Translate PyChess.Do you really want to restore the default options of the engine ?Do you want to abort it?DominicaDominican RepublicDon't careDon't show this dialog on startup.Download linkDrawDraw:DrawishDue to abuse problems, guest connections have been prevented. You can still register on http://www.freechess.orgDummy AccountECOEcuadorEdit SeekEdit Seek: Edit commentEdit selected filterEffect on ratings by the possible outcomesEgyptEl SalvadorEloEmailEn passant cord is not legal. %sEn passant lineEndgame TableEndgamesEngine playing strength (1=weakest, 20=strongest)Engine scores are in units of pawns, from White's point of view. Double clicking on analysis lines you can insert them into Annotation panel as variations.EnginesEngines use uci or xboard communication protocol to talk to the GUI. If it can use both you can set here which one you like.Enter GameEnvironmentEquatorial GuineaEritreaError parsing %(mstr)sError parsing move %(moveno)s %(mstr)sEstimated duration : %(min)d - %(max)d minutesEstoniaEthiopiaEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventEvent:ExamineExamine Adjourned GameExaminedExaminingExcellent moveExecutable filesExpected format as "yyyy.mm.dd" with the allowed joker "?"Export positionExternalsFAFEN needs 6 data fields. %sFEN needs at least 2 data fields in fenstr. %sFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns * No castling * Black's arrangement mirrors white'sFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED * No castling * Black's arrangement DOES NOT mirrors white'sFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Pawns start on their 7th rank rather than their 2nd rank!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Pawns start on 4th and 5th ranks rather than 2nd and 7thFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html White pawns start on 5th rank and black pawns on the 4th rankFIDE ArbeiterFIDE MasterFMF_ull board animationFace _to Face display modeFalkland Islands [Malvinas]Faroe IslandsFijiFile existsFile nameFilterFilter game list by current game movesFilter game list by opening movesFilter game list by various conditionsFiltersFilters panel can filter game list by various conditionsFind postion in current databaseFingerFinlandFirst gamesFischer RandomFollowFont:For each player, the statistics provide the probability to win the game and the variation of your ELO if you lose / end into a tie / win, or simply the final ELO rating changeForced moveFrame:FranceFree comment about the engineFrench GuianaFrench PolynesiaFrench Southern TerritoriesFriendsFrom _Custom PositionFrom _Default Start PositionFrom _Game NotationGMGabonGain:GambiaGameGame ListGame analyzing in progress...Game cancelledGame informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Game shared at GamesGames running: %dGaviota TB path:Generally this means nothing, as the game is time-based, but if you want to please your opponent, perhaps you should get going.GeorgiaGermanyGhanaGibraltarGiveawayGo back to the main lineGo back to the parent lineGo onGood moveGrand MasterGreeceGreenlandGrenadaGridGuadeloupeGuamGuatemalaGuernseyGuestGuest logins disabled by FICS serverGuestsGuided interactive lessons in "guess the move" styleGuineaGuinea-BissauGuyanaHHTML parsingHaitiHalfmove clockHandle seeks and challengesHandle seeks on graphical wayHeaderHeard Island and McDonald IslandsHidden pawnsHidden piecesHideHintHintsHoly SeeHondurasHong KongHordeHost:How to PlayHtml DiagramHuman BeingHungaryICC giveaway: https://www.chessclub.com/user/help/GiveawayICC lag compensation needs timestampICSIMIcelandIdIdentificationIdleIf set you can refuse players accepting your seekIf set, FICS game numbers in tab labels next to player names are shown.If set, PyChess will colorize suboptimal analyzed moves with red.If set, PyChess will show game results for different moves in positions containing 6 or less pieces. It will search positions from http://www.k4it.de/If set, PyChess will show game results for different moves in positions containing 6 or less pieces. You can download tablebase files from: http://www.olympuschess.com/egtb/gaviota/If set, PyChess will suggest best opening moves on hint panel.If set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, clicking on main application window closer first time it closes all games.If set, pawn promotes to queen without promotion dialog selection.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the captured figurines will be shown next to the board.If set, the elapsed time that a player used for the move is shown.If set, the hint analyzer engine evaluation value is shown.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If the analyzer finds a move where the evaluation difference (the difference between the evaluation for the move it thinks is the best move and the evaluation for the move made in the game) exceeds this value, it will add an annotation for that move (consisting of the engine's Principal Variation for the move) to the Annotation panelIf you don't save, new changes to your games will be permanently lost.Ignore colorsIllegalImagesImbalanceImportImport PGN fileImport annotated games from endgame.nlImport chessfileImport games from theweekinchess.comImporting game headers...In TournamentIn this game, check is entirely forbidden: not only is it forbidden to move ones king into check, but it is also forbidden to check the opponents king. The purpose of the game is to be the first player that moves his king to the eight row. When white moves their king to the eight row, and black moves directly after that also their king to the last row, the game is a draw (this rule is to compensate for the advantage of white that they may move first.) Apart from the above, pieces move and capture precisely as in normal chess.In this position, there is no legal move.Indent _PGN fileIndiaIndonesiaInfinite analysisInfoInitial positionInitial setupInitiativeInteresting moveInternational MasterInvalid move.Iran (Islamic Republic of)IraqIrelandIsle of ManIsraelIt is not possible later to continue the game, if you don't save it.ItalyJamaicaJapanJerseyJordanJump to initial positionJump to latest positionKKazakhstanKenyaKingKing of the hillKiribatiKnightKnight oddsKnightsKorea (the Democratic People's Republic of)Korea (the Republic of)KuwaitKyrgyzstanLag:Lao People's Democratic RepublicLatviaLearnLeave _FullscreenLebanonLecturesLengthLesothoLessonsLevel 1 is the weakest and level 20 is the strongest. You may not define a too high level if the engine is based on the depth to exploreLiberiaLibyaLichess practice studies Puzzles from GM games and Chess compositionsLiechtensteinLight Squares :LightningLightning:List of ongoing gamesList of playersList of server channelsList of server newsLithuaniaLoad Re_mote GameLoad _Recent GameLoad a remote gameLoading player dataLocal EventLocal SiteLog OffLog on ErrorLog on as _GuestLogging on to serverLosersLossLoss:LuxembourgMacaoMacedonia (the former Yugoslav Republic of)MadagascarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMalawiMalaysiaMaldivesMaliMaltaMamer ManagerManage enginesManualManual AcceptManually accept opponentMarshall IslandsMartiniqueMateMate in %dMaterial/moveMauritaniaMauritiusMaximum analysis time in seconds:MayotteMexicoMicronesia (Federated States of)Minutes:Minutes: Moderate advantageMoldova (the Republic of)MonacoMongoliaMontenegroMontserratMore channelsMore playersMoroccoMoveMove HistoryMove numberMovedMoves:MozambiqueMyanmarNNMNameNames: #n1, #n2NamibiaNational MasterNauruNeedNeeds 7 slashes in piece placement field. %sNepalNetherlandsNever use animation. Use this on slow machines.NewNew CaledoniaNew GameNew RD:New ZealandNew _DatabaseNew game from 1-minute playing poolNew game from 15-minute playing poolNew game from 25-minute playing poolNew game from 3-minute playing poolNew game from 5-minute playing poolNew game from Chess960 playing poolNewsNextNext gamesNicaraguaNigerNigeriaNiueNo _animationNo chess engines (computer players) are participating in this game.No conversation's selectedNo database is currently opened.No soundNo time controlNorfolk IslandNormalNormal: 40 min + 15 sec/moveNorthern Mariana IslandsNorwayNot AvailableNot a capture (quiet) moveNot the best move!ObserveObserve %sObserved _ends:ObserversOddsOffer A_bortOffer AbortOffer Ad_journmentOffer PauseOffer RematchOffer ResumeOffer UndoOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOmanOn FICS, your "Wild" rating encompasses all of the following variants at all time controls: One player starts with one less knight pieceOne player starts with one less pawn pieceOne player starts with one less queen pieceOne player starts with one less rook pieceOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpenOpen GameOpen Sound FileOpen chess fileOpening BookOpening booksOpening chessfile...OpeningsOpenings panel can filter game list by opening movesOpponent RatingOpponent's strength: OptionOptionsOtherOther (non standard rules)Other (standard rules)PPakistanPalauPalestine, State ofPanamaPapua New GuineaParaguayParameters:Paste FENPaste the link to download:PatternPausePawnPawn oddsPawns PassedPawns PushedPeruPhilippinesPick a datePingPitcairnPlacementPlayPlay Fischer Random chessPlay Losers chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer ListPlayer _RatingPlayers:Players: %dPlayingPng imagePo_rts:PolandPolyglot book file:PortugalPractice endgames with computerPre-chess: https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_positionPre_viewPrefer figures in _notationPreferencesPreferred level:Preparing to start import...PreviewPreview panel can filter game list by current game movesPrevious gamesPrivateProbably because it has been withdrawn.ProgressPromotionProtocol:Puerto RicoPuzzlesPyChess - Connect to Internet ChessPyChess Information WindowPyChess has lost connection to the engine, probably because it has died. You can try to start a new game with the engine, or try to play against another one.PyChess is an open-source chess application that can be enhanced by any chess enthusiasts: bug reports, source code, documentation, translations, feature requests, user assistance... Let's get in touch at http://www.pychess.orgPyChess supports a wide range of chess engines, variants, Internet servers and lessons. It is a perfect desktop application to increase your chess skills very conveniently.PyChess.py:QQatarQueenQueen oddsQuit LearningQuit PyChessRR_esignRacing KingsRandomRapidRapid: 15 min + 10 sec/moveRatedRated gameRatingRating change:Reading %s ...Receiving list of playersRecreating indexes...RefreshRegisteredRemoveRemove selected filterRequest ContinuationResendResend %s?Reset ColoursReset my progressRestore the default optionsResultResult:ResumeRetryRomaniaRookRook oddsRotate the boardRoundRound:Running Simul MatchRuntime env command:Runtime env parameters:Runtime environment of engine command (wine or node)Russian FederationRwandaRéunionSRS_ign upSaint BarthélemySaint Helena, Ascension and Tristan da CunhaSaint Kitts and NevisSaint LuciaSaint Martin (French part)Saint Pierre and MiquelonSaint Vincent and the GrenadinesSamoaSan MarinoSanctionsSao Tome and PrincipeSaudi ArabiaSaveSave GameSave Game _AsSave _own games onlySave _rating change valuesSave analyzing engine _evaluation valuesSave arrows/circlesSave asSave database asSave elapsed move _timesSave files to:Save moves before closing?Save the current game before you close it?Save to PGN file as...ScoreScoutSearch:Seek GraphSeek _GraphSeek updatedSeeks / ChallengesSelect Gaviota TB pathSelect a pgn or epd or fen chess fileSelect auto save pathSelect background image fileSelect book fileSelect engineSelect sound file...Select the games you want to save:Select working directorySend ChallengeSend all seeksSend seekSenegalSeqSequenceSerbiaServer:Service RepresentativeSetting up environmentSetup PositionSeychellesShare _GameSho_w cordsShort on _time:Should %s publicly publish your game as PGN on chesspastebin.com ?ShoutShow FICS game numbers in tab labelsShow _captured piecesShow elapsed move timesShow evaluation valuesShow tips at startupShredderLinuxChess:ShuffleSide to moveSide_panelsSierra LeoneSimple Chess PositionSingaporeSint Maarten (Dutch part)SiteSite:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinSlight advantageSlovakiaSloveniaSolomon IslandsSomaliaSome of PyChess features needs your permission to download external programsSorry '%s' is already logged inSound filesSourceSouth AfricaSouth Georgia and the South Sandwich IslandsSouth SudanSp_y arrowSpainSpentSri LankaStandardStandard:Start Private ChatStatusStep back one moveStep forward one moveStrStreakStudy FICS lectures offlineSub-FEN :SudanSuicideSurinameSuspicious moveSvalbard and Jan MayenSwazilandSwedenSwitzerlandSymbolsSyrian Arab RepublicTTDTMTagTaiwan (Province of China)TajikistanTalkingTanzania, United Republic ofTeam AccountText DiagramTexture:ThailandThe abort offerThe adjourn offerThe analyzer will run in the background and analyze the game. This is necessary for the hint mode to workThe chain button is disabled because you are logged in as a guest. Guests can't establish ratings, and the chain button's state has no effect when there is no rating to which to tie "Opponent Strength" toThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe current game is not terminated. Its export may have a limited interest.The current game is over. First, please verify the properties of the game.The directory where the engine will be started from.The displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe endgame table will show exact analysis when there are few pieces on the board.The engine %s reports an error:The engine is already installed under the same nameThe engine output panel shows the thinking output of chess engines (computer players) during a gameThe entered password was invalid. If you forgot your password, go to http://www.freechess.org/password to request a new one over email.The error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The flag callThe game can't be loaded, because of an error parsing FENThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe hint panel will provide computer advice during each stage of the gameThe inverse analyzer will analyze the game as if your opponent was to move. This is necessary for the spy mode to workThe level 20 gives a full autonomy to the chess engine in managing its own time during the game.The move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe position does not exist in the database.The provided link does not lead to a meaningful chess content.The reason is unknownThe releases of PyChess hold the name of historical world chess champions. Do you know the name of the current world chess champion?The resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe takeback offerThebanThemesThere is %d game with unsaved moves.There are %d games with unsaved moves.There is something wrong with this executableThis game can be automatically aborted without rating loss because there has not yet been two moves madeThis game can not be adjourned because one or both players are guestsThis is a continuation of an adjourned matchThis option is not applicable because you're challenging a playerThis option is not available because you're challenging a guest, Threat analysis by %sThree-checkTimeTime controlTime control: Time pressureTimor-LesteTip Of The dayTip of the DayTitleTitledTo save a game Game > Save Game As, give the filename and choose where you want to be saved. At the bottom choose extension type of the file, and Save.TogoTokelauTolerance:TongaTournament DirectorTranslate PyChessTrinidad and TobagoTry chmod a+x %sTunisiaTurkeyTurkmenistanTurks and Caicos IslandsTuvaluTypeType or paste PGN game or FEN positions hereUUgandaUkraineUnable to accept %sUnable to save to configured file. Save the games before closing?Unable to save to configured file. Save the current game before you close it?Unclear positionUndescribed panelUndoUndo one moveUndo two movesUninstallUnited Arab EmiratesUnited Kingdom of Great Britain and Northern IrelandUnited States Minor Outlying IslandsUnited States of AmericaUnknownUnknown game stateUnofficial channel %dUnratedUnregisteredUnticked : the exponential stretching displays the full range of the score and enlarges the values around the null average. Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better.UntimedUpside DownUruguayUse _analyzerUse _inverted analyzerUse _local tablebasesUse _online tablebasesUse a linear scale for the scoreUse analyzer:Use name format:Use opening _bookUse time compensationUsed by engine players and polyglot book creatorUzbekistanValueVanuatuVariantVariant developed by Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Variation annotation creation threshold in centipawns:Various techniquesVenezuela (Bolivarian Republic of)Very bad moveViet NamView lectures, solve puzzles or start practicing endgamesVirgin Islands (British)Virgin Islands (U.S.)W EloWFMWGMWIMWaitWallis and FutunaWarning: this option generates a formatted .pgn file which is not standards complientWas unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.WelcomeWell done!Well done! %s completed.Western SaharaWhen this button is in the "locked" state, the relationship between "Opponent's strength" and "Your strength" will be preserved when a) your rating for the type of game sought has changed b) you change the variant or the time controlWhiteWhite ELO:White O-OWhite O-O-OWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite has a slightly cramped positionWhite moveWhite should do pawn storm in leftWhite should do pawn storm in rightWhite side - Click to exchange the playersWhite:WildWildcastleWildcastle shuffleWinWin by giving check 3 timesWin:Winning %With attackWoman FIDE MasterWoman Grand MasterWoman International MasterWorking directory:Year, month, day: #y, #m, #dYemenYou are currently logged in as a guest but there is a completely free trial for 30 days, and beyond that, there is no charge and the account would remain active with the ability to play games. (With some restrictions. For example, no premium videos, some limitations in channels, and so on.) To register an account, go to You are currently logged in as a guest. A guest can't play rated games and therefore isn't able to play as many of the types of matches offered as a registered user. To register an account, go to You asked your opponent to moveYou can choose from 20 different difficulties to play against the computer. It will mainly affect the available time to think.You can start a new game by Game > New Game, then choose the Players, Time Control and Chess Variants.You can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou can't select a variant because "Untimed" is checked, You can't switch colors during the game.You can't touch this! You are examining a game.You don't have the necessary rights to save the file. Please ensure that you have given the right path and try again.You have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou have to set kibitz on to see bot messages here.You have tried to undo too many moves.You have unsaved changes. Do you want to save before leaving?You may only have 3 outstanding seeks at the same time. If you want to add a new seek you must clear your currently active seeks. Clear your seeks?You sent a draw offerYou sent a pause offerYou sent a resume offerYou sent an abort offerYou sent an adjournment offerYou sent an undo offerYou sent flag callYou will lose all your progress data!Your opponent asks you to hurry!Your opponent has asked that the game be aborted. If you accept this offer, the game will end with no rating change.Your opponent has asked that the game be adjourned. If you accept this offer, the game will be adjourned and you can resume it later (when your opponent is online and both players agree to resume).Your opponent has asked that the game be paused. If you accept this offer, the game clock will be paused until both players agree to resume the game.Your opponent has asked that the game be resumed. If you accept this offer, the game clock will continue from where it was paused.Your opponent has asked that the last %s move(s) be undone. If you accept this offer, the game will continue from the earlier position.Your opponent has offered you a draw.Your opponent has offered you a draw. If you accept this offer, the game will end with a score of 1/2 - 1/2.Your opponent is not out of time.Your opponent must agree to abort the game because there has been two or more moves madeYour opponent seems to have changed their mind.Your opponent wants to abort the game.Your opponent wants to adjourn the game.Your opponent wants to pause the game.Your opponent wants to resume the game.Your opponent wants to undo %s move(s).Your panel settings have been reset. If this problem repeats, you should report it to the developersYour seeks have been removedYour strength: Your turn.ZambiaZimbabweZugzwang_Accept_Actions_Analyze Game_Archived_Auto save finished games to .pgn file_Call Flag_Clear Seeks_Copy FEN_Copy PGN_Decline_Edit_Engines_Export Position_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hint arrow_Hints_Invalid move:_Load Game_Log Viewer_My games_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Puzzle success:_Recent:_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Untimed_Use main app closer [x] to close all games_Use sounds in PyChess_Variation choices:_View_Your Color:andand guests can't play rated gamesand on FICS, untimed games can't be ratedand on FICS, untimed games have to be normal chess rulesask your opponent to moveblackbrings a %(piece)s closer to enemy king: %(cord)sbrings a pawn closer to the backrow: %scall your opponents flagcaptures materialcastlesdatabase opening tree needs chess_dbdatabase querying needs scoutfishdefends %sdevelops a %(piece)s: %(cord)sdevelops a pawn: %sdrawsexchanges materialgnuchess:half-openhttp://brainking.com/en/GameRules?tp=2 * Placement of the pieces on the 1st and 8th row are randomized * The king is in the right hand corner * Bishops must start on opposite color squares * Black's starting position is obtained by rotating white's position 180 degrees around the board's center * No castlinghttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyin the %(x)s%(y)s filein the %(x)s%(y)s filesincreases the pressure on %sinvalid promoted piecelessonslichessmatesminminsmovemoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %snot playingofoffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalotherspawn capture without target piece is invalidpins an enemy %(oppiece)s on the %(piece)s at %(cord)splaces a %(piece)s more active: %(cord)spromotes a Pawn to a %sputs opponent in checkrating range nowrescues a %sresignround %ssacrifices materialsecsecsslightly improves king safetytakes back materialthe captured cord (%s) is incorrectthe end cord (%s) is incorrectthe move needs a piece and a cordthreatens to win material by %sto automatic acceptto manual acceptucivs.whitewindow1wtharveyxboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Random arrangement of the pieces behind the pawns * No castling * Black's arrangement mirrors white'sxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * White has the typical set-up at the start. * Black's pieces are the same, except that the King and Queen are reversed, * so they are not on the same files as White's King and Queen. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * In this variant both sides have the same set of pieces as in normal chess. * The white king starts on d1 or e1 and the black king starts on d8 or e8, * and the rooks are in their usual positions. * Bishops are always on opposite colors. * Subject to these constraints the position of the pieces on their first ranks is random. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.yacpdbÅland IslandsProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 20:12+0000 Last-Translator: gbtami Language-Team: Hungarian (http://www.transifex.com/gbtami/pychess/language/hu/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: hu Plural-Forms: nplurals=2; plural=(n != 1); Jóváírás: + %d mp kihív téged egy %(time)s %(rated)s %(gametype)s játszmára. sakkmegérkezettvisszautasította a játszma ajánlatodattávozottkapcsolata 30 másodperce késlekedik.Érvénytelen lépés: %scensor listáján szerepelszkapcsolata erősen késlekedik, de nem szakadt meg.nincs telepítvejelen van percnoplay listáján szerepelsza kihívásoddal nem összeegyeztethető formulát használ: ahol %(player)s játszik mint %(color)s.akivel van egy elhalasztott %(timecontrol)s %(gametype)s játszmád, elérhető.szeretné folytatni az elhalasztott %(time)s %(gametype)s játszmádat.%(black)s győzött.%(color)s dupla gyalogot hozott létre a %(place)s%(color)s izolált gyalogot hozott létre a(z) %(x)s vonalon%(color)s izolált gyalogokat hozott létre a(z) %(x)s vonalakon%(color)s új dupla gyalogot hozott létre a(z) %(place)s%(color)s új szabad gyalogot hozott létre: %(cord)s%(color)s %(piece)s lép: %(cord)s%(counter)s játszma fejléc importálva ebből: %(filename)s%(minutes)d perc + %(gain)d mp/lépés%(name)s %(minutes)d perc %(duration)s%(name)s %(minutes)d perc %(sign)s %(gain)d másodperc/lépés %(duration)s%(name)s %(minutes)d perc / %(moves)d lépés %(duration)s%(opcolor)s futója csapdába esett: %(cord)s%(path)s %(count)s játszma%(player)s most %(status)s%(player)s játszik mint %(color)s%(time)s perc / %(count)d lépés%(white)s győzött.%d perc%s ezután már nem sáncolhat%s ezután már nem sáncolhat a rövid oldalra%s ezután már nem sáncolhat a hosszú oldalra%s játszma feldolgozva%s kőfal formába mozgatja a gyalogjait%s hibát adott vissza%s elutasítva az ellenfél által%s visszavonva az ellenfél által%s megpróbálja megállapítani, hogy mi fenyegetne, ha az ellenfél következne lépésre.%s megpróbálja megállapítani a legjobb lépést és hogy melyik oldal áll jobban.'%s' egy regisztrált név. Amennyiben a tied, add meg a jelszavad.A(z) '%s' nem regisztrált név.(Schnell)(a hivatkozás elérhető a vágólapon)*-00 játékos0/00-11-01 perces1/2-1/210 perc + 6 mp/lépés, Világos120015 perces2 perc, Fischer Random, Sötét3 perces45 perces5 perc5 percesKapcsolódás sakk szerverhezMire változzon a gyalog?A PyChess nem tudta menteni a játszmát.ElemzésAnimálásTábla stílusSakk készletekSakkvariánsokJátszma beírásaEgyébKezdőállásTelepített oldalpanelekElemzés szövegeElső játékos:Második játékos:Újabb PyChess verzió %s elérhető!Játszma megnyitásaAdatbázis megnyitásaMegnyitás, végjátékEllenfél erősségeBeállításokHang lejátszása ekkor...JátékosokTanulás megkezdéseIdőkontrollNyitó képernyőSzín:Kapcsolódás a szerverhezJátszma indítása%s nincs végrehajthatónak beállítva a fájlrendszerbenA '%s' fájl már létezik. Fölül akarja írni?A(z) %s sakkmotor leállt.Hiba a játszma betöltése közbenA fájl '%s' már létezik.Kis türelmet, a PyChess telepített sakkmotorokat keres.A PyChess nem tudta menteni a játszmát.%d játszma még nincs mentve. Mentsem őket?Nem lehet hozzáadni ezt: %sNem lehet menteni a '%s' fájltIsmeretlen fájltípus '%s'Kihívás:Egy sakk játszma megnyitásból, középjátékból és végjátékból áll. A PyChess a játék mindhárom fázisának tanulásához segítséget nyújt._Sakkadás:_Lépés:_Ütés:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc_MegszakítA sakkrólAktívElfogad_Riasztás ha a hátralévő idő (másodpercben):Az aktív szín jelzésére csak w és b használható. %sAktív keresés: %dMegjegyzés hozzáadásaÁllás minősítéseHozzáadás mappábólLépés minősítéseÚjKezdő megjegyzésRész-fen szűrő hozzáadása állás/körök alapjánFenyegetés variációk hozzáadásaTovábbi javaslatok hozzáadása segíthet ötleteket meríteni, de lassítja a számítógépes elemzést.További adatokCím hibaElhalasztásElhalasztott, múltbeli és naplózott játszmák listájaRendszergazdaAdminisztrátorAfghanistanAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbaniaAlgeriaMinden sakkfájlAz össze értékelésEgyszínű figurákAmerican SamoaCsak hasonló pozíció(k) találhatók. Meg akarja nézni?%s elemzéseSötét lépéseinek elemzéseElemzés az aktuális állástólJátszma gépi elemzéseVilágos lépéseinek elemzéseAz elemző elsődleges változata (PV)AndorraAngolaAnguillaTáblaforgatás és lépések esetén is animál. Gyors gépeken ajánlott. Elemzett játszmaElemzésElemzőAntarcticaAntigua and BarbudaTetszőleges erősségArchívArgentinaArmeniaArubaÁzsiai változatokEngedély kérése_Azonnali lépés kéréseÉrtékszám változás (assess)Aszimmetrikus kevertAszimmetrikus kevertAtomAustraliaAustriaSzerzőIdőtúllépés automatikus bejelentéseAutomatikus átváltozás vezérre_Automatikus táblaforgatás a lépésre következő játékos feléAutomatikus belépés induláskorAutomatikus kijelentkezésElérhetőAzerbaijanFS ÉlőVissza a fő változatbaHáttérkép útvonala:Rossz lépésBahamasBahrainBangladeshBarbadosÚtvonal:%(black)s kapcsolata megszakadt a szerverrel.%(black)s kapcsolata megszakadt és %(white)s a játszma elhalasztását kérte.%(black)s túllépte az időt, de %(white)s oldalán sincs elég mattadó anyag.%(loser)s kapcsolata megszakadt.%(loser)s királya megsemmisült.%(loser)s túllépte az időt.%(loser)s feladta.%(loser)s mattot kapott.%(mover)s pattba lépett.%(white)s kapcsolata megszakadt a szerverrel.%(white)s kapcsolata megszakadt és %(black)s a játszma elhalasztását kérte.%(white)s túllépte az időt, és %(black)s oldalán nincs elég mattadó anyag.%(winner)s kevesebb figurával rendelkezik.%(winner)s királya elérte a centrumot.Mert a %(winner)s király elérte a nyolcadik sort%(winner)s minden figuráját leütötték.%(winner)s harmadszor adott sakkot.Mivel %(winner)s eltakarította a világos hordátAz egyik játékos megszakította a játszmát. Mindkét fél büntetlenül megszakíthatja a játszmát a második lépés előtt. Az értékszámok nem változtak.Az egyik játékos kijelentkezett, és a játszma elhalasztásához még túl kevés lépés történt. Az értékszámok nem változtak.A játékos kapcsolata megszakadt.A kapcsolat megszakadt és az ellenfél elhalasztást kért.Mindkét király elérte a nyolcadik sort.A játékosok megegyeztek adöntetlenben.Mindkét játékos beleegyezett a megszakításba. Az értékszámok nem változtak.Mindkét játékos beleegyezett az elhalasztásba.Mindkét félnek azonos számú figurája maradt.Mindkét fél túllépte az időt.Egyik félnek sincs elég mattadó anyaga.Egy adminisztrátor döntése.Adminisztrátori döntés. Az értékszámok nem változtak.A játékos szívessége miatt. Az értékszámok nem változtak.A kitűzött feladat teljesítve.A %(black)s sakkmotor leállt.A %(white)s sakkmotor leállt.A kapcsolat megszakadt a szerverrel.Túl hosszú játszma.50 lépéses szabály.Háromszori állásismétlés.A szerver leállt.A szerver leállt. Az értékszámok nem változtak.CsipogásBelarusBelgiumBelizeBeninBermudaLegmagasabbLegjobb lépésBhutanfutóSötétSötét ELO:Sötét O-OSötét O-O-OSötétnek új előörse van: %sSötét állása meglehetősen kényelmetlenSötét állása meglehetősen kényelmetlenSötét le kell üsse az összes világos figurát hogy győzzön. Világosnak mattolnia kell, ahogy szokásos. Világos oldalán az első soron álló gyalogok a második soron állókhoz hasonlóan kettőt is léphetnek előre.Sötét lépéseSötét gyalogrohamot indíthatna a bal oldalonSötét gyalogrohamot indíthatna a jobb oldalonSötét - Kattintással a játékosok felcserélhetőkSötét:VaksakkVakVakSchnellSchnellSchnell :5 percBolivia (Plurinational State of)Bonaire, Sint Eustatius and SabaA megnyitástár maximális mélysége:Bosnia and HerzegovinaBotswanaBouvet IslandBrazilAki a királyával a centrumba lép, győz. Egyébként a normál szabályok érvényesek, a mattadás szabályai is.British Indian Ocean TerritoryBrunei DarussalamTandemBulgariaVillámBurkina FasoBurundiCCACMCabo VerdeSzámolás...CambodiaCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCameroonCanadaMesterjelöltÜtöttA sáncolás lehetőségeit leíró mező szabálytalan. %sKategória:Cayman IslandsKözép:Central African RepublicChadKihívásKihívás: Kihívás: EltérésCsevegésTanácsadóAlfa 2 diagramSakk kompozíciók a yacpdb.org-rólSakkjátszmaÁllásSakk bekiabálásSakkprogramFischer randomChileChinaVálassz ki egy mappátChristmas IslandDöntetlen igényléseKlasszikus sakk szabályok http://en.wikipedia.org/wiki/ChessKlasszikus sakk szabályok csak világos figurákkal http://en.wikipedia.org/wiki/Blindfold_chessKlasszikus sakk szabályok láthatatlan figurákkal http://en.wikipedia.org/wiki/Blindfold_chessKlasszikus sakk szabályok láthatatlan gyalogokkal http://en.wikipedia.org/wiki/Blindfold_chessKlasszikus sakk szabályok láthatatlan tisztekkel http://en.wikipedia.org/wiki/Blindfold_chessKlasszikusKlasszikus: 3 perc / 40 lépésTörlésIdőBezárás mentés nélkülCocos (Keeling) IslandsColombiaElemzett lépések színezéseA sakk szerver parancssoros felületeA sakkprogram parancssori paramétereiA futtató környezet parancssori paraméterei:Parancs:MegjegyzésMegjegyzés:MegjegyzésekComorosKompenzációSzámítógépSzámítógépCongoCongo (the Democratic Republic of the)KapcsolódásKapcsolódási a szerverhezKapcsolódási hibaA kapcsolatot lezártákKonzolFolytatásTovább várakozol az ellenfélre vagy megpróbálod elhalasztani a játszmát?Cook IslandsKitűnő! Most nézzük hogyan tovább a fő változatban.FEN másolásaSarokCosta RicaNem lehet menteni a fájlt.EllentámadásA program készítőjének országa.Ország:VisszarakósÚj PGN adatbázis lérehozásaÚj Polyglot megnyitás fájl készítésePolyglot fájl készítéseKeresésÚj adatbázis létrehozásaÚj feltétel sorozatot hoz létre, melynek egyes feltételei a játszma nem feltétlenül egymás után közvetlenül következő állásaiban teljesülnekOlyan új feltétel sorozatot hoz létre, melynek egyes feltételei a játszma egymás után közvetlenül következő állásaiban teljesülnekPolyglot megnyitás fájl készítése.bin index készítése....scout index készítése...CroatiaMegsemmisítő előnyCubaCuraçaoCyprusCzechiaCôte d'IvoireDDMSötét mezők:AdatbázisDátumDátum/IdőDátum:Döntő előnyElutasítAlapértelmezettDenmarkA cél gép nem érhető elRészletes kapcsolódás beállításokRészletes beállítása (játékosok, idő, sakk variánsok)Automatikus típusdetektálásSakkprogramok kereséseFejlődési előnyVégeKépernyő mesterDjiboutiTudtad, hogy a huszárt általában jobb a tála közepén elhelyezni, mint a széleken, vagy a sarkokban?Tudtad, hogy a futópár különösen erős lehet?Tudtad, hogy egy játszmát akár kétlépéses mattal is meg lehet nyerni?Tudtad, hogy a korai vezérlépések általában nem ajánlatosak?Tudtad, hogy a király bizonyos feltételek esetén két mezőt is léphet? Ezt hívják sáncolásnak!Tudtad, hogy a lehetséges sakkjátszmák száma meghaladja az univerzum atomjainak számát?Tudtad, hogy a bástyák általában később avatkoznak a játékba?Te is segíthetsz a PyChess fordításában a transifex.com-on.Valóban visszaállítsam az alapértelmezett értékeket?Meg akarod szakítani?DominicaDominican RepublicMindegyNe jelenjen meg ez a dialógus induláskor.Letöltés linkjeDöntetlenDöntetlen:DöntetlenVisszaélési problémák miatt jelenleg a vendég(guest) kapcsolatok nincsenek engedélyezve. Regisztráció itt lehetséges: http://www.freechess.orgÜres felhasználóECOEcuadorKeresésKeresés: Megjegyzés szerkesztéseSzerkesztésA játszma kimenetelének hatása az értékszámokraEgyptEl SalvadorEloE-mailAz en-passant leíró mező szabálytalan. %sEn passant vonalVégjáték adatbázisVégjátékokJátékerő (1=leggyengébb, 20=legerősebb)A sakkprogram állásértékelése egységnyi gyalog mértékben számolva, világos szemszögéből. A dupla kattintás a lépés sort az elemzés ablakba másolja új variációként.Sakkmotorok kimeneteiA sakkmotorok UCI vagy Xboard protokoll használatával kommunikálnak a felhasználói felülettel. Amennyiben mindkettő támogatott, itt választható ki, hogy melyiket használja az adott sakkmotor.Játszma rögzítéseKörnyezetEquatorial GuineaEritreaHiba ebben: %(mstr)sHibás lépés: %(moveno)s %(mstr)sBecsült időtartam : %(min)d - %(max)d percEstoniaEthiopiaEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEseményEsemény:VégigjátszásElhalasztott játszma lejátszásaLejátszottVégrehajtásKitűnő lépésFuttatható fájlokAz elvárt forma "yyyy.mm.dd". Megengedett jokerként a "?"Állás exportálásaKülső programokFAEgy FEN állásban pontosan 6 adatmezőt kell megadni. %sEgy FEN állásban legalább 2 adatmezőt meg kell adni. %sFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Véletlenszerűen választott figurák (két királynő vagy három bástya is lehet) * Minkét oldalon pontosan egy király * A tisztek a gyalogok mögött véletlenszerűen elhelyezve, * Nincs sáncolás * Sötét elrendezése a világos tükörképeFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Véletlenszerűen választott figurák (két királynő vagy három bástya is lehet) * Minkét oldalon pontosan egy király * A tisztek a gyalogok mögött véletlenszerűen elhelyezve, de a futók szín szerint kiegyensúlyozottan * Nincs sáncolás * Sötét elrendezése nem a világos tükörképeFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions A gyalogok a 2. és a 7. helyett a 7. és a 2. sorról indulnak!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html A gyalogok a 4. és 5. sorról indulnak a 2. és 7. helyett.FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html A világos gyalogok az 5. sorról, a sötét gyalogok a 4. sorról indulnak!FIDE bíróFIDE mesterFM_Tábla és a lépésekFigurák szemtől szembenFalkland Islands [Malvinas]Faroe IslandsFijiA fájl már létezik.FájlnévSzűrőA játszma lista szűrése az aktuális játszma lépései alapjánA játszma lista szűrése megnyitások alapjánA játszma lista szűrése különböző feltételek alapjánSzűrőkA szűrő panel használatával a játszma lista változatos módokon szűrhető.Állás keresése az aktuális adatbázisbanInformációk (finger)FinlandA legelső játszmákFischer randomKövetés (follow)Betűtípus:A győzelem valószínűsége, a játékos ELO pontjának változása vereség/döntetlen/győzelem esetén, vagy egyszerűen csak az ELO változása.Kikényszerített lépésKeret:FranceA sakkprogrammal kapcsolatos tetszőleges szövegFrench GuianaFrench PolynesiaFrench Southern TerritoriesBarátokEgyedi pozíícióbólAlapállásbólJátszmaleírásbólGMGabonJóváírás:GambiaJátszmaJátszmákGépi elemzés folyamatban...Játszma megszakítva.Játszma információk_Döntetlen:_Vereség:_Kezdőállás:_Győzelem:A játszma megosztva itt:JátszmákFolyamatban lévő játszma: %dVégjáték adatbázis útvonal:Általában ez nem jelent semmi különöset, mivel a játszma időkontroll alatt folyik, de ha kedves akarsz lenni hozzá, léphetsz gyorsabban is.GeorgiaGermanyGhanaGibraltarGiveawayVissza a fő vátozathozVissza a szülő variációbaTovább!Jó lépésNagymesterGreeceGreenlandGrenadaRácsGuadeloupeGuamGuatemalaGuernseyVendégA FICS szerver nem engedélyezi a Guest (vendég) belépést.VendégInteraktív leckék "találd ki a következő lépést" stílusbanGuineaGuinea-BissauGuyanaHHTML elemzéseHaitiFéllépés számlálóKeresések és kihívások listájaKeresések és kihívások grafikusanFejlécHeard Island and McDonald IslandsLáthatatlan gyalogokLáthatatlan tisztekElrejtJavaslatJavaslatHoly SeeHondurasHong KongHordaHoszt:Hogyan játsszunkHtml diagramEmberHungaryICC giveaway: https://www.chessclub.com/user/help/GiveawayAz ICC lag detektálásához szükséges a timestamp programICSIMIcelandIdAzonosító adatokTétlenHa be van jelölve, visszautasíthatod az elfogadott kereséseket.Ha be van jelölve, a FICS játszma azonosítók megjelennek a játékosok nevei után a játszma füleken.Ha be van jelölve, akkor a kevésbé jó lépéseket pirossal színezi.Ha be van állítva, akkor a PyChess a 6, vagy kevesebb figurát tartalmazó állások esetén megmutatja a különböző lépések kimenetelét. A végjáték állásokat innen keresi ki: http://www.k4it.de/Ha be van állítva, akkor a PyChess a 6, vagy kevesebb figurát tartalmazó állások esetén megmutatja a különböző lépések kimenetelét. A végjáték adatbázis fájljai letölthetők innen: http://www.olympuschess.com/egtb/gaviota/Ha be van jelölve, akkor a PyChess megmutatja a legjobb megnyitási lépéseket a javaslat panelen.Ha be van jelölve, akkor a játszmalapon betűk helyett a figurák jeleit használja.Ha be van jelölve, a fő ablak bezáró ikonjára először kattintva az bezárja az összes játszmát.Ha be van jelölve, akkor a gyalog a kiválasztó dialógus ablak megjelenése nélkül automatikusan vezérré változik.Ha be van jelölve, akkor a sötét figurák fejjel lefele látszanak. Mobil eszközökhöz ajánlott beállítás.Ha be van jelölve, akkor minden lépés után a táblát elforgatja a lépésre következő játékos felé.Ha be van jelölve, akkor a leütött figurák is megjelennek a tábla két oldalán.Ha be van jelölve, akkor mutatja a játékos által lépésenként felhasznált időtHa be van jelölve, akkor mutatja az elemző program értékeitHa be van jelölve, akkor a tábla körül megjeleníti a sorok és az oszlopok jeleit.Ha be van jelölve, akkor egyetlen játszma esetén nem lesz fölül játszma fül.Ha az elemzőprogram olyan lépést talál amelynek értéke és az általa legjobbnak gondolt lépés értéke közötti különbség nagyobb mint ez a küszöb, akkor ehhez a lépéshez hozzáad egy megjegyzést (az általa legjobbnak tartott lépéssel kezdődő változatot) az elemzés panelen.Ha nem mentesz, a változások elvesznek.Szín figyelmen kívül hagyásaIllegálisKépekAnyag egyensúlytalanságImportálásPGN importElemzett játszmák importálása endgame.nl-rőlImportálásImportálás theweekinchess.com-rólJátszma fejlécek importálásaVersenybenMindenféle sakk tilos. Tilos sakkba lépni, és sakkot adni is. A játék célja elsőként eljuttatni a királyunkat a nyolcadik sorba. Ha a világos királya a nyolcadik sorba lép, de a következő lépésben a sötété is, akkor a játszma döntetlen.Ebben az állásban nincs szabályos lépés.PGN fájl indentálásaIndiaIndonesiaVégtelen analízisInfoKezdőállásKezdőállásKezdeményezésÉrdekes lépésNemzetközi mesterSzabálytalan lépés.Iran (Islamic Republic of)IraqIrelandIsle of ManIsraelA játszmát nem tudod később folytatni, ha most nem mented el.ItalyJamaicaJapanJerseyJordanKezdőállásUtolsó pozícióKKazakhstanKenyakirályEnyém a vár, tied a lekvár!KiribatihuszárHuszár előnyHuszárokKorea (the Democratic People's Republic of)Korea (the Republic of)KuwaitKyrgyzstanLag:Lao People's Democratic RepublicLatviaTanulásTeljes képernyőLebanonElőadásokHosszLesothoLeckékAz 1-es szint a leggyengébb a 20-as a legerősebb.LiberiaLibyaLichess gyakorló leckék, feladványok nagymester játszmákból és sakk kompozíciókLiechtensteinVilágos mezők:VillámVillámFolyamatban lévő játszmák listájaJátékosok listájaSzerver csatornák listájaSzerver hírek listájaLithuaniaTávoli játszma betöltése_Korábbi játszmákTávoli játszma betöltéseJátékos adatainak betöltése.Helyi eseményHelybenKilépésBejelentkezési hibaBejelentkezés _vendégkéntBejelentkezés a szerverreLúzerVereségVereség:LuxembourgMacaoMacedonia (the former Yugoslav Republic of)MadagascarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMalawiMalaysiaMaldivesMaliMaltaMamer menedzserSakkmotorokKéziKézi elfogadásEllenfél elfogadása kézilegMarshall IslandsMartiniqueMattMatt %d lépésben.Anyag/lépésMauritaniaMauritiusElemzési idő másodpercben:MayotteMexicoMicronesia (Federated States of)Perc:Perc: Közepes előnyMoldova (the Republic of)MonacoMongoliaMontenegroMontserratTovábbi csatornákTovábbi játékosokMoroccoLépésJátszmalapLépésszámLépettLépés:MozambiqueMyanmarHNMNévNevek: #n1, #n2NamibiaNemzeti mesterNauruKellA figurák elhelyezkedésének leírásában 7 darab / jelnek kell lennie. %sNepalNetherlandsNincs animálás. Lassú gépek esetén ajánlott.ÚjNew CaledoniaÚj játszmaÚj RDNew ZealandÚjÚj 1 perces játszmaÚj 15 perces játszmaÚj játszma a 25 perces pool-ból Új 3 perces játszmaÚj 5 perces játszmaÚj játszma a Fischer random pool-ból HírekKövetkezőKövetkező játszmákNicaraguaNigerNigeriaNiue_NincsEbben a játszmában egyik játékos sem számítógépes sakkprogramNincs beszélgetés kiválasztva.Jelenleg nincs nyitva adatbázisNincs hangIdő kontroll nélkülNorfolk IslandStandardStandard: 40 perc + 15mp/lépésNorthern Mariana IslandsNorwayNem elérhetőNem ütés (csendes lépés)Nem ez a legjobb lépés!Megtekint%s megtekintése_Játszma vége (nézőknek):NézőkElőnyadás_Megszakítás ajánlása_Megszakítás ajánlása_Elhalasztás ajánlásaSzünet kérése_Visszavágó ajánlásaFolytatás ajánlásaLépés visszavétel kérése_Megszakítás ajánlása_Döntetlen ajánlása_Szünet kérése_Folytatás ajánlása_Lépés visszavétel kéréseHivatalos PyChess panel.Nem elérhetőOmanA FICS-en a "Vad" értékszám magában foglalja a következő sakkvariánsokat minden időkontroll mellett: Az egyik játékos egy huszár hátrannyal indulAz egyik játékos egy gyalog hátrannyal indulAz egyik játékos egy vezér hátrannyal indulAz egyik játékos egy bástya hátrannyal indulElérhető_Csak a lépésekCsak a lépéseket animálja.Csak regisztrált felhasználók beszélhetnek ezen a csatornán.MegnyitJátszma megnyitásaHangfájl megnyitásaSakkfájl megnyitásaMegnyitástárMegnyitástár fájlokSakkfájl megnyitása...MegnyitásokA megnyitás panel használatával a játszma lista a kezdeti lépések alapján szűrhető.Ellenfél értékszámaEllenfél erőssége:OpcióOpciókEgyébEgyéb (nem standard szabályok)Egyéb (standard szabályok)GPakistanPalauPalestine, State ofPanamaPapua New GuineaParaguayParaméterek:FEN beillesztéseMásold ide a letöltendő játszma linkjét:MintaSzünetgyalogGyalog előnyGyalogok a félpályán túlÖsszetolt gyalogokPeruPhilippinesDátum kiválasztásaPingPitcairnFelrakós Fischer randomLúzer sakkVisszavágó_Internetes sakkStandardJátékosokJátékos é_rtékszámaJátékosok:Aktív játékos: %dJátszik Pgn kép_Portok:PolandMegnyitástár fájl:PortugalVégjátékok gyakorlása a számítógép ellenPre-chess: https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position_Megnéz_Figurák jeleinek használata a játszmalaponBeállításokAjánlott szint:Felkészülés az importálásra...ElőnézetAz előnézet panel használatával a játszma lista az aktuális játszma lépései alapján szűrhető.Előző játszmákMagánValószínűleg azt már visszavonták.ElőrehaladásÁtváltozásProtokoll:Puerto RicoFeladványokPyChess - KapcsolódásInformációs ablak mutatásaA pychess elveszítette a kapcsolatot a sakkmotorral. Magpróbálhatsz indítani egy új játszmát ezzel a sakkmotorral, vagy kipróbálhatsz egy másikat.A PyChess egy nyílt forrású sakkprogram. Hibák bejelentése, forráskód, dokumentáció, fordítások a http://www.pychess.org honlapon.A PyChess a sakkprogramok és sakk variánsok széles skáláját támogatja. Játszhatsz internetes szervereken, tanulhatsz a leckékből, és szórakoztató feladványokból.PyChess.pyVQatarvezérVezér előnyKilépés a tanulásbólKilépésBF_eladásVersenyző királyokVéletlenRapidRapid: 15 perc + 10mp/lépésÉrtékeltÉrtékelt játszmaÉrtékszámÉrtékszám változás:Olvasás %s ...Játékosok listájának letöltése.Index fájlok újra generálása...FrissítésRegisztráltEltávolításTörlésFolytatás kéréseÚjraküldés%s újraküldése?Színek visszaállításaElőrehaladás nullázásaAlapértelmezett értékek visszaállítása.EredményEredmény:FolytatásÚjraRomaniabástyaBástya előnyTábla forgatásaFordulóForduló:Szimultánt játszikA futtató környezet parancsa:A futtató környezet paraméterei:A sakkprogram futtató környezetének parancsa (wine vagy node):Russian FederationRwandaRéunionSR_RegisztráljSaint BarthélemySaint Helena, Ascension and Tristan da CunhaSaint Kitts and NevisSaint LuciaSaint Martin (French part)Saint Pierre and MiquelonSaint Vincent and the GrenadinesSamoaSan MarinoBüntetésekSao Tome and PrincipeSaudi ArabiaMentésJátszma mentéseMentés m_áskéntCsak _saját játszmák mentéseÉrtékszám változások mentése_Elemző program értékeinek mentéseNyilak/körök mentéseMentés másként...Adatbázis mentése mint...Lépésenként felhasznált _idő mentéseFájlok mentése ide:Akarod menteni mielőtt bezárod?Mented a játszmát bezárás előtt?Mentés PGN fájlba mint...ÉrtékScoutKeres:Keresések grafikusanKeresések grafikusanKeresés frissítveKeresések/kihívásokGaviota végjáték adatbázis könyvtár kiválasztásaPgn, epd vagy fen fájl kiválasztásaAz automatikus mentés útvonalának kiválasztásaHáttérkép kiválasztásaMegnyitástár fájl kiválasztásaSakkmotor kiválasztásaHangfájl kiválasztása...Válaszd ki a mentendő játszmákat:Munkakönyvtár kiválasztásaKihívás elküldéseMinden keresés elküldéseKeresés elküldéseSenegalSeqSequenceSerbiaSzerver:Szolgáltató képviselőjeKörnyezet létrehozásaPozíció felállításaSeychellesJátszma megosztása_Koordináták mutatásaIdő_zavarBiztos hogy %s nyilvánosan meg akarja osztani ezt a játszmát a chesspastebin.com -on?BekiabálásFICS játszma azonosítók mutatása a játszma füleken_Leütött figurák mutatásaLépésenként felhasznált idő mutatásaElemző program értékeinek mutatásaTippek mutatása induláskorShredderLinuxChessKevert alapállásLépésre következikOldalpanelekSierra LeoneEgyszerű állásSingaporeSint Maarten (Dutch part)HelyHely:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinKis előnySlovakiaSloveniaSolomon IslandsSomaliaA PyChess az engedélyedet kéri azon külső programok letöltéséhez, amelyek néhány új funkció használatához szükségesek.'%s' már bejelentkezettHang fájlokForrásSouth AfricaSouth Georgia and the South Sandwich IslandsSouth SudanFenyegetés nyílSpainElteltSri LankaStandardStandardMagán csevegésStátusz1 lépés vissza1 lépés előreStrStreakOffline FICS előadásokRész FEN:SudanÖngyilkosSurinameGyanús lépésSvalbard and Jan MayenSwazilandSwedenSwitzerlandSzimbólumSyrian Arab RepublicTTDTMTagTaiwan (Province of China)TajikistanCsevegésTanzania, United Republic ofCsapatSzöveg diagramTextúra:Thailanda megszakítás ajánlataz elhalasztás ajánlatAz elemzőprogram a háttérben futva fogja elemezni a játszmát. A javaslat mód használatához szükséges.Ez a gomb le van tiltva vendégként bejelentkezettek esetén, mert azok nem játszhatnak értékelt játszmákat.Csevegés a partnerrel játszma közbenAz óra még nem indult el.Magyarázó megjegyzések a lépésekhezA kapcsolat megszakadt - fájl vége üzenet érkezett.A játszma még nem fejeződött be. Biztos, hogy az exportálása mások számára érdekes lesz?A játszma befejeződött. Ellenőrizd a játszma tulajdonságait a főmenüben (hely, esemény, időpont, játékosok, stb.)A könyvtár ahonnan a sakkmotor indulni fog.Az első játékos neveA második játékos nevea döntetlen ajánlatA végjáték adatbázis használata pontos elemzést ad ha már csak néhány figura van a táblán.%s sakkmotor hiba:Ez a sakkprogram már szerepel ugyanezzel a névvel.A számítógépes sakkprogramok gondolkodását mutatja a játszmák közbenÉrvénytelen jelszó. Elfelejtette jelszó esetén a http://www.freechess.org/password címen lehet új jelszót igényelni.A hiba: %sA(z) '%s' fájl már létezik. Ha lecseréli, a tartalma felülíródik.az időtúllépés bejelentéseA játszmát nem lehet megnyitni hibás FEN miattA játszma nem olvasható be végig, mert hiba van a következő lépésnél: %(moveno)s '%(notation)s'.Döntetlen.A játszmát megszakították.A játszmát elhalasztották.A játszmát leállították.Számítógépes segítség a játszma minden fázisában.A fordított elemzőprogram úgy fogja elemezni a játszmát mintha az ellenfél következne lépésre. A fenyegetés mód használatához szükséges.A 20-as fokozat esetén a sakkprogram amellett, hogy a legerősebben lépéseket keresi, szabadon gazdálkodik a rendelkezésére álló idővel is.Sikertelen lépés: %s.Navigálható lépéslistaa színcsere ajánlatA leggyakrabban alkalmazott lépések az adott megnyitásbana szünet ajánlatEz a pozíció nem fordul elő az adatbázisbanA megadott linken nem található PGN tartalom.Ismeretlen ok.A PyChess kiadások neveiket a korábbi világbajnokokról kapták.a feladása folytatás ajánlatGrafikus állásértékelésa lépés visszavétel ajánlatSpárta - ThébaTémák%d játszma még nincs mentve.%d játszma még nincs mentve.Valami probléma van ezzel a programmal.Ez a játszma értékszám vesztés nélkül megszakítható, mivel még nem történt két lépés.Ezt a játszmát nem lehet elhalasztani, mert a játékosok közül legalább az egyik vendég.Ez egy elhalasztott játszma folytatásaKihívás esetén ennek nincs értelme.Ez az opció tiltva van, mivel egy vendéget hívtál ki, %s fenyegetés elemzése3 sakkIdőIdő kontrollIdőkontroll: IdőzavarTimor-LesteA nap tippjeA nap tippjeCímCímviselőEgy játszma mentéséhez válaszd a Játszma > Mentés másként menüt, adj meg egy fájlnevet és egy helyet, ahova menteni akarod. Alul pedig válaszd ki a fájl típusához tartozó kiterjesztést, végül a Mentést.TogoTokelauEltérés:TongaVerseny igazgatóA PyChess fordítása...Trinidad and TobagoPróbáld ezt: chmod a+x %sTunisiaTurkeyTurkmenistanTurks and Caicos IslandsTuvaluTípusÍrj vagy másolj be egy PGN játszmát vagy FEN állást ide.UUgandaUkraineNem elfogadható a(z) %sNem lehetett menteni a beállított fájlba. Mentsük a játszmákat bezárás előtt?Nem sikerült a mentés a beállított fájlba. Menti a játszmát bezárás előtt?Tisztázatlan állásNincs leírásLépés visszavételLépés visszavonásaLépéspár visszavonásaEltávolításUnited Arab EmiratesUnited Kingdom of Great Britain and Northern IrelandUnited States Minor Outlying IslandsUnited States of AmericaIsmeretlenIsmeretlen játszma állapotNem hivatalos csatorna %dNem értékeltNem regisztráltNincs bejelölve: az állás értékeket exponenciálisan skálázva jeleníti meg. Be van jelölve: az állás értékeket lineárisan skálázva jeleníti meg. Előnyösebb a kisebb-nagyobb hibák kiemeléséhez.Időkontroll nélküliFejjel lefeleUruguay_Elemző használata_Fordított elemző használata_Helyi végjáték adatbázis használata_Internetes végjáték adatbázis használataAz állás értékek lineáris skálázásaElemző program:Fájlok elnevezésének formája:_Megnyitástár használataIdő kompenzáció a lépésekreA sakkmotorok és a Polyglot megnyitás fájlok készítése is figyelembe veszik.UzbekistanÉrtékVanuatuVariánsKai Laskos által létrehozott sakk variáns: http://talkchess.com/forum/viewtopic.php?t=40990Változat létrehozási küszöb értékeVegyes technikákVenezuela (Bolivarian Republic of)Nagyon rossz lépésViet NamElőadások megtekintése, feladványok megoldása, végjátékok gyakorlásaVirgin Islands (British)Virgin Islands (U.S.)V ÉlőWFMWGMWIMVárakozásWallis and FutunaFigyelmeztetés: ha be van jelölve, a mentés formázott, nem standard(!) .pgn fájlt készít.Nem lehet menteni '%(uri)s' -be, mert a PyChess nem ismeri a '%(ending)s' formátumot.ÜdvözletGratulálok!Gratulálok! %s megoldva.Western SaharaAmikor ez a gomb le van zárva, a kapcsolat az "Ellenfél erőssége" és az "Erősséged" között megőrződik, amikor a) az értékszámod az adott típusú keresésben megváltozik b) megváltoztatod a sakk variánst vagy az időkontrollt.VilágosVilágos ELO:Világos O-OVilágos O-O-OVilágosnak új előörse van: %sVilágos állása meglehetősen kényelmetlenSötét állása meglehetősen kényelmetlenVilágos lépéseVilágos gyalogrohamot indíthatna a bal oldalonVilágos gyalogrohamot indíthatna a jobb oldalonVilágos - Kattintással a játékosok felcserélhetőkVilágos:VadSzabálytalan sáncSzabálytalan sánc, kevertGyőzelemGyőzelem a 3. sakk beadásávalGyőzelem:Győzelem %TámadássalNői FIDE mesterNői nagymesterNői nemzetközi mesterMunkakönyvtár:Év, hó, nap: #y, #m, #dYemenJelenleg vendégként (guest) vagy bejelentkezve, de létezik egy teljesen ingyenes 30 napos kipróbálási lehetőség, ami később sem válik automatikusan fizetőssé, és a 30 nap után is megmarad a használat lehetősége. (Néhány megszorítással. Például nem lesznek elérhetők a prémium videók, a csatornák használata korlátozott lesz, stb.) Itt regisztrálhatsz: Jelenleg vendégként (guest) vagy bejelentkezve. Mivel a vendégek nem játszhatnak értékelt játszmákat, ezért lényegesen kevesebb fajta játszma keresést láthatnak mint a regisztrált felhasználók. Itt regisztrálhatsz: Azonnali lépés kéréseA számítógép elleni játszmáknál 20 erősségi fokozat közül választhatsz.Új játszmát így kezdhetsz: Játszma -> Új játszma -> Kiinduló állásból, majd választhatsz ellenfelet, idő kontrollt és sakk variánst.Nem játszhatsz értékelt játszmát, mert az "Időkontroll nélkül" van bejelölve, Nem játszhatsz értékelt játszmákat vendégként.Nem játszhatsz sakk variánsokat, mert az "Időkontroll nélkül" van bejelölve, Játszma közben nem lehet színt váltani.Nem engedélyezett, amíg végigjátszás (examine) módban vagy.Nincs elég jogosultságod a fájl mentéséhez. Győződj meg róla, hogy jó útvonalat adtál meg, és próbáld újra.Kiléptetve 60 perc tétlenség miattMég nem kezdtél beszélgetést.A kibitz változót 1-re kell állítani a konzolban, hogy itt láthasd a bot üzeneteket.Túl sok lépést próbáltál visszavonni.Nem mentett változtatásaid vannak. Akarod ezeket menteni kilépés előtt.Csak 3 keresés megengedett. Ha újat szeretnél, akkor előbb törölni kell az aktuális aktív kereséseidet. Törlöd a kereséseket?Döntetlen ajánlat elküldve.Szünet ajánlat elküldve.Folytatás ajánlat elküldve.Megszakítás ajánlat elküldve.Elhalasztás ajánlat elküldve.Lépés visszavonás ajánlat elküldve.Időtúllépés bejelentése elküldveAz össze előrehaladás adat el fog veszni!Az ellenfeled szeretné, hogy egy kicsit gyorsabban lépj!Az ellenfeled a játszma megszakítását ajánlja, ha elfogadod, az értékszámod nem változik.Az ellenfeled a játszma elhalasztását ajánlotta.Az ellenfeled szünetet ajánlott.Az ellenfeled folytatni szeretné.Az ellenfeled szeretné visszavenni az utolsó %s lépését.Az ellenfeled döntetlent ajánlott.Az ellenfeled döntetlent ajánlott.Az ellenfeled nem lépte még túl a gondolkodási időt.Az ellenfelednek bele kell egyeznie a megszakításba, mivel már kettő vagy több lépés történt a játszmában.Úgy tűnik, az ellenfeled meggondolta magát.Az ellenfeled szeretné megszakítani a játszmát.Az ellenfeled a játszma elhalasztását szeretné.Az ellenfeled szüneteltetni szeretné a játékot.Az ellenfeled folytatni szeretné.Az ellenfeled szeretne visszavenni az utolsó %s lépését.A panel beállítások alaphelyzetbe állítva. Amennyiben ez megismétlődik, jelezze a fejlesztőknek.Saját keresések eltávolítvaErősséged:Te lépsz.ZambiaZimbabweLépéskényszer_Elfogadás_MűveletekJátszma elemzése_ArchívumBefejezett játszmák _automatikus mentése .pgn -be_Időtúllépés bejelentéseKeresések _törléseFEN másolásaPGN másolása_ElutasításS_zerkesztés_SakkmotorokÁllás _exportálásaTeljes képernyő_JátszmaJátszmákÁltalános_Súgó_Fülek elrejtése 1 játszma eseténJavaslat nyíl_JavaslatokSzabálytalan lé_pésJátszma be_töltése_Napló_Saját_Név:_Új_KövetkezőLépés (_nézőknek):Ellenfél_Jelszó:StandardJátékosok_ElőzőÖsszes feladvány megoldva.Előző:_Felülír_Tábla forgatása%d játszma _mentése%d játszma _mentése%d játszma _mentéseMenté_sKeresések/Kihívások_OldalpanelekHangok_Játszma indításaIdőkontroll nélküliA fő ablak bezáró ikonja [x] az összes játszmát bezárja_Hangok használata a PyChess-benLépés variációk:_NézetSzín:ésés a vendégek nem játszhatnak értékelt játszmákat.és a FICS-en az időkontroll nélküli játszmák nem lehetnek értékeltek.és a FICS-en az időkontroll nélküli játszmák csak standard játszmák lehetnek.azonnali lépés kérésesötétközelebb viszi a %(piece)s-t az ellenfél királyához: %(cord)sa gyalogját közelíti az átváltozáshoz: %sidőtúllépés bejelentéseanyagot nyerbesáncolAz adatbázisok megnyitás fájához szükséges a chess_db programAz adatbázisok lekérdezéseihez szükséges a scoutfish programmegvédi ezt: %sfejleszti a %(piece)s-t: %(cord)sfejleszti a gyalogot: %sdöntetlent ér elmegváltoztatja az anyagotgnuchessfélig nyílthttp://brainking.com/en/GameRules?tp=2 * A világos figurák elrendezése az 1. soron véletlenszerű * A király a jobb sarokban * A futók ellenkező színű mezőkön * A sötét figurák elrendezését a világosaknak a tábla középpontja körüli 180 fokos elforgatásával kapjuk * Nincs sáncoláshttp://hu.wikipedia.org/wiki/Sakkhttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://hu.wikipedia.org/wiki/Sakk#A_sakk_le.C3.ADr.C3.A1sanöveli a királya biztonságáta %(x)s%(y)s vonalona %(x)s%(y)s vonalakonfokozza a nyomást itt: %sérvénytelen átváltozási figuraleckéklichessmattot ad percperclépésbástyája elfoglalja a nyílt vonalatbástya elfoglalja a félig nyílt vonalata futóját fianchetto fejleszti: %snem játszik/döntetlen ajánlásaszünet kéréselépés visszavétel kérésemegszakítás ajánlásaelhalasztás ajánlásafolytatás ajánlásaa színcsere ajánlatösszesen a kapcsolatbanegyebeka gyalog ütés figura megjelölés nélkül érvénytelenleköti az ellenséges %(piece)s-t a %(cord)s mezőn álló %(oppiece)s miattaktívabb helyre viszi a %(piece)s-t: %(cord)sátváltoztatja a gyalogot: %ssakkot adjelenlegi értékszám tartománykiszabadítja ezt: %sFeladás%s fordulóanyagot áldozmpmásodpercnöveli a királya biztonságátvisszaveszi az anyagota (%s) hibás mezőaz érkezési mező (%s) érvénytelenegy lépéshez kell legalább egy figura és egy koordinátanémi anyag lenyerésével fenyeget: %sautomatikus elfogadáskézi elfogadásUCI-világoswindow1wtharveyXboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * A tisztek véletlen elrendezésben a gyalogok mögött * Nincs sáncolás * A sötét figurák elrendezése a világosak tükörképexboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * A világos figurák elrendezése hagyományos. * A sötéteké is, kivéve, hogy a király és a vezér fel van cserélve, * tehát azok nem a világos királyával és vezérével megegyező oszlopokon helyezkednek el. * A sáncolás a hagyományosnak megfelelően történik: * o-o-o a hosszú sánc, o-o a rövid sánc jele.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * Mindkét oldal a hagyományos sakkban szokásos figurákkal rendelkezik * A világos király d1-en vagy e1-en áll, a sötét király d8-on vagy e8-on, * a bástyák a szokásos helyükön, * a futók ellenkező színű mezőkön állnak. * Ezen szabályok betartása mellett a tisztek elhelyezkedése véletlenszerű. * A sáncolás a hagyományosnak megfelelően történik: * o-o-o a hosszú sánc, o-o a rövid sánc jele.yacpdbÅland Islandspychess-1.0.0/lang/hu/LC_MESSAGES/pychess.po0000644000175000017500000055354413455543006017423 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # Bajusz Tamás , 2006, 2007, 2010 # gbtami , 2013-2019 # gbtami , 2012 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 20:12+0000\n" "Last-Translator: gbtami \n" "Language-Team: Hungarian (http://www.transifex.com/gbtami/pychess/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Játszma" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Új" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "Alapállásból" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "Egyedi pozíícióból" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "Játszmaleírásból" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "_Internetes sakk" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "Játszma be_töltése" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "_Korábbi játszmák" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "Távoli játszma betöltése" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "Menté_s" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Mentés m_ásként" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "Állás _exportálása" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "Játszma megosztása" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Játékos é_rtékszáma" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "Játszma elemzése" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "S_zerkesztés" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "PGN másolása" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "FEN másolása" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "_Sakkmotorok" #: glade/PyChess.glade:518 msgid "Externals" msgstr "Külső programok" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Műveletek" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "_Megszakítás ajánlása" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "_Elhalasztás ajánlása" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "_Döntetlen ajánlása" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "_Szünet kérése" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "_Folytatás ajánlása" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "_Lépés visszavétel kérése" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Időtúllépés bejelentése" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "F_eladás" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "_Azonnali lépés kérése" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "Időtúllépés automatikus bejelentése" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Nézet" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Tábla forgatása" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "Teljes képernyő" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Teljes képernyő" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "_Oldalpanelek" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_Napló" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "Javaslat nyíl" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "Fenyegetés nyíl" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "Adatbázis" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "Új" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "Adatbázis mentése mint..." #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "Polyglot megnyitás fájl készítése" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "Importálás" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "Elemzett játszmák importálása endgame.nl-ről" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "Importálás theweekinchess.com-ról" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Súgó" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "A sakkról" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Hogyan játsszunk" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "A PyChess fordítása..." #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "A nap tippje" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Sakkprogram" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Beállítások" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "Az első játékos neve" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Első játékos:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "A második játékos neve" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Második játékos:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Fülek elrejtése 1 játszma esetén" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Ha be van jelölve, akkor egyetlen játszma esetén nem lesz fölül játszma fül." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "A fő ablak bezáró ikonja [x] az összes játszmát bezárja" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "Ha be van jelölve, a fő ablak bezáró ikonjára először kattintva az bezárja az összes játszmát." #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "_Automatikus táblaforgatás a lépésre következő játékos felé" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Ha be van jelölve, akkor minden lépés után a táblát elforgatja a lépésre következő játékos felé." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "Automatikus átváltozás vezérre" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "Ha be van jelölve, akkor a gyalog a kiválasztó dialógus ablak megjelenése nélkül automatikusan vezérré változik." #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "Figurák szemtől szemben" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Ha be van jelölve, akkor a sötét figurák fejjel lefele látszanak. Mobil eszközökhöz ajánlott beállítás." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "Az állás értékek lineáris skálázása" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "Nincs bejelölve: az állás értékeket exponenciálisan skálázva jeleníti meg.\nBe van jelölve: az állás értékeket lineárisan skálázva jeleníti meg. Előnyösebb a kisebb-nagyobb hibák kiemeléséhez." #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "_Leütött figurák mutatása" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "Ha be van jelölve, akkor a leütött figurák is megjelennek a tábla két oldalán." #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "_Figurák jeleinek használata a játszmalapon" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "Ha be van jelölve, akkor a játszmalapon betűk helyett a figurák jeleit használja." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "Elemzett lépések színezése" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "Ha be van jelölve, akkor a kevésbé jó lépéseket pirossal színezi." #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "Lépésenként felhasznált idő mutatása" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "Ha be van jelölve, akkor mutatja a játékos által lépésenként felhasznált időt" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "Elemző program értékeinek mutatása" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "Ha be van jelölve, akkor mutatja az elemző program értékeit" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "FICS játszma azonosítók mutatása a játszma füleken" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "Ha be van jelölve, a FICS játszma azonosítók megjelennek a játékosok nevei után a játszma füleken." #: glade/PyChess.glade:1402 msgid "General Options" msgstr "Egyéb" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "_Tábla és a lépések" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Táblaforgatás és lépések esetén is animál. Gyors gépeken ajánlott. " #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "_Csak a lépések" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Csak a lépéseket animálja." #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "_Nincs" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Nincs animálás. Lassú gépek esetén ajánlott." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animálás" #: glade/PyChess.glade:1527 msgid "_General" msgstr "Általános" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "_Megnyitástár használata" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "Ha be van jelölve, akkor a PyChess megmutatja a legjobb megnyitási lépéseket a javaslat panelen." #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "Megnyitástár fájl:" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "A megnyitástár maximális mélysége:" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "A sakkmotorok és a Polyglot megnyitás fájlok készítése is figyelembe veszik." #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "_Helyi végjáték adatbázis használata" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "Ha be van állítva, akkor a PyChess a 6, vagy kevesebb figurát tartalmazó állások esetén megmutatja a különböző lépések kimenetelét.\nA végjáték adatbázis fájljai letölthetők innen:\nhttp://www.olympuschess.com/egtb/gaviota/" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "Végjáték adatbázis útvonal:" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "_Internetes végjáték adatbázis használata" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "Ha be van állítva, akkor a PyChess a 6, vagy kevesebb figurát tartalmazó állások esetén megmutatja a különböző lépések kimenetelét.\nA végjáték állásokat innen keresi ki: http://www.k4it.de/" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "Megnyitás, végjáték" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "_Elemző használata" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "Az elemzőprogram a háttérben futva fogja elemezni a játszmát. A javaslat mód használatához szükséges." #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "_Fordított elemző használata" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "A fordított elemzőprogram úgy fogja elemezni a játszmát mintha az ellenfél következne lépésre. A fenyegetés mód használatához szükséges." #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "Elemzési idő másodpercben:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "Végtelen analízis" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Elemzés" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_Javaslatok" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Eltávolítás" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "Aktív" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Telepített oldalpanelek" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "Oldalpanelek" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "Háttérkép útvonala:" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "Nyitó képernyő" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "Textúra:" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "Keret:" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Világos mezők:" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "Rács" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Sötét mezők:" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "Színek visszaállítása" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "_Koordináták mutatása" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "Ha be van jelölve, akkor a tábla körül megjeleníti a sorok és az oszlopok jeleit." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "Tábla stílus" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "Betűtípus:" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "Elemzés szövege" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "Sakk készletek" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Témák" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Hangok használata a PyChess-ben" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "_Sakkadás:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "_Lépés:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "_Döntetlen:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "_Vereség:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "_Győzelem:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "_Ütés:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "_Kezdőállás:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "Lépés (_nézőknek):" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "_Játszma vége (nézőknek):" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "Idő_zavar" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "Szabálytalan lé_pés" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "_Riasztás ha a hátralévő idő (másodpercben):" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "Összes feladvány megoldva." #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "Lépés variációk:" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Hang lejátszása ekkor..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "Hangok" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "Befejezett játszmák _automatikus mentése .pgn -be" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Fájlok mentése ide:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "Fájlok elnevezésének formája:" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "Nevek: #n1, #n2" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "Év, hó, nap: #y, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "Lépésenként felhasznált _idő mentése" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "_Elemző program értékeinek mentése" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "Értékszám változások mentése" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "PGN fájl indentálása" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "Figyelmeztetés: ha be van jelölve, a mentés formázott, nem standard(!) .pgn fájlt készít." #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "Csak _saját játszmák mentése" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Mentés" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Átváltozás" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "vezér" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "bástya" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "futó" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "huszár" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "király" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Mire változzon a gyalog?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "Távoli játszma betöltése" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "Másold ide a letöltendő játszma linkjét:" #: glade/PyChess.glade:4467 msgid "Default" msgstr "Alapértelmezett" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "Huszárok" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Játszma információk" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Hely:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "Értékszám változás:" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "A győzelem valószínűsége, a játékos ELO pontjának változása vereség/döntetlen/győzelem esetén, vagy egyszerűen csak az ELO változása." #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "Sötét ELO:" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Sötét:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Forduló:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "Világos ELO:" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Világos:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "Dátum:" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "Eredmény:" #: glade/PyChess.glade:4818 msgid "Game" msgstr "Játszma" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "Játékosok:" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Esemény:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "Az elvárt forma \"yyyy.mm.dd\". Megengedett jokerként a \"?\"" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "Azonosító adatok" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "További adatok" #: glade/PyChess.glade:5066 msgid "uci" msgstr "UCI" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "Xboard" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "Sakkmotorok" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Parancs:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protokoll:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Paraméterek:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "A sakkprogram parancssori paraméterei" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "A sakkmotorok UCI vagy Xboard protokoll használatával kommunikálnak a felhasználói felülettel.\nAmennyiben mindkettő támogatott, itt választható ki, hogy melyiket használja az adott sakkmotor." #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "Munkakönyvtár:" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "A könyvtár ahonnan a sakkmotor indulni fog." #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "A futtató környezet parancsa:" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "A sakkprogram futtató környezetének parancsa (wine vagy node):" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "A futtató környezet paraméterei:" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "A futtató környezet parancssori paraméterei:" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "Ország:" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "A program készítőjének országa." #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "Megjegyzés:" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "A sakkprogrammal kapcsolatos tetszőleges szöveg" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "Környezet" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "Ajánlott szint:" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "Az 1-es szint a leggyengébb a 20-as a legerősebb." #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "Alapértelmezett értékek visszaállítása." #: glade/PyChess.glade:5538 msgid "Options" msgstr "Opciók" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "Hozzáadás mappából" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "Sakkprogramok keresése" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "Útvonal:" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "Szűrő" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Világos" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Sötét" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "Szín figyelmen kívül hagyása" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "Esemény" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "ECO" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "Elo" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "0" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "-" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Dátum" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "Hely" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "Elemző" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Eredmény" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "1-0" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "0-1" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "1/2-1/2" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "Variáns" #: glade/PyChess.glade:6410 msgid "Header" msgstr "Fejléc" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "Anyag egyensúlytalanság" #: glade/PyChess.glade:6789 msgid "White move" msgstr "Világos lépése" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "Sötét lépése" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "Nem ütés (csendes lépés)" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "Lépett" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "Ütött" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "Lépésre következik" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "Anyag/lépés" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "Rész FEN:" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "Minta" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "Scout" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Játszma gépi elemzése" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "Elemző program:" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "Ha az elemzőprogram olyan lépést talál amelynek értéke és az általa legjobbnak gondolt lépés értéke közötti különbség nagyobb mint ez a küszöb, akkor ehhez a lépéshez hozzáad egy megjegyzést (az általa legjobbnak tartott lépéssel kezdődő változatot) az elemzés panelen." #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "Változat létrehozási küszöb értéke" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "Elemzés az aktuális állástól" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "Sötét lépéseinek elemzése" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "Világos lépéseinek elemzése" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "Fenyegetés variációk hozzáadása" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "Kis türelmet, a PyChess telepített sakkmotorokat keres." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Kapcsolódás" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "Kapcsolódás sakk szerverhez" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Jelszó:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Név:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Bejelentkezés _vendégként" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "Hoszt:" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "_Portok:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "Lag:" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "Idő kompenzáció a lépésekre" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "_Regisztrálj" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Kihívás: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Kihívás elküldése" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Kihívás:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Villám" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Standard" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Schnell" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "2 perc, Fischer Random, Sötét" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 perc + 6 mp/lépés, Világos" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 perc" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "Keresések _törlése" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Elfogadás" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Elutasítás" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "Minden keresés elküldése" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Keresés elküldése" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Keresés" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Standard" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Schnell" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Villám" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Számítógép" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "Keresések/Kihívások" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Értékszám" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Idő" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "Keresések grafikusan" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 játékos" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Kihívás" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Megtekint" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Magán csevegés" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "Regisztrált" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Vendég" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "Címviselő" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "Játékosok" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "Játszmák" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "_Saját" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "_Megszakítás ajánlása" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "Végigjátszás" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "_Megnéz" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "_Archívum" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "Aszimmetrikus kevert" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Keresés" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Időkontroll nélküli" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Perc: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "Jóváírás: " #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Időkontroll: " #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Időkontroll" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Mindegy" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Erősséged:" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Schnell)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Ellenfél erőssége:" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "Amikor ez a gomb le van zárva, a kapcsolat\naz \"Ellenfél erőssége\" és az \"Erősséged\" között\nmegőrződik, amikor\na) az értékszámod az adott típusú keresésben megváltozik\nb) megváltoztatod a sakk variánst vagy az időkontrollt." #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Közép:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Eltérés:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Elrejt" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Ellenfél erőssége" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Szín:" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Standard" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr " " #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Sakkvariánsok" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Értékelt játszma" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Ellenfél elfogadása kézileg" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Beállítások" #: glade/findbar.glade:6 msgid "window1" msgstr "window1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0/0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Keres:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Előző" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Következő" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Új játszma" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Játszma indítása" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "FEN másolása" #: glade/newInOut.glade:143 msgid "Clear" msgstr "Törlés" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "FEN beillesztése" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "Kezdőállás" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "Játékerő (1=leggyengébb, 20=legerősebb)" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "Világos - Kattintással a játékosok felcserélhetők" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "Sötét - Kattintással a játékosok felcserélhetők" #: glade/newInOut.glade:397 msgid "Players" msgstr "Játékosok" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "Időkontroll nélküli" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "Schnell\t:5 perc" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "Rapid:\t15 perc + 10mp/lépés" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "Standard:\t40 perc + 15mp/lépés" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "Klasszikus: 3 perc / 40 lépés" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "Standard" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Fischer random" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "Lúzer sakk" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Játszma megnyitása" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Kezdőállás" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Játszma beírása" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "Féllépés számláló" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "En passant vonal" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "Lépésszám" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "Sötét O-O" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "Sötét O-O-O" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "Világos O-O-O" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "Világos O-O" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "Tábla forgatása" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Kilépés" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Bezárás mentés nélkül" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "%d játszma _mentése" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "%d játszma még nincs mentve. Mentsem őket?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Válaszd ki a mentendő játszmákat:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Ha nem mentesz, a változások elvesznek." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "Részletes beállítása (játékosok, idő, sakk variánsok)" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "Ellenfél" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "Szín:" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "Játszma indítása" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "Részletes kapcsolódás beállítások" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "Automatikus belépés induláskor" #: glade/taskers.glade:369 msgid "Server:" msgstr "Szerver:" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "Kapcsolódás a szerverhez" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "Pgn, epd vagy fen fájl kiválasztása" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "Előző:" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "Új adatbázis létrehozása" #: glade/taskers.glade:609 msgid "Open database" msgstr "Adatbázis megnyitása" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "Előadások megtekintése, feladványok megoldása, végjátékok gyakorlása" #: glade/taskers.glade:723 msgid "Category:" msgstr "Kategória:" #: glade/taskers.glade:796 msgid "Start learning" msgstr "Tanulás megkezdése" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "A nap tippje" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Tippek mutatása induláskor" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "A megadott linken nem található PGN tartalom." #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://hu.wikipedia.org/wiki/Sakk" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://hu.wikipedia.org/wiki/Sakk#A_sakk_le.C3.ADr.C3.A1sa" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Üdvözlet" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Játszma megnyitása" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "Olvasás %s ..." #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "%(counter)s játszma fejléc importálva ebből: %(filename)s" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "%s sakkmotor hiba:" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "Az ellenfeled döntetlent ajánlott." #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "Az ellenfeled döntetlent ajánlott." #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "Az ellenfeled szeretné megszakítani a játszmát." #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "Az ellenfeled a játszma megszakítását ajánlja, ha elfogadod, az értékszámod nem változik." #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "Az ellenfeled a játszma elhalasztását szeretné." #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "Az ellenfeled a játszma elhalasztását ajánlotta." #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "Az ellenfeled szeretne visszavenni az utolsó %s lépését." #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "Az ellenfeled szeretné visszavenni az utolsó %s lépését." #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "Az ellenfeled szüneteltetni szeretné a játékot." #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "Az ellenfeled szünetet ajánlott." #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "Az ellenfeled folytatni szeretné." #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "Az ellenfeled folytatni szeretné." #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "a feladás" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "az időtúllépés bejelentése" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "a döntetlen ajánlat" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "a megszakítás ajánlat" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "az elhalasztás ajánlat" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "a szünet ajánlat" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "a folytatás ajánlat" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "a színcsere ajánlat" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "a lépés visszavétel ajánlat" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "Feladás" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "időtúllépés bejelentése" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "döntetlen ajánlása" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "megszakítás ajánlása" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "elhalasztás ajánlása" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "szünet kérése" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "folytatás ajánlása" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "a színcsere ajánlat" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "lépés visszavétel kérése" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "azonnali lépés kérése" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Az ellenfeled nem lépte még túl a gondolkodási időt." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "Az óra még nem indult el." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "Játszma közben nem lehet színt váltani." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "Túl sok lépést próbáltál visszavonni." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Az ellenfeled szeretné, hogy egy kicsit gyorsabban lépj!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "Általában ez nem jelent semmi különöset, mivel a játszma időkontroll alatt folyik, de ha kedves akarsz lenni hozzá, léphetsz gyorsabban is." #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "Elfogad" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "Elutasít" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "%s elutasítva az ellenfél által" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "%s újraküldése?" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "Újraküldés" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s visszavonva az ellenfél által" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "Úgy tűnik, az ellenfeled meggondolta magát." #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "Nem elfogadható a(z) %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "Valószínűleg azt már visszavonták." #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s hibát adott vissza" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "Alfa 2 diagram" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "A játszma befejeződött. Ellenőrizd a játszma tulajdonságait a főmenüben (hely, esemény, időpont, játékosok, stb.)" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "A játszma még nem fejeződött be. Biztos, hogy az exportálása mások számára érdekes lesz?" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "Biztos hogy %s nyilvánosan meg akarja osztani ezt a játszmát a chesspastebin.com -on?" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "A játszma megosztva itt:" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "(a hivatkozás elérhető a vágólapon)" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Állás" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Ismeretlen" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Egyszerű állás" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "A játszmát nem lehet megnyitni hibás FEN miatt" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "Html diagram" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "Sakk kompozíciók a yacpdb.org-ról" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Sakkjátszma" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "Az elemző elsődleges változata (PV)" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "Játszma fejlécek importálása" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr ".bin index készítése..." #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr ".scout index készítése..." #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "Szabálytalan lépés." #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "Hiba ebben: %(mstr)s" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "A játszma nem olvasható be végig, mert hiba van a következő lépésnél: %(moveno)s '%(notation)s'." #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "Sikertelen lépés: %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "Hibás lépés: %(moveno)s %(mstr)s" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "Pgn kép" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "Letöltés linkje" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "HTML elemzése" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "Vegyes technikák" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "Szöveg diagram" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "A cél gép nem érhető el" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Vége" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Helyi esemény" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Helyben" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr " perc" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "mp" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "Illegális" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "Matt" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "Újabb PyChess verzió %s elérhető!" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "Andorra" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "United Arab Emirates" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "Afghanistan" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "Antigua and Barbuda" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "Anguilla" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "Albania" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "Armenia" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "Angola" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "Antarctica" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "Argentina" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "American Samoa" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "Austria" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "Australia" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "Aruba" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "Åland Islands" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "Azerbaijan" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "Bosnia and Herzegovina" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "Barbados" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "Bangladesh" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "Belgium" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "Burkina Faso" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "Bulgaria" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "Bahrain" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "Burundi" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "Benin" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "Saint Barthélemy" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "Bermuda" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "Brunei Darussalam" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "Bolivia (Plurinational State of)" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "Bonaire, Sint Eustatius and Saba" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "Brazil" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "Bahamas" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "Bhutan" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "Bouvet Island" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "Botswana" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "Belarus" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "Belize" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "Canada" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "Cocos (Keeling) Islands" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "Congo (the Democratic Republic of the)" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "Central African Republic" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "Congo" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "Switzerland" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "Côte d'Ivoire" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "Cook Islands" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "Chile" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "Cameroon" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "China" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "Colombia" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "Costa Rica" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "Cuba" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "Cabo Verde" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "Curaçao" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "Christmas Island" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "Cyprus" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "Czechia" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "Germany" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "Djibouti" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "Denmark" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "Dominica" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "Dominican Republic" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "Algeria" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "Ecuador" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "Estonia" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "Egypt" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "Western Sahara" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "Eritrea" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "Spain" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "Ethiopia" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "Finland" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "Fiji" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "Falkland Islands [Malvinas]" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "Micronesia (Federated States of)" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "Faroe Islands" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "France" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "Gabon" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "United Kingdom of Great Britain and Northern Ireland" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "Grenada" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "Georgia" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "French Guiana" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "Guernsey" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "Ghana" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "Gibraltar" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "Greenland" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "Gambia" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "Guinea" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "Guadeloupe" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "Equatorial Guinea" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "Greece" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "South Georgia and the South Sandwich Islands" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "Guatemala" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "Guam" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "Guinea-Bissau" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "Guyana" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "Hong Kong" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "Heard Island and McDonald Islands" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "Honduras" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "Croatia" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "Haiti" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "Hungary" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "Indonesia" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "Ireland" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "Israel" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "Isle of Man" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "India" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "British Indian Ocean Territory" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "Iraq" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "Iran (Islamic Republic of)" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "Iceland" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "Italy" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "Jersey" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "Jamaica" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "Jordan" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "Japan" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "Kenya" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "Kyrgyzstan" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "Cambodia" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "Kiribati" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "Comoros" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "Saint Kitts and Nevis" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "Korea (the Democratic People's Republic of)" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "Korea (the Republic of)" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "Kuwait" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "Cayman Islands" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "Kazakhstan" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "Lao People's Democratic Republic" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "Lebanon" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "Saint Lucia" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "Liechtenstein" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "Sri Lanka" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "Liberia" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "Lesotho" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "Lithuania" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "Luxembourg" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "Latvia" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "Libya" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "Morocco" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "Monaco" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "Moldova (the Republic of)" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "Montenegro" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "Saint Martin (French part)" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "Madagascar" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "Marshall Islands" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "Macedonia (the former Yugoslav Republic of)" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "Mali" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "Myanmar" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "Mongolia" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "Macao" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "Northern Mariana Islands" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "Martinique" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "Mauritania" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "Montserrat" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "Malta" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "Mauritius" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "Maldives" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "Malawi" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "Mexico" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "Malaysia" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "Mozambique" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "Namibia" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "New Caledonia" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "Niger" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "Norfolk Island" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "Nigeria" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "Nicaragua" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "Netherlands" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "Norway" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "Nepal" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "Nauru" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "Niue" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "New Zealand" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "Oman" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "Panama" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "Peru" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "French Polynesia" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "Papua New Guinea" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "Philippines" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "Pakistan" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "Poland" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "Saint Pierre and Miquelon" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "Pitcairn" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "Puerto Rico" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "Palestine, State of" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "Portugal" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "Palau" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "Paraguay" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "Qatar" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "Réunion" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "Romania" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "Serbia" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "Russian Federation" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "Rwanda" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "Saudi Arabia" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "Solomon Islands" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "Seychelles" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "Sudan" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "Sweden" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "Singapore" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "Saint Helena, Ascension and Tristan da Cunha" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "Slovenia" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "Svalbard and Jan Mayen" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "Slovakia" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "Sierra Leone" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "San Marino" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "Senegal" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "Somalia" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "Suriname" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "South Sudan" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "Sao Tome and Principe" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "El Salvador" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "Sint Maarten (Dutch part)" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "Syrian Arab Republic" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "Swaziland" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "Turks and Caicos Islands" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "Chad" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "French Southern Territories" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "Togo" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "Thailand" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "Tajikistan" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "Tokelau" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "Timor-Leste" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "Turkmenistan" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "Tunisia" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "Tonga" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "Turkey" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "Trinidad and Tobago" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "Tuvalu" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "Taiwan (Province of China)" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "Tanzania, United Republic of" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "Ukraine" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "Uganda" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "United States Minor Outlying Islands" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "United States of America" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "Uruguay" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "Uzbekistan" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "Holy See" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "Saint Vincent and the Grenadines" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "Venezuela (Bolivarian Republic of)" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "Virgin Islands (British)" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "Virgin Islands (U.S.)" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "Viet Nam" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "Vanuatu" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "Wallis and Futuna" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "Samoa" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "Yemen" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "Mayotte" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "South Africa" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "Zambia" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "Zimbabwe" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "gyalog" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "G" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "H" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "F" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "B" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "V" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "K" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Döntetlen." #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s győzött." #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s győzött." #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "A játszmát leállították." #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "A játszmát elhalasztották." #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "A játszmát megszakították." #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "Ismeretlen játszma állapot" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "Játszma megszakítva." #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "Egyik félnek sincs elég mattadó anyaga." #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "Háromszori állásismétlés." #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "50 lépéses szabály." #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Mindkét fél túllépte az időt." #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "%(mover)s pattba lépett." #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "A játékosok megegyeztek adöntetlenben." #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "Egy adminisztrátor döntése." #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "Túl hosszú játszma." #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "%(white)s túllépte az időt, és %(black)s oldalán nincs elég mattadó anyag." #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "%(black)s túllépte az időt, de %(white)s oldalán sincs elég mattadó anyag." #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "Mindkét félnek azonos számú figurája maradt." #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "Mindkét király elérte a nyolcadik sort." #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "%(loser)s feladta." #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "%(loser)s túllépte az időt." #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "%(loser)s mattot kapott." #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "%(loser)s kapcsolata megszakadt." #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "%(winner)s kevesebb figurával rendelkezik." #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "%(winner)s minden figuráját leütötték." #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "%(loser)s királya megsemmisült." #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "%(winner)s királya elérte a centrumot." #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "%(winner)s harmadszor adott sakkot." #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "Mert a %(winner)s király elérte a nyolcadik sort" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "Mivel %(winner)s eltakarította a világos hordát" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "A játékos kapcsolata megszakadt." #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "Mindkét játékos beleegyezett az elhalasztásba." #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "A szerver leállt." #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "A kapcsolat megszakadt és az ellenfél elhalasztást kért." #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "%(black)s kapcsolata megszakadt és %(white)s a játszma elhalasztását kérte." #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "%(white)s kapcsolata megszakadt és %(black)s a játszma elhalasztását kérte." #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "%(white)s kapcsolata megszakadt a szerverrel." #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "%(black)s kapcsolata megszakadt a szerverrel." #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "Adminisztrátori döntés. Az értékszámok nem változtak." #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "Mindkét játékos beleegyezett a megszakításba. Az értékszámok nem változtak." #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "A játékos szívessége miatt. Az értékszámok nem változtak." #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "Az egyik játékos megszakította a játszmát. Mindkét fél büntetlenül megszakíthatja a játszmát a második lépés előtt. Az értékszámok nem változtak." #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "Az egyik játékos kijelentkezett, és a játszma elhalasztásához még túl kevés lépés történt. Az értékszámok nem változtak." #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "A szerver leállt. Az értékszámok nem változtak." #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "A %(white)s sakkmotor leállt." #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "A %(black)s sakkmotor leállt." #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "A kapcsolat megszakadt a szerverrel." #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "Ismeretlen ok." #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "A kitűzött feladat teljesítve." #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "ASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "ASEAN" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "Makruk: http://en.wikipedia.org/wiki/Makruk" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "Makruk" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "Cambodian: http://www.khmerinstitute.org/culture/ok.html" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "Cambodian" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "Ai-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "Ai-Wok" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "Sittuyin" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n* Véletlenszerűen választott figurák (két királynő vagy három bástya is lehet)\n* Minkét oldalon pontosan egy király\n* A tisztek a gyalogok mögött véletlenszerűen elhelyezve, de a futók szín szerint kiegyensúlyozottan\n* Nincs sáncolás\n* Sötét elrendezése nem a világos tükörképe" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Aszimmetrikus kevert" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "Atom" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klasszikus sakk szabályok láthatatlan figurákkal\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "Vak" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klasszikus sakk szabályok láthatatlan gyalogokkal\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "Láthatatlan gyalogok" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klasszikus sakk szabályok láthatatlan tisztekkel\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "Láthatatlan tisztek" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klasszikus sakk szabályok csak világos figurákkal\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "Egyszínű figurák" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "Tandem" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "http://brainking.com/en/GameRules?tp=2\n* A világos figurák elrendezése az 1. soron véletlenszerű\n* A király a jobb sarokban\n* A futók ellenkező színű mezőkön\n* A sötét figurák elrendezését a világosaknak a tábla középpontja körüli 180 fokos elforgatásával kapjuk\n* Nincs sáncolás" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Sarok" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "Visszarakós" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "EuroShogi" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "http://en.wikipedia.org/wiki/Chess960\nFICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Fischer random" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "Giveaway" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "Sötét le kell üsse az összes világos figurát hogy győzzön.\nVilágosnak mattolnia kell, ahogy szokásos.\nVilágos oldalán az első soron álló gyalogok a második soron állókhoz hasonlóan kettőt is léphetnek előre." #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "Horda" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "Aki a királyával a centrumba lép, győz.\nEgyébként a normál szabályok érvényesek,\na mattadás szabályai is." #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "Enyém a vár, tied a lekvár!" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "Az egyik játékos egy huszár hátrannyal indul" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "Huszár előny" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "Lúzer" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "Klasszikus sakk szabályok\nhttp://en.wikipedia.org/wiki/Chess" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Standard" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "Az egyik játékos egy gyalog hátrannyal indul" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "Gyalog előny" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\nA világos gyalogok az 5. sorról, a sötét gyalogok a 4. sorról indulnak!" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "Gyalogok a félpályán túl" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\nA gyalogok a 4. és 5. sorról indulnak a 2. és 7. helyett." #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "Összetolt gyalogok" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "Pre-chess: https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "Felrakós" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "Az egyik játékos egy vezér hátrannyal indul" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "Vezér előny" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "Mindenféle sakk tilos. Tilos sakkba lépni, és sakkot adni is.\nA játék célja elsőként eljuttatni a királyunkat a nyolcadik sorba.\nHa a világos királya a nyolcadik sorba lép,\nde a következő lépésben a sötété is,\nakkor a játszma döntetlen." #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "Versenyző királyok" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n* Véletlenszerűen választott figurák (két királynő vagy három bástya is lehet)\n* Minkét oldalon pontosan egy király\n* A tisztek a gyalogok mögött véletlenszerűen elhelyezve,\n* Nincs sáncolás\n* Sötét elrendezése a világos tükörképe" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Véletlen" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "Az egyik játékos egy bástya hátrannyal indul" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "Bástya előny" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n* A tisztek véletlen elrendezésben a gyalogok mögött\n* Nincs sáncolás\n* A sötét figurák elrendezése a világosak tükörképe" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Kevert alapállás" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "Öngyilkos" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "Kai Laskos által létrehozott sakk variáns: http://talkchess.com/forum/viewtopic.php?t=40990" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "Spárta - Théba" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "Győzelem a 3. sakk beadásával" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "3 sakk" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\nhttp://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\nA gyalogok a 2. és a 7. helyett a 7. és a 2. sorról indulnak!" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "Fejjel lefele" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n* A világos figurák elrendezése hagyományos.\n* A sötéteké is, kivéve, hogy a király és a vezér fel van cserélve,\n* tehát azok nem a világos királyával és vezérével megegyező oszlopokon helyezkednek el.\n* A sáncolás a hagyományosnak megfelelően történik:\n* o-o-o a hosszú sánc, o-o a rövid sánc jele." #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "Szabálytalan sánc" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n* Mindkét oldal a hagyományos sakkban szokásos figurákkal rendelkezik\n* A világos király d1-en vagy e1-en áll, a sötét király d8-on vagy e8-on,\n* a bástyák a szokásos helyükön,\n* a futók ellenkező színű mezőkön állnak.\n* Ezen szabályok betartása mellett a tisztek elhelyezkedése véletlenszerű.\n* A sáncolás a hagyományosnak megfelelően történik:\n* o-o-o a hosszú sánc, o-o a rövid sánc jele." #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "Szabálytalan sánc, kevert" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "A kapcsolat megszakadt - fájl vége üzenet érkezett." #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "A(z) '%s' nem regisztrált név." #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "Érvénytelen jelszó.\nElfelejtette jelszó esetén a http://www.freechess.org/password címen lehet új jelszót igényelni." #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "'%s' már bejelentkezett" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "'%s' egy regisztrált név. Amennyiben a tied, add meg a jelszavad." #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "Visszaélési problémák miatt jelenleg a vendég(guest) kapcsolatok nincsenek engedélyezve.\nRegisztráció itt lehetséges: http://www.freechess.org" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Kapcsolódási a szerverhez" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Bejelentkezés a szerverre" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Környezet létrehozása" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "%(player)s most %(status)s" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "nem játszik" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Vad" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Elérhető" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Nem elérhető" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "Elérhető" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "Játszik " #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "Tétlen" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "Végrehajtás" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "Nem elérhető" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "Szimultánt játszik" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "Versenyben" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Nem értékelt" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Értékelt" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d perc" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr " + %d mp" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "%(player)s játszik mint %(color)s" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "világos" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "sötét" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "Ez egy elhalasztott játszma folytatása" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "Ellenfél értékszáma" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "Kézi elfogadás" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Magán" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Kapcsolódási hiba" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Bejelentkezési hiba" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "A kapcsolatot lezárták" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Cím hiba" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Automatikus kijelentkezés" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Kiléptetve 60 perc tétlenség miatt" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "A FICS szerver nem engedélyezi a Guest (vendég) belépést." #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "1 perces" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "3 perces" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "5 perces" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "15 perces" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "45 perces" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "Fischer random" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "Lejátszott" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Egyéb" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "Villám" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Adminisztrátor" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "Vak" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Csapat" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "Nem regisztrált" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "Tanácsadó" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "Szolgáltató képviselője" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "Verseny igazgató" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "Mamer menedzser" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "Nagymester" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "Nemzetközi mester" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "FIDE mester" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "Női nagymester" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "Női nemzetközi mester" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "Női FIDE mester" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "Üres felhasználó" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "Mesterjelölt" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "FIDE bíró" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "Nemzeti mester" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "Képernyő mester" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "C" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "T" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "U" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "CA" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "SR" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "TD" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "TM" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "GM" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "IM" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "FM" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "WGM" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "WIM" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "WFM" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "D" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "H" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "CM" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "FA" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "NM" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "DM" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "A PyChess nem tudta menteni a játszmát." #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "A panel beállítások alaphelyzetbe állítva. Amennyiben ez megismétlődik, jelezze a fejlesztőknek." #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "Barátok" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "Rendszergazda" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "További csatornák" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "További játékosok" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "Számítógép" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "Vaksakk" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "Vendég" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "Nézők" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "Tovább!" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "Szünet" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "Engedély kérése" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "A PyChess az engedélyedet kéri azon külső programok letöltéséhez, amelyek néhány új funkció használatához szükségesek." #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "Az adatbázisok lekérdezéseihez szükséges a scoutfish program" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "Az adatbázisok megnyitás fájához szükséges a chess_db program" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "Az ICC lag detektálásához szükséges a timestamp program" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "Ne jelenjen meg ez a dialógus induláskor." #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "Nincs beszélgetés kiválasztva." #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "Játékos adatainak betöltése." #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "Játékosok listájának letöltése." #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "Te lépsz." #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "Javaslat" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "Legjobb lépés" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "Gratulálok! %s megoldva." #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "Gratulálok!" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "Következő" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "Folytatás" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "Nem ez a legjobb lépés!" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "Újra" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "Kitűnő! Most nézzük hogyan tovább a fő változatban." #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "Vissza a fő változatba" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "Információs ablak mutatása" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "/" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "Előadások" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "Leckék" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "Feladványok" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "Végjátékok" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "Még nem kezdtél beszélgetést." #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "Csak regisztrált felhasználók beszélhetnek ezen a csatornán." #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "Gépi elemzés folyamatban..." #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "Meg akarod szakítani?" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "_Megszakít" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "Nem mentett változtatásaid vannak. Akarod ezeket menteni kilépés előtt." #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "Opció" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "Érték" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "Sakkmotor kiválasztása" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "Futtatható fájlok" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "Nem lehet hozzáadni ezt: %s" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "Ez a sakkprogram már szerepel ugyanezzel a névvel." #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "nincs telepítve" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "%s nincs végrehajthatónak beállítva a fájlrendszerben" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "Próbáld ezt: chmod a+x %s" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "Valami probléma van ezzel a programmal." #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "Válassz ki egy mappát" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "Importálás" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "Fájlnév" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "Munkakönyvtár kiválasztása" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "Valóban visszaállítsam az alapértelmezett értékeket?" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "Új" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "Tag" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "Dátum kiválasztása" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "Érvénytelen lépés: %s" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "_Visszavágó ajánlása" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "%s megtekintése" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Visszavágó" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Lépés visszavonása" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Lépéspár visszavonása" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "Megszakítás ajánlat elküldve." #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "Elhalasztás ajánlat elküldve." #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Döntetlen ajánlat elküldve." #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "Szünet ajánlat elküldve." #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "Folytatás ajánlat elküldve." #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "Lépés visszavonás ajánlat elküldve." #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "Azonnali lépés kérése" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "Időtúllépés bejelentése elküldve" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "A(z) %s sakkmotor leállt." #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "A pychess elveszítette a kapcsolatot a sakkmotorral.\n\nMagpróbálhatsz indítani egy új játszmát ezzel a sakkmotorral, vagy kipróbálhatsz egy másikat." #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "Ez a játszma értékszám vesztés nélkül megszakítható, mivel még nem történt két lépés." #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "_Megszakítás ajánlása" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "Az ellenfelednek bele kell egyeznie a megszakításba, mivel már kettő vagy több lépés történt a játszmában." #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "Ezt a játszmát nem lehet elhalasztani, mert a játékosok közül legalább az egyik vendég." #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "Döntetlen igénylése" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "Folytatás" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "Szünet kérése" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "Folytatás ajánlása" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "Lépés visszavétel" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "Lépés visszavétel kérése" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "kapcsolata 30 másodperce késlekedik." #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "kapcsolata erősen késlekedik, de nem szakadt meg." #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "Tovább várakozol az ellenfélre vagy megpróbálod elhalasztani a játszmát?" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "Várakozás" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "Elhalasztás" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "Kezdőállás" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "1 lépés vissza" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "Vissza a fő vátozathoz" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "Vissza a szülő variációba" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "1 lépés előre" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Utolsó pozíció" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "Állás keresése az aktuális adatbázisban" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "Nyilak/körök mentése" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "Jelenleg nincs nyitva adatbázis" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "Ez a pozíció nem fordul elő az adatbázisban" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "Csak hasonló pozíció(k) találhatók. Meg akarja nézni?" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Ember" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Perc:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "Lépés:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Jóváírás:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "Klasszikus" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "Rapid" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "%(name)s %(minutes)d perc / %(moves)d lépés %(duration)s" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "%(name)s %(minutes)d perc %(sign)s %(gain)d másodperc/lépés %(duration)s" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "%(name)s %(minutes)d perc %(duration)s" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "Becsült időtartam : %(min)d - %(max)d perc" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "Előnyadás" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "Egyéb (standard szabályok)" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "Egyéb (nem standard szabályok)" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "Ázsiai változatok" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr " sakk" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Pozíció felállítása" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "Írj vagy másolj be egy PGN játszmát vagy FEN állást ide." #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Játszma rögzítése" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "Megnyitástár fájl kiválasztása" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "Megnyitástár fájlok" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "Gaviota végjáték adatbázis könyvtár kiválasztása" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Hangfájl megnyitása" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "Hang fájlok" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Nincs hang" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Csipogás" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Hangfájl kiválasztása..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "Nincs leírás" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "Háttérkép kiválasztása" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "Képek" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "Az automatikus mentés útvonalának kiválasztása" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "A PyChess egy nyílt forrású sakkprogram. Hibák bejelentése, forráskód, dokumentáció, fordítások a http://www.pychess.org honlapon." #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "A PyChess a sakkprogramok és sakk variánsok széles skáláját támogatja. Játszhatsz internetes szervereken, tanulhatsz a leckékből, és szórakoztató feladványokból." #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "A PyChess kiadások neveiket a korábbi világbajnokokról kapták." #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "Te is segíthetsz a PyChess fordításában a transifex.com-on." #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "Egy sakk játszma megnyitásból, középjátékból és végjátékból áll. A PyChess a játék mindhárom fázisának tanulásához segítséget nyújt." #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "Tudtad, hogy egy játszmát akár kétlépéses mattal is meg lehet nyerni?" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "Tudtad, hogy a huszárt általában jobb a tála közepén elhelyezni, mint a széleken, vagy a sarkokban?" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "Tudtad, hogy a korai vezérlépések általában nem ajánlatosak?" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "Tudtad, hogy a futópár különösen erős lehet?" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "Tudtad, hogy a bástyák általában később avatkoznak a játékba?" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "Tudtad, hogy a király bizonyos feltételek esetén két mezőt is léphet? Ezt hívják sáncolásnak!" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "Tudtad, hogy a lehetséges sakkjátszmák száma meghaladja az univerzum atomjainak számát?" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "Új játszmát így kezdhetsz: Játszma -> Új játszma -> Kiinduló állásból, majd választhatsz ellenfelet, idő kontrollt és sakk variánst." #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "A számítógép elleni játszmáknál 20 erősségi fokozat közül választhatsz." #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "A 20-as fokozat esetén a sakkprogram amellett, hogy a legerősebben lépéseket keresi, szabadon gazdálkodik a rendelkezésére álló idővel is." #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "Egy játszma mentéséhez válaszd a Játszma > Mentés másként menüt, adj meg egy fájlnevet és egy helyet, ahova menteni akarod. Alul pedig válaszd ki a fájl típusához tartozó kiterjesztést, végül a Mentést." #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "Egy FEN állásban pontosan 6 adatmezőt kell megadni. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "Egy FEN állásban legalább 2 adatmezőt meg kell adni. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "A figurák elhelyezkedésének leírásában 7 darab / jelnek kell lennie. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "Az aktív szín jelzésére csak w és b használható. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "A sáncolás lehetőségeit leíró mező szabálytalan. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "Az en-passant leíró mező szabálytalan. \n\n%s" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "érvénytelen átváltozási figura" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "egy lépéshez kell legalább egy figura és egy koordináta" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "a (%s) hibás mező" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "a gyalog ütés figura megjelölés nélkül érvénytelen" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "az érkezési mező (%s) érvénytelen" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "és" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "döntetlent ér el" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "mattot ad" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "sakkot ad" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "növeli a királya biztonságát" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "növeli a királya biztonságát" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "bástyája elfoglalja a nyílt vonalat" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "bástya elfoglalja a félig nyílt vonalat" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "a futóját fianchetto fejleszti: %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "átváltoztatja a gyalogot: %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "besáncol" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "visszaveszi az anyagot" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "anyagot áldoz" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "megváltoztatja az anyagot" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "anyagot nyer" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "kiszabadítja ezt: %s" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "némi anyag lenyerésével fenyeget: %s" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "fokozza a nyomást itt: %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "megvédi ezt: %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "leköti az ellenséges %(piece)s-t a %(cord)s mezőn álló %(oppiece)s miatt" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "Világosnak új előörse van: %s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "Sötétnek új előörse van: %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "%(color)s új szabad gyalogot hozott létre: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "félig nyílt" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "a %(x)s%(y)s vonalon" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "a %(x)s%(y)s vonalakon" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "%(color)s dupla gyalogot hozott létre a %(place)s" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "%(color)s új dupla gyalogot hozott létre a(z) %(place)s" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "%(color)s izolált gyalogot hozott létre a(z) %(x)s vonalon" msgstr[1] "%(color)s izolált gyalogokat hozott létre a(z) %(x)s vonalakon" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "%s kőfal formába mozgatja a gyalogjait" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "%s ezután már nem sáncolhat" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "%s ezután már nem sáncolhat a hosszú oldalra" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "%s ezután már nem sáncolhat a rövid oldalra" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "%(opcolor)s futója csapdába esett: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "fejleszti a gyalogot: %s" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "a gyalogját közelíti az átváltozáshoz: %s" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "közelebb viszi a %(piece)s-t az ellenfél királyához: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "fejleszti a %(piece)s-t: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "aktívabb helyre viszi a %(piece)s-t: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "Világos gyalogrohamot indíthatna a jobb oldalon" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "Sötét gyalogrohamot indíthatna a bal oldalon" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "Világos gyalogrohamot indíthatna a bal oldalon" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "Sötét gyalogrohamot indíthatna a jobb oldalon" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "Sötét állása meglehetősen kényelmetlen" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "Sötét állása meglehetősen kényelmetlen" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "Világos állása meglehetősen kényelmetlen" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "Sötét állása meglehetősen kényelmetlen" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "Bekiabálás" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "Sakk bekiabálás" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "Nem hivatalos csatorna %d" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "Szűrők" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "A szűrő panel használatával a játszma lista változatos módokon szűrhető." #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "Szerkesztés" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "Törlés" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "Új" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "Seq" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "Új feltétel sorozatot hoz létre, melynek egyes feltételei a játszma nem feltétlenül egymás után közvetlenül következő állásaiban teljesülnek" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "Str" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "Olyan új feltétel sorozatot hoz létre, melynek egyes feltételei a játszma egymás után közvetlenül következő állásaiban teljesülnek" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "A játszma lista szűrése különböző feltételek alapján" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "Sequence" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "Streak" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "Megnyitások" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "A megnyitás panel használatával a játszma lista a kezdeti lépések alapján szűrhető." #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "Lépés" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "Játszmák" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "Győzelem %" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "A játszma lista szűrése megnyitások alapján" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "Előnézet" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "Az előnézet panel használatával a játszma lista az aktuális játszma lépései alapján szűrhető." #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "A játszma lista szűrése az aktuális játszma lépései alapján" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "Rész-fen szűrő hozzáadása állás/körök alapján" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "PGN import" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "Mentés PGN fájlba mint..." #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "Megnyit" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "Sakkfájl megnyitása..." #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "Mentés másként..." #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "Sakkfájl megnyitása" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "Index fájlok újra generálása..." #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "Felkészülés az importálásra..." #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "%s játszma feldolgozva" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "Új Polyglot megnyitás fájl készítése" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "Polyglot fájl készítése" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "Új PGN adatbázis lérehozása" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "A fájl '%s' már létezik." #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "%(path)s\n%(count)s játszma" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "Id" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "V Élő" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "S Élő" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "Forduló" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "Hossz" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "Idő kontroll" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "A legelső játszmák" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "Előző játszmák" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "Következő játszmák" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "Archív" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "Elhalasztott, múltbeli és naplózott játszmák listája" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Idő" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Típus" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Dátum/Idő" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "akivel van egy elhalasztott %(timecontrol)s %(gametype)s játszmád, elérhető." #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "Folytatás kérése" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "Elhalasztott játszma lejátszása" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "Csevegés" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "Szerver csatornák listája" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Csevegés" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "Info" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "Konzol" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "A sakk szerver parancssoros felülete" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Győzelem" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Döntetlen" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Vereség" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "Kell" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "Legmagasabb" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "A FICS-en a \"Vad\" értékszám magában foglalja a következő sakkvariánsokat minden időkontroll mellett:\n" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "Büntetések" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "E-mail" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Eltelt" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "összesen a kapcsolatban" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Kapcsolódás" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "Információk (finger)" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "Jelenleg vendégként (guest) vagy bejelentkezve, de létezik egy teljesen ingyenes 30 napos kipróbálási lehetőség, ami később sem válik automatikusan fizetőssé, és a 30 nap után is megmarad a használat lehetősége. (Néhány megszorítással. Például nem lesznek elérhetők a prémium videók, a csatornák használata korlátozott lesz, stb.) Itt regisztrálhatsz: " #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "Jelenleg vendégként (guest) vagy bejelentkezve. Mivel a vendégek nem játszhatnak értékelt játszmákat, ezért lényegesen kevesebb fajta játszma keresést láthatnak mint a regisztrált felhasználók. Itt regisztrálhatsz: " #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "Játszmák" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "Folyamatban lévő játszmák listája" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Folyamatban lévő játszma: %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "Hírek" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "Szerver hírek listája" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "Értékszám változás (assess)" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "Követés (follow)" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "Játékosok" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "Játékosok listája" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Név" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "Státusz" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "Aktív játékos: %d" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "Ez a gomb le van tiltva vendégként bejelentkezettek esetén, mert azok nem játszhatnak értékelt játszmákat." #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Kihívás: " #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "Ha be van jelölve, visszautasíthatod az elfogadott kereséseket." #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "Kihívás esetén ennek nincs értelme." #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Keresés: " #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "%(minutes)d perc + %(gain)d mp/lépés" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Kézi" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "Tetszőleges erősség" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "Nem játszhatsz értékelt játszmákat vendégként." #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "Nem játszhatsz értékelt játszmát, mert az \"Időkontroll nélkül\" van bejelölve, " #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "és a FICS-en az időkontroll nélküli játszmák nem lehetnek értékeltek." #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "Ez az opció tiltva van, mivel egy vendéget hívtál ki, " #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "és a vendégek nem játszhatnak értékelt játszmákat." #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "Nem játszhatsz sakk variánsokat, mert az \"Időkontroll nélkül\" van bejelölve, " #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "és a FICS-en az időkontroll nélküli játszmák csak standard játszmák lehetnek." #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "Eltérés" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "Keresések grafikusan" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "Keresések és kihívások grafikusan" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " perc" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "Keresések/kihívások" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "Keresések és kihívások listája" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "A játszma kimenetelének hatása az értékszámokra" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "Győzelem:" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "Döntetlen:" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "Vereség:" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "Új RD" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Aktív keresés: %d" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "szeretné folytatni az elhalasztott %(time)s %(gametype)s játszmádat." #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr " kihív téged egy %(time)s %(rated)s %(gametype)s játszmára." #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr " ahol %(player)s játszik mint %(color)s." #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "ICS" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "Kilépés" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "Új 1 perces játszma" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "Új 3 perces játszma" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "Új 5 perces játszma" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "Új 15 perces játszma" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "Új játszma a 25 perces pool-ból " #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "Új játszma a Fischer random pool-ból " #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "A kibitz változót 1-re kell állítani a konzolban, hogy itt láthasd a bot üzeneteket." #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "Csak 3 keresés megengedett. Ha újat szeretnél, akkor előbb törölni kell az aktuális aktív kereséseidet. Törlöd a kereséseket?" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "Nem engedélyezett, amíg végigjátszás (examine) módban vagy." #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "visszautasította a játszma ajánlatodat" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "censor listáján szerepelsz" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "noplay listáján szerepelsz" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "a kihívásoddal nem összeegyeztethető formulát használ:" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "kézi elfogadás" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "automatikus elfogadás" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "jelenlegi értékszám tartomány" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "Keresés frissítve" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "Saját keresések eltávolítva" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "megérkezett" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "távozott" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "jelen van" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Automatikus típusdetektálás" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "Hiba a játszma betöltése közben" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Játszma mentése" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "Állás exportálása" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Ismeretlen fájltípus '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "Nem lehet menteni '%(uri)s' -be, mert a PyChess nem ismeri a '%(ending)s' formátumot." #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Nem lehet menteni a '%s' fájlt" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "Nincs elég jogosultságod a fájl mentéséhez.\nGyőződj meg róla, hogy jó útvonalat adtál meg, és próbáld újra." #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Felülír" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "A fájl már létezik." #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "A '%s' fájl már létezik. Fölül akarja írni?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "A(z) '%s' fájl már létezik. Ha lecseréli, a tartalma felülíródik." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Nem lehet menteni a fájlt." #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "A PyChess nem tudta menteni a játszmát." #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "A hiba: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "%d játszma még nincs mentve." msgstr[1] "%d játszma még nincs mentve." #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "Akarod menteni mielőtt bezárod?" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "Nem lehetett menteni a beállított fájlba. Mentsük a játszmákat bezárás előtt?" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "-" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "%d játszma _mentése" msgstr[1] "%d játszma _mentése" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "Mented a játszmát bezárás előtt?" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "Nem sikerült a mentés a beállított fájlba. Menti a játszmát bezárás előtt?" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "A játszmát nem tudod később folytatni, ha most nem mented el." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Minden sakkfájl" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "Elemzés" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "Elemzett játszma" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "Frissítés" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "Kezdő megjegyzés" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "Megjegyzés hozzáadása" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "Megjegyzés szerkesztése" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "Jó lépés" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "Rossz lépés" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "Kitűnő lépés" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "Nagyon rossz lépés" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "Érdekes lépés" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "Gyanús lépés" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "Kikényszerített lépés" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "Lépés minősítése" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "Döntetlen" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "Tisztázatlan állás" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "Kis előny" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "Közepes előny" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "Döntő előny" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "Megsemmisítő előny" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "Lépéskényszer" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "Fejlődési előny" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "Kezdeményezés" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "Támadással" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "Kompenzáció" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "Ellentámadás" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "Időzavar" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "Állás minősítése" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "Megjegyzés" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "Szimbólum" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "Az össze értékelés" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "Eltávolítás" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "Idő kontroll nélkül" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "perc" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "másodperc" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "%(time)s perc / %(count)d lépés" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "lépés" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "%s forduló" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "Javaslat" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "Számítógépes segítség a játszma minden fázisában." #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Hivatalos PyChess panel." #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Megnyitástár" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "A leggyakrabban alkalmazott lépések az adott megnyitásban" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "%s elemzése" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "%s megpróbálja megállapítani a legjobb lépést és hogy melyik oldal áll jobban." #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "%s fenyegetés elemzése" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "%s megpróbálja megállapítani, hogy mi fenyegetne, ha az ellenfél következne lépésre." #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "Számolás..." #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "A sakkprogram állásértékelése egységnyi gyalog mértékben számolva, világos szemszögéből. A dupla kattintás a lépés sort az elemzés ablakba másolja új variációként." #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "További javaslatok hozzáadása segíthet ötleteket meríteni, de lassítja a számítógépes elemzést." #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "Végjáték adatbázis" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "A végjáték adatbázis használata pontos elemzést ad ha már csak néhány figura van a táblán." #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "Matt %d lépésben." #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "Ebben az állásban nincs szabályos lépés." #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "Csevegés a partnerrel játszma közben" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Megjegyzések" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "Magyarázó megjegyzések a lépésekhez" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Kezdőállás" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "%(color)s %(piece)s lép: %(cord)s" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "Sakkmotorok kimenetei" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "A számítógépes sakkprogramok gondolkodását mutatja a játszmák közben" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "Ebben a játszmában egyik játékos sem számítógépes sakkprogram" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Játszmalap" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "Navigálható lépéslista" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Érték" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "Grafikus állásértékelés" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "Végjátékok gyakorlása a számítógép ellen" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "Cím" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "Offline FICS előadások" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "Szerző" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "Interaktív leckék \"találd ki a következő lépést\" stílusban" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "Forrás" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "Előrehaladás" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "Lichess gyakorló leckék, feladványok nagymester játszmákból és sakk kompozíciók" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "egyebek" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "Tanulás" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "Kilépés a tanulásból" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "lichess" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "wtharvey" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "yacpdb" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "leckék" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "Előrehaladás nullázása" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "Az össze előrehaladás adat el fog veszni!" pychess-1.0.0/lang/eu_ES/0000755000175000017500000000000013467766037014202 5ustar varunvarunpychess-1.0.0/lang/eu_ES/LC_MESSAGES/0000755000175000017500000000000013467766037015767 5ustar varunvarunpychess-1.0.0/lang/eu_ES/LC_MESSAGES/pychess.mo0000644000175000017500000001311413467766035020000 0ustar varunvarunt\   # $ 3 D S f r *y              $ + 5 8 ; C F W Y e h $y        C 4 G T ` m {              ! ) 7 F L N Q 9T 3          ( 6 @JPYjpy       x!     $7 9 DQXZ]` o|         ('Pcem H.AVi{}   (3:K`fhk8n9  ! +7=F V dr{      , 2?F4 :Am6MDV)bhjZ U1O=EceG2gla idkfS! /#$C*W.H(>93,L@XB?F<-rQ8P"' ^%[+7T\n_]oq`Kp; sI0tY&J5RN*General OptionsName of _first human player:Name of s_econd human player:Open GamePlayers_Start GameAbout ChessAcceptAuto _rotate board to current human playerBBlack O-OBlack O-O-OBlack:CCACMCalculating...Chess clientClearCommentsComputerComputersDDatabaseDeclineEnginesEvent:ExternalsFAFMFriendsGMGame informationHHow to PlayIMImport chessfileImport games from theweekinchess.comInitial positionKKingLoad _Recent GameMove numberNNMNew GameNew _DatabaseNo chess engines (computer players) are participating in this game.Offer Ad_journmentOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoPPausePlayPlay _Internet ChessPlayer _RatingPng imagePreferencesPyChess Information WindowQRRound:SRSaveSave Game _AsSave database asScoreSearch:Select engineSetup PositionSite:TTDTMThe displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.ThemesTip of the DayTranslate PyChessUUninstallWFMWGMWIMWhite O-OWhite O-O-OWhite:_Actions_Analyze Game_Copy FEN_Copy PGN_Edit_Engines_Export Position_Game_General_Help_Load Game_Name:_New Game_Next_Password:_Player List_Save Game_Sounds_Start Game_Use sounds in PyChess_View_Your Color:blackwhiteProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Basque (Spain) (http://www.transifex.com/gbtami/pychess/language/eu_ES/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: eu_ES Plural-Forms: nplurals=2; plural=(n != 1); *Aukera orokorrakLehen giza jokalariaren izena:Bigarren giza jokalariaren izena:Ireki JokoaJokalariakHasi JokoaXakeari BuruzOnartuBiratu taula egungo giza jokalariariBBeltza O-OBeltza O-O-OBeltzaCCACMKalkulatzen...Xake bezeroaGarbituIruzkinakOrdenagailuaOrdenagailuakDDatu-baseaUkatuMotoreakEkitaldiaKanpokoakFAFMLagunakGMJoko informazioaHNola JolastuIMXake-fitxategia InportatuJokoak inportatu theweekinchess.com-etikHasierako posizioaKErregeaArestiko Jokoa KargatuMugitu ZenbakiaNNMJoko berriaDatu-Base berriaEz dago xake-motorrik (ordenagailu jokalaria) joko honetan parte hartzenAtzerapena EskainiBertan Behera Uztea EskainiBerdinketa EskainiAtsedenaldia EskainiJarraitzea EskainiZuzentzea EskainiPEtenJolastu_Internet Xake PartidaJokalarien BalorazioaPng IrudiaLehentasunakPyChess Informazio LeihoaQRTxandaSRGordeGorde Jokoa HonelaGorde datu-basea honelaPuntuazioaBilatuAukeratu motoreaPosizioa KonfiguratuGuneaTTDTMErakutsitako lehen giza jokalaria, adibidez, John izena.Jokalari-gonbidatuaren bistaratutako izena, adib., Maite.GaiakEguneko aholkuaItzuli PyChessUDesinstalatuWFMWGMWIMZuria O-OZuria O-O-OZuriaEkintzakJokoa AnalizatuFEN-a KopiatuPGN-a Kopiatu_EditatuMotoreakEsportatu PosizioaJokoaOrokorLaguntzaJokoa KargatuIzenaJoko berriaHurrengoaPasahitzaJokalari ZerrendaGorde JokoaSoinuakHasi JokoaPyChess-en soinua erabiliIkusiZure Koloreabeltzazuriapychess-1.0.0/lang/eu_ES/LC_MESSAGES/pychess.po0000644000175000017500000043434413455543005020002 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # Bingen Markes , 2018 # Jon Bergerandi , 2017 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Basque (Spain) (http://www.transifex.com/gbtami/pychess/language/eu_ES/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: eu_ES\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "Jokoa" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "Joko berria" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "_Internet Xake Partida" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "Jokoa Kargatu" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Arestiko Jokoa Kargatu" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "Gorde Jokoa" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Gorde Jokoa Honela" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "Esportatu Posizioa" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Jokalarien Balorazioa" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "Jokoa Analizatu" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Editatu" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "PGN-a Kopiatu" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "FEN-a Kopiatu" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "Motoreak" #: glade/PyChess.glade:518 msgid "Externals" msgstr "Kanpokoak" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "Ekintzak" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Bertan Behera Uztea Eskaini" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Atzerapena Eskaini" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Berdinketa Eskaini" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Atsedenaldia Eskaini" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Jarraitzea Eskaini" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Zuzentzea Eskaini" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "Ikusi" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "Datu-basea" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "Datu-Base berria" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "Gorde datu-basea honela" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "Xake-fitxategia Inportatu" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "Jokoak inportatu theweekinchess.com-etik" #: glade/PyChess.glade:865 msgid "_Help" msgstr "Laguntza" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Xakeari Buruz" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Nola Jolastu" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Itzuli PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Eguneko aholkua" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Xake bezeroa" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Lehentasunak" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "Erakutsitako lehen giza jokalaria, adibidez, John izena." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Lehen giza jokalariaren izena:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "Jokalari-gonbidatuaren bistaratutako izena, adib., Maite." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Bigarren giza jokalariaren izena:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "Biratu taula egungo giza jokalariari" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "Aukera orokorrak" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "" #: glade/PyChess.glade:1527 msgid "_General" msgstr "Orokor" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Desinstalatu" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Gaiak" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "PyChess-en soinua erabili" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "Soinuak" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Gorde" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Erregea" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Joko informazioa" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Gunea" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Beltza" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Txanda" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Zuria" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Ekitaldia" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "Pasahitza" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "Izena" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Ordenagailua" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "Jokalari Zerrenda" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Jolastu" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "Bilatu" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "Hurrengoa" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Joko berria" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "Hasi Jokoa" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "Garbitu" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Jokalariak" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Ireki Jokoa" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "Mugitu Zenbakia" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "Beltza O-O" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "Beltza O-O-O" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "Zuria O-O-O" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "Zuria O-O" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "Zure Kolorea" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "Hasi Jokoa" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "Onartu" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "Ukatu" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "Png Irudia" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "N" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "B" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "R" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "Q" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "K" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "zuria" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "beltza" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "C" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "T" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "U" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "CA" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "SR" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "TD" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "TM" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "GM" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "IM" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "FM" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "WGM" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "WIM" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "WFM" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "D" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "H" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "CM" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "FA" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "NM" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "Lagunak" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "Ordenagailuak" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "Eten" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "PyChess Informazio Leihoa" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "Aukeratu motorea" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Posizioa Konfiguratu" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "Kalkulatzen..." #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Iruzkinak" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Hasierako posizioa" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "Motoreak" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "Ez dago xake-motorrik (ordenagailu jokalaria) joko honetan parte hartzen" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Puntuazioa" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/nb/0000755000175000017500000000000013467766037013601 5ustar varunvarunpychess-1.0.0/lang/nb/LC_MESSAGES/0000755000175000017500000000000013467766037015366 5ustar varunvarunpychess-1.0.0/lang/nb/LC_MESSAGES/pychess.mo0000644000175000017500000007515213467766036017412 0ustar varunvarun WX% Y%d%i%%%`%(&+0&'\&#&0&&&&#'$3''X'' '!'''' ((/(4(Q('W(@((((()*)#F)$j)))))))**Q**&|*C*7*U+*u+(++++, ,",*, ;, I,W,Cg, ,,*, ,-Q-U-!t-- --Q- A.Kb.$.6.# /!./!P/-r/&/-/;/1060=0$C0#h0%0"0#00 1 11"1)1 11 ;1G1[1l1 q11 11 11111 11 220272 O2 [2e222G2`2 J3U3 Z3 d3p3 v33 333 3333344 '454 G4T4Z4 _4 k4Xw4c4]45q5S6FX666D6 7#7;7=7B7 I7U7 g7 q7|7 7 7 77777 778 8#8 ,8 78 E8 R8_8a8/f88 88888888 9 9 #9 /9 <9 J9V9n9v9}99.9 99 9::: :+: 0: :: G:T:Y:^: x::::::: :: ; ;#;:; U;a;c; i; t;;;;;; ;;; ;;; ; ;;<< <<"1<T< c<m<<< <<<<< <<=== $=.=A=T= j=w==h=">C%>5i>9>3> ??T.? ?Z??@@;@T@`p@@@kA{AAAZA B BK'BAsBABBB CC*C CCCD D!D 3DAD PDZDbDxDD D DDDMDE!E$'E#LE%pE"E#EEEEE9F?:F9zF(FCF$!G&FGmG G!GGGG G GGHH H#H )H4H=H%CHiH pH {HH HHH H HH H HH H$I+I >III]InI vIII II!I)I8I5J1OJ'JJJJ JJKK K 3K =K"GK+jKKKKKKKL!L @LaL dL qLLLLLLL6L(MFM^M uMMMMM#M!MN%N)Nu1NOOO'O\O*XP.P+P$P0Q4QKQRQ!lQ$Q2QQ#Q* R%KRqRyRRRRRR+RCSDSVSgS{SSS.S,S'T;TUTiTTTTTQT(UAFU3UZU/V#GVkVVVVVVV V VWDWXWhW5{W WWVWX 5XVXmXXVXYFY&fY.Y!YYY*Z"AZ6dZ:ZZZZ%Z$ [2[,R[+[[ [[[[[ [ [[\\#\2\ H\ S\a\j\q\ \ \ \\\\\\ ]]]/]F]BL]L] ]] ]] ^^ "^ -^9^ N^o^^^^^^^^^ ___#_2_b;_\_f_gb`N`Aa[alaOaaab bb b&b9b=bBbUbebubbbbb bbbb b c cc*c9c;c6@c wccc ccccc c cc dd(dqCqKSqEqFq',rATr&r&rr)s.*s Ysfs msys ssss ss s ss)s t t t(t /t;tBt Ut btlt ttt t'tt tt uu "u/uFu KuWu)Zu5uIu)v6.v(evvvv vvv vw w %w"/wBRwwwwwww#x'%xMxdx gxsxx xxxxx8x(3y\yzy y yy*yy"y)z@z_zcz 1dHdCW~h$2[T- K7EV'!%jx[sfpvCU 0!*o&5:WbL,XV w:q,Fx%l?A (ugX^]i@jEoaJ1"Om}*9 rwtpN_8scT(g.)0'|I/K"4_?f =6< 9SDby8\D{S5)z\}eLB`mnQ{NcO$B/&r~n;;7yYZzZG`H-^#GvM>U Y=kAtkR4F>Ru i3q3+]2 Pa e6|#<.+@lPMQJIh Gain: min%(black)s won the game%(color)s got a double pawn %(place)s%(color)s got an isolated pawn in the %(x)s file%(color)s got isolated pawns in the %(x)s files%(color)s got new double pawns %(place)s%(color)s has a new passed pawn on %(cord)s%(color)s moves a %(piece)s to %(cord)s%(minutes)d min + %(gain)d sec/move%(opcolor)s has a new trapped bishop on %(cord)s%(white)s won the game%d min%s can no longer castle%s can no longer castle in kingside%s can no longer castle in queenside%s moves pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent'%s' is not a registered name(Blitz)0 Players Ready0 of 010 min + 6 sec/move, White12002 min, Fischer Random, Black5 minPromote pawn to what?PyChess was unable to load your panel settingsAnalyzingAnimationChess VariantEnter Game NotationInitial PositionInstalled SidepanelsName of _first human player:Name of s_econd human player:Open GameOpponent StrengthOptionsPlay Sound When...PlayersTime ControlYour Color_Start GameA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedPyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to save file '%s'Unknown file type '%s'Challenge:A player _checks:A player _moves:A player c_aptures:About ChessAc_tiveActive seeks: %dAddress ErrorAdministratorAll Chess FilesAnimate pieces, board rotation and more. Use this on fast machines.Ask to _MoveAsymmetric RandomAuto _rotate board to current human playerAuto-logoutBBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause %(mover)s stalematedBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause the %(black)s engine diedBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBeepBishopBlackBlack has a new piece in outpost: %sBlack has a rather cramped positionBlack has a slightly cramped positionBlack should do pawn storm in leftBlack should do pawn storm in rightBlack:BlindfoldBlindfold AccountBlitzBlitz:Center:ChallengeChallenge: Challenge: Change ToleranceChatChess AdvisorChess Alpha 2 DiagramChess GameChess PositionChess ShoutClockClose _without SavingCommand:CommentsConnectingConnecting to serverConnection ErrorConnection was closedCornerCould not save the fileCreate SeekDate/TimeDestination Host UnreachableDetect type automaticallyDiedDo you know that it is possible to finish a chess game in just 2 turns?Do you know that the number of possible chess games exceeds the number of atoms in the Universe?Don't careDrawEdit SeekEdit Seek: EmailEnter GameEvent:FIDE MasterF_ull board animationFace _to Face display modeFile existsFischer RandomGain:Game informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Games running: %dGrand MasterGuestHideHow to PlayHuman BeingIf set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If you don't save, new changes to your games will be permanently lost.Initial positionInternational MasterIt is not possible later to continue the game, if you don't save it.Jump to initial positionJump to latest positionKKingKnightKnight oddsLeave _FullscreenLightningLightning:Loading player dataLocal EventLocal SiteLog on ErrorLog on as _GuestLogging on to serverLosersLossMamer ManagerManage enginesManualManually accept opponentMinutes:Minutes: More channelsMore playersMove HistoryNNameNever use animation. Use this on slow machines.New GameNo _animationNo conversation's selectedNo soundNormalObserveObserved _ends:OddsOffer Ad_journmentOffer RematchOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpen GameOpen Sound FileOpening BookOpponent's strength: OtherPParameters:PawnPawn oddsPawns PassedPawns PushedPingPlayPlay Fischer Random chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer _RatingPo_rts:Pre_viewPrefer figures in _notationPreferencesPrivatePromotionProtocol:PyChess - Connect to Internet ChessPyChess Information WindowPyChess.py:QQueenQueen oddsQuit PyChessRR_esignRandomRapidRatedRated gameRatingRookRook oddsRound:S_ign upSave GameSave Game _AsSave moves before closing?ScoreSearch:Seek _GraphSelect sound file...Select the games you want to save:Send ChallengeSend seekService RepresentativeSetting up environmentSetup PositionSho_w cordsShoutShow tips at startupShredderLinuxChess:ShuffleSide_panelsSimple Chess PositionSite:SpentStandardStandard:Start Private ChatStep back one moveStep forward one moveTeam AccountThe abort offerThe adjourn offerThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The flag callThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe reason is unknownThe resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe takeback offerThemesThere is %d game with unsaved moves.There are %d games with unsaved moves.This option is not applicable because you're challenging a playerThis option is not available because you're challenging a guest, TimeTime control: Tip Of The dayTip of the DayTo save a game Game > Save Game As, give the filename and choose where you want to be saved. At the bottom choose extension type of the file, and Save.Tolerance:Tournament DirectorTranslate PyChessTypeUnable to accept %sUndescribed panelUndo one moveUndo two movesUninstallUnknownUnofficial channel %dUnratedUntimedUpside DownUse _analyzerUse _inverted analyzerUse opening _bookWas unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.WelcomeWhiteWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite has a slightly cramped positionWhite should do pawn storm in leftWhite should do pawn storm in rightWhite:WildWinWorking directory:You can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou can't select a variant because "Untimed" is checked, You can't switch colors during the game.You have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou have tried to undo too many moves.You sent a draw offerYour opponent asks you to hurry!Your opponent is not out of time.Your strength: _Accept_Actions_Call Flag_Clear Seeks_Decline_Edit_Engines_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hints_Load Game_Log Viewer_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Use sounds in PyChess_View_Your Color:andand guests can't play rated gamesand on FICS, untimed games can't be ratedand on FICS, untimed games have to be normal chess rulesask your opponent to movebrings a %(piece)s closer to enemy king: %(cord)sbrings a pawn closer to the backrow: %scall your opponents flagcaptures materialcastlesdefends %sdevelops a %(piece)s: %(cord)sdevelops a pawn: %sdrawsexchanges materialgnuchess:half-openhttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyin the %(x)s%(y)s filein the %(x)s%(y)s filesincreases the pressure on %smatesminmoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %sofoffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalpins an enemy %(oppiece)s on the %(piece)s at %(cord)splaces a %(piece)s more active: %(cord)spromotes a Pawn to a %sputs opponent in checkrescues a %sresignsecslightly improves king safetytakes back materialthe captured cord (%s) is incorrectthe move needs a piece and a cordthreatens to win material by %svs.window1Project-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Norwegian Bokmål (http://www.transifex.com/gbtami/pychess/language/nb/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: nb Plural-Forms: nplurals=2; plural=(n != 1); Inkrement: min%(black)s vant partiet%(color)s har en dobbeltbonde %(place)s%(color)s har en isolert bonde i linjen %(x)s%(color)s har isolerte bønder i linjene %(x)s%(color)s har nye dobbeltbønder %(place)s%(color)s har en ny passert bonde på %(cord)s%(color)s flytter en %(piece)s til %(cord)s%(minutes)d min + %(gain)d sek/trekk%(opcolor)s har en ny fanget løper på %(cord)s%(white)s vant partiet%d min%s kan ikke rokere lenger%s kan ikke rokere på kongesiden%s kan ikke rokere på dronningsiden%s flytter bøndene inn i en stonewall-oppstilling%s returnerer en feil%s ble avslått av motstanderen din%s ble trukket tilbake av motstanderen din'%s' er ikke et registrert brukernavn(Blitz)0 spillere klare0 av 010 min + 6 sek/trekk, Hvit12002 min, Fischer Random, Svart5 minForvandle bonden til hva?PyChess kunne ikke laste panelinnstillingene dineAnalysererAnimasjonSjakkvariantLegg inn trekknotasjonStartposisjonInstallerte sidepanelNavn på _første menneskelige spiller:Navn på andr_e menneskelige spiller:Åpent partiMotstanders styrkeAlternativerSpill lyd når...SpillereTidskontrollDin farge_Start partiFilen '%s' eksistererer allerede. Ønsker du å erstatte denne?Motoren, %s, har døddPyChess oppdager motorene dine. Vennligst vent.PyChess klarte ikke lagre partietDet er %d partier med ulagrede trekk. Lagre endringer før du avslutter?Klarer ikke å lagre fil '%s'Ukjent filtype %sUtfordring:En spiller _sjakker:En spiller _trekker:En spiller sl_år en brikke:Om sjakkAk_tivAktive søk: %dAdressefeilAdministratorAlle sjakkfilerAnimer brikker, brettrotasjon og mer. Bruk dette på raske maskiner.Be om et _trekkAsymmetrisk RandomAuto_roter brettet til gjeldende menneskelige spillerAuto-logg-utLFordi %(black)s gikk tom for tid og %(white)s ikke har nok materiale til å sette mattFordi %(loser)s ble frakobletFordi %(loser)s gikk tom for tidFordi %(loser)s ga oppFordi %(loser)s ble satt mattFordi %(mover)s ble satt pattFordi %(white)s gikk tom for tid og %(black)s ikke har nok materiale til å sette mattFordi en spiller ble frakobletFordi en spiller ble frakoblet og den andre spilleren ba om utsettelseFordi begge spillerne gikk tom for tidFordi ingen av spillerene har nok mattmaterialFordi det ble avgjort av en adminFordi %(black)s motor dødeFordi %(white)s motor dødeFordi tilkoblingen til tjeneren ble mistetFordi partiet overgikk makslengdenFordi de siste 50 trekkene ikke har ført til noe nyttFordi den samme stillingen ble gjentatt tre ganger på radBipLøperSvartSvart har en ny brikke på utpost: %sSvart har en temmelig trang stillingSvart har en noe trang stillingSvart burde foreta en bondestorm til venstreSvart burde foreta en bondestorm til høyreSvart:BlindsjakkBlindsjakkontoBlitzBlitz:Senter:UtfordringUtfordring: Utfordring: Endre toleranseChatSjakkrådgiverChess Alpha 2 DiagramSjakkpartiSjakkstillingSjakkropKlokkeLukk _uten å lagreKommando:KommentarerKobler tilKobler til tjenerTilkoblingsfeilOppkopling ble stengt nedHjørneKlarte ikke lagre filenOpprett søkDato/tidMålvert utilgjengeligOppdag type automatiskDødeVet du at det er mulig å avslutte et parti sjakk på kun 2 turer?Vet du at antallet mulige sjakkpartier overgår antallet atomer i universet?Bryr meg ikkeRemisRediger søkRediger søk: E-postLegg inn partiTurnering:FIDE MesterF_ull brettanimasjonAnsikt _til ansikt-visningsmodusFilen eksistererFischer RandomTillegg:PartiinformasjonPartiet er _remis:Partiet er _tapt:Parti er _satt opp:Partiet er _vunnet:Kjørende partier: %dStormesterGjestSkjulHvordan spilleMenneskeHvis satt vil PyChess bruke figuriner for å uttrykke flyttede brikker heller enn store bokstaver.Hvis satt vil svarte brikker være opp ned, bra for å spille mot venner på mobile enheter.Hvis satt vil brettet snu seg etter hvert trekk for å vise den naturlige siden for gjeldende spiller.Hvis satt vil spillebrettet vise rader og kolonner for hvert sjakkfelt. Dette er bra for sjakknotasjon.Hvis satt så skjules fanene i toppen av spillevinduet når disse ikke trengs.Hvis du ikke lagrer vil nye endringer til partiene dine gå tapt.ÅpningsstillingInternasjonal MesterDet vil ikke være mulig å fortsette partiet senere dersom du ikke lagrer det.Gå tilbake til startstillingenGå til siste stillingKKongeSpringerSpringerodds_Forlat fullskjermLynLyn:Laster spillerdataLokal turneringLokalt nettstedPåloggingsfeilLogg på som _GjestLogger på tjenerLosersTapMamer ManagerHåndter motorerManuellManuellt godta motstanderMinutter:Minutter: Flere kanalerFlere spillereTrekkhistorikkSNavnAldri bruk animasjoner. Bruk dette på trege maskiner.Nytt partiIngen _animasjonIngen samtale valgtIngen lydNormalObserverObserverte _avslutninger:OddsTilby _pauseTilby omkampTilby _avbruddTilby _remisTilby kort _pauseTilby _fortsettelseTilby _omtrekkOffisielt PyChess-panel.AvloggetPåloggetBare ani_mer trekkBare animer brikketrekk.Bare registrerte brukere kan snakke i denne kanalenÅpent spillÅpne lydfilÅpningsbokMotstanders styrke: AndreBParametre:BondeBondeoddsPasserte bønderDyttede bønderPingSpillSpill Fischer Random sjakkSpill omkampSpill _internett sjakkSpill med vanlige sjakkreglerSpiller_ratingPo_rter:Forhånds_visningForetrekk figuriner i _notasjonInnstillingerPrivatForvandlingProtokoll:PyChess - Koble til Internett SjakkPyChess informasjonsvinduPyChess.py:DDronningDronningoddsAvslutt PyChessT_Trekk degTilfeldigHurtigRatetRated partiRatingTårnTårnoddsRunde:Reg_istrer degLagre partiL_agre parti somLagre trekk før du lukker?PoengSøk:Søke_grafVelg lydfil...Velg partier du vil lagre:Send utfordringSend søkTjenesterepresentantSetter opp miljøSett opp posisjon_Vis koordinaterRopVis tips ved oppstartShredderLinuxChess:ShuffleSide_panelEnkel sjakkstilliingNettsted:BruktStandardStandard:Start privat samtaleGå tilbake et trekkGå frem et trekkLagkontoAvbruddstilbudetPausetilbudetChat-panelet lar deg kommunisere med motstanderne dine under et parti, gitt at han eller hun er interessertKlokkene har ikke blitt startet ennå.Kommentarpanelet vil prøve å analysere og forklare trekkene som blir spiltTilkoblingen ble brutt - fikk melding om «end-of-file»Det viste navnet er den første menneskelige spilleren, f.eks., Ola.Det viste navnet på gjestespilleren, f.eks., Kari.RemistilbudetFeilen var: %sFilen eksisterer allerede i '%s'. Dersom du ønsker å erstatte den, vil dens innhold bli overskrevet.TidskravetPartiet kan ikke leses til enden fordi en feil i tolkningen av trekk %(moveno)s '%(notation)s'.Partiet endte remisPartiet har blitt avbruttPartiet har blitt pausetPartiet har blitt annullertTrekket feilet fordi %s.Trekklisten holder orden på spillernes trekk og lar deg navigere gjennom partihistorikkenTilbudet om å bytte siderÅpningsboken vil prøve å inspirere deg under åpningsfasen av partiet ved å vise deg vanlige trekk gjort av sjakkmesterePausetilbudet (kort)Årsaken er ukjentOppgivelsenFortsettelsestilbudetEvalueringspanelet prøver å evaluere stillingen og viser deg en graf of partiets fremdriftTilbudet om å gjøre om trekkTemaDet er %d parti med ulagrede trekk.Det er %d partier med ulagrede trekk.Dette alternativet er ikke tilgjengelig fordi du utfordrer en spillerDette alternativet er ikke tilgjengelig fordi du utfordrer en gjest, TidTidskontroll: Dagens tipsDagens tipsFor å lagre et parti PartiLagre parti som, angi filnavnet og velg hvor du vil det skal lagres. På bunnen velger du filtypen og LagreToleranse:TurneringsdirektørOversett PyChessTypeKan ikke akseptere %sUbeskrevet panelGjør om ett trekkGjør om to trekkAvinstallerUkjentUoffisiell kanal %dUratetUten tidOpp-nedBruk _analyseprogramBruk _invers analyseBruk _åpningsbokKunne ikke lagre '%(uri)s' siden PyChess ikke kjenner formatet '%(ending)s'.VelkommenHvitHvit har en ny brikke på utpost: %sHvit har en temmelig trang stillingHvit har en noe trang stillingHvit burde foreta en bondestorm til venstreHvit burde foreta en bondestorm til høyreHvit:WildVinnArbeidskatalog:Du kan ikke spille ratede partier fordi «Uten tidskontroll» er haket av, Du kan ikke spille ratede partier fordi du er logget inn som en gjestDu kan ikke velge en variant fordi «Uten tidskontroll» er haket av, Du kan ikke bytte farger under partiet.Du har blitt logget ut fordi du var inaktiv i mer enn 60 minutterDu har ikke åpnet noen samtaler ennåDu kan ikke gjøre om for mange trekk.Du har sendt et remistilbudMotstanderen din ber deg om å skynde degMotstanderen din har ikke brukt opp tiden sin.Din styrke: _GodtaH_andlinger_Krev vinst på tid_Slett søk_AvslåR_ediger_Motorer_Fullskjerm_Parti_Spilliste_Generelt_Hjelp_Skjul faner når kun ett parti er åpent_Hint_Last partiVis _Logg_Navn:_Nytt parti_Neste_Observerte trekk:M_otstander:_Passord:S_pill normal sjakkS_pillerliste_ForrigeE_rstattSnu b_rettet_Lagre %d dokument_Lagre %d dokumenter_Lagre %d dokumenter_Lagre parti_Søk / UtfordringerVis _sidepanel_Lyder_Start parti_Bruke lyder i PyChess_Vis_Din farge:ogog gjester kan ikke spille ratede partierog på FICS blir ikke partier uten tidskontroll ratetog på FICS må partier uten tidskontroll spilles med vanlige sjakkreglerbe motstanderen din om å gjøre et trekkbringer en %(piece)s nærmere fiendens konge: %(cord)sbringer en bonde nærmere sisteraden: %skrev vinst på tidslår materiellrokererdekker %sutvikler en %(piece)s: %(cord)sutvikler en bonde: %sspiller remisbytter av materiellgnuchess:halvåpenhttp://no.wikipedia.org/wiki/Sjakkhttp://www.sjakk.no/nsf/lover_og_reglementer/fideregler_index.htmlstyrker kongestillingeni linjen %(x)s%(y)si linjene %(x)s%(y)søker trykket mot %ssetter sjakk mattminflytter et tårn til en åpen linjeflytter et tårn til en halvåpen linjeflankerer løperen: %savtilby remistilby en kort pausetilby å gjøre om trekktilby avbruddtilby en pausetilby fortsettelsetilby å bytte sidertid totalt påloggetbinder en fiendes %(oppiece)s til %(piece)s på %(cord)ssetter en %(piece)s mer aktivt: %(cord)sforvandler en bonde til en %ssetter motstander i sjakkredder en %strekk degsekgir en liten forbedring av kongestillingenvinner tilbake materiellfangstkoordinatet (%s) er ukorrekttrekket trenger en brikke og et koordinattruer å vinne material ved %svs.vindu1pychess-1.0.0/lang/nb/LC_MESSAGES/pychess.po0000644000175000017500000045613513455542735017414 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2008 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Norwegian Bokmål (http://www.transifex.com/gbtami/pychess/language/nb/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nb\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Parti" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Nytt parti" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Spill _internett sjakk" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Last parti" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Lagre parti" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "L_agre parti som" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Spiller_rating" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "R_ediger" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "_Motorer" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "H_andlinger" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Tilby _avbrudd" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Tilby _pause" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Tilby _remis" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Tilby kort _pause" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Tilby _fortsettelse" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Tilby _omtrekk" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Krev vinst på tid" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "_Trekk deg" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Be om et _trekk" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Vis" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "Snu b_rettet" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Fullskjerm" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "_Forlat fullskjerm" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "Vis _sidepanel" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "Vis _Logg" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Hjelp" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Om sjakk" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Hvordan spille" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Oversett PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Dagens tips" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Innstillinger" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "Det viste navnet er den første menneskelige spilleren, f.eks., Ola." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Navn på _første menneskelige spiller:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "Det viste navnet på gjestespilleren, f.eks., Kari." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Navn på andr_e menneskelige spiller:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Skjul faner når kun ett parti er åpent" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Hvis satt så skjules fanene i toppen av spillevinduet når disse ikke trengs." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "Auto_roter brettet til gjeldende menneskelige spiller" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Hvis satt vil brettet snu seg etter hvert trekk for å vise den naturlige siden for gjeldende spiller." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "Ansikt _til ansikt-visningsmodus" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Hvis satt vil svarte brikker være opp ned, bra for å spille mot venner på mobile enheter." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Foretrekk figuriner i _notasjon" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "Hvis satt vil PyChess bruke figuriner for å uttrykke flyttede brikker heller enn store bokstaver." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "F_ull brettanimasjon" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Animer brikker, brettrotasjon og mer. Bruk dette på raske maskiner." #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Bare ani_mer trekk" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Bare animer brikketrekk." #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Ingen _animasjon" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Aldri bruk animasjoner. Bruk dette på trege maskiner." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animasjon" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_Generelt" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "Bruk _åpningsbok" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Bruk _analyseprogram" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Bruk _invers analyse" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analyserer" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_Hint" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Avinstaller" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "Ak_tiv" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Installerte sidepanel" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "Side_panel" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "_Vis koordinater" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "Hvis satt vil spillebrettet vise rader og kolonner for hvert sjakkfelt. Dette er bra for sjakknotasjon." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Tema" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Bruke lyder i PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "En spiller _sjakker:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "En spiller _trekker:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Partiet er _remis:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Partiet er _tapt:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Partiet er _vunnet:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "En spiller sl_år en brikke:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Parti er _satt opp:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "_Observerte trekk:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "Observerte _avslutninger:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Spill lyd når..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Lyder" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Forvandling" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Dronning" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Tårn" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Løper" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Springer" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Konge" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Forvandle bonden til hva?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Partiinformasjon" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Nettsted:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Svart:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Runde:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Hvit:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Turnering:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "Håndter motorer" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Kommando:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protokoll:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Parametre:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "Arbeidskatalog:" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Hvit" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Svart" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess oppdager motorene dine. Vennligst vent." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Koble til Internett Sjakk" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Passord:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Navn:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Logg på som _Gjest" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Po_rter:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "Reg_istrer deg" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Utfordring: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Send utfordring" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Utfordring:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Lyn:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Standard:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Blitz:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "2 min, Fischer Random, Svart" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 min + 6 sek/trekk, Hvit" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 min" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "_Slett søk" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Godta" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Avslå" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Send søk" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Opprett søk" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Standard" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Blitz" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Lyn" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "_Søk / Utfordringer" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Rating" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Tid" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "Søke_graf" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 spillere klare" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Utfordring" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Observer" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Start privat samtale" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Gjest" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "S_pillerliste" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "_Spilliste" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "Forhånds_visning" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Rediger søk" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Uten tid" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minutter: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr " Inkrement: " #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Tidskontroll: " #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Tidskontroll" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Bryr meg ikke" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Din styrke: " #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Blitz)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Motstanders styrke: " #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Senter:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Toleranse:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Skjul" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Motstanders styrke" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Din farge" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Spill med vanlige sjakkregler" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Spill" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Sjakkvariant" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Rated parti" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Manuellt godta motstander" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Alternativer" #: glade/findbar.glade:6 msgid "window1" msgstr "vindu1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 av 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Søk:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Forrige" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Neste" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Nytt parti" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Start parti" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Spillere" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "S_pill normal sjakk" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Spill Fischer Random sjakk" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Åpent parti" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Startposisjon" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Legg inn trekknotasjon" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Avslutt PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Lukk _uten å lagre" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "_Lagre %d dokumenter" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "Det er %d partier med ulagrede trekk. Lagre endringer før du avslutter?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Velg partier du vil lagre:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Hvis du ikke lagrer vil nye endringer til partiene dine gå tapt." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "M_otstander:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_Din farge:" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "_Start parti" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Dagens tips" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Vis tips ved oppstart" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://no.wikipedia.org/wiki/Sjakk" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://www.sjakk.no/nsf/lover_og_reglementer/fideregler_index.html" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Velkommen" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Åpent spill" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "Oppgivelsen" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "Tidskravet" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "Remistilbudet" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "Avbruddstilbudet" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "Pausetilbudet" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "Pausetilbudet (kort)" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "Fortsettelsestilbudet" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "Tilbudet om å bytte sider" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "Tilbudet om å gjøre om trekk" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "trekk deg" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "krev vinst på tid" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "tilby remis" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "tilby avbrudd" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "tilby en pause" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "tilby en kort pause" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "tilby fortsettelse" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "tilby å bytte sider" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "tilby å gjøre om trekk" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "be motstanderen din om å gjøre et trekk" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Motstanderen din har ikke brukt opp tiden sin." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "Klokkene har ikke blitt startet ennå." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "Du kan ikke bytte farger under partiet." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "Du kan ikke gjøre om for mange trekk." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Motstanderen din ber deg om å skynde deg" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "%s ble avslått av motstanderen din" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s ble trukket tilbake av motstanderen din" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "Kan ikke akseptere %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s returnerer en feil" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "Chess Alpha 2 Diagram" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Sjakkstilling" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Ukjent" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Enkel sjakkstilliing" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Sjakkparti" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "Partiet kan ikke leses til enden fordi en feil i tolkningen av trekk %(moveno)s '%(notation)s'." #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "Trekket feilet fordi %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "Målvert utilgjengelig" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Døde" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Lokal turnering" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Lokalt nettsted" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "min" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "sek" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Bonde" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "B" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "S" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "L" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "T" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "D" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "K" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Partiet endte remis" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s vant partiet" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s vant partiet" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "Partiet har blitt annullert" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Partiet har blitt pauset" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Partiet har blitt avbrutt" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "Fordi ingen av spillerene har nok mattmaterial" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "Fordi den samme stillingen ble gjentatt tre ganger på rad" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "Fordi de siste 50 trekkene ikke har ført til noe nytt" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Fordi begge spillerne gikk tom for tid" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "Fordi %(mover)s ble satt patt" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "Fordi det ble avgjort av en admin" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "Fordi partiet overgikk makslengden" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "Fordi %(white)s gikk tom for tid og %(black)s ikke har nok materiale til å sette matt" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "Fordi %(black)s gikk tom for tid og %(white)s ikke har nok materiale til å sette matt" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "Fordi %(loser)s ga opp" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "Fordi %(loser)s gikk tom for tid" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "Fordi %(loser)s ble satt matt" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "Fordi %(loser)s ble frakoblet" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "Fordi en spiller ble frakoblet" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "Fordi en spiller ble frakoblet og den andre spilleren ba om utsettelse" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "Fordi %(white)s motor døde" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "Fordi %(black)s motor døde" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "Fordi tilkoblingen til tjeneren ble mistet" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "Årsaken er ukjent" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Asymmetrisk Random" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "Blindsjakk" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Hjørne" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Fischer Random" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "Springerodds" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "Losers" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Normal" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "Bondeodds" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "Passerte bønder" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "Dyttede bønder" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "Dronningodds" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Tilfeldig" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "Tårnodds" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Shuffle" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "Opp-ned" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "Tilkoblingen ble brutt - fikk melding om «end-of-file»" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' er ikke et registrert brukernavn" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Kobler til tjener" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Logger på tjener" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Setter opp miljø" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Wild" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Pålogget" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Avlogget" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Uratet" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Ratet" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d min" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Privat" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Tilkoblingsfeil" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Påloggingsfeil" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Oppkopling ble stengt ned" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Adressefeil" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Auto-logg-ut" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Du har blitt logget ut fordi du var inaktiv i mer enn 60 minutter" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Andre" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Administrator" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "Blindsjakkonto" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Lagkonto" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "Sjakkrådgiver" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "Tjenesterepresentant" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "Turneringsdirektør" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "Mamer Manager" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "Stormester" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "Internasjonal Mester" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "FIDE Mester" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "PyChess kunne ikke laste panelinnstillingene dine" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "Flere kanaler" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "Flere spillere" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "Ingen samtale valgt" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "Laster spillerdata" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "PyChess informasjonsvindu" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "av" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "Du har ikke åpnet noen samtaler ennå" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "Bare registrerte brukere kan snakke i denne kanalen" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Tilby omkamp" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Spill omkamp" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Gjør om ett trekk" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Gjør om to trekk" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Du har sendt et remistilbud" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Motoren, %s, har dødd" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "Gå tilbake til startstillingen" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "Gå tilbake et trekk" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "Gå frem et trekk" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Gå til siste stilling" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Menneske" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minutter:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Tillegg:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "Hurtig" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "Odds" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Sett opp posisjon" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Legg inn parti" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Åpne lydfil" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Ingen lyd" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Bip" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Velg lydfil..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "Ubeskrevet panel" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "Vet du at det er mulig å avslutte et parti sjakk på kun 2 turer?" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "Vet du at antallet mulige sjakkpartier overgår antallet atomer i universet?" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "For å lagre et parti PartiLagre parti som, angi filnavnet og velg hvor du vil det skal lagres. På bunnen velger du filtypen og Lagre" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "trekket trenger en brikke og et koordinat" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "fangstkoordinatet (%s) er ukorrekt" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "og" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "spiller remis" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "setter sjakk matt" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "setter motstander i sjakk" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "styrker kongestillingen" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "gir en liten forbedring av kongestillingen" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "flytter et tårn til en åpen linje" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "flytter et tårn til en halvåpen linje" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "flankerer løperen: %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "forvandler en bonde til en %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "rokerer" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "vinner tilbake materiell" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "bytter av materiell" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "slår materiell" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "redder en %s" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "truer å vinne material ved %s" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "øker trykket mot %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "dekker %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "binder en fiendes %(oppiece)s til %(piece)s på %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "Hvit har en ny brikke på utpost: %s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "Svart har en ny brikke på utpost: %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "%(color)s har en ny passert bonde på %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "halvåpen" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "i linjen %(x)s%(y)s" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "i linjene %(x)s%(y)s" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "%(color)s har en dobbeltbonde %(place)s" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "%(color)s har nye dobbeltbønder %(place)s" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "%(color)s har en isolert bonde i linjen %(x)s" msgstr[1] "%(color)s har isolerte bønder i linjene %(x)s" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "%s flytter bøndene inn i en stonewall-oppstilling" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "%s kan ikke rokere lenger" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "%s kan ikke rokere på dronningsiden" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "%s kan ikke rokere på kongesiden" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "%(opcolor)s har en ny fanget løper på %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "utvikler en bonde: %s" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "bringer en bonde nærmere sisteraden: %s" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "bringer en %(piece)s nærmere fiendens konge: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "utvikler en %(piece)s: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "setter en %(piece)s mer aktivt: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "Hvit burde foreta en bondestorm til høyre" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "Svart burde foreta en bondestorm til venstre" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "Hvit burde foreta en bondestorm til venstre" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "Svart burde foreta en bondestorm til høyre" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "Svart har en temmelig trang stilling" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "Svart har en noe trang stilling" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "Hvit har en temmelig trang stilling" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "Hvit har en noe trang stilling" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "Rop" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "Sjakkrop" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "Uoffisiell kanal %d" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Klokke" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Type" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Dato/tid" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Chat" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Vinn" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Remis" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Tap" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "E-post" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Brukt" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "tid totalt pålogget" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Kobler til" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Kjørende partier: %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Navn" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Utfordring: " #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "Dette alternativet er ikke tilgjengelig fordi du utfordrer en spiller" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Rediger søk: " #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "%(minutes)d min + %(gain)d sek/trekk" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Manuell" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "Du kan ikke spille ratede partier fordi du er logget inn som en gjest" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "Du kan ikke spille ratede partier fordi «Uten tidskontroll» er haket av, " #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "og på FICS blir ikke partier uten tidskontroll ratet" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "Dette alternativet er ikke tilgjengelig fordi du utfordrer en gjest, " #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "og gjester kan ikke spille ratede partier" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "Du kan ikke velge en variant fordi «Uten tidskontroll» er haket av, " #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "og på FICS må partier uten tidskontroll spilles med vanlige sjakkregler" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "Endre toleranse" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " min" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Aktive søk: %d" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Oppdag type automatisk" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Lagre parti" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Ukjent filtype %s" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "Kunne ikke lagre '%(uri)s' siden PyChess ikke kjenner formatet '%(ending)s'." #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Klarer ikke å lagre fil '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "E_rstatt" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Filen eksisterer" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Filen '%s' eksistererer allerede. Ønsker du å erstatte denne?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "Filen eksisterer allerede i '%s'. Dersom du ønsker å erstatte den, vil dens innhold bli overskrevet." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Klarte ikke lagre filen" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess klarte ikke lagre partiet" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "Feilen var: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "Det er %d parti med ulagrede trekk." msgstr[1] "Det er %d partier med ulagrede trekk." #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "Lagre trekk før du lukker?" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "vs." #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "_Lagre %d dokument" msgstr[1] "_Lagre %d dokumenter" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Det vil ikke være mulig å fortsette partiet senere\ndersom du ikke lagrer det." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Alle sjakkfiler" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Offisielt PyChess-panel." #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Åpningsbok" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "Åpningsboken vil prøve å inspirere deg under åpningsfasen av partiet ved å vise deg vanlige trekk gjort av sjakkmestere" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "Chat-panelet lar deg kommunisere med motstanderne dine under et parti, gitt at han eller hun er interessert" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Kommentarer" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "Kommentarpanelet vil prøve å analysere og forklare trekkene som blir spilt" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Åpningsstilling" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "%(color)s flytter en %(piece)s til %(cord)s" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Trekkhistorikk" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "Trekklisten holder orden på spillernes trekk og lar deg navigere gjennom partihistorikken" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Poeng" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "Evalueringspanelet prøver å evaluere stillingen og viser deg en graf of partiets fremdrift" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/mr/0000755000175000017500000000000013467766037013620 5ustar varunvarunpychess-1.0.0/lang/mr/LC_MESSAGES/0000755000175000017500000000000013467766037015405 5ustar varunvarunpychess-1.0.0/lang/mr/LC_MESSAGES/pychess.mo0000644000175000017500000000064513467766035017423 0ustar varunvarun$,8k9Project-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Marathi (http://www.transifex.com/gbtami/pychess/language/mr/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: mr Plural-Forms: nplurals=2; plural=(n != 1); pychess-1.0.0/lang/mr/LC_MESSAGES/pychess.po0000644000175000017500000043145213455542746017430 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Marathi (http://www.transifex.com/gbtami/pychess/language/mr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: mr\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/de/0000755000175000017500000000000013467766037013572 5ustar varunvarunpychess-1.0.0/lang/de/LC_MESSAGES/0000755000175000017500000000000013467766037015357 5ustar varunvarunpychess-1.0.0/lang/de/LC_MESSAGES/pychess.mo0000644000175000017500000027356013467766036017406 0ustar varunvarun&y Mf f fGgNg Ug$bg gggg+gh h%h*h/>h0nh[hNhJi%ai`i(i+j'=j3ej#j%j7j0kLkekkkkk#k$kl'/lWl kl!lQlJm>Kmmm!mmmmmmmmmnn#n (n2nOn Xnbnhn0qn'n@n oo-o@oRogoooo#o$o#p:pKp`pxppppppp qq5q?HqQq&q$r+&rCRr7rUr"$s*Gs(rssssssesTt Ztftnt&ut.tt tttuu /uSPu uuu u uumuOvWv_v ovyvvvv vvvvvCwFw Uw `w jwuw ww wwwww wwwxx x'x/x6xFx*]xx x x xxxxxxx xy/ yS;yQyyz! zBz ]z~z/zSzQ{#q{*{-{"{+|=|r| O}Kp}%}O}-2~3`~$~6~#~EAZ!!-&-5;c B%-29@ F P$\#% ˁ"ց# $ .8JPWg~ 3EN Wdlnq t 8ڃ. ",;C\ a kw  ńЄ ߄  6)V`VRSa ކ *!,L1yŇ· և & #.CTjr:{ È̈ ӈވ " +6 NZw̉щډ  !':BJRoG`Vox "ċp̋ =KO W a mz* ̌Ќ"֌  }č B MYks& Ž1̎ * 3=L] mwz0@ɏD HOFHߐ(=$bw.} $ 2>AWr  &!ە&$ ,MT\kr x ƖΖіזݖ  1AP ao4<D JT m w   Ř$˘  * 1 >LQW` is y :$  '1,G^A>5XtR͜B cc]ǝ?%Be;qSVOF AO V`g&w$ԡ ):K Q[mr  ¤Ф D PV^dkr ̥ե ܥ  #,3;CK Q_ o y ¦̦ަ  /DKP Va gr+yç ɧק  % 0 ; I T!^  Ĩרި  % 2>D KV^`chy.Ʃ ̩/ة # + 7EJ OY_g lCz٪0 7E` hs   ʫ ث  $0HPtU,ʬ*+"*Ny.ݭ  '<EUkrzîʮۮ   $1 6BG PZ_y  ůѯ  *3< Xdu'ʰ Ӱ ݰ #:  &(07=\ bmt Ųܲ -4<CIQ V`qw~ҳٳ % + 6@ Vc h r(ƴ״*E\b j u ε  "B[j yն  $6Ld{ ŷҷ /6GPYiLq ޸ , + 7BHN Wat{¹ ҹܹ    ' 4AJScpuhӻ"<C_54ټ93H|R޽cbT, 9Zɿ$=WsI}T`pk{Z  'K.-z~E',mAA 4@E U co~GL T_ey , '/uCy3DV [i x4 + 3? GUl  Q6= tM1 9D]lV \ f$r#% "#3: ?J]a} 9.?h9(/ y;C$3&Ry/F^v tT3%l!Nnp/&(6&_'' '/ 8 F&P w   % *1 @ K Wa hrx   $ #7H P\+e !)8 D^1d'$! 8Cbv| 5"e+b!: \ } 6(En #>!]Dpp5 EPO" !' 1;A} 21]*\!*k201&1($Z%7;3O!m!!.>&[)?KY8 .  "> CN n x 3CC Pct!.#/R&=LcxFT",w./JHNu- <;+xe ow1 *F_(zo  ) / =ImP ".Qd}I ' 9 DPY_t  ) 5?T!  ,+5\ag&,D'q'%+\1g2;H-,?^l1c3a0,;/]IX--.-\1<&Y9    -.-+\ 44  39@Qi r ~ ' 4 >KSUX [ e q |G      # @ G W i              ;' Zc [ Z [u       # - )J 6t ;         # + 3 9 V  _     /      8C\b}"-2; BM]_ pz    P(gy*JP Wze $97Y 4 $3  &10b k u !5DMHKF'Nn F~d  ($*Oiy1+/&%-SZcr y   '? R^y           %  * 4 = -B p w  ~            ! !! %!3!:!:A!(|!!!!!!!Y!]-"M""#U`$\$b%Kv%%ug&J&C('Ml'^'J(d(S)P*b*i* y**-**** + $+/+.A-p-- - ---- ---..-.2. 9.C.]J..... . .$./ /"/(/%//U/^/g/w// //// /// /// //000 00=0U0]0q00 0 0000"0 1 #1 /191 ?1J1,Q1~11 111 11 1111 2 2 "2 /2 ;2!E2g2o2#v22 2222 2 2 2 233 3 33'3.373?3A3D3I3Z3b3u3Q{33 3J3*4 .4 <4H4 Q4\4 l4x4 44444<44 5 5!5(5F5Z5c5"t5 5 55 55555 66.6C6`6s6666666\6.J7,y7*7*7 788.78f8n8}88888 88999 (929P9h9j9s9y999 9 9999 9 9 99 999 :::9:O:`:"x: ::: :::::: ; ;"; B;P;b;|;;-; ; ; ; ;;';<+< <<<= ==$=3=5=>=E=M=l=u== === = == > >,>>>!S>u> ~> > > >> > >>>>>?#?9?@?I? L?Y?m?? ? ?? ? ???@ @ @@N@f@@ @-@$@AA !A +A5AHAcA+AAAAA, B8BVBmBBBBBBBBBB C CC'C2-C`C{CCCCC CC CD D)D-D2D/;DkD|D D DDYD+D 'E4E ;E.FE uE EEEE EEEE E EF FF%F 7FAFJFRFZFtFvFyF |FF F FFFFFqFVGkWHHRHB1I:tIAI3I%Jd7J*JaJ)KKaLpLIL|LNMfMMMKMNNoNO+OOO OOkPpP PP\P1P(QTQ/RD1RLvRR RRR RSS S/S5S>SSS SS TT$T8TST\T dTqTTT4TTTTTYTqOUUUUUV.V=V6ZVV VVV V VWW!W)W!?W%aW%WWWW WX XXTXIpXXXXXY YYYYYN0Y Y YY YYZ Z Z+Z,Z)[ H[2R[3[[[ [[[%[\ \ "\.\B\Q\j\~\\*\N\M]Hi]:]9]'^E^*^L_3f__%B`&h`.`'`*`*a2j5k"7kZklk0uk&k k$kll"l 6l @lJl$[mem0mn5nNnhnn n nnn%n)n% o 2o?oCoRo+foooo oo3o+3p _ppppppppp$p q(%q"Nq+qqqqqqqq qr rsxt bw`mcS#R 1 ]!p34u5 >9)$A gVx3@ .h)Kftv"|lt/O3,eR*pNAPI7 T$h=9ou5`S%XoBd~f%UcF>WHt^j;0r yOre]`b DY|L[mCEpEBR2X& h)N+x5'H5Wp8]QB #gO~;F$ZJz\Mzcf+8-jXDn7(@dak_IK2d:oGO svx$%"Goikew,(2yu6,<=~&~ Lq:C\7;YTx'qa0k'gSL}#}kj{zQ6VTJ=SrbXJm_a!zdWE^^>Ri 53f: H+E,v)V" @14`@MhTV"lj{ep&#b<(C[LPa F40.]b>mAu: Q?o6?| .&-i/FMHTiw)=|dAmA[B?/I!4 t?Wl~P8]CL;iuGJ*x_G}NlQ/& #.U7`[yJ:Y6t;XVGEn*6Ilw{ZnKz<k9?\ n(gs@Wyq%* ' Z +/<v=2KB0NFs^Z29'frD}.-_YynM^S!w8%P 1aecKU4 OUHC*{>v DI,-cZ7+M(9b1Pq \0- !|1rQhj}w Y_g{<sR\8s$q"DU[N3 Gain: + %d sec challenges you to a %(time)s %(rated)s %(gametype)s game chess has arrived has declined your offer for a match has departed has lagged for 30 seconds invalid engine move: %s is censoring you is lagging heavily but hasn't disconnected is not installed is present min noplay listing you uses a formula not fitting your match request: where %(player)s plays %(color)s. with whom you have an adjourned %(timecontrol)s %(gametype)s game is online. would like to resume your adjourned %(time)s %(gametype)s game.%(black)s won the game%(color)s got a double pawn %(place)s%(color)s got an isolated pawn in the %(x)s file%(color)s got isolated pawns in the %(x)s files%(color)s got new double pawns %(place)s%(color)s has a new passed pawn on %(cord)s%(color)s moves a %(piece)s to %(cord)s%(counter)s game headers from %(filename)s imported%(minutes)d min + %(gain)d sec/move%(name)s %(minutes)d min %(duration)s%(name)s %(minutes)d min / %(moves)d moves %(duration)s%(opcolor)s has a new trapped bishop on %(cord)s%(player)s is %(status)s%(player)s plays %(color)s%(time)s for %(count)d moves%(white)s won the game%d min%s can no longer castle%s can no longer castle in kingside%s can no longer castle in queenside%s games processed%s moves pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent%s will identify what threats would exist if it were your opponent's turn to move%s will try to predict which move is best and which side has the advantage'%s' is a registered name. If it is yours, type the password.'%s' is not a registered name(Blitz)(Link is available on clipboard.)*-00 Players Ready0 of 00-11-01-minute1/2-1/210 min + 6 sec/move, White120015-minute2 min, Fischer Random, Black3-minute45-minute5 min5-minuteConnect to Online Chess ServerPromote pawn to what?PyChess was unable to load your panel settingsAnalyzingAnimationBoard StyleChess SetsChess VariantEnter Game NotationGeneral OptionsInitial PositionInstalled SidepanelsName of _first human player:Name of s_econd human player:New version %s is available!Open GameOpen databaseOpening, endgameOpponent StrengthOptionsPlay Sound When...PlayersStart learningTime ControlWelcome screenYour Color_Connect to server_Start Game%s is not marked executable in the filesystemA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedError loading gameFile '%s' already exists.PyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to add %sUnable to save file '%s'Unknown file type '%s'Challenge:A player _checks:A player _moves:A player c_aptures:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortAbout ChessAc_tiveAcceptActivate alarm when _remaining sec is:Active color field must be one of w or b. %sActive seeks: %dAdd commentAdd evaluation symbolAdd move symbolAdd new filterAdd start commentAdd threatening variation lines Adding suggestions can help you find ideas, but slows down the computer's analysis.Address ErrorAdjournAdminAdministratorAfghanistanAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbaniaAlgeriaAll Chess FilesAll whiteAmerican SamoaAnalysis by %sAnalyze black movesAnalyze from current positionAnalyze gameAnalyze white movesAndorraAngolaAnguillaAnimate pieces, board rotation and more. Use this on fast machines.Annotated gameAnnotationAnnotatorAntarcticaAntigua and BarbudaAny strengthArchivedArgentinaArmeniaArubaAsian variantsAsk for permissionsAsk to _MoveAssessAsymmetric RandomAsymmetric Random AtomicAustraliaAustriaAuthorAuto Call _FlagAuto _promote to queenAuto _rotate board to current human playerAuto login on startupAuto-logoutAvailableAzerbaijanBB EloBackround image path :Bad moveBahamasBahrainBangladeshBarbadosBecause %(black)s lost connection to the serverBecause %(black)s lost connection to the server and %(white)s requested adjournmentBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s king explodedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause %(mover)s stalematedBecause %(white)s lost connection to the serverBecause %(white)s lost connection to the server and %(black)s requested adjournmentBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause %(winner)s has fewer piecesBecause %(winner)s king reached the centerBecause %(winner)s king reached the eight rowBecause %(winner)s lost all piecesBecause %(winner)s was giving check 3 timesBecause a player aborted the game. Either player can abort the game without the other's consent before the second move. No rating changes have occurred.Because a player disconnected and there are too few moves to warrant adjournment. No rating changes have occurred.Because a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both players agreed to a drawBecause both players agreed to abort the game. No rating changes have occurred.Because both players agreed to an adjournmentBecause both players have the same amount of piecesBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause of adjudication by an admin. No rating changes have occurred.Because of courtesy by a player. No rating changes have occurred.Because the %(black)s engine diedBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBecause the server was shut downBecause the server was shut down. No rating changes have occurred.BeepBelarusBelgiumBelizeBeninBermudaBestBhutanBishopBlackBlack O-OBlack O-O-OBlack has a new piece in outpost: %sBlack has a rather cramped positionBlack has a slightly cramped positionBlack moveBlack should do pawn storm in leftBlack should do pawn storm in rightBlack:BlindFoldBlindfoldBlindfold AccountBlitzBlitz:Blitz: 5 minBosnia and HerzegovinaBotswanaBouvet IslandBrazilBringing your king legally to the center (e4, d4, e5, d5) instantly wins the game! Normal rules apply in other cases and checkmate also ends the game.Brunei DarussalamBughouseBulgariaBurkina FasoBurundiCCACMCabo VerdeCalculating...CambodiaCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCameroonCanadaCapturedCastling availability field is not legal. %sCategory:Cayman IslandsCenter:Central African RepublicChadChallengeChallenge: Challenge: Change ToleranceChatChess AdvisorChess Alpha 2 DiagramChess GameChess PositionChess ShoutChess clientChess960ChileChinaChristmas IslandClaim DrawClassic chess rules http://en.wikipedia.org/wiki/ChessClassic chess rules with all pieces white http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden figurines http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pawns http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pieces http://en.wikipedia.org/wiki/Blindfold_chessClassicalClassical: 3 min / 40 movesClearClockClose _without SavingColombiaColorize analyzed movesCommand line interface to the chess serverCommand line parameters needed by the engineCommand line parameters needed by the runtime envCommand:CommentComment:CommentsComorosCompensationComputerComputersCongoCongo (the Democratic Republic of the)ConnectingConnecting to serverConnection ErrorConnection was closedConsoleContinueContinue to wait for opponent, or try to adjourn the game?Cook IslandsCopy FENCornerCosta RicaCould not save the fileCounterplayCountry of origin of the engineCountry:CrazyhouseCreate New Pgn DatabaseCreate SeekCreate polyglot opening bookCreating .bin index file...Creating .scout index file...CroatiaCrushing advantageCubaCuraçaoCyprusCzechiaCôte d'IvoireDDark Squares :DatabaseDateDate/TimeDate:Decisive advantageDeclineDefaultDenmarkDestination Host UnreachableDetect type automaticallyDevelopment advantageDiedDjiboutiDo you know that it is possible to finish a chess game in just 2 turns?Do you know that the number of possible chess games exceeds the number of atoms in the Universe?Do you want to abort it?DominicaDominican RepublicDon't careDon't show this dialog on startup.DrawDraw:DrawishDue to abuse problems, guest connections have been prevented. You can still register on http://www.freechess.orgDummy AccountECOEcuadorEdit SeekEdit Seek: Edit commentEdit selected filterEffect on ratings by the possible outcomesEgyptEl SalvadorEloEmailEn passant cord is not legal. %sEn passant lineEndgame TableEndgamesEngine scores are in units of pawns, from White's point of view. Double clicking on analysis lines you can insert them into Annotation panel as variations.EnginesEngines use uci or xboard communication protocol to talk to the GUI. If it can use both you can set here which one you like.Enter GameEnvironmentEquatorial GuineaEritreaError parsing %(mstr)sError parsing move %(moveno)s %(mstr)sEstoniaEthiopiaEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventEvent:ExamineExamine Adjourned GameExaminedExaminingExcellent moveExecutable filesExport positionExternalsFAFEN needs 6 data fields. %sFEN needs at least 2 data fields in fenstr. %sFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns * No castling * Black's arrangement mirrors white'sFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED * No castling * Black's arrangement DOES NOT mirrors white'sFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Pawns start on their 7th rank rather than their 2nd rank!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Pawns start on 4th and 5th ranks rather than 2nd and 7thFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html White pawns start on 5th rank and black pawns on the 4th rankFIDE ArbeiterFIDE MasterFMF_ull board animationFace _to Face display modeFalkland Islands [Malvinas]Faroe IslandsFijiFile existsFilterFilter game list by current game movesFilter game list by opening movesFilter game list by various conditionsFiltersFind postion in current databaseFingerFinlandFischer RandomFollowFont:Forced moveFranceFrench GuianaFrench PolynesiaFrench Southern TerritoriesFriendsGMGabonGain:GambiaGameGame ListGame analyzing in progress...Game cancelledGame informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Game shared at GamesGames running: %dGaviota TB path:Generally this means nothing, as the game is time-based, but if you want to please your opponent, perhaps you should get going.GeorgiaGermanyGhanaGibraltarGo back to the main lineGood moveGrand MasterGreeceGreenlandGrenadaGridGuadeloupeGuamGuatemalaGuernseyGuestGuest logins disabled by FICS serverGuestsGuineaGuinea-BissauGuyanaHHaitiHalfmove clockHeaderHidden pawnsHidden piecesHideHintsHoly SeeHondurasHong KongHost:How to PlayHtml DiagramHuman BeingHungaryICC giveaway: https://www.chessclub.com/user/help/GiveawayICC lag compensation needs timestampICSIMIcelandIdIdentificationIdleIf set you can refuse players accepting your seekIf set, FICS game numbers in tab labels next to player names are shown.If set, PyChess will colorize suboptimal analyzed moves with red.If set, PyChess will show game results for different moves in positions containing 6 or less pieces. It will search positions from http://www.k4it.de/If set, PyChess will show game results for different moves in positions containing 6 or less pieces. You can download tablebase files from: http://www.olympuschess.com/egtb/gaviota/If set, PyChess will suggest best opening moves on hint panel.If set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, clicking on main application window closer first time it closes all games.If set, pawn promotes to queen without promotion dialog selection.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the captured figurines will be shown next to the board.If set, the elapsed time that a player used for the move is shown.If set, the hint analyzer engine evaluation value is shown.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If the analyzer finds a move where the evaluation difference (the difference between the evaluation for the move it thinks is the best move and the evaluation for the move made in the game) exceeds this value, it will add an annotation for that move (consisting of the engine's Principal Variation for the move) to the Annotation panelIf you don't save, new changes to your games will be permanently lost.Ignore colorsImagesImbalanceImportImport PGN fileImport annotated games from endgame.nlImport chessfileImport games from theweekinchess.comImporting game headers...In TournamentIn this game, check is entirely forbidden: not only is it forbidden to move ones king into check, but it is also forbidden to check the opponents king. The purpose of the game is to be the first player that moves his king to the eight row. When white moves their king to the eight row, and black moves directly after that also their king to the last row, the game is a draw (this rule is to compensate for the advantage of white that they may move first.) Apart from the above, pieces move and capture precisely as in normal chess.In this position, there is no legal move.Indent _PGN fileIndiaIndonesiaInfinite analysisInfoInitial positionInitial setupInitiativeInteresting moveInternational MasterInvalid move.Iran (Islamic Republic of)IraqIrelandIsle of ManIsraelIt is not possible later to continue the game, if you don't save it.ItalyJamaicaJapanJerseyJordanJump to initial positionJump to latest positionKKazakhstanKenyaKingKing of the hillKiribatiKnightKnight oddsKnightsKuwaitKyrgyzstanLatviaLeave _FullscreenLebanonLecturesLengthLesothoLessonsLiberiaLibyaLiechtensteinLight Squares :LightningLightning:List of ongoing gamesList of playersList of server channelsLithuaniaLoad _Recent GameLoading player dataLocal EventLocal SiteLog OffLog on ErrorLog on as _GuestLogging on to serverLosersLossLoss:LuxembourgMacaoMadagascarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMalawiMalaysiaMaldivesMaliMaltaMamer ManagerManage enginesManualManual AcceptManually accept opponentMarshall IslandsMartiniqueMate in %dMaterial/moveMauritaniaMauritiusMaximum analysis time in seconds:MayotteMexicoMicronesia (Federated States of)Minutes:Minutes: Moderate advantageMonacoMongoliaMontenegroMontserratMore channelsMore playersMoroccoMoveMove HistoryMove numberMovedMoves:MozambiqueMyanmarNNMNameNames: #n1, #n2NamibiaNational MasterNauruNeeds 7 slashes in piece placement field. %sNepalNetherlandsNever use animation. Use this on slow machines.NewNew CaledoniaNew GameNew RD:New ZealandNew _DatabaseNewsNextNicaraguaNigerNigeriaNiueNo _animationNo chess engines (computer players) are participating in this game.No conversation's selectedNo soundNorfolk IslandNormalNormal: 40 min + 15 sec/moveNorthern Mariana IslandsNorwayNot AvailableNot a capture (quiet) moveObserveObserve %sObserved _ends:ObserversOddsOffer A_bortOffer AbortOffer Ad_journmentOffer PauseOffer RematchOffer ResumeOffer UndoOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOmanOn FICS, your "Wild" rating encompasses all of the following variants at all time controls: One player starts with one less knight pieceOne player starts with one less pawn pieceOne player starts with one less queen pieceOne player starts with one less rook pieceOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpenOpen GameOpen Sound FileOpen chess fileOpening BookOpening booksOpening chessfile...OpeningsOpponent RatingOpponent's strength: OptionOptionsOtherOther (non standard rules)Other (standard rules)PPakistanPalauPanamaPapua New GuineaParaguayParameters:Paste FENPatternPausePawnPawn oddsPawns PassedPawns PushedPeruPhilippinesPingPitcairnPlacementPlayPlay Fischer Random chessPlay Losers chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer ListPlayer _RatingPlayers:Players: %dPlayingPng imagePo_rts:PolandPolyglot book file:PortugalPre_viewPrefer figures in _notationPreferencesPreferred level:Preparing to start import...PreviewPrivateProbably because it has been withdrawn.ProgressPromotionProtocol:Puerto RicoPuzzlesPyChess - Connect to Internet ChessPyChess Information WindowPyChess has lost connection to the engine, probably because it has died. You can try to start a new game with the engine, or try to play against another one.PyChess.py:QQatarQueenQueen oddsQuit LearningQuit PyChessRR_esignRandomRapidRapid: 15 min + 10 sec/moveRatedRated gameRatingReading %s ...Receiving list of playersRecreating indexes...RegisteredRemoveRemove selected filterRequest ContinuationResendResend %s?Reset ColoursRestore the default optionsResultResult:ResumeRetryRomaniaRookRook oddsRotate the boardRoundRound:Running Simul MatchRuntime env command:Runtime env parameters:Russian FederationRwandaRéunionSRS_ign upSaint Kitts and NevisSaint Vincent and the GrenadinesSamoaSan MarinoSanctionsSao Tome and PrincipeSaudi ArabiaSaveSave GameSave Game _AsSave _own games onlySave analyzing engine _evaluation valuesSave asSave database asSave elapsed move _timesSave files to:Save moves before closing?Save the current game before you close it?Save to PGN file as...ScoreSearch:Seek GraphSeek _GraphSeek updatedSeeks / ChallengesSelect Gaviota TB pathSelect auto save pathSelect background image fileSelect book fileSelect engineSelect sound file...Select the games you want to save:Select working directorySend ChallengeSend all seeksSend seekSenegalSeqSequenceSerbiaServer:Service RepresentativeSetting up environmentSetup PositionSeychellesSho_w cordsShort on _time:ShoutShow FICS game numbers in tab labelsShow _captured piecesShow elapsed move timesShow evaluation valuesShow tips at startupShredderLinuxChess:ShuffleSide to moveSide_panelsSierra LeoneSimple Chess PositionSingaporeSiteSite:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinSlight advantageSlovakiaSloveniaSolomon IslandsSomaliaSome of PyChess features needs your permission to download external programsSorry '%s' is already logged inSound filesSourceSouth AfricaSouth Georgia and the South Sandwich IslandsSouth SudanSp_y arrowSpainSpentStandardStandard:Start Private ChatStatusStep back one moveStep forward one moveStreakSudanSuicideSurinameSuspicious moveSwazilandSwedenSwitzerlandSymbolsSyrian Arab RepublicTTDTMTajikistanTalkingTeam AccountText DiagramTexture:ThailandThe abort offerThe adjourn offerThe analyzer will run in the background and analyze the game. This is necessary for the hint mode to workThe chain button is disabled because you are logged in as a guest. Guests can't establish ratings, and the chain button's state has no effect when there is no rating to which to tie "Opponent Strength" toThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe directory where the engine will be started from.The displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe endgame table will show exact analysis when there are few pieces on the board.The engine %s reports an error:The engine output panel shows the thinking output of chess engines (computer players) during a gameThe entered password was invalid. If you forgot your password, go to http://www.freechess.org/password to request a new one over email.The error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The flag callThe game can't be loaded, because of an error parsing FENThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe hint panel will provide computer advice during each stage of the gameThe inverse analyzer will analyze the game as if your opponent was to move. This is necessary for the spy mode to workThe move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe reason is unknownThe resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe takeback offerThebanThemesThere is %d game with unsaved moves.There are %d games with unsaved moves.There is something wrong with this executableThis game can be automatically aborted without rating loss because there has not yet been two moves madeThis game can not be adjourned because one or both players are guestsThis is a continuation of an adjourned matchThis option is not applicable because you're challenging a playerThis option is not available because you're challenging a guest, Threat analysis by %sThree-checkTimeTime control: Time pressureTimor-LesteTip Of The dayTip of the DayTitleTitledTo save a game Game > Save Game As, give the filename and choose where you want to be saved. At the bottom choose extension type of the file, and Save.TogoTokelauTolerance:TongaTournament DirectorTranslate PyChessTrinidad and TobagoTry chmod a+x %sTunisiaTurkeyTurkmenistanTurks and Caicos IslandsTuvaluTypeType or paste PGN game or FEN positions hereUUgandaUkraineUnable to accept %sUnable to save to configured file. Save the games before closing?Unable to save to configured file. Save the current game before you close it?Unclear positionUndescribed panelUndoUndo one moveUndo two movesUninstallUnited Arab EmiratesUnited Kingdom of Great Britain and Northern IrelandUnited States of AmericaUnknownUnknown game stateUnofficial channel %dUnratedUnregisteredUntimedUpside DownUruguayUse _analyzerUse _inverted analyzerUse _local tablebasesUse _online tablebasesUse analyzer:Use name format:Use opening _bookUzbekistanValueVanuatuVariantVariant developed by Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Variation annotation creation threshold in centipawns:Very bad moveViet NamVirgin Islands (British)Virgin Islands (U.S.)W EloWFMWGMWIMWaitWallis and FutunaWas unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.WelcomeWell done!Well done! %s completed.Western SaharaWhen this button is in the "locked" state, the relationship between "Opponent's strength" and "Your strength" will be preserved when a) your rating for the type of game sought has changed b) you change the variant or the time controlWhiteWhite O-OWhite O-O-OWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite has a slightly cramped positionWhite moveWhite should do pawn storm in leftWhite should do pawn storm in rightWhite:WildWildcastleWildcastle shuffleWinWin by giving check 3 timesWin:Winning %With attackWoman FIDE MasterWoman Grand MasterWoman International MasterWorking directory:Year, month, day: #y, #m, #dYemenYou asked your opponent to moveYou can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou can't select a variant because "Untimed" is checked, You can't switch colors during the game.You can't touch this! You are examining a game.You don't have the necessary rights to save the file. Please ensure that you have given the right path and try again.You have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou have to set kibitz on to see bot messages here.You have tried to undo too many moves.You may only have 3 outstanding seeks at the same time. If you want to add a new seek you must clear your currently active seeks. Clear your seeks?You sent a draw offerYou sent a pause offerYou sent a resume offerYou sent an abort offerYou sent an adjournment offerYou sent an undo offerYou sent flag callYour opponent asks you to hurry!Your opponent has asked that the game be aborted. If you accept this offer, the game will end with no rating change.Your opponent has asked that the game be adjourned. If you accept this offer, the game will be adjourned and you can resume it later (when your opponent is online and both players agree to resume).Your opponent has asked that the game be paused. If you accept this offer, the game clock will be paused until both players agree to resume the game.Your opponent has asked that the game be resumed. If you accept this offer, the game clock will continue from where it was paused.Your opponent has asked that the last %s move(s) be undone. If you accept this offer, the game will continue from the earlier position.Your opponent has offered you a draw.Your opponent has offered you a draw. If you accept this offer, the game will end with a score of 1/2 - 1/2.Your opponent is not out of time.Your opponent must agree to abort the game because there has been two or more moves madeYour opponent seems to have changed their mind.Your opponent wants to abort the game.Your opponent wants to adjourn the game.Your opponent wants to pause the game.Your opponent wants to resume the game.Your opponent wants to undo %s move(s).Your seeks have been removedYour strength: Your turn.ZambiaZimbabweZugzwang_Accept_Actions_Analyze Game_Archived_Auto save finished games to .pgn file_Call Flag_Clear Seeks_Copy FEN_Copy PGN_Decline_Edit_Engines_Export Position_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hint arrow_Hints_Invalid move:_Load Game_Log Viewer_My games_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Untimed_Use main app closer [x] to close all games_Use sounds in PyChess_View_Your Color:andand guests can't play rated gamesand on FICS, untimed games can't be ratedand on FICS, untimed games have to be normal chess rulesask your opponent to moveblackbrings a %(piece)s closer to enemy king: %(cord)sbrings a pawn closer to the backrow: %scall your opponents flagcaptures materialcastlesdatabase opening tree needs chess_dbdatabase querying needs scoutfishdefends %sdevelops a %(piece)s: %(cord)sdevelops a pawn: %sdrawsexchanges materialgnuchess:half-openhttp://brainking.com/en/GameRules?tp=2 * Placement of the pieces on the 1st and 8th row are randomized * The king is in the right hand corner * Bishops must start on opposite color squares * Black's starting position is obtained by rotating white's position 180 degrees around the board's center * No castlinghttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyin the %(x)s%(y)s filein the %(x)s%(y)s filesincreases the pressure on %sinvalid promoted piecelessonsmatesminmovemoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %snot playingofoffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalpins an enemy %(oppiece)s on the %(piece)s at %(cord)splaces a %(piece)s more active: %(cord)spromotes a Pawn to a %sputs opponent in checkrating range nowrescues a %sresignround %ssacrifices materialsecsecsslightly improves king safetytakes back materialthe captured cord (%s) is incorrectthe end cord (%s) is incorrectthe move needs a piece and a cordthreatens to win material by %sto automatic acceptto manual acceptucivs.whitewindow1xboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Random arrangement of the pieces behind the pawns * No castling * Black's arrangement mirrors white'sxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * White has the typical set-up at the start. * Black's pieces are the same, except that the King and Queen are reversed, * so they are not on the same files as White's King and Queen. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * In this variant both sides have the same set of pieces as in normal chess. * The white king starts on d1 or e1 and the black king starts on d8 or e8, * and the rooks are in their usual positions. * Bishops are always on opposite colors. * Subject to these constraints the position of the pieces on their first ranks is random. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.Åland IslandsProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-29 15:33+0000 Last-Translator: Søren Woods Language-Team: German (http://www.transifex.com/gbtami/pychess/language/de/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: de Plural-Forms: nplurals=2; plural=(n != 1); Aufschlag: +%d Sek.fordert Sie zu einer Partie %(time)s %(rated)s %(gametype)s herausSchachist angekommenhat Ihre Partieeinladung abgelehntist abgereisthängt seit 30 Sekunden hinterherunzulässiger Zug der Schach-Engine: %sbegutachtet Siehängt sehr stark hinterher, hat sich aber nicht abgemeldetist nicht installiertist anwesend Min.setzt Sie auf die Noplay-Listeentspricht nicht den Kriterien Ihrer Spielanfrage: indem %(player)s %(color)s spielt.mit dem Sie ein vertagte %(timecontrol)s %(gametype)s Partie haben, ist online.würden Sie gerne Ihre vertagte Partie %(time)s %(gametype)s wieder aufnehmen?%(black)s hat die Partie gewonnen%(color)s hat einen Doppelbauern %(place)s%(color)s hat einen isolierten Bauern in der %(x)s Linie%(color)s hat isolierte Bauern in den %(x)s Linien%(color)s hat einen neuen Doppelbauern %(place)s%(color)s hat einen neuen Freibauern auf %(cord)s%(color)s zieht %(piece)s auf %(cord)s%(counter)s Kopfdaten aus %(filename)s importiert%(minutes)d Min. + %(gain)d Sek./Zug%(name)s %(minutes)d min %(duration)s%(name)s %(minutes)d min / %(moves)d Züge %(duration)s%(opcolor)s hat einen neuen gefangenen Läufer auf %(cord)s%(player)s ist %(status)s%(player)s spielt %(color)s%(time)s für %(count)d Züge%(white)s hat die Partie gewonnen%d Min.%s kann nicht mehr rochieren%s kann nicht mehr kurz rochieren%s kann nicht mehr lang rochieren%s Partien verarbeitet%s bewegt einen Bauern in eine Mauer-Formation%s gibt einen Fehler zurück%s wurde durch Ihren Gegner abgelehnt.%s wurde von Ihrem Gegner zurückgenommen%s indentifiziert die Bedrohungen, wenn Ihr Gegner am Zug wäre%s versucht den besten Zug vorherzusagen und welche Seite in Führung liegt'%s' ist ein registrierter Name. Gehört er zu Ihnen, tippen Sie bitte das Passwort ein.'%s' ist kein registrierter Name(Blitz)(Der Link wurde in die Zwischenablage kopiert)*-00 Spieler bereit0 von 00-11-01 Minute1/2-1/210 Min. + 6 Sek./Zug, Weiß120015 Minuten2 Min., Fischer Random, Schwarz3 Minuten45 Minuten5 Min.5 MinutenZum online Schachserver verbindenDen Bauern in welche andere Spielfigur umwandeln?PyChess konnte Ihre GUI-Einstellungen nicht ladenAnalysierenAnimationSchachbrett-StilFigurenSchach-VariantePartienotation eingebenAllgemeine OptionenGrundstellungInstallierte SeitenleistenName des er_sten menschlichen Spielers:Name des zw_eiten menschlichen Spielers:Neue Version %s ist verfügbar!Partie öffnenDatenbank öffnenEröffnung, EndspielGegnerische StärkeOptionenTon abspielen, wenn...SpielerLernen beginnenZeitkontrolleWillkommensbildschirmIhre Farbe_Zum Server verbindenPartie _starten%s ist im Dateisystem nicht als ausführbar markiertEine Datei namens '%s' existiert bereits. Wollen Sie sie ersetzen?Engine %s, ist abgestürztFehler beim Laden der PartieDatei '%s' existiert bereits.PyChess sucht nach Ihren Schachprogrammen. Bitte warten.PyChess war es nicht möglich, die Partie zu speichernEs gibt %d Partien mit ungespeicherten Zügen. Sollen diese vor dem Schließen gespeichert werden?Konnte %s nicht hinzufügenDatei konnte nicht gespeichert werden '%s'Unbekannter Dateityp '%s'Herausforderung:Ein Spieler setzt _SchachEin Spieler _ziehtEin Spieler schl_ägtASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbbruchWas ist Schach?Ak_tivAnnehmenAlarm bei _Restzeit:Aktives Farbfeld muss entweder w oder b sein. %sAktive Suchanfragen: %dKommentar hinzufügenAuswertungssymbol hinzufügenBewegungssymbol hinzufügenNeuen Filter hinzufügenStartkommentar hinzufügenBedrohliche Variationslinien hinzufügenVorschläge können Ihnen helfen Ideen zu finden, können aber die Spielstärke des Computers beeinträchtigen.AdressfehlerVertagenAdminAdministratorAfghanistanAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbanienAlgerienAlle Schach-DateienAlle weißAmerikanisch-SamoaAnalyse durch %sSchwarze Züge analysierenVon aktueller Position analysierenPartie analysierenWeiße Züge analysierenAndorraAngolaAnguillaAnimiere Spielfiguren, -brettrotation und anderes. Für schnelle Rechner.Kommentierte PartieKommentarKommentatorAntarktisAntigua und BarbudaBeliebige StärkeArchiviertArgentinienArmenienArubaAsiatische VariantenNach Berechtigungen fragenZum Ziehen auffordernBewertungAsymmetrisches Random-ChessAsymmetrisch zufällig AtomschachAustralienÖsterreichAutorAutomatisch abgelaufene _Zeit reklamierenAutomatisch in Dame _umwandelnSpielbrett automatisch zum aktiven menschlichen Spieler d_rehenAutomatische Anmeldung beim StartAutomatisch abmeldenVerfügbarAserbaidschanBS EloHintergrundbildpfad:Schlechter ZugBahamasBahrainBangladeschBarbadosWeil %(black)s die Verbindung verloren hatWeil %(black)s die Verbindung zum Server verloren- und %(white)s Unterbrechung gefordert hatWeil die Zeit von %(black)s abgelaufen ist und %(white)s kein ausreichendes Material zum Mattsetzen hat%(loser)s hat sich abgemeldetWeil der König von %(loser)s explodiert istWeil %(loser)s an Zeitnot gestorben istWeil %(loser)s aufgegeben hatWeil %(loser)s schachmatt gesetzt wurdeWeil %(mover)s zugunfähig ist: Patt!Weil %(white)s die Verbindung verloren hatWeil %(white)s die Verbindung zum Server verloren- und %(black)s Unterbrechung gefordert hatWeil die Zeit von %(white)s abgelaufen ist und %(black)s kein ausreichendes Material zum Mattsetzen hat%(winner)s hat weniger FigurenWeil %(winner)s König die Brettmitte erreicht hatWeil der König von %(winner)s die achte Reihe erreicht hat%(winner)s verlor alle FigurenWeil %(winner)s 3-mal im Schach gestanden hatWeil ein Spieler das Spiel abgebrochen hat. Beide Spieler können ohne Zustimmung des anderen Spielers das Spiel abbrechen, solange noch keine zwei Züge gespielt sind. Das hat keine Auswirkungen auf das Rating der Spieler.Weil ein Spieler sich abgemeldet hat und zu wenig Züge hatte um eine Vertagung zu fordern. Es wurden keine Bewertungsänderungen vorgenommenWeil ein Spieler die Verbindung verloren hatWeil ein Spieler seine Verbindung verloren- und der andere Spieler Unterbrechung gefordert hatBeide Spieler einigten sich auf ein UnentschiedenWeil beide Spieler einem Spielabbruch zugestimmt haben. Keine Wertungsänderungen sind aufgetreten.Beide Spieler einigten sich auf eine Unterbrechung.Weil beide Spieler dieselbe Anzahl Figuren habenWeil beide Spieler an Zeitnot gestorben sindWeil kein Spieler ausreichendes Material zum Mattsetzen hatEntscheidung eines AdminsAufgrund einer Entscheidung eines Administrators. Keine Wertungsänderungen sind aufgetreten.Aufgrund der Großzügigkeit eines Spielers. Keine Wertungsänderungen sind aufgetreten.Weil die Engine von %(black)s abgestürzt istWeil die Engine von %(white)s abgestürzt istWeil die Verbindung zum Server verloren wurdeDie Partie hat die maximale Länge überschrittenWegen der 50-Züge-RegelDieselbe Stellung hat sich dreimal hintereinander wiederholtWeil der Server heruntergefahren wurdeWeil der Server heruntergefahren wurde. Es wurden keine Bewertungsänderungen vorgenommenSignaltonWeißrusslandBelgienBelizeBeninBermudaBesteBhutanLäuferSchwarzSchwarz O-OSchwarz O-O-OSchwarz hat eine neue Figur als Vorposten: %sSchwarz hat eine äußerst eingeengte PositionSchwarz hat eine leicht eingeengte PositionZug SchwarzSchwarz sollte einen Bauernansturm links unternehmenSchwarz sollt einen Bauernansturm rechts unternehmenSchwarz:BlindschachBlindschachBlindschach AccountBlitzBlitz:Blitz: 5 Min.Bosnien und HerzegowinaBotswanaBouvetinselBrasilienWessen König das Zentrum (e4, d4, e5, d5) erreicht, gewinnt die Partie sofort! Sonst gelten die normalen Regeln mit Sieg durch Matt setzen.Brunei DarussalamTandemschachBulgarienBurkina FasoBurundiCCACMKap VerdeBerechne...KambodschaOuk-KhmerOuk-Khmer: https://en.wikipedia.org/wiki/Ouk-Khmer_%28Hill's_version%29KamerunKanadaAufgenommenFalsches Rochadefeld. %sKategorie:KaimaninselnMitte:Zentralafrikanische RepublikTschadHerausforderungHerausforderung: Herausfordern: Toleranz ändernChatSchachbeistandSchach-Alpha-2-DiagrammSchachpartieSchachstellungSchachSchach-ClientSchach960ChileChinaWeihnachtsinselRemis reklamierenKlassische Schachregeln http://de.wikipedia.org/wiki/SchachKlassische Schachregeln mit allen weißen Figuren http://de.wikipedia.org/wiki/BlindschachKlassische Schachregeln mit ausgeblendeten Figuren http://de.wikipedia.org/wiki/BlindschachKlassische Schachregeln mit ausgeblendeten Bauern http://de.wikipedia.org/wiki/BlindschachKlassische Schachregeln mit ausgeblendeten Figuren http://de.wikipedia.org/wiki/BlindschachKlassischKlassisch: 3 Min. / 40 ZügeLöschenUhrSchließen _ohne SpeichernKolumbienAnalysierte Züge einfärbenBefehlszeilenoberfläche zum SchachserverVom Schachprogramm benötigte KommandozeilenparamenterVon der Laufzeitumgebung benötigte KommandozeilenparameterKommando:KommentarKommentar:KommentareKomorenAusgleichRechnerRechnerKongoDemokratische Republik KongoVerbindeVerbindung zum Server herstellenVerbindungsfehlerVerbindung wurde getrenntKonsoleFortfahrenWeiter auf Gegner warten oder Partie vertagen? CookinselnFEN kopierenEckeCosta RicaKonnte die Datei nicht speichernGegenspielHerkunftsland der EngineLand:Einsetzschach (Crazyhouse)Erstelle neue PGN DatenbankSuchanfrage erstellenPolyglot-Eröffnungsbuch erstellenErstelle .bin Index Datei...Erstelle .scout Index Datei...KroatienErdrückender VorteilKubaCuraçaoZypernTschechienElfenbeinküsteDSchwarze Felder:DatenbankDatumDatum/ZeitDatum:Entscheidender VorteilAblehnenStandardDänemarkZielrechner nicht erreichbarErmittle Dateityp automatischEntwicklungsvorteilGestorbenDschibutiWussten Sie, dass es möglich ist, eine Schachpartie in nur 2 Zügen zu beenden?Wussten Sie, dass die Anzahl der möglichen Schachpartien größer ist, als es Atome im Universum gibt?Möchten Sie abbrechen?DominicaDominikanische RepublikEgalDiesen Dialog beim starten nicht anzeigen.RemisRemis:UnentschiedenWegen Missbrauchs wurden Gastzugriffe unterbunden. Sie können sich aber bei http://www.freechess.org registrieren lassen.Dummy-KontoECOEcuadorBearbeite SuchanfrageBearbeite SuchanfrageKommentar bearbeitenAusgewählten Filter bearbeitenAuswirkung auf die Wertungen bei möglichen ErgebnissenÄgyptenEl SalvadorEloeMailKein gültiges Zielfeld eines En-Passant-Zuges. %sEn passant auf LinieEndspieltabelleEndspielePunktzahlen des Schachprogramms sind in Bauerneinheiten angegeben (aus Sicht von Weiß). Durch Doppelklick auf die Analysezeile können sie als Variationen den Kommentaren hinzugefügt werden.EnginesSchachprogramme benutzen das uci oder xboard Protokoll um mit dem GUI zu kommunizieren. Wenn es beide benutzen kann, können Sie hier einstellen, welches Sie bevorzugen.Partie betretenUmgebungÄquatorialguineaEritreaFehler beim verarbeiten von %(mstr)sFehler beim verarbeiten von Zug %(moveno)s %(mstr)sEstlandÄthiopienEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEreignisEreignis:UntersuchenPausierte Partie untersuchenUntersuchtPrüfeExzellenter ZugAusführbare DateienPosition exportierenExterneFAFEN benötigt 6 Datenfelder. %sFEN benötigt mindestens 2 Datenfelder in fenstr. %sFICS Atomschach: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS Tandemschach: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS Einsetzschach: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS Räuberschach: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Zufällige Figuren (2 Damen oder 3 Türme möglich) * Genau ein König pro Farbe * Figuren werden zufällig hinter die Bauern gestellt * Keine Rochade * Die schwarze Aufstellung spiegelt die weisse widerFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Zufällige Aufstellung (2 Damen oder 3 Türme möglich) * Genau ein König pro Farbe * Figuren werden zufällig hinter den Bauern aufgestellt. Jedoch sind die Läufer immer ausgeglichen. * Keine Rochade * Die schwarze Aufstellung spiegelt NICHT die weisse widerFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Bauern starten von Reihe 7 anstatt von Reihe 2!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Bauern starten auf der 4. und 5. Reihe, statt der 2. und 7. wie im normalen SpielFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html Weisse Bauern starten auf der 5. Reihe und schwarze auf der 4.FIDE ArbeiterFIDE-MeisterFMV_ollständige Animation des SpielbrettsAngesicht _zu Angesicht AnzeigemodusFalklandinseln [Malwinen]Färöer-InselnFidschiDatei existiertFilterPartienliste nach aktuellen Partienzügen filternPartienliste nach Eröffnungszügen filternFiltere Spiele nach unterschiedlichen KriterienFilterPostion in aktueller Datenbank suchenFingerFinnlandFischer RandomFolgenSchriftart:Erzwungener ZugFrankreichFranzösisch-GuayanaFranzösisch-PolynesienFranzösische SüdgebieteFreundeGMGabunZuschlag (pro Zug):GambiaPartiePartienlistePartieanalyse läuft...Partie abgebrochenPartiedatenPartie ist _unentschieden:Partie wurde _verloren:Partie ist _bereit:Partie wurde ge_wonnen:Partie geteilt aufPartienLaufende Partien: %dGaviota TB Pfad:Generell hat dies keine Bedeutung, da das Spiel zeitbasiert ist, aber wenn Sie Ihren Gegner zufriedenstellen wollen, sollten Sie vielleicht weitermachen.GeorgienDeutschlandGhanaGibraltarGehe zurück auf die GrundlinieGuter ZugGroßmeisterGriechenlandGrönlandGrenadaGitterGuadeloupeGuamGuatemalaGuernseyGastGästeanmeldungen vom FICS-Server deaktiviertGästeGuineaGuinea-BissauGuyanaHHaitiHalbzug UhrKopfdatenVersteckte BauernVerdeckte SpielsteineAusblendenTippsHeiliger StuhlHondurasHongkongServer:Wie gespielt wirdHTML-DiagrammMenschUngarnICC giveaway: https://www.chessclub.com/user/help/GiveawayIIC Lag Kompensation benötigt timestampICSIMIslandKennungIdentifikationUntätigWenn aktiviert, können Spieler abgelehnt werden, die Ihre Suchanfrage angenommen haben. Aktiviert in der Tab-Beschriftung die Anzeige der FICS-Spielnummer bei den Namen der Spieler.Wenn aktiviert, wird PyChess als suboptimal analysierte Züge rot einfärben.Wenn aktiviert, wird PyChess die Spielergebnisse für verschiedene Züge in Stellungen mit 6 oder weniger Figuren anzeigen. Es sucht nach Stellungen aus http://www.k4it.de/Wenn aktiviert, wird PyChess die Spielergebnisse für verschiedene Züge in Stellungen mit 6 oder weniger Figuren anzeigen. Sie können Endspieldatenbanken hier herunterladen: http://www.olympuschess.com/egtb/gaviota/Wenn aktiviert, wird PyChess die besten Eröffnungszüge im Tipp-Fenster vorschlagen.Wenn aktiviert, werden Figuren statt Großbuchstaben genutzt, um die Züge zu dokumentieren.Wenn aktiviert, werden beim Schließen des Hauptfensters alle Partien ohne Rückfrage geschlossen.Wenn aktiviert, wird der Bauer ohne Dialogfenster in eine Dame umgewandelt.Wenn aktiviert, werden die schwarzen Figuren auf den Kopf gestellt. Sinnvoll für mobile Geräte, wenn der Gegenspieler auf der anderen Seite des Bildschirms sitzt.Wenn aktiviert, wird das Brett nach jedem Zug gedreht, sodass beide Spielder das Brett aus ihrer Sicht sehen können.Wenn aktiviert, werden die geschlagenen Figuren neben dem Brett angezeigt.Wenn aktiviert, wird die vom Spieler verbrauchte Zugzeit angezeigt.Wenn aktiviert, wird die Bewertung des Tipp-Analyseschachprogramms angezeigt.Aktiviert Beschriftungen auf dem Schachbrett. Dies kann sinnvoll für die Schachnotation sein.Wenn aktiviert, wird die Tableiste nur angezeigt, wenn sie benötigt wird.Wenn das Analyseprogramm einen Zug findet, bei dem die Bewertungsdifferenz (die Differenz zwischen der Bewertung des Zuges, den es als den besten ansieht, und der Bewertung des Zuges, der in der Partie gemacht wurde) diesen Wert übersteigt, wird es einen Kommentar dieses Zuges (bestehend aus der von dem Schachprogramm errechneten bestmöglichen Variante für diesen Zug) in das Kommentarfenster einfügenWenn Sie nicht speichern, wird der aktuelle Spielstand unwiederbringlich verworfen.Farben ignorierenBilderUngleichgewichtImportierenPGN-Datei importierenImportiere kommentierte Spiele von endgame.nlSchachdatei importierenPartien von theweekinchess.com importierenImportiere Kopfdaten...Im TurnierIn diesem Spiel ist das Schach verboten: es ist nicht nur verboten den König in ein Schach zu bewegen, sondern auch dem gegnerischen König Schach zu geben. Das Ziel des Spiels ist es, mit dem eigenen König als erstes die achte Reihe zu erreichen. Sollte Weiß die achte Reihe erreichen und Schwarz im darauf folgenden Zug ebenfalls, so endet das Spiel in einem Unentschieden (diese Regel kompensiert den Anzugvorteil von Weiß). Abgesehen von dem oben genannten, ziehen und schlagen die Figuren genauso wie in normalem Schach.In dieser Stellung gibt es keinen legalen Zug._PGN-Datei einrückenIndienIndonesienDaueranalyseInfoUrsprungspositionErsteinrichtungInitiativeInteressanter ZugInternationaler MeisterUngültiger Zug.Iran (Islamische Republik)IrakIrlandInsel ManIsraelEs ist nicht möglich, die Partie später fortzusetzen, wenn Sie sie jetzt nicht abspeichern.ItalienJamaikaJapanJerseyJordanienZur Anfangsposition zurückgehenZur letzten Stellung zurückspringenKKasachstanKeniaKönigKönig des Hügels (King of the hill)KiribatiSpringerSpringervorgabeSpringerKuwaitKirgisistanLettland_Vollbild verlassenLibanonVorträgeLängeLesothoLektionenLiberiaLibyenLiechtensteinWeiße Felder:BulletBlitz:Liste der laufenden SpieleSpielerlisteListe der ServerkanäleLitauenLetzte Partie ladenSpielerdaten werden geladenLokales EreignisLokaler OrtAbmeldungFehler bei der AnmeldungAls _Gast anmeldenBeim Server anmeldenLosers, engl. RäberschachvarianteNiederlageNiederlage:LuxemburgMacaoMadagaskarMakrukMakruk: https://de.wikipedia.org/wiki/MakrukMalawiMalaysiaMaledivenMaliMaltaMamer ManagerEngines-EinstellungenAnleitungManuell AnnehmenGegner manuell bestätigenMarshallinselnMartiniqueMatt in %dMaterial/ZugMauritanienMauritiusMaximale Analysezeit in Sekunden:MayotteMexikoFöderierte Staaten von MikronesienMinuten:Minuten: Moderater VorteilMonacoMongoleiMontenegroMontserratMehr KanäleMehr SpielerMarokkoZugZuglisteZugnummerGezogenZüge:MosambikMyanmarSNMNameNamen: #n1, #n2NamibiaNationaler MeisterNauruDer Eintrag im Plazierungsfeld muss insgesamt 7 Schrägstriche (/) enthalten. %sNepalNiederlandeEs werden keine Animationen dargestellt. Auf langsamen Rechnern nützlich.NeuNeukaledonienNeue PartieNeue RD:NeuseelandNeue _DatenbankNeuigkeitenWeiterNicaraguaNigerNigeriaNiueKeine _AnimationenAn diesem Spiel nehmen keine Engines (Computerspieler) teil.Keine Konversation ausgewähltKein TonNorfolkinselNormalNormal: 40 Min. + 15 Sek./ZugNördliche MarianenNorwegenNicht verfügbarKein Schlagzug (unscheinbarer Zug)Beobachten%s beobachtenÜberwachung _endet:BeobachterVorgabenAbbruch AnbietenAufgabe anbietenAufschub anbietenPause anbietenRevanche anbietenFortsetzung anbietenRückgängig machen anbieten_Aufgeben anbietenRemis _anbieten_Pause anbietenFortsetzung anbieten_Rücknahme anbietenOffizielle PyChess-Leiste.Nicht verbundenOmanAuf FICS umfasst Ihre "Wild"-Wertung alle der folgenden Varianten bei allen Zeitkontrollen: Ein Spieler startet mit einem Springer wenigerEin Spieler beginnt mit einen Bauern wenigerEin Spieler beginnt mit einer Dame wenigerEin Spieler beginnt mit einem Turm wenigerVerbundenNur Züge ani_mierenNur Spielfiguren animieren.Nur registrierte Benutzer können hier chattenÖffnenPartie öffnenÖffne Klang-DateiSchachdatei öffnenEröffnungsbuchEröffnungsbücherSchachdatei wird geöffnet...EröffnungenRang des GegnersGegnerische Stärke:OptionOptionenSonstigesAndere (keine Standardregeln)Andere (Standardregeln)BPakistanPalauPanamaPapua-NeuguineaParaguayParameter:FEN einfügenMusterPauseBauerBauernvorgabeFreibauernFreibauernPeruPhilippinenPingPitcairnPlatzierungSpielenSpiele Fischer Random SchachRäuberschach spielenRevanche spielen_Internetschach spielenNach normalen Schachregeln spielenSpielerlisteSpieler_bewertungSpieler:Spieler: %dEs wird gespieltPNG BildPo_rts:PolenPolyglot Buch Datei:Portugal_VorschauBevorzuge Figuren in der Notation.EinstellungenBevorzugte Stufe:Bereite den Import vor...VorschauPrivatMöglicherweise weil es zurückgezogen wurde.FortschrittUmwandlungProtokollPuerto RicoPuzzlesPyChess - Mit Internet-Schach verbindenPyChess InfofensterPyChess hat die Verbindung zur Engine verloren, vielleicht ist sie abgestürzt. Du kannst versuchen ein neues Spiel mit dieser Engine zu starten oder versuche gegen eine andere Engine zu spielen.PyChess.pyDKatarDameDamenvorgabeLernen beendenBeende PyChessTAufgebenZufallSchnellSchnell: 15 Min. + 10 Sek./ZugBewertetBewertete PartieWertungLese %s ...Spielerliste wird empfangenIndexe werden aufgefrischt...RegistriertEntfernenAusgewählten Filter entfernenFortsetzung erbittenErneut senden%s erneut senden?Farben zurücksetzenStandardoptionen wiederherstellenErgebnisErgebnis:FortsetzenWiederholenRumänienTurmTurmvorgabeBrett drehenRundeRunde:Simultanes Match läuftLaufzeitumgebungskommando:Laufzeitumgebungsparameter:Russische FöderationRuandaRéunionSRRegistrierenSt. Kitts und NevisSt. Vincent und die GrenadinenSamoaSan MarinoSanktionenSão Tomé und PríncipeSaudi-ArabienSpeichernPartie speichernPartie speichern _unterNur _eigene Partien speichernSpeichern der ComputerbewertungSpeichern alsDatenbank speichern alsVerbrauch_te Zugzeiten anzeigenDatei speichern nach:Züge vor dem Beenden speichern?Aktuelle Partie vor dem Schließen speichern?Speichere in eine PGN Datei unter...ErgebnisSuchen:SuchgraphSuchgraphSuche aktualisiertSuchen / HerausforderungenPfad zu Gaviota-TB auswählenPfad zum automatischen Speichern auswählenHintergrundbilddatei auswählenBuchdatei auswählenEngine auswählenAudiodatei wählen …Wählen Sie die zu speichernden Partien aus:Arbeitsverzeichnis auswählenHerausforderung sendenAlle Suchanfragen sendenSuchanfrage sendenSenegalSeq.SequenzSerbienServer:Verteter des DienstesUmgebung wird eingerichtetStellung aufbauenSeychellenZeige KoordinatenZeit_notRufenFICS-Spielnummern in der Tab-Beschriftung anzeigenZeige _geschlagene FigurenZeige verbrauchte ZugzeitenZeige BewertungenTipps beim Start anzeigenShredderLinuxChessMischenSeite am ZugSeiten_leistenSierra LeoneEinfache Schach-PositionSingapurOrtOrt:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinLeichter VorteilSlowakeiSlowenienSalomonenSomaliaEinige PyChess Funktionen benötigen deine Erlaubnis um externe Programme herunterzuladenEntschuldigung, '%s' ist bereits angemeldetKlangdateienQuelleSüdafrikaSüdgeorgien und die Südlichen SandwichinselnSüdsudanSp_ionpfeilSpanienverstrichene ZeitStandardStandard:Private Unterhaltung startenStatusEinen Zug zurückEinen Zug vorGewinnserieSudanRäuberschachSurinameVerdächtiger ZugSwasilandSchwedenSchweizSymboleArabische Republik SyrienTTDTMTadschikistanRedenTeam-KontoTextdiagrammTextur:ThailandDas Abbruch-AngebotDas Vertagungs-AngebotDie Analyse wird im Hintergrund laufen und die Partie analysieren. Dies ist für den Tipp-Modus notwendig.Das Ketten-Symbol ist deaktiviert, weil Sie als Gast eingeloggt sind. Gäste können keine Wertungen erzielen und der Zustand des Symbols hat keine Auswirkungen, da es keine Wertung gibt, anhand derer die "Gegnerische Spielstärke" ausgerichtet werden kannDas Chatfenster lässt Sie mit Ihrem Gegner kommunizieren, vorausgesetzt er oder sie ist daran interessiertDie Uhr läuft noch nicht.Das Kommentarfenster versucht die gespielten Züge zu analysieren und zu erklärenDie Verbindung wurde unterbrochen - "End Of File"-Meldung erhaltenDas Verzeichnis aus dem das Schachprogramm gestartet wird.Der anzuzeigende Name des ersten menschlichen Spielers, z.B. Max.Der anzuzeigende Name des Gastspielers, z.B. Maria.Das Remis-AngebotDie Endspieldatenbank zeigt eine exakte Analyse, wenn sich nur wenige Figuren auf dem Brett befindenThe Engine %s hat einen Fehler ausgegeben:Die Engine-Ausgabeleiste zeigt die Überlegungen der Computerschach-Engine während des Spiels anDas eingegebene Passwort war ungültig. Wenn Sie Ihr Passwort vergessen haben, besuchen sie http://www.freechess.org/password um ein neues per email anzufordern.Der Fehler war: %sDie Datei existiert bereits in '%s'. Wenn Sie die Datei ersetzen, wird der Inhalt überschrieben.Zeitablauf reklamierenDie Partie kann wegen eines Fehlers in der FEN-Datei nicht geladen werdenDie Partie kann wegen eines Fehlers beim Verarbeiten von Zug %(moveno)s '%(notation)s' nicht bis zum Ende eingelesen werden.Die Partie endete RemisDie Partie wurde abgebrochenDie Partie wurde vertagtDie Partie wurde beendetDiese Leiste bietet Computerunterstützung über die gesamte Partie hinweg.Das umgedrehte Analysetool wird die Partie analysieren, wenn Ihr Gegner am Zug ist. Dies ist für den Spion-Modus notwendigDer Zug schlug fehl, weil %s.Die Zugliste speichert die Züge der Spieler und ermöglicht es Ihnen, durch die gespielte Partie zu navigierenDas Seitentausch-AngebotDas Eröffnungsbuch wird versuchen Sie während der Eröffnung zu inspirieren, indem es gebräuchliche Züge von Schachmeistern zeigtDas Pausen-AngebotDer Grund ist nicht bekannt.Die AufgabeDas Fortsetzen-AngebotDas Ergebnisfenster versucht die Stellungen zu bewerten und zeigt Ihnen ein Diagramm des SpielfortschrittesDas Rücknahme-AngebotThebanischThemenEs gibt %d Partie mit ungespeicherten Zügen.Es gibt %d Partien mit ungespeicherten Zügen.Etwas stimmt mit dieser ausführbaren Datei nichtDiese Partie kann automatisch abgebrochen werden, weil noch keine zwei Züge gemacht wurden. Das Ranking bleibt dabei unverändert.Diese Partie kann nicht unterbrochen werden, da einer oder beide Spieler Gäste sindDies ist die Fortsetzung einer vertagten PartieDiese Option wird nicht angewendet, weil Sie der Herausforderer sindDiese Option steht nicht zur Verfügung, weil Sie einen Gast herausfordern, Bedrohungsanalyse durch %sThree-checkZeitZeitkontrolle:ZeitdruckOsttimorTipp des TagesTipp des TagesTitelBetiteltUm eine Partie zu speichern Partie > Partie speichern unter, Dateinamen und Speicherort eingebe. Wähle unten den Dateityp und drücke Speichern.TogoTokelauToleranz:TongaTurnierleiterPyChess übersetzenTrinidad und TobagoVersuchen Sie chmod a+x %sTunesienTürkeiTurkmenistanTurks- und CaicosinselnTuvaluTypPGN oder FEN Positionen hier eingeben oder einfügenUUgandaUkraineUnfähig %s zu akzeptierenSpeichern in die Konfigurationsdatei fehlgeschlagen. Spiele vor dem Schließen speichern?Konnte nicht in die konfigurierte Datei speichern. Soll das aktuelle Spiel vor dem schließen gespeichert werden?Unklare PositionUnbeschriftete FlächeRückgängig machenEinen Zug zurücknehmenZwei Züge zurücknehmenDeinstallierenVereinigte Arabische EmirateVereinigtes Königreich Großbritannien und NordirlandVereinigte Staaten von AmerikaUnbekanntUnbekannter SpielzustandInoffizieller Kanal %dUnbewertetUnregistriertOhne ZeitlimitVerkehrt herumUruguayVerwende _AnalysiererVerwende _umgekehrten Analysierer_Lokale Endspieldatenbanken verwenden_Online-Endspieldatenbanken verwendenAnalyseprogramm verwenden:Namensformat verwenden:Eröffnungsbuch verwendenUsbekistanWertVanuatuVarianteVariante entwickelt von Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Schwellenwert für die Erzeugung von Variantenkommentaren in Zentibauern:Sehr schlechter ZugVietnamJungferninseln (Britisch)Jungferninseln (USA)W EloWFMWGMWIMWartenWallis und FutunaKann '%(uri)s' nicht speichern da PyChess das Format '%(ending)s' nicht kennt.WillkommenGut gemacht!Gut gemacht! %s abgeschlossen.WestsaharaIst das Ketten-Symbol geschlossen, bleibt das Verhältnis zwischen "Gegnerischer Stärke" und "Eigener Spielstärke" erhalten, wenn a) sich Ihre Wertung für den Spieltyp ändert b) Sie die Variante oder die Zeiteinstellung ändernWeißWeiß O-OWeiß O-O-OWeiß hat eine neue Figur als Vorposten: %sWeiß hat eine äußerst eingeengte PositionWeiß hat eine leicht eingeengte PositionZug WeißWeiß sollte einen Bauernansturm links unternehmenWeiß sollte einen Bauernansturm rechts unternehmenWeiß:WildWildcastleWildcastle shuffleSiegGewonnen durch 3-maliges Schach gebenSieg:Gewonnen in %Mit AngriffFrauen-FIDE-MeisterGroßmeisterinInternationale MeisterinArbeitsverzeichnis:Jahr, Monat, Tag: #y, #m, #dJemenSie haben den gegnerischen Zug nachgefragtSie können keine bewerteten Partien spielen, da die Schachuhr deaktiviert istSie können keine bewerteten Partien spielen, da Sie als Gast angemeldet sindSie können keine Varianten einstellen, da die Schachuhr deaktiviert istSie können die Farben nicht während der Partie wechseln.Du kannst das nicht verändern. Du untersuchst ein Spiel.Du hast keine Rechte um diese Datei zu speichern. Prüfe bitte, ob Du den richtigen Pfad eingegeben hast und probiere es erneut.Sie wurden abgemeldet, weil so länger als 60 Minuten untätig waren.Sie haben noch keine Konversation begonnenSie müssen beobachten anschalten, um hier Bot Nachrichten sehen zu können.Sie haben versucht, zu viele Züge zurückzunehmen.Sie dürfen höchstens 3 aktive Suchanfragen zugleich haben. Um eine neue Suchanfrage zu stellen, müssen die aktiven Anfragen gelöscht werden. Suchanfragen löschen?Sie haben ein Remis-Angebot gesendet.Sie haben ein Pausen-Angebot gesendet.Sie haben ein Wiederaufnahme-Angebot gesendet.Sie haben ein Abbruch-Angebot gesendet.Sie haben ein Vertagungs-Angebot gesendet.Sie haben ein Rücknahme-Angebot gesendet.Sie haben die Reklamation des Zeitablaufs gesendetIhr Gegner bittet Sie, sich zu beeilen!Ihr Gegner bittet darum, die Partie abzubrechen. Sie wird dann nicht bewertet.Ihr Gegner bittet darum, die Partie zu vertagen. Wenn Sie annehmen, kann sie später wiederaufgenommen werden (wenn beide Gegner online sind und der Wiederaufnahme zustimmen).Ihr Gegner bitte um eine Pause. Wenn Sie annehmen, wird die Uhr so lange angehalten, bis beide Spieler der Wiederaufnahme zustimmen.Ihr Gegner möchte mit der Partie fortfahren. Wenn Sie annehmen, läuft die Uhr weiter.Ihr Gegner bittet darum, die letzten %s Züge zurückzunehmen. Wenn Sie annehmen, wird die Partie von der früheren Position weitergeführt.Ihr Gegner bietet Ihnen ein Remis an.Ihr Gegner hat Remis angeboten. Wenn Sie es annehmen, wird die Partie 1/2 zu 1/2 bewertet.Ihr Gegner verfügt noch über Restspielzeit.Der Gegner muss dem Spielabbruch zustimmen, weil schon mehr als zwei Züge gemacht wurden.Scheinbar hat Ihr Gegner seine Meinung geändert.Ihr Gegner möchte die Partie beenden.Ihr Gegner möchte die Partie verschieben.Ihr Gegner will eine Spielpause.Ihr Gegner möchte die Partie fortsetzen.Ihr Gegner möchte %s Zug/Züge zurücknehmen.Suchanfragen wurden gelöschtIhre Spielstärke: Ihr Zug.SambiaSimbabweZugzwang_Annehmen_AktionenPartie _analysieren_Archiviert_Automatisches speichern der beendeten Spiele in eine .pgn DateiAbgelaufene _Zeit reklamierenSu_chergebnisse löschenFEN kopieren_PGN kopieren_AblehnenEinstellung_EnginesSpielstand _exportieren_Vollbild_Partie_PartielisteAll_gemein_HilfeTabs _verstecken, wenn nur eine Partie offen ist_Hinweispfeil_Hinweise_Ungültiger Zug:Partie _Laden_Protokoll_Meine Partien_Name:_Neue Partie_Nächster_Überwachte Züge:_Gegner:_Passwort:Normales Schach s_pielen_Spielerliste_Vorheriger_ErsetzenBrett _DrehenSpeichere %d PartieSpeichere %d Partien_Sichere %d DokumentePartie _speichern_Suchanfrage / Herausforderung_Seitenleiste anzeigen_KlängePartie _starten_UnbegrenztHa_uptanwendungsschließer [x] zum Schließen aller Partien verwenden_Verwende Klänge in PyChess_Ansicht_Ihre Farbe:undGäste können nicht an bewerteten Partien teilnehmenIm FICS können keine Partien ohne Schachuhr bewertet werdenIm FICS können Partien ohne Schachuhr nur nach den Standard-Schachregeln gespielt werdenUm zügiges Weiterspielen bittenschwarzbringt einen %(piece)s näher zum feindlichen König: %(cord)sbringt einen Bauern näher an die hinterste Reihe: %sZeitablauf des Gegners reklamierenschlägt MaterialrochiertDer Datenbank Eröffnungsbaum benötigt chess_dbDatenbankabfragen benötigen scoutfishverteidigt %sentwickelt einen %(piece)s: %(cord)sentwickelt einen Bauern: %sziehttauscht Material abgnuchess:halboffenhttp://brainking.com/en/GameRules?tp=2 * Zufällige Aufstellung der Figuren der 1. und 8. Reihe * Der König befindet sich in der rechten Ecke * Läufer stehen sich, in der Startaufstellung, gegenüber * Schwarze Aufstellung ist um 180 Grad gedrehte weisse * Keine Rochadehttps://de.wikipedia.org/wiki/Schachhttp://de.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttps://de.wikipedia.org/wiki/Schach#Spielregelnerhöht die Königssicherheitauf der %(x)s%(y)s Linieauf den %(x)s%(y)s Linienerhöht den Druck auf %sUngültig umgewandelte FigurLektionensetzt mattMin.Zugbewegt den Turm auf eine offene Liniebewegt den Turm auf eine halboffene Liniebewegt den Läufer ins Fianchetto: %sspielt nichtvonRemis anbietenEine Pause anbietenEine Zurücknahme des letzten Zugs anbietenAufgabe anbietenVertagung anbietenWeiterspielen anbietenAnbieten, die Seiten zu wechselnInsgesamt onlinefesselt %(oppiece)s an %(piece)s auf %(cord)s-Linieplatziert einen %(piece)s aktiver: %(cord)swandelt den Bauern in eine(n) %ssetzt den Gegner SchachBewertungsspektrumretten einen %saufgebenRunde %sopfert MaterialSek.Sek.erhöht leicht die Königssicherheitgewinnt Material zurückDas ausgewählte Feld (%s) ist ungültigDas Schlussfeld (%s) ist ungültigDer Zug braucht eine Figur und ein ZielfeldMaterialgewinn droht auf %szum automatischen Annehmenzum manuellen AnnehmenucigegenweißFenster 1xboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Zufällige Aufstellung hinter den Bauern * Keine Rochade * Die schwarze Aufstellung spiegelt die weisse widerxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * Weiß hat die typische Startformation * Die schwarzen Figuren sind gleich aufgestellt, mit Ausnahme von König und Dame, die vertauscht sind, * sodass sie nicht auf den gleichen Linien sind wie der weiße König und die weiße Dame sind. * Die Rochade wird gleich ausgeführt wie bei normalem Schach: * o-o-o bezeichnet die lange, o-o die kurze Rochade.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * Bei dieser Variante werden zwei normale Sätze Spielsteine verwendet. * Der weiße König steht anfangs auf d1 oder e1 und der schwarze König auf d8 oder e8, * die Türme stehen auf den üblichen Feldern. * Die Läufer eines Spielers stehen auf verschiedenfarbigen Feldern. * Unter den genannten Bedingungen ist die Position der Figuren auf der ersten Reihe ansonsten zufällig. * Die Rochade wird ähnlich wie im normalen Schach ausgeführt, * o-o-o bedeutet lange Rochade und o-o kurze Rochade.Åland-Inselnpychess-1.0.0/lang/de/LC_MESSAGES/pychess.po0000644000175000017500000054070213467735175017404 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # alwey, 2015 # alwey, 2015 # alwey, 2016-2017 # Ettore Atalan , 2014-2018 # gbtami , 2015-2016 # kopiersperre , 2013 # Jochen , 2014 # Julian Willemer, 2018 # Karl Gustav , 2016 # Lars H. , 2015 # Matthias Walther , 2012 # Norbert Fabritius , 2006 # Pilgrim , 2013 # Poly BOT , 2018 # scuffi , 2014-2017 # Søren Woods , 2019 # Steve , 2014 # Thomas Worofsky , 2016 # valsu , 2015 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-29 15:33+0000\n" "Last-Translator: Søren Woods \n" "Language-Team: German (http://www.transifex.com/gbtami/pychess/language/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Partie" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Neue Partie" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "_Internetschach spielen" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "Partie _Laden" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Letzte Partie laden" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "Partie _speichern" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Partie speichern _unter" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "Spielstand _exportieren" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Spieler_bewertung" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "Partie _analysieren" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "Einstellung" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_PGN kopieren" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "FEN kopieren" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "_Engines" #: glade/PyChess.glade:518 msgid "Externals" msgstr "Externe" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Aktionen" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "_Aufgeben anbieten" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Aufschub anbieten" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Remis _anbieten" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "_Pause anbieten" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Fortsetzung anbieten" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "_Rücknahme anbieten" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "Abgelaufene _Zeit reklamieren" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "Aufgeben" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Zum Ziehen auffordern" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "Automatisch abgelaufene _Zeit reklamieren" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Ansicht" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "Brett _Drehen" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Vollbild" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "_Vollbild verlassen" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "_Seitenleiste anzeigen" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_Protokoll" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "_Hinweispfeil" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "Sp_ionpfeil" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "Datenbank" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "Neue _Datenbank" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "Datenbank speichern als" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "Polyglot-Eröffnungsbuch erstellen" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "Schachdatei importieren" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "Importiere kommentierte Spiele von endgame.nl" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "Partien von theweekinchess.com importieren" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Hilfe" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Was ist Schach?" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Wie gespielt wird" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "PyChess übersetzen" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Tipp des Tages" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Schach-Client" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Einstellungen" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "Der anzuzeigende Name des ersten menschlichen Spielers, z.B. Max." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Name des er_sten menschlichen Spielers:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "Der anzuzeigende Name des Gastspielers, z.B. Maria." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Name des zw_eiten menschlichen Spielers:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "Tabs _verstecken, wenn nur eine Partie offen ist" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Wenn aktiviert, wird die Tableiste nur angezeigt, wenn sie benötigt wird." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "Ha_uptanwendungsschließer [x] zum Schließen aller Partien verwenden" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "Wenn aktiviert, werden beim Schließen des Hauptfensters alle Partien ohne Rückfrage geschlossen." #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "Spielbrett automatisch zum aktiven menschlichen Spieler d_rehen" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Wenn aktiviert, wird das Brett nach jedem Zug gedreht, sodass beide Spielder das Brett aus ihrer Sicht sehen können." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "Automatisch in Dame _umwandeln" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "Wenn aktiviert, wird der Bauer ohne Dialogfenster in eine Dame umgewandelt." #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "Angesicht _zu Angesicht Anzeigemodus" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Wenn aktiviert, werden die schwarzen Figuren auf den Kopf gestellt. Sinnvoll für mobile Geräte, wenn der Gegenspieler auf der anderen Seite des Bildschirms sitzt." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "Zeige _geschlagene Figuren" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "Wenn aktiviert, werden die geschlagenen Figuren neben dem Brett angezeigt." #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Bevorzuge Figuren in der Notation." #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "Wenn aktiviert, werden Figuren statt Großbuchstaben genutzt, um die Züge zu dokumentieren." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "Analysierte Züge einfärben" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "Wenn aktiviert, wird PyChess als suboptimal analysierte Züge rot einfärben." #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "Zeige verbrauchte Zugzeiten" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "Wenn aktiviert, wird die vom Spieler verbrauchte Zugzeit angezeigt." #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "Zeige Bewertungen" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "Wenn aktiviert, wird die Bewertung des Tipp-Analyseschachprogramms angezeigt." #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "FICS-Spielnummern in der Tab-Beschriftung anzeigen" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "Aktiviert in der Tab-Beschriftung die Anzeige der FICS-Spielnummer bei den Namen der Spieler." #: glade/PyChess.glade:1402 msgid "General Options" msgstr "Allgemeine Optionen" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "V_ollständige Animation des Spielbretts" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Animiere Spielfiguren, -brettrotation und anderes. Für schnelle Rechner." #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Nur Züge ani_mieren" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Nur Spielfiguren animieren." #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Keine _Animationen" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Es werden keine Animationen dargestellt. Auf langsamen Rechnern nützlich." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animation" #: glade/PyChess.glade:1527 msgid "_General" msgstr "All_gemein" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "Eröffnungsbuch verwenden" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "Wenn aktiviert, wird PyChess die besten Eröffnungszüge im Tipp-Fenster vorschlagen." #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "Polyglot Buch Datei:" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "_Lokale Endspieldatenbanken verwenden" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "Wenn aktiviert, wird PyChess die Spielergebnisse für verschiedene Züge in Stellungen mit 6 oder weniger Figuren anzeigen.\nSie können Endspieldatenbanken hier herunterladen:\nhttp://www.olympuschess.com/egtb/gaviota/" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "Gaviota TB Pfad:" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "_Online-Endspieldatenbanken verwenden" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "Wenn aktiviert, wird PyChess die Spielergebnisse für verschiedene Züge in Stellungen mit 6 oder weniger Figuren anzeigen.\nEs sucht nach Stellungen aus http://www.k4it.de/" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "Eröffnung, Endspiel" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Verwende _Analysierer" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "Die Analyse wird im Hintergrund laufen und die Partie analysieren. Dies ist für den Tipp-Modus notwendig." #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Verwende _umgekehrten Analysierer" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "Das umgedrehte Analysetool wird die Partie analysieren, wenn Ihr Gegner am Zug ist. Dies ist für den Spion-Modus notwendig" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "Maximale Analysezeit in Sekunden:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "Daueranalyse" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analysieren" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_Hinweise" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Deinstallieren" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "Ak_tiv" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Installierte Seitenleisten" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "Seiten_leisten" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "Hintergrundbildpfad:" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "Willkommensbildschirm" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "Textur:" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Weiße Felder:" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "Gitter" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Schwarze Felder:" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "Farben zurücksetzen" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "Zeige Koordinaten" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "Aktiviert Beschriftungen auf dem Schachbrett. Dies kann sinnvoll für die Schachnotation sein." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "Schachbrett-Stil" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "Schriftart:" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "Figuren" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Themen" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Verwende Klänge in PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "Ein Spieler setzt _Schach" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Ein Spieler _zieht" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Partie ist _unentschieden:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Partie wurde _verloren:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Partie wurde ge_wonnen:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Ein Spieler schl_ägt" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Partie ist _bereit:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "_Überwachte Züge:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "Überwachung _endet:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "Zeit_not" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "_Ungültiger Zug:" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "Alarm bei _Restzeit:" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Ton abspielen, wenn..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Klänge" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "_Automatisches speichern der beendeten Spiele in eine .pgn Datei" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Datei speichern nach:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "Namensformat verwenden:" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "Namen: #n1, #n2" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "Jahr, Monat, Tag: #y, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "Verbrauch_te Zugzeiten anzeigen" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "Speichern der Computerbewertung" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "_PGN-Datei einrücken" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "Nur _eigene Partien speichern" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Speichern" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Umwandlung" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Dame" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Turm" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Läufer" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Springer" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "König" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Den Bauern in welche andere Spielfigur umwandeln?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "Standard" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "Springer" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Partiedaten" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Ort:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Schwarz:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Runde:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Weiß:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "Datum:" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "Ergebnis:" #: glade/PyChess.glade:4818 msgid "Game" msgstr "Partie" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "Spieler:" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Ereignis:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "Identifikation" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "uci" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "xboard" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "Engines-Einstellungen" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Kommando:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protokoll" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Parameter:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "Vom Schachprogramm benötigte Kommandozeilenparamenter" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "Schachprogramme benutzen das uci oder xboard Protokoll um mit dem GUI zu kommunizieren.\nWenn es beide benutzen kann, können Sie hier einstellen, welches Sie bevorzugen." #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "Arbeitsverzeichnis:" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "Das Verzeichnis aus dem das Schachprogramm gestartet wird." #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "Laufzeitumgebungskommando:" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "Laufzeitumgebungsparameter:" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "Von der Laufzeitumgebung benötigte Kommandozeilenparameter" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "Land:" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "Herkunftsland der Engine" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "Kommentar:" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "Umgebung" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "Bevorzugte Stufe:" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "Standardoptionen wiederherstellen" #: glade/PyChess.glade:5538 msgid "Options" msgstr "Optionen" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "Filter" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Weiß" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Schwarz" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "Farben ignorieren" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "Ereignis" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "ECO" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "Elo" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "0" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "-" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Datum" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "Ort" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "Kommentator" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Ergebnis" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "1-0" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "0-1" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "1/2-1/2" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "Variante" #: glade/PyChess.glade:6410 msgid "Header" msgstr "Kopfdaten" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "Ungleichgewicht" #: glade/PyChess.glade:6789 msgid "White move" msgstr "Zug Weiß" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "Zug Schwarz" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "Kein Schlagzug (unscheinbarer Zug)" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "Gezogen" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "Aufgenommen" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "Seite am Zug" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "Material/Zug" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "Muster" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Partie analysieren" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "Analyseprogramm verwenden:" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "Wenn das Analyseprogramm einen Zug findet, bei dem die Bewertungsdifferenz (die Differenz zwischen der Bewertung des Zuges, den es als den besten ansieht, und der Bewertung des Zuges, der in der Partie gemacht wurde) diesen Wert übersteigt, wird es einen Kommentar dieses Zuges (bestehend aus der von dem Schachprogramm errechneten bestmöglichen Variante für diesen Zug) in das Kommentarfenster einfügen" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "Schwellenwert für die Erzeugung von Variantenkommentaren in Zentibauern:" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "Von aktueller Position analysieren" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "Schwarze Züge analysieren" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "Weiße Züge analysieren" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "Bedrohliche Variationslinien hinzufügen" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess sucht nach Ihren Schachprogrammen. Bitte warten." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Mit Internet-Schach verbinden" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "Zum online Schachserver verbinden" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Passwort:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Name:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Als _Gast anmelden" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "Server:" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Po_rts:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "Registrieren" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Herausfordern: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Herausforderung senden" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Herausforderung:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Blitz:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Standard:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Blitz:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "2 Min., Fischer Random, Schwarz" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 Min. + 6 Sek./Zug, Weiß" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 Min." #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "Su_chergebnisse löschen" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Annehmen" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Ablehnen" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "Alle Suchanfragen senden" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Suchanfrage senden" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Suchanfrage erstellen" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Standard" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Blitz" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Bullet" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Rechner" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "_Suchanfrage / Herausforderung" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Wertung" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Zeit" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "Suchgraph" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 Spieler bereit" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Herausforderung" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Beobachten" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Private Unterhaltung starten" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "Registriert" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Gast" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "Betitelt" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "_Spielerliste" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "_Partieliste" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "_Meine Partien" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "Abbruch Anbieten" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "Untersuchen" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "_Vorschau" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "_Archiviert" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "Asymmetrisch zufällig\t" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Bearbeite Suchanfrage" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Ohne Zeitlimit" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minuten: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr " Aufschlag: " #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Zeitkontrolle:" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Zeitkontrolle" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Egal" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Ihre Spielstärke: " #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Blitz)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Gegnerische Stärke:" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "Ist das Ketten-Symbol geschlossen, bleibt das Verhältnis zwischen\n\"Gegnerischer Stärke\" und \"Eigener Spielstärke\" erhalten,\nwenn\na) sich Ihre Wertung für den Spieltyp ändert\nb) Sie die Variante oder die Zeiteinstellung ändern" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Mitte:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Toleranz:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Ausblenden" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Gegnerische Stärke" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Ihre Farbe" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Nach normalen Schachregeln spielen" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Spielen" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Schach-Variante" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Bewertete Partie" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Gegner manuell bestätigen" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Optionen" #: glade/findbar.glade:6 msgid "window1" msgstr "Fenster 1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 von 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Suchen:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Vorheriger" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Nächster" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Neue Partie" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "Partie _starten" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "FEN kopieren" #: glade/newInOut.glade:143 msgid "Clear" msgstr "Löschen" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "FEN einfügen" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "Ersteinrichtung" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Spieler" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "_Unbegrenzt" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "Blitz: 5 Min." #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "Schnell: 15 Min. + 10 Sek./Zug" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "Normal: 40 Min. + 15 Sek./Zug" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "Klassisch: 3 Min. / 40 Züge" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "Normales Schach s_pielen" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Spiele Fischer Random Schach" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "Räuberschach spielen" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Partie öffnen" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Grundstellung" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Partienotation eingeben" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "Halbzug Uhr" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "En passant auf Linie" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "Zugnummer" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "Schwarz O-O" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "Schwarz O-O-O" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "Weiß O-O-O" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "Weiß O-O" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "Brett drehen" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Beende PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Schließen _ohne Speichern" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "_Sichere %d Dokumente" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "Es gibt %d Partien mit ungespeicherten Zügen. Sollen diese vor dem Schließen gespeichert werden?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Wählen Sie die zu speichernden Partien aus:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Wenn Sie nicht speichern, wird der aktuelle Spielstand unwiederbringlich verworfen." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "_Gegner:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_Ihre Farbe:" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "Partie _starten" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "Automatische Anmeldung beim Start" #: glade/taskers.glade:369 msgid "Server:" msgstr "Server:" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "_Zum Server verbinden" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "Datenbank öffnen" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "Kategorie:" #: glade/taskers.glade:796 msgid "Start learning" msgstr "Lernen beginnen" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Tipp des Tages" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Tipps beim Start anzeigen" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "https://de.wikipedia.org/wiki/Schach" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "https://de.wikipedia.org/wiki/Schach#Spielregeln" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Willkommen" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Partie öffnen" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "Lese %s ..." #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "%(counter)s Kopfdaten aus %(filename)s importiert" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "The Engine %s hat einen Fehler ausgegeben:" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "Ihr Gegner bietet Ihnen ein Remis an." #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "Ihr Gegner hat Remis angeboten. Wenn Sie es annehmen, wird die Partie 1/2 zu 1/2 bewertet." #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "Ihr Gegner möchte die Partie beenden." #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "Ihr Gegner bittet darum, die Partie abzubrechen. Sie wird dann nicht bewertet." #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "Ihr Gegner möchte die Partie verschieben." #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "Ihr Gegner bittet darum, die Partie zu vertagen. Wenn Sie annehmen, kann sie später wiederaufgenommen werden (wenn beide Gegner online sind und der Wiederaufnahme zustimmen)." #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "Ihr Gegner möchte %s Zug/Züge zurücknehmen." #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "Ihr Gegner bittet darum, die letzten %s Züge zurückzunehmen. Wenn Sie annehmen, wird die Partie von der früheren Position weitergeführt." #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "Ihr Gegner will eine Spielpause." #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "Ihr Gegner bitte um eine Pause. Wenn Sie annehmen, wird die Uhr so lange angehalten, bis beide Spieler der Wiederaufnahme zustimmen." #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "Ihr Gegner möchte die Partie fortsetzen." #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "Ihr Gegner möchte mit der Partie fortfahren. Wenn Sie annehmen, läuft die Uhr weiter." #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "Die Aufgabe" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "Zeitablauf reklamieren" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "Das Remis-Angebot" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "Das Abbruch-Angebot" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "Das Vertagungs-Angebot" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "Das Pausen-Angebot" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "Das Fortsetzen-Angebot" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "Das Seitentausch-Angebot" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "Das Rücknahme-Angebot" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "aufgeben" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "Zeitablauf des Gegners reklamieren" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "Remis anbieten" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "Aufgabe anbieten" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "Vertagung anbieten" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "Eine Pause anbieten" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "Weiterspielen anbieten" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "Anbieten, die Seiten zu wechseln" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "Eine Zurücknahme des letzten Zugs anbieten" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "Um zügiges Weiterspielen bitten" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Ihr Gegner verfügt noch über Restspielzeit." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "Die Uhr läuft noch nicht." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "Sie können die Farben nicht während der Partie wechseln." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "Sie haben versucht, zu viele Züge zurückzunehmen." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Ihr Gegner bittet Sie, sich zu beeilen!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "Generell hat dies keine Bedeutung, da das Spiel zeitbasiert ist, aber wenn Sie Ihren Gegner zufriedenstellen wollen, sollten Sie vielleicht weitermachen." #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "Annehmen" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "Ablehnen" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "%s wurde durch Ihren Gegner abgelehnt." #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "%s erneut senden?" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "Erneut senden" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s wurde von Ihrem Gegner zurückgenommen" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "Scheinbar hat Ihr Gegner seine Meinung geändert." #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "Unfähig %s zu akzeptieren" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "Möglicherweise weil es zurückgezogen wurde." #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s gibt einen Fehler zurück" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "Schach-Alpha-2-Diagramm" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "Partie geteilt auf" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "(Der Link wurde in die Zwischenablage kopiert)" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Schachstellung" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Unbekannt" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Einfache Schach-Position" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "Die Partie kann wegen eines Fehlers in der FEN-Datei nicht geladen werden" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "HTML-Diagramm" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Schachpartie" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "Importiere Kopfdaten..." #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "Erstelle .bin Index Datei..." #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "Erstelle .scout Index Datei..." #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "Ungültiger Zug." #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "Fehler beim verarbeiten von %(mstr)s" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "Die Partie kann wegen eines Fehlers beim Verarbeiten von Zug %(moveno)s '%(notation)s' nicht bis zum Ende eingelesen werden." #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "Der Zug schlug fehl, weil %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "Fehler beim verarbeiten von Zug %(moveno)s %(mstr)s" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "PNG Bild" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "Textdiagramm" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "Zielrechner nicht erreichbar" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Gestorben" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Lokales Ereignis" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Lokaler Ort" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "Min." #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "Sek." #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "Neue Version %s ist verfügbar!" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "Andorra" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "Vereinigte Arabische Emirate" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "Afghanistan" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "Antigua und Barbuda" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "Anguilla" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "Albanien" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "Armenien" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "Angola" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "Antarktis" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "Argentinien" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "Amerikanisch-Samoa" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "Österreich" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "Australien" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "Aruba" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "Åland-Inseln" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "Aserbaidschan" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "Bosnien und Herzegowina" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "Barbados" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "Bangladesch" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "Belgien" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "Burkina Faso" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "Bulgarien" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "Bahrain" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "Burundi" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "Benin" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "Bermuda" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "Brunei Darussalam" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "Brasilien" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "Bahamas" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "Bhutan" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "Bouvetinsel" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "Botswana" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "Weißrussland" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "Belize" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "Kanada" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "Demokratische Republik Kongo" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "Zentralafrikanische Republik" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "Kongo" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "Schweiz" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "Elfenbeinküste" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "Cookinseln" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "Chile" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "Kamerun" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "China" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "Kolumbien" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "Costa Rica" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "Kuba" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "Kap Verde" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "Curaçao" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "Weihnachtsinsel" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "Zypern" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "Tschechien" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "Deutschland" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "Dschibuti" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "Dänemark" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "Dominica" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "Dominikanische Republik" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "Algerien" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "Ecuador" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "Estland" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "Ägypten" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "Westsahara" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "Eritrea" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "Spanien" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "Äthiopien" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "Finnland" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "Fidschi" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "Falklandinseln [Malwinen]" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "Föderierte Staaten von Mikronesien" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "Färöer-Inseln" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "Frankreich" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "Gabun" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "Vereinigtes Königreich Großbritannien und Nordirland" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "Grenada" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "Georgien" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "Französisch-Guayana" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "Guernsey" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "Ghana" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "Gibraltar" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "Grönland" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "Gambia" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "Guinea" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "Guadeloupe" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "Äquatorialguinea" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "Griechenland" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "Südgeorgien und die Südlichen Sandwichinseln" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "Guatemala" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "Guam" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "Guinea-Bissau" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "Guyana" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "Hongkong" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "Honduras" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "Kroatien" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "Haiti" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "Ungarn" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "Indonesien" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "Irland" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "Israel" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "Insel Man" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "Indien" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "Irak" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "Iran (Islamische Republik)" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "Island" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "Italien" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "Jersey" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "Jamaika" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "Jordanien" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "Japan" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "Kenia" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "Kirgisistan" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "Kambodscha" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "Kiribati" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "Komoren" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "St. Kitts und Nevis" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "Kuwait" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "Kaimaninseln" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "Kasachstan" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "Libanon" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "Liechtenstein" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "Liberia" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "Lesotho" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "Litauen" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "Luxemburg" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "Lettland" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "Libyen" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "Marokko" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "Monaco" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "Montenegro" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "Madagaskar" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "Marshallinseln" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "Mali" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "Myanmar" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "Mongolei" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "Macao" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "Nördliche Marianen" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "Martinique" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "Mauritanien" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "Montserrat" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "Malta" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "Mauritius" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "Malediven" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "Malawi" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "Mexiko" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "Malaysia" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "Mosambik" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "Namibia" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "Neukaledonien" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "Niger" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "Norfolkinsel" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "Nigeria" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "Nicaragua" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "Niederlande" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "Norwegen" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "Nepal" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "Nauru" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "Niue" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "Neuseeland" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "Oman" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "Panama" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "Peru" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "Französisch-Polynesien" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "Papua-Neuguinea" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "Philippinen" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "Pakistan" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "Polen" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "Pitcairn" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "Puerto Rico" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "Portugal" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "Palau" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "Paraguay" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "Katar" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "Réunion" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "Rumänien" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "Serbien" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "Russische Föderation" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "Ruanda" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "Saudi-Arabien" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "Salomonen" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "Seychellen" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "Sudan" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "Schweden" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "Singapur" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "Slowenien" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "Slowakei" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "Sierra Leone" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "San Marino" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "Senegal" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "Somalia" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "Suriname" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "Südsudan" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "São Tomé und Príncipe" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "El Salvador" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "Arabische Republik Syrien" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "Swasiland" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "Turks- und Caicosinseln" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "Tschad" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "Französische Südgebiete" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "Togo" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "Thailand" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "Tadschikistan" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "Tokelau" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "Osttimor" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "Turkmenistan" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "Tunesien" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "Tonga" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "Türkei" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "Trinidad und Tobago" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "Tuvalu" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "Ukraine" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "Uganda" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "Vereinigte Staaten von Amerika" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "Uruguay" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "Usbekistan" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "Heiliger Stuhl" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "St. Vincent und die Grenadinen" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "Jungferninseln (Britisch)" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "Jungferninseln (USA)" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "Vietnam" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "Vanuatu" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "Wallis und Futuna" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "Samoa" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "Jemen" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "Mayotte" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "Südafrika" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "Sambia" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "Simbabwe" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Bauer" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "B" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "S" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "B" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "T" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "D" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "K" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Die Partie endete Remis" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s hat die Partie gewonnen" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s hat die Partie gewonnen" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "Die Partie wurde beendet" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Die Partie wurde vertagt" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Die Partie wurde abgebrochen" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "Unbekannter Spielzustand" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "Partie abgebrochen" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "Weil kein Spieler ausreichendes Material zum Mattsetzen hat" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "Dieselbe Stellung hat sich dreimal hintereinander wiederholt" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "Wegen der 50-Züge-Regel" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Weil beide Spieler an Zeitnot gestorben sind" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "Weil %(mover)s zugunfähig ist: Patt!" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "Beide Spieler einigten sich auf ein Unentschieden" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "Entscheidung eines Admins" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "Die Partie hat die maximale Länge überschritten" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "Weil die Zeit von %(white)s abgelaufen ist und %(black)s kein ausreichendes Material zum Mattsetzen hat" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "Weil die Zeit von %(black)s abgelaufen ist und %(white)s kein ausreichendes Material zum Mattsetzen hat" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "Weil beide Spieler dieselbe Anzahl Figuren haben" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "Weil %(loser)s aufgegeben hat" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "Weil %(loser)s an Zeitnot gestorben ist" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "Weil %(loser)s schachmatt gesetzt wurde" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "%(loser)s hat sich abgemeldet" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "%(winner)s hat weniger Figuren" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "%(winner)s verlor alle Figuren" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "Weil der König von %(loser)s explodiert ist" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "Weil %(winner)s König die Brettmitte erreicht hat" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "Weil %(winner)s 3-mal im Schach gestanden hat" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "Weil der König von %(winner)s die achte Reihe erreicht hat" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "Weil ein Spieler die Verbindung verloren hat" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "Beide Spieler einigten sich auf eine Unterbrechung." #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "Weil der Server heruntergefahren wurde" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "Weil ein Spieler seine Verbindung verloren- und der andere Spieler Unterbrechung gefordert hat" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "Weil %(black)s die Verbindung zum Server verloren- und %(white)s Unterbrechung gefordert hat" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "Weil %(white)s die Verbindung zum Server verloren- und %(black)s Unterbrechung gefordert hat" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "Weil %(white)s die Verbindung verloren hat" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "Weil %(black)s die Verbindung verloren hat" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "Aufgrund einer Entscheidung eines Administrators. Keine Wertungsänderungen sind aufgetreten." #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "Weil beide Spieler einem Spielabbruch zugestimmt haben. Keine Wertungsänderungen sind aufgetreten." #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "Aufgrund der Großzügigkeit eines Spielers. Keine Wertungsänderungen sind aufgetreten." #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "Weil ein Spieler das Spiel abgebrochen hat. Beide Spieler können ohne Zustimmung des anderen Spielers das Spiel abbrechen, solange noch keine zwei Züge gespielt sind. Das hat keine Auswirkungen auf das Rating der Spieler." #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "Weil ein Spieler sich abgemeldet hat und zu wenig Züge hatte um eine Vertagung zu fordern. Es wurden keine Bewertungsänderungen vorgenommen" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "Weil der Server heruntergefahren wurde. Es wurden keine Bewertungsänderungen vorgenommen" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "Weil die Engine von %(white)s abgestürzt ist" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "Weil die Engine von %(black)s abgestürzt ist" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "Weil die Verbindung zum Server verloren wurde" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "Der Grund ist nicht bekannt." #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "ASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "ASEAN" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "Makruk: https://de.wikipedia.org/wiki/Makruk" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "Makruk" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "Ouk-Khmer: https://en.wikipedia.org/wiki/Ouk-Khmer_%28Hill's_version%29" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "Ouk-Khmer" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "Ai-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "Ai-Wok" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "Sittuyin" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n* Zufällige Aufstellung (2 Damen oder 3 Türme möglich)\n* Genau ein König pro Farbe\n* Figuren werden zufällig hinter den Bauern aufgestellt. Jedoch sind die Läufer immer ausgeglichen.\n* Keine Rochade\n* Die schwarze Aufstellung spiegelt NICHT die weisse wider" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Asymmetrisches Random-Chess" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "FICS Atomschach: http://www.freechess.org/Help/HelpFiles/atomic.html" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "Atomschach" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klassische Schachregeln mit ausgeblendeten Figuren\nhttp://de.wikipedia.org/wiki/Blindschach" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "Blindschach" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klassische Schachregeln mit ausgeblendeten Bauern\nhttp://de.wikipedia.org/wiki/Blindschach" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "Versteckte Bauern" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klassische Schachregeln mit ausgeblendeten Figuren\nhttp://de.wikipedia.org/wiki/Blindschach" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "Verdeckte Spielsteine" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klassische Schachregeln mit allen weißen Figuren\nhttp://de.wikipedia.org/wiki/Blindschach" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "Alle weiß" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "FICS Tandemschach: http://www.freechess.org/Help/HelpFiles/bughouse.html" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "Tandemschach" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "http://brainking.com/en/GameRules?tp=2\n* Zufällige Aufstellung der Figuren der 1. und 8. Reihe\n* Der König befindet sich in der rechten Ecke\n* Läufer stehen sich, in der Startaufstellung, gegenüber\n* Schwarze Aufstellung ist um 180 Grad gedrehte weisse\n* Keine Rochade" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Ecke" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "FICS Einsetzschach: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "Einsetzschach (Crazyhouse)" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "EuroShogi" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "http://de.wikipedia.org/wiki/Chess960\nFICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Fischer Random" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "Wessen König das Zentrum (e4, d4, e5, d5) erreicht, gewinnt die Partie sofort!\nSonst gelten die normalen Regeln mit Sieg durch Matt setzen." #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "König des Hügels (King of the hill)" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "Ein Spieler startet mit einem Springer weniger" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "Springervorgabe" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "Losers, engl. Räberschachvariante" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "Klassische Schachregeln\nhttp://de.wikipedia.org/wiki/Schach" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Normal" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "Ein Spieler beginnt mit einen Bauern weniger" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "Bauernvorgabe" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\nWeisse Bauern starten auf der 5. Reihe und schwarze auf der 4." #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "Freibauern" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\nBauern starten auf der 4. und 5. Reihe, statt der 2. und 7. wie im normalen Spiel" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "Freibauern" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "Platzierung" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "Ein Spieler beginnt mit einer Dame weniger" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "Damenvorgabe" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "In diesem Spiel ist das Schach verboten: es ist nicht nur verboten\nden König in ein Schach zu bewegen, sondern auch dem gegnerischen König Schach zu geben.\nDas Ziel des Spiels ist es, mit dem eigenen König als erstes die achte Reihe zu erreichen.\nSollte Weiß die achte Reihe erreichen und Schwarz im darauf folgenden Zug ebenfalls, so endet das Spiel in einem Unentschieden (diese Regel kompensiert den Anzugvorteil von Weiß).\nAbgesehen von dem oben genannten, ziehen und schlagen die Figuren genauso wie in normalem Schach." #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n* Zufällige Figuren (2 Damen oder 3 Türme möglich)\n* Genau ein König pro Farbe\n* Figuren werden zufällig hinter die Bauern gestellt\n* Keine Rochade\n* Die schwarze Aufstellung spiegelt die weisse wider" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Zufall" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "Ein Spieler beginnt mit einem Turm weniger" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "Turmvorgabe" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n* Zufällige Aufstellung hinter den Bauern\n* Keine Rochade\n* Die schwarze Aufstellung spiegelt die weisse wider" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Mischen" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "FICS Räuberschach: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "Räuberschach" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "Variante entwickelt von Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "Thebanisch" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "Gewonnen durch 3-maliges Schach geben" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "Three-check" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\nhttp://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\nBauern starten von Reihe 7 anstatt von Reihe 2!" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "Verkehrt herum" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n* Weiß hat die typische Startformation\n* Die schwarzen Figuren sind gleich aufgestellt, mit Ausnahme von König und Dame, die vertauscht sind,\n* sodass sie nicht auf den gleichen Linien sind wie der weiße König und die weiße Dame sind.\n* Die Rochade wird gleich ausgeführt wie bei normalem Schach:\n* o-o-o bezeichnet die lange, o-o die kurze Rochade." #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "Wildcastle" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n* Bei dieser Variante werden zwei normale Sätze Spielsteine verwendet.\n* Der weiße König steht anfangs auf d1 oder e1 und der schwarze König auf d8 oder e8,\n* die Türme stehen auf den üblichen Feldern.\n* Die Läufer eines Spielers stehen auf verschiedenfarbigen Feldern.\n* Unter den genannten Bedingungen ist die Position der Figuren auf der ersten Reihe ansonsten zufällig.\n* Die Rochade wird ähnlich wie im normalen Schach ausgeführt,\n* o-o-o bedeutet lange Rochade und o-o kurze Rochade." #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "Wildcastle shuffle" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "Die Verbindung wurde unterbrochen - \"End Of File\"-Meldung erhalten" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' ist kein registrierter Name" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "Das eingegebene Passwort war ungültig.\nWenn Sie Ihr Passwort vergessen haben, besuchen sie http://www.freechess.org/password um ein neues per email anzufordern." #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "Entschuldigung, '%s' ist bereits angemeldet" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "'%s' ist ein registrierter Name. Gehört er zu Ihnen, tippen Sie bitte das Passwort ein." #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "Wegen Missbrauchs wurden Gastzugriffe unterbunden.\nSie können sich aber bei http://www.freechess.org registrieren lassen." #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Verbindung zum Server herstellen" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Beim Server anmelden" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Umgebung wird eingerichtet" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "%(player)s ist %(status)s" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "spielt nicht" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Wild" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Verbunden" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Nicht verbunden" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "Verfügbar" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "Es wird gespielt" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "Untätig" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "Prüfe" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "Nicht verfügbar" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "Simultanes Match läuft" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "Im Turnier" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Unbewertet" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Bewertet" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d Min." #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr " +%d Sek." #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "%(player)s spielt %(color)s" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "weiß" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "schwarz" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "Dies ist die Fortsetzung einer vertagten Partie" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "Rang des Gegners" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "Manuell Annehmen" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Privat" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Verbindungsfehler" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Fehler bei der Anmeldung" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Verbindung wurde getrennt" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Adressfehler" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Automatisch abmelden" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Sie wurden abgemeldet, weil so länger als 60 Minuten untätig waren." #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "Gästeanmeldungen vom FICS-Server deaktiviert" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "1 Minute" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "3 Minuten" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "5 Minuten" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "15 Minuten" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "45 Minuten" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "Schach960" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "Untersucht" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Sonstiges" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Administrator" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "Blindschach Account" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Team-Konto" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "Unregistriert" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "Schachbeistand" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "Verteter des Dienstes" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "Turnierleiter" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "Mamer Manager" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "Großmeister" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "Internationaler Meister" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "FIDE-Meister" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "Großmeisterin" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "Internationale Meisterin" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "Frauen-FIDE-Meister" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "Dummy-Konto" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "FIDE Arbeiter" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "Nationaler Meister" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "C" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "T" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "U" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "CA" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "SR" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "TD" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "TM" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "GM" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "IM" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "FM" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "WGM" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "WIM" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "WFM" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "D" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "H" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "CM" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "FA" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "NM" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "PyChess konnte Ihre GUI-Einstellungen nicht laden" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "Freunde" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "Admin" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "Mehr Kanäle" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "Mehr Spieler" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "Rechner" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "Blindschach" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "Gäste" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "Beobachter" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "Pause" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "Nach Berechtigungen fragen" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "Einige PyChess Funktionen benötigen deine Erlaubnis um externe Programme herunterzuladen" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "Datenbankabfragen benötigen scoutfish" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "Der Datenbank Eröffnungsbaum benötigt chess_db" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "IIC Lag Kompensation benötigt timestamp" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "Diesen Dialog beim starten nicht anzeigen." #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "Keine Konversation ausgewählt" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "Spielerdaten werden geladen" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "Spielerliste wird empfangen" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "Ihr Zug." #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "Gut gemacht! %s abgeschlossen." #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "Gut gemacht!" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "Weiter" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "Fortfahren" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "Wiederholen" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "PyChess Infofenster" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "von" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "Vorträge" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "Lektionen" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "Puzzles" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "Endspiele" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "Sie haben noch keine Konversation begonnen" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "Nur registrierte Benutzer können hier chatten" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "Partieanalyse läuft..." #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "Möchten Sie abbrechen?" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "Abbruch" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "Option" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "Wert" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "Engine auswählen" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "Ausführbare Dateien" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "Konnte %s nicht hinzufügen" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "ist nicht installiert" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "%s ist im Dateisystem nicht als ausführbar markiert" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "Versuchen Sie chmod a+x %s" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "Etwas stimmt mit dieser ausführbaren Datei nicht" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "Importieren" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "Arbeitsverzeichnis auswählen" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "Neu" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "unzulässiger Zug der Schach-Engine: %s" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Revanche anbieten" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "%s beobachten" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Revanche spielen" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Einen Zug zurücknehmen" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Zwei Züge zurücknehmen" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "Sie haben ein Abbruch-Angebot gesendet." #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "Sie haben ein Vertagungs-Angebot gesendet." #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Sie haben ein Remis-Angebot gesendet." #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "Sie haben ein Pausen-Angebot gesendet." #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "Sie haben ein Wiederaufnahme-Angebot gesendet." #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "Sie haben ein Rücknahme-Angebot gesendet." #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "Sie haben den gegnerischen Zug nachgefragt" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "Sie haben die Reklamation des Zeitablaufs gesendet" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Engine %s, ist abgestürzt" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "PyChess hat die Verbindung zur Engine verloren, vielleicht ist sie abgestürzt.\n\nDu kannst versuchen ein neues Spiel mit dieser Engine zu starten oder versuche gegen eine andere Engine zu spielen." #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "Diese Partie kann automatisch abgebrochen werden, weil noch keine zwei Züge gemacht wurden. Das Ranking bleibt dabei unverändert." #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "Aufgabe anbieten" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "Der Gegner muss dem Spielabbruch zustimmen, weil schon mehr als zwei Züge gemacht wurden." #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "Diese Partie kann nicht unterbrochen werden, da einer oder beide Spieler Gäste sind" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "Remis reklamieren" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "Fortsetzen" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "Pause anbieten" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "Fortsetzung anbieten" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "Rückgängig machen" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "Rückgängig machen anbieten" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "hängt seit 30 Sekunden hinterher" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "hängt sehr stark hinterher, hat sich aber nicht abgemeldet" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "Weiter auf Gegner warten oder Partie vertagen? " #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "Warten" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "Vertagen" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "Zur Anfangsposition zurückgehen" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "Einen Zug zurück" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "Gehe zurück auf die Grundlinie" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "Einen Zug vor" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Zur letzten Stellung zurückspringen" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "Postion in aktueller Datenbank suchen" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Mensch" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minuten:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "Züge:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Zuschlag (pro Zug):" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "Klassisch" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "Schnell" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "%(name)s %(minutes)d min / %(moves)d Züge %(duration)s" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "%(name)s %(minutes)d min %(duration)s" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "Vorgaben" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "Andere (Standardregeln)" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "Andere (keine Standardregeln)" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "Asiatische Varianten" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "Schach" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Stellung aufbauen" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "PGN oder FEN Positionen hier eingeben oder einfügen" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Partie betreten" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "Buchdatei auswählen" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "Eröffnungsbücher" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "Pfad zu Gaviota-TB auswählen" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Öffne Klang-Datei" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "Klangdateien" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Kein Ton" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Signalton" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Audiodatei wählen …" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "Unbeschriftete Fläche" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "Hintergrundbilddatei auswählen" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "Bilder" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "Pfad zum automatischen Speichern auswählen" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "Wussten Sie, dass es möglich ist, eine Schachpartie in nur 2 Zügen zu beenden?" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "Wussten Sie, dass die Anzahl der möglichen Schachpartien größer ist, als es Atome im Universum gibt?" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "Um eine Partie zu speichern Partie > Partie speichern unter, Dateinamen und Speicherort eingebe. Wähle unten den Dateityp und drücke Speichern." #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "FEN benötigt 6 Datenfelder. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "FEN benötigt mindestens 2 Datenfelder in fenstr.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "Der Eintrag im Plazierungsfeld muss insgesamt 7 Schrägstriche (/) enthalten.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "Aktives Farbfeld muss entweder w oder b sein.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "Falsches Rochadefeld. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "Kein gültiges Zielfeld eines En-Passant-Zuges. \n\n%s" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "Ungültig umgewandelte Figur" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "Der Zug braucht eine Figur und ein Zielfeld" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "Das ausgewählte Feld (%s) ist ungültig" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "Das Schlussfeld (%s) ist ungültig" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "und" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "zieht" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "setzt matt" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "setzt den Gegner Schach" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "erhöht die Königssicherheit" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "erhöht leicht die Königssicherheit" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "bewegt den Turm auf eine offene Linie" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "bewegt den Turm auf eine halboffene Linie" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "bewegt den Läufer ins Fianchetto: %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "wandelt den Bauern in eine(n) %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "rochiert" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "gewinnt Material zurück" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "opfert Material" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "tauscht Material ab" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "schlägt Material" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "retten einen %s" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "Materialgewinn droht auf %s" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "erhöht den Druck auf %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "verteidigt %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "fesselt %(oppiece)s an %(piece)s auf %(cord)s-Linie" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "Weiß hat eine neue Figur als Vorposten: %s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "Schwarz hat eine neue Figur als Vorposten: %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "%(color)s hat einen neuen Freibauern auf %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "halboffen" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "auf der %(x)s%(y)s Linie" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "auf den %(x)s%(y)s Linien" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "%(color)s hat einen Doppelbauern %(place)s" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "%(color)s hat einen neuen Doppelbauern %(place)s" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "%(color)s hat einen isolierten Bauern in der %(x)s Linie" msgstr[1] "%(color)s hat isolierte Bauern in den %(x)s Linien" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "%s bewegt einen Bauern in eine Mauer-Formation" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "%s kann nicht mehr rochieren" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "%s kann nicht mehr lang rochieren" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "%s kann nicht mehr kurz rochieren" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "%(opcolor)s hat einen neuen gefangenen Läufer auf %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "entwickelt einen Bauern: %s" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "bringt einen Bauern näher an die hinterste Reihe: %s" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "bringt einen %(piece)s näher zum feindlichen König: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "entwickelt einen %(piece)s: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "platziert einen %(piece)s aktiver: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "Weiß sollte einen Bauernansturm rechts unternehmen" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "Schwarz sollte einen Bauernansturm links unternehmen" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "Weiß sollte einen Bauernansturm links unternehmen" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "Schwarz sollt einen Bauernansturm rechts unternehmen" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "Schwarz hat eine äußerst eingeengte Position" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "Schwarz hat eine leicht eingeengte Position" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "Weiß hat eine äußerst eingeengte Position" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "Weiß hat eine leicht eingeengte Position" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "Rufen" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "Schach" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "Inoffizieller Kanal %d" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "Filter" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "Ausgewählten Filter bearbeiten" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "Ausgewählten Filter entfernen" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "Neuen Filter hinzufügen" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "Seq." #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "Filtere Spiele nach unterschiedlichen Kriterien" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "Sequenz" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "Gewinnserie" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "Eröffnungen" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "Zug" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "Partien" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "Gewonnen in %" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "Partienliste nach Eröffnungszügen filtern" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "Vorschau" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "Partienliste nach aktuellen Partienzügen filtern" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "PGN-Datei importieren" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "Speichere in eine PGN Datei unter..." #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "Öffnen" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "Schachdatei wird geöffnet..." #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "Speichern als" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "Schachdatei öffnen" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "Indexe werden aufgefrischt..." #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "Bereite den Import vor..." #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "%s Partien verarbeitet" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "Erstelle neue PGN Datenbank" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "Datei '%s' existiert bereits." #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "Kennung" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "W Elo" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "S Elo" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "Runde" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "Länge" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "Archiviert" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Uhr" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Typ" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Datum/Zeit" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "mit dem Sie ein vertagte %(timecontrol)s %(gametype)s Partie haben, ist online." #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "Fortsetzung erbitten" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "Pausierte Partie untersuchen" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "Reden" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "Liste der Serverkanäle" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Chat" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "Info" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "Konsole" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "Befehlszeilenoberfläche zum Schachserver" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Sieg" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Remis" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Niederlage" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "Beste" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "Auf FICS umfasst Ihre \"Wild\"-Wertung alle der folgenden Varianten bei allen Zeitkontrollen:\n" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "Sanktionen" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "eMail" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "verstrichene Zeit" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "Insgesamt online" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Verbinde" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "Finger" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "Partienliste" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "Liste der laufenden Spiele" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Laufende Partien: %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "Neuigkeiten" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "Bewertung" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "Folgen" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "Spielerliste" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "Spielerliste" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Name" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "Status" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "Spieler: %d" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "Das Ketten-Symbol ist deaktiviert, weil Sie als Gast eingeloggt sind. Gäste können keine Wertungen erzielen und der Zustand des Symbols hat keine Auswirkungen, da es keine Wertung gibt, anhand derer die \"Gegnerische Spielstärke\" ausgerichtet werden kann" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Herausforderung: " #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "Wenn aktiviert, können Spieler abgelehnt werden, die Ihre Suchanfrage angenommen haben. " #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "Diese Option wird nicht angewendet, weil Sie der Herausforderer sind" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Bearbeite Suchanfrage" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "%(minutes)d Min. + %(gain)d Sek./Zug" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Anleitung" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "Beliebige Stärke" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "Sie können keine bewerteten Partien spielen, da Sie als Gast angemeldet sind" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "Sie können keine bewerteten Partien spielen, da die Schachuhr deaktiviert ist" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "Im FICS können keine Partien ohne Schachuhr bewertet werden" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "Diese Option steht nicht zur Verfügung, weil Sie einen Gast herausfordern, " #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "Gäste können nicht an bewerteten Partien teilnehmen" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "Sie können keine Varianten einstellen, da die Schachuhr deaktiviert ist" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "Im FICS können Partien ohne Schachuhr nur nach den Standard-Schachregeln gespielt werden" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "Toleranz ändern" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "Suchgraph" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " Min." #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "Suchen / Herausforderungen" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "Auswirkung auf die Wertungen bei möglichen Ergebnissen" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "Sieg:" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "Remis:" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "Niederlage:" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "Neue RD:" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Aktive Suchanfragen: %d" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "würden Sie gerne Ihre vertagte Partie %(time)s %(gametype)s wieder aufnehmen?" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "fordert Sie zu einer Partie %(time)s %(rated)s %(gametype)s heraus" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr " indem %(player)s %(color)s spielt." #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "ICS" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "Abmeldung" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "Sie müssen beobachten anschalten, um hier Bot Nachrichten sehen zu können." #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "Sie dürfen höchstens 3 aktive Suchanfragen zugleich haben. Um eine neue Suchanfrage zu stellen, müssen die aktiven Anfragen gelöscht werden. Suchanfragen löschen?" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "Du kannst das nicht verändern. Du untersuchst ein Spiel." #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "hat Ihre Partieeinladung abgelehnt" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "begutachtet Sie" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "setzt Sie auf die Noplay-Liste" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "entspricht nicht den Kriterien Ihrer Spielanfrage:" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "zum manuellen Annehmen" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "zum automatischen Annehmen" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "Bewertungsspektrum" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "Suche aktualisiert" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "Suchanfragen wurden gelöscht" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "ist angekommen" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "ist abgereist" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "ist anwesend" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Ermittle Dateityp automatisch" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "Fehler beim Laden der Partie" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Partie speichern" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "Position exportieren" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Unbekannter Dateityp '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "Kann '%(uri)s' nicht speichern da PyChess das Format '%(ending)s' nicht kennt." #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Datei konnte nicht gespeichert werden '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "Du hast keine Rechte um diese Datei zu speichern.\nPrüfe bitte, ob Du den richtigen Pfad eingegeben hast und probiere es erneut." #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Ersetzen" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Datei existiert" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Eine Datei namens '%s' existiert bereits. Wollen Sie sie ersetzen?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "Die Datei existiert bereits in '%s'. Wenn Sie die Datei ersetzen, wird der Inhalt überschrieben." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Konnte die Datei nicht speichern" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess war es nicht möglich, die Partie zu speichern" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "Der Fehler war: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "Es gibt %d Partie mit ungespeicherten Zügen." msgstr[1] "Es gibt %d Partien mit ungespeicherten Zügen." #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "Züge vor dem Beenden speichern?" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "Speichern in die Konfigurationsdatei fehlgeschlagen. Spiele vor dem Schließen speichern?" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "gegen" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "Speichere %d Partie" msgstr[1] "Speichere %d Partien" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "Aktuelle Partie vor dem Schließen speichern?" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "Konnte nicht in die konfigurierte Datei speichern. Soll das aktuelle Spiel vor dem schließen gespeichert werden?" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Es ist nicht möglich, die Partie später fortzusetzen, wenn Sie sie jetzt nicht abspeichern." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Alle Schach-Dateien" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "Kommentar" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "Kommentierte Partie" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "Startkommentar hinzufügen" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "Kommentar hinzufügen" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "Kommentar bearbeiten" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "Guter Zug" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "Schlechter Zug" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "Exzellenter Zug" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "Sehr schlechter Zug" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "Interessanter Zug" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "Verdächtiger Zug" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "Erzwungener Zug" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "Bewegungssymbol hinzufügen" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "Unentschieden" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "Unklare Position" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "Leichter Vorteil" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "Moderater Vorteil" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "Entscheidender Vorteil" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "Erdrückender Vorteil" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "Zugzwang" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "Entwicklungsvorteil" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "Initiative" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "Mit Angriff" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "Ausgleich" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "Gegenspiel" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "Zeitdruck" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "Auswertungssymbol hinzufügen" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "Kommentar" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "Symbole" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "Entfernen" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "Sek." #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "%(time)s für %(count)d Züge" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "Zug" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "Runde %s" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "Tipps" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "Diese Leiste bietet Computerunterstützung über die gesamte Partie hinweg." #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Offizielle PyChess-Leiste." #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Eröffnungsbuch" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "Das Eröffnungsbuch wird versuchen Sie während der Eröffnung zu inspirieren, indem es gebräuchliche Züge von Schachmeistern zeigt" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "Analyse durch %s" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "%s versucht den besten Zug vorherzusagen und welche Seite in Führung liegt" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "Bedrohungsanalyse durch %s" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "%s indentifiziert die Bedrohungen, wenn Ihr Gegner am Zug wäre" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "Berechne..." #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "Punktzahlen des Schachprogramms sind in Bauerneinheiten angegeben (aus Sicht von Weiß). Durch Doppelklick auf die Analysezeile können sie als Variationen den Kommentaren hinzugefügt werden." #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "Vorschläge können Ihnen helfen Ideen zu finden, können aber die Spielstärke des Computers beeinträchtigen." #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "Endspieltabelle" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "Die Endspieldatenbank zeigt eine exakte Analyse, wenn sich nur wenige Figuren auf dem Brett befinden" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "Matt in %d" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "In dieser Stellung\ngibt es keinen legalen Zug." #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "Das Chatfenster lässt Sie mit Ihrem Gegner kommunizieren, vorausgesetzt er oder sie ist daran interessiert" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Kommentare" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "Das Kommentarfenster versucht die gespielten Züge zu analysieren und zu erklären" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Ursprungsposition" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "%(color)s zieht %(piece)s auf %(cord)s" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "Engines" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "Die Engine-Ausgabeleiste zeigt die Überlegungen der Computerschach-Engine während des Spiels an" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "An diesem Spiel nehmen keine Engines (Computerspieler) teil." #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Zugliste" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "Die Zugliste speichert die Züge der Spieler und ermöglicht es Ihnen, durch die gespielte Partie zu navigieren" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Ergebnis" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "Das Ergebnisfenster versucht die Stellungen zu bewerten und zeigt Ihnen ein Diagramm des Spielfortschrittes" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "Titel" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "Autor" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "Quelle" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "Fortschritt" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "Lernen beenden" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "Lektionen" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/uk/0000755000175000017500000000000013467766037013621 5ustar varunvarunpychess-1.0.0/lang/uk/LC_MESSAGES/0000755000175000017500000000000013467766037015406 5ustar varunvarunpychess-1.0.0/lang/uk/LC_MESSAGES/pychess.mo0000644000175000017500000001474213467766035017427 0ustar varunvaruno ` a k r z |            " *. Y ` f q x                 $ ])   !       ' / ; E Q W d k r z              0 6 A H P Y g p v   %     " ."8[_Kc #%7 KlH' 0; O \hy   %. T ` lv"}#q C   + 8E] q|   #6 JVg)  #5>E`t (CX`wV$ 6BSb "WlmG' `g!+2 d7:-#;jDO*(R1nJ?N/k\Fb4Z h6"%L&@]X_>8cH ^oP[f,a TSUVIAYiC)E$MB5K3<eQ=09. + %d sec%d min(Blitz)*0 of 010 min + 6 sec/move, White12005 minOpen GameOptionsPlayersTime ControlYour ColorA player _moves:About ChessAcceptAdd commentAuto _rotate board to current human playerBishopBlackBlack moveBlack:Blitz:ChallengeChallenge: ChatCommand:Comment:CommentsCountry:DatabaseDateDate:DeclineDon't careEdit commentEvent:Font:Frame:GameGame informationHideIf set, the board will turn after each move, to show the natural view for the current player.Ignore colorsKingKnightMaximum analysis time in seconds:Minutes: New GameNew _DatabaseOfflineOnlineOpen GameParameters:PlayPlayer _RatingPlayers:Po_rts:PreferencesProtocol:PyChess.py:QueenQuit PyChessRatingResultResult:Round:SaveSave GameSave Game _AsSave database asScoreSearch:ShredderLinuxChess:Site:StandardStandard:Texture:ThemesTimeTime control: Tip of the DayTranslate PyChessWhiteWhite moveWhite:_Accept_Actions_Analyze Game_Decline_Edit_Export Position_Fullscreen_Game_Game List_Help_Hide tabs when only one game is open_Hints_Load Game_Log Viewer_Name:_New Game_Password:_Player List_Save Game_Start Gamegnuchess:http://en.wikipedia.org/wiki/ChessminsecProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Ukrainian (http://www.transifex.com/gbtami/pychess/language/uk/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: uk Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3); + %d с%d хв(Блітц)*0 з 010 хв + 6 сек/хід, Білі12005 хвВідкрити груОпціїГравціКонтроль часуВаш колірКроки _гравця:Про ШахиПрийнятиДодати коментарАвто _поворот дошки до поточного гравцяСлонЧорніХід чорнихЧорнийБлітц:ЗмаганняЗмагання: ЧатКоманда:Коментарій:КоментаріКраїна:База данихДатаДата:ВідхилитиВсе рівноРедагувати коментарПодія:Шрифт:Кадр:ГраІнформація про груСховатиЯкщо відмічено, дошку буде повернуто після кожного ходу, щоб показати природній вид для поточного гравця.Ігнорувати кольориКорольКіньМАксимальний час аналізу в секундах:Хвилин:Нова граНова _База данихОфлайнОнлайнВідкрити груПараметри:Грати_Рейтинг гравцяГравці:По_рти:НалаштуванняПротоколPyChess.py:КоролеваПокинути PyChessРейтингРезультатРезультат:Раунд:ЗберегтиЗберегти груЗберегти гру _якЗберегти базу даних якРахунокПошук:ShredderLinuxChess:Сайт:СтандартСтандарт:Текстура:ТемиЧасКонтроль часу:Порада дняПерекласти PyChessБіліХід білихБілий_Прийняти_Дії_Аналізувати гру_Відхилити_Редагувати_Експортувати позицію_Весь екран_Гра_Список ігор_Допомога_Сховати вкладки, коли відкрита тільки одна гра_Підказки_Завантажити гру_Переглядач журналу_Ім’я:_Нова гра_Пароль:_Список гравців_Зберегти гру_Почати груgnuchess:http://en.wikipedia.org/wiki/Chessхвсpychess-1.0.0/lang/uk/LC_MESSAGES/pychess.po0000644000175000017500000043655213455542763017436 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # Abbl Kto , 2018 # Max Lyashuk , 2013 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Ukrainian (http://www.transifex.com/gbtami/pychess/language/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: uk\n" "Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Гра" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Нова гра" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Завантажити гру" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Зберегти гру" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Зберегти гру _як" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "_Експортувати позицію" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "_Рейтинг гравця" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "_Аналізувати гру" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Редагувати" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Дії" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Весь екран" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_Переглядач журналу" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "База даних" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "Нова _База даних" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "Зберегти базу даних як" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Допомога" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Про Шахи" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Перекласти PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Порада дня" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Налаштування" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Сховати вкладки, коли відкрита тільки одна гра" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "Авто _поворот дошки до поточного гравця" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Якщо відмічено, дошку буде повернуто після кожного ходу, щоб показати природній вид для поточного гравця." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "МАксимальний час аналізу в секундах:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_Підказки" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "Текстура:" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "Кадр:" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "Шрифт:" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Теми" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Кроки _гравця:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Зберегти" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Королева" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Слон" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Кінь" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Король" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Інформація про гру" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Сайт:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Чорний" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Раунд:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Білий" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "Дата:" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "Результат:" #: glade/PyChess.glade:4818 msgid "Game" msgstr "Гра" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "Гравці:" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Подія:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Команда:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Протокол" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Параметри:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "Країна:" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "Коментарій:" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Білі" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Чорні" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "Ігнорувати кольори" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Дата" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Результат" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "Хід білих" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "Хід чорних" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Пароль:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Ім’я:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "По_рти:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Змагання: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Стандарт:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Блітц:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 хв + 6 сек/хід, Білі" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 хв" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Прийняти" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Відхилити" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Стандарт" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Рейтинг" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Час" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Змагання" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "_Список гравців" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "_Список ігор" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Хвилин:" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Контроль часу:" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Контроль часу" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Все рівно" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Блітц)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Сховати" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Ваш колір" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Грати" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Опції" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 з 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Пошук:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Нова гра" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Почати гру" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Гравці" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Відкрити гру" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Покинути PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://en.wikipedia.org/wiki/Chess" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Відкрити гру" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "Прийняти" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "Відхилити" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "хв" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "с" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Онлайн" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Офлайн" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d хв" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr " + %d с" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Чат" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Зберегти гру" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "Додати коментар" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "Редагувати коментар" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Коментарі" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Рахунок" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/ar/0000755000175000017500000000000013467766037013604 5ustar varunvarunpychess-1.0.0/lang/ar/LC_MESSAGES/0000755000175000017500000000000013467766037015371 5ustar varunvarunpychess-1.0.0/lang/ar/LC_MESSAGES/pychess.mo0000644000175000017500000000716513467766035017413 0ustar varunvarun7I'0?Q bnu|     #%IOV[ b pz  % * 5A H R ] k v0]   ) %  &# !J l    )    " C O c v   ;     # A Q (Z   )    ) \7     * (=Rm/$*!(-& )42 " #6'%1 0+,.5 73Promote pawn to what?AnalyzingAnimationEnter Game NotationPlay Sound When...PlayersA player _checks:A player _moves:About ChessBishopEvent:Gain:Game informationGame is _drawn:Game is _lost:Game is _won:KnightLog on as _GuestMinutes:New GameOffer _DrawOpen GamePlayer _RatingPreferencesPromotionPyChess - Connect to Internet ChessQueenRatingRookRound:Save Game _AsSend seekSite:The game ended in a drawThe game has been killedTimeUse _analyzerUse _inverted analyzer_Accept_Actions_Call Flag_Game_Help_Hide tabs when only one game is open_Load Game_Log Viewer_Name:_New Game_Password:_Rotate Board_Save Game_Start Game_Use sounds in PyChess_ViewProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Arabic (http://www.transifex.com/gbtami/pychess/language/ar/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: ar Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5; رهينة لتعزيز ما؟تحليلصور متحركةأدخل تأشيرة اللعبةتشغيل الصوت عند..اللاعبوناللاعب الأول _تشك ملكاللاعب الاول _تحركبخصوص الشطرنجفيلمناسبةكسبمعلومات اللعبةاللعبه إنتهت _بالتعادل_خسرت اللعبة_ربحت اللعبةالحصانالدخول بحساب زائردقائق:لعبة جديدةعرض _تعادلفتح لعبةترتيب_ اللاعبالتفضيلاتترقيةPyChess - اتصل بالشطرنج على الانترنتوزيرالتقييمقلعةجولةحفظ اللعبة باسم_أرسل طلبموقعاللعبة انتهت بالتعادلتم إنهاء اللعبةالوقتإستخدام _المحللإستخدام _المحلل العكسيموافقة_إجراءات_طلب علم_لعبة__مساعدة_إخفاء علامات التبويب فقط عندما تكون اللعبة مفتوحةتحميل لعبة__عارض التقارير_الاسم:لعبة جديدة_كلمة المرور__تغيير إتجاه لوحة اللعبحفظ اللعبة_بدأ اللعبة__إستخدام الصوت_عرضpychess-1.0.0/lang/ar/LC_MESSAGES/pychess.po0000644000175000017500000043443713455543002017404 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2008 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Arabic (http://www.transifex.com/gbtami/pychess/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ar\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "لعبة_" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "لعبة جديدة_" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "تحميل لعبة_" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "حفظ اللعبة_" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "حفظ اللعبة باسم_" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "ترتيب_ اللاعب" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "إجراءات_" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "عرض _تعادل" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "طلب علم_" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "_عرض" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_تغيير إتجاه لوحة اللعب" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_عارض التقارير" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_مساعدة" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "بخصوص الشطرنج" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "التفضيلات" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_إخفاء علامات التبويب فقط عندما تكون اللعبة مفتوحة" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "صور متحركة" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "إستخدام _المحلل" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "إستخدام _المحلل العكسي" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "تحليل" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_إستخدام الصوت" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "اللاعب الأول _تشك ملك" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "اللاعب الاول _تحرك" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "اللعبه إنتهت _بالتعادل" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "_خسرت اللعبة" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "_ربحت اللعبة" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "تشغيل الصوت عند.." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "ترقية" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "وزير" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "قلعة" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "فيل" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "الحصان" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "رهينة لتعزيز ما؟" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "معلومات اللعبة" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "موقع" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "جولة" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "مناسبة" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - اتصل بالشطرنج على الانترنت" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "كلمة المرور_" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_الاسم:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "الدخول بحساب زائر" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "موافقة_" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "أرسل طلب" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "التقييم" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "الوقت" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "لعبة جديدة" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "بدأ اللعبة_" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "اللاعبون" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "أدخل تأشيرة اللعبة" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "فتح لعبة" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "اللعبة انتهت بالتعادل" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "تم إنهاء اللعبة" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "دقائق:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "كسب" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/sk/0000755000175000017500000000000013467766037013617 5ustar varunvarunpychess-1.0.0/lang/sk/LC_MESSAGES/0000755000175000017500000000000013467766037015404 5ustar varunvarunpychess-1.0.0/lang/sk/LC_MESSAGES/pychess.mo0000644000175000017500000003367513467766036017434 0ustar varunvarun% p q'| !!'1Yj{# 4QF&7*("Kas *$% -7 KVek    ' -8? Zfnt   Xc?]qSsFDdfkrz       /ENW^f v      : F P#Z~      -39 BL5_9T6Oi  *$0Ur !      %# I X c o y      ! !'!9! A!L!R!"e!+!!!!!! " +"L"\"t""""s$+y$$$$$ %"%5;%q%%% %(%% &&8&G&`&Js&4&.&5"'+X'''' '''C'/(1(:(B(;J( ((((( ((((( ) )),)E)d)u)) )))) ) )* **!*3*K*b*u*** ***/++RK,^,G,E-9[------ - ----.+.G. P.[.l.n.Es. . . . .../%/ :/G/`/p////"////#/ /0 0)0>0@0F0 H0 R0]0 l0w0}0 00 00000001 21 <1 G1 Q1_1?{1811J 2U2o2222222 2223 3363L3l39r33313)4 E4 Q4^4 e4s4 44 4414445 5!5 (535F5N5 ^5i5 555 55 5 555 6 66-/6+]666 6&6*6#7;7P7i7%77;3mOa2 dHRx|Dl?j=Xf"+Bp79Gbq{ gnI Zt0L^`i*Qsc8rwN1]-M,Sv>4T(y.J$h<_: A5U&eFKPC6#Y[~ W@' }/u!kzo)E\V% Gain: %s moves pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent'%s' is not a registered name(Blitz)0 Players ReadyPromote pawn to what?AnalyzingAnimationChess VariantEnter Game NotationName of _first human player:Opponent StrengthOptionsPlay Sound When...PlayersTime ControlYour ColorA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedPyChess was not able to save the gameUnable to save file '%s'Unknown file type '%s'Challenge:A player _checks:A player _moves:A player c_aptures:About ChessAll Chess FilesAuto _rotate board to current human playerBBeepBishopBlackBlack has a new piece in outpost: %sBlitzBlitz:Center:ChallengeChallenge: Chess GameChess PositionClockClose _without SavingCommand:CommentsConnectingConnection ErrorConnection was closedCould not save the fileCreate SeekDark Squares :Detect type automaticallyDon't careEdit SeekEmailEnter GameEvent:Face _to Face display modeFile existsFriendsGain:Game informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:GuestHideHow to PlayHuman BeingIf set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If you don't save, new changes to your games will be permanently lost.Initial positionIt is not possible later to continue the game, if you don't save it.KKingKnightKnightsLight Squares :LightningLightning:Local EventLocal SiteLog on ErrorLog on as _GuestManually accept opponentMinutes:Minutes: Move HistoryNNameNever use animation. Use this on slow machines.New GameNo soundNormalObserveObserved _ends:Offer A_bortOffer _DrawOffer _ResumeOpen GameOpen Sound FileOpening BookOpponent's strength: PPingPlayPlay normal chess rulesPlayer _RatingPo_rts:Pre_viewPrefer figures in _notationPreferencesPromotionProtocol:PyChess - Connect to Internet ChessQQueenRR_esignRatedRated gameRatingRookRound:S_ign upSaveSave GameSave Game _AsScoreSeek _GraphSelect sound file...Send seekSho_w cordsSimple Chess PositionSite:SpentStandardStandard:Start Private ChatThe connection was broken - got "end of file" messageThe displayed name of the first human player, e.g., John.The error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThemesTimeTime control: Tip of the DayTolerance:TypeUnable to accept %sUnknownUnratedUntimedUse _analyzerUse _inverted analyzerWhiteWhite has a new piece in outpost: %sYear, month, day: #y, #m, #dYou sent a draw offerYour opponent asks you to hurry!Your opponent is not out of time.Your strength: _Accept_Actions_Archived_Clear Seeks_Decline_Game_Game List_Help_Hide tabs when only one game is open_Invalid move:_Load Game_Log Viewer_My games_Name:_New Game_Observed moves:_Password:_Player List_Replace_Rotate Board_Save Game_Seeks / Challenges_Sounds_Start Game_Use sounds in PyChess_View_Your Color:captures materialcastlesdefends %sdrawsexchanges materialhttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyincreases the pressure on %smatesmoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %sonline in totalpromotes a Pawn to a %sputs opponent in checkslightly improves king safetytakes back materialProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Slovak (http://www.transifex.com/gbtami/pychess/language/sk/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: sk Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3); Zisk:%s posúva pešiakov do formácie stonewall%s vracia chybovú správu%s bolo odmietnuté súperom%s bolo odvolané oponentom'%s' nie je registrované meno(Rýchly)0 pripravených hráčovNa akú figúru premeniť pešiaka?AnalyzovanieAnimáciaVariant šachuZadajte poznámky ku hre:Meno _prvého ľudského hráča:Sila oponentaMožnostiZahrať zvuk keď…HráčiČasová kontrolaVaša farbaSúbor s názvom '%s' už existuje. Chcete ho nahradiť?Počítač, %s, nečakane skončilPyChess nemohol uložiť hruNebolo možné uložiť súbor '%s'Neznámy typ súboru '%s'Výzva:Hráč dáva šach:Hráč ťahá:Hráč berie:O šachuVšetky šachové súboryAutomaticky otočiť šachovnicu pre aktuálneho ľudského hráčaSPípnuťStrelecČiernyČierny hráč má novú figúrku na vysunutej pozícii: %sRýchla hraRýchly:Stred:VýzvaVýzva: Šachová hraŠachová pozíciaHodinyZavrieť _bez uloženiaPríkaz:PoznámkyPripájanieChyba v pripojeníSpojenie bolo ukončenéNebolo možné uložiť súborZačať hľadaťTmavé Štvorce :Zistiť typ automatickyNezáležíUpraviť hľadanieE-mailVstúpiť do hryUdalosť:Zobrazenie „tvárou v tvár”Súbor existujePriateliaZisk:Informácie o hreHra skončila remízou:Hra skončila prehrou:Hra je pripravenáHra skončila výhrou:HosťSkryťAko hraťČlovekZaškrtnutie spôsobí, že PyChess bude v zápise hry zobrazovať obrázky ťahaných figúr miesto označenia veľkým písmenom.Ak je voľba zaškrtnutá, čierne figúrky budú zobrazené dolu hlavou. Vhodné pre hranie na mobilných zariadeniach, keď oponent sedí proti vám.Zaškrtnutie tejto voľby spôsobí otočenie šachovnice po každom ťahu, aby hráč na ťahu videl šachovnicu zo svojej strany Zaškrtnutie tejto voľby zobrazí označenia stĺpcov a radov vedľa šachovnice.Zaškrtnutie tejto voľby schová záložky kariet na vrchu okna s hrami ak nie sú potrebné.Ak neuložíte, nové zmeny vo vašich hrách budú natrvalo stratené.Východzie postavenieAk neuložíte hru, nebudete môcť neskôr pokračovať.KKráľJazdecJazdciSvetlé Štvorce :Blesková hraBleskový:Lokálna udalosťLokálne miestoChyba pri prihlasovaníPrihlásiť sa ako hosťRučne akceptovať oponentaMinúty:Minúty: História ťahovJMenoNikdy nepoužívať animáciu. Používať na pomalých zariadeniach.Nová hraBez zvukuNormálna hraSledovaťPozorovanie _končí:Ponúknuť _zrušeniePonúknuť _RemízuPonúknuť obnovenieOtvoriť hruOtvoriť zvukový súborKniha otvoreníSila oponenta:POdozvaHraťHrať so štandardnými pravidlamiHodnotenie hráčaPortyNáhľadUprednostňovať obrázky v zápisePredvoľbyPremenaProtokol:PyChess - prihlásenie k Internetovej hreDDámaVVzdať saHodnotenéHodnotená hraHodnotenieVežaKolo:RegistráciaUložiťUložiť hruUložiť hru _akoSkóreGraf hľadaníVybrať zvukový súbor...Odoslať hľadanieZobrazovať súradniceJednoduchá šachová pozíciaLokácia:StrávenéŠtandardŠtandardný:Začať súkromný rozhovorSpojenie bolo prerušené - obdržaná správa "koniec súboru"Zobrazené meno prvého ľudského hráča, napr., John.Vyskytla sa chyba: %sSúbor už existuje v '%s'. Ak ho nahradíte, jeho obsah bude prepísaný.Hra sa skončila remízouHra bola ukončenáHra bola odloženáHra bola násilne ukončenáMotívyČasČasová kontrolaTip dňaTolerancia:TypNie je možné prijať %sNeznámyNehodnotenéBez časového obmedzeniaPoužiť _analyzátorPoužiť _inverzný analyzátorBielyBiely hráč má novú figúrku na vysunutej pozícii: %sRok, mesiac, deň: #y, #m, #dOdoslali ste ponuku na remízuVáš oponent vás žiada aby ste sa ponáhľali!Časový limit oponenta ešte nevypršal.Vaša sila:_Akceptovať_Akcie_ArchivovanéZrušiť vyhľadávanieOdmietnuť_HraZoznam hier_Pomoc_Schovať záložky ak je otvorená iba jedna hra_Neplatný ťah:_Načítať hruPrehliadač záznamov_Moje hry_Meno:_Nová hra_Pozorované ťahy_Heslo:Zoznam hráčov_Nahradiť_Otočiť šachovnicu_Uložiť hruHľadania / Výzvy_Zvuky_Spustiť hruZapnúť zvuky v PyChess_Zobraziť_Vaša Farba:zajme materiálrobí rošáduobraňuje %sremízujevymení materiálhttps://sk.wikipedia.org/wiki/%C5%A0ach_(hra)http://en.wikipedia.org/wiki/Rules_of_chesszvyšuje bezpečnosť kráľazvyšuje tlak na %sdáva matpohybuje vežou do otvoreného stĺpcapohybuje vežou do polootvoreného stĺpcapohybuje strelcom do fianchetta: %scelkový čas onlinepremieňa pešiaka na %sdáva oponentovi šachjemne vylepšuje bezpečnosť kráľavezme späť materiálpychess-1.0.0/lang/sk/LC_MESSAGES/pychess.po0000644000175000017500000044324413455542771017427 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2008 # Miroslav Fic , 2016 # Stevko , 2013 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Slovak (http://www.transifex.com/gbtami/pychess/language/sk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sk\n" "Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Hra" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Nová hra" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Načítať hru" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Uložiť hru" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Uložiť hru _ako" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Hodnotenie hráča" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Akcie" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Ponúknuť _Remízu" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Ponúknuť obnovenie" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "Vzdať sa" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Zobraziť" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Otočiť šachovnicu" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "Prehliadač záznamov" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Pomoc" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "O šachu" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Ako hrať" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Tip dňa" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Predvoľby" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "Zobrazené meno prvého ľudského hráča, napr., John." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Meno _prvého ľudského hráča:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Schovať záložky ak je otvorená iba jedna hra" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Zaškrtnutie tejto voľby schová záložky kariet na vrchu okna s hrami ak nie sú potrebné." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "Automaticky otočiť šachovnicu pre aktuálneho ľudského hráča" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Zaškrtnutie tejto voľby spôsobí otočenie šachovnice po každom ťahu, aby hráč na ťahu videl šachovnicu zo svojej strany " #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "Zobrazenie „tvárou v tvár”" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Ak je voľba zaškrtnutá, čierne figúrky budú zobrazené dolu hlavou. Vhodné pre hranie na mobilných zariadeniach, keď oponent sedí proti vám." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Uprednostňovať obrázky v zápise" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "Zaškrtnutie spôsobí, že PyChess bude v zápise hry zobrazovať obrázky ťahaných figúr miesto označenia veľkým písmenom." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Nikdy nepoužívať animáciu. Používať na pomalých zariadeniach." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animácia" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Použiť _analyzátor" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Použiť _inverzný analyzátor" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analyzovanie" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Svetlé Štvorce :" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Tmavé Štvorce :" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "Zobrazovať súradnice" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "Zaškrtnutie tejto voľby zobrazí označenia stĺpcov a radov vedľa šachovnice." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Motívy" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "Zapnúť zvuky v PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "Hráč dáva šach:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Hráč ťahá:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Hra skončila remízou:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Hra skončila prehrou:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Hra skončila výhrou:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Hráč berie:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Hra je pripravená" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "_Pozorované ťahy" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "Pozorovanie _končí:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "_Neplatný ťah:" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Zahrať zvuk keď…" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Zvuky" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "Rok, mesiac, deň: #y, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Uložiť" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Premena" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Dáma" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Veža" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Strelec" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Jazdec" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Kráľ" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Na akú figúru premeniť pešiaka?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "Jazdci" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Informácie o hre" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Lokácia:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Kolo:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Udalosť:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Príkaz:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protokol:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Biely" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Čierny" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - prihlásenie k Internetovej hre" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Heslo:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Meno:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Prihlásiť sa ako hosť" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Porty" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "Registrácia" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Výzva: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Výzva:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Bleskový:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Štandardný:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Rýchly:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "Zrušiť vyhľadávanie" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Akceptovať" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "Odmietnuť" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Odoslať hľadanie" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Začať hľadať" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Štandard" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Rýchla hra" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Blesková hra" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "Hľadania / Výzvy" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Hodnotenie" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Čas" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "Graf hľadaní" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 pripravených hráčov" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Výzva" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Sledovať" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Začať súkromný rozhovor" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Hosť" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "Zoznam hráčov" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "Zoznam hier" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "_Moje hry" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "Ponúknuť _zrušenie" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "Náhľad" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "_Archivované" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Upraviť hľadanie" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Bez časového obmedzenia" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minúty: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "Zisk:" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Časová kontrola" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Časová kontrola" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Nezáleží" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Vaša sila:" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Rýchly)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Sila oponenta:" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Stred:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Tolerancia:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Skryť" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Sila oponenta" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Vaša farba" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Hrať so štandardnými pravidlami" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Hrať" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Variant šachu" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Hodnotená hra" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Ručne akceptovať oponenta" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Možnosti" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Nová hra" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Spustiť hru" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Hráči" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Zadajte poznámky ku hre:" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Zavrieť _bez uloženia" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Ak neuložíte, nové zmeny vo vašich hrách budú natrvalo stratené." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_Vaša Farba:" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "https://sk.wikipedia.org/wiki/%C5%A0ach_(hra)" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://en.wikipedia.org/wiki/Rules_of_chess" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Otvoriť hru" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Časový limit oponenta ešte nevypršal." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Váš oponent vás žiada aby ste sa ponáhľali!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "%s bolo odmietnuté súperom" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s bolo odvolané oponentom" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "Nie je možné prijať %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s vracia chybovú správu" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Šachová pozícia" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Neznámy" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Jednoduchá šachová pozícia" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Šachová hra" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Lokálna udalosť" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Lokálne miesto" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "J" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "S" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "V" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "D" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "K" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Hra sa skončila remízou" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "Hra bola násilne ukončená" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Hra bola odložená" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Hra bola ukončená" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Normálna hra" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "Spojenie bolo prerušené - obdržaná správa \"koniec súboru\"" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' nie je registrované meno" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Nehodnotené" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Hodnotené" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Chyba v pripojení" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Chyba pri prihlasovaní" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Spojenie bolo ukončené" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "Priatelia" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Odoslali ste ponuku na remízu" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Počítač, %s, nečakane skončil" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Človek" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minúty:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Zisk:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Vstúpiť do hry" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Otvoriť zvukový súbor" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Bez zvuku" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Pípnuť" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Vybrať zvukový súbor..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "remízuje" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "dáva mat" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "dáva oponentovi šach" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "zvyšuje bezpečnosť kráľa" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "jemne vylepšuje bezpečnosť kráľa" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "pohybuje vežou do otvoreného stĺpca" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "pohybuje vežou do polootvoreného stĺpca" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "pohybuje strelcom do fianchetta: %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "premieňa pešiaka na %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "robí rošádu" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "vezme späť materiál" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "vymení materiál" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "zajme materiál" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "zvyšuje tlak na %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "obraňuje %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "Biely hráč má novú figúrku na vysunutej pozícii: %s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "Čierny hráč má novú figúrku na vysunutej pozícii: %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "%s posúva pešiakov do formácie stonewall" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Hodiny" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Typ" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "E-mail" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Strávené" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "celkový čas online" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Odozva" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Pripájanie" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Meno" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Zistiť typ automaticky" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Uložiť hru" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Neznámy typ súboru '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Nebolo možné uložiť súbor '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Nahradiť" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Súbor existuje" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Súbor s názvom '%s' už existuje. Chcete ho nahradiť?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "Súbor už existuje v '%s'. Ak ho nahradíte, jeho obsah bude prepísaný." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Nebolo možné uložiť súbor" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess nemohol uložiť hru" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "Vyskytla sa chyba: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Ak neuložíte hru,\nnebudete môcť neskôr pokračovať." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Všetky šachové súbory" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Kniha otvorení" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Poznámky" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Východzie postavenie" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "História ťahov" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Skóre" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/nl/0000755000175000017500000000000013467766037013613 5ustar varunvarunpychess-1.0.0/lang/nl/LC_MESSAGES/0000755000175000017500000000000013467766037015400 5ustar varunvarunpychess-1.0.0/lang/nl/LC_MESSAGES/pychess.mo0000644000175000017500000033712113467766035017420 0ustar varunvarunr+E{O{m{!u{{{{{{{{{{{{ {{| |'|-|06|'g|@||||}},}G}^}v}}#}$}#}~!~6~N~g~v~~~~~~~ ?Q^&$+C(7lU"*(Hq2DUieoՂ ۂ&.L ]i( S ^ n|) „΄mՄCKSc wCԅ "6S[bCk Ɇ ӆކ   / CPWi *Ƈ   (*0BYbj r} /SQg!ȉ /!SQQ#*-F"t+(Ër K'k%O- 37$k6#ǎEA1s!!-Տ&-*;X B " '18? E P Z$f#%Ց "#*Ғ  *07 G h ǓΓe ĔƔɔ ̔ה 82;BS.\ ŕ ʕ ԕ ". Q\ k w 6ŖVVSRS Q[z*՘,1-_hpy  & י&:/ j/w š ښ  2S htXbFcƜ͜՜ )19A^<{ҝ FN]Gjf_`Ɵ>'nfAՠ09 L"W zp  & 0 <I*^ "Ȣ آ1!}ţ C NZlt&. 1.4;CZ cm|:ȥ إ0@4DuHFHJ=ͩw} «ݫ  "&)!P&r8 ڬ %,2  (9U]s ɮ& 7EU[m~  *3Lg m w   Ű$˰4, 3AH JW]l! ϱ ܱ  " . ;G:O$в1ղGAO(>޴XRvBɵc ]p?ζB;QqSOSF  &(O$` )  # 4 BM^ s D#<T Vagl} +;  $*<DMT\dE AO _ it   '2 :GXmty + +  ,; BPi z !  1KR [ f q    .? E/Q  #$$#,#P#t  C 7Xaq   %/ 4 AM ` l z t,l*+*"6.P  4,BIQWr     +8 = IUZ cmr    ")=F[f !8)bq'y # Uaci o z   (> FQXo  #7L4d, )D ^   ( 3GO`y*  0%Gm " .8@DMT\s B$:Ph  /$TenwL  , I U`f lv   $ ;E LX`uwz}  phx"C5HK~J49J3R3:cnT 9Z9I}F`A[,>WmZnK-~ E,AA=     &:L`qy ,uyz * 9C4X$  # +9Pf } 0 !'/Q76" 9 G`v|UMC KVo~h n y $#% " #,*P{   3PBV^~~9?9(;/dyC$R3w&= +B%U {tm%xl! n-/&(&'C'k|- =HOXai r &   #,%2 Xdk z        &$4Y lw + #!')I8s1'&?Q$Y!~   5 "Aed+ ":Wnv~!    -<M]s,6(/F Wdkt#! ( H \ m q u {     D" gnr}KT[#j& 7$ ;GK?i9[N?%+s1T20:"%%H?n8:%"Ha%./F"Z}$&UV8M )/135FNRV_g !   36 ?A!"D-Z-/' GUsN S[3). Q<3v199k. e t  }   = * !!1!L!^!s!!6!$!i! i" v" "8" " " ""m"Y#b#k## ##<### $3$C$ [$|$$$s$% % +% 7%B% U% b% o%{%%%%% %%% & & &(&/&$I&8n&"&& & &&&'' 7'C'L' T'_' h'<r'['I (-U('(!()((()<@)[})I)%#*1I*;{*,*+*3+D+z+/z,N,2,6,-Pc-3-+-).Q>.:.B.E/T/)s/)/./5/2,0._00<00 01111#1 *141;1A1 G1 S1 ^1/j1(1+11 21222/$3T3[3 a3n3333#3333 4 4 4*4 45 5 55 &535;5=5@5 C5O5f5 o58y55555%5 6 66%6C6J6 S6^6r6666 6 6 6 66 777 7 +777<F7T7Q7Q*8Q|888889 9(9'19#Y9?}9?9 9 : : :(: 0:<: E:O:.U:::::::Q: E;6R; ;; ;";;;; < <$(<M<d<u<q<{=|=+=-===>>"> )> 3>=>?>B>T>]> c>n>u>> > >>#>D>0?L?f?z???=?s?JL@`@d@c]AQA]BLqBBBB BC C+C2C :CuHC CCCCCC D-)DWD ^DjD nD zDDD D1DD EE ^FlFuFFF5F)FG G "G1,G ^G hG sGG GGGG?G!H4H;H%>H8dH@HDHH#IJlIJIJO!KqL;MM IN WNcN"fNNNNNN NN(N!O0;OlOHsO$OOOOPP P"PPP P#P QQ*#QNQWQqQQQQ QQQ QQQQ R$R?R[RvRRRRR;S DSNS TS^SgS SS S S S SSS SS ST T;TVTA]TT TTTTT T#TU$U(UBUTU fUpUtU yUUUU UU UU U:U,V=VAVDVLV OV]VIfVsV[$WW/X[XuSYrY|]Q_T_d_ m_z_ __0__)_&"` I`TU`&bbb bc cc.c EcPcacwc!cccccec'd/d7d=d DdNdfdd dddddddd*dde e &e#2eVe^ede~eeeeee+f3fA:f |ff f ff fffgg"g5g"Jgmg ~g g ggg gg g gh0h 8hCh+Jhvh }h hhhhh hh!hi i i)i 9i Ei Qi [i|ii ii iiii i i i i jjjj ,j6jjj j<j$k*k ;k Fk Qk_k!pk#k#k"k"k# lDlKlTl elolul}llDlll mm+m 3m#@mdm ymmmm m mm mmmn&n9nIndnxnnnnnnnooho(o(o!oop""p4EpGzppppp qq%/qUq8[qqqqqqqrrr(r .r8r?rSr \r hrtrrrr rrrr rrrr ss"s:sSsgs)s sss sss st t t")t[Lttt tt$t uC udusu*zu uu u uu'uuvvw }xxxxxxxxx x xx x y(y 1y;yJy"ey)y y y yyyz"z8z!Tzvz z z zz zzz zzzz{&{:={x{{{{ {{*{{ {{|6|U| [| f|p||| ||||"|} 3}?}T}r}0}I}~%~+~1~9~H~[~n~~-~~~  7$Ns #% 7 BN c<q'ۀ)FZ c q }  ʁ/Ӂ  &7V@ Ȃ.Ԃ  & 3 = GRelʃ уۃ   (1NPSV\ y ȄфڄW ۆUDRNK02?c3׈T)>7hmV VNdh =TkW׌bp',9%:ϏbXqxX*ِm_r.ґEIG Ȓ ْ   '39K\o “,Ǔ  *Ôbw ͕ٕ:11cŖؖ  ;[${̘B AMT\Td2#):9B|ɚ`ښY; ƛ؛  ɜ-Ӝ&)( R/\0. "# F P [f~ ޞ83ԠoxB#HfB09#]=#3?W3Kˤ$%,+4-`1 %,}49'Vr~0["+~..٫+'4/\g ,3< AMU f8s  ѭ߭   1 7 EO:U   ŮӮ ڮ  # @NVe n y+ ʯد  =3q .=ڰH(aA0ұ  $2 :$[ " Ȳղ V$Shx0$7Qlɵ'͵+"! DPTex#ʶ2 >?&~ķ ߷   $--[ r# Ӹ  $*.7@GJ::AiB|DuQBMp:V, 5h67W00y)(pqz-ouhk/?:M~oAY}JvlE#G$OY#/%MU.2dNUiSw+7|H+J]Vdy Kz ;6Lt44/! q#TeiQ7[j"'VN6p;CrE?8 +-C"k='X&N,s Fj-) TagdPy%Xk1H"I* {9k\86Q zAgn4aJ"33 ^g^P-<I nF[UCpTGq"P3?T\Mr1OuL_:J &m{ =FG~mEsv8Y\X\>`MO%c9A|[ 9)d}3 Os*B+ ; ,Z4 . (RL5' <55#er!Gkg0NUjocIo?t"g!QrYd2% &f]a1b[?fO:(<4G$X&1E>0z=.eZVVS};., Eyu c152vRKg`?ncXVNvb rB'[|`Z0+/Q\7~@(nKANdT>w7c;Bm:G!xl]p a9QY<(Rhq_@$l>My*Sx=]/>6*8 ^2o]@|jWSip2<(I%;L0lT x)Z!]P\+_q#^RwfW_e tCkW#K=D`mE@8z.UDIx{s4`Pq9R~.[trWb)b1Dn}Z9Ohl@_J^ULv-LiJib/7=j)F<@aK_eCInfDsa~XB HS $j`'x35Kc,2,m$wFFRHHm3*o ufYe> !b:8{D{^$hH A- &CZthP *fWASw'%}l6 & Gain: + %d sec challenges you to a %(time)s %(rated)s %(gametype)s game chess has arrived has declined your offer for a match has departed has lagged for 30 seconds invalid engine move: %s is censoring you is lagging heavily but hasn't disconnected is not installed is present min noplay listing you uses a formula not fitting your match request: where %(player)s plays %(color)s. with whom you have an adjourned %(timecontrol)s %(gametype)s game is online. would like to resume your adjourned %(time)s %(gametype)s game.%(black)s won the game%(color)s got a double pawn %(place)s%(color)s got an isolated pawn in the %(x)s file%(color)s got isolated pawns in the %(x)s files%(color)s got new double pawns %(place)s%(color)s has a new passed pawn on %(cord)s%(color)s moves a %(piece)s to %(cord)s%(counter)s game headers from %(filename)s imported%(minutes)d min + %(gain)d sec/move%(name)s %(minutes)d min %(duration)s%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s%(name)s %(minutes)d min / %(moves)d moves %(duration)s%(opcolor)s has a new trapped bishop on %(cord)s%(path)s containing %(count)s games%(player)s is %(status)s%(player)s plays %(color)s%(time)s for %(count)d moves%(white)s won the game%d min%s can no longer castle%s can no longer castle in kingside%s can no longer castle in queenside%s games processed%s moves pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent%s will identify what threats would exist if it were your opponent's turn to move%s will try to predict which move is best and which side has the advantage'%s' is a registered name. If it is yours, type the password.'%s' is not a registered name(Blitz)(Link is available on clipboard.)*-00 Players Ready0 of 00-11-01-minute1/2-1/210 min + 6 sec/move, White120015-minute2 min, Fischer Random, Black3-minute45-minute5 min5-minuteConnect to Online Chess ServerPromote pawn to what?PyChess was unable to load your panel settingsAnalyzingAnimationBoard StyleChess SetsChess VariantEnter Game NotationGeneral OptionsInitial PositionInstalled SidepanelsMove textName of _first human player:Name of s_econd human player:New version %s is available!Open GameOpen databaseOpening, endgameOpponent StrengthOptionsPlay Sound When...PlayersStart learningTime ControlWelcome screenYour Color_Connect to server_Start Game%s is not marked executable in the filesystemA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedError loading gameFile '%s' already exists.PyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to add %sUnable to save file '%s'Unknown file type '%s'Challenge:A game is made of an opening, a middle-game and an end-game. PyChess is able to train you thanks to its opening book, its supported chess engines and its training module.A player _checks:A player _moves:A player c_aptures:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortAbout ChessAc_tiveAcceptActivate alarm when _remaining sec is:Active color field must be one of w or b. %sActive seeks: %dAdd commentAdd evaluation symbolAdd from folderAdd move symbolAdd new filterAdd start commentAdd sub-fen filter from position/circlesAdd threatening variation lines Adding suggestions can help you find ideas, but slows down the computer's analysis.Additional tagsAddress ErrorAdjournAdjourned, history and journal games listAdminAdministratorAfghanistanAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbaniaAlgeriaAll Chess FilesAll the evaluationsAll whiteAmerican SamoaAn approximate position has been found. Do you want to display it ?Analysis by %sAnalyze black movesAnalyze from current positionAnalyze gameAnalyze white movesAnalyzer's primary variationAndorraAngolaAnguillaAnimate pieces, board rotation and more. Use this on fast machines.Annotated gameAnnotationAnnotatorAntarcticaAntigua and BarbudaAny strengthArchivedArgentinaArmeniaArubaAsian variantsAsk for permissionsAsk to _MoveAssessAsymmetric RandomAsymmetric Random AtomicAustraliaAustriaAuthorAuto Call _FlagAuto _promote to queenAuto _rotate board to current human playerAuto login on startupAuto-logoutAvailableAzerbaijanBB EloBack to main lineBackround image path :Bad moveBahamasBahrainBangladeshBarbadosBase path:Because %(black)s lost connection to the serverBecause %(black)s lost connection to the server and %(white)s requested adjournmentBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s king explodedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause %(mover)s stalematedBecause %(white)s lost connection to the serverBecause %(white)s lost connection to the server and %(black)s requested adjournmentBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause %(winner)s has fewer piecesBecause %(winner)s king reached the centerBecause %(winner)s king reached the eight rowBecause %(winner)s lost all piecesBecause %(winner)s was giving check 3 timesBecause %(winner)s wiped out white hordeBecause a player aborted the game. Either player can abort the game without the other's consent before the second move. No rating changes have occurred.Because a player disconnected and there are too few moves to warrant adjournment. No rating changes have occurred.Because a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both king reached the eight rowBecause both players agreed to a drawBecause both players agreed to abort the game. No rating changes have occurred.Because both players agreed to an adjournmentBecause both players have the same amount of piecesBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause of adjudication by an admin. No rating changes have occurred.Because of courtesy by a player. No rating changes have occurred.Because practice goal reachedBecause the %(black)s engine diedBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBecause the server was shut downBecause the server was shut down. No rating changes have occurred.BeepBelarusBelgiumBelizeBeninBermudaBestBest moveBhutanBishopBlackBlack ELO:Black O-OBlack O-O-OBlack has a new piece in outpost: %sBlack has a rather cramped positionBlack has a slightly cramped positionBlack have to capture all white pieces to win. White wants to checkmate as usual. White pawns on the first rank may move two squares, similar to pawns on the second rank.Black moveBlack should do pawn storm in leftBlack should do pawn storm in rightBlack side - Click to exchange the playersBlack:BlindFoldBlindfoldBlindfold AccountBlitzBlitz:Blitz: 5 minBolivia (Plurinational State of)Bonaire, Sint Eustatius and SabaBook depth max:Bosnia and HerzegovinaBotswanaBouvet IslandBrazilBringing your king legally to the center (e4, d4, e5, d5) instantly wins the game! Normal rules apply in other cases and checkmate also ends the game.British Indian Ocean TerritoryBrunei DarussalamBughouseBulgariaBulletBurkina FasoBurundiCCACMCabo VerdeCalculating...CambodiaCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCameroonCanadaCandidate MasterCapturedCastling availability field is not legal. %sCategory:Cayman IslandsCenter:Central African RepublicChadChallengeChallenge: Challenge: Change ToleranceChatChess AdvisorChess Alpha 2 DiagramChess Compositions from yacpdb.orgChess GameChess PositionChess ShoutChess clientChess960ChileChinaChoose a folderChristmas IslandClaim DrawClassic chess rules http://en.wikipedia.org/wiki/ChessClassic chess rules with all pieces white http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden figurines http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pawns http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pieces http://en.wikipedia.org/wiki/Blindfold_chessClassicalClassical: 3 min / 40 movesClearClockClose _without SavingCocos (Keeling) IslandsColombiaColorize analyzed movesCommand line interface to the chess serverCommand line parameters needed by the engineCommand line parameters needed by the runtime envCommand:CommentComment:CommentsComorosCompensationComputerComputersCongoCongo (the Democratic Republic of the)ConnectingConnecting to serverConnection ErrorConnection was closedConsoleContinueContinue to wait for opponent, or try to adjourn the game?Cook IslandsCool! Now let see how it goes in the main line.Copy FENCornerCosta RicaCould not save the fileCounterplayCountry of origin of the engineCountry:CrazyhouseCreate New Pgn DatabaseCreate New Polyglot Opening BookCreate Polyglot BookCreate SeekCreate a new databaseCreate new squence where listed conditions may be satisfied at different times in a gameCreate new streak sequence where listed conditions have to be satisfied in consecutive (half)movesCreate polyglot opening bookCreating .bin index file...Creating .scout index file...CroatiaCrushing advantageCubaCuraçaoCyprusCzechiaCôte d'IvoireDDMDark Squares :DatabaseDateDate/TimeDate:Decisive advantageDeclineDefaultDenmarkDestination Host UnreachableDetailed connection settingsDetailed settings of players, time control and chess variantDetect type automaticallyDetected enginesDevelopment advantageDiedDisplay MasterDjiboutiDo you know that a knight is better placed in the center of the board?Do you know that having two-colored bishops working together is very powerful?Do you know that it is possible to finish a chess game in just 2 turns?Do you know that moving the queen at the very beginning of a game does not offer any particular advantage?Do you know that the king can move across two cells under certain conditions? This is called castling.Do you know that the number of possible chess games exceeds the number of atoms in the Universe?Do you know that the rooks are generally engaged late in game?Do you know that you can help to translate PyChess into your language, Help > Translate PyChess.Do you really want to restore the default options of the engine ?Do you want to abort it?DominicaDominican RepublicDon't careDon't show this dialog on startup.Download linkDrawDraw:DrawishDue to abuse problems, guest connections have been prevented. You can still register on http://www.freechess.orgDummy AccountECOEcuadorEdit SeekEdit Seek: Edit commentEdit selected filterEffect on ratings by the possible outcomesEgyptEl SalvadorEloEmailEn passant cord is not legal. %sEn passant lineEndgame TableEndgamesEngine playing strength (1=weakest, 20=strongest)Engine scores are in units of pawns, from White's point of view. Double clicking on analysis lines you can insert them into Annotation panel as variations.EnginesEngines use uci or xboard communication protocol to talk to the GUI. If it can use both you can set here which one you like.Enter GameEnvironmentEquatorial GuineaEritreaError parsing %(mstr)sError parsing move %(moveno)s %(mstr)sEstimated duration : %(min)d - %(max)d minutesEstoniaEthiopiaEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventEvent:ExamineExamine Adjourned GameExaminedExaminingExcellent moveExecutable filesExpected format as "yyyy.mm.dd" with the allowed joker "?"Export positionExternalsFAFEN needs 6 data fields. %sFEN needs at least 2 data fields in fenstr. %sFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns * No castling * Black's arrangement mirrors white'sFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED * No castling * Black's arrangement DOES NOT mirrors white'sFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Pawns start on their 7th rank rather than their 2nd rank!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Pawns start on 4th and 5th ranks rather than 2nd and 7thFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html White pawns start on 5th rank and black pawns on the 4th rankFIDE ArbeiterFIDE MasterFMF_ull board animationFace _to Face display modeFalkland Islands [Malvinas]Faroe IslandsFijiFile existsFile nameFilterFilter game list by current game movesFilter game list by opening movesFilter game list by various conditionsFiltersFilters panel can filter game list by various conditionsFind postion in current databaseFingerFinlandFirst gamesFischer RandomFollowFont:For each player, the statistics provide the probability to win the game and the variation of your ELO if you lose / end into a tie / win, or simply the final ELO rating changeForced moveFrame:FranceFree comment about the engineFrench GuianaFrench PolynesiaFrench Southern TerritoriesFriendsFrom _Custom PositionFrom _Default Start PositionFrom _Game NotationGMGabonGain:GambiaGameGame ListGame analyzing in progress...Game cancelledGame informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Game shared at GamesGames running: %dGaviota TB path:Generally this means nothing, as the game is time-based, but if you want to please your opponent, perhaps you should get going.GeorgiaGermanyGhanaGibraltarGiveawayGo back to the main lineGo back to the parent lineGo onGood moveGrand MasterGreeceGreenlandGrenadaGridGuadeloupeGuamGuatemalaGuernseyGuestGuest logins disabled by FICS serverGuestsGuided interactive lessons in "guess the move" styleGuineaGuinea-BissauGuyanaHHTML parsingHaitiHalfmove clockHandle seeks and challengesHandle seeks on graphical wayHeaderHeard Island and McDonald IslandsHidden pawnsHidden piecesHideHintHintsHoly SeeHondurasHong KongHordeHost:How to PlayHtml DiagramHuman BeingHungaryICC giveaway: https://www.chessclub.com/user/help/GiveawayICC lag compensation needs timestampICSIMIcelandIdIdentificationIdleIf set you can refuse players accepting your seekIf set, FICS game numbers in tab labels next to player names are shown.If set, PyChess will colorize suboptimal analyzed moves with red.If set, PyChess will show game results for different moves in positions containing 6 or less pieces. It will search positions from http://www.k4it.de/If set, PyChess will show game results for different moves in positions containing 6 or less pieces. You can download tablebase files from: http://www.olympuschess.com/egtb/gaviota/If set, PyChess will suggest best opening moves on hint panel.If set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, clicking on main application window closer first time it closes all games.If set, pawn promotes to queen without promotion dialog selection.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the captured figurines will be shown next to the board.If set, the elapsed time that a player used for the move is shown.If set, the hint analyzer engine evaluation value is shown.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If the analyzer finds a move where the evaluation difference (the difference between the evaluation for the move it thinks is the best move and the evaluation for the move made in the game) exceeds this value, it will add an annotation for that move (consisting of the engine's Principal Variation for the move) to the Annotation panelIf you don't save, new changes to your games will be permanently lost.Ignore colorsIllegalImagesImbalanceImportImport PGN fileImport annotated games from endgame.nlImport chessfileImport games from theweekinchess.comImporting game headers...In TournamentIn this game, check is entirely forbidden: not only is it forbidden to move ones king into check, but it is also forbidden to check the opponents king. The purpose of the game is to be the first player that moves his king to the eight row. When white moves their king to the eight row, and black moves directly after that also their king to the last row, the game is a draw (this rule is to compensate for the advantage of white that they may move first.) Apart from the above, pieces move and capture precisely as in normal chess.In this position, there is no legal move.Indent _PGN fileIndiaIndonesiaInfinite analysisInfoInitial positionInitial setupInitiativeInteresting moveInternational MasterInvalid move.Iran (Islamic Republic of)IraqIrelandIsle of ManIsraelIt is not possible later to continue the game, if you don't save it.ItalyJamaicaJapanJerseyJordanJump to initial positionJump to latest positionKKazakhstanKenyaKingKing of the hillKiribatiKnightKnight oddsKnightsKorea (the Democratic People's Republic of)Korea (the Republic of)KuwaitKyrgyzstanLag:Lao People's Democratic RepublicLatviaLearnLeave _FullscreenLebanonLecturesLengthLesothoLessonsLevel 1 is the weakest and level 20 is the strongest. You may not define a too high level if the engine is based on the depth to exploreLiberiaLibyaLichess practice studies Puzzles from GM games and Chess compositionsLiechtensteinLight Squares :LightningLightning:List of ongoing gamesList of playersList of server channelsList of server newsLithuaniaLoad Re_mote GameLoad _Recent GameLoad a remote gameLoading player dataLocal EventLocal SiteLog OffLog on ErrorLog on as _GuestLogging on to serverLosersLossLoss:LuxembourgMacaoMacedonia (the former Yugoslav Republic of)MadagascarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMalawiMalaysiaMaldivesMaliMaltaMamer ManagerManage enginesManualManual AcceptManually accept opponentMarshall IslandsMartiniqueMateMate in %dMaterial/moveMauritaniaMauritiusMaximum analysis time in seconds:MayotteMexicoMicronesia (Federated States of)Minutes:Minutes: Moderate advantageMoldova (the Republic of)MonacoMongoliaMontenegroMontserratMore channelsMore playersMoroccoMoveMove HistoryMove numberMovedMoves:MozambiqueMyanmarNNMNameNames: #n1, #n2NamibiaNational MasterNauruNeedNeeds 7 slashes in piece placement field. %sNepalNetherlandsNever use animation. Use this on slow machines.NewNew CaledoniaNew GameNew RD:New ZealandNew _DatabaseNew game from 1-minute playing poolNew game from 15-minute playing poolNew game from 25-minute playing poolNew game from 3-minute playing poolNew game from 5-minute playing poolNew game from Chess960 playing poolNewsNextNext gamesNicaraguaNigerNigeriaNiueNo _animationNo chess engines (computer players) are participating in this game.No conversation's selectedNo database is currently opened.No soundNo time controlNorfolk IslandNormalNormal: 40 min + 15 sec/moveNorthern Mariana IslandsNorwayNot AvailableNot a capture (quiet) moveNot the best move!ObserveObserve %sObserved _ends:ObserversOddsOffer A_bortOffer AbortOffer Ad_journmentOffer PauseOffer RematchOffer ResumeOffer UndoOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOmanOn FICS, your "Wild" rating encompasses all of the following variants at all time controls: One player starts with one less knight pieceOne player starts with one less pawn pieceOne player starts with one less queen pieceOne player starts with one less rook pieceOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpenOpen GameOpen Sound FileOpen chess fileOpening BookOpening booksOpening chessfile...OpeningsOpenings panel can filter game list by opening movesOpponent RatingOpponent's strength: OptionOptionsOtherOther (non standard rules)Other (standard rules)PPakistanPalauPalestine, State ofPanamaPapua New GuineaParaguayParameters:Paste FENPaste the link to download:PatternPausePawnPawn oddsPawns PassedPawns PushedPeruPhilippinesPick a datePingPitcairnPlacementPlayPlay Fischer Random chessPlay Losers chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer ListPlayer _RatingPlayers:Players: %dPlayingPng imagePo_rts:PolandPolyglot book file:PortugalPractice endgames with computerPre-chess: https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_positionPre_viewPrefer figures in _notationPreferencesPreferred level:Preparing to start import...PreviewPreview panel can filter game list by current game movesPrevious gamesPrivateProbably because it has been withdrawn.ProgressPromotionProtocol:Puerto RicoPuzzlesPyChess - Connect to Internet ChessPyChess Information WindowPyChess has lost connection to the engine, probably because it has died. You can try to start a new game with the engine, or try to play against another one.PyChess is an open-source chess application that can be enhanced by any chess enthusiasts: bug reports, source code, documentation, translations, feature requests, user assistance... Let's get in touch at http://www.pychess.orgPyChess supports a wide range of chess engines, variants, Internet servers and lessons. It is a perfect desktop application to increase your chess skills very conveniently.PyChess.py:QQatarQueenQueen oddsQuit LearningQuit PyChessRR_esignRacing KingsRandomRapidRapid: 15 min + 10 sec/moveRatedRated gameRatingRating change:Reading %s ...Receiving list of playersRecreating indexes...RefreshRegisteredRemoveRemove selected filterRequest ContinuationResendResend %s?Reset ColoursReset my progressRestore the default optionsResultResult:ResumeRetryRomaniaRookRook oddsRotate the boardRoundRound:Running Simul MatchRuntime env command:Runtime env parameters:Runtime environment of engine command (wine or node)Russian FederationRwandaRéunionSRS_ign upSaint BarthélemySaint Helena, Ascension and Tristan da CunhaSaint Kitts and NevisSaint LuciaSaint Martin (French part)Saint Pierre and MiquelonSaint Vincent and the GrenadinesSamoaSan MarinoSanctionsSao Tome and PrincipeSaudi ArabiaSaveSave GameSave Game _AsSave _own games onlySave _rating change valuesSave analyzing engine _evaluation valuesSave arrows/circlesSave asSave database asSave elapsed move _timesSave files to:Save moves before closing?Save the current game before you close it?Save to PGN file as...ScoreScoutSearch:Seek GraphSeek _GraphSeek updatedSeeks / ChallengesSelect Gaviota TB pathSelect a pgn or epd or fen chess fileSelect auto save pathSelect background image fileSelect book fileSelect engineSelect sound file...Select the games you want to save:Select working directorySend ChallengeSend all seeksSend seekSenegalSeqSequenceSerbiaServer:Service RepresentativeSetting up environmentSetup PositionSeychellesShare _GameSho_w cordsShort on _time:Should %s publicly publish your game as PGN on chesspastebin.com ?ShoutShow FICS game numbers in tab labelsShow _captured piecesShow elapsed move timesShow evaluation valuesShow tips at startupShredderLinuxChess:ShuffleSide to moveSide_panelsSierra LeoneSimple Chess PositionSingaporeSint Maarten (Dutch part)SiteSite:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinSlight advantageSlovakiaSloveniaSolomon IslandsSomaliaSome of PyChess features needs your permission to download external programsSorry '%s' is already logged inSound filesSourceSouth AfricaSouth Georgia and the South Sandwich IslandsSouth SudanSp_y arrowSpainSpentSri LankaStandardStandard:Start Private ChatStatusStep back one moveStep forward one moveStrStreakStudy FICS lectures offlineSub-FEN :SudanSuicideSurinameSuspicious moveSvalbard and Jan MayenSwazilandSwedenSwitzerlandSymbolsSyrian Arab RepublicTTDTMTagTaiwan (Province of China)TajikistanTalkingTanzania, United Republic ofTeam AccountText DiagramTexture:ThailandThe abort offerThe adjourn offerThe analyzer will run in the background and analyze the game. This is necessary for the hint mode to workThe chain button is disabled because you are logged in as a guest. Guests can't establish ratings, and the chain button's state has no effect when there is no rating to which to tie "Opponent Strength" toThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe current game is not terminated. Its export may have a limited interest.The current game is over. First, please verify the properties of the game.The directory where the engine will be started from.The displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe endgame table will show exact analysis when there are few pieces on the board.The engine %s reports an error:The engine is already installed under the same nameThe engine output panel shows the thinking output of chess engines (computer players) during a gameThe entered password was invalid. If you forgot your password, go to http://www.freechess.org/password to request a new one over email.The error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The flag callThe game can't be loaded, because of an error parsing FENThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe hint panel will provide computer advice during each stage of the gameThe inverse analyzer will analyze the game as if your opponent was to move. This is necessary for the spy mode to workThe move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe position does not exist in the database.The provided link does not lead to a meaningful chess content.The reason is unknownThe releases of PyChess hold the name of historical world chess champions. Do you know the name of the current world chess champion?The resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe takeback offerThebanThemesThere is %d game with unsaved moves.There are %d games with unsaved moves.There is something wrong with this executableThis game can be automatically aborted without rating loss because there has not yet been two moves madeThis game can not be adjourned because one or both players are guestsThis is a continuation of an adjourned matchThis option is not applicable because you're challenging a playerThis option is not available because you're challenging a guest, Threat analysis by %sThree-checkTimeTime controlTime control: Time pressureTimor-LesteTip Of The dayTip of the DayTitleTitledTogoTokelauTolerance:TongaTournament DirectorTranslate PyChessTrinidad and TobagoTry chmod a+x %sTunisiaTurkeyTurkmenistanTurks and Caicos IslandsTuvaluTypeType or paste PGN game or FEN positions hereUUgandaUkraineUnable to accept %sUnable to save to configured file. Save the games before closing?Unable to save to configured file. Save the current game before you close it?Unclear positionUndescribed panelUndoUndo one moveUndo two movesUninstallUnited Arab EmiratesUnited Kingdom of Great Britain and Northern IrelandUnited States Minor Outlying IslandsUnited States of AmericaUnknownUnknown game stateUnofficial channel %dUnratedUnregisteredUnticked : the exponential stretching displays the full range of the score and enlarges the values around the null average. Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better.UntimedUpside DownUruguayUse _analyzerUse _inverted analyzerUse _local tablebasesUse _online tablebasesUse a linear scale for the scoreUse analyzer:Use name format:Use opening _bookUse time compensationUsed by engine players and polyglot book creatorUzbekistanValueVanuatuVariantVariant developed by Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Variation annotation creation threshold in centipawns:Various techniquesVenezuela (Bolivarian Republic of)Very bad moveViet NamView lectures, solve puzzles or start practicing endgamesVirgin Islands (British)Virgin Islands (U.S.)W EloWFMWGMWIMWaitWallis and FutunaWarning: this option generates a formatted .pgn file which is not standards complientWas unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.WelcomeWell done!Well done! %s completed.Western SaharaWhen this button is in the "locked" state, the relationship between "Opponent's strength" and "Your strength" will be preserved when a) your rating for the type of game sought has changed b) you change the variant or the time controlWhiteWhite ELO:White O-OWhite O-O-OWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite has a slightly cramped positionWhite moveWhite should do pawn storm in leftWhite should do pawn storm in rightWhite side - Click to exchange the playersWhite:WildWildcastleWildcastle shuffleWinWin by giving check 3 timesWin:Winning %With attackWoman FIDE MasterWoman Grand MasterWoman International MasterWorking directory:Year, month, day: #y, #m, #dYemenYou are currently logged in as a guest but there is a completely free trial for 30 days, and beyond that, there is no charge and the account would remain active with the ability to play games. (With some restrictions. For example, no premium videos, some limitations in channels, and so on.) To register an account, go to You are currently logged in as a guest. A guest can't play rated games and therefore isn't able to play as many of the types of matches offered as a registered user. To register an account, go to You asked your opponent to moveYou can choose from 20 different difficulties to play against the computer. It will mainly affect the available time to think.You can start a new game by Game > New Game, then choose the Players, Time Control and Chess Variants.You can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou can't select a variant because "Untimed" is checked, You can't switch colors during the game.You can't touch this! You are examining a game.You don't have the necessary rights to save the file. Please ensure that you have given the right path and try again.You have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou have to set kibitz on to see bot messages here.You have tried to undo too many moves.You have unsaved changes. Do you want to save before leaving?You may only have 3 outstanding seeks at the same time. If you want to add a new seek you must clear your currently active seeks. Clear your seeks?You sent a draw offerYou sent a pause offerYou sent a resume offerYou sent an abort offerYou sent an adjournment offerYou sent an undo offerYou sent flag callYou will lose all your progress data!Your opponent asks you to hurry!Your opponent has asked that the game be aborted. If you accept this offer, the game will end with no rating change.Your opponent has asked that the game be adjourned. If you accept this offer, the game will be adjourned and you can resume it later (when your opponent is online and both players agree to resume).Your opponent has asked that the game be paused. If you accept this offer, the game clock will be paused until both players agree to resume the game.Your opponent has asked that the game be resumed. If you accept this offer, the game clock will continue from where it was paused.Your opponent has asked that the last %s move(s) be undone. If you accept this offer, the game will continue from the earlier position.Your opponent has offered you a draw.Your opponent has offered you a draw. If you accept this offer, the game will end with a score of 1/2 - 1/2.Your opponent is not out of time.Your opponent must agree to abort the game because there has been two or more moves madeYour opponent seems to have changed their mind.Your opponent wants to abort the game.Your opponent wants to adjourn the game.Your opponent wants to pause the game.Your opponent wants to resume the game.Your opponent wants to undo %s move(s).Your panel settings have been reset. If this problem repeats, you should report it to the developersYour seeks have been removedYour strength: Your turn.ZambiaZimbabweZugzwang_Accept_Actions_Analyze Game_Archived_Auto save finished games to .pgn file_Call Flag_Clear Seeks_Copy FEN_Copy PGN_Decline_Edit_Engines_Export Position_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hint arrow_Hints_Invalid move:_Load Game_Log Viewer_My games_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Puzzle success:_Recent:_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Untimed_Use main app closer [x] to close all games_Use sounds in PyChess_Variation choices:_View_Your Color:andand guests can't play rated gamesand on FICS, untimed games can't be ratedand on FICS, untimed games have to be normal chess rulesask your opponent to moveblackbrings a %(piece)s closer to enemy king: %(cord)sbrings a pawn closer to the backrow: %scall your opponents flagcaptures materialcastlesdatabase opening tree needs chess_dbdatabase querying needs scoutfishdefends %sdevelops a %(piece)s: %(cord)sdevelops a pawn: %sdrawsexchanges materialgnuchess:half-openhttp://brainking.com/en/GameRules?tp=2 * Placement of the pieces on the 1st and 8th row are randomized * The king is in the right hand corner * Bishops must start on opposite color squares * Black's starting position is obtained by rotating white's position 180 degrees around the board's center * No castlinghttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyin the %(x)s%(y)s filein the %(x)s%(y)s filesincreases the pressure on %sinvalid promoted piecelessonslichessmatesminminsmovemoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %snot playingofoffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalotherspawn capture without target piece is invalidpins an enemy %(oppiece)s on the %(piece)s at %(cord)splaces a %(piece)s more active: %(cord)spromotes a Pawn to a %sputs opponent in checkrating range nowrescues a %sresignround %ssacrifices materialsecsecsslightly improves king safetytakes back materialthe captured cord (%s) is incorrectthe end cord (%s) is incorrectthe move needs a piece and a cordthreatens to win material by %sto automatic acceptto manual acceptucivs.whitewindow1wtharveyxboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Random arrangement of the pieces behind the pawns * No castling * Black's arrangement mirrors white'sxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * White has the typical set-up at the start. * Black's pieces are the same, except that the King and Queen are reversed, * so they are not on the same files as White's King and Queen. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * In this variant both sides have the same set of pieces as in normal chess. * The white king starts on d1 or e1 and the black king starts on d8 or e8, * and the rooks are in their usual positions. * Bishops are always on opposite colors. * Subject to these constraints the position of the pieces on their first ranks is random. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.yacpdbÅland IslandsProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-18 10:45+0000 Last-Translator: Heimen Stoffels Language-Team: Dutch (http://www.transifex.com/gbtami/pychess/language/nl/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: nl Plural-Forms: nplurals=2; plural=(n != 1); Voordeel: + %d secdaagt je uit tot een %(time)s %(rated)s %(gametype)s spelschaak is aangekomen heeft je wedstrijdaanbod geweigerd is vertrokkenheeft 30 seconden vertraging opgelopenongeldige computerzet: %scensureert jeheeft hevige vertraging opgelopen maar is nog verbondenis niet geïnstalleerdis aanwezigmin geen spel waarin je voorkomt gebruikt een formule die niet voldoet aan je wedstrijdverzoek:waarbij %(player)s met %(color)s speelt. met wie je %(timecontrol)s hebt uitgesteld. Het spel%(gametype)s is online.wil graag je uitgestelde spel %(time)s %(gametype)s hervatten.%(black)s heeft de wedstrijd gewonnen %(color)s heeft een dubbele pion %(place)s%(color)s heeft geïsoleerde pions in de %(x)s bestanden%(color)s heeft geïsoleerde pionnen in de bestanden %(x)s %(color)s heeft nieuwe dubbele pionnen %(place)s %(color)s heeft een nieuwe vrije pion op %(cord)s%(color)s verplaatst een %(piece)s naar %(cord)s%(counter)s spelkoppen van %(filename)s zijn geïmporteerd%(minutes)d min + %(gain)d sec/zet%(name)s %(minutes)d min %(duration)s%(name)s %(minutes)d min %(sign)s %(gain)d sec/zet %(duration)s%(name)s %(minutes)d min / %(moves)d zetten %(duration)s%(opcolor)s heeft een nieuwe vastgezette loper op %(cord)s%(path)s met daarin %(count)s spellen%(player)s is %(status)s%(player)s speelt met %(color)s%(time)s voor %(count)dzetten%(white)s heeft de wedstrijd gewonnen%d min%s kan niet langer rokeren%s kan niet langer rokeren aan de koningszijde%s kan niet langer rokeren aan de koninginzijde%s spellen verwerkt%s plaatst pionnen in muurformatie%s geeft een foutmelding%s is geweigerd door je tegenstander%s is ingetrokken door je tegenstander%s identificeert welke aanvallen kunnen bestaan alsof je tegenstander aan de beurt is%s zal proberen te voorspellen welke zet het beste is en welk speelveld voordeel heeft'%s' is een geregistreerde naam. Als dit jouw naam is, typ dan je wachtwoord.'%s' is geen geregistreerde naam(Snel)(de link is beschikbaar op het klembord.)*-00 spelers gereed0 van 00-11-01 minuut1/2-1/210 min + 6 sec/zet, Wit120015 minuten2 min, Fischer willekeurig, Zwart3 minuten45 minuten5 min5 minutenVerbinden met online schaakserverWaar wil je de pion naar promoveren? PyChess kan je paneelinstellingen niet ladenAnalyserenEffectenBordstijlSchaaksetsSchaakvariantSpelnotatie invoerenAlgemene optiesStartpositieGeïnstalleerde zijpanelenVerplaatstekstNaam van de _eerste menselijke speler:Naam van de tw_eede menselijke speler:Er is een nieuwe versie beschikbaar: %s Open spelDatabase openenOpening, eindspelSterkte van tegenstanderOptiesGeluid afspelen als...SpelersBeginnen met lerenTijdscontrole:WelkomstschermJouw kleur_Verbinden met serverSpel _starten%s is niet gemarkeerd als uitvoerbaar op het bestandssysteemEr bestaat al een bestand met de naam '%s'. Wil je dit vervangen?De schaakcomputer, %s, is gestoptFout bij laden van spelHet bestand '%s' bestaat al.PyChess is bezig met zoeken naar je aandrijvingen. Even geduld.PyChess kan het spel niet opslaanEr zijn %d spellen met niet-opgeslagen zetten. Wil je de wijzigingen opslaan alvorens af te sluiten?Toevoegen van %s is misluktHet bestand '%s' kan niet worden opgeslagenOnbekende bestandssoort '%s'Uitdaging:Een partij bestaat uit een opening, het middenspel en een eindspel. PyChess kan je trainen door gebruik te maken van een openingsboek, de schaakcomputers die het ondersteunt en de oefenmodule. Als een speler _schaak staat:Als een speler een _zet doet:Als een speler een stuk _slaat:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAfbrekenOver SchakenAc_tiefAccepterenAlarm activeren als het aantal _resterende seconden staat op:De actieve veldkleur moet w of b zijn. %sActieve verzoeken: %d Opmerking toevoegenEvaluatiesymbool toevoegenToevoegen uit mapZetsymbool toevoegenNieuw filter toevoegenBeginopmerking toevoegenSub-fenfilter toevoegen vanaf huidige posities/cirkelsBedreigende variatieregels toevoegenHet toevoegen van suggesties kan je helpen bij het vinden van ideëen, maar vertraagt de computeranalyse.Extra labelsAdresfoutUitstellenLijst met uitgestelde, voormalige en vastgelegde spellenBeheerderBeheerderAfghanistanAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbaniëAlgerijeAlle schaakbestandenAlle evaluatiesAlleen witAmerikaans-SamoaEr is een geschatte positie aangetroffen. Wil je deze tonen?Analyse door %sZwarte zetten analyserenAnalyseren vanaf huidige positieSpel analyserenWitte zetten analyserenPrimaire variatie van analysatorAndorraAngolaAnguillaAlle stukken, de bordrotatie en nog veel meer worden voorzien van effecten. Gebruik deze optie op snelle apparaten.Spel met aantekeningenAantekeningAantekenaarAntarcticaAntigua en BarbudaElke sterkteGearchiveerdArgentiniëArmeniëArubaAziatische variantenVragen om toestemmingVraag o_m te verzettenBeoordelenAsymmetrisch willekeurigAsymmetrisch willekeurigAtomischAustraliëOostenrijkAuteurVlag automatisch _opeisenAutomatisch promoveren naar koninginBord automatisch d_raaien naar huidige menselijke spelerAutomatisch inloggen bij opstartenAutomatisch uitloggenBeschikbaarAzerbeidzjanBZw EloTerug naar hoofdonderdeelAchtergrondafbeeldingspad:Slechte zetBahama'sBahreinBangladeshBarbadosBasispad:Omdat %(black)s zijn verbinding met de server verloren heeftOmdat %(black)s zijn verbinding met de server verloren heeft en %(white)s om uitstel vraagtOmdat %(black)s buiten de tijd zit en %(white)s onvoldoende stukken heeftOmdat %(loser)s de verbinding verbroken heeftOmdat %(loser)s zijn koning explodeerdeOmdat %(loser)s buiten de tijd isOmdat %(loser)s zich heeft teruggetrokkenOmdat %(loser)s schaakmat staatOmdat %(mover)sin een patstelling raakteOmdat %(white)s zijn verbinding met de server verloren heeftOmdat %(white)s zijn verbinding met de server verloren heeft en %(black)s om uitstel vraagtOmdat %(white)s buiten de tijd zit en %(black)s onvoldoende stukken heeftOmdat %(winner)s minder stukken heeftOmdat %(winner)s zijn koning het centrum bereikteOmdat de koning van %(winner)s de achtste rij heeft bereiktOmdat %(winner)s alle stukken is kwijgeraaktOmdat %(winner)s driemaal schaak werd gezetOmdat %(winner)s de witte horde heeft uitgeschakeldOmdat een speler het spel beëindigd heeft. Beide spelers kunnen het spel beëindigen zonder toelating van de tegenspeler voor het plaatsen van een tweede zet. De rang is niet gewijzigd.Omdat een speler de verbinding verbroken heeft en er te weinig zetten zijn gedaan voor uitstel. De rang is niet gewijzigd.Omdat een speler zijn verbinding verloren heeftOmdat een speler zijn verbinding verloor en de andere speler vraagt om uitstelOmdat beide koningen de achtste rij hebben bereiktOmdat beide spelers akkoord zijn gegaan met een remiseOmdat beide spelers akkoord zijn gegaan met afbreken. De rang is niet gewijzigd.Omdat beide spelers akkoord zijn gegaan met uitstelOmdat beide spelers evenveel stukken hebbenOmdat beide spelers buiten de tijd zittenOmdat geen van beide spelers over voldoende stukken beschikt om schaak te claimenVanwege een rechtzetting/toewijzing door een administratorVanwege uitstel door een administrator. De rang is niet gewijzigd.Vanwege de hoffelijkheid door een speler. De rang is niet gewijzigd.Omdat het oefendoel behaald isOmdat de %(black)s aandrijving gestopt isOmdat de %(white)s aandrijving gestopt isOmdat de verbinding met de server verbroken isOmdat de maximale duur van het spel werd overschredenOmdat de laatste 50 zetten niets nieuws opleverdenOmdat dezelfde positie zich driemaal herhaaldeOmdat de server werd stilgelegd Omdat de server werd stilgelegd. De rang is niet gewijzigd.GeluidssignaalWit-RuslandBelgiëBelizeBeninBermudaBeste Beste zetBhutanLoperZwartZwarte ELO:Zwart O-O Zwart O-O-OZwart heeft een nieuw stuk op de buitenpost: %sZwart heeft een nogal verkrampte positieZwart heeft een enigzins verkrampte positieZwart moet alle witte stukken slaan om te winnen. Wit moet, zoals gewoonlijk, schaakmat behalen. Witte pionnen op de voorste rij mogen twee plaatsen opschuiven, net zoals pionnen op de tweede rij.Zwarte zetZwart zou een pionnenstorm over links moeten doenZwart zou een pionnenstorm over rechts moeten doenZwarte speelveld - klik om spelers om te ruilenZwart:BlindBlindschakenBlind account SnelSnel:Snel: 5 minBolivië (Plurinationale Staat van)Bonaire, Sint-Eustatius en SabaMax. diepte van boek:Bosnië en HerzegovinaBotswanaBouveteilandBraziliëHet verplaatsen van de koning naar het midden (e4, d4, e5, d5) levert direct een overwinning op! Verder zijn de gebruikelijke regels van toepassing en schaakmat beëindigt ook het spel.Brits Indische OceaanterritoriumBruneiBughouseBulgarijeBulletBurkina FasoBurundiCCACMKaapverdiëBezig met berekenen...CambodjaCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlKameroenCanadaKandidaat MasterGeslagenRokeren op het veld is illegaal. %sCategorie:KaaimaneilandenMidden:Centraal-Afrikaanse RepubliekTsjaadUitdagenUitdaging:Uitdaging: Tolerantie wijzigenChatSchaakraadgever Schaak Alpha 2-diagramSchaakcomposities van yacpdb.orgSchaakspelSchaakpositieSchaakroepSchaakcomputerSchaak 960ChiliChinaKies een mapKersteilandRemise claimenKlassieke schaakregels https://nl.wikipedia.org/wiki/SchakenKlassiek schaken met alleen witte stukken https://nl.wikipedia.org/wiki/BlindschakenKlassiek schaken met verborgen figuren https://nl.wikipedia.org/wiki/BlindschakenKlassiek schaken met verborgen pionnen https://nl.wikipedia.org/wiki/BlindschakenKlassiek schaken met verborgen stukken https://nl.wikipedia.org/wiki/BlindschakenKlassiekKlassiek: 3 min / 40 zettenWissenKlokSluiten _zonder opslaanCocoseilandenColombiaGeanalyseerde zetten voorzien van kleurOpdrachtprompt naar de schaakserverDe opdrachtregel-parameters die nodig zijn voor de aandrijving.De opdrachtregel-parameters die nodig zijn voor proces-omgevingOpdracht:OpmerkingOpmerking:OpmerkingenComorenCompensatieComputerComputersCongoCongo-Kinshasa (Democratische Republiek Congo)Bezig met verbindenBezig met verbinden met serverVerbindingsfoutDe verbinding is afgeslotenPromptDoorgaanWil je blijven wachten op de tegenstander of proberen om het spel uit te stellen?CookeilandenCool! Nu maar zien hoe het gaat in het hoofdonderdeel.FEN kopiërenHoekCosta RicaBestand kan niet worden opgeslagenAanvallende zetHerkomstland van de aandrijvingLand:CrazyhouseNieuwe PGN-databank creërenNieuw Polyglot-openingsboek creërenPolyglot-boek creërenVerzoek creërenNieuwe databank creërenCreëer een nieuwe sequentie met verschillende criteria waaraan moet worden voldaan op verschillende spelmomentenCreëer een nieuwe strook-sequentie met verschillende criteria waaraan moet worden voldaan bij verschillende (halve) zettenPolyglot-openingsboek creërenBezig met creëren van .bin-indexbestand...Bezig met creëren van .scout-indexbestand...KroatiëVernietigend voordeelCubaCuraçaoCyprusTsjechiëIvoorkustDDMDonkere vlakken :DatabaseDatumDatum/TijdDatum:Beslissend voordeelWeigerenStandaardDenemarkenHost-bestemming is onbereikbaarUitgebreide verbindingsinstellingenUitgebreide instellingen van spelers, tijdscontrole en schaakvariantType automatisch detecterenGedecteerde aandrijvingenOntwikkeld voordeelGestoptDisplay MasterDjiboutiWist je dat een paard beter staat op het midden van het bord?Wist je dat het hebben van twee samenwerkende lopers die over verschillende kleuren velden bewegen erg krachtig is?Wist je dat het mogelijk is om een spel af te ronden in slechts 2 beurten?Wist je dat het verplaatsen van de dame aan het begin van een spel geen merkbaar voordeel biedt?Wist je dat de koning soms over twee velden kan worden verplaatst in één zet? Dit heet 'rokeren'. Wist je dat het aantal mogelijke schaakvarianten hoger ligt dan het aantal atomen in het universum?Wist je dat de torens meestal pas laat in de partij in het spel betrokken worden?Wist je dat je kunt helpen PyChess te vertalen? Ga naarHulp > PyChess vertalen.Weet je zeker dat je de standaardwaarden van de aandrijving wilt herstellen?Wil je dit afbreken?DominicaDominicaanse RepubliekGeen voorkeurNiet weergeven bij opstartenDownloadlinkRemiseRemise:Remise-achtigVanwege misbruik zijn gastverbindingen niet toegestaan. Je kunt je nog steeds registreren op http://www.freechess.orgTestaccountECOEcuadorVerzoek bewerkenVerzoek bewerken:Opmerking bewerkenGeselecteerd filter bewerkenEffect op rangen door de mogelijke uitkomstenEgypteEl SalvadorEloE-mailadresEn-passant lijn is illegaal. %sEn passant slaanEindspel-tabelEindspellenAandrijvingsspeelsterkte (1=zwakste, 20=sterkste)Aandrijvingsscores zijn in pioneenheden, vanuit het gezichtsveld van Wit. Door te dubbelklikken op de analyseregels kun je ze invoegen op het Aantekeningpaneel als variaties.AandrijvingenAandrijvingen maken gebruik van het communicatieprotocol uci of xboard om te communiceren met de app. Als je beschikt over beide, dan kun je hier je voorkeur aangeven.Spel invoerenOmgevingEquatoriaal-GuineaEritreaFout bij verwerken van %(mstr)sFoutmelding bij verwerken van zet %(moveno)s %(mstr)sGeschatte duur: %(min)d - %(max)d minutenEstlandEthiopiëEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEvenementEvenement:OnderzoekenUitgesteld spel onderzoekenOnderzocht Aan het onderzoekenUitstekende zetUitvoerbare bestandenDe verwachte opmaak is "jjjj.mm.dd" met de toegestane joker "?"Positie exporterenExternFMFEN heeft 6 gegevensvelden nodig. %sFEN heeft minimaal 2 gegevensvelden nodig in fenstr. %sFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS-verliezers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS-zelfmoord: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Willekeurig gekozen stukken (twee koninginnen of drie torens) * Precies één koning per kleur * De stukken worden willekeurig geplaatst achter de pionnen * Geen rokades * De opstelling van zwart is gelijk aan die van witFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Willekeurig gekozen stukken (twee koninginnen of drie torens) * Precies één koning per kleur * De stukken worden willekeurig geplaatst achter de pionnen, MAAR DE LOPERS ZIJN GELIJKWAARDIG VERDEELD * Geen rokades * De opstelling van zwart is NIET gelijk aan die van witFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Pionnen starten op de zevende rij i.p.v. de tweede rij!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Pionnen starten op de vierde en vijfde rijen i.p.v. de tweede en zevendeFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html Witte pionnen starten op de vijfde rij en zwarte pionnen op de vierdeFIDE ArbeiterFIDE MasterFMG_ehele bord voorzien van effectenOog-in-oog-weergaveFalklandeilanden [Malvinas]FaeröerFijiBestand bestaat alBestandsnaamFilterenSpellijst filteren op huidige spelzettenSpellijst filteren op startzettenSpellijst filteren d.m.v. verschillende criteriaFilterHet filterpaneel kan de spellijst filteren d.m.v. verschillende criteriaPositie opzoeken in huidige databankVinger FinlandEerste spellenFischer RandomVolgenLettertype:De statistieken geven voor elke speler de winkans aan en de variatie van je ELO als je verliest / gelijkspel hebt / wint of de definitieve ELO-rangwijzigingGeforceerde zetFrame:FrankrijkVrije opmerking over de aandrijvingFrans-GuyanaFrans-PolynesiëFranse Zuidelijke en Antarctische GebiedenVriendenVanaf _aangepaste positieVanaf stan_daard startpositieVanaf _spelnotatieGMGabonVoordeel:GambiaSpelSpellijstBezig met spelanalyse...Spel afgebrokenSpelinformatieAls het spel eindigt in _remise:Als het spel _verloren is:Als een spel _opgesteld is:Als het spel _gewonnen is:Spel gedeeld opSpellen Lopende spellen: %dGaviota TB-pad:Over het algemeen betekent dit niets omdat het spel tijdgebonden is, maar om je tegenspeler te plezieren moet je wellicht een zet doen.GeorgiëDuitslandGhanaGibraltarGiveawayGa terug naar de hoofdlijnGa terug naar het hoofdonderdeelDoorgaanGoede zetGrand Master GriekenlandGroenlandGrenadaRasterGuadeloupeGuamGuatemalaGuernseyGastgebruikerGastgebruiker-logins zijn uitgeschakeld door de FICS-serverGastenInteractieve lessen met begeleiding in de stijl van "raad de zet"GuineaGuinee-BissauGuyanaHHTML-verwerkingHaïtiHalvezet-klokVerzoeken en uitdagingen behandelenVerzoeken grafisch behandelenKopHeard en McDonaldeilandenVerborgen pionnenVerborgen stukkenVerbergenTipTipsHeilige StoelHondurasHongkongHordeGastheer:SpelinstructiesHTML-diagramMensHongarijeICC giveaway: https://www.chessclub.com/user/help/GiveawayICC-vertragingscompensatie vereist timestampICSIMIJslandIdIdentificatieInactiefAls je dit instelt, dan kun je spelers weigeren die je verzoek accepterenAls dit wordt ingesteld, dan worden FICS-spelnummers na een zet getoond op de tabbladlabels, naast de spelersnamen.Als dit wordt ingsteld, dan duidt PyChess tijdens het spel alternatieve zetten in rood aan.Als dit wordt ingsteld, dan toont PyChess na een zet de spelresultaten van verschillende zetten met 6 of minder stukken. Er wordt gezocht naar posities op http://www.k4it.de/Als dit wordt ingsteld, dan toont PyChess na een zet de spelresultaten van verschillende zetten met 6 of minder stukken. Je kunt basistabellen downloaden op: http://www.olympuschess.com/egtb/gaviota/Als dit wordt ingsteld, dan zal PyChess de beste openingszetten weergeven op het tippaneel.Als dit wordt ingsteld, dan gebruikt Pychess cijfers om verplaatste stukken aan te duiden in plaats van hoofdletters.Als dit wordt ingesteld, dan worden alle spellen beëindigd na het klikken op de sluiten-knop in het hoofdvenster.Als dit wordt ingesteld, dan wordt een pion automatisch gepromoveerd tot koningin zonder tussenkomst van een dialoogvenster.Als dit wordt ingesteld, dan spelen zwarte stukken van boven naar onder tegen vrienden op mobiele apparaten.Als dit wordt ingesteld, dan wordt het bord automatisch gedraaid na elke zet zodat elke speler een natuurlijke weergave heeft.Als dit wordt ingsteld, dan worden, tijdens het spel, de geslagen stukken naast het veld getoond.Als dit wordt ingsteld, dan wordt, na een zet, de door de speler gebruikte verstreken tijd getoond.Als dit wordt ingesteld, dan toont de Hint-analyse na een zet de evaluatie van het spel.Als dit wordt ingesteld, dan toont het speelbord labels en rangschikkingen van elk schaakveld. Deze zijn bruikbaar in schaaknotaties.Als dit wordt ingesteld, dan worden de tabbladen aan de bovenkant van het speelvenster verborgen als ze niet nodig zijn.Als de analysator een zet vindt waar het evaluatieverschil (het verschil tussen de evaluatie van de zet die hij vindt dat het beste en de evaluatie van de gedane zet) deze waarde overschrijdt, dan wordt er een aantekening gemaakt voor die zet (die bestaat uit de Principevariatie voor de zet) op het Aantekeningpaneel.Als je niets opslaat, dan gaan de wijzigingen aan je spellen definitief verloren.Kleuren negerenIllegaalAfbeeldingenOnevenwichtigheidImporterenPGN-bestand importerenSpellen met aantekening impoteren van endgame.nlSchaakbestand importerenSpellen importeren van theweekinchess.comBezig met importeren van spelkoppen...Op toernooiIn dit spel is schaak zetten volledig verboden. Niet alleen mag de koning niet schaak worden gezet, ook de koning van de tegenstander mag niet schaak worden gezet. Het doel van dit spel is om de eerste speler te worden die zijn koning naar de achtste rij verplaatst. Als wit zijn koning naar de achtste rij verplaatst en zwart direct daarna zijn koning naar de achterste rij, dan eindigt het spel in remise (deze regel is er om te compenseren voor de voorsprong die wit kan hebben als hij als eerst een zet mag doen). M.u.v. bovenstaande mogen stukken gezet en geslagen worden zoals gebruikelijk.In deze positie is er geen legale zet._PGN-bestand voorzien van tabsIndiaIndonesiëOneindige analyseInformatieUitgangspositieInitiële instelwizardInitiatiefInteressante zetInternational Master Ongeldige zet.Iran (Islamitische Republiek van)IrakIerlandManIsraëlAls je het spel niet opslaat, dan is het niet mogelijk om het spel op een later moment te hervatten.ItaliëJamaicaJapanJerseyJordaniëGa naar de startpositieGa naar de laatste positieKKazachstanKeniaKoningKing of the hillKiribatiPaardPaard-handicapPaardenNoord-Korea (Democratische Volksrepubliek)Zuid-Korea (Republiek)KoeweitKirgiziëVertraging:Laos (Democratische Volksrepubliek)LetlandLerenVolledig scherm _verlatenLibanonLezingenDuurLesothoLessenNiveau 1 is het zwakst en niveau 20 het sterkst. Je mag geen te hoog niveau opgeven als de aandrijving gebaseerd is op de verkendiepte.LiberiaLibiëLichess-oefenstudies, puzzels van GM-spellen en schaakcompositiesLiechtensteinLichte vlakken :SupersnelSupersnel:Lijst met lopende spellenSpelerslijstLijst met serverkanalenLijst met servernieuwsLitouwenExter_n spel laden_Recent spel ladenLaad een extern spelBezig met laden van spelergegevensLokaal evenementLokale plaatsUitloggenInlogfoutInloggen als _gastgebruikerBezig met inloggen op serverVerliezersVerlorenVerloren:LuxemburgMacauMacedonië (voormalige Joegoslavische Republiek)MadagaskarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMalawiMaleisiëMaladivenMaliMaltaTournooibeheerderAandrijvingen beherenHandmatigHandmatig aanvaardTegenstander handmatig accepterenMarshalleilandenMartiniqueSchaakmatSchaakmat op %dStukken/zetMauritaniëMauritiusMaximum analysetijd in seconden:MayotteMexicoMicronesiëMinuten:Minuten: Matig voordeelMoldavië (Republiek)MonacoMongoliëMontenegroMontserratMeer kanalenMeer spelersMarokkoZetZetgeschiedenisZetnummerGezetZetten:MozambiqueMyanmarNNMNaamNamen: #n1, #n2NamibiëNational MasterNauruBenodigdMoet 7 schuine strepen op de plaats van de stukken hebben. %sNepaNederlandNooit effecten gebruiken. Gebruik dit op langzame apparaten.NieuwNieuw-CaledoniëNieuw spelNieuwe RD:Nieuw-ZeelandNieuwe _databankNieuw spel van 1 minuut-spelgroepNieuw spel van 15 minuten-spelgroepNieuw spel van 25 minuten-spelgroepNieuw spel van 3 minuten-spelgroepNieuw spel van 5 minuten-spelgroepNieuw spel van Schaak 960-spelgroepNieuwsVolgendeVolgende spellenNicaraguaNigerNigeriaNiueGeen _effectenEr doen geen schaakaandrijvingen (computerspelers) mee met dit spel.Geen gesprek geselecteerdEr is geen databank geopend.Zonder geluidGeen tijdbeheerNorfolkGebruikelijkGebruikelijk: 40 min + 15 sec/zetNoordelijke MarianenNoorwegenNiet beschikbaarGeen slagzet (stil)Niet de beste zet!Observeren%s observerenGeobserveerde _eindes:WaarnemersNoteringA_fbreken aanbiedenAfbreken aanbiedenU_itstel aanbiedenPauze aanbiedenOpnieuw uitdagen aanbiedenHervatten aanbiedenOngedaan maken aanbieden_Afbreken aanbieden_Remise voorstellen_Pauze aanbiedenHe_rvatten aanbieden_Ongedaan maken aanbiedenOfficieel PyChess-paneelOfflineOmanOp FICS bestaat je "Wild"-rang uit de volgende varianten op alle tijdcontroles: Eén speler start met één paard minderEén speler begint met één pion minderEén speler start zonder koninginEén speler start zonder torenOnlineAlleen zetten v_oorzien van effectAlleen effect tonen bij het verplaatsen van stukken.Alleen geregistreerde gebruikers kunnen met elkaar praten op dit kanaalOpenenOpen spelGeluidsbestand openenSchaakbestand openenOpeningenboekBezig met openen van boekenBezig met openen van schaakbestand...BeginHet beginpaneel kan de spellijst filteren op startzettenBeoordeling van de tegenstanderSterkte van tegenstander: OptieOptiesAndere Andere (niet-standaardregels) Andere (standaardregels)PPakistanPalauPalestinaPanamaPapoea-Nieuw-GuineaParaguayParameters:FEN plakkenPlak hier de downloadlink:PatroonPauzerenPionPion-handicapPionnen geslagenPionnen onder drukPeruFilipijnenKies een datumPingenPitcairnPlaatsingSpelenFischer willekeurig schaken spelenVerliezersschaken spelenSpel opnieuw spelen_Internetschaken spelenSpelen volgens gebruikelijke schaakregelsSpelerslijstSpelers_ranglijstSpelers:Spelers: %dAan het spelenPNG-afbeeldingPoo_rten:PolePolyglot-boekbestand:PortugalEindspellen beoefenen met computerPre-chess: https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position_VoorvertoningCijfers in_notatie prefererenVoorkeurenVoorkeursniveau:Bezig met voorbereiden van import...VoorbeeldHet voorbeeldpaneel kan de spellijst filteren op huidige spelzettenVorige spellenPrivéwaarschijnlijk omdat het werd ingetrokken.VoortgangPromotieProtocol:Puerto RicoPuzzelsPyChess - verbinden met internetschakenPyChess-informatievensterPyChess heeft geen verbinding meer met de aandrijving; deze is waarschijnlijk gestopt.. Je kunt proberen om een nieuw spel te starten met deze aandrijving of te kiezen voor een andere aandrijving.PyChess is een open-source schaakprogramma dat verbeterd kan worden door iedere schaakenthousiasteling: bugmeldingen, broncode, documentatie, vertalingen, ideeën delen, gebruikersondersteuning... Ga naar http://www.pychess.orgPyChess ondersteunt een breed scala aan schaakcomputers, varianten, internetservers en lessen. Het is dé perfecte app om met gemak je schaakvaardigheden te verhogen.PyChess.py:QQatarKoninginKoningin-handicapStoppen met lerenPyChess afsluitenROpg_evenRacing KingsWillekeurigSnelErg snel: 15 min + 10 sec/zetMet ranglijstRangspelRanglijstRangwijziging:Bezig met lezen van %s ...Bezig met ophalen van spelerslijstBezig met opnieuw creëren van indexen...VerversenGeregistreerdVerwijderenGeselecteerd filter verwijderenVerzoek tot verder spelenOpnieuw versturen%s opnieuw versturen?Standaardwaarden herstellenMijn voortgang terugzetten op nulStandaardwaarden herstellenResultaatResultaat:HervattenOpnieuw proberenRoemeniëTorenToren-handicapBord draaienRondeRonde:Simultaan spel spelenProces-env-opdracht:Proces-env-parameters:Proces-omgeving van de aandrijvingsopdracht (wine of node)RuslandRwandaRéunionSRReg_istrerenSaint-BarthélemySint-Helena, Ascension en Tristan da CunhaSaint Kitts en NevisSaint LuciaSint-Maarten (Franse Antillen)Saint-Pierre en MiquelonSaint Vincent en de GrenadinesSamoaSan MarinoSancties Sao Tomé en PrincipeSaoedi-ArabiëOpslaanSpel opslaanSpel opslaan _alsAlleen _eigen spellen opslaan_Rankwijzigingswaarden opslaanAnalayse-_evaluatiewaarden opslaanPijlen/cirkels opslaanOpslaan alsDatabase opslaan alsVerstreken zet_tijden opslaanBestanden opslaan naar:Wil je je zetten opslaan alvorens af te sluiten?Wil je het huidige spel opslaan voordat je het afsluit?Opslaan naar PGN-bestand als...ScoreScoutZoeken:VerzoekgrafiekUitdagings_grafiekVerzoek bijgewerktVerzoeken / UitdagingenSelecteer Gaviota TB-padSelecteer een pgn-, epd- of fen-schaakbestandKies automatisch opslaan-padSelecteer achtergrondafbeeldingSelecteer boekbestandAandrijving selecterenKies geluidsbestand...Kies de spellen die je wilt opslaan:Kies de werkmapUitdaging versturenAlle verzoeken versturenVerzoek versturenSenegalSeqSequentieServiëServer:Dienst-vertegenwoordigerBezig met opstellen van de omgevingPositie instellenSeychellen_Spel delenAkkoorden _weergevenWeinig _tijd:Moet %s je spel openbaarmaken als PGN op chesspastebin.com ?RoepFICS-spelnummers tonen op tabbladlabels_Geslagen stukken tonenVerstreken zettijden weergevenEvaluatiewaarden tonenTips weergeven bij opstartenShredderLinuxChess:SchuddenZijde aan zetZij_panelenSierra LeoneEenvoudige schaakpositieSingaporeSint-MaartenPlaatsLocatie:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinLicht voordeelSlowakijeSloveniëSalomonseilandenSomaliëSommige PyChess-functies vereisen jouw machtiging om externe applicaties te downloadenSorry, '%s' is al ingelogdGeluidsbestandenBronZuid-AfrikaZuid-Georgia en de Zuidelijke SandwicheilandenZuid-SoedanSp_ioneren-pijlSpanjeDoorgebrachtSri LankaStandaardStandaard:Privéchat startenStatusEén zet teruggaanEén zet voorwaarts doenStrStrooFICS-lezing offline bestuderenSub-FEN:SoedanZelfmoordSurinameVerdachte zetSpitsbergen en Jan MayenSwazilandZwedenZwitserlandSymbolenSyrië (Arabische Republiek)TTDTMLabelTaiwan (Provincie van China)TadzjikistanPratenTanzania (Verenigde Republiek)Team-account TekstdiagramTextuur:ThailandHet beëindingsaanbodHet uitstelaanbodDe analyse wordt uitgevoerd op de achtergrond en analyseert het spel. Dit is noodzakelijk voor de werking van de tipmodus.De linkknop is uitgeschakeld omdat je ingelogd bent als gastgebruiker. Gastgebruikers kunnen geen rangen opbouwen en de linkknop heeft geen effect zolang er geen rang is t.o.v. de "sterkte van de tegenstander"Het chatpaneel stelt je tijdens het spel in staat om te communiceren met je tegenstander, als hij of zij daarin geïnteresseerd is.De tijdklok is nog niet gestart.Het opmerkingenpaneel probeert om de gespeelde zetten te analyseren en uit te leggen.De verbinding is verbroken; foutmelding “einde van het bestand” Het huidige spel is niet afgebroken. Exporteren is mogelijk van weinig waarde.Het huidige spel is voorbij. Verifieer eerst de eigenschappen van het spel.De map van waaruit de aandrijving wordt gestart.De weergegeven naam van de eerste menselijke speler, bijv. Jan.De weergegeven naam van de gastspeler, bijv. Marie.Het remise-aanbodDe eindspeltabel toont je de exacte analyse als er weinig stukken op het bord staan.De spelcomputer %s geeft een foutmelding:De aandrijving is al geïnstalleerd onder dezelfde naamHet aandrijvings-uitvoerpaneel toont de denkwijze van schaakaandrijvingen (computerspelers) tijdens een spel.Het ingevoerde wachtwoord is ongeldig. Als je je wachtwoord vergeten bent, ga dan naar http://www.freechess.org/password om per e-mail een nieuw wachtwoord aan te vragen.De foutmelding is: %sHet bestand bestaat al in '%s'. Als je het vervangt, dan wordt de inhoud overschreven.De vlagoproepHet spel kan niet worden geladen vanwege een fout bij het verwerken van de FENHet spel kan niet volledig worden ingelezen, omwille van een foutieve zet %(moveno)s ‘%(notation)s’.Het spel is geëindigd in remiseHet spel is afgebrokenHet spel is uitgesteldHet spel is gestoptHet tippaneel toont door de computer gegeneerd advies tijdens de voortgang van het spelDe omgekeerde analyseerder analyseert het spel op basis van de tegenstander. Dit is noodzakelijk voor de werking van de spionmodus.De zet is mislukt vanwege %s.De zetgeschiedenis houdt de zetten van de speler bij en stelt je in staat te navigeren door de spelgeschiedenis.Het aanbod om van speelveld te wisselenHet openingenboek probeert je te inspireren tijdens de beginfase van het spel door je gebruikelijke zetten te tonen, zoals gedaan door schaakheldenHet pauze-aanbodDe positie bevindt zich niet in de databank.De opgegeven link leidt niet naar bruikbare schaakinhoud.De reden is onbekendDe uitgebrachte versies van PyChess dragen namen van historische schaakwereldkampioenen. Weet je wat de naam is van de huidige schaakwereldkampioen?De terugtrekkingHet hervatten-aanbodHet scorepaneel probeert de posities te evalueren en je een grafiek te tonen van de spelvoortgang.Het aanbod tot terugnameThebanThema'sEr is %d spel met niet-opgeslagen zetten.Er zijn %d spellen met niet-opgeslagen zetten.Er is iets mis met dit uitvoerbare bestandDit spel kan automatisch worden beëindigd zonder rangwijziging omdat er nog geen twee zetten geplaatst zijn.Dit spel kan niet worden uitgesteld omdat één of beide spelers als gastspelers zijn ingelogd.Dit is de voortzetting van een uitgesteld spelDeze optie is niet van toepassing omdat je een speler hebt uitgedaagdDeze optie is niet beschikbaar omdat je een gastgebruiker hebt uitgedaagdAanvalsanalyse door %sDriemaal schaakTijdTijdbeheerTijdscontrole: TijdsdrukOost-TimorTip van de dagTip van de dagTitelGenaamdTogoTokelauTolerantie:TongaToernooidirecteurPyChess vertalenTrinidad en TobagoProbeer chmod a+x %sTunesiëTurkijeTurkmenistanTurks- en CaicoseilandenTuvaluTypeTyp of plak hier je PGN-spel of FEN-positiesJijOegandaOekraïne%s kan niet worden geaccepteerdHet ingestelde bestand kan niet worden opgeslagen. Wil je de spellen opslaan alvorens af te sluiten?Het ingestelde bestand kan niet worden opgeslagen. Wil je het huidige spel opslaan alvorens af te sluiten?Onduidelijke positieOnomschreven paneelOngedaan makenEén zet ongedaan makenTwee zetten ongedaan makenVerwijderenVerenigde Arabische EmiratenVerenigd Koninkrijk van Groot-Brittannië en Noord-IerlandKleine afgelegen eilanden van de Verenigde StatenVerenigde Staten van AmerikaOnbekendOnbekende spelstatusOnofficieel kanaal %dZonder ranglijstNiet-geregistreerdOnaangevinkt: de exponentiële waarde toont het volledige scorebereik en vergroot de waarde rond het nulpunt (gemiddelde). Aangevinkt: de lineaire schaal focust op een gelimiteerd bereik rond het nulpunt (gemiddelde). Het markeert kleine fouten en blunders beter.Zonder tijdslimietOnderstebovenUruguay_Analyse gebruiken_Omgekeerde analyse gebruiken_Lokale basistabellen gebruiken_Online basistabellen gebruikenLineaire schaal gebruiken voor scoreAnalysator gebruiken:Naamopmaak gebruiken:Openings_boek gebruikenTijdcompensatie gebruikenWordt gebruikt door aandrijvingsspelers en de polyglot-boekcreatieOezbekistanWaardeVanuatuVariantVariant ontwikkeld door Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Variatie-aantekening creatiedrempel in centipawns:Verschillende techniekenVenezuela (Bolivariaanse Republiek)Zeer slechte zetVietnamLezingen tonen, puzzels oplossen of eindspellen beoefenenBritse MaagdeneilandenAmerikaanse MaagdeneilandenW EloWFMWGMWIMWachtenWallis en FutunaWaarschuwing: deze optie genereert een opgemaakt .pgn-bestand; dit is niet conform de standaard.'%(uri)s' kan niet worden opgeslagen. PyChess kent het bestandsformaat '%(ending)s' niet.WelkomGoed gedaan!Goed gedaan! %s is afgerond.Westelijke SaharaAls deze knop op "vergrendeld" staat, dan blijft de relatie tussen "Sterkte van tegenstander" en "Jouw sterkte" behouden als a) je rang voor het gezochte speltype wijzigt b) je de variant van de tijdscontrole wijzigtWitWitte ELO:Wit O-OWit O-O-OWit heeft een nieuw stuk op de buitenpost: %sWit heeft een nogal verkrampte positieWit heeft een enigzins verkrampte positieWitte zetWit zou een pionnenstorm over links moeten doenWit zou een pionnenstorm over rechts moeten doenWitte speelveld - klik om spelers om te ruilenWit:Wild WildcastleWildcastle-willekeurigGewonnenWin door driemaal schaak te zettenGewonnen:Gewonnen %Met aanvalVrouwelijke FIDE MasterVrouwelijke Grand MasterVrouwelijke International MasterWerkmap:Jaar, maand, dag: #j, #m, #dJemenJe bent momenteel ingelogd als gastgebruiker. Er is een gratis proefperiode van 30 dagen beschikbaar. Er worden geen betalingen verricht en het account blijft actief; er kan dus gewoon worden gespeeld. Maar er zijn beperkingen: geen premium-video's, kanaalbeperkingen, enz. Ga, om een account te registeren, naarU bent momenteel ingelogd als gastgebruiker. Gastgebruikers kunnen geen rangspellen spelen. De meeste spellen kunnen dus niet worden gespeeld. Ga, om een account te registreren, naarJe hebt je tegenstander gevraagd om een zet te doenJe kunt spelen tegen de computer op 20 verschillende spelniveaus. Dit verandert alleen de beschikbare denktijd.Je kunt een nieuw spel starten viaSpel > Nieuw Spel. In het Nieuw Spel-venster kun je Spelers, Tijdscontrole en Schaakvarianten kiezen.Je kunt geen rangspellen spelen omdat "Zonder klok' is aangevinkt,Je kunt geen rangspellen spelen omdat je bent ingelogd als gastgebruikerJe kunt geen variant kiezen omdat “Zonder klok’ is aangevinkt,Tijdens het spel kun je niet van kleur wisselen.Je kunt dit niet aanklikken omdat je een spel onderzoekt!Je beschikt niet over de benodigde machtigingen om het bestand op te slaan.   Zorg ervoor dat je het juiste pad hebt opgegeven en probeer het opnieuw.Je bent uitgelogd omdat je langer dan 60 minuten inactief wasJe hebt nog geen gesprekken gestartJe moet kibitz instellen om hier bot-berichten te kunnen lezen.Je hebt geprobeerd teveel zetten ongedaan te maken.Je hebt onopgeslagen wijzigingen. Wil je deze opslaan alvorens te verlaten?Je mag slechts 3 verzoeken tegelijkertijd hebben. Als je een nieuw verzoek wilt toevoegen, dan moet je de huidige verzoeken verwijderen. Wil je je verzoeken wissen?Je hebt een remisevoorstel verstuurdJe hebt een pauzeervoorstel verstuurdJe hebt een voorstel tot hervatten verstuurdJe hebt een voorstel tot afbreken verstuurdJe hebt een voorstel tot uitstellen verstuurdJe hebt een voorstel tot ongedaan maken verstuurdJe hebt een vlagoproep verstuurdJe verliest al je voortgangsgegevens!Je tegenstander vraagt je om op te schieten!Je tegenstander heeft gevraagd om beëindiging van het spel. Als je dit aanvaardt, dan eindigt het spel zonder rangwijziging.Je tegenstander heeft gevraagd om het spel uit te stellen. Als je dit aanvaardt, dan wordt het spel uitgesteld en kun je het op een later moment hervatten (als je tegenspeler online is en beide spelers beslissen om verder te spelen).Je tegenstander vraagt om het spel te pauzeren. Als je dit aanvaardt, dan wordt de wedstrijdklok onderbroken totdat beide spelers tot hervatten bereid zijn.Je tegenspeler vraagt om het spel te hervatten. Als je dit aanvaardt, dan loopt de wedstrijdklok verder vanwaar ze werd onderbroken.Je tegenstander heeft gevraagd om de laatste %s zet(ten) ongedaan te maken. Als je dit aanvaardt, dan wordt het spel hervat vanuit een eerdere positie.Je tegenspeler bied een gelijkspel aan.Je tegenstander bied een gelijkspel aan. Als je dit aanvaardt, dan eindigt het spel met een score van 1/2 – 1/2.Je tegenstander bevindt zich nog binnen de tijd.Je tegenstander moet akkoord gaan met afbreken omdat er twee of meer zetten geplaatst zijn.Je tegenstander is van gedachten veranderd.Je tegenstander wenst het spel te beëindigen.Je tegenstander wenst het spel uit te stellen.Je tegenstander wenst het spel te pauzeren.Je tegenstander wil het spel hervatten.Je tegenstander wil %s zet(ten) ongedaan maken.Je paneelinstellingen zijn hersteld. Als dit probleem zich herhaalt, meld dit dan aan de ontwikkelaars.Je verzoeken zijn verwijderdJouw sterkte: Jouw beurt.ZambiaZimbabwePlek_Accepteren_ActiesSpel _analyserenGearchiveerdVoltooide spellen _automatisch opslaan naar .pgn-bestandVlag _opeisenVerzoeken _verwijderenFEN kopiërenPGN _kopiëren_Weigeren_BewerkenAandrijving_en_Exportpositie_Volledig scherm_Spel_Spellenlijst_Algemeen_Hulp_Tabbladen verbergen als er maar één spel gespeeld wordt_Tip-pijl_Tips_Ongeldige zet:_Spel laden_Logboek_Mijn spellen_Naam:_Nieuw spelVolge_nde_Geobserveerde zetten:_Tegenstander:_Wachtwoord:Gebruikelijk schaken _spelenS_pelerslijst_Vorige_Puzzelsucces:_Recent:_VervangenBo_rd draaien%d document op_slaan%d documenten op_slaan%d documenten op_slaanSpel _opslaan_Verzoeken / UitdagingenZijpanelen _weergeven_Geluiden_Spel starten_Zonder tijdslimiet[x]-knop in hoofdvenster gebr_uiken om spellen te beëindigen_Geluiden afspelen_Variatiekeuzes:Beel_d_Jouw kleurenen gastspelers kunnen geen rangspellen spelen.en op FICS kunnen spellen zonder klok niet gewaardeerd wordenen op FICS hebben spellen zonder tijdklok de gebruikelijke schaakregels.vraag je tegenstander om een zet te doenzwartbrengt een %(piece)s dichter bij de vijandelijke koning: %(cord)sbrengt een pion dichter bij de achterste rij: %sroep de vlag van je tegenstanderslaat stukkenrokeertdatabase-openen vereist chess_dbdatabank-opvraging vereist scoutfishverdedigt %sontwikkelt een %(piece)s: %(cord)sontwikkelt een pion: %sgeeft remisewisselt stukken uitgnuchess:halfopenhttp://brainking.com/en/GameRules?tp=2 * De plaatsing van de stukken op de voorste en achtste rij is willekeurig * De koning bevindt zich rechtsonder * Lopers moeten starten op vlakken met verschillende kleuren * De startpositie van zwart wordt verkregen door de positie van wit 180 graden te draaien om het midden van het bord * Geen rokadeshttp://nl.wikipedia.org/wiki/Schakenhttps://nl.wikipedia.org/wiki/Schaak_960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttps://nl.wikipedia.org/wiki/Schaken#Spelregelsvergroot de veiligheid van de koningin het bestand %(x)s%(y)sin de bestanden %(x)s%(y)svergroot de druk op %songeldig gepromoveerd stuklessenlichessgeeft schaakmatminminutenzetverplaatst een toren naar een open lijnverplaatst een toren naar een halfopen lijnplaatst de loper in fianchetto: %sspeelt nietvanremise aanbiedenpauzeren aanbiedenterugname voorstellenafbreken aanbiedenuitstellen aanbiedenhervatten aanbiedenvoorstellen om van veld te wisselentotaal aantal onlineoverigenhet slaan van een pion zonder doelstuk is ongeldigzet een vijandige %(oppiece)s vast op de %(piece)s op %(cord)smaakt een %(piece)s actiever: %(cord)spromoveert een pion tot een %szet de tegenstander schaakrangbereik nured een %sterugtrekkenronde %soffert stukken opsecsecondenvergroot de veiligheid van de koning enigzinsverovert stukken terugde geslagen lijn is (%s) onjuistde eindlijn (%s) is onjuistde zet vereist een stuk en een lijndreigt stukken te winnen door %sAutomatisch aanvaardenHandmatig aanvaardenucitegenwitvenster1wtharveyxboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * De stukken worden willekeurig geplaatst achter de pionnen * Geen rokades * De opstelling van zwart is gelijk aan die van witxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * Wit heeft aan het begin de gebruikelijke opstelling. * De opstelling van zwart is gelijk, behalve dat de koning en koningin van plaats wisselen, zodat ze niet op dezelfde vlakken staan als die van wit. * Rokades zijn hetzelfde als bij gebruikelijk schaken: o-o-o is de lange rokade en o-o is de korte.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * In deze variant hebben beide speelvelden dezelfde stukken als gebruikelijk. * De witte koning begint op d1 of e1 en de zwarte koning begint op d8 of e8; de torens bevinden zich op hun gebruikelijke posities. * De lopers bevinden zich altijd op tegengestelde kleuren. * De positie van de stukken op de voorste rijen is willekeurig. * De rokade is hetzelfde als gebruikelijk: o-o-o is de lange rokade en o-o is de korte.yacpdbÅland-eilandenpychess-1.0.0/lang/nl/LC_MESSAGES/pychess.po0000644000175000017500000055657613467735174017444 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # Bernard Decock , 2017 # Heimen Stoffels , 2018-2019 # jezusisstoer , 2014 # Pieter Aerts , 2016-2017 # Poly BOT , 2018 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-18 10:45+0000\n" "Last-Translator: Heimen Stoffels \n" "Language-Team: Dutch (http://www.transifex.com/gbtami/pychess/language/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Spel" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Nieuw spel" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "Vanaf stan_daard startpositie" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "Vanaf _aangepaste positie" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "Vanaf _spelnotatie" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "_Internetschaken spelen" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Spel laden" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "_Recent spel laden" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "Exter_n spel laden" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "Spel _opslaan" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Spel opslaan _als" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "_Exportpositie" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "_Spel delen" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Spelers_ranglijst" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "Spel _analyseren" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Bewerken" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "PGN _kopiëren" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "FEN kopiëren" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "Aandrijving_en" #: glade/PyChess.glade:518 msgid "Externals" msgstr "Extern" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Acties" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "_Afbreken aanbieden" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "U_itstel aanbieden" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "_Remise voorstellen" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "_Pauze aanbieden" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "He_rvatten aanbieden" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "_Ongedaan maken aanbieden" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "Vlag _opeisen" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "Opg_even" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Vraag o_m te verzetten" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "Vlag automatisch _opeisen" #: glade/PyChess.glade:673 msgid "_View" msgstr "Beel_d" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "Bo_rd draaien" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Volledig scherm" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Volledig scherm _verlaten" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "Zijpanelen _weergeven" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_Logboek" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "_Tip-pijl" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "Sp_ioneren-pijl" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "Database" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "Nieuwe _databank" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "Database opslaan als" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "Polyglot-openingsboek creëren" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "Schaakbestand importeren" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "Spellen met aantekening impoteren van endgame.nl" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "Spellen importeren van theweekinchess.com" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Hulp" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Over Schaken" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Spelinstructies" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "PyChess vertalen" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Tip van de dag" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Schaakcomputer" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Voorkeuren" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "De weergegeven naam van de eerste menselijke speler, bijv. Jan." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Naam van de _eerste menselijke speler:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "De weergegeven naam van de gastspeler, bijv. Marie." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Naam van de tw_eede menselijke speler:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Tabbladen verbergen als er maar één spel gespeeld wordt" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Als dit wordt ingesteld, dan worden de tabbladen aan de bovenkant van het speelvenster verborgen als ze niet nodig zijn." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "[x]-knop in hoofdvenster gebr_uiken om spellen te beëindigen" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "Als dit wordt ingesteld, dan worden alle spellen beëindigd na het klikken op de sluiten-knop in het hoofdvenster." #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "Bord automatisch d_raaien naar huidige menselijke speler" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Als dit wordt ingesteld, dan wordt het bord automatisch gedraaid na elke zet zodat elke speler een natuurlijke weergave heeft." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "Automatisch promoveren naar koningin" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "Als dit wordt ingesteld, dan wordt een pion automatisch gepromoveerd tot koningin zonder tussenkomst van een dialoogvenster." #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "Oog-in-oog-weergave" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Als dit wordt ingesteld, dan spelen zwarte stukken van boven naar onder tegen vrienden op mobiele apparaten." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "Lineaire schaal gebruiken voor score" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "Onaangevinkt: de exponentiële waarde toont het volledige scorebereik en vergroot de waarde rond het nulpunt (gemiddelde).\n\nAangevinkt: de lineaire schaal focust op een gelimiteerd bereik rond het nulpunt (gemiddelde). Het markeert kleine fouten en blunders beter." #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "_Geslagen stukken tonen" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "Als dit wordt ingsteld, dan worden, tijdens het spel, de geslagen stukken naast het veld getoond." #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Cijfers in_notatie prefereren" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "Als dit wordt ingsteld, dan gebruikt Pychess cijfers om verplaatste stukken aan te duiden in plaats van hoofdletters." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "Geanalyseerde zetten voorzien van kleur" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "Als dit wordt ingsteld, dan duidt PyChess tijdens het spel alternatieve zetten in rood aan." #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "Verstreken zettijden weergeven" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "Als dit wordt ingsteld, dan wordt, na een zet, de door de speler gebruikte verstreken tijd getoond." #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "Evaluatiewaarden tonen" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "Als dit wordt ingesteld, dan toont de Hint-analyse na een zet de evaluatie van het spel." #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "FICS-spelnummers tonen op tabbladlabels" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "Als dit wordt ingesteld, dan worden FICS-spelnummers na een zet getoond op de tabbladlabels, naast de spelersnamen." #: glade/PyChess.glade:1402 msgid "General Options" msgstr "Algemene opties" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "G_ehele bord voorzien van effecten" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Alle stukken, de bordrotatie en nog veel meer worden voorzien van effecten. Gebruik deze optie op snelle apparaten." #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Alleen zetten v_oorzien van effect" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Alleen effect tonen bij het verplaatsen van stukken." #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Geen _effecten" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Nooit effecten gebruiken. Gebruik dit op langzame apparaten." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Effecten" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_Algemeen" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "Openings_boek gebruiken" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "Als dit wordt ingsteld, dan zal PyChess de beste openingszetten weergeven op het tippaneel." #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "Polyglot-boekbestand:" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "Max. diepte van boek:" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "Wordt gebruikt door aandrijvingsspelers en de polyglot-boekcreatie" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "_Lokale basistabellen gebruiken" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "Als dit wordt ingsteld, dan toont PyChess na een zet de spelresultaten van verschillende zetten met 6 of minder stukken.\nJe kunt basistabellen downloaden op:\nhttp://www.olympuschess.com/egtb/gaviota/" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "Gaviota TB-pad:" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "_Online basistabellen gebruiken" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "Als dit wordt ingsteld, dan toont PyChess na een zet de spelresultaten van verschillende zetten met 6 of minder stukken.\nEr wordt gezocht naar posities op http://www.k4it.de/" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "Opening, eindspel" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "_Analyse gebruiken" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "De analyse wordt uitgevoerd op de achtergrond en analyseert het spel. Dit is noodzakelijk voor de werking van de tipmodus." #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "_Omgekeerde analyse gebruiken" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "De omgekeerde analyseerder analyseert het spel op basis van de tegenstander. Dit is noodzakelijk voor de werking van de spionmodus." #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "Maximum analysetijd in seconden:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "Oneindige analyse" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analyseren" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_Tips" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Verwijderen" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "Ac_tief" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Geïnstalleerde zijpanelen" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "Zij_panelen" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "Achtergrondafbeeldingspad:" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "Welkomstscherm" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "Textuur:" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "Frame:" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Lichte vlakken :" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "Raster" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Donkere vlakken :" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "Standaardwaarden herstellen" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "Akkoorden _weergeven" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "Als dit wordt ingesteld, dan toont het speelbord labels en rangschikkingen van elk schaakveld. Deze zijn bruikbaar in schaaknotaties." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "Bordstijl" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "Lettertype:" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "Verplaatstekst" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "Schaaksets" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Thema's" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Geluiden afspelen" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "Als een speler _schaak staat:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Als een speler een _zet doet:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Als het spel eindigt in _remise:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Als het spel _verloren is:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Als het spel _gewonnen is:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Als een speler een stuk _slaat:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Als een spel _opgesteld is:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "_Geobserveerde zetten:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "Geobserveerde _eindes:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "Weinig _tijd:" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "_Ongeldige zet:" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "Alarm activeren als het aantal _resterende seconden staat op:" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "_Puzzelsucces:" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "_Variatiekeuzes:" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Geluid afspelen als..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Geluiden" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "Voltooide spellen _automatisch opslaan naar .pgn-bestand" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Bestanden opslaan naar:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "Naamopmaak gebruiken:" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "Namen: #n1, #n2" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "Jaar, maand, dag: #j, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "Verstreken zet_tijden opslaan" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "Analayse-_evaluatiewaarden opslaan" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "_Rankwijzigingswaarden opslaan" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "_PGN-bestand voorzien van tabs" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "Waarschuwing: deze optie genereert een opgemaakt .pgn-bestand; dit is niet conform de standaard." #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "Alleen _eigen spellen opslaan" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Opslaan" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Promotie" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Koningin" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Toren" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Loper" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Paard" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Koning" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Waar wil je de pion naar promoveren?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "Laad een extern spel" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "Plak hier de downloadlink:" #: glade/PyChess.glade:4467 msgid "Default" msgstr "Standaard" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "Paarden" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Spelinformatie" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Locatie:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "Rangwijziging:" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "De statistieken geven voor elke speler de winkans aan en de variatie van je ELO als je verliest / gelijkspel hebt / wint of de definitieve ELO-rangwijziging" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "Zwarte ELO:" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Zwart:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Ronde:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "Witte ELO:" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Wit:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "Datum:" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "Resultaat:" #: glade/PyChess.glade:4818 msgid "Game" msgstr "Spel" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "Spelers:" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Evenement:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "De verwachte opmaak is \"jjjj.mm.dd\" met de toegestane joker \"?\"" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "Identificatie" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "Extra labels" #: glade/PyChess.glade:5066 msgid "uci" msgstr "uci" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "xboard" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "Aandrijvingen beheren" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Opdracht:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protocol:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Parameters:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "De opdrachtregel-parameters die nodig zijn voor de aandrijving." #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "Aandrijvingen maken gebruik van het communicatieprotocol uci of xboard om te communiceren met de app.\nAls je beschikt over beide, dan kun je hier je voorkeur aangeven." #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "Werkmap:" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "De map van waaruit de aandrijving wordt gestart." #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "Proces-env-opdracht:" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "Proces-omgeving van de aandrijvingsopdracht (wine of node)" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "Proces-env-parameters:" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "De opdrachtregel-parameters die nodig zijn voor proces-omgeving" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "Land:" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "Herkomstland van de aandrijving" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "Opmerking:" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "Vrije opmerking over de aandrijving" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "Omgeving" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "Voorkeursniveau:" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "Niveau 1 is het zwakst en niveau 20 het sterkst. Je mag geen te hoog niveau opgeven als de aandrijving gebaseerd is op de verkendiepte." #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "Standaardwaarden herstellen" #: glade/PyChess.glade:5538 msgid "Options" msgstr "Opties" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "Toevoegen uit map" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "Gedecteerde aandrijvingen" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "Basispad:" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "Filteren" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Wit" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Zwart" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "Kleuren negeren" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "Evenement" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "ECO" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "Elo" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "0" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "-" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Datum" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "Plaats" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "Aantekenaar" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Resultaat" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "1-0" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "0-1" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "1/2-1/2" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "Variant" #: glade/PyChess.glade:6410 msgid "Header" msgstr "Kop" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "Onevenwichtigheid" #: glade/PyChess.glade:6789 msgid "White move" msgstr "Witte zet" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "Zwarte zet" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "Geen slagzet (stil)" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "Gezet" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "Geslagen" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "Zijde aan zet" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "Stukken/zet" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "Sub-FEN:" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "Patroon" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "Scout" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Spel analyseren" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "Analysator gebruiken:" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "Als de analysator een zet vindt waar het evaluatieverschil (het verschil tussen de evaluatie van de zet die hij vindt dat het beste en de evaluatie van de gedane zet) deze waarde overschrijdt, dan wordt er een aantekening gemaakt voor die zet (die bestaat uit de Principevariatie voor de zet) op het Aantekeningpaneel." #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "Variatie-aantekening creatiedrempel in centipawns:" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "Analyseren vanaf huidige positie" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "Zwarte zetten analyseren" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "Witte zetten analyseren" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "Bedreigende variatieregels toevoegen" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess is bezig met zoeken naar je aandrijvingen. Even geduld." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - verbinden met internetschaken" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "Verbinden met online schaakserver" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Wachtwoord:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Naam:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Inloggen als _gastgebruiker" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "Gastheer:" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Poo_rten:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "Vertraging:" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "Tijdcompensatie gebruiken" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "Reg_istreren" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Uitdaging: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Uitdaging versturen" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Uitdaging:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Supersnel:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Standaard:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Snel:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "2 min, Fischer willekeurig, Zwart" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 min + 6 sec/zet, Wit" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 min" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "Verzoeken _verwijderen" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Accepteren" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Weigeren" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "Alle verzoeken versturen" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Verzoek versturen" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Verzoek creëren" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Standaard" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Snel" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Supersnel" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Computer" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "_Verzoeken / Uitdagingen" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Ranglijst" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Tijd" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "Uitdagings_grafiek" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 spelers gereed" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Uitdagen" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Observeren" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Privéchat starten" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "Geregistreerd" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Gastgebruiker" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "Genaamd" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "S_pelerslijst" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "_Spellenlijst" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "_Mijn spellen" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "A_fbreken aanbieden" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "Onderzoeken" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "_Voorvertoning" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "Gearchiveerd" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "Asymmetrisch willekeurig" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Verzoek bewerken" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Zonder tijdslimiet" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minuten: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr " Voordeel: " #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Tijdscontrole: " #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Tijdscontrole:" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Geen voorkeur" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Jouw sterkte: " #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Snel)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Sterkte van tegenstander: " #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "Als deze knop op \"vergrendeld\" staat, dan blijft de relatie\ntussen \"Sterkte van tegenstander\" en \"Jouw sterkte\" behouden als\na) je rang voor het gezochte speltype wijzigt\nb) je de variant van de tijdscontrole wijzigt" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Midden:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Tolerantie:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Verbergen" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Sterkte van tegenstander" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Jouw kleur" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Spelen volgens gebruikelijke schaakregels" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Spelen" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Schaakvariant" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Rangspel" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Tegenstander handmatig accepteren" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Opties" #: glade/findbar.glade:6 msgid "window1" msgstr "venster1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 van 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Zoeken:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Vorige" #: glade/findbar.glade:192 msgid "_Next" msgstr "Volge_nde" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Nieuw spel" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Spel starten" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "FEN kopiëren" #: glade/newInOut.glade:143 msgid "Clear" msgstr "Wissen" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "FEN plakken" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "Initiële instelwizard" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "Aandrijvingsspeelsterkte (1=zwakste, 20=sterkste)" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "Witte speelveld - klik om spelers om te ruilen" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "Zwarte speelveld - klik om spelers om te ruilen" #: glade/newInOut.glade:397 msgid "Players" msgstr "Spelers" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "_Zonder tijdslimiet" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "Snel: 5 min" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "Erg snel: 15 min + 10 sec/zet" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "Gebruikelijk: 40 min + 15 sec/zet" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "Klassiek: 3 min / 40 zetten" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "Gebruikelijk schaken _spelen" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Fischer willekeurig schaken spelen" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "Verliezersschaken spelen" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Open spel" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Startpositie" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Spelnotatie invoeren" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "Halvezet-klok" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "En passant slaan" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "Zetnummer" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "Zwart O-O " #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "Zwart O-O-O" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "Wit O-O-O" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "Wit O-O" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "Bord draaien" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "PyChess afsluiten" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Sluiten _zonder opslaan" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "%d documenten op_slaan" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "Er zijn %d spellen met niet-opgeslagen zetten. Wil je de wijzigingen opslaan alvorens af te sluiten?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Kies de spellen die je wilt opslaan:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Als je niets opslaat, dan gaan de wijzigingen aan je spellen definitief verloren." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "Uitgebreide instellingen van spelers, tijdscontrole en schaakvariant" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "_Tegenstander:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_Jouw kleur" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "Spel _starten" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "Uitgebreide verbindingsinstellingen" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "Automatisch inloggen bij opstarten" #: glade/taskers.glade:369 msgid "Server:" msgstr "Server:" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "_Verbinden met server" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "Selecteer een pgn-, epd- of fen-schaakbestand" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "_Recent:" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "Nieuwe databank creëren" #: glade/taskers.glade:609 msgid "Open database" msgstr "Database openen" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "Lezingen tonen, puzzels oplossen of eindspellen beoefenen" #: glade/taskers.glade:723 msgid "Category:" msgstr "Categorie:" #: glade/taskers.glade:796 msgid "Start learning" msgstr "Beginnen met leren" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Tip van de dag" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Tips weergeven bij opstarten" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "De opgegeven link leidt niet naar bruikbare schaakinhoud." #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://nl.wikipedia.org/wiki/Schaken" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "https://nl.wikipedia.org/wiki/Schaken#Spelregels" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Welkom" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Open spel" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "Bezig met lezen van %s ..." #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "%(counter)s spelkoppen van %(filename)s zijn geïmporteerd" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "De spelcomputer %s geeft een foutmelding:" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "Je tegenspeler bied een gelijkspel aan." #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "Je tegenstander bied een gelijkspel aan. Als je dit aanvaardt, dan eindigt het spel met een score van 1/2 – 1/2." #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "Je tegenstander wenst het spel te beëindigen." #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "Je tegenstander heeft gevraagd om beëindiging van het spel. Als je dit aanvaardt, dan eindigt het spel zonder rangwijziging." #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "Je tegenstander wenst het spel uit te stellen." #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "Je tegenstander heeft gevraagd om het spel uit te stellen. Als je dit aanvaardt, dan wordt het spel uitgesteld en kun je het op een later moment hervatten (als je tegenspeler online is en beide spelers beslissen om verder te spelen)." #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "Je tegenstander wil %s zet(ten) ongedaan maken." #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "Je tegenstander heeft gevraagd om de laatste %s zet(ten) ongedaan te maken. Als je dit aanvaardt, dan wordt het spel hervat vanuit een eerdere positie." #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "Je tegenstander wenst het spel te pauzeren." #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "Je tegenstander vraagt om het spel te pauzeren. Als je dit aanvaardt, dan wordt de wedstrijdklok onderbroken totdat beide spelers tot hervatten bereid zijn." #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "Je tegenstander wil het spel hervatten." #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "Je tegenspeler vraagt om het spel te hervatten. Als je dit aanvaardt, dan loopt de wedstrijdklok verder vanwaar ze werd onderbroken." #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "De terugtrekking" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "De vlagoproep" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "Het remise-aanbod" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "Het beëindingsaanbod" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "Het uitstelaanbod" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "Het pauze-aanbod" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "Het hervatten-aanbod" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "Het aanbod om van speelveld te wisselen" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "Het aanbod tot terugname" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "terugtrekken" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "roep de vlag van je tegenstander" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "remise aanbieden" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "afbreken aanbieden" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "uitstellen aanbieden" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "pauzeren aanbieden" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "hervatten aanbieden" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "voorstellen om van veld te wisselen" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "terugname voorstellen" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "vraag je tegenstander om een zet te doen" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Je tegenstander bevindt zich nog binnen de tijd." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "De tijdklok is nog niet gestart." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "Tijdens het spel kun je niet van kleur wisselen." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "Je hebt geprobeerd teveel zetten ongedaan te maken." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Je tegenstander vraagt je om op te schieten!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "Over het algemeen betekent dit niets omdat het spel tijdgebonden is, maar om je tegenspeler te plezieren moet je wellicht een zet doen." #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "Accepteren" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "Weigeren" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "%s is geweigerd door je tegenstander" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "%s opnieuw versturen?" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "Opnieuw versturen" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s is ingetrokken door je tegenstander" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "Je tegenstander is van gedachten veranderd." #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "%s kan niet worden geaccepteerd" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "waarschijnlijk omdat het werd ingetrokken." #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s geeft een foutmelding" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "Schaak Alpha 2-diagram" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "Het huidige spel is voorbij. Verifieer eerst de eigenschappen van het spel." #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "Het huidige spel is niet afgebroken. Exporteren is mogelijk van weinig waarde." #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "Moet %s je spel openbaarmaken als PGN op chesspastebin.com ?" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "Spel gedeeld op" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "(de link is beschikbaar op het klembord.)" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Schaakpositie" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Onbekend" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Eenvoudige schaakpositie" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "Het spel kan niet worden geladen vanwege een fout bij het verwerken van de FEN" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "HTML-diagram" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "Schaakcomposities van yacpdb.org" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Schaakspel" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "Primaire variatie van analysator" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "Bezig met importeren van spelkoppen..." #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "Bezig met creëren van .bin-indexbestand..." #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "Bezig met creëren van .scout-indexbestand..." #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "Ongeldige zet." #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "Fout bij verwerken van %(mstr)s" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "Het spel kan niet volledig worden ingelezen, omwille van een foutieve zet %(moveno)s ‘%(notation)s’." #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "De zet is mislukt vanwege %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "Foutmelding bij verwerken van zet %(moveno)s %(mstr)s" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "PNG-afbeelding" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "Downloadlink" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "HTML-verwerking" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "Verschillende technieken" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "Tekstdiagram" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "Host-bestemming is onbereikbaar" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Gestopt" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Lokaal evenement" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Lokale plaats" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "min" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "sec" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "Illegaal" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "Schaakmat" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "Er is een nieuwe versie beschikbaar: %s " #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "Andorra" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "Verenigde Arabische Emiraten" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "Afghanistan" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "Antigua en Barbuda" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "Anguilla" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "Albanië" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "Armenië" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "Angola" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "Antarctica" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "Argentinië" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "Amerikaans-Samoa" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "Oostenrijk" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "Australië" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "Aruba" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "Åland-eilanden" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "Azerbeidzjan" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "Bosnië en Herzegovina" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "Barbados" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "Bangladesh" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "België" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "Burkina Faso" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "Bulgarije" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "Bahrein" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "Burundi" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "Benin" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "Saint-Barthélemy" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "Bermuda" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "Brunei" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "Bolivië (Plurinationale Staat van)" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "Bonaire, Sint-Eustatius en Saba" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "Brazilië" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "Bahama's" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "Bhutan" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "Bouveteiland" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "Botswana" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "Wit-Rusland" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "Belize" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "Canada" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "Cocoseilanden" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "Congo-Kinshasa (Democratische Republiek Congo)" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "Centraal-Afrikaanse Republiek" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "Congo" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "Zwitserland" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "Ivoorkust" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "Cookeilanden" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "Chili" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "Kameroen" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "China" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "Colombia" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "Costa Rica" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "Cuba" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "Kaapverdië" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "Curaçao" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "Kersteiland" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "Cyprus" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "Tsjechië" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "Duitsland" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "Djibouti" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "Denemarken" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "Dominica" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "Dominicaanse Republiek" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "Algerije" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "Ecuador" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "Estland" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "Egypte" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "Westelijke Sahara" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "Eritrea" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "Spanje" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "Ethiopië" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "Finland" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "Fiji" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "Falklandeilanden [Malvinas]" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "Micronesië" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "Faeröer" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "Frankrijk" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "Gabon" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "Verenigd Koninkrijk van Groot-Brittannië en Noord-Ierland" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "Grenada" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "Georgië" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "Frans-Guyana" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "Guernsey" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "Ghana" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "Gibraltar" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "Groenland" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "Gambia" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "Guinea" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "Guadeloupe" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "Equatoriaal-Guinea" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "Griekenland" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "Zuid-Georgia en de Zuidelijke Sandwicheilanden" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "Guatemala" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "Guam" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "Guinee-Bissau" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "Guyana" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "Hongkong" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "Heard en McDonaldeilanden" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "Honduras" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "Kroatië" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "Haïti" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "Hongarije" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "Indonesië" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "Ierland" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "Israël" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "Man" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "India" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "Brits Indische Oceaanterritorium" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "Irak" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "Iran (Islamitische Republiek van)" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "IJsland" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "Italië" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "Jersey" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "Jamaica" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "Jordanië" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "Japan" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "Kenia" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "Kirgizië" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "Cambodja" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "Kiribati" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "Comoren" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "Saint Kitts en Nevis" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "Noord-Korea (Democratische Volksrepubliek)" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "Zuid-Korea (Republiek)" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "Koeweit" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "Kaaimaneilanden" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "Kazachstan" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "Laos (Democratische Volksrepubliek)" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "Libanon" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "Saint Lucia" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "Liechtenstein" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "Sri Lanka" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "Liberia" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "Lesotho" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "Litouwen" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "Luxemburg" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "Letland" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "Libië" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "Marokko" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "Monaco" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "Moldavië (Republiek)" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "Montenegro" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "Sint-Maarten (Franse Antillen)" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "Madagaskar" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "Marshalleilanden" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "Macedonië (voormalige Joegoslavische Republiek)" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "Mali" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "Myanmar" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "Mongolië" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "Macau" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "Noordelijke Marianen" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "Martinique" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "Mauritanië" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "Montserrat" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "Malta" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "Mauritius" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "Maladiven" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "Malawi" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "Mexico" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "Maleisië" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "Mozambique" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "Namibië" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "Nieuw-Caledonië" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "Niger" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "Norfolk" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "Nigeria" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "Nicaragua" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "Nederland" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "Noorwegen" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "Nepa" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "Nauru" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "Niue" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "Nieuw-Zeeland" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "Oman" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "Panama" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "Peru" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "Frans-Polynesië" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "Papoea-Nieuw-Guinea" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "Filipijnen" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "Pakistan" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "Pole" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "Saint-Pierre en Miquelon" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "Pitcairn" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "Puerto Rico" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "Palestina" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "Portugal" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "Palau" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "Paraguay" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "Qatar" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "Réunion" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "Roemenië" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "Servië" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "Rusland" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "Rwanda" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "Saoedi-Arabië" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "Salomonseilanden" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "Seychellen" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "Soedan" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "Zweden" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "Singapore" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "Sint-Helena, Ascension en Tristan da Cunha" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "Slovenië" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "Spitsbergen en Jan Mayen" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "Slowakije" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "Sierra Leone" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "San Marino" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "Senegal" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "Somalië" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "Suriname" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "Zuid-Soedan" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "Sao Tomé en Principe" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "El Salvador" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "Sint-Maarten" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "Syrië (Arabische Republiek)" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "Swaziland" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "Turks- en Caicoseilanden" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "Tsjaad" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "Franse Zuidelijke en Antarctische Gebieden" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "Togo" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "Thailand" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "Tadzjikistan" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "Tokelau" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "Oost-Timor" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "Turkmenistan" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "Tunesië" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "Tonga" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "Turkije" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "Trinidad en Tobago" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "Tuvalu" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "Taiwan (Provincie van China)" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "Tanzania (Verenigde Republiek)" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "Oekraïne" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "Oeganda" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "Kleine afgelegen eilanden van de Verenigde Staten" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "Verenigde Staten van Amerika" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "Uruguay" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "Oezbekistan" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "Heilige Stoel" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "Saint Vincent en de Grenadines" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "Venezuela (Bolivariaanse Republiek)" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "Britse Maagdeneilanden" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "Amerikaanse Maagdeneilanden" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "Vietnam" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "Vanuatu" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "Wallis en Futuna" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "Samoa" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "Jemen" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "Mayotte" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "Zuid-Afrika" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "Zambia" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "Zimbabwe" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Pion" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "N" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "B" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "R" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "Q" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "K" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Het spel is geëindigd in remise" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s heeft de wedstrijd gewonnen" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s heeft de wedstrijd gewonnen" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "Het spel is gestopt" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Het spel is uitgesteld" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Het spel is afgebroken" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "Onbekende spelstatus" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "Spel afgebroken" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "Omdat geen van beide spelers over voldoende stukken beschikt om schaak te claimen" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "Omdat dezelfde positie zich driemaal herhaalde" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "Omdat de laatste 50 zetten niets nieuws opleverden" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Omdat beide spelers buiten de tijd zitten" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "Omdat %(mover)sin een patstelling raakte" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "Omdat beide spelers akkoord zijn gegaan met een remise" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "Vanwege een rechtzetting/toewijzing door een administrator" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "Omdat de maximale duur van het spel werd overschreden" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "Omdat %(white)s buiten de tijd zit en %(black)s onvoldoende stukken heeft" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "Omdat %(black)s buiten de tijd zit en %(white)s onvoldoende stukken heeft" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "Omdat beide spelers evenveel stukken hebben" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "Omdat beide koningen de achtste rij hebben bereikt" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "Omdat %(loser)s zich heeft teruggetrokken" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "Omdat %(loser)s buiten de tijd is" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "Omdat %(loser)s schaakmat staat" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "Omdat %(loser)s de verbinding verbroken heeft" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "Omdat %(winner)s minder stukken heeft" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "Omdat %(winner)s alle stukken is kwijgeraakt" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "Omdat %(loser)s zijn koning explodeerde" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "Omdat %(winner)s zijn koning het centrum bereikte" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "Omdat %(winner)s driemaal schaak werd gezet" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "Omdat de koning van %(winner)s de achtste rij heeft bereikt" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "Omdat %(winner)s de witte horde heeft uitgeschakeld" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "Omdat een speler zijn verbinding verloren heeft" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "Omdat beide spelers akkoord zijn gegaan met uitstel" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "Omdat de server werd stilgelegd" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "Omdat een speler zijn verbinding verloor en de andere speler vraagt om uitstel" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "Omdat %(black)s zijn verbinding met de server verloren heeft en %(white)s om uitstel vraagt" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "Omdat %(white)s zijn verbinding met de server verloren heeft en %(black)s om uitstel vraagt" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "Omdat %(white)s zijn verbinding met de server verloren heeft" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "Omdat %(black)s zijn verbinding met de server verloren heeft" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "Vanwege uitstel door een administrator. De rang is niet gewijzigd." #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "Omdat beide spelers akkoord zijn gegaan met afbreken. De rang is niet gewijzigd." #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "Vanwege de hoffelijkheid door een speler. De rang is niet gewijzigd." #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "Omdat een speler het spel beëindigd heeft. Beide spelers kunnen het spel beëindigen zonder toelating van de tegenspeler voor het plaatsen van een tweede zet. De rang is niet gewijzigd." #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "Omdat een speler de verbinding verbroken heeft en er te weinig zetten zijn gedaan voor uitstel. De rang is niet gewijzigd." #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr " Omdat de server werd stilgelegd. De rang is niet gewijzigd." #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "Omdat de %(white)s aandrijving gestopt is" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "Omdat de %(black)s aandrijving gestopt is" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "Omdat de verbinding met de server verbroken is" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "De reden is onbekend" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "Omdat het oefendoel behaald is" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "ASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "ASEAN" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "Makruk: http://en.wikipedia.org/wiki/Makruk" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "Makruk" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "Cambodian: http://www.khmerinstitute.org/culture/ok.html" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "Cambodian" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "Ai-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "Ai-Wok" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "Sittuyin" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n* Willekeurig gekozen stukken (twee koninginnen of drie torens)\n* Precies één koning per kleur\n* De stukken worden willekeurig geplaatst achter de pionnen, MAAR DE LOPERS ZIJN GELIJKWAARDIG VERDEELD\n* Geen rokades\n* De opstelling van zwart is NIET gelijk aan die van wit" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Asymmetrisch willekeurig" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "Atomisch" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klassiek schaken met verborgen figuren\nhttps://nl.wikipedia.org/wiki/Blindschaken" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "Blindschaken" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klassiek schaken met verborgen pionnen\nhttps://nl.wikipedia.org/wiki/Blindschaken" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "Verborgen pionnen" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klassiek schaken met verborgen stukken\nhttps://nl.wikipedia.org/wiki/Blindschaken" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "Verborgen stukken" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klassiek schaken met alleen witte stukken\nhttps://nl.wikipedia.org/wiki/Blindschaken" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "Alleen wit" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "Bughouse" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "http://brainking.com/en/GameRules?tp=2\n* De plaatsing van de stukken op de voorste en achtste rij is willekeurig\n* De koning bevindt zich rechtsonder\n* Lopers moeten starten op vlakken met verschillende kleuren\n* De startpositie van zwart wordt verkregen door de positie van wit 180 graden te draaien om het midden van het bord\n* Geen rokades" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Hoek" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "Crazyhouse" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "EuroShogi" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "https://nl.wikipedia.org/wiki/Schaak_960\nFICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Fischer Random" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "Giveaway" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "Zwart moet alle witte stukken slaan om te winnen.\nWit moet, zoals gewoonlijk, schaakmat behalen.\nWitte pionnen op de voorste rij mogen twee plaatsen opschuiven,\nnet zoals pionnen op de tweede rij." #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "Horde" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "Het verplaatsen van de koning naar het midden (e4, d4, e5, d5) levert direct een overwinning op!\nVerder zijn de gebruikelijke regels van toepassing en schaakmat beëindigt ook het spel." #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "King of the hill" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "Eén speler start met één paard minder" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "Paard-handicap" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "FICS-verliezers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "Verliezers" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "Klassieke schaakregels\nhttps://nl.wikipedia.org/wiki/Schaken" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Gebruikelijk" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "Eén speler begint met één pion minder" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "Pion-handicap" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\nWitte pionnen starten op de vijfde rij en zwarte pionnen op de vierde" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "Pionnen geslagen" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\nPionnen starten op de vierde en vijfde rijen i.p.v. de tweede en zevende" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "Pionnen onder druk" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "Pre-chess: https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "Plaatsing" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "Eén speler start zonder koningin" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "Koningin-handicap" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "In dit spel is schaak zetten volledig verboden. Niet alleen mag de koning niet schaak worden gezet, ook de koning van de tegenstander mag niet schaak worden gezet.\nHet doel van dit spel is om de eerste speler te worden die zijn koning naar de achtste rij verplaatst.\nAls wit zijn koning naar de achtste rij verplaatst en zwart direct daarna zijn koning naar de achterste rij, dan eindigt het spel in remise\n(deze regel is er om te compenseren voor de voorsprong die wit kan hebben als hij als eerst een zet mag doen).\nM.u.v. bovenstaande mogen stukken gezet en geslagen worden zoals gebruikelijk." #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "Racing Kings" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n* Willekeurig gekozen stukken (twee koninginnen of drie torens)\n* Precies één koning per kleur\n* De stukken worden willekeurig geplaatst achter de pionnen\n* Geen rokades\n* De opstelling van zwart is gelijk aan die van wit" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Willekeurig" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "Eén speler start zonder toren" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "Toren-handicap" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n* De stukken worden willekeurig geplaatst achter de pionnen\n* Geen rokades\n* De opstelling van zwart is gelijk aan die van wit" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Schudden" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "FICS-zelfmoord: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "Zelfmoord" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "Variant ontwikkeld door Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "Theban" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "Win door driemaal schaak te zetten" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "Driemaal schaak" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\nhttp://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\nPionnen starten op de zevende rij i.p.v. de tweede rij!" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "Ondersteboven" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n* Wit heeft aan het begin de gebruikelijke opstelling.\n* De opstelling van zwart is gelijk, behalve dat de koning en koningin van plaats wisselen,\nzodat ze niet op dezelfde vlakken staan als die van wit.\n* Rokades zijn hetzelfde als bij gebruikelijk schaken:\no-o-o is de lange rokade en o-o is de korte." #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "Wildcastle" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n* In deze variant hebben beide speelvelden dezelfde stukken als gebruikelijk.\n* De witte koning begint op d1 of e1 en de zwarte koning begint op d8 of e8;\nde torens bevinden zich op hun gebruikelijke posities.\n* De lopers bevinden zich altijd op tegengestelde kleuren.\n* De positie van de stukken op de voorste rijen is willekeurig.\n* De rokade is hetzelfde als gebruikelijk:\no-o-o is de lange rokade en o-o is de korte." #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "Wildcastle-willekeurig" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "De verbinding is verbroken; foutmelding “einde van het bestand” " #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' is geen geregistreerde naam" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "Het ingevoerde wachtwoord is ongeldig.\nAls je je wachtwoord vergeten bent, ga dan naar http://www.freechess.org/password om per e-mail een nieuw wachtwoord aan te vragen." #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "Sorry, '%s' is al ingelogd" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "'%s' is een geregistreerde naam. Als dit jouw naam is, typ dan je wachtwoord." #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "Vanwege misbruik zijn gastverbindingen niet toegestaan.\nJe kunt je nog steeds registreren op http://www.freechess.org" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Bezig met verbinden met server" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Bezig met inloggen op server" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Bezig met opstellen van de omgeving" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "%(player)s is %(status)s" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "speelt niet" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Wild " #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Online" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Offline" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "Beschikbaar" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "Aan het spelen" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "Inactief" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "Aan het onderzoeken" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "Niet beschikbaar" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "Simultaan spel spelen" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "Op toernooi" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Zonder ranglijst" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Met ranglijst" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d min" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "+ %d sec" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "%(player)s speelt met %(color)s" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "wit" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "zwart" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "Dit is de voortzetting van een uitgesteld spel" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "Beoordeling van de tegenstander" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "Handmatig aanvaard" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Privé" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Verbindingsfout" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Inlogfout" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "De verbinding is afgesloten" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Adresfout" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Automatisch uitloggen" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Je bent uitgelogd omdat je langer dan 60 minuten inactief was" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "Gastgebruiker-logins zijn uitgeschakeld door de FICS-server" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "1 minuut" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "3 minuten" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "5 minuten" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "15 minuten" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "45 minuten" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "Schaak 960" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "Onderzocht " #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Andere " #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "Bullet" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Beheerder" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "Blind account " #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Team-account " #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "Niet-geregistreerd" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "Schaakraadgever " #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "Dienst-vertegenwoordiger" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "Toernooidirecteur" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "Tournooibeheerder" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "Grand Master " #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "International Master " #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "FIDE Master" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "Vrouwelijke Grand Master" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "Vrouwelijke International Master" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "Vrouwelijke FIDE Master" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "Testaccount" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "Kandidaat Master" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "FIDE Arbeiter" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "National Master" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "Display Master" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "C" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "T" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "Jij" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "CA" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "SR" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "TD" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "TM" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "GM" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "IM" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "FM" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "WGM" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "WIM" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "WFM" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "D" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "H" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "CM" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "FM" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "NM" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "DM" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr " PyChess kan je paneelinstellingen niet laden" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "Je paneelinstellingen zijn hersteld. Als dit probleem zich herhaalt, meld dit dan aan de ontwikkelaars." #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "Vrienden" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "Beheerder" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "Meer kanalen" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "Meer spelers" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "Computers" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "Blind" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "Gasten" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "Waarnemers" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "Doorgaan" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "Pauzeren" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "Vragen om toestemming" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "Sommige PyChess-functies vereisen jouw machtiging om externe applicaties te downloaden" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "databank-opvraging vereist scoutfish" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "database-openen vereist chess_db" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "ICC-vertragingscompensatie vereist timestamp" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "Niet weergeven bij opstarten" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "Geen gesprek geselecteerd" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "Bezig met laden van spelergegevens" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "Bezig met ophalen van spelerslijst" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "Jouw beurt." #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "Tip" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "Beste zet" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "Goed gedaan! %s is afgerond." #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "Goed gedaan!" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "Volgende" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "Doorgaan" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "Niet de beste zet!" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "Opnieuw proberen" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "Cool! Nu maar zien hoe het gaat in het hoofdonderdeel." #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "Terug naar hoofdonderdeel" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "PyChess-informatievenster" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "van" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "Lezingen" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "Lessen" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "Puzzels" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "Eindspellen" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "Je hebt nog geen gesprekken gestart" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "Alleen geregistreerde gebruikers kunnen met elkaar praten op dit kanaal" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "Bezig met spelanalyse..." #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "Wil je dit afbreken?" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "Afbreken" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "Je hebt onopgeslagen wijzigingen. Wil je deze opslaan alvorens te verlaten?" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "Optie" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "Waarde" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "Aandrijving selecteren" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "Uitvoerbare bestanden" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "Toevoegen van %s is mislukt" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "De aandrijving is al geïnstalleerd onder dezelfde naam" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "is niet geïnstalleerd" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "%s is niet gemarkeerd als uitvoerbaar op het bestandssysteem" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "Probeer chmod a+x %s" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "Er is iets mis met dit uitvoerbare bestand" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "Kies een map" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "Importeren" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "Bestandsnaam" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "Kies de werkmap" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "Weet je zeker dat je de standaardwaarden van de aandrijving wilt herstellen?" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "Nieuw" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "Label" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "Kies een datum" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "ongeldige computerzet: %s" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Opnieuw uitdagen aanbieden" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "%s observeren" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Spel opnieuw spelen" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Eén zet ongedaan maken" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Twee zetten ongedaan maken" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "Je hebt een voorstel tot afbreken verstuurd" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "Je hebt een voorstel tot uitstellen verstuurd" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Je hebt een remisevoorstel verstuurd" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "Je hebt een pauzeervoorstel verstuurd" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "Je hebt een voorstel tot hervatten verstuurd" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "Je hebt een voorstel tot ongedaan maken verstuurd" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "Je hebt je tegenstander gevraagd om een zet te doen" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "Je hebt een vlagoproep verstuurd" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "De schaakcomputer, %s, is gestopt" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "PyChess heeft geen verbinding meer met de aandrijving; deze is waarschijnlijk gestopt..\n\n Je kunt proberen om een nieuw spel te starten met deze aandrijving of te kiezen voor een andere aandrijving." #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "Dit spel kan automatisch worden beëindigd zonder rangwijziging omdat er nog geen twee zetten geplaatst zijn." #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "Afbreken aanbieden" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "Je tegenstander moet akkoord gaan met afbreken omdat er twee of meer zetten geplaatst zijn." #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "Dit spel kan niet worden uitgesteld omdat één of beide spelers als gastspelers zijn ingelogd." #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "Remise claimen" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "Hervatten" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "Pauze aanbieden" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "Hervatten aanbieden" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "Ongedaan maken" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "Ongedaan maken aanbieden" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "heeft 30 seconden vertraging opgelopen" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "heeft hevige vertraging opgelopen maar is nog verbonden" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "Wil je blijven wachten op de tegenstander of proberen om het spel uit te stellen?" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "Wachten" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "Uitstellen" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "Ga naar de startpositie" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "Eén zet teruggaan" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "Ga terug naar de hoofdlijn" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "Ga terug naar het hoofdonderdeel" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "Eén zet voorwaarts doen" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Ga naar de laatste positie" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "Positie opzoeken in huidige databank" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "Pijlen/cirkels opslaan" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "Er is geen databank geopend." #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "De positie bevindt zich niet in de databank." #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "Er is een geschatte positie aangetroffen. Wil je deze tonen?" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Mens" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minuten:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "Zetten:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Voordeel:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "Klassiek" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "Snel" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "%(name)s %(minutes)d min / %(moves)d zetten %(duration)s" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "%(name)s %(minutes)d min %(sign)s %(gain)d sec/zet %(duration)s" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "%(name)s %(minutes)d min %(duration)s" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "Geschatte duur: %(min)d - %(max)d minuten" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "Notering" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "Andere (standaardregels)" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "Andere (niet-standaardregels) " #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "Aziatische varianten" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "schaak" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Positie instellen" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "Typ of plak hier je PGN-spel of FEN-posities" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Spel invoeren" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "Selecteer boekbestand" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "Bezig met openen van boeken" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "Selecteer Gaviota TB-pad" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Geluidsbestand openen" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "Geluidsbestanden" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Zonder geluid" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Geluidssignaal" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Kies geluidsbestand..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "Onomschreven paneel" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "Selecteer achtergrondafbeelding" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "Afbeeldingen" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "Kies automatisch opslaan-pad" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "PyChess is een open-source schaakprogramma dat verbeterd kan worden door iedere schaakenthousiasteling: bugmeldingen, broncode, documentatie, vertalingen, ideeën delen, gebruikersondersteuning... Ga naar http://www.pychess.org" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "PyChess ondersteunt een breed scala aan schaakcomputers, varianten, internetservers en lessen. Het is dé perfecte app om met gemak je schaakvaardigheden te verhogen." #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "De uitgebrachte versies van PyChess dragen namen van historische schaakwereldkampioenen. Weet je wat de naam is van de huidige schaakwereldkampioen?" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "Wist je dat je kunt helpen PyChess te vertalen? Ga naarHulp > PyChess vertalen." #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "Een partij bestaat uit een opening, het middenspel en een eindspel. PyChess kan je trainen door gebruik te maken van een openingsboek, de schaakcomputers die het ondersteunt en de oefenmodule. " #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "Wist je dat het mogelijk is om een spel af te ronden in slechts 2 beurten?" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "Wist je dat een paard beter staat op het midden van het bord?" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "Wist je dat het verplaatsen van de dame aan het begin van een spel geen merkbaar voordeel biedt?" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "Wist je dat het hebben van twee samenwerkende lopers die over verschillende kleuren velden bewegen erg krachtig is?" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "Wist je dat de torens meestal pas laat in de partij in het spel betrokken worden?" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "Wist je dat de koning soms over twee velden kan worden verplaatst in één zet? Dit heet 'rokeren'. " #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "Wist je dat het aantal mogelijke schaakvarianten hoger ligt dan het aantal atomen in het universum?" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "Je kunt een nieuw spel starten viaSpel > Nieuw Spel. In het Nieuw Spel-venster kun je Spelers, Tijdscontrole en Schaakvarianten kiezen." #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "Je kunt spelen tegen de computer op 20 verschillende spelniveaus. Dit verandert alleen de beschikbare denktijd." #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "FEN heeft 6 gegevensvelden nodig.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "FEN heeft minimaal 2 gegevensvelden nodig in fenstr.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "Moet 7 schuine strepen op de plaats van de stukken hebben.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "De actieve veldkleur moet w of b zijn.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "Rokeren op het veld is illegaal.\n\n %s" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "En-passant lijn is illegaal.\n\n%s" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "ongeldig gepromoveerd stuk" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "de zet vereist een stuk en een lijn" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "de geslagen lijn is (%s) onjuist" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "het slaan van een pion zonder doelstuk is ongeldig" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "de eindlijn (%s) is onjuist" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "en" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "geeft remise" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "geeft schaakmat" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "zet de tegenstander schaak" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "vergroot de veiligheid van de koning" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "vergroot de veiligheid van de koning enigzins" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "verplaatst een toren naar een open lijn" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "verplaatst een toren naar een halfopen lijn" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "plaatst de loper in fianchetto: %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "promoveert een pion tot een %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "rokeert" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "verovert stukken terug" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "offert stukken op" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "wisselt stukken uit" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "slaat stukken" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "red een %s" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "dreigt stukken te winnen door %s" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "vergroot de druk op %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "verdedigt %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "zet een vijandige %(oppiece)s vast op de %(piece)s op %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "Wit heeft een nieuw stuk op de buitenpost: %s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "Zwart heeft een nieuw stuk op de buitenpost: %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr " %(color)s heeft een nieuwe vrije pion op %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "halfopen" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "in het bestand %(x)s%(y)s" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "in de bestanden %(x)s%(y)s" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr " %(color)s heeft een dubbele pion %(place)s" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr " %(color)s heeft nieuwe dubbele pionnen %(place)s" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "%(color)s heeft geïsoleerde pions in de %(x)s bestanden" msgstr[1] "%(color)s heeft geïsoleerde pionnen in de bestanden %(x)s" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "%s plaatst pionnen in muurformatie" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "%s kan niet langer rokeren" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "%s kan niet langer rokeren aan de koninginzijde" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "%s kan niet langer rokeren aan de koningszijde" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "%(opcolor)s heeft een nieuwe vastgezette loper op %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "ontwikkelt een pion: %s" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "brengt een pion dichter bij de achterste rij: %s" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "brengt een %(piece)s dichter bij de vijandelijke koning: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "ontwikkelt een %(piece)s: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "maakt een %(piece)s actiever: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "Wit zou een pionnenstorm over rechts moeten doen" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "Zwart zou een pionnenstorm over links moeten doen" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "Wit zou een pionnenstorm over links moeten doen" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "Zwart zou een pionnenstorm over rechts moeten doen" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "Zwart heeft een nogal verkrampte positie" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "Zwart heeft een enigzins verkrampte positie" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "Wit heeft een nogal verkrampte positie" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "Wit heeft een enigzins verkrampte positie" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "Roep" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "Schaakroep" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "Onofficieel kanaal %d" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "Filter" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "Het filterpaneel kan de spellijst filteren d.m.v. verschillende criteria" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "Geselecteerd filter bewerken" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "Geselecteerd filter verwijderen" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "Nieuw filter toevoegen" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "Seq" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "Creëer een nieuwe sequentie met verschillende criteria waaraan moet worden voldaan op verschillende spelmomenten" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "Str" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "Creëer een nieuwe strook-sequentie met verschillende criteria waaraan moet worden voldaan bij verschillende (halve) zetten" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "Spellijst filteren d.m.v. verschillende criteria" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "Sequentie" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "Stroo" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "Begin" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "Het beginpaneel kan de spellijst filteren op startzetten" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "Zet" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "Spellen " #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "Gewonnen %" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "Spellijst filteren op startzetten" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "Voorbeeld" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "Het voorbeeldpaneel kan de spellijst filteren op huidige spelzetten" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "Spellijst filteren op huidige spelzetten" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "Sub-fenfilter toevoegen vanaf huidige posities/cirkels" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "PGN-bestand importeren" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "Opslaan naar PGN-bestand als..." #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "Openen" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "Bezig met openen van schaakbestand..." #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "Opslaan als" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "Schaakbestand openen" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "Bezig met opnieuw creëren van indexen..." #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "Bezig met voorbereiden van import..." #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "%s spellen verwerkt" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "Nieuw Polyglot-openingsboek creëren" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "Polyglot-boek creëren" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "Nieuwe PGN-databank creëren" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "Het bestand '%s' bestaat al." #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "%(path)s\nmet daarin %(count)s spellen" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "Id" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "W Elo" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "Zw Elo" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "Ronde" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "Duur" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "Tijdbeheer" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "Eerste spellen" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "Vorige spellen" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "Volgende spellen" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "Gearchiveerd" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "Lijst met uitgestelde, voormalige en vastgelegde spellen" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Klok" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Type" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Datum/Tijd" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr " met wie je %(timecontrol)s hebt uitgesteld. Het spel%(gametype)s is online." #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "Verzoek tot verder spelen" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "Uitgesteld spel onderzoeken" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "Praten" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "Lijst met serverkanalen" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Chat" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "Informatie" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "Prompt" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "Opdrachtprompt naar de schaakserver" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Gewonnen" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Remise" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Verloren" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "Benodigd" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "Beste " #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "Op FICS bestaat je \"Wild\"-rang uit de volgende varianten op alle tijdcontroles:\n" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "Sancties " #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "E-mailadres" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Doorgebracht" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "totaal aantal online" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Pingen" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Bezig met verbinden" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "Vinger " #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "Je bent momenteel ingelogd als gastgebruiker. Er is een gratis proefperiode van 30 dagen beschikbaar. Er worden geen betalingen verricht en het account blijft actief; er kan dus gewoon worden gespeeld. Maar er zijn beperkingen: geen premium-video's, kanaalbeperkingen, enz. Ga, om een account te registeren, naar" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "U bent momenteel ingelogd als gastgebruiker. Gastgebruikers kunnen geen rangspellen spelen. De meeste spellen kunnen dus niet worden gespeeld. Ga, om een account te registreren, naar" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "Spellijst" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "Lijst met lopende spellen" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Lopende spellen: %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "Nieuws" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "Lijst met servernieuws" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "Beoordelen" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "Volgen" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "Spelerslijst" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "Spelerslijst" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Naam" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "Status" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "Spelers: %d" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "De linkknop is uitgeschakeld omdat je ingelogd bent als gastgebruiker. Gastgebruikers kunnen geen rangen opbouwen en de linkknop heeft geen effect zolang er geen rang is t.o.v. de \"sterkte van de tegenstander\"" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Uitdaging:" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "Als je dit instelt, dan kun je spelers weigeren die je verzoek accepteren" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "Deze optie is niet van toepassing omdat je een speler hebt uitgedaagd" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Verzoek bewerken:" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "%(minutes)d min + %(gain)d sec/zet" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Handmatig" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "Elke sterkte" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "Je kunt geen rangspellen spelen omdat je bent ingelogd als gastgebruiker" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "Je kunt geen rangspellen spelen omdat \"Zonder klok' is aangevinkt," #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "en op FICS kunnen spellen zonder klok niet gewaardeerd worden" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "Deze optie is niet beschikbaar omdat je een gastgebruiker hebt uitgedaagd" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "en gastspelers kunnen geen rangspellen spelen." #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "Je kunt geen variant kiezen omdat “Zonder klok’ is aangevinkt," #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "en op FICS hebben spellen zonder tijdklok de gebruikelijke schaakregels." #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "Tolerantie wijzigen" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "Verzoekgrafiek" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "Verzoeken grafisch behandelen" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "min" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "Verzoeken / Uitdagingen" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "Verzoeken en uitdagingen behandelen" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "Effect op rangen door de mogelijke uitkomsten" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "Gewonnen:" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "Remise:" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "Verloren:" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "Nieuwe RD:" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Actieve verzoeken: %d " #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "wil graag je uitgestelde spel %(time)s %(gametype)s hervatten." #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "daagt je uit tot een %(time)s %(rated)s %(gametype)s spel" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "waarbij %(player)s met %(color)s speelt." #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "ICS" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "Uitloggen" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "Nieuw spel van 1 minuut-spelgroep" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "Nieuw spel van 3 minuten-spelgroep" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "Nieuw spel van 5 minuten-spelgroep" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "Nieuw spel van 15 minuten-spelgroep" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "Nieuw spel van 25 minuten-spelgroep" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "Nieuw spel van Schaak 960-spelgroep" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "Je moet kibitz instellen om hier bot-berichten te kunnen lezen." #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "Je mag slechts 3 verzoeken tegelijkertijd hebben. Als je een nieuw verzoek wilt toevoegen, dan moet je de huidige verzoeken verwijderen. Wil je je verzoeken wissen?" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "Je kunt dit niet aanklikken omdat je een spel onderzoekt!" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr " heeft je wedstrijdaanbod geweigerd" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "censureert je" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr " geen spel waarin je voorkomt" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr " gebruikt een formule die niet voldoet aan je wedstrijdverzoek:" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "Handmatig aanvaarden" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "Automatisch aanvaarden" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "rangbereik nu" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "Verzoek bijgewerkt" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "Je verzoeken zijn verwijderd" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr " is aangekomen" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr " is vertrokken" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "is aanwezig" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Type automatisch detecteren" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "Fout bij laden van spel" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Spel opslaan" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "Positie exporteren" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Onbekende bestandssoort '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "'%(uri)s' kan niet worden opgeslagen. PyChess kent het bestandsformaat '%(ending)s' niet." #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Het bestand '%s' kan niet worden opgeslagen" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "Je beschikt niet over de benodigde machtigingen om het bestand op te slaan.\n  Zorg ervoor dat je het juiste pad hebt opgegeven en probeer het opnieuw." #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Vervangen" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Bestand bestaat al" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Er bestaat al een bestand met de naam '%s'. Wil je dit vervangen?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "Het bestand bestaat al in '%s'. Als je het vervangt, dan wordt de inhoud overschreven." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Bestand kan niet worden opgeslagen" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess kan het spel niet opslaan" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "De foutmelding is: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "Er is %d spel met niet-opgeslagen zetten." msgstr[1] "Er zijn %d spellen met niet-opgeslagen zetten." #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "Wil je je zetten opslaan alvorens af te sluiten?" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "Het ingestelde bestand kan niet worden opgeslagen. Wil je de spellen opslaan alvorens af te sluiten?" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "tegen" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "%d document op_slaan" msgstr[1] "%d documenten op_slaan" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "Wil je het huidige spel opslaan voordat je het afsluit?" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "Het ingestelde bestand kan niet worden opgeslagen. Wil je het huidige spel opslaan alvorens af te sluiten?" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Als je het spel niet opslaat, dan is het niet mogelijk om \nhet spel op een later moment te hervatten." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Alle schaakbestanden" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "Aantekening" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "Spel met aantekeningen" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "Verversen" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "Beginopmerking toevoegen" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "Opmerking toevoegen" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "Opmerking bewerken" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "Goede zet" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "Slechte zet" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "Uitstekende zet" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "Zeer slechte zet" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "Interessante zet" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "Verdachte zet" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "Geforceerde zet" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "Zetsymbool toevoegen" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "Remise-achtig" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "Onduidelijke positie" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "Licht voordeel" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "Matig voordeel" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "Beslissend voordeel" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "Vernietigend voordeel" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "Plek" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "Ontwikkeld voordeel" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "Initiatief" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "Met aanval" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "Compensatie" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "Aanvallende zet" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "Tijdsdruk" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "Evaluatiesymbool toevoegen" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "Opmerking" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "Symbolen" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "Alle evaluaties" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "Verwijderen" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "Geen tijdbeheer" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "minuten" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "seconden" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "%(time)s voor %(count)dzetten" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "zet" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "ronde %s" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "Tips" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "Het tippaneel toont door de computer gegeneerd advies tijdens de voortgang van het spel" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Officieel PyChess-paneel" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Openingenboek" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "Het openingenboek probeert je te inspireren tijdens de beginfase van het spel door je gebruikelijke zetten te tonen, zoals gedaan door schaakhelden" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "Analyse door %s" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "%s zal proberen te voorspellen welke zet het beste is en welk speelveld voordeel heeft" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "Aanvalsanalyse door %s" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "%s identificeert welke aanvallen kunnen bestaan alsof je tegenstander aan de beurt is" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "Bezig met berekenen..." #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "Aandrijvingsscores zijn in pioneenheden, vanuit het gezichtsveld van Wit. Door te dubbelklikken op de analyseregels kun je ze invoegen op het Aantekeningpaneel als variaties." #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "Het toevoegen van suggesties kan je helpen bij het vinden van ideëen, maar vertraagt de computeranalyse." #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "Eindspel-tabel" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "De eindspeltabel toont je de exacte analyse als er weinig stukken op het bord staan." #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "Schaakmat op %d" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "In deze positie\nis er geen legale zet." #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "Het chatpaneel stelt je tijdens het spel in staat om te communiceren met je tegenstander, als hij of zij daarin geïnteresseerd is." #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Opmerkingen" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "Het opmerkingenpaneel probeert om de gespeelde zetten te analyseren en uit te leggen." #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Uitgangspositie" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "%(color)s verplaatst een %(piece)s naar %(cord)s" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "Aandrijvingen" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "Het aandrijvings-uitvoerpaneel toont de denkwijze van schaakaandrijvingen (computerspelers) tijdens een spel." #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "Er doen geen schaakaandrijvingen (computerspelers) mee met dit spel." #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Zetgeschiedenis" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "De zetgeschiedenis houdt de zetten van de speler bij en stelt je in staat te navigeren door de spelgeschiedenis." #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Score" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "Het scorepaneel probeert de posities te evalueren en je een grafiek te tonen van de spelvoortgang." #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "Eindspellen beoefenen met computer" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "Titel" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "FICS-lezing offline bestuderen" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "Auteur" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "Interactieve lessen met begeleiding in de stijl van \"raad de zet\"" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "Bron" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "Voortgang" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "Lichess-oefenstudies, puzzels van GM-spellen en schaakcomposities" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "overigen" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "Leren" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "Stoppen met leren" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "lichess" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "wtharvey" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "yacpdb" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "lessen" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "Mijn voortgang terugzetten op nul" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "Je verliest al je voortgangsgegevens!" pychess-1.0.0/lang/pt_BR/0000755000175000017500000000000013467766037014210 5ustar varunvarunpychess-1.0.0/lang/pt_BR/LC_MESSAGES/0000755000175000017500000000000013467766037015775 5ustar varunvarunpychess-1.0.0/lang/pt_BR/LC_MESSAGES/pychess.mo0000644000175000017500000032315713467766035020021 0ustar varunvarunR*xxxx!xxyyyyy y$y-y5yPy Uy_y|y yyy0y'y@y8zIzZzmzzzzzzz# {$/{#T{x{{{{{{{||1|G|Y|s|?|Q|&}$?}+d}C}7}U ~"b~*~(~~~&e, &. &<L[(m S ))1[ a o{m $.=L` ~Ă˂CԂ ' 2 <G [h q{ ҃ */Z p | „˄ӄ ۄ/SQsŅ!& Ab/SQ#U*y-"҇+(!Jr \K}'ɉ%O-g3$Ɋ6#%EIAы!!-3&a-; BV[ckrx  $č#% 3 ގ"# *0[ b lv Ə %,Ð "$' *5D M8W.  # ( 2>Rc hv"  ɒ Ւ 6VJVRSK ȔΔԔ *#,N1{ǕЕ ؕ & %0EVlt:} /Ŗ  (4T ]h  —Xؗb1͘ #247FO T^dw<ə 6;JGS`A>W` s"~p %37 ? I Ub*w " 1:֝}ޝ \ gs&.˞ 1GMT\s |: 0@MDHӠFHc=w}* ¥ťۥ  %1&8!_&8   %4;A  )7Hdlou{ Ϩߨ  #5Fҩک   $1 8BJ OZ _ir$x4٪  (F!M o |  « Ϋ ۫:$*OSV^ap1uGA1ȭ>~XRBic]?nB;q-SOFC  &ȳ$% ?M)a ö Զ  !<A IUD\÷ܷ  & -9+Am  ĸʸܸE  *:R fp  ºӺ + 7B+Iu|  ˻     )!3U] d Ƽͼ ּ   !-3 :EMORWhp. /̽   +#9$]$##˾#  (28@ ECS˿ڿ .I\ do     ,DLtQ,*+*Ju|.   #84Av ) 5?GM R \ iv {    "1 :F NX`g{[ %1B_8g' #4O    .;= ERY_~  * 1 <J\x 4 ?RYben,  % + 6@ Vc h r(.*It %)F We"z 0 ? JVBf$.B J W cp /!L)v  ,   #6=Pfjq    2=E b o|p!h"wC5KJ`493NR]3ch T2 9Z*C]yI}Z`vqZ&-K4-~E-,sAA$ :F KX h vZ_ grx ,13:BuVyFWi n| 4$%8N Vca iu } !07 hsyQ6" 5C9LUM4  $#% ="H#k*  1D_rB9?97(q/yCD$3&=F+Cax% tG &%l!Anc/&()&R'y'|Fc s~ & "+ <H NYb%h     " /9JS \$j  +2F LY!])81'4\u$!  - 75A"we+,AXp!  (4 7 DRcr,6($Me| #!<^~DX|0 AHK $%*Pety@-ZHU)`.A 0p ' ; $ $* <O 9 0   4 "N q   & %  1 = #Q #u b M :J   .       0 5+@ l v 9'RFXj#"&(9'b"!)DUpHT''|)*X6RN):6=te3;JQ-Y*!$!7.U,[ / 5 V d rm" 8FVf$ X  f s~   2J S^g m8   )+1O kv~ 1TT!v$"/1GTyT"#+F1r($+p"* GM .  \ 5@!7v!-!9!4"bK"E"'"##+@#,l#'#8#<#7$DW$ $$$$$$$$$$$ $ % %+%%K%q%%@&6U&5&+&&&''1'7' >'"K'n'''' '''(w((( (( ((((( ( () )8) M)W)_)r){) )))))) )))**-*%D*j*y* *******>*d+\~+Z+\6,,,,,,, ,,3-?Q-<-- - - -- . . .+."1. T._.v... .:. .;. 0/;/ A/#L/ p/~// //&// 00[20c0 0 1"41W1`1t1y111111111 11111 2! 2.2IL2 22 222E2f;3?3334 4!#4E4L4T4w\4444 44 55:95t5 z55505555(56 66~77777.7-7'808 981C8u8|888 8 888;89,959%89:^9B9D9H!:Fj:J::U<e=y2>> 1? ??K?!N?#p?? ????)?&?2"@U@E]@+@@ @@@A AAAAA$B&B6BGBaBhBkB rB~BBBBBBBBCC,CBCHC`CvCCDD DD#D>D GD QD_D gDsD{D DD DD D2D D:D(E /E=EDEFELEdEE EEEEEE E EF FFF $F /F =FHF6PF.FFF FFFFBFY%GXGGHSWIfI@JBSJtJw KHKOK6LpSLNL>MPRN NNN NNN%NO$+O!PO rO}O-bQQQ QQ QQ Q QQR'RXIX[XuX }X X X XXX XXXX X YYY Y#Y(Y7Y@YPY VY-aYYY=YY Y YYZ ZZ4ZLZdZ{ZZ ZZZ ZZZZZOZ K[l[t[ [ [![[[ [([#\?\ H\T\ m\z\\\\\\\\ ]5]F]V]j]}] ]]k] ^'7^_^ }^ ^^&^5^ _ &_1_F_^_q__ _5___````=`S` U```f`{``` ` ```````` a aa a )a5a;awaa%aaa a ab bb!b*bEb Nb[ob bb bb'c?cJNccc&c c c c cd# d"0dSd e eeee+e?eOe Qe\e lewe"ee eee ee f #f -f8f@f[fsf |ffff f f fffgg g7g>gFgbgwg7ggggg gg+h,h EhRhmh hh h hhhh hh i0&i$Wi|i ii#iii*j>j Yjej kjvjjjj j0j!k$7k\kxkk#k"kkl l%l-l 1lt8tuU+uu/uquCvvV w`wD~wgw+xDxWxixI~x|x#Eyaiyyyszz zz_z{9{@{LF{#{s{H+|)t|H|P|8} T}a}g}y}} } } }} }}~~ ~~~~~~~~+237kmt}LM6H _m} /* *7S iw dq͂% 1J6f V1%JpMׄ  ")W;[ & % 1 =,K&x 7և6,Er{  Ɉ ӈ ވ-E`2g#NRrQŋV+n;֌>e Dō" @-n!  ,(M%v$*2*4_ߐsKj *iK)Uߓ,5(b"&'Ք.i,# ǕЕؕ . HU d p |  Жז3ޖ  ' =K fr y  ֗   *.Y o|  7ɘ- 5?0A6rG!85S#/š. !-J` h v 8#Ŝe-O}ŝޝ $)&/+V" Þ֞2I\#c9& 2= FPdf(k+Ӡ- >Vjnrz1*\ cxa4n< 70 YG567=S9N)%Lt4gC}WSV\LUs5gX+NEWj0{/ K$7VI-0"d'OLy,lMj+B+w=EOwb_2:d'DRI+] FX Ccm'/vRS{(:6,z:f  6O.RCs6w 1T=opI!g2;+n ^)KS=q3UAZ{CT\Mhv]0NA*fkj*|]Rxd3N[&f/u kF}j&'|*uw)d/!E^1;=?I>X&(t,J$%a@XD[$84zI":lg0hH$s+Tp.o7?"z-,?^Lc&n &$nA]C1)hpzQKP_mWV]P"sR`GphtME2<(qL ->~Fd.'aqcxJ{P (8KOIQ`.B8 ;gkr\MDPU.`rGsu;_(nh3:BHyAi1 <@yt\}V?@8b}HQ2~9Q `SZ##9 %l[9zoRrA# )Z.M u3B %cY(9rl"U_  *!P E->ZHi<o{GY@B3<HPY'`ai #m;>W;4"|JJJ| m _v2w H*v? !5Q8 1K@0y=cNi@  TD>qL&9%V/-1D\ e5~Ge,Y[b!F^txW}| GZK5iMFoN7af8e4)O?~#%f6Dx7Uv,bX!<C/rylpm5b[>O k$eqE ^QF3u#Bk:ej*T A6J4~2- Gain: + %d sec challenges you to a %(time)s %(rated)s %(gametype)s game chess has arrived has declined your offer for a match has departed has lagged for 30 seconds invalid engine move: %s is censoring you is lagging heavily but hasn't disconnected is not installed is present min noplay listing you uses a formula not fitting your match request: where %(player)s plays %(color)s. with whom you have an adjourned %(timecontrol)s %(gametype)s game is online. would like to resume your adjourned %(time)s %(gametype)s game.%(black)s won the game%(color)s got a double pawn %(place)s%(color)s got an isolated pawn in the %(x)s file%(color)s got isolated pawns in the %(x)s files%(color)s got new double pawns %(place)s%(color)s has a new passed pawn on %(cord)s%(color)s moves a %(piece)s to %(cord)s%(counter)s game headers from %(filename)s imported%(minutes)d min + %(gain)d sec/move%(name)s %(minutes)d min %(duration)s%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s%(name)s %(minutes)d min / %(moves)d moves %(duration)s%(opcolor)s has a new trapped bishop on %(cord)s%(path)s containing %(count)s games%(player)s is %(status)s%(player)s plays %(color)s%(time)s for %(count)d moves%(white)s won the game%d min%s can no longer castle%s can no longer castle in kingside%s can no longer castle in queenside%s games processed%s moves pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent%s will identify what threats would exist if it were your opponent's turn to move%s will try to predict which move is best and which side has the advantage'%s' is a registered name. If it is yours, type the password.'%s' is not a registered name(Blitz)(Link is available on clipboard.)*-00 Players Ready0 of 00-11-01-minute1/2-1/210 min + 6 sec/move, White120015-minute2 min, Fischer Random, Black3-minute45-minute5 min5-minuteConnect to Online Chess ServerPromote pawn to what?PyChess was unable to load your panel settingsAnalyzingAnimationBoard StyleChess SetsChess VariantEnter Game NotationGeneral OptionsInitial PositionInstalled SidepanelsMove textName of _first human player:Name of s_econd human player:New version %s is available!Open GameOpen databaseOpening, endgameOpponent StrengthOptionsPlay Sound When...PlayersStart learningTime ControlWelcome screenYour Color_Connect to server_Start Game%s is not marked executable in the filesystemA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedError loading gameFile '%s' already exists.PyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to add %sUnable to save file '%s'Unknown file type '%s'Challenge:A player _checks:A player _moves:A player c_aptures:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortAbout ChessAc_tiveAcceptActivate alarm when _remaining sec is:Active color field must be one of w or b. %sActive seeks: %dAdd commentAdd evaluation symbolAdd move symbolAdd new filterAdd start commentAdd sub-fen filter from position/circlesAdd threatening variation lines Adding suggestions can help you find ideas, but slows down the computer's analysis.Additional tagsAddress ErrorAdjournAdjourned, history and journal games listAdminAdministratorAfghanistanAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbaniaAlgeriaAll Chess FilesAll the evaluationsAll whiteAmerican SamoaAnalysis by %sAnalyze black movesAnalyze from current positionAnalyze gameAnalyze white movesAnalyzer's primary variationAndorraAngolaAnguillaAnimate pieces, board rotation and more. Use this on fast machines.Annotated gameAnnotationAnnotatorAntarcticaAntigua and BarbudaAny strengthArchivedArgentinaArmeniaArubaAsian variantsAsk for permissionsAsk to _MoveAssessAsymmetric RandomAsymmetric Random AtomicAustraliaAustriaAuthorAuto Call _FlagAuto _promote to queenAuto _rotate board to current human playerAuto login on startupAuto-logoutAvailableAzerbaijanBB EloBack to main lineBackround image path :Bad moveBahamasBahrainBangladeshBarbadosBecause %(black)s lost connection to the serverBecause %(black)s lost connection to the server and %(white)s requested adjournmentBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s king explodedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause %(mover)s stalematedBecause %(white)s lost connection to the serverBecause %(white)s lost connection to the server and %(black)s requested adjournmentBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause %(winner)s has fewer piecesBecause %(winner)s king reached the centerBecause %(winner)s king reached the eight rowBecause %(winner)s lost all piecesBecause %(winner)s was giving check 3 timesBecause %(winner)s wiped out white hordeBecause a player aborted the game. Either player can abort the game without the other's consent before the second move. No rating changes have occurred.Because a player disconnected and there are too few moves to warrant adjournment. No rating changes have occurred.Because a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both king reached the eight rowBecause both players agreed to a drawBecause both players agreed to abort the game. No rating changes have occurred.Because both players agreed to an adjournmentBecause both players have the same amount of piecesBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause of adjudication by an admin. No rating changes have occurred.Because of courtesy by a player. No rating changes have occurred.Because practice goal reachedBecause the %(black)s engine diedBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBecause the server was shut downBecause the server was shut down. No rating changes have occurred.BeepBelarusBelgiumBelizeBeninBermudaBestBest moveBhutanBishopBlackBlack ELO:Black O-OBlack O-O-OBlack has a new piece in outpost: %sBlack has a rather cramped positionBlack has a slightly cramped positionBlack have to capture all white pieces to win. White wants to checkmate as usual. White pawns on the first rank may move two squares, similar to pawns on the second rank.Black moveBlack should do pawn storm in leftBlack should do pawn storm in rightBlack side - Click to exchange the playersBlack:BlindFoldBlindfoldBlindfold AccountBlitzBlitz:Blitz: 5 minBolivia (Plurinational State of)Bonaire, Sint Eustatius and SabaBook depth max:Bosnia and HerzegovinaBotswanaBouvet IslandBrazilBringing your king legally to the center (e4, d4, e5, d5) instantly wins the game! Normal rules apply in other cases and checkmate also ends the game.British Indian Ocean TerritoryBrunei DarussalamBughouseBulgariaBulletBurkina FasoBurundiCCACMCabo VerdeCalculating...CambodiaCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCameroonCanadaCandidate MasterCapturedCastling availability field is not legal. %sCategory:Cayman IslandsCenter:Central African RepublicChadChallengeChallenge: Challenge: Change ToleranceChatChess AdvisorChess Alpha 2 DiagramChess Compositions from yacpdb.orgChess GameChess PositionChess ShoutChess clientChess960ChileChinaChristmas IslandClaim DrawClassic chess rules http://en.wikipedia.org/wiki/ChessClassic chess rules with all pieces white http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden figurines http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pawns http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pieces http://en.wikipedia.org/wiki/Blindfold_chessClassicalClassical: 3 min / 40 movesClearClockClose _without SavingCocos (Keeling) IslandsColombiaColorize analyzed movesCommand line interface to the chess serverCommand line parameters needed by the engineCommand line parameters needed by the runtime envCommand:CommentComment:CommentsComorosCompensationComputerComputersCongoCongo (the Democratic Republic of the)ConnectingConnecting to serverConnection ErrorConnection was closedConsoleContinueContinue to wait for opponent, or try to adjourn the game?Cook IslandsCool! Now let see how it goes in the main line.Copy FENCornerCosta RicaCould not save the fileCounterplayCountry of origin of the engineCountry:CrazyhouseCreate New Pgn DatabaseCreate New Polyglot Opening BookCreate Polyglot BookCreate SeekCreate a new databaseCreate new squence where listed conditions may be satisfied at different times in a gameCreate new streak sequence where listed conditions have to be satisfied in consecutive (half)movesCreate polyglot opening bookCreating .bin index file...Creating .scout index file...CroatiaCrushing advantageCubaCuraçaoCyprusCzechiaCôte d'IvoireDDMDark Squares :DatabaseDateDate/TimeDate:Decisive advantageDeclineDefaultDenmarkDestination Host UnreachableDetailed connection settingsDetailed settings of players, time control and chess variantDetect type automaticallyDevelopment advantageDiedDisplay MasterDjiboutiDo you know that it is possible to finish a chess game in just 2 turns?Do you know that the number of possible chess games exceeds the number of atoms in the Universe?Do you really want to restore the default options of the engine ?Do you want to abort it?DominicaDominican RepublicDon't careDon't show this dialog on startup.DrawDraw:DrawishDue to abuse problems, guest connections have been prevented. You can still register on http://www.freechess.orgDummy AccountECOEcuadorEdit SeekEdit Seek: Edit commentEdit selected filterEffect on ratings by the possible outcomesEgyptEl SalvadorEloEmailEn passant cord is not legal. %sEn passant lineEndgame TableEndgamesEngine playing strength (1=weakest, 20=strongest)Engine scores are in units of pawns, from White's point of view. Double clicking on analysis lines you can insert them into Annotation panel as variations.EnginesEngines use uci or xboard communication protocol to talk to the GUI. If it can use both you can set here which one you like.Enter GameEnvironmentEquatorial GuineaEritreaError parsing %(mstr)sError parsing move %(moveno)s %(mstr)sEstimated duration : %(min)d - %(max)d minutesEstoniaEthiopiaEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventEvent:ExamineExamine Adjourned GameExaminedExaminingExcellent moveExecutable filesExpected format as "yyyy.mm.dd" with the allowed joker "?"Export positionExternalsFAFEN needs 6 data fields. %sFEN needs at least 2 data fields in fenstr. %sFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns * No castling * Black's arrangement mirrors white'sFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED * No castling * Black's arrangement DOES NOT mirrors white'sFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Pawns start on their 7th rank rather than their 2nd rank!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Pawns start on 4th and 5th ranks rather than 2nd and 7thFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html White pawns start on 5th rank and black pawns on the 4th rankFIDE ArbeiterFIDE MasterFMF_ull board animationFace _to Face display modeFalkland Islands [Malvinas]Faroe IslandsFijiFile existsFilterFilter game list by current game movesFilter game list by opening movesFilter game list by various conditionsFiltersFilters panel can filter game list by various conditionsFind postion in current databaseFingerFinlandFirst gamesFischer RandomFollowFont:For each player, the statistics provide the probability to win the game and the variation of your ELO if you lose / end into a tie / win, or simply the final ELO rating changeForced moveFrame:FranceFree comment about the engineFrench GuianaFrench PolynesiaFrench Southern TerritoriesFriendsGMGabonGain:GambiaGameGame ListGame analyzing in progress...Game cancelledGame informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Game shared at GamesGames running: %dGaviota TB path:Generally this means nothing, as the game is time-based, but if you want to please your opponent, perhaps you should get going.GeorgiaGermanyGhanaGibraltarGiveawayGo back to the main lineGo onGood moveGrand MasterGreeceGreenlandGrenadaGridGuadeloupeGuamGuatemalaGuernseyGuestGuest logins disabled by FICS serverGuestsGuided interactive lessons in "guess the move" styleGuineaGuinea-BissauGuyanaHHaitiHalfmove clockHandle seeks and challengesHandle seeks on graphical wayHeaderHeard Island and McDonald IslandsHidden pawnsHidden piecesHideHintHintsHoly SeeHondurasHong KongHordeHost:How to PlayHtml DiagramHuman BeingHungaryICC giveaway: https://www.chessclub.com/user/help/GiveawayICC lag compensation needs timestampICSIMIcelandIdIdentificationIdleIf set you can refuse players accepting your seekIf set, FICS game numbers in tab labels next to player names are shown.If set, PyChess will colorize suboptimal analyzed moves with red.If set, PyChess will show game results for different moves in positions containing 6 or less pieces. It will search positions from http://www.k4it.de/If set, PyChess will show game results for different moves in positions containing 6 or less pieces. You can download tablebase files from: http://www.olympuschess.com/egtb/gaviota/If set, PyChess will suggest best opening moves on hint panel.If set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, clicking on main application window closer first time it closes all games.If set, pawn promotes to queen without promotion dialog selection.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the captured figurines will be shown next to the board.If set, the elapsed time that a player used for the move is shown.If set, the hint analyzer engine evaluation value is shown.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If the analyzer finds a move where the evaluation difference (the difference between the evaluation for the move it thinks is the best move and the evaluation for the move made in the game) exceeds this value, it will add an annotation for that move (consisting of the engine's Principal Variation for the move) to the Annotation panelIf you don't save, new changes to your games will be permanently lost.Ignore colorsIllegalImagesImbalanceImportImport PGN fileImport annotated games from endgame.nlImport chessfileImport games from theweekinchess.comImporting game headers...In TournamentIn this game, check is entirely forbidden: not only is it forbidden to move ones king into check, but it is also forbidden to check the opponents king. The purpose of the game is to be the first player that moves his king to the eight row. When white moves their king to the eight row, and black moves directly after that also their king to the last row, the game is a draw (this rule is to compensate for the advantage of white that they may move first.) Apart from the above, pieces move and capture precisely as in normal chess.In this position, there is no legal move.Indent _PGN fileIndiaIndonesiaInfinite analysisInfoInitial positionInitial setupInitiativeInteresting moveInternational MasterInvalid move.Iran (Islamic Republic of)IraqIrelandIsle of ManIsraelIt is not possible later to continue the game, if you don't save it.ItalyJamaicaJapanJerseyJordanJump to initial positionJump to latest positionKKazakhstanKenyaKingKing of the hillKiribatiKnightKnight oddsKnightsKorea (the Democratic People's Republic of)Korea (the Republic of)KuwaitKyrgyzstanLag:Lao People's Democratic RepublicLatviaLearnLeave _FullscreenLebanonLecturesLengthLesothoLessonsLevel 1 is the weakest and level 20 is the strongest. You may not define a too high level if the engine is based on the depth to exploreLiberiaLibyaLichess practice studies Puzzles from GM games and Chess compositionsLiechtensteinLight Squares :LightningLightning:List of ongoing gamesList of playersList of server channelsList of server newsLithuaniaLoad _Recent GameLoading player dataLocal EventLocal SiteLog OffLog on ErrorLog on as _GuestLogging on to serverLosersLossLoss:LuxembourgMacaoMacedonia (the former Yugoslav Republic of)MadagascarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMalawiMalaysiaMaldivesMaliMaltaMamer ManagerManage enginesManualManual AcceptManually accept opponentMarshall IslandsMartiniqueMateMate in %dMaterial/moveMauritaniaMauritiusMaximum analysis time in seconds:MayotteMexicoMicronesia (Federated States of)Minutes:Minutes: Moderate advantageMoldova (the Republic of)MonacoMongoliaMontenegroMontserratMore channelsMore playersMoroccoMoveMove HistoryMove numberMovedMoves:MozambiqueMyanmarNNMNameNames: #n1, #n2NamibiaNational MasterNauruNeedNeeds 7 slashes in piece placement field. %sNepalNetherlandsNever use animation. Use this on slow machines.NewNew CaledoniaNew GameNew RD:New ZealandNew _DatabaseNew game from 1-minute playing poolNew game from 15-minute playing poolNew game from 25-minute playing poolNew game from 3-minute playing poolNew game from 5-minute playing poolNew game from Chess960 playing poolNewsNextNext gamesNicaraguaNigerNigeriaNiueNo _animationNo chess engines (computer players) are participating in this game.No conversation's selectedNo soundNo time controlNorfolk IslandNormalNormal: 40 min + 15 sec/moveNorthern Mariana IslandsNorwayNot AvailableNot a capture (quiet) moveNot the best move!ObserveObserve %sObserved _ends:ObserversOddsOffer A_bortOffer AbortOffer Ad_journmentOffer PauseOffer RematchOffer ResumeOffer UndoOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOmanOn FICS, your "Wild" rating encompasses all of the following variants at all time controls: One player starts with one less knight pieceOne player starts with one less pawn pieceOne player starts with one less queen pieceOne player starts with one less rook pieceOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpenOpen GameOpen Sound FileOpen chess fileOpening BookOpening booksOpening chessfile...OpeningsOpenings panel can filter game list by opening movesOpponent RatingOpponent's strength: OptionOptionsOtherOther (non standard rules)Other (standard rules)PPakistanPalauPalestine, State ofPanamaPapua New GuineaParaguayParameters:Paste FENPatternPausePawnPawn oddsPawns PassedPawns PushedPeruPhilippinesPick a datePingPitcairnPlacementPlayPlay Fischer Random chessPlay Losers chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer ListPlayer _RatingPlayers:Players: %dPlayingPng imagePo_rts:PolandPolyglot book file:PortugalPractice endgames with computerPre-chess: https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_positionPre_viewPrefer figures in _notationPreferencesPreferred level:Preparing to start import...PreviewPreview panel can filter game list by current game movesPrevious gamesPrivateProbably because it has been withdrawn.ProgressPromotionProtocol:Puerto RicoPuzzlesPyChess - Connect to Internet ChessPyChess Information WindowPyChess has lost connection to the engine, probably because it has died. You can try to start a new game with the engine, or try to play against another one.PyChess.py:QQatarQueenQueen oddsQuit LearningQuit PyChessRR_esignRacing KingsRandomRapidRapid: 15 min + 10 sec/moveRatedRated gameRatingRating change:Reading %s ...Receiving list of playersRecreating indexes...RefreshRegisteredRemoveRemove selected filterRequest ContinuationResendResend %s?Reset ColoursReset my progressRestore the default optionsResultResult:ResumeRetryRomaniaRookRook oddsRotate the boardRoundRound:Running Simul MatchRuntime env command:Runtime env parameters:Runtime environment of engine command (wine or node)Russian FederationRwandaRéunionSRS_ign upSaint BarthélemySaint Helena, Ascension and Tristan da CunhaSaint Kitts and NevisSaint LuciaSaint Martin (French part)Saint Pierre and MiquelonSaint Vincent and the GrenadinesSamoaSan MarinoSanctionsSao Tome and PrincipeSaudi ArabiaSaveSave GameSave Game _AsSave _own games onlySave _rating change valuesSave analyzing engine _evaluation valuesSave arrows/circlesSave asSave database asSave elapsed move _timesSave files to:Save moves before closing?Save the current game before you close it?Save to PGN file as...ScoreScoutSearch:Seek GraphSeek _GraphSeek updatedSeeks / ChallengesSelect Gaviota TB pathSelect a pgn or epd or fen chess fileSelect auto save pathSelect background image fileSelect book fileSelect engineSelect sound file...Select the games you want to save:Select working directorySend ChallengeSend all seeksSend seekSenegalSeqSequenceSerbiaServer:Service RepresentativeSetting up environmentSetup PositionSeychellesSho_w cordsShort on _time:Should %s publicly publish your game as PGN on chesspastebin.com ?ShoutShow FICS game numbers in tab labelsShow _captured piecesShow elapsed move timesShow evaluation valuesShow tips at startupShredderLinuxChess:ShuffleSide to moveSide_panelsSierra LeoneSimple Chess PositionSingaporeSint Maarten (Dutch part)SiteSite:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinSlight advantageSlovakiaSloveniaSolomon IslandsSomaliaSome of PyChess features needs your permission to download external programsSorry '%s' is already logged inSound filesSourceSouth AfricaSouth Georgia and the South Sandwich IslandsSouth SudanSp_y arrowSpainSpentSri LankaStandardStandard:Start Private ChatStatusStep back one moveStep forward one moveStrStreakStudy FICS lectures offlineSub-FEN :SudanSuicideSurinameSuspicious moveSvalbard and Jan MayenSwazilandSwedenSwitzerlandSymbolsSyrian Arab RepublicTTDTMTaiwan (Province of China)TajikistanTalkingTanzania, United Republic ofTeam AccountText DiagramTexture:ThailandThe abort offerThe adjourn offerThe analyzer will run in the background and analyze the game. This is necessary for the hint mode to workThe chain button is disabled because you are logged in as a guest. Guests can't establish ratings, and the chain button's state has no effect when there is no rating to which to tie "Opponent Strength" toThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe current game is not terminated. Its export may have a limited interest.The current game is over. First, please verify the properties of the game.The directory where the engine will be started from.The displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe endgame table will show exact analysis when there are few pieces on the board.The engine %s reports an error:The engine is already installed under the same nameThe engine output panel shows the thinking output of chess engines (computer players) during a gameThe entered password was invalid. If you forgot your password, go to http://www.freechess.org/password to request a new one over email.The error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The flag callThe game can't be loaded, because of an error parsing FENThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe hint panel will provide computer advice during each stage of the gameThe inverse analyzer will analyze the game as if your opponent was to move. This is necessary for the spy mode to workThe move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe reason is unknownThe resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe takeback offerThebanThemesThere is %d game with unsaved moves.There are %d games with unsaved moves.There is something wrong with this executableThis game can be automatically aborted without rating loss because there has not yet been two moves madeThis game can not be adjourned because one or both players are guestsThis is a continuation of an adjourned matchThis option is not applicable because you're challenging a playerThis option is not available because you're challenging a guest, Threat analysis by %sThree-checkTimeTime controlTime control: Time pressureTimor-LesteTip Of The dayTip of the DayTitleTitledTo save a game Game > Save Game As, give the filename and choose where you want to be saved. At the bottom choose extension type of the file, and Save.TogoTokelauTolerance:TongaTournament DirectorTranslate PyChessTrinidad and TobagoTry chmod a+x %sTunisiaTurkeyTurkmenistanTurks and Caicos IslandsTuvaluTypeType or paste PGN game or FEN positions hereUUgandaUkraineUnable to accept %sUnable to save to configured file. Save the games before closing?Unable to save to configured file. Save the current game before you close it?Unclear positionUndescribed panelUndoUndo one moveUndo two movesUninstallUnited Arab EmiratesUnited Kingdom of Great Britain and Northern IrelandUnited States Minor Outlying IslandsUnited States of AmericaUnknownUnknown game stateUnofficial channel %dUnratedUnregisteredUnticked : the exponential stretching displays the full range of the score and enlarges the values around the null average. Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better.UntimedUpside DownUruguayUse _analyzerUse _inverted analyzerUse _local tablebasesUse _online tablebasesUse a linear scale for the scoreUse analyzer:Use name format:Use opening _bookUse time compensationUsed by engine players and polyglot book creatorUzbekistanValueVanuatuVariantVariant developed by Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Variation annotation creation threshold in centipawns:Venezuela (Bolivarian Republic of)Very bad moveViet NamView lectures, solve puzzles or start practicing endgamesVirgin Islands (British)Virgin Islands (U.S.)W EloWFMWGMWIMWaitWallis and FutunaWarning: this option generates a formatted .pgn file which is not standards complientWas unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.WelcomeWell done!Well done! %s completed.Western SaharaWhen this button is in the "locked" state, the relationship between "Opponent's strength" and "Your strength" will be preserved when a) your rating for the type of game sought has changed b) you change the variant or the time controlWhiteWhite ELO:White O-OWhite O-O-OWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite has a slightly cramped positionWhite moveWhite should do pawn storm in leftWhite should do pawn storm in rightWhite side - Click to exchange the playersWhite:WildWildcastleWildcastle shuffleWinWin by giving check 3 timesWin:Winning %With attackWoman FIDE MasterWoman Grand MasterWoman International MasterWorking directory:Year, month, day: #y, #m, #dYemenYou are currently logged in as a guest but there is a completely free trial for 30 days, and beyond that, there is no charge and the account would remain active with the ability to play games. (With some restrictions. For example, no premium videos, some limitations in channels, and so on.) To register an account, go to You are currently logged in as a guest. A guest can't play rated games and therefore isn't able to play as many of the types of matches offered as a registered user. To register an account, go to You asked your opponent to moveYou can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou can't select a variant because "Untimed" is checked, You can't switch colors during the game.You can't touch this! You are examining a game.You don't have the necessary rights to save the file. Please ensure that you have given the right path and try again.You have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou have to set kibitz on to see bot messages here.You have tried to undo too many moves.You have unsaved changes. Do you want to save before leaving?You may only have 3 outstanding seeks at the same time. If you want to add a new seek you must clear your currently active seeks. Clear your seeks?You sent a draw offerYou sent a pause offerYou sent a resume offerYou sent an abort offerYou sent an adjournment offerYou sent an undo offerYou sent flag callYou will lose all your progress data!Your opponent asks you to hurry!Your opponent has asked that the game be aborted. If you accept this offer, the game will end with no rating change.Your opponent has asked that the game be adjourned. If you accept this offer, the game will be adjourned and you can resume it later (when your opponent is online and both players agree to resume).Your opponent has asked that the game be paused. If you accept this offer, the game clock will be paused until both players agree to resume the game.Your opponent has asked that the game be resumed. If you accept this offer, the game clock will continue from where it was paused.Your opponent has asked that the last %s move(s) be undone. If you accept this offer, the game will continue from the earlier position.Your opponent has offered you a draw.Your opponent has offered you a draw. If you accept this offer, the game will end with a score of 1/2 - 1/2.Your opponent is not out of time.Your opponent must agree to abort the game because there has been two or more moves madeYour opponent seems to have changed their mind.Your opponent wants to abort the game.Your opponent wants to adjourn the game.Your opponent wants to pause the game.Your opponent wants to resume the game.Your opponent wants to undo %s move(s).Your panel settings have been reset. If this problem repeats, you should report it to the developersYour seeks have been removedYour strength: Your turn.ZambiaZimbabweZugzwang_Accept_Actions_Analyze Game_Archived_Auto save finished games to .pgn file_Call Flag_Clear Seeks_Copy FEN_Copy PGN_Decline_Edit_Engines_Export Position_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hint arrow_Hints_Invalid move:_Load Game_Log Viewer_My games_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Puzzle success:_Recent:_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Untimed_Use main app closer [x] to close all games_Use sounds in PyChess_Variation choices:_View_Your Color:andand guests can't play rated gamesand on FICS, untimed games can't be ratedand on FICS, untimed games have to be normal chess rulesask your opponent to moveblackbrings a %(piece)s closer to enemy king: %(cord)sbrings a pawn closer to the backrow: %scall your opponents flagcaptures materialcastlesdatabase opening tree needs chess_dbdatabase querying needs scoutfishdefends %sdevelops a %(piece)s: %(cord)sdevelops a pawn: %sdrawsexchanges materialgnuchess:half-openhttp://brainking.com/en/GameRules?tp=2 * Placement of the pieces on the 1st and 8th row are randomized * The king is in the right hand corner * Bishops must start on opposite color squares * Black's starting position is obtained by rotating white's position 180 degrees around the board's center * No castlinghttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyin the %(x)s%(y)s filein the %(x)s%(y)s filesincreases the pressure on %sinvalid promoted piecelessonslichessmatesminminsmovemoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %snot playingofoffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalotherspawn capture without target piece is invalidpins an enemy %(oppiece)s on the %(piece)s at %(cord)splaces a %(piece)s more active: %(cord)spromotes a Pawn to a %sputs opponent in checkrating range nowrescues a %sresignround %ssacrifices materialsecsecsslightly improves king safetytakes back materialthe captured cord (%s) is incorrectthe end cord (%s) is incorrectthe move needs a piece and a cordthreatens to win material by %sto automatic acceptto manual acceptucivs.whitewindow1wtharveyxboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Random arrangement of the pieces behind the pawns * No castling * Black's arrangement mirrors white'sxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * White has the typical set-up at the start. * Black's pieces are the same, except that the King and Queen are reversed, * so they are not on the same files as White's King and Queen. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * In this variant both sides have the same set of pieces as in normal chess. * The white king starts on d1 or e1 and the black king starts on d8 or e8, * and the rooks are in their usual positions. * Bishops are always on opposite colors. * Subject to these constraints the position of the pieces on their first ranks is random. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.yacpdbÅland IslandsProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Portuguese (Brazil) (http://www.transifex.com/gbtami/pychess/language/pt_BR/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: pt_BR Plural-Forms: nplurals=2; plural=(n > 1); Incremento: + %d secdesafia você para um %(time)s %(rated)s %(gametype)s jogo xadrezestá chegandorecusou sua oferta para um jogoestá saindoAtraso de 30 segundosmovimento invalido do computador: %sestá censurando vocêo atraso é alto mas não desconectounão está instaladoestá presente minnão listou vocêUsar uma formula não apropriada para sua solicitação de jogo:onde %(player)s joga %(color)s.com que você teve um jogo %(timecontrol)s %(gametype)s adiado está online.gostaria de retomar seu jogo adiado %(time)s %(gametype)s.%(black)s venceu o jogo%(color)s têm um Peão dobrado %(place)s%(color)s têm um Peão isolado na coluna %(x)s%(color)s têm Peões isolados nas colunas %(x)s%(color)s têm novos Peões dobrados %(place)s%(color)s têm um novo Peão passado em %(cord)s%(color)s movem %(piece)s para %(cord)s%(counter)s cabeçalhos de jogos de %(filename)s importados%(minutes)d min + %(gain)d sec/lance%(name)s%(minutes)d min %(duration)s%(name)s%(minutes)d min %(sign)s%(gain)dsec/mov %(duration)s%(name)s%(minutes)dmin / %(moves)dmovimentos %(duration)s%(opcolor)s têm um novo Bispo preso em %(cord)s%(path)s contém %(count)s jogos%(player)s está %(status)s%(player)s joga %(color)s%(time)s para %(count)d movimentos%(white)s venceu o jogo%d min%s não podem mais rocar%s não podem mais fazer pequeno-roque%s não podem mais fazer roque grande%s jogos processados%s movem os Peões para uma formação de muralha%s retornou um erro%s foi recusado por seu adversário%s foi retirada por seu adversário%s vai identificar quais são as ameaças existentes, se fosse seu adversário na sua vez de jogar%s vai tentar prever qual movimento é melhor e qual lado está com vantagem '%s' é um nome registrado. Se for seu, digite sua senha.'%s' não é um nome registrado(Blitz)(Link disponível na área de transferência.)*-00 jogadores prontos0 de 00-11-01-minuto1/2-1/210min + 6s/lance, Brancas120015-minutos2 min, Xadrez Aleatório de Fischer, Pretas3-minutos45-minutos5 min5-minutosConectando ao Servidor Online de XadrezPromover Peão a que?PyChess não conseguiu carregar as configurações do seu painelAnalisadorAnimaçãoEstilo do tabuleiroModelosVariantes do xadrezEntrar com Notação de JogoOpções GeraisPosição InicialPaineis laterais instaladosMover textoNome do p_rimeiro jogador humano:Nome do s_egundo jogador humano:Nova versão %s está disponível!Abrir JogoAbrir base de dadosAbertura, final de partidaForça do adversárioOpçõesTocar som quando...JogadoresIniciar aprendizadoControle de tempoTela de boas vindasSua cor_Conectar ao servidor_Iniciar Jogo%s não está como executável no sistema de arquivos Um arquivo com o nome '%s' já existe. Você deseja substituí-lo?Computador, %s, foi encerradoErro ao carregar o jogoArquivo '%s' já existe.PyChess está verificando seus mecanismos de xadrez. Por favor espere.PyChess não conseguiu salvar o jogoHá %d jogos com lances não salvos. Salvar antes de fechar?Incapaz de adicionar %sNão foi possível salvar o arquivo '%s'Formato de arquivo desconhecido '%s'Desafiar:Um jogador dá _xeque:Um jogador _move:Um jogador _captura:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortarSobre o xadrezA_tivoAceitarAtivar alarme quando segundos _restantes for:Campo de cor ativa precisa ser b ou n. %sBuscas ativas: %dAdicionar comentárioAdicionar símbolo de avaliaçãoAdicionar símbolo de movimentaçãoAdicionar novo filtroAdicionar comentário inicialAdicionar sub-fen filtro de posição/circulosAdicionar linhas de variações ameaçadorasAdicionando sugestões para ajuda-lo e obter ideias, mas retarda as analises do computador.Tags adicionaisErro no endereçoAdiarHistórico e histórico de jogosAdministradorAdministradorAfeganistãoAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbâniaArgéliaTodos os arquivos de xadrezTodas as avaliaçõesTodas brancasSamoa AmericanaAnalises por %sAnalisar movimento das pretasAnalisar a partir da posição atualAnalisar jogoAnalisar movimento das brancasAnalise da primeira variaçãoAndorraAngolaAnguillaAnimar peças, rotação do tabuleiro e mais. Use esta opção em computadores rápidos.Jogo anotadoAnotaçãoNotasAntárticaAntígua e BarbudaQualquer forçaArquivadoArgentinaArmêniaArubaVariante asiáticaPerguntar por permissõesPedir que _MovaAvaliarAleatório AssimétricoAleatório assimétricoAtômicoAustráliaÁustriaAutorChamar _Bandeira AutomaticamenteAuto _promover a rainhaA_uto-rotacionar o tabuleiro para o jogador humano atualLogar automaticamente ao iniciarAuto-desconectarDisponívelAzerbaijãoBN EloVoltar para a linha principalCaminho da imagem de fundo:Lance ruimBahamasBahreinBangladeshBarbadosPorque %(black)s perdeu a conexão com o servidorPorque %(black)s perdeu a conexão com o servidor e %(white)s solicitou um adiamentoPorque %(black)s caiu no tempo e %(white)s não tem material suficente para dar matePorque %(loser)s se desconectouPorque %(loser)s rei explodiuPorque o tempo de %(loser)s terminouPorque %(loser)s abandonouPorque %(loser)s levou cheque-matePorque %(mover)s provocou empate por afogamentoPorque %(white)s perdeu a conexão com o servidorPorque %(white)s perdeu a conexão com o servidor e %(black)s solicitou um adiamentoPorque %(white)s caiu no tempo e %(black)s não tem material suficente para dar matePorque %(winner)s tem menos peçasPorque o rei %(winner)s alcançou o centro Por causa %(winner)s rei chegou na oitava fileiraPorque %(winner)s perdeu todas as peçasPoque o %(winner)s deu check 3 vezesPor ter %(winner)sdestruído horde brancos.O jogador abortou o jogo. Qualquer jogador pode abortar o jogo sem o consenso de outros antes da segunda jogada. Não ocorreu mudança na classificação.Como um jogador desconectou e tem poucas jogadas para garantir um adiamento. Não ocorreu mudanças no ranking. Porque o jogador perdeu a conexãoPorque um jogador perdeu a conexão e outro jogador solicitou adiamentoPorque ambos os reis alcançaram a oitava filaPorque ambos combinaram empatePorque ambos os jogadores concordaram em abortar o jogo. Nenhuma mudança de rating ocorreu.Porque ambos os jogadores concordaram em um adiamentoPorque ambos jogadores tem a mesma quantidade de peçasPorque o tempo acabou para ambos os jogadoresPorque nenhum jogar tem material suficiente para dar mateDevido a uma decisão proferida por um administradorPor causa da decisão proferida por um administrador . Nenhuma alteração no rating foi ocorrida.Por causa da cortesia do jogador. Nenhuma mudança de rating ocorreu.Por causa do objetivo ter sido atingidoPorque o computador %(black)s parouPorque o computador %(white)s foi encerradoPorque a conexão com o servidor foi perdidaPorque o jogo excedeu o tamanho máximoPorque os últimos 50 lances não trouxeram nada de novoPorque a mesma posição se repetiu três vezes consecutivasPorque o servidor foi desligadoPorque o servidor foi desligado. Nenhuma mudança de rating ocorreu.Aviso sonoroBelarusBélgicaBelizeBenimBermudasMelhorMelhor movimentoButãoBispoPretasPreto ELO:Pretas O-OPretas O-O-OPretas tem uma peça em posto avançado: %sPretas estão com muito pouco espaçoPretas estão com pouco espaçoPretas tem que capturar todas as peças para ganhar. Brancas quer o checkmate. Peões brancos na primeira fileira podem mover duas casas, peões similares na segunda fileira.Movimento das pretasPretas devem fazer uma chuva de Peões na ala esquerdaPretas devem fazer uma chuva de Peões na ala direitaLado preto - Clique para mudar de jogadoresPretasXadrez às CegasXadrez às CegasConta de xadrez às cegasBlitzBlitz:Blitz: 5 minBolívia (Estado Plurinacional da)Países Baixos CaribenhosProfundidade máxima do bookBósnia e HerzegovinaBotswanaIlha BouvetBrasilTrazer seu rei legalmente para o centro (e4, d4, e5, d5) imediatamente ganha o jogo! Regras normais aplicam em alguns casos e checkmate também termina o jogo.Território Britânico do Oceano ÍndicoBrunei DarussalamBughouseBulgáriaBulletBurkina FasoBurundiCCACMCabo VerdeCalculando...CambojaCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCamarõesCanadáCandidato a mestreCapturouRoque não disponível. %sCategoria:Cayman IslandsCentro:Central African RepublicChadeDesafiarDesafiar: Desafio: Alterar tolerânciaConversaMentor de xadrezDiagrama Chess Alpha 2Composições de xadrez do yacpdb.orgJogo de XadrezPosição do tabuleiroChess ShoutClienteChess960ChileChinaChristmas IslandReclamar empateRegras clássicas do xadrez http://en.wikipedia.org/wiki/ChessRegras clássicas do xadrez com todas as peças brancas http://en.wikipedia.org/wiki/Blindfold_chessRegras clássicas do xadrez com peças ocultas http://en.wikipedia.org/wiki/Blindfold_chessRegras clássica do xadrez com Peões ocultos http://en.wikipedia.org/wiki/Blindfold_chessRegras clássicas do xadrez com peças ocultas http://en.wikipedia.org/wiki/Blindfold_chessClassicoClássico: 3min / 40 movimentosLimparRelógio_Fechar sem SalvarIlhas Cocos (Keeling)ColômbiaColorir movimentos analisadosInterface de linha de comando do servidor de xadrezParâmetros por linha de comandos necessário para o computadorParâmetros por linha de comandos necessário para o runtimeComando:ComentárioComentário:ComentáriosComoresCompensaçãoComputadorComputadoresCongoCongo (República Democrática do)ConectandoConectando ao servidorErro de conexãoConexão foi fechadaConsoleContinuarContinuar esperando pelo oponente, ou tentar adiar o jogo?Ilhas CookÓtimo! Agora vamos ver como isso segue na linha principal.Copiar FENCantoCosta RicaNão foi possível salvar o arquivoContra-ataquePaís de origem do computadorPaís:CrazyhouseCriar novo banco de dados PGN Criar novo Book de aberturas poliglotaCriar Book poliglotaCriar buscaCriar uma nova base de dadosCriar nova sequencia onde a condição da lista tem de satisfazer diferentes tempos do jogoCriar nova sequencia onde a condição da lista tem de satisfazer (metade) movimentos consecutivos.Criar Book de abertura poliglotaCriando arquivo indexado .bin...Criando arquivo indexado .scout...CroáciaVantagem esmagadoraCubaCuraçaoChipreTcheca (República)Costa do MarfimDDMCasas Escuras :DatabaseDataData/HoraData:Vantagem decisivaRecusarPadrãoDinamarcaEndereço de destino inacessívelAjustes de conexão detalhadoAjustes de jogadores detalhado, controle de tempo e variações do xadrezDetectar formato automaticamenteVantagem em desenvolvimentoEncerradoMostrar mestreDjiboutiVocê sabia que é possível fazer um xeque-mate com dois movimentos?Você sabia que o número de possíveis jogos no xadrez é maior que o número de átomos do Universo?Você realmente quer restaurar as opções padrão do programa?Você deseja abortar?DominicaRepública DominicanaQualquer umNão mostrar essa tela ao iniciarEmpateEmpate:ArrumarApesar do problema de abuso, conexão do visitante foi preservada. Você ainda tem registro no http://www.freechess.orgConta inicianteECOEquadorEditar buscaEditar busca: Editar comentárioEditar filtro selecionadoEfeito sobre a classificação pelos resultados possíveisEgitoEl SalvadorEloE-mailCoordenadas do En passant não são legais. %sLinha en passantFinal de PartidaFinaisForça do computador (1=fraco, 20=forte)As unidades de medidas do computador são em unidades de peões, do ponto de vista das Brancas. Clicando duas vezes sobre as linhas de análise, você pode inseri-las no painel Anotação como variações.ComputadorComputador utiliza o protocolo de comunicação uci ou xboard para falar com a GUI. Se ele pode usar ambos, pode definir aqui o que você gosta.Entrar no JogoAmbienteGuiné EquatorialEritreiaErro de analise %(mstr)sErro ao analisar movimento %(moveno)s %(mstr)sDuração estimada: %(min)d - %(max)d minutosEstôniaEtiópiaEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventoEvento:ExaminarExaminar Jogo AdiadoExaminadoExaminandoLance excelenteArquivos executáveisFormato esperado como "yyyy.mm.dd" com curinga liberado "?"Exportar posiçãoExternosFAFEN precisa de 6 campos de dados. %sFEN precisa de pelo menos 2 campos de dados na fenstr. %sFICS atômico: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS Bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicídio: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Escolha Randômica de peças (duas damas ou três torres possíveis) * Exatamente um rei de cada cor * Peças colocadas aleatoriamente atrás dos peões * Sem roque * Disposição das pretas espelha as brancasFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Escolha Randômica de peças (duas damas ou três torres possíveis) * Exatamente um rei de cada cor * Peças colocadas aleatoriamente atrás dos peões, SUJEITO A RESTRIÇÃO PARA QUE OS BISPOS ESTEJAM BALANCEADOS * Sem roque * Disposição das pretas NÃO espelha as brancasICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Peões iniciam na sua 7ª fileira ao invés da 2ª fileira!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Peões iniciam na 4ª e 5ª fileira ao invés da 2ª e 7ªFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html Peões brancos iniciam na 5ª fileira e peões pretos na 4ª fileiraOperador FIDEMestre FIDEFMAnimação completa do _tabuleiro_Modo de visualização Face a FaceIlhas MalvinasIlhas FéroeFijiO arquivo já existeFiltroLista de jogos filtrados por jogos atuaisFiltro de lista de jogos por aberturasLista de jogos filtrados pode condições variadasFiltrosPainel de filtros pode filtrar lista de jogos de condições variadasEncontre a posição na base de dados atualTocarFinlândiaPrimeiros jogosAleatório de FischerSegueFonte:Para cada jogador, as estatísticas fornecem a probabilidade de ganhar o jogo e a variação de seu ELO se você perder / acabar em empate / vitória, ou simplesmente a mudança de classificação ELO finalLance forçadoQuadro:FrançaComentário livre sobre o computadorGuiana FrancesaFrench PolynesiaTerras Austrais FrancesasAmigosGMGabãoIncremento:GâmbiaJogoLista de jogosAnalise do jogo em andamento...Jogo canceladoInformações do jogoO jogo _empata:O jogo é per_dido:O jogo é _iniciado:O jogo é _vencido:Game compartilhado emJogosJogos em execução: %dDiretório Gaviota TBGeralmente isto não significa nada, como o jogo é baseado em tempo, mas se você quer agradar o seu adversário, talvez você deva irGeorgiaAlemanhaGanaGibraltarDoarVolte para a linha inicialContinueLance bomGrande MestreGréciaGroelândiaGranadaGradeGuadeloupeGuãoGuatemalaGuernseyConvidadoLogin de visitante desabilitado pelo servidor FICSVisitantesLição interativa guiada no estilo "adivinha o movimento"GuinéGuiné-BissauGuianaHHaitiRelógio meio movimentoManusear buscas e desafiosManusear buscas em tela graficaCabeçalhoIlha Heard e Ilhas McDonaldOcultar PeõesOcultar peçasOcultarDicaSugestãoSanta SéHondurasHong KongHordeHost:Como JogarDiagrama HtmlSer humanoHungriaDoar ICC: https://www.chessclub.com/user/help/GiveawayCompensação do lag do ICC precisa de valoresICSMIIslândiaIdIdentificaçãoInativoSe marcado você poderá recusar jogadores que aceitaram sua buscaSe marcado, numero de jogadores FICS será mostrado e abas próximo do nome de jogadores.Se definido, PyChess vai colorir os movimentos analisados como inadequados com vermelho.Se definido, PyChess irá mostrar os resultados de jogos de movimentos diferentes em posições contendo 6 ou menos peças. Ele irá procurar posições de http://www.k4it.de/Se definido, PyChess irá mostrar os resultados de jogos de movimentos diferentes em posições contendo 6 ou menos peças. Você pode baixar arquivos de tablebase: http://www.olympuschess.com/egtb/gaviota/Se definido, PyChess vai sugerir o melhor movimento de abertura no painel de dicas.Se marcado, o PyChess utilizará figuras para mostrar as peças movidas, em vez de letras maiúsculas.Se selecionado, fechando a janela principal fecha todos os jogosSe selecionado, peão promove a dama sem abrir opção de escolha.Se marcado, as peças pretas ficarão de cabeça para baixo, adequado para jogar contra amigos em aparelhos móveis.Se marcado, o tabuleiro será rotacionado depois de cada lance, para mostrar a visualização natural do jogador atual.Se definido, as peças capturadas serão mostradas ao lado do tabuleiro.Se definido, o tempo decorrido que um jogador usa para cada jogada é mostrado.Se selecionado, valor restante da analise é mostrado.Se marcado, o tabuleiro mostrará as coordenadas de cada casa do tabuleiro. É útil para a notação do xadrez.Se marcado, oculta a aba no topo da janela do jogo quando não é necessária.Se a analise encontra um movimento onde a diferença de avaliação (a diferença entre a analise do movimento que se pensa ser melhor e a avaliação do movimento do jogo) ultrapassa este valor, será adicionada uma anotação do movimento (consistindo na variação principal do movimento) no painel de anotações. Se não salvar, as novas alterações dos jogos serão perdidas permanentemente.Ignore coresIlegalImagensDesbalanceadoImportarImportar arquivo PGNImportar jogos anotados de endgame.nlImportar o jogo de xadrezImportar jogos de theweekinchess.comImportando cabeçalhos do jogo...Em torneioNeste jogo, check é completamente proibido: não somente proibido mover um rei para o check, mas também proibido dar check no rei adversário. A ideia do jogo é ser o primeiro a mover seu rei para a oitava fileira. Quando mover o rei branco para a oitava fileira, e o rei preto mover também o rei para a ultima fileira, o jogo empata (esta regra compensa a vantagem das brancas que podem mover primeiro.) Independente disso, as peças movem e fazem capturas como no xadrez normal.nessa posição, não há uma jogada regular.Recuo arquivo _PGNÍndiaIndonésiaAnálise infinitaInformaçãoPosição inicialSetup inicialIniciativaLance interessanteMestre InternacionalMovimento inválido.Irã (República Islâmica do)IraqueIrlandaIsle of ManIsraelNão será possível continuar posteriormente a partida se você não salvá-la.ItáliaJamaicaJapãoJerseyJordâniaIr para a posição inicialIr para a última posiçãoRKazakhstanQuêniaReiRei acimaKiribatiCavaloVantagem do CavaloCavalosCoreia (República Popular Democrática da)Coreia (República da)KuwaitQuirguistãoAtraso:República Democrática Popular LauLetôniaAprendaSair da _Tela CheiaLíbanoPalestrasComprimentoLesotoLiçõesNível 1 é fraco e nível 20 é forte. Você não pode definir um nível muito alto se o computador é baseado em exploração profundaLibériaLíbiaEstudos práticos de puzzles de GM e composições de xadrez do LichessLiechtensteinCasas Brancas :RelâmpagoRelâmpago:Lista de jogos em progressoLista de jogadoresLista de canais Lista de servidores nvosoLituâniaCarregar _Jogo RecenteCarregando dados do jogadorEvento localPonto localDeslogarErro ao conectarConectar-se como _ConvidadoConectando ao servidorDe perdedoresDerrotaDerrota:LuxemburgoMacaoMacedônia (antiga República Iugoslava da)MadagascarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMaláuiMalásiaMaldivesMaliMaltaGerenciador MamerGerenciar computadorManualAceitar manualmenteAceitar adversário manualmenteIlhas MarshallMartinicaMateMate em %dMaterial/movimentoMauritâniaMaurícioO tempo máximo de análise em segundos:MayotteMéxicoMicronésia (Estados Federados da)Minutos:Minutos: Vantagem moderadaMoldávia (República da)MônacoMongóliaMontenegroMonserrateMais canaisMais jogadoresMarrocosMovimentoHistórico de MovimentosNumero do movimentoMoveuMovimentos:MoçambiqueMyanmarCNMNomeNomes: #n1,#n2NamíbiaMestre NacionalNauruNecessarioPrecisa de 7 traços na peça localizada. %sNepalHolandaNunca utilizar animação. Use isto para computadores lentos.NovoNew CaledoniaNovo JogoNovo RD:Nova ZelândiaNew _DatabaseNovo jogo de 1-minutoNovo jogo de 15-minutosNovo jogo de 25-minutosNovo jogo de 3-minutosNovo jogo de 5-minutosNovo jogo de Chess960NovidadesPróximoPróximos jogosNicaráguaNígerNigériaNiueSem an_imaçãoNenhuma programa de xadrez (jogador computador) estão participando desse jogo.Nenhuma conversa foi selecionadaSem somSem controle de tempoIlha NorfolkTempo padrãoNormal: 40 min + 15 seg/movimentoIlhas Marianas SetentrionaisNoruegaIndisponívelNão é um movimento de captura (quieto)Não é o melhor movimento!ObservarObservar %sJogo observado _termina:ObservadoresVantagemOferecer _Abortar partidaOferecer anulaçãoOferecer Ad_iamentoOferecer PausaOferecer revancheOferecer ContinuaçãoOferecer voltar jogadaOferecer para _Abortar a PartidaOferecer _empateOferecer _PausaOferecer _ReinícioPedir para Vo_ltarPainel oficial do PyChess.DesconectadoOmãNo FICS, sua classificação em "Wild" abrange todas as seguintes variantes em todos os controles de tempo Um jogador começa sem um CavaloUm jogador começa com um Peão a menosUm jogador começa sem a damaUm jogador começa sem uma TorreConectadoAnimar somente mo_vimentosAnimar somente o movimento das peças.Somente jogadores registrados podem falar neste canalAbrirAbrir jogoAbrir Arquivo de SomAbrir arquivo de xadrezLivro de aberturasLivro de aberturasAbrindo chessfile...AberturasPainel de aberturas pode filtrar jogos pode aberturasRating do AdversárioForça do adversário: OpçõesOpçõesOutroOutro (fora da regra padrão)Outro (regra padrão)PPaquistãoPalauPalestina, Estado daPanamáPapua New GuineaParaguaiParâmetros:Colar FENPadrãoPausarPeãoVantagem do PeãoPeões passadosPeões avançadosPeruFilipinasEscolha a dataPingPitcairnColocaçãoJogarJogar Xadrez Aleatório FischerJogar xadrez dos perdedoresJogar revancheJogar Xadrez na _InternetJogar com as regras normais do xadrezLista de jogadores_Rating do JogadorJogadores:Jogadores: %dJogandoImagem PNGPo_rtas:PolôniaArquivo de livre Polyglot:PortugalPratique finais com o computadorPre-chess: https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_positionPre_visãoUsar figuras na _notaçãoPreferênciasPreferência de nível:Preparando para iniciar importação...VisualizaçãoPainel de visualização pode filtrar jogos por movimentos de jogos atuaisJogos anterioresPrivadoProvavelmente porque ele foi retirado.ProgressoPromoçãoProtocolo:Porto RicoPuzzlesPyChess - Conecte ao Internet ChessJanela de informações do PyChessPyChess perdeu a conexão com o computador , provavelmente ela foi encerrada. Você pode tentar iniciar um novo jogo contra o computador, ou tentar jogar contra outro tipo.PyChess.py:DQatarDamaVantagem da DamaSair do aprendizadoSair do PyChessTAban_donarCorrida de reisAleatórioRápidoRápido: 15 min + 10 seg/movimentoPontuadoJogo pontuadoRatingAlteração de classificação:Lendo %s ...Recebendo lista de jogadoresRecriando indexação...AtualizarRegistradoRemoverRemover filtro selecionadoSolicitar ContinuaçãoReenviarReenviar %s?Redefinir coresResetar meu progressoRestaurar para opções padrãoResultadoResultado:ContinuarTentar novamenteRomêniaTorreVantagem da TorreRotacionar o tabuleiroRodadaRodada:Executando jogo simultâneoComando runtime env:Parâmetros runtime env:Comando do ambiente runtime do computador (wine ou nó)RússiaRuandaRéunionSRCa_dastre-seSão BartolomeuSanta Helena, Ascensão e Tristão da CunhaSão Cristóvão e NevisSanta LúciaSaint Martin (French part)São Pedro e MiquelãoSaint Vincent and the GrenadinesSamoaSan MarinoSançõesSao Tome and PrincipeArábia SauditaSalvarSalvar jogoSalvar Jogo _ComoSalvar somente _meus jogosSalvar valores de alteração de classificaçãoSalvar valores _restantes de analiseSalvar setas/círculosSalvar comoSalvar banco de dados comoSalvar _tempo restante de movimentoSalvar arquivos para:Salvar lances antes de fechar?Salvar o jogo atual antes de você fechar?Salvar arquivo PGN como...PontuaçãoScoutPesquisar:Gráfico de buscaBuscar _gráficosolicitar atualizaçãoBuscas / DesafiosSelecionar diretório Gaviota TBSelecionar o arquivo de xadrez pgn ou epd ou fenSelecionar salvamento automáticoSelecione arquivo de imagem de fundoSelecionar arquivo de livroSelecionar programaSelecione um arquivo de som...Selecione os jogos que quer salvar:Selecione o diretório de trabalhoEnviar desafioEnviar todas as buscasEnviar buscaSenegalSeqSequênciaSérviaServidor:Representante de atendimentoConfigurando o ambienteAjustar PosiçãoSeychellesMostrar c_oordenadasCurto _tempo:Poderia%spublicar publicamente seu jogo como PGN no chesspastebin.com?ShoutMostrar numero de jogadores FICS em abasMostrar peças _capturadasMostrar tempo restante de movimento.Mostrar valores de avaliaçãoMostrar dicas ao iniciarShredderLinuxChess:AleatórioLado a mover_Painel lateralSierra LeonePosicionamento comum do xadrezCingapuraSint Maarten (Dutch part)SiteSite:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinLigeira vantagemEslováquiaEslovêniaSolomon IslandsSomáliaAlgumas ajustes do PyChess precisam de sua permissão para fazer downloads de programas externosDesculpe '%s' já está logadoArquivos de somFonteÁfrica do SulIlhas Geórgia do Sul e Sanduíche do SulSudão do SulSe_ta espiãEspanhaTempo gastoSri LankaPadrãoPadrão:Começar conversa privadaStatusRetroceder um lanceAdiantar um lanceStrStreakEstude palestras do FICS offlineSub-FEN:SudãoSuicídioSurinameLance duvidosoSvalbard e Jan MayenSuazilândiaSuéciaSuíçaSímbolosRepública Árabe SíriaTTDTMTaiwan (Province of China)TajikistanFalandoTanzânia, República Unida daConta da equipeDiagrama de textoTextura:TailândiaA oferta de anulaçãoA oferta de adiamentoA engine sera executada em segundo plano e vai analisar o jogo. Necessário para o modo de sugestão funcionarO botão está desabilitado porque você logou como visitante. Visitantes não podem ter classificação, e o estado do botão não possui efeito quando não existe nenhuma classificação amarrada com a "Força do oponente".O painel Conversa lhe permite comunicar com seu adversário durante o jogo, desde que ele esteja interessadoO relógio ainda não foi iniciado.O painel Comentários tenta analisar e explicar os lances jogadosA conexão foi interrompidaO jogo atual não está acabado. Sua exportação pode ter um limite.O jogo atual acabou. Primeiro, por favor verifique as propriedades do jogo.Diretório a partir de onde o computador será iniciado.O nome exibido do primeiro jogador humano, por exemplo, João.O nome exibido do jogador convidado, por exemplo, Maria.A oferta de empateNo final de partida, mostrara analises exata quando tiver poucas peças no tabuleiro.O computador %s relata um erro:O programa já está instalado com o mesmo nomeAs saídas do programa no painel mostra as saídas de analises do computador (jogador computador) durante um jogoA senha está incorreta. Se você esqueceu sua senha, vá para http://www.freechess.org/password e solicite uma nova senha por e-mail.O erro foi: %sO arquivo já existe em '%s'. Se você substituí-lo, seu conteúdo será sobrescrito.A acusação de queda de setaO jogo não pode ser carregado, por causa de um erro de análise FENO jogo não pode ser lido até o final, devido a um erro ao analisar o lance %(moveno)s '%(notation)s'.O jogo terminou empatadoO jogo foi anuladoO jogo foi adiadoO jogo foi encerradoO painel de sugestão, aconselhara o computador durante cada fase do jogoO analisador inverso sera executado, mostra como seu adversário vai mover. Necessário para o modo espião funcionarNão foi possível mover porque %s.A aba Lances registra os lances dos jogadores e permite que você navegue pelo histórico do jogoA oferta de mudança de ladoO livro de aberturas irá tentar inspirá-lo durante a fase de abertura do jogo mostrando-lhe lances comuns feitos pelos mestres de xadrezA oferta de pausaA razão é desconhecidaO abandonoA oferta de retomadaO painel de Pontuação tenta avaliar as posições e mostrar um gráfico da evolução do jogoA oferta de voltar jogadasThebanTemasHá %d jogo com lances não-salvos.Há %d jogos com movimentos não-salvos.À algo errado com este executávelO jogo pode ser automaticamente cancelado sem perda de classificação porque ainda não foram feitas duas jogadas.Este jogo não pode ser adiado pois um ou mais jogadores são convidadosEsta é a continuação de um jogo adiadoEsta opção não é aplicável porque você está desafiando um jogadorEsta opção não está disponível porque você está desafiando um convidado, Analises de ameaças por %sTrês checksTempoControle de tempoControle de tempo: Pressão do tempoTimor-LesteDica do diaDica do diaTítuloEntituladoPara salvar um jogo: Jogo > Salvar jogo como, insira o nome do arquivo e escolha onde quer que seja salvo. Escolha o tipo da extensão do arquivo, e Salvar.TogoToquelauTolerância:TongaDiretor do torneioTraduza o PyChessTrindade e TobagoTente chmod a+x %sTunísiaTurquiaTurquemenistãoIlhas Turcas e CaicosTuvaluTipoTecle ou cole sua partida PGN ou posição FEN aquiUUgandaUcrâniaNão foi possível aceitar %sIncapaz de salvar o arquivo de configuração. Salvar jogos antes de fechar?Incapaz de salvar o arquivo de configuração. Salvar o jogo antes de fechar?Posição incertaPainel sem descriçãoVoltar jogadaVoltar um lanceVoltar dois lancesDesinstalarEmirados Árabes UnidosReino Unido da Grã-Bretanha e Irlanda do NorteIlhas Menores Distantes dos Estados UnidosEstados Unidos da AméricaDesconhecidoEstado do jogo desconhecidoCanal não-oficial %dNão pontuadoNão RegistradoDesmarcado: o exponencial mostra toda a extensão de pontos e amplia os valores em torno de uma média. Marcado: O foco da escala linear no limite da extensão da média. Isto destaca pequenos erros e melhores mancadas.Sem relógioCabeça para baixoUruguaiUsar a_nalisadorUsar analisador _inversoUsar tablebases _localUsar _online tablebasesUsar escala linear para a pontuaçãoUsar analisadorUsar formato do nome:Usar _livro de aberturasUsar compensação de tempoUsado pelo computador e pelo criador do book poliglotaUzbequistãoValorVanuatuVarianteVariante desenvolvida por Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Anotação da variação cria um limiar de peõesVenezuela (República Bolivariana da)Lance muito ruimVietnãVeja palestras, resolva quebra cabeças ou inicie exercícios de fim de jogo.Ilhas Virgens (Britânicas)Ilhas Virgens (E.U.A.)B EloMFM (WFM)WGMWIMEspereWallis and FutunaAviso: esta opção gera um arquivo .png formatado que não é compatível com padrõesNão foi possível salvar '%(uri)s' porque o PyChess não reconhece o formato '%(ending)s'.Bem-vindoFeito!Feito! %s completado.Saara OcidentalQuando este botão está no estado "marcado", a relação entre "a força de adversário" e "a sua força" estará preservada se a) sua classificação para ao tipo de jogo procurado for alterada b) você alterar a variante ou o controle do tempoBrancasBranco ELO:Brancas O-OBrancas O-O-OBrancas tem uma peça em posto avançado: %sBrancas estão com muito pouco espaçoBrancas estão com pouco espaçoMovimento das brancasBrancas devem fazer uma chuva de Peões na ala esquerdaBrancas devem fazer uma chuva de Peões na ala direitaLado branco - Clique para mudar de jogadoresBrancas:WildWildcastleWildcastle aleatórioVitóriaGanha executando check 3 vezesVencedor:Ganhando %Com ataqueMestre FIDE MulherGrande Mestre MulherMestre Internacional MulherDiretório de trabalho:Ano, mês, dia: #y, #m, #dIêmenVocê está atualmente logado como um visitante, mas existe uma conta grátis por 30 dias, após isso não será cobrado taxas e sua conta permanecerá ativa para jogar. (Com algumas restrições. Por exemplo, sem vídeos premium, algumas limitações de canais e assim por diante). Para registrar vá paraVocê está logado como um visitante. Um visitante não pode jogar jogos ranqueados e outros tipos de jogos oferecidos para usuário registrado. Para registrar uma conta, vá paraVocê pediu para seu oponente moverVocê não pode jogar jogos pontuados porque o botão "Sem relógio" foi marcado, Você não pode jogar jogos pontuados porque você está conectado como convidadoVocê não pode selecionar uma variação porque o botão "Sem relógio" foi marcado, Você não pode mudar a cor durante o jogo.Você não pode tocar aqui! Você está examinando um jogo.Você não tem privilégios necessários para salvar o arquivo. Por favor certifique-se que você indicou o caminho correto e tente novamente.Você foi desconectado porque ficou inativo mais de 60 minutosVocê não abriu conversas aindaVocê tem que selecionar kibitz para ver as mensagens de robô aqui.Você tentou voltar lances demais.Você não salvou as mudanças. Você quer salvar antes de sair?Você pode ter somente 3 buscas ao mesmo tempo. Se você quer adicionar uma nova busca, você precisa limpar suas buscas atuais. Deseja limpar suas buscas?Você enviou uma oferta de empateVocê enviou uma oferta de pausaVocê enviou uma oferta de continuaçãoVocê enviou uma oferta de anulaçãoVocê enviou uma oferta de adiamentoVocê enviou uma pedido para voltar jogadaVocê enviou chamadaVocê irá perder todos os dados do seu progresso!Seu adversário pede que você se apresse!Seu adversário solicitou que o jogo seja anulado. Se você aceitar, o jogo terminará sem nenhuma mudança na classificação.Seu adversário quer que o jogo seja adiado. Se você aceitar, o jogo será adiado e você poderá jogá-lo em outra data (se o seu adversário também estiver conectado e ambos os jogadores concordarem em retomar o jogo).Seu adversário pediu para fazer uma pausa no jogo. Se você aceitar, o relógio do jogo será parado até que ambos aceitem retomar o jogo.Seu adversário quer retomar o jogo. Se você aceitar, o relógio do jogo continuará a contar de onde foi pausado.Seu adversário quer voltar %s lance(s). Se você aceitar, o jogo seguirá a partir da posição indicada.Seu adversário ofereceu empate.Seu adversário lhe ofereceu um empate. Se você aceitar, a partida terminará com o resultado 1/2 - 1/2.Seu adversário não está fora do tempo.Seu oponente precisa aceitar para o jogo ser abortado porque tem duas ou mais jogadasSeu adversário parece ter mudado sua mente.Seu adversário quer cancelar a partida.Seu oponente quer adiar a partida.Seu adversário quer pausar a partida.Seu adversário quer retomar a partida.Seu adversário quer desfazer %s movimento(s).Seu painel de controle foi resetado. Se este problema persistir, você pode reportar aos desenvolvedores.Suas solicitações foram removidasSua força: Sua vez.ZâmbiaZimbabweZugzwang_Aceitar_Ações_Analisar partida_Arquivado_Auto salvar jogos finalizados no arquivo .pgn_Acusar SetaLimpar Bus_cas_Copiar FEN_Copiar PGN_Rejeitar_Editar_Computador_Exportar Posição_Tela Cheia_JogoLista de _Jogos_GeralAj_udaEs_conder abas quando houver somente um jogo aberto_Seta de dica_DicasMovimento _inválido:Carregar jogo_Visualizador de Registros_Meus jogos_Nome:_Novo Jogo_PróximoJogo obse_rvado move:A_dversário:_Senha:_Jogar pelas regras normaisLista de _Jogadores_Anterior_Puzzle sucesso:_Recente:_Substituir_Girar o Tabuleiro_Salvar %d documento_Salvar %d documentos_Salvar %d documentos_Salvar Jogo_Buscas / Desafios_Mostrar Painel Lateral_Sons_Iniciar JogoSem _relógio_Usar o fechar principal [x] para fechar todos os jogos_Usar sons no PyChess_Variação escolhas:_Exibir_Sua Cor:ee os convidados não podem jogar jogos pontuadose no FICS, jogos sem relógio não podem ser pontuadose no FICS, jogos sem relógio têm que ser nas regras normais do xadrezpedir ao seu adversário que movapretaslevam %(piece)s para mais perto do Rei inimigo: %(cord)slevam um Peão para mais perto da última fileira: %sacusar queda de seta do adversáriocapturam peçarocambase de dados de aberturas precisam de chess_dbConsulta da base de dados precisa do scoutfishdefendem %savançam %(piece)s: %(cord)savançam um Peão: %sempatamtrocam peçasgnuchess:semi-abertahttp://brainking.com/en/GameRules?tp=2 * Localização das peças na 1ª e 8ª fileira são randomizadas * O rei está no canto direito * Bispos precisam iniciar em cores de casas opostas * Posição inicial das pretas é obtida pela posição das brancas em 180 graus em torno do centro do tabuleiro * Sem roquehttp://pt.wikipedia.org/wiki/Xadrezhttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://pt.wikipedia.org/wiki/Regras_do_xadrezmelhora a segurança do Reina coluna %(x)s%(y)snas colunas %(x)s%(y)saumenta a pressão em %speça inválida para promoçãoliçõeslichessfazem xeque-mateminminsmovermovem uma Torre para uma coluna abertamovem uma Torre para uma coluna semi-abertamovem o Bispo para o fianqueto: %snão jogardeoferecer empateoferecer uma pausaoferecer voltar jogadasoferecer anulaçãooferecer adiamentooferecer para reiniciar jogooferecer troca de ladoconectado no totalOutrospeão captura sem o alvo ser validocravam %(oppiece)s do inimigo no(a) %(piece)s em %(cord)saumentam ação de %(piece)s: %(cord)spromovem um Peão a %spõem o adversário em xequefaixa de rating agoraresgata %sabandonorodada %sSacrificar materialssegsmelhora ligeiramente a segurança do Reirecuperam materiala coordenada capturada (%s) está incorretafim do laço (%s) é incorretoo lance precisa de uma peça e uma coordenadaameaça ganhar a peça por %saceitar automaticamenteaceitar manualmenteucivs.brancasjanela1wtharveyxboardxboard sem roque: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Disposição aleatória das peças atrás dos peões * Sem roque * Arranjo das pretas espelham as brancasxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * Brancas tem a posição normal de inicio. * Pretas tem a mesma posição, exceto para o Rei e Dama que são invertidos, * para que eles não tenham a mesma coluna como o Rei e a Dama branca. * Roque é executado como no xadrez normal: * o-o-o indica roque longo e o-o indica roque curto.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * Nessa variante ambos os lados tem o mesmo posicionamento das peças do xadrez normal. * O rei branco inicia na d1 ou e1 e o rei preto inicia na d8 ou e8, * e as torres estão em sua posições normais. * Bispos estão sempre em cores opostas. * Sujeito a restrições, a posição das peças em suas primeiras fileiras é aleatória. * Roque é feito como no xadrez normal. * o-o-o indica roque longo e o-o indica roque curto.yacpdbIlha Ålandpychess-1.0.0/lang/pt_BR/LC_MESSAGES/pychess.po0000644000175000017500000055037513455542743020023 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # Alexandro Casanova , 2013-2014 # Fabio Ribeiro , 2015 # Felipe Craveiro , 2018 # gbtami , 2016 # Leandro Alves Vianna , 2014 # Leandro Cristante de Oliveira , 2014 # Leonardo Gregianin , 2014-2015 # Marcos Bernardino da Silva , 2017 # Orlando Noronha , 2016 # Ronaldo Rezende Junior , 2016-2018 # Rui , 2018 # Alexandro Casanova , 2012 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/gbtami/pychess/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Jogo" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Novo Jogo" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Jogar Xadrez na _Internet" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "Carregar jogo" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Carregar _Jogo Recente" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Salvar Jogo" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Salvar Jogo _Como" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "_Exportar Posição" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "_Rating do Jogador" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "_Analisar partida" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Editar" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_Copiar PGN" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "_Copiar FEN" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "_Computador" #: glade/PyChess.glade:518 msgid "Externals" msgstr "Externos" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Ações" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Oferecer para _Abortar a Partida" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Oferecer Ad_iamento" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Oferecer _empate" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Oferecer _Pausa" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Oferecer _Reinício" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Pedir para Vo_ltar" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Acusar Seta" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "Aban_donar" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Pedir que _Mova" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "Chamar _Bandeira Automaticamente" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Exibir" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Girar o Tabuleiro" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Tela Cheia" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Sair da _Tela Cheia" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "_Mostrar Painel Lateral" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_Visualizador de Registros" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "_Seta de dica" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "Se_ta espiã" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "Database" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "New _Database" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "Salvar banco de dados como" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "Criar Book de abertura poliglota" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "Importar o jogo de xadrez" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "Importar jogos anotados de endgame.nl" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "Importar jogos de theweekinchess.com" #: glade/PyChess.glade:865 msgid "_Help" msgstr "Aj_uda" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Sobre o xadrez" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Como Jogar" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Traduza o PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Dica do dia" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Cliente" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Preferências" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "O nome exibido do primeiro jogador humano, por exemplo, João." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Nome do p_rimeiro jogador humano:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "O nome exibido do jogador convidado, por exemplo, Maria." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Nome do s_egundo jogador humano:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "Es_conder abas quando houver somente um jogo aberto" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Se marcado, oculta a aba no topo da janela do jogo quando não é necessária." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "_Usar o fechar principal [x] para fechar todos os jogos" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "Se selecionado, fechando a janela principal fecha todos os jogos" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "A_uto-rotacionar o tabuleiro para o jogador humano atual" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Se marcado, o tabuleiro será rotacionado depois de cada lance, para mostrar a visualização natural do jogador atual." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "Auto _promover a rainha" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "Se selecionado, peão promove a dama sem abrir opção de escolha." #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "_Modo de visualização Face a Face" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Se marcado, as peças pretas ficarão de cabeça para baixo, adequado para jogar contra amigos em aparelhos móveis." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "Usar escala linear para a pontuação" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "Desmarcado: o exponencial mostra toda a extensão de pontos e amplia os valores em torno de uma média.\n\nMarcado: O foco da escala linear no limite da extensão da média. Isto destaca pequenos erros e melhores mancadas." #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "Mostrar peças _capturadas" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "Se definido, as peças capturadas serão mostradas ao lado do tabuleiro." #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Usar figuras na _notação" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "Se marcado, o PyChess utilizará figuras para mostrar as peças movidas, em vez de letras maiúsculas." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "Colorir movimentos analisados" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "Se definido, PyChess vai colorir os movimentos analisados como inadequados com vermelho." #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "Mostrar tempo restante de movimento." #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "Se definido, o tempo decorrido que um jogador usa para cada jogada é mostrado." #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "Mostrar valores de avaliação" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "Se selecionado, valor restante da analise é mostrado." #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "Mostrar numero de jogadores FICS em abas" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "Se marcado, numero de jogadores FICS será mostrado e abas próximo do nome de jogadores." #: glade/PyChess.glade:1402 msgid "General Options" msgstr "Opções Gerais" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "Animação completa do _tabuleiro" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Animar peças, rotação do tabuleiro e mais. Use esta opção em computadores rápidos." #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Animar somente mo_vimentos" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Animar somente o movimento das peças." #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Sem an_imação" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Nunca utilizar animação. Use isto para computadores lentos." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animação" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_Geral" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "Usar _livro de aberturas" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "Se definido, PyChess vai sugerir o melhor movimento de abertura no painel de dicas." #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "Arquivo de livre Polyglot:" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "Profundidade máxima do book" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "Usado pelo computador e pelo criador do book poliglota" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "Usar tablebases _local" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "Se definido, PyChess irá mostrar os resultados de jogos de movimentos diferentes em posições contendo 6 ou menos peças.\nVocê pode baixar arquivos de tablebase:\nhttp://www.olympuschess.com/egtb/gaviota/" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "Diretório Gaviota TB" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "Usar _online tablebases" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "Se definido, PyChess irá mostrar os resultados de jogos de movimentos diferentes em posições contendo 6 ou menos peças.\nEle irá procurar posições de http://www.k4it.de/" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "Abertura, final de partida" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Usar a_nalisador" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "A engine sera executada em segundo plano e vai analisar o jogo. Necessário para o modo de sugestão funcionar" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Usar analisador _inverso" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "O analisador inverso sera executado, mostra como seu adversário vai mover. Necessário para o modo espião funcionar" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "O tempo máximo de análise em segundos:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "Análise infinita" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analisador" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_Dicas" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Desinstalar" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "A_tivo" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Paineis laterais instalados" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "_Painel lateral" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "Caminho da imagem de fundo:" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "Tela de boas vindas" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "Textura:" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "Quadro:" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Casas Brancas :" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "Grade" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Casas Escuras :" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "Redefinir cores" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "Mostrar c_oordenadas" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "Se marcado, o tabuleiro mostrará as coordenadas de cada casa do tabuleiro. É útil para a notação do xadrez." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "Estilo do tabuleiro" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "Fonte:" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "Mover texto" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "Modelos" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Temas" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Usar sons no PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "Um jogador dá _xeque:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Um jogador _move:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "O jogo _empata:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "O jogo é per_dido:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "O jogo é _vencido:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Um jogador _captura:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "O jogo é _iniciado:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "Jogo obse_rvado move:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "Jogo observado _termina:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "Curto _tempo:" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "Movimento _inválido:" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "Ativar alarme quando segundos _restantes for:" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "_Puzzle sucesso:" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "_Variação escolhas:" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Tocar som quando..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Sons" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "_Auto salvar jogos finalizados no arquivo .pgn" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Salvar arquivos para:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "Usar formato do nome:" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "Nomes: #n1,#n2" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "Ano, mês, dia: #y, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "Salvar _tempo restante de movimento" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "Salvar valores _restantes de analise" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "Salvar valores de alteração de classificação" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "Recuo arquivo _PGN" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "Aviso: esta opção gera um arquivo .png formatado que não é compatível com padrões" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "Salvar somente _meus jogos" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Salvar" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Promoção" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Dama" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Torre" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Bispo" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Cavalo" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Rei" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Promover Peão a que?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "Padrão" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "Cavalos" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Informações do jogo" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Site:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "Alteração de classificação:" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "Para cada jogador, as estatísticas fornecem a probabilidade de ganhar o jogo e a variação de seu ELO se você perder / acabar em empate / vitória, ou simplesmente a mudança de classificação ELO final" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "Preto ELO:" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Pretas" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Rodada:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "Branco ELO:" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Brancas:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "Data:" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "Resultado:" #: glade/PyChess.glade:4818 msgid "Game" msgstr "Jogo" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "Jogadores:" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Evento:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "Formato esperado como \"yyyy.mm.dd\" com curinga liberado \"?\"" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "Identificação" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "Tags adicionais" #: glade/PyChess.glade:5066 msgid "uci" msgstr "uci" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "xboard" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "Gerenciar computador" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Comando:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protocolo:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Parâmetros:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "Parâmetros por linha de comandos necessário para o computador" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "Computador utiliza o protocolo de comunicação uci ou xboard para falar com a GUI.\nSe ele pode usar ambos, pode definir aqui o que você gosta." #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "Diretório de trabalho:" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "Diretório a partir de onde o computador será iniciado." #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "Comando runtime env:" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "Comando do ambiente runtime do computador (wine ou nó)" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "Parâmetros runtime env:" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "Parâmetros por linha de comandos necessário para o runtime" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "País:" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "País de origem do computador" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "Comentário:" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "Comentário livre sobre o computador" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "Ambiente" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "Preferência de nível:" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "Nível 1 é fraco e nível 20 é forte. Você não pode definir um nível muito alto se o computador é baseado em exploração profunda" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "Restaurar para opções padrão" #: glade/PyChess.glade:5538 msgid "Options" msgstr "Opções" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "Filtro" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Brancas" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Pretas" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "Ignore cores" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "Evento" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "ECO" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "Elo" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "0" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "-" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Data" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "Site" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "Notas" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Resultado" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "1-0" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "0-1" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "1/2-1/2" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "Variante" #: glade/PyChess.glade:6410 msgid "Header" msgstr "Cabeçalho" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "Desbalanceado" #: glade/PyChess.glade:6789 msgid "White move" msgstr "Movimento das brancas" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "Movimento das pretas" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "Não é um movimento de captura (quieto)" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "Moveu" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "Capturou" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "Lado a mover" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "Material/movimento" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "Sub-FEN:" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "Padrão" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "Scout" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Analisar jogo" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "Usar analisador" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "Se a analise encontra um movimento onde a diferença de avaliação (a diferença entre a analise do movimento que se pensa ser melhor e a avaliação do movimento do jogo) ultrapassa este valor, será adicionada uma anotação do movimento (consistindo na variação principal do movimento) no painel de anotações. " #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "Anotação da variação cria um limiar de peões" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "Analisar a partir da posição atual" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "Analisar movimento das pretas" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "Analisar movimento das brancas" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "Adicionar linhas de variações ameaçadoras" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess está verificando seus mecanismos de xadrez. Por favor espere." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Conecte ao Internet Chess" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "Conectando ao Servidor Online de Xadrez" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Senha:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Nome:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Conectar-se como _Convidado" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "Host:" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Po_rtas:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "Atraso:" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "Usar compensação de tempo" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "Ca_dastre-se" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Desafio: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Enviar desafio" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Desafiar:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Relâmpago:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Padrão:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Blitz:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "2 min, Xadrez Aleatório de Fischer, Pretas" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10min + 6s/lance, Brancas" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 min" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "Limpar Bus_cas" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Aceitar" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Rejeitar" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "Enviar todas as buscas" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Enviar busca" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Criar busca" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Padrão" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Blitz" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Relâmpago" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Computador" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "_Buscas / Desafios" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Rating" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Tempo" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "Buscar _gráfico" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 jogadores prontos" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Desafiar" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Observar" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Começar conversa privada" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "Registrado" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Convidado" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "Entitulado" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "Lista de _Jogadores" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "Lista de _Jogos" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "_Meus jogos" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "Oferecer _Abortar partida" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "Examinar" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "Pre_visão" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "_Arquivado" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "Aleatório assimétrico" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Editar busca" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Sem relógio" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minutos: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr " Incremento: " #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Controle de tempo: " #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Controle de tempo" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Qualquer um" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Sua força: " #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Blitz)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Força do adversário: " #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "Quando este botão está no estado \"marcado\", a relação\nentre \"a força de adversário\" e \"a sua força\" estará\npreservada se\na) sua classificação para ao tipo de jogo procurado for alterada\nb) você alterar a variante ou o controle do tempo" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Centro:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Tolerância:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Ocultar" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Força do adversário" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Sua cor" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Jogar com as regras normais do xadrez" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Jogar" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Variantes do xadrez" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Jogo pontuado" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Aceitar adversário manualmente" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Opções" #: glade/findbar.glade:6 msgid "window1" msgstr "janela1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 de 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Pesquisar:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Anterior" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Próximo" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Novo Jogo" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Iniciar Jogo" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "Copiar FEN" #: glade/newInOut.glade:143 msgid "Clear" msgstr "Limpar" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "Colar FEN" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "Setup inicial" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "Força do computador (1=fraco, 20=forte)" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "Lado branco - Clique para mudar de jogadores" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "Lado preto - Clique para mudar de jogadores" #: glade/newInOut.glade:397 msgid "Players" msgstr "Jogadores" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "Sem _relógio" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "Blitz: 5 min" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "Rápido: 15 min + 10 seg/movimento" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "Normal: 40 min + 15 seg/movimento" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "Clássico: 3min / 40 movimentos" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "_Jogar pelas regras normais" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Jogar Xadrez Aleatório Fischer" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "Jogar xadrez dos perdedores" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Abrir Jogo" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Posição Inicial" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Entrar com Notação de Jogo" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "Relógio meio movimento" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "Linha en passant" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "Numero do movimento" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "Pretas O-O" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "Pretas O-O-O" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "Brancas O-O-O" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "Brancas O-O" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "Rotacionar o tabuleiro" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Sair do PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "_Fechar sem Salvar" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "_Salvar %d documentos" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "Há %d jogos com lances não salvos. Salvar antes de fechar?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Selecione os jogos que quer salvar:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Se não salvar, as novas alterações dos jogos serão perdidas permanentemente." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "Ajustes de jogadores detalhado, controle de tempo e variações do xadrez" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "A_dversário:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_Sua Cor:" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "_Iniciar Jogo" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "Ajustes de conexão detalhado" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "Logar automaticamente ao iniciar" #: glade/taskers.glade:369 msgid "Server:" msgstr "Servidor:" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "_Conectar ao servidor" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "Selecionar o arquivo de xadrez pgn ou epd ou fen" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "_Recente:" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "Criar uma nova base de dados" #: glade/taskers.glade:609 msgid "Open database" msgstr "Abrir base de dados" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "Veja palestras, resolva quebra cabeças ou inicie exercícios de fim de jogo." #: glade/taskers.glade:723 msgid "Category:" msgstr "Categoria:" #: glade/taskers.glade:796 msgid "Start learning" msgstr "Iniciar aprendizado" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Dica do dia" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Mostrar dicas ao iniciar" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://pt.wikipedia.org/wiki/Xadrez" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://pt.wikipedia.org/wiki/Regras_do_xadrez" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Bem-vindo" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Abrir jogo" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "Lendo %s ..." #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "%(counter)s cabeçalhos de jogos de %(filename)s importados" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "O computador %s relata um erro:" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "Seu adversário ofereceu empate." #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "Seu adversário lhe ofereceu um empate. Se você aceitar, a partida terminará com o resultado 1/2 - 1/2." #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "Seu adversário quer cancelar a partida." #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "Seu adversário solicitou que o jogo seja anulado. Se você aceitar, o jogo terminará sem nenhuma mudança na classificação." #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "Seu oponente quer adiar a partida." #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "Seu adversário quer que o jogo seja adiado. Se você aceitar, o jogo será adiado e você poderá jogá-lo em outra data (se o seu adversário também estiver conectado e ambos os jogadores concordarem em retomar o jogo)." #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "Seu adversário quer desfazer %s movimento(s)." #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "Seu adversário quer voltar %s lance(s). Se você aceitar, o jogo seguirá a partir da posição indicada." #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "Seu adversário quer pausar a partida." #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "Seu adversário pediu para fazer uma pausa no jogo. Se você aceitar, o relógio do jogo será parado até que ambos aceitem retomar o jogo." #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "Seu adversário quer retomar a partida." #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "Seu adversário quer retomar o jogo. Se você aceitar, o relógio do jogo continuará a contar de onde foi pausado." #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "O abandono" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "A acusação de queda de seta" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "A oferta de empate" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "A oferta de anulação" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "A oferta de adiamento" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "A oferta de pausa" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "A oferta de retomada" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "A oferta de mudança de lado" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "A oferta de voltar jogadas" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "abandono" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "acusar queda de seta do adversário" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "oferecer empate" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "oferecer anulação" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "oferecer adiamento" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "oferecer uma pausa" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "oferecer para reiniciar jogo" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "oferecer troca de lado" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "oferecer voltar jogadas" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "pedir ao seu adversário que mova" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Seu adversário não está fora do tempo." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "O relógio ainda não foi iniciado." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "Você não pode mudar a cor durante o jogo." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "Você tentou voltar lances demais." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Seu adversário pede que você se apresse!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "Geralmente isto não significa nada, como o jogo é baseado em tempo, mas se você quer agradar o seu adversário, talvez você deva ir" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "Aceitar" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "Recusar" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "%s foi recusado por seu adversário" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "Reenviar %s?" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "Reenviar" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s foi retirada por seu adversário" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "Seu adversário parece ter mudado sua mente." #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "Não foi possível aceitar %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "Provavelmente porque ele foi retirado." #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s retornou um erro" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "Diagrama Chess Alpha 2" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "O jogo atual acabou. Primeiro, por favor verifique as propriedades do jogo." #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "O jogo atual não está acabado. Sua exportação pode ter um limite." #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "Poderia%spublicar publicamente seu jogo como PGN no chesspastebin.com?" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "Game compartilhado em" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "(Link disponível na área de transferência.)" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Posição do tabuleiro" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Desconhecido" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Posicionamento comum do xadrez" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "O jogo não pode ser carregado, por causa de um erro de análise FEN" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "Diagrama Html" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "Composições de xadrez do yacpdb.org" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Jogo de Xadrez" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "Analise da primeira variação" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "Importando cabeçalhos do jogo..." #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "Criando arquivo indexado .bin..." #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "Criando arquivo indexado .scout..." #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "Movimento inválido." #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "Erro de analise %(mstr)s" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "O jogo não pode ser lido até o final, devido a um erro ao analisar o lance %(moveno)s '%(notation)s'." #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "Não foi possível mover porque %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "Erro ao analisar movimento %(moveno)s %(mstr)s" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "Imagem PNG" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "Diagrama de texto" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "Endereço de destino inacessível" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Encerrado" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Evento local" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Ponto local" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "min" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "s" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "Ilegal" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "Mate" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "Nova versão %s está disponível!" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "Andorra" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "Emirados Árabes Unidos" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "Afeganistão" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "Antígua e Barbuda" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "Anguilla" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "Albânia" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "Armênia" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "Angola" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "Antártica" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "Argentina" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "Samoa Americana" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "Áustria" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "Austrália" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "Aruba" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "Ilha Åland" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "Azerbaijão" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "Bósnia e Herzegovina" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "Barbados" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "Bangladesh" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "Bélgica" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "Burkina Faso" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "Bulgária" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "Bahrein" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "Burundi" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "Benim" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "São Bartolomeu" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "Bermudas" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "Brunei Darussalam" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "Bolívia (Estado Plurinacional da)" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "Países Baixos Caribenhos" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "Brasil" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "Bahamas" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "Butão" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "Ilha Bouvet" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "Botswana" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "Belarus" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "Belize" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "Canadá" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "Ilhas Cocos (Keeling)" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "Congo (República Democrática do)" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "Central African Republic" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "Congo" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "Suíça" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "Costa do Marfim" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "Ilhas Cook" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "Chile" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "Camarões" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "China" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "Colômbia" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "Costa Rica" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "Cuba" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "Cabo Verde" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "Curaçao" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "Christmas Island" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "Chipre" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "Tcheca (República)" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "Alemanha" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "Djibouti" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "Dinamarca" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "Dominica" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "República Dominicana" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "Argélia" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "Equador" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "Estônia" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "Egito" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "Saara Ocidental" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "Eritreia" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "Espanha" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "Etiópia" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "Finlândia" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "Fiji" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "Ilhas Malvinas" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "Micronésia (Estados Federados da)" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "Ilhas Féroe" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "França" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "Gabão" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "Reino Unido da Grã-Bretanha e Irlanda do Norte" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "Granada" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "Georgia" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "Guiana Francesa" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "Guernsey" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "Gana" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "Gibraltar" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "Groelândia" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "Gâmbia" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "Guiné" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "Guadeloupe" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "Guiné Equatorial" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "Grécia" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "Ilhas Geórgia do Sul e Sanduíche do Sul" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "Guatemala" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "Guão" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "Guiné-Bissau" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "Guiana" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "Hong Kong" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "Ilha Heard e Ilhas McDonald" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "Honduras" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "Croácia" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "Haiti" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "Hungria" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "Indonésia" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "Irlanda" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "Israel" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "Isle of Man" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "Índia" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "Território Britânico do Oceano Índico" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "Iraque" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "Irã (República Islâmica do)" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "Islândia" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "Itália" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "Jersey" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "Jamaica" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "Jordânia" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "Japão" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "Quênia" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "Quirguistão" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "Camboja" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "Kiribati" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "Comores" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "São Cristóvão e Nevis" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "Coreia (República Popular Democrática da)" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "Coreia (República da)" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "Kuwait" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "Cayman Islands" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "Kazakhstan" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "República Democrática Popular Lau" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "Líbano" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "Santa Lúcia" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "Liechtenstein" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "Sri Lanka" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "Libéria" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "Lesoto" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "Lituânia" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "Luxemburgo" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "Letônia" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "Líbia" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "Marrocos" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "Mônaco" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "Moldávia (República da)" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "Montenegro" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "Saint Martin (French part)" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "Madagascar" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "Ilhas Marshall" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "Macedônia (antiga República Iugoslava da)" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "Mali" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "Myanmar" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "Mongólia" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "Macao" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "Ilhas Marianas Setentrionais" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "Martinica" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "Mauritânia" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "Monserrate" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "Malta" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "Maurício" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "Maldives" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "Maláui" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "México" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "Malásia" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "Moçambique" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "Namíbia" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "New Caledonia" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "Níger" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "Ilha Norfolk" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "Nigéria" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "Nicarágua" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "Holanda" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "Noruega" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "Nepal" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "Nauru" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "Niue" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "Nova Zelândia" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "Omã" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "Panamá" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "Peru" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "French Polynesia" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "Papua New Guinea" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "Filipinas" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "Paquistão" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "Polônia" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "São Pedro e Miquelão" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "Pitcairn" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "Porto Rico" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "Palestina, Estado da" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "Portugal" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "Palau" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "Paraguai" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "Qatar" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "Réunion" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "Romênia" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "Sérvia" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "Rússia" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "Ruanda" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "Arábia Saudita" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "Solomon Islands" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "Seychelles" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "Sudão" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "Suécia" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "Cingapura" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "Santa Helena, Ascensão e Tristão da Cunha" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "Eslovênia" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "Svalbard e Jan Mayen" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "Eslováquia" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "Sierra Leone" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "San Marino" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "Senegal" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "Somália" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "Suriname" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "Sudão do Sul" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "Sao Tome and Principe" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "El Salvador" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "Sint Maarten (Dutch part)" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "República Árabe Síria" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "Suazilândia" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "Ilhas Turcas e Caicos" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "Chade" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "Terras Austrais Francesas" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "Togo" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "Tailândia" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "Tajikistan" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "Toquelau" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "Timor-Leste" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "Turquemenistão" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "Tunísia" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "Tonga" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "Turquia" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "Trindade e Tobago" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "Tuvalu" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "Taiwan (Province of China)" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "Tanzânia, República Unida da" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "Ucrânia" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "Uganda" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "Ilhas Menores Distantes dos Estados Unidos" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "Estados Unidos da América" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "Uruguai" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "Uzbequistão" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "Santa Sé" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "Saint Vincent and the Grenadines" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "Venezuela (República Bolivariana da)" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "Ilhas Virgens (Britânicas)" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "Ilhas Virgens (E.U.A.)" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "Vietnã" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "Vanuatu" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "Wallis and Futuna" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "Samoa" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "Iêmen" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "Mayotte" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "África do Sul" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "Zâmbia" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "Zimbabwe" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Peão" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "C" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "B" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "T" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "D" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "R" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "O jogo terminou empatado" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s venceu o jogo" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s venceu o jogo" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "O jogo foi encerrado" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "O jogo foi adiado" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "O jogo foi anulado" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "Estado do jogo desconhecido" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "Jogo cancelado" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "Porque nenhum jogar tem material suficiente para dar mate" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "Porque a mesma posição se repetiu três vezes consecutivas" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "Porque os últimos 50 lances não trouxeram nada de novo" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Porque o tempo acabou para ambos os jogadores" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "Porque %(mover)s provocou empate por afogamento" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "Porque ambos combinaram empate" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "Devido a uma decisão proferida por um administrador" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "Porque o jogo excedeu o tamanho máximo" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "Porque %(white)s caiu no tempo e %(black)s não tem material suficente para dar mate" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "Porque %(black)s caiu no tempo e %(white)s não tem material suficente para dar mate" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "Porque ambos jogadores tem a mesma quantidade de peças" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "Porque ambos os reis alcançaram a oitava fila" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "Porque %(loser)s abandonou" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "Porque o tempo de %(loser)s terminou" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "Porque %(loser)s levou cheque-mate" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "Porque %(loser)s se desconectou" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "Porque %(winner)s tem menos peças" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "Porque %(winner)s perdeu todas as peças" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "Porque %(loser)s rei explodiu" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "Porque o rei %(winner)s alcançou o centro " #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "Poque o %(winner)s deu check 3 vezes" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "Por causa %(winner)s rei chegou na oitava fileira" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "Por ter %(winner)sdestruído horde brancos." #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "Porque o jogador perdeu a conexão" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "Porque ambos os jogadores concordaram em um adiamento" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "Porque o servidor foi desligado" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "Porque um jogador perdeu a conexão e outro jogador solicitou adiamento" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "Porque %(black)s perdeu a conexão com o servidor e %(white)s solicitou um adiamento" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "Porque %(white)s perdeu a conexão com o servidor e %(black)s solicitou um adiamento" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "Porque %(white)s perdeu a conexão com o servidor" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "Porque %(black)s perdeu a conexão com o servidor" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "Por causa da decisão proferida por um administrador . Nenhuma alteração no rating foi ocorrida." #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "Porque ambos os jogadores concordaram em abortar o jogo. Nenhuma mudança de rating ocorreu." #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "Por causa da cortesia do jogador. Nenhuma mudança de rating ocorreu." #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "O jogador abortou o jogo. Qualquer jogador pode abortar o jogo sem o consenso de outros antes da segunda jogada. Não ocorreu mudança na classificação." #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "Como um jogador desconectou e tem poucas jogadas para garantir um adiamento. Não ocorreu mudanças no ranking. " #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "Porque o servidor foi desligado. Nenhuma mudança de rating ocorreu." #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "Porque o computador %(white)s foi encerrado" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "Porque o computador %(black)s parou" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "Porque a conexão com o servidor foi perdida" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "A razão é desconhecida" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "Por causa do objetivo ter sido atingido" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "ASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "ASEAN" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "Makruk: http://en.wikipedia.org/wiki/Makruk" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "Makruk" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "Cambodian: http://www.khmerinstitute.org/culture/ok.html" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "Cambodian" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "Ai-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "Ai-Wok" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "Sittuyin" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n* Escolha Randômica de peças (duas damas ou três torres possíveis)\n* Exatamente um rei de cada cor\n* Peças colocadas aleatoriamente atrás dos peões, SUJEITO A RESTRIÇÃO PARA QUE OS BISPOS ESTEJAM BALANCEADOS\n* Sem roque\n* Disposição das pretas NÃO espelha as brancas" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Aleatório Assimétrico" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "FICS atômico: http://www.freechess.org/Help/HelpFiles/atomic.html" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "Atômico" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Regras clássicas do xadrez com peças ocultas \nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "Xadrez às Cegas" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Regras clássica do xadrez com Peões ocultos\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "Ocultar Peões" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Regras clássicas do xadrez com peças ocultas \nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "Ocultar peças" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Regras clássicas do xadrez com todas as peças brancas\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "Todas brancas" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "FICS Bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "Bughouse" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "http://brainking.com/en/GameRules?tp=2\n* Localização das peças na 1ª e 8ª fileira são randomizadas\n* O rei está no canto direito\n* Bispos precisam iniciar em cores de casas opostas\n* Posição inicial das pretas é obtida pela posição das brancas em 180 graus em torno do centro do tabuleiro\n* Sem roque" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Canto" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "Crazyhouse" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "EuroShogi" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "http://en.wikipedia.org/wiki/Chess960\nFICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Aleatório de Fischer" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "Doar ICC: https://www.chessclub.com/user/help/Giveaway" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "Doar" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "Pretas tem que capturar todas as peças para ganhar.\nBrancas quer o checkmate.\nPeões brancos na primeira fileira podem mover duas casas,\npeões similares na segunda fileira." #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "Horde" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "Trazer seu rei legalmente para o centro (e4, d4, e5, d5) imediatamente ganha o jogo!\nRegras normais aplicam em alguns casos e checkmate também termina o jogo." #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "Rei acima" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "Um jogador começa sem um Cavalo" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "Vantagem do Cavalo" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "De perdedores" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "Regras clássicas do xadrez\nhttp://en.wikipedia.org/wiki/Chess" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Tempo padrão" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "Um jogador começa com um Peão a menos" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "Vantagem do Peão" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\nPeões brancos iniciam na 5ª fileira e peões pretos na 4ª fileira" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "Peões passados" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\nPeões iniciam na 4ª e 5ª fileira ao invés da 2ª e 7ª" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "Peões avançados" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "Pre-chess: https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "Colocação" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "Um jogador começa sem a dama" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "Vantagem da Dama" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "Neste jogo, check é completamente proibido: não somente proibido\nmover um rei para o check, mas também proibido dar check no rei adversário.\nA ideia do jogo é ser o primeiro a mover seu rei para a oitava fileira.\nQuando mover o rei branco para a oitava fileira, e o rei preto mover também\no rei para a ultima fileira, o jogo empata\n(esta regra compensa a vantagem das brancas que podem mover primeiro.)\nIndependente disso, as peças movem e fazem capturas como no xadrez normal." #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "Corrida de reis" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n* Escolha Randômica de peças (duas damas ou três torres possíveis)\n* Exatamente um rei de cada cor\n* Peças colocadas aleatoriamente atrás dos peões\n* Sem roque\n* Disposição das pretas espelha as brancas" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Aleatório" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "Um jogador começa sem uma Torre" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "Vantagem da Torre" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "xboard sem roque: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n* Disposição aleatória das peças atrás dos peões\n* Sem roque\n* Arranjo das pretas espelham as brancas" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Aleatório" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "FICS suicídio: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "Suicídio" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "Variante desenvolvida por Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "Theban" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "Ganha executando check 3 vezes" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "Três checks" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "ICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\nhttp://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\nPeões iniciam na sua 7ª fileira ao invés da 2ª fileira!" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "Cabeça para baixo" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n* Brancas tem a posição normal de inicio.\n* Pretas tem a mesma posição, exceto para o Rei e Dama que são invertidos,\n* para que eles não tenham a mesma coluna como o Rei e a Dama branca.\n* Roque é executado como no xadrez normal:\n* o-o-o indica roque longo e o-o indica roque curto." #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "Wildcastle" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n* Nessa variante ambos os lados tem o mesmo posicionamento das peças do xadrez normal.\n* O rei branco inicia na d1 ou e1 e o rei preto inicia na d8 ou e8,\n* e as torres estão em sua posições normais.\n* Bispos estão sempre em cores opostas.\n* Sujeito a restrições, a posição das peças em suas primeiras fileiras é aleatória.\n* Roque é feito como no xadrez normal.\n* o-o-o indica roque longo e o-o indica roque curto." #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "Wildcastle aleatório" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "A conexão foi interrompida" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' não é um nome registrado" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "A senha está incorreta.\nSe você esqueceu sua senha, vá para http://www.freechess.org/password e solicite uma nova senha por e-mail." #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "Desculpe '%s' já está logado" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr " '%s' é um nome registrado. Se for seu, digite sua senha." #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "Apesar do problema de abuso, conexão do visitante foi preservada.\nVocê ainda tem registro no http://www.freechess.org" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Conectando ao servidor" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Conectando ao servidor" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Configurando o ambiente" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "%(player)s está %(status)s" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "não jogar" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Wild" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Conectado" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Desconectado" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "Disponível" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "Jogando" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "Inativo" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "Examinando" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "Indisponível" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "Executando jogo simultâneo" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "Em torneio" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Não pontuado" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Pontuado" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d min" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr " + %d sec" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "%(player)s joga %(color)s" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "brancas" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "pretas" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "Esta é a continuação de um jogo adiado" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "Rating do Adversário" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "Aceitar manualmente" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Privado" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Erro de conexão" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Erro ao conectar" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Conexão foi fechada" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Erro no endereço" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Auto-desconectar" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Você foi desconectado porque ficou inativo mais de 60 minutos" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "Login de visitante desabilitado pelo servidor FICS" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "1-minuto" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "3-minutos" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "5-minutos" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "15-minutos" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "45-minutos" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "Chess960" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "Examinado" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Outro" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "Bullet" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Administrador" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "Conta de xadrez às cegas" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Conta da equipe" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "Não Registrado" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "Mentor de xadrez" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "Representante de atendimento" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "Diretor do torneio" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "Gerenciador Mamer" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "Grande Mestre" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "Mestre Internacional" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "Mestre FIDE" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "Grande Mestre Mulher" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "Mestre Internacional Mulher" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "Mestre FIDE Mulher" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "Conta iniciante" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "Candidato a mestre" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "Operador FIDE" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "Mestre Nacional" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "Mostrar mestre" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "C" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "T" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "U" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "CA" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "SR" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "TD" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "TM" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "GM" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "MI" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "FM" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "WGM" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "WIM" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "MFM (WFM)" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "D" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "H" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "CM" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "FA" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "NM" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "DM" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "PyChess não conseguiu carregar as configurações do seu painel" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "Seu painel de controle foi resetado. Se este problema persistir, você pode reportar aos desenvolvedores." #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "Amigos" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "Administrador" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "Mais canais" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "Mais jogadores" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "Computadores" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "Xadrez às Cegas" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "Visitantes" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "Observadores" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "Continue" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "Pausar" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "Perguntar por permissões" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "Algumas ajustes do PyChess precisam de sua permissão para fazer downloads de programas externos" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "Consulta da base de dados precisa do scoutfish" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "base de dados de aberturas precisam de chess_db" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "Compensação do lag do ICC precisa de valores" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "Não mostrar essa tela ao iniciar" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "Nenhuma conversa foi selecionada" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "Carregando dados do jogador" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "Recebendo lista de jogadores" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "Sua vez." #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "Dica" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "Melhor movimento" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "Feito! %s completado." #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "Feito!" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "Próximo" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "Continuar" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "Não é o melhor movimento!" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "Tentar novamente" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "Ótimo! Agora vamos ver como isso segue na linha principal." #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "Voltar para a linha principal" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "Janela de informações do PyChess" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "de" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "Palestras" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "Lições" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "Puzzles" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "Finais" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "Você não abriu conversas ainda" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "Somente jogadores registrados podem falar neste canal" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "Analise do jogo em andamento..." #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "Você deseja abortar?" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "Abortar" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "Você não salvou as mudanças. Você quer salvar antes de sair?" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "Opções" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "Valor" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "Selecionar programa" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "Arquivos executáveis" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "Incapaz de adicionar %s" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "O programa já está instalado com o mesmo nome" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "não está instalado" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "%s não está como executável no sistema de arquivos " #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "Tente chmod a+x %s" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "À algo errado com este executável" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "Importar" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "Selecione o diretório de trabalho" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "Você realmente quer restaurar as opções padrão do programa?" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "Novo" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "Escolha a data" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "movimento invalido do computador: %s" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Oferecer revanche" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "Observar %s" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Jogar revanche" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Voltar um lance" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Voltar dois lances" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "Você enviou uma oferta de anulação" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "Você enviou uma oferta de adiamento" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Você enviou uma oferta de empate" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "Você enviou uma oferta de pausa" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "Você enviou uma oferta de continuação" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "Você enviou uma pedido para voltar jogada" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "Você pediu para seu oponente mover" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "Você enviou chamada" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Computador, %s, foi encerrado" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "PyChess perdeu a conexão com o computador , provavelmente ela foi encerrada.\n\nVocê pode tentar iniciar um novo jogo contra o computador, ou tentar jogar contra outro tipo." #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "O jogo pode ser automaticamente cancelado sem perda de classificação porque ainda não foram feitas duas jogadas." #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "Oferecer anulação" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "Seu oponente precisa aceitar para o jogo ser abortado porque tem duas ou mais jogadas" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "Este jogo não pode ser adiado pois um ou mais jogadores são convidados" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "Reclamar empate" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "Continuar" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "Oferecer Pausa" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "Oferecer Continuação" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "Voltar jogada" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "Oferecer voltar jogada" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "Atraso de 30 segundos" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "o atraso é alto mas não desconectou" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "Continuar esperando pelo oponente, ou tentar adiar o jogo?" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "Espere" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "Adiar" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "Ir para a posição inicial" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "Retroceder um lance" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "Volte para a linha inicial" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "Adiantar um lance" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Ir para a última posição" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "Encontre a posição na base de dados atual" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "Salvar setas/círculos" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Ser humano" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minutos:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "Movimentos:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Incremento:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "Classico" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "Rápido" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "%(name)s%(minutes)dmin / %(moves)dmovimentos %(duration)s" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "%(name)s%(minutes)d min %(sign)s%(gain)dsec/mov %(duration)s" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "%(name)s%(minutes)d min %(duration)s" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "Duração estimada: %(min)d - %(max)d minutos" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "Vantagem" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "Outro (regra padrão)" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "Outro (fora da regra padrão)" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "Variante asiática" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr " xadrez" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Ajustar Posição" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "Tecle ou cole sua partida PGN ou posição FEN aqui" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Entrar no Jogo" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "Selecionar arquivo de livro" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "Livro de aberturas" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "Selecionar diretório Gaviota TB" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Abrir Arquivo de Som" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "Arquivos de som" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Sem som" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Aviso sonoro" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Selecione um arquivo de som..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "Painel sem descrição" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "Selecione arquivo de imagem de fundo" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "Imagens" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "Selecionar salvamento automático" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "Você sabia que é possível fazer um xeque-mate com dois movimentos?" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "Você sabia que o número de possíveis jogos no xadrez é maior que o número de átomos do Universo?" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "Para salvar um jogo: Jogo > Salvar jogo como, insira o nome do arquivo e escolha onde quer que seja salvo. Escolha o tipo da extensão do arquivo, e Salvar." #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "FEN precisa de 6 campos de dados.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "FEN precisa de pelo menos 2 campos de dados na fenstr.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "Precisa de 7 traços na peça localizada.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "Campo de cor ativa precisa ser b ou n.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "Roque não disponível.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "Coordenadas do En passant não são legais. \n\n%s" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "peça inválida para promoção" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "o lance precisa de uma peça e uma coordenada" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "a coordenada capturada (%s) está incorreta" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "peão captura sem o alvo ser valido" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "fim do laço (%s) é incorreto" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "e" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "empatam" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "fazem xeque-mate" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "põem o adversário em xeque" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "melhora a segurança do Rei" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "melhora ligeiramente a segurança do Rei" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "movem uma Torre para uma coluna aberta" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "movem uma Torre para uma coluna semi-aberta" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "movem o Bispo para o fianqueto: %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "promovem um Peão a %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "rocam" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "recuperam material" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "Sacrificar material" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "trocam peças" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "capturam peça" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "resgata %s" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "ameaça ganhar a peça por %s" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "aumenta a pressão em %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "defendem %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "cravam %(oppiece)s do inimigo no(a) %(piece)s em %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "Brancas tem uma peça em posto avançado: %s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "Pretas tem uma peça em posto avançado: %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "%(color)s têm um novo Peão passado em %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "semi-aberta" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "na coluna %(x)s%(y)s" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "nas colunas %(x)s%(y)s" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "%(color)s têm um Peão dobrado %(place)s" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "%(color)s têm novos Peões dobrados %(place)s" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "%(color)s têm um Peão isolado na coluna %(x)s" msgstr[1] "%(color)s têm Peões isolados nas colunas %(x)s" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "%s movem os Peões para uma formação de muralha" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "%s não podem mais rocar" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "%s não podem mais fazer roque grande" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "%s não podem mais fazer pequeno-roque" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "%(opcolor)s têm um novo Bispo preso em %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "avançam um Peão: %s" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "levam um Peão para mais perto da última fileira: %s" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "levam %(piece)s para mais perto do Rei inimigo: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "avançam %(piece)s: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "aumentam ação de %(piece)s: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "Brancas devem fazer uma chuva de Peões na ala direita" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "Pretas devem fazer uma chuva de Peões na ala esquerda" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "Brancas devem fazer uma chuva de Peões na ala esquerda" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "Pretas devem fazer uma chuva de Peões na ala direita" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "Pretas estão com muito pouco espaço" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "Pretas estão com pouco espaço" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "Brancas estão com muito pouco espaço" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "Brancas estão com pouco espaço" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "Shout" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "Chess Shout" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "Canal não-oficial %d" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "Filtros" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "Painel de filtros pode filtrar lista de jogos de condições variadas" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "Editar filtro selecionado" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "Remover filtro selecionado" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "Adicionar novo filtro" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "Seq" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "Criar nova sequencia onde a condição da lista tem de satisfazer diferentes tempos do jogo" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "Str" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "Criar nova sequencia onde a condição da lista tem de satisfazer (metade) movimentos consecutivos." #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "Lista de jogos filtrados pode condições variadas" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "Sequência" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "Streak" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "Aberturas" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "Painel de aberturas pode filtrar jogos pode aberturas" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "Movimento" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "Jogos" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "Ganhando %" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "Filtro de lista de jogos por aberturas" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "Visualização" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "Painel de visualização pode filtrar jogos por movimentos de jogos atuais" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "Lista de jogos filtrados por jogos atuais" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "Adicionar sub-fen filtro de posição/circulos" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "Importar arquivo PGN" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "Salvar arquivo PGN como..." #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "Abrir" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "Abrindo chessfile..." #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "Salvar como" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "Abrir arquivo de xadrez" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "Recriando indexação..." #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "Preparando para iniciar importação..." #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "%s jogos processados" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "Criar novo Book de aberturas poliglota" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "Criar Book poliglota" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "Criar novo banco de dados PGN " #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "Arquivo '%s' já existe." #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "%(path)s\ncontém %(count)s jogos" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "Id" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "B Elo" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "N Elo" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "Rodada" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "Comprimento" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "Controle de tempo" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "Primeiros jogos" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "Jogos anteriores" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "Próximos jogos" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "Arquivado" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "Histórico e histórico de jogos" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Relógio" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Tipo" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Data/Hora" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "com que você teve um jogo %(timecontrol)s %(gametype)s adiado está online." #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "Solicitar Continuação" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "Examinar Jogo Adiado" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "Falando" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "Lista de canais " #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Conversa" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "Informação" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "Console" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "Interface de linha de comando do servidor de xadrez" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Vitória" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Empate" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Derrota" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "Necessario" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "Melhor" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "No FICS, sua classificação em \"Wild\" abrange todas as seguintes variantes em todos os controles de tempo\n" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "Sanções" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "E-mail" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Tempo gasto" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "conectado no total" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Conectando" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "Tocar" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "Você está atualmente logado como um visitante, mas existe uma conta grátis por 30 dias, após isso não será cobrado taxas e sua conta permanecerá ativa para jogar. (Com algumas restrições. Por exemplo, sem vídeos premium, algumas limitações de canais e assim por diante). Para registrar vá para" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "Você está logado como um visitante. Um visitante não pode jogar jogos ranqueados e outros tipos de jogos oferecidos para usuário registrado. Para registrar uma conta, vá para" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "Lista de jogos" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "Lista de jogos em progresso" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Jogos em execução: %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "Novidades" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "Lista de servidores nvoso" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "Avaliar" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "Segue" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "Lista de jogadores" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "Lista de jogadores" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Nome" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "Status" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "Jogadores: %d" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "O botão está desabilitado porque você logou como visitante. Visitantes não podem ter classificação, e o estado do botão não possui efeito quando não existe nenhuma classificação amarrada com a \"Força do oponente\"." #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Desafiar: " #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "Se marcado você poderá recusar jogadores que aceitaram sua busca" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "Esta opção não é aplicável porque você está desafiando um jogador" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Editar busca: " #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "%(minutes)d min + %(gain)d sec/lance" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Manual" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "Qualquer força" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "Você não pode jogar jogos pontuados porque você está conectado como convidado" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "Você não pode jogar jogos pontuados porque o botão \"Sem relógio\" foi marcado, " #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "e no FICS, jogos sem relógio não podem ser pontuados" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "Esta opção não está disponível porque você está desafiando um convidado, " #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "e os convidados não podem jogar jogos pontuados" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "Você não pode selecionar uma variação porque o botão \"Sem relógio\" foi marcado, " #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "e no FICS, jogos sem relógio têm que ser nas regras normais do xadrez" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "Alterar tolerância" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "Gráfico de busca" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "Manusear buscas em tela grafica" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " min" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "Buscas / Desafios" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "Manusear buscas e desafios" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "Efeito sobre a classificação pelos resultados possíveis" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "Vencedor:" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "Empate:" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "Derrota:" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "Novo RD:" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Buscas ativas: %d" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "gostaria de retomar seu jogo adiado %(time)s %(gametype)s." #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "desafia você para um %(time)s %(rated)s %(gametype)s jogo" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "onde %(player)s joga %(color)s." #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "ICS" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "Deslogar" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "Novo jogo de 1-minuto" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "Novo jogo de 3-minutos" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "Novo jogo de 5-minutos" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "Novo jogo de 15-minutos" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "Novo jogo de 25-minutos" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "Novo jogo de Chess960" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "Você tem que selecionar kibitz para ver as mensagens de robô aqui." #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "Você pode ter somente 3 buscas ao mesmo tempo. Se você quer adicionar uma nova busca, você precisa limpar suas buscas atuais. Deseja limpar suas buscas?" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "Você não pode tocar aqui! Você está examinando um jogo." #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "recusou sua oferta para um jogo" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "está censurando você" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "não listou você" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "Usar uma formula não apropriada para sua solicitação de jogo:" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "aceitar manualmente" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "aceitar automaticamente" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "faixa de rating agora" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "solicitar atualização" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "Suas solicitações foram removidas" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "está chegando" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "está saindo" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "está presente" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Detectar formato automaticamente" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "Erro ao carregar o jogo" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Salvar jogo" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "Exportar posição" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Formato de arquivo desconhecido '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "Não foi possível salvar '%(uri)s' porque o PyChess não reconhece o formato '%(ending)s'." #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Não foi possível salvar o arquivo '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "Você não tem privilégios necessários para salvar o arquivo.\nPor favor certifique-se que você indicou o caminho correto e tente novamente." #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Substituir" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "O arquivo já existe" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Um arquivo com o nome '%s' já existe. Você deseja substituí-lo?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "O arquivo já existe em '%s'. Se você substituí-lo, seu conteúdo será sobrescrito." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Não foi possível salvar o arquivo" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess não conseguiu salvar o jogo" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "O erro foi: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "Há %d jogo com lances não-salvos." msgstr[1] "Há %d jogos com movimentos não-salvos." #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "Salvar lances antes de fechar?" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "Incapaz de salvar o arquivo de configuração. Salvar jogos antes de fechar?" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "vs." #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "_Salvar %d documento" msgstr[1] "_Salvar %d documentos" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "Salvar o jogo atual antes de você fechar?" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "Incapaz de salvar o arquivo de configuração. Salvar o jogo antes de fechar?" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Não será possível continuar posteriormente a partida \nse você não salvá-la." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Todos os arquivos de xadrez" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "Anotação" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "Jogo anotado" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "Atualizar" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "Adicionar comentário inicial" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "Adicionar comentário" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "Editar comentário" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "Lance bom" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "Lance ruim" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "Lance excelente" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "Lance muito ruim" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "Lance interessante" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "Lance duvidoso" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "Lance forçado" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "Adicionar símbolo de movimentação" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "Arrumar" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "Posição incerta" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "Ligeira vantagem" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "Vantagem moderada" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "Vantagem decisiva" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "Vantagem esmagadora" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "Zugzwang" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "Vantagem em desenvolvimento" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "Iniciativa" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "Com ataque" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "Compensação" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "Contra-ataque" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "Pressão do tempo" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "Adicionar símbolo de avaliação" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "Comentário" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "Símbolos" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "Todas as avaliações" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "Remover" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "Sem controle de tempo" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "mins" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "segs" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "%(time)s para %(count)d movimentos" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "mover" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "rodada %s" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "Sugestão" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "O painel de sugestão, aconselhara o computador durante cada fase do jogo" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Painel oficial do PyChess." #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Livro de aberturas" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "O livro de aberturas irá tentar inspirá-lo durante a fase de abertura do jogo mostrando-lhe lances comuns feitos pelos mestres de xadrez" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "Analises por %s" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "%s vai tentar prever qual movimento é melhor e qual lado está com vantagem" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "Analises de ameaças por %s" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "%s vai identificar quais são as ameaças existentes, se fosse seu adversário na sua vez de jogar" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "Calculando..." #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "As unidades de medidas do computador são em unidades de peões, do ponto de vista das Brancas. Clicando duas vezes sobre as linhas de análise, você pode inseri-las no painel Anotação como variações." #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "Adicionando sugestões para ajuda-lo e obter ideias, mas retarda as analises do computador." #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "Final de Partida" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "No final de partida, mostrara analises exata quando tiver poucas peças no tabuleiro." #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "Mate em %d" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "nessa posição,\nnão há uma jogada regular." #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "O painel Conversa lhe permite comunicar com seu adversário durante o jogo, desde que ele esteja interessado" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Comentários" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "O painel Comentários tenta analisar e explicar os lances jogados" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Posição inicial" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "%(color)s movem %(piece)s para %(cord)s" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "Computador" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "As saídas do programa no painel mostra as saídas de analises do computador (jogador computador) durante um jogo" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "Nenhuma programa de xadrez (jogador computador) estão participando desse jogo." #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Histórico de Movimentos" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "A aba Lances registra os lances dos jogadores e permite que você navegue pelo histórico do jogo" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Pontuação" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "O painel de Pontuação tenta avaliar as posições e mostrar um gráfico da evolução do jogo" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "Pratique finais com o computador" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "Título" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "Estude palestras do FICS offline" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "Autor" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "Lição interativa guiada no estilo \"adivinha o movimento\"" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "Fonte" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "Progresso" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "Estudos práticos de puzzles de GM e composições de xadrez do Lichess" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "Outros" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "Aprenda" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "Sair do aprendizado" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "lichess" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "wtharvey" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "yacpdb" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "lições" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "Resetar meu progresso" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "Você irá perder todos os dados do seu progresso!" pychess-1.0.0/lang/jv/0000755000175000017500000000000013467766037013621 5ustar varunvarunpychess-1.0.0/lang/jv/LC_MESSAGES/0000755000175000017500000000000013467766037015406 5ustar varunvarunpychess-1.0.0/lang/jv/LC_MESSAGES/pychess.mo0000644000175000017500000000426113467766036017423 0ustar varunvarun(\5p'q # /9> M Y#c    "+:ef( -59? ESY` gq x&  *17< BM V"b+%!' #  " $& (Promote pawn to what?AnimationPlay Sound When...PlayersBishopClockEmailEvent:Game informationKnightMinutes:NameNew GameNormalOffer _DrawOpen GamePingPlayer _RatingPreferencesPromotionPyChess - Connect to Internet ChessQueenRatingRookSave Game _AsSite:The game has been abortedTimeTypeUnknown_Accept_Actions_Game_Name:_New Game_Password:_Save Gamehttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Javanese (http://www.transifex.com/gbtami/pychess/language/jv/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: jv Plural-Forms: nplurals=1; plural=0; Promosi pion dadi apa?AnimasiMainke suara yen...PemainMenteriJamEmailEven:Informasi GimJaranMenit:JenengGim AnyarNormalTawani _DrawBuka GimPing_Rating PemainPilihanPromosiPyChess - Nggabung ning Internet ChessRatuRatingBetengSimpen Gim D_AdiSitus:Gim dibatalkeWektuTipeOra dikenaliT_Ampa_Aksi_Gim_NomoGim A_Nyar_Pasword_Simpen Gimhttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chesspychess-1.0.0/lang/jv/LC_MESSAGES/pychess.po0000644000175000017500000043234013455542752017423 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2009 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Javanese (http://www.transifex.com/gbtami/pychess/language/jv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: jv\n" "Plural-Forms: nplurals=1; plural=0;\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Gim" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "Gim A_Nyar" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Simpen Gim" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Simpen Gim D_Adi" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "_Rating Pemain" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Aksi" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Tawani _Draw" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Pilihan" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animasi" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Mainke suara yen..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Promosi" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Ratu" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Beteng" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Menteri" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Jaran" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Promosi pion dadi apa?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Informasi Gim" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Situs:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Even:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Nggabung ning Internet Chess" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Pasword" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Nomo" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "T_Ampa" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Rating" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Wektu" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Gim Anyar" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Pemain" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://en.wikipedia.org/wiki/Chess" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://en.wikipedia.org/wiki/Rules_of_chess" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Buka Gim" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Ora dikenali" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Gim dibatalke" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Normal" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Menit:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Jam" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Tipe" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Email" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Jeneng" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/ca/0000755000175000017500000000000013467766037013565 5ustar varunvarunpychess-1.0.0/lang/ca/LC_MESSAGES/0000755000175000017500000000000013467766037015352 5ustar varunvarunpychess-1.0.0/lang/ca/LC_MESSAGES/pychess.mo0000644000175000017500000014475613467766036017405 0ustar varunvarunb,5<&3 3 3 &3$33 X3f3 x333/3[3N)4x4'4#4445&5-5 A5!b5>55!55566$6A6'G6o66666667#7$B7#g777777788/8A8[8&n8C878U9*g999999e9 K:W:_:&f:: : :::m:J; Z;d;x; ;;C;; <<<*<@<G<*W<< < <<<</<S<QQ===!=> >@>/]>S>Q>#3?*W?"?+??rp@ @KA%PAOvA-A3A$(B6MB#BEBAB!0C!RC-tC&C-C;C 3DBTDDDD D DD DDDDD D8E9E AE KEWEkEpE EE EVEVFR[FSFGGG$GHFHcH}H HHHpH I I I*#INITIdI}lI&I J1JMJSJZJbJ yJ@JDJH KHRK=KLL MMM,M3M9MJMZMiM zMMMMM;N$ANfN uN NNN N NNN1NGNA5OwOP>PXQR\QBQcQ]VR?RBR;7SqsSSSO9TFU U)UV VD'VlVnVsVV VVVV V VV V V V WW2W9W>WDW+KWwWW WW W!W W W WXX X/XMXVX ^XClXXX XXX X YY (Y 4Y BY OY ZY gY sY Y YY,Y*Y+Y*&ZQZXZlZ Z Z ZZZZZ Z ZZZ Z [ [[#[([B[T[i[[[ [[[[[ [['[ \ )\#3\ W\c\e\ k\ v\\\\\\ \\ \\ \\\ \\] ]] (]2] 7] A]O](d]]]]*]]^ ^ ^"^"8^[^j^ y^^^ ^^$^^__/_D_X_ `_ m_y____/____ ` ``&`.`>`pP``ha"bC:b5~b4b9b3#cWcRfcccc =d9KdZddde/e}Hee`eCf]fffggZ$ggggKg~gEkh,h hhhhii $i/iAiFiyZi iiii i jj'j=j Tjbjsjj6jjjMjk%kl l l+l2l 7lBlUlYlulzll(l/lymC}m3m&mnnnnoo7o Notooop@qq%Krlqr!r/s&0s(Ws&s's'sst$t,t 5t Ct Mt Xt et otytttt tt ttt%ttt u u !u+u 2u[k3Nj=299lSƌ<4W401:$?_%LŎ & 1>FOU\l u8 Əԏg/\[\PБ   6I<b  ϒ ڒ  %>^ cntz| 5J ]kr0. _1i  וAD#HhHWRq ØΘ  3H'Qy6 B [ hv | >hMRF] \kjȝD3ex_ޞ@>ADKRRd6 A/L|=ޢ  3BJSk ~ӣܣ+3:Mg"y ϤѤդ/ !)?:z ƥץ (7HXgz'%!# -7S jxΧԧ ֧  */4Tk ƨΨ '".Q Y.c  ĩ Ʃҩ۩   $. 6CLRekr ̪&*$91^ ū)! 9EXg|-٬!2FO_q/%έ  +1:K_`կ*6Ca9&߰=:DUdkP}mβ<[x$@heδ| [µ9@VFvO0d ɷٷ X! z  Ҹ'9QiEq ĹN˹1  #- 6AU\ {/2q?Jɼ#8ʽ*#Bof־3$Nbs-/)4(^(+," ,>GPbk} 3 AOcu    ($:_r P' <HWYw~ :#e2k )H[p `]uZG9[K E'V.,5%x#W&\?_&k{5dMBf7/gU02PXDwR7l Bw'1NYWQ:#}LQja3_@8a*9&Bov ,\sS0e"J!CqqtHVTP(6!zdcp*kvhI+16]G#D%4[Sy6m5)@uCVTL/O2 8KXPL;3Dem. FY',~^>ni%UA{@/J;2<?>Qr=1WX|0C>$|zo}<hb? R -a)~F4<ISlH`.ZM9+c ]O 8Mbxs* \ UN4`Ai H-:g yE($( n_!+ Kt GI$"p 3j-F=AYT:^J;EO=r")7f ZR[N^b Gain: + %d sec has arrived has declined your offer for a match has departed is censoring you is present min noplay listing you uses a formula not fitting your match request: with whom you have an adjourned %(timecontrol)s %(gametype)s game is online. would like to resume your adjourned %(time)s %(gametype)s game.%(black)s won the game%(color)s moves a %(piece)s to %(cord)s%(minutes)d min + %(gain)d sec/move%(player)s is %(status)s%(player)s plays %(color)s%(white)s won the game%d min%s returns an error%s was declined by your opponent%s was withdrawn by your opponent'%s' is a registered name. If it is yours, type the password.(Blitz)(Link is available on clipboard.)0 Players Ready0 of 010 min + 6 sec/move, White12002 min, Fischer Random, Black5 minPromote pawn to what?AnalyzingAnimationChess SetsChess VariantEnter Game NotationGeneral OptionsInitial PositionInstalled SidepanelsName of _first human player:Name of s_econd human player:New version %s is available!Open GameOpening, endgameOpponent StrengthOptionsPlay Sound When...PlayersTime ControlWelcome screenYour Color_Connect to server_Start GameEngine, %s, has diedPyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to save file '%s'Challenge:A player _checks:A player _moves:A player c_aptures:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbout ChessAc_tiveAcceptActivate alarm when _remaining sec is:Active seeks: %dAdd threatening variation lines Address ErrorAdjournAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364All Chess FilesAll whiteAnalyze black movesAnalyze from current positionAnalyze gameAnalyze white movesAnimate pieces, board rotation and more. Use this on fast machines.ArchivedAsk to _MoveAssessAsymmetric RandomAsymmetric Random AtomicAuto Call _FlagAuto _rotate board to current human playerAuto login on startupAuto-logoutAvailableBB EloBackround image path :Because %(black)s lost connection to the serverBecause %(black)s lost connection to the server and %(white)s requested adjournmentBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s king explodedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause %(mover)s stalematedBecause %(white)s lost connection to the serverBecause %(white)s lost connection to the server and %(black)s requested adjournmentBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause %(winner)s has fewer piecesBecause %(winner)s king reached the centerBecause %(winner)s lost all piecesBecause %(winner)s was giving check 3 timesBecause a player aborted the game. Either player can abort the game without the other's consent before the second move. No rating changes have occurred.Because a player disconnected and there are too few moves to warrant adjournment. No rating changes have occurred.Because a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both players agreed to a drawBecause both players agreed to abort the game. No rating changes have occurred.Because both players agreed to an adjournmentBecause both players have the same amount of piecesBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause of adjudication by an admin. No rating changes have occurred.Because of courtesy by a player. No rating changes have occurred.Because the %(black)s engine diedBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBecause the server was shut downBecause the server was shut down. No rating changes have occurred.BestBishopBlackBlack O-OBlack O-O-OBlack:BlindfoldBlitzBlitz:Blitz: 5 minBughouseCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCenter:ChallengeChallenge: Challenge: ChatChess Alpha 2 DiagramChess GameChess PositionChess clientClassic chess rules with all pieces white http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden figurines http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pawns http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pieces http://en.wikipedia.org/wiki/Blindfold_chessClearClockClose _without SavingColorize analyzed movesCommand:CommentsComputerConnectingConnecting to serverConnection ErrorConnection was closedContinue to wait for opponent, or try to adjourn the game?Copy FENCornerCould not save the fileCrazyhouseCreate SeekDark Squares :DateDate/TimeDeclineDefaultDestination Host UnreachableDetect type automaticallyDiedDon't careDrawDraw:Due to abuse problems, guest connections have been prevented. You can still register on http://www.freechess.orgECOEdit SeekEdit Seek: Effect on ratings by the possible outcomesEmailEn passant lineEnginesEngines use uci or xboard communication protocol to talk to the GUI. If it can use both you can set here which one you like.Error parsing move %(moveno)s %(mstr)sEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventEvent:ExamineExamine Adjourned GameExaminingFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED * No castling * Black's arrangement DOES NOT mirrors white'sF_ull board animationFace _to Face display modeFile existsFingerFischer RandomFollowGain:Game informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Game shared at GamesGaviota TB path:Generally this means nothing, as the game is time-based, but if you want to please your opponent, perhaps you should get going.GuestGuest logins disabled by FICS serverHalfmove clockHidden pawnsHidden piecesHideHost:How to PlayHuman BeingIdIdleIf set you can refuse players accepting your seekIf set, FICS game numbers in tab labels next to player names are shown.If set, PyChess will colorize suboptimal analyzed moves with red.If set, PyChess will show game results for different moves in positions containing 6 or less pieces. It will search positions from http://www.k4it.de/If set, PyChess will show game results for different moves in positions containing 6 or less pieces. You can download tablebase files from: http://www.olympuschess.com/egtb/gaviota/If set, PyChess will suggest best opening moves on hint panel.If set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, clicking on main application window closer first time it closes all games.If set, pawn promotes to queen without promotion dialog selection.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the captured figurines will be shown next to the board.If set, the elapsed time that a player used for the move is shown.If set, the hint analyzer engine evaluation value is shown.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If the analyzer finds a move where the evaluation difference (the difference between the evaluation for the move it thinks is the best move and the evaluation for the move made in the game) exceeds this value, it will add an annotation for that move (consisting of the engine's Principal Variation for the move) to the Annotation panelIf you don't save, new changes to your games will be permanently lost.In TournamentIn this position, there is no legal move.Initial positionInvalid move.It is not possible later to continue the game, if you don't save it.KKingKing of the hillKnightKnight oddsKnightsLeave _FullscreenLight Squares :LightningLightning:Load _Recent GameLocal EventLocal SiteLog on ErrorLog on as _GuestLogging on to serverLosersLossLoss:MakrukMakruk: http://en.wikipedia.org/wiki/MakrukManage enginesManualManual AcceptManually accept opponentMate in %dMaximum analysis time in seconds:Minutes: Move HistoryMove numberNNameNames: #n1, #n2Never use animation. Use this on slow machines.New GameNew RD:No _animationNo chess engines (computer players) are participating in this game.NormalNormal: 40 min + 15 sec/moveNot AvailableObserveObserved _ends:Offer A_bortOffer AbortOffer Ad_journmentOffer PauseOffer RematchOffer ResumeOffer UndoOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfflineOne player starts with one less knight pieceOne player starts with one less pawn pieceOne player starts with one less queen pieceOne player starts with one less rook pieceOnlineOnly animate _movesOnly animate piece moves.Open GameOpening BookOpening booksOpponent RatingOpponent's strength: OtherPParameters:Paste FENPausePawnPawn oddsPawns PassedPawns PushedPingPlayPlay Fischer Random chessPlay Losers chessPlay _Internet ChessPlay normal chess rulesPlayer _RatingPlayingPng imagePo_rts:Polyglot book file:Pre_viewPrefer figures in _notationPreferencesPrivateProbably because it has been withdrawn.PromotionProtocol:PyChess - Connect to Internet ChessPyChess.py:QQueenQueen oddsQuit PyChessRR_esignRandomRapid: 15 min + 10 sec/moveRatedRated gameRatingRegisteredResendResend %s?ResultRookRook oddsRoundRound:Running Simul MatchS_ign upSanctionsSaveSave GameSave Game _AsSave _own games onlySave analyzing engine _evaluation valuesSave elapsed move _timesSave files to:Save moves before closing?Save the current game before you close it?ScoreSearch:Seek _GraphSeek updatedSelect auto save pathSelect the games you want to save:Send ChallengeSend all seeksSend seekSetting up environmentSetup PositionSho_w cordsShort on _time:Show FICS game numbers in tab labelsShow _captured piecesShow elapsed move timesShow evaluation valuesShow tips at startupShredderLinuxChess:ShuffleSide to moveSide_panelsSimple Chess PositionSiteSite:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinSorry '%s' is already logged inSpentStandardStandard:Start Private ChatStatusSuicideThe abort offerThe adjourn offerThe analyzer will run in the background and analyze the game. This is necessary for the hint mode to workThe chain button is disabled because you are logged in as a guest. Guests can't establish ratings, and the chain button's state has no effect when there is no rating to which to tie "Opponent Strength" toThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe directory where the engine will be started from.The displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe endgame table will show exact analysis when there are few pieces on the board.The engine %s reports an error:The engine output panel shows the thinking output of chess engines (computer players) during a gameThe flag callThe game can't be loaded, because of an error parsing FENThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe inverse analyzer will analyze the game as if your opponent was to move. This is necessary for the spy mode to workThe move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe reason is unknownThe resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe takeback offerThebanThemesThere is %d game with unsaved moves.There are %d games with unsaved moves.This game can be automatically aborted without rating loss because there has not yet been two moves madeThis game can not be adjourned because one or both players are guestsThis is a continuation of an adjourned matchThree-checkTimeTime control: Tip Of The dayTip of the DayTitledTolerance:Translate PyChessTypeUnable to accept %sUnable to save to configured file. Save the current game before you close it?UninstallUnknownUnratedUntimedUpside DownUse _analyzerUse _inverted analyzerUse _local tablebasesUse _online tablebasesUse analyzer:Use name format:Use opening _bookVariantVariation annotation creation threshold in centipawns:W EloWaitWas unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.WelcomeWhen this button is in the "locked" state, the relationship between "Opponent's strength" and "Your strength" will be preserved when a) your rating for the type of game sought has changed b) you change the variant or the time controlWhiteWhite O-OWhite O-O-OWhite:WildWildcastleWildcastle shuffleWinWin by giving check 3 timesWin:Working directory:Year, month, day: #y, #m, #dYou can't switch colors during the game.You can't touch this! You are examining a game.You don't have the necessary rights to save the file. Please ensure that you have given the right path and try again.You have been logged out because you were idle more than 60 minutesYou have to set kibitz on to see bot messages here.You have tried to undo too many moves.You may only have 3 outstanding seeks at the same time. If you want to add a new seek you must clear your currently active seeks. Clear your seeks?You sent a draw offerYou sent a pause offerYou sent a resume offerYou sent an abort offerYou sent an adjournment offerYou sent an undo offerYour opponent asks you to hurry!Your opponent has asked that the game be aborted. If you accept this offer, the game will end with no rating change.Your opponent has asked that the game be adjourned. If you accept this offer, the game will be adjourned and you can resume it later (when your opponent is online and both players agree to resume).Your opponent has asked that the game be paused. If you accept this offer, the game clock will be paused until both players agree to resume the game.Your opponent has asked that the game be resumed. If you accept this offer, the game clock will continue from where it was paused.Your opponent has asked that the last %s move(s) be undone. If you accept this offer, the game will continue from the earlier position.Your opponent has offered you a draw.Your opponent has offered you a draw. If you accept this offer, the game will end with a score of 1/2 - 1/2.Your opponent is not out of time.Your opponent seems to have changed their mind.Your opponent wants to abort the game.Your opponent wants to adjourn the game.Your opponent wants to pause the game.Your opponent wants to resume the game.Your opponent wants to undo %s move(s).Your seeks have been removedYour strength: _Accept_Actions_Analyze Game_Archived_Call Flag_Clear Seeks_Copy FEN_Copy PGN_Decline_Edit_Engines_Export Position_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hints_Invalid move:_Load Game_Log Viewer_My games_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Untimed_Use main app closer [x] to close all games_Use sounds in PyChess_View_Your Color:andask your opponent to moveblackcall your opponents flaggnuchess:http://brainking.com/en/GameRules?tp=2 * Placement of the pieces on the 1st and 8th row are randomized * The king is in the right hand corner * Bishops must start on opposite color squares * Black's starting position is obtained by rotating white's position 180 degrees around the board's center * No castlinghttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://en.wikipedia.org/wiki/Rules_of_chessinvalid promoted pieceminnot playingoffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalpromotes a Pawn to a %srating range nowresignsecto automatic acceptto manual acceptucivs.whitewindow1xboardProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Catalan (http://www.transifex.com/gbtami/pychess/language/ca/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: ca Plural-Forms: nplurals=2; plural=(n != 1); Increment:+ %d segha arribatha rebutjat la vostra oferta de partidaha marxatus està censurantés present minsou en la llista "noplay"fa servir una fórmula que no s'adapta la vostra petició de partida:amb qui teniu una partida ajornada %(timecontrol)s %(gametype)s està en línia.voldria continuar la partida ajornada %(time)s %(gametype)s.%(black)s ha guanyat la partida%(color)s mou %(piece)s a %(cord)s%(minutes)d min + %(gain)d seg/mov%(player)s és %(status)s%(player)s juga amb %(color)s%(white)s ha guanyat la partida%d min%s retorna un errorEl vostre oponent ha declinat: %s%s ha estat retirat/da pel vostre oponentEl nom '%s' està registrat. Si sou vos, introduïu la contrasenya.(Blitz)(Enllaç copiat al portapapers)0 jugadors llestos0 de 010 min + 6 sec/moviment, Blanques1200Aleatori Fischer, 2 minutos, negres5 mins.A què vol promocionar el peó?AnalitzantAnimacióJocs de pecesVariant d'escacsIntroduïu notació de partidaOpcions GeneralsPosició inicialPanells laterals instal·latsNom del _primer jugador humà:Nom del _segon jugador humà: Disponible nova versió %s !Obrir partidaObertura, finalForça de l'oponentOpcionsReprodueix so quan...JugadorsControl de tempsPantalla de benvingudaEl vostre color_Conecta al servidor_Comença la PartidaEl motor d'escacs '%s' ha mortPyChess està buscant els vostres motors d'escacs. Espereu.PyChess no ha pogut desar la partidaHi ha %d partides amb moviments sense desar. Desar canvis abans de tancar?No s'ha pogut desar l'arxiu '%s'Desafiament:Un jugador fa es_cac:Un jugador _mou:Un jugador _captura:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docQuant els escacsAc_tiuAcceptaAlarma al _restar aquests segons:Cerques actives: %dAfegir variants d'amenacesError d'adreçaAjornaAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364Tots els Arxius d'EscacsTotes blanquesAnalitza els moviments negresAnalitza des de la posició actualAnalitza partidaAnalitza els moviments blancsAnimació de peces, rotació del tauler i d'altres. Usar en equips ràpids.ArxivatDemanar que _moguiAvaluaAleatori asimètricAleatori asimètricAtòmicAutoreclama _banderaAuto _rotar el tauler cap al jugador humà actualObrir sessió a l'iniciAuto-tancar sessióDisponibleAElo negresRuta d'imatge de fons:perquè %(black)s ha perdut la connexió amb el servidorperquè %(black)s ha perdut la connexió amb el servidor i %(white)s ha sol·licitat ajornar la partidaPorque %(black)s estan sense temps i %(white)s no tenen prou material per fer escac i matperquè %(loser)s s'ha desconnectatperquè el rei de %(loser)s ha explotatperquè %(loser)s ha esgotat el seu tempsperquè %(loser)s s'ha renditperquè %(loser)s està en escac i matperquè %(mover)s està ofegatperquè %(white)s ha perdut la connexió amb el servidorperquè %(white)s ha perdut la connexió amb el servidor i %(black)s ha sol·licitat ajornar la partidaPorque %(white)s estan sense temps i %(black)s no tenen prou material per fer escac i matperquè %(winner)s té menys pecesperquè el rei de %(winner)s ha arribat al centreperquè %(winner)s ha perdut totes les pecesperquè %(winner)s ha fet escac 3 vegadesperquè un jugador ha avortat la partida. Qualsevol dels jugadors pot avortar la partida sense el consentiment de l'altre abans del segon moviment. No s'han produït canvis de puntuació.perquè un jugador ha desconnectat i hi ha pocs moviments per justificar l'ajornament. No s'han produït canvis de puntuació.perquè un jugador ha perdut la connexióperquè un jugador ha perdut la connexió i l'altre ha sol·licitat l'ajornamentperquè tots dos jugadors han acordat taulesperquè tots dos jugadors han acordat avortar la partida. No hi ha canvis en la puntuació.perquè tots dos jugadors han acordat un ajornamentperquè tots dos jugadors tenen la mateixa quantitat de pecesperquè tots dos jugadors han esgotat el seu tempsperquè cap jugador té prou material per fer escac i matper decisió d'un administradorperquè un administrador ha adjudicat la partida. No hi ha canvis en la puntuació.per cortesia d'un jugador. No hi ha canvis en la puntuació.perquè el motor de %(black)s ha deixat de funcionarperquè el motor de %(white)s ha deixat de funcionarperquè s'ha perdut la connexió amb el servidorperquè la partida ha excedit la longitud màximaperquè els últims 50 moviments no han aportat res de nouperquè la mateixa posició s'ha repetit tres vegades seguides.perquè el servidor s'ha desconnectatperquè el servidor ha sigut desconnectat. No hi ha canvis en la puntuació.MillorAlfilNegresNegres O-ONegres O-O-ONegres:A ceguesBlitzBlitz:Blitz: 5 minBughouseCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCentre:RepteDesafiament: Desafiament: XatDiagrama Chess Alpha 2Partida d'EscacsPosicióClient d'escacsRegles dels escacs clàssics amb totes les peces blanques https://ca.wikipedia.org/wiki/Escacs_a_ceguesRegles dels escacs clàssics amb peces ocultes https://ca.wikipedia.org/wiki/Escacs_a_ceguesRegles dels escacs clàssics amb peons ocults https://ca.wikipedia.org/wiki/Escacs_a_ceguesRegles dels escacs clàssics amb peces ocultes https://ca.wikipedia.org/wiki/Escacs_a_ceguesNetejaRellotgeTanca _sense desarColorejar moviments analitzatsInstrucció:NotesOrdinadorConnectantS'està connectant al servidorError de connexióLa connexió fou tancadaContinuar esperant l'oponent, o intentar ajornar la partida?Copia FENCantonadaNo s'ha pogut desar l'arxiuCrazyhouseCrea cercaEscacs foscos :DataData/HoraRebutjaPer defecteServidor de destinació no disponibleDetectar format automàticamentMortNo importaEmpatTaules:Per problemes d'abusos, no es permeten connexions com a convidat. Si voleu, podeu registrar-vos a http://www.freechess.orgECOEdita cercaEdita cerca:Efecte en les qualificacions dels possibles resultatsCorreu electrònicLínia al pasMotorsEls motors fan servir els protocols de comunicació uci i xboard per comunicar-se amb la interfície d'usuari. Si es poden fer servir tots dos, aquí podeu indicar quin dels dos preferiu.Error analitzant el moviment %(moveno)s %(mstr)sEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEsdevenimentEsdeveniment:ExaminaExamina partida ajornadaExaminantFICS atòmic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS suicida: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS salvatge/4: http://www.freechess.org/Help/HelpFiles/wild.html * Peces escollides a l'atzar (pot haver-hi dues dames o tres torres) * Un rei per cada color * Peces ubicades aleatòriament darrere dels peons, AMB LA CONDICIÓ QUE ELS ALFILS ESTIGUIN BALANCEJATS * Sense enrocs * La disposició de les negres NO ÉS un mirall de les blanques_Animació completa del taulerVisualització _Cara a CaraEl fitxer ja existeixDenunciaFischer RandomSegueixIncrement:Informació de la PartidaPartida _taules:Partida _perduda:Partida _establerta:Partida _guanyada:Partida compartida aPartidesRuta a les taules de finals de Gaviota:Generalment això no vol dir res, ja que la partida és amb temps, però si voleu complaure el vostre oponent, potser haurieu de fer-ho.ConvidatEl servidor FICS no permet la connexió com a convidatRellotge de mig movimentPeons ocultsPeces ocultesAmagaAmfitrió:Com jugarJugador HumàIdInactiuActivat, permet rebutjar jugadors que acceptin la vostra cercaActivat, el número de partida de FICS apareix en l'etiqueta de pestanya, al costat del nom del jugador.Activat, PyChess colorejarà en vermell els moviments analitzats sub-òptims.Activat, PyChess mostrarà els ressultats de la partida segons els diferents moviments en les posicions amb 6 peces o menys. Cercarà posicions a http://www.k4it.de/Activat, PyChess mostrarà els ressultats de partides per a diferents moviments en posicions amb 6 peces o menys. Podeu descarregar les taules de finals de: http://www.olympuschess.com/egtb/gaviota/Activat, PyChess mostrarà els millors moviments en l'apertura, en el panell de suggeriments.Activat, PyChess usarà figures per expressar els moviments, en lloc de lletres majúscules.Activat, la primera vegada que es tanca la finestra principal del programa, es tanquen totes les partides.Activat, es promou dama automàticament, sense diàleg de selecció.Activat, les peces negres es mostren cap avall. Adient per jugar contra amics en dispositius mòbils.Activat, el tauler girarà després de cada jugada, oferint al jugador actual la vista natural.Activat, les peces capturades es mostraran al costat del tauler.Activat, mostra el temps que un jugador ha gastat en el moviment.Activat, mostra la valoració del motor analitzador de suggeriments.Activat, mostra capçaleres de files i columnes. És útil per la notació.Activat, amaga la pestanya superior de la finestra de joc quan no és necessària.Si l'analitzador troba un moviment on la diferència d'avaluació (la diferència entre l'avaluació per al moviment que pensa que és el millor i l'avaluació per al moviment fet en la partida) és superior a aquest valor, s'afegirà una anotació en el moviment (que consistirà en la Variació Principal del motor per al moviment) en el panell AnotacióSi no es desen, els canvis en les partides es perdran.En torneigEn aquesta posició no hi ha moviments vàlids.Posició inicialMoviment invàlid.No podreu reprendre la partida més endavant, si no la deseu.RReiRei del turóCavallAvantatge de cavallCavallsSurt de la _pantalla completaEscacs clars :LlampecLlampec:Carrega partida _recentEsdeveniment localLloc localError obrint sessióEntrar com _VisitantIniciant sessió en el servidorPerdedorPerdDerrota:MakrukMakruk: http://en.wikipedia.org/wiki/MakrukAdministra els motorsManualAccepta manualmentAcepta oponent manualmentEscac i mat en %dTemps màxim d'anàlisi en segons:Minuts: Històric de movimentsNúm. de movimentCNomNoms: #n1, #n2Desactiva les animacions. Usar en equips lents.Nova partidaNou RD:Sense _animacióEn aquesta partida no participa cap motor d'escacs (ordinador).NormalNormal: 40 min + 15 seg/movNo disponibleObserva_Finals observats:Ofereix a_bortarOfereix avortarOfereix a_jornarDemanar pausaOfereix revenjaDemanar reprendreDemanar desferOfereix _abortarOfereix _TaulesOfereix _pausaOfereix _reprendreOfereix _desferFora de líniaun jugador comença amb un cavall menysun jugador comença amb un peó menysUn jugador comença sense la damaUn jugador comença sense una torreEn líniaAnima només els _movimentsAnima només les pecesObrir PartidaLlibre d'OberturesLlibres d'oberturesPuntuació de l'adversariForça de l'oponent:AltrePParàmetres:Enganxa FENPausaPeóAvantatge de peóPeons passatsPeons avançatsPingJugaJugar partida Aleatòria FisherJugar escacs perdedorsJuga a _Internet ChessJugar escacs tradicionals_Puntuació del JugadorJugantImatge pngPo_rts:Arxiu del llibre Polyglot:Pre_visualitzacióUsar figures en la _notacióPreferènciesPrivatProbablement perquè s'ha retirat.CoronarProtocol:PyChess - Connectar-se als Escacs per InternetPyChess.py:DDamaAvantatge de damaSurt PyChessTR_endeix-teAleatoriRàpid: 15 min + 10 seg/movQualificatPartida amb puntuacióPuntuacióRegistratReenviaReenviar %s?ResultatTorreAvantatge de torreRondaRonda:Jugant simultànies_Inscriure'sSancionsDesaDesa la partida_Anomena i desa la partidaDesa només partides _pròpiesDesa _evaluacions del motor d'anàlisiDesa _temps de movimentDesa arxius a:Desar els moviments abans de tancar?Voleu desar la partida actual abans de tancar-la?PuntuacióCerca:Cerca _gràficaCerca actualitzadaSeleccioneu la ruta d'autodesatSeleccioneu les partides que voleu desar:Envia desafiamentEnvia totes les cerquesEnvia cercaPreparant l'entornEdita posició_Mostrar coordenadesApurat de _temps:Mostra número de partida FICS en la pestanyaMostra les peces _capturadesMostra temps dels movimentsMostra valors d'avaluacióMostra els consells a l'arrencadaShredderLinuxChess:AleatoriBàndol que mou_Panells lateralsPosició de Simple ChessLlocLloc:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinHo sentim, '%s' ja ha iniciat sessióTranscorregutEstàndardEstàndard:Inicia xat privatEstatSuïcidaOferta d'avortarOferta d'ajornamentL'analitzador s'executarà en segon plà i analitzarà la partida. Això és necessari per al funcionament del mode d'ajudaEl botó de cadena està desactivat perquè heu iniciat sessió com a convidat. Els convidats no tenen qualificació, i l'estat del botó de cadena no té cap efecte quan no hi ha qualificació amb la qual relacionar la "Força de l'oponent".El panell de xat permet comunicar-se amb l'oponent durant la partida, si a aquest li ve de gust.El rellotge no s'ha posat en marxa encara.El panell de comentaris analitza i explica els moviments realitzatsLa connexió s'ha tallat - rebut missatge de "fi d'arxiu"La carpeta des d'on s'inicia el motor.El nom que es mostrarà pel primer jugador humà, p.ex: Joan.El nom que es mostrarà pel jugador convidat, p.ex: Maria.Oferta de taulesLa taula de finals mostra l'anàlisi exacte quan resten poques peces sobre el tauler.El motor %s informa d'un error:El panell de sortida del motor mostra el pensament del motor d'escacs (ordinador) durant una partidaReclam de banderaLa partida no s'ha pogut llegir a causa d'un error en la cadena de posició FEN.La partida no es pot llegir completa a causa d'un error en l'anàlisi del moviment %(moveno)s '%(notation)s'.La partida ha acabat en taulesLa partida ha estat avortadaLa partida s'ha ajornatLa partida ha estat anul·ladaL'analitzador invers analitzarà la partida com si fos el torn del vostre oponent. Això és necessari per al funcionament del mode espiaEl moviment ha fallat a causa de %s.El full de moviments registra els moviments dels jugadors i permet navegar per l'històric de la partidaOferta de canvi de bàndolsEl llibre d'obertures us pot servir d'inspiració durant la fase inicial de la partida. Us mostra moviments habituals dels grans mestres d'escacsOferta de pausaNo es coneix la raóRendicióOferta de continuacióEl panell de puntuació avalua les posicions i mostra un gràfic del progrés de la partidaOferta de desfer movimentsThebanTemesHi ha %d partida amb moviments sense desarHi ha %d partides amb moviments sense desarAquesta partida pot ser avortada automàticament sense pèrdua de puntuació perquè encara no s'han fet dos movimentsAquesta partida no es pot ajornar perquè almenys un dels jugadors és convidatAixò és la continuació d'una partida ajornadaTres escacsTempsControl de temps:Consell del diaConsell del diaTitulatTolerància:Tradueix PyChessTipusNo és possible acceptar %sNo es pot desar en l'arxiu configurat. Voleu desar la partida actual abans de tancar-la?Desinstal·laDesconegutSense qualificacióSense tempsCap per avallUsa _analitzadorUsa analitzador _inversUsa taules de finals _localsUsa taules de finals en _líniaUsar analitzador:Format de nom d'usuari:Usa _llibre d'oberturesVariantCrear llindar de variació en centipawns (1/100 del valor d'un peó):Elo blanquesEsperaNo s'ha pogut desar '%(uri)s' ja que PyChess desconeix el format '%(ending)s'.Us donem la benvingudaSi activeu aquest botó, la relació de forces entre vos i el vostre oponent es preservarà quan: a) canvia la vostra puntuació en el tipus de partida buscada b) canvieu la variant o el control de tempsBlanquesBlanques O-OBlanques O-O-OBlanques:SalvatgeWildcastleWildcastle barrejatGuanyaEs guanya fent escac 3 vegadesVictòria:Carpeta de treball:Any, mes, dia: #y, #m, #dNo podeu intercanviar colors durant la partida.No podeu tocar això! Esteu examinant una partida.No teniu els permisos necessaris per guardar l'arxiu. Comproveu que heu indicat bé la ruta i torneu a provar-ho.Heu estat desconnectat per inactivitat durant més de 60 minutsHeu d'activar els comentaris aliens per veure aquí els missatges del bot.Heu demanat desfer massa moviments.Només podeu tenir 3 cerques a la vegada. Si voleu afegir una de nova, heu d'esborrar les cerques actives. Esborrar les cerques?Heu ofert taulesHeu sol·licitat una pausaHeu sol·licitat reprendreHeu ofert avortarHeu ofert un ajornamentHeu sol·licitat desferL'oponent us demana que us afanyeu!El vostre oponent us ha sol·licitat avortar la partida. Si accepteu, s'acabarà sense canvis en la puntuació.El vostre oponent us ha sol·licitat ajornar la partida. Si accepteu, la partida quedarà ajornada i la podreu reprendre més tard (quan el vostre oponent estigui connectat i tots dos acordeu continuar).El vostre oponent us ha sol·licitat fer una pausa. Si accepteu, el rellotge s'aturarà fins que tots dos jugadors acordin continuar la partida.El vostre oponent us ha sol·licitat reprendre la partida. Si accepteu, el rellotge tornarà a posar-se en marxa des d'on es va aturar.El vostre oponent us sol·licita desfer els últims %s moviment(s). Si accepteu, la partida continuarà des de la posició anterior als moviments.El vostre oponent us ofereix taules.El vostre oponent us ha ofert taules. Si accepteu, la partida conclourà amb puntuació 1/2 - 1/2.El vostre oponent no ha esgotat el seu temps.Sembla que el vostre oponent ha canviat d'idea.El vostre oponent vol avortar la partida.El vostre oponent vol ajornar la partidaEl vostre oponent vol pausar la partida.El vostre oponent vol continuar la partida.El vostre oponent vol desfer %s moviment(s).Les vostres cerques s'han esborratLa vostra força:_Accepta_Accions_Analitza partida_Arxivat_Reclamar bandera_Neteja cerques_Copia FEN_Copia PGN_Rebutja_Edita_Motors_Exporta posició_Pantalla completa_PartidaLlista de _partides_General_Ajuda_Amaga pestanyes si només hi ha una partida oberta_SuggerimentsMoviment _invàlid:_Carregar Partida_Visor d'EventsLes _meves partides_Nom:_Partida nova_Següent_Moviments observats:_Adversari:_Contrasenya:_Jugar escacs normalsLlista de _jugadors_Anterior_Reemplaçar_Girar el Taulell_Desa %d document_Desa %d documents_Desa %d documents_Desa la partidaCerques/De_safiaments_Mostra panells laterals_Sons_Comença el joc_Sense temps_Usar botó [x] de tancament de finestra principal per tancar totes les partides_Usa sons en PyChess_Visualitza_El teu Color:idemanar a l'oponent que moguinegresReclamar bandera de l'oponentgnuchess:http://brainking.com/es/GameRules?tp=2 * Ubicació aleatòria de les peces en la 1a i 8a fila * El rei està a la cantonada dreta * Els alfils han d'iniciar en caselles de color oposat * La posició d'inici de negres s'obté rotant la posició de blanques 180 graus al voltant del centre del tauler * Sense enrocshttp://ca.wikipedia.org/wiki/Escacshttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://ca.wikipedia.org/wiki/Reglament_dels_escacspeça promoguda no vàlidaminno jugantofereix taulesofereix una pausaofereix desferofereix avortarofereix ajornarofereix reprendreofereix intercanvi de bàndolsen línia en totalpromou un Peó a: %srang de puntuació actualabandonasegper acceptar automàticamentper acceptar manualmentucivs.blanquesfinestra1xboardpychess-1.0.0/lang/ca/LC_MESSAGES/pychess.po0000644000175000017500000047771313455542753017405 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2007 # Isidro Pisa, 2017 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Catalan (http://www.transifex.com/gbtami/pychess/language/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Partida" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Partida nova" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Juga a _Internet Chess" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Carregar Partida" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Carrega partida _recent" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Desa la partida" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "_Anomena i desa la partida" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "_Exporta posició" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "_Puntuació del Jugador" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "_Analitza partida" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Edita" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_Copia PGN" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "_Copia FEN" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "_Motors" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Accions" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Ofereix _abortar" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Ofereix a_jornar" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Ofereix _Taules" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Ofereix _pausa" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Ofereix _reprendre" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Ofereix _desfer" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Reclamar bandera" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "R_endeix-te" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Demanar que _mogui" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "Autoreclama _bandera" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Visualitza" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Girar el Taulell" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Pantalla completa" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Surt de la _pantalla completa" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "_Mostra panells laterals" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_Visor d'Events" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Ajuda" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Quant els escacs" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Com jugar" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Tradueix PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Consell del dia" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Client d'escacs" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Preferències" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "El nom que es mostrarà pel primer jugador humà, p.ex: Joan." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Nom del _primer jugador humà:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "El nom que es mostrarà pel jugador convidat, p.ex: Maria." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Nom del _segon jugador humà:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Amaga pestanyes si només hi ha una partida oberta" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Activat, amaga la pestanya superior de la finestra de joc quan no és necessària." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "_Usar botó [x] de tancament de finestra principal per tancar totes les partides" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "Activat, la primera vegada que es tanca la finestra principal del programa, es tanquen totes les partides." #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "Auto _rotar el tauler cap al jugador humà actual" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Activat, el tauler girarà després de cada jugada, oferint al jugador actual la vista natural." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "Activat, es promou dama automàticament, sense diàleg de selecció." #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "Visualització _Cara a Cara" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Activat, les peces negres es mostren cap avall. Adient per jugar contra amics en dispositius mòbils." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "Mostra les peces _capturades" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "Activat, les peces capturades es mostraran al costat del tauler." #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Usar figures en la _notació" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "Activat, PyChess usarà figures per expressar els moviments, en lloc de lletres majúscules." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "Colorejar moviments analitzats" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "Activat, PyChess colorejarà en vermell els moviments analitzats sub-òptims." #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "Mostra temps dels moviments" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "Activat, mostra el temps que un jugador ha gastat en el moviment." #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "Mostra valors d'avaluació" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "Activat, mostra la valoració del motor analitzador de suggeriments." #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "Mostra número de partida FICS en la pestanya" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "Activat, el número de partida de FICS apareix en l'etiqueta de pestanya, al costat del nom del jugador." #: glade/PyChess.glade:1402 msgid "General Options" msgstr "Opcions Generals" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "_Animació completa del tauler" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Animació de peces, rotació del tauler i d'altres. Usar en equips ràpids." #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Anima només els _moviments" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Anima només les peces" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Sense _animació" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Desactiva les animacions. Usar en equips lents." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animació" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_General" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "Usa _llibre d'obertures" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "Activat, PyChess mostrarà els millors moviments en l'apertura, en el panell de suggeriments." #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "Arxiu del llibre Polyglot:" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "Usa taules de finals _locals" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "Activat, PyChess mostrarà els ressultats de partides per a diferents moviments en posicions amb 6 peces o menys.\nPodeu descarregar les taules de finals de:\nhttp://www.olympuschess.com/egtb/gaviota/" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "Ruta a les taules de finals de Gaviota:" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "Usa taules de finals en _línia" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "Activat, PyChess mostrarà els ressultats de la partida segons els diferents moviments en les posicions amb 6 peces o menys.\nCercarà posicions a http://www.k4it.de/" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "Obertura, final" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Usa _analitzador" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "L'analitzador s'executarà en segon plà i analitzarà la partida. Això és necessari per al funcionament del mode d'ajuda" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Usa analitzador _invers" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "L'analitzador invers analitzarà la partida com si fos el torn del vostre oponent. Això és necessari per al funcionament del mode espia" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "Temps màxim d'anàlisi en segons:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analitzant" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_Suggeriments" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Desinstal·la" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "Ac_tiu" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Panells laterals instal·lats" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "_Panells laterals" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "Ruta d'imatge de fons:" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "Pantalla de benvinguda" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Escacs clars :" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Escacs foscos :" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "_Mostrar coordenades" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "Activat, mostra capçaleres de files i columnes. És útil per la notació." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "Jocs de peces" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Temes" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Usa sons en PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "Un jugador fa es_cac:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Un jugador _mou:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Partida _taules:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Partida _perduda:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Partida _guanyada:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Un jugador _captura:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Partida _establerta:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "_Moviments observats:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "_Finals observats:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "Apurat de _temps:" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "Moviment _invàlid:" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "Alarma al _restar aquests segons:" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Reprodueix so quan..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Sons" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Desa arxius a:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "Format de nom d'usuari:" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "Noms: #n1, #n2" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "Any, mes, dia: #y, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "Desa _temps de moviment" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "Desa _evaluacions del motor d'anàlisi" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "Desa només partides _pròpies" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Desa" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Coronar" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Dama" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Torre" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Alfil" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Cavall" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Rei" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "A què vol promocionar el peó?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "Per defecte" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "Cavalls" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Informació de la Partida" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Lloc:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Negres:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Ronda:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Blanques:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Esdeveniment:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "uci" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "xboard" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "Administra els motors" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Instrucció:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protocol:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Paràmetres:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "Els motors fan servir els protocols de comunicació uci i xboard per comunicar-se amb la interfície d'usuari.\nSi es poden fer servir tots dos, aquí podeu indicar quin dels dos preferiu." #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "Carpeta de treball:" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "La carpeta des d'on s'inicia el motor." #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Blanques" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Negres" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "Esdeveniment" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "ECO" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Data" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "Lloc" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Resultat" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "Variant" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "Bàndol que mou" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Analitza partida" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "Usar analitzador:" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "Si l'analitzador troba un moviment on la diferència d'avaluació (la diferència entre l'avaluació per al moviment que pensa que és el millor i l'avaluació per al moviment fet en la partida) és superior a aquest valor, s'afegirà una anotació en el moviment (que consistirà en la Variació Principal del motor per al moviment) en el panell Anotació" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "Crear llindar de variació en centipawns (1/100 del valor d'un peó):" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "Analitza des de la posició actual" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "Analitza els moviments negres" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "Analitza els moviments blancs" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "Afegir variants d'amenaces" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess està buscant els vostres motors d'escacs. Espereu." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Connectar-se als Escacs per Internet" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Contrasenya:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Nom:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Entrar com _Visitant" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "Amfitrió:" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Po_rts:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "_Inscriure's" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Desafiament: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Envia desafiament" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Desafiament:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Llampec:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Estàndard:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Blitz:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "Aleatori Fischer, 2 minutos, negres" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 min + 6 sec/moviment, Blanques" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 mins." #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "_Neteja cerques" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Accepta" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Rebutja" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "Envia totes les cerques" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Envia cerca" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Crea cerca" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Estàndard" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Blitz" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Llampec" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Ordinador" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "Cerques/De_safiaments" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Puntuació" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Temps" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "Cerca _gràfica" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 jugadors llestos" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Repte" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Observa" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Inicia xat privat" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "Registrat" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Convidat" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "Titulat" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "Llista de _jugadors" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "Llista de _partides" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "Les _meves partides" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "Ofereix a_bortar" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "Examina" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "Pre_visualització" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "_Arxivat" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "Aleatori asimètric" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Edita cerca" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Sense temps" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minuts: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "Increment:" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Control de temps:" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Control de temps" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "No importa" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "La vostra força:" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Blitz)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Força de l'oponent:" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "Si activeu aquest botó, la relació de forces entre vos i el vostre oponent es preservarà quan: \na) canvia la vostra puntuació en el tipus de partida buscada\nb) canvieu la variant o el control de temps" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Centre:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Tolerància:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Amaga" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Força de l'oponent" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "El vostre color" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Jugar escacs tradicionals" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Juga" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Variant d'escacs" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Partida amb puntuació" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Acepta oponent manualment" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Opcions" #: glade/findbar.glade:6 msgid "window1" msgstr "finestra1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 de 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Cerca:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Anterior" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Següent" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Nova partida" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Comença el joc" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "Copia FEN" #: glade/newInOut.glade:143 msgid "Clear" msgstr "Neteja" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "Enganxa FEN" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Jugadors" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "_Sense temps" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "Blitz: 5 min" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "Ràpid: 15 min + 10 seg/mov" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "Normal: 40 min + 15 seg/mov" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "_Jugar escacs normals" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Jugar partida Aleatòria Fisher" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "Jugar escacs perdedors" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Obrir partida" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Posició inicial" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Introduïu notació de partida" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "Rellotge de mig moviment" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "Línia al pas" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "Núm. de moviment" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "Negres O-O" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "Negres O-O-O" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "Blanques O-O-O" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "Blanques O-O" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Surt PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Tanca _sense desar" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "_Desa %d documents" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "Hi ha %d partides amb moviments sense desar. Desar canvis abans de tancar?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Seleccioneu les partides que voleu desar:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Si no es desen, els canvis en les partides es perdran." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "_Adversari:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_El teu Color:" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "_Comença la Partida" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "Obrir sessió a l'inici" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "_Conecta al servidor" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Consell del dia" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Mostra els consells a l'arrencada" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://ca.wikipedia.org/wiki/Escacs" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://ca.wikipedia.org/wiki/Reglament_dels_escacs" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Us donem la benvinguda" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Obrir Partida" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "El motor %s informa d'un error:" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "El vostre oponent us ofereix taules." #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "El vostre oponent us ha ofert taules. Si accepteu, la partida conclourà amb puntuació 1/2 - 1/2." #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "El vostre oponent vol avortar la partida." #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "El vostre oponent us ha sol·licitat avortar la partida. Si accepteu, s'acabarà sense canvis en la puntuació." #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "El vostre oponent vol ajornar la partida" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "El vostre oponent us ha sol·licitat ajornar la partida. Si accepteu, la partida quedarà ajornada i la podreu reprendre més tard (quan el vostre oponent estigui connectat i tots dos acordeu continuar)." #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "El vostre oponent vol desfer %s moviment(s)." #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "El vostre oponent us sol·licita desfer els últims %s moviment(s). Si accepteu, la partida continuarà des de la posició anterior als moviments." #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "El vostre oponent vol pausar la partida." #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "El vostre oponent us ha sol·licitat fer una pausa. Si accepteu, el rellotge s'aturarà fins que tots dos jugadors acordin continuar la partida." #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "El vostre oponent vol continuar la partida." #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "El vostre oponent us ha sol·licitat reprendre la partida. Si accepteu, el rellotge tornarà a posar-se en marxa des d'on es va aturar." #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "Rendició" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "Reclam de bandera" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "Oferta de taules" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "Oferta d'avortar" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "Oferta d'ajornament" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "Oferta de pausa" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "Oferta de continuació" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "Oferta de canvi de bàndols" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "Oferta de desfer moviments" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "abandona" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "Reclamar bandera de l'oponent" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "ofereix taules" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "ofereix avortar" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "ofereix ajornar" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "ofereix una pausa" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "ofereix reprendre" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "ofereix intercanvi de bàndols" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "ofereix desfer" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "demanar a l'oponent que mogui" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "El vostre oponent no ha esgotat el seu temps." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "El rellotge no s'ha posat en marxa encara." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "No podeu intercanviar colors durant la partida." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "Heu demanat desfer massa moviments." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "L'oponent us demana que us afanyeu!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "Generalment això no vol dir res, ja que la partida és amb temps, però si voleu complaure el vostre oponent, potser haurieu de fer-ho." #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "Accepta" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "Rebutja" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "El vostre oponent ha declinat: %s" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "Reenviar %s?" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "Reenvia" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s ha estat retirat/da pel vostre oponent" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "Sembla que el vostre oponent ha canviat d'idea." #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "No és possible acceptar %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "Probablement perquè s'ha retirat." #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s retorna un error" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "Diagrama Chess Alpha 2" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "Partida compartida a" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "(Enllaç copiat al portapapers)" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Posició" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Desconegut" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Posició de Simple Chess" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "La partida no s'ha pogut llegir a causa d'un error en la cadena de posició FEN." #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Partida d'Escacs" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "Moviment invàlid." #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "La partida no es pot llegir completa a causa d'un error en l'anàlisi del moviment %(moveno)s '%(notation)s'." #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "El moviment ha fallat a causa de %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "Error analitzant el moviment %(moveno)s %(mstr)s" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "Imatge png" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "Servidor de destinació no disponible" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Mort" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Esdeveniment local" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Lloc local" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "min" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "seg" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr " Disponible nova versió %s !" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Peó" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "C" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "A" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "T" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "D" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "R" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "La partida ha acabat en taules" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s ha guanyat la partida" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s ha guanyat la partida" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "La partida ha estat anul·lada" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "La partida s'ha ajornat" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "La partida ha estat avortada" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "perquè cap jugador té prou material per fer escac i mat" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "perquè la mateixa posició s'ha repetit tres vegades seguides." #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "perquè els últims 50 moviments no han aportat res de nou" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "perquè tots dos jugadors han esgotat el seu temps" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "perquè %(mover)s està ofegat" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "perquè tots dos jugadors han acordat taules" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "per decisió d'un administrador" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "perquè la partida ha excedit la longitud màxima" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "Porque %(white)s estan sense temps i %(black)s no tenen prou material per fer escac i mat" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "Porque %(black)s estan sense temps i %(white)s no tenen prou material per fer escac i mat" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "perquè tots dos jugadors tenen la mateixa quantitat de peces" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "perquè %(loser)s s'ha rendit" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "perquè %(loser)s ha esgotat el seu temps" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "perquè %(loser)s està en escac i mat" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "perquè %(loser)s s'ha desconnectat" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "perquè %(winner)s té menys peces" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "perquè %(winner)s ha perdut totes les peces" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "perquè el rei de %(loser)s ha explotat" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "perquè el rei de %(winner)s ha arribat al centre" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "perquè %(winner)s ha fet escac 3 vegades" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "perquè un jugador ha perdut la connexió" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "perquè tots dos jugadors han acordat un ajornament" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "perquè el servidor s'ha desconnectat" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "perquè un jugador ha perdut la connexió i l'altre ha sol·licitat l'ajornament" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "perquè %(black)s ha perdut la connexió amb el servidor i %(white)s ha sol·licitat ajornar la partida" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "perquè %(white)s ha perdut la connexió amb el servidor i %(black)s ha sol·licitat ajornar la partida" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "perquè %(white)s ha perdut la connexió amb el servidor" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "perquè %(black)s ha perdut la connexió amb el servidor" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "perquè un administrador ha adjudicat la partida. No hi ha canvis en la puntuació." #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "perquè tots dos jugadors han acordat avortar la partida. No hi ha canvis en la puntuació." #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "per cortesia d'un jugador. No hi ha canvis en la puntuació." #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "perquè un jugador ha avortat la partida. Qualsevol dels jugadors pot avortar la partida sense el consentiment de l'altre abans del segon moviment. No s'han produït canvis de puntuació." #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "perquè un jugador ha desconnectat i hi ha pocs moviments per justificar l'ajornament. No s'han produït canvis de puntuació." #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "perquè el servidor ha sigut desconnectat. No hi ha canvis en la puntuació." #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "perquè el motor de %(white)s ha deixat de funcionar" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "perquè el motor de %(black)s ha deixat de funcionar" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "perquè s'ha perdut la connexió amb el servidor" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "No es coneix la raó" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "ASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "ASEAN" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "Makruk: http://en.wikipedia.org/wiki/Makruk" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "Makruk" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "Cambodian: http://www.khmerinstitute.org/culture/ok.html" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "Cambodian" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "Ai-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "Ai-Wok" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "Sittuyin" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "FICS salvatge/4: http://www.freechess.org/Help/HelpFiles/wild.html\n* Peces escollides a l'atzar (pot haver-hi dues dames o tres torres)\n* Un rei per cada color\n* Peces ubicades aleatòriament darrere dels peons, AMB LA CONDICIÓ QUE ELS ALFILS ESTIGUIN BALANCEJATS\n* Sense enrocs\n* La disposició de les negres NO ÉS un mirall de les blanques" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Aleatori asimètric" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "FICS atòmic: http://www.freechess.org/Help/HelpFiles/atomic.html" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "Atòmic" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Regles dels escacs clàssics amb peces ocultes\nhttps://ca.wikipedia.org/wiki/Escacs_a_cegues" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "A cegues" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Regles dels escacs clàssics amb peons ocults\nhttps://ca.wikipedia.org/wiki/Escacs_a_cegues" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "Peons ocults" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Regles dels escacs clàssics amb peces ocultes\nhttps://ca.wikipedia.org/wiki/Escacs_a_cegues" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "Peces ocultes" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Regles dels escacs clàssics amb totes les peces blanques\nhttps://ca.wikipedia.org/wiki/Escacs_a_cegues" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "Totes blanques" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "Bughouse" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "http://brainking.com/es/GameRules?tp=2\n* Ubicació aleatòria de les peces en la 1a i 8a fila \n* El rei està a la cantonada dreta\n* Els alfils han d'iniciar en caselles de color oposat\n* La posició d'inici de negres s'obté rotant la posició de blanques 180 graus al voltant del centre del tauler\n* Sense enrocs" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Cantonada" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "Crazyhouse" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "EuroShogi" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "http://en.wikipedia.org/wiki/Chess960\nFICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Fischer Random" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "Rei del turó" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "un jugador comença amb un cavall menys" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "Avantatge de cavall" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "Perdedor" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Normal" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "un jugador comença amb un peó menys" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "Avantatge de peó" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "Peons passats" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "Peons avançats" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "Un jugador comença sense la dama" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "Avantatge de dama" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Aleatori" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "Un jugador comença sense una torre" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "Avantatge de torre" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Aleatori" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "FICS suicida: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "Suïcida" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "Theban" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "Es guanya fent escac 3 vegades" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "Tres escacs" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "Cap per avall" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "Wildcastle" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "Wildcastle barrejat" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "La connexió s'ha tallat - rebut missatge de \"fi d'arxiu\"" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "Ho sentim, '%s' ja ha iniciat sessió" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "El nom '%s' està registrat. Si sou vos, introduïu la contrasenya." #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "Per problemes d'abusos, no es permeten connexions com a convidat.\nSi voleu, podeu registrar-vos a http://www.freechess.org" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "S'està connectant al servidor" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Iniciant sessió en el servidor" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Preparant l'entorn" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "%(player)s és %(status)s" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "no jugant" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Salvatge" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "En línia" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Fora de línia" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "Disponible" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "Jugant" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "Inactiu" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "Examinant" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "No disponible" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "Jugant simultànies" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "En torneig" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Sense qualificació" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Qualificat" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d min" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "+ %d seg" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "%(player)s juga amb %(color)s" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "blanques" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "negres" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "Això és la continuació d'una partida ajornada" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "Puntuació de l'adversari" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "Accepta manualment" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Privat" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Error de connexió" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Error obrint sessió" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "La connexió fou tancada" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Error d'adreça" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Auto-tancar sessió" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Heu estat desconnectat per inactivitat durant més de 60 minuts" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "El servidor FICS no permet la connexió com a convidat" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Altre" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "Pausa" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Ofereix revenja" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "Heu ofert avortar" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "Heu ofert un ajornament" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Heu ofert taules" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "Heu sol·licitat una pausa" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "Heu sol·licitat reprendre" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "Heu sol·licitat desfer" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "El motor d'escacs '%s' ha mort" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "Aquesta partida pot ser avortada automàticament sense pèrdua de puntuació perquè encara no s'han fet dos moviments" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "Ofereix avortar" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "Aquesta partida no es pot ajornar perquè almenys un dels jugadors és convidat" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "Demanar pausa" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "Demanar reprendre" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "Demanar desfer" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "Continuar esperant l'oponent, o intentar ajornar la partida?" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "Espera" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "Ajorna" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Jugador Humà" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Increment:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Edita posició" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "Llibres d'obertures" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "Seleccioneu la ruta d'autodesat" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "peça promoguda no vàlida" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "i" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "promou un Peó a: %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "Partides" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "Id" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "Elo blanques" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "Elo negres" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "Ronda" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "Arxivat" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Rellotge" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Tipus" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Data/Hora" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "amb qui teniu una partida ajornada %(timecontrol)s %(gametype)s està en línia." #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "Examina partida ajornada" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Xat" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Guanya" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Empat" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Perd" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "Millor" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "Sancions" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Correu electrònic" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Transcorregut" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "en línia en total" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Connectant" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "Denuncia" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "Avalua" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "Segueix" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Nom" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "Estat" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "El botó de cadena està desactivat perquè heu iniciat sessió com a convidat. Els convidats no tenen qualificació, i l'estat del botó de cadena no té cap efecte quan no hi ha qualificació amb la qual relacionar la \"Força de l'oponent\"." #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Desafiament: " #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "Activat, permet rebutjar jugadors que acceptin la vostra cerca" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Edita cerca:" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "%(minutes)d min + %(gain)d seg/mov" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Manual" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " min" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "Efecte en les qualificacions dels possibles resultats" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "Victòria:" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "Taules:" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "Derrota:" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "Nou RD:" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Cerques actives: %d" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "voldria continuar la partida ajornada %(time)s %(gametype)s." #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "Heu d'activar els comentaris aliens per veure aquí els missatges del bot." #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "Només podeu tenir 3 cerques a la vegada. Si voleu afegir una de nova, heu d'esborrar les cerques actives. Esborrar les cerques?" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "No podeu tocar això! Esteu examinant una partida." #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "ha rebutjat la vostra oferta de partida" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "us està censurant" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "sou en la llista \"noplay\"" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "fa servir una fórmula que no s'adapta la vostra petició de partida:" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "per acceptar manualment" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "per acceptar automàticament" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "rang de puntuació actual" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "Cerca actualitzada" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "Les vostres cerques s'han esborrat" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "ha arribat" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "ha marxat" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "és present" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Detectar format automàticament" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Desa la partida" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "No s'ha pogut desar '%(uri)s' ja que PyChess desconeix el format '%(ending)s'." #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "No s'ha pogut desar l'arxiu '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "No teniu els permisos necessaris per guardar l'arxiu.\nComproveu que heu indicat bé la ruta i torneu a provar-ho." #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Reemplaçar" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "El fitxer ja existeix" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "No s'ha pogut desar l'arxiu" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess no ha pogut desar la partida" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "Hi ha %d partida amb moviments sense desar" msgstr[1] "Hi ha %d partides amb moviments sense desar" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "Desar els moviments abans de tancar?" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "vs." #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "_Desa %d document" msgstr[1] "_Desa %d documents" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "Voleu desar la partida actual abans de tancar-la?" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "No es pot desar en l'arxiu configurat. Voleu desar la partida actual abans de tancar-la?" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "No podreu reprendre la partida més endavant,\nsi no la deseu." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Tots els Arxius d'Escacs" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Llibre d'Obertures" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "El llibre d'obertures us pot servir d'inspiració durant la fase inicial de la partida. Us mostra moviments habituals dels grans mestres d'escacs" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "La taula de finals mostra l'anàlisi exacte quan resten poques peces sobre el tauler." #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "Escac i mat en %d" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "En aquesta posició\nno hi ha moviments vàlids." #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "El panell de xat permet comunicar-se amb l'oponent durant la partida, si a aquest li ve de gust." #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Notes" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "El panell de comentaris analitza i explica els moviments realitzats" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Posició inicial" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "%(color)s mou %(piece)s a %(cord)s" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "Motors" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "El panell de sortida del motor mostra el pensament del motor d'escacs (ordinador) durant una partida" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "En aquesta partida no participa cap motor d'escacs (ordinador)." #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Històric de moviments" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "El full de moviments registra els moviments dels jugadors i permet navegar per l'històric de la partida" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Puntuació" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "El panell de puntuació avalua les posicions i mostra un gràfic del progrés de la partida" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/ro/0000755000175000017500000000000013467766037013622 5ustar varunvarunpychess-1.0.0/lang/ro/LC_MESSAGES/0000755000175000017500000000000013467766037015407 5ustar varunvarunpychess-1.0.0/lang/ro/LC_MESSAGES/pychess.mo0000644000175000017500000007747713467766036017447 0ustar varunvarunw<' '$' +'$8' ]'i'n'%'`'( (#5(Y(p(w(#($(( (! )>/)n)))))))))')@*Y*j*{****#*$+(+9+R+a+{++++Q+&,C<,7,U,*-(9-b-x--- --- - --. .C+. o.|.*.. . ..Q.9/!X/z/ //Q/ %0KF0$060#0!1-41&b1-1;1111$2%*2P2 W2a2s2y2222 2 2222 22 22 33333<3 E3P3e3v333 33 33334G 4`R4 44 4 44 444 455 45@5O5W5]5n5~55 55 5555 5 55X5cP6]6S7Ff777 7D7&8?8W8Y8^8 e8q8 8 88 8 8 88888 999 09;9 D9 O9 ]9 j9w9y9/~99 999999: : : .: ;: G: T: b:n:::::.: :: ;;/;5; 7;C;I; N;X;];b; |;;;; ; ;;;; << < &<#0<T< o<{<}< < <<<<<< <<<< <<<<<< < ==%=@=F= N= Z=h="}== ======>'>;> C>O>e>k>>> >>>>>>>> >> ?h?"?C?5?9%@3_@@@T@ A"ALSLjLLLL!L LM M M#M4MCMTMdMzMMM MMMM#M!#NENeNiNoNwN~NP#P(P10P bPoPtP%PP)?Q%iQQQQ-Q-Q+R AR&bRORRRSSS$S?SDSbS/hSPSSST&TET!`T&T0TTT UU7UHU\UoUNU&UOU=HVgV2V0!WRWhW~WW WWWW WW# X-X]?X XX8X"XY -Y8Yf:Y#Y)Y Y,Z%=ZfcZ%ZSZ3D[Mx[%[,[4\-N\?|\B\\] ]*]":]]] d]r]]]]]] ] ]]] ]]] ^^ -^:^?^ X^ c^n^}^^^^^^^ ^_$_5_M_IU_b_ ` ``'`=`R` a` k` v``#``````aa)a>aUaraaaa aaaba|*bvbhcScccdGdad|dddddddd dd ee*eIe aeleueee ee eeeeee7f8f@f'Rf zffff ffffgg#g4gFg ^gigrg"g:g ggh#h;h@h BhNhUhZhjhohvhhhhh h h ii%i DiPi Wi aikii iiiiii iiii j jjj %j2j8j@jCj Rj \jjj|j(jjjjjj+k2kDkUkkkkkkkk kkl l+&lRl[l dlnlll llll lll mmOm>n9Tn9nnnZn HoiooooroDpcppq q&qd8qqqtq@*rDkrrr r rr ss sssssss tt .t9t LtVt et st~t tt tMt (u2u)6u!`uuuuuDuFu@;v-|vRv(v0&wWw(vw!ww w w wwxx'x 0x;xDxSxXxixrx.zxx xxxx xx y y!y4y Hy SyayIqyyyyyz!z2zRz aznz)rz7zAz!{8{.>{m{ { {#{{{{ { {/|/2|#b|||||%|.}/}L}P}e} y}}}}} ~ ~%~>~S~*c~~(~*~)~ ,08*0; GZUi @6 uA5)Fp!QZK?'2xH-WK]=R8B&B$Ow ^)X[o>.t ,(z%u#3`bpY94tgya$}JV5VeI:yS|}qPc0On"d&`*9cPjFb7Ml+.<DH:fm /LUWXGEY_%CRe\8fhNavl,1Do+Q7jm@E{\32TMJ L{CT;n S^/v~="x-Nzr  (]h|I!k'q~?1 A#6_g4[> si<kdsrw Gain: chess has arrived has declined your offer for a match is present min%(black)s won the game%(color)s got a double pawn %(place)s%(color)s got an isolated pawn in the %(x)s file%(color)s got isolated pawns in the %(x)s files%(color)s got new double pawns %(place)s%(minutes)d min + %(gain)d sec/move%(white)s won the game%d min%s can no longer castle%s can no longer castle in kingside%s can no longer castle in queenside%s returns an error%s was declined by your opponent%s was withdrawn by your opponent'%s' is a registered name. If it is yours, type the password.'%s' is not a registered name(Blitz)*0 Players Ready0 of 010 min + 6 sec/move, White12002 min, Fischer Random, Black5 minPromote pawn to what?PyChess was unable to load your panel settingsAnalyzingAnimationChess VariantEnter Game NotationInitial PositionInstalled SidepanelsName of _first human player:Name of s_econd human player:Open GameOpponent StrengthOptionsPlay Sound When...PlayersTime ControlYour Color_Start GameA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedPyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to save file '%s'Unknown file type '%s'Challenge:A player _checks:A player _moves:A player c_aptures:About ChessAc_tiveActive seeks: %dAddress ErrorAdministratorAll Chess FilesAnalyze from current positionAnalyze gameAnimate pieces, board rotation and more. Use this on fast machines.Ask to _MoveAsymmetric RandomAuto _rotate board to current human playerAuto login on startupAuto-logoutAvailableBBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause %(mover)s stalematedBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBeepBishopBlackBlack has a new piece in outpost: %sBlack has a slightly cramped positionBlack:BlindfoldBlindfold AccountBlitzBlitz:CCACenter:ChallengeChallenge: Challenge: Change ToleranceChatChess AdvisorChess Alpha 2 DiagramChess GameChess PositionChess ShoutClockClose _without SavingCommentsComputerConnectingConnecting to serverConnection ErrorConnection was closedCornerCould not save the fileCreate SeekDateDate/TimeDefaultDestination Host UnreachableDetect type automaticallyDiedDo you know that it is possible to finish a chess game in just 2 turns?Do you know that the number of possible chess games exceeds the number of atoms in the Universe?Don't careDrawEdit SeekEdit Seek: EmailEnter GameEventEvent:FIDE MasterF_ull board animationFace _to Face display modeFile existsFischer RandomFriendsGain:Game informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Games running: %dGrand MasterGuestHideHost:How to PlayHuman BeingIdIf set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, this hides the tab in the top of the playing window, when it is not needed.If you don't save, new changes to your games will be permanently lost.Initial positionInternational MasterInvalid move.It is not possible later to continue the game, if you don't save it.Jump to initial positionJump to latest positionKKingKnightKnight oddsLeave _FullscreenLightningLightning:Loading player dataLocal EventLocal SiteLog on ErrorLog on as _GuestLogging on to serverLosersLossMamer ManagerManualManually accept opponentMate in %dMinutes:Minutes: More channelsMore playersMove HistoryNNameNever use animation. Use this on slow machines.New GameNo _animationNo conversation's selectedNo soundNormalObserveObserved _ends:OddsOffer Ad_journmentOffer RematchOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpen GameOpen Sound FileOpening BookOpponent's strength: OtherPParameters:PausePawnPawn oddsPingPlayPlay Fischer Random chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer _RatingPlayers: %dPng imagePo_rts:Pre_viewPrefer figures in _notationPreferencesPrivatePromotionProtocol:PyChess - Connect to Internet ChessPyChess Information WindowPyChess.py:QQueenQueen oddsQuit PyChessRR_esignRandomRapidRatedRated gameRatingResultRookRook oddsRoundRound:SRS_ign upSaveSave GameSave Game _AsSave files to:Save moves before closing?ScoreSearch:Seek _GraphSelect engineSelect sound file...Select the games you want to save:Send ChallengeSend seekService RepresentativeSetting up environmentSetup PositionShoutShow _captured piecesShow tips at startupShredderLinuxChess:ShuffleSide_panelsSimple Chess PositionSite:Sorry '%s' is already logged inSpentStandardStandard:Start Private ChatStep back one moveStep forward one moveSuicideTTDTMTeam AccountThe abort offerThe adjourn offerThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe reason is unknownThe resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe takeback offerThemesThere is %d game with unsaved moves.There are %d games with unsaved moves.This option is not applicable because you're challenging a playerThis option is not available because you're challenging a guest, TimeTime control: Tip Of The dayTip of the DayTo save a game Game > Save Game As, give the filename and choose where you want to be saved. At the bottom choose extension type of the file, and Save.Tolerance:Tournament DirectorTranslate PyChessTypeUUnable to accept %sUndescribed panelUndoUndo one moveUndo two movesUninstallUnknownUnofficial channel %dUnratedUnregisteredUntimedUpside DownUse _analyzerUse _inverted analyzerUse analyzer:WaitWas unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.WelcomeWhiteWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite:WildWinYear, month, day: #y, #m, #dYou can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou can't select a variant because "Untimed" is checked, You can't switch colors during the game.You have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou have tried to undo too many moves.You sent a draw offerYour opponent asks you to hurry!Your opponent is not out of time.Your strength: Zugzwang_Accept_Actions_Analyze Game_Clear Seeks_Copy PGN_Decline_Edit_Engines_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Invalid move:_Load Game_Log Viewer_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Use sounds in PyChess_View_Your Color:andand guests can't play rated gamesand on FICS, untimed games can't be ratedand on FICS, untimed games have to be normal chess rulesask your opponent to moveblackbrings a pawn closer to the backrow: %scaptures materialcastlesdefends %sdevelops a %(piece)s: %(cord)sdevelops a pawn: %sdrawsexchanges materialgnuchess:half-openhttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyin the %(x)s%(y)s filein the %(x)s%(y)s filesincreases the pressure on %smatesmoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %sofoffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalpromotes a Pawn to a %sputs opponent in checkrescues a %sresignslightly improves king safetytakes back materialthe captured cord (%s) is incorrectthe move needs a piece and a cordthreatens to win material by %svs.whitewindow1xboardProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Romanian (http://www.transifex.com/gbtami/pychess/language/ro/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: ro Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1)); Câștig: şaha ajunsa refuzat oferta dumneavoastră pentru o partidăeste prezent min%(black)s a câștigat jocul%(color)s are un pion dublu %(place)s%(color)s are un pion izolat pe coloana %(x)s%(color)s are pioni izolati pe coloana %(x)s%(color)s are pioni izolati pe coloana %(x)s%(color)s are un nou pion dublu %(place)s%(minutes)d min + %(gain)d sec/mutare%(white)s a câștigat jocul%d min%s nu mai poate face rocada%s nu mai poate face rocada pe partea regelui%s nu mai poate face rocada pe partea reginei%s întoarce o eroare%s a fost respinsă de adversar.%s a fost restrasă de către adversar'%s' este deja înregistrat. Dacă sunteți dumneavoastră tastaţi-vă parola.'%s' nu e un nume înregistrat(Bliț)*Niciun jucător pregătit0 din 010 min + 6 sec/mutare, Alb12002 min, Fischer aleator, Negru5 minÎn ce se promovează pionul?PyChess nu a putut încărca setările dumneavoastră de panouSe analizeazăAnimațieVariantă șahIntrodu notația de jocPoziția inițialăPanouri laterale instalateNumele _primului jucător uman:Numele celui de-al _doilea jucător uman:Deschide jocEvaluarea oponentuluiOpțiuniRedă sunet când...JucătoriControl timpCuloarea taÎncepe _jocUn fișier numit '%s' există deja. Se dorește înlocuirea?Motorul, %s, a muritPyChess caută motoarele dvs. de șah. Va rugăm așteptați.PyChess nu a fost capabil să salveze joculExistă %d jocuri cu mutări nesalvate. Salvează modificări înainte de închidere?Nu se poate salva fișierul '%s'Tip de fișier necunoscut '%s'Provocare:Un jucător dă șah:Un jucător mută:Un jucător c_apturează:Despre șahAc_tivCăutări active: %dEroare adresăAdministratorToate fișierele de șahAnalizează de la poziţia curentăAnalizează joculAnimează piesele, rotația tablei și altele. Recomandat doar pe calculatoarele performante.Cere mutareAleator asimetric_Rotește tabla automat pentru jucătorul uman la mutareAutentificare automată la pornireDeconectare automatăDisponibilBPentru că %(black)s a rămas fără timp și %(white)s nu are suficient material pentru a da șah matPentru că %(loser)s s-a deconectatPentru că %(loser)s a rămas fără timpPentru că %(loser)s a renunțatPentru că %(loser)s a fost pus în șah matBecause %(mover)s a fost pus în pat.Pentru că %(white)s a rămas fără timp și %(black)s nu are suficient material pentru a da șah matPentru că un jucător s-a deconectatPentru că un jucător a pierdut conexiunea, iar celalt jocător a cerut o amânarePentru că amândoi jucători au rămas fără timpFiindcă niciunul din jucător nu are suficient material pentru a da șah matDin cauza deciziei unui administratorPentru că motorul de șah %(white)s a muritPentru că conexiunea către server a fost pierdutăPentru că jocul a depășit lungimea maximăDeoarece ultimele 50 de mutari nu au schimbat situația joculuiPentru că aceeași poziție a fost repetată de trei ori la rândBipNebunNegruNegrul are o nouă piesă în avanpost: %sNegrul are o poziție înghesuităNegru:Legat la ochiCont legat la ochiBlițBlițCCACentru:ProvoacăProvocare: Provoacă: Modifică toleranțaConversațiiConsilier șahDiagrama Chess Alpha 2Joc de șahPoziție de șahStrigă șahCeasÎnchide _fără a salvaComentariiCalculatorSe conecteazăConectare la serverEroare la conectareConexiunea a fost închisăColțNu s-a putut salva fișierulCreează căutareDatăDată/OrăImplicitServerul destinație nu e disponibilDetectează tip automatA muritȘtiați că este posibil ca un joc de șah să se termine în 2 mutări?Știați că numărul posibil de jocuri de șah este mai mare decât numarul de atomi din Univers?IrelevantRemizăEditează căutareModifică căutarea: Poștă electronicăIntră în jocEvenimentEveniment:Maestru FIDEAnimație totală a ta_bleiModul de afișa_re fața în fațăFișierul existăFischer aleatorPrieteniProgres:Informații jocJocul e remizăJocu_l e pierdut:Jocul e _configurat:Jocul este câștigat:Jocuri în desfășurare: %dMare maestru internaționalOaspeteAscundeGazdă:Cum se joacăFiință umanăIdDacă este ales, PyChess va folosi figurine pentru a arăta piesele mutate în locul majusculilor.Dacă este ales, piesele negre vor fi orientate în jos, adecvat pentru a juca împotriva prietenilor pe dispozitive mobile.Daca este ales, tabla se va întoarce dupa fiecare mutare pentru a arătă vederea naturală a jucătorului la mutare.Dacă este ales, ascunde fila în partea superioară a ferestrii de joc când aceasta nu este necesară.Dacă nu salvezi, noile modificări către jocurile tale vor fi pierdute definitiv.Pozițiă inițialăMaestru internaționalMutare invalidă.Nu este posibil să continuați jocul mai târziu, dacă nu-l salvați.Revino poziția inițialăRevino la ultima mutareKRegeCalCotele caluluiPărăsește _Ecran CompletFulgerFulger:Se încarcă datele jucătoruluiEveniment localSite localEroare autentificareAutentificare drept _VizitatorAutentificare pe serverPierzatoriPierdereDirector mamerManualAcceptă oponenții manualMat în %dMinute:Minute: Mai multe canaleMai mulți jucătoriIstoric mutăriNNumeNu anima nimic. Recomandat pentru calculatoarele lente.Joc nouFără animații.Nicio conversație nu a fost selectatăFără sunetNormalObservăFinalizări obs_ervateProbabilitateOferă suspendarea _joculuiOferiți revanșăOferă oprire_a joculuiPropune remizăPropune _pauzăPropune _reluareProp_une revenirePanoul PyChess oficial.DeconectatConectatAnimează doar _mutărileAnimează doar mutările pieselor.Doar utilizatorii înregistrați poti vorbi pe acest canalDeschide jocDeschide fișier sunetCartea de deschideriEvaluarea oponentului: AltePParameteri:PauzăPionCotele pionuluiPingJoacăJoacă șah Fisher AleatorJucați revanșăJoacă șah pe _internetJoacă șah cu regulile normaleEvalua_re jucătorJucători: %dImagine pngPo_rturi;Pre_vizualizeazăPrefera figurine în _notațiiPreferințePrivatPromovareProtocol:Conectare la Șah pe InternetFereastra de informare PyChessPyChess.py:QReginăCotele regineiIeși din PyChessRC_edeazăAleatorRapidEvaluatJoc evaluatEvaluareRezultatTurăCotele tureiRundaRundă:SRÎnreg_istrareSalveazăSalvează jocS_alvează joc caSalvează fişiere în:Salvează mutări înainte de închidereScorCaută:Grafic căutăriSelectează motorulAlege fișier sunet...Alege jocurile pe care vrei să le salvezi:Trimite ProvocareTrimite căutareReprezentant serviciuConfigureaza mediulConfigurează pozițiaStrigăArată _piese capturateArată sfaturi la pornireShredderLinuxChess:Amestecă_Panouri lateralePoziție simplă de șahPagină web:Îmi pare rău, '%s' este deja autentificatUtilizatStandardStandard:Pornește conversație privatăRevino o mutare înapoiRevino o mutare înainteSinucidereTTDTMCont echipaOferta de întrerupereOferta de suspendarePanoul de conversații vă dă posibilitate să comunicați cu adversarul dumneavoastră în timpul jocului, presupunând ca el sau ea este înteresat(ă).Cronomentrul nu a fost pornit.Panoul de comentarii va încerca să analizeze și să explice mutările jucateThe connection was broken - got "sfârșit de fișier" messageNumele afișat al primului jucător uman, de exemplu Ion.Numele afișat al jucătorului oaspete, de exemplu Maria.Oferta de remizăEroarea a fost: %sFișierul există deja în '%s'. Dacă îl înlocuiți, conținutul său va fi suprascris.Partida s-a încheiat cu remizăJocul a fost abandonatJocul a fost suspendatProgramul a fost terminatMutarea a eșuat pentru că %s.Fila cu mutări înregistrează mutările jucătorilor si vă dă posibilitatea să navigați prin istoria joculuiOferta de schimbare a părțiiCartea de deschideri va încerca să vă inspire în timpul deschiderii jocului arătându-vă mutări frecvente ale maeștrilor din șahOferta de întrerupereMotivul este necunoscutAbdicareaOferta de reluarePanoul de scor încearcă să evalueze pozițiile și să va arate un grafic al progresului jocului,Oferta de revenireTemeExistă %d joc cu mutări nesalvate.Există %d jocuri cu mutări nesalvate.Există %d jocuri cu mutări nesalvate.Această opțiune nu este disponibilă când provoci un jucătorAceastă opțiune nu este dispobilă pentru că provoci un oaspete, TimpControl timp: Sfatul ZileiPontul zileiPentru a salva un joc Joc > Salvează Joc, dați un nume de fișier și alegeți un să fie salvat. În partea de jos alegeți extensia fișierului și apoi Salveaza.Toleranță:Director turneuTradu PyChessTipUNu se poate accepta %sPanou nedescrisÎnapoiRefă o mutareRefă două mutăriDezinstaleazăNecunoscutCanal neoficial %dNeevaluatNeînregistratNecronometratRăsturnatUtilizează _analizatorUtilizează analizator _inversatFoloseşte analizatorulAşteaptăNu s-a putut salva '%(uri)s' deoarece PyChess nu știe formatul '%(ending)s'.Bun venitAlbAlbul are o nouă piesă în avanpost: %sAlbul are o poziție înghesuităAlb:WildVictorieAn, lună, zi: #y, #m, #dNu poți juca jocuri evaloate pentru că "Necronometrat" este ales. Nu poți juca jocuri evaluate pentru că ești autentificat ca oaspeteNu poți alege o variantă pentru ca "Necronometrat" este ales, Nu puteți schimba partea în timpul jocului.Ați fost deconectați pentru că ați fost inactive pentru mai mult de 60 minute.Nu ați deschis nicio conversați încăAți încercat să refaceți prea multe mutări.Ai trimis o ofertă de remizăAdversarul îți cere să te grăbești!Adversarul nu a depășit timpul.Evaluarea ta: Zug-zwang_Acceptă_Acțiuni_Analizează JoculȘterge _căutările_Copiază PGN-ul_Refuză_Editează_Motoare_Ecran complet_JocLista j_ocurilor_GeneralA_jutorAscunde taburi când numai un joc este deschis_Mutare invalidă:Încarcă jocVizualizator jurna_l_Nume:Joc _nou_UrmătorMutări _observateA_dversat:_Parolă:Joacă șah normalLista _jucătorilor_PrecedentÎnlocuiește_Rotește tabla_Salvează %d document_Salvează %d documente_Salvează %d de documente_Salvează %d documente_Salvează jocCăutări / _ProvocăriAfișează panourile laterale_Sunete_Pornește jocul_Utilizează sunete în PyChess_VizualizeazăCuloarea _tașiiar oaspeții nu pot juca jocuri evaluateși pe FICS, jocurile necronometrate nu pot fi evaluateși pe FICS, jocurile necronometrate se joaca cu regulile normalesă cereți adversarului să mutenegruaduce un pion mai aproapte de ultima linie: %scapturează materialface rocadaapără %sdezvoltă un(o) %(piece)s: %(cord)sdezvolta un pion: %sremizeschimbă materialgnuchess:semi-deschishttp://ro.wikipedia.org/wiki/%C5%9Eah_%28joc%29http://ro.wikipedia.org/wiki/%C5%9Eah_%28joc%29imbunătățește apărarea regeluiîn fișierul %(x)s%(y)sîn fișierele %(x)s%(y)smărește presiunea pe %smaturimută o tură pe o coloană deschisămută o tură pe o coloană parțial deschisămuta nebun in fianchetto: %sdinsă oferiți remizăsă oferiți pauzăoferă refacerea ultimei mutărioferă oprirea joculuioferă suspendarea joculuisă oferiți reluaresă oferiți schimbați parteatotal onlineschimbă un pion în %spune adversarul în șahrecupereaza un(o) %ssă renunțațiîmbunătățește ușor apărarea regeluiia înapoi materialcăsuța capturată (%s) este incorectămutarea necesită o piesă și o căsuțăamenință să câștige material prin %sîmpotriva.albwindow1xboardpychess-1.0.0/lang/ro/LC_MESSAGES/pychess.po0000644000175000017500000046053213455542757017435 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # dev0d , 2015 # FIRST AUTHOR , 2008 # Marinescu Bogdan , 2015 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Romanian (http://www.transifex.com/gbtami/pychess/language/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Joc" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "Joc _nou" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Joacă șah pe _internet" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "Încarcă joc" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Salvează joc" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "S_alvează joc ca" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Evalua_re jucător" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "_Analizează Jocul" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Editează" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_Copiază PGN-ul" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "_Motoare" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Acțiuni" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Oferă oprire_a jocului" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Oferă suspendarea _jocului" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Propune remiză" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Propune _pauză" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Propune _reluare" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Prop_une revenire" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "C_edează" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Cere mutare" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Vizualizează" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Rotește tabla" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Ecran complet" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Părăsește _Ecran Complet" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "Afișează panourile laterale" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "Vizualizator jurna_l" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "A_jutor" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Despre șah" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Cum se joacă" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Tradu PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Pontul zilei" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Preferințe" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "Numele afișat al primului jucător uman, de exemplu Ion." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Numele _primului jucător uman:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "Numele afișat al jucătorului oaspete, de exemplu Maria." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Numele celui de-al _doilea jucător uman:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "Ascunde taburi când numai un joc este deschis" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Dacă este ales, ascunde fila în partea superioară a ferestrii de joc când aceasta nu este necesară." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "_Rotește tabla automat pentru jucătorul uman la mutare" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Daca este ales, tabla se va întoarce dupa fiecare mutare pentru a arătă vederea naturală a jucătorului la mutare." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "Modul de afișa_re fața în față" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Dacă este ales, piesele negre vor fi orientate în jos, adecvat pentru a juca împotriva prietenilor pe dispozitive mobile." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "Arată _piese capturate" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Prefera figurine în _notații" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "Dacă este ales, PyChess va folosi figurine pentru a arăta piesele mutate în locul majusculilor." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "Animație totală a ta_blei" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Animează piesele, rotația tablei și altele. Recomandat doar pe calculatoarele performante." #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Animează doar _mutările" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Animează doar mutările pieselor." #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Fără animații." #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Nu anima nimic. Recomandat pentru calculatoarele lente." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animație" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_General" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Utilizează _analizator" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Utilizează analizator _inversat" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Se analizează" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Dezinstalează" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "Ac_tiv" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Panouri laterale instalate" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "_Panouri laterale" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Teme" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Utilizează sunete în PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "Un jucător dă șah:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Un jucător mută:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Jocul e remiză" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Jocu_l e pierdut:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Jocul este câștigat:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Un jucător c_apturează:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Jocul e _configurat:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "Mutări _observate" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "Finalizări obs_ervate" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "_Mutare invalidă:" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Redă sunet când..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Sunete" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Salvează fişiere în:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "An, lună, zi: #y, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Salvează" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Promovare" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Regină" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Tură" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Nebun" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Cal" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Rege" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "În ce se promovează pionul?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "Implicit" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Informații joc" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Pagină web:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Negru:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Rundă:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Alb:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Eveniment:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "xboard" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protocol:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Parameteri:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Alb" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Negru" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "Eveniment" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Dată" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Rezultat" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Analizează jocul" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "Foloseşte analizatorul" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "Analizează de la poziţia curentă" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess caută motoarele dvs. de șah. Va rugăm așteptați." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "Conectare la Șah pe Internet" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Parolă:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Nume:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Autentificare drept _Vizitator" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "Gazdă:" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Po_rturi;" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "Înreg_istrare" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Provoacă: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Trimite Provocare" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Provocare:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Fulger:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Standard:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Bliț" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "2 min, Fischer aleator, Negru" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 min + 6 sec/mutare, Alb" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 min" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "Șterge _căutările" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Acceptă" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Refuză" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Trimite căutare" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Creează căutare" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Standard" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Bliț" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Fulger" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Calculator" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "Căutări / _Provocări" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Evaluare" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Timp" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "Grafic căutări" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "Niciun jucător pregătit" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Provoacă" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Observă" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Pornește conversație privată" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Oaspete" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "Lista _jucătorilor" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "Lista j_ocurilor" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "Pre_vizualizează" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Editează căutare" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Necronometrat" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minute: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr " Câștig: " #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Control timp: " #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Control timp" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Irelevant" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Evaluarea ta: " #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Bliț)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Evaluarea oponentului: " #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Centru:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Toleranță:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Ascunde" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Evaluarea oponentului" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Culoarea ta" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Joacă șah cu regulile normale" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Joacă" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Variantă șah" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Joc evaluat" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Acceptă oponenții manual" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Opțiuni" #: glade/findbar.glade:6 msgid "window1" msgstr "window1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 din 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Caută:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Precedent" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Următor" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Joc nou" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Pornește jocul" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Jucători" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "Joacă șah normal" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Joacă șah Fisher Aleator" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Deschide joc" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Poziția inițială" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Introdu notația de joc" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Ieși din PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Închide _fără a salva" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "_Salvează %d documente" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "Există %d jocuri cu mutări nesalvate. Salvează modificări înainte de închidere?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Alege jocurile pe care vrei să le salvezi:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Dacă nu salvezi, noile modificări către jocurile tale vor fi pierdute definitiv." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "A_dversat:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "Culoarea _ta" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "Începe _joc" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "Autentificare automată la pornire" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Sfatul Zilei" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Arată sfaturi la pornire" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://ro.wikipedia.org/wiki/%C5%9Eah_%28joc%29" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://ro.wikipedia.org/wiki/%C5%9Eah_%28joc%29" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Bun venit" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Deschide joc" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "Abdicarea" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "Oferta de remiză" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "Oferta de întrerupere" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "Oferta de suspendare" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "Oferta de întrerupere" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "Oferta de reluare" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "Oferta de schimbare a părții" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "Oferta de revenire" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "să renunțați" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "să oferiți remiză" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "oferă oprirea jocului" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "oferă suspendarea jocului" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "să oferiți pauză" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "să oferiți reluare" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "să oferiți schimbați partea" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "oferă refacerea ultimei mutări" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "să cereți adversarului să mute" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Adversarul nu a depășit timpul." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "Cronomentrul nu a fost pornit." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "Nu puteți schimba partea în timpul jocului." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "Ați încercat să refaceți prea multe mutări." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Adversarul îți cere să te grăbești!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "%s a fost respinsă de adversar." #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s a fost restrasă de către adversar" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "Nu se poate accepta %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s întoarce o eroare" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "Diagrama Chess Alpha 2" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Poziție de șah" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Necunoscut" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Poziție simplă de șah" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Joc de șah" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "Mutare invalidă." #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "Mutarea a eșuat pentru că %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "Imagine png" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "Serverul destinație nu e disponibil" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "A murit" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Eveniment local" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Site local" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Pion" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "N" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "B" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "R" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "Q" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "K" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Partida s-a încheiat cu remiză" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s a câștigat jocul" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s a câștigat jocul" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "Programul a fost terminat" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Jocul a fost suspendat" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Jocul a fost abandonat" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "Fiindcă niciunul din jucător nu are suficient material pentru a da șah mat" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "Pentru că aceeași poziție a fost repetată de trei ori la rând" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "Deoarece ultimele 50 de mutari nu au schimbat situația jocului" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Pentru că amândoi jucători au rămas fără timp" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "Because %(mover)s a fost pus în pat." #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "Din cauza deciziei unui administrator" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "Pentru că jocul a depășit lungimea maximă" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "Pentru că %(white)s a rămas fără timp și %(black)s nu are suficient material pentru a da șah mat" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "Pentru că %(black)s a rămas fără timp și %(white)s nu are suficient material pentru a da șah mat" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "Pentru că %(loser)s a renunțat" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "Pentru că %(loser)s a rămas fără timp" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "Pentru că %(loser)s a fost pus în șah mat" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "Pentru că %(loser)s s-a deconectat" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "Pentru că un jucător s-a deconectat" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "Pentru că un jucător a pierdut conexiunea, iar celalt jocător a cerut o amânare" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "Pentru că motorul de șah %(white)s a murit" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "Pentru că conexiunea către server a fost pierdută" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "Motivul este necunoscut" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Aleator asimetric" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "Legat la ochi" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Colț" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Fischer aleator" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "Cotele calului" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "Pierzatori" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Normal" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "Cotele pionului" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "Cotele reginei" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Aleator" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "Cotele turei" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Amestecă" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "Sinucidere" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "Răsturnat" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "The connection was broken - got \"sfârșit de fișier\" message" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' nu e un nume înregistrat" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "Îmi pare rău, '%s' este deja autentificat" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "'%s' este deja înregistrat. Dacă sunteți dumneavoastră tastaţi-vă parola." #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Conectare la server" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Autentificare pe server" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Configureaza mediul" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Wild" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Conectat" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Deconectat" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "Disponibil" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Neevaluat" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Evaluat" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d min" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "alb" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "negru" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Privat" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Eroare la conectare" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Eroare autentificare" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Conexiunea a fost închisă" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Eroare adresă" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Deconectare automată" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Ați fost deconectați pentru că ați fost inactive pentru mai mult de 60 minute." #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Alte" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Administrator" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "Cont legat la ochi" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Cont echipa" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "Neînregistrat" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "Consilier șah" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "Reprezentant serviciu" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "Director turneu" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "Director mamer" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "Mare maestru internațional" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "Maestru internațional" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "Maestru FIDE" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "C" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "T" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "U" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "CA" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "SR" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "TD" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "TM" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "PyChess nu a putut încărca setările dumneavoastră de panou" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "Prieteni" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "Mai multe canale" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "Mai mulți jucători" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "Pauză" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "Nicio conversație nu a fost selectată" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "Se încarcă datele jucătorului" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "Fereastra de informare PyChess" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "din" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "Nu ați deschis nicio conversați încă" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "Doar utilizatorii înregistrați poti vorbi pe acest canal" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "Selectează motorul" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Oferiți revanșă" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Jucați revanșă" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Refă o mutare" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Refă două mutări" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Ai trimis o ofertă de remiză" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Motorul, %s, a murit" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "Înapoi" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "Aşteaptă" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "Revino poziția inițială" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "Revino o mutare înapoi" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "Revino o mutare înainte" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Revino la ultima mutare" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Ființă umană" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minute:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Progres:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "Rapid" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "Probabilitate" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "şah" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Configurează poziția" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Intră în joc" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Deschide fișier sunet" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Fără sunet" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Bip" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Alege fișier sunet..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "Panou nedescris" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "Știați că este posibil ca un joc de șah să se termine în 2 mutări?" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "Știați că numărul posibil de jocuri de șah este mai mare decât numarul de atomi din Univers?" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "Pentru a salva un joc Joc > Salvează Joc, dați un nume de fișier și alegeți un să fie salvat. În partea de jos alegeți extensia fișierului și apoi Salveaza." #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "mutarea necesită o piesă și o căsuță" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "căsuța capturată (%s) este incorectă" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "și" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "remize" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "maturi" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "pune adversarul în șah" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "imbunătățește apărarea regelui" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "îmbunătățește ușor apărarea regelui" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "mută o tură pe o coloană deschisă" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "mută o tură pe o coloană parțial deschisă" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "muta nebun in fianchetto: %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "schimbă un pion în %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "face rocada" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "ia înapoi material" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "schimbă material" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "capturează material" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "recupereaza un(o) %s" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "amenință să câștige material prin %s" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "mărește presiunea pe %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "apără %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "Albul are o nouă piesă în avanpost: %s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "Negrul are o nouă piesă în avanpost: %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "semi-deschis" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "în fișierul %(x)s%(y)s" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "în fișierele %(x)s%(y)s" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "%(color)s are un pion dublu %(place)s" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "%(color)s are un nou pion dublu %(place)s" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "%(color)s are un pion izolat pe coloana %(x)s" msgstr[1] "%(color)s are pioni izolati pe coloana %(x)s" msgstr[2] "%(color)s are pioni izolati pe coloana %(x)s" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "%s nu mai poate face rocada" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "%s nu mai poate face rocada pe partea reginei" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "%s nu mai poate face rocada pe partea regelui" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "dezvolta un pion: %s" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "aduce un pion mai aproapte de ultima linie: %s" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "dezvoltă un(o) %(piece)s: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "Negrul are o poziție înghesuită" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "Albul are o poziție înghesuită" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "Strigă" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "Strigă șah" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "Canal neoficial %d" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "Id" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "Runda" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Ceas" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Tip" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Dată/Oră" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Conversații" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Victorie" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Remiză" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Pierdere" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Poștă electronică" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Utilizat" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "total online" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Se conectează" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Jocuri în desfășurare: %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Nume" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "Jucători: %d" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Provocare: " #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "Această opțiune nu este disponibilă când provoci un jucător" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Modifică căutarea: " #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "%(minutes)d min + %(gain)d sec/mutare" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Manual" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "Nu poți juca jocuri evaluate pentru că ești autentificat ca oaspete" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "Nu poți juca jocuri evaloate pentru că \"Necronometrat\" este ales. " #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "și pe FICS, jocurile necronometrate nu pot fi evaluate" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "Această opțiune nu este dispobilă pentru că provoci un oaspete, " #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "iar oaspeții nu pot juca jocuri evaluate" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "Nu poți alege o variantă pentru ca \"Necronometrat\" este ales, " #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "și pe FICS, jocurile necronometrate se joaca cu regulile normale" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "Modifică toleranța" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " min" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Căutări active: %d" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "a refuzat oferta dumneavoastră pentru o partidă" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "a ajuns" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "este prezent" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Detectează tip automat" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Salvează joc" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Tip de fișier necunoscut '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "Nu s-a putut salva '%(uri)s' deoarece PyChess nu știe formatul '%(ending)s'." #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Nu se poate salva fișierul '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "Înlocuiește" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Fișierul există" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Un fișier numit '%s' există deja. Se dorește înlocuirea?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "Fișierul există deja în '%s'. Dacă îl înlocuiți, conținutul său va fi suprascris." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Nu s-a putut salva fișierul" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess nu a fost capabil să salveze jocul" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "Eroarea a fost: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "Există %d joc cu mutări nesalvate." msgstr[1] "Există %d jocuri cu mutări nesalvate." msgstr[2] "Există %d jocuri cu mutări nesalvate." #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "Salvează mutări înainte de închidere" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "împotriva." #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "_Salvează %d document" msgstr[1] "_Salvează %d documente" msgstr[2] "_Salvează %d de documente" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Nu este posibil să continuați jocul mai târziu,\ndacă nu-l salvați." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Toate fișierele de șah" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "Zug-zwang" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Panoul PyChess oficial." #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Cartea de deschideri" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "Cartea de deschideri va încerca să vă inspire în timpul deschiderii jocului arătându-vă mutări frecvente ale maeștrilor din șah" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "Mat în %d" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "Panoul de conversații vă dă posibilitate să comunicați cu adversarul dumneavoastră în timpul jocului, presupunând ca el sau ea este înteresat(ă)." #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Comentarii" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "Panoul de comentarii va încerca să analizeze și să explice mutările jucate" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Pozițiă inițială" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Istoric mutări" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "Fila cu mutări înregistrează mutările jucătorilor si vă dă posibilitatea să navigați prin istoria jocului" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Scor" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "Panoul de scor încearcă să evalueze pozițiile și să va arate un grafic al progresului jocului," #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/el/0000755000175000017500000000000013467766037013602 5ustar varunvarunpychess-1.0.0/lang/el/LC_MESSAGES/0000755000175000017500000000000013467766037015367 5ustar varunvarunpychess-1.0.0/lang/el/LC_MESSAGES/pychess.mo0000644000175000017500000004350713467766036017412 0ustar varunvarunQ   07RWt'z#$):Sb|C*3IZ ` lx   & .8L Q \iou     '4}:    %3 8 DOP$  +7HW p!{        3 A N Z g u   />F O [ e#o     '6< DPe t~  49& 3`        ! !!0! 5!C! R!\! d! p! ~!!!!!!!!! ! " " "!"*"0"9" J"V" \"g"p"%v""" " "" "" " "" # # # )#$7#\# o#z## #### ## #"#+$2$6$9$=$A$E$M$iT$% % %%% &3!&U&1Z& &C&&,&'I;'M'&'$'(27(j("((%(z(Sb))*))# *1*Q*m*~*,*6**,+#H+l++ + + + ++"+,,1,O, b,1m,C, , ,, -)-*H-s---2--+.%0.-V.;.(/ //'090 Q0+^010/0001.1I1Z104FA444 4 4*4,4 57"5Z5/v5#5856M6 `6 l6!z66 666#667*7;7$P7"u7#77$7 7"8&98$`8&8-888 8 9A 9)O9y9/9D9": 1:=:Y:p::/: :::::; ;+$;P;e; z; ; ;;;);/;0#<+T<<<#<)<#<%=A=*a==== =4=#>S,>u>?>66?)m? ?'? ???@ 2@!>@ `@(k@(@@@@A!A=A WA bA$nA0A$AAA B,.B[BsB BBBBBB(C 0C>CfNCCC$C( D 3D@DXDhD}D)D DDD(EO>E'E*E.E F"F=F#TFxFFF F"F+FG GGGG.G@G~k-s.@< *#,E\G3Oi:m]9y" =aqJfbr/!1^+DtTN)(?MCgL5u8[Wcv'w&|VZ{dAozxn$Bj}e_072hR4H  UPlS%XF YQ;I6` pK> Gain: chess min(Blitz)0 Players Ready0 of 010 min + 6 sec/move, White12002 min, Fischer Random, Black5 minPromote pawn to what?AnimationChess VariantInitial PositionName of _first human player:Name of s_econd human player:Open GameOpponent StrengthOptionsPlay Sound When...PlayersTime ControlYour Color_Start GamePyChess is discovering your engines. Please wait.Unable to save file '%s'Challenge:A player _moves:AbortAbout ChessAdd commentAll Chess FilesAll whiteAnalysis by %sAnalyze black movesAnalyze from current positionAnalyze gameAnalyze white movesAsymmetric RandomBeepBishopBlackBlack:Blitz:Center:ChallengeChallenge: ChatChess GameChess clientClearClockClose _without SavingColorize analyzed movesCommand:CommentsComputerCornerCreate SeekDark Squares :DatabaseDateDate/TimeDetect type automaticallyDon't careEdit SeekEdit commentEmailEngines use uci or xboard communication protocol to talk to the GUI. If it can use both you can set here which one you like.Enter GameEvent:ExternalsFile existsFischer RandomGain:Game informationGame is _drawn:Game is _lost:Game is _won:HideHow to PlayHuman BeingIf the analyzer finds a move where the evaluation difference (the difference between the evaluation for the move it thinks is the best move and the evaluation for the move made in the game) exceeds this value, it will add an annotation for that move (consisting of the engine's Principal Variation for the move) to the Annotation panelImport chessfileImport games from theweekinchess.comKKingKnightKnightsLeave _FullscreenLight Squares :Lightning:Load _Recent GameLocal EventLog on as _GuestManage enginesManually accept opponentMate in %dMaximum analysis time in seconds:Minutes:Minutes: Move HistoryNNameNames: #n1, #n2New GameNew _DatabaseNo _animationNo soundNormalObserveOffer A_bortOffer Ad_journmentOffer RematchOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOpen GameOpen Sound FileOpponent's strength: PParameters:PawnPlayPlay Fischer Random chessPlay Losers chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer _RatingPo_rts:Pre_viewPreferencesPromotionProtocol:PyChess - Connect to Internet ChessPyChess.py:QQueenQuit PyChessRR_esignRandomRated gameRatingResultRookRoundRound:S_ign upSaveSave GameSave Game _AsSave database asSave files to:ScoreSearch:Seek _GraphSelect sound file...Send ChallengeSend seekSetup PositionShow evaluation valuesShredderLinuxChess:Site:StandardStandard:Start Private ChatTeam AccountThe directory where the engine will be started from.The displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The game ended in a drawThe reason is unknownThemesThreat analysis by %sTimeTime control: Tip Of The dayTip of the DayTolerance:Translate PyChessTypeUndo one moveUndo two movesUninstallUntimedUpside DownUse _analyzerUse analyzer:WelcomeWhiteWhite:Working directory:Year, month, day: #y, #m, #dYour strength: _Accept_Actions_Analyze Game_Clear Seeks_Copy FEN_Copy PGN_Decline_Edit_Engines_Export Position_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hints_Invalid move:_Load Game_Log Viewer_Name:_New Game_Next_Opponent:_Password:_Play Normal chess_Player List_Previous_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Sounds_Start Game_Untimed_Use sounds in PyChess_View_Your Color:andgnuchess:http://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessminofsecucivs.window1xboardProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Greek (http://www.transifex.com/gbtami/pychess/language/el/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: el Plural-Forms: nplurals=2; plural=(n != 1); Κέρδος: σκάκι λεπτ(Μπλιτς)0 έτοιμοι παίχτες0 από 010 λεπτά + 6 δευτ/κίνηση, Λευκά12002 λεπτά, Τυχαίο Φίσερ, Μαύρα5 λεπτάΠροαγωγή του πιονιού σε τι;ΚίνησηΣκακιστική ΒαριάνταΑρχική ΘέσηΌνομα του _πρώτου ανθρώπινου παίκτη:Όνομα του δ_εύτερου ανθρώπινου παίκτη:Ανοιχτό ΠαιχνίδιΙσχυς ΑντιπάλουΕπιλογέςΑναπαραγωγή Ήχου Όταν...ΠαίκτεςΈλεγχος χρόνουΤο Χρώμα σας_Έναρξη ΠαρτίδαςΤο PyChess ανακαλύπτει τις μηχανές σας. Παρακαλώ περιμένετε.Αδύνατη η αποθήκευση του αρχείου '%s'Πρόκληση:Ένας παίκτης _κινείται:ΑκύρωσηΣχετικά με το ΣκάκιΠροσθήκη σχολίουΑρχεία ΣκακιούΟλόλευκοΑνάλυση από %sΑνάλυση κινήσεων μαύρουΑνάλυση από την τρέχουσα θέσηΑνάλυση παρτίδαςΑνάλυση κινήσεων λευκούΤυχαίο ΑσυμμετρικόΗχητικό σήμαΑξιωματικόςΜαύραΜαύρα:Μπλιτς:Κέντρο:ΠρόκλησηΠρόκληση: <Παίχτης>ΣυζήτησηΠαρτίδα Σκακιούπελάτης ΣκακιούΚαθάρισμαΡολόιΚλείσιμο _χωρίς αποθήκευσηΧρωματισμός των αναλυμένων κινήσεωνΕντολή:ΣχόλιαΥπολογιστήΓωνίαΔημιουργία ΑναζήτησηςΣκουρόχρωμα τετράγωνα:Βάση δεδομένωνΗμερομηνίαΗμερομηνία/ΏραΑυτόματος εντοπισμός τύπουΑδιάφοροΕπεξεργασία ΑναζήτησηςΕπεξεργασία σχολίουΗλεκτρονικό ΤαχυδρομείοΟι μηχανες χρησιμοποιούν το uci ή το xboard για να επικοινωνούν με το γραφικό περιβάλλον. Αν αυτό μπορεί να χρησιμοιεί αμφότερα, εδώ μπορείτε να ρυθμίσετε εκείνο που επιθυμείτε.Εισαγωγή στο ΠαιχνίδιΣυμβάν:Περιφερειακά Το αρχείο υπάρχει ήδηΤυχαίο ΦίσερΚέρδοςΠληροφορίες παιχνιδιούΤο παιχνίδι λήγει _ισόπαλο:Το παιχνίδι λήγει _χαμένο:Το παιχνίδι λήγει σε _νίκη:ΑπόκρυψηΠως να ΠαίξετεΆνθρωποςΑν ο αναλυτής βρει μια κίνηση με την οποία η διαφορά ανάλυσης (η διαφορά μεταξύ της ανάλυσης για την κίνηση αυτή που αυτός πιστεύει ότι είναι η καλύτερη και της ανάλυσης για την κίνηση που έγινε στην παρτίδα) υπερβαίνει την τιμή αυτή, ο αναλυτής θα προσθέσει σχολιασμό για την κίνηση αυτή (θα περιλαμβάνει την αρχική βαριάντα της μηχανής για την κίνηση) στον πίνακα των Σχολιασμών.Εσααγάγετε αρχείο σκακιούΕισαγωγή παιχνιδιών από το theweekinchess.com ΠαΒασιλιάςΊπποςΊπποιΈξοδος από _Πλήρη οθόνηΑνοιχτόχρωμα τετράγωνα:Αστραπιαία:Φόρτωση _Πρόσφατου ΠαιχνιδιούΤοπικό ΓεγονόςΣυνδεθείτε ως _ΕπισκέπτηςΔιαχείρηση μηχανώνΧειροκίνητη αποδοχή αντιπάλουΜατ σε %dΜέγιστος χρόνος ανάλυσης σε δευτερόλεπτα:Λεπτά:Λεπτά: Ιστορικό ΚινήσεωνΙΌνομαΟνόματα: #n1, #n2Νέο ΠαιχνίδιΝέα _Βάση δεδομένωνΧωρίς _κίνησηΧωρίς ήχοΚανονικόΠαρατήρησηΠροσφορά Μ_αταίωσηςΠροσφορά Αν_αμονήςΠρόταση Επανάληψης_ΠαραίτησηΠροσφορά _ΙσοπαλίαςΠρόσφερετε _ΠαύσηΠρόταση _ΣυνέχειαςΠρόσφερετε _Αναίρεση'Ανοιγμα ΠαιχνιδιούΆνοιγμα Αρχείου ΉχουΔυναμικότητα αντιπάλου: ΠιΠαράμετροι:ΠιόνιΠαίξτεΠαίξτε σκάκι τύπου Τυχαίο του ΦίσερΠαίξτε σκάκι τύπου LosersΠαίξτε ΕπανάληψηΠαίξτε _Διαδικτυακό ΣκάκιΠαίξτε με κανονικούς κανόνες σκακιού_Βαθμολογία Παίκτηθύ_ρεςΠ_ροεπισκόπησηΠροτιμήσειςΠροαγωγήΠρωτόκολο:PyChess - Διαδικτυακή ΣύνδεσηPyChess.py:ΒΒασίλισσαΈξοδος PyChessΠυΕ_γκατάληψηΤυχαίοΒαθμολογημένο παιχνίδιΒαθμολογίαΑποτέλεσμαΠύργοςΓύροςΓύρος:Ε_γγραφείτεΑποθήκευσηΑποθήκευση παιχνιδιούΑποθήκευση Παιχνιδιού Ω_ςΣώστε τη βάση δεδομένων ωςΑποθήκευση αρχείων στο:ΒαθμολογίαΑναζήτηση:Γράφημα αναζήτησηςΕπιλογή αρχείου ήχου...Αποστολή ΠρόκλησηςΑποστολή ΑναζήτησηςΚαθορισμός ΘέσηςΠροβολή τιμών ανάλυσηςShredderLinuxChess:Ιστοσελίδα:ΠρότυποΤυπική:Έναρξη Ιδιωτικής ΣυνομιλίαςΛογαριασμός ΟμάδαςΟ κατάλογος από τον οποίο θα εκκινεί η μηχανή.Το εμφανιζόμενο όνομα του πρώτου ανθρώπινου παίκτη, π.χ. ΙωάννηςΤο όνομα του καλεσμένου, π.χ. Μαρία.Το παιχνίδι έληξε σε ισοπαλίαΟ λόγος είναι άγνωστοςΘέματαΑνάλυση απειλών από %sΧρόνοςΈλεγχος χρόνου: Συμβουλή της ηΗΣυμβουλή της ηΗΑνοχή:Μετάφραση του PyChessΤύποςΑναίρεση μιας κίνησηςΑναίρεση δύο κινήσεωνΑπεγκατάστασηΧωρίς χρόνοΠάνω ΚάτωΧρήση _αναλυτήΧρήση του αναλυτή:Καλώς ορίσατεΛευκάΛευκά:Κατάλογος εργασίας:Χρόνος, μήνας, ημέρα: #y, #m, #dΗ δυναμικότητά σας: _ΑποδοχήΕ_νέργειες_Ανάλυση παρτίδας_Καθαρισμός Αναζητήσεων_Αντιγραφή FEN_Αντιγραφή PGN_Άρνηση_Τροποποίηση_Μηχανές_Εξαγωγή Θέσης_Πλήρης οθόνη_Παιγνίδι_Κατάλογος Παιχνιδιού_Γενικά_ΒοήθειαΑ_πόκρυψη καρτελών όταν είναι ανοιχτό μόνο ένα παιχνίδι_Υποδείξεις_Άκυρη κίνηση:_Φόρτωση ΠαιχνιδιούΠροβολέας _Καταγραφών_Όνομα:_Νέο Παιxνίδι_Επόμενο_Αντίπαλος:_Συνθηματικό:_Παίξτε Κανονικό σκάκι_Κατάλογος Παίκτη_Προηγούμενο_ΑντικατάστασηΠ_εριστροφή Σκακιέρας_Αποθήκευση %d αρχείου_Αποθήκευση %d αρχείων_Αποθήκευση %d αρχείωνΑ_ποθήκευση Παιχνιδιού_Αναζητήσεις / Προκλήσεις_ΉχοιΈ_ναρξη Παιχνιδιού_Χωρίς χρόνο_Χρήση Ήχων στο PyChessΠρο_βολή_Το Χρώμα Σουκαιgnuchess:http://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessλεπταπόδευτuciεναντίωνπαράθυρο1xboardpychess-1.0.0/lang/el/LC_MESSAGES/pychess.po0000644000175000017500000045242413455542736017413 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # anvo , 2015 # FIRST AUTHOR , 2007 # anvo , 2015 # Nea Retrogamer (nearetrogamer), 2017 # Nikos Panagogiannopoulos , 2018 # Nikos Panagogiannopoulos , 2018 # Γιάννης Ανθυμίδης, 2012 # Γιάννης Ανθυμίδης, 2012 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Greek (http://www.transifex.com/gbtami/pychess/language/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Παιγνίδι" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Νέο Παιxνίδι" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Παίξτε _Διαδικτυακό Σκάκι" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Φόρτωση Παιχνιδιού" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Φόρτωση _Πρόσφατου Παιχνιδιού" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "Α_ποθήκευση Παιχνιδιού" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Αποθήκευση Παιχνιδιού Ω_ς" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "_Εξαγωγή Θέσης" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "_Βαθμολογία Παίκτη" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "_Ανάλυση παρτίδας" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Τροποποίηση" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_Αντιγραφή PGN" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "_Αντιγραφή FEN" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "_Μηχανές" #: glade/PyChess.glade:518 msgid "Externals" msgstr "Περιφερειακά " #: glade/PyChess.glade:544 msgid "_Actions" msgstr "Ε_νέργειες" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "_Παραίτηση" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Προσφορά Αν_αμονής" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Προσφορά _Ισοπαλίας" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Πρόσφερετε _Παύση" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Πρόταση _Συνέχειας" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Πρόσφερετε _Αναίρεση" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "Ε_γκατάληψη" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "Προ_βολή" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "Π_εριστροφή Σκακιέρας" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Πλήρης οθόνη" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Έξοδος από _Πλήρη οθόνη" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "Προβολέας _Καταγραφών" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "Βάση δεδομένων" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "Νέα _Βάση δεδομένων" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "Σώστε τη βάση δεδομένων ως" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "Εσααγάγετε αρχείο σκακιού" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "Εισαγωγή παιχνιδιών από το theweekinchess.com " #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Βοήθεια" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Σχετικά με το Σκάκι" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Πως να Παίξετε" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Μετάφραση του PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Συμβουλή της ηΗ" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "πελάτης Σκακιού" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Προτιμήσεις" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "Το εμφανιζόμενο όνομα του πρώτου ανθρώπινου παίκτη, π.χ. Ιωάννης" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Όνομα του _πρώτου ανθρώπινου παίκτη:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "Το όνομα του καλεσμένου, π.χ. Μαρία." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Όνομα του δ_εύτερου ανθρώπινου παίκτη:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "Α_πόκρυψη καρτελών όταν είναι ανοιχτό μόνο ένα παιχνίδι" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "Χρωματισμός των αναλυμένων κινήσεων" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "Προβολή τιμών ανάλυσης" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Χωρίς _κίνηση" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Κίνηση" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_Γενικά" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Χρήση _αναλυτή" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "Μέγιστος χρόνος ανάλυσης σε δευτερόλεπτα:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_Υποδείξεις" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Απεγκατάσταση" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Ανοιχτόχρωμα τετράγωνα:" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Σκουρόχρωμα τετράγωνα:" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Θέματα" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Χρήση Ήχων στο PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Ένας παίκτης _κινείται:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Το παιχνίδι λήγει _ισόπαλο:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Το παιχνίδι λήγει _χαμένο:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Το παιχνίδι λήγει σε _νίκη:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "_Άκυρη κίνηση:" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Αναπαραγωγή Ήχου Όταν..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Ήχοι" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Αποθήκευση αρχείων στο:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "Ονόματα: #n1, #n2" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "Χρόνος, μήνας, ημέρα: #y, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Αποθήκευση" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Προαγωγή" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Βασίλισσα" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Πύργος" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Αξιωματικός" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Ίππος" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Βασιλιάς" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Προαγωγή του πιονιού σε τι;" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "Ίπποι" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Πληροφορίες παιχνιδιού" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Ιστοσελίδα:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Μαύρα:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Γύρος:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Λευκά:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Συμβάν:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "uci" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "xboard" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "Διαχείρηση μηχανών" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Εντολή:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Πρωτόκολο:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Παράμετροι:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "Οι μηχανες χρησιμοποιούν το uci ή το xboard για να επικοινωνούν με το γραφικό περιβάλλον.\nΑν αυτό μπορεί να χρησιμοιεί αμφότερα, εδώ μπορείτε να ρυθμίσετε εκείνο που επιθυμείτε." #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "Κατάλογος εργασίας:" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "Ο κατάλογος από τον οποίο θα εκκινεί η μηχανή." #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Λευκά" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Μαύρα" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Ημερομηνία" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Αποτέλεσμα" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Ανάλυση παρτίδας" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "Χρήση του αναλυτή:" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "Αν ο αναλυτής βρει μια κίνηση με την οποία η διαφορά ανάλυσης (η διαφορά μεταξύ της ανάλυσης για την κίνηση αυτή που αυτός πιστεύει ότι είναι η καλύτερη και της ανάλυσης για την κίνηση που έγινε στην παρτίδα) υπερβαίνει την τιμή αυτή, ο αναλυτής θα προσθέσει σχολιασμό για την κίνηση αυτή (θα περιλαμβάνει την αρχική βαριάντα της μηχανής για την κίνηση) στον πίνακα των Σχολιασμών." #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "Ανάλυση από την τρέχουσα θέση" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "Ανάλυση κινήσεων μαύρου" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "Ανάλυση κινήσεων λευκού" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "Το PyChess ανακαλύπτει τις μηχανές σας. Παρακαλώ περιμένετε." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Διαδικτυακή Σύνδεση" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Συνθηματικό:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Όνομα:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Συνδεθείτε ως _Επισκέπτης" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "θύ_ρες" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "Ε_γγραφείτε" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Πρόκληση: <Παίχτης>" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Αποστολή Πρόκλησης" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Πρόκληση:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Αστραπιαία:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Τυπική:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Μπλιτς:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "2 λεπτά, Τυχαίο Φίσερ, Μαύρα" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 λεπτά + 6 δευτ/κίνηση, Λευκά" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 λεπτά" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "_Καθαρισμός Αναζητήσεων" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Αποδοχή" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Άρνηση" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Αποστολή Αναζήτησης" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Δημιουργία Αναζήτησης" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Πρότυπο" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Υπολογιστή" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "_Αναζητήσεις / Προκλήσεις" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Βαθμολογία" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Χρόνος" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "Γράφημα αναζήτησης" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 έτοιμοι παίχτες" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Πρόκληση" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Παρατήρηση" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Έναρξη Ιδιωτικής Συνομιλίας" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "_Κατάλογος Παίκτη" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "_Κατάλογος Παιχνιδιού" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "Προσφορά Μ_αταίωσης" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "Π_ροεπισκόπηση" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Επεξεργασία Αναζήτησης" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Χωρίς χρόνο" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Λεπτά: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr " Κέρδος: " #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Έλεγχος χρόνου: " #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Έλεγχος χρόνου" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Αδιάφορο" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Η δυναμικότητά σας: " #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Μπλιτς)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Δυναμικότητα αντιπάλου: " #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Κέντρο:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Ανοχή:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Απόκρυψη" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Ισχυς Αντιπάλου" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Το Χρώμα σας" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Παίξτε με κανονικούς κανόνες σκακιού" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Παίξτε" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Σκακιστική Βαριάντα" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Βαθμολογημένο παιχνίδι" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Χειροκίνητη αποδοχή αντιπάλου" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Επιλογές" #: glade/findbar.glade:6 msgid "window1" msgstr "παράθυρο1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 από 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Αναζήτηση:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Προηγούμενο" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Επόμενο" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Νέο Παιχνίδι" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "Έ_ναρξη Παιχνιδιού" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "Καθάρισμα" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Παίκτες" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "_Χωρίς χρόνο" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "_Παίξτε Κανονικό σκάκι" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Παίξτε σκάκι τύπου Τυχαίο του Φίσερ" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "Παίξτε σκάκι τύπου Losers" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Ανοιχτό Παιχνίδι" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Αρχική Θέση" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Έξοδος PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Κλείσιμο _χωρίς αποθήκευση" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "_Αποθήκευση %d αρχείων" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "_Αντίπαλος:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_Το Χρώμα Σου" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "_Έναρξη Παρτίδας" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Συμβουλή της ηΗ" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://en.wikipedia.org/wiki/Chess" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://en.wikipedia.org/wiki/Rules_of_chess" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Καλώς ορίσατε" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "'Ανοιγμα Παιχνιδιού" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Παρτίδα Σκακιού" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Τοπικό Γεγονός" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "λεπτ" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "δευτ" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Πιόνι" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "Πι" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "Ι" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "Πυ" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "Β" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "Πα" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Το παιχνίδι έληξε σε ισοπαλία" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "Ο λόγος είναι άγνωστος" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Τυχαίο Ασυμμετρικό" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "Ολόλευκο" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Γωνία" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Τυχαίο Φίσερ" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Κανονικό" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Τυχαίο" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "Πάνω Κάτω" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Λογαριασμός Ομάδας" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "από" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "Ακύρωση" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Πρόταση Επανάληψης" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Παίξτε Επανάληψη" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Αναίρεση μιας κίνησης" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Αναίρεση δύο κινήσεων" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Άνθρωπος" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Λεπτά:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Κέρδος" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr " σκάκι" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Καθορισμός Θέσης" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Εισαγωγή στο Παιχνίδι" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Άνοιγμα Αρχείου Ήχου" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Χωρίς ήχο" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Ηχητικό σήμα" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Επιλογή αρχείου ήχου..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "και" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "Γύρος" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Ρολόι" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Τύπος" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Ημερομηνία/Ώρα" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Συζήτηση" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Ηλεκτρονικό Ταχυδρομείο" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Όνομα" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " λεπτ" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Αυτόματος εντοπισμός τύπου" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Αποθήκευση παιχνιδιού" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Αδύνατη η αποθήκευση του αρχείου '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Αντικατάσταση" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Το αρχείο υπάρχει ήδη" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "εναντίων" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "_Αποθήκευση %d αρχείου" msgstr[1] "_Αποθήκευση %d αρχείων" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Αρχεία Σκακιού" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "Προσθήκη σχολίου" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "Επεξεργασία σχολίου" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "Ανάλυση από %s" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "Ανάλυση απειλών από %s" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "Ματ σε %d" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Σχόλια" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Ιστορικό Κινήσεων" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Βαθμολογία" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/wa/0000755000175000017500000000000013467766037013611 5ustar varunvarunpychess-1.0.0/lang/wa/LC_MESSAGES/0000755000175000017500000000000013467766037015376 5ustar varunvarunpychess-1.0.0/lang/wa/LC_MESSAGES/pychess.mo0000644000175000017500000000106413467766036017411 0ustar varunvarun<\pq j%Log on as _Guest_Name:_Password:Project-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2016-01-28 08:56+0000 Last-Translator: slav0nic Language-Team: Walloon (http://www.transifex.com/gbtami/pychess/language/wa/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: wa Plural-Forms: nplurals=2; plural=(n > 1); Se connecter en tant qu'invité_Nom:_Mot de passe:pychess-1.0.0/lang/wa/LC_MESSAGES/pychess.po0000644000175000017500000024105013353143212017370 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2007 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-01-27 13:28+0100\n" "PO-Revision-Date: 2016-01-28 08:56+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Walloon (http://www.transifex.com/gbtami/pychess/language/wa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: wa\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:122 glade/PyChess.glade:2054 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Add threatening variation lines " msgstr "" #: glade/analyze_game.glade:229 glade/PyChess.glade:1459 msgid "Colorize analyzed moves" msgstr "" #: glade/analyze_game.glade:244 glade/PyChess.glade:1495 msgid "Show evaluation values" msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:7 msgid "PyChess - Connect to Internet Chess" msgstr "" #: glade/fics_logon.glade:47 msgid "Connect to the Free Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 glade/taskers.glade:394 msgid "_Password:" msgstr "_Mot de passe:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Nom:" #: glade/fics_logon.glade:191 msgid "Log on as _Guest" msgstr "Se connecter en tant qu'invité" #: glade/fics_logon.glade:227 msgid "Host:" msgstr "" #: glade/fics_logon.glade:259 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:271 msgid "Auto login on startup" msgstr "" #: glade/fics_logon.glade:385 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:2078 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:2102 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:2126 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:400 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:422 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:444 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:480 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:584 lib/pychess/ic/ICLounge.py:2208 #: lib/pychess/ic/__init__.py:101 lib/pychess/Utils/GameModel.py:206 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:637 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:665 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:703 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:716 lib/pychess/ic/FICSObjects.py:56 #: lib/pychess/ic/ICLounge.py:1137 lib/pychess/ic/ICLounge.py:2208 #: lib/pychess/ic/__init__.py:99 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:757 glade/newInOut.glade:633 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:814 glade/fics_lounge.glade:1346 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:879 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:921 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:951 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:1055 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when \n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:1095 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:1134 msgid "1200" msgstr "" #: glade/fics_lounge.glade:1188 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:1243 lib/pychess/ic/ICLounge.py:2452 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:1289 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:1386 lib/pychess/Database/gamelist.py:40 #: lib/pychess/ic/ICLounge.py:1357 lib/pychess/ic/ICLounge.py:1557 #: lib/pychess/ic/ICLounge.py:2108 lib/pychess/Utils/repr.py:10 #: lib/pychess/widgets/ChessClock.py:40 #: lib/pychess/widgets/TaskerManager.py:153 msgid "White" msgstr "" #: glade/fics_lounge.glade:1414 lib/pychess/Database/gamelist.py:40 #: lib/pychess/ic/ICLounge.py:1358 lib/pychess/ic/ICLounge.py:1558 #: lib/pychess/ic/ICLounge.py:2110 lib/pychess/Utils/repr.py:10 #: lib/pychess/widgets/ChessClock.py:40 #: lib/pychess/widgets/TaskerManager.py:154 msgid "Black" msgstr "" #: glade/fics_lounge.glade:1453 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:1512 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:1552 msgid "Play" msgstr "" #: glade/fics_lounge.glade:1618 glade/newInOut.glade:833 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:1676 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:1692 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:1722 msgid "Options" msgstr "" #: glade/fics_lounge.glade:1750 msgid "PyChess - Internet Chess: FICS" msgstr "" #: glade/fics_lounge.glade:1823 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:1847 msgid "_Accept" msgstr "" #: glade/fics_lounge.glade:1871 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:2151 msgid "2 min, Fischer Random, 1800↓, Black" msgstr "" #: glade/fics_lounge.glade:2172 msgid "10 min + 6 sec/move, 1400↑, White" msgstr "" #: glade/fics_lounge.glade:2193 msgid "5 min, 1200-1800, Manual" msgstr "" #: glade/fics_lounge.glade:2247 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:2301 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:2337 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:2353 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:2374 lib/pychess/ic/ICLounge.py:472 #: lib/pychess/ic/ICLounge.py:670 lib/pychess/ic/ICLounge.py:1357 #: lib/pychess/ic/ICLounge.py:1358 msgid "Rating" msgstr "" #: glade/fics_lounge.glade:2399 msgid "Time" msgstr "" #: glade/fics_lounge.glade:2419 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:2444 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:2496 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:2549 glade/fics_lounge.glade:2735 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:2602 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:2659 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:2792 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:2847 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:2904 glade/PyChess.glade:841 msgid "Offer _Resume" msgstr "" #: glade/fics_lounge.glade:2962 glade/PyChess.glade:880 msgid "R_esign" msgstr "" #: glade/fics_lounge.glade:3006 glade/PyChess.glade:820 msgid "Offer _Draw" msgstr "" #: glade/fics_lounge.glade:3050 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:3107 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:3151 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:3208 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:3313 msgid "News" msgstr "" #: glade/fics_lounge.glade:3345 msgid "Show Console" msgstr "" #: glade/fics_lounge.glade:3359 msgid "Show _Chat" msgstr "" #: glade/fics_lounge.glade:3373 msgid "_Log Off" msgstr "" #: glade/fics_lounge.glade:3393 msgid "Tools" msgstr "" #: glade/fics_lounge.glade:3428 msgid "Asymmetric Random " msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/widgets/newGameDialog.py:445 msgid "New Game" msgstr "" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:257 msgid "_Black player:" msgstr "" #: glade/newInOut.glade:274 msgid "_White player:" msgstr "" #: glade/newInOut.glade:385 msgid "Players" msgstr "" #: glade/newInOut.glade:436 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:475 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:526 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:575 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:684 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:724 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:774 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:919 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1162 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1219 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1314 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1327 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1339 msgid "Side to move" msgstr "" #: glade/newInOut.glade:1351 msgid "Move number" msgstr "" #: glade/newInOut.glade:1361 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1375 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1389 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1403 msgid "White O-O" msgstr "" #: glade/promotion.glade:7 msgid "Promotion" msgstr "" #: glade/promotion.glade:49 lib/pychess/Utils/repr.py:12 msgid "Queen" msgstr "" #: glade/promotion.glade:95 lib/pychess/Utils/repr.py:12 msgid "Rook" msgstr "" #: glade/promotion.glade:141 lib/pychess/Utils/repr.py:12 msgid "Bishop" msgstr "" #: glade/promotion.glade:187 lib/pychess/Utils/repr.py:12 msgid "Knight" msgstr "" #: glade/promotion.glade:233 lib/pychess/Utils/repr.py:12 msgid "King" msgstr "" #: glade/promotion.glade:265 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:9 msgid "Chess client" msgstr "" #: glade/PyChess.glade:44 msgid "Game information" msgstr "" #: glade/PyChess.glade:164 msgid "Event:" msgstr "" #: glade/PyChess.glade:178 msgid "Site:" msgstr "" #: glade/PyChess.glade:204 msgid "Round:" msgstr "" #: glade/PyChess.glade:237 msgid "White:" msgstr "" #: glade/PyChess.glade:249 msgid "Black:" msgstr "" #: glade/PyChess.glade:302 msgid "Game data" msgstr "" #: glade/PyChess.glade:357 msgid "Date of game" msgstr "" #: glade/PyChess.glade:495 msgid "_Game" msgstr "" #: glade/PyChess.glade:502 msgid "_New Game" msgstr "" #: glade/PyChess.glade:515 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:534 msgid "_Load Game" msgstr "" #: glade/PyChess.glade:550 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:558 msgid "Open _Database" msgstr "" #: glade/PyChess.glade:569 lib/pychess/widgets/newGameDialog.py:615 msgid "Setup Position" msgstr "" #: glade/PyChess.glade:579 msgid "Enter Game _Notation" msgstr "" #: glade/PyChess.glade:592 msgid "_Save Game" msgstr "" #: glade/PyChess.glade:606 msgid "Save Game _As" msgstr "" #: glade/PyChess.glade:624 msgid "Share Game" msgstr "" #: glade/PyChess.glade:630 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:644 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:678 msgid "Player _Rating" msgstr "" #: glade/PyChess.glade:723 msgid "_Edit" msgstr "" #: glade/PyChess.glade:734 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:746 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:763 msgid "_Engines" msgstr "" #: glade/PyChess.glade:789 msgid "_Actions" msgstr "" #: glade/PyChess.glade:800 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:810 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:831 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:847 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:870 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:890 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:905 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:918 msgid "_View" msgstr "" #: glade/PyChess.glade:925 msgid "_Rotate Board" msgstr "" #: glade/PyChess.glade:939 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:952 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:969 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:980 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:997 msgid "_Hint mode" msgstr "" #: glade/PyChess.glade:1009 msgid "Sp_y mode" msgstr "" #: glade/PyChess.glade:1024 msgid "_Help" msgstr "" #: glade/PyChess.glade:1034 msgid "About Chess" msgstr "" #: glade/PyChess.glade:1043 msgid "How to Play" msgstr "" #: glade/PyChess.glade:1052 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:1058 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1153 msgid "Default" msgstr "" #: glade/PyChess.glade:1156 msgid "Knights" msgstr "" #: glade/PyChess.glade:1167 lib/pychess/widgets/preferencesDialog.py:349 msgid "Beep" msgstr "" #: glade/PyChess.glade:1170 lib/pychess/widgets/preferencesDialog.py:350 msgid "Select sound file..." msgstr "" #: glade/PyChess.glade:1173 lib/pychess/widgets/preferencesDialog.py:348 msgid "No sound" msgstr "" #: glade/PyChess.glade:1180 msgid "Preferences" msgstr "" #: glade/PyChess.glade:1218 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1230 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1259 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1271 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1307 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1312 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1326 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1331 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1345 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1350 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1364 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1369 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1383 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1388 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1402 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:1407 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:1421 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1426 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1440 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1445 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1464 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1477 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1482 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1500 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1526 msgid "General Options" msgstr "" #: glade/PyChess.glade:1560 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1565 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1579 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1584 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1599 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1604 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1632 msgid "Animation" msgstr "" #: glade/PyChess.glade:1651 msgid "_General" msgstr "" #: glade/PyChess.glade:1692 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1697 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1724 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1768 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1773 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1803 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1843 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1848 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1870 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1904 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1946 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1978 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:2020 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:2096 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2118 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2263 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2317 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2367 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2382 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2440 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2479 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2515 msgid "Reset Default Colours" msgstr "" #: glade/PyChess.glade:2551 msgid "Board Colours" msgstr "" #: glade/PyChess.glade:2610 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2634 msgid "Themes" msgstr "" #: glade/PyChess.glade:2659 msgid "_Use sounds in PyChess" msgstr "" #: glade/PyChess.glade:2982 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:2997 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3010 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3025 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3040 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3055 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3084 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3136 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3151 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3265 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3317 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3369 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3416 msgid "Play Sound When..." msgstr "" #: glade/PyChess.glade:3438 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3463 msgid "_Auto save finished games" msgstr "" #: glade/PyChess.glade:3497 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3525 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3569 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3582 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3619 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3644 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3669 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:3698 msgid "Save" msgstr "" #: glade/PyChess.glade:3728 msgid "uci" msgstr "" #: glade/PyChess.glade:3731 msgid "xboard" msgstr "" #: glade/PyChess.glade:3739 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:3837 msgid "Command:" msgstr "" #: glade/PyChess.glade:3851 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:3865 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:3878 msgid "Command line parameters needed by the engine." msgstr "" #: glade/PyChess.glade:3903 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:3929 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:3942 msgid "The directory where the engine will be started from." msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 lib/pychess/widgets/ionest.py:424 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:126 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:154 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:219 msgid "_Start Game" msgstr "" #: glade/taskers.glade:338 msgid "Log on as G_uest" msgstr "" #: glade/taskers.glade:410 msgid "Ha_ndle:" msgstr "" #: glade/taskers.glade:469 msgid "_Connect to server" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:302 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:305 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:370 lib/pychess/widgets/gamenanny.py:80 msgid "Welcome" msgstr "" #: lib/pychess/Database/gamelist.py:40 msgid "Id" msgstr "" #: lib/pychess/Database/gamelist.py:40 msgid "W Elo" msgstr "" #: lib/pychess/Database/gamelist.py:40 msgid "B Elo" msgstr "" #: lib/pychess/Database/gamelist.py:41 msgid "Result" msgstr "" #: lib/pychess/Database/gamelist.py:41 msgid "Event" msgstr "" #: lib/pychess/Database/gamelist.py:41 msgid "Site" msgstr "" #: lib/pychess/Database/gamelist.py:41 msgid "Round" msgstr "" #: lib/pychess/Database/gamelist.py:41 msgid "Date" msgstr "" #: lib/pychess/Database/gamelist.py:41 msgid "ECO" msgstr "" #: lib/pychess/Database/gamelist.py:62 msgid "PyChess Game Database" msgstr "" #: lib/pychess/Database/PgnImport.py:188 #, python-format msgid "The game #%s can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/ic/FICSConnection.py:139 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:140 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:141 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:145 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:146 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:147 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:166 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:181 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:239 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:35 lib/pychess/ic/FICSObjects.py:47 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:46 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:54 lib/pychess/ic/ICLounge.py:1136 #: lib/pychess/ic/ICLounge.py:2209 lib/pychess/ic/__init__.py:98 #: lib/pychess/widgets/newGameDialog.py:153 msgid "Blitz" msgstr "" #: lib/pychess/ic/FICSObjects.py:58 lib/pychess/ic/ICLounge.py:1137 #: lib/pychess/ic/ICLounge.py:2209 lib/pychess/ic/__init__.py:100 msgid "Lightning" msgstr "" #: lib/pychess/ic/FICSObjects.py:60 lib/pychess/Variants/atomic.py:15 msgid "Atomic" msgstr "" #: lib/pychess/ic/FICSObjects.py:62 lib/pychess/Variants/bughouse.py:9 msgid "Bughouse" msgstr "" #: lib/pychess/ic/FICSObjects.py:64 lib/pychess/Variants/crazyhouse.py:9 msgid "Crazyhouse" msgstr "" #: lib/pychess/ic/FICSObjects.py:66 lib/pychess/Variants/losers.py:9 msgid "Losers" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/Variants/suicide.py:12 msgid "Suicide" msgstr "" #: lib/pychess/ic/FICSObjects.py:70 lib/pychess/ic/__init__.py:129 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:117 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:118 lib/pychess/ic/FICSObjects.py:143 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:141 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:145 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:147 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:149 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:308 lib/pychess/ic/FICSObjects.py:492 #: lib/pychess/ic/ICLounge.py:2278 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:491 lib/pychess/ic/ICLounge.py:670 #: lib/pychess/ic/ICLounge.py:1358 lib/pychess/ic/ICLounge.py:1558 #: lib/pychess/ic/ICLounge.py:2113 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:498 lib/pychess/ic/ICLounge.py:2098 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:500 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:517 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:519 lib/pychess/ic/ICLounge.py:909 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:519 lib/pychess/ic/ICLounge.py:909 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:565 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:654 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:656 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:810 msgid "Private" msgstr "" #: lib/pychess/ic/FICSObjects.py:930 lib/pychess/ic/ICLounge.py:527 #: lib/pychess/Savers/epd.py:139 msgid "Unknown" msgstr "" #: lib/pychess/ic/ICLogon.py:159 lib/pychess/ic/ICLogon.py:165 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:161 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:163 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:169 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:172 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:173 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLounge.py:222 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/ic/ICLounge.py:241 msgid "" "You may only have 3 outstanding seeks at the same time. If you want to add a" " new seek you must clear your currently active seeks. Clear your seeks?" msgstr "" #: lib/pychess/ic/ICLounge.py:258 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/ic/ICLounge.py:270 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/ic/ICLounge.py:283 msgid " is censoring you" msgstr "" #: lib/pychess/ic/ICLounge.py:296 msgid " noplay listing you" msgstr "" #: lib/pychess/ic/ICLounge.py:311 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/ic/ICLounge.py:325 msgid "to manual accept" msgstr "" #: lib/pychess/ic/ICLounge.py:327 msgid "to automatic accept" msgstr "" #: lib/pychess/ic/ICLounge.py:329 msgid "rating range now" msgstr "" #: lib/pychess/ic/ICLounge.py:330 msgid "Seek updated" msgstr "" #: lib/pychess/ic/ICLounge.py:342 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/ic/ICLounge.py:363 msgid " has arrived" msgstr "" #: lib/pychess/ic/ICLounge.py:370 msgid " has departed" msgstr "" #: lib/pychess/ic/ICLounge.py:374 msgid " is present" msgstr "" #: lib/pychess/ic/ICLounge.py:391 sidepanel/chatPanel.py:17 msgid "Chat" msgstr "" #: lib/pychess/ic/ICLounge.py:472 sidepanel/bookPanel.py:366 msgid "Win" msgstr "" #: lib/pychess/ic/ICLounge.py:472 sidepanel/bookPanel.py:360 msgid "Draw" msgstr "" #: lib/pychess/ic/ICLounge.py:472 sidepanel/bookPanel.py:363 msgid "Loss" msgstr "" #: lib/pychess/ic/ICLounge.py:482 msgid "" "On FICS, your \"Wild\" rating encompasses all of the following variants at " "all time controls:\n" msgstr "" #: lib/pychess/ic/ICLounge.py:494 msgid "Sanctions" msgstr "" #: lib/pychess/ic/ICLounge.py:499 msgid "Email" msgstr "" #: lib/pychess/ic/ICLounge.py:504 msgid "Spent" msgstr "" #: lib/pychess/ic/ICLounge.py:506 msgid "online in total" msgstr "" #: lib/pychess/ic/ICLounge.py:512 msgid "Ping" msgstr "" #: lib/pychess/ic/ICLounge.py:517 msgid "Connecting" msgstr "" #: lib/pychess/ic/ICLounge.py:544 msgid "" "You are currently logged in as a guest.\n" "A guest can't play rated games and therefore isn't able to play as many of the types of matches offered as a registered user. To register an account, go to http://www.freechess.org/Register/index.html." msgstr "" #: lib/pychess/ic/ICLounge.py:669 lib/pychess/ic/ICLounge.py:1136 msgid "Name" msgstr "" #: lib/pychess/ic/ICLounge.py:670 lib/pychess/ic/ICLounge.py:1358 #: lib/pychess/ic/ICLounge.py:1558 msgid "Type" msgstr "" #: lib/pychess/ic/ICLounge.py:670 lib/pychess/ic/ICLounge.py:1558 msgid "Clock" msgstr "" #: lib/pychess/ic/ICLounge.py:726 lib/pychess/ic/ICLounge.py:923 #: lib/pychess/Players/Human.py:250 msgid "Accept" msgstr "" #: lib/pychess/ic/ICLounge.py:728 msgid "Assess" msgstr "" #: lib/pychess/ic/ICLounge.py:734 msgid "Archived" msgstr "" #: lib/pychess/ic/ICLounge.py:848 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/ic/ICLounge.py:897 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/ic/ICLounge.py:902 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/ic/ICLounge.py:907 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/ic/ICLounge.py:924 lib/pychess/Players/Human.py:251 msgid "Decline" msgstr "" #: lib/pychess/ic/ICLounge.py:1065 msgid " min" msgstr "" #: lib/pychess/ic/ICLounge.py:1137 msgid "Status" msgstr "" #: lib/pychess/ic/ICLounge.py:1203 lib/pychess/ic/ICLounge.py:1233 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/ic/ICLounge.py:1469 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/ic/ICLounge.py:1559 msgid "Date/Time" msgstr "" #: lib/pychess/ic/ICLounge.py:1614 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/ic/ICLounge.py:1635 msgid "Request Continuation" msgstr "" #: lib/pychess/ic/ICLounge.py:1637 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/ic/ICLounge.py:1965 msgid "" "The chain button is disabled because you are logged in as a guest. Guests " "can't establish ratings, and the chain button's state has no effect when " "there is no rating to which to tie \"Opponent Strength\" to" msgstr "" #: lib/pychess/ic/ICLounge.py:2006 msgid "Challenge: " msgstr "" #: lib/pychess/ic/ICLounge.py:2044 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/ic/ICLounge.py:2048 lib/pychess/ic/ICLounge.py:2051 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/ic/ICLounge.py:2064 msgid "Edit Seek: " msgstr "" #: lib/pychess/ic/ICLounge.py:2095 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/ic/ICLounge.py:2116 msgid "Manual" msgstr "" #: lib/pychess/ic/ICLounge.py:2256 msgid "Any strength" msgstr "" #: lib/pychess/ic/ICLounge.py:2308 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/ic/ICLounge.py:2312 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/ic/ICLounge.py:2313 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/ic/ICLounge.py:2317 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/ic/ICLounge.py:2318 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/ic/ICLounge.py:2332 lib/pychess/Variants/shuffle.py:16 #: lib/pychess/widgets/newGameDialog.py:266 msgid "Shuffle" msgstr "" #: lib/pychess/ic/ICLounge.py:2333 lib/pychess/widgets/newGameDialog.py:267 msgid "Other (standard rules)" msgstr "" #: lib/pychess/ic/ICLounge.py:2334 lib/pychess/widgets/newGameDialog.py:268 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/ic/ICLounge.py:2421 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/ic/ICLounge.py:2422 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/ic/ICLounge.py:2454 msgid "Change Tolerance" msgstr "" #: lib/pychess/ic/__init__.py:102 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:103 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:182 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:182 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:182 msgid "Computer" msgstr "" #: lib/pychess/ic/__init__.py:183 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:183 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:183 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:184 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:184 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:184 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:185 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:185 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:185 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:186 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:186 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:186 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:187 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:191 msgid "*" msgstr "" #: lib/pychess/ic/__init__.py:191 lib/pychess/Utils/repr.py:14 msgid "B" msgstr "" #: lib/pychess/ic/__init__.py:191 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:192 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:192 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:192 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:193 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:193 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:193 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:194 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:194 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:194 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:195 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:195 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:195 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:195 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:195 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:195 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:195 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:195 msgid "NM" msgstr "" #: lib/pychess/Players/CECPEngine.py:857 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:20 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:21 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:24 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:27 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:29 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:30 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:32 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:33 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:36 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:40 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:41 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:52 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:53 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:66 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:72 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:180 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:181 msgid "" "Generally this means nothing, as the game is time-based, but if you want to " "please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:259 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:260 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:267 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:275 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:276 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:290 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:291 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:298 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:12 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:39 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:41 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/database.py:19 msgid "PyChess database" msgstr "" #: lib/pychess/Savers/epd.py:12 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:44 lib/pychess/Savers/pgn.py:329 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/pgnbase.py:100 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgnbase.py:102 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgnbase.py:110 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:28 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:362 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/png.py:15 msgid "Png image" msgstr "" #: lib/pychess/System/ping.py:31 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:74 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:147 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:148 msgid "Local Site" msgstr "" #: lib/pychess/Utils/repr.py:12 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:14 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:14 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:14 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:14 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:14 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:17 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:18 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:19 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:20 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:21 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:22 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:26 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:28 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:29 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:30 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:31 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:32 lib/pychess/Utils/repr.py:42 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:34 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:35 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:38 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:39 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:40 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:41 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:43 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:44 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:45 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:46 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:49 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:51 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:52 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:53 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:55 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:56 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:58 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:59 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:60 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:61 msgid "" "Because a player aborted the game. Either player can abort the game without " "the other's consent before the second move. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:62 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:63 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:67 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:68 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/TimeModel.py:229 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:231 msgid "sec" msgstr "" #: lib/pychess/Variants/asean.py:12 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:13 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:33 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:34 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:60 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:61 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:86 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:87 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:111 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:112 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:14 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/blindfold.py:7 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:9 #: lib/pychess/widgets/newGameDialog.py:264 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:18 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:20 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:29 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:31 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:40 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:42 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:8 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:8 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/euroshogi.py:9 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:10 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:18 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:20 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/kingofthehill.py:8 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:10 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:8 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:9 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:8 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/normal.py:4 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:6 lib/pychess/widgets/newGameDialog.py:157 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:8 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:9 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:11 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:13 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:10 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:12 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/queenodds.py:8 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:9 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/randomchess.py:11 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:17 #: lib/pychess/widgets/TaskerManager.py:155 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:8 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:9 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:11 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/suicide.py:11 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/theban.py:10 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:10 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:10 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:13 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:10 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:17 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:20 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:85 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:86 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:95 #: lib/pychess/widgets/gamewidget.py:202 lib/pychess/widgets/gamewidget.py:320 msgid "Abort" msgstr "" #: lib/pychess/widgets/ChatView.py:125 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatWindow.py:222 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ChatWindow.py:254 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/ChatWindow.py:312 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/ChatWindow.py:350 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/ChatWindow.py:400 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/ChatWindow.py:518 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChatWindow.py:529 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChatWindow.py:540 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChatWindow.py:548 msgid "More players" msgstr "" #: lib/pychess/widgets/ChatWindow.py:558 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChatWindow.py:568 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChatWindow.py:578 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatWindow.py:805 msgid "Conversations" msgstr "" #: lib/pychess/widgets/ChatWindow.py:807 msgid "Conversation info" msgstr "" #: lib/pychess/widgets/enginesDialog.py:152 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:156 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:176 #: lib/pychess/widgets/enginesDialog.py:210 #: lib/pychess/widgets/enginesDialog.py:235 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:177 msgid "wine not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:211 #: lib/pychess/widgets/enginesDialog.py:236 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:266 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/gamenanny.py:115 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:134 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:136 lib/pychess/widgets/gamenanny.py:147 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:168 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:171 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:203 msgid "The game is paused" msgstr "" #: lib/pychess/widgets/gamenanny.py:221 lib/pychess/widgets/gamenanny.py:222 msgid "Loaded game" msgstr "" #: lib/pychess/widgets/gamenanny.py:228 msgid "Saved game" msgstr "" #: lib/pychess/widgets/gamenanny.py:232 msgid "Analyzer started" msgstr "" #: lib/pychess/widgets/gamenanny.py:281 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:283 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:285 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:287 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:293 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:305 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:306 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" "You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:204 msgid "" "This game can be automatically aborted without rating loss because there has" " not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:206 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:208 msgid "" "Your opponent must agree to abort the game because there has been two or " "more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:226 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:243 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:325 msgid "Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:326 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:328 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:329 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:333 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:335 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:550 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:566 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:567 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:575 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:576 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:648 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:653 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:658 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:664 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:669 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:903 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/widgets/gamewidget.py:904 msgid "" "Your panel settings have been reset. If this problem repeats, you should " "report it to the developers" msgstr "" #: lib/pychess/widgets/ionest.py:67 lib/pychess/widgets/newGameDialog.py:389 #: lib/pychess/widgets/TaskerManager.py:210 msgid "You" msgstr "" #: lib/pychess/widgets/ionest.py:70 lib/pychess/widgets/newGameDialog.py:390 #: lib/pychess/widgets/preferencesDialog.py:61 #: lib/pychess/widgets/TaskerManager.py:213 msgid "Guest" msgstr "" #: lib/pychess/widgets/ionest.py:93 msgid "Error loading game" msgstr "" #: lib/pychess/widgets/ionest.py:127 lib/pychess/widgets/newGameDialog.py:480 msgid "Open Game" msgstr "" #: lib/pychess/widgets/ionest.py:137 msgid "All Files" msgstr "" #: lib/pychess/widgets/ionest.py:140 msgid "Detect type automatically" msgstr "" #: lib/pychess/widgets/ionest.py:146 msgid "All Chess Files" msgstr "" #: lib/pychess/widgets/ionest.py:228 msgid "Save Game" msgstr "" #: lib/pychess/widgets/ionest.py:228 msgid "Export position" msgstr "" #: lib/pychess/widgets/ionest.py:232 lib/pychess/widgets/ionest.py:360 msgid "vs." msgstr "" #: lib/pychess/widgets/ionest.py:249 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/widgets/ionest.py:250 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/widgets/ionest.py:266 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/widgets/ionest.py:268 msgid "" "You don't have the necessary rights to save the file.\n" "Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/widgets/ionest.py:276 msgid "_Replace" msgstr "" #: lib/pychess/widgets/ionest.py:280 msgid "File exists" msgstr "" #: lib/pychess/widgets/ionest.py:282 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/widgets/ionest.py:283 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/widgets/ionest.py:299 msgid "Could not save the file" msgstr "" #: lib/pychess/widgets/ionest.py:300 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/widgets/ionest.py:301 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/widgets/ionest.py:325 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/widgets/ionest.py:328 msgid "Save moves before closing?" msgstr "" #: lib/pychess/widgets/ionest.py:339 msgid "Unable to save to configured file. Save the games before closing?" msgstr "" #: lib/pychess/widgets/ionest.py:366 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/widgets/ionest.py:412 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/widgets/ionest.py:420 msgid "" "Unable to save to configured file. Save the current game before you close " "it?" msgstr "" #: lib/pychess/widgets/ionest.py:434 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/widgets/LogDialog.py:26 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:184 lib/pychess/widgets/LogDialog.py:188 msgid "of" msgstr "" #: lib/pychess/widgets/newGameDialog.py:84 #: lib/pychess/widgets/newGameDialog.py:85 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:155 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:224 msgid "Minutes:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:228 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:241 #, python-format msgid "%(name)s %(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/widgets/newGameDialog.py:244 #, python-format msgid "%(name)s %(minutes)d min %(gain)d sec/move" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 #, python-format msgid "%(name)s %(minutes)d min" msgstr "" #: lib/pychess/widgets/newGameDialog.py:265 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:269 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:301 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:682 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:725 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:123 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:128 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:156 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:331 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:341 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:485 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:678 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:51 msgid "" "You can start a new game by Game > New Game, in New Game " "window do you can choose Players, Time Control and Chess " "Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:52 msgid "" "You can choose from 20 different difficulties to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "Chess Variants are like the pieces of the last line will be placed on the " "board." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Do you know that you can call flag when the clock is with you, " "Actions > Call Flag." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "Pressing Ctrl+Z to offer opponent the possible rollback moves." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "To play on Fullscreen mode, just type F11. Coming back, F11 " "again." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "Hint mode analyzing your game, enable this type Ctrl+H." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "Spy mode analyzing the oponnent game, enable this type Ctrl+Y." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "You can play chess listening to the sounds of the game, for that, " "Settings > Preferences > Sound tab, enable Use " "sounds in PyChess and choose your preferred sounds." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "Do you know that you can help translate Pychess in your language, " "Help > Translate Pychess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:184 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:185 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:195 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:152 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:154 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:175 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:178 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:189 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:192 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:260 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:272 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:306 lib/pychess/Utils/lutils/lmove.py:556 msgid "promotion move without promoted piece is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:312 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:323 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:24 sidepanel/commentPanel.py:191 #: sidepanel/commentPanel.py:208 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:43 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:45 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:49 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:73 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:75 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:108 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:109 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:119 #: lib/pychess/Utils/lutils/strateval.py:121 #: lib/pychess/Utils/lutils/strateval.py:124 #: lib/pychess/Utils/lutils/strateval.py:126 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:132 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:135 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:158 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:162 #: lib/pychess/Utils/lutils/strateval.py:170 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:164 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:166 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:291 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:294 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:296 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:298 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:336 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:369 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:377 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:416 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:470 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:472 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:474 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:477 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:478 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:485 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:492 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:507 #: lib/pychess/Utils/lutils/strateval.py:514 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:508 #: lib/pychess/Utils/lutils/strateval.py:515 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:510 #: lib/pychess/Utils/lutils/strateval.py:517 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:551 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:573 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:574 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:591 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:594 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:612 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:638 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:640 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:643 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:645 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:671 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:673 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:675 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:677 msgid "White has a slightly cramped position" msgstr "" #: sidepanel/annotationPanel.py:26 msgid "Annotation" msgstr "" #: sidepanel/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: sidepanel/annotationPanel.py:236 msgid "Copy PGN" msgstr "" #: sidepanel/annotationPanel.py:249 msgid "Add start comment" msgstr "" #: sidepanel/annotationPanel.py:254 msgid "Add comment" msgstr "" #: sidepanel/annotationPanel.py:258 sidepanel/annotationPanel.py:316 msgid "Edit comment" msgstr "" #: sidepanel/annotationPanel.py:269 msgid "Forced move" msgstr "" #: sidepanel/annotationPanel.py:274 msgid "Add move symbol" msgstr "" #: sidepanel/annotationPanel.py:280 msgid "Unclear position" msgstr "" #: sidepanel/annotationPanel.py:289 msgid "Zugzwang" msgstr "" #: sidepanel/annotationPanel.py:290 msgid "Development adv." msgstr "" #: sidepanel/annotationPanel.py:291 msgid "Initiative" msgstr "" #: sidepanel/annotationPanel.py:292 msgid "With attack" msgstr "" #: sidepanel/annotationPanel.py:293 msgid "Compensation" msgstr "" #: sidepanel/annotationPanel.py:294 msgid "Counterplay" msgstr "" #: sidepanel/annotationPanel.py:295 msgid "Time pressure" msgstr "" #: sidepanel/annotationPanel.py:300 msgid "Add evaluation symbol" msgstr "" #: sidepanel/annotationPanel.py:304 msgid "Remove symbols" msgstr "" #: sidepanel/annotationPanel.py:911 #, python-format msgid "round %s" msgstr "" #: sidepanel/bookPanel.py:21 msgid "Hints" msgstr "" #: sidepanel/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: sidepanel/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: sidepanel/bookPanel.py:87 msgid "Opening Book" msgstr "" #: sidepanel/bookPanel.py:88 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: sidepanel/bookPanel.py:139 #, python-format msgid "Analysis by %s" msgstr "" #: sidepanel/bookPanel.py:140 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: sidepanel/bookPanel.py:142 #, python-format msgid "Threat analysis by %s" msgstr "" #: sidepanel/bookPanel.py:143 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: sidepanel/bookPanel.py:159 sidepanel/bookPanel.py:269 msgid "Calculating..." msgstr "" #: sidepanel/bookPanel.py:300 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: sidepanel/bookPanel.py:302 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: sidepanel/bookPanel.py:311 msgid "Endgame Table" msgstr "" #: sidepanel/bookPanel.py:315 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: sidepanel/bookPanel.py:364 sidepanel/bookPanel.py:367 #, python-format msgid "Mate in %d" msgstr "" #: sidepanel/bookPanel.py:554 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: sidepanel/chatPanel.py:21 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: sidepanel/commentPanel.py:16 msgid "Comments" msgstr "" #: sidepanel/commentPanel.py:20 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: sidepanel/commentPanel.py:121 msgid "Initial position" msgstr "" #: sidepanel/commentPanel.py:254 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: sidepanel/engineOutputPanel.py:15 msgid "Engines" msgstr "" #: sidepanel/engineOutputPanel.py:20 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: sidepanel/engineOutputPanel.py:44 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: sidepanel/historyPanel.py:10 msgid "Move History" msgstr "" #: sidepanel/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: sidepanel/scorePanel.py:15 msgid "Score" msgstr "" #: sidepanel/scorePanel.py:19 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" pychess-1.0.0/lang/en_GB/0000755000175000017500000000000013467766037014154 5ustar varunvarunpychess-1.0.0/lang/en_GB/LC_MESSAGES/0000755000175000017500000000000013467766037015741 5ustar varunvarunpychess-1.0.0/lang/en_GB/LC_MESSAGES/pychess.mo0000644000175000017500000021520213467766035017754 0ustar varunvarunUl5hG iG tGG~GG G$G G H(HAH+SH HHH/H0H[INaII%I`I(NJ+wJ'J#J0J K9KTKkKrK#K$K'KK L!0LQRLJL>L.MLM!TMvMxMzM|MMMMMMMMM'M@NON`NqNNNNNN#N$"O#GOkO|OOOOOOOP!P;PQNP&P$PCP70QUhQ"Q*Q( R5RKR]RnRReRR RSS&S.6SeS vSSSS SSS /T=TET KTYTm`TT TTT U )U6UCJUU U U UUU UUUUVV**VUV kV wVVVV/VSVQ$WvWW!WW WX/0XS`XQX#Y**Y"UY+xYYrCZ ZKZ%#[OI[-[3[$[6 \#W\E{\A\!]!%]-G]&u]-];] ^B'^j^o^t^{^ ^ ^$^#^%^"_#)_M_ T_ ^_h_z____.`7`9`<`?` N`8X`.`` ` ```a aa ,a7a Fa Ra _a6jaVaVaRObSbbbcc,0c1]ccc cc c cccc:dCdLdSd kd wd ddddd ddddddGe`Kee eeepe LfZf ^f hf tf*fff"ff ffg}g h&$h Kh1Uhhhhhh hhh hhh0i@CiDiHiFjHYjj=klwm} n nnnn nnnno oo"o%o+oIoZojoyo oooooo]p vpp$ppppp p pppp p qqqq1qGNqAqqor>%sXdsRsBtcSt]t?uBUu;uquSFvOvFw 1x&?xfx$wx x)xxx xy yD%yjyyyyyy yyyy y yzz +z 7z BzOz`zuz|zzz+z zzz zz {!{2{ ;{ F{ T{ a{ n{z{|{{{.{/{{{ | |C!|e|||| || || || | |} } '} 5} B} M} Z} f} s} }}}t},"~*O~+z~*~~~~. 5? O \jz     3 ERg  Ȁр ' ) 3#=a| (46 < GTV^ek  ǂ܂   ,A4Y  (փ)8*S~ ҄ ")BQ `j Å$Ʌ3H\ d q}/׆  ':ATjrtw zph"pC5׉4 9B3|Rc2NT` 9ÌZXqI} `ŏՏZAT[Kb-~ܐE[,AΑAR hty  it,̓Γy\m  ɔ єޔ - DRcuQ}6ϕ Mks] c m$y#%—"# /6 ;FY]y ~ʘݘ9?T9(Ι/y'C$3 &>e2Jb t˜@%l͟!:n\/ˠ&("&K'r'¡ߡ &! H S ` jt}  â%ɢ    (2 9CI Z ep  $֣  !-+6by !)8ܤ/15'g ¥ͥ  #5-"ce+-D\y! ٨  $5DUe{6(© +8?H\`~#!ժ+<@DJRYED- Gű $! FTo+ ƲҲײ/0N%`4(+'#06g#ѵ$'B V!wQJ>6u!÷ӷڷ޷ ''-@Uʸ߸)#E$i#ù۹,@ViQ&$C47xU"*)(T}ʼeм6 <HP&W/~ ˽ S$ x m '1@T rC׿  -4F\c*s /SQm! ;\/ySQ#O*s"+r K %lO-3$D6i#EA !L!n-&-; OBp $#%)"O#r w 8.  ';L Q_ u 6VVARS?EKa,z1   +<:R   .HGM` p%  *"# 3A} c&n 1 ! 1;>0\@DHF\H>(w}l  *6=DS Zfnqw   $  &49? E Q]`c2hGB&>sXR D^c]?eB;q$SOF:&$ )%7 HS hDv 1 A KVh | + ( /= V!a ./EN V dCr  ! 1; @ MY l x t,s*+*")=.W    '17 < F S`ej   " >J'R z # y   - 4?FM R\bi}4  ('Paz*  # 4B"Wz  $?Um /( H T_e nx pkhX"C5(4^93RccT 9ZNI}[`Vp&Z7K-~-E,AAa   ,y3   "/ 7 CQh~ Q6 W]aeiMn  $#%"9#\  .K9k?9)/IyyC$73\&Wm tXq % l ! n / &M (t & ' '  1 A J R  [  i &s               %  A M T  c  n  z            $( ;FZk s+ !)8/h1'   ?SY l v6"e+@l!  - NZ ] jx6(?Wn # !)KkE<VvZT*WLL2bp" 9-.0/FU)Ly54#|>V+#qC YW0N?=I`\@> A~-IlF'?t:cCK!B$PA#)mY 6i+|(zu c1 w/t`f@HD,aMH$G){C.Hd6e,cTig5.B&|: :A\QR*.J2A~o2zY((/"m 7Qp S)(*O87 jrX[BOK>bv32O }uI ?4'fu Eb%<  99$"'S,qXoyM{0f5  @ !0?U_vKU;4>J{6q3LG=~Z5QC aS}M;xMU3NN4DE\kDo6s Exe^]G<D,HtFX9'#s8<`&!&dZ^n;WnklGerwd-<1[Q@8 N*PK$SP;y][1nP R7pBg_+!jT1zx3Eh&  R+a%sJr%7jR}%h=^]/mhIF"Tkw:i-J8lVg_=O Gain: + %d sec challenges you to a %(time)s %(rated)s %(gametype)s game chess has arrived has declined your offer for a match has departed has lagged for 30 seconds invalid engine move: %s is censoring you is lagging heavily but hasn't disconnected is present min noplay listing you uses a formula not fitting your match request: where %(player)s plays %(color)s. with whom you have an adjourned %(timecontrol)s %(gametype)s game is online. would like to resume your adjourned %(time)s %(gametype)s game.%(black)s won the game%(color)s got a double pawn %(place)s%(color)s got an isolated pawn in the %(x)s file%(color)s got isolated pawns in the %(x)s files%(color)s got new double pawns %(place)s%(color)s has a new passed pawn on %(cord)s%(color)s moves a %(piece)s to %(cord)s%(minutes)d min + %(gain)d sec/move%(opcolor)s has a new trapped bishop on %(cord)s%(player)s is %(status)s%(player)s plays %(color)s%(white)s won the game%d min%s can no longer castle%s can no longer castle in kingside%s can no longer castle in queenside%s moves pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent%s will identify what threats would exist if it were your opponent's turn to move%s will try to predict which move is best and which side has the advantage'%s' is a registered name. If it is yours, type the password.'%s' is not a registered name(Blitz)(Link is available on clipboard.)*-00 Players Ready0 of 00-11-01/2-1/210 min + 6 sec/move, White12002 min, Fischer Random, Black5 minPromote pawn to what?PyChess was unable to load your panel settingsAnalyzingAnimationChess SetsChess VariantEnter Game NotationGeneral OptionsInitial PositionInstalled SidepanelsName of _first human player:Name of s_econd human player:New version %s is available!Open GameOpening, endgameOpponent StrengthOptionsPlay Sound When...PlayersTime ControlWelcome screenYour Color_Connect to server_Start GameA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedError loading gamePyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to add %sUnable to save file '%s'Unknown file type '%s'Challenge:A player _checks:A player _moves:A player c_aptures:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortAbout ChessAc_tiveAcceptActivate alarm when _remaining sec is:Active color field must be one of w or b. %sActive seeks: %dAdd commentAdd evaluation symbolAdd move symbolAdd start commentAdd threatening variation lines Adding suggestions can help you find ideas, but slows down the computer's analysis.Address ErrorAdjournAdminAdministratorAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364All Chess FilesAll whiteAnalysis by %sAnalyze black movesAnalyze from current positionAnalyze gameAnalyze white movesAnimate pieces, board rotation and more. Use this on fast machines.Annotated gameAnnotationAnnotatorAny strengthArchivedAsian variantsAsk to _MoveAssessAsymmetric RandomAsymmetric Random AtomicAuto Call _FlagAuto _rotate board to current human playerAuto login on startupAuto-logoutAvailableBB EloBackround image path :Because %(black)s lost connection to the serverBecause %(black)s lost connection to the server and %(white)s requested adjournmentBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s king explodedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause %(mover)s stalematedBecause %(white)s lost connection to the serverBecause %(white)s lost connection to the server and %(black)s requested adjournmentBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause %(winner)s has fewer piecesBecause %(winner)s king reached the centerBecause %(winner)s lost all piecesBecause %(winner)s was giving check 3 timesBecause a player aborted the game. Either player can abort the game without the other's consent before the second move. No rating changes have occurred.Because a player disconnected and there are too few moves to warrant adjournment. No rating changes have occurred.Because a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both players agreed to a drawBecause both players agreed to abort the game. No rating changes have occurred.Because both players agreed to an adjournmentBecause both players have the same amount of piecesBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause of adjudication by an admin. No rating changes have occurred.Because of courtesy by a player. No rating changes have occurred.Because the %(black)s engine diedBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBecause the server was shut downBecause the server was shut down. No rating changes have occurred.BeepBestBishopBlackBlack O-OBlack O-O-OBlack has a new piece in outpost: %sBlack has a rather cramped positionBlack has a slightly cramped positionBlack should do pawn storm in leftBlack should do pawn storm in rightBlack:BlindFoldBlindfoldBlindfold AccountBlitzBlitz:Blitz: 5 minBringing your king legally to the center (e4, d4, e5, d5) instantly wins the game! Normal rules apply in other cases and checkmate also ends the game.BughouseCCACMCalculating...CambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCastling availability field is not legal. %sCenter:ChallengeChallenge: Challenge: Change ToleranceChatChess AdvisorChess Alpha 2 DiagramChess GameChess PositionChess ShoutChess clientClaim DrawClassic chess rules http://en.wikipedia.org/wiki/ChessClassic chess rules with all pieces white http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden figurines http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pawns http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pieces http://en.wikipedia.org/wiki/Blindfold_chessClearClockClose _without SavingColorize analyzed movesCommand line parameters needed by the engineCommand line parameters needed by the runtime envCommand:CommentsCompensationComputerComputersConnectingConnecting to serverConnection ErrorConnection was closedContinue to wait for opponent, or try to adjourn the game?Copy FENCornerCould not save the fileCounterplayCrazyhouseCreate SeekDDark Squares :DatabaseDateDate/TimeDeclineDefaultDestination Host UnreachableDetect type automaticallyDiedDo you know that it is possible to finish a chess game in just 2 turns?Do you know that the number of possible chess games exceeds the number of atoms in the Universe?Do you want to abort it?Don't careDrawDraw:Due to abuse problems, guest connections have been prevented. You can still register on http://www.freechess.orgDummy AccountECOEdit SeekEdit Seek: Edit commentEffect on ratings by the possible outcomesEloEmailEn passant cord is not legal. %sEn passant lineEndgame TableEngine scores are in units of pawns, from White's point of view. Double clicking on analysis lines you can insert them into Annotation panel as variations.EnginesEngines use uci or xboard communication protocol to talk to the GUI. If it can use both you can set here which one you like.Enter GameError parsing move %(moveno)s %(mstr)sEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventEvent:ExamineExamine Adjourned GameExaminedExaminingExecutable filesExport positionExternalsFAFEN needs 6 data fields. %sFEN needs at least 2 data fields in fenstr. %sFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns * No castling * Black's arrangement mirrors white'sFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED * No castling * Black's arrangement DOES NOT mirrors white'sFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Pawns start on their 7th rank rather than their 2nd rank!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Pawns start on 4th and 5th ranks rather than 2nd and 7thFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html White pawns start on 5th rank and black pawns on the 4th rankFIDE MasterFMF_ull board animationFace _to Face display modeFile existsFilterFingerFischer RandomFollowForced moveFriendsGMGain:Game analyzing in progress...Game informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Game shared at GamesGames running: %dGaviota TB path:Generally this means nothing, as the game is time-based, but if you want to please your opponent, perhaps you should get going.Go back to the main lineGrand MasterGuestGuest logins disabled by FICS serverGuestsHHalfmove clockHeaderHidden pawnsHidden piecesHideHintsHost:How to PlayHuman BeingIMIdIdleIf set you can refuse players accepting your seekIf set, FICS game numbers in tab labels next to player names are shown.If set, PyChess will colorize suboptimal analyzed moves with red.If set, PyChess will show game results for different moves in positions containing 6 or less pieces. It will search positions from http://www.k4it.de/If set, PyChess will show game results for different moves in positions containing 6 or less pieces. You can download tablebase files from: http://www.olympuschess.com/egtb/gaviota/If set, PyChess will suggest best opening moves on hint panel.If set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, clicking on main application window closer first time it closes all games.If set, pawn promotes to queen without promotion dialog selection.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the captured figurines will be shown next to the board.If set, the elapsed time that a player used for the move is shown.If set, the hint analyzer engine evaluation value is shown.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If the analyzer finds a move where the evaluation difference (the difference between the evaluation for the move it thinks is the best move and the evaluation for the move made in the game) exceeds this value, it will add an annotation for that move (consisting of the engine's Principal Variation for the move) to the Annotation panelIf you don't save, new changes to your games will be permanently lost.Ignore colorsImport annotated games from endgame.nlImport chessfileImport games from theweekinchess.comIn TournamentIn this position, there is no legal move.Infinite analysisInitial positionInitiativeInternational MasterInvalid move.It is not possible later to continue the game, if you don't save it.Jump to initial positionJump to latest positionKKingKing of the hillKnightKnight oddsKnightsLeave _FullscreenLight Squares :LightningLightning:Load _Recent GameLoading player dataLocal EventLocal SiteLog on ErrorLog on as _GuestLogging on to serverLosersLossLoss:MakrukMakruk: http://en.wikipedia.org/wiki/MakrukMamer ManagerManage enginesManualManual AcceptManually accept opponentMate in %dMaximum analysis time in seconds:Minutes:Minutes: More channelsMore playersMove HistoryMove numberNNMNameNames: #n1, #n2Needs 7 slashes in piece placement field. %sNever use animation. Use this on slow machines.New GameNew RD:New _DatabaseNo _animationNo chess engines (computer players) are participating in this game.No conversation's selectedNo soundNormalNormal: 40 min + 15 sec/moveNot AvailableObserveObserve %sObserved _ends:ObserversOddsOffer A_bortOffer AbortOffer Ad_journmentOffer PauseOffer RematchOffer ResumeOffer UndoOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOn FICS, your "Wild" rating encompasses all of the following variants at all time controls: One player starts with one less knight pieceOne player starts with one less pawn pieceOne player starts with one less queen pieceOne player starts with one less rook pieceOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpen GameOpen Sound FileOpening BookOpening booksOpponent RatingOpponent's strength: OtherOther (non standard rules)Other (standard rules)PParameters:Paste FENPausePawnPawn oddsPawns PassedPawns PushedPingPlayPlay Fischer Random chessPlay Losers chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer _RatingPlayers: %dPlayingPng imagePo_rts:Polyglot book file:Pre_viewPrefer figures in _notationPreferencesPrivateProbably because it has been withdrawn.PromotionProtocol:PyChess - Connect to Internet ChessPyChess Information WindowPyChess has lost connection to the engine, probably because it has died. You can try to start a new game with the engine, or try to play against another one.PyChess.py:QQueenQueen oddsQuit PyChessRR_esignRandomRapidRapid: 15 min + 10 sec/moveRatedRated gameRatingReceiving list of playersRegisteredRequest ContinuationResendResend %s?ResultResumeRookRook oddsRoundRound:Running Simul MatchRuntime env command:Runtime env parameters:Runtime environment of engine command (wine or node)SRS_ign upSanctionsSaveSave GameSave Game _AsSave _own games onlySave analyzing engine _evaluation valuesSave database asSave elapsed move _timesSave files to:Save moves before closing?Save the current game before you close it?ScoreSearch:Seek _GraphSeek updatedSelect Gaviota TB pathSelect auto save pathSelect book fileSelect engineSelect sound file...Select the games you want to save:Select working directorySend ChallengeSend all seeksSend seekService RepresentativeSetting up environmentSetup PositionSho_w cordsShort on _time:ShoutShow FICS game numbers in tab labelsShow _captured piecesShow elapsed move timesShow evaluation valuesShow tips at startupShredderLinuxChess:ShuffleSide to moveSide_panelsSimple Chess PositionSiteSite:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinSorry '%s' is already logged inSound filesSp_y arrowSpentStandardStandard:Start Private ChatStatusStep back one moveStep forward one moveSuicideTTDTMTeam AccountThe abort offerThe adjourn offerThe analyzer will run in the background and analyze the game. This is necessary for the hint mode to workThe chain button is disabled because you are logged in as a guest. Guests can't establish ratings, and the chain button's state has no effect when there is no rating to which to tie "Opponent Strength" toThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe directory where the engine will be started from.The displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe endgame table will show exact analysis when there are few pieces on the board.The engine %s reports an error:The engine output panel shows the thinking output of chess engines (computer players) during a gameThe entered password was invalid. If you forgot your password, go to http://www.freechess.org/password to request a new one over email.The error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The flag callThe game can't be loaded, because of an error parsing FENThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe hint panel will provide computer advice during each stage of the gameThe inverse analyzer will analyze the game as if your opponent was to move. This is necessary for the spy mode to workThe move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe reason is unknownThe resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe takeback offerThebanThemesThere is %d game with unsaved moves.There are %d games with unsaved moves.There is something wrong with this executableThis game can be automatically aborted without rating loss because there has not yet been two moves madeThis game can not be adjourned because one or both players are guestsThis is a continuation of an adjourned matchThis option is not applicable because you're challenging a playerThis option is not available because you're challenging a guest, Threat analysis by %sThree-checkTimeTime control: Time pressureTip Of The dayTip of the DayTitledTo save a game Game > Save Game As, give the filename and choose where you want to be saved. At the bottom choose extension type of the file, and Save.Tolerance:Tournament DirectorTranslate PyChessTypeType or paste PGN game or FEN positions hereUUnable to accept %sUnable to save to configured file. Save the current game before you close it?Unclear positionUndescribed panelUndoUndo one moveUndo two movesUninstallUnknownUnofficial channel %dUnratedUnregisteredUntimedUpside DownUse _analyzerUse _inverted analyzerUse _local tablebasesUse _online tablebasesUse analyzer:Use name format:Use opening _bookVariantVariant developed by Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Variation annotation creation threshold in centipawns:W EloWFMWGMWIMWaitWas unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.WelcomeWhen this button is in the "locked" state, the relationship between "Opponent's strength" and "Your strength" will be preserved when a) your rating for the type of game sought has changed b) you change the variant or the time controlWhiteWhite O-OWhite O-O-OWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite has a slightly cramped positionWhite should do pawn storm in leftWhite should do pawn storm in rightWhite:WildWildcastleWildcastle shuffleWinWin by giving check 3 timesWin:With attackWoman FIDE MasterWoman Grand MasterWoman International MasterWorking directory:Year, month, day: #y, #m, #dYou asked your opponent to moveYou can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou can't select a variant because "Untimed" is checked, You can't switch colors during the game.You can't touch this! You are examining a game.You don't have the necessary rights to save the file. Please ensure that you have given the right path and try again.You have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou have to set kibitz on to see bot messages here.You have tried to undo too many moves.You may only have 3 outstanding seeks at the same time. If you want to add a new seek you must clear your currently active seeks. Clear your seeks?You sent a draw offerYou sent a pause offerYou sent a resume offerYou sent an abort offerYou sent an adjournment offerYou sent an undo offerYou sent flag callYour opponent asks you to hurry!Your opponent has asked that the game be aborted. If you accept this offer, the game will end with no rating change.Your opponent has asked that the game be adjourned. If you accept this offer, the game will be adjourned and you can resume it later (when your opponent is online and both players agree to resume).Your opponent has asked that the game be paused. If you accept this offer, the game clock will be paused until both players agree to resume the game.Your opponent has asked that the game be resumed. If you accept this offer, the game clock will continue from where it was paused.Your opponent has asked that the last %s move(s) be undone. If you accept this offer, the game will continue from the earlier position.Your opponent has offered you a draw.Your opponent has offered you a draw. If you accept this offer, the game will end with a score of 1/2 - 1/2.Your opponent is not out of time.Your opponent must agree to abort the game because there has been two or more moves madeYour opponent seems to have changed their mind.Your opponent wants to abort the game.Your opponent wants to adjourn the game.Your opponent wants to pause the game.Your opponent wants to resume the game.Your opponent wants to undo %s move(s).Your seeks have been removedYour strength: Zugzwang_Accept_Actions_Analyze Game_Archived_Auto save finished games to .pgn file_Call Flag_Clear Seeks_Copy FEN_Copy PGN_Decline_Edit_Engines_Export Position_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hint arrow_Hints_Invalid move:_Load Game_Log Viewer_My games_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Untimed_Use main app closer [x] to close all games_Use sounds in PyChess_View_Your Color:andand guests can't play rated gamesand on FICS, untimed games can't be ratedand on FICS, untimed games have to be normal chess rulesask your opponent to moveblackbrings a %(piece)s closer to enemy king: %(cord)sbrings a pawn closer to the backrow: %scall your opponents flagcaptures materialcastlesdefends %sdevelops a %(piece)s: %(cord)sdevelops a pawn: %sdrawsexchanges materialgnuchess:half-openhttp://brainking.com/en/GameRules?tp=2 * Placement of the pieces on the 1st and 8th row are randomized * The king is in the right hand corner * Bishops must start on opposite color squares * Black's starting position is obtained by rotating white's position 180 degrees around the board's center * No castlinghttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyin the %(x)s%(y)s filein the %(x)s%(y)s filesincreases the pressure on %sinvalid promoted piecematesminmoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %snot playingofoffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalpins an enemy %(oppiece)s on the %(piece)s at %(cord)splaces a %(piece)s more active: %(cord)spromotes a Pawn to a %sputs opponent in checkrating range nowrescues a %sresignround %ssacrifices materialsecslightly improves king safetytakes back materialthe captured cord (%s) is incorrectthe end cord (%s) is incorrectthe move needs a piece and a cordthreatens to win material by %sto automatic acceptto manual acceptucivs.whitewindow1xboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Random arrangement of the pieces behind the pawns * No castling * Black's arrangement mirrors white'sxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * White has the typical set-up at the start. * Black's pieces are the same, except that the King and Queen are reversed, * so they are not on the same files as White's King and Queen. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * In this variant both sides have the same set of pieces as in normal chess. * The white king starts on d1 or e1 and the black king starts on d8 or e8, * and the rooks are in their usual positions. * Bishops are always on opposite colors. * Subject to these constraints the position of the pieces on their first ranks is random. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.Project-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: English (United Kingdom) (http://www.transifex.com/gbtami/pychess/language/en_GB/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: en_GB Plural-Forms: nplurals=2; plural=(n != 1); Gain: + %d sec challenges you to a %(time)s %(rated)s %(gametype)s game chess has arrived has declined your offer for a match has departed has lagged for 30 seconds invalid engine move: %s is censoring you is lagging heavily but hasn't disconnected is present min noplay listing you uses a formula not fitting your match request: where %(player)s plays %(color)s. with whom you have an adjourned %(timecontrol)s %(gametype)s game is online. would like to resume your adjourned %(time)s %(gametype)s game.%(black)s won the game%(color)s got a double Pawn %(place)s%(color)s got an isolated Pawn in the %(x)s file%(color)s got isolated Pawns in the %(x)s files%(color)s got new double Pawns %(place)s%(color)s has a new passed pawn on %(cord)s%(color)s moves a %(piece)s to %(cord)s%(minutes)d min + %(gain)d sec/move%(opcolor)s has a new trapped Bishop on %(cord)s%(player)s is %(status)s%(player)s plays %(color)s%(white)s won the game%d min%s can no longer castle%s can no longer castle in kingside%s can no longer castle in queenside%s moves Pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent%s will identify what threats would exist if it were your opponent's turn to move%s will try to predict which move is best and which side has the advantage'%s' is a registered name. If it is yours, type the password.'%s' is not a registered name(Blitz)(Link is available on clipboard.)*-00 Players Ready0 of 00-11-01/2-1/210 min + 6 sec/move, White12002 min, Fischer Random, Black5 minPromote pawn to what?PyChess was unable to load your panel settingsAnalysingAnimationChess SetsChess VariantEnter Game NotationGeneral OptionsInitial PositionInstalled SidepanelsName of _first human player:Name of s_econd human player:New version %s is available!Open GameOpening, endgameOpponent StrengthOptionsPlay Sound When...PlayersTime ControlWelcome screenYour Colour_Connect to server_Start GameA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedError loading gamePyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to add %sUnable to save file '%s'Unknown file type '%s'Challenge:A player _checks:A player _moves:A player c_aptures:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortAbout ChessAc_tiveAcceptActivate alarm when _remaining sec is:Active colour field must be one of w or b. %sActive seeks: %dAdd commentAdd evaluation symbolAdd move symbolAdd start commentAdd threatening variation lines Adding suggestions can help you find ideas, but slows down the computer's analysis.Address ErrorAdjournAdminAdministratorAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364All Chess FilesAll whiteAnalysis by %sAnalyse black movesAnalyse from current positionAnalyse gameAnalyse white movesAnimate pieces, board rotation and more. Use this on fast machines.Annotated gameAnnotationAnnotatorAny strengthArchivedAsian variantsAsk to _MoveAssessAsymmetric RandomAsymmetric Random AtomicAuto Call _FlagAuto _rotate board to current human playerAuto login on startupAuto-logoutAvailableBB EloBackround image path :Because %(black)s lost connection to the serverBecause %(black)s lost connection to the server and %(white)s requested adjournmentBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s King explodedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was CheckmatedBecause %(mover)s stalematedBecause %(white)s lost connection to the serverBecause %(white)s lost connection to the server and %(black)s requested adjournmentBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause %(winner)s has fewer piecesBecause %(winner)s king reached the centreBecause %(winner)s lost all piecesBecause %(winner)s was giving check 3 timesBecause a player aborted the game. Either player can abort the game without the other's consent before the second move. No rating changes have occurred.Because a player disconnected and there are too few moves to warrant adjournment. No rating changes have occurred.Because a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both players agreed to a drawBecause both players agreed to abort the game. No rating changes have occurred.Because both players agreed to an adjournmentBecause both players have the same amount of piecesBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause of adjudication by an admin. No rating changes have occurred.Because of courtesy by a player. No rating changes have occurred.Because the %(black)s engine diedBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBecause the server was shut downBecause the server was shut down. No rating changes have occurred.BeepBestBishopBlackBlack O-OBlack O-O-OBlack has a new piece in outpost: %sBlack has a rather cramped positionBlack has a slightly cramped positionBlack should do pawn storm in leftBlack should do pawn storm in rightBlack:BlindFoldBlindfoldBlindfold AccountBlitzBlitz:Blitz: 5 minBringing your king legally to the centre (e4, d4, e5, d5) instantly wins the game! Normal rules apply in other cases and checkmate also ends the game.BughouseCCACMCalculating...CambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCastling availability field is not legal. %sCentre:ChallengeChallenge: Challenge: Change ToleranceChatChess AdvisorChess Alpha 2 DiagramChess GameChess PositionChess ShoutChess clientClaim DrawClassic chess rules http://en.wikipedia.org/wiki/ChessClassic chess rules with all pieces white http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden figurines http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pawns http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pieces http://en.wikipedia.org/wiki/Blindfold_chessClearClockClose _without SavingColourise analysed movesCommand line parameters needed by the engineCommand line parameters needed by the runtime envCommand:CommentsCompensationComputerComputersConnectingConnecting to serverConnection ErrorConnection was closedContinue to wait for opponent, or try to adjourn the game?Copy FENCornerCould not save the fileCounterplayCrazyhouseCreate SeekDDark Squares :DatabaseDateDate/TimeDeclineDefaultDestination Host UnreachableDetect type automaticallyDiedDo you know that it is possible to finish a chess game in just 2 turns?Do you know that the number of possible chess games exceeds the number of atoms in the Universe?Do you want to abort it?Don't careDrawDraw:Due to abuse problems, guest connections have been prevented. You can still register on http://www.freechess.orgDummy AccountECOEdit SeekEdit Seek: Edit commentEffect on ratings by the possible outcomesEloEmailEn passant cord is not legal. %sEn passant lineEndgame TableEngine scores are in units of pawns, from White's point of view. Double clicking on analysis lines you can insert them into Annotation panel as variations.EnginesEngines use uci or xboard communication protocol to talk to the GUI. If it can use both you can set here which one you like.Enter GameError parsing move %(moveno)s %(mstr)sEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventEvent:ExamineExamine Adjourned GameExaminedExaminingExecutable filesExport positionExternalsFAFEN needs 6 data fields. %sFEN needs at least 2 data fields in fenstr. %sFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each colour * Pieces placed randomly behind the pawns * No castling * Black's arrangement mirrors white'sFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each colour * Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED * No castling * Black's arrangement DOES NOT mirrors white'sFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Pawns start on their 7th rank rather than their 2nd rank!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Pawns start on 4th and 5th ranks rather than 2nd and 7thFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html White pawns start on 5th rank and black pawns on the 4th rankFIDE MasterFMF_ull board animationFace _to Face display modeFile existsFilterFingerFischer RandomFollowForced moveFriendsGMGain:Game analysing in progress...Game informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Game shared at GamesGames running: %dGaviota TB path:Generally this means nothing, as the game is time-based, but if you want to please your opponent, perhaps you should get going.Go back to the main lineGrand MasterGuestGuest logins disabled by FICS serverGuestsHHalfmove clockHeaderHidden pawnsHidden piecesHideHintsHost:How to PlayHuman BeingIMIdIdleIf set, you can refuse players accepting your seekIf set, FICS game numbers in tab labels next to player names are shown.If set, PyChess will colourise suboptimal analysed moves with red.If set, PyChess will show game results for different moves in positions containing 6 or less pieces. It will search positions from http://www.k4it.de/If set, PyChess will show game results for different moves in positions containing 6 or less pieces. You can download tablebase files from: http://www.olympuschess.com/egtb/gaviota/If set, PyChess will suggest best opening moves on hint panel.If set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, clicking on main application window closer first time it closes all games.If set, Pawn promotes to Queen without promotion dialogue selection.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the captured figurines will be shown next to the board.If set, the elapsed time that a player used for the move is shown.If set, the hint analyser engine evaluation value is shown.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If the analyser finds a move where the evaluation difference (the difference between the evaluation for the move it thinks is the best move and the evaluation for the move made in the game) exceeds this value, it will add an annotation for that move (consisting of the engine's Principal Variation for the move) to the Annotation panelIf you don't save, new changes to your games will be permanently lost.Ignore coloursImport annotated games from endgame.nlImport chessfileImport games from theweekinchess.comIn TournamentIn this position, there is no legal move.Infinite analysisInitial positionInitiativeInternational MasterInvalid move.It is not possible later to continue the game, if you don't save it.Jump to initial positionJump to latest positionKKingKing of the hillKnightKnight oddsKnightsLeave _FullscreenLight Squares :LightningLightning:Load _Recent GameLoading player dataLocal EventLocal SiteLog on ErrorLog on as _GuestLogging on to serverLosersLossLoss:MakrukMakruk: http://en.wikipedia.org/wiki/MakrukMamer ManagerManage enginesManualManual AcceptManually accept opponentMate in %dMaximum analysis time in seconds:Minutes:Minutes: More channelsMore playersMove HistoryMove numberNNMNameNames: #n1, #n2Needs 7 slashes in piece placement field. %sNever use animation. Use this on slow machines.New GameNew RD:New _DatabaseNo _animationNo chess engines (computer players) are participating in this game.No conversation's selectedNo soundNormalNormal: 40 min + 15 sec/moveNot AvailableObserveObserve %sObserved _ends:ObserversOddsOffer A_bortOffer AbortOffer Ad_journmentOffer PauseOffer RematchOffer ResumeOffer UndoOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOn FICS, your "Wild" rating encompasses all of the following variants at all time controls: One player starts with one less knight pieceOne player starts with one less pawn pieceOne player starts with one less queen pieceOne player starts with one less rook pieceOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpen GameOpen Sound FileOpening BookOpening booksOpponent RatingOpponent's strength: OtherOther (non standard rules)Other (standard rules)PParameters:Paste FENPausePawnPawn oddsPawns PassedPawns PushedPingPlayPlay Fischer Random chessPlay Losers chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer _RatingPlayers: %dPlayingPng imagePo_rts:Polyglot book file:Pre_viewPrefer figures in _notationPreferencesPrivateProbably because it has been withdrawn.PromotionProtocol:PyChess - Connect to Internet ChessPyChess Information WindowPyChess has lost connection to the engine, probably because it has died. You can try to start a new game with the engine, or try to play against another one.PyChess.py:QQueenQueen oddsQuit PyChessRR_esignRandomRapidRapid: 15 min + 10 sec/moveRatedRated gameRatingReceiving list of playersRegisteredRequest ContinuationResendResend %s?ResultResumeRookRook oddsRoundRound:Running Simul MatchRuntime env command:Runtime env parameters:Runtime environment of engine command (wine or node)SRS_ign upSanctionsSaveSave GameSave Game _AsSave _own games onlySave analysing engine _evaluation valuesSave database asSave elapsed move _timesSave files to:Save moves before closing?Save the current game before you close it?ScoreSearch:Seek _GraphSeek updatedSelect Gaviota TB pathSelect auto save pathSelect book fileSelect engineSelect sound file...Select the games you want to save:Select working directorySend ChallengeSend all seeksSend seekService RepresentativeSetting up environmentSetup PositionSho_w cordsShort on _time:ShoutShow FICS game numbers in tab labelsShow _captured piecesShow elapsed move timesShow evaluation valuesShow tips at startupShredderLinuxChess:ShuffleSide to moveSide_panelsSimple Chess PositionSiteSite:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinSorry '%s' is already logged inSound filesSp_y arrowSpentStandardStandard:Start Private ChatStatusStep back one moveStep forward one moveSuicideTTDTMTeam AccountThe abort offerThe adjourn offerThe analyser will run in the background and analyse the game. This is necessary for the hint mode to workThe chain button is disabled because you are logged in as a guest. Guests can't establish ratings, and the chain button's state has no effect when there is no rating to which to tie "Opponent Strength" toThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyse and explain the moves playedThe connection was broken - got "end of file" messageThe directory where the engine will be started from.The displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe endgame table will show exact analysis when there are few pieces on the board.The engine %s reports an error:The engine output panel shows the thinking output of chess engines (computer players) during a gameThe entered password was invalid. If you forgot your password, go to http://www.freechess.org/password to request a new one over email.The error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The flag callThe game can't be loaded, because of an error parsing FENThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe hint panel will provide computer advice during each stage of the gameThe inverse analyser will analyse the game as if your opponent was to move. This is necessary for the spy mode to workThe move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe reason is unknownThe resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe takeback offerThebanThemesThere is %d game with unsaved moves.There are %d games with unsaved moves.There is something wrong with this executableThis game can be automatically aborted without rating loss because there has not yet been two moves madeThis game can not be adjourned because one or both players are guestsThis is a continuation of an adjourned matchThis option is not applicable because you're challenging a playerThis option is not available because you're challenging a guest, Threat analysis by %sThree-checkTimeTime control: Time pressureTip Of The dayTip of the DayTitledTo save a game Game > Save Game As, give the filename and choose where you want to be saved. At the bottom choose extension type of the file, and Save.Tolerance:Tournament DirectorTranslate PyChessTypeType or paste PGN game or FEN positions hereUUnable to accept %sUnable to save to configured file. Save the current game before you close it?Unclear positionUndescribed panelUndoUndo one moveUndo two movesUninstallUnknownUnofficial channel %dUnratedUnregisteredUntimedUpside DownUse _analyserUse _inverted analyserUse _local tablebasesUse _online tablebasesUse analyser:Use name format:Use opening _bookVariantVariant developed by Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Variation annotation creation threshold in centipawns:W EloWFMWGMWIMWaitWas unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.WelcomeWhen this button is in the "locked" state, the relationship between "Opponent's strength" and "Your strength" will be preserved when a) your rating for the type of game sought has changed b) you change the variant or the time controlWhiteWhite O-OWhite O-O-OWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite has a slightly cramped positionWhite should do pawn storm in leftWhite should do pawn storm in rightWhite:WildWildcastleWildcastle shuffleWinWin by giving check 3 timesWin:With attackWoman FIDE MasterWoman Grand MasterWoman International MasterWorking directory:Year, month, day: #y, #m, #dYou asked your opponent to moveYou can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou can't select a variant because "Untimed" is checked, You can't switch colours during the game.You can't touch this! You are examining a game.You don't have the necessary rights to save the file. Please ensure that you have given the right path and try again.You have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou have to set kibitz on to see bot messages here.You have tried to undo too many moves.You may only have 3 outstanding seeks at the same time. If you want to add a new seek you must clear your currently active seeks. Clear your seeks?You sent a draw offerYou sent a pause offerYou sent a resume offerYou sent an abort offerYou sent an adjournment offerYou sent an undo offerYou sent flag callYour opponent asks you to hurry!Your opponent has asked that the game be aborted. If you accept this offer, the game will end with no rating change.Your opponent has asked that the game be adjourned. If you accept this offer, the game will be adjourned and you can resume it later (when your opponent is online and both players agree to resume).Your opponent has asked that the game be paused. If you accept this offer, the game clock will be paused until both players agree to resume the game.Your opponent has asked that the game be resumed. If you accept this offer, the game clock will continue from where it was paused.Your opponent has asked that the last %s move(s) be undone. If you accept this offer, the game will continue from the earlier position.Your opponent has offered you a draw.Your opponent has offered you a draw. If you accept this offer, the game will end with a score of 1/2 - 1/2.Your opponent is not out of time.Your opponent must agree to abort the game because there has been two or more moves madeYour opponent seems to have changed their mind.Your opponent wants to abort the game.Your opponent wants to adjourn the game.Your opponent wants to pause the game.Your opponent wants to resume the game.Your opponent wants to undo %s move(s).Your seeks have been removedYour strength: Zugzwang_Accept_Actions_Analyse Game_Archived_Auto save finished games to .pgn file_Call Flag_Clear Seeks_Copy FEN_Copy PGN_Decline_Edit_Engines_Export Position_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hint arrow_Hints_Invalid move:_Load Game_Log Viewer_My games_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Untimed_Use main app closer [x] to close all games_Use sounds in PyChess_View_Your Colour:andand guests can't play rated gamesand on FICS, untimed games can't be ratedand on FICS, untimed games have to be normal chess rulesask your opponent to moveblackbrings a %(piece)s closer to enemy King: %(cord)sbrings a Pawn closer to the backrow: %scall your opponents flagcaptures materialCastlesdefends %sdevelops a %(piece)s: %(cord)sdevelops a Pawn: %sdrawsexchanges materialgnuchess:half-openhttp://brainking.com/en/GameRules?tp=2 * Placement of the pieces on the 1st and 8th row are randomised * The king is in the right hand corner * Bishops must start on opposite colour squares * Black's starting position is obtained by rotating white's position 180 degrees around the board's centre * No castlinghttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyin the %(x)s%(y)s filein the %(x)s%(y)s filesincreases the pressure on %sinvalid promoted piecematesminmoves a rook to an open filemoves an rook to a half-open filemoves Bishop into fianchetto: %snot playingofoffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalpins an enemy %(oppiece)s on the %(piece)s at %(cord)splaces a %(piece)s more active: %(cord)spromotes a Pawn to a %sputs opponent in checkrating range nowrescues a %sresignround %ssacrifices materialsecslightly improves king safetytakes back materialthe captured cord (%s) is incorrectthe end cord (%s) is incorrectthe move needs a piece and a cordthreatens to win material by %sto automatic acceptto manual acceptucivs.whitewindow1xboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Random arrangement of the pieces behind the pawns * No castling * Black's arrangement mirrors white'sxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * White has the typical set-up at the start. * Black's pieces are the same, except that the King and Queen are reversed, * so they are not on the same files as White's King and Queen. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * In this variant both sides have the same set of pieces as in normal chess. * The white king starts on d1 or e1 and the black king starts on d8 or e8, * and the rooks are in their usual positions. * Bishops are always on opposite colours. * Subject to these constraints the position of the pieces on their first ranks is random. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.pychess-1.0.0/lang/en_GB/LC_MESSAGES/pychess.po0000644000175000017500000051455313455542752017765 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # Andi Chandler , 2013-2017 # gbtami , 2015-2016 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/gbtami/pychess/language/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: en_GB\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Game" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_New Game" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Play _Internet Chess" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Load Game" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Load _Recent Game" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Save Game" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Save Game _As" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "_Export Position" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Player _Rating" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "_Analyse Game" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Edit" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_Copy PGN" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "_Copy FEN" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "_Engines" #: glade/PyChess.glade:518 msgid "Externals" msgstr "Externals" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Actions" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Offer _Abort" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Offer Ad_journment" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Offer _Draw" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Offer _Pause" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Offer _Resume" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Offer _Undo" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Call Flag" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "R_esign" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Ask to _Move" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "Auto Call _Flag" #: glade/PyChess.glade:673 msgid "_View" msgstr "_View" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Rotate Board" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Fullscreen" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Leave _Fullscreen" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "_Show Sidepanels" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_Log Viewer" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "_Hint arrow" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "Sp_y arrow" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "Database" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "New _Database" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "Save database as" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "Import chessfile" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "Import annotated games from endgame.nl" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "Import games from theweekinchess.com" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Help" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "About Chess" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "How to Play" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Translate PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Tip of the Day" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Chess client" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Preferences" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "The displayed name of the first human player, e.g., John." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Name of _first human player:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "The displayed name of the guest player, e.g., Mary." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Name of s_econd human player:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Hide tabs when only one game is open" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "If set, this hides the tab in the top of the playing window, when it is not needed." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "_Use main app closer [x] to close all games" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "If set, clicking on main application window closer first time it closes all games." #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "Auto _rotate board to current human player" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "If set, the board will turn after each move, to show the natural view for the current player." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "If set, Pawn promotes to Queen without promotion dialogue selection." #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "Face _to Face display mode" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "If set, the black pieces will be head down, suitable for playing against friends on mobile devices." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "Show _captured pieces" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "If set, the captured figurines will be shown next to the board." #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Prefer figures in _notation" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "If set, PyChess will use figures to express moved pieces, rather than uppercase letters." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "Colourise analysed moves" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "If set, PyChess will colourise suboptimal analysed moves with red." #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "Show elapsed move times" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "If set, the elapsed time that a player used for the move is shown." #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "Show evaluation values" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "If set, the hint analyser engine evaluation value is shown." #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "Show FICS game numbers in tab labels" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "If set, FICS game numbers in tab labels next to player names are shown." #: glade/PyChess.glade:1402 msgid "General Options" msgstr "General Options" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "F_ull board animation" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Animate pieces, board rotation and more. Use this on fast machines." #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Only animate _moves" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Only animate piece moves." #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "No _animation" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Never use animation. Use this on slow machines." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animation" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_General" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "Use opening _book" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "If set, PyChess will suggest best opening moves on hint panel." #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "Polyglot book file:" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "Use _local tablebases" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\nYou can download tablebase files from:\nhttp://www.olympuschess.com/egtb/gaviota/" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "Gaviota TB path:" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "Use _online tablebases" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\nIt will search positions from http://www.k4it.de/" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "Opening, endgame" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Use _analyser" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "The analyser will run in the background and analyse the game. This is necessary for the hint mode to work" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Use _inverted analyser" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "The inverse analyser will analyse the game as if your opponent was to move. This is necessary for the spy mode to work" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "Maximum analysis time in seconds:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "Infinite analysis" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analysing" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_Hints" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Uninstall" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "Ac_tive" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Installed Sidepanels" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "Side_panels" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "Backround image path :" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "Welcome screen" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Light Squares :" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Dark Squares :" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "Sho_w cords" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "Chess Sets" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Themes" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Use sounds in PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "A player _checks:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "A player _moves:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Game is _drawn:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Game is _lost:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Game is _won:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "A player c_aptures:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Game is _set-up:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "_Observed moves:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "Observed _ends:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "Short on _time:" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "_Invalid move:" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "Activate alarm when _remaining sec is:" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Play Sound When..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Sounds" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "_Auto save finished games to .pgn file" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Save files to:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "Use name format:" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "Names: #n1, #n2" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "Year, month, day: #y, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "Save elapsed move _times" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "Save analysing engine _evaluation values" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "Save _own games only" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Save" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Promotion" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Queen" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Rook" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Bishop" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Knight" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "King" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Promote pawn to what?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "Default" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "Knights" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Game information" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Site:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Black:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Round:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "White:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Event:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "uci" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "xboard" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "Manage engines" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Command:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protocol:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Parameters:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "Command line parameters needed by the engine" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "Engines use uci or xboard communication protocol to talk to the GUI.\nIf it can use both you can set here which one you like." #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "Working directory:" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "The directory where the engine will be started from." #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "Runtime env command:" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "Runtime environment of engine command (wine or node)" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "Runtime env parameters:" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "Command line parameters needed by the runtime env" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "Filter" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "White" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Black" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "Ignore colours" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "Event" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "ECO" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "Elo" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "0" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "-" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Date" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "Site" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "Annotator" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Result" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "1-0" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "0-1" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "1/2-1/2" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "Variant" #: glade/PyChess.glade:6410 msgid "Header" msgstr "Header" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "Side to move" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Analyse game" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "Use analyser:" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "If the analyser finds a move where the evaluation difference (the difference between the evaluation for the move it thinks is the best move and the evaluation for the move made in the game) exceeds this value, it will add an annotation for that move (consisting of the engine's Principal Variation for the move) to the Annotation panel" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "Variation annotation creation threshold in centipawns:" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "Analyse from current position" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "Analyse black moves" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "Analyse white moves" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "Add threatening variation lines " #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess is discovering your engines. Please wait." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Connect to Internet Chess" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Password:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Name:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Log on as _Guest" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "Host:" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Po_rts:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "S_ign up" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Challenge: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Send Challenge" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Challenge:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Lightning:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Standard:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Blitz:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "2 min, Fischer Random, Black" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 min + 6 sec/move, White" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 min" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "_Clear Seeks" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Accept" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Decline" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "Send all seeks" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Send seek" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Create Seek" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Standard" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Blitz" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Lightning" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Computer" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "_Seeks / Challenges" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Rating" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Time" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "Seek _Graph" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 Players Ready" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Challenge" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Observe" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Start Private Chat" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "Registered" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Guest" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "Titled" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "_Player List" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "_Game List" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "_My games" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "Offer A_bort" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "Examine" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "Pre_view" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "_Archived" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "Asymmetric Random " #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Edit Seek" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Untimed" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minutes: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr " Gain: " #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Time control: " #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Time Control" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Don't care" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Your strength: " #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Blitz)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Opponent's strength: " #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "When this button is in the \"locked\" state, the relationship\nbetween \"Opponent's strength\" and \"Your strength\" will be\npreserved when\na) your rating for the type of game sought has changed\nb) you change the variant or the time control" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Centre:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Tolerance:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Hide" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Opponent Strength" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Your Colour" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Play normal chess rules" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Play" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Chess Variant" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Rated game" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Manually accept opponent" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Options" #: glade/findbar.glade:6 msgid "window1" msgstr "window1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 of 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Search:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Previous" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Next" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "New Game" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Start Game" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "Copy FEN" #: glade/newInOut.glade:143 msgid "Clear" msgstr "Clear" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "Paste FEN" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Players" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "_Untimed" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "Blitz: 5 min" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "Rapid: 15 min + 10 sec/move" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "Normal: 40 min + 15 sec/move" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "_Play Normal chess" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Play Fischer Random chess" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "Play Losers chess" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Open Game" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Initial Position" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Enter Game Notation" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "Halfmove clock" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "En passant line" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "Move number" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "Black O-O" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "Black O-O-O" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "White O-O-O" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "White O-O" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Quit PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Close _without Saving" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "_Save %d documents" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "There are %d games with unsaved moves. Save changes before closing?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Select the games you want to save:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "If you don't save, new changes to your games will be permanently lost." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "_Opponent:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_Your Colour:" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "_Start Game" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "Auto login on startup" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "_Connect to server" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Tip Of The day" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Show tips at startup" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://en.wikipedia.org/wiki/Chess" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://en.wikipedia.org/wiki/Rules_of_chess" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Welcome" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Open Game" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "The engine %s reports an error:" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "Your opponent has offered you a draw." #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "Your opponent has offered you a draw. If you accept this offer, the game will end with a score of 1/2 - 1/2." #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "Your opponent wants to abort the game." #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "Your opponent has asked that the game be aborted. If you accept this offer, the game will end with no rating change." #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "Your opponent wants to adjourn the game." #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "Your opponent has asked that the game be adjourned. If you accept this offer, the game will be adjourned and you can resume it later (when your opponent is online and both players agree to resume)." #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "Your opponent wants to undo %s move(s)." #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "Your opponent has asked that the last %s move(s) be undone. If you accept this offer, the game will continue from the earlier position." #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "Your opponent wants to pause the game." #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "Your opponent has asked that the game be paused. If you accept this offer, the game clock will be paused until both players agree to resume the game." #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "Your opponent wants to resume the game." #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "Your opponent has asked that the game be resumed. If you accept this offer, the game clock will continue from where it was paused." #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "The resignation" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "The flag call" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "The draw offer" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "The abort offer" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "The adjourn offer" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "The pause offer" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "The resume offer" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "The offer to switch sides" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "The takeback offer" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "resign" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "call your opponents flag" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "offer a draw" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "offer an abort" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "offer to adjourn" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "offer a pause" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "offer to resume" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "offer to switch sides" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "offer a takeback" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "ask your opponent to move" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Your opponent is not out of time." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "The clock hasn't been started yet." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "You can't switch colours during the game." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "You have tried to undo too many moves." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Your opponent asks you to hurry!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "Generally this means nothing, as the game is time-based, but if you want to please your opponent, perhaps you should get going." #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "Accept" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "Decline" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "%s was declined by your opponent" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "Resend %s?" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "Resend" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s was withdrawn by your opponent" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "Your opponent seems to have changed their mind." #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "Unable to accept %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "Probably because it has been withdrawn." #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s returns an error" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "Chess Alpha 2 Diagram" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "Game shared at " #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "(Link is available on clipboard.)" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Chess Position" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Unknown" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Simple Chess Position" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "The game can't be loaded, because of an error parsing FEN" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Chess Game" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "Invalid move." #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "The game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'." #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "The move failed because %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "Error parsing move %(moveno)s %(mstr)s" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "Png image" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "Destination Host Unreachable" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Died" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Local Event" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Local Site" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "min" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "sec" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "New version %s is available!" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Pawn" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "N" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "B" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "R" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "Q" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "K" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "The game ended in a draw" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s won the game" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s won the game" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "The game has been killed" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "The game has been adjourned" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "The game has been aborted" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "Because neither player has sufficient material to mate" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "Because the same position was repeated three times in a row" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "Because the last 50 moves brought nothing new" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Because both players ran out of time" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "Because %(mover)s stalemated" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "Because both players agreed to a draw" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "Because of adjudication by an admin" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "Because the game exceed the max length" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "Because %(white)s ran out of time and %(black)s has insufficient material to mate" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "Because %(black)s ran out of time and %(white)s has insufficient material to mate" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "Because both players have the same amount of pieces" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "Because %(loser)s resigned" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "Because %(loser)s ran out of time" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "Because %(loser)s was Checkmated" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "Because %(loser)s disconnected" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "Because %(winner)s has fewer pieces" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "Because %(winner)s lost all pieces" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "Because %(loser)s King exploded" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "Because %(winner)s king reached the centre" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "Because %(winner)s was giving check 3 times" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "Because a player lost connection" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "Because both players agreed to an adjournment" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "Because the server was shut down" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "Because a player lost connection and the other player requested adjournment" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "Because %(black)s lost connection to the server and %(white)s requested adjournment" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "Because %(white)s lost connection to the server and %(black)s requested adjournment" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "Because %(white)s lost connection to the server" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "Because %(black)s lost connection to the server" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "Because of adjudication by an admin. No rating changes have occurred." #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "Because both players agreed to abort the game. No rating changes have occurred." #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "Because of courtesy by a player. No rating changes have occurred." #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "Because a player aborted the game. Either player can abort the game without the other's consent before the second move. No rating changes have occurred." #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "Because a player disconnected and there are too few moves to warrant adjournment. No rating changes have occurred." #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "Because the server was shut down. No rating changes have occurred." #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "Because the %(white)s engine died" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "Because the %(black)s engine died" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "Because the connection to the server was lost" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "The reason is unknown" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "ASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "ASEAN" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "Makruk: http://en.wikipedia.org/wiki/Makruk" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "Makruk" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "Cambodian: http://www.khmerinstitute.org/culture/ok.html" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "Cambodian" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "Ai-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "Ai-Wok" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "Sittuyin" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n* Randomly chosen pieces (two queens or three rooks possible)\n* Exactly one king of each colour\n* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n* No castling\n* Black's arrangement DOES NOT mirrors white's" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Asymmetric Random" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "Atomic" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Classic chess rules with hidden figurines\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "Blindfold" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Classic chess rules with hidden pawns\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "Hidden pawns" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Classic chess rules with hidden pieces\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "Hidden pieces" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Classic chess rules with all pieces white\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "All white" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "Bughouse" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "http://brainking.com/en/GameRules?tp=2\n* Placement of the pieces on the 1st and 8th row are randomised\n* The king is in the right hand corner\n* Bishops must start on opposite colour squares\n* Black's starting position is obtained by rotating white's position 180 degrees around the board's centre\n* No castling" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Corner" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "Crazyhouse" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "EuroShogi" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "http://en.wikipedia.org/wiki/Chess960\nFICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Fischer Random" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "Bringing your king legally to the centre (e4, d4, e5, d5) instantly wins the game!\nNormal rules apply in other cases and checkmate also ends the game." #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "King of the hill" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "One player starts with one less knight piece" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "Knight odds" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "Losers" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "Classic chess rules\nhttp://en.wikipedia.org/wiki/Chess" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Normal" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "One player starts with one less pawn piece" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "Pawn odds" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\nWhite pawns start on 5th rank and black pawns on the 4th rank" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "Pawns Passed" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\nPawns start on 4th and 5th ranks rather than 2nd and 7th" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "Pawns Pushed" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "One player starts with one less queen piece" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "Queen odds" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n* Randomly chosen pieces (two queens or three rooks possible)\n* Exactly one king of each colour\n* Pieces placed randomly behind the pawns\n* No castling\n* Black's arrangement mirrors white's" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Random" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "One player starts with one less rook piece" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "Rook odds" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n* Random arrangement of the pieces behind the pawns\n* No castling\n* Black's arrangement mirrors white's" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Shuffle" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "Suicide" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "Variant developed by Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "Theban" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "Win by giving check 3 times" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "Three-check" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\nhttp://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\nPawns start on their 7th rank rather than their 2nd rank!" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "Upside Down" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n* White has the typical set-up at the start.\n* Black's pieces are the same, except that the King and Queen are reversed,\n* so they are not on the same files as White's King and Queen.\n* Castling is done similarly to normal chess:\n* o-o-o indicates long castling and o-o short castling." #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "Wildcastle" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n* In this variant both sides have the same set of pieces as in normal chess.\n* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n* and the rooks are in their usual positions.\n* Bishops are always on opposite colours.\n* Subject to these constraints the position of the pieces on their first ranks is random.\n* Castling is done similarly to normal chess:\n* o-o-o indicates long castling and o-o short castling." #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "Wildcastle shuffle" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "The connection was broken - got \"end of file\" message" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' is not a registered name" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "The entered password was invalid.\nIf you forgot your password, go to http://www.freechess.org/password to request a new one over email." #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "Sorry '%s' is already logged in" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "'%s' is a registered name. If it is yours, type the password." #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "Due to abuse problems, guest connections have been prevented.\nYou can still register on http://www.freechess.org" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Connecting to server" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Logging on to server" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Setting up environment" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "%(player)s is %(status)s" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "not playing" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Wild" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Online" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Offline" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "Available" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "Playing" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "Idle" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "Examining" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "Not Available" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "Running Simul Match" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "In Tournament" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Unrated" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Rated" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d min" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr " + %d sec" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "%(player)s plays %(color)s" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "white" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "black" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "This is a continuation of an adjourned match" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "Opponent Rating" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "Manual Accept" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Private" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Connection Error" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Log on Error" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Connection was closed" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Address Error" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Auto-logout" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "You have been logged out because you were idle more than 60 minutes" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "Guest logins disabled by FICS server" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "Examined" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Other" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Administrator" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "Blindfold Account" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Team Account" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "Unregistered" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "Chess Advisor" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "Service Representative" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "Tournament Director" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "Mamer Manager" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "Grand Master" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "International Master" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "FIDE Master" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "Woman Grand Master" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "Woman International Master" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "Woman FIDE Master" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "Dummy Account" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "C" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "T" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "U" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "CA" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "SR" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "TD" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "TM" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "GM" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "IM" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "FM" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "WGM" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "WIM" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "WFM" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "D" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "H" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "CM" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "FA" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "NM" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "PyChess was unable to load your panel settings" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "Friends" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "Admin" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "More channels" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "More players" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "Computers" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "BlindFold" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "Guests" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "Observers" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "Pause" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "No conversation's selected" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "Loading player data" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "Receiving list of players" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "PyChess Information Window" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "of" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "You have opened no conversations yet" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "Only registered users may talk to this channel" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "Game analysing in progress..." #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "Do you want to abort it?" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "Abort" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "Select engine" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "Executable files" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "Unable to add %s" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "There is something wrong with this executable" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "Select working directory" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr " invalid engine move: %s" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Offer Rematch" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "Observe %s" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Play Rematch" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Undo one move" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Undo two moves" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "You sent an abort offer" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "You sent an adjournment offer" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "You sent a draw offer" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "You sent a pause offer" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "You sent a resume offer" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "You sent an undo offer" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "You asked your opponent to move" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "You sent flag call" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Engine, %s, has died" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "PyChess has lost connection to the engine, probably because it has died.\n\n You can try to start a new game with the engine, or try to play against another one." #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "This game can be automatically aborted without rating loss because there has not yet been two moves made" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "Offer Abort" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "Your opponent must agree to abort the game because there has been two or more moves made" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "This game can not be adjourned because one or both players are guests" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "Claim Draw" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "Resume" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "Offer Pause" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "Offer Resume" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "Undo" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "Offer Undo" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr " has lagged for 30 seconds" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr " is lagging heavily but hasn't disconnected" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "Continue to wait for opponent, or try to adjourn the game?" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "Wait" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "Adjourn" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "Jump to initial position" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "Step back one move" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "Go back to the main line" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "Step forward one move" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Jump to latest position" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Human Being" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minutes:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Gain:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "Rapid" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "Odds" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "Other (standard rules)" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "Other (non standard rules)" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "Asian variants" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr " chess" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Setup Position" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "Type or paste PGN game or FEN positions here" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Enter Game" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "Select book file" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "Opening books" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "Select Gaviota TB path" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Open Sound File" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "Sound files" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "No sound" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Beep" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Select sound file..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "Undescribed panel" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "Select auto save path" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "Do you know that it is possible to finish a chess game in just 2 turns?" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "Do you know that the number of possible chess games exceeds the number of atoms in the Universe?" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "To save a game Game > Save Game As, give the filename and choose where you want to be saved. At the bottom choose extension type of the file, and Save." #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "FEN needs 6 data fields. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "FEN needs at least 2 data fields in fenstr. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "Needs 7 slashes in piece placement field. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "Active colour field must be one of w or b. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "Castling availability field is not legal. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "En passant cord is not legal. \n\n%s" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "invalid promoted piece" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "the move needs a piece and a cord" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "the captured cord (%s) is incorrect" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "the end cord (%s) is incorrect" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "and" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "draws" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "mates" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "puts opponent in check" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "improves king safety" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "slightly improves king safety" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "moves a rook to an open file" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "moves an rook to a half-open file" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "moves Bishop into fianchetto: %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "promotes a Pawn to a %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "Castles" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "takes back material" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "sacrifices material" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "exchanges material" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "captures material" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "rescues a %s" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "threatens to win material by %s" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "increases the pressure on %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "defends %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "White has a new piece in outpost: %s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "Black has a new piece in outpost: %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "%(color)s has a new passed pawn on %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "half-open" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "in the %(x)s%(y)s file" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "in the %(x)s%(y)s files" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "%(color)s got a double Pawn %(place)s" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "%(color)s got new double Pawns %(place)s" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "%(color)s got an isolated Pawn in the %(x)s file" msgstr[1] "%(color)s got isolated Pawns in the %(x)s files" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "%s moves Pawns into stonewall formation" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "%s can no longer castle" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "%s can no longer castle in queenside" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "%s can no longer castle in kingside" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "%(opcolor)s has a new trapped Bishop on %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "develops a Pawn: %s" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "brings a Pawn closer to the backrow: %s" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "brings a %(piece)s closer to enemy King: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "develops a %(piece)s: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "places a %(piece)s more active: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "White should do pawn storm in right" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "Black should do pawn storm in left" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "White should do pawn storm in left" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "Black should do pawn storm in right" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "Black has a rather cramped position" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "Black has a slightly cramped position" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "White has a rather cramped position" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "White has a slightly cramped position" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "Shout" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "Chess Shout" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "Unofficial channel %d" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "Games" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "Id" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "W Elo" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "B Elo" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "Round" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "Archived" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Clock" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Type" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Date/Time" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr " with whom you have an adjourned %(timecontrol)s %(gametype)s game is online." #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "Request Continuation" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "Examine Adjourned Game" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Chat" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Win" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Draw" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Loss" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "Best" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "On FICS, your \"Wild\" rating encompasses all of the following variants at all time controls:\n" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "Sanctions" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Email" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Spent" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "online in total" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Connecting" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "Finger" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Games running: %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "Assess" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "Follow" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Name" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "Status" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "Players: %d" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "The chain button is disabled because you are logged in as a guest. Guests can't establish ratings, and the chain button's state has no effect when there is no rating to which to tie \"Opponent Strength\" to" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Challenge: " #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "If set, you can refuse players accepting your seek" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "This option is not applicable because you're challenging a player" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Edit Seek: " #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "%(minutes)d min + %(gain)d sec/move" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Manual" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "Any strength" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "You can't play rated games because you are logged in as a guest" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "You can't play rated games because \"Untimed\" is checked, " #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "and on FICS, untimed games can't be rated" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "This option is not available because you're challenging a guest, " #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "and guests can't play rated games" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "You can't select a variant because \"Untimed\" is checked, " #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "and on FICS, untimed games have to be normal chess rules" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "Change Tolerance" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " min" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "Effect on ratings by the possible outcomes" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "Win:" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "Draw:" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "Loss:" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "New RD:" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Active seeks: %d" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr " would like to resume your adjourned %(time)s %(gametype)s game." #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr " challenges you to a %(time)s %(rated)s %(gametype)s game" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr " where %(player)s plays %(color)s." #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "You have to set kibitz on to see bot messages here." #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "You may only have 3 outstanding seeks at the same time. If you want to add a new seek you must clear your currently active seeks. Clear your seeks?" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "You can't touch this! You are examining a game." #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr " has declined your offer for a match" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr " is censoring you" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr " noplay listing you" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr " uses a formula not fitting your match request:" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "to manual accept" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "to automatic accept" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "rating range now" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "Seek updated" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "Your seeks have been removed" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr " has arrived" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr " has departed" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr " is present" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Detect type automatically" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "Error loading game" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Save Game" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "Export position" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Unknown file type '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "Was unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'." #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Unable to save file '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "You don't have the necessary rights to save the file.\n Please ensure that you have given the right path and try again." #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Replace" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "File exists" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "A file named '%s' already exists. Would you like to replace it?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "The file already exists in '%s'. If you replace it, its content will be overwritten." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Could not save the file" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess was not able to save the game" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "The error was: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "There is %d game with unsaved moves." msgstr[1] "There are %d games with unsaved moves." #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "Save moves before closing?" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "vs." #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "_Save %d document" msgstr[1] "_Save %d documents" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "Save the current game before you close it?" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "Unable to save to configured file. Save the current game before you close it?" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "It is not possible later to continue the game,\nif you don't save it." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "All Chess Files" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "Annotation" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "Annotated game" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "Add start comment" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "Add comment" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "Edit comment" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "Forced move" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "Add move symbol" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "Unclear position" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "Zugzwang" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "Initiative" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "With attack" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "Compensation" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "Counterplay" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "Time pressure" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "Add evaluation symbol" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "round %s" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "Hints" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "The hint panel will provide computer advice during each stage of the game" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Official PyChess panel." #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Opening Book" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "The opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess masters" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "Analysis by %s" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "%s will try to predict which move is best and which side has the advantage" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "Threat analysis by %s" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "%s will identify what threats would exist if it were your opponent's turn to move" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "Calculating..." #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "Engine scores are in units of pawns, from White's point of view. Double clicking on analysis lines you can insert them into Annotation panel as variations." #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "Adding suggestions can help you find ideas, but slows down the computer's analysis." #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "Endgame Table" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "The endgame table will show exact analysis when there are few pieces on the board." #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "Mate in %d" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "In this position,\nthere is no legal move." #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "The chat panel lets you communicate with your opponent during the game, assuming he or she is interested" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Comments" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "The comments panel will try to analyse and explain the moves played" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Initial position" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "%(color)s moves a %(piece)s to %(cord)s" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "Engines" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "The engine output panel shows the thinking output of chess engines (computer players) during a game" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "No chess engines (computer players) are participating in this game." #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Move History" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "The moves sheet keeps track of the players' moves and lets you navigate through the game history" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Score" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "The score panel tries to evaluate the positions and shows you a graph of the game progress" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/te/0000755000175000017500000000000013467766037013612 5ustar varunvarunpychess-1.0.0/lang/te/LC_MESSAGES/0000755000175000017500000000000013467766037015377 5ustar varunvarunpychess-1.0.0/lang/te/LC_MESSAGES/pychess.mo0000644000175000017500000001200513467766036017407 0ustar varunvarunA$Y,    , 2 >J\n      "'J_x(   ' 2> E O Z e s~   j)6 &`  9 (   12 d 7}     9 4L C @ _ f } 4   $4Kj(7:sP52 JWwa &>ew  !-1D$`0-<3@t<4. @5:0"=$*21;9A7 '/,- & (% 6>?)+ !8#3%(white)s won the gameOpen GameYour Color_Start GameAbout ChessBlackChess GameEdit commentEnginesEnter GameGame informationGuestHow to PlayHuman BeingLeave _FullscreenLoad _Recent GameLog on as _GuestManage enginesManually accept opponentNew GameOpen GameOpponent RatingPo_rts:Pre_viewPreferencesPyChess.py:RandomRatingSave GameSave Game _AsSelect engineSelect the games you want to save:Show tips at startupThe game ended in a drawThe game has been killedTimeTip Of The dayTip of the DayWhiteWhite:You can't switch colors during the game._Accept_Decline_Edit_Engines_Fullscreen_Game_Game List_Load Game_Log Viewer_Name:_New Game_Opponent:_Password:_Rotate Board_Save Game_Show Sidepanels_Start Game_View_Your Color:blackgnuchess:resignwhiteProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Telugu (http://www.transifex.com/gbtami/pychess/language/te/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: te Plural-Forms: nplurals=2; plural=(n != 1); %(white)s ఆట గెలిచారుఆటను తెరువుమీ రంగుఆటను ప్రారంభించు(_S)చదరంగం గురించినలుపుచదరంగపు ఆటవ్యాఖ్యను సవరించుయంత్రాలుఆటలోకి ప్రవేశించండిఆట సమాచారముఅతిథిఆడటం ఎలామానవుడుపూర్తితెరను విడువు (_F)ఇటీవలి ఆటను నింపు (_L)అతిథి వలె ప్రవేశించండి (_G)యంత్రాలను నిర్వహించండిప్రత్యర్థిని మానవీయంగా ఆమోదించండికొత్త ఆటఆటను తెరువుప్రత్యర్థి రేటింగుపోర్టులు (_r):మునుజూపు (_v)ప్రాధాన్యతలుపైచెస్.py:యాదృచ్ఛికంరేటింగుఆటను భద్రపరుచుఆటను ఇలా భద్రపరుచు (_A)యంత్రాన్ని ఎంచుకోండిమీరు భద్రపరచాలనుకుంటున్న ఆటలను ఎంచుకోండి:చిట్కాలను ప్రారంభంలో చూపించుఆట డ్రాగా ముగిసిందిఆట అంతము చేయబడిందిసమయంనేటి చిట్కానేటి చిట్కాతెలుపుతెలుపు:ఆట ఆడుతున్నప్పుడు రంగులు మార్చలేరు.ఆమోదించు (_A)తిరస్కరించు (_D)సవరణ (_E)యంత్రాలు (_E)పూర్తితెర (_F)ఆట (_G)ఆట జాబితా (_G)ఆటను నింపు (_L)చిట్టా వీక్షకం (_L)పేరు (_N):కొత్త ఆట (_N)ప్రత్యర్థి (_O):సంకేతపదం (_P):బోర్డును తిప్పు (_R)ఆటను భద్రపరుచు (_S)పక్కఫలకాలను చూపించు (_S)ఆటను ప్రారంభించు (_S)వీక్షణం (_V)మీ రంగు (_Y):నలుపుగ్నూచదరంగం:రాజీనామాతెలుపుpychess-1.0.0/lang/te/LC_MESSAGES/pychess.po0000644000175000017500000043637013455543007017415 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # ప్రవీణ్ ఇళ్ళ , 2013 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Telugu (http://www.transifex.com/gbtami/pychess/language/te/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: te\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "ఆట (_G)" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "కొత్త ఆట (_N)" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "ఆటను నింపు (_L)" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "ఇటీవలి ఆటను నింపు (_L)" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "ఆటను భద్రపరుచు (_S)" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "ఆటను ఇలా భద్రపరుచు (_A)" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "సవరణ (_E)" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "యంత్రాలు (_E)" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "వీక్షణం (_V)" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "బోర్డును తిప్పు (_R)" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "పూర్తితెర (_F)" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "పూర్తితెరను విడువు (_F)" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "పక్కఫలకాలను చూపించు (_S)" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "చిట్టా వీక్షకం (_L)" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "చదరంగం గురించి" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "ఆడటం ఎలా" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "నేటి చిట్కా" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "ప్రాధాన్యతలు" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "ఆట సమాచారము" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "తెలుపు:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "యంత్రాలను నిర్వహించండి" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "తెలుపు" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "నలుపు" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "పైచెస్.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "గ్నూచదరంగం:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "సంకేతపదం (_P):" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "పేరు (_N):" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "అతిథి వలె ప్రవేశించండి (_G)" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "పోర్టులు (_r):" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "ఆమోదించు (_A)" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "తిరస్కరించు (_D)" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "రేటింగు" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "సమయం" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "అతిథి" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "ఆట జాబితా (_G)" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "మునుజూపు (_v)" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "మీ రంగు" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "ప్రత్యర్థిని మానవీయంగా ఆమోదించండి" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "కొత్త ఆట" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "ఆటను ప్రారంభించు (_S)" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "ఆటను తెరువు" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "మీరు భద్రపరచాలనుకుంటున్న ఆటలను ఎంచుకోండి:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "ప్రత్యర్థి (_O):" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "మీ రంగు (_Y):" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "ఆటను ప్రారంభించు(_S)" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "నేటి చిట్కా" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "చిట్కాలను ప్రారంభంలో చూపించు" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "ఆటను తెరువు" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "రాజీనామా" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "ఆట ఆడుతున్నప్పుడు రంగులు మార్చలేరు." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "చదరంగపు ఆట" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "ఆట డ్రాగా ముగిసింది" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s ఆట గెలిచారు" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "ఆట అంతము చేయబడింది" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "యాదృచ్ఛికం" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "తెలుపు" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "నలుపు" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "ప్రత్యర్థి రేటింగు" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "యంత్రాన్ని ఎంచుకోండి" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "మానవుడు" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "ఆటలోకి ప్రవేశించండి" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "ఆటను భద్రపరుచు" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "వ్యాఖ్యను సవరించు" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "యంత్రాలు" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/ka/0000755000175000017500000000000013467766037013575 5ustar varunvarunpychess-1.0.0/lang/ka/LC_MESSAGES/0000755000175000017500000000000013467766037015362 5ustar varunvarunpychess-1.0.0/lang/ka/LC_MESSAGES/pychess.mo0000644000175000017500000000336613467766035017403 0ustar varunvarun<    ( 2<BK\ b m wj<;*Bf5?4T,q$$" ;"^2r#,    Load _Recent GameOffer _AbortPlay _Internet ChessPlayer _RatingSave Game _AsSetup Position_Actions_Analyze Game_Copy FEN_Copy PGN_Edit_Engines_Export Position_Game_Load Game_New Game_Save GameProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Georgian (http://www.transifex.com/gbtami/pychess/language/ka/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: ka Plural-Forms: nplurals=2; plural=(n!=1); ჩატვირთეთ _ბოლო თამაშიშეთავაზების _გაუქმებაითამაშეთ _ონლაინ ჭადრაკიმოთამაშის _რეიტინგიშეინახეთ თამაში _როგორცპოზიციის განლაგება_ქმედებები_თამაშის ანალიზი_FEN ის კოპირება_PGN ის კოპირება_რედაქტირება_ძრავები_პოზოციის ჩამოტვირთვა_თამაში_თამასის ჩატვირთვა_ახალი თამაში_შეინახეთ თამაშიpychess-1.0.0/lang/ka/LC_MESSAGES/pychess.po0000644000175000017500000043312513455542751017400 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # Daviti Chkhaidze , 2018 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Georgian (http://www.transifex.com/gbtami/pychess/language/ka/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ka\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_თამაში" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_ახალი თამაში" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "ითამაშეთ _ონლაინ ჭადრაკი" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_თამასის ჩატვირთვა" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "ჩატვირთეთ _ბოლო თამაში" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_შეინახეთ თამაში" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "შეინახეთ თამაში _როგორც" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "_პოზოციის ჩამოტვირთვა" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "მოთამაშის _რეიტინგი" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "_თამაშის ანალიზი" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_რედაქტირება" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_PGN ის კოპირება" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "_FEN ის კოპირება" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "_ძრავები" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_ქმედებები" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "შეთავაზების _გაუქმება" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "პოზიციის განლაგება" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/ja/0000755000175000017500000000000013467766037013574 5ustar varunvarunpychess-1.0.0/lang/ja/LC_MESSAGES/0000755000175000017500000000000013467766037015361 5ustar varunvarunpychess-1.0.0/lang/ja/LC_MESSAGES/pychess.mo0000644000175000017500000001060413467766035017373 0ustar varunvarunIda0 1;@GMbqC  *;AF MX jw  #  *29> G Q_v  p  " 0 8 C>         " e&        _ k       %% K "a     !   1' Y er  3;  'B+ n y    )=T kuy1 DH/+G 5>="4AF6!,7' &#2CB?@ (.*-%<I$E 90 3);8: + %d sec min%d min5 minChess VariantOptionsPlayers_Start GamePyChess is discovering your engines. Please wait.Auto-logoutBishopBlitz:ChatClose _without SavingCommentsConnecting to serverConnection ErrorHintsKingKnightLightning:Load _Recent GameLog on ErrorLog on as _GuestLogging on to serverNew GameOfflineOnlineOpen GameOpponent RatingPawnPre_viewPromotionPyChess - Connect to Internet ChessPyChess.py:QueenQuit PyChessR_esignRatingRookS_ign upSave GameSave Game _AsSetting up environmentShredderLinuxChess:Side_panelsStandard:The analyzer will run in the background and analyze the game. This is necessary for the hint mode to workThemesUninstallUse _analyzerWelcomeWhiteYou have been logged out because you were idle more than 60 minutes_Accept_Decline_Game_Game List_Load Game_Name:_New Game_Next_Password:_Player List_Previous_Rotate Board_Save Game_Start Gamegnuchess:minresignsecProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Japanese (http://www.transifex.com/gbtami/pychess/language/ja/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: ja Plural-Forms: nplurals=1; plural=0; + %d 秒 分%d 分5 分変則チェスオプションプレイヤーゲームの開始(_S)PyChess がエンジンを取得しています. 少しお待ちください.自動ログアウトビショップ早指し:チャット保存せずに閉じる(_W)コメントサーバに接続中接続エラーヒントキングナイト超早指し:最近のゲームの読み込み(_R)ログオンエラーゲストとしてログオン(_G)サーバにログオン中新ゲームオフラインオンラインゲームを開く対戦相手のレイティングポーンプレビュー(_V)昇進PyChess - インターネットチェスに接続PyChess.py:クイーンPyChessを終了投了(_E)レイティングルークサインアップ(_I)ゲームの保存ゲームを別名で保存(_A)環境の設定中ShredderLinuxChess:サイドパネル(_P)標準:アナライザはバックグラウンドで動作し、ゲームを分析します。 これはヒントモードを動作させるのに必要ですテーマアンインストールアナライザを使用(_A)ようこそ白60 分以上動作が無かったためログアウトしました同意(_A)拒否(_D)ゲーム(_G)ゲームの一覧(_G)ゲームの読み込み(_L)名前(_N)新ゲーム(_N)次へ(_N)パスワード(_P)プレイヤーの一覧(_P)前へ(_P)盤面の回転(_R)ゲームの保存(_S)ゲームの開始(_S)gnuchess:分投了秒pychess-1.0.0/lang/ja/LC_MESSAGES/pychess.po0000644000175000017500000043445513455542724017406 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2007 # Hirofumi Endo , 2013 # Masato Mukoda , 2012 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Japanese (http://www.transifex.com/gbtami/pychess/language/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "ゲーム(_G)" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "新ゲーム(_N)" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "ゲームの読み込み(_L)" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "最近のゲームの読み込み(_R)" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "ゲームの保存(_S)" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "ゲームを別名で保存(_A)" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "投了(_E)" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "盤面の回転(_R)" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "アナライザを使用(_A)" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "アナライザはバックグラウンドで動作し、ゲームを分析します。 これはヒントモードを動作させるのに必要です" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "アンインストール" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "サイドパネル(_P)" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "テーマ" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "昇進" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "クイーン" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "ルーク" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "ビショップ" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "ナイト" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "キング" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "白" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess がエンジンを取得しています. 少しお待ちください." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - インターネットチェスに接続" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "パスワード(_P)" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "名前(_N)" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "ゲストとしてログオン(_G)" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "サインアップ(_I)" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "超早指し:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "標準:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "早指し:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 分" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "同意(_A)" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "拒否(_D)" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "レイティング" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "プレイヤーの一覧(_P)" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "ゲームの一覧(_G)" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "プレビュー(_V)" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "変則チェス" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "オプション" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "前へ(_P)" #: glade/findbar.glade:192 msgid "_Next" msgstr "次へ(_N)" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "新ゲーム" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "ゲームの開始(_S)" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "プレイヤー" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "PyChessを終了" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "保存せずに閉じる(_W)" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "ゲームの開始(_S)" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "ようこそ" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "ゲームを開く" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "投了" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "分" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "秒" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "ポーン" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "サーバに接続中" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "サーバにログオン中" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "環境の設定中" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "オンライン" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "オフライン" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d 分" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr " + %d 秒" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "対戦相手のレイティング" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "接続エラー" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "ログオンエラー" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "自動ログアウト" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "60 分以上動作が無かったためログアウトしました" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "チャット" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " 分" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "ゲームの保存" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "ヒント" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "コメント" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/ku/0000755000175000017500000000000013467766037013621 5ustar varunvarunpychess-1.0.0/lang/ku/LC_MESSAGES/0000755000175000017500000000000013467766037015406 5ustar varunvarunpychess-1.0.0/lang/ku/LC_MESSAGES/pychess.mo0000644000175000017500000000143113467766035017416 0ustar varunvarun d #%*2 9kD     Gain:Log on as _GuestMinutes:PyChess - Connect to Internet ChessTime_Accept_Name:_Password:Project-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Kurdish (http://www.transifex.com/gbtami/pychess/language/ku/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: ku Plural-Forms: nplurals=2; plural=(n != 1); Têk birWekî _Mêvan têkevêXulek:PyKişik - Girêde Kişika TorêDem_Bipejirîne_Nav:_Şîfre:pychess-1.0.0/lang/ku/LC_MESSAGES/pychess.po0000644000175000017500000043166013455542744017430 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2008 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Kurdish (http://www.transifex.com/gbtami/pychess/language/ku/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ku\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyKişik - Girêde Kişika Torê" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Şîfre:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Nav:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Wekî _Mêvan têkevê" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Bipejirîne" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Dem" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Xulek:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Têk bir" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/he/0000755000175000017500000000000013467766037013576 5ustar varunvarunpychess-1.0.0/lang/he/LC_MESSAGES/0000755000175000017500000000000013467766037015363 5ustar varunvarunpychess-1.0.0/lang/he/LC_MESSAGES/pychess.mo0000644000175000017500000000324113467766036017375 0ustar varunvarun C] d o{#     ". 4>O# s}1   /C KU\d kx      0 Players ReadyPyChess is discovering your engines. Please wait.Blitz:Lightning:Local EventLog on as _GuestNew GamePyChess - Connect to Internet ChessPyChess.py:RatingS_ign upSave GameShredderLinuxChess:Site:Standard:Time_Accept_Name:_Password:_Start Game_Viewgnuchess:Project-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Hebrew (http://www.transifex.com/gbtami/pychess/language/he/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: he Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3; 0 שחקנים מוכניםPyChess הגלה את המנועים שלך. אנא המתן.בליץ:בזק:אירוע מקומיהתחבר בתור _Guestמשחק חדשPyChess - התחבר לשח-מט באינטרנטPyChess.py:דירוג_הירשםשמירת משחקShredderLinuxChess:אתר:רגיל:זמן_קבל_שם:_סיסמה:_התחל משחק_עריכהgnuchess:pychess-1.0.0/lang/he/LC_MESSAGES/pychess.po0000644000175000017500000043257613455542772017415 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2007 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Hebrew (http://www.transifex.com/gbtami/pychess/language/he/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: he\n" "Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "_עריכה" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "אתר:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess הגלה את המנועים שלך. אנא המתן." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - התחבר לשח-מט באינטרנט" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_סיסמה:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_שם:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "התחבר בתור _Guest" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "_הירשם" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "בזק:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "רגיל:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "בליץ:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_קבל" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "דירוג" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "זמן" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 שחקנים מוכנים" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "משחק חדש" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_התחל משחק" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "אירוע מקומי" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "שמירת משחק" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/oc/0000755000175000017500000000000013467766037013603 5ustar varunvarunpychess-1.0.0/lang/oc/LC_MESSAGES/0000755000175000017500000000000013467766037015370 5ustar varunvarunpychess-1.0.0/lang/oc/LC_MESSAGES/pychess.mo0000644000175000017500000003053213467766035017404 0ustar varunvarunl9  05';ct#$/>Xg{&C7*0([   #"FKRX_eln v   4 @Jd is y     +.3DFK R^ p z        * 6CK R\ ly     # ?KM S`bjq w     ,28 AKRU5X  ,7IN blt|    ! *6 <GP V am t~       0; A"K+nv z! !! !!!!!!!!""%#"I"X"i"y"""""" #'#"7# Z#-h#M#=#7"$2Z$$$$$$ %% +%6%8%!U%w%{%%%%%% %%%%%%& &$&6&L&_& ~&& &&&&&' ('5'='@'U'g'o''''''' ( ((((/(1( 5(?([(z(( (((( ( (() )))-)4) C)O)`)v)) ) ))))) **** -*:*?**E*p**** ** *1* * + ++"+ $+ .+8+>+U+[+a+{+ ++++ +++,,4,D,c, k, u, ,,,,B,,",-.-G-f- j------ - - -- ..-.K.O. S.^.d.l.. ...%.../ //$/+/;/T/\/m/v/ // / //// 00%0 D0O0 b0l0 u0*0=00111/1J1 N17yl_\:Muir /(jB}cN)*3DQYHZ|h[@GKe;] &L.APxTV0fEkw %1C4{ O?m+aFnRU' 6`bvd$Izq=~<t-J!p"o9^2Ss>X 5g#8W, Gain: + %d sec min%d min%s returns an error'%s' is not a registered name(Blitz)*0 Players Ready0 of 010 min + 6 sec/move, White12005 minPromote pawn to what?AnalyzingAnimationChess VariantEnter Game NotationInitial PositionName of _first human player:Name of s_econd human player:Opponent StrengthOptionsPlay Sound When...PlayersTime ControlYour ColorEngine, %s, has diedPyChess is discovering your engines. Please wait.PyChess was not able to save the gameUnable to save file '%s'Unknown file type '%s'Challenge:A player _checks:A player _moves:A player c_aptures:About ChessAdministratorAll Chess FilesAvailableBBecause %(loser)s resignedBecause of adjudication by an adminBeepBishopBlackBlack:BlitzBlitz:CCenter:Challenge: Challenge: Chess GameChess PositionClockClose _without SavingCommentsConnectingConnecting to serverConnection ErrorConnection was closedCould not save the fileCreate SeekDate/TimeDetect type automaticallyDiedEdit SeekEmailEnter GameEvent:ExaminingFMFile existsFischer RandomGain:Game informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:GuestHideHow to PlayHuman BeingIMIdleInitial positionKKingKnightKnight oddsLeave _FullscreenLightningLocal EventLocal SiteLog on ErrorLog on as _GuestManualMinutes:Minutes: Move HistoryNNameNew GameNo soundNormalNot AvailableObserveObserved _ends:Offer _AbortOffer _DrawOffer _PauseOfflineOnlineOpen GameOpen Sound FileOpening BookOpponent's strength: OtherPPawnPawn oddsPawns PassedPingPlayPlay normal chess rulesPlayer _RatingPlayingPo_rts:Pre_viewPreferencesPrivatePromotionPyChess - Connect to Internet ChessPyChess.py:QQueenQuit PyChessRR_esignRandomRatedRated gameRatingRookRook oddsRound:S_ign upSave GameSave Game _AsScoreSearch:Seek _GraphSelect sound file...Send seekShow tips at startupShuffleSimple Chess PositionSite:SpentStandardStandard:StatusTDTMThe connection was broken - got "end of file" messageThe error was: %sThe game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedTimeTime control: Tip of the DayTolerance:Translate PyChessTypeUnable to accept %sUninstallUnknownUnratedUntimedUpside DownUse _analyzerUse _inverted analyzerWGMWIMWelcomeWhiteWhite:You sent a draw offerYour strength: _Accept_Actions_Call Flag_Clear Seeks_Decline_Fullscreen_Game_Game List_General_Help_Load Game_Log Viewer_Name:_New Game_Next_Observed moves:_Password:_Player List_Previous_Replace_Rotate Board_Save Game_Seeks / Challenges_Sounds_Start Game_Use sounds in PyChess_Viewcaptures materialdefends %sdrawsgnuchess:http://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyincreases the pressure on %sminonline in totalputs opponent in checksecwindow1Project-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Occitan (post 1500) (http://www.transifex.com/gbtami/pychess/language/oc/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: oc Plural-Forms: nplurals=2; plural=(n > 1); Ganh : + %d seg min%d minutas%s torna una error'%s' es pas un nom enregistrat(Blitz)*0 Jogaires prèstes0 de 010 min + 6seg/movement , Blancs12005 minPromòure pion en ?AnalisiAnimacionVariantaEntrar la nòta del jòcPosicion InicialaNom del _primièr jogaireNom del _segond jogaireFòrça de l'adversariOpcionsJogar un son quand...JogairesParamètres del cronomètreVòstra colorLo motor, %s, s'es arrestatPyChess recèrca los motors de jòc disponibles. Pacientatz.PyChess es pas capable de salvar la partidaImpossible de salvar lo fichièr '%s'Tipe de fichièr desconegut '%s'Desfiar :Verificacion _JogaireUn jogaire se _desplaça :Un jogaire c_aptura :A Prepaus dels EscacsAdministradorTotes los fichièrs d'escacsDisponibleFPerque %(loser)s a abandonatPer arbitratge d'un administratorBipFòlNegreNegre :RapidBlitz :°CCentrar :Demanda d'accès : Desfiar : Partida d'escacsPosicion d'EscacRelòtgeTampar _sens enregistrarComentarisConnexion en corsConnexion al servidorError de connexionLa connexion es estada tampadaImpossible de salvar lo fichièrCrear una requèstaData / oraDetectar lo tipe automaticamentMòrtasEditar una requèstaCorrièr electronicEntrar dins la partidaEveniment :AnalisiFMLo fichièr existísFischer aleatòriGanh :Informacions Sus La PartidaLa partida es _ex-aequoLa partida es _perduda :La partida es _configurada :La partida es _ganhadaConvidatAmagarCossí jogarUmanIMInactiuPosicion inicialaRReiCavalièrPossibilitats del cavalièrQuitar lo mòde _ecran completLhaucesEveniment localSite localError a l'autentificacionSe connectar coma convidatManualMinutas :Minutas : Istoric dels movementsNNomPartida novèlaPas cap de sonNormalPas disponibleObservacion_Fin observada :Prepausar un _abandonPrepausar _ex-aequo_PausaDesconnectatEn marchaDobrir una partidaDobrir lo fichièr de sonBibliotèca de boberturasNivèl de l'adversari : AutrePPionPossibilitats del pionPions liuresPingAviarJogar amb las règlas normalas dels escacsJogaire _NòtaEn cors de lecturaPòrts :Pre_visualizacionPreferénciasPrivatPromocionPyChess - Connexion al jòc d'escacs sus internetPyChess.py:DReinaQuitar PyChess.RAbandonarAleatòriNotatPartida amb classamentNòtaTorrePossibilitats de la torreTorn :inscripcionSalvar La PartidaSalvar la Partica Jo_sMarcaRecercar :Graf de las requèstasSeleccionar un fichièr son...Mandar una requèstaAfichar de conselhs a l'aviadaMòde aleatòriPosicion simpla de las pèçasSite :DespensatEstandardEstandard :EstatTDTMLa connexion es estada copada - Messatge "fin de fichièr" recebutL'error es : %sLa partida s'es acabada per un nulLa partida es estada abandonadaLa partida es suspendudaLa partida es estada destruchaOraParamètres del cronomètre : Conselh del jornTolerança  :Traduire PyChessTipeAutoriza a acceptar %sDesinstallarDesconegutPas notatSens temporizacionInversatUtilizar l'_analisadorUtilizar _analisador inversatWGMWIMBenvengudaBlancBlanc :Avètz prepausat l'ex-aequoVòstre nivèl : _Acceptar_Accions_Victòria Al Temps_Inicializar las ofèrtas de partidas_RefusarEcran _complet_PartidaLista de partidas_General_Ajuda_Cargar Partida_Informacions del Jornal_Nom :Partida _novèla_Seguent_Desplaçaments observats :Sen_hal :Lista dels jogaires_Precedent_Remplaçar_Rotacion de l'Escaquièr_Salvar la PartidaRequèstas / Desfís_SonsComençar La Partida_Activar los sons dins Pychess_Afichatgecaptura una pèçadefend %sEgalitatgnuchess:http://oc.wikipedia.org/wiki/Jòc_d'escacshttp://oc.wikipedia.org/wiki/R%C3%A8glas_del_jòc_d%27%escacsmelhora la seguretat del reifa pression sus %sminConnectat al totalmet l'adversari en fracàssegFenèstra 1pychess-1.0.0/lang/oc/LC_MESSAGES/pychess.po0000644000175000017500000044117713455542733017414 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # Cédric Valmary , 2016 # FIRST AUTHOR , 2008 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Occitan (post 1500) (http://www.transifex.com/gbtami/pychess/language/oc/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: oc\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Partida" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "Partida _novèla" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Cargar Partida" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Salvar la Partida" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Salvar la Partica Jo_s" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Jogaire _Nòta" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Accions" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Prepausar un _abandon" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Prepausar _ex-aequo" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "_Pausa" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Victòria Al Temps" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "Abandonar" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Afichatge" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Rotacion de l'Escaquièr" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "Ecran _complet" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Quitar lo mòde _ecran complet" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_Informacions del Jornal" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Ajuda" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "A Prepaus dels Escacs" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Cossí jogar" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Traduire PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Conselh del jorn" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Preferéncias" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Nom del _primièr jogaire" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Nom del _segond jogaire" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animacion" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_General" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Utilizar l'_analisador" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Utilizar _analisador inversat" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analisi" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Desinstallar" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Activar los sons dins Pychess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "Verificacion _Jogaire" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Un jogaire se _desplaça :" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "La partida es _ex-aequo" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "La partida es _perduda :" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "La partida es _ganhada" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Un jogaire c_aptura :" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "La partida es _configurada :" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "_Desplaçaments observats :" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "_Fin observada :" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Jogar un son quand..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Sons" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Promocion" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Reina" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Torre" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Fòl" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Cavalièr" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Rei" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Promòure pion en ?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Informacions Sus La Partida" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Site :" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Negre :" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Torn :" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Blanc :" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Eveniment :" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Blanc" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Negre" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess recèrca los motors de jòc disponibles. Pacientatz.Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "Sen_hal :" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Nom :" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Se connectar coma convidat" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Pòrts :" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "inscripcion" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Desfiar : " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Desfiar :" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Estandard :" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Blitz :" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 min + 6seg/movement , Blancs" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 min" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "_Inicializar las ofèrtas de partidas" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Acceptar" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Refusar" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Mandar una requèsta" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Crear una requèsta" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Estandard" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Rapid" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Lhauces" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "Requèstas / Desfís" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Nòta" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Ora" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "Graf de las requèstas" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 Jogaires prèstes" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Observacion" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Convidat" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "Lista dels jogaires" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "Lista de partidas" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "Pre_visualizacion" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Editar una requèsta" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Sens temporizacion" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minutas : " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr " Ganh : " #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Paramètres del cronomètre : " #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Paramètres del cronomètre" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Vòstre nivèl : " #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Blitz)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Nivèl de l'adversari : " #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Centrar :" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Tolerança  :" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Amagar" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Fòrça de l'adversari" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Vòstra color" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Jogar amb las règlas normalas dels escacs" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Aviar" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Varianta" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Partida amb classament" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Opcions" #: glade/findbar.glade:6 msgid "window1" msgstr "Fenèstra 1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 de 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Recercar :" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Precedent" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Seguent" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Partida novèla" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "Començar La Partida" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Jogaires" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Posicion Iniciala" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Entrar la nòta del jòc" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Quitar PyChess." #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Tampar _sens enregistrar" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Afichar de conselhs a l'aviada" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://oc.wikipedia.org/wiki/Jòc_d'escacs" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://oc.wikipedia.org/wiki/R%C3%A8glas_del_jòc_d%27%escacs" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Benvenguda" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Dobrir una partida" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "Autoriza a acceptar %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s torna una error" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Posicion d'Escac" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Desconegut" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Posicion simpla de las pèças" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Partida d'escacs" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Mòrtas" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Eveniment local" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Site local" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "min" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "seg" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Pion" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "N" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "F" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "R" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "D" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "R" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "La partida s'es acabada per un nul" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "La partida es estada destrucha" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "La partida es suspenduda" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "La partida es estada abandonada" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "Per arbitratge d'un administrator" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "Perque %(loser)s a abandonat" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Fischer aleatòri" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "Possibilitats del cavalièr" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Normal" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "Possibilitats del pion" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "Pions liures" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Aleatòri" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "Possibilitats de la torre" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Mòde aleatòri" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "Inversat" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "La connexion es estada copada - Messatge \"fin de fichièr\" recebut" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' es pas un nom enregistrat" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Connexion al servidor" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "En marcha" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Desconnectat" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "Disponible" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "En cors de lectura" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "Inactiu" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "Analisi" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "Pas disponible" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Pas notat" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Notat" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d minutas" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr " + %d seg" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Privat" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Error de connexion" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Error a l'autentificacion" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "La connexion es estada tampada" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Autre" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Administrador" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "°C" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "TD" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "TM" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "IM" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "FM" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "WGM" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "WIM" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Avètz prepausat l'ex-aequo" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Lo motor, %s, s'es arrestat" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Uman" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minutas :" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Ganh :" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Entrar dins la partida" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Dobrir lo fichièr de son" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Pas cap de son" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Bip" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Seleccionar un fichièr son..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "Egalitat" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "met l'adversari en fracàs" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "melhora la seguretat del rei" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "captura una pèça" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "fa pression sus %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "defend %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Relòtge" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Tipe" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Data / ora" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Corrièr electronic" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Despensat" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "Connectat al total" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Connexion en cors" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Nom" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "Estat" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Demanda d'accès : " #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Manual" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " min" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Detectar lo tipe automaticament" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Salvar La Partida" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Tipe de fichièr desconegut '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Impossible de salvar lo fichièr '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Remplaçar" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Lo fichièr existís" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Impossible de salvar lo fichièr" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess es pas capable de salvar la partida" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "L'error es : %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Totes los fichièrs d'escacs" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Bibliotèca de boberturas" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Comentaris" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Posicion iniciala" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Istoric dels movements" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Marca" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/es/0000755000175000017500000000000013467766037013611 5ustar varunvarunpychess-1.0.0/lang/es/LC_MESSAGES/0000755000175000017500000000000013467766037015376 5ustar varunvarunpychess-1.0.0/lang/es/LC_MESSAGES/pychess.mo0000644000175000017500000033164013467766035017416 0ustar varunvarunV*|Uq q rGrVr ]r$jr rrrr+rs !s-s2s/Fs0vs[sNtRt%it`t(t+u'Eu3mu#u%u@u7,v0dv#vvvv w!w(w#@w$dww'ww w!wQxJmx>xxy!y?yAyCyEyUy\y`ydymyuyy yyy yyy0y'z@7zxzzzzzzz{{:{#K{$o{#{{{{{||8|G|]|q||||?|Q}&X}$}+}C}7~UL~"~*~(~/e} &.ŀ '7F(X S )F L Zfmmۂ (7K ivC   '2 FS \fnt ӄ ڄ*E [ g q|~ ƅх/څS Q^φ! ,M/jSQ#@*d-"+( 5rԉ GKh'%܊O-R3$6ً#E4Az!ڌ!-&L-s; ݍBAFNV]ck pz $#Ԏ% ɏ"ԏ#*F M Wasy Ґ ϑؑ   (82kt{. ĒΒݒ  -> CQ"g  Ɠ̓ғ 6V%V|RӔS& zŕݕ*,)1V  ɖӖ&ٖ   1GO:X /Зٗ  / 8C [| Xb oƙΙ !* /9?RZbj<%F.Gu`A`y "ÜȜΜp֜ GUlYƝ Ν ؝ *1 7CG"Mp 1ɞe}m &3.Z 1֠ܠ $:5p 0@ܡDHbFH;=7uwA} 7 EQTj  &ǧ!&78? x èʨШ  Ʃש   >M^n} Īժaiq w  ǫѫ٫ ޫ $,43h o}լ!ܬ #)2 ;EK Q ] jv:~$ޭ1G6A~W> XLRBc;]?B=;qS.OFҴ '/ 6@G&W~$ εܵ)+ 1;MR c q| ˸и ظD06>DKRk  ȹ+й & +LSYks|$E* p~ ɻ  % 1< DQbw~ + ƼѼ+ؼ " (6E LZs  !½  (;U\ e p {  ¾ ɾԾܾ޾.I O/[  #ȿ$$#6#Z#~  C&AJZip     *6 I U c p { t,U*+* .9h mw 4+2:@[rt}   "' 0:?Y kx    [3 8/>'Fn w #u ".06 < G Ubd ly  %<Q X cq 41fy,  +L R ]g } (-FU*p %:Pm ~"  !)@W f q}B$)@Ui q ~  /&/8HLP  , !' -7 @J]dw   !68;> Ydl pHh5"C5K;J493AuR3c+GTY 9ZQjI}`CSZdK-,~ZE,ALA    ".=LRY $8J^ow ~,uyx ( 7A4V$  ! )7Nd {  Q6V" 906:>BGUYM )8" ( 3 =$I#n% "#* 5< AL_c  BS98?r9(/yEC$3(&\=aw% ,tM%)lO!n/M&}(&''|D   # 1&; b m z   %  + 6 BL S]c t   $ (<M Ua+j !)8$]w1}'$ !/ Q\{ 5"e+{'/59>C!`    $4,;6h( %9=B`#t! "&,4=D0Dk.  D   !  - )7 a ~ <     > 3S ` L 5 -T g 3 2 $Q @v " % ?6@/w'# .MTk(#H>BH$8#@dfhj} $   2$JFo &%Le#~)*' 2Gby" )9UOmP5(D,mS4a#(52,/e5!,,?^|9ai0  mdlt "("EhpwN    *4<BWfw 5*B X cn p{ 5^ `{ # #!!$!F!!b!!5!^!_8"$"1"+"*#'F#(n##[$&$G %*S%'~%V%0%9.&,h&>&!&O&>F'''/'0'.(1=(=o(=(#(F)V) ])i)r)z))))))) ) ) )+)/*03*d*=+AR+?+2+,,,!,1,7,>,!N,p,,, ,,,)b----- ----- - -- -8-6.?.F.X.:a. . ..... ..//"/7/&N/u/}/ ///////?/g&0Z0Z0ZD11 111112 29*27d2H2 2 2 2 33 3 ,3 63B3%H3 n3y3333 3A3 424 M4X4 `4k4 444 4!4*45&565qT5v5$=6!b6#66666666666 77 7'7.7?7 H7 T7!^7'7P778.858D8DM8H8h8DD99 99 9#9999: ::~:;;-;@;R;7p;; ;;;);; <<9%<_<)=1====>>33>.g>>> >1>>>>> ? ?*???=T????#?6?B @DO@H@F@H$A,mAbBCD[E E EF F*FFF `FlFqFFIF7F2GBGPJG1G G GGGH HHHHHHI)IZFZVZ=]ZZZZZZZZZ Z [[[%[-[5[H[*Q[|[[ [[#[[[[[\ \\ \%\\\[\ &]4] F] Q]]]x]]]]]] ^ ^^+^=^ W^x^^^ ^^,^ ^^+^___&_+_ 1_>_V_]_q__ __ __ __(_ ``!`<` E`P`a`z`` ` ` `` ` ```` a aa$a&a)a0aBaJa[a aa<kaaa2aaa a b b%b%:b'`b'b&b&b%b$c -c7c KcUc\cdcicByc#c ccddd3dLd Td!bddd dd ddddee&e7eIe[eke{eeee eeoe'Gf)of(f*f ff!g47glg rgggggg gTgShnhhhhhhh hhhhhi i &i0i8i>iDiUidiui {iiii iiiiiij.jAj Zj ejsj {j jjjj"jijJkYk wkkk kek&l:l$Blglpl xl l l#l"ll'mn oooooooo o o o pp .p9p Op[p mp {pp p pppp qq"q7q"Mq pq zqqqqqqqqqq!q%rC;rrrrr rr+rr ss.sFscs is ts~s sssss)s,tIt ctpttt&t5tu 8uDuMuUukuuu5u u"u"v"@vcv"wv*v vvvw#w+w /w9w @wJwewxw wwwAww.x4xSxqxxxxxx xxyy\/h@^OtĂKׂo#̓GL#߄rv2BY _nV'x K1҈EIJ ĉ։ *2;$ ,8>Qbt ċ8ɋ S-d 1 JV0n)ɍ " 4B ] hs{ ŏ*"5M iu{VH%,Re>m Ǒ SNl  ȒԒ˓ ӓ ߓ ,0&1WB@3#W` hs  ŕЕ/K<Q)M:w/B4%3Zw?(FMo-<(Λ $C`+}&kМ<~}^$i*+%%% ,2-_i"  &07@I R\ n0y Т ܢ *3FO3V ţգ   3 >Lb v  ,&AJ [Qgҥ 23/Ac3Ȧ%"@Q:X0 ħ#Ч  ( 2T>$h/!Qm ٪ %)* T uīԫ0=L-Ь  ':>%Ci+{&1έ<UY]enw~KA |f9nA <0YG567=U;P)%Pt4iE}WUZ`QUt5lX+RG[#j21 O);VN/5$f )TL} 1qOo+G0{AIO{bc4<xd,IWK/_ K] Cg!C+4zoRS|,:6.|:j ;Q.TGw:x"5V?sqI!k6?-c.KS?u38WAZ}CT\Qhzb2SF/fmn.]Ryi7P[&k1w oFl&'~*yw-h/!Jb1;=CKBX(*v,J&)cDZF_ &=6~M&<pg0hL$u-Yt.s 9?$!z-,A^Ne+r ((nAaH6+#mt~QMPam\[]T"sVeKplrOE7<(rN 1@Hd0)eqc xN{R(<MOIU`2D:"=gks aRDUZ0dtIwy;_-pj3>BJyCWi3<B{u^X?E8fHS2>S(b XZ##!;'l[={q TrC')^3M uXD 'h[*!9vn&Yd  * #P E/> \Hk@pI]@F5>MRY'" `an%o@W=6"|LOL m_v2y J,wD %7Q81P@4zBcNiB$  TH>sL*9*V/-3"D\i:~Lj0^`d#H^x|Y~} G_K7mMFoN7ah:e8+QA'%f8Fz9U x.g\%>E3 v}lrq9b]@S$p$euG `VJ5v%Bk?gj,V E 8J44 2 Gain: + %d sec challenges you to a %(time)s %(rated)s %(gametype)s game chess has arrived has declined your offer for a match has departed has lagged for 30 seconds invalid engine move: %s is censoring you is lagging heavily but hasn't disconnected is not installed is present min noplay listing you uses a formula not fitting your match request: where %(player)s plays %(color)s. with whom you have an adjourned %(timecontrol)s %(gametype)s game is online. would like to resume your adjourned %(time)s %(gametype)s game.%(black)s won the game%(color)s got a double pawn %(place)s%(color)s got an isolated pawn in the %(x)s file%(color)s got isolated pawns in the %(x)s files%(color)s got new double pawns %(place)s%(color)s has a new passed pawn on %(cord)s%(color)s moves a %(piece)s to %(cord)s%(counter)s game headers from %(filename)s imported%(minutes)d min + %(gain)d sec/move%(name)s %(minutes)d min %(duration)s%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s%(name)s %(minutes)d min / %(moves)d moves %(duration)s%(opcolor)s has a new trapped bishop on %(cord)s%(path)s containing %(count)s games%(player)s is %(status)s%(player)s plays %(color)s%(time)s for %(count)d moves%(white)s won the game%d min%s can no longer castle%s can no longer castle in kingside%s can no longer castle in queenside%s games processed%s moves pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent%s will identify what threats would exist if it were your opponent's turn to move%s will try to predict which move is best and which side has the advantage'%s' is a registered name. If it is yours, type the password.'%s' is not a registered name(Blitz)(Link is available on clipboard.)*-00 Players Ready0 of 00-11-01-minute1/2-1/210 min + 6 sec/move, White120015-minute2 min, Fischer Random, Black3-minute45-minute5 min5-minuteConnect to Online Chess ServerPromote pawn to what?PyChess was unable to load your panel settingsAnalyzingAnimationBoard StyleChess SetsChess VariantEnter Game NotationGeneral OptionsInitial PositionInstalled SidepanelsMove textName of _first human player:Name of s_econd human player:New version %s is available!Open GameOpen databaseOpening, endgameOpponent StrengthOptionsPlay Sound When...PlayersStart learningTime ControlWelcome screenYour Color_Connect to server_Start Game%s is not marked executable in the filesystemA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedError loading gameFile '%s' already exists.PyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to add %sUnable to save file '%s'Unknown file type '%s'Challenge:A game is made of an opening, a middle-game and an end-game. PyChess is able to train you thanks to its opening book, its supported chess engines and its training module.A player _checks:A player _moves:A player c_aptures:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortAbout ChessAc_tiveAcceptActivate alarm when _remaining sec is:Active color field must be one of w or b. %sActive seeks: %dAdd commentAdd evaluation symbolAdd move symbolAdd new filterAdd start commentAdd sub-fen filter from position/circlesAdd threatening variation lines Adding suggestions can help you find ideas, but slows down the computer's analysis.Additional tagsAddress ErrorAdjournAdjourned, history and journal games listAdminAdministratorAfghanistanAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbaniaAlgeriaAll Chess FilesAll the evaluationsAll whiteAmerican SamoaAnalysis by %sAnalyze black movesAnalyze from current positionAnalyze gameAnalyze white movesAnalyzer's primary variationAndorraAngolaAnguillaAnimate pieces, board rotation and more. Use this on fast machines.Annotated gameAnnotationAnnotatorAntarcticaAntigua and BarbudaAny strengthArchivedArgentinaArmeniaArubaAsian variantsAsk for permissionsAsk to _MoveAssessAsymmetric RandomAsymmetric Random AtomicAustraliaAustriaAuthorAuto Call _FlagAuto _promote to queenAuto _rotate board to current human playerAuto login on startupAuto-logoutAvailableAzerbaijanBB EloBack to main lineBackround image path :Bad moveBahamasBahrainBangladeshBarbadosBecause %(black)s lost connection to the serverBecause %(black)s lost connection to the server and %(white)s requested adjournmentBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s king explodedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause %(mover)s stalematedBecause %(white)s lost connection to the serverBecause %(white)s lost connection to the server and %(black)s requested adjournmentBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause %(winner)s has fewer piecesBecause %(winner)s king reached the centerBecause %(winner)s king reached the eight rowBecause %(winner)s lost all piecesBecause %(winner)s was giving check 3 timesBecause %(winner)s wiped out white hordeBecause a player aborted the game. Either player can abort the game without the other's consent before the second move. No rating changes have occurred.Because a player disconnected and there are too few moves to warrant adjournment. No rating changes have occurred.Because a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both king reached the eight rowBecause both players agreed to a drawBecause both players agreed to abort the game. No rating changes have occurred.Because both players agreed to an adjournmentBecause both players have the same amount of piecesBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause of adjudication by an admin. No rating changes have occurred.Because of courtesy by a player. No rating changes have occurred.Because practice goal reachedBecause the %(black)s engine diedBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBecause the server was shut downBecause the server was shut down. No rating changes have occurred.BeepBelarusBelgiumBelizeBeninBermudaBestBest moveBhutanBishopBlackBlack ELO:Black O-OBlack O-O-OBlack has a new piece in outpost: %sBlack has a rather cramped positionBlack has a slightly cramped positionBlack have to capture all white pieces to win. White wants to checkmate as usual. White pawns on the first rank may move two squares, similar to pawns on the second rank.Black moveBlack should do pawn storm in leftBlack should do pawn storm in rightBlack side - Click to exchange the playersBlack:BlindFoldBlindfoldBlindfold AccountBlitzBlitz:Blitz: 5 minBolivia (Plurinational State of)Bonaire, Sint Eustatius and SabaBosnia and HerzegovinaBotswanaBouvet IslandBrazilBringing your king legally to the center (e4, d4, e5, d5) instantly wins the game! Normal rules apply in other cases and checkmate also ends the game.British Indian Ocean TerritoryBrunei DarussalamBughouseBulgariaBulletBurkina FasoBurundiCCACMCabo VerdeCalculating...CambodiaCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCameroonCanadaCandidate MasterCapturedCastling availability field is not legal. %sCategory:Cayman IslandsCenter:Central African RepublicChadChallengeChallenge: Challenge: Change ToleranceChatChess AdvisorChess Alpha 2 DiagramChess Compositions from yacpdb.orgChess GameChess PositionChess ShoutChess clientChess960ChileChinaChristmas IslandClaim DrawClassic chess rules http://en.wikipedia.org/wiki/ChessClassic chess rules with all pieces white http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden figurines http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pawns http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pieces http://en.wikipedia.org/wiki/Blindfold_chessClassicalClassical: 3 min / 40 movesClearClockClose _without SavingCocos (Keeling) IslandsColombiaColorize analyzed movesCommand line interface to the chess serverCommand line parameters needed by the engineCommand line parameters needed by the runtime envCommand:CommentComment:CommentsComorosCompensationComputerComputersCongoCongo (the Democratic Republic of the)ConnectingConnecting to serverConnection ErrorConnection was closedConsoleContinueContinue to wait for opponent, or try to adjourn the game?Cook IslandsCool! Now let see how it goes in the main line.Copy FENCornerCosta RicaCould not save the fileCounterplayCountry of origin of the engineCountry:CrazyhouseCreate New Pgn DatabaseCreate New Polyglot Opening BookCreate Polyglot BookCreate SeekCreate a new databaseCreate new squence where listed conditions may be satisfied at different times in a gameCreate new streak sequence where listed conditions have to be satisfied in consecutive (half)movesCreate polyglot opening bookCreating .bin index file...Creating .scout index file...CroatiaCrushing advantageCubaCuraçaoCyprusCzechiaCôte d'IvoireDDMDark Squares :DatabaseDateDate/TimeDate:Decisive advantageDeclineDefaultDenmarkDestination Host UnreachableDetailed connection settingsDetailed settings of players, time control and chess variantDetect type automaticallyDevelopment advantageDiedDisplay MasterDjiboutiDo you know that a knight is better placed in the center of the board?Do you know that it is possible to finish a chess game in just 2 turns?Do you know that the number of possible chess games exceeds the number of atoms in the Universe?Do you really want to restore the default options of the engine ?Do you want to abort it?DominicaDominican RepublicDon't careDon't show this dialog on startup.DrawDraw:DrawishDue to abuse problems, guest connections have been prevented. You can still register on http://www.freechess.orgDummy AccountECOEach chess engine has its own evaluation function. It is normal to get different scores for a same position.EcuadorEdit SeekEdit Seek: Edit commentEdit selected filterEffect on ratings by the possible outcomesEgyptEl SalvadorEloEmailEn passant cord is not legal. %sEn passant lineEndgame TableEndgamesEngine playing strength (1=weakest, 20=strongest)Engine scores are in units of pawns, from White's point of view. Double clicking on analysis lines you can insert them into Annotation panel as variations.EnginesEngines use uci or xboard communication protocol to talk to the GUI. If it can use both you can set here which one you like.Enter GameEnvironmentEquatorial GuineaEritreaError parsing %(mstr)sError parsing move %(moveno)s %(mstr)sEstimated duration : %(min)d - %(max)d minutesEstoniaEthiopiaEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventEvent:ExamineExamine Adjourned GameExaminedExaminingExcellent moveExecutable filesExpected format as "yyyy.mm.dd" with the allowed joker "?"Export positionExternalsFAFEN needs 6 data fields. %sFEN needs at least 2 data fields in fenstr. %sFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns * No castling * Black's arrangement mirrors white'sFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED * No castling * Black's arrangement DOES NOT mirrors white'sFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Pawns start on their 7th rank rather than their 2nd rank!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Pawns start on 4th and 5th ranks rather than 2nd and 7thFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html White pawns start on 5th rank and black pawns on the 4th rankFIDE ArbeiterFIDE MasterFMF_ull board animationFace _to Face display modeFalkland Islands [Malvinas]Faroe IslandsFijiFile existsFilterFilter game list by current game movesFilter game list by opening movesFilter game list by various conditionsFiltersFilters panel can filter game list by various conditionsFind postion in current databaseFingerFinlandFirst gamesFischer RandomFollowFont:For each player, the statistics provide the probability to win the game and the variation of your ELO if you lose / end into a tie / win, or simply the final ELO rating changeForced moveFrame:FranceFree comment about the engineFrench GuianaFrench PolynesiaFrench Southern TerritoriesFriendsGMGabonGain:GambiaGameGame ListGame analyzing in progress...Game cancelledGame informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Game shared at GamesGames running: %dGaviota TB path:Generally this means nothing, as the game is time-based, but if you want to please your opponent, perhaps you should get going.GeorgiaGermanyGhanaGibraltarGiveawayGo back to the main lineGo onGood moveGrand MasterGreeceGreenlandGrenadaGridGuadeloupeGuamGuatemalaGuernseyGuestGuest logins disabled by FICS serverGuestsGuided interactive lessons in "guess the move" styleGuineaGuinea-BissauGuyanaHHaitiHalfmove clockHandle seeks and challengesHandle seeks on graphical wayHeaderHeard Island and McDonald IslandsHidden pawnsHidden piecesHideHintHintsHoly SeeHondurasHong KongHordeHost:How to PlayHtml DiagramHuman BeingHungaryICC giveaway: https://www.chessclub.com/user/help/GiveawayICC lag compensation needs timestampICSIMIcelandIdIdentificationIdleIf set you can refuse players accepting your seekIf set, FICS game numbers in tab labels next to player names are shown.If set, PyChess will colorize suboptimal analyzed moves with red.If set, PyChess will show game results for different moves in positions containing 6 or less pieces. It will search positions from http://www.k4it.de/If set, PyChess will show game results for different moves in positions containing 6 or less pieces. You can download tablebase files from: http://www.olympuschess.com/egtb/gaviota/If set, PyChess will suggest best opening moves on hint panel.If set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, clicking on main application window closer first time it closes all games.If set, pawn promotes to queen without promotion dialog selection.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the captured figurines will be shown next to the board.If set, the elapsed time that a player used for the move is shown.If set, the hint analyzer engine evaluation value is shown.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If the analyzer finds a move where the evaluation difference (the difference between the evaluation for the move it thinks is the best move and the evaluation for the move made in the game) exceeds this value, it will add an annotation for that move (consisting of the engine's Principal Variation for the move) to the Annotation panelIf you don't save, new changes to your games will be permanently lost.Ignore colorsIllegalImagesImbalanceImportImport PGN fileImport annotated games from endgame.nlImport chessfileImport games from theweekinchess.comImporting game headers...In TournamentIn this game, check is entirely forbidden: not only is it forbidden to move ones king into check, but it is also forbidden to check the opponents king. The purpose of the game is to be the first player that moves his king to the eight row. When white moves their king to the eight row, and black moves directly after that also their king to the last row, the game is a draw (this rule is to compensate for the advantage of white that they may move first.) Apart from the above, pieces move and capture precisely as in normal chess.In this position, there is no legal move.Indent _PGN fileIndiaIndonesiaInfinite analysisInfoInitial positionInitial setupInitiativeInteresting moveInternational MasterInvalid move.Iran (Islamic Republic of)IraqIrelandIsle of ManIsraelIt is not possible later to continue the game, if you don't save it.ItalyJamaicaJapanJerseyJordanJump to initial positionJump to latest positionKKazakhstanKenyaKingKing of the hillKiribatiKnightKnight oddsKnightsKorea (the Democratic People's Republic of)Korea (the Republic of)KuwaitKyrgyzstanLag:Lao People's Democratic RepublicLatviaLearnLeave _FullscreenLebanonLecturesLengthLesothoLessonsLevel 1 is the weakest and level 20 is the strongest. You may not define a too high level if the engine is based on the depth to exploreLiberiaLibyaLichess practice studies Puzzles from GM games and Chess compositionsLiechtensteinLight Squares :LightningLightning:List of ongoing gamesList of playersList of server channelsList of server newsLithuaniaLoad _Recent GameLoading player dataLocal EventLocal SiteLog OffLog on ErrorLog on as _GuestLogging on to serverLosersLossLoss:LuxembourgMacaoMacedonia (the former Yugoslav Republic of)MadagascarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMalawiMalaysiaMaldivesMaliMaltaMamer ManagerManage enginesManualManual AcceptManually accept opponentMarshall IslandsMartiniqueMateMate in %dMaterial/moveMauritaniaMauritiusMaximum analysis time in seconds:MayotteMexicoMicronesia (Federated States of)Minutes:Minutes: Moderate advantageMoldova (the Republic of)MonacoMongoliaMontenegroMontserratMore channelsMore playersMoroccoMoveMove HistoryMove numberMovedMoves:MozambiqueMyanmarNNMNameNames: #n1, #n2NamibiaNational MasterNauruNeedNeeds 7 slashes in piece placement field. %sNepalNetherlandsNever use animation. Use this on slow machines.NewNew CaledoniaNew GameNew RD:New ZealandNew _DatabaseNew game from 1-minute playing poolNew game from 15-minute playing poolNew game from 25-minute playing poolNew game from 3-minute playing poolNew game from 5-minute playing poolNew game from Chess960 playing poolNewsNextNext gamesNicaraguaNigerNigeriaNiueNo _animationNo chess engines (computer players) are participating in this game.No conversation's selectedNo soundNo time controlNorfolk IslandNormalNormal: 40 min + 15 sec/moveNorthern Mariana IslandsNorwayNot AvailableNot a capture (quiet) moveNot the best move!ObserveObserve %sObserved _ends:ObserversOddsOffer A_bortOffer AbortOffer Ad_journmentOffer PauseOffer RematchOffer ResumeOffer UndoOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOmanOn FICS, your "Wild" rating encompasses all of the following variants at all time controls: One player starts with one less knight pieceOne player starts with one less pawn pieceOne player starts with one less queen pieceOne player starts with one less rook pieceOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpenOpen GameOpen Sound FileOpen chess fileOpening BookOpening booksOpening chessfile...OpeningsOpenings panel can filter game list by opening movesOpponent RatingOpponent's strength: OptionOptionsOtherOther (non standard rules)Other (standard rules)PPakistanPalauPalestine, State ofPanamaPapua New GuineaParaguayParameters:Paste FENPatternPausePawnPawn oddsPawns PassedPawns PushedPeruPhilippinesPick a datePingPitcairnPlacementPlayPlay Fischer Random chessPlay Losers chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer ListPlayer _RatingPlayers:Players: %dPlayingPng imagePo_rts:PolandPolyglot book file:PortugalPractice endgames with computerPre-chess: https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_positionPre_viewPrefer figures in _notationPreferencesPreferred level:Preparing to start import...PreviewPreview panel can filter game list by current game movesPrevious gamesPrivateProbably because it has been withdrawn.ProgressPromotionProtocol:Puerto RicoPuzzlesPyChess - Connect to Internet ChessPyChess Information WindowPyChess has lost connection to the engine, probably because it has died. You can try to start a new game with the engine, or try to play against another one.PyChess is an open-source chess application that can be enhanced by any chess enthusiasts: bug reports, source code, documentation, translations, feature requests, user assistance... Let's get in touch at http://www.pychess.orgPyChess supports a wide range of chess engines, variants, Internet servers and lessons. It is a perfect desktop application to increase your chess skills very conveniently.PyChess.py:QQatarQueenQueen oddsQuit LearningQuit PyChessRR_esignRacing KingsRandomRapidRapid: 15 min + 10 sec/moveRatedRated gameRatingRating change:Reading %s ...Receiving list of playersRecreating indexes...RefreshRegisteredRemoveRemove selected filterRequest ContinuationResendResend %s?Reset ColoursReset my progressRestore the default optionsResultResult:ResumeRetryRomaniaRookRook oddsRotate the boardRoundRound:Running Simul MatchRuntime env command:Runtime env parameters:Runtime environment of engine command (wine or node)Russian FederationRwandaRéunionSRS_ign upSaint BarthélemySaint Helena, Ascension and Tristan da CunhaSaint Kitts and NevisSaint LuciaSaint Martin (French part)Saint Pierre and MiquelonSaint Vincent and the GrenadinesSamoaSan MarinoSanctionsSao Tome and PrincipeSaudi ArabiaSaveSave GameSave Game _AsSave _own games onlySave _rating change valuesSave analyzing engine _evaluation valuesSave arrows/circlesSave asSave database asSave elapsed move _timesSave files to:Save moves before closing?Save the current game before you close it?Save to PGN file as...ScoreScoutSearch:Seek GraphSeek _GraphSeek updatedSeeks / ChallengesSelect Gaviota TB pathSelect a pgn or epd or fen chess fileSelect auto save pathSelect background image fileSelect book fileSelect engineSelect sound file...Select the games you want to save:Select working directorySend ChallengeSend all seeksSend seekSenegalSeqSequenceSerbiaServer:Service RepresentativeSetting up environmentSetup PositionSeychellesSho_w cordsShort on _time:Should %s publicly publish your game as PGN on chesspastebin.com ?ShoutShow FICS game numbers in tab labelsShow _captured piecesShow elapsed move timesShow evaluation valuesShow tips at startupShredderLinuxChess:ShuffleSide to moveSide_panelsSierra LeoneSimple Chess PositionSingaporeSint Maarten (Dutch part)SiteSite:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinSlight advantageSlovakiaSloveniaSolomon IslandsSomaliaSome of PyChess features needs your permission to download external programsSorry '%s' is already logged inSound filesSourceSouth AfricaSouth Georgia and the South Sandwich IslandsSouth SudanSp_y arrowSpainSpentSri LankaStandardStandard:Start Private ChatStatusStep back one moveStep forward one moveStrStreakStudy FICS lectures offlineSub-FEN :SudanSuicideSurinameSuspicious moveSvalbard and Jan MayenSwazilandSwedenSwitzerlandSymbolsSyrian Arab RepublicTTDTMTaiwan (Province of China)TajikistanTalkingTanzania, United Republic ofTeam AccountText DiagramTexture:ThailandThe abort offerThe adjourn offerThe analyzer will run in the background and analyze the game. This is necessary for the hint mode to workThe chain button is disabled because you are logged in as a guest. Guests can't establish ratings, and the chain button's state has no effect when there is no rating to which to tie "Opponent Strength" toThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe current game is not terminated. Its export may have a limited interest.The current game is over. First, please verify the properties of the game.The directory where the engine will be started from.The displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe endgame table will show exact analysis when there are few pieces on the board.The engine %s reports an error:The engine is already installed under the same nameThe engine output panel shows the thinking output of chess engines (computer players) during a gameThe entered password was invalid. If you forgot your password, go to http://www.freechess.org/password to request a new one over email.The error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The flag callThe game can't be loaded, because of an error parsing FENThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe hint panel will provide computer advice during each stage of the gameThe inverse analyzer will analyze the game as if your opponent was to move. This is necessary for the spy mode to workThe move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe reason is unknownThe releases of PyChess hold the name of historical world chess champions. Do you know the name of the current world chess champion?The resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe takeback offerThebanThemesThere is %d game with unsaved moves.There are %d games with unsaved moves.There is something wrong with this executableThis game can be automatically aborted without rating loss because there has not yet been two moves madeThis game can not be adjourned because one or both players are guestsThis is a continuation of an adjourned matchThis option is not applicable because you're challenging a playerThis option is not available because you're challenging a guest, Threat analysis by %sThree-checkTimeTime controlTime control: Time pressureTimor-LesteTip Of The dayTip of the DayTitleTitledTo save a game Game > Save Game As, give the filename and choose where you want to be saved. At the bottom choose extension type of the file, and Save.TogoTokelauTolerance:TongaTournament DirectorTranslate PyChessTrinidad and TobagoTry chmod a+x %sTunisiaTurkeyTurkmenistanTurks and Caicos IslandsTuvaluTypeType or paste PGN game or FEN positions hereUUgandaUkraineUnable to accept %sUnable to save to configured file. Save the games before closing?Unable to save to configured file. Save the current game before you close it?Unclear positionUndescribed panelUndoUndo one moveUndo two movesUninstallUnited Arab EmiratesUnited Kingdom of Great Britain and Northern IrelandUnited States Minor Outlying IslandsUnited States of AmericaUnknownUnknown game stateUnofficial channel %dUnratedUnregisteredUnticked : the exponential stretching displays the full range of the score and enlarges the values around the null average. Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better.UntimedUpside DownUruguayUse _analyzerUse _inverted analyzerUse _local tablebasesUse _online tablebasesUse a linear scale for the scoreUse analyzer:Use name format:Use opening _bookUse time compensationUzbekistanValueVanuatuVariantVariant developed by Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Variation annotation creation threshold in centipawns:Venezuela (Bolivarian Republic of)Very bad moveViet NamView lectures, solve puzzles or start practicing endgamesVirgin Islands (British)Virgin Islands (U.S.)W EloWFMWGMWIMWaitWallis and FutunaWarning: this option generates a formatted .pgn file which is not standards complientWas unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.WelcomeWell done!Well done! %s completed.Western SaharaWhen this button is in the "locked" state, the relationship between "Opponent's strength" and "Your strength" will be preserved when a) your rating for the type of game sought has changed b) you change the variant or the time controlWhiteWhite ELO:White O-OWhite O-O-OWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite has a slightly cramped positionWhite moveWhite should do pawn storm in leftWhite should do pawn storm in rightWhite side - Click to exchange the playersWhite:WildWildcastleWildcastle shuffleWinWin by giving check 3 timesWin:Winning %With attackWoman FIDE MasterWoman Grand MasterWoman International MasterWorking directory:Year, month, day: #y, #m, #dYemenYou are currently logged in as a guest but there is a completely free trial for 30 days, and beyond that, there is no charge and the account would remain active with the ability to play games. (With some restrictions. For example, no premium videos, some limitations in channels, and so on.) To register an account, go to You are currently logged in as a guest. A guest can't play rated games and therefore isn't able to play as many of the types of matches offered as a registered user. To register an account, go to You asked your opponent to moveYou can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou can't select a variant because "Untimed" is checked, You can't switch colors during the game.You can't touch this! You are examining a game.You don't have the necessary rights to save the file. Please ensure that you have given the right path and try again.You have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou have to set kibitz on to see bot messages here.You have tried to undo too many moves.You have unsaved changes. Do you want to save before leaving?You may only have 3 outstanding seeks at the same time. If you want to add a new seek you must clear your currently active seeks. Clear your seeks?You sent a draw offerYou sent a pause offerYou sent a resume offerYou sent an abort offerYou sent an adjournment offerYou sent an undo offerYou sent flag callYou will lose all your progress data!Your opponent asks you to hurry!Your opponent has asked that the game be aborted. If you accept this offer, the game will end with no rating change.Your opponent has asked that the game be adjourned. If you accept this offer, the game will be adjourned and you can resume it later (when your opponent is online and both players agree to resume).Your opponent has asked that the game be paused. If you accept this offer, the game clock will be paused until both players agree to resume the game.Your opponent has asked that the game be resumed. If you accept this offer, the game clock will continue from where it was paused.Your opponent has asked that the last %s move(s) be undone. If you accept this offer, the game will continue from the earlier position.Your opponent has offered you a draw.Your opponent has offered you a draw. If you accept this offer, the game will end with a score of 1/2 - 1/2.Your opponent is not out of time.Your opponent must agree to abort the game because there has been two or more moves madeYour opponent seems to have changed their mind.Your opponent wants to abort the game.Your opponent wants to adjourn the game.Your opponent wants to pause the game.Your opponent wants to resume the game.Your opponent wants to undo %s move(s).Your panel settings have been reset. If this problem repeats, you should report it to the developersYour seeks have been removedYour strength: Your turn.ZambiaZimbabweZugzwang_Accept_Actions_Analyze Game_Archived_Auto save finished games to .pgn file_Call Flag_Clear Seeks_Copy FEN_Copy PGN_Decline_Edit_Engines_Export Position_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hint arrow_Hints_Invalid move:_Load Game_Log Viewer_My games_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Puzzle success:_Recent:_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Untimed_Use main app closer [x] to close all games_Use sounds in PyChess_Variation choices:_View_Your Color:andand guests can't play rated gamesand on FICS, untimed games can't be ratedand on FICS, untimed games have to be normal chess rulesask your opponent to moveblackbrings a %(piece)s closer to enemy king: %(cord)sbrings a pawn closer to the backrow: %scall your opponents flagcaptures materialcastlesdatabase opening tree needs chess_dbdatabase querying needs scoutfishdefends %sdevelops a %(piece)s: %(cord)sdevelops a pawn: %sdrawsexchanges materialgnuchess:half-openhttp://brainking.com/en/GameRules?tp=2 * Placement of the pieces on the 1st and 8th row are randomized * The king is in the right hand corner * Bishops must start on opposite color squares * Black's starting position is obtained by rotating white's position 180 degrees around the board's center * No castlinghttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyin the %(x)s%(y)s filein the %(x)s%(y)s filesincreases the pressure on %sinvalid promoted piecelessonslichessmatesminminsmovemoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %snot playingofoffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalotherspawn capture without target piece is invalidpins an enemy %(oppiece)s on the %(piece)s at %(cord)splaces a %(piece)s more active: %(cord)spromotes a Pawn to a %sputs opponent in checkrating range nowrescues a %sresignround %ssacrifices materialsecsecsslightly improves king safetytakes back materialthe captured cord (%s) is incorrectthe end cord (%s) is incorrectthe move needs a piece and a cordthreatens to win material by %sto automatic acceptto manual acceptucivs.whitewindow1wtharveyxboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Random arrangement of the pieces behind the pawns * No castling * Black's arrangement mirrors white'sxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * White has the typical set-up at the start. * Black's pieces are the same, except that the King and Queen are reversed, * so they are not on the same files as White's King and Queen. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * In this variant both sides have the same set of pieces as in normal chess. * The white king starts on d1 or e1 and the black king starts on d8 or e8, * and the rooks are in their usual positions. * Bishops are always on opposite colors. * Subject to these constraints the position of the pieces on their first ranks is random. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.yacpdbÅland IslandsProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Spanish (http://www.transifex.com/gbtami/pychess/language/es/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: es Plural-Forms: nplurals=2; plural=(n != 1); Incremento: + %d segle reta a una partida %(time)s %(rated)s %(gametype)s ajedrezha llegadoha rechazado su oferta de partidase ha idoha estado en latencia durante 30 segundosmotor de juego inválido: %sle está censurandotiene largos tiempos de latencia, pero no se ha desconectadono está instaladoestá presente minusted está en lista "noplay"usa una fórmula que no concuerda con su petición de partida:donde %(player)s juega con %(color)s.con quien tiene una partida aplazada %(timecontrol)s %(gametype)s está en línea.desearía continuar la partida aplazada %(time)s %(gametype)s.%(black)s ha ganado la partida%(color)s tiene un peón doblado en %(place)s%(color)s tiene un peón aislado en el archivo %(x)s%(color)s tiene peones aislados en las filas %(x)s%(color)s tiene un nuevo peón doblado en %(place)s%(color)s tienen un nuevo peón pasado en %(cord)s%(color)s mueve %(piece)s a %(cord)s%(counter)sencabezados de partidas importados desde %(filename)s%(minutes)d min + %(gain)d seg/mov%(name)s %(minutes)d min %(duration)s%(name)s %(minutes)d min %(sign)s %(gain)d seg/mov %(duration)s%(name)s %(minutes)d min / %(moves)d movs %(duration)s%(opcolor)s tiene un alfil atrapado en %(cord)s%(path)s conteniendo %(count)s partidas%(player)s está %(status)s%(player)s juega con %(color)s%(time)s para %(count)d movimientos%(white)s ha ganado la partida%d min%s ya no puede enrocar%s ya no puede enrocar de rey%s ya no puede enrocar de dama%s partidas procesadas%s mueve peones en formación de muralla%s devuelve un errorSu oponente ha declinado: %s%s ha sido retirado por su oponente%s identifica qué amenazas existirían si fuera el turno de su oponente%s trata de valorar el mejor movimiento y qué bando tiene ventajaEl nombre '%s' está registrado. Si es usted, introduzca la contraseña.El nombre «%s» no está registrado(Blitz)(Enlace copiado en el portapapeles)*-00 jugadores listos0 de 00-11-01-minuto1/2-1/210 minutos + 6 seg/mov, blancas120015-minutosAleatorio Fischer, 2 minutos, negras3-minutos45-minutos5 min5-minutosConectarse a Online Chess ServerCoronar peón comoPyChess no pudo cargar las configuraciones del panelAnalizandoAnimaciónEstilo de TableroJuegos de piezasVariante de ajedrezIntroduzca notación de partidaOpciones GeneralesPosición inicialPaneles laterales instaladosMover textoNombre del _primer jugador humano:Nombre del _segundo jugador humano:¡ Disponible nueva versión %s !Abrir partidaAbrir base de datosApertura, finalFuerza del oponenteOpcionesReproducir sonido cuando...JugadoresEmpezar a aprenderControl de tiempoPantalla de bienvenidaSu color_Conectar al servidor_Empezar partida%s no está marcado como ejecutable en el sistema de archivosYa existe un archivo con el nombre '%s'. ¿Desea reemplazarlo?El motor %s, ha dejado de funcionarError cargando partidaEl archivo '%s' ya existe.PyChess está buscando sus motores de ajedrez. Por favor, espere.PyChess no pudo guardar la partidaHay %d partidas con movimientos sin guardar. ¿Guardar cambios antes de cerrar?No se puede añadir %sNo se puede guardar el archivo '%s'Tipo de archivo desconocido '%s'Desafío:Un juego está hecho de una abertura, un medio juego y un juego final. PyChess puede entrenarte gracias a su libro de aperturas, sus motores de ajedrez compatibles y su módulo de entrenamiento.Un jugador _hace jaque:Un jugador _mueve:Un jugador _captura:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortarAcerca del AjedrezAc_tivoAceptarAlarma al _quedar estos segundos:El campo de color activo debe ser w o b. %sBúsquedas activas: %dAñadir comentarioAgrega símbolo de evaluaciónAgrega símbolo de movimientoAñadir un filtro nuevoAñadir comentario inicialAñadir filtro sub-fen a partir de la posición/círculosAñadir variantes de amenazasAgregar sugerencias puede ayudarle a encontrar ideas, pero ralentiza el análisis del ordenador. Etiquetas adicionalesError en la direcciónAplazar Lista de partidas aplazadas, historial y diario.AdminAdministradorAfganistanAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbaniaAlgeriaTodos los archivos de ajedrezTodas las valoracionesTodas blancasSamoa AmericanaAnálisis por %sAnalizar movimientos negrosAnalizar desde la posición actualAnalizar partidaAnalizar movimientos blancosVariación primaria del analizadorAndorraAngolaAnguillaAnimación de piezas, rotación del tablero y otros. Usar en equipos rápidos.Juego comentadoComentarioAnotadorAntárticaAntigua y BarbudaCualquier nivelArchivadoArgentinaArmeniaArubaVariantes asiáticasPedir permisosPedir que _muevaEvaluarAleatorio asimétricoAleatorio asimétricoAtómicoAustraliaAustriaAutorAutoreclamar _banderaAuto_coronar DamaAuto _rotar el tablero hacia el jugador humano actualAbrir sesión al inicioAutocierre de sesiónDisponibleAzerbaijanAElo negrasRegresar a la línea principalRuta de imagen de fondo:Mal movimientoBahamasBahreinBangladeshBarbadosporque %(black)s perdió la conexión con el servidorporque %(black)s perdió la conexión con el servidor y %(white)s solicitó aplazar la partidaporque %(black)s se quedaron sin tiempo y %(white)s no tienen suficiente material para dar mateporque %(loser)s se ha desconectadoporque el rey de %(loser)s explotóporque %(loser)s agotó su tiempoporque %(loser)s se rindióporque %(loser)s ha recibido mateporque %(mover)s está ahogadoporque %(white)s perdió la conexión con el servidorporque %(white)s perdió la conexión con el servidor y %(black)s solicitó aplazar la partidaporque %(white)s se quedaron sin tiempo y %(black)s no tienen suficiente material para dar mateporque %(winner)s tiene menos piezasporque el rey de %(winner)s ha llegado al centro Porque rey%(winner)salcanzó la octava filaporque %(winner)s perdió todas sus piezasporque %(winner)s ha dado jaque 3 vecesPorque %(winner)slimpió la horda blancaporque un jugador abortó la partida. Cualquiera de los jugadores puede abortar la partida sin el consentimiento del otro antes del segundo movimiento. No se han producido cambios de puntuación.debido a que un jugador desconectó y hay pocos movimientos para justificar el aplazamiento. No se han producido cambios de puntuación.porque un jugador perdió la conexiónporque un jugador perdió la conexión y el otro solicitó aplazamientoPorque ambos reyes llegaron a la fila ochoporque ambos jugadores acordaron tablasporque ambos jugadores acordaron abortar la partida. No hay cambios en la puntuación.porque ambos jugadores acordaron un aplazamientoporque ambos jugadores tienen la misma cantidad de piezasporque ambos jugadores han agotado su tiempoporque ningún jugador tiene suficiente material para dar matepor decisión de un administradorporque un administrador adjudicó la partida. No hay cambios en la puntuación.por cortesía de un jugador. No hay cambios en la puntuación.Porque se alcanzó la meta de prácticaporque el motor de %(black)s dejó de funcionarpor que el motor de %(white)s dejó de funcionarporque se perdió la conexión con el servidorporque la partida ha excedido la longitud máximaporque los últimos 50 movimientos no han aportado nada nuevoporque la misma posición se ha repetido tres veces seguidas.porque el servidor fue desconectadoporque el servidor fue desconectado. No hay cambios en la puntuación.PitidoBielorrusiaBélgicaBéliceBeninBermudaMejorMejor movimientoBhutánAlfilNegrasELO Negro:Negras O-ONegras O-O-OEl negro tiene una nueva pieza avanzada: %sEl negro tiene una posición bastante incómodaEl negro tiene una posición levemente incómodaEl negro debe capturar todas las piezas blancas para ganar. El blanco quiere dar jaque mate como de costumbre. Los peones blancos en la primera fila pueden mover dos casillas, similar a los peones en la segunda fila.Movimiento de negrasEl negro debería hacer una tormenta de peones sobre la izquierdaEl negro debería hacer una tormenta de peones sobre la derechaLado negro - Click para intercambiar los jugadoresNegras:A ciegasA ciegasCuenta a ciegasBlitzBlitz:Blitz: 5 minBolivia (Estado Plurinacional de)Bonaire, San Eustaquio y SabaBosnia y HerzegovinaBotswanaIsla BouvetBrazilSi tu rey llega al centro (e4, d4, e5, d5) inmediatamente ganas la partida! Aparte de eso, se aplican las reglas normales y jaque mate tambien termina la partida.Territorio Británico del Océano ÍndicoBrunei DarussalamBughouseBulgariaBalaBurkina FasoBurundiCCAMCCabo VerdeCalculando…CamboyaCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCamerúnCanadaMaestro CandidatoCapturóEl campo de disponibilidad del enroque no es correcto. %sCategoría:Islas CaimánCentro:República Central de ÁfricaChadDesafíoDesafío: Desafío: Cambiar toleranciaCharlaConsejero de ajedrezDiagrama Chess Alpha 2Composiciones de ajedrez de yacpdb.orgPartidaPosición de ajedrezChess ShoutCliente de ajedrezChess960ChileChinaIsla de NavidadReclamar tablasReglas de ajedrez clásico http://es.wikipedia.org/wiki/AjedrezReglas de ajedrez clásico con todas las piezas blancas http://es.wikipedia.org/wiki/Ajedrez_a_la_ciegaReglas de ajedrez clásico con piezas ocultas http://en.wikipedia.org/wiki/Blindfold_chessReglas de ajedrez clásico con peones ocultos http://en.wikipedia.org/wiki/Blindfold_chessReglas de ajedrez clásico con piezas ocultas http://en.wikipedia.org/wiki/Blindfold_chessClásicoClásico: 3 min / 40 movimientosLimpiarRelojCerrar _sin guardarIslas Cocos (Keeling)ColombiaColorear movimientos analizadosInterfaz de línea de comando para el servidor de ajedrezParámetros de linea de comandos requerido por el motorParámetros de línea de comandos requerido por el entorno de ejecuciónInstrucción:ComentarioComentario:ComentariosComorasCompensaciónOrdenadorOrdenadoresCongoCongo (La República Democrática de)ConectandoConectando al servidorError de conexiónLa conección se cerróConsolaContinuar¿Continuar esperando al oponente, o intentar aplazar la partida?Islas Cook¡Bien! Ahora veamos cómo va la línea principal.Copiar FENEsquinaCosta RicaNo se pudo guardar el archivoContrajuegoPaís de origen del motorPaís:CrazyhouseCrear una nueva base de datos PgnCrear un nuevo libro de aperturas PolyglotCrear un libro PolyglotCrear búsquedaCrear una nueva base de datosCrea una nueva secuencia donde las condiciones enumeradas se puedan cumplir en diferentes momentos de una partidaCrea una nueva secuencia de líneas donde las condiciones enumeradas deben cumplirse en (semi)movimientos consecutivosCrear un libro de aperturas PolyglotCreando archivo de indice .bin...Creando archivo de indice .scout...CroaciaVentaja aplastanteCubaCuraçaoChipreChequiaCosta de MarfilFDMCasillas Oscuras :Base de DatosFechaFecha/HoraFecha:Ventaja decisivaRechazarPor DefectoDinamarcaServidor de destino no disponibleConfiguraciones detalladas de conexiónConfiguraciones detalladas de jugadores, tiempo de control y variante de ajedrezDetectar tipo automáticamenteVentaja de desarrolloMuertoDisplay MasterDjibouti¿Sabes que un caballo está mejor situado en el centro de la tabla?¿Sabía que se puede ganar una partida de ajedrez en tan solo 2 turnos?¿Sabía que el número de partidas de ajedrez posibles es mayor que el número de átomos del universo?¿De verdad quiere restaurar las opciones predeterminadas del motor?¿Quiere abortarla?DomínicaRepública DominicanaNo importaNo mostrar este diálogo al inicio.TablasTablas:IgualadoDebido a problemas de abusos, no se permiten conexiones como invitado. Si quiere, puede registrarse en http://www.freechess.orgCuenta FalsaECOCada motor de ajedrez tiene su propia función de evaluación. Es normal obtener diferentes puntajes para una misma posición.EcuadorEditar búsquedaEditar búsqueda: Editar comentarioEditar el filtro seleccionadoEfecto en las calificaciones de los posibles resultadosEgiptoEl SalvadorEloCorreo electrónicoLa coordenada al paso no es correcta. %sLínea al pasoTabla de finalesFinalesFuerza de juego del motor (1=más débil, 20=más fuerte)La puntuación de los motores está en unidades de peón, desde el punto de vista de Blancas. Haciendo doble clic en las líneas de análisis puede insertarlas como variantes en el panel de Anotación.MotoresLos motores usan los protocolos de comunicación uci y xboard para comunicarse con la interfaz de usuario. Si se pueden usar ambos, aquí puede indicar cuál de los dos prefiere.Entrar una partidaEntornoGuinea EcuatorialEritreaError analizando %(mstr)sError al analizar el movimiento %(moveno)s %(mstr)sDuración estimada : %(min)d - %(max)d minutosEstoniaEtiopíaEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventoEvento:ExaminarExaminar partida aplazadaExaminadoExaminandoMovimiento excelenteArchivos ejecutablesSe espera un formato "yyy.mm.dd" y se permite el comodín "?"Exportar posiciónExternosFAFEN requiere 6 campos de datos. %sFEN requiere al menos 2 campos de datos en fenstr. %sFICS atómico: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicida: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS salvaje/3: http://www.freechess.org/Help/HelpFiles/wild.html * Piezas escogidas aleatoriamente (es posible dos damas o tres torres) * Solo un rey de cada color * Piezas ubicadas detrás de los peones aleatoriamente * Sin enroques * La disposición de las negras es un espejo de la de las blancasFICS salvaje/4: http://www.freechess.org/Help/HelpFiles/wild.html * Piezas escogidas aleatoriamente (dos damas o tres torres es posible) * Solo un rey de cada color * Piezas ubicadas aleatoriamente detrás de los peones, CON LA CONDICIÓN DE QUE LOS ALFILES ESTÉN BALANCEADOS * Sin enroques * La disposición de las negras NO ES un espejo de las blancasFICS salvaje/5: http://www.freechess.org/Help/HelpFiles/wild.html http://es.wikipedia.org/wiki/Variante_del_ajedrez#Ajedrez_con_diferentes_posiciones_iniciales ¡Los peones inician en su 7ma fila en vez de su 2da fila!FICS salvaje/8: http://www.freechess.org/Help/HelpFiles/wild.html Los peones inician en la 4ta y 5ta filas en vez de las 2da y 7maFICS salvaje/8a: http://www.freechess.org/Help/HelpFiles/wild.html Los peones blancos inician en la 5ta fila y los peones negros en la 4ta filaÁrbitro FIDEMaestro FIDEMF_Animación completa del tableroVisualización _Cara a CaraIslas Falkland [Malvinas]Islas FaroeFijiEl archivo ya existeFiltroFiltra la lista de partidas según los movimientos actuales de la partidaFiltra la lista de partidas por movimientos de aperturaFiltra la lista de partidas por varias condicionesFiltrosEl panel de filtros puede filtrar la lista de partidas según varias condicionesEncontrar la posición en la base de datos actualDenunciarFinlandiaPrimeras partidasFischer RandomSeguirFuentePara cada jugador, las estadísticas proveen la probabilidad de ganar la partida y la variación de tu ELO si pierdes / terminas en tablas / ganas, o simplemente el cambio en el rating de ELO finalMovimiento forzadoMarco:FranciaComentario libre sobre el motorGuayana FrancesaPolinesia FrancesaTerritorios Franceses del SurAmigosGMGabónIncremento:GambiaPartidaLista de partidasAnálisis de partida en progreso...Partida canceladaInformación de la partidaPartida _tablas:Partida _perdida:Partida _establecida:Partida _ganada:Partida compartida enPartidasPartidas en curso: %dRuta a las tablas de finales de Gaviota:Generalmente esto no significa nada, ya que la partida es con tiempo, pero si quiere complacer a su oponente, quizás debería hacerlo.GeorgiaAlemaniaGhanaGibraltarRegaloVolver a la línea principalSeguirBuen movimientoGran MaestroGreciaGroenlandiaGranadaGrilla:GuadalupeGuamGuatemalaGuernseyInvitadoEl servidor FICS no permite la conexión como invitado.InvitadosLecciones guiadas interactivas estilo "adivine el movimiento"GuineaGuinea-BissauGuyanaHHaitíReloj de medio movimientoManejar búsquedas y retosManejar las búsquedas de forma gráficaEncabezadoIslas Heard y McDonaldPeones ocultosPiezas ocultasOcultarSugerenciaSugerenciasSanta SedeHondurasHong KongHordaAnfitrión:Cómo jugarDiagrama HtmlHumanoHungriaRegalo ICC: https://www.chessclub.com/user/help/GiveawayLa copensación de lag de ICC necesita timestampICSMIIslandiaIdIdentificaciónInactivoSi lo activa, podrá rechazar jugadores que acepten su retoActivado, el número de partida de FICS aparece en la etiqueta de pestaña junto al nombre del jugador.Activado, PyChess coloreará en rojo los movimientos analizados sub-óptimos.Activado, PyChess mostrará los resultados de la partida según los diferentes movimientos en las posiciones con 6 o menos piezas. Buscará posiciones en http://www.k4it.de/Activado, PyChess mostrará los resultados de partidas para diferentes movimientos en posiciones con 6 piezas o menos. Puede descargar las tablas de finales de: http://www.olympuschess.com/egtb/gaviota/Si está activo, PyChess mostrará los mejores movimientos en la apertura en el panel de sugerencias.Activado, PyChess usará figuras para expresar los movimientos en vez de letras mayúsculas.Activado, la primera vez que se cierra la ventana principal del programa, se cierran todas las partidas.Activado, el peón se convierte automáticamente en Dama sin diálogo de selección.Activado, las piezas negras se muestran boca abajo. Adecuado para jugar contra amigos en dispositivos móviles.Activado, el tablero girará tras cada jugada ofreciendo al jugador actual su vista natural.Activado, las piezas capturadas se mostrarán junto al tablero.Activado, se muestra el tiempo que un jugador ha usado para el movimiento.Activado, se muestra la valoración del motor analizador de consejos.Activado, muestra encabezados de filas y columnas. Son útiles para la notación.Activado, esconde la pestaña superior de la ventana de juego cuando no es necesaria.Si el analizador encuentra un movimiento donde la diferencia de evaluación (la diferencia entre la evaluación para el movimiento que piensa que es el mejor y la evaluación para el movimiento hecho en la partida) es superior a este valor, se agregará una anotación en el movimiento (que consistirá en la Variación Principal del motor para el movimiento) en el panel AnotaciónSi no se guardan, los cambios en los juegos se perderán.Ignorar coloresIlegalImágenesImbalanceImportarImportar partida PGNImportar partidas anotadas desde endgame.nlImportar chessfileImportar partidas desde theweekinchess.comImportando encabezados de partidasEn torneoEn este juego, dar jaque está enteramente prohibido: no solo está prohibido mover el propio rey en jaque, sino que está prohibido dar jaque al rey opuesto. El propósito de este juego es ser el primer jugador que mueva su rey a la octava fila. Cuando las blancas mueven su rey a la octava fila, y las negras mueven directamente luego su rey a la última fila, el juego termina en tablas (esta regla es para compensar por la ventaja de que las piezas blancas pueden mover primero.) Salvo las reglas anteriores, las piezas pueden mover y capturar precisamente como en ajedrez normal.En esta posición,\n no hay movientos válidos.Indentar archivo _PGNIndiaIndonesiaAnálisis infinitoInfoPosición inicialConfiguración inicialIniciativaMovimiento interesanteMaestro InternacionalMovimiento inválido.Iran (República Islámica de)IrakIrlandaIsla del hombreIsraelNo podrá reanudar la partida más adelante, si no la guarda.ItaliaJamaicaJapónJerseyJordaniaVolver a la posición inicialSaltar a la última posiciónRKazakhstanKeniaReyRey de la colinaKirbatiCaballoVentaja de caballoCaballosKorea (República Democrática Popular de)Korea (Repùblica de)KuwaitKirguistánLag:República Democrática Popular LaoLetoniaAprender_Cerrar pantalla completaLíbanoLecturasLongitudLesothoLeccionesEl nivel 1 es el más débil y el nivel 20 es el más fuerte. No defina un nivel demasiado alto si el motor se basa en la profundidad de exploración.LiberiaLibiaEstudios de práctica de Rompecabezas Lichess, de partidas de GM y composiciones de ajedrezLiechtensteinCasillas Claras :RelámpagoRelámpago:Lista de partidas en cursoLista de jugadoresLista de canales de servidorLista de noticias de servidorLituaniaCargar partida _recienteCargando datos del jugadorEvento localSitio localCerrar sesiónError de registroConectarse como _invitadoIniciando sesión en el servidorPerdedorDerrotaDerrota:LuxemburgoMacaoMacedonia (antigua República de Yugoslavia)MadagascarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMalawiMalasiaMaldivasMaliMaltaGestor MamerAdministrar los motoresManualAceptar manualmenteAceptar oponente manualmenteMarshall (Islas)MartinicaMateMate en %dMaterial/movimientoMauritaniaMauricioTiempo de análisis máximo en segundos:MayotteMéxicoMicronesia (Estados Federados de)Minutos:Minutos: Ventaja moderadaMoldavia (República de)MónacoMongoliaMontenegroMontserratMás canalesMás jugadoresMarruecosMovimientoHistorial de movimientosNº de movimientoMovióMovimientos:MozambiqueMyanmarCNMNombreNombres: #n1, #n2NamibiaMaestro NacionalNauruNecesarioEl campo de posición de la pieza necesita 7 barras "/". %sNepalHolandaDesactiva las animaciones. Usar en equipos lentos.NuevoNueva CaledoniaNueva partidaNuevo RD:Nueva ZelandaNueva Base de _DatosNueva partida de la tabla de 1 minutoNueva partida de la tabla de 15 minutosNueva partida de la tabla de 25 minutosNueva partida de la tabla de 3 minutosNueva partida de la tabla de 5 minutosNueva partida de la tabla de Chess960NoticiasSiguientePartidas siguientesNicaraguaNígerNigeriaNiueSin _animaciónEn esta partida no participa ningún motor de ajedrez (ordenador).No se ha seleccionado conversaciónSin sonidoSin control de tiempoNorfolk (Isla)NormalNormal: 40 min + 15 seg/movIslas Marianas del NorteNoruegaNo DisponibleMovimiento de no captura (pasivo)¡No es el mejor movimiento!ObservarObservar %s_Finales observados:ObservadoresVentajasA_bortar ofertaOfrecer abortarOfrecer ap_lazamientoProponer pausaOfrecer revanchaProponer reanudarProponer deshacerOfrecer_abortarOfrecer _empateOfrecer _pausaOfrecer_continuarOfrecer _deshacerPanel Oficial PyChessDesconectadoOmánEn FICS, su puntuación Salvaje o Wild abarca todas las variantes siguientes en todos los controles de tiempo: un jugador empieza con un caballo menosUn jugador inicia la partida sin un peónUn jugador inicia la partida sin la damaUn jugador inicia la partida sin una torreEn líneaAnimar sólo los _movimientosSólo animar movimiento de piezasSolo los usuarios registrados pueden usar este canalAbrirAbrir partidaAbrir Archivo de SonidoAbrir archivo de ajedrezLibro de aperturasLibros de aperturasAbrir archivo de ajedrez...AperturasEl panel de aperturas puede filtrar la lista de partidas por movimientos de aperturaPuntuación del adversarioFuerza del oponente: OpciónOpcionesOtrasOtro (reglas NO estándar)Otro (reglas estándar)PPakistánPalauPalestina, Estado dePanamáPapua Nueva GuineaParaguayParámetros:Pegar FENPatrónPausaPeónVentaja de peónPeones pasadosPeones avanzadosPerúFilipinasEllija una fechaPingPitcairnColocaciónJugarJugar partida Aleatoria FisherJugar ajedrez perdedorJugar revanchaJugar en _Internet ChessJugar ajedrez tradicionalLista de jugadores_Puntuación del JugadorJugadores:Jugadores: %dJugandoImagen pngPue_rtos:PoloniaArchivo del libro Polyglot:PortugalPracticar finales con el ordenadorPre-chess: https://es.wikipedia.org/wiki/Variante_del_ajedrez#Ajedrez_con_diferentes_posiciones_inicialesPre_visualizarUsar figuras en la _notaciónPreferenciasNivel preferido:Preparando la importación...Vista previaEl panel de vista previa puede filtrar la lista de partidas según los movimientos actuales del juegoPartidas anterioresPrivadoProbablemente porque se ha retirado.ProgresoCoronarProtocolo:Puerto RicoRompecabezasPyChess - Conectar a Internet ChessVentana de información de PyChessPyChess ha perdido la conexión con el motor, probablemente porque ha dejado de funcionar. Puede intentar empezar una nueva partida con el motor, o probar a jugar contra otro.PyChess es una aplicación de ajedrez de código abierto que puede ser mejorada por cualquier entusiasta del ajedrez: informes de errores, código fuente, documentación, traducciones, solicitudes de funciones, asistencia al usuario ... Pongámonos en contacto en http://www.pychess.org PyChess es compatible con una amplia gama de motores de ajedrez, variantes, servidores de Internet y lecciones. Es una aplicación de escritorio perfecta para aumentar tus habilidades de ajedrez de manera muy conveniente.PyChess.py:DQatarDamaVentaja de damaSalir de aprenderSalir de PyChessTR_endirseRacing KingsAleatorioRápidoRápida: 15 min + 10 seg/movCalificadoJuego con puntuaciónPuntuaciónCambio de Rating:Leyendo %s...Recibiendo la lista de jugadoresRecreando los índices...RefrescarRegistradoEliminarQuitar el filtro seleccionadoSolicitar continuaciónReenviar¿Reenviar %s?Reestablecer ColoresReiniciar el progresoRestaurar las opciones por defectoResultadoResultado:ReanudarIntentar de nuevoRumaníaTorreVentaja de torreRotar el tableroRondaRonda:Jugando simultáneasComando de entorno de ejecución:Parámetros de entorno de ejecución:Entorno de tiempo de ejecución del comando del motor (wine o nodo)Federación RusaRuandaReuniónSRDarse de altaSan BartoloméSanta Elena, Ascensión y Tristán da CunhaSan Cristóbal y NievesSanta LucíaSan Martín (parte francesa)Saint Pierre y MiquelonSan Vicente y las GranadinasSamoaSan MarinoSancionesSanto Tomé y PríncipeArabia SaudíGuardarGuardar partidaGuardar partida _comoGuardar sólo partidas _propiasGuardar valores de cambio de _puntuaciónGuardar _evaluaciones del motor de análisisGuardar flechas/círculosGuardar comoGuardar Base de Datos comoGuardar _tiempos de movimientoGuardar archivos en:¿Guardar movimientos antes de cerrar?¿Quiere guardar la partida actual antes de cerrarla?Guardar archivo PGN como...PuntuaciónExplorarBuscar:Gráfico de búsquedaBúsqueda _gráficaBúsqueda actualizadaBúsquedas / RetosSeleccione la ruta a las tablas de finales de GaviotaElija un archivo pgn o epd o fenSeleccione la ruta de autoguardadoSeleccione la imagen de fondoSeleccione el archivo de aperturasSeleccione el motorSeleccione un archivo de sonido…Seleccione las partidas que desea guardar:Seleccione la carpeta de trabajoEnviar desafíoEnviar todas las búsquedasEnviar búsquedaSenegalSeqSecuenciaSerbiaServidor:Representante del servicioPreparando entornoEditar posiciónSeychelles_Mostrar coordenadasApurado de _tiempo:Debería %s publicar esta partida como PGN on chesspastebin.com ?ShoutMostrar número de partida FICS en la pestañaMostrar las piezas _capturadasMostrar tiempos de movimientoMostrar valores de evaluaciónMostrar consejos al inicioShredderLinuxChess:BarajadoBando que mueve_Paneles lateralesSierra LeonaPosición de Ajedrez SimpleSingapurSint Maarten (parte Holandesa)LugarLugar:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinVentaja leveEslovaquiaEsloveniaSalomón, IslasSomaliaAlgunas de las características de PyChess necesitan su permiso para descargar programas externosLo sentimos, '%s' ya ha iniciado sesiónArchivos de sonidoFuenteSudáfricaGeorgia del Sur y las Islas Sandwich del SurSudán del SurFlecha es_píaEspañaTranscurridoSri LankaEstándarEstándar:Iniciar charla privadaEstadoRetroceder un movimientoAvanzar un movimientoStrLíneaEstudiar lecturas de FICS fuera de líneaSub-FEN :SudánSuicidaSurinamMovimiento dudosoSvalbard y Jan MayenSwazilandiaSueciaSuizaSímbolosRepública Árabe de SiriaETDTMTaiwán (Provincia de China)TajikistánHablarTanzania, República Unida deCuenta del equipoDiagrama de TextoTextura:ThailandiaSe ofrece abortarSe ofrece aplazarEl analizador se ejecutará en segundo plano y analizará la partida. Esto es necesario para el funcionamiento del modo ayudaEl botón de cadena está desactivado porque ha iniciado sesión como invitado. Los invitados no tienen calificación, y el estado del botón de cadena no tiene ningún efecto cuando no hay calificación con la que relacionar la "Fuerza del oponente".El panel de charla permite comunicarse con el oponente durante la partida, si a éste le apetece.El reloj no se ha puesto en marcha aún.El panel de comentarios analiza y explica los movimientos realizadosLa conexión se ha roto - recibido mensaje de «fin de archivo»La partida no ha terminado. Exportarla puede tener un interés limitado.La partida ha terminado. Compruebe primero las propiedades de la partida.La carpeta desde donde el motor iniciará.El nombre que se mostrará del primer jugador humano, por ejemplo, Juan.El nombre que se mostrará del jugador invitado, por ejemplo, María.Se ofrece tablasLa tabla de finales muestra el análisis exacto cuando quedan pocas piezas sobre el tablero.El motor %s reporta el error:El motor ya está instalado con el mismo nombreEl panel de salida del motor muestra el pensamiento del motor de ajedrez (ordenador) durante una partidaLa clave entrada es inválida. Si ha olvidado su clave, vaya a http://www.freechess.org/password para solicitar una nueva por email.El error ha sido: %s.El archivo ya existe en '%s'. Si lo reemplaza, su contenido será sobreescrito.Reclamo de banderaLa partida no se pudo leer debido a un error en la cadena de posición FEN.La partida no puede leerse completa debido a un error en el análisis del movimiento %(moveno)s '%(notation)s'.La partida terminó en empateLa partida ha sido abortadoLa partida ha sido aplazadoLa partida ha sido anuladoEl panel de sugerencias le da consejos durante cada etapa de la partidaEl analizador inverso analizará la partida como si fuera el turno de su oponente. Esto es necesario para el funcionamiento del modo espíaEl movimiento falló a causa de %s.La hoja de movimientos registra los movimientos de los jugadores y permite navegar por el histórico de la partidaSe ofrece cambiar bandosEl libro de aperturas le puede servir de inspiración durante la fase inicial de la partida. Le muestra movimientos habituales de los grandes maestros del ajedrezSe ofrece pausapor razón desconocidaLas versiones de pychess tienen el nombre de los campeones mundiales de ajedrez histórico. ¿Sabes el nombre del actual campeón mundial de ajedrez?RendiciónSe ofrece continuarEl panel de puntuación evalúa las posiciones y muestra un gráfico del progreso de la partidaSe ofrece deshacerThebanTemasHay %d partida con movimientos sin guardarHay %d partidas con movimientos sin guardarHay algún problema con este ejecutableEsta partida puede ser abortada automáticamente sin pérdida de puntuación porque aún no se han hecho dos movimientosEsta partida no se puede aplazar porque uno o ambos jugadores son invitadosEsto es una continuación de una partida aplazadaEsta opción no está disponible ya que está desafiando a un jugadorEsta opción no está disponible, ya que está desafiando a un invitado, Análisis de amenazas por %sTres jaquesTiempoControl de tiempoControl de tiempo: Apuros de tiempoTimor-LesteConsejo del díaConsejo del díaTítuloTituladoPara guardar un juego, vaya a Juego > Guardar juego como..., escriba un nombre de archivo y elija la ubicación donde desea guardarlo. Elija la extensión del archivo abajo, y después haga clic en Guardar.TogoTokelauTolerancia:TongaDirector de TorneoTraducir PyChessTrinidad y TobagoPruebe chmod a+x %sTúnezTurquíaTurkmenistánTurcas y Caicos, IslasTuvaluTipoEscriba o pegue aquí el juego PGN o las posiciones FEN SRUgandaUcraniaNo es posible aceptar %sNo se puede guardar el archivo configurado. ¿Guardar las partidas antes de cerrar?No se puede guardar en el archivo configurado. ¿Quiere guardar la partida actual antes de cerrarla?Posición inciertaPanel sin descripciónDeshacer Deshacer un movimientoDeshacer dos movimientosDesinstalarEmiratos Árabes UnidosReino Unido de Gran Bretaña e Irlanda del NorteIslas Menores Alejadas de Estados Unidos Estados Unidos de AméricaDesconocidoEstado de partida desconocidoCanal no oficial %dSin calificaciónSin registrarDesactivado: el estiramiento exponencial muestra el rango completo de la puntuación y aumenta los valores alrededor del promedio nulo. Activado: la escala lineal se enfoca en un rango limitado alrededor del promedio nulo. Destaca mejor los errores pequeños y los grandes errores.Sin tiempoBoca abajoUruguayUsar _analizadorUsar analizador _inversoUsar tablas de finales _localesUsar tablas de finales en líneaUsar una escala lineal para la puntuaciónUsar analizador:Formato de nombre:Usar _libro de aperturaUsar compensaión de tiempoUzbekistánValorVanuatuVarianteVariante desarrollada por Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Crear umbral de variación en centipawns ( 1/100 del valor de un peón):Venezuela (República Bolivariana de)Muy mal movimientoVietnamVer lecturas, resolver problemas o empezar a practicar finalesIslas Vírgenes (Inglesas)Islas Vírgenes (Estados Unidos)Elo blancasMFFGMFMIFEsperarWallis y FutunaAviso: esta opción genera un archivo .pgn formateado que no cumple los estándaresNo se pudo guardar '%(uri)s' ya que PyChess desconoce el formato '%(ending)s'.Bienvenido/a¡Muy bien!¡Muy bien! %s completado.Sahara OccidentalSi activa este botón, la relación de fuerzas entre usted y su oponente se preservará cuando: a) cambia su puntuación en el tipo de partida buscada b) usted cambia la variante o el control de tiempoBlancasELO Blanco:Blancas O-OBlancas O-O-OEl blanco tiene una nueva pieza avanzada: %sEl blanco tiene una posición bastante incómodaEl blanco tiene una posición levemente incómodaMovimiento de blancasEl blanco debería hacer una tormenta de peones sobre la izquierdaEl blanco debería hacer una tormenta de peones sobre la derechaLado blanco - Click para intercambiar los jugadoresBlancas:SalvajeWildcastleWildcastle barajadoVictoriaSe gana dando jaque 3 vecesVictoria:% de victoriasCon ataqueMaestro FIDE femeninoGran maestro femeninoMaestro internacional femeninoCarpeta de trabajo:Año, mes, día: #y, #m, #dYemenEstá conectado como invitado, pero la prueba es completamente gratuita durante 30 días, y después no hay cargo alguno y la cuenta seguirá activa con la posibilidad de jugar con algunas restricciones. Por ejemplo, no hay videos premium, algunas limitaciones en los canales, etc.) Para registrar una cuenta, vaya aEstá conectado como invitado. Un invitado no puede jugar partidas puntuadas y, por lo tanto, no puede acceder a tantas partidas como un usuario registrado. Para registrar una cuenta, vaya aUsted ha solicitado al oponente que muevaNo puede jugar partidas puntuadas si activa "Sin tiempo", No puede jugar partidas puntuadas como invitadoNo puede seleccionar una variante si está activado "Sin tiempo", No se puede intercambiar colores durante la partida.¡No puede tocar eso! Está examinando una partida.No tiene los permisos necesarios para guardar el archivo. Compruebe que ha indicado bien la ruta e inténtelo de nuevo.Ha sido desconectado por inactividad durante más de 60 minutosTodavía no ha abierto una conversaciónTiene que activar los comentarios ajenos para ver aquí los mensajes del bot.Ha intentado deshacer demasiados movimientos.Hay cambios sin guardar. ¿Quiere guardarlos antes de salir?Sólo puede tener 3 búsquedas a la vez. Si quiere añadir una búsqueda nueva, debe borrar las búsquedas activas. ¿Borrar las búsquedas?Usted ha ofrecido tablasUsted ha solicitado una pausaUsted ha solicitado continuarUsted ha ofrecido abortarUsted ha ofrecido aplazamientoUsted ha solicitado deshacerUsted ha reclamado el tiempo¡Se perderán todos los datos de progreso!¡Su oponente le pide que se apresure!Su oponente la ha solicitado abortar la partida. Si acepta, ésta concluirá sin cambios en la puntuación.Su oponente le ha solicitado aplazar la partida. Si acepta, la partida quedará aplazada y podrán retomarla más tarde (cuando su oponente esté conectado y ambos acuerden continuar).Su oponente le ha solicitado hacer una pausa. Si acepta, el reloj se detendrá hasta que ambos jugadores acuerden continuar la partida.Su oponente le ha solicitado continuar con la partida. Si acepta, el reloj volverá a ponerse en marcha desde donde se detuvo.Su oponente le solicita deshacer los últimos %s movimiento(s). Si acepta, la partida continuará desde la posición anterior a los mismos.Su oponente le ofrece tablas.Su oponente le ha ofrecido tablas. Si acepta, la partida concluirá con puntuación 1/2 - 1/2.Su oponente no ha agotado su tiempo.Su oponente debe estar de acuerdo en abortar la partida porque ya se han realizado dos o más movimientosParece que su oponente ha cambiado de idea.Su oponente quiere abortar la partidaSu oponente quiere aplazar la partidaSu oponente quiere pausar la partida.Su oponente quiere continuar con la partida.Su oponente quiere deshacer %s movimiento(s).La configuración del panel se ha restablecido. Si este problema se repite, informe a los desarrolladoresSus búsquedas han sido eliminadasSu fuerza: Su turno.ZambiaZimbabweZugzwang_Aceptar_Acciones_Analizar partida_Archivado_Auto guardar partidas terminadas a archivo .pgn_Reclamar bandera_Limpiar búsquedas_Copiar FEN_Copiar PGN_Rechazar_Editar_Motores_Exportar posición_Pantalla completa_PartidaLista de _partidas_GeneralAy_uda_Ocultar pestañas si sólo hay una partida abierta_Flecha de sugerencia_SugerenciasMovimiento _inválido: _Cargar partida_Visor de registros_Mis partidas_Nombre:_Nueva partida_Siguiente_Movimientos observados:_Oponente:_Contraseña:_Jugar ajedrez normalLista de _jugadores_AnteriorÉxito en _puzzle:_Reciente:_Reemplazar_Girar el tablero_Guardar %d documento_Guardar %d documentos_Guardar %d documentos_Guardar partidaBúsquedas/Desafíos_Mostrar paneles laterales_Sonidos_Empezar partida_Sin tiempo_Usar botón [x] de cierre de la ventana principal para cerrar todas las partidas_Usar sonidos en PyChessOpciones de _variación:_Ver_Su coloryy los invitados no pueden jugar partidas puntuadasy en FICS, las partidas sin tiempo no son puntuadasy en FICS, las partidas sin tiempo deben ser de ajedrez estándarpedir al oponente que muevanegrasacerca un/a %(piece)s al rey del oponente: %(cord)sacerca un peón a la última fila: %sReclamar bandera del oponentecaptura materialenrocala base de datos del árbol de aperturas necesita chess_dbla búsqueda en base de datos necesita scoutfishdefiende %sdesarrolla un/a %(piece)s: %(cord)sdesarrolla un peón: %stablasintercambia materialgnuchess:semiabiertohttp://brainking.com/es/GameRules?tp=2 * Ubicación de las piezas en la 1ra y 8va fila son aleatorias * El rey está en la esquina a mano derecha * Los alfiles deben iniciar en casillas de color opuesto * La posición de inicio de Negras es obtenida rotando la posición de Blancas 180 grados alrededor del centro del tablero * Sin enroqueshttp://es.wikipedia.org/wiki/Ajedrezhttp://es.wikipedia.org/wiki/Chess960 FICS salvaje/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://es.wikipedia.org/wiki/Reglas_del_ajedrezmejora la seguridad del reyen la fila %(x)s%(y)sen las filas %(x)s%(y)sincrementa la presión sobre %spieza promocionada no válidaleccioneslichessmateminminsmovimientomueve una torre a una columna abiertamueve una torre a una columna semiabiertamueve el alfil en fianchetto: %ssin jugardeofrecer tablasofrecer una pausaofrecer deshacerofrecer abortarofrecer aplazarofrecer continuarofrecer intercambiar bandosen línea en totalotroscaptura de peón sin pieza destino no es válidaclava el/la %(oppiece)s rival con el/la %(piece)s de %(cord)scoloca un/a %(piece)s más activo/a: %(cord)spromueve un Peón a: %spone al oponente en jaquerango de puntuación actualrescata a %sRendiciónronda %ssacrifica materialsegsegsmejora levemente la seguridad del reyrecupera materialla coordenada de captura (%s) es incorrectala coordenada final (%s) es incorrectael movimiento necesita una pieza y una coordenadaamenaza ganar material con %spara aceptar automáticamentepara aceptar manualmenteucivs.blancasventana1wtharveyxboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS salvaje/2: http://www.freechess.org/Help/HelpFiles/wild.html * Arreglo aleatorio de las piezas detrás de los peones * Sin enroques * El arreglo de negras es un espejo del de blancasxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS salvaje/0: http://www.freechess.org/Help/HelpFiles/wild.html * Blancas tiene el arreglo típico al inicio. * Las piezas Negras de igual manera, excepto que el Rey y Dama están intercambiados, * por lo que no están en las mismas columnas que el Rey y Dama blancos. * El enroque es hecho de manera similar al ajedrez normal: * o-o-o indica enroque largo y o-o enroque corto.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS salvaje/1: http://www.freechess.org/Help/HelpFiles/wild.html * En esta variante ambos bandos tienen el mismo conjunto de piezas que en ajedrez normal. * El rey blanco inicia en d1 o e1 y el rey negro inicia en d8 o e8, * y las torres están en sus posiciones usuales. * Los alfiles están siempre en colores opuestos. * Cumpliendo estas restricciones, la posición de las piezas en las primeras filas es aleatoria. * El enroque se hace como en el ajedrez normal: * o-o-o indica enroque largo y o-o enroque corto.yacpdbIslas Alandpychess-1.0.0/lang/es/LC_MESSAGES/pychess.po0000644000175000017500000055531613455542731017421 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # Adolfo Jayme Barrientos, 2012 # Fito JB, 2012 # Antonio de la Vega Jiménez , 2015 # Edgar Carballo , 2013 # gbtami , 2015 # gbtami , 2015-2016 # guillermo cavanna , 2019 # Henderb Rodriguez , 2014 # Henderb Rodriguez , 2014 # ignotus confutatis , 2013 # Isidro Pisa, 2016,2018 # joemaro , 2015 # Edgar Carballo , 2013 # Martin Henderson , 2016 # Pablo Martin Viva , 2017 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Spanish (http://www.transifex.com/gbtami/pychess/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Partida" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Nueva partida" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Jugar en _Internet Chess" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Cargar partida" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Cargar partida _reciente" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Guardar partida" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Guardar partida _como" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "_Exportar posición" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "_Puntuación del Jugador" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "_Analizar partida" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Editar" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_Copiar PGN" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "_Copiar FEN" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "_Motores" #: glade/PyChess.glade:518 msgid "Externals" msgstr "Externos" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Acciones" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Ofrecer_abortar" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Ofrecer ap_lazamiento" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Ofrecer _empate" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Ofrecer _pausa" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Ofrecer_continuar" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Ofrecer _deshacer" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Reclamar bandera" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "R_endirse" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Pedir que _mueva" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "Autoreclamar _bandera" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Ver" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Girar el tablero" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Pantalla completa" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "_Cerrar pantalla completa" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "_Mostrar paneles laterales" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_Visor de registros" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "_Flecha de sugerencia" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "Flecha es_pía" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "Base de Datos" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "Nueva Base de _Datos" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "Guardar Base de Datos como" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "Crear un libro de aperturas Polyglot" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "Importar chessfile" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "Importar partidas anotadas desde endgame.nl" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "Importar partidas desde theweekinchess.com" #: glade/PyChess.glade:865 msgid "_Help" msgstr "Ay_uda" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Acerca del Ajedrez" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Cómo jugar" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Traducir PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Consejo del día" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Cliente de ajedrez" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Preferencias" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "El nombre que se mostrará del primer jugador humano, por ejemplo, Juan." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Nombre del _primer jugador humano:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "El nombre que se mostrará del jugador invitado, por ejemplo, María." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Nombre del _segundo jugador humano:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Ocultar pestañas si sólo hay una partida abierta" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Activado, esconde la pestaña superior de la ventana de juego cuando no es necesaria." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "_Usar botón [x] de cierre de la ventana principal para cerrar todas las partidas" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "Activado, la primera vez que se cierra la ventana principal del programa, se cierran todas las partidas." #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "Auto _rotar el tablero hacia el jugador humano actual" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Activado, el tablero girará tras cada jugada ofreciendo al jugador actual su vista natural." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "Auto_coronar Dama" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "Activado, el peón se convierte automáticamente en Dama sin diálogo de selección." #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "Visualización _Cara a Cara" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Activado, las piezas negras se muestran boca abajo. Adecuado para jugar contra amigos en dispositivos móviles." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "Usar una escala lineal para la puntuación" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "Desactivado: el estiramiento exponencial muestra el rango completo de la puntuación y aumenta los valores alrededor del promedio nulo.\n\nActivado: la escala lineal se enfoca en un rango limitado alrededor del promedio nulo. Destaca mejor los errores pequeños y los grandes errores." #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "Mostrar las piezas _capturadas" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "Activado, las piezas capturadas se mostrarán junto al tablero." #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Usar figuras en la _notación" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "Activado, PyChess usará figuras para expresar los movimientos en vez de letras mayúsculas." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "Colorear movimientos analizados" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "Activado, PyChess coloreará en rojo los movimientos analizados sub-óptimos." #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "Mostrar tiempos de movimiento" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "Activado, se muestra el tiempo que un jugador ha usado para el movimiento." #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "Mostrar valores de evaluación" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "Activado, se muestra la valoración del motor analizador de consejos." #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "Mostrar número de partida FICS en la pestaña" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "Activado, el número de partida de FICS aparece en la etiqueta de pestaña junto al nombre del jugador." #: glade/PyChess.glade:1402 msgid "General Options" msgstr "Opciones Generales" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "_Animación completa del tablero" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Animación de piezas, rotación del tablero y otros. Usar en equipos rápidos." #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Animar sólo los _movimientos" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Sólo animar movimiento de piezas" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Sin _animación" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Desactiva las animaciones. Usar en equipos lentos." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animación" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_General" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "Usar _libro de apertura" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "Si está activo, PyChess mostrará los mejores movimientos en la apertura en el panel de sugerencias." #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "Archivo del libro Polyglot:" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "Usar tablas de finales _locales" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "Activado, PyChess mostrará los resultados de partidas para diferentes movimientos en posiciones con 6 piezas o menos.\nPuede descargar las tablas de finales de:\nhttp://www.olympuschess.com/egtb/gaviota/" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "Ruta a las tablas de finales de Gaviota:" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "Usar tablas de finales en línea" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "Activado, PyChess mostrará los resultados de la partida según los diferentes movimientos en las posiciones con 6 o menos piezas.\nBuscará posiciones en http://www.k4it.de/" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "Apertura, final" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Usar _analizador" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "El analizador se ejecutará en segundo plano y analizará la partida. Esto es necesario para el funcionamiento del modo ayuda" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Usar analizador _inverso" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "El analizador inverso analizará la partida como si fuera el turno de su oponente. Esto es necesario para el funcionamiento del modo espía" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "Tiempo de análisis máximo en segundos:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "Análisis infinito" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analizando" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_Sugerencias" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Desinstalar" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "Ac_tivo" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Paneles laterales instalados" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "_Paneles laterales" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "Ruta de imagen de fondo:" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "Pantalla de bienvenida" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "Textura:" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "Marco:" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Casillas Claras :" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "Grilla:" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Casillas Oscuras :" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "Reestablecer Colores" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "_Mostrar coordenadas" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "Activado, muestra encabezados de filas y columnas. Son útiles para la notación." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "Estilo de Tablero" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "Fuente" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "Mover texto" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "Juegos de piezas" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Temas" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Usar sonidos en PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "Un jugador _hace jaque:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Un jugador _mueve:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Partida _tablas:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Partida _perdida:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Partida _ganada:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Un jugador _captura:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Partida _establecida:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "_Movimientos observados:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "_Finales observados:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "Apurado de _tiempo:" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "Movimiento _inválido: " #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "Alarma al _quedar estos segundos:" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "Éxito en _puzzle:" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "Opciones de _variación:" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Reproducir sonido cuando..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Sonidos" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "_Auto guardar partidas terminadas a archivo .pgn" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Guardar archivos en:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "Formato de nombre:" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "Nombres: #n1, #n2" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "Año, mes, día: #y, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "Guardar _tiempos de movimiento" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "Guardar _evaluaciones del motor de análisis" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "Guardar valores de cambio de _puntuación" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "Indentar archivo _PGN" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "Aviso: esta opción genera un archivo .pgn formateado que no cumple los estándares" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "Guardar sólo partidas _propias" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Guardar" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Coronar" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Dama" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Torre" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Alfil" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Caballo" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Rey" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Coronar peón como" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "Por Defecto" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "Caballos" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Información de la partida" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Lugar:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "Cambio de Rating:" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "Para cada jugador, las estadísticas proveen la probabilidad de ganar la partida y la variación de tu ELO si pierdes / terminas en tablas / ganas, o simplemente el cambio en el rating de ELO final" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "ELO Negro:" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Negras:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Ronda:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "ELO Blanco:" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Blancas:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "Fecha:" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "Resultado:" #: glade/PyChess.glade:4818 msgid "Game" msgstr "Partida" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "Jugadores:" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Evento:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "Se espera un formato \"yyy.mm.dd\" y se permite el comodín \"?\"" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "Identificación" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "Etiquetas adicionales" #: glade/PyChess.glade:5066 msgid "uci" msgstr "uci" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "xboard" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "Administrar los motores" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Instrucción:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protocolo:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Parámetros:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "Parámetros de linea de comandos requerido por el motor" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "Los motores usan los protocolos de comunicación uci y xboard para comunicarse con la interfaz de usuario.\nSi se pueden usar ambos, aquí puede indicar cuál de los dos prefiere." #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "Carpeta de trabajo:" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "La carpeta desde donde el motor iniciará." #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "Comando de entorno de ejecución:" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "Entorno de tiempo de ejecución del comando del motor (wine o nodo)" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "Parámetros de entorno de ejecución:" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "Parámetros de línea de comandos requerido por el entorno de ejecución" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "País:" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "País de origen del motor" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "Comentario:" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "Comentario libre sobre el motor" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "Entorno" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "Nivel preferido:" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "El nivel 1 es el más débil y el nivel 20 es el más fuerte. No defina un nivel demasiado alto si el motor se basa en la profundidad de exploración." #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "Restaurar las opciones por defecto" #: glade/PyChess.glade:5538 msgid "Options" msgstr "Opciones" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "Filtro" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Blancas" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Negras" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "Ignorar colores" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "Evento" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "ECO" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "Elo" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "0" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "-" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Fecha" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "Lugar" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "Anotador" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Resultado" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "1-0" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "0-1" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "1/2-1/2" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "Variante" #: glade/PyChess.glade:6410 msgid "Header" msgstr "Encabezado" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "Imbalance" #: glade/PyChess.glade:6789 msgid "White move" msgstr "Movimiento de blancas" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "Movimiento de negras" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "Movimiento de no captura (pasivo)" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "Movió" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "Capturó" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "Bando que mueve" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "Material/movimiento" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "Sub-FEN :" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "Patrón" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "Explorar" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Analizar partida" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "Usar analizador:" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "Si el analizador encuentra un movimiento donde la diferencia de evaluación (la diferencia entre la evaluación para el movimiento que piensa que es el mejor y la evaluación para el movimiento hecho en la partida) es superior a este valor, se agregará una anotación en el movimiento (que consistirá en la Variación Principal del motor para el movimiento) en el panel Anotación" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "Crear umbral de variación en centipawns ( 1/100 del valor de un peón):" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "Analizar desde la posición actual" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "Analizar movimientos negros" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "Analizar movimientos blancos" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "Añadir variantes de amenazas" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess está buscando sus motores de ajedrez. Por favor, espere." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Conectar a Internet Chess" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "Conectarse a Online Chess Server" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Contraseña:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Nombre:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Conectarse como _invitado" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "Anfitrión:" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Pue_rtos:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "Lag:" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "Usar compensaión de tiempo" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "Darse de alta" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Desafío: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Enviar desafío" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Desafío:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Relámpago:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Estándar:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Blitz:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "Aleatorio Fischer, 2 minutos, negras" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 minutos + 6 seg/mov, blancas" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 min" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "_Limpiar búsquedas" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Aceptar" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Rechazar" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "Enviar todas las búsquedas" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Enviar búsqueda" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Crear búsqueda" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Estándar" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Blitz" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Relámpago" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Ordenador" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "Búsquedas/Desafíos" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Puntuación" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Tiempo" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "Búsqueda _gráfica" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 jugadores listos" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Desafío" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Observar" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Iniciar charla privada" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "Registrado" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Invitado" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "Titulado" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "Lista de _jugadores" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "Lista de _partidas" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "_Mis partidas" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "A_bortar oferta" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "Examinar" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "Pre_visualizar" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "_Archivado" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "Aleatorio asimétrico" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Editar búsqueda" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Sin tiempo" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minutos: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "Incremento: " #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Control de tiempo: " #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Control de tiempo" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "No importa" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Su fuerza: " #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Blitz)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Fuerza del oponente: " #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "Si activa este botón, la relación de fuerzas entre usted y su oponente se preservará cuando:\na) cambia su puntuación en el tipo de partida buscada\nb) usted cambia la variante o el control de tiempo" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Centro:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Tolerancia:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Ocultar" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Fuerza del oponente" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Su color" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Jugar ajedrez tradicional" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Jugar" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Variante de ajedrez" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Juego con puntuación" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Aceptar oponente manualmente" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Opciones" #: glade/findbar.glade:6 msgid "window1" msgstr "ventana1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 de 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Buscar:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Anterior" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Siguiente" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Nueva partida" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Empezar partida" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "Copiar FEN" #: glade/newInOut.glade:143 msgid "Clear" msgstr "Limpiar" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "Pegar FEN" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "Configuración inicial" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "Fuerza de juego del motor (1=más débil, 20=más fuerte)" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "Lado blanco - Click para intercambiar los jugadores" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "Lado negro - Click para intercambiar los jugadores" #: glade/newInOut.glade:397 msgid "Players" msgstr "Jugadores" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "_Sin tiempo" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "Blitz: 5 min" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "Rápida: 15 min + 10 seg/mov" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "Normal: 40 min + 15 seg/mov" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "Clásico: 3 min / 40 movimientos" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "_Jugar ajedrez normal" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Jugar partida Aleatoria Fisher" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "Jugar ajedrez perdedor" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Abrir partida" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Posición inicial" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Introduzca notación de partida" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "Reloj de medio movimiento" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "Línea al paso" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "Nº de movimiento" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "Negras O-O" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "Negras O-O-O" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "Blancas O-O-O" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "Blancas O-O" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "Rotar el tablero" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Salir de PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Cerrar _sin guardar" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "_Guardar %d documentos" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "Hay %d partidas con movimientos sin guardar. ¿Guardar cambios antes de cerrar?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Seleccione las partidas que desea guardar:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Si no se guardan, los cambios en los juegos se perderán." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "Configuraciones detalladas de jugadores, tiempo de control y variante de ajedrez" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "_Oponente:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_Su color" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "_Empezar partida" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "Configuraciones detalladas de conexión" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "Abrir sesión al inicio" #: glade/taskers.glade:369 msgid "Server:" msgstr "Servidor:" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "_Conectar al servidor" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "Elija un archivo pgn o epd o fen" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "_Reciente:" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "Crear una nueva base de datos" #: glade/taskers.glade:609 msgid "Open database" msgstr "Abrir base de datos" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "Ver lecturas, resolver problemas o empezar a practicar finales" #: glade/taskers.glade:723 msgid "Category:" msgstr "Categoría:" #: glade/taskers.glade:796 msgid "Start learning" msgstr "Empezar a aprender" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Consejo del día" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Mostrar consejos al inicio" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://es.wikipedia.org/wiki/Ajedrez" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://es.wikipedia.org/wiki/Reglas_del_ajedrez" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Bienvenido/a" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Abrir partida" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "Leyendo %s..." #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "%(counter)sencabezados de partidas importados desde %(filename)s" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "El motor %s reporta el error:" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "Su oponente le ofrece tablas." #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "Su oponente le ha ofrecido tablas. Si acepta, la partida concluirá con puntuación 1/2 - 1/2." #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "Su oponente quiere abortar la partida" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "Su oponente la ha solicitado abortar la partida. Si acepta, ésta concluirá sin cambios en la puntuación." #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "Su oponente quiere aplazar la partida" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "Su oponente le ha solicitado aplazar la partida. Si acepta, la partida quedará aplazada y podrán retomarla más tarde (cuando su oponente esté conectado y ambos acuerden continuar)." #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "Su oponente quiere deshacer %s movimiento(s)." #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "Su oponente le solicita deshacer los últimos %s movimiento(s). Si acepta, la partida continuará desde la posición anterior a los mismos." #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "Su oponente quiere pausar la partida." #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "Su oponente le ha solicitado hacer una pausa. Si acepta, el reloj se detendrá hasta que ambos jugadores acuerden continuar la partida." #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "Su oponente quiere continuar con la partida." #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "Su oponente le ha solicitado continuar con la partida. Si acepta, el reloj volverá a ponerse en marcha desde donde se detuvo." #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "Rendición" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "Reclamo de bandera" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "Se ofrece tablas" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "Se ofrece abortar" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "Se ofrece aplazar" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "Se ofrece pausa" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "Se ofrece continuar" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "Se ofrece cambiar bandos" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "Se ofrece deshacer" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "Rendición" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "Reclamar bandera del oponente" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "ofrecer tablas" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "ofrecer abortar" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "ofrecer aplazar" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "ofrecer una pausa" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "ofrecer continuar" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "ofrecer intercambiar bandos" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "ofrecer deshacer" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "pedir al oponente que mueva" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Su oponente no ha agotado su tiempo." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "El reloj no se ha puesto en marcha aún." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "No se puede intercambiar colores durante la partida." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "Ha intentado deshacer demasiados movimientos." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "¡Su oponente le pide que se apresure!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "Generalmente esto no significa nada, ya que la partida es con tiempo, pero si quiere complacer a su oponente, quizás debería hacerlo." #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "Aceptar" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "Rechazar" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "Su oponente ha declinado: %s" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "¿Reenviar %s?" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "Reenviar" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s ha sido retirado por su oponente" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "Parece que su oponente ha cambiado de idea." #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "No es posible aceptar %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "Probablemente porque se ha retirado." #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s devuelve un error" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "Diagrama Chess Alpha 2" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "La partida ha terminado. Compruebe primero las propiedades de la partida." #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "La partida no ha terminado. Exportarla puede tener un interés limitado." #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "Debería %s publicar esta partida como PGN on chesspastebin.com ?" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "Partida compartida en" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "(Enlace copiado en el portapapeles)" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Posición de ajedrez" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Desconocido" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Posición de Ajedrez Simple" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "La partida no se pudo leer debido a un error en la cadena de posición FEN." #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "Diagrama Html" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "Composiciones de ajedrez de yacpdb.org" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Partida" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "Variación primaria del analizador" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "Importando encabezados de partidas" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "Creando archivo de indice .bin..." #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "Creando archivo de indice .scout..." #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "Movimiento inválido." #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "Error analizando %(mstr)s" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "La partida no puede leerse completa debido a un error en el análisis del movimiento %(moveno)s '%(notation)s'." #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "El movimiento falló a causa de %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "Error al analizar el movimiento %(moveno)s %(mstr)s" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "Imagen png" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "Diagrama de Texto" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "Servidor de destino no disponible" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Muerto" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Evento local" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Sitio local" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "min" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "seg" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "Ilegal" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "Mate" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "¡ Disponible nueva versión %s !" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "Andorra" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "Emiratos Árabes Unidos" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "Afganistan" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "Antigua y Barbuda" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "Anguilla" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "Albania" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "Armenia" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "Angola" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "Antártica" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "Argentina" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "Samoa Americana" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "Austria" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "Australia" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "Aruba" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "Islas Aland" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "Azerbaijan" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "Bosnia y Herzegovina" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "Barbados" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "Bangladesh" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "Bélgica" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "Burkina Faso" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "Bulgaria" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "Bahrein" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "Burundi" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "Benin" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "San Bartolomé" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "Bermuda" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "Brunei Darussalam" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "Bolivia (Estado Plurinacional de)" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "Bonaire, San Eustaquio y Saba" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "Brazil" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "Bahamas" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "Bhután" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "Isla Bouvet" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "Botswana" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "Bielorrusia" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "Bélice" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "Canada" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "Islas Cocos (Keeling)" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "Congo (La República Democrática de)" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "República Central de África" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "Congo" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "Suiza" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "Costa de Marfil" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "Islas Cook" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "Chile" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "Camerún" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "China" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "Colombia" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "Costa Rica" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "Cuba" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "Cabo Verde" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "Curaçao" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "Isla de Navidad" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "Chipre" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "Chequia" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "Alemania" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "Djibouti" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "Dinamarca" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "Domínica" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "República Dominicana" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "Algeria" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "Ecuador" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "Estonia" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "Egipto" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "Sahara Occidental" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "Eritrea" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "España" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "Etiopía" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "Finlandia" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "Fiji" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "Islas Falkland [Malvinas]" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "Micronesia (Estados Federados de)" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "Islas Faroe" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "Francia" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "Gabón" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "Reino Unido de Gran Bretaña e Irlanda del Norte" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "Granada" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "Georgia" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "Guayana Francesa" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "Guernsey" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "Ghana" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "Gibraltar" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "Groenlandia" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "Gambia" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "Guinea" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "Guadalupe" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "Guinea Ecuatorial" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "Grecia" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "Georgia del Sur y las Islas Sandwich del Sur" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "Guatemala" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "Guam" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "Guinea-Bissau" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "Guyana" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "Hong Kong" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "Islas Heard y McDonald" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "Honduras" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "Croacia" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "Haití" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "Hungria" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "Indonesia" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "Irlanda" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "Israel" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "Isla del hombre" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "India" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "Territorio Británico del Océano Índico" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "Irak" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "Iran (República Islámica de)" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "Islandia" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "Italia" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "Jersey" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "Jamaica" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "Jordania" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "Japón" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "Kenia" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "Kirguistán" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "Camboya" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "Kirbati" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "Comoras" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "San Cristóbal y Nieves" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "Korea (República Democrática Popular de)" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "Korea (Repùblica de)" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "Kuwait" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "Islas Caimán" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "Kazakhstan" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "República Democrática Popular Lao" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "Líbano" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "Santa Lucía" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "Liechtenstein" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "Sri Lanka" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "Liberia" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "Lesotho" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "Lituania" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "Luxemburgo" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "Letonia" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "Libia" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "Marruecos" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "Mónaco" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "Moldavia (República de)" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "Montenegro" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "San Martín (parte francesa)" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "Madagascar" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "Marshall (Islas)" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "Macedonia (antigua República de Yugoslavia)" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "Mali" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "Myanmar" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "Mongolia" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "Macao" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "Islas Marianas del Norte" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "Martinica" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "Mauritania" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "Montserrat" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "Malta" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "Mauricio" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "Maldivas" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "Malawi" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "México" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "Malasia" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "Mozambique" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "Namibia" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "Nueva Caledonia" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "Níger" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "Norfolk (Isla)" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "Nigeria" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "Nicaragua" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "Holanda" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "Noruega" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "Nepal" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "Nauru" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "Niue" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "Nueva Zelanda" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "Omán" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "Panamá" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "Perú" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "Polinesia Francesa" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "Papua Nueva Guinea" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "Filipinas" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "Pakistán" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "Polonia" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "Saint Pierre y Miquelon" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "Pitcairn" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "Puerto Rico" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "Palestina, Estado de" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "Portugal" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "Palau" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "Paraguay" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "Qatar" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "Reunión" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "Rumanía" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "Serbia" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "Federación Rusa" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "Ruanda" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "Arabia Saudí" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "Salomón, Islas" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "Seychelles" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "Sudán" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "Suecia" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "Singapur" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "Santa Elena, Ascensión y Tristán da Cunha" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "Eslovenia" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "Svalbard y Jan Mayen" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "Eslovaquia" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "Sierra Leona" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "San Marino" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "Senegal" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "Somalia" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "Surinam" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "Sudán del Sur" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "Santo Tomé y Príncipe" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "El Salvador" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "Sint Maarten (parte Holandesa)" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "República Árabe de Siria" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "Swazilandia" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "Turcas y Caicos, Islas" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "Chad" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "Territorios Franceses del Sur" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "Togo" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "Thailandia" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "Tajikistán" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "Tokelau" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "Timor-Leste" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "Turkmenistán" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "Túnez" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "Tonga" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "Turquía" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "Trinidad y Tobago" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "Tuvalu" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "Taiwán (Provincia de China)" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "Tanzania, República Unida de" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "Ucrania" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "Uganda" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "Islas Menores Alejadas de Estados Unidos " #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "Estados Unidos de América" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "Uruguay" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "Uzbekistán" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "Santa Sede" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "San Vicente y las Granadinas" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "Venezuela (República Bolivariana de)" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "Islas Vírgenes (Inglesas)" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "Islas Vírgenes (Estados Unidos)" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "Vietnam" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "Vanuatu" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "Wallis y Futuna" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "Samoa" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "Yemen" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "Mayotte" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "Sudáfrica" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "Zambia" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "Zimbabwe" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Peón" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "C" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "A" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "T" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "D" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "R" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "La partida terminó en empate" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s ha ganado la partida" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s ha ganado la partida" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "La partida ha sido anulado" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "La partida ha sido aplazado" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "La partida ha sido abortado" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "Estado de partida desconocido" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "Partida cancelada" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "porque ningún jugador tiene suficiente material para dar mate" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "porque la misma posición se ha repetido tres veces seguidas." #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "porque los últimos 50 movimientos no han aportado nada nuevo" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "porque ambos jugadores han agotado su tiempo" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "porque %(mover)s está ahogado" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "porque ambos jugadores acordaron tablas" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "por decisión de un administrador" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "porque la partida ha excedido la longitud máxima" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "porque %(white)s se quedaron sin tiempo y %(black)s no tienen suficiente material para dar mate" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "porque %(black)s se quedaron sin tiempo y %(white)s no tienen suficiente material para dar mate" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "porque ambos jugadores tienen la misma cantidad de piezas" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "Porque ambos reyes llegaron a la fila ocho" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "porque %(loser)s se rindió" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "porque %(loser)s agotó su tiempo" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "porque %(loser)s ha recibido mate" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "porque %(loser)s se ha desconectado" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "porque %(winner)s tiene menos piezas" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "porque %(winner)s perdió todas sus piezas" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "porque el rey de %(loser)s explotó" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "porque el rey de %(winner)s ha llegado al centro " #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "porque %(winner)s ha dado jaque 3 veces" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "Porque rey%(winner)salcanzó la octava fila" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "Porque %(winner)slimpió la horda blanca" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "porque un jugador perdió la conexión" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "porque ambos jugadores acordaron un aplazamiento" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "porque el servidor fue desconectado" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "porque un jugador perdió la conexión y el otro solicitó aplazamiento" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "porque %(black)s perdió la conexión con el servidor y %(white)s solicitó aplazar la partida" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "porque %(white)s perdió la conexión con el servidor y %(black)s solicitó aplazar la partida" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "porque %(white)s perdió la conexión con el servidor" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "porque %(black)s perdió la conexión con el servidor" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "porque un administrador adjudicó la partida. No hay cambios en la puntuación." #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "porque ambos jugadores acordaron abortar la partida. No hay cambios en la puntuación." #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "por cortesía de un jugador. No hay cambios en la puntuación." #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "porque un jugador abortó la partida. Cualquiera de los jugadores puede abortar la partida sin el consentimiento del otro antes del segundo movimiento. No se han producido cambios de puntuación." #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "debido a que un jugador desconectó y hay pocos movimientos para justificar el aplazamiento. No se han producido cambios de puntuación." #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "porque el servidor fue desconectado. No hay cambios en la puntuación." #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "por que el motor de %(white)s dejó de funcionar" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "porque el motor de %(black)s dejó de funcionar" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "porque se perdió la conexión con el servidor" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "por razón desconocida" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "Porque se alcanzó la meta de práctica" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "ASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "ASEAN" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "Makruk: http://en.wikipedia.org/wiki/Makruk" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "Makruk" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "Cambodian: http://www.khmerinstitute.org/culture/ok.html" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "Cambodian" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "Ai-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "Ai-Wok" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "Sittuyin" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "FICS salvaje/4: http://www.freechess.org/Help/HelpFiles/wild.html\n* Piezas escogidas aleatoriamente (dos damas o tres torres es posible)\n* Solo un rey de cada color\n* Piezas ubicadas aleatoriamente detrás de los peones, CON LA CONDICIÓN DE QUE LOS ALFILES ESTÉN BALANCEADOS\n* Sin enroques\n* La disposición de las negras NO ES un espejo de las blancas" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Aleatorio asimétrico" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "FICS atómico: http://www.freechess.org/Help/HelpFiles/atomic.html" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "Atómico" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Reglas de ajedrez clásico con piezas ocultas\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "A ciegas" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Reglas de ajedrez clásico con peones ocultos\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "Peones ocultos" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Reglas de ajedrez clásico con piezas ocultas\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "Piezas ocultas" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Reglas de ajedrez clásico con todas las piezas blancas\nhttp://es.wikipedia.org/wiki/Ajedrez_a_la_ciega" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "Todas blancas" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "Bughouse" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "http://brainking.com/es/GameRules?tp=2\n* Ubicación de las piezas en la 1ra y 8va fila son aleatorias\n* El rey está en la esquina a mano derecha\n* Los alfiles deben iniciar en casillas de color opuesto\n* La posición de inicio de Negras es obtenida rotando la posición de Blancas 180 grados\nalrededor del centro del tablero\n* Sin enroques" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Esquina" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "Crazyhouse" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "EuroShogi" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "http://es.wikipedia.org/wiki/Chess960\nFICS salvaje/fr: http://www.freechess.org/Help/HelpFiles/wild.html" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Fischer Random" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "Regalo ICC: https://www.chessclub.com/user/help/Giveaway" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "Regalo" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "El negro debe capturar todas las piezas blancas para ganar.\nEl blanco quiere dar jaque mate como de costumbre.\nLos peones blancos en la primera fila pueden mover dos casillas,\nsimilar a los peones en la segunda fila." #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "Horda" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "Si tu rey llega al centro (e4, d4, e5, d5) inmediatamente ganas la partida!\nAparte de eso, se aplican las reglas normales y jaque mate tambien termina la partida." #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "Rey de la colina" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "un jugador empieza con un caballo menos" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "Ventaja de caballo" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "Perdedor" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "Reglas de ajedrez clásico\nhttp://es.wikipedia.org/wiki/Ajedrez" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Normal" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "Un jugador inicia la partida sin un peón" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "Ventaja de peón" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "FICS salvaje/8a: http://www.freechess.org/Help/HelpFiles/wild.html\nLos peones blancos inician en la 5ta fila y los peones negros en la 4ta fila" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "Peones pasados" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "FICS salvaje/8: http://www.freechess.org/Help/HelpFiles/wild.html\nLos peones inician en la 4ta y 5ta filas en vez de las 2da y 7ma" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "Peones avanzados" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "Pre-chess: https://es.wikipedia.org/wiki/Variante_del_ajedrez#Ajedrez_con_diferentes_posiciones_iniciales" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "Colocación" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "Un jugador inicia la partida sin la dama" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "Ventaja de dama" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "En este juego, dar jaque está enteramente prohibido: no solo está prohibido\nmover el propio rey en jaque, sino que está prohibido dar jaque al rey opuesto.\nEl propósito de este juego es ser el primer jugador que mueva su rey a la octava fila.\nCuando las blancas mueven su rey a la octava fila, y las negras mueven directamente luego su rey a la última fila, el juego termina en tablas\n(esta regla es para compensar por la ventaja de que las piezas blancas pueden mover primero.)\nSalvo las reglas anteriores, las piezas pueden mover y capturar precisamente como en ajedrez normal." #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "Racing Kings" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "FICS salvaje/3: http://www.freechess.org/Help/HelpFiles/wild.html\n* Piezas escogidas aleatoriamente (es posible dos damas o tres torres)\n* Solo un rey de cada color\n* Piezas ubicadas detrás de los peones aleatoriamente\n* Sin enroques\n* La disposición de las negras es un espejo de la de las blancas" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Aleatorio" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "Un jugador inicia la partida sin una torre" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "Ventaja de torre" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS salvaje/2: http://www.freechess.org/Help/HelpFiles/wild.html\n* Arreglo aleatorio de las piezas detrás de los peones\n* Sin enroques\n* El arreglo de negras es un espejo del de blancas" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Barajado" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "FICS suicida: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "Suicida" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "Variante desarrollada por Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "Theban" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "Se gana dando jaque 3 veces" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "Tres jaques" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "FICS salvaje/5: http://www.freechess.org/Help/HelpFiles/wild.html\nhttp://es.wikipedia.org/wiki/Variante_del_ajedrez#Ajedrez_con_diferentes_posiciones_iniciales\n¡Los peones inician en su 7ma fila en vez de su 2da fila!" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "Boca abajo" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS salvaje/0: http://www.freechess.org/Help/HelpFiles/wild.html\n* Blancas tiene el arreglo típico al inicio.\n* Las piezas Negras de igual manera, excepto que el Rey y Dama están intercambiados,\n* por lo que no están en las mismas columnas que el Rey y Dama blancos.\n* El enroque es hecho de manera similar al ajedrez normal:\n* o-o-o indica enroque largo y o-o enroque corto." #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "Wildcastle" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS salvaje/1: http://www.freechess.org/Help/HelpFiles/wild.html\n* En esta variante ambos bandos tienen el mismo conjunto de piezas que en ajedrez normal.\n* El rey blanco inicia en d1 o e1 y el rey negro inicia en d8 o e8,\n* y las torres están en sus posiciones usuales.\n* Los alfiles están siempre en colores opuestos.\n* Cumpliendo estas restricciones, la posición de las piezas en las primeras filas es aleatoria.\n* El enroque se hace como en el ajedrez normal:\n* o-o-o indica enroque largo y o-o enroque corto." #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "Wildcastle barajado" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "La conexión se ha roto - recibido mensaje de «fin de archivo»" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "El nombre «%s» no está registrado" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "La clave entrada es inválida.\nSi ha olvidado su clave, vaya a http://www.freechess.org/password para solicitar una nueva por email." #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "Lo sentimos, '%s' ya ha iniciado sesión" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "El nombre '%s' está registrado. Si es usted, introduzca la contraseña." #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "Debido a problemas de abusos, no se permiten conexiones como invitado.\nSi quiere, puede registrarse en http://www.freechess.org" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Conectando al servidor" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Iniciando sesión en el servidor" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Preparando entorno" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "%(player)s está %(status)s" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "sin jugar" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Salvaje" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "En línea" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Desconectado" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "Disponible" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "Jugando" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "Inactivo" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "Examinando" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "No Disponible" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "Jugando simultáneas" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "En torneo" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Sin calificación" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Calificado" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d min" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr " + %d seg" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "%(player)s juega con %(color)s" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "blancas" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "negras" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "Esto es una continuación de una partida aplazada" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "Puntuación del adversario" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "Aceptar manualmente" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Privado" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Error de conexión" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Error de registro" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "La conección se cerró" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Error en la dirección" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Autocierre de sesión" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Ha sido desconectado por inactividad durante más de 60 minutos" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "El servidor FICS no permite la conexión como invitado." #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "1-minuto" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "3-minutos" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "5-minutos" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "15-minutos" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "45-minutos" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "Chess960" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "Examinado" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Otras" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "Bala" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Administrador" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "Cuenta a ciegas" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Cuenta del equipo" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "Sin registrar" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "Consejero de ajedrez" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "Representante del servicio" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "Director de Torneo" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "Gestor Mamer" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "Gran Maestro" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "Maestro Internacional" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "Maestro FIDE" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "Gran maestro femenino" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "Maestro internacional femenino" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "Maestro FIDE femenino" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "Cuenta Falsa" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "Maestro Candidato" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "Árbitro FIDE" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "Maestro Nacional" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "Display Master" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "C" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "E" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "SR" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "CA" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "SR" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "TD" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "TM" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "GM" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "MI" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "MF" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "GMF" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "MIF" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "MFF" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "F" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "H" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "MC" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "FA" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "NM" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "DM" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "PyChess no pudo cargar las configuraciones del panel" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "La configuración del panel se ha restablecido. Si este problema se repite, informe a los desarrolladores" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "Amigos" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "Admin" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "Más canales" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "Más jugadores" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "Ordenadores" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "A ciegas" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "Invitados" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "Observadores" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "Seguir" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "Pausa" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "Pedir permisos" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "Algunas de las características de PyChess necesitan su permiso para descargar programas externos" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "la búsqueda en base de datos necesita scoutfish" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "la base de datos del árbol de aperturas necesita chess_db" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "La copensación de lag de ICC necesita timestamp" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "No mostrar este diálogo al inicio." #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "No se ha seleccionado conversación" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "Cargando datos del jugador" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "Recibiendo la lista de jugadores" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "Su turno." #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "Sugerencia" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "Mejor movimiento" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "¡Muy bien! %s completado." #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "¡Muy bien!" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "Siguiente" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "Continuar" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "¡No es el mejor movimiento!" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "Intentar de nuevo" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "¡Bien! Ahora veamos cómo va la línea principal." #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "Regresar a la línea principal" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "Ventana de información de PyChess" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "de" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "Lecturas" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "Lecciones" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "Rompecabezas" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "Finales" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "Todavía no ha abierto una conversación" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "Solo los usuarios registrados pueden usar este canal" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "Análisis de partida en progreso..." #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "¿Quiere abortarla?" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "Abortar" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "Hay cambios sin guardar. ¿Quiere guardarlos antes de salir?" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "Opción" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "Valor" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "Seleccione el motor" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "Archivos ejecutables" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "No se puede añadir %s" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "El motor ya está instalado con el mismo nombre" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "no está instalado" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "%s no está marcado como ejecutable en el sistema de archivos" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "Pruebe chmod a+x %s" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "Hay algún problema con este ejecutable" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "Importar" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "Seleccione la carpeta de trabajo" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "¿De verdad quiere restaurar las opciones predeterminadas del motor?" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "Nuevo" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "Ellija una fecha" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "motor de juego inválido: %s" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Ofrecer revancha" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "Observar %s" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Jugar revancha" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Deshacer un movimiento" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Deshacer dos movimientos" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "Usted ha ofrecido abortar" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "Usted ha ofrecido aplazamiento" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Usted ha ofrecido tablas" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "Usted ha solicitado una pausa" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "Usted ha solicitado continuar" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "Usted ha solicitado deshacer" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "Usted ha solicitado al oponente que mueva" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "Usted ha reclamado el tiempo" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "El motor %s, ha dejado de funcionar" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "PyChess ha perdido la conexión con el motor, probablemente porque ha dejado de funcionar.\n\nPuede intentar empezar una nueva partida con el motor, o probar a jugar contra otro." #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "Esta partida puede ser abortada automáticamente sin pérdida de puntuación porque aún no se han hecho dos movimientos" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "Ofrecer abortar" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "Su oponente debe estar de acuerdo en abortar la partida porque ya se han realizado dos o más movimientos" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "Esta partida no se puede aplazar porque uno o ambos jugadores son invitados" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "Reclamar tablas" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "Reanudar" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "Proponer pausa" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "Proponer reanudar" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "Deshacer " #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "Proponer deshacer" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "ha estado en latencia durante 30 segundos" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "tiene largos tiempos de latencia, pero no se ha desconectado" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "¿Continuar esperando al oponente, o intentar aplazar la partida?" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "Esperar" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "Aplazar " #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "Volver a la posición inicial" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "Retroceder un movimiento" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "Volver a la línea principal" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "Avanzar un movimiento" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Saltar a la última posición" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "Encontrar la posición en la base de datos actual" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "Guardar flechas/círculos" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Humano" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minutos:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "Movimientos:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Incremento:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "Clásico" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "Rápido" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "%(name)s %(minutes)d min / %(moves)d movs %(duration)s" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "%(name)s %(minutes)d min %(sign)s %(gain)d seg/mov %(duration)s" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "%(name)s %(minutes)d min %(duration)s" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "Duración estimada : %(min)d - %(max)d minutos" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "Ventajas" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "Otro (reglas estándar)" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "Otro (reglas NO estándar)" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "Variantes asiáticas" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr " ajedrez" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Editar posición" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "Escriba o pegue aquí el juego PGN o las posiciones FEN " #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Entrar una partida" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "Seleccione el archivo de aperturas" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "Libros de aperturas" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "Seleccione la ruta a las tablas de finales de Gaviota" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Abrir Archivo de Sonido" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "Archivos de sonido" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Sin sonido" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Pitido" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Seleccione un archivo de sonido…" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "Panel sin descripción" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "Seleccione la imagen de fondo" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "Imágenes" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "Seleccione la ruta de autoguardado" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "PyChess es una aplicación de ajedrez de código abierto que puede ser mejorada por cualquier entusiasta del ajedrez: informes de errores, código fuente, documentación, traducciones, solicitudes de funciones, asistencia al usuario ... Pongámonos en contacto en http://www.pychess.org " #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "PyChess es compatible con una amplia gama de motores de ajedrez, variantes, servidores de Internet y lecciones. Es una aplicación de escritorio perfecta para aumentar tus habilidades de ajedrez de manera muy conveniente." #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "Las versiones de pychess tienen el nombre de los campeones mundiales de ajedrez histórico. ¿Sabes el nombre del actual campeón mundial de ajedrez?" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "Un juego está hecho de una abertura, un medio juego y un juego final. PyChess puede entrenarte gracias a su libro de aperturas, sus motores de ajedrez compatibles y su módulo de entrenamiento." #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "¿Sabía que se puede ganar una partida de ajedrez en tan solo 2 turnos?" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "¿Sabes que un caballo está mejor situado en el centro de la tabla?" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "¿Sabía que el número de partidas de ajedrez posibles es mayor que el número de átomos del universo?" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "Para guardar un juego, vaya a Juego > Guardar juego como..., escriba un nombre de archivo y elija la ubicación donde desea guardarlo. Elija la extensión del archivo abajo, y después haga clic en Guardar." #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "Cada motor de ajedrez tiene su propia función de evaluación. Es normal obtener diferentes puntajes para una misma posición." #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "FEN requiere 6 campos de datos.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "FEN requiere al menos 2 campos de datos en fenstr.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "El campo de posición de la pieza necesita 7 barras \"/\".\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "El campo de color activo debe ser w o b.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "El campo de disponibilidad del enroque no es correcto.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "La coordenada al paso no es correcta.\n\n%s" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "pieza promocionada no válida" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "el movimiento necesita una pieza y una coordenada" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "la coordenada de captura (%s) es incorrecta" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "captura de peón sin pieza destino no es válida" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "la coordenada final (%s) es incorrecta" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "y" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "tablas" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "mate" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "pone al oponente en jaque" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "mejora la seguridad del rey" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "mejora levemente la seguridad del rey" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "mueve una torre a una columna abierta" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "mueve una torre a una columna semiabierta" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "mueve el alfil en fianchetto: %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "promueve un Peón a: %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "enroca" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "recupera material" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "sacrifica material" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "intercambia material" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "captura material" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "rescata a %s" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "amenaza ganar material con %s" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "incrementa la presión sobre %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "defiende %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "clava el/la %(oppiece)s rival con el/la %(piece)s de %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "El blanco tiene una nueva pieza avanzada: %s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "El negro tiene una nueva pieza avanzada: %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "%(color)s tienen un nuevo peón pasado en %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "semiabierto" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "en la fila %(x)s%(y)s" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "en las filas %(x)s%(y)s" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "%(color)s tiene un peón doblado en %(place)s" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "%(color)s tiene un nuevo peón doblado en %(place)s" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "%(color)s tiene un peón aislado en el archivo %(x)s" msgstr[1] "%(color)s tiene peones aislados en las filas %(x)s" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "%s mueve peones en formación de muralla" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "%s ya no puede enrocar" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "%s ya no puede enrocar de dama" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "%s ya no puede enrocar de rey" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "%(opcolor)s tiene un alfil atrapado en %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "desarrolla un peón: %s" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "acerca un peón a la última fila: %s" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "acerca un/a %(piece)s al rey del oponente: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "desarrolla un/a %(piece)s: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "coloca un/a %(piece)s más activo/a: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "El blanco debería hacer una tormenta de peones sobre la derecha" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "El negro debería hacer una tormenta de peones sobre la izquierda" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "El blanco debería hacer una tormenta de peones sobre la izquierda" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "El negro debería hacer una tormenta de peones sobre la derecha" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "El negro tiene una posición bastante incómoda" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "El negro tiene una posición levemente incómoda" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "El blanco tiene una posición bastante incómoda" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "El blanco tiene una posición levemente incómoda" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "Shout" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "Chess Shout" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "Canal no oficial %d" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "Filtros" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "El panel de filtros puede filtrar la lista de partidas según varias condiciones" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "Editar el filtro seleccionado" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "Quitar el filtro seleccionado" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "Añadir un filtro nuevo" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "Seq" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "Crea una nueva secuencia donde las condiciones enumeradas se puedan cumplir en diferentes momentos de una partida" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "Str" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "Crea una nueva secuencia de líneas donde las condiciones enumeradas deben cumplirse en (semi)movimientos consecutivos" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "Filtra la lista de partidas por varias condiciones" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "Secuencia" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "Línea" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "Aperturas" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "El panel de aperturas puede filtrar la lista de partidas por movimientos de apertura" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "Movimiento" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "Partidas" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "% de victorias" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "Filtra la lista de partidas por movimientos de apertura" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "Vista previa" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "El panel de vista previa puede filtrar la lista de partidas según los movimientos actuales del juego" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "Filtra la lista de partidas según los movimientos actuales de la partida" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "Añadir filtro sub-fen a partir de la posición/círculos" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "Importar partida PGN" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "Guardar archivo PGN como..." #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "Abrir" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "Abrir archivo de ajedrez..." #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "Guardar como" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "Abrir archivo de ajedrez" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "Recreando los índices..." #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "Preparando la importación..." #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "%s partidas procesadas" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "Crear un nuevo libro de aperturas Polyglot" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "Crear un libro Polyglot" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "Crear una nueva base de datos Pgn" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "El archivo '%s' ya existe." #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "%(path)s\nconteniendo %(count)s partidas" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "Id" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "Elo blancas" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "Elo negras" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "Ronda" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "Longitud" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "Control de tiempo" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "Primeras partidas" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "Partidas anteriores" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "Partidas siguientes" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "Archivado" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "Lista de partidas aplazadas, historial y diario." #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Reloj" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Tipo" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Fecha/Hora" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "con quien tiene una partida aplazada %(timecontrol)s %(gametype)s está en línea." #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "Solicitar continuación" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "Examinar partida aplazada" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "Hablar" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "Lista de canales de servidor" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Charla" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "Info" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "Consola" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "Interfaz de línea de comando para el servidor de ajedrez" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Victoria" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Tablas" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Derrota" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "Necesario" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "Mejor" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "En FICS, su puntuación Salvaje o Wild abarca todas las variantes siguientes en todos los controles de tiempo:\n" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "Sanciones" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Correo electrónico" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Transcurrido" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "en línea en total" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Conectando" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "Denunciar" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "Está conectado como invitado, pero la prueba es completamente gratuita durante 30 días, y después no hay cargo alguno y la cuenta seguirá activa con la posibilidad de jugar con algunas restricciones. Por ejemplo, no hay videos premium, algunas limitaciones en los canales, etc.) Para registrar una cuenta, vaya a" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "Está conectado como invitado. Un invitado no puede jugar partidas puntuadas y, por lo tanto, no puede acceder a tantas partidas como un usuario registrado. Para registrar una cuenta, vaya a" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "Lista de partidas" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "Lista de partidas en curso" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Partidas en curso: %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "Noticias" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "Lista de noticias de servidor" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "Evaluar" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "Seguir" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "Lista de jugadores" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "Lista de jugadores" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Nombre" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "Estado" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "Jugadores: %d" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "El botón de cadena está desactivado porque ha iniciado sesión como invitado. Los invitados no tienen calificación, y el estado del botón de cadena no tiene ningún efecto cuando no hay calificación con la que relacionar la \"Fuerza del oponente\"." #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Desafío: " #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "Si lo activa, podrá rechazar jugadores que acepten su reto" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "Esta opción no está disponible ya que está desafiando a un jugador" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Editar búsqueda: " #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "%(minutes)d min + %(gain)d seg/mov" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Manual" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "Cualquier nivel" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "No puede jugar partidas puntuadas como invitado" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "No puede jugar partidas puntuadas si activa \"Sin tiempo\", " #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "y en FICS, las partidas sin tiempo no son puntuadas" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "Esta opción no está disponible, ya que está desafiando a un invitado, " #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "y los invitados no pueden jugar partidas puntuadas" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "No puede seleccionar una variante si está activado \"Sin tiempo\", " #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "y en FICS, las partidas sin tiempo deben ser de ajedrez estándar" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "Cambiar tolerancia" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "Gráfico de búsqueda" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "Manejar las búsquedas de forma gráfica" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " min" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "Búsquedas / Retos" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "Manejar búsquedas y retos" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "Efecto en las calificaciones de los posibles resultados" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "Victoria:" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "Tablas:" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "Derrota:" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "Nuevo RD:" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Búsquedas activas: %d" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "desearía continuar la partida aplazada %(time)s %(gametype)s." #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "le reta a una partida %(time)s %(rated)s %(gametype)s " #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "donde %(player)s juega con %(color)s." #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "ICS" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "Cerrar sesión" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "Nueva partida de la tabla de 1 minuto" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "Nueva partida de la tabla de 3 minutos" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "Nueva partida de la tabla de 5 minutos" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "Nueva partida de la tabla de 15 minutos" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "Nueva partida de la tabla de 25 minutos" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "Nueva partida de la tabla de Chess960" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "Tiene que activar los comentarios ajenos para ver aquí los mensajes del bot." #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "Sólo puede tener 3 búsquedas a la vez. Si quiere añadir una búsqueda nueva, debe borrar las búsquedas activas. ¿Borrar las búsquedas?" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "¡No puede tocar eso! Está examinando una partida." #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "ha rechazado su oferta de partida" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "le está censurando" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "usted está en lista \"noplay\"" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "usa una fórmula que no concuerda con su petición de partida:" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "para aceptar manualmente" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "para aceptar automáticamente" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "rango de puntuación actual" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "Búsqueda actualizada" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "Sus búsquedas han sido eliminadas" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "ha llegado" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "se ha ido" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "está presente" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Detectar tipo automáticamente" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "Error cargando partida" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Guardar partida" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "Exportar posición" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Tipo de archivo desconocido '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "No se pudo guardar '%(uri)s' ya que PyChess desconoce el formato '%(ending)s'." #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "No se puede guardar el archivo '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "No tiene los permisos necesarios para guardar el archivo.\nCompruebe que ha indicado bien la ruta e inténtelo de nuevo." #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Reemplazar" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "El archivo ya existe" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Ya existe un archivo con el nombre '%s'. ¿Desea reemplazarlo?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "El archivo ya existe en '%s'. Si lo reemplaza, su contenido será sobreescrito." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "No se pudo guardar el archivo" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess no pudo guardar la partida" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "El error ha sido: %s." #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "Hay %d partida con movimientos sin guardar" msgstr[1] "Hay %d partidas con movimientos sin guardar" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "¿Guardar movimientos antes de cerrar?" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "No se puede guardar el archivo configurado. ¿Guardar las partidas antes de cerrar?" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "vs." #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "_Guardar %d documento" msgstr[1] "_Guardar %d documentos" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "¿Quiere guardar la partida actual antes de cerrarla?" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "No se puede guardar en el archivo configurado. ¿Quiere guardar la partida actual antes de cerrarla?" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "No podrá reanudar la partida más adelante,\nsi no la guarda." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Todos los archivos de ajedrez" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "Comentario" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "Juego comentado" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "Refrescar" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "Añadir comentario inicial" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "Añadir comentario" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "Editar comentario" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "Buen movimiento" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "Mal movimiento" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "Movimiento excelente" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "Muy mal movimiento" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "Movimiento interesante" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "Movimiento dudoso" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "Movimiento forzado" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "Agrega símbolo de movimiento" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "Igualado" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "Posición incierta" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "Ventaja leve" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "Ventaja moderada" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "Ventaja decisiva" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "Ventaja aplastante" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "Zugzwang" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "Ventaja de desarrollo" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "Iniciativa" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "Con ataque" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "Compensación" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "Contrajuego" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "Apuros de tiempo" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "Agrega símbolo de evaluación" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "Comentario" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "Símbolos" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "Todas las valoraciones" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "Eliminar" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "Sin control de tiempo" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "mins" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "segs" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "%(time)s para %(count)d movimientos" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "movimiento" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "ronda %s" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "Sugerencias" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "El panel de sugerencias le da consejos durante cada etapa de la partida" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Panel Oficial PyChess" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Libro de aperturas" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "El libro de aperturas le puede servir de inspiración durante la fase inicial de la partida. Le muestra movimientos habituales de los grandes maestros del ajedrez" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "Análisis por %s" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "%s trata de valorar el mejor movimiento y qué bando tiene ventaja" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "Análisis de amenazas por %s" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "%s identifica qué amenazas existirían si fuera el turno de su oponente" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "Calculando…" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "La puntuación de los motores está en unidades de peón, desde el punto de vista de Blancas. Haciendo doble clic en las líneas de análisis puede insertarlas como variantes en el panel de Anotación." #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "Agregar sugerencias puede ayudarle a encontrar ideas, pero ralentiza el análisis del ordenador. " #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "Tabla de finales" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "La tabla de finales muestra el análisis exacto cuando quedan pocas piezas sobre el tablero." #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "Mate en %d" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "En esta posición,\\n\nno hay movientos válidos." #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "El panel de charla permite comunicarse con el oponente durante la partida, si a éste le apetece." #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Comentarios" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "El panel de comentarios analiza y explica los movimientos realizados" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Posición inicial" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "%(color)s mueve %(piece)s a %(cord)s" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "Motores" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "El panel de salida del motor muestra el pensamiento del motor de ajedrez (ordenador) durante una partida" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "En esta partida no participa ningún motor de ajedrez (ordenador)." #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Historial de movimientos" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "La hoja de movimientos registra los movimientos de los jugadores y permite navegar por el histórico de la partida" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Puntuación" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "El panel de puntuación evalúa las posiciones y muestra un gráfico del progreso de la partida" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "Practicar finales con el ordenador" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "Título" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "Estudiar lecturas de FICS fuera de línea" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "Autor" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "Lecciones guiadas interactivas estilo \"adivine el movimiento\"" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "Fuente" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "Progreso" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "Estudios de práctica de Rompecabezas Lichess, de partidas de GM y composiciones de ajedrez" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "otros" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "Aprender" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "Salir de aprender" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "lichess" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "wtharvey" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "yacpdb" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "lecciones" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "Reiniciar el progreso" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "¡Se perderán todos los datos de progreso!" pychess-1.0.0/lang/bn/0000755000175000017500000000000013467766037013601 5ustar varunvarunpychess-1.0.0/lang/bn/LC_MESSAGES/0000755000175000017500000000000013467766037015366 5ustar varunvarunpychess-1.0.0/lang/bn/LC_MESSAGES/pychess.mo0000644000175000017500000001711613467766036017406 0ustar varunvarun\'0A\v&*   * 1 7 F L W h ~          & / 4 = D T ` j o ~ #         5 S l          1 9 B M S %Y      " +( T kd EL?c%X'""JCmi?E[K%#7>%W }/%6&$K _(j25C5@v $:  $>@N%+.SG  ?/B8r )w=[95/  9 CM`V{rJEk#!?as$$>cr= $%+;Ug)+1)WQ:=R/G<P9;2.8 F-AY(H!$# BZ\,DX'U[6?+5IS0" J &*7K@ 3OCNT1>%MV4L E'%s' is not a registered namePromote pawn to what?AnalyzingAnimationEnter Game NotationPlay Sound When...PlayersEngine, %s, has diedUnable to save file '%s'A player _checks:A player _moves:A player c_aptures:About ChessAll Chess FilesBishopBlitzChess PositionClockConnectingConnection ErrorConnection was closedEmailEnter GameEvent:Gain:Game informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Human BeingKnightLightningLog on ErrorLog on as _GuestMinutes:NameNew GameNormalObserved _ends:Offer _DrawOpen GamePingPlayer _RatingPreferencesPromotionPyChess - Connect to Internet ChessPyChess.py:QueenRatedRatingRookRound:Save Game _AsSend seekSimple Chess PositionSite:SpentThe connection was broken - got "end of file" messageThe game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedTimeTypeUnknownUnratedUse _analyzerUse _inverted analyzerYou sent a draw offerYour opponent asks you to hurry!_Accept_Actions_Call Flag_Game_Help_Hide tabs when only one game is open_Load Game_Log Viewer_Name:_New Game_Observed moves:_Password:_Rotate Board_Save Game_Start Game_Use sounds in PyChess_Viewhttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessonline in totalProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Bengali (http://www.transifex.com/gbtami/pychess/language/bn/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: bn Plural-Forms: nplurals=2; plural=(n != 1); '%s' কোন রেজিস্টার করা নাম নয়বড়ের কিসে পদন্নতি হবে?অ্যানালাইজ করা হচ্ছেঅ্যানিমেশনখেলার সংকেতপদ্ধতি নির্দেশ করোশব্দ কর যখন...খেলোয়ারগনইঞ্জিন, %s, মারা গেছে'%s' ফাইল সংরক্ষণ করা সম্ভব হচ্ছেনাএকজন খেলোয়ার চেক করছে: (_c)একজন খেলোয়ার দান দিচ্ছে: (_m)একজন খেলোয়ার ঘুঁটি খেয়েছে: (_a)দাবা সম্বন্ধেদাবার সব ফাইলগজব্লিটজ্‌দাবার অবস্থানঘড়িসংযুক্ত করা হচ্ছেসংযোগে ত্রুটিসংযোগ বন্ধ করা হয়েছেইমেইলখেলা শুরু করুণইভেন্ট:লাভ:খেলার তথ্যাবলীখেলাটি ড্র হয়েছে: (_d)খেলাটি হারা হয়েছে: (_l)খেলাটি সেট-আপ করা হয়েছে: (_S)খেলাটি জেতা হয়েছে: (_w)মানুষঘোড়ালাইটনিংলগ-অন-এ ত্রুটিঅতিথি হিসাবে লগ-অন করোমিনিট:নামনতুন খেলানরমালপর্যবেক্ষিত অন্তসমূহ: (_O)ড্র অফার করো (_D)খেলা খোলোপিং করুনখেলোয়ারের রেটিংপছন্দসমূহপদোন্নতিপাইচেস - ইন্টারনেটে সংযুক্ত করোPyChess.py:মন্ত্রীরেট করারেটিংনৌকারাউন্ড:অন্য নামে খেলা সেভ করো (_A)সন্ধান প্রেরন করোসাধারণ দাবার অবস্থানসাইট:ব্যায় করা হয়েছেযোগাযোগ বিচ্ছিন্ন হল — "end of file" মেসেজ পাওয়া গেছেখেলাটি ড্র-এ অন্ত হয়েছেখেলাটি বন্ধ করা হয়েছেখেলাটি স্থগিত হয়েছেখেলাটি মারা হয়েছেসময়ধরণঅজ্ঞাতরেট না করাঅ্যানালাইজার ব্যাবহার করা হোক (_a)ইনভার্টেড অ্যানালাইজার ব্যাবহার করা হোক (_a)তুমি একটি ড্র-এর অফার পাঠালেআপনার প্রতিদ্বন্দি আপনাকে তারা দিচ্ছেন!গ্রহণ করো (_A)ক্রিয়াসমূহ (_K)কল ফ্ল্যাগ (_C)খেলা (_G)সহায়িকা (_H)একটি মাত্র খেলা খোলা থাকলে ট্যাবগুলি লুকোনো থাকুক (_H)খেলা লোড করো(_L)লগ প্রদর্শক (_L)নাম:(_N)নতুন খেলা (_N)পর্যবেক্ষিত দানসমূহ: (_O)পাসওয়ার্ড:(_P)বোর্ড ঘোরাও (_R)খেলা সেভ করো (_S)খেলা আরম্ভ করো (_S)পাইচেস-এ শব্দ ব্যাবহার করা হোক (_U)প্রদর্শন (_V)http://bn.wikipedia.org/wiki/দাবাhttp://en.wikipedia.org/wiki/Rules_of_chessঅনলাইন মোটpychess-1.0.0/lang/bn/LC_MESSAGES/pychess.po0000644000175000017500000044116413455542775017414 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2009 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Bengali (http://www.transifex.com/gbtami/pychess/language/bn/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bn\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "খেলা (_G)" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "নতুন খেলা (_N)" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "খেলা লোড করো(_L)" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "খেলা সেভ করো (_S)" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "অন্য নামে খেলা সেভ করো (_A)" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "খেলোয়ারের রেটিং" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "ক্রিয়াসমূহ (_K)" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "ড্র অফার করো (_D)" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "কল ফ্ল্যাগ (_C)" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "প্রদর্শন (_V)" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "বোর্ড ঘোরাও (_R)" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "লগ প্রদর্শক (_L)" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "সহায়িকা (_H)" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "দাবা সম্বন্ধে" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "পছন্দসমূহ" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "একটি মাত্র খেলা খোলা থাকলে ট্যাবগুলি লুকোনো থাকুক (_H)" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "অ্যানিমেশন" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "অ্যানালাইজার ব্যাবহার করা হোক (_a)" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "ইনভার্টেড অ্যানালাইজার ব্যাবহার করা হোক (_a)" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "অ্যানালাইজ করা হচ্ছে" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "পাইচেস-এ শব্দ ব্যাবহার করা হোক (_U)" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "একজন খেলোয়ার চেক করছে: (_c)" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "একজন খেলোয়ার দান দিচ্ছে: (_m)" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "খেলাটি ড্র হয়েছে: (_d)" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "খেলাটি হারা হয়েছে: (_l)" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "খেলাটি জেতা হয়েছে: (_w)" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "একজন খেলোয়ার ঘুঁটি খেয়েছে: (_a)" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "খেলাটি সেট-আপ করা হয়েছে: (_S)" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "পর্যবেক্ষিত দানসমূহ: (_O)" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "পর্যবেক্ষিত অন্তসমূহ: (_O)" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "শব্দ কর যখন..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "পদোন্নতি" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "মন্ত্রী" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "নৌকা" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "গজ" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "ঘোড়া" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "বড়ের কিসে পদন্নতি হবে?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "খেলার তথ্যাবলী" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "সাইট:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "রাউন্ড:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "ইভেন্ট:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "পাইচেস - ইন্টারনেটে সংযুক্ত করো" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "পাসওয়ার্ড:(_P)" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "নাম:(_N)" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "অতিথি হিসাবে লগ-অন করো" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "গ্রহণ করো (_A)" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "সন্ধান প্রেরন করো" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "ব্লিটজ্‌" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "লাইটনিং" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "রেটিং" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "সময়" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "নতুন খেলা" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "খেলা আরম্ভ করো (_S)" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "খেলোয়ারগন" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "খেলার সংকেতপদ্ধতি নির্দেশ করো" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://bn.wikipedia.org/wiki/দাবা" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://en.wikipedia.org/wiki/Rules_of_chess" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "খেলা খোলো" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "আপনার প্রতিদ্বন্দি আপনাকে তারা দিচ্ছেন!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "দাবার অবস্থান" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "অজ্ঞাত" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "সাধারণ দাবার অবস্থান" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "খেলাটি ড্র-এ অন্ত হয়েছে" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "খেলাটি মারা হয়েছে" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "খেলাটি স্থগিত হয়েছে" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "খেলাটি বন্ধ করা হয়েছে" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "নরমাল" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "যোগাযোগ বিচ্ছিন্ন হল — \"end of file\" মেসেজ পাওয়া গেছে" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' কোন রেজিস্টার করা নাম নয়" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "রেট না করা" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "রেট করা" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "সংযোগে ত্রুটি" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "লগ-অন-এ ত্রুটি" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "সংযোগ বন্ধ করা হয়েছে" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "তুমি একটি ড্র-এর অফার পাঠালে" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "ইঞ্জিন, %s, মারা গেছে" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "মানুষ" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "মিনিট:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "লাভ:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "খেলা শুরু করুণ" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "ঘড়ি" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "ধরণ" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "ইমেইল" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "ব্যায় করা হয়েছে" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "অনলাইন মোট" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "পিং করুন" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "সংযুক্ত করা হচ্ছে" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "নাম" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "'%s' ফাইল সংরক্ষণ করা সম্ভব হচ্ছেনা" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "দাবার সব ফাইল" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/lv/0000755000175000017500000000000013467766037013623 5ustar varunvarunpychess-1.0.0/lang/lv/LC_MESSAGES/0000755000175000017500000000000013467766037015410 5ustar varunvarunpychess-1.0.0/lang/lv/LC_MESSAGES/pychess.mo0000644000175000017500000000427313467766036017430 0ustar varunvarun#4/L  7Qd s ~ ) C ] kx      $ + 9 FQZah(q>  7N] d oz   !# "   %(black)s won the game%(white)s won the game_Connect to server_Start GameAnalysis by %sAnnotationBecause %(loser)s was checkmatedBlackCalculating...ChatCommentsEnginesGuestHintsHuman BeingIn this position, there is no legal move.Move HistoryNo chess engines (computer players) are participating in this game.Offer RematchPlay RematchRandomScoreThreat analysis by %sUndo two movesWelcomeWhite_Actions_Edit_Game_Help_Opponent:_Password:_View_Your Color:Project-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Latvian (http://www.transifex.com/gbtami/pychess/language/lv/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: lv Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2); %(black)s uzvarēja spēli,%(white)s uzvarēja spēli,_Pievienoties serverim_Sākt spēli%s analīzeAnotācijajo "%(loser)s" ir matsMelnieAprēķina...TērzēšanaKomentāriDzinējiViesisPadomiCilvēksŠajā pozīcijā, nav legāla gājiena.Gājienu vēstureŠajā spēlē nepiedalās šaha dzinēji (datorspēlētāji).Piedāvāt revanšuRevanšētiesNejaušsPunkti%s apdraudējuma analīzeAtcelt divus gājienusLaipni lūdzamBaltie_DarbībasR_ediģēt_Spēle_Palīdzība_Pretinieks:_Parole:_Skats_Jūsu krāsa:pychess-1.0.0/lang/lv/LC_MESSAGES/pychess.po0000644000175000017500000043266513455542771017440 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # Jānis Bērziņš , 2017 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Latvian (http://www.transifex.com/gbtami/pychess/language/lv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: lv\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Spēle" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "R_ediģēt" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Darbības" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Skats" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Palīdzība" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Baltie" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Melnie" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Parole:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Viesis" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "_Pretinieks:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_Jūsu krāsa:" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "_Sākt spēli" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "_Pievienoties serverim" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Laipni lūdzam" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s uzvarēja spēli," #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s uzvarēja spēli," #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "jo \"%(loser)s\" ir mats" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Nejaušs" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Piedāvāt revanšu" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Revanšēties" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Atcelt divus gājienus" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Cilvēks" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Tērzēšana" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "Anotācija" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "Padomi" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "%s analīze" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "%s apdraudējuma analīze" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "Aprēķina..." #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "Šajā pozīcijā,\nnav legāla gājiena." #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Komentāri" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "Dzinēji" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "Šajā spēlē nepiedalās šaha dzinēji (datorspēlētāji)." #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Gājienu vēsture" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Punkti" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/kn/0000755000175000017500000000000013467766037013612 5ustar varunvarunpychess-1.0.0/lang/kn/LC_MESSAGES/0000755000175000017500000000000013467766037015377 5ustar varunvarunpychess-1.0.0/lang/kn/LC_MESSAGES/pychess.mo0000644000175000017500000001113313467766036017410 0ustar varunvarunFLa| +:I[ q}    .3;AR Wbs!x    "9> P^flsw}     "+ j      )   * G %c  8 7   - A W a z  Y  =" ` s    7 g' QP l x%.V ^.h8  5FXi8HK('1FA >2D #87$*-/54&<%!C6 B0@E".+=;,9):3 ? chess min*12005 minOpen GameOptionsPlayersYour ColorChallenge:About ChessAcceptAll Chess FilesAnalyze gameBishopBlackBlack O-OBlack O-O-OBlack:Blitz:Challenge: Chess GameClockColorize analyzed movesCornerCould not save the fileDateDeclineEmailGame informationKingLightning:Log on as _GuestLossMaximum analysis time in seconds:Minutes:Minutes: NameNew GamePawnPlayPlay _Internet ChessPreferencesPyChess.py:QueenResultS_ign upSave GameSend ChallengeShow evaluation valuesTimeTranslate PyChessUse analyzer:WelcomeWhiteWhite:Win_Game_General_Name:_New Game_Next_Password:_Previous_Your Color:gnuchess:http://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessminProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Kannada (http://www.transifex.com/gbtami/pychess/language/kn/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: kn Plural-Forms: nplurals=2; plural=(n > 1); ಚದುರಂಗನಿಮಿಷ*12005 ನಿಮಿಷಆಟವನ್ನು ತೆರೆಆಯ್ಕೆಗಳುಆಟಗಾರರುನಿಮ್ಮ ಬಣ್ಣಸವಾಲು:ಚದುರಂಗದ ಬಗ್ಗೆಒಪ್ಪಿಕೊಎಲ್ಲಾ ಚದುರಂಗದ ಕಡತಗಳುಆಟವನ್ನು ವಿಶ್ಲೇಷಿಸುಒಂಟೆಕಪ್ಪುಕಪ್ಪು O-Oಕಪ್ಪು O-O-Oಕರಿಬ್ಲಿಟ್ಜ್ಸವಾಲು: ಚದುರಂಗ ಆಟಗಂಟೆವಿಶ್ಲೇಷಿಸಿದ ನಡಿಗೆಗಳಿಗೆ ಬಣ್ಣೆಸುಮೂಲೆಕಡತವನ್ನು ಉಳಿಸಲಾಗಲಿಲ್ಲದಿನಾಂಕತಿರಸ್ಕರಿಸುಇ-ಸಂದೇಶಆಟದ ಮಾಹಿತಿರಾಜಮಿಂಚಿನ :ಅತಿಥಿಯಾಗಿ ಪ್ರವೇಶಿಸುಸೋಲುವಿಶ್ಲೇಷಣೆಯ ಗರಿಷ್ಠ ಸಮಯ ಸೆಕೆಂಡುಗಳಲ್ಲಿ:ನಿಮಿಷಗಳು:ನಿಮಿಷಗಳು:ಹೆಸರುಹೊಸ ಆಟಪದಾತಿಆಡುಅಂತರಜಾಲದಲ್ಲಿ ಚದುರಂಗವನ್ನು ಆಡು ಆದ್ಯತೆಗಳುPyChess.py:ರಾಣಿಫಲಿತಾಂಶಸೈನ್ ಅಪ್ಆಟವನ್ನು ಉಳಿಸಿಸವಾಲನ್ನು ಕಳುಹಿಸುಮೌಲ್ಯಮಾಪನ ಮೌಲ್ಯಗಳನ್ನು ತೋರಿಸುಸಮಯಪೈಚೆಸ್ ಅನುವಾದಿಸುವಿಶ್ಲೇಷಕವನ್ನು ಬಳಸು:ಸುಸ್ವಾಗತಬಿಳಿಬಿಳಿಗೆಲುವು_ಆಟ_ಸಾಮಾನ್ಯ_ಹೆಸರು_ಹೊಸ ಆಟ_ಮುಂದೆ_ಗುಪ್ತಪದ_ಹಿಂದೆ_ನಿಮ್ಮ ಬಣ್ಣಗ್ನು ಚೆಸ್http://kn.wikipedia.org/wiki/ಚದುರಂಗ_(ಆಟ)http://kn.wikipedia.org/wiki/ಚದುರಂಗದ_ನಿಯಮಗಳುನಿಮಿಷpychess-1.0.0/lang/kn/LC_MESSAGES/pychess.po0000644000175000017500000043540413455542735017421 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # Srividya, 2014 # Yogesh K S , 2013,2016 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Kannada (http://www.transifex.com/gbtami/pychess/language/kn/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: kn\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_ಆಟ" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_ಹೊಸ ಆಟ" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "ಅಂತರಜಾಲದಲ್ಲಿ ಚದುರಂಗವನ್ನು ಆಡು " #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "ಚದುರಂಗದ ಬಗ್ಗೆ" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "ಪೈಚೆಸ್ ಅನುವಾದಿಸು" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "ಆದ್ಯತೆಗಳು" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "ವಿಶ್ಲೇಷಿಸಿದ ನಡಿಗೆಗಳಿಗೆ ಬಣ್ಣೆಸು" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "ಮೌಲ್ಯಮಾಪನ ಮೌಲ್ಯಗಳನ್ನು ತೋರಿಸು" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_ಸಾಮಾನ್ಯ" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "ವಿಶ್ಲೇಷಣೆಯ ಗರಿಷ್ಠ ಸಮಯ ಸೆಕೆಂಡುಗಳಲ್ಲಿ:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "ರಾಣಿ" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "ಒಂಟೆ" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "ರಾಜ" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "ಆಟದ ಮಾಹಿತಿ" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "ಕರಿ" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "ಬಿಳಿ" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "ಬಿಳಿ" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "ಕಪ್ಪು" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "ದಿನಾಂಕ" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "ಫಲಿತಾಂಶ" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "ಆಟವನ್ನು ವಿಶ್ಲೇಷಿಸು" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "ವಿಶ್ಲೇಷಕವನ್ನು ಬಳಸು:" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "ಗ್ನು ಚೆಸ್" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_ಗುಪ್ತಪದ" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_ಹೆಸರು" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "ಅತಿಥಿಯಾಗಿ ಪ್ರವೇಶಿಸು" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "ಸೈನ್ ಅಪ್" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "ಸವಾಲು: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "ಸವಾಲನ್ನು ಕಳುಹಿಸು" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "ಸವಾಲು:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "ಮಿಂಚಿನ :" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "ಬ್ಲಿಟ್ಜ್" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 ನಿಮಿಷ" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "ಸಮಯ" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "ನಿಮಿಷಗಳು:" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "ನಿಮ್ಮ ಬಣ್ಣ" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "ಆಡು" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "ಆಯ್ಕೆಗಳು" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_ಹಿಂದೆ" #: glade/findbar.glade:192 msgid "_Next" msgstr "_ಮುಂದೆ" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "ಹೊಸ ಆಟ" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "ಆಟಗಾರರು" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "ಆಟವನ್ನು ತೆರೆ" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "ಕಪ್ಪು O-O" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "ಕಪ್ಪು O-O-O" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_ನಿಮ್ಮ ಬಣ್ಣ" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://kn.wikipedia.org/wiki/ಚದುರಂಗ_(ಆಟ)" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://kn.wikipedia.org/wiki/ಚದುರಂಗದ_ನಿಯಮಗಳು" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "ಸುಸ್ವಾಗತ" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "ಒಪ್ಪಿಕೊ" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "ತಿರಸ್ಕರಿಸು" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "ಚದುರಂಗ ಆಟ" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "ನಿಮಿಷ" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "ಪದಾತಿ" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "ಮೂಲೆ" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "ನಿಮಿಷಗಳು:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "ಚದುರಂಗ" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "" #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "ಗಂಟೆ" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "ಗೆಲುವು" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "ಸೋಲು" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "ಇ-ಸಂದೇಶ" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "ಹೆಸರು" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "ನಿಮಿಷ" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "ಆಟವನ್ನು ಉಳಿಸಿ" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "ಕಡತವನ್ನು ಉಳಿಸಲಾಗಲಿಲ್ಲ" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "ಎಲ್ಲಾ ಚದುರಂಗದ ಕಡತಗಳು" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/tr/0000755000175000017500000000000013467766037013627 5ustar varunvarunpychess-1.0.0/lang/tr/LC_MESSAGES/0000755000175000017500000000000013467766037015414 5ustar varunvarunpychess-1.0.0/lang/tr/LC_MESSAGES/pychess.mo0000644000175000017500000005761113467766035017437 0ustar varunvarun  ! ! !!!!!!'!! "!4"V"t"v"""""'""""#-##E#i#z#######Q$&V$C}$7$*$($%M%c%u%%e%& &&& !&-& =&K& S& a&m&u& & & & &&& & &&&%&$','1'8' >' I' S'"_'#'' '''' '' ' '' (( )( 6(A(G(M(c(,{(((( (((( )))) 2)>)T)V)e) j)t)z))))G)`) R*]* b*l* r*}*** ******** * + +(+.+3+ 9+ E+Q+BV+?+F+) ,J, [,Di,,,,,,,,- - !-,- >- J- U-b-s----+--- -- - - ...!./&.V. _.m.v.}. . . . . . . . . . ./ //%/ ?/I/ Y/f/|/// ///////// 000"0 +070 H0 R0#\0 000 00000 00 00001 11 1&1-161 ;1 E1S1Y1a1w11"11 11 122+2?2 G2S2i2 o2{22 22222 2h2CM353934T4h4444I4`5Z{55~5E\66666 666667 7%7 47>7S7[7c7 k7y77777 7 7 7"7#78$8)8-89@8?z88 8%8!9n99&9&9'9:.:6: ?: J: T:^:g:m: v:: :::%::: : : :: ;;; '; 2;=; P; ];g; p; ~;;;; ;;;; ;;; < < <&< 9<"C<+f<<<<<<!< =.=>=V=m=t=x=====j='? .?:?C?F?_? x?-??#?.?@8@:@J@Q@o@t@0z@@@@@ A!/AQAdAzAAAAAAPA,BBEoB+B-B.C>CWCpCCeC DD%D+D 4D ?D LDZD aD kD vDD DDDD D DDDD D8E'@EhElEpE vE E E'E(EEEE FF ,F6F >F KFYFnF}FFFFFF"F>F9G@G IG TGaGzGGGGGGGG GH HH!H (H 5HVHK]HvH I/I8IMI UI_I hIsI I III I II III J!J'J -J9JIJPJKWJQJ?J"5KXKoKBKKKKKKKK L L$L 5L BL LLWLkLL L LL+LL MMM &M0M@M OMYM[MK^M MMMMMMM NN.NBNYNoNNNN NN%N OO$O7O HOTO[O ]OkOrOOO&O#OO P PP&P /P :PDPZP `P&jP PPPPPPPP PPPPQ Q(Q1Q6QHQNQ UQaQ hQuQQQQQQ$Q R)R =RJRaR%|RR R RRRRRS SS+S1SCSVSeeSHS,T=ATTXTTUU9UORUlU^VnV`vVSV+W1WBWQW `WjW{WWWWWWWW WXXX/XBX]X cXpX vX X X'X(XXX XYWYOkY Y$Y&Z(ZkEZ%Z#Z#Z [ ,[ 6[@[ Q[ ^[k[ s[}[ [[ [[[*[ [[ \ \ 9\E\ L\W\`\u\|\\\\ \\ \\\ ] ] "],] <] H]S] Y]f] n] y]] ])]A] ^#2^V^]^d^"^'^^^_ _ _)'_ Q_r_z__@ g{Xtg)@u3)C&EOd#hV|.pQD'-Bnm w1 7J}9 T.yP4t0aa!KPc"U}6U3_W8mTL;df?F[v,Zk+?x;G7Dohqp]> [r2j Ir(Lss V#&jcz85xX^5 B\ zi*:Re<kS4YZwneovObf%E']-9{N !|F~/`Ku$"M~bl+ C60G:1R$_I/A>q=,(JS%\H yM<2=iN^H*QAl`WY Gain: + %d sec chess min%(black)s won the game%(white)s won the game%d min%s moves pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent'%s' is not a registered name*0 Players Ready0 of 010 min + 6 sec/move, White12005 minPromote pawn to what?AnalyzingAnimationChess VariantEnter Game NotationInitial PositionName of _first human player:Open GameOpponent StrengthOptionsPlay Sound When...PlayersTime ControlYour Color_Start GameA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedPyChess is discovering your engines. Please wait.PyChess was not able to save the gameUnable to save file '%s'Unknown file type '%s'Challenge:A player _checks:A player _moves:A player c_aptures:ASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortAbout ChessAc_tiveAcceptAdd commentAdditional tagsAddress ErrorAdjournAdministratorAfghanistanAlbaniaAll Chess FilesAll whiteAnalyze gameAnnotatorArgentinaArmeniaAustriaAuto-logoutAvailableBBad moveBecause both players agreed to a drawBecause both players ran out of timeBeepBishopBlackBlack ELO:Black O-OBlack O-O-OBlack should do pawn storm in leftBlack should do pawn storm in rightBlack:BlindfoldBlitzBlitz:Calculating...Category:Center:ChallengeChallenge: Challenge: Chess GameChess PositionChess clientClaim DrawClearClockClose _without SavingColorize analyzed movesCommand line parameters needed by the engineCommand:CommentsComputerConnectingConnecting to serverConnection ErrorConnection was closedCornerCould not save the fileCountry:Create SeekCreate a new databaseDDark Squares :DateDate/TimeDate:DeclineDefaultDetect type automaticallyDiedDo you know that it is possible to finish a chess game in just 2 turns?Do you know that the number of possible chess games exceeds the number of atoms in the Universe?Don't careDrawEdit SeekEmailEnter GameEventEvent:F_ull board animationFile existsFont:Gain:GameGame informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Games running: %dGood moveGuestHideHintsHow to PlayHuman BeingIdleIf set, pawn promotes to queen without promotion dialog selection.If set, the captured figurines will be shown next to the board.If you don't save, new changes to your games will be permanently lost.In this position, there is no legal move.Initial positionInvalid move.It is not possible later to continue the game, if you don't save it.Jump to initial positionJump to latest positionKKingKnightKnightsLeave _FullscreenLight Squares :LightningLightning:Load _Recent GameLocal EventLocal SiteLog on ErrorLog on as _GuestLogging on to serverLosersLossMakrukMakruk: http://en.wikipedia.org/wiki/MakrukManage enginesManualManual AcceptMinutes:Minutes: Move HistoryMove numberMoves:NNameNever use animation. Use this on slow machines.New GameNo _animationNo soundNormalObserveOffer A_bortOffer AbortOffer PauseOffer ResumeOffer UndoOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfflineOnlineOnly animate _movesOnly animate piece moves.Open GameOpen Sound FileOpening BookOpponent's strength: OptionsOtherPParameters:PawnPingPlayPlay Fischer Random chessPlay _Internet ChessPlay normal chess rulesPlayer _RatingPlayers:Players: %dPlayingPo_rts:Pre_viewPreferencesPreferred level:PromotionProtocol:PyChess - Connect to Internet ChessPyChess.py:QQueenQuit PyChessRR_esignRandomRatedRated gameRatingReset ColoursRestore the default optionsResultResult:ResumeRookRotate the boardRoundRound:S_ign upSaveSave GameSave Game _AsScoreSearch:Select auto save pathSelect background image fileSelect sound file...Select the games you want to save:Send ChallengeSend seekSetup PositionSho_w cordsShow _captured piecesShow tips at startupShredderLinuxChess:ShuffleSide_panelsSimple Chess PositionSite:Sound filesSpentStandardStandard:Start Private ChatStatusStep back one moveStep forward one moveTeam AccountThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe displayed name of the first human player, e.g., John.The error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe hint panel will provide computer advice during each stage of the gameThe moves sheet keeps track of the players' moves and lets you navigate through the game historyThe score panel tries to evaluate the positions and shows you a graph of the game progressThemesThis game can be automatically aborted without rating loss because there has not yet been two moves madeThis game can not be adjourned because one or both players are guestsTimeTime control: Tip Of The dayTip of the DayTolerance:Translate PyChessTurkeyTypeUnable to accept %sUndoUndo one moveUndo two movesUninstallUnited Arab EmiratesUnknownUnratedUntimedUse _analyzerUse _inverted analyzerUse opening _bookWaitWelcomeWhiteWhite ELO:White O-OWhite O-O-OWhite should do pawn storm in leftWhite should do pawn storm in rightWhite:WildWinWorking directory:You can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou sent a draw offerYour opponent asks you to hurry!Your opponent has offered you a draw.Your opponent is not out of time.Your opponent must agree to abort the game because there has been two or more moves madeYour opponent wants to abort the game.Your opponent wants to pause the game.Your opponent wants to resume the game.Your strength: _Accept_Actions_Call Flag_Copy FEN_Copy PGN_Decline_Edit_Engines_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hints_Invalid move:_Load Game_Log Viewer_My games_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Replace_Rotate Board_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Untimed_Use sounds in PyChess_View_Your Color:blackcaptures materialcastlesdefends %sdrawsexchanges materialgnuchess:http://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyincreases the pressure on %smatesminmoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %sonline in totalpromotes a Pawn to a %sputs opponent in checkresignsecslightly improves king safetytakes back materialvs.whitewindow1Project-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Turkish (http://www.transifex.com/gbtami/pychess/language/tr/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: tr Plural-Forms: nplurals=2; plural=(n > 1); Kazan:+ %d saniyesatrançdk%(black)s oyunu kazandı%(white)s oyunu kazandı%d dakika%s piyonlarını stonewall biçmine getiriyor%s bir hata döndürdü%s rakibiniz tarafından reddedildi%s hamlesi rakibiniz tarafından geri alındı%s kayıtlı bir oyun değil*0 Oyuncu Hazır0'da 010 dak + 6 san/hareket, Beyaz12005 dakPiyon hangi taşa terfi etsin?ÇözümlüyorCanlandırmaSatranç ÇeşidiOyun notasyonunu girinizBaşlangıç ​​Konumu_İlk insan oyuncunun adıAçık OyunRakibin GücüSeçeneklerŞu durumlarda ses çalOyuncularZaman KontrolRenginiz_Oyunu Başlat'%s' adında bir dosya zaten var. Değiştirmek ister misiniz?Program motoru, %s, öldüPyChess motorlarınızı arıyor. Lütfen bekleyin.PyChess oyunu kaydedemedi'%s' dosyası kaydedilemediBilinmeyen dosya türü '%s'Meydan Okuma:Bir oyuncu _şah çekti:Bir ouyuncu _hamle yaptı:Oyuncu taş kazandı:ASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docDurdurulduSatranç HakkındaAktifKabul etYorum ekleEk etiketlerAdres HatasıErteleYöneticiAfganistanArnavutlukBütün Satranç DosyalarıHepsi beyazOyunu analiz etYorumcuArjantinErmenistanAvusturyaOtomatik-ÇıkışUygunFKötü hamleÇünkü iki oyuncu da beraberlikte mutabakat sağladı.Çünkü iki oyuncunun da süresi dolduBipFilSiyahSiyah ELO:Siyah O-OSiyah O-O-OSiyah sol kanattan piyonla saldırmalıSiyah sağ kanattan piyonla saldırmalıSiyah:KörlemeBlitz - Hızlı oyunHızlı Oyun:Hesaplanıyor...Kategori:Merkez:Meydan OkumaMeydan Okuma:Meydan oku: Satranç OyunuSatranç PozisyonuSatranç istemcisiBeraberlik iddia etTemizleSaatKaydetmeden _KapatAnaliz edilen hamleleri renklendirSatranç motoru tarafından istenen komut istemi parametreleriKomut:YorumlarBilgisayarBağlanıyorSunucuya bağlanılıyorBağlantı HatasıBağlantı kapatıldıKöşeDosya kaydedilemediÜlke:Araştırma oluşturYeni bir veritabanı oluşturDKoyu KarelerTarihTarih/ZamanTarih:ReddetVarsayılan:Dosya türünü otomatik belirleÖldüBir satranç oyununun sadece iki turda sona erebileceğini biliyor musunuz?Mümkün olan satranç oyunlarının sayısının evrendeki atomların sayından daha fazla olduğunu biliyor musunuz?Görmezden gelBerabereAraştırma DüzenleE-postaOyuna girEtkinlikMüsabaka:Ta_m tahta animasyonalrıDosya mevcutYazıtipiKazanç:Oyun:Oyun bilgisiOyun BerabereOyunu kaybettinizOyun hazırOyunu KazandınızÇalışan oyunlar: %dİyi hamleKonukGizleİpuçlarıNasıl OynanırİnsanBoştaEğer seçiliyse piyonlar oyuncuya sorulmaksızın vezire terfi olacaktır.Eğer seçiliyse yenilen taşların figürleri tahtanın yanında gözükecektir.Eğer kaydetmezseniz, değişiklikler sonsuza kadar kaybolacak.Bu pozisyonda, geçerli hamle yok.Başlangıç PozisyonuGeçersiz hamle.Kaydetmezseniz, daha sonra oyuna devam etmeniz mümkün olmayacak.İlk hamleye gitSon hamleye gitŞŞahAtAtlar_Tam Ekrandan ÇıkAçık KarelerYıldırımIşıklandırma:Oyun _YükleMüsabakaYerel SiteOturum açmada hata_Ziyaretçi olarak bağlanSunucuda oturum açılıyorKaybedenlerKaydettinMakrukMakruk: http://en.wikipedia.org/wiki/MakrukSatranç motorlarını yönetElleManuel OnaylamaDakika:Dakika: Hamle GeçmişiHamle SayısıHamleler:AAdHiçbir zaman animasyonları kullanma.Bunu yavaş bilgisayarlarda kullanınYeni OyunAnimasyonları kapatSes yokOlağanİzleMaçın iptalini önerMaçın iptalini önerMola teklif et.Devam teklifi etGeri Alma Teklif EtOyun ipta_li Teklif Et_Beraberlik Teklif EtMola teklif et.Maça devam teklif et_Geri Alma Teklif EtÇevrimdışıÇevrimiçiSadece _hareketleri canlandırSadece taş hareketlerini canlandır.Oyun AçSes Dosyası AçAçılış KitabıRakibin Gücü: SeçeneklerDiğerPParametreler:PençeCTCP PING yanıtıOynaFischer Rastgele Satranç OynaPyChess - internet satrancına bağlanNormal satranç kuralları ile oynaOyuncu _ReytingiOyuncular:Oyuncular: %dOynuyorPortlar:Ön_izlemeTercihlerTercih edilen seviye:TerfiProtokol:PyChess - internet satrancına bağlanPyChess.py:VVezirPyChess' ten ÇıkKPes_etRastgelePuanlıDereceli oyunPuanRenkleri SıfırlaÖntanımlı ayarlara geri dönSonuç:Sonuç:DuraklatKaleTahtayı DöndürRauntRaunt:_Oturum AçKaydetOyunu KaydetOyunu _Farklı KaydetSkorAra:Otomatik kayıt dizini seçArka plan resmi dosyası seçSes dosyası seçin...Kaydetmek istediğiniz oyunu seçin:Meydan Okuma İsteği GönderOyun daveti gönderPozisyon KurKordinatları _gösterYenilen taşları göster.İpuçlarını başlangıçta gösterShredderLinuxChess:KarıştırYan_panellerBasit Satranç PozisyonuYer:Ses dosyalarıHarcananStandartStandart:Kişiyle sohbet etDurumBir hamle geri alBir hamle ileri alTakım HesabıSohbet paneli oyun boyunca rakibinizle iletişim kurmanıza, eğer o da ilgileniyorsa, olanak sağlarYorum paneli oynanan hamleleri açıklamaya ve analiz etmeye çalışırBağlantı koptu -"dosya sonu" iletisi aldıİlk insan oyuncunun görüntülenecek adı, örneğin Figen.Hata şuydu: %sDosya zaten '%s' de bulunuyır. Eğer değiştirirseniz, içeriğin üzerine yazılacak.Oyun beraberlikle sonuçlandıBu oyun iptal edildiBu oyun sonraya bırakıldıBu oyun sonlandırıldıİpucu paneli oyunun her bir aşamasında bilgisayarın tavsiyelerini gösterirNotasyon kağıdı oyuncuların hamlelerinin kaydını tutar ve sizin oyun geçmişi boyunca klavuzluk eder.Skor paneli pozisyonları değerlendirir ve size oyunun işleyişinin bir grafiğini gösterirTemalarOyunda henüz iki hamle yapılmadığından derece kaybı olmaksızın oyun sonlandırılabilir.Oyunculardan biri ya da oyuncuların ikisi de misafir olduğundan maç ertelenemez.SüreZaman Kontrol: Günün İpucuGünün İpucuTolerans:PyChess'i ÇevirTürkiyeTür%s kabul edilemiyorGeri AlBir önceki hamleye dönİki önceki hamleye dönKaldırBirleşik Arap EmirlikleriBilinmeyenPuansızSüresizÇözümleyici kull_anTers analiz kullanAçılış Kitabı K_ullanBekleHoşgeldinizBeyazBeyaz ELO:Beyaz O-OBeyaz O-O-OBeyaz sol kanattan piyonla saldırmalıBeyaz sağ kanattan piyonla saldırmalıBeyaz:VahşiKazandınÇalışma dizini:Süresiz özelliği etkin olduğu için puanlandırlımış oyunları oynayamazsınız,Misafir olarak girdiğiniz için puanlandırılmış oyunlarda oynayamzsınız beraberlik teklifinde bulundunuzRakibiniz çabuk olmanızı istiyor!Rakibiniz size beraberlik teklif etti.Rakibinizin süresi bitmedi.İki ya da daha fazla hamle yapıldığından rakibinizin oyunu sonlandırmayı kabul etmesi gerekmektedir.Rakibiniz oyunun iptalini talep etti.Rakibiniz oyuna ara vermek istiyor.Rakibiniz oyuna devam etmek istiyorGücünüz: _Kabul Et_Eylemler_Bayrak Düştü_FEN Kopyala_PGN Kopyala_Reddet_Düzenle_Satranç Motorları_Tam Ekran_OyunO_yun Listesi_Genel_YardımSadece bir oyun açıkken sekmeleri _gizle_İpuçları_Geçersiz hamle:Oyun _YükleGünlük (_Log) GörüntüleyiciOyunla_rım_Adı:Yeni _Oyun_SonrakiGözlenmiş hamleler_Rakip_Parola:_Normal satranç oyna_Oyuncu Listesi_Önceki_Değiştir_Tahtayı ÇevirOyunu _Kaydet_Araştır / Meydan Oku_Yan Paneli Göster _Sesler_Oyuna Başla_SüresizS_esleri kullan_Görünüm_Renginiz:siyahtaşı alırkaleler%s'i korurberaberliklertaşları değişirgnuchess:http://tr.wikipedia.org/wiki/Satran%C3%A7http://tr.wikipedia.org/wiki/Satran%C3%A7#Oynan.C4.B1.C5.9F.C4.B1Şahın güvenliğini arttırır%s üzerindeki baskıyı arttırırmatlardakikakaleyi açık bir hatta koyarkaleyi yarıaçık bir hatta koyarfil fiancchetto pozisyonuna geliyor: %stoplam çevirimiçi sürepiyonu %s'e terfi ettirirrakibe şah çekerGeri çekilsaniyeŞahın güvenliğini hafifçe arttırırkaybedilen materyalı geri alırkarşıbeyazpencere1pychess-1.0.0/lang/tr/LC_MESSAGES/pychess.po0000644000175000017500000045211513455542734017433 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # Ali Polatel , 2013 # Alkım Kaçmaz , 2013 # AYBERK HALAC , 2013 # Caner Başaran , 2012 # Ege Öz , 2014 # Ege Öz , 2013 # Emre FIRAT , 2013 # Erdoğan Şahin, 2016 # gbtami , 2013 # Necdet Yücel , 2016 # Samet Can ALTUNSOY , 2018 # Sercan S , 2018 # Volkan Gezer , 2018 # Yaşar Çiv, 2017 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Turkish (http://www.transifex.com/gbtami/pychess/language/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: tr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Oyun" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "Yeni _Oyun" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "PyChess - internet satrancına bağlan" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "Oyun _Yükle" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Oyun _Yükle" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "Oyunu _Kaydet" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Oyunu _Farklı Kaydet" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Oyuncu _Reytingi" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Düzenle" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_PGN Kopyala" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "_FEN Kopyala" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "_Satranç Motorları" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Eylemler" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Oyun ipta_li Teklif Et" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "_Beraberlik Teklif Et" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Mola teklif et." #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Maça devam teklif et" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "_Geri Alma Teklif Et" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Bayrak Düştü" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "Pes_et" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Görünüm" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Tahtayı Çevir" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Tam Ekran" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "_Tam Ekrandan Çık" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "_Yan Paneli Göster " #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "Günlük (_Log) Görüntüleyici" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Yardım" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Satranç Hakkında" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Nasıl Oynanır" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "PyChess'i Çevir" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Günün İpucu" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Satranç istemcisi" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Tercihler" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "İlk insan oyuncunun görüntülenecek adı, örneğin Figen." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "_İlk insan oyuncunun adı" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "Sadece bir oyun açıkken sekmeleri _gizle" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "Eğer seçiliyse piyonlar oyuncuya sorulmaksızın vezire terfi olacaktır." #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "Yenilen taşları göster." #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "Eğer seçiliyse yenilen taşların figürleri tahtanın yanında gözükecektir." #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "Analiz edilen hamleleri renklendir" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "Ta_m tahta animasyonalrı" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Sadece _hareketleri canlandır" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Sadece taş hareketlerini canlandır." #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Animasyonları kapat" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Hiçbir zaman animasyonları kullanma.Bunu yavaş bilgisayarlarda kullanın" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Canlandırma" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_Genel" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "Açılış Kitabı K_ullan" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Çözümleyici kull_an" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Ters analiz kullan" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Çözümlüyor" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_İpuçları" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Kaldır" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "Aktif" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "Yan_paneller" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Açık Kareler" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Koyu Kareler" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "Renkleri Sıfırla" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "Kordinatları _göster" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "Yazıtipi" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Temalar" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "S_esleri kullan" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "Bir oyuncu _şah çekti:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Bir ouyuncu _hamle yaptı:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Oyun Berabere" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Oyunu kaybettiniz" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Oyunu Kazandınız" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Oyuncu taş kazandı:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Oyun hazır" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "Gözlenmiş hamleler" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "_Geçersiz hamle:" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Şu durumlarda ses çal" #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Sesler" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Kaydet" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Terfi" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Vezir" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Kale" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Fil" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "At" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Şah" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Piyon hangi taşa terfi etsin?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "Varsayılan:" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "Atlar" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Oyun bilgisi" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Yer:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "Siyah ELO:" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Siyah:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Raunt:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "Beyaz ELO:" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Beyaz:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "Tarih:" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "Sonuç:" #: glade/PyChess.glade:4818 msgid "Game" msgstr "Oyun:" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "Oyuncular:" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Müsabaka:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "Ek etiketler" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "Satranç motorlarını yönet" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Komut:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protokol:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Parametreler:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "Satranç motoru tarafından istenen komut istemi parametreleri" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "Çalışma dizini:" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "Ülke:" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "Tercih edilen seviye:" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "Öntanımlı ayarlara geri dön" #: glade/PyChess.glade:5538 msgid "Options" msgstr "Seçenekler" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Beyaz" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Siyah" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "Etkinlik" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Tarih" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "Yorumcu" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Sonuç:" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Oyunu analiz et" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess motorlarınızı arıyor. Lütfen bekleyin." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - internet satrancına bağlan" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Parola:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Adı:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "_Ziyaretçi olarak bağlan" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Portlar:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "_Oturum Aç" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Meydan oku: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Meydan Okuma İsteği Gönder" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Meydan Okuma:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Işıklandırma:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Standart:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Hızlı Oyun:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 dak + 6 san/hareket, Beyaz" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 dak" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Kabul Et" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Reddet" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Oyun daveti gönder" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Araştırma oluştur" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Standart" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Blitz - Hızlı oyun" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Yıldırım" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Bilgisayar" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "_Araştır / Meydan Oku" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Puan" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Süre" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 Oyuncu Hazır" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Meydan Okuma" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "İzle" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Kişiyle sohbet et" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Konuk" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "_Oyuncu Listesi" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "O_yun Listesi" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "Oyunla_rım" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "Maçın iptalini öner" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "Ön_izleme" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Araştırma Düzenle" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Süresiz" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Dakika: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "Kazan:" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Zaman Kontrol: " #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Zaman Kontrol" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Görmezden gel" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Gücünüz: " #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Rakibin Gücü: " #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Merkez:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Tolerans:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Gizle" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Rakibin Gücü" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Renginiz" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Normal satranç kuralları ile oyna" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Oyna" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Satranç Çeşidi" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Dereceli oyun" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Seçenekler" #: glade/findbar.glade:6 msgid "window1" msgstr "pencere1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0'da 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Ara:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Önceki" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Sonraki" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Yeni Oyun" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Oyuna Başla" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "Temizle" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Oyuncular" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "_Süresiz" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "_Normal satranç oyna" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Fischer Rastgele Satranç Oyna" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Açık Oyun" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Başlangıç ​​Konumu" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Oyun notasyonunu giriniz" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "Hamle Sayısı" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "Siyah O-O" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "Siyah O-O-O" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "Beyaz O-O-O" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "Beyaz O-O" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "Tahtayı Döndür" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "PyChess' ten Çık" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Kaydetmeden _Kapat" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Kaydetmek istediğiniz oyunu seçin:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Eğer kaydetmezseniz, değişiklikler sonsuza kadar kaybolacak." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "_Rakip" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_Renginiz:" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "_Oyunu Başlat" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "Yeni bir veritabanı oluştur" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "Kategori:" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Günün İpucu" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "İpuçlarını başlangıçta göster" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://tr.wikipedia.org/wiki/Satran%C3%A7" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://tr.wikipedia.org/wiki/Satran%C3%A7#Oynan.C4.B1.C5.9F.C4.B1" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Hoşgeldiniz" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Oyun Aç" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "Rakibiniz size beraberlik teklif etti." #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "Rakibiniz oyunun iptalini talep etti." #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "Rakibiniz oyuna ara vermek istiyor." #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "Rakibiniz oyuna devam etmek istiyor" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "Geri çekil" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Rakibinizin süresi bitmedi." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Rakibiniz çabuk olmanızı istiyor!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "Kabul et" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "Reddet" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "%s rakibiniz tarafından reddedildi" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s hamlesi rakibiniz tarafından geri alındı" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "%s kabul edilemiyor" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s bir hata döndürdü" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Satranç Pozisyonu" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Bilinmeyen" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Basit Satranç Pozisyonu" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Satranç Oyunu" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "Geçersiz hamle." #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Öldü" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Müsabaka" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Yerel Site" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "dakika" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "saniye" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "Birleşik Arap Emirlikleri" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "Afganistan" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "Arnavutluk" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "Ermenistan" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "Arjantin" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "Avusturya" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "Türkiye" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Pençe" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "A" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "F" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "K" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "V" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "Ş" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Oyun beraberlikle sonuçlandı" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s oyunu kazandı" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s oyunu kazandı" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "Bu oyun sonlandırıldı" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Bu oyun sonraya bırakıldı" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Bu oyun iptal edildi" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Çünkü iki oyuncunun da süresi doldu" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "Çünkü iki oyuncu da beraberlikte mutabakat sağladı." #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "ASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "Makruk: http://en.wikipedia.org/wiki/Makruk" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "Makruk" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "Körleme" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "Hepsi beyaz" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Köşe" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "Kaybedenler" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Olağan" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Rastgele" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Karıştır" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "Bağlantı koptu -\"dosya sonu\" iletisi aldı" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "%s kayıtlı bir oyun değil" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Sunucuya bağlanılıyor" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Sunucuda oturum açılıyor" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Vahşi" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Çevrimiçi" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Çevrimdışı" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "Uygun" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "Oynuyor" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "Boşta" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Puansız" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Puanlı" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d dakika" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "+ %d saniye" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "beyaz" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "siyah" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "Manuel Onaylama" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Bağlantı Hatası" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Oturum açmada hata" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Bağlantı kapatıldı" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Adres Hatası" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Otomatik-Çıkış" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Diğer" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Yönetici" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Takım Hesabı" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "D" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "Durduruldu" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Bir önceki hamleye dön" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "İki önceki hamleye dön" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "beraberlik teklifinde bulundunuz" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Program motoru, %s, öldü" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "Oyunda henüz iki hamle yapılmadığından derece kaybı olmaksızın oyun sonlandırılabilir." #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "Maçın iptalini öner" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "İki ya da daha fazla hamle yapıldığından rakibinizin oyunu sonlandırmayı kabul etmesi gerekmektedir." #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "Oyunculardan biri ya da oyuncuların ikisi de misafir olduğundan maç ertelenemez." #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "Beraberlik iddia et" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "Duraklat" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "Mola teklif et." #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "Devam teklifi et" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "Geri Al" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "Geri Alma Teklif Et" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "Bekle" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "Ertele" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "İlk hamleye git" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "Bir hamle geri al" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "Bir hamle ileri al" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Son hamleye git" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "İnsan" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Dakika:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "Hamleler:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Kazanç:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "satranç" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Pozisyon Kur" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Oyuna gir" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Ses Dosyası Aç" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "Ses dosyaları" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Ses yok" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Bip" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Ses dosyası seçin..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "Arka plan resmi dosyası seç" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "Otomatik kayıt dizini seç" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "Bir satranç oyununun sadece iki turda sona erebileceğini biliyor musunuz?" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "Mümkün olan satranç oyunlarının sayısının evrendeki atomların sayından daha fazla olduğunu biliyor musunuz?" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "beraberlikler" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "matlar" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "rakibe şah çeker" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "Şahın güvenliğini arttırır" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "Şahın güvenliğini hafifçe arttırır" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "kaleyi açık bir hatta koyar" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "kaleyi yarıaçık bir hatta koyar" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "fil fiancchetto pozisyonuna geliyor: %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "piyonu %s'e terfi ettirir" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "kaleler" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "kaybedilen materyalı geri alır" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "taşları değişir" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "taşı alır" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "%s üzerindeki baskıyı arttırır" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "%s'i korur" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "%s piyonlarını stonewall biçmine getiriyor" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "Beyaz sağ kanattan piyonla saldırmalı" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "Siyah sol kanattan piyonla saldırmalı" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "Beyaz sol kanattan piyonla saldırmalı" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "Siyah sağ kanattan piyonla saldırmalı" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "Raunt" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Saat" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Tür" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Tarih/Zaman" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Kazandın" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Berabere" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Kaydettin" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "E-posta" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Harcanan" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "toplam çevirimiçi süre" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "CTCP PING yanıtı" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Bağlanıyor" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Çalışan oyunlar: %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Ad" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "Durum" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "Oyuncular: %d" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Meydan Okuma:" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Elle" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "Misafir olarak girdiğiniz için puanlandırılmış oyunlarda oynayamzsınız " #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "Süresiz özelliği etkin olduğu için puanlandırlımış oyunları oynayamazsınız," #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "dk" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Dosya türünü otomatik belirle" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Oyunu Kaydet" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Bilinmeyen dosya türü '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "'%s' dosyası kaydedilemedi" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Değiştir" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Dosya mevcut" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "'%s' adında bir dosya zaten var. Değiştirmek ister misiniz?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "Dosya zaten '%s' de bulunuyır. Eğer değiştirirseniz, içeriğin üzerine yazılacak." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Dosya kaydedilemedi" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess oyunu kaydedemedi" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "Hata şuydu: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "karşı" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Kaydetmezseniz, daha sonra oyuna devam etmeniz mümkün olmayacak." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Bütün Satranç Dosyaları" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "Yorum ekle" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "İyi hamle" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "Kötü hamle" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "İpuçları" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "İpucu paneli oyunun her bir aşamasında bilgisayarın tavsiyelerini gösterir" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Açılış Kitabı" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "Hesaplanıyor..." #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "Bu pozisyonda,\ngeçerli hamle yok." #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "Sohbet paneli oyun boyunca rakibinizle iletişim kurmanıza, eğer o da ilgileniyorsa, olanak sağlar" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Yorumlar" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "Yorum paneli oynanan hamleleri açıklamaya ve analiz etmeye çalışır" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Başlangıç Pozisyonu" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Hamle Geçmişi" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "Notasyon kağıdı oyuncuların hamlelerinin kaydını tutar ve sizin oyun geçmişi boyunca klavuzluk eder." #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Skor" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "Skor paneli pozisyonları değerlendirir ve size oyunun işleyişinin bir grafiğini gösterir" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/sq/0000755000175000017500000000000013467766037013625 5ustar varunvarunpychess-1.0.0/lang/sq/LC_MESSAGES/0000755000175000017500000000000013467766037015412 5ustar varunvarunpychess-1.0.0/lang/sq/LC_MESSAGES/pychess.mo0000644000175000017500000025643213467766035017437 0ustar varunvarunkt#Fh^ i^ t^G~^^ ^$^ ^ _(_A_+S_ ___/_0_[`Na``%```(Na+wa'a#a%a@b7Vb0bbbb cc#)c$Mc'rcc c!cQcJCd>ddd!deeee+e2e6e:eCeKefe keuee eee'e@ef.f?fQffffff#f$f#g9gJgbg{ggggggg hQh&nh$hCh7hU6i"i*i(ijj+jhXRBSc]?XB;ےqSOݓF- t )ɕ ϕٕ  38 @LDSӖ  $0+8d| ȗЗؗ    #5G [ g r ˜+Ș +29BKP Vds z  ™ ͙ ؙ! 4 =Hbi r }  Ě ʚ՚ݚߚ.5 ;/G w  C͛,5DKj   Ŝ ʜ ל    ( 5 A N \ht,*/+Z*̞.  / <JZpx~՟ܟ    ! .; @LQZ_y ŠԠ ݠ  '0 LX'` #̡  ŢǢϢ֢ܢ   -8M T_fnu} ǣУӣܣ, 1=X r  ĤѤ ֤ (,ET*o إ *"?b{ Ҧ  +$1Vlħ ̧ ٧  ,17/@py ƨ,Ө   " +5HObx~  éةکݩ  #09BRpdժh«"+CN54Ȭ937kRzͭcQ T p9~Z,FbI{}ŰC`_ڱZjZK-i~E,\AA˴ #/4 D R^m|05 =HNbt Ķ,ɶy ˷ ڷ4$.Slt  Ƹ θܸ .? Q\dQl6"!:PVZ^bgMyǺϺ޺Ȼ λ ٻ $#%8 ^"i# Ǽڼ޼  0K^{9?۽9(U/~yC($l3&ſ 1tR#%.lT!n/R&(&''!Ifv}   *3%9_f u     $: MXl} + !)8@y1'  &1Pdj } 5"e+P|! = ^j m z6(&Og~ #!9[{DLo G"j o+z1,AFI\,gX;2o6N;.$%D;:<0G"N2q9- * +K|waaV)-.48 <FNl q#|  -XL ]k}- -9*g+=Ph`|(.C5Fy_& 3G/{et }.> %<Q"e^   m#  '6QqyZ %4 =IPVg y,- ? KWY_y )G_o!)GE_!*):/dm4G/=6_t=C-VA&CH1z79 ?D!@   '/ 5 @ J(V%# 8: HOW_ou|  # !$ '2 A K8U? !&-5GZbt  ;jR\aY|  2<DL T ^ hsy J  #- 3> [i    $+PkpWyX*ENcrwp} )09j r~3 MW_r3z 1  + 6@Thp1sE@L,NyIL_Zs4 " +8=PYa gq $ 0DGMU\b    /     "  " 0  6 A  I T  Y c k +s        !    " ( / 8  A  K  U  a n       J U UK  W \ErXmt=W Gx`PbUj y 3 #;@IZLa  #8A FT)] & ' 0;C[r   & /:+Amt|%     '#1U]!f  !*3;=@EU]=c N  ! .8>E JUV # *3C KV is {        " :GpL016 /W  F ! 4 AOg} !    $ . 5 =  N \ k  p z        ! ! !!.!4!=!F!M! f! p! {! !!,! ! ! !%!#"?" ### #$# :#E# G# S#a#%j# ## ## ## # $$ $"$*$1$7$G$L$R$ m${$$$$$,$$ $$%+%I% O% Z%e%{%% %%%4%%&+&-I&w&}&&&&#&&&',',E'r' ''''''''( (%(7( F(T(+\(( (((()) ') 5)B)[)d))))/)) )))*)*,*+;* g*t* |* ** ****** *+ + "+,+2+9+S+U+X+[+ w+ + ++ ++++o,~r--U .6`.&.9.-. &/]2//x/(01l11D1g1=2U2n22O22"3w314Q4 45 5&5i55555P5)6x96V6- 7G77Q77777 8 8#878 K8U8"9'9 /9:9@9S9c9w9~9 999979999":i#:::::: ::E;1H;!z;;;; ;;; ;< <<:<V<v<<< <<<U<1)="[=~=========V= >>J>^>^? f? s? ?*?'?%? @:@<O@@@ @@@@@@@A""AEAYAvA1|AVAZBJ`B/BABCMCDD!D1fDDVE sE"E$E"EEF+;FgFGGHMI+IJ,JzJ<VK,K)K6K,!L2NLL LLLLLLL L LL M MM 'M1M:M OM\McMrMM3MMM MMM N NN$N9N INWNiN {N NN'NN NNNO O(OD1OvOOOO;O9OH$P-mPP9P*P$Q+Q :QFQ!OQqQQQQQQQ"Sf4S+SSSST ,TMTUT*YT.T"TTTTT U U6UIU\UvU7U+U U V(VBVQVZVbVxV |VV&V'V1W,4WaWwWWWWWWWX~Z ]$ rVrKc8k0512o;M_-O/ y _RDbOC>;3vkB,45U=&m$<!RT=:%2AEF1k[-. W`?C7TN (!g /U#PIj=Cf@:UGVd!d@;~ny!p68`qE\0@oAzJ"AX{HTmR!Hi6_L+ iBGT9LW.Ynj^ 3tGC.j WNg1R?$YdXpFWhwG?lb 93'B=r8FK] $1,Yb6{3a"QsM0.L*;&g`E~_QxxJ+o|h)XaK^} ]%,\|S04G Ou1DZYQj[2@'t%2SHe0/v4$\]+5>S y)[*qosa^JvE#3tgy,~jNzZeX=KkZ8iN4Bl7 45wf|)P-WV<u+i'<"I: ^2c/_z6 (H% SM BcH,\~Mb-"m F')O%7#`N?]T pr^Z(nDtd}xzw. ]hgSPa+(96sXYQ &bek<q:>8c>DUav}{K#*f-(:IF<*iP{M 5ZAII&cQ7l ?x`[>@d*uns [VRUh"J'eV9q7P;| Dw f/ChJ E)pLmlO eA}u&\f9L# Gain: + %d sec challenges you to a %(time)s %(rated)s %(gametype)s game chess has arrived has declined your offer for a match has departed has lagged for 30 seconds invalid engine move: %s is censoring you is lagging heavily but hasn't disconnected is present min noplay listing you uses a formula not fitting your match request: where %(player)s plays %(color)s. with whom you have an adjourned %(timecontrol)s %(gametype)s game is online. would like to resume your adjourned %(time)s %(gametype)s game.%(black)s won the game%(color)s got a double pawn %(place)s%(color)s got an isolated pawn in the %(x)s file%(color)s got isolated pawns in the %(x)s files%(color)s got new double pawns %(place)s%(color)s has a new passed pawn on %(cord)s%(color)s moves a %(piece)s to %(cord)s%(minutes)d min + %(gain)d sec/move%(name)s %(minutes)d min %(duration)s%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s%(name)s %(minutes)d min / %(moves)d moves %(duration)s%(opcolor)s has a new trapped bishop on %(cord)s%(player)s is %(status)s%(player)s plays %(color)s%(white)s won the game%d min%s can no longer castle%s can no longer castle in kingside%s can no longer castle in queenside%s moves pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent%s will identify what threats would exist if it were your opponent's turn to move%s will try to predict which move is best and which side has the advantage'%s' is a registered name. If it is yours, type the password.'%s' is not a registered name(Blitz)(Link is available on clipboard.)*-00 Players Ready0 of 00-11-01-minute1/2-1/210 min + 6 sec/move, White120015-minute2 min, Fischer Random, Black3-minute45-minute5 min5-minutePromote pawn to what?PyChess was unable to load your panel settingsAnalyzingAnimationChess SetsChess VariantEnter Game NotationGeneral OptionsInitial PositionInstalled SidepanelsName of _first human player:Name of s_econd human player:New version %s is available!Open GameOpening, endgameOpponent StrengthOptionsPlay Sound When...PlayersTime ControlWelcome screenYour Color_Connect to server_Start GameA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedError loading gamePyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to add %sUnable to save file '%s'Unknown file type '%s'Challenge:A player _checks:A player _moves:A player c_aptures:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortAbout ChessAc_tiveAcceptActivate alarm when _remaining sec is:Active color field must be one of w or b. %sActive seeks: %dAdd commentAdd evaluation symbolAdd move symbolAdd start commentAdd threatening variation lines Adding suggestions can help you find ideas, but slows down the computer's analysis.Address ErrorAdjournAdminAdministratorAfghanistanAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbaniaAlgeriaAll Chess FilesAll whiteAmerican SamoaAnalysis by %sAnalyze black movesAnalyze from current positionAnalyze gameAnalyze white movesAnalyzer's primary variationAndorraAngolaAnguillaAnimate pieces, board rotation and more. Use this on fast machines.Annotated gameAnnotationAnnotatorAntarcticaAntigua and BarbudaAny strengthArchivedArgentinaArmeniaArubaAsian variantsAsk to _MoveAssessAsymmetric RandomAsymmetric Random AtomicAustraliaAustriaAuto Call _FlagAuto _rotate board to current human playerAuto login on startupAuto-logoutAvailableAzerbaijanBB EloBackround image path :BahamasBahrainBangladeshBarbadosBecause %(black)s lost connection to the serverBecause %(black)s lost connection to the server and %(white)s requested adjournmentBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s king explodedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause %(mover)s stalematedBecause %(white)s lost connection to the serverBecause %(white)s lost connection to the server and %(black)s requested adjournmentBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause %(winner)s has fewer piecesBecause %(winner)s king reached the centerBecause %(winner)s lost all piecesBecause %(winner)s was giving check 3 timesBecause a player aborted the game. Either player can abort the game without the other's consent before the second move. No rating changes have occurred.Because a player disconnected and there are too few moves to warrant adjournment. No rating changes have occurred.Because a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both king reached the eight rowBecause both players agreed to a drawBecause both players agreed to abort the game. No rating changes have occurred.Because both players agreed to an adjournmentBecause both players have the same amount of piecesBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause of adjudication by an admin. No rating changes have occurred.Because of courtesy by a player. No rating changes have occurred.Because the %(black)s engine diedBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBecause the server was shut downBecause the server was shut down. No rating changes have occurred.BeepBelarusBelgiumBelizeBeninBermudaBestBhutanBishopBlackBlack ELO:Black O-OBlack O-O-OBlack has a new piece in outpost: %sBlack has a rather cramped positionBlack has a slightly cramped positionBlack moveBlack should do pawn storm in leftBlack should do pawn storm in rightBlack:BlindFoldBlindfoldBlindfold AccountBlitzBlitz:Blitz: 5 minBolivia (Plurinational State of)Bonaire, Sint Eustatius and SabaBosnia and HerzegovinaBotswanaBouvet IslandBrazilBringing your king legally to the center (e4, d4, e5, d5) instantly wins the game! Normal rules apply in other cases and checkmate also ends the game.British Indian Ocean TerritoryBrunei DarussalamBughouseBulgariaBurkina FasoBurundiCCACMCabo VerdeCalculating...CambodiaCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCameroonCanadaCapturedCastling availability field is not legal. %sCategory:Cayman IslandsCenter:Central African RepublicChadChallengeChallenge: Challenge: Change ToleranceChatChess AdvisorChess Alpha 2 DiagramChess Compositions from yacpdb.orgChess GameChess PositionChess ShoutChess clientChess960ChileChinaChristmas IslandClaim DrawClassic chess rules http://en.wikipedia.org/wiki/ChessClassic chess rules with all pieces white http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden figurines http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pawns http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pieces http://en.wikipedia.org/wiki/Blindfold_chessClearClockClose _without SavingCocos (Keeling) IslandsColombiaColorize analyzed movesCommand:Comment:CommentsComorosCompensationComputerComputersCongoCongo (the Democratic Republic of the)ConnectingConnecting to serverConnection ErrorConnection was closedContinue to wait for opponent, or try to adjourn the game?Cook IslandsCopy FENCornerCosta RicaCould not save the fileCounterplayCountry of origin of the engineCountry:CrazyhouseCreate SeekCroatiaCubaCuraçaoCyprusCzechiaCôte d'IvoireDDark Squares :DateDate/TimeDate:DeclineDefaultDenmarkDestination Host UnreachableDetect type automaticallyDiedDjiboutiDo you know that it is possible to finish a chess game in just 2 turns?Do you know that the number of possible chess games exceeds the number of atoms in the Universe?Do you want to abort it?DominicaDominican RepublicDon't careDrawDraw:Due to abuse problems, guest connections have been prevented. You can still register on http://www.freechess.orgDummy AccountECOEcuadorEdit SeekEdit Seek: Edit commentEffect on ratings by the possible outcomesEgyptEl SalvadorEloEmailEn passant cord is not legal. %sEn passant lineEndgame TableEngine scores are in units of pawns, from White's point of view. Double clicking on analysis lines you can insert them into Annotation panel as variations.EnginesEngines use uci or xboard communication protocol to talk to the GUI. If it can use both you can set here which one you like.Enter GameEnvironmentEquatorial GuineaEritreaError parsing move %(moveno)s %(mstr)sEstoniaEthiopiaEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventEvent:ExamineExamine Adjourned GameExaminedExaminingExecutable filesExport positionExternalsFAFEN needs 6 data fields. %sFEN needs at least 2 data fields in fenstr. %sFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns * No castling * Black's arrangement mirrors white'sFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED * No castling * Black's arrangement DOES NOT mirrors white'sFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Pawns start on their 7th rank rather than their 2nd rank!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Pawns start on 4th and 5th ranks rather than 2nd and 7thFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html White pawns start on 5th rank and black pawns on the 4th rankFIDE MasterFMF_ull board animationFace _to Face display modeFalkland Islands [Malvinas]Faroe IslandsFijiFile existsFilterFiltersFingerFinlandFischer RandomFollowFont:Forced moveFranceFrench GuianaFrench PolynesiaFrench Southern TerritoriesFriendsFrom _Custom PositionFrom _Default Start PositionFrom _Game NotationGMGabonGain:GambiaGameGame analyzing in progress...Game cancelledGame informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Game shared at GamesGames running: %dGaviota TB path:Generally this means nothing, as the game is time-based, but if you want to please your opponent, perhaps you should get going.GeorgiaGermanyGhanaGibraltarGo back to the main lineGrand MasterGreeceGreenlandGrenadaGuadeloupeGuamGuatemalaGuernseyGuestGuest logins disabled by FICS serverGuestsGuineaGuinea-BissauGuyanaHHaitiHalfmove clockHeard Island and McDonald IslandsHidden pawnsHidden piecesHideHintsHoly SeeHondurasHong KongHost:How to PlayHtml DiagramHuman BeingHungaryIMIcelandIdIdentificationIdleIf set you can refuse players accepting your seekIf set, FICS game numbers in tab labels next to player names are shown.If set, PyChess will colorize suboptimal analyzed moves with red.If set, PyChess will show game results for different moves in positions containing 6 or less pieces. It will search positions from http://www.k4it.de/If set, PyChess will show game results for different moves in positions containing 6 or less pieces. You can download tablebase files from: http://www.olympuschess.com/egtb/gaviota/If set, PyChess will suggest best opening moves on hint panel.If set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, clicking on main application window closer first time it closes all games.If set, pawn promotes to queen without promotion dialog selection.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the captured figurines will be shown next to the board.If set, the elapsed time that a player used for the move is shown.If set, the hint analyzer engine evaluation value is shown.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If the analyzer finds a move where the evaluation difference (the difference between the evaluation for the move it thinks is the best move and the evaluation for the move made in the game) exceeds this value, it will add an annotation for that move (consisting of the engine's Principal Variation for the move) to the Annotation panelIf you don't save, new changes to your games will be permanently lost.Ignore colorsIllegalImagesIn TournamentIn this position, there is no legal move.IndiaIndonesiaInitial positionInitiativeInternational MasterInvalid move.Iran (Islamic Republic of)IraqIrelandIsle of ManIsraelIt is not possible later to continue the game, if you don't save it.ItalyJamaicaJapanJerseyJordanJump to initial positionJump to latest positionKKazakhstanKenyaKingKing of the hillKiribatiKnightKnight oddsKnightsKorea (the Democratic People's Republic of)Korea (the Republic of)KuwaitKyrgyzstanLao People's Democratic RepublicLatviaLeave _FullscreenLebanonLesothoLiberiaLibyaLiechtensteinLight Squares :LightningLightning:LithuaniaLoad Re_mote GameLoad _Recent GameLoading player dataLocal EventLocal SiteLog on ErrorLog on as _GuestLogging on to serverLosersLossLoss:LuxembourgMacaoMacedonia (the former Yugoslav Republic of)MadagascarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMalawiMalaysiaMaldivesMaliMaltaMamer ManagerManage enginesManualManual AcceptManually accept opponentMarshall IslandsMartiniqueMateMate in %dMauritaniaMauritiusMaximum analysis time in seconds:MayotteMexicoMicronesia (Federated States of)Minutes:Minutes: Moldova (the Republic of)MonacoMongoliaMontenegroMontserratMore channelsMore playersMoroccoMove HistoryMove numberMovedMozambiqueMyanmarNNMNameNames: #n1, #n2NamibiaNauruNeeds 7 slashes in piece placement field. %sNepalNetherlandsNever use animation. Use this on slow machines.New CaledoniaNew GameNew RD:New ZealandNicaraguaNigerNigeriaNiueNo _animationNo chess engines (computer players) are participating in this game.No conversation's selectedNo soundNorfolk IslandNormalNormal: 40 min + 15 sec/moveNorthern Mariana IslandsNorwayNot AvailableObserveObserve %sObserved _ends:ObserversOddsOffer A_bortOffer AbortOffer Ad_journmentOffer PauseOffer RematchOffer ResumeOffer UndoOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOmanOn FICS, your "Wild" rating encompasses all of the following variants at all time controls: One player starts with one less knight pieceOne player starts with one less pawn pieceOne player starts with one less queen pieceOne player starts with one less rook pieceOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpen GameOpen Sound FileOpening BookOpening booksOpponent RatingOpponent's strength: OptionsOtherOther (non standard rules)Other (standard rules)PPakistanPalauPalestine, State ofPanamaPapua New GuineaParaguayParameters:Paste FENPausePawnPawn oddsPawns PassedPawns PushedPeruPhilippinesPingPitcairnPlayPlay Fischer Random chessPlay Losers chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer _RatingPlayers:Players: %dPlayingPng imagePo_rts:PolandPolyglot book file:PortugalPre_viewPrefer figures in _notationPreferencesPrivateProbably because it has been withdrawn.PromotionProtocol:Puerto RicoPyChess - Connect to Internet ChessPyChess Information WindowPyChess has lost connection to the engine, probably because it has died. You can try to start a new game with the engine, or try to play against another one.PyChess.py:QQatarQueenQueen oddsQuit PyChessRR_esignRandomRapidRapid: 15 min + 10 sec/moveRatedRated gameRatingReceiving list of playersRegisteredRequest ContinuationResendResend %s?ResultResult:ResumeRomaniaRookRook oddsRoundRound:Running Simul MatchRussian FederationRwandaRéunionSRS_ign upSaint BarthélemySaint Helena, Ascension and Tristan da CunhaSaint Kitts and NevisSaint LuciaSaint Martin (French part)Saint Pierre and MiquelonSaint Vincent and the GrenadinesSamoaSan MarinoSanctionsSao Tome and PrincipeSaudi ArabiaSaveSave GameSave Game _AsSave _own games onlySave analyzing engine _evaluation valuesSave elapsed move _timesSave files to:Save moves before closing?Save the current game before you close it?ScoreSearch:Seek _GraphSeek updatedSelect Gaviota TB pathSelect auto save pathSelect background image fileSelect book fileSelect engineSelect sound file...Select the games you want to save:Select working directorySend ChallengeSend all seeksSend seekSenegalSequenceSerbiaService RepresentativeSetting up environmentSetup PositionSeychellesShare _GameSho_w cordsShort on _time:ShoutShow FICS game numbers in tab labelsShow _captured piecesShow elapsed move timesShow evaluation valuesShow tips at startupShredderLinuxChess:ShuffleSide to moveSide_panelsSierra LeoneSimple Chess PositionSingaporeSint Maarten (Dutch part)SiteSite:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinSlovakiaSloveniaSolomon IslandsSomaliaSorry '%s' is already logged inSound filesSouth AfricaSouth Georgia and the South Sandwich IslandsSouth SudanSpainSpentSri LankaStandardStandard:Start Private ChatStatusStep back one moveStep forward one moveSudanSuicideSurinameSvalbard and Jan MayenSwazilandSwedenSwitzerlandSyrian Arab RepublicTTDTMTaiwan (Province of China)TajikistanTanzania, United Republic ofTeam AccountTexture:ThailandThe abort offerThe adjourn offerThe analyzer will run in the background and analyze the game. This is necessary for the hint mode to workThe chain button is disabled because you are logged in as a guest. Guests can't establish ratings, and the chain button's state has no effect when there is no rating to which to tie "Opponent Strength" toThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe directory where the engine will be started from.The displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe endgame table will show exact analysis when there are few pieces on the board.The engine %s reports an error:The engine output panel shows the thinking output of chess engines (computer players) during a gameThe entered password was invalid. If you forgot your password, go to http://www.freechess.org/password to request a new one over email.The error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The flag callThe game can't be loaded, because of an error parsing FENThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe hint panel will provide computer advice during each stage of the gameThe inverse analyzer will analyze the game as if your opponent was to move. This is necessary for the spy mode to workThe move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe reason is unknownThe resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe takeback offerThebanThemesThere is %d game with unsaved moves.There are %d games with unsaved moves.There is something wrong with this executableThis game can be automatically aborted without rating loss because there has not yet been two moves madeThis game can not be adjourned because one or both players are guestsThis is a continuation of an adjourned matchThis option is not applicable because you're challenging a playerThis option is not available because you're challenging a guest, Threat analysis by %sThree-checkTimeTime control: Time pressureTimor-LesteTip Of The dayTip of the DayTitledTo save a game Game > Save Game As, give the filename and choose where you want to be saved. At the bottom choose extension type of the file, and Save.TogoTokelauTolerance:TongaTournament DirectorTranslate PyChessTrinidad and TobagoTunisiaTurkeyTurkmenistanTurks and Caicos IslandsTuvaluTypeType or paste PGN game or FEN positions hereUUgandaUkraineUnable to accept %sUnable to save to configured file. Save the current game before you close it?Unclear positionUndescribed panelUndoUndo one moveUndo two movesUninstallUnited Arab EmiratesUnited Kingdom of Great Britain and Northern IrelandUnited States Minor Outlying IslandsUnited States of AmericaUnknownUnknown game stateUnofficial channel %dUnratedUnregisteredUntimedUpside DownUruguayUse _analyzerUse _inverted analyzerUse _local tablebasesUse _online tablebasesUse analyzer:Use name format:Use opening _bookUzbekistanVanuatuVariantVariant developed by Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Variation annotation creation threshold in centipawns:Venezuela (Bolivarian Republic of)Viet NamVirgin Islands (British)Virgin Islands (U.S.)W EloWFMWGMWIMWaitWallis and FutunaWas unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.WelcomeWestern SaharaWhen this button is in the "locked" state, the relationship between "Opponent's strength" and "Your strength" will be preserved when a) your rating for the type of game sought has changed b) you change the variant or the time controlWhiteWhite ELO:White O-OWhite O-O-OWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite has a slightly cramped positionWhite moveWhite should do pawn storm in leftWhite should do pawn storm in rightWhite:WildWildcastleWildcastle shuffleWinWin by giving check 3 timesWin:With attackWoman FIDE MasterWoman Grand MasterWoman International MasterWorking directory:Year, month, day: #y, #m, #dYemenYou asked your opponent to moveYou can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou can't select a variant because "Untimed" is checked, You can't switch colors during the game.You can't touch this! You are examining a game.You don't have the necessary rights to save the file. Please ensure that you have given the right path and try again.You have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou have to set kibitz on to see bot messages here.You have tried to undo too many moves.You may only have 3 outstanding seeks at the same time. If you want to add a new seek you must clear your currently active seeks. Clear your seeks?You sent a draw offerYou sent a pause offerYou sent a resume offerYou sent an abort offerYou sent an adjournment offerYou sent an undo offerYou sent flag callYour opponent asks you to hurry!Your opponent has asked that the game be aborted. If you accept this offer, the game will end with no rating change.Your opponent has asked that the game be adjourned. If you accept this offer, the game will be adjourned and you can resume it later (when your opponent is online and both players agree to resume).Your opponent has asked that the game be paused. If you accept this offer, the game clock will be paused until both players agree to resume the game.Your opponent has asked that the game be resumed. If you accept this offer, the game clock will continue from where it was paused.Your opponent has asked that the last %s move(s) be undone. If you accept this offer, the game will continue from the earlier position.Your opponent has offered you a draw.Your opponent has offered you a draw. If you accept this offer, the game will end with a score of 1/2 - 1/2.Your opponent is not out of time.Your opponent must agree to abort the game because there has been two or more moves madeYour opponent seems to have changed their mind.Your opponent wants to abort the game.Your opponent wants to adjourn the game.Your opponent wants to pause the game.Your opponent wants to resume the game.Your opponent wants to undo %s move(s).Your seeks have been removedYour strength: ZambiaZimbabweZugzwang_Accept_Actions_Analyze Game_Archived_Call Flag_Clear Seeks_Copy FEN_Copy PGN_Decline_Edit_Engines_Export Position_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hints_Invalid move:_Load Game_Log Viewer_My games_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Untimed_Use main app closer [x] to close all games_Use sounds in PyChess_View_Your Color:andand guests can't play rated gamesand on FICS, untimed games can't be ratedand on FICS, untimed games have to be normal chess rulesask your opponent to moveblackbrings a %(piece)s closer to enemy king: %(cord)sbrings a pawn closer to the backrow: %scall your opponents flagcaptures materialcastlesdefends %sdevelops a %(piece)s: %(cord)sdevelops a pawn: %sdrawsexchanges materialgnuchess:half-openhttp://brainking.com/en/GameRules?tp=2 * Placement of the pieces on the 1st and 8th row are randomized * The king is in the right hand corner * Bishops must start on opposite color squares * Black's starting position is obtained by rotating white's position 180 degrees around the board's center * No castlinghttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyin the %(x)s%(y)s filein the %(x)s%(y)s filesincreases the pressure on %sinvalid promoted piecematesminmoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %snot playingofoffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalpins an enemy %(oppiece)s on the %(piece)s at %(cord)splaces a %(piece)s more active: %(cord)spromotes a Pawn to a %sputs opponent in checkrating range nowrescues a %sresignround %ssacrifices materialsecslightly improves king safetytakes back materialthe captured cord (%s) is incorrectthe end cord (%s) is incorrectthe move needs a piece and a cordthreatens to win material by %sto automatic acceptto manual acceptucivs.whitewindow1xboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Random arrangement of the pieces behind the pawns * No castling * Black's arrangement mirrors white'sxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * White has the typical set-up at the start. * Black's pieces are the same, except that the King and Queen are reversed, * so they are not on the same files as White's King and Queen. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * In this variant both sides have the same set of pieces as in normal chess. * The white king starts on d1 or e1 and the black king starts on d8 or e8, * and the rooks are in their usual positions. * Bishops are always on opposite colors. * Subject to these constraints the position of the pieces on their first ranks is random. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.Åland IslandsProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-29 19:22+0000 Last-Translator: Ardit Dani Language-Team: Albanian (http://www.transifex.com/gbtami/pychess/language/sq/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: sq Plural-Forms: nplurals=2; plural=(n != 1); Rritje: + %d sek Ju sfidon në një %(time)s %(rated)s %(gametype)s lojëShahka arriturka refuzuar ofertën tuaj për një ndeshjeka nisështë vonuar për 30 sekonda lëvizje e gabuar motorri: %scensurimi juajështë vonuar shumë, por nuk është shkëputurështë i pranishëm mini listuar jashtëlojepërdor një formulë jo të përshtatshëm kërkesës tuaj për ndeshje: ku %(player)s luan %(color)s. me të cilët ju keni një shtyrje %(timecontrol)s %(gametype)s loja është në-linjë. do të doni për të rifilloni shtyrjen tuaj %(time)s %(gametype)s lojë.%(black)s fitoj lojën%(color)s mori një ushtar të dyfishtë %(place)s%(color)s mori ushtarë të izoluar në %(x)s dokument%(color)s mori ushtarë të izoluar në %(x)s dokumentet%(color)s mori ushtarë të ri të dyfishtë %(place)s%(color)s ka një ushtarë të ri të miratuar në %(cord)s%(color)s lëvizë një %(piece)s në %(cord)s%(minutes)d min + %(gain)d sek/leviz%(name)s %(minutes)d min %(duration)s%(name)s %(minutes)d min %(sign)s %(gain)d sek/lëvizje %(duration)s%(name)s %(minutes)d min / %(moves)d lëvizje %(duration)s%(opcolor)s ka një peshkop të ri të bllokuar në %(cord)s%(player)s është %(status)s%(player)s luan %(color)s%(white)s fitoi lojën%d min%s nuk mund të bëjë kalanë më%s nuk mund të bëjë kalanë në anën e mbretit%s nuk mund të bëjë kalanë në anën e mbretëreshës%s lëviz ushtarin në formimin Murrë-gurë %s kthen një gabim%s është refuzuar nga kundërshtari juaj%s është tërhequr nga kundërshtari juaj%s do të identifikohet se çfarë kërcënime do të ekzistonte nëse do të ishte radha e kundërshtarit tuaj në lëvizje%s do të përpiqen të parashikojnë cili veprim është më i mirë dhe cila anë ka avantazhin'%s' është një emër i regjistruar. Në qoftë se kjo është e juaja, shkruani fjalëkalimin.'%s' nuk është një emër i regjistruar(Blitz)(Lidhja është në dispozicion në tabelë.)*-00 Lojtarë Gati0 e 00-11-01-minutë1/2-1/210 min + 6 sek/leviz, Bardhë120015-minutë2 min, Fischer Rastësishëm, Zezë3-minutë45-minutë5 min5-minutëNxitja torrës në çfarë?PyShah nuk ishte në gjendje për të ngarkuar parametrat tuaj panelitAnalizimiAnimimSete ShahiVariante ShahiShkruaj Shënimin LojësOpsione PërgjithshmePozicioni FillestarëPaneliKrahut InstaluarEmri i lojtarit të parë njerëzorë:Emri i lojtarit të dytë njerëzorë:Version i ri %s është i gatshëm!Lojë HapurHapje, fund-lojeForca KundërshtraritOpsioneLuaj Tingull Kur...LojtarëtKontroll KoheMireseviniNgjyra Juaj_Lidhu me server_Fillo LojenNjë dokument me këtë emer '%s' ekziston. Dëshironi të zëvendësuar atë?Motorri, %s, ka vdekurGabim në ngarkimin e lojësPyShah po zbulon motorët tuaj. Ju lutem prisni.PyShah nuk ishte në gjendje për të ruajtur lojën Ka %d lojëra me lëvizje të pa-shpëtuara. Ruaj ndryshimet para mbylljes? I pamundur shtimi %sPamundur ruajtja e dokumenti '%s'Tip dokumentesh panjohur '%s'Sfidë:Një lojtarë jep _shah:Një lojtarl _levizë:Një lojtarë jep k_apë:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docNdërpreRreth ShahutAk_tivePranoAktivizo alarmin kur _sekondat e mbetur janë:Ngjyra aktive e fushës duhet të jetë njëra e w ose b. %sKerkime Aktive: %dShto komentShto simbol vlerësimiShto simbol levizje Shto koment fillimiShto linja kërcënuese variacioniShtimi sugjerime mund të ju ndihmojë të gjeni ide, por ngadalëson analizën e kompjuterit.Gabim AdresePezullojAdminAdministratorAfganistanAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364ShqipëriaAlgjeriT'gjithë Dokumente ShahuTë Gjithë bardhaSamoa AmerikaneAnalizë nga %sAnalizo lëvizjet zezësAnalizo nga pozicioni aktualAnalizo lojënAnalizo lëvizjet bardhësVariacioni primar i analizuesitAndorraAngolaAnguillaZbukuro gurët, rotacionin bordit dhe më shumë. Përdoreni këtë në makinat e shpejta.Lojë e shënuarShënimShënimAntarktidëAntigua dhe BarbudaNdonjë ForcëArkivuarArgjentinëArmeniArubaVariante aziatikKërko të _LevizVlerësojAsimetri të RastësishmeAsimetrik të rastësishmeAtomicAustraliAustriThirr _Flamurë AutoRrotullo fushën për lojtarin aktual njeriHyrje automatike në fillimDil AutomatikishtDispozicionAzerbajxhanBB EloRruga e imazheve pamjes :BahamasBahrainBangladeshBarbadosSepse %(black)s humbi lidhjen me serverinSepse %(black)s humbi lidhjen me serverin dhe %(white)s kërkoj shtyrjeSepse %(black)s rend jashtë kohe dhe %(white)s ka materiale të pamjaftueshme për tu bashkuarSepse %(loser)s shkëputSepse %(loser)s mbreti shpërtheuSepse %(loser)s mbaroj kohaSepse %(loser)s dorëheqjesSepse %(loser)s ishte shahmat Sepse %(mover)s qorrsokakSepse %(white)s humbi lidhjen me serverinSepse %(white)s humbi lidhjen me serverin dhe %(black)s kërkoj shtyrjeSepse %(white)s rend jashtë kohe dhe %(black)s ka materiale të pamjaftueshme për tu bashkuarSepse %(winner)s ka më pak gurëSepse %(winner)s mbreti arriti në qendërSepse %(winner)s humbi të gjithë gurëtSepse %(winner)s i është dhënë shah 3 herëPër shkak se një lojtar e ndërpreu lojën. Ose lojtari mund të ndërpresin lojën pa pëlqimin e tjetrit para lëvizje e dytë. Nuk ka ndryshime vlerësim.Sepse një lojtar i shkëputur dhe ka shumë pak lëvizje që kërkojnë shtyrje. Nuk ka ndryshime pozicioni.Sepse lojtari humbi lidhjenPër shkak se lojtari humbi lidhjen dhe lojtari tjetër kërkoi shtyrjeSepse të dy mbretët arritën rreshtin e tetëPër shkak se të dy lojtarët ranë dakord për një barazimPër shkak se të dy lojtarët ranë dakord të ndërpresin lojën. Nuk ka ndryshime vlerësim.Për shkak se të dy lojtarët ranë dakord për një shtyrjePër shkak se të dy lojtarët kanë të njëjtën sasi të gurëvePër shkak se të dy lojtarëve u mbraoj kohaSepse as lojtar nuk ka material të mjaftueshëm për tu bashkuarPër shkak të gjykimit nga një adminPër shkak të gjykimit nga një admin. Nuk ka ndryshime vlerësim.Për shkak të mirësjellje nga një lojtar. Nuk ka ndryshime vlerësim.Sepse motori %(black)s vdiqSepse motorri %(white)s vdiqSepse lidhja me serverin humbiPër shkak të lojës që kalojë gjatësinë maksimalePër shkak se 50 lëvizjet e fundit sollën asgjë të rePër shkak se i njëjti pozicion u përsërit tri herë radhaziPër shkak se serveri ishte fikurPër shkak se serveri ishte mbyllur. Nuk ka ndryshime vlerësim.BipBjellorusiBelgjikëBelizeBeninBermudaMë i MiriBhutanOficeriZezëZezë ELO:Zezë O-OZezë O-O-OE Zeza ka një pjesë të re nga-pas: %sE zeza ka një pozicion mjaft ngërçE zeza ka një pozicion pak ngërçLëviz ZiuE zeza duhet të bëjë stuhi me ushtarë në të majtëE zeza duhet të bëjë stuhi me ushtarë në të djathtëZezë:QorraziQorraziLlogari QorraziBlitzBlitz:Blitz: 5 minBolivi (Shteti Pluralization i)Bonaire, Sint Eustatius dhe SabaBosnjë dhe HercegovinëBotsvanëIshulli BouvetBrazilSjellja e mbretit tuaj ligjërisht në qendër (e4, d4, e5, d5) menjëherë fiton lojën! Rregullat normale aplikohen në raste të tjera dhe shahmate gjithashtu përfundon lojën.Territori Britanik i Oqeanit IndianBrunei DarussalamShtëpi-GabimeshBulgariBurkina FasoBurundiCCACMCabo VerdeLlogaritjen...KamboxhiaKambodianKambodian: http://www.khmerinstitute.org/culture/ok.htmlKamerunKanadaKapurVlefshmëria e fushës për rrëke nuk është e ligjshme. %sKategori:Ishujt KajmanQender:Republika e Afrikës QendroreÇadSfidëSfidë:Sfidë: Ndrysho TolerancenBisedëKëshillues ShahuShah Alfa 2 DiagramKompozime Shahu nga yacpdb.orgLojë ShahuPozicion ShahuThirrje shahuKlientë shahuChess960KiliKinaIshulli KrishtlindjePretendim RemiRregullat Klasike Shahut http://en.wikipedia.org/wiki/ChessRregullat klasike të shahut me të gjitha gurët të bardhë http://en.wikipedia.org/wiki/Blindfold_chessRregullat klasike të shahut me gurët fshehur http://en.wikipedia.org/wiki/Blindfold_chessRregullat klasike të shahut me ushtarë të fshehur http://en.wikipedia.org/wiki/Blindfold_chessRregullat shahu klasike me gurë të fshehur http://en.wikipedia.org/wiki/Blindfold_chessPastroOraMbyll _pa RuajturCocos Ishujt (Keeling)KolombiNgjyros lëvizje të analizuaraKomandë:Koment:KomenteComorosKompensimKompjuterKompjuteraKongoKongo (Republika Demokratike e)LidhjeLidhu me serverGabim LidhjeLidhja u mbyllVazhdoni të prisni për kundërshtarin, ose përpiquni të shtyni lojën?Ishujt CookKopjo FENQosheKosta RikaNuk mund të ruaj dokumentinKundërlojë Shteti i origjinës së motoritShteti:Shtëpi-çmëndur Krijo kërkimKroaciaKubaKuraçaoQiproÇekiaBregun e FildishtëDKuti Zezë :DataData/OraData:RefuzoParazgjedhurDanimarkëDestinacion i Pritësit PaarritshëmZbulo llojin automatikishtVdiqDjiboutiA e dini se është e mundur për të përfunduar një lojë shahu në vetëm 2 radhë?A e dini se numri i lojrave të mundshme shahut e tejkalon numrin e atomeve në univers?Dëshironi ta ndërprisni?DominicaRepublika DomenikaneNuk dua tja diRemiRemi:Për shkak të abuzimeve, lidhjet anonime janë bllokuar. Ju mund të regjistroheni në http://www.freechess.orgLlogari Bedele ECOEkuadorRedakto KërkoRedakto Kërko:Modifiko komentEfekti në vlerësimet nga rezultatet e mundshmeEgjipt El SalvadorEloEmailMarrëveshja kalimtare nuk është e ligjshme. %sNjë linjë kalimiTabela Lojafundit Rezultatet Motori janë në njësitë e ushtarëve, nga pamja e parë të Bardhë. Kliko Dyfish në linjat e analizës që ju mund të fusni ato në panel anotacion si variacion.Motorët Motorët përdorin protokollin UCI ose xboard për komunikim bisedimi me GUI. Në qoftë se kjo mund të përdorë dy ju mund të vendosni këtu cilën një që ju pëlqen.Hyr LojëMjedisiGuinea EkuatorialeEritreaGabim në analizën e lëvizjes %(moveno)s %(mstr)sEstoniEtiopiEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiNgjarjeNgjarje:EkzaminojShqyrto Shtyrjen LojësEkzaminuarEkzaminimSkedarë ekzekutuesEksporto PozicioninJashtmeFAFEN ka nevojë për 6 fushat e të dhënave. %sFEN ka nevojë për të paktën 2 fusha të dhënash në fenstr. %sFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS shtëpi-gabimesh: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS shtëpi-çmendur: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS humbësit: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS vetëvrasje: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS egër/3: http://www.freechess.org/Help/HelpFiles/wild.html * Gurë të zgjedhura rastësisht (dy mbretëreshat ose tre torrë mundshme) * Pikërisht një mbret i çdo ngjyrë * Gurë të vendosura rastësisht pas ushtarëve * Jo Rrëke * Rregullim zezë pasqyron bardhëFICS egër/4: http://www.freechess.org/Help/HelpFiles/wild.html * Gurë të zgjedhura rastësisht (dy mbretëreshat ose tre torrë mundshme) * Pikërisht një mbret i çdo ngjyrë * Gurë të vendosura rastësisht pas ushtarëve, NËNSHTROHEN KUFIZIMI QE PESHKOPËT JANË TË BALANCUARA * Nuk ka rrekat * Rregullim zezë NUK BËN pasqyrë bardhëFICS egër/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Ushtarët fillojnë radhitjen në 7të në vend se në radhitjen e 2të!FICS egër/8: http://www.freechess.org/Help/HelpFiles/wild.html Ushtarët fillojnë në radhën 4rt dhe 5st në-vend se në 2të dhe 7tëFICS egër/8a: http://www.freechess.org/Help/HelpFiles/wild.html Ushtarë Bardhë fillojë në radhën 5st dhe ushtarë zezë në radhën e 4rtMjeshtri FIDEFMFushë e plotë animuarBallë_Përballë mënyrë shfaqjeIshujt Falkland [Malvinas]Ishujt FaroeFijiDokumenti ekzistonFiltër FiltërGishtFinlandëFischer RastësishëmNdiqFont:Masa e detyruarFrancëGuiana francezePolinezia FrancezeTerritoret Jugore FrancezeShoqëriaNga _Modifikuar PozicionNga _Parazgjedhur Pozicion FillestarNga _Lojë ShënimeGMGabonRritje:GambiaLojëAnaliza e lojës në progres...Loja anuluarInformacioni lojësLoja _remi:Loja _humbëse:Loja është ndërt_uar:Loja u _fitua:Loja e shpërndarë nëLojëraLoja funksionale: %dGaviota TB rrugë:Në përgjithësi kjo do të thotë asgjë, pasi loja është e bazuar në kohë, por në qoftë se ju doni të kënaqni kundërshtarin tuaj, ndoshta ju duhet të merrni do.GjeorgjiGjermaniGanaGjibraltarKthehu mbrapa në linjën kryesoreMjeshtri MadhGreqiGrenlandëGrenadaGuadeloupeGuamGuatemalaGërnziVizitorHyrjet anonime të bllokuar nga FICS serverVizitorëGuineaGuinea-BissauGuyanaHHaitiGjysëmlevizje orë Heard Island dhe McDonald IslandsUshtarë fshehurFsheh gurëtFshehShenjaHoly SeeHondurasHong KongPritësi:Si të LuajHtml DiagramQenie NjerëzoreHungariIMIslandëIdIdentifikimiPushimNëse vendosur ju mund të refuzoni lojtarë çë kërkojnë pranimin tuajNëse vendoset, numri i lojrave në kategoritë do të shfaqen me emrin e lojtarëve.Nëse vendosur, PyChess do të ngjyrose analizat optimale të lëvizjeve me të kuqe.Nëse vendosur, PyShah do të tregojnë rezultate lojë për lëvizje të ndryshme në pozita që përmbajnë 6 ose më pak gurë. Do të kërkojë pozicione nga http://www.k4it.de/Nëse vendosur, PyShah do të tregojnë rezultate lojë për lëvizje të ndryshme në pozita që përmbajnë 6 ose më pak gurë. Ju mund të shkarkoni dokumentet tabelë baza të dhënash nga: http://www.olympuschess.com/egtb/gaviota/Nëse vendosur, PyShah do të sygjerojë levizjet hapëse më të mira në panelin shenjave.Nëse vendosur, PyShah do të përdorin shifra të shprehur gurët e lëvizur, në vend të shkronjave të mëdha.Nëse është vendosur, duke klikuar në dritaren kryesore mbyllëse të programit për herë të parë mbyll të gjitha lojrat.Nëse vendosur, ushtari promovohet në mbretëreshë pa zgjedhjen promovimin e dialogut.Nëse vendosur, gurët e zi do të jenë kokë poshtë, të përshtatshme për të luajtur kundër miqve në pajisje të lëvizshme.Nëse vendosur, bordi do të kthehet pas çdo lëvizje, për të treguar pamje natyrore për lojtarin aktual.Nëse vendosur, gurët e kapur do të shfaqen pranë fushës.Nëse caktuar, koha e kaluar se një lojtari e përdorur për lëvizje është treguar.Nëse caktuar, vlera vlerësimit analizues së motorit është treguar.Nëse vendosur, bordi i lojës do të tregojë etiketat dhe rradhët për çdo fushë të shahut. Këto janë të përdorshme në simbol shahu.Nëse vendosur, kjo fsheh kutinë në krye të dritares së lojës, kur nuk është e nevojshme.Nëse analizuesi gjen një lëvizje ku vlerësimi dallon (dallimi në mes të vlerësimit për lëvizje mendon është veprim më i mirë dhe vlerësimi për lëvizje të bëra në lojë) tejkalon këtë vlerë, ajo do të shtojë një shënim për këtë lëvizje (të përbërë në variacionin kryesor të motorrit për lëvizje) në panelin shënimitNëse nuk ruani, ndryshimet e reja në lojërat tuaja do të humbasin përgjithmonë.Injoro ngjyratPaligjshëmimazhetNë TurneNë këtë pozicion, nuk ka asnjë levizje ligjore.IndiIndoneziPozicioni FillestarëiniciativëMjeshtri InternacionalLëvizje gabuar.Iran (Shteti Islamik i)IrakIrlandëishujt e NjeriutIzraelNuk është e mundur të vazhdojë lojën më vonë, nëse nuk e ruani atë.ItaliXhamaikaJaponiJerseyJordanShko ne pozicionin fillestarShko tek pozicioni funditKKazakistanKeniaMbertiMbreti i lartësisëKiribatiKalishanset kalitKalorësKorea (Republika Popullore Demokratike e)Korea (Republika e)KuvajtKirgistanRepublika Demokratike Popullore e LaosLetoniLëre _Ekran-plotëLebanonLesothoLiberiLibiLiechtensteinKuti Bardhë :NdriçimNdriçimi:LituaniNgarko Lojë Dist_ancëNgarko Lojën e FunditNgarko informacionet e lojtaritNgjarje VendorëFaqja VendoreShenim mbi GabiminHyr si_MysafirHyr në serverHumbësitHumbHumb:LuksemburgMakaoMaqedonia (Ish Republika Jugosllave e)MadagaskarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMalawiMalajziMaldivesMaliMaltaMamer Menaxhuan Menaxho motorëtManualePrano ManualishtPranoni kundërshtar joautomatikisht Ishujt MarshallMartiniqueMatShah në %dMauritaniaMauritiusKoha maksimale analize në sekonda:MayotteMeksikëMikronezia (Shtetet Federale të)Minuta:Minuta:Moldavia (Republika e)MonakoMongoliMali i ZiMontserratMë shumë kanaleMë shumë lojtarëMarokLëviz Histori Numërim lëvizjeLëvizurMozambikMyanmarNNMEmriEmra: #n1, #n2NamibiaNauruNevojiten 7 lëvizje në pjesët e vendosura në fushë. %sNepalHollandëAsnjëherë mos përdorni animacion. Përdoreni këtë në makinat e ngadalta.Kaledonia e ReLojë e ReRD Ri:Zelanda e ReNikaraguaNigerNigeriNiueJo _animuarJo motorët shah (lojtarët e kompjuterit) janë duke marrë pjesë në këtë lojë.Nuk ka biseda të zgjedhuraSka volumIshujt NorfolkNormaleNormale: 40 min + 15 sek/lëvizjeIshujt Veriore të MarianësNorvegjiJo disponushëmVëzhgoVëzhgo %sVëzhgimi _mbaroj:VëzhguesShansetOfro NdërpreOfro NdërprerjeOfro PezullimOfro PushimOfro NdeshjekthimiOfro RifillimOfro KtheOfro NdërpreOfro BarazimOfro _PushimOfro _RifillimOfro _KthePaneli Zyrtarë PyShah.JashtëlinjeOmanNë FICS, tuaj "Joker" Vlerësimi përfshin të gjitha variantet e mëposhtme në të gjitha kontrollet kohore: Një lojtar fillon me një gurë kalorë më pakNjë lojtar fillon me një gurë ushtarë më pakNjë lojtar fillon me një gurë mbretëreshë më pakNjë lojtar fillon me një gurë torrë më pakNëlinjëVetëm lëvizje të animuaraVetëm gurë të animuar levizinVetëm përdoruesit e regjistruar mund të bisedojnë në këtë kanalHap LojënHap Dokument ZëriHapja LibritHapja LibraveVlersimi KundërshtaritForca kundërshtarit:OpsioneTë'tjeraTë tjera (jo rregulla standarde)Të tjera (rregullat standarde)PPakistanPalauPalestinë, shteti iPanamaPapua Guinea e ReParaguajParametra:Ngjit FENPushimUshtariShanset ushtaritUshtari KaloiUshtari U shtyPeruFilipinetPingPitcairnLuajLuaj Fischer shah RastësishëmLuaj Shah T'dobëtLuaj NdeshjekthimiLuaj Shah _InternetiLuaj rregulla normale shahiVlerësim LojtaritLojtarë:Lojtarë: %dLojëFoto PngPo_rtë:PoloniPolyglot dokument libri:PortugaliParashikimGurët e preferuar në _shënimePreferencatPrivateNdoshta për shkak se ajo është tërhequr.PromocionProtokoll:Porto RikoPyShah - Lidhu me Shahun në InternetDritarja Informative PyShahPyShah ka humbur lidhjen me motorrin, ndoshta për shkak se ka vdekur. Ju mund të përpiqeni për të filluar një lojë të re me motor, ose të përpiqeni për të luajtur kundër një tjetri.PyChess.py:QQatarMbretereshaShanset mbretëreshëDil PyShahRDorëh_eqjeRastësishëmShpejtëShpejtë: 15 min + 10 sek/lëvizjeVlerësuarLojë e vlerësuarVlerësimMarrja e listës së lojtarëveRegjistruarVazhdim KërkesëRidërgoniRidergoni %s?RezultatRezultat:RifilloRumaniTorraShanset torrësLojaLoja:Drejtimin Ndeshje Njëko Federata RuseRwandaRéunionSRHyrShën BarthélemySaint Helena, Ascension dhe Tristan da CunhaSaint Kitts dhe NevisShën LuciaShën Martin (Pjesa Franceze)Shën Pierre dhe MiquelonShën Vincenti dhe GrenadinetSamoaSan MarinoSanksionetSao Tome dhe PrincipeArabia SauditeRuajRuaj LojënRuaj Lojën _SiRuani vetën lojën _tuaj Ruaj analizën e vlerave e _vlerësimit së motorit Ruaj lëvizjen_kohës kaluarRuaj skedarë në:Ruaj lëvizjet para mbylljes?Ruaj lojën aktuale para se të mbyllni atë?PikëKërko:Kërko _GrafikKërko azhornuarit Zgjedh rrugën Gaviota TBZgjedh rrugën automatike ruajtëseZgjedh imazhin e pamjes Përzgjedh dokument libriPërzgjedh motorinZgjedh dokument zëri...Zgjidhni lojrat që ju dëshironi të ruani:Përzgjedh skedarë funksionalDërgo SfidëDërgo t'gjitha kërkimetDërgo kërkimSenegalRendSerbiPërfaqësues ShërbimiNdërto mjedisinPozicioni NdërtuesitSeychellesShpërndaj _LojëShfaq litarëtMbaroj _koha:ThirrjeShfaq numrin e lojrave në kategoritë FICSShfaq gurët kapurShfaq kohën e lëvizjeve kaluarTrego vlerat e vlerësimitShfaq këshillën në fillimShredderLinuxShah:PërziejAnë për të lëvizurPaneli_krahutSierra LeonePozicion i Thjesht ShahuSingaporSint Maarten (Pjesa Holandeze)FaqeFaqe:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinSlovakiaSlloveniaIshujt SolomonSomaliaMë vjen keq '%s' është i kyçur tashmëDokumente zëriAfrika e JugutGjeorgjia Jugore dhe Ishujt Sandwich JugoreSudani JugorSpanjëShpenzuarSri LankaStandartStandart:Fillo bisedë privateStatusShko prapa një levizjeShko para një lëvizjeSudanVetëvrasjeSurinameSvalbard dhe Jan MayenSwazilandSuediZvicraRepublika Arabe e SirisëTTDTMTajvani (Provinca e Kinës)TaxhikistanTanzania, Republika e Bashkuar eLlogari EkipiCilësi:TajlandëOfertë ndërprerjeOferta pezulloAnalizuesi do të punojë në sfond dh do të analizojë lojën. Kjo është e nevojshme për mënyrën ndihmë për të punuarButoni zinxhir është me aftësi të kufizuara për shkak se ju jeni regjistruar si vizitor. Vizitorët nuk mund të krijojë vlerësime, dhe gjëndja butonin zinxhir nuk ka efekt kur nuk ka vlerësim për të cilat të lidhin "Forca kundërshtari" për tëPaneli bisedës ju lejon të komunikoni me kundërshtarin tuaj gjatë lojës, duke supozuar se ai ose ajo është i interesuarOra nuk ka filluar ende.Paneli komenteve do të përpiqet për të analizuar dhe shpjeguar lëvizjet luajturaLidhje ishte thyer - mora "fundin e dokumentit" mesazhSkedari ku motori do të fillojë nga.Emri shfaqur i lojtarit të parë njerëzor, p.sh., John.Emri shfaqur i lojtarit vizitor, p.sh., Mary.Oferta RemiTabela Fundi i lojës do të tregojë analizën e saktë kur ka shumë pak pjesë në fushë.Motori %s raporton një gabim:Paneli Prodhimi Motori tregon prodhimin e menduarit të motorëve të shahut (lojtarët e kompjuterit) gjatë një lojëFjalëkalimi i futur nuk është i vlefshëm. Nëse keni harruar fjalëkalimin, shko në http://www.freechess.org/password për të kërkuar një të ri ndërmjet email.Gabimi ishte: %sDokumenti tashmë ekziston në '%s'. Nëse ju zëvendësoni atë, përmbajtja e tij do të jetë mbishkruar.Thirrje FlamuriLoja nuk mund të ngarkohet, për shkak të një gabim analizues FENLoja nuk mund të lexohet në fund, për shkak të një masë gabimi analize %(moveno)s '%(notation)s'.Loja përfundoi me remiLoja është ndërprerëLoja është shtyrëLoja është vrarëPaneli shenjë do të ofrojë këshilla kompjuteri gjatë çdo fazë të lojësAnalizuesi kthyer do të analizojnë lojën si në qoftë se kundërshtari juaj është për të lëvizur. Kjo është e nevojshme për mënyrën spiun për të punuarLevizja dështoi për shkak se %s.Fletë lëvizje mban gjurmët e lëvizjes së lojtarëve dhe ju lejon të për të lundruar nëpër historinë e lojësOferta për të ndryshuar anëtLibri hapjes do të përpiqet për të frymëzuar ju gjatë fazës së hapjes së lojës duke ju treguar lëvizje të zakonshme të bëra nga mjeshtrit e shahutOferta pushimArsyeja është e panjohurDorëheqjaOferta rinisëPaneli Rezultatit përpiqet për të vlerësuar qëndrimet dhe ju tregon një grafik të progresit lojësOferta merrmbrapaThebanTemëKa %d lojë me lëvizje të paruajtur.Ka %d lojëra me lëvizje të paruajtura.Ka diçka të gabuar me këtë ekzekutuesKjo lojë mund të jetë e ndërprerë automatikisht pa humbje vlerësimi, sepse nuk ka pasur ende dy lëvizje të bëraKjo lojë nuk mund të shtyhet për shkak se një ose të dy lojtarët janë vizitorëKy është një vazhdim i një ndeshje shtyerKy opsion nuk zbatohet për shkak se ju jeni duke sfiduar një lojtarëKy opsion nuk është i mundshem për shkak se ju jeni duke sfiduar një lojtarëAnaliza kërcënimi nga %sTre-shahOrëkontroll Kohe:Presioni KohaTimor-LesteKëshillë e DitësKëshillë e DitësTitulluarPër të ruajtur një lojënLojë > Ruaj Lojën Si, jepni emrin e dokumentit dhe zgjidhni ku doni të jetë i ruajtur. Në fund të zgjedhni llojin e shtesës së dokumentit, dheRuaj.TogoTokelauTolerance:TongaDrejtori Turnesë Përkthe PyShahTrinidad dhe TobagoTuniziTurqiTurkmenistanTurks dhe Caicos IslandsTuvaluTipiShkruaj ose ngjit këtu pozicionet e lojës PGN ose FenUUgandaUkrainëNë pamundësi për të pranuar %sNë pamundësi për të ruajtur në skedarin e konfiguruar. Ruaj lojën aktuale para se të mbyllni atë?Pozicioni PaqartëPaneli papërshkrimitKtheKthe një veprimKthe dy veprimeÇ'instaloEmiratet e Bashkuara ArabeMbretëria e Bashkuar e Britanisë së Madhe dhe Irlandës së VeriutIshujt Minor Periferik të Shteteve të BashkuaraShtetet e Bashkuara të AmerikësPanjohurShteti i panjohur i lojësKanal jozyrtar %dPavlersuarJoregjistruar PambaturkokëposhtëUruguayPërdor _analizuesinPërdor analizuesin kthyerPërdor fushëbazë lokale Përdor fushëbazë në linjë Përdorimi Analizuesit:Formati përdoruesi:Përdor hapja_libritUzbekistanVanuatuVariantVarianti i zhvilluar nga Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Variacion shënim krijimi pragu në inçushtarë:Venezuela (Republika Bolivarian e)VietnamIshujt Virgjionale (britanike)Ishujt e Virgjër (SHBA)W EloWFMWGMWIMPritWallis dhe FutunaNë pamundësi për të ruajtur '%(uri)s' sepse PyShah nuk e di formatin '%(ending)s'.MirëseviniSahara PerëndimoreKur ky buton është në gjëndje "mbyllur", marrëdhënia midis "forcë të kundërshtarit" dhe "forcës tënde" do të jetë ruajtur kur a) Vlerësimi juaj për llojin e lojës që kërkohet ka ndryshuar b) ju ndryshoni variantin ose kontrollin e kohësBardhëBardhë ELO:Bardhë O-OBardhë O-O-OE Bardha ka një pjesë të re nga-pas: %sE bardha ka një pozicion mjaft ngërçE bardha ka një pozicion pak ngërçLëviz bardhiE bardha duhet të bëjë stuhi me ushtarë në të majtëE bardha duhet të bëjë stuhi me ushtarë në të djathtëBardhë:EgërKala-terbuar Kala-terbuar përzierjeFitoFito duke dhënë 3 herë shahFito:Me sulmMjeshtre Femër FIDEMjeshtria Madhe FemëroreMjeshtria Internacionale FemëroreSkedarë funksionalViti, muaj, dita: #v, #m, #dJemenJu kërkuat kundërshtarin tuaj për të lëvizurJu nuk mund të luani lojëra të vlerësuarat sepse "pambatur" është e kontrolluar,Ju nuk mund të luani lojëra të vlerësuara për shkak se ju jeni regjistruar si vizitorJu nuk mund të zgjidhni një variant sepse "pambatur" është i zgjedhur,Ju nuk mund të ndryshoni ngjyra gjatë lojës.Ju nuk mund të prekin këtë! Ju jeni duke shqyrtuar një lojë.Ju nuk keni të drejtat e nevojshme për të ruajtur dokumentin. Ju lutemi sigurohuni që ju kanë dhënë rrugën e drejtë dhe të provoni përsëri.Ju keni dalë jashtë për shkak se keni qenë pushim më shumë se 60 minutaJu nuk keni hapur biseda endeJu duhet të vendoni kibitz për të parë mesazhet e robotit këtu.Ju keni provuar për të ndrequr shumë lëvizje.Ju mund të keni vetëm 3 teprica kërkuese në të njëjtën kohë. Nëse doni të shtoni një kërkesë të re ju duhet të pastroni kërkesen tuaj aktuale aktive. Pastro kërkesën tuaj?Ju dërguat një ofertë remJu dërguat një ofertë pushimiJu dërguat një ofertë rinisëseJu dërguat një ofertë ndërprerjeJu dërguat një ofertë pezullimiJu dërguat një ofertë kthimiJu dërguat thirrje flamuriKundërshtari juaj ju pyet që të ngutemi!Kundërshtari juaj ka kërkuar që loja të ndërpritet. Në qoftë se ju pranoni këtë ofertë, loja do të përfundojë me asnjë vlerësim ndryshimi.Kundërshtari juaj ka kërkuar që loja të shtyhet. Në qoftë se ju pranoni këtë ofertë, loja do të shtyhet dhe ju mund të rifillojë më vonë (kur kundërshtari juaj është në linjë dhe të dy lojtarët bien dakord të rinisin).Kundërshtari juaj ka kërkuar që loja të ndalohet. Në qoftë se ju pranoni këtë ofertë, ora e lojes do të jenë ndaluar derisa të dy lojtarët të bien dakord për të rifilluar lojën.Kundërshtari juaj ka kërkuar që loja të rifillojë. Në qoftë se ju pranoni këtë ofertë, ora e lojes do të vazhdojë nga ku ajo ishte ndaluar.Kundërshtari juaj ka kërkuar që lëvizjet e %s kaluara(s) të kthehen. Në qoftë se ju pranoni këtë ofertë, loja do të vazhdojë nga pozicioni mëparshëm.Kundërshtari juaj ju ofroi një parëzim. Kundërshtari juaj ju ka ofruar një barazim. Në qoftë se ju pranoni këtë ofertë, loja do të përfundojë me një rezultat prej 1/2 - 1/2.Kundërshtari juaj nuk është jashtë kohe.Kundërshtari juaj duhet të bie dakord për të ndërprerë lojën sepse si ka pasur dy ose më shumë lëvizje të bëraKundërshtari juaj duket të ketë ndryshuar mendjen e tyre.Kundërshtari juaj do të ndërpresi lojën.Kundërshtari juaj do të shtyjë lojën.Kundërshtari juaj do të bëj një pauzë të lojës.Kundërshtari juaj do të rifillojë lojën.Kundërshtari juaj do të ribëjë %s lëvizje(s).Kërkimet tuaja janë hequrForca juaj:ZambiaZimbabveZugzwang_Prano_Veprim_Analizo Lojën_Arkivuar_Thirr Flamur_Pastro kërkim_Kopjo FEN_Kopjo PGN_Refuzo_Modifiko_Motorë_Eksporto Pozicionin_Ekranplotë_Lojë_Lista Lojrave_Përgjithshëm_Ndihmë_Fsheh kutine kur vetëm një lojë është e hapur_Shenja_Lëvizje gabuar:_Ngarko Lojen_Vëzhgo Shenime _Lojërat e'mia_Emri:_Lojë e Re_tjetriLëvizje vërejtura:_Kundërshtari:_Fjalëkalim:_Luaj shah normal_Lista Lojtarëve_Mëparshme_Zëvendëso_Rotullo Fushën_Ruaj %d dokumentin_Ruaj %d dokumentet_Ruaj %d dokumentet_Ruaj Lojën_Kërko / Sfidat_Shfaq Panelanësor_Tinguj_Fillo Lojen_Pamatur_Përdor app kryesorë afër [x] për të mbyllur të gjithë lojrat_Përdor tinguj në PyShah_Vëzhgo_Ngjyrat Tuaja:dhedhe vizitorët nuk mund të luajnë lojëra të vlerësuaradhe në FICS, lojrat e pambatura nuk mund të vlerësohendhe në FICS, lojra të pambatura duhen të ketë rregulla normale shahukërkoi kundërshtarit tuaj për të lëvizurzezësjellë një %(piece)s më pranë mbretit armik: %(cord)ssjell një ushtarë pranë kuti-mbrapa: %sthirr flamujt e kundërshtarët tuajkap materialinkështjellambron %szhvillon një %(piece)s: %(cord)szhvillon një ushtarë: %sremishkëmbimet materialignushah:gjysmë-hapur http://brainking.com/en/GameRules?tp=2 * Vendosja e gurëve në rreshtin e 1rë dhe 8të janë rastësishme * Mbreti është në këndin e djathtë * Peshkopët duhet të fillojë në kuti ngjyre të kundërta * Pozicioni fillestare zezë është marrë nga rutollim pozicionin e Bardhë 180 gradë rreth qendrës të fushës * Jo Rrëkehttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Chess960 FICS egër/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://en.wikipedia.org/wiki/Rules_of_chesspërmirëson sigurinë mbretnë %(x)s%(y)s dokumentnë %(x)s%(y)s dokumente rrit presionin mbi %sGurë i promovuar paligjmërishtshahmatminlëviz një torrë në një kuti të hapurlëviz një torrë në një kuti gjysmë-hapurlëviz oficerin në fianchetto: %sdukemos luajtureOfro një BarazimOfro një pushimOfro një merrmbrapaOfro një ndërprerjeOfro një pezullimOfro një rifillimOfro një ndryshim anështotal në linjëkapë një armik %(oppiece)s në %(piece)s në %(cord)svendosë një %(piece)s më aktiv: %(cord)spromovon një ushtar në një %svë kundërshtarin në shahVlerësimi shtrirjes tanishpëton si %stërhiquloja %ssakrifikon materialinsekpak përmirëson sigurinë mbretmerr prapa materialinlidhja e kapur (%s) është e pasaktëlidhja e fundit (%s) është e pasaktëveprim ka nevojë për një gurë dhe një lidhjekërcënon për të fituar materialin nga %stek pranimi automatiktek pranimi joautomatik ucivs.bardhëDritare1xfushaxfushë jorrëke: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS egër/2: http://www.freechess.org/Help/HelpFiles/wild.html * Rregullim rastësishëm e gurëve pas ushtarëve * Jo Rrëke * Rregullim zezë pasqyron bardhëxfushë kështjellegër http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS egër/0: http://www.freechess.org/Help/HelpFiles/wild.html * Të bardhat kanë ndërtimin tipik në fillim. * Gurët e zi janë të njëjtë, përjashtuar që Mbreti dhe Mbretëresha janë kundërt, * Kështu që ata nuk janë në të njëjtat dokument si Mbreti Bardhë dhe Mbretëresha. * Rrëke është bërë në mënyrë të ngjashme me shahun normal: * o-o-o tregon rrëke të gjatë dhe o-o rrëke të shkurtër.xfushë rrëke-egër http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS egër/1: http://www.freechess.org/Help/HelpFiles/wild.html * Në këtë variant të dy palët kanë të njëjtat gurë si në shah normale. * Mbreti i bardhë fillon në d1 ose e1 dhe mbreti i zi fillon në d8 ose e8, * dhe torrët janë në pozicionet e tyre të zakonshme. * Peshkopët janë gjithmonë në ngjyra të kundërta. * Në varësi të këtyre kufizimeve pozita nga pjesët në radhët e tyre të para është e rastit. * Rrëkea është bërë në mënyrë të ngjashme me shahun normal: * o-o-o tregon rrëke të gjatë dhe o-o rrëke shkurtër.Ishulli Alandpychess-1.0.0/lang/sq/LC_MESSAGES/pychess.po0000644000175000017500000053320513467735176017440 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # Ardit Dani , 2014-2016,2018-2019 # gbtami , 2015-2016 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-29 19:22+0000\n" "Last-Translator: Ardit Dani \n" "Language-Team: Albanian (http://www.transifex.com/gbtami/pychess/language/sq/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sq\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Lojë" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Lojë e Re" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "Nga _Parazgjedhur Pozicion Fillestar" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "Nga _Modifikuar Pozicion" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "Nga _Lojë Shënime" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Luaj Shah _Interneti" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Ngarko Lojen" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Ngarko Lojën e Fundit" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "Ngarko Lojë Dist_ancë" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Ruaj Lojën" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Ruaj Lojën _Si" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "_Eksporto Pozicionin" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "Shpërndaj _Lojë" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Vlerësim Lojtarit" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "_Analizo Lojën" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Modifiko" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_Kopjo PGN" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "_Kopjo FEN" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "_Motorë" #: glade/PyChess.glade:518 msgid "Externals" msgstr "Jashtme" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Veprim" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Ofro Ndërpre" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Ofro Pezullim" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Ofro Barazim" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Ofro _Pushim" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Ofro _Rifillim" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Ofro _Kthe" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Thirr Flamur" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "Dorëh_eqje" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Kërko të _Leviz" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "Thirr _Flamurë Auto" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Vëzhgo" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Rotullo Fushën" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Ekranplotë" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Lëre _Ekran-plotë" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "_Shfaq Panelanësor" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_Vëzhgo Shenime " #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Ndihmë" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Rreth Shahut" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Si të Luaj" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Përkthe PyShah" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Këshillë e Ditës" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Klientë shahu" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Preferencat" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "Emri shfaqur i lojtarit të parë njerëzor, p.sh., John." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Emri i lojtarit të parë njerëzorë:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "Emri shfaqur i lojtarit vizitor, p.sh., Mary." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Emri i lojtarit të dytë njerëzorë:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Fsheh kutine kur vetëm një lojë është e hapur" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Nëse vendosur, kjo fsheh kutinë në krye të dritares së lojës, kur nuk është e nevojshme." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "_Përdor app kryesorë afër [x] për të mbyllur të gjithë lojrat" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "Nëse është vendosur, duke klikuar në dritaren kryesore mbyllëse të programit për herë të parë mbyll të gjitha lojrat." #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "Rrotullo fushën për lojtarin aktual njeri" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Nëse vendosur, bordi do të kthehet pas çdo lëvizje, për të treguar pamje natyrore për lojtarin aktual." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "Nëse vendosur, ushtari promovohet në mbretëreshë pa zgjedhjen promovimin e dialogut." #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "Ballë_Përballë mënyrë shfaqje" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Nëse vendosur, gurët e zi do të jenë kokë poshtë, të përshtatshme për të luajtur kundër miqve në pajisje të lëvizshme." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "Shfaq gurët kapur" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "Nëse vendosur, gurët e kapur do të shfaqen pranë fushës." #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Gurët e preferuar në _shënime" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "Nëse vendosur, PyShah do të përdorin shifra të shprehur gurët e lëvizur, në vend të shkronjave të mëdha." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "Ngjyros lëvizje të analizuara" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "Nëse vendosur, PyChess do të ngjyrose analizat optimale të lëvizjeve me të kuqe." #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "Shfaq kohën e lëvizjeve kaluar" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "Nëse caktuar, koha e kaluar se një lojtari e përdorur për lëvizje është treguar." #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "Trego vlerat e vlerësimit" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "Nëse caktuar, vlera vlerësimit analizues së motorit është treguar." #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "Shfaq numrin e lojrave në kategoritë FICS" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "Nëse vendoset, numri i lojrave në kategoritë do të shfaqen me emrin e lojtarëve." #: glade/PyChess.glade:1402 msgid "General Options" msgstr "Opsione Përgjithshme" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "Fushë e plotë animuar" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Zbukuro gurët, rotacionin bordit dhe më shumë. Përdoreni këtë në makinat e shpejta." #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Vetëm lëvizje të animuara" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Vetëm gurë të animuar levizin" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Jo _animuar" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Asnjëherë mos përdorni animacion. Përdoreni këtë në makinat e ngadalta." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animim" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_Përgjithshëm" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "Përdor hapja_librit" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "Nëse vendosur, PyShah do të sygjerojë levizjet hapëse më të mira në panelin shenjave." #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "Polyglot dokument libri:" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "Përdor fushëbazë lokale " #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "Nëse vendosur, PyShah do të tregojnë rezultate lojë për lëvizje të ndryshme në pozita që përmbajnë 6 ose më pak gurë.\nJu mund të shkarkoni dokumentet tabelë baza të dhënash nga:\n http://www.olympuschess.com/egtb/gaviota/" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "Gaviota TB rrugë:" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "Përdor fushëbazë në linjë " #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "Nëse vendosur, PyShah do të tregojnë rezultate lojë për lëvizje të ndryshme në pozita që përmbajnë 6 ose më pak gurë.\nDo të kërkojë pozicione nga http://www.k4it.de/" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "Hapje, fund-loje" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Përdor _analizuesin" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "Analizuesi do të punojë në sfond dh do të analizojë lojën. Kjo është e nevojshme për mënyrën ndihmë për të punuar" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Përdor analizuesin kthyer" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "Analizuesi kthyer do të analizojnë lojën si në qoftë se kundërshtari juaj është për të lëvizur. Kjo është e nevojshme për mënyrën spiun për të punuar" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "Koha maksimale analize në sekonda:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analizimi" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_Shenja" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Ç'instalo" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "Ak_tive" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "PaneliKrahut Instaluar" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "Paneli_krahut" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "Rruga e imazheve pamjes :" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "Miresevini" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "Cilësi:" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Kuti Bardhë :" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Kuti Zezë :" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "Shfaq litarët" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "Nëse vendosur, bordi i lojës do të tregojë etiketat dhe rradhët për çdo fushë të shahut. Këto janë të përdorshme në simbol shahu." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "Font:" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "Sete Shahi" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Temë" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Përdor tinguj në PyShah" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "Një lojtarë jep _shah:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Një lojtarl _levizë:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Loja _remi:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Loja _humbëse:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Loja u _fitua:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Një lojtarë jep k_apë:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Loja është ndërt_uar:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "Lëvizje vërejtura:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "Vëzhgimi _mbaroj:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "Mbaroj _koha:" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "_Lëvizje gabuar:" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "Aktivizo alarmin kur _sekondat e mbetur janë:" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Luaj Tingull Kur..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Tinguj" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Ruaj skedarë në:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "Formati përdoruesi:" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "Emra: #n1, #n2" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "Viti, muaj, dita: #v, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "Ruaj lëvizjen_kohës kaluar" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "Ruaj analizën e vlerave e _vlerësimit së motorit " #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "Ruani vetën lojën _tuaj " #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Ruaj" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Promocion" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Mbreteresha" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Torra" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Oficeri" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Kali" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Mberti" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Nxitja torrës në çfarë?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "Parazgjedhur" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "Kalorës" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Informacioni lojës" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Faqe:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "Zezë ELO:" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Zezë:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Loja:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "Bardhë ELO:" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Bardhë:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "Data:" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "Rezultat:" #: glade/PyChess.glade:4818 msgid "Game" msgstr "Lojë" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "Lojtarë:" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Ngjarje:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "Identifikimi" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "uci" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "xfusha" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "Menaxho motorët" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Komandë:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protokoll:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Parametra:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "Motorët përdorin protokollin UCI ose xboard për komunikim bisedimi me GUI.\nNë qoftë se kjo mund të përdorë dy ju mund të vendosni këtu cilën një që ju pëlqen." #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "Skedarë funksional" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "Skedari ku motori do të fillojë nga." #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "Shteti:" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "Shteti i origjinës së motorit" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "Koment:" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "Mjedisi" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "Opsione" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "Filtër " #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Bardhë" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Zezë" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "Injoro ngjyrat" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "Ngjarje" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "ECO" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "Elo" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "0" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "-" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Data" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "Faqe" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "Shënim" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Rezultat" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "1-0" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "0-1" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "1/2-1/2" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "Variant" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "Lëviz bardhi" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "Lëviz Ziu" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "Lëvizur" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "Kapur" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "Anë për të lëvizur" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Analizo lojën" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "Përdorimi Analizuesit:" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "Nëse analizuesi gjen një lëvizje ku vlerësimi dallon (dallimi në mes të vlerësimit për lëvizje mendon është veprim më i mirë dhe vlerësimi për lëvizje të bëra në lojë) tejkalon këtë vlerë, ajo do të shtojë një shënim për këtë lëvizje (të përbërë në variacionin kryesor të motorrit për lëvizje) në panelin shënimit" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "Variacion shënim krijimi pragu në inçushtarë:" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "Analizo nga pozicioni aktual" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "Analizo lëvizjet zezës" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "Analizo lëvizjet bardhës" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "Shto linja kërcënuese variacioni" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyShah po zbulon motorët tuaj. Ju lutem prisni." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxShah:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnushah:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyShah - Lidhu me Shahun në Internet" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Fjalëkalim:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Emri:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Hyr si_Mysafir" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "Pritësi:" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Po_rtë:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "Hyr" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Sfidë: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Dërgo Sfidë" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Sfidë:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Ndriçimi:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Standart:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Blitz:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "2 min, Fischer Rastësishëm, Zezë" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 min + 6 sek/leviz, Bardhë" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 min" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "_Pastro kërkim" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Prano" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Refuzo" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "Dërgo t'gjitha kërkimet" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Dërgo kërkim" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Krijo kërkim" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Standart" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Blitz" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Ndriçim" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Kompjuter" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "_Kërko / Sfidat" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Vlerësim" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Orë" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "Kërko _Grafik" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 Lojtarë Gati" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Sfidë" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Vëzhgo" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Fillo bisedë private" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "Regjistruar" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Vizitor" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "Titulluar" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "_Lista Lojtarëve" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "_Lista Lojrave" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "_Lojërat e'mia" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "Ofro Ndërpre" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "Ekzaminoj" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "Parashikim" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "_Arkivuar" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "Asimetrik të rastësishme" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Redakto Kërko" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Pambatur" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minuta:" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "Rritje:" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "kontroll Kohe:" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Kontroll Kohe" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Nuk dua tja di" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Forca juaj:" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Blitz)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Forca kundërshtarit:" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "Kur ky buton është në gjëndje \"mbyllur\", marrëdhënia\nmidis \"forcë të kundërshtarit\" dhe \"forcës tënde\" do të jetë\nruajtur kur\na) Vlerësimi juaj për llojin e lojës që kërkohet ka ndryshuar\nb) ju ndryshoni variantin ose kontrollin e kohës" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Qender:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Tolerance:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Fsheh" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Forca Kundërshtrarit" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Ngjyra Juaj" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Luaj rregulla normale shahi" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Luaj" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Variante Shahi" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Lojë e vlerësuar" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Pranoni kundërshtar joautomatikisht " #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Opsione" #: glade/findbar.glade:6 msgid "window1" msgstr "Dritare1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 e 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Kërko:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Mëparshme" #: glade/findbar.glade:192 msgid "_Next" msgstr "_tjetri" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Lojë e Re" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Fillo Lojen" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "Kopjo FEN" #: glade/newInOut.glade:143 msgid "Clear" msgstr "Pastro" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "Ngjit FEN" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Lojtarët" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "_Pamatur" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "Blitz: 5 min" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "Shpejtë: 15 min + 10 sek/lëvizje" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "Normale: 40 min + 15 sek/lëvizje" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "_Luaj shah normal" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Luaj Fischer shah Rastësishëm" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "Luaj Shah T'dobët" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Lojë Hapur" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Pozicioni Fillestarë" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Shkruaj Shënimin Lojës" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "Gjysëmlevizje orë " #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "Një linjë kalimi" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "Numërim lëvizje" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "Zezë O-O" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "Zezë O-O-O" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "Bardhë O-O-O" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "Bardhë O-O" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Dil PyShah" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Mbyll _pa Ruajtur" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "_Ruaj %d dokumentet" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr " Ka %d lojëra me lëvizje të pa-shpëtuara. Ruaj ndryshimet para mbylljes? " #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Zgjidhni lojrat që ju dëshironi të ruani:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Nëse nuk ruani, ndryshimet e reja në lojërat tuaja do të humbasin përgjithmonë." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "_Kundërshtari:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_Ngjyrat Tuaja:" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "_Fillo Lojen" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "Hyrje automatike në fillim" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "_Lidhu me server" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "Kategori:" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Këshillë e Ditës" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Shfaq këshillën në fillim" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://en.wikipedia.org/wiki/Chess" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://en.wikipedia.org/wiki/Rules_of_chess" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Mirësevini" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Hap Lojën" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "Motori %s raporton një gabim:" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "Kundërshtari juaj ju ofroi një parëzim. " #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "Kundërshtari juaj ju ka ofruar një barazim. Në qoftë se ju pranoni këtë ofertë, loja do të përfundojë me një rezultat prej 1/2 - 1/2." #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "Kundërshtari juaj do të ndërpresi lojën." #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "Kundërshtari juaj ka kërkuar që loja të ndërpritet. Në qoftë se ju pranoni këtë ofertë, loja do të përfundojë me asnjë vlerësim ndryshimi." #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "Kundërshtari juaj do të shtyjë lojën." #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "Kundërshtari juaj ka kërkuar që loja të shtyhet. Në qoftë se ju pranoni këtë ofertë, loja do të shtyhet dhe ju mund të rifillojë më vonë (kur kundërshtari juaj është në linjë dhe të dy lojtarët bien dakord të rinisin)." #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "Kundërshtari juaj do të ribëjë %s lëvizje(s)." #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "Kundërshtari juaj ka kërkuar që lëvizjet e %s kaluara(s) të kthehen. Në qoftë se ju pranoni këtë ofertë, loja do të vazhdojë nga pozicioni mëparshëm." #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "Kundërshtari juaj do të bëj një pauzë të lojës." #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "Kundërshtari juaj ka kërkuar që loja të ndalohet. Në qoftë se ju pranoni këtë ofertë, ora e lojes do të jenë ndaluar derisa të dy lojtarët të bien dakord për të rifilluar lojën." #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "Kundërshtari juaj do të rifillojë lojën." #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "Kundërshtari juaj ka kërkuar që loja të rifillojë. Në qoftë se ju pranoni këtë ofertë, ora e lojes do të vazhdojë nga ku ajo ishte ndaluar." #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "Dorëheqja" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "Thirrje Flamuri" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "Oferta Remi" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "Ofertë ndërprerje" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "Oferta pezullo" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "Oferta pushim" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "Oferta rinisë" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "Oferta për të ndryshuar anët" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "Oferta merrmbrapa" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "tërhiqu" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "thirr flamujt e kundërshtarët tuaj" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "Ofro një Barazim" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "Ofro një ndërprerje" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "Ofro një pezullim" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "Ofro një pushim" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "Ofro një rifillim" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "Ofro një ndryshim anësh" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "Ofro një merrmbrapa" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "kërkoi kundërshtarit tuaj për të lëvizur" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Kundërshtari juaj nuk është jashtë kohe." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "Ora nuk ka filluar ende." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "Ju nuk mund të ndryshoni ngjyra gjatë lojës." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "Ju keni provuar për të ndrequr shumë lëvizje." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Kundërshtari juaj ju pyet që të ngutemi!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "Në përgjithësi kjo do të thotë asgjë, pasi loja është e bazuar në kohë, por në qoftë se ju doni të kënaqni kundërshtarin tuaj, ndoshta ju duhet të merrni do." #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "Prano" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "Refuzo" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "%s është refuzuar nga kundërshtari juaj" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "Ridergoni %s?" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "Ridërgoni" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s është tërhequr nga kundërshtari juaj" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "Kundërshtari juaj duket të ketë ndryshuar mendjen e tyre." #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "Në pamundësi për të pranuar %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "Ndoshta për shkak se ajo është tërhequr." #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s kthen një gabim" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "Shah Alfa 2 Diagram" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "Loja e shpërndarë në" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "(Lidhja është në dispozicion në tabelë.)" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Pozicion Shahu" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Panjohur" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Pozicion i Thjesht Shahu" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "Loja nuk mund të ngarkohet, për shkak të një gabim analizues FEN" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "Html Diagram" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "Kompozime Shahu nga yacpdb.org" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Lojë Shahu" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "Variacioni primar i analizuesit" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "Lëvizje gabuar." #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "Loja nuk mund të lexohet në fund, për shkak të një masë gabimi analize %(moveno)s '%(notation)s'." #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "Levizja dështoi për shkak se %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "Gabim në analizën e lëvizjes %(moveno)s %(mstr)s" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "Foto Png" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "Destinacion i Pritësit Paarritshëm" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Vdiq" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Ngjarje Vendorë" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Faqja Vendore" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "min" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "sek" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "Paligjshëm" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "Mat" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "Version i ri %s është i gatshëm!" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "Andorra" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "Emiratet e Bashkuara Arabe" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "Afganistan" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "Antigua dhe Barbuda" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "Anguilla" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "Shqipëria" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "Armeni" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "Angola" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "Antarktidë" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "Argjentinë" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "Samoa Amerikane" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "Austri" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "Australi" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "Aruba" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "Ishulli Aland" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "Azerbajxhan" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "Bosnjë dhe Hercegovinë" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "Barbados" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "Bangladesh" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "Belgjikë" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "Burkina Faso" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "Bulgari" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "Bahrain" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "Burundi" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "Benin" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "Shën Barthélemy" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "Bermuda" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "Brunei Darussalam" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "Bolivi (Shteti Pluralization i)" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "Bonaire, Sint Eustatius dhe Saba" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "Brazil" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "Bahamas" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "Bhutan" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "Ishulli Bouvet" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "Botsvanë" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "Bjellorusi" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "Belize" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "Kanada" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "Cocos Ishujt (Keeling)" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "Kongo (Republika Demokratike e)" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "Republika e Afrikës Qendrore" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "Kongo" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "Zvicra" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "Bregun e Fildishtë" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "Ishujt Cook" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "Kili" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "Kamerun" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "Kina" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "Kolombi" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "Kosta Rika" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "Kuba" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "Cabo Verde" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "Kuraçao" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "Ishulli Krishtlindje" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "Qipro" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "Çekia" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "Gjermani" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "Djibouti" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "Danimarkë" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "Dominica" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "Republika Domenikane" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "Algjeri" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "Ekuador" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "Estoni" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "Egjipt " #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "Sahara Perëndimore" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "Eritrea" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "Spanjë" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "Etiopi" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "Finlandë" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "Fiji" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "Ishujt Falkland [Malvinas]" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "Mikronezia (Shtetet Federale të)" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "Ishujt Faroe" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "Francë" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "Gabon" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "Mbretëria e Bashkuar e Britanisë së Madhe dhe Irlandës së Veriut" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "Grenada" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "Gjeorgji" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "Guiana franceze" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "Gërnzi" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "Gana" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "Gjibraltar" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "Grenlandë" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "Gambia" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "Guinea" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "Guadeloupe" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "Guinea Ekuatoriale" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "Greqi" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "Gjeorgjia Jugore dhe Ishujt Sandwich Jugore" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "Guatemala" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "Guam" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "Guinea-Bissau" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "Guyana" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "Hong Kong" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "Heard Island dhe McDonald Islands" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "Honduras" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "Kroacia" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "Haiti" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "Hungari" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "Indonezi" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "Irlandë" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "Izrael" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "ishujt e Njeriut" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "Indi" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "Territori Britanik i Oqeanit Indian" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "Irak" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "Iran (Shteti Islamik i)" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "Islandë" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "Itali" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "Jersey" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "Xhamaika" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "Jordan" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "Japoni" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "Kenia" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "Kirgistan" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "Kamboxhia" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "Kiribati" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "Comoros" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "Saint Kitts dhe Nevis" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "Korea (Republika Popullore Demokratike e)" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "Korea (Republika e)" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "Kuvajt" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "Ishujt Kajman" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "Kazakistan" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "Republika Demokratike Popullore e Laos" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "Lebanon" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "Shën Lucia" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "Liechtenstein" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "Sri Lanka" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "Liberi" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "Lesotho" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "Lituani" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "Luksemburg" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "Letoni" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "Libi" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "Marok" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "Monako" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "Moldavia (Republika e)" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "Mali i Zi" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "Shën Martin (Pjesa Franceze)" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "Madagaskar" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "Ishujt Marshall" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "Maqedonia (Ish Republika Jugosllave e)" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "Mali" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "Myanmar" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "Mongoli" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "Makao" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "Ishujt Veriore të Marianës" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "Martinique" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "Mauritania" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "Montserrat" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "Malta" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "Mauritius" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "Maldives" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "Malawi" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "Meksikë" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "Malajzi" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "Mozambik" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "Namibia" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "Kaledonia e Re" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "Niger" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "Ishujt Norfolk" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "Nigeri" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "Nikaragua" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "Hollandë" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "Norvegji" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "Nepal" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "Nauru" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "Niue" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "Zelanda e Re" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "Oman" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "Panama" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "Peru" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "Polinezia Franceze" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "Papua Guinea e Re" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "Filipinet" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "Pakistan" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "Poloni" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "Shën Pierre dhe Miquelon" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "Pitcairn" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "Porto Riko" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "Palestinë, shteti i" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "Portugali" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "Palau" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "Paraguaj" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "Qatar" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "Réunion" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "Rumani" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "Serbi" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "Federata Ruse" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "Rwanda" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "Arabia Saudite" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "Ishujt Solomon" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "Seychelles" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "Sudan" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "Suedi" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "Singapor" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "Saint Helena, Ascension dhe Tristan da Cunha" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "Sllovenia" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "Svalbard dhe Jan Mayen" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "Slovakia" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "Sierra Leone" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "San Marino" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "Senegal" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "Somalia" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "Suriname" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "Sudani Jugor" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "Sao Tome dhe Principe" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "El Salvador" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "Sint Maarten (Pjesa Holandeze)" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "Republika Arabe e Sirisë" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "Swaziland" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "Turks dhe Caicos Islands" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "Çad" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "Territoret Jugore Franceze" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "Togo" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "Tajlandë" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "Taxhikistan" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "Tokelau" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "Timor-Leste" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "Turkmenistan" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "Tunizi" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "Tonga" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "Turqi" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "Trinidad dhe Tobago" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "Tuvalu" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "Tajvani (Provinca e Kinës)" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "Tanzania, Republika e Bashkuar e" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "Ukrainë" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "Uganda" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "Ishujt Minor Periferik të Shteteve të Bashkuara" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "Shtetet e Bashkuara të Amerikës" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "Uruguay" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "Uzbekistan" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "Holy See" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "Shën Vincenti dhe Grenadinet" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "Venezuela (Republika Bolivarian e)" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "Ishujt Virgjionale (britanike)" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "Ishujt e Virgjër (SHBA)" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "Vietnam" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "Vanuatu" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "Wallis dhe Futuna" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "Samoa" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "Jemen" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "Mayotte" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "Afrika e Jugut" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "Zambia" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "Zimbabve" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Ushtari" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "N" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "B" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "R" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "Q" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "K" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Loja përfundoi me remi" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s fitoi lojën" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s fitoj lojën" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "Loja është vrarë" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Loja është shtyrë" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Loja është ndërprerë" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "Shteti i panjohur i lojës" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "Loja anuluar" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "Sepse as lojtar nuk ka material të mjaftueshëm për tu bashkuar" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "Për shkak se i njëjti pozicion u përsërit tri herë radhazi" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "Për shkak se 50 lëvizjet e fundit sollën asgjë të re" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Për shkak se të dy lojtarëve u mbraoj koha" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "Sepse %(mover)s qorrsokak" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "Për shkak se të dy lojtarët ranë dakord për një barazim" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "Për shkak të gjykimit nga një admin" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "Për shkak të lojës që kalojë gjatësinë maksimale" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "Sepse %(white)s rend jashtë kohe dhe %(black)s ka materiale të pamjaftueshme për tu bashkuar" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "Sepse %(black)s rend jashtë kohe dhe %(white)s ka materiale të pamjaftueshme për tu bashkuar" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "Për shkak se të dy lojtarët kanë të njëjtën sasi të gurëve" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "Sepse të dy mbretët arritën rreshtin e tetë" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "Sepse %(loser)s dorëheqjes" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "Sepse %(loser)s mbaroj koha" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "Sepse %(loser)s ishte shahmat " #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "Sepse %(loser)s shkëput" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "Sepse %(winner)s ka më pak gurë" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "Sepse %(winner)s humbi të gjithë gurët" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "Sepse %(loser)s mbreti shpërtheu" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "Sepse %(winner)s mbreti arriti në qendër" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "Sepse %(winner)s i është dhënë shah 3 herë" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "Sepse lojtari humbi lidhjen" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "Për shkak se të dy lojtarët ranë dakord për një shtyrje" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "Për shkak se serveri ishte fikur" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "Për shkak se lojtari humbi lidhjen dhe lojtari tjetër kërkoi shtyrje" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "Sepse %(black)s humbi lidhjen me serverin dhe %(white)s kërkoj shtyrje" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "Sepse %(white)s humbi lidhjen me serverin dhe %(black)s kërkoj shtyrje" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "Sepse %(white)s humbi lidhjen me serverin" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "Sepse %(black)s humbi lidhjen me serverin" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "Për shkak të gjykimit nga një admin. Nuk ka ndryshime vlerësim." #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "Për shkak se të dy lojtarët ranë dakord të ndërpresin lojën. Nuk ka ndryshime vlerësim." #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "Për shkak të mirësjellje nga një lojtar. Nuk ka ndryshime vlerësim." #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "Për shkak se një lojtar e ndërpreu lojën. Ose lojtari mund të ndërpresin lojën pa pëlqimin e tjetrit para lëvizje e dytë. Nuk ka ndryshime vlerësim." #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "Sepse një lojtar i shkëputur dhe ka shumë pak lëvizje që kërkojnë shtyrje. Nuk ka ndryshime pozicioni." #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "Për shkak se serveri ishte mbyllur. Nuk ka ndryshime vlerësim." #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "Sepse motorri %(white)s vdiq" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "Sepse motori %(black)s vdiq" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "Sepse lidhja me serverin humbi" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "Arsyeja është e panjohur" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "ASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "ASEAN" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "Makruk: http://en.wikipedia.org/wiki/Makruk" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "Makruk" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "Kambodian: http://www.khmerinstitute.org/culture/ok.html" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "Kambodian" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "Ai-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "Ai-Wok" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "Sittuyin" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "FICS egër/4: http://www.freechess.org/Help/HelpFiles/wild.html\n* Gurë të zgjedhura rastësisht (dy mbretëreshat ose tre torrë mundshme)\n* Pikërisht një mbret i çdo ngjyrë\n* Gurë të vendosura rastësisht pas ushtarëve, NËNSHTROHEN KUFIZIMI QE PESHKOPËT JANË TË BALANCUARA\n* Nuk ka rrekat\n* Rregullim zezë NUK BËN pasqyrë bardhë" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Asimetri të Rastësishme" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "Atomic" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Rregullat klasike të shahut me gurët fshehur\n http://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "Qorrazi" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Rregullat klasike të shahut me ushtarë të fshehur\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "Ushtarë fshehur" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Rregullat shahu klasike me gurë të fshehur\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "Fsheh gurët" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Rregullat klasike të shahut me të gjitha gurët të bardhë\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "Të Gjithë bardha" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "FICS shtëpi-gabimesh: http://www.freechess.org/Help/HelpFiles/bughouse.html" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "Shtëpi-Gabimesh" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "http://brainking.com/en/GameRules?tp=2\n* Vendosja e gurëve në rreshtin e 1rë dhe 8të janë rastësishme\n* Mbreti është në këndin e djathtë\n* Peshkopët duhet të fillojë në kuti ngjyre të kundërta\n* Pozicioni fillestare zezë është marrë nga rutollim pozicionin e Bardhë 180 gradë rreth qendrës të fushës\n* Jo Rrëke" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Qoshe" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "FICS shtëpi-çmendur: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "Shtëpi-çmëndur " #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "EuroShogi" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "http://en.wikipedia.org/wiki/Chess960\nFICS egër/fr: http://www.freechess.org/Help/HelpFiles/wild.html" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Fischer Rastësishëm" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "Sjellja e mbretit tuaj ligjërisht në qendër (e4, d4, e5, d5) menjëherë fiton lojën!\nRregullat normale aplikohen në raste të tjera dhe shahmate gjithashtu përfundon lojën." #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "Mbreti i lartësisë" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "Një lojtar fillon me një gurë kalorë më pak" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "shanset kalit" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "FICS humbësit: http://www.freechess.org/Help/HelpFiles/losers_chess.html" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "Humbësit" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "Rregullat Klasike Shahut\nhttp://en.wikipedia.org/wiki/Chess" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Normale" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "Një lojtar fillon me një gurë ushtarë më pak" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "Shanset ushtarit" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "FICS egër/8a: http://www.freechess.org/Help/HelpFiles/wild.html\nUshtarë Bardhë fillojë në radhën 5st dhe ushtarë zezë në radhën e 4rt" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "Ushtari Kaloi" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "FICS egër/8: http://www.freechess.org/Help/HelpFiles/wild.html\nUshtarët fillojnë në radhën 4rt dhe 5st në-vend se në 2të dhe 7të" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "Ushtari U shty" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "Një lojtar fillon me një gurë mbretëreshë më pak" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "Shanset mbretëreshë" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "FICS egër/3: http://www.freechess.org/Help/HelpFiles/wild.html\n* Gurë të zgjedhura rastësisht (dy mbretëreshat ose tre torrë mundshme)\n* Pikërisht një mbret i çdo ngjyrë\n* Gurë të vendosura rastësisht pas ushtarëve\n* Jo Rrëke\n* Rregullim zezë pasqyron bardhë" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Rastësishëm" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "Një lojtar fillon me një gurë torrë më pak" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "Shanset torrës" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "xfushë jorrëke: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS egër/2: http://www.freechess.org/Help/HelpFiles/wild.html\n* Rregullim rastësishëm e gurëve pas ushtarëve\n* Jo Rrëke\n* Rregullim zezë pasqyron bardhë" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Përziej" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "FICS vetëvrasje: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "Vetëvrasje" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "Varianti i zhvilluar nga Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "Theban" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "Fito duke dhënë 3 herë shah" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "Tre-shah" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "FICS egër/5: http://www.freechess.org/Help/HelpFiles/wild.html\nhttp://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\nUshtarët fillojnë radhitjen në 7të në vend se në radhitjen e 2të!" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "kokëposhtë" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xfushë kështjellegër http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS egër/0: http://www.freechess.org/Help/HelpFiles/wild.html\n* Të bardhat kanë ndërtimin tipik në fillim.\n* Gurët e zi janë të njëjtë, përjashtuar që Mbreti dhe Mbretëresha janë kundërt,\n* Kështu që ata nuk janë në të njëjtat dokument si Mbreti Bardhë dhe Mbretëresha.\n* Rrëke është bërë në mënyrë të ngjashme me shahun normal:\n* o-o-o tregon rrëke të gjatë dhe o-o rrëke të shkurtër." #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "Kala-terbuar " #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xfushë rrëke-egër http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS egër/1: http://www.freechess.org/Help/HelpFiles/wild.html\n* Në këtë variant të dy palët kanë të njëjtat gurë si në shah normale.\n* Mbreti i bardhë fillon në d1 ose e1 dhe mbreti i zi fillon në d8 ose e8,\n* dhe torrët janë në pozicionet e tyre të zakonshme.\n* Peshkopët janë gjithmonë në ngjyra të kundërta.\n* Në varësi të këtyre kufizimeve pozita nga pjesët në radhët e tyre të para është e rastit.\n* Rrëkea është bërë në mënyrë të ngjashme me shahun normal:\n* o-o-o tregon rrëke të gjatë dhe o-o rrëke shkurtër." #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "Kala-terbuar përzierje" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "Lidhje ishte thyer - mora \"fundin e dokumentit\" mesazh" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' nuk është një emër i regjistruar" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "Fjalëkalimi i futur nuk është i vlefshëm.\nNëse keni harruar fjalëkalimin, shko në http://www.freechess.org/password për të kërkuar një të ri ndërmjet email." #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "Më vjen keq '%s' është i kyçur tashmë" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "'%s' është një emër i regjistruar. Në qoftë se kjo është e juaja, shkruani fjalëkalimin." #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "Për shkak të abuzimeve, lidhjet anonime janë bllokuar.\nJu mund të regjistroheni në http://www.freechess.org" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Lidhu me server" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Hyr në server" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Ndërto mjedisin" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "%(player)s është %(status)s" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "dukemos luajtur" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Egër" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Nëlinjë" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Jashtëlinje" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "Dispozicion" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "Lojë" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "Pushim" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "Ekzaminim" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "Jo disponushëm" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "Drejtimin Ndeshje Njëko " #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "Në Turne" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Pavlersuar" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Vlerësuar" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d min" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr " + %d sek" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "%(player)s luan %(color)s" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "bardhë" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "zezë" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "Ky është një vazhdim i një ndeshje shtyer" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "Vlersimi Kundërshtarit" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "Prano Manualisht" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Private" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Gabim Lidhje" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Shenim mbi Gabimin" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Lidhja u mbyll" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Gabim Adrese" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Dil Automatikisht" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Ju keni dalë jashtë për shkak se keni qenë pushim më shumë se 60 minuta" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "Hyrjet anonime të bllokuar nga FICS server" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "1-minutë" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "3-minutë" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "5-minutë" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "15-minutë" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "45-minutë" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "Chess960" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "Ekzaminuar" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Të'tjera" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Administrator" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "Llogari Qorrazi" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Llogari Ekipi" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "Joregjistruar " #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "Këshillues Shahu" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "Përfaqësues Shërbimi" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "Drejtori Turnesë " #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "Mamer Menaxhuan " #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "Mjeshtri Madh" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "Mjeshtri Internacional" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "Mjeshtri FIDE" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "Mjeshtria Madhe Femërore" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "Mjeshtria Internacionale Femërore" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "Mjeshtre Femër FIDE" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "Llogari Bedele " #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "C" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "T" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "U" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "CA" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "SR" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "TD" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "TM" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "GM" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "IM" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "FM" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "WGM" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "WIM" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "WFM" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "D" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "H" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "CM" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "FA" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "NM" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "PyShah nuk ishte në gjendje për të ngarkuar parametrat tuaj panelit" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "Shoqëria" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "Admin" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "Më shumë kanale" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "Më shumë lojtarë" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "Kompjutera" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "Qorrazi" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "Vizitorë" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "Vëzhgues" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "Pushim" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "Nuk ka biseda të zgjedhura" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "Ngarko informacionet e lojtarit" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "Marrja e listës së lojtarëve" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "Dritarja Informative PyShah" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "e" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "Ju nuk keni hapur biseda ende" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "Vetëm përdoruesit e regjistruar mund të bisedojnë në këtë kanal" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "Analiza e lojës në progres..." #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "Dëshironi ta ndërprisni?" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "Ndërpre" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "Përzgjedh motorin" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "Skedarë ekzekutues" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "I pamundur shtimi %s" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "Ka diçka të gabuar me këtë ekzekutues" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "Përzgjedh skedarë funksional" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr " lëvizje e gabuar motorri: %s" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Ofro Ndeshjekthimi" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "Vëzhgo %s" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Luaj Ndeshjekthimi" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Kthe një veprim" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Kthe dy veprime" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "Ju dërguat një ofertë ndërprerje" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "Ju dërguat një ofertë pezullimi" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Ju dërguat një ofertë rem" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "Ju dërguat një ofertë pushimi" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "Ju dërguat një ofertë rinisëse" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "Ju dërguat një ofertë kthimi" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "Ju kërkuat kundërshtarin tuaj për të lëvizur" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "Ju dërguat thirrje flamuri" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Motorri, %s, ka vdekur" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "PyShah ka humbur lidhjen me motorrin, ndoshta për shkak se ka vdekur.\n\nJu mund të përpiqeni për të filluar një lojë të re me motor, ose të përpiqeni për të luajtur kundër një tjetri." #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "Kjo lojë mund të jetë e ndërprerë automatikisht pa humbje vlerësimi, sepse nuk ka pasur ende dy lëvizje të bëra" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "Ofro Ndërprerje" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "Kundërshtari juaj duhet të bie dakord për të ndërprerë lojën sepse si ka pasur dy ose më shumë lëvizje të bëra" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "Kjo lojë nuk mund të shtyhet për shkak se një ose të dy lojtarët janë vizitorë" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "Pretendim Remi" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "Rifillo" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "Ofro Pushim" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "Ofro Rifillim" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "Kthe" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "Ofro Kthe" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "është vonuar për 30 sekonda" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "është vonuar shumë, por nuk është shkëputur" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "Vazhdoni të prisni për kundërshtarin, ose përpiquni të shtyni lojën?" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "Prit" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "Pezulloj" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "Shko ne pozicionin fillestar" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "Shko prapa një levizje" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "Kthehu mbrapa në linjën kryesore" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "Shko para një lëvizje" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Shko tek pozicioni fundit" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Qenie Njerëzore" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minuta:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Rritje:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "Shpejtë" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "%(name)s %(minutes)d min / %(moves)d lëvizje %(duration)s" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "%(name)s %(minutes)d min %(sign)s %(gain)d sek/lëvizje %(duration)s" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "%(name)s %(minutes)d min %(duration)s" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "Shanset" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "Të tjera (rregullat standarde)" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "Të tjera (jo rregulla standarde)" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "Variante aziatik" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "Shah" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Pozicioni Ndërtuesit" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "Shkruaj ose ngjit këtu pozicionet e lojës PGN ose Fen" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Hyr Lojë" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "Përzgjedh dokument libri" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "Hapja Librave" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "Zgjedh rrugën Gaviota TB" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Hap Dokument Zëri" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "Dokumente zëri" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Ska volum" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Bip" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Zgjedh dokument zëri..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "Paneli papërshkrimit" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "Zgjedh imazhin e pamjes " #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "imazhet" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "Zgjedh rrugën automatike ruajtëse" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "A e dini se është e mundur për të përfunduar një lojë shahu në vetëm 2 radhë?" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "A e dini se numri i lojrave të mundshme shahut e tejkalon numrin e atomeve në univers?" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "Për të ruajtur një lojënLojë > Ruaj Lojën Si, jepni emrin e dokumentit dhe zgjidhni ku doni të jetë i ruajtur. Në fund të zgjedhni llojin e shtesës së dokumentit, dheRuaj." #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "FEN ka nevojë për 6 fushat e të dhënave. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "FEN ka nevojë për të paktën 2 fusha të dhënash në fenstr. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "Nevojiten 7 lëvizje në pjesët e vendosura në fushë. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "Ngjyra aktive e fushës duhet të jetë njëra e w ose b. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "Vlefshmëria e fushës për rrëke nuk është e ligjshme. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "Marrëveshja kalimtare nuk është e ligjshme. \n\n%s" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "Gurë i promovuar paligjmërisht" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "veprim ka nevojë për një gurë dhe një lidhje" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "lidhja e kapur (%s) është e pasaktë" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "lidhja e fundit (%s) është e pasaktë" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "dhe" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "remi" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "shahmat" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "vë kundërshtarin në shah" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "përmirëson sigurinë mbret" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "pak përmirëson sigurinë mbret" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "lëviz një torrë në një kuti të hapur" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "lëviz një torrë në një kuti gjysmë-hapur" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "lëviz oficerin në fianchetto: %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "promovon një ushtar në një %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "kështjella" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "merr prapa materialin" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "sakrifikon materialin" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "shkëmbimet materiali" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "kap materialin" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "shpëton si %s" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "kërcënon për të fituar materialin nga %s" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "rrit presionin mbi %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "mbron %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "kapë një armik %(oppiece)s në %(piece)s në %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "E Bardha ka një pjesë të re nga-pas: %s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "E Zeza ka një pjesë të re nga-pas: %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "%(color)s ka një ushtarë të ri të miratuar në %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "gjysmë-hapur " #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "në %(x)s%(y)s dokument" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "në %(x)s%(y)s dokumente " #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "%(color)s mori një ushtar të dyfishtë %(place)s" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "%(color)s mori ushtarë të ri të dyfishtë %(place)s" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "%(color)s mori ushtarë të izoluar në %(x)s dokument" msgstr[1] "%(color)s mori ushtarë të izoluar në %(x)s dokumentet" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "%s lëviz ushtarin në formimin Murrë-gurë " #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "%s nuk mund të bëjë kalanë më" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "%s nuk mund të bëjë kalanë në anën e mbretëreshës" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "%s nuk mund të bëjë kalanë në anën e mbretit" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "%(opcolor)s ka një peshkop të ri të bllokuar në %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "zhvillon një ushtarë: %s" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "sjell një ushtarë pranë kuti-mbrapa: %s" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "sjellë një %(piece)s më pranë mbretit armik: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "zhvillon një %(piece)s: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "vendosë një %(piece)s më aktiv: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "E bardha duhet të bëjë stuhi me ushtarë në të djathtë" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "E zeza duhet të bëjë stuhi me ushtarë në të majtë" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "E bardha duhet të bëjë stuhi me ushtarë në të majtë" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "E zeza duhet të bëjë stuhi me ushtarë në të djathtë" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "E zeza ka një pozicion mjaft ngërç" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "E zeza ka një pozicion pak ngërç" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "E bardha ka një pozicion mjaft ngërç" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "E bardha ka një pozicion pak ngërç" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "Thirrje" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "Thirrje shahu" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "Kanal jozyrtar %d" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "Filtër" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "Rend" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "Lojëra" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "Id" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "W Elo" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "B Elo" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "Loja" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "Arkivuar" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Ora" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Tipi" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Data/Ora" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr " me të cilët ju keni një shtyrje %(timecontrol)s %(gametype)s loja është në-linjë." #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "Vazhdim Kërkesë" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "Shqyrto Shtyrjen Lojës" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Bisedë" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Fito" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Remi" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Humb" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "Më i Miri" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "Në FICS, tuaj \"Joker\" Vlerësimi përfshin të gjitha variantet e mëposhtme në të gjitha kontrollet kohore:\n" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "Sanksionet" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Email" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Shpenzuar" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "total në linjë" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Lidhje" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "Gisht" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Loja funksionale: %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "Vlerësoj" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "Ndiq" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Emri" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "Status" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "Lojtarë: %d" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "Butoni zinxhir është me aftësi të kufizuara për shkak se ju jeni regjistruar si vizitor. Vizitorët nuk mund të krijojë vlerësime, dhe gjëndja butonin zinxhir nuk ka efekt kur nuk ka vlerësim për të cilat të lidhin \"Forca kundërshtari\" për të" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Sfidë:" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "Nëse vendosur ju mund të refuzoni lojtarë çë kërkojnë pranimin tuaj" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "Ky opsion nuk zbatohet për shkak se ju jeni duke sfiduar një lojtarë" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Redakto Kërko:" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "%(minutes)d min + %(gain)d sek/leviz" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Manuale" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "Ndonjë Forcë" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "Ju nuk mund të luani lojëra të vlerësuara për shkak se ju jeni regjistruar si vizitor" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "Ju nuk mund të luani lojëra të vlerësuarat sepse \"pambatur\" është e kontrolluar," #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "dhe në FICS, lojrat e pambatura nuk mund të vlerësohen" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "Ky opsion nuk është i mundshem për shkak se ju jeni duke sfiduar një lojtarë" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "dhe vizitorët nuk mund të luajnë lojëra të vlerësuara" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "Ju nuk mund të zgjidhni një variant sepse \"pambatur\" është i zgjedhur," #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "dhe në FICS, lojra të pambatura duhen të ketë rregulla normale shahu" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "Ndrysho Tolerancen" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " min" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "Efekti në vlerësimet nga rezultatet e mundshme" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "Fito:" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "Remi:" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "Humb:" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "RD Ri:" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Kerkime Aktive: %d" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr " do të doni për të rifilloni shtyrjen tuaj %(time)s %(gametype)s lojë." #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr " Ju sfidon në një %(time)s %(rated)s %(gametype)s lojë" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr " ku %(player)s luan %(color)s." #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "Ju duhet të vendoni kibitz për të parë mesazhet e robotit këtu." #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "Ju mund të keni vetëm 3 teprica kërkuese në të njëjtën kohë. Nëse doni të shtoni një kërkesë të re ju duhet të pastroni kërkesen tuaj aktuale aktive. Pastro kërkesën tuaj?" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "Ju nuk mund të prekin këtë! Ju jeni duke shqyrtuar një lojë." #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "ka refuzuar ofertën tuaj për një ndeshje" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "censurimi juaj" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "i listuar jashtëloje" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "përdor një formulë jo të përshtatshëm kërkesës tuaj për ndeshje:" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "tek pranimi joautomatik " #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "tek pranimi automatik" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "Vlerësimi shtrirjes tani" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "Kërko azhornuarit " #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "Kërkimet tuaja janë hequr" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "ka arritur" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "ka nis" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "është i pranishëm" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Zbulo llojin automatikisht" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "Gabim në ngarkimin e lojës" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Ruaj Lojën" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "Eksporto Pozicionin" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Tip dokumentesh panjohur '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "Në pamundësi për të ruajtur '%(uri)s' sepse PyShah nuk e di formatin '%(ending)s'." #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Pamundur ruajtja e dokumenti '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "Ju nuk keni të drejtat e nevojshme për të ruajtur dokumentin.\nJu lutemi sigurohuni që ju kanë dhënë rrugën e drejtë dhe të provoni përsëri." #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Zëvendëso" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Dokumenti ekziston" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Një dokument me këtë emer '%s' ekziston. Dëshironi të zëvendësuar atë?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "Dokumenti tashmë ekziston në '%s'. Nëse ju zëvendësoni atë, përmbajtja e tij do të jetë mbishkruar." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Nuk mund të ruaj dokumentin" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyShah nuk ishte në gjendje për të ruajtur lojën" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "Gabimi ishte: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "Ka %d lojë me lëvizje të paruajtur." msgstr[1] "Ka %d lojëra me lëvizje të paruajtura." #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "Ruaj lëvizjet para mbylljes?" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "vs." #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "_Ruaj %d dokumentin" msgstr[1] "_Ruaj %d dokumentet" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "Ruaj lojën aktuale para se të mbyllni atë?" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "Në pamundësi për të ruajtur në skedarin e konfiguruar. Ruaj lojën aktuale para se të mbyllni atë?" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Nuk është e mundur të vazhdojë lojën më vonë,\nnëse nuk e ruani atë." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "T'gjithë Dokumente Shahu" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "Shënim" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "Lojë e shënuar" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "Shto koment fillimi" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "Shto koment" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "Modifiko koment" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "Masa e detyruar" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "Shto simbol levizje " #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "Pozicioni Paqartë" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "Zugzwang" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "iniciativë" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "Me sulm" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "Kompensim" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "Kundërlojë " #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "Presioni Koha" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "Shto simbol vlerësimi" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "loja %s" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "Shenja" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "Paneli shenjë do të ofrojë këshilla kompjuteri gjatë çdo fazë të lojës" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Paneli Zyrtarë PyShah." #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Hapja Librit" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "Libri hapjes do të përpiqet për të frymëzuar ju gjatë fazës së hapjes së lojës duke ju treguar lëvizje të zakonshme të bëra nga mjeshtrit e shahut" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "Analizë nga %s" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "%s do të përpiqen të parashikojnë cili veprim është më i mirë dhe cila anë ka avantazhin" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "Analiza kërcënimi nga %s" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "%s do të identifikohet se çfarë kërcënime do të ekzistonte nëse do të ishte radha e kundërshtarit tuaj në lëvizje" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "Llogaritjen..." #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "Rezultatet Motori janë në njësitë e ushtarëve, nga pamja e parë të Bardhë. Kliko Dyfish në linjat e analizës që ju mund të fusni ato në panel anotacion si variacion." #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "Shtimi sugjerime mund të ju ndihmojë të gjeni ide, por ngadalëson analizën e kompjuterit." #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "Tabela Lojafundit " #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "Tabela Fundi i lojës do të tregojë analizën e saktë kur ka shumë pak pjesë në fushë." #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "Shah në %d" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "Në këtë pozicion,\nnuk ka asnjë levizje ligjore." #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "Paneli bisedës ju lejon të komunikoni me kundërshtarin tuaj gjatë lojës, duke supozuar se ai ose ajo është i interesuar" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Komente" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "Paneli komenteve do të përpiqet për të analizuar dhe shpjeguar lëvizjet luajtura" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Pozicioni Fillestarë" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "%(color)s lëvizë një %(piece)s në %(cord)s" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "Motorët " #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "Paneli Prodhimi Motori tregon prodhimin e menduarit të motorëve të shahut (lojtarët e kompjuterit) gjatë një lojë" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "Jo motorët shah (lojtarët e kompjuterit) janë duke marrë pjesë në këtë lojë." #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Lëviz Histori " #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "Fletë lëvizje mban gjurmët e lëvizjes së lojtarëve dhe ju lejon të për të lundruar nëpër historinë e lojës" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Pikë" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "Paneli Rezultatit përpiqet për të vlerësuar qëndrimet dhe ju tregon një grafik të progresit lojës" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/it/0000755000175000017500000000000013467766037013616 5ustar varunvarunpychess-1.0.0/lang/it/LC_MESSAGES/0000755000175000017500000000000013467766037015403 5ustar varunvarunpychess-1.0.0/lang/it/LC_MESSAGES/pychess.mo0000644000175000017500000021125213467766035017417 0ustar varunvarunQ ?PT QT \TfT mT$zT TT TTT%T` U(nU+U'U#U0V@VYVtVVV#V$V'VW /W!PWQrWJWX-X5X7X9X;XKXRXVXZXbX}XXX0X'X@X?YPYaYtYYYYYY#Z$%ZJZ[ZpZZZZZZZ[[+[E[QX[&[C[7\UM\*\(\\ ]]0]D]eJ]] ]]]&]] ^^+^;^SM^ ^^ ^ ^^m^F_N_V_ f_p____ _____C_=` L` W` a`l` ` ``` ```` ``*`a 4a @a JaUaWa]ata|a aa/aSaQbnb!bb bb/cS8cQc cKc$Kd6pd#d!d-d&e-Be;pe eeeeeeeeef f f f$,f#Qf%uf f"f#ff ffggg -g Ngogg ggggg gggg ghh h8%h^hghnh whhhhh h hhhh hi i%i 4i @iMiSiYi jiuiiiiiii,i1jNjWj`jij qj~jj&j jjjj jkk k#k ;kGkgk pk|kkkkkkkkkkk kkkkl l*lGlalflGol`lm!m 4m?m DmRmVm ^m hm tmm mmm mm}m 1nu JuVu^uauiuluGquAuuv>HwXwRwB3xcvx]x?8yBxy;yqySizOzF | T| b|&l||$| |)|}} }"}4} E} S}^} s}}}} }}D}~~~~~#~<~T~ V~a~g~l~}~~ ~~+~~~ ~~ ~$6>FN Tb r |     %0+6 bm+t ĀҀ  + 6 A!Kmu | ˁҁ ہ   !- 3>FHM^fl r/~  ł т ߂  %.=Dc|   Ńу  # / < JVnv,{*+ӄ**1E._  Ņۅ&,@GX a mw  Ć͆҆   8G P\ dnv} ˇ Ӈ ݇ # 2>@F L Wdfnu{  ۈ &. 3=NT[o4щ,? Ua|  ȊҊ  '(Bk|ŋˋ Ӌ ߋ "2A PZbiq Ō$ˌ5J^ f r č/͍' G S,`   ŽՎ܎  3= DPegjm  ƏϏߏphb"ːC524h93ב RmETW Z.HdI}}ǔE`a•ܕ\lZKEkAA5KP ` nzLQ Ydj~ ٙ - 2@ OY4n$Ț ' /; CQh~  ƛћٛ" &<BFJOUaM  " - 7$C#h% "#  +=Pk~9?9;(uC$&.D[s tV5l!*&L&s'¤Ҥ٤ & 2 = J T^gmv  %٥  !' 8 CN a nx $ Цۦ +I` fs!w)8ç1'Nv Ө "+7cxĩʩΩ! .: = JXix6(7 N[bko#!ū $k3  ,ͭ  #+,FVs2ʮ0(.$W1|ǯ,"/O0(ʰ(dLα%BGd/j4Rϲ"1Cau~#γ!#8Lay$Ŵִ#*GF^8L޵E+^q2ж/3:Xpe0Oc"xVظ/@I Xdmkٹ  .*FqL   +5G Xbjp @ƻ#+ E Q\^d 3Zټj4!/ (;3ZZj,TL?οC8R'/3<CT"   !%,G.t=;, 2=PV ]jr )  )= F8P  %?Rgv4+9` "!0F b mw ~  %46GPU^d l y++J jW   3E LX\ bls?Sfnv ~1 @DYFH.? Ub%e    .47 =IPYo  * 1=E MW \fov }     -69A DgNFWilm.>w]S?)Mil;$`Ax (%8?H   *KP Xe?m  "(+<EMc*k  *07T]s %  $! FQ+X  !+ > I(S|!   $ 7D JT]_ds{/   + K Xfn   /; N\q /.$/S.(= =J[p $ - 8DLRYn} !? T_w  %    +(T r~ #( LWn}  65l~ * 'A GR[o~!(.F$X }&  -9AHPl .!!*Lj~ #  / 4?HW_ { )    1PV_h }   2Ks'XIH7AK9U0PU-p %C_Tr-puPTD;E  . FQ-2 :FL`p *<N V/d0 !0 AKSg   &.Hcimqy;K . 5 B M#Z.~0?=/m u  ,(2Y[IL4L>)(" 6'W$*).r(6tn<8.3 4G  |       ;    .  9 D  M W _ r     0      . 5  D P  a  m x      '     , F M  ] Ii     6 C W\ "  9 3*Ju   $$#Hg{ $)! )69I Yfx82;Ss *&F,N{  "O?&9LYg ""(#$)^ U7yPd<hmk9gN( 2P= }HQM:E 'Rs  ({;v_/6,)9,U%T*$W-e0IV~rTK~!mXuZYAv-,[lqRG.+P }2t+f`jFQ_tZ ?/@6M % 04KzH k;s8pmDK*Sq<aqiloJ@1i/eNf~;b,]1ZzYoAX[{}wy$uHM|djbR@ ]vtOQpL'p|}O+BE.3GV"{$GN=U>WbTo0gCwMr4E{j.Fxhct0*eJ# \8v|ndChGF'aH]VDq Tn^>3C`#h%xB!>4397\i-=;D8 ab%Yfx&K*!c&wAia uF)1_ 7zo2SIcElS'`.8JB>:Wk(ye2\A\j5 !Sn:m=L<7uLOQ ?n<g]5X?5#65^rDxcNyVB| Z RWl@3:)&[s _[ U+1pCI~-rPJf`k/4^6IwXzds Gain: + %d sec chess has arrived has declined your offer for a match has departed is censoring you is present min%(black)s won the game%(color)s got a double pawn %(place)s%(color)s got an isolated pawn in the %(x)s file%(color)s got isolated pawns in the %(x)s files%(color)s got new double pawns %(place)s%(color)s has a new passed pawn on %(cord)s%(color)s moves a %(piece)s to %(cord)s%(minutes)d min + %(gain)d sec/move%(opcolor)s has a new trapped bishop on %(cord)s%(player)s is %(status)s%(player)s plays %(color)s%(white)s won the game%d min%s can no longer castle%s can no longer castle in kingside%s can no longer castle in queenside%s moves pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent%s will identify what threats would exist if it were your opponent's turn to move%s will try to predict which move is best and which side has the advantage'%s' is not a registered name(Blitz)*-00 Players Ready0 of 00-11-01/2-1/210 min + 6 sec/move, White12002 min, Fischer Random, Black5 minConnect to Online Chess ServerPromote pawn to what?PyChess was unable to load your panel settingsAnalyzingAnimationBoard StyleChess SetsChess VariantEnter Game NotationGeneral OptionsInitial PositionInstalled SidepanelsName of _first human player:Name of s_econd human player:Open GameOpen databaseOpening, endgameOpponent StrengthOptionsPlay Sound When...PlayersStart learningTime ControlWelcome screenYour Color_Connect to server_Start GameA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedPyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to save file '%s'Unknown file type '%s'Challenge:A player _checks:A player _moves:A player c_aptures:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortAbout ChessAc_tiveAcceptActivate alarm when _remaining sec is:Active seeks: %dAdd commentAdd evaluation symbolAdd move symbolAdd start commentAdding suggestions can help you find ideas, but slows down the computer's analysis.Address ErrorAdjournAdministratorAfghanistanAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbaniaAlgeriaAll Chess FilesAll whiteAmerican SamoaAnalysis by %sAnalyze black movesAnalyze from current positionAnalyze gameAnalyze white movesAndorraAngolaAnguillaAnimate pieces, board rotation and more. Use this on fast machines.Annotated gameAnnotationAnnotatorAntarcticaAntigua and BarbudaAny strengthArgentinaArmeniaArubaAsk to _MoveAsymmetric RandomAsymmetric Random AtomicAustraliaAustriaAuto _rotate board to current human playerAuto login on startupAuto-logoutAvailableAzerbaijanBB EloBackround image path :BahamasBahrainBangladeshBarbadosBecause %(black)s lost connection to the serverBecause %(black)s lost connection to the server and %(white)s requested adjournmentBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause %(mover)s stalematedBecause %(white)s lost connection to the serverBecause %(white)s lost connection to the server and %(black)s requested adjournmentBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBecause the server was shut downBeepBelarusBelgiumBelizeBeninBermudaBhutanBishopBlackBlack ELO:Black O-OBlack O-O-OBlack has a new piece in outpost: %sBlack has a rather cramped positionBlack has a slightly cramped positionBlack moveBlack should do pawn storm in leftBlack should do pawn storm in rightBlack:BlindfoldBlindfold AccountBlitzBlitz:Blitz: 5 minBolivia (Plurinational State of)Bonaire, Sint Eustatius and SabaBosnia and HerzegovinaBotswanaBouvet IslandBrazilBritish Indian Ocean TerritoryBrunei DarussalamBulgariaBurkina FasoBurundiCCACabo VerdeCalculating...CambodiaCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCameroonCanadaCapturedCategory:Cayman IslandsCenter:Central African RepublicChadChallengeChallenge: Challenge: Change ToleranceChatChess AdvisorChess Alpha 2 DiagramChess GameChess PositionChess ShoutChess clientChileChinaChristmas IslandClaim DrawClassical: 3 min / 40 movesClearClockClose _without SavingCocos (Keeling) IslandsColombiaColorize analyzed movesCommand line parameters needed by the engineCommand line parameters needed by the runtime envCommand:Comment:CommentsComorosCompensationComputerCongoCongo (the Democratic Republic of the)ConnectingConnecting to serverConnection ErrorConnection was closedCook IslandsCopy FENCornerCosta RicaCould not save the fileCounterplayCountry of origin of the engineCountry:Create SeekCreate a new databaseCroatiaCubaCuraçaoCyprusCzechiaCôte d'IvoireDDark Squares :DatabaseDateDate/TimeDate:DeclineDefaultDenmarkDestination Host UnreachableDetailed connection settingsDetect type automaticallyDiedDjiboutiDo you know that it is possible to finish a chess game in just 2 turns?Do you know that the number of possible chess games exceeds the number of atoms in the Universe?DominicaDominican RepublicDon't careDrawDummy AccountECOEcuadorEdit SeekEdit Seek: Edit commentEgyptEl SalvadorEloEmailEndgame TableEnginesEngines use uci or xboard communication protocol to talk to the GUI. If it can use both you can set here which one you like.Enter GameEquatorial GuineaEritreaEstoniaEthiopiaEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventEvent:ExamineExamine Adjourned GameExaminedExaminingExport positionExternalsFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns * No castling * Black's arrangement mirrors white'sFICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Pawns start on 4th and 5th ranks rather than 2nd and 7thFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html White pawns start on 5th rank and black pawns on the 4th rankFIDE MasterFMF_ull board animationFace _to Face display modeFalkland Islands [Malvinas]Faroe IslandsFijiFile existsFilterFinlandFischer RandomFor each player, the statistics provide the probability to win the game and the variation of your ELO if you lose / end into a tie / win, or simply the final ELO rating changeForced moveFrame:FranceFrench GuianaFrench PolynesiaFrench Southern TerritoriesFriendsGMGabonGain:GambiaGameGame informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Games running: %dGaviota TB path:GeorgiaGermanyGhanaGibraltarGrand MasterGreeceGreenlandGrenadaGridGuadeloupeGuamGuatemalaGuernseyGuestGuineaGuinea-BissauGuyanaHaitiHeaderHeard Island and McDonald IslandsHidden pawnsHidden piecesHideHintsHoly SeeHondurasHong KongHost:How to PlayHuman BeingHungaryIMIcelandIdIdleIf set, FICS game numbers in tab labels next to player names are shown.If set, PyChess will colorize suboptimal analyzed moves with red.If set, PyChess will show game results for different moves in positions containing 6 or less pieces. It will search positions from http://www.k4it.de/If set, PyChess will show game results for different moves in positions containing 6 or less pieces. You can download tablebase files from: http://www.olympuschess.com/egtb/gaviota/If set, PyChess will suggest best opening moves on hint panel.If set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, clicking on main application window closer first time it closes all games.If set, pawn promotes to queen without promotion dialog selection.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the captured figurines will be shown next to the board.If set, the elapsed time that a player used for the move is shown.If set, the hint analyzer engine evaluation value is shown.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If the analyzer finds a move where the evaluation difference (the difference between the evaluation for the move it thinks is the best move and the evaluation for the move made in the game) exceeds this value, it will add an annotation for that move (consisting of the engine's Principal Variation for the move) to the Annotation panelIf you don't save, new changes to your games will be permanently lost.Ignore colorsImbalanceImport annotated games from endgame.nlImport chessfileImport games from theweekinchess.comIn TournamentIn this position, there is no legal move.Indent _PGN fileIndiaIndonesiaInfinite analysisInitial positionInitial setupInitiativeInternational MasterInvalid move.Iran (Islamic Republic of)IraqIrelandIsle of ManIsraelIt is not possible later to continue the game, if you don't save it.ItalyJamaicaJapanJerseyJordanJump to initial positionJump to latest positionKKazakhstanKenyaKingKing of the hillKiribatiKnightKnight oddsKnightsKorea (the Democratic People's Republic of)Korea (the Republic of)KuwaitKyrgyzstanLag:Lao People's Democratic RepublicLatviaLeave _FullscreenLebanonLesothoLiberiaLibyaLiechtensteinLight Squares :LightningLightning:List of server channelsLithuaniaLoad _Recent GameLoading player dataLocal EventLocal SiteLog on ErrorLog on as _GuestLogging on to serverLosersLossLuxembourgMacaoMacedonia (the former Yugoslav Republic of)MadagascarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMalawiMalaysiaMaldivesMaliMaltaMamer ManagerManage enginesManualManual AcceptManually accept opponentMarshall IslandsMartiniqueMate in %dMauritaniaMauritiusMaximum analysis time in seconds:MayotteMexicoMicronesia (Federated States of)Minutes:Minutes: Moldova (the Republic of)MonacoMongoliaMontenegroMontserratMore channelsMore playersMoroccoMove HistoryMove numberMovedMozambiqueMyanmarNNameNames: #n1, #n2NamibiaNauruNepalNetherlandsNever use animation. Use this on slow machines.New CaledoniaNew GameNew ZealandNew _DatabaseNicaraguaNigerNigeriaNiueNo _animationNo conversation's selectedNo soundNorfolk IslandNormalNormal: 40 min + 15 sec/moveNorthern Mariana IslandsNorwayNot AvailableObserveObserved _ends:ObserversOddsOffer A_bortOffer AbortOffer Ad_journmentOffer PauseOffer RematchOffer ResumeOffer UndoOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOmanOne player starts with one less knight pieceOne player starts with one less pawn pieceOne player starts with one less queen pieceOne player starts with one less rook pieceOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpen GameOpen Sound FileOpening BookOpponent RatingOpponent's strength: OptionsOtherOther (non standard rules)Other (standard rules)PPakistanPalauPalestine, State ofPanamaPapua New GuineaParaguayParameters:Paste FENPatternPausePawnPawn oddsPawns PassedPawns PushedPeruPhilippinesPingPitcairnPlayPlay Fischer Random chessPlay Losers chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer _RatingPlayers:Players: %dPlayingPng imagePo_rts:PolandPolyglot book file:PortugalPre_viewPrefer figures in _notationPreferencesPrivatePromotionProtocol:Puerto RicoPyChess - Connect to Internet ChessPyChess Information WindowPyChess.py:QQatarQueenQueen oddsQuit PyChessRR_esignRandomRapidRapid: 15 min + 10 sec/moveRatedRated gameRatingRating change:Receiving list of playersRegisteredRequest ContinuationResendReset ColoursResultResult:ResumeRomaniaRookRook oddsRotate the boardRoundRound:Running Simul MatchRuntime env command:Runtime env parameters:Runtime environment of engine command (wine or node)Russian FederationRwandaRéunionSRS_ign upSaint BarthélemySaint Helena, Ascension and Tristan da CunhaSaint Kitts and NevisSaint LuciaSaint Martin (French part)Saint Pierre and MiquelonSaint Vincent and the GrenadinesSamoaSan MarinoSanctionsSao Tome and PrincipeSaudi ArabiaSaveSave GameSave Game _AsSave _own games onlySave _rating change valuesSave analyzing engine _evaluation valuesSave database asSave elapsed move _timesSave files to:Save moves before closing?ScoreScoutSearch:Seek _GraphSeek updatedSelect engineSelect sound file...Select the games you want to save:Send ChallengeSend all seeksSend seekSenegalSerbiaServer:Service RepresentativeSetting up environmentSetup PositionSeychellesSho_w cordsShoutShow FICS game numbers in tab labelsShow _captured piecesShow elapsed move timesShow evaluation valuesShow tips at startupShredderLinuxChess:ShuffleSide_panelsSierra LeoneSimple Chess PositionSingaporeSint Maarten (Dutch part)SiteSite:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinSlovakiaSloveniaSolomon IslandsSomaliaSorry '%s' is already logged inSound filesSouth AfricaSouth Georgia and the South Sandwich IslandsSouth SudanSpainSpentSri LankaStandardStandard:Start Private ChatStatusStep back one moveStep forward one moveSudanSuicideSurinameSvalbard and Jan MayenSwazilandSwedenSwitzerlandSyrian Arab RepublicTTDTMTaiwan (Province of China)TajikistanTanzania, United Republic ofTeam AccountTexture:ThailandThe abort offerThe adjourn offerThe analyzer will run in the background and analyze the game. This is necessary for the hint mode to workThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe directory where the engine will be started from.The displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe endgame table will show exact analysis when there are few pieces on the board.The engine %s reports an error:The entered password was invalid. If you forgot your password, go to http://www.freechess.org/password to request a new one over email.The error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The flag callThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe hint panel will provide computer advice during each stage of the gameThe inverse analyzer will analyze the game as if your opponent was to move. This is necessary for the spy mode to workThe move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe reason is unknownThe resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe takeback offerThebanThemesThere is %d game with unsaved moves.There are %d games with unsaved moves.This game can not be adjourned because one or both players are guestsThis option is not applicable because you're challenging a playerThis option is not available because you're challenging a guest, Threat analysis by %sTimeTime control: Time pressureTimor-LesteTip Of The dayTip of the DayTitledTo save a game Game > Save Game As, give the filename and choose where you want to be saved. At the bottom choose extension type of the file, and Save.TogoTokelauTolerance:TongaTournament DirectorTranslate PyChessTrinidad and TobagoTunisiaTurkeyTurkmenistanTurks and Caicos IslandsTuvaluTypeUUgandaUkraineUnable to accept %sUnclear positionUndescribed panelUndoUndo one moveUndo two movesUninstallUnited Arab EmiratesUnited Kingdom of Great Britain and Northern IrelandUnited States Minor Outlying IslandsUnited States of AmericaUnknownUnknown game stateUnofficial channel %dUnratedUnregisteredUntimedUpside DownUruguayUse _analyzerUse _inverted analyzerUse _local tablebasesUse _online tablebasesUse analyzer:Use name format:Use opening _bookUzbekistanVanuatuVariantVenezuela (Bolivarian Republic of)Viet NamVirgin Islands (British)Virgin Islands (U.S.)W EloWGMWIMWaitWallis and FutunaWarning: this option generates a formatted .pgn file which is not standards complientWas unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.WelcomeWestern SaharaWhiteWhite ELO:White O-OWhite O-O-OWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite has a slightly cramped positionWhite moveWhite should do pawn storm in leftWhite should do pawn storm in rightWhite:WildWildcastleWinWith attackWoman FIDE MasterWoman Grand MasterWoman International MasterWorking directory:Year, month, day: #y, #m, #dYemenYou asked your opponent to moveYou can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou can't select a variant because "Untimed" is checked, You can't switch colors during the game.You have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou have tried to undo too many moves.You sent a draw offerYou sent a pause offerYou sent a resume offerYou sent an abort offerYou sent an adjournment offerYou sent an undo offerYour opponent asks you to hurry!Your opponent has asked that the game be aborted. If you accept this offer, the game will end with no rating change.Your opponent has asked that the game be adjourned. If you accept this offer, the game will be adjourned and you can resume it later (when your opponent is online and both players agree to resume).Your opponent has asked that the game be paused. If you accept this offer, the game clock will be paused until both players agree to resume the game.Your opponent has asked that the game be resumed. If you accept this offer, the game clock will continue from where it was paused.Your opponent has asked that the last %s move(s) be undone. If you accept this offer, the game will continue from the earlier position.Your opponent has offered you a draw. If you accept this offer, the game will end with a score of 1/2 - 1/2.Your opponent is not out of time.Your opponent wants to abort the game.Your opponent wants to pause the game.Your opponent wants to undo %s move(s).Your strength: ZambiaZimbabwe_Accept_Actions_Analyze Game_Archived_Auto save finished games to .pgn file_Call Flag_Clear Seeks_Copy FEN_Copy PGN_Decline_Edit_Engines_Export Position_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hints_Invalid move:_Load Game_Log Viewer_My games_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Recent:_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Untimed_Use main app closer [x] to close all games_Use sounds in PyChess_View_Your Color:andand guests can't play rated gamesand on FICS, untimed games can't be ratedand on FICS, untimed games have to be normal chess rulesask your opponent to moveblackbrings a %(piece)s closer to enemy king: %(cord)sbrings a pawn closer to the backrow: %scall your opponents flagcaptures materialcastlesdefends %sdevelops a %(piece)s: %(cord)sdevelops a pawn: %sdrawsexchanges materialgnuchess:half-openhttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyin the %(x)s%(y)s filein the %(x)s%(y)s filesincreases the pressure on %smatesminmoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %snot playingofoffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalpins an enemy %(oppiece)s on the %(piece)s at %(cord)splaces a %(piece)s more active: %(cord)spromotes a Pawn to a %sputs opponent in checkrescues a %sresignround %ssecslightly improves king safetytakes back materialthe captured cord (%s) is incorrectthe move needs a piece and a cordthreatens to win material by %sucivs.whitewindow1xboardÅland IslandsProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Italian (http://www.transifex.com/gbtami/pychess/language/it/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: it Plural-Forms: nplurals=2; plural=(n != 1); Guadagno: + %d sec scacchiè arrivatoha declinato la tua proposta per una partitaè partitoti sta censurandoè presente minuti%(black)s vince la partita%(color)s ha un pedone doppiato in %(place)s%(color)s ha un pedone isolato in %(x)s fila%(color)s ha pedoni isolati in %(x)s fila%(color)s ha un nuovo pedone doppiato in %(place)s%(color)s ha un nuovo pedone passato in %(cord)s%(color)s muove il %(piece)s in %(cord)s%(minutes)d min + %(gain)d sec/mossa%(opcolor)s ha un alfiere in trappola on %(cord)s%(player)s è %(status)s%(player)s gioca %(color)s%(white)s vince la partita%d min%s non è possibile arroccare%s non è possibile arroccare sul lato di re%s non è possibile arroccare sul lato di donnaIl %s mette i pedoni in una formazione stonewall%s ha riportato un errore%s è stato rifiutata dal tuo avversario%s è stato annullato dal tuo avversario%s identificherà quali potrebbero essere le possibili minacce se se fosse il turno dell'avversario.%s proverà a prevedere la mossa migliore e quale giocatore è in vantaggio.'%s' non è un nome registrato(Blitz)*-00 Giocatori Pronti0 di 00-11-01/2-1/210 min + 6 sec/mossa, Bianco12002 min, Fischer Casuale, Nero5 minConnettiti a un server onlineIn cosa vuoi promuovere il pedone?PyChess non riesce a caricare il tuo pannello delle impostazioniAnalisiAnimazioneStile della scacchieraSet di pezziVariantiInserire note di giocoOpzioni generaliPosizione InizialePannelli Laterali InstallatiNome del _primo giocatore:Nome del _secondo giocatore:Apri PartitaApri databaseApertura, finaleLivello dell'avversarioOpzioniRiprodurre un suono quando...GiocatoriAvvia l'apprendimentoCronometroSchermata di benvenutoColore_Connettiti al server_Inizia PartitaUn file chiamato '%s' gia' esiste. Vuoi sostituirlo?Il motore %s ha terminato l'esecuzionePyChess sta cercando i motori installati. Attendere prego.PyChess non è stato in grado di salvare la partitaCi sono %d partite con mosse non salvate. Vuoi salvare prima della chiusura?Impossibile salvare il file '%s'Tipo di file sconosciuto '%s'Sfida:Un giocatore ha dato _scacco:Un giocatore ha _mosso:Un giocatore ha _catturatoASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAnnullaInfo sul giocoA_ttivoAccettaAttiva allarme quando i secondi _rimanenti sono:Ricerche attive: %dAggiungi un commentoAggiungi il simbolo di valutazioneAggiungi il simbolo alla mossaAggiungi un commento inizialeAggiungere i suggerimenti può aiutarti a pensare, ma rallenta l'analisi del computer.Errore indirizzoAggiornaAmministratoreAfghanistanAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbaniaAlgeriaTutti i file scacchisticiTutto biancoSamoa AmericaneAnalisi al %sAnalizza mosse del neroAnalizza a partire dalla posizione attualeAnalizza partitaAnalizza mosse del biancoAndorraAngolaAnguillaAnimazione dei pezzi, della scacchiera e altro. Da usare su computer veloci.Partita annotataAnnotazioneCommentatoreAntartideAntigua e BarbudaQualsiasi titoloArgentinaArmeniaArubaChiedo per _MuovereCasuale asimmetricoCasuale asimmetricoAtomicoAustraliaAustria_Ruota automaticamente la scacchiera verso il giocatore correnteAutenticazione automatica all'avvioDisconnessione automaticaDisponibileAzerbaijanAB EloPercorso immagine di sfondo:BahamasBahrainBangladeshBarbadosPerchè %(black)s ha perso la connessione al serverPerchè %(black)s ha perso la connessione al server e %(white)s ha richiesto di aggiornarePerché %(black)s è andato fuori tempo massimo e %(white)s non ha sufficienti pezzi per dare scacco mattoPerch %(loser)s si è disconnessoPerché %(loser)s è andato fuori tempo massimoPerché %(loser)s ha abbandonatoPerché %(loser)s ha subito scacco mattoPerché %(mover)s è in stalloPerchè %(white)s ha perso la connessione al serverPerchè %(white)s ha perso la connessione al server e %(black)s ha richiesto di aggiornarePerché %(white)s è andato fuori tempo massimo e %(black)s non ha sufficienti pezzi per dare scacco mattoPerché un giocatore ha perso la connessionePerché un giocatore si è disconnesso e l'altro ha richiesto la sospensionePerché entrambi i giocatori sono andati oltre il tempo massimoPerché nessun giocatore ha pezzi sufficienti per dare scacco mattoA causa di una sentenza pronunciata da un amministratorePerché il motore di %(white)s è mortoPerché la connessione al server è stata persaPerché la partita ha superato la lunghezza massimaPerché le ultime 50 mosse non hanno portato niente di nuovoPerché la stessa posizione si è ripetuta per tre volte di seguitoPoiché il server è stato spento.Avviso acusticoBielorussiaBelgioBelizeBeninBermudaBhutanAlfiereNeroELO neri:NERO O-ONERO O-O-OIl Nero ha un nuovo avamposto: %sIl Nero ha una posizione piuttosto ristrettaIl Nero ha una posizione leggermente ristrettaTurno del neroIl Nero dovrebbe iniziare un attacco di pedoni sulla sinistraIl Nero dovrebbe iniziare un attacco di pedoni sulla destraNero:Alla ciecaAccount alla ciecaBlitzBlitz:Blitz: 5 minBoliviaPaesi Bassi caraibiciBosnia ed HerzegovinaBotswanaIsola BouvetBrasileTerritorio britannico dell'Oceano IndianoSultanato del BruneiBulgariaBurkina FasoBurundiCCACapo VerdeCalcolo in corso...CambogiaCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCamerunCanadaMangiatoCategoria:Isole CaymanCentro:Repubblica CentroafricanaCiadSfidaSfida: Sfida: Modifica tolleranzaChatConsulenteDiagramma Scacchi Alpha 2Partita di ScacchiPosizione scacchieraChiudi scacchiClient scacchiCileCinaIsola di NataleChiedi la pattaClassica: 3 min / 40 mosse PulitoOrologioChiudi _senza salvareIsole Cocos (Keeling)ColombiaColora le mosse analizzateParametri a linea di comando necessari per il motoreParametri a linea di comando necessari per il runtime envComando:Commento:CommentiComorosCompensoComputerCongoCongo (Repubblica Democratica del)Connessione in corsoConnessione al server in corso...Errore di connessioneLa connessione è terminataIsole CookCopia FENAngoloCosta RicaImpossibile salvare il fileControgiocoNazione di orgine del motoreNazione:Crea SfidaCrea un nuovo databaseCroaziaCubaCuraçaoCiproRepubblica CecaCosta d'AvorioDQuadrati scuri :DatabaseDataData/OraData:RifiutaPrederfinitoDanimarcaL'host di destinazione non è raggiungibileDettaglio delle impostazioni di connessioneRileva automaticamente il tipoDecedutoDjiboutiLo sapevi che è possibile finire una partita a scacchi in appena 2 turni?Lo sapevi che il numero di partite diverse giocabili è maggiore del numero di atomi dell'intero universo?DominicaRepubblica DominicanaIndifferentePattaAccount fittizioECOEcuadorModifica SfidaModifica ricerca: Modifica CommentoEgittoEl SalvadorEloEmailTablebaseMotoriI motori di analisi utilizzano il protocollo di comunicazione uci o xboard per dialogare con la GUI. Se entrambi i protocolli sono disponibili, qui hai la possibilità di scegliere quello che preferisci.Entra nella partitaGuinea EquatorialeEritreaEstoniaEtiopiaEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventoEvento:EsaminaEsamina partita aggiornataEsaminatoEsaminoEsporta posizioniEsterniFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Pezzi scelti casualmente (due regine o tre alfieri possibili) * Esattamente un re di ogni colore * Pezzi piazzati casualmente dietro i pedoni * No arrocchi * L'arrangiamento dei neri è lo stesso dei bianchiFICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html I pedoni cominciano alla quarta e quinta riga invece che la seconda e settimaFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html I pedoni bianchi cominciano alla quinta riga e i pedoni neri alla quartaMaestro FIDEFMAnimazione _Completa della Scacchiera_Visualizzazione Faccia a FacciaIsole Falkland [Malvinas]Isole FaroeFijiFile esistenteFiltroFinlandiaFischer CasualePer ogni giocatore, le statistiche indicano la probabilità di vittoria della partita e la variazione del punteggio ELO in caso di perdita / parità / vittoria, o semplicemente la variazione finaleMossa forzataCornice:FranciaGuyana FrancesePolinesia FranceseTerritori Francesi MeridionaliAmiciGMGabonIncremento:GambiaPartita:Informazioni di giocoLa partita è _patta:La partita è pe_rsa:La partita è stata _impostata:La partita è _vinta:Partite in corso: %dPercorso Gaviota TB:GeorgiaGermaniaGhanaGibilterraGran MaestroGreciaGroenlandiaGrenadaGrigliaGuadalupeGuamGuatemalaGuernseyOspiteGuineaGuinea-BissauGuyanaHaitiIntestazioneIsole Heard e McDonaldPedoni nascostiPezzi nascostiNascondiSuggerimentiVaticanoHondurasHong KongHost:Come GiocareEssere UmanoUngheriaIMIslandaIdIn attesaSe impostato, i numeri di partita FICS saranno mostrati nelle etichette affianco al nome dei giocatori.Se attivo, PyChess colorerà le mosse analizzate subottimali in rosso.Se impostato, PyChess mostrerà i risultati della partita per le diverse mosse nelle posizioni contenenti 6 pezzi o meno. Cercherà le posizioni su http://www.k4it.de/Se impostato, PyChess mostrerà i risultati della partita per le diverse mosse nelle posizioni contenenti 6 pezzi o meno. Puoi scaricare la tablebase da: http://www.olympuschess.com/egtb/gaviota/Se attivato, PyChess proporrà le migliori mosse di apertura nel pannello dei consigli.Se selezionato, PyChess utilizzerà le immagini per identificare le mosse, al posto delle lettere maiuscole.Se impostato, cliccando il pulsante di chiusura principale dell'applicazione si chiuderanno tutte le partite.Se impostato, il pedone viene promosso a regina in automatico.Se selezionato, i pezzi neri saranno visualizzati a testa in giù, utile per giocare contro un amico su di un dispositivo mobile.Se selezionato, la scacchiera ruoterà ad ogni turno, in modo che il giocatore corrente possa vederla dal proprio lato.Se attivo, le icone dei pezzi catturati saranno mostrate di fianco alla scacchiera.Se attivo, mostra il tempo impiegato dal giocatore per muovere.Se impostato, verrà mostrato il valore calcolato dal motore di suggerimento.Se selezionato, la scacchiera mostrerà le etichette di riga e colonna. Usati nella notazione delle partite.se selezionato, nasconde le Tab in alto quando non servono.Se l'analizzatore trova una mossa in cui la differenza calcolata (differenza tra la mossa che ritiene essere la migliore e la mossa eseguita in partita) eccede questo valore, aggiungerà un commento a quella mossa (Variazione Principale di quella mossa) nel pannello dei CommentiSe non salvi, le ultime modifiche alla tua partita saranno perse.Ignora coloriSbilanciamentoImporta partita commentata da endgame.nlImporta chessfileImporta partite da theweekinchess.comTorneo in corsoIn questa posizione, ⏎ non è possibile nessuna mossa legale.Indenta il file _PGNIndiaIndonesiaAnalisi senza limite di tempoPosizione inizialeConfigurazione inizialeIniziativaMaestro internazionaleMossa non valida.Iran (Repubblica Islamica dell')IraqIrlandaIsola di ManIsraeleNon sarà possibile continuare la partita, se non la salvi ora.ItaliaJamaicaGiapponeJerseyGiordaniaVisualizza la posizione inizialeVisualizza l'ultima posizioneRKazakhstanKenyaReRe della collinaKiribatiCavalloSvantaggio di CavalloCavalliCorea (Repubblica Popolare Democratica di)Corea (Repubblica di)KuwaitKyrgyzstanRitardo:LaosLettonia_Esci da schermo interoLibanoLesothoLiberiaLibiaLiechtensteinQuadrati chiari :LampoLampo:Elenco dei canali del serverLituaniaCarica _Gioco RecenteCaricamento dati del giocatoreEvento localeSito localeErrore di accessoConnettiti come _ospiteAutenticazione sul server in corso...Vinciperdi 2PersoLussemburgoMacaoMacedonia (ex Repubblica Jugoslavia)MadagascarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMalawiMalesiaMaldiveMaliMaltaMamer ManagerGestisci motori di analisiComando manualeAccetta manualmenteAccetta avversario manualmenteIsole MarshallMartinicaScacco matto in %dMauritaniaMauritiusDurata massima dell'analisi, in secondi:MayotteMessicoMicronesia (Stati Federati della)Minuti:Minuti: Moldavia (Repubblica di)MonacoMongoliaMontenegroMontserratAltri canaliAltri giocatoriMaroccoElenco delle mosseMossa numeroMossoMozambicoBirmaniaCNomeNomi: #n1, #n2NamibiaNauruNepalOlandaNon usare animazioni. Utile per computer lenti.Nuova CaledoniaNuova partitaNuova ZelandaNuovo _DatabaseNicaraguaNigerNigeriaNiueNessuna _AnimazioneNessuna discussione selezionataNessun suonoIsole NorfolkNormaleNormale: 40 min + 15 sec/mossaIsole Marianne SettentrionaliNorvegiaNon disponibileOsserva_Finali osservati:OsservatoriSvantaggioChiedi di smettereOffri di annullareOffri S_ospensioneOffri PausaOffri di rigiocareOffri RipresaOffri torna indietroOffri _AbbandonoChiedi la pattaOffri _PausaChiedi la ripresaOffri _Annullamento mossaPannello ufficiale PyChess.OfflineOmanUno dei giocatori inizia con un Cavallo in menoUno dei giocatori inizia con un Pedone in menoUno dei giocatori inizia con lal Regina in menoUno dei giocatori inizia con una Torre in menoOnlineAnimazione delle sole _mosseAnimazione dell movimento dei soli pezziSolo gli utenti registrati possono discutere su questo canaleApri partitaApri file sonoroLibro delle aperturePunteggio dell'avversatioLivello dell'avversario OpzioniAltreAltro (regole non standard)Altro (regole standard)PPakistanPalauPalestina, Stato diPanamaPapua Nuova GuineaParaguayParametri:Incolla FENPatternPausaPedoneSvantaggio di PedonePedone passatoSpinta di pedonePerùFilippinePingIsole PitcairnGiocaGioca partita Fischer CasualeGioca a scacchi "vinciperdi"Rigioca la partitaGioca partita su _InternetGioca con le regole classiche_Punteggio giocatoreGiocatori:Numero di Giocatori: %dGiocandoImmagine PngPo_rte:PoloniaFile del libro poliglotta:Portogallo_AnteprimaUtilizza le immagini nella _notazionePreferenzePrivatoPromozioneProtocollo:PortoricoPyChess - Connettiti al server scacchisticoPyChess Finestra informazioniPyChess.py:DQatarDonnaSvantaggio di ReginaEsci da PyChessTRinunciaCasualeRapidoRapida: 15 min + 10 sec/mossaValutataPartita a punteggioValutazioneVariazione punteggio:Ricezione della lista dei GiocatoriRegistratoRichiedi di continuareManda di nuovoReimposta coloriRisultatoRisultato:RiprendiRomaniaTorreSvantaggio di TorreRuota la scacchieraTurnoTurno:Simul Match in esecuzioneComando runtime env:Parametri runtime env:Comando runtime dell'ambiente del motore (wine o node)Federazione RussaRuandaRéunionSR_RegistratiSan BartolomeoSaint Helena, Ascension e Tristan da CunhaSaint Kitts e NevisSanta LuciaSaint Martin (francese)Saint Pierre e MiquelonSaint Vincent e GrenadineSamoaSan MarinoSanzioniSao Tome e PrincipeArabia SauditaSalvaSalva la partitaSalva la partita con _nomeSalva s_olo le proprie partiteSalva la va_riazioni dei punteggiSalva i risultati d_el motore di analisiSalva database comeSalva i _tempi di mossaSalva file sotto:Salvo le mosse prima della chiusura?PunteggioScoutCerca:_Grafico SfideRichiesta aggiornataSeleziona motoreSeleziona un file sonoro...Seleziona le partite che vuoi salvare:Invia SfidaInvia tutte le sfideInvia SfidaSenegalSerbiaServer:Rappresentante del servizioImpostazione dell'ambienteImposta PosizioneSeychellesVisualizza _EtichetteChiudiMostra i numeri di partita FICS nell'etichetteMostra pezzi _catturatiMostra i tempi di mossa rimanentiMostra punteggi delle valutazioniMostra suggerimenti all'avvioShredderLinuxChess:Mischia_Pannelli LateraliSierra LeonePosizione semplice della scacchieraSingaporeSint Maarten (olandese)SitoSito web:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinSlovacchiaSloveniaIsole SalomoneSomaliaScusa '%s' è già connessoFile sonoriSud AfricaGeorgia del Sud e Isole Sandwich AustraliSud SudanSpagnaTrascorsiSri LankaStandardStandard:Inizia una chat privataStatoVisualizza la mossa precedenteVisualizza la mossa successivaSudanSuicidioSurinameSvalbard e Jan MayenSwazilandSveziaSvizzeraRepubblica Araba SirianaTTDTMTaiwan (Provincia cinese)TajikistanTanzania, Repubblica Unita diTeam AccountTexture:TailandiaL'offerta di AbbandonoL'offerta di sospensioneL'analizzatore sarà attivato in background e analizzerà la partita. E' una funzione necessaria per permettere il funzionamento dei suggerimentiIl pannello "Chat" ti permette di comunicare con il tuo avversario durante la partita... sempre che sia interessatoL'orologio non è stato ancora avviato.Il pannello dei commenti analizza e cerca di spiegare le mosse effettuateLa connessione è stata interrotta - ricevuto messaggio di "end of file"La cartella da cui verrà lanciato il motore d'analisi.Il nome visualizzato del primo giocatore umano, ad es., Giovanni.Il nome visualizzato del giocatore ospite, ad es., Maria.L'offerta di PattaLa Tablebase mostrerà un'analisi esatta quando ci sono pochi pezzi sulla scacchiera.Il motore %s segnala un errore:La password inserita non è valida. Se hai dimenticato la tua password, vai su http://www.freechess.org/password per richiederne una nuova per e-mail.L'errore è stato: %sIl file gia' esiste in '%s'. Se lo sostituisci, il suo contenuto verrà sovrascritto.Controllo bandierinaLa partita non può essere letta fino alla fine a causa di un errore di analisi mossa %(moveno)s '%(notation)s'.La partita è finita patta.La partita è stata annullataLa partita è stata sospesaLa partita è stata interrotta.Il pannello dei suggerimenti segnalerà la mossa migliore in ogni fase della partitaL'analizzatore inverso analizzerà la partita come se toccasse al tuo avversario. E' una funzione è necessaria per permettere il funzionamento della modalità spiaLa mossa è fallita perché %s.Il foglio delle mosse tiene traccia delle mosse dei giocatori e ti permette di navigare l'evoluzione della partitaL'offerta di cambio latoIl dizionario delle aperture potrò consigliarti durante la fase iniziale della partita mostrandoti le più comuni mosse fatte dai grandi maestri.L'offerta di pausaRagione sconosciutaLa resaL'offerta di RipresaIl pannello del punteggio prova a valutare le posizioni e mostra attraverso un grafico i progressi della partitaL'offerta di RitiroThebanTemiC'è %d partita con mosse non salvate.Ci sono %d partite con mosse non salvate.La partita non può essere aggioranta perchè uno o entrambi i giocatori sono ospitiQuesta opzione non è applicabile perché stai sfidando un giocatoreQuesta opzione non è disponibile perché stai sfidando un "Ospite", Analisi della minaccia al %sDurataCronometro: Incalzato dal tempoTimor EstSuggerimento del giornoSuggerimento del giornoIntitolatoPer salvare una partita Parita > Salva partita come, indica un nome e scgli la posizione dove vuoi che venga effettuato il salvataggio. In basso scagli l'estensione del tipo di salvataggio, e Salva.TogoTokelauTolleranza:TongaDirettore di torneoTraduci PyChessTrinidad e TobagoTunisiaTurchiaTurkmenistanIsole Turks e CaicosTuvaluTipoUUgandaUcrainaImpossibile accettare %sPosizione poco chiaraPannello senza descrizioneTorna indietroAnnulla una mossaAnnulla due mosseRimuoviEmirati ArabiRegno Unito di Gran Bretagna e Irlanda del NordIsole minori esterne degli Stati Uniti d'AmericaStati Uniti d'AmericaSconosciutoPaese sconosciutoCanale non ufficiale %dSenza punteggioNon registratoSenza cronometroCapovoltaUruguayUsa l'_analizzatoreUsa analizzatore _inversoUsa tablebase _localeUsa tablebase _onlineUtilizza l'analizzatoreUsa un formato per il nome:Usa il li_bro delle apertureUzbekistanVanuatuVariazioniVenezuelaVietnamIsole Vergini britannicheIsole Vergini statunitensiW EloWGMWIMAspettaWallis e FutunaAttenzione: questa opzione genera un file .pgn non standardImpossibile salvare '%(uri)s', PyChess non conosce il formato '%(ending)s'.BenvenutoSahara OccidentaleBiancoELO bianchi:BIANCO O-OBIANCO O-O-OIl Bianco ha un nuovo avamposto: %sIl Bianco ha una posizione piuttosto ristrettaIl Bianco ha una posizione leggermente ristrettaTurno del biancoIl Bianco dovrebbe iniziare un attacco di pedoni sulla sinistraIl Bianco dovrebbe iniziare un attacco di pedoni sulla destraBianco:SelvaggioWildcastleVintoCon intenzione d'attaccoMaestro FIDE di sesso femminileGrande Maestro DonnaMaestro Internazionale DonnaCartella attuale:Anno, mese, giorno: #y, #m, #dYemenHai chiesto al tuo avversario di muovereNon puoi giocare una partita a punteggio perché è selezionata l'opzione "Senza tempo", Non puoi scegliere partite a punteggio perché sei connesso come "ospite"Non puoi scegliere una variante perché hai selezionato "Senza cronometro", Non è possibile cambiare i colori durante il gioco.Sei stato disconnesso perché non attivo per più di 60 minutiNon hai ancora aperto nessuna discussioneSi è tentato di annullare troppe mosse.Hai inviato una richiesta di pattaHai mandato una offerta di PausaHai inviato una richiesta di riprendereHai mandato un'offerta per terminareHai mandato una richiesta di aggiornamentoHai mandati una richiesta di annullamentoIl tuo avversario ti chiede di fare in fretta!Il tuo avversario ha chiesto l'annullamento. Se accetti l'offerta, la partita finirà senza modifica di punteggio.Il tuo avversario ha chiesto che la partita venga sospesa. Se accetti questa offerta, la partita verrà sospesa e potrà essere ripresa più tardi (quando il tuo avversario sarà nuovamente online ed entrambi sarete d'accordo a riprendere).Il tuo avversario chiede una pausa. Se accetti, l'orologio della partita verrà fermata fino a quando entrambi i giocatori non si accorderanno per riprendere la partita.Il tuo avversario chiede di riprendere la partita. Se accetti, l'orologio della partita riprenderà dal momento in cui era stato messo in pausa.Il tuo avversario chiede di annullare %s mossa(e). Se accetti, il gioco riprenderà dall'ultima mossa non annullata.Il tuo avversario ti ha offerto la patta. Se accetti l'offerta, la partita finirà con punteggio di 1/2 - 1/2.Il tuo avversario non ha finito il tempo a disposizione.Il tuo avversario vuole abbandonare la partitaIl tuo avversario vuole mettere la partita in pausaIl tuo avversario vuole tornare indietro di%smossa/eTuo livello: ZambiaZimbabwe_Accetta_Azioni_Analizza partita_ArchiviatoSalva _automaticamente in un file .pgn le partite terminate_Verifica la bandierina_Azzera Ricerche_Copia FEN_Copia PGN_Rifiuta_Modifica_Motori_Esporta PosizioniSc_hermo intero_PartitaElenco _Partite_Generale_Aiuto_Nascondi le schede quando c'è una sola partita_ConsigliMossa non val_ida:_Carica partitaVisua_lizza registroI _miei giochi_Nome:_Nuova partita_SuccessivoMosse _osservateA_vversari:_Password:_Gioca partita NormaleElenco _Giocatori_Precedente_Recente_Sostituisci_Ruota scacchiera_Salvo %d documento_Salvo %d documenti_Salva %d partite_Salva partita_Elenco Sfide_Mostra pannello Laterale_Suoni_Inizia partitaSenza tempo_Usa il pulsante principale di chiusura [x] per chiudere tutte le partite_Usare suoni in PyChess_Vista_Tuo Colore:ee gli "Ospiti" non possono giocare partite a punteggioe su FICS, le partite "Senza tempo" non possono essere a punteggio.e su FICS, le partite "Senza cronometro" devono seguire le normali regole scacchisticherichiedi all'avversario di muovereneroporta il %(piece)s più vicino al re avversario: %(cord)sporta un pedone più vicino all'ultima traversa: %scontrolla la bandierina del tuo avversariocattura materialearroccadifende %ssviluppo di %(piece)s: %(cord)ssviluppo di pedone: %spattascambia materialegnuchess:semiapertohttp://it.wikipedia.org/wiki/Scacchihttp://it.wikipedia.org/wiki/Scacchiincrementa la sicurezza del Renel file %(x)s%(y)snei file %(x)s%(y)saumenta la pressione su %sdà mattominmette la Torre su una colonna apertamette la Torre su una colonna semi-apertamuove l'alfiere in fianchetto: %snon in giocodioffri una pattaoffri una pausaOffri Ritirooffri l'abbandonoOffri di sospendereoffri di riprendereoffri di cambiare latiin rete su un totale diattacco del %(oppiece)s nemico sul %(piece)s su %(cord)smetti il %(piece)s in posizione migliore: %(cord)spromuove un pedone a %smette l'avversario sotto scaccosalvataggio di %sabbandonaturno %ssecincrementa leggermente la sicurezza del Resi riprende il materialela riga catturata (%s) non è correttala stringa che indica la mossa deve contenere il pezzo e le coordinateminaccia di cattura materiale da parte di %sucicontrobiancofinestra1xboardIsole Alandpychess-1.0.0/lang/it/LC_MESSAGES/pychess.po0000644000175000017500000051325113455542775017426 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # Antonio Iacono , 2019 # Chris Traeger , 2018 # Emilio Bologna , 2012 # Emilio Bologna , 2012 # FIRST AUTHOR , 2007 # gbtami , 2013 # gbtami , 2013,2016 # Kenan Catic , 2015 # massimiliano_leoni , 2014 # massimiliano_leoni , 2014 # Nino Furger , 2019 # Riccardo Di Maio , 2015 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Italian (http://www.transifex.com/gbtami/pychess/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Partita" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Nuova partita" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Gioca partita su _Internet" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Carica partita" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Carica _Gioco Recente" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Salva partita" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Salva la partita con _nome" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "_Esporta Posizioni" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "_Punteggio giocatore" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "_Analizza partita" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "_Modifica" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_Copia PGN" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "_Copia FEN" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "_Motori" #: glade/PyChess.glade:518 msgid "Externals" msgstr "Esterni" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Azioni" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Offri _Abbandono" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Offri S_ospensione" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Chiedi la patta" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Offri _Pausa" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Chiedi la ripresa" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Offri _Annullamento mossa" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Verifica la bandierina" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "Rinuncia" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Chiedo per _Muovere" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Vista" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Ruota scacchiera" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "Sc_hermo intero" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "_Esci da schermo intero" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "_Mostra pannello Laterale" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "Visua_lizza registro" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "Database" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "Nuovo _Database" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "Salva database come" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "Importa chessfile" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "Importa partita commentata da endgame.nl" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "Importa partite da theweekinchess.com" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Aiuto" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Info sul gioco" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Come Giocare" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Traduci PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Suggerimento del giorno" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Client scacchi" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Preferenze" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "Il nome visualizzato del primo giocatore umano, ad es., Giovanni." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Nome del _primo giocatore:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "Il nome visualizzato del giocatore ospite, ad es., Maria." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Nome del _secondo giocatore:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Nascondi le schede quando c'è una sola partita" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "se selezionato, nasconde le Tab in alto quando non servono." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "_Usa il pulsante principale di chiusura [x] per chiudere tutte le partite" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "Se impostato, cliccando il pulsante di chiusura principale dell'applicazione si chiuderanno tutte le partite." #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "_Ruota automaticamente la scacchiera verso il giocatore corrente" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Se selezionato, la scacchiera ruoterà ad ogni turno, in modo che il giocatore corrente possa vederla dal proprio lato." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "Se impostato, il pedone viene promosso a regina in automatico." #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "_Visualizzazione Faccia a Faccia" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Se selezionato, i pezzi neri saranno visualizzati a testa in giù, utile per giocare contro un amico su di un dispositivo mobile." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "Mostra pezzi _catturati" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "Se attivo, le icone dei pezzi catturati saranno mostrate di fianco alla scacchiera." #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Utilizza le immagini nella _notazione" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "Se selezionato, PyChess utilizzerà le immagini per identificare le mosse, al posto delle lettere maiuscole." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "Colora le mosse analizzate" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "Se attivo, PyChess colorerà le mosse analizzate subottimali in rosso." #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "Mostra i tempi di mossa rimanenti" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "Se attivo, mostra il tempo impiegato dal giocatore per muovere." #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "Mostra punteggi delle valutazioni" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "Se impostato, verrà mostrato il valore calcolato dal motore di suggerimento." #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "Mostra i numeri di partita FICS nell'etichette" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "Se impostato, i numeri di partita FICS saranno mostrati nelle etichette affianco al nome dei giocatori." #: glade/PyChess.glade:1402 msgid "General Options" msgstr "Opzioni generali" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "Animazione _Completa della Scacchiera" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Animazione dei pezzi, della scacchiera e altro. Da usare su computer veloci." #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Animazione delle sole _mosse" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Animazione dell movimento dei soli pezzi" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Nessuna _Animazione" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Non usare animazioni. Utile per computer lenti." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animazione" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_Generale" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "Usa il li_bro delle aperture" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "Se attivato, PyChess proporrà le migliori mosse di apertura nel pannello dei consigli." #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "File del libro poliglotta:" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "Usa tablebase _locale" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "Se impostato, PyChess mostrerà i risultati della partita per le diverse mosse nelle posizioni contenenti 6 pezzi o meno.\nPuoi scaricare la tablebase da:\nhttp://www.olympuschess.com/egtb/gaviota/" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "Percorso Gaviota TB:" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "Usa tablebase _online" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "Se impostato, PyChess mostrerà i risultati della partita per le diverse mosse nelle posizioni contenenti 6 pezzi o meno.\nCercherà le posizioni su http://www.k4it.de/" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "Apertura, finale" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Usa l'_analizzatore" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "L'analizzatore sarà attivato in background e analizzerà la partita. E' una funzione necessaria per permettere il funzionamento dei suggerimenti" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Usa analizzatore _inverso" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "L'analizzatore inverso analizzerà la partita come se toccasse al tuo avversario. E' una funzione è necessaria per permettere il funzionamento della modalità spia" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "Durata massima dell'analisi, in secondi:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "Analisi senza limite di tempo" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analisi" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_Consigli" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Rimuovi" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "A_ttivo" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Pannelli Laterali Installati" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "_Pannelli Laterali" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "Percorso immagine di sfondo:" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "Schermata di benvenuto" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "Texture:" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "Cornice:" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Quadrati chiari :" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "Griglia" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Quadrati scuri :" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "Reimposta colori" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "Visualizza _Etichette" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "Se selezionato, la scacchiera mostrerà le etichette di riga e colonna. Usati nella notazione delle partite." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "Stile della scacchiera" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "Set di pezzi" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Temi" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Usare suoni in PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "Un giocatore ha dato _scacco:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Un giocatore ha _mosso:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "La partita è _patta:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "La partita è pe_rsa:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "La partita è _vinta:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Un giocatore ha _catturato" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "La partita è stata _impostata:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "Mosse _osservate" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "_Finali osservati:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "Mossa non val_ida:" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "Attiva allarme quando i secondi _rimanenti sono:" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Riprodurre un suono quando..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Suoni" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "Salva _automaticamente in un file .pgn le partite terminate" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Salva file sotto:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "Usa un formato per il nome:" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "Nomi: #n1, #n2" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "Anno, mese, giorno: #y, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "Salva i _tempi di mossa" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "Salva i risultati d_el motore di analisi" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "Salva la va_riazioni dei punteggi" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "Indenta il file _PGN" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "Attenzione: questa opzione genera un file .pgn non standard" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "Salva s_olo le proprie partite" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Salva" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Promozione" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Donna" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Torre" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Alfiere" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Cavallo" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Re" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "In cosa vuoi promuovere il pedone?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "Prederfinito" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "Cavalli" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Informazioni di gioco" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Sito web:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "Variazione punteggio:" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "Per ogni giocatore, le statistiche indicano la probabilità di vittoria della partita e la variazione del punteggio ELO in caso di perdita / parità / vittoria, o semplicemente la variazione finale" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "ELO neri:" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Nero:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Turno:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "ELO bianchi:" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Bianco:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "Data:" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "Risultato:" #: glade/PyChess.glade:4818 msgid "Game" msgstr "Partita:" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "Giocatori:" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Evento:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "uci" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "xboard" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "Gestisci motori di analisi" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Comando:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protocollo:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Parametri:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "Parametri a linea di comando necessari per il motore" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "I motori di analisi utilizzano il protocollo di comunicazione uci o xboard per dialogare con la GUI.\nSe entrambi i protocolli sono disponibili, qui hai la possibilità di scegliere quello che preferisci." #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "Cartella attuale:" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "La cartella da cui verrà lanciato il motore d'analisi." #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "Comando runtime env:" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "Comando runtime dell'ambiente del motore (wine o node)" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "Parametri runtime env:" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "Parametri a linea di comando necessari per il runtime env" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "Nazione:" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "Nazione di orgine del motore" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "Commento:" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "Opzioni" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "Filtro" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Bianco" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Nero" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "Ignora colori" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "Evento" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "ECO" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "Elo" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "0" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "-" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Data" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "Sito" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "Commentatore" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Risultato" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "1-0" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "0-1" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "1/2-1/2" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "Variazioni" #: glade/PyChess.glade:6410 msgid "Header" msgstr "Intestazione" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "Sbilanciamento" #: glade/PyChess.glade:6789 msgid "White move" msgstr "Turno del bianco" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "Turno del nero" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "Mosso" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "Mangiato" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "Pattern" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "Scout" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Analizza partita" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "Utilizza l'analizzatore" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "Se l'analizzatore trova una mossa in cui la differenza calcolata (differenza tra la mossa che ritiene essere la migliore e la mossa eseguita in partita) eccede questo valore, aggiungerà un commento a quella mossa (Variazione Principale di quella mossa) nel pannello dei Commenti" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "Analizza a partire dalla posizione attuale" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "Analizza mosse del nero" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "Analizza mosse del bianco" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess sta cercando i motori installati. Attendere prego." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Connettiti al server scacchistico" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "Connettiti a un server online" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Password:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Nome:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Connettiti come _ospite" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "Host:" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Po_rte:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "Ritardo:" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "_Registrati" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Sfida: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Invia Sfida" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Sfida:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Lampo:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Standard:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Blitz:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "2 min, Fischer Casuale, Nero" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 min + 6 sec/mossa, Bianco" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 min" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "_Azzera Ricerche" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Accetta" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Rifiuta" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "Invia tutte le sfide" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Invia Sfida" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Crea Sfida" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Standard" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Blitz" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Lampo" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Computer" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "_Elenco Sfide" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Valutazione" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Durata" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "_Grafico Sfide" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 Giocatori Pronti" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Sfida" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Osserva" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Inizia una chat privata" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "Registrato" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Ospite" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "Intitolato" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "Elenco _Giocatori" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "Elenco _Partite" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "I _miei giochi" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "Chiedi di smettere" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "Esamina" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "_Anteprima" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "_Archiviato" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "Casuale asimmetrico" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Modifica Sfida" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Senza cronometro" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minuti: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr " Guadagno: " #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Cronometro: " #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Cronometro" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Indifferente" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Tuo livello: " #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Blitz)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Livello dell'avversario " #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Centro:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Tolleranza:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Nascondi" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Livello dell'avversario" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Colore" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Gioca con le regole classiche" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Gioca" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Varianti" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Partita a punteggio" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Accetta avversario manualmente" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Opzioni" #: glade/findbar.glade:6 msgid "window1" msgstr "finestra1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 di 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Cerca:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Precedente" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Successivo" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Nuova partita" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Inizia partita" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "Copia FEN" #: glade/newInOut.glade:143 msgid "Clear" msgstr "Pulito" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "Incolla FEN" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "Configurazione iniziale" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Giocatori" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "Senza tempo" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "Blitz:\t5 min" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "Rapida:\t15 min + 10 sec/mossa" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "Normale:\t40 min + 15 sec/mossa" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "Classica: 3 min / 40 mosse " #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "_Gioca partita Normale" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Gioca partita Fischer Casuale" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "Gioca a scacchi \"vinciperdi\"" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Apri Partita" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Posizione Iniziale" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Inserire note di gioco" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "Mossa numero" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "NERO O-O" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "NERO O-O-O" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "BIANCO O-O-O" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "BIANCO O-O" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "Ruota la scacchiera" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Esci da PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Chiudi _senza salvare" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "_Salva %d partite" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "Ci sono %d partite con mosse non salvate. Vuoi salvare prima della chiusura?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Seleziona le partite che vuoi salvare:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Se non salvi, le ultime modifiche alla tua partita saranno perse." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "A_vversari:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_Tuo Colore:" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "_Inizia Partita" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "Dettaglio delle impostazioni di connessione" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "Autenticazione automatica all'avvio" #: glade/taskers.glade:369 msgid "Server:" msgstr "Server:" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "_Connettiti al server" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "_Recente" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "Crea un nuovo database" #: glade/taskers.glade:609 msgid "Open database" msgstr "Apri database" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "Categoria:" #: glade/taskers.glade:796 msgid "Start learning" msgstr "Avvia l'apprendimento" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Suggerimento del giorno" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Mostra suggerimenti all'avvio" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://it.wikipedia.org/wiki/Scacchi" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://it.wikipedia.org/wiki/Scacchi" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Benvenuto" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Apri partita" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "Il motore %s segnala un errore:" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "Il tuo avversario ti ha offerto la patta. Se accetti l'offerta, la partita finirà con punteggio di 1/2 - 1/2." #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "Il tuo avversario vuole abbandonare la partita" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "Il tuo avversario ha chiesto l'annullamento. Se accetti l'offerta, la partita finirà senza modifica di punteggio." #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "Il tuo avversario ha chiesto che la partita venga sospesa. Se accetti questa offerta, la partita verrà sospesa e potrà essere ripresa più tardi (quando il tuo avversario sarà nuovamente online ed entrambi sarete d'accordo a riprendere)." #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "Il tuo avversario vuole tornare indietro di%smossa/e" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "Il tuo avversario chiede di annullare %s mossa(e). Se accetti, il gioco riprenderà dall'ultima mossa non annullata." #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "Il tuo avversario vuole mettere la partita in pausa" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "Il tuo avversario chiede una pausa. Se accetti, l'orologio della partita verrà fermata fino a quando entrambi i giocatori non si accorderanno per riprendere la partita." #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "Il tuo avversario chiede di riprendere la partita. Se accetti, l'orologio della partita riprenderà dal momento in cui era stato messo in pausa." #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "La resa" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "Controllo bandierina" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "L'offerta di Patta" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "L'offerta di Abbandono" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "L'offerta di sospensione" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "L'offerta di pausa" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "L'offerta di Ripresa" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "L'offerta di cambio lato" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "L'offerta di Ritiro" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "abbandona" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "controlla la bandierina del tuo avversario" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "offri una patta" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "offri l'abbandono" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "Offri di sospendere" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "offri una pausa" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "offri di riprendere" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "offri di cambiare lati" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "Offri Ritiro" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "richiedi all'avversario di muovere" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Il tuo avversario non ha finito il tempo a disposizione." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "L'orologio non è stato ancora avviato." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "Non è possibile cambiare i colori durante il gioco." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "Si è tentato di annullare troppe mosse." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Il tuo avversario ti chiede di fare in fretta!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "Accetta" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "Rifiuta" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "%s è stato rifiutata dal tuo avversario" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "Manda di nuovo" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s è stato annullato dal tuo avversario" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "Impossibile accettare %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s ha riportato un errore" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "Diagramma Scacchi Alpha 2" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Posizione scacchiera" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Sconosciuto" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Posizione semplice della scacchiera" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Partita di Scacchi" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "Mossa non valida." #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "La partita non può essere letta fino alla fine a causa di un errore di analisi mossa %(moveno)s '%(notation)s'." #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "La mossa è fallita perché %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "Immagine Png" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "L'host di destinazione non è raggiungibile" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Deceduto" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Evento locale" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Sito locale" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "min" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "sec" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "Andorra" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "Emirati Arabi" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "Afghanistan" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "Antigua e Barbuda" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "Anguilla" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "Albania" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "Armenia" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "Angola" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "Antartide" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "Argentina" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "Samoa Americane" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "Austria" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "Australia" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "Aruba" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "Isole Aland" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "Azerbaijan" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "Bosnia ed Herzegovina" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "Barbados" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "Bangladesh" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "Belgio" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "Burkina Faso" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "Bulgaria" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "Bahrain" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "Burundi" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "Benin" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "San Bartolomeo" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "Bermuda" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "Sultanato del Brunei" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "Bolivia" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "Paesi Bassi caraibici" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "Brasile" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "Bahamas" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "Bhutan" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "Isola Bouvet" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "Botswana" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "Bielorussia" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "Belize" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "Canada" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "Isole Cocos (Keeling)" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "Congo (Repubblica Democratica del)" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "Repubblica Centroafricana" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "Congo" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "Svizzera" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "Costa d'Avorio" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "Isole Cook" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "Cile" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "Camerun" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "Cina" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "Colombia" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "Costa Rica" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "Cuba" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "Capo Verde" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "Curaçao" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "Isola di Natale" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "Cipro" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "Repubblica Ceca" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "Germania" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "Djibouti" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "Danimarca" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "Dominica" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "Repubblica Dominicana" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "Algeria" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "Ecuador" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "Estonia" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "Egitto" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "Sahara Occidentale" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "Eritrea" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "Spagna" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "Etiopia" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "Finlandia" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "Fiji" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "Isole Falkland [Malvinas]" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "Micronesia (Stati Federati della)" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "Isole Faroe" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "Francia" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "Gabon" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "Regno Unito di Gran Bretagna e Irlanda del Nord" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "Grenada" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "Georgia" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "Guyana Francese" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "Guernsey" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "Ghana" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "Gibilterra" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "Groenlandia" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "Gambia" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "Guinea" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "Guadalupe" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "Guinea Equatoriale" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "Grecia" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "Georgia del Sud e Isole Sandwich Australi" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "Guatemala" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "Guam" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "Guinea-Bissau" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "Guyana" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "Hong Kong" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "Isole Heard e McDonald" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "Honduras" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "Croazia" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "Haiti" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "Ungheria" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "Indonesia" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "Irlanda" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "Israele" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "Isola di Man" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "India" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "Territorio britannico dell'Oceano Indiano" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "Iraq" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "Iran (Repubblica Islamica dell')" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "Islanda" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "Italia" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "Jersey" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "Jamaica" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "Giordania" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "Giappone" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "Kenya" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "Kyrgyzstan" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "Cambogia" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "Kiribati" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "Comoros" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "Saint Kitts e Nevis" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "Corea (Repubblica Popolare Democratica di)" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "Corea (Repubblica di)" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "Kuwait" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "Isole Cayman" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "Kazakhstan" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "Laos" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "Libano" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "Santa Lucia" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "Liechtenstein" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "Sri Lanka" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "Liberia" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "Lesotho" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "Lituania" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "Lussemburgo" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "Lettonia" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "Libia" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "Marocco" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "Monaco" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "Moldavia (Repubblica di)" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "Montenegro" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "Saint Martin (francese)" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "Madagascar" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "Isole Marshall" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "Macedonia (ex Repubblica Jugoslavia)" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "Mali" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "Birmania" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "Mongolia" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "Macao" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "Isole Marianne Settentrionali" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "Martinica" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "Mauritania" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "Montserrat" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "Malta" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "Mauritius" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "Maldive" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "Malawi" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "Messico" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "Malesia" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "Mozambico" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "Namibia" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "Nuova Caledonia" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "Niger" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "Isole Norfolk" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "Nigeria" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "Nicaragua" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "Olanda" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "Norvegia" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "Nepal" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "Nauru" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "Niue" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "Nuova Zelanda" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "Oman" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "Panama" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "Perù" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "Polinesia Francese" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "Papua Nuova Guinea" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "Filippine" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "Pakistan" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "Polonia" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "Saint Pierre e Miquelon" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "Isole Pitcairn" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "Portorico" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "Palestina, Stato di" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "Portogallo" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "Palau" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "Paraguay" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "Qatar" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "Réunion" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "Romania" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "Serbia" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "Federazione Russa" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "Ruanda" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "Arabia Saudita" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "Isole Salomone" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "Seychelles" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "Sudan" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "Svezia" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "Singapore" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "Saint Helena, Ascension e Tristan da Cunha" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "Slovenia" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "Svalbard e Jan Mayen" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "Slovacchia" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "Sierra Leone" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "San Marino" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "Senegal" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "Somalia" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "Suriname" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "Sud Sudan" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "Sao Tome e Principe" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "El Salvador" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "Sint Maarten (olandese)" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "Repubblica Araba Siriana" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "Swaziland" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "Isole Turks e Caicos" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "Ciad" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "Territori Francesi Meridionali" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "Togo" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "Tailandia" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "Tajikistan" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "Tokelau" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "Timor Est" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "Turkmenistan" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "Tunisia" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "Tonga" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "Turchia" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "Trinidad e Tobago" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "Tuvalu" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "Taiwan (Provincia cinese)" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "Tanzania, Repubblica Unita di" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "Ucraina" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "Uganda" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "Isole minori esterne degli Stati Uniti d'America" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "Stati Uniti d'America" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "Uruguay" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "Uzbekistan" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "Vaticano" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "Saint Vincent e Grenadine" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "Venezuela" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "Isole Vergini britanniche" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "Isole Vergini statunitensi" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "Vietnam" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "Vanuatu" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "Wallis e Futuna" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "Samoa" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "Yemen" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "Mayotte" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "Sud Africa" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "Zambia" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "Zimbabwe" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Pedone" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "C" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "A" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "T" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "D" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "R" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "La partita è finita patta." #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s vince la partita" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s vince la partita" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "La partita è stata interrotta." #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "La partita è stata sospesa" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "La partita è stata annullata" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "Paese sconosciuto" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "Perché nessun giocatore ha pezzi sufficienti per dare scacco matto" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "Perché la stessa posizione si è ripetuta per tre volte di seguito" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "Perché le ultime 50 mosse non hanno portato niente di nuovo" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Perché entrambi i giocatori sono andati oltre il tempo massimo" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "Perché %(mover)s è in stallo" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "A causa di una sentenza pronunciata da un amministratore" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "Perché la partita ha superato la lunghezza massima" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "Perché %(white)s è andato fuori tempo massimo e %(black)s non ha sufficienti pezzi per dare scacco matto" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "Perché %(black)s è andato fuori tempo massimo e %(white)s non ha sufficienti pezzi per dare scacco matto" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "Perché %(loser)s ha abbandonato" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "Perché %(loser)s è andato fuori tempo massimo" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "Perché %(loser)s ha subito scacco matto" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "Perch %(loser)s si è disconnesso" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "Perché un giocatore ha perso la connessione" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "Poiché il server è stato spento." #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "Perché un giocatore si è disconnesso e l'altro ha richiesto la sospensione" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "Perchè %(black)s ha perso la connessione al server e %(white)s ha richiesto di aggiornare" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "Perchè %(white)s ha perso la connessione al server e %(black)s ha richiesto di aggiornare" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "Perchè %(white)s ha perso la connessione al server" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "Perchè %(black)s ha perso la connessione al server" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "Perché il motore di %(white)s è morto" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "Perché la connessione al server è stata persa" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "Ragione sconosciuta" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "ASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "ASEAN" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "Makruk: http://en.wikipedia.org/wiki/Makruk" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "Makruk" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "Cambodian: http://www.khmerinstitute.org/culture/ok.html" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "Cambodian" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "Ai-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "Ai-Wok" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "Sittuyin" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Casuale asimmetrico" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "Atomico" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "Alla cieca" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "Pedoni nascosti" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "Pezzi nascosti" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "Tutto bianco" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Angolo" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "EuroShogi" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Fischer Casuale" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "Re della collina" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "Uno dei giocatori inizia con un Cavallo in meno" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "Svantaggio di Cavallo" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "Vinciperdi 2" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Normale" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "Uno dei giocatori inizia con un Pedone in meno" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "Svantaggio di Pedone" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\nI pedoni bianchi cominciano alla quinta riga e i pedoni neri alla quarta" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "Pedone passato" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\nI pedoni cominciano alla quarta e quinta riga invece che la seconda e settima" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "Spinta di pedone" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "Uno dei giocatori inizia con lal Regina in meno" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "Svantaggio di Regina" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n* Pezzi scelti casualmente (due regine o tre alfieri possibili)\n* Esattamente un re di ogni colore\n* Pezzi piazzati casualmente dietro i pedoni\n* No arrocchi\n* L'arrangiamento dei neri è lo stesso dei bianchi" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Casuale" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "Uno dei giocatori inizia con una Torre in meno" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "Svantaggio di Torre" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Mischia" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "Suicidio" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "Theban" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "Capovolta" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "Wildcastle" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "La connessione è stata interrotta - ricevuto messaggio di \"end of file\"" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' non è un nome registrato" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "La password inserita non è valida.\nSe hai dimenticato la tua password, vai su http://www.freechess.org/password per richiederne una nuova per e-mail." #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "Scusa '%s' è già connesso" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Connessione al server in corso..." #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Autenticazione sul server in corso..." #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Impostazione dell'ambiente" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "%(player)s è %(status)s" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "non in gioco" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Selvaggio" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Online" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Offline" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "Disponibile" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "Giocando" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "In attesa" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "Esamino" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "Non disponibile" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "Simul Match in esecuzione" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "Torneo in corso" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Senza punteggio" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Valutata" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d min" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr " + %d sec" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "%(player)s gioca %(color)s" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "bianco" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "nero" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "Punteggio dell'avversatio" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "Accetta manualmente" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Privato" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Errore di connessione" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Errore di accesso" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "La connessione è terminata" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Errore indirizzo" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Disconnessione automatica" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Sei stato disconnesso perché non attivo per più di 60 minuti" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "Esaminato" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Altre" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Amministratore" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "Account alla cieca" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Team Account" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "Non registrato" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "Consulente" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "Rappresentante del servizio" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "Direttore di torneo" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "Mamer Manager" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "Gran Maestro" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "Maestro internazionale" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "Maestro FIDE" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "Grande Maestro Donna" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "Maestro Internazionale Donna" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "Maestro FIDE di sesso femminile" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "Account fittizio" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "C" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "T" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "U" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "CA" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "SR" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "TD" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "TM" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "GM" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "IM" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "FM" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "WGM" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "WIM" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "D" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "PyChess non riesce a caricare il tuo pannello delle impostazioni" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "Amici" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "Altri canali" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "Altri giocatori" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "Osservatori" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "Pausa" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "Nessuna discussione selezionata" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "Caricamento dati del giocatore" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "Ricezione della lista dei Giocatori" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "PyChess Finestra informazioni" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "di" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "Non hai ancora aperto nessuna discussione" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "Solo gli utenti registrati possono discutere su questo canale" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "Annulla" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "Seleziona motore" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Offri di rigiocare" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Rigioca la partita" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Annulla una mossa" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Annulla due mosse" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "Hai mandato un'offerta per terminare" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "Hai mandato una richiesta di aggiornamento" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Hai inviato una richiesta di patta" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "Hai mandato una offerta di Pausa" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "Hai inviato una richiesta di riprendere" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "Hai mandati una richiesta di annullamento" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "Hai chiesto al tuo avversario di muovere" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Il motore %s ha terminato l'esecuzione" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "Offri di annullare" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "La partita non può essere aggioranta perchè uno o entrambi i giocatori sono ospiti" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "Chiedi la patta" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "Riprendi" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "Offri Pausa" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "Offri Ripresa" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "Torna indietro" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "Offri torna indietro" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "Aspetta" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "Aggiorna" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "Visualizza la posizione iniziale" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "Visualizza la mossa precedente" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "Visualizza la mossa successiva" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Visualizza l'ultima posizione" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Essere Umano" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minuti:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Incremento:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "Rapido" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "Svantaggio" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "Altro (regole standard)" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "Altro (regole non standard)" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr " scacchi" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Imposta Posizione" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Entra nella partita" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Apri file sonoro" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "File sonori" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Nessun suono" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Avviso acustico" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Seleziona un file sonoro..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "Pannello senza descrizione" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "Lo sapevi che è possibile finire una partita a scacchi in appena 2 turni?" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "Lo sapevi che il numero di partite diverse giocabili è maggiore del numero di atomi dell'intero universo?" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "Per salvare una partita Parita > Salva partita come, indica un nome e scgli la posizione dove vuoi che venga effettuato il salvataggio. In basso scagli l'estensione del tipo di salvataggio, e Salva." #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "la stringa che indica la mossa deve contenere il pezzo e le coordinate" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "la riga catturata (%s) non è corretta" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "e" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "patta" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "dà matto" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "mette l'avversario sotto scacco" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "incrementa la sicurezza del Re" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "incrementa leggermente la sicurezza del Re" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "mette la Torre su una colonna aperta" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "mette la Torre su una colonna semi-aperta" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "muove l'alfiere in fianchetto: %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "promuove un pedone a %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "arrocca" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "si riprende il materiale" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "scambia materiale" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "cattura materiale" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "salvataggio di %s" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "minaccia di cattura materiale da parte di %s" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "aumenta la pressione su %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "difende %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "attacco del %(oppiece)s nemico sul %(piece)s su %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "Il Bianco ha un nuovo avamposto: %s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "Il Nero ha un nuovo avamposto: %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "%(color)s ha un nuovo pedone passato in %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "semiaperto" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "nel file %(x)s%(y)s" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "nei file %(x)s%(y)s" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "%(color)s ha un pedone doppiato in %(place)s" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "%(color)s ha un nuovo pedone doppiato in %(place)s" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "%(color)s ha un pedone isolato in %(x)s fila" msgstr[1] "%(color)s ha pedoni isolati in %(x)s fila" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "Il %s mette i pedoni in una formazione stonewall" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "%s non è possibile arroccare" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "%s non è possibile arroccare sul lato di donna" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "%s non è possibile arroccare sul lato di re" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "%(opcolor)s ha un alfiere in trappola on %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "sviluppo di pedone: %s" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "porta un pedone più vicino all'ultima traversa: %s" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "porta il %(piece)s più vicino al re avversario: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "sviluppo di %(piece)s: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "metti il %(piece)s in posizione migliore: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "Il Bianco dovrebbe iniziare un attacco di pedoni sulla destra" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "Il Nero dovrebbe iniziare un attacco di pedoni sulla sinistra" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "Il Bianco dovrebbe iniziare un attacco di pedoni sulla sinistra" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "Il Nero dovrebbe iniziare un attacco di pedoni sulla destra" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "Il Nero ha una posizione piuttosto ristretta" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "Il Nero ha una posizione leggermente ristretta" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "Il Bianco ha una posizione piuttosto ristretta" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "Il Bianco ha una posizione leggermente ristretta" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "Chiudi" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "Chiudi scacchi" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "Canale non ufficiale %d" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "Id" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "W Elo" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "B Elo" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "Turno" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Orologio" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Tipo" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Data/Ora" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "Richiedi di continuare" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "Esamina partita aggiornata" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "Elenco dei canali del server" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Chat" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Vinto" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Patta" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Perso" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "Sanzioni" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Email" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Trascorsi" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "in rete su un totale di" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Connessione in corso" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Partite in corso: %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Nome" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "Stato" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "Numero di Giocatori: %d" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Sfida: " #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "Questa opzione non è applicabile perché stai sfidando un giocatore" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Modifica ricerca: " #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "%(minutes)d min + %(gain)d sec/mossa" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Comando manuale" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "Qualsiasi titolo" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "Non puoi scegliere partite a punteggio perché sei connesso come \"ospite\"" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "Non puoi giocare una partita a punteggio perché è selezionata l'opzione \"Senza tempo\", " #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "e su FICS, le partite \"Senza tempo\" non possono essere a punteggio." #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "Questa opzione non è disponibile perché stai sfidando un \"Ospite\", " #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "e gli \"Ospiti\" non possono giocare partite a punteggio" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "Non puoi scegliere una variante perché hai selezionato \"Senza cronometro\", " #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "e su FICS, le partite \"Senza cronometro\" devono seguire le normali regole scacchistiche" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "Modifica tolleranza" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " minuti" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Ricerche attive: %d" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "ha declinato la tua proposta per una partita" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "ti sta censurando" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "Richiesta aggiornata" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "è arrivato" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "è partito" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "è presente" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Rileva automaticamente il tipo" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Salva la partita" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "Esporta posizioni" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Tipo di file sconosciuto '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "Impossibile salvare '%(uri)s', PyChess non conosce il formato '%(ending)s'." #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Impossibile salvare il file '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Sostituisci" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "File esistente" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Un file chiamato '%s' gia' esiste. Vuoi sostituirlo?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "Il file gia' esiste in '%s'. Se lo sostituisci, il suo contenuto verrà sovrascritto." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Impossibile salvare il file" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess non è stato in grado di salvare la partita" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "L'errore è stato: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "C'è %d partita con mosse non salvate." msgstr[1] "Ci sono %d partite con mosse non salvate." #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "Salvo le mosse prima della chiusura?" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "contro" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "_Salvo %d documento" msgstr[1] "_Salvo %d documenti" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Non sarà possibile continuare la partita, se non la salvi ora." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Tutti i file scacchistici" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "Annotazione" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "Partita annotata" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "Aggiungi un commento iniziale" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "Aggiungi un commento" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "Modifica Commento" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "Mossa forzata" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "Aggiungi il simbolo alla mossa" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "Posizione poco chiara" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "Iniziativa" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "Con intenzione d'attacco" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "Compenso" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "Controgioco" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "Incalzato dal tempo" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "Aggiungi il simbolo di valutazione" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "turno %s" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "Suggerimenti" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "Il pannello dei suggerimenti segnalerà la mossa migliore in ogni fase della partita" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Pannello ufficiale PyChess." #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Libro delle aperture" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "Il dizionario delle aperture potrò consigliarti durante la fase iniziale della partita mostrandoti le più comuni mosse fatte dai grandi maestri." #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "Analisi al %s" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "%s proverà a prevedere la mossa migliore e quale giocatore è in vantaggio." #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "Analisi della minaccia al %s" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "%s identificherà quali potrebbero essere le possibili minacce se se fosse il turno dell'avversario." #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "Calcolo in corso..." #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "Aggiungere i suggerimenti può aiutarti a pensare, ma rallenta l'analisi del computer." #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "Tablebase" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "La Tablebase mostrerà un'analisi esatta quando ci sono pochi pezzi sulla scacchiera." #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "Scacco matto in %d" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "In questa posizione, ⏎\nnon è possibile nessuna mossa legale." #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "Il pannello \"Chat\" ti permette di comunicare con il tuo avversario durante la partita... sempre che sia interessato" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Commenti" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "Il pannello dei commenti analizza e cerca di spiegare le mosse effettuate" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Posizione iniziale" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "%(color)s muove il %(piece)s in %(cord)s" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "Motori" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Elenco delle mosse" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "Il foglio delle mosse tiene traccia delle mosse dei giocatori e ti permette di navigare l'evoluzione della partita" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Punteggio" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "Il pannello del punteggio prova a valutare le posizioni e mostra attraverso un grafico i progressi della partita" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/ga/0000755000175000017500000000000013467766037013571 5ustar varunvarunpychess-1.0.0/lang/ga/LC_MESSAGES/0000755000175000017500000000000013467766037015356 5ustar varunvarunpychess-1.0.0/lang/ga/LC_MESSAGES/pychess.mo0000644000175000017500000001245013467766036017372 0ustar varunvarun_  +EQT&(      & , 7 = S \ g x           # . ; L U b d i r {    #           ! 3 L f          %    + 4 B N e k s ~ " +     a(J/s   *7,G t   /I cn~   .  %-4NTox~%! %7< BPYMb   %> FQc"t+"0IP+ >AMUXQ6_5E7W.N0"'&/)GF[$<%=3 TC:L! *Z1#Y,KV]\DJO-S 4B2(H;@8 ^R?9 AnalyzingAnimationPlay Sound When...PlayersA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedUnknown file type '%s'About ChessAll Chess FilesBBeepBishopBlackBlitzChess GameClockClose _without SavingCommentsConnectingConnection ErrorConnection was closedCould not save the fileEmailEnter GameEvent:File existsGain:Game informationGuestHuman BeingInitial positionKKnightLightningLocal EventLocal SiteLog on ErrorLog on as _GuestMinutes:Move HistoryNNameNew GameNo soundNormalOpen GameOpen Sound FilePPingPreferencesPyChess - Connect to Internet ChessQQueenRRatingRookRound:Save GameScoreSelect sound file...Site:SpentThe error was: %sThe game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedTimeTypeUnknownUse _analyzerWhite_Accept_Actions_Game_Help_Hide tabs when only one game is open_Load Game_Name:_New Game_Password:_Replace_Rotate Board_Start Game_Use sounds in PyChess_Viewcastlesdefends %sdrawshttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetymatesputs opponent in checkProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Irish (http://www.transifex.com/gbtami/pychess/language/ga/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: ga Plural-Forms: nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4); Ag miondealúBeochanSeinn Fuaim Nuair A...ImreoiríTá comhad leis an t-ainm '%s' ann cheana. Ar mhaith leat é a chuir ina ionad?D'éag an t-Inneall %sCineál comhad anaithnid '%s'Maidir le FicheallGach Comhad FicheallEBípEaspagDubhGastaCluiche FicheallClogDún gan cuir i dtaisceTráchtaíAg CeangailtBotún NaiscDúnadh an nascNíorbh fhéidir an comhad a chuir i dtaisceRíomhphostTéigh Isteach i gCluicheTeagmhas:Tá an comhad ann cheanaBuachan:Faisnéis an chluicheAoíDuineSuíomh tosaighRRidireFíor-ThapaTeagmhas LogántaSuíomh LogántaBotún ag Síniú IsteachSínigh isteach mar _AoíNóiméid:Bog an t-OireasNAinmCluiche NuaGan fuaimGnáthOscail CluicheOscail an Comhad FuaimePPingSainroghannaPyChess - Ficheall Nasctha leis an t-IdirlíonBBanríonRMeastachánRúcachDreas:Cuir an Cluiche i dtaisceScórRoghnaigh comhad fuaime...Suíomh:CaiteAn botún ná: %sChríochnaigh an cluiche ar comhscórTobscoireadh an cluicheCuireadh an cluiche ar fionraíCuireadh deireadh leis an cluicheAmCineálAnaithnidBain feidhm as anBán_Glac_Gníomhartha_Cluiche_Cabhair_Folaigh na cluaisíní nuair atá nach bhfuil ach cluiche amháin ar oscailt_Luchtaigh Cluiche_Ainm:Cluiche _Nua_Focal Faire:_Ionadaigh_Rothlaigh an Clár_Tosaigh an Cluiche_Bain feidhm as fuaimeanna i bPyChess_Amharccaisleáincosnaíonn sé %scluichí cothromhttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessfeabhsaíonn sé slándála an rímarbhsháinnithecuireann sé an céile iomaíocht i marbhsháinnpychess-1.0.0/lang/ga/LC_MESSAGES/pychess.po0000644000175000017500000043503513455542732017375 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2008 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Irish (http://www.transifex.com/gbtami/pychess/language/ga/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ga\n" "Plural-Forms: nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Cluiche" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "Cluiche _Nua" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Luchtaigh Cluiche" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Gníomhartha" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Amharc" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Rothlaigh an Clár" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Cabhair" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Maidir le Ficheall" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Sainroghanna" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Folaigh na cluaisíní nuair atá nach bhfuil ach cluiche amháin ar oscailt" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Beochan" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Bain feidhm as an" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Ag miondealú" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Bain feidhm as fuaimeanna i bPyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Seinn Fuaim Nuair A..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Banríon" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Rúcach" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Easpag" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Ridire" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Faisnéis an chluiche" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Suíomh:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Dreas:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Teagmhas:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Bán" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Dubh" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Ficheall Nasctha leis an t-Idirlíon" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Focal Faire:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Ainm:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Sínigh isteach mar _Aoí" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Glac" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Gasta" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Fíor-Thapa" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Meastachán" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Am" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Aoí" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Cluiche Nua" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Tosaigh an Cluiche" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Imreoirí" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Dún gan cuir i dtaisce" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://en.wikipedia.org/wiki/Chess" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://en.wikipedia.org/wiki/Rules_of_chess" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Oscail Cluiche" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Anaithnid" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Cluiche Ficheall" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Teagmhas Logánta" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Suíomh Logánta" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "N" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "E" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "R" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "B" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "R" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Chríochnaigh an cluiche ar comhscór" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "Cuireadh deireadh leis an cluiche" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Cuireadh an cluiche ar fionraí" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Tobscoireadh an cluiche" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Gnáth" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Botún Naisc" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Botún ag Síniú Isteach" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Dúnadh an nasc" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "D'éag an t-Inneall %s" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Duine" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Nóiméid:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Buachan:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Téigh Isteach i gCluiche" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Oscail an Comhad Fuaime" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Gan fuaim" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Bíp" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Roghnaigh comhad fuaime..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "cluichí cothrom" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "marbhsháinnithe" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "cuireann sé an céile iomaíocht i marbhsháinn" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "feabhsaíonn sé slándála an rí" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "caisleáin" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "cosnaíonn sé %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Clog" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Cineál" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "Ríomhphost" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Caite" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Ag Ceangailt" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Ainm" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Cuir an Cluiche i dtaisce" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Cineál comhad anaithnid '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Ionadaigh" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Tá an comhad ann cheana" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Tá comhad leis an t-ainm '%s' ann cheana. Ar mhaith leat é a chuir ina ionad?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "" #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Níorbh fhéidir an comhad a chuir i dtaisce" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "An botún ná: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Gach Comhad Ficheall" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Tráchtaí" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Suíomh tosaigh" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Bog an t-Oireas" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Scór" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/et/0000755000175000017500000000000013467766037013612 5ustar varunvarunpychess-1.0.0/lang/et/LC_MESSAGES/0000755000175000017500000000000013467766037015377 5ustar varunvarunpychess-1.0.0/lang/et/LC_MESSAGES/pychess.mo0000644000175000017500000002250213467766035017411 0ustar varunvarun    !> ` '~      Q &^7*(#4 HTdfkr$x#%"# . 4?NTj s~  "1 BP Vbsu |       '46; J V#`   5<TN )1 9G^$d#%"# 0!Qs{ %       '3J'Px "+7=!Z |l {!;1#DhP"6 3D+x "*G.f.    /?Ws z    $& ,6GYm        ! ,!8Z\a cnv}  + + Y8        ! !! 2!S!!Y!"{!"!/!/!!"";"&^"" " """0" " "" # # #)#1#@#P#_#y#### # # ##!#!$*$G$[$d$$&$$$$"%)%u/VC#IcNq ]^>%bKl"v:j{EW*n&Q<7)p@JPR6B.0g='M~ +T4_U3$mr x ;O\ AkyDHeowz-(FaL}hXf51 Y?Sst|Z!d,9`i[82G%s returns an error%s was declined by your opponent%s was withdrawn by your opponent'%s' is not a registered namePromote pawn to what?AnalyzingAnimationEnter Game NotationPlay Sound When...PlayersA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedPyChess was not able to save the gameUnable to save file '%s'Unknown file type '%s'A player _checks:A player _moves:A player c_aptures:About ChessAll Chess FilesBBeepBishopBlackBlack has a new piece in outpost: %sBlack has a rather cramped positionBlack has a slightly cramped positionBlack should do pawn storm in leftBlack should do pawn storm in rightBlitzChess GameChess PositionClockClose _without SavingCommentsConnectingConnection ErrorConnection was closedCould not save the fileDetect type automaticallyEmailEnter GameEvent:File existsGain:Game informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:GuestHuman BeingInitial positionKKnightLightningLocal EventLocal SiteLog on ErrorLog on as _GuestMinutes:Move HistoryNNameNew GameNo soundNormalObserved _ends:Offer _DrawOpen GameOpen Sound FileOpening BookPPingPlayer _RatingPreferencesPromotionPyChess - Connect to Internet ChessQQueenRRatedRatingRookRound:Save GameSave Game _AsScoreSelect sound file...Send seekSimple Chess PositionSite:SpentThe connection was broken - got "end of file" messageThe error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedTimeTypeUnable to accept %sUnknownUnratedUse _analyzerUse _inverted analyzerWhiteWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite has a slightly cramped positionWhite should do pawn storm in leftWhite should do pawn storm in rightYou sent a draw offerYour opponent asks you to hurry!Your opponent is not out of time._Accept_Actions_Call Flag_Game_Help_Hide tabs when only one game is open_Load Game_Log Viewer_Name:_New Game_Observed moves:_Password:_Replace_Rotate Board_Save Game_Start Game_Use sounds in PyChess_Viewbrings a pawn closer to the backrow: %scaptures materialcastlesdefends %sdrawsexchanges materialhttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyincreases the pressure on %smatesmoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %sonline in totalpromotes a Pawn to a %sputs opponent in checkslightly improves king safetytakes back materialProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Estonian (http://www.transifex.com/gbtami/pychess/language/et/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: et Plural-Forms: nplurals=2; plural=(n != 1); %s annab veaSinu vastane keeldus %s%s võeti su vastase poolt tagasi'%s' ei ole registreeritud nimiMilliseks malendiks muuta lipustuv ettur?AnalüüsinAnimatsioonSisesta mängu üleskirjutusMängi helilõik kui ...MängijadFaili nimega '%s' on juba olemas. Kas sa soovid seda asendada?Mootor, %s, suriPyChess ei suutnud mängu salvestadaFaili '%s' ei õnnestu salvestadaTundmatu failitüüp '%s'Mängija annab _tuleMängija _käibMängija lööb:Male kohtaKõik malefailidOPiiksOdaMustMustall on uus vigur eelpostil: %sMust on üsna surutud seisusMust on kergelt surutud seisusMust peaks alustama etturite rünnakut vasakulMust peaks alustama etturite rünnakut paremalKiirmaleMalemängMale positsioonKellSulge _ilma salvestamisetaKommentaaridÜhendumineÜhenduse vigaÜhendus suletiFaili ei saa salvestadaMäära tüüp automaatseltE-postSisene mänguSündmus:Fail on juba olemasTeenitud:MänguinfoMäng on _viigisMäng on _kaotatudMäng on üles _seatudMäng on _võidetudKülalineInimeneAlgseisKRatsuVälkmaleKohalik sündmusKohalik lehekülgViga sisselogimiselLogi sisse _KülalisenaMinutid:Käikude ajaluguRNimiUus mängHeli puudubTavalineVaadeldav _lõppebPaku _viikiAva mängAva helifailAvanguraamatEPingMängija _reitingEelistusedLipustuminePyChess - Mängi malet InternetisLLippVReitingugaReitingVankerRaund:Salvesta mängSalvesta mäng _kuiTulemusVali helifail...Saada mänguotsingLihtne male positsioonLehekülg:KulutanudÜhendus katkes - sain "faililõpu" sõnumiViga oli: %sFail eksisteerib juba kataloogis '%s' Kui sa ta asendad siis kirjutatakse tema sisu üle.Mäng lõppes viigigaMäng on katkestatudMäng on edasi lükatudMäng on tapetudAegTüüp%s ei saa vastu võttaTundmatuReitingutaKasuta _analüüsijatKasuta _pööratud analüüsijatValgeValgel on uus vigur eelpostil: %sValgel on üsna surutud positsioonValgel on pisut surutud positsioonValge peaks alustama etturite rünnakut vasakulValge peaks alustama etturite rünnakut paremalSa saatsid viigipakkumiseSinu vastane palub sul kiirustada!Sinu vastane pole ületanud ajalimiiti_Nõustu_Tegevused_Kutse Lipp_Mäng_Abi_Peida vahelehed, kui ainult üks mäng on lahti_Lae mäng_Logi vaataja_Nimi:_Uus mäng_Vaadeldud käigud_Parool:_Asenda_Pööra lauda_Salvesta mäng_Alusta mängu_Kasuta helisid PyChessis_VaadeToob etturi tagareale lähemale: %svõtab materjalivangerdabkaitseb %sviigistabvahetab materjalihttp://et.wikipedia.org/wiki/Malehttp://et.wikipedia.org/wiki/Maleparandab kuninga julgeolekutsuurendab survet %smatistabviib vankri avatud liinileviib vankri poolavatud liinilekäib odaga fianchetto positsiooni: %skokku ühendatudettur lipustub viguriks %sannab vastasele tuleparandab pisut kuninga julgeolekutvõidab materjali tagasipychess-1.0.0/lang/et/LC_MESSAGES/pychess.po0000644000175000017500000043720013455542765017420 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # FIRST AUTHOR , 2007 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Estonian (http://www.transifex.com/gbtami/pychess/language/et/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: et\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Mäng" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Uus mäng" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Lae mäng" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Salvesta mäng" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Salvesta mäng _kui" #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Mängija _reiting" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Tegevused" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Paku _viiki" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Kutse Lipp" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Vaade" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Pööra lauda" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_Logi vaataja" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Abi" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Male kohta" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Eelistused" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "" #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "" #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Peida vahelehed, kui ainult üks mäng on lahti" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "" #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "" #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "" #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "" #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "" #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "" #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "" #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "" #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "" #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "" #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "" #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animatsioon" #: glade/PyChess.glade:1527 msgid "_General" msgstr "" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "" #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Kasuta _analüüsijat" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Kasuta _pööratud analüüsijat" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analüüsin" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "" #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Kasuta helisid PyChessis" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "Mängija annab _tule" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Mängija _käib" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Mäng on _viigis" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Mäng on _kaotatud" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Mäng on _võidetud" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Mängija lööb:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Mäng on üles _seatud" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "_Vaadeldud käigud" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "Vaadeldav _lõppeb" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Mängi helilõik kui ..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Lipustumine" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Lipp" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Vanker" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Oda" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Ratsu" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Milliseks malendiks muuta lipustuv ettur?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Mänguinfo" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Lehekülg:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Raund:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Sündmus:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "" #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "" #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Valge" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Must" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "" #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Mängi malet Internetis" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Parool:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Nimi:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Logi sisse _Külalisena" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "" #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Nõustu" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Saada mänguotsing" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Kiirmale" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Välkmale" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Reiting" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Aeg" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Külaline" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "" #: glade/findbar.glade:6 msgid "window1" msgstr "" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "" #: glade/findbar.glade:66 msgid "Search:" msgstr "" #: glade/findbar.glade:134 msgid "_Previous" msgstr "" #: glade/findbar.glade:192 msgid "_Next" msgstr "" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Uus mäng" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Alusta mängu" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "" #: glade/newInOut.glade:143 msgid "Clear" msgstr "" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Mängijad" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Sisesta mängu üleskirjutus" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Sulge _ilma salvestamiseta" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://et.wikipedia.org/wiki/Male" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://et.wikipedia.org/wiki/Male" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Ava mäng" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "" #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "" #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "" #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "" #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "" #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "" #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "" #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "" #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "" #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "" #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "" #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "" #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Sinu vastane pole ületanud ajalimiiti" #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "" #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "" #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "" #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Sinu vastane palub sul kiirustada!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "" #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "Sinu vastane keeldus %s" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s võeti su vastase poolt tagasi" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "" #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "%s ei saa vastu võtta" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "" #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s annab vea" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Male positsioon" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Tundmatu" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Lihtne male positsioon" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Malemäng" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "" #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "" #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "" #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Kohalik sündmus" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Kohalik lehekülg" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "E" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "R" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "O" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "V" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "L" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "K" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Mäng lõppes viigiga" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "Mäng on tapetud" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Mäng on edasi lükatud" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Mäng on katkestatud" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "" #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "" #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Tavaline" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "Ühendus katkes - sain \"faililõpu\" sõnumi" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' ei ole registreeritud nimi" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Reitinguta" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Reitinguga" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Ühenduse viga" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Viga sisselogimisel" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Ühendus suleti" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Sa saatsid viigipakkumise" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Mootor, %s, suri" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Inimene" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minutid:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Teenitud:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Sisene mängu" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Ava helifail" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Heli puudub" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Piiks" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Vali helifail..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "viigistab" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "matistab" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "annab vastasele tule" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "parandab kuninga julgeolekut" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "parandab pisut kuninga julgeolekut" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "viib vankri avatud liinile" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "viib vankri poolavatud liinile" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "käib odaga fianchetto positsiooni: %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "ettur lipustub viguriks %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "vangerdab" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "võidab materjali tagasi" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "vahetab materjali" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "võtab materjali" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "suurendab survet %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "kaitseb %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "Valgel on uus vigur eelpostil: %s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "Mustall on uus vigur eelpostil: %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "Toob etturi tagareale lähemale: %s" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "Valge peaks alustama etturite rünnakut paremal" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "Must peaks alustama etturite rünnakut vasakul" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "Valge peaks alustama etturite rünnakut vasakul" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "Must peaks alustama etturite rünnakut paremal" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "Must on üsna surutud seisus" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "Must on kergelt surutud seisus" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "Valgel on üsna surutud positsioon" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "Valgel on pisut surutud positsioon" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Kell" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Tüüp" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "E-post" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Kulutanud" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "kokku ühendatud" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Ühendumine" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Nimi" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Määra tüüp automaatselt" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Salvesta mäng" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Tundmatu failitüüp '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Faili '%s' ei õnnestu salvestada" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Asenda" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Fail on juba olemas" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Faili nimega '%s' on juba olemas. Kas sa soovid seda asendada?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "Fail eksisteerib juba kataloogis '%s' Kui sa ta asendad siis kirjutatakse tema sisu üle." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Faili ei saa salvestada" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess ei suutnud mängu salvestada" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "Viga oli: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "" #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Kõik malefailid" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Avanguraamat" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "" #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Kommentaarid" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Algseis" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "" #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Käikude ajalugu" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Tulemus" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/pl/0000755000175000017500000000000013467766037013615 5ustar varunvarunpychess-1.0.0/lang/pl/LC_MESSAGES/0000755000175000017500000000000013467766037015402 5ustar varunvarunpychess-1.0.0/lang/pl/LC_MESSAGES/pychess.mo0000644000175000017500000013003413467766036017415 0ustar varunvarun&L|"- - -..4.';.c. w.!...!.///4/9/V/'\////////0#30$W0#|000000 11.1D1V1p1Q1&1C17@2Ux2*2(2"383J3[3o3eu33 333&3.#4R4 c4S44m4M5]5l55 55C5 6 66-6C6*S6~6 6666/6S6QA777!77 808/M8S}8Q8##9*G9"r9+99r`: :K:%@;Of;-;3;$<6=<#t<E<A<! =!B=-d=&=-=;= #>BD>>>> > >$>#>%>"?#A?e?l?r?y?? ?8?.? @ @@ 0@;@ J@VW@V@RASXAAAAAAAA B B!B2BHBQB iBuBBBBBBGB`CyC CCC C C CCC CC}C sD&~DDDDD0D EE :E FEREXEiEyEE EEEDFJF YF fFtFyF F FFGFAF&GG>sHXHR IB^IcI]J?cJBJ;Jq"KSKOKF8M)MM MDM NNNN#N5N EN ONZN lN xN NNNNN+NNN O!!OCO LO WO dOpOrO.wO/OO OCO1P:PAP `PnPvP P PP P P P P P P P QQ.Q6Q=QQQ kQuQ QQQ Q QQQQQQQRR.R=R ERORWRkRtR RR'R R R#R SSS S%S'S/SNS TS_S fSqS xSSSSSSSS S SS(ST T/T5T =TIT"^TTT TTT TT$TU&U>UUUjU ~U UUUUUU UUUUpVhwV"VCW5GW4}W9W3W X/XcOXXTX Y9(YZbYYYY Z}%ZZ`Z [:[[[[[Z\\\o\v\\\ \\\\ \\\\ ]] ].] =]G]O]W] _]m]]] ]]]6]^^'^ -^ 7^$C^#h^%^"^#^^___4_?T_(_C_&`(`>`U`m`` `t`2aabc%clc!,d/Nd&~d(d&d'd'eEeUe^efe oe }e e e e eeeee ee eef%f.f5f Df Of [fef lfvf|f f ff f ff ff fgg'g /g;g+Dgpgg gg'gggh hh h 3h"=h+`hhhhhhh!h i ?i LiZikiziiiiiiiiij-j1j9j@j=lFlOlgll*ll0l.l$"mGm^m~mmmmmm"mmn"n3nKnenzn"n nn%n"o6oRo ko!xo ooooo pC"p:fp;p1pWq0gq)qqqqqqeqer nryr r%rDrr$ s_1ssmstt0tHtdtstXt tttu#*u2Nu(u uuuu4u\ vliv%v&v-#w Qw&rw3w4w\xl_x$x.x. y)Oyyyz%zSz/{O5{6{,{-{K|c|4{|6|(|(}39}4m}:}A}$~AD~~~~~~)~)~(2F9y =0] ŀրi]P\] isy  ɂԂ *D Vch pzKsr Ƅׄބ . # <-j$ Ć͆߆'*>i  *17 = GVQNZtIϊVSpċsL@BFDtSTOj?H#lnt|   Ӑݐ +%Q f$đؑ/9"\eIt ̒&Ւ  -DZr̓ޓ%>FMa {Ȕ ʔ Ք ߔ7%Rx  Еܕ1 ', T`bj{ }$ ǖϖޖ#*< C P]/v,ӗ$CTp .͘-"Dg{ ƙ ϙٙid&L=_.& i:]D1fvݝ*vD1TB[ G+s ɠ֠ %")L]dv  ɡ$9M5eǢ)ߢ) (3%\3 ʣ!ۣ'I%,oA'ޤ#!"E"h"(\ץ4զccǧ%J`p/Ѩ5%7&]&$8Щ  ) 0>Mc u   ˪ Ъ ܪ1 + ?M S] e oz  ʫիޫ , AL]Nnܬ "/ Cdy  #0#7Qqx'|-Ү/E\r ¯/Ư !5!z{)i "joMW RFg{x<?eKvhFyg145D>:r#&TI %qftl#dE `s." *,'a^p0QfeyN9(K+B7OM.ST!/axHIkr7>VcCcz  P$ l0U=JAu=w2Z$1n[U 38}b m 3(i2h| O W\Q4H%@'G&Ep- ;YSj ~w/Xn]ZJ[B,|tC8^Gm:@]b)}#uVDLv\Y;-qAP6<"L%N`_d?&_6  R9~X*$o+sk Gain: + %d sec%(black)s won the game%(white)s won the game%d min%s moves pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent'%s' is not a registered name(Blitz)(Link is available on clipboard.)0 Players Ready0 of 010 min + 6 sec/move, White12002 min, Fischer Random, Black5 minPromote pawn to what?AnalyzingAnimationChess SetsChess VariantEnter Game NotationGeneral OptionsInitial PositionInstalled SidepanelsName of _first human player:Name of s_econd human player:New version %s is available!Open GameOpening, endgameOpponent StrengthOptionsPlay Sound When...PlayersTime ControlWelcome screenYour Color_Connect to server_Start GameA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedPyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to save file '%s'Unknown file type '%s'Challenge:A player _checks:A player _moves:A player c_aptures:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortAbout ChessAc_tiveAcceptActivate alarm when _remaining sec is:Active color field must be one of w or b. %sActive seeks: %dAdd threatening variation lines Adding suggestions can help you find ideas, but slows down the computer's analysis.Ai-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364All Chess FilesAnalysis by %sAnalyze black movesAnalyze from current positionAnalyze gameAnalyze white movesAnimate pieces, board rotation and more. Use this on fast machines.AnnotationAsk to _MoveAsymmetric RandomAsymmetric Random Auto Call _FlagAuto _rotate board to current human playerAuto login on startupAvailableBB EloBackround image path :Because %(black)s lost connection to the serverBecause %(black)s lost connection to the server and %(white)s requested adjournmentBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s king explodedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause %(mover)s stalematedBecause %(white)s lost connection to the serverBecause %(white)s lost connection to the server and %(black)s requested adjournmentBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause %(winner)s has fewer piecesBecause %(winner)s king reached the centerBecause %(winner)s lost all piecesBecause %(winner)s was giving check 3 timesBecause a player aborted the game. Either player can abort the game without the other's consent before the second move. No rating changes have occurred.Because a player disconnected and there are too few moves to warrant adjournment. No rating changes have occurred.Because a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both players agreed to a drawBecause both players agreed to abort the game. No rating changes have occurred.Because both players agreed to an adjournmentBecause both players have the same amount of piecesBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause of adjudication by an admin. No rating changes have occurred.Because of courtesy by a player. No rating changes have occurred.Because the %(black)s engine diedBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBecause the server was shut downBecause the server was shut down. No rating changes have occurred.BeepBishopBlackBlack O-OBlack O-O-OBlack has a new piece in outpost: %sBlack has a rather cramped positionBlack has a slightly cramped positionBlack should do pawn storm in leftBlack should do pawn storm in rightBlack:BlitzBlitz:Blitz: 5 minCalculating...CambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCastling availability field is not legal. %sCenter:ChallengeChallenge: Chess GameChess PositionChess clientClassic chess rules with all pieces white http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden figurines http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pawns http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pieces http://en.wikipedia.org/wiki/Blindfold_chessClearClockClose _without SavingColorize analyzed movesCommand:CommentsComputerConnectingConnecting to serverConnection ErrorConnection was closedCopy FENCould not save the fileCreate SeekDark Squares :DateDeclineDefaultDestination Host UnreachableDetect type automaticallyDo you know that it is possible to finish a chess game in just 2 turns?Do you know that the number of possible chess games exceeds the number of atoms in the Universe?Do you want to abort it?Don't careDrawECOEdit SeekEdit Seek: Edit commentEmailEn passant lineEndgame TableEnginesEngines use uci or xboard communication protocol to talk to the GUI. If it can use both you can set here which one you like.Enter GameError parsing move %(moveno)s %(mstr)sEventEvent:ExamineFEN needs 6 data fields. %sFEN needs at least 2 data fields in fenstr. %sF_ull board animationFace _to Face display modeFile existsForced moveGain:Game informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Gaviota TB path:Generally this means nothing, as the game is time-based, but if you want to please your opponent, perhaps you should get going.GuestHalfmove clockHidden pawnsHidden piecesHideHost:How to PlayHuman BeingIdleIf set, FICS game numbers in tab labels next to player names are shown.If set, PyChess will colorize suboptimal analyzed moves with red.If set, PyChess will show game results for different moves in positions containing 6 or less pieces. It will search positions from http://www.k4it.de/If set, PyChess will show game results for different moves in positions containing 6 or less pieces. You can download tablebase files from: http://www.olympuschess.com/egtb/gaviota/If set, PyChess will suggest best opening moves on hint panel.If set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, clicking on main application window closer first time it closes all games.If set, pawn promotes to queen without promotion dialog selection.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the captured figurines will be shown next to the board.If set, the elapsed time that a player used for the move is shown.If set, the hint analyzer engine evaluation value is shown.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If the analyzer finds a move where the evaluation difference (the difference between the evaluation for the move it thinks is the best move and the evaluation for the move made in the game) exceeds this value, it will add an annotation for that move (consisting of the engine's Principal Variation for the move) to the Annotation panelIf you don't save, new changes to your games will be permanently lost.In this position, there is no legal move.Initial positionInvalid move.It is not possible later to continue the game, if you don't save it.KKingKnightKnightsLeave _FullscreenLight Squares :LightningLightning:Load _Recent GameLocal EventLocal SiteLog on ErrorLog on as _GuestLogging on to serverLossMakrukMakruk: http://en.wikipedia.org/wiki/MakrukManage enginesManually accept opponentMate in %dMaximum analysis time in seconds:Minutes:Minutes: Move HistoryMove numberNNameNeeds 7 slashes in piece placement field. %sNever use animation. Use this on slow machines.New GameNo _animationNo chess engines (computer players) are participating in this game.No soundNormalNormal: 40 min + 15 sec/moveNot AvailableObserveObserved _ends:Offer A_bortOffer AbortOffer Ad_journmentOffer PauseOffer ResumeOffer UndoOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOnlineOnly animate _movesOnly animate piece moves.Open GameOpen Sound FileOpening BookOpponent's strength: PParameters:Paste FENPausePawnPingPlayPlay Fischer Random chessPlay Losers chessPlay _Internet ChessPlay normal chess rulesPlayer _RatingPlayingPng imagePo_rts:Polyglot book file:Pre_viewPrefer figures in _notationPreferencesPrivateProbably because it has been withdrawn.PromotionProtocol:PyChess - Connect to Internet ChessPyChess.py:QQueenQuit PyChessRR_esignRapid: 15 min + 10 sec/moveRatedRated gameRatingRegisteredResendResend %s?ResultResumeRookRoundRound:S_ign upSaveSave GameSave Game _AsSave _own games onlySave analyzing engine _evaluation valuesSave elapsed move _timesSave files to:ScoreSearch:Seek _GraphSelect sound file...Select the games you want to save:Send ChallengeSend all seeksSend seekSetting up environmentSetup PositionSho_w cordsShort on _time:Show FICS game numbers in tab labelsShow _captured piecesShow elapsed move timesShow evaluation valuesShow tips at startupShredderLinuxChess:Side to moveSide_panelsSimple Chess PositionSiteSite:SpentStandardStandard:Start Private ChatThe abort offerThe adjourn offerThe analyzer will run in the background and analyze the game. This is necessary for the hint mode to workThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe directory where the engine will be started from.The displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe engine %s reports an error:The engine output panel shows the thinking output of chess engines (computer players) during a gameThe error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The flag callThe game can't be loaded, because of an error parsing FENThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe inverse analyzer will analyze the game as if your opponent was to move. This is necessary for the spy mode to workThe move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe reason is unknownThe resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe takeback offerThemesThreat analysis by %sTimeTime control: Time pressureTip Of The dayTip of the DayTitledTolerance:Translate PyChessTypeUnable to accept %sUnclear positionUndoUndo one moveUndo two movesUninstallUnknownUnratedUntimedUse _analyzerUse _inverted analyzerUse _local tablebasesUse _online tablebasesUse analyzer:Use name format:Use opening _bookVariation annotation creation threshold in centipawns:W EloWelcomeWhiteWhite O-OWhite O-O-OWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite has a slightly cramped positionWhite should do pawn storm in leftWhite should do pawn storm in rightWhite:WinWorking directory:Year, month, day: #y, #m, #dYou asked your opponent to moveYou can't play rated games because you are logged in as a guestYou can't switch colors during the game.You have been logged out because you were idle more than 60 minutesYou have tried to undo too many moves.You sent a draw offerYou sent a pause offerYou sent a resume offerYou sent an abort offerYou sent an undo offerYour opponent asks you to hurry!Your opponent has asked that the game be aborted. If you accept this offer, the game will end with no rating change.Your opponent has asked that the game be adjourned. If you accept this offer, the game will be adjourned and you can resume it later (when your opponent is online and both players agree to resume).Your opponent has asked that the game be paused. If you accept this offer, the game clock will be paused until both players agree to resume the game.Your opponent has asked that the game be resumed. If you accept this offer, the game clock will continue from where it was paused.Your opponent has asked that the last %s move(s) be undone. If you accept this offer, the game will continue from the earlier position.Your opponent has offered you a draw.Your opponent has offered you a draw. If you accept this offer, the game will end with a score of 1/2 - 1/2.Your opponent is not out of time.Your opponent seems to have changed their mind.Your opponent wants to abort the game.Your opponent wants to adjourn the game.Your opponent wants to pause the game.Your opponent wants to resume the game.Your opponent wants to undo %s move(s).Your strength: Zugzwang_Accept_Actions_Analyze Game_Archived_Call Flag_Clear Seeks_Copy FEN_Copy PGN_Decline_Edit_Engines_Export Position_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hints_Invalid move:_Load Game_Log Viewer_My games_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Replace_Rotate Board_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Untimed_Use main app closer [x] to close all games_Use sounds in PyChess_View_Your Color:ask your opponent to movebrings a pawn closer to the backrow: %scall your opponents flagcaptures materialcastlesdefends %sdrawsexchanges materialgnuchess:http://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyincreases the pressure on %sinvalid promoted piecematesminmoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %soffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalpromotes a Pawn to a %sputs opponent in checkresignsecslightly improves king safetytakes back materialuciwindow1xboardProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Polish (http://www.transifex.com/gbtami/pychess/language/pl/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: pl Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3); Dodawaj:+ %d sek%(black)s wygrały grę%(white)s wygrały grę%d min%s ustawiają piony w formację łańcucha%s zwraca błąd%s została odrzucona przez Twojego przeciwnika.%s została wycofana przez Twojego przeciwnika'%s' nie jest zarejestrowaną nazwą(Szachy błyskawiczne)(Link jest dostępny w schowku)0 Graczy Gotowych0 z 010 min + 6 sek/ruch, Białe12002 min, Fischer Losowa, Czarne5 minPromuj piona na:AnalizowanieAnimacjaZestawy szachoweWariant szachówWpisz Notację GryOpcje ogólnePoczątkowe PołożenieZainstalowane Panele BoczneImię _pierwszego gracza:Imię d_rugiego gracza:Dostępna jest nowa wersja %s!Wczytaj GręOtwarcie, końcówkaSiła przeciwnikaOpcjeOdtwarzaj dźwięk, gdy...GraczeUstawienia czasuEkran powitalnyTwój KolorPołącz się z serwerem_Rozpocznij GręPlik o nazwie: '%s' już istnieje. Zastąpić go?Komputerowy silnik szachowy, %s, "padł"PyChess szuka silników. Proszę czekać.PyChess nie mógł zapisać gryJest %d gier z niezapisanymi położeniami. Zapisać przed wyjściem?Nie można zapisać pliku '%s'Nieznany typ pliku '%s'Wyzwij:_SzachGracz _wykonał ruch_ZbicieASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docPrzerwijO szachachAk_tywujZaakceptujAktywuj alarm, gdy pozostało sekund:Pole koloru aktywnego gracza musi przyjmować wartość w lub b. %sAktywnych pokoi: %dDodaj linie wariantu zagrażającegoDodawanie sugestii może pomóc Ci znajdować pomysły, ale spowalnia to analizę komputerową.Ai-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364Wszystkie pliki szachoweAnaliza przez %sAnalizuj ruchy czarnychAnalizuj od obecnej pozycjiAnalizuj grę Analizuj ruchy białychAnimuj m.in. bierki i obroty rotacji szachownicy. Użyj tej opcji na szybkich maszynach.AdnotacjePoproś o ruchAsymetryczny LosowyAsymetryczny przypadkowyAutomatycznie _zgłoś koniec czasuAutomatycznie obracaj stół dla aktualnego graczaAutomatyczne logowanie przy uruchomieniuDostępnyGElo BŚcieżka do obrazu w tle:Ponieważ %(black)s utracił połączenie z serweremPonieważ %(black)s utracił połączenie z serwerem a %(white)s poprosił o odłożenie gryPonieważ %(black)s przekroczył czas na grę a %(white)s posiada niewystarczający materiał do zamatowaniaPonieważ %(loser)s rozłączył sięPonieważ król %(loser)s eksplodowałPonieważ %(loser)s przekroczył czas na gręPonieważ %(loser)s zrezygnowałPonieważ %(loser)s został zamatowanyPonieważ %(mover)s znalazł się w pozycji patowejPonieważ %(white)s utracił połączenie z serweremPonieważ %(white)s utracił połączenie z serwerem a %(black)s poprosił o odłożenie gryPonieważ %(white)s przekroczył czas na grę a %(black)s posiada niewystarczający materiał do zamatowaniaPonieważ %(winner)s ma mniej bierekPonieważ krół %(winner)s dotarł do centrumPonieważ %(winner)s stracił wszystkie bierkiPonieważ %(winner)s dawał szacha 3 razyPonieważ gracz przerwał grę. Każdy z graczy może przerwać grę bez zgody drugiego przed kolejnym ruchem. Wyniki nie uległy zmianie.Ponieważ jeden z graczy rozłączył się, a wykonano zbyt mało ruchów, aby uzasadnić odłożenie gry. Wyniki nie uległy zmianie.Ponieważ gracz utracił połączeniePonieważ jeden z graczy utracił połączenie a drugi poprosił o odłożenie gryPonieważ obydwaj gracze zgodzili się na remisPonieważ obaj gracze zgodzili się przerwać grę. Wyniki nie uległy zmianie.Ponieważ obaj gracze zgodzili się na odłożenie gryPonieważ obaj gracze mają tyle samo bierekPonieważ obydwu graczom skończył się czasPonieważ żaden z graczy nie ma wystarczającego materiału do zamatowaniaZ powodu decyzji adminaZ powodu decyzji admina. Wyniki nie uległy zmianie.Z powodu kurtuazji gracza. Wyniki nie uległy zmianie.Ponieważ silnik %(black)s uległ awariiPonieważ silnik %(white)s uległ awariiPonieważ połączenie z serwerem zostało utraconePonieważ gra przekroczyła dopuszczalną długośćPonieważ 50 ostatnich ruchów nie wniosło niczego nowegoPonieważ ta sama pozycja została powtórzona trzy razy z rzęduPonieważ serwer został wyłączonyPonieważ serwer został wyłączony. Wyniki nie uległy zmianie.BipGońcaCzarneRoszada krótka czarnychRoszada długa czarnychCzarne mają nową bierkę na froncie: %sCzarne mają raczej skrępowaną pozycjęCzarne mają lekko skrępowaną pozycjęCzarne powinny wykonywać szturm pionkami po lewejBiałe powinny zrobić szturm pionami na prawym skrzydle.Czarne:Szachy błyskawiczneSzachy błyskawiczne:Szachy błyskawiczne: 5 minObliczanie...KambodżańskiKambodżański: http://www.khmerinstitute.org/culture/ok.htmlPole możliwości roszady jest niedozwolone. %sŚrodek:WyzwanieWyzwij gracza: Gra w szachyPozycja SzachowaKlient szachowyReguły klasycznych szachów ze wszystkimi bierkami białymi http://en.wikipedia.org/wiki/Blindfold_chessReguły klasycznych szachów z ukrytymi figurami http://en.wikipedia.org/wiki/Blindfold_chessReguły klasycznych szachów z ukrytymi pionami http://en.wikipedia.org/wiki/Blindfold_chessReguły klasycznych szachów z ukrytymi bierkami http://en.wikipedia.org/wiki/Blindfold_chessWyczyśćZegarZamknij _bez zapisywaniaKoloruj analizowane ruchyKomenda:KomentarzeKomputerŁączenieŁączenie z serweremBłąd połączeniaPołączenie zostało zamknięteKopiuj FENNie można zapisać plikuUtwórz żądaniePola ciemne:DataOdrzućDomyślneDocelowy host nieosiągalnyRozpoznaj typ automatycznieCzy wiesz, że można zakończyć grę w szachy w zaledwie 2 posunięciach?Czy wiesz, że liczba wszystkich możliwych rozgrywek szachowych jest większa od liczby atomów we Wszechświecie?Czy chcesz przerwać grę?Bez znaczeniaRemisECOEdytuj szukanieEdytuj szukanie:Edytuj komentarzE-mailLinia en passantTabela końcówekSilnikiSilniki używają protokołu uci lub xboard do komunikacji z GUI. Jeżeli silnik może użyć obydwu protokołów, możesz tu określić, który z nich preferujesz.Wejście do gryBłąd przetwarzania ruchu %(moveno)s %(mstr)sZdarzenieZdarzenie:ZbadajFormat FEN wymaga 6 pól danych %sFormat FEN wymaga co najmniej 2 pól danych w łańcuchu %sPełna animacja stołu.Tryb wyświetlania "Twarzą w Twarz"Plik istniejeRuch wymuszonyDodawaj:Informacje o grzeGra zakończona _remisem:Gra została _przegrana:Gra jest _ustawiona:Gra została w_ygrana:Ścieżka dostępu do bazy tablic Gaviota:Ogólnie to bez znaczenie, jako że gra jest na czas, ale jeśli chcesz zadowolić przeciwnika, chyba powinieneś zacząć się ruszać.GośćZegar półposunięćUkryte pionyUkryte bierkiUkryj:Host:PomocCzłowiekNieobecnyPo ustawieniu, numery gier FICS są pokazywane w etykietach zakładek obok nazw graczyPo ustawieniu, PyChess pokoloruje nieoptymalne analizowane ruchy na czerwono.Po ustawieniu, PyChess będzie pokazywał wyniki gier dla różnych ruchów w pozycjach zawierających 6 lub mniej bierek. Przeszukiwane będą pozycje z: http://www.k4it.de/Po ustawieniu, PyChess będzie pokazywał wyniki gier dla różnych ruchów w pozycjach zawierających 6 lub mniej bierek. Pliki baz tablic możesz ściągnąć z: http://www.olympuschess.com/egtb/gaviota/Po ustawieniu, PyChess będzie sugerował najlepsze ruchy otwarcia na panelu podpowiedzi.Po ustawieniu, PyChess zamieni wielkie litery na symbole figur w notacji.Po ustawieniu, kliknięcie przycisku zamknięcia okna głównego zamyka wszystkie gry.Po ustawieniu, pionek jest promowany na hetmana bez wyświetlenia okna dialogowego.Po ustawieniu, szachy po przeciwnej stronie będą odwrócone do góry nogami, odpowiednio osób grających na przenośnym urządzeniu.Po ustawieniu, szachownica będzie obracała się po każdym ruchu, aby widok dla aktualnego gracza był naturalny.Po ustawieniu, zbite figury będą pokazywane obok szachownicy.Po ustawieniu, pokazywany jest czas zużyty przez gracza na ruch.Po ustawieniu, pokazywana jest wartość ruchu analizatora podpowiedziPo ustawieniu, wokół szachownicy pojawią się oznaczenia dla poszczególnych pól. Przydatne do ręcznej notacji.Po ustawieniu, karta u góry okna gry zostanie ukryta, gdy nie jest ona potrzebna.Jeżeli analizator znajdzie ruch, gdzie różnica wartości (różnia pomiędzy najlepszą obliczoną wartością ruchu a wartością ruchu w grze) przekroczy tę wartość, doda adnotację (zawarte w głównych wariacjach silnika tego ruchu) do posunięcia w panelu adnotacji.Jeśli nie zapiszesz, nowe zmiany w twoich grach zostaną utracone bezpowrotnieW tej pozycji nie można wykonać żadnego prawidłowego ruchu.Pozycja początkowaNieprawidłowy ruch.Nie będzie można później wznowić tej gry, jeśli jej nie zapiszesz.KKrólSkoczkaSkoczkiPozostaw _Pełny EkranPola jasne:TurboOświetlenie:Wczytaj _Ostatnią GręZdarzenieStronaBłąd logowaniaZaloguj jako _GośćLogowaniePrzegranaMakrukMakruk: http://en.wikipedia.org/wiki/MakrukZarządzaj silnikamiZaakceptuj przeciwnika manualnieMat w %dMaksymalny czas analizy w sekundach:Minut:Minuty:Historia posunięćNumer posunięciaSNazwaWymaga 7 ukośników w polu pozycji bierki. %sNigdy nie animuj. Użyj tej opcji na powolnych maszynach.Nowa graBrak _animacjiW tej grze nie uczestniczą żadne silniki szachowe (gracze komputerowi).Bez dźwiękuNormalnySzachy normalne: 40 min + 15 sek/ruchNiedostępnyObserwujObserwowan_e zakończenia:Zaproponuj P_rzerwanieZaproponuj przerwanieZaproponuj _OdłożenieZaproponuj wstrzymanieZaproponuj wznowienieZaproponuj cofnięcieZaproponuj _PrzerwanieZaproponuj _RemisZaproponuj _Wstrzymanie Zaproponuj _WznowienieZaproponuj _CofnięcieOficjalny panel PyChess.OfflineOnlineAnimuj tylko _ruchyAnimuj tylko ruchy bierekOtwórz gręOtwórz plik dźwiękowyKsiążka DebiutówSiła przeciwnika:PParametry:Wklej FENWstrzymajPionekPingujGrajZagraj w szachy Fisher RandomZagraj w szachy Losers chessGraj w _Internetowe SzachyZagraj w szachy o normalnych zasadach_Ranking graczaGraObraz pngPo_rtyPlik książki Polyglot:PodglądFigury w notacjiPreferencjePrywatnaPrawdopodobnie dlatego, że zostało to wycofane.PromocjaProtokół:PyChess - Połącz z Serwerem SzachowymPyChess.py:HHetmanaWyjdź z PyChessWZ_rezygnujSzachy szybkie: 15 min + 10 sek/ruchPunktowanaGra punktowanaRankingZarejestrowanyWyślij ponownieWysłać ponownie %s?RezultatWznówWieżęRundaRunda:Z_arejestruj sięZapiszZapisz grę.Zapisz grę.Zapisz tylko własne gryZapisz wartości ruchów silnika analizującegoZapisz czasy przypadające na wykonane ruchyZapisz pliki w:WynikSzukaj:Wykres _ŻądańWybierz plik dźwiękowy...Wybierz gry, które chcesz zapisać:Wyślij wyzwanieWyślij wszystkie żądaniaWyślij żądaniePrzygotowywanie środowiskaPozycja początkowaPokaż pozycjeMało czasuPokaż numery gier FICS w etykietach zakładekPokaż zbite figuryPokaż pozostały czas ruchuPokaż wartości ocenyPokazuj wskazówki po uruchomieniuShredderLinuxChess:Ruch po stroniePanele BoczneProsta Pozycja SzachowaStronaStrona:WydajStandardStandard:Utwórz Prywatny CzatPropozycja przerwaniaPropozycja odłożeniaAnalizator będzie pracowal w tle i analizował grę. Ta opcja jest konieczna do trybu podpowiedziPanel rozmowy pozwala Ci komunikować się z przeciwnikiem podczas gry, o ile jest on zainteresowanyZegar nie został jeszcze uruchomiony.Panel komentarzy będzie próbować analizować i wyjaśniać wykonane ruchyPołączenie przerwane - otrzymano wiadomość "koniec pliku"Katalog startowy silnika.Wyświetlane imię pierwszego gracza, np. Jan.Wyświetlane imię gościa, np. Maria.Propozycja remisuSilnik %s zgłasza błąd:Panel wyjściowy silnika szachowego (gracza komputerowego) pokazuje rezultat jego "myślenia" podczas gryWystąpił błąd: %sPlik już istnieje w '%s'. Jeśli go zastąpisz jego aktualna zawartość zostanie nadpisana.Zgłoszenie końca czasuGra nie może zostać załadowana z powodu błędu przetwarzania FENGra nie może być odczytana do końca z powodu błędu przetwarzania ruchu %(moveno)s '%(notation)s'.Gra zakończyła się remisemGra została przerwanaGra została odłożonaGra została "skillowana"Wsteczny analizator będzie analizował grę Twego przeciwnika. Ta opcja jest konieczna do trybu szpiegowskiegoRuch zakończył się niepowodzeniem z powodu %s.Karta ruchów umożliwia śledzenie ruchów graczy i poruszanie się po historii gryPropozycja zamiany stronKsiążka otwarć będzie próbowała Cię inspirować podczas fazy otwarcia poprzez pokazanie typowych ruchów mistrzów szachowychPropozycja wstrzymaniaPrzyczyna nieznanaRezygnacjaPropozycja wznowieniaPanel wyników próbuje oceniać pozycje i pokazuje wykres postępu gryPropozycja cofnięcia ruchuMotywyAnaliza zagrożenia przez %sCzasUstawienia czasuPresja czasuWskazówka dniaWskazówka DniaZatytułowanyTolerancja:Przetłumacz PyChessTyp%s nie może zostać zaakceptowanaNiejasna pozycjaCofnijCofnij jeden ruchCofnij dwa ruchyOdinstalujNieznanyNiepunktowanaBez limituUżywaj _analizatoraUżywaj _wstecznego analizatoraUżyj _lokalnych baz tablicUżyj internetowych baz tablicUżywaj analizatora:Użyj formatu nazw:Użyj książki otwarćPróg utworzenia wariantu adnotacji w "centypionach":Elo WWitajBiałeRoszada krótka białychRoszada długa białychBiałe mają nową bierkę na froncie: %sBiałe mają raczej skrępowaną pozycjęCzarne mają lekko skrępowaną pozycjęBiałe powinny zrobić szturm pionamiBiałe powinny wykonywać szturm pionkami po prawejBiałe:ZwycięstwoKatalog roboczy:Rok, miesiąc, dzień: #r, #m, #dPoprosiłeś swojego przeciwnika o ruchNie możesz grać w gry punktowane, gdyż jesteś zalogowany jako gość.Nie możesz zmienić kolorów w trakcie gry.Zostałeś wylogowany, ponieważ byłeś nieobecny ponad 60 minutPróbujesz cofnąć zbyt wiele ruchów.Wysłałeś ofertę remisuWysłałeś propozycję wstrzymaniaWysłałeś propozycję wznowieniaWysłałeś propozycję przerwaniaWysłałeś propozycję cofnięciaTwój przeciwnik prosi Cię o pośpiech!Twój przeciwnik chce przerwać grę. Jeżeli się zgodzisz, gra skończy się bez wyników.Twój przeciwnik chce zawiesić grę. Jeżeli się zgodzisz, gra zostanie wstrzymana. Będzie można ją kontynuować później (gdy przeciwnik będzie online).Twój przeciwnik chce wstrzymać grę. Jeżeli się zgodzisz, zegar zostanie wstrzymany dopóki gracze nie zgodzą się ponownie go wznowić.Twój przeciwnik chce kontynuować grę. Jeżeli się zgodzisz, zegar zostanie włączony ponownie.Twój przeciwnik chce cofnąć %s ostatnich ruch(y/ów). Jeżeli się zgodzisz, gra zostanie kontynuowana z wcześniejszego stanu.Twój przeciwnik zaproponował remis.Twój przeciwnik zaoferował remis. Jeżeli się zgodzisz, gra skończy się wynikami 1/2 - 1/2.Twój przeciwnik ma jeszcze czas do dyspozycji.Wygląda na to, że Twój przeciwnik zmienił zdanie.Twój przeciwnik chce przerwać grę.Twój przeciwnik chce odłożyć grę.Twój przeciwnik chce wstrzymać grę.Twój przeciwnik chce wznowić grę.Twój przeciwnik chce cofnąć %s ostatnich ruch(y/ów).Twoja siła:Zugzwang_Akceptuj_AkcjeAnalizuj gręZarchiwizowany_Zgłoś koniec czasu_Wyczyść PokojeKopiuj FENKopiuj PGN_OdmówEdycjaSilniki gry_Eksportuj Położenie_Pełny ekran_Gra_Lista gier_Główne_Pomoc_Schowaj karty kiedy tylko jedna gra jest otwartaPodpowiedziNieprawidłowy ruch_Wczytaj grę_Logi_Moje gry_Nazwa:_Nowa gra_Następny_Obserwowane ruchy:_Przeciwnik_Hasło:_Zagraj w Zwykłe szachy_Lista graczy_Poprzedni_Zastąp_Obróć szachownicę_Zapisz %d dokument(y)_Zapisz grę_Żądania/wyzwaniaPokaż panele boczne_Dźwięki_Rozpocznij grę_Bez ograniczeńUżyj głównego przycisku zamykania [x] programu, aby zamknąć wszystkie gry_Używaj dźwięków w PyChess_Widok_Twój KolorPoproś swojego przeciwnika o ruchprzesuwają piona bliżej krawędzi promocji %sZgłoś koniec czasu przeciwnikazdobywają materiałwykonują roszadębronią %sremisywymieniają materiałgnuchess:http://pl.wikipedia.org/wiki/Szachyhttp://pl.wikipedia.org/wiki/Zasady_gry_w_szachyzwiększają bezpieczeństwo Królazwiększają nacisk na %sNieprawidłowa promowana bierkamatujeminprzesuwają wieżę na otwarty korytarzprzesuwają wieżę na pół-otwarty korytarzwykonują fianchetto: %sZaproponuj remisZaproponuj wstrzymanieZaproponuj cofnięcie ruchuZaproponuj przerwanieZaproponuj odłożenieZaproponuj wznowienieZaproponuj zamianę strononline w sumiepromują piona w %sszachujeZrezygnujseknieznacznie zwiększają bezpieczeństwo królaodbijają materiałuciOkno 1xboardpychess-1.0.0/lang/pl/LC_MESSAGES/pychess.po0000644000175000017500000047356313455542750017431 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # Celams Trebak , 2016 # felikstayson , 2012 # FIRST AUTHOR , 2007 # gbtami , 2016 # Jan Kempa , 2016 # Mateusz Leszczyński , 2017 # Mercury , 2013 # Mercury , 2012 # Przemysław Dziubczyński , 2015 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Polish (http://www.transifex.com/gbtami/pychess/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pl\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Gra" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Nowa gra" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Graj w _Internetowe Szachy" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "_Wczytaj grę" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Wczytaj _Ostatnią Grę" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Zapisz grę" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Zapisz grę." #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "_Eksportuj Położenie" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "_Ranking gracza" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "Analizuj grę" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "Edycja" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "Kopiuj PGN" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "Kopiuj FEN" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "Silniki gry" #: glade/PyChess.glade:518 msgid "Externals" msgstr "" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "_Akcje" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Zaproponuj _Przerwanie" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Zaproponuj _Odłożenie" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Zaproponuj _Remis" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Zaproponuj _Wstrzymanie " #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Zaproponuj _Wznowienie" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Zaproponuj _Cofnięcie" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Zgłoś koniec czasu" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "Z_rezygnuj" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Poproś o ruch" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "Automatycznie _zgłoś koniec czasu" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Widok" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Obróć szachownicę" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Pełny ekran" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Pozostaw _Pełny Ekran" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "Pokaż panele boczne" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "_Logi" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr "" #: glade/PyChess.glade:865 msgid "_Help" msgstr "_Pomoc" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "O szachach" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Pomoc" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Przetłumacz PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Wskazówka Dnia" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Klient szachowy" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Preferencje" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "Wyświetlane imię pierwszego gracza, np. Jan." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Imię _pierwszego gracza:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "Wyświetlane imię gościa, np. Maria." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Imię d_rugiego gracza:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Schowaj karty kiedy tylko jedna gra jest otwarta" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Po ustawieniu, karta u góry okna gry zostanie ukryta, gdy nie jest ona potrzebna." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "Użyj głównego przycisku zamykania [x] programu, aby zamknąć wszystkie gry" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "Po ustawieniu, kliknięcie przycisku zamknięcia okna głównego zamyka wszystkie gry." #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "Automatycznie obracaj stół dla aktualnego gracza" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Po ustawieniu, szachownica będzie obracała się po każdym ruchu, aby widok dla aktualnego gracza był naturalny." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "Po ustawieniu, pionek jest promowany na hetmana bez wyświetlenia okna dialogowego." #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "Tryb wyświetlania \"Twarzą w Twarz\"" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Po ustawieniu, szachy po przeciwnej stronie będą odwrócone do góry nogami, odpowiednio osób grających na przenośnym urządzeniu." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "Pokaż zbite figury" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "Po ustawieniu, zbite figury będą pokazywane obok szachownicy." #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Figury w notacji" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "Po ustawieniu, PyChess zamieni wielkie litery na symbole figur w notacji." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "Koloruj analizowane ruchy" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "Po ustawieniu, PyChess pokoloruje nieoptymalne analizowane ruchy na czerwono." #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "Pokaż pozostały czas ruchu" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "Po ustawieniu, pokazywany jest czas zużyty przez gracza na ruch." #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "Pokaż wartości oceny" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "Po ustawieniu, pokazywana jest wartość ruchu analizatora podpowiedzi" #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "Pokaż numery gier FICS w etykietach zakładek" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "Po ustawieniu, numery gier FICS są pokazywane w etykietach zakładek obok nazw graczy" #: glade/PyChess.glade:1402 msgid "General Options" msgstr "Opcje ogólne" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "Pełna animacja stołu." #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Animuj m.in. bierki i obroty rotacji szachownicy. Użyj tej opcji na szybkich maszynach." #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Animuj tylko _ruchy" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Animuj tylko ruchy bierek" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Brak _animacji" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Nigdy nie animuj. Użyj tej opcji na powolnych maszynach." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animacja" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_Główne" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "Użyj książki otwarć" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "Po ustawieniu, PyChess będzie sugerował najlepsze ruchy otwarcia na panelu podpowiedzi." #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "Plik książki Polyglot:" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "Użyj _lokalnych baz tablic" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "Po ustawieniu, PyChess będzie pokazywał wyniki gier dla różnych ruchów w pozycjach zawierających 6 lub mniej bierek.\nPliki baz tablic możesz ściągnąć z:\nhttp://www.olympuschess.com/egtb/gaviota/" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "Ścieżka dostępu do bazy tablic Gaviota:" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "Użyj internetowych baz tablic" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "Po ustawieniu, PyChess będzie pokazywał wyniki gier dla różnych ruchów w pozycjach zawierających 6 lub mniej bierek.\nPrzeszukiwane będą pozycje z: http://www.k4it.de/" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "Otwarcie, końcówka" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Używaj _analizatora" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "Analizator będzie pracowal w tle i analizował grę. Ta opcja jest konieczna do trybu podpowiedzi" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Używaj _wstecznego analizatora" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "Wsteczny analizator będzie analizował grę Twego przeciwnika. Ta opcja jest konieczna do trybu szpiegowskiego" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "Maksymalny czas analizy w sekundach:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Analizowanie" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "Podpowiedzi" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Odinstaluj" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "Ak_tywuj" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Zainstalowane Panele Boczne" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "Panele Boczne" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "Ścieżka do obrazu w tle:" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "Ekran powitalny" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Pola jasne:" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Pola ciemne:" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "Pokaż pozycje" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "Po ustawieniu, wokół szachownicy pojawią się oznaczenia dla poszczególnych pól. Przydatne do ręcznej notacji." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "Zestawy szachowe" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Motywy" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "_Używaj dźwięków w PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "_Szach" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "Gracz _wykonał ruch" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Gra zakończona _remisem:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Gra została _przegrana:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Gra została w_ygrana:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "_Zbicie" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Gra jest _ustawiona:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "_Obserwowane ruchy:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "Obserwowan_e zakończenia:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "Mało czasu" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "Nieprawidłowy ruch" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "Aktywuj alarm, gdy pozostało sekund:" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Odtwarzaj dźwięk, gdy..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Dźwięki" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Zapisz pliki w:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "Użyj formatu nazw:" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "Rok, miesiąc, dzień: #r, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "Zapisz czasy przypadające na wykonane ruchy" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "Zapisz wartości ruchów silnika analizującego" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "Zapisz tylko własne gry" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Zapisz" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Promocja" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "Hetmana" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "Wieżę" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "Gońca" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "Skoczka" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "Król" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Promuj piona na:" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "Domyślne" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "Skoczki" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Informacje o grze" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Strona:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Czarne:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Runda:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Białe:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "" #: glade/PyChess.glade:4818 msgid "Game" msgstr "" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Zdarzenie:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "" #: glade/PyChess.glade:5066 msgid "uci" msgstr "uci" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "xboard" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "Zarządzaj silnikami" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Komenda:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protokół:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Parametry:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "Silniki używają protokołu uci lub xboard do komunikacji z GUI. Jeżeli silnik może użyć obydwu protokołów, możesz tu określić, który z nich preferujesz." #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "Katalog roboczy:" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "Katalog startowy silnika." #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "" #: glade/PyChess.glade:5367 msgid "Country:" msgstr "" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "" #: glade/PyChess.glade:5538 msgid "Options" msgstr "" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Białe" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Czarne" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "Zdarzenie" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "ECO" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Data" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "Strona" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Rezultat" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "" #: glade/PyChess.glade:6410 msgid "Header" msgstr "" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "" #: glade/PyChess.glade:6789 msgid "White move" msgstr "" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "Ruch po stronie" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Analizuj grę " #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "Używaj analizatora:" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "Jeżeli analizator znajdzie ruch, gdzie różnica wartości (różnia pomiędzy najlepszą obliczoną wartością ruchu a wartością ruchu w grze) przekroczy tę wartość, doda adnotację (zawarte w głównych wariacjach silnika tego ruchu) do posunięcia w panelu adnotacji." #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "Próg utworzenia wariantu adnotacji w \"centypionach\":" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "Analizuj od obecnej pozycji" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "Analizuj ruchy czarnych" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "Analizuj ruchy białych" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "Dodaj linie wariantu zagrażającego" #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess szuka silników. Proszę czekać." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess:" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Połącz z Serwerem Szachowym" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Hasło:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "_Nazwa:" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Zaloguj jako _Gość" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "Host:" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "Po_rty" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "Z_arejestruj się" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Wyzwij gracza: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Wyślij wyzwanie" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Wyzwij:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Oświetlenie:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Standard:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Szachy błyskawiczne:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "2 min, Fischer Losowa, Czarne" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 min + 6 sek/ruch, Białe" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 min" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "_Wyczyść Pokoje" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Akceptuj" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Odmów" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "Wyślij wszystkie żądania" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Wyślij żądanie" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Utwórz żądanie" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Standard" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Szachy błyskawiczne" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Turbo" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Komputer" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "_Żądania/wyzwania" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Ranking" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Czas" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "Wykres _Żądań" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "0 Graczy Gotowych" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Wyzwanie" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Obserwuj" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Utwórz Prywatny Czat" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "Zarejestrowany" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "Gość" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "Zatytułowany" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "_Lista graczy" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "_Lista gier" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "_Moje gry" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "Zaproponuj P_rzerwanie" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "Zbadaj" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "Podgląd" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "Zarchiwizowany" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "Asymetryczny przypadkowy" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Edytuj szukanie" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Bez limitu" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minuty:" #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "Dodawaj:" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Ustawienia czasu" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Ustawienia czasu" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Bez znaczenia" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Twoja siła:" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Szachy błyskawiczne)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Siła przeciwnika:" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "" #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Środek:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Tolerancja:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Ukryj:" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Siła przeciwnika" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Twój Kolor" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Zagraj w szachy o normalnych zasadach" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Graj" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Wariant szachów" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Gra punktowana" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Zaakceptuj przeciwnika manualnie" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Opcje" #: glade/findbar.glade:6 msgid "window1" msgstr "Okno 1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 z 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Szukaj:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Poprzedni" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Następny" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Nowa gra" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "_Rozpocznij grę" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "Kopiuj FEN" #: glade/newInOut.glade:143 msgid "Clear" msgstr "Wyczyść" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "Wklej FEN" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "" #: glade/newInOut.glade:397 msgid "Players" msgstr "Gracze" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "_Bez ograniczeń" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "Szachy błyskawiczne: 5 min" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "Szachy szybkie: 15 min + 10 sek/ruch" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "Szachy normalne: 40 min + 15 sek/ruch" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "_Zagraj w Zwykłe szachy" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Zagraj w szachy Fisher Random" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "Zagraj w szachy Losers chess" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Wczytaj Grę" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Początkowe Położenie" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Wpisz Notację Gry" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "Zegar półposunięć" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "Linia en passant" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "Numer posunięcia" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "Roszada krótka czarnych" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "Roszada długa czarnych" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "Roszada długa białych" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "Roszada krótka białych" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Wyjdź z PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Zamknij _bez zapisywania" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "_Zapisz %d dokument(y)" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "Jest %d gier z niezapisanymi położeniami. Zapisać przed wyjściem?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Wybierz gry, które chcesz zapisać:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Jeśli nie zapiszesz, nowe zmiany w twoich grach zostaną utracone bezpowrotnie" #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "_Przeciwnik" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_Twój Kolor" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "_Rozpocznij Grę" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "Automatyczne logowanie przy uruchomieniu" #: glade/taskers.glade:369 msgid "Server:" msgstr "" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "Połącz się z serwerem" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "" #: glade/taskers.glade:609 msgid "Open database" msgstr "" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "" #: glade/taskers.glade:723 msgid "Category:" msgstr "" #: glade/taskers.glade:796 msgid "Start learning" msgstr "" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Wskazówka dnia" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Pokazuj wskazówki po uruchomieniu" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://pl.wikipedia.org/wiki/Szachy" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://pl.wikipedia.org/wiki/Zasady_gry_w_szachy" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Witaj" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Otwórz grę" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "" #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "Silnik %s zgłasza błąd:" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "Twój przeciwnik zaproponował remis." #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "Twój przeciwnik zaoferował remis. Jeżeli się zgodzisz, gra skończy się wynikami 1/2 - 1/2." #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "Twój przeciwnik chce przerwać grę." #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "Twój przeciwnik chce przerwać grę. Jeżeli się zgodzisz, gra skończy się bez wyników." #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "Twój przeciwnik chce odłożyć grę." #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "Twój przeciwnik chce zawiesić grę. Jeżeli się zgodzisz, gra zostanie wstrzymana. Będzie można ją kontynuować później (gdy przeciwnik będzie online)." #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "Twój przeciwnik chce cofnąć %s ostatnich ruch(y/ów)." #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "Twój przeciwnik chce cofnąć %s ostatnich ruch(y/ów). Jeżeli się zgodzisz, gra zostanie kontynuowana z wcześniejszego stanu." #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "Twój przeciwnik chce wstrzymać grę." #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "Twój przeciwnik chce wstrzymać grę. Jeżeli się zgodzisz, zegar zostanie wstrzymany dopóki gracze nie zgodzą się ponownie go wznowić." #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "Twój przeciwnik chce wznowić grę." #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "Twój przeciwnik chce kontynuować grę. Jeżeli się zgodzisz, zegar zostanie włączony ponownie." #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "Rezygnacja" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "Zgłoszenie końca czasu" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "Propozycja remisu" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "Propozycja przerwania" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "Propozycja odłożenia" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "Propozycja wstrzymania" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "Propozycja wznowienia" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "Propozycja zamiany stron" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "Propozycja cofnięcia ruchu" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "Zrezygnuj" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "Zgłoś koniec czasu przeciwnika" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "Zaproponuj remis" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "Zaproponuj przerwanie" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "Zaproponuj odłożenie" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "Zaproponuj wstrzymanie" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "Zaproponuj wznowienie" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "Zaproponuj zamianę stron" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "Zaproponuj cofnięcie ruchu" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "Poproś swojego przeciwnika o ruch" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Twój przeciwnik ma jeszcze czas do dyspozycji." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "Zegar nie został jeszcze uruchomiony." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "Nie możesz zmienić kolorów w trakcie gry." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "Próbujesz cofnąć zbyt wiele ruchów." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Twój przeciwnik prosi Cię o pośpiech!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "Ogólnie to bez znaczenie, jako że gra jest na czas, ale jeśli chcesz zadowolić przeciwnika, chyba powinieneś zacząć się ruszać." #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "Zaakceptuj" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "Odrzuć" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "%s została odrzucona przez Twojego przeciwnika." #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "Wysłać ponownie %s?" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "Wyślij ponownie" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s została wycofana przez Twojego przeciwnika" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "Wygląda na to, że Twój przeciwnik zmienił zdanie." #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "%s nie może zostać zaakceptowana" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "Prawdopodobnie dlatego, że zostało to wycofane." #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s zwraca błąd" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "" #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "" #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "(Link jest dostępny w schowku)" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Pozycja Szachowa" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Nieznany" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Prosta Pozycja Szachowa" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "Gra nie może zostać załadowana z powodu błędu przetwarzania FEN" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Gra w szachy" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "" #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "" #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "Nieprawidłowy ruch." #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "Gra nie może być odczytana do końca z powodu błędu przetwarzania ruchu %(moveno)s '%(notation)s'." #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "Ruch zakończył się niepowodzeniem z powodu %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "Błąd przetwarzania ruchu %(moveno)s %(mstr)s" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "Obraz png" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "Docelowy host nieosiągalny" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Zdarzenie" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Strona" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "min" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "sek" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "Dostępna jest nowa wersja %s!" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "Pionek" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "S" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "G" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "W" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "H" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "K" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Gra zakończyła się remisem" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s wygrały grę" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s wygrały grę" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "Gra została \"skillowana\"" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Gra została odłożona" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Gra została przerwana" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "Ponieważ żaden z graczy nie ma wystarczającego materiału do zamatowania" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "Ponieważ ta sama pozycja została powtórzona trzy razy z rzędu" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "Ponieważ 50 ostatnich ruchów nie wniosło niczego nowego" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Ponieważ obydwu graczom skończył się czas" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "Ponieważ %(mover)s znalazł się w pozycji patowej" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "Ponieważ obydwaj gracze zgodzili się na remis" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "Z powodu decyzji admina" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "Ponieważ gra przekroczyła dopuszczalną długość" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "Ponieważ %(white)s przekroczył czas na grę a %(black)s posiada niewystarczający materiał do zamatowania" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "Ponieważ %(black)s przekroczył czas na grę a %(white)s posiada niewystarczający materiał do zamatowania" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "Ponieważ obaj gracze mają tyle samo bierek" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "Ponieważ %(loser)s zrezygnował" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "Ponieważ %(loser)s przekroczył czas na grę" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "Ponieważ %(loser)s został zamatowany" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "Ponieważ %(loser)s rozłączył się" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "Ponieważ %(winner)s ma mniej bierek" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "Ponieważ %(winner)s stracił wszystkie bierki" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "Ponieważ król %(loser)s eksplodował" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "Ponieważ krół %(winner)s dotarł do centrum" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "Ponieważ %(winner)s dawał szacha 3 razy" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "Ponieważ gracz utracił połączenie" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "Ponieważ obaj gracze zgodzili się na odłożenie gry" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "Ponieważ serwer został wyłączony" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "Ponieważ jeden z graczy utracił połączenie a drugi poprosił o odłożenie gry" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "Ponieważ %(black)s utracił połączenie z serwerem a %(white)s poprosił o odłożenie gry" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "Ponieważ %(white)s utracił połączenie z serwerem a %(black)s poprosił o odłożenie gry" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "Ponieważ %(white)s utracił połączenie z serwerem" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "Ponieważ %(black)s utracił połączenie z serwerem" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "Z powodu decyzji admina. Wyniki nie uległy zmianie." #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "Ponieważ obaj gracze zgodzili się przerwać grę. Wyniki nie uległy zmianie." #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "Z powodu kurtuazji gracza. Wyniki nie uległy zmianie." #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "Ponieważ gracz przerwał grę. Każdy z graczy może przerwać grę bez zgody drugiego przed kolejnym ruchem. Wyniki nie uległy zmianie." #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "Ponieważ jeden z graczy rozłączył się, a wykonano zbyt mało ruchów, aby uzasadnić odłożenie gry. Wyniki nie uległy zmianie." #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "Ponieważ serwer został wyłączony. Wyniki nie uległy zmianie." #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "Ponieważ silnik %(white)s uległ awarii" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "Ponieważ silnik %(black)s uległ awarii" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "Ponieważ połączenie z serwerem zostało utracone" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "Przyczyna nieznana" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "ASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "ASEAN" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "Makruk: http://en.wikipedia.org/wiki/Makruk" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "Makruk" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "Kambodżański: http://www.khmerinstitute.org/culture/ok.html" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "Kambodżański" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "Ai-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "Ai-Wok" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Asymetryczny Losowy" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Reguły klasycznych szachów z ukrytymi figurami\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Reguły klasycznych szachów z ukrytymi pionami\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "Ukryte piony" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Reguły klasycznych szachów z ukrytymi bierkami\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "Ukryte bierki" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Reguły klasycznych szachów ze wszystkimi bierkami białymi\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "" #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Normalny" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "" #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "Połączenie przerwane - otrzymano wiadomość \"koniec pliku\"" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' nie jest zarejestrowaną nazwą" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "" #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "" #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Łączenie z serwerem" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Logowanie" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Przygotowywanie środowiska" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Online" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Offline" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "Dostępny" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "Gra" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "Nieobecny" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "Niedostępny" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Niepunktowana" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Punktowana" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d min" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr "+ %d sek" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Prywatna" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Błąd połączenia" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Błąd logowania" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Połączenie zostało zamknięte" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Zostałeś wylogowany, ponieważ byłeś nieobecny ponad 60 minut" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "Wstrzymaj" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "" #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr "" #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "" #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "Czy chcesz przerwać grę?" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "Przerwij" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Cofnij jeden ruch" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Cofnij dwa ruchy" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "Wysłałeś propozycję przerwania" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Wysłałeś ofertę remisu" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "Wysłałeś propozycję wstrzymania" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "Wysłałeś propozycję wznowienia" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "Wysłałeś propozycję cofnięcia" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "Poprosiłeś swojego przeciwnika o ruch" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Komputerowy silnik szachowy, %s, \"padł\"" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "" #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "Zaproponuj przerwanie" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "Wznów" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "Zaproponuj wstrzymanie" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "Zaproponuj wznowienie" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "Cofnij" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "Zaproponuj cofnięcie" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Człowiek" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minut:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Dodawaj:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr "" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Pozycja początkowa" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Wejście do gry" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Otwórz plik dźwiękowy" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Bez dźwięku" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Bip" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Wybierz plik dźwiękowy..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "Czy wiesz, że można zakończyć grę w szachy w zaledwie 2 posunięciach?" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "Czy wiesz, że liczba wszystkich możliwych rozgrywek szachowych jest większa od liczby atomów we Wszechświecie?" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "Format FEN wymaga 6 pól danych\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "Format FEN wymaga co najmniej 2 pól danych w łańcuchu\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "Wymaga 7 ukośników w polu pozycji bierki.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "Pole koloru aktywnego gracza musi przyjmować wartość w lub b.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "Pole możliwości roszady jest niedozwolone.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "Nieprawidłowa promowana bierka" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "remisy" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "matuje" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "szachuje" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "zwiększają bezpieczeństwo Króla" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "nieznacznie zwiększają bezpieczeństwo króla" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "przesuwają wieżę na otwarty korytarz" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "przesuwają wieżę na pół-otwarty korytarz" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "wykonują fianchetto: %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "promują piona w %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "wykonują roszadę" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "odbijają materiał" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "wymieniają materiał" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "zdobywają materiał" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "zwiększają nacisk na %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "bronią %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "Białe mają nową bierkę na froncie: %s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "Czarne mają nową bierkę na froncie: %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "%s ustawiają piony w formację łańcucha" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "przesuwają piona bliżej krawędzi promocji %s" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "Białe powinny wykonywać szturm pionkami po prawej" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "Czarne powinny wykonywać szturm pionkami po lewej" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "Białe powinny zrobić szturm pionami" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "Białe powinny zrobić szturm pionami na prawym skrzydle." #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "Czarne mają raczej skrępowaną pozycję" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "Czarne mają lekko skrępowaną pozycję" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "Białe mają raczej skrępowaną pozycję" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "Czarne mają lekko skrępowaną pozycję" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "" #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "" #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "Elo W" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "Elo B" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "Runda" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Zegar" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Typ" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Zwycięstwo" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Remis" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Przegrana" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "E-mail" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Wydaj" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "online w sumie" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Pinguj" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Łączenie" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Nazwa" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Edytuj szukanie:" #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "Nie możesz grać w gry punktowane, gdyż jesteś zalogowany jako gość." #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "" #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Aktywnych pokoi: %d" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr "" #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "" #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Rozpoznaj typ automatycznie" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Zapisz grę." #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Nieznany typ pliku '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "" #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Nie można zapisać pliku '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "" #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "_Zastąp" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Plik istnieje" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Plik o nazwie: '%s' już istnieje. Zastąpić go?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "Plik już istnieje w '%s'. Jeśli go zastąpisz jego aktualna zawartość zostanie nadpisana." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Nie można zapisać pliku" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess nie mógł zapisać gry" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "Wystąpił błąd: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "" #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Nie będzie można później wznowić tej gry, jeśli jej nie zapiszesz." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Wszystkie pliki szachowe" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "Adnotacje" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "Edytuj komentarz" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "Ruch wymuszony" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "Niejasna pozycja" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "Zugzwang" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "Presja czasu" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Oficjalny panel PyChess." #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Książka Debiutów" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "Książka otwarć będzie próbowała Cię inspirować podczas fazy otwarcia poprzez pokazanie typowych ruchów mistrzów szachowych" #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "Analiza przez %s" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "Analiza zagrożenia przez %s" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "Obliczanie..." #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "Dodawanie sugestii może pomóc Ci znajdować pomysły, ale spowalnia to analizę komputerową." #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "Tabela końcówek" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "" #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "Mat w %d" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "W tej pozycji\nnie można wykonać żadnego prawidłowego ruchu." #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "Panel rozmowy pozwala Ci komunikować się z przeciwnikiem podczas gry, o ile jest on zainteresowany" #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Komentarze" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "Panel komentarzy będzie próbować analizować i wyjaśniać wykonane ruchy" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Pozycja początkowa" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "Silniki" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "Panel wyjściowy silnika szachowego (gracza komputerowego) pokazuje rezultat jego \"myślenia\" podczas gry" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "W tej grze nie uczestniczą żadne silniki szachowe (gracze komputerowi)." #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Historia posunięć" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "Karta ruchów umożliwia śledzenie ruchów graczy i poruszanie się po historii gry" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Wynik" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "Panel wyników próbuje oceniać pozycje i pokazuje wykres postępu gry" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "" pychess-1.0.0/lang/cs/0000755000175000017500000000000013467766037013607 5ustar varunvarunpychess-1.0.0/lang/cs/LC_MESSAGES/0000755000175000017500000000000013467766037015374 5ustar varunvarunpychess-1.0.0/lang/cs/LC_MESSAGES/pychess.mo0000644000175000017500000030370713467766036017420 0ustar varunvarun'Oi i iGii i$j 'j5jPjij+{jj jjj/j0k[?kNkk%l`'l(l+l'l3m#9m%]m@m7m0m-nFnanxnn#n$n'no o!=oQ_oJo>o;pYp!apppppppppppp ppq qqq0"q'Sq@{qqqqqrr3rJrbr~r#r$r#rr s"s:sSsbs|sssssssQ t&\t$t+tCt7uUPu"u*u(uv3vEvVvjvepvv vvv&v.wMw ^wjwwww(w wSwOx _xmx)uxx x xxmx4yMO^g lv|Ď<8NSF\Gj`V>A8QZ m"xp %) 1 ; GT*i"ǒ ג1 }ē B MYa&x 1 !+::K 0@D0HuFHN=JwT}̚ J Xdg} ś&̛!&<8D } ȜϜ ՜ $+ 0:Xgx Ɲ̝ޝ{  Ş̞Ԟ ٞ $4%Zagv ğҟןܟ    (,/7:I1NGAȠ >WXRBBc]?GB;ʤqSxO̥F cqy &ȧ$٧ )&Pa gq è ب D!flry ©өܩ +#;BGNTfnw~E  +;S gq  ëԫ  +?H M[j q  ̬!֬  )4GN W b p} ȭЭ. /,\`i q#$$Ȯ###5Y^ cnt |Cί ( /=Xk s~   ɰ հ   ! /;S[t`,ձ*+-*Y.   $2G4P۳  $ 0:BH M W dq v   δ۴ # ,8 @JRYmv ǵص86E'Mu ~ #ʶ  ķѷӷ ۷ %,;Jdz  Ǹ Ҹ$*2 7ARX_s4չ 7 = H R_ d n|(պݺ*1\sy %ջ. ?M"b ƼμҼۼ ' 2>BN$ҽ* 2 ? KX nx}/;־߾   ' 3>DJ S]pw ǿѿ׿߿    + 3 @MV_oph"HCk5KJ14|93R.3c9T X9fZ.JIc}+`GBRhxZK-Q~E,DAqA  ) 9GVekr $/CUiz ,uyj  )34H}   3 J ky Q6% \j9sUMI  $#%, R"]#*   (4FYt9?9D(~/yCQ$3&=S  8Pn% tT3%l!Nnp/&(6&_'' '/ 8 F&P w   % *1 @ K Wa hrx   $ 2=Qb jv+ !)89r1' *I]c v 5"e+Iu !. P q} , 66(m  .#Bf! D E"BJ`z# "0-&cTP )I/%4U(6 ' ?38s5, 3&T'{.$"E+Rq>#"+NPRTkquy(C5>It  #CX'x**# /D*_  3OMc"-,@/4p_"+(,Te 2=P Y1c?3G(g"m! 5B0K| m %@Vf v#], !   $6O^g|  #A,Bo    /QDZ8@I:6/QEZ%0,I,vx<  E + DH R 1 8 1K E}  5 = 'N 'v + 4 ; D;  9         )2 : G S a'& <=0Z     + 58?x0 *<EW"n ?fP`^`w  -)66`5E   ' 2< E P\b F)9H LVkt aG2+-. \g{     & CCd 80%bVSI .W" )  1!SY]*d:3  B N  V 0w    1    !! 0! =! J!X!Fm!! !&!+!I$"Mn"P"L #UZ#7#l$U&$''D( T(_(b("~(((((/(.).=)l)Gs)$))) ))** !* /*:*B* ]*h*k* q*~** ** *****++&+*+=+[+++ ++ ,%,.,5, =, G,R, W,a,.f,,5,,,,", - 8-B-R-i-p-u-z- --- -- ----- - -K-Z6.w. //b0l 1jw1]1@22V~3L3U"4x4h5Eo5?66 77 7)717/D7t7!77 7.788 "8-8 @8J8[8 p8{888(888 88A869>9 G9$R9w99 999 99999)9:!: (: 2:<:E:^: f:s:z::::H::: ;;!;@;P;m;;;;;; ;;<*< C<P<W<_< e<p<+w<<<<<<<<= = =%= 7= C=&M=t={== === = ====>> > >(>.>0>7>I>Q>a>g>Ep>> >M>? ? %?/?/@?3p?6?/?/ @#;@_@g@ o@{@@ @M@@ AA %A0ANA UAaA}A A AA A AAABB7BIBcBBBBBBB CCH"CFkCGC$CCD cDoDD<D D DDE-E>E PE qEG|EEEEEEEF6F 8FCFIFPFcF lF wFF FFFFFF F FF FG!G(G CGPG-kGGGG GG G GGG HH=H#FH jHuH(HHGH I I5%I[I bI oI yI I-III dJpJrJxJ~JJJJJJ JJJ K K K$K7KFK"dKK K KKK KKKL)L AL KL VLbLxLLLLLLL"L#L9MQMaMhMqMtMMMM MMMM MMN!N=@N ~NN#NNN/N)O HO RO_OgOwOOO#O.O'O!&PHP _PlP!PP PPPPQ QQQ!Q3QJQ^QgQ |Q;QQ-QQR5RRRpR RRR RRRRRR/R!S 0S :S DS#NSrSS'SSS S S S STT "T .T;T@T2FT yTTTT T T TTTTTTTTUU!U)U1UGUw[UUVBWI\W=WNWI3X-}X>X;X&YT7YY0YmYCZ*[K9[[7[_[=\S\h\{\H\\e]Z]]]x^^ ^^i^0_ F_P_W_6_g`G`'`:`5/aea yaaaaaaaa aab bbbbbcc cc%c1)c[c]cdcmcKcVc#d3dDdJd]d nd{d9dd dde e,ez:dzKzz {>{1P{{{{ {{{| | |(|H7|'}e}5~D~c~{~ ~~~~~~~~+~/ %:`hj} '2-7`)€܀ !):<&>e!x%$߁59@GNW ^jYS5 jJ Xzf)2na3 L4utOuy`)1a l;Dr0 nQIycX"NE|Dk(  e/.P-0U]w|fca3x%+_1 %hIU#.&:=DKf&3zc>W__|PN@Jl[AkC#p 3R{~S H!DZv=g/15[o!CNg06u{;=LSA}T9$ib"W<^).\e4`k3W6I*a<>goNGHM0zZ,g(t>GpyZ8domY^T:\YOmUoGnKn>]i/sfvr^+XW`5$kEVpB;-+w=+{F_&6>L`~T<Geld!]/qC]2PAZ sqBJr%Y  &zG|6@}qtTw$jx;K\DhEl(Xbl~dcrs'?Q,s hziL%K Z9[sAq<2F,Q8Veymm"URTb=B Q:,f p2\H^5R1}B@`pF9U ixPb-F8!O9J~*'7'-&%6(N_SahS 5.nr-?g}Y P"A|\O V ;u$@dHwW"*)uRFMx(EXv'C *[]omt^d/ i4BLS?j 7 +8<77[0!hV'* cR4 :J{ )1I:QjMe~#OYVI2E,@#yM v?.xk$#b79Ht}jMwq?8vC4K{ Gain: + %d sec challenges you to a %(time)s %(rated)s %(gametype)s game chess has arrived has declined your offer for a match has departed has lagged for 30 seconds invalid engine move: %s is censoring you is lagging heavily but hasn't disconnected is not installed is present min noplay listing you uses a formula not fitting your match request: where %(player)s plays %(color)s. with whom you have an adjourned %(timecontrol)s %(gametype)s game is online. would like to resume your adjourned %(time)s %(gametype)s game.%(black)s won the game%(color)s got a double pawn %(place)s%(color)s got an isolated pawn in the %(x)s file%(color)s got isolated pawns in the %(x)s files%(color)s got new double pawns %(place)s%(color)s has a new passed pawn on %(cord)s%(color)s moves a %(piece)s to %(cord)s%(counter)s game headers from %(filename)s imported%(minutes)d min + %(gain)d sec/move%(name)s %(minutes)d min %(duration)s%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s%(name)s %(minutes)d min / %(moves)d moves %(duration)s%(opcolor)s has a new trapped bishop on %(cord)s%(player)s is %(status)s%(player)s plays %(color)s%(white)s won the game%d min%s can no longer castle%s can no longer castle in kingside%s can no longer castle in queenside%s moves pawns into stonewall formation%s returns an error%s was declined by your opponent%s was withdrawn by your opponent%s will identify what threats would exist if it were your opponent's turn to move%s will try to predict which move is best and which side has the advantage'%s' is a registered name. If it is yours, type the password.'%s' is not a registered name(Blitz)(Link is available on clipboard.)*-00 Players Ready0 of 00-11-01-minute1/2-1/210 min + 6 sec/move, White120015-minute2 min, Fischer Random, Black3-minute45-minute5 min5-minuteConnect to Online Chess ServerPromote pawn to what?PyChess was unable to load your panel settingsAnalyzingAnimationBoard StyleChess SetsChess VariantEnter Game NotationGeneral OptionsInitial PositionInstalled SidepanelsMove textName of _first human player:Name of s_econd human player:New version %s is available!Open GameOpen databaseOpening, endgameOpponent StrengthOptionsPlay Sound When...PlayersStart learningTime ControlWelcome screenYour Color_Connect to server_Start GameA file named '%s' already exists. Would you like to replace it?Engine, %s, has diedError loading gameFile '%s' already exists.PyChess is discovering your engines. Please wait.PyChess was not able to save the gameThere are %d games with unsaved moves. Save changes before closing?Unable to add %sUnable to save file '%s'Unknown file type '%s'Challenge:A player _checks:A player _moves:A player c_aptures:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docAbortAbout ChessAc_tiveAcceptActivate alarm when _remaining sec is:Active color field must be one of w or b. %sActive seeks: %dAdd commentAdd evaluation symbolAdd move symbolAdd new filterAdd start commentAdd sub-fen filter from position/circlesAdd threatening variation lines Adding suggestions can help you find ideas, but slows down the computer's analysis.Additional tagsAddress ErrorAdjournAdjourned, history and journal games listAdminAdministratorAfghanistanAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbaniaAlgeriaAll Chess FilesAll the evaluationsAll whiteAmerican SamoaAnalysis by %sAnalyze black movesAnalyze from current positionAnalyze gameAnalyze white movesAnalyzer's primary variationAndorraAngolaAnguillaAnimate pieces, board rotation and more. Use this on fast machines.Annotated gameAnnotationAnnotatorAntarcticaAntigua and BarbudaAny strengthArchivedArgentinaArmeniaArubaAsian variantsAsk for permissionsAsk to _MoveAssessAsymmetric RandomAsymmetric Random AtomicAustraliaAustriaAuthorAuto Call _FlagAuto _promote to queenAuto _rotate board to current human playerAuto login on startupAuto-logoutAvailableAzerbaijanBB EloBack to main lineBackround image path :Bad moveBahamasBahrainBangladeshBarbadosBecause %(black)s lost connection to the serverBecause %(black)s lost connection to the server and %(white)s requested adjournmentBecause %(black)s ran out of time and %(white)s has insufficient material to mateBecause %(loser)s disconnectedBecause %(loser)s king explodedBecause %(loser)s ran out of timeBecause %(loser)s resignedBecause %(loser)s was checkmatedBecause %(mover)s stalematedBecause %(white)s lost connection to the serverBecause %(white)s lost connection to the server and %(black)s requested adjournmentBecause %(white)s ran out of time and %(black)s has insufficient material to mateBecause %(winner)s has fewer piecesBecause %(winner)s king reached the centerBecause %(winner)s lost all piecesBecause %(winner)s was giving check 3 timesBecause a player aborted the game. Either player can abort the game without the other's consent before the second move. No rating changes have occurred.Because a player disconnected and there are too few moves to warrant adjournment. No rating changes have occurred.Because a player lost connectionBecause a player lost connection and the other player requested adjournmentBecause both king reached the eight rowBecause both players agreed to a drawBecause both players agreed to abort the game. No rating changes have occurred.Because both players agreed to an adjournmentBecause both players have the same amount of piecesBecause both players ran out of timeBecause neither player has sufficient material to mateBecause of adjudication by an adminBecause of adjudication by an admin. No rating changes have occurred.Because of courtesy by a player. No rating changes have occurred.Because the %(black)s engine diedBecause the %(white)s engine diedBecause the connection to the server was lostBecause the game exceed the max lengthBecause the last 50 moves brought nothing newBecause the same position was repeated three times in a rowBecause the server was shut downBecause the server was shut down. No rating changes have occurred.BeepBelarusBelgiumBelizeBeninBermudaBestBest moveBhutanBishopBlackBlack ELO:Black O-OBlack O-O-OBlack has a new piece in outpost: %sBlack has a rather cramped positionBlack has a slightly cramped positionBlack moveBlack should do pawn storm in leftBlack should do pawn storm in rightBlack side - Click to exchange the playersBlack:BlindFoldBlindfoldBlindfold AccountBlitzBlitz:Blitz: 5 minBosnia and HerzegovinaBotswanaBouvet IslandBrazilBringing your king legally to the center (e4, d4, e5, d5) instantly wins the game! Normal rules apply in other cases and checkmate also ends the game.Brunei DarussalamBughouseBulgariaBulletBurkina FasoBurundiCCACabo VerdeCalculating...CambodiaCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlCameroonCanadaCandidate MasterCapturedCastling availability field is not legal. %sCategory:Center:Central African RepublicChadChallengeChallenge: Challenge: Change ToleranceChatChess AdvisorChess Alpha 2 DiagramChess Compositions from yacpdb.orgChess GameChess PositionChess ShoutChess clientChess960ChileChinaChristmas IslandClaim DrawClassic chess rules http://en.wikipedia.org/wiki/ChessClassic chess rules with all pieces white http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden figurines http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pawns http://en.wikipedia.org/wiki/Blindfold_chessClassic chess rules with hidden pieces http://en.wikipedia.org/wiki/Blindfold_chessClassicalClassical: 3 min / 40 movesClearClockClose _without SavingColombiaColorize analyzed movesCommand line interface to the chess serverCommand line parameters needed by the engineCommand line parameters needed by the runtime envCommand:CommentComment:CommentsCompensationComputerComputersCongoCongo (the Democratic Republic of the)ConnectingConnecting to serverConnection ErrorConnection was closedConsoleContinueContinue to wait for opponent, or try to adjourn the game?Cook IslandsCopy FENCornerCosta RicaCould not save the fileCounterplayCountry of origin of the engineCountry:CrazyhouseCreate New Pgn DatabaseCreate SeekCreate a new databaseCreate new squence where listed conditions may be satisfied at different times in a gameCreate new streak sequence where listed conditions have to be satisfied in consecutive (half)movesCreate polyglot opening bookCreating .bin index file...Creating .scout index file...CroatiaCrushing advantageCubaCuraçaoCyprusCzechiaCôte d'IvoireDDark Squares :DatabaseDateDate/TimeDate:Decisive advantageDeclineDefaultDenmarkDestination Host UnreachableDetailed connection settingsDetailed settings of players, time control and chess variantDetect type automaticallyDevelopment advantageDiedDjiboutiDo you know that a knight is better placed in the center of the board?Do you know that it is possible to finish a chess game in just 2 turns?Do you know that moving the queen at the very beginning of a game does not offer any particular advantage?Do you know that the number of possible chess games exceeds the number of atoms in the Universe?Do you know that the rooks are generally engaged late in game?Do you really want to restore the default options of the engine ?Do you want to abort it?DominicaDominican RepublicDon't careDon't show this dialog on startup.DrawDraw:Due to abuse problems, guest connections have been prevented. You can still register on http://www.freechess.orgDummy AccountECOEcuadorEdit SeekEdit Seek: Edit commentEdit selected filterEffect on ratings by the possible outcomesEgyptEloEmailEn passant cord is not legal. %sEn passant lineEndgame TableEndgamesEngine playing strength (1=weakest, 20=strongest)Engine scores are in units of pawns, from White's point of view. Double clicking on analysis lines you can insert them into Annotation panel as variations.EnginesEngines use uci or xboard communication protocol to talk to the GUI. If it can use both you can set here which one you like.Enter GameEnvironmentEritreaError parsing %(mstr)sError parsing move %(moveno)s %(mstr)sEstoniaEthiopiaEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiEventEvent:ExamineExamine Adjourned GameExaminedExaminingExcellent moveExecutable filesExpected format as "yyyy.mm.dd" with the allowed joker "?"Export positionExternalsFEN needs 6 data fields. %sFEN needs at least 2 data fields in fenstr. %sFICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns * No castling * Black's arrangement mirrors white'sFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Randomly chosen pieces (two queens or three rooks possible) * Exactly one king of each color * Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED * No castling * Black's arrangement DOES NOT mirrors white'sFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Pawns start on their 7th rank rather than their 2nd rank!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Pawns start on 4th and 5th ranks rather than 2nd and 7thFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html White pawns start on 5th rank and black pawns on the 4th rankFIDE ArbeiterFIDE MasterFMF_ull board animationFace _to Face display modeFalkland Islands [Malvinas]FijiFile existsFilterFilter game list by current game movesFilter game list by opening movesFilter game list by various conditionsFiltersFilters panel can filter game list by various conditionsFind postion in current databaseFingerFinlandFirst gamesFischer RandomFollowFont:Forced moveFrame:FranceFree comment about the engineFriendsGMGabonGain:GambiaGameGame ListGame analyzing in progress...Game cancelledGame informationGame is _drawn:Game is _lost:Game is _set-up:Game is _won:Game shared at GamesGames running: %dGaviota TB path:Generally this means nothing, as the game is time-based, but if you want to please your opponent, perhaps you should get going.GeorgiaGermanyGibraltarGo back to the main lineGood moveGrand MasterGreeceGrenadaGridGuadeloupeGuamGuatemalaGuestGuest logins disabled by FICS serverGuestsGuided interactive lessons in "guess the move" styleGuyanaHaitiHalfmove clockHandle seeks and challengesHandle seeks on graphical wayHeaderHidden pawnsHidden piecesHideHintHintsHondurasHong KongHost:How to PlayHtml DiagramHuman BeingHungaryICSIMIcelandIdIdentificationIdleIf set you can refuse players accepting your seekIf set, FICS game numbers in tab labels next to player names are shown.If set, PyChess will colorize suboptimal analyzed moves with red.If set, PyChess will show game results for different moves in positions containing 6 or less pieces. It will search positions from http://www.k4it.de/If set, PyChess will show game results for different moves in positions containing 6 or less pieces. You can download tablebase files from: http://www.olympuschess.com/egtb/gaviota/If set, PyChess will suggest best opening moves on hint panel.If set, PyChess will use figures to express moved pieces, rather than uppercase letters.If set, clicking on main application window closer first time it closes all games.If set, pawn promotes to queen without promotion dialog selection.If set, the black pieces will be head down, suitable for playing against friends on mobile devices.If set, the board will turn after each move, to show the natural view for the current player.If set, the captured figurines will be shown next to the board.If set, the elapsed time that a player used for the move is shown.If set, the hint analyzer engine evaluation value is shown.If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation.If set, this hides the tab in the top of the playing window, when it is not needed.If the analyzer finds a move where the evaluation difference (the difference between the evaluation for the move it thinks is the best move and the evaluation for the move made in the game) exceeds this value, it will add an annotation for that move (consisting of the engine's Principal Variation for the move) to the Annotation panelIf you don't save, new changes to your games will be permanently lost.Ignore colorsIllegalImagesImbalanceImportImport PGN fileImport annotated games from endgame.nlImport chessfileImport games from theweekinchess.comImporting game headers...In TournamentIn this position, there is no legal move.Indent _PGN fileIndiaIndonesiaInfinite analysisInfoInitial positionInitial setupInitiativeInteresting moveInternational MasterInvalid move.Iran (Islamic Republic of)IraqIrelandIsle of ManIsraelIt is not possible later to continue the game, if you don't save it.ItalyJapanJordanJump to initial positionJump to latest positionKKazakhstanKenyaKingKing of the hillKiribatiKnightKnight oddsKnightsKorea (the Democratic People's Republic of)Korea (the Republic of)KuwaitLag:LatviaLearnLeave _FullscreenLebanonLecturesLengthLesothoLessonsLiberiaLibyaLichess practice studies Puzzles from GM games and Chess compositionsLiechtensteinLight Squares :LightningLightning:List of ongoing gamesList of playersList of server channelsList of server newsLithuaniaLoad _Recent GameLoading player dataLocal EventLocal SiteLog OffLog on ErrorLog on as _GuestLogging on to serverLosersLossLoss:MacaoMadagascarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMaldivesMaliMamer ManagerManage enginesManualManual AcceptManually accept opponentMartiniqueMateMate in %dMaterial/moveMauritaniaMauritiusMaximum analysis time in seconds:MexicoMicronesia (Federated States of)Minutes:Minutes: Moderate advantageMonacoMongoliaMontenegroMore channelsMore playersMoroccoMoveMove HistoryMove numberMovedMoves:NNameNames: #n1, #n2NamibiaNational MasterNauruNeedNeeds 7 slashes in piece placement field. %sNepalNetherlandsNever use animation. Use this on slow machines.NewNew GameNew RD:New _DatabaseNew game from 1-minute playing poolNew game from 15-minute playing poolNew game from 25-minute playing poolNew game from 3-minute playing poolNew game from 5-minute playing poolNew game from Chess960 playing poolNewsNextNext gamesNigerNigeriaNo _animationNo chess engines (computer players) are participating in this game.No conversation's selectedNo soundNo time controlNormalNormal: 40 min + 15 sec/moveNorwayNot AvailableNot a capture (quiet) moveNot the best move!ObserveObserve %sObserved _ends:ObserversOddsOffer A_bortOffer AbortOffer Ad_journmentOffer PauseOffer RematchOffer ResumeOffer UndoOffer _AbortOffer _DrawOffer _PauseOffer _ResumeOffer _UndoOfficial PyChess panel.OfflineOmanOn FICS, your "Wild" rating encompasses all of the following variants at all time controls: One player starts with one less knight pieceOne player starts with one less pawn pieceOne player starts with one less queen pieceOne player starts with one less rook pieceOnlineOnly animate _movesOnly animate piece moves.Only registered users may talk to this channelOpenOpen GameOpen Sound FileOpen chess fileOpening BookOpening booksOpening chessfile...OpeningsOpenings panel can filter game list by opening movesOpponent RatingOpponent's strength: OptionOptionsOtherOther (non standard rules)Other (standard rules)PPakistanPalauPanamaPapua New GuineaParaguayParameters:Paste FENPatternPausePawnPawn oddsPawns PassedPawns PushedPeruPhilippinesPick a datePingPlacementPlayPlay Fischer Random chessPlay Losers chessPlay RematchPlay _Internet ChessPlay normal chess rulesPlayer ListPlayer _RatingPlayers:Players: %dPlayingPng imagePo_rts:PolandPolyglot book file:PortugalPractice endgames with computerPre_viewPrefer figures in _notationPreferencesPreferred level:Preparing to start import...PreviewPreview panel can filter game list by current game movesPrevious gamesPrivateProbably because it has been withdrawn.ProgressPromotionProtocol:Puerto RicoPuzzlesPyChess - Connect to Internet ChessPyChess Information WindowPyChess has lost connection to the engine, probably because it has died. You can try to start a new game with the engine, or try to play against another one.PyChess.py:QQatarQueenQueen oddsQuit LearningQuit PyChessRR_esignRacing KingsRandomRapidRapid: 15 min + 10 sec/moveRatedRated gameRatingRating change:Reading %s ...Receiving list of playersRecreating indexes...RefreshRegisteredRemoveRemove selected filterRequest ContinuationResendResend %s?Reset ColoursReset my progressRestore the default optionsResultResult:ResumeRetryRomaniaRookRook oddsRotate the boardRoundRound:Running Simul MatchRuntime env command:Runtime env parameters:Runtime environment of engine command (wine or node)Russian FederationRwandaRéunionSRS_ign upSaint BarthélemySaint Vincent and the GrenadinesSamoaSan MarinoSanctionsSaudi ArabiaSaveSave GameSave Game _AsSave _own games onlySave _rating change valuesSave analyzing engine _evaluation valuesSave asSave database asSave elapsed move _timesSave files to:Save moves before closing?Save the current game before you close it?Save to PGN file as...ScoreScoutSearch:Seek GraphSeek _GraphSeek updatedSeeks / ChallengesSelect Gaviota TB pathSelect a pgn or epd or fen chess fileSelect auto save pathSelect background image fileSelect book fileSelect engineSelect sound file...Select the games you want to save:Select working directorySend ChallengeSend all seeksSend seekSenegalSeqSequenceSerbiaServer:Service RepresentativeSetting up environmentSetup PositionSeychellesSho_w cordsShort on _time:Should %s publicly publish your game as PGN on chesspastebin.com ?ShoutShow FICS game numbers in tab labelsShow _captured piecesShow elapsed move timesShow evaluation valuesShow tips at startupShredderLinuxChess:ShuffleSide to moveSide_panelsSierra LeoneSimple Chess PositionSingaporeSiteSite:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinSlight advantageSlovakiaSloveniaSomaliaSorry '%s' is already logged inSound filesSourceSouth AfricaSouth SudanSp_y arrowSpainSpentStandardStandard:Start Private ChatStatusStep back one moveStep forward one moveStrStreakStudy FICS lectures offlineSub-FEN :SudanSuicideSuspicious moveSwazilandSwedenSwitzerlandSymbolsTTDTMTagTajikistanTalkingTeam AccountText DiagramTexture:ThailandThe abort offerThe adjourn offerThe analyzer will run in the background and analyze the game. This is necessary for the hint mode to workThe chain button is disabled because you are logged in as a guest. Guests can't establish ratings, and the chain button's state has no effect when there is no rating to which to tie "Opponent Strength" toThe chat panel lets you communicate with your opponent during the game, assuming he or she is interestedThe clock hasn't been started yet.The comments panel will try to analyze and explain the moves playedThe connection was broken - got "end of file" messageThe current game is not terminated. Its export may have a limited interest.The current game is over. First, please verify the properties of the game.The directory where the engine will be started from.The displayed name of the first human player, e.g., John.The displayed name of the guest player, e.g., Mary.The draw offerThe endgame table will show exact analysis when there are few pieces on the board.The engine %s reports an error:The engine is already installed under the same nameThe engine output panel shows the thinking output of chess engines (computer players) during a gameThe entered password was invalid. If you forgot your password, go to http://www.freechess.org/password to request a new one over email.The error was: %sThe file already exists in '%s'. If you replace it, its content will be overwritten.The flag callThe game can't be loaded, because of an error parsing FENThe game can't be read to end, because of an error parsing move %(moveno)s '%(notation)s'.The game ended in a drawThe game has been abortedThe game has been adjournedThe game has been killedThe hint panel will provide computer advice during each stage of the gameThe inverse analyzer will analyze the game as if your opponent was to move. This is necessary for the spy mode to workThe move failed because %s.The moves sheet keeps track of the players' moves and lets you navigate through the game historyThe offer to switch sidesThe opening book will try to inspire you during the opening phase of the game by showing you common moves made by chess mastersThe pause offerThe reason is unknownThe resignationThe resume offerThe score panel tries to evaluate the positions and shows you a graph of the game progressThe takeback offerThebanThemesThere is %d game with unsaved moves.There are %d games with unsaved moves.There is something wrong with this executableThis game can be automatically aborted without rating loss because there has not yet been two moves madeThis game can not be adjourned because one or both players are guestsThis is a continuation of an adjourned matchThis option is not applicable because you're challenging a playerThis option is not available because you're challenging a guest, Threat analysis by %sThree-checkTimeTime controlTime control: Time pressureTip Of The dayTip of the DayTitleTitledTo save a game Game > Save Game As, give the filename and choose where you want to be saved. At the bottom choose extension type of the file, and Save.TogoTolerance:Tournament DirectorTranslate PyChessTrinidad and TobagoTry chmod a+x %sTunisiaTurkeyTurkmenistanTuvaluTypeType or paste PGN game or FEN positions hereUUgandaUkraineUnable to accept %sUnable to save to configured file. Save the games before closing?Unable to save to configured file. Save the current game before you close it?Unclear positionUndescribed panelUndoUndo one moveUndo two movesUninstallUnited Arab EmiratesUnited Kingdom of Great Britain and Northern IrelandUnited States of AmericaUnknownUnknown game stateUnofficial channel %dUnratedUnregisteredUntimedUpside DownUruguayUse _analyzerUse _inverted analyzerUse _local tablebasesUse _online tablebasesUse a linear scale for the scoreUse analyzer:Use name format:Use opening _bookUse time compensationUzbekistanValueVanuatuVariantVariant developed by Kai Laskos: http://talkchess.com/forum/viewtopic.php?t=40990Variation annotation creation threshold in centipawns:Very bad moveViet NamView lectures, solve puzzles or start practicing endgamesVirgin Islands (British)Virgin Islands (U.S.)W EloWFMWGMWIMWaitWarning: this option generates a formatted .pgn file which is not standards complientWas unable to save '%(uri)s' as PyChess doesn't know the format '%(ending)s'.WelcomeWell done!Well done! %s completed.Western SaharaWhen this button is in the "locked" state, the relationship between "Opponent's strength" and "Your strength" will be preserved when a) your rating for the type of game sought has changed b) you change the variant or the time controlWhiteWhite ELO:White O-OWhite O-O-OWhite has a new piece in outpost: %sWhite has a rather cramped positionWhite has a slightly cramped positionWhite moveWhite should do pawn storm in leftWhite should do pawn storm in rightWhite side - Click to exchange the playersWhite:WildWildcastleWildcastle shuffleWinWin by giving check 3 timesWin:Winning %With attackWoman FIDE MasterWoman Grand MasterWoman International MasterWorking directory:Year, month, day: #y, #m, #dYemenYou asked your opponent to moveYou can't play rated games because "Untimed" is checked, You can't play rated games because you are logged in as a guestYou can't select a variant because "Untimed" is checked, You can't switch colors during the game.You can't touch this! You are examining a game.You don't have the necessary rights to save the file. Please ensure that you have given the right path and try again.You have been logged out because you were idle more than 60 minutesYou have opened no conversations yetYou have to set kibitz on to see bot messages here.You have tried to undo too many moves.You have unsaved changes. Do you want to save before leaving?You may only have 3 outstanding seeks at the same time. If you want to add a new seek you must clear your currently active seeks. Clear your seeks?You sent a draw offerYou sent a pause offerYou sent a resume offerYou sent an abort offerYou sent an adjournment offerYou sent an undo offerYou sent flag callYou will lose all your progress data!Your opponent asks you to hurry!Your opponent has asked that the game be aborted. If you accept this offer, the game will end with no rating change.Your opponent has asked that the game be adjourned. If you accept this offer, the game will be adjourned and you can resume it later (when your opponent is online and both players agree to resume).Your opponent has asked that the game be paused. If you accept this offer, the game clock will be paused until both players agree to resume the game.Your opponent has asked that the game be resumed. If you accept this offer, the game clock will continue from where it was paused.Your opponent has asked that the last %s move(s) be undone. If you accept this offer, the game will continue from the earlier position.Your opponent has offered you a draw.Your opponent has offered you a draw. If you accept this offer, the game will end with a score of 1/2 - 1/2.Your opponent is not out of time.Your opponent must agree to abort the game because there has been two or more moves madeYour opponent seems to have changed their mind.Your opponent wants to abort the game.Your opponent wants to adjourn the game.Your opponent wants to pause the game.Your opponent wants to resume the game.Your opponent wants to undo %s move(s).Your seeks have been removedYour strength: Your turn.ZambiaZimbabweZugzwang_Accept_Actions_Analyze Game_Archived_Auto save finished games to .pgn file_Call Flag_Clear Seeks_Copy FEN_Copy PGN_Decline_Edit_Engines_Export Position_Fullscreen_Game_Game List_General_Help_Hide tabs when only one game is open_Hint arrow_Hints_Invalid move:_Load Game_Log Viewer_My games_Name:_New Game_Next_Observed moves:_Opponent:_Password:_Play Normal chess_Player List_Previous_Puzzle success:_Recent:_Replace_Rotate Board_Save %d document_Save %d documents_Save %d documents_Save Game_Seeks / Challenges_Show Sidepanels_Sounds_Start Game_Untimed_Use main app closer [x] to close all games_Use sounds in PyChess_Variation choices:_View_Your Color:andand guests can't play rated gamesand on FICS, untimed games can't be ratedand on FICS, untimed games have to be normal chess rulesask your opponent to moveblackbrings a %(piece)s closer to enemy king: %(cord)sbrings a pawn closer to the backrow: %scall your opponents flagcaptures materialcastlesdefends %sdevelops a %(piece)s: %(cord)sdevelops a pawn: %sdrawsexchanges materialgnuchess:half-openhttp://brainking.com/en/GameRules?tp=2 * Placement of the pieces on the 1st and 8th row are randomized * The king is in the right hand corner * Bishops must start on opposite color squares * Black's starting position is obtained by rotating white's position 180 degrees around the board's center * No castlinghttp://en.wikipedia.org/wiki/Chesshttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://en.wikipedia.org/wiki/Rules_of_chessimproves king safetyin the %(x)s%(y)s filein the %(x)s%(y)s filesincreases the pressure on %sinvalid promoted piecelessonslichessmatesminminsmovemoves a rook to an open filemoves an rook to a half-open filemoves bishop into fianchetto: %snot playingofoffer a drawoffer a pauseoffer a takebackoffer an abortoffer to adjournoffer to resumeoffer to switch sidesonline in totalotherspawn capture without target piece is invalidpins an enemy %(oppiece)s on the %(piece)s at %(cord)splaces a %(piece)s more active: %(cord)spromotes a Pawn to a %sputs opponent in checkrating range nowrescues a %sresignround %ssacrifices materialsecsecsslightly improves king safetytakes back materialthe captured cord (%s) is incorrectthe end cord (%s) is incorrectthe move needs a piece and a cordthreatens to win material by %sto automatic acceptto manual acceptucivs.whitewindow1wtharveyxboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Random arrangement of the pieces behind the pawns * No castling * Black's arrangement mirrors white'sxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * White has the typical set-up at the start. * Black's pieces are the same, except that the King and Queen are reversed, * so they are not on the same files as White's King and Queen. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * In this variant both sides have the same set of pieces as in normal chess. * The white king starts on d1 or e1 and the black king starts on d8 or e8, * and the rooks are in their usual positions. * Bishops are always on opposite colors. * Subject to these constraints the position of the pieces on their first ranks is random. * Castling is done similarly to normal chess: * o-o-o indicates long castling and o-o short castling.yacpdbÅland IslandsProject-Id-Version: pychess Report-Msgid-Bugs-To: PO-Revision-Date: 2019-04-16 13:26+0000 Last-Translator: slav0nic Language-Team: Czech (http://www.transifex.com/gbtami/pychess/language/cs/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: cs Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3; Přírůstek: + %d s vás vyzývá ke hře %(time)s %(rated)s %(gametype)s šachpřišel odmítl vaši nabídku ke hřeodešelje pozadu o 30 sekund neplatný tah stroje: %s vás cenzurujeje těžce pozadu, ale neodpojil senenainstalovánoje přítomen min žádná hra vás nemá v seznamu neodpovídá hlediskům vaší žádosti o hru: kde %(player)s hraje%(color)s.s nímž jste měl odloženou hru %(timecontrol)s %(gametype)s, je připojen k síti. chcete pokračovat ve své odložené hře %(time)s %(gametype)s.%(black)s vyhrál hru%(color)s má zdvojené pěšce %(place)s%(color)s má odloučeného pěšce v postavení %(x)s%(color)s má odloučené pěšce v %(x)s postaveních%(color)s má odloučené pěšce v %(x)s postaveních%(color)s má odloučené pěšce v %(x)s postaveních%(color)s má nové zdvojené pěšce %(place)s%(color)s má nového prošlého pěšce na %(cord)s%(color)s táhnul: %(piece)s na %(cord)s%(counter)s herních záhlaví z %(filename)s zavedeno%(minutes)d min + %(gain)d s/tah%(name)s %(minutes)d minut %(duration)s%(name)s %(minutes)d minut %(sign)s %(gain)d s/tah %(duration)s%(name)s %(minutes)d minut/ %(moves)d tahů %(duration)s%(opcolor)s má nového střelce v šachu na %(cord)s%(player)s je %(status)s%(player)s plays %(color)s%(white)s vyhrál hru%d min%s už nemůže udělat rošádu%s už nemůže udělat malou rošádu%s už nemůže udělat velkou rošádu%s přesunuje pěšce do útvaru kamenná zeď%s vrátil chybu%s byla vaším soupeřem odmítnuta%s byla vaším soupeřem stažena%s určí, jaké by mohly být hrozby, kdyby měl hrát váš soupeř%s se pokusí předem určit, který tah je nejlepší a která strana má výhodu'%s' je zaregistrované jméno. Pokud je vaše, zadejte heslo.'%s' není registrované jméno(Blesk)(Odkaz je dostupný ve schránce.)*-0Připraveno 0 hráčů0 z 00-11-01 minuta1/2-1/210 min + 6 s/tah, Bílý120015 minut2 min, náhodné šachy Fischer, Černý3 minuty45 minut5 min5 minutPřipojit se k internetovému šachovému serveruProměnit pěšce na kterou figuru?PyChess nebyl schopen nahrát nastavení vašeho paneluRozborAnimaceStyl šachovniceŠachové sadyŠachová variantaVstoupit do záznamu hryObecné volbyPočáteční postaveníNainstalované postranní panelyPosunout textJméno _prvního lidského hráče:Jméno _druhého lidského hráče:Je dostupná nová verze %s!Otevřít hruOtevřít databáziZahájení/Otevření hry, koncovkySíla soupeřeVolbyPřehrát zvuk, když...HráčiZačít s výukouŘízení časuUvítací obrazovkaVaše barva_Připojit k serveru_Spustit hruSoubor pojmenovaný '%s' již existuje. Chcete ho nahradit?Stroj, %s, spadlChyba při nahrávání hrySoubor '%s' již existuje.PyChess zjišťuje stroje. Počkejte, prosím.PyChess se hru nepodařilo uložitJe %d her s neuloženými tahy. Mají se tyto tahy před zavřením uložit?Nelze přidat %sNelze uložit soubor '%s'Neznámý typ souboru '%s'Výzva:Š_achy hráče:_Tahy hráče:Hráč za_jímá:ASEANASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.docPřerušitCo je hra v šach?Č_innýPřijmoutSpustit poplach, když z_bývajících sekund je:Činné pole s barvou musí být buď bílé nebo černé. %sČinné žádosti: %dPřidat poznámkuPřidat vyhodnocovací symbolPřidat značku pro tahPřidat nový filtrPřidat začáteční poznámkuPřidat filtr pod-FEN z position/circlesPřidat řádky hrozící obměny Přidání návrhů vám může pomoci s hledáním nápadů, ale zpomalí provádění rozboru počítačem.Dodatečné značkyChyba adresyOdložitSeznam přerušených her, historie a deník herSprávceSprávceAfghánistánAi-WokAi-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364AlbánieAlžírskoVšechny šachové souboryVšechna vyhodnoceníVšechny bíléAmerická SamoaRozbor od %sProvést rozbor černých tahůRozebrat od nynější polohyProvést rozbor hryProvést rozbor bílých tahůZákladní obměna analyzátoruAndorraAngolaAnguillaAnimovat hrací figurky, otočení hrací desky a jiné. Používejte na rychlých strojích.Hra opatřená poznámkamiPoznámkaAutor vysvětlujících poznámekAntarktikaAntigua a BarbudaJakákoli sílaArchivovánoArgentinaArménieArubaAsijské variantyPožádat o oprávněníVyzvat k _tahuPosouditNesouměrná náhodaNesouměrná náhodaAtomové šachyAustrálieRakouskoAutorAutomaticky se d_ožadovat časuAutomoticky _proměnit na královnuO_točit šachovnici automaticky k nynějšímu lidskému hráčiAutomatické přihlášení při spuštěníAutomatické odhlášeníDostupnýÁzerbájdžánBB EloZpět do hlavního řádkuCesta k obrázku na pozadí:Špatný tahBahamyBahrajnBangladéšBarbadosProtože %(black)s ztratil spojení se serveremProtože %(black)s ztratil spojení se serverem a %(white)s požaduje odloženíProtože %(black)s už nezůstal čas a %(white)s nemá dost materiálu na to, aby dal matProtože %(loser)s byl odpojenProtože %(loser)s král buď vybuchl anebo se rozložilProtože %(loser)s nezbyl čas, a tak zemřel z časové tísněProtože %(loser)s vzdalProtože %(loser)s dostal šachmat, a tím pádem skončilProtože %(mover)s je neschopen tahu - patová situaceProtože %(white)s ztratil spojení se serveremProtože %(white)s ztratil spojení se serverem a %(black)s požaduje odloženíProtože %(white)s už nezůstal čas a %(black)s nemá dost materiálu na to, aby dal matProtože %(winner)s má málo figurekProtože %(winner)s král dosáhl středu hracíProtože %(winner)s ztratil všechny figurkyProtože %(winner)s stál v šachu třikrátProtože hráč přerušil hru. Kterýkoli hráč může hru přerušit bez svolení druhého hráče před druhým tahem. Žádné změny v hodnocení.Protože se hráč odpojil a je příliš málo tahů na to, aby bylo vynuceno odložení. Žádné změny v hodnocení.Protože hráč ztratil spojeníProtože hráč ztratil spojení a druhý hráč požaduje odloženíProtože oba králové dosáhli osmou řaduProtože oba hráči souhlasili s nerozhodným výsledkem - remízouProtože oba hráči souhlasili s přerušením hry. Žádné změny v hodnocení.Protože oba hráči souhlasili s odložením hryProtože oběma hráčům zůstal stejný počet figurekProtože oběma hráčům nezůstal žádný časProtože žádný z hráčů nemá dost materiálu na to, aby dal matZ rozhodnutí správceZ rozhodnutí správce. Žádné změny v hodnocení.Z důvodu zdvořilosti hráče. Žádné změny v hodnocení.Protože %(black)s stroj vypustil dušiProtože %(white)s stroj vypustil dušiProtože spojení se serverem bylo ztracenoProtože hra překročila největší možnou délkuProtože posledních padesát tahů nepřineslo nic novéhoProtože tatáž pozice byla zopakována třikrát po sobě v řaděProtože server byl vypnutProtože server byl vypnut. Žádné změny v hodnocení.PípnutíBěloruskoBelgieBelizeBeninBermudyNejlepšíNejlepší tahBhútánstřelecČernýČerný ELO:Černý O-OČerný O-O-OČerný má novou figurku na: %sČerný má poněkud stísněnou poziciČerný má mírně stísněnou poziciTah černéhoČerný by měl provést útok pěšáků na levém křídleČerný by měl provést útok pěšáků na pravém křídleČerná strana - Klepněte pro výměnu hráčůČerný:Šachy na slepoŠachy na slepoZakrytý účetBleskBlesk:Bleskovka: 5 minutBosna a HercegovinaBotswanaBouvetův ostrovBrazíliePřivedení vašeho krále do středu (e4, d4, e5, d5) znamená okamžitou výhru ve hře! Normální pravidla platí v jiných případech a šachmat hru ukončí také.Brunej DarussalamŠachy ve dvouBulharskoKulkaBurkina FasoBurundiCCAKapverdyPočítá se...KambodžaCambodianCambodian: http://www.khmerinstitute.org/culture/ok.htmlKamerunKanadaUchazeč o místo mistraZajmutoPole pro dostupnost rošády není dovoleno. %sSkupina:Střed:Středoafrická republikaČadVyzvatVýzva: Vyzvat: Změnit toleranciRozhovorŠachový poradceČachy-Alpha-2-DiagramŠachová rozvržení z yacpdb.orgŠachová hraŠachová poziceZakřičet šachŠachový klientChess960ChileČínaVánoční ostrovDožadovat se remízyKlasická šachová pravidla http://en.wikipedia.org/wiki/ChessKlasická šachová pravidla se všemi figurkami bílými http://en.wikipedia.org/wiki/Blindfold_chessKlasická šachová pravidla se skrytými figurkami http://en.wikipedia.org/wiki/Blindfold_chessKlasická šachová pravidla se skrytými pěšci http://en.wikipedia.org/wiki/Blindfold_chessKlasická šachová pravidla se skrytými figurkami http://en.wikipedia.org/wiki/Blindfold_chessKlasickáKlasická: 3 minuty/40 tahůVyprázdnitHodinyZavřít _bez uloženíKolumbieBarvit tahy, u nichž byl proveden rozborRozhraní příkazového řádku k šachovému serveruParametry příkazového řádku potřebné pro strojParametry příkazového řádku potřebné pro běhové prostředí.Příkaz:PoznámkaPoznámka:PoznámkyNáhradaPočítačPočítačeKongoKongo (Demokratická republika)PřipojováníPřipojení k serveruChyba spojeníSpojení bylo uzavřenoKonzolePokračovatPokračovat v čekání na soupeře, nebo se pokusit o odložení hry?Cookovy ostrovyKopírovat FENRohKostarikaNelze uložit souborProtihraZemě původu strojeZemě:BlázinecVytvořit novou databázi PgnVytvořit žádostVytvořit novou databáziVytvořit novou posloupnost, kde zahrnuté podmínky mohou být ve hře uspokojeny v různou dobuVytvořit novou řadovou posloupnost, kde zahrnuté podmínky musí být uspokojeny v po sobě jdoucích/následujících (půl)tazíchVytvořit knihovnu zahájení ve formátu polyglotVytváří se rejstříkový soubor .bin...Vytváří se rejstříkový soubor .scout...ChorvatskoZdrcující výhodaKubaCuraçaoKyprČeská republikaSlonovinové pobřežíDTmavá pole:DatabázeDatumDatum/ČasDatum:Rozhodující výhodaOdmítnoutVýchozíDánskoCílový počítač je nedosažitelnýPodrobná nastavení připojeníPodrobná nastavení hráčů, řízení času a šachovou variantuDetekovat typ automatickyRozvíjející výhodaZemřelDžibutskoVíte že král je lépe umístěn v centru šachovnice?Víte, že je možné šachovou hru za dva tahy?Víte že hrát s královnou na úplném začátku hry nepřináší žádné konkrétní výhody?Víte, že počet možných šachových her překračuje počet atomů ve vesmíru?Víte že se věže obvykle zapojují do hry až v její pozdní části?Opravdu chcete obnovit výchozí volby stroje?Chcete jej přerušit?Dominika (Společenství Dominika)Dominikánská republikaNestarat seNeukazovat tento dialog při spuštění.RemízaRemíza:Kvůli potížím se zneužíváním bylo hostům zabráněno v připojení. Pořád se ještě můžete zaregistrovat na http://www.freechess.orgSmyšlený účetECOEkvádorUpravit žádostUpravit žádost: Upravit poznámkuUpravit vybraný filtrÚčinek na hodnocení podle možných výsledkůEgyptEloE-mailKráčející šňůra není dovolena. %sŘádek cestouTabulka koncovkyKoncovkyHerní síla stroje (1 = nejslabší, 20 = nejsilnější)Výsledky stroje jsou z pohledu bílého v jednotkách pěšců. Dvojitým klepnutím na řádky rozboru je můžete vložit do panelu s poznámkami jako obměny.StrojeStroje používají komunikační prokokol uci nebo xboard ke spojení s GUI. Pokud používají oba, zde můžete nastavit ten, který máte radši.Vsoupit do hryProstředíEritreaChyba při zpracování %(mstr)sChyba při zpracování tahu %(moveno)s %(mstr)sEstonskoEtiopieEuroShogiEuroShogi: http://en.wikipedia.org/wiki/EuroShogiUdálostUdálost:ProhlédnoutPřezkoumat odloženou hruProhlédnutoPřihlížíVýborný tahSpustitelné souboryOčekáván formát "rrrr.mm.dd" s povoleným zástupným symbolem "?"Vyvést stav hryZevnějšekFEN potřebuje 6 datových polí. %sFEN potřebuje 2 datová pole v okně. %sFICS atomové šachy: http://www.freechess.org/Help/HelpFiles/atomic.htmlFICS tandemové šachy: http://www.freechess.org/Help/HelpFiles/bughouse.htmlFICS dosazovací šachy: http://www.freechess.org/Help/HelpFiles/crazyhouse.htmlFICS loupežníci: http://www.freechess.org/Help/HelpFiles/losers_chess.htmlFISC loupežnické šachy: http://www.freechess.org/Help/HelpFiles/suicide_chess.htmlFICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html * Náhodně vybrané figurky (jsou možné dvě královny nebo tři věže) * Přesně jeden král každé barvy * Figurky umístěny náhodně za pěšci * Žádná rošáda * Rozmístění černých figurek zrcadlí rozmístění bílých figurekFICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html * Náhodně vybrané figurky (jsou možné dvě královny nebo tři věže) * Přesně jeden král každé barvy * Figurky umístěny náhodně za pěšci, PŘEDMĚT OMEZENÍ , ŽE STŘELCI JSOU VYVÁŽENI * Žádná rošáda * Rozmístění černých figurek NEZRCADLÍ rozmístění bílých figurekFICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions Pěšci začínají na sedmé řadě spíše než na druhé!FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html Pěšci začínají na čtvrté a páté řadě spíše než na druhé a sedméFICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html Bílí pěšci začínají na páté řadě a černí pěšci na čtvrté řaděFIDE rozhodčíFIDE mistrFMPl_ná animace hrací deskyRežim zobrazení _hlava na hlavěFalklandské ostrovy [Malvíny]FidžiSoubor existujeFiltrFiltrovat seznam her podle tahů nynější hryFiltrovat seznam her podle zahajovajích tahůFiltrovat seznam her podle různých podmínekFiltryFiltrovací panel může filtrovat seznam her podle různých podmínekNajít pozici v nynější databáziPrstFinskoPrvní hryNáhodné šachy FischerSledovatPísmo:Vynucený tahRámeček:FrancieVolná poznámka ke strojiPřáteléGMGabonPřírustek:GambieHraSeznam herProbíhá rozbor hry...Hra zrušenaInformace o hřeHra je n_erozhodná:Hra je _prohrána:Hra je na_stavena:Hra je _vyhrána:Hra sdílena vHryBěžící hry: %dCesta k tabulkám od Gavioty:Obecně o nic nejde, jelikož hra je založena na času, ale pokud chcete svého soupeře potěšit, možná byste si měl pohnout.GeorgieNěmeckoGibraltarJít zpět do hlavního řádkuDobrý tahVelmistrŘeckoGrenadaMřížkaGuadeloupeGuamGuatemalahostPřihlášení hostů zakázána serverem FICSHostéProvázené interaktivní lekce ve stylu "hádej tah"GuyanaHaitiHodiny poloviny tahuZacházet se žádostmi a výzvamiZacházet se žádostmi grafickyZáhlavíSkrytí pěšciSkryté hrací figurkySkrýtRadaRadyHondurasHong KongHost:Jak hrát šachyHtml DiagramČlověkMaďarskoICSIMIslandIDOznačeníNečinnýPokud je nastaveno, můžete odmítnout hráče přijmuvší vaši žádostJe-li nastaveno, jsou čísla her FICS ukázána ve štítcích karet vedle jmen hráčů.Pokud je nastaveno, PyChess bude obarvovat tahy, u nichž byl proveden rozbor, jež však nejsou nejlepší, červeně.Když je zapnuta tato volba, PyChess bude ukazovat herní výsledky pro různé tahy v pozicích obsahujících 6 nebo méně hracích figurek. Pozice bude hledat na http://www.k4it.de/Když je zapnuta tato volba, PyChess bude ukazovat herní výsledky pro různé tahy v pozicích obsahujících 6 nebo méně hracích figurek. Soubory s tabulkami můžete stáhnout z: http://www.olympuschess.com/egtb/gaviota/Když je zapnuta tato volba, PyChess bude v panelu s radami navrhovat nejlepší zahajovací tahy.Když je zapnuta tato volba, PyChess bude používat figurky namísto velkých písmen, aby vyjádřil tahy.Je-li nastaveno, po prvním klepnutí na zavírací tlačítko okna programu dojde k zavření všech her.Je-li nastaveno, pěšec je proměněn na královnu bez vybrání v dialogu pro proměnění.Když je zapnuta tato volba, černé figurky jsou zobrazeny s hlavou směřující dolů. Má smysl u přenosných zařízení, když protihráč sedí na jiné straně obrazovky.Když je zapnuta tato volba, šachovnice se otočí po každém tahu, aby se mohli ze svého pohledu na šachovnici podívat oba hráči.Když je zapnuta tato volba, zajmuté hrací figurky budou ukázany vedle šachovnice.Pokud je nastaveno, je ukázán uplynulý čas, jejž hráč použil na tah.Pokud je nastaveno, je ukázána hodnota vyhodnocení stroje poradního analyzátoru.Když je zapnuta tato volba, sloupce a řádky hrací desky jsou zobrazeny s písmeny a čísly. Toto je užitečné při šachovém zápisu.Když je zapnuta tato volba, pruh nahoře herního okna se bude ukazovat jen tehdy, když bude potřeba.Pokud analyzátor najde tah, kde rozdíl ve vyhodnocení (rozdíl mezi vyhodnocením pro tah, o kterém si myslí, že je nejlepším tahem, a vyhodnocením pro tah zahraný ve hře) překročí tuto hodnotu, přidá poznámku k tomuto tahu (sestávající z hlavní herní obměny stroje pro ten tah) do panelu s poznámkamiPokud hru neuložíte, bude nynější stav hry trvale ztracen.Přehlížet barvyNeplatnýObrázkyNevyrovnanostZavéstZavést soubor PGNZavést hry opatřené poznámkami z endgame.nlZavést šachový soubor Zavést hry z theweekinchess.comZavádí se herní záhlavíNa soutěžiV tomto postavení není žádný tah platný.Odsadit soubor _PGNIndieIndonésieNekonečný rozborInformaceVýchozí poziceVýchozí nastaveníIniciativaZajímavý tahMezinárodní mistrNeplatný tah.Írán (Íránská islámská republika)IrákIrskoOstrov ManIzraelNení možné později pokračovat ve hře, pokud ji neuložíte.ItálieJaponskoJordánskoJít zpět na počáteční stav hryJít na poslední stav hryKKazachstánKeňakrálKrál kopceKiribatikůňMožnost tahu jezdcemKrálemKorejská lidově demokratická republikaKorea (republika)KuvajtProdleva:LotyšskoUčit deOpustit _celou obrazovkuLibanonPřednáškyDélkaLesothoVyučovací hodinyLibérieLibyeLichess procvičuje hlavolamová cvičení z her GM a šachových pracíLichtenštejnskoSvětlá pole:StřelaStřela:Seznam dále probíhajících herSeznam hráčůSeznam serverových kanálůSeznam serverových novinekLitvaNahrát _nedávnou hruNahrávají se data hráčůMístní událostMístní stránkaOdhlásit seChyba při přihlašováníPřihlásit se jako _hostPřihlášení k serveruLoupežníciProhraProhra:MacaoMadagaskarMakrukMakruk: http://en.wikipedia.org/wiki/MakrukMaledivyMaliSprávce MamerNastavení strojůRučníPřijmout ručněPřijmout soupeře ručněMartinikPomocníkMat za %dMateriál/přesunMauritánieMauriciusNejvíce času na rozbor v sekundách:MexikoFederativní státy MikronésieMinuty:Minuty: Mírná výhodaMonakoMongolskoČerná HoraVíce kanálůVíce hráčůMarokoTahHistorie tahůČíslo tahuTaženoTahy:NJménoNázvy: #n1, #n2NamibieNárodní mistrNauruPotřebaPotřebuje 7 lomítek v poli pro umísťování figur - kamenů. %sNepálNizozemíAnimace se nebudou používat nikdy. Užitečné na pomalých počítačích.NovýNová hraNový RD:Nová _databázeNová hra z herní zásoby jednominutových herNová hra z herní zásoby patnáctiminutových herNová hra z herní zásoby pětadvacetiminutových herNová hra z herní zásoby tříminutových herNová hra z herní zásoby pětiminutových herNová hra z herní zásoby Chess960NovinkyDalšíDalší hryNigerNigérieBez _animaceŽádné šachové stroje (počítačoví hráči) se neúčastní této hry.Nebyl vybrán žádný rozhovorBez zvukuBez ovládání časuNormálníNormální: 40 min + 15 s/tahNorskoNedostupnýNení (tichý) tah zajmutíNikoli nejlepší tah!PozorovatPozorovat %sPozorované _konce:PozorovateléMožnostiNabídnout _přerušeníNabídnout přerušeníNabídnout odlož_eníNabídnout pozastaveníNabídnout odvetuNabídnout pokračováníNabídnout vzetí tahu zpětNabídnout přer_ušeníNabídnout _remízuNabídnout poza_staveníNabídnout po_kračováníNabídnout vzetí tahu _zpětPanel PyChess.NepřipojenýOmánNa FICS, vaše zařazení "Varianty" počítá následující varianty: Jeden z hráčů začíná s o jednoho jezdce menším počtem figurekJeden z hráčů začíná s o jednoho pěšce menším počtem figurekJeden z hráčů začíná bez dámyJeden z hráčů začíná s o jednu věž menším počtem figurekPřipojenýAnimovat pouze _tahyAnimovat pouze _hrací figurkyJen přihlášení uživatelé mohou mluvit na tomto kanáluOtevřítOtevřít hruOtevřít zvukový souborOtevřít šachový souborKniha zahájeníZahajovací knihyOtevírá se šachový soubor...ZahájeníZahajovací panel může filtrovat seznam her podle zahajovacích tahůHodnocení soupeřeSíla soupeře:VolbaVolbyJinéJiné (nestandardní pravidla)Jiné (standardní pravidla)PPákistánPalauPanamaPapua-Nová GuineaParaguayParametry:Vložit FENVzorPozastavitpěšecMožnost tahu pěšcemVolní pěšciPosunutí pěšciPeruFilipínyZvolte datumPingUmístěníHrátHrát Fischerovy náhodné šachyHrát loupežnické šachyHrát odvetuHrát šachy na _internetuHrát podle normálních šachových pravidelSeznam hráčůVýkonnost hráčeHráčiHráči: %dHrajeObrázek PNG_Přípojky:PolskoSoubor s knihou Polyglot:PortugalskoCvičit koncovky s počítačem_NáhledUpřednostňovat figurky v zá_pisuNastaveníUpřednostňovaná úroveň:Připravuje se zahájení zavádění...NáhledNáhledovy panel může filtrovat seznam her podle tahů nynější hryPředchozí hrySoukromýPravděpodobně z toho důvodu, že to bylo staženo.PostupProměněníProtokol:PortorikoHlavolamyPyChess - Přípojit k internetovým šachůmOkno s informacemiPyChess ztratil spojení se strojem, pravděpodobně spadl. Můžete se pokusit o spuštění nové hry se strojem, nebo zkusit hrát proti jinému.PyChess.py:QKatardámaMožnost tahu dámouUkončit výukuUkončit PyChessRVz_dátZávodění králůNáhodnéRychleRychlovka: 15 min + 10 s/tahHodnocenoHodnocená hraHodnoceníZměna hodnocení:Čte se %s ...Přijímá se počet hráčůVytváří se znovu rejstříky...ObnovitRegistrovánOdstranitOdstranit vybraný filtrPožádat o pokračováníPoslat znovuPoslat %s znovu?Vrátit barvy na výchozíVynulovat můj postupObnovit výchozí volbyVýsledekVýsledek:PokračovatZkusit ještě jednouRumunskověžMožnost tahu věžíOtočit šachovniciKoloKolo:Simultánní partiePříkaz pro běhové prostředí:Parametry pro běhové prostředí:Příkaz pro běhové prostředí stroje (wine nebo node)Ruská federaceRwandaRéunionSRPři_hlásit seSvatý BartolomějSv. Vincent a GrenadinySamoaSan MarinoPostihySaudská ArábieUložitUložit hruUl_ožit hru jako...Uložit pouze _vlastní hryUložit hodnoty změn _hodnoceníUložit hodnoty _vyhodnocení stroje provádějícího rozborUložit jakoUložit databázi jakoUložit _spotřebovaný čas na tahUložit soubory do:Uložit tahy před zavřením?Uložit nynější hru před jejím zavřením?Uložit do souboru PGN jako...VýsledekPrůzkumníkHledat:Graf žádostí_Graf žádostíŽádost obnovenaŽádosti/VýzvyVybrat cestu k tabulkám od GaviotyVyberte šachový soubor PGN nebo EPD nebo FENVybrat cestu pro automatické uloženíVybrat soubor obrázku s pozadímVybrat soubor s knihouVybrat strojVyberte zvukový soubor...Vyberte hru, již chcete uložit:Vybrat pracovní adresářPoslat výzvuOdeslat všechny žádostiOdeslat žádostSenegalPoslSérieSrbskoServer:Zástupce službyNastavení prostředíNastavit postaveníSeychely_Ukázat souřadniceMá_lo času:Má %s vaši hru zveřejnit jako PGN na chesspastebin.com ?ZvolatUkázat čísla her FICS ve štítcích karetUkázat _zajmuté figurkyUkázat časy uplynulých tahůUkázat hodnoty vyhodnoceníUkázat rady při spuštěníShredderLinuxChessZamíchatStrana na tahu_PanelySierra LeoneJednoduchá šachová poziceSingapurStránkaServer:SittuyinSittuyin: http://en.wikipedia.org/wiki/SittuyinLehká výhodaSlovenskoSlovinskoSomálskoPromiňte '%s' je již přihlášenZvukové souboryZdrojJižní Afrika (Jihoafrická republika)Jižní SúdánŠpio_nážní šipkaŠpanělskoStrávenoStandardníStandardní:Začít soukromý chatStavO tah zpětO tah vpředŘadŘadaUčit se ze cvičení FICS nepřipojen k internetuPod-FEN :SúdánLoupežnické šachyPodezřelý tahSwazijskoŠvédskoŠvýcarskoSymbolyTTDTMZnačkaTádžikistánMluveníTýmový účetTextový diagramPovrch:ThajskoNabídka přerušeníNabídka odloženíAnalyzátor poběží na pozadí a bude prováděn rozbor hry. Je to nutné pro to, aby pracoval poradní režimTlačítko řetězu je vypnuto, protože jste přihlášen jako host. Hosté nemohou poskytovat hodnocení a tlačítko řetězu nemá žádný účinek, když není žádné hodnocení, se kterým by se dala spojit soupeřova sílaPanel pro rozhovor vám během hry umožňuje psát si se soupeřem za předpokladu, že má druhá strana o to být ve styku zájem.Hodiny ještě neběží.Panel pro poznámky se bude pokoušet o rozbor a výklad zahraných tahůSpojení bylo přerušeno - obdržena zpráva "konec souboru"Nynější hra není skončena. O její vyvedení může být omezený zájem.Nynější hra je skončena. Nejprve, prosím, prověřte vlastnosti hry.Adresář, ze kterého bude stroj spouštěn.Zobrazené jméno prvního lidského hráče, například Jan.Zobrazené jméno hostujícího hráče, například Marie.Nabídka remízyTabulka koncovky ukáže přesný rozbor, když je na hrací desce několik figurek.Stroj %s hlásí chybu:Stroj je již nainstalován pod stejným názvemPanel s výstupem stroje ukazuje myšlenkový výstup šachových strojů (počítačoví hráči) během hryZadané heslo bylo neplatné. Pokud jste zapomněl své heslo, jděte na stránky http://www.freechess.org/password a požádejte o nové, které bude zasláno elektronickou poštou.Chyba byla: %sSoubor již existuje '%s'. Pokud jej nahradíte, jeho obsah bude přepsán.Žádost o vítězství v časeHru nelze nahrát z důvodu chyby při zpracování FENHru nelze přečíst do konce z důvodu chyby při zpracování tahu %(moveno)s '%(notation)s'.Hra skočila remízouHra byla přerušenaHra byla odloženaHra byla zabitaPanel s radami bude poskytovat rady počítače během každé fáze hryOpačný analyzátor bude provádět rozbor hry, když bude váš soupeř na tahu. Je to nutné pro to, aby pracoval špionážní režimTah se nezdařil protože %s.Herní list zajišťuje sledování hráčových tahů a dovoluje pohyb skrze průběh hryNabídka výměny stranKniha zahájení se vás během zahajovací fáze hry pokusí podněcovat ukazováním šachovými mistry nejhranějších tahů.Nabídka pozastaveníDůvod je neznámýVzdání seNabídka pokračováníPanel s výsledky se pokouší o vyhodnocování pozic a ukazuje vám obrazec znázorňující postup hryNabídka vzetí zpětThébskýMotivyJe tu %d hra s neuloženými tahy.Jsou tu %d hry s neuloženými tahy.Je tu %d her s neuloženými tahy.Je tu %d her s neuloženými tahy.S tímto spustitelným souborem je něco v nepořádkuTuto hru lze automaticky přerušit beze ztráty hodnocení, protože ještě nebyly provedeny dva tahyTuto hru nelze odložit, protože jeden nebo oba dva hráči jsou hostyToto je pokračování přerušené hryTato volba není použitelná, protože vyzýváte hráčeTato volba není dostupná, protože vyzýváte hostaRozbor hrozby od %sTři šachyČasOvládání časuOvládání času:Časová tíseňRada dneRada dneNázevS názvemPro uložení hry zvolte v nabídce Hra -> Uložit hru jako. Napište název souboru a vyberte, kam se má hra uložit. Dole zvolte typ přípony souboru a stiskněte Uložit.TogoTolerance:Ředitel turnajePřeklad PyChessTrinidad a TobagoZkusit chmod a+x %sTuniskoTureckoTurkmenistánTuvaluTypNapište nebo vložte hru PGN nebo polohy FEN zdeUUgandaUkrajinaNelze přijmout %sNelze uložit do nastaveného souboru. Uložit hry před jejich zavřením?Nelze uložit do nastaveného souboru. Uložit nynější hru před jejím zavřením?Nejasná poziceNepopsaný panelZpětZpět o jeden krokZpět o dva tahyOdinstalovatSpojené arabské emirátySpojené království Velké Británie a Severního IrskaSpojené státy americkéNeznáméNeznámý stav hryNeoficiální kanál %dNehodnocenýNeregistrovanýBez časového omezeníObráceno dolůUruguayPoužít _analyzátorPoužít _opačný analyzátorPoužít _místní tabulkové bázePoužít i_nternetové databáze tabulekPoužít pro dosažený výsledek lineární stupniciPoužít analyzátor:Použít formát názvu:Použít _knihu zahájeníPoužít časovou náhraduUzbekistánHodnotaVanuatuVariantaVarianta vyvinutá Kaiem Laskosem: http://talkchess.com/forum/viewtopic.php?t=40990Práh pro vytvoření poznámky k obměně v centipěšácích:Velice špatný tahVietnamZobrazit přednášky, řešit hlavolamy nebo začít s cvičením koncovekPanesnké ostrovy (Britské)Panenské ostrovy (U.S.)W EloWFMWGMWIMČekatVarování: tato volba generuje formátovaný .pgn soubor, který neodpovídá standarduNepodařilo se uložit '%(uri)s', protože PyChess nezná formát '%(ending)s'.VítejteVýborně!Výborně! %s dokončeno.Západní SaharaKdyž je toto tlačítko v zamknutém stavu, vztah mezi silou soupeře a vlastní herní silou bude uložen, když a) se změnilo vaše hodnocení pro hledanou hru. b) změníte variantu nebo druh řízení času.BílýBílý ELO:Bílý O-OBílý O-O-OBílý má novou figurku na: %sBílý má poněkud stísněnou poziciBílý má mírně stísněnou poziciTah bíléhoBílý by měl provést útok pěšáků na levém křídleBílý by měl provést útok pěšáků na pravém křídleBílá strana - Klepněte pro výměnu hráčůBílý:VariantyZástupný hradZamíchání zástupným hrademVýhraVýhra po dání šachu třikrátVýhra:Vítězný %S útokemDámské mistrovství FIDEVelmistryněMezinárodní mistryněPracovní adresář:Rok, měsíc, den: #y, #m, #dJemenVyzval jste svého soupeře k tahuNemůžete hrát hodnocené hry, protože šachové hodiny jsou vypnuty Nemůžete hrát hodnocené hry, protože jste přihlášen jako hostNemůžete vybrat žádnou variantu, protože šachové hodiny jsou vypnuty Nemůžete měnit barvy během hry.Na toto nemůžete šahat! Prohlížíte si hru.Nemáte dostatečná oprávnění pro uložení souboru. Ujistěte se, prosím, že jste zadal správnou cestu, a zkuste to znovu.Byl jste odhlášen, protože jste byl nečinný více jak 60 minutJeště jste nezačal žádný rozhovorMusíte zapnout kibicování, abyste zde viděl obě zprávy.Pokusil jste se vzít zpět příliš mnoho tahů.Máte neuložené změny. Chcete je před odchodem uložit?Lze vytvořit jen 3 žádosti v tutéž dobu. Pokud chcete přidat novou žádost, musíte smazat své nyní účinné žádosti. Smazat žádosti?Poslal jste nabídku na remízuPoslal jste nabídku na pozastaveníPoslal jste nabídku na pokračováníPoslal jste nabídku na přerušeníPoslal jste nabídku na odloženíPoslal jste nabídku na vzetí zpětPoslal jste žádost o vítězství v časeZtratíte všechny údaje o svém postupu!Váš soupeř požaduje, abyste si pospíšil!Váš soupeř požádal o ukončení hry. Pokud tuto nabídku přijmete, hra se skončí beze změny hodnocení.Váš soupeř požádal o odložení hry. Pokud tuto nabídku přijmete, hra bude odložena a vy v ní můžete pokračovat později (až váš soupeř bude připojen k internetu a až budou oba hráči souhlasit s pokračováním).Váš soupeř požádal o pozastavení hry. Pokud tuto nabídku přijmete, herní hodiny budou zastaveny tak dlouho, až budou oba hráči souhlasit s pokračováním ve hře.Váš soupeř požádal o pokračování ve hře. Pokud tuto nabídku přijmete, herní hodiny budou budou opět spuštěny. Bude se pokračovat od toho časového okamžiku, kdy se přestalo.Váš soupeř požádal o to, aby se poslední %s tah(y) vzaly zpátky. Pokud tuto nabídku přijmete, hra bude pokračovat z dřívější pozice.Váš soupeř nabídl remízu.Váš soupeř nabídl remízu. Pokud tuto nabídku přijmete, hra se skončí s výsledkem 1/2 k 1/2.Váš soupeř má ještě zbytek hracího času.Váš soupeř musí souhlasit s přerušením hry, protože byly provedeny dva nebo více tahůZdá se, že váš soupeř změnil názor.Váš soupeř chce hru ukončit.Váš soupeř chce hru odložit.Váš soupeř chce přestávku ve hře.Váš soupeř chce pokračovat ve hře.Váš soupeř chce vrátit zpět %s tah(y).Vaše žádosti byly odstraněnyVaše síla:Vaše kolo.ZambieZimbabweVynucený tah_PříjmoutČinn_osti_Rozebrat hru_Archivováno_Automaticky uložit skončené hry do souboru .pgn_Vítězství v čase_Vyprázdnit žádosti_Kopírovat FEN_Kopírovat PGN_OdmítnoutÚp_ravyS_troje_Vyvést postavení_Celá obrazovka_HraSeznam h_er_ObecnéNápo_věda_Skrýt panely, když je otevřena pouze jedna hraPora_dní šipka_Rady_Neplatný tah:Nah_rát hruP_rohlížeč záznamů_Moje hryJméno_Nová hra_DalšíPozorované tah_y:_Soupeř:_Heslo:_Hrát běžné šachySeznam _hráčů_PředchozíÚspěch _hlavolamu:_Nedávný:Nah_radit_Otočit šachovnici_Uložit %d hru_Uložit %d hry_Uložit %d her_Uložit %d her_Uložit %d dokumentů_Uložit hruŽá_dosti/Výzvy_Ukázat postranní panely_ZvukySpustit hru_Bez omezení_Použít hlavní zavírací tlačítko programu [x] k zavření všech herPo_užívat zvuky v PyChessVolby _variant:_Pohled_Vaše barva:aa hosté nemohou hrát hodnocené hrya v FICS nelze hodnotit žádné hry bez šachových hodina v FICS lze hry bez šachových hodin hrát jen podle běžných pravidel.Vyzvat svého soupeře k tahuČernýposunuje %(piece)s blíže k nepřátelskému králi: %(cord)sjde pěšcem dopředu blíže k zadní řadě: %sŽádat vítězství v časezajímá figurkuudělal rošádubrání %sposunuje %(piece)s: %(cord)sjde pěšcem dopředu: %sremízyvyměňuje figurkugnuchess:polootevřenéhttp://brainking.com/en/GameRules?tp=2 * Umístění figurek na prvním a osmém řádku je náhodné * Král je v rohu po pravici * Střelci musí začít na polích opačné barvy * Začáteční poloha černého je obdržena otočením začáteční polohy bílého o 180 stupňu okolo středu šachovnice * Žádná rošádahttp://cs.wikipedia.org/wiki/%C5%A0achyhttp://en.wikipedia.org/wiki/Chess960 FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.htmlhttp://cs.wikipedia.org/wiki/Pravidla_%C5%A1ach%C5%AFzlepšuje královu bezpečnostv postavení %(x)s%(y)sv postaveních %(x)s%(y)stlačí na %sneplatná proměněná figuralekcelichessmatyminmtahpřesunuje věž do otevřeného postavenípřesunuje věž do polootevřeného postavenípřesunuje střelce do fianchetto: %snehraje Nabídnout remízuNabídnout pozastaveníNabídnout vzetí zpětNabídnout přerušeníNabídnout odloženíNabídnout pokračováníNabídnout změnu stranCelková doba připojeníjinéZajmutí pěšce bez cílové figurky je neplatnétiskne nepřítele %(oppiece)s na %(piece)s na %(cord)sumísťuje %(piece)s aktivněji: %(cord)sproměňuje pěšce na %sdává soupeři šachrozsah hodnocení nynívyprošťuje %sVzdátkolo %sobětuje figurkussmírně zlepšuje královu bezpečnostbere zpět figurkuZaujatá pozice (%s) je neplatnákoncová šňůra (%s) je nesprávnáTah vyžaduje figurku a pozicihrozí sebráním figurky pomocí %sk automatickému přijetík ručnímu přijetíuciproti.BílýOkno 1wtharveyxboardxboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html * Figurky umístěny náhodně za pěšci * Žádná rošáda * Rozmístění černých figurek zrcadlí rozmístění bílých figurekxboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html * Bílý má na začátku typické rozmístění. * Černé figurky jsou ty samé s výjimkou v tom, že král a královna jsou otočeni, * takže se nenachází na stejných místech, jak je to u bílého krále a jeho královny. * Rošáda se dělá podobně, jako je tomu u normálních šachů: * o-o-o naznačuje velkou rošádu a o-o malou rošádu.xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8 FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html * V této variantě mají obě strany tytéž figurky, jaké jsou v normálních šachách. * Bílý král začíná na d1 nebo e1 a černý král začíná na d8 nebo e8, * a věže jsou na jejich obvyklých místech. * Střelci jsou vždy na opačných barvách. * Při dbaní tohoto zadání jsou umístění figur na jejich první řadě náhodná. * Rošáda se dělá podobně jako v normálních šachách: * o-o-o znamená velkou rošádu a o-o malou rošádu.yacpdbÅlandské ostrovypychess-1.0.0/lang/cs/LC_MESSAGES/pychess.po0000644000175000017500000054403213455542755017416 0ustar varunvarun# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pychess package. # # Translators: # Jiří Vírava , 2012-2013 # FIRST AUTHOR , 2007 # fri, 2015 # fri, 2013-2014 # gbtami , 2016 # fri, 2015 # fri, 2013-2016,2018-2019 # Petr Bilek , 2019 msgid "" msgstr "" "Project-Id-Version: pychess\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-04-16 09:34+0200\n" "PO-Revision-Date: 2019-04-16 13:26+0000\n" "Last-Translator: slav0nic \n" "Language-Team: Czech (http://www.transifex.com/gbtami/pychess/language/cs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: cs\n" "Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: glade/PyChess.glade:227 msgid "_Game" msgstr "_Hra" #: glade/PyChess.glade:234 msgid "_New Game" msgstr "_Nová hra" #: glade/PyChess.glade:249 msgid "From _Default Start Position" msgstr "" #: glade/PyChess.glade:259 msgid "From _Custom Position" msgstr "" #: glade/PyChess.glade:268 msgid "From _Game Notation" msgstr "" #: glade/PyChess.glade:279 msgid "Play _Internet Chess" msgstr "Hrát šachy na _internetu" #: glade/PyChess.glade:298 msgid "_Load Game" msgstr "Nah_rát hru" #: glade/PyChess.glade:314 msgid "Load _Recent Game" msgstr "Nahrát _nedávnou hru" #: glade/PyChess.glade:320 msgid "Load Re_mote Game" msgstr "" #: glade/PyChess.glade:338 msgid "_Save Game" msgstr "_Uložit hru" #: glade/PyChess.glade:352 msgid "Save Game _As" msgstr "Ul_ožit hru jako..." #: glade/PyChess.glade:366 msgid "_Export Position" msgstr "_Vyvést postavení" #: glade/PyChess.glade:383 msgid "Share _Game" msgstr "" #: glade/PyChess.glade:411 msgid "Player _Rating" msgstr "Výkonnost hráče" #: glade/PyChess.glade:418 msgid "_Analyze Game" msgstr "_Rozebrat hru" #: glade/PyChess.glade:468 msgid "_Edit" msgstr "Úp_ravy" #: glade/PyChess.glade:479 msgid "_Copy PGN" msgstr "_Kopírovat PGN" #: glade/PyChess.glade:491 msgid "_Copy FEN" msgstr "_Kopírovat FEN" #: glade/PyChess.glade:508 msgid "_Engines" msgstr "S_troje" #: glade/PyChess.glade:518 msgid "Externals" msgstr "Zevnějšek" #: glade/PyChess.glade:544 msgid "_Actions" msgstr "Činn_osti" #: glade/PyChess.glade:555 msgid "Offer _Abort" msgstr "Nabídnout přer_ušení" #: glade/PyChess.glade:565 msgid "Offer Ad_journment" msgstr "Nabídnout odlož_ení" #: glade/PyChess.glade:575 glade/fics_lounge.glade:1927 msgid "Offer _Draw" msgstr "Nabídnout _remízu" #: glade/PyChess.glade:586 msgid "Offer _Pause" msgstr "Nabídnout poza_stavení" #: glade/PyChess.glade:596 glade/fics_lounge.glade:1825 msgid "Offer _Resume" msgstr "Nabídnout po_kračování" #: glade/PyChess.glade:602 msgid "Offer _Undo" msgstr "Nabídnout vzetí tahu _zpět" #: glade/PyChess.glade:625 msgid "_Call Flag" msgstr "_Vítězství v čase" #: glade/PyChess.glade:635 glade/fics_lounge.glade:1883 msgid "R_esign" msgstr "Vz_dát" #: glade/PyChess.glade:645 msgid "Ask to _Move" msgstr "Vyzvat k _tahu" #: glade/PyChess.glade:660 msgid "Auto Call _Flag" msgstr "Automaticky se d_ožadovat času" #: glade/PyChess.glade:673 msgid "_View" msgstr "_Pohled" #: glade/PyChess.glade:680 msgid "_Rotate Board" msgstr "_Otočit šachovnici" #: glade/PyChess.glade:694 msgid "_Fullscreen" msgstr "_Celá obrazovka" #: glade/PyChess.glade:707 msgid "Leave _Fullscreen" msgstr "Opustit _celou obrazovku" #: glade/PyChess.glade:724 msgid "_Show Sidepanels" msgstr "_Ukázat postranní panely" #: glade/PyChess.glade:735 msgid "_Log Viewer" msgstr "P_rohlížeč záznamů" #: glade/PyChess.glade:752 msgid "_Hint arrow" msgstr "Pora_dní šipka" #: glade/PyChess.glade:764 msgid "Sp_y arrow" msgstr "Špio_nážní šipka" #: glade/PyChess.glade:779 lib/pychess/perspectives/database/__init__.py:46 msgid "Database" msgstr "Databáze" #: glade/PyChess.glade:785 msgid "New _Database" msgstr "Nová _databáze" #: glade/PyChess.glade:797 msgid "Save database as" msgstr "Uložit databázi jako" #: glade/PyChess.glade:813 msgid "Create polyglot opening book" msgstr "Vytvořit knihovnu zahájení ve formátu polyglot" #: glade/PyChess.glade:825 msgid "Import chessfile" msgstr "Zavést šachový soubor" #: glade/PyChess.glade:842 msgid "Import annotated games from endgame.nl" msgstr "Zavést hry opatřené poznámkami z endgame.nl" #: glade/PyChess.glade:852 msgid "Import games from theweekinchess.com" msgstr " Zavést hry z theweekinchess.com" #: glade/PyChess.glade:865 msgid "_Help" msgstr "Nápo_věda" #: glade/PyChess.glade:875 msgid "About Chess" msgstr "Co je hra v šach?" #: glade/PyChess.glade:884 msgid "How to Play" msgstr "Jak hrát šachy" #: glade/PyChess.glade:893 msgid "Translate PyChess" msgstr "Překlad PyChess" #: glade/PyChess.glade:899 msgid "Tip of the Day" msgstr "Rada dne" #: glade/PyChess.glade:1003 msgid "Chess client" msgstr "Šachový klient" #: glade/PyChess.glade:1033 msgid "Preferences" msgstr "Nastavení" #: glade/PyChess.glade:1075 msgid "The displayed name of the first human player, e.g., John." msgstr "Zobrazené jméno prvního lidského hráče, například Jan." #: glade/PyChess.glade:1087 msgid "Name of _first human player:" msgstr "Jméno _prvního lidského hráče:" #: glade/PyChess.glade:1116 msgid "The displayed name of the guest player, e.g., Mary." msgstr "Zobrazené jméno hostujícího hráče, například Marie." #: glade/PyChess.glade:1128 msgid "Name of s_econd human player:" msgstr "Jméno _druhého lidského hráče:" #: glade/PyChess.glade:1164 msgid "_Hide tabs when only one game is open" msgstr "_Skrýt panely, když je otevřena pouze jedna hra" #: glade/PyChess.glade:1169 msgid "" "If set, this hides the tab in the top of the playing window, when it is not " "needed." msgstr "Když je zapnuta tato volba, pruh nahoře herního okna se bude ukazovat jen tehdy, když bude potřeba." #: glade/PyChess.glade:1183 msgid "_Use main app closer [x] to close all games" msgstr "_Použít hlavní zavírací tlačítko programu [x] k zavření všech her" #: glade/PyChess.glade:1188 msgid "" "If set, clicking on main application window closer first time it closes all " "games." msgstr "Je-li nastaveno, po prvním klepnutí na zavírací tlačítko okna programu dojde k zavření všech her." #: glade/PyChess.glade:1202 msgid "Auto _rotate board to current human player" msgstr "O_točit šachovnici automaticky k nynějšímu lidskému hráči" #: glade/PyChess.glade:1207 msgid "" "If set, the board will turn after each move, to show the natural view for " "the current player." msgstr "Když je zapnuta tato volba, šachovnice se otočí po každém tahu, aby se mohli ze svého pohledu na šachovnici podívat oba hráči." #: glade/PyChess.glade:1221 msgid "Auto _promote to queen" msgstr "Automoticky _proměnit na královnu" #: glade/PyChess.glade:1226 msgid "If set, pawn promotes to queen without promotion dialog selection." msgstr "Je-li nastaveno, pěšec je proměněn na královnu bez vybrání v dialogu pro proměnění." #: glade/PyChess.glade:1240 msgid "Face _to Face display mode" msgstr "Režim zobrazení _hlava na hlavě" #: glade/PyChess.glade:1245 msgid "" "If set, the black pieces will be head down, suitable for playing against " "friends on mobile devices." msgstr "Když je zapnuta tato volba, černé figurky jsou zobrazeny s hlavou směřující dolů. Má smysl u přenosných zařízení, když protihráč sedí na jiné straně obrazovky." #: glade/PyChess.glade:1259 msgid "Use a linear scale for the score" msgstr "Použít pro dosažený výsledek lineární stupnici" #: glade/PyChess.glade:1264 msgid "" "Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average.\n" "\n" "Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better." msgstr "" #: glade/PyChess.glade:1279 msgid "Show _captured pieces" msgstr "Ukázat _zajmuté figurky" #: glade/PyChess.glade:1284 msgid "If set, the captured figurines will be shown next to the board." msgstr "Když je zapnuta tato volba, zajmuté hrací figurky budou ukázany vedle šachovnice." #: glade/PyChess.glade:1298 msgid "Prefer figures in _notation" msgstr "Upřednostňovat figurky v zá_pisu" #: glade/PyChess.glade:1303 msgid "" "If set, PyChess will use figures to express moved pieces, rather than " "uppercase letters." msgstr "Když je zapnuta tato volba, PyChess bude používat figurky namísto velkých písmen, aby vyjádřil tahy." #: glade/PyChess.glade:1317 glade/analyze_game.glade:261 msgid "Colorize analyzed moves" msgstr "Barvit tahy, u nichž byl proveden rozbor" #: glade/PyChess.glade:1322 msgid "If set, PyChess will colorize suboptimal analyzed moves with red." msgstr "Pokud je nastaveno, PyChess bude obarvovat tahy, u nichž byl proveden rozbor, jež však nejsou nejlepší, červeně." #: glade/PyChess.glade:1335 msgid "Show elapsed move times" msgstr "Ukázat časy uplynulých tahů" #: glade/PyChess.glade:1340 msgid "If set, the elapsed time that a player used for the move is shown." msgstr "Pokud je nastaveno, je ukázán uplynulý čas, jejž hráč použil na tah." #: glade/PyChess.glade:1353 glade/analyze_game.glade:276 msgid "Show evaluation values" msgstr "Ukázat hodnoty vyhodnocení" #: glade/PyChess.glade:1358 msgid "If set, the hint analyzer engine evaluation value is shown." msgstr "Pokud je nastaveno, je ukázána hodnota vyhodnocení stroje poradního analyzátoru." #: glade/PyChess.glade:1371 msgid "Show FICS game numbers in tab labels" msgstr "Ukázat čísla her FICS ve štítcích karet" #: glade/PyChess.glade:1376 msgid "" "If set, FICS game numbers in tab labels next to player names are shown." msgstr "Je-li nastaveno, jsou čísla her FICS ukázána ve štítcích karet vedle jmen hráčů." #: glade/PyChess.glade:1402 msgid "General Options" msgstr "Obecné volby" #: glade/PyChess.glade:1436 msgid "F_ull board animation" msgstr "Pl_ná animace hrací desky" #: glade/PyChess.glade:1441 msgid "Animate pieces, board rotation and more. Use this on fast machines." msgstr "Animovat hrací figurky, otočení hrací desky a jiné. Používejte na rychlých strojích." #: glade/PyChess.glade:1455 msgid "Only animate _moves" msgstr "Animovat pouze _tahy" #: glade/PyChess.glade:1460 msgid "Only animate piece moves." msgstr "Animovat pouze _hrací figurky" #: glade/PyChess.glade:1475 msgid "No _animation" msgstr "Bez _animace" #: glade/PyChess.glade:1480 msgid "Never use animation. Use this on slow machines." msgstr "Animace se nebudou používat nikdy. Užitečné na pomalých počítačích." #: glade/PyChess.glade:1508 msgid "Animation" msgstr "Animace" #: glade/PyChess.glade:1527 msgid "_General" msgstr "_Obecné" #: glade/PyChess.glade:1569 msgid "Use opening _book" msgstr "Použít _knihu zahájení" #: glade/PyChess.glade:1574 msgid "If set, PyChess will suggest best opening moves on hint panel." msgstr "Když je zapnuta tato volba, PyChess bude v panelu s radami navrhovat nejlepší zahajovací tahy." #: glade/PyChess.glade:1600 msgid "Polyglot book file:" msgstr "Soubor s knihou Polyglot:" #: glade/PyChess.glade:1645 msgid "Book depth max:" msgstr "" #: glade/PyChess.glade:1657 msgid "Used by engine players and polyglot book creator" msgstr "" #: glade/PyChess.glade:1693 msgid "Use _local tablebases" msgstr "Použít _místní tabulkové báze" #: glade/PyChess.glade:1698 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "You can download tablebase files from:\n" "http://www.olympuschess.com/egtb/gaviota/" msgstr "Když je zapnuta tato volba, PyChess bude ukazovat herní výsledky pro různé tahy v pozicích obsahujících 6 nebo méně hracích figurek.\nSoubory s tabulkami můžete stáhnout z:\nhttp://www.olympuschess.com/egtb/gaviota/" #: glade/PyChess.glade:1727 msgid "Gaviota TB path:" msgstr "Cesta k tabulkám od Gavioty:" #: glade/PyChess.glade:1767 msgid "Use _online tablebases" msgstr "Použít i_nternetové databáze tabulek" #: glade/PyChess.glade:1772 msgid "" "If set, PyChess will show game results for different moves in positions containing 6 or less pieces.\n" "It will search positions from http://www.k4it.de/" msgstr "Když je zapnuta tato volba, PyChess bude ukazovat herní výsledky pro různé tahy v pozicích obsahujících 6 nebo méně hracích figurek.\nPozice bude hledat na http://www.k4it.de/" #: glade/PyChess.glade:1793 msgid "Opening, endgame" msgstr "Zahájení/Otevření hry, koncovky" #: glade/PyChess.glade:1828 msgid "Use _analyzer" msgstr "Použít _analyzátor" #: glade/PyChess.glade:1868 msgid "" "The analyzer will run in the background and analyze the game. This is " "necessary for the hint mode to work" msgstr "Analyzátor poběží na pozadí a bude prováděn rozbor hry. Je to nutné pro to, aby pracoval poradní režim" #: glade/PyChess.glade:1902 msgid "Use _inverted analyzer" msgstr "Použít _opačný analyzátor" #: glade/PyChess.glade:1942 msgid "" "The inverse analyzer will analyze the game as if your opponent was to move. " "This is necessary for the spy mode to work" msgstr "Opačný analyzátor bude provádět rozbor hry, když bude váš soupeř na tahu. Je to nutné pro to, aby pracoval špionážní režim" #: glade/PyChess.glade:1977 glade/analyze_game.glade:122 msgid "Maximum analysis time in seconds:" msgstr "Nejvíce času na rozbor v sekundách:" #: glade/PyChess.glade:2006 msgid "Infinite analysis" msgstr "Nekonečný rozbor" #: glade/PyChess.glade:2036 msgid "Analyzing" msgstr "Rozbor" #: glade/PyChess.glade:2058 msgid "_Hints" msgstr "_Rady" #: glade/PyChess.glade:2202 msgid "Uninstall" msgstr "Odinstalovat" #: glade/PyChess.glade:2256 msgid "Ac_tive" msgstr "Č_inný" #: glade/PyChess.glade:2306 msgid "Installed Sidepanels" msgstr "Nainstalované postranní panely" #: glade/PyChess.glade:2321 msgid "Side_panels" msgstr "_Panely" #: glade/PyChess.glade:2380 msgid "Backround image path :" msgstr "Cesta k obrázku na pozadí:" #: glade/PyChess.glade:2418 msgid "Welcome screen" msgstr "Uvítací obrazovka" #: glade/PyChess.glade:2472 msgid "Texture:" msgstr "Povrch:" #: glade/PyChess.glade:2506 msgid "Frame:" msgstr "Rámeček:" #: glade/PyChess.glade:2540 msgid "Light Squares :" msgstr "Světlá pole:" #: glade/PyChess.glade:2569 msgid "Grid" msgstr "Mřížka" #: glade/PyChess.glade:2590 msgid "Dark Squares :" msgstr "Tmavá pole:" #: glade/PyChess.glade:2619 msgid "Reset Colours" msgstr "Vrátit barvy na výchozí" #: glade/PyChess.glade:2633 msgid "Sho_w cords" msgstr "_Ukázat souřadnice" #: glade/PyChess.glade:2638 msgid "" "If set, the playing board will display labels and ranks for each chess " "field. These are usable in chess notation." msgstr "Když je zapnuta tato volba, sloupce a řádky hrací desky jsou zobrazeny s písmeny a čísly. Toto je užitečné při šachovém zápisu." #: glade/PyChess.glade:2679 msgid "Board Style" msgstr "Styl šachovnice" #: glade/PyChess.glade:2719 msgid "Font:" msgstr "Písmo:" #: glade/PyChess.glade:2757 msgid "Move text" msgstr "Posunout text" #: glade/PyChess.glade:2814 msgid "Chess Sets" msgstr "Šachové sady" #: glade/PyChess.glade:2838 msgid "Themes" msgstr "Motivy" #: glade/PyChess.glade:2863 msgid "_Use sounds in PyChess" msgstr "Po_užívat zvuky v PyChess" #: glade/PyChess.glade:3125 msgid "A player _checks:" msgstr "Š_achy hráče:" #: glade/PyChess.glade:3140 msgid "A player _moves:" msgstr "_Tahy hráče:" #: glade/PyChess.glade:3153 msgid "Game is _drawn:" msgstr "Hra je n_erozhodná:" #: glade/PyChess.glade:3168 msgid "Game is _lost:" msgstr "Hra je _prohrána:" #: glade/PyChess.glade:3183 msgid "Game is _won:" msgstr "Hra je _vyhrána:" #: glade/PyChess.glade:3198 msgid "A player c_aptures:" msgstr "Hráč za_jímá:" #: glade/PyChess.glade:3227 msgid "Game is _set-up:" msgstr "Hra je na_stavena:" #: glade/PyChess.glade:3279 msgid "_Observed moves:" msgstr "Pozorované tah_y:" #: glade/PyChess.glade:3294 msgid "Observed _ends:" msgstr "Pozorované _konce:" #: glade/PyChess.glade:3408 msgid "Short on _time:" msgstr "Má_lo času:" #: glade/PyChess.glade:3460 msgid "_Invalid move:" msgstr "_Neplatný tah:" #: glade/PyChess.glade:3512 msgid "Activate alarm when _remaining sec is:" msgstr "Spustit poplach, když z_bývajících sekund je:" #: glade/PyChess.glade:3556 msgid "_Puzzle success:" msgstr "Úspěch _hlavolamu:" #: glade/PyChess.glade:3623 msgid "_Variation choices:" msgstr "Volby _variant:" #: glade/PyChess.glade:3680 msgid "Play Sound When..." msgstr "Přehrát zvuk, když..." #: glade/PyChess.glade:3702 msgid "_Sounds" msgstr "_Zvuky" #: glade/PyChess.glade:3727 msgid "_Auto save finished games to .pgn file" msgstr "_Automaticky uložit skončené hry do souboru .pgn" #: glade/PyChess.glade:3760 msgid "Save files to:" msgstr "Uložit soubory do:" #: glade/PyChess.glade:3787 msgid "Use name format:" msgstr "Použít formát názvu:" #: glade/PyChess.glade:3831 msgid "Names: #n1, #n2" msgstr "Názvy: #n1, #n2" #: glade/PyChess.glade:3844 msgid "Year, month, day: #y, #m, #d" msgstr "Rok, měsíc, den: #y, #m, #d" #: glade/PyChess.glade:3882 msgid "Save elapsed move _times" msgstr "Uložit _spotřebovaný čas na tah" #: glade/PyChess.glade:3907 msgid "Save analyzing engine _evaluation values" msgstr "Uložit hodnoty _vyhodnocení stroje provádějícího rozbor" #: glade/PyChess.glade:3932 msgid "Save _rating change values" msgstr "Uložit hodnoty změn _hodnocení" #: glade/PyChess.glade:3957 msgid "Indent _PGN file" msgstr "Odsadit soubor _PGN" #: glade/PyChess.glade:3962 msgid "" "Warning: this option generates a formatted .pgn file which is not standards " "complient" msgstr "Varování: tato volba generuje formátovaný .pgn soubor, který neodpovídá standardu" #: glade/PyChess.glade:3983 msgid "Save _own games only" msgstr "Uložit pouze _vlastní hry" #: glade/PyChess.glade:4012 lib/pychess/perspectives/database/__init__.py:535 msgid "Save" msgstr "Uložit" #: glade/PyChess.glade:4038 msgid "Promotion" msgstr "Proměnění" #: glade/PyChess.glade:4084 lib/pychess/Utils/repr.py:25 msgid "Queen" msgstr "dáma" #: glade/PyChess.glade:4130 lib/pychess/Utils/repr.py:24 msgid "Rook" msgstr "věž" #: glade/PyChess.glade:4176 lib/pychess/Utils/repr.py:24 msgid "Bishop" msgstr "střelec" #: glade/PyChess.glade:4222 lib/pychess/Utils/repr.py:24 msgid "Knight" msgstr "kůň" #: glade/PyChess.glade:4268 lib/pychess/Utils/repr.py:25 msgid "King" msgstr "král" #: glade/PyChess.glade:4299 msgid "Promote pawn to what?" msgstr "Proměnit pěšce na kterou figuru?" #: glade/PyChess.glade:4322 msgid "Load a remote game" msgstr "" #: glade/PyChess.glade:4391 msgid "Paste the link to download:" msgstr "" #: glade/PyChess.glade:4467 msgid "Default" msgstr "Výchozí" #: glade/PyChess.glade:4470 msgid "Knights" msgstr "Králem" #: glade/PyChess.glade:4478 msgid "Game information" msgstr "Informace o hře" #: glade/PyChess.glade:4576 msgid "Site:" msgstr "Server:" #: glade/PyChess.glade:4607 msgid "Rating change:" msgstr "Změna hodnocení:" #: glade/PyChess.glade:4619 glade/PyChess.glade:4635 msgid "" "For each player, the statistics provide the probability to win the game and " "the variation of your ELO if you lose / end into a tie / win, or simply the " "final ELO rating change" msgstr "" #: glade/PyChess.glade:4663 msgid "Black ELO:" msgstr "Černý ELO:" #: glade/PyChess.glade:4678 msgid "Black:" msgstr "Černý:" #: glade/PyChess.glade:4693 msgid "Round:" msgstr "Kolo:" #: glade/PyChess.glade:4740 msgid "White ELO:" msgstr "Bílý ELO:" #: glade/PyChess.glade:4780 msgid "White:" msgstr "Bílý:" #: glade/PyChess.glade:4793 msgid "Date:" msgstr "Datum:" #: glade/PyChess.glade:4806 msgid "Result:" msgstr "Výsledek:" #: glade/PyChess.glade:4818 msgid "Game" msgstr "Hra" #: glade/PyChess.glade:4830 msgid "Players:" msgstr "Hráči" #: glade/PyChess.glade:4868 msgid "Event:" msgstr "Událost:" #: glade/PyChess.glade:4886 msgid "Expected format as \"yyyy.mm.dd\" with the allowed joker \"?\"" msgstr "Očekáván formát \"rrrr.mm.dd\" s povoleným zástupným symbolem \"?\"" #: glade/PyChess.glade:4941 msgid "Identification" msgstr "Označení" #: glade/PyChess.glade:5032 msgid "Additional tags" msgstr "Dodatečné značky" #: glade/PyChess.glade:5066 msgid "uci" msgstr "uci" #: glade/PyChess.glade:5069 msgid "xboard" msgstr "xboard" #: glade/PyChess.glade:5077 msgid "Manage engines" msgstr "Nastavení strojů" #: glade/PyChess.glade:5154 msgid "Command:" msgstr "Příkaz:" #: glade/PyChess.glade:5168 msgid "Protocol:" msgstr "Protokol:" #: glade/PyChess.glade:5182 msgid "Parameters:" msgstr "Parametry:" #: glade/PyChess.glade:5196 msgid "Command line parameters needed by the engine" msgstr "Parametry příkazového řádku potřebné pro stroj" #: glade/PyChess.glade:5221 msgid "" "Engines use uci or xboard communication protocol to talk to the GUI.\n" "If it can use both you can set here which one you like." msgstr "Stroje používají komunikační prokokol uci nebo xboard ke spojení s GUI.\nPokud používají oba, zde můžete nastavit ten, který máte radši." #: glade/PyChess.glade:5246 msgid "Working directory:" msgstr "Pracovní adresář:" #: glade/PyChess.glade:5260 msgid "The directory where the engine will be started from." msgstr "Adresář, ze kterého bude stroj spouštěn." #: glade/PyChess.glade:5301 msgid "Runtime env command:" msgstr "Příkaz pro běhové prostředí:" #: glade/PyChess.glade:5318 msgid "Runtime environment of engine command (wine or node)" msgstr "Příkaz pro běhové prostředí stroje (wine nebo node)" #: glade/PyChess.glade:5336 msgid "Runtime env parameters:" msgstr "Parametry pro běhové prostředí:" #: glade/PyChess.glade:5350 msgid "Command line parameters needed by the runtime env" msgstr "Parametry příkazového řádku potřebné pro běhové prostředí." #: glade/PyChess.glade:5367 msgid "Country:" msgstr "Země:" #: glade/PyChess.glade:5381 msgid "Country of origin of the engine" msgstr "Země původu stroje" #: glade/PyChess.glade:5395 msgid "Comment:" msgstr "Poznámka:" #: glade/PyChess.glade:5409 msgid "Free comment about the engine" msgstr "Volná poznámka ke stroji" #: glade/PyChess.glade:5428 msgid "Environment" msgstr "Prostředí" #: glade/PyChess.glade:5452 msgid "Preferred level:" msgstr "Upřednostňovaná úroveň:" #: glade/PyChess.glade:5465 msgid "" "Level 1 is the weakest and level 20 is the strongest. You may not define a " "too high level if the engine is based on the depth to explore" msgstr "" #: glade/PyChess.glade:5513 msgid "Restore the default options" msgstr "Obnovit výchozí volby" #: glade/PyChess.glade:5538 msgid "Options" msgstr "Volby" #: glade/PyChess.glade:5605 msgid "Add from folder" msgstr "" #: glade/PyChess.glade:5692 msgid "Detected engines" msgstr "" #: glade/PyChess.glade:5767 msgid "Base path:" msgstr "" #: glade/PyChess.glade:5885 #: lib/pychess/perspectives/database/FilterPanel.py:101 msgid "Filter" msgstr "Filtr" #: glade/PyChess.glade:5958 glade/PyChess.glade:7263 #: glade/fics_lounge.glade:3167 lib/pychess/Main.py:252 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:165 #: lib/pychess/widgets/newGameDialog.py:999 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:50 #: lib/pychess/perspectives/fics/GameListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:354 #: lib/pychess/perspectives/learn/EndgamesPanel.py:55 msgid "White" msgstr "Bílý" #: glade/PyChess.glade:5969 glade/PyChess.glade:7279 #: glade/fics_lounge.glade:3195 lib/pychess/Main.py:253 #: lib/pychess/Utils/repr.py:22 lib/pychess/widgets/ChessClock.py:34 #: lib/pychess/widgets/TaskerManager.py:166 #: lib/pychess/widgets/newGameDialog.py:1000 #: lib/pychess/perspectives/database/gamelist.py:46 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:53 #: lib/pychess/perspectives/fics/GameListPanel.py:58 #: lib/pychess/perspectives/fics/SeekChallenge.py:356 #: lib/pychess/perspectives/learn/EndgamesPanel.py:60 msgid "Black" msgstr "Černý" #: glade/PyChess.glade:6000 glade/PyChess.glade:6584 msgid "Ignore colors" msgstr "Přehlížet barvy" #: glade/PyChess.glade:6016 lib/pychess/perspectives/database/gamelist.py:47 msgid "Event" msgstr "Událost" #: glade/PyChess.glade:6027 msgid "ECO" msgstr "ECO" #: glade/PyChess.glade:6049 msgid "Elo" msgstr "Elo" #: glade/PyChess.glade:6068 glade/PyChess.glade:6098 glade/PyChess.glade:6503 #: glade/PyChess.glade:6517 glade/PyChess.glade:6531 glade/PyChess.glade:6545 #: glade/PyChess.glade:6559 glade/PyChess.glade:6686 glade/PyChess.glade:6700 #: glade/PyChess.glade:6714 glade/PyChess.glade:6728 glade/PyChess.glade:6742 msgid "0" msgstr "0" #: glade/PyChess.glade:6083 glade/PyChess.glade:6160 glade/PyChess.glade:6223 msgid "-" msgstr "-" #: glade/PyChess.glade:6118 lib/pychess/perspectives/database/gamelist.py:47 msgid "Date" msgstr "Datum" #: glade/PyChess.glade:6255 lib/pychess/perspectives/database/gamelist.py:47 msgid "Site" msgstr "Stránka" #: glade/PyChess.glade:6277 msgid "Annotator" msgstr "Autor vysvětlujících poznámek" #: glade/PyChess.glade:6299 lib/pychess/perspectives/database/gamelist.py:47 msgid "Result" msgstr "Výsledek" #: glade/PyChess.glade:6313 msgid "1-0" msgstr "1-0" #: glade/PyChess.glade:6328 msgid "0-1" msgstr "0-1" #: glade/PyChess.glade:6343 msgid "1/2-1/2" msgstr "1/2-1/2" #: glade/PyChess.glade:6358 lib/pychess/ic/__init__.py:296 msgid "*" msgstr "*" #: glade/PyChess.glade:6381 glade/fics_lounge.glade:1130 #: glade/fics_lounge.glade:1687 #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Variant" msgstr "Varianta" #: glade/PyChess.glade:6410 msgid "Header" msgstr "Záhlaví" #: glade/PyChess.glade:6598 msgid "Imbalance" msgstr "Nevyrovnanost" #: glade/PyChess.glade:6789 msgid "White move" msgstr "Tah bílého" #: glade/PyChess.glade:6812 msgid "Black move" msgstr "Tah černého" #: glade/PyChess.glade:7175 msgid "Not a capture (quiet) move" msgstr "Není (tichý) tah zajmutí" #: glade/PyChess.glade:7211 msgid "Moved" msgstr "Taženo" #: glade/PyChess.glade:7222 msgid "Captured" msgstr "Zajmuto" #: glade/PyChess.glade:7244 glade/newInOut.glade:1421 msgid "Side to move" msgstr "Strana na tahu" #: glade/PyChess.glade:7318 msgid "Material/move" msgstr "Materiál/přesun" #: glade/PyChess.glade:7368 msgid "Sub-FEN :" msgstr "Pod-FEN :" #: glade/PyChess.glade:7437 msgid "Pattern" msgstr "Vzor" #: glade/PyChess.glade:7467 msgid "Scout" msgstr "Průzkumník" #: glade/analyze_game.glade:22 msgid "Analyze game" msgstr "Provést rozbor hry" #: glade/analyze_game.glade:87 msgid "Use analyzer:" msgstr "Použít analyzátor:" #: glade/analyze_game.glade:163 msgid "" "If the analyzer finds a move where the evaluation difference (the difference" " between the evaluation for the move it thinks is the best move and the " "evaluation for the move made in the game) exceeds this value, it will add an" " annotation for that move (consisting of the engine's Principal Variation " "for the move) to the Annotation panel" msgstr "Pokud analyzátor najde tah, kde rozdíl ve vyhodnocení (rozdíl mezi vyhodnocením pro tah, o kterém si myslí, že je nejlepším tahem, a vyhodnocením pro tah zahraný ve hře) překročí tuto hodnotu, přidá poznámku k tomuto tahu (sestávající z hlavní herní obměny stroje pro ten tah) do panelu s poznámkami" #: glade/analyze_game.glade:164 msgid "Variation annotation creation threshold in centipawns:" msgstr "Práh pro vytvoření poznámky k obměně v centipěšácích:" #: glade/analyze_game.glade:198 msgid "Analyze from current position" msgstr "Rozebrat od nynější polohy" #: glade/analyze_game.glade:214 msgid "Analyze black moves" msgstr "Provést rozbor černých tahů" #: glade/analyze_game.glade:230 msgid "Analyze white moves" msgstr "Provést rozbor bílých tahů" #: glade/analyze_game.glade:246 msgid "Add threatening variation lines " msgstr "Přidat řádky hrozící obměny " #: glade/discovererDialog.glade:18 msgid "PyChess is discovering your engines. Please wait." msgstr "PyChess zjišťuje stroje. Počkejte, prosím." #: glade/discovererDialog.glade:77 msgid "PyChess.py:" msgstr "PyChess.py:" #: glade/discovererDialog.glade:89 msgid "ShredderLinuxChess:" msgstr "ShredderLinuxChess" #: glade/discovererDialog.glade:101 msgid "gnuchess:" msgstr "gnuchess:" #: glade/fics_logon.glade:8 msgid "PyChess - Connect to Internet Chess" msgstr "PyChess - Přípojit k internetovým šachům" #: glade/fics_logon.glade:47 msgid "Connect to Online Chess Server" msgstr "Připojit se k internetovému šachovému serveru" #: glade/fics_logon.glade:129 msgid "_Password:" msgstr "_Heslo:" #: glade/fics_logon.glade:143 msgid "_Name:" msgstr "Jméno" #: glade/fics_logon.glade:173 msgid "Log on as _Guest" msgstr "Přihlásit se jako _host" #: glade/fics_logon.glade:209 msgid "Host:" msgstr "Host:" #: glade/fics_logon.glade:241 msgid "Po_rts:" msgstr "_Přípojky:" #: glade/fics_logon.glade:281 msgid "Lag:" msgstr "Prodleva:" #: glade/fics_logon.glade:290 msgid "Use time compensation" msgstr "Použít časovou náhradu" #: glade/fics_logon.glade:379 msgid "S_ign up" msgstr "Při_hlásit se" #: glade/fics_lounge.glade:35 msgid "Challenge: " msgstr "Vyzvat: " #: glade/fics_lounge.glade:97 msgid "Send Challenge" msgstr "Poslat výzvu" #: glade/fics_lounge.glade:133 msgid "Challenge:" msgstr "Výzva:" #: glade/fics_lounge.glade:327 glade/fics_lounge.glade:806 msgid "Lightning:" msgstr "Střela:" #: glade/fics_lounge.glade:351 glade/fics_lounge.glade:830 msgid "Standard:" msgstr "Standardní:" #: glade/fics_lounge.glade:375 glade/fics_lounge.glade:854 msgid "Blitz:" msgstr "Blesk:" #: glade/fics_lounge.glade:399 msgid "2 min, Fischer Random, Black" msgstr "2 min, náhodné šachy Fischer, Černý" #: glade/fics_lounge.glade:421 msgid "10 min + 6 sec/move, White" msgstr "10 min + 6 s/tah, Bílý" #: glade/fics_lounge.glade:443 msgid "5 min" msgstr "5 min" #: glade/fics_lounge.glade:551 msgid "_Clear Seeks" msgstr "_Vyprázdnit žádosti" #: glade/fics_lounge.glade:575 msgid "_Accept" msgstr "_Příjmout" #: glade/fics_lounge.glade:599 msgid "_Decline" msgstr "_Odmítnout" #: glade/fics_lounge.glade:972 msgid "Send all seeks" msgstr "Odeslat všechny žádosti" #: glade/fics_lounge.glade:1026 msgid "Send seek" msgstr "Odeslat žádost" #: glade/fics_lounge.glade:1062 msgid "Create Seek" msgstr "Vytvořit žádost" #: glade/fics_lounge.glade:1090 glade/fics_lounge.glade:1647 #: glade/fics_lounge.glade:2496 lib/pychess/ic/FICSObjects.py:54 #: lib/pychess/ic/__init__.py:145 #: lib/pychess/perspectives/fics/PlayerListPanel.py:55 #: lib/pychess/perspectives/fics/SeekChallenge.py:471 msgid "Standard" msgstr "Standardní" #: glade/fics_lounge.glade:1104 glade/fics_lounge.glade:1661 #: lib/pychess/ic/FICSObjects.py:52 lib/pychess/ic/__init__.py:144 #: lib/pychess/widgets/newGameDialog.py:286 #: lib/pychess/perspectives/fics/PlayerListPanel.py:54 #: lib/pychess/perspectives/fics/SeekChallenge.py:472 msgid "Blitz" msgstr "Blesk" #: glade/fics_lounge.glade:1117 glade/fics_lounge.glade:1674 #: lib/pychess/ic/FICSObjects.py:56 lib/pychess/ic/__init__.py:146 #: lib/pychess/perspectives/fics/PlayerListPanel.py:56 #: lib/pychess/perspectives/fics/SeekChallenge.py:473 msgid "Lightning" msgstr "Střela" #: glade/fics_lounge.glade:1143 glade/fics_lounge.glade:1487 #: lib/pychess/ic/__init__.py:275 msgid "Computer" msgstr "Počítač" #: glade/fics_lounge.glade:1167 msgid "_Seeks / Challenges" msgstr "Žá_dosti/Výzvy" #: glade/fics_lounge.glade:1188 lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/fics/GameListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:59 #: lib/pychess/perspectives/fics/SeekListPanel.py:71 msgid "Rating" msgstr "Hodnocení" #: glade/fics_lounge.glade:1213 msgid "Time" msgstr "Čas" #: glade/fics_lounge.glade:1233 msgid "Seek _Graph" msgstr "_Graf žádostí" #: glade/fics_lounge.glade:1257 msgid "0 Players Ready" msgstr "Připraveno 0 hráčů" #: glade/fics_lounge.glade:1299 #: lib/pychess/perspectives/fics/ParrentListSection.py:35 msgid "Challenge" msgstr "Vyzvat" #: glade/fics_lounge.glade:1352 glade/fics_lounge.glade:1592 #: lib/pychess/perspectives/fics/ParrentListSection.py:32 msgid "Observe" msgstr "Pozorovat" #: glade/fics_lounge.glade:1405 msgid "Start Private Chat" msgstr "Začít soukromý chat" #: glade/fics_lounge.glade:1460 msgid "Registered" msgstr "Registrován" #: glade/fics_lounge.glade:1474 lib/pychess/System/conf.py:79 msgid "Guest" msgstr "host" #: glade/fics_lounge.glade:1500 msgid "Titled" msgstr "S názvem" #: glade/fics_lounge.glade:1527 msgid "_Player List" msgstr "Seznam _hráčů" #: glade/fics_lounge.glade:1714 msgid "_Game List" msgstr "Seznam h_er" #: glade/fics_lounge.glade:1769 msgid "_My games" msgstr "_Moje hry" #: glade/fics_lounge.glade:1971 msgid "Offer A_bort" msgstr "Nabídnout _přerušení" #: glade/fics_lounge.glade:2015 msgid "Examine" msgstr "Prohlédnout" #: glade/fics_lounge.glade:2072 msgid "Pre_view" msgstr "_Náhled" #: glade/fics_lounge.glade:2129 msgid "_Archived" msgstr "_Archivováno" #: glade/fics_lounge.glade:2254 msgid "Asymmetric Random " msgstr "Nesouměrná náhoda" #: glade/fics_lounge.glade:2261 msgid "Edit Seek" msgstr "Upravit žádost" #: glade/fics_lounge.glade:2365 lib/pychess/Utils/GameModel.py:227 #: lib/pychess/ic/__init__.py:153 #: lib/pychess/perspectives/fics/SeekChallenge.py:470 msgid "Untimed" msgstr "Bez časového omezení" #: glade/fics_lounge.glade:2417 msgid "Minutes: " msgstr "Minuty: " #: glade/fics_lounge.glade:2445 msgid " Gain: " msgstr "Přírůstek:" #: glade/fics_lounge.glade:2484 msgid "Time control: " msgstr "Ovládání času:" #: glade/fics_lounge.glade:2538 glade/newInOut.glade:715 msgid "Time Control" msgstr "Řízení času" #: glade/fics_lounge.glade:2595 glade/fics_lounge.glade:3127 msgid "Don't care" msgstr "Nestarat se" #: glade/fics_lounge.glade:2660 msgid "Your strength: " msgstr "Vaše síla:" #: glade/fics_lounge.glade:2702 msgid "(Blitz)" msgstr "(Blesk)" #: glade/fics_lounge.glade:2731 msgid "Opponent's strength: " msgstr "Síla soupeře:" #: glade/fics_lounge.glade:2836 msgid "" "When this button is in the \"locked\" state, the relationship\n" "between \"Opponent's strength\" and \"Your strength\" will be\n" "preserved when\n" "a) your rating for the type of game sought has changed\n" "b) you change the variant or the time control" msgstr "Když je toto tlačítko v zamknutém stavu, vztah mezi\nsilou soupeře a vlastní herní silou bude uložen,\nkdyž \n\na) se změnilo vaše hodnocení pro hledanou hru.\nb) změníte variantu nebo druh řízení času." #: glade/fics_lounge.glade:2876 msgid "Center:" msgstr "Střed:" #: glade/fics_lounge.glade:2915 msgid "1200" msgstr "1200" #: glade/fics_lounge.glade:2969 msgid "Tolerance:" msgstr "Tolerance:" #: glade/fics_lounge.glade:3024 #: lib/pychess/perspectives/fics/SeekChallenge.py:740 msgid "Hide" msgstr "Skrýt" #: glade/fics_lounge.glade:3070 msgid "Opponent Strength" msgstr "Síla soupeře" #: glade/fics_lounge.glade:3234 msgid "Your Color" msgstr "Vaše barva" #: glade/fics_lounge.glade:3293 msgid "Play normal chess rules" msgstr "Hrát podle normálních šachových pravidel" #: glade/fics_lounge.glade:3333 msgid "Play" msgstr "Hrát" #: glade/fics_lounge.glade:3399 glade/newInOut.glade:915 msgid "Chess Variant" msgstr "Šachová varianta" #: glade/fics_lounge.glade:3457 msgid "Rated game" msgstr "Hodnocená hra" #: glade/fics_lounge.glade:3473 msgid "Manually accept opponent" msgstr "Přijmout soupeře ručně" #: glade/fics_lounge.glade:3503 msgid "Options" msgstr "Volby" #: glade/findbar.glade:6 msgid "window1" msgstr "Okno 1" #: glade/findbar.glade:21 msgid "0 of 0" msgstr "0 z 0" #: glade/findbar.glade:66 msgid "Search:" msgstr "Hledat:" #: glade/findbar.glade:134 msgid "_Previous" msgstr "_Předchozí" #: glade/findbar.glade:192 msgid "_Next" msgstr "_Další" #: glade/newInOut.glade:45 lib/pychess/Main.py:698 #: lib/pychess/widgets/newGameDialog.py:553 msgid "New Game" msgstr "Nová hra" #: glade/newInOut.glade:108 msgid "_Start Game" msgstr "Spustit hru" #: glade/newInOut.glade:130 msgid "Copy FEN" msgstr "Kopírovat FEN" #: glade/newInOut.glade:143 msgid "Clear" msgstr "Vyprázdnit" #: glade/newInOut.glade:156 msgid "Paste FEN" msgstr "Vložit FEN" #: glade/newInOut.glade:169 msgid "Initial setup" msgstr "Výchozí nastavení" #: glade/newInOut.glade:275 glade/newInOut.glade:321 glade/taskers.glade:174 msgid "Engine playing strength (1=weakest, 20=strongest)" msgstr "Herní síla stroje (1 = nejslabší, 20 = nejsilnější)" #: glade/newInOut.glade:359 msgid "White side - Click to exchange the players" msgstr "Bílá strana - Klepněte pro výměnu hráčů" #: glade/newInOut.glade:371 msgid "Black side - Click to exchange the players" msgstr "Černá strana - Klepněte pro výměnu hráčů" #: glade/newInOut.glade:397 msgid "Players" msgstr "Hráči" #: glade/newInOut.glade:448 msgid "_Untimed" msgstr "_Bez omezení" #: glade/newInOut.glade:487 msgid "Blitz: 5 min" msgstr "Bleskovka: 5 minut" #: glade/newInOut.glade:538 msgid "Rapid: 15 min + 10 sec/move" msgstr "Rychlovka: 15 min + 10 s/tah" #: glade/newInOut.glade:587 msgid "Normal: 40 min + 15 sec/move" msgstr "Normální: 40 min + 15 s/tah" #: glade/newInOut.glade:655 msgid "Classical: 3 min / 40 moves" msgstr "Klasická: 3 minuty/40 tahů" #: glade/newInOut.glade:766 msgid "_Play Normal chess" msgstr "_Hrát běžné šachy" #: glade/newInOut.glade:806 msgid "Play Fischer Random chess" msgstr "Hrát Fischerovy náhodné šachy" #: glade/newInOut.glade:856 msgid "Play Losers chess" msgstr "Hrát loupežnické šachy" #: glade/newInOut.glade:1001 msgid "Open Game" msgstr "Otevřít hru" #: glade/newInOut.glade:1244 msgid "Initial Position" msgstr "Počáteční postavení" #: glade/newInOut.glade:1301 msgid "Enter Game Notation" msgstr "Vstoupit do záznamu hry" #: glade/newInOut.glade:1396 msgid "Halfmove clock" msgstr "Hodiny poloviny tahu" #: glade/newInOut.glade:1409 msgid "En passant line" msgstr "Řádek cestou" #: glade/newInOut.glade:1433 msgid "Move number" msgstr "Číslo tahu" #: glade/newInOut.glade:1443 msgid "Black O-O" msgstr "Černý O-O" #: glade/newInOut.glade:1457 msgid "Black O-O-O" msgstr "Černý O-O-O" #: glade/newInOut.glade:1471 msgid "White O-O-O" msgstr "Bílý O-O-O" #: glade/newInOut.glade:1485 msgid "White O-O" msgstr "Bílý O-O" #: glade/newInOut.glade:1558 msgid "Rotate the board" msgstr "Otočit šachovnici" #: glade/saveGamesDialog.glade:7 msgid "Quit PyChess" msgstr "Ukončit PyChess" #: glade/saveGamesDialog.glade:24 #: lib/pychess/perspectives/games/__init__.py:465 msgid "Close _without Saving" msgstr "Zavřít _bez uložení" #: glade/saveGamesDialog.glade:83 msgid "_Save %d documents" msgstr "_Uložit %d dokumentů" #: glade/saveGamesDialog.glade:141 msgid "" "There are %d games with unsaved moves. Save changes before " "closing?" msgstr "Je %d her s neuloženými tahy. Mají se tyto tahy před zavřením uložit?" #: glade/saveGamesDialog.glade:161 msgid "Select the games you want to save:" msgstr "Vyberte hru, již chcete uložit:" #: glade/saveGamesDialog.glade:204 msgid "If you don't save, new changes to your games will be permanently lost." msgstr "Pokud hru neuložíte, bude nynější stav hry trvale ztracen." #: glade/taskers.glade:42 msgid "Detailed settings of players, time control and chess variant" msgstr "Podrobná nastavení hráčů, řízení času a šachovou variantu" #: glade/taskers.glade:133 msgid "_Opponent:" msgstr "_Soupeř:" #: glade/taskers.glade:161 msgid "_Your Color:" msgstr "_Vaše barva:" #: glade/taskers.glade:228 msgid "_Start Game" msgstr "_Spustit hru" #: glade/taskers.glade:279 msgid "Detailed connection settings" msgstr "Podrobná nastavení připojení" #: glade/taskers.glade:349 msgid "Auto login on startup" msgstr "Automatické přihlášení při spuštění" #: glade/taskers.glade:369 msgid "Server:" msgstr "Server:" #: glade/taskers.glade:418 msgid "_Connect to server" msgstr "_Připojit k serveru" #: glade/taskers.glade:469 msgid "Select a pgn or epd or fen chess file" msgstr "Vyberte šachový soubor PGN nebo EPD nebo FEN" #: glade/taskers.glade:532 msgid "_Recent:" msgstr "_Nedávný:" #: glade/taskers.glade:542 msgid "Create a new database" msgstr "Vytvořit novou databázi" #: glade/taskers.glade:609 msgid "Open database" msgstr "Otevřít databázi" #: glade/taskers.glade:660 msgid "View lectures, solve puzzles or start practicing endgames" msgstr "Zobrazit přednášky, řešit hlavolamy nebo začít s cvičením koncovek" #: glade/taskers.glade:723 msgid "Category:" msgstr "Skupina:" #: glade/taskers.glade:796 msgid "Start learning" msgstr "Začít s výukou" #: glade/tipoftheday.glade:7 msgid "Tip Of The day" msgstr "Rada dne" #: glade/tipoftheday.glade:62 msgid "Show tips at startup" msgstr "Ukázat rady při spuštění" #: lib/pychess/Main.py:244 msgid "The provided link does not lead to a meaningful chess content." msgstr "" #: lib/pychess/Main.py:458 msgid "http://en.wikipedia.org/wiki/Chess" msgstr "http://cs.wikipedia.org/wiki/%C5%A0achy" #: lib/pychess/Main.py:461 msgid "http://en.wikipedia.org/wiki/Rules_of_chess" msgstr "http://cs.wikipedia.org/wiki/Pravidla_%C5%A1ach%C5%AF" #: lib/pychess/Main.py:627 lib/pychess/widgets/gamenanny.py:80 #: lib/pychess/perspectives/welcome/__init__.py:7 msgid "Welcome" msgstr "Vítejte" #: lib/pychess/Main.py:703 msgid "Open Game" msgstr "Otevřít hru" #: lib/pychess/Database/PgnImport.py:191 #, python-format msgid "Reading %s ..." msgstr "Čte se %s ..." #: lib/pychess/Database/PgnImport.py:356 lib/pychess/Database/PgnImport.py:391 #, python-format msgid "%(counter)s game headers from %(filename)s imported" msgstr "%(counter)s herních záhlaví z %(filename)s zavedeno" #: lib/pychess/Players/CECPEngine.py:805 #, python-format msgid "The engine %s reports an error:" msgstr "Stroj %s hlásí chybu:" #: lib/pychess/Players/Human.py:22 msgid "Your opponent has offered you a draw." msgstr "Váš soupeř nabídl remízu." #: lib/pychess/Players/Human.py:23 msgid "" "Your opponent has offered you a draw. If you accept this offer, the game " "will end with a score of 1/2 - 1/2." msgstr "Váš soupeř nabídl remízu. Pokud tuto nabídku přijmete, hra se skončí s výsledkem 1/2 k 1/2." #: lib/pychess/Players/Human.py:25 msgid "Your opponent wants to abort the game." msgstr "Váš soupeř chce hru ukončit." #: lib/pychess/Players/Human.py:26 msgid "" "Your opponent has asked that the game be aborted. If you accept this offer, " "the game will end with no rating change." msgstr "Váš soupeř požádal o ukončení hry. Pokud tuto nabídku přijmete, hra se skončí beze změny hodnocení." #: lib/pychess/Players/Human.py:28 msgid "Your opponent wants to adjourn the game." msgstr "Váš soupeř chce hru odložit." #: lib/pychess/Players/Human.py:29 msgid "" "Your opponent has asked that the game be adjourned. If you accept this " "offer, the game will be adjourned and you can resume it later (when your " "opponent is online and both players agree to resume)." msgstr "Váš soupeř požádal o odložení hry. Pokud tuto nabídku přijmete, hra bude odložena a vy v ní můžete pokračovat později (až váš soupeř bude připojen k internetu a až budou oba hráči souhlasit s pokračováním)." #: lib/pychess/Players/Human.py:31 #, python-format msgid "Your opponent wants to undo %s move(s)." msgstr "Váš soupeř chce vrátit zpět %s tah(y)." #: lib/pychess/Players/Human.py:32 #, python-format msgid "" "Your opponent has asked that the last %s move(s) be undone. If you accept " "this offer, the game will continue from the earlier position." msgstr "Váš soupeř požádal o to, aby se poslední %s tah(y) vzaly zpátky. Pokud tuto nabídku přijmete, hra bude pokračovat z dřívější pozice." #: lib/pychess/Players/Human.py:34 msgid "Your opponent wants to pause the game." msgstr "Váš soupeř chce přestávku ve hře." #: lib/pychess/Players/Human.py:35 msgid "" "Your opponent has asked that the game be paused. If you accept this offer, " "the game clock will be paused until both players agree to resume the game." msgstr "Váš soupeř požádal o pozastavení hry. Pokud tuto nabídku přijmete, herní hodiny budou zastaveny tak dlouho, až budou oba hráči souhlasit s pokračováním ve hře." #: lib/pychess/Players/Human.py:37 msgid "Your opponent wants to resume the game." msgstr "Váš soupeř chce pokračovat ve hře." #: lib/pychess/Players/Human.py:38 msgid "" "Your opponent has asked that the game be resumed. If you accept this offer, " "the game clock will continue from where it was paused." msgstr "Váš soupeř požádal o pokračování ve hře. Pokud tuto nabídku přijmete, herní hodiny budou budou opět spuštěny. Bude se pokračovat od toho časového okamžiku, kdy se přestalo." #: lib/pychess/Players/Human.py:42 msgid "The resignation" msgstr "Vzdání se" #: lib/pychess/Players/Human.py:43 msgid "The flag call" msgstr "Žádost o vítězství v čase" #: lib/pychess/Players/Human.py:44 msgid "The draw offer" msgstr "Nabídka remízy" #: lib/pychess/Players/Human.py:45 msgid "The abort offer" msgstr "Nabídka přerušení" #: lib/pychess/Players/Human.py:46 msgid "The adjourn offer" msgstr "Nabídka odložení" #: lib/pychess/Players/Human.py:47 msgid "The pause offer" msgstr "Nabídka pozastavení" #: lib/pychess/Players/Human.py:48 msgid "The resume offer" msgstr "Nabídka pokračování" #: lib/pychess/Players/Human.py:49 msgid "The offer to switch sides" msgstr "Nabídka výměny stran" #: lib/pychess/Players/Human.py:50 msgid "The takeback offer" msgstr "Nabídka vzetí zpět" #: lib/pychess/Players/Human.py:54 msgid "resign" msgstr "Vzdát" #: lib/pychess/Players/Human.py:55 msgid "call your opponents flag" msgstr "Žádat vítězství v čase" #: lib/pychess/Players/Human.py:56 msgid "offer a draw" msgstr "Nabídnout remízu" #: lib/pychess/Players/Human.py:57 msgid "offer an abort" msgstr "Nabídnout přerušení" #: lib/pychess/Players/Human.py:58 msgid "offer to adjourn" msgstr "Nabídnout odložení" #: lib/pychess/Players/Human.py:59 msgid "offer a pause" msgstr "Nabídnout pozastavení" #: lib/pychess/Players/Human.py:60 msgid "offer to resume" msgstr "Nabídnout pokračování" #: lib/pychess/Players/Human.py:61 msgid "offer to switch sides" msgstr "Nabídnout změnu stran" #: lib/pychess/Players/Human.py:62 msgid "offer a takeback" msgstr "Nabídnout vzetí zpět" #: lib/pychess/Players/Human.py:63 msgid "ask your opponent to move" msgstr "Vyzvat svého soupeře k tahu" #: lib/pychess/Players/Human.py:67 msgid "Your opponent is not out of time." msgstr "Váš soupeř má ještě zbytek hracího času." #: lib/pychess/Players/Human.py:68 msgid "The clock hasn't been started yet." msgstr "Hodiny ještě neběží." #: lib/pychess/Players/Human.py:70 msgid "You can't switch colors during the game." msgstr "Nemůžete měnit barvy během hry." #: lib/pychess/Players/Human.py:71 msgid "You have tried to undo too many moves." msgstr "Pokusil jste se vzít zpět příliš mnoho tahů." #: lib/pychess/Players/Human.py:197 msgid "Your opponent asks you to hurry!" msgstr "Váš soupeř požaduje, abyste si pospíšil!" #: lib/pychess/Players/Human.py:199 msgid "" "Generally this means nothing, as the game is time-based, but if you want to" " please your opponent, perhaps you should get going." msgstr "Obecně o nic nejde, jelikož hra je založena na času, ale pokud chcete svého soupeře potěšit, možná byste si měl pohnout." #: lib/pychess/Players/Human.py:276 #: lib/pychess/perspectives/fics/ParrentListSection.py:30 #: lib/pychess/perspectives/fics/SeekListPanel.py:335 msgid "Accept" msgstr "Přijmout" #: lib/pychess/Players/Human.py:278 #: lib/pychess/perspectives/fics/SeekListPanel.py:337 msgid "Decline" msgstr "Odmítnout" #: lib/pychess/Players/Human.py:286 #, python-format msgid "%s was declined by your opponent" msgstr "%s byla vaším soupeřem odmítnuta" #: lib/pychess/Players/Human.py:288 #, python-format msgid "Resend %s?" msgstr "Poslat %s znovu?" #: lib/pychess/Players/Human.py:299 msgid "Resend" msgstr "Poslat znovu" #: lib/pychess/Players/Human.py:307 #, python-format msgid "%s was withdrawn by your opponent" msgstr "%s byla vaším soupeřem stažena" #: lib/pychess/Players/Human.py:309 msgid "Your opponent seems to have changed their mind." msgstr "Zdá se, že váš soupeř změnil názor." #: lib/pychess/Players/Human.py:327 #, python-format msgid "Unable to accept %s" msgstr "Nelze přijmout %s" #: lib/pychess/Players/Human.py:328 msgid "Probably because it has been withdrawn." msgstr "Pravděpodobně z toho důvodu, že to bylo staženo." #: lib/pychess/Players/Human.py:335 #, python-format msgid "%s returns an error" msgstr "%s vrátil chybu" #: lib/pychess/Savers/chessalpha2.py:16 msgid "Chess Alpha 2 Diagram" msgstr "Čachy-Alpha-2-Diagram" #: lib/pychess/Savers/chesspastebin.py:19 msgid "" "The current game is over. First, please verify the properties of the game." msgstr "Nynější hra je skončena. Nejprve, prosím, prověřte vlastnosti hry." #: lib/pychess/Savers/chesspastebin.py:21 msgid "" "The current game is not terminated. Its export may have a limited interest." msgstr "Nynější hra není skončena. O její vyvedení může být omezený zájem." #: lib/pychess/Savers/chesspastebin.py:22 #, python-format msgid "Should %s publicly publish your game as PGN on chesspastebin.com ?" msgstr "Má %s vaši hru zveřejnit jako PGN na chesspastebin.com ?" #: lib/pychess/Savers/chesspastebin.py:57 msgid "Game shared at " msgstr "Hra sdílena v" #: lib/pychess/Savers/chesspastebin.py:59 msgid "(Link is available on clipboard.)" msgstr "(Odkaz je dostupný ve schránce.)" #: lib/pychess/Savers/epd.py:10 msgid "Chess Position" msgstr "Šachová pozice" #: lib/pychess/Savers/epd.py:166 lib/pychess/Savers/remotegame.py:413 #: lib/pychess/Savers/remotegame.py:414 lib/pychess/Utils/isoCountries.py:9 #: lib/pychess/ic/FICSObjects.py:1104 #: lib/pychess/perspectives/fics/FicsHome.py:154 msgid "Unknown" msgstr "Neznámé" #: lib/pychess/Savers/fen.py:12 msgid "Simple Chess Position" msgstr "Jednoduchá šachová pozice" #: lib/pychess/Savers/fen.py:68 lib/pychess/Savers/pgn.py:790 msgid "The game can't be loaded, because of an error parsing FEN" msgstr "Hru nelze nahrát z důvodu chyby při zpracování FEN" #: lib/pychess/Savers/html.py:6 msgid "Html Diagram" msgstr "Html Diagram" #: lib/pychess/Savers/olv.py:10 msgid "Chess Compositions from yacpdb.org" msgstr "Šachová rozvržení z yacpdb.org" #: lib/pychess/Savers/pgn.py:45 msgid "Chess Game" msgstr "Šachová hra" #: lib/pychess/Savers/pgn.py:331 msgid "Analyzer's primary variation" msgstr "Základní obměna analyzátoru" #: lib/pychess/Savers/pgn.py:463 msgid "Importing game headers..." msgstr "Zavádí se herní záhlaví" #: lib/pychess/Savers/pgn.py:480 msgid "Creating .bin index file..." msgstr "Vytváří se rejstříkový soubor .bin..." #: lib/pychess/Savers/pgn.py:506 msgid "Creating .scout index file..." msgstr "Vytváří se rejstříkový soubor .scout..." #: lib/pychess/Savers/pgn.py:824 msgid "Invalid move." msgstr "Neplatný tah." #: lib/pychess/Savers/pgn.py:957 #, python-format msgid "Error parsing %(mstr)s" msgstr "Chyba při zpracování %(mstr)s" #: lib/pychess/Savers/pgn.py:990 #, python-format msgid "" "The game can't be read to end, because of an error parsing move %(moveno)s " "'%(notation)s'." msgstr "Hru nelze přečíst do konce z důvodu chyby při zpracování tahu %(moveno)s '%(notation)s'." #: lib/pychess/Savers/pgn.py:993 #, python-format msgid "The move failed because %s." msgstr "Tah se nezdařil protože %s." #: lib/pychess/Savers/pgn.py:1003 #, python-format msgid "Error parsing move %(moveno)s %(mstr)s" msgstr "Chyba při zpracování tahu %(moveno)s %(mstr)s" #: lib/pychess/Savers/png.py:10 msgid "Png image" msgstr "Obrázek PNG" #: lib/pychess/Savers/remotegame.py:92 lib/pychess/Savers/remotegame.py:144 #: lib/pychess/Savers/remotegame.py:190 lib/pychess/Savers/remotegame.py:225 msgid "Download link" msgstr "" #: lib/pychess/Savers/remotegame.py:265 lib/pychess/Savers/remotegame.py:370 #: lib/pychess/Savers/remotegame.py:441 lib/pychess/Savers/remotegame.py:500 msgid "HTML parsing" msgstr "" #: lib/pychess/Savers/remotegame.py:593 msgid "Various techniques" msgstr "" #: lib/pychess/Savers/txt.py:6 msgid "Text Diagram" msgstr "Textový diagram" #: lib/pychess/System/ping.py:35 msgid "Destination Host Unreachable" msgstr "Cílový počítač je nedosažitelný" #: lib/pychess/System/ping.py:77 msgid "Died" msgstr "Zemřel" #: lib/pychess/Utils/GameModel.py:145 msgid "Local Event" msgstr "Místní událost" #: lib/pychess/Utils/GameModel.py:146 msgid "Local Site" msgstr "Místní stránka" #: lib/pychess/Utils/TimeModel.py:251 #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "min" msgstr "min" #: lib/pychess/Utils/TimeModel.py:253 #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "sec" msgstr "s" #: lib/pychess/Utils/__init__.py:14 msgid "Illegal" msgstr "Neplatný" #: lib/pychess/Utils/__init__.py:38 lib/pychess/Utils/__init__.py:39 msgid "Mate" msgstr "Pomocník" #: lib/pychess/Utils/checkversion.py:28 #, python-format msgid "New version %s is available!" msgstr "Je dostupná nová verze %s!" #: lib/pychess/Utils/isoCountries.py:11 msgid "Andorra" msgstr "Andorra" #: lib/pychess/Utils/isoCountries.py:12 msgid "United Arab Emirates" msgstr "Spojené arabské emiráty" #: lib/pychess/Utils/isoCountries.py:13 msgid "Afghanistan" msgstr "Afghánistán" #: lib/pychess/Utils/isoCountries.py:14 msgid "Antigua and Barbuda" msgstr "Antigua a Barbuda" #: lib/pychess/Utils/isoCountries.py:15 msgid "Anguilla" msgstr "Anguilla" #: lib/pychess/Utils/isoCountries.py:16 msgid "Albania" msgstr "Albánie" #: lib/pychess/Utils/isoCountries.py:17 msgid "Armenia" msgstr "Arménie" #: lib/pychess/Utils/isoCountries.py:19 msgid "Angola" msgstr "Angola" #: lib/pychess/Utils/isoCountries.py:20 msgid "Antarctica" msgstr "Antarktika" #: lib/pychess/Utils/isoCountries.py:21 msgid "Argentina" msgstr "Argentina" #: lib/pychess/Utils/isoCountries.py:22 msgid "American Samoa" msgstr "Americká Samoa" #: lib/pychess/Utils/isoCountries.py:23 msgid "Austria" msgstr "Rakousko" #: lib/pychess/Utils/isoCountries.py:24 msgid "Australia" msgstr "Austrálie" #: lib/pychess/Utils/isoCountries.py:25 msgid "Aruba" msgstr "Aruba" #: lib/pychess/Utils/isoCountries.py:26 msgid "Åland Islands" msgstr "Ålandské ostrovy" #: lib/pychess/Utils/isoCountries.py:27 msgid "Azerbaijan" msgstr "Ázerbájdžán" #: lib/pychess/Utils/isoCountries.py:28 msgid "Bosnia and Herzegovina" msgstr "Bosna a Hercegovina" #: lib/pychess/Utils/isoCountries.py:29 msgid "Barbados" msgstr "Barbados" #: lib/pychess/Utils/isoCountries.py:30 msgid "Bangladesh" msgstr "Bangladéš" #: lib/pychess/Utils/isoCountries.py:31 msgid "Belgium" msgstr "Belgie" #: lib/pychess/Utils/isoCountries.py:32 msgid "Burkina Faso" msgstr "Burkina Faso" #: lib/pychess/Utils/isoCountries.py:33 msgid "Bulgaria" msgstr "Bulharsko" #: lib/pychess/Utils/isoCountries.py:34 msgid "Bahrain" msgstr "Bahrajn" #: lib/pychess/Utils/isoCountries.py:35 msgid "Burundi" msgstr "Burundi" #: lib/pychess/Utils/isoCountries.py:36 msgid "Benin" msgstr "Benin" #: lib/pychess/Utils/isoCountries.py:37 msgid "Saint Barthélemy" msgstr "Svatý Bartoloměj" #: lib/pychess/Utils/isoCountries.py:38 msgid "Bermuda" msgstr "Bermudy" #: lib/pychess/Utils/isoCountries.py:39 msgid "Brunei Darussalam" msgstr "Brunej Darussalam" #: lib/pychess/Utils/isoCountries.py:40 msgid "Bolivia (Plurinational State of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:41 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" #: lib/pychess/Utils/isoCountries.py:42 msgid "Brazil" msgstr "Brazílie" #: lib/pychess/Utils/isoCountries.py:43 msgid "Bahamas" msgstr "Bahamy" #: lib/pychess/Utils/isoCountries.py:44 msgid "Bhutan" msgstr "Bhútán" #: lib/pychess/Utils/isoCountries.py:45 msgid "Bouvet Island" msgstr "Bouvetův ostrov" #: lib/pychess/Utils/isoCountries.py:46 msgid "Botswana" msgstr "Botswana" #: lib/pychess/Utils/isoCountries.py:47 msgid "Belarus" msgstr "Bělorusko" #: lib/pychess/Utils/isoCountries.py:48 msgid "Belize" msgstr "Belize" #: lib/pychess/Utils/isoCountries.py:49 msgid "Canada" msgstr "Kanada" #: lib/pychess/Utils/isoCountries.py:50 msgid "Cocos (Keeling) Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:51 msgid "Congo (the Democratic Republic of the)" msgstr "Kongo (Demokratická republika)" #: lib/pychess/Utils/isoCountries.py:52 msgid "Central African Republic" msgstr "Středoafrická republika" #: lib/pychess/Utils/isoCountries.py:53 msgid "Congo" msgstr "Kongo" #: lib/pychess/Utils/isoCountries.py:54 msgid "Switzerland" msgstr "Švýcarsko" #: lib/pychess/Utils/isoCountries.py:55 msgid "Côte d'Ivoire" msgstr "Slonovinové pobřeží" #: lib/pychess/Utils/isoCountries.py:56 msgid "Cook Islands" msgstr "Cookovy ostrovy" #: lib/pychess/Utils/isoCountries.py:57 msgid "Chile" msgstr "Chile" #: lib/pychess/Utils/isoCountries.py:58 msgid "Cameroon" msgstr "Kamerun" #: lib/pychess/Utils/isoCountries.py:59 msgid "China" msgstr "Čína" #: lib/pychess/Utils/isoCountries.py:60 msgid "Colombia" msgstr "Kolumbie" #: lib/pychess/Utils/isoCountries.py:61 msgid "Costa Rica" msgstr "Kostarika" #: lib/pychess/Utils/isoCountries.py:62 msgid "Cuba" msgstr "Kuba" #: lib/pychess/Utils/isoCountries.py:63 msgid "Cabo Verde" msgstr "Kapverdy" #: lib/pychess/Utils/isoCountries.py:64 msgid "Curaçao" msgstr "Curaçao" #: lib/pychess/Utils/isoCountries.py:65 msgid "Christmas Island" msgstr "Vánoční ostrov" #: lib/pychess/Utils/isoCountries.py:66 msgid "Cyprus" msgstr "Kypr" #: lib/pychess/Utils/isoCountries.py:67 msgid "Czechia" msgstr "Česká republika" #: lib/pychess/Utils/isoCountries.py:68 msgid "Germany" msgstr "Německo" #: lib/pychess/Utils/isoCountries.py:69 msgid "Djibouti" msgstr "Džibutsko" #: lib/pychess/Utils/isoCountries.py:70 msgid "Denmark" msgstr "Dánsko" #: lib/pychess/Utils/isoCountries.py:71 msgid "Dominica" msgstr "Dominika (Společenství Dominika)" #: lib/pychess/Utils/isoCountries.py:72 msgid "Dominican Republic" msgstr "Dominikánská republika" #: lib/pychess/Utils/isoCountries.py:73 msgid "Algeria" msgstr "Alžírsko" #: lib/pychess/Utils/isoCountries.py:74 msgid "Ecuador" msgstr "Ekvádor" #: lib/pychess/Utils/isoCountries.py:75 msgid "Estonia" msgstr "Estonsko" #: lib/pychess/Utils/isoCountries.py:76 msgid "Egypt" msgstr "Egypt" #: lib/pychess/Utils/isoCountries.py:77 msgid "Western Sahara" msgstr "Západní Sahara" #: lib/pychess/Utils/isoCountries.py:78 msgid "Eritrea" msgstr "Eritrea" #: lib/pychess/Utils/isoCountries.py:79 msgid "Spain" msgstr "Španělsko" #: lib/pychess/Utils/isoCountries.py:80 msgid "Ethiopia" msgstr "Etiopie" #: lib/pychess/Utils/isoCountries.py:81 msgid "Finland" msgstr "Finsko" #: lib/pychess/Utils/isoCountries.py:82 msgid "Fiji" msgstr "Fidži" #: lib/pychess/Utils/isoCountries.py:83 msgid "Falkland Islands [Malvinas]" msgstr "Falklandské ostrovy [Malvíny]" #: lib/pychess/Utils/isoCountries.py:84 msgid "Micronesia (Federated States of)" msgstr "Federativní státy Mikronésie" #: lib/pychess/Utils/isoCountries.py:85 msgid "Faroe Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:86 msgid "France" msgstr "Francie" #: lib/pychess/Utils/isoCountries.py:87 msgid "Gabon" msgstr "Gabon" #: lib/pychess/Utils/isoCountries.py:88 msgid "United Kingdom of Great Britain and Northern Ireland" msgstr "Spojené království Velké Británie a Severního Irska" #: lib/pychess/Utils/isoCountries.py:89 msgid "Grenada" msgstr "Grenada" #: lib/pychess/Utils/isoCountries.py:90 msgid "Georgia" msgstr "Georgie" #: lib/pychess/Utils/isoCountries.py:91 msgid "French Guiana" msgstr "" #: lib/pychess/Utils/isoCountries.py:92 msgid "Guernsey" msgstr "" #: lib/pychess/Utils/isoCountries.py:93 msgid "Ghana" msgstr "" #: lib/pychess/Utils/isoCountries.py:94 msgid "Gibraltar" msgstr "Gibraltar" #: lib/pychess/Utils/isoCountries.py:95 msgid "Greenland" msgstr "" #: lib/pychess/Utils/isoCountries.py:96 msgid "Gambia" msgstr "Gambie" #: lib/pychess/Utils/isoCountries.py:97 msgid "Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:98 msgid "Guadeloupe" msgstr "Guadeloupe" #: lib/pychess/Utils/isoCountries.py:99 msgid "Equatorial Guinea" msgstr "" #: lib/pychess/Utils/isoCountries.py:100 msgid "Greece" msgstr "Řecko" #: lib/pychess/Utils/isoCountries.py:101 msgid "South Georgia and the South Sandwich Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:102 msgid "Guatemala" msgstr "Guatemala" #: lib/pychess/Utils/isoCountries.py:103 msgid "Guam" msgstr "Guam" #: lib/pychess/Utils/isoCountries.py:104 msgid "Guinea-Bissau" msgstr "" #: lib/pychess/Utils/isoCountries.py:105 msgid "Guyana" msgstr "Guyana" #: lib/pychess/Utils/isoCountries.py:106 msgid "Hong Kong" msgstr "Hong Kong" #: lib/pychess/Utils/isoCountries.py:107 msgid "Heard Island and McDonald Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:108 msgid "Honduras" msgstr "Honduras" #: lib/pychess/Utils/isoCountries.py:109 msgid "Croatia" msgstr "Chorvatsko" #: lib/pychess/Utils/isoCountries.py:110 msgid "Haiti" msgstr "Haiti" #: lib/pychess/Utils/isoCountries.py:111 msgid "Hungary" msgstr "Maďarsko" #: lib/pychess/Utils/isoCountries.py:112 msgid "Indonesia" msgstr "Indonésie" #: lib/pychess/Utils/isoCountries.py:113 msgid "Ireland" msgstr "Irsko" #: lib/pychess/Utils/isoCountries.py:114 msgid "Israel" msgstr "Izrael" #: lib/pychess/Utils/isoCountries.py:115 msgid "Isle of Man" msgstr "Ostrov Man" #: lib/pychess/Utils/isoCountries.py:116 msgid "India" msgstr "Indie" #: lib/pychess/Utils/isoCountries.py:117 msgid "British Indian Ocean Territory" msgstr "" #: lib/pychess/Utils/isoCountries.py:118 msgid "Iraq" msgstr "Irák" #: lib/pychess/Utils/isoCountries.py:119 msgid "Iran (Islamic Republic of)" msgstr "Írán (Íránská islámská republika)" #: lib/pychess/Utils/isoCountries.py:120 msgid "Iceland" msgstr "Island" #: lib/pychess/Utils/isoCountries.py:121 msgid "Italy" msgstr "Itálie" #: lib/pychess/Utils/isoCountries.py:122 msgid "Jersey" msgstr "" #: lib/pychess/Utils/isoCountries.py:123 msgid "Jamaica" msgstr "" #: lib/pychess/Utils/isoCountries.py:124 msgid "Jordan" msgstr "Jordánsko" #: lib/pychess/Utils/isoCountries.py:125 msgid "Japan" msgstr "Japonsko" #: lib/pychess/Utils/isoCountries.py:126 msgid "Kenya" msgstr "Keňa" #: lib/pychess/Utils/isoCountries.py:127 msgid "Kyrgyzstan" msgstr "" #: lib/pychess/Utils/isoCountries.py:128 msgid "Cambodia" msgstr "Kambodža" #: lib/pychess/Utils/isoCountries.py:129 msgid "Kiribati" msgstr "Kiribati" #: lib/pychess/Utils/isoCountries.py:130 msgid "Comoros" msgstr "" #: lib/pychess/Utils/isoCountries.py:131 msgid "Saint Kitts and Nevis" msgstr "" #: lib/pychess/Utils/isoCountries.py:132 msgid "Korea (the Democratic People's Republic of)" msgstr "Korejská lidově demokratická republika" #: lib/pychess/Utils/isoCountries.py:133 msgid "Korea (the Republic of)" msgstr "Korea (republika)" #: lib/pychess/Utils/isoCountries.py:134 msgid "Kuwait" msgstr "Kuvajt" #: lib/pychess/Utils/isoCountries.py:135 msgid "Cayman Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:136 msgid "Kazakhstan" msgstr "Kazachstán" #: lib/pychess/Utils/isoCountries.py:137 msgid "Lao People's Democratic Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:138 msgid "Lebanon" msgstr "Libanon" #: lib/pychess/Utils/isoCountries.py:139 msgid "Saint Lucia" msgstr "" #: lib/pychess/Utils/isoCountries.py:140 msgid "Liechtenstein" msgstr "Lichtenštejnsko" #: lib/pychess/Utils/isoCountries.py:141 msgid "Sri Lanka" msgstr "" #: lib/pychess/Utils/isoCountries.py:142 msgid "Liberia" msgstr "Libérie" #: lib/pychess/Utils/isoCountries.py:143 msgid "Lesotho" msgstr "Lesotho" #: lib/pychess/Utils/isoCountries.py:144 msgid "Lithuania" msgstr "Litva" #: lib/pychess/Utils/isoCountries.py:145 msgid "Luxembourg" msgstr "" #: lib/pychess/Utils/isoCountries.py:146 msgid "Latvia" msgstr "Lotyšsko" #: lib/pychess/Utils/isoCountries.py:147 msgid "Libya" msgstr "Libye" #: lib/pychess/Utils/isoCountries.py:148 msgid "Morocco" msgstr "Maroko" #: lib/pychess/Utils/isoCountries.py:149 msgid "Monaco" msgstr "Monako" #: lib/pychess/Utils/isoCountries.py:150 msgid "Moldova (the Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:151 msgid "Montenegro" msgstr "Černá Hora" #: lib/pychess/Utils/isoCountries.py:152 msgid "Saint Martin (French part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:153 msgid "Madagascar" msgstr "Madagaskar" #: lib/pychess/Utils/isoCountries.py:154 msgid "Marshall Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:155 msgid "Macedonia (the former Yugoslav Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:156 msgid "Mali" msgstr "Mali" #: lib/pychess/Utils/isoCountries.py:157 msgid "Myanmar" msgstr "" #: lib/pychess/Utils/isoCountries.py:158 msgid "Mongolia" msgstr "Mongolsko" #: lib/pychess/Utils/isoCountries.py:159 msgid "Macao" msgstr "Macao" #: lib/pychess/Utils/isoCountries.py:160 msgid "Northern Mariana Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:161 msgid "Martinique" msgstr "Martinik" #: lib/pychess/Utils/isoCountries.py:162 msgid "Mauritania" msgstr "Mauritánie" #: lib/pychess/Utils/isoCountries.py:163 msgid "Montserrat" msgstr "" #: lib/pychess/Utils/isoCountries.py:164 msgid "Malta" msgstr "" #: lib/pychess/Utils/isoCountries.py:165 msgid "Mauritius" msgstr "Mauricius" #: lib/pychess/Utils/isoCountries.py:166 msgid "Maldives" msgstr "Maledivy" #: lib/pychess/Utils/isoCountries.py:167 msgid "Malawi" msgstr "" #: lib/pychess/Utils/isoCountries.py:168 msgid "Mexico" msgstr "Mexiko" #: lib/pychess/Utils/isoCountries.py:169 msgid "Malaysia" msgstr "" #: lib/pychess/Utils/isoCountries.py:170 msgid "Mozambique" msgstr "" #: lib/pychess/Utils/isoCountries.py:171 msgid "Namibia" msgstr "Namibie" #: lib/pychess/Utils/isoCountries.py:172 msgid "New Caledonia" msgstr "" #: lib/pychess/Utils/isoCountries.py:173 msgid "Niger" msgstr "Niger" #: lib/pychess/Utils/isoCountries.py:174 msgid "Norfolk Island" msgstr "" #: lib/pychess/Utils/isoCountries.py:175 msgid "Nigeria" msgstr "Nigérie" #: lib/pychess/Utils/isoCountries.py:176 msgid "Nicaragua" msgstr "" #: lib/pychess/Utils/isoCountries.py:177 msgid "Netherlands" msgstr "Nizozemí" #: lib/pychess/Utils/isoCountries.py:178 msgid "Norway" msgstr "Norsko" #: lib/pychess/Utils/isoCountries.py:179 msgid "Nepal" msgstr "Nepál" #: lib/pychess/Utils/isoCountries.py:180 msgid "Nauru" msgstr "Nauru" #: lib/pychess/Utils/isoCountries.py:181 msgid "Niue" msgstr "" #: lib/pychess/Utils/isoCountries.py:182 msgid "New Zealand" msgstr "" #: lib/pychess/Utils/isoCountries.py:183 msgid "Oman" msgstr "Omán" #: lib/pychess/Utils/isoCountries.py:184 msgid "Panama" msgstr "Panama" #: lib/pychess/Utils/isoCountries.py:185 msgid "Peru" msgstr "Peru" #: lib/pychess/Utils/isoCountries.py:186 msgid "French Polynesia" msgstr "" #: lib/pychess/Utils/isoCountries.py:187 msgid "Papua New Guinea" msgstr "Papua-Nová Guinea" #: lib/pychess/Utils/isoCountries.py:188 msgid "Philippines" msgstr "Filipíny" #: lib/pychess/Utils/isoCountries.py:189 msgid "Pakistan" msgstr "Pákistán" #: lib/pychess/Utils/isoCountries.py:190 msgid "Poland" msgstr "Polsko" #: lib/pychess/Utils/isoCountries.py:191 msgid "Saint Pierre and Miquelon" msgstr "" #: lib/pychess/Utils/isoCountries.py:192 msgid "Pitcairn" msgstr "" #: lib/pychess/Utils/isoCountries.py:193 msgid "Puerto Rico" msgstr "Portoriko" #: lib/pychess/Utils/isoCountries.py:194 msgid "Palestine, State of" msgstr "" #: lib/pychess/Utils/isoCountries.py:195 msgid "Portugal" msgstr "Portugalsko" #: lib/pychess/Utils/isoCountries.py:196 msgid "Palau" msgstr "Palau" #: lib/pychess/Utils/isoCountries.py:197 msgid "Paraguay" msgstr "Paraguay" #: lib/pychess/Utils/isoCountries.py:198 msgid "Qatar" msgstr "Katar" #: lib/pychess/Utils/isoCountries.py:199 msgid "Réunion" msgstr "Réunion" #: lib/pychess/Utils/isoCountries.py:200 msgid "Romania" msgstr "Rumunsko" #: lib/pychess/Utils/isoCountries.py:201 msgid "Serbia" msgstr "Srbsko" #: lib/pychess/Utils/isoCountries.py:202 msgid "Russian Federation" msgstr "Ruská federace" #: lib/pychess/Utils/isoCountries.py:203 msgid "Rwanda" msgstr "Rwanda" #: lib/pychess/Utils/isoCountries.py:204 msgid "Saudi Arabia" msgstr "Saudská Arábie" #: lib/pychess/Utils/isoCountries.py:205 msgid "Solomon Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:206 msgid "Seychelles" msgstr "Seychely" #: lib/pychess/Utils/isoCountries.py:207 msgid "Sudan" msgstr "Súdán" #: lib/pychess/Utils/isoCountries.py:208 msgid "Sweden" msgstr "Švédsko" #: lib/pychess/Utils/isoCountries.py:209 msgid "Singapore" msgstr "Singapur" #: lib/pychess/Utils/isoCountries.py:210 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" #: lib/pychess/Utils/isoCountries.py:211 msgid "Slovenia" msgstr "Slovinsko" #: lib/pychess/Utils/isoCountries.py:212 msgid "Svalbard and Jan Mayen" msgstr "" #: lib/pychess/Utils/isoCountries.py:213 msgid "Slovakia" msgstr "Slovensko" #: lib/pychess/Utils/isoCountries.py:214 msgid "Sierra Leone" msgstr "Sierra Leone" #: lib/pychess/Utils/isoCountries.py:215 msgid "San Marino" msgstr "San Marino" #: lib/pychess/Utils/isoCountries.py:216 msgid "Senegal" msgstr "Senegal" #: lib/pychess/Utils/isoCountries.py:217 msgid "Somalia" msgstr "Somálsko" #: lib/pychess/Utils/isoCountries.py:218 msgid "Suriname" msgstr "" #: lib/pychess/Utils/isoCountries.py:219 msgid "South Sudan" msgstr "Jižní Súdán" #: lib/pychess/Utils/isoCountries.py:220 msgid "Sao Tome and Principe" msgstr "" #: lib/pychess/Utils/isoCountries.py:221 msgid "El Salvador" msgstr "" #: lib/pychess/Utils/isoCountries.py:222 msgid "Sint Maarten (Dutch part)" msgstr "" #: lib/pychess/Utils/isoCountries.py:223 msgid "Syrian Arab Republic" msgstr "" #: lib/pychess/Utils/isoCountries.py:224 msgid "Swaziland" msgstr "Swazijsko" #: lib/pychess/Utils/isoCountries.py:225 msgid "Turks and Caicos Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:226 msgid "Chad" msgstr "Čad" #: lib/pychess/Utils/isoCountries.py:227 msgid "French Southern Territories" msgstr "" #: lib/pychess/Utils/isoCountries.py:228 msgid "Togo" msgstr "Togo" #: lib/pychess/Utils/isoCountries.py:229 msgid "Thailand" msgstr "Thajsko" #: lib/pychess/Utils/isoCountries.py:230 msgid "Tajikistan" msgstr "Tádžikistán" #: lib/pychess/Utils/isoCountries.py:231 msgid "Tokelau" msgstr "" #: lib/pychess/Utils/isoCountries.py:232 msgid "Timor-Leste" msgstr "" #: lib/pychess/Utils/isoCountries.py:233 msgid "Turkmenistan" msgstr "Turkmenistán" #: lib/pychess/Utils/isoCountries.py:234 msgid "Tunisia" msgstr "Tunisko" #: lib/pychess/Utils/isoCountries.py:235 msgid "Tonga" msgstr "" #: lib/pychess/Utils/isoCountries.py:237 msgid "Turkey" msgstr "Turecko" #: lib/pychess/Utils/isoCountries.py:238 msgid "Trinidad and Tobago" msgstr "Trinidad a Tobago" #: lib/pychess/Utils/isoCountries.py:239 msgid "Tuvalu" msgstr "Tuvalu" #: lib/pychess/Utils/isoCountries.py:240 msgid "Taiwan (Province of China)" msgstr "" #: lib/pychess/Utils/isoCountries.py:241 msgid "Tanzania, United Republic of" msgstr "" #: lib/pychess/Utils/isoCountries.py:242 msgid "Ukraine" msgstr "Ukrajina" #: lib/pychess/Utils/isoCountries.py:243 msgid "Uganda" msgstr "Uganda" #: lib/pychess/Utils/isoCountries.py:244 msgid "United States Minor Outlying Islands" msgstr "" #: lib/pychess/Utils/isoCountries.py:245 msgid "United States of America" msgstr "Spojené státy americké" #: lib/pychess/Utils/isoCountries.py:246 msgid "Uruguay" msgstr "Uruguay" #: lib/pychess/Utils/isoCountries.py:247 msgid "Uzbekistan" msgstr "Uzbekistán" #: lib/pychess/Utils/isoCountries.py:248 msgid "Holy See" msgstr "" #: lib/pychess/Utils/isoCountries.py:249 msgid "Saint Vincent and the Grenadines" msgstr "Sv. Vincent a Grenadiny" #: lib/pychess/Utils/isoCountries.py:250 msgid "Venezuela (Bolivarian Republic of)" msgstr "" #: lib/pychess/Utils/isoCountries.py:251 msgid "Virgin Islands (British)" msgstr "Panesnké ostrovy (Britské)" #: lib/pychess/Utils/isoCountries.py:252 msgid "Virgin Islands (U.S.)" msgstr "Panenské ostrovy (U.S.)" #: lib/pychess/Utils/isoCountries.py:253 msgid "Viet Nam" msgstr "Vietnam" #: lib/pychess/Utils/isoCountries.py:254 msgid "Vanuatu" msgstr "Vanuatu" #: lib/pychess/Utils/isoCountries.py:255 msgid "Wallis and Futuna" msgstr "" #: lib/pychess/Utils/isoCountries.py:256 msgid "Samoa" msgstr "Samoa" #: lib/pychess/Utils/isoCountries.py:257 msgid "Yemen" msgstr "Jemen" #: lib/pychess/Utils/isoCountries.py:258 msgid "Mayotte" msgstr "" #: lib/pychess/Utils/isoCountries.py:260 msgid "South Africa" msgstr "Jižní Afrika (Jihoafrická republika)" #: lib/pychess/Utils/isoCountries.py:261 msgid "Zambia" msgstr "Zambie" #: lib/pychess/Utils/isoCountries.py:262 msgid "Zimbabwe" msgstr "Zimbabwe" #: lib/pychess/Utils/repr.py:24 msgid "Pawn" msgstr "pěšec" #: lib/pychess/Utils/repr.py:27 msgid "P" msgstr "P" #: lib/pychess/Utils/repr.py:27 msgid "N" msgstr "N" #: lib/pychess/Utils/repr.py:27 lib/pychess/ic/__init__.py:296 msgid "B" msgstr "B" #: lib/pychess/Utils/repr.py:27 msgid "R" msgstr "R" #: lib/pychess/Utils/repr.py:27 msgid "Q" msgstr "Q" #: lib/pychess/Utils/repr.py:27 msgid "K" msgstr "K" #: lib/pychess/Utils/repr.py:30 msgid "The game ended in a draw" msgstr "Hra skočila remízou" #: lib/pychess/Utils/repr.py:31 #, python-format msgid "%(white)s won the game" msgstr "%(white)s vyhrál hru" #: lib/pychess/Utils/repr.py:32 #, python-format msgid "%(black)s won the game" msgstr "%(black)s vyhrál hru" #: lib/pychess/Utils/repr.py:33 msgid "The game has been killed" msgstr "Hra byla zabita" #: lib/pychess/Utils/repr.py:34 msgid "The game has been adjourned" msgstr "Hra byla odložena" #: lib/pychess/Utils/repr.py:35 msgid "The game has been aborted" msgstr "Hra byla přerušena" #: lib/pychess/Utils/repr.py:36 msgid "Unknown game state" msgstr "Neznámý stav hry" #: lib/pychess/Utils/repr.py:37 msgid "Game cancelled" msgstr "Hra zrušena" #: lib/pychess/Utils/repr.py:42 msgid "Because neither player has sufficient material to mate" msgstr "Protože žádný z hráčů nemá dost materiálu na to, aby dal mat" #: lib/pychess/Utils/repr.py:44 msgid "Because the same position was repeated three times in a row" msgstr "Protože tatáž pozice byla zopakována třikrát po sobě v řadě" #: lib/pychess/Utils/repr.py:45 msgid "Because the last 50 moves brought nothing new" msgstr "Protože posledních padesát tahů nepřineslo nic nového" #: lib/pychess/Utils/repr.py:46 msgid "Because both players ran out of time" msgstr "Protože oběma hráčům nezůstal žádný čas" #: lib/pychess/Utils/repr.py:47 #, python-format msgid "Because %(mover)s stalemated" msgstr "Protože %(mover)s je neschopen tahu - patová situace" #: lib/pychess/Utils/repr.py:48 msgid "Because both players agreed to a draw" msgstr "Protože oba hráči souhlasili s nerozhodným výsledkem - remízou" #: lib/pychess/Utils/repr.py:49 lib/pychess/Utils/repr.py:62 msgid "Because of adjudication by an admin" msgstr "Z rozhodnutí správce" #: lib/pychess/Utils/repr.py:50 msgid "Because the game exceed the max length" msgstr "Protože hra překročila největší možnou délku" #: lib/pychess/Utils/repr.py:52 #, python-format msgid "" "Because %(white)s ran out of time and %(black)s has insufficient material to" " mate" msgstr "Protože %(white)s už nezůstal čas a %(black)s nemá dost materiálu na to, aby dal mat" #: lib/pychess/Utils/repr.py:54 #, python-format msgid "" "Because %(black)s ran out of time and %(white)s has insufficient material to" " mate" msgstr "Protože %(black)s už nezůstal čas a %(white)s nemá dost materiálu na to, aby dal mat" #: lib/pychess/Utils/repr.py:56 msgid "Because both players have the same amount of pieces" msgstr "Protože oběma hráčům zůstal stejný počet figurek" #: lib/pychess/Utils/repr.py:57 msgid "Because both king reached the eight row" msgstr "Protože oba králové dosáhli osmou řadu" #: lib/pychess/Utils/repr.py:58 #, python-format msgid "Because %(loser)s resigned" msgstr "Protože %(loser)s vzdal" #: lib/pychess/Utils/repr.py:59 #, python-format msgid "Because %(loser)s ran out of time" msgstr "Protože %(loser)s nezbyl čas, a tak zemřel z časové tísně" #: lib/pychess/Utils/repr.py:60 #, python-format msgid "Because %(loser)s was checkmated" msgstr "Protože %(loser)s dostal šachmat, a tím pádem skončil" #: lib/pychess/Utils/repr.py:61 #, python-format msgid "Because %(loser)s disconnected" msgstr "Protože %(loser)s byl odpojen" #: lib/pychess/Utils/repr.py:63 #, python-format msgid "Because %(winner)s has fewer pieces" msgstr "Protože %(winner)s má málo figurek" #: lib/pychess/Utils/repr.py:64 #, python-format msgid "Because %(winner)s lost all pieces" msgstr "Protože %(winner)s ztratil všechny figurky" #: lib/pychess/Utils/repr.py:65 #, python-format msgid "Because %(loser)s king exploded" msgstr "Protože %(loser)s král buď vybuchl anebo se rozložil" #: lib/pychess/Utils/repr.py:66 #, python-format msgid "Because %(winner)s king reached the center" msgstr "Protože %(winner)s král dosáhl středu hrací" #: lib/pychess/Utils/repr.py:67 #, python-format msgid "Because %(winner)s was giving check 3 times" msgstr "Protože %(winner)s stál v šachu třikrát" #: lib/pychess/Utils/repr.py:68 #, python-format msgid "Because %(winner)s king reached the eight row" msgstr "" #: lib/pychess/Utils/repr.py:69 #, python-format msgid "Because %(winner)s wiped out white horde" msgstr "" #: lib/pychess/Utils/repr.py:70 msgid "Because a player lost connection" msgstr "Protože hráč ztratil spojení" #: lib/pychess/Utils/repr.py:71 msgid "Because both players agreed to an adjournment" msgstr "Protože oba hráči souhlasili s odložením hry" #: lib/pychess/Utils/repr.py:72 msgid "Because the server was shut down" msgstr "Protože server byl vypnut" #: lib/pychess/Utils/repr.py:74 msgid "" "Because a player lost connection and the other player requested adjournment" msgstr "Protože hráč ztratil spojení a druhý hráč požaduje odložení" #: lib/pychess/Utils/repr.py:76 #, python-format msgid "" "Because %(black)s lost connection to the server and %(white)s requested " "adjournment" msgstr "Protože %(black)s ztratil spojení se serverem a %(white)s požaduje odložení" #: lib/pychess/Utils/repr.py:78 #, python-format msgid "" "Because %(white)s lost connection to the server and %(black)s requested " "adjournment" msgstr "Protože %(white)s ztratil spojení se serverem a %(black)s požaduje odložení" #: lib/pychess/Utils/repr.py:80 #, python-format msgid "Because %(white)s lost connection to the server" msgstr "Protože %(white)s ztratil spojení se serverem" #: lib/pychess/Utils/repr.py:82 #, python-format msgid "Because %(black)s lost connection to the server" msgstr "Protože %(black)s ztratil spojení se serverem" #: lib/pychess/Utils/repr.py:84 msgid "Because of adjudication by an admin. No rating changes have occurred." msgstr "Z rozhodnutí správce. Žádné změny v hodnocení." #: lib/pychess/Utils/repr.py:86 msgid "" "Because both players agreed to abort the game. No rating changes have " "occurred." msgstr "Protože oba hráči souhlasili s přerušením hry. Žádné změny v hodnocení." #: lib/pychess/Utils/repr.py:88 msgid "Because of courtesy by a player. No rating changes have occurred." msgstr "Z důvodu zdvořilosti hráče. Žádné změny v hodnocení." #: lib/pychess/Utils/repr.py:90 msgid "" "Because a player aborted the game. Either player can abort the game without" " the other's consent before the second move. No rating changes have " "occurred." msgstr "Protože hráč přerušil hru. Kterýkoli hráč může hru přerušit bez svolení druhého hráče před druhým tahem. Žádné změny v hodnocení." #: lib/pychess/Utils/repr.py:93 msgid "" "Because a player disconnected and there are too few moves to warrant " "adjournment. No rating changes have occurred." msgstr "Protože se hráč odpojil a je příliš málo tahů na to, aby bylo vynuceno odložení. Žádné změny v hodnocení." #: lib/pychess/Utils/repr.py:95 msgid "Because the server was shut down. No rating changes have occurred." msgstr "Protože server byl vypnut. Žádné změny v hodnocení." #: lib/pychess/Utils/repr.py:96 #, python-format msgid "Because the %(white)s engine died" msgstr "Protože %(white)s stroj vypustil duši" #: lib/pychess/Utils/repr.py:97 #, python-format msgid "Because the %(black)s engine died" msgstr "Protože %(black)s stroj vypustil duši" #: lib/pychess/Utils/repr.py:98 msgid "Because the connection to the server was lost" msgstr "Protože spojení se serverem bylo ztraceno" #: lib/pychess/Utils/repr.py:99 msgid "The reason is unknown" msgstr "Důvod je neznámý" #: lib/pychess/Utils/repr.py:100 msgid "Because practice goal reached" msgstr "" #: lib/pychess/Variants/asean.py:20 msgid "" "ASEAN: http://www.ncf-" "phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" msgstr "ASEAN: http://www.ncf-phil.org/downloadables/2014/May/Asean_chess/Laws_of_ASEAN_Chess_2011_Nov_26.doc" #: lib/pychess/Variants/asean.py:21 msgid "ASEAN" msgstr "ASEAN" #: lib/pychess/Variants/asean.py:42 msgid "Makruk: http://en.wikipedia.org/wiki/Makruk" msgstr "Makruk: http://en.wikipedia.org/wiki/Makruk" #: lib/pychess/Variants/asean.py:43 msgid "Makruk" msgstr "Makruk" #: lib/pychess/Variants/asean.py:70 msgid "Cambodian: http://www.khmerinstitute.org/culture/ok.html" msgstr "Cambodian: http://www.khmerinstitute.org/culture/ok.html" #: lib/pychess/Variants/asean.py:71 msgid "Cambodian" msgstr "Cambodian" #: lib/pychess/Variants/asean.py:98 msgid "" "Ai-Wok: http://www.open-" "aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" msgstr "Ai-Wok: http://www.open-aurec.com/wbforum/viewtopic.php?p=199364&sid=20963a1de2c164050de019e5ed6bf7c4#p199364" #: lib/pychess/Variants/asean.py:99 msgid "Ai-Wok" msgstr "Ai-Wok" #: lib/pychess/Variants/asean.py:127 msgid "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" msgstr "Sittuyin: http://en.wikipedia.org/wiki/Sittuyin" #: lib/pychess/Variants/asean.py:128 msgid "Sittuyin" msgstr "Sittuyin" #: lib/pychess/Variants/asymmetricrandom.py:12 msgid "" "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns, SUBJECT TO THE CONSTRAINT THAT THE BISHOPS ARE BALANCED\n" "* No castling\n" "* Black's arrangement DOES NOT mirrors white's" msgstr "FICS wild/4: http://www.freechess.org/Help/HelpFiles/wild.html\n* Náhodně vybrané figurky (jsou možné dvě královny nebo tři věže)\n* Přesně jeden král každé barvy\n* Figurky umístěny náhodně za pěšci, PŘEDMĚT OMEZENÍ , ŽE STŘELCI JSOU VYVÁŽENI\n* Žádná rošáda\n* Rozmístění černých figurek NEZRCADLÍ rozmístění bílých figurek" #: lib/pychess/Variants/asymmetricrandom.py:18 msgid "Asymmetric Random" msgstr "Nesouměrná náhoda" #: lib/pychess/Variants/atomic.py:15 msgid "FICS atomic: http://www.freechess.org/Help/HelpFiles/atomic.html" msgstr "FICS atomové šachy: http://www.freechess.org/Help/HelpFiles/atomic.html" #: lib/pychess/Variants/atomic.py:16 lib/pychess/ic/FICSObjects.py:58 msgid "Atomic" msgstr "Atomové šachy" #: lib/pychess/Variants/blindfold.py:8 msgid "" "Classic chess rules with hidden figurines\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klasická šachová pravidla se skrytými figurkami\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:10 #: lib/pychess/widgets/newGameDialog.py:341 msgid "Blindfold" msgstr "Šachy na slepo" #: lib/pychess/Variants/blindfold.py:19 msgid "" "Classic chess rules with hidden pawns\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klasická šachová pravidla se skrytými pěšci\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:21 msgid "Hidden pawns" msgstr "Skrytí pěšci" #: lib/pychess/Variants/blindfold.py:30 msgid "" "Classic chess rules with hidden pieces\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klasická šachová pravidla se skrytými figurkami\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:32 msgid "Hidden pieces" msgstr "Skryté hrací figurky" #: lib/pychess/Variants/blindfold.py:41 msgid "" "Classic chess rules with all pieces white\n" "http://en.wikipedia.org/wiki/Blindfold_chess" msgstr "Klasická šachová pravidla se všemi figurkami bílými\nhttp://en.wikipedia.org/wiki/Blindfold_chess" #: lib/pychess/Variants/blindfold.py:43 msgid "All white" msgstr "Všechny bílé" #: lib/pychess/Variants/bughouse.py:10 msgid "FICS bughouse: http://www.freechess.org/Help/HelpFiles/bughouse.html" msgstr "FICS tandemové šachy: http://www.freechess.org/Help/HelpFiles/bughouse.html" #: lib/pychess/Variants/bughouse.py:11 lib/pychess/ic/FICSObjects.py:60 msgid "Bughouse" msgstr "Šachy ve dvou" #: lib/pychess/Variants/corner.py:12 msgid "" "http://brainking.com/en/GameRules?tp=2\n" "* Placement of the pieces on the 1st and 8th row are randomized\n" "* The king is in the right hand corner\n" "* Bishops must start on opposite color squares\n" "* Black's starting position is obtained by rotating white's position 180 degrees around the board's center\n" "* No castling" msgstr "http://brainking.com/en/GameRules?tp=2\n* Umístění figurek na prvním a osmém řádku je náhodné\n* Král je v rohu po pravici\n* Střelci musí začít na polích opačné barvy\n* Začáteční poloha černého je obdržena otočením začáteční polohy bílého o 180 stupňu okolo středu šachovnice\n* Žádná rošáda" #: lib/pychess/Variants/corner.py:18 msgid "Corner" msgstr "Roh" #: lib/pychess/Variants/crazyhouse.py:10 msgid "" "FICS crazyhouse: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" msgstr "FICS dosazovací šachy: http://www.freechess.org/Help/HelpFiles/crazyhouse.html" #: lib/pychess/Variants/crazyhouse.py:11 lib/pychess/ic/FICSObjects.py:62 msgid "Crazyhouse" msgstr "Blázinec" #: lib/pychess/Variants/euroshogi.py:17 msgid "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" msgstr "EuroShogi: http://en.wikipedia.org/wiki/EuroShogi" #: lib/pychess/Variants/euroshogi.py:18 msgid "EuroShogi" msgstr "EuroShogi" #: lib/pychess/Variants/fischerandom.py:13 msgid "" "http://en.wikipedia.org/wiki/Chess960\n" "FICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" msgstr "http://en.wikipedia.org/wiki/Chess960\nFICS wild/fr: http://www.freechess.org/Help/HelpFiles/wild.html" #: lib/pychess/Variants/fischerandom.py:15 msgid "Fischer Random" msgstr "Náhodné šachy Fischer" #: lib/pychess/Variants/giveaway.py:15 msgid "ICC giveaway: https://www.chessclub.com/user/help/Giveaway" msgstr "" #: lib/pychess/Variants/giveaway.py:16 msgid "Giveaway" msgstr "" #: lib/pychess/Variants/horde.py:12 msgid "" "Black have to capture all white pieces to win.\n" "White wants to checkmate as usual.\n" "White pawns on the first rank may move two squares,\n" "similar to pawns on the second rank." msgstr "" #: lib/pychess/Variants/horde.py:16 msgid "Horde" msgstr "" #: lib/pychess/Variants/kingofthehill.py:15 msgid "" "Bringing your king legally to the center (e4, d4, e5, d5) instantly wins the game!\n" "Normal rules apply in other cases and checkmate also ends the game." msgstr "Přivedení vašeho krále do středu (e4, d4, e5, d5) znamená okamžitou výhru ve hře!\nNormální pravidla platí v jiných případech a šachmat hru ukončí také." #: lib/pychess/Variants/kingofthehill.py:17 msgid "King of the hill" msgstr "Král kopce" #: lib/pychess/Variants/knightodds.py:13 msgid "One player starts with one less knight piece" msgstr "Jeden z hráčů začíná s o jednoho jezdce menším počtem figurek" #: lib/pychess/Variants/knightodds.py:14 msgid "Knight odds" msgstr "Možnost tahu jezdcem" #: lib/pychess/Variants/losers.py:13 msgid "FICS losers: http://www.freechess.org/Help/HelpFiles/losers_chess.html" msgstr "FICS loupežníci: http://www.freechess.org/Help/HelpFiles/losers_chess.html" #: lib/pychess/Variants/losers.py:14 lib/pychess/ic/FICSObjects.py:64 msgid "Losers" msgstr "Loupežníci" #: lib/pychess/Variants/normal.py:8 msgid "" "Classic chess rules\n" "http://en.wikipedia.org/wiki/Chess" msgstr "Klasická šachová pravidla\nhttp://en.wikipedia.org/wiki/Chess" #: lib/pychess/Variants/normal.py:10 lib/pychess/widgets/newGameDialog.py:289 msgid "Normal" msgstr "Normální" #: lib/pychess/Variants/pawnodds.py:13 msgid "One player starts with one less pawn piece" msgstr "Jeden z hráčů začíná s o jednoho pěšce menším počtem figurek" #: lib/pychess/Variants/pawnodds.py:14 msgid "Pawn odds" msgstr "Možnost tahu pěšcem" #: lib/pychess/Variants/pawnspassed.py:14 msgid "" "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\n" "White pawns start on 5th rank and black pawns on the 4th rank" msgstr "FICS wild/8a: http://www.freechess.org/Help/HelpFiles/wild.html\nBílí pěšci začínají na páté řadě a černí pěšci na čtvrté řadě" #: lib/pychess/Variants/pawnspassed.py:16 msgid "Pawns Passed" msgstr "Volní pěšci" #: lib/pychess/Variants/pawnspushed.py:14 msgid "" "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\n" "Pawns start on 4th and 5th ranks rather than 2nd and 7th" msgstr "FICS wild/8: http://www.freechess.org/Help/HelpFiles/wild.html\nPěšci začínají na čtvrté a páté řadě spíše než na druhé a sedmé" #: lib/pychess/Variants/pawnspushed.py:16 msgid "Pawns Pushed" msgstr "Posunutí pěšci" #: lib/pychess/Variants/placement.py:12 msgid "" "Pre-chess: " "https://en.wikipedia.org/wiki/List_of_chess_variants#Different_starting_position" msgstr "" #: lib/pychess/Variants/placement.py:13 msgid "Placement" msgstr "Umístění" #: lib/pychess/Variants/queenodds.py:11 msgid "One player starts with one less queen piece" msgstr "Jeden z hráčů začíná bez dámy" #: lib/pychess/Variants/queenodds.py:12 msgid "Queen odds" msgstr "Možnost tahu dámou" #: lib/pychess/Variants/racingkings.py:18 msgid "" "In this game, check is entirely forbidden: not only is it forbidden\n" "to move ones king into check, but it is also forbidden to check the opponents king.\n" "The purpose of the game is to be the first player that moves his king to the eight row.\n" "When white moves their king to the eight row, and black moves directly after that also\n" "their king to the last row, the game is a draw\n" "(this rule is to compensate for the advantage of white that they may move first.)\n" "Apart from the above, pieces move and capture precisely as in normal chess." msgstr "" #: lib/pychess/Variants/racingkings.py:26 msgid "Racing Kings" msgstr "Závodění králů" #: lib/pychess/Variants/randomchess.py:19 msgid "" "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Randomly chosen pieces (two queens or three rooks possible)\n" "* Exactly one king of each color\n" "* Pieces placed randomly behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "FICS wild/3: http://www.freechess.org/Help/HelpFiles/wild.html\n* Náhodně vybrané figurky (jsou možné dvě královny nebo tři věže)\n* Přesně jeden král každé barvy\n* Figurky umístěny náhodně za pěšci\n* Žádná rošáda\n* Rozmístění černých figurek zrcadlí rozmístění bílých figurek" #: lib/pychess/Variants/randomchess.py:25 #: lib/pychess/widgets/TaskerManager.py:167 msgid "Random" msgstr "Náhodné" #: lib/pychess/Variants/rookodds.py:11 msgid "One player starts with one less rook piece" msgstr "Jeden z hráčů začíná s o jednu věž menším počtem figurek" #: lib/pychess/Variants/rookodds.py:12 msgid "Rook odds" msgstr "Možnost tahu věží" #: lib/pychess/Variants/shuffle.py:15 msgid "" "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* Random arrangement of the pieces behind the pawns\n" "* No castling\n" "* Black's arrangement mirrors white's" msgstr "xboard nocastle: http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/2: http://www.freechess.org/Help/HelpFiles/wild.html\n* Figurky umístěny náhodně za pěšci\n* Žádná rošáda\n* Rozmístění černých figurek zrcadlí rozmístění bílých figurek" #: lib/pychess/Variants/shuffle.py:19 lib/pychess/widgets/newGameDialog.py:343 #: lib/pychess/perspectives/fics/SeekChallenge.py:605 msgid "Shuffle" msgstr "Zamíchat" #: lib/pychess/Variants/suicide.py:18 msgid "" "FICS suicide: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" msgstr "FISC loupežnické šachy: http://www.freechess.org/Help/HelpFiles/suicide_chess.html" #: lib/pychess/Variants/suicide.py:19 lib/pychess/ic/FICSObjects.py:66 msgid "Suicide" msgstr "Loupežnické šachy" #: lib/pychess/Variants/theban.py:11 msgid "" "Variant developed by Kai Laskos: " "http://talkchess.com/forum/viewtopic.php?t=40990" msgstr "Varianta vyvinutá Kaiem Laskosem: http://talkchess.com/forum/viewtopic.php?t=40990" #: lib/pychess/Variants/theban.py:12 msgid "Theban" msgstr "Thébský" #: lib/pychess/Variants/threecheck.py:11 msgid "Win by giving check 3 times" msgstr "Výhra po dání šachu třikrát" #: lib/pychess/Variants/threecheck.py:12 msgid "Three-check" msgstr "Tři šachy" #: lib/pychess/Variants/upsidedown.py:11 msgid "" "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\n" "http://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\n" "Pawns start on their 7th rank rather than their 2nd rank!" msgstr "FICS wild/5: http://www.freechess.org/Help/HelpFiles/wild.html\nhttp://en.wikipedia.org/wiki/Chess_variant#Chess_with_different_starting_positions\nPěšci začínají na sedmé řadě spíše než na druhé!" #: lib/pychess/Variants/upsidedown.py:14 msgid "Upside Down" msgstr "Obráceno dolů" #: lib/pychess/Variants/wildcastle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* White has the typical set-up at the start.\n" "* Black's pieces are the same, except that the King and Queen are reversed,\n" "* so they are not on the same files as White's King and Queen.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/0: http://www.freechess.org/Help/HelpFiles/wild.html\n* Bílý má na začátku typické rozmístění.\n* Černé figurky jsou ty samé s výjimkou v tom, že král a královna jsou otočeni,\n* takže se nenachází na stejných místech, jak je to u bílého krále a jeho královny.\n* Rošáda se dělá podobně, jako je tomu u normálních šachů:\n* o-o-o naznačuje velkou rošádu a o-o malou rošádu." #: lib/pychess/Variants/wildcastle.py:18 msgid "Wildcastle" msgstr "Zástupný hrad" #: lib/pychess/Variants/wildcastleshuffle.py:11 msgid "" "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\n" "FICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n" "* In this variant both sides have the same set of pieces as in normal chess.\n" "* The white king starts on d1 or e1 and the black king starts on d8 or e8,\n" "* and the rooks are in their usual positions.\n" "* Bishops are always on opposite colors.\n" "* Subject to these constraints the position of the pieces on their first ranks is random.\n" "* Castling is done similarly to normal chess:\n" "* o-o-o indicates long castling and o-o short castling." msgstr "xboard wildcastle http://home.hccnet.nl/h.g.muller/engine-intf.html#8\nFICS wild/1: http://www.freechess.org/Help/HelpFiles/wild.html\n* V této variantě mají obě strany tytéž figurky, jaké jsou v normálních šachách.\n* Bílý král začíná na d1 nebo e1 a černý král začíná na d8 nebo e8,\n* a věže jsou na jejich obvyklých místech.\n* Střelci jsou vždy na opačných barvách.\n* Při dbaní tohoto zadání jsou umístění figur na jejich první řadě náhodná.\n* Rošáda se dělá podobně jako v normálních šachách:\n* o-o-o znamená velkou rošádu a o-o malou rošádu." #: lib/pychess/Variants/wildcastleshuffle.py:21 msgid "Wildcastle shuffle" msgstr "Zamíchání zástupným hradem" #: lib/pychess/ic/FICSConnection.py:161 msgid "The connection was broken - got \"end of file\" message" msgstr "Spojení bylo přerušeno - obdržena zpráva \"konec souboru\"" #: lib/pychess/ic/FICSConnection.py:162 #, python-format msgid "'%s' is not a registered name" msgstr "'%s' není registrované jméno" #: lib/pychess/ic/FICSConnection.py:163 msgid "" "The entered password was invalid.\n" "If you forgot your password, go to http://www.freechess.org/password to request a new one over email." msgstr "Zadané heslo bylo neplatné.\nPokud jste zapomněl své heslo, jděte na stránky http://www.freechess.org/password a požádejte o nové, které bude zasláno elektronickou poštou." #: lib/pychess/ic/FICSConnection.py:167 #, python-format msgid "Sorry '%s' is already logged in" msgstr "Promiňte '%s' je již přihlášen" #: lib/pychess/ic/FICSConnection.py:169 #, python-format msgid "'%s' is a registered name. If it is yours, type the password." msgstr "'%s' je zaregistrované jméno. Pokud je vaše, zadejte heslo." #: lib/pychess/ic/FICSConnection.py:170 msgid "" "Due to abuse problems, guest connections have been prevented.\n" "You can still register on http://www.freechess.org" msgstr "Kvůli potížím se zneužíváním bylo hostům zabráněno v připojení.\nPořád se ještě můžete zaregistrovat na http://www.freechess.org" #: lib/pychess/ic/FICSConnection.py:190 msgid "Connecting to server" msgstr "Připojení k serveru" #: lib/pychess/ic/FICSConnection.py:210 msgid "Logging on to server" msgstr "Přihlášení k serveru" #: lib/pychess/ic/FICSConnection.py:277 msgid "Setting up environment" msgstr "Nastavení prostředí" #: lib/pychess/ic/FICSObjects.py:32 lib/pychess/ic/FICSObjects.py:44 #, python-format msgid "%(player)s is %(status)s" msgstr "%(player)s je %(status)s" #: lib/pychess/ic/FICSObjects.py:43 msgid "not playing" msgstr "nehraje" #: lib/pychess/ic/FICSObjects.py:68 lib/pychess/ic/__init__.py:209 msgid "Wild" msgstr "Varianty" #: lib/pychess/ic/FICSObjects.py:133 msgid "Online" msgstr "Připojený" #: lib/pychess/ic/FICSObjects.py:135 lib/pychess/ic/FICSObjects.py:161 msgid "Offline" msgstr "Nepřipojený" #: lib/pychess/ic/FICSObjects.py:151 msgid "Available" msgstr "Dostupný" #: lib/pychess/ic/FICSObjects.py:153 msgid "Playing" msgstr "Hraje" #: lib/pychess/ic/FICSObjects.py:159 msgid "Idle" msgstr "Nečinný" #: lib/pychess/ic/FICSObjects.py:163 msgid "Examining" msgstr "Přihlíží" #: lib/pychess/ic/FICSObjects.py:165 msgid "Not Available" msgstr "Nedostupný" #: lib/pychess/ic/FICSObjects.py:167 msgid "Running Simul Match" msgstr "Simultánní partie" #: lib/pychess/ic/FICSObjects.py:169 msgid "In Tournament" msgstr "Na soutěži" #: lib/pychess/ic/FICSObjects.py:336 lib/pychess/ic/FICSObjects.py:541 #: lib/pychess/perspectives/fics/SeekChallenge.py:549 msgid "Unrated" msgstr "Nehodnocený" #: lib/pychess/ic/FICSObjects.py:539 #: lib/pychess/perspectives/fics/ArchiveListPanel.py:55 #: lib/pychess/perspectives/fics/GameListPanel.py:61 #: lib/pychess/perspectives/fics/SeekChallenge.py:359 #: lib/pychess/perspectives/fics/SeekListPanel.py:72 msgid "Rated" msgstr "Hodnoceno" #: lib/pychess/ic/FICSObjects.py:547 #: lib/pychess/perspectives/fics/SeekChallenge.py:344 #, python-format msgid "%d min" msgstr "%d min" #: lib/pychess/ic/FICSObjects.py:549 #, python-format msgid " + %d sec" msgstr " + %d s" #: lib/pychess/ic/FICSObjects.py:567 #, python-format msgid "%(player)s plays %(color)s" msgstr "%(player)s plays %(color)s" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "white" msgstr "Bílý" #: lib/pychess/ic/FICSObjects.py:569 #: lib/pychess/perspectives/fics/SeekListPanel.py:318 msgid "black" msgstr "Černý" #: lib/pychess/ic/FICSObjects.py:617 msgid "This is a continuation of an adjourned match" msgstr "Toto je pokračování přerušené hry" #: lib/pychess/ic/FICSObjects.py:725 msgid "Opponent Rating" msgstr "Hodnocení soupeře" #: lib/pychess/ic/FICSObjects.py:727 msgid "Manual Accept" msgstr "Přijmout ručně" #: lib/pychess/ic/FICSObjects.py:913 msgid "Private" msgstr "Soukromý" #: lib/pychess/ic/ICLogon.py:231 lib/pychess/ic/ICLogon.py:237 msgid "Connection Error" msgstr "Chyba spojení" #: lib/pychess/ic/ICLogon.py:233 msgid "Log on Error" msgstr "Chyba při přihlašování" #: lib/pychess/ic/ICLogon.py:235 msgid "Connection was closed" msgstr "Spojení bylo uzavřeno" #: lib/pychess/ic/ICLogon.py:241 msgid "Address Error" msgstr "Chyba adresy" #: lib/pychess/ic/ICLogon.py:244 msgid "Auto-logout" msgstr "Automatické odhlášení" #: lib/pychess/ic/ICLogon.py:246 msgid "You have been logged out because you were idle more than 60 minutes" msgstr "Byl jste odhlášen, protože jste byl nečinný více jak 60 minut" #: lib/pychess/ic/ICLogon.py:334 msgid "Guest logins disabled by FICS server" msgstr "Přihlášení hostů zakázána serverem FICS" #: lib/pychess/ic/__init__.py:147 msgid "1-minute" msgstr "1 minuta" #: lib/pychess/ic/__init__.py:148 msgid "3-minute" msgstr "3 minuty" #: lib/pychess/ic/__init__.py:149 msgid "5-minute" msgstr "5 minut" #: lib/pychess/ic/__init__.py:150 msgid "15-minute" msgstr "15 minut" #: lib/pychess/ic/__init__.py:151 msgid "45-minute" msgstr "45 minut" #: lib/pychess/ic/__init__.py:152 msgid "Chess960" msgstr "Chess960" #: lib/pychess/ic/__init__.py:154 msgid "Examined" msgstr "Prohlédnuto" #: lib/pychess/ic/__init__.py:155 lib/pychess/ic/__init__.py:156 #: lib/pychess/ic/__init__.py:157 msgid "Other" msgstr "Jiné" #: lib/pychess/ic/__init__.py:228 msgid "Bullet" msgstr "Kulka" #: lib/pychess/ic/__init__.py:273 msgid "Administrator" msgstr "Správce" #: lib/pychess/ic/__init__.py:274 msgid "Blindfold Account" msgstr "Zakrytý účet" #: lib/pychess/ic/__init__.py:276 msgid "Team Account" msgstr "Týmový účet" #: lib/pychess/ic/__init__.py:277 msgid "Unregistered" msgstr "Neregistrovaný" #: lib/pychess/ic/__init__.py:278 msgid "Chess Advisor" msgstr "Šachový poradce" #: lib/pychess/ic/__init__.py:279 msgid "Service Representative" msgstr "Zástupce služby" #: lib/pychess/ic/__init__.py:280 msgid "Tournament Director" msgstr "Ředitel turnaje" #: lib/pychess/ic/__init__.py:281 msgid "Mamer Manager" msgstr "Správce Mamer" #: lib/pychess/ic/__init__.py:282 msgid "Grand Master" msgstr "Velmistr" #: lib/pychess/ic/__init__.py:283 msgid "International Master" msgstr "Mezinárodní mistr" #: lib/pychess/ic/__init__.py:284 msgid "FIDE Master" msgstr "FIDE mistr" #: lib/pychess/ic/__init__.py:285 msgid "Woman Grand Master" msgstr "Velmistryně" #: lib/pychess/ic/__init__.py:286 msgid "Woman International Master" msgstr "Mezinárodní mistryně" #: lib/pychess/ic/__init__.py:287 msgid "Woman FIDE Master" msgstr "Dámské mistrovství FIDE" #: lib/pychess/ic/__init__.py:288 msgid "Dummy Account" msgstr "Smyšlený účet" #: lib/pychess/ic/__init__.py:289 msgid "Candidate Master" msgstr "Uchazeč o místo mistra" #: lib/pychess/ic/__init__.py:290 msgid "FIDE Arbeiter" msgstr "FIDE rozhodčí" #: lib/pychess/ic/__init__.py:291 msgid "National Master" msgstr "Národní mistr" #: lib/pychess/ic/__init__.py:292 msgid "Display Master" msgstr "" #: lib/pychess/ic/__init__.py:296 msgid "C" msgstr "C" #: lib/pychess/ic/__init__.py:296 msgid "T" msgstr "T" #: lib/pychess/ic/__init__.py:296 msgid "U" msgstr "U" #: lib/pychess/ic/__init__.py:296 msgid "CA" msgstr "CA" #: lib/pychess/ic/__init__.py:296 msgid "SR" msgstr "SR" #: lib/pychess/ic/__init__.py:296 msgid "TD" msgstr "TD" #: lib/pychess/ic/__init__.py:296 msgid "TM" msgstr "TM" #: lib/pychess/ic/__init__.py:297 msgid "GM" msgstr "GM" #: lib/pychess/ic/__init__.py:297 msgid "IM" msgstr "IM" #: lib/pychess/ic/__init__.py:297 msgid "FM" msgstr "FM" #: lib/pychess/ic/__init__.py:297 msgid "WGM" msgstr "WGM" #: lib/pychess/ic/__init__.py:297 msgid "WIM" msgstr "WIM" #: lib/pychess/ic/__init__.py:297 msgid "WFM" msgstr "WFM" #: lib/pychess/ic/__init__.py:297 msgid "D" msgstr "D" #: lib/pychess/ic/__init__.py:297 msgid "H" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "CM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "FA" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "NM" msgstr "" #: lib/pychess/ic/__init__.py:298 msgid "DM" msgstr "" #: lib/pychess/perspectives/__init__.py:132 msgid "PyChess was unable to load your panel settings" msgstr "PyChess nebyl schopen nahrát nastavení vašeho panelu" #: lib/pychess/perspectives/__init__.py:134 msgid "" "Your panel settings have been reset. If this problem repeats," " you should report it to the developers" msgstr "" #: lib/pychess/widgets/ChannelsPanel.py:176 msgid "Friends" msgstr "Přátelé" #: lib/pychess/widgets/ChannelsPanel.py:187 msgid "Admin" msgstr "Správce" #: lib/pychess/widgets/ChannelsPanel.py:197 msgid "More channels" msgstr "Více kanálů" #: lib/pychess/widgets/ChannelsPanel.py:205 msgid "More players" msgstr "Více hráčů" #: lib/pychess/widgets/ChannelsPanel.py:215 msgid "Computers" msgstr "Počítače" #: lib/pychess/widgets/ChannelsPanel.py:225 msgid "BlindFold" msgstr "Šachy na slepo" #: lib/pychess/widgets/ChannelsPanel.py:235 msgid "Guests" msgstr "Hosté" #: lib/pychess/widgets/ChatView.py:46 msgid "Observers" msgstr "Pozorovatelé" #: lib/pychess/widgets/ChatView.py:94 msgid "Go on" msgstr "" #: lib/pychess/widgets/ChatView.py:101 lib/pychess/widgets/gamewidget.py:300 msgid "Pause" msgstr "Pozastavit" #: lib/pychess/widgets/ExternalsDialog.py:20 msgid "Ask for permissions" msgstr "Požádat o oprávnění" #: lib/pychess/widgets/ExternalsDialog.py:34 msgid "" "Some of PyChess features needs your permission to download external programs" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:38 msgid "database querying needs scoutfish" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:48 msgid "database opening tree needs chess_db" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:58 msgid "ICC lag compensation needs timestamp" msgstr "" #: lib/pychess/widgets/ExternalsDialog.py:67 msgid "Don't show this dialog on startup." msgstr "Neukazovat tento dialog při spuštění." #: lib/pychess/widgets/InfoPanel.py:88 msgid "No conversation's selected" msgstr "Nebyl vybrán žádný rozhovor" #: lib/pychess/widgets/InfoPanel.py:127 msgid "Loading player data" msgstr "Nahrávají se data hráčů" #: lib/pychess/widgets/InfoPanel.py:175 msgid "Receiving list of players" msgstr "Přijímá se počet hráčů" #: lib/pychess/widgets/LearnInfoBar.py:76 msgid "Your turn." msgstr "Vaše kolo." #: lib/pychess/widgets/LearnInfoBar.py:77 msgid "Hint" msgstr "Rada" #: lib/pychess/widgets/LearnInfoBar.py:78 msgid "Best move" msgstr "Nejlepší tah" #: lib/pychess/widgets/LearnInfoBar.py:85 #, python-format msgid "Well done! %s completed." msgstr "Výborně! %s dokončeno." #: lib/pychess/widgets/LearnInfoBar.py:88 msgid "Well done!" msgstr "Výborně!" #: lib/pychess/widgets/LearnInfoBar.py:89 msgid "Next" msgstr "Další" #: lib/pychess/widgets/LearnInfoBar.py:98 msgid "Continue" msgstr "Pokračovat" #: lib/pychess/widgets/LearnInfoBar.py:107 msgid "Not the best move!" msgstr "Nikoli nejlepší tah!" #: lib/pychess/widgets/LearnInfoBar.py:108 msgid "Retry" msgstr "Zkusit ještě jednou" #: lib/pychess/widgets/LearnInfoBar.py:121 msgid "Cool! Now let see how it goes in the main line." msgstr "" #: lib/pychess/widgets/LearnInfoBar.py:122 msgid "Back to main line" msgstr "Zpět do hlavního řádku" #: lib/pychess/widgets/LogDialog.py:21 msgid "PyChess Information Window" msgstr "Okno s informacemi" #: lib/pychess/widgets/LogDialog.py:200 lib/pychess/widgets/LogDialog.py:205 msgid "of" msgstr " " #: lib/pychess/widgets/TaskerManager.py:306 #: lib/pychess/perspectives/learn/LecturesPanel.py:17 msgid "Lectures" msgstr "Přednášky" #: lib/pychess/widgets/TaskerManager.py:307 #: lib/pychess/perspectives/learn/LessonsPanel.py:20 msgid "Lessons" msgstr "Vyučovací hodiny" #: lib/pychess/widgets/TaskerManager.py:308 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:22 msgid "Puzzles" msgstr "Hlavolamy" #: lib/pychess/widgets/TaskerManager.py:309 #: lib/pychess/perspectives/learn/EndgamesPanel.py:21 msgid "Endgames" msgstr "Koncovky" #: lib/pychess/widgets/ViewsPanel.py:33 msgid "You have opened no conversations yet" msgstr "Ještě jste nezačal žádný rozhovor" #: lib/pychess/widgets/ViewsPanel.py:68 msgid "Only registered users may talk to this channel" msgstr "Jen přihlášení uživatelé mohou mluvit na tomto kanálu" #: lib/pychess/widgets/analyzegameDialog.py:96 msgid "Game analyzing in progress..." msgstr "Probíhá rozbor hry..." #: lib/pychess/widgets/analyzegameDialog.py:97 msgid "Do you want to abort it?" msgstr "Chcete jej přerušit?" #: lib/pychess/widgets/analyzegameDialog.py:107 #: lib/pychess/widgets/gamewidget.py:173 lib/pychess/widgets/gamewidget.py:295 msgid "Abort" msgstr "Přerušit" #: lib/pychess/widgets/enginesDialog.py:43 msgid "You have unsaved changes. Do you want to save before leaving?" msgstr "Máte neuložené změny. Chcete je před odchodem uložit?" #: lib/pychess/widgets/enginesDialog.py:150 msgid "Option" msgstr "Volba" #: lib/pychess/widgets/enginesDialog.py:151 #: lib/pychess/widgets/gameinfoDialog.py:126 msgid "Value" msgstr "Hodnota" #: lib/pychess/widgets/enginesDialog.py:185 msgid "Select engine" msgstr "Vybrat stroj" #: lib/pychess/widgets/enginesDialog.py:190 msgid "Executable files" msgstr "Spustitelné soubory" #: lib/pychess/widgets/enginesDialog.py:217 #: lib/pychess/widgets/enginesDialog.py:247 #: lib/pychess/widgets/enginesDialog.py:300 #: lib/pychess/widgets/enginesDialog.py:325 #, python-format msgid "Unable to add %s" msgstr "Nelze přidat %s" #: lib/pychess/widgets/enginesDialog.py:218 msgid "The engine is already installed under the same name" msgstr "Stroj je již nainstalován pod stejným názvem" #: lib/pychess/widgets/enginesDialog.py:248 msgid " is not installed" msgstr "nenainstalováno" #: lib/pychess/widgets/enginesDialog.py:259 #, python-format msgid "%s is not marked executable in the filesystem" msgstr "" #: lib/pychess/widgets/enginesDialog.py:261 #, python-format msgid "Try chmod a+x %s" msgstr "Zkusit chmod a+x %s" #: lib/pychess/widgets/enginesDialog.py:302 #: lib/pychess/widgets/enginesDialog.py:326 msgid "There is something wrong with this executable" msgstr "S tímto spustitelným souborem je něco v nepořádku" #: lib/pychess/widgets/enginesDialog.py:347 msgid "Choose a folder" msgstr "" #: lib/pychess/widgets/enginesDialog.py:382 #: lib/pychess/perspectives/database/__init__.py:480 msgid "Import" msgstr "Zavést" #: lib/pychess/widgets/enginesDialog.py:383 msgid "File name" msgstr "" #: lib/pychess/widgets/enginesDialog.py:458 msgid "Select working directory" msgstr "Vybrat pracovní adresář" #: lib/pychess/widgets/enginesDialog.py:649 msgid "Do you really want to restore the default options of the engine ?" msgstr "Opravdu chcete obnovit výchozí volby stroje?" #: lib/pychess/widgets/gameinfoDialog.py:61 msgid "New" msgstr "Nový" #: lib/pychess/widgets/gameinfoDialog.py:121 msgid "Tag" msgstr "Značka" #: lib/pychess/widgets/gameinfoDialog.py:198 msgid "Pick a date" msgstr "Zvolte datum" #: lib/pychess/widgets/gamenanny.py:112 #, python-format msgid " invalid engine move: %s" msgstr " neplatný tah stroje: %s" #: lib/pychess/widgets/gamenanny.py:133 msgid "Offer Rematch" msgstr "Nabídnout odvetu" #: lib/pychess/widgets/gamenanny.py:135 lib/pychess/widgets/gamenanny.py:149 #, python-format msgid "Observe %s" msgstr "Pozorovat %s" #: lib/pychess/widgets/gamenanny.py:173 msgid "Play Rematch" msgstr "Hrát odvetu" #: lib/pychess/widgets/gamenanny.py:176 msgid "Undo one move" msgstr "Zpět o jeden krok" #: lib/pychess/widgets/gamenanny.py:179 msgid "Undo two moves" msgstr "Zpět o dva tahy" #: lib/pychess/widgets/gamenanny.py:254 msgid "You sent an abort offer" msgstr "Poslal jste nabídku na přerušení" #: lib/pychess/widgets/gamenanny.py:256 msgid "You sent an adjournment offer" msgstr "Poslal jste nabídku na odložení" #: lib/pychess/widgets/gamenanny.py:258 msgid "You sent a draw offer" msgstr "Poslal jste nabídku na remízu" #: lib/pychess/widgets/gamenanny.py:260 msgid "You sent a pause offer" msgstr "Poslal jste nabídku na pozastavení" #: lib/pychess/widgets/gamenanny.py:262 msgid "You sent a resume offer" msgstr "Poslal jste nabídku na pokračování" #: lib/pychess/widgets/gamenanny.py:264 msgid "You sent an undo offer" msgstr "Poslal jste nabídku na vzetí zpět" #: lib/pychess/widgets/gamenanny.py:266 msgid "You asked your opponent to move" msgstr "Vyzval jste svého soupeře k tahu" #: lib/pychess/widgets/gamenanny.py:268 msgid "You sent flag call" msgstr "Poslal jste žádost o vítězství v čase" #: lib/pychess/widgets/gamenanny.py:289 #, python-format msgid "Engine, %s, has died" msgstr "Stroj, %s, spadl" #: lib/pychess/widgets/gamenanny.py:291 msgid "" "PyChess has lost connection to the engine, probably because it has died.\n" "\n" " You can try to start a new game with the engine, or try to play against another one." msgstr "PyChess ztratil spojení se strojem, pravděpodobně spadl.\n\nMůžete se pokusit o spuštění nové hry se strojem, nebo zkusit hrát proti jinému." #: lib/pychess/widgets/gamewidget.py:175 msgid "" "This game can be automatically aborted without rating loss because" " there has not yet been two moves made" msgstr "Tuto hru lze automaticky přerušit beze ztráty hodnocení, protože ještě nebyly provedeny dva tahy" #: lib/pychess/widgets/gamewidget.py:178 msgid "Offer Abort" msgstr "Nabídnout přerušení" #: lib/pychess/widgets/gamewidget.py:180 msgid "" "Your opponent must agree to abort the game because there" " has been two or more moves made" msgstr "Váš soupeř musí souhlasit s přerušením hry, protože byly provedeny dva nebo více tahů" #: lib/pychess/widgets/gamewidget.py:198 msgid "This game can not be adjourned because one or both players are guests" msgstr "Tuto hru nelze odložit, protože jeden nebo oba dva hráči jsou hosty" #: lib/pychess/widgets/gamewidget.py:216 msgid "Claim Draw" msgstr "Dožadovat se remízy" #: lib/pychess/widgets/gamewidget.py:301 msgid "Resume" msgstr "Pokračovat" #: lib/pychess/widgets/gamewidget.py:303 msgid "Offer Pause" msgstr "Nabídnout pozastavení" #: lib/pychess/widgets/gamewidget.py:304 msgid "Offer Resume" msgstr "Nabídnout pokračování" #: lib/pychess/widgets/gamewidget.py:308 msgid "Undo" msgstr "Zpět" #: lib/pychess/widgets/gamewidget.py:310 msgid "Offer Undo" msgstr "Nabídnout vzetí tahu zpět" #: lib/pychess/widgets/gamewidget.py:553 msgid " has lagged for 30 seconds" msgstr "je pozadu o 30 sekund" #: lib/pychess/widgets/gamewidget.py:571 msgid " is lagging heavily but hasn't disconnected" msgstr "je těžce pozadu, ale neodpojil se" #: lib/pychess/widgets/gamewidget.py:572 msgid "Continue to wait for opponent, or try to adjourn the game?" msgstr "Pokračovat v čekání na soupeře, nebo se pokusit o odložení hry?" #: lib/pychess/widgets/gamewidget.py:584 msgid "Wait" msgstr "Čekat" #: lib/pychess/widgets/gamewidget.py:585 msgid "Adjourn" msgstr "Odložit" #: lib/pychess/widgets/gamewidget.py:651 msgid "Jump to initial position" msgstr "Jít zpět na počáteční stav hry" #: lib/pychess/widgets/gamewidget.py:655 msgid "Step back one move" msgstr "O tah zpět" #: lib/pychess/widgets/gamewidget.py:659 msgid "Go back to the main line" msgstr "Jít zpět do hlavního řádku" #: lib/pychess/widgets/gamewidget.py:663 msgid "Go back to the parent line" msgstr "" #: lib/pychess/widgets/gamewidget.py:667 msgid "Step forward one move" msgstr "O tah vpřed" #: lib/pychess/widgets/gamewidget.py:671 msgid "Jump to latest position" msgstr "Jít na poslední stav hry" #: lib/pychess/widgets/gamewidget.py:675 msgid "Find postion in current database" msgstr "Najít pozici v nynější databázi" #: lib/pychess/widgets/gamewidget.py:679 msgid "Save arrows/circles" msgstr "" #: lib/pychess/widgets/gamewidget.py:716 msgid "No database is currently opened." msgstr "" #: lib/pychess/widgets/gamewidget.py:730 msgid "The position does not exist in the database." msgstr "" #: lib/pychess/widgets/gamewidget.py:740 msgid "An approximate position has been found. Do you want to display it ?" msgstr "" #: lib/pychess/widgets/newGameDialog.py:82 msgid "Human Being" msgstr "Člověk" #: lib/pychess/widgets/newGameDialog.py:247 msgid "Minutes:" msgstr "Minuty:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Moves:" msgstr "Tahy:" #: lib/pychess/widgets/newGameDialog.py:251 msgid "Gain:" msgstr "Přírustek:" #: lib/pychess/widgets/newGameDialog.py:284 msgid "Classical" msgstr "Klasická" #: lib/pychess/widgets/newGameDialog.py:288 msgid "Rapid" msgstr "Rychle" #: lib/pychess/widgets/newGameDialog.py:292 #, python-format msgid "%(name)s %(minutes)d min / %(moves)d moves %(duration)s" msgstr "%(name)s %(minutes)d minut/ %(moves)d tahů %(duration)s" #: lib/pychess/widgets/newGameDialog.py:300 #, python-format msgid "%(name)s %(minutes)d min %(sign)s %(gain)d sec/move %(duration)s" msgstr "%(name)s %(minutes)d minut %(sign)s %(gain)d s/tah %(duration)s" #: lib/pychess/widgets/newGameDialog.py:308 #, python-format msgid "%(name)s %(minutes)d min %(duration)s" msgstr "%(name)s %(minutes)d minut %(duration)s" #: lib/pychess/widgets/newGameDialog.py:316 #, python-format msgid "Estimated duration : %(min)d - %(max)d minutes" msgstr "" #: lib/pychess/widgets/newGameDialog.py:342 msgid "Odds" msgstr "Možnosti" #: lib/pychess/widgets/newGameDialog.py:344 #: lib/pychess/perspectives/fics/SeekChallenge.py:606 msgid "Other (standard rules)" msgstr "Jiné (standardní pravidla)" #: lib/pychess/widgets/newGameDialog.py:346 #: lib/pychess/perspectives/fics/SeekChallenge.py:608 msgid "Other (non standard rules)" msgstr "Jiné (nestandardní pravidla)" #: lib/pychess/widgets/newGameDialog.py:347 msgid "Asian variants" msgstr "Asijské varianty" #: lib/pychess/widgets/newGameDialog.py:381 msgid " chess" msgstr " šach" #: lib/pychess/widgets/newGameDialog.py:733 msgid "Setup Position" msgstr "Nastavit postavení" #: lib/pychess/widgets/newGameDialog.py:820 msgid "Type or paste PGN game or FEN positions here" msgstr "Napište nebo vložte hru PGN nebo polohy FEN zde" #: lib/pychess/widgets/newGameDialog.py:864 msgid "Enter Game" msgstr "Vsoupit do hry" #: lib/pychess/widgets/preferencesDialog.py:155 msgid "Select book file" msgstr "Vybrat soubor s knihou" #: lib/pychess/widgets/preferencesDialog.py:162 msgid "Opening books" msgstr "Zahajovací knihy" #: lib/pychess/widgets/preferencesDialog.py:194 msgid "Select Gaviota TB path" msgstr "Vybrat cestu k tabulkám od Gavioty" #: lib/pychess/widgets/preferencesDialog.py:396 msgid "Open Sound File" msgstr "Otevřít zvukový soubor" #: lib/pychess/widgets/preferencesDialog.py:406 msgid "Sound files" msgstr "Zvukové soubory" #: lib/pychess/widgets/preferencesDialog.py:413 msgid "No sound" msgstr "Bez zvuku" #: lib/pychess/widgets/preferencesDialog.py:414 msgid "Beep" msgstr "Pípnutí" #: lib/pychess/widgets/preferencesDialog.py:415 msgid "Select sound file..." msgstr "Vyberte zvukový soubor..." #: lib/pychess/widgets/preferencesDialog.py:554 msgid "Undescribed panel" msgstr "Nepopsaný panel" #: lib/pychess/widgets/preferencesDialog.py:644 msgid "Select background image file" msgstr "Vybrat soubor obrázku s pozadím" #: lib/pychess/widgets/preferencesDialog.py:651 msgid "Images" msgstr "Obrázky" #: lib/pychess/widgets/preferencesDialog.py:838 msgid "Select auto save path" msgstr "Vybrat cestu pro automatické uložení" #: lib/pychess/widgets/tipOfTheDay.py:24 msgid "" "PyChess is an open-source chess application that can be enhanced by any " "chess enthusiasts: bug reports, source code, documentation, translations, " "feature requests, user assistance... Let's get in touch at " "http://www.pychess.org" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:25 msgid "" "PyChess supports a wide range of chess engines, variants, Internet servers " "and lessons. It is a perfect desktop application to increase your chess " "skills very conveniently." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:26 msgid "" "The releases of PyChess hold the name of historical world chess champions. " "Do you know the name of the current world chess champion?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:27 msgid "" "Do you know that you can help to translate PyChess into your language, " "Help > Translate PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:28 msgid "" "A game is made of an opening, a middle-game and an end-game. PyChess is able" " to train you thanks to its opening book, its supported chess engines and " "its training module." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:31 msgid "" "Do you know that it is possible to finish a chess game in just 2 turns?" msgstr "Víte, že je možné šachovou hru za dva tahy?" #: lib/pychess/widgets/tipOfTheDay.py:32 msgid "Do you know that a knight is better placed in the center of the board?" msgstr "Víte že král je lépe umístěn v centru šachovnice?" #: lib/pychess/widgets/tipOfTheDay.py:33 msgid "" "Do you know that moving the queen at the very beginning of a game does not " "offer any particular advantage?" msgstr "Víte že hrát s královnou na úplném začátku hry nepřináší žádné konkrétní výhody?" #: lib/pychess/widgets/tipOfTheDay.py:34 msgid "" "Do you know that having two-colored bishops working together is very " "powerful?" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:35 msgid "Do you know that the rooks are generally engaged late in game?" msgstr "Víte že se věže obvykle zapojují do hry až v její pozdní části?" #: lib/pychess/widgets/tipOfTheDay.py:36 msgid "" "Do you know that the king can move across two cells under certain " "conditions? This is called castling." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:37 msgid "" "Do you know that the number of possible chess games exceeds the number of " "atoms in the Universe?" msgstr "Víte, že počet možných šachových her překračuje počet atomů ve vesmíru?" #: lib/pychess/widgets/tipOfTheDay.py:40 msgid "" "You can start a new game by Game > New Game, then choose the " "Players, Time Control and Chess Variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:41 msgid "" "You can choose from 20 different difficulties to play against the computer. " "It will mainly affect the available time to think." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:42 msgid "" "The level 20 gives a full autonomy to the chess engine in managing its own " "time during the game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:43 msgid "" "To save a game Game > Save Game As, give the filename and " "choose where you want to be saved. At the bottom choose extension type of " "the file, and Save." msgstr "Pro uložení hry zvolte v nabídce Hra -> Uložit hru jako. Napište název souboru a vyberte, kam se má hra uložit. Dole zvolte typ přípony souboru a stiskněte Uložit." #: lib/pychess/widgets/tipOfTheDay.py:44 msgid "" "Calling the flag is the termination of the current game when the time of " "your opponent is over. If the clock is with you, click on the menu item " "Actions > Call Flag to claim the victory." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:45 msgid "" "Press Ctrl+Z to ask your opponent to rollback the last played move. " "Against a computer or for an unrated game, undoing is generally " "automatically accepted." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:46 msgid "" "To play on Fullscreen mode, just press the key F11. Press it " "again to exit this mode." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:47 msgid "" "Many sounds are emitted by PyChess while you are playing if you activate " "them in the preferences: Settings > Preferences > Sound " "tab > Use sounds in PyChess." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:48 msgid "" "Do you know that a game is generally finished after 20 to 40 moves per " "player? The estimated duration of a game is displayed when you configure a " "new game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:49 msgid "" "The standard file format to manage chess games is PGN. It stands for " "Portable Game Notation. Do not get confused with PNG which is a usual file " "format to store drawings and pictures." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:50 msgid "" "You can share a position by using the exchange format FEN, which " "stands for Forsyth-Edwards Notation. This format is also adapted for the " "chess variants." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:53 msgid "" "You must define a chess engine in the preferences in order to use the local " "chess analysis. By default, PyChess recommends you to use the free engine " "named Stockfish which is renown to be the strongest engine in the world." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:54 msgid "" "Hint mode analyzes your game to show you the best current move. " "Enable it with the shortcut Ctrl+H from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:55 msgid "" "Spy mode analyzes the threats, so the best move that your opponent " "would play as if it was his turn. Enable it with the shortcut Ctrl+Y " "from the menu View." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:56 msgid "" "Ponder is an option available in some chess engines that allows " "thinking when it is not the turn of the engine. It will then consume more " "resources on your computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:57 msgid "" "MultiPV is an option of some chess engines that shows other possible " "good moves. They are displayed in the panel Hints. The value can be " "adapted from that panel with a double-click on the displayed figure." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:58 msgid "" "You cannot use the local chess analysis mode while you are playing an " "unterminated game over Internet. Else you would be a cheater." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:59 msgid "" "An evaluation of +2.3 is an advantage for White of more than 2 pawns, even " "if White and Black have the same number of pawns. The position of all the " "pieces and their mobility are some of the factors that contribute to the " "score." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:60 msgid "" "PyChess includes a chess engine that offers an evaluation for any chess " "position. Winning against PyChess engine is a coherent way to succeed in " "chess and improve your skills." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:61 msgid "" "The rating is your strength: 1500 is a good average player, 2000 is a " "national champion and 2800 is the best human chess champion. From the " "properties of the game in the menu Game, the difference of points " "gives you your chance to win and the projected evolution of your rating. If " "your rating is provisional, append a question mark '?' to your level, like " "1399?." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:62 msgid "" "Several rating systems exist to evaluate your skills in chess. The most " "common one is ELO (from its creator Arpad Elo) established on 1970. " "Schematically, the concept is to engage +/- 20 points for a game and that " "you will win or lose proportionally to the difference of ELO points you have" " with your opponent." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:63 msgid "" "Each chess engine has its own evaluation function. It is normal to get " "different scores for a same position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:66 msgid "" "The opening book gives you the moves that are considered to be good from a " "theoretical perspective. You are free to play any other legal move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:67 msgid "" "The Gaviota tables are precalculated positions that tell the final " "outcome of the current game in terms of win, loss or draw." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:68 msgid "" "Do you know that your computer is too small to store a 7-piece endgame " "database? That's why the Gaviota tablebase is limited to 5 pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:69 msgid "" "A tablebase can be connected either to PyChess, or to a compatible chess " "engine." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:70 msgid "" "The DTZ is the distance to zero, so the remaining possible moves to " "end into a tie as soon as possible." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:73 msgid "" "The chess variants consist in changing the start position, the rules of the " "game, the types of the pieces... The gameplay is totally modified, so you " "must use dedicated chess engines to play against the computer." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:74 msgid "" "In Chess960, the lines of the main pieces are shuffled in a precise order. " "Therefore, you cannot use the booking book and you should change your " "tactical habits." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:75 msgid "" "When playing crazyhouse chess, the captured pieces change of ownership and " "can reappear on the board at a later turn." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:76 msgid "" "Suicide chess, giveaway chess or antichess are all the same variant: you " "must give your pieces to your opponent by forcing the captures like at " "draughts. The outcome of the game can change completely if you make an " "incorrect move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:77 msgid "" "Playing horde in PyChess consists in destroying a flow of 36 white pawns " "with a normal set of black pieces." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:78 msgid "" "You might be interested in playing King of the hill if you target to place " "your king in the middle of the board, instead of protecting it in a corner " "of the board as usual." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:79 msgid "" "A lot of fun is offered by atomic chess that destroys all the surrounding " "main pieces at each capture move." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:80 msgid "" "The experienced chess players can use blind pieces by starting a new variant" " game." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:83 msgid "" "You should sign up online to play on an Internet chess server, so that you " "can find your games later and see the evolution of your rating. In the " "preferences, PyChess still have the possibility to save your played games " "locally." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:84 msgid "" "The time compensation is a feature that doesn't waste your clock time " "because of the latency of your Internet connection. The module can be " "downloaded from the menu Edit > Externals." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:85 msgid "" "You can play against chess engines on an Internet chess server. Use the " "filter to include or exclude them from the available players." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:86 msgid "" "The communication with an Internet chess server is not standardized. " "Therefore you can only connect to the supported chess servers in PyChess, " "like freechess.org or chessclub.com" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:89 msgid "" "PyChess uses the external module Scoutfish to evaluate the chess databases. " "For example, it is possible to extract the games where some pieces are in " "precise count or positions." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:90 msgid "" "Parser/ChessDB is an external module used by PyChess to show the expected " "outcome for a given position." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:91 msgid "" "SQLite is an internal module used to describe the loaded PGN files, so that " "PyChess can retrieve the games very fast during a search." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:92 msgid "" "PyChess generates 3 information files when a PGN file is opened : .sqlite " "(description), .scout (positions), .bin (book and outcomes). These files can" " be removed manually if necessary." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:95 msgid "" "PyChess uses offline lessons to learn chess. You will be then never " "disappointed if you have no Internet connection." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:96 msgid "" "To start Learning, click on the Book icon available on the welcome " "screen. Or choose the category next to that button to start the activity " "directly." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:97 msgid "" "The lectures are commented games to learn step-by-step the strategy " "and principles of some chess techniques. Just watch and read." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:98 msgid "" "Whatever the number of pawns, an end-game starts when the board is " "made of certain main pieces : 1 rook vs 1 bishop, 1 queen versus 2 rooks, " "etc... Knowing the moves will help you to not miss the checkmate!" msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:99 msgid "" "A puzzle is a set of simple positions classified by theme for which " "you should guess the best moves. It helps you to understand the patterns to " "drive an accurate attack or defense." msgstr "" #: lib/pychess/widgets/tipOfTheDay.py:100 msgid "" "A lesson is a complex study that explains the tactics for a given " "position. It is common to view circles and arrows over the board to focus on" " the behavior of the pieces, the threats, etc..." msgstr "" #: lib/pychess/Utils/lutils/LBoard.py:190 #, python-format msgid "" "FEN needs 6 data fields. \n" "\n" "%s" msgstr "FEN potřebuje 6 datových polí. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:193 #, python-format msgid "" "FEN needs at least 2 data fields in fenstr. \n" "\n" "%s" msgstr "FEN potřebuje 2 datová pole v okně. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:219 #, python-format msgid "" "Needs 7 slashes in piece placement field. \n" "\n" "%s" msgstr "Potřebuje 7 lomítek v poli pro umísťování figur - kamenů. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:223 #, python-format msgid "" "Active color field must be one of w or b. \n" "\n" "%s" msgstr "Činné pole s barvou musí být buď bílé nebo černé. \n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:234 #, python-format msgid "" "Castling availability field is not legal. \n" "\n" "%s" msgstr "Pole pro dostupnost rošády není dovoleno.\n\n%s" #: lib/pychess/Utils/lutils/LBoard.py:238 #, python-format msgid "" "En passant cord is not legal. \n" "\n" "%s" msgstr "Kráčející šňůra není dovolena.\n\n%s" #: lib/pychess/Utils/lutils/lmove.py:302 msgid "invalid promoted piece" msgstr "neplatná proměněná figura" #: lib/pychess/Utils/lutils/lmove.py:318 msgid "the move needs a piece and a cord" msgstr "Tah vyžaduje figurku a pozici" #: lib/pychess/Utils/lutils/lmove.py:380 #, python-format msgid "the captured cord (%s) is incorrect" msgstr "Zaujatá pozice (%s) je neplatná" #: lib/pychess/Utils/lutils/lmove.py:392 msgid "pawn capture without target piece is invalid" msgstr "Zajmutí pěšce bez cílové figurky je neplatné" #: lib/pychess/Utils/lutils/lmove.py:396 #, python-format msgid "the end cord (%s) is incorrect" msgstr "koncová šňůra (%s) je nesprávná" #: lib/pychess/Utils/lutils/strateval.py:32 #: lib/pychess/perspectives/games/commentPanel.py:198 #: lib/pychess/perspectives/games/commentPanel.py:216 msgid "and" msgstr "a" #: lib/pychess/Utils/lutils/strateval.py:50 msgid "draws" msgstr "remízy" #: lib/pychess/Utils/lutils/strateval.py:52 msgid "mates" msgstr "maty" #: lib/pychess/Utils/lutils/strateval.py:57 msgid "puts opponent in check" msgstr "dává soupeři šach" #: lib/pychess/Utils/lutils/strateval.py:82 msgid "improves king safety" msgstr "zlepšuje královu bezpečnost" #: lib/pychess/Utils/lutils/strateval.py:84 msgid "slightly improves king safety" msgstr "mírně zlepšuje královu bezpečnost" #: lib/pychess/Utils/lutils/strateval.py:115 msgid "moves a rook to an open file" msgstr "přesunuje věž do otevřeného postavení" #: lib/pychess/Utils/lutils/strateval.py:117 msgid "moves an rook to a half-open file" msgstr "přesunuje věž do polootevřeného postavení" #: lib/pychess/Utils/lutils/strateval.py:128 #: lib/pychess/Utils/lutils/strateval.py:130 #: lib/pychess/Utils/lutils/strateval.py:133 #: lib/pychess/Utils/lutils/strateval.py:135 #, python-format msgid "moves bishop into fianchetto: %s" msgstr "přesunuje střelce do fianchetto: %s" #: lib/pychess/Utils/lutils/strateval.py:142 #, python-format msgid "promotes a Pawn to a %s" msgstr "proměňuje pěšce na %s" #: lib/pychess/Utils/lutils/strateval.py:145 msgid "castles" msgstr "udělal rošádu" #: lib/pychess/Utils/lutils/strateval.py:170 msgid "takes back material" msgstr "bere zpět figurku" #: lib/pychess/Utils/lutils/strateval.py:174 #: lib/pychess/Utils/lutils/strateval.py:182 msgid "sacrifices material" msgstr "obětuje figurku" #: lib/pychess/Utils/lutils/strateval.py:176 msgid "exchanges material" msgstr "vyměňuje figurku" #: lib/pychess/Utils/lutils/strateval.py:178 msgid "captures material" msgstr "zajímá figurku" #: lib/pychess/Utils/lutils/strateval.py:305 #, python-format msgid "rescues a %s" msgstr "vyprošťuje %s" #: lib/pychess/Utils/lutils/strateval.py:308 #, python-format msgid "threatens to win material by %s" msgstr "hrozí sebráním figurky pomocí %s" #: lib/pychess/Utils/lutils/strateval.py:310 #, python-format msgid "increases the pressure on %s" msgstr "tlačí na %s" #: lib/pychess/Utils/lutils/strateval.py:312 #, python-format msgid "defends %s" msgstr "brání %s" #: lib/pychess/Utils/lutils/strateval.py:351 #, python-format msgid "pins an enemy %(oppiece)s on the %(piece)s at %(cord)s" msgstr "tiskne nepřítele %(oppiece)s na %(piece)s na %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:384 #, python-format msgid "White has a new piece in outpost: %s" msgstr "Bílý má novou figurku na: %s" #: lib/pychess/Utils/lutils/strateval.py:393 #, python-format msgid "Black has a new piece in outpost: %s" msgstr "Černý má novou figurku na: %s" #: lib/pychess/Utils/lutils/strateval.py:435 #, python-format msgid "%(color)s has a new passed pawn on %(cord)s" msgstr "%(color)s má nového prošlého pěšce na %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:492 msgid "half-open" msgstr "polootevřené" #: lib/pychess/Utils/lutils/strateval.py:494 #, python-format msgid "in the %(x)s%(y)s file" msgstr "v postavení %(x)s%(y)s" #: lib/pychess/Utils/lutils/strateval.py:497 #, python-format msgid "in the %(x)s%(y)s files" msgstr "v postaveních %(x)s%(y)s" #: lib/pychess/Utils/lutils/strateval.py:501 #, python-format msgid "%(color)s got a double pawn %(place)s" msgstr "%(color)s má zdvojené pěšce %(place)s" #: lib/pychess/Utils/lutils/strateval.py:503 #, python-format msgid "%(color)s got new double pawns %(place)s" msgstr "%(color)s má nové zdvojené pěšce %(place)s" #: lib/pychess/Utils/lutils/strateval.py:512 #, python-format msgid "%(color)s got an isolated pawn in the %(x)s file" msgid_plural "%(color)s got isolated pawns in the %(x)s files" msgstr[0] "%(color)s má odloučeného pěšce v postavení %(x)s" msgstr[1] "%(color)s má odloučené pěšce v %(x)s postaveních" msgstr[2] "%(color)s má odloučené pěšce v %(x)s postaveních" msgstr[3] "%(color)s má odloučené pěšce v %(x)s postaveních" #: lib/pychess/Utils/lutils/strateval.py:520 #, python-format msgid "%s moves pawns into stonewall formation" msgstr "%s přesunuje pěšce do útvaru kamenná zeď" #: lib/pychess/Utils/lutils/strateval.py:537 #: lib/pychess/Utils/lutils/strateval.py:547 #, python-format msgid "%s can no longer castle" msgstr "%s už nemůže udělat rošádu" #: lib/pychess/Utils/lutils/strateval.py:540 #: lib/pychess/Utils/lutils/strateval.py:550 #, python-format msgid "%s can no longer castle in queenside" msgstr "%s už nemůže udělat velkou rošádu" #: lib/pychess/Utils/lutils/strateval.py:543 #: lib/pychess/Utils/lutils/strateval.py:553 #, python-format msgid "%s can no longer castle in kingside" msgstr "%s už nemůže udělat malou rošádu" #: lib/pychess/Utils/lutils/strateval.py:588 #, python-format msgid "%(opcolor)s has a new trapped bishop on %(cord)s" msgstr "%(opcolor)s má nového střelce v šachu na %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:613 #, python-format msgid "develops a pawn: %s" msgstr "jde pěšcem dopředu: %s" #: lib/pychess/Utils/lutils/strateval.py:615 #, python-format msgid "brings a pawn closer to the backrow: %s" msgstr "jde pěšcem dopředu blíže k zadní řadě: %s" #: lib/pychess/Utils/lutils/strateval.py:632 #, python-format msgid "brings a %(piece)s closer to enemy king: %(cord)s" msgstr "posunuje %(piece)s blíže k nepřátelskému králi: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:637 #, python-format msgid "develops a %(piece)s: %(cord)s" msgstr "posunuje %(piece)s: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:657 #, python-format msgid "places a %(piece)s more active: %(cord)s" msgstr "umísťuje %(piece)s aktivněji: %(cord)s" #: lib/pychess/Utils/lutils/strateval.py:686 msgid "White should do pawn storm in right" msgstr "Bílý by měl provést útok pěšáků na pravém křídle" #: lib/pychess/Utils/lutils/strateval.py:689 msgid "Black should do pawn storm in left" msgstr "Černý by měl provést útok pěšáků na levém křídle" #: lib/pychess/Utils/lutils/strateval.py:693 msgid "White should do pawn storm in left" msgstr "Bílý by měl provést útok pěšáků na levém křídle" #: lib/pychess/Utils/lutils/strateval.py:696 msgid "Black should do pawn storm in right" msgstr "Černý by měl provést útok pěšáků na pravém křídle" #: lib/pychess/Utils/lutils/strateval.py:723 msgid "Black has a rather cramped position" msgstr "Černý má poněkud stísněnou pozici" #: lib/pychess/Utils/lutils/strateval.py:725 msgid "Black has a slightly cramped position" msgstr "Černý má mírně stísněnou pozici" #: lib/pychess/Utils/lutils/strateval.py:727 msgid "White has a rather cramped position" msgstr "Bílý má poněkud stísněnou pozici" #: lib/pychess/Utils/lutils/strateval.py:729 msgid "White has a slightly cramped position" msgstr "Bílý má mírně stísněnou pozici" #: lib/pychess/ic/managers/ChatManager.py:202 #: lib/pychess/ic/managers/ICCChatManager.py:44 msgid "Shout" msgstr "Zvolat" #: lib/pychess/ic/managers/ChatManager.py:203 #: lib/pychess/ic/managers/ICCChatManager.py:45 msgid "Chess Shout" msgstr "Zakřičet šach" #: lib/pychess/ic/managers/ChatManager.py:214 #, python-format msgid "Unofficial channel %d" msgstr "Neoficiální kanál %d" #: lib/pychess/perspectives/database/FilterPanel.py:26 msgid "Filters" msgstr "Filtry" #: lib/pychess/perspectives/database/FilterPanel.py:30 msgid "Filters panel can filter game list by various conditions" msgstr "Filtrovací panel může filtrovat seznam her podle různých podmínek" #: lib/pychess/perspectives/database/FilterPanel.py:118 msgid "Edit selected filter" msgstr "Upravit vybraný filtr" #: lib/pychess/perspectives/database/FilterPanel.py:123 msgid "Remove selected filter" msgstr "Odstranit vybraný filtr" #: lib/pychess/perspectives/database/FilterPanel.py:128 msgid "Add new filter" msgstr "Přidat nový filtr" #: lib/pychess/perspectives/database/FilterPanel.py:133 msgid "Seq" msgstr "Posl" #: lib/pychess/perspectives/database/FilterPanel.py:135 msgid "" "Create new squence where listed conditions may be satisfied at different " "times in a game" msgstr "Vytvořit novou posloupnost, kde zahrnuté podmínky mohou být ve hře uspokojeny v různou dobu" #: lib/pychess/perspectives/database/FilterPanel.py:140 msgid "Str" msgstr "Řad" #: lib/pychess/perspectives/database/FilterPanel.py:142 msgid "" "Create new streak sequence where listed conditions have to be satisfied in " "consecutive (half)moves" msgstr "Vytvořit novou řadovou posloupnost, kde zahrnuté podmínky musí být uspokojeny v po sobě jdoucích/následujících (půl)tazích" #: lib/pychess/perspectives/database/FilterPanel.py:147 msgid "Filter game list by various conditions" msgstr "Filtrovat seznam her podle různých podmínek" #: lib/pychess/perspectives/database/FilterPanel.py:182 #: lib/pychess/perspectives/database/FilterPanel.py:187 msgid "Sequence" msgstr "Série" #: lib/pychess/perspectives/database/FilterPanel.py:194 #: lib/pychess/perspectives/database/FilterPanel.py:199 #: lib/pychess/perspectives/database/FilterPanel.py:202 msgid "Streak" msgstr "Řada" #: lib/pychess/perspectives/database/OpeningTreePanel.py:10 msgid "Openings" msgstr "Zahájení" #: lib/pychess/perspectives/database/OpeningTreePanel.py:14 msgid "Openings panel can filter game list by opening moves" msgstr "Zahajovací panel může filtrovat seznam her podle zahajovacích tahů" #: lib/pychess/perspectives/database/OpeningTreePanel.py:35 msgid "Move" msgstr "Tah" #: lib/pychess/perspectives/database/OpeningTreePanel.py:40 #: lib/pychess/perspectives/fics/FicsHome.py:120 #: lib/pychess/perspectives/games/__init__.py:58 msgid "Games" msgstr "Hry" #: lib/pychess/perspectives/database/OpeningTreePanel.py:45 msgid "Winning %" msgstr "Vítězný %" #: lib/pychess/perspectives/database/OpeningTreePanel.py:74 msgid "Filter game list by opening moves" msgstr "Filtrovat seznam her podle zahajovajích tahů" #: lib/pychess/perspectives/database/PreviewPanel.py:13 msgid "Preview" msgstr "Náhled" #: lib/pychess/perspectives/database/PreviewPanel.py:17 msgid "Preview panel can filter game list by current game moves" msgstr "Náhledovy panel může filtrovat seznam her podle tahů nynější hry" #: lib/pychess/perspectives/database/PreviewPanel.py:43 msgid "Filter game list by current game moves" msgstr "Filtrovat seznam her podle tahů nynější hry" #: lib/pychess/perspectives/database/PreviewPanel.py:47 msgid "Add sub-fen filter from position/circles" msgstr "Přidat filtr pod-FEN z position/circles" #: lib/pychess/perspectives/database/__init__.py:91 msgid "Import PGN file" msgstr "Zavést soubor PGN" #: lib/pychess/perspectives/database/__init__.py:95 msgid "Save to PGN file as..." msgstr "Uložit do souboru PGN jako..." #: lib/pychess/perspectives/database/__init__.py:205 msgid "Open" msgstr "Otevřít" #: lib/pychess/perspectives/database/__init__.py:219 msgid "Opening chessfile..." msgstr "Otevírá se šachový soubor..." #: lib/pychess/perspectives/database/__init__.py:358 #: lib/pychess/perspectives/database/__init__.py:374 msgid "Save as" msgstr "Uložit jako" #: lib/pychess/perspectives/database/__init__.py:410 #: lib/pychess/perspectives/games/__init__.py:832 msgid "Open chess file" msgstr "Otevřít šachový soubor" #: lib/pychess/perspectives/database/__init__.py:460 msgid "Recreating indexes..." msgstr "Vytváří se znovu rejstříky..." #: lib/pychess/perspectives/database/__init__.py:484 msgid "Preparing to start import..." msgstr "Připravuje se zahájení zavádění..." #: lib/pychess/perspectives/database/__init__.py:495 #: lib/pychess/perspectives/database/__init__.py:502 #, python-format msgid "%s games processed" msgstr "" #: lib/pychess/perspectives/database/__init__.py:509 msgid "Create New Polyglot Opening Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:525 msgid "Create Polyglot Book" msgstr "" #: lib/pychess/perspectives/database/__init__.py:609 msgid "Create New Pgn Database" msgstr "Vytvořit novou databázi Pgn" #: lib/pychess/perspectives/database/__init__.py:629 #, python-format msgid "File '%s' already exists." msgstr "Soubor '%s' již existuje." #: lib/pychess/perspectives/database/__init__.py:652 #, python-format msgid "" "%(path)s\n" "containing %(count)s games" msgstr "" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "Id" msgstr "ID" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "W Elo" msgstr "W Elo" #: lib/pychess/perspectives/database/gamelist.py:46 msgid "B Elo" msgstr "B Elo" #: lib/pychess/perspectives/database/gamelist.py:47 msgid "Round" msgstr "Kolo" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Length" msgstr "Délka" #: lib/pychess/perspectives/database/gamelist.py:48 msgid "Time control" msgstr "Ovládání času" #: lib/pychess/perspectives/database/gamelist.py:69 msgid "First games" msgstr "První hry" #: lib/pychess/perspectives/database/gamelist.py:73 msgid "Previous games" msgstr "Předchozí hry" #: lib/pychess/perspectives/database/gamelist.py:77 msgid "Next games" msgstr "Další hry" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:24 #: lib/pychess/perspectives/fics/ParrentListSection.py:37 msgid "Archived" msgstr "Archivováno" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:28 msgid "Adjourned, history and journal games list" msgstr "Seznam přerušených her, historie a deník her" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:56 #: lib/pychess/perspectives/fics/SeekListPanel.py:74 msgid "Clock" msgstr "Hodiny" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:57 #: lib/pychess/perspectives/fics/GameListPanel.py:60 #: lib/pychess/perspectives/fics/SeekListPanel.py:73 msgid "Type" msgstr "Typ" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:58 msgid "Date/Time" msgstr "Datum/Čas" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:138 #, python-format msgid "" " with whom you have an adjourned %(timecontrol)s %(gametype)s " "game is online." msgstr "s nímž jste měl odloženou hru %(timecontrol)s %(gametype)s, je připojen k síti." #: lib/pychess/perspectives/fics/ArchiveListPanel.py:167 msgid "Request Continuation" msgstr "Požádat o pokračování" #: lib/pychess/perspectives/fics/ArchiveListPanel.py:169 msgid "Examine Adjourned Game" msgstr "Přezkoumat odloženou hru" #: lib/pychess/perspectives/fics/ChatPanel.py:16 msgid "Talking" msgstr "Mluvení" #: lib/pychess/perspectives/fics/ChatPanel.py:20 msgid "List of server channels" msgstr "Seznam serverových kanálů" #: lib/pychess/perspectives/fics/ChatPanel.py:44 #: lib/pychess/perspectives/fics/ParrentListSection.py:34 #: lib/pychess/perspectives/fics/__init__.py:558 #: lib/pychess/perspectives/games/chatPanel.py:10 msgid "Chat" msgstr "Rozhovor" #: lib/pychess/perspectives/fics/ChatPanel.py:45 msgid "Info" msgstr "Informace" #: lib/pychess/perspectives/fics/ConsolePanel.py:11 msgid "Console" msgstr "Konzole" #: lib/pychess/perspectives/fics/ConsolePanel.py:15 msgid "Command line interface to the chess server" msgstr "Rozhraní příkazového řádku k šachovému serveru" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:402 msgid "Win" msgstr "Výhra" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:396 msgid "Draw" msgstr "Remíza" #: lib/pychess/perspectives/fics/FicsHome.py:69 #: lib/pychess/perspectives/fics/FicsHome.py:71 #: lib/pychess/perspectives/games/bookPanel.py:399 msgid "Loss" msgstr "Prohra" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Need" msgstr "Potřeba" #: lib/pychess/perspectives/fics/FicsHome.py:71 msgid "Best" msgstr "Nejlepší" #: lib/pychess/perspectives/fics/FicsHome.py:83 msgid "" "On FICS, your \"Wild\" rating encompasses all of the" " following variants at all time controls:\n" msgstr "Na FICS, vaše zařazení \"Varianty\" počítá následující varianty:\n" #: lib/pychess/perspectives/fics/FicsHome.py:109 msgid "Sanctions" msgstr "Postihy" #: lib/pychess/perspectives/fics/FicsHome.py:114 msgid "Email" msgstr "E-mail" #: lib/pychess/perspectives/fics/FicsHome.py:129 msgid "Spent" msgstr "Stráveno" #: lib/pychess/perspectives/fics/FicsHome.py:130 msgid "online in total" msgstr "Celková doba připojení" #: lib/pychess/perspectives/fics/FicsHome.py:136 msgid "Ping" msgstr "Ping" #: lib/pychess/perspectives/fics/FicsHome.py:144 msgid "Connecting" msgstr "Připojování" #: lib/pychess/perspectives/fics/FicsHome.py:170 #: lib/pychess/perspectives/fics/ParrentListSection.py:36 msgid "Finger" msgstr "Prst" #: lib/pychess/perspectives/fics/FicsHome.py:188 msgid "" "You are currently logged in as a guest but there is a completely free trial " "for 30 days, and beyond that, there is no charge and the account would " "remain active with the ability to play games. (With some restrictions. For " "example, no premium videos, some limitations in channels, and so on.) To " "register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/FicsHome.py:197 msgid "" "You are currently logged in as a guest. A guest can't play rated games and " "therefore isn't able to play as many of the types of matches offered as a " "registered user. To register an account, go to " msgstr "" #: lib/pychess/perspectives/fics/GameListPanel.py:15 msgid "Game List" msgstr "Seznam her" #: lib/pychess/perspectives/fics/GameListPanel.py:19 msgid "List of ongoing games" msgstr "Seznam dále probíhajících her" #: lib/pychess/perspectives/fics/GameListPanel.py:195 #, python-format msgid "Games running: %d" msgstr "Běžící hry: %d" #: lib/pychess/perspectives/fics/NewsPanel.py:7 msgid "News" msgstr "Novinky" #: lib/pychess/perspectives/fics/NewsPanel.py:11 msgid "List of server news" msgstr "Seznam serverových novinek" #: lib/pychess/perspectives/fics/ParrentListSection.py:31 #: lib/pychess/perspectives/fics/SeekListPanel.py:166 msgid "Assess" msgstr "Posoudit" #: lib/pychess/perspectives/fics/ParrentListSection.py:33 #: lib/pychess/perspectives/fics/__init__.py:559 msgid "Follow" msgstr "Sledovat" #: lib/pychess/perspectives/fics/PlayerListPanel.py:12 msgid "Player List" msgstr "Seznam hráčů" #: lib/pychess/perspectives/fics/PlayerListPanel.py:16 msgid "List of players" msgstr "Seznam hráčů" #: lib/pychess/perspectives/fics/PlayerListPanel.py:53 #: lib/pychess/perspectives/fics/SeekListPanel.py:70 msgid "Name" msgstr "Jméno" #: lib/pychess/perspectives/fics/PlayerListPanel.py:57 msgid "Status" msgstr "Stav" #: lib/pychess/perspectives/fics/PlayerListPanel.py:143 #: lib/pychess/perspectives/fics/PlayerListPanel.py:173 #, python-format msgid "Players: %d" msgstr "Hráči: %d" #: lib/pychess/perspectives/fics/SeekChallenge.py:201 msgid "" "The chain button is disabled because you are logged in as a guest. Guests" " can't establish ratings, and the chain button's state has " "no effect when there is no rating to which to tie \"Opponent" " Strength\" to" msgstr "Tlačítko řetězu je vypnuto, protože jste přihlášen jako host. Hosté nemohou poskytovat hodnocení a tlačítko řetězu nemá žádný účinek, když není žádné hodnocení, se kterým by se dala spojit soupeřova síla" #: lib/pychess/perspectives/fics/SeekChallenge.py:249 msgid "Challenge: " msgstr "Výzva: " #: lib/pychess/perspectives/fics/SeekChallenge.py:290 msgid "If set you can refuse players accepting your seek" msgstr "Pokud je nastaveno, můžete odmítnout hráče přijmuvší vaši žádost" #: lib/pychess/perspectives/fics/SeekChallenge.py:294 #: lib/pychess/perspectives/fics/SeekChallenge.py:297 msgid "This option is not applicable because you're challenging a player" msgstr "Tato volba není použitelná, protože vyzýváte hráče" #: lib/pychess/perspectives/fics/SeekChallenge.py:310 msgid "Edit Seek: " msgstr "Upravit žádost: " #: lib/pychess/perspectives/fics/SeekChallenge.py:341 #, python-format msgid "%(minutes)d min + %(gain)d sec/move" msgstr "%(minutes)d min + %(gain)d s/tah" #: lib/pychess/perspectives/fics/SeekChallenge.py:362 msgid "Manual" msgstr "Ruční" #: lib/pychess/perspectives/fics/SeekChallenge.py:525 msgid "Any strength" msgstr "Jakákoli síla" #: lib/pychess/perspectives/fics/SeekChallenge.py:581 msgid "You can't play rated games because you are logged in as a guest" msgstr "Nemůžete hrát hodnocené hry, protože jste přihlášen jako host" #: lib/pychess/perspectives/fics/SeekChallenge.py:585 msgid "You can't play rated games because \"Untimed\" is checked, " msgstr "Nemůžete hrát hodnocené hry, protože šachové hodiny jsou vypnuty " #: lib/pychess/perspectives/fics/SeekChallenge.py:586 msgid "and on FICS, untimed games can't be rated" msgstr "a v FICS nelze hodnotit žádné hry bez šachových hodin" #: lib/pychess/perspectives/fics/SeekChallenge.py:590 msgid "This option is not available because you're challenging a guest, " msgstr "Tato volba není dostupná, protože vyzýváte hosta" #: lib/pychess/perspectives/fics/SeekChallenge.py:591 msgid "and guests can't play rated games" msgstr "a hosté nemohou hrát hodnocené hry" #: lib/pychess/perspectives/fics/SeekChallenge.py:706 msgid "You can't select a variant because \"Untimed\" is checked, " msgstr "Nemůžete vybrat žádnou variantu, protože šachové hodiny jsou vypnuty " #: lib/pychess/perspectives/fics/SeekChallenge.py:707 msgid "and on FICS, untimed games have to be normal chess rules" msgstr "a v FICS lze hry bez šachových hodin hrát jen podle běžných pravidel." #: lib/pychess/perspectives/fics/SeekChallenge.py:743 msgid "Change Tolerance" msgstr "Změnit toleranci" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:10 msgid "Seek Graph" msgstr "Graf žádostí" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:14 msgid "Handle seeks on graphical way" msgstr "Zacházet se žádostmi graficky" #: lib/pychess/perspectives/fics/SeekGraphPanel.py:49 msgid " min" msgstr " min" #: lib/pychess/perspectives/fics/SeekListPanel.py:19 msgid "Seeks / Challenges" msgstr "Žádosti/Výzvy" #: lib/pychess/perspectives/fics/SeekListPanel.py:23 msgid "Handle seeks and challenges" msgstr "Zacházet se žádostmi a výzvami" #: lib/pychess/perspectives/fics/SeekListPanel.py:167 msgid "Effect on ratings by the possible outcomes" msgstr "Účinek na hodnocení podle možných výsledků" #: lib/pychess/perspectives/fics/SeekListPanel.py:182 msgid "Win:" msgstr "Výhra:" #: lib/pychess/perspectives/fics/SeekListPanel.py:185 msgid "Draw:" msgstr "Remíza:" #: lib/pychess/perspectives/fics/SeekListPanel.py:188 msgid "Loss:" msgstr "Prohra:" #: lib/pychess/perspectives/fics/SeekListPanel.py:191 msgid "New RD:" msgstr "Nový RD:" #: lib/pychess/perspectives/fics/SeekListPanel.py:259 #, python-format msgid "Active seeks: %d" msgstr "Činné žádosti: %d" #: lib/pychess/perspectives/fics/SeekListPanel.py:306 #, python-format msgid "" " would like to resume your adjourned %(time)s %(gametype)s " "game." msgstr " chcete pokračovat ve své odložené hře %(time)s %(gametype)s." #: lib/pychess/perspectives/fics/SeekListPanel.py:311 #, python-format msgid "" " challenges you to a %(time)s %(rated)s %(gametype)s game" msgstr " vás vyzývá ke hře %(time)s %(rated)s %(gametype)s " #: lib/pychess/perspectives/fics/SeekListPanel.py:316 #, python-format msgid " where %(player)s plays %(color)s." msgstr " kde %(player)s hraje%(color)s." #: lib/pychess/perspectives/fics/__init__.py:47 msgid "ICS" msgstr "ICS" #: lib/pychess/perspectives/fics/__init__.py:57 msgid "Log Off" msgstr "Odhlásit se" #: lib/pychess/perspectives/fics/__init__.py:81 msgid "New game from 1-minute playing pool" msgstr "Nová hra z herní zásoby jednominutových her" #: lib/pychess/perspectives/fics/__init__.py:86 msgid "New game from 3-minute playing pool" msgstr "Nová hra z herní zásoby tříminutových her" #: lib/pychess/perspectives/fics/__init__.py:91 msgid "New game from 5-minute playing pool" msgstr "Nová hra z herní zásoby pětiminutových her" #: lib/pychess/perspectives/fics/__init__.py:96 msgid "New game from 15-minute playing pool" msgstr "Nová hra z herní zásoby patnáctiminutových her" #: lib/pychess/perspectives/fics/__init__.py:101 msgid "New game from 25-minute playing pool" msgstr "Nová hra z herní zásoby pětadvacetiminutových her" #: lib/pychess/perspectives/fics/__init__.py:106 msgid "New game from Chess960 playing pool" msgstr "Nová hra z herní zásoby Chess960" #: lib/pychess/perspectives/fics/__init__.py:370 msgid "You have to set kibitz on to see bot messages here." msgstr "Musíte zapnout kibicování, abyste zde viděl obě zprávy." #: lib/pychess/perspectives/fics/__init__.py:389 msgid "" "You may only have 3 outstanding seeks at the same time. If you want" " to add a new seek you must clear your currently active seeks. " "Clear your seeks?" msgstr "Lze vytvořit jen 3 žádosti v tutéž dobu. Pokud chcete přidat novou žádost, musíte smazat své nyní účinné žádosti. Smazat žádosti?" #: lib/pychess/perspectives/fics/__init__.py:410 msgid "You can't touch this! You are examining a game." msgstr "Na toto nemůžete šahat! Prohlížíte si hru." #: lib/pychess/perspectives/fics/__init__.py:423 msgid " has declined your offer for a match" msgstr " odmítl vaši nabídku ke hře" #: lib/pychess/perspectives/fics/__init__.py:437 msgid " is censoring you" msgstr " vás cenzuruje" #: lib/pychess/perspectives/fics/__init__.py:451 msgid " noplay listing you" msgstr " žádná hra vás nemá v seznamu" #: lib/pychess/perspectives/fics/__init__.py:466 msgid " uses a formula not fitting your match request:" msgstr " neodpovídá hlediskům vaší žádosti o hru:" #: lib/pychess/perspectives/fics/__init__.py:481 msgid "to manual accept" msgstr "k ručnímu přijetí" #: lib/pychess/perspectives/fics/__init__.py:484 msgid "to automatic accept" msgstr "k automatickému přijetí" #: lib/pychess/perspectives/fics/__init__.py:486 msgid "rating range now" msgstr "rozsah hodnocení nyní" #: lib/pychess/perspectives/fics/__init__.py:487 msgid "Seek updated" msgstr "Žádost obnovena" #: lib/pychess/perspectives/fics/__init__.py:500 msgid "Your seeks have been removed" msgstr "Vaše žádosti byly odstraněny" #: lib/pychess/perspectives/fics/__init__.py:520 msgid " has arrived" msgstr "přišel" #: lib/pychess/perspectives/fics/__init__.py:526 msgid " has departed" msgstr "odešel" #: lib/pychess/perspectives/fics/__init__.py:529 msgid " is present" msgstr "je přítomen" #: lib/pychess/perspectives/games/__init__.py:37 msgid "Detect type automatically" msgstr "Detekovat typ automaticky" #: lib/pychess/perspectives/games/__init__.py:157 msgid "Error loading game" msgstr "Chyba při nahrávání hry" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Save Game" msgstr "Uložit hru" #: lib/pychess/perspectives/games/__init__.py:258 msgid "Export position" msgstr "Vyvést stav hry" #: lib/pychess/perspectives/games/__init__.py:280 #, python-format msgid "Unknown file type '%s'" msgstr "Neznámý typ souboru '%s'" #: lib/pychess/perspectives/games/__init__.py:283 #, python-format msgid "" "Was unable to save '%(uri)s' as PyChess doesn't know the format " "'%(ending)s'." msgstr "Nepodařilo se uložit '%(uri)s', protože PyChess nezná formát '%(ending)s'." #: lib/pychess/perspectives/games/__init__.py:299 #, python-format msgid "Unable to save file '%s'" msgstr "Nelze uložit soubor '%s'" #: lib/pychess/perspectives/games/__init__.py:301 msgid "" "You don't have the necessary rights to save the file.\n" " Please ensure that you have given the right path and try again." msgstr "Nemáte dostatečná oprávnění pro uložení souboru.\nUjistěte se, prosím, že jste zadal správnou cestu, a zkuste to znovu." #: lib/pychess/perspectives/games/__init__.py:310 msgid "_Replace" msgstr "Nah_radit" #: lib/pychess/perspectives/games/__init__.py:313 msgid "File exists" msgstr "Soubor existuje" #: lib/pychess/perspectives/games/__init__.py:316 #, python-format msgid "" "A file named '%s' already exists. Would you like to replace " "it?" msgstr "Soubor pojmenovaný '%s' již existuje. Chcete ho nahradit?" #: lib/pychess/perspectives/games/__init__.py:318 #, python-format msgid "" "The file already exists in '%s'. If you replace it, its content will be " "overwritten." msgstr "Soubor již existuje '%s'. Pokud jej nahradíte, jeho obsah bude přepsán." #: lib/pychess/perspectives/games/__init__.py:335 msgid "Could not save the file" msgstr "Nelze uložit soubor" #: lib/pychess/perspectives/games/__init__.py:337 msgid "PyChess was not able to save the game" msgstr "PyChess se hru nepodařilo uložit" #: lib/pychess/perspectives/games/__init__.py:338 #, python-format msgid "The error was: %s" msgstr "Chyba byla: %s" #: lib/pychess/perspectives/games/__init__.py:363 #, python-format msgid "There is %d game with unsaved moves." msgid_plural "There are %d games with unsaved moves." msgstr[0] "Je tu %d hra s neuloženými tahy." msgstr[1] "Jsou tu %d hry s neuloženými tahy." msgstr[2] "Je tu %d her s neuloženými tahy." msgstr[3] "Je tu %d her s neuloženými tahy." #: lib/pychess/perspectives/games/__init__.py:366 msgid "Save moves before closing?" msgstr "Uložit tahy před zavřením?" #: lib/pychess/perspectives/games/__init__.py:378 msgid "" "Unable to save to configured file." " Save the games before " "closing?" msgstr "Nelze uložit do nastaveného souboru.\nUložit hry před jejich zavřením?" #: lib/pychess/perspectives/games/__init__.py:400 msgid "vs." msgstr "proti." #: lib/pychess/perspectives/games/__init__.py:407 #, python-format msgid "_Save %d document" msgid_plural "_Save %d documents" msgstr[0] "_Uložit %d hru" msgstr[1] "_Uložit %d hry" msgstr[2] "_Uložit %d her" msgstr[3] "_Uložit %d her" #: lib/pychess/perspectives/games/__init__.py:454 msgid "Save the current game before you close it?" msgstr "Uložit nynější hru před jejím zavřením?" #: lib/pychess/perspectives/games/__init__.py:460 msgid "" "Unable to save to configured file." " Save the current game before " "you close it?" msgstr "Nelze uložit do nastaveného souboru. Uložit nynější hru před jejím zavřením?" #: lib/pychess/perspectives/games/__init__.py:476 msgid "" "It is not possible later to continue the game,\n" "if you don't save it." msgstr "Není možné později pokračovat ve hře,\npokud ji neuložíte." #: lib/pychess/perspectives/games/__init__.py:840 msgid "All Chess Files" msgstr "Všechny šachové soubory" #: lib/pychess/perspectives/games/annotationPanel.py:26 msgid "Annotation" msgstr "Poznámka" #: lib/pychess/perspectives/games/annotationPanel.py:29 msgid "Annotated game" msgstr "Hra opatřená poznámkami" #: lib/pychess/perspectives/games/annotationPanel.py:354 msgid "Refresh" msgstr "Obnovit" #: lib/pychess/perspectives/games/annotationPanel.py:360 msgid "Add start comment" msgstr "Přidat začáteční poznámku" #: lib/pychess/perspectives/games/annotationPanel.py:365 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Add comment" msgstr "Přidat poznámku" #: lib/pychess/perspectives/games/annotationPanel.py:368 #: lib/pychess/perspectives/games/annotationPanel.py:456 msgid "Edit comment" msgstr "Upravit poznámku" #: lib/pychess/perspectives/games/annotationPanel.py:373 msgid "Good move" msgstr "Dobrý tah" #: lib/pychess/perspectives/games/annotationPanel.py:374 msgid "Bad move" msgstr "Špatný tah" #: lib/pychess/perspectives/games/annotationPanel.py:375 msgid "Excellent move" msgstr "Výborný tah" #: lib/pychess/perspectives/games/annotationPanel.py:376 msgid "Very bad move" msgstr "Velice špatný tah" #: lib/pychess/perspectives/games/annotationPanel.py:377 msgid "Interesting move" msgstr "Zajímavý tah" #: lib/pychess/perspectives/games/annotationPanel.py:378 msgid "Suspicious move" msgstr "Podezřelý tah" #: lib/pychess/perspectives/games/annotationPanel.py:379 msgid "Forced move" msgstr "Vynucený tah" #: lib/pychess/perspectives/games/annotationPanel.py:385 msgid "Add move symbol" msgstr "Přidat značku pro tah" #: lib/pychess/perspectives/games/annotationPanel.py:390 msgid "Drawish" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:391 msgid "Unclear position" msgstr "Nejasná pozice" #: lib/pychess/perspectives/games/annotationPanel.py:392 msgid "Slight advantage" msgstr "Lehká výhoda" #: lib/pychess/perspectives/games/annotationPanel.py:393 msgid "Moderate advantage" msgstr "Mírná výhoda" #: lib/pychess/perspectives/games/annotationPanel.py:394 msgid "Decisive advantage" msgstr "Rozhodující výhoda" #: lib/pychess/perspectives/games/annotationPanel.py:395 msgid "Crushing advantage" msgstr "Zdrcující výhoda" #: lib/pychess/perspectives/games/annotationPanel.py:396 msgid "Zugzwang" msgstr "Vynucený tah" #: lib/pychess/perspectives/games/annotationPanel.py:397 msgid "Development advantage" msgstr "Rozvíjející výhoda" #: lib/pychess/perspectives/games/annotationPanel.py:398 msgid "Initiative" msgstr "Iniciativa" #: lib/pychess/perspectives/games/annotationPanel.py:399 msgid "With attack" msgstr "S útokem" #: lib/pychess/perspectives/games/annotationPanel.py:400 msgid "Compensation" msgstr "Náhrada" #: lib/pychess/perspectives/games/annotationPanel.py:401 msgid "Counterplay" msgstr "Protihra" #: lib/pychess/perspectives/games/annotationPanel.py:402 msgid "Time pressure" msgstr "Časová tíseň" #: lib/pychess/perspectives/games/annotationPanel.py:408 msgid "Add evaluation symbol" msgstr "Přidat vyhodnocovací symbol" #: lib/pychess/perspectives/games/annotationPanel.py:416 msgid "Comment" msgstr "Poznámka" #: lib/pychess/perspectives/games/annotationPanel.py:420 msgid "Symbols" msgstr "Symboly" #: lib/pychess/perspectives/games/annotationPanel.py:424 msgid "All the evaluations" msgstr "Všechna vyhodnocení" #: lib/pychess/perspectives/games/annotationPanel.py:428 msgid "Remove" msgstr "Odstranit" #: lib/pychess/perspectives/games/annotationPanel.py:1069 msgid "No time control" msgstr "Bez ovládání času" #: lib/pychess/perspectives/games/annotationPanel.py:1077 msgid "mins" msgstr "m" #: lib/pychess/perspectives/games/annotationPanel.py:1081 #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "secs" msgstr "s" #: lib/pychess/perspectives/games/annotationPanel.py:1084 #, python-format msgid "%(time)s for %(count)d moves" msgstr "" #: lib/pychess/perspectives/games/annotationPanel.py:1088 msgid "move" msgstr "tah" #: lib/pychess/perspectives/games/annotationPanel.py:1106 #, python-format msgid "round %s" msgstr "kolo %s" #: lib/pychess/perspectives/games/bookPanel.py:20 msgid "Hints" msgstr "Rady" #: lib/pychess/perspectives/games/bookPanel.py:25 msgid "" "The hint panel will provide computer advice during each stage of the game" msgstr "Panel s radami bude poskytovat rady počítače během každé fáze hry" #: lib/pychess/perspectives/games/bookPanel.py:27 msgid "Official PyChess panel." msgstr "Panel PyChess." #: lib/pychess/perspectives/games/bookPanel.py:91 msgid "Opening Book" msgstr "Kniha zahájení" #: lib/pychess/perspectives/games/bookPanel.py:93 msgid "" "The opening book will try to inspire you during the opening phase of the " "game by showing you common moves made by chess masters" msgstr "Kniha zahájení se vás během zahajovací fáze hry pokusí podněcovat ukazováním šachovými mistry nejhranějších tahů." #: lib/pychess/perspectives/games/bookPanel.py:152 #, python-format msgid "Analysis by %s" msgstr "Rozbor od %s" #: lib/pychess/perspectives/games/bookPanel.py:154 #, python-format msgid "" "%s will try to predict which move is best and which side has the advantage" msgstr "%s se pokusí předem určit, který tah je nejlepší a která strana má výhodu" #: lib/pychess/perspectives/games/bookPanel.py:156 #, python-format msgid "Threat analysis by %s" msgstr "Rozbor hrozby od %s" #: lib/pychess/perspectives/games/bookPanel.py:159 #, python-format msgid "" "%s will identify what threats would exist if it were your opponent's turn to" " move" msgstr "%s určí, jaké by mohly být hrozby, kdyby měl hrát váš soupeř" #: lib/pychess/perspectives/games/bookPanel.py:186 #: lib/pychess/perspectives/games/bookPanel.py:296 msgid "Calculating..." msgstr "Počítá se..." #: lib/pychess/perspectives/games/bookPanel.py:332 msgid "" "Engine scores are in units of pawns, from White's point of view. Double " "clicking on analysis lines you can insert them into Annotation panel as " "variations." msgstr "Výsledky stroje jsou z pohledu bílého v jednotkách pěšců. Dvojitým klepnutím na řádky rozboru je můžete vložit do panelu s poznámkami jako obměny." #: lib/pychess/perspectives/games/bookPanel.py:335 msgid "" "Adding suggestions can help you find ideas, but slows down the computer's " "analysis." msgstr "Přidání návrhů vám může pomoci s hledáním nápadů, ale zpomalí provádění rozboru počítačem." #: lib/pychess/perspectives/games/bookPanel.py:341 msgid "Endgame Table" msgstr "Tabulka koncovky" #: lib/pychess/perspectives/games/bookPanel.py:351 msgid "" "The endgame table will show exact analysis when there are few pieces on the " "board." msgstr "Tabulka koncovky ukáže přesný rozbor, když je na hrací desce několik figurek." #: lib/pychess/perspectives/games/bookPanel.py:400 #: lib/pychess/perspectives/games/bookPanel.py:403 #, python-format msgid "Mate in %d" msgstr "Mat za %d" #: lib/pychess/perspectives/games/bookPanel.py:649 msgid "" "In this position,\n" "there is no legal move." msgstr "V tomto postavení\nnení žádný tah platný." #: lib/pychess/perspectives/games/chatPanel.py:15 msgid "" "The chat panel lets you communicate with your opponent during the game, " "assuming he or she is interested" msgstr "Panel pro rozhovor vám během hry umožňuje psát si se soupeřem za předpokladu, že má druhá strana o to být ve styku zájem." #: lib/pychess/perspectives/games/commentPanel.py:12 msgid "Comments" msgstr "Poznámky" #: lib/pychess/perspectives/games/commentPanel.py:17 msgid "The comments panel will try to analyze and explain the moves played" msgstr "Panel pro poznámky se bude pokoušet o rozbor a výklad zahraných tahů" #: lib/pychess/perspectives/games/commentPanel.py:126 msgid "Initial position" msgstr "Výchozí pozice" #: lib/pychess/perspectives/games/commentPanel.py:262 #, python-format msgid "%(color)s moves a %(piece)s to %(cord)s" msgstr "%(color)s táhnul: %(piece)s na %(cord)s" #: lib/pychess/perspectives/games/engineOutputPanel.py:11 msgid "Engines" msgstr "Stroje" #: lib/pychess/perspectives/games/engineOutputPanel.py:17 msgid "" "The engine output panel shows the thinking output of chess engines (computer" " players) during a game" msgstr "Panel s výstupem stroje ukazuje myšlenkový výstup šachových strojů (počítačoví hráči) během hry" #: lib/pychess/perspectives/games/engineOutputPanel.py:41 msgid "No chess engines (computer players) are participating in this game." msgstr "Žádné šachové stroje (počítačoví hráči) se neúčastní této hry." #: lib/pychess/perspectives/games/historyPanel.py:9 msgid "Move History" msgstr "Historie tahů" #: lib/pychess/perspectives/games/historyPanel.py:13 msgid "" "The moves sheet keeps track of the players' moves and lets you navigate " "through the game history" msgstr "Herní list zajišťuje sledování hráčových tahů a dovoluje pohyb skrze průběh hry" #: lib/pychess/perspectives/games/scorePanel.py:13 msgid "Score" msgstr "Výsledek" #: lib/pychess/perspectives/games/scorePanel.py:15 msgid "" "The score panel tries to evaluate the positions and shows you a graph of the" " game progress" msgstr "Panel s výsledky se pokouší o vyhodnocování pozic a ukazuje vám obrazec znázorňující postup hry" #: lib/pychess/perspectives/learn/EndgamesPanel.py:25 msgid "Practice endgames with computer" msgstr "Cvičit koncovky s počítačem" #: lib/pychess/perspectives/learn/EndgamesPanel.py:64 #: lib/pychess/perspectives/learn/LecturesPanel.py:67 #: lib/pychess/perspectives/learn/LessonsPanel.py:45 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:59 msgid "Title" msgstr "Název" #: lib/pychess/perspectives/learn/LecturesPanel.py:21 msgid "Study FICS lectures offline" msgstr "Učit se ze cvičení FICS nepřipojen k internetu" #: lib/pychess/perspectives/learn/LecturesPanel.py:71 msgid "Author" msgstr "Autor" #: lib/pychess/perspectives/learn/LessonsPanel.py:24 msgid "Guided interactive lessons in \"guess the move\" style" msgstr "Provázené interaktivní lekce ve stylu \"hádej tah\"" #: lib/pychess/perspectives/learn/LessonsPanel.py:49 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:63 msgid "Source" msgstr "Zdroj" #: lib/pychess/perspectives/learn/LessonsPanel.py:53 #: lib/pychess/perspectives/learn/PuzzlesPanel.py:67 #: lib/pychess/perspectives/learn/__init__.py:130 msgid "Progress" msgstr "Postup" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:26 msgid "Lichess practice studies Puzzles from GM games and Chess compositions" msgstr "Lichess procvičuje hlavolamová cvičení z her GM a šachových prací" #: lib/pychess/perspectives/learn/PuzzlesPanel.py:46 msgid "others" msgstr "jiné" #: lib/pychess/perspectives/learn/__init__.py:24 msgid "Learn" msgstr "Učit de" #: lib/pychess/perspectives/learn/__init__.py:35 msgid "Quit Learning" msgstr "Ukončit výuku" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lichess" msgstr "lichess" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "wtharvey" msgstr "wtharvey" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "yacpdb" msgstr "yacpdb" #: lib/pychess/perspectives/learn/__init__.py:108 msgid "lessons" msgstr "lekce" #: lib/pychess/perspectives/learn/__init__.py:135 msgid "Reset my progress" msgstr "Vynulovat můj postup" #: lib/pychess/perspectives/learn/__init__.py:141 msgid "You will lose all your progress data!" msgstr "Ztratíte všechny údaje o svém postupu!" pychess-1.0.0/manpages/0000755000175000017500000000000013467766037014054 5ustar varunvarunpychess-1.0.0/manpages/pychess.1.gz0000644000175000017500000000103613353143212016205 0ustar varunvarunB׋Epychess.1]RMs0WR>RaBHghiDeIHr=+[C~և U#5`UU7|XW2WE}m#G ҉RR[#j{Uޘ$f`5瞵3 $Y'5ly"utP+%Qh1K*%.9GՔ?+gdBк,~Xbpychess-1.0.0/glade/0000755000175000017500000000000013467766037013335 5ustar varunvarunpychess-1.0.0/glade/panel_database.svg0000644000175000017500000004167413353143212016767 0ustar varunvarun image/svg+xml pychess-1.0.0/glade/dock_bottom.svg0000644000175000017500000000645113353143212016342 0ustar varunvarun image/svg+xml pychess-1.0.0/glade/panel_chat.svg0000644000175000017500000003727513353143212016144 0ustar varunvarun image/svg+xml pychess-1.0.0/glade/challenge.png0000644000175000017500000000161613353143212015743 0ustar varunvarunPNG  IHDRVΎWsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org< IDAT8OLW9."A\*ZV%EII$I`ΛpRX=e"fT5+=]^5VĜ@\.#wk䝓l.*J+zK lƇP6nGB ]\$=6,4ޠ(.v_j}D9˲mg#Z{w]I-p93Kc wq>eYv )J'sr)Iz߭@hK#Q1s&2EƦmGpL$R 40>lrx/I"3Y^}gM(鑌ܱ3BbbVp/cNwgw 6Or2!sg^ZCa`/0'R7"3QIENDB`pychess-1.0.0/glade/panel_book.svg0000644000175000017500000005225613353143212016153 0ustar varunvarun image/svg+xml pychess-1.0.0/glade/fics_logon.glade0000644000175000017500000006167413365545272016464 0ustar varunvarun False 12 PyChess - Connect to Internet Chess False center-on-parent pychess dialog True False True False 8 False True False 4 6 True True 0 True False <b><big>Connect to Online Chess Server</big></b> True 0 False False 1 True False True False globe.png True True 0 True False 6 True False 6 True False 7 2 6 4 True True False True False False 1 2 2 3 True True True 25 False False 1 2 1 2 True False _Password: True passEntry 1 2 3 True False _Name: True 1 1 2 True False 1 1 True False 2 3 4 Log on as _Guest True True False True 0.5 True 1 2 GTK_FILL True True True freechess.org False False 1 2 4 5 True False Host: True hostEntry 1 4 5 True True True 5000, 23 False False 1 2 5 6 True False Po_rts: True portsEntry 1 5 6 True False 1 Lag: 6 7 Use time compensation True True False 0 True True 1 2 6 7 True True 0 False False 0 False 0 1 1 True False True False 0.050000000745099998 False False 1 False False 1 True True 2 True True 0 True False 6 True False 0 0 S_ign up 100 True True True False True True True 0 True False True False 3 gtk-cancel 110 True True True False True False True 0 gtk-connect 110 True True True True False True False True 1 gtk-stop 110 True True False True False True 2 False True 1 True True 1 pychess-1.0.0/glade/findbar.glade0000644000175000017500000002675613353143212015732 0ustar varunvarun False window1 True False 1 True False True False 3 0 of 0 True 3 0 1 1 30 30 True True True none True False 1 gtk-close 2 0 0 1 1 True False 3 3 True False Search: 1 0 1 1 140 True True True True False False 2 0 1 1 True True True none True False 3 True False 1 1 16 16 True False gtk-go-up 1 True True 0 True False 0 _Previous True True True 1 4 0 1 1 True True True none True False 3 True False 1 1 16 16 True False gtk-go-down 1 True True 0 True False 0 _Next True True True 1 5 0 1 1 False False 0 True False 1 1 True True in True True False True True 1 pychess-1.0.0/glade/panel_annotation.svg0000644000175000017500000005037113353143212017367 0ustar varunvarun image/svg+xml pychess-1.0.0/glade/analyze_game.glade0000644000175000017500000003627013353143212016751 0ustar varunvarun 1 9999 3 1 10 1 999 50 1 10 False 5 Analyze game dialog True False 2 True False end gtk-cancel True True True True False False 0 gtk-ok True True True True False False 1 False True end 0 True False True False 12 True False True False Use analyzer: False False 0 True False True True 5 1 True False 0 True False True False Maximum analysis time in seconds: False False 0 True True 4 False False adjustment1 True True True 5 1 True False 1 True False True False If the analyzer finds a move where the evaluation difference (the difference between the evaluation for the move it thinks is the best move and the evaluation for the move made in the game) exceeds this value, it will add an annotation for that move (consisting of the engine's Principal Variation for the move) to the Annotation panel Variation annotation creation threshold in centipawns: False False 0 True True 3 False False adjustment2 True True 5 1 True False 2 Analyze from current position True True False 0 0.50999999046325684 True True True 3 Analyze black moves True True True 0 0.50999999046325684 True True True 4 Analyze white moves True True True 0 0.50999999046325684 True True True 5 Add threatening variation lines True True False 0 True True True 6 Colorize analyzed moves True True False 0 True False False 7 Show evaluation values True True False 0 True False False 8 True True 1 analyze_cancel_button analyze_ok_button pychess-1.0.0/glade/board.svg0000644000175000017500000002227213353143212015124 0ustar varunvarun image/svg+xml pychess-1.0.0/glade/dock_center.svg0000644000175000017500000001004613353143212016311 0ustar varunvarun image/svg+xml pychess-1.0.0/glade/piece-unknown.png0000644000175000017500000000576313353143212016612 0ustar varunvarunPNG  IHDR.0neHsRGBbKGD pHYs f fItIME3 sIDAThřkpyvWJde0 % SK;ng4С:ih駦/ⴄ$L3'NY3XlIV+~F W2gy/γy9+xKeI&#h?Zmq:Bn@U<c;,8qR==}www Iʹe۶~(r24166iĪcߨ=}ۍ)۶K $IȲatv0 8pBޞBU@몪^d2;5Mc6)))AQ,R=ΟL&UA k391$I;;wVLoWU;:uD"i133 ##P]]M(;R&EEBx&m*YB  `  Nl*݂u]DCC#X5eqe\]uVd2xKMM H xwwWQ:> P[[ իWI/xhMu b@Gw=o+^@0`ttMݝo(fDvwn]HZ0@,FH|^^^ݏZ z' .}qr18QWWG4]v~㼘ʇ$t \ݾPP nY)EU9H7ghii!P]]M4]"JKK9rU+tAYIŒ 3~y{ !mȲpMӸr TW8ϱažILGb b;6wƍ=}'dzrKw6ԣiyͼzyy=2Ciu9yDNU(b|!Yk(l͛7Uq+<^r˶PUݿ$gz{NhC+䡗^>-!4Sf$Il۶MӈyssrawlMcǏ6?V_b\blQ+**سe144~CKauxDz.z?jݴs_ض9[0 t: T "ط4m=L*7TUP}*7oPC;;wُVU<۲,bxx bII3$,C_P7o?<N?kg_zЕ}BQS6U..]bjjjV/Į]+xn:)sw|\:#;Ξ9}vO8κu>N2$,l qr !.Js{޹;9WSM)bjlBkk :x㷂Ŝk$7B;2-* Y~xs1eIl X#'d{:eV^vs&f()  QT5_,T=Upb_קO8R扙xbpleJuk߰~ >l7:~ݏO}>4͇(Ȋ<9cx8ظK4ua3x#q8Пß=ojXUUQJQJEdY !'87slۙYhkYޡ/2BzBUE *P/K /=ps@8-6` !,IdiI+xb H@YPޡ@}mYS/et~>v0+g鬙ϜWU,7wHVŢ-ْ \>"O@?=u@ڱBƖ,IENDB`pychess-1.0.0/glade/taskers.glade0000644000175000017500000012366213365545272016012 0ustar varunvarun 1 21 20 1 1 1 0 0 False True False True True True False True False 0 0 3 True True False Detailed settings of players, time control and chess variant none True False True False 1 1 poput.png GTK_FILL True False 0.20000000298023224 48 stock_weather-sunny GTK_FILL True True 0 250 True False 3 True False 4 2 6 3 True False 2 1 2 True False 1 2 2 3 True False start _Opponent: True 0 2 3 GTK_FILL True False 1 2 True False start _Your Color: True 0 GTK_FILL 18 True True Engine playing strength (1=weakest, 20=strongest) adjustment1 0 0 left 2 3 4 False True 0 30 True True False none True False 0 0 True False 6 True False gtk-apply 1 False False 0 True False <b>_Start Game</b> True True startButton False False 1 False False 1 True True 1 0 0 True False True False 0 0 3 True True False Detailed connection settings none True False True False 1 1 poput.png GTK_FILL True False 0.20000000298023224 48 applications-internet GTK_FILL True True 0 250 True False 3 True False 2 2 6 6 True False 1 2 Auto login on startup True True False True 0 True 1 2 1 2 True False start Server: GTK_FILL False True 0 30 True True True True True none True False 0 True False 6 True False gtk-apply 1 False False 0 True False <b>_Connect to server</b> True True connectButton False False 1 False False 1 True True 1 0 1 True False True False 0 0 3 True True False Select a pgn or epd or fen chess file none True False True False 1 1 poput.png GTK_FILL True False 0.20000000298023224 48 document-open GTK_FILL True True 0 250 True False 3 True False 2 2 6 6 True False start _Recent: True 0 GTK_FILL Create a new database True True False True 0 True 1 2 1 2 True False 1 2 False True 0 30 True True False none True False 0 0 True False 6 True False gtk-apply 1 False False 0 True False <b>Open database</b> True True startButton False False 1 False False 1 True True 1 1 0 True False True False 0 0 3 True True False View lectures, solve puzzles or start practicing endgames none True False True False 1 1 poput.png GTK_FILL True False 0.20000000298023224 48 accessories-dictionary GTK_FILL True True 0 250 True False 3 True False 2 2 6 6 True False start Category: True 0 GTK_FILL True False 1 2 True False False 1 2 1 2 False True 0 30 True True False none True False 0 0 True False 6 True False gtk-apply 1 False False 0 True False <b>Start learning</b> True True startButton False False 1 False False 1 True True 1 1 1 pychess-1.0.0/glade/newInOut.glade0000644000175000017500000031073313353143212016064 0ustar varunvarun 1 21 20 1 1 1 1 21 20 1 1 1 400 310.5 345 225 0.90000000000000002 1 1 999 1 10 999 1 10 False 6 New Game pychess dialog True False 6 True False end gtk-cancel True True True False True False False 0 True True True True True False True False 0 0 True False 2 True False gtk-ok False False 0 True False _Start Game True False False 1 False False 1 Copy FEN True True True True True 2 Clear True True True True True 3 Paste FEN True True True True True 4 Initial setup True True True True True 5 False True end 0 True False True False 6 True False 2 0 none True False 3 True False 58 True False 0 5 5 stock_people 6 False True 0 True False start 4 2 2 2 32 True False 1 2 2 3 32 True False 1 2 True False 4 18 True True Engine playing strength (1=weakest, 20=strongest) adjustment1 0 right True True 0 True False weather-few-clouds 1 False True 1 2 3 4 True False 2 True False 4 18 True True Engine playing strength (1=weakest, 20=strongest) adjustment2 0 right True True 0 True False weather-clear 1 False True 1 2 1 2 True True True White side - Click to exchange the players center True True True Black side - Click to exchange the players center 2 3 True True 1 True False <b>Players</b> True True True 0 True False 2 0 none True False 3 True False 58 True False 0 5 5 stock_alarm.svg 6 False False 0 True False 3 _Untimed True True False True 0.5 True False False 0 True False 21 21 True False False True 1 True False Blitz: 5 min True True False True 0.5 True notimeRadio True True 0 True False 0 0 21 21 True False gtk-properties 1 False True 1 False False 2 True False Rapid: 15 min + 10 sec/move True True False True 0.5 True notimeRadio True True 0 True False 21 21 True False gtk-properties 1 False False 1 False True 3 True False Normal: 40 min + 15 sec/move True True False True 0.5 True notimeRadio True True 0 True False 21 21 True False gtk-properties 1 False False 1 False True 4 True False 21 21 True False False True 5 True False Classical: 3 min / 40 moves True True False True 0.5 True notimeRadio True True 0 True False 0 0 21 21 True False gtk-properties 1 False True 1 False False 6 True True 1 True False <b>Time Control</b> True True True 1 True False 2 0 none True False 3 True False 58 True False 0 5 5 gtk-preferences 6 False True 0 True False 3 _Play Normal chess True True False True 0.5 True True False True 0 True False 21 21 True False False True 1 True False Play Fischer Random chess True True False True 0.5 True True playNormalRadio True True 0 True False 21 21 True False gtk-properties 1 False True 1 False True 2 True False Play Losers chess True True False True 0.5 True True playNormalRadio True True 0 True False 21 21 True False gtk-properties 1 False True 1 False True 3 True True 1 True False <b>Chess Variant</b> True True True 2 True True 0 False 2 10 140 True False 0 none True False 2 12 True False 2 True False False True 0 True True in True True False True True True 1 True False <b>Open Game</b> True True True 0 True False 0 none True False 2 12 True False True False True True 0 True False True False 1. True False 0 True False True True False none True False 0 0 True False 2 True False gtk-media-previous False False 0 False False 0 True True False none True False 0 0 True False 2 True False gtk-media-rewind False False 0 False False 1 True True False none True False 0 0 True False 2 True False gtk-media-forward False False 0 False False 2 True True False none True False 0 0 True False 2 True False gtk-media-next False False 0 False False 3 True False 1 False True 1 True False <b>Initial Position</b> True True True 1 True True 1 225 False adjustment4 adjustment3 225 400 223 100 True False 0 none True False 4 1 12 True True in True False <b>Enter Game Notation</b> True 2 2 24 24 True False 199 -1 True True 2 525 525 False 500 700 523 True False 0 none True False True True 12 True False vertical True False True True 0 True False 6 25 25 True False vertical True False 3 3 True False start Halfmove clock right 0 2 True False start En passant line 0 3 True False start Side to move 0 0 True False start Move number right 0 1 Black O-O True True False 0 True 2 2 Black O-O-O True True False 0 True 3 2 White O-O-O True True False 0 True 3 1 White O-O True True False 0 True 2 1 True True adjustment6 True 1 2 True True adjustment5 True 1 1 1 True False start start False 0 1 3 True False True True True start False True 0 Rotate the board rotate_button True True True False True 1 1 0 2 True True 1 True True 4 False False True 3 False True 1 2 2 True True 3 False True 1 button15 button16 copy_button clear_button paste_button initial_button pychess-1.0.0/glade/clear.png0000644000175000017500000047132613353143212015120 0ustar varunvarunPNG  IHDRebKGD̿ pHYs  tIME  8 IDATx<ێ$K$&"j̪szzfrg?X,?BbItẅpw3Ugs&"TxOH $֚o0*v'vUl@wܑ솢Jˆ@sL34+KN“B+S J`أЪVpⳁ2X[:&C{$me`Х-s_m^Mjv\ٖ}L/;8jцZs^1CC^5Xk[?{sKkf0]MK]hхD70 =  dsbREL {DRzF6 ԚKMم5e&'?;}M`MX(ޒ}l͂|-@`Z'?# goGk l%-^5z4$D CyhM ?w~ScG:B&q?k$oM^J:,>x]Ct l:VZ?:P ?+qREBd(7/ L`lM e0-DGMr!̢ iLXgTlLnnDU+$Rr'ţm$]LrЫ4vrWZ{-k#&`,n^bPG3눗&^qw/?h~WJWHסG<#E)QxFQZ䤰T{(%'{ 8t&=Rp7ы86њ=%xzu'ŽJʋ!j. TZghRqq1|Յ"1iv/5?z/Z`$At2T$H#T(!يiӁN h!)Rbh (LDaW+B&Isqsaq!Y[4-UDwDN^ 8-N6eg}\,E$pY(U<|6!? g[2qͅh^jh)k5 Z|/{M߲;Q4fXyk9Y<pBQn(^{5O6!T+/,]kR@X .%dZ@3 fyӡKk˗퍛_s0|hr%4qŗKm,Ō,<p֋C7_-ţh{қ]K-E\$*h @X@sG4O,SxiTRu^ |gzbIɥɢpK]K_sk(ppʼnɥĆ?a\ ʆ5YL-^j -S"kAHHb$۸RD gyx#"R+ h0Ku Wh .&U (YlDb2u[ڹu~!هKey{Z+yuzş˯~DJ)?Fl]Lk&:_2 I!G_1"*)r|j L[v.NwEw}o3Եb%:8R]XW:= I!lS`c c8uISI yČlDՎR{yk2NY <!6&Kdoe %'1Qq)2T2 :WcrSLa=R>/_U`Ua0!t`HS/uCSᓲ@30ϳ)"`Sy0@y"T<ԊV 0P (`˲*prB  Y*f%I Ls#\풔렼+eBALa[,=<͛)y&'^SpW,,6ܪegrlڣsŒԊį]='KocW ]b=|@³q>ŷ!4~qj5 E`ѯTKm3^4J3/򵚗*޲pCZk('ē:S]A'/o>G7P*wZio+xpCCkQ*6>dyť֊j~Qbp *5-%/%.9y=w]뒇wgÓ] YnNMQC΢fVCG7_:0)L:u)b &vݻt`3NSp6~) \=9˿nL,N tC]ȐCҜl Ƥ-I E9 5)Q0 tКnKj,ia1@;֊2BC$@lNS=/oy䳙0^Z{5j ,f~EkB,M>]$59+$8G;bo㖋Fj{5!LtG캟=k :a4-!pn`Zh! l uKJ{:]dZ0Y,v0PԡM2)9)a2ՋOan§=^LƏucZ랿[vo*u|Kz1e-ug'<lj&xthn¿۔K%o)L>Հ[ NQԩetfb׮^ %mo@{=?K%ݧ@<(dԉ L/5O3g%OP©Ʉu~BA _[Ji FΦFy%,4HpE$ɠ([i̢Аhٵ%'kU3>b!yxgA`՛>یZq?^>bLѩfQ4!|ũ=(tLs]cS`h<8=THMZL#&(CvkA(sͽń冥d0d(lSċDA:{JCkɩ]ͷ _/"с?{;̤9dq^nmktUzC 糵S+@84^P"1H2O-$/(LZ^?gqSbN5gئ;G*@XG Tf ׹uޅ@Q`v,`iVh:SayTdZpw5X595,^ꈂܼԡV^3]϶pAcM(qZQEP6mumZ5]+9|ŝȏ~ɩ{:=_WŮgZX,\p uƛ,п8.@^\\ WNOߧ<T ]P?:=u4<3їDM@Cŷ^Wb-g-z}F~rLN^] [7[# ѧ LTWЫaM.fy5^1YZsJV \؁v`ճPK=8gG[sRh{,~Dʾ\VCPbhp.+HQ@aQR ~Q(fPL jyĥ%:Bn9kB(L^k?>NR,>H~۔ghU0zEak[G[E ]jͿSX;U ,˓X{C^ʟw_BNLGs)Y)'8]o>"='<Ԫ{ pOh| O rkjG=^Ktz GJX1Xa^׌CB.\j$xMԽ XشԦNYg\tg( ѽtN}u~vtkr <{LcubRC@䏶&P|zbT^3*/#Z̩R Ұw; S=U0Z ˪$"Y D*Qkr!Q rD0ҩJ3f߇O=A#55/U<P׸[x `,a 0uс%{5hiokS}®]='ͩ2xYn^k ]G/z2}jZyWJ!SQbhիT +n^V͇eXg۴}.cc^@E  >:p^yzɫ:sn2gu)a,L^uAyk]lũIf|E%CHܴ`p||\8svve,\q&dtN:P6T/6fC <\P'e Nè[] 69#Gz\h>CQC'~EM*KeDxm6 zm$&ϭ-߳_pMt\z䦡I&ek]G?UzɟXjGy-~KwW8y>.>jCKFMX R?}t[Zj#8Gp*9X\L^&*̠UO-oY'3>Qߊ~E-[.܉sऊS2<(_WIK~d@+^fqK}W)y2JxفiM32T^桄t/&&q /fD1T|K0}גuW!z + O 3Uh%h-RSIP:2ut*q 4%H/ZT 00t-s $qԉ3%8H;hE`gCCG ?i_JllT=bj(]uZNK|Eص9Hh6jDx)'W>ۡC-O6=ǵ^+mkKrWwq)߫lxpT|[^99؝ ǿgb.$sM˓BOҁ(Ō-6[-&t݀Xy[^1ۊp㊂l %oTΔ6hZY*1Sh1FO.5c| dA F󡧤 R< IDATyư N'aCABg 3yfytdsGqSXkuV98ixM`+?5 &0L+UlnfIfR׺ k-5gRSgZ8tpGkm ʮ3s%[5S1tNlg+j~ ZS6WtT ¥Π%smNmhCQMͻsT ayMأגG&zA0UCMr oix1ԪP&?Z,l{gw:՗&tvk>0Tܢ֒,&cs}2ʔe~}hq 켦 Z)@㥵֯!|p$[8ѓ,fz玲§yǩ76_=5aHj&Pclk[,jJZ_*^k /=T-75o+]W*ל4#SC)TR,4mSvN{KW?-› Qg6 ,79x@ g+L :z][y#.9)q=G-\#bW%X2|Ϸ,ͥgo..(K=[kWI_kWSk~ť.dEx,6bӥ ;/ΫWb[\Y\R8Q pAsjoyT 3_u_̵T;]=y;,W4GjKOfyɞv F}/>7TUnb@5OtUh՗ iQ;aahͥCC~i|T~&Q*a _2 $JaH>LuRu)$^Q#l4#ZWv^go_L/`maڨosx3+bT9\*yBqH柎^%!Cµ KY$h~eGZZxΝ7?Q$K\jfYU(`8 ,Ip32Ă E8${33LpEע3 ymc8LNn-ۗ=<,Y;akRtzزeGA^Fbϑ[=kygOr2Je϶=T-nI#e~Y{3ٯ-hѩll x4l>5o[l99TߖP/xZSAW–M4*(.%`#bXʬLnRL&2Et {IP.7ucz Jl:eԊ 6ȖSmO2v4bjQh!Y&sIb3ޑa3-kL=w4.m?5}s1X#LiȋKotgC=$Cr-5!4Mv[CTbXwĉpO`E(e̙4R6<,H&'-i=KsdsmJlZ|sJt fJ-aL6%uȮ?4,O/!^n<پ[)Ŏq[̇'.lZ)[n lTd=fmx"l%~=>[chꂾ8R[N+௳֟B/3}.}zgiZ^pÛFnHс-Oy-Ŧdi8촤]z? |`j9XۻiУI-uM/1䉡`@6"DH)p$aX\!yB EЌ].!( rوaH6m)s$X$05tVCx->G>m-N˾]dVM{+pj\jxx{3ljju4c2di%}"A7mdnag3}$ۛR2l&4Ga-.[zf=nJbwGN++6Ů ZnGlJտ7XX´Mii}/aӦ% 2q3#iG+3Ͳoc"c˷(n84rȴǞО?:lqly[~igCֹy e-~>s_"[iq-Yg𒺊yEj|{7&mqhi_-Q'p&O {[@/7l:8rd[0,Qpפ4<8_χjMZ&Mb-Ġ%ZJCg_TρDKALPO@ =6Z*$1|;{0$ܲ_$"dOX|F1JYmBu gn:Xf1iā̦o&HiZ$,lMtwOD\̕X ᑊa2e(Ք9[6-vGOp%cⰳ`tic.Flm-/z -~ td@Ӗ>=V;Oa4|"p-f|/<= J~kח򴷘|b˟ d#+F!6kAXI`ɇ8mdӷTF׈w˗fJQ->Ó=KIKU^憚Sv,G6}әH*c.p&2a,s% >( EYޖ+x["z[a=ȚL,>mҏZ--':얁$2PM2O4t-}:i[ 0 ?-F_Gs - { 4+hŗUh{h*ˁLjʒyY;SzVOY8 -'ޗkq-G>*GAXץl?u9>'hvO.+2M'th 5D"yBC;MxelĐ3Htn!5P;Cay8J81cϧ'oz&!Ppвg{#lVVɇO0<Ubdܲ$<'\ebX M"(4s8!'垂_95SS']·=wkex8>= Ihړ$F~@|L.ˉ 񲵾Pr]97bx0-.-ag{*!ɷayY4 tݖ떥 eYs()ivoъ{]4Ov-2<4d\FN[Fuˡ&qO}yώ&ǩYTPw2GLn2f M_G4 $%feA \ܲT'Hۜ .>5.t 30t{F =$vW&e*=pc] a;&r6=̃o|ieLha-Nȿ$lⷻt+ޙ21 {, H"m\*Kec AP[`@cWEb1M1/9Y@ Om _Ŋ6{ܯXp9[Vi 1pˑMIM==l FIӖuM ˞&.N.;F@L+dрbL=Xt*|E%Y18 yOGЖ 8[:/97 ,x4²Ar&Y:Ґx:cb{|MCZ%4S-Ut-bSϿ5ҙG6e=vТYbdWɢEjPz9MMd8lKVaV+2=EP ={Ve\aҖ}v2pM+Y&1tX[V LV5c8f0>%ӛӉ-oq,|_g:ZE.zRCAѲM\zW~G_%`{nyXIGǧ@ lrKSe~MvOǻt4|y-R?zuز[$DFhq+dVJ[ɔrY}Ϻ^T+]/M``&7ĞjU*?[S!E/ÇEڢ2aŋ.k*;_0!abb;GfVh-NEʗUѬNFV.:2a ²Qh “ 94mqhy!i; ]e$ZIL)jz!xڸd2/ : \j=٧a[,N>ljx[oషg6Ӷ&U/xŗ|4C15Ua к aYGdbxM,G藱sS6VN6ǁ5lLJ_K0$< %e aJR$-'`yK#FU`SE]pv#x UvdyZv)خBc--_A"|a[L/[_YRɖW0!7 n9g 45T`ȹŧXFj/*C(a5dC"X]qW) MT@G"9YziMi/r܀Xȳeq+'0DMC-u[Meo-O &aBkr/fM=@2qS5w+v9`c߷NurE-= $ _0Ҭ9k.!Lk@,̀HϺ2ZЄ4 Ip-MGA< 2<,9[MT¢:jPK: ?D .Oًz(;f A3VB*K[ UNгEW7[*Al Ev w;c"=L˾=\X]o1$ޣ|~5NڦM.b˼ 8C{ ˒+vSD+M j>ᴫxyRCӆpG!BLxV"?q1\jU+\YMh߭`Iq < z[njFa-{) ЧmE^WϊIզ9 8=DCM9Tjd\Gu(a~)Lo Z|:8NlӺ{kC`_sٴKtj+Хd{-U4}˿-e = "_Y,pUQ{z\*#WLNL/Wķ>bY핐Z@ٵkwyu??#ʕ5Y -CFr6T RA:z (qIݐuO)Y޷eY1`p4.`D>@ŁÛGuxïsS{m`UhE=-p[(`hoDThEvOt׭ x8Ҙ[yI.b[vUΩ\nӊayǬm$?֧y-úMwOu=/*M?g n %i@GhcTP W@T-IJzlaa+josiWiHDbˁ0tGm!Yզdif@_3|,鋻LI20rr hyZR(F8<-ݧt}.J>\e60*~Y^貊y~epbBTUXי $TS9_氫pi#*^xxT -nYpN%d] ӖXܯDR#LU\a=\44oRU{.iQE vp)޻Ӌ;2p=ى^?mrbKcM.+X_jE  tg 6,5\xeqZIG&nYĚ\Tٺ%x-~a{M[#\WōlX6gSpϒd abBz+($gQ IDATɘö 1hZ/|bV^du =U^2r/x]/NnqKpU]cRˡe ƴE4,xB˾Ċ|^L%V$fe0U~oy6TbrI[7z {uO^IxiVNG[ֳSMb{F(iU,ˠYBu WُUIF:B,$^i)PU%pٲ /N_H(YoĮҹ N4ô€M[( z:'pKG`rbӓ S~-;, 0īj-.Sl EiWN̅=lϓoYO Oz*HRq>C[ O&fYiX#"=k|AIYL$SLD{~:2E 6Cuw:2fH4s$ Y8}a{>Y~-€N3,s ,Hu˿ Ӵ!]&i& %>}a Ͼ\YԐtk0GWo2"<=ȩ zsU߯p\~Ӛn_e~M^u+&[#eBWKvTVyUY1a;J5T0ȁ$tӿi?-U3ta!òH2qZbaӿ}ZP<)2~5ѕHIL#ݣ Hh!QJ{$[tR.$S2/Ӟ=O;-çQM?"xhJ}Ӿ[{+xвiVl9L㸲,@<O<=^mO+ѭK09WֳR.5,K ?j3^35\4L+D#Mteʼ_"={K/m卂(.b5Dvy)˜]_F%[Uzfb/_U* W[䖸LU'=&Jh)4kE>;x촧z֭pe9KE+vZDi48\Pj)5mY;5J"0M@u1:r-p/oQna:a: [vVz aPBa-qVxtW}kX_+xش-N tM ?F!. nITC@""ke'#rז%:}%ⴏ|þ}[ntI*y0e8zW%KmP9~2dMf=-ej|(q+vٖ^"X~U/翋/50m<.i쇅yMB+ x4i8NkO^*ݺ bN iM.䦆RĄtuL;k-O{*^'ۗwҫ' #hNEQLѾa µi[E|:_[ܮ$ue[L`Zc{8FyCps{0rZ\aBGbd(ƻםosY\Z@,U'Q`]a"^wkUB_=2n NWH6!# a{\4:c~e[GFo+#tb˦œ߽oE=tOj9$|M?잇KI&2ڔ\?_7ר9I! %QZ#nZ\JS^5[v" 6a/R!x88/TҲ 91:}QT=#M@yKcUSj1eZ۴zz,5{1Q*W yq-zZ\nX^9"Y`W[mO!Jr ܲ"*^ S |4lWG0ʥ!.9j k1oqIUشE=˖_02sE]O]iOS'?^B(51M#$U_a]^ia~i.0i׮1rW%xZ^I"8-^_6_-vO'?po|UNSuwGK[+vM>mo\#DbqT嵥lzX իYK#2HlyXXiH,_eNK-.94aM\6$ia{=ޢB%^ʳ-FlX`R2av BKM.-vjbQ׮.:F1~M0@gӐ_$V vM෫4~Z\fmˡ^q1&&a]aeW_Y))Vv,s!qx-$+ ,ڰ=z\uL5醓MH vm=nr`b-a-g9hO>v>a-e6YA+7l4f?<ݖUsWHfUdpM[ YqFe'-f8ҨXqi^ NN9'Mj+85dmm\MoDܮKjshi]Iʆd}BGE:5p4ӦY M&Q,0155m]XV7Y2 {=#q+JD5q=? E]iמuv?>pK`M%}x ].6A4}!t.G +'a[?So+ɱ$뙻GdV&G`s ¹9ze :!תʌp7]Xd5/6$OVdg}2[N–l#lM ME[׸{Z+0m8#e:$0W@i{j0j+ZV鴏L?힚˜ z 7>]^ް}#io<==l-|EzȲδ []A]4ð%}gPS-iÂ4FEDhb m+e6:-m: tL~̱DZ\&[mJ2hKBK{`& n V;4Bzf}tt ̎G#{6roy+(߳ż9]GG-2߲Z\#m\Uh2HF| %5J}F: ?^0CHImҼ j~AbTmZXβ8tgX&2)E*ԑ-Qa>8N,Wɤ ۋ4g!8W 3C#@7/_-Ͱ3^G> )`ZpD#5mAYI㴝eaӾao?HVÏ2^~Ӊψw:|zVR0>pbX5a[;GL7ҷJ 6*{˕5l Xki˂"kzp_'&lRlu">W06尝!054r^>MY/W+ت3^* GHqVPDRNcN@g rdm)b\uic4l5}Z_vie6:jz*GHc .)Vir 廿Q@u=^ .6[z}YPl0ߋ܋?_%n&V&[N_cj~>߷g a| ^'t(CtWsibX)s:b>VOꁭ: Ff%>9lD`jdW1;1nuZfPVJ*ݘKLkQKeԽo/'ؗ.֘=6c/)Op[ʧ<{6>,e}U LlDN{FY2|{#_,}ciLS$S.y0>fͧh+yNw^xڀ%d=f k"ʥ i@>miEsJ`Cp>rqcg;VA5( 1`c1# m=#æm8g㭜eǝV>#Ɵ"#8rb;)n5ܫ7Q-ki4_g8eNn¯gyK4E68FCvz!DzkW:kG2NB4Ђ\&P6}+D+.p Rzi`1q%dN_tX\iZn.grx x0RRcT#N!l*'-)'gCF)G)w.e[§%}2s\׌NWp|VӮ<|yZw xe?C skjiWr3Wvio9mxT G:;Js_ccm5yU i\K7_.5+!/-I5mfe:I8 y*8,`}Ɵ1P4Gq6M=qVO̷b+v(ـou;ժ l g"6qܷNeCY{9(\K^T]` 080\'"VNl-"{^2ڲ0XwEsщ6|\XMcYW/v0ClS"8ll@iVlOkIE^lю0~KF#ouG>HiV| ?oQ2dSh :8o F@kzZgl4LW^r5kdH: w$5IֱNJj+v+ح`{ux{^ri_1Q&&ۄll<h6L<;GdJBm:lD) (өy^LsDGZ ߫U IDAT:?jpct~yyDHȸj2M{glo֑4ui-O̘H\[#֤4iRȝBjNK;ݰ-ˆ?gF<ᑏ2k7Ӧihll Oܘ>ٜۼOO?}d\tQOw6 +*^y&>cβ ~L:nBfLkRg]Z}r2p$X QaJ:\r|˄nVsN:I.0#r_(aW2 i^ D}@?۴/W6?)Ut:o,JgX^Mw>ԑr/0l"#1r_=˽^!xV+,+Siݧ 8Rfy4ժhhya1mh \ (H,?pU(z|BM%48Y?4XgV>=oeL;]M8ujG:FNo*tU.ۙïsO5: #)y.^NJ-vZx}A/Oo;}dsgs:_!{jܡ?{̝@yX[ߍ+DGWo\{M^s݈mVz{iWL"j[(5 V)h6/WVM5>jReI|$1<5XgnhiÕ6Ç~+ V.즑 j*N_-mWLFGy?˱Ətʊit.>+Ao)Ć5a4Z)E:ےlzYoF`34NpmOrYSBdBl>V},r3N[&j\-2v.-p_p:h0mT1W`[)E H) Wt9<]-vF Ï(ꑗ%3r `u`5 L2: e4KLWVT[cE4_9ă{JTM9}s"6nR r{=aę^[Z+C,!eı4+pþW޷yg+_lNֺƶbMS+0ؖcpzrr( *mo0=7<ј&ZD\p".0"բ[!A䲷帷a;KoSP[Ѿ+Ds;DpH QjS\uǍÇ#|ڴfK߲dY&lZ=pQ{ ѽUgz*-PW~#V\`)Ls(©ar$ȧ ^ ^nv+Ysj棂V4Gi+HLR)Ii3 nΣOo=_Qo0 nVĶ 0/G:ڷ)4g3>yex`ZXzzq?T;Okνtg=?*Bh[ ظQ[1C (2Ԃ9Bu=㽰?v>*ҁvq4] 3Creii׻ףP~B`*Aí|9k%?3Gg[>?gїk4x?D\Vh(3>AY[(\} YWFRq*9KD[OvZ: :lgө 1¯-\lSp?s߻bkxyT=k"̱q>6n p iA+񈧛}'eg_^a`Z4n+v \.xpmcmu%3d.;8Ͼ-_?B;S¬~`cca6KTë{paWFۡ<:~W|V_qVOO,}zFkj٫pHG%wM#<%rv Jag^mlo;ϱ>Զt~䴧.|?jkڰk 2XVq>lX+t$:<([Wݞ{6|`W:hzFq2`͈" ޡŽX\r|O;V!xDK#ʜ ireB%w D`"/ace2^qVxoi0Zs1.ԴyF M|);ܥs)t60,j{\6q9;$08 oTwm |=U*vn{I#Ya"O|_]Vf{2k(Zݘ"gV\-[@9/xW[ 1 lG8}jpG{F:åT\+XpiyywLF%)I w\E9 Nahƀ<%eeձ2hwVRym0iN[}o) j'm2 QbⰧ;iGaΉ ggG-[[=qKDŽ[p?c_Q?Fmo("֐tëM{.3^{>.Aԧ@-zF5^/)^:NB6]O}|KY-?avzԺ֛nZ͗4&T̲//et.0 k dgNot5*n^K{)GJ袟nAF;VW#PHO|Y&)gװЬwzidӣg8ulLb\%Pp 榑`+Ow^Vh 鬅4Tc: 2%HsIjީ%{ƥ&l| \ڗnXCŽT9T}UqK`/%:c ) 8{jEyW{MOmU?ut ;7b }Ӧt^f>nNo7lz [ SY/%D%^6(ou*/9ֆ};6tZѪ {)]ܥXNeTop[.e}8qi{Zv1RmTb#e+kO^Lvmjt<Րv#* gg<{{r'|Vp.JaqoyiWI!GáG=om+g M[^ט=}_SWHd7\".̴^_FܒycxK>mp-l @eD6px.}kXt%5R'\ŸY*D l/G&ȝOn e ėm_biZJ xĒ~K}TαY( 댵 ><]QsF#}! nYEV[⵲|8~VZo"^m?Z,^/Pl uÜ}35 V3tKt-U^h=u>ӎت%"Nic)z%3js8O5^|%~nuE#(+ ?U& X76a_10.Q}ejߦVv=AcKc+àËFݸ-dg/L@]/"^O~_̍/c^q+й}I鷰P:u(ˆ9vՠ)}d^9~{3ZM;3_,`\h\+~2@Z-oPŮԮ۩жrW˽jΎ]dax{2Վ( eNX/j{H /y\,\4îZ{-QqYҟٹ^i(mXVb bkuJvS23bz->@ق̨G6׹>3xj+tLwt{KO?}+?xT~:-49i?Ψ`}mW,v.0ߴ3>F{EyýbIZ)J s#/qOJ:_WSל-i48Fe\R1ۂ5;cQSRSQt&Qi8]7zVKS|ZAyJ9\t<, ِhHK(>@~EcCHݺ /vkb!DӝƏz:L))+: kt}VP ^B1Rض eՐqk@X`zKwQLK |׭f5+P>^Xwϱ0Xv&Ҝi x'jixJ7/LXO7Rbi$Up,\=ƽ= i;mr}m%L d6 IDATW795lK&9sZ:|NtZ˔R&v@hj~7{)%oÌF Eh|*:6J^;}+hiH3xWt&2ΧsٕA-;;(g-ݍ :k)QFZ+OW9y%$$ u:yX2(g~/7 xg4|T5i#ӿB0F7 -b0@Bv#| pz:d'jIfX ˘>\gq+ ?eްe&%^k*A|)t<J-z9 @phءmITZ4 8CO$>LG<2-r]vr ǙN f8 liW(Tax7θ’ycMւ>T(2ᥝ:1fօЏ[E)ֱq3%nrٸ^ְՌiO^3ȴj)(Q `F~8@z;ٞt紶Xi F%efJyZ9Ӕا*W V_8{nuA%N֜8W+WA@bmz!Y\ެg$΋lґs`t;=-Ώ|?e>xFف$1 `N` .p/0EH{x|}7[˝rwMfPaa@jbֲin(eKBoB@$^ݜD <]#*P'`S?Y\ihxϞe[K4K-IaW?w>. :^ۛvt@cdg4:OmنiƏFgp`[' #_n|~DٷrUx@JtF{E?7NujSIRZ; Jt6˧,NA{K󹿽o`hI۬lVt^׹7,QvNaK_9ZZ!K\la[:Qia#0jxZyG-Ei5tαrԷRd'DP2oC9/4Bs@dU-!7apO6QƊa58LԗbsZ`vpÝ7A [O}4;})tTɷ/mti Mч]7eۋw1W*a}Cӟ=e/xG-՜͍駡>D#%xȪB)gxFB-Wl%sWꮟ{^m=W4|9H(2EiG|YWoF_BY2/yuh :eRy@t𽢆T<ðe#M/fPpONP5Ad;[+h8v:uK#A=i~a;'f0QkY*PF%NGA^ڮ>rZZJ.tK?QZ@__i|kpշ'?+hƕkii÷U!FZbXc_"+:nϦ騸%^0G$`|/?^DZ3=m66(;;=MTbu4tbB+6l,~ܭh?ڽeimez u_|$Rq nu4 KRzpQxg|3[6Nk; s7b1l~_ꂍ d:<[.~fmtp6hEx\ D-if/KF>Vb*KAǭumY-)i4­փ/6.X˘0Sdh,RCyMpq^O3HbUOV#ol셽|+|73(:jQ[?Cr+:f8b_MC4>8G iD@"5P ٰ: 4G?V a?Uo#K$鉨Gdf7QvvXz;]uNfB#O_\TTfF'Weau+e9zN{͸闃wdŗ lՓp*ba>W?f&l]z>w=?7ꖂ`l9Hih:m*.Ata[֣ľrמÚ"F/ i6͆~Btw` jcr Uxeߖ7yt}YzՎç/t!ː`H-z/! 7Y{ Yx0)W&S_~*Ӷf&Xe}#\9GX0^0u9G hB,Nvz);LטLv~_f*88SoHNAa8,$ɢ ,sٟLC(iuZ++}azj5c*emxg3u}=K{=r-24V:kYsxZ5- GA/-u 0x$28eIA |ɽ̹oQM|eM+aLmf?oG =f1ʃ!||K  ڦQg '`J`8岗|ibl"7~ϖbBaɏi2PmJKG k1nӳ}M鯶҆D=OE)GpdU<~a.(04LJ _T(ra \~נzv.!`0D Ln'0ɟl_9IL˞:B}Ax\OkU5t0 l@'3,'kXnhz0Ú~y0}zkBp+qq[}?.=in˨^ ){,^^ú6$w?4ʾ>o{dNb:mˬ"c@O7-&;#qEː$ 2e%jp.vs C/Ϩ{b# JG'?EcEF#>MD1;z,nM6ͫyTe}uݴIXscW\[&8*kXի>㸮j9J$jYLp@jW]]Ӵk.`b[-4j=hEX:ޗQaӶ. QE9'$2𨄂Z 迯-Κ_k&:m0oK }?cVCh!0ɫPQ{a_t2!J{zf_a 2@v# *#eO=AG0lZ]+c쥞 ڼzM_+K`$:m&mp= 7ЮVrT_>Wݵ8ǪX6-~Wi^{sB 0ZV)eȆ:,覝HjVH~*c,5Vn+ -2k1%/j|iɶFϝ.+mɴH [1kS\س {ڦ-2;0n V&=_=-R7m6[ LĒ|xi`|Z!4S핕EK&e/pd~6,>wJZ{iZOנ . 5M+1͑\d^ M9!nquBqؕ*'O52fȆk˚@ Kl2,&"޻hXZ Yyb`C744N>yg8MٟۼGҾ_v/5)5z9X+NuXn ^6`מ bc6)nQ,&ai[t $_),r^y=^z(5|}sJru=max6)SZci?;pbpZӴ*7 Z]77fEYGb)9uFhY&-vbw&?, g%kbϏHʹgؘ&L4-] =J :w vrj%I z, &}r=ELklL8v"q2aXpDLvK$@׵hM:g Q9Bqf2&W2ѵM7 Ks(cI#UH{5 @MQ/,"%/柱I3E[]`-#z!6ixPe NܣkfUBhTR'RKh x b+~VZzV3~q1pQzlhд}D]VT;GqS0GSӲ1yG qXw kfA/N\ x wdYf21 2jbGrx[4mZ8JI*8 sѰx`\ \oliqM-l֝eCY~)E՝%(O/ =+>OrYgI/H/("2ȏ 'E\`*ʎiY7T~1Jի-8R*Eޯ !  ![XAҾբdJC iӔgopCk!j'8L,=妮$̎ѴɫW!Z/;(Ä V-\|@GE7[Flm O&A>;?f69HxN[V+M{[H}%!v`vA?/ Q1+ĩ(DSa"ipHFecGV6I4iSM-";9&2C)1bV2dP rxyR7I.L˒?l=4$*`)ޔ5Ңp=5q "LMO1Д%˂ut %T[6Zpq^CLl3<ʫcgg0p0l(NV[̺^K4!=MՊXO?A92c6l:5%ŮѤ1v֯O_<-Y_Vuč f5OF[|z)2p{4eW (4:'n󲖀!H4Ůl.BitA +R%HCdMAkFZlѮ6tRVk{duK뛜.t[Fm%G+t{-O+ a ~YW`ʩ.:OZ,E*8Jwޕ 0-aHrv -ǚy*JiųALP0U #^PVN$0*| y=T5TXA[- 0lh2"?mn1g=Z8ҥŧH@i9}=ޕH>cWoLKU}o]oz6PeW}XT͕FlWYz†_؜ >-_Ʌx/dѢgW5=mZ0)_Zaq(QܜB\n/S7p37x8 `<=EnA|4khvx[grOkD|5oķpr_ŒB:LA+;M-.u?-Q(-{2ͷ5^`/#,19"_Wd~Y/ϵ %Sy+"l>R1=6$h-H䎝PF#]R蕾 i50͔B<ϋGdV[IeAMtE/E{i9RYFh47&?ւW0D\i5 NNXo`GoOc0nL_?ͪ &>d[!k-nD %\Ը?AO`~45-tyRæ9:4+A 9,Qt2-T2[N*ۅE@ ~ʉaI2lUaӆ92~$̸XG" Ꙙ 2zFTMXKuشg3W2Kzbv\Jr v0VlHDiIv~i qZ6$,Œ{m_P\I?m7,R$L"8EY?dJnӁe^Er9 8W+^Wui/Þn7Pv gB}|$Y  OCYw eq_gKjҢd"Uk,p}H1h\@PK;B6wOB}'WG6u}cNԸӞNb@4J-O" H_n ¬<e6q Q yz v-LN8a~_Q4i0yV M_LNrni[V_ćT +˷8m* .k:p9!_pBWÿ_ДN۵EdLӠ{|MӶuL~ :3@%8]Z5 }^4$oa`E7odsM'u2e.UZYrӠI쑮M) 9f0_d+gbUtpCh+t/!B dy~!7ox|0[+id~m:dp}l\xryxiʳxc)=m`0F2^X]-N%Д-L׷3[%{O727}zŗo+.c#n´Ya}u-<|ʺO9*mj.sX\Fɑ 熊beoeLs-Lq2DYjnmT^1ruLi' 7΁%``@{ N# 5 laLael96[qZoTa,@Ol1D4N>TgZ/S9L+CLLnml[<}-r_L(1 z%]J@[qC=> [p\q1.,JP_,'FGf7u9T&} Zd\MB)ٯ K2۽(8-U^05ue"tLdSW{*Դ)lӶzM$7ŧ~-N6kc:m+iNC,Hecl}Ѱ/&Л֔cQ[ds4[Y!ΕMDY&Ot N[ 3W=2tFL $ZH1ţaʮJNvpٮlF8lQy.3tM2:lR1+"opSɌr+Uw);m4,'E`e=M 5m+ p$[TMbCTe75lÉɷ` {#2rkaSWqZӗ?RK˶e|l꺯D[$N6-2m!Ma0,_H2QY ]\I^281O]EM{PXf*,96!& dA4AXއ9pvAZ،U4<._TAS.Fv_A1&RQ4{𶆉 Ä]|.{en䤺DQW\e=B1<-%[pe }|͊aܴI)A@lqhEI@Zpo1tVѤk1 3kB Z4$]VZ!BJ p)˭ ;w dwr,X{WD~ۧ)%HĭM&C&rԻcG-r伋˨-WiX8aXcM.2)+geYj.ߗ ])3 \8(LWhbZzDIL9IPKL#D9VXQie<-vg5=p[$-o #k%LL$> tKӂ\teu/Ha!C(v9'Nt-8mJE9Ti5\(i->G>0Pzx2ӈ.J0N3u)=[,v=oX/.n`W'n&'N4䕭bZ|RXB/2IN=x˗(%Y1LR -&?ە=JO7vHį&l-٭'ִ?r`O3jŽ-: s.t9V)$fx*48Tۦ]Mz Y9\n2Kb\:BxeMK-n밮 Q]?fU-v- b$ €L0 . F4ƅPs GBEiv*`qW/k g1LQ#o;.t%YF&#ůZ&QOb-uu*8y=زfaT!$8ged=-T`^˴`691j=-}҆P6,0زO@hJrRTm^?t['À{ uevD Ⱝ-,_i [UV(.Zau6lr/]>w5(IH3aiN$#f|8uJj\nB,( x I6@#mhR(GTԽӛ&8y5Mx2l1Wò9z[_EVQ#B&ń521BǗ0Dh釗黹>sT{!3o+'ZmqXKڪ~L;F3lLROLBzg aoW7[0m1 RWpAɱkǠ0J=6J)7*U)b9u2S3,KW2Ejyo3'6܁+V!s b8yO8cXT]Dhi]m-/} 2T`ȹ}rt*̴8 bC ,fnB9羭ciMP0l+ϠAǫ#^D#=^ yh}ҸMgL- :ni-hZ2sNj?#pȅt- Ա6J8li޴}}dez}Wntfi=֮"Қ4S&Ƴi_$C-c1@睺Ų{xcL~u9ysW4vsQH7ώUvu䇷*y-hgiOԵ0/jZK`<-hkVϜECS6㾆6YvNL6=׼~ձ:,pZG}ckGPC fw$HX>\|KeiXI7-`q M=rOb[4mi^bf`Hy-'Y]kTVP@h0X:uD*Adc,%Qc܅ul-7xX9=pki9KJJ!)2ٶtu/u Je僓n?o8O`@[d]ZUV>̰*)?T}IWޗôch1,8duXKЮf'?vBW YiLݶ ںmuzK,W.[;٫}?wrtzŢÕV& F)f*=go˕=n Onۖjz_frVەb- Ona'ԇߔpsk]8=~~1.G.JngXpS0 u{ p`jm/C$O7b&mE:kqص'[vRVcr}^yWPOWWW2hSD$a8:s_#o{ |caᱰ ,o4Na =7.D4vb`\m p)|ɄܫYY(P֫V3J/^f|9k~G~V+Y؄LUb lEjpF 0,61(A. W-ʐkɴǮxFq/[5p ?MNz-\mz_qbbU6-ʞƓΣ{8uk_ӅBEQIO_ܵE&HlऋrbgFд=+*imIjx/僒ZUT[]ڦ%]=Q=v-\$.„D_-N)JPm꺅`)e0la3сN&$7Ǜv%Z"4>MF0@J. M[)_ "Z!s6`_Ɇ{&M)I]ɞaNJ@1Or4S94.&b 0=}aea{ڪγRS}'[8f DaOsi<ׇE@{>xniźouеU5udy M<:KaY_B  H>|rbC 4zR- z 8=`7vy@Pj2Q)r ZȆ¥vBsLK =UVD '5mʨO dl2=q'#+m@Td Ǻ0ßh[TQtR$`h[|[/F@cr<:{ qg[*Nb~̧Q[/wO_{8 5Q 8m?->yO3Q'3a=) 6%j֝m% uC9*1'02c=lΏ͇-8fpbAeZN 3QA9ڃ5q-E~-94mqyA .]z$7n+y=qVLBuXn\i)ȳ5:d-`xm[5yz ?i+3}$9CW/ⴶv T=JoV'; ",:N{lF@صu\a 8f4qpm/X-]K@K\- y̐P%^jN-B/IBA85\z뵃 ^ qTY3i[X|aQ$ޮW%Z="sSoHOF+.HAyŤp7[\GH>:sgF<'{Βia-t$ QAN#320er-O{b 7p&ll.,ɧWz-ߤ{5FװaS2rW?g^‹[T-xd]^p *%)-[Ŧo9ۢ}B +H]: hTQQ8d핹aE]+(c ]7 5ڑM.Ս/F%# `RK%'06tM"Pkud21I>]Fmh:Ow$:ξaRVzU@Bb8|Ɇ &)kUv >={%(@˴ UmQ&rEpr&eW#Yszd`!X[WKJAK%Ĵo#\Ĥi񴂧N;M01V1YޜV"t&] py HvI}`gh_a0m=u˯,&vg\G[v `W A^koN\`_A=e{|L-č- JA-'R,Sm䲷a.*U V%6)0zdkً(ʆa\;:]|ZRD[Zz4=|ug`Q} XVT[$>lWl55)m1fG;GUk'aɗ T$y3hh*Q儮]:&ǯg`M;Ζivi |JbOvjړ+bhǵ rmV\_IS]㛶uYևk+z]k'Ojͮ|s\5]Ğ'66L`KiOxQ_.>Xҧ%}̒ 'a{.0͝ 0- .8_n_60cV K$0VRXk~d$=VprK۷`1liW**/t5^_rU98(Oz)s y+7Ur/`2(Ɂ=>r[ ,%=:*Z)W|h08x!0)10W3}I[&&w_oYu]FK`tp.t8H֡3٥뺅NCIϊ4>XtlJ-W% dϧOx=&EzGk=z ŠVoAеRi`=E,$~LK2PB:3f %;-wXrwWB}Weu^6[M7{ izy`cឞ(—m:L5r=A##שS*^!G{<[t@X#a$ܙKw- 6xX MO@5mil^\5c.GbOb]>#"LӪ޼eǜxY y?M2:N۲`-tܫ@B0#ykB)r~WZxm۷(K-_~<r+\`pv) Q&\[4`2"BWb[1e }2l(jFx3|Ypfpp [3t3{Nu>8b2Y]#oYô`iU5P p0=vh)5 䰉 &::\[X)LX%z@8+㾶ԅJ:İaV\l(ً?x({3VM, bͥz¶6cbq&op˛LԳ-{CAmDF,p&4)7B[S%(cӞ 2 {lh8l&e!==]72hyN[KۗANjWI6-MD%ᱠbT29|id/q5>m\=j96ꭦ&WEI.A1A ziPpX-DfLKXaӇ?* 4 ;84Wפ`68MFn[x> EKIK(8<d8qSkdhq_\obTR*+żc+r_s]] O$sZ8kICbJkN"¨3=J2Y򈻌'':.M@OUO/ C=`oInyIg:YZ­`U6օ[~ D2J3QNZ-G"HxJ& njN_H8ѹ>=&>84KÈ455Ք:kr!/o;E]nWճE'_-*cR"Q2 ;q]/p=kjnYnMqZеGKaZRjmkcZɯm?ckSIiuB:2r!g =T NMn)WQ|z{NfŬٳ|^Ceg'={^O} `Onl?۷v Gz&L…SGs匌"_u=]S> -<,QP{1724DA`vkYC/+mҏ{+d][vQ]5MXu:רvWu˗o P`d-sE+{%[9UN@l2c뙕S{|Ã/Ŵ߲p}-6ǖa '˟np6׃pZū+*Π 5N-[U_GCpan[6`uڒ[*t6%NT{=(ں7hAJ;<{k=WrA}^PR}= KxX`e˫!Ed򮃓d"T<'05pjSII*7 x紏#ã r)=p) N3 Di[V%M?fÖ S%r7Ch0%w n٣#_6=sjw>6O:4$ONkY-} :\`㰚zyS79R!Ot<,1WzڪP*bˁaEUJ%s\f^a.-2Z_@YtA/a Y?b]5x3kQՠr!.U h{ ;V"eOlM"-#j7Rg͌sNk:$pxiC-?M=dK(.{2[V򴫺W@=w]Mtd 4 C `2Ju<=k>f8zrD WgZom'o=خQij({eN OL.RJ~6áA<þROfX{!szL(G47TЁa@z9lAqKYL8 Q"`" Q1iIuӪ ~R1V'7Ƕ!$@/{y=Dnz?c*T\@e^8FEԹv}Ò߂VPRPJtLU""JqD]Jİ|䠖qZEG4oỊiz,0J'4/#KlY @-dqjS b%TgҌ]x,F^V1f1f ue3&"r00kKMkTiMNsha=0[diՒib)8e-|25EV*lu*gsumCLMMm[>,7D\kMwrIɧOŦ'%Z07;(9-Mo Uɯj]M[ (VI`D HVHR<|ZGevZ09 wa'[i=b úRu*vqXeMOvUd]|B9! ]tԳG1 )jaD:FVsຯGn`pU^merbp,O2Gw\۰Z@jϤc4VSF%WI^nx4c~skhov/wYi;oiן$s1 ggo^;W9]C/r([WdB:[dÖ_NZ=(yd▦Na-kG~pg3/j{TmH1`:9M`K@R-MOhuff_M8b02jWx%gEb$ *py0-U7ua[%3N sy%%+'4&2d횷A2L I[OK-֜&5VLh9"LTyE(牦Zܧ@g=/v!QY ;LbUc ػ= =OkJ<|' pRgˠkO IDAT&$QveM]&ىMtT5:*LOO aviWޝ[ZB d.MaTX]%"UHFDWUR4{ԅx˒w}(ӚOe]"1.8O/HPq˿Oװ䳱cV6쏓hG^dʻaz>l?at2N.tO7sԚŋ|m*Bi&Ӥ,V`ȓ[Ƞ=M - 4_ZxdQ (XD6H~U -Pi=JWɧ7mh45BA} Z=o6Ūxt.ؤNҕ%ܳ47ULU{aV,i{Xztcv[E1jzD(+ZpBYxɏ"jyo֨6.iڕg,'ƦNy[֚dc ]M CSX k0mm=-No5Lګhd,q_"%rܶ}wLz\/w}rs[6=-K&]GZu(Z#]Hx= 'zAonyi?=z/ө[#ja=J7 <}@i&bK*#=sI_]ĖƵ6RF.۽`Ӱ{Y߰X'dv> l-嶾M ||Ǽ]֔V'F=ma)>>1LZ7gڳgdذ=G25=}؟=LM'޵3I{'8mjMќ19paX &s4)*unrKjjJ<`k^~*q>-yj_]4VP:ê=ĉqON^˅*5[ 4 E=H /8+Q"KE쫎L-,2y$_-?[<\5wa,Xt`Xz% !;jpg1P CqƩ[Yt|',b[@$t$4Ǵ\I[\ u_i[.+[]40LCNkC`%kyZ2m,5ag+9;Yx&Oj%-}&ֳg{ ue`ذ>~6c>zݣZkyVG-myxK7eӴGIc+kvO? 0PA DCgBћN|%2A;!Y1V.&݂FZ[>rj*1c&+MWW:sdNۀ,}DkghSY {`be}d^[7pb1oNvtcÖ$J[\[AP&*9"QA+Q\B N,欒UG>Bg+0Gɂ+Y=iXbs7'ky=,PA0087Zt9H'ź.B*z E88-ӋY<~=?g)TÚ,gۣV*to{>[tK]tg]&Ǜan'j?=Lji+Yt@[c ܣ‰|xi:BL o:e+/_\V$[/Ty5 MɃKqzN+jny#|4=5:yn-K r9}u.OKkJzo*u8L{Աulr!on᫝>w5~㮉bayoI=]=z6ݒH9$`88TC"Qd ɍ #a0L$Tw-o$"5Hn7iEi[Cheia}Ms-9w4]@t>[F VcثzE֙Ih+8k4rx@]ɂCA'{0MV]R $  {ATѶ"UzF( $IӮMBמUU~H4+$[|W=J|XplzeΞ2ji6q G<}p$aka 6Ag**묽'Q_0rC%Zrd _HVuvL▧5܂f|4V|gİ*5*2z?$u#bm}ӀiOxꘓ[3~yMfbI~y´Ŧ/;uPQЁD[ ٲɶJqVGts}ఘʍB.UH^OԪic$NpْxU|ÃKPpUǧMEWӞ;kK8GŶ{ɇhОeU5]bJ!صIӓTbiniJji'xMKSUnY0W g WaVa¥ v *PÛ*N#߂rPn5-T-wZ4y:ɚ2 3D[L56Iϻ&9eL߲X ~W#DтÙMJu]㲒Yy/: =KiX$|z\TZߣuP[ɦBsXɾ*='<-;\VNIUwۛ:oU7e7!K*Yf"#9~3LLMས Uz楨̂vf^qW1\2%iK12guN^p7UPo=/c[cb}g]419|ӮQmNy%!RE6)X&z̐?Lqn:g$GLVyxK"S=q6S3ju#϶d[㈆d:Ka&S >=_rӗXR@ppOaLoycO*[tXL $`Qw%O~[Ϗ|uݝkр\yfE$]G!8 7F]9 nwvρ_̹b2e7 O l |-Vv9YcM/x붬tDS_\BM[¦^֣iIm/P)9jh{u{Y=Wۃޔsg=%e>lԖҰiBeIfxCɰiנ0 @];*To鴦o-lk;x%&xGJhثjj$*9yT0VM~ĴM0cp~m,e%+\WAS&L,bK`E]RerObD-*ɋ8/#ȸu:VV{ݣf  سs lk-r˰î6[UU8Vh&ް^. Dys%GHr4Y~sȬf+^CQt3WZhgUf AM:3;K=VJ5 >la8*xvxbv_Q3k!g  jmS -87jr %cD^9WwiḣwL~D*5w_:/LI T &X,rzz|'{KW. E?ک}~=^Q_맬op?gpE"M%A803ї+g2aC)6@|@a59!i-=C7_#VO51lk2i| u =zɰ}bE,QzΥ-k L1oKhYİd5T%0&i-o[=[$-l4U#'«a/F^y (0̵'\Sb\ ~_;ߤW$w+D휓[REbϷ xZVj>\|uOKN=" r-NPEH--k}=ٲ/}lFˣL&΅Eb*"ʚ TLY> /|&jyi`r03Շ> kߣT4td1a"b/0ڀ¨(z}j`.6Zk%bYT>[)kV{u4= o1P^ aC-B0-1[yDU-qR00JTy<Ėɋ8Ylm,X(./G :eI(u=lh)$bʔ WBЊ i=*Gt(ْ?{-= tvҠlh-UqHYVzrz|{ ca:-/ZN @ C,]\J)R*ȫ/Ui.!MxM=*OAi΀^բN8TIVVeʃ\q>uj r{)KqW<\S^Bu.Uez Z'f51f+5Fw/jxxZ\qNO}hJCșt D ghʓZϬ4vlɬXKlQ)La Ԗk"rW*p7CPς4!޽Pirl|X+=}sl+Ao!(4|EǐoʿU=i^=5+!A3qj[OìC!.KW0r\ы߽ƁGConل[l|4`DX@%=<@8-`0՜yܢf?GxO~ ^h(y"4Tt+1mQ ҽ_d51Kk׫`x!E`p]`IF{8ZAg ҂曟&,(tyzL[܂yXG|ڷ Rk W:ʹ<&SOnQR- t_,Ȇ/Pɓ[W>[KDKGtzjʕr,I=8[Ӓ VR1*=7^ }k-u!{\,Ԍ,/)-/ {Ab n4 L-=!tɘ?}8\ l95hQ[_*P\,!;&=͗,^s`AOo1aj5Ih+_zԞ5T"{r:^q8rFOXD bpjz0&O\ڗ, Y(E1/^>x-zAqX -^i۾lcr T ?qpY#ݺ;iŹ- u2V|'OmqXY Yp/ L6L~{&]npq2vV/dm,ff. IDAT.Od3C@i%aO{tzEq5-ۛG6UUI[cIԊ- ,pjep| HG?S.-ys&y-\+`)A5viq+3xAPO+s(ׄ^(Y8(c^o; >[*G "zOB0:#3B={Ff5M" |Jyh}HǎO-;7"]7_)= bZ9XCC3c0 RGm^J-}yA<}X=O&,jܽK{X<%/v]k`0s@d[Ns:&ca0®-Z\.\-=/#u갡2XX9Ѯ_7LF>[ CӔOՎFP2_ s#śsE61( ꊟiG˶ǡ:砡u/{!`oK֋Īo>8L> 羺0gsH}V×S-d.t\ڻzX[(DDNc?UӪL;Gvci/āa{&σor̃#\=9r6 8_jm'? G/O,{]@,‰s\J 4[x:o⺦gZu O^9"X  ? H~PSy:U1nzu0T'yqa[*U UGoQVzX[Fހ:6ڒHVmy.ҷY,(˧+})]3[\`6_ biZ:Y6 ĥ{R9k\f{ǧ ϡw>ڏQm I@Q\+gUUr0sQ|ؗHп_]( ~, -{x@=D<+^$kg|ZTro0*#ɞB>c:=ku`\l#@S}7E+-a58#ʻXrKWC+tJ{re[zk,skA`~/uQg\O5آ5Ұh-[[i]G= (R񩇄OS ,J OmӶn(r!8q5҅za=l-S}ݍCe( 3lӖ$c%h0ɚ*^Љwi&E-Pd./%'J >QA5iW"N=U+E8t h}~fYid 0`i-ot"31bAnoҁW%-l@Ϫ@fd+?, cpYz| _* {s7ޖ zx0z֭\+Qī{ _RhhM luj ES+|ffX$l{TӪE<'g ruHeBx5)O`(NCyr_Mkrz줢/y GX_=ԣ5{}Y`_C=[>Eo^ R]VCJP;uZN( ݝ[xAz-0uC-_AA@ {|NUN?^&)d6ݸ#/Ƽu/,ˍY]!b-{@4V9E.*kaW#[|'ݕiz|E < "eP֊kf_jrlPaan EVoy.BM?T~6ZMUa*db9εlut޼Ƈ[֚B+n۵uԀ`hT\-MYcLL)#naa>נ[L2mM,g,Y_=c9^zWNO2,\(秊-Xk2GLB\mS= 6D{MeCӈ[$7:U- m5Shp6 4x%,5qy+ל5٨BH[89ɵ +鼴f-pB;DϖeUr.Pɇn3ٓiᬀer-sXV-[U8LTQ=23_t϶0Q:yXz,"={X:joE֑& ?Z(18ŞS[ɵdLXttN[[={tGu=>=l0=*YZ:mXi@ ,Zў2?r cj{P'{aO)-ܢ+9y%\zC,mhd+L$O+"%qe̬,UCz˻6(Q)d\jKw+bxCPGݔ{${2[=th/_@CaF=yD`Чlu} أ9r[0TB\E_-sUpS\ \r *woK~ZiCl7q4_ iuCO%{1-z$Om|zmNzu5H70@a'>XqNá_rک!s)` uNly=[⳹@ْߣB*i+[,oNGYX-BTo4''WI" R ?mѲU8-g%Tr/t)%UZ&oV=P~zN])-^2ӓH[ʕ\XKg${(~"zi@decе83H^wÄ>m84R:O rKA" [niYǞʞV(uiY_g;a]᩟-09ShUfں6p)U RMiѲ$sE3NUxqK.qG l "14Z^oŤeKCIO;,N&Ξo4Ut-[~uTtaElC{é׵>2lѓԯVoamqj*9k!A>T*yйG7% qmYnb~ڢ^=AX iP~ֺe/-RJ%,AʥN p?UjQL+C/g"?vjT~e啴zB  cm7fZN}px-? a_bA˱a!短@ɓ(ȡX=CU`oK1,`V tE66smKYoɥl j9O+W' }2ǐ݋$Y7B8 3xSL\{#|%; V:ԾVKY7[޽E*C%}~j¾$Ʈ zx-[j%*7rHTZN,n+SiYj% _-yFnqlKe!ʟe 4JPyt\ƿy:((ɒ\SW`Zgh/a~ ` ".Im+CZ6={uZ]a]{˩Iǩ-8}SZ:w-&o^oQ ɧm+01Gjg]}ߏ,*4ۂ'C> o|SE?= qH4DD5IJBˊݸS 5y)`#'8UьO}Dw=^閷9(0 H>louH9$sa--Y6/GDAW8 V<[ S󡖷h`O=Z*TK-&Xrpo+&w4LˡSg˻_RCpkᵯ3y-Oڿc\K~.cSZL [z*ipcd|Y_@%W+S2F}u;P qŞS|[,liѲÁLq"o,`ЇsX^a<w &-{=t rj`R MT޲>lPggj_[qJ_' }8xN4ÀmgeڬG=`-D0u{=tZ ~u$P{&{ M[d_HWSBZiZ1P"?p}߼'ruONd}ovAC庿ycmSۆ}vF<&1-Ҳ\%MD1yβ_ C_ZXe*"MX\Eoh8uҀF dŅ?| K.gV eVY~tWv5"J?b롴|'k-Q4mVwdV[(y=>UʼO **LhS5;eP~M޽V#ş |n<8~}G+ɗ$xE<\k~Ujп@Wjk_ L@B.T^?CTWhj8ByPNb *&/p_";upbga{xe[dkQ]{17/acR2֢}8ͯ1]Z`Q5533ѱ35l-YQ2_-ZBOq(p!dxW}YW?^ڡ2j tqh_h`dAp ,Jh*k 7EXS-uKx[]o6z >[(SI=?%{B̶ԛ+ ن6_WP [g(n,pEh,{ZNT0Fh/zB0xhrem 1\=[{M4+V T5=B`}J~hʐB`ٕog R|%n\ƫ8RsE 0zX=sv0Vxw_2l?{ ~ W[xة(4E;yZ6ixe-~F(my?mZ\%BfͶ2 ,g^_՝rP,BCm,cUa L-}mN`Rl[aj<{Y=o@W͡=,E`_3zZR5䕒̶L޼GaU8 ZZCߧ UGQJ}472xSeͩUOξ@B =IԐ|SKIn Qܲ}ɤa0`'*=i(8 1PP΢UIZ HN>%G;ùO*8 qh`þҹ|/r㚋g.Š`A pQ7-͖KvؐL[^q}ZḂ08JڳexMw1em1ZNLN9叧C85lP= ?qxiFjo3J/ݷN2ݕ Gط;8;N.['K רmJڇg갇=,Hn %[}B ob𢫯 = yE"cZ *d|i[,5<*I [PƅCkt4ek6}:8dbQ@eƗ{^|~}2T&#KQ?MKǞ+O{}b Pn%lTTz}AgŖhSŌ0 7LK\3W۴L-s18x븎 SCP4_B‚߼"|tke(,.^"Nthi ӮN W ŋ~^SK[|toJeY"!_rg ـi[űP?:1LyZn}n"-Z /!OO=ZٿR}ŧM*'m]kfC-oSGRk;c)x,ɾ”b _$X|}z^o5Ѓ-%I-W] [QpS-@pP +P]rglibJs= bǤPOz>dhZsm Zi-*XP֐^pЊFԢ" =N@ڀciLJo3}k8|? H&T@[\߾󯌂2y-&DF5ewߣe[VvV Ҵ0;\"0- r[ճY- 7Bcp˧j +dV͑z^.T+FjL[h"ٳe\EMYć՚j,nap}+}4?ڞjmtނp|ۉC6P&iCJǬa{T^8db˖ʴ[mJQQHl{⻷Iڪ qdIPYfˋ^5%I9Qf$\8gb(:Pyx-JYd~=& %s%mQmNJUĿsO#SC[sPHӶZ?swO /)HS'bَ9y= +>˩öI=`KByٴj-i=w?̢'hepiS.-.uEL_0T %IauZȠb%4]2FPA'T--O)E ܈1YP$>o*EIͪuÖ}JuSr^).fZV,s{PSp[r]QE{PXZ Z|a=C\RYQِ{ 0gŊ KyI ڒh)X"lﴖ=<h tLMvA*EEܰH@B -"7rB*O%Cqگ@ CCS?&BFo,\Ué5oRdV(8q)ӌi)Hٲz„U-,C6U!8MzpLC !?|Hx&%5^ʧ4ޠ,-t+tA]O=zu཈TgQ͉2ӓ*mO6ԃ}=r!W3`W&s O_÷Ph.j2I 9l/{G׌ZM@)1bGiw7X4Ad4`C-ѮH)!E'BݿL!!?|n[ˊ*5[ZEX\Se&p >+=+FMܽy6Aj4g=!= Ԅ||&ӧN ܂KYmKw߂߯BL)JKB8Ӳe6e3qؔ^(%Ţ@CSZ~@-G|L{S@4И+Y{:-Sk CG4 tM=]C/!=Lr?E-zRiA\RXZHkp+j/nCqBG8-$OEȴ9Ч7{AZ;01oqwg V|\~S=6ؽ-U3Gk{ӈ=wÀh79.RXȗQ,ju ̴ˎ7ru3%G(p0-ƹtҏ@q ʰE"xsA_ֲ7Bw>͵_N.l8uEcmF>"䥚PchT8p^WvwqHb^GzנhPpbʀ|Tsƽ2*ْI憓SeдتO׌RV«]54>Jٗ&ejjNi{Ǘ݂^Nç<-P =h?$1[eSLűQ_-=?h-N|[I.fj.v-kƮP޵8]T-z<1ݝ"[x=jA|*o[.]KaOKK d8yGx{"z69SO% RMZ*.LQ0wq*clt7IFׂ=*LO)[zFC[yh˞3=}Rlt ś WG|' u|{J&{L*.^qz›jXJz/J=TM쩹!Q#Oj)ɢT-,Z9:0\zN)q m"PRw2Y"&6A֧ In s-8 t q TWNܡteYҐ"o-[n)b2(Ndϟ,8a{s62e Cʐ 8K2{_20tϞ- e)*\]Gd̰'M{۬b-!!&ѐ&HB=AXlwI#ZYtQE3w)4/t珹1D ,}XNqʵnV,[zUUB1>)WITB$*+(wĐ}i)a2r-^|g2--% 7ߣ嗑x̤O~"yQ1e-LŒ6E4o(E\WY4ɕ랭B< W6{a d%=ဂUG+SiXҺ!OUڪ\@(7Uk-5d3Hi+ɗ yk4)]ӤdI^)yN`HS-^ H'ŚʚҒ:$ mQE^ $9Pu8eѦʒX`>;(- CC5[jOWg<.זH) =[]AAZ|nW̨\]-ZL241COyUYʒSC ؖ d[% ?T"ϏЩϖrO':iSLSӲ$zBZq/ecՙȾH n@y$caU4S,sg_-<4ҡDCHTKRZLmi.SVCXesےĖR" a1?E "꽬>8~.7,RJȀ%))V`n־uhOC d/js8_7=yudU|fi-] 3د%r(4C{~ !+RBl-{4R X|K-lkCfO4/Sæ$--g3Вǜ uv Z~S~L**/r^wNQeq @ L~lAb{)ܘ|#rm6EkZʐCԟG~XVelC4Wr!48.BDGƒ#P qLa\{]V[ZH'[WFa(IШtz2؊LxZ ׵GVɼrbg ʤc_jǧ =_S]{NaT-2"SaQ"Fe_Y8E^&hHiI$0oX'y\\'QyN-@!˰Jb(-S.bhKv%WL2EbOs Znٱ̔|]~Ğa6vi2ki^2&pjMO; Ӟ q}ik b:WbK4S2m~ N y_2T\5dr!h*:9KSME jF_[@ߛŖ=VqcR"7b@%D]yKȡOM!szVA#etyR/ z Zfu-reӐ#@# 41䩊vɓ*G@BBъ\0ӦJ֐ZoboAj3c]YzG0[Or2^%)}!-° w!ũ+{H#~ 0F\RTXqG !{j,N=uF,xYgTS` -U ib:D/akoQ8ѓQl9!f_vMnN}-~٢ũOQ/=aZm.I89=ܽ0~>mց1TI*<]XSzۢU]5SB>UspwBC\|6{T|!7p+_T%$*P[,[mB*+Z dQT/]ڪc8iY V_E٦U}C1orP)rH Lv%e_T=r!M@@ ٌP} I!8Y)} =LH֑lڧRА8e)-[ ԐOs|˧J;'%\wm^t rwZWRZK L y@9޶%B~tPlϡ ž4{^!{0%T@)yKaC{zrחt#S5IO=rbbn^l!yX/w1YQ[,Xғ +w9yk ε+];% {fzL .\=(]2r[gɪKz)!ķ\QL}HnCժȐ=4R͉s}ɀ34ow?iJVĶ>-eI$%{ f[H![4xFu,pTjO4 #J%XP%x[&!Oq(ʣ^=r[D*JZ2s25IiʾaPʵv(0|q /5 OkYqHޣBvw>&#x"]gقA1 *mc[4g)ߢ*u8}4fp)t~\~EZ/ $[Wd_M:ǭ7[Eِ.F)Q՝O @NLK6'ԖʂK[Sk$/,Κ[ Y.! LA^-8z~- Sqeg)I~߽0gR H9 ;tzX% .iXSv i!SzHy9PrjG}WNCJF/F\1Uk;D,OZ~=~Ξə6=t /ߡ{8tpnUpJU*ȃi .>=|55 _iC)P`pldiH/¯4dUG8[.#*\y'$Ɯ PQ9{} M&6HQ .7 |-Ǣ<.;^͔] SK'6叹KٲolQ9#kWZs*ĊNXU]^!g1K<ǻޙJLsKB[,ۧ5@Gp SRs*IST1~jr1 bW2ܩA-l8{Ҟ6 ))\uKO{N4&V]6Uͽ\|p|ςSY3k QSZB+m|{zعvwzh7;a9eBsȗM=/ !~YL"iH*8eO𘴺=my2iyVǨԟPĥ`Xl\x"6<%$rJH؂)`O(V~CHI}[ r},~E9iѯDuo|sꄭ:?2;5[Bȅ T,FzZO*Wo8Ð6}0R5:AeeuT9q))=zEK Y9hq<%qT'FRCK@Sަ0[Op諵k)ڤg9z(Sfvgc/uO;!hdڰv@З)yoܶD S򨸨{mYn !K'؇}fTd>=FӴC*?3pjfsԈX$3BB|;6'v}]bϤ_k+p< "2P)J!N! (VXEL-^Qap¡y(IE 8eQ!CrJ]YMlCe rωڵj_ AsN ,4ܼEA%^(~x;]'Ws9Bša=4·0`zN?u|:,D-B$Dp-=BzuEF9d0Iv6DT. SW˩^Mŏ ;#q@{$l rsV{Oۢaz[cH!6U\Lt-"t, ȕhi/ !SM6M9c MV" %ހ'Svi&4%-{xeVF[ajixgP9gbWpqNぺo+꿋?ro{-$C0f@8zv5;Ukyje-/"Y `x7(imACx*5sQ­GⱸFo҇E 0'7_AD?Ǭm'Uᔧ1@r*0|v_͇rN q{ZuFũ-:1*CɭNSh_e 9 zwk/[ߪSgå.!1ʰb`UXdf;%"Z'݃ fv*Nm`nqKmݟ:ܜIlUiqH@`Ӹߖ2޽X 2)jYʻ$:|#.=T(8챶!4lP StޣE6X_PRaue%`0B2SK03Cէ2L};42ˌx}󠍼yH`1g+(_znY6 cU9S\ >tK,cl" .rWI <|?-!C-N{%߂Sd,%NUßJe-=GD7'=k|Sݣ^;[X|/X5{CT-P@#xkey("C zyn|) /m . 9=x|T?w* 'z:5^9{<)|kTCU/瘄.=p<^|氵l.jVQ[TuO3TI8u Y:+9F!zʙn@Ws㸻ЇR>[jn޶0{9ũ[p DXuu O(& z<-i1]mȊ^F:'WR-[j pOQliy)7X>;ڸGGVSZZ^.W)SXyTw/]*SLDorviͶZ~\74RBCR-NmA!zz[N|Yȩ[t"JS>m㯧t U lئjxwáخ\!ѥv Hͯf 0tJSuT ݉l~?NɿE[>s.ߡ 5FN6GC$gz>.dzP`VŠa[hO%"4ݟ:@ 8~}p`243HS̽@D;ڃk1 mi|ҿo8BO}xs= Ee4_<ԧ1#d!YTQ?9dK=P w7څ Z@cTOhKe%T%uO`2qq0q ?b FwV{zM^wUT-7˧[PV]Shx|1a!EFq|h#56+GXV5SPyb IDATԑ@gC~`1Bc(\zScz@aK"iyw"V=k\,-tFPݣ4 !᭒hK(iUdyk-О)r /+K;=\0ː M8+? 6SD<*ps(eOk:W>S- VSsbRŴoN.򮣼oSt)y͋pC1r䤡d=i^8OcOɠ+• x*{4IǔzKˢڱޓĩO\-&gas.qXJnsʢ+kwrkʳpXD3%s&&(~[}ʢЩ7)HK]ӏX6e%C~ESg>( #A`T&#A8cOQ= K{,w:I]&ҠmDY`OFHN bO !ƞr%ȣXİ "HBaUpCmy`Scb{kԍy{/}-x&r5DaIKKzy@hAr=.p95[u_Ys(Wa9jY={=z%Jj@Qci%0k3U߅ i5ldɾ{+[ɿ{UDVl}O4_lԐ/{Ut/q1zl2Kہ߽GC m.7wPr} )% sLtYf TYȔ=-tr4 A܃K8/2.age=*^J.)IjxgOdjr%mj1KBz`Sso{Yt?f ~з#Oɾ;PF lq0+ b~9 QjԦ^2Vzsʐ{!5򰭟_v22ƥ6tԟNԄb{ڌB̤=2 "M\1! _ET*\1rt req`ҰC׊!#^|N㜣g*NI,Qj=n2UtCj!i_ h[_Д)iVZ-`jw.GfHC-U~zaysKEw~\@˟Nb{+à2܃S3ЯZjZ5Q0G9 .k=-5 ơEnx!?&uȖSݳ9t{OZLY<>͉!=[Ns׶4ԥ.VC^}-IyZ,w|^Şo-G@$V1dVYr׿O?[ShhLa>x> ̗n%c(> aZS}-ԫj9Kk[d GNsxbvꩆ/>֩pI@5tI8#,``*Tns0&lkb(!"*Rg4]:iFr)[*Bh)$~E u95e-d,JҖ_Ƽ.c1- znMZ:MT@@sTM,P(uK@rTC>;~+.i{lNÅPJєoQpjmq(U!XZCiN74a`C R:#`l2eȖvA4lxGmV h2kʢL9LK ݴlxZbn). ^)0Ds-XąqL2AO*-!)SoUϚa0@/xB4{ yNֿ׽܈y18hl++F_O`U\[N*A/ 9-irhjNۢ&M^]\ .ܡ٣cZܬ-UH>=T)S<,dT΂YB&)ע./vD<%G0ZY[zS?! MW4RRE{.x•nq IHӒ{LI ݾiCUc`hJo`ˬp˧JYZ !Ųb8J~_ 9$[j 83'+WXHVwZRZja!]2# )YJCPk)3Ͱ|*EV\֩VXr̷|iOIYb *]SNUp˩S $h{X.62 2RS[+ -C3H(aS{>.K5Aw)*9,Sg*yM-|XX>" IDzQVŒP1ՅdTuoɰJG|ٗAlk RWv^0j M"/t/  5}XVh}%!1rqX)5*hC-P՚|΅#~DKSZR>նDbMg\~! c@Ӎ?cD:Qr rajy b/'G K/KQAȆ@  {8Wу!:2tdGirɗ>%p2d˜"fr%P܊;F5P2j>!/ rL\/OG_E JwG$˸J~_MsHǗin83KNyw BEi){n,u`X8MqxLJ2^} KPFNzb ;5Gȫ,r(XS Pm+iF浒:O%M)e` T~ܔoxf) - k:l&ER3Mтz?W$)XEF _d )Җ|=j^stJ93<; Rzw销W2J0)s~ u.Ԓ!{x0'p2Ey[8mD[u%J#S_7zk=>ᔏ<*=8 *e]أeʌ$Ėqt 55\o!ѝ6eV g+9ce#hS=UK+U-}UshV~ץQ'x"qL(SzpS> [p>AH(\LN5 L3eCMM{ :t=ϭ%8- L)l ഞӀ,;)^z)[YdpؼtY+Za{)8qK)Fa\,SR=3p㦲NJ &Z9-SՈ@.eXDAI~,=9NB,4 bT6Ak)ؒp\JM߽Ǩ5C:C{&*l!!%[uy~h׫tN sZQIX=LNԡkK:ޏuep.R넟 #SdےQy>U݇[Z<xƞm kRqZx-ZJwSJ|5K=ӼBD1 ;oi#Y.O? ة3 =,B!^zUV3B~n2/ϩ{ṒBx<ߤRB{zZe ݁2͞Nl1e2]%;|s @xcmAطeëwkْ͖[4Joxoy-ZWG,8ge)SH!Lr#]Q}S{ uj=Z|}Z/=4>5hqLǝGX~:ۉ- ZrKJU1 JUxk)@с`5)3oW0Ⱥj>g Je! '8T+jByr˖[n%j}j"Cyߏxdgt0&C-%S1Es+K& C4 by饂BZ(:uKט2Cڨyެ^gHJáḦ́rKFwV)[iV]D i9ԑgK\>&h 5XL -pʬ$uT]nj>}( mII GCdc [8.=j}Bm`q:@kzNy)-p@2B' s@=>ph} g`rÞw+W 9〳9!AݗM Y<e5\^4j>S9?""EL~g$37,"Жng{47t[^zJ[2P;J2@OxA ʥ9dgpL#2'8(U~5-[|b]Nm+e )!-E[O}}-Wm^!= Co[p8&҉Ʒ:7;"."SZ m2j-~ӡ+sczLyUdJV]8ng#֦fyGqs98rYuzC!:}Zt|BjO=tȏhySppvd #:~_ Un\{p&v'CP-N "ؗwU|/N?,%6.lUU>"* xKjUwAQgY 9U-P\85[^˨/Lốp p˷1}ioآlŏPc*n4N9NJ1Z ֽ~cq8ԿݮBX^TPmLNwf2Y=KGQIz =ʿ|M} 31K2 dHH\@V;]whQ*ZEHKC4l~O:+n?$soԷA*i tqkϲWJ7[lJ;cN|٥pѤ%b F!*L)Vno1釦ZKJi#R<窬MoO3v_ƍ%af{5؎dB3+EԮe^y==] V kR~m\d I/"Өz5UO?L:@mP:^ʌ)lӳD_24daQ1 3N5V;EE?yPCUjH0+0>S_ӼtKN+6r:nTۦ$lq ( -h 6j;S]^ҟ)CZYBrj C- [f]Z]\B \:U+J3,6M΋ziRة@)"r7Hqa}KKpvX, 'ڃ)'W"LǓaMK@  Ͼt꩝n`KG # a([ԂyMв\o 0 9ccS F-[ j3G2[٤65xaF0|K-[8%-!)KӲG/[Nt:C{nNso0 IDAT[ z>QAi z) JSOejˡ=&mt}4ô :ae[ G)a-(Mt~D#>b #ҲSK>W{wGC4S5 @Zv۔$Q40$گm{5,rJʖ6-[&.u*czkRޔ5ܔ$@%xv !!3$eSn]5,C*R8SkĕVl`9-9aN1 njg-O4;e){>'.SvINeZ=OCyX*lD!Oثb?PqлأdjA+L"ESK kRZJ]pZtTR_OOp-i҅ںK 4u/-z٥< _۪^mwˌ=,GWǧkG @Q,Gm+ :?2Ċ Y !1仌Cz4xUX`| \Ϟ; ިF!`jᜰeoRzBHvc԰$yzf`cnEtjU\WKJZ½IH[R,ƊX L Ax*g#-n"ܱwRK1zE|έ-k}^\*ҽ5=)1?cê7_y)|!5& eK$,13'^Em5 [t;^e omhŨo-y YR 1|L9-C{yA?kL̊^K0(ʉUdgYV\ 䪤n/tЫb!/=䩗fWsnή-9'/ QlyM1$0Zv- ES p{e+P^Nx_&Hli0|UʼK bHV唖[何N ){ a u\EVTrH%εVEnwXqԶl9UU7  xwUA=?| 2$E2%1m4}ŕ~CL gm§  ,-{ziqZ3è\` WV7!"-LjQge/SQᑔ:iϺ2PsjcW=KגꞤ lK+a&Y}!MseC/˩ت:e0eޟB_hڄ b%A_cfE-~YSŷ|[ LXhR gnaPOԨe-4ju'Y/50Ku_5E#kPa:n%S'= ٝc.v;P1TT҅늁SeV네7!r_zCd"P ap9Ie8Z+oA %I_c-[#jߺVc6&5٧”3bN:$=C6qrDuk +%!¼ՕmzӼgSX$1z\bocg]dpN}ƒBcT 1"Rr>Q% ^/sÀ;oS!2G8eO2ղe'0]dI9*J,w.ad5 CI}{8F43NynE.>lS9%Wz= L@a' ;\Dӊ B%$AZ-%)>bO`~ B|N6JK!֬讒,2ya!1я9 )[j>P=| ȩS8eD$z`[@rhQtL]uEVcŦ=r [WRq@ pTK؂bwYKS]yctgV -cbPHlޣ6/j[A{ Wֈd%ǨUVO^=ep%RY FɄFSnUQG19t [[T$QR-u؍!V@!.˶09BJ3~-fĥC=Eøb8UI j]w\-Quj/`|Ȼλ[(ؚPw_*- wfY[B1eau 2k@#ԧn[r:Wtg('xS\#5$S.ɺqeќ%!Xxx+r|ZMj:baT Qu.=.z UL}D ^r)jҩ<N qa7uu\jTDgd2CIr`[&a#Slb]3˖-{ M$Z&\`#$S]59+ri|&.^z%þЬtr.D"͛l kMPAqL+*ߢ)%q9UѲPnȆ/$?*h5)twb1Y!p2'PH= ,ZȖRt6p9VLu Kl2E0a_PS{NF{Wo4ЅOTgH!HI |z#xHIb9O9ˆ^J@4pP:;O;ub) 8eg}.e=%w"z<{r+ҡ[^G ^{HxY/}d[0휟s(rM 3>ReUntx2eAQhd?t]R5E\!/wdC\ķ})+ͅ}!7exx|Q o>n \Fcd"B&*W;yw+GU CyCgÜ;lHHr DٝU(oGݲrtb+ier/ Ud$wSU2,J Teo o9peCeӞ2*dV!!F2R*qxxqGt|:>Nj%5X ,HYE~)d=, a <594?(lbK3B! ֗⸔H}@sVB)@ ͼYni$gR%܆zPX:-.[L$h6$ߣ' 0̑`ȞS. Q3!(ĝJ0zUB `-.+" znK HNB(^C[N2臺l9tJTW/)E,,[<,!S4NX`QE$Q69d7i D/[Ѫf{x{}v_A;o=N}5 !X5i@N%RdatGzh+琐 Υc0gSHj%ʡ5iX_zʖ9Ei јmOTai%&o‹穴xgɕgF;pctܼEXˣ>JwYaWz)g%wcp1`CșSl )sp+&cY:;{X/F!* !S^wjANܓl4PaCSqjJդRYNLw|NFP).B-Zx)[-@>cw=\>􌜪u»ȳGjQz?toc ~[А4{sMF3xjqQP(uVnD-͐\-OTU Z~|I kHL2=x]%[^vjSǤWrw6C8J"g92eO0V,- ִ`RN Ka a,L&HԲ"ӐI҉BAsU / K5*=;r 2r+LTb%CO;_Krˬ^Дe4nK84仅 fdKFۉ p A#lQ뵌ԃ3=PFc)L۪wɪV~ PאNlBΔ:@U/Y$ ;H-<\X eB.zpcly˔AiX21Gpe.\_8*(Nm1[A7ڲsT^2gC+e|^ ZO:5ٺbY9BHl&(G9EjHfz{NSL|N6,;@Al96^2"*xi\j؝.loSW Rh+Ǐ-{43+dT/ xBFr8*ʷ1*"@ ö8Зƛ7}o{aXH-hTX$~GԝKa!\)M, A4ھ[PtQ j=PT=o^l9-՞q _>MЮ)Otzd)Є~);=YUf.zBz1@vw.Zݺe~Vi:C..[:zec IWZ{) 7Tl˒GcS31i.hLi@moL O9?=d W.UFѳj!<ͷa *N |Ge-tGKҙX\rQ`Bn})n11L+a+t3Z^恟)-mըXj)."Ojo mtCH=Z#H1,[:琕U(Yí5!{gȐh ۤJW`J*G`*ہe@B:kCPMreST %OBKG/+͝xd\w-Y=D@?=_ǻ~wwE5?CiZQ-e{Slwd `pG¡BЯx$ێ.=\.#d2.Ş2ŵt4[N›O0I;1 b\F*̕)oYmwNg32er^KoV~_ <–`ӧ:I:5EC0pHK|=< <5p(p yf(#bU)S we \{O){-͠rSx:[?^V]nMvPYDn$Y.>/R8ulT{ULFAf:K{Z3[[VY ܊J@M"XRy Yo˜(2na3r#$pB/Y 6: efJَ)Ks7SA%JQs2f#HKþ%c|0o;[<9Eh$>Ed_z-Z‘xHցgW|I2pT=Ywtin«O=Ԩ@J?X*2050ŗ]ʪc3%-{9ʻl◵Sj:~LǞ-2RK姏eч<;yFZR,^zebKGk8 U-,P%.hX!epVnչ^~j*|"z盁>QRcK$㍨_*5mj%z83I2Ҳ O)Qr ߃CGNC. \lɔ}IKfE!hyp)dmѮ ]a kYC*Y#ѡ{̲j$KB,]OuZ|N-8j-#PؙFԟlE=޷Bk/]^ׁ32B<o/! ү"-.; WCCRWbGl/#bQY= B(Gʥ)("ub96.sUġ-CN;̥LLRӲǧ_@0Kwć#]B-A*i P̭Df_ۀe iƫ$==GYTe}ІJQ fZtxn#o~sX"9ʥ!;Z%,Bz"z' P³oTrBS nڃD^^~ ǐ]nt0GtS\V ^̿?k45d5Sfʥit {a].]ޥ9 Jh!㞟L t[jJnkqSIp %}ZATG{U \Z<lDf!QǸq#j=Be 'mҲUz,q)Xpz=e)?'tUҖ4 -wj=LlWpSq5{=,V:h>BG.5AP n$g--$n&NJ pP-٤'-![W_Dij!J_xIK{i3, ?g =<_xgXslȣ":ʁ)ZY/tn2My&5ùEz#>S[hF.{>8Q-vG[dxߘwSxEE?)ShP JwV-%n+Wo]!9Xm*[7[;k Fgu*ŵܾlV@{u=['>2=tIE|Ss@ n>8liv ڜe/8YHb<K!g+?\xө8EhC/K -b˞=`lK)-4aHxȑrJcNYSd6/41eh/0_OH-(6Q{8n~>HB.64h&2P Sh,IYgTVX|xeϩSD$;zH*B#4[B@mG z9\Sv4 K!!, @ kK;(`[+4EJKրȒ$Iz"fT,@ ^|t$wwNfB#l]3##G䓞\|mQT|M͝jSY $L,rY\6YME-\3I$\&C׶,V7+f [99?n&[-=}9ȂbZ?q}$p.Sg2qMU6f吪|*>+|VM:xa{Oj| awa`8|شa[F\ˊ\F|@O{9P:soqi#80H|RFĚJo8NJ&{z[H:? Ouep[5|7 ;e|X6΂"qK/H*S i&-Xp1m$AYMoz L<,(|zg^Ė%k5RqQmV_&~޼쒾6@:osb,͕'|I $Ƙ|UuM{q :4OjJ$ wȂ=mck/Miɤ`4: w5Dv2=͗u^3Iltm-CN[<m+M'U\ ]^T6?6מO? E״Yȍ[6\?{Xц%ÄGkOOFe)P4> V|k tl'|ɣ(Ζ^۶eEM\cfsY`K)%j]=v&Z^bA% &ckKI5,Nu3 fNC P*[p>l/cfKK[1;WX*-ִV.a@$o*P-KTQKgL-k(jͿ_"|I\rxBPiZ~[^&/ \ Þ{&l`cQ "ujؔLMv /6q-Z0 e^HlSf?|Z"qc)8&5&l]c'7%HŧOzP ;Y={x~0iRX^+ e-.T}Oϰ|;>T@c030h;ʚ'ycXZU-|KSd\y9QK`5[\԰2֎/i3tGi@׃ɹTk ktX`е%ZMo{N"-4ni6tl|M4rÓ~IMe~pZ]ϟt d~OmيOROa-[EvV+%M9/GM &n TG027@[ł }-&6:x8~Fb4lBO'i[8- aCLn90p{-ziO3S:/߲ӔfTA_n䮇KVy5'JP3/ž }MQ+R%]V^2kEkYZW@jL{K9M?oBSq[29%%U,׬+Y~qGĒ.zݞ߯w1azqb-4/N;_RrMk{~b v(uM!"(Ӟ6j|T6f [N>Z6I{& Yam ek ħ'7~.צ Vd?({!6îfM]\iM=kt-kNpZa-G-qذcFn zrگ4nDEV}0 Ӯ!?K zT/U̅5m\*/d-Y%h$P0dχ_zb/[.LLtՠ.sOc7 &yuSm䰧ŞlY6mJ> ~6̙2V4ഴ]i-+e@o1t:H+˨LvUy_R={<ցe TBa ՗s%)*oFieп/:J_/2p\.:PP2F/ysi.ImE*rr\sH]D{4UG]V,e\^ {%UeMy48UQay[nq&)ī 0ه7gK$ӇQ&M6< QFϖ8)=0nxAy<[ӇibӋ9|ZTY}$oy/HP=ӂ#K1/uuhԈc1F~O 3uxNZ[> I+L+d$=ɡĉ)*!T+5.|BQ)M3I' V4aKbiʣ:z ^]Ӓ 5wؕV/y=@)c}KBGpU;_eCtXJ|cä_aE vY`g$5B d bw,wyiqpqnW x6YVI*O-5*qّ+ҡ-+%3E!VbA[s3)r=喧y2M:mRvP.%Ei`rۙ0qiϝ%J{t[zJ=M;ju:@W4 O7EYkT׮Ki+`S.M#kWQ *-!MG jLS{ K~Z-ueޕ8 :zȃF@w@Kh=L`"y"eeI4AWghH=ܕ5c d W=RĮp qz?/>L\P] ;:X|1TJۗUvr8zm+<2Mڢ=h6iyQgapCratxnyTXB R>P>RVPʝLԯ&_cT}RO|Uޚv}^q6s~ډ?iXeӞ8:>ڒ6&?[O-Z*d=[N譥<'=g&hE▗]ЀYytk+5rW,)7W k\Xs7ːX ^V8R#}4u5Uu%zaB@|ZצO0L2b6pS & o/kj)AVtq-`Hɣd."4f8,(Jv|X&gWb/4khu<]Yjq/_!|Ş+krƏk`v:tV梓3]E@KL&q;]`8}R_Om_*翲eiu&$4ٴGXOfbA΀-5-y5"kPK@pZϘ`GK446{Mҋ#*goYTk\va RZѲ&{oe(ٗi1&/ pO&4Y"%cv^ыFzp#t> 6z}cV Y V=j62w}=n] )M)#WGEt6k7j/(yE?#ҊF%I 7,گ] $_W/eX*dU_<&(|]O<}aHceRi Oϰ [NLyˮViougtpWSf-/=<^:Qݞx6'?yM:$,j\ز6 oqi5 /`6D= h6=T:lȵbpʳʖga>oYUGSFڭOl d"'M:,c$y0m؏8llLKg1li t|)=*y-`x& ItO_jKاOԴW~dZS{gXzԾ^U{z|ױQwy /۾eufMHQya"4q;q-Xk%%D[%02/B[lj侺߰zHJRL~4"~ؖWp}~iAq0džM{aZ$t8p򖿼Q{%/>|:|xo jh?'ⴱTh[[ЀmN(gVaGG+=>ť0V(xilr}$gҲk(4=sRu_rI-j=ДVѨ2 Z50:xPSϓa t#?4Ү_D· LNܓk]O2LA~ӷZ`oѓ{O'҂t8mXϰa ýQzs|Tl[nV2DZ]=mOCí :3# [ORMi]=AUB +Ey&`|ڴj4aqڞPza.4B<,N;UQOi[j*S彙\"RqtVO-T8r IDAThJgt4[Z%6]6ɗPJn:n.Q)sjl%/]\Xaش@ӂM[^4<'kY 2FrF8yOW=ž*\tϾڒb~%l'Nħ_G**-.+G[n ;my0Qe,E2pϧj=LɆa[{&ienx]==Q[n93L)5|`뗗%8lqb45eEf/Cv[KBb=$i{$b]GXJbAl9Mߟ^·mj `Ӈ5%*iɃ}yږ" a+E{b{g9w%RW[J 2J{%u6-zZ}҇Pü/Lh3_~uF%ǭ,թQ.L)%kH9[ldR\<_2PUuIh} Ƃnk40#!S[> UOi[Z72O˚7>&Ӷ][xch_ n,$pV&1/W^^mVa_DMwepOimc6=p5Ӓwȶθ oYwY@c%ӛJ!R"*W<@8햎.%S0 aa$H v6cV72]~HZe41Ͱ F45}Z?̛LRXW-RYaL6lD=´4Xl,}ӕm^V&rbI<˃X㺹wnX^' EZ(fNqQLw\b<,hs6M_}jV aiT*V?ji՟vOiiÅ`rמ=~iZ['5Ͱ=wl:mxY#-oY=Wr]+XGEB+5hVȮ._M?>=I&ϞaoQټz5Kbܣ.aO^Ólu˟3ٚ&'t~?cW?ڞ=h*ML,e]a{V.Z0V*4[ĉ2 Rmc yu e|c%q|qniڮ Vţ\Z=X# "Ta'nQӴ}X}][> -ˎrڮ\?Ѵg&߹r[ɶךn"_W-ޗ2&DŲH%vrkA`254!5$p=Oo &]2Ul-Mqi:[ԔVô&OӖS-9YN-1NLGOKAaoxsUms5^ Vj-J|d-VC||?@u=o<|EN 1?>鷸{>Lv9ޣiˠMU[իM;6vm?&Ak8M :ǧ7 sLmUx>mϰWiF?q2**pn< BÖto9Lt 'vqG8o1xZɟrvE >͊8®!])z˖~X[Oe]qM:XtpB[]?!p͛-Xua}--IU{Bjגͫ8sч7U5'vJT#تsN6-'Bprm+h:)>yK״AqR-!EXkUsE2lBقO7mC 5F;j=ȥk *@rr˷0<<"zrj9sn˪ Svx[xsrS˦i`ǟ է˴QZMa= t90Q?L g=Qz\I?ιip4|7U߼Ճ]o9J`,Qœ8W4t"3|^24< Z2:O{}^{$Vwir{6ocd- = @ӏz+\oct&Pk[9mbaO?Xg=(Wl_xk:p`" 4uXg%2 U$T&oaBl?Ox0msr+R,r3MO>'{V@5;ճ*b]uS{A2[erɗS-7 pxd$X+o*m*,_i7$p2> W>i?f() PG[u2UFi]W W[aM*➛zAϸ2n\VuCĢQ2I.\t0V3K`Y: , N+'$T f-:gMr鮽r-napbPh+cipHԆf?Φg6l:oI4._rV' h#nkx rjiY +> ׾pz!7nl®%Wy}GfJ)^z֚R?(V! K'Ų% ZFOˊ4dog[/t_ E]D+àIl>wjlE0{vlyئ<ÞΫ SS0GӛzRH45U,Oh9 M1m]M{R3<{L|˜p}*%W>JVXנ]՗+izZ6Y`] -?mϏ{+_҃X<  a+*r =~"`-ghR5L4}mjs.5֕WA;XWg])mLmSI#:=+/ J2 `\kUˋnkM8÷No߂ 0ʴs\MI t(.JNr~z=Y55Qm:jGtĕzW5<+7c~$5-J-`_cTc9_yC]ov鞟-4ӕ~ڵfvOl8Jq{mN~Xջw I?zvUï_* M&Ok ޳ÝZwMtm*&XC__>W4K"R=ݲ»ْfL 5 3*{İi`m00(N9lx.ziDu&i`hrDOUc+a%p>F6$ v5 {n DaÆD8b܆MdP4rimZ]t0Rĝ^EŎ+9SAs W^bXQM&e]7l2Rv4ìi'\a5ynZғ9l, ciW,Fz99O[n^Yl9ӚZn6_8&Z=\ӂг7aWt"ϴkد&lu)%-\°-wUnOM N1DW%Áajg_>iH_i]nEz<,to C]:l[= ܖz/[q9h2sТD2]iϮa=J34`yt+B0]ો<[яfb讻-Ui{oXĉzVLZ_0϶hDv+l);NX&L > !cc5b !Sa]cʿ-ֻR  BiWOn cWwkح_ͫZWyIKPcWMVS =Wk%-8os-qbӬd x JZ!z8glə'(} {peL|Tê n1 ~=;LOc[îJ 2ŝEos&ϙlx~L?)9Ͻ V;zʐ)JֲULMaou5*]^p> :R!cqO%ǣB*zWbJ\2Ui+N jq[Z<̰wYv;NՂ| +12Z=Ӛ[|9oٳԿ4Ӟ?dAeəֲc0ܯru5k/?[ūy-.m\x=UÖQșE5I<| `/yдsqKɮa3/zl˰{fMOC#ʽv)j`6\+E>P㯃 7j4XOsK3wLv}{nڣtڳt=>W9VK]@HҼumfD tR.h ]"U=7m"Ǧ.ɒZ44`&Ȯ sѪ#NyN)mL aLvs69 [lٴ1 0nI▱ e꡺nDMn Դr58͵aoI&G;0Vwoe$-'i%jKq j_qi {_õW r$ɏtig+F+G4{$6➮{nY @.?\m]vT`;LuE4Z " jIg}Pj$%HX`Z^*m .d#_ ӷ|+tSiQ4if],ckɕrV״QS 5/4gaM<wS0a"^"c3r[2| >O;V]\:mtU%Ų '$L aA÷6pAW!+=OK,{;.)&E0N@4Ǧ*Ŗw]0}[+@D)HEL;yQQQ6UAls(tZ4BJn"܊Q-*[+Imi_%VJeTY)1*ͦr */n=FG%W̞)-Mo9{~<ۿ6GYrw,ݸzCƈz%1!t?QNl $a<ۇ^NtPgF`MS6U fǁ=E&7x1Vma3^2$L7}z/ qZ˹!aWW plO[ P{|()Ek8`-ۢ͜2 0 P^3%+eJ`1Jƾ ի4K^Ey[HX()_xjs[^&ppTWI[ pMe>+OrprWC}.ִ={bPb;_OD%jd8܋Hh}X9%AJ&h˛l[&7]d؃= -0Uk< GȺƂXi5<,hz{?= +L,gƞ]+i@-Њ4zңy~@]Ȭ#1NHY7,80<O~ALJ};t0ʡD$MP2]1G і^C{W4a@Mw=Po?o Ҁ̷6`8>c ذp a00G1kݰҠZ]x' \a?ߠ_]r>t-0߮jPl{N665Ou)s%ۯ+BEZE l ZK Sы@O[O$)J^y9Jo_ Q%EMhzZĶƚ]Vb&M_ G鎦:*Ƌs{iXco~L ǖm/yϏ>*eX ́_u%{V(9ء@s]+S{Z~7; 0ఓB9~-i=f-9=n=iߎ6?CdH) BF:EAKŞ=_槽;9]tW|ґUCk kښW~] qwUfΰhÀF*99gX%`0Xi=O7G2ętn1i Obv s?<}u-U_l ,nX=UVlr}x Gqv mR5`Ӿ4/\*q]id~aI?S[xa!'emܫ IDATަOSB+ycGdjVRGiE(vc˪2eah5tط L>, |zW5"LӾ?۞OK,? |Stcr"Vں>͍oi.hK([,;(dS=Jweh vzW"L;XE^r s 5}=OkzgdSoɋ~Q&)1mSrKrfi#ݯs[dX_A4O{ˊɔd2ֿy^lAC.'kxM귺?ukڍkN3\+2^odsk ו$Xo[Nőb{􁗭GV4j=[Zcgwş~[9,YOK9ql7({h+sGI(m}*tQU0 h1(԰\sa{a뢳6YO8< zfH2_"-h,Iê>yI2 בH-tӖn: 25>irɆD"j圹@D::6@>~|r6#-oƷ͎pa_BEe+AP٦]%\J*%D'GxzNޕmYW O{8z4mw4yxG&n'P:!h0 |Szi{i-4 iOf2}[Ot\j~il ^4׼--\\]֜zڕR@V/\uKTÓ-' e=Re蹎~Up`+ߜ@t1r1Q\ξ@ӳ>r"5u*%ar}zS|siz4m嗝^`cWnepW0=ur(nX-|˾ e-vwN- oٵː2q۠0qj Ԫ3`<]? <)랃| o9fnmnkd1239|`K`ɖkH۫9X"ք=ۥanx$f[Jt][v{> 5uuNBNrPWJoӖ[^3SSʢ~+\nSê8mw<ӡi-/Ed+xMZTlMxQ.C;pRv`Ӟv=[~asiTmݟsL-hOGO5}Y KHrtgkioі 5N;m:B1 f>SZބ,@9둨`,sdu , ;Peƾyz uF՛䃝%U8ml'';?s˗<-9D8-^?i'TM}& `\"ndN 2hlxXO |ZZL>laX~:^qu_.WLA'U?㦾p5LwE&}>^5Ⱥ뼪!M0+$nY7z:#P4_2/d/{k@{J1y\،%XɁ.Ӧ}ɸ~ZҖ+[yض~O2\Nj'}4_)lr-G!/-?' 2rWˎOo545)2BГ{e6&W&8+ւЖGvzǧ{L[Qʆ@4 [i@RiPX3Lu(Zr',ba>K,gEiydUPJ I$-Z؎)[@`'d dLd* ^Ot3$>Z]:bQOðz t Ud)_^?ked`^I:x%vYC]sok R^.-Bli*47pCoUQʹ奟@kZ)Q7}[VKSCt-,)S -Jt Wm qOT,*K _iui='U=4y [omqGJ-djOy-Eul &ɃzZnDGbؐ ] r -aO%ŮBUj+_.B)k;[#|A,nW:rD=д%H8'&d趴;[gfÖ[ `&:j }ݑ~n2 |Ln`v!hn:Ҋ4`rωmp]Vz5h5f)f/Y.4P;pRE 3VH5wy͙_xQ{VebSC2XDR%[&%AO&,(lգgX_qT-Nq$O*9W|4` 7cѰ$e+H"4r}n[i[~V͊{&Ok#Tn;!0 N d17$tDKs&#Ӑ+>K) xL[ YA˴oX5w',qχ=l@͚&-ݶ^-<-E2,'L%X{FݱXkà00`fhW5ʨz~+965)d 8а]Sh /j ]!y=,Ծt=uLQZ^9Y\õҲ%jn Bؕ?>;*l.Gc2Z54eW O[5*7QMN; kNbyڥ-Hˣ 'oQַky`nMnO68AuoΙ=z`@X zrP;qaw8&ER KnfN3L)U}u*]ך0+lr7lSW7 st s<=w߃~z͖kӋ410i`pV4ǻڿ_լ|!㯄=mƓ`Yjk0Losc tHG(O (p!04Ӕh@:mZDg5ki&i*ǖ54 LeCƦoA|M$ MXO^9}y%d]Z|@ut Y&:~hlm 䖥'Y;i=kS LV)vRY&/$e}sYVo4E1{q=i_3"0NV:W$ WwCn!2v-Kh`* =ғ}ɋ$bk~]c5kXFTx/H0`$mFz&/h躭ZWb9pEUn_3BySXgV֣)ɓ au}z 7=YDaeOͼ&q\:p $RhfN|OJ {XͥC݊GbRP;ALL5R!D= W!ʪ-D :F]ú.Y_SU{LO9l+,*9l:QN\oYTM`&bаW[Mjׅ^:׋µ䇟FLsM^<4&i%&#Fݮ*X.I}=m2EZD}򖽨tܡ>dr޲&z굉 L!hE05> CR.m OnVbla2A'iE$Ǯi-7KH]KY]?>Xɇi T5h@~]QG4 hKU^JXY HC:ߢې[M-#-ȷ@ϐ#2%tVb 8aN6y:uӿi%_XN>DDi=ŧ~I˱jUOHk! fw@[f=șBOL't06+7~[vցu<p@"jLSWȣ@`:h'~p] tqצݯ)dm`^EɿMĞIOի&R-M0ngIT<#]RW]C,zZZ^^ە[yzŎ-°{&/S,E-v!M}Ņ+sP4vAWA+y`r%ix_osC+<4dȡq Ȅ3y#[:0Ga>s߲}G]?)au!K埾EA&m߹G &tZqؔ!aO^m*6}8f\~* lL 2=in3CEȰ!8xϴM{پ;Zx5M"Ac5.^Jlϟ= VgcQfL'0- ]hN۱ĖmH8ԴWN_RZ~Z{q뫤7iU~*@-,w]i_{k~zt`VLg}+'_ڇdٴ$,xFmZN&VҞ6qˇ퐦!N ѾEM#]PV <99aCy_fb5Mog(/ɞuo@+!w_'0 =.y0AH2qͪi49uIKٖ]oiW3uTte daOƟWD#}p[A x:GNpǠv43J2I{΍ sBagpqK"z]/Hn Gv-fL>4@ۊy=JGio,.^M6c *h/\d-<ەV/ܪLvVg끱0 t؞{&&x;+pOO'lrP/ޯyK[[L4VOrCpfEyD?i p.r=i%z,ZEU{EwjXU\_eμ J48_'ö<s]TP[LiHWЪˬ7Ǯiwu@1A{4}ؖ[zہo0%ׅ18xitӿڦN.bE@@^{&-]wҴS`_DVih\R={L>}]M]N5lPW*˴f^,7 ,ha{:L3OP#a=bj0t]vUrld-p?ɯX_Y97vj5u .=u~[%paku-F;V9Nmi17$m}%/u6(i9U^\cHuKq5  ӔWx9ya\uJ != yp iei3m99x&[2~Oދ\5{t~ k,ט)mi?p-'OwsOߎ9q-xzCM^Ը'$kdKk-N g^C"AV×"ߧ(|jo[ַ.:@˛@pIӠ*D&4YDOz2OS+ lH ;%b֪{8 o1R<`h5uz\c຀+sȳ,V_Llj̓Q`4azx :zA64rrr׶ ,tL6=T#^W:_^l6lpkK$]{)ʗ"yckhՈ+54ºtB1 N6z˦tӦ QV& + wX5pܳEj:- ; xZ=o O7_@{km}4YO[3~E B 4BKTJT鬠Vni <59: R9y-a1!q֐]KJJ&mkE/zl3j3?;Ѱ%}Kgf98e&y4&ם}K#E}o`i%YUV5RX +毳$s0:}vl6!( p5Kza2{v?9#`4 AVo)~yEչr'O:fӀ*KgP$?J q_ܺ:8k`ӱ*9U6:0ݲ~jjCaӞVFL-/k{q ~@K:` vi%wђ,?{mB7iaJ"7p[>fbB5âȐ"IN:F9&Ll:\KL[* 5lzFɄghx-'o10%L_qTP.`v$i'i>&̴3 ąlkOY(?t-k[@2hŞM~.+lR4_ς&oR6fx{ֳ_Gԫ{jgI'\ё-F{X9C^oI_p%^7{LVtyi'~X|1u^]~Uv/^) t\c kJqfzefB,̄-&P 4H:]&N`L̹3u$?-WP0h ˆbJ IDAT\Sɳp`JW.TLirX:O Vy hr^tx;>\?i+[X:WKFQxiI.}Iz]_ybOwPFV[\֒iRK <ړvWZIT]P\OK$~杖w\$qִ>9lhi{0|f-L;?oD@;txK @X jx- Cݐd 8Й8`b&5![LM`4v劁7yq#kXӓaocqEU+GjfNQ -7Z ]-5MӛF+ܔS8&{iϴxaoY=kB|.FnczqwטaR+/s-jc~5/ ^ݎ5NRWU4$b⵨ЕUPey]M ɁZ+z{낁]`~aj/@ք\{%ٵikhU Qw5ܰօrTN$p T+ 72o!HzNa:5_KLQ70&3ETC't8:[n!tV=wQ*RxeS=߲K]דleV ֛mwW^z.Ξi\IV*^<ȥ]x]g:Wu /Iq4q`&^b%;˧zR+;J$MOD+ Kڍ*Vca ~կ"tm’;Ӧi\Mm-3jp*ai,\ um*V]*YYˡSz2 3m٘ hrm ]%V,سƄKi-]рbm[ӞV@W;[G3OAOA-@CsGA:aIn˔pvL*:L|2AEAL"Tm:MK zzZ%r=\D[:1ڮNL( Aga8<'nlF44M 8K. *b- 9';5帬 ]Qݯ@׊֡K*T/ÄXZ}ɚ5WkrJ7lhpɗ*4ׇ PW^3%cUIk]1lT׏ÖaB%}*V뮗NjRzY'æVOKZڣKVj%c"xţ%TwZ .RWֲ:"W<~r8}-.WOCϮNghgpzaKbJs-u'fq2l |?[-CЧ v$;vk {0<%; Ƈu@]/tLbTcMfa}[~4*QGR?l5mӮdצ,hyu8 \f=$i^y&-P[G8dvK,(rWHi8jV+4u~ə.AruYWmX_@kWh00z QڕL> lj:ȮW6uZXO/vz! ?yW|_WEÙ%He\1N|4Ol|T|_R\b^ 'M{= l{oHLߋ(Sˢm|9KkmNd=|}~xE >Ze|򰧹~xbOw73.xbɹEr/aZ9d"y$wKZ@%]O>x[v?W|AM/)M=Şҕ:RזR n\nImB63;)@7&*ap>0LE?[$+IDV/V֝d2a/ i5c iRޱ.uy8/t%_jV!,1+-t-̚*%aqT2вV53+lK+s uxb7O3L Y 3{@SdTsu*d5$/2Y5\=%:ymY&- v3nIJ/ߖ`i--k %>9as ׳Áy|H}GN>L䮈%1ZȌ>u>ē?=>xcK]t|^F4% ka,yP*<,k9^ -NH6ZY-4Ui^6YMh&P)4-wZ4+Y(ϕ ,8* *~mq/&@3_R\<_nIK_þ\g:Dz=5''6Yjɔg Y=q]e8 B>DÓJ$UBaϴӏ"f}h_3y8pBϦ-׮JcXUWqigg^jO!o֐ΖŽcaI&̔=>y,2`y&`בg[ZS596m>ZӞ_rOw5o{?xQ?N@8_=>yiaK4%\=DDzv؞HÞ^&L^%OvH=~;{{O-_-#ɗ6YSs}x\h4Y5@SI`O>4MnzWV j8 #-SAWeLOrPW-7bUZfU'4:g|eMP:+w} G㰗ћ&ο7LGmZZpX+Sӿ EeG}>MNl(M6%N8I~6}#34 Ж`sKX-Q#ӫM5 *//Ȱ >BL3`Xg2fk dtYS( ayZJv&KA-O~0e[tVK cEi]mYe@ YZSz,⤭c{1B[uK\=6Z NN{T8,i{<"ᓁ-JaղX`Ie6z|]G@e ^ea\uּ6l*>lMq#}VUS+)WյiO5xGzpHXue,p~ڍbO< n\߶58goP?i?e oar-krݳI|GsOpSA6?a]?pt { 646$Zبv5g>8}{}'?c.˦|Zq25K3@,Z@ 3D@_6g0armn5a*mM/lV'#'e)sUެ\"p=zbHf [zh[@t® Jl֯d՛AUY-nڵ`i ?e  "eק/Sw"+V:v(*:VQ?ڏViiu'&2ux7$l0$}apbz5?dZIƹebizyO-PVd)w. kKaQ vg=(h˧ceMN2, i8 H~ ~5q9vyYUwJ/kׇמ{݉ :"K\W"K$fWBz3Ӥ\U5K2U܋ KX]3\-䧛r ߢv ْR(th-L8Д]X" ԉ0k:xXw0jn9h g l+ /`ˀ;dc]JYkI_˱I&mE=qu˿͚O<[ܗE-ɒ& [g+|kjWn+xU!2Lli8Lت)]^P+XĬq(8L]Ğ=M8-q.EWZBHbH ,2մe:f pZP 3zGA|ir33SaM5 tZpS}[N|¶2Bb@<*u8Y|?k)_ ֆEȣh*(g͸MMOkʸT{K| h*{W[Ȉ劑ZM2!/I_5oB\Ua?Ozð]1&U<=1ش=rJ6 I $N#^%isSU&j R<<\AyZ[ =\90Z0ؓoQwMдeϧ6"qaG= m|"z}KC݃l,i7珶e=M?<̧apttp']?Qc44==_v&l {&_=7^[4Nk99tqIڂJR׍0ki `vP$A斦 ܤliܸAY`ǹ#aX(_1X}k6~,S/qDZ&9Wu,zr}]̿VX֍zt|Zg/}Fl5 & c Kܯ %sSٵr|'ڲ8Mte\}ִ0촞=mV Y'1r_=-CO_.[ aeVwѐ/k N#[2sԔV80_CM{yG#\[Ӗţ--9Դ7V4?ɐ?]MZ yE%- G7$]=]/=O;l8'ɴAS0{z$"0]Ni䴏~t$s4$͘nz8v[mFzBR[v>KeL<" tt8H`pXAĆMqS5޵Im7k(0΀X tmðD 82F'OYRÓ=i$ٴXͻ_zx4 #\^'|׮=x$/70՘O/%]a[n'!k a`ӦIG׵NU"ZOɖee7ђzԪՙ!ؿMצj ^Lv ,ע.ׯVf IDAT׻_K3iòrsrrnh&}p[Le&211mN 1ӵ\)=m陬pEeӹZnTϰɴdځ{üVzK\fRQįe[8X(ʫ9\"9 nf`Ai-=E+ $?|z:ߢ,Cr49lrh=6m9,)6?e?Z{|-olL4ߦmYG,Q{F{y⑇˟>XlzO(z9 Fu='Y7i&꩚Hڳ oa"NotK4uϮMF\YQFI$h4 $榓3IM{nb hK:̘6d`,z*08y=!VmӁ=|ݬrDRxdiM)TCп(0-pKĽnI1Vƭ5 N ma05bsёbm:s]&&;iY@q էaPg]MaNT+u#teZ{r]6WА__+UX}]o<-י`r0 ,- XBC\ܢi[5 ӫrqkLw0Zѹ<[p`Yh}OjyM<8W01i&~p "~l9`S.gv bg?MM{񖳝6%Ov@al\H0-'5%m9@ [9)1X&'{Jr4K0996[ŷ㳹# Mr8'%@ 3&`p>U_L>Ҕ@S(BෙZh_se.b,,-~YE*~Qau~e+n2 dB=שj뙫+ߗr194,"\,pMC 4`WG] XNWkk Qhmj{M&2et\>dCm:Ӆfؓ$}cpo3I s0`z˺hԌ~NV7 XAY@p`_ԉvYQG~ύ3@p.ǀ@ ZlZ=ذRR%aȻ>Fu{b:W]u MVٷr%?aSOhiz6Ϸ@[^V_'N\}/NSb9}kWjGɦV<^@M{UySpa~M~-Ŧh0y֖\ev@6XV.+W,.%h6">fLOE-4{= }Vs}xwi ҽP%V|YB{^.o18[G)uQi96@LvL0$R<`BIS˓{lz"ڒQ Birjn#gt 7N@^J/tOW%Ѳß5tĠ+J7Ӗ0̲+Ki s!⓻ 09BJ_Ò;QJ׺(X3_E,iISĔi{$';/쮧 GşζBL&l:"I&=kS ڿR0Ϟ8צ#:eItTMJ1qXMgӲ\ %/2 +H;gX5M|!qx6L!Y`W=am RLp6!O٠@qS?oO "! 3!?<瞮ʨƂeu'*ȯ7(W ״檢LeOGW2v; t!~6?gS0KTy:ß xY&?|,T=Z>>MmI6׆ y5_3l|ɦd# =[V>P'=[2.'Χ]LLNɘsw@+if᥀=; -ȮgQ&ӞnUypa>mh8='H~9Acb?-oq[þgzd)6ayğmLܔ+_^ֱ=C]M'l2an *Ną"Q*!>4}:pZ&jSn2kQOdh }z`2dfapޣaIC | 'omD6oUɩBGGk8g,CWU]ZKLx-ʎŗ;V~.Oy jZpxDIݲ҈)aqVdG;ϺVa.b` q-0YX)M >Ik5Ym_0<-9yUܱ h+UR]վJ :XD]Kr&Z狖]cYikqpQUH4g:^x?i@,^˴4 mO~a==t{(b%fpN‘&,gG]}<(#-; nt}o2WLp#5l]<*65Ru@Ʉ8a CRXZ0tcp0,b|] eOUHa9LwX 8qYS*9]n0EL+"aXe!Axk+& ^ڪ<SdW-.MU0Pi4|Z_vu9Xi}Qⰿ{dC_r5_~2yg,|r1Es)zGY6 6Yvɧ>&7! FSeGn`wdG&W\d ayh.CWŏ[$v.uaS-V#LBu׭Pi/,4|(8N䖆&q[hçEӖMS N6ݒ"ߦJ,~{Tweᖻ+[MN >۴&ϪJe42n5 qZamq lR|R Ǻ/^^J癊$Grf&QNWÞOs|尰a"pشmO2W?5݂6YՃ-Okz5t:%B?ZEA a8M4 :mY#@^iUP.TzÛx`JߴN.{ɹ%%oYӞְO3Mݣ ,yQٖ MHa")s94Wuɒb჎ 2\7.\*L+Mr 泒8oA4a^n ~[NrOV*p` h״''=IbZa}Fħ7-7Nka pX[J9qݣO"N [L"1ق6 éM}nА^祦qC u*n ¨TPz`=>{NlbG9 )(+J4/&SpOîê<vdl~iXM]oӈ56Af蒹 -I)yZnڵ#xqy/_{.O_:N./y%&'n稭|±!*yg"ןʜ_\ ~6}8~DcUئLdNk]BLE*dk 0∗EebXăMZfvO*QFU\9Xridu(FiVdˢ)L4[k=$<[=}b &m0v{1h=SU{tt[~Ma$MW-򇄲^7\.r{:\#(5u(+X"!{RoFfz)|4 ϣ`+L KlY$0pZ(ت#j5iV=4yPzVЊx08Vfib`X9Fżْutx8|ϞiԳ*z+ -4}{ 2 4 wwܛ\{["F-g곱-{yqYʫcj 6)n:;46 Â&k#[L vl--c3@ؒhC pl8|= \ɣrͧi 2Ma:KL-Tw)& [Y |}ZDYNhahA2Mn|Y+"^. M=,ГiˊciZ: QoJ^2۵ii;'PS7e{Namx:O2dcü͆FCnHGȦ7ePaG"SU=]ٿ._H : IDATm5sM l2^K:击G G{6϶:fE0uî|^@mzj%e{[TUD6=R8ؿ\DO04.Sܷyp϶Ű-3qxOoz1_V&=K}=>a33y馮iwNX:T5dS!(W>߬/w nn*a ٗb.]][6myXk[q0%0kJo#ZTTSW5/PkXӢ-jP~X41!EQ?ݻ c<-Lo)4ټ j6O #v "z&K32lj9iؒ@Ē5Wn j0s~Ta*cr7n%M[}p7-^1 өuϠk˷% ti9l=n/حWeK"&b6h-/>Si@y pŴ6W[\^"i%Ez)y_';C)OƩϱ ~~ݩ Pe9DSpQKX*z5n2Ruz3͢~WGRap=\ub@^W:3[ NBa^qɃ9=l}>q n]k^#{l-@9lQ$y6* W$ZV0 tn0ċ;{ϧ/=2 k<2}[b$(q9`?ELB(>El#5*WCrަ)l=g{3<`Vm}`ݽ-\st45sZL,>ڋAz0{ޚK֌>x$kn"6=L잸ΊeQ4MN{jm.EI3y8a Ӷ\[V?j٭x.L5%K,8l5}-[S[qU1_*$e<*ml[7Uc~g: :UA?2|1p,ahhj(Cg{x誋v^97~t:֜4[ܽm %xxjaP'<ֲ%a~5O p:GhʿŒhj0|habTb89H JDrwUIǠ#a\ t=ABGo4UvJK Ä~Ӟ~5"VZXʅ31`omX&++(Shjpr1Ė_ޜW]WϴK>*-NߎI9y$B  >,h e钂X*O݇uF|9tyzkg7 lX-J+~*IJ t 1찻>|˦t]rڰ[>aqiڇ =a{ao|x$ ^E-_vJtU!H8 3еi h+(w ^RR]Qaƪ&lhBx0tnݠ~oX7+&]%ɧ[&\5z,`M׼&WGWO,*xa 9<Ъ^c 0-,,-Msak$po%!lo<$]hH6 ϝ]eaϞ"qx"ӍHJu5;4C֗y^pezNkXY[V IL?8\XrLM[@pIyaz%n3lZ=ߦcDKO!&Þ^A%˥:g9aZ+l=OiC3 1pmž\#Y*ç&p9zYҒ~=@5BY <ۭk6Ml%qx[[v 74}cw{xćsش!$'}F9f/WаfmI+CEHMۤxAEE%hO[Ch{ӪS \"AXc(I?=,ӆ}4GbaMӢs3 :XJv W5RJ62"[r|]&S0GĈK<j/), |WeAMֲS i-YDzhmz~ -Ch[g&w_ܢ6OvX@=Z=ptʼnid ]aq{UqVӮ$-'&~ >eXӷYϨ+l(fBZ) 2VeǠN,4Ԡ5ےXU5;6 \_eg۬r">Á%.Ggiɧmʒ9,ұ`LL[.xӮ电H*}2 }$OMd`%LR`shup6oE3͆-xڢ&5 F<~= >h6qWp3þϞ@HTZ T~D05q95fBE1 -}8u,ham*na'ڨ,/ur"JP vנ (Tl`:h)iVDq}o9<0*gM'h5/񷣜6w7L d>Ւo= 35^Ooi5ga]O_-_hKtL,Y#Jv6%LGMU˺]l)aYCAC _B-ú2~ĊosZ$LvfqeuaMf6-yaM1ۚr1<~]}Ohqؠiঃ[O|E'D~=o0 -& I6 >D}tb-04JDL(YRFfayJAHa0:f0x5Db/\KwKN% | ~6;B/X`/7\OKe*`*ݩ@.4)r,BɱcrZƊd!5^c{ȷs - Oؚ;¾XaIfyʣHBAdrr85iE-o6R<Ԇ釕kO[6M&[dB=yK30G'_}O3Y޳b0 [%?秿gK4=hN>ۮ_-Nijل()[b6[~-Repؚ% khH 옼e%.Y4E+c%dgעak6QXN |atgk ybśZ,z-4T3梪 aE79p]?Ө50ܻ=]G+G wiÙ{f $0VC%vK_bŒKX&v,iA-ATbش5N̊ڰV/îvsm= wEÂiOOCP&y4aêR"Wx_`5tX>Id2O *5 R v5z6-m s~jAaYU3ga%)\kUS0$EAŖTdM\36mi$1G60%DǴIÒn ձIXTȏvRe3lmn݂⚶ᢀ>Q(R/Y-L$ rRa=kzj.lK.yE .G 4ɿpS8ڇ=lLU~E h=GZ7w:agHF{4=ݵecpݪ IW.i"":p<̵ƚˉ.حؽRa[2PL p44YoDuגk88\dڰmhMs}*Vxģ #hB嫬hK9jj; pi$ƻmr$޿`d98Χ+02xаQ_aa~˪n&$?{v.A${TͿ^n6lm.iKhh|m^;aH9me%ofFl.S)eIVcq='qv8L:'_[霵cӞ?/nMoǪNр,GÈڥnSZT[dsr՞mn@S]ݛ[k˞f9°ZUs^ϓ4dg[Jn}Wz.aHm`5.k+@}vobkU✳7aKa]k:v+Ӻ.>-6t`46c)Hl_"{R O$i [>L5/aآv MÉ% /zPGr5L~ +` ID8L , ^zfJUX0P?];: ȸfiDחMV-" ~0ÏnƏaHlia m&zv;%m[~&w?lnؽ6Ʃa?;$g|$x̦/jiVX]cAQ~R1ѐx]poG@hha<|nE i/ 0ÿӀO>?[Sg>'yɉ Yu6g_s/x)YςG.P%4p`^__>*“Fg"|32i0mooLn;=y }qwe&]Q,iX`Z!k%O{eh[v|4ڭ%\aKlm 4<'e˨<3і~GU&[kfKf~ɇpv$AZnjsɻknSiusM֙ThMo /e_-{O6v ǓXᕭbו7[jkѕB 'i=X_n|lZirݩd- yL=Aɦ!<ϧ>yj5tj?-PeZ+NݛU XpB vK~BavL l4e÷!aa2gni;IDAT+"l^Ce5'p Lv"Q>z\sGۂh_6O veN9Sl:l)` ۬Ki˹}%Ρfn?\c0Yę>b?@ŗLz%Kۤ 凡LOm֡->K{%莎%'oOnT9-Yڲڿkܭ$g5 w_44<4>L-j bvė 4\s vxY.<E8FX-MhjyxQikVc=gd2{lўjúO!vO֢ŢK.A4t1k58͕ cܝNnkW*)wSߛ&w[=. Oǖ%.W1qKL{Aъ`W~rɧk?z:V`L;kTD&1n /?eQaw/ ]EMtt"M8xnWlPR2⒘b*i"5l},m]K2Et k!p$M-e [C})f DϮBE YR_6Nw3{ .v?yN#S-)\bQ9gW'<-l-kh%[_]mp[L+ݓMe?-W?ov.5wKZN>qZ#لiK>"Q3voal&$ӆ}axx݉ ^oqXSY~.{ $\횿HK>tI,zaIz5=tM-|y"CÿkGu$?EzzX kOtWN9aJ,,oQ۬VGaQK5-p?Q VXR/ I5 lyXrf43XДVtB&d f2=y SKMl9hXrag]S|~8Xuv5%҄Mp=vLܭksnbQx&?}wXW#F2$\rg&W-Y߼ɧ'_&a&Wڰ:ϼ%Ňur K40w ?Ǯ2`a 咜4M<, +hl$3JL`G3IQFopf0yv`r&0N73]00-mEopp[|VH}{$ּK\\=4,*a1,ǚɺ\5ǚ tIq˖bWΞ-a]җUG;xaPT -ٱCkӗ NwuC<[bI[t5mqꐗioGo+N%.ijp|Ws &na`rw;3ғV\TZs~ /Q-G%|Q8 ]æ%6ܒ v=nI[Vt GpFMp[>mB|5z-;٦5]s7pY_N~kl9h4W׬-Læ%5, @\{-5-1o35<:a=`KxO}0?}q\W+{;lIc+[ӖXM[6u6{ iح.ç%9*,e buNJ-_a.awsMvyz^v')yuɯVl-\SLM{BmvMAѨC^&"bni5%~U~ش?[ݯ)|-{Gg4j[E{;WƳW@67}/1𯎏j̞KdkTp˻?@|5-䒊.W0mx\ÔnqI1XKn3%0E2 g5 }a^ R_2KN sZ/Q&1aYYZ)4H#DL STJvP\nE 6FEA0bM&39vM-(Y[5-δKtm%3Id4^Od5aN!8ᦞb`{&԰E~4|Qܰ!#cio=ޓXr˚z JxC/dz`Q_眆*Vvӄ5vۼnKI8m0#$N+_v%zrI}[*u>(RÎ3 t&ۇ{,[FR?eH{<)_o|;;O᮰˶v[@qO+|h)욓?s$]]_j3t;`e0gP|szw5Ƕp et~\.7S%-P Uggrնy_Jbg2+Yc1QnH!#Ew `E |Fe`طA\ 'PLg ^kdwۖXs_bM4x^PZ4ir2h 0ޯKerz |Y@ѽ@hzmURo5_"ꋙK|cC"1Ĺ[,"pEcs9Wwi-¶M#6p ml$.vJOw>_Fg$IENDB`pychess-1.0.0/glade/fics_lounge.glade0000644000175000017500000066642213353143212016622 0ustar varunvarun 240 15 1 10 60 10 1 10 124 40 1 1 1 1 120 8 1 1 3 False 5 Challenge: <Player> center True pychess normal True False 1 True False end gtk-cancel True True True True False False 0 True True True True True False 0 0 True False 2 True False challenge.png False False 0 True False Send Challenge True False False 1 False False 1 False True end 0 True False True False <big>Challenge:</big> True False False 0 True False 7 gtk-orientation-portrait False False 1 True False <big><b>mgatto</b> (1337)</big> True False False 2 False False 1 True False 5 12 True False 10 True False 3 3 3 True True True True 1 True False 0 0 True False 2 True False gtk-properties False False 0 2 3 GTK_SHRINK | GTK_FILL True True True True 1 True False 0 0 True False 2 True False gtk-properties False False 0 2 3 1 2 GTK_SHRINK | GTK_FILL True True True True 1 True False 0 0 True False 2 True False gtk-properties False False 0 2 3 2 3 GTK_SHRINK | GTK_FILL True False 25 Lightning: True True False True 0.5 True challenge1Radio 2 3 GTK_FILL True False 25 Standard: True True False True 0.47999998927116394 True challenge1Radio 1 2 GTK_FILL True False 25 Blitz: True True False True 0 True True GTK_SHRINK | GTK_FILL True False 35 True False 2 min, Fischer Random, Black True 0 1 2 2 3 True False 35 True False 10 min + 6 sec/move, White True 0 1 2 1 2 True False 35 True False 5 min True 0 1 2 True True 0 False False 2 button1 sendChallengeButton True False True False True False False False 0 True False 12 12 True False 12 True True True False 6 6 True False 6 True False 6 0 Active Seeks 0 True True 0 True False True True True True True False 6 _Clear Seeks True False False 1 True False True True True True True False 6 _Accept True False False 2 True False True True True True True False 6 _Decline True False False 3 False True 0 True True never True True True True 1 True False False True 2 True True True True False 3 12 True False 10 True False 3 3 3 True True True True 1 True False 0 0 True False 2 True False gtk-properties False False 0 2 3 GTK_SHRINK | GTK_FILL True True True True 1 True False 0 0 True False 2 True False gtk-properties False False 0 2 3 1 2 GTK_SHRINK | GTK_FILL True True True True 1 True False 0 0 True False 2 True False gtk-properties False False 0 2 3 2 3 GTK_SHRINK | GTK_FILL True False 25 Lightning: True True False True 0.5 True seek1Radio 2 3 GTK_FILL True False 25 Standard: True True False True 0.47999998927116394 True seek1Radio 1 2 GTK_FILL True False 25 Blitz: True True False True 0 True True GTK_SHRINK | GTK_FILL True False 35 True False 0 1 2 2 3 True False 35 True False 0 1 2 1 2 True False 35 True False 0 1 2 True True 0 True False 6 True True True True True False 0 0 True False 2 True False seek.png False False 0 True False Send all seeks True False False 1 False False end 0 True True True True True False 0 0 True False 2 True False seek.png False False 0 True False Send seek True False False 1 False False end 1 True True 1 True False Create Seek False True 3 True False False True 4 True False True Standard True True True 0.52999997138977051 True True 0 Blitz True True True True True 1 Lightning True True True True True 2 Variant True True True True True 3 Computer True True True True True 4 False False 5 True False _Seeks / Challenges True False True False 6 2 2 True False Rating 90 GTK_FILL True False 1 2 True False Time 1 2 1 2 GTK_FILL 1 True False Seek _Graph True 1 False True False 6 6 True False 6 True False 6 0 Players Ready 0 True True 0 True True True True True False 0 0 True False 2 True False challenge.png False False 0 True False Challenge True False False 1 False False 1 True True True True True False 0 0 True False 2 True False gtk-find False False 0 True False Observe True False False 1 False False 2 True True True True True False 0 0 True False 2 True False user-offline False False 0 True False Start Private Chat True False False 1 False False 3 False True 0 True True never True True True True 1 True False True Registered True True True 0.52999997138977051 True True 1 Guest True True True True True 2 Computer True True True True True 3 Titled True True True True True 4 False False 2 2 True False _Player List True 2 False True False 6 6 True False True False 6 0 Games Running 0 True True 0 True True True True True False 0 0 True False 2 True False gtk-find False False 0 True False Observe True False False 1 False False 1 False True 0 True True never True True True True 1 True False True Standard True True True 0.52999997138977051 True True 1 Blitz True True True True True 2 Lightning True True True True True 3 Variant True True True True True 4 False False 2 3 True False _Game List True 3 False True False 6 6 True False 6 True True True True True False 0 0 1 1 True False 3 True False gtk-refresh 1 False False 0 True False _My games True False False 1 False False 0 True True True True True False 0 0 1 True False 2 True False 1 gtk-media-play 1 False False 0 True False Offer _Resume True False False 1 False False end 0 True True True True True False 0 0 1 1 True False 3 True False 1 gtk-media-stop 1 False False 0 True False R_esign True False False 1 False False end 1 True True True True True False 0 0 1 1 True False 2 True False Offer _Draw True False False 0 False False end 2 True True True True True False 0 0 1 1 True False 2 True False Offer A_bort True False False 0 False False end 3 True True True True True False 0 0 1 1 True False 3 True False Examine True False False 1 False False end 4 True True True True True False 0 0 1 1 True False 3 True False gtk-find 1 False False 0 True False Pre_view True False False 1 False False end 5 False True 0 True True True True True True 1 4 True False _Archived True 4 False True True 0 True True 0 True False 12 True False 0 none True False 3 12 True False <b>[Username]</b> True False True 0 True True in True False True False True True 2 False False 1 True True 1 Asymmetric Random False 5 Edit Seek center True pychess normal True False 2 True False end gtk-cancel True True True True True False False 0 gtk-ok True True True True True True False False 1 False True end 0 True False True False 0 none True False 3 4 True False True False 0 0 5 5 stock_alarm.svg 6 False False 0 True False 0 12 True False 3 Untimed True True False 0.5 True True True 0 True False 21 38 True False False True 1 True False 2 4 True False 2 True True False True False Minutes: 0 False True 0 True True False False adjustment1 False True 1 True False Gain: 0 False True 2 True True False False adjustment2 False True 3 True True 0 True False True False Time control: False True 0 True False Standard 0 True True 1 True True 1 True True 2 True True 1 True False <b>Time Control</b> True True True 0 True False 0 none True False 3 3 True False True False 0 0 5 5 48 weather-clear False True 0 True False 0 13 True False 3 Don't care True True False 0.5 True True True 0 True False 21 38 True False False True 1 True False 2 4 38 True False True False True False True False 1 4 True False True False Your strength: False True 0 True False 0 2 weather-few-clouds 1 False True 1 True False 1 1200 0 False True 2 True False 5 (Blitz) False False 3 True True 0 True False True False True False Opponent's strength: 0 False True 0 True False 0 2 weather-clear 1 False True 1 True False 1 1000 0 False True 2 True False - False True 3 True False 0 2 weather-overcast 1 False True 4 True False 1 1400 5 0 False True 5 False True 0 True True 1 True True 0 True False When this button is in the "locked" state, the relationship between "Opponent's strength" and "Your strength" will be preserved when a) your rating for the type of game sought has changed b) you change the variant or the time control 20 False False 1 True True 0 True False 4 True False True False True False Center: False True 0 True False 3 True False 0 2 weather-few-clouds 1 True True 1 True False 2 True False 1200 True True 2 False True 0 18 True True adjustment3 0 False left True True 1 True True 1 True False True False True False Tolerance: False True 0 True False 3 2 True False 1 ±200 0 False True 1 18 True True adjustment4 0 False left True True 2 True True 0 Hide True True True none 0 False True 1 True True 2 True True 2 True True 1 True False <b>Opponent Strength</b> True True True 1 True False 0 none True False 0 3 True False True False 0 0 10 5 piece-unknown.png 5 False True 0 True False 0 7 True False 3 Don't care True True False True 0.5 True True True True 0 True False 21 38 True False False True 1 True False White True True False True 0.5 True nocolorRadio True True 0 True True 2 True False Black True True False True 0.5 True nocolorRadio True True 0 True True 3 True True 1 True False <b>Your Color</b> True True True 2 True False 2 0 none True False 0 3 3 True False True False 0 0 5 5 48 gtk-preferences 6 False True 0 True False 10 True False 3 Play normal chess rules True True False True 0.5 True True True True 0 True False 21 38 True False False True 1 True False Play True True False 0.5 True noVariantRadio False True 0 True False 0 1 70 True False liststore1 on 0 False True 1 False True 2 True True 1 True False <b>Chess Variant</b> True True True 3 True False 0 none True False 0 3 3 True False True False 0 0 5 5 document-properties.svg 6 False True 0 True False 0 12 True False 3 Rated game True True False True 0.5 True False True 0 Manually accept opponent True True False 0.5 True False True 1 True True 1 True False <b>Options</b> True True True 4 True True 1 button15 button16 pychess-1.0.0/glade/stock-vchain-broken-24.png0000644000175000017500000000060113353143212020104 0ustar varunvarunPNG  IHDR (sRGBbKGD pHYs  ~tIME h IDAT(ϵ1KPNnN"!CPEP[J5GdrHR <sϽ=.5@TA{JP]q46 CV(:jpiɳ2mz'M>th`׊>>۶>\iںѺa g)E?5Qg image/svg+xml pychess-1.0.0/glade/dock_left.svg0000644000175000017500000000641013353143212015763 0ustar varunvarun image/svg+xml pychess-1.0.0/glade/manseek.svg0000644000175000017500000000742213353143212015460 0ustar varunvarun image/svg+xml pychess-1.0.0/glade/saveGamesDialog.glade0000644000175000017500000002623213353143212017345 0ustar varunvarun False 5 Quit PyChess False center-on-parent pychess dialog True False 12 True False start Close _without Saving True True False True False False 0 gtk-cancel True True False True False False 1 True True True False True False 0 0 True False 2 True False gtk-save False False 0 True False _Save %d documents True False False 1 False False 2 False True end 0 True False 6 12 True False 0 gtk-dialog-warning 6 False True 0 True False 12 True False 0 <big><b>There are %d games with unsaved moves. Save changes before closing?</b></big> True True False True 0 True False 6 True False 0 Select the games you want to save: True False False 0 True True in True True False True True 1 False True 1 True False 0 If you don't save, new changes to your games will be permanently lost. True False True 2 True True 1 True True 1 button2 button3 button4 pychess-1.0.0/glade/stock-vchain-24.png0000644000175000017500000000057113353143212016634 0ustar varunvarunPNG  IHDR (sRGBbKGD pHYs  ~tIME ;5WIDAT(Ͻ?k@$"Nm)ӯP(JB"nJR (ApxGwBjXwac%{5^4Cu{#B8t$|~R+36"VBGvǜ)bg;M*nꋕZjwflKÚd G>[kPā~gB^e7נ,O-dg7=_~ZIUIENDB`pychess-1.0.0/glade/panel_docker.svg0000644000175000017500000004273013353143212016464 0ustar varunvarun image/svg+xml pychess-1.0.0/glade/dock_right.svg0000644000175000017500000000646613353143212016161 0ustar varunvarun image/svg+xml pychess-1.0.0/glade/background.jpg0000644000175000017500002111246013353143212016137 0ustar varunvarun?ExifII*   (12isamsungSM-G925FG925FXXU5EQJ22017:11:27 12:30:37HH ("'02200D X` h px  |b0100    2017:11:27 12:30:372017:11:27 12:30:37lddd ddASCIIIICSAIIA16LSIA00SM A16LSJL02SM 0100  Z@P (v;HH  }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzw!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz 4"@.0&4LCPOKCIHT^yfTYrZHIijr|Qey>"">VIV! ?x7R4q%d 8_w4[ jaBQ@-R!i1@ 1HP-1Z)fPSfJ) J(@ 4) LRRR@LBNQb ( Ci) ަ97b)I2aZřIG8QTHQH  Mb (LJ 0qXx Ҋb&hȠaE!4jLhnh!Rp Zb Q@!BRCi)d4tHNCTrBܯ%6;;K7*qj%+24JZCE!I@ K@ 3@E%!h.h 7pjC>)-4оe.w) 4;I@Z((b QLP!(4HchQ)xl-IsBI棸o;Zҫd YJsd>I PZ(4s@)wRCR昄4Hho4CKLҁLB mzx SBa4-PhicE!rOJ yA\g"oZ׼ƹ\d8kC,c ^2kc"ͼFw6wZ()1qF(I%JnȰ8↬ 6] RP`SJqi1)CR 1 C4f 850 1 KLAKEEp%R!SSi CM4R3)Op*7 v%)@?Za֥\#Q,@N+x- $:.HnTrU(z ƒ@Ep .^I''h@p3] 4KpóFi P—"+\'hy!N) iF)1&wo;s֜vId0zv ބ>d+1i_ZQtÐKiDQ aԔP)Sؤ 1 4CM&hJ)dGTY7 OܠdLGG2`* T,=iԏj3;( Z(D#$pA#G;l qښT5sjeÌIqվY( w+l'5xne_)WTbT*!&Nf(ޮ-#7ɢGS{zewV1I<Lr/g;NmHo|35B4z<*yzcByC3zfO1i7+{xv; h}M n>& яEHHBS"p4LC.iMԹAA564P"2`bF1Qޡ)#$ R0 MmvbC HE6D <} UpNjbqE2y^dMv8Rƕ2;Aa-ZHO{=LD#`W T2@hɫ$pɩhBcF)a4RFi Piy{M37N+&)cJI Zŷ(~p~@֫c I>)WnN)Z/m:ç,R`s>'%2 P3%ˑLFah#s*_:DśNZk*3FؐC)L(z1`i~=+^TeƵ[zT8ؾ} wHYDoF:k rJ6J<+Cpd'+cV2V>ҧݏH8%Js68S qJV+J83hLt4Qz}Y-l_P@kT`džK&QOD E0 JBqQLhJ Hҁ@(^5XDlt2UZV"un.-2:>Qaf~1C$rMY'waH9ZJ@Gg"-D U Lo@DӗiMcPڙ7ڵdYkʽiGMt%dsvYXw#UU<3CLu4DJw3&I Q(E~w7ҔvD*ጞD2@S (ULTiЏVƚ]W"e`i⨑sKb  ajJCCs@9GeEd*j k$w{բ$g6A$g 0I숻;N8ڹ0_!s&eFj 4f X$;9DP3Q3ن*+Bu6 ]jA3~4+ t1 ~\ ¡3>orasQޅ>cV|*gҺRD]TaoAMkXʹ" bT\9"I-] Dg'ER>eEh48e;iH%ԘS‘lr)$Xg'٤ޅGrNE:^WCI3x59ؤUk8ª;Tn8gICOuGI+B=JEbSvǽheͩ4QM@ؽaИ4-.hi z qSflZd2EM|@K3VF*ՙ!In[$ù׀1IT 6Rm.aqX3XW; b9Z)3XXe׽%[ V1jF- Ct%⳵+Ѓ)Dv\] W, }pWҺ0tN%#jʁOCXT]M`ީ͵.8r;+65=Ktf 8u5mѥ)Sjp J+v9jkLjgNˈCuƯbw)=ûnnkK7d+} 4&$huumvzPifF) JptTT\x" +yh<Pqjn<,'J*ir,MonH@AKlb`Sbc`}?8Z,3Fh>\$ΌFqB6l@1 #5wDl@8?Sbu# c#MHN%iSZlk6SQ ' 1Vb*eUjΟɪR[rW0O5ķ_9uMROc2Y ώp[x&']Qf OC*|vdELC67^ZIⳎŽkيl+y[vFJZZ4}+]/DI>=vNsYI?Js늲8DCHxU"OTb`ttJaBNh@Ii4 )Q@ih~Ete$Sؙ֦pzS &b=w<P]I35=+EC'ܤJg(5/G0r)~"yu"~q:18 نadt$p(sCe$;y(jsE4wd=UneS$5IZ} ]T}5"2WNV`pўaTɊ$&)Tp`"ǬWN[G%B?Z5a4I\yMm@ J狱HdHBO5m& WEBv5vexexW#g ^HU ?|(*:Z6MƸ*)7{ #@cKa2xJD8lhY.=+=ueUB=D>#Y%$LqQ9fI!SO \FRYwv mM%X牻n sakB/#䪪 0+<*pY nF8c\Ua2``FfP늰1ѹ#̮ˡ,ss|U5`u'+Ōf1^Md:5d%Hp761SN>C Nfj2TV.|A}j} nڝB^yl87`r Zgz RQ2j6X\2ϘHcY21l9566sg gwcګKvPJ""AL mmqENs*RZ(R} p$Z1]4)(-A,:*+?'֜^hV/"LKqo} x_$J& ڝuZث\wWSb)LR 6vU܎Pf/(b{S$ K~.Wkc58*-@muIZtIm囹tOC& I$?2Dʊ`$ )8k07L{ Z7'8\5oRP6=֝;Aj SxjW j{.qRFN']v'S!/++38Jtm#gqe{+X3 `Y֙5F1~#Y% 60MejkV')%Zd;H8g]'Xd}+hs"jȻ}>ҟq";+;A۳z΃UkY世Bz!9\]QX \ <[GcTcy}^ڊ,ڤI ƃ,M\Irǹȉv=j'8%dWRg#H(:(!ᙼ\c9VnSs"YLkm. C'54Y&3cY>EzF#*)=n:Y<<8SV,i=F$4%L4+!)Tmeqt-BzbSR0Aϥ ZXWm\Y0t`÷cMw+ItlRQw k9"tVX-8_EH\D)8DO/ FjiF>L(Vb@[,5sҲ*UEG!Ȩ,NJcw47|. ,+ [T|ñ*\%m;"RL h+2y[?0L֐n HnfJH#bxOj)0"GHFHy&9nS2Le[B1ܟZV.iv#Z:׊OaΟf5"e5򕉥~]Q+H.M(A;H69E=#L{q' j ? Eےu v1qtJy\%c&&pFxSi-b0kGnL\ۂU>-rj*Mr{i,Ld)Y)X-LK_6lN9lf7S ;p?VWԇLK|8[`WD3_S*""Yȧa^ %P U6GR=kҢ8=+9f\g6L{R]BasրGZ3(#zhIbFRAk'QIc@TgRk`qL/r?弮;ٶ̔Scoc_Mmved:7.J r@5%O380)?#RV. ֭ir0h꧞xNKE7/\Ud1w4ޒ9MV1ڵgʊ;R\rWL9 n0)v5&N3M EN]K;GJR4Q!1TI2GXs+&vʟZ]VESJtUɐ~04cHrwp'eqSXԍѵ)s+3}ǸĨ6*v6>g;$}޹eJwW&A(Hㅈ#8Ty;KR#yՔ|V[P+j ȠޕX7@.zQ]})QoxU $TSbBɌvl S20]5\gS%,as moUl7bAfb?3n+N@`HdQ4]6$X'85ep ]D_QTҘ@r~c.EeF)⨠${SY2˅QC@BaڷdZV.JⳚ\_C$KPxzb0BҴL͢sS}tխ0;TTq$|!rXõs^"{Zk"{fȍ3L}> GjEyX猊nّZַ&PN8S8q} *'F5tl5:zRإZ8-$`mN (nj^NF")<sMW2|zTntsRdְHn#Uʅp-D]暎oCBRG'q[4bAHXưQ;rqhAVYnc=hm4!qkwsW`tQDy\$ܤRRA*t$SlDmFBsFғAH0Op)s1p0/TMyrǙO\E. ~WpCm8M6I#_ެvyjFR1F3#?MݙFq%|ҫFMi;䚧r@&@ORxʨzmboDEޑ(I[H􇵐V%Wkji`R 4v%3QpTqcNH0ʫ(RMWgOQ( "SS)\mYN\*IwG̾SH5r.zwLyidfg&"1Y73Mpi34lCJ͒FNM8W$G1f\5+պe-J_6r{Ǿp3[Eɉlf]aPrU!cF%HOOjKs}-tp}aE$[hX\^>v9ⷊc)2,/4LU4΃O}n*xjJ茮rznsPB2j}bp*^7!/JK]/&X/xӶoQQJW<Zb.&<®:եr[2c0zdSYrzQʃa AFSpu%عًirI!E J\jIH##rDD?[P"ʬ:ucQ vfnL(`K|qrBs0CWY)ǥYlM:UB\JA$G wF-2ZSqީ]ZxnH6Ղ1w44wGW!qZ?/Ep~^I69!N>Z2>EF6S_t~'ϽkX"HA=9'v>t":=(xY93N'oƴwQ\#fwALOp3Ax8+p"\/U3`O\r*Lw=_TMjF2ٕb1A4!$+[f׭D)nt{A\I#k0U,;s\2=k2;Cf`G<}'/o T!m'z|=EbA'n+fX68YNJ5^9#zHGj IguG8Vu]ĨҶ;eyU)p zW,t!X'R}X&L"ZJnǜYJ`Z YNsڅ(L+*1X T"%[5q(} ;W"m,zWt<JT9O;\Mإv`$c2 fRIsnsEQRNyd:EUrԻabYnQdT1l[r5[Nw*vlQ*F&mX[Hjɮ9KJ%rMr U!lUIW|Ք9I'*퐁? jM6-d 1;BQfVԶNѪj9X9:r13V6Z婹Ob[F;XUght'XfRٜ/q(HI  Xq]G!-iZ BǾ̪O;Wc! ZVP9"9NJ%-~8cxU>QY7i$F*zn)!Q ͞N-c>ڰqz'ʴ)DJbzZٿ;EQs JL:RH sNm4~Jױ|UjoE@*zH+nv2^yUb;甤`dO. >R,(od+-Le2OI"u *zvB9KbA՛e'4/c?wqfGUT)7ВD ) ulU 3Wy M &ƇAK?ad.4ݒ7Q(4Tp=dB~Xُ(5/[Y?,PvU`H:rz1m6H#$cZϿ,s[t1FgVQ(qSB dU֘9HRj7w3YOcXn[NXl($\Y;+rbW1ߵԼ(=A^^3z ҬPTlio]y!#]準+wl8ftRiQX/ FɀpM-v6_$2 zJՆPEsUS-/`M#[GqX)#k6m8fr֠ [32nUttp5&m5HЫ?ڰOn=lcM2 $T#Rx) eIm3hp=l.mF)qH4]F- gn1Z7&¤zSZ6C@kuu#4+(yh39mSb1 C9Zq?:jF.ydS w#~بaNJ6=EY@.s1@hX(>TM gֹ&o1|}YWlH51ve5tQ0O8>?Q]Ji1d߀4ܐY"]?TS&;jsYE*lܱ~ b kTr4PHI#}GAXs1Y'Y  W֘ ; 8ۏ&Q&>2_VŒ *%hMmC YU zJm'} }ȱ%>l0rWI?kCc}S;pnc\ر&YC5rJN# qZd&;P0k 66Tj:J|Pԯ|"O\v NDρ9m`{@2X]iԴKhUp=<•PHB*WBa6'Hcav4Cv1N`cO?J,,YHg;WK\}xzΤt.uݩx}YS@ʡJt5D,aCHqTaFcUaUhpE [@n~85jiO֥bQS'ˑVo5 o( fMu3qkcNwzt7PHkNbVD$ãc&y* De8P)CEKY?up( ȥ Ϲgo;.+h쭰IFF"RdgHcAʟ*7Bq 8=?Z6P;(q&z3w@rXf @MiZC(XF:vT!Iq]<ɜ6%uND~6+1QKR54y%<2LrПVm+ý&EsG.v0H8RFy /L})P/S]h X -Z3(:2 m=+˹ӚozBsS3JPx@ަ)SBӐ 3׭fCJ0i\0}M79NE(d=&J̔)*KHX5"DǕeCYW. aÏƂ1E7jkp?JPJx[tf {`.FAa7 i"R=6ʧ8T& n;R*rd <I8&zQ@X>R=0` BL=B]M)ި<ӰzHlLzs@BB 0541,w`n|xBb2_LSF1YثpM.\ucUA+)D-> Y 4] g p x M `  q j 6  I g :  0 @ J  / / z S <  l 1w &o ]m Q  dK '* ! ?C6VV~;G W_| aaTe @@V\_@JKJK jo1m__OT]@Hx%޻iN qUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqfqfqUqfqUqUqUqUqUqUqUqUqUqUqUqUqfqfqUqfqUqUqUqUqUqUqUqUqUqUqUqUqfqfqUqfqUqUqUafqUqUqUafqUqUqUqUafqfqUafqUqUqUqfaUqUqfafqUqUqUqf`3qUqfqfaUqUqUqfqUqUqfqfqUqfqfqUqfqfqUqfqUqUqUp qUqUqfqfqUqfqfqU`3qfqUqfqUqUqUqfqUqUqfqfqUqfqUqfafp qf`3p qfqUp qUqUqfqfqUqfqfqfP0qfafqfqfqU`3qfqUqfqfqU`3qfqU`3afqfPPqUqfp qUqU`3p qUqfp qUqUqUqfafqfqUqfafqUqU0`3qUqU`3qUqUqUqUqUqUqUqUqUqUqfP`3qUqUPqUqUqUqUqUqUqUqUqUqUqUqUqUqUqUqU $6MMMMMMsq6_v@pH*S[w3_,Tސ? :mN ͐as !a}}*mY?Y'R.'R  UyU ' UyR ' Ry[@'/[y`@'M`y[@' [y`@'f`y\@'1#\y`@'`y` '`yc@'!cyb@'byc@' cyb@'4'bye 'eyb '-Wbya@'$ayc@'H:cye 'eye@'eyg@':gye@'eyf@'"fyc@'cyd@'5dye@'^"eyi@'5iye@'%\eyf@'!fyc@'cyd@'dyb@'byd@'_ dya@'ayc@'%#cy^@'-^yc@',cy^@'.^pH@ Uޜ_I Q N !x%J(*,_0?35K7892;q<=@I Q N !x%J(*,_0?35K7892;q<=@I Q N !x%J(*,_0?35K7892;q<=@@  $(,048@+`lylykyzevtlylyRuZ8Z8P@qU8|xtplhd`\:P gMC  F??HeYHeY  fVS HFS*`VZ8Z8 - -?21973 2016/12/13 14:24:50 s _?ssois63FM02 63FM02 63FM02 0 1 100 2017:11:27 11:30:37  }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzw!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz     ! ?]rz9g4m`9?3q, =+2eN7zwjpe8$w$~o-LdܞH, N9=jGC&F=j̒M@|=\~u${v,@nVE$W\I9;ӡHȧyO ^d# SAN*?qA8TsOq78''@{ҫ`)3#hIv+#cFGݒF ?d݌Ӂޔ%x#i\4 }qӦ9DA 珔,9O `:2Gކa'*pFNZM#*h$ץ%;`}=:} I.ex8`8;:Ga!s[=Ѓ#9*5y.pr11۷>pVy8(ƒI>!O o1랜QTN[s#{Si1U20FIRw 9ݜA@b3qlRu#S:Kv18OAȦXcG^O t\}y#'xQyR Aa{ӀnJ  .sNx#s 8 ILB˻n`Td܊b\w C}!  >cAҩ2|c%~e=d4c\p: >=O\V:@đ@9!Jzv$*K`J=`VmpcSFh(y:⮮:.fןҷ[%Bx\cJNy<69[/ͣvyxy9U[c;bݿ=}i:9={5ŖA20OpqvT (߹$~* 13ir2>9'zg;Rrr<8=x{ 铎)ԓ'?t`uO2<P^>V'{I?  dk9LIϧ8<{ n:# h> ۨ) ?ʁWܟLOtӎ=9Tԅdq9OӥJcFpG}G$ĆS9$vB:cWszt[qH]E)oG^sKc py>4SQmHb q8ln!z8Y#>Syr@t:QKvH~b\>sg% c1ҘrrzqO\.F ^- B{S#K>~G'=6#p sǷ~i D6PdO#'$Zp0XϥBc=AvКy?=ps9F: L ,6?*U0+9Ҥ? !sBc6{! r;1n{P#ӎRqI~6pj<;hg z$3P>Yp9#󦃅qBHNV%n<20= zZnA39$0^9ݓ!rOO= FF@9 _/bI鹇L$sONi=\;1#*zn@=F0pXcH rõ/ϕVG909'nA8$NzPz NOOs’@rcӚ]OsO\pr3Ɖ?)b0 #9}CrprFO9튑G|Lpgu9ҁ9ݏ9S ?l =3O|;p28J0~qL>O=xt ӜdcwGSR9 dsA'{_29?ʝrxr8iCӦ}p{Nܤdxڄ qg9,қ?gRA7|w=9Ͽz`F0#) ǮH@zϸ 1bsԏOʆ!#}L{R r$i8<ppsz:c=:rq}h@Nqߜrsv9}(yǧV9^N<`zq?_j@/\T~qQק}֘?{1?3N<=dka 9lp1v=r =[HosҔc9\H@P:g#n}iS# NAVWO,}cCb0 =s@IFzc/ʧpON3ǭ WzgKg]xFps~4 dgc4c8p sG'<`Kw``1#I L۞sǧ_҂ a#8r(`&c1a[>b8lm4\H`}(@rzt֕xl`(a \nGh`z@:-x8pSz}ϧ8#O9ITӏ WsOqݺdd>s989,x~n^pEWBXv$}G۽3q?@R8!N{=8r}y9HuaOA' NyP2sB=o;;qiQp ݷӑϡ)ݠ'=TvNlP'O<>)0N;cdoJyy+F89w9 ғ;G|S >l'`n2#7xp9==x1 F9za8G@G947<02z/끊Kp#霗A }}E<9F0>\3' I_מg^:d>bI;~}ߛɩ9ϯlg޹Z=p:oOK/~q?BӯNF:'@c2; OpxlށQcr9?2H{RHdOtǽs6988[Ƿ 01b^Um=}=i3crq랴g)^NqN-˕*ri'`FGayɥ=wJ@q`h,_op8#>6cNp096pz}J=pq޹^>^Ϸ4 D < 9xޟ\|v={PN: ;sϥ(#]9 s#=@'8ڗg$u^@{{9\t?00=<9 Ԏp( y\2x~ S($9C2$qڐ9 l נ{ASzey3}zi2FJHsq$1҂;1܂3؎֨sON=E9pT4',3nytz&,zB;trX20?z^{q~8CB>P3бlM ݓqrGJ( Oמ)ܒAqgPi!! A~R1!͎6@ 6Kc'c԰(}q9G9?çcۭ;+7 :q@$nPO# '|ijS]BdmzgR{@?xny$_#=@_zT`zv71r0?t2$m!py#'y#=OzvrOH7Q.x>cc=1ԟoZB`g9xc;?1#=zC-l3|#n{rM9s39y1矘m|ߓ߷sHOS1} H 9c ;ўO8'y8?Z9 OB;S$_*X-4 ی.1_4 gG. aI<13t- er{`zI<F8+i9'AOҎǧa=\ޞp#9%BFW$ $Oy 3 ѻ#b-3';qI؀Hr}3TmO!c'pڄ>v#GAڃ'Q:S>8AO_ 鑒:gP#N=1<Ofpޜ4Gf㧷?JN?: I O8GJ08r 1:Htk`qO?`O_4 nFGp#is9<L`5 ;~^zG=N}Aa\rOQg O[w' naMl118 >y*s:c~AOq8? ,x FOo>[r GB$&8n09?ZlA{ g988@CŽ##tjL z~HpH9wj2d2@۷MC -9t;lS# td;B3J}pNp08y4(w@럧wy'c \w'*1\N{{{U~:rA2\qzN%) u'vs +GpO"qkdu#\[NF nb2ۗڛw%>C(O#;Ϧs9>JlCH)|; ЄH|`T*~8=Vnx9LwpFz IVpY b;JN s dt=zg``/b'c)ux=H듸ppO`s҂:>v\c\9NG簥W#{qq׭! sds =Ey'9<Q~JLHynzw PqNx瓃~a VS8@'6r77C bl 8tҝ)>㌊d$;$~_n4ޠ98}B$1뎙uF$3{h`'nOB7ppxM$zLI +F;7i{#pƥwn=#}):apH$X >ʀesA8=p~=vF3J:F"z>\}i݌F-۞: 7~^OWT`(c88N=9ǿqҥ#X*[)8'w`ݜN=U-FN~.@\H*AFYQ1^`g8铞+D1 8dz }MmQĎoҚziNU69#ק/Þĩr3#?mdJ $!UpI@91C3}Gch|dbB#oE< qQV>wtĂF 7Ǧ8y6r2K111sR)rC篳E h ʂ99Xzx+ q hye"ÐOHl:8%yϡf=Mu'srh+Ây֜ WRH8 }(HBg ;14qg" }aa)rq˰`ÚR7s p;z~sŲO^m <=yw;1‘CG-ǧL*N1!q>M*vxaN ӷZÈ(30v>iq:0zH\89Rr1=}ѷ=2a&;aݒ ->S0dd rzJ8#>ÏQfqb=:BqIs00;2Azl8bI%p i56 :@q(d}N95P <~^ }A1  }qJM%nр{m' s `15ug%B(㍧Wpo| ؽ'МnOZR{9~}kxlqr1*Fx%@FR'\۷B)@ ʞsF~+D@dp@c< aOpUE*8'F? 4 p1ӊxfPg';f+~C݌@\jB 0w~l\`dqg'^\d'4=n\+$ O ӁӑRuycߧANs=4p1 `;N2QG'ڛ' u#qB:|923G'w= ~nd:|qpb09=sI4cWnpiI}\瑌PĆA>)L6LrI}Hb0@@p2Jr9SЀ=}MF8aO?ң F;d$1sGA:zЄHP[v8jh>P~l9#~d(o €3u/h>i^sI)㟗N@g͜H#Bu$Av'l0HI'ӚHzv2;{h1nsI SpssHH$@ zvbD9!33s UФ7V`SPGSQ2:c47n'%H'$Avw9 tjO/F27u<[@ nH8IJ7Rw`z׭Np:wqr90$uǠ~4u m99#<җ|lp3ӷ BA'FwtǶ1)Ü =1㞔B!W dÂs($#<:? g::drGjB˟'.c=p?` g#|?QKBNqEcJv|,RF wn9?&~ 8Rv27u%q'>ѷ82pT᎔ T/RH끞x)vn@#?C4ߞ<6F?>qԓnOjYHEAq#Μ@Fc LqOowcngc?Zxpz{R) osqj\l\989dX==sqHǎG>`=rL ?C9Ltҙ?Ew>x<~}x@'c>J2H{*`{tN)=q ΐ`:F=s c`r9})g@8#8ϮOO/o8(݂ sLGl;޼qP!3RNt'\dg 3J?Jp}8p8_^˜Tׅ#bzҗ8=sǰsPI8'֗9p9't&x’Tn}gytƅ=Cw`T?7q:ށ1FpXc=q@$7<'+<Z`$9 +ISIG# F8QLBtqG)swv$sJ7'i 16x#>v$g T} w_Toץ`x*1zlϿ:gu:8u3@=8یM$m ۯ#nG;xSA;CGP;F@*F ;;>Ҹ8bGLNƄО3wqGOn(2W݂xs82N?Jn:gz窅`\a[=z?_ƞplzH} { f$2is(@b}zSAy v=y9w9zx'@2==:ўFw< bc뻨z88q ;z=w {zu$=r}~a8d|zLgОGAӚB=Fzr`>}  CI20NG'8#=i-`̾ ($`[>a؟_j }(r8=G1@4(I9(Ӄڟלt :=Щ?xS`~@Kؑ[{'@; ~ONFуnH͊F=y{TFK$~>`01@':1NS%H~$ϰ#$Ln)Ǟ=yn>3Ҟ8=9`s> '9 w<އ[*p8`7:r9![Œ=)G^sc;>4H=#$3L@2II=q)Îy=k8 gn u!89#ӿC)$}ҁoN[#r0H `=}:P@@q7z 1;8pS AGe qݩ3ӯA /P}灁PAZo<?^* N@200yL{dgvT}z4ӓ 9)~RG!$p#5#V ' ㌐_n@F=1I 8'z[뎂įnޑIr6?($m=7wa;N@=@=O) c8Bp@?*R NKҠ=6>ǯ^9NA6 "gO\qסcq8`{Աu"t#;uJonp{ӵy$ 3L׎v#}?z4)9qGnߩ#d𾼃PWA:-߿1T{H<N=!q3@=iێTt#$fs{;n0:瞧c<is|XPq;~Nj?.=s=>,1Z=89qϰ D .G@/nGN~RqA#<99bySx^#g<~49=ӺeHNddr:w`tO{nLU' Lu+i:}AQX\Q:@ $ 1>vH:g+d#TpApCd}=;\ףrG#ǧM g;FQyW=#>]z$#=yAmk^UcOsvѸc ;Prqˎiw<Oq{u4zpFz}ښ_҃1Q$ iGN~X 09^>s@c$HA)\/*B`s@Žx8 6Xy=H9,@BqN 4uʐ;>|;`>4x#( sTӯHB:7>H;珘w pWGOLFWpc}@l~]4=>GNgއ۸^LKqPwxSLrdYO&@A 哚h v rx$}=)=wB3z3Gwt N3=: xWUVLn:c\:<~2O-.1}}`l{vAR} G$r1O$'qE c9a*鞼zt! A@''|2qӑ()xr}2( O'r9' #%c=z\Nm1ۺpp2=0 r}mʎ9B٠h ~^ @:sۀFyç!sg8ǠǏޔ7PA c<̌Sx;_$a~U{m {q3ϠNt b@-<zq'#@dr~rG^O̓c*<gnB}~ zdAo#}N9ɤ$`tR>S#>jOcDFS9o\L$0ο O@=*hg')ޣ tRٓ_wN9֥A1;$}97n Ok2F?)]y*B>c;{1Cq$dc=Ҟ^F G߭Hu"<3Չ3/i#ppI#ۜqHqdz؀?“:q'9l;G|  7FyhN/c-R9) ښPXr r0IaӦsH7evr0a֤)?0Ry~\# \F2@y'8zN:ԌI}H, vP=11 le8Ґwpr0AcHa H;$猃3*<{;gh 3 ïrxl鎽GN"99Q+z ]uځ/lVϠ4w&ĆPG*Ariu@ycŸ>&^JN*:0$@9$V wQV*0N};e.rrIA9y=>CQw vX,@@@<G-A?nte(*@06ݷd~x5 |9ߌǨ`Gozdr9dǧQҖottF}HAqky'/FA<RB}ߛ dræ;`Rq!DZm@w 7zP' 3On f!x8,=;GP8|88BF\'Zw2A^?wvy\ۥ6~Bт9$ڗ0 'vbqEF2z\$C n#cOH+1l);~_]J )p@s^xi͟t#$# {{p8P}JlgXu~2vO\ga<8#_׭DQ(?`zҕ%I7ӧZLI,xR1? A##rI ?Lsq% 3<϶h#9<㎄P0s*H=ڏ18 y'piz(cWA皍v nߕ&QA<OnRd1^Cr9:$9{Y@zJ>13=@:NXs'=GGQP0s@aԎq҆;T+|Bwd=' |rI9Î F ?ykSXuߏqz:򎧏rRGi38,zpTn P7t9<@0~`@S ,Ŕ8cZ1~y^O·Sp Z$/zzq)}?.mE~9=K/E '=}jD) G ;&P ea{dJv$NՐ I$})^=8)FKg,GLA#8)D9'8y*s>ҝFAO#M>9Go^Rryy'qiCx=H㜃ペ082=Czc韗8tYFzG9ӧOG`qKq=[%Opz ǥWOg4$$7Xwc9}zuc999 aԜr.ߧ%Nzgv sPP^c#zќ9#}JH=qq8yڠN0s$߿M'q=xયP}?ࠎst8#ӏZh ~Ib:s'ךq;#"C Ts{@ ?w q=GZn_g?.86c W>SؚAWqMэ'Q¨?wc:Luc'<qAw瓒FyuO  g(sJNqH$`>z{b `P>? OOA>Ғy88#8pn'~sL]@zu?wpG=)@/NFI$$,Խ@ NhϨ8pw=1@3`+pnGڜ uO# :9ƉI$gdw=iqsn?,4@a@s+'W;й9 n<={?}h(U; pAN@'(qt15E3q4O=38drx'!nW<yF8$j.W6)OK8 q}iNfO^=~ޓ-#$<`zƆ r`ߥ3<^i;n çZL& ;{{01~89 K^v ;?Ig߭ O9c~3G8=HFy{w郁,?D :gBGb]?tdq69Ǿ1LL`  qԖ O^ԮFzlNi's$q5& 2䜎qi r P >g#h :trhGlrppFy'R@TtSP!8r{n9ӿ֝H'FFIn=29 0j ǩ5]^23f=x(͒s _z~ی?ץhUnF >c TԷ^hB|:=&@##=w{d`lu=:0۱<Lb qp@;F3$u!\1=3ҏAz {{_Lgdqg9HpFy8eӟ›Ԇ}Iu`Fy2Bܚo%߭II:/ERr͓7 ?) `ǰp>b9~4Qqci;g&43wI#@ C׌3_^#d9R:v:R\}yP;=86@z}:z(8?Oxnq*p9# g=h)qO֡n =zz{i ;i{<0ǡ֐4I4z@q w>x{Hwǧ89㿿{_|{یQׅ8HߝztS?P0zN=)Q t봂7zzZ1Ǩ91|1=~ҝSU!1}?szcC1doS g:OAlqs^# '@ @?n=83:qJ.sO8q ?jvwgaӧJ8}"d.'q;OpNPG~T``q׎ؤeGL1⌟| q#9Op 9'ݽzӆT׿׽WA2Bݺ 灴8y(C=@#y4! 3c*A:ӚpsҭG8sL~זFr~׸ɦ4crw}֞qOqǦq1GR֘p0=x0Fsc=:zS^)ug)w9>ӽ1z11𣨺sO^;Q;ѱ8? p9H /SdG+GRF0?\"=hzZq8HqLLtqcl)[O$zG4]<)ry`:h؞A9);,:`P8|F88[]H#,9׾i99pxR=q9=0O@FFIcps_#}xMLczCҚO<遜c4H@b+ G|`U.1ÀA;F9z$.WpzrxM=@-:qlfy`H\qc998Px ǯpTs#󓁆sӸ*A烎ts.3#nG^z?yN9S{8#q@ ㏼xb8?N10Ocdq3hp0Nu}Ocҏd/=qҗp˯33ҁ鸑OCB=~n{F>e?/N{}j<7|{H*s杜F0~cQrcˑ q88ϻzs>KwߥLw ܐzzS8Ӄ+/ FU;'yxiws:r1{`^h;$P{(''98\LuzvF;1\r`/lq}N1ڜ:mlOP'qy98 R@8=\翷2:Ā?M0qFu) a@H^Tdgjbb w9L Ͻ4#a۵'s=p}qҚ88@`cv4NFpI }Ms|8pրN@HOFӓޥ㎘ӀOR;ZM0@2-߭H?^ݓ^1Fv~ʜ?ܝ8yHGF/Qs@z;`#!3|pIF:d#9M;s0ROoj1^1N=s7tcJ\e~oA qnr9# _<Zv@$IQI 81@ ڙu g{cq:w3'<Fސ'f۟˥.p;lSޘPls :\ҏ\1OCҁ2rFI$q4}Vu PCv =<g}q4 wCN:ڐ1a@-Ǿ;R4]?.q`n'zyNy*9'$3 ˟NN?pF>oq0Ǡ=3'=}NM.<2s p}o_n)#?6#;788Cw'N1i'N3Ml{ ~uJ ?$'}3~Z Ӓ9#gzTIϠ#|u ;FGlq#}:NNSH:Ӱszn뎸=8 Ͼ=zRd#Ӝs7c:dvCӃH})0@>cpFp:Ӱ}=.?#n'>1${S28nW ïjwǹ;q' ɧs} LpT<1 w>OX|㞇Ҁqonabh;03 +@l$ /qҎ2ycܞ>ؠ=} $s8y<17 C?nUpO@#w?1nQ<ؚ`;y꣠qғ܋9ng@ ZBF3qs*J8zvT}= c q`;93M@s6blLԎn90u9Mz3:ێwdc<`N=OFďj191 w㞴 ӟ)81AHfۂ[玸8A' vtZ44s8a:C.UJaH8 4az7B* :s:cAӡ#y+w=z9'A}7#'ÀHr sJp#;z;f 3|u/qpqAa:u?IG\R>\X$ Z^H8vČ4-AߕBמaO֞;q byXH(_!=1svĺNw#Ҍ9FF=4?Nqc'1Ӯi:9 ر<sI c>x/<=C+9$ޔSNpO@$cӾq@RdNqzt#֘!OCr=1fr $O.D(Ozm$GcU`nq<J9y9w{(Ddu`;O<㑟C׵0lc {$/G㑌'@##pl{(#nw6;8 8. q׿=v? Lu?O|cĺ2 N320)'hv}9w;asЃSB8d@#΋|p2@;O>nv8>i$AQH8K:`s#U`$(}h's~щ*W猜/]$c'=A ^x#?ʎG<oq3p8#0\r8p lӱR?QGQıg U#i7T`'u#* H%@@3V^:T猀#=r֨\P ORFy9c?΂@>#i`H2O~R@= 9})P>nyOPK*F0Fw ? #o|- ;'9#n׌.yocީ0zt1:dԅrq _%s#zUHcWqpX Zp܎=N1<@d=|á#''=4 ힼp2)p=__\ a푞{~4czר<}*M0 wyڀFz UFx(lp>98]ڔvxM8{zphBi93ӧ֜IHޟ?CKH#'u-goL rN#5C(ybG_=M.fn2Bヂz`gF:`tǷ\Ӊ pF`sɣF9O\a4x$d݁#15wN 7u>ޤWh^@=H4u2y= <&$c_$4# ?O%Gs 89I_ZfH8ϰ[q9qO^OڝO_=4@NFz`O,>MÌOAY{99'#?^qFs68c`~h [*x*8<GiHn>Q^@quF/7=I#o9 u r?.!99SpݝWߜTrz-'~S{Εu\njKDjw+6ps=ʥW$H9#p{v'<#:!} N?{wzM446ԃק\ld2H2zj@@oX91ڃ<ރrN}!9<|sdcAձG-`XdC{`ӻ rNq@9랹 b0uv`v91[#_x!+?=F8{mv[9_Flg3RR! NrN1 F烓GNpzF ǣ|l I `FA۞*wzݘMn}=ECv7͆qwa 嶕nĀ:qZ, qUR0F_7{sܦ2p?*E$|˴89'ibp OL7z\\w?;+X&{{V0~|qia%0򀠝$}_rHA?)z@pR[gk` 7|lG=ZBgs\z!T#9pqނ6Npzۃs۞ mʮX}MQ g^rzn:dcܩ98-::yϧҘ1fA=F}z8L#0$y֤cьy8ۏsH۰8l>LAz:WSsӦU<I98t8~v2{ :<~t pAduw'}:~l8y84@=I2@ZwLx09%'ОKzg9ϯ?f; $Fs&q#ed`؞8_CЃ g ={-xU*1۱z(T8wgs9p; 7m$dsRT(#xN31N8- }x?O=}GG8® nG j>ny Np{sv>Zc~#=H<=Ґnq Oz\s۰Pz}z4. 8$퓎@an(Ha򧌀I+@$6F:Ӿܑ'<>>N{c~2>Rzyrq =F=`F$`dX9<<񌏭.rwsspLt4 q;u)TNI =4 oO_laG~^Fix MP.z䓂9曌ߐwd鎴u;r }OZA89{㏥0I>RO9}*2GAQ;P!:mN'NsI߱d;x{d7RINs}9㊗D0?NipB ' }NztGc=Jyd Nz=).n FOA5!?y-8u qe<`tzy%G29'<3Կlv8>7<3AqמSyO@wr499 6GןCIEcy-@xvux#N=e9Ҕpy= ׏c:'#׹9(s8g&vw`Iқ8r{,:3 9.p9\cHC7qoM\ @p@{^ 1?0~4I<s`@ ܁Cw'%q Aޙ>鑍sq8{#דG.gx=;vN<7$sr?)=QʝĞ?=F :=Q sE 2M898'>0A~ y8 N=І4wgs<1x##=)0ꣂ*r  'ՂRc@+F@OȤ$qq4#NH<s~iv#x<I$! mq~Rq $=GqvG#' <~PQ.{{Hcx=s:L$A!NI'^~16gœGv z&Q2O9cX=h'p}ҁN}wRztn}>ݜ;~#Ob~89qvÿc߷nh 8{9נ ُ;NsP#r:`Jf=zpzOO8vOZC9'dҟs`?nzvd2N?N8 0:1褞>٩3 ݎNG qנ$lp݀1plc2sϸ@|xʌ`NGltϰ@O?^(8R8aҟm$tM^{ȏ?7U<aNGbNN8&v,qϧJA`ێ8p8!qnqqqzs'"XPsbOv0'='(Qq= 7~X{0'iz^pק=,r;<:sMWW3ڀ3A?` sیu'zG?/4?P9 ?N3Z07xzzI%cqKCH'?C@ϷJ^N}9h.0H끞A\Su yj;w nleXPFGY =( ~T$q9?AR?0;q S>zu瓜܃ߧ?+09<s0 1X\=p3Zw~SuU\V9x \Ӡc*0zsfXto*O|RcXw [1cTש9.!rG$<ğ c;r;Ӹ 2:|?F81sBr88'Νtǟ{ qg`nv;f]0^z~=#1~8ΐKpuqLos8:As9sx^K 34b29SG;x @㓏\ހx큁CROnz` vg\܀J>}y4p8IӂGl~8#c:pzZ_r~L|`zd16qxt8J^I=}.e8'qϹ+i>|ۺ) ʓˏ@8c9hss@$8*:iG9;cqJ9?ǂ@:Ӛ@sۦ9 `2;}h*С88ag.4c<6_~G# }B3BWGҚ<^‘C9<}M{bx :6:sLNsBza*2~'*q׵ <m۴<As=IpCr;K򓓃+Y9ɥh9Qud#?{,jCi+ӷZB3xwtbUv@q'~HAGn3jE /# s4н@?_e^2_~:0qHc׌AN:4R20qzy;@1듐0G>lvb:; ]9I_JelHqtGңHd 9'9<`}qc ڔp{/Osh ~uSzv ;q۵/qt>z NU8\sҲ<Hiq팓|۶sKӡP3`P0<`mg8H~f)F3su8c&2{qG-}spA'g;z7׌S[ܗ ]J`nT$`g8i2qDFoM!$<`c`F[x #in*;WsׯHqGڣ8$s;P'~,1t#?c9ru❴eUAP}GP1? Qpp30y8V'*O=z)tn  9)H>nO͍䍹,}1s@fwF2G#~GGRUF9W9 UH9j(FH瓴P?t`{QӧFGb=2z.Nx`@~O`|w5`/.HgoN8.Fy%!6h郓Iu y#Jv@G'vۃڟIqc9L^7tq6I@eI@ F}?Z^z }hL`JN{ΚG=q֎.0F8? TsN{U! b}h (#>4H$>`[' {㌊L%X8cus62t'=)͸ѴyG?&Xdp1'~S8Gz9A[hrÌg ~9 z}O;B}F3gXesg1LARCӿj1J9RF0_4@r~|P B8#I *֞<1q`]7p $x>@$:Uۂxj=dI%dd9 @n&1yӑ=ǩɥ@'#w=i۹FOuN})$x>=iq ]E.8q֗zrn 43FwgGn})=<hsQs?Xuϭ%޻F8<>QC'$c' @y9H$v}9~A9߁\v>5 ) ^f܂*<>l~d88tz7[8^:9vI# c^o8ݒ9#$dp)U=;PRg$xKa)^q/CRw9dM-aq~J9IpsN8 JLsq9=ri2FX <:{)pC秿Hx8ܜq8aN89pH t9"@3svӒvn#yۊF<~P׌IC|$\m`aOJCC@ē8:LpvGb?M֠$y&$$@>CޜH 1qӯҤIKn>W HHy xl:,dL Rqg3pIIUޥ}9Sg߿4[nrHizC@y.@;?}zᳰ sg4 VW+(L8qI`NF 8hܯ,yqxtAQ\90}N.}FnN>_Jq'9ҘȊC j~`p sR65 n$q7FğQa0;`zfC[s)Th|1#r7}nЬxI9-:Hzr9>bO@؏V+;@2?/\(@\s9O9Qq76LkqF#Cgx5 T()VpcbH?*Fy xϥG^NHsהrg8 Pr68 qڣW)@s9z8z~V^0c$0?812pG##$J7+ЂzBzv x-g8s$ ݷ+ ="뻞c!92z?9+A8lC?hyϡp z{SO,:c$J>Qo@OQH>a>An+vGgs@8 _>= lpQq@$AZ g ݹր?NFRӌg*2?>8>ь3.OӃqJH0:! csNp㱣9w#F>nƒʏ~3I '<x{M1x#' O)я0~zI]˩ @GZ睤a1M!>zgn@p!S׌ RZ#'C,: R6x$@ x Qၻ$wl8VL8{{}jtwb=;*ehŗs7?)1ʳێIqZm\*<`OZ¸NIp|cҼ.89 ~nZ&ٖW^03S\q:vZorD<|9 OcsR냞޴_p1^9iyixژ:nN G_<9GZ7qqA'D,\ @^}i?,r}sϷn<`;SKi^s `~?w<`o8zv- tI?&=I+(y=q(`hH< qO9;M0'Ӄ u!`-@7 qB}i~^s3o`=y' vS鞴y cq\<$46~f8`r={ԇOtub}Ws^q!N+F )VɪORqg>Hr\GQJOjA8%{L $Qcd{'s8=Ƿ\c'J‘݂rBp=A2FA<{Elg(a@#8~RL$t0zb*yq{)FH8r8= pr9a4'=yLu㑐rFzzNM?#vޚ?6A_L`)sNI@?l6p{LAAϧ=iN3r0F ۯؐ9R+SIhVϩylgK7 _F:RۃGm^;}jQ?,~AƟ@#nH>9NJzq`sG@ c'@q4v Ny83Z'9F=R=2d=5䎩\\NiGp1ݽ֌<䃏v玄stNwt `P1G'3gǷo€<=A<0#FNsՎ;G˃zu#y!G$ HA튍 1׌6`" tc#zM#9ci@p88by:T{qI :`n3(9l0a^=:R}wy=r+ g Fxw45q6r#?4q8H'S8`mcC|l=pqցwzݽO!azg{u?ZQ<8z~'lg<`^izq91=8SNGQ}(=:`z

oBq#<O'#$}~ww1؂@x<dp=+vJKC 6r=}9RAۏ2GGF;g(\Jb=yOҦ~֚>Gay9>zLg?4A4O_~9 S7sF9<}(`?ŀ?+J<#AiDϨ~Hp8'?RqׁӧC# ߩ|=;a88>?Lp2?>m;>ߝ>9Krr`8Խz08ԃrI'')9<A?–=G;xP㜞;>#9{n:upAlv3i~r:u{9qnc{hJ;=JXg#$;ߏZd)BnSvzsbs q鞣ן鍹'<$vw};gtiG'8FsthN@}HhZFq9'ׯ m郜13@ 8notnqt  =y& '=O OƐO$@=x9@;lJuQ9n$dg(?RFAp84zN1 `zRx~3Jb0H@y*s IwS9^~O(>bqO\:_~i lw<?Bs@ p:)98~Jqq碿s)cL{pF>FrUpxҘ[=#)$nBzs߾{v.2{tNⰌA$I}?;« 6GQҝ=02Tݿ:sܑoLuXdm;O, 1$c`탏 #AyU܃ю@ڝv.ye'GA8=g @<4ܑ$G&{zR>ǭ$ Lz=auݷ?1)`cA\ss9L< <{MAq=@t$p:^WgE(1~޹?ڗ:$vnzÌ޼ϧ4dq/΀=x6FsޞO0{\n$8GL$| IqAb8qO8۟@>=߅&2МqIA8 ӟ^߭&tr:g`}iI8> #ݏO$]qқf<.U!''뿹cRt w~V?zRg1G#>9y4.@p3.ry}s"C:c֦H -}h:stv@ NG^6=94 s`@9H 8p}? ݃aK<^ۓ_JG)c.cg<8:緷Иx18$`ztRI Kw#r ~by#c$aϷZU䅏91d?:p22O=3ns9!:}46q.1:ǨJ!lXH8Ҥb2H i$vg c9JWd`9!sR$63QGbG(uBz9`nq14~Xr#oxj $ {Rd:yyڙ$={s #B2H}9 鏘t. גI(O :Wj]xS;q珯 A8JCg=qI's{+^v.h3iY4@[@@)\v$:j9ǜua8`cܧq<{{zwG$tIQGZ 66㏻2rO4 )!I`㟥8gx0'NC7QnNq<{FIJ\p@G8!NN8\q 0:s~n?*`w$R܀W9sA~}B1*jw 9zm7*qylj`&<#D$Lm'(oQӎ)ۏ8cwׁҗP!-;zzks;Iҙ78'x'=8*Y]J9 n?*gb@<jV1Y0r4xq?؝y8,UN==3N?R3 BI+@;.AR?(@y8 힄4"e0~Rq/}H?r< HwBqMhAxH븏 `@?y QBW$l|88.!tܒ3Q8}ssmgLqL?'1p@9?Ύ^3qz.F>CޘgUFB9=:XcNApzN83N2d'q'T17$rL'㊛0ǹ8SЗ'W <`1 K mpT8kzs}QZI1GN}ς1 `cλaP2|(nݝ9'OZ'y>+R=r큌LTOS=q2IXJ'z ` V'=IۏnW)W=O /#qA\ 9ܣ8=>߂wTn{p34ˌr0p[ yO[e~RԖ9.9*A'zP!@>'1zQs, ?{yܕ9O$~pGlH0 Ò3@Fp:sc1S3iu'4Dg6!B#'kN9FNt>#$c<1uۻ2 'h[@,mq03Б֢lm#߂Fyu{F8'ƙp2I?Qigmdrg;y\c`͂G#' g w6t3'q|}"Fv?ʳpG= ':!~`=L8r:sZ1ycd <{_/ +8Ÿ!烜/==sSr;t88{y `@\;(]X1JR1 }<((FA l19{pzP^tdtpX3^0ϱ7(1i1ŔON0QTiU9;#q鞞|b3@f@ d 99>xNG+x1}}z0݀>V3O>0r8$zvzRmaӌc8Q` uA]xݑ'o?[8wqc=h᎙'LI01QOrFXasަQA9`qzG'$s掃CYy^Xl֦s=zTA8 zR8r}L[OJ9S\!:g##<ۜGyց0'<?Z~8ێs{@1݂Y;pt@'vwLӌqA#O'.2=GRHy=)g9:cO ;sc>Au=ǩ>ן#?JBz z烎֐ 8 hzA}=zO[oLN?JS$~\gSs{fst~^R 8$13 xizqhc0v,98i1 F >ϥ$;9W#CnZw-1tx;ӭ8n'19&ݣ97߿=M0ps:qm4!MĜ=8뎄{S>$>) iぁ|qgN9==xP8 9cۡ(#tR3b8ӎ4yrׯ=).:s.'q@8㌂N};~z|Ozp:Ƿndp?gC>dzwvナ/=?qI~#yz{R} i @GL8;9cޔAgtyZ|ˀy@?z@L`>>;>8xQ:zw!8PGgOqN$pzG3@dRqp9t8{Q Zxp(C>wpx1S~G7g#y:SI @G<$Pd~9}1LcIFyA99n<9TuN18?Ni r@\)=u v Na+Pry|{Ply:cht?#(m |tڀpyS׎ ==/zzgr{N8G9d#/SrT}z7 z p>luܜޜą k{OMxq0p=zP1z$r'<|< 3ʎ8 ㌜g-AN:r0q<܏N8@ m3p=}{)N6`8>~ T<#MK8?1r@@"'qہe, q1r1ؓN#,=~c<hl`2zߥ?`q A36r#o?;QP!C`t#=p0d@C(P!' :gŰpxQӧR1( ܍۰N84`v`3N;w:*ÑqǶ(3C>vhv*ǽ/nyr}_HVq9~Uv8#Ӂ)L})'?)LN:;z|nGS#8Qss$sc8=0GSL28ᗿ<֑H 9\ nAyClQcPX G}9CspH{œNH'#ۧ'@ #n2܌ی'4gB9׷m @G#)d t6}hOrsczqn1ad߷48Iɤ9럦i̜ OӿCJ=rq:? u?Áp{*{}qVxt=3FqNg8-Gh@Gf\cknݴߘxzZ">638;p>e<g_\d,A9烏8槩CFXdmi<y?\ݹ'8lpF=GN2zүFy8?c< }(3G21 gJ2 T` #=Ա>29?9ێ\NP y[o_:ba7v$qR @ cdq_@ vHNx&\1mB>^9#9bqשS`93@ HS8{GQ?Q?+ h9x`B8t2={ןlSc# m$щ8v}i`N1 { $f!@B,1zz@;'8Iǥ0 rr`P=yH8<^٣=8GQrqCL}D uz\Ғ 1)1#ipIOL)s8lnfCy#GO0.36p'8 Ա$`ztG^Oy8R 翽799A> ?d1ߚn2{:n'֘LSŽH sN(c Jzcb9Vy OQdvxoOZg :)8ϨR?Xc:zu)Gg#!K|=y u}:|w!z$ :RE9'ǜt1c$lR`u^y9c@^[1BNsAܹ9r:cz =ct;!qxLB鏗ӌ~ys`pGjby簠r3=zXc{s9{s_/v#ҙ,3A+x$ʗ6st r'P1N8wރx=9 ax| g=49#{!z ?^ONy%=NOVvgǯjӁ 7J9'R3|IJ 1lvL9g@> =0~px=}vc 9$z樟 䞬3۰cUb I y9&?P`sǽ(}ϿOқ~1q>&r qB=O\3Ras;RA'GA}4$<GRGN{' NӥpɓJ\P(>y2=4'_j}S+)#ܐGO<|jD($󑎁IA{RM|۽N((A@Lq1;G q9?/ 1r>RL> @ۇӿс}ONZӎǸzg`vF:@ nH`HC#RFz`9ݞ{~1q8z w!pF: 2}4uVsv9ߏOV'9u0`;I8QHSp1֐Е/pFܒGNڣفbGc2 G+<~8ޣo'}@sӞsL_7w@Z6?*6@#߃)ddۿHhw c)w֙UTt%GLViwĒ8$Q@0N v=<*1h1I `9'U;'b>'3:`F6v:@F}Mb09z0˨Pw4c, 9^F<{i'0=i7p<H{if8@1qЎ֌ #ߒGJMb#X޹ϸ d˜Wo944.WA$9<~5+$vžH嶌vzT6_^œR@09}x!:` ˎ?:R@qO8=q-;[!Hn&wp ~o%/8#1T|Ķ~nFq4$1Tss@}6q##W8裮@;<#CCc OsL#`ArcOOqO89׷H!Nx;!6@۽Eq9 rs߁v'u%(WІ⏕r2?1N1߷4 8cr1=P@96GN9cg$9ߚ+'C8!rB ӜSsI=(H;U'% SwI*U}1&/@9@S `g#L6Sgw!۱`Iq׃܎QX* -qJA;I=Fxx6Ewn +1R6u*+c'q5bI,xGB=>W'9lrۆ>u*2h,CA {s}2=1n9 < vF@==i;dNp3SP[wn#۸jc [p7dE7Ob8M4pG\`h`1@8',cҢ鹲A<ajYhϐd}qTI wGg}K#դ G$t@u9;pO= u8O;W '-.r=pS%<Ln~d'^0{ 90?GJ8뜐y^?,Mwݜ+g✽0>oQ޽j'v[H듏~ 瑝݌`=Lskgpiqp1N7sP :6/Zr T#8UX7v:)OeϠNN71<6 9)~m1 𡀣1y^ @y9.1=0{Є #A'Pu֢ ~aʩ@Ca8{NwLw<)gdc9^q@3:w u$Ã֗nG :< wH2=NB `#zO`qݏpFI.:Sz y8N:Q@ ǻcH [=r{=@;9#%r܌}~ qG}Fd%x }q&U<b#OSϧSFN9K%0: 26>qҏN2:'pFK=j]vA;NpNG烴s# U='}h(@H8$z9=sG(!䁂;g~8?Zf?+H#8#N:Ӊ9l<F)>nr`Tu8'4hs7#C2P@9 'ː> >ߚ$1P {gr)C87nMU-m\9'ڈ\3N3J$tmQޘ1Fs1n:o<{C=;SP sݶއ/= g#<ӲIx90=0;g@gp8'i f=~9RQ<1 ӁSpTsӽ =>sp9s>rr1d<׭}8Pq˧Kg0q {q3Қ'P2y3C@Nx#z`!l3+ZpCIrx8| U<>{}NcJ#<# OA҅ p9=3Zy`Xt u,A4)dzv'<4Bdc{N66p@39#z_N #8^P16랔yv H8;~3Aϵ81#<`q94? dpʃ㚋7sADylr{1nqwd3T#>0HtOZn3t#a ess pga@=. ^<> ~7!qrqFH>V7`pyqIJ8x 0{Cp0y=G?h1ON=GL <{ۜԐpO+^:Ocy7L=FsN@!98rHcc ~~ '#8t#S culU=0=)18wrx Nqhs逞H'88OƔ瞧2F`z!}ߔz '>J\zFNsZ1;g qzppSr3yOCzOg8qzS:;b 㪀13"9c]SgLDۭ.pOV'# 8E>8{zTt8 9&*>^;}1do(Q988<P=:Sxgϵ1w?q6O=)WqVϿ4LgRc$T:@q0wg `>)69XhA^x : 2NGN4@`$;wcI;{f#INsҗ?.ʜ 9Hyg)xsPb3K2z3ߟo1=Nq?60K21#d.yzO>اlv9} 8ǧobM/Oc{g9z>DZ!9\dۊ#NIg9V$!B[`6 <r0z*?ΐ18+sN{ӾmlggA - ^IF/\?皠͑6f`qA$!00ܖs/,zv1{h^38qH:89$`g\c4 qgBжO_~JMzt^=x3q'=@ҝdpF?=GJQlvӑ9tx2>o^gw?xP Rz`({0r8<\9ʐF21BTs4=s z | tirq'?1*{RGj=Aq#Gn{zyv@<{1Kv^S@\rI'1ߚLv=}89^}Ҁ d @$>Ny89 ޔ78#ؓ߂Pqy=3mځXy*J\`4>_#R9? 1C8^+ljZm/$yeېz4|g8$}:\O돧Jp#qRHa<PAspy9x9nzu4QNG.OC$;s08ǧwG0ߞ(=0pi;yHpyzz9c9 02x4IOJ!A >)'pN1#1)G@qs2yl˜Po$x0{4G$su&dmTw}y'>8ƀz9}ivcO A0#B }ǽ/Ac{](8A1ߞG4(@y;s8n91ӵ#84g`:3u7v8_ӭA<)=~9O`1sМQ#i#|sA:gZ@Uzd?@n`_sL'$` OԀ'pN'8Ǹ=8 tyzx:= t9v;880%Sbw)Wh㑌xuEw 8>&^Lӎ=0rvKd=9*Oz #={3"qGs?:6}6w7860vNp ˭BIA{P'Ӄ9'C#23?LFzyp81qϷZn cNGi.1G,N0>1\rXӎ#R,: >T|2r~Lb10I ;G Cw(C$ˎ)'9@Nw.sq&W=~R >ӎ1szb[:@H;=9>ʗ]N֚ۧH}.NAsϧ<Ҏ6`ad9@8!Fzڣ7 $;Ӟ,sFsׯ4<0oPð"kvړtHrF &Uc'xr{p3GcsМt׷zA8O:X@2$*2=;@S(rT񒼝=i?HhpRIX<ハn:`;'+p{)'Llw9>qB0~oFz41 {  5'pʌ#Ɛ끑?n F?9;NǷ+ӑN:z]=ƃ R"F+ߏP)ۏ'<|Q_b $ ?HT;`?֗g:cA˜O??lF=>l{Ԃr$<ԀQӾF2N1T$@bq܍ǧSAƒF^ؒ` p~)ݎ :tϥxԱ:gڞ2y$P{3Mq3ߊ*2[9 0 9ˌ?@Juy4A+,qOB;{O'ݑN0 U6 ;I>z~) \c0`;A:>S9'#e,@ӎ)ܜGQʲs=Glr{o1988sϷ)vKsX)r0x3o׭?sr@LC.; N)8Ƿq_GW: gj^F`H9ϯ11ww[<}8Ӕ`<'7vS0`GNp}[<~z;bc98O `?0g@#уH=qϿڞsP0g?}=:P&.prOh cn;*7a >xH%nN0zrH˜90ytwX;'1GOAO})0O?0<䟦=8&*vvzF>94*npN 4 =xۜLOrށGNAސH8횓IϰE4!Nl(~:us1r ^Nx#{}9ǸS`T җ<9Q@>l:8F0Xg׊G@ ~掃y9\qw#t~S~Q=N9) i<Q;;g38E*g*N:;1րGC8: 2HnݐqoҀ{>)Osvx\ÎZhp1?t2:8Hr>_3)n8Fy3N0HNUπ8R(L_@G?sv< T;v1Q@cP?1pArA@Ȧw#˜ `KzsnʀN='Ӱ o͆*  =A _F8ym0CpJaԑG|(qU('ӊN$߮?c͎'9ғ,xx S 1^apv={zH38 -݁C/\tlA^4y$7@N6JCDR{r9= 9t7*X v#^'@!;>U p4w d6 1 )g1ǯYE|gnUJۨtrt jFG H8c'ҥf(ׁ>gOPTyF # :mz};C7ᶎcRdv @ϱHc cx)0N=GӜP4LtGXuvvӸw0폯!T H*H FxF9ɍօT1Ay%qHhB8xQ$1܅ ~7T'ޚF0O5Wr#wnރ돗۠@p2q{u8v+;C rTӎnq霷>RzXM`{cF3Rnv#ui#Ol㴒F.H=8lBo9` n8njvx?/8OfϮ)  !O8?DP2lp8qe\3sM`''q>!qx)sG 퍭z{{$ q #A*9sr͏qϡqqq*<%@?h;qiJ]1,Oś ) <q2xKspxeHn@?MFz 0SדԆ4 9R6㎠\cQQI cO+E x㌒>:9sEK)VP6 Qb3먋u9v#ъ~n!9'`ޟP6rON}DD2N2p = tGp pN9b.ꪤd֦98$2}8_=jK]3 묉ϦO'z櫳:el9NJ~S~@5U=*FIqZtg

elu=0=}(u8gGs{w9s]1:8znJÏ|g⺡m;c#Ր޿{Ƿ59d[FOnb8#qҦ9?tuR: vv~(adG_| sVdIG?Ŝ{SÏixビwg"*q9H;bǒ@烁p7zӹnAFs.@y做a$aXoJc3/=BiOirvpsO_ʛ$h0W8<rn^l`cqu wu>ߧz9:$0w4)oU8߅^p`RrHy_JBzޙ#zp)T 7?Zhc8*QҎg)g g m9n#10lzӲm<}{~237b:†oӓvB ypiO 3z\Kr1O};Ԟן=鱡>lqH}ls8Pc>!x<gt:ztn8ILdSM zF29J,N3A2J<}N2AR9Hl\g pF@M# HO^1;NJ0O { Lt<.@p:~<~"H8$=E<:Gn['<ҷ1ރ99qx#'Jp1@Q  6'}Lx+=y#=~8=p9ȩ'-T$㎴dJ{}sNwdaNz9<4u`S In;{;[9qݿ)I6G럥HÏN9SA< +# ǐH'} 0Ĝ:*G;A4:BONG m'PG'pq?R% ^M3rGԜFH^zc?)nu> <A9NÓ~e I1}P88^[@k`u&CגNrW4$,FANM9<8~bTܞ)PNGp1v#iV'=9'bgQ@&2O^׌i8#q$`ۇ#J98g (GS|ϯI@^ 7!qǞ=i/T`4-U@rW!%;zҎ'{SwsI{jCo2y}0$;GO=FӻhA`r<^Zn=@EpA'ҌmԌzP:8twcSbHs=1ӁM78U q<*xz7͜CH{nq@\락8er{qڌ'HA4vz3@ciLq~s{R8 Ctzc8b= m$=OQqhب'z|m}ASCGlc C׵Cj9v#ҕ猃@|gLQwgQ ] BOByNpxF8=U''uj~h rpyqצOc>b{??c9'X mLqcut};8A+FI瓒?>'9'?*T\t9I뎾ޔ̕`3}=Z^#ߦJ=3۰?\vR ǁ@ g:8ݞ`cSINHOFI=3팓WcN3t G@x3O=H3^<(GCL؂A\/?AO^i;x^IcLSԆ8;FBp2zӊnpb810#؟ӵN:A 3CL'9o}Ac-@suX aq횇$>^8AҐ:t'8<8 v ,;Hb`!2=38櫇'F!'37;nup;r0qN p( !xˊi+urx~qpÖ\wzgS=$nӠϥHe:O48=8'p(1<}7dQM4+~a{ dFAHbX׮1cӷj/^NGR8zx'#{u`?\[9M*rqwm\{CDxQ|FGǠ=t\9 wz@ƶ{nq /n{R^12qOcs}F?: {f=1C ! 3L++>a23i0 =x=W7ds9=?JN pv r1ӡ8Q<2OFGqLœw1l}ҐyCsRF1`aAn'Hb;HשOPz;GČ x{{uw<*8 }(ۦzz@`dqt 2i!\g 7rNǥ@03(D $8<\5*ʃ28@U T=v^8Nq;v@[CJATA Ts{zP'b1r7v>\ 0X㯦) H=G~ps $c%ޘ1) =v}1J9dӏL@ 6YA#ۚx#w888Kq qRFsw9cץD0v$NCOjPGn'4;p91MHб{r:c4 ڋA dg^1ASOq<~lg#Jb~Rmfg@ O^FF J'N,Hڛb0G'yJ@18ݟ׊BF9Oc:p8:9'<1 #%9Ҁӎ9?jqNރdwqzwɠQi@NN;gݱ@3'=)*@.=8>wx?20Đs>ϻ'SրJy>^c'6ށYRPz[snv?~S$s:g\4@nqE798p콂>,sO }*[>qpyi=tI3GF'!8ޙʞxe)3sp6pXr6)ޟ{\g7=p9@{ǎx86R;tA*Iާ';4{00$'֕1e 8i8` ǧ#\qv-(Y2qO n`6wrg=3ߵ y=)q9@AA5,`Wԃ.IF6K};M*p1ʆ=7z~4ۀp$#G_Hc.0FUg݈eqR< P?w\z%8ѐv d0={ 3djw(Gem0 6IX# nF ~}H p8='#ޢx'?qHh 8RCd8;΃3 g֐ƖA v çzKg9\ {2@b2>`:uzӰy< $nxsN1F@cfq;HqfK`BܟR^I*{zn(,Nf>Ex{{S@abܰ;IzI >F3{{R39ߞd3'Ny$cp39#u^sنyC<#l9=1Q8gpߡG46r`q8Q~r~~6A;#Z]=zwq\x{<@Bo?{A1֜ $} ݶ FI\w,28>?L6z=aO<֦WQ!X9sֶ8R@qUv9r rz6G /rOVUԔ1w@^)}X`6OrqdOҧGPQQ$'b_wpsG8;>o֩茜I2N;Bx?ʝqNIqE3Fy8C~iNCd{Ndm߿Fw`Jw<$qz?[!TdKm$Qaɥv! qܓèӖ*: 9>SxN0?NJ;< Ͽ?ޚ2s?%G דKЪIsNx0wgj\$@ʆ|`P 'A ur Qgl8 ۏ>l8r21M$n^1=3GpC8Hb*3:{A81rO9 =v;p-Q608pÏna$wi cn28ǯh`=yc$㧱߸d<1G?"k w)'v0*9-׎7=1 L9+qAH1gIV@\yQ1aAOϚ g8`pPAq2 .x?+@H| nc)]zcwJLQpxoGP>>/\c5WcÝ0 ry=AZry C5UGD,<3qߧJ^x t#5ug[عJ䎌=Au89R=&c쾇'#^h/sc'8%V9#qO˥^8dVVa=*@ǩ9>T+$ oWҵ['Vwd<ϧ^*~02r_8~8Vost+qO\W T/lT8pけcޘ9x%T1oPMs7s(OEǯa*>Ìgu׏Aڎ!~$c'n>q@qқA߶{ӏJp$prF@3҄  o 6뚋h?{}1sO,ڌg# pq@ 8ns~t@tNNz!82sFyldcIM?$w =8׽4z2GX:Nh$L^'9aqO*HLd׌ Icҙ"O>]})Cu99u=0܎88=;qdn@QB}E<<~{S‘$s cF;qیsgz=+m sO6z֘q.Ƥ 8gtv{,*Q8ž^A䞤ǩ)=:p{qLC iǁ##?ߎOjw\y8 @ Iӡ8}>֏Cdz@ ߦ9:*s;T랧=) o;=Br@9Ÿc99gC8#c4ud9>!x玥z=O~z>q?> ێsPq Ac֗<8Nî:<7oN8@8`>ژBy$_Ҥ(1GѽLQLQߐ-fx ?:`/;N@8^`ג A=OsګxdvGo\ryn7=zvPH3aXAy#nAn@H q:uLA8#9v:tpF;zs;c<$}@(Q99=z'ù@̜~V9Nax?$ z<{JOAczHCw܎}9Ip>cxz09;HzHzU FN3l^)>c'wKrǜc@ ϨӿZb2$IoLܜ2z@ A us='#ڀ@)<ێ@C㑞yu:`duP`%vRQG@799ߟt;Gc>>r3Ԍc=3Mʆ `<=={m#cg# c8*YOo4qxGo\f:9F>}Bqӥ ;\/'?xzg=0ާp) g܌L c 8Gq8=nCO#UGj\1y#~iy?7\!ힽsKH?)=B=FG^ʘ3vd'0㎙~ZN==3tr0ބc98nNAϟG?$gcpPct.8a7l@2<N2zrSx`Fpzq:P$06@xSd|($@ J?y9׽=I*xly_o#䟻 G9=)$*;dx![$Nt<`8i$1v=Ar̸ ϿpE0sqM @ir>pq&y%O[ϠEËs$Κ}[廜{zP!Xp@{/p=ןLu8+H\OO׵~mx_|ӳwlrd1lgc@1g~^s^9J@9%zuq9➄ ~a3}g ss`Hrz=ǷJO<:pOJKC/C\Ir;~})MpsnpzR99>zt;m{vzx9`p!8z ׮ h'NOJPH)>n2G#Dsӷ {s֝79#8:zb:tbT9@nc\ӷJp;Obx;G? k#^G`X=y>x{ $ zP p2: =R 8yEy럘sZE$`2qI |<9E?n$t*}x# 3IOj:9@zOOzﻠɦ"?S8<OȏAڀAwcæ:csIEz@ r:`񎴣 xG=sN(A9 0@#MNmN`eB(?r3d=9u`4$ct<9Gr $``6@Q@:rH4Nt`cHhGs6sҕ ;ހzdywRt'tonzߚL$|@/|) o}$TQߎ0w x)TF3#_ʀql9}=) gi?L~T2<<A7v= +P 0z=H=yҗvyGM9A)8<{犔.p9w,8q rIOo 8icr2N9=x?*{c9n@=GC?i9c ?+4ӓ$c q#z3ש#@?н:wp=O$r=M.Hd9's8?/ Q9`zce {w'q'8[=Fz01qwԞCz}=sӞp8#wg}{t t@I=Nh6^Q+cNzgYnzlHcIF@#+}7sr 'A(?ǰP>G8lrG3 s8G9qsnP"&#4sSr1\NcA@ c1 }2ןzwq[Fs>A̛ )Fzf8NO8sLr38}Pݎ Qӡw}(*o8N?47ʜbb9`` gq 3t_z bx {~pA -ׯҁ1Iy)>ԘAo9\(@ 7}3F6rPATc }ONdu ? @9u0CNp+߮OHnq$3ny0rKs 1 u~n qϥ/sr9c';忈)G=s {; p )u;29d(>rzǾ hFA<7a[<}~x6:C@qʕF3nZpl(?1qu{zLA##vpr39*zuA'1ӏZG'Q:c>`x3\RK}qOcP`rr;y<잧zP!89rp~{Q9ņ@_oA$dӎԭg3#oCȠb~@'Ϸ847d )ssip69$Go8ԝg347-댎2:Sy}N=O>4PtQirwW#)0w ̻Hg_Qs֛dz9 ?u& p@wTrXc9# ex'?(X zdݗIu9j@AP w= f㐹 {sJ CC d >*/גI+#8~?){qRA+9 Lc=G[-2;)r]݆13ꡌG`,.x?j 8 `95#︐ B3ZaۻרNh` g ԕeA1 ~`q$׊v<@vqi2>:d_,{PWN63֜O=pF>%zdn3iu90rN=UI3U=7ג2H 3ix\I6A  qϸ0FGOat~~cDlb8prrO+u$2`hېr1b*zzˌV_fd mdz .GP3-w5#rGI-fGowBWg dǰ Aa؞\sR6{cn3'ݕTrz ҦL`|62}{'s*aw pAS{Q- y# 1T9$`vݜ0xM2XW szcړ=6{`?9 99aOl`/'FHb>9" :)1qH<$\}̍ķ :F} Z;2|&z}Ð=AG#w(w#|{Sr0 rU޿tcq֎%I( ~H@~SǾ?*Czdn@#瑐sI_М ኃGJ~ݐpvp?.FsӞ0G= fa``0AȤʰ̎OᱜcwH w9{Pͻ3p:grE"Nxp<xх_;\'۸)~'^sZ rv[r3ǜv$uԎ(=ⶉAݠ$9#Nrmݜ(_~59x1 9$s 9#N0Vc/81zr)I=0}2;zҨBӓ88ORrO8s*9󠑛N?=F}N?wq~IG9^AڂPH=@zPx=:i8,PdW8bC$v*:RpC +?Ü48udzu O ߞ- ;A ^ 68I?Nj?qq lz)1{rzc?:B9@p9RG<9H`F rĎ|LO}#'%8ݜ;,恍$R9(!n#(A9'F=h7fq1w|r@H:\`zq2qA-pXgPs 8-t8'C8Ҏ9'?10 <79%hs$ӏQңlїu-H=:{6Ap dH7Dw{9$c  OA|3c `c#_(8WX gr:ی` rNsځ=BN_zx#8 x&2L`xI\ %pGLvb2G?9O *z`: sR1hry* I'>矼p~}3R}?2+!S89ې9S֚0#IyPN8#LR=2<azu Du)`1[րx=H,;wQۃ錒FKsOZydWFqsN p@#'4I88{瞕B2A#8}źdc A>yf3;AӸ!{ Nx=39uR : =sî)zN9'Ҙ8#֞IP1vv( \ d, P9d`})}Ho0GC=G'?\~x>~=8A8;'[{cCp;ӏjAyzpG^ь7g$H@<G+׷?!F91:LasuӽCG2wb{PO^pH?P sЎC92}hw8={gtpqր לz^ lt<9t=r?¤zI{wրpH89 i8@ ={#->~}cx[! vzp?919Otqg O8|.8A!=@r{ 2Is1O[z?Q#;{! e0%z}F8Ϩ<>9qXϷҤqt=!9#?tx\}\psn}qr}ϨcIrLxBvFOPA=IGCysPnzq!IF\'(9R9;{^yϭ.>]1qb ps1<ہH>\d<@ۂ F.p܌=ZN=sQ`($2mPr_r;}*6ߠRA={ Nӕdܞi yzѿ8 p2NFN(tϦH8v)'h.~`;4yi cyn}[`s~:yq'c?Z^9={m>_ONiLWCz n&1h*FNxwOʀ"_19)Bs}N~C8 q#q~`z?c x!]Ǧz.N pq,qߚnGooր=9gh/ӏn1p޸1?wz^Ӊw:-FeI`8\Ni_S@ St\LF8yQuxۿZE~J?8㟛R3!KGc~\c^p#q@IAwR zQp stx@?6yM8Vz3=*A ~߇zw,;o@ ،4>zQq[AN1Ђ<^٤T 6?:~~<1` SA} 3S d}8<~hC/=:@>a݁@)p:m SzʤngS@8 Oaiè ddpIri!`vݕhzJd7 9*1M1 >oqN:'\W1=mː޽csJG r8$a8v2qq#sLmO 8v23ց2q)9\scқ@Bn֔ uN99ށ {9䜌玦p 3cOP$;9<眞8[|?1$N`SiN,9;NpJy`}ia48sTdK9S8;qy'#=?=LV$axOL`vxޥW}q}ȣA\9'ZaF3=N8ߞzPc3׭Pd.du.s8.`mzҗ xY^@ ן`O=9SsN [|O f~<;s{ӽ'y4n $681OrCc+אz;r4w@|trx<qA1aA#=zTsc#<`zcR `r00?^s@ $!l F9IT(8?(矧q6rҀs2A玣לqA{g\K3ln9ҎpA@0,'2O14 H+|=?)`s_C@z9א3x`I8'ڎ_y;zz~TA۾q.X qÜйxSosN?!;$ginr3;S 80ێ>l?>޽izvh~\8K dg9p[<QF ڽy:I@$瞸8}۴F#ӑގ(;Ku;S^~Ѐ\sݹ׏SO\/<<==hz0۾qJ\r=^N@@hB{c$GS$:T~A6LN M3 m`N~!sw(8"8=G{q@<.q$(1#cׯݶ7=E'׿ 8cҁGs\_ژ{8Og=GAށ9ǯLN3Ojg8)00nHSz+yZCDggq#'@,~]`iH,Fde $`rpzgҚ98B8l^$qEB}\9jF<g\x(ݞׯ!'kc=M9A*9㞼tvqvp{1Rx\?8ݿoK?p m9$Cճ<OC8@}{RXx[h`{it(O@p={:H'p3G@c'䏼Oq1FH0 A=摎z@˭-CA'֛$`?4 =G <0q4}6T)'1KÅ\ᱞ'3M911a<p'O^&Wb0>n[@X,z p玿zHLgxP:~zj07:)'$zb}#h$98Bnw9Ԏd)quk!d/Aӱ=@+F~;rv($#$Sz;~'$0p381`2dj@ݹ$O Ófrgg'󏨧~9?Uy̷T˃`T~.=q) 1^y'N >Xuv g@4J2sǯ5"y`qv\gs@X#$oon1 n8?ɦb(1N}zx''h:s֋@1u#=:ߞ=*Mpxy#4 F \r=9黀}3Sd3pGMp21Є8?oϑҔry;g>@ v9'#ۆ~ >^19n/jEX3 +6;dA>Ps;ǽ'8#O*H'G'J]n gN u8l9;sQ~\`($N#(WdxF;x\c4g$c'?(89#r-#q i=W#;q=F|qd[AFHqHs^N9;F0?@uӃxϧ+ 8c>qۑ@Fx逸`c UCqB O,T^1o4r0y#FF@rOjy$uݻ^8sFx 03בLrPTzv9T90Tqz9Ag֥87z?q@l31Q!Mqdr~IAzFpӷ9Ƿҙʃ$w^I@'] 1R`r $t=()!G8%+'4[9;ԃ $3͎Ja=rpC†1c2=c)ݒARt!H <-qrO]98POE&>LFL_\qR/H*==J98lt|z1۹ʒ 'IQOsstHO?/ Q} 1O1@ ;G 2y$rGOJh' dsszІy'qg֣'gWI#|>a(2NvI rC܎I|C80瓜?Ƒ~3Ű=rA8<.O g;OE p {)́$}>1ĎHnM7鷮 #'p: aW9Ns: ץzpTm9i V_HB*99%׮ q9''W0r>P= :֑g! dБ=I(lc`֝ b0IM2ï99ۏP2Fisʟ''=O썝~Q8>eFN~l($ wҶРc7rP$`.G?4ҹӀ8AҁrW9R<F6~x c84a$'9$9)}7R}ZCg x?(FH3{v/8玢0 px߯< i`#/9Q^!nʃקLrp pJq>X')1lgyT=-76Ogi8=x4&~\}s  isցp0>n#{dTdr66qc[ =Kn#&Nv'\N[3dz{jew1~UORA0[:㞍A/bx؞$g9_A_BqϦ2q>=+'4/TmCWNl+,:p1|?{7S?Z&$}*1c$<03oj%P8^?[㟝I1}Dbл]bXvSp 'Ӛ102spz'v=irH~|w)`tdt`0H4:<`p?Oǐ v(xI)@\hp8voc'F}>*w\pqA(F:IA䞤czw  PÞA dy?aLc7 9Ҁc9$y9^F{}~A$3n3ӭIt2; v$(Ϳ6FূpO;=0zoOqILQs9zg1>Fin^ ZL{}OG).@pG>PrW+-ғ9%`SNfG\\w85,3p@;C.98 n,¥B bwANʚہ#`O#&|s㌌}O0@w3\ X_| }iXs?sHqHq6g:SI$3!s=N_Ҁ,c@##uS'o 2?J7zQ8apO_1LH8psIoA# 7sܶI8 bWCΑ}y8}3@K'0 qӹޙH{/)32??`Ҁ߸`ϵ Qzfs;Jh:Sdc3' p2y \r?ǭ'|21 8`9!z};f2 :dy021hNۀ8@nד(& r3QGlR @cps_7rIsڀcq;xA})xn8Kgi'۞qO8`|L~cqGb9@8OLV3r dd{< sN#_ls=g\c A9'?dQ΁dy=;N g ynޠg ןRc$8+3d{gS Lw>0q'=qǭK߿ 3ԍ tSy<#.3d7A<3g>0Sil@|ۗ!OC$1FLa\v8hi8Տ*yϓa998$w yx[◫q&1 'xWۀzTN:p2?9) S7;got8zwd# pOsn)Ol9|u@ %99t_a둎 <6~^̓z@#^I'М <{q{t>CTztc9E8$C9+rJP}89#Lq0GS1שsF|G A$J`g r 3wN;?H!lywKG|<q!@ sғ yyurNs2z7c9*y_<GP$Ǡ8z{^߭2E$2 ܁ZOpK7 AF=h!sN =c8=xJ}:8'2=3@z`R q̓Nc ) c\.q)AGp03gH'ssLbFޠ :}:!8/9'q?;'F׏L~91Z1=x8}OЀ1=::zTHF23p284db:h$isj@r i'p>0Lq?^.Cq6\SSgs1)ö:t?˵0Au#9N40;AN3?X c'*.Ӄ=HOLyc:OBGaCsD듟wn:sKӜ;g=Gցz=sבӭ.O1`{P",׽)=any,0x݅ ?JL1?w:\R 9pFGˌ .?) OOO'Ig8 Fqϥ&1pqׁ؞ϏP0 b;#3pA^'9<<`A#4 Q{!auG#l)A98#)=pGn1ր&H~$#y@Cr# 'zn8`L@=X? zs/E8$cA2l`pyRsw98^# 9w Ɵ>s㹦Hz@'RSc#=A'$gz =x=:r9N# `0qzdv۞ yzSǰힽs7ӷ=xL?@<~@=4w$u>8\㓑I:dIǨ:nOqcノH#V!@d9}O@Bc u8I9;U&{$rxp)x*q;po|ЀhPp@=8/cϠ<$OHc8-s 2Sv;W6`@~[Lx'8 t4vx {wM vF>cpz?l{O_@w=G9gׁ֘9O@A끃ϭ}3v#ldr29A'_P{?#u#-ہhzpN'zsd!Ӿy eIOOW֔6'{y8 $)?A`u#?OQ֘.ygi=֗eO3a}2NrG`{)zK`d qgx'ߧzdx `spH2F)  ~t#`0y*3ޕNw'ϧQgNŽy9<~'IHO[cpsҚwqӂv ZW̞O_N#q C3 szu8+>q\Fݻ}ܱ}xqr<ǯ?AN1͕x.!n9'#ߎ8܂1@~x悬=O=W^=Mm-9c =f$ @=O qX 4psyJH6$`x#8M% sp~R32h܀N@d'v8:J@$Lc8@ u=ӑx` wUuϩIiAavNG8b.v6s ;~|܀ Isx\{vm'=29z:N@Q:4ܓ6v=)M98'\8h?{F:8$zԠs#vIұDx699g*p:u89Ozo$=7 2pNtLx!%Gqڤm߁;/7dw8uG}q/LG!R?t#=PPAǯsZpzgބis9?^أ88-3ێi1 rG@:OlP9qu'?h F;csۡ{qH#Cdd =)3Cd91ǭP G\a׌R:} @x;P1W9=E.3Ԏ0T=(psl}p—?613Q#dQ{pq=xŒz`: v=cyOx&HЀ (rq?ۆ`\m,œ=s^>lHG99恈FH끎rjL@cu(b#~bߛӿԙnO[qq76AV 펔 ;G898׊@02 ^#I *$t8?8HbnG돧Gh ݺsC139>tҎU euP1yΓgJJ8SMad'[ׯ4 w Xq7pr1/\#NCv|{T ng?.NS`dS#iSs펤Revq;W' H't ˂IQӏސf>reO@ =zae 127gH!!ʌ s)#})ԍH Uewd$ӻ#J@F!y<998'4-wsJc6[>=nKHx##o\~}(K6\(9' AQӓЌ&\|ʻU-1Ҡo-gk[>@0H1֙vc?p7zR12ON@S<~+ GCsl8H?i#6z:cRNw`p?{ϵDNs^[NԘݴ;tF8o~i>^w9j{AvIs܎N''t=I0x w{19Q PBؑ# ݿ/jW2w2?JknNzAڐNIq9NqC1892H-Cd|p?>;T`x91zF\] s1鞃3)=H<`觺01Òr;d?#;O\c:יWvzv^{ `94J$`k(t&$qd޴TqN3o4- 1 r tך'::g5rjYS~V'_{[GCDP!F㑜Z1G<ufRWDn09ݒ" 'O2s6;"d\` <x%G$ y݃~5$ T3~4P1g#282sG*,.QO'S'F@>?5.N29G֟x`0F9HCx=hrr~ld}Zto3zzҮ>lq O(Ovԍ&X>Al3| f~\8*X=q@bܬFw7P0Ϧ鴑iFH<c@py< FC`pF|j]Jq-9qLq8q0Z ==NO=IcҤ&pr8aF )G\sxœdRw9\nH(-m7e 8h(率i,v1׸M@288\ʏӷZwl`qӞFFO>>Tu=H\cBNy0NB<93ܓ֛zHQFL.0H}?:39Oj8'F9s>?7*ǃN0zJE vgGn9Oރyy=E8r9/|>R>Vnu 7}=GAEqs IϮ Ēyی@{}i;eO?W{! 1Nyl>ԙyA#lFCg0'88ӏ˷D<p{L'$I+@=} ^:gsӵ'VA]9\\LzSdTO~=?0 zt9'NO'=Iž9⑀$zhbOC#N?t99$׌=i t\H8qq:#?wdd) uHw*[}A9}8@븓M;R@ONy:}hrp=y8$wc qOGQ ܮ#'vrq9i$consMۜ8PIϿ>g8{qš=Ktާ֝n -U ݸ=/OדRNA9ߑ9=_z\#=hB$;-x9Nssހ!߇Q 0q9x092AL|(}q$t%|cۡat3FH.HS2uۿJR23=\^= v#{)NGp鑓bL}M'# G\v8A9G>@!1I`ө9\qs<~]9}E;{rG\}H䑔't=i1n>-I>79_9^!pRzsԊ9p0#sH;9y?1A8ޚp;=y'sӷ[9+1$Â[{P:##cBst+=9s4c8=t uzT#}>$֔z|۞zC@{s:{S<@#THc*pW8dq#>q(y…:g?q=zF~`FG׶=yr89*ssc8Ox sԞ٧0:`チ^=ɦ&/q<`{?SO 'o4I8H1h:Xn=0zt:wJO뎀rr@u:g!G9}Z~qNyyP&FYs <۞is :zq w8sn7cH$ }q: ;p;Kv\qߎ?88А08As Oǁ}9&c8sǦ;] ?(3Cn9JwN2F9ւ 2ӯZQ ˀ$1g$i1x9N*2r~SӿZmEa8wg69T8sO[y&WprA3ӥ>@qNx\NFGL %۱18׷N*/=z+NqzZ sr:qtsq_qRgls f1 pFI?7^:ucN< z^PvpObqs~`#S& qЂ09? z}Ga5NJd '9w~|nqfq؁@ߛTv޽xϭ3;H- gc4@0=ziN~QrGQ΁ W ~7qxҐ zex3{ sSI@:nL`Ӧ|qO'+@zޕa$í&s21IL䃑i8rF0@<2:w{NJ=I'chwg=Br?/:g!9^-aA$t:yc#JOR߇8ls^X~n@u>JG^WP+=@ \0O@1Rʯ~p~'223@y@q{ ר >uN<#M ڏs;zךv8=[w1@?O$zr8HR$q6{Zn&1ۜ|ܐAd~](?99=)s뜞Z`=s~@9Op=rzA/q>n;C$golт`-<p8 7NpHPdm4 q`Nl|٦'Ͽ҂88 ڀz@s:c z4$>%Cw`=qߌq@#nss9Ͽb| `g *h {~=@GiNp au0,.O, qy:P&;dg|7Qց ce`sǰwr>r~`P6/'8O\Rck|H'9ց ۀ[Frlޏ@`ONx?\dW>ۺ|@ ;H v߿sgӯJLuO~R?H'O9b ;IG=rG'L޴pxa֔^} #4#9SF>v0Ԟ4O@Hn)#^ ^1 G=q@{Nu##8|I$@4n y;}H `ϰ8:{cŽ::dP<9班鎸2@9cq:)G9S#Iӷ'?w `9>d2O隑pFrԖ:mN:sq=}h(N{8dsOlNdNr>OS@ ;c<3 ؜@:qiX=8PT|{S G4 0x$ zqv==sN.\4LT?\z ^gIp܂7NNs w< FN<qb{3vy^=RnjsHMaÁLq9p}ӜFi7m<遒O|ރZ@+6q\2~9' p{s׸)q  Ay0y\{RR܁ =A, =>V楌idm*3\6FIldi\ۿAUr:g8 =T~TaOa$v>ݽ2TrzqFދ ͂KpFyqz`X*vGO5-;xx={`v#-I#R͌8dgx}@)~0I'Wa&{ 끖ށg9O֔?7 {篧ցNz}3ױ#=8=Cq= scpxqҌ9 ?tvRpOBy\Iq 8d~=@,c'ܞԘϾ`i8Pq;z/LӾzPI'IR~6s1G>l@1=h@#uqnO8 =}<#(, G͞|āI8NOɌ+8ӌu'4 ?1^8d<Ү\g =:u{zSdӐ18#0znQ/z~] #*oo(1~`q99 1ϥP1y)N:ޔ!@鞾)0Fs1z3ӃsxP݇PN=sqN^:;H짶;.S2oB9n}s@ ctTI 9 O8y3߯z`/UpG =3Ҟ18š$PH$z)܃21Б4}QS1 q($p,ۉ=}qOSb0#a=yf@QǨ8Z9) =OҚD. 9v7Nzmwޛo9Pz qҘU:OZQ^8ݴ=cfG##Mu@#S^pq==$82=`w㯭댝ǧJV8*x׎upp0>aI''m ӭP!R8 dsr=|p~P *w `q=)>^I`NX=(R=3dgq '䌶rA=yrNp ~r2A#$1.p:??l8N@ 9y';sn$1 4`Ԁ;|9ܮF~R99r{zցI7;''nNsg$N—3GsyHbTppHo˚L3s9HO͓^i|;(Y L:cg1'83@Nxapq( 9c9"c8qh=)q$'3O{K޽n`g\x tБrzvݧFAf {c$'K qpOdg-A |84 `t+@_E|Q3FI8'@g+Ӓq{S0wr9%Iq?ϯcr)H dcSMr{Я]2A ݱdv=9?tdxS֩ۀ^ 8=aqn玴 R۾]܅^n=M&ߝ0NXæO\RQ@wgshῺx$d:@8Wr=G_o(݅`O׮(ʓ8c;wJ .t@=qҎ3AϠu9<ׯbc.Nw9v'b?p8721 ׌tq9b3Ѱ; _Q}қ3O\?“Ѹ'Ն ӥ' ` :N~^9#gN\p#hsɥ;WF1ާa\`d n۽!2۹u<```Ԝ٩۞N=Ɨ $v$p<ޮ[@ prד֦OC0?}3j}a O_GNs$Խu#rC|rh#9`xONC mq \BqЗ=O*d1x*ayRm'X*I*[9>(㞵*͹r@\6;u b\`pH)~qRpz~q,:/#9'׷}~lH'zWe 9BnRHXWRM92ZyUbXc3HSß gdw-NY-f؀=#gSdp=;֊FN:3@Hr2s*]2ldpNw0zZ3ʁ|]NAkKDq ^=e]1} cQܞԄ`n^@+9vUrFqg1Sxx1'?xg@c{dg{`9Cpsӊ`~T;dʀ#-p:4&Tqrz 8USG9dz%r30\d?KapH@-ƓT$Ƕ1^qԱ1>n%@kP3 ۮd{jm$㜯HǷc_T{c׶i 'wEæ0@rr^[hhz't\#,HII=sInz?LE&0,GӞ[:9:޴<8ݓП9= =<皸88GC[EIO>0n; m^tȭ%#d;p 8=5o #1:VD$ `~Qp7d}w$kENѱӮP`t+) ,+T̞v['x.wrIE4%H88 n sNLBu9/Q>N^sxq@Lp@h`HNSqޔzG' {~gu8 0pČ㯧99PF:c'=z a#wFB֧Xr%yyc&OLqAQ >*{CuFpNO0|OC9=4m$H\{Ѵ?7 A>c79^ {g{c4t!L#fmdG;x';8x<퓜`Ӂ遴N73#v;O?4s=qRd`0\ކ2<'q<}p47#X!pNsx9brNsqq֗v!@'zl('9I=z<(g<w+ܞ1xKu#ާ&@9Lc1u ?N=!zd[>8)1Oà͸tli R1Ǹ\`uP.Ӷ:Q*L6U ǧ)zz߷cB9z )6zʀcz~tw9:R!GoNIs[=(/`3c>й'瞼)3 ::iO+q$hB>獤q杏m#>`Os6s)dʔ!xzh Nr0gxO=[13}~}ix?€N1ϮNiqdgG'@99P`sP!ѹ1ւOn}@=(3ϨS##y'=OR>}9d})'RqԞRt9P97u{=?h\q) 9Q0H>=(%/C׮OL;;RsG=3ߏZbH28  "ԃLl{}0\>H;:S9^٤O'oڗGnIpzvgr?7i$ px8##>  )l3;Ҍgq?x0㡡8|⛌(Ԇa[3a7c#Qж=?;9ӥ4 G2EHbx'q1a7rۏ2r2;y |''bH}qq_qܑyz㝜c =NzyFrawF3i8@s~t  AT gQNj4ApÁN@q>hx9=8y6@99cv@w^=y=8)>80rɎr:H\ 8J:9'=*O`#a@*ӜQFݼ}@O(98O_Qҗv8'+@~ԀMǁg~g=st\q@ pGyn< r}UCw< v`}3қvGPA=Ǩ< JLi 'A#=Ey'==BBnm>T{xn9=R#9b7^F; '= IC:rjYv!ls`'ߜ8ԁ!p@qGqn2rA=8">dr=ϧ(`㏼>lvlS%<.v c j q/r@;,9)=ӥ!4cOu?@=8i÷9pz:} .IyU\ t;)O>n a~a0OJq8'>c S󌁀rv9{;S׏{P>R@9מx1A瞝1U~a`olrrzvs~]sHb9gRSgwN܍Fl/:R`=q^)o^g13'Qԑ'qEvm' =飜v%OzO9ށB>R 9s۷78'zz:|0>cOI#9Ÿ(bd` 0s߿O41t~T0wz<Q s$aO q?^!n J:6c{g1Fr0X'^i cNGJU wt qz!vPKc8 wLBdۃ|w9>_Nq=Xs~^Ї8#$?@GqB~9BK`GN0ΐsژ Ԏ@s䊑FĂGU8f,F$r2:ޗ8cw$Bzn1׍&9q0@J:SЃ=?mŁIsݨ03ߕ431#oEycΤ$&ʜ9'?Lp8^q${P4&G#ۃԕ_JC9>\`dbH;nM3$cvOIBg|*䏛ӌ{P>,;e}Gq~2zpH<^r1I#i ן~89,wdp;8{P:'Z=z#R p2Cvf^uϠ"P:888Z*碏0sL|7ϠG<G9'!鑂E_dx9䁞qקJL# !v{zQv<.9^t8?r?FN\ Nz hbyܬ>p09Hh_Y#sqGI'ouqR~lSrF8;SpI<6AIנvWJm=9KpyaaGb8"" {>B~'80ݍ`Am^b.[Kd nn'm#|c1ǐ|wg=AcƒٲrF,t~[K׌#% f@݀3ژЄpRU9ON$g+x"'Qz | fy =H=k}:=1Al}x=p?1ib9ʎqnO9JO\ d;~_7FHJ^- m)8@'sʎYF8I/sӨ:}*`pI983? b6$z,~Yq=q ޔнuNю~^XN{z0>Jyacs=qgNA H댮9Ȱ g2qSo?tckqyϠ+3ܟç_#=j@ .;8 eG\2/8>~ 1 w{Z&CC!IBI8csH@^$x ?$ sqR(ANVG\S2=B*q?7h$n8띿_! y--=>P};qޚぃt=8}Az]F'L^rW#ʘr{8? ipA#߭1O#<H8#z{t)nfHp: rbXmrqv~k롹n$scOe68?xO+O~z:[:z `gߧjp ,zg t݀pBԃׯZw)0czס2AF ?K;I`yX`^'sg 09sKrEq8g$ld23|ǞW*3i9'sg#H  PP!y#뎸œ|;ި .Y@wM;t#r8頸cvI랿ih 8{vdz`ӁHG <@  t~y4xr r:P22F[$9AH/(ЏsS@󓜜c#81o9䂤m~` -r>ҟ C:===yZsсy8S߆Ӫ窌m}A@M#lI$)/Qc߽;n8}:t1GrA9#h89縧`6p2W;[t~} 9U60y vw GpzCRz@9A@ ##61sЎ5ԇ /rIaR#?! 9'@ ӱ{ӆ>U㞀`{R1N6ےFrHvd099gݨ`/ 8 r3aL$ :/>, IUN03qM#1pz7AҘ`ׯ .{40Bs׭/txݎIʎe{ӆYO>=0s~RN3={Sd {g$cq,'ӧz)2럦2ixh#sh=9@='ϟ8 ?.?i9lB>r2~z22?Z@/NIxیѸg\cOf=;~&vǦ7 $psߜT`u':r;t^`as`m#蠑RIviz,3ӓE { 3!=N 3OBOzA#<n'8z}1Ԏ88oN9sN1֣i#v duE4Fv3qi9{G*nsF1=r3)rH>ҒI@͒x GR&qn py0 `WIRsQ 7B3FT0A18:zNO8<xLzLP:99O#8l2Nso֘'`pr$h=8'Fput6y<1@V^/n(@~~qc=O~u#+϶qۊ<tzNzcj n9J=!=88$ܜҥ=RtP9}q%Wi=y='ӜC z}?sF>c?wo>Jb g RI<c=GҀH%xI=qK,rN=y\`P?|\ `qj c9~8۞IvAEP 9pwpN?Z$9w c#[SX`0<6[:۱ϡ ~1B?۟ O_N(l c:##\P@=x@1ڀ @~9߷Jkc FIc220~^ sܑrA~nuЀBsqy,pGA^xq!'ry?ʓG\r?)r(=ߎ1 ?=2FzuR8csҒ qǷjzX@Tpc,9Ԫuݞp zښ$f{rHs׌ ԎT^FѸ=R1ԓ{Ϲi('8RyAϱڝJ9ӧ11Gps;zm'<`i<$g$zשvn ?{S@#a9c r\t4pLqu@:s`~۵zrBOíG' 9"9HGҀ'R3F9=O@z8D;pg<)ۀKc m[ ր dcp`}s(,v?81@ r8dc9<ԞԎ߇é8Nޞv {1{P/L^׵/a8'=h!x>0ypG' ${'@<ޙ8=1pqހGR89='À=NGn qS۷\t4c#x^94as<)drsBq,@8SK ֣rNOϭC  {qwMzun n9ϧ843$(w}=>S﷌>{@q'=@xws׮}hyn>|Fr3曞)O#yBp[dzh`s鎝NprgoPg=s׹80琘-@Ӂס&wgA9as/zF:}ߏZL}F89Po=϶2hg1mfe;OR3GG|09$nOs eN29^>HXz'SNy^ ;ߡ>8qǿ}q>4Ny^:P"Su?ڗ9$׷Z`.qgORGXg2qHH91yOA:xwʷ8Ǧ:8^HLZ^1?zzP8l<N=ٲEQ"bNF8XuA9`Á嗾Ѐg'$ 攝Î{#c48$>f,};~jR1{s=ïp[ 3ǡb9ˌ{?~4~͑!wB1]m39f76>dǿon(Nz܌ǷC dC !:$^}jP@H~֚dz~ۿZ\{8HXsQp޽F3>8.99ss8 GʣԅK_c;zCN`c?7UA>z1y#Hc)FG1($p=~XSAzS~?\ ʀc<'#9sx@ G~A~f$V׌7{AcNsG@(9?\R=g׻`y49978lܛc0:gIGCNLn(sNӎ< v^{ޚ380q?t8q)zs#1A',Aʝv\xu9,' 3ۿaއ>.F2~lgv8#??n~lrN;j[$cFzdQ@33ǹ8#`>|@  >ޘJ}{x933 aGr(N*8\zgzG:d z@AA9q)1+dv@ d 7_iF r9Ϩ<`jPIJv7`r}=?i%78nv89@?1?OJp[@>O^A(Lp dqO#@O zj >c`s( \gaѷ`;@ϧZON3:xOC2E $@~@f`2>9VfjWd˜p08<ƔSǧn2siJ2ad$ߦzt9cNrh) \\6x O 1=@mRq~S= mQ?9,@rjX07/]Fi[=7qz E{u܃F8<| ~4 #(p}2NsOgu8`H֐F+q{czk?tTs5,:N㝧xqۥol~HlT)\h6@$} 8rpxPL{zqi@9{.;c>A003&pF\M$dgXc'Ԗr\yqF+q6ysRn >sC8]ǺdބduUpQNsӷ])m$L峕^VN{ ]9ni.#t9nux0?9힝;ףJZ}Uh1 0A qq׌TA 3k>;Vd$@9!OnU2>lwVf&Fx;z~*]$O5jD4N6ݝX{z{mrkT̚%Wۇt+m{#q8ܜ5hӎSsϥ?qoC?0r}D1 n {nǎKNx\;8 ̞qI8p~M1rt*Trpxõ#u{AϨ$g9wGLc7N:sܚC'= Ԇ=@sϦi瓓ug=rnHu띠mI?ϵK+\9'ޣsP93?cژ 㢏8U@G#=O͓5/e#*Bx8?>NvpI qňgflcI)$$t U>l{\מg&yŊ`d`j]sF  uքy`\s2s<`z~BN<;9Z^8$9#&'ipHdz510 poX\`HG+w>\c뜌}Z'ёn8q1zO? >ar0Ob02A d1C72'9ǧaPQTGA?eNBsA=FO^igAzs Rz6ׁLR$jC(Wo@:zm,1v\PG\eR~J}pR;w sL^ޝ秥0Loϱ83n y!qw;y*W_3=:gY8VAol?`'X 1ݥ8py$5BF8,[pT;qB'Hh\Ԝx Ss\r2= 9z=}FI.xum\ܞIwo=J17]0C`@f 8my)z8'?^\^go'pN\[#z~8R1 g#סҀ #? FNA  O{pGL]$֛129'\yCI=09r3R\a˟Aۚ7qex#5 ʜb9 dzԑLzQxO\ϧ2C$ [g8><ӆޡqМm>sWyGluqs1ӿ(߀sFpNR=1'ސ;$zs@;R:w=03cZ)=131NA'-p=?i8QH8#=?_ց^I MsO?ʐOqN@g>'8qSϧ's@ ps^@lg9ۮic 6 r?g1p>mHONH<)c1_Z@;hz}zd{g#˚cD}z t$FgJvy~py 'qC}=iʓЏZLI's'=ӜunG5 ؁לcw˧8 ϧzqFr{zܰqݨA1߂#u9s2=w=qgqSރH?ZLp3 uϸM[6H)yj#nagן8a`8#q48  q8)cH=8[P GߏG>sw=Oy$e{S}{9zh'{ H|RpI?S[rtA\sH\׎ ghAGNF:KԒ>ny぀2ӌPr>^ILSA [ q>b~f1O9]yajo mܣC?5<.rspb) :;s֜ˑ#ߝA;t9֛xNG$ c1@z߹qSPO~q?N9ϥ.vC7`yӭ.Tv+秷8Np{:|LLQm9>ǧn)OF)l?N8GgӸяӸC0G܆{ ӱ׸z9昬 ~zcОgs8:( ۂ0c zq…R 3_~0* yNsSޚu[v C~f6J玝;@Ip33펟QHhGpNy9ztϦ)=vp1Oj I8 xcԜ=sLC6'az1sN9pA  Tm軏}izq$6xe~:uqןȏj_~FAU 2t@Gy=0xwps<.<7~GJNwc@$4z6?x: mǷjP:~^H?o$u9ޗ. $c|Pt?x9=0GNcry@?xq=rz`&3lqw9}g 0clG=y~NOZ7<8+޿ZV=2ヌ=}*Ykq$|>'O;Tla0$zN@l 8Jp63n{׵^O\qǯ&9 9/l==9/㑜P0܎$`9=/ $鍣qLCzỌLc8<}9g?Q##?(8cqw4&;T/^I9{SБӑ1<ǿNb=c9Jv'*=Fc#ʌcssʂxa>1L{C?j~N;gqE' S{=~`F9OA 0z} )zcqMw  1񃷜I~0GI9c8>(=$1$=i83ׂ0M0SӐso|@@q} 3 ys p8x\p0pC/jn8󌜃=q_Z;NA*}8^Sz2ze?40=#tsltyS^Qu; c{۾)1wd=s8SgN  ْz;`Gi3;;h sy;nM/^t8=|P!zN|w?֎?<٠̃ӂFz.? RzAsr=yz\x8㟯.F2F㌜OҀgq13;pç~1Kd98ۻpGBq@ cI^9=;QO`0298Q@ rF:8 [:tG9 :Ent.s[#6NpA'K hc'ߧLU=s:zuZb8矻xR`u8Fr ]=h8<{cޞRO_sP0~NOaF:tpLO6Ƕ # ~c S9q8NyS29ǧ|T{2ԓ*q䂼/͆Tu'g*QГK|~3G '3=!6ݕ$^cq ӶI=0d$U!{#ۆ}߸";Ld1"~rprA W PAN灞. szS1Iy?($N;rpH; ?\G`7q{Z? O߮3Wux wL:>1 #>QՎт@'B8($);rF=c?)yFO9tƛ;r[Pn?/ q1׃OIqoP{y =@v` 2>cxށ= ]'v8O_:R`ރTN8|@p{R`4 8tzӲrsw>)+ H_'v}=):pNONii$ ǐ=I$=(8 lAD^ 3};8#Hp@J8#ޒ뷯9a8R`8A4`[x v)r?n1,X)Ds0$t!fESsuOJn9۱@&>1X|۽W#⛏!q޼sA.2GνpW L}  [g8* oP0#$qT|gA9F8cԽ)큸9#N:PH9  < ?Ñc!ma0ԟH ?.v9~lgZU=Blrx܊Mqn\+s_Qެz~񮣱g<Wn2y4"&<BĎҘaܕ\@Nq @$[ b7c~SoҘN< AN+i_rCoʁ.pq(l>)N= OUƄc8ꇜ?ZrN@q?:X1?x#}FN0sЀqs'23rG9TtzKZO$69:zq{1 Gqӿr$Pᱜ91^֌Nq:;VHFɸcNF:G^׎+ҧ3Ω`:je FI#+29ecà=s(ay<|ؕYA^:rx9?H>ǡVYOq;zc#9'ޚXT,>ֶR1kRP6L/zkQ7 smex֮/zڷ"vbqӟgڐA+!#p90p~DFA#@@w$t>lgLxI#pz#pXcO_ҎJNBܜr9y\.8G8r=]D8{htN'=i%ܝpNy$+ ~1ОA89H9+m#3v{/fH<LDu_䜷'=ILvOxJFl`I>ǾE"Xz1 vM?yON0}(4sA> c8uaA=$rH[#<?CL ~. q `w8iGP=O`zNON:i|ܞ1;8RIg7ngG_JO\gli x$`3>_׎wNWq{;AБ#X:L lqǯ 9#)ǎ8=0<׾(qЍc(9P=p1qu@=7㷯8T`p~ 8 8;q{ԊIߔN>oH}8 ǿnCݱ{c֟V@zztHxH?A8t=qLcsҚ:^u\>4$z^ARz,Hsx?Z]:2:vjyᏺ׎M79p21zP 9֓ato>$r0}= A`rysր8ҜHRqzdy{S2 czǰ(' 8\FN3O 0cG\c({&^cϷji1YR09:6Hc5 {\r3v *30x10P:3n?O;H<{R)ÂGl8q929^v@bs^isԒ}p@:n=h $Iڹ C@Ϸ͎H$`\|d??ZPr6F@zw?^zc Y@=\3n.r0sPd0v9mxQB0y{g@rpG͌}:Sru#1r:@98Ӷr{cG~0HO@X/q#7`pzQ`(G׊bs'8 x<)Cc}BA )ݝp=?Jx#yG4I=oZ{vd2?\q@잠w?}~\mOAzgLu99wRg-@8L ˞z ʍGS`g / zzL|o8#q';=_rP0p=>}h=Xg=:@.YX$}N8|OR;uG cӎq`\Ԟr1=h?<=lqIp;d a׎ޚzzc@FI'8탁sӱK\$ ;%eIsXga 9(Le㏨'֣֥P13<zSwc}GLv !9%q=i;\evN8 Hz`p=Nr2=:uşQ9v/\g ?ssӠ{ \mo8RAG'n8gف_P'O4r9~$dޠQKO q7gvsM(qs)^O ^U Qr[0@=2{F3r&8s7I!>a|>NXun1]>ByzvW?ts14'ߛ$~vT;(0/> n*#Ӧ:B 8#asRdx2Lh^Ǧ3cJx8n9=3LOלqFsFG\rrOAs@!}F{蠁HH=2`7a=Hӽ#ӥ8S0rĞ ð=GZ=rqSr{Iʌ:yS9g=({aAץ3Iwϭ&2z$2~cAE ';ZRy7 q':8I%sdϰaCqOL'{Ӂ*c(uP'^p{ӳF:.;h=?{R3^@ 20 (IZ2s8'aR`4󜎙?AǯǯQ gLc g;d]h(33@oONtA,H+N}w@Q@s#oEgՎI88z1?d|ոR8{} o8Ӟ?™qװdҥF}:t)Ji?7BNX7=W49q z?)xsǸ=˜Ü#8Ӂ ZC 9 8?/l4n#'qJLh܀8 y I912GA{Z8# sną#?ўxpIɩl ߀\xQFGf9`yPqD'`<Oϭ7'Kux<a q`sГz/<,}9ݹ)z<uÌtlw cvޞF,@}=(p$ &2ٱsM_^3{<چB$t-׌z}i䎸pF:uOs08G?st<8v> zrڀu^}wpA早N^{{vO>4,8nW~ ӮM;v3F}ź)h1p cgҜm‘ '=}>t=9lu'r=<;PG8 H9{{@z~\ 4 `X@oM3?L1qG<98#;OdR3sq:{c)Q^nIn#ZL }qG׿ q)rIHv@-9ŎLןJrNOuj;+7l#q*>x:9'?֐R3qxǦr1H7F)9;=?J\q 19)y$ʜP$÷n;ס =: vۆ㷡9!rq`1:pN1Ď=8 ~RHnT0#$$灃t@㎦&G$r:>~5&ׯN.`1{֔ws`O^5:ON=i>cc< g'?!y85f u{']'8=xB)bpGR;y# g8׊21OrOҤ1s48\sCtvẃ1s4.W'J oQǯ'zqM1=s r}iHcÿϱR8ʀxbs==jAxݞrpqۡ$`cB8fk?9O(:Glu=)'\G~JWqԎz/x sNʌrI uU'zwv|۾jE I'$w8Q"g$<`.00IO /*9䞘HL*N}s=?!AftF~<`1c߿>ߠ827z׿LI `J}i0[ 0G׎; ճz=h9g9鏭dw:v; a@ 1y-qsS#nF' N:/=>Cg8mr:~99(ҜW70\w֘ F9 9zziyמI9@nx@DZ>`wOcF2B׎gO'=N;!S 8vjE9=\r'sހc'Ԍ9<v?_@ q=~9C 󎀏Sa I)38b'<9Zb*F=9$c$ g'x36o?NFXt#8RA `?N(ӏ6p=@iF$}ߧn:۝}}9?CK~= P#$s8Ǹaϡs O^ws^08ĝ1J40388#8`n:dONԀ1>n1SrH@듓 X LFH]1% g6zpހ@SS9-Q3^I62r9L$p# c,~^=)0\݅s @'`3=)@-ސ 8s<{t#;w#F yׁ{)}9;db7#>х@$n;JC2@y킾ǐi \.¼ [c#ן!w=)X8<GNy)`xIh&ϡ&7r1}5`G8: {u<E:qׯZO:~?yq8;Jb\CON@aI#o9:vc瑟 >T'^u;A#S8~p̼wzc- =TDG\`rN{cKn?/`[jQ x%er;H q>[#?§={X40cAF3уcppOp{v1ԕI-@N0G8ٗ9c8!oVr3:R|(A\qtPR\;nϱM<?(+q=8ZSs0އ!^!,G OQagV ㍸ =p($9=9zg9?˚fIp2>r7F=')@>>1)<Ӟ@'73`c׾j@ t]sf£}C %r}~~q2%I]sx=T᳂9Rrp8I qй=9(cd=׭\3/pzWՇN0s;W})5#e[A“VS s=9Q6RFrHZr zڧ :W^wP!~c;ֱf nH[3oq@4,[Sб{RjV$W|:t(2v¤}=xޚ H8s r2`|y'Z6Y0xm=y3)`g#H<o c4G =ۣz0m#?IRyץ$p@$G4GBtS!g=A<{wqn9<`ߚv9y ppqXxA'8~4v9R>l |`A#b0F0A8=1M9dg=7=<889h(nW9bP;u S9lc>-8:0SUqq>f<@OFSdx;P3NQs랆Ìd8?^L\dr'el+=sHx:cs= Ob9 y sHCn~fqfaG r;i`9  vS@[0{vצ0=NG> QFw'=xۀI$x' 89H)=9<ЁJTpqzu' qm*dd:=H'#qSdv^w+Os㷥.@s0'(4˯1~iwnlzPH(qA>8NGFyvhT0H)W=Tzt8?@ttJ8ʟP3qaI=a= dMnA׮~{o9$ߎsRgd=?q r;23ߜ H#?{-`` v>ywzx\9AONw`^G   .J8{pH Gfg<Gr=0)14i=;-~E.d(;y%?S㌮23'@m!p$cSݺb38ӐOc!?P8~r0GJ<۽ )G9f֣8 pp3=8Jqc%OP0Q /S{`mQ};i:gzhrz0x?0N)ǹ;QFPst^;>aH랙 t;@bF }M$Fp3#Q$21{(h.<`(>Z` 8?JCOt''98'OǶ=q*YCzsғ8y,N& 1鑎ByR=iLu퀽eB9GgNs?2qHsޓq8돼TJQ`pIN2G.{t=/J`HH|s׊Ns=?Z.ߨ'^qA䃎N="F1t'v}#4x3'nրx 9#?'L``3Cd7}CoOLw>` ܎⏛#, rzug;ӦxL;P8y7t#Hb#v2w$8n=>P9@ rI[#9<pph8=AJz rx11sP~M }sN\\{'Mm93q=O=r3S xwiӨaqE1ǵ10Sy#qUl1py ;Z!s:kxF@zשj4ۂ {v qN}(<{z <|v&@0>m>/OI? plzw$]ǫOgcޟ#C{M1XAtsmϧlcb }qqC`Й~Qx8~b8ڝ&|22 鞾>9Fs'thX'=qrX`3*8n28 9Liܑ7/q;=:sR@!O|~'M0A$zaT9cc8>{q>q۰8@pH{{g4MOL _NWn@n26r=Oj=:c229ڜ;)G@b=r{NsqhG\(ROjp?s8<~Rm%r gr:@L~\8y$w^ۺg@01ӌ ֘ נߞx#ӥ''%F3J_yugߡ18cN2x?Oʁ Ϡ”aF@1s@ n0lcx9돗q9<;r#o?(=?H5&3 Ӏ}:BG r8bH풸s@ퟺzS@9*n`w;zu(&;z{v'Ӏ8$spAtڣOQۯZi=;pZԐ{d~*oC7nG| 889q8v$r',zE ?\``qH,7!$aTۀzm>=A<|۷?Oˊ@q b?{SL,N?9\E=O^}zgEлu8 4F:taG=>v' cׯc8Kc;0 ypsדScg9{ddB||wA$rGhÞz0W<a~#>} 09P9:2)Sހ zc8=28}h?63܂8֗p=m9 `~{qy:CqNc'N޴-aیh ;88)z@B?ҀO=GN)>vA (1h g 2{Zcp ?(;:b[G.L78^#R r{֗x8^0@d@ ݃ĞWgZ T\yPQ܎aӽ<<p~ZOp!'#~lO`wOy ?!.Sg'*D>qzЌx҆<#< =G|g#8&ǡ8#F63R; L=3qsN=s 0#dmc=A`sҗ$t?Bq9<OH}#cNҐ!nOQ^=9'րp-=H۷\PO8J`.sQI>օ0Hd3@89cN8 F8`g'ˌqRBvQЂL>@w}q $!3'8><{sA ()~b>_}*h]E<urO9@UNO?́֝Xeu9=@= ߮qq@8xL<R~"O^ > A BS(#I$܃?Jfx9[oNit#~G#ަQy$Fz {P!#l {%H$d=o_å( d3dAǦzw#@Sr$sPmpFN1z?u{z @/S ޓ׷@)]@i aO<sޛ~\|d#Ǩv <zxӲ+9'dgn}:ӲzNRA Pd3s:qGʀ$=r: 2GZLWprOLg'Ͻ{>O89q\wx#? Q=܁9G'rj^H$> p1q1gې8G'cGq1r>\t9=SҐ11-BG|iur2ރװ鎜c8猎ϿzE9#G͆#~<`#gۀ21׷^P܂[pOqO{ Ê9<Z U1[ s@irr:_֔`:3/C:O 88szb:u,1^zq;b'Q0x;#Wwr9uva 3ܐ:C=N}猓v8uz7gptzwӠ4¨'\u#M4`m @ y$}sއNEn>㯿znNT6 `ߦjQI ;ӭ&d۶0Tg0JXgׁB啗T0Gr8'+1_3$fe,0^ r^vN@r;ԭ)*7L)lqzhbH`p#׊7 8{ k~2?Jye$O֫$z=~eOZ''8#}v80'R3szCƆ.N#>2 G9 K0w*{idcȨٴZAlS0rCln=_ !i۾Fܔ@aMS  znϿzx c9Njzzqp$z#hq]Tڽ㖢ܶIs]˒sϦ=סMqTZN3?.8$Rd`q2 t=d̬7yP)?{u^NwIbm2?CV2 ZřIG 56]#hm aTdA9'ڧrX [ŘIn<:\A':wuH^w3n^ǑϷSZw1b˴g0=8)|mU #NsyLl# I=BS+1 {948O%AuPz}zII͌84!=OAirrOsuϾ(478ps:g^0qwcv|/a$G1,9ڐrsq8$1qLA '>PdpBI=~sQn161qMn~bpNCBpߐ0T` o#' q=rG9> P6z1y<{ű3yg\ɔgqҲ r$_kϗzt+A@CӚp>n~S֣԰9E=1W隸 #s׫jӏ\ds]1sLIž`r09֞@9'' zeos=FsӭH11;yLa2Gp}VBМrҵDq,@g9$ӗ9H$ 63?Ojdz8:> + ^޽R!W'㑁sLO$2G_ r{˜c68'K9 ܞ: ښ@'sO^1 rz A*N3ҎF1ܧq<:M q_ARmy=@nϯUh9>^?'o\ ~|uނl!I\P=GZ?ŷ q`g-'`q4!~^yq9,*I`p<'<`tӭ #q`G4 gwIsz\We;# *s?*w#g9s׎ )rOˑGNr?@!N94zB=zw㿽bmǠ FFA=:>)@W<}hQ<M9qG^=8eǹy99q^>VHnס wy_OlG=~/;K38aM)8ROBy.G~тs Nn'oUJ$1qO9`39bOQA,s[3s%8nqQǰ>Rqg~.s }z qǐOzu'rpJ(c8zcrl{ o;dTҔ{0\^i(G'$`_P=AN{Px!OnzqzLG=ێ7q{!q={ӵ/\#9= ~6l#de}Az|G=A9a#׃(yN049 w7d89'n0n:=j^3Мr( B/9{SL#9=@ 2?lsǧZB~:;ϧ#rΛ0zqɧbA}*Ar<Ӛ.9'9+N)z} zw zH'7 9~}MH12OHߞQQ㌌U[@@$')w 1K1x(.p>qi݃:9.0;828?3 :x$Aş08nsa9ݽ<py8#d;JpN:#><|vB}zz+/897{Tg:u6z^s1R 0{m遷}3I&>)1#x`w9 T#UNGR?iû#~Xw7$d'֎?=08lp;Ni[Q['ך0GB0 'tX?{zw\v6t#<swd`=a@ sl4:Aϭ?Rx=Tc:ބ&=88Ǡ<H?LDFsg\Rv@ 8ƒ玃R}:0:3 t昆$Е 9]x?w:͞h~xU=0:8#uNiRbAAsPHg=oǵFn9#3 q$  D=A7+Tq<ǐs=qҕo^;b́9<+c=ǯG@Չ8<`WNz6? P@'1|Ԝ1rcHNu1 G}cN'9!ё [O#p?d~ P{z`qx(iۜO#>npzoI20{і$m Hp9& gFx7Rpw`?A{P!s80rpH>|#d6GLg);Nzz IHa`qg43ӌGCqm$*YHaSrB䏯~sF;SӟJo#8Fpry)R,np<|ǐ:L}1;1?rm#=y u88_z?528<zwOzyF;\b~^38 /rGjh=0sSN;>O2A=ۭFA9:׵0de@ S}9+8<v9_A=LVtg zOO˚8 WOBO@X~sݹ'^A#zC;raTmPcZ^9\,8/z❒HN32Q#ɰ|eOsy֜xAE;2?{p ti ,˴:*l ǯ'ӜOQБ!prQrl)s:O^sni9V<_+'Xsl vqz.+ ['`1߇ZaasC=X=ϵ)` It бM14p0 8dp9asսQVc NG9cPqӃNR9Pک14;<J7<6nzܛ}-;ӗtLys{zSDx u t =O p18{tO=q.90W#s?1N><P Bp{ /B1בNs: L1a뜨p@=M FqK8z#@:͞pSϿ{g8e^z}}>LAӌ>2I+GpH? ܃`tnunOQc<;hGn޼cKv:)A:v3A֥z8Ƕj1RxӞ4<N0hH nOK$p cמ[_ƐI=<ژ[9'# }ҐXOgzqϸF0 c$sjJ |px=sS8HX> 9@=:Nw_)#vsBzpF8<sۊvvy8sH}q0H jLG$~=y8t^|hʜp=ssӭ1X^$c?9=OMӶHqGbI1<;=~sJA 8#0NWmO8#8QБ`qr6@?({,zuE < ^}Oۑ(0?Ҁxn#?6t$>€ 篥.Cq׌^HGOʙp-րw Oqӧ9#;~2{QJr3c9y'J3N8A{`Rqߓ#?Ԁ~ݣ=7z-۞r@:) P4)LP{0w9 \qǦsۥ/#t'ggn 2s7ws qP8lퟯ>Iߞ>no^'~@$;FG=AzPRN O`t4@=Sw.*F8GBH {qPr@qjLha͌ Tq FO !0`9ښ~3P;ǀNG#x曑O0 /B6I@x'  uXOb7w[ybp9ٌ`3zӕz8!a9@1F}=y'⛌rK`=1ց I|hn#BHLNHu0}qMԶ`I$PFG;N p?Δ{?6;xOc<pzcA Rzѹ bcg$֔PFHQIZ:1$JӠKgp:uv8'*AbsN{=>\n;\pIx8)8۷9á'@ئ `v=x6#?\m:`9{rq3MC'=3@u(-$*SUkc;P<2@g%y< '0}3c U&|zu?yuA=ANx9'Gi8m!CsI.0F=ty3ؠ:@r6:^ïLddFAuAM @FNGl{u8>N LP;}"9#g!A=sM2x#hcs=9{r^0{М@~t++qr8zTa@p2ğ^@@'%F?œ@' we9 2sܕ,BSry*62zqU:N}>*nlC?;iœĕ}Ҝ>f=NF0e!>>~G=;;}zn p@<轸h=$QBjƮ8œ Cua{wKz)Gװ:!KʁڠvT:g84RNy~ 5 {{N'#;;8qژr8B1pߒ=A8:u!G:ws}n;I Ƕ=F)3ǥPU $s۞(bq' NrQz89'9q@sڠ=:wQTNH ɐ y iFp|:!NqI{qޤہp:!9Ec{N+cqԀq.yR'ZhF7g$19(;qyLSGOs3w^~\H9=rz"'߁poN9@8@.>^[2p =x%Gg=}?ALq%p+x9E7 7F^8s3^G NG)?q($V듁GlӖޠF˷98tdǽ.9c9ێ3^=8iqs}N8~F9M ¶1oEl03rIh:99 s1q988IU9:<7R 4|N ^qOP`FOE? ]N =3ߓcpF>V8>y#> Q;rހ#00i`0>ݔ^0HWzP1vc9`\G?^8(#z ?3S/sƒr;mW_l`9c*}'5,.1Hu Bo@~7'xR}ր1*w rX LTm+{m8=O&R = :\}zWu.=^3ڐȺvAco?wtHʹ1#j x=9 ?j,I 9'j] n8S߮=:ReH᱑gJ۴g^I6h A)1'v\RC#g9 ;p17sC1a8Tʧj3$/TBhv7(%pđR0wr6ӓ?ݒxӎAldvғ}|ɵE Ac'ޘ_;Dv~#9<ד֔x9 rAPe/[#9%}Hn3{=?OH>ܤ7ˆʅiwr9*~]S{}h2zC=FդswgJ:$ӥJ]csz#X6=sWn ~n+x=} &9֮+6Tp2=y`G DMF>΃p9#IҷZ# b{9.wzqҚdH<~zvz'>LHpn?}}+G?[FZI?19H$>Z't'Q9tFFc:7u6#Ry 8d|z{+Tf99U8899;@'_hk`8{uiny`2]'1Hd0Iw< W``aӁ pq Q"gKrX1,qǠcX3>ny*:;~\Uޱ_G9#]Εz*g8#h9>q2GI=MZSбh?\qbsL >\x|g\N+;,ǯcמ5dN}=l>ǮzdzqFFAjE, F >J*T8u?.j;H᱕ nx sՙ1ۓ-H_@=*$wr~S}zS($Q^ݩ=Fr1O`dЎ=Hq8`3׮}:TA9=@q*O^֟d9qiF^nBvGUSp~obJspFGCF3;ׯzv tscHn:} G=v9^b9nO`AO9 *@\v3qyRi'ߏpsQC(NKg-8'cIA8;K ÎHp8`38`ds#cҐ@0x#Z` P0_Z4q ~:l8ۜ+g9q?1 $" 玸sB=}ӭ&i^1#=9pz>QӜ稩=qӌgc gB2@$|c#xGP s?.. NrG%qO{H>z.ѐ9w@<NapF1}O~{`01{})AǷ#LrNx׷^qܯ\=qp22yeҘ7n#^;zqB ܃B:4u`2NY{#}!rA8?ƀ90H23@1~Hc{Ď=1æIAێcWN@F|rr@:H$;W='c8?_ǹCLzӈ ϯJC; }A$ǧNiq$q'9QJ 0d UWc8F^}׀H?&>`{SH=qf Hbq8v:gIy'׵!9$sӏnjR~y614N\ ?BsDXg#ʤ0=Hk`㒸#9u c|w?M 0c:`2s|3ht dq̊\s88=>ޘhB |1z sKGc/BqP.}g둞zv[_,3;:gڀ#?Aǭ(`s^AӀzuHǿt##ppzduǾzR$(2 OE@ :O\%NN>,f[vDzޗ=3^=(OsHx0xǷzQ`dz ޟ1p1p $u$zӻg?uPA9cpr+1=d8D“鎜n3s& EB@~٥h$qW pqH48;1^{suOn?@h1$dFRS9鏛 z;.xes+ҟAh}1+;݁`rN -)v㺏2;ON93^L{I =Jv3<FFrO NH8@<$ ?HjB0#zc9&0܀N1?ғ<9#;3?w#9$q:жݠt~\`8^O cO0 GS 89s{sN_~i1Apy<Jbz>_Q${;В; y߁]z"7@Nx_jq~9=?@X7~h@#Ⱐ<*O#8 @ '4BÜ;$+  dx݀9<BzO% d}y II899ӭ)~>Bl cS8\?)2z{Єn8#bz{,c%-S=N Qg}q=~MOpaySKpѸgS#FI|?{ 8 }(o%LpiApO':8$,=rOzS98'!z8*@N:})cdcϥUbL$ cNB+ߎZh7;s@=ys4cni@NA=8d\d8;ƚle39qHX2yL?,x8'S` >l@AǦ0pFs$0~nҀ9Oz}zO80Ld>ݤoNjQ9g֝C{znT)錕`Gژ Gnyy#:`}RpANM ssAcsF9?@7)җPqtqtzCh`yǐá>ZLk8<^:x^?8P~N){0 s> Ds{f9E;GNx4s^x7qpqŽ@CADGzM"bXaq}1R4'OCqc=;9v#<^O^)2F# = 3ِs85%$Cc@XzQQ P٬Qs9Îsrwco=ϩ4p@pwuO9`{dT?m#Lsߚn}8'ێ>hd wOLvK}??^H;~s{NWA#OQǦ;T<6GAbo$sϯ׭;q^@ xJ}r})w n<8Oz;9RA F=:uzg9uRS}H'9w=8s`'=>n+y+9Ozuש;1C'dsǮ<c;=r2OR85@?7`pz3=EoCXH>=#N? )\cO oJ|Rqu$O8=B;_+n\cqOs'xUAJHagS37;Ev#>zA$݆0>I4cל h> +8p~nx#Qz шJvGq#cӊ9arW!#AI#2=N:@rX39۸d^?w0W=2*pX0p2b˕ԗ3lJ2{ #'<^^ )9*Eܑ61dj[s:r-#lcj`4pǪO|Ou$=zbISW8%@x8ߚqspFG?QMU~PNsrv=h킘6ߞ1= 8G t7x?. (|2CО:`S!pAېq@GAœ7A9|de 9`S>^XrqcG47p88TΤ `=:0F%S ^zyOzc giH2/|#Izcr;j)m?:RyqL#Ж € !8=}(8ӏJsw9`}q?JA㌀31܎(xw819 3sǦP PV=LqN8Qw-8A~56޿6Ҽ'qsځn<8aR9};1Wv9\ )2<8ۊL~"Hp8nbg g=s@+c`$r{8 x'dO<3@I~qC 1P1bdqRs9' .@Op;Pgq?t3`:Ou=^'9#yor~< sQuAݪ@S۩'lP/09wHb̼m7.Cd/۞()n觧_~sFv'N⁌xdt?, 0g A8 FCg9##8}SF v188㯭/3n?O~=,Jr  yϥ&122Ts=xrIpN@?F[g#A20sxO].\P y9A@ d/'І3-3 ÜSA0O9ORzLhi`x'jqM#,H[(0t=GrX`̓87r08e+x==J$39IN׏ӵK#'4ˁ*| <('קB1ޣu$9T@r2N[q?ʣՈ ‚Xcn~P;^Ժ^}p*{\ӗ鞸> +QHcw"=`pyO Ts E|zr{s̍aFT眫gzWv=&Htr^wncxU#>NZqԄ11c$sN*@ O>k.@L$ { J@ǓO$sDew#䞜=`rxO=Mfs xje^~Rd0NWk/<'ԑn#ӞA#ӯBV |rx'}i@:ԓTy ܽ~|}{4 q$eA99Gzg88n45L!9=Bisg1񤖃wxӌ;8$gqyѱc=殣*=?Zn^>`O8'?+Ms8P }=wz#!QHs#=3V0:8i[sbk1? cH=jҜ۳'gyKV1JI< 䑎O<^^߭Y$_1sNNXtH$eW#?JFNq8?6Nv'hu;B0sȦ&3C7#tI=:tSqzc8>aztzb p1 )#3zrO\Cߚ`dNqH9'i;u?nϽb 8m5yx: I{n瓆'I+xFad㑴g8M9;q~Q@_0q$=4H^(ӎ u|#_o8TN1ǯ_No`?7<zEݜsnr=*3rA^00qmۜg==v<OS=|.O=i @p:񓌍{NF09(뀼ӿZOSU<1z~U:G0q߱<7p^0O\w݌sS^spr{CAONގ:8'>onE2zb #$cyⓩ9ːzR過Oͻ<`sȥ$wܜ {c@ztcԜާ>'zpFp3؟ZaOQӗsǨJ<zwLH v`@m3=z\g;tl^'͟7sMlscO<)'䓁sǶC.2뎜c sד)1'9zRzuH~8tڿ v; ߸sx >9ڻ'oҁ.H!Gx$`tb7dqIu*1?^41NC0: 4sAOÁ =Tg{d~=4| rUry=zg)NOR9[<{(gG Gӻ{8=#ޚ};yy0 ={S/ 8`:}}=3!9霏!1sN1c~)>h$E11=@RW玽q@-O<}iBW<#OZN3}h8m-ߑO#$򧍧i9n< g#,ztq #E4'}r{3qRӜ-OQۚ'ʧ N{Oj2{dG c)>rƝ׾9c|gr`2ÐG9Nh nQeEQ<98GϽI9p942:sځuP3?1ҥ80(z`dOb=98<p8sK Xt\t@ Nwg@( u`1HO#c|ǞhÁN'?3$G\yoSy#8qK g9;@8ttҚw#1> nэz<מcp <ǜzdpIӽ7os997zL `99y?1zqm ǧ㎠Iɣp3ZCޣ(9c~b S4 xîO0 g$z9XG_| x֓<z.s@!p7tn7$Kg֌񴞝zs(dqHO>'9(#ێ=?ZLd:w=}/ʁ o'8\1:s<23GjQr?shx2y֞3d>4R0Ϧ9Nul`zO_\z%9ria8$?* <:u玙OL*qzNF d#g9\cǯ>rqӁ^:۰*)M8l>=$v',{qӭz@ۑS3Iǂ;sϧZq!WOn5080c t=hrNFw=0hOF#OqHA$Fx#nu 'JANG^ihHagqSMI #s u- 8B2: e}OԓnG`F9N@=1ҀϿ =28s'LԚC I#=n39#?'qHG| :>\cל1 ;$~s2##族靧OHʜ~yf$(,8ދ'BIڛOC@onM÷g8݌G㩧ez'$zONA0sRX?{$^0yT?{rwǷZr$`p9H)&~9cךQߜpĐc;Ln׌qyG8\gI㏯B:?q3)A'zKex)AŹ$ISHqذ#x:H͢L$c)G H3P!AIܹmߖzӔpF$c$[S2s킻r#3jv}O<1=zx }=Ž}n#$#?.2qjRW8?.hXn8@wo܀%{wZc>W>`m}=3ҍHc'8 w;88;Ƞߐx |7Ӧhs퓁~Xz4А``cn-|{zt{`,3ۥ1$FXS`d3=)0# p:sF:wc|A2߈q@8䑕]޽('{1sH8,}NN8S׎<>ߍ O8lS;#?^F'w94Ph 8Ga~9$qԎ~ g GXRm\d/K)!v88⛸=NAl'F?#A=i0@=FFH듌tl"$u 1q_>Sq#9灎FOl#%HX1:c89?+7=cG!@gq4'<[#}3qiǞ<dO|d*2Ǡ9@Lc) a:za8'2zr8q@ʜrN?T0}NN7us܆W?JaPrųRc'+`J t@nn&LЎ0N;8` _brzSԃ΁Xw\2 svǭq$Qs11⚬01#Gz=6Xvo SHrz8x:)#:wldJy< '?0*[*Whln#4〠N3H#?/P:sӯwog'rp;sϵsy(t) dzJ{q#0Lɧ: H#H:00}>e8qFy`oMgncz r{^q[Bc 0Ct#98#zPw}sӧ\ƌcs=}(;91R=:?t>G]h遒{F$s>#;tdcОǰVqXcL##9 =9#s4 s(P't0H3?Hf{q נ=nq߷O$C9'n4GPC2;*lzF3ǿ$,v!7$ 3=j@p)F'r?:bdW=sNP}dv83ڀ?!qI#=rGz2Aޝq A%1 g֐9?#OUs~r Srr{B7$qؓ}MAcQM)=y-N6F:qGH#L 1id6xpqrzP`O';IGl*1=xF{cr9#=N NG=@ 8OR2q3zU N8ϣqӯ'ڌ6S@䞽FF:G9J>nO^^s@$cݎ3rF ;6Q`?€<}@'$RPn@'G!r?1͆8',=?yq;Gs2Ox(Gv9w{R' @r:t')Â3I GL{t4O#wvx9##׎c>I9oDZL@^[Ӟwd8П4u#nH`Iq֜Ar3ϠΘ p܌=*7=6 n:ӯciaA8r{@?7A;R}pAb}=*D;HU:񐧿_΁b2x#,Gs1@ ܃>^g ø. ~)&#ď+Ѹ1 G8"#y^}3@dt#9F@cTq#:}iNrrGSRa08zd _Q^(?PN0? 9Wc ==9 gnpTN܌㓏:R`09=xitpv:zPqqБ +)O "<0A#tfcw0*>\yq)9(#&!wq@<Ǹ•c߱ۂs)ۃלw79|: 0OϽK##󝠐G#r8fea8)1h;I9*ǜ\1>iHoӦ*J0A\p=rq4$ (\b~5=BeF #^N)p`H` >^yvd}:!9*g88ݟϪ9 Զx8 Cep;\m<;~4ܒy%? s+UPM?>]ëd< g91Oqܞ6 r{qrÃ90{ceA\18^3۪A'S$u=x4 UAGb^[ǥ`u 6'ZldX8BĜsCR:rUN9[ 2rıӧZvx `d;r1iܕ8\FrC SHH$?u{OLzʈGc88 U6}2`ZUК'KCz=C:[ vojE<KppF:sxm(n>nݹ9$¶G sޭt#HNqzBwHL2T7\rq֚;DBN\`giфyݷPgfc p8 dwǧG AcHc8FO3'󮃜c8p=?Zh 4Q4)'dp{S{uz?ȪAmޤ}zOps:,͢eu=9'IR ('#'khRnXgs`s=`~rs'nz 茮yę\[y^Fʹ{}tEr$o9=;Rnp*9$tfVK`WQ0 d^%wddP>pH$wΤ3z<)j9 ǭ #'eO'cpN@x G^IrrsuӶ*$TLU,g@$`S=ב\5=~c89nN ~lg?GOwZe${nOJ(ar7s ݖ,h' $^;jQ2}1m 5@c=zG2: m2;ϰӨ:稧zӸodqᘰ$8oJ\NX}(A[9*9t1h|dgpݞ~uA=h$ sܜwq@ےOӊǡݏ'`bHAsݎ3JpNGu#,xIx|< πx!Nݷ)NiBq’` : ?1N8\zc3cy ǂnu-nݪ0 @Ns9N qn1C;B?œ8Fzu9Hgu' @W8s3L8rWpFL ]8Lt$~IϷpGNO^1 vGnQuc6w=Ba>$F$֛$0~Pǩϧ<rI랙'= >1:@J:I' NiF~E101c;c_Z(\c}恒Ќylzt =#x#<g9A֏ q@B8y~|J 7+`d&O3CI9CBq$=:q@Ӝ8y'ahn˞nsN3HpA\AO99Ln#N9<)~a܏@^qKp@A'u<` 82rs98/=27=: }_.F8}@&x#/9<#K c ӃG}Ecg8IϿ<0O(,דA'``sۧ#֠Nx'\P}QǽH` z:??18'33{M'/B8#ӟzC8GOnZdH =Gs)zc$Ox;H~81n}i9p;< ;9O=jMA^3ʝs9 Aߞ7?%S@jP{'0CsOi'9 1T-Q:.x'zr/Jw$RGdޝvx?j8w0g$ G_LB<'9sߠ'S`? 9NFp=1\dsqb;u@/>89 ;ȧq=23M =qNdx; =a=یd{ w@&rs88ZBNO3v=h!pp:)cAg$q=6{`O 0[=qqQp@y3#vvp# cHxq'ۦJ< @3O;}OAgOIHz4t03$`=yj@a$vOG pG#Z ׸NL8$PhzO眎saI FrT@_өNq+*pA֗23A=N9^X4d*8ۀz=}$}UP 89 ֘xぐ<ݺq҄+gČ`'@Wڏa;6z>3Nzg' r ~hBÉu >Iǯ{RX7 qq϶zzR>e?t7}<Ђ ߏJM`䓎IK i9Lrz:za7f2Fp9HЕӌ|{ WNG=pI'Nr#P}Xnq:sP|dzaa ~qQۡz;s~w uT2p=p;{8'd{{d4\V g pyl*w 1:s =xzO݂'9 n&I;y^8>SgWGӿlt:O0);{|nj׽0$î[(.31y߰Ǯ:t&:n<G)Tmzur88QvL~f'`1#'tN H)aIV\FW?7Cߚ1F'e!3w?4!'JAb`v>^sL0:dsulnJ\@p8ϡ|{wgoJh>S?灊v{qw sc;eOOxqO4#ݾS9FqG@qs׌} G|ܑg qG@y3F=~2pyݬGSÜB=2 $v Tdv:ptQ;ӷa1 1MpOb139;v-'?NM;[G ߞu 3g4.('0>nO|?^(8wI> nx¹8s:7?Ҕ&|{9GMX7Lnq<'ӊiʎNrx)8c5Bq(xHyFRG=qn>bA<HoƁ wnp>C^1^>[,>R;Rdc㓌_ dH~O^}))cއH9ژ8AF7I'dq`w 8#x##!$8n r@{?(9x,  yCN8g܌EIGS ?zd%}'qq'$sQd}JqR~ιGNO\SAqNґ ,^^Ҁr`F9ץ0u#s;z8  #;qs@ u .sKs؟La_2 HL&1zp;uHxO' pNsGA\h9O<~4쎅F7@~Q#%V&y{ON1q)\ G]à%_z`/O|PTdWr8{v͸z9wqJL-zHF~`<3ajCCr99'=~&F܌8ʁdKnbTFg9} 9z.C==yϽ@ 9CJ`܆^(n8u1ɩ`z s$,hv?0#v'49׭ b1<`^; SY@_ 9<ǵ!Wli&Hcށۓ c-TdAI'qbv )?uiNy͂xrz amry>E?7=I)q \c߯ң'8s߿{nP=s󨳎x;q84)nOQ“(@^Wq`ӁHhk!w[qA֓@iuF ӯ'8(I8c/bKa9gx!c3~tO֐i\w'@iNp=qORx>}i}ؓVvOP}Sa.JX.0:qO*>^e8`?>GQP9 1ܒG<r8go$m4ۅ6Ag9]<Oך@?/ɞ1:}9,#8eߌNpxj8N `?z5UTX8`sU$v`u\pN?~a1rABb`P~?7xz _F0p::}7 Gr c)͂vY>SQJ:߻%F n+r{R< $U=b$OcȨl#~l}Ӝ`}z脗A1+NzJr'{ڈw2Fq2F`sUm1T`'ǵhC &W^?Z*~&5:1 #9c 8TA]3e_*N ;/i<`vnkTW r}zgGzt&6r2{Q령'Lw':I󰭡!8 |Ć#+n<3Z) &Fr20Fe=[pH#Uq.%p39rF{RAԜppGrIT%8>v Rs@ldFOL54Ns7P˃OL֦;p}'?Skkhyb\cu,y.׷@1qZCy᱂FIlOq@IqM-rp7AH}`s3צ1Np0Bv2Y7 < cJG^=y?Z?( ?8sҌ)qB3ZD1ܟĞ1x:'#-8C8C`^*A go^7gy?ש"#qhw8Լly<\<6sy rg023I8zgN9s!OE<sjR:cz^ց1Or0$8va/89T99qOi|cj z;P9$  nx''8>d;zc7vN>1#wnd )`I\sҀy 7\3L$ryJ9b1x|и!vhxn -ノznAc94wV@ѿPG 0pISځ8\nHs)NsӍ֐ :Rn8 ln#ȦP>o=9\~zP$; Nzs '%rl;t~199#rGUQgq1>Ԑr9H89>H9?p|:he'*ey/b8?7PsOS {&O979䜑g=1>#m8{w&Þ<T~=#hN894aA`s$LsF6py1\(;::G'8=6?qw#ێޘ'?H= cw#yf9@JCNsՆ;GsK08+۷<~dz<`:SH9=8IwnoQ9l9=>[<-gt\Qq qIA=Zbߍs6 zu}Rs!0q@1nB8q4@psq1?d093ҔSv999=qMTN65 *3~}KX}q$q?s>>n:@ zg7:ǩ@K8`62OΚpzq:f!y<0(ʞ{G^ ?/ys'8qH잼py8py>S9;pr}9G$>q8c?Jv# `==7{t(xb28<7:ҎqgoOZp>lINFyO֘y< d;X$k}래^Iヂ8?q@sp>G`p Ix[q'9n;OZa]Ё<OqNs?t#nA i #@ʞxIr1@m=`=:nӷ=H^;91'@<}*#qz{s@+817s׏j:dG?Nz:gi=.GN=x #s#4ꠍ '8]Q27{b=:ק{u<௷JrӐ1>לQd׃@(;?JUo9vz xiۑԀH>ptR91b`>l}2 #ZcenJb$g[@q'Ny?Xppybsv0E9cxq }esEϯ42Iژ̱ϧMN8Jzc89ڀWQQt{v6yvOI`$g.F9vP8u{t =c~oLǥHg9=B?qܑ2j`з˜j@;߾I'+ԎLo|.G^zPƈ$ c 1>zw铐N[:4Wr= }h#cNA_N8Ny~=3냌+&R؀ 裸=18lW ϩ<#bqK9=xԎi`G8M>@r3껲Wۊq@ч9^1zqs{A0 F9w}UlrqƟpxΕƆz _oy#$ӵ[@<ne#xן+ו99ǷPi;$= C`)2;99Aׁ62x(_O=su<'ħg4@c)Nymd1]E`qpNp1zS~SGc߭Pnd8U~J? $= qGCA'1GnX瓂S13צOy$z} T"mt^PN'8aqҘBdC;Gr)Оܞx9Ssߌܟ)x' tϧL\8=wgw gn*E86=G&&^0 N?^={#pz\͎VI-pw*@sԒ9gU&KBcF;52  pp?Ls֨vNOO}N\6xTUXw 1gCx GLC>\`# ~u)01NA'uϿ v䌂G]֤=^3sӓ{PA3>i䜓9ۏF~sK'Ԍy@n(3@-ur)?ÂO$c8;q Hxn N_|no zq={=HR3p@9'N{~Qb1rON ȦtQo?:@9y 0p?Õ'Ӡ{R(SppNi*HT+OrH#C=@ c{:R0=}COa  ЌmP{czc9>@q 9u@O t3󓑐 Ct9pČOHJi8ǯJL::~os)8;~w68<S@med^i ?+>ƌPsxigԑ#w`ul'סc<8#r On8$z}1EQ\dX'3r@?#E(b2%sOlpz7$tx֋Cl0Oxrr|j 8qFCvbpylv6rO 9y89 Yqx>RD{'=iT1RVa SU{q`~J$7?œ8;p,n7:c ʎ3'=MKcH8#8[4ӂH;<?*sӯB{ qQNNW8'^=sRCX/I .:NG~OG<g@}E! ¶NӟA9: })FnsM'qw$rA#~Yl(wE'<#x\.hD9krNG<ӊ^$Ay'ۃIx!@Fc t<=H9n둍Ǡ`@iq89w=1^0%V tqb$?(\<%GF@9玧?(1cj>Lӷ(9ON}z{0zqwGg8NFH @/lqx=qu|)ո=OE'GrLn'\=On R9;PvAn\\QI8 מN}?u^89>pӜ vLI02H=E94q8dg~b>造Q }s/RpGuNJ  g>ndT0N2=q9N8Q/n)! ?<;qQlOQIU ?8zON gspp=)<`I_OEqߠ!sah_[s/~=L\eim?/lғL3'A@1@:cqo\#3ӓB@ 9%Isޤ^}@|t^W194p8`@Cpp9;epJc|pJgqv&F;'>P9zw؀=@{>J`/rG>F1\c$s{bcA? _i^ I }}z)s 'z@WR~9PcoB'"<<=@ ?(%9IsOUbI8p=A@\@sHOΔg;שzOm@7NsÀisЕ` }1S1FAc$ H#f0rA+~zg> 0ڛ{ p׊hB!Xyz&9B0m?&zN 3A@G9$1lpBCF9Tlrh#gO#{{w!^dgs~4߽ݱc:)l`ГԁABx΁spzw{/pyӧ^y\9Py@ m1K :Ni@<s:#=@`Kr )I3xJqts`H#?@n=Hߎ23}3ޗ=xB$Iێ2?֔#<~֓2~NzHc nNpr(Nʂؑ>j|Ǹ |0G U<1PFK989aូ1[S#sǠ<}іbGO#Ǩ^8E/#1韧z6Q'jf~^:~b8=11p߯yU~+9TpHO@?*N8#!xpp9<ǭ \w\ӆ= ;AycO~iJm83C"նu.x'\R12I T5Asuǿ"X9lv㸤4 qn0vIP}ё@~\~?:R 'nSI&2X`=#pa 1O=(rB1 J V !x9By= de@?Jtaya8?)usGn9*'r)vBSo׎ƟI~P8'i98p3ӁS@9tCFJ01rsA ~ GJFaL} MjSr@RN=Oey N[[>d$7)oF;A#?Mgl 8=pS[B qLrH?#oO H۸?sg+}O`ǧzKAÞsӆrG灜v O#FF2@?7G:5PZ_Д&z^8f^ c1'!$2JJݿ]>[q>Q@ ~nӀ1qg֬:'sw9$W$;rПnƮ5 bO'W?.OU]98$}+/cH ccޜFy.zg=!fn9<)9^F~hB8#Ü \qq) 9!yުAr8=*pqry=}E\%MnZY*uӓ=19 T?G^rJ9Gs3hx>}G8,N}Ìx{kty!UX[A=8*C󁵾0PO vdpy)~= 8-9Üg#*{p$z #>f7tȥ_']+  F>Z8<|wrrP:+;YFF2y瞽j9m%n0A$7oOsųqW82A<3}.D\(98|`$sL5 7;xk|Ls\:=3? |ry;}95OvzEl۾zd8$I8YGSwaF39>޾y3 tA]09*u4P39$m=*p@;y?WL9t pH@u8=xη_SVpNcA?L 1R:\=9)8VKm5h<`{6WʜgG0s1QbI8d6Gn02{4ߟǯN==(1cٹsKg|99큟td}N9#8S,59z0_N?hs`(F@ gqǽG>꼓g}=$8$@G403pTBFp1 w/[0sI#jkӯ]@28brHy.?i2r$H r$xA{=d6q=#<]}@R4'9gC0pp@OLiw8>柀AIs{f3A{RcGgSڀI` dc O{FOo[wN2Lvz:}ێAӷZ`l 7vێ9t=(x?Z>*28<m.m7zE `|y'$׎恒aqc=x>\s`##N3qvi+s0;g?2zF}{[Ԝ}W;䜓;g9ʠON0 '#*z9?61pGǥ$`=JRWp0O߶y# g֔u` rQ!8=ϯ  Өlx$89 8  u~G($11g2~l~#;?0=Г<{MlrFr=r1NNHByɦ!y##$~MWA { ߥ1v '$s~G{yNOcA 2@iÌc8@ #*[/ݍA<J8^99Qh9CۓN?JC91y:@ leH} Sx9=fF8@<~`zcIǽ<.1}wsFѹ`r)sَ< aC{ӱN-I =@i$mzs_SPYH'8sހcspg9'qO>npǠ#^88~y'=iN1'€:u4gg׎s,v)m-xwa['=S:dLwlu<(gP q?qidgaOl߭;' S~I^:3gZC P9$G!8r{tr8K8> d8L CB2;>I,qϩxlC70N@49'{}0CrTg~4[w*pFXAЌvþ0:1L$drz\~R40z;8җ9<98]z;g= 9_݀K+$3R{DPxlg8 Բ.ݔt,1{zg=8ÁISt/8'/oj@E ~}Olzh|nvN?t8<= 㠩0Fr8s9>8!rzL1Zw' q_~{1B1gqy 8v9b=z߿4q:s^wW8g4؅[r3yߊL`#''z!'GC{{:9} `!לzuޔw~bFrH$ޟ̼qFx擸$q{@ a`^iT'lG@zpF14p81sOjap:g1B_Kʏ89 lPss##$|#:9x$@9N0(zz zs֌p0F!FyrzC>#ր]dpF2{~rCut(ld$`u^ۻ~} 9'?.qz `?9d4^9c'oJRs9A<?=9s^F'Қ[~?NHh& OM0#+vHBGNQN09~4#n3גOn϶~О}I!XtWǜz:i'G 9@r1Q6$@xC{:w9Oi[wˁpp82?S3#Sϧnت!23N~ep??zrt+4KBFsIڬ3zOZdIh8azr'''Hp`a\ҩz~}ic ``zy0sE猜qg9s/О ௯O~4,x;l#'Zd98+rO$; c?xvJP=y~a4rܨ9RFϵ.ssJLd{} s!lN03I30l( {4NrXp>qNv6J1Cd~.Uv/9ܤ8'{ tv󜞄H@h߂y92F Z7} I?{zt MÎ8݌dyȢ֡׌0=^Իbrry4{$ 8$v b l29+ Ey$z]>sASX\O?3 )=Кxo[Ԍwy4\V$mFHssR >d 3ӯb6bz'1pr)a;H 9^.1'ԥ9Itxwa7RF@ldx}iC}ƕ|_@;~vsÞoCx^G9=0R}-@y S͎3:@ry9RH'Cp9㩩 #$? 1|{x=h3A:r>2('۸'۞(cpNp8 z323OONx8q/e::'Q2;ϵ.6vN !p$3j'# Fo΀<8>Ӝ8oq@qqVsLd J9sҁm< i2;L9ziO@6sRhU2y^’I 8! Q$.z}s=4 33(8?PiF=rq'GZHCr;snN~9Q{z op s9|~.F8 6yюJ Hʓ׌ Ч98uc=gI821E@;0@Nq"N9Ke <2IKco`rlA郃xJ1yAniGN8ǹ)# 7'U<߮@< pP)|ۀ}c<ϧp^qt`Hw`x>_rpzgq@v`H' :tH9;FJÃx y'8qx=iݸg|s):qsԀO<J'Np} 8=)GAzsߥxQpA` `LLqGԅq:]dnqی@?'G^0zZipI$NGA3:E \HD ݺ냎 v8 10 'zaCx3#48' ##vqrwcqp@F#B ǯLy8ޞg#qs=Z=Iߎ[1uO3۵<<dh3۱=y8ϧbsژ\g+:}jP@Sį'@ځ1@'(}@<89#B~z+b2MlM :u9rU!p =;I<(S:܌2}<м)<3`7U{o([r;nR9u3Nsy,q=}inN9llq㹦8昄O<A9H7tI$}>8x,?͑qH=3{S99SH1{s@8gO~ '91'\h :#֗$<0v?(c8$râ@w(*~oAR6ӃT\8 ϯo5IbOc9s•v7S'0I `vzJ`8. leN1>$>AG*`Ic r8N)ˌg e  `sR)##ێ:G0p0gE\^BHcҞ8z;O9#ӵ402\v=)Wʹ#9럛?w#lBu9qՈ>u8*sH81pqǶ})9` #' WcpƘ} p0y#鏼=XSBb[%G<͞Ҙ 0GPs)03 h˟By1rbrzq}E'Gb8<0=i<`Jă3>HCJdqNx<֐,l<(8OQP1Xs>}4dQ|9@Álq p{gހ y^4['7@4'M|r d랟&x;{s0;Ҝ|Æ#_㷨GPr@ϧ}:zS fPGG ל=GOzV+/I'&H clr:tӟjHגAO^isUpp<\d 1g?^В{9*1<0'נGzr;0žvғ9 c=RVPr w$1xqOz8HQ 0ma=:4pwt"|=~l`>rpylq}sJ휌UЍb1JC>+? '?t=0pIK!O~*@Î0!qy~tmbHҐЄFy۵FF3׀GpO<pIޠ9@8'+((p8< t ڔ``s'Ѓ(R3OAA\t X=pGQRQH#9 ӏ#qy8<oaŽiT8\\Sdg;׏OΝ; 0{W?/$ 'z\<d׷5[@|7<䜁Ԓ:y`'зB{ $q$~Tca r0⇿WǸՁ3zS̏b3t>X{֚LH۞ FOv9oF9q]H d8xSƂr?7^֔18' 0~\v_$F!A slF}5d6;R ݂2r:( {zR[RX$r=:C!=y zw֜|3dgۊe=.O#֯D+ߨ=9=Glܸ9#<pry I#=OOZ=f9ׯ_zǡ끜y>_K'w=@G|ӳ9`q]P;IqҥU@g׹ɦBN #ߊdpqc5pzYqvc;O\?r޺c g 9ju,98vSz#krL9ב1Q)@[8n'w==oe z|'Rdrn՛8^ n6q~bsV!A 7m#$=zBFÖ$G 3݇LqsA;ϥDc9xK; zq+?zQ#F<~. =s۞} ?+cGsZCEbŹrrNGLϯbaՆxGBO=1u NC|UW.c=IG`FsQ+DRqGS.+ϮwP9r>a>r9c+͟S֥)sOZvFy t#Ysצ1Eh*8WD69juds#<=R}s :v}) @#ldN#%cl ~19 sP0{{`1ϡj}1#؀pqǯRqs~#<ێ(ww0\1=H=xfqlpFs):GSǿL UA F:yG^}&9q(ܓm'x{EN1uǭN9n;gu;N9߯r~jo#} _'vA߷czJHb0Wvx[gOqސ1CLQ|z2qQ/R::uL`g$co \sޛI8#wR: ֘tiNI##ӷz0 0J@>0{c$0wq@ ps4w;v1Dz9\zaqz rO$˟zC\#9?sKu 9퓎)+'q:Ыs^翯'(Hp=CH^/_'q pG}#C(^ۺ0@L>&;|89uFuǀsژx)1ps!@>:G x ֩(\c$=),ԮO@P1@8u:29^)G$~FH98#\X}h3۹?0}ZCNq#w`~rz`800y9#3ܞ@@ 뎔xch [Qۆ39qO\q犑-{F=1?O#/#*8L]^9Twc@ ЏOĚ: bHzp⏗y `:w ݷgc֝qqz{ReKc#GLj23O@'CGQry9#o' a#'ݔCǽ&8wqz<}B8P198'#[=$4;: c~1V |S@#.I<0r{zvӐ/# :1=g\;S@8' u_J:tހ#q[sڜGN7z=hиnIǨ힢[z8ps ǯ@?P9b ?aH7>#I>g`n  0B$3@}:tArFHL: H99 sQs<` ʄ|89r84g?bx2GG1@= #wsߟj\yI 9z\q眎8ahn<ן<S<~x3`{ "@2Ӯh5r @xJRJmx1=נcňSۨ> <`7D b?&yt,;3wgd c9,zӲx#'#gdy<vț\{q֐|19H B:9S>of@by!H`8lɤcORM kqCc apH`G$n+L}yh9i^ipdg?6OݳH$c ``HI {|܎=F{z+)cc==Ҏz @3d1OA·=zi?v2>^9l$tZ@oSӁFz4#=1G>㷵4.>aqv3ӧ/8rv\:Z=3w;y7q;:188>CSwH2(;q1쟽O8GHwc0ӝͻĸMm 8$G֒z7Гvcx=Gb!vprI?{??=zp8昇d{#'vӚ@N鞧zR[h#>yO;8#r=sLS)q.2O^Ͻܞp9ސqzz2` IžJctc3r #90yyzr:vO~9#<`0xӐ:Kr;@ ziH%` s9 :)9t8Gt_#{H=x3qh(ʌ9q~:hLc8 `d n? NC I^ݪJ{c'0DZQ{dmxl:[R '`cH{g>~ ,Lsq֓s089HAlN@h ~_  `g?=)1zsϠl}hЏ'Ԑ:~=GAhi##Aq5|䎤*]xx=(=&q?Y=9cJ=~g.}sE=}פǸ#j@ws>op3Tatc' M9&qx逿37aRfrC psvn8Āv` BqwRn灞g<Q{U&K9? ʜ=G9gn1B=}G?g7\6zN$rI'?_Ǯ)81 NAq4^H023J@G:GG9(tsFA:~TF$ۊ.1y<}ݻ柒1$CΕo%nzzЬ [ q . 򍼑X4gv@s ;㟗opG={nx8zgQpcsDs<9Gqǧ^(tRp=z~s/nHҐИc|Ì8s0;~HI }>4לƞ98']:<郀94Ssuz`4s.A 2:ӌqGsy11ztO'#1 .0A8t \w8鷮1{= b(y80a;yy?H={p b\r:`8{q玧 snʜc$6?Ll1ПU$A`Ii?88䃏N:SFP%!~BvFTw8NبI |sq}=9Nr8Zw|p#rsךp9= q{Ӟ9qGztp{gb9H QNq'?\ӿ8$Rp#^'}1K}T;'LC{v9$K={1N:cށHap0:dO8<7͑9[? >\ғ (9>`=mۦ?Ny0p3P>'y 1hqRlO= wǮ8q @ z L}!Ar?=G(_p)>?,ҌpHC@G.$?<g=nNF;;߭1\$ #L8>J; ?^U"G~\~\;RpzqNv0x<Ϸ4amU.{v:/# 4mRr@R0p=A#|+c t<褮r8=3=A8 ߞܞn=BqFFIzJq\2:\P/1;dtᛁqL2r8qUC@ms?0aRF0A8=q=):˜?ux&H=A`c8>M7;'GpHprA';jNyvX@70#ڥe璧wq|qC&9<`=AeHݞxHH^8ld(N< zAiݣ rOBx03XrR8B`>$d$y-NG@$ޘ\_OCq?S߭3bv8?tR8}-?ڐu9F:bblʓv>iS<0]e{q@w-8>1 L v0~=3=3=j\s s8ӧ H n1 )y@=8#tMSԀ',;s~nOo\)L?.;;sG@9<QO\sžF}~ wv GGSҨqs@ @\c< > &ap8s 9=G#UlH{屐dQԒ0rUQ0GC`rycm}|Cqc9Rbp g9hS1s悆.:dc#JdsÁ@# <㌃2)Nr2CWv~V׎;c"+ f![@8ҤXpq:0{s@xv;ǿ@ JL܎gq Fx?CIm pF;]@5CF\ '1~ wsy gsyG ;w=rGOz˥!Hyx_Ú1[1!:p=;Ty!i8$xqϯm6#O})nK8G@:rء#nv>QT=GIF 'i鵉JrQ ۀ0X{PSL\`ps>th8?KB\du9c֑>zOLl|8r0HcHNv2NA9<u[8'4qH-:s:Ґ-coM*Wx {׎8 +0]džEC恒};T}kOОóAA9<\ Iޙ#MlnO9'Ss=>כ%8*J: gt*[]nLOsN1)ݒ1܂OlR3sޚ8灌8$sa!e\U3R'=xO^rhJA?ONny<ӎ二9?1zv0zg?"`$r2FFAXzݑ=N; s9Ƕ1o֞7g=IсR;æzߏSFy_OB88UuK]X0:VbHlCrNG*Rؼc㟺ǡ#֭~a۟\ui"9r8֭[01x3[Ey+0$$tDPcc߽Purp v?Q'lz4nY#+>az8_n[$ARt>3ET7%) ?tڬ)NsaD_dJ@Ԑ9885>޻ sI\?*ӐFYs@?sZ&CD#'z40B?hmCizS=qxU&g$NNyOۃt#^%տN:Tz |ǡZlbɇ=ϧN G>zkDf-ѾnFn@H=wqc8|֨zpw '*8ۏ֭Q3#:I'!('xޘޗf:beqn:Ԙ^8 __4(9ǎI);#>A"۞FO=i<ϔmc'Gq 8 \4 gp;s@=z֘ 3$={t@$''}=9K\pxǰSup {bß@@1!^cS}3iu?*`?hO /=H>&21y  $s=qFzg?/zc恽dX篨>yǾp8P$+dlc'$󊌑ē3:19dvZvptbʎp>999PtcN Hss=Zi#'$Ay2OF1ޙdzRv\`V9֤]`w䑒I'=xRvvm'qR3C cwpA4 p39<`^J:#CRLsoZx$@Nqxx >oU\ޝӮGP!8e<hs;@~1#f'$ ~ݳBb QNzd@%H8?ҏB ;PrC 9)'\/ NI;7O$JAסpr^tqu$L'$;n~$SvLF:sߍ)9v3קG4wӟRpA{G#=8 tHePsj 69823 Nc#$j9~?LOnpӦ3M$81Oǥ+F~\h3pTaGC$0?SYOnqh0}܀@Od׭+ ryyR 0 yy掻p:I$ކ>cB<?B)`sd[| #xϷ4ϠCo\dQ9 S[w98zz7$c' 1#98o&ۏ?0l|ӯZ9=@IӊxӕAHMqK')?i'#wpFqۧyn+ G߆Ž8zR˴=QN(`Ds:t8ޔ623;F0}#\``IGl򣎇=6ߗNh; s9sN˸q`=NIp)9<#KԜ\qgn:y;q8 qP=9ہw <w@d{yq2ݸ8q8s1ӟ™:B3HN:eRN(Ӓo(#ꧩ su#@ }s’ 949n1ԓnh;O:n3}TlpsqRzݻqϰd8רJq <qh2rzc23'),HNi!#3qۓq(H=tϥ"F0HH=yi{|}3RcaN'Ӄ֎:zGoƐ zu};:*h:qO<#_Ý=:{RessMԶPv9qI u=J:qӯ1s_<ir8@h1wHzv\sHbzzpG{ p'y8u}}\A#ס8cx9VsuA(X8V9߿O=AΪ87H<>i1 }7Qr{r 11tWVy>RW9lq wKD8Г<֌n$r0?T `G2}X i#98 2Rǜ 'c;nsr3ڀq QBp0dT,#c# ۥ;ęNq9~{ QA- c 1Ƿa:Sz㜁awi0?{zqT?( x:cU$}I?x`W4ʎϭPN p=GLTFxn9 OLcc- 7=1:s$zJWsGgnΘe 7q\oqi`'H\@^z=wcPQ\y>٧ XHZfsWb|tx+רA'AϧP9֓q>\E cyO_Ɨ=}בq;8;?ŜONG⾸sқ>w<=y=hd`.sN6{Ɛo9 yR?i-8 ̓c`?1#2qLfNzc>^6;w8)줓XtR]ǞvIp'p=y#SI8'zOH`3㜏7 qdH恢2[;0@#G =Or=i:yq=sqZ@}N? c8;g>Rol$gOWI ,@ K j=㌌ tғ?(R9?΁n#S|cH8ch[99qL6Gw" '$ע;Yq ?.; $ #HHs̊W0ӭ.gsO^F;ۜlmmn$Q{n\sg\,7go_wf䜎:yNxa=OЃljM}x_.p89;qϽ/y=88=.x<9Ӓ=:g&8`4,>R:ђH8Sdqx<Ԏz=0vr ϠlqCab#nqu<79 sRܓQn7z7u`rI$#8'.9 z>aWN}11$*ft#)^#F:sG@vz '=Hq$`8tAH+JPOsR /a@wu+FON<''AgxpqO ?O ~t\6p6z8#(}~c>H7dqRrTd}6ۚpNp P8M&}0;^#9 IxO0C{˕ $}h9n ǡNgG<Ͻa~f~}}qAnhN}8tӧ g4 >)o#ןZLy9#xR489,)9x!N1ړp'oku㎝O~h l9ӥ0{zu mǽ1< <=z7')˟j |'w= Mc<{}֓?mTw=C*[?_JQ}}9>'=$r:~Cq#'zܞ09{hH3qO:/<@q 8?I[h;qq<ցz<}ӆy팀x\i98x^c2z)maOp׭#9#pp2Ib6 =iN2qr =92 ]nj3$۹9#^2 Tێ>w[;Ԣpy$pscCғc'{PT< st?䟪fAIpĂAc4#׊E |<)H xl@qHka 0qwC8ϡ ^pԊLbLn$06HTflݙF'w>Wr*c1n{SU'=%@$3gp<` $wn*Lʎ gp2=q pv'?t\ ec<ǔ>hOΫ] rpTcqҢ;cNW={TĜ>.r@ w)$8ךc?,WH#lz0dw'8 9I8•$aFGCzU t F$gw'Hr rIx`T.c?1Qh-^w#?֘8W~ZN]&$p؃?W0~r9O?1G !G̓Rp?N@2z]|$|1$pxOzs|q#'I M9$O*>zUHxX'9s?Iv3=T!u2q88i7ҩ'\0= 5?S2ItDEFz瑌 5D#'Wؖ 6rN *TR:(9>Jfп1PǹJލ\ '2G$8"=8E 0y\rOCgڢl GON:ܕ~Hn0xv'@t#*Q8<W' r?ʼACtswAkqǸ2gGbǎz>SVwǭf#9[ gӮz}+xKq qW0y'cyg˃leO\ ~|PJ2\rC۞sҥ2]<#Ǝ~Q\Ϸ֞sH$t$~Gx^q|pygwx"X>ߌ8;i2G^@N}:P=Uv8szty'tztdbN'9siO^csA 9zu88ϭ8b[öΧۚyNy78#=:"`~z\8xsAÂ;z[!c3G sZgz^>PNOLPxzPq<` 9zB99Q6pӜduyNKr0:så.FIۂ29Z@#0I'RsO:sHhfc׌<ڛ7O#} zmߦO:R>A\`pOJE՘{ZG? *@_<_󜜞ǧ͌e|H9c[8N$ۦ=9\{o~i#O={ `e#F08d Gq@cr:v4q'q9jCp8 G$ci봃${pTsmR99a)/?uoO|0>Ќ׌bʃqr?.@`N{ޓ?ōF08#nu6v?6c3ڞrY gx41{c qϵ0;'N];`2qquANxϾ<'c~ocl2\qprۆ7Oi0s9'~3'>8!w z7v `=y< {7oU0 ~st>&,:t$G>z' Rq<@ x1=Nl vր9PzQq'Gaϡ߮v39{O<|tA> iǩ1'h9ᱎ\ʞiݷc rO?o`~;'<r~3O?Qא: ]D`dA9$dGPV 78`8,x> wy6:Ap>P:ހGN~ p0A6 J]O<Icueu<NO'4،w{RŨӁOWϠTeNFm98HGNNpH{J pG9qׯ^;ь~@p@'Nx稤8y@ 3؂yny91sr=q@$䑜~Lϭ  z0e ;u<0 =2wkA@6zF98}:s H# 'p4䏽ӎӹ~s (N8Gӎ;yϨ|M`9 p>rpwgP}G >$K`' `t `G#B@93OͅG#;}4.@ qx{ }I82?ǽ7tg47HdsւOڭILst G?Byrs9'lNy%Or80O4m3Xΐzrz N?>$=i݇qzbg$zo~䍧N29 8<ݲ~xܐy'ڀ8=r9_~1xz8.zЀ@21~NI># DǿŒQ^z`4u ?1gN298>|d㠠{9=is9='< tqA#v.z?N~9b;g'Qr`}(.{}i܁׶O{,{vY;Hq| F<xGz2XçÍݍp9:wށ`e'ߏA}ێ֛<3}93@u0䝣ǹ:S@c v-$1錶y<㓜t<{Mv9L #q=/o &n:z<~$qӧltU |=בHr3=O:w?Iӆ4 9J}.A ǶF{z8#y"Ãq #=t~Î=x<3Jds:Ҟ$Nx.Gz pNF68j\G93;ć2Yzv=G~=:Sy°n?ҝqFAONO”Ǹ^Jbs׷$s֜ã*a@ s;Qq4J<LT^=x㎃I铁\d`vj^H=q=hBc 'X8\8L:K 6) 1ӒM4Ȱ'';@#<0#_j=8 9 si;gLgB?ۥEnB'1@$DN6N;qqm<}rN_6݌8h8'XfTy$F߿J\uzB~ @>~ОHޜw-=sʑ.z=d#ԃߎhcB}GCOR;^{ӷ0O#Ot)g瑃zRduzݻhsu@$OH w`q*}ǯzCßB?ԇrO|1=J8$:rH1'=|}(qwydց8#8g?h͓t^:1'A<~r}(=r9Ҽa@p2xr2 EQǵ b2b+qJGdg' wQJ L^{ ug 7xn 0x$r0P89$=~S\$\thӠs=qA=G ߨ{gԙI .:gX&{ǪACF:r3^%}vz:`K*#(lrz:vb|FTr u>R'< !Fr{:@qG9awh;I8?Sҝzq拎1%Nx;>K:1ߡ'ۡ1<ڐ0|Ď_Z.; $/FzLӂOw}QpϮ 9~e]c90񏻞Cnzc\0{}yN n#zNyo^~> Qrsby^7DX.p6Hԑ.6Os~ <A#w޴L$c8ߵ8~xa>Ӯ)߈:u(]D&O'۞xZ~N9c>})嶃$g秥)0 s{ˌ$v<Җ?rx'~ݨ)89A8ORh@8 @(#2A)nڀ+3FxOքөrqyqޝ=sN:zؓҐv>\a4xFd/=iΜ}Q8I>X{Q` qӱ'p’0T 9cxq 2R9M;3$:)`ǹ#<B9 ?0#9Ԛ>`6THV9. $w-va$|!~Sۿoΐ8y`F u ~(8twz9,xǩ|{ԃzz$01t=-۟g֜þG9d_s?pzr=;s@F~c?UNpî㌀mp9F;8!<{ rsu85`@꤀y!2PTrxaӽ!\;<$apw 3'צivy\$9<(>Zr2ryzcX/z!裨89;ئcV:z=4cn=c$ {ҝ< AݟLvM s8<QFFKpywsӥ j?R\11 vt>+輆|N}:HgpCg=:gޤx_lT?¿^2x3#p : CLN?_\~J㟧0Lu<y>i;`y-Pq`!<#Fg1C;N d==}9/88$*tXg1M56F2Ba#cݨ6xH$֋B:cw#''4g p 6;xe@r߽pySc+<܌hSA={c<:9{c^” `3G\=SwvOV=9#/^}iIaׂFst* mIG3G9s78#AdsI'8uhr{qܜ|Ğ;uy=X >z1H*IyJ#@qǾq0cOO@y@`p: 4w# 'u`s(԰m s'>cpg$٦1OL8Qz1gB) 8'Oc4Xs_L '0:|pֆ ~S߆{ PPpA#l (,g8ڠ, HKf~V>3q܎Frey#'EԌ`qߊFrO;AO ~IDy׮G=9&W89jB}#<$r!'$+6{@p=`F瀇F0>csQRWAriǜ =x={1C|@ع@=WGD$d(#jF)ҧ,c!hvlظ;8@@o F}M(`b@`pp4SÕA@4$B$N(;vԐ<88@uwC@qߜc8:sH3یqy<(@3vpFALJw'n eHظ#O֟p/\~DO?7IМG=?Z)yF08={PÑ*qqW'Jos s'*o<}4OA3:u1i0e㝣1QP?CTHjȖ*P9Ͽ*;[#6J@sjgp@ ޶fRDg?OB:f9Î{Z3sMLӮ=kdysrqG12@#=>ʴLšwg$xlA9 '= UM8o=x<{t #R8 92}} 4rA9?qQ('m`<}}({H#!w+pzcg܂y'?S@ Kc8q*$% q\T=Hȸ @M7=ƼwP`\r YX6NwtT9#^eGQث_Г9ڬ(' tp8JnYq{Bp;ִ-їqXQv^ GSs9*J{3]8粃B[R>e9# R'۽mEאzd"d#8rskE ?ZpԹ]4܌scr>S2\#^TyY[$98 V^ >QÏ N?JN!6r6' [v9Ԇ  {uvO)L@Fт~n1=C{8ҁ~G^S '8'&w 9LSة0v}>Q'9'0v:ONzcGZq߮02x'),WҐǖ%N >ǟ˞cOnr)ߓب덧zךAߠ?/v<ԱNnr8'9Gjr {'Ґ8AGR,8e=q-Ӡ3~ʆ`9{g&c999d0=x}CcOnӎx``Azg=X^=i#s7cCq;.IIt sG`#t4p sׂr= @ cӃ;Rq-$t@n8+IsӞH0>_ל^{#ds*2? ,3x$獧֓N`s qsG z;gϰ0#۟3 q{ 1@ St9vAm឴c#888={f~#I8@ pGLsCr6n4sNJRF@8'=?_?2yǽ'qHϿޑ9<PpH>׭0s~Zv~۳{qCz@";GldrCR.N ;#zoqߧnx @@$?(Ozp1r9 ?(ߕ8$(8\>ךa݌/p@>(ܞ۟j_ג89#9Up g;sҜzCd9|~׭G8 >ׁ4/^ t;CF{t^(NG;ihXRy'=:z8aʘ~2Y[hG@wϭ7qߎv%(` <`929q@[#O ~<;Ruo ?&Prs887mri7gp;`秽H88<z:מppu=@Oxׂ3m뜌qIfm<8,:R1 鐽=sC qIґ]#㧽 {ӑ@ :ÜA9 q=sހϦss{zd <y3ОA4}Irx9uzW<46lhfL\G?O^1}G|㯭/?7?sC|#9G#:qL =ؾ siOP1Hp1֨vc$t}1 HA)*O>NAϠ>{'/_; s$;z@ӂ3q' '͏47Fvy*T31ӧsݏQ@sǧQ=8$pA{!ˏ9=s$u Sqs?{ E@)A I>u\矗 (s886:獠Nx=0G 83zR`;@1ӿ8#'y$@N~`Q矧*3?\ݐJpA\v g &1 '߆eKLsJs 78q4Ь?9H<<x ut::>$p8rGˎy$snҝLnߕz`mpqϿZ;#'q0)XQ?#q|]:d A8</#<ړ9<=GcL;qi==A\q;)  ޣ z=(qszr;}3铏g2?^3'Mga:Ԕ73Mq,;dFG{cu ' ҔrҐF 9㏨4bIux=;瞧(tsH\g|sj`9@}OZU׵$?x׎j<펿^I`H;v*Mߏ~qcPo{9=#=u^ I<R܁O;o_:t䞾2:{} }GA뚤!n+=Gn3 7#1~4u זz~< <On( c# 99f GbM Ls8NyR8O:hpH9?7#@jMއ-Oj̚$Bq8gL\x4zr #@Xa-#{$#$޼⋅d8<9~+::7CrڀY<`G#h ߀q/sߥ1 1r}?p2x}A6pOnAL vϾ) -~?N>4GyGL>'*3럠R0猁߆~ipÆ';r8$ dRF#'-i3.9ITdq@=ius#K=G^yۻdt鐠zqzIpFFss؞&8o8'sHNq H^zT 1q sϽqnO960 מz9=G9 p8<i!)2 >G'9){H%˷RR@H8w#i}sQ03s߿>cI=?AHq~Ӳ#z9>rGҚ8w?wӥ3צA?z]peOaǾONb6ob@$s: =2xztϾ3с OW1=*@FL6xqӡFxtǩ|`=9q}(=?!;~4\ 01rN~:I<0lgڔԜ`d?TøqgU=FO>ˊG\u xjw@p>hRĝ;sϥMçA1LHG?7θz|Ke$t *0i+霜g֙$J\/ONn $0F2AZ`ç$QqQ0vy'$ >Qcv[.AǶ8N8ʌu#=r1Ȫ 9YHH?BA?)zsF3A"r2{}9>B;G=Î)-19LF>Jx) r<$UX1@ }}{xs;F7lϽ!Fdr bg2r0qNrx#z愁doO;ՌrzaF8}{qa}gzR{r{ƁÁq=(琧i?H^֟Azۮ;QǒpQU?LR$\qЀNGldcҞ0 q,sO=*B>lrXm?JaFy38z7 pN0n@=O^=:d`u ;N?17|H/o\HA3zrcqH VH|W#rTcfWpx,Ix1@8EӞS49*,qzQGUP:g9=ii:>LtP$pA8Nۍx'1e :lg9ҀCw x1w_Q=>0@SM{gH99gnzgzP9#'oʏL3qP;p *yFFͼ`~V$@@$})17#&F1l` I98|g^F0@930 1;ޛ9=Xp7>c/r1g>=N_H:d88i0]0' 1;~4^pyl.}Gj@Kdm ex8!n~Z^rp{(#sFO=p8/OC`?(`z`aA=c򌁀yޥ2=pxlr\gʐ3z}HH1 3ʎԖ ~`A@ r2x8%tSvNx;~l s@<9=[n˞z~n dr{'8|3=3lmz d/ˏ9ܚ t@yNs&P 0HecNLI霎8ʌs׎IKa8x9SI[K8 : 23TdA#?t\ߝq'a:ݓg<Ԍ <\gTD<7| <08Trl={b0w |x=s@<PGQRO((Bܷʤ :?L pgz]z0rA?7= 蠑N;XXv}7ceu) TmrwdlL1v8ۑI>ɖ\g +9 sғ z@G~9^Kx=}:2I8{ >`y ve'3Oy9G\rw `qSgG8G?ҧs02kTՅqHFNxY4Uwy}ih}h8—azcH/ϰOǵBЉ6>_C $AbO#`=x< ~I= s=S'19pGN@䞠ԙ9 sڏQ 8nA?xan_}8a׌^*6͑a=9׊/mܗH^aJ:p +rTu}aXXI9{uV8}Lt=pN:pq,y8qkDsy mz}*O`x9& N8s?œ?Z"G`}s3G&x2s_W$z jKc~>S89?hd݀RrH' ԠzdQߎֶ'ǭ#j&,rX~O#$scp}qNO>LͭEN2s{ %u'<r:cJ`W qQOS~R':r~/9 uMi.G$}8۞1;1'kҘu>si9=nG?nny}9zVK'oW׊82zշ,DBD}FsJ4_Ir#?z >a}׵(3ۆzHCԜq<)>qRc#*{{߀ 3/CF{1AcӦ89RW/0cpOQ߃P G$gM`2A qszIn`>lcBq"~Rm:}i  rz5&3N09;@~$Tg+7)( @'G#&;{zu׵&y|N>^ǥ7p03/L^? =8=K({a}O(<}H_΂81ԞO$4 ‚{I >|qK g9{AuB6[9s{`{ '=1G yz=(\g >~&:9$A8$9ӿn1ޔy {;:BAI|Zpn瓝Æ9ҩ ۆ:V g&1vxyK ·C<sϧ^)Tc8A}3˖\mc`<_@2B0wcvG$<ހ'8c^NH88;I8'qzz~'6y$p0H8䓜$=֐ PNsrz ҁ'.9^> Jzu?ݹAJoU{r[>( G~q'ppGn1N|܏ځ 'x=;S78H~3QLL_OC4l;p{(^bc7vc=^w1☆㧰J`pspR183_M+A.OO4{}]ӵ81ySǶ(;99#lzd"]# u4!gzHe==sH2sns ܝu>=o > Z;`zet0+Lc0(`ԯ3@'c<HN쀥*=Opa4|\I7{sKn8A)x={y\dmvHwlgzTN^=3@ qzƏӧs,:ww9  : =0{q1RHdr2PNOT%gwS~'!G8OrO->Q-?SGRF`Gs߂CH1!NOsj? |rzu8Ν9=@w$?rJ㎝Osq3ցv#sHڙDa}r_΁~{Б˾ !lc)t(CpGLp{S6=O_RA߮ ^2 n Ox\`A=$rpIQp3e'w:&>^H'=:=N=2xCgz`,8nr*3RG+|ЇwMzq?4N=#۰(olv@1J=~R~G^ǡcn3;qvw`㿶{轆qg?@x?\ 8#}i{z=E Nrr3xn8?N= $pyw r:?xg >㑀q3x#'zW8g4g#0px8=.v9: T|dqԎ`?J@zun0<Ü=)n֋ w;0cҎy (N}?!#{z`~SAHc pF=FhQQ8 2y@C= 0Hݜd @ts8#g^ny 1tu#>=`y@*`8$遃E)rvI5>qRIh I(zy$gGL 1z?9G1gxt>zt@y |"DzМOݸp{7~ڙˀzt.wny'-ߒNNP#WH cX}Nl~t 9}9֜9O's_H\1=.h8#9P21rHz pN9 g #i>:pxF:8R9dF3py tt ŀH9PMIb=,ANԛ93ӹz#$zz挞2Ar; ,2x“}:gښ8?ux{ƒFu\OMnU?ӟ`h8'=xv~b=;0#N=9=OJź'bn1NsE돩zy=G$+I-cN^@c}sޝaNrI'OI=` gv=igpFIGcd{8cցzy1ϧZ]?8g )#1{}hXw'@H䓁9rr=?+8[hb[px\F{qw<Á{`;8#9V#&">y y :0 z~}jLA' ;G=@ O )=pC|mr z]t#;zw4\['=뎹7G=9#=A8ҹH$ /s;FyQ߷P/820=ϧ֙ܐI:#֐䃴;d`ބry:OSOG$;ORz:Ԁݤ: y0 ﻯ)R0 =y<)LM`nیtQHt ÷\>znK?ry }=8-n~hA81s$<nAzHl(}K}~粂8Kq877vh{ <')X; O<{zsRP>ryvDy^Irt{e$!#A{ vr`czC\evu#;8鼞~>}i\i 3/9'q z v{sq׏cz@!99NNp17>y'#AHqBaǦҐ g'Ìwx_0`nA?)뷮'ݎ:$t 99둌K ~Թd|wL7\}{:1Hf1 qH98O2:(>)u=s@#v1cׯa{u| ^ڝ편qҘe?=}RsKtG6g ?h1<i9X4쑌v`珥4)Ͼ֟8uzh;Ɨ=H灂Ib8@L<6O]:A0':zdzӿN@{րF{<M/Ql4<b20GzdI2OOOZ Fx3ӥ8 ^ޘ8c$1x#21M=FGv<=I: b9%IRrm篾GP9G\u=s xy#5 aG᎞'8;TG=_lfyl`uOC BFI#$z 7 M;AjGS]~gz`:H8_SN=E QߎߟZN'qsH<c94Ny n;p 2ݛۥ(A<~R9L8sܜ@',<~d<q K͑};o@㏔󎥇? n:do\p3@!zx\t*Nq2qK{9!xn m˥(W#98%`:t=i6r;S䃷<}1g-ӛ$QL98#>Q^p?)wH8$)x#=iq@qI$ +zs)X8>Ef^^`7^mNO?R$v9 YT3Z\rO~p=~o82X|/$8Hg1ڠhTeq> `T!1;}O'Rzgz8n==) 1#;H>@#`nO8@N}1=i>0Ig#ӵP C`N=7:bR32 ?QǵIz؏֘ aAG\x4mq{?tnlDۦ0@H==1fӀGI\Aa?Ӱ@$p?'i=w8GV=ENcy:SG ~rxH q2:0t=f3S/#׷1)$|q=caR[QN0s9 `:뚠'NВ9Sc |s=?4n?)~?Ozh)sx}{PyœG\) ;0}Nlt9ۯ# c=F>'tfAAO@:uW<`jbĎ~]H(b3AC4[ OqGAӎS;րc=r$~x7 \÷ia%ʌv9P2H?wcs`79x8>h?ﳡ#$zq9=zAhcԓ;Ny$}޻Hqh/9[cGOқTdRO&1kn('{:Ps23rOP!;$mx c94Ѵ99 oJCFӏN:pgaNG$}8{`y;^wɥFy㞸:4 @ ut۷\3Cnq2yespHUO~,s$u@ۃ9:u#^O926}쓜ttrc+JQ?t9{q@#3pI9?(鎸:QN 0[Q:g;Rhz. \O!'b^}wd>#9qAAXz{c4/̼9yuL# I pz:恆prH 9o{Sq`('GyzLG' @88'$ TX{#Im=~t=N}yH\㌒8I`rNF228OmǯtrzqiFm錊i'~\LLh [y #@\NCIP2Ilrp9ySs6힋r$ds3pwax /8qybGy׿F$0w )`rY=YV-=(Q7p8>O~yݞ8?qPd^9i @Rw>ۏ!?{? N=j!$>88{grx9j\wdrs |<^v%I@g?wE @99둎鞔^v$H)0RH9#t"zۛFv3LP p7d6+C] Km?nwr#9Lp?#@>=vKe{`ҐI]bGB>d ld MN2ɐ02+skW}c ~Qm>lwTrLu|ۚRLs^b4X}/ԕ#=)A8;q'q?8zj=''Tc℀cnH7$sߏ&fprdpAS铀y /Ӂ{֚G@Q=:ꀐgoԝpsma<89#AҐMOI oDy9 АXө@ IzǷ}u%H 8Aʃ6xN:{SrI?pFzO(<MhD7Y`Hu?Ɵ+?xw=@_55U2~8Ar:`='< \]id`Iz}p zucAQr@N RA=1b\$z)qnq:Mӯ=n:dds#8dzցy<GxSgI6S!*zWF3569?6[98?^ q 1`=FGcFG6qV(0qNQOG>:`)CqBO':?99E#-sn 3cbq(`h<7sgywd7?zf?yByGN힧׎'#8$מI`zSBy OLO;jvO^FO99ۑC8`vdf99פ.8Ig8a@dds}9M 1p {t9'Ss8KG-1zrǽ6_oUߞkq>˦xlzw$oޏ` $2{vϽrzuN^H'vE3qϨ-@'|`sO\$L{Ѹӌ8{0g Gˁٺd}x 8 =#Gz)9T <18#oH_NI8)ӎ0zdstǵ7'm1u"gԧn0.Kdr ނEޟ+ ߀>nIсb~r猃jC<`d7Ɓ 1:㟽 SLLiϮXgǿx Rۭ1瓞Gq3&;pqqHǯ!GԑԓaOFCv+WFy9=\qA(Nypp8< #9=zP޽8ww<i g$~=}i!ur[szu8$99s.O_N9ֆpHsL'Aw^zqt#=)d?@c6F1ӊ$B=׭S-NN3d{ҏE #gxi prxn =N7c :Iׁ6 c=5@/~xצpjw ~LN#<1БӔOqU 9cC=A"~+vIs`>@W-+tOsڐt889ǵ!>x$pFAy.{A{Pqg'ހgN8Px9Kddq1FvOOҘHNxj:t8s!y#9$t8 w6v1sN뎢I =R+/= cAvv8ߦ3֎OAx=;z怰q܂r2}8Hvz`I8b:O)lO=z֡c=I{g/\`2y878{`?&I<P;{}pêQ/LrH'i szw'P; qsBޝǯda=qیp(#N:z <qG{~i˜A$ q4 9$Ib91L?/'?ێr2/98# z篧z8䌜vԜsN8v[ǧ4r8 N{{S]S3b4 Ob=G52F9@ǟ;瓎៥/'8Nlg=C`xvǷLSS=xr9;P19#p=z NGN'3\<z=)N:00 y($7E䞇 hwn~Ìuh~;@nܷ8  9# 9%FH8?sf}= 0i\gN Rxl$ilG_b83 deOq94gzd9ʰ^:׿>n8]8#Ԁ~9$譟AMCAx`'\8Ns㟧yaVF9n,dg0 E+ A,NqA9~9{RCG@>u=pK:m?0 =3ޑAr>Ssp9ydz}3jYc6~z7iF3?ƥGgQ>?*9铒Fq׏.n=sN?ԙa}iyQN^q'='01'ҝ10<8\MO呌sN?.ztOlwA֔ج8nO|uԮxAy=:g'o4϶G}}qhd&s99:L,=Hv1\qCgs}9I; {1 ct={P+j)== wK:ܽ \v9?t ӯf$y?=NhF&4~Ԇ'=:/{拇@7ݻp :zRd!p>\y GZ쪽 }x֐#'c?OLRGAesXHs'-iInv֋ GҢ@Uz' qgVt8 t:s91hbgLg \`^=:Ɛu8%Qm 0 0' OGLp:Hoo_s{g8> 㪾'z@, G_z81М |) v?N;Tx{cTw0:OFá=iÑ3n=r204<7K2HB >R#:#?=8=qP2#!01JhAG9<I7c t^ #!=9'Rg'}*xwNqpG=s錚Li <8<{dc/_lH;0=Ga9mg?L s?Ӻv,:}GH#Мq9=z҂:UpP q1Ncq׷D=ݻr ; t;q$q1`3qGfgQ|cN$N{F?nM(Gsӡ㎔$fѸcq=x<) tlnz`:K펹0W=}1R88 =v:@c\sOr#ʞ8QĒXsR|ؒA=Hxz'oO8<~< ljaqs:)8vށ GF>JB唌cq<- '9_sM)9 LOQOa=ϥqߎǟS@A,11Ü> 09RwrGOΚODNN|@n y cIv :^M7Onw:y9e[=hbN9C{Iq، 9=NnNF O=ޣ\wqIq$N; O =hd;/F x'6;}zgHB#vA^5!]ԃ9b8c@ TNs1\@M8SOA} }N@$nOlwK\,G9ҐOAcޔ0p=3 ǯQӥ.r23d 9N@8q/|Ry#+I 8\֐ Hp,K;`_Cq)V0KWG\NM.JpOB1x!ك|ppzp)[$Ӹԏ}ҮG,w\Rt`qБnGOBO1rzdwR$( $3\dp8HNH$|㡩`'$m^3MÆ$i96mc篨4Wڹ$ոzc+2O;q 8#)tRc_ӌ8{ܚNy^ ALccPЧl7/=r1}ǡ)  {㧮qRu!xV3J"?UF;qz~='i$9oǰKܡ  _\sҐan`;cHhF dw8rq'OHA^xs҆Pˌ3~p)>9 @=8#$s0gԀw#$p`>d?: Ǡp |.I cg~j!r@Nr Aʞ~ 'is构:֯ЂMԐBc^FWI9c<T]$)w_{uTlx$z޶%08n21_G<늤O{N:c)_]px@)qd1D}9c=Ɵpzd#׹ =scҭ8ְ! <?F[ ddsq18ڿ61d-Z80;3v^ ۞qTh2N1IUG36K(9Sr8Sbd|=9xy=I?/V4#%Ww^,=uG8qO=>Rb}۵1S;/q __ǧ>`8,'$. ~| HT͍ndJPH?ҰgܟwLӚzǡFz;W=><'v&lɻd9H$rx5EPߟJ?m͜ЍۓZF|$We>ǟQYy83=*SsyOųm+|0F (Gp5$#ʹ#5BK186Ϟ5m˓!`pCg'^SxHų ^ I. csWa8y;[Q,|ټPc[iDς~e ۰utIf3>l$88o*f!` [ćҠk+Hf*ݻʧ Ctd:(ѤU;@,Ǯp+ |Edʏ/F^Q0;OYz0GL{}oz_3&+yHV H:1*ҷl9zd54֏` |'=T#9 dǫd$0:.ҕ[㏔`=ǷCqu92:{m=q׭HϨ'$篯CHR2zc~GAښ s@鑟\z炤䞠E : nރhbIq֗Fqsx21@眐 ӓ(qG$L`H87;tΜzC(0xO~8Iz}OjBC-OzfN;󜂼֎ u#sNӰMځ~@7o| / I899q@mǮ0yžǿLҁm^}Tc@ ;98 j#Kʶ9;rOeRg=<),'K9<ݓO>ӻuG>tsJ9ۀ(Cg#A$#:Hbt|ϩ## =h$=pI_LTY#|x#I r;g 49$?,}iw䁜?*2sݜL $H!vO8!TqГ1~5blq+A 'Аz r{sar88i';FFpA 8O_jNN3}@L]G`cԸ06A>b8hBa~,OLלi1A=F=hU<7S'8S|`8'NHۀE<=n5lcx/# g1r){9'}0ZߘǰRN ?9ܜӮ %8C@$mt'Jn;$r>9$p1Ќ(;cҗ'|=3w`pN wO'?.;'=8J`Hy8Frx#Zwsu9sq 29 sgL9Fd C݀r1`0I; \x#z.:*h@9a>I=#<~?D&yBvL2y9xa 0y9g7 Gc'Q= L`vs?I`qCT?:R٠ 'xl: @8<h93䑀7c49#IﴎF3HsS[}ib@q 0N0O;Iu{Se zq406q1wln⎙F98X~P1px#9' z۷h9,n;is<􃑐y3y9?7Su:(9dǦ{:`7pxyqN9lmz'Fq{y!#ϰQ=OBܑ0x<^z9ǡ8^XJ9>Ӓi1h<$1LCpN?#<3_Q#=:)G; YN=z@9'<xP}2sMc@у^is`#8<Sm$=zDu#zaFzu>OA09L7x 9=\t 0FFv?.zg擌 *N~~{z<ʆ>Rr3ws)1^{~Iq99>CHqFOz< ch|zdX>z|Ĝg?˭"霌zONLn8##'<#2s'qj. ӊ  EDFУ3pxI.{ޜ{zR12xSr0 7O/;H88 Ŏ#zPn]9K03w c1 ?0B{ ;8/L Ϡ3;gQN#qH=8Xr:zRr:x$t vi .88NM> 9Gqn?LFN0R=yp:q)9<`d4c P{} y bzcGu1ӊ\w97 dN9 z{:㌯Pv>aЌcW8=AsH(psyzgn9b4sS皖U<ϥ'ӯQҰ3o8?_x44{sz@?<縣O'8=i\sӾzdQcONP?.Ï8/9ӌ8QQ}@連Oz  vH}/OOǿ4gqy?JL= n;ƓwmNCR <>/3pvxd~gSI=>;>G׊3zc ,qCnzzޝ.zt=s?ɣwМ瑐sh$3J.MORzd~rwh~q 翮JOV;OB j3hg_ʜ=zd/C뚻?w8w?)ʌzLg}S8r;KzB'~{*Mx*qϧ=:=9Gc}hX7`{qsMqPFG\񞦨g`1cڑ8rN?\X?)&NT<#{SV>'b>m3#֐}ќ;ʝ p91}qӷ9XG=u0ϩm u9${p +ЙI'ג̸o#hN[A6 <q-ׯ| .+jr[z}*M q'. d c9=~øe {8';`qޓ<{P^HxF:SIXbƏt8=NGERO'*{zӻB^:~Fbp0H9 zRq=1:Žy90pOCǵ?\'=:zg==>^\9I߾y 8\<&8# ?0$pI398&9s2:U! ݇|`uy8s$G@Z C9SpCdЂ8?S Fޜ}OJ}@8caڝ^Fc?(@71^O\vaO<9'$`p~8rON06=4p0F/_cށ1sש^38>u#<`(38$ Br2 䂹8jvsdcќT6Wn;u@ .:?hA,Nrs03@=<ь]ރvxƐqWS9MK{qn=y=pH{.>޴l$g><_xC3GpϮpLg[q?qҐBG@߯#v9QKqp'>M6#wܼnr}Oc{#ڀC1q L8bN=Z@鑅<R}F:ٷ#qR aB0@\uwt?L }Ga+=1ڜ)' Ӷzb~3.0xq9l{8N8'{=88$&x w~_CLx8@ϷsGER02q܃12n㎣4|I94Ԯscig{n{'Îހ`}9zܓ1r1(ጁn\ϩPA''<}1֔`py8I8\sATuSON3r~SA @'F1;yo_@*wHNzQwq;`09>8'qqQt:|u5J*x~48lg_;  pq厴 _Nv0GAMH# AzsP$1WH$d090pN=;sځ0w}Jz=WG(ct^=aڗhTd`c zLq:BOJNþ:b0rOV yMpsy<pns1rA'ONH3~$~RҠ)xPr#}*{Qr: w4Az N8^6`s}H- uP/1 /@}Go@*XƞFKʓA[=qNN`䁞0rE 3do98ZL09c?(=3O]x0<}ݩa`F@y;AHsdpp!#:G3|UUOwY@ +q!qzS;pXnpFFO=q*XN@#h\0@ ~< p*L} #co6x!x#c)>*I:s?ҤB'T0'9tI |9< {S:`2TBy㿶=(ed*O )zzԽ$Lp@QӓN~nyx9cham_%vԑJvCn8P1?0$ o0 ;d dΐ ն 88T +ܬ:Ga2h?|vRxH2n@ tj^`Jp$7O;J@ f@ 'x'Q''*3:c"zBv8~ m#~y]q|ë('=?\pǃHpA%@ BT=\* `:in ``'`vQӷjURCw:|[~'۷*;`g7=3eTS FBT*`ԑ_/(|s8h#(rs9Z\W sA>5*}+yr8Ni R0I9#܎)5 2<ҫm#K[&7s3v9v@Z|D7uJ̬H8<؁*ggzdH\gq= r`GM `~TlrП^1tH8B)껰s_Np?(H<z}Dp9'94841=1=ON{zծzҩ?D4ZMqSs9=9bDA9@Ǯ*U%@}PB1[@Ō8'3GLcukq1? P3x s[I.8HZ<~bz8jA|CZM)<8Rǜc׭ZfMdg<7?J7q#``q߭ja`ϯ#v H0@f qzԨCQO]vkXr#B71X_/\g6W6@9S Is&׭'z;{X y! Xn偌8Aydrp1`vV;A ǠQT&\):.CT5#Fy$EaߺI(/{?*0|g8\8]KY㍄ Nx}=ڕQ 7+2}/1\ɣa"rvc#䞵#(oc$dxGX=28==ԭ8 ^I0qhVF'8`9rǵ<sg󁟦(%u$16}lIsH  2ןZv}FstÞ3zP P0wyl=4wP3=T Fo's'ғ=@МtO?z\dΏH9RGlԆ'4@+qޘ OT mM `=i7ϮLBy/'\ܞ#=};Qӌ8=)PFq#ݖs}igAO 9NFIss8C8s#jD'`r}= 1 }}(@3׷Ld!nNCpI J&N@0<^F 88{BaA9>~!`r3߷^@ N:2xcǿ8d1>.Gypyw#i?dN ' ӭoC8ʜzyAhΓ>\u}~g= ~) M#o9=>i z m\w_n {=94rÌuϩPݠ$QIt6q' @^A 0 8H䃀H_&z2F x$9!*za8)@'s@8ݩá#8dI힘`dc9:Q'c8~T-B=q^PQs=G>L0AݎAcӸ'd恱çsp޹=3<Ncށ ?.N9sӞpssh<͌ izazdvjU9d9_" VF:c'=LIw;b2L;'#.38#~B71:}Ih8+<~t=:p~4:̹v~%r:p߮8X =sɡ`qԱ#-N;P㜎qP.9Xrr289@ךh93H A1Lp#%A7ԌI9 6s=i>Y=~lRtsyG?s˧-gւy}} @T`O`0yǵϦ9I$c#hcx:094Ϟ)QПnj@ 'o<ӯ#{җ'󝼀84QHBs[o8a#GAߥ$<O?J3!6>b1}9z}Fzq-~zqϯ?wnIϩy^9;G|@ЂKtj.ryxRL>#=yN6 n }~0#8<1Xzr;R`r?q錌v< gOlڅ$<S܎3cbdvN;~alxǧ4L\OQN:=90: }h]D#: r=;3Np006z}}?@ Hq،xAsIPqsm^8#( qϯ?JH? g@I}={c'*0 9 F8~8pq `21FNIqGA9:ڂw0Oojvv$c9,OJLp[{N 9hg8_pz}O>;R:cPϘa2HLh;qOoƐH9=?FAuQv䓸dp>Lw@'גF#@NOA{#3=Rx;wJw#ܞ=)0zhG=3OO^@#?^Hwe>?8cCZd4v#Ў9mv~c'u'r0zc*b 8}:1o@:vQ'=ҐqztFw6Fpwg1gvttϦ=tKd ~TtC=#z~i:qw<߭ i'؃קP9ҌcwҦ#ێ~=xs3Ԭ1I2xz)44E $dcڀ9秿3PS<<Ldu r?:Rd\zt3x CzfCғE!1؎?\wxny#Ǡ$v>t;4cϷ y&; qg.O^aP1M2lI),=`@wz7w^q4<8qpp}zKuQcS6};~89ZxcB;󑎙c$0?'(p0W9:gP6ʐ:vtAp`"8 ݌( 㷭1X q\+|JN$3yNG4Cyr}?#s&[^O=c#MLg'{R&0{w}qvSp:uF{bAdGZ.+ APO¯p``AV#-0O@shOP[vs߱XoAԂ qڛH$cq{wR rTw8P)wr8}4 A`s9=;~9>ҝ!Icy€ON,:8 OLjW 't88q]-=~ǥ+s16$n?>*F'.\ӸX<@ ' /Z3tnl}F9N6=;לIqsqEzNǿM'$}<8+1{>n< =)!C9N}JLxm=8q?@?i9ڼc^% gdqsҘ gLd&1`u3:sڤ'# t瞝A#8jJo<Ӟzуa9<t#cp3k~L}}G3/9xNJcb~cHrz8q)Ϯ($2 ç^Tw2x0qΘ sX<<$qt`A CӮE3N =FGr$P>7:>g☞G9o=fǶ@\ 9>Pc9drs ;~T*rHyߧM! crܞ0{ ax\qp}:^Fz{sCs1p޹$1HFclv}It?40~sSwnQxci'AEn&7;t8?11п@pn > d89ϵQ#uu ֔}ݾ =Їrl6;dZ9# z^iɶ/t}x_rF}A*U!#9lx<xJ<N8^11?$ sOuS+csz@Wz?iv :nПLpvz/$y8+Ƕi:}p@u`xqO#qڙ2x<ӑʐILc^3 }rNG=J:A'+׎~\_Ҁs0W|gr~ r1(#h6n<< =JRQd z('!ztzpzsA㞻HWӟOF2v7;sL.AsNq1~184rzppTsc^zt4 pv O ;bA^Þ1ڥ- *:z #ۜs_Zp~NqO*zr)2ss 1=sLC{'#=0`v8n8(q7~?J^x{7﷩3ޟ:dze`~}ߗ9z8d/ s3@ <999pCdtGPS(끜}Q L}ё'Ҕ0-0W~==0$֚=8Ü>v@!J=8xiNOBGC2q98=RRr;xN~b808H%Gp397s5 dXFFFA{\Hߊ@ NrK~]H0W!$q@ǐN08 ێUߐ:sRP0i㪎9FkqJ_ n19#O$L8m<ғVdMlci#nG$u vߔɌ tcLSAmma߷L VC pqݣ`~4쒫v={ > yg=@8gk 'ԝrT3͜>|cY89nxJ Nڢ n8lǃU9G<v'ӽh-;U=vnSʑ d҆F21q? b,rwsCv)/CE&S a#9cx9; ,Rzm#}鎕P8e\cf֫Fǡ0G\`O8#S-LP98 .34x }N8DZҡ/NdzL6CJOFP8l cH bX q)ۜ,q}9V~;~ I= s|i5&q-˞7HWCزv7;2Tɻ#zw#6\ 083U('{L;VInKm$r@^ *T qyV&YV};-nrtϭihg"d@O] dA<V1}G/8axz?GlUHz o}j6iuID0/8+<\my$=:։~vz['q9OӠc9 s;'Ѳzzr:OƓeɓЃX$%UWfu{c&z#:=>L$z;L:{dΙ~R^Wy?[D4󭨣p8UL;b,y'5ɕ;l$.@u<:J}wS`0e9ҧF~%=pK!T '-=$rH-"$30\p9zo-E^VRݘIX1#'7dq28_'TR8:VkOy!匘9_L7)nW/\@fi\ 8ߒ'#ylx=矗k#9nB{czTQ$s.p X~;ݏJgg(ʎRBe#}}hlFnL!(09 c&[ mR] #/9$qJSq{aΚC߼3◇ffhH<`rOZþ12]= gMVAꦺ-[9Pm px+ k2M#ym'v?tvzlzjɧOH\nwiZӌ5ԦiU$`n{{g='##8$pzdYu:FNG  8͍ǜ169nTt'Jq`FԜq@!9$R1J>lӨ۠ImSރˎA<S{03FX;8c p {v h<>is=qsҁ yzp'p<y83@$0~m9=0Tcn36N%#Jx>qu݌`:Nc$ m7 ,I>@=0{py'3Xr0Ε5㞸<{ 9wA ׯ<{R޹) 7cӮN{Sr9$_ӥ;=qH$8JL a 1g 7;~vL7=ONi0d`}?4688:?iג~lsހ 0;y#slon?.h '0p2I1|ӑ#q!:qސu䜌gs=;PK%|;co:Gs{lR;;A8am'=}KA<1#y(oct^㓎x0ONLۏSϡ8Ӹ@## 799\zǯ\s@l~r:aXcRdg89;x\4a`zv_{bqϩ:3c'>{ ^#2FpAqךP2{6y_AGP@Η`?7Qx g;1x=Ϸ\bq~9< ïH? c@q~Z`p 9' HzmN6oQ)݁ Nsz}( c1@)ϩ\pI$}83< y==K>E7o3<{{R8~8'$c??Γcs=:x=zO8=#ޑ@p:~in1Ґ\ Nz?SѦמ9ϯixp:}3P3;~zⓩ;v(׎'Kǽ4nSq\楍u>w8yM!pL'Q\ǯ:u?SN?MA3׾*PA<>\ˀ`w#Ӳs/ns8&+=H8~c~oLch 'Ozz)LJdؐ181^ޔ,89DzzGO8'z`*KCߧ86xP9I94+ <#Jyn3g + $Ѓjw sI<H#K۰;*$ 89N9v>2O:R$>a9H QӧNwsf7$d׌gzzqR H\ 8ӸX:uFpHΎpppNs ᳎xǰzJ8 |wmF2yn4suWo^ c4UAc#:4ێJ xa2,I$?Bh<{{\\sqx2N1 @y#7u88n}xBnB}:ぜz?†pw}=<dtsw:`8t>Թ󌃟׊ '͜X? }Ash0-r#:g7wouKc=>t8hnrpyxr=;P;=<۟ʎy\ {\w1H;R ǧFxG<08qm❌z}y0ӧ֑"q?~Jdc?~byOJ6r~ABzA=!9Non JC8p:@ا2)szҞ݁돽\>F6du ~c#lsLH{v=Gjq$03۞`zp1~tS㟡#@8lUޚ ׷yN<ϯr.AS9#?HCzzcC: J=Czru qIqzR v0@wG' :G`9^Gn {gz 2x^ xAhveCNϦ:0qp;pߡ#HB x.09og$t; '  #۞p~zƟRE[*LM{V8qN?A9qo\댂1Q`A89^b8,v|XWvz3ǽ4t?|c$3,1cҜ^G9ӂi4+q23B8$g8=z}xN߰88<GI@rq$9MA~S;n ෱Anj\ք`'F$֤cלH9`a'F \G#(<8$)sR8yM s۱\nPx<:\Pic~UN@<.;{q돗a$w=@!moQ}s@<@uzoZ]F(܅vG7gۉ dp2y\dw=ҞGLcv/Ryzv l|=Tc pryw}:0\A;{׷O^@=2q>n0I91ۨI^@:sʜ|Op?w7L(s:c< `q=a*О 89#,z9}ȤHG q_F(#O=4FO@8= {;sp0<tz)Xcq`7ߌ{rir z(OS:BC_ϧZ^ }r}=sC d vcޠ }rvwtR 0ze;c 3ӊLd0Hlu=H}~f8q;~ʝ*{gހ#=G#<|śzNC@۸AH!ЩqN>n9('}x`.ԇ 0{}l1ǧ3pۯ͐O&u9\=1?J7) @<}}h,0S y3 <ݎ#>s8t)o'9s'?8H=7coAӓSGHpN@@zpH{u?Tôgw 9ۚId!r0Ͻ4qn%z8\@!9QA2x$\n88sF;G~nwP Aqtܼ'r$P5$2)*HB9%CxcՇ~3n1z ѓ@:&/C<ۜ}8 dcwfKPq@y'$t#jp$[3#n@W~z? v'< NE Vr:T}Rn eT=(`Ϝ7㓏ju93Wv5/@ ǯ^qH͒8#ɩ0BfU[%c |Nr@;Шr͸*ǿ_$&1=&{tw퓜8TMxR Uv瑻< b# Aq>[}[3Sѱҡ8c>K_dX$>;,x9ڥcDl\`#Ңl G."}Od HpyH@r~aa'hvv9`L~z|rϡ{/͐Ar?–A@䞜 Ӟ/LA t鎙;V2g`t> u8$ct#'>>cNlq@5D=OJ3UICch ۾?Z7wP;cFpO=qV3hp=ϦA#=)7c3Ͽ}D('Ay `}xAZ&CCFN83{ѐF:mqKB :q3 'N0q6Ex^NGɬy䏧JtR{zz;5yy~z-Ќ6pԞ9u=+o"v9'#8? Џ<:c[.Ե۞}0x\涥cMˀbw)lI=kˣvyNT#|M 6߸H>P!HRŶ* 7q-oA꧱#8゠s^yHK h :8!2C@JlrN8[L· 'i:R[ܛ\45oȪp(;׹hB?/$&xaӺ/'qjzmtғ3\g$s88 9~4=c8<G, =Oz:t= sS89럯#<d9p/JnXc?I#~)H9'ʐ02' ^x HRGL:w'q=_ΐ,9`Gp:})c#Gߧ4 7z~vq goH9$ssR@◌s+y4 @09'?_HA{n9{Rg'q9#@ 8vwzPRvHc gN1'֓u@zS,2sךqTv| qWR!pNӒIA~Ddp@ c8>zmnFu Lr3r1=8d g^znpnzO|m c8=1x 6:OCxF=G8aǭG<F{1KPq/Lz0rgPh*;rsu2p{Fsq랔w3~x#ッLAy߶2=pz?.(0>bz6v09C9p:>'C{:|@&Ctzr11=r: c9]pێBN{3R.R0$9ؤ26>L I lӷ5< rxs!œg 1=;/u=OC^NpA{:ӳ208qqwxӹi 鞜8OQN;1f;8<0Ğ #H$`#:<88ڙ3X ۺ`ЀnB102}drO<O*^:Js,2p} `'0A*}GS22GEc0N铷Ӟ.yT=haׁY*:p=zw $(%Nz -}ڤ:=pH$q;q}@C^zc sySV!!=rs~Oz{gz =w8ʒ>ө=9' z:dʠ&0-q9; N@1zx<$O@Є9aӨyϱ L{~c rpa?zL\t!A {˜P4$A>x=OrDZ$cK +8sGSFGbH=;@<869zx@1waI^Cx{X 9y à8p#ޔU;w Mߏ֐',8GLv 4Pw >9==3H 3{p {3?99}h1=᎔{aG>c'u9zz/=1;t-7׎Ըy;{s@F3=2?a8 }y?niH `q Aw8vyOnh\ttqOF'+szFs3|sLGu0VϿ;w?/n2H%R=O?N=:S6N?7O?.4[ ;I<`ALҽyO@1$\ d'?iJ?/ϥ[RݎA0~3ר @gO=qO;Tc 3#@ $ ~#=~p3sנ=ێ>1@GN F?Nq'/B1sޚ g8n9=KN7~1HA}7F3}if0sx'_~OZq88#>4۳LF2:ǮyϠ7NzsʞpOց眂 ==8 #80q9#sJ@vzL#g{19bs8'֛P O?*R#`28>Cu힟Z3Kᑌ`{zfCHcBr? 9GJ 20}sצ1)8ߌ9,cqǸ~~|øר@Mz`=)/~=a'nP9죰㩤րp@ק9t920?ҀtEʑ?/a{Re!׿S{8Ac3ۓs4{{ѓך@u#&~OZ=E }z 0ێ{]49PG9ϩR4(8978ҷ6.;=$utsQW #JE\~t4Г ߞr3j-Cc槌g^;Qa =>۞)qA=ҋo^8{^;ޏw`FGQ$r/›9CCn u9ޜTq=|{cҧˌ`{s;jo-ps=u='?&pn_n1N7=q>R@ Aւ=O'vB@I\ӔO_^4{!9,}O1~0#Ssׯs=OB2݈t38`1zgzs![9Qx=sqh )0-֜F '= {PϷ<۰vH'(1~b9ԜQ:Xu1 A0F܂{uv;r\vǰ4zySvAGr 8 w P!rF3>A׷=lc$u7ۧ\9#9xuN})޽'8OxCz>NOnN81(;M9?#=N0I>aI'vxcN9A:3ہӔy錏sӏi8>#;'H2O<||> zOzO'c'1{g#rv8@sHscgcƬ\!'(x>b㑓O|p@rvp1rP):v3Ua\v:r'jv==7'#-$p=)7p6vON @\v 893?\`ug(9IPX\@O]Ni\r;J`Ls<V*rKx?u'.GCAN$cSs{>Qׯ\cs^zg=sM}˒>S9g9GR:zfy$-0<3ϵ;v FqC@2 #{PGcr02 (1vܹnq',N9{Jl3qJ9$1mny~(}FxHR }׵ HnNrr8@Tqg$q= 3M۷pu!}}?LCgA9^ノ1n0F<9'qKv@$@I dubX :oBI鞔0PV?w~O$ J(luWz{I#:{P pNKgϿ*@Wl@ 9ݜ~n98 C?9?i#p}($3Gz{C2?8ϰ4™A=>62 Pq߿Aœ‚xnqOT[F9/GAq}&Is)?s:g#8}9u^8恆U~I7?,LЂ[gP1}@'#׃R2w7o sRy\9|p>?*oО=F1ϡ`>Jvr8'x#ҤF;}8)8_leHr H13žs ֜ tnzd 2H~ϊg~H74/;Aק4=0PXgoʀpYX]Yا'ʹ4v0 ?TR`dt,sn (p=p:'*CWy?ʾa~ُʅ^G͜cABrF_*̙U'Gl`3Nps櫧Ȓr'cCf;pz%Xtt<=h+!$n<r#4dIscGn2 dcU$q1cҬ'zu5"q'<:2L9}}kX3ŏ'p^[1㍭M9{7q+9lV8z<˞aO vuL˱n3x?=oTM0->G(l~88 ֪LV&˜qB#~2w{s+;xV)p:'ʌ~5/!oMiNzc@^5)H͑ ngr@$9d0wrOOX-ZNmQùkdssz?RD CF Xjz+&#s.d|٤XD9x5d@^]cV9߯51y+M3|<+gy"(2mڀ 'CWJKDAyy={be?6!NNCVLgex֞npnr2{Ni?C.@rp뷷z;rGq9<_1v~_ Q۟J\|]<9`w\ژ"%E h݌ץ)\IϷ\s/&ueNq^]7H;I]4ei# ѺgZ~b |ktrrH%rw b>[x5o|_2fVc`'K_ierźyݵ֍V}HQ$sg*bkPUdw$ecpGҼ e.Y^j}.<-q v6AnHN}2F9cڸNFr2@gf3$u=h'q1w[昀gܐsSQw#13О=2ipLP cQNr;|\R iV';IeN czF`e9PN3߰m\/“ zrs:G\q=:Ҏǂ@@ " y}x8#funp}pG֙ħ3 3ϨN(`yzs2U=8OZ(2@QrKt<1O3<|ޙj=2~s\`Lmq)ӯ<~zA:ss֛q$pIs4y's%Fy?N~) ض{vG^~`}i#\AR Ϸr1sqzry' `r2ss\rsCԱLgs?3O2FqN:wCGT񑜒W=>s'?7$T$t|Rz-<~H'?18Fr}~R@?rq3Hho<䌏_^9 㞇>Ha Ԓy3:8-~\1FvW#sjzdgÐW?sRѦ=>2 d?.in#[;'='X{PCpN0;wHrsrx*Qa;c<< sAAP<{{) #o׎~udzuǎh3QsCO=Ќr9q .Fsgր+zcw~)xS_=}(xǿ9oz9XP;r87FgMxA=^(vl0 R{?^Cz9Ԝfp3hs$r<84_@O秧9ϸO94v`)?AT _p8y8:`q}0Izǰ>A@$'sz;נp3쎘= =1sv}v8c~lS$N>z}9$9}hx' hR-\I8>4tsb~c~PO*hנ,9DZr}8H{`zsyInצ\⧂9+AG=y瞔\,0K$wNs+ڿ{6Oܑ#^qېNH}@ힽjoC9ܞ8*z:p1N#=}gGH}98s<`zPD#@sxsҎp uh(2݇ʹ~4FO֐B:0 q:QnFP :ؤ76pW'=h=9ߒA=h8__7xr p=N(<N:;dOǷ\~t3=qJF9 @"F~Ӿr7ǡ=9;2O2s>zL9 {ӽ7$ s? @2FrprO;q@ r{6>qAFzg_j9I0}93Cʓ8; pH:^gvFxasLwBs}:dsFS$m?e9nx*G|;8`fy}2}T;sǩ'G"<8P;H랙Jp>b;=>'= 9+㌚vzc''AӞENp?; cO1:w҄a$dc01z8SN=(q+$8c0IF8Ss^xdNz)7~gvWyaJ^>NMO_uR9L- :Us_zc$q=<9i~_e gw'8Pc*GNx9=lq :yg q)^z{A9q:fuc,'=0;qLDF1@H[Qx- N>qߡ昄agOzO8pzLNJmź9ޔ'n89 g8#קOy:`nnsQ}I,6s7lzSw|0 >Q؎O^sJcq)0G˜cOƞ;Iǽޠt$azS3z}1gJh,۞(HӑǨ\MW=rHӟ˜{ X),<68;3iAcHÞܣӞ*M};8AI x :xY=hPUN{/ӎ|dJ{tu` 8X><}(ps꣜cbF1ӎRc9GoV(cW$c?Bi1׾,vli%r~s0qzN=) xqzu9c#[ӰǷ9?1 :H\c?+\~' 8sri?0[sg:: {R63׌{`pzgݜc2zcF(zwLӶ錁<~tX10zp2qאǠ_\9y񑎇7=y󜎣=)X#8 ylgN={܏ցǧR}0ix^=s~4۱֘ {} 2}pG>C0A]sb@4\ss0:ӆsKgpGoBG sx֓wg`(!ܰ9o|~HF:c;r:=AH;A ǩa8>S8߿Jғ#Oסx8sI`OAc2G wv?{y;IS1Kg9#9oN)pg#:7u'ퟧZ xy9'>-n9O<c݇nz`RX=zt u÷<hTrNFN\܍ T*gb1~b}Gp}ۨnNO@rF1Aǧ_zh͏PO8~oy#ߥ83EA-|ա1;NǿOs׎Jwqrs׿Ni} Ѝ0 ''N^ǟz@r>)R9^2? Sq?.qL z$矼Oۭ4}2@cZhݽ)q˷1u/Ustǥ a?Nn9I,ӸǡӋ9q#RzN{:S$?z>ۈjo\rCӑS>éP0 `z4Kr=98<3A9wsҜF@I'*?zzwȠ1|:;?*gi>rq>Kpßn?.Ɓ1N1'q!$AʕgjeFsN$(6s4`yG :8>by׏ZcBq 㑒qn鷅g7@Ч ӯȻ3TvH8>'NH8$aJi_r9yqF/pp;r~a&08N0B'ץ.CH P}w pI=3sH:3نܜ93)s eyr;x!b|9Q@wa'h>ydd1nNGZ@'Y'('`RIۃ8`5` X4c1czG ' ˀ zzv>C`8_;m6? _1㓑jzFy2 N=hbv2vC{P43@c<{rHTy8Hd _ǵ3m#0Cqɠ*gbqct3 wN\T 2I$12ItW9$Aȡ5HŰrzzsGsӆ⥌ixߕ59㱦 H1۶z4:sgG?6y1Q+`rsg pycw7).zO ^[W^ zuQˌ ^7l &1H8yܓϨLjCz~nNw G&$ 7dOZ@P[*FGng41yG dOz@8;Xw QK *2Cݟ|ʜ7t>;6$`qM`;^xaMt=qNqh{!8p.rda drsSg?|{_L~z  =};{߽y6p=?d6NRqu<Sqypsߚ^* vTtMǨiinl#^?ތr??⾤'1cPxʆԤ.?5Ux<=i8mQm#;7UHUcpI?e- V# `pNI=`tmjkpvpGu}魴@#n~a߽@U)ʝ?鑑8$ql󃓜gS"c8#s;q{U/Q#<:fԑo?$`ߠ 4Qsd¨;G =1S+`dG$c=_Қ3:r+;`d{Uuܟ~U;H!HvzQ'>Z?G<^Bzgqjh]ٙo<gM\wҚz瀹w=ўHM+<|󍫎G ?/9sBbh2͌q=sQrI<*o?9|rX>޿ZzV%W}1ڔ OR;&CD>^={9B @0####8%" 8-ZΙg**jr crx @,O'Fz?yuwgCE`c;S.(!`rHG[ش@N{8_nO9N~V kǑ휃=OymӉg'p'vepvc q^W-sh]' ΦFtmc9dv}\Mܞk v<`P+ϖ䳱\ܖsAMg yq  ]pzJQeN NKtqH7:d`Fc!I%rzӚr#8%KFA<'% rO#Pr,>`06 q۸bl'D_3%v(y=}iہhWW ~`D eT#>*Y3ݔ w>7nAA ooquc$cG%pyoj3=C?Յ:eOB{M,GDQmwV׭Fp*ޭc2Krqۧ[*)y2 =HUi[Se}?5ws6Gd ھѵ!5F;Z֜nY 4g@<6~ S<>Q^㞘'o AS<z{cҘL>xi?<nsb1Hx9?7?;Kr =GM:ԒI$֔9d9ҐQRI]ǂǜc9$r;z>9zww#3_Zn > qBHgA8@Ir? LvO^=`1n8 8zXt*qFGQځ#E8xqN(QQߎߵ?#x vW@_~pG?OCڀ89NqۧQùeO8+֓ zPќ0烑ӎ #|w?=x4d=Ԍ :C0ANy ܎=ϹfHAs=3@3=q@ $` NqsN'ʼnx;Gh P=yfq{)@zm={=Iy>bԖ =Ϲܧ9RLx`=9zH}9)П_u4zp=sr=iq2@l1; sS7u~c6-P1q:/|`3Jzt`1dKt!ْ9G~A@=3?ZL1GCӿN1܏ZP~Pr3t^6l>c?)=qzsC‘|zx;8Cgs@.?ay`gH'#'מ1~V dG8IdBy1ۊ9䜓랸9'NG-$8 #PH=,Q8z!Ƅ1F:マS֛OE#%>Ҁel G㯿֏` 8v'pzcNM.O8u8N~tߢpI9>^@׽ӡ=0:8rx8r$h8y)8>e‘sՇ'4/$鞃{sqhOc ӎx8'?09 ; Ar8G? v霃ӜHH:;=NȡÁ=3ӟ^2xgc8#r=I<ܫeXuǧSFx[q{ W8*d:A1=@Ao`:ҝӜ8bN0q@X<#98=iTӂ=yOCxpHcߥIn3@4&O`c z׮N)p==p3}(L^xNԁP=H.x '#OPOn QN;`n<ߦ stP?G\z4c<8w r :wzTz}PAcOxsvw9OS֛{!M#A$>vǠ:8„ג;p<:*]AlJ'}( c8Ԏ< sd`v8^_QO9 <}~s ={V=OsOCȣ99` s׎} `dqӷQ`vO^(Ǣly\nX`㌏ rNI4{pFpzh 9?0p zpN~ބ AC?788ϧsށ9vq''?">l {dcq#g1ߡ}/s'xFH@ OJd{sy9z8y'?<{Rl4g=}@㌷sAg 9{gJaaI<`d zg֦l'8zzW0@Ps@=3~98=qz#֘#??_Խ>npYq?*.&e<`8wONCQ>B;21o)K|`푎xpO`q9q碀rqӯ44r9xJxE>֘=QI8>7qpç+pTFp Լ\}qK$8'8 >3 8H@8 `O\ޔ|SN#o^uˌcx^HiI~`R𧓻9?ހ##;{z"G`=~oӯJ'  I#,çhO^zp@AA@C'1bS8Zg xqҥ`y>Sxy=ҥNy; ҕAq<*qC^xsIӌg{PsulHN㎾:sHSӹ> xpsRCN}ޣ=yp; H ~yG=dyOzLxqoa=?_΂{ cI2LsCҟOluH?Q2Ǿ{9G9 Uq =AOn2q>;8 {S=G΀FO^@yT`~HOlO#;&񝣯tEU6מ0O'ڗq9NB?=1֧nnt88Z.! n#8ӵ<7N{cϿ֪Iœ_ߌpOD;#8OS>Cgq?^ʞN1'O ɰ}i3I,3JdyaӧnIF=i,&A?z~$};Na2w~o~x y8^z#'ӱ1X3gnsr9t&n2I3A> 1֘X_3F9zOC?˿Z.g㓌|?Q12 =:dۜ ݱY1 ǦG,.N@H$d;:9q9>ӸX@8R 1s𠜓ssU<9zsD[N@ݺ*0NzSڛ:R`/>Ar~9v+7wr9ѲwCpl S@<\NGA{R#dT뎴r>O$Oˎj@1בc `7:֓Ssz`=}NGO߷SF>cA8@ 8ڝR9<4c-8N;=`NFzGQ((L`~|r>a|}h ##9^zqJ9>6Tt<V 7S#>c9Ӱ1<9<?0 8㷮 }z rO8S֋ \qM?tt<ߥiGc34u8=ՒŃ}8m$|c_ZǑ ?s*q07<杀v92AbGp9a1A(`8c;1ғ~S9I6o1>`8`!zscM4;v=H'ҁfT 3=GL yM?S0LMqwC)ý =s (|2y9Owin9l/eR=A qՈqNU6ew`8N1r:ǑHAЌ І`sΎdp1z?T9\B~1^I9)\$7TBǝއ}8(~##}8 9`́#'_Jh$wTӇ|gNpqoNKp&-ϯ}޼f8'=N@Ҩ](e9}#5 < {/ӊfǏ\9z}i `'HI|z`ttp=3䃌 ddppo6w_<(\t37#'3,y)1 \:/0p2Ƿs֜v䑜aϩDwgp1?C8yݎ8 獿ˠw{1g͸0QG ;:p7u=zR}Fx<˯֘ 02sp1#<=zݳc@g9ךL9#,'9B3րq8CcJxOS*x]E'<;;?N$n9($O(qGl>s`c߯JNRʜc#':q0?sci'ޛciے}4!ryQ9y1#þ>8<8$@㠥܌{c( pnZ %qӞE 1<@9L7A[#QCsrSO#F n98 {{S8pG8 מ@NqJ8$\1 nn:) (9#@98ށLn@y_@ |<;àUrx$zp:4\A+coLcBy 'OЖ=4YIڤ<4r`BI9<})C)9]9nrOjI0ԞNA @# 1)Kd?`]@%Aڣ@ Ob8{x㑎 c}z@I# tp8ӅHr8=Bi7O:t6^09hsF\^_r:)^9NI׽H!09O‚Na_j@3<1Bc-ד^;x8S:'_s}Rnq°?* ~Rz<}h8᳟Cs[ۻq=Thp@9`}p.2OQۚ@B`:ۇq9@pßoSނ =qF(x#Yߎ{TX [z7T'Ӑxې3ߵ.Xssp){XW= &~c¨x'=;zpzԌ# 7ey^s=O?/1sGr >OO~a$-; pF>Е8ݒ[ӎ?q<:^SN;[8bp1w_G'L=N ӒW,eWs'4tA6q>J9I/Q{o"P&>lçCǯn8ݳtw(b"!HC0BNqqU9v0 9Hb;sFq^0p~ c}=ކp>nlܑBqOR(+Y N;5q}e`8#N7p Wo_ؙpI`O(=HT~O>R+ոuOb/I$7y c#֬ /.2@dQM #gL$_x9Ϯ?0r6_Z$)128HIdPq@'=|$`󝾕NE^A;Fx#؊F*#қz@-^I_Z$n9HQzz?l[#'8=`3GK#ΟvcxuMcq8 <}EM<<Z!o ՁqZt%~|zSHAOz0Npp>b"u8$N T4@vs۷jq38d(`ze D!x0jl1uS!cs=sNێzqBL9=s@z*œp0xTf%,WGlM[=qӿc ww~trG`F4&yu { :M?.qN_¯=HwP{{G|=yo>_psitx }iXvop}F2GҫzN8{cҾ#qq\$M\@HOnV?6,F*dsjDRI#w`u#>^JN~A2rA'#{mNY<ʟ5&92Id.tb 䍹5!HW A~:uM/l7GVL;vNp;;S*w`< ֡O@wN2ww7@^Xrs]LRI8'w@#ڞ7es29P}>r(qO8}=ғr' @8 1ܟǸ٠`FOdn@? N98b[x12>|8|tm`2$8p6uǯyGC.N)? 0*H~}i6\; p=Ґ\<ez4{gvn<ێ ?{st8ܧ=8$~t/2R:לϨ>0\;d9bHd N9zgל2}O|cȣ\c<I됽F?c}G4TpGj}9 ;tSqAys Td< x=I R/H>ʓNI?O q ,F0< ApF0Ku}zw8_NvLcxI$ 㝬zx}jC =*FHq ␜ќӸGL}Ce9nr-\ߦG l 'h냑R0H{bxuhvI%zwo|^z z`O$*Nsœgw?)8u .8 :F;H-R06O 2yg yR;:`F@x'M.qʞ?_֓$x98*N3Aץ < xboq4u=~Iǭ.1G?0zᱏ4˃Vn#8>RG Z:gi#9Hjss8I#vps\8@1CHGx91 \'<ۜ3Ҕ8㍙@ NIg، '۩t9SGy79` r{Ԝpz2py9'0# d;[rr }Es Ӟ8(\' ghprN0{ߕ=xa'o;c~a(8>/8)O=`I=ȣ3ǧNq<@v뎀p=qߐh G lOjBx;Fxa{ӆ99I'9wz 9 FN^aRuqzgQ(0nO N{yM 9 A  rr2zL{N8cISӧ:cn?zs>7z-la:9R;xnp{!8rŹ##1N?0pڣuf}KےƓ]Fz$pr~=(W^q`~4m2ݱI9#MA>GCz`:8=jUaCSJP`=ށ1݀r@Oo='#@oȏ4~cw8}qRw{HLarFxq0sJ&CS8G9x=}#99s_Z .sӐ|g831qsdPO4qA_C?.Xޜ`z8$t4 w8?\pu}ɤ#3r0si^($+=i1=sr3c<~b/<>4{}NnzbT-c>9 L{~`n98\QԐ[QrwslzӲsnG4!xҎ8IS@^3@7/ LV:8zM9b9HNO 9vҋylqmr0i9:s\q#$ù'>du;c냐x?)S;),G3שn sN8/^zrBLP<ާJv2?#ښѸcq})àcqR$R?{`3$BG@O@z h\ Ϧug׮}:p'c#p?0:dրy#+a`gN8': O `㜜zg 'q99QQ۵{㒬O=G\90$u?pSO8dE 9oAI+ic'8?֋ / =~0EHNqzrNsSڍc-;Ұ\;p829=I=v+9B#Ot=IG=?ic0:$㞞Iy_x֓@.;d\=0:#qІ3X}gQ#j@309v;O'A}=hIc{}) p:A>ހ C+9;sЎPF?t>BN$nwe#9@Tr}7cpFs@xI=~)qCyA@ #8uTfzN vZU<w:8۪rF#*lJA8Cc@<^Oߌژ b9N~1^v}󎔝O8\:dh98'֎[ =?9$瞧Iی3ށGN)qKg `< 38'd=T~rr9qlp1n:2q@ =퓍˓⍘ [w}A9sRp|Aʐ{@ Rydpzd]8㯽vޣ6GⓃl\w`yȤه<%]c8spq׎(ϧ\i1\g=31ӦGh/c: 䜜8c8=1 |1;q0l~V't3I'+?SAOsΟUbApzhLh=nr3J@\#pqc s}I7m$1}hslFR Âsarwr?W88㓁Cӥ.|`(H犢{{a=:z`ӱ  Oz}(ၓךBz$`R{SD=6`МqjpR8 =y CsrG9*ݩ{׏z`ԪrJ>N1@  O:})=H`ǯ tIdߍAv:S#xGaGq^ݳ!NA8jw~ `s}I1YG4$HN=}ߎ:=>lrq1ր _|PpI@U\dnKǡ#<;Ͽ"  3ӜJAd@3'1M3#OC@NARLB9< uАԁ9QRs@,>lzڀ#ob8g35pq1H2?#lP'8)w@3L޹ 鞼ғG)6y#ucpOHz^6p@=y<wuP=q8*U)S'9zOL)tژzi pTOJNGA?([?tv=GӏJ\202y. y qHO<9I'98a~)sv ccy.NWgd sA6>㑟q)3$>Qx=Z(q䑜=?> > =z~q8?)Sz~tq秨'}ڠW9 0rqR ۖq?4?994 xٗ@瞔8a= rA8E4dO\eUQn׽;#w!xO9o Rvq@n0^`d3p@<{ sߧ@`;c8b~ qF?@3'2NH'I8Ww43.G!u\x8wGL;Ocg$Ԁ1zsۯjg$Жqdm=:ǿqӚ4qluʜ<1+FNqG-8!qwp \yq'^v$}3 ܮCc9H<|Ƕ#O<|`㯷3K $sSvRC8{,ppCQQ9$3tM9)v9$Ǯ1#OH@F0\\#r ${{Ք^x:Q=vAzOnB[;|[_\v9;qjD=c2:d*~12Fļׁ =9Up8zԽOLw$1M.%Q:dz2O\7o}ĘpzLt5Q{}sYdL˓컛}U)>HN5#= Ӡızֲ:tt?^݆*Y[ ;\ԟq{~`*{|`` s܁ӂp4-nFG=xvTS1<~5krI-*‚p>u*H=*A$;G#x~Dw.x< :iɒ;#<v: cxQ^< v ?Zrz#9ʷ[=X{vH''f/3שNOL-m8'r)$wzg"88!c5Fx^=:GL-9' Z{sӯ^׏],<gtKF)y?JIS" '<*QS6Tz1?NiăG^{qЃZCCsAOs#8*JZs9ǿ9#^jtIQ7ils&999$ƱNK0h#}=hl3iÁ'0`Qf<.8Ͼ;⮜gv8FNyas7VVOq`}:MEfrׂ)'GΞ".]Wzmc>+fϹq0;PF{_cM>baIy{TDv0KN秇 +r~̃' 9rzO?$Dcs9py'8%Č@/\5RFmP(fcTG+gO)ƪ` 2{`n$S,ct6Y03$䓁 نsr7M`:)[ `YI!s!7`GmfHU4BAbZ ( .>POht?Z-K*, nc{ 1߸kYb2R͟y9JRrk)8ڥj$A>)uRpYtSԎT{`HI Ŕ#'s5-؎@`XQO'f|FYKnl(VN3($qy3z㱁 1žۊwPT0O-Ds?.;sAO $98>€qx#q{~ypOFzހ@p9 u {qN12x=Evp 0'x:/^8\8#npz1'҂zlsϩ1.03$d:y#}::;<sQ /O ?.2GbC '!Iv=8 Q)+86I@FvgtlϾ;MrO 0zg9CgszH920F3?ҟ(?wsN( ry3~>H{1< ?rG`A8=@}}3M9r{gA4==؀y*Am>z 7 Ry8'Ҟ{ s۟֘=A@9h?=pG^: g}i'#b19~4 lrz0;➹#瞃1 xO~a}ǀ{N}0=z:c<zc)8N[x@s<=s0n@NF2y1ґNx翱Z326 r?@i=@as@tn2;}N:Ӈ 2 SOaB;:NN<1ޝNN={q=>`ǽϷ> =GqޘcwLp 8OQg9Ps' qN QHg€$nwyG#8ߟ 8~n<23A>F{*qsh@8c A9n -`qTԑ9rqA8x}G(?:w=rҜ31B~(@'NH 3d80Kǚ$H?€JG?ƀF39Ϧ:sK#o wA{Qqs8T'SO8iN) zNyAێ{q)A˜#p0=(=XrBzavϦ=@<`csK<:}(19g<89gsRtnHg?ӚLI?'<Olqۜ z^ǰ7ۮxЃ΀$U%9g?J9>8퟽Ɵ0vp<8RO\v$NInx zS|i׭&3sqG_iӂNw=J\܀ zs#r9Ͻ.~9FIU'%=z{R#G>;dO? }B rA`xsFz}^N"Z_Q׎ޗ;zr\"G;pHǯ8>Zb$I>J=@=:):{zP!\)y/Ёǯ4OqgLӒ;qf0Iy#;4|ߧS.= #zP:{>h-ʘ 8}@S~zs\V ޻ `烞~zw ;g{#QEa;g`z3өrsER Gt1O 2q\UMG^dIϭJ:g9{zO'iH97zwV影ק98 z`8crsׯIF8*0}8Ogh$>x=q1܊v{gttIg=V8=3?JPNN@6c G\~nڝG^A?\S3ï?LRI7syzvÎ8zfrOPI+FWGH=g`sw#~3#Ϯ/΋ 8qdݩ6Ð; Ns^1ҝr@p}"[u4<=Ɓ˞qׯz,+qHO)09;P3@x8sGN@AG_@ q';QulsuH8╀NI=_9?QOpcB@$ߏ\z8H2rz&99yt}GOsNznx GЊ@p2x8ALQ Ӡ$ Xws#p{~qs&s@#=6 OSc8sBc c0NI =zdq޴;zAjwO~r;G1__OvA48){qة9(9Qv79<Әrw=;PxaN8NGNys7'Ocp8NއG\qԎ !Ouϰ΀N0*2wzn~*DSq83ۧNh0zL==z8'@'ǀ{8un>Sg#' sq|:~^l=9c'i}X8plC`rqgʌt8@ =v֏9'Az0FqsV ݂?Oj8=I#:HR9Sցa8"GpO;z n9 /CǯM$}9?g)7-Iץ'990zA(89bӱSoS9_4Kw@ AM3 ^6!O;u1z46dc\;Gn?Z]N1c|:)=0,Ā${ 6<}OaӜJOrv׌8H>QT=#99'spy<11`)Al-s֓`q#ɠ/RI#;O>4ߞp*]h0q<#@z`t֓B@ 0Iq1sӞ9rTw1ހ'<ޠsÞҔ#w$'!wgB@+8O*>R3}h!sgސ(LjN~stMOJ玜gځT8<GHe z }8J gх~!`{㓞$G3(N1LLgNI'Ƕ?*NA'3N8 NNrNxv܁ wtWAʀ~lzzuE6=N$xoTg#p^Gz/ࣞ0pxC.q@xs> $׷'N1{kr2x >>AJyc'^i\Lht'qHJ$l ǧ@H9OL{aų~ʒ'#TO9$q7߮?.F: 6q }ߘqNKcӷN;ր 0b2zp{tZ]yNp0r6Ry{ ֐Hl,dcnUpw 93΁{9sFAC'Gq;ʏ~vIn> $ 1zf" CuRTqy5!U=Il=91Tnib{{&0G~Qs{s232g8;Is֤=0~dqt4$/,2zʀ;~}*\8,K.F:`I$lqI֡f ᐎrqdq֗P&BJTOQOQM'?$>l&R 7ԃ3OЈ`܎8>OBb3aC{y6,.8mǞއM[f6FzbOԠ:4[G>'#9팏S86~ *:0^ѻ tqV^y>$ ߹}쑀I5LH t'ϦQ>aסQk)FIwpJvo$=VO72HvM9&x?zE"Uu^r :cRvB]|c\ ~H$uDVM0$ǡ+  ORr{<9hK,G,׾=(9$w=Y(/ WzoNLy׍>KO̒r۾`SžýS裠=09NzN }2j%vw#9N-{`cSZ~fd8ϩ+dz A+68ʹ8lWֳ鑜so21n0w@Y=+DXռ *8&^F?!02yr2L]{L J?k!x̟&_9g2p F* 7{#ZNyrO>epGl b.6AT,$gֽxUaJ#7t<AYX,됱umepzq^!Ĩdܻg1Nq~_( @Pv 7moOP =F 2b$]ہ#ڀ5P }C~NxOQy;^a`742@dfP(̤[_'? ߁=NR:CX!c6_[H}c#o'>ՖB%@;lGT>o2.˳PҖЂ&bv3 t_equ8ctRӌ#Os_RhD++-?F!זm8r;gf s18z:أ c cߎ:sڗc?CIw3b@Av}(\Cc_?# p7}06q|q;`={u}2 $;z=Ƿ s0stQ~ܑ=$m9#{zqN t4aϦGQuQg`xq9Pې*8sО3<~noR@P g=@=i6r2wz?`qЀ8^*<n9 spqG9MQp H'@=y(ndwے?Nz{ }:p8 9cp=8Ǯ?NldO'qߏ~jU!80'pTIǵ:S}G TPm>.39dq#9990 s8P8\*H?_|S玝>9'ތߩ;>~GGf G}ߑʌu!O1:POJ9鴃:^GoQryqf ul玜j@~L}s@ #>3{` t#ԞXgd^cxq%AçO8 p8=ZNG N2sӞ}#9WA=i=v2L?*  At>Óޘ㰅i$=84g9 ?088*9jom{HbpAHLwJ nҏ_r:xc3`y'ϯ8{Ԍ>f! /v= c$sϵ>9]w01Nݱ 1}11J?}{c@I'@H؞)'#ۦ_8=Zyn2OG13'瓎3ǯpiv|ysSNpx.1x*!+dc >\cRѰ,xm'!瑐ǑR):c$=O1'B=P) w{Ԁ3)؃/|}})=3ʏL: Cs@^Swqn>Ԙ8vI8#?(מjA'+9+?PVfHx^}65Lz K=1`=i gQN$y?HO<S)ˎ@[DO?s~8nӞP{dzz{R; ~=O?>.0緰sq؁ӮO'쑞1qz;B| |v~;zi9ێ)ryw^yiN8a<8=3R޾޴g'>F3^ϸ~LV{~~9?'\vЂL?! 1}(aޝ`c3֗#9$vjb%vqqNG9Bހz( NqKcdAq1NaAzsp };~Pm2~9)>zXo8 O?4A'Ў+~N;}iߧ=z7A7q:g?ʆ1:IRvx8yJ811~zSqN(:ӹ)dqߞap?P`'<PG\s^ğ8Ϧ:qB ~]H"}9L$q8Ϲ?zA88ӯ{Po?=8J`!LuAxG4~z g'{|7~8(<`Ӷ~&s>%vf8?igӀ;K`I㌂p0z)pps߁G@mNA}3/rI zg{=M 9#jrOnOҀ}2O2890qWG;bOvPq?Hpq߀Ӧh1ӎdqv1{h3.A9鏭i\vuG_b^{ZS׸#=N:u;zLb`<9uw1r^90T tGC s@'秵Bz>Sߎƛg߯+j ;cb=r2~zSI9l?c''#OJf:Iis\ZC gxޝ99<@AҀ!ϮA<폼NFc:P}@?'~\?֛II98#^ݨv?Ş<ހa1!OIpqHŲǩ;NxQځǩyښG$rq:w$ӣwfFH~: c&8x O`3=1B@0Gs9!#ųWsG91AG|p9w(9GN2~mܞ% zn_PA+qB Frvd{ V_H(RN0q*?); ㎘a@OQzչ|<_4;~\G@===M n?!G썼pq S@u3lp9A ׽;8eyc&>l6>MpL$88?JLv U@;wqN{zԌtpp99Sc/RpqMxsZ#I9Q:9)~#`SČgH֌~J$xA܆O<{RWp3h=O\tbז8cqO $00}sPrOz({Ԍn`HZ4z߱%UzO;9, :rr;Gj+=/bqڗsзgGt-\q:4րgyG$(<xtPyuxsՆ:qc1Ilzg@p #ӦA?:Ozcr38p6=)^3@'tv>_c>acO_R;zdGl=H'3OI@3#*\ߝ;'g{ǜ>nOLfG,$`;Pzosi0$H_47h8޼vc2E{q?8rH#4n!}@$܁CvcѸc <ۭ3g^r:`h!`@́k= ۟@p08;g>8^@y@ s Xe@4s~q2;g\rNOOGrs 4 we8 ;+c5()<0wO! =vq w$~d<4^8'w=sR-qԜgߥdy#n6?v`6FӷZ3=0[9<㿧zasprxD a= \sMqsק?ˎq[;HSH%:`ds}#r=h=NS;<p=:~ 8 ss;$3}@ rN9R8zg眀yOBGL79x^ ;qԇp1#'z@ 'G'Өx'0~b0G#<~43I- \Hڀ @8^IGQ97BRN?!Hc8xGN* IOL 2&~䟗8z:ҩ<.?v2TNjX ;ө9G|qé?h\ぐxq4g ONxy 8(q9뜜\㍊H<Iu(`x$(Ԍtp WgucRRܷ# 烎?֢rTc+$c@~$fA !cy8Aן^j{3' 'w=9z }҆Pnd'$zӱ 5]#X;T NNJʌ6nBu<{1vm-8Cn* F@HilI I3w,;Rc u<>O7v97ɞ;H,rGs@ P}O9,Ԙ62FF3Ґ A8=y<}E'`Fp{˞;m Ѵd9lmb1HhF g;H0 tT #N8<2A۳8~4#,?6~<gxۓ$xӭIrT n ’1ے vw?G)©'چ1IPxᜒx9^ؙeSs9,Q9qۿ?OSbwzD>i-;2yWzRr>`{zVJw' O|ңl}, Yf|NK~iD1dFHҙؓx'ڙ=D#9?*׏OBqO8Ts<`L 1O|S NH#ת{|JN=:r8OPQ[+lsz_jUq8U~yu܀O9էԋ ;T'=MHBpsOS@9Q!cڣ,I~&: 䑜1RӨݟpGn}. ]Rq;ӿ"\r q>8 `ϮN^7z?0w^NiIBB98dH9wB;h&o~:|p2 ;~;48)9iFrq@Hv#cRiPpxJn oLc{g'#})8;9:22Wcpǡ듟^J7Ԟ`Nq<c۸i08?)O^N0w.'?yrz``wz`(@# cO$___cL`=T翠p^sѓӎqװsב@8uP\=ǽ401&g8峌z;Z\h{<cݹoxHcNWz&\x 9#p<?*C-W*s>zi瓀O$ :#.{@pqJ}xABgʜ6Qm͜;g9 xl<~9sazPCG=~Nr3?wv9ސ n<~i2͑xsP{=Ppu<O㎃#{${q@d?{0@ I3U;@13׫g7= (zgO4 󓓑ۭ cx8$cG::us8)18<9_\i9yr@Cw<`i3r80Aphp\`OP3p{Ns9:`$u>_@KL'ax@(g$syp1 `#:>Lt'-p@8ayyA#zf@臶H#sh=r1KOϵI;GN)'ӏ_Zg|A:S#$t$~9:gӸ_`s@@NNH>#;sT׭D '18HSv8zcA}iOgcˁGLLzzR2wA} @G>`Hϧ=E/x0[ON@zuޔqOlL@F1[ܖ$`O(cq03=p2p C> IOAAaO=x䞼RC(#A8? 89+=㊖[O1ۭF2}Tp{o!۲:cǨ܌<Լ %}w";X02 9lsJ{;Ìr1AWǧb(U'j$g$yCby3˒NO#K}<p'җ}GLCz6 v8^1O8g==zqި9br388c#cҋ@9]'#Rz<FGƘx$sqFzu=8Ϧq9pzx|6;PvӊL: 9c֛Q=  9<G 7` cץMHcHFF<v䂻H_(lݾPWΘ}wNzR}2=c@u?Qdqy`R;FpGcO\cfaۺ 2xz 'B ݑ:#q<`?J 1c8;S <}^_8듞`V;D> `FzrsЁ,yS$_n`FxׁKtdb;O9=*9W֗qG"a6s)>'9v#'N8O<7c<1担NO|GcnFHn rz})S$q_ғS׮p Hz3ۚ^yϵ cQӅp2ApAP};`m>Ê #?7|u}M?8NjX۠끌gQG^@~\g >9'<$ an=i9?{9$R8=;czf<}F}ic SHc}?>3T}O R[`1cfԎǧߨ{ۨz{}QLb>qqHOprG~yiӱ;R2GSAԱ鎾t'zi Oϡz`pq@t$ J`=0~q֛}AKO<`րc'?>=i;ߌSD 1끞~\H'8r)_N }: szqM 31>N4 N}_jp>^" ~@*$=7_zǦ? f!s}?gr3~gӊbۯӏ_aۑG;p:ާC:?8:9Ƿ:71ǷP;l 㜐)wr2 qN '8v=A9!6O $nG99# 뜌SBxϦp30? yO< I8`?ZCbo z˧Jw'npS<H,~{;G n8LddϷQN%So~$dҁ ;Ďzcr;~T dr{w׊A<: ց6&xu$8$SM8^p;hHwF$9׊^oϪ~w?1NAۀN8r=杇 a88M3lzP1pNG=a8N>=g'7e'?L|<9("w.F 큎cJ,-r #uGqw=t:ցンr9w$C8lu89lcҚyԜshc} GQ!鎙=3BCCNc98ҀGsӒ8y!,1svH*2v8o'<A@! v8 1:cN*>~r:cP oϡg |t׶1@b0>##_L!,?T\qϭ)+p~9$0y'g#hq8OjsNIʑsPy xԜ{Rc23ԮXuP! `ONG\>FA= ~Tc8T'g#'1BF {ҁFtec }8负ôs#OP"S1TqLЫ#y@ #o\qHx|1sq=(Nǰ9Ai0ỹ1xx\IR:uvJ_t'v:mޛ8=7pOߓUzrCuP1#$p=Gҁ#oNZ~G'bzsxf!8z;>y8STc=Jx<87BGhp =i۱az^zfqFBl=)w{FXێh#A灏C&wg^H ϨwbCANOM$N x z+ס0rq;Gz;)kt\X=Jb'8^aR t<~x7$z$Aڟ@dw!I#?/Nzf Œ#3ߊ\$U28K{|1׵0u`䎝x4`v q@  p u@=:4ѓQw.y?鑎3rGWzsLǡ^zj738_֓z{{@f=0G'ds8:s@6 󷍹sH|c9 FsgbG#iA|P>QX8鷧^ 'NNc~&2>^<2#ܜg=FN1y8y89S27 suցC<by>8zx@y﷓lpp=p=:{ߜ*L铎H鑌m?^Km`F1\1^asМvKpssqyg @' Nh@ 1~8 1 ׯ|ϵ#?=#94~Hw8m\t'=ׯ4РpswsR2?ߕ 1'yӵF-''y `y:{P0=rÿ~я ;3Hb9 Q\`29 _nK ̠rJ:7h9;p0v('$Ap0 =#g1^9恑O##rpқѸ8ێ˽K( sA#<SsA;TpŎ@IHCtR@H P1^t -܁vHr:qH$]͗^?JAԆ8yۃcߦh8xw ֘ ACtqdxK2 vyt eNs CԱ.Abv: .Glu6&cPX,KNlҐ!8,[YO~G8<[ ߔc9u4 ;8 } @8݂A_F / y\0rORRd됮H3Զy5`!@l<$B{&T?Z ‘Ѓ5o3[$*۲C@0,6q:U[1"bm8Tj3Xp@xe.© g## =N߁RF=^z匌O$dX9jp$c$;{BvF@#>%ܲFp>NL+N3'm\( qU>95&oA26GQژAFp'=LqI [Rql9>҅;@ gi2B@?ҋkӃ͞NLmBSVF Ar?,WGB@u8*s?+ ?g8´ywƱbmd댜gDPI# $c_iC118qJ B#{q<6pJȜ@݇1N`Dv3]:.avͅs[6Xr䃸p:j[:m %flvIh"< ?{; UJ|{Xڑ兺8ʰÂQ g q^LvN9FܑN;[sېyֳ{1~`q0dž 9=h\dx=F>!`nOSӓK~9ϡc/ˎ? c}i Nps}q'-ۯ$Gssڤ;s$9)s@ 9qcz|z8j}Rqr sz/8:F~Qǯ h9$B# N;qiN3=}RmО÷ҁ-4 q$J/nҝ۾v`d@Ü:P.=id7`dvC =ۏ摗yG H>u\j09#$s# z{F2nj trx֘ tϢ^zRp7nd'fs2==(9,?18@0HI#')sF*stG9'=;> 㝭.a@ 3NN:/v ;N9穦<`uIv率A}}>QݏSN#N>.v|'#?Z@;d~}M ۷9=Ƃr1Ǩfc#w*ArvӞIKah=rO^cN;t})?-VHdnH*{dn$q9҃c$_@nv#,2?*Us^q$R8qIxg9~#wvA:}) N9=i8#Ic*9OJ';>n07ӏ ȥI p@%;֏$c8c`cޤHןNqۧ9wN UqP=vpOvsqNsgL]DscמNxz{R܏c{g&u+=x?Sc {ywuRz玼ǿJ1(oS ##{P98#r>\s0i=x($f#T%q=y GӧSw,p:ޏt` z]@=<v?nj\1~}9_1>Bc#T 1($p[ǧ4S3ؐ21f ~WGڔ2:{ր@@Q[s{yCJO]rH#=?4#ױ9?2ݷ1@wHtSjv[$ Q`p}h`Frsy`zSn2G}9zc@9@; y9yt;0 )#ӓ.{^Q'ny{y@ 9>xI?=9=}QP4 '2xR0Ԓ x8?!rs'N8#?oG'Aדր?1$ n1ޗ'np^P1H;q1 goRrߺ@ x^#$'HclƚA pAe}NcxG0Az' Չ0=q?6RCuF1gz}3Lzx9)׀ u?NCsqAV:qS[={S 8?^={OI|?)bvC?=:c)w؞3iF0qI9Ͻ/S}C #lc':s8"qLbt؞}iw~>zuc!xr1j3チL,7x=M?w>($3v\}tue[@pӨџfGQ֚d${RgSy;ݽqר9|>Izc'8<Os;ilHG?ǡ#9;לܖFxQJd'cx \mnO#w =s4&8=1I p{=r{cݻ <0==0EF}>aq@oO<ϩッǾ1@ q=ϯצi{NF3^9\!99=xPxt=t7'@rN`I [)c\O~((o|ӎPp1A9i0[8PinF}#P7Ǧ1׌pNzfy=u, Hv?\㑊= Ǹ!x99둀8sM;*F3ps>L<_C(o$1ϧ8952) ~HInK'=:\֐ud@? }:c!CۡR>>܏Ύďn@ǧK =x1xcGBc 猓`}:uf<{`8#'I9Qa_P#'=:cJ>Ȧ c>@?^@^Nt#c@1}ОN2):s^1|;~R s12Gqq?ȠO?/^,v*I玞z:z1Myt${L}vs+qҘUy`98;vy dQL$r$g̃dFsw| ]x u ӜZ{qg=<)l 譎yO;Ozp?C9=Zq#'z{RX=@8C֋9=yێ8x;'0Onޔ tldzԀor~3ӵ9\dgi=Q|“$uc(` zcn>E#Cۚӱ2@xK``:u@'n@`zf'd#;>@0 8 xژG CB\cn9?h$ic(ӌ?Zw$0 v׹ rq$sց_!Av,s鎟NO8(۞郁>Qz{0VrrxoSR(b: c_={iprH3N"~Q3^)GSRIM11'u<cp@9:qө?i3rQ(C` ?(\&ڒ0' SI9݀ qצ78>qFpvG\-=;`I8{gZ<=bp}Fl''i',B?`ˀ2A?08bu)AqHrO$߃`35,bd} tЅIm /CJ c.ݣ9R#^=G npT$ۊyߐgd.`|}j`Wv =3kdl8 s=7'we2䀹ݏf72ӎQldw;ϥT=zO!?t{=)Iӧ<6989O 90an2Cn~<ƀ YP)uѹKwA2 ?ZHRI 8;@o';Uv cv|/q1JCr39!}A# }84㝼aO'v 6=$x9:$`=O^ϥi)\g'0եa2GikX!rvYd`8!c|,& %RC)jN;syUNjI>>?5]u3L}ܴ;sr1V$/8=`{etJHFeʦJ䟘jvFK|}ߞ8jXݤ;灃p>$[uRI>c0Vc3S=)AaZ@NmP aH<{zmc\y^r)4w)$#,3c{q|Vyj:$Kd\'RiC6C +V<|´e2y'.ʸ'y9*>/2ޖ*Ew#)f`DϾk^PF aWr\iYoD>s}U3Pu䀸l?Zƻ华/Cydw88OH:67sd?ҼΠ zzwhې $FA탎'LqqG? qpx Iq=یsБNg2@S8OƁ7ϛ9뎝{ s:|,r:d}}1J>`>3Hzз)08-r? 8Ny84:{z3O==4\1shn?*xzqqLC |=F嚗0I䝠H8<q̱O7v y[dv8Bx;R9~$1S¨#p@ ;qӾ>1G^sWg?( >\9x?) +=I^uGЁN=x϶z2=1@CI'n=z&7u$ z4 Cy䜌ӧO]= LSܶO(}ya=1Hb:gv{g4ᴯ'9=iط.Fs=p{bru=OZLb 7RJx?2!F{P61$z߷FN;pOOc: SP?68ng4< H?XL2~a9R垙@3ccw@`M4x#ϓځ9v7,01֎0IA[?Nq@ޙ6v 6玧O8$@P!88d϶:wtnөcahaH<q1s=3q o8p?N/O}Z`6' Ay>\Cێ)`u'G_O@ϷN0=g˞N}( \qJ玿Γs9@<pr8`?@H8pz 7sߞå4A8N70H !;F1198iѴrz`q::ƒl }Fq߿4 _=7tz .>p1מw3@ qrl8(=A'_J7q }yI$#ץb.'wq rߧ=`!C$# :8NF@0';?” p2 __|<9 3K;$cT"<8%l`(4x2WrÓ'xqH`s}ˎJLŜ듃}i8q#i*Gq0\F썭wԣב ǹ & qOQiGAܝ't0gg l{}(CO`u$xyϭ)n>\&<9<1s珯7w pzA^::ց\nsROלRNW<8'P 2xJ?ÿ=_Qrܜy':R(aێ=>ϧ=&P?/GoAGN֤nl4Pp0@'\H{8 iJC3ۦ;uϡilvU 4^ 'K}PqCޗa}01Ni>둞z~41y}xJQNF8'ڎӶ0iӷHLpLbבV?N}yハ #~{}y''`o8cҶ4Qz8^y:V㜏3CsצM=qWJ->R=OLSG^xӰ?=@ׯ?'~=#>Қ8ۿT!G|(r}F1@q==ONLN:wzoGd`P~`J~8$rq?Q,Fr8I8{}ۓ;_JbHoLu$t1а 39L/AG'1n?0=϶sJ1ps#8ݻFx1#Ivc@`QIɦL#>ippF8=SFFwasCrs=R@79=1 HI? #HҀq8`q9(Ѓ:4N}ʓqv9G9lg䌑$z{K18Ґ9t8l>#;II'PSz8u'9㯿JL]#; r΍0^0=pFѕ?xI9# hx4&A!뜎8#r>31l! #$9}{3ߠ?Nܜ7f'Ks)?8?-'m9>᜞1<cR3sr)܏nAlu?ւD8|wNqנb݌{cҜFr9z?Z<7P@O{ #u<Ӱo-p1XpU" 1~c(@4A@jo``Sy3JAJ㝣ƒ`pz`Hu>111x6Jܟ\Hb8DA=HݜdJIg?ÓM䞀9*QQw\gzT`{` ӌg}zSG),\?_n)pF_Zvzc#2XrPsة]<D;9uA#~A9 1'?\~4\/QA9zz׭*x os@g$`NRGw~xMu,r8N۾{Sv8 OAzwC>wO<~8$~4cqT'Ю$ۗ;0}8Mq7v>\88׷OJ\`$3r2r0 FK}>BW# +('cW98ip2X;t |IFNi88'@Q(@.WvyPO9^Fr2qs>SmrE89S\6:=x@h׌~u" 0{4(Ўy|:Ԝs9)=$^AקKw}ܑ0F38l?NF:2:~l89=zJ@1Hp1qM$җ{`+t99*`'$6FHzS>lpAr38H APAy>çPG@qH@2xSN}M3n<OR;=937RGqԀ;'Z x@lr;4 OQϭ;h%r7r7zC3B 3sz]$u:aHҀ08ae0z㎧f8;O9{ I ps:ci ?{TiFB$w i 9ŊϷ\ !:T$``goCS9^8n=@8?z";xǁ01C2y?IC䜒qg=Wh:q,pFH 3z`yr;ޘ->zkacgs~@h1 9QZ %I.3QmG#ۭ1*G$h GSxPg<Wsn ~9\NGp==iv'\9MF@nrjGPw\;\T=]0s7 3=Hf@=~/{}ߎix=8= H% 3R'q=:~_b~\d'nGr|*r/ ΐpr6NNs1S"ṜI%yhA9ɐ GL[C`|A#E 7d*܂ GlZ*,n:V]U#;G^'?TƑ9F9c9ƶ%c8=`O׵J3;Nx$2;?n*pzϭdӜ#wzTP< 'N#[4BWn)nړ*@#Frr)* ׏JRr0x vק^=v=41)<Бڜ8z$zSC,\~oQwڅE*{'֩W8RG4~lɏ8#Мsaۏj# 4s$1gGg 9{w)Ҿ''ަXq#"0HE]h;ܞMRܞFzU4Bc^=Yϡt^#?xjy-^=MǖH#f>e*T;I6dgҳ}5utxpWʟiuS[@ܑ9+?09*T1 y''R+'.)_8L89`:<;*g%\Sf*O)\qJ wOb Ҽq0݁*_݁sGSGRoqlW9@$#{Qa2.y<{};)=n=}1J,N@@BHNgpFN(yGʎ2:{ \[(;PEW<;49soh H<r##K'?h@@8䞝?JPǯˌI? 9Nlx9;I9%sh?'.pݎsxyI܎3x#<7x>8fx=1۹y 1y ;:{@Swq:L䑿cAB@+c#:Z`gWӑR $/=:Դ438z>CNG;I Aa>\g66zdIg 08?@9#3:P>^ ܑsOH8}3ϥ;{t1>9c#׵H̜`drLq'zzuzs׶{E,' Q2zq##*LhB:uO>px{ uwrsLg8< jF39sDc{r:\Ɔ?/P3=:'G c{ж;Ӯ?Gz$`@!RL})ǿ 0F['C uxzt₤t9 H'=z /#OӥNqԎ3Us԰cw^8'>mxsi. cߞ21)sKu͎WNāܮ,z{ cd`yj@瑜m8irwo䎇@9'4⣧A#ցGNz}H }Q9G1z0x; z0qr9 alỮ8ӧӊps|x0#P)S'$98 sӥ7Up4gۓ֎nxŽppB@=a݇N8#P8?x{c3*s׏ cPB8:ԃsï=rpJa92?'錑N<(# ysA)0TevG<6bn xAaug$r[z9tr6<4mq9zHrwcdO;z}qLaxbq9)g>0>Ґ>.ߔm#'-I 97ߜ<+\ך q=2  cg?y88z}(!N9'ǯ+psF?#{ &`}7O;3秨$!e'.8FJ GOpF{>s.Gv=*a~xo\t۩뻟CI=:nNIӥF2I#Fx|߯q#+9s^?JzuR}  nsuR@<6?1iqNFF09#<0秮(/CjrAN}2zS193c@~ϾO9灏Nxc>Pdq=l8nGJy}G8ddr38};rzcb F@ϯ348 x'w8Nr 鎝Tg9$ݹpXq8QNzq0GЀL{uN)8zr ӎ)sǭ?x `=ӭNu 9 vK029OsuGʐsdzvǭxBG|{ޜnp\c$Hc}Hݐ18Fy#gLL@'b:>b>÷`gM@t@r>ёԗ N8NHF/~;S@'H+ӡ=p>w5sdvr2Nt*$dr=?41om:868nM'gʁy;`<gJz- sǶ)p;zpjYD}qA9r3~z⤥1&|ӯN}_@8rs41uz=x=ys57Ha#'N(;`}(#;\U7S}@i8j2xO\!+y21ߧZЖ?AIӿLsGR`qo@Aš N8ǒ>c$qճ? 7$Ax>G9S's3q@ ,0vqqׯJ7u~I%}~63mN@?9r:){dשϥ"qpݺ`&z䌏9(`g Ü6O99Vp;ߥ<Qߚmh+=.߯}G^hHDx3߱T{tyZFp23zӈ?NׯazJ3zdw}C1L}9CC<)g҄q0qԞx=Tw)6!^?>.;{vsSy9px^i3۶x>ԸL i?Na߯fnr;c8aۯOAsKNrI=R:cgiqӦ03طjrnjzcn9r9%c瞝hӎϥ&=2:c?Z~zʞoӭ>8 .zn8>y%(dN^<J\Ӷp0~#p3uTMc2q9 x=n{sB$I@ݷg4g?1'NW @?0i9ˌ7 98d=y{7c䞞lSBr:gTw'> ccқdY~ }sՆ?0q(B! ノ?ssY=yji\q z vp23''H衽?08\7j1'#eGӥ*xAs׷LzR`~{sZFA#=Hgo7w# GzSAq3d@>pAcGU42@ HFg?ݸJ,I8<>v#yz}y8 \ag9#Op@h ܅Fy`Rϻ}#J9\o\s0 ,;3)?\cޔtNp9=jl;# c`z6t#)N(hb\!r:#CMqFX8=֕p''o~ vMMBN8 d,|vy ~AvK6?{'sss@100p,c׊'$B#z6s;8#דH}Dg03gh3=1NimKIbqܞ(;GN89#{ϽJq A(O`r@sjA`rI\sMCg%p0?ϥI3cN30A p:dH#Km)4+wn10I#ۯjyu

^}z<|erzOoTK7SwI ;T,\/LnGnsI' U"G1W9#tu_ʐU q3$ǎdI2y `.1x;8zׯ4烓ߡc4n?}:~ӭ OAx8ǯc<נ1C##߭.Px' 1:sӥ(9 QÍH rN@^{sցzOvz|08Bʁ$ zr4?SԷ8;rv8$zRt<qPGv pO 1jgzd ?>}6HWL{9H<3B~'W w$R|(BO4Op=;Nz!&B0P8>z(r@+8@`8 `ҁOC2~@\I%F023=OJ)b }qH:|=x:N\Ps=s(>08Ǹ0sTrrldH8sn^Tw|+wgzn'){ѱܟsMz9LbC69rS$0IHc9<r8=:ui~^;rNw9=~n;8=Iq;c R۩;q큔+mtZ^.>a>Q#۠1='#'i u$6O Ggz!  PM݁2]ݺdw6HvPIGOPQa2$yA' q0A=a۵3=G͌|ߥGQhdSI`9 KgvҗPvp=pNXTtϮ=i:vSҧDgpn: 0Ts~ݏ]CIi7zc2I ~#]Fprz`q?Js1np1 i2sHr'Wh BdݏLH8㎜461A  w*wdw#=zs1@gvTcv8E"&<`3A##>ڔd @>9ՌBsgHrNy'2ٗ ʙ YH$0B3IUGcf`[`nG3nN3#qӡIO :W}hqpU>=Ocw\Ar)GSө`ߙn錎J 9ľל#ޭnwA?>ֆS-s0q jF NzzIobz mMwޗߧN>'a98>`3vӞxǧOojkd6HAN+^fV* #u0VmN7ȴe#')0Hœg"cɒ".r ss^C;)3H\6]̬_TW>|Fv< cqV{Gg饘;kQɳHvaAPv/G!FX2T~"]~~ՁCb|pTI8s:dSĐ/ 6UlqX%[ fBFX 9z͓q 쐟Q%sꏰ}}-ٜ*R҅ N=;'qpSwȡ[&ACf[a|coXhm̥I ⼿U[<`89qnS;;= cx'ڰeB›J̿/9{)_q%tԈ)~b**~y#֜Qm:r9Б aTYAҠ$b;9o"3[p HROLNN *yrGWǧ|v6Yݟ1p8(;UaJIi=&SFdb;u$8\'VP+,q]NSVI~:1hd!}*n[vi 8<һTК%Ž&i6"71#k#y`9b/; \O'MxX6zDU̠<jW/̧p6p>΍&k\2eU}S ;de,/'82⟲w)U]ͨc& rN:ҵ+QH?ycCN' ^9Zddc~Yu(JLى#r=TND|QLzԼ$1T`um{vN*Gp2T\5);32RWCy$zp?@OJiAdgzqPP902rI`qqH ۓS^zs4 b?7RI#zNq8zg>SbCI#'LPg`ySw~GPG ;Na{gz㷦8zc})Xu+qrõ7L`Fw=ytqyYzjJ@z`9c bx;r: *~\sp0'ғ<՛g<.O^IA9<9,GJxag9zGwmq=I_7 N1?ԱpXs2 An{{A==03 dCz.7zt=3@!qԑy8yi2Hx#LrG^281$r};AcA'=G84 r1x'Δ|q=#Cz@ޟMN:^#?֐3}9#I{iL /֤W$pq<N9pc9NJiaA8q n_s==Kg`rXgRJ~>^14tzNG#AK8ОN9S4 ٲ1ӱSB2;:q:(`S۱ cߠ=?:aw{9$1ץ4!9Wr ?w3c qI׌})z{sUOLgJB?>Ժ9o߼I>Hq <)?@G9qy2zqKc3یIc8)1$I9*r= 8`޾9nGG0~\0H)w-{t:.:7aA+ $"\rs [~li۩ltҝ(9$MJ?\w擓QҒ@?/L(qWӿq@1x I.ӌusA g9v<ҏb9$}c&23?펇py4tI8Zˌ㏺t֎zd `~9恌X-xӹ$ڸQd O@twutO?;dsF2\G`=7#sNP tܿ1F <Szu~dgz\=0ydznꤨ=38T)!rGMKӠ=zу8R қRG?_ӭ'yϯl(gSߊx{ғ'ێrG^qqx &{w14鑟DaI$g9cs*F0q>:<)=q֘3#N3?<t}^>Tu瑁} 0aH<tA'=JqL''ޜNG=zhL=:z3GK #?Lp9=9?OKLw>t>0xzo=Mv=OL6pq:wȦuߦsK׸zA-0z nlA؟)Zxc랔 xӸ<8xHn̐1cb^Jyz0P&Ϡw==;}iԎ# ,9s:ۻdO8p1Typ}qqSo9GӃL#:<| ^GP=~Lu$%@Gz{ @}xG\xFoaR qH^ޛ9 @{Qbİ6y׭h dԨX8$HyޝEKpmZ,;[ ~niXǡSyLj.'uj?N}ajap)^}h$8$:'nN!D8>ИQH< *Ans8q@t\,˜x4=@('i_8~Qǿt9h6Џ^" ݁G ѐGL:~Q@ 09ds(8}yBc׃zA go{0cLp@9HWw9q֘9 1{#qWq:t x#_Λs'#`]Hc(n;A`gh7H׎^Ɵ@GI=rOx$tHH#c=?;9vt{*z뎃8錜<{ӹ|)V>~PHӜPq=NzOv`rOH黧\i89B? wc *}'>ҍ9bGwfnpl_^OSQr:ǃӷP8zIR=Fp0 u=*~ofGc':@8 l+Jh@11Kv G~a`NoŏX$|`cM@{m-<ǰ>cճ$c9>T(8Gc֣ ~SpG8RhiўxrLgL~FyPcC:v ^qqs@ 1?NE0ے0O'q<3z?Ks`q`A2pq6}xm1xױ*`d7 =='.1Zdq1z9SBbal9`?RdAYBUh8zdgi?/Cppn1QiEn2IAto|t9}toOQ&x*2y}E0㟘d qr {y}LG9 6c%t9tp뷌=ڐr A'q; Qp xO'!sם|]@ApN?0<޽zfdg3ǟj s}zZnc#c{zI9Oa@bFx''p<39q w9H^w9RdNHq9LT-9?t׃rq1;A=OQ8r8ZHH`  u==NFy!rx .9*H y_\`v@pp(wI9 }; ͒9eaqr~t =2Üt\:4394a#mlzw1z(szqzi ~d12@O"w܀TϠ<9'c-?ϑ=:ǩ>KU6N\?Q4y䍤~ H NW q1E 'o8`,ǵ@[9%F8dR,A;z 8Ǹ8 uHOC$R`&7T,K2^<|*98bXFG9F~lIX"rwnv`=RR"r ;z`anJ_aIwArA`0'̩ @nzH d@܂x'OPuC,:0l89IR3@珥Op&ORy7v $G84 vF@ 4FI\ ǯvz<1pASQzw``c8U!;&ޠ{uL X R{n0Iu Sғ})~!I8ǯZNv ;8zP4z,w۰Ku7過C0qy}h8`={  2}qNc9\pzq@|q~#ޝޡsp;c) ~~H?:z^)N3zBgz}̎I< Cq3ZOq2<yԃ: 9x<҄U>b9U{3P֡W>S1w=OCS%o5LI@"H\' 1nQyqIx?Z^J1Ҟù.pqg;zU9<ϦNzfS)<;z3Rm#Ѿ~B`$>'n ~⎠|9N:^v3_;2-79 >RqG'8CQ1ߘgׁtK='8qLr[{=HI/ ܱCd,q9qh(3ӯ c[sۑsQőwcEv0q{b:s9c{P';X 7%x#9#SI:6 RRI~*t3)IN&IdE2;NW,TQ3m}|ˌIi]H~R\2NzUfnx7vdؘ37s=dw.i ]$=,o];H@FSr(ti^v*p#/8 .fhͻi8"V |#O^+h  ;u;T/n?{t!3s%嶎qE6z$#6z㠪?/'c>A~)?鑼;@`z _JcFvM8?? *[j;$w?OOn9W@ʫc^%$VLyksA3溭?Y5$9 T5udkI "FWw9LӼF`ѣ~dvp '8砪x%4h7/AeEʸv=62֮G+$ݺ6'j a9s-~f}[]ә6cfcvA#@#c*P1 j "NkT5H?ͽẹpqj +! P|7WsWʮ&λJݬaiYv|sǑ:Wi'̡ !1~4]mWE#I^k۸ HAc&Bj3sj[3pq>qM\.p0gu qGZ'wNg9'7vׅ08N9<; G8iwp'$,? #N|SvO >Zj?m(sz2p3î}~G??0/r?Aɥ W8rzs33CP1NjqFIxPc<|[=S)8ӓ<1>x0'=qJ=8>>U#)Lt.FI 5|xݑAwzu@Xc#>cG9:CcK #I#Gf2 v;7z޹RF>e'#``tڤb{`trwp:h8#62698=H@q6Nӷ#ui}pvz9I0r'_*1 éq=18saTqϧOaN88- w9I6yRN3F9҂qžJ``]T|8=jF/R3hzF189 #a'a`iKv,:zgژN29%:u;tҎ s@. Gwc߂QlAXqM=sLd HoisHz\gz)a';cwcr;&!888#9ܖHQDG`Ӟ~==ic=AC=(@yrpT[_+sޓ1q)=H# zci𫴅$ H8`;s<=)_LxF1 AAxAGM۞?(2O'p{u##q'#H#߮E!8vA}OlڎCIz+( ^؎AoR>#ާ?\b^0G=Oǭ/A$9Qpzz'R2A۫qç_g𠑓ہ9* =qzcئr?7qpOf?0FO8H:s9#^cIс֗9@ =@RTg'>SCntn7|n|0sc?)z|2}Tc9'@$>ïJCc@X9\w:dsQ׃qs@.OA cc9r1{SA\d= ǽBvn `MH?0IrFO1qp>w|ڐ=yϩL@<jLcԜ#`'a:Ӈ^=vO`:PH*ܯ`(9i=8P9' ހaӯ pwn_Όg =3N 3{n\u}iyg$n ~? L`9ߧJQ>iI9ҋ ^r}HN1K1ѻ8'd'ǿ=M 9'nبqО81ni7WvH89?JiR0`!tqߩ8<`S4BRHsH zuhwϯoRop1Z,v}:n~;X<ix=G~qGҗ1߷׾i}8'ԏ֐=cSƤcz@ǵ/S:R ny&P=ǯ+g8(8>8֓M\zi?^îs4/~v;v>Ԝu|*1߾{@Azc{Ӛw|q׸.'ޞp3JyޙLvs==i={p@ۜ vz@'gH}:tx1uy=J^ߏR{CP}9G$Kc:} q8sKazuLK:zcv}~qo9HQ =9C r:z1펇:^c+NOҗ>Ď ~\Qqg}87=qg)Ќ48N=zR3 ^Tcz #8$)W<ivAǥ;_c@팰OJba~:g9'Oq4Іrpxn3)߇vlvR`7Fqqs@ӃLg8'?1׽.ӊM8<?)qOۏo8N@`I)dRpp@❄;ns29 ^;gqJøs#B8㜟8#>-qNHL#>ߏiӐx=M v:hw g'GAE0gړoC?\1)g8_CM4 c$Ez}OQl/p1)lvwrO#p}}K?^>ϥ71ELzpH矦~>O=pԀoNx4`z{h.)zzc›__EӃ=O>ޟH:g8<P7߃zPHcu  lx:uwi.1@;>S:I9hzp})Ϡ<GM נQ=Wz`L ҌzzgA_Pln2OH3>3Ӹ991:SO@zv?ޥ cbǧ@y>ϧ\GAT=L?G8qA#'~ ǿ@G;>9tzdܞ0q#{S@I 3Lc҂q<*`wQ2X7m gR0>lnzg;܂N1Џq@;={ ci 8 p9= \`8Nx81t62=qx >=І @'<6'=rOl `cy;cA-1$F}; x%A' 鞴 LL;s# #F?3bH& RCc ;ԙ?7'vqӌN9@>=}3M8\=1ӎ})3{2HdwUga}|d@ ߞқA#z@#*5 s1m˜?$qBé?AGﻜyM!䏩>SĎh#<< 2ܜ>Rt6r݉9hxwrO_ƚ2Ͱhpv_j@p w8@LAGI=)g,G# .FW#(JvtNڅn8#}>0GL㿦1@\aS$ ApF}:Ҍc#!;zNPAŒm0Fp@#Fy]pe#$1\qMiXFO'pw#) rO:p}hf 1Pqר4_|;tr6=:u&99%r\Hb>d :RWs۽q clt<?/AӦ)/p31R:t$c?UmqN?Ge`NE+v:=} 3Grzrz֐u Jb 8 m-x(89P9iI$O8䑀^8'=i9@ : MsI}{ GM;8sʑ@+MIgۃ<N/#'H?J <OJiH\t9=8Nޝh\!?<IJ@pF8 9돥4K~`~Cza[pN$OPiI㏗%O'8-sK9{ɠ#!Fs뚇yRv`hpl`݈9rr;sxrXnP1>)8ǿ= ޹p~onKlw=HX+ zހq ,xbFi=9O<[>=3Iq90O%~=GB0OO9=Zaz~~"8X0>\{!rA8P0fONy)Ir C+S[c$A>1PG9d\;S% #o׿9$g֛2N쓎@AL:ultԃWgIW8ǧARxcu;'!A_0Бc3oÚvs@g99$׿@~b}@:^>;'nA?)I 89=xfS9$aE,2=x8hqxϧ'} tz:LN+Pr6O;H\P& :א9۠/sF=?Z(F2>pO~—s.02~׃j8Pz,820=x r@#98׵5ˎrXr8^)3A#9!GV9`Oԛzq3 neAQ܁<ywE82M;t'c=Dwrr01;p>y'Ò02pM=I\y|zPsל!G=?:hvg c81Ҙ SNx>8 1# rw)tHB2@QV3#֓9<Hny@ xKQ7txt*q7'3l󎿅<œcx#=8joOGoSjFOp1p3)NFzs?/ǎ)^#>ւ<g=#ڣr7 p3q)2s۞;~:Swv{=:d0'ڛ<:zg&_AlT:{OG9pҼI8HlA㎧ӓM݌NP(euê;g]489N*z0+F~Sq!#p0r8=zRN 3pF1뎵&UG@HmPI?4 1n:pqKe}_z>b~R8*NNz6rHӓҙ|,q#c$zI;)SON*L@Ї w=7瞣z; hU"zph<.x`{k_i0. Lu}A` '#'M!ķ˻o{2Rr2G98 <69l-ҕy*:|@zts2{GA㟭2FzL@;Yrpqӧ#oژ<n?xz~UQ7`IK"l7CyG Ϧ{ cNAzU8䏛 Ќ3?RغcjI$d j`0aqqB')C?VT:緮l%q`:V?8N1C#?3dTPb=@ޟp:䜓du߈w<9?¥ ۓO\g> r8ӥ;9sԃT!s׶9w(9G#ڄo4Зꚩä$,Ă0x=5ץ];Yyq_g-5gcU7Ek$uy)%+x}OYـWs:o-x goUghEIJ v2p&*T.$jlT2ĕ.ݎF\#KZVЂ,4p*!A2M%[~Ոg+ V0M^>;pNrzc[o\f3Gw7ʼn=1ׯ^4"UF9%nt NPg ق3 {sN*NA9t X&e `#'(% AI9w'ҏ} K(ar b~<9ʮqnjT]&ɍ# x9vxVCQF}*_s>T^Yd;rfWqx8cRB8 ݷ-SRK,W9_f9kr;8e_YHā#9S}O!`F0ːrBzw.8Tc/B\qU$%M_a^̳;Iè8T|߇LWqxł,0v\ Ӈף̶u=L(΍H7GN t|K̓yvyGSWEIm>{Ӻ=fJf%Ic1'!@.* zNm06\Hd:CpFR}+%sgxd5ޛ=\ kUV{eq_);qsї/OZwaO<`|{ϩ5@<`y۸rG(x'p;{qIϱ7pHs܊` ݎ́'3/˟Nsӵ? qސ`3:0pA<@=z<@M cq#۷|Rl`|&)Qc#t׀3S:) r}(6px9w{{J!;p0[ d9֜q\Gus8wp u8큏΀q)?)<Gz_X0s>asJ  G !zAye#ܚA܌q$2?Ò=y|P22 9lhA Ams4i#1ܞw)G<8#Ϡ9/^)=z~&1Өw >ԅcv=;TnF8ܧ>w}(y) <{#mzG?$}_ʚH #OzCF 'H ǿ=FO4z+p1O~E㟘}JvwsӶ:1|R5t~\c'q==irs/ ߏJ:Cn'}(|g<`q1sچH :~>@wc_~=?Qt=Op=iy! |ϵ  G6r@ӈ 0:r7s;ySTlqcrzGuNJI_lvsߞ T7 qSLqרz큐98idFxn=x4O~_N orRI1 $qM01GC8u> ԥS00Op:}s.@<`瞣G_z A~r Мu۽'VR2p6TqnOC잣#[woˎ(ci#;v$=*C'ӞGxHGp\uSÒ;8z?"COCԧ\r^>sv 䎹Ш~9)I-w'nM8*8#-یqǶqF9>n? {@101==;I ۜagE\1q:p~n޼Ґ 9_89CU'a t#ۨ!c<2N?;^l 1`zP!\gߎiŞ$d1{})X;q8߅0{OSR?:u89=.h9r>`c@' ohq:͑s9 _zisOLp[NǷAG8^H'( cpdcN#t'8n:1Nvz0ΌqcxJv8n~`ߧJ3ↅqRGns9#=rϯM w@Gc~>_oA03q'?Px0yzcipzGZ {@<^Tzp$sB##=0}קzgP:<׿|q8py=0{z$n# b#䞄z4mGNrAt+=~^98$t߃~N$'p zv`)#8ېq#>G^}1tHBy<Gs0 {Ex8<}93~n ݂F~cxGZsF|c#׹N}ߘuC@ %8${ώ)H#S}l= CAqqێw88o(zcϹ~øݸt“N9G9ӯVl19t#ޙr2uz])4U+Ԟ9ݏ\#0s ֡7nqߞG=3)=5y?;08BO_]+Xwh3\~>``d{sIis{Q` B99FAq$&?G3ҝp:G?O3#ZVއL{u'ǩ#'<!zR 0}sڄ Vw0N\`x1ccL]~b|LQ 過=&x=Nʐ>J_#nCҝ}Ǧ8L3;Ͻ)^BǞx֏tE O>3x=; c9?_)gqJ<1'`FG>~n8׃緵ZD)ǧ=鎿.דi}H{.逧$yʌⓧP:on 8qܜd篿 K zhȱy׽7yR/oN=>ґIצ20sEu0: {19Ls@1ޞ;6~y@<>=LN:7q(>QsܨHژ<ӽq׷8ߚ?_QiyLcT'}:?Jv@8'x4;$zq=(= z~4A ?=AyL ln84w$ i>) F=I-D{z z8'=I7'9<߯`9ӯu䎭xzRd~ϮTp8Lc'_C9 :%pi>۞<=^ 'G$G J cx2HT\rs3z`#$c c{GlKԟU\tS6RJgJi rq ?xsR8^=h\ׅ8Ҁy$~l`~Q8FA\0NArilI'y>$y_F/\gS Tc<ZhSo:\`rA~Q923< 0OSH=bwt`NB$ցVGa} ࠐ^8}}9 sSXrrרI\rx8aI) ،g$qZfPܜ4@냞'TcI@Oo?09)1ݒ <_01֋q\D#Wǥ.ܐ7ruEqAKzOS:dG9~!ÌcLS1qCƋw gHI>c5' } /=9$S眃n{{{pI9.;9t\zd~> Wy):qߞ)\t*\gTq1=)1q0A}Kv [ToS$`>Q9xn9zbb0sןE(C~{<( ?4c$L9tds{R_O4iϨ#uR.QFOPr?YlFyFx9'6:c8nB(g?$}9zZ??s>SQߊ`)sPgw3Fn;Ъ:6G99q8/9 8d`Iq@ g$7W^c߅3NG< J;O,qԸ'; BbA?֓#Ӝp0\#$7,pp884~8:zy$~}3ǡ@ÒF;89^pқpwv9JRGH>:y>إ$v`>? i>ޙ8㞼;G\A8튐`y6 hRIeU#=Oϥ68\ؓQvO) q9su|8xv%_nNxu#h>Zgp;w~HЄ'67uqMyp ,arq81c$n#)=Pppré>SM8zt`݀횑p@9>ԛr>\cr##NrNF>8^N>vʉIoc=)C9'dS- y Hq}*X2qJX06'$TiHDX:HÌ}HTQҚ :b8#U;c1vϠ?;n z d`ǟc g 1zu`Z}sq1M ˟q)sgp$S{O- :Ϯyj·ٶNG,횳&Lq};( c#rzB2{ny )z6KDFтzyb[:@Hi1ZF=cnXrsxӵ `d䎞 fpXA$s"GA?Τ$t}~b:NqrOo|4Nzv+6®'<Z[/T|Cܿ6ԙKHA$)AnZ|`1c־ eN7菂ZrP+fHՏ yko0fiۇcM^WvӇ,?90a,P͎[ #AS'wߎb/~y <+.jO T@;'=Z-m dI v@@%\ n>:xPۈu#O]qp8hqʹ9IsJʠd s`K8<Ӟx>Ty(V :`q:}sI?3(F:G΋ 1a#bw.xQf5(vI2N{'5 rxϘC=jaž9,@'#!kd ̓*2F[ U°I  FwgH@,,(2dg߭& O\ ?Ur(ۄ98} e8o}a"0ROTp #|8@`>a!{uZT,`8Q(qq.J)e'|hݒ A9Q0.Bj01U'<ry&FۏFz x+Hn>[۵!q`܎ZLs"KÄTHLp}WY2qDp^S>uLKGcKPq8k(4ue(T5S/v쥺Oq]_#| uiM\-OiMz! d=S5t =GR֝2Tgn7HЛ@>ypE?ƚp2313EP8m>dW; 9v# ?BHBJa鐿{'8C ;x=)1!<7N1S}F9F@3 O 'FAs8ϿnƓ l@>>&Ol|YO#8G# Cu8<{M\`B6d#sO~z@<$n :($o߮Y}=0xszק"ϧB8.'oA@ ӏR0{n+ךx;|2v u>GSi{㷿Jx݁A֛~^|dsBusӡ4mTnҀzvd=:н8ObN1;pČ97sK9sz`ry㜓G_~x#:( ךOAu2?^)xG9$v4gu dqMsc='A'/`8>ܞ z|$d篭0pq@0y=FNI#':mLhg'#S|w’9#=_ց?@OqcޝH;nzSD[9===Rs#p30;U0N=Aq׊q2zc*!DZqz~89{>nO~G'S߸$m厴$h\`AS q'㞝)4aԩg'I<6s89S qѺl9w8cۏ|`LB1T@Rá'X./^81\ZQ{w9q7L<8I wSM cg鑀`{OH3ܐxT4`( ;7$_?8GR`~P+QԓObs;v3}2}*mXWN1#/S$tLmö@'/$8'PA% wqqe 1n=?3aԖ)[ALnq<{dҖœCr#q`@83N)y^ 8ƦNGa#nM+<#&~{v+\~_犛CӞq>g::wøg}@zpp tӠg<;Oa㎙=JAqqyGwa?z}Grs߶8 scK{ U񌑏|~S:qӽ @Qqx#3{~4_C~?Zw>3☘c;z*AzgzբI1#H0FNvz4ǂG\gݏynAr8:'(zc( s91pIr@Fys):g0^)Wo;`xTrx-n{q)?N{qFF8Ϩ'4u':`Iv8948<{)szgN?A=F;J=_wQu'tSrF4:gɠqy?RW 2={ Q鸓o犤'u>z9ק8b;qGr ϡ' 8s8LCp[pN Ӹ9!>9OSѓpp0GSߡSy2IϮA' :z02qLwTKdtr<`9!?89 `gH3RGS=zU~`Kp#?˚nq`߂1Ƕ}%n|ÑY׽8\:OOa8')'H3ӎrq='~E#ק=NF;~4z}Rsӿ0 s =h$~8PU |ˁ܏lu>:c9 X63_Z`IT'#ZNa0@%H#4pXv 7'zюs!:䏧\gw>f ݞwu?iv@Nh#deWޔ@@ 73`9?C% zqA=Guc`Cӊ6 O1(P08P3܌cu>@;= c#pg{Il!vHxfHW'9o;q؞ Ϯ9L!rv; CsU0$Ns0:&)ÁFd҂0xlG?J>CP1GonTy%t?yB ׁ==i0r233d=};>򌜌zr0:ٻy9<ϨǵP.3*e~A,pI~9(@pprN=悃ܑ59pliza=Ѕqq9S={Jl)v@0qv۞3Z?{q'=8Ё>^GP9Nf)-y8 :]B8#'ޛ9Wۯ~{sC?qI*A?{tS8^3On;F;:Ǒ'#=8l<=SIя=\9?O g ~ upAQo'#׌$ 31Ϋ`:Fv 듃 w'88n-?uW0@'x dQa/:㞴_| ʞ?)  \q( ;ӵp8Âfϥ8u9##$ X\9< 灎;zg֝=rwc9#ӸRP9:˟^zP!vnJPA}%OOMi^9 3ӯ~5s>NrpOCϷ]Fg#8N<ӎhaFǽ!c2 w;h<cwӎz|3$5 -7|wǷLc[ Q`{ $cyfa:s4sѸcWlh6_4 <63@8N<$90:sc.~mj@8wN2?:]D;h#|#׵& FA`Q֘ #N 027`|]}d$m`~CjRmؑmyg# t:zӏvbyP;cL@2F@zqn6< <CwgqLA I 8561 1qO7 dԜ&? p ڢ>dgt [tJA889j$sOaLzb0S9 sjC׌ 1\`s}h2 sTy:@S<~;Fzr6zўwIyoƘ7;s'lb v 3 4xdžÎs8 t ۏT!~^rp:à$bO~=(@?F'Լw#7|O8N8ё9 ~nr9$}zP t#=FE!gマ;;#EQuI=cG<A='ӓLt^w@)g8Iw 4F6XHc4BI;@;=hqV;c<>Hrx#zP~\q|:P;p899Ϯ{j.H8<B? Rq9~S@qgp 8@q֙ ;}zPH<8:qҎ9cIN*3בHeN翡8{T,pCrA<r6\z`/$9S0W#z Qu2 A J`s?1:d8 Q7<MGpQF}OJG=M6O>J d0qrs\zcsȤLʌ9'8a01pUO#F>A89$'8?!#AG8\z~5CI -ӚiHIO^)u|og2 al{2`GzNI A~#̣@Q9r~>i,#'ؓe$(8!Wv9<`zdQ;g8~= =ݺցn0qלspqu@9}9`@nI'E#;XdnbN{?#g`rxE"& c 8v'ן @F8Q~Z`esp?@gOaڜ[T%<:޴ѹp=䑎qMn2:Nv#'c9`cw_qی|ӜO'}hC)9C>nx۞)r׹1a$J͞zd#q@ p#GS^8=qo\SV(z)S 85zh4s 8'<&Js3[pv?/#8HҼa"7)`yPnPPF21RRm0A g?75] `rwH֥*\dv8a`Gg9'=0~l1qړ!&z #A<: |r~UOxE^i#Ԍ{C񓃜w#0ƛ[d19inDq8=|giNI9POb<\\pG dA\xsOU>eƚI';FF; >j3^sz7yPp8=r$ӑSHe{9#>Z:m9p@7N:\SO b^{F8=)LӎN2sS9U-ܲ<`pib>/df@zeqy~=HϯBFQ'*]ç?7RG)HH^1UT7}xMp~NK9s銨Flyk鎟 dzpN5iv%zs :qE;Y\`9\cH}ֺph99ܪ+sdumrG9=uHRMBv5ԦCvĤS4GOR+B7/rz3UF`l[?7 [V_"DF:6`?9AÒ 0@~aOY HRd]?'8.)&Fx63/m<[?|" nY;TnZg%vcPF N9?m Ha2n !20+ݜuUd`v:4?ыe;qRC,gd\q9R'#~V&Cx;WcXԝ=![ pǨgaUXx݅' g50 19>T !U'O2 sGFC%F'2-yPpB`ڔ{ V==? :|8<) yxWG<7\gSLqun>ORdeȤ.1~V\/z5Mp@A t?8v0 y%܎qU$H*>Yw6 M֜c€F|Љ@㏘5:+C0;WаF0n0O^'ӌH` C), ۭjIw;+ZtcFa?r׺]_s>=It9DpʹϦ:WZ%sclt}f&`G{c'3sdr~8"pTdvҜOBxq`#44O])R0fxHR>ns펝 ]:N.G3y=8z/q }q l8Hc sizd'9 '(;IqW׃g)X q~J&H\z:QA<  篵 y%I;9xo2:q(F}A$G?;'WoAyA?w d Q@"S͆=4 0NT^.u^9 QD}8z}=w9@vH88?Uj@ egw.@Yqň+~]!psp =A@=xhA15,p6zw 2A'* p}=)7vFO8<ҐнAnWA?/^GNyޣ>\b1H? n c,x wm٤;T>R?ׂpN Ax$gc? gqNï4ϑ=7c:`c hi϶:Agq'``㧾v׮9'i1܌i;@d9{g~9 pIq[so"$cʁ yaߛ<}Қr$gw{8݀[!#'3;@N=rL;r2F7<*F$f8G8=O4܍3z.Ɔg3~?SoU'({+7n=A>:  ~PO88?_Z\u=A~$xsHFPA;Sq㝽9'?ZXry8d9=1.zs#qq@ @Ǡ۸psd\/r\'0'A~)@>OEv03p3~c2峃#}\Ms#=9rX+?Rh;hrOwv=q8?nHp,NH۵;8|,=ֆWdxcٱA rua<{upA$A֤gv@'\P&!IԀzs\Lu1@?׎)w' ߥtv~Ǡ`:s6G\РA;I#ӿ;rHp҂o8^828ON1LiLx׽ @1GRwgwkt_aGqI<`[?)@}}FG<w dXw yHz_@v'89HwG rSv0ݓq\@u!#!ySv_{?ʜ9:fq0#ӭ4ӏKG}{OGק?AHwgs=h#9Gq1)t=X9;g9%~jAt' s8>A'p|@8N3ǿ>ւӜw;cߞJqΔoNp{ ON~Syx=:O<яǶ:vLw=֔ Ǣ??Jn O#=}8q~3;sO>@ <Ƿ=G9>LO`{>T_ wZx'G1:~s̓p~_ZUw{s_C&q=ߗjQ`vM2RwcOSV8{s_a1z`Ӏy+Xr1F=rr3:dzdX=T1$' Aq(GS~th*Ԁg~7g87t{?J:;y:qdr$ 7_! ~X\ g3@cd#篱wm =8=."r;94ьd֩- <`[$~tp@<_A&Q ~]Џ"à <c:1SN^oҤg\uϭ8{N}(ʱAOs^P12;9#'v1?]sý8ѱ g9篽2X= w\w'##_ <#q?\p'w4OQV9O#7\qKNG@}:Ҁq =9!#r1N]#w==}@<0 #d< O4PH<秮N;!Ìշޜ7<1=GzhCLX!=qF3H? 1z)ѿo8}x Ni?/m?w܁##=1:7~X6z~zR3n=zg8ܓsp=#|@$_)d Fw6`g=aGAXHsGP18I#HN@$ z֋ ;FqxGX}}(h~G uc֚NS>`>V#>==2sQݒUO;Ip)Ҙy\[8{`yCGjvh>u: NsVtS)pVr3> h$8v0O)>q8<9#={ڤ*Wax#מN: sמX.Gs\2x??i.dϿ 9ېyOƤ{{~s3CxwvN8'קHy9;{x89{p3 sHC@<'.AxH>Qy rOLgu w8=y~aG#8xZkCdOPñ9o.ry 8H6p@=ZqPĞ`st@v#Hz~j{8;>4>A9=s==S?v `2;{ ##AG79n^9NGZ\ }ݒ~,N 8$0{Zwz|pxz)y q߮zsK?|PH8z=:ׯSM %1898`zs#9l`&HNGQ~x␃<9w:P/Rg6rA=GBu瑌}yJ[tc\;M8䜨됣;(IW$p?,` s$uZBA t: +T~;tR_ր9$|<:֎> 8@=r27g1֛c-`pN g3қ= zҀ px{1:j@@98r3ʀ#9yBOR{mqNH$)^=2hXcK#4/A|9!y~^u'4ws|/횒ONt<<=E4y鹈c:?NgG9GJ`~=w6s~` #0}H`9NswtX'rOLs=!ޞxrHcrzA*H3?Rwq>>A ӽ`9ќgw?֓3r d8ws`i 1@1 Z_M`n!CP$@`N3ѹ]zh8YXNsz>^ n7u!A恇$s#˓t7Px<*1'#t~y>@-NO}1mWQo͐-<tt} otPF9x=(!HHt#҄2=*Fr}@ ddsu)`8d:æ^Sv *NyZ`'ݓsž\:{SèǢ,rG> 펤gzR&2A O^ʎv*zdzgsZq8ۮ <M7=$Vt9/DeD] qW5]1]"nsOdeDdfn nT@ xRGlS{TiDۤ}ĒÅn~b H*we!ʍexWBv06g2 WsA?oZ 4~fY*<*g:K3d`<w pNpO90A@'9 N3>䃌vsX^PX$s, mSNrHx[4 sz@G'\Hzgt!1bA<ԞqM u q9!ۑ =_ʄʜP2^OsOP7z{?3ܖy#'>HX:0Gh@(~-H9Sqnr(`Cʣ'?.F?)$ P0|ǶP!>scy̞sy4ÞקOz9s7yR@9s@nTGI ~r1߭orTQI븆td?4?.c''9?! `8~@ 9g旐Fx#i9^qҀ؜r?ZF9 rqNx;zRxnG;GlxF9s9<@\ +𓌩>8=I Rqʅ_Lv${PA@ }(ǡ `v?&DžAHd/Jy2rz!dAzN4xaq4[p91bN23I-qn=9'y4W.1\܆x aONg $ 'Hmn8z1@)FzA4[@s NGrp~cp~Qa dJp`w/,ьg%OƋge1ҚrO`<R3E<{HN~N 9U&ӟg'=ޢ v w=Ν=x<GSqӯZyL}pA^q6Lc1^*=xw'8C{$9Ra{c';qL7S1y884ch;vIq6QIP'<1($c"\hONq <)qߎ怸g8$ ',)7?_y>Ԍ289 ^i2! R9HO^hǽ猁zf0@h#T?4یFTd0 q09<0랽y)} `ߎI+@&4 AR'g8LS##8=t*{rzw-IWJr3׃9P10x9cNG=x>}jRƎsq<9^JM 2>wpFzڕ;ǿ4?xLN=NqzB>x3!~@#}1=?>PG$8i $sO?xxNvԏ\sߞshs`g8=KOǟҀ^?_Ҍ8.ӯ=ӟ^={z*7ul.Iw#{O#;R':Qy+ڜ;G$dt֘ 1s(OQЎ4dSԒF[8p>=y4^9T.Ss88;֐q>(S~RsgPu=Np -zwёp:s9B9?\x=F)1 }hlO|qE3zsӏZ]ߏp1 bh]~Tst8G+ nǽw=8çn㜷Z^PxOjtߝ!sqtj\ddzgӯ8%S9b2G?U\N0zxϦ;Ro8b{GzGg8:{~\(vvhD 810Qcܕҙ,xq>Űy#o!qװ)'qQ kps8'<K8FrN0{uCl(8ӯq@'og `O:ޙ /!fg=#ӜRܞ/;=ց~97 돮M!scopO΀ H$|$=1u$QGa?΁RTw8J\ 2;?6.F23x3ڂ2ޝs3u^@?0N38푀ˁ$~=ҎFx@(3qaFM&3`9"ylۀ{cvFGLs@ sԎ#;y {g߱ݎ}H=qKu }ƕwt0x0< ֤m>3QڀG vO';9nA}}Mq'n'>g[8_S@ P?7=F6}FFH"$=bz>SzTc81߯s@7zs3M {Q@&0q g22G?zR7e2*r0{Ҁo>ߍ16=Cޝ=DZׂ=i q9N2qڜ1b{0$scq8j@9' ,9Pq<Q('oG 8??ŏq( $ _J3F2cnh*?Zo מFIנ#o^oIOɠ:??Δsn:w`1 x%4{`xjSzO~1ւAg'מ:@y vl~cNC ݞ';=vX8Œ1#Va{}yQ;n 8j߂OA?tFקOj]nI8@#ۯn8'2Aސd l8zz晁ҿ99Lhpr@<>8 asv25ӎۗ' Sy_|n?)<n409nI:dt c\^{HF:3c*/$vAjyP!8~ WG"NpAP{39$)9r0v֡.T '+=Ġ0͆#ǽ/H9` IwSCc=U͠7,B=ݱVwTy=׾Zr?#XQ_=$G'<Z"ۈ[o I=yrp=yN|J~<|v9w|( qEd.rz9#?ql/=;&;!yCv#L <#>sBl sF6G˜s:` =sߵ00@qL)=rTcT8)v$ю9$=4t@> ӧ8]5\bx?H#yǵ7ؑHnH#t8MCcO;ppzcsu4ր.Ns [hNOHs:,"#$ áI'icќ2G~ǧoP}juXuHfZha"s4-Nw^9]=Ցddsj]ǁ铵r{uUoB=y8K&6#i\y qgt~5~>y֋Ӑ')'#F3ץ|9yOQa3I_Q?uF9YA ݕ,cbnH UWl źlnڷGoB2) g9R\ _%CWQa!(8<VXo|l*έʁxڿ8rk?9^[d der z=1`x&pn19?XM|r|;OLd-u;w1$pp=9OS2;X1Cm ?Bs Hݴ^b1=Et`BJ[jfqNs֚0== 020p{՜T2d7ٞ7zl&@A8R09O`:LSiWs&~'~9R檴}fh#8FNT*o.#+)ۘݹ)M<#>vvW8xt97B[h7Tk+{uh#%*#+rzgӥ!UQxy<+f29F{?C;lgjlv? $Ө#=:H:`n=8''zjBss yҐs$sׂM9 3:\zwP s1׀Ooj9}1x$9A^2>ao'$-ӟ xc2rG9烏F>ޔp0I<ݤI )I:GwcPtR{1 y(SGBxyK 'gXjrsrx`2sѱh)ǾIG9Ž3Ď:wRq^GRC~mI$zsoza8RS=Z28rwy*_،GC|}p{>UNܜs9=RNa;tNR''w=iupyϾ>=L;'nq#0v[O891ڎI=^X0G=Awܠcǧo G\Pu Ǿ1O1#=;קB SO\]..u)ñ .y޽q9Mۜ>:'קqB:#{?_ZP9,0X @J=@y2Ga~UsG0=|z:2}1ۍ-{Rm@T9<Es01@ s2/?^C0y$(0ry DZNۉ szHc8qdcLvxNN@giǧ#i ؏'֚s##gNwd ad۸R>OJC?q8#7\;zIFNF}P2@_n'0փGp|Cק4L+O<`sJ6$c.A qǷ&ޙ# #=zwb}?d7Cӎ2+8#\b/A"{R)C''#S@ ?LpG~{wOBy\t R0 0=QخCpy I8U{?J^.;rH'1@ #XulN8ǧ r:1}@;P9|}OZn̎r~nă9OT6ܯ`3Nxێ1LgS:#<*m sFF}O Aקniv ԯ`:cdJQװy{})˕ qƎіܞ=׵N= 81% QH=}qAvOý0$H={NݞpGAL=4X}%}@^u8%PyHڀ qo}~9Kg'>=#; {s=F{~MGzcJr=!WT<1?#⟁$*O#x8?1q9_ '@@#8'vM(,TA#{9~?Gl `1B'w`zԆ<*@rGq8ƀ';g<)װH'ۿ4Ğ8Jg\q2yq>nru# =sN+G8pNP!vaGBys3P9<Ìn=88`Jlrx 1Xޟ)C`bsre{ 89;v1AzTd`s~sP=Iw'##oz3ǦO_J]J#1}jL;瞀0?ic\d'ӯNcm^cHco@BrFA/\ޓqIz 23| n?!9"y s~*YIۖOst$Zo~Y@g~ZayŌ$zprnA]G>P^;Ɔ}XZo\=x"=8\=EHNN44^`8'>>PF3LsQ֠:^9q@ cr{:t$=}z t#ښ '?tz_lzz׿zf 8>Q@s` wǵLwdp1^2RhszR+cpa#w'?_zhx$qՇn1֜gzqsUr9SzOcxNsJˎ e hBrO8$ӂ94{s qǽ>3< {sAPֆX{gv@Ho rwx `g)߀:3cg ;RPyH\wct?j_^ ryi^ϑ})1\q#4=M'G=I#~''?.9 ӎN(pC'=33QloiU`rOI d <PP NFG֚HNp#ECy'FӚw `'89p x9ǩB''^c8~l3zH>=(#?.p=sM\:?ڞ@NX1׮F1LӒpE.sP{r8''cꣷ3Bzp:6OYI3[vHt y->0x;1zpx9Fstt'g?(|ߊEN{p>HX1=) A #=(%zd`srG_Jwۗ ?9$tzr7$8 C</~$(t鎴 }h.ݽ';<2@1CHϣqĚ_[z> ;ߛ`r;{P!X\{d7l)ݓn2ޟ^=pyPz\qp1L;zcw`n'M_neF^,0?ƀ8V.8:ץ8us#p۞3zS\v$Tx۷a1'J^0: 1:ӇwPp@?!퐸&Q?drFy$y0ےr@dׯ&xGM?=Joȧ8;Nz {tb1=3cP'/ CKpx7 q&x } )K(Q #vz`u2Ihr3A$@8f'=v2;%9 8< ~5Hs{n`^ $9 =@m=;gj@Q܃G~bQϿZI :A;v~΃gj 9#=x&m g'1c 0rpL*OEp{^:=8$+@<㞹qsO;mz(a-\L2?F0 {go_ W׃ޜHnq{=yb P=' $y#JL}$yZ# 892sCT.x U@b:ߥC(a.?{G֚3aF ϧLF;.Fpsgڜ8#wcӷE/#ׁpqI꣧OZByu#g?Ф"2Ud;jw?x8bj@W m $4yBI B@uO皑?JH(򑃸yj\GsO_=i< pz}iݰ`0IRP<Jh,G{#Uc6Cvf`~B/Ӛqï [<\ae9y#qx(yq3 G};6#brN>fbyRo~o܍1տϽL;##>zUD 92; =3ӓTe8v$Uu9OWrAO[yqVe^H Gcֆ|q3s[!wsARrŗIc~丒A9C3x*p{V2q'jAq[@s#D OL{s/ORzq׎?}3p;SN{O'$ӥ zd:)8N =};SB!:9>^c{ 8Rs?NqN{9{H} ]B޽1U1r3Ќdgqz;qMm.Xccԃҟ O߯BԒž쫻YN}\b ӍXl,({d1y @H35EOA%vnQ!lz9!*O** GkrU 2gh!@<~~I2:f3؎9x{kn`GB@B) F|NHIJXBc3JWoVSI;\ ?WBbt,fp~jE"=s9JOBQgk"g;تs<09䍹R0yl ʝKzmQz89/?xP|-A@ 6知D~bKpFG<qOJ`"*s(9L m܉89+h3n#iU>7 3IpHsIo"fۃcr@ǹqNÎq>_I5ǂs 6y!/@dr J#fHbAoip`H; If @9}+`1T=. C9VF(۹X8*qSn܎mvM!Wn8 cU9ݒxS{jEIm窨忇<d4C)ڟsrwp%Ou?C$TH~9Z vYX  }}=KCß31yF$۞Ojf#dc=LD黅F1es zwׯ')$2cBrA  a랾kxlaWc*7S.G9%ʃmA՘Ajz/C%dU00 }Q±f ם{t>u+Wp#;OP#59prGH* p䜂HaR <@@I>ݳG3϶{sO^LF's}?hry=ip9pG83Jz㏛qA#ք0y'7ۥ4s@uysw$Ϩ☬}o%vgn^@?8;׾Z='ۮzrOq#sK'n3{shA$'Ĝd'F tpSߎgzz)f?Qғgccwr9$v=xts=~  q$|3]ݳ3hO x=69i񝼌dsAC?7'<8ǟv=`F@m{u{҆ .Kgi~ )%Qzޔw8<qs߂{Pr 6u<<98 pԏ^3ר3~Q#ϭ?n9>p:dc>pMtx'] iOw$Gl㿯J{ w''`J[?0yǯӵ&IzGQ&ϘIHwr0K߷9i łT`9"y;sz`ԖUvь~ENp8;4xR޸I{ $dqx z<h-^M C:8 &[=}N#=0NsځT<~s8;c49y<!<x#ʜ~\OItݞqӏ)=q*OBF@H*r7g@=E7iu10r8?/@I=<Ʒᅋ +A\y=+ OsKe;Twu1XJuƔe:r>ץcʾNz{ 'd^T `1g=yF:R݋2 LF-Ilߠ5rA {])dp9GR)9\峜/lgCב@$ g0?/ŽrrH=FI<&8FN?܃q^ޝ98z჌u+/짜;$9(qLсt-xu'I6qppsc& HOSIwҎ$6>3nMB 8 ;z񞴘9ʒscn;rP@oz}9SrǞ80r8 :`O`r{)|9P%w8W=vy>8'@:== FG$#/sQL<r91qwHw$0r8F{{s/=y\{${KQӎzOLN1}=<Ϲv1` ^9{w =cC!KG'LQ8P'ziP+sО9㸦*@ʑ>#'S֡G|g<8~,bd `'u2# RC0z{ZN3I9hCӣ`Á0}sQ9 Iy$tݳR GNAgxߎz2;nBmO8=9ϮOn`FޝrxIM :GLH9)~l@sשeA>x9&v)zq"w.J=l϶=^88㎿jL zz`=SF34wu>{@?Nz~?{s=p88z?1ϧ>v㿯@>8C(}{gۚO.Zixj`IӜ(ܞquA9㷿֓?Qj.19#==i1IL``sϷ֦ G`q=)܆.tsqj#;BAީ2ZӧLs '9^;uVC y;~\g;Á{4nsp?1l^)zuI=o9=ng4a9vP>)xzハ\rsnM}q=lrGӠ@l40_CԼOq9 :#F2 e<R$9n99錌#y4'6={C##;$pN=9ga@ Nn`p|RX*8$n# ˸'@@OZ4;n^׷ZgLs=F פ1O`:{Siu)L܎{`R3=$z{~r@<84Aݳc#?'8 Aobx=(v8GIgs~5:ydv9 ^0; ~yt1])0:8#99#= 'L@81Ni3qc{INt'Qsn9 Q^4:3ϡNhS9ӊ:g@?Lp:s@Xw:$1ڜ~y={bXR܌ORmid`{'`}}a=:GҰ|.F{u#g=Oz?ӻW'>=ێ㚟dco^5@0ޜSsԮ2:9c`P:`l1NןBns$v_ñdqL dsO8=) 9\^%\A͎vz}3R</ɦW<0A?4g\pr=O\J`'c{l%< i>2139NG6I+ ~)zG%3 c$`N朣?9Gqg ? n7dq<瞙 -ɤd܏CW_z,UƑONOˌd`g@rGm|qNJ\O##c9)-zw9zRlQ}GOJCBc ~#=眒G`rA^68#~I$dJnO PÆ9"w8=@)< ;W#=_֚  U7r 8ǡSAG͸tإݱ8uOj8$`?Jh=Hi0@]`R1cӶ灍7 :A8 sߟ})><~tЙ  9Ooփ{g3ա68)a8ղڝsrqp[i989֘qá瑏b?< w'tS[Q@ xrXw:Jp98#OQﻃ9 u擩().=}C:c'Nힹ7~}A'~G֎N=00[\sv{ @0{:spBNxOhzdu3^֚s?)=gCuϸ;'`` <) vu;qH89~U\pHL@ I?iFC9R @:`Tyn`zsRHcv8'O'3`q=b;H2{ G J#=PI_cJ`4T=:v<{ӱӜ=ǥ&Qc>Č8q|8:I?!Q$S.prB9=ǽ&l9 h$㟛tSnO_mf_s |9P$9ucC[\`g0U8Å#'a7dqzp8oL 8;OAcg)T0ln11U6!krB8힂w(yª|Dg@U XA&W9%rsboq`\ss(&If9>zT܁DN[n ;#zԂG, rcP4q%Wv:'WcHE`s$sӷ 3ך%IVz =Á8O^FO''i ǧN9:`$pO 79H=`G˓%=OJ@2@`28`J|"I ˃h7ۺrzcg  NOL} n]cTI?xd+86z zN=(09#?1eLd׭'sp#:c=}@z}~cj_^T ^sʎbGc'#қ}I${sʃ 4HRH8'=f@Psl3'*a@\9:u<93T`Kr 9*c=F;P~Pz;OL=)[8'99>E9r RK r8;by~nN~u+dINi:ןA瞼scي=3B|qцp09 1~ ݽ38!9;zԱ# ==ipqs}=9)pRN?Ͽ1pB8ۑSb`u,rIPGҗ>pr. /Gq#zA<t#=T n;92z~t$+pX8qL9NO^# 9㎣i8 4>;0\qp0=Gc0n~Qw?u`/'9zpzt\`3=O=nrsNqn~(܌c@99{R㓴@܃19<!ӳ?LBdzrpG㰧܌N;q@}mp?)q/LgޑW^;crgǵ.#݂@<?iG'6zrz{GRzz;u'H;HB:`zL$zaKG@|{49Lq41;A__^ 'nO'y>GF lp;zPSӌߒFOƎ3ts 1=:o':=4 s ~>a㎇S<j:C9>`COSR;rz~x(:ssP28-_LPƊ\ ˎʲob 9aq$RW0,Ț9n׫-Xq`)\dO98{$=bM^3NeV1e@0l#uSKTkdp}tSg̭<"➜>otpœwӞT'^+(MZK,[ lg/{n?tzW%utM|1'#ӮqUm/y-?sgJJGNJqjp.÷2޽["J7)P1Okѕ'gcUX.r9_`}A#֜^G#?B9z 3ٺ)n9>Hu@; 3H#8o\w w;qA9C}T*@c֐pG,;dx@)xԌt C9$u׌ 9W#4 }\z0| 2x/1_1w>8PqSӞh و#9 n3A u( $qۦz&:zu=:v_V341n$rG~A|Sc0@_~~g#^,PnCny#۽G`r0^?b=; FjR0 <@tG=38?(3́`=8/zr$`q@n:nhgr^{n8{P!pc$` 3J9#$rGau(/PNG}8$syCAnzwnSgВzݥqt|99*e'8T?x: t@z8Qs $`0'p?t:cpNz~çIrrsOy;8 d)stv灞=??r8=vI =^=zq`~3B?([9^rO Lۧi!7n@alpXp;zp=3(@\2i8cڐ.6qϯ8ucR^zr;PG#o_LQQߠ8}yaq'?OJo’H IPƮR?¸#ӊLcz9#{Rܞ{ u<1ꤜ{ }} 9 ~'{csN1a玽@Zi'8d&RcʪNG0"q\gpAA#&O8X搏ǡO}XicOc)$r8ql`w=z~=j#A܏cۚTXͣU8ܜޘ> 9?K4_s?9ۦAҐO|qR`'>ǩ?@1? x(i^893w'rzA7ג{'Oǡ?98}{s^/Ҙ c߮3Ϯigf|㞼PS48w7aQ]?LHϧ|v:}37w?N} r{?GӏLg8h}sWq&zt=>hxqۑ~xpx']qǶ:rXc>9Jܓ'ONĴ8nrT9 ?QAx'}V g1(8r}IpzsӡHܓ94x$'{' hFrA#&'3G|c9 cR Uvz #8& =sFp1cր <b;gs w<7Nz+GFp1猎q۟N4:2<tg[?/_ϨpH<}Fs=1 #==pޤvF;X#)= 9<=O?PsIdc?8?}sǞƘr?.sӷ8ƆrFHޠp~ߜB:=¤bt[Џo~O_!gs֓#oR`;LrNz=x'Nq{v?/Lۜ^h9qց}$.܎<v$13zv`zL;:4! {>};N;I>u޼zп |jn~*FG~}4qӁӥ1?_Q]/"Ϩ鞜=i}q?Oh'@Gz;?A\g=Z@/8=&9#0?t=1#>qM߁ǵ$yQ:~L=TaӞ9=@s9nө+=?@n.x_~&nz! <u3N;: یR=hݽ# !1x>=(=y9PH>/A?o^u߶Kl~^?O}I#84g\t4y3_lߧҞ _ass}3y㩧{qALM 1U^1Ԟ~SК|q$O *0).בp7 O|visۃMx=:=M g!siקQNO 69W ?*vvӌpOd3A9'sy~_pqצp;dϥHx9; Eq=)1u>t< A)F9sߞ??t8l;$s@uϨe?O|ps_Æ\HF{uGL*y0r:m pO$v8 H}zׂ6/'>- >ƛX`R8vrI8#<4-g䎼t@O̽034@xN9JvH az0 0O(<\x 882zRW-c1o]o^istw3קJh';r )~F@F{P!AyF9g{wO;=y'SNz]6GAgpAop;S<34 '~֓yrprx q?0#8`ps?(/@{3L:vBJ˯zcoA'"\cq'ztOƛт[?.;g=h^8|ޙBzv^>V=G pNTun ^FOBx={PGPN[ #?CsO9 N~6C#\=q=:v($#>n0Î:{Cm#89 )x7*G=I>ruSS]C{F9Vyp@v9cpBxl`81žaN8$Ӷnl~gPv8d[z`L Ny7cfobN0#xINy}f;ZA? u~pƗP zGSQ׎sN7 c0B89|sIhuN8"'I۞)wFp8''PS|x'#_jgR!vh8#ӊfH$ UN2yоz8&10O gۊy jF})ݝH8M܎98=?/c@8OQSÒO\۟FF}?(q Ar1H q=8zJoLtzg@䂼}I{0p9 w ^y68ns~91f?ӓԝHǦ2@ w8ϡғ8#|4wyn˖xOCJ^p8+ݻrPqR5#HrqRHFH xRr@ 1Ҝ1:8'J[dgn8 ~qLp)q`nC`Wۖ=O'=H#vwғ #˸ⓠp*2Ay>{) wrW3O1GC><T=@Mp'Re ï9fPGB\Rm ܞ2@gci#v}r}}8#8!yc]dgF}s֘>$2qHCHc?sNq98O@ CS?^JPvxbA##'#nrF6݈'<`QN;>6fs^:NM2<D=8`_0= } #u6ބ6{BA8?(_Nڐ@sAէD$*9Qq8J8*rH鎴 Nۓ1Z 'r7Nr8H nru ~]ꖈCsQ #psLCz,U : Z(pA?pQwA9Hs$H *P*A`O,>w#qsS\$v>'=jc8+d01^XSЩH?+h;IXr agOz?#VJPcFz`櫫_q,q pNar)˃ܜNGj]A @z`I9|dSޜn9<ƘY1ۏySگÜ9 HORr=۷֐z#GL oM< ׃ޚBu^t?0?>sCBЂy\fRxry#9'XN{oåL S=y)e%>CwN0($ppwL&m#OpySp:?iՆHq {?cUn6Z Mt + ϽxNƍAS0u^ KGve"bG$;F21,2^W^Jd<bP:.v.z H,oQrrSV;pqƒ7e\a`4OA^wr*,)a@8-s"u[76 ^UMt6(`p3x~JK&:_Fʹ!u95mBG>P$zfJ:ٝfeB#0>n3F8'# p+wK;F$ړ#/$AI=F+6c=3GLvyR9GN#;ÿ@r$er~n{}M;hQ{ w=Gd(OOr:L0:iA{@t80ǡӟj?Ł '*SrN:õ]D >p۱I#G'0I$`}1(22I7c

^l7\uUg;)w0b h;\3֌ } wx)+y8Fr:zs@ qFz|݇@qg*q:q`w>>wǂpN;׽!ld1?ӺgܝON=$0=2I8s΁1ЃsK X38!c`u8H*`?.HjzwJ~F=I Es䏘pqdzZz<41z(nЀNr2rsJC}9wjL: ;q?Zv=@swi ˂}i< tta7F׮h c g<8=hcb#8oz@8#7vQ5 ;g8$㟮?ZvF n98zҒ|#AϠ=i'rgq't0sc->й=x9! tQt"0c=G|+13jE<u-aqQ3b^;漃T32Ɏ 2 y*OBMLEKE8Iu[.X'kjxMH;_ d_[8۶cN_qxQy$l|? -8d&%tvaDg!5щⶳN.̜\ZwR>&C#2^b['fT_ j)sEs$mS5~ !Ul,jNÎ[Cw(u&l26H$޼"ݼϩ1mޕM%M u#WGx!9GrG :z~4#>ߎ0$s9^I=8)t=I^scTv< u7>_ Jc,F=St>@$ze# ryLj @$c^3~qP6<rJ>(`s Gkz@GG<ק\40IHOX?NX֗p z8過?,[Fq }Z=r;z O[ҀGS1`7=Td u]Qт6Ozxʜ`6Jr ky8G_^hpzs|$`,6py/O֘  -qҰO9GAq{Inj` }M0H=1"; <r^1 ;Ta[e.1qڐ :8_)TdFqy= 4|= g8\۽bH'\:9Frx㑆 4Ādsu9X6F8-߽%ݓxc#9'yL0A ?ƣ#8 Hrxqg Cs*\t89=H0:: a l7j01َO>w'{})}q~4FNIL@oQ;/{4$NJ8RtI O\HA28!=cҘT1$*GLPPߏמqMz|{f as88CMD+ጃӦz' s?רLf9۸qzz"vr(:Tثpx7pNyxp0N2&L PyG~:)w9;`tӥ1 v S'88v#]Cp]rrx'8Z`cGxx &Cz8^j>=y2qP0r}sqTCO\랸e  rzg81fqv<{IB CG 1=1Fr89:א?~~=Lbzӥ/_Q߯zCxAMs:fx :R~Sy}Ng霎ǏR^z~ga's9{?'4!ߧB9<“߯}1@3ӡ??ʓOd`#=)qCO(׷S1׷@Ocߊ_ˎtP?!㚝Ϸ^—'v<NO`ssI  .#NN01B玭}=)ݿ?zzcB9N{ױ;S=y}03NX2G$z2A#n1?ש'OG9ҝӦ{qK`ߏBNFOlH C}3ۚ`KǮy' 3OA2zqցw=?K`n oӾG1 {{p{Nϰ#nINh'xV9#$?#ހq9]EҪ$qӏ*Ens`@BdBrdg'ROST+nI#p>SR&X34ɰ)c ڔ6NN$`=@銫y'>Kנ89=9S'qzqr=qϵ:S9?Zh1П@;u͐0; NG=T+ W'z<69uA#v $1}v>鞔c%rN uN s{n2OL H`sx<'1x8d#{yd ǯcN1 ~_F@;v>ǩCӡB|zu$zҍN;8ކ!sFWt9[w=G$S#O_HiRT9}GQ庒p@Frvq`;<rcہJ00A{<}(2pJbǞ:4-gϿ4`g>g9zP9Uǩ:R߷ :3׏J 0@J9=W9=83׀99;m9OF H=}x-ۯ`峟x\;TzA$ZBx#q+灁;>n'=it0?_\O$y✣'nG~]t^h@>y'sS׌۸:psg94 Ns@K#'~K۷SCgQ^<L>Oa@v=8c2#1`._q@ 89Pp@rG8=w<?0$M9ONGL d#=zLI~`}z:v7u\p1뜏K+րB s":9y?AN֓sn<(2) z٥q0Gݒ@=!Ɲ~oAsҐ\oAtG~9>gJ;!_ ;c99V dqnc9HQAৃǎq_j!y Fp>L;o'}O\ NGc]=H;u@) ?8Os0@l`80?yd*3Lqzs89<p18@'?/:7瓜~:njV'?N쓒F~>\<&HA'w cx'O]8S{v <;gC^ Ǯh^Xtv;w'e< rG;H R&r8nC0Fr>GhpXFF1>*19 {{ `HLwNaǶy 2A ?Oʔs|ÁG=]@c \s\=G9??)c#WϧLqڨLq xLçjn{pzd޹!Ty9lsןa$Ԅ`pr3ؚ; c9'z=}@+7 8}sjB;fFz\Z_@~'+SҎBOCwhkr13sJz`N @F08% KrHKN{J@0pzpp | c:qf3@yT8#=(c6r늍@Cml!]}9+N*2<:8?JMpG8^è/1G`;qH{曌q8*pcp8<r;|Y@/ʜXgϭ Dd88NR#i9N>|s^ZLb c3zu9: ݎx ~RAD z#l+p>4 FszA9*8:@cc~~}sO8n. #i coLs?/^:cGqВ(98й9 z>by#fIR*s⤤.:/0u;N3r0y8+spSy[#8npr;sH:%=qy8!G A:w `>l{P1sOL_Ϩ@ x݃=^{S98+'<g!z/L! :0 y~ y#`=G֣+d3G_#w rG@M<1-L}}hN8q*0'_t8{sI~OSy⛂:  t[_#dJ\waԮ?1B#1-Q=vvq>=rxڕxR{ޗ4!0 ] 5I- c'8Jqcm) EXG 88kI1?{I>ZDn:@SOu~kKG;3'|*\m'cWC:vKxrCcOßC'ғ'MC㞙JfAܟlsҭ2F1p$g9xS[8=4L2 x>SOdLzu?(.sӾ0$,O$/֤# 3%$vہ֨C鑎?Uspۓے3=t%V䒼~ҟ8} m\`iSx9<ҋR>?ub~Pd:T8u[봅ld|٭wa*%srW^䠅RI++S<䎜¹K xd#8ɯR}UgcwF_ڸb}~!H7Z6` O!=}[̅ V1zax; jmB^1M k_<+}a+=\aeS_=AŀoeK7́g|n2 !%+"p7̠g@=+m I`CNpWO_Q);2)aCp w<~5ap0Y:@Mh oL0gX "ږu#; ~9ހecNB2an~ulQ7ͤdd9>#ӚiB3ߎi6 n@*H~DE_Od[\.rJ 088n犖5U_]mV\}ܞE/p~`dq=41K'gO~昺qK}d|җh8nGQrX i=>ly{E&8?pxy#>2};s)z߂=xG^ =sNߜҞrGNA-`y@3gc t#pb< i gÑh9< : q:=cڝnKc:Z\89${vx$ss'l*QC7ͻ?֞AF:c:}@/͓nCϽ`8F݀fg,45x2~_Nyߵ<7-4 uw:ئNG9\{47#x{jL6 $qH9Tx+y84뎹c,?׵3NQʞG;=ky$!z%hGOֺ͙/@m#q35}NT%+nC: 溔MaqpcnV[:V~[WIq~5cpYiX,GgH˂ 6r{),~>ԣ9'A0?R>v1OA<&B2㜆מ:U. ;v~ G,2[=8`|*}@\}Nx'8 qԏc;9ЌziM!;z1'xl'vG9ǷN)8*9z~|h?ǫ6r=AG98t9@Np:qopݽ>{Ì=r(L20W^v { tzu+`c\y@9'Nrr9{v8I=0G>}Iݕ<c=8 d r;<)FHQ 1|c}@|tl gXs}y烸zz`zw@wnGw8jG:#$c❂IO :`Ϩ~ʌr1;t }OJ.H'9;OCb?:r 1zz?A~bNN=gnKp8֠_W8## #3~e@r3MWy0 9ϧ$qjn2==={t0wqߑq')x:vs8$p:z#ۦ-^pOzH }@ 'zdhAv1ppsvv'EӾx#'QXqצ hnTpITcpwڣop8'pz}Hg#'h=qv84q09Tx 2H8tV`Ǟ͏#Gzu?JfAO:_Υ:p@4 ` p@OړE\h<$~LnsQbf2by'lz{P`/,z |}IFu݁ݷP}rx;HR1ӟJ`gc'=r~G9KE}OS@LǧךVr?Qrp9zRRc:c3A={m=IKOHgRqi ٥9zAg?@13ϧ@2 8oΐnxN})zSBװG(こ'<iuzg<F89;f8?Ͻ<}s}q@ O0N0N;ޝqL{chcwb8}~69HJ#1R"$=`IP1’: {qjORg8灞:g=h288HgNOl3u:<'><R0sA":zІglq3}1rsHd3Sϧ@ G'z <w=_7->К3LS^O|uO/@=xJLu=p$uPNP;92sq$=NGB:`&;ێ9ߞA0L{zӡ}ziw=Ϧ? P|Zb1Ӣ'o#2q׏ց ޔ{P7gx>$}=8E=:9<:8v==2O9#?ws1q#ҎF2NOҘ A=򣁁h' 2|b-31$xd'n1i\=pM799WrG}O:)T9<?FSSi=\a\tF{y?~x8]>Ã06=rGHxs{0g+󑓒+};Qm}W1~7| ~OA#$qs>\x\l#=AGps98Rr6Tv#\ 8<{aIeGiNybpp19h'p:{AH` NI xsM9CԏL&wzs봎=sJ1ۂNznq<}O<NN~`1c'@9$Џqs۶G@r6,q&q'G^3GIILځ219'##GN{ށ'#yi n줜@=qhq$XrlTI*#3ׯJpI }pI3GxS8qӥ&0,1w>$A8H pssolqL'wu(GzOJjdx<㱤PrЁ vDF7`cHQaOfJ~l9zsWyˀ(<ӊ6g q1?3t8 ZP|$n#=y`v8:Ty4gva1qNINN@a=A8HqG=n>EC׮I}qExzI8 d¨<Zvx/${~{v'>'Ic><py@ОmA0'~.hInaPG=1ؑ48rN0$zF;?ji!NBrHsqAlJpvrF98Пn)q@rF @9#8ؓt7-xǶ8<@'? ny/\$rN8#=Ng99hp{C_ I= 4`v퀪~i12r`gI w F8i yz֚C6GA,WGnAv`ALO?0FqZ@v1퍿{8)I]vcp$G.2+tR!ۊC/\@žrx9y3g=94ܑ܁'/NRi,z=1 @H9LQNA8pw&c=}!$TgRJc# lP1O,{ qv~5yoA@rwryN֘0نXg == B {*z8gڛ?(y/^Mi/@;B @z0z[[9^{c'9-:eGBQy`Xo mBzBH',1r4ヸgCvb0I3R1d6{=w|`y<=O}OJp }@#n8n:zyDn =dt1v3r˻?/4ul#q=O `UfNx9\(\nDJ[g9l{Qϯ~@k%72 gn>a2DzpW03;9-nX;Zq@•' M jXtV~a=dtp$B1r8;P'ft2rӊcs#w]sO`9 6dw9<pH?M' q{_2eC] Y c0zxfM6ޯ鸝d2;]'Rs7,IpljNsRB{̈́hT@2,N?YQ(u ~cr~>* ]ʜ8c/ۆ~B7'|q:g+4HaQw0>RG\䓑FZ3䟺dqAt+WVf0͈ !TOoN[p] 1a''4;a`ł`p@LN vv 䏔'\ȕXO?.3XON*a,O*2| #'ښ}XSo%#;P:<[?ypFwd0n9 ͂w\6PŒN.E&0$3튗BJ܍ب`|3}*@b| Z >ĞD ;f {s1#hl&"uޯyҜY%VTeg PtXH\zae\'GTrJ8}l6g .Y3#myq,e)b,)(`ӦyoA:ۻ(a7q#*s]晧r[Ur:R#qG~ӛ /ʭ|'}-[P*1 Ӛ'+zaˡ}nݼr7$zz޸3ǖ=LӇ\'Lm*: #I?SҐ'ԚKp;@'=HQOSO8wdx<SH#sGQp0#7;LNs֗P2rr #$`Sy`7`yA91=qJVl' =^}z) 3䁎1SN N 㯧.c3?=x<㎀J` #qlg֚1 o~(Q1$;@O$`O 'QoLHAt9g#<40㎇wgp$4|ǂ8PE&9 z8$ z~;ӓAL`8SӜR>:zu.yPH$pGHSzdO\.23Tm2lOB) |0Ұ#=}A={rIA뒡lnrxc`G֛@p /^ޒrFA#A/~r~ޓ㜝s>#3GQ; J:9yHҀBa@ Uf#5q15jWm 30pU{x:oʄ ӧ5e]Z[GVpcӒKkhDX'2 =8W/˵[kqf$tmާ=|#a_OK|anC#Żn{1xBAR#>QJ6;5pTvp%'Nznk:dVO']OB*Fw T3ٸn}x9VF_z5KTy\]#Ax02ti" LĂ 8"SSN>Qj~g0kv1ʌ]g0?8Ǯ3^9]o~#4[W_Bn[&16%թ2O{J _?>F7P X⾐׈D<{zXz=̻ԻG=2KʹrK`(`>v@8 8 sn kk'yq?/KosϿQ@=/#c9})vH?x{qTp=3׎ 8^h&O?7A~8ncH8SL: :v9pOvHlm89I&w'ߞ?Z^v89{fPr;7ӮqSqcww&ēr2S: v{t-}2 IqߚvA8g?j P@=WO_֛n89=3Ld!n`rqޔpGA>lv?(򜞼^=2^T7C_n=p&z3i'c>ÓĒx@F3R co˅8prH?^0{~?.rOژ?^;=@=ӿ&>㎼QG=;1HrT|w?Sށ6/@ݍOow QBFGR_s@w9z^ $׎@%<9QzӾb;cr=zPx?)#<1quiÏlrHl#>@ x`qfuӞ@œt@'=2;zΎNԨ{`P.3uN0IүV9xqdP v<.luptRp2\F9yJ3{p:~_@\:2H1Ԝ wh/qw;u֛ؓ 8J˰zt{u\@ϡcs w;S_|ݎGOjfp:rAa=>ۃN}03ׅ'Ӹ,?÷ xAߡQ 2rpF:=MݎrG##<h}nϥ< ?s\uP1)3W}NGN'$$7KNAp>Ԅ㯗?&n#1Oܓϧrsu$~ An=i'qR#Gtt`rl{w4: 148mqy rI ǵXIp=sOM:gړ$wq>Ꭴ~4<>,i)㞾Rm'gҋr5S(|)ے玟zұWG6~lc=94 ӞZ?( 7F9GOZ)2 (>3=:1\cUưggH$*7pňqxhwGώ{^\t{:6={(RWwO\ԚV z{zL36(?;i?ÑԆZC:^iOlq@ רݎ_>?@ r{9$v80=Hg>秨C~Fy烎xɠy-R{p1۩4:r3idׯ>J_L'G>_Nz{J8ocH89H:鎧OQUAIoH99_jwnA8Q}i2;dqTmHɞF1Ȧd^N2p8t5NxS91ۊqqzc׎ZLv>4K=vhOcǷCI{@#.0>lx#8^!9x'9$֐r@NKc?\曌d'O0Cx=IBizzsxǿ?^Ԋ= :힜 }9Ol_J@=xOמzP1p2G8 ^:9zA펟Os`O֤cs=㎘ӎs( ~9o^s Ӷ쌷Oj8'iIx_ސ'ۯ_L w=)HH;~<,>sק? @rRNO֏Oˁh`qgN2G;ڝq9rx޼{cҞ8x>)<󌃞RH2@#y.1x>)G;g#c:Q۹8)I =rF{t잧TH񓍸9?tsFsp:Ojau xP03F{ -?_;.M y1:ӷ9=qT1pzi9`(__jb*(p0Iʁ~G<< ؚ>ݻ~c% syמq4!98<AS6zzr1v SLV0 8:1s w$Ԗ<H^<֜ $N=/ƨ?p!b)x\lp3<'v?s}GOM=1zc{=yx}h }s܃9֜>@OLө>?䎴{ny\P)ԁu&FOSuN0W#9`Tm;Aꤞ@ⓩ3ց N>=I.zR>\vHǠ>#css׎dq@ w =>j_瀼(l!= O'Ɠz6pAC:/0>2A?zw9$@4c0#={rJ2> ~\0G9=nlҍF0T|ߧ{N݅:v oOJ AqE`Ns_m@x=? R08=񑌮@p 0ӯ xGoƐnx8I9@y`Oϥ hp1zHJFIN>l&xdcOONNrz{zKoG zyќ2NG*ܑ{4!vsƒOȧrP~^A81dcѳ“ =v89 UXl=w'ZS={ g9 g)g89O=q@tʒ3 rG9ni3@ / R:}pxր#zǥP.p|9gҥqx!l; ̧#(1dr@#0sQ94m1NqNOH=#8€suL})oz19o(8#;I$tc$#րRA>)tA\ŽF,tR@9˸ e ^jZC90pp~_iXc<?(p`קЏJ${==)1$z<|Rms:R܂C}8+1Q`~aT~ϯlӹ8x @9сߊN;#r>f }8=zg<@ z1'}x4!zF2s듌g+ۡ##N7i r'MQ L*F6e!Ld6T-`8sI02psI=:T l=KwcO -FyUSiH3@'z8sp QH; <Ԁp8W'9nORBO II#S99~=GOL`|br8϶?EN2N8i{ב88ߠ?1HdyHlt2PsP#19#*##“8nz׎sLe9znz׃KcwJq SdFqן\8Џ)[JO=2lM !q>\0l zs@|01:dr2Izs(FI__?E]Hz=o@iX'p˜)zKタ&yR2?:h'n8瑑TӾvg#$Z\A`vWTYgh㎹sRO=zI0ܠ{;nlGӿZ{x'dV1 ~yF2 #H<ߎ)<|<`S_`(# 1nƞU@ztg=@܀8ݓ=96C7n:v'А끴=֡UF#9=1?% d$ݼcS66*dq'qІS*H$76zZS.K q?_zj+W'ӮI(2Ǯ)փbi\r7$sjy FU=b%\;AV8-z´#@HLqZCG1ܞ 8R8 2sI==?J9Ԕ{|r;qO7z.>N1Ǩ93ۧ^8{| ֓D8<p9O(G==Ƒߧ;g9H=C<0F;)ܨ9`'A`gSOCH 0zXZrWg?t(ヸt }sMo XdŞ0pOJXu0XeAC.08)J{Cy,2(~E\m?xo ngW4K ~?nRv8gXOO I9܏LXߠ+Q;N ?2zT8݈+ *\?Z!Xh7>lpw0+ϯy2~de,>flKRn-=dbʎЭa `ur`>Y \Yv8<yW8~Nz FF!THvr#<BQr2NyUBXy69W8=IUGFH#=3 z0`O p8=?ΆvHw(SSQȤa(R:P( xRqˁW<Zoa}6 %zqW7Lfw2];-gc#$GݫOm} @$t9D4KB@8 ͕_lU:9ff#VC-rB{Q)朋?vő}VPO@6@"OaAO d"^EC9E9!KH{? Mp 0;q)MB w/eU'A<ž|'mRC^F>@rx݊<2 mLg8 }84PC*I, j[]:?v[°[z3 PѲLol)howၞB? ($2 s@{N91ېG')$#8? Lgs܁БRB9 N_#}Nr>q6x&N9=#sy{{(- '%I'=iؓʀc3{'=|dparHcz#AFCt6ܶ@93i3Ќ=)'$vl0qǓۥ ApN9i _^q? m?)BlscZ7O<g2>OJKFsqHI~`0x?y4{ # ㎔@+q'auǾO1JIH8'!GLG#N# ӓzNxN ,̽3:pzu󃏼8Pw9\*L~OA-;P9N$@$t18ۃ* g z2z=+;pi8^]Hodcshl<Fڀ2HҚNBGv `8l8ڃvNN{tqN9GJg#=  B< 9;g'|R:zs |,zqioyȧ8<@v灎?^ &=qNy8c03NpA~gFAc>]FJN7crN'8#=ϭ idp{Ӧ=hQ8wҗ ;cNr~O3QOBr  F1 'ӥWr67#s =[+esU6?Ãj Vܦnx¹9 ^ǿt熵5H܍.=<A 8]p1N=kkGo՟m=5~$МwzTӯ-Vw6yԤtm!r{#?wgI@q<`g\Ϩh(vxdݳjPs *x#?ғbgi9;G}3FW|?N:g93=;Uq/N!xv}##$w'Q\qg9?}x3̀\ey={4|x `cïCך`88$#q׮=i8#}$]@yb>zQ:wi.|u^ >ǭG^0syI!C79uN0z4Ӝ{eyRh}zzL~9aSb7i^0GE(L#i#9h8{8JFӟa< >&p2NqO֘0##'ӊpvڙx6)1$B'})44ӯC?gRu;49ǧN.?]zgt!1`zA㓖{st'8q뎜 N1`ۨ~\CQ8'8`yji9>`W܀Ia^g<0GO\r6yaN2;:RcC:z93:u'ۃIr:pq'1Lw@ S}b_OgҤNh#>g#p=GQ1I/Nϧ_! ss@'Ӿ{~`|n'OoS@?_ךCz=G'?Ґ=Aj@&9G#c>HkJb8=zQ 끟zyc'z鎘R}:v? q}=N1ӷ)ߧ:S[?{-Kwn;A=yǾ)q8?L>◿qOa昿AvOu#!{~_aҗzq }@ixsdO?i !S?Tc9 a:w϶9\'Ҁr3Fq$w?^hlBq8׾i'Z.!sR3I}N1rsT4?'#q{xRd ?ɉ:oQ烎>qXMޠLxbb#A|)'H?  PX?SӥH1oƚbv;wbOg8מ>op ])s8+89<98ϭz_LMV;{ܶ~g߂z2zh>\q~g u9?;c#q8$cAMç9F}vDy4Frqag4@C|1֠g8`Gdèz'3})䃒OQz4=[itR9A8n{zOq6.׎@Ҟ'/Np={B珔<zSP1rq9 f!9m8O€{[ԓqzt=>cF> rO+܃Б)'qMP=@q\p3PGp8Ё2@8oO ߩ=p;)tqOCL^sF1;Qpp>ԹcӣsACӞ'9$=X䁂c8OP Ԓx[#9'< ïa #{{&7*Fn n[֧:c'$Xy?Zl\8aB> A2ǩl8 qJ`?*;GirI=`S8'zR<'팁ջszg@ 0'9'` 8?'>ݏ͌_Ҁ$z)C8炼dX3@O=1vqqRu9JLr88;Ͽ#=F{t؞s u)6GPNsv`:^@$JysҟGE<;7קlS O~Wx:֐n'伐pwq{z<0{q:Unu-]B[ 6HA#Ċ ArpI=ܧ!F0;y8')!Ē0lz'1p@h }(H*n-ܜPxʜH ~q9'9+Xy{ 1l{S7(ʝ$m u9hI8Ϧs~&x1=~Y>Q"0xap)$@2x$S{= uEuvl=1^d8rxPvsH'dvGScUH02A+JG˞FO#SץG1nG>控nNǁ` I$ۥ!z* Cp$ےr14$ p9uu'?5sׄR91ǚrH GLu-8779`NK(nA\()@'Wv={mʞq}laWT`^@r#89OCa8ң́n dcE >pCuv=9z҂6N.Xy9)h=*rA^ޔЄ2H8֌n 1}}>`99sJpqF98=*XGB{ysuVے矗P QH`q>uj@>dIwe=[*L=@dm?Nq?P"1ӟpp8<>| qz62r;q^q2?pA3}i.vܒF@=7asGazmn냏>xz 㞿GOBxIӜ61`zuHv$/Ɲ'9߯Cրn&Bl`A1=x9b;@ϒ*l.AOL dqھ#mOÄ#8<7cS%N2w ^؝Ó'v>scH֮;SROrOOj9ےKӁ[!$I''Szp@`q2;'pQF}\ qHS|uZ쯹Br#74»+Gл 1@z1'=}mcG^x_&ǂz\g9'SI8 8'=pŽ$cL<)ds8?oʫx;u@T%z@\p$'p3L؊s;GaqLw3L>1р;{}6păch}Ig\RL>u1c1:sKƊ?hD݇okRF~`~zn=:sɰϡ99>x }(298O?:oe'p2Xt@4~A(.yL%ۏ9Ȫx$461=yM;Ms=_^c>Qq'=nFF}WU!A s?,vؐI>ӵ>&<0Ixj2N[>:P$tl횦؁zj)-Jr7Ar?ګ4= A9Nr7ې:dc>yЎ,^:^'kPq=+fdkN< ̍\ vg9c~\jZ(ؒP ~x<L=8>H\c`?)R:rhC| 9/:gp9׮n `c9#< p=s>V+ ǼЍ [l*J"&8"5MH>Yl'uG0Oj #Ry!A'?Hs')p>1'?qH>'qy#sép1ϵdO9!-ؼx89O=MaNX=ֆ1p2FмsAhzR䎣dvQ]Cz$s}H939`s?Ƕ?R8n{}1GQuqzqx49^$7C%9"{N`IQ铀HOAKH :RFy0>^qn9n#֌w'v($nG8;n<=oˎ3Hc8*QSzriŌ'9qN1OAG|Kx둍r~ <s89[<_'Z@88nzZf:㞣Lz+ gyˎ8\}qסnAr~n߭8qy<8I{LoAi@4 wPvs}ix g=~0c3d AG;@P2I= s!l$1랠~o1@ 8<=1{qF:$ ͻ.$0 ҳ|jm-.s!猎x|[G«)#=:<\0iW_3i{͜}a(ƪ1)Rz1f`#@{7qۥbI/{.XK|GDuͱ8 d^xրwʜ@%T208#Z*c9KK!MۀA%HO<ޜP[nsdNzP+m wq~`x*T=* 2ǴsFv!pF2 *oLƥ;;m:$(!lf#= }CH%g'!AMJdc:ZD|2ξ#鮢}3r($G=ktVF r6IۚOekqgȬ6)xN޾[t#98+㱑އ\ #pv粐~agj;ZqsϷ }GyaNܜrړ9֔$2##O=x#GLR8; SOl.zn@$=)1@1^<pߜgzpAu=~|})9SHx8Mw8G1#x'}9$7d>=P0=$v!'18}(NTS&G|qߓrs@9'$s֔rrPN28t@1=rshQp'c?4 zs23IdqT yv$2:yar2# S׿U =d_t=:sc6YGgzSH\A1_CJ\F^0w 8NprO&nv9Cx2?=)H?_a=lUz'wGGA*béϯ_QL#zTثG|g3Qߥf>A~?1}88q׹ t}E(AG}zqzH?NL G# 1s~$;~tOn9#9?/9nM|L U(ǿsNzb=zҗ^ba߂;9䍼8ǮzcKA8Q}hD91GQRdg+1㊢Y'I^qG@SLC$>^WwO98'Qix81udv8$d=NhB {p9c):8 p1=00؁qy5~u\`Hi03N0GҐp9'8-x:?9x˒X{{S@GV= =z)19P  z܎鷑zObns?t ?ji1<׃߯ZC3\:':dϧd-ێǥ(끌" ~zNNzf'h`'8$=9W>{~|_! >x$c?j1힙o})40~Ӏya_jL{zv.''NLqRhc=8h>?#=q{ ӱ&/^:}3&pǾ:rF o_.ߧ8?Z,;_p~})IJڀcn`zdӷ c?wsר `ҩ2ZJ8^ȩC@8? o ~n$S9p@n6N d9$ncr)=:;r8ϧ<3`s8x =wg9<Nsp999<~4pu~ ӹ6sg0`t?ўq' 3?Z. W#*8ےprXn@ӭ;blNzi ylӸ6OǜS$y }:~\,&p?SzOʔ. Glx;0G2qޞ0;c8 :QN[}: qŽsӽ)l ճ4\g9$#=:cց Nvw9ۑw=90ݍ+8q@89a OpHQ:wҟ n98sod}=~4`zzq׭B<7rG?G n=lR`[2 %;H<{4r.Tc~Κ0x׭!=q9'=;Sqqרh4ci{I8曞E$(rx1c=<yyxrO'v0FIl{OA(OrNiLN^Ի~\gOL.h{ 0@wHۃKb=jnSN2s#OmFz;K|89=R8'ӌ7nN+8^':/|&p8 .ؙ'o<ѾE}rsNA=1O0!Lz?rl`hgqڅO\x|x 䜜5&~р=xHA|q8ª3?:b@pڗtushќg L U뎝Nqǧy=(`$%ܚp#i >@ObOA9q I9篷z^s 9ژ; gM:c?$t#3ץ/dp08L#t 9w'9}y<uzp0 #9OA`{`s^Jadm<n݇Orr2;q'6#=y"Nzx?Ni䏺'8`w$Su@s2Wp>JLn R`sq8ߞҧvN ^Fz.) ?`('!s9g;dsHo naǮiG\ۻAH=Ix<pe2eٓ1~ ny oRx9rr0E 2ywcH!ns9u?A8ß^(~UCuqL1Cp\$1=0AH>NA99)0BQsۦ:pA@u\CF@ʎx`cA'GZLrAB;H~^goni \Nr>\sv(۸rT(<_8S@8rT\I~Ƿ>'lPxǦ}LApBtN BrǐmS0Ă猓T gׯAyA1Oڼ ar?a0tNN=2? ,ڛJGׯӌ{#Hr1֛Sd,p:vUqeGm=wf0 i9`?G/ȡH'<ά|Tmp0>P?|> Hk?ʴ7s?F 0ǀ1OK +pq9$gsk7(2?ANY6g=$]*qWe' r9$?i1F,VRz1xH>8sdЁ.6W.zNjŽN3F;`U7d2- shFBdbǞ\qVqO\qߧYe#zFF5!nO|~"ߔ߮r:X;8o}>F,/|q =>6>R̆ t+@Dţ8\gvF3ihĖ9}|G#2A_"Qk˶c,瀸UՁXfqy+S yf :dvsk:D!NorJ}t4OT!C80*:18<tpg$[NH'V>q:sܞrsHm;{b(WTl1>jm)19?"I (=$F ^ڕVz$ qIQ9?Nݪ?8cy&8 =^ڠq=@ 9,O͒}qIӞ8;p1;@Fx$`p}}3JNў;I$qs9>&qr:`#9%d'8@'86ۆj`? ss?{I:dӌvy\p2Àyz^vOA=I}( G?7~=ԜeHiw{}s}ixGqqOL 1Ѳr:q!#PqՏ]?x2 Q~xskr}y}GCvwjv $g}Nvq`I* ґ$0G9ABrNN)3Q#H@9<1ҢhsOR9pCrq1:cPWV!?($z~1Hys0f1 O_(8A<8*@QI=AzgwCր9NGQ{160AM–8=N1iz'Nʄ Fr>^z{rXs1>pAw n>?tsS@ā㑞^Zx@`vFۓڌt~=8h`;~=0Gz@l?(`/n8#99y=z}i_93`8AӌzzO@ z=N~w$xp8-r;Lizm{Ni88?œ׿ΛsJ)1{9::,:n)0FW$Ql93 {c߯ғ~ c!c m'pp w:(4S]~ʱ]5f2f9wPT}ZAdÆtq׵}_R1Gk hg=}5-LE V.I+=+oAʐw 3Ǹ*Sj#n ͓cM={khP:8 {U!T7`g@U6f}2isH'r}qO^sY_pV#'ْ2,9̄n[i#(ԖM(wo;gЎEznۚTJ?0f0r@w Wܵ6:KGKEgrmu^'6J;x/-sv"1wnӵ[hz8}mK|EF8Mޣ} ~$`F|M OҼc{uN1ʟ8yx?=pO|~ǷҚaagA=;v8>v9I/=:cЏOA=}2z à<]DN3Ocǥ0y9\>&G1r9=MJ~v7 rHx#bXfr䎊GLt#p2;>8VazvFG\P=F2z>;p͞:upA˞W;Nr0@~n㿧Z_'u=\tBA?ρ@ϮpG>A':@J6ft`{v 19 (?@dp{(M;8r;\@lY ןN88<1s @<*eSzg}M11H)s=?4\V''<~Ҕ1r@gh8')B)NO|N}pI8ld`wnH8b1ׁЎӔ9  7wCӚ~~z/Lu9s폭.IA8grs@q=i`N>nz7_ʑ~~1ԞGցGn6ݧz3Gq aOrNAN;C@1l9ǯ*0{܌sߞz= ya;\siwFCqM۝$69<&W/d#XT !Uy)X.BF0v=3q#82 w#8`ↂÕw8矨Th,W{giaqޚSNr8#*@v95`Iwuaܜ8#sg$zsVT=9_@?+aǚ-s )?֓#9{1ym9uo~sj,g?cNƤi_809/i{u^;tI8v9קa9$v V͜g q8=G$cFp?bEA9$M~$uw?Qa_A8?0Kt28'cRIe98 n$p9h܎izgj)1}z{?sЎ8?O;4:1^zF?ʓ(]N i׎8!<}RGRHvQC}8SǭWA13?񤘚u W'Ny^Laӟo|AL:q8NyUa)yxz߁THGv=> ?(9? z&.OAG`z>G~ppxMu$?ߦO H {t݁{Bé$0(F@LN0I>އ'||O/) c;tߛ==409t=18N0sԀxg'*rHIǰמg׌v~>~t Fё8@'RcB짶GcלzS13O< @ G{gҚWN{g~XO8{֗8yAqEMNpsoøx<}&:H}lX.&2?zq sӜ憂uߞp9ؓЖp8'i:}-\n;:`׊PMgM'A`sӯT~^yǮ*Z)=c~R:8'*ǿ=ɦ~9>OZVƟ9?hH[@ 8Ӝ?zA9=}:1'둀8&yԎJ:=J鎭 jI׹g<?޸Spx#Ojf@v瓑ځ o:!zCbgwc֔nv8鏭>;ןHǰG03שP'SG?Or=קN|>z{ҬL^9=Nx@b.8(LvӎH>OL:n wIZd^ۏN{hq2r?})&~OS؃}}E8~}hDw{_A\{sO򦘇1'8;.~@ o?==`~`N9ziA8b;3A898f;z`zӷg} 9ӹ6n{#KBr÷䃸z}:7?R }^>}s1~qSA'')Zqј1Ӟy8JdepO#\gLЄ/I `=2?{WBgocמxߑ՛p!3:=X@r3sr;e?9?) I'9'^Muzr;c=~܌qӆs<sw&±2rrs==?RPHOpHkڂ9# hp=zQpzdqԌy@G\.N~ (2@||ÀɤS}:-8}M'r9$}:CtddɧqXB=>OU=^}ΛHz {A<`ldz A=Bdz^qs$T&(rGC^1?ŀ 49@{a8 0[0<x.yOš0Gy8oAJv瑜yO)n/#qށXOT0Қ[v =p9=[9 <9zy~zvws)A' ~ցXhlH$nzq*a;TЌ{{P"BpN=!>^/'Ӿu 晒Nx=zIZ`I׶Hi Kݱr>b=Tܞ:0cғ3HPr9qRslsBqHx-c4sPSϠT38p_r8; t8E;;dgj:q; AZL rs{(@Gs+F{m@Al:Hb8'ӑ3\g8G=|L8ݞFW$v0F(>jC[ Nqq~sޗw*@}= A<՘M;Lގ+c#99Gz$A@Gz 8$Q8'9@2OL͜F8n߶iN?}~+{c8œN>ݞz2FOʘu8;N1ӏ\RI!~GN;j,dzoLiA>oԁLC_M8}zs׌q89O|zgwsx8q0GziN2>^ힽ:t 㝸$p$>zc8c#@m9͂vxRGdxg :?R )sTdޢ930.ޝ uG$zdsA/p?)9s#A׽!=ʰ$=q z29C}1փ c`p zP}l#8;gq'P;4wԒG\;;z<Ӄߚhg=ns Oקn:q@ 0:3'HyrI秹}Fa3^GdH*qy4Q`ϯR=?Tx d{Wށa9}s'LKm>͞>&2@<뻞ئ a=]{dtǯJNxu`1zP1~2;[ tny#<:ɉݍG <P[GOLԇa@mιF95_Ԝv1d}i1s;;ncIeߧ 9;O_Lۭ!{W$$qgt8\s8ih?T n7F34s9Lhn9zF2ڗh#q9CD}q;`8 ~NB 8r& rcy=Lns2@f9G׽!^N0ݞ@wP9>9{m9Zi=r:t<ߎh(,Xv uqCco={ÌU`~0[G\G$8^sמ49yǷuN㯩߃g{q@v03sG9#p1g:#.=Q8qpO9 }Gp{v4u#9'9IN}1rzs~vX1gONh;Ns_OCO(!G9UX?QRrHf$%q@RԤ3㌸=8j6wQp:pO`'p @u"lJۿc.AwO ݁ڟj{keqwҧd߃Cr?K'@B('ݻqS?6aX2?paOV3 cԌ~)ӧ~1uUrqW9<JW#8*8;B IIͻ#^{Uv@I+ n&N6 ~~iCvn'>zP [E;Am!n?Ƿiƽ 988#ŞJL&YR`88{431=^կO4sؤzcHAs8?Α#zpH8g7^ccU1c$Nu"ރoҒ?Quivq=:v=ݸs9z=98#Jldp>@T tO\oA|i5 o{*'ד܎znzey?7F`\0}juQ*!~AhBzɐ',N08 ZCs&Byzgި 3$}>bmo-|l鸖97gqD[J˻i A#UZB\9zZuOSDjϦy򫊠FO^2?O|̞'8ls֙ {\d0U0;v ݽ229cNI팁'@27;IA>tF: gRp.:xʟn}xc*O)'÷@&pp:$tNJOP<$crp0:uǩh@.$AH,׀6Ԟ“LXz ?8wrqg֗q|@sG1쪞-NszLz8=3>q'ГJy=Gӷ֑CN=ⓜ;G@;>⁉<o =zg/I8*X#SvIs<пwy$rI==z0}srG 3yi<2I #Ҟ=l Jux!s(֘sϑ98apHN( NANǜAރxlg8 g}@x(|.= ל޼u-=9^0R`4㜏^~cV*z9 #vƒל; \[ 1@,V펝qaddOs $rry=is@n\P6\c#=}9'<q} v<ӯL^j>0s!]c J+~lu/Ƞp(ߕS~H>Q+̩| ݝ7@q~&[Ƕ7kb#)!_]Q]OSS%<9;) #^w,r# 2z+*5,GDbb!6dv[@lIc^?Cv *P1ԕ=y* |`N9jrɚ(8< >Zh*w<3߶jv_ )3$\IsQ>Lp9翯j! %*@ DcݓӧLsu#kmVg`W]*} +RSF̹Xŏ*dQ{}jʼn2=?i*QȴVr1@N!*G qJ)goev9鑃^V:7gmI\VoD2Ӝw5!=r ~w{ r2O':`⓷~w =GҀp3'gӚ#'=I\3ד;{\zTOtx!޽8+#p=OZ\n8T8*OL_Sx 3NQ9\2@=)aQGҘ=, =6ޕI<Ǫn!vy8'zz9$8><H^0R98 8,w8w^yc\c$tSNNu=$}B1sǶ3Ӧh: 9*A^BO9?׃M, ϜL€8rX1ܨ`hqyu߾;S~9{=)L\ g (?ǭ.><ϭ2DXqʶ38{tza@bNW1á' [?)n81lF(8$Bu;~pHI4{c?w}=~_w 8q{zzP!89=94gzqEtGS`pqߎ Osz /cvQ'a`~ 17 nZi18'n@Xcxn޵ `:xO2nI$zUqޭ:F9OU@錂:g?VdrY gzyҪ!2ir2v<6ɨLo8 {9?+ ZrFPPpW$OʤYюx8;N i.XIx$1ױn nG?ZV`1Ojڸ=r@œ7ڡ꜁3C0u9d`%}#קBit,881;ӃޝydzFMOR@WzgA#)=0>Ϩ/^`(GQ;~+OQIG_Z^yyۂ@&pۈ 0sGWqN8d|軸=N?֘ #8ʐ?j~=y\CҐ&&;6H]3?Zap$Bdc>*0=90HsHN{wǷM8#z)N>T0;#p2܌qe4c/~: SEz`qN3ҲT۾IҰ&7o3_<;z֕q 8$PIcvzVcXsSy`nzGr6'9%x*z,QPxr>\RC LFs{M73 T?CE\aqzQ`gI=8皖LLc'i=r3g?˚LzdoSb'=`4ƞ>n}:fy< CB~tMsI 2>)8 1cqQ>br3iGn}=ri'8o9͌׊K:bqӎ>\t{X9ʎJdp 8y!{t[<バOVy6p{R98 m$N;~x$3Ƿpr}4ӓFr8 .;e~aF3tJ: r8=3HМWHGl y>1?`2:~r3q8#1@E@I'۲HuH3T OOR9+9N99>ncl`?0qsP3=3x=}E 9r?g8< ~b `r:=>'ilv@\Ϣsy?N+y$q:Ru'9R$sR\\s8?AL<? w`pGbs=03ϭ.]z\oZV L lcqJ7g_$#TR  lccF*Zd|}?zק_(os#99OJCdp3Sp81CA={q( vt`s~{:/"u8 }:Jh{がtQ@뎟I=ROFPSC>қW\``g-9SpH={9;~TОo׭a=v<瞝Ӂ@çr;c)AIl,=p9p8GM1XwϨ ;?w䃞V^H=8 Cs֛ퟧOp':`:7`wrqz^! py=zfXgz1!߮8Q<0}8g<րad$zQק׭<0ǯ\dERqאsߟuJ79Gyq$v_I$ۜwԁ+R}??=}:ԄX9G @+sO;tckqcz&&7t^@oh3-##ޝ&9}SLg3nE,)Nqsɠ6z`gc'pE;!8`3ۓ xz{Wqq4;y=A8^G\Ur ?63E>܍ǂ{X8s{И[.'1nAs rG'@N31Eaq}yJӃXz bCn9rpxF8=M=Xqs#: luГ힟Z~;ryۊiЪr~aͻ9'n;#>x=U\I 3<} #HI uz67.@zqnxv3NⰛqHSn'`G ‹N 91#2=U\,H7zĐ7pAg }NGSwҋ'\ Ӗ'2sޤNRy$wjhV ԁdpN;{nϦ:qצ84\Vv1#$0ICBgupq֘Xw=~IG#g`gbL~Q?n,0ݲylqi'|R3q֚#' %pir@;N209z\x6{ Ps:tǨ'prw"9#{rzSr͎ܒO# ԙ# wҀ0Ӄ O26`+X8?^{3=&($z84r 8:}ih$g(>P:-$ a <9^r?ҚN}Ht$=8造!qzZv9rNwt ބ\sq?9\}Cɒ8:?;?z І!Gg }#'׿B:Sz9#rqNb ?qc=9OA80 lpz|31J3\r'`r4`JAyӟΗz}1sxP8ӯ Ӈ GqҎ! mFquGUCDtԯ~cwtHB`#:W;O!x9:sL B3r2ry>tRsONpX}ޛzqԋӓnpXr* sٜA{t}EۇSJ1=@<z_ <w>sϹrs>t?/]g')pzs>t>Ls͒2cMnA90w =*^~quOp 8 gc|`~Ia_~M ns#GApO`zuN'#~z=q֜3^96P{ 鹾HϹwFg4d q=gf3hq Lnxy g8րpx8NS\Đ:x'dIf?ӽ)ϯ O9>?OJ~TxgrIk4g 0 =zh;t;@>R(N @lG'&1`=|ϭO!q÷#A鞣O:#!u探49l 09HO 2=n 2F8?_z< grGN<ԁ&A;~ 0#(d#+۠8^ '^?>2=riwC מ҇1@'hNwF!͆0C zoigx@ւ]'x413) @advfCyQdy=r=HЊ6 @+}.[=2TXǥ&P܂>lR8翵9;{g߯5% pGzғp`{Ceqy w97|EIDYa,x9p?,8=}v9P12S}9^HpOsz@ЧH9^)Auen:r*X gza[Б9Y:rg^Yo\o8r覤'Я0zrq@f9Fޛ.'x^y'?6~OnU^jm 7~BA.xe#$ϰSk/Ի!}qpڤ;y8:׭$a d1<Čz^ª?-yϡcR=OAǜ!lnwN$?+kD!<FqL93_SN׷-a`rO~V䎇r*&<}A#qx׿N^r OMï4=@w?/LdseRs߷' S(b?㏩>~ B0G-װ8?N=;g}M3' ߐ՝/+'QV2tS1 `Yv>ͤ{g5l=WwcԞr;cW]v0:=Ϩ#zs ~eA;՜ e>歪n'޴[ڌg/BKc Y8Ӝ*H~_ǷZbOQV;%s\[|eG\2G?z01ez~)u$ܑaw5שy-p%NzԜkj+o/4uʌGms\$;߆$a {}~J-rlɸ܉*x }5M8DcB#?]8V‚`\*NI_^خ9H z=dUC۵VcԀNC0sis_jm+.'hH=GJBsIbII2vt$d4H8ܪ `9y4ONЅT_Pxf i1*wd8+±<{sH++JhwUH̏qtSڻysAy̋$R<O8 R~IuBk1Zp%:85]2@=SN܎F/lpϧ-rq^ǜu 뎔OC^ZsxN>٥a 㞜=}i'P~Ryrq@LgA98 ⛒9P1ӀzROwi#9^09(* 럽9v'G?.7w߷ wN>;=(96 d^~tLsr0:TnOU8'=$˽ 3pFW4 :Ѐx8>1lnR}:g=wFsR鑌Oc ~ 8rHIN_s.O9?*C#==Ҍ=F#2= 4 _uP8<0OaznF؊F=$ <}:~΄3`Z 9Aq8N=#H`{sH=8ߊӎs$cxoE‚FNp`}_֥{z) ץ/*F&LTۿޛ{c`G:q@3_}Np<`qo~1=(3zr>OojppFGH{F2!:sQ`gA^ӱi!SɴP1T983+$'}~dxAz8`OrpO'438׮:|~ePF-ךiuqH0x=1҄39pA<0`q=sT&|wre2c?B29!ӷ ?Fiy=rGq߯oҁys׌ۥR&zNswyāӧaN~l0>ޙ(q#8p~`IG6pЎ9' pO@Jwg8$ }:g=}3$i팰#GN 7Lw#4`|c9^Ó֝ԌuxSБ?y9<҂p:7){uGs`gRrzi]Vs:/MD '\zw^9* #} 7@ ? LwtF39;OR2:d>z9 )9ozzg?39@qӿO\wp#>-ǧlqI*9r:)>hgHs=3KpsܮPt9ONr6G'lRtg;}py Np HǧQpq߯nR9=F1~cy**ÿ'>Tr:J. S=Gz33x ǡsB}z֋ăo`WH-3&d$9.Q g98 wӷx9)(4zgp;SR(> $vyӓ7~8PعFnAXa>ẏ\JQww쎇^=~ lϡ~+ߓ:ހ9KuQqX~ݞhiUex#=0;c*+q g?:Br=8r;zL}#8>HN3v3NⰅ[Fs ?ѿK,zp't81X\̟c搹c?_A5~UO>q#=Ϧ@%}:i#=F0v9,?J=Kdb0s}&A#s8=?:prO=8b4&qo^9ty}{c3БװV&zn98±{+g7~qEaŻqw"r;s㞔bpqsGO\gv@ښ 9*F;20H>t+ ߷y3ʷp>=h -##8v3`w#o84> yt;v3Rg:Wʞr~h\A'Cs=a<$Cps8G?ϭ;=zeL2UIߓzr8@?+scnH=OOpi/^`qaJg r;gSN}\*ppzzf9\8N㨠CHH}}ArG^>N2}b$FG†93s41e'pt8OB^ˑu"x{9lRO=?S۵ NGKg ׅvC98{g\&tJ܏ Ďpz/dp:=Jz$2򓓌dFG=*^~\c'={f12z |~#,HP>y둌$9fO;X?}q>`I928> $ z0$ z l|qNWo?7(L0;O '۶9^ qyO?w}=yp4ul1Cܓ}v9 d뻧MۅA8;WО*@{߽&G=sm$=czz`us7gs=00r2xNr}:6<@:\B8GP:oB})H۞r}f?fA98y}byݞ@R3ۃܚCPʞ'w֘q s}; ^29~qCFA]'dFp1=)A! z} )=`{>܎$~NOzӭ::23ڗvI_ARN0Ɓgؑ#nx=FrP\$2XuF}2, &2&l1#mc Ob'8=Ґ O)9{*s@ qܮ;Z2Nqжy<ЊR,H;``{џ U珥({:8=1hG9# e`^NO~98= #qiz8wi#96܏|׊/vN~:p:}ǯO֓,y$): ;v'9[=) $g:I'd78bС9tq4rF0;nn}{.tb$#Cj瞧9 Ac۞ psx,qu2q6=i $dXg#pJ3[ rr;Z'P `7'Ӧ~K1; қ r zniS gǭ!##rUH椯1<>Rs[xIך_Luр>aߏ|{tФB=wd|cM4PI/P?}:gR5;Nxx㷠q߭hs99>wcΘQߩ=2@9#.#cylL'|{9}Gz 0F1cWT1<Ƅ!O8Fy35x#?1'88H1p}֝8QS'A<)Sya9JAc\Tr7`d0B;_߷fX,{)ne#RKcBz-d]|$gՉ$ TF<qZv3Q" @W|'봌qh.!Xd|g۽"G{Ќ.+ӊYq1ڜFUy pvԍ۳7\taр' I{~&ďp9ݐ~Q4g8{U=b;qX`zRdF##h_7Ӹ#푂J Y[G9#⫧%tTqS`3yB%1 2#Gs=1NO` O%a3H.T`18IKR`0=y{T {XM&iPq$c- <<*O  1c*ddrZqeޙ##8 [+c +yB 7%s$1c֗_$cs?Zxzt=Gn?›%H<q׎!8N!>2z}<#c4z{v*QǷM$д3ݟ|瞝;҆(pOAA9O 921`v8R1P r&sAz,%&2J/}G֤g}6;YIQ6}{R!6@p ΧqsC*/8֚ԃSL˴, dSg9tݼ%r93K0OOXOQMݑ|^z !ڪxU-ǫdgzi[|γJGޠ# ns9oGh9l2R;+k|fy5FU #kמN=>7k<1P? ~<h A=iG$ FH?@Wא}0 8QHtNq9mpAz)F6qS=} ߱> M.32>= ~@Ч989zz ;g>BN9cvW*2=zRg9$p8 0~SܒLzRWŒ11 gnd|qi7cϷ0urx܁N?.GIK|0=ќ#)n ۸'$ c4l F1nx  ^~h`d|\qԞ{{zR*{sANG^x( K$dui@Kn;9 q'8뀤}Iw{dubqcԏj3펇$0 =x8ۂNrrq:q81s7csz# <@/3`''8dғqzԟsڂѹ< :t$sHA9$NN$AqӞp\z<2s=yF1@ }3d]zc 9<hіT8'%zhzp3Jk ~ay)8c wǥG#spGPq׎恣V<8]Ĝ۩1´QmYG9%^=\sVAn5Zp2~|; }JnrMyJPwfp*dH9#h, ZILQ"Q gFq5Վls|LX(#?uSYC2cu1EXH|eKep tWm߭AܫͅI ~n;w3cr=kg9;:(9 ޵VVgGj=N'<~<3=9j̰RrzvJײӌ 'p3~lC֗t`8y!xNFgۊp]~ ~0r}GBHϠ>çjUbOGދW' R? Ls03ǮO~V$㜖h8ܷcj~ rHG'A$g8@89'xxہ~A֜9;IoL]Ec$p; דM$$ggH˸zzc)Ny냁GAJ}&cԌ`AR8=zpyIO8wxFr{vq2xTusxZp098=6: pEd+RBGG#<zg֝9s:g"E$I?J>m [rgv=yS?CJ:s\W'8s@Cۥ)?cbݳkU *2s*7N{wCF/9F>^Nxޮqߧ54,{v)t qsPJvF=s@Gqqpq=qOå!PIp*8FFNҟ2 wuғAqÑ$<|S0xr21sEt$s;RNzg<#10XfvF9`{€"ؓd @Λpx8wG_tϨcs`㑎}{uh'3u] >IEͧWZfHA:hg|F⎽I?x8r;ұw#sTlgV#R_۞?;+3=O=)4Zbc8Nzҗ{{So!9Ic`{dKCC189NzqjE 8޴v{@:u^8˜ H<19's!\N=8>z 94;M 9c9=r@ܞ^*b+?^֔`@$ {;P!83Zw# VH <;)AGlI<6}1OPOOV8'%G4pNI?/S:u lci=9یm㟻H=Bp89'#rF> w⁑V'<zc׎}Ñs^!Gcqҗ7 tۀq9G|zb̅8@):y 0zݳuQӾH;sܑҨǑu c<}zv:2I=G$Kb1瞼tzS{czEq''xJn@0t~=Nr ȩhۧBORO{Rzdcۮ}CE A:SL@/^<wHa=3?9C21i;`zp8GPנ90=)G\ ;z~}:܎C43>3w#;:j:ϧH9~v_@1߯/1z4ݳ?408<~GhH<ҁ9y{(= =>)\LvrsL$gs?*&ߓq}pG88*OnH柞߯`=8@' qϩrj/0mf=Aֳԓr?ӒE][^i 瞇P:}3V'~_Z-A'~a?HlO1SuARQӞO;{{)+x#qm?NgyO22NGNq#>ݎ>bTC+M A~*glSG#y dè=:R9dq0x >OM0rq< 9co uBO^ϵ;aO3sـz7<眞{ӸpN0@?.Hs܁ `SL,X:r?.w1coڝɰz*20{8t|*0xB99& prHв?&ci8^jM'g؎x=A9>a@N9?P{RA9N@>1q'P#'v?@[߷PyJ8`u,sz> wt '#g:<'l^3]}yv9lrW^XFT:bsq pSz`py}1@Nxc#'#{cnGMNN?`8`{9hI>P9'po==( I dؒ;12A-p~)㑏Ϡ \c@׽18OBs<~8cytRH;bIqӨNgqnh#n΀SL}dH<ંLu5 W|9n'ȤmR@,r:z"Np2~Ҁ|t.?CI#L;w8=#Ig%qqۭpG ;GN9c}8ғ\pG~1/=$c@'9P){qO7tbO ;ЀBr~R?JfNO$@;N79,z{u% #"2F?iہ=ziF@8lLqTz玾,bd 7@zI N99sHRʣp3{j"}I8^zd Xr1OLs#q8qۊR %@89'sҔAہާKt1 |v~:cP> qcHrW !x =(S{r'3I)f~?!'8x# 9<8.E۹bTx:ӑQL $\Êd<:r?8!@9?Js PF7cI`, +u t$p,=†{2Qס ݊>`9,p uRg9n!r8qc e߭< zc+xiHݻvmRJݹWf8 c*X 8 A=Gl}hݒ)#^JA<=G6v z@`pyTM9d.OcS}r'ҚFlg#89#ϥFpFF2@R8~\np>}:p=ꫜ|ޙCOZM dPrj%;$RLiv89=z 6xSc4%hF@$u\l.p8_B:n'])c6'@G pF3sG?Z8o p{TG^;?.)H+ 8+~yQm}%20:{cKg?~p9ϰpx`g<}i9'n*'Ԏ8<}Ҝv'8(??b@{qن9э/͌p:p0=sE@:eIBCk@Fx uȨHAh# G>O⩿^##=Sиjf͓2G"a2s=XH,@pxpћ9ߏj[ؑqlj 8ҜIf(n2:19 qZQ!c=:0'c8nF3=, # {;r uv2N9[yd G^c ۷Z1s=x=ju CxHp׿^N06xϾ1RĎ7YHsejڢ4H I\u>k(6ٞNaQ[, · X֣%ch%X9>GkzՀ8\ 8xW8Np c$BpJIFcO9 P.r|#:r(ȔpB ,Hx>(0xIG#*ON" Tlo˹B7$@F 999r}OJwԕ؀v_G?J6cqqJCJIbzOU*$1G^I 9C-:n9pO?8ppvF##$xYQrrieN6A=8?{=S:WE.q1 B]DNrrl}3'C0@lgsMBx9<`.W;caJrq3w vL`v+o?#NWI2?*:]ǠӜ{P?x8ڐ$ ݒN?j6HQv U0$zԟjp`3cH ]ǩ*qӻmNOs֢nrq~#=Jn$gw~+{AIp<#6s6tc4z읧L zzgLtU$=2 9=9scqRn689:txҢ ?{8A1ޙs\Tdt>' =Xc>cd #:ڔzөn=TsϽ !@$g@^\ |184y9iqGQ߯8`N@vpzÜv#:pRzđ9> cr3@088I^1*=OjWq}9Bx1:}(=):d<1'?8s;O<N[=n =rFI0:gCC@x89@d6nx:R{1a)\[rpĮFy?0ίHRrAq0<6m#?gֻB 9!Yq1g#+3Fcf t\`=;c}>ˤd1 F gW[˟N*9mjmҽڿִs !wr#gR3К%aᑼqze08׵aM9M}l!d8!O",0Uc [ջҞ gyut$ n=~1Zm]v8 Tc$[#)? m,c!Q юq5ϣb=̊pN'`\1#5ɜxɍ<+(!'w'Ɣ~cn1b9;yxVY~RW$[4vH6m~[>߇wzS6!xUBȮz2}GГT8(|Qs_MFe ` ׍[l)y FF8^{pzg $gv;ОQ>^3xޣ>iPsؒ33GlI9OaFI=@=0sztNsa=yڼu❃۱a^ϩ9BӞˎ>J`wҘq?.3#<ԝ~ dPdsg~t`rI<ۚ\QԎƐ"0T>&8AGM 9WF28vhaOe9~4^8I @/~Ooڗۜ(XJa:~nw^GӓJ=@3gs9ApOchC1I`XJh'W_U Ǩ9'< v4@  $w>3w8`8="QN@9n2Cy҄K :/};ёa' N鷨$FGLց =@7@㎍8omߎHP'=v_Ž@#=u!OװOa ۜYsמ'OҀ`prz1bs}},u9€"`1Ƕ#{p9Svbrvv$Ԟ& ;tqq<7@Aδ[əsS`bJ6,Bd#Z-0e] ӡ*,}3p}zs4,aWݜx:c5:XnBEu!O%rIzވrhcԔאrGS g$˽mDL 'Q/;A3 [ά?犃B $c.q9{eXdve0~?qqhb=GLX|bi^nAc~\`Z^eq#P^F2xd`@9oJhHw`w\Óm9sOjaIcH)diOrOn=(=y'98A8$Rb{rx-~=)? 1L$zz} /G'CK Hx[c3I8\4Xw屃in9r,~IyAzg玾&Cq=pߞ9`C?!+SyI_ϯZ``BG޾EL1=3Lr)4=CsԜntBp};=[q}9HxI?tr}@ߚ.Fy=?JPq瓏js،d{c$a.<:cXϞNAP9 r򭑌t sL;r>K%Onx=id|F:s}矗['z8#zxN}Ic֘q^9y{{b?.8"9}ǿ>g$ަc' g}{w' ג:w9ç4 ^:Gng:SOsZCC2{q'?3qА@sC)\s`y3K$rwH&FA )N\lc$[ ;󎄮IIz{}*K\3LԽOO1pz9sK,a霜iӧU8fPcz6TӐ:ހ`{џǠ#CQ:&=O\9`]h8"(f~oOR{z|>`'L ~bLOQzq=}co P srXvT\u8?Զ0{=<Z@ۆI${cJ/x(#'8B=Lǯ9}=1M=Bāg,p✌3ӓb@黰 `3ۯ''J;$0ݺ ?cp=x< r#.qצc$u{ԪpIvx,?1C*;U*_ޤIq ARVfW.z㢁7QN##Ӌ㎃v\zSQ7dQ#P})ǧzG\_ :=2iぞ ҎmCnz;d~uRP>$^ݕ89ϯG1<{҇pT2;c}hPpN@QEp lq~v3fh]z3p9>N܁p}@q7rG!:>ZM00y9qXFld,8#.ǂxN';ӸX~S0~a[q q&7na z`zg%Gޜ8S<ր CX1uxq8Q<׊@78nrniyc+0=F2y@ 9 QL7eR:zqF7)T|< 9Qw:|pGh)iry=ʝ۪9=ht t@INq~w}zhߺqN=:?w;IHIOʕi O皏{'=#`NFrvcKۑtg cTg@Y[_(n!I>p9QVjy>\灻gtwNGގtctL<.2>lAp>aW8pG2=`dqzy`n3ۿ`ry庮K9zN}{@8NIXuTt郐p:s`3ߎ1F~lmvVޘ w'<z~S;O9@ <~yJs`߮nB^w}N^>\)I'<'E8~s>!01ԏCLb3< #$OЃ48I#Tdg##=4An=vn2CIܐ@Q{b8>7pz@1#'qǑF7s9 d{sҀbtAǰ:d:P4I{~JA0zs#`{.̀yG+T/sԞ~7x1PB]?6p8Ժ\c# <צ9'=') Gc#$%zqr$}(9 S򀠖;xoNG8989Gt^2WH9(8q@ 9%׃ӞZoV($ccB?)#<:;FNĒzϊ0ܐ}ʑqRIܓ@l /`H '#댏ϭ/]##8}iHqNLp> HlI’lv3NX@=Ss#%9u9tF:ei##=`ўHcB^>#m #>+g9 u!0Frj@p8&?$p1KBn18'@la#ҐƓ?07@qJxH\ c#<:1qه=IۡJ9ilӐ0`sϨ!S',p1{sR,921":n*v0q<z z9=i#{qqIv8Sx8i=@_ܯEZX |$w_=oDAg F t<}G^\(BD?)dq>l5!v$]{qRa?08n.'@@88##aK9wx8'߽He'UdpXc iWTp=9RN8n)~qqNK`G\@9qק;z5*}GL g?잼r3UA/ rG jikoA\v>R1ӏL+Fr'v" ?^}zX'wӞi8țw82)lr?kLv3~+>\sX7ֹue?6v8{UfQZ 88pqZ2IAzE-c=g'c%qzV۶y=ZrAю`?RzL/ ێS:cuWDv9L א19\L0Oƭ26d;|cuNr08z5D2<0Ǎf90rNFҒW^bgYKX$%pr<9ǵ|-\J| Pr=HI5 \SGsԒͭʻT52i'|r9sҠcנGQ*>bČg4&FSar|2zvb"qgi`w1=szEmb6|9p(Ilu\]/=[Ԏyr1ޚ WsvioD ϾGJQ ǟ*j/Fr:zw:qyT \zѰG2x3".xTQ$:N$78>R_LgW/[݀~SXpN&:f۵3F0 {N*3Ww=Bv>Lm‘,3cwktMIJ8=>jj V N Tvz=g;Ӻ<=FMRr8R2Gb>"%^~c8Sg<? (Aw7*y':P7 qh#<Rsu{ <S†q=9^sA;g :9 #XN:c#i-g$}qҁsЎ:?s8\~\P G$ni۱3 ^ X r~Ssc4Lg8`IȤ9lr:q3 dcU ;p)}C{{PAcLzQc8\(@GzrIcrg=:y3ܑ p7􄆞p:/Ar@0{i'?<`z9)RF}a#?7'`}^PIAA'Z@{z1'w<nu䓀>l02yqH t8Lg8Ҕpq( 7=O\r'zgӌ~8AQYsxQS3@@ גy mA SI~\'?;cAe it:#qHa۾:8'Mh(#>GsxH'0bKSu0sGAݰr;r3C=||Ìc=ށ}@2y??zІ^U#xqف,H:_5ZG\nT~ۭ)l[7㹖;{_u);Bc&zK[E2X#$䜫dt IBvSOCs>¾ XĴz."KeD>bXn.qGCk` TtkܭG|zo V O^ #o0dJYKߠOcQQè}AtY\IA|x鑊m%EA˶%}c,0x泖Dol%N``1xEYeh,{ BpryhE3E&Tr2p-#pgnT $Byڍӑ9P!nz[e򐺰 c܃<0{ג9v d-NDE{;| NG8NZ9#?0Prr: st[}Z9ېX(䎅Fz~iaĀeg$Lc>89=K׮@2sqA!|qNypy99 nKn>T'̎@qO^Wp2J_xG }@H4mH;I9칣087n =(xeq{eǧ8HI}:@:JO˱^ ԟcC8'ǯQh-@S!}2B?t )\O$┞s3c@!=8$\t}G*8zqӷ x8#}2'\}qTw?1zmi 9n;t'LB`=x#?i:N3psSdS8Avs8Qܞ"q}xgd3JԨ QϾ{u,/o ⎽9?^qp#\H 'xgkFy<=(@sЌR=qzS@\?S^0@ ~?N1Ԃx㷽01 c>@tʎɴ֫0#cRg'#v02}{gE ˖>99]i$qaSӦ2v N11r:uf1r2g8bvۀ<>T7 ,c#֫(q=Gl8$dn9qu7)Q]2$s#5l-{g#ڳ6qT^ hg'03p>=i87y <8Ϯi-8L}yzrryN߁?{ ) 2:/Wddpzy{rI 8zuh=q1?ޛsd <Fqԧ8l8?* 9$g3nO60>[\fdte&Fr8c*1'$gSqBI1xRL׌dq#⓯9S{ec$L׶9SK9;dg4ӷ#KSc( &!?ZBs@?4nJaw{z~'Q\~֝\C8ԙ8֋pr~=^8r{Ҫ(|{v#Mׁ?dJw&†< LqOau M1X]c;񞞴>s;qӑN)F2){ E{`rp9=\RItQp L> Rd?^9 C]=I=y<v3uCdO#h}922o^@$A03*AʃާN9 }>Fr2A܁Ӄ}6Ic csVH@z |#| tOד:ă]i8 N:='#/Jp $m( |7ށ޸ ci;{z:{ ^C['䏽ǯCI{qM!=:zdurHny=~\y'~Ԇu㎌=cϩ搜e ֛3{ ;q`=>rT!.XPypAUݸ8;#yֶ8Lǿ`Ap}jwP: L ^2@ zʫf̱1qҦW*q@ 6I퓒8ֲl-y뷮;nja ?79s=ަNƱWe18=qV$\mSS0 qzd8{ߊ||`p0:ws۰g>}]=O?Z<μ=9D1׎yP}}>;$;z~4Ôh: qӑSrzd{sNrzgj~AyiSI?ʞ#@O9JzÌuzv$ [l簥 : tw&ڌG=$8c߾jLH -g: };0J M / 93}M*A]Iz)\M 0w 0FN9SâGdc}ӸXaI^szg@)w`s4aAǯmO;rr\Pج;# 6P<=:r:c\MߎN .l#Jw ?)"ěNa >>sv;#t#䞴0wĂ@@U"\+89H })VOnW#1IDZ 3\rG=d8I9ǩANSۓNs^x8LMu?7?~>&lOb[goi>9#8#׎9H rv8_rA,I6~NxF<}Cc9coLG@ ,N~j]ヂ@ǮC^WAOr89>b1АF2x^9 ߸wxr$88('cۥ c<01zSY[NA'`zz:9a?QF: Ǔ=;@ <瞞sNP!܁sxF?JTݎo~yqq>c>~|}{>Fy8ݞ2AR(G8#pZh}u88?03N=99>N$뻨*GNށnvy4#'#s֥-9?T+czR#'vGPy>W-0Ň)1Gͅa =s}iHaOs=hzx={~ LsI=O>ދz#hG'#1 nqҀH9SO~NI8AGzRO_L`rrHF8=( p֐vz0\p:{8sFOx<}(}s1Nz})G'9 ƀ393;z1ǵ?36 9nhϦ `xSzRiqw'EBcu}F0N?iq'T.oҐuOols2=:sLd|yz=:A+qr sȤ#'Է~}219+>S߭ f_s{zHFq?{#y';9?6,>A8:c Ǩg bIpiI>AN=A\zA 䌐tx> @2 z^=iʣ䃟;u 1'ddgP['<;>㎙q=0 wK<8988cS|ƚt?1aa1ORAݞiB;H֗P<_c)H?y=}d((ÒxbpN3R;rwG?Z6s'1ϯԍt cqݞ=/xIܐ7 C)j |.h8Q~zIdMǀ;p*J"{|Tr8ǿK}z8M&R"ܜ{9'8fԑ1aN”dVch+aI8pOsӧ֑@I'13߷$qvߎiR?6O_ڂg=h^:FH뻎ߝ(z}ӵ;L:OjC'9n9#$|r4Q3$8/9$74:|s?*z6P#NM>`1B[Ԟ?җ(V>z=:pxNA=+ҟqLIQϥ(Â#Ilq}sҤ FюKzq}2GJ98n9{P8S1Hc8嗀1z1K_s5#v,}Hle* ?J𬏪ogʹ60N89 O,+pN:Ծl=p'}XgnFsW;u1 AAn38zaq`p'7{v9cp\N{ 0׻'#=Z <#Ic[#L֤t泈NH{:i:{:!>^R3zd'ha1͂=ϩU mr~Ob(=OL;c"2I8KO&K$ } jRpwI=SD+ԀOb1c:c`Xpwq:)POpKq{SaFK6yrOn9-x==Grpa6?8#8=C,)V ,PGS=O>U2@89<:M.#9 # ^rcM] S cR \SM1p}}M%B)bz`㜓ߊ;x##8pIt֤I۾F*&qҼ<`'8Oҩ;gkpwοx 3ܜM/$|z߫+0%U[ He;rq?Fn`3rۉ@CF}L0a8 e@yCOh X~S' G0|(@d3򍾜I(' Ya,>PJ %-g$dzq֠1㬪A#qLRElŴҀQB&FI014ѹ?,1T~LU#AB 0 䎔bWPHG!@Oc1 #I=0I OsPP2d*+?bOAqq9%dv*Le$_q-F@vlI"$n$d 8H5̨v/L<>-fLT&ƫ#„| Loi> 8PsN*~2[е0+͏ҽOD@}x s:׏Q)&) Iqqߚ]8?w鎜zKms\~)ñprpGE4ʐA8`;qs1o^p޹8zp23sC7n1A(d99@isx;{`N9lv<ӊv; 瞫zgޛ`1ԀAA1Fp2#=p! 7\}n8ltR䐹3#W?!@9~{W99IqA"ǯ_N:/O w'0t<3pszV= 9n8wqr8 '?JCC1Ѐ22G_Қ0#'zE <N8=Oor:`y9=^9b9'1Jpʘ !:qҏa/Rxu0r8=zu/Q3`T㡣˒9nw';>=~r9^>ޔ_![ @F; Q`}1A9<k;HwdlaV%yn'-.A9Wh ''r)־{Sſ}"!dʨnÔ!Grs SI YnW+ nXtܻH#vOͿ3GNY-jۛ{\YG]Ϫj-4f@g6@TZyXwG>~,PSs|c8ePp$;ְj[#&^Ss]}_ɍʞ+d``g9{Бg?rVUI6㿌":}+wa|M=g|t۶k#VS$!v!HV=;ck **rϸc1TVY1d>w-d ;;ڥ2pU{q2Nxkڨ :< gSSHKMt#*XvG|750{N1#;=xח= 3`y'{yUHGlcjG`}{3x=z~4?1T!=2q#:Ӱ{~}{gvܓ~69P1${Ǡ?0cx1T#=2NO#lPs~RFx q%z 9<Aʷ_q8מx:Fz*?wI pHq,222y}(na<)' 8 )ʌgm  E 8t׮ ?[~,<+t/U#I .x3#'=9D@18 8JLsOH~({.s;q <0Bݻ >q\펠vi w @@NpA21ׂrM469+*N*g(9+Ȝl; U\A =ɕ8=*8 #qwc.23x3TAG3TE}+N1=1V"$(Lq< j-KǴ$%N1<:; 18cg$Ќzq4 1$N)}:0x8#*Tװpa݌Oʤ ZyIU'*p=ԃ׌^qHJu^= v9r8玴!~R!=r@Z^18)z{4 ?)휜IݰFr1 [׾;ry{uM6(gnp}?i=yNƓ!898yN?903rGn=>jKBgz9ar87>a3\f=w'gӦ)Ry$ߝ&R# GQ魌`n탑s 7 g8DZe9p3qSsv犖1>:cKӞyH?: uϾnԘ3> &s##ޕatg: gLoKc =R=7~86vP~8&Cqz`I8RN c@ {pvic9#O\c>pq߂xqN9֝`-V=;~?~ߌ߿[㌃Ӹ418^zI 8>|°=;Fd#qGnccBcHRs39 \HdFn\VX8999_J@@X0㿷iO@=OFr?J;)Cq:dӚ6rrT㷁N 8I clR1s?R@Frz[/o•zr{ )gw$߸.y(|-F\c&3׷C}*[(n>z~̏\}2)\hi#=\=ty?l Qd9=:-!zJnG98:gڦa78 sAT;}zcgGZrԤ0$`Y9je"Зx'#tfԟP8R4ϮI<O.aR砨؃g<:PF'ۡ$wҤݟn r8oFCcpx`:b 2N:(.s>Ilscz_3nQp'O7rcvLgKwս98#ߟ0MsȮKTqԎz7}zfqD~'NZ(2nG35M8JҔ(Ӄ;:~Qb9D`dq@5_~Y1BPy 6(r9 vJ;p~Y4?"^y8=j0G@ (\U%: "|tw֦W>9?׽rZI`[;WO̓S9QG㷵O7Add@җ{v83G0r#sRyޞ>R_3g=i <(3# t ?(qpzv>A)&8tW'8;AϷO֩;o svd{w :I}G@(lg0Ks&yӒGBdzN3yRqGF8J5;p3׺4=29?#lS6%@' t8G>#~8+8CR>N;Rd4Iא61q:wc'=Ew ~7x{ϥ8{<`>{ǮNOCN'a0G'ҁ\v71QH$t$v\т8ܜy8ߥсrIz`x{r={d})80yX{䃐ß`XO9 c zN(<`qN;gӿ0;OPu4팀~_Ɠ##``s@ WԎdM zpOhp1$=Cpdcj`3wuct;[ ^ =:HO88q2y8t 1@0;H c'$}OZsrzく}mMz~}Q ?JgN#hb~$ qԏ@~)hQ#ԟ0nF7o,pGzR[$l.qԌPJ29<#{F`0 ч98n@Sqڤ99`9<|x>ҐƳG*O\|uyUHir?)y؎:={:;q %A?\ѸQq1pOB=1QHN9Tg;RnH9)#w=?{ps=i!`3Yc<yǮ)1NI98'@#;s:4 dxa=xK=2AgSw铌cpx"qdi;B 3R{ ` rp֗'Rx g0qv8Iӎס#H}뜅_lu擎O#푌Pƀ2pp~V=~C;HH;FFxit1g`P:Gp;җOOIFOnh!GnrHjz郞d~Td}=I~400}8 {i8ݜql{qF0;`gyI09F78Y_݌/3NSc9=I9ӧ>Տ?8UbŔ`ynhOB~\ :T/ȃhxrzp aHޭ!w!A`sjdH{ q?$~BF;gމ-D1\]2,'JF: {A#9˧jc ugG?)g<P>bm0A8=qV<䆤8d`ǭ5ycӷz| E00F}iqЎ'I_BC? ǯrF{KODx\8GztnFNI(Lc`Pz|3ҩ-Б\z1~Td9B@9&dn NQ .wԀN ϭ?^\u(2jc?zh#mR2=MItq v陲a |~t?H0F;HDyTr=GN9G0}">Ԩ9TX2`GQMl4N.F0p ׭8zr{~QoD(~l:Uǹ?J1DdA!n)=rN7qЦx'^1z2H'M\ߑߩ O֤h|sϮ?L6G_N9>st3gcAzf$vS3=ګ@Wb73ٷuGB;~0@3U%~0njsϧjp}1cϥZ9fh NZ1v=kHrT4c۞p{ ~*0?xz׽n,Ϣ>TddZ"H8Zq$cw^IORԫN`xJƚԁf#spA'ֽ=xTi=u>|Fifed@,;ݷ<D8硯z$1{ɱ!YN8%T` zzv3,Ny%T*A8ǭIW$~iMaoTݐJUsHep2q**g,ţ>_(\Zܡ VR~m$Ƞ9*ڡNU `/2rzS}j΁#':B l Ɉ’GA=:SU `ϼ .<| Hf]f21A3ȦvF6AqSAↇrOq1g p:cK#!_㞔K2Hb+z)NOҚAr}~W$39 yϛ# Wgm܈[{I` Fx"2gv1é4鞠9d9+ 8zF1ԟʀNO=pH?ϵF38 ؓߡxǨ _aFq#n2n4?!F؎ Fpp9$N'6w{`=fxҿ60G^GzC)W ݁KsGƁە7'w'N3G0 R3>Rg##C97 g\ixF gy{69vN6;ǧNh/Cd`8לSnh랇R|N9 90I bǩ?`t 9ySA~RI2>OA9ïJ^a~x{zr3ɠ}#92Tg!:On {g9sٚ@T5+~+3{̈7@X[yH\ؽץ8h(Vl$ 'zqp N+谚MN1~UٶQ1@b -z|gvgݵgGs?.~* gSjv]O kbOH<lD#ɻs6{ocOJT߻g|sJ2UhV`ES+'~'c-# *u\szU딉!@v~UeGz#8+¹Vxta#%AΡ#e_;r?:;nZy/sȥԩlvz<oHmʳoH9Wk_ Z #Pk7:\8ۅ~:mmq> 9# ?q:}kG9#9<J\H<ڨC\'#3< ^Jy9S)w#GیR1ґ"GLqҔ=c0`?7 8'ut9oA^2)cxׯ=@=<89J: r:?¸@<y?(89=)8qܐ? yO@i{F;?Ҁ g9 zQnc8晟lv@ OoojoLvz#ߦiF{gב(韻{{x#E篷8q#<8N@ ۮyN~&~pp0y)b|ry'U`:뎹nöHaaӚRIBsH 99n}i3} +񪸬;x!r7rKc`:uEN1$89t I\c;Yu2;ҕa u{y{wsӞhrYss۞zOob3`Qp3s<<nY;ODzcq~2d\|܁ ?^j #T$}|r*3kr'tSV0r9zt1NضQSWpGװQsXV5 ؏az_+uY*Q@q@ރYcϥ&s#=,ǿLgN9Fq|' щaO>ds=2hGLy'5O<9=v\ysO^#w'8Ӂ=Aמ( .NI=&ǯc '֋f`Nx^pF $EvPzr3?NA\zu=E7Gr=< z 拀#냂N:sh=K;vay>􄎹88G3c;֜xxqKp'#מ xzzxیcpy˭"g8{Ho~~^6z|Җ9`o_@%xc>I=IE(9;G^g8# _zW7`)Nw|8H`$ss ~g݁^[{) =r>Ӆ,^L{Q~q8)zrvy1IscCO89 yOONO`9hۏ֓- nC ˞G>T=y$w d<NMK#9=z9A188}ǥCa$nCe!3liqݱ)\vO!nT; Ӿy;JccT{>Rr21#zNGA8#v:8=s:8(qd)Ԑ;w,48{Hy>z?4"='q <޸ tW= zj93Q2NI*@RrC|;c~R+{Չy)Dc>zr8)cc1ys+gAnzq#QI|~hsȣvIOߑRR3G^8:Rӌϯ~38==*3bd뎸S>R?3w={|9؁Qͩ\7wG97-K\G}9G|{T DéeJQ&ާ?#~ Lfo}C89'ڎqߞpq{R6'=T !\08gaަU,ÔIo~ǭIN;s[Bz(\vz =A=y>ռj٘JYǯ yjytsp=+5"ru.'sМLy< $ 2>:mw:GmG*ON3ۧIO]yNw9$>RR<ͧ@烞Cp7;t#3RuC!G^أQZ=>\wASwJP\ AyQ;RycrH'^Ÿ9\v^0H<4ʂ 4/ 4* |c wAr=c֑eՁ.AwNx3SsKT:^2J cqf{Oמi`'`N:hSÐ`q  z1| z x!:*wEYPÀ1Ӧ;D8R:o_W۸xסEud?W ZrTr6'+z8SHǦ'Z.{_zSN99)&ÿ;})S9~uW8 zCp;zӿ+y鎼`֩ynM0hPx֗8l.:j983ܓ1\z~1$898I8 }~C|$nS@*9e8Ǿ}==0r,zgߥ.NqpFzN20Gj`~8*2c}}Nx>c1``dpӊit9r!H==g$~`; d~>)|z?& OͿ03׏Ǩ]ϵxt G9F FH$pyҘボ3'#גi]8>:\!>}9zv2q(#==a;,9@xÌO ިC9Tc ߭ Ԟs9L9\1C#x+Fi0~tsLbzsiNty 8~~7xt=`瞄{}iq8{>z`HS@==  0=?€ ^qF6nA<uc b>qr~Ny#B8-i#OZ?1g8~'NhZB01/9y]ހz$c_rA40ׯ}}Olцs隖XA1 N3?$LsEb ]-wqHz ,`; ]n!b{lI8'49POLR+\roփqB@!q v_|}i:dIlU# sw@ `׌Ss^҄#8A#isxgmPyO`)88Q;}I2G=0r8#Sy۞!uFC 99!zc֣uA~=iČ9p9JL;NႣ\i~c 9UR2N8Ϸi 6INB䎃\R|F$ac=p)N7ez^ v3|z3ڦBA#?ZvYA2F}άS2An5JQAq1zZw<+8`Uw'޵-c$yM@K-NXxo|>SP.XF۟UsO*t!U( {V'j t`:&}bYwbn6+0@ĽԹ{5U;JSW㷏jƌס۴B:1[3RF '9=mX* I>Ur]}8knwF]ʻ>na]t2k} *+=FdsBz~>GG-IӀ''kOp;5ߤ݆ߐ I@3߯u9,H:}x{0wp0H93Q r7r 1?@b2p 9^n;a.4 %y3ctzW='1!;q;s_)^IGR=}p) N;p~^o぀zvx['@^Q$ᷧ= Cq 2xq@䎃pG_^C$F 6r]H'@v瞝֕wx=H㎔GwW=1}xNF0s_Z7cnFq9_zz=,|F:{s3G#ރg9F~aAƀg= ʅZ\`/N@y@ qӚxz¦{prsz aJH}{)!g `Ӯ)z;zJ{%zTp19c$ucqb8l9>R 9s@ 9;?2xy~}zP9G nA@1}H{zO {玹 0  G?)OB@x0}i:G '$Z @n]bFy#sh 9?Ӑ>#LB>Z=@+=GROFn~00}잻zRc§$Ipug=z889zLCG^pG3F:`{ϭ!*1<>=Jo\69O@{T\z*RGr}^ˌx3TpGN'Ґe'8^GԻlyw6ҟ'z~409'_lT^ <B g'ۓڗ`1H''ǥ!=;pZV1u@ЙO>slҤSc I##ZN?JN=:й' 0 ';}){>1юF2(Fx>Sן_Zv_zzu?j/^r܌g{zt}jX A8 S3֘F@sC2XgvGLzJ|q3H=인n7~c nN1태P2}GFz  @=nu5PXq$9^4N$fy߱K6NٯG/s/xג)w3¸fwc=GJQ!\N4x NHǥ{4"CJdv&Iw8HUdv5]9ĘP@;@}޻+yMdL2.@;03 p9pMz50ȅwC.K!v+ߞCrEl8=GqHSm$TzT>o~,P:@A_cW.-|"J|0i+dro7;*8{]>#dC.;AH fmq[+.;(fHeh*X/rU yJ-o٤RĨ,THylsVaÒ `` }z Xl"c#{fF;r@:sҔ8rG';M;0H'搸=z ;8G`sNтxeG$s=G@ApI vv8R 0`I9~^p1|c SnB_={s` dciS{<g4b@Fr7q>`wܜʚD`q<})KqN:ibB_9cr)taH ;y=n p{Ig3]>qXoqA)ᘒ9Rx'JD@דA@$~*2zW8;X7Zf ߂3nhLV qA!V'#==a}zzvgH?9p$ߌǠN׭/8H$z]a c#ʕcF''gol~tsCA=GҚЅg$.S,W@=Ns7A` pzw8 #<*vG2 G0XM󁐤'zPi;H}j&psg=$Q)84q=:t$Hisӧ=SK#9csRRîNL2{u8䞿/|C}<ނׁؓQ)0t9<=}ii'8!GQ폭'"|x<) q(݁cnrǶ3qr>l O=Gq|t(s(Aǩq/8s{z\ > iw0r1('oq{s҉H+wPz{nCOzS \~*3(}9&pʌqdzqEqG?bQ3zsNNMLQ(Ӡ:hL8VP}OH'O#SG Qe8ێǧjgܑ`\ੑ8;*Q.G=I#?LW!$$KOA|RsnqО߈u^OOZNe'}iq#; }jy7Gq3&0SӿZ&gs r3c!nPF>ԹhZ>a#SןFs{j9#2qG>9rٔFe _;r~*y!'؞$QJ$'=?OԹɠyp1_0{t?J\0P#==G43g8?Zmq3В?“zhs| o^LzulgP>B1 ;`?x8q†?_4@3@B1ׁϿoUI9Ǿ3?t};JL9@J3\NGC??:5,pg:`٤2'#9 'E5[]@eS.}21:r9$}qZgm-v(?19ҩ(1Si Zl0L~ iOqVnlrFx?@}6x?=0/œj Spm8׏L~ Lku$V8*:y=wVn~8ce>ppNk=| x;z*o;yǦ9ap8nO'i9^0qjyA0grG^Ԃ_VzsuAn#9y {w?wvvL=M\G/'ϵT3 8ZFO{}*CDbzけdOT! $ z@N[8c unyL;$Fv9 =Ͽzw',_sLwvy+uޝrN?pRHdxNmH?*`&{pv1cI= x 3ۥwv8qI$~(?W 8\'@11*:tӻ@x #BϨ=@>n0{^}րy9q'jx. r}y$t@@{zs> 9OLQa6ݱvOp=)8zNqr;P1pN0r3y:x8nlgwぃpw3#?==z([ tn:n/MqЌ4/Gs:{fGc#(@ 8 \LѴv {}H:֛N~V?Fx#&A9 0{#cޘ#&y'?w3шz{Sq##s߯ ph꽺3}NNT =뎔 s#y=zn8lC@ .9$|2 ?{pAӚ7,sTwSt''8מpq9㏦y@ݑs<Pm^_ܓ13ߎ 2͑H yyڑ/rH!89#.QRáa1xȧtgO^:1 nき79'&O83*JB*嘞3)=iO%@ `NO>٠'lc$ yϥDrN rrx_؎8avH0Ao~FzcS403ӌuʡf9R=qӠP0xPrGENiR[G\wg9l&9#\1$@ICm>nzuA?OӶW 1AuUas~c Rn';;:jܰ@@g*\3X>9't#@:>.sxf$cJK`}IOJ?=`C~ :o#9*:'iΨdu#9Iש#@#H 37G z9T㜑sϰ$;x~z1N}=F8'}G9FG;zqU;{:~u%N9crFT|xYhidMwz6V19!x ӎkHnx8'9=;#7n>\s}`'^)ɫ ԜsTuXrW=sێ٭Q3V&dF9\Mpf@Q:kEԽ<~yqj"N>8=1n20@N3uD1Pq{sYw4$prxGby2&|zVYhqhld|㎵vf[pdmra%=sl  08U30cW;>m 3ֵ#7H; '#'g Wo)2;m bILs]=@ɽ쫵߄;Jd3H%#*)81Xr4^Yfw@9>~Lƒ`[a 'i 6O^fL8ٜ$ecMDh6?6QW,T8 )Ds3lpy?

䞘z9x c ֚9p=3JV>݂@>ϿNFAm%[}}sqsN[>498cM<s׶?2E8cہѰzy$hynz A'` i#}nJB G|r3R}UI[uQ29w=XN9\c2GQi(:9'g>=hGPx߰@ =sNQ8zqOnOA g;<[0t9'?ΗAKIyqӯ|Ѵ@$ AsRXzR9b_S֓^pHr:g΍i#Cdq% q<vuCs$cOΨL9>{qx 9$c8~Ԑ GL?L29˚@79@< y$'9=L1R@M= $h:7`m \ f1gRsV)|n$ g㷞:܏ja8n3w' ٸHcި?0yrvyi34˃H /=k[}2e@Ā!NJ|9'z,pm.6בᶹbp rsSIϥK~UFR2=zWVwGRqUu/6 w[&BWi$S ɴc4T Tcka$0ej\M}-G2T8ڸm=Fq\1S2%>Uwd@-+,JB1 =jIHLxlnw 0:G4ͱ#R !܌Oq>h3U-x+УSnzٌ;Ol1!q\\ad0U, O;]Rŭ46/F 'CI*0;qZ@vGX]۵qU{G}GdGOgog~e6G28l(*Alqx9Kў~g:{c>87/St< q_/q r{qvQG ێ3T!pG4{|(T^ `"3uw~ԃ:z硠GRyAӮhcd;gi29u8Ss3ԓ1\硥$sӽI r{Mn=z:קZ~b8:t^1G\~LszC#^9 x#G@xugzqކpp:u 21UUcTiuO8 Os3^?!F*nRC7~{s  .{ SSp㏿J7Q:$x?'3ҁ&Nx=l z8uHg# P-p> {_P&H_<~)wyRANasq{c7v'#r0qGAqXn83Z7 d1qץ; =SsH_reF9^9)ǧ-׶8wvO֟0r~lr2Ol(}*=[$3PNqq<OQޓ#9 r0@$3M \=8ҥ00:guz8Ǯށq?.q`gs A6A2ONݞ:}29|A89ґh>=>aX#1֢zu 9p{bH]9'9€r3zTזmĀv)3:N3\C{ux H=zZ8n9' v7uOӽ[]rOwG8*dq$>G~^FpIJy̽I<PR;w M{O`>=h/'A;H#җ0rT %9}}iDs.utsCr Hq9ƅNN8* `u'9&Cz <1 YNp9, ~ǽ.`%x$@\RycpӰP2t^{=i'Lꧨ={uar 2 -rҐKrvq nqgr@'R {9# t=:O!Ff%6P3~?zqy'9Lm~89R'sZ9'3N0'`Ԋ眲=F= 7'<&$q_SϮit s: 8c=A֫9 WqcJ$OsM2Hb7I|qp8 ӧ`Jr˒W){A#r2s~7O=,Onr8)#9^ POƗm'}i{Bx'wZ_0ut}S<7ޛ?:E̮R3'?׵78]dg1PBҌuJ#\{cڗ-@g$u.8Iӌ~~f:=;d#ʓsң7~8GLgn9~a׎cҥ̵?pyMAP=1MG9jrrO0 i<~͎yK'\u99'(2R:֎qnhs띹H}*ysZO3cn~b7\G$9O!oo{:Rf<x.AQ98GrrG|qO]7v398n1\p'玝y튐MvyGL aH''}qNWr]2Q?NO'p3I$u=07^2r>ZQp|u99=xƏh/g 8 t p2x GOȌbsALGQ翧QQ?!yOs=HO8#C~~iw>n?8=>u Tp@o|SZa c'9S5+ٍ< }E'y@;qI)Sc Y{S|GQlzi{=D=ZgA9^ߟi:cd?o£3{yǎ@>K@Pd$8$t@lqYjW(G@{·-`'u8ȧ9ß|U cd~$QA' sPz=1?<{rr9H'9=:ۦȪ@?=2oC> c##>A:81N3uyGNy<]@z玸JA8'SD'n:\}9ԑ >s}*pL#GTNO_9 Ӝcso^K˜8c )q}rhb<89Cy9#Ҁ} x9R1sш?МS|=~pOt\$F=ɩ6r6ws@cǯ{T\}s1֚Ag$Az>^6>b۱T ?apI8`s;rx$"_3߁{)qԎF8:94&}u 1Rggq=xt t['b_@N08q3^y=pAL88c3sa=Ͻ =N#Üqn?4&GRInAv7 zprIONҁ!=GCdUJb@d r@^1O9Oav6봞_zh霱9\rx'ɤ.pNw0xy!Ϩ Wv#d6|)yr:c1q3O~}zރӠP0~l恮N #szc) $) s8x-ߑނ<`#lu☈[cvOBG xyK0Oˌ0Ǿ:ipt< L9@nC(w~uCqؑܯ$qix$ ) F1p? F_@@83,>lr:w8)c8.xSۭ %:p9/9s׵4`QЂǁ؟h qq9I2[oێ{8!>N~PFN>y='`\rzZE#G<{r}2IaO`@׎;,AP`Ohup \vRr>Rxu{d`8W:a@Òy0@;,2uH돩cdߨ$c=h(c 8,O9H8 ÎGw8hccO}q\9C?b#<3N0{pz89Crcs5- 6=:qp)0I$s p@n:}iFzIY=O^)F:|g$Jubr@<U;$6:IsӧnԆ.A㜃 >^l81\c1zc?ts\1:(`1yǽ ܌ϧZod8=1$`7{HH \6pARF 8{=2r=Oa4r;d:l#-3HGN>ww6z眎3tj43%yxfN[ ?Nܓߏ phRFvNsGP8n1S (vғg!~,1^rxߑL8,r Fx}I'1>9<遃sG@:Hڛܓ!G М>s]C9rv_zBN= (9^zE?o={qsh r9q&;xs8s23ڄGy#kO˟z w*: %I _s?JG=aCp}yMLtX.Hx'F˓?ӥ-XSprzdSPsjU,zg]Nw:q׊Cbx?x_?R1-fpNau[d@$t>G$rS.F0vgܧp)$gnzJoBpUJPF0:]*\cpjRZ0^My;N !*' 1}4r` lI)?J0Qch|5Y9JMd#HAaz39=p99dSi=WbN+Ves)Ϋ~Sv~_zRyF6rpIs*OZ讆rj)Q檁r1Iv P<;$9R]_ ,H?x9%YV\|n$c j^FAtRF>ssu[Xp2;w=0z}hW۟0=UCv=j$UI6" u{vx`L죱 QTt rMFR$Il b7 ٜŚe w 2Ar؞3ӽB50 $8?0sڔUKOEņff*`yqҽ[ܹ'%9=EtIs@iWlT;Cq]( *ybWGx$T6a }N:?*NAn ?3v/k3Wp3{Axwpq+c#&q,Aqךb+q =#(zGN:R>Fxr)L1韪r}0ܓ8ӌ`}i= \tnqq=(b#wgtҎ 1 ?@xSz 'wiNq98>a. 9$qGq!89ց#ʜtSǫt4ܑ=Wi*B;NqӧrR;g؃Mln=@Ki܎ravdzczO r$?4w;y`Fђ3 ێ#8F@zz=zrq@qq=iXhgG\FsgқI =3~ZuӁ98(鷌H>1 wǂ2 [~RrʬFr=⡽mܫmF5 -18%A;ɸOF u9#4fc:L]]Vhc P[H^הb7Wq*W9#p}s_G+wy7tZnlK[yb c<`s]7˷k; IF0Tt=x~1JMTMOhRwS}vƃ;JGz]Uʉ>G+##YMXtbƛ6c9ɠ(בy+ƫv#`HpO9?cINu#QQ9'6GK)czEGzNŤW2c{S7=G:ϘӔ>{t\8J}Nzg<P9g 4@{>Eyo7|t.Q|޽Lnw?7!׹$c>h2lqp{<'g'8qĞ^s>Qf{{$`c_|Rs_Qo=;O'F{:aR{oX nv2`g;zdc8To;cO?^4pq/39=z})LݾUQ.A|ҹOoN =zZ\_7W8< ߿<!BS?(Fn30 ߀0+NyU:RA3$q_ ?@08hw3А1};Q#zyٍ994yg$}O8=zz w6=I9q#3GLkLR:r=;`p3u##~̋+qtz`W?w=3d~8?ң/a1=LI ֧jRldu7'>U7=?{qM:cׯӥL#H=|㟼}}(`׊h>@OW tȌ8@x'~ҒW%Uqלcӄc9Gl?jCt}}i~;c^A{?!v99Rc9py'Gd4ԑ=p?Jgڶ8<8=ݺ^Db8 ƜnrLq=A=z|>W=xs9GӞNd9F֚ۨd0Nxz}jO3>/AӏV*9opOQs}GGzu֥|;/~SK9眃NZa r 29LZa q'ӷp}1J(y秩''w`7!g'#==@z(1# &r *oI  -!@x$qS; 9<cGIA7=)ے,`I oR#G#889<z`p q^^CǑ'8\П@us&cp9#z=:G4 |܌c akX{qOqtS+ qc;~o^8U :`(sv8z{NQ#zSl, '=NˏO5WDNx+g'Ҷ!?7o\uQ9>->F<}KOҵzO8lAœ#Ʈ!s>d\uI 8ϿQZ//3qLz0Srl`rp~L<p{3=!szr #P{ `uϿ4~Nr0}2j@?uj^P'qJsB}hx^'Q"zQc<co3֘~}=sg;dc Lyzn"Nz峏&Nx=1)x׏ޟtU! y{gױ#֞8t8۵R qz0~a۹$sϵā;#0G=iF3o l gϧ''q\PHOA׵I0z uD4JO]vퟥI$ăןJh;^s㞃i뎧<X<LUGLsO—'Pߧ'M$8H{ 'ϥMM}H'ÀAt?xn0FGS8;ӯJaN@CJ$sܜ{F{Sbp='?N)NTN3qPp?So_ۣBO#ڋ!K!nl#1x͸ 1=-0v#$ r`݃L98%</zhBm?xҞgG'qJ0\A1#=G#9"xy,z/\6QӰ䁎#➻zc9޵@HXz9 p^v_Cqnj8;pH) gp`Ppp2qi`A9\<64 :c җF3=8 ^(;qF2r~$4@ ?6y#}9KS~]Z@8ALN{Г<)_z`U3J@q3\zzf ݓs ֤#8Q'/ZAltP?~FG6}@-0zs#ԏA2s9L 8ǷTo͜8?h:NqCy$$-A=~s1Oˁc=~zt밷@= vbF{z>d=9 ր#Q=c)p@s3z{S T9^K `sp:2q3i9AĀ8?Z@;gxݜ=);2:`T{k}2:}M8aӐ{f=A=ԡxNAAߜug#y?NlO#'zP1 m# ́c=2OJU_G$s];;sd })zl`c&1C88PTs۞I^q,c?쎋p<Fr=iXӁׂ@=w61^q+`nJj%bsװ h; t=a=Dp##G=)0Ü;CޥE't'ÑK$ӷОQ x xqCO? c#Ohpz97GL'A{'c A+f9'ہ$c E Hr~d9뎴 qcd `ߥ{z;{d CbpN?Z4q'pFG;*2Hr3s3CnbysR$nvLpag8ǥ)xn3>RqD=yiBq܂}?: }QҖqqrߖ? oNI\@<$˟J0$29"}l{wp}3P\i8mߍc# 0@'\nLxXߟa qk ɾ)L:0eǥWOvlPdvU ,ijmVXԞ~y'~/rt=9TbE~O(~lߑ@$JT[˞1O󠥡bvn?(\cu:ONrd;OPXcH9&^Kv x<#9튺0p3 ˒{ Sy7W*}Īp2(a7 zzd;V2^{E'0&r3{c=*yY~.@rI'ڒ[3wGmߦX:t-!&cL=%ͷfe%9rrA1%jMX7I9!Tk0#'o^׷Ybmr;qWȚ*m na N\qzko&e|9:[Ҋ"rYM !/sWikxf 8b=p)Y=S+4ˠS䪎<3Fq?^IwD|'iqHG`8PhЎv^2*B@c)b.S\}rScKsG+)۷wuq:ߝ1TO `{玽)8j cszI89<'nz*?:ps9<z`N>pG'>Rt׌qnRvqX>I:ݑϦ=:Rs@ӯZBxc#^rs@G~ ~l sg\= @49l2G9?Ґ:$xJpn@8%I9ڐp8_O€?㷻cߧ֔38RO## 4 v~sM1X6zumځ?8(8Iߜt s(;㧦MP qӦHggzJ29#@{@=p (08=A8zГs!qR8B \ cc逿NGg(z8-uq}q޼ذ8r2Os1yoA}3ǵ'H`1H!?LczlFqq9)0 19I s~O#Ӛ r 1Z_S=8G;~srFq#4y%3qip[`t89n8>Jh'IGLS[d/B@3SA@ l[GB4x@rA$ׂ=)O@NrszkA%HzNy+qQ1^Nh E|׉6s( rk"}M;ʐ~v@Ndqz1B3'o9 >;*)=R0U{\ڑ]v l?J}΄żA[F@1]4辧5IwNGhs+ Zs81a˜} cq^rmeX,b +n8I83^e{,Q*#ȇ;@_CKނ[X_kiϨ8lF8Kk2[/$4#^=9(#6ݷ9K- GbYG~:ԉ<<Ȯ A"ҴO(J)mi )#h,r}E{y08,H@^F2JI =ז[iQ$*7,i FAR pjGHԹ1˸x#ت^iMޖ.| zEHCc9OoNWz{!} zr}?.>~X 9,=)\bn~0Jp[*Rzt\mҋw`6~]vq/sϥHN}p1N9QHx9).q#p8#>)zWۇ6Ϸ;nq\dcHw+j8GA^ܜgi9'ߐ}34  >oۭDǓל1ݸu,W,19$q펟J{y9@bpxS21ASGfw{rFsJ&'r:(Sx#=x猏NSN9{A{1Qc82{8xJ>gs##)hǎϠ4*逸 sO=r @'߮8<u'x8L){_1"E{8:nk'Nw|׭K8O||yq=*~CǡqO9⟴+ ^0pzRÞN@Oԯeq<3)~ \zzU:y1?\ j ?~lǠ38a;;.pTqnHSUAn>\g2;ץ'ڱӞ$d\u9LO`On4|ӹqB?go{/j~f9pGcҔ&S@1'9ȩut0O8㟛ڛIct?Zhh2{?<>㧥KA$<gO =#RW!屓9ny^/'s)@i{dvpxlrs鞘s+M㞣_8sOK|8?NG4ɂ;t8F}je>( d9Ϸ^'Q*y!P{=Ґ0>OisM2>Sğst{RR /^O3x߶ Η >2*F߭'Cz ~f;=q@x''<,P4~ip=}xO=8%s g^ɦ7c֓v۞ppN: \P$霎r=isqP9ޫ9e>ǯz_3~zfr39'q?7Lm?ZS)\<W!"qtuK9=6ÔfgbG8>};瞾si(ۈ~z܊989FpH烎)7p98*rH;(sN}G=H㊆0[Е9}hqN1)iAKp<;sMfN9D-`?ڣzdU#0Av'֟=rz \sZ>RoR8xTOm=@ISrӦ3=zRoEM(='&xRO} C7qs=.s$q4tP99gNrzg30pyWBvF~) mʰ9/ޏ0$lz2ss?po~G9#M#g2:AAܫp:? h9O\`4 UPN{cU_Ȗ=LtɦF8lL, cF$Tc9zgҋƗR>@`wtTmp;A=s@*v8zc{T$7Lc8O<}jlC=?OZKv6I08?1'8<szm+> >iԞ'Ǿ=(xNx=FiN{c?q n<~ u>Ji=|N :;A uth`(opp^ G gG+Xq*1{\^'@z?9rsԐy9=(bp'P^}> Q]8dMu>zSޟz0Y=/>^]RӨϧlRn:ÞϚlq{?j\=9H_Κ1AsNx'q@ ''4Q'#P=yy9?tHz~_^ӜwnQ @?2G9)uA}}i}3>9Bn~=E/L:5@'^F8?皔 `L"X6WcA,:199?9{q'n1}Xm=8GܒL}xp>\sڜw9 9=i2`03#9݃*qpyO\~1N87g{g:ש8 ?7?N=9ԣ=psց1q81aӇPyGc9=~z!F q^N3`zw x)<{O\ 39(pzXӊA;8wOg=)$93{1i :}܂qߧ4|~n?l.(laGz8hyb3H1N9=`0]AϠx } #O=u0뀤daq'~6sF?C7n{ 1&Cr21ùPRF zbr@IR[$p n3r0H~tw@3=r}@180Os=Hǯjv3v 9րhqAݎr')xdr'; O@= xb̓Gh O8;ci2 s 1s@ }q;{c4u:pOP@3ӷZ&ۓF=8>җӮ23{OnI3?F3  ܎ғ'9cی}8@cH>(`G Fy=G^)OI=( | rqϩ=Nq1v0<$OƓ IT0rCOsgq$.M(yr3@Vb3~<A8r9?"Q&x<9 d4psT9z@I =@8#G|9NOH@8#U9$3FrscbpHnNcws~\8qԞqy<+ӭ/@#N{=)[S2@65+A=Ü< sQ u$ ޣd$d61f!rOyp8=*ܙNrsIU??ny0d Krr$m~x'o 8##G8OO9{A@q 푎t׮s:R0pzç^Q''#<{:0~ @w;G+ʜ9's\qLc8=9*==@8HLB8G{v{{.s0׏NtH>=~*Q䜐xsM<28>޼=8*6Sx2W.v$e}@}8p2sĞFW"nQ*wrzքG wp 0/1 3 z,ӭ]\j@j6l.8(a{~uoD6eѽ8O! .dЁka1P1֤L>QXBz1cڝ8?~|%UXpI3קaHؑ׊mcOp r213QtNy=Ih! h;{'ݩX8=I։XS {AVlB#9J@= пQ29}gc=FF}sv!{g=0Hw( *9PӮB䎿Ik^jkg;`C ϊԮm ،cx?C@y9J 2-'#ps|um=##B:F4`3|:r>[D]N?0G>^Ǧ9Eta[BSwsKc\ ֚v9X!|;;$* `~wRJH 0v,af&'|~c+ɫ9 klHgF'tpi .R@C=5EMj*@#6ثFh:zא]\(҂ [hpJz.w##Y߼R[wzbO1 ۅ;Q KbX]:N; I.b s׾M>{V TÂYp9<+bяe$ ;9h_tdXd*vo?iC0| z# ߴWvT[8.힟Msy 2#rz>^9':Zooĸbz4WJ-]B NzzԊg aڢGñWw^w:c$צ7!HboPFL1 tXg)u!~*׿J|~K܅ ~ں{kԒeF˖rG \q߁ִQ-G6Gvp89t] "T_/ ં0F9;[FZxKaBU6aN>P\VwLַ2H#1ϨNd\ (!{ukTmgBjj寽}H#EʓIzq\gC q<dƔ̧|tN? b\w wЊpwsǷ^O`rpzvҁ~p?h*=G'^\FI댎'`=zvܹۧ~M;wce#7gÌ`$qӞѐ=AolR Lgzy\cx8#?^ |F1r.Fv؁O`gkgnH p}ss=O4r0{nzu2na:x|t g1=1֦vq8Npnz`q?*q^;@?{FFs֔''Q߳tN> V-ӏ9O`sׯg os{99c|tǭ'l=$u?){zs| g鞃h898#@=up'8 go^l#wdoL?)9:{{~y9 @>#;m*38ǯ~7p1@ <GwgRr3ooj^zTx1sb8'?{7?xF{.{sq\t, ?I" Tv߇֣;X$u}sz|;qy?*>1}I5צsvӰMtE#=4 ysaӜyǿɑ=I- v{W#ǾܐX8큎zo`@Prq+Ш)8l9wJ>4)Nm's|M;,Q{v;wƮToL׈7Ubʹjڝ9u_+e̒*1g$nۏ=ش}4"x#Ap\ME:mX8< 0dz#خAQ{c9ZhZ(mbck.wvlP}=zӣ98-'8?\(BMZAݻ/ճ#׷'ky,Nx }=kͭBiI6\-Tbސr1;=5$;c%"P{x=9{R y$tA#i` )*2:Xzvsr;}sI0AŇLc 9p}GJ70$d QLA#89*Qzzu},8y|<p9t?C;r-rAK9=(/l xq;@=3zz\v;Z3}s3H H,N ~U۞=fZ&F_vG`G`ח)=^OAI890x~b J=Pyf)=PN?jo:5|=0;⏴vO$cA{1~=ztyx}=q{Kq?!wc+IyɎ ww5L_?cKyjO=@Ğ3w0?0ϯ)oSpN;z=?fDf8sמZF#s4JpN9 8'<8#~={P`g/_S8><͟@rƏhhu_ΔtcC)f/GLۧϴH^^x{׎iT=Ub}|ϣc\ JLCQ/!Ms8Iq[.x힕J>`W={nuA=}]Q"#!lISC/R8==sG~́$H'U =Gbr1Uq7p@ǭ/39犗S̯gx #EK^A2}#<玴jr֫i{/!faq1ݹ=hzN3j}{4;:Hp'2Bzفq ߏ_O4{1E<1y=~h?f! g#?Ms6g9k{1<StyHq?^g} sMyq-T:TȃOAޔa%'#Rq3y9$wϥO9\CL c}pzsǭOojNerd#*sR{TצOr>wh=brF fuCϨ>(10HG>Q@O㎤Ft#?n O6'8y}"_2I3Cr$F׊Q g?'"ݟǨ<4a'ÿ4R"yd3G^ _7؎N:DG'1ӯ𤘹Hb>ѕi=>\cG_ʎa2cs#/p38R| 7aSߚ7 u84]F9'\c9-g}C@KwSOiS9'~uW|su8{ [r(LH۞>׮)H珽z Dnt}!=s=1v893@ VQE.RBz4ޘ< s֋q~\LN^98&ր< 9Q“ 4\V#\zsNX?8 :dd_Zm/n}@#zzP #B.v .3YPw9'8<&ę۹#֐isTX=q?Jv1ǷNƚ] c=}8߭Z@.:}0:9$!tz\}iT~W1TI"ݏPSIL=ziFJק= '\s߯n3gF~0\>`s8O@nی 2@$O2qN:dq=1RF~cϯȪ%| )R>>`;y$z" CIꄎ';׿ҘVr~sOp18=RؖI18c%Gˑ&FO'#{S9zcp]=H$ª~}ŎpBq 4a39cڗqTLA`OtیpOO:G1?7 n?x A$u# {)'Ã<>dHP3Мg `(<AO'Oҙ.W#8 $, J1sݴ9'z6'{6Jr՗sIc'p(ӝz'`<>`8#aEbq(g?{sK$V.'0sϵ. l{h@>'}jE3'<6022xL$@m˜)?֤-CFsN 'eq:yI89q:h$c#?Ҝ9Nryў};=8qm 2y4;r: uvSy*2K} 0r6猟=9LC1'JA?-Ƿq}=ppA 9FO8lp#IbGӷ4ߎI#9:g gp_z|JS1nOo'lcwlzOA:.0 9铂r9d|9$@ $z{u)X>f,838A ?<!6`;v8T,G]ާLc`px1q=1n09{xئݺF0>,s쫜.#Q2gz4FTz`#n69%gӜjE<YfdۧJ9yp3ǧ=޾O_9ҝÁAns4q8'# O(\ݸm9}}S#xۑ@%fcnw Jb }r 3gwsр'${:3e$[giÓ=.psϯzo$`Jn3䌂8ZAI894 dL/⁡y\WGOZfr}@W#!"#y '#߱0 @?{jKC}803큏Hbg9$u=Av#G@BgGO@H4NLg8z3R(_Npǧ~Fīcc, HC9 H)= |{S(KL`:`G>\gN+#㎃ސ^X }88&vCr3۟@:A'#<O4?ВpIF:1vۚ08`Jxn8N@9BDzznn܍ v>@OҐ9ݜ~>^Kt`IN7zZϺe,ݹW1IۆېCg]1.+psqn}I+@dx=Gu='7yzE5(Ì#n1>lgҘL 9(]}Rw-q{ǝ<;|çLV5vgEv)8n;sI t>gMlPعzxұ=y9Hʤ^n*|/Ga,rsF yvc[{˴ԉHt{9jG@dg`zՀ@c~n8jڜR9(99H<oγ 9Ic/zG}u9AWL(w*W9,32&a]@8 u+p˖6>3.i٘*G/sxQT|űk5Nm?u_`ؚ쾨$|n[\6s'EDkNm<( VɄ44̳`Bg=9ҮC|`ɘnW94m#j;v1#ڮǥ"!C4h18G\mSEk}ޜ CˁwMmhy<"KtœzG3rоʧ>I,!, wjє F F~^sֺCݸg~i WztZg$Zi!獫HrN:g<42q~@=3q9|5zm'āLWWeyaxgx?(Lx|:G2FRlὶ%0Xux BDWln;\2f8V*1ԥNtJdm_b.\#p=zzVB弩 ەY>iRNڜ͍ͭ̉*9T$:sȫ\L+b WF30>rKU^Cl.ps@rw7=ɬ+Qmטh=>S8 zҕ;\“L+qg`*]v;2  ?u}AN#I6{vߩQ:cÂy8#$tovc9psK \c9?ZR:zq''8= t☃=x=~p8ձϵ{zцS'֜2WvցxF;t^;ynﴓw>hG aOd#׷N c>v38 cw늋zЂ2Ny+@͓#'Bϥ7208ۓzRb; &#AxǷʧ1w$7az##{8= ?.y8Nz N28܌T$s ` u~TBhԎJLp0xl>=^xs3Xs8n;rA<}qZ~q<z`z}x.@\sӜӲ1Ќeݩtvry ;dpx8O8qo+򁁓u?zL7nCAoc=s0y#=p #1\`p\N㩠zr8Xc8x9 g ?ހaI9tp'sI>8=2O;AO@G|z~T9靜m$ ;d~`O؞c?_Z͌_QO$;aG 9Np1so椡{w ؁{p319Gc8 N2A#t\@=F =yNO#o#9aRr9=43 s~q1Cg,3dju2:q$Fp3Z4J(sÐ 䌫HsM3w(P~ko`̱)=Y?ÝH}xȡc< !r;:RkG 3>Fy鎙gɨ=`sJ̤.s=8iǢb1?Z\A1I׏BgH9|9S{dp}jEɫw2Y$*^E<ʲZdž*FNzWwmn,$ؖ<ֽ\>Dyq=44˽NH@>y&H q 3G+TT\+JP$Uv ߚfһfvnN1OZ 3i(90G!79Js֤|pxm~otrB۹&~,v. -AwQNp Q8럗};֑T2?u?ȬFC%]^lt;C2VU#ҷNZM;H=eqzM+D9#r. ag(/k-:rN̮܀ ڸڏ%`NM,Tdut3 Wf =y}k$`ILn di"cU5;K? h 6'ٲokcscTjƣt߻_=BJVM JdƤf.D FvnMs%fYn+U8ioUHv3@R2Wjc= 5[:Z٧٣tx]X#(pv8=Ezv2ƞne꾟B; QΛpg2.{!==mo۸p|6(Lr+x9MpƚNm9R{^FUNъQb;t'|,rwk{u*C _ʸ]l&ǒG@Tcqރtے@Hq߿Ld٬j%ht6HCGe::7c]Qq1U6wkWN߽uL6~w*z=oe=:ui\Ibo1X`=Ah}݋H8WR3SХ] pv b??^jœvp~8*=JEQ]o\:`d$_jLs$>DZ${)z?w9z 'px䞝=q<#8 qӥ4 >cNzѻ~ g4a2;1wt?sЁzRe}#񴟦p)=9HޘX\s)9b G9=yCW-O#p' t꫿sZt<=:tZ̙R99P}z:iLid9m x*y F1{"Vn)lg'd} y?zsߐA1NW̼KLy3֥2Ijrezp ڝg}7Ð<㎼lJg8'ΏiT q#~@:zp?Zj :sԢN=C;:zwtQ.y=2.e+7=riq c&PdqOGNIGr ӿ'9 s<Ǯ}{G8r$#<;w2{`N=DG{R}x?ҥx؎0H#sʃ(ǓH{'4rNA8=tnߍ.;PA _ÔycpsO_vןҫ9HÂ981}@߆ާfp1XvqӃХ|LסsK>{21U.zzquLlFw|9c1Ҥ }cqݷ|sFy`{0l5 Aߌt9Xq}?.sW+fn?ryԶ_9^ :r3TDHuǷn};)w$cJ㶣K9?&wz0A"$G'N$'x=vh}y댊s#}}qF:}A8Sqs$n r@'ROQRrs3R~Sߘn @ޔg>p8?6z(Ny&x[rqF1ϡ9 =R1$s#ӵ?ד{>LIMc z /'<p Rl>=/jnUq9?P3 d})=pzN3)_G\tzw㟗֝=A t^N< }s}c4XAz78?˷oZNq3q+jçLfpOi\Iž˵ s9ߍg ~t_ "*OGO;9?W@ޟ\)}H/Iwa\oMj1?^J^x#8; i'^A##RqI8'ȡ19#>{x3듞:5/; szq/?<7'w*yǾI!oOHO$Zt | 9FF9?_. t r3Xu0zC`z>\zz9l;68{ P$?<䏽^3sK1< q@=3O^/1iL9#j1w#$gq"' R(`s=zHp1l})؜~cwdsx crpsadJzLdt?JNA9FюhQB?*p=Nczߝ%9gavAR 皯+g<`=:P{dy=s:q$&9IN;ۏ\-f93lzttВxl?Θ89ُOڙz Rc;(87$ІAb8҆\2OluOc!Qӧ^?0u?:ޔu ˭K`8݁ϯ?'s8aa z7R?>i12241Ü\:Q3 s"5Pog>sǷ/ 7cS[vO~>G39#Ѓ@9@d{!y$ultG0N&v#<;GJb1ŀ<{8϶G/@KPAO=3C<~=f,ur3ӎ+O]»Azk03{:(lxf^@>ִNG=Ah  tRڴmx~9u`G')6xݟN{ vm&CB>8zS@sRApKsv'қ.؞Ɣ@\y>{K_. =)v8GZ¸;&9S,+=}1g=sF?<4ӯ<֓iNG^ i M9cG_]3~p: zHCvn J#;Ѕ'4\](<r:vn|`CE $:?9##zc> yG7`@r`?\qA$=NA!ү>{Ւ=='?#R 򥘍ܞ1hۗs-:{{n}: ҟϩ7pGOp(z]Jp;r~LpGcہbCぃqhr:sI#@n>Q${簠>u:60 G=:vW@ꇰJ=~zc裷}}T`䃜w~;9pp,}OJqSO u1$zSZQ߮w9ӎ݁Wq83>Aqڛ/Rgq1ZwL`<\rr:3<ӑsWCCƁ8cׯzP,t9ysڗpYOdzNzu|w3;q{ WzqzJv}p㌎h~R  LO_ өۃQL|19aڹΡWs1gZW?+P1qPZ!(냌28f997Qe"?.ޜp=(pnc=0O;$)9Tq|9:;y ;Fށn!%rÒsځdrs\v })tp'qZ@*'sxzQ)g#'H@$NOQ?xv983dC~gJ $c y<?:(3ss SI_;Ò ?EnNcw Xq9HۧV9G7_]0r0GMq˟J@0>Q[9GNFHsR4{gs ~|dq΀b8' 󎀎=( .N^?a@aqzbԌ>猏~u$pぞ=8,O9'OI|g)^{9y?rqtּ&L2H8*6IF2Bs銫g-$Xn'9Zj>Ir}~n?oLaH8LϨ2wq|x`=!0N,0@uKH?L)ẟLx =G*c30p;5L]P} x<}Vzgj rȏxsvy# F/!7`#t}tCsp0{LgcrFdsg1$rO@1Jn9uW=wpA;`q:<4K$;p>*vGˍ9M4#3;iF~'QHas9㞤 >Wj{'Q?xg?N)W jko/<׵(*zg+x=)%g'tM,caU 3xB1\y>nyp铃ߞXwW$ssQ 0{_ΥKCz=鞣%ta?˭ bA\$=Jwu`3ߊmh/cӠ$tYۈ$ ʥ '=T۹G`=k4>#>sqgpp7zi[Tg2 ;;q TbL-׹ Vܫnӆ+ba>AmLLa~ꃂGtSIt&nGjy`n#=im*#8Tm4g ?*1lnk wg,:gP+0Q`Px^OLg0W,Oנ[gmew= 71DŖc磌1P;qLIn+^3zt{ئAP 2x tgpUgY%$wG ]v%W-xNܕn kRvv^A%V7WFBeW5nj<=o`1Ԍk 0ѻ#ӧ?1QmO=6Jh! 9sӃ]^XFq*~mE sE28=A81ҳ(CAAw9sKqӣ `ߏLcvԂy8~_C^g =Ghc8=9L~\H'] tu lz=ztG^N$0NN RAd??j\<q}7y gt=y njdqHT窌g,3Ϩҁz9s{P0z Hxm9)v}:|Ì_9v8 rAh `vʐWcs@ ;8~,s?©#0sJ88'8|~{P!s*9mohwG gL$ 4r21\4 ۷aߎsܚ;瑎`MyZ :v8-`O\ u: OZ!t;L'8$r=A1@GqGANgzq > áϦ#Ѐ 2z[ uaʐKx91qjOHQ'N9F'ޚz2zs3 s/dP\38$=yFA Pԇ/H1?4 g͜`d~tvxtܧFkiddݽI>jđ<2 mcdgZԔU~f)<;R&$Tm3J2GyxB*GLD>0[L伛(SQh&pqq 'PI E$F; ]T:؛foh1OsI1 bvWGB`yQk ϕE+ݞn\KrlcӋ82ǵ!!\tls:*_KgR\(8/Q@ LO2(G\̟^Nѭa 3%0žmal;X8P>Rjk g;5. :m Npk\_nw@ H9b/+i^uV 6jkjKi0$ l:1\9zͲN hXuO=jugI)OgZNX4Sz*whT@+-'I[UYd TcVA]8E)rtVWW2ʪ$䶾t;h7(pGPG=Qb~H#@:UjѪԮӖ=h)qRzōǖHsJ;A:]عsPFyK{h'.u:)k>ru! u_Z[ؙէMMki(}?*}䍾3֐JzŴsԧ+m!KOc?"&ҟ(#W:τf\DQֽ)ܗWw~gbRN/K[za[}J8a62q u5/)-$Y"#s,5RUwpaQާ!/ch!39bPrzvfwdA-{9'n٣U~$יfLk[3 TxB% SҎCOkYKA8 FGy ;RxT*zS{~fNn-?F$ w?bC40 @ztӺ_#x{nBG?pzizc3[NI',[ΨR͝짌:HRI:qg׽uv׏ǘ>Ⱊ4z<^onف1ӯqVVUloO$zWW:z{FkruI8'g9*I ?OӿJ籵0X'<=ONcq= q\А O $,c֤Ǧ9>=*|W=:3ϨBA1HQsI$9=ܜ: ݸqs2s3;v@}܏_S~?k9*&|r{ zY28ǷkTbN߇S$t9e9s>+=~gB7Hqgv:u2F;sϿt6:>lu9ԫ y*C%=s݇lsLͨ(bz0qװ)DN~hrAۇƝ$=Rm7yts_3L!׎'×QoF˰W'zO3>ަq'\O(9:ѓ3rQycr]'֋7~qɨd |Ã?>h|u'9K3j.Qp~/'8>Q z{ޗwb@=1W\bO "uӦ}s R;znO_}B ?Z^y9#>ƛm<<S=lL,#ŞNF}|zvui 1ߓ:zҌ0;dI2xCL^q+1{s(8w7^qOÌ`/8cЏӊeIJ!x^x*0{~9ǯzm2y'zv8v=9 t;ޘ2njxw, V$xLzdu#v0}pzOΌ #j; :c?$>Q#$zQpx$diǏn 7nGK;x>$?B z{"88<0Hv0; NҌ}}F9}z~"8۟jKb173׮=Z\Lw c8g8נ984[9a*8?J:p?< tA8ǨE/:}:JiN>\xZ_^b2x8M+}R($1''8PۇNWs0Li)#p FG$J@q9?88 z#{;ʘv~O}vy B:FsϧZ8:gmvʓ=3)rL9`NFG?0ߩI aFEBd,{ 1@zMCgx$qtաpǷSrHu99`u$q?CAב` )]:Ü:N{Q1O?(dzd`N9 '$22@ԜǨM {dpq>{ xB>XW#>b6r>﷡%}s@r:78?; ;dGb9;Hy$~.y / =`r3?X0霎~ i~^s㞔r~;nрl9#z` T2s q1$FI}߇Rqnr=@K& G;O 7cޗp˞0:Y"rbNouG=sx==A: B8ly)Ls6^?:I/;ʹ8#mǨ^2zrwO`qA,Q;vQN_昞Á;=xKgvW+sk#9?0 g9z:uA?2zc8 }L➼q]'}:sT #sH5/qԐGlp~9ԏssQy!9FH'ߎ1ځ:69,g8K0'n_Z1߈= =g '#'u)0Km<3 O^AN01sz8$ 8@KO;OZA:IS}s@q.=4^s?ց cds:s7#P8q'7==P1߯u9 :qӷ@C~v>; 9';=I9Qp? +֓8sqc#pLgyR' `Ќdq !NCs<4>oNY=F= +o%8Ox'3>@XS?{ Nsמ}S߱3`d={ޟ 8=X11W89͎y1vA݌dP:ܽ;mc?7sL rN9 SǷ@?609X~n!X`(܌rH{p(8 }[*Nԙ\`un=s' xsq9O˚Q;}O7'G?$R9zPO#$ gsN:{cywz~>\ ۻ8< i$q^gڛ `Gq{ g?ZE wsg)`x'##:=}}3Qz Ԁ;UxypFNF>ڀ A#'*'bc#!#P.} 'h$ןN5@rH===~ 39 =xB:u8ǯ?*?)4PNzNF=MC'$F2K1*F%usG 1#;~l䁌{az~Ԇ0r6c>0v$+4Jp@}psLAO< ~m@<2O=i$y`@w$k  @3)c8>P~>9'#?˹qHdY#;t 2ziT01 yH'C暣YB$?q@!8lH?2|I8><0;Was =Ԍ*Xwne$R:_ևH@w>nG֚Xcyz: ԔQ1@ds@t97 9Xׁ۸HF69>3:c<(z ^~m@ L{=6GQkY[?/CIshsP6x4m#9?1oqoK#\xyScَ3Љ'$đx@ǹeh$s 9'=xT{cx9r(#o@qխHO` gj<ӌ *΃nH$Lw`zqƔ1>^zO\NzjKC~q֠󞧸l? W|ry΂Ît;q֩m&E Gպy$҉8=8?Ŝusr;Hx<{ӽɒ$In"qέIϷx?8{mR3B==iFp2:` U11מ~ =O0GACps9#N~N{2;c3ӢX %5뜞K3⶯, GqG"hNQx`QOiIooc7_x\ ʑ=?QNzNis)⠓$hׂ6q:s398=+alxbiZ!3TN0Lu+Qʟ|H*ds_ʽt󸉧VybvA+n+?{ᕱcO2ʪl6XZ弑bM۲%YnbqC- *24ۜrq7x4eNJcEp_l ͅ:1z}+hDDk tc/9"19L  ;c#ӚsksZ[$ /={vZ@.dePY#89ZNU%gD!#uO_v[T#1M#GPN= ] Fϱ{f1t`U`I^Zi2y#0UdB1~8c {=x$MAzES.8EݏURܹT u8ۑ:nIp|9sp|zӻ(oӓǯ$NOPO8qߚh8'?(8|K׷_z2@*''a{A9F}sz@&1랄vӎ)1pN8$(iӞ1>n>^1֎=f qdBHߧ^ 'nv99Ө=_AN # I9>?3' 9Eӟ__'c9:t=3֐ PxF8݂ =1'J3$zF8,41#O?ցن: }?mnM\}A84݆19ns8>ԄIpsߞ8A<v[' q޾>Gn:q4_Q8<ϥx0)#R8ӯsG? 8xʜcieqۯ>sqHhp;'wA뻞\~nz/C^8o:q#*F~8=yz|g9>޴4`~H#:S$ɤu)7'NJ^cq"1@y׎^G.*MSi77 ,x8W;K_=J /Ip=:5/|D}vb;<#h*whcʻ/wֺ*N5$YWTX&>m`L˾Cf.v*՟n]||4eIYgv- J%hq4$Bo[k1<=:N6R{s*'jqJދ;6l$2}\v~lpk7DZjcN$ȍ2v0L+K8'fZ6{TO56ie4*7j$ا=Fs\N.M$hIYt}eY@ntb (Dwp8USd5NK\Yw )_P^m :;]=1=A=+F,h$dGHUFڎRw IVIw+;H1޽6^[ʧ*H\'n.ؿʗ*_}j6MuC}wce!򯟛p8`0n muo3fQ{uSrub#1!@8'a[; A_;,#Mu>!I'~<.d9Bmy#A+ _̉eUA+ǩ;:eG zFֳss=~] ![מr;qsxyYIj)9)> x؇=:ЧՏa#lRtAMq7a7q{s87cB3Ҧar9sʦÍi_Rl)<\s'!`;} ݸqݳF[=^}i7$?$cN1ޗLҕМߧ'RycSE̜`{h==;^IR4d=2{:_OA^@G\wg4{} {A{Rgw8{dxJ=?"~N8r5j"$jYGːpOH7*=I:Sǯ_ϵ 9v϶?ƁXot'Sԃ88{ga=Fקҝ;0F2IOQ؍HrdO֭>`\t Jh:tZԏaq)˝Oah.rNGr*pُP{ԛXv4A8:o \v=h$\򽱑0=iz=)t>=?J^q韮iߠ8$GN}{I9It y F2n? m41|9qPGx1I?! co|p g{P3jN1gRz^DZj? ק&:zvϿn{ WOKg02=&i㎇GS񣯩'w!-׌ {d0:㯦)̀Ws88֗Cu#;sHғ瞜grs3n3iwry1=Wø,NOz `Qװ1S?잙c:T~G@sO~D^@Ϯ/Ɨ\>j #H?)=?Fx緽POL):S|~c򤺋0y8^ ?ǥ('<)I$t=hԞFG|s:u=sIf9#9NZc;w oufs94'$v'N='NؚSzu:=#g r}xqc~=;L:>-àn-gc)n=8idd`IҤ#^mEc~ GI# ӯds۞zJ`<2:s1<ˏ46sNz ╃O㑒=1N08^K1>arw)d xnGPON}r9ӟ!#waCd8c;~Tu=#?|1_9{SR9=}F==)1zp1 eH2:9r@y?Zwn=3zPAϧ^x'^)~d؏Q=?xB`s9zz Uた}>90)w0f@8sקpFyJK2I?){qpx#-mn6q銓iqNҁ<=2W8/p?ϵ"$$Sӆn9#{<"2:_z}})Áz> O:֋@glԷ^v~!0TI^0q?F>Nj_viDPA-ߧh'# c̀}zp|#zvxNs3d 9۷8{0g׏ϜU$+8^9=INAE^[=IG;# m:r{4:c\c=};ӷq`>Єn1g  N|_jH#б$`'$nN>aqن3IA_sߧ|%'8nXGi: p>M _dԶO< RN}y=ޙ= @$b3H랠O V1Uw @=R* tv'׷)'TlȠ-pG@2Hݏ)2s0HGz 9M# `~Tx=iQ7PG~?Zk?@7nd`8G8@ Xm8?Lqq=y'}Ӛh2IN@>:; Z$cAc }:6 TP!1#98Q3?(zBzzk~l` ^ 19݀ĶOlϡ[=߯LT2]~0{c^  PI-oΙW'v) f$rNqN;Px{:+TH13&2r8$οßS:1zX@9O\d)!sՇ'\ {T|prpyǦ;t~G#:Q?w t 7/cI87dzF9 cy$ pN{s.Ğ>B~\%{=0:Ҷp2ǧ`=yHbw9u8 3ʙ;Hcnw=sgnNeHt}31a=`d|syѸ:<O‘DlAcn$p bxqi2|r܎89OJ!B#9O`X s3I + c# }旜ʶA%0Ox$17|\dN;g"N}s҆4IrÎ0jNQv_jI<h\b1''rq=Hd<84$m2@lz {C%NpO4psh!Q:t43p,} 6а\`z$d19:+d>e=? OPݾӭ.8A=F{ clm︜Ln;z)1 3=2w#9vGa!G@#N}iF>f9 Ü㎧?ҭ=" |RXt=X3H ҝJx@#pg?B7@A$(+O08NI+ėyېl8qۃ5qd:n=I95 ~a3ןµFMXNo䟧$7l?Na{ӏnr{}CwuBcGs~N1zU dc'GgAEx`d==8ǸJƋa3lyC\d4)[r^ l6OB1nz3t1;ҵRooFNWRp9iAN˅yosϹa)bbi[IVBr韥]Hd#G@v~K/ZyAJһ[X-p0~1VIbhN^ў;]Rs˫t"lݷ1Q9>?q9}CuLV~c Ú_w81l,A( T J9Z!&FϠ50mNƵRV:n>Ye mߎ=F_ m8gj=Qoċy,TzC 6V)%K(*+uV?r/ZD;_|qs4JV X22^"g,l[ƮP`1Cg6 ,JWbl  AEhpկ)7捶 9FrK)9s̗Jx"G+ÌtΝ=g =Oop+(f˻q so-nWWh ;\X8?++9;YxS=Yf R4"]r6?_fe/6`@@<)'vS@w# ީ R;vNkr}"y&Hft~ \|]tsnNTE0?**##{+Q8Թ(X瓟nG-:Xeꊻqq83^ϡ^O# ll :5j}/ba #<#jRĿ+adP^. wbUc@p

k_J|Y̶]=H!Bᐴ8~.} 7PW=RRFJb.1lv`Hc] e,G`z{i{_DY@1Ҩ>; 1.=r8۸{5*6/_/'׸<5B@gS[L XQZƁ OF!dI9q  sWu)},g`FH;J{Tl'qQ`0*oR#ǃ+yJZ w&IyHqԉUK?^+T+Tt'(m?,dVz%ʞW sO t6X45EKYOqۿjK}RU)ڡe^ҼV 3Nֹq\KV@ˁ<<EVBce>䞾'u>hԂwĢ ޭgrIK3ߌ7N;6MeRے1`zV0qQv{XwBo鐤sc;;g8/J~H0s>sg9cs>fbzR; `q׏H2Jsix8#'c8P?18#ǭ81A@#' !OW'Ljp?wq[H3KƲLn$r8 ڙ[͎Tz9B8=ZcᜌOoi9x`>sGOǷ~U` ='v17N H^h>PI)K>6px=[X6:`g؎QA@R#֠瓏c8=4>1>lG8ӯzT1ޘ y`p 䞟jL;<'??c8 ;8*NI'cz1B AxsO 1IlcۚldqIgv-~sq@ `z plg1JO`߷NrsیL9^?ƇNCۮ=j68$sӧfa{ǰ ӥ1 sԎsc8yˌr>sf2ǒy^=N?$8$mO 'I8?FNFޘ$\q? \zRcVӆ3#“< :sK&=X>20z;~"HN8rp4jrǕhǸY2cƼ\.d2G`!%B+|"KzX9-bL$bnҊv9ON8Im.Y+,cMǑ'< {Wpڨ^@;y !{d2>եOϻ/+;dVmf|R>U 1 YQvZ&Ѱ1ܠNg 5WNSO>)E]măN?S`H4w*om۷iQ=H_5vv,w%_Ww-;=pʈ`t#Hj1h4{: eHmvn&n$2j!kbXSwP6 _9-ޮsk} 0l* \s}*[Řa@YA L֛ѡxWKkV)[bݾDGy6rk_C`qgyմΎhPr]ﻜ=^ Ek]iˌc:A4s8Wᘫ1x<.^Wvs\Zk)ݝ9d5Mii8Ƭ0TFrK;H# F:ΙDul6\7hG)Ƿ^y^y?Gsrcp1M{zpx ̩6j鑦4J6ۀߟZ6sAYΑ9S?/$q?Jz}y9eBԄ5SI65ei׫zOi!M9Q<ެ/w +$o>6 灒Nk%%},켎 _@ѴIdJ׀2}ZA$#_2z{Nmzܪx{+O:eԦSou`s *KweXԕl9bO[E=igX[&3JcBUrO<U(K&,#AS#p,cSRo⚖ϵΒ?jЪkVU'C6>jK7.xnҶR̈́Փ߹ ޑ-6V@9B#j`CֆA-Գg19a eps:MU&qfp:le&AFßQ־6мY貕ek e K T2_4h[&𶻧<>Eeu o+Wkq`F]"QJN2:ӭOR*=}=SWZWK^\X鳼wwr"+W&IV4[Lz|E<7]{\יbѢfk}zW 4+ ̠#ciy5f椦~eQql t1zl&v::l .oq58mf8<=#JNey8ZA5ՇKWN[Qϯ^M:KVKgi>>FQZdpۘs,}:bAT`J4]F7=Ln8GO~cr;|ӽNOq=Gç4'C=={OS{1!y~ZN=8SCzd#T㞤 rM bN^:vNzC?.3Ԝh;pG\S0ޝN=4 {cs_C<}j3C}p#'1dv#]|9cy1Hnv_R`ޜ8Ϛ 0\x `Sʂ=:gW`HB''?OO/XRZ@H>ܜzst{s<mE#AW@j:!8${~^⁏<`=}@n{GN>pr;?s8֦}''Ulۇyx?#K Mu=;1C1J~aè:usϨrO@v8 #ӧӮ9O}x$Al;0nI&x:q3 :R>Dž?yt~dFAx)/'뎾3 zO׭.·3HA0?ZBOہP4&q؞1AH'gzS{{c\g@_^٩u Cן 9_|t'p:_ʅ`7c8O#ʀ`u=9:gQ럗} =h=?J@7ۯ֐ӟװ]!!G?_CKO;A˜؄t'8g#=x:1toW4A0AP7 0H8G\ >)ܞ=swc A:G98 1q9Rq::cOjlC1g)c~GJ}&x!o GOb=)!hۃߧӯ0җ'=^\PO{cڏQ7U~oN3G19ztizcϿy0p{TeBKqzv@ySwz pcL,3`pI<ZaF9$ZA''hސ!ys {t??E'烎iq;9և\>jC׌wքr}Odpsю$q9?JOv9qۍc޴G8z7hcO`uiqǾW3Jzp@&-2W9,q0:75'}q֎31?L} 8=sK=;ރ |q< 7s@翵;|=i F{ch㎀c\~Ѵ=r87~8)x6߁z4+*F@8lt3SsOj,;?Lt/}݁jn2~ ct)'Ӱ9A9 pp#N(6@UA=CԂ>EA8&={~G;48`BrÌdpZxקqߧ''>ޗi ww9?S(8(\7<98#SC9;Fy6~ p0A zrG^AW8=/5"p qL^19Qg?s8/~֩nHp A09}s➸\t=884<;֌gq$'i% @rqG)sӦgc{HrpOC͞NzH׌֙=: IJ [ fdߓMpbāg83}U^~c1${s֘sdbd2jO|ց >Rr{mƬCGS?)035 돗`m3(/sH! qci݁;U$:dq2 -ן֒gq׌qO>\Hr#=IRxs׸qHPdr(nzO#b}>,>pbx #C <L\Sct8"dRI$O`M/99W' t sO㜎Oῇnqp{`;$)F$۴dw; rGj@`KgLw=)vx#}H`sNx*Gnp2A$3ޞ4Dw%y'CJrOHߑW8,:`dgsH<`Ӟ,!#=v#<;ǩ?z0xN)sA (ߨ~}%g^(@=X9IQ}:]NX*:N2O\}){:>]<ޘ7?NW3 RGo@cyݏ9#+ǽ7]?s\=ZA\IGz7.0p21pq@ 9Eg #sI3bG d׎H$+p 8s3<>_$s}8=ps*@94v88s@{gi SAe dAƐep{߭7B0IN}M $c;0 9>Sy9ֆR"٠?zNx m䞠1tsÌ#$3Zf$듻nx㎼w!\z遃oFrP(ccd=;Sam+q߅P? s=93=03ߕ>})>$.q=:ӛ;q'!ޘ qxOPG@:`R1 (#<CK6Mo\mAaD#pJG#1xNkwc16y$l@˻AZhE8 Cs ALsR0^HWh<8ID1'9)H*\˸Dq*{ ~Ad$}0{b`\e}98jsܐ''(mzD. 9ȧ+;ˎ9>ҸIՇې=9=*>gnc8\5Y:2ǘ:v8 9x=kbLL~w'2ȧ,Nch4ѓC"s$߽hfJ20:wW9a H`y'(, G$Rq=jPR;xO@>ϰӺ>l|z WÒ=m>CԚüVd |ԡX͎#<n21Su<a@< J89权 oU}`sSU#4^3 gZb=0Xd8l} = vsE9~nG>>c7'z@ z68y96{ dul_^ p=I1I)xg `ط8-0֓ # 27 qi2=z#,63 F6<}9TW:wN'G?`!,B*@ZiEu#"nƻ-?2_~UƴmC/e#m|Ay~Mp eG$ sWKl [ PzN5"9$/J츐(,y`ϷֳdQv|wj" 4G8 =9 ;UMJVrm?zSz4I-#3,O$x% |8ZΒ˔坎N}H|3ݤE(h gk'};N?ն;ؼj6 Q[a̠ bKǑiB-Һ0 UQ[YSz5 T`!☔`6{=*و؀cs^:qr%~ip3mi# c, Bch`UebX2`īnEtF«X4_z]a}dݼAsZa5&Tݙbִ;fgU6rap/Kx4IɹG0eSQC)vϭq*sބ}]NDK;Ԕ ΌWaڮ:p}+'\@$4,Kp[p|T֬.f}N+'5ye1NAA\%s%bd,~I7:EP;v+.dnLEۗMu2_Κx$Uʙ 0An<`o{%-^Mꪲ9g2~QY:6ΈI;-Huל4y1Xq\z6jV\?ħ.;@y~RS$!\͌yUIBr>xgi2 <]"۶ `{QJU)Gn[O?vCF'n㑞s۵uPX GJ"3{5+agiWz5Գ\<ܑԱl#8)t?tf2 [1o6wUNr׶G--{{kdU=yS)9iUo Yj-Q$LF7u܌?%$Mx8=4W3$2͜gry$i"&=36nEzTڴխ<ڐwF.lck[\<օQo? jgYsׂ;@ǚtAJ{ݾ̭U)2ir[Ϣ|%+?E䳬WсBOw0|fax<\|rj̲XGiKI|,_SUSU<èھ!״N.T\gUʶ3s~ec(r./³ғv{#'m6n6y!_nXaݞ~SP P#F4Wج%IJ-e=N6NPhG$P͞Gֹ ./ήc`+.>a;VQmd֗4nϡN#w)2#cfCmc=sNƢpN>hڔedji[H$퐜(`9^x5xPleS*A(J3Wz6]+*u A~W%~Bw)-p:Z{֓[Lj-fS#<ʊXb8sOA\؜7c8Q0B0#rxQrH ~:R2 I=8'RGGaӯ_UPnqLIdsT_tzzygNdt}N3''?@@=r9GP@ >S`;}z}@M8$B(8es@:9ۧri푌g?$^O^1s~8 `'IH{u#JOa)_ՏNq8=?Ά%{d=֟@HoqgӧZ>G :*}ð:6O g$ʚ8''* ?<p:ӧԇ><8qІ3zt'gޔ]hO ~}}) v<@4փv'=Ol3~?ΐӜs9OAxR:d~5])L~y<)8sn9$SOA}7bOA=u\`zP168>i9> {cL$s\|npgޓPL~_ÏL{:MO\a z랾F=9'^;NƗ=y'x?Ӧ*n43=j,,7`cy\i ﷯\Swpx#$AF2H0<Qc냓(za03=F}:ҩ$uxߧ)7kGNtF;Ӟ 14b2gv:h!S H9-( {j\t8-~r;b'< 1O\P r{nzc`=@px9='pyR9Ryx™Cˎ:SFrq׏!チ@}:GsU->}{gNCR[@Wqbt}ҕ~`>tàA8'};ר~*?CH>3=A.GCǯS:緮~N1ǨSiNǀ@{zX^c?jk}x 4~ daߞlI(;ʐlgpD >=2N}GOw_ :3p3ߟL-4sNq܁ק<=}1I'\v̶;Ǹ#>gqBہg{R(xO81L9?NMDgnGϭMs݆xlSAo"s31Ӟ3Hs2 Hg;eO韥?8;Q@ywOA0?vdtq@~c#B1G=?qsG&$($`Oz13~Kf>K02p:Qw+ 0qKpI9#$#!99c FNzӜzJq=?NU~ ON;Jvt=8 OIn Ӓ^1 tl UPGrp8> sRzӎ2}?X4=0ylg'F[R@Q&{0@<ROh{ 3rzێ 1v9=:#38L}^q{u=>cO~بq^??ZLx#}GU܀NH?i$R/<lh@֭n]_סnz@zr ?~v>obG8(rG3Jzwu㠦:w c=FF>mN8=8a `7\)#0z 0lpwP8R~sҁ =hzOˎgL^=;v8'002y$sp9АH!vBlwsw\>€.Gl$~=zSC$ݳ=LL| A=K =qT$$)99p9qRw=dg=󓁌0ux'l>Sxڞ1p *? gO\0Nz)=8v:Bv :gOS03)0x^2qzv8#+_M>r<wNxU#$ ~?j`(9q遟QcЌsq1A{}y8ߌ`^zIcs 6T;})< hͻxQ?qP?{>Q1#F1=}jLNsVu'ss׿ }˖9\}*@#Q>9gq:qDgy_^O= 0r=^( f=F=3IxtyS;NIyyǦG?``Pc֛eHqK+yxǡ=)2AdgLAۺ'p8?nIivN:L~= `wr]q8,'9AbApzxwn`g=ϥ`3pI<fXW.:0E`}a<)p 'i9ocz}*s1ycp {g{vҁ 9 i jfӇ_9ۨd/V`q`I8g I遜dx^2@q9ԓG^`ƓAz6@$(9=y#ߌg$}jF myn2 y4n8Vw`18ǯK,A?+X{Rp2sy هMK/i8s~f˒Av/=o) `x8'Υsn'㰩rqrN;;}:0׎>>O=8_^j1wNg%p2O3ȥmAs|*QBz9Vt0` ' O)% ǧ8#^+7|23HF>V<けۥK2X9X 8<{i0@z-@#%W2<18s@Tsg$32r|bHg=}z~tQq2$u*;w5(c$ 6@ÌymqpzcC 9'vd9 Uqzp)Tg!G#~۷sxt<`'$G_^NOpƒpܓ#9szqN<ǜ142co\r SH8`H݌l?Ni%V1lpipz?=hI G' {cz}I AAj?x>d\pocp=gq_^)" v$clI#'Fv08>%9F@ϵ;?^Ԍ}h j68qy62NIpOBd`1%BuR1#`0y<{9b0 O_N+jP1dۜ?CGV\ϳtqJ < pm #9}1K}O8 \G:0:{zC+S|.KMk[71|8<0E{ދ+,'nY%x|[ ANm|/c+:T{SI. _8kt*Cb?'kٝҴc{h|&΁'Epz f붖SqASY(9 Q_qڇlC/ p|uڿf_nT`Im:@N+}ʤ{]yy-Lv^yݹS?|Gyp@qu,Cw}=*k%go1ݙr.sݏ8qpZ vF>Q$^k?3|>;-I eZ&2UֱU+*waBEC\y1J]O'~0R. 睧 }1&bNblE!r@@M\4_%չ®!|\v ǀۏ^(R-wy$ρテҡ8%n=Sʵ$U#0C#*ـhc%q}z536#܆-#vTKm06 ?^B'/*yHb~HBt cNӕH遌k2hV0p;یxV*]FCW'LGn,.+[x,u8?JT#! 9'޴Uԙ?O[ V_F- d` 3ߑ!ߙ-.-#mLH 8UeueU8 QH;O?_zu#ɷ}5-P; njVu`^'WrǑ5JS7ش8PW>٭M7Dڗ`  +c`g5l ^Cc9;ZFö#ċW r6JWLj<ϔqʇeH>ZU]%wؑ5;< t{VknmNe9C)Qv`m%XV9~/K,A%~`gЎE:_mJe(N%A^p{sQlD(;~c ֜j ,7_o@v1H^p85w%;zUJJV0B7^qmn`C0,AtsrgC`Xլ{t0gͫ3ZuD,ǰw:8ih}|ݏtфGy8,(':=j` =ji-UJvz;2lcx'UxPNӓ^$cܥB 9ʒxb}x K!?{q5{>"<ۺ01zt'I1@p~<~g}=LxtG9 U`u,azpsG~x d*DP}dz8Ivx)A}dӚw\rvG#Ht91RHr:cTC=z/i=F$pIҒ}wךwp p9pP"Fݕ'Ӿ> I,?dt$Op=NSPFh ^N>nޚ3c:㯥$1N{u@ޗ;pNr{(;a\{z0׌㞆hې2s3=y"9 @T(ރ= u׌l8lgzt@  p2=x-x|c=Nr9@ 9 d?Î)III#)1܌ ?C06sqRƝ~4NU ly]'?ZCWG;15.w l`#ұLG#pdS1 xU,-6?0EеC#O(9#>Xd E9Tu:ޟVqWԖ*Sjg%Zu=,<VD8Knk}fI$B S?J:Li$ %IP$:twob*|r-+>vL^)&IS8|Tvii G!»k5?F=y3~*^]qqOp~{})aӏ|>zuK`(89G `=1y1 㑞g?_o;?\cA𪾂|u8?F1;R1oCҗGn{'Hg 9 U ^=1O?Dx@<ZLhL0vܞ0x>Լn}\㯥/GLqq~Q9s֢9lgQ枤wWA88=:SB9Pz7M&$'ݽ9}O 8'0r8=' cKG:s=Ng#d7'~@Gϰ#}x0p#9 v'ui3x3ϡO){9䞴vԏ}Mȹg `FH 9h}z|^S=: ׊oS{f/H3L\#ГNs@zgF:zr?U]89S8ޏnې1lԀ19n?1קGuA`{s;}Fx{`3Ѓ~>as1:uAwӭq&~:޽~813򞇐HO})^pw9׷/^ }M28qh=qO }??U `0 뚠p1MG&Ѓ>]@0((nޟNpw皖<>ogsR1@_srs;.'HVct9Rt1@X8#;~=)㎙=ΎN\?ZW sǡ'##=O9$7w;S:$zu懿} cO{ t@?.~׷_A 9֐xN?L|ڍL=v998L? \{g`= 79=}A~#iFp}O1߁Iө$<520y t"y'$Ec;S=31ˁ#N{ {|N>'v'>dS2x=:cO@FԌyqi=NgϦ?AqrǾoO3>ZX`=ӎ)zv wB9۞R8нshQ8u#ޓ#qc#=NG)I^}XvcN^ǟ$pOB.O] #=W^ݱϥ ,!'GNSc')[;g(xaӌQPҪxbO#QMaPFxzx O< 搟cPSCKrWryRpTn~z!r2x It{?'iO3\cGo4:<L_]t@89wp9^(Ϩ7qsIO<(>!x*~Qg(~Ns{ t(>܊QӠ==91 w4F1 @|ZL{i-ז9{1H7<y`8{d/ N1ڗوBin϶1`GnzL;R/£=9?ns{qpGQSqGK}C?{<`}3RQH#=RrH cMnKsgĎ QKsZԄxkK]OWg<v<1?Q^'cˬ8 'qWs'<AyUmXc::Ntcc޺-F(n8䁹jxmC]Q`c@=*,p9$z~N(p}|~BAcNH㷩qQǧ9b9cޝy=3Gx@Izcq8#1ۥ1N[g0?€=s=PS\zjVc Y9Ěvs8@܎>Q@cӡJ '('9ӌP!Q:ws֑rW+ gS_9=ˌ#NsFG  2qcRqۜr~c)3Am IFJ-R9}Lg'G c'L<1<pbz]Lӑ8V#OǟjQݹSxri7`'bGք1TG jQI?1HG_c$8Rs׺ӡ )@#?xqi&2[*P~bG@ 7sO: :},rNcsRڼ̞q{H1ܣ*Ǿ>cS8rqW<{9G(`>Q,0;2s''Y@iВr4v[gv:;0 vr0@$u:>l=.{ڞ#w A8ڋg'=Os9{vqۂE1R2qx10 VwF#ivb%9^}ߓ㑍S~8 þHGzҸMñ<c=i#<OsHb3:{ ֣8Uy'ʀu0k[鞝OOK) :Nç+A@tHkr.O,<<<`jg9 H$8p;`=NTp۽zI#(z@h9 daATb=qp}@ @<=3w) 0:^Ly;$ ~8Hsށ,B-uz瑃]W;G !=p38n@lvx$wGrC7>al8 CH12㚍(8 N{H|ce8ێ)rg_QG ryV{&43s¤8`W< jE-^PG@x<Վsу1aS!m 7(Ӻ|'zPI;(/͎}i]X6sڛv̑O@sӓژTX}GqNNpNÖS @84F$OZUNܓʶsߡ91BСHS`^:OQGcp).Ag#9 ܞ7l~\Z/99jA#$T[?(8*p~^8T#h$G#=4ޤh#qҘ09 rPlI=A~pIьA29Ɓ܉9̧vOlޛbTgT) I<8$/^z7᱁q98ג) OR0TqIoNV*b܄ 3'*qޝ˒H8jF|zf08= g:O+O'9%sд Q*zpћ I~M6|ܷ;FG8#^EpTd@_iX6wqS b0v[]Q2s==) NrsӑI;w?ҟ ӯSW=:{ W 0 p1M <NpI'<s#;p='zT= ".[nr:}=rs <Ez{SS)b܏\Tv$]LwϠ梺 dz ,W7Χ<+$H@ didnrM{o*b,Y08bF8g ^$n%AB1>issn6$/Pn FC+7';Sݼ'rl})h'R x G@ Z[BMBWst!2&;<ȃ#*yl{`U8ݷ&Ns߭Q LDST$ҧ^E pCHI+S:hoɖ)N:=z >HyO|09SRD9RW a$|'9 ]0v㞣1+8mBuD?y AybQ55O)IM,d2p~}2S p% m9z[|KzerqOLGʬz/Pzar^[y<~a';sǏH.$(~I u|u!SO) 'ʟl2"DFݞ8櫝KBN|t^8;oVGRO;G#֪wFgu)aU?wydt:'(1d 2sܚQԗE7n=VO ܜt*ȸVՖU%)Bv+. +UQt{c9fVK#~q-`ɰ#m䲓ʎxϩڰ3f'}:j\ACc5j:- F=;UI (r[*b G סu'GC5U:mgOP POnz we${VN:c+y' ̾sNzz܎z`dg8#9j;gu>ԟsh9 >jc;_Ɠ<NH=1Ҁ`^;C' dvR !c`>(; sO ب}i'8*s֤Aw yqA<p3ԟjhO̤.=9c4OL qry@2zd}q8'yd#tGcL\{{ gԎGO |=qs~R''{N:uq)y'`iGQt{gG`AԞ3֥ۑ|c恐@''9=iA m99:f?.7~nF0}1?7 <=};P@'<3ғ###$' = s܂>i3ۜcWo'J@_a 6;Ooc=y9Ha s~1dG{RCCҀ<$G8Q?E9h'OΗg9;Fd"vb<h0#9|q[4maTK*}%.Y'?yꗐ)Vq3$bpIpG>65 _`Rdc =k[Kkw@/h,,°:溽;6y4r0R"Q8۽]dt$r,n[;W$q85{koum"̲HIcjs/Eڰ*k{iu!FhѰbpݤ:Av"M:7'=hmWmn48ьcGdZ&dXڛC`m*Ho|*n잡*ih?A`l. 籮R[{g91P(I@[mʗ_d@vnx`^?rdbbb)T`f.qUͦrje;{Wy0#u1c/p<|Ÿ/ whc{#$( d+-7˕`$ p11rEYdžL0+CwsmsJ/+o&PWل,2g}k=U"R4I3;3[iȚهTRbtXVQh}dN'a34Jmg:HiWE8`zR;jo71Yv(Yv<ΛpoB1=JdoOOmVԻZXvRS<__zv: / EFėwVu>'_HUD˳dn<:uh㹹sYR-۶zsW+ٿX׊8]r6g qUm^]58_*8IC $ Z{M SD3 \q,`m(tNsWe&C*F;/QߡSsl)]B@9Tw2wqXgZR0%ăw@zdPtƍ@YFrnq(||-׮8jPo;(0=3ڛbrU@HW#3Zu;MllS@ĮߕUpqׂ+HG͙[HCuV 򲞽OZ5&HHb~O  Py(h1hpd`AJJ9= Y[6ӓxcOxeHg"N}> 3o*pFqZj1>SsNZN"e##e?xg gWm{*AeVt 9Oҽ,>#dbVl54)#@qa_ bEr6"`GUX`0`q3t]Ys8Y)JGkhZ]|%q!Bp@\?7mun*4XVO_aWZߦǫ[OsͰD1UWs{7P 2HyV@@nnZG/~vWqջh3K=Lh.<N0]_CNH-Gثl|l_ rbfr9 {Guomb!4܏ r)~ofZIc r=̱n` wr8>r/m/%(Bgr?ħ۶*rؒ8r~HJV[z;{O.8FS(2a?9;=kjQ!~]8957y#YFtÞARݏjX' dnnFRˡiu2:`J.|݁JsPqwG;>7p#=}kaףCt|GO>dwt6DZ?0s޹:kqy}Ҕ#zq;ԁ50>TݺPH zr/æpqO:t#=Q~J\AG~>sק!lO֍yN8NssSOQߏs=Ohc z=<_dpsE܂0\`'8 L`1GNrp=?h9$c>O\Q#> 21ԟƣ rCs1:@8Fpr>,SAsh$w۷_ϥF:#ZRav.A188?JG`{{F>l{sP@C@b_;q9RxG^䟦izg8nFR{í_@3$9zs~j\cZh;s2GA3{AsRn1B ${xғs`;{3}h@s$qސ}OH}7qO<@o@- {B5r##4Ž #2O(N}q?VR3(@?4x@i<qF}r=i7Yӹ=q}ZlCArO Iv7l.vW)ˏ^ysNO^ K{u 'd>Sp:]͞ÂI9+霎qF)s|_xAs:w}O;n=A8 @0hLЩ nSAtd NxI=?~:~5'͎@ÿ$)Oia׿ dӽ<>?l݉g׌zRn%۱GݞIhc98iŎ;/PG`@ Aǹ9tr( z);,FI ۹,{y8~G9S>lyl^lg֩ƌRNx8 :BZ9,Nӎ=i8ݟ>P!N3qGOŒg?'#QlUy9O<Ǟ=pzvdr luGZ؁+Zz4aWfkŎM=8XZ$q}^=._H'}[<ʄq鎣sUo=0: =]P{yE#<O$*dmxd|߆x⺢Z'FTʐC}=jPO'=Xv8;֨?w|utzw=~C~ (c8<9crzsU)烁h-8?.88 wܜ]GJI'':4q1q8"@^=3qځupr})x< ?g4c<9 =wP|0;cp9ڒr{aN9gc 9FBO~;F3yê>T8 79ﴌ9401$NҔ'S!<݁=}79QuHbcx8} K.prN=ӽg(=s=hc8O9ɠ.;9H$==@#`HOh lI{{T{@9c9@08;} \t<Ўyz݌s;10s@:=:P D@=ʌd3(#n[8gg=Zd2N\g#܎8 1z 4"@ypO枠-鑌Oj'^&NOt`'ة;0%^pöIɩ $ϔs$T`x#vO<``ޜ8! `~t`8'օ8$ 9ԞCp:0T㟾)Fnݣ'$Pc(n,v0z郟 @CB I۰ c@89 zmI8n#\wQ1~l{t43#l sgh8mўM'|4 Irr~b<90I8> n_sM@ 8~&8mی<Ã)^#3sztw<۷=)2z=9aP6m9.Ԅ?vX/CH8B#sOzc1@ 9ݞrx둃:`R7c[pq~Ȣf{px=G˷h]A`s“gP:uuQ8  =T95?F3|SPpqٺ~y{`p qTZv~pz=}G53 T> #I9뎂NrAb m? ۾\`I=N3Ϛ@N9''pǜ8ڧ sȥx8 r0=gМӜt9Mۀ@- <#H#Vl g9מ㓌@`<66qsnTB8ЎsHq9Np2O f9ޘcz{JHvcH$#/}8sTj8GS)6Pn<`sj=0X9 [9H0āw9*h<0*Ԏ2{HhO;q㟧8 $}he$}G,E2J$`[?w=l`r(QI9瞾Z:!n<6:wjn q_LC<11x#{8T nn:;cz^^cֆ^ q0p=F~lH8c>QӚ" t  ,bi3c_ZEtNO`펴û<<`cy( 9݆7g ltn= xJ^7s$H<1dQN9ҞrOts@deNu7\ HÃNH VQϭ8b:#F:d1o$ Sv h}A.I$v?(88}(<py#zR`g9 @1^03 㓜:=z'ޚ@gv3M $2w8&^@)1R| =e nGˑIzJ0~d }{cޑ"uNU\z zusg=Pi'!8QlIJCn[gJFHpK{zy; Zl`x w0}U9$O_`Nz=>vN#q=H96<L&1ǜ`m@Hj2>n01䓎}Ԧy9<ߩ4s2vڄR>ߏB3zsRወ@?ħ?R#s>݌$i?b6?`!~l~Tw'sE: KnN~Os= CݗF3qRn'㞙dT%d;v$sֵ{#0x}ϠbQIoUe`Hs;|Ƿҝc< ҹhnvO0zԈN F}~qؖ[:q5cO96W̖+`sAUX,0?7JҚ0byD:$d22/GN@FO5ͅP2 庱}>f&.F0lW|eQi{c9W,%,0!*8Et;>h JC+u<$cӥ)i6R]NH9p)7}L䕙ug2 R#ZBciQ$`SMT}yAtA㓟1XxPznycq0vQy==z)6n* ihczaFCV%ݵЁ#ltf~G>?yM4-!c\\LnR2=;%ya)Fkc2EBB>øӜbřfA' ctY^D)Z-dmI2I~S9fJY>$#뜑YݝiX܃V|m9gyE-JpwzI/0~2UM$osO7V|0V(lqKː&/˵9ʒcߞQWPw78 vt+ <ިY0w9=;SghU9A=2N[&{\JR1r~ltVM >t1'=IM.]Dmt*îOA5xLc>R 5\.V*0RBqsY&Te;f9i7d#-ԁڡبг(p`g#=:  Wsϱ+7<Džo8_sP݀`@ cJbF'l#a#GsVlW 2@c>z&6R;C*+X;ʦR\^G@< 7=03B! 'HVy=^ԀP?+unq ;3bHP3rK==BTl`NG2*ⶥ71C$Nҿ$Z7-0K #dq5OZ p^nܡv(]dC~#Y7BL3l߭oE׳[P(G (8w uxKuO$=F j맋VS] \Fk64Jvݐ~L6k4RÍlʬG\`͇#kzY'ǘ5\yŧh^F|J{pJJ >J?ĴHv6eXᠥ̒Nky=JwּYWno%srzd+Px(=WrʔoƘL,Ydͪ VbXb:6n1\zqF C{/wVc8#hNhw g-' I^%T!Y9V*{sSrĒNqo3hRݷG9ebF23W!IW3ڹj2G\F sܹ8 'Mo6zק+̭M#2b,.IRWn ǣScqʟwBj*;H]d0#$1r9RgU9\W@<z<B?f6:z=O.x#*H^qw$wszxyt}? Ǟ{d =zQg2܎<ۡ $s' qx c' OL}s֗$|*=rO S黡yprSs+8Q 2O v#c،P1ߓ<:GRG;|׏qcF8,uSR.q؞F:yޘ.8'iH>\g9t㏥v` 8OPxǑrO@}:3B3<ϭ4tq߯yIۑ@8 })r81 <נloRF;8#zSxd cn>sItgGZ3۰1zx+ 9b0TI H:Sx''$Fp6$ӟSG|qא>i?=2A뷞=@dן(ݸ9I;jxOQs8 L#eUe- zW,rH <p °Svg:%D)3?+戦I#,%\$=X£{hE8uGF ;Lef# o=gHXxG.XN9^q3^qO2Z7]7Z̉D ! \6-!԰X:8 \eoӋưܻ<0Ͻ8$nq=22 gm7"ȦB.O p:=A3ʀ(A<Z^&X](z\ŋmQ5$8RCGE3XWsE5|$r <2G=)r BZr)䉓&He<ۍ͞WzO+1&C r=H .^/jc-LIUܸ9;15sy"|Y u⇠֠t;A9VOvqveB1kRUm=uu?ʦݱb$P@<{qEKO_%g,BeLWq91@Ju8nܮem"Xg+e&~N'欷m7$4#bb/U:s5Z]{,&U!BğE=9dl'jc˒灞sj2Lܓ3Ŝ 3©_fX9Yw!I=OĖ'Med,ۖi7l##Zb.ޭyL>aÓ3ׯj5~> $cd0y yyp:ve|W&rL8+1#I=GVBm_/vXۖ=>fyŽ[DDo HT+b'k穔 vUQ~Xnl$}:cB@C XpČ\8&^lܷژY?w)3Z͋Z;~Č B?B *71"=[^-࿑b^fl>U؇3LK9X[kjvHwΧ=W9'y3:UM$l݊ˀ3rkK<"WKHprÜn{Ԓ2q}:nI&F\Gl~$R<&ktP rVM;`iJj!)\eM2cI;*Pek"Aq#&X_ב^ncYe2kBq w?ްdRzgtǵ~gMzg -7^犋R6==kun921KԎuzz{T@ig;J#ԃ;RsK84$M߽Gq>ko=\1)z{sߞ¡0 {'ϩLql$`cta9d>?CJ@3ׯ_A7O{Li{W߯b0U<K`ry7wC灞?Iq'J7KcG{zqi OJ #s\t?֘XL<`ϧqMH<;{x?'='ק}cҘ?w\~IA8$4d /{Q}`:r=bn Parq#?Z}F(%xϨ㑃oJvO<2Ӷ3ק-ÆGOa>S֚899rqF3Bx݌_sJbp:=;{ yO]ȧ2#sJ1z;p??L{qaAM;g-;q'g:֧`&rzqݎ;>/#} C۶(OO` ~&=>aA <}!he ]JN02#ן©==r)>!N299zMq$T;\7׀9tN:{~5),!oNy˜eG=;OJrG~'X2>I7:(x;?Қ,) ';,H0Ag{ޚ\x&B<8}Ku;$q n's>O= 9_<`.R{S{tIn `3d0\4BNx-ӦySilr$d`tZ\Ts)'O< ;pn9siGMo#<M(,z~(%U8NN*.9;>߅&Ϧ>n~9n884 x|냜:#Cz1$qǿ>ޗ?==Z@.ۓМ inrxv%{;cqQd==_ooSG_ qǰ}x8v#=@װ?BzysNFӍ:cڜ{`u9}>q$R88>:St;[LŎ8=)?O N{[1(e +a*׌9H6G99?^*`p:c t<~3 "`}IO<x㓁4'9Ho#88 H9?0u^3v`Cg'FSH:eIN 9zq^'ړ8pNgp1Tr21qdF7c{@"38\9'aHa`vx<9'8䞧B8 $2iOA:>6'pcMzqxqɥ/d~wМsy͏kx1F~);O%y8ۑ:@380ro s$>R twv?)WwˌcG'8J8ss4 d|xb$GA׎\d~TEry<=:QL^pN /j!IA$U>smNw89Ӿ1R S<_i*cq玧pI`m#'~BhR@Rr8Kc Vn^FiDFz=}J/S{zS@Dۀ 霟G҂p WL>u}q};c=8r}AN0I9Gqn})096vp=):)$ag vz > 'by 鴐c{bӜcr1x4HI80{u@yTo鞂aN:s(99?|g<  s]s y~?ӪG\{P[ϩNqzm(>f1<`ts`yXG܏9j`>uǦ:ҍ$g^r9) ie?M9v8  @=IK{gz{d9 gz1ӷnG ku9> o1$vz A tG^`z`;AS E 1H'p#9/wFzg3֓$9ywRq c9R\HRb>r3~q;S#1Sǿ\{R]F?z {qjUt޴}:r1#<[9p18܎g4-vyd`8I?yHݟF#8CuwZ\9ŁO3֘''m F-H^T x8qFB 8o?.r ǰ94i ߨ޼c:OACbu$t>N9 8#E5x# NOڜ1:pqL`pĝ}FNg͓ 1kJ5`>#7N{PxxS$cl.2dw+ŒX>@멶=xH37oz O7crGFW #?Μ7)+s@N;07n:TʽN895K$p:G*&;pNc #}('Q('O$x=j>Fq$z {wSEv!;wg'w^P}*KDc'n9ǦyΑB nG )#S~^zZLÓq${;U B8LЮ8w>WR0NRv8a8sz >(;p\ jd~` UQ#rw/B9\RzϿJAG(@{SS.Tݘ!D~V9 '^s'@sse8#bZr@A,p\-&9T au:_ lu{y|f m!hRn>L8!f> Ͽn4?z^AT|E:g8Zirf0BFvx\5oo1bp q׸l-ɈD2!ʱN2#TUfR_EMK.cd0FA00+3 [liu7!S1l,&|o- (>aA{e!p3?HsG%Z.NyX@nd+#8Zؽ4c r6b 9,O3u?) 6sOp~\`q#$'-' <:q׭bN“j1hG0@ւeSW KcE?)'sG?2~do*ґU~ yƳb3) ᔫnwB:s)A[nkh-6998ԮBʼnMPp+7`T~_ʪڣ0{Pn'u'~$!W%<7bA#)NQPn`H*,Ďߓjh̥nU|pYX}zVmƔ2Q.DIFx jk9s eTT1%F8`TȖ展C(vH$.[ɪ7:TAeĄ%`gz܇ 0 ;T8 j#,*{R1Mqq 8'GOv{ Yn$p}y5P&N#^]@f=?Ϙr$3 ʫ25&V 2!y=J `Y pGѕcpsV|m{|y8W )>`#=9 80ObpsSr2G2rIx<+7;(`~Vy޶T%U88lr1`8z$GJ-5"(eISsv=T|bT7#g#~3[G~ܲɀ @죯JsFVe ='2'~J<6?6=O֔#Ҥbps91u;p{8L zq<1~ԑ#'Osv3a.}MNpw!y'b~lNG z1Ll' Iݞ)5uH/xU&YbC6TTg|wA^B*Yܜ U\O(>x֡xWg>Sӊ#n;BT󹑷zs׳55ǖ_q]7CBڱ\+Iqp\q={\;qFPdezPCl//=;MCCLQP $)*NP@TugMGA6$͹`0ү32U!\0HtRօrx`,Öv$zT#C ` ɬ{vmnYO+0O~)XTCČۆb ܥՋn-KIf3 G88L/A5=D݃6dsN[<f[*}1<{w#.Ab$*_1+73ЖQMI nIcu'a@vqΆ .wBoby탞3 729'mL)/51.n Kfby0RN:g4"6d .0Xdcݐ=뚮:|əq :g>]8y9!LK<~T!NY 18$vކroM|WpﹷzF@@pF{zSB&!T6K8>T$^PO琼G8D$dt; >SkbH6 $ ަc;I‚uL5VBygsQ6 8>D3rcJCK |($@5&Nѹ 9{ v$X't^#Jk1TcsG*ޅE|%s&8ya+Ss $c\E8yf}31X0x>+Pbۯ ɻo1.'ՁLfJ^LFÖ~Yo(>?}v9/`MMBN7g,wv*%] HF+Ü#׌ӹzs^f]q&QXF5ԭ>5i-#7 ֫x^7]3m,͌0 [rz[z7ZG occFG99o?䈴sݶYQnͥ9A9GI*:ݍm[6d` =H#ee8t.w .ӎ@N}@CPFF# Il:Vs%Hxflu^*݌skђ%*c 9Bպ9Qhյxinqry=+dܖ+*e. Escz3];2n8rKrF0917Idלs~])WGrzG#֓xod)nM.L==O8{t_Jq`=—'<P:9җ׮O\+ $9~]&Xc$`^)>n- 3@J@=p ヌs]Xq91$Ê`)99?L21Ӄ=Eag3'sC3צSғ`ty4[ǃ֓;p:G⎃'N=tS8=G-<;|qN#:Ѹ9? I&n=p9'2ΐp>bq֓`;q逹$Lq9PqLcpG=s9? Iaf.'G< #ןgy猃8.x矽$Jw?^\]<7>HϷqdw8=iv]>NlHvqӏi?r@>]7tCGzo@E0;zcRރ/n`~SޜI8?p 'vOƂy >Ut ':`g_G'CЂʅ cU^A=y=4tszb۳o:΋뀧Ǹ?ғۂz:(3gxΟ۸>0' @8~:~Tun{ HRtܐxA$zѻ錌cj<;#@䎽=8G9==P 'q=h,zG|bm͞#߇JMN:0U"F238:{ox>)EjBnG:uy<7 9߭Sq~#?Fr:ݸHV!gr3qM/ק@{g8Jh =8x,zLB#FA=2jPX 89 r{utrA$qMNv@=s2}O *0sܐޘ\3(lNT0GPߜth@@pFM.;:[92;ҖR^N0z`=wׁpN:y>01zn03Bn`s>jh#?p`osړ \^h R 8$d`zRSCY1zuh2FO)W^N܌gOƟ}q>=_t; c&s8 _9ʛOAi 9h{c+sץ%XM8 𾇞;'9p i!pX^xc:PXhІ#=})i_7^ G$twy~O_\=A 8<{$nyuzS>@6V??N1+ܘ~Ƿ'NI[K 8"HVlw=xx oa$KɩC ?1=dbJ<3y'`y270 hCDm1@y Wra㢎O>N=j$ P9AO ۏrOr:Jiǎ\$t=ZP@ ?)@~ m ďǭ0cR=98 c=:*wn9\R{ ׃)Vퟭ|$qzgR{nct StG3#<^fKtG@vzs).ѽHx=;Rt<9lZ8b %~^֓-s_G$p eIqOxւY.zw+ႣNN1N<=NNwgR9*=8;ך@ űIoéG1\R81ϯAOs x=*Nn=1JA r{` 1Oybz`=0;#=sI!q<硨?.0Is^{`?q99Y3d zSypH8Kߢ~^3I\y8$}iz8H>*zpV3FO8 u_ځo@h?9<$`R=Ocy0@~cT8y曞{zsz?!぀:F:993p pÀq4A܆ۂp''w⑀={L.^p3p2zLSӌ8ASENI p0:6@鞿ZwE#@m/Lnv;`7hlg8s;~ c^7;@ `2l{SvǍe:Ԙ 7008Z8`6\Ґ ЏNyM zCL0N rךOCF9(Yߞ)FxLzy O?(-vn?Tto~FG# @RH9>I,rO]GP8qxn۞xGoN(CP2q>0w gW֊|~]W!A_қ[IW z{qV%G@#wP2>3cʚ@ v0ORz+lIqqcZ}ICz c{I9=HccwRI,bOc銕qqz` IKؗw6@ebzgۭB@ppN]~/Ыdr@ N3r3ABwq `pxj;wv"POlhsK $tPzzHLՔ]Iҧ$p8gQ Q !<96<z-=<',:>(ٟv;אz:Ұ`?SOP;:U~09qϥ80\yd \t-tOߔs8qT{K0?G$' !ryFq* Ob9 P@ZܡFN=?Փy $3aÞֻ0O/x N{/1%f`AS m9"V-(R;hOC7py' dEy;$'`ⷛ.CHsa2AL&6aS?dY&`f$`;IUq192#"aaV;v犕.d(}G&U'̿ +\CdGqptp\񟔪9ߦjAWD#qP`F0N5f?623`U>C pC4C<)ƁH9$󷧥8kv7KLuRd'pUV69GĜ֊%`j8l1)ךn#0N%$8 qs֓B%Y| ) `y槒@cUd2;Q~(Ud qPݜ( Uo; {/B}=EI#2HsǦyu=3d/U$Ԝu5b\c6{Y~R'e1";ӄ6mf1f9-"WBP}k T`˞rqMBҤRNd_lP Ĭ|*èNx%Q'`m"9vFH*ۈiW%HW#@K!ABF]hG|ՈdžU$sYPm#P8-*[1+VX Ыl'}G6  ", ǠukQu7;d$F}pjZըD 3@A"]/R=&ݶ2qh@\( G=sӥQl.Fy"ZC82/!Jyœ dv$R{gr1b#'V#ŎI20Tڹy95],&xfoi]Y X! # F 8S?$TN_(ܧo\.л#򣜓9m@ u  DSKdn2Xm %l JCd2^>P*Xg㷧J`(0J!#S$-Ep9-umÐ'HT20 1b:cV[K 2.#;u}T0B CXۭ 2!G&e%$,`pi3)XT fVjJNHNĠC's~`sNk:(L*r8|GB 9$W'3gbM%YG]K7S+JQuf ψB6 G^"ݏE:$e!EffWeoa+fYk[.x9`H'mIԉЋVYj 4`89=+t;X,Qtn^ nYs<=_;Jr I<]&]fϠv0p8VOǡTgס sI?#Yr<_^(#}FG֣G`Oz{|?\`;O}zua> BOqd܌$›@{ .qaR\{{㹥8jb]^jo3^ǩbGRc׭8zc׎S" 8ǚ x<מ6W~2Ćr9nI;yΩ>0G#S1 qgғv6gߜ8#aFXPryK G8Qh{1## ;+OJ[87aJch׶?~;}})6F ^)+.><^`rx^s{0@~|Raܑl1< N3ؑ}hmGonGdcCzJ/# Kpr{rҋ7c}qJ}{I=}ap:d񜎇_`psϩp{'G;vK}1ğd*abU=Bsߠ9ӟ>YB A>ߍH98'-#=AzHO{Б?ɧJ=_zpq錃tR; ݞӧ5=zך'8872:w9m`NM >|qPޗy鎀 NsI?O\bp::9Ft u t=RϿLsF:{S{~8#ݹI)# sx9 8~hAm@pR>IR@=}OZ =rrpAnr9>@xhw#E7gq~ quGZwL@ H9o`Tc3xzOJ3H>ޕdLr9ǭ+ܞO^OsF1ÑޟKd=O'׊7>sI}A$g0A9lbX e8m=pry2Sך&ᎹqҚ$WDvz|<֟z=8ߕFOAzg9S?~z?zc;~{cQc1P$3~:~=yǯ #:JhP`g}G&qN0:P8Ґ0=ydt󡀛瞝:NF@\z %p{Zfrrp@c<)Xi n9# Sw x by;q 0iw9ۡޓ-ש9q{Ros<Xwl I>ӃzzEk}otw0h3 1CA`7g8<~_3'9 ~CL 833NiX,!|#$B1 R@S4<`8ߵ7waOoc6@3֤W'ӎ0={~>)~sO?^h<P=?3߮I+);Rc\D'Ibwv  ӟi`큑>/q=:qKqxqEH;XԃHd1>1K 0=֝!7$,{s]|Ɨr23z=:u'nqszv=I:3d$dri G_N<JM=qv =AQ\S! >r8ǧ)i< `Qwr`p8{4`9'ҎMD3䁑 n9z ۅn8=@U=A 5"v2aR<n2 :OArz}:b&G [ w$4ny)zgxٻw098MC, :GVN{}j¾=7,r~P5 $z<OSg8v0dt< i8뎼td\19>!8$sc{I~ ;pxߊ9*^'o֍h_!vߌN9\}@ZOAFGO$cQ57F5v6b>5 tZz~;1?NЌ0#Slԣ|QD䞼`ϽMqZEI3{}*ls܂OB*hG=d=zg F\S3h~A=s|;Q;w=y:?Ȇ GSWO|AV pscM2Z0O#$q1Ҧ%qUV8Q>뎠)IgQ$;`mOnF;A9怰͜7'7#8#w-3>T ֝qn8<I=20O(98 /@:cM2 6;i?nθ'v0IFTIr[pG_z]@vqP9o9zu\!prr$cvqNこc"1d~OH;g4Oz=B2~ҝvcsߟZ@4yӃ#ӯH9Hrsiߜ8^;c4sAO'zҌש=p})u8.0r}H =󞢗9p.^㿭PF LLrZ>^1<oA?xP8 q{^8'8GAN1xq'MI2<p )9݁ԫP NONHUb}opz^)Ig>>HLd$ 9< XL?^1ʂQO)7c12p0%ɜ'@9#Fy\vێwtjV,rH_R`g9݌e4G #<G4``'8&pF={{`'y#Œc$<9Ϩ?Os4|0Aa۱' 1@=1@Onw:pw1ۯ֐0:pOL1Rn}SAHQ.2Nz9 c9\m{ <@ :iI8#{i8 t^7n9G^ؤÜtn$/PGi>W鞇12_?Þ9ǥ p8ϯMݣ`zq< $#v }z:t@@= ylusNql`\9ӽ3#i'#ۧOҜ3i9펼{}i'#,p_#Pm}6OBG" dN~ӂ~\IGsi 78#;R=Gp(A`FpvuNg<@ 0HqϭEؒ }=I4 v:Tg 3i?ŐzB3r@cݟ^~ҤdddpO fIʠ c8n,h䎹H<㞵g;rÌ1 ?校q}=8Ssސ->w _zzr>vH`9JHl| ǩ#Ӕ z|ǣ04$v ˆۡ;8Cgh*@=CAevy!9J'SA dnS3Nh O~}SbHq`CG?/Onss]PžTaN0xѓ;cÞ07z]D*ᝇ8$qtl|ų$CqlO_Xn/bu9C}p8Kpp98{ 8)“7%z,à?|wr鞿=Flt<מ)y ӷz:0Wc03dcC$cp:IHsN:d%_z y-'F9R(N0AI$ }duJ`9G ¢\ ~^`U~`uX8^'3>?Qc;c]q1eNyǰ ?CLۆ3#~:R)N,FN}Zvd9=::Er}Hu%x#:^;[Ӝp櫥=2pqǥ/#1-lA$ocǷJb rr;^j, qnsJ#񡌉* z['?$)`H#$N>ׅ~G27~Gw2H|QDds5m[|H]щ,7?)k9YY@\\ݾjբr3 d60Dw#cK )`9 V5 =eF69Vʒ~rpsӑC("G]BAS`+sO|әl0S~Q-`Қ8Hy-Ю7Фpm㟧z1r5cp%N`WgLPcA j+б34U_$ MRq m呈a.m9+~qFZ$)|%sJ%3ÓK0q $󎧽S\[sl,`$pGUc=Nʠ`(z*>U'8^^ؒ7!U@䍮<֚ @!7)@~SqWlz *# ǹYvaQ\tWpq |`;R܌ʞN!Lxd3Ǩl9EKa h oO|g:éߒp: szPN: Fwgx 9 p P9v䞴\oq-AbK8$`z+WH>jCs/1႔`Wܜ;_bXv9a3nT=529bN?*rb>$?$3= D~FHw3699 1 A`F&Own?w 9;Y~ۧQZ<0,_frtJ}}EMy cPۛ0:{c%Rr>SZJ EeG dϦ=U]QrJ6J+dy]$+P7<iwv8wTte 8Q&4VL8e۵1Z~^Boœ~;Vw"dvv9`6сH"#>d䝣<\sSz|^+vцO`Ug2 u ,68wnGhziry@Ӟ}+ KF$?;˞2=29z0'$p'3ۏQ^oVt OQ azI=4 Fry819'8 g#lshv}p ɣ$Fv'@ b:gNp`'P@=<W~<1:HFNz4`s@q=sޔHW9I8N2=9?2:{Q=zq8-Fq i{1p;p(++0N;tQm3^Fh@8 0$  6<}ހONGLs;@;^qn}h/^yϾ)= I8=֐r9<۾=r1} 69<%T1Oǰvgr[zs2q;F9PyFq0;I2=A';pI!uwpI}Zzu*09?Z;xq'#sy?ğ(< ;sQi!XX}?Ʋif񧏼(mYi,ue˚6@purkW2}؞zɲW!$Fz# GB=Bp@ג#q)ۏ3Gڄst80 M]s|;8.OP`0 1<{ ~0pyN?:h-jH gN6x>1yqw ߑvrRFC**HۆU^qϽ@#+t+?ΚخFNqLO\)$XRT+9קJ]yX#;sI%asrxcOҦQ-Mמ7*6 FI-ztDۓ`F07@q 6Xvg]W*tsGGH'V۷t;NCbTNt+IM%ssw`0=azc'2qcיZCQKK|$u)acx=#9篦=♟IF:pt;'pHFǻO~PC>`3#?I=?bgz}@&v>=*F=Aҙ7=GpƢ`S"}rAmE:{v')xyu "2x"7FI=;npX'バqSyt$ަz!GSzu4.Aߨ|&csMߞQۥ+! #${iKrI `>M*zW)v~_(=s\{sΕol= <)7qt !f%yrq꧳p?^m2~pxnzXgyrq}?Jinqaۻg[z?J_0gL}@;°z$yRn-pH1 g酺c8w=)_PsN8ߠ'=*Xz?7z($d~o!w >tc$:ޝ;HI;@|<^=M+.;p;=:QndvS; m{q$c+ /rzc~T!o^)4Ìݒ{ 1zQ'\g8=(oaAYBx省c}i<۠>aI?T{8_RF9:Lv {{qL' nG>@XBx<+pa?1II_lzC>9#=OP =' y; !{o珟#zҒيڀ=KrrqQnccxz`uMu*̏{~@y'8 N`N{zRo9@u*`IX#8'hC&8z}ҙNOք 9}a=A K -{`z)7:OzǚMu=:}@?Gױ$* N&_y˜F:u)@xg'3Zn Gg0Oϭ/zu8Psӊn:|iRzN)KSz9]79lHڑ}ҕC.zg#Pe8{dm~[ .8,`:y#~ \a:s '^|)&tcC4+ua')[%zcpҍzsߜ( QԎzdznP }RyO=(yrI'.Yqߕ2{ǦOpr=C'L1=p;SL<ߟSש ׎jXA5{v ~y#=ԓ -y< exFOG=?O3>qJڒ&7<@sAt_2=EnfBТ>#'=JO7 a3'>hD'rI#cJO;߰xZ9By'^q8HGzOlqJe8a'ٍ5C ?׿O_ޓz1

R V@{py9uq:q9Q$0BI['۟~iu3 gl\LL99Ls֐g2qNN߯~0[<dOcq98#4`^InÜ񞹥# `x<{[mz}[qJ'$t 9㞁ӯp`py9'8 s@8g5 <zN_|A>f'?uGQ{~x睠u\m8t*H8@7gݷߌ/h݌`9'昉2GB'>b3dp3C8Ncޤ.2vL\vK% ݴ1Zz G͌ '?ߍR%t8#i\es?Z>R3p }85& Wqw##ۭ8sCgЎZ2 xd9#p?C0vב==3JU~# 8;HU c@ # 9#[ g#-SHO 8=syy-ۀ0x4Gͻ:z@J¦ Q?7'AGp* ,%GN'9c5gCNO8LgOsӳy^$]y㝡9'N{'t 12=9{qn==}F'b3sl<{{n@,2N܌qu>3L$R8JTQPh흁Rܒ@=)>axAД$۞$t$< =~]Vpf<`.w:p:báSg4g%xq)n[xÁӦiA۴ QK\98$OSMw# nĿ$r{ќ й p}.#8F <2hpA<s0|z(ߏǥ"9;B>A>BAv=\O~byٴac&(+x#HH9c$rzstOQpzcn05.8 `1qh ;x9$3:FĀWuzFxJ!wݿ 08$zq:KA9g$N#AXג8 Bt%FOħasxq: Zr3<_J@TaoXqւUІn0뎘yFWԕ8یx{}jŽp3wvw3{ APgN_ޯ3֥2G}ǂzm ufMn'0{v#chB2(#^3$9<L]ltwya{9ɣhr06Fzpu P;Kp؁$0? 48|zWnHTEr^ӥ/" p1m9Pg$rԴ;|w3p ,N):kv':s֓p=}FI; t8q /+n"aRrGx1:?R qCH\>1aH-~h r Lמ㧱=H`4'zds B{~TwˎqqhnᏽΚ, 2}*$snc9G}F Zɽ 8AE$ψW@pH<0pTO$ZDر%𻝰C=+U7|hr6f\mWĞ~Q c&l̅0*p+̋dzu5R:\œv)hva1WҲ;Aې;'ֹ$ NvC2>lvuQ *L4b$`v##r܃zM:>n&v+ʱn>C@q |,A;v'ccUĠ, r霌FF݄nFXb}IDrx D,7 T@_l>0 K#ive!UXpl.C$9 樝.Fxc$nFxV8?J7g#,# !yzBbTm8><.wn+7o5}(I8i۶0?3q rE#, V ǁ<ԄG 4\}G̣zg=2x$zTFqe{!sl݂XAGGK"EOv;♴6_$q(?1=ZKVFO8ӯCM1N~`6m<3҆l[ g_[y5) 9'F#ÐYPZ|BvޘHPG^QB }N2cU#+r0vЅqӎ*ʑۆBrr\q&*% dɔ.PX~zUy0*썀`1g߯4S)`̛:Sfv;6k_A>P (q$g]ow8 7MTwHw r[r1"Z3 6c Ѳ12r RV~PWZz\yd-T1LݓzA_$*B,|GL֑%屴x>o;QOyl灃ӿJ g18c߃ӭ7b -1n8<{z saQj5 f1_D #9f'! 'ɞ~R7qR0 }RrW9cqa|$g@p'ӟgR9sAcu<=FH> 'IA3Ƿ֤RrNq #۽`Iެ:qߌw)n;vO)`>a8=}J~N{uO8^M?^@~))یlc'r.(unzR^Np3: FO@;zqB=M=y3W'=_Q@1Չ=Xy=N30oKq#^=P@f @>Ҥq <#o6 x}@ss2: B䌞Fyڀ#`xs҂=I<H4GIu!qF *0{Օ$:<ZwM뀊R\LUT'+9=N0xNN Fߴ`RO#h-={gk a` N01bB6;#t<=:ո“XGOzOB}-mb؎Ǡ<ըl} ߄Aٷۓ\1АaFp9%A'SIpAݷ'x9ejcM8I+H=󞣏JwgiԃUH~mMl6w8;[F>8hշ3|6Als Jc.2 R8\g??*Jnp y'bfySBy,>NG1&ZL{995e[p`>^ w?)~@;9mp{x*j tF0r:N)hꬼAaN;VܤxItKP(é~HsSQTdpO O#UGL ~2) ۮ3~]k"S3^F%ɞ ǻt#qFsӠ1j㞘sޛԪscP c=19}s~ )F;rOlw5-\i,݁= #O`Jߘd^hx|dw8ir`4+ky<g=d<>lr=ǵ+LsL'׾rpsҚ_aYG81I;%x֋X{:H#E/GR|#8MHXiuO02q*u;.M p/\#9ЌA 8nӥ6;g8S2==}ab=O#w֣2tz}Ua<ޝ9?" PA; %0^>)(#o4!XgFcQGӚs{~ 2#8=׵(Ǣښ \_4w8y@1l{k9c랝32 eI>‰1cjT8qV ?9ңx瞘8UH p3`#=Ou~l#984( 4Iגs' zQR>1< ,`edsӵ!Ӯ2O$b~#z~ pJy~2}sӷ5֐T7; w&Fwcu?Pғx=Ix'%^O'sC@;N9' q8zhwړSrLPv 皏$[R3sJO0xϽH_8ds󞧦3I 'RQFg:r}O A1i¬<9.*z7C ,\pwyjEq 8gߚ]ys2s1vqqh@'pQӜOƛ{r:w$a#9 S$l|GlA LqH%ԟAhp]H@9/9qm$t3_4$Rou#?NAWzO]C#Ќu%q ʐ͑3 JMݞ@'8HzI}hq(a ג@GJ&'Fϡ=B/A7=}Hr_4H~cޤg<0=(p\_3r022=曰9;!o8>;sy5ar:gp1{Q(YH߇LP$\@{t#Ty\\sirkc9''o{~,O <>cw>r2TrNO;QdqZrG#tIAgՇ^9<}ONR;d.O q)|'Bb11{SpdpO'Ҕ1?,p3=yɜKvݓ)72H{f(\F7q4 PF}tҞ$:Oc׵ Fr_R>x=)r;&:V02rF{:G(8= ' p1ؓ(ߌ|q{:А\pH=y=^H qOA\<ps~>bOeyGOߊ| F['}2Ŏ8ݎv}*\A'|$u`?jvOA${Jj:qCsN֚p2py'?hpH8y秿jy<؎*?NB ',@17gb@VѥryrW +߶1Zfdpr;p/ʫy !F:7s՛:?5^\Kz|''3:Ο9Xˌ $g4q\=?W^Ay0GJrxҟ9qq񟯭jBAA=@ ?\;j8 :uWcNT5V6[ 8 u*Et5quO!p0Gi~V78Ǎϧ<٧v݄+ps }?{q'zIsa@G~xAG@? SԀ=}װJi/Fs1ǷLUrq~{[u櫳5S=3o_8n7Gҽ]*/G\gG=sڬ'CdpKroόc}A c8<+e=r 8'R WDf{p zK1'P*$\zStanߧ#r3#O?S=q@{TGrU?׾z9[h\XҵrgvB@'9֩2p:r7< @ǷJw| @9ߚ!NCpr#W#}?5D{gRŰFI8J9^q|3 $zf8?6=ʑGt'~}9 ;@'m h*6u|9ÖX~ 4 cIs1q?vpN+cgc#.'Ԏcw8 c{8#''`t19s`Ny3ۏQ뎔F90O<>֐Q 9GtqoQԑ 7۴idN6{1'hPx_צ{}99A9<`1Q SqQ0ûw۞i.z# pN9^h^@Ӏuރ@G89PUp2sp"An~m9oJ'}8Hx d: $pGNnv>n$ H'<H<;}y4ӂ8! ;g= p2O# c!W<~O< tt$sh%q`4BC%y~̂~\8l W_s$<߭Ih 0r21QN~ݱ2u`g88sw`esC?*1EF?ȣpO|p6g9G M9G\g<s!zGlMF{sSqր`ya_ϭ.쑻܌e1SaA_XlH=n${{Қ'$7f"r@+ӑCt韘RYwcs1$ӛn`C@j`'\rA p:*H8 g]xmT|q$=)۰2 c<(a# i,, 3u/^> <ϩxҝ;x)l0 g0ǡ=өGˌH`2{SB0?Z}p=OK> cz"F,ymAʆ:vL# #ؓ 秾x??Gr_O8 3~`,OQ@,1D<;9ӧ^BXp3t<zmr9x9$68w>Ly#'ێc ?L+@$q=.|?[$n`QTs=Apdfk"0nuϿ?p㓸@y8ު[ǂ@%zSd G9?0K~n(\`Qmʳryz! :9랽'AJ= Ɣ9AZKpDx;ƌӶ{n_7vNR+ H#HC;rr''S:gҀo>3Gs|3#5+i\0“AOj9$QI #p20@?ocvTc9'޶2-=3$;Κg=Ryn?*㾣Fgqb<]zH\b1ƒOkõ:9\ r9 ?Mz9xظ^G1)n:gq:9h*N<383^̽yXaԱY0Sϵϐ1QL_a 5GcQܡYF*Tc4,>dhHlbX2K OER |nm%S`&?8d$* s9n2;?DLBQCspCn2AsӞińpͿc:wv1coYX};9jHo< J\c69U>)1Rz8@D>S39=qSpSoǿAMvqz?}8bA9=i7+lHPx_mgy KnII~ChUzsR3߽X8ul2WU]ӑ⁤ 'q$)Sh<ZtcSde,ڥ46ÕT\KPwa"“hlrZCHԌ~t+IFA#qֶy¬1$4ŕ-2w\H=Ojۈz$Uqw&mB+l aʠe?t9J%Sr0sKp|@r I~j’X-[n>6:LUs\^ݱߌf$* 0O8%lbzUi^̗irC'ʻN}k|;yUV#w2# ֔Hn{5$j M<@'w(s`GoS46rz@2@O#}#3܎t)U<N[2 #ּἴEp*XuWd^ƲtRςVK;y'7USϞ㚅nQ IbxvFwkxS4fl'rx-3ҚY1,IF~sXrsA8,Hz­+ 8 2<c$OL)t6Yq2L:ՙ@HC1 X9V~qz 2xy9suNc@W)-#Hp;+0`/@*H9#$z eFNCn%ؒ$>+MFpF?/1TbGYG~ ϥ  FOZMÌ\dTN#g$иC :rzDНp.)I^8v` G\} >bA:-;,@-K̜(pq1ҔZܧp$xzJ l?&1MA0F)<0tpxq53 6 X Zc1ոR$yM0VQe _!)'$P!NIu\GQրŒwglJTP8eOG9ߕakPrA`6CZkB8[=yxRMhM xۜ) R)%Q8-דPd@q I6>n9y߰8 'ZûI>bs됟+@6zn=%rH9ǩ߭r6fPo'x_zr0˷J-WiPNzX\F Lwzhe :.zq^եi\G0tz$jՇȱ.m9 {:16'/ߕp֕;(-E#u0$w ߨ>+ΪnbKI9V4Ǒ3t5zӡ(6F~?<t>F1߷vr: 98ӮHojay}=h}@<l{ ۽f- pz V|Op;c9JWeNxSn8۞q2'g؁6 v#ҢNA\?Ja| 0i>}nYʒZ IWp 9nC$2=9n?Jz]ߟQSy9 R= >4L=;}HQx'RОga< ҏ5za[~Ĵ;'d @9pzug<=cy=^g\c8=OZ%8g9'w,$;y^/OP2zeܧ88dwxH$t#oe$F ~^A֗ ?xi򔐂rrI'p98>47du HfH0rTNy8>֙~`sמSAN2y `vCLæ0v#wK0q҉Iz{ߨ N"3?I=Hө@z#+`z~Th=[!62s?tQ)9ퟺGB{`gNrxېx[ApG<灒:ڔKrN~0OyXb1`CcJu9Ԩ'9.#ӟ7yz988 |:v? ҟ ЅdsЌ`׎KQ2x8Q$A#9<#M2wܟ@*\ ҟq#>MEqLp}r8O?6{gvϧօĘ8$GG_zt` p1fNOo;}Ep=9❟284w^GΓ?NT݊D3y?#֟p0 [M_RSQ҅\0:{=7|W(BY'i1=I'$_CW .0H:G#j\PASО珯_@3ߑC֚Nz89?(#ypOp\~cDuZ>ܟZ-߅䏠NG(amO9{֪ hG$guFx7q=8Oȇ!2` c>Oʏ[HxVΞ39 }Gӭ089UA8һ9ێ i:8NT>^zT=wDiDC;A8a5v2HN9wWa)h}1ִ`:z\vW:;Bx+Ӄ_;c#kֶ-+2@HG OAVϦry(#=Bs~٪D17vž}r=i9r0G4_F! S{qI _8t㓐ӽPGsw#\”s1p14.#8 ߏH}=O'?^)z3];q>F0Az`g /<@{cǭ;@S}sA,Fs8w=hз$㝹apw x=rG$NnyݧIGCCܐ?ԄrYpv>ƕs=zh?($hc=֓ c$?7z9GlS*1<~>Ixqʅ'gzHpq tS=+ݜZRr8`s Ҁ`}y:Ϧ1M݂ol~:g( 1O8;-ϣ(88O=Gv=A#pPӵ" $pspyLбݻ8z\7=87qRN~~c?.@N蠎00K`{€#R2rdG^Zw;O7q ~1Ҁa}I;9qL;Hxgh$ 'nH0c;<}GzLb8#sO8 Hr0@8Ɔh(@=x4` ߮?J@{n)IxIBh' }nABn;9+u?Zxn2>px䂠<{@Й{\O f6J۾1 ';z=~Gڭ'>Y[qGp1@$q:48!xR`=#A/9߭b ?enx#uaAG@N4?\nt<1@+8^HSRݜ801srH Fz=9Gsߏz7#xۀ:ךCFG| {P&!9JOHg?(BO\coN 2gt'\tu8|c?#z] 7|Lc%߇4wd%L:r8$}Aퟔy=(~Bv;͂ a(1OCccq9;Ҟqy`jc?ϥ<3 2GҜQ'.F2W{i;S:@XR ;vWpG1tՋ0x\?`843<6x#ۂq.BztA{{FLۜsN~1}N^)9|ޤcOzeݒRnm,H!FF}TЗ8b&N͟!&3#rbv@TLwڀ9aU$*9K)iz^@#9 7++7a'hn=3Q=\g׵RbnIؓrA$g:2͹2ƣ,>犡I]nC v3/*X7VT ;9< w9c&X9GQ>jK)V%pF0;zPW;NOc c$vB Wޫ8v玜 eCJtFw3s8@H#9:z-Pt%V>^d%TM @,G'q?7Gq#Q UNx\['w8j~ݻwcܝzr2)Hd#Npܠ=N>܁ۡnr C̐ X1ӖqbAG=HR##^.JKsO?SJXH9I/7RcjF9!IJi8;='j+7$ 䐟I#cUn\-_ZLƟp**>`E ?R$[,Yp+Xv)#mg׏53Hb͸ *N?ʶG㇧twT= CL A 7 )OMոL|nJc@y;E!U8 nݹ;zG@{ԍ [8?d}{t*;X8e=Hʞ6a v$ un_ @''\لc.9jrc#l\ۘ9\7.$dc$񕐎)F c @==1[Hygz)*"*@߳;#Y1۞(O#?;;Lv9$]Qje l acJ {0?\{vLkS f̀eUsy8w.9^x=I2=~TضO\8}Jy$N;gҧC0 >czPFy瞙<b{sG#?Ҁ'8䃎8'ϭ \ .q=֘'$$1F8>J`#;y)!rH''$g``nwg }(o~1~T΃$8nM0 t$cu-+Pr}8Zhp=:O_49{s)P!8T@=:~̟frA=NҐ*{O|T{kˌ0ȩpNH۷Mx]v`ܞ}8P1װ>!C`W߿ZNzߏ'4 D1?J] pcRFޝ؃:c #vc~bԀCIF9FCt0rz(p,s>7bi0AbGgۡu3Ng%t\]|%/òX\𣍒@&9z[?|תY)Fp{gA*qZ'rzg[H}4#M2{'Nz Т2F݇'N{p>rï?Z\1`x \tu\9Ͽ皧&#$'4nF{G'ҚKt6zj~=9A^~җ.`py1q'{T!'#$'@0~nr[hS|ހqۿ?ҩ@? ~=x q~r 6} 4L]0?/^s˽78ߛ''#< c9ID:2^ځ.99O厴wJyq4ˀ1>ߡ17 xdm>_8=$Gl*F^ /CRyg9'=ǯs7l=8N g~+ӮQ:Tqʓqև\9q\9?N??%܏8dڀglSn<*!p/r$1@瞝G=q9>ȧ G}M}NI|~8O9=:t&A:8wy##'SOLv8M'ߨ8#qyn ϶:qMDW&g B[F~r?1KQܔz`󌎝Sg#}_zh$x%Gl}G|Paԃ}p?ƛ¸;Fy==z`^i38<;=88#4sFI N;^\1>?ҒѠrzA'00:Ro8{>s/u;QaO 1ǵ"=ۿ͞杴\?\=F)N?ZVǩ{ڎ;g##ދhzqQǮ1}O_ҋQ{LH>$`Ox;v$wAP[9{}(\cؚMMy0HNxQs<`{}>wn#ҝ$s^W {v>J:=v98M zQƟ8I#8N[y9>)?1T.6;0h#󁞿_֭nHdsG'8=\vT `3qО^t_LЗdu8iv׎Iu%Tg֤G8 SZ6)8 bZ~\g# ofrvU$wT[QdsHa70zgaF=҃z}yCzӨlH:z =x>b>c>9|qϩF/LcdӇrA3* <)'P7@I~{"=pOa;ּ qlS~K ;yP;sSgoTcOVc'g$H9튲I'Onst}hǡqIb`Iy#G?81dǿj`2> O':cp=' <'9'Q #$$gq):O;;PKg1өU眮{qӏ֘ہAOQ:=?*y\9Py?Hz89#dо1r1O$8})^}6֚'%88ǰ{Rc$2?vץm iph{f~\gnqc1SǾG^ zgNr~^3x?#9  JC?={phQ{ 'I8O/aFys.7 ǒO9=ui'L$)<ysguܼhˑH1 [@2>p;n:?L楔 9l  IpG:T<1z'Ӹ^zzX pgN3qێ#88$pҧ%v_?D^{d@,{OLI#򞧞^;q=ۛk AqϷZ`"{m=:TOl{2-͎lsԙx8Ȥ( <sN@F--OL}ES=r3 qҌU`Ag:g`;`sߜӲ}Gu#G^#ذ ?&PW#A=Oj`€wOSl{R{ˎu}NSM|I=pI*JO';(>S1 Npq܏sP I0^)7-g!O'JNAR6c8d~T/ +gr3u֔}tPܐT{qׯLV9!^8;[ bGq#4=p=2> sױSRr==)#r0S^!nC A<~> @c~F3^Ï80y'p3׃),O7{w2)\Z N( w$~y~܏PFO^=)$R7=0pz{RL3+s43[$?1\~E{ g U:JEl򂠀9~}$o3X\c9pK9 (xr$}}{Iu#'Ϯ3@Oh$x ?Wn y=B$:3N۸sdcgz@?/H㪶~Psu!<1lu4 NNcOsm}d$1d s,;b{Asߓ_=I$z=?Θ:<19i3-^F:#i.Ԑ䄒y?Javr={Q[Hd=0OG;Fqz!DNя}xU sNJH s ~s0Њ9-#s?)F8*joDFA ? wvQ pʃ<Oֆ>9H= H=OoK7T?2c"]>Z^crڝB2=kRX0' 2xB79?.ҪI;JAL,U 5r 'EwȤ9qR7w`%FQF=ܑQrw p`I -˃UypL>G=֚7HrNq)b@a6NzӋzt R<0`u\)ܦ9 0rq@s縤DaOt4CvBrGӞ{ <32XmA}zdIl[pInyۨKaK*nQ?pRp3N Tg]>jB(2F9=sR͞ʱ;\pcIm7.@ 2yǽ&<'vPʩu8U1P=4k "(VMl.ʓ}G9~T!Bwdq;{/eQԝdz7|/@,s@8략YBTqXAު;6U%`x#i|H#*5r1 &Ah9 #p}9=EhɇcN3H:nOUv֘)7c90g I,9$xdu~Tf 6B"$󻎝QJFBcg` 7 A8UvӊjKcW'#q6!FX?j|<{ `h)l]8 c#hp'q~Cyyzoȭs pzS|1r!\U2oQ,KsCnӸ {{\};dzT=(۷c.Fv9.B1B!lOjd; )v d`2:q^gD"Y(lGLp[k+ӂUb!Cd19Fuirv'H< A z=wCes}OWt=KHdBHO *A^ݤ[*I;1@iibD"\p@$s]j\cqPsg:PǷM~ oQPDp#@뎘R0~^G}=([F7co##!wg#)'ڏ79󑃞i÷Lc2Ojaar>#$3:a:N)9WpO#ǯ^px< $'pW>8@=럽S;@ܓ# }9'@_r~ L';'w\gLsҗw#q 60IcH #vQLn.:$' ^ t'޼:gO8csXp'R}H2F$ʂvHTF0117 8<h1m$sO'g?xt׎t2>q=8Ӟ؜I'lRI}ϱ@bs##ZhOOFWuP#:8)Z#ʬ]pq'N@=9gO}2kWި~xK Wsz;Q|Wglye[da ` Hǭs$NFFM82;Wz GUZLo)8& 9l@JKOĘ2r-#q'+`*w09]`9'%fuKl{@7 ۊzn8bCSRV80*0<2zsҤTLupT׹ɬ@!Y=2pA0 4A/aON2z2m<v1n+pIQByH=~^Պ朠s4 h]AuJr!@ٌ@봎,HE&8A1y u VSɌHg>b1$L@*.`>Yf9ܟ0²Yuvp!ɭ$; g*XcRے1uۏL<-I1#!{vd4m$|<)*v6>l]Қ# /%?0*< c'׌u `gnH<.`Z f1ʕrpYG$9V@}vxP@=zcԆ #1ו =@q5D@zz p;`@Hs^x%?>ݩIq91ޞ3K3/+8=W E ?q븞yXFAPd׸4U\@|vHq lFX >_qެG}RoF7I?G@!`F<ݜt?OL"Dϐ 1s{L|'oBGSq5KSb\ǝırq{Tm9ǶA 馮SiDZ$_jV=3WO.!z2jo87`qsKmK+3 ssG %=:7^;n=KLGPWO9GB^p{9e%I%U㧯3#n9 ?ܓ8?~{gϧք1}ϯ9퓀zr~=ϩ19'w\HBߊj"ORLؤn={J|q@Ac>Ӽp8؂N ӥ4߇t#)8pLPX}NzR< *9l}H$}H8p8]{ӚqqH`2{}q%;nj~n:҅8gn<94BsOMF}>?*j?&Ɨр=Asޗ-2#v6&P{R/=qgcѸd1r՘q_FyW9?Ü^z{~4dzpO$p<c;'P29d?LqnrqOn9zanO=x`gG8ing##b-ıs''tJŔ !G8DL F:$}?*,>wNǑ'zR `zq8MP7z㌁ӳgnxҩ!uןnO'yS^~tqLݒ8ϧ$z~4.&zg<3h03[_{SpxLpO- { '\xtH=N; Ͻ;h$gF3I798n~(]8l$zwۚq;:R?NAX}1}ON N:u >mQ\zsPG+䑀[$ ȨW;sy䞧#?c99= gqt H= =i {zIR@w$PL 籥;ソ;:҄ϿƦqH=p:߇9N݌qO&;s9?֞  qas\t=l?Et;yEO,'+D9g$r9 uX.(Br~^8S׷OU S ;0O?PЮ%x c?{==pӒGoOΡ1r3r\e_IpK{xz~iث<ߎ8#cMa>10Q2\=o9랧N?hh\[1G\-Axg~r'#q=A=g'Si+30:d*? wz|pF@j >``c@#UԞv==?C_v`7nz~%|p._t<_AH'گ{#q='9=6AO#?_Nkzož{ԌRyu?zGx?ҟ 8T%Ӿ{ =OdUX~n x$Ap VdNrǂOgO_JOg>™,8u ϿojP0zy =;QRz~^Ӈ6$0'1G`c.8;NqLT{I۞F>dU_1cyt8*> $׮}M#SU*9?.3 z玘2&Tïr==s֦}FG 082`l qׁ*`cϵZV&=rJϵ/PyQ0v9oPI.8ǹ?ΐuޔ9p@aLT`'u$I{PKm'8G:N:A=?1ԣO<gwNOʾd?0'Ͽp ( ׎}pv'?94J#Sq=H8#=@ A$s`c88z`OB,`f3=*F4#jT㧨#= y‸`tJ@mpI{3pO\,{c029LsߛI=A==>3qH}= !3ǧ'=8I6G<({AH±L`rzs$ w}? @p##o$FIІ9{!,I< TBsQp9' ^H) F8?yN?jnH;zNFIK) l3 _Jaq9:TX8n wGl:>s0I,*Dy''HcI>pGq@یiI?> |$rO^x zH瓏cdx9辦cwLX~*a`>gQpy#h8 )'nb>S#rsHx֚qav\8Rb3 j}3;{{Gz#$tN?Ɠlԩ$zpwtA_|u 89 3Ayrx?OƱ\7pz##L#$B1B3ҐН:~G\nRn@ zΥ#lϱ,=;=1OrsP9=BЎNG?/q}}b' A=b(0,#yT7O=z~4i$C~\+z;jC39AӾ?wmq: <jw(#Ќ:c&2郃}!I3)3xyL~4?t<a<^(Bz7|fÁrNt>㞹8ᏹ=;=)Oyx#&b rr̀3T{j@Hl/'A A_~4Õx>Xap=H~r}Xcޘ_tڞ q8ʂzր( ߒiy8cЀfspBn 8'#4oq ) gz{P1P=q`$A<6}=Z=qs*pX:zgHǧ<rOMchP22r_z}z =z{fbo%H8*>C' 98@#q! *ґP" TP;@rs r#9ps׵&9#S 8z-C8l9N={lAu?1s$mH`Oo?p-waZ/Lhao1A?xcy%y+皨~FUN0rzrr0PndרQo@W(2T .7nٮ>N7gh֧wΡnCBWÈp9Z¼8s{7cJsӮI8'+ızxHr9>Þ䃆<"}|c1gyz9 9`<}@Oc Wq19s㞭A@n>?1T@n B˟>Lc'FN88}Ai t8OpD{ozS9c=J~P!`{zzT '>1qׁcM*8v>3'N:2ښ[= 8 N Hg<0wOL}zӽ1d瓒pGLaL-O^x#)ݾ\G'=L†9$A8f^rGʹ׎f:g$Squڟu#h sz0~Q#ק$nwmIrb}ss@ BaW8 󞆗'`[#tcs*p=Rc9(x FIPO"DusF6 `>)]_ĎTS:ǔ2+;zfJ/]|~lD,nhUOINkg04dyMÌ=s^Wn9kyWpۂ~I^5 t@O=אj1E;FK)B㎽b9'0;j4FtH|C6PJ0ŕSoˀ< Śd!玥G O:5aq3~\V#qJ<};lz,ua }fN>bKno J=ʱ=:19U =R>BA· 0Uq򏔃[ ^GXg~TT!YԆ(8 `T̄w.Ose=q!Tܜ0 0˟CRs(=7p=u' ;*iG|J2q~('qwcc"UHàYA<(jA$ӀbpCnI9 1d Hzc>B&Vb FFUi\T!8`tpx+HC.B@5/lw1`H[)% rþ۵mh;vXdbTd/Gn9峒Fl{.y{q\FI=0zwҘNW$9:(V`H A0'S qFa+=s8 Sߏ* ~bA*̥8*Ho= sHMnK)3cs`rJi.6qьv=rۛp&1qi qjA&I~x*,nPq'#zzzr$sAN?-mU瞾lQ$Cԁܘӥh+n]KOU#jfU2'@ M޽?Z9'#* }iD'n2ӕ#,#X!gmv#ZGvہ#ƾ5Q\?CUw<|y: # }}cJ99>pG}kDělcz;rG_|wݞ8p>x9FN'=~p+a}zzTg돭!0N1z'JНz]V“2dls3GlCUB} ;=s{a[o g|(L6II{}kAyu$ 7Ҳlˀgw fqxAXԴH29<ʥ1꨷0)=rzr{/R@`uD}?@qמ z ԥ`>2z99}`gzuy?@:O*f0rp?ۧ+{tIL?)c=8=O8|*G8=r>Κ2?x[pxa<<Ziaٹ09ϧ^8$(<;zU Оy=:x;z rIڕ;GoQzޘIW;sCUa\\q)\ԁMz:b09=y)}:d`vQu'GN=9s@`p8y_AM\v 8 S}hhpTnO41uELr7tzZn\ zŏ\S&}>?Ӧ)I[:c'O2haq:^IH@q8; >cH.(NN8=q׵ czҎq]Fy]&L7{ʣKs@#4"+psӌc<gl3 thcOn#M =sL}i Zi=\U^x'#=p\GS0y=iu/aMru!GПZqIFcϽ1 ïKtx<RjN28N93-N=sN\F?1DZ8bazu#@1ws߂y=>Tw=9OƗzGlLCӒ011MgӎSHC{ryAjNwFIϸڍoaׁp?Z_A#’xy;Ҁ}RQy1~  ď]. +1*rWL`mNGb:{=sׂ8dw d/rZTt  Nޣpq~sJcb`Cscx34yK;Opu19}H~9}{};jKzٞzt=Ov#%$ zNʠ]sN(wz9`u<ԀבuЮ4',}@”A~=;$0oA 9n :~'!I^z;45-c>3x;Ӷ2Fp{N vǜ{2 8y'AEEH"dv*zx'iZ9z`uaDc8lvZO(0ߚ P,08$cN~H9{SkA L 8''NC_,gc ~`n0~fm=( ,`z緭.# gkƁqK9pW gץX zJeh+Gpp3.)dn359?t^pJPv{R#u9=?zs1֛#<:0s⛰H9:c k` 09~@p++cs/{ }ɧ (pNzcS6azxZz#8=?4\g3{}*Й.GRa]QfpqK }x=+#lrP[8A$~oprjR(s8O0oQx\_ؑO~s֣Q*@ 6zcZqBcoaS˒6 V~.{tRU8i"u@~v9*}1G$Dn +gU`Qi͒!^?Қ2K|W >H 322I\|5r>8$ } ^ߞ{S[R`nvqx W9+-߇fgO$0A>yTy8dcR;Aߐ=zׯXo (=zӽ#9=}(%1aװc>|3O_gzd*:}' g< `73^18'w9)=ծ+t#O'a F.otkbuN+#fjF#v0𞧎0Ǿz񦁆N@}ixAr8ک㪜q9$wϨ=GQ$L O9=3Mv S瓌=F=GZK}pz ϿZRGtj,r)݂2z|uuc$[ΨC뷮p< ߝ pq$jQ8뜇;<~Fyd qB+ p>0'L}h''!@H9R3nFJm؎=q݉h`IH'TӀH=8)nX2`3KO͆  NTd OKy'Lp1r;}>82W@ ۓBWgӯ$އ+N8Ԡ$=}2xu@NzrA s동y0r}xq?Ќ__ji ({{ w8r0r3N# /Spi.4=0sK ӵ0*'+GS<Im䏺:pO\'۶3Ic9%}g3tpv!Ǧ9N~pu7|t\7sӜ9{Γ K) {}qQQ 2[g?:e[,x#5,N֡zݣ12sr ӂ2x!{)" : g9#K*rGeb9==(I?3Z98B۱䓜0 }9:yژ ׌2 \֧_B: ąn9*[3)2=;{ׯ׵7a߁nq$>׎s1R8 ׌zvbOy܋q U6=X <dds\P08;@rsܓ4 z4(lOLqߚvYF2IslInw@ۆ:^$yGGTc$>ȠLxミׁM;U-O4613\)G=%j?2{ @'V3P8#9'=NH9%@#<zS$L__ƤL8ѓۡ9ބcwrB8T`9L/ǧSMo q>n v:P6%V17LDyvH `#!8$ӂ^292`drH{1AIxg#R O$?Xr2y=qOn 82䏛 L恉'XGS' ~ vr>R[|4?s@H皐.y< 6x|[b` cG'9x齸%?Cg!<߭GPcy dps)I=9|O?{A <F2Hj>sgdRp:#'IgOw @+ vy\j~@' 8oQ׭OQ1 zgy.0 o~H  p}rsӷe>nbz)NnidQIj4JNqӓ׌UU%8Y9:@}?ƫI!9CĎғbBp*wrqr3!JveBf_J\=?_ƌ<y늶 *I%TzB3 =ǵ( yxafS"$^2r9 o~3T'R܌)uU'i\z2A^Š̏p8C^WHtm'ZTs7yYƒw=sl) 1Rr09'zs]yi|βQA9Pzw[b,% H]F8F1Վ3RKr7+~e^FX˯0 t+Ԁ;9&X/y aHrruc%Pʌw&0Ib!p%*Q s#\>pdw!jN|;U=FN0r県1OO:"22V w90c#*rO]13a' $zT~fNvyKoCe+]+.p2zN!~az9\*nN>ϦRU88?#:xvlH!{y$C sm\FJz{)f &X؅y2$Wk&} 8Tbq9 woی 8bAe:c9c'xZ!1mJx}jqYHgf?[[C6>V>>TrnӅ\rG?CޥO,qץCA猷8<`b\]g'8<^=ց׎NzO %rhܲ#oOG[Kx8l[ܰaws quIemǞ GOjh)g( SOy@W +aY[J8ڪܖb[8#ަEB$pzp:scT`qb:#PPlxA 2,fEuVoU iygК֒5aLˏ _r ~E`,(ʅpsӭuXǶ67!2sy׮yE0pvj=M"/qzN!pOlx+ߞ+o?R8<gnM :>HOV}FJ0G@ޘg$uǥD?'3 88GN r0GqL ^{esϧlDzӯב9CNF6bNp=9@SԞsww՞8#Hzp>雈Ǩ<Oހb}p88Ihr=@sn8vBv ~qց;6Tas8 Oӧ|rǮGp>=hA\3{ Lbrx7n@jv8>ӎ};sHu LF <nsI p{⎟ ?c 432ރ1ۜPoN:vqsIlr"s iI> F_Lzev1Q}h۴tc8 FV.:ڗ#>928zP10zy@ 9ʀn9\hw#8?#'Pz  Qrc=9-Ch+9ךbqԏʳRJs?pI o7Fc<;S $J~b9KA+Gcqq$.0qzt#9-8^O$0þ*U-63r1Ҙ9)HrG5>7 'n 1{RRR8䪯:zcӯ40wwN {gvb88+@ž#5.Tu0pr9+H +Z~x\z;Snߐ `:_^i̬sI\)N*n"捼;H;Hf#?ۊ$ tC4Ԭʱ%sg~rSqfcԃg f+HQH'~rp3qZ.;A!lc5 {ap0mMʗ_Q!s~>8o @59#;NB{}jݍ<'cJg"I~cӯNHP`g{8фpE$g#;zg&3'~(;{ 0z ɏ#rAԶ:g9Foco\uSl;dd׵(1/$bx8cEm'3.P ,YVvVmGr]X; ۓ-ٵȌ*~n3qu;++FEH3IJ2XDH1{׶Y{x}>䚼]o`hVXvq*tՑ]I}U+#dgJ_XS׹Ӷ94u' POo0sZR p;qC*r=x=ݾcsZhCB:Z@<|uif$$uPI pd_ҞxNn7i\y)T98)`^)|r9<N:p\(#8w,2*6}𝾙$6=ilv88>{バ9=yATtÆ1i r:?3KO\tl׎yE9}>K.GH֥:wsT C9LQpr:>z#m9'#{_<r9;<~Jo =}ivBE =s֟ϷҼɧ#w1\G^Hp1rN:whbi\N2z繧ts@aϸ|j\'8=:uJdy=I/ww4X.&zqۦ?ϭ&ܞ鎤Fʐ&G۾9ۿj~9<N?ӑvP 'a\f9Ꮈ緽?fG^FN*C2G!Oc'>Zw#q+ Ъx8zΦOϚG2B3 3^\9 0SsԌBw슊 A83ך>^I?\Զ~ķQ#r2Üdz~;m/qJ#;y ^8ګ\Ö"y2 ;XLnpF=N;H pN23ߌrs뎿Z{d1\c8}ߔ^)-C'RXv9>,nN{:]cO_jM:sZ_@G=L~0Gax>RϷM?\qx>P{- 8#$rFqG+%H"dNv9 M2䀹?^IrBēӹXp8 G:br8Z_/^rA3itCsF@6?ϽJ" q棔94$6n~5NFA>85!{r7suҗaО9j9Gq8MOaԘ P_\PfaB NW#0G'A<AF? 2NK`nk b65 OBG{ u~GҥopG;}sɻq׸99p2{ʎ 1s҃=[gۑ$ F?J@|^NOLfv#?n':y9Ǩ8t!t4=pIF{ִC? ɮ;uf|c8R[h{t^[sN8?U7ǧ^/cI88W=c{~3'F1oRN=ǩ珯a2E2yx1P 9 㧡߃K5K$:c}vD1Ӿx(P1#ZGc=H?(8 gz<~5dq/1xNzNzh%;<`R.0=2PC<z1A8|đ'$vmxzwl=9C@ #$czӳ^G=\c Sq @_A}<׿OzR=sg8={$!xzsA~ԃ9:}Rzڟ080c$3Nu#Չ0?n'#8$7=~^.smI #`8@sG#'“yq=6p(@4eNv^;sޞ39dǶ}>w1:}}=iUzx}`&v2zq=Jw!sۜ>cH}w1xߕ8HQGjf)'-t=;?ŞN)p3 ly49I;PGR@>{^[<:2F:Z@lc=Gy>޴Ӹ m'ߞ:Su}zq=zG< 8率ۭ;27`I3cҁҐ `wrsuOƐrWr>NJNP1'R:֚~9NFp@ #HKgԀq[ H?/ӌ>*Hُ(1|9#y*/auPD~ca^@͎8P"r@8 9J_ln4!'zwx{~9#:}֑V#r܌( pNH8&IUn>e L_Jv0pzƒZ mC,c$ $H>6Km' Gy3oZ9qz s< ~&@8=qQÚv7yޔ`zpb@08gs84~\*8@?@0p ừO$z0H=q $zsT- |$ 8Z'=8lN1RƁ#scjW9'˜ܨn Ђ'߯n) o@71 T B {R9_.sԶ so<g?ZWA8zd翦) s<`0O89|8ȧ6&0'?.H8m}ie' d׮GH}D$`=$Ծh;Ox p98l#JyH\yzcq@ RA=Hؤ88%t4 N <ӎq7c7-0Olޜq8pcO1I֝0\G9@?NձǷ b9?)ČgQ2[ $=k>);ܑc4NxEOgsק<Կ.GP,{?Zϫ0]1#$(ba7p1gctdjW '#׾hrJBI8bzǑdSIxn}4u}A;c= qtw\pXa{c'⮌A$H+׹ȣ?yczc:Cc!Fue8ޔrp};&(#pT`U1L7 'JWo+q3/] w{ wsžO4ӂB /rXi#=X=>,0G=9<Fw Q3~&}|I(sOZ%X]xelpO~^W~mFlv]FIFʎ1YfXB)-s^*CC)'o=8ɪ rF(9^瞵1[n>lI;۞j2T_l=G^((Ǡ#€.0N'$\2GNH pI8H[ (NA z7Cք9p;vϮ3=srx`.?_JUX$  <D@$9;G 󞙩*ݎIs)=z0{7lӎ6>Qņ "6zsdp?AAԝ᳐P<砫qX䜱g bG$zcPZWag?~1MA0pƤd|s=x2:vC#ܑa_N1u,"ȫme 1C޴F]]6g#wAXV5eF 8w^v" \`L雭6*r~,$:O\Uazrp0qStգ{@RTz8kܴ+'*3$c_ۊ뒲/ctq68O~r{p{zVB00X2@&)l?L@G?/U vgz8=FG{=~:[I#t:lqO'b=0p#9!y ;O@xsHD~q3BNM7AqZ1Üq3o cr9 0ǐd|d(#1~}G#\dCsg`SÓgqHd0?(#\jFAہ #2xr:s1@8gdg#8 0=GHr9g͏Im<=Osȳ|0zמ+ A<@9~s\|~4V޻zp1yzbHx^68@16H1ӌ9李{:nRzC~,2NOR}޹q#zuI~8~K NiH 8 lcq򎜜UYF9nmpR;sӀ+)Ɲ(h?O1E &Inq}+mnܤ Tcv)Q֧M3A,>퇡qӦy_1G8猌{,4YH}A,1۞zъԈ%#1%N3OZI]#^o8/׾2r'mjS^>&Oz $V::}A gncoluP9#>-!9ci ܊Hg#hL{wc;vBz !NFw)l>Jv1dNỌ<@$sy8x'yz#<rix;o^Wp=8\=:t=ч.rz3*wcqKvQr c\➊X2+CtpV/r!9<K0S`dd!$Ab ɸ1e͌~B>>B21žpp;9'񀠌 c'pxؘA@rpr1NR`#~S_=:qM#Lu>h[ cqzB=2I*{:Ej=F8OPQ^FG#8\ϩz&?Ӹ9ϦG^xydv8O\`,{{S x|{|SZq2A' Qf0p'14{+c'+?]_Qн$9Aʒzc9'ɹ*xHP np-jLK]ȇbEaYfG8\NPkK:hbc=dMC?)\߷JoF2#Ӟ덝W":Sv d99P˸85q2F@5,bl uGЎÓI=@=}vANt4uN}# 1S\1~GXy20}h@&8 ǯ^s8L;xϨ|{҄ٺ:1Tq>^N˒?s8$8# s5І?hOJ|МC8?5*ګϜNO9G֫鋜cRq=GcS_Aq}yM$pI(V擀wuu aׂq*ya@H=Fz9BZ\t_:>oQ1ۥC3 cazȤ1P}1uAQ(7\s}}zZ6qӜzvSZϔb1>^{Ӗ#؃SRxORl<g=Lԏ9 g-f#Ft[Dq=gǧ'i8H O?Η@CHqOpA1w}aNq9N{d 6rTΓ8p!N==0=}ǯ|E:qGG9("g=2OUsR|T2Lgo|A{$z5wҘ9i6x87=V Xp}i8l?~M#m;sCqq;qS`:IQGB3=Uc)$epN@'vF;^v0Mm$s G =|T{07nМn0=s)ܑ@ ʖ#z =NAmgX,N;e1p=j*n #A9{縦aq6HxΧMsW9z{*r1Aq׎Qڮƛq>=} s`>`c{Wb8^::S'H< `a}k2A^~1֧{u'֨L\:wϷ1Osק =j$|䜁9=U2 >qqorGR6LduߥZ%pJc$}}}RN8ܞ6z Rb8zcrJ.}I>w%/@$8##ǥ/QF1rҔB`Fm#9{ǵI td3ҁ1p@{@ + |#ۥO\99' {cR:z0O^޸i<9>S~9o F:cqDI{;SO9M18$g=WZ>lO^Xcjh;G8A\]uc}|_37n{6?Hrp~S>xp' H1F9 `4;? Ӈ~9=˯@ :θ@ўAc8ci@>l=8(osF4Lzl{cރO16u0G'y+@8z{c֋m$rxs =) 'd9ʷ'\P}{ds>'2|(ZhqasywI'qQ2G$co^E0v8qs#i}=I\v$)F=3͎9zP r1>_]xbzDZ"6sOƐ}޿>Bá'i0?:=%yq@iscp#GqScs9==hF:݌rN; pۃqt>6AJpI_ށ۰x ZpsX{|CxA'`ݐ9 #9\@g}CrǎxWVǞ}Hv/9 un8'=AR: (ؓN19b)!<)XKbezw|0Ĝpp;cE8M  7QGOLT[adg4' <OjSHB~=i ۑ3g3 ^zsI;?\?so__j]  ׃w͌˿J9#@;ԕx?tq OJqh;g#A~'=shqx! ^FI4' x0pO$uԀ(}z}j1ӹ-ׂw=J'ˑ|8i{sw=ϥAwS8ng{R{H#P~1瞽;rzg4\gd1@޽9ԑp9C323ܜޝ|ʀpqwipcS_J4T^02E) 89 q׏z`Mc<>8m9Ld=@\ `qqzӭCWd`~(!}xq3ؘPR}2Os(%ona\~$P2 玔sndzI-Bp7s# ?Dz}ཽ:ˑH>gwS=` u$arEg^=& FyƧ:Aه%=YU p0O69?0)۳ | _# [ #CܔD%ボ:󊍥|N;NyҢTv>1 p~SEwv1SvVm'xsTkg#z9#k%+@Җ׿?j_\'X[)$OPX+& `c6qy8GVr9K$jS-y.LAi)h]KH' O³`5 U@;ď,qj7%xR26D33j"6KT;1*r$qҗgg[cwΪs*+;S3n\78#w-5=ISb TyrK)N~PG^z`\돧^B|$qhep1eUI!*uTJ#'ոU#1"䔔s5؞[+B1px |zz{g&  =O^iS<< LdeA$qCt5d]!Uf(P%޻x)u(#䌻~[g]ۀ¡r ldrQ '=x#`<v\'=;P!@~_w9Jwr8aO$i| +ʄ!y_ч]wӨے \z6}zO2o<8j3*fQ󁷢c9U8o7C0$ǂ1߁]"eyU['AU`9S1 t# ov>)ah[<1\ǭX0'KUG'HԄŽ@U#v>VGU| ĐI>#;ߔb0=h@'699\zuJElGp'8TU9,ÓϷjy*Gp9Lf<8Yry'ԺY'A8xSlQpHQevRO!?01(F r3YrsxL{+=82OYpG8(2zz Gˁ-r`d8GZ9a' >P͜uRj1|h(\zxjap=3:c(`-^3?)#>Fax [s&i褀0?6wd|浡 Q!-u+hm}pT60C1׊=65/x yocWn}7~MfPs1\;UPs:%}l*+:[=*(NJm#A8$5m9!z}; ^=Gy;王99v4rH#8c~?xzp0xjcN1yϿ@#`^'9'Q :۷47{<+aS+BL! #(; |=hR2O'n;r@ҎNLӊ 1Ϫq0G\gvGq  |v>^ 3ǡ@cNsM?q9*PJ0N@I9rw>V᳞&%ۅ7rW hJlcig$s#' z;{`U(T'pn9ڷ>VX L0͒Xt'f843RGs:u8mX(O2F9q>Q8Vc8#$0oo*PYs8kHLj~o s<)cVLgrpHAzzciq 9=sq@V{;93JL`2G8p1Nr=J@p0rI9$hFAPz?jI' 5G56819iݒq)H$/Jb8 VW . V]mKCҬCݴ U 58O^:WuaL ŘI7fa+ЊhúvDgv e5n[i?*2@2n5P՚O rjew_ _S"_xq=9?J՝w0gBFz׮~e#!p A8$O?윌(8# шSc-_ʃN}2c`c$qH#>8`z=GD6@u9CG_e͔s7NOk| `wRz"eR cU#מ]da-Ǩ'<dsڮDl.'gҀF:Nx_í_?{AؚL{`,Wp0=NW-8t&(  ՟,(랄8"ӒNl`x> @'rv捙rӞu?jNF0GpG^Ƿ?Εwڏz?`<::Ԛ OosҦ vz}@aBPs}i@N3nH>:*9z`O#wSpp1҆9۟_X'L<:cIIG˝pn:8x}ݣ `N3}2GU=0xqNg Z"wG5n?8< 1z::np NҳL=9|xu"Da[m+}j dj2@]hʦɳuҷsjGaHFZ|&y%bNx9>ƽZ I8Ҧ,ԥ[ d9i0Ϲwi*U 71_n0lvo+OYom og8  @{T0]BmHʩp=?eY^7(-$c"ī 3^ik:k46\2c îTg8|DY\@~T?z_.nes;rpGJ"' @ r<$g֭,X ;nqT;0W ?:qLٓؓUEsSל`zpA>^x=/R013?*O g$з d㿨t#gGLcf1'#v$r:cǟj zc_| @0d)qsҽ]i8 ̓ʜqM1\ s ׮]zF9?.*ð`8Ɵ!0T~n;WsIr !AbO*zgg.$c8Úq-z8ENy38ws@Gr@'JwЬ0ps'3R¤u']9 }qNoc4Pq[8ѱX3~I_opX}ٯl>OӀ3z f#@F23`Aic'OB)vLx|>ܜmT{1߯=@鞀p=x=~ (ۜ`s׿^y?13IϽRrsbu.)9=9eq<JDu9p?H7s*u^1r李W<#_ޘSOA!:ӏ3Z&(Nq>uwN1</ss=?{=>B1 p7t9v`}N{g5kDC;F}Ǹn:7)9ߥP; p\m9=@ sz6$rq;{q~5&rNq^UG^֙ L`srׁSg's(;G#j23=qd }_zarp28q#'nӧz}@݌H31~fq*y9>Ӟh?( ,Lo, V*l<d c  s#旀FUtr?rpF{>ݩ?r8LP~?uSc>t+֪$ul`qO<v$P>n~ch8Q.W8=r:ߚdP8ۍÞ>\O>ҤٌN#$?ZCdHx<@~8페A~a[8K& l;d#^: xÑcd=;qT!8 cq.8`u^1TLvA rF9?5PpJOQǎ$NNǮ:gs?t#8'ڀ$s\uNO|zR ';@ z?O^==3Kx8 d` q2篰LQrA<u0@ `Uysց`t+::~[FސpV'wԌ 1prz 0 A)ޣuAPF@ $yc?}8#ߎ2^; x9 LצG\8ۜH@y=h@~c玟O—s;Ons>3ӊnNzc9$d60< {3x4Ν$psן$㞼t bۭFrx̓搫($g*zf `6>1~"}2=#?^zpysp210yovT ==(F8:[LvK 9ێ@ cvWHR{mr(qגI=3OA=>gHG<3Q13_OzFs+:FO䓞z/#ל?xzgҜ ep29-G~=x>olG>FI庎,O\[r1A T9Q~1@ Q؁bGoÎs4א3#E)+?3}ƌ!x䁏)Iuڀӓ HϨ#2H㓁4Fpr.2Ǹ<1i>e d`}Wz؋$?11pN6wzeq' N=ۅ19n@*X] dIcz JhFnHO~s۵E8HG`T2 ^zF`@;r(pD[s8'<w`pOBrpwz0H[?7?2:s9`FXq F=~dAF{C0OMɐG#vT=yP 8#ϵ~_@ǾA;l )Ato=I<@ T' O4-HIT3nrS3r9< s}:t\rH~Go?CG4ur;p[8ށ=sӠ<6?q?0>B>uNIBzC#{A9$g1ө8jL@Hl#)3ۿ"ܹ9p:pi<9~R{p=l@X@6nF`xH1Ӣボ~ґG<ݞ9=qR(rp ~\xi ;0H;sݱ7u}z1zրFFF{ A׭( Aց{w?Z:=X㎘>ᛃc0z(Z3av}%p [p{u)p<sUБ2Oq$<`oHFpwpNsOz|:0(1݅=:r}iKq{|wGR;t49=>9$r8g>2 T:w.}?9+bꨔ0OR޾q02I zp[ ךyۍ?.xV_!_Q'8ϧ r3i6r@fAϱw}sCb8z<vN88 w?ҎAwrAQj,= :YIj1*x<3ڄWB#/~ }sm}[[J99ʜpr=?uY ˅$mSi:Nw1$@@XϠ<:dbqm?{AQ6I39Rl} rFsM7\Qp#qS"r䁌g$25w9OM-@T#;@p-EHarYwA=28)iRpN<`}׮lpF1q*ǧ3A gTrNI*0׹HM*)mlU@#$tݎ3WyoS׿jP`s%PA:JoHO^뚻hCbmN2+CӽZېBߏl~$+ʣNq[].v@/ڷ.Y&c ~-~0[}mt$쓜C^e0%P02-[ ӓrkϙ+3VL|nEdyv<` V崏=Wpi2!q/PztC:oSlUv7mnJԃ=jNz0O=}1ڰFM$ JÜ#jcmTngÐv3#R@,Ts1Q~E+?hK1Y7' r6lYӲ=FAV;K[1Թpy $ev|cݎ"ՙQHHT3`0}c*wr6أ-qs9ͧ1d^wrrs } AK|>wc6뚐f“)-Lb!e۰.rvN@ϩ5ar#ᾜv=zT_oBF>>n`p@U9'5ka A&YāJcp pH8皱HS,T!TTnCK*x*J)ĸ tnS@ g+=Lr$v~l8 ی(1댎O^ao 9{T;r 7LqI']NA A(yI&F!FA u.!0v$ѓBO '?Ü{ m$ߩ:LqWKs{ qGV#1 `IPpA|ߩ|16֔0}̷eaPI9.\A8ϧ*C!]k㜺9zPF; 1P}IqOE[\z7L-9%OA=dqI=@.n=Vm|۔u>9#ziҲ*Pc}r>"  Pݞx vv-?/c;kX@$p˝OUli>QmccY#< s2ǽ^#ob1$OL&n9TsC*X73XF8KM2N'hNvqƒ2s}i%9(X'ˍ;w)(8<`?\PI* Q38ڥ!8;,^Gҫ1V6 qOˊ+4H=zR( ##a8S1InZ\c arrI<kJʥ]G*GsJ5"$-g#>V!?¤q3suݎ'f>YfIw|LWiq0V~~޻[ݢ( Vq:s . H,Fp@?c[gvWhF',Tu&ns.Fa:dI :q܂xǿݪD7o8ϡ 4Fq9׭>;8<@~]EKns `: o?y =xOC38 g`zOjxcN>nS't8G *o02>z^ 67 sё鹏_~On1@l4rrx!N:Rq=cֆq'ґ+G^'^Ǒ̜Ar=q n\9<Op^Lu@!r;u sNH#0'wx 8='m\a~oq@igGy'8Z: ӱJ>0zg׎􀏟W q~.BN99'29Uw<{ԛz11*@g͕Ԗ28lHUpx}ƃq>jw'9cJB`q9‘OOҔMͷ'9xhg;q9Rd`z 9`zgЊBFG∰fa'&AF:aGMv( 02)8s:A"v'xnGoB?ɤvヰuGG=Se$ςGҥV'YP20@#oNOeq-p0 ہ' :2rvA6q׊됣,94|mN[r<=9AWsBw˜#sҢBdNn)<|o|ۚ3Fʣ;t)௯j,ӡH{ӞM!6~1$422'Wy=IS| ʞUN7=VS0ARs)v6ǧz6}L$pA%ߌ~5$L>s EGSFYWF\ys5H<s1z|d;dgۊD*gTM 62:O =*Axp|qη"T0qezm pO*r[#CSzu\Ǧ;ߘNO'vF3:dsZqH䞄gk/ snGfOG 9n rӷNIT>|T󴜱#$኏lgH<@+898XUVm^s\:nVa㞕I1ПoQ-{D?Ʊ'9'lpOq ߩKs p1q=? \ڼGS1$##x=$ۮ Jz[ +}{})>gFsH랟83=::P P:^9Trg Od)$Xy0e s98g+l9眎 Wm ^‘ 䂥px_։CP ?0Şޥr0@tإP<{dJ<ԁ0ߑ=cM' YԐ{C.3G y1HàHa%lNOΥX Aa>Q7 *x t*ǂ3ӿ׀zc?Gԃ3vXw9'ׁ95(L;sNNP`8QCGMcӞOD@=v>JrUP`1sz{@l=:cBc#=#(<H<{J#$zpRd:}ء m->802qބ$1QNHęCy?Z ~REݽ;C׊t NۜtRc3#ZdqvpZ6e=TiKQ * Uڄw,tzx|,Lh_n/i֬[U3]  sPH.0s.8zW4i]4w$z?N[b@[L82nsO`_CG ˧C*c&NJnnipѰϖO8:\x&= Jb%a>byשB367 e3 69݌ aZEbVlo ~TGoJrG?4J&vUcttr$[Z/uo 3EDN]Z\();uSZ{IoEJU$mNգfؔ4Wj'rN8ku'F#*\FӢW+#5qUrzv2'$)<=9?̩ ɳ :F_z'^~+/QWQMy${\qJNަ %M1E78'#( dW {aqjvWM d|3KKbݧd޻쐑'9qe1㧰OʾZ\fϨQ]'<3 g3oLt5-9?A=144=8'9i7Pqqps9HxA§=3؞o^qy'Q?xH}i1tǨyHr8=R݀n< :vdڪ ~Cy#*2H? =8Tm1M12@1dzTIN2q?ҭ2$zvp}()r9ZEIw{'sV#H ;xϯo6̧4NgGrFH=>xnU:g4砛F:}R}Ӽ3¶1S%T^pv=O TO'$*%=HGNO <62;GC9Teb֦X;{gׯZjNi##OCצsS7Pb Ԟl&+Gz{O1<XcZp<:QO0q#1Ɯ"\J\<ȼC`m'1LL089R?Ao<F"<*oLӾ+9_&\jn?`֦l?ʉG)Tq}8|:nh`v=2::R|z#ֳqt5S'>1H##!>VN64Ō0*T@z b^zN:)hR8}O97fgKd;-\؎Q=}zJ܈ׂO=N;iO˞Oah#rzQ O vQ;R{rQ*p2>\oEv:E\돛3ׯNvs۶q>lqZWԭ (I9"_׭\V $fzOJ0&j 8 s@}zz!Rp0@#9 80A#$ ?Wt60[~obs \zOP rx#x8/9Q#߆*.7)*xqp\`p1i a9 @(Lx{yTKŀ77 9j9zg3^&a+Ӓ;pT\\N1ߧq UvNZ׎Ł00¥;FCgd 'b4O\tci>S0>;ӁN^q3WJk$:n}@9<upFNM.y8'qtcg zt枀q =q(։r=G1<OzҌ7^x{r:AAZ*Nq99^yw.pG\][G_»aќRܔ۴>(}2}G''c#>8d׆quQQtGU9Ӟ4#{ޘ=hx<^L.{uǧ=JL9}qpHyR Cu ?S  1Ps{䞍qd$`'Y uQҩ2Z`tǯ9翠qΤp~3y!0=3\oQKmHGd}8Q኏>CeŒ9ǯܸ\}('8 O~|w=G>M u;}[yF#8 {}1Ixѳg9=$mpJӦq鸎 9,9z~|qT9Fyqltts؂ 8zrEqy s#ER0`n'tjUPn@ׁd8l?JAǰ$/BW'`3߃Mr|8gP$#dj%;y03\@_@GV!AA{O=q$!''n#䧜t1F228'wR=ri<需odpq8J܃dP`x 1:z 9ǡ 8ܓ#cs;#qA~Ͼx#]pI% ?{z:xu>EHJR2;֗p:{=y@'Ggs*x?.wtqO8$ A\}>8>cG8@<׏t>} g֜B}>+`rݏR}`;8OpM;񂾜?wޛԌ=h$s>ݹdsO8 ?JФ`0g?.8~ð^8`z<~=i##8r:zf  }F0;d/8<sÜE5@یD$* h>q돭EN9^7v'C(S{t s@1ޟ@ ϧK*%s/`*Zccԡ pNHzTB㜞0w1?*%_r!rrGJ@Bz֙xv{b 9?/O@@l:@0xR8.=2A?'N~  }'TBn7gN}>yFG?P402?ZLU NGicp1G@3^z&GG#ߎq@ 91o80O8d@pPRwߏN6pHcOLs@8H ,9 g'j5ɓ =xsO# ;yM=9[=N1׏})K^NFO$z>ޓS<9'xހ1dA?Oݎ0<4`2y*w@>';Hcށ2s znFezAs@aCëc##M“㺌sr?`I}=q9?ϵ G P9Ѓ _jC;2v`{gOq *gz?;uU.q}`< RqwPznOL҃8vsq=ihz $tS":Aa1O OOJ~ ͔Sց;NI0;z^WTPUlLS~PF6~R\Tsӿ)oQy<J hA%t g?}J18;FreϯNjr9 ^JZC7(̭='P4U__g9kSd{UZOnH<(_OƢOK٢Jrh'ppG.3<Έģ$ghAŜǵ79%uM,(w?Ɛ?u)Apd~H[Tg}s98 qRZ]r6$I랙ڲ.ˣa=GZgk;l\g=JzX۵2/s`c+;ױi! u'gd9Tꬅw$b&Q[dv@ zR: v)|HNY3qӊ!wޠpz0#=~kʲ1 3NRHV=8sUWbL(9,F]/4t~/^I#QL 9wygA\c٢Xc8늶gcXu'#Zo$<ȧ Xt<sޥ#` P3pO=ԖWyQ'ۥ!T`F߾{gү-l`Qv(9?2?w]3\gh&ʁJ(x xu}jbEق:N[i_qfF}wdrrrrZ;9;=.|.rNOD_ЖBTq~]tۃ<*'h@z9ӈf !OqOʭq-{NTj$*DD_g@ 52v%BU r33yҤCH-ʇkdO'ޝ?6K$tv(c%:0q׿썻 |pM%N8dxZQIsv qNNjupx9E \c09JAꏩ,R߶{rR|6~'#u9kO ++1rJ9Pd>S!@$|zWB~X;vuu*F3$7g׮(@ o_%XI:؇_ ]~8e4a2z ŸV==yzfu'$1A}0vg׶s!xz_Z㎹^NӶ3ӊvHR\sh8=rqN }ÎqKz#4Óӏ\Q֟IOthOs_8q9϶Sy1SHK~RbF9rϥ! `8>)s|ߜĀNFO;s~\}zPE/'s;ޓ,p=pq4N29:SNu#?\}(c(Ȅ \`WϮ+/ZGs>X9I}:zWEEOk.n>cUsg=&[x r4"N# 䅑 sֽ3\OjsՏݺG3n]x1|hy[P00P<6'VN>OiIݝ{u@ t } pqk(U<ou#3;^‚Kt<{j4Y 7p0{zUNߗy;Z} bBo)9M1ơ 1 ?/,=).ĦC l'$cGj*8d9.lwi]V|A2@'{ؚH> 8c;uQ\XG@A_*. eh2wO˜ ֡$'?. C51eNG' 6nrH&§q\T1H\6?0#jd&M}JcGrsڙ"廮p xx$+{ Σ\Np7dOGPbqp'$ug dB 鍧% ?G5 I >l[1n;:q9PHrIP77E\q̜֐vq5,; zXA s {}+X)8ϑӯCqL*2zg z q[6dcv>{gka4F3w`vG'#真ƴ#i2pp99^`dҼ*^y bc8H|AT㏘`?0IGo_j:&Yx!r9%Hn3i^5n 7nˌ|1ێkOrʪIvN;HPc3VABV\17AӮj ͘#GbxaqxR n9d|%pӃ9zWeo x69 w=s^Ӣq dJ'<>Ůn*@.x$8KPN0qW5uGb19^2ϯ֚rp9sfn@׌uoj&^3>VSZCs"l ל}| œq^u}] ;Azws30{p\W%rq=2{ʠc9B^a-/ѺGx#K 6HGzړLRq 8=Awe.lˎwg?bNX8#T70zu9=AX}= vz~|W^^Bvƪs^ꧡ%('{Tcg*iGv>#Ќz}G&hQߌ3cЏʬ(@r1ӥgrp/#OVXo${`zd2SzS* sװ9-ΕcIcl}); sG41տjLw dS9= Qm|zSsiҙ)_#(y+z ߕ0/ Át7|BϠOޛ@?JLP1p =BO8u;d~^:s8~G< =ǿA\] zS7zrOP{Ā;/1q;Oa? p0ޕ&0?zw=AuF\#?{HSn9q6޺aqG)YG㞃׏900AzS~Ў+e'2Q8 ԞP$7QJAAאO}s?5yƲ3=-n 2 +GءӸ{KuQv8>h<3'<ڟ~A&70})9'<`As839A*`沕3eSC=T9;_I9>g$>iZh 7H-4--ӧ֣fOʞg]n7,|;)Z`ʕ2tL ӓ_-j:E^TvBPz^v8o,u%޷vny.aOLu~#8SPI6bs'@> d@~^ {}OEpW`$rW0}yz|ߚW~~eN{Iqڋ@>GwN1NZ\}jO,zRO9x;gS{}y4t `~t!_qqqDZ)rsJ2n' A+𫊾MDgӕ8w<Xާ،⻩BZczH֧ O»aNIԷQvd~chp?SO1iUP) cyOLqϽ;`Qt :f@kbO/dF }AT\O<<~s(;p@>J``9dOJGCUKb1x8F@9v11ɜA}GsB>в"]?m< =!8NN@RG9gj1~089 96 zt뚔G#0 IJd~_\ry0zw#!<c=yퟯLhqyGzp@$9iQO`AS=:d'ғ'tx㰩JScxiQK=<,\j F18'E'r =N:cY8nmLzu1rxNԆ '99'TEpO^}_Zev\r:p8Gah x<j8[$b̈́$d?*C$t >@͠c< pS 6$F?wSѣ  9<9ߚ]vq8'q{'p'cs(قHg8?s=+RܑOCϷЎ܎}sҴ'~ JA$8*?8pݣvؐ^zdZBb09Og#sqݑ{buu8N>Q9oÜc#c8 gpu>&urr~{:u2@=[`?׽Jm<*$T ޞ0z;0xڮn’@ d7d ~\.U\V'ѕ<3HK g&09su#۞${.xV(\Trzqj c7c8 c=sX|ų?˭R^^Nl}i@#o:G 9np0Avd8璧֚O_Аx)9' 0g'0v2}> nHJ 0F03JnOAO  |yސ<{uR逹' 48 ~}#:B ܯlrj9:b= ?尧 `x~FcI')Ax9'#qzT۱N8Pr=r{e7wN '9?;?2q;wB=3/\RFH{~0 p9NB1Gl>ۺ:Brr8縠<.10@~1r@K$zvzoO;A8rU8]Dp?\ui>8\yxO΁a0ʁvԮ^99=OaO ĐF[8rqϧ1g99O.@q'8_JdSdE=29OPx sq4 .TGӯLPs)?u.G<^ r3+cFÏFIۜʜl)8eu89_Z-O8z p3z=O(*P$?xp8>j.O_Cr2Ǔ—P0;qr;,IS0GNg]UðA$F}Tp<6[{"J9$c(ROzHS֦ڒXH.1bO=UvۏNI]lv0Iqӿ=FJh뎼g$8RrXVUs <"D.2A< qT:}~u3{N}xvϡ&tC9 3W=G~sRO`I .\f3㧯6aG-VgZ\a;ߝ|; fCrTǭz86xu^x^[H'pٰd0W ŰvЃ IݕO~<\{OIWoXDd|9tB9F7d`1=3B%&<*]8:p)w/k\*ǟcڏ.#09b ,=@ gX)2U]vm@'F;G8yLb=#[#}O9f=Aܧ̷~1;ڟ&U;W|֣#rrh#83PXI>Pc?GwR8l֚8P=}@c׵&'t cPG d 9^pG8?TV99';2X'#'ҟn6~c=T"H9#=3L¨ A0Ȥ\nX} g&H[w\{S8)!;8WenI^G" @ݜ*ߟ\ r6:}0jl7~l*?:GjpH{u0.F g335 Veu8@Kq?zQ $)MG˞n4[&0dcpg>ޕln6 ؼ'-{ S/hIAC.z:q;؎.ۑw*)8U::汗cx5{@rz}}wnQrn?OW!SEVLsO{>gv!1Չݖ=r:٭ұSCRْ| F$`"x =pGo˭cUܔ.1[{rӾh>n9ʞwh08ʎRy0991cӧpǠ Ql@x8m=y9ӊy@# :'n)O'N뷠㿽6;@:O( Tר ]DuybAGR;LHA n# @<:nzaGAn#8=AN ;Hzx>?wI=$Fze<'؎}_1ʞz3 gBNsx~zQI-#$qbHݞzaGcN9r `@ϱP+ӃHC ;g?őbH=9>bs7z MGg-ô%QAM?5j*k~]\$^8c3İ#bD!, 84jU/I|I(09TK| \8\A!$' C]T~^N=x6LY#r1'cD@Da6X۞8aj 9޸ /|v2RUeP|9v} 9pI<9< +v(I`lR]Yss8&l?2v3f<<'nM1C*TF:Gj3ݔ ,1ҪT\`ұlܼpXn9#NxjCe[8`G>ۉ&,UFqos9D'o>S`v}>).7w˟#B|.sR,[C=Su!XXNr98#F;0 # `?0^G| ]FHS<*_$7+` *1 u#>=F0q=V(.2X1c=R8RF2N:֩h+jVn 2rF <,ydf+D+X?Z+̼epNս\`ВzcϯuE&Lgo=F 50 0S浧aPiIٸ {q49Wj̅8䍣8*K`}rxIV <F@,xqHl\`rx=' =}GYK)+9%A(^ [y ~'=9Hv$yߌ\zY˧ 1L?7l['tZCHLcsz3H'qӠE8z瓷߭?/ ===P{ rJc2⩭vx>f#ן&q}z ];gT$@#ִߓ"N9~lןϽLtSnF;z;9~ǭ_OǏ{nI4d:W'q=G lϡ JɥF2ymJ>9'vt>?t3ca`,.v2:^8x*V=x9b6'vӸb3w}>%\~BspLu4<]F;A}{D@.(4㪒OrcFq3߷z v4U|Ț/0:}xfjyж; de3<+)S3XUq_\䜃{? O1v% qrFxғ8'nA_±4S#<}SNgF?]*%E01qX.ltNqֱhHOp>R{(>;u>EQ@\$=j g<֘Qx$~Сz܎sUsN=v 'F 1$(7.ɚ>veU$$ Mm g7Z||wec0+CH#RI یq^g'MDy*-S|myZ z3 )J:?ϝ+k}z͇ ^CݛFT$r)D2'@c $_tIe% $Hg1kʎYSIMtq$}a%R>쓋iKZMRMFf?1;aK sˢnʝ0V5.]lx֬=k-6滒i?6uݶ6cˎ+G $)i cwf-޳ {85N -o%7vŻ}0]kq2(qIw֬mN{hM U}*7Ya$Ѵ`fJUeBnlY%%>jjrV.~.B~𿔃 ,+ki`c3*JcB5qը[CZQ愝杶<3-&6:Lޱ5&eKKiPDKE.xl4Q[^X 7]3儂x㷨==u>tw tJ/K6~FjpM> =1 c8XM89zu: c`^:+8$#}8N.==GL{g$rxbԮq֔ 8^y9pq}*ۺzړn GˌcyN0>SW,9R\󁞣Яn6MN#=@Z_DD9$w=!ys8]4SM `u9'-{tULm?JiGV}IvqO ܀:OU㟗s:N5*o*@S~&9pr2nqJPUr>y /l~:7/Tc~ELW̙cP 'f#8 f.H(ˁqQɩ\xr{g㠫 <X0==LA6a~vNX`Tʙ`đFir9q֟g0mqaJI S@pz+r j@0Jy8OQx9'ϥKl? bqCx8}=*//=9\-HX:Sxtq#Or&¤>Sv'#zV508qx際m-!{su=H\g=SMt#&&ђxt\g#)09,3oy=j&TqP ## 4!$qО`Q@B͒9z1ښb* `PNzy3bqZ "eRsx@C >'?ʟ0=szӳ@Gק)b.1GaM'h=0Nr1Xxc9YsG9q4 >?( 5(':uu=Z^:p*ێGzTHoNȦ lg$qaR~X?_ߎx \SߧA֪ '-;r;s~? 8;;{B%sh. cp}3M f=p=st'0N@ Ibq M8{ `s㷥1 ぜn11<LgLb#8c#h>ur@\}sI$9 y|ޜ8wzs1y= z)<}FO׷s@*^3K}H;<팃9 0|c 8OP8=hI8x<9M*y3p:ހ$c  $sBNqMd} 'ړ3I ˃ԟ?3M31QN3۾x=CO|c9oPFp2OLf܀Aݒ:+ci#)/~h s|QCkzv&̽zPY arrcO18^?6x\m .#PަryAI'PцAn5  3|mӑǨ،Ϩ>G%dԑqǿCg8`z";1A';AHv GB. 'ғ=0~b0GE ) A9@ʃw9p}ӇLXp{ <{Ph@F8 __Jpy1%8h@={Nq|g(8@P0# {m$t@ L.763= W9^= v1:pcg=җ 1p4gt8=G?Κpv9~zdNF2y$NW9z;PܐA~< fבtaTr?Z@R ݳ?,h  w!?xAUn):9 ' &R q8W;zq;/!Szϵ#2OLs2zgzON3gOZ '@aU#L<7|@'[~3J6xqp0GR3K pr GN x{ǿ/L99 *~O nO_98u g!q?>#k;׿Z9$ǧ~qpN@?Ro9ԟ ۏҗ8Nc?ǁ*= ?1~P!A9pO^LTGq+.px<'g~{ԙ`:d[qN >#ǡ҅;qG|žbSInGsgqQd` G#0#?6qR+;0[#QVpVN1$_Gi2B/v-zUL,8 g$g=1J0nTs6FCc8* Pyyp#dzr LǘFyیy>Z.ѝ,Kϡ?V~;4#iհrR?ǵWyNaԎ=zdk8#nx9OM z?C֋h?A(%YH\c'nXu0<u>qhP:0NO_G_6zP#ւ20Ǟ0pԊw2~ e;{!Vц䃃Oʞ|ۂ}ѕRz}ZZ-,`(oH NrIx}N2]zCH "u\##9S'0x'-<O'{FpHs9c$$U!\%N:y2.*Njq8œt==)JrM8JMz*!!*6 3=ԞZ {OGWbݘ+8P>xl%UV1Gb@#N_|ś$WMGYRHIV$8n^eAl,Tt gڕe֛"f=s[j3 3G's~=u1ه9 2 GqUFId0PP;r*c$)=O QN7@g X FqTz ;:dc2699=i.m|%r7qxzb&['qˁ.@r@0c' I')WPFU{}=[n[F~ N s*xzbNz?BHE9 3(8T0;g1C"U{:ԗx X;2p(95ór:$=zwn˞w+׶j]{#dc'=H 9+ڤ8gE$`U s<пF&HIJBDk؞K>ޛprNTҐ\;IUaÂI9Ve\Tsm~چ3h<2AoF{y8; q@ 1MOa7 2L8(> Aܹ_p9<)20It91ː~HXXI$GCE)$1 |1xsl$ʓ@='V2X%Jgw)8Au#2v,XޢvNUw0$pq9)1S198\-;v@b\A [ʪPl`I!/ ߎjt9p㞤׮}*sW0PGr#xs8Y[v y䞕Hc #qn⭢rzr I ccY<2J+>Wp2w60qH$ʏ3ۿSW 표+a@s jl*Ӗ먉l0O7\#9fN3†`sҬ Y$g?O&"feI9:zҴmp PB|HץB-lUe<ö7Vqڗ8ӡg'(I!FH*H?{QqW,%AS>Ge谿7 !PTW䎜涰 \pq܄$r{Baoq ds֛OL'Fhd?(S\sc{y)F~t!zvzԅ( g<@={'\c>nJlc923ݱlwۭ7>ʜAFP X qz~i޾g8~\G~y~9pxgLs ?Zbܱl\s'@2zîG$"2A=rqIp8ׁ=^hwsv9?*_zph<0纍q9`889=NWJ:RO=;g<Jx̿)=zqz1{ry 8NJ;FHO sgߎ=Ȥ299ݒO^ӭ&;c;?ځ1~'8]֔NH&IJwNރ sH=Gހ_*^ğ}x䪁~~E펇G9 [=r/<1wcs={R~g_R`/R݋''͐%Li:(};V54GOt(I*,D{yOR:בYwj ݼsׂ+ iA_˭7Veg$2`N3m^iWRYܤ;*:8$zV7cvrd8Vs*239wqO ԑ1$A82O<ƥrdTc@3bNd1DB|qϠ H挪6 Jnj;@VHP[nB8t ==`qCVL( 9 q*/Ug$GQ񩱨 x`B튮̌0HvP8#@'zUv3eY)—QrpNyu8 zVUヌrޝ*0߽`C8۞Gs=)A$17sץSWeoN1Ԗӽ\G$v~s~bx=iJ7B${[;'ov=}jtm^29~OZp4f7P6i>xlcp}*(9`8A$Iw;8X:m & }!y([FFG$yC.vIfsڰ2sp1 z$=7q~ЖVzmm'IE ˮmتާM/P_T'rt<2A P0z IM+"TcoI>Ԏqq1s1x裑MR c/ֱv3!.2@18H w; 9A mO?7p6?[NO0۸ztL*ۢc=hIas8!ayu}=ǽ1G|~*}۞jF lpW# 98hǷz$wAi#]OROz ?ߺ'`qڴ 9^>[)b7:mlڮ qg>&z^ =38#4ce"&$ܓUX=9u57^QH9Ԍ>yGtswsvz58x?1u>ҼztecIʌMC=:ם/AyPz'<~gN 94T7N:؞xC)~l>:OV,`9x.1e^}h,Ɏ7FF vQvc0 dGBz}80pOS$q~'ڗqy^ԿPz:P^Ƕ(zPl}쑞jxRxVh_(S3ԟI8zjKQx ׃#scɧmnN:WmzƷ,scU~#3C9}s}y'fʓ?yR}޻zbp:G֓`ryݞ=r3=`0wSsӍ;9)T#h 'tJsrzpzj\ U|_N:{Hӟƙ3{drUkd+PF@8S##A:~FF>ldM8vzzz2ocgB3Hо8$oe*zƯygOAjx?@8O$Z5A76Hܥ=@ Tw'2xx\Ӆ^rlwRX?cU+،>7\1?ZƩ&dJrNz`53nF>Ax+p>BAB8#ޛ%M; ɞ`cp{ҹa~*1wP=9=9gk)}kksӥ+-28[g\ob$NIEmłϹUPm\B&ľ,gHp?(#E(8&æk>/:9^1z+S*1`VGsB3](isel9}2cUs&>?tzȮ/QfycT,K G=}}kuZlybd%QB㎹zIJW&c(UYTr@'<ԛm~_;&PrhpLc gsj]jQȗc}>nSV(ELj.@h,fR*9t$]=H";sZFSЭ aseAYz8ps==+o YhRarٿ3vútmeY7>ʽҾ٣j2Q_*Ш噑8lεkҜUu8*%Jf]ލYCx{Td%IQ@s^,zf?|:Jk}Ol/M݊ox2$wyqta,nG-`r>Sӏ_GVS9]몱o\4{iK34UDEBm$`} SUG0 lR;x“ӌy$]5RiԿ6ךtj-ۤ; Yv0;vt䟽 7J9ՈyGFQ#_LqQ(y"D} qӶ:~^PPr}zzT7{ W=8=OJmzs^q:t?ҝB;o˞3w`Ol-"z*3t:T&0N~`0A~('FO8>߉7y猎zJLxP?3Ґ}mg'=PA2z<'SQ=$vs:mןA4[<6z~$u;oˑpT})3y$8SmGG圓71sqxFE)"Ԅqy$lg_(`pOOrpC u)L@p3sNP8B{z~9j-OR//=q~7a GLn&ʡ@G8=zfq8z:a1x0=x FSqwErJL*enFcn;p8~8YltD;93}L# p}<++X19gp1POq$;ҡ =0O=9Ѱ+9t_#DB8=ǞӚwдSpݹAZƄ$u<{xxàG-Ւӷ99{gg8F3'0\ul߾)Ԟ3L=W|v$8'=ڜ윀ԏ\~ԚR#'m9#8*3ϯZ S;9~JC׀3lҚ{bF>'Uai5H98 =1rGGq%^#$u:U'f"#:F:<zzNI?6rAzgz9=_1{^ۮ?! ~?Ӯ2; cC;7( dt#>'S$ېA:q]-ȪI2CxiGq;;~#t~\u Adbj[/#Ȩ[Q}:rOҧ~9vc?l?zG=ڭnf'R銔NG\ysמ;wc` 猁,yɞ[n:u xD1g@~AAZp1sރSd\wJd88\|Ѐ@ی1Fy׎EQ,tL9= v&^yAǯAҭ\{}O*s3gsG8k=28D v鑏ϰǭKp8mzr)J2۹w'yS~.,3ǡ9DPǮ )9 ?SެD>n9یvi+c1ӏz cP ^v#bqHօo ql 짜 <Jy@䃞3N1،r ^?qJ9vsJb!;{a8P=rA'?Jo͞9pr?N}^b=G(=}?Q 9?('P6 F{ r{)zyސ-q<8q׷Jn}6Tzr=ķO|#&H`8zCp@ϮXy\ޑxqx`'NxS=N)1؞F0z=@D~G${ߝ;>R`G3@@'ӌ zsb p c|T1l=Q3ޜP@*ʮ9L I: ?zh)uhCoR9Gq#<{wP0$~vF g9u獠@}2##*Sߎ# CwOhǧBGozN#n0q 7㟘^1q'BRA^4q`_cq($!a힔ѻp<q};◀3;=~ 0gp;Î3ۧZfA0ǹϧ@! @` rJx摹#nT\u i9gϿF '9<|zc.B؟imwcRc$b8#pUv}8è8-:wz8* 1wrOH@oTFNH'9?G8( goA>^8\{A#vyz~ؼקNz:=Gcg99䓴pu|f]8N|cзt 2yX0G?xaL 9!?i gߎ 0ݎBDn>PG鱺' ц8b+I?{iu=֘::ޙqF[n=:d+ʮezuP0N0~P29ꁵӏZ# ʤ.Iq yc$' '<xcpĎ<Ҍf9PA# dc <>)I#HIb9^q7p}~pz($GA<8zzyNӎ:?Q}Xcq NF;qoAAn3LN#̩pHb9o_jnpO+[H ;.㓞dzPJ%' d/^?%$`AzS gG'!wO)uN:c7uoI^q'\g<QFNT:*?m1;@P3@Q*w^P@T_F\p~?8<=()uzqp};A$$q?]D#d Č2Ip?.x`=B;W9*}GJ;T "mS^\Ib2x :uI|08ÀVOp4H]ۋ,{I ʼjH'Xtǯ<!څx?y=GzQ Fvl#GLwJ2;l9`I|[8*ņ^ <2 SßX62r0p19v(+F{fDvв*$2H>6d"`c>3*@rI# tjNAe펤u=)9*0I8p<}RHnYv|҄&@G՜$Õך?+^5IM`q9#lF޾#54ll08<7_b/G98TG9=GTegc֦@U`OPps#?3TO;w;л;X&meߨ'3ղrN-ۃ=#۝\HnFH;l`ggW 8RGέG\P3eٞX0\)0?3dg&\,N?I`P3Y,#y Q 0 7bk4l0J@0U{H"`);բYE]w ml}:Wh֠m נZd;F0S׏QW}9Cߑ\2܁03-O~ ޤho\Wӫ`ӿ(x\39= 4qx2p=ݴ gpr}zc1 m$?0M39G'pqB`䑸2=~{Rs ^ȥؠ6O$\bnp;@9%.v?ULb!t'N9 <v\;{H8GFmd v>;I݌9aw|'t~N}3s۸RqGN}h$=;` c~i?F={4(8g+~>? :'9N1#{ 1@ X@|}{Sؓ)G8۟^(3 ~>+8?Rxn^Qq6x?)3)1H4 F'v޸4r@G9Ǧz=':pzwiø8c ''צӑө=(? gs`vP}7ck$w0C?@|z'׭ Lc9!wN0I'INߏ9!G,H {qמx₅qOQ1 0GLL32QЏ9sKqc0f ^휐y/иnO< ȱۛ8 ^ۅ'FK}E^w{\ڲ?$D8K;nVFWr1|_˽oKo8pr9 N{ddIig <ӵHVy[p=ػ g WӲښnʝF6=7zs֤J۷| ,8qӎjr^V,b{l9SS'j嘰̹s=r3CFQFԌ(~V[ SԳd4cm;'s?Na $v2yڽ({g9޸^rN1nW܃׵t qGZk`#ĒH…< c!>l3(;BA%u,9 ~GʪG%@9U"E7d9C`]3R+m9S;`=:zp0 '!Fpҹ ~r AQ0^x#&w aw#>$ vǡT~ϥgH~| |㢕')>(OnT;FpO nG5qEŷ(1@\/>BNxX'pe cpץ jMyGW#wA<ӲU>{U fEC\}k+ml pCg\`qz]'YIqF=OT; Jc'n=:g=qVFWuO#悇ne9IںeuFvn}~8YU6uGqN19Լ*qĀ000O8s[ ۹ԝaXHzWQeBAIV'9h=9b2x c#ҾŨ3EܬUl^~cWQ3ש 0<=cL@ #ޙ9N9ql1Hܮ3y8Oqh`Xm@3Oj?ֳSHrpשcXםٝwG7p2æ;=scq׊o 1d85pϮ8돭y=EА1c?JoFHӎqH玤r8.y|HϿI g9דT``{ӯ#jE#5s+a|O=ӎ*:˜Y2 g*sl 2[9#O>Qۧr`'>ڶL=y:pzb-ק}kI2@ۜ{~uZ#'dtqdtƬs8ۂs~\IN=aFML~GB}=eW>cf2HSOs3S=L>o894BXܜd2s=zP$JW0{ZK.208օe d\LG͎_Nh\_b=2A<?00G=`ï=0?j֢lxV9 V.stI玿ڜnc9J,Tht=*mā'ֻm9$d1ؒs:bgG9=9λ! :7A?Z~qEtrʧ<89iBt<N;kDɏlgҘC60x峂ۨu+e.}Gm|8'w9Qʀ0NW99d|s{+Xc=)Bv=Q3\ -H1O G1` ^̑@\HV3(Q9# 9ǵSqQz0Pq||<)\88OZ\s>鷷L~ kd*3{48#QFs5$9sCD<r@ӎ&>I[$GLk'5@83#fN' 1vB=+m>z$7hc?\#5tDexd`z8Ӛ9_JRFcA>{)Jqn }W4tes^랹 L`\|s\:#-7uo~Rלwe\ aZ-=3wcԞǰ3쎖|qj1=+8݌%֙d=+j'=wm8j&gKܛ`; xBm05&g_Mj9UU6NN23fZ7\G9#?yگNJ\]-ǜ3{z^ 2&*A$rFAb:gUj7KjG&t7./.c) ZB qgoTζX!bÂ7c=5MM"Rsݾ\¾Km6Zf#1+!ifGH e#Vu.Y'80ZNqj-+kXᨤOJI#0īvp+حIێ1y=*pm,~NW~DeČzԣ$=_2) sJ{)6@'9ƀ9`FxHGoAt L523H?@ǧLc?㚝b-$ׂ;j,qF:e`/jMH¥EA"^Lt,\slg9^ vVxժ$Tzu$o.Pg#u?+0)W9UqoNix0q0k:t%>2;p1Cc*N:>r=\bpmN LuۥHܯ`9 9QI r(cp2i 玠[=դf?uXNyϧa? 4pIJ$3N`ISA< 4 {lp |'Qޤ.F';O]8ۑNYsqNZ)2LqyJMx{ H4tʃg_^ԛ>L=}+g:689Vv4T`vׯl z~Y' wsON#Y.ORA)~ĬzU:wF4#S{ִLQ8=x8ӊi=Le.y;z`xԧ }Qv==9Ҕګy^FNkH!g3vFR~$mxXUc<^&1/wa֤xDz #{ԋ$?Sӎ}{qsOpcȡA8c}F3tvD1z߯8>~Ac'H8ux>ݨ@A3鎝({r+)ҭ8,wh@::քO|9S]tGlD:`G_?# :WKcǨ,͎;w{Oru3{❟a${qUԇ '=jQ=#߿zon~ s{S&ę#9xu>G^?>И9nҌ gOZk(9N}:CO scTd=(FI.G$g/y=1`”tޙ sց?I#@OLu<8|av< 8 ch Ǝ?ՁNI8#(b;2wvr: :}0xd}iBu9:dI=hslNzAϷ? :B=zx=qppA8]i8+) 4p'=$-ۯ4vLtbgq0Cy;*<@sQ $r~ <j@?0@sӯ<~4w<8c9pyc8Rr?u&WF9B@c@yƀ>?r;Κ6pF{ҀwRA<sǭ<W<>^FN=yCr_LsI眒z`;8p99s4wBzXyPҎ8>SvׯN(q8Âc3qAq?z@tOE=Fq@y͌0 W<ʸnrE'ԡg~8C?0A$:c9q9('׾)6pIcלv\2; a WHrN 9zA!8#<}#Ay149X/ & Jc=@Xu8pǀ>\Nr1nsRP9#*Tg%r8/qPƅn AП7' C2;Gnyzcp<Kנ=i0cH =yAۜ`sNSLg{`Ny 3cx 49#z88b=J8q yn08 |Hz'?hێ䁎HMP :p t*`rT. \zd;@8pq3p׭&9?) *$C7 ?H\p8+Wm\m1jT`w g N:pprySOq?bnFۃ#Z2@-:px$.717g Ӯ8!sdp=x?JsP1Ҙ*q,H$c_ƀ$E pwn0;:1##z /=x)9t'83HC#Kqr{n[8ݸq@xI8H鞜Tc6~s9,}ԒTrt'S9co8"}Є?#01q֞wn`;qFz"FFn<eǦ:Gah[!$B{t$` =~SUVp8M<} (n7d `&Bf<pGAY%4)Fp>@IrO)8?je= įq+o£3drp8P#8BzSMJ"x+sK;wɨ#yUT3v?ZbO@׭$lp 8qsߎP+2qQ܂ƒT~>QSAQ9#")Fpz`st*trz8zOy8;~4wx} 󊰨>\d09=ޝrVMdz qT')}l!`>͹;{ՠl\UbarqgV < tKsV(p>`nqӿa_BlLn'jUvp 7 m9=qԁn8Rs!Tq\|բ[qB3 yJ[p2:j>iӡ_E?1^9*]UYweѰ 9 հ pv r:sړ2vªF܇g[dI)_Nz}j>I]*HÌ^IT"#?2;0 Ǩfe% TLz䁎9=ML$esВ}Ї}U/MmT$|{isTP,"?.N2Np9 Ub D!Vݔ3nÞ[27ga+dĄ7ʬ~\ {f5HM"O}Wi6|eC.N}ǭlDpЭPI+ϿnE{T XP{~b޾h#|^.1qVy#=?r= Rv=s$4}޻p0~lR>GC$w8n Xy; DzLg)mE_N n8܁Cuqp =N84`P!轿T{g•q pyS'댞OJ$ؓᓏW#pACy=OF[ z`у}оI'B{9ە9=y'&9 `Fq֌rsrQԏ@Fx}y ݐ:?.?\rI N{>)8 Ѓ p<ákxǎғP0#hq>\ߡM#h';sK3'x<|rrHxsl/иn~~RhnFXyEJ %WR.rvts$Vys&kWXo_r0 vGyZR|I^2Xpsץzu1NMA}8?Zarw)$I8LWōÞX;QdY0"O۳w0Njl&2 FuCx#r3j҉S<AzشHq$gn= '=F1L~ywR!R!# М`q4v% H@뎔D12;U˂{fVUS{Y)+mUyGyV%Go^XKgֹ6 NIVU|nbT?hSP8E #=ϯJB* HOC;HG 8H.2qem:֪0bH < Ie3995 }\rF t|g=i8d"}:,1 (xR䑁rF*l2-CW Q;u=.*}:FtRv2[vcm`䀍GvS9g 6C)x UZ8\[()av &p=ֻ؜6ӎ xnSw$eO< xAw8(<6T,=qKc2#A!G],RE<'2\>]T6.݌tغ1v>i?^Q 9yAcXȤh0>y:=_?ՙ,ԟSs6rʌ^9ڬ(yg"[&PA p3ԝG\v)vQoUOr;~T__}hF2rsNt<ކ ?8#9G9};:gҤH0Tdx2rT#z9Qy@;ߕvӧRcu'\??u(lrN_Ӓ|yg$``[(`Go8隌 pF@V=@霎L%6U 'pd?; ȓ19<`GFU^ǹ드gӑjHAbq9 q<$pp'!JO| ;os0I<ԏӽSBRь`:Q`+8jyJv8㠦neLq֎PRԓk!~sRAlԸCF:' GT A]:T8)GFONq)D}\۞qRsEPa<81 3uy'2A>V2uBڐc? g?q s{+sQd2+ -R08 I$^ʅH$m'=z:ZHвȻV,;Tr*axmB;N?$**{-~g[ɭHdgy:D ː;|]3I-32|y85X.׹ ν IOkj5ɒUzHWRxM:TkmJs9D>zZR[_ӤQx4#;mF>rsֹ7T8a,ɍ̰NU.qIKKJ7y+6On qۆ>Xi][`yE吳!#+UlRsˍ>]֮-C l$ %;s$־qbs,s?Z iy䩴ܡFBk ݽR6Vf`TpOSb=7d 2yceH̅8H1r98\Qe'g3VkavKcKV'[b׉u:=r)#AI Txz#=)|{88H I@@^q=AGLg{08\}Aq.>`BGjLCa?*2;d?;g#<xz#y89  s?ƌz APzHc90{ T<h_Q }z>.)>?8;{ cӽ4qg88=.;er1s3ަEsٻ:ޘO}ǁ?nhh!1)p:g5QrqH}3Cf@c29>ǧ׊^Â>ߏsTvRnE{H^z;aPx83O=꓂t:W%H"Svc=?Ȩ_A5%zgg=8ǥVn9'aT"$tg+} ?7's wQq鎊NGo_ܗ>u{ּ=W92;(v#8'jv=Mg=S=pwg{Tw8>{`]O}?Ψ2y$#ޞ8LcB_n^ y~}N0E瞣ױn1oM=1Ҙ=Is^OaPO|sid9T~sK}$g$z?i2z=Bht ?څp{ $Q)s߃Ǧj&<`cN}*Aۦqsg?OJaH<ēxJX `͒OA=jZS p9T϶rK _* Rw+u^=2}{P1#2G=A㿰Ӏn d?88w9=dr}^cT13O\`q猐e=x}sX3:R}D\tt$~S{Is\N>q$(9r?7|?s2N s͞26 =vQeFTd*>nr t~n79M{{[\> wg9<ܞA{R$ o =<: {Jo|%9rs=q?)xGu439' I iuO _ʥmTGL ': FY\Q'.Hqg{d{4vqp7C;Td g~Sی{:;G,;RG9#<;IoO(8'#oAq8(da@d=)Cs}(~ pyd=Gn}{S=8݌^4 pB';R7p ^4 vx1'tv:O :e}װR pW#OG@y1Mv ?{#?CBP޸ggЭ'<2x8!@?6zdf0\cڀ#m?w#9nOǃ.q=7;m;~n(;#<0=n I8=8'=)̜N3yr~n9HNx銞 =2 #zO%`qӊO U' urIG} t{SґA8 9zJs~ƤbgFqלqӧ9dgUUA8= A~:ӆFO<~a$v \*x pAy<ЅscyǓM0;J}>4.юnI`:~ 3Ӓῧ>$Ã?;Tn2I^=h@ 3}R A,O?Q7L(zHS0Oˀ`#qʐq >$r XUX/lNԟ$g(gi۞`W }c`6sמ?.HnzN^;c21$ǯ ؘASsW'8.w=nHvFwc8Xq=y!}@=!HuʃsR$Di *Ic<TM/9B ""ܑsVg8oqJQ+Hۃt=QiS "2Ty`RFE.09 O'hCu8'8 `{a9?'Dil䏕O䕆|99"s+w?(CsǷ~O^ m{qyhT6h1YyQ)c!G[֔!s ^zZ I #1TA88瑊{A~s{U#ؔ|p19<0z31u@lp}=j!A8 8?1݄=:entr3H#vیK$sKKܖ|9rCO ssӦ1߿֪;͒H{oq/|n~"ǎ:>}j@=9AOM8qc$|U"szt s欋Qu9(L{' 088<~ӂccgښ&g??32UpXg#֜w?֭2B=|iF%\b<1k T}n-6dn$a'dg$Üܱ mq8ekFw:{vs yxpy l(hIֹ:r9*Q#21+K.eux< ܤAB9\w޴́F,~RJ`)eS[=HҒ*m)W U ܌ïj,8%O͵8B` yf#I⫙ʹ$ 8uZMdđaViH`[z#L'~$]q9^ ޘF< n\ rA11-8Q}M' y{vw$qҤ- JT!V"\0?0nY8$nPixq3ޤDXm_1<w0 SOU,XdH iq(;GJp8L^6B'q$䰌tU}+ĝG_Qim Ăy'8xF8W$mmq9$o~ou3`sC 1;Q' s׿<{ @'}4 Brܜ/$c}UJϕ~2 0=}sV1Y`ܯ5 $|3 4F FBX.׎*[y [팸$˃VQ=J%rX[$(@܆UBH<23Z 76# y<0s`d \`қ$䃀z0Hmp0ݿ"jt2^m94H͸'x8ԟCޅ_ݱ]˂Ha>xlV`|>YאTOx^a Ź }3٦2^$y $5+FqԒT7^}*^)݌W܂2I\UFذQ9$HxL0cڧwr@``錊i3ps50,>`Fހg$ c<cByrTn.9۴s(`:ӯ> rr\pJoA9zTr>[cJ8 \P1n'9J"C{oBFc y9'XFw `{`uY@A@ g})C{-Zҭ Qs0x rrrx&GcH\z|㌟N[gvAP>prt?UQ <0wW3zw}9"{ԏL 0C'@Ǔ>A<17x뎼}}D r023$9Zw=qx3t\PN1pz=b98{,11Ӛ%t8 ۶}d(8 ~$\TXޜLJ]F7x-y=xTI :?IXcsg׏@^Ò#~hqn 0~!=?ˑ@1#`9tƔ#'%އ'Kð7tbInNi\r8 Ny1Ҁ8r>ar(Hqϧڜ['h3H)߿_! A>)䃎 ǽ!-~Խ}q6hyxϽu1@0;>P>$l;ӡ9ǠcInpw)S?H{3E0 pYyR88_\ds]ǍÌ{ 8$_JvxcH# ֕iT:y큟z6@e_N ??|J_ *,Pt < C3_jGy%z`??28Gs.N8& [yge-O`` >W79$zq^&$ x,F9*~'9ϷyV0:wDpPKIq7ˁzu$:z #qc r3@zQqtOמ[%d| s6y?.ßhccN3$u8It%:t`v=@x󩾦orA$ʏ}3ӵ dc;N8=4\Nr8UJzgQENH@Tcz:|ӹ7{c\?CiNH;q] 1``NԀ{zuu qGxUN>{{d'~*ǎ9}xCV81ԍNǸ9秿סBZ0xʶ8$rxWvz1==zwZͲ@' uΘHQ<'d ߒwx :;eX pH OOzhFܨ y>=1ZDOQrWrm'=qFᜃ&dN:mpx3Lpqԟҫ-v1_3qp Ћ:t=O^ 'Ƃ Œq ;7p$玘Cܗh'H:ïz۰~( 'z>ЎIx rOi僼 098$c1#b;E\@Cc#-R2:<'h|•^:[cڗf[gt<SbBÐp8!G^9jP?R}K5Sc g9 '#ɪ[Nr@+tuRb" pn' guRNʬ:c? ?:kC}Rʒ*?5ۚqRط$p{wW_k;z(-}> V1߂GStAMgGۃG<p?.kI#^O8N>\#ҶZz1xbrrT.0}>ȡ=Nz 3}wrI޹;Fr1wkCB>|tk>aOq#?r$J~EJ[ 6Orb/59P r;uRr>b7} ygcK^: "ee#$GxUG<[hl@ߐ@$sk0sW|2>V>OĽ8J54=(†ֲ_ -Y}NI`v5MŻl"2޵֠ۮ%pC;(gc-9&5ŵ֑1(NHX }jdczQAʾkQ Np@'yUw.xKWf;HSGKa9"=Vq`r];n2vƻ±%rG^ Kē׌, oCǵkjVDL04jBItWӎU,٧4vTz.eygq[[:,#yfWTq+=k+7iNmjR pFH 99Sdq޾5~\vRsR'$c(B3?Rx0OQS(ۑׯ<ո$st98Uݓ)Y\Hz7\t7n֒@hpT^}>L瞄w$zd88n1:VщjVI8!8>P9\t9A9=9H'iqzz}xʜ8F+dt3IGN>Z-,c;Aqs5{:`qLD' =3ǹdmpy-g܁n0A<S,`N={szqY6jt` O^N)|33 ^^@[?=Av.>$9|`)^95a;2>=z_nybwӑE9ۃߌTekOB)0vۂs֪1=:瞽:&=0{t9Ss#?+X-Ɯ/n;93aH97%|Ǯ20:? 9=Wm3&;v3Fr>\÷.; l6^L+H80}OҠn81d3ktCFN} `=1G _Uq <0p$;(ěFq#w^;@D$1˖9*)c':U PH Oϟ+F@:g*}\pG~G_ҟqzvʗ= 3ziyӡOo𦺈ONăǯ[ޕs9Qר@!H$toq;=AӞI<ǧpryRP8]1u/\`1 cG=9p# =az߀q֞ S \qM:؀OjtH9$cx1H @vnϊ&<C7lO=E<8 s'Ѕ$;S^OFE=(0#py?8`}zԘǞ 1rzt>T9~]p8{<:0=0;\v=p8уI2x= ߠ{4c^88^(ǩ/Lu~90!oBr8ziӿ@098j6pA Oq@ @TrA#qLRߌdFs'2T 1z zqr@#)#9}E )׎}\P$,G= :&{` p~\On:~8n݌r7={~T 9rxǮ:gz g裺>ZCCzc1*pܒA-=9⥔7Ђךr~nr S5 02I$p~^~݌ sY$scPhnwdqmr<~TCXp0Q2~2sTPge ?QK08#=sh0=nvG:Ss8 @ ;+u$ud~Bn $0 sO͸vМS~lr0!iØd3R 38$*?^\i'վxN=)c#?6sӓ\ti9'9^h@)!r@9,^?4\t4# A.@i@q~AҀ1;gp rщ? $pGG=>^s0ʑа>''hHϧN٤;r1AzAzn_*F4t8>ӑ֓w4ay<Ocv_i'N iEל';t1Fi屜~&ib 8cs:PTp޸AF}l0yFFq;Ѳr>^aMHNrp{uzӸ?o@$h7v8` 9 ~X֟$r8<JnA ;߭?ۂzaNAɡ qX0WM&% qz :npF1Kza zgNƨB.x#ܓiÓ <==B~@eQ׮ivǐ#}{S( F? ;%PH`1)  M8_|~pxcs 37/%QGB '׎┤RID2 8RK+pCa@t}F1ҧCHب8ێ6Go"yNx)~Fw='/k(ڠ dsL1+דNx_6q`7qf;76C1bFNzOM)Q9l=qE) oRPp0=Q6p1dg׿Z-Ǡ/Exvԝ#qܜj^'AO\UǨ@(2D^yB󃎹2zT&8>p;Î8c$oC0sԳu^XV$m GN)L^I8>*I<q9zm[2.\P6=Q\1Lzq[-wo(9'?k~D r{68`K댞^7ϽK:gb$(Os${['P r:@={gDr=1sG>T?( t'{tb1o#YձsOm#rǿ5)ڢg=ux3ksHۜ j89,@n?>dDbćn7l#:ҽZIؚ}J06>GXe>e^0nO*ݹet J5V#jnقUH ShqM|Ǹ/Ų#@S5Cĉ!_?/ {1*u`\lm!z{4ی#o`NЪT{Lz`! &c؞*,#~`\?/OƖrXVGVpە ڤ ߃C1Rx$u_O@z`G aPPN\.$yBс;qӿCNmF rH,`zOL[ qSFOS!WnqKy>bK ǩ$sg8U%B N8#Gb aB '-)Ϳ4gm8WЏSJaPѲp&K͑if .V?S~4vNw2C79. /J&pa1Ar84`#y6 F'Ai ڛ%j49H*~N <1=9B|$=`s7Hla̡#'9oZA9p:s#튤.;I㿿z#]{2l\8&;D_#(s˜lGaOqy9c6|z[_a7dے dyE7 Gp6sި{0 <㞢@cpXgLDN@pn@TuUwrNӓr6˞J$e뱗8P\gs)]BӸ{VbnJ홷v:|j(܃A;ӟ’$q#vyy݂I ~'򜒪 Nn1C`xlwD~bIo^rds4.W$_,{l(S Fz gL T},7;gq9J?19Ƈ9+s s@p=w+jPg*A{}Zqی#~Aj$ ́e G9;r@X(rwYY#`OL䌐@n c׹VrUsZZ75rӭ%@ruapN8vp2?5w۳<h{4:x}A:gԡCٸ}=aW;I!zC01? B ˌ~`ȧsFvϠ9=('w?x$ӷҔ S{zA .OjB@ݶ_AoN qG?@8I$?mG@ ?3IրW=?K = t R20}yA@Wcpq 9>iryq֋@6vax9N}(fa ;u n7 {SN֕A~UI0yF3 }sltSa@=yJ\s=G8r3@98gsZg 0zRO8.G Ͽ(8)c?Ldex3:ׯFzA9c^`!NF8s۞(l=x`owc8_ @#B$v(N(irǧCzn#1oL1u=8\8 F(=^O@CG;v( <H?=iI 6O`@; QGCc[G\(gFxd1V|7q+fslJ[?AK.pdE3_CP@$9;UeS0!ޅ+$j2@FpySvn`NݜcpqZjB֊6$f @y`qȭA'i$G#zkkS7$TCc4GH~p;;9KRn37@$gAs<V5B$+1|T a!mB6' r:kC|G+ 9[ P`y9%<!ls䁞tuyڝ;AMwYJ/̓qӧ\VFMw YIQ tW8 R9ϵb1 gݫ?Aő~nF P<㿽YE܄0rFI>1ZQ-yۧ'zzv+>azFW/,UH\(|TÔsQR\aMOR 0bK{Y1T]%OVv66`p#`G,1#\3n32 GFOpN 銥l~.Pnbs2@aInUk)ĸ2'M{9~N}21 3G9=~){?w P1$cR6WcKr)seq;t}kW7#/ \޲4xmPc'=y~`ÒH9y(jz~l1ְ!`g%]S'$'$`sӱp&r F,yA{V H \# qsֹ;ToK18n}j!zH%d.RqؐXdКfp]x-F~|.zۊMjDFy@bKqؾR pĸF>S߱1In93P@qؒ=t66c3/@ʑqU =q\~o7n e8bI WVz؜-)bA\+9\ >>gߗ7<܎1{c4I?//zLI#OZdu9Ϡ8;GtLٱA`zt9҈uL g==}8dgNdZUDZT>s\czRENH8S1Ր=r@ u^XL&;g8;?*c=?NG^hy ܕ: t$yrrle)\i8A' ۛ@Y;~NB屍{6 ;Cۊ'\HAִng)ՈFއv18zPg؝(?#>R.y 0ӭ;^8\`S`Gv|c4;01襺W#syjZ4Nu@sqT ?y\/7rԆjj `לw?@z 灎.;EXn94cLkTSCr}pNqמ]\1r#<G-*J:8?> qI#sӊͬΊxe= s8iz[DԜܞ:/p 5Bp:8 ~z*=OV'1uZ<0]8e389$?1IuʮF \ME#Qq5":r\F瀽_0kR[4^$sdg'5~lj~]Z"<` W F7ju=.l `㡯^UE\leI97,|m@G-d^vC_$%HGWNHܷlq yCpp|G$+pN8s9R8k]8L.r{vu2 I?3̮bif=ҤewCP 냚Qj9sr9{V~դ:(mپ2(e-(p%wQڴdiYd H?8K-62F}SCn[84)a1,邠o ۏN*BT۳%s C+LBWlc CpLT.Cy!o2#Gd  >Or{*o vg:Ca㎴SG2fdbYvRy=GajZܸYHrI2'E?j4rŽԕo&A򔘟Yō22's#lg W0:X=>]"MkXEْ)ԌDeRV6AAx]59t ͪm;D$|3n-+4o9utۭr\u%ngfv8ܪ3?vv㵳-d'0iIUQrzjnV۔w뷡gºΉ\X]Z#3jXA[y%OUjNJMB+M r<`3N$^{]Q|7Rq8IYvH$m98cqL{WAO\ҝ^ ֐s=xLg?OX=q:ҿb0HlqMi}c7LcmtqצNFXHIfPv8^Ǎ^wcgm8-d$-76zT``9sOaq@=ю@5REVeqל۟Yx!qOҵ8Sg}Xd9=[8ʬX7 GV B; Jo^>\gu>8}) du<~"%6=+*;FUtgqc@=X3xV5dz<)IzpFLZ;i@^z`)$^o9%dsqB8nW$ܓOzGrssrIiv@?(9#Tnd#gp;u}yL@h@7I'vJ#SЖ<sv?܂O=\3IPdzwwfzcy:G,i+}sқ {9h#I\2aQc'BUm?ϵ* yk:g pN{2yf> pOoץ&`Bޡ$g r{_\f@S##<x5]9gNǮ1i9>`w?Lm c9y돥?{){)' qgAyJTcpGE8dtv@ŋ{=錞=xd}ON%b^ǟEtj\oSwnQj!#ps֐9B[qЎ:~5dwgr3HڤA猌6~<}zҘc# wOZx`mg99?7r==dܐ{?NǦG\W[BA7\oN:ӽg~|O$ y#SGߌzyr:GzL}NJ^1>43z >p}!$'ڐ鞜p9p=GI@9Noʧcߦ{st(;8R99}*Xb:dA~id=XcT{sd#8^zz46G{q֒~|uQGUqR 眞*8})q{(\s^8ϵ1`s;t?0 ){r0Onh=?CNqћӞ?1 @!=OyBN 1׷jN9=P xOOo…ݜup~4p;׮{cTp?ySޙ!0}q?N=1:צQr9{j\t9q#5!w۽?=ON#10Vk}R=esO~H\N}_~i gߟsj'VuTbjLqԞzQ3F표gbFî-Ex8Q߭ AnZ:wٽ98zu$Ks=sڗ- 3恍R pp8t(q9zLpG}hD(>\r9ppN@$89pz Qԡ9FG)Q00#'E Oq) v2<6 {z np11Δd8Cۜz{#;S@z:< 4H8Q'?_JRrH$~^zޘ ~6lۓa2117`}м>>l㑓xr29@=é}#L}s0H8XgZ1dH|{Úhn Ԝ;7c~_at7a'x89Rr$GR 9Oc'ϵIH`N8n3gݩű#Ry;@I#=H=lm'XgΤ'͞q%8<~)ryA$w=Z:'# y gv$q8;rx'22S[P ݠzryzQ%lssT뷒pCճ97s3O#GLǕ8דqځ 䃐[G20pK`Ouac' ^3އ;pd`9ϯQRhmO?ŞH#=i @략VNIV98^zv3s9\RȰ񜃓c?2yÑ( i;89 Y=xPŞAqFFFqq[lܱ(G%{Uw F6㓓Y49qt=1ޘ7cnrsڦFrJsUG3<}3I#`͟``&@'>q'S 0EIcrx`Jo~{~q<Ӈs398iOb@ `GRIRg؁F?Z < t#zsRcG_Қ,Q1S-Y\v3dzс8=K&䊫T@Ӱy #>[W\+E(px<ç^OJ!p;|zՍzc9#z֋oͱ>S=F;Rcqr8?M+2.8#җdm$dn'ܖ9T{TOOrp8 ۭVq,q{.>a׭(8qO֪$u9lΤ9㌜{nћ}GLOc O\GCJd_Q= 8Z1}܎K$v3ӱN1=L/ԖG&  v5֭2H (ϧք$s:d4{6zŊ'N57CŒfmۜ3Ӄ^ AYW>~m&"H@y *ݹ gޤlP=3֕T~Y nx_Qs֡du2\p C0@ (u#N#@RTmd0 .cHlaOr 8铑:U4V a 1?)XJXIQg㰡kc ]ž3`9Q<B%d@1E7`+{*xDyi9=YwgȡvtA(;?K۵I> \)9 6}iL~q v{Tqr=(|p7giK0'##e\}  č,W8E ~NFlV8 g; B  Uao{[n߹Er =9A!r2T sz9 v8꾟7{{?E~u H y^c* -PGaۯJl͖H#TP>bU8N9M;n <)9 $5Fprt*N-ݏ^3Ur9wnR8`g{Zh w7$=sW`NaFqZUB.d g 1>*pRYWvyh!)$l$`pFX:077*w^b{SJ9FIڣ',O[As&OBnr1d~z_rH#[$>Ea8In\\zLHPԐzhsrj䬪˂rBqSF=t^U7n9P0"9'oezuR?X㎸j aJ:w<` ~Ck}Lv(b`g9;W H61ܝ>*38rzvNi;\+pN܎XUV pFӎTqG>#'Fp@wvnJ/SvdN3g8)mbṤ5<@IRĞ98Ok򎅣v{,(qϵb΄tQߑR8}q2 |2[!y1ӽ\w9\pHrIAӠ|,%vC8?\޶czqvvݠ1皸v;)$iyso:sqy#ӿ~*1cؑ ҌRS@>2pH=) VHr3g)3NlՇ=1JRGl}A9aF1yK>$IP/fs>{0I'iĒs@ u;zgu?_ZB|XO€F@dtLNw.8 ~G{sroZi}x灓=o^R)@\{w@01 qjU%p3:-ל#LowLS8$dF4 gNTI< u$1$mq`bvԂ{NGL㹩"r 6x'yn}O>rCsw 6xxv$9 21qڢ> ܒ94:yWqN1s.2sW2Aېs gB;z \q׊ Hyt$sQc-1}&B0rOQ=/sp$ۯ\u2A ԑ=(,28Nx?$G׊ ev(Qp:$84'#OO_b`dddc`>%B' H뎘r~\cr2rǏ֘s收`x3W;Ípl9! #qXPvqٞyVFא*dO95Absd~).y=z}+k#]XdHBNprxuAִPz38^1W%EM=z$<9vd7r@ߥB-:,]h63sЂA`>\uz*vf*W~lE?OlS_q%B a8#+r-y$H^{}Gz7y|iIߜc՝)iӸ?Ĺ\n_Z#O#9䌂${V2q ᘖfB{rqְqd 1N+uDL 9e8#ÏҧOT2i%̹rԒ@瓂`gS$fxS=}AxFNqZFʘbF: JĜz_fv9n0FN@$ݽ+U9u`1=Ok bwgQd#\^Sݿꭗ'iӸ=Rc8 R3@#ۧ?֫??1@2 .j_0ѝ!:?DduQ&483$1c_]'?*y?+Ɋ89\Au#@m40/Syn6I E>GPsԒ:y=C}O*T>灀1֔w}=1VGS#@Qp6>`yM0c'9$dOi<8$uc=3O%zvlOOLӊ@'2zF84W$ rG9n{)!s\rڔG=$ cg6I'#zPTʓ p1gށu+睡x#qڞ@GSjG vNq'5tm S6䜢x? Uct* zϩN^eʵ+~rG;= Dn 'u:gl*G=x=u]T?Ϸnkp3B>C+@['ceQۇGE;I2=X1G8ݿ~lq8H#ԞOYGRp9$xQ==yL(#2<(9=q+G=&ݤʘATpC I'+dh\*ZG)ʱCs9P"oAV.-Uw+|B@MTMēJ-DRXdlGPO;Uʪ:V{ݡ/ s p'Qko6nU#IXߏ *ǣiD4G0BJ`@fKFϸ"Fʅ{Sy^ע7 졁Ϙ:ԏaOm\cvy 'W13Ԍol{P+FWBh 8뎟CU1p9a8z qYV!7/`FF|ggg9O}$* 5Z'rzsTN9ǨOJ*s٣=Mg3ɟ$ǞBФ@` <ϰ4+"1CnyqV]{ .юs߈뎞! >J륩% 9Sא19+2#9isbVȎcׯq89R@,cnv9!>crQyrr7qU `x>qiq'j0aqH8#9mr~~ R~3>r~bzҀ!$*$ߏ~|ۯ|{c6~Xu}u08?~qcɤ1uO@0~_sdx,G tD~Cvs:g5`r:vkԍG =c#?tޘoCB..>q׹B3:j7p:}N?L48)#㎹)x0@?; m=qOlu:WGqQJWs׌iagLAFA{Zpzc u9c]w#Ӹ8`3؃|tϧL^:;ssۜdMnH޴=zb>~N:y?MK9ޤ:vT< = R gzOTcr?;O#q=+Td 6/pye*;891f&=v瑂2|tiOsc<`9$jћ$8oW1#r9ni#;=I{?CeSo.1֗Ė/N3: ;㜑s ?ZA<;1/~ahLϥ0  6i|uppy& ,B8zr4'Ncc1!GI Nh{nG!c6A#H' =shc0b~68d$s@sهCy8?Lң>GL/4uu0rz=aHNJh|gpO}iUxz}izG<warrr2G?0בԌq.=}&s{w?JOA,8@4}:IQ8MZ !8|hO1iA眖SNál <3sמA6Sr 9~\'y?.Ӄ~gZWR=glonj.gJ׹j3x~`2#j B1<6xg<{:dgWczh v` to_ւÆ@2 1 zW'(OB>`{q}7ǜc`I֐Н@z.r>#n* 1:O9S;qïr98$3dQ6:8= rqrq[9I_ÑTun8=\W#'>T86wu81^ҐF Ğxߜw;ۿ#=.F3z'w3 >{N @l0A֤'ݐI)nF1HGհssAӮ(@$'+۟ǥ(*X\}@.3[{ GlB;4EێFH~jP88P m\IAV Zo! rr1 {N dAU=<.ң##q=:Քʐ0 @9:uߠNNF#9Z@=9]M~OA?"@^$  *rs,:|-pI1玠Ը,:`2c֪ߕ򪶄609ېF=:E\cݏT!M9>j08Ϡ#M#x;r0{}n% z/9y>uNFFA}ZFU,p9ҽ %Myz%xQ$OhT8 TNAX3J6Y"ۋy,sxق`}iସ\ rއ߭q=΅$,ĜJ䐤pzҨ w/V_$uHZ9Ȉ$1#iY3sHI8 3UGrA*r§UWN*᳄`,Nл~BS~cߧTN]FI rYAۑFSdcrdgvSK|!=Ijk`zFwmA?xnTA=1J pd'g˴`Ol~52ɽze at20x{JL[paI<ԇ;FKWrO\gf8ܳc`Q AqyN|dhde7yLH2\pIH=*px`gnE_xިnau#=0A<yT rXp}3?CKLyISnBAcc,N6[6ﹺ=x=v`G~0K䓕`tAombx=pHR)V<@#ö89W?SBO˗#8N7 ۛnrrA`dU_t,@^2́Ja*"I_#%! ⡑ ێqOܤn9or{R($$+Q98'Z1f>t:- _vH%PV?vsŒ{gA\ߧHt9LI&'p܂;c=9H~߶q C= 9{ǭuads<(\qیHv==z?zLbu立9M!x9󝣶=AA#<#=(pyprI>i<1&=IsǿH8nq@ u#q鑁ۚg@@zx`AEsx^fܬŷu*Aڃ!ۻd8=<Հ#nHq^Q9;Ъ<`s+n6H 7<*h+k;i= ! sHQ>SbGC3ƱF:7ucЖci ON$>`sZC0 ?g9ۦGJ|Hep0qZs8eF!NJ9A$sVtt^rq6zm8m>^'3ZDU0,-G9s n,s2g޺E"7)ݍmǾFHsz@;A w~آŲYdO(pJqޮ(Qc!~n$rN9{Gc# ,x:~5:UU;@#1ޥl.)\<䃎 R-pIc;ۓPh 6w9'Vl݂r0c-obp89L7b)G+8qR3drʅpŒ8`sϿ5~QH u̸,@L!GqQ X=y'h=.>I A2kqʹ*~f)9j%'5 787^*k9'$/sҳ&Dpj#8zVկʸE)Qvk5C2n~G4탞ւ`FrV2ݲ'#$m+qéɎtoRA՛H{d~Ǩ)8\=Kr:} =;T:dRL翡 \q8]<{uHs~4e(Zh!B=u׎5Ӧ:}p:cښ0NIۃ>c g+AWG8檚r,(#iW7LB68Nŀ'vqSc:_ƽJTGVl(z~?ȧׅS+9[>9$ʞqӷ5ж9!'q{U?xNXGQM&Ry'Ўg?:ϒ^?1u֩yݔ8_T# H@a;q׽]Vv9L@on~Z`g78n)6;5nX{z };U w$yÊK.\29=ZÜd6wT5!!GO֬+.1$:բ^d|ik.q$U:wO]ۊh;lSs`w֛u=x"Q8v=G=}S@.y:|Ǧ_UN8l,`t=pw pyzvΙ~8ONOzc^#v!H7HP:8yGG9=00x=z~8#G?Ŀ)`Jq׮)Q3g`Gl M Flː@?9N21W;rHOA0:fΪg7q8Y" Xpredu?Sݼ(YHS,98WzC#tוR_=H WaehGl业B2 #޽q?,-䲐7(32÷ҽ9Աi;pnoJgv;lg s9=:W<67d<0( AבZC"22AK  ɕv2 h"̮rA0>=k5/V9"F#i5HC;2(i% Ί=y$nOBFq{W~խse}r\T$ qi]NƜP0>9HЯr嶑_ FiHUnˊz=뚵;' 潺T<{-6rYIqI~\*=Hga>Ăz񞽪u^`- w踬i$yAw8s1Zju烁w@n=\02X9H !H85pqp'N2f|.F>SR #)9'hG 1ӷۏ<<`t8 Istp=C^9JquxZx2? =/O҅ɶr;s;Izg8=wzt 8$tNP˞Ug'ߚ,8T```ϥE!wqp8Ml9ʐsӦ)<~:.q9#Oc?*2px8'Na- '8H}}EG's{jMsC'֢e!z3u4 z'mIn2? y89$N:gGLwz@F A11.{Nwz;Mp>\/8*aG$j(#`}^ޔNT#,)'ێwgoojC֡7ܡ$}F?UP1 0Gl)N-܅dTEc˯LC#488IX2=2:ғ`=H3k#69)N00ӏJ퉓&99;?58. ^L4؜䃑'99#89q#*/r{=z~=<ypp2di g9Ac3Pl n#9z&=ݏiXd/Oǜ@Ud9>b9?ԣo_c^ٚ!9=?9kl㺇A#F9wJ>۟SҾvN&q$sG^ c\kPўz۸< s< lB{9<<8;GOR=}9G=OnqC"W׮;`Ӷ9j@Oq`u'#3_zn@O\u^ݛ$r;ւ/A潊*EWd)`)Χ}{z]{3~t Qzwj,o=Lsۚ;8PXr)1=:qϥ0p\cH횫if:{g@}I 3[4l Mi^<Î4orNw w#+{ ?ZOq` wYLN `{{g9;F ?Ҩc8돧wAӮyLr}/dgM~w9l>9L/>>~/F!\;}iïgMvؐntnsh} ^hJ6Ǧ`ʏT~`8Q>s2^ӯOH#q'20ro_J t=xqSֈrCp~`3})1q" ;1 Iy\u'ǿTK1r<Ӑ ;sU! zQscy#R%/(8G t=rQpqq"$)u#$=s4IKSPx!NxO'<unl@9 q֨sg8'0pFrw>րzn!G\c9\`g=N;m=1:zf^ymzRwAp^hsŽO<}OO,N8bNN>CNLpI=qӿA01dabN#8naS:`y֋Xv@}F~鑴X#ӥ0($RpPî8= gq뎴C.G{82[9c~8&;p޿1P$h?H$)<'cェp}{QI凱~8A8'y9 P=0G9g~ڐw29i})ۉ99뎪?\zxA91ڐ#\x=W"q@97# }㞔F@)u*HR`cN1Ϧhю@^=AԒA1ǡlc 23јn?j=g!Jxɩe9g%xNI^P1`g^EHFIy`_!(CYu€8#}?<`qg 7`I@<=V>I*Azdcv4nccچ1unU[8~7u^<DZNQIoLǯM-q8$(n;ӷ> 98ݑqӚ6<s9:Ǟ'n8SW鸂 PHSw\S@K`e{ 㡠d8vzdw=G^py%''9?Ax`zv^=)3ߦ?$zuIHې=T^ǖx4NG y^:CyV$h:N=jIՀ,1Nj,0\#{uj\ pp3ޛzú =zR㌂r=A }}jv`ӧ'99#7X1{0d`!v1VucÜBv{n9#< xTPp0r7'gObP8޹\Tp{ 3۸OjbIǮp2r&89p2 8U-h&[XAd.r˒[UR'~p :{G%P !99S=rHϷ]Ls~ <tuI,Gоh`0y#?*6:Ͻ5N9Sp1HݜdOt$I^suv?ГQQd2M`2O#Smu*7Г9T%c֥wqIއǯJt>,t#\'2\y3ð/%gǮr9=}C6 לr0:N+א:3sj7Om2:`9Bܑӧ=@J29یLLv1H6g_2xb!l ZP, M;d$a$y!n%vq{VFWT [bs*6ѫ:Q~Hqv@xGR@8Hdes1ݱ$:g8W:+l!?9WNGpIV@fmG*0d㚎u- C!9rˌcۚf $/03=Ht%=ɐU 37$pn?Mڡu`7M2BW#c9ޜT#~oFr#pE;k“IbAʁjaV;N$G <ґ/r#6KxC!FQx5*Cn?9jg8xIcBx_<# בQ~uQvGDz8InuN}?6T XHj}БQ:7#Nqx@&,>q>yv>eBQ a63݅\iU;7bm@y`xPq)Vr@=? C!c a(%#eP[i;rry)YR9W+#ds*KPrFO<r}i# W9 9SQ1-G̟:|#Z4iCqQd$сcl~; pXuvĄcir >ٜ!F^OR9| $ pO'ڵFr*?/KÓGD cx 8֋!erFv{wE[p@uW/8HoBs*tl mB2Ǎ=Vк >um6y$dpx@-NӆT`~**3$NAԊ+$e~yWdn)$q@#Mzu)ق1\yӃO8%pzjHv?x6Jێ9)~TUol"'֟o]~arpF9hƠh$ЌWFO9s'PiMI]}#·d8$|jc6zEۈ;qsH:U%2rSw]~4Y;ߴ;]uH^}F}7UJ0`{4vQ}9䟯;܇'xLpG';99Qn=77c:{~ЧI-=שOnCK<1asN샞8~$c $G= rm%rAϫҔt+c9H?JC퍠9느m>I 3 oֆDq#p?rWnO_‘Cytg[ |ӈ$ \t#zRC+8>LA18N 9'bquȠaӾ3I=N?<$GךmdKzqMu$/*oqCg[爯H'$ߨ 峛hsa!#+ExCp$ *e@29ڵwBX5֤aJXp[P2Fr8%TOA\N[SGQ-6(˻!H1X|c*72iPAf0rqןzns݈a eB󌌫c8SP˹R y9't;3w,w?)I G8:szNs+ @G*u; vx=Hl@H y\ F"K@ DwKe:J$J{߽?-FH?u'Z<ir39ϸ$rXaA`O@88㨫wXă)Lwu1;y[ԁ ѸVPq#+>?wv0x?s~c ֝R-I؎T[$9!<`M%bY2AP`<<~5UC09댌l 8m =uT%w7|:P(`u~H'ޜ%n98϶y5HZA l *0zzZс!~^ ;bAݟ^:R\K7ػdy9bM$v+XffdHwe*g?3랦g`N,1=r0zWE?橹GqcT8_Ds`:( 'p?p8:_oaCSE1=r/nӸycINxIշ0e'7/ Ña[ikgj',BcsY= @\pw_~j p\sKt%GDC~ 8Bӎp;AKCsJnY^ Jn d+b-8J \n|@VNrl`n3N` 8''Os\pӁzc'v9i<}Z:!on8#*0'W654l<{v8knӌ`\gm/1lqʼn#ֹH<99߽xx{xnC=?/;F1/GoAnzw`p֥ء8=3_s3F@.G֫< @cR.%7לs8@9gOz0|q$/OBNCm=V3Xܜޣ<}p8g5͎#W Ԍu+$l4#W9>)to9?ϥN )n=Y{u۞g)2as: *qǷAdQӦF}HL`y*ɇOldщOdg}^GRMw8r1ӦhC gxϵYDUkݑ}t#ϡz 5F "u8z:cy3^WkCͭR,*cՐ1#98ֽHBdvH0<($NHӀFz|\th%c?JpGby ㎆ev|c$qR{?5A_w N-̟s*Yո jE徽<9FlSۑ6N:> ʧϮӂ9☛#>w g#9u}~~4 eTgwr9'<4pzBaszLc wNCr3׷=3&۸`IH47~L?O1{dc9grPH zԡr{1c8!s9==:c7t8q0G$֘FG9#~R@Acj8(DGp1=sӃQl6'@ ss93HTdr3"GQrzgGҡ(8fS|ԏo=>'MxCNGBZy |lIIS\7#hA0G9pk*sJR~8pr1Kh@o9㞞~VzPz*pu@:g[1!AS}kIi(8;8N8H88cFH}D wtQdqrA#$) YzyǮzӚŝ9#%{~:O\ +sG<{}<0T H;^955덮  裱\^8CKv}P1[08r;k{W9 zܑ)?0;_233m Y6CH;*rQҭ>0,+6{*Rge|H'BU7!HA >k.y8$t|6<fNCL {drI黌^Ne#,HN=H ނϸ9͈*ߡYW `Ce8{ЧdRdXۜ AwZqVZ|䑏\t?F@@G#L# i#V$9'6hs9$w \tI=z>8N*)%c 9 z|[|"zqV@9߸e 񞥘w^0*j3yPgC4\p*@`I {銿'h?! q^cccn],DۀzF958:cӯIKQh\07(=@OMxMnL{#du}W8 qMh!T=3{m'>ֳ-19<׎d8?qx:f*d |āAlpq֗9$;xL4sǹ?o^Grho`q$dzuɥP:x`~P<''l??N*E~'qЅ؜($ 2 L3 .s׶:{=#:{S$ }<):PpyXc9N#=A#1?p܏~~X.!Cu'Sd szq;r)r `pGbN70Rՙznz($ |8Ͼx'ϯ^Wxd`g^NlzUl*9#Z{i6I#r9 t#cמfe.ױ$O?ʞr=9?cv~}N1N>jx98nY-tA=Os9O| C@R[/L8Nc9KAS9#yiySk8r:RH8- #9$$jQBc؟pqL$u==~Jx'=yփOR}GSG:v=^?na sN:'Ӛ};^ socǥ ~}1Ki8'}}iw=3~b3Ԑy^GBi ~^x*~P!;\U#6O` RpsO֨CNF~$qY`7޴Flz󎧫v)=@秭M pq<|/ZdFC z?ZvHf'==qSD/  t8Oc,F8֨?vr91 ]Jrz}2z'ҭx<: w'ۃ)X{olp~tNzrޘ?Nj.m~() spTcܜRsly8s'y88psp{h 'vI\Lczwd6ITI8= 'A>_)y˥0bg?x=:; 18֐ ߜIşקZV pO@?Q}^x#O;zcϵ1X8l9r = NG^ @ێ2'>+qϩou$~tN}1?.w>7t\JN.zo9:sx<8:~4}2G$gʆ?1c@.z`}?SM%G͂󌝽CcŽO^z0;c?Tބz0>*4p= 0r0{b *n@nlǃs@Fzq#',A\$p8bq=iӷ=@ "?NxcH PGnT89Sӿ^)A Y tsӹϡ n9 x{Oa|6y=r3)duq\NNqvg #4x yGTϥaӕ$.q{S4݁H?Ǩ:P45AO iۑ=uӨ9&‘_#q ,8=6ボGS۷z7'8?)q{6 UAݒ;┟LN:c{{Ѕ`g8?(i2y#$uzlBg䍠)b00IS,Wr9>~nÁN`s؞=@*Nxzd=hwgc4 qn'<s=y^$z9qF1cVԴޤvO^7 KS|\tY"Z#rHf#I=*s>^0U6ea@>oyz9ےNtR q 853+n$ ǀ3چ'˫_9VywߵJ~֬.9$ICT[z} ns?u"uH>_Mm_~H#zpYP:6[?"[rFnTc'SyS2?RB<{S{d u#{eM<)9>]{eF6`q s-A8{S3c=50{(9[#ޮ c S=j`3|rI d={fǏ$<(dqM+(>~X8E]lw秷pq=08:S$rN#s#=? dqߒ3קZ%mFH'Vy r={ׅxKu[Bg':}*gQ'Nby @v}{V BHTwz֚^GY{3 (T6A@ R#@zz0dI~s0F~E֟AB 6 C0o 7OҞB؞[2@9Oظ*S|`p;`VCpweNG\s#Rb[wvb 9#=})IONWx9'9pN(zbF Rz IPI;;F1#CJkoa۴` 鞘 _~1Ee`'8 H*Ȏ8$t1֙g!p zG'UtC|A07L1rAvPKd`)o^[ s14I)Qu R9}>ܰTXVڻI!ICF];-_Bv3Q$\ ,A 22d HG6q H~n8a00G=qNW"1G|eXz.Ht`s=P!63od(1xv /eialNܞz dd/݂GBvO#O0_a@sON%=|`dp'ԌVRzm~OTXڙq 0} i6ׁtgҚHN Sc~pkBYTy٪388;O#©lf-F|.W֬DC ,ATo˜P"ePᶍ8Ӄg&rU"5(B92ze$z3UFĐrIO(J@1#<sׯ gyUk2O^`.`bI|޽Bo8 9><=q]~rZ}A$g=ڻU/׮Ӵ8*Q3w8Qc8#Ldv?`Hw8N9(?)?/>y` G#1H$yzPvs0rONisǎy!qsG^8L*{g@u]K `{}9Nx;yT3PB=:~TyQ9䃞@=<`p8c}hf`ws{Agq8ŗdpؓN aP8nIzz`^㞠u#=x8 89F usϥ&0 s9t~ޛl#HhfYIqr93z.W{y`trrCcF2v={t-˷֓ؓ XwnsH=#n?.ANx u68lÓN#1\`q 9c' _î~mz s|Hs}HyJ^u9> xST |z]ɿL2͈?6' #9"F癶D0ۜs\rҤ}3j|zX;BFĀیM_bvCrG'3U8e|`~22uǹX?l…e͉$+Wvf;. dJo0n9_[sgmM#f>y;v `+qڻ>ϩnr[f ?<.G=EPcǰvU:qW?W"k PA9x#Fx r3Ԣ ߽\H!*ߎW #=NX!$~zdzkFTcCu s4M*Bv9Mv4{Fw,n!XG?js 3<ޛ2b0H[,Ϧs֧Svn[ {v aˉX IY1ʍn'L`tG!WۅPO'vN0+;k-Wkd\grӨ _F9VX g!Qߏn*DHԞF6] ({8uơEI,VF )ی.2GV8?)$q8FFzX=cASPܒ3gM;Yz(c9l4)seyݷSߚj,0U AOdXp;q(vn $9┵.>f Y \=zsbnvspr2CLY5^̑A v+}iH@*A##`WE3AI s@$mzs?Zr[cG_1\n/U^O~j#`8,88j͕`gu&fyFH#xQi-Q.aNrĜuƲ$\mF2HxWm>fcGߵB;@_[8w=y*\y x֛Eh#`w=kMpx^zrX(sqvVqqfls}*cy#cd:ϰeFpO?@iSuL?<.=zOR؄J=At38z&;8߿PG;y>|w#:sϡya);cwյ^;v"*<ܲ<殢}~.G&KCǯQ'sq_c<Nƺq:c#g8w犋/}@;sqD+NޙmqߵSiapAҴ2r3epH#<ڲ$$>coγ+ 88\_vvddt>gL?19!qA{i$  .Uq3w^)ʸzqֳnFuA'*ž'Ҵ#rup@[%R8dp >qZ+ ,P#8 91]qZHDzuunqV~7t#ϧ|S9ԝWہ3柴z62y4ɹ UNp08@hB`Nsd{֋`g19=qH'Zaʜp z;{q=CL v'w؏_~Mg㌎:N}2]y߽.8뎞Iʟad xL(=splgn kg<`\S |`cPu@uMd)=MXqNr22p3Pv08kǯ-lkMlF=Ar:dc9cz1Kd$Hb;vבQ``g׮?*;Qd Q˔b3T:{@f`L~sqH\^\EyR6ob8z~i&D Ž9߭wr/EH]56|ud.7"2!ܮ:blvG=1_C ]#ɒ#o6Hnp v'p9b8gA۟rN3zJp9: x;%CCAJ>ny韔c=y@\ x1$p#b\yKPA`- a8mٕ 0|ނH<c>r2ϿM9#v#+8YJ}I*1+w})8#8n)l#tkg!C3<@Pq~8@e=)q3N^sr#=ju^bC!GFq:VJE'i~nG$1lg ;[5-29w^dm6]m9eNX`isI6{qGB8 /@?A8x1uwϩi1cAs< vOԁtձG1#Wdxo]~4xzc*`q`G0:kۣMhxU=u%=^NG֟=92yӀq]Z\v= p 3ӯ^*h=njOFW,u9=l3r98$TaIPB޹$Gs+.`ۇ#1l_J& lq{`y۞C &9n2w/S M69ƴ.rv ;zu. SAP q'V ;Ӟzw5_Bbm X'z`Ԋ)%A{fnЕUGPg' t Z1=2 |2<ə;Nx#޴\ۺG|zZ5 ǢryJOqVr-lO#8^:%9珗isNr;s wrOXw g,rO_ƁuT.?uGoZqsc eN8?41ߩ~= @ +?yG`q;^'XrK~90 uݝ[sQ0 8fǹҫC {Tidq֔ۮOAZ=ztA^5= uwrisJꛝ=>nv0Jr9#Z2}RI޴n#'%s*`FGx8F;}^ lxC'{u8Z֏=GN~vǍ[rSz[N;k#=NN>siJ,o჌sۏz0}QI1qӡS~G8<=Yp:\ќw ߶gnisy =@7^ xN^8`6v.zMw`GL}?9'W ސ7NÝ?LE]8䃜I:H-' Tn}prBrH2:Gqq֘qF9~~灸NqGCxSWӧjaāp~_g8?w?1,8|siu|@{~(Ws:j >l2q:qҎ \㍻ƐG S7p8Q]we~l N$y_Zi#~`3#3#!\@O~du<|Ĝ)1wp0OQ`pg NWi>{*t>=-=~t0z*1 .#.w2 FW(8qRHnx mу;ӎF9xNZ0ʨ9Ў?0 m8?jMF;`849s^۽MvI'8#i[3>An3scC~ig%ns{b4P89.Ï_q'+`:~>Ԋ~cS&y9Pws==i>>U/\*BŽH`#u vlRt<@8Ұax%r csc#P $ndszGaOR8z9?ZB{T㝠vpp9S:aaP3{p;*N6998Ҙ.:>R;8 O\`*@~xHXU9=#e<:) \l&e ͻ F3E00p{^R)l7NG$q9BAX)IdӜsNHϯqSשANϹZ7cx8qJ'=xcϯz;Qp{sǵ{0\N@y`Hzsސ؃vAz:d@vzsS<ysw&%|ޣŒry ?9^Fs…xAZ]]x11AFvp8'^)A<0IѺ𦘇{<nѻ n݂NnL >HcǸ4opwXp'l@oJ#A<S%@ʁ2r>Rsclh'8g@'p;~ &y[?qRO!?VFO \prprpq}_@I8rqH°n\z@Ys1usi;}wc$gځaXc=8qzCzq@ ܌gOc r61 eI\3ޛGe =:gFM

`>s׌;-*ˀߜѴoAW%mI8llG>YSzҩvd(r?t'^9o`a}1R;npA"~gc2܏ҟeܟ2q6`md8c'?68#ILHlf2H-U~ P@G|<Ұcw958N.9B:NqO=9JyWc*= LS \;~^G?֤ۻo ~-%Y>a7s =0*z.KOF~d'峕\}Z{aq$d:~t[<H-ҭ!9#2<5}=HlU_?1'(ڑ gJV$YVq0~u]2 2y90vFzgҟ_#65~_seja9;4քF9fx</{U_&Hcҁ6L8%R*q$cקͱA?$qǾjhb2?:=%|ǖܹ#8RFA]@O#-sӮx\*QQ`9N{Ut@ pQ)H"(yl+0F8;q@bg֢;rTA֤d2JGsʀ8C֭Ŏ/V8_Z5_UWvr,zNgjd·*>c#loY(}" AFs:m(%]W;cr3~MiqOcٴ{3Dh`m@ 8Wz ;\(}ќ|ǭ_59l{ cj X'ҶNBߞx57v&/Sks)A\|ǡr8j3qmg}6ߠ;v08laOo^ߨ2Q6ۥ4qH#'PNBNGq{篿LRG KrH wd1ʁN8###m9$F{5q0:S== ' @p@t!g88dܞrOYI8?IzuP!'(#t";xCIíAoyFN<'ց1}s;3`?0;C(G'0:Iҝz9_ƀ=Ux$=i8F:pI{-?{RO!y>Ss8 qjacpO͎t=zw#zqI`dnss#<`K}v8Y zGI }[8EcێƔq$qm8 ='`1?7I<LSrymӧ$=FO?Q'%rA!\j{s2rsփ ~]= HÎ=l3 &#=*w.z 921=f=qR1ҽ/r(rmTrg=wַ%#j^PpqϽLֆ|*9/I GRg%IwRgkSv5t *`(U6}9ZCu9Hf|8T72#d pmY3f?LzL~Gg-xH.~a YINIe*?=kŀ=AV$6鑞;Ho5Q)v .7xr…9a`0?9N+u)1G^[qR`# q=8銢$IH\{ds%A,yF:nFlnAÀ玅q 6[9?bQ!&<}|=]^-y^nLqx=*m܇$#r" Jޞ. Qp>we `lԊ8A IMҌÌ}:zW>~_ݞJn/ ?D^z&p98\Xg)ybT62Xguֵʩۆ=[,98{*/԰'nHG##swb>xǹN >e9)l|vVS3r1HK52T#=0ú֣:s}k/{oO~Ǡ)8On # rsoҩ9u5|zOț;97`'\'`ϯ|ʼ^緅2A8=* =O\`{I^k#鑏^3' Fwc3&&ܜw w^zo˒F쌮JBv f 88]ҠRoމ0F|r*z|c~zVesl˄ oRfKgG ^8YmyLN:*O&E:u:3qRp;^3Hjt9O80O㎜~={1s5aq׍֐Wd LrN1cON@tcsܶ$Ȟ8*L}ONZkrҮ0 rpzqcw:*[#ߖ< "dž#wF2y>1M':z}yh`݈<3۟J탞0>itRaۏ}qܜ͑g$}:ff{0l N=}}bHlvXKSK;w烞[lrqQDwqRB349 n@2q@= I3[h!I$mݎ2pzԁ8-qz큎nʍUfsXqԓG#zFrFkv <x,?Oz:nfǢ8{d*ap1Az~T§?<#4cϥ7a{8^Y9R98wj/)y9rOlpǭk0 )8#>VUv4pH q[1 t]Mz3N`w cRCnZg9$mq=9#rk6l81OChns<' ?.>n )?x)lsR6?x%>i2 J)* 9?zޔωuauq 7nPsɯ$[7@G=9USסW&u) $, Ll` .cל{]zb.}ܹa#wy#q{gּb?n(˞G  s3ƽ^XHݸ+>y%yүĥr0=y}^ K#Twe!OB_Ϟ:Vr=@+է-xg{=lĀ@q֣od מ݀8Ԅ8޼ԈEaQw.SX`@3զXֶ9J d\cXZ!$Ct^ <{sSG9NpIq;IEj[^yI'pfT(#Li POawcrI@}*6(IgJ)c6)z(aԞ0i3 /FG'=^o'9p 7Ԁ7Auݎ8HW+8p:gi":˭Tl<'N}8֥ `爑IێHLڨ2h $c\ zjZdLn{f?1:}ΜugB*2$ 91UH>׷ccOBsxǯ~<KQ_O tVdHB:c9ӭhbz qD񁞙 b!=^y=qJ 8?xXeP?OO@#$S^grrvzӁtnv?ֳb*ss0x ާ8^?!!39n$`<?Կ3BdfzSG(czc{#;,.xscj`vs#^7UNO'9K^=Ұ'#J=Su/#<#<CړOc01v׿ZLc9;tz41IO Ir;@>'A)$s򀎃'~?43Kdzs8qF Usܕ$q z\ IǦ>8r3-׌g׭?,8\uyw=c8L^w )QsԒONԤAI|LdN1Nq=9Fހc(7{Ϧ=yڔcI_nB t0} {KA-e~*71u9B'8>PGs^dw=xrGp{z ;ac60&!$*rON2:sӁ브t3zwQqL xLm&098=Ij>y2r6n>Rx|p)xFTf<}~ ^Мr z 1צ$88KuӁm A9q錏iKsp8`T8/'<߯~iw6pvF~Qu4o|ۈ;FdР(<`c Z@7=9F>ԼŽ gҀNPOrpy'n:Ty%nhib~#}9^˜͜p gI+ٶ֢bNǰӥf$@_mQ qf,y>}i:B ߗhzpOrqQqyyH}ᐻπ{S~\ל> 8g stpG_s$_R9,dtzI d4#8 #ӿ^jXۯRs?@rHONʁ O ۱xU'}֐؎8ݱ_ђ1ی`9<:` vn1FpK6^(#'`3:g> d('| Ǯ=88y\=IP68co:QϸOgӥ4I(lo*#oC@ALLRry犇|؁׌nA&=;dqir7r RI=''Jygw:)On2݉ۯDHЃ hfx^[(*#0s1iyG\q xO8ڔ$$=rQ('wG8֜ bF{?ƀpGR2I87x8xq8?ORg郞<: X.:8qޗ?1˻c8$^v*{ޜ03qr?}{~DLLOr0F1Ӻt>_ʛܑ0'0p?^}lTc#'>'_ƨL]@ m'N0 j@}BZ$A<9h'#P Ǧlp=򃃎(B''x`?GJf9<?y~bc)Jc=;Rdyr0xޘzH 9ǧW$u$@9N;9?q ?O4ӐAсL? s'ځc CJr2C d <.se9ϸ}x nzp8?29=Oy=;tVrwq6>Lww8S3Sn!6:(Ka=(׷8l AnFCB{ 0-^\@}ZOO"ZqUl<1$N NxpIHsЂ@ lgy8xTXI׮ojJ0xO8T 愺*C8wO6ld vg`OskK (tnf$uȩA c<jfߘyr9S;s128Jih&GN@gG1IۭZD_R131Ŕ2ssVa?tcʁHRzv$ڡsط8}^iS֩hE$pOR=i@s# vB%U ,2Bg7V7^?[vIs\H^0s0e[wfDZ8q`r0=HOOQ,r9;#過?2XIvQ?ަ\t9HDž, 1'RyTܒy+ښ2`t^S=}qߜϚK' sx8= 7*qB*f(6r9gL:w< ǯNۃ1㧿?9n: 3cJsyzV=6` TwCBzm/%I<!T};ZK8G&p[+$+UG\fg"hRnR9 [8 Sσ0ȤD[2ĞO<:WV>NmMHn#xy*9 |38:bzU8 jzI7n7 H`rJB1 F@YX!SiF'hr܂L}In_81ʄ!Ko9 v?n)K}i\7'i?LcrwBUWڻ~Pi m8諹#[/=F>^` *A%$wh%2Wp%^zqE9l6г?7(eH1+QcOzD .Wtin#pV}'wOF#dK%! )ݜ}/$9%@G>}~}Ԍe@*Px]~C<T3HnWK*I#8T4 xbwn)أ;C~|v@>P4__ODLUsǧzUV9]+ ?~=G&9iÀ}yTe% n8F9ϩn>TS u ː0x }!u"o$A1Nga vm l&1pA"5 wX~1֘as '#+`r3Ksq#?J0I$ve9K vr-@8 ?!(9<|y>bY?&T(FX~vyu5*9*N3C۵4IaUՎrN}^@( K]dL\gq'qj|l+6Ӟ#n1ߊ\ga⫠"an6EvXls㞧<r@A$PsI0Nt=sԍ ;`$1+F%O@a^ .2A Ͻ7Gr#S²pzV(27Uq90p'Ұj3WyURVz T‚l#nT=s1O,YG s\z.y=I /Fu4r8^@-qƒߵ&& wbz ?.:AϠt*DH>큜t)ʠc9c';#:$1@㎄Fi aq۝ q׿ZLF 8$ {88zNrF:@1G%{8=ۀpzEg.XH'w~zTq9=>HY񸞽8PshsӷL1ӷ5.'+GLth&~0H*ܞM9@lgnr(?)`q~c>Cn8I֔ܜ_cNPIU  r'OZO\ށ '< z[#X#$`p~Sz ֜~c0WS:N! `wdrKxR x99Gаzۮ91'aač2r #N f7s'! Si8AN013scs`As0=G#r\#cS= Ir{{c? rF}iO= N1>ؠa~m8;G?z^0A!s1Z, qæ1`c?2qЁ?x}_4{x \'gcRi>0A9w v?ʁAxa 䂸`N=33rVQ}3zO>&KmYb :! Xcr a 8 spOz]〉񃷒0'=@=[d~^tcӥ6eSv A6xQ7 vGj3譾prG$O1 /E'n\>㜟J'SB;4 L]wnp(Tcqֱ{ ,xڤ`HGRGN)bx< -Ձ\ kp{,:2 1 pKl] lȄr nrsϰk&=J 8=2xk] (pFH NN#ҬQB} ݆a@׌3cy<,K*a [pP=2 6)v\7'q)Lɛʼn9An3郜-TLmR1jn@*+n W#8*:u3a=@A v7~zzu$m'g}*70.|[8݌Ӟ188 `<{w.$oS+:@cʦ*JK_l)#԰=pz}i9 a;ߵ4#^&Sqy@\VݮeY :!r>#$#* ysn}Hr:su?ZS:{?G*2B$dc8ֹk%ط˜Ɍ`?jҞU*Co>6+\c0;I8NՕCXܮrHxʃ=:{=r8b9}Ϭgu=0}ڹɗ\q9 {W{Xn<tȨ=qp9 o¼zC `sQ߯NR99$ʝ qq>T`wtEAc߿P$ c:i Qy>K! s?SSrx u=aWssx^O8A;}GZKCoR rx0rQBz`AfTi8r~_@Nz~5 %}rx\)H#su'#p6A ޹RHAz7ʹ8#%rA'g#g9!UGB9PÎ⡖B8RYGL`<z捿ONN}iзsH;F<\rsZq(fNyZGtg=8v F =x'g|6ӰcG{ULIw3H=EӌT rO^ygh# C1#$6 >ZrǏҪ3 8c {zlhl*#k6iz CzH9qvv'^1\Ihs399>$i9CQӞOjptdjzE#ge+8أH ޾kZGP=[0+b\$G)[?#ƯGI#ewl }pl !~bxlrQIw<$G;xe;@o_5ri 9 Nzq1TԏJ`7ٜ 9<"\d 1<{d##'os4yzGPGn==) ;*3Hz[anx4 a dG>秥^7*)ʸO_|9:1RYy<(c1v[tо7[L<6y=9,W 3cWv;F^M-]Ѕ.;Jw7(X@Asb+h}itܣι 9 ?>iMʼngcnWoOϚ*rwmgmK~fp?V2zӎ3ұn轗طi1|G^հ[~ z0WGď8^ONߍ]T %@lTQ֞#3H=:{9㓒1cAֽ-&d.p8; OcҪ8;vP19z풬d }[1: 7F28\n!.'֔@#lCMۜg 9n G%N6OPW0 #zeanP< N1[oPʉ,G>G~ߏ~Q7N{#Yd{H铌<~<ҡӍ[JİprAƯ*׌~?NM= ^{:=qDvx'rzl6u䁌A@Wz\5,˟`g8U< @$=qPy'80L}Z~ϮI-rIjI>@>tzA'a0Xcw=+M8 vqsMn g' 2 gS n܌vNܓn3g/?Sx$}G\L`E㌜߅p98$:Aa\nI݈Ͽn)Pgy8:,;eRKpGCcpqQwdA;~0dga'pGⲞ= y^}Xjzz';xqG3uG%tJr>:oO=)j:@N>B)}_N ?= ,v2s'G ߿_A ipH={:@&6|`?A~V&$VC@'q Rd<>)2xD~Gt!ۧOdq秶xu@xԁI9Ԏz 0F*OB6`4/ NԹ*9M`nLtR g2=Iltq\gq3ڐq:L\zS 8=HDɟ:9n=Ojnc[7 n1ַa61G_1Mx9#zgӏ{x}Vܴ31}O^tvځ׏;A3^xۚ> ww#{G~Onzdh NNzoқ87b=2;P`u#9_8p08xgqzi`t:Ӂ׷b}{2i=㱎0pq<{R}89>;i~AOZ3#~8tJ;I<J ӥ>'rG@GBҏ0?zryRʃ gS.6{ 'wn3LcL3h[=q~p*u#'<=HqϥZ܆3GyǮ}zV#0zF=9oL cyԹt^Ѐ89,p$;}>Ny+X8$垹ؔp?)NԤg9>NOp:*6g`Fp8#=O^1Տ8$?8|89w=җo^eqLssHz(Ќv'4p q8{R$1ssG=s'zcN[P?>N3#s@=VOF ׌?7N\m+c׏s@XoPpr@ObzJy\ 8>:dnF|pڻOJ8vu~OpqN'>e?(rnyoqFz#$p@oc4㸀@98ݓI38?}z |`A:qӀSԝݾhN188Cq;Sgv< "3@zo$`p;H';cX(~^3qyL M /̓d(Ґœt}zvn s+{#9ny 3מÿ4w'q#O\ \A0={tUPlnAHn:sAǦ;SK(=K`p{{}aÁ^I<aht(eFP8=#ZFnצy⡱46qq8@X 0zF$sPH'Ӟ09':>ё s'9pj.X`#98i]OzCB989^hl#(B q䞄q9cd2I!sߏBd3OOr/ӧcB|y1w.:K0AL~ "7]/͏clqvv 9'C0rpFF Bi#r9ҁu?0yA=8'r=~J8(MCc~H);88wޔ0ˑܳǞO T O'?ʥ8z&!~V'v8$u;vN"j-sc;vz n8=7# p2$14R@<ׯL3vOV9{gҤvu(g'HIFCds_RDxrNG3߅!9;98''qPR0g3`qK(fa ti`gɤPLO@ oz:0H/^8 0GnL})98@{cڀ2<thP99`pHAQp3uy=3;#7n>NH*>֐`7=Xr@=8 *OV'$1V9iH=sN}rx}/Ԗ` >n~cǦp#9N@OSV29y95 l@ ;Ёv-،9> NNzMF3)#@={r I#LM$0=O9֜1+Hb84+ 3ܯ2GLOCI쪽AsLH@県<2<װ@/<O AO3I\0=i%s+Ǯ}r~3O_Ǝ1r29y ۰l+R$pBt7Ej`2<*8c߭ZZ[0}!tQӶ}, #}y=*@}~#"فg2`=bGVCd+6pۺ E?~ '.9&m8'=}@?wQ؂0;mkN>#۴gz故' 10r'?·2(=O>k%`N ~<]1Xu,lq3ڤ?SHrIozs4FA9=GW% Пぎ)w=*$x}Aӟjrg8- lP3O=B`8I=yR_"A 0}@yl+!*N@<}sھa D߻~xy'jnڞMD$ۗCA3dz~nh8~fA,:{ZJ3ƂD3.Xب)8bKfvG׾3zUnTPc`䑀35Ilgi p9 W*/#$Cr k&i̲vylT |@T-n 2ۭ$ؗ ÿRX*`q;߆GǞ@G!wSb9,@U\FWI9PIGe%a$gq^x$UR~T,FNˎ%{Tg0 TIwNޱi0bc8Hەr=#4'??Z9?0BC v~2%Pd87{({ -g ast`CzB;gQ%d2r7g =`(kO .?>s~)0KRR+INI^G";׺c鍬61;q`ԙW y =3+p xuO ~HiګsQJ aT*|x} raO\}qV|Ux c s' #sʟ/ }85U'ז, ?uVé^] fd0{cH1Yws"l\@CHc匆;{g9nHHaX8=:SDX\I8U1g'-vWBX6`=N :!#R?v>% ! @`'=ߧiH~N`=@`Qqg'*U Ns< n#@fN3F9^:Mص 9|C\:Zj܏-nJ *unjBc*Xn,TSt6qNy |㎼TA^Fc4fyWn#pm"v\d q1A6O'{eޤz2ؔm.IUqpI 1<8=q\p8*w`J_}=b&(O =fyiB#=vq֐uާS$z ֔v ;~>!lqN= {Pؾ`r8ǀr(Ƿ@'*SK<Q1ӰF08^ҾBfԚ\&F:qb47 XdmrAl(o`C6xOƹߑKeH8=;zW~Fuw]Kni_<ȭ[6V~n`F0Kd1u6 oH %0p `;I%/vA' :{$P=W edngScۇVR#=dz``uj'(pvOֶ8[/BpIRK5$᱃ٺlzMgס8i;ۮ=p3;b8 lePlPy79GTKc'z sqMɗ9Runr=3=.'XqבߧԇԺqǮGߞqW'8==vQrՑmT y?VgJ1#έ-/8~*^0 d8;wfmī-Xw 9pTO^#R qOQCU񞧝G|ݍRܰ铜~1Վ9w zqL.&9|晷x y#.!^9mqL8xd ""灌<AdsןzopP8#ړ)2GϭV?<Hǒ|s1P*,G^ssG9qVhsЖ'8cw|b#=N A( ,Qs xxyX{xʉn_Lvo ?JًvHǿOyUuhFzt=Hw1_Jgy"bǥ.{a1Yn7pG#ܒ1owZyx8WVGe8cO/Qq=ֹzr;s\}(gqsڰ$l nx#'s+B㑌ӧ?Ve/""O,c9^q]JZyqO:cdu Հ±:Wjz#[) 8=J2CٽQs'+zyuhɸvJJ 9X?g`XP1d?6HAW>~kV(y20rpީR#PXn9 pjE su^IAO['8 v$M%[I 7yL- H #r} [UA?(|Qg):3 '9LFvr0_-oӾCֳcXvyYx$9JM[ =GcOzӵ S%5znݹ&8`001+K穅5=@vz?{4F(vTw\sWb+sO&}|^I6:(g=*>NOⴣL'* <,bg{5|ASN;8w^8NjZ{zdgh'ߥ@́x=NG|Ȟ|z} QCS"F>s}{2fQr61>b6 ޾-jZKBrYTdɫe#A \ r=Y9jV Gps1j#Q2Oz{T" !NTgs>I!sH nL{Ro)W(ܓvc 9oR3XRn gO_:gLUTi9@s ,rI6;Rr'#p<`tQ6H#oA / n;֌k^ϥ4KqG s79@=H9Q7%#r3hޝ>^0p=x x00G"z$͏\@ sI;~aF,1s=~}W'<gۧzp;<O͌ždؓT ݜ>8I$R;}3TI`7F;A8Ϩך[wl =[$t_JlXVc8¤R} զg$N;9wg!#P sZ#{ urF NNTǵ=x%HA{zDy_N~|f=۲{?/J,8@OUˎ8t{gӚ~ ^N{~񑞃?>)vsgzr>4 }3'_Pgp3>4\n ]9ϦsFy[gxO$J3߀:O'9-MKFyaG]?)%O'| ߐ$*3'pPbsYG̸Bls@ Sv1iO~mIߡ[Ĝ)2p@L`u?7S:$@N{cGLIb޼c=8o`T2t88R44sד# Ja ߾)1Wa==)/ $t gBp ^'}hqG#8㷧jC ǎ$p1y0prO<]c'#~<&1~69_cNQ~bKc'SpF19 d>:fqܓnU^GmBiēsӑ@J6x$ o=Ozhsg9~TxS٦;`[;ц]|nކ!W89 7g/OGЁ)\.>bIeszfO{\g $ ^}Bqsz:z~7w01Ҝ@NpN3R(=G~B1O׀@'?OJXdst'`I^B#C(o^z9ݞch /$vƈ=}4P:cJ?)\09϶y})g\RtSӓ?SRg1q8y]D79$#S$9C,~^ԇnC :`.~80>\{8?wuy?NИ#@9=GRh韛>}($'XRN:a䞿P'x©#{҂=Td`r=~,R1).dd?I鷸$ߏP N@;C֞8}:p1㯦yLL_PTd/N{A `2F3>($_(*0s$?8Iegzހdg*vA[oNzg~P4Eq9![}O/`+3q `y;0; 8oїP@9=OGra#s?9#ޤ~p$ :}3JnS} U$>~xFe;|ҮvrW~\SK,Xd`m' ZG:n+qqC_"B'U(_J qE$ڤ,Fp3@Ls8<~tX@(HO=i 89e%N3קZ,MDž2;8*u:K.:=_\T90GzC]{2P1:pyw FiU֭ÐN6~vSw;OAw|5IXLp$dFz{TN0@' 9OsJz۵8|f=G)SxoF<ʧV=wPr1hBaF*$p?ثtG$Uؐsr|vZv=NN1zb&Pp^R OD< N:)@=? ꤮w q# {a\I߰}~b#CD6?Uy~;?(nvw֑[uu '?j\vlӧ#gS )1NOAH# AR 9@/'#Bq>ϩ9*,QG^\sRӞ6}GҚ%Bg&=3ǿC9ȺYUg-o8Gμ:AE\\9gJ~k .h5|˪[*K#4h6۽sW- W' { R݀3_GJEwJǃ(U3BFK08;xykFY Q8URԗHgb O(xqWV^sNr}+Rc݆ʑn~LgpyyIʬ܁/W#=늘.d1H`` U= {vrç.rX>SAE sqR _$01L9$rHiE6@!BxRܒ6mh%۴ RAjA i\yI# #-ӯn;Ig$n' s94ǹ#v,sWޞэ6w7u3|B$Y,[nP) qRrO? cå LoF>NP+ x;~t3p3n ۽IoOǥg,s=@1]ؒlE;@2Y'v0 qel W13֬@$ ABTlqp{7\OLqM*VMi#F<{/VUQ1l?tR%݉p>jAs1t>񎵡,bA2[dӽJ̌$ 12MKtRpY,J0 >=8@XU8ڲ893у~U'!O1׎:tm`| =9d)  OKW:Fx;qN.NHߓ=z9ݺn$px,RÀ͜0޻x݃ϩZE7 c8>ܴ{I0 eeMu4a-Ϡt=%?Z dzSqQih[?w#=us=hVt+ӡdݕ9WO/E*B[ۯÁ@fcןžH0N:s3:y847#`Iz`D0j6A0 'p y8$}E7qtdwҁ9%瑓Ozp8$\|OʀbI Np1ءi=I;zg'p$Nr3\)ߜdq$׿$@.8 ݷ:r3Q9<9МACQv~tN: GLOol) OqcΤW'0WӮ9@u4z 4qAT NAQT9cۃz'0X:毊GbN A<^:qZٝGs8ǡ#'^}#~ pc-N=]Ko){'˻|c+x<v6`+/fzV*9$c @9$'ca>*٥)!0z{˼qT"$3g8t`g;W=@w(BG͏/Npp}j'N1l省ǿS֭bnTC#a၏wm*uqӿvE ;H#>$fl;K̛vz^HN2sP)lk"p\m@g*|Xup2h$] `?cN0NYxQ$'3bsh#=*08᱁A)K.;'qa$gX}{1޳:" X ?bUCow:{ F~f!]́~O ac=qP(UQo\F9]A'=zsWQ4yyPϐO1<$(=_od<Ix5; V09VzZbSlqG䜜/OL0r k91ss՘hP᳟|ffXslNG,XoC~f.@n uZ4?+`\n7}3] ٌ ɴW9U1Vq;g3lG2 nx]M 2nU88g] Vwr{t=x2r"Fkt؍ۂsqG?Jt z!{{~wJ#'Y1zOzfϗ82rxA1XOVcy;t9'=8'ӌ\O 㱯 >F= h>?kg9L'=0qΗA; 9`9۞ڐ8{=zװ)pH<nk`Ã<?ZKsxdMԂ@8GX.ywTnp(g<%y;պ3=;q`KnbFB d\S3u\vZш1(γe<0` Zq8C\R, `s'u^OZY` uN ݇8Zzds׃zqOH>ӹX_QROr;*(F22G֪:9isB1}*Q^> ~'#å]Dҽ<<5*ibpIt;x^:4pNqs^UodzZܰ#xPq)Wɜ=O=zP27m͐Ip8INM<33~5X=s`t5YP0?N@S27uG*d)ВF !߰?ζb<;:iV=T1^EZ@1=dי(D`G)Ќ{cI:=QҳaؒL{>5Mw2e>.z|tv)Yv##<Ӝ+ͬgu.$r=ڱ&o:d1\w= G;;PL.:Xps~bq{DЪ}=uTg\[mi$39(pqgd DcUhJ{fjsN6g'@hAK0t2,q*yLvR F 8uح*Kl'k9ٸT'=MBLLOg8%t`ݕ`ڏP7R@zcn1b"$vymbz6@dz{rD7$(pPr@,[31.Oë0FGER(l\0W;In9ǧА%fػ \k.s9sdϓys֓[ߩLLӧ>zd$BQLIU>E \.rRPDOqIvt+ijO#PFvN׃ǹG_3Qb!hy~b)wӜusGw3l7?L>4>7!B8s]0= Wng.&vLD ;Օ^y?3#׹ҩlO8ǻzqǚ11kdqxzJ@ Bxq̪8V$RÐ 'V0e3aqcH<)`uPXcҷ+i ~b,p"݁H$cn}0z 'wC3r%mDqV{0qziB39'$VO=1|Ñkd8$1'=)F c^ 2'=6qs?Lu櫺x݂8?N=w*קԏ~>\ۿi[[}w.0 ʎ{,|dsO ,'}^UR9-IlH 7RzUP:y럨X 0K [ Ӧ QOP+wϨg%'cn{(jqf|;ǯY x\su)hL7ǩϿZ|ԝ85vv0xAY`8?7w8֪pzqRztcלzԱ!G/O^nCǯeN:aN{|t=z) A#j9 @sRwpGqZx9\_NuP{ZB7c( sOA :v\qw| O8K&Nx8z܍ ǠG@tnzzR88wqҏ#<q:uB ǧ`Rs=sׯt8n~=@2c>^rhcՇC?S E븐qo$cQ219n [=qqh[`dלG@cJAH,rNp}W=@'Gڙ0}N #׶}w vS*1ך$= c^=*EeI' #qBb,nm}³#zAHp9y8~uf-<|NG? xcH#{zɔLH'`ui99'{6<u$sԃ}qR8OY_pu-} 9;T8< )=0# Ԁz?aO3Zd$>G >o$;A'Ӹitv{pxiF= $Ivz@2A=3ZB8窀xہpysjx8P3'n0:wϧ~)17,949 ''?¤\}I=۹4 ?{c `3O^2wgjw GL8Qc=3LP8 x#€oeAyMc鷅ǽ8rN##;S<8q`q$u{v3@R36J^; .89=G˞xtN3Trx#0GL9g7;f^|du09'=F=zh8,H_R3@ e=N~P8~|=3qrҀ |p@&p1?NzF8IAA< '=9}H>{N=}9=_£ g-9N8=hʼn9#{+@ݾ _֦C3͜Ny s?'Crv<=,P npG*YHkémzJiU9֦$422{sM< r b:x-H=Hy@ˁL<pGQyhi8pC=In:4XdOӦi h`ǎA'ׁ4# qӑN)1<ÁmGڢ3z10A#3H<~]Ӡ 'w;$Hj2~ߛ;zҎh-zdpi8Lsu#J:=Tа*,rN1;{Re!8x=«㞝3u R@$1A,|qמ ?q8$JgnF{~=А=Wp}1zӈߧG@=dvz(# bx1븕u9>p 8?*spI8$ 7Fz<?xFeqd^)#q,BlGP݊SsЁ#N)G`Rn>˞>Q}yvgc9$G pz{~y:#0Nv9#~p>\cvzCty{1;f}ߗ9O`s>7dԁ2O<.Iǧn(QR 񞞹?O[\ =A I{-N >\wƥU9^{}>'vZ\cp:d[^HccyzI*Ip1OzG`;`g9=4s;}sUvx 'k؟a{w.O,0C>r8ӵ(`hd8#W^dԝ@#G}3RCg`ǮN0*-Eߞ;d횴nN)A^>i~"#hNGoz5<"0zǽ)~e Ž7"?{{*TeXr8A, נ :ʬ+i s@m\N 'dԪ,sq*d@'1`sEHvq6E /PHc4$ x!1b~Ӧ:R'? [p㏛ FP2z}0~S@pl2G ޔ.]eo^ݑI^$FGs8g9d1=IHw)#k6Be v}M!Q2ς;j~]7%ŒOB8lH9V®'=CS67ppBx5he'$ sqP|iR3a2UN20;pNWqtQ;T9S|4K+ɻxʓASǽW=0ܞy$?j໰pp SpwzpǮqu@ |cA=G6cl8=9(H AsJq#wj?ayN5W79$zOL㲀s>Uan=W?NԠnS ʌHc:z@^Cqsן#FC M{HH==ziI4nI8zxǾi}퓜NP'~8dsG#lg{uJdp9=S@'{֜60 '=|#u3$u=8_bVUW0Hgs]R[Gs}sΉ?ߵ[8d'+9\1eQO$^GqWcu%'#q'y$;6vn#1+L;l<6XhLu-{r+ n{959`9j'TP9-p:˻#曍ۗ$c zMns1s`dAПάFI#GBsobQ6dnƥAus>\ x=JF&FP"@=9kT]OBazsڠ:M4n6,F?q}{qyHHYV z9WoS CF9fʨmay$~+ߡQ'nrT==޼۳B{ӎ? Ns8׵s=A}?A;r-ی?.*zc&73%c8cϞqӮkͯ9ɋr/#ҹ*Gs^&'a-O|TuU>w|}g$zRs0#'"1$ÜqԤ~<Á t9'=F3heK vB;VD99gjcvn8v;Ob8Cϥb9eᾘ+p}} /\p3:UF0Nzc> (dc>'<Kʻ=~?~<A$G#=k> 9jG3)ҌH>8jg\nړظ2n#9%syOGGxJ!2ONpt=9W`{sǵgסC8S_/q[S0ׄ',8x}q'׽whyu. #<>t@wӰ՘ ۑؒI01ǸP8=FlG )S$cUt<`p{ [νS$*Nw9Hʬ s8d/s'r1bS4UI۴01'UؔW3{4 ՉNp08^nkN5=0%'<}ޥQǐw;N?LT n sspIr NrG(t'NI9Ϩ֎C8zr>}8=y=@8q )$  {ޅԫAN{ߎ:ʤ ##q'N GO-HL?B$`pN=9L&fCvg#q{xLFAukѝٱ` F0I1Wv~k̜z)a8-?ƘH | N#/FP'ֲP[`suFɚƔopGS~p:9ݝ=z`6ў#Ny]H׊Ûsq9\=YR9eqN;sYz B˻:#`zכr-/14g6ıd&|=-듓\RSw㏥|S3Wb):VDl +cۑRsX= #'@{t⬏d: c{s:1qct͜+ܩIx9 Fs<1n. mr{ H3Oq3ڜݢڝ}gp (;yqzWQml( WknGoۦ2y39=gy<}p*ÙXO9Ht'pjDn#?<`u1yrô;ttSwG1u$'$A{):Xq~聀^s~n8?zj8zp=yU#^O !>@! 'o:D:(dg$I#p\u9:g,ԃztۥh8>o֙-8ݺ=ӥ\x'q3J|OLN((9cO>V?M'#8y%zp@ A<rzq{~\9 rAuҝrRJ6z8{`p:s;-(^$g$U }Sc? h"(8 sǩSr[#s@t ~\ӯA#hU$ qq9~),;bq8 x%NG=җ=>6OEV Ӯ:c88=0:~&69$1H  9zcz?E98vX''9ƎSqcn=}ylSBe @}B Fpy6OˆN=zORFywNAt񓎃c8<= aR-JOsIF1Y.G@L  GCѣ=J&0q\~DNu=S aӃڠlnByCGEƕl}I)u$mӃ=EObyb@MOR9RyZ`G-@G+ssJy L`h&*>$ڐyb1{ǥR#'h={?֘~dvސ;Y,bW{vj@9 ǯ=󘿉ӥsO\cӦ9ּo: ?`qipA䎞y}OS8?BsCu*LHN03rFsӱE=xh1xa?n=0g<J`,F39:`q 1𳤷\$Oל[{}2;^m<*kBoQaֲc mzEml$}FN:u0##:}k䌢g3 Ċ{wg>Qڎd[ q^yH12H}{1_jqdt'Ǧ!^ 璽s$N78`- =23|`$~4d|#TDQ33su=Re$'8aH: ~Pbϔu8GIA֢8s!\vK- =AR0FLc9>J4?` p۔ӎ>|o˜Ϩ./9 䃷As_S<ʓutS#'ϧ3ݸ1#'lr=(=y%H'ڗ@2?F};``899ڄ 9$ qd*x!Jw0rH$>c<ʏqqOz<Ͻ#=0#<L1;' `<9(vA:2yaԃRdH#<r}楍uH+28 zzi>ÏJC=H89=GJBIA$Qp8q~]:d5#S`?֝h+S G8a sRy y=X=( I#FH$#cx##jn:6йssTc=As~݆)?^d Iaz|Ԁt,u3Ǡi` 댜 {v y'9cO!N(?tO}=}Oz c#vwǥ9N IT `GҘ'z.@p=y玔ɇ 9Q=1 (#GH!rz'v4 o^: SztzN3O H<`FHN6'= =[98Agzۭ;|rA #q.1Rw52ʪ܍bs9$c|OwCMx̃jm<T8?.#OoZ}L/^3`u'ך&?{ }E瞤U$ssƯoSO;4,[nw@8Қ܇~9L5cǠtJpԜcA1t^Hu{Uzcj;dw>-q1Az{S dz"䊸~Nzj'2B;`Tg_%IҚ2 'g`dKqNz:S[ 0vO^N:jyG'nMqy޲P!9%8?Óy+9-H?iCabY)Vpsu6tI+.^}LNZ7cp&Fd܊lf2%J*P>-G^2s3&·t\;\zjad7+]sSIH QCT[9A䁐}* /e`2FG5HcnʕWhQ ‚1Bv sGׁHKwMˑ;S;I\dq= T*P``O֓;$ga =0;_ר.[=BpFYYBdu=@n,Bx'ݻ d 2rEې20 `G;F8* MrX^NOVϷ;/$|bN $N=A$> H 9t:Jw1ᱻ80:Q}Id*!e[-zv!;aXŁ1t~"gp''9 HyBn\tBNvOny 76m3IH2Ƞ;*"p`|`A)S p>NfE [i]V&;g9qr l(9rH֫}D O/ǥubDxTAAl?FIݎs$!>jnH*KB`L<.N}j!8$v>ʩ䎤`|7!0z` ۮGD pq?)Zb Tlᶯ`88>ޔ_rrv118.r.@j$z{շ]~qd? GzN{c=;U-eg 0= 'ؑ/9p z 9U1^' ?N)>a=06S݂ `Ap z~5v-Sz'kfyt>%w$+ZQ#,79RA+'Q-ຝ]JO{aXrѽw08zֳKR{JA-sgo}I%FL9ZN'0>0FORON:Vxbpy-kOQT~\!quT(v30IOF> 8G\~\gAPpFsS[pJ XuԐ!z zÐ?t!$dp[rys!A9Rg=1;q=(N@18AsQZ=ltqo9o9 1o<sY?օ#'n{qp&!g$Oby#qg<Rt`qӷn@#:ۻ#{Ӹsw@eS=zu`w ?x weHv\֟#j[l]$(ŎN` @pL9Ys2p?7VᏦWݙ)nHR0I62zIRa un>z|ޘJy-|3 u$u$Aoo͎^`r| =s`8'?Óӷ#W!> =;㞕 _r`TFB=UrHAӒx ɤ`@8} +O Ty=AKb@$,Wdc98k?;anM8뎸>"/S4DrRs:8ְ۷>HwLG#߭ʞdž'[=qNB10}y~[d}@y;U2xS'-֩B@q]';f p;Iʖ9}Eg#X[FԀF+g9}ѶPA(p փE {dIUQd#3](!6_sRùk Ee^\L:HO127 x5/oDR(I tF~SX:1=xMʐmp;8%<~p85ԓn{U㞞M܂OTcvޝlxL=<^A4`2WRϡקC?J9T>zm@pOn1F}zJ;`z wD˓=!W#P09wϧUHz?3x:zfGTZFh.=9=;UL+«/F]t|(rrG_|Wdxnsyj=韘}3r:(L#'g㏗N1N i1}IXus uL*AU_cOv8;c0)t?19v4<.=o[$9 'ۅ_<[i<0pzt NhY럔ETO pKv si1a2÷1/[$m܌`~Sm G'dI=A9: y' #SHGqӾ8w?£vA!,TR~?YzT&+|9deys# # סJ(Jz;m4L~w_:pVB#@co* _q]'lzYUvEVvV9W9,g~R:{*65c=:$T"3r?J̞39GLtw`riӎH߽rW+#>O^MtSܞ'wqrxǵqI&9$=@h(6.7z{G^6 ă{ҭi.W?'$gpABxq\/c8?na#rz/q҆2yr{z*&p1QjZ$<J񁎹Ɵ t ž?A~~q C=AI?4  AǮh`<rQ8#3$~xO?xc9^}+&@qOcU ◜caҤ=AO$E6>1#>56ӑoNOe{(w ;|zI^@ZӎAsZ遌q6'Ҳq;iOTgJ'ry׽Qe8}zvW-H{y r3Uy-H9\kS__$v8 n'ғ9גpקQH<c82#4sߞs ''x=qNGqO~)BC:*9< M~#z`O~=?Ed`'Cӌu$Mzr!ښr`W}:VuvCq#n=:ǵ3 _9R0Hzvs7c5]N/>>ԃ.91{xp=N380?Nh[~@7ҕ}CWbzrq=jPr68wditcb{|3^@\;֜QAszbA9O8ңH`yNˎ8;t# qϧ xs]EO?ғ>8dǧl}( 91ю@=I@ts' sקITQ7~Y  ޙ'qM8<(8~4av8#=~a|c=:Pyp=:tqZ`23N?j;2AjhL8*{AsQ~S ӰFOZi-:ca >nǡj# =M4pr@Gݽ@!z+0z{3 D|y#G4̃ߞӓJ8=SǸ con&9p=X{ +9}1"Ec߯czdjP{a9ǨC0dp@Nx5a[gogqjwdcWОvu4,?ק 8Fv,zғO/ryi1|*Gu'?Al`N0G\7=hs9$N82x#Bgǡ*F cpʀr{~lÜ}zҜ0$~\zc9UHSҙG0O<Tgxj$28 st`41qq5aYT2v ʢϯs2'=4 ??#S:;HK-! sS uGr8Ă3p tOOJ$4< 8d񎿞3Hx<[N *8 cwl f{^J*ÿr1d`SzzN'dqoz: ^GzBpi)S89$2~Ɓ:'nj-N=;}8cy9vO|@/nq  xA#'‡a(8cHNujht8iS=zuIp{`|dR8OIǨ퍠r#i#*x1nޔuA>޾-Lwc#=:G*w=A^[<8>#?.sМa# xSp9 w\8t<~4Љ$6ru(?.@چ!۲l)!~n`}=zPR c ,~33OW21\ryZXy\㌂r88)?66;Oց V{`=yH8'*xfʃ~rI/ 8+^(pǫ -=?ZR3@\׸~ r3ϡo_ƚV Q9<ҋkKi'=@ڬ9'jcTɜ@I `@=J}0x3Qѳ=^Q%PUA,;8?1SC d*T7#9pr;0ю~H~t/'PA.zƗqL͋qӌOL x y}Aru;mt ^jNi\Ld@IϸJ}A?p" *lFHf=z͵ 0\dH)0;0c81mލ@pzs$v)` pY$(?$]vJq7Q)vN̒-1sy# s=:3H$I j $8 )NNtqTC3z/qd.2 pܜ/HU0dzR-:awH=yni2XӦ#av'ҞBlӠZUILèbp IF1 ې[=Ǯjũ!]vcc3@=BW}`Iv@>늄BvV`.<تg*J I ciq ? 5} dyb7`(+@'Qb0q dRצsޅfV'y1߾yO9~ O[D9RTO=pNܜNF8R`hGʅλFH =e(7 `.)OQ9$IcCUڤ+-\zSB HFxгc*)f@#2ݶs~@J^T#l߮wcu  1~Q͟w\z}+@ޜ3NmGo0'(͸({V;B+gw p=9=*dtk_6 8\N{Whm0UkLr}$6{cĨVpy{ӭBƸ'nܕ>8p}hcs #q\Wՙgg)= =suL€r`z|1A'.8'Òi3yzsRr8 yߌ1ԑv8{isRNI'Gb:`GaN0:(Xp ^}3MqBprpO(?N`}{f?<9[E BO|v228_\phӑGA׏4Bq~F;}܁ =Ͽw$$d}9C.qsr>SqҐ[s>`yU#9`|ILlUU9$2?x{KHQy!FO]꣌ ӳ8O1=ql&zY 7 @g}ACw8>)9>` CP-ŐFtAќuqsi ˟J1vDW4+y $9?N+ ~HroP}N=sHww`dd댜+Z&sB'q]JƄ;ob0KzЧ'rARz0}S9LF@,߁Jg,A F8f$T ܻO{6~Px=9k !b9U1 ĕy* 0\cO9DrF$q", APp6s6@1xozLO|F7lޕi nd1]tѣ SS)8ɆrG8鴁_ARXȥ~B|qL7HQΣ8zW1ぎy)?9ÏLp lTzo~ߟJ?wCqYcHwG>g>:SCO 8:5n:܁;{oA|O~j=H/^zz~= |# 𦜯#yR#h`'_|cAɨ{~/bdL2s?})#de͏~a`'8뮘Nx9H W8sn8qtH}}EׯhӊlHy|Ud\#*EpH LⴐXfr,&A>`G\>T z;z?Pm sg\b {n}se̪gd 㹁79Qc ISKcu8,@ prJ2w8I'Us>oz HNrXc 7|;HyО3C<983ZxSTKpAH]ZINrqմ9/Ld`8s߭!9'#O?6"=2x$?OWe{>Sp=?Zr^:`c98"Gs'Toz{c*d pq=~D\gg1ӧ_Ӂ8^`9M Ҍ=9:ZH G^u 8 97L(玼S;9 sӑHa3Ӹ\s>=qϩp< w c@ ˎԀz{g t98 {iQ\󞣠;@ `~yHP#t"eB1Y8fUtیNF{ژ% 98aqО?YUc Г%򙗎Fsqg!“ېiI5u"c9>=߸J4N:z#'w+?O\Rd#9@Q u` myl=y>Esq?,G/|rtq*/Shx%y8taMQ8prN;w9SGm)swg'rA5\A:g޹sѥ3s?_ץaor1܀:~X&F9끐?Uѻ 9ڹ=;T9aO`3;G|וB'hں}N|\p޳p$_' 0!9˴ $ QӨ=?Uoz% ^rVNp\J(wޯ!A8H$q00(A8^ Tܻ3Mj=ϝu97ߺ$06.=p8H@˒$0< {\qXUvPoP<ݹdgۭZ2*:X{g#둖.E"7+n)w|ƒ<Qlq|0J85"r Uۏ*NR7N- &Pq IZtٴ[+m뷁==zG)VT Ve"{/.0\ ԌtkTg;V%}Sq489^xs۱?+}hrÅ%ֺBsy_ B)=@>*3}sԶ^asJɏWqXp\˥&ߩI\:fDrl1ǽUH*>=DYE:Rzz98HQWgGej2p6⻻+|mw%F2GʹmG^09F ל(ϷC\Llh"3GrՀ$sgSa\xC$`= k` pfa@f#Td0)u9d2I||mOq3팒yއz:>-gu#H3!K|`QGONj!'8y+c߷$w:7W?uw=멶PFw6=1Y3:A<3ӿ8o/LS[8;ӚQ=q=`ˊ;󃎘qҧP{pq}2=2IWu7 pxʁyn1p9 WW\f.12{ǹЙ \$>4w' r1cOPtOsl ~4'sF=hݒ qL#ێ@8w *=GdPFH #Ҁ-rN_OZP0H\9 Ǣ88n4ޘOduy snhO6F23ր{OAy3g$מP4WpG*<8#FyړL^A{g)~zpr\v52 x|P9sOASg'vڅdTwc@?*n8q u-5,(?8CzAn sߵgXT'רҨH}cΰ a;= ~3jOc%OjOg cdǭV A9m׮CF鋎s <{Ѓ c'PĜ{cׂ=H>ښr@};b[b3%8J /<“Z^wx=9ϮzUveq{<irO=|3~GGa 9r>sIԐrtZ?y$AIq@A\y`I>֟1S?z4#>=y>b#{'灟cG <03vWw>Z@@> g88ø uy&{g=99:yE=GNwmӜS; | g[A=?w큞zFlu s`Twdu$ yA`n8q` *BBր#?)=x?LW3ЌT -\ՏFCp3ӐB~kr$8 g4#2$wϿ='>u8z@?s 6:G^:z( eI~'2_€x>l'@T}c'p9?\S`~#oO ֜ ې~qR pI$M;|0=ϭ?-?MvJ=04<8\gސF8^yNnHܝt?/QǯS@^ܒ8rC 8.1bs)nz}jLp[cp#O@njI4PFH=8)FG?.[ v;у$ߌ1PHa#[#nqQ}3N; dICrAYOR8=z恢2Ẩݎs ${lA##zT(={\t'? a d(=\*Xq0x鎹!ޓ<0>_'c:Rm}=}1R#=?;gy;z˚CP RwIcF8 Fq@#sN qӐxs$.UzAۏj?Arzc9ңM͐F2rA9V{4rsuz8I |$8J1$k+U9>qHb㜱iЎ4'9#t }O\q ׌e#zv⤤ cua tSOy ;Kƞ:=2GRM7x;A~0Bq<zӶN9ߕ$E#v0ys&[w=;NGM)>wl.F1'L?*b*89+H>ץ0>Hc'=:ad "r1 P1x69 ui{ FOgx׎A ;t{Ԅ!ץ aA^y$xxNp;H9@S'|үRF>99qߵc $ QHy%m>2{xX|?B>Q+}; u#S@8>l)Ӟ. nrF9 z)NCu;G#?M~(*⁌svD˷$)*H׾iN\s=r ьtHOt n;^'ZwA׷oh$@SOjNx?2I~ԗRXܹc9=8BryE; pr8)z#mȫH_Fݫqϧ晘Ϸ#8z\Gq;OI׮ӁސvL:à;ݾ`:Bܗ`v9*??֞=sU 8 t#C"8=2sP4K'=}{=E?}=bG{yubpIOoZGׯ_/~玘JƗ@]VU7BOa^Z7TU i'cڡGO̖54:NPCϵyׅ;As=skء+ǝR6ː{۲~Sd~>ժc%wq6~SҢ5>ppNN~*ȍmBqޱ5jn%AOd3Ro;6>J?tuAH# z$1ˀ;Un@Tw) $- H)~=v.ܼXRpI@h7W  }NqTJe|ʒh9Trp q34/̒Bۣ£ᘰPb';30Ƀw.OK= \m8v8ڻYdc#'އ1[=;nj}(C ZT ܐګ=pz{SX啗o$nާ qJ1xsIG=F}N?/R<{ {b*$A2xpI Rǵϖ87\ փ~-NT$+e@+ې]=#rL~Y dHb| :mKoSʆH'ͷ$du<{`T|;/LJtr9! $ysMî-p>R2;jcGe^:ϥTd?7Ϲ@N ćԥԷy\Ry8;~^dg ߀0 q6W{*$9f=8L{pqC/.vrxn0?N3d!I#q@zNyaR6fl.zaڠ`G sR;wD m*@ASsŕ8qn;$~󎴛Lo `)3ޒ7.ᜅ B85~6p;A#tw5Dk2ηmv+ ?;ی u-d9~^t 0ϧB>E2vrx$ ПZ6DIZ$p`r@㟻t89[Bx#55A;3’509=AӞ>3{`Ip0A)9H9 '#֨9F@~R:Sq'd M7+qL8R `}rA8 .z<; 펝‚>SLpxϵDkGBq$ =q9#=~P1~~lu'jn96t9=z恱 zrF=x?эǃ6j9O\m=ޓ.<=I9_Lׯ)9w8ZRN'nrsN41O:΀ p2v|(x憍`Nr<>Յmp~gx  }x$x8xq,m]m$n#M^ Ҳf:(hcĝؒx,Q* $n^ٜ:aoFQ!\>}*9rU@l^1q\ꎥ ?ü3G5d|YCdpKc!I>aօٳn[pA< |kav0q{t}kCF]I$Fy fds`G8P bF$3inx4/ \$Qk&ǪNF 63t/r7+y?/c5hnP*Yq󚮫+8`r t:} 6ޤ>m)=XgǥS FevmrǀvxBS~x<@S ŋH|N:tmNX;BXsj:¡B6*A;rry<6WUpCnC$: }kUFYb8 q<{`y}yC3H'~j{@^G :3 l<¦EGs_^[ܟgm* oOLQVlm.8B'|twu6kZyo'2@#*6D c*:R&[ݰ͘}0H( dzw_P`pB',^*w9yqK ē`ְΘ*[iG9> $g#d㌕sJ{Tx猰2{N~^6B0=sV#_q1-1UЄi4[Ib|Ķ}1*,!X ЁݽGMcn \Sp߅i`G<- nUCmݸ| chDJ66~ٝH9֖cp~CG8<ֻor*ϧ*I#*w/ʄ `FGS_A=@SW_gn}}@=pFa4>5t^9cznA< `mPy^΀+0c\Tls g܃s3֬iO=ҼԷG?? nw8鞦LKo 2y8'?j褿[U:cI]Ut<G^ZZ3E3+;cڬ5QVKɊWoXyP1\N)O';1|^{9s:9R3܎'_֝Ho'>"tLpŒ̓s 9zgԞƧE(79=qʴNAHx$ubh`Lv#<~olw:ʙprHV.K?2N:\d}*㑎$2N$;zNA!9}*A;p: a 891‘랞ч$cG~]2 g `y*Hzh9&b [#t WMn^ ;>דZ@؋8i9 8SѻM!8=x}\qCR+zA+6Elq:sJh3d ';׏j+A׎L㌅>2GqH 0y\Fx'=yƙ$KA2N@$?Ϸc;8@sqsԍNF B}z p:`LWZ)Srui=G8=h)L{\s98vUO1ֱ:PgW9ڠ(}1)?0PrW.󎤲1 i7 du81I\I$nYr#WR|GI'6+p]T)Pg댜VuaQʘlה{v;g?Zlx대1Zӂ[99L.%,0;'[B83N{z=V\w:XiPycr?5ttt,sNL␈Gp2CQT$SpW9}@#x=r :ҵ@qԱ v+p3p8-!JObs@:m9r~\r;Kk/9®O9ǥn]͓҆ר@:z݆8<}ry+ۚ[ZQǎ1qBxCkR`9'dc-,9#9 >6?J[N?^ӀI$-t2 :qF=ϨGsonzϧ҄ ?:z)q2H#\sSD8 3 qI0R'L2F$1Tgڐ$x\0u >$XYݴp2@ {qp@or*]TP[wOhÏN =I L1vJp\ |80y~(ER?^{(G'q0qv8v@TuAc}}zVD۲Hg:9 (?WuXHI '!)<`5/_`@9#e\on#-Fx99ǩzsYTAO\rxr0cqo#գx ǯ<^T:;Zjy<Onvy-689l/;h`J7NHcx-?SIO~n#<Δ9H't?C.GFOng kj[܋ׯA+n!t[{^VݚtIOL}pz{b*/h9 qMN ǂztI[l^9n8QQ8p*t8 뎹#SRu|ǍSsp#7Ͼh 2}L1' Cא8Tv4 ،3ԓzCޛgK =~t888^:d@wp001ԂGϽ8,F>9C8Y2=g91>c(T&Bg'0Fci:lBSG*i=O^퇳r0<dmKrXsq}yHr8qy´OAd'S1S:zc܎yb$62G˞F۷J`NA=x#\ZbcԎA\'>'Ǹ9c8RHz9rrw ;(;p d9A=@ lp{\.s8=,qcڤvygjd $+@=}y4=0~ Fy #hz9uw~qq3>٠?uzt8>K`@#=?\wJ푎xEIWnG~Ӑp{PnpOϟNu76 axܣFhxUz|'G{Q<1hTsߠlFܞ7=Xz_Lg1M@=7OB>_^Bz})PG3H%zav[9#9nO=*C0x; 'O*QiAű7v޼ )'L`78$q:xrznؠCS`cuM/'pqAAQ\=K à\S%u0K=G׭4og$w]i.349?8?]@0$9!F/Q}@v8Xrӯ>0v ԑ C]=屎ק";Xdۿ u<0nNM,[z㱤~˜mm'>aϷ4<sChBVlH'=OZyq_).“?{jðJ=Py4db@bs:WA>}*dTg'U*I϶`^F/21S ;FIӌPGdzqg8I#F@OUL $J1.31׏\c4S: M"@sAsTF| p(ǒ`FsҞ t[Z.dÞ: Or8aӎ};P}F'}ǵNyK0ɦ&H ^xЎtr M2OQr/Ɣq =5QdnCRee=@nd|F2zdǷN:g'H=Hc0xu7lNi؁2yy#"=yn9>֧#zwj$=җo8$`*jKzpsSG6:dn<0z'l3GO§p9bp}:u~}H:Vh"@xq}OoƔ1@/ qEDʻzNk"x BB>E>崜LԌ9׎+fy_i*S(}g$»0WZε$;eV$~P1kR|"7#rUOs[DAIAry#TAяwpyϽs4l7d!Ѿ^#9Sw|?y2=ɢDeb 6X}G$9_df-d\2J7Sך:xFn(2u?ɣ s2zO~zqK rr9PnyQ>)+|k(P9r j$`HWSqr}GzhÀ \Wg<` AGK~d()x0x4H0imdUyN$R%v'TmhPK$UO_jvۙrr~PN0yqTB |^^?xG$eA?CKBKa aI8_JH)( R@<~("2H |ۗhvhw &G;e 1dc9隤 2|(US#ҲU@ Ly^vGb^c+0W+}9:R*<7` RD$avc9S/:69?bXAl#p=7#hw@qמMR!*@;s@2H$e ^܃AtՅa(  4S'+@ `*Cu-Nvp:>o)rxK`wzgPp'?NR*CGӽ)=쓐;Tl1N}9>i$9 F 85Xd{ ͖b,scˎ׷Gca,`+G[w܏il}iz]& .C *L|* G\қZM=IJTr  `~Q߹OZˎģ$d=*P\.I9`}(ISdd?O\T\VOp$m'=(4q=}Ҝ0q`m}9a ?Ttv^sFI??62H;Hۂ.rzcBq=@?/dc8&x`xqI91'v 9$}{h)|/|8 awxxq@ɇ#iQ$y(ר#4nb00=Qӭc7QV%0zz:8ג3zP1=2yvAҘTy }rOgFтHy^)13S;FA흤mݴz)2:dFp3I=)v#rГۊ u9>Qŗ;'! }O dH@ 3$8>(ngqsr>ҏmN>=z'yrq [?ۣqt U~\w^Kz#2szzf=:~"N^z cר~2ؤg:c>Z˗=yTdAp{YIA.k{9 sr:Yqںǜ; ï>ذ:@9x?+A[xNў=s5 e'' { qWPqߌ{n~=Hy;xsU1>N~鑏O¬=+9 KܿALjPp r;9J렶8=˨'9Zh39}ӻ]&av8^7t_J 8}1u΂z(9N3yOzpA9Aϭry>:Ε7c99'8'@ psν9ۓr2ՇP^%ObCpONaq Yc!{WGtNt|8ߞVۀۓr;+R, tsu]lS }Ϯ1ߞ=+g-}{vqO=:ʞ9eʐ ?+6pޥH=1&ޙ6'*bScБ;e<<.Mg$E8 $A@cJ/מ@Iy'qR}y)}sOڈhU88O8'xr288O92?ȤwaqsB& `t%:zJhAEs|z^;}zvdOn0s?ʙ~Ns%Ic2AL#UsE]Hc:rVf$#;st'#ONzdkE\vl#~G4гr91n@@{oʡaW玫)r!8syl`Y.xG =X71fqo29NOֱ&=TqaK ztY@2zw==8#-y?^>Pz;mJͫQy9;a$0:y|Mxq:61'.; ya̬Wv`|&"6+Yz,KL:#wpv};M%%Ў5(:JgDpYCp"Blj9,'c2vi898i̬>TcQ>ZuCGgohP>HݻfH qS6 e1Gcv#A~UeI'E==Td 8a֥M˺s_ѐ8] H9H&dnʄpF #u)=QZOuep,+8tȱ87p;WS5&vVLB6jvٞ Gfˬ 8< 99khWRXgxltyw/4R6x3s8;WCop3ۃaYkoJ?FFG 2:ztZO$Ez!ז z9WV# |Î{~k٣>/ylQԂyqȎ:drA8O[#gq xpWʔB8=@ p?=*%K~A9;8 ڊ:;NϩLc`x#Һ#*Vn_|uZ.(ډ}(9`{cjnpQ?{;f' x|t(Gy@=H#9>jgeA]JF~KOpN9H䓞nsFqנ; nlaaddONxZ;0FH9_ϐj$9='޴#ENN8zc;rE_ dďVFA,y3,!py'<`H#=O5D 1铐3Rg v8"Y&z98=T0gHF~Z=$:Ҁ%Hbazf;m;F\(Dž;! i9 \gq3}gGrpz;c@u9yJx {$4 gӯE϶iolt'q6BG7P;r(#z]h@_p䜞=)1ϧ\/r9€ l`;׊hH9S~x)1B&?pzåCqaw9zretXcjIq83n{*% #0pIϳ sT%n8# ? >&qc@5002NIq @Awt 玣zU&3Z 7'<)5AT\-Q8ݎT]FzS9᬴=:ba_ÿUN{<9*Yw!# v M+БH9ɬjl7*8t=17_x3֣0OF##siÜ7$L=^[B9=ȣߧLy㝿孼/@2HܟRs>`Gg_Nqv/iTx\sҀO#'9X`ҁ_v9GSߜTvOdm '?$zd<d;sNt1P44 t*FH# rj3I1⥌hx=%`qǾ C=@=G s>܎zg{_~NJCdݰn2A=?9>[91TI29 =3RpZ%7lze^2cCSImsF{chd{uzgU#㟽h#@sӶ 4&>9\\vH8'Jw&Oo'*_Ͻ!qPI^P3 Rq`ր#9<y/|s sހ8 ZB18#9ߓ#Ҁ $c FH<˅98~aqg1>y'Gӭ`7#҃0s=ZPzHQ1z^d Qˊ`/s8M(##9lsA@ rG$`ހ OvGzぅ;$c>*2@I>t€$`Ӝw8 .2H}}ܨK(=:{rvN u ;#縣 =q{ŐI9x<~x@1x7xv'3vGa@ L du)> Ij@LgFN|ioҟ@T#o.ORH'CA'@$2>`8>\; g6ߺҢ$g26;cu2Q篧FvOsh#,112?3i sX=*$˱ FOojg.N3x'=jKH,Gl(`SZ|P rqC4'yS#.sJi䟔)烻}*J#ls #v4ʎOo<`O?viyz.Ӱ?C*y==מ7U^~l5%!9}=~ 瓻 dmנ9#=Iݞ?|fb0{{:i #@8'==Z9נRA=!O'LpnsOd8;:w'r[oZ\riQxҀ@?{@= :q!OiwrFrxyDǮ:ߓڏ9 2 ÐINi6pIМSgAY92{Cw88s}y`A7m2]B;qˎPۃNOlw3Ԑ9qځ<y<`8\@qM$0s?Q߭&b=N,8x S^y[8n6`qKrO@rOFI< )8'i}O 8zL+1A,2H#?EHz8br!GpG7碞I'z?5 ϰҌrq/zd&~_AsFqr;ۚ:xn'ԯi2䂟t1Ni'ON 22G<`qi䃌mpxg=Z R*u'=:O`O*sCnsOS3W|M[xI#3T.!Rp8;N>dϾsHFp $O_d?('{MV@-ǡ79`:zDwr}d~?3Ǯ{t~ 軱 ;:{Ӂ$ U`qOq;gJa=~PN BW(`&9*@vO6 `s8nbpXS'$ |HÑ: lc軛{qAAp9מ3HmdǹZg`2O84 ܪ 'ճv5: s p;ztr3::dqbmp0F:c9ͽI@8y=~}.g}Bc `F{6Oz2Nd/=?јUcNzUxSP &wO:U؂^sX`#vF;i#<[7@{I>R8axz}|rQ6|<G_Zǩn1?Zob'=7w920 ?®;zĒU݌uqSdX3ȣknn9=9SӜH'>U11ap' I4\ޡOn E%KqP@Ni#?Nj, qSGc֩XAy#PI9UGK?Mni㎹9'8&ɇ98ObOW9۞3@:t򩗌X sTi$#I02> 8~'МI1;x֔}OG$z)M0;g'z} c@=F;qn9'9$JАoӃ銐~]qҨJ]=v3=@ON;\wp~IruG=xlz=zz}jwB] ~Ոۜ`g'>dɞ! be<96cwj3h@J)8۰L@pI'hKgn29 Mk;c#=i ݂N ̧/ Z~TnH'Gg8MlqX|8nr3ӊ]ɌÂwt-cInGRʎpCX  |pp2GSMbdʇn w Dž%b , FH?7ozlW+nOʀtQL˄qٜ)*Iaw0FyW$`u=N)yRBLw8,yFZpIaF 14-Ďnp}ȇ`r F>i reZBD/*gwj23f;qp۶e$7p rA^3Z$Jsب>AyߡdU#ۧ>czzcg_񪯻aCc'G?;g%v,8b0ixۜ~i\gn:*(q;<}phcE7``یUiU$3G⣨X<`d.yaѕ#$^Iӿj'fOas cԇI+8n@"À:Ө?/=;g:zzc+>=O}5;d3ddRiRۙ\7H?8WD럺FW ӺtbN'$+qr@>`:@矼C6@Ӯy;stHN=p1:??Za<#<=>@} 7si~*`+Qv@ ؒ1Ǡ?890*H9 z h C=w{Rðl`o?/#wdz}2M3[Sק~cyџ}G'Þ}x94x83xP4'=q}݈yހ|0$c@1F1~Qө}P0~Sy ㌊c^OOq1H T e{sJO܁Ӟ9$q<>QJHyOҘ1<~l:CX]n‡]t\~$~hx$QF|;1Lz0mWKȧr Q^pޫ} 1/lgs-~ys߅ڊ:}I<@[Ҙ`#S ߜIeݖ?` +'Җfd`烒Oӎ3h*˴l{OҶ3L “'涢~ 'pO'i5M]F s$#0:a\~eˀO˕fN+g#$FU33}Nl6,@ozx9 +P=b1zX\v(qBf:u(8{8iw+09*@cd++B?ݝyOZlOSm'Fڙ$gzĸs6v6ZnT36cW΅C9I?(8<>QA2 P=,Y*s߾;UJ,/'%q9Ǧ>*de#HǸg*эNys2x>rs|ÒO<H7-qc2}jWvAUۍǒsCؙHЙH|Gms1]vg#fT';aՁ=08%>T0 yq\bJvq⸫Nߠyϧ' $c#==Rl [i3֝kaU83n=AuY ǰxH.Ue'VT{9?oƩzNNpv;5і#P~H2G]6U)RH^JH=J;6ݸ ҺT wu' G"6r'5tc89RzEtn^Lu8=@A8io\x<0L Q=_ ']F{֓> <_JxQCN9^[y>Ǐc8O|~O͟|€l`ew8Zxx7'裠'I=Gn?O㌒h)>O<ɪN3Ƕ{ϭcQD̑=< 9>$?{vnsOÎ=+GL4=OG󬷃Rz}9NZAx=*r²:#|g"[L7a78 >s]/2 *6צONߖlK߉hcJZޞدJv 6ppNXۯR:(xN^7<SzׯAgh72UV$7. b=]vͻGF;C߿5MΥ!mvFfwzw|G|@ #s@< 8U@瞻x=)-mp鑌Fo? Obڮ6yϸ'9=x֥P}t$~a"fNt<~dg3T +S&Hs?.G#O^!т38zcJ1|֚s3^1Ӛ?*8 pqۭ0$9zGӊz鞄~t&,x9$vCK0(AqOc،=ay _Az8ܒ@9;{ p\џ}dg9>۩d+wAI89Nr$AC:u>^׭"NsQcNyPFw֩x9o'@>90qzw瓑 @ .O9u=G]y'X ApAӚ{브48l"*~=Kz*~\A'; veOO㎋"O#?tߎ Ӷ*pyS@E0'cU=^;O>]J9ުC$eHzvHifc(s~PA?Z@p6pj!`3IK'Vpp1>SL}5A2d2\XGእ" 1' iGs9qwN:V8=<8ў +p:# F?_Fߘlv>s#zS6`y۽OA_ScNxʎrGD0 e9s38+#r= %-: d <[篳:N3}=kn<^I=z}<Z>8z21h$w8;~SU]+#>c_S϶0Tw?x7?5r^ޝ x$nLT קRh@$8N;z#m#O`pFpys{Ԥ;G! 8GNt31S@HO듞E9s9<|zONOcLw5d8>J;~B:1= 8 _žNw@yJ^F3zdc'0<7#_=3ޛ8Ŏs?8zQgsp9w dqXA9<)gzc2rHn2x>Tc$S!z5$n$9dc9^?Q|޽<jn3pϯ' >{9a_O(pA$qgO_1L9ZNwc۱S$-Ѐ L8<g Z!2p@qzW<>"FRDwm8 G<?qSg'鎣0߈Z"U$zFAYV;S;HɢPz .=HOJ08<|=~D8GOˀ9#j~D 69z0zgOL90#?19Gsr ۸=S8;~c IGBxa@PhBc{j *;989 sϮ{du#_Z4w(e9o8rAߌuQۿr{opGLݽ9l -?NTw|ø9a }x9 8מJqo)#A<4y9FNyG@zvx@y0A_4 <qؠg pgmQp3N쎟{#;EPM{8=A$hu A z>(y=B:Qs=8FFr2w\v:`ǩpA?Nh37 rI#QҗzlJNG$n8ǰ>c8csCgۀ~֛pprW%v8]xR{ Ι;ut;(+d F:=n1@X3F  M9% OQ1i _ny?t<|Ìzc󝄀v1:6rG_Ƣ9r=:uFǑJ‚Ar@DO89#1NJ͚-p3\eW霟|26w}{~"x]sҘ@=Fq'#i铻;sz~t=(s91c s(`g1^_J1xPvׁԏÂ:s0W?N8@:zhn]cnO G''=;TP xS9Pw ܁(҂Dޤey?u})3m^Ҁւy(w8sz9<t&1u8r8?vy9Nzqӌ񌞇!d18պ}%A8W#=@sޓ 0:1 dFx,;cnqsd9X>YI<nvr0ONY@udm\A{h4J6w1\u$v<յ럔uqJN?I_䞽2#z֧[\uLrïI=I9 HᾢvGEPWa8*g&^QF=Ã*QOlAϭ_oS&81 BFAl# .y'DH:ǩco%댃SVLw;rNW<F q҅/'$tQPA }*@&cth֦ @-i! wzb Nziě=A^2OqR2'?6xK_6Qg"ރ8v'Fwst<$Ie<z2"; t_Ԁg=I}sBcvc]T|܌ GRA8=Fn`gҩlDcy4G'iq:Ӌ"%Q{0=N:usZ8t6qNyg}/4OQ;O~?LNF { '99}9dqflK$c>3NU!iǡM9O= h$rFqx( {v51 c''랟^ >דҬ䇜d$9~cw,s|)`qC~`NxLЕG@?twX* 8AO֫trFG`I_ JX%xF: `n$׵c5[Z>m"Pw2.¥kbY*Hٴc ۳{ ?-4Pw';?À=xmHӶ{ ;px~m܌Qv眐hB 0Y,xz7;XVb>$v3L1\gtŀ<=:sRqgL N[%9'+2f2CgЌ; 6~T܅];$@?1^֓Ԯi'qpjp8ݜx(a\:҂z[#9We;qL{*gezdFeNۃDʐ9bwCI#*6?vCbY8pK#PG Oa?Jl eHsN;  t^iQ8;I'ÚcqԜ 3UלG e0q?<$lO bu'5B(Fry=}~kBfvƾODNr,dT<㨬mKay00G|F73X)$I4 XO@d9=3?)8O'r<}A<}(`@W+g1`G#A>j!st+S"@>`>l2pO cyn ^p9:;(ʹ!oR#nzW{ʕ->z֊74=B'Q2ǹ g2} Zd;צ}={rvM=@0x܀HΗ#r1{czKbG~Q$s^ssd gҙ=DᾹ#҂p2Xu'@g7;O29s~q2^-}rqz7{ SCCc'yrp>权Ͼ3@ Аxn:dNpx\P (Xcy#ӷ_Jv2p1В0NFx}@L㏽sLO\] sp}vT'9#!<}zOBw9׏z8{c#r}=zs@1NO A!3Ӆ=sx G#8==(q1=qҁ;NH#oHNG^urh4~$ |}CN>`㧡ց\sR# 9z@wd$L=)0x$F0xQx.8{AayKF2@NoL7# ؀qxߚw#dH.!<O$g۞sNU`{0##׎t: ;B '~ aNyӱvs|}w'ccxqM;W9 wp8Iw\L9ziöqӌx@:r:_nc?1 H888z {sӾ;P13iACVu K29ZYO>}vc1FxrrKg=jE bA\=n[OShf 0hsPx"Ö0F9a7zsY;~%8`_v0}S #m;u۞9Sbґi]ILs'klŒa[hWR00:O}mß#kH^Twa r28y]qG-UNU'*˜@Wkx}]@ RyN$`eһpa^~^$Acéz5^>f>c+Q9Tch($Wq!sW*92 S-ی^1ּ==O/Ap8zǮyaޞH`PќLOa1D< x':w(gqc}P9`y$c\FTqtc';A{qe7q֭>] Fq+E1:G__#qp;8  lPG'>Ql ISj$OZfC*rW|޽Q$*灀 |zSlU`> cp9; b[-3O?uȬUu|'!sgQ/Lc l 2Wޜ5s`ۺI!vvS{Ԟ`JT$ @v:z*C_B@9ˎTxǽ10p\tn!!>\zNHss1Z`@9o͓vU==}k)6BxHƘs霓qR>8޽9Ƿs3J]Og sx#8<~]*.Og?Z:S[!?ttޔx psJn8;NG`G9 rN<BGۃÎxzIe9^n#>B4<;}=5>2vrpsu`f\g;9 vktOB@r{ юur+EI,3q P?AV؎ry_j]H}Kk3 ?Q8IӖ=spz ΟOn=~t6z`ޝ%v;&jE'?z֢0}[z(-"ܼ 2*8݂s ^i&!߷Ӡw,uٌŽ+998" Gnզl$HfgDq%>ziKb28;68ϿlpyZlhAg<:c}zVDžN |uXfb=ug =9B' G?)R8PθlQeS Ӓy° >\ lli&+1fzrq۾s3X#20_rNͣ Ph7׺O0KtQkHd`s߷ZJW{&|"wԇI71Eyf2J<^35.6䕥aO0v㔔'ybaH~`N }+0U1r .9t`stDp$Xq * $.A&X}ptc ߎk5 |vsZ,$Z,br;cocZסi=q)q)eT@B*юM4PCOvOQ' YQban$JF'*0pDa׹w6 @BN?ⰬO<+8+xE #!c#ׯӎՇ~>Owжdc8Ҵb\qzdp/8=XʴȔw(?ȫs###+1J<,m`qw;b"GV ۶z}x#NDX8Trl>#iC <a=}'2Mt9NvwZ?xgiP8 c_\qf`p0 wzp灀.{TQ1뜌;cs&b@>A~$d2{9ʱdlnӏ~UYc<\T6`x ={ s<`} u5m @2N}*Aee܁g?5|UH=ycH=>Sꭡ+TJd{ {v"_=O5 s1îN$`]Tt 1չ@q:9žH+߱$w>GB;`dc##J1~y<@I) pđ`qUg9RT3c'i>Osb$(9?t${qS3? ǯ1NcOPc1OtGބ!#~g(z㯦3Иߨ8t vO1Fx8۞sۿ\)sN8DZ:u:p:dm<'aP0A; s}):t92 3Ѕ}Dx錒:^ig{ /~qq5C3ՏGLp?od|~TXbcy'dqӁܜsbpX3=O'8<9zs,"sv)GO{u:$a9UJAӐ GH8@ٓ܌Uぎc<l+qqL`zs:J Q7h;R眞y^5v7eʬ$w(r>cwT2 *z9\a{3ԡR('ۧ {`N܏OU+Wy8Z yvIEro8dupz.trGCT?=I۹>(D yc\;tZRz =J:#U'zF9cJ-KtUa߮zzU#ЃqLG_|!O)l `sy8qGsF'~Bt=<4ާק09OEAL_'Lu8aPNy8GҗA:y?Jgz=PFy8 G@n8=;Us~Z}I鏯! rqZڞ=}BPrwӏ[p0q׮=kÞ }٫ CWz^nY'N~'?oj.3`t^iwL{VvZxFoNb=1< KvѲ:zRzcN9#'n#ZF9zpyHg \$t9:q*Or;ځ I=^z׊QAr?`9yt8ۭH#h㌓;Ҁ =crO+OgqL.&>C= Mh嗜{c'P{@9ʑ {zsH|N9?*wOp82#\rOl3~lsU,b`7_pF|ړ$Fq1#>ƒ`c>OA?7C9p}ь{>"[9yqO AyԃL 3ӓOS8۹t?Nj$A\p$5'9¡[ǥi~# 8zvr>b;_@+dRInvvv[+O!E[#nI#8hӓZ#h&rK{Kyv {(# ݏ\U)%vz| ԓR ,2[ QՕc1Tm In˜w ?'O~ǎs;BNnXv8'=I<8R89:`w4}9#vy>JP;緧`zgR'qr6` cJO? uQnāu=I94H g=9y>◿9tN=?Q9L=Ai@n܌`Ah`HdmGO#CPr1H'@68)sn88'=vx~4?(zԫ;w@|.:]ٺ =xO {u1JqP7Gb9֐lc*X=4;`zw=*N@|{ӕ?€߷r0>l ӓ2J@3O\ tzq~@JoCS{SO]܍F:O> pzp0ix9sI#'kq=I'9'Aiamw<"ps9}P=83nd$c_aSw桔g>mķ#Zqq 9\t}:J 2N'?. GaՋn۷ONԺo1 \d=*R2x=3}y1F8$ez=z~'@x|)^}߮3K~cg>1?Q֗p8s92T2@899&7c#8tȠdd1z8]jS9@!8?dh' x N0܎Uܪ_~!88¢ uRvd@4# gLNqؓ9p~876=9ߊ 0ʅPuG `Wll$c6'7g ME gg^zsJqdzzsi# s=c16n8B$^H s 9zu.ҧdw`9Ur>`p2N:{gКCc`<ǯҀ䜍g5_@9{MxH+c4Á~3s ;a@n9wsӒOn;Σ$ 9szKQzh?4}G;g49#1 qҚs؏+ w#?)'wFܐAH$J2@B.2 !:ps ցPG?!98zy)Iqԏn0@|qpzQ}q1B|uϸ #d c/J&8 q91>n?sG\ 08=E 9<ߧPi12zq@Řu<\3qO @|eԂnF3 z;nc4H>Qۊy8%3n䎼{8@)eFIqcyHʹn# w=st}n$) Ib=X6wMK NpqqK2\z!w;@\ =P沜m#X:됭n zbWIr0I<6 zJ]玄s[Z2Œ2qҮf !OMŇl)Ⱦcp`mۑSrT6Q-ݻՙɰEc#9 z@lg`ǥ&@8=U AM}WF 49XGDc#:z[Ľ~\`jH` %/p39N!A_{(_ zqۑ֦\y'rOTu pFI9'RqMI0 +E8uOFzQs9vAv Bjӎs֩@0$m'?|uCgN{T- dtE$p:5 w y;g޵[6:qԜOc֔L( ts:<:"Gw펠 zqۜǾ2:dU;8 dzu91:QqnG`F9(DZnU!2N铓֤r *#q'?-oq~c襏Kz`3}6H $; x[ r7dm=qӥZd@* <{2Q`=N;P(LF :dG^+Nܶr rH ٮlD3#prO/9ҞF7m`̮pr3wh"*8#'#i@$L/rTC!A w c n*Ϲ)8=&GNz:15 ߺO$.Ns;3ӡ w@G#ڶ @TpA\r͐IFX =@S1p.X|Hs{u{R\`'t>Dqr'i9G4xr18>pL` cz׌{bD98`sH =}\!@'9Ql3sNGN8{t_w/ |z#=6I 9p=x"+Ep y$AA^g1'۵svߍvG 1N0w[+Zqvǧs})=8{y= lay ~^u 8 #by=}5(Ϲp ?Ss^I$$`r K{82S^őqrXgy@ps'' pG矧:vL?mR3ӟ~)Ocш8?ցvׂ #qS$瞝py@9^{d}F=i08!FO8T˥<{R3@i*> ;}(@Hd_+,w> y?/B1n㿷^RGFy4~ %/8I$9q9 u<9)6#ϸ;)v;!;U9=r*Q=hc㑜=;n#z!W0pI Jx38x(GPSaCH6`g:4 C=I('?7A zP f*ssg'Glr {~Xp= z@'dǶ:ѱ89|y`GބwQV<۶Y#8,A8<` U|(},_`ںcJȄoué'N3ף[ASJ f*\ʽL#pbvV6 v\#@?|oa/ʱ%g"@֚'.;gʿ6YT)qc\u!K aKuBz}H-w''O+\RLt&D9qp ?O#dأ-I|~ c4#v8ܺW;6)q=Ccr6`>UPpsV{v'tuAڭLnFe.@(z$n=GP!x>S 知WHnh۷CشeFrʏc`. =sxTGr9<faK(9fFܮ"528QՙOBT+f!a]HnA,tN+Q7mTPX*pH}x#Rgܬ)9f?pz5g]vƸ@J 뜎2OJd(%N Wws=*E $GQϵ^qRNʳݗ{dM dl =Q*`Q OyP%pڷm ;Y\`=}M.5ɘEQF Rt"^33}{QŲ|v2r6eR?JV|!,wϷ#)i ַvoΈTГZG"Y HɃ>$FvXO}WPNA8;t! A/y>@F28 <*p}#}\z|#%I#S4;p3yNh#*s 9y=I泑p̔s{=k^à9 v:_SC||ϷbxExxz|i1\c@sx?NZ:[!'Q?7>g|t?{>أ`Oy= QÂq'u@뎹=ϭ&R)>y?ȬA\d-=Fr9qyk&QpW\6e,avrr $8[vg'WҶ#02wc9}cT%z<7>\Z=G|r=A5}3N A8K,!`*9$A ǽ7%ǩJՏ#ZW5 8b=kB@>5Pm5yqG9pZRF69᳞3ŤlGa;yϷx^xyz\6V-``TEܽI<#2)<`dH׌zfeCO`0\=}yi\g< tP6LU?xP9ߞ)Bn3zt<RH 00Hlqus)2G$ڴWpaoJ R8{ҭ/=AI9[#KۥZ\8zS/#?R,HqF?*: #8:sqEwo~9nOΔch7B2O c(zs[çd; 4lIh0}s0Ԝ95 ;ܖ鑁ԏB9$q@=AaĞ$2Pסr#7g$wwʏֱ- Ԝw S5:t9*r2z+RМ c 2x9ϯSg 9 v׊Ȼ"Ad p{v}7e=?ÚNd~N:ryt`I ?*I`0N87Yԭ>WU]E7?.dY "Zu$l%R:n^s#kIiM&r,XoṛpplVl.Ӹ:-Eg{t;TB6AzDZL]]F0~]ϖq^ t, ʩw8:皳qƌ%?qp9?bJgHcݴ3}ئGRԢ7d$X˸3RVɟE+H"xЋYsʪdo8Q8:vV(_kS%ғDZ:wo'{[bev]Ղ-UUNI9k䶕-;屏8PpҢ4ګka.Ixĥ +۸^*&c af23/?xfnK鑐@ӂj}q3?w^zVQC+1_cN:<~^ul_qNssۨ:T McsMUz矛S+a< <.N>8#?Z|y`;smRc9'hS d: ===k"BXqJ9%SPm`pG׾KcP\]Ȭܵ58'.ۨ:R<tI8܂OAHn =GnǽJ1I _BE!u Gܮ>z64/PHc=A(9Lhv1vAs'~ qI曷r@%A_;a2I>?i;@ʓs #<c99 0}n;~q<1Ӱdu>vBtvy֕qג8h?vGcz 8v ԚNzI8wiM 3Tn27s8H #rҫTDZ["*;9 qר"HnԨKR 7STYI#?1>Ք֌(͔YK#;c+늪xy=8atch<#;c2Os瞙皟9r21XT)jaӸszSv>'ͨw?ZyIހ+@=`29þ1\Uޏ죺(テ;gP・ .y^yW_y=\F0qs;PzϷ8Op@;zOU*〹jYB @'ڇqGN)G?A֕矻Ǧ10@cpp8 2R0A”=q_z 'cAv:}E#߅GPuOּYI'ێ{ׯ@+48_O|wm8_ji3˩eqn?AʤSaֺsN1xw*ON?908Dfz=H\8NTvcU!4< pުp21O{Zwԋ99c;t&WxcRi3Ѓ'}h90p1'Lmwd@1SdœN{? L@ 䜌ӽ1sd>=ߏQ?<gI83I'FNO9P1|.z*0wQ{RRtO| p{tLe19ONG^;Rc! z r 9Q#$O'AC@cQ# `+ОAgi 20N{gs#ס>Z =2;H:s?Θ462Ibq@[oA*`챆ZBU^CI7':Y4m1qDc+10GPR@EVEIu(ta Xuv[1_*I<7n._K-`?i%FG򞯂+/8Oqnz2Zy/ݓ#B!ln +Jm|+7'r֟a~kK[Z|3c嬿dM}ãE[Uv6+]wvY,1fO9 3qJy[V޻-y!(;A;շ}ˈnmw04Nhuu:>Zyw=z5yI6lO 999{{bp?C?wF0ĂI8 qtzH88ݽ׌+w =q߭&r 2;{{&8<}ipA8Oa߿&2zg'Ƿa~H랠(#. zzzi#sh@)>t>rTwp2p:(@z7g=;p1h~h86^BO㌞3鎢#?R~`q?̶rA98g`z<#v1v:px_LLǁ7#w˞}9g ~^:v0:p8{sȡ 1߮hVAfyO˨v9=3\=M9 vf#ԓ`}Ht}>$`dtgg^)Ǡ< 9vs4'qH;KrGsI;0x#֐1rI9v8Gr\ٽ2܀BJyGAF0i1$ԞGA9uM'S{:TD[=x2 &xcg< Sz }N眮''EK-}8rr= -c\OjR<`#0M rc'o%1ǭHȗg R@?Z@2Œ={S{gi0c#9mݽ8q0 I|Ih[(z1 Wå4 G8$HcrrP<uy$u AB!63A yZqU#=)*'sdd;HTcq%y803֘ ^NKt;H#M_c8*3| Nh`?@sPN>bI'~ <ZP11q{T.᝿1qy3`^\g[8cs(8N}zcyP銓vs43G7zJ:zdlP@GZ]p '4@TXS\sI뎼܌sR43`݂=h>G}3ib?{'}z~' T081Hz#<ʚ 19 —BÀ;e֐} {{|[8'azwւ$ vs9[kp<{zRk6~"/#%0GzLn1_C3О{g=;g1HS9Oe:_L7;s|1?SN)`O`?8N;Tx#\݁7)=}*2뀪r.Cs԰'ӧ瓷p`c c" 7o8+8<bN>ur``s {`wG`}5 '3Hw&pT5T b3 :sЎW@=A]Nd# 1q͎:+[JtIS=g'N`nL~T0Ïٛq@ O5@q?6 =y1%A?{{Rg<䌑t2(9m4w7lNR1Ў䜐x I 5 (-`$8( W8Gq22 (P7֧ߴTay'#;WʭC.Ƨ8⭡%N3YWHE9pzg?^DC$Auu]Mdoh^GÜ7>վdstq#5t 9h!1 <O<KuЕ<ױ$Ƚzr8?\T Iz8FKcyiyA\{)!ר#n8'?)VzжB.cn@GT37V8ʟ21Q gS' `r?^ A1ߞpi+/a$cH`@35܇@'=ǧTTgׯD$Oy猌c8$ϥ8r;w=3R7|ā֗؇8{sexzt1nCI_RwMʃow H8jBwc ]f<'R#BJű 뜊mN~4{%=LJ0mі.P0:x, T[s3l) l ';ˀ{[[;eFSՓnM/}ۊ|;q\zqQ($tz qҙ z) .GUvC!c$">|7r{ub[eNHt7qTQp27v=-lUGF~cn?/­GIPygPHݪl #n$1LoYQzz1- qdZ|r4E#GprQ9?(;My.l␒6gpzr@yeo0}vv09 '::Z HU9-sװ6 d:N j`iӖu[ 3*scs(>Đ]pr8$wӅSG D2BX 1# G ZĎq#)B|$3 7KzW8=ssu.\ t#)p}U#$>cv힄A9K p;O<' ПL <zu 48uirAb1?=!Đq@㎹iH'Hf=p}4$gQӊx:r>~G_\.9`};ӀzI JLPrFy=1^p9H+t=A  XCsR/^8uPzzP@A9$OΎ9P c={980CA|' g‚ǀwGp#U8ÿ=8w :bTԒOZ\}r8_L\u<6xܑs@Y0O'#߾) 2Aob1si}OלhCN㏻t' '29=;R Gt<Q!%2y悘#CzF=z%ZD9ccnx$e6X{#:qAKaNz 7Qu4 d` rs@ydp{0N{s4㓆 FOcp}^'=x6O}hc@O/zϺa@l'\dXH]~#~C+,[[BZ02х ץZxed>[)qmjB%rq5O9b2 -"*A(= ^qȉ͒:g;M>zj5㯮s8'I9{?wI`:q)d#[f\r=0ZƜ} EyLs ߌk'^"UC# xsMgx8P;w'9??=* r{7@ R/p 1q+J`|u=9S@iG|t'Z1\2pV3A^Ig?ԡ2u;sXuw<랼dwOנY"> 2s۟8p}GL tO 0#ϧlU <}󎛇#d:xNp99<'ɩ\^WFlc8O?*dg#Hqǵ 0A09ԇ93g=r>aG R~05KK29<'8^sz9r__rw~>8=CupFz$p9##zx#ݱ|p=8@F:8 ý`1F:s9cӯ$Z`=3t w `p3I>۷4ztOlP!x# {g58<.7sztz w(K:`g^9û~ӎ?QtzT:dn~Rip!NxYBft>\kվ ٍ+lRbU郹Np|ӛ)Dqj2m.~u,wbko?7r]c-9GZ䭤;scq9~~uVHl 9'z=;C˟$mXou yqt*c\g%ٔ0$O9O+̎nHlUAav=3(s!>Zv0sBDhG VF*QE}<8h[UI-bRJ%%W#?)9}j;=Fsifi"vİ237-;5٢Go9r}+ H#7#沫қGhj88fC?¼޾\[F >wsנkƮgA4yz}:ts<wƗ{o=XdNH$\|ԁpsvs)D'8%rI$cOʓ9APy q9G$è'^n(bnH$`a냎Hnwt4!YLs}{YF:H ~L^z|ǧO^yþO=#C4:`cRAHr0:csӧ^Ĵ(\Op3?u?Ş =Q-ЂxQA;' znNz} .cpH*8'tGnGh A\ggnƠ9`1A8^~ 9Uvrs zXμqmMx:Wq Ș}2jg:t\VIgs:֨<˒J0uM~I9rNZ=4ь=8>^4GQ=?Q펝= ˛R8 9 u<6owZgB2HG8^;ɩJ^r>¶ =r #Ks=\ԁڵ8霊lxfG8;ޯz3+Ӥy7?C=pzqS/=>c9n2/R6ңӖ@aVI0.?ČԠ9?/r?Rprdc=i cӜ yIzp1Rg#g#$nRv= P3׌v}@z ÞEH.{p7s] UހAN=GWӞGZa9+FNz`<ӱGA&~zOˑ;#-1 @>}q׵9T d[o$~9'>:1ЂzPs32XŒvgJL;FN?^֣xϠ^sPQ8#9鏧J{Oc)9 3C@go_Z\rN1dPĒO4,63u3s2*."-Y_nw'_OM(a_i4npcUVN/1k{u87eyWx+=/֫c^X[Ar7Pg =,"`3+ sW|E~X-So9 6)m4ӕqcU8+tNh.4\V4} 2/P׆+Ŗ ^{Mfe;Oa_O^uK }KkQy;bG>ˌ4{$]-V!(E?m6oy m=ݔØȹt8@9ˍ9Vm8ݚkފk U-~v ר@ݸ ן˭r<| =S$>|i Ӑ8'G~(A%^ d{)C`W.F;zdot4F}s0T\wg=:22p=1~Aܜs׏088$0=zh889<(s۶0Ay$^@p\i<+xnۻ?tOǵ!8paCxC1 `(=ߚv062Fx=bgqzcMs:s 4s;p}Ϡ\r@rON3B02z\ ccwy':P1ʜtzL%G@}A⥔4;pxnrIlcZLG`{~9e!$8>Ҙ[ >Q>{jlN(oO~:c֡nN FH` H={% * $~oʎ[Q]Bu x;9݆hr8^A q F=TpN2?j0{rqm:IXu#^8CqLs7꼟ƆI 5'n8 8?rN>8ns90 AcNry=Lc84p9 wfF3Gnb?S./ۻ1:giAwN;A3I1 u9'$F}4 a~a\ t O|R1rKnVNs@##~P#i88}##8N@#p3ڀ]G@3wL=NpG$mǿZCy=i O$z`g&<#t8==)Or͞ b zp:}BsP|s8jA՘<.=x3L]G(Vኟ@yuڐr3y= L׿r(J _Ă2$M/ t~c鑏N6I'#ړ%@AoBxZL_hI/95n'9w1cq gLP.rz ]zrO_Znzg=$cG\hpx]ǜgor8f^3 $cwSs+ʻ2{*BC;@o szs׌?*g< vci#:] s؍<=JRON0?HwhRN9wR6gs img1ǩ_o3ǽ!&7A8U#89z@bzcSJ q3М4 gSg'W@ t ☿t6v'v=Iq ϢpNq=je"prP=)X*H sqU^} pUyO3oB"DaG @=>c ss.S?xvS& zƂ מ?Ͻ' %q{?JHҩ=x`{VsM9wr8#O֟QsOJ;QTsTy =U?zs?U%z!{可Lď_ziexӧi_7>=?f܅`\ c8?$e%anG|{`^I#u1 .s;V-7.Y_c&緜V-ې Ėsȩv*8 KE m.W89+ohNSm\*ӎ*H B["‚`\|sֈ$ԏi/c͆T #sOĀ)R7Xc:Rxi&/QigvAmH="eeRS3=G8 LYy k fH).w2N0x8#h*Z6mt(ݝO@u|-dؘ_`J`HO:vYd$Ne*>5%h$p9- gh껜 ,ţNwSr8㹦y,ʄ@I}͝0}=u4!Bwv<;%R A^Ony",dˀvH,JLs͟'>S%Q7Ϸky'hЎK`E{D-)9M1aq'`t5syT>6ǍS֪4O6c]HbsmUA rsSKg!{2{UnF<,q.T͞8{qQ+8<nsqר_)}IIaqxL#17wsөKlrp<)x?Oإ7rT(n@ֆ̐nbI82 :8[q(lHv!I#<+$Ϊ[4Sxdeuj\Hn$Y e>\<3unE% " ۙkA ̍3B0O7?5X`^7{ Tzt\]nZ^+M,o1 Uܒ6hVbIݜnR"5;6 ]s.9# 9RAWp<;P(as2< sZ1Z7czMo︔ѫ{c'#9x.NFHV=: &#ER&c"13^Z *#@`#ӭu#hߩ5'$Nߗ=Wu[1#=^^{=zgsN:X~."`sیN n,1fAׂCgF`1zdtҟP8uN0;g17'+A 88=xf8||v:~,a y;SpN01v3$nGjAd($u#ԚhD`I ctԥz l@w>b8u:s'#Gg$z(t@mp^@Їp2:z FO9*O(t_nH}zcTzOjL+n8pݞ0{oLs; sgqd{@GP>B9~g((^1-8$g g#~.wdvr;c㸦[/~V8}ܜr=(vsAh9v P0N$ Nx"N(,&`3rzc\dRv>2=̓E*Q<95 K\H,1_HYs}uj+M= TQKB ]zin_0FU9-*;x3+vX0gti0nHrWMQrMn@dd#OS dq5ƶ7a-~@#ӟouYUKlF pOS/ DT㝭|vޣU*|d +=O5ɉvz 9$>z;8=o49s@lȉ'UǨ_l lˋΗ}}=60O3:-/Ts=b~Ooּ,f0Sű9cAǺߧ3so֪?8I5A^dccC]AAߒ8 9xZ.OR9>S֊ڹ*xNӽS'SW>^zrx>ʔ?Lкy'q?^ya$9޼ԽC1nzzsާ s;W}Oq `9)|`:6xqӿ~98C(囯ccޞcG9@O׸rFܢpy=+3S|99U=3۞*9Df+㧱*?<'M\{s<'`rq#sQ#x$u=>rF_oNJh 络$#?Ρ̿fCŷcw>ޠPcqTsٍ8IqǠG 3:CG0w9$# o^*y3Ic$`yWۑIɂ10<`n$ry۾3^3UT"W?-2xWlI=+ ^> k)V-~e;oZ|e>(r-d-V8)UO:9vG쟅,mlm B z}k>2mf3q(wcߟ¾)ӎ1rݯ~y]9lFsl9'_?_n33f nP)e}Ǯ9\zdu8nrr #%@8$[{2 \ђB>N:`qv#>ړA?cTK!2_1p888}+&6nb,UF:w9E]_K%1 Q^Gq:y{Ew)+p03aLi>]RXWKʚѬK|9Lq 󞞕v W<C ,oMݧu:U˥bAGo|;p&e]98f ϑҼSԠ˯s`{N߷p$`.Ǡd%I:LUZb=X|0 j;A=}4ƹ8 uۡ c5P.03v>'qtgӊN=GG; A\|@TwC;#{Ðh矽S NJljs(F{ o}c#<qg?ҵU/ԮBA(^y ~PqϥtS3G>$㞧z)񎇸9'd~=3^tGea:W=y`'>ǵvd=2zsHIU s> Θ<Dvɬ)d* 9n?xcE4L̇~+ۿ >2y7SҮm/M923{Lc4fO񜞇'ZӒ$u=Ah#c0O_{`r~^d/A!1@VtgOP_r28(<;N{ y6uOr0{\>g@0A};)p# NO,6r3֓q=6ނD~AFA9ϯJNlc<(8 I_NZq#O\(Զqן]&ݸ 8g'#?\fs}Ks5ITct lG| dr>AU؞z~b1OE= `F0˃h,I0HbNG gF=;ЀgO@X cʀ:S#jdDcʠ8C$UWס9 iK(^?ƪ0)}&L9:`*=~|9<qZ hTx#߈V|9=q?Z1y3Fz8yǦ:vhjrH#x G={c<8ڶ0pOi9a'm<{WM{8/w{77*oȥv3juǴhE}G3\KpS,q}_^ ͌&/;\jZن V0A`bYa,۲pMiM9)TnߙzMsU[._eEt5ÈAú KqZ,3OAW5߯OkbBYS W%J,W*+KDKu&}8%$[^KHf-4~[1=m;^ a4)*1--{W,=}{zri%hwGN2=WkGt5 JYk)--ʌcjWigo,ahIn"؈{WLmWW3ɜ'Ӈğ/b=^i4êxn9縺d<,W/붚7T|?'ڴ]D$SFm`i–:_7͵8U'ϕ)#<װzu ! 7./ *D9*KFvM7JյK<[iIͼ0x:p?WIAQK?#`z`kR|9nweYBҎ>9`s6) t#m_ 8$G4 bq.x u, 3>II\t+g?wwC=sRrxgv'<;GL;PYwc 9 erߕ;w%yOL}}i\P41i$d#Ez|Gï<*`z)V@~4r:zM1pu1Xgg! :S@.O99ݴ<suvNF>\}}TߌЌQ۩}@lmlNĀp=17.Imzi~: c?Rn0FO^3nP"#9 <=[ 7 zq1إ@;y .1PI$/N9#Pq@( ;te!>8A=OP8zp9LӸrzSrr:=2=A=z #`ni`I({${ߧj6?P?}BGbO8 Gޝd$O89 rx==M;oy^9䑌q>\Tg:f1p>b0@sQ}0CѸʂI ''=N:Nz}v8't]sA|w#7x xS\?Rp9[0Ǡb9#'I'-CBer֔d9wq;<p:#>L @z䁌 g'/݋r1=J n&9(F9#-1߯4s ~xOq7.I=00qxϭ;Y1NOo! -r$ir89u89=i OQ3M`9#>Ó|g+;r0H\' N>ӆw1Ìb1?7E'[piHq=sz4\Szw8 - s"02xލǝ6׵?w6T#| ցo`߮b0X94 Πq'OOnML'pĶߘ@6aqz~j2?s׏h$ʞ`1뎵K-|NNZ##4R^{~cR99Tx$ }-@y)8#M~^é=H}z?1=Njq{g#Պ}@ `OLuc"=H1t&y?ƗsH©2N12yqǷ֗?2>jjOB`}4݂@laH3g$~\$ 8B(Ϯ8$ t?pݟp@ר_IRA`|zg~BfN#rF=>Q5]ȎWxb0q^}*/KQyA\g)r =x(Ҏe9v7d,2=rkcK_#n9 FUFrN?"EhGႍn;QW:yS+AS9nvue4 @P D~ haaN^[3ǫ>Y4ADƛ9/8#ּĿ Ŋb:vXJa-PI5ͦ< (Mc!L W15i&>zWZW_qѪާ?4lnj$@/& 8e9\OS}ԮOm202*kIn N~E)FW78zwͩ( - zVw|1dw!ǖZ5W]2}7{{Ը"ԝMYC ˞Aaޡu$gq#nۤpF;Ԩ^Rc#|06a>@I ^b@;XwE>P BYBvvY9*@-!9k}'ԎAt5%o1F/ݱ2\ianpÒ#4*nȇ5wiGøIv>!TdI;ws$u9>+g(rӿa9vwSV>ciT4Ld1|(`B z残"8|Ųqz`Uz3K1R2\pq-B G 7;߶9Mӭ2;pnIl1 v9{* _{r|'⻄*_sCgӮxPz'aust?6@#>d{=; `r}Oj܏00r{s4`yo<Bdg# OacN?` 9;d.2ҝv?L_^qz1)6>i\^ymltw'`t烎8X=xw'wot݇4&>æ6ߟ~qp0rp돻@:p0Fy*}NI $qtA8#9ROz$);Nz}(c) gPO>鷵g=8,rpp=?*HcrN>g ql߭=znی}~HNN9q;y׎(G$IG9#=0Hz@=Uv.IOwSxr8FF@(#Вy8H8?b@?Nh=z='ҕG\^ $iw 9##åZcF\qFAm'$^+.!u0#ha$ wYT*lybP6dI#\" yBr60?N09 JI3+71ۭpl*LwkSjJ=:Kd|QvcMR>aܜqnk݌8U.ZL-bTt,Arka4)Hp@P8q29{ְt1L1fr8P 89<OX ^OQrlDBh,C^TV+Y eWU Tm8\*Zܴ#2D(IKTT <ǺELF2#p3׎qސܵ4dM8E*[ 0H=뒃RX ̠:PrHɭc&9kt>]ZG#>=5,ʪŷdsq⢬_9t˱H\0li'``HST 'ӿq;h7;Ocz~4F@ ! ssQbܑ ܞoLٛk(ّ>]\|ͣ)R?jݺ2ȥE99rOk6s38+6A'sM'tp%U 늦HvF$9ܧ*rv7 |'y1:u4-'%Al;.JPsTJ#q?) NsAMGO2GT>c~C؀9^uaF6]I`Yq~4qM_@܄(9<`3DDaxݵ`p?.(1/]Fٸ0GpJe " Kn n|G;PE@8LX gpN;.PN-YzXԅԓwoZ3D T=A׽tV&w@o#zҲvn{3q3C zԑɵVHG?> ӃYJkDisI}|̓ׯ隧T1ntޘ%Ywc'#ٵmR]ncAdO* ݙ:t8=:d$T ׍{[.Ϣ|-&+x dž{}1Ҽ3񵱃NH'zB v򡱸duO<L7Qؕ+?v-Pќ c'N1T. 9kC6(,>oHG8S}w($arQ ן\N}~l`ǽ"q.:p0~^?C?x#o9> 8<60W}[,r8~zcnޤ|0qI1ӏsqR2I$z?4t) t'n.8x#>41ݰG^z:L݌Iڥ-'c=[H#*N[8=9;r4ŐӸ?ԎM7!I ?犓$(9{Ɛ~I+Ag⥆c}\򭼒Dk} p^Wƞ?4j* dpBtGIz;]!3oB8TD I M-7kIM1E'؞ >MEQ|i+a굫O9|FL_#[_bY1Wu^nGֿ$WYM~,kSVU1`߽xanXʹ@9]To͞Zc1D܃#x;%z Cb6F q2A \[͝m,cp#c,>oB={ \ R=IsI C1:7jxݵFw6z3BqB@ȥy$x};gJw,ܴ:xF\OSM+/2^COHYG ';1O~z՘F c`Y @3{zЧhC͔4P IbJz0=W5lI2lN}CO#ҹ1tmd=[hj[nA$a{WѾԢ a61>mG=k«=jRF;,lzr1#㶧T$# y8u01` +bSwyCzs[pJGMr998WFӂx;q9Hx}s?B{W'ޖpOK'n; :44{0$j#' 秿lu~r*9+t_jLp1x8ȨduFWϷҲDPHqw3GÞON@*.Õ\Dg}iBws{LDi[r3z~ysNF29=i35!e88t?.N=i==rp:u+Fr)a&Čh\yֽ+GVm }Gkg>p:z{gzQ8_QnLz?j6F g0sڴA90G$`FN0z\m`yI/u93b;<`iq^#9W8=ֶuTwYl֝rw @qP <2#Tb~R?鑌)h+n\h6[)V%H$LռI9g=O@>a$sj5V 9 Lgh]3rp?^S0$t:g i_Ԍ:ϯ=95+G@Ͽ8 Qv{=?Z3AϠ\6Uzz~J~9#:pqC>iøzwNL` {z}*#'1F c=38|p8UQu$u?z$p@jvr{?ɮG!27v==<}}i:o\׭KzgnzSNyr=qқF;@\rn)w>'$qO><<4lb9kb::#G%w7#<{Vd -mn_Rr=}x^3ͩk?:Ҭ:zֺsg|CQOakc6<Þ1p[Onyg?֩ {<@~ gağOs5Kb{Ϧp70pWnGE1x?9OO; 1Ƿ| 0pqÎ2ø2n:t>vGsۚzjg :u'y鎙p99tid1GE C8r:($pA=R<~\gs͟ҟ4rprHqAלж~緩ƈr8+J|Rjhr{)* H<zT2trǿSy8wvsߜgTumb:T+Esm Wt@)_zqWV&Sq'%+i$w"Amog;KdRH}s$+;U KC*F#hDEskTz_3:{ ]S N#%I3О}?/ ƑY".nv#aFu8r일CNT]O mwK֟6`TO!Չ8'';_KHYU/ %>a LV"4N˦Y&{>?4#%wvJ|i!u#Ll~t8{*)l5m8lIQ߮++G%E+:5ʬ1\sЌk& O/~n]'iixd?n\ZſkutM)3[.)JoB~K?cm*Z}^ մRshu[ZD,%E5RqTQk[^[`XcaαDFfS =+&WJ/5\mOKyy~9Ь~šiv>0Gif~s].b|, OhL>ZO+gY 63כQ$~'BHd%dd |z} shW,γG'@9iSz~7O(˭_i؀e,{8 w\V`a>וgBn;#1ߥ 2ugvq\E Hӯb`F:qO~czxHp dHŒq;n9^I2prFF1/ʀ#zg}}q@ pT 08=8M4ozx$}E;p@IJ_vfA W;P s瓞3!'Oϥ`w$ ziR>^A'$zȦxs9xrO ~0 #39T<:p8 ;}h dt 2#cpOw0=q֐t*TdT}OCZCŽt>z<`C#1>qp{MN3NyoސvG8{`cZo^XJ84 zQ:'>r1AǰQpz~0@OnsGߏi n|'<8<XqIJQ‚8ݜ~B RcC3 tuvFI:GN}RQ/c|c'#'i?N=3CHi8?=G4c'< T96CNq҃#tOCulBNp=0p;} ;ir{瞃{1gOzaCŒ@P8nOpz.N[?$ 8>)\Jwx8<zi=2<ǂ}z>sp:;n t;F($F竅3G#1Ӄ'PA=#y?8>g79A9A}i96O|gsQs'z<}h9c@;9yϠ۷R3brUp8s0:b1}yŽAoo~pñס?)L} /A$c0?:Px8lA{(xx{FO| ryHtHpF8AQImOLu8#9frqIr8=9P(>+ds|.~V^™"9^wz)g=O>vB7A2~n[` Ib8=!ArI֟F| !19O9qgpVOFH6=;ǧiTl2;F>#Ny'^P;>\Dswf0^ԒG;\{78 ӹ~1=>o]H8I }1i(e?{Sϩ':Pn8:r;zSHu /+Iλ 9eW|֐I*v:wٌ c"?1 -'j\~'9',sRn qgrz+eC}ǯ!#yn0>u+Uպ}R0Nzv8TǎX[?~o"2CpX[V :ɯ?C,s9欢{`{bD4F2xA8繫 x1ϩLTc&YO`zԈ 8î*  9 3IRFm6ӾA8œ}yk]p=y9cǫrjl&HAʘǡ^1֟ddqr}Ւ('Slx=s,xޜu==Jw瓑q0qO_'HI'ojv!C)'Mˑ8c?.IB$1}ix999VKgpG:y݆8DHLx=N3x"zh͊^c9TR`A<njc&}{t"`<*D5*'=d##dNFhӥaufmM0- suGzO,$2v:|)8nƷ< F B`Ƀ m,'9ןJ̉=HSnۻ }cۊrB!XCWe&_αɎ06T~nq۫TsRg 0>(9Hª 8+БA֦Xlc} t^~ݷ,&rSn@c#$$vid"\g(ג33ÔgϿ'sK1Op><.2x s<{ 1==:Ps<灎yg;(n~xr@h 88Jr:.c>/c;h4s{c]߯~R,1'XwnԇgOų:q@Ϡ Ga9` q׶;P2S9<O[9 c6z r,R 6O|ݽ&׼Msn 3@gsp`o7y7Lk M{4G1&lp3|zocO221?.rkL baIUWiwopIrSݎNHs]헇/fm|y)T/3+vxbJ=Y8+ XX$u?)UqS/  l?]lrɷ]xzkb{T| \u{fgf]\ĢLc$ִM4Jg}-vRU<\Z[*!*6tVϭʒJI`vR<@ G )8ܫ9F;cZ00BX001F1ٸ3'P~gI\ <@pD į'>s޵[ F';E;+ef>)e26F豹@<滭6n#t8sF \-`{=^ϲ"2C'2Jp3ϥzW Tݣ.3* D۾eXk٩UEEV3/,c+G##ʉ>PT{k5Ofm‚p pFy~a#z׆Nڽ62/g9s{[F_{2qrG{*isc!Jn kQPOT񋋽bFQ$p8VA.ifmDAJeۑ6sF7K0r<+cAlXҽc:UImP|' \U'4R(tUX^"r7?:$ 98]E20,0w$w}ſ5=;m+l;|$|vpBh1t>kj.~y y9);p>GP}{lEG=:IB9ʶ19)22pddsc9)}@^sS)`I k#Ќ|ǑxXna9zd__xY쭐F=:i#>Z};t8ŀ9?[}i+G\ lw9\19V 83rpG?Q҂K8=2r@Sߚgl#ǿ'{7 㑎?l(瑐 F981Sl׹NO?P4`ЁGOnj d`n'ޗ0@d }g+}:UG w.:4LvJG+r`ztJ_+qfJ?LL*p=A #jo9*"{с=OH[0v|R1MKp>ާDv#c$c;~3F `}ӣd\M==I'u>cԃs2s' O|mG=30'W֚}GLӞ g t0<OddHzOG'1R\}rsAy$vx'rU饹?Oʢi=/RF~Q9.=*DO@39ڣ$ ;Uu?O΢f<\͚B= ~AN1.7Ax^Om}{ym6/3gõs#Q@38o "<AW>u*Α3%1U\I ~$t﯑2]d!]HpBbd`to +)$b:WM^ $66r*-ۦ-kH.Yr8GKhϖV#s,0r=>^TdfetNkǕyKN̵TY ē*w#wfS猟y{ĭ\u֛FOA{~2cnqr=9󌜒ޙ5czƼ{vc֒sdrvК&MXusߞ x'YjH'i#)Osv q mOǿ_>@)0x>^8q? n @FzgF1N(e2rs܁=I{tQE8 pѶGЌ23؟_ҽ"zf Jpz g}GZe/u=kԉK/\ gx=iN6͎8ҴA1~ߜ z⹋_=ʪ&se+.rH mQM2| ے1#ֵRH'1¶ht涭'@; dTt8c9[Q7Ny z4t5#,}=*Sr*ЋhL;nǾj1?0Oy:sI2y힃ttF+< _nGHc<4#AB2p3マ=8`1׌7#ێx=OF702:P3|7rH1qϾ;c'vz񜑐|P d'P 8眨#LIס=(?l$Fz9=z`g=}h,vzdOM'Ix\t@0מ8xQ J29ҀCgFOCsN 9 xJL:^v0x;"8b3;@9L|v9''G9Wc<8;Ww>GVu8$m9&zBD2pFr:gک:{gr3{p+-afLG#=}k9#v<{&Ϧvu?78޸\̩0cgx`UןЁr=>/phE5o3w>UGG&#ft0}ߨ'6dgNy {A@ Ԝ~C#<:~27p9 :zT#9 oSނXc8,s{ f8?۵2Ec9~r8q pz_ʘsa[9zu;`p <w ̜ ֙99'< {`Lzqǯq׎h^03.#< Ncp9ۯ?$7ͻӎc)Pǰ=8ڣ8h xM&Rzn9 ;Ϸ_« rsT,2>'idrc NOʡDY9qӡ;R2NsЄ#?_ϊQn|P*wr<]=d!h2@vd0WVT3Q>eףX h%1b^K I0m gҰė6Emkn-<̩wH1yf1*=>GQ?|  ҼGk;YkBFḦ́Iz(G/򴫦y'ekqqp$0z/{WE7')kvvVٯB0:34.L8^C{PeBNZ=^RQnVX.grHXGy7*?9@~P\ $o2nfF2j)#SZ/.|"[ o.c0did{sc5|"mEγ:2:Y@F$ \0IjW8=#Ei}Η^YHLH4@l{Jߴ4&#!m' K#qВgY.ih{m,^T&Zhx*!#zs o$lO G>8 uW[ mj~k.vcrJ+,[*OO+n6'yk~M00zQ:h]9^V7Wj䅣u{}H) j*FaRH(>@6]D rYOqʧ=HǒQ5kٳN_Gt`R|<7b@cbZH퍔O=gr`+9.l FU]: 쪥vz2;Wwg8)1 :w־z7JVke%%uz>cGxZw*$9$\VCel|})wd1'8a@9;{1H0G\zMX庀3ms&}O29܊@'$d{Ij`~^33jP y8NOl<צ3A˜?/@njM^vzL`~P&47O ֜n9@\@nF@’GQ.H} Ҫ'<hZr6 c=oPsBpu qG^9/'pr0 LB.y`@#=h,z{}W>8hB{0#ןN$8w'=֘l48M'4Ò;@Hh@@=:&f#` vҁSG'r89ґCy9<=s 3I֐ ۞@OzxV8SڤGÜ=*BށF3pG<@ fWwEqCsrz$@'ʐdgf=1;P10s1y#&:'q#s9ր#ʱ\g` 1'$y8?,@ 1-qQH#n3GJBI~U sDZ;RA3ܑJ e x GIGڗPxmtRs1ۚPFI=p;|q@ Aw O8Q?x' n?ALi~\9<)d8:t5qp>z{Ҏ1ћ9 A8;1@;cӃޑ==F'qBr‘@$8$ L(}{`vxj?W) dca<9i9$.Knpq@A9 ).x>g O#;}=:Pѝ{d# ҏ'XqTs=>;v9F8OR@>ð8=q9NG=2{g~5Hlr:cN)dǯRg8+Qȥ saRBaq=w)zc#Շ=ϽP1)1'<`cޕs@pyA dž#QpWRvJpx FRvt}9Q֐$d݀rIܲ;O^~Q.26ܠry^x) oAl:hN>eFc?Le7VJ/pG<9 {/8;R@d 9b=l.OW r'Ծѓ=@'qNqڮ9.ǿ# zr5:=z0 ZD6N?(1qV׎894ћ!QwS: <SIt yg?߭V&UTgCRH##rӥBXosxiqĆ Ns[I uR\鞧ߍHsϡ)0Atq֙7%O^$cN}:ҞmA6# +zg$?JGA'#}xWv=9gwwbO>__,z3; HnO捄}Τ _#__,F9,#50G#灑3zsS3#n9ծ$= ARdNc:q1یp9cU*I8=@'~Jݜı'Z#?=B2=s#ӳtAq?^v^@޲.[b}d`)6</W9w =q|j LnRc$+ %'x1Us[1aX qֵPT .r`[ӿzQ0jR[(Mpd\?r;]~$Ԇ M Fsl](GGgc؏,ErT06pOj~+$خwl|zMo`:Բ\XϘe{f5ry]ŚتH7bGrb:.0#ONYǎ6698<K.>RX]Ԗ=SM@áϧSK 4|y'!O_U#3R`7>FlrAN*nC9, ݀`GIݞx@Kc<|zS_MAzbNX7?$樶Vm1v?!nyϯ=*M=ž),;ٻjjcp~e۞A;=884@lxHQ ##RyPnX;KFסu-QJZMFM˵ĸn@U]=kʯ4wcO cSHc۱Y`#lc>0><[';t|S G{~\sMip96 t!<0I?Z3:6pyO`CFl5'$vH?/^$x=F3?(<`;ש*IY03]=qx+'Gxv cGPyw͜ }h9$;3A$r}x)\vrp:31g#q:=>ҟ8rIsjE;zunn|[a  y `=I 1BdcPG'swPr)9'O_8,{cN8ǟoH;aN}M#8Tu9$ LҔ}>^r~b z091ϧ?#ژG#^:1БP>oùiu`u=}y2=񍠓ۯN2=ioq=3V`p%8c#3[rߑ\'$m-]) T-@Ð9 "C ѫcc&d±ݴ3:Q.,t "B^[hVf w^kbFE1E1Xy9Je˯,K#0qp /p`ΡFbpۗ~ɡp)ز8nN~t@,a 8)LGsD1ybAJyXġN@ 0֎]zᴫ`r229RC+D,rG1 @ Ɍ{d݄mA:c֘4ݟ`sqGwS3#6͌m^s{g3W?tqF0KU+ S1Nޢ:ѫND>f#><^}.VNdI!r28ne"Gʮo|1O?7֞Be4*:uƸU-c:zm0'cҠݵZ<ώYTq^ǢG BpSsp"y$;S잚QOQ lqo2zs^"Iflsh$wW`bxX*8^JQq[5)TrʅEKs]ՖMhܥ'mnt$26@PyZiD%\4q' ;j\Uq^Mǡ/aE^k9./|;]wgyn$Qv^{t81xx גj&nMN +n8{ʢjM;teP2ZjC~ܠ e 1sVxeD8a%NF:]K+݄yܚKXlP󵗄|quTk$U~hgی`9a:fѣ/b7*7;԰r&,*P c{rsͦF񄖧Qk!Bd$'m;s rPo'g#'oJw4LܲJBveW#p {5Gտx@sq܎s11nzfzF3' z`Ul SҼӼޣu`,8뷮s@toz4fMߡ=}X3G}@opC3N@8d>klw #QczwU#Ƽg=4t> ϯN!9aR==׮9Z?b'uc O)8ぐ9g=@Ͽj̗cw?h:g Qy}+"NIq9{g'<`qP<#sۨh_2/=?qf\'RdU>b]S$v|u=}*)܎wK]ǮpNy\uǥYRp:u'aR{1(os ~@㎼G?]xu]?x9+&&V5u =cj^999{׷M{>vaf=?v7v8kdsI_^Iq\wCS]NC]p={L%{8" QУgwolvLW$}3aF8c׎qL Q8n^=GeA8L\‘RBHz:{z{r) PI9$>1^H0=qm8|OsZK wrAJE-ɜv8# x>qT;`vt<lr$0'p1NA8l1˜r}=*9C|8xGjDÐXH2:zRS)"Î0# c p:apA.=*Ԁ4$d䑁שzVC8*NTAbz3ֺa橳&`FW_Zqדߟqֺv# ?*@@889zL N::TRyBh- j`Oln14g _J ^J^3ۏn)#PmxG8֞1< ?3q?lNs<`SקZx'ݟC\юʜ:zzc'Qvz5E6'?g֫:toCG_t}v  `g3҆s܂G^x9Fl9xmGRHNEDkM3wp3*K <$So,&8Iv!1v) HK1rTrrzyi.v<5[eҾ20[f\~|VծrUd^Y20yӥ}]Zu%זvK>#uG!d(q߿_Iy#hErPO.pFGuRIZT/&hEuw>G)V(0?/#:mrJl}p??qP"l20铕S@ #$npv9\z⪧Sdp6|X:dm ptNF="ʘȐ7n$f2x=9Ia_Bhl@]H$98Q+<3_M/yz[Z=BP-)hX4ss +}Ofi@S(.ssn<ޒOB߆Ӯ#0bY1>]:$RcH995֢JrT~;q!8$bqk3n@C6N3Cs[-OJL}.bp7`/!@g|‚A$10icc8_Xux=zt>)G8^{```g=Z5n-::a 99'ǯ \s=:t洕zvqgxz [u8)rq6gi3ubrAS 8dNc%d ߐ2=? +u:rO5Lo99<@=uYP2F8Б~uSxG9{14{$s'iDxۧA}jN9?+[ l9T}l{g ln39@p9*l:I t'W6~>r ps=*gO<0vN<ףpHq98=pxp8:#qz 1qqPG$@fASʫc:;t8Ĝd6p3=xnp3lsrt8qqֵ |H!r>nrKvQ'_c?o!r0@H7Բtfc:t# 屌G5W.÷du#ӹ  ^M,r'5 𞀎H88ێ_^9LS;}qc I߫:m=2^{gzQБǧ"#-8@  :7HxG*{PyI>9I0}{t{paLbN1 R3<׮7pǷ#Jv?Nr2x&i=28E?r g=&U R:GYhFF<p;@Yq㌌sAׁV7xĢOAPy2}9VoA+z !~^<Ī89<Vjeg=ZןT솄駡㟻FFw_lRWx~ӱ qzNG}{Sn?֦Q8O'S_Dn玠8y9QGBq>Rq%jAÕ@냎=20Fs?N233ǿ^9z9'8Np'Cң 7gHO/BsNK 3?J'9sO|q,5N^hn}*X'2}!#n6sUgiYowKѴftq) rq1ѫuՄy$g6Su]gp4au쬗pVҦyMi˯ξ᮹*8Eo ِĸ+_5! &~@2x<I-lͫZJ\, OR|ni!w,2w^p"c.IZ˻dS*hٽ h6ael䁗8 qL4{(x-'NBr:W iO6oE^"5jc6_hvY[!>ާS:\:ՙm,R0ep_ҹXeIڮ-Zw6ݐ[47[&Uv*9;jVYND6Ą⹱8H֌KZڣcJRW]$oM 2`W$=+ZI]FsD{u Wzۧk幵(TYcbsPy,MJbǦ<87Nn3i;z+rq847cSq#<dp`Ln?619%C>\9sR3GJH:x`TA֤8 zw4I~\át?Z^.Fq%}7ct9FN2 b@77ƀcolSۀWԆzԿ)t+ ג9upq'RNs:Ўpң'/rsz@^:jX ! AY#?/Ady#3o!8973ש&ђI/@ON SאTsLO֛eu;IwSA$p)<ITo\:\юsϰx( qqҝc pzG<{~T`398 zrAS\$$8֐9r'rGBx~c1rA*zdc8$p{1$f7  nT ӮGb89;T@Տ#'uM >^p8Ze 389t9*Nw>`Gp}3ƆI#Nx%sȤ\g9s~sH3?(qNR 0'ӜgcJ2qW H>(QRp9^wžr8^in5NA=[1`/Z8$å g+''6xwZ]A>z{zjgn)ש{`8px\ `w8K:arNxqèH 8zzE #'BNO~顒 ?+-׵9_lQQ9spNzzA#z.$rs9bxӀy:p3קz`&CprNr>Q1<`S3`z?dcܷR>Ҥ w7n?Brs@FiI@'a'G@ N <{Қd(pTHjpO'q8)0G^=AסU9%ڐR$1ncW$`= xC#׸(8W9L#>sϽ0zۃ{ qnX$d(CI$O`pzZ~=s}ubg 9힇rpJ(?מRԌ/V,:>lK%@=pIʦ z :ڧad9Vcw s R O8nkr 1zݻܞ=ǭG92 6xHLJ19{۟qR cp-Ӏ=}HGSߜœ>A4dzARO@=3ǨzqۊMÜqCu9=G8霕=ӯ@x88աTQЋN oM`39=isԎğz!yqR#s 8Ԕd.`zgO3׮2z1TA.99'ȩ==8~t1,v=3ПS zcӃ]D={v;bJwt(h<>*H -SˠߵIUڬJ ʥGf[y'E9(,Ğhm*Xơ$W*z'W)b]$^^n~5r~gNxC9LӅ(++:=ySm=iop̠ǝ~UYoUN7mI'`e,p 'm΄NCi4>ی1u9 'ZHiWUyB8ɡn 'v9WJi頬YNWn㑸[UK+ˎp}NsIByu+P!1- cIvGO'jucPh@+`2Í{毶¶78{p~SWnܹR.Aza{Za86 xҴsĩ%Ы#Cm m#`nSftPpq2>2;RSI_̜]<|"39 u}hFq b8Vc#j ^E?Hd/aqӾ8+PV~Ywlڧצ m y?y#c u|viӮI==pGך9# s'FwFHMXa uuĜp9#+r}}A,2WAϧH<)`rHⰪHiF14u39Jcs'8;sR$UFqx#9'<ӡ)短0=3_49%sqEaa`c5)q:@ -UH$?Ɛrx\rX#=N!?AV}qzRМq<{gޞ'98vǽ.1tPn).zǏӵH俱Ǡs@x @Jv԰';uǮERQG˞H8?旞 1 :rG9&6}>N3v0J˞3z! dFy9O9q~LcNCpz}#de:aF=?&G9%zq=GHA?^h Cg#'8G\}h =xz`qOX6L9  cA x+>Yǘ)۲6IQ%tƝ<Ri.- q3ud#>񦳠I#eJg 95T*I=a5̯Y>SBw]&ϧ$ ,v=pOz k3}3V \;\cV?.3МD6w0HKd()9ҹ+&cm:\kvĭFa 1^|n0#a!0? x5[\oebB8,)^g GL E_0v8C`÷'uR~֠[Q\bW`.ѵpyZuk8dC-E4>_ mh>s%aH$ y8,z>uYlNvmvs{ 4# 08?<-3%ـ۞: x⣊I?)'HzgT{+w A\'g׊{\:I 8ur]6gE;YɘۘX ]_NdJr(`2Е`L3qC(KpcvrA }=] Te],:TBlp(87qCҜ/d`i?C+읈ہ&8=2R3:j<L -#7 jR-9xr=A i~ns8ɥl̳<>V'g@5B$W .H=p*L_V'XɊIcéo$m#ZjVqm$9F3bjv_6sqi7D$^=Ee0Ғ',߯#:mq9sV~%m#bɍȯ:.U%>-5e&V=Nֵ;tU>PDr0̝2:cMrb 18+Ulz4y۷>4NpNzj\2yR2N~b\oF+f̜BB]}K!r#ň\'5٦-&zpr[:c'kY9˴F?zVJaB4 YG3'޾uZ8V1q!\p6dc3VsԖg'93󊯎#'G~OylO=玠v8 3I.;VxcXs ^q\8CtsWOz7^}klw 9nxV'_JOnA܎ANPޜcz■7iz~|{g!G:}Z]@olrݏ=O`:c~42M8Ќ٬נ'J&ɓveds ̙22xFy OSFy={B%^::S`{J?P4#s;' 9*XTcrJ_h hD_=`m>?N;q#S=zt߷lP?qMHێ{O8G>'{Iq8ңI~Q܎^R[Aّ29qߡ| m׸s^^&;[9#s'ZlUݞ9?tqj_%n$G%db'soI vF8$c_u+-rzT&Uk9yw\ pHM~G[mNr1}}~<_KύvT=_wӮuT0s~YxW7z%`/T8x_7bGls޼;O:N0I= s560O^3_An{d7{qJr&BrHׯ9Ue׆ݍ+)2 tq:Jz=y22}ׯڙǎ-˸>J?p\sדѿfyp8pz2G zoO.0gS>&wp?BqU/MgqcUׯf4G4d(YQ pKt봀rNz4c˩#֯.n: v]q8ԕG#qӌ{8 c|؁1^N99gN݁x9_q㹜8[=@9> 's#0,@21|(@bXd+~\6JӜ0(]NݸyF1F3tPvأ=M7`{Q3H9='Ts; IӃ sq֫s ?);VTלgwULιt9bluYTI;>1Mv>;(52~@YqM=lVHbsA߽rY7{K{=&?9Fd0>]l}ztϽc7sh+aacڕzc/~?UQ 댯^r'.9s3t1 㞸=1Hc랙<IA##_LQrHOTF(mz*oG$\c`|tyF3{4:%]٩}=jnrz҂<#sR1ꮈG^A4Ƶ ^@S;ׂ0;Z,y==$GQ9<{dy#<PܒM>y񽗊Ǹi̹Kw(,' (,u q ̱Ug ָ~Ԓ-4շN_ӔZmIf'PRH^ݗkFGoP88bVBYF 3`qåu)jMvmQkvL 1#x^_a/F?y"px>:TުGu,kvw:/3mq=z|g\ fv/n}yU0u ;㉄MǽgU$`~P8ҴH%]]sp;׌W4;ThsG )9;Up3yGn0J(8-8#c xr3s:<El>wiܒ@qӶ)!瞹$m 4͎zs)$=wcq飦>$rxSDc9ua2:480%Nqw{t'c׃2z@ܽ'PqЂ?F{g9M属$מ:>i 91:G皃`) 99;k6>r3On9\g;'$8ǵ4#?)Ǻ@ȎO7c ^sQsjvˏ\`q1=O׸,kr 9#9ޙ=zi3IU# n=>ȤP;]èi:*'@u!2ųשǷېIY)ugm$cip[ >bry`GLQ8ܼw 'ۭ0tϧ'NAԀ׭r;zRUyO=M8dpCqHE=?0Ҍ3~t;#`K{)A09GL)Ǩps}0z 8s=7rNG^K߀{z BpO*Aj r?tոw׎RrE>@ wڄB k9A<3r9A^' CJr(3?ŵ3ۃ2a<9+) xqFq6NH rw#$xKc8c]LtJ @ʰOݎ` |3@$"><`瞦#GO܌T~K}<=2yH @Ccð=ӻ>NrO^}LR!OQs^Rrq+tgn0( sO#~ܰ`K{zlӶ(Ӿ''p>c m ASq"n#)@wzqL<誜l#8&?wm8l{i܏\ONZQ7R pAC:Wm<GnӚ: ӧAL.l9 (y~8zз9~=ҥx$w)ԖI#<<\{ ]HD۷c?BҜG^pr3jg!Hc?O$A>*mxH߿0@F{u?Oq sMlA2nJoy߁On ܬO@''#֤ %I8';9W;PO^F g?8=ЎJgQSϭ2X@HS>?̣:t }NH> IIG>@>sTbrq8={v?H@Gˎ ;Rî9I zv#ޝi:sǷ;0?MJ0=JFOZqqК&08^< {Sz|֩&6. ^>纷ḍ8݁mAY Y>S;aMV|Gs.VIߓӟҺ[v{5} }NRp6xLbFN܅ CW,ldI.>Uۻb'22jB6" Jˏ9<]ﰂˈ*+@==vJhF]z{rp)Momg m`qӽgE xHpI%A,7uq U8\L@fXobCr;6|+(F[& =+Um=* +ץLtw UJLgsҩSb9b1?r< ʃss=jp`*$a0NNj9^];68)$Y$Qzzf&xy>ZV)y`mhRsREB^HF r0;ԥrA)) 8)Fw4w~sqʞީ $x$dTۘ dF|jЅwwz5+H[ 8*AEpp9#fNĜPHc1E;qWnPT`*17H9sO=AArҳ{k)[(8lgp{]Vr3/B9=+FC&I$6G cQު%8>SI?N>C-óS,}3ܑT |<0Fvî8Bb-! ;==20}k `tXɜjXg$![V !cE쬣9P2$̣8&L7rmɘpq5*w=I.ӲV sv3^h{6P$ qr*rSGH EHp0 @}zexrF9W\ͩt?#I9rNsnӞ:==kD9~ĞܜC߰|}33Jb/pNy8><pF7 2B>H׏\uc d'vL'?Euxv  p88ۥ w';@ 99lc{ssӭ<8?ۭsЏpN><; Ϩ4d9x'$WL3ק rsrg>P=Xns6`9d9럔gK x{sd{Sy!$vϷapC3s`F>Q=)0gh#=E0cN}8@sޞc}F4( gJ1<܎'z: p۴r[=Ϧzh8pӸN As?wN'i#AAݻ OAgz4 `rSzy0pMJ-??&(1'ҕcOb}h48x\dq p8> i'p>c :դr@Q_Jot͕%Qss_,9781mlLgn8 :%kI><,/}!\kGB6̀>68#=~hYSw[Xz[ ^2E2Dչӳ ]l~.t-2G$I u`u< TG=>]j36Ъr]tS<[愘GVw*8yI-'gbwvnXc5mo\'S_烷V;}}x 269^w1t850kHe(ЁQ4njW)񏽰mmr:'i֋ 4d!gt=1ڛll^9Ph7ތQA5Z{$04I@ǂG4*8KZO>9*Xhce yzݗqQ;c9ބsڕЪt`q}$R9iQX;g>'Qؕ17m8ss34A18%g8暩95؉ <|zq}Nm;VFX|~Ni{Kɦ~u1ˑ$yPya#RC#;:͜n0=x>xO>< 20qӦ)J_r!RI0#Tyޭ.?:2r )=jEV>jH1Օ,sU؟A$qy392 _ߏQL9bir׵W5џ"D gl,NX\p$yLPG ѷp::)Av5237;19;S#ԂIn1$ɟ_TƠzcDSrNOsTGlϔ#^CcKK+FxwE&sE'$+0=xtQl~8yOl+Nk  9STG:`uaʜ{u HX~Xo8>ޠc1Pg#Ս7F=s_Cts-y}@MG^־=.Ƒ О fNNq:7z2x>ݹ< O|8>jD7xb=G?Bbr3up`Vh*{z~FW(Ө#fL>aI=%F\9z, 99baS6Cd<*9=:BNAzV$cdcs`8xiy8N0GpG_y^4Cn^*H=ǜv8;dqڰlLv{ 2=tP0v2Ke" e zJ"UדO㑎֡ۏV%ФyGLAZAFpOL0ǷJ11qɩGL݉N9pF){c8\.NyM2}rF^#ni= =S; yךQӀP 9p0;OӶ k9-ˉ q#6W: Ns=kĭ߇esz =?Ңl2g|}­YzIso_#K`G9k[ryМ }?*>߱8YȲ&rswE׹A8+ԴGX71 ܷij-^9RXO΋ˌ&I<5m "IJd{d_I r^kCqԨ[/ߋVkmuil\JTbN9=|1#\+I0+5˽+} (+AEZ&*MNuUvrrqK8%v^v=,7|OFO^=dkO^YdC$8!ldWCi2rB<|!ULqUtZyXbœNUSI8r2ҵcd|c#B*=9dߐp i:hh&Vduي&QCs'=yCGq6D,]>@ˀ$pxq9U<15yW@/FF;VuIR2g ]>I).(RNAz Ӂ\lzp P]֫$O <|㱯?3_-O_,zmvvGAaqu) dgl[-t u8[.WlHxPw9$c7nQǨ;L֯C19JfM<0's?o|I#݀\tRf9`8~ x~P{`{*kVwbwu9`qӧ=j|q#9^{wH9L'4NE?`Gzv]O=ns%]GNq+zF,K`.J@u 9p(9]5^>a/*=HӜ ǨѷLq d{l֬|窜HPts[nBǷ\U UО##=`v{xp;RZ$' O<ܓ@ ԑz{~=/`rr1_?Apx9 3>4x88#dOӳہ;篦( 3~CgLϜQʞ;Q~p} 0q@!8@<)4NqH듟~@{ppTqۯ:rF֠n 3`sҥ{gz{b(lxNxrfC:}:8ݽۮ:~;e8?{SD}N=8SS}BȦsy?n]qv# w8"$'䃌usUʜOCBsRaP@|5sNy88? #upzuwSF<)p#e[=3(wtuQZ`@ly?/_ZŔn%~P9zJq+F{YlcIս98+*E9x?^k1QwtJqqA\$⼹;3J7m uy?&yQ܌glHr霟zR=@Oa6ka9'=(Sx*T{P?ʎ4v*AOj߁p<*pbv7b9#C}s3ϵ{Xsī4?Ã^SxrLzqFj`#khJ1OqG5'=Ԏ䝺Nޤ#[d=888zcz=s7p:0@OAG8g'<iH #*H4p1q#/P@xzǥ?1@z^N3<{zF1z`=~  Ӡ=zӦ z}J.q6GlB1NN12z8 #$}hRz?}iwO_@#=rb?/N;|tnI8u?6sx_PynFA=O4=JAduϰ{O$N7I1!ӻ*mB`>W #do>uͨIm $ieDOrO|8JN䭉TVoe'G7Mީq [k:iЅkI DqqՅ)_K@GwSjv<ڸڗVӺ-^k?kuymjS&EaFfK2I-~'xKTZ(%QD$g .^SYNo#ȩ]˕&ݿ3|WgfѠO&-Qy#ZOݹ\>Nq^1yxM5εc26Khʐ @+}}Mwє{Wͥ>wRoUmt?Q8[tIPHMj!B1YqŒc'q K$y`ZNN5mo.UM] $tM5P.'!%y 'E:R~jVuݝLYHBweA>@ eی2yn*х* ﹝sil(*J~Iz沎&C 0VV,ABqӓ\'ܩ6@w0##o'q ppIOSu)ao":n=󎃓@;rܑہYʿXw M5?z罏R7Y[VEo1E&5K۸ ^5&JE@ qZB4*>V]ҷRA׺Xdo!f;[Ҩ3Yo#>e'W4>2PYp Iޟgq㻭eu*f"z)'SK[chIOv2UNܓ=* mONH2C4rpj)BWKuJnK{0mw҂Ist ^GcrIt$01iDž .x 籫!+Ӕ:FMn.2UQJd-? 钫ʗ 8hX? Dgt,j`n8GZK+ڵ)B׏O6vFS]T[3]5y>ld 3P sQ,w>dT_4Nm͂6JHOߺK"n-(ĞN|"A#&5$~%-4erFr 7_ X#5u;y3[M%;g.{<ꃐ>{#Ѹ>~;s8פ kzt9SvH#ց㞠d?Ol1vQǿN₄݃€rO''~)<{w gnOG0c$ րAT6⠁R{w*)s)O#qO\/fb;۸9iq=Nrv8u:G;ސ,qnL'su 6zzvzv12z֐ H'ӧlӳa8g1#9 fpwlt40e?ȡnPǮ=E3I ǩC @ۑ Aۀϭ/<;*q>߅ ǩs>?ZvN80sv.r܀zeN9_惐8R0gԋp# ~4}z sixlu҅9QԅpdnAbLc?잽h]$cߞ׾h[ lq$cA=JEd7na@BO`zcpx!{:S?08?n#bOߩc9q(+wpIFFryz$pS_J^k <z~e yq|wlzJawʑ8C`!a GPOC,O\u![<р5 {m$`@} H2 P{zQvPWPA<|ǿltQwqԏң޸ 'qxe!͜u$(szR,@cg?ҕ\ӑʟaVg 1 '_^< @<?Z0{{yZqյa&YEFs|\w1R0%8$:Um2{2]G˿N&N0=G#8} ܲg#lzcҬ =y=irqqfb0=H{*p19l.s\v?k^$~MFzgzvWc9=R#<~nužp 0@KӐw dm cAPN):p3:rœjz#'{Q͘#d1wN 0RF? L~рr8^<#׃s{G/a9ʩۭX䃿F~'8G9 9t%Q'zdg9DQv!,c̤@dg]b@aN9|_`%\tdi{\}zw'&N|?_oƜy?6G0 8##Oå8㟽$`w鮾yr2xԞiH:vs'=@=8SdqT8`zzvt=sPrGR[O ~dm۸pOVJe!8uvx^h1UFCTIʜ~T`$gwCԜW^Ժ"LF 9;8A,cdg3SɬƢyQIj@ck|,n \2F9nǶ0:]tn̨Ц1bXg9A+kuFݎN;QZzW5R(̧%๝F Bprl. P[ ԌtP b =8rzzS2GrI˜'✏t#ś+~`yd#y@$ӭ)?]}@9v=H}SÓG98;NK+0~PA=qOvp2>(\"®A_p9Tt2s]5ܧS~AOCm\.(Eꥆ:6r2so[Z6!b;#\ReFFT5: o@PM8Bp8ZZAMhg1Ak"Ы`9*8ӯJQGOg~tNTpWs׭FAFq 8P àg޽ zg9OcK' u׮9=p8>ڑ#1:<+F3Qۏ|31GRyzr`)9LA9` N@:/<@G:g\^O<@9wg$FA88 '``Ia;g 1zq}}a|BASpTz1lYZA`:H#8ӭ.=x N2Aޘ`)߆΁L:p3(= 9q(H+# ^1 ^#㑂:  j9 sŽ:X=`P1xe!JǶǏLOĶy$6~v r6nN:`qN]NU r2Af`ϊ+o$uC̈.2@A5fZ|0PYx8Xw7_q,໲DmDpOrSKduܮr'<ڻk_m qOa7"aAuO^>FoncFYIM"7p{r:/>v0ѷ$uqzc=yǵYʪG7a<ղ*"A"2WKo0BǨ.NpG'$`8EJdՈA8[* Iܤqh )Ӂ FYօE@Rtq ?xNpB G9Q.wcK  j+Y[$ǿsdI$H<玔w7eX02X_ZH$HAf\1bBw=v % U~rB@0@1V>1uRH< ˠ"%*sxgrqR)BI'4AԤlT(7q tTiy`$\AqyAFK1`5+N;nC9 tǵ]7  1AI2`Fo9׽12bK~S *3#O Rcu![vG;098sđʎ2s#鈲O8^}ϯ`F ݒܞg=4KEeWV8 9랜Ow# xoLwҗPYc䟟<>dy-S `U\vԱ-΀qij&C?{g$H׆'2y`0![@9]DJ#3; EEX?zSӊ{E`pp,y*7NyVT I=Oֹw3#մ+* Oؚi3AgP“}.XlE*PdaBw }\m܆q9<J8scLT@I3$tRe?6N{rA\9Pƌǡ1:u$y1޸k;(nsS93M=I=ExXs;Xb'ǩ^~P pquQ=Пp9H#a oJwPx<8MkLwB^3 U<ʒZw'ۨV|08lF01x-65]Q6q`<J$>e8=H5*N,D̙?۞*>N>\q㎠5XsN:j"}299$V~#*`\sZ Gn:~ZL ϧ׿܇Mk}9'WEY#ͮ5#AlR58L z~|W< [ܹsӯ_pi38=[H!2.>o pH8rWm$Izsנ=f3>ChG@@AO.kϫA n Wޘ?L9lO&izێqQǞ=yޥ^@drF?*s$%8n c8^GlQuzv9憅$܀2Ozx O=t=EwD0RH.8c{c#~P3OsNr8=>tuK@:g8?ONڀ'O?1 dcc 2I1Ӡ_~1q߽!sb>o~ߎBұh0w< j=cgD}9`?}i\קN{T2gu rA>ޙ2x7FH>׊B}<=zZ(gLwqA߀ dp:|J3t̠q^_P%uF #Wԯ+n?UsV3s~2OV08=G O_09c'7dCSߊnj\sn_Zl1T3J=tshS}1KϦ ]o;펠>F; 3ϵC)Mz H {{f s~"`c|繪T?_zi3ef>vÎ]0A>\d5ؙ!8̤Qv3py=sT+28` _oֳF0N~*zR:9`OpNaʹx^~#f{W0Ϩ@9y"&'8Iz-YW䓜-<嚀rrq㿵xcH 8݇] dlvޠl7pq0<ޗw^Ԟ:VSk't2?JilJ1ssNxK2ϯAzC^Hǎބ)q`֥aqZrF@@$$H`g_Ƥyq0{13ߐq[Ppx'=?Q]x}zPF9c8c<5 68t'az-mL;?:1A<~^ʽ(l>d092;(_N#[G0d gdp~>i>{#3&ӆ=~c;s=&l +9G7JxI8=^*N=3{Szz{sgI?($?\r( ~eG=;S7ؔ9{dϭ.@=9^2L1;dpzwg8c}Goz |6T` A>מ1d=80ǰ׵8{N:=;8#Ld|o~'9px}0{>pG):t-O|{i:c#=x9A78䒪2A 9}ZK0H]ـX{ i\JƄZt'%lPBZY',jy+;\Rx-#UF I"aFIVݕ85Q[5k%6ѽƕ㟈Ť+cFpvW`%(IO=VRϒOʭ"6l7PfGWNZ&_3NS_&}{I)[m@ 2 x!Rp@l79ɮ iĺ7̉FGBTy<zRM򷦟pI4y]UtyNJZh5+xfV\[I$A lEXDZ勝F5RD]A~7$d[ֿՌW8K?T5ʩ}J>shF{s_=j'$,ek|sU͒E[+OR"e~VOcw{{jZuM5oD_mODB=+>m*]Z `˭ 9v9uQ@5}}'.Q-zuw|eK+`ď|j |zdu}嗈NH:AE;V}+iwJYNS9)i\`d,X/''ol)02cX[ñ>*;!E.n|Ɗӂy0{d2pO5'r2' o@7urp:Rs4I!u2IBA7`{KS:K2Å As3TOmaq}P+\9s.qlGna|W,}+Xѕ4Q0l*HbzDN:_56E);6UOp~e#> >T^b^rʬd3j1ZSo&}=hn|#5kXjFmX%ŵW#5 ho5̕r%  9B52۳>}GW筏>*ZZinwDAlAiI[g;8KiHʸ3]R =[V6z/ỿqyi+9aWxc\MkyCEE^Z ;J"H 5lZW_ͣ?[lŬj#_$F$xu*9vV+{22aVRxkn ['Y_K5wdْVQZ/ut|mi\_NMٸnH=@~#O۴}F{ng[c*ARlOKMZO|8u򵇲25H>0hV54 2V,66TJgmdlǦAc]ѭ 9*uM#+bi4kqBd\K,NTp !Tz9 ;;a7Vez9ny\t#W2:#n>b=2=Fs)G__) {Nx8 rR( c 8zP/%qqڝq '${7ԩ9?7SC>n> lprT\DcқxO=3\v8<˟SӨhq368 ߜ{Zo'OS{GQ봎tN>9 ߠA ={!@ 63׌u'vapN@s<x Τ$Ip3l';y;A&OzB<zq8q41߃NNiurC=ic<瓞?X1zR>q9F3[sҘ 8q'< cmR-p@+H$ޚ#q˰lCr@m`.9?#ϦGxOROq" 628w 8㎣#u#' x no=9#=ZE!1;=9nONp1tE!v zIR8峸z }j@JW$qǠ] Ãn;ޥ$HXZl$ty%87{o^X@r03yr?Ҽɽ d8#\Gqȫpr2AnsOW<%A9gK_VTIڵ&h䝭=x <?5d+RppFq)0ی@NO Ď)2Y * N񌜑F3hLLsxjUXgmϮjcgNC '^q|~q_?ҟG 2G'緽 'q'.wu t&9鞤`c x\4]>PA9<`҄ԑc|}i( qTS)o9Azw*gh/o}”wuHIy<з=Gҫo"t8{}5.0~8ˌO_ %9#?ʰ`qz 3~DNHrO=jpn9>-A+G|چCTyuc֨s(\N8zE<6e.#aX *GqZ 7#݀8rךHrct۹LWC\ɸ0#Q1r@òX9QXzv9Y1E!T`[sI#Yp.xuT7wmNI^סW]ّ\ħ"pr|Ӝ*$EU|ř*|8Wo*ӡdcD;`8̉lުiXB"($0a*'${WYrͮT";,[T*U$v>]mN@f鷎`fzΪRTs,rrlVU,BA[r?$pGp\(7Tz7*~n9#K"G+qHFvg-N0e~s=@xN+-Gb]d+bwӎjCcKQm?1{blPH% oiI1ŎOA知Rā ׌5,}F㜰 p3fѻ.a,† -d8b4aBcut݂{ҳnnx;CFz52D_0Fz7v-Oڸ${>6ˋ0<@w8|Z )EuNI|h$ vҎՓ!u K>w-F Iԝ20?: <$~'ԌALsLvF^gi?n~ n}{]Oo_t@|: 2F3'L}F#d1y|dإcpz}x«.iϦO ONG.<򓴜@֒/qӞ<~4ݾS3ӥ0N =i=rNF~\mpz# !j;}';# #ۨSӧ~Cvq{ w`N}E:NNpz)'8/#qqל*^3q\H9[;;q = 3Tx\3N裿A@'zA#w.#mIsИ ߁=wrNᷨ g9gu?Q{$$[Fpq4H@?N1:rO q) nJtpOQl GVwӒ;q^@?I|ā9'8`PP9sduxIzrû#PE'~lyt<-ր9`@ 8)/ꤎza@ ˂qv@' U\L|>sQ=Ϙ>&v߼%6NO_ ke%Wu 0O}\w٣f}ǘ*BpFQl?¦GB&@ 71 c^Vri%\T8RO28#  [R SGrEHO3oFI'.*u2ا?2ȍarNyAv4Ea$;&mQB8,r93ֵl0lr#Dr2nX2b\XB|6~bk0${qڱOP3e O_sZr.Fw.Gi_0+mV1AmGg]N*[ܑ(,p0xvSJ)B4hbd1 2k9 93o9>&OY:( rֳ͟(Tg d0!9=yCF 9JBpBn!FqsJ"6h˻i+`*˻$_6K39SoA-Hr< ;瞄GXMI9'ZV*&>Xim#vr8dg SCd67 ۻw~4JDbj#<%1!||ɟz❺_͏Ie5CwH2/9T,U9px'oLsq/؝'ʻH$XzqO ǧ%<7Q+(IIiCۦc\ٌgh)p98 Z!xYI.G#Ro33}l^1\4MlxBX `ϽU[ bӝ9 p ;EwsFc$yn/\V) 3^ya 7+3y>׷Z^#7^ n}jP@ gq$>'g@|ps?H: cheE}laz`sɭ(bi'pᶜ+C2)+ vAIwdaGִn$nmy:+ D47-t>x8; W]gjDQ˾LwۓڹϡGѶ! <N3:Z`9dqy:}s'y8F9I.;Ўգ'q^rٛQg9lּ___P}^)NYc6dsN@09?zy2{`N0@ǞzPI%8wL^ ' VО#s\քI؅'F'glBqЌaZ4Uqy.3y;_U31GԀ$#9S#ր!(H Hr$g ߯@d$9=7N@L R3' ^r1v"~ {.0IZuS鎣'Gim8{MXFzGaߌcxכX]^?;sz\r6"/<#9CN#IN%$B(>lN*yy'== \w&Hns8R1H99眏s <ۭwLx^8ǹ'?ʤi <`s\~b`sOaxgЎ};{9>ybӏ&1ר8/l=sy?18=Kf}*s#8z &)(B)pUn<U3wב=GuWOtt| cװZַ~'szBO^9[idd J-~gl GBsVBb88zp? w|灌8<$g\`϶5 =OCRev9`r9zAF;.9<_a4m4x1^Hzuj/u}Ij Ex,1q֧ O]F.D בs#Z' Q}A:6 p 2:#Lѓ i8+?^ڐg\) cc&[ pN#G\SDq7>}͓8\`9u֨P~lyq{g5lO$真0}`d0Q1'<}[cMfۄyH_rr硭t*< d ete$0G#G֮썻x6ϩUԸ kA]jP@@ q-l;9:p8L x't'yMqv;=pӓ409aqsF=3c <<ǭ4z'>1<|t xNO097#Q[7;: u &H9Fxr:g'%O9{;P._H''FcGojRإq19rAݑ{ϥy&0sԟ_N9Q`>T`qZ">9uj3GmA<1i zx#Pd|͕QH^q[$Y?( Ldw՟zhIS@qY#gs=:\E #;{tk"A8R$7J]MLYl3NwPa6;AHd᯳=l+×q޻p=xXМɯŭϥ½b0͌@|ӶO^Js؋Ѕ9Ϸ8c3T;8;;R}V=?`inzsC+`ӹ}:8$}Xƃ0I<9u,?#8פ9T@<E4 ܞx9b$r8^=8Sǟ07t0s=븺`<1[P\r3ֻp=?*]ܞjG=;(#~X#OF9U#ROnzz0YksL`u0:2S<1dG\~?G'ӿZq8ӌ{zRcOL[2j'=9GQ_֟qux ~HsAvIIoÊ0 wN8gK#3iGq98B9>@q#>$oMܩFA^y㒼x#M .:I^It-v L9qmm8,Nzq\.wڕͮi~[im1n?t=tQ,ӯRh3GqO{xVHѥidkVbm>pǹ~;×5}'3ry R6rz]Y4mZ$enalCmw(/y>&i`~q,%Wq9kXʒ9'pw&5DmRIH&Ck"1zu[Z)`FCeđ2ʟPT9%vЪt嫱xZE(..GIؔ~x~)o[+*J\5b-GGQX%꧇mjwwNJG.&C̕ %iW$+ܾ|+QJӬXM.K^崊#q#MYs|jpMݺV_i扠iukl5$62aa+$+iGlNFL p})S*T]?m_-L:څN.PIr4iAx0,,W -ÝoNrQݻOjڱ$F}>291<kQ  a;³ )1^%?OyzNNݴ"ˈ*H@S ē 9T ݜ|o0\B9=:1}ij˖1l-'kex p8gseZmjKӔlOs?᷍J'Fs{h͌\fox_Ö" B.oEnPQ鎕>TwF{w̡]ӔanY=z{y-Rd7C*pdB08#Us<ǿ^c\58.p@?1@$1ىۊ{ϯ:3Rt>8ApOL~u':@?2zq9t*᳆=8@x'o v=)8 dP1wg9U`e~$ 0GN84n)ӑL `s@ƞP2xלAlm g8*I<=I~Vat<YqВy鞔tx 1}l4џW$o!cj@?{sx}qH6]v\P1`(<Xvd(#$^Ò{Zo_C$8cqy{{dgƂ2rOӐps9 7r`zS!r#99c=rܑ9.:dz༁pA  {]Dzx=8\|Ǟ9 ϯns@g1`zg= #=q}`0p>1ؒDZN} Hّx$)qǾ=06S6GSq嗞y rOZ]>>rqM;?j@O=ӎ)`ױ`:R `zNpu? fPz u;#=q)F9\LvB~`9'w<:񃐸' :c$cNÒG8#94~z7@#~w3n1q1N3NNnc(A_҇ 7ßq>P:`nOC ͸ʼnB_4t#8%ߩs#9@#T 7Q;#oc?_ʚ$iלO]cHC㌐YN8<1O7m' 0#/cJ['#wqxb'ԌÁ3!COr_83O(:=3x韽u 98RcHC_?{qϡaMpYK`ygth[ @A'S⃑ !G^N$2jF0w;= ^p?P1p>ړP#p833:qGcI$&Rϩ8$w($ Nz>A{qW#ӡ x>^KsA JmyxnKrF=8o^io+K l}H+N{=jۺĠ8 AQ?UvSzs<2wlrNz׮[d1820RJ$N0<:"Pp3{*A0DJ|s'i{9LӥS'[',S$gt/%=@9N:ҚObNJts=pz% 3g3H2' s4Kz}#JgouCԕߏ֞L??ҭlOQA8>7I$cx^(Bb䓀yH4{ySZ0= (w$o9@V@G͏N~?1}s Lz88㞿;TH؞KL,!=Ӟs4O^p8!z3hF`~QǩJk`9ECBXd?Za|6`y'^hDEezlQBF W{B~)n#Ń7 0sL`W_yw)4F96g>bh$ߞ18U=ĎVlM1Pav+V`:C K؍PB[8Ps &+ː OKI>SRr< Ɇ$ooՠ9˓ʑo=c9pwlLA 0gGz`8bx^9T#)+Jo[jy pW8{=@3%$@=f&R7+ C/7$@`p#g2s=έW FN>2z晃1n g{R1v=Ppv#8?&qp8<$繠gyPv3Jp' q@܁8ʮĎT18^8LiRAlgL+3R6x'G:9xp8g׸[r0ۈ dayv޹vJ猟!p~`~{֘@'<`~9֓ x9d `}^)'\p.G|㓸13GF=99RB}?J@Aݸ#=rxT @ @8?wt4?C*r0{` G<@P9Wz1L qϢ?4 dʀ8p3ۏOΐHc`S}x$8\9W=_^;@7<`rOϿ҅$x2yTË~U zaJL#=}.\~?6p ?b*G @gߥ?=9*O?0bzt<9j@FVH1O\;$ 007g0NFpݲpH'{g҅Iqw~('wqqq@ HLչ1TGBJdw :=h`drC`ӌ֕x=JO?B!A=Jrqz}޸: Cs 3׸~1n9@f F L0sǶ=9193q$|zP'#br=U{c?P1ߧLe#(P2DH` ]d= 39R0Kx'i(+V5ŽT|>oUhTS{Eh}Y\mfbX9-GRkkKkb7h;€c'@Aۡz$X8q;P0+ݻh' |E$H?.I8#l3{U{9po=0I-=юF;rsץ4XPV@%9B9ZHRFaB@qv_?0/ 1c K(Uu3,ބu^3q /8sY`t}I# ̾+thm @wWzOO/o특:/V[韔 =؎O^suNGY=qG=?L{4t_rzqI<0㿶N=j"Ows{~=92)<{zH#uQ9^2Wes3QjHFI\ÝjjCw91SRz=xԧPYץZK2q}ԞwHm{N8DR`#G>='{^٩q.5L٭:GPxjNO=2G\ՠuRs76 vLxA]Zsؑx\ʞFqwVIaA'玄rE dqrG>#҄3$_LU=}1L^h q?Q; bsd|t>֟R[.*p'5GT w{#gj~;B1۾;g5H*W;`O_) rIwpF=} DrMK{0xH@\Ɍan9BO|VRqd%};ӷ^où=HR qY&c:zGnsĤa؟ L''NC_ZQ$yc[]Nܞ½W&vmKUeUq#dS&If 9,ǖ֢_uޜRmmPYq7pf^@_ܒ~B39WBXcsA΍z4֪jIz-P]SEw "V `ڿ7"hXj!DHdH]fm|\uܱT˕C*aj-d͵o };Xk$;K@A q\dlapyFO ҼT9e4'xKvW6 2${|vOShsVo_y `HcgTq}s[=HI9+J.&]s :Ϸ~r+V1'zI^?:ਵ:yFO=°}nj|x g#NӑY":=@^*238 \,QCY9ʐ0Jq{P><`(Fz}i;dsoe$hͿN{zbN>רkB' ~1ޛ8$֥ obqoCsH'Px#f;28#g>=x={Lֺ-QGQ^v =t^-z6~Qzj!=~Q7͌9`WBG;dNvT {לzӀ=Q' jɸp7uI=xj3Ϩ9#펀K\*t*w~ҹ{ N8s Iךi&qkx+ ێ{2zq`xhXm YrA~`u#$d[:Mnqzz)Gl=é[A,0pP# zs\`)9 21~4\r{8lTgc~^s_\Py\8:~}=a{dcq@!*%3&PvAXV1 H>:GzgfYW?18%OǮ?ZƘxs׃}[,3OηaG_5ۇy\ߧ:uo>cZ"]`N'`H#?..s҄Ky a8N`9LC n38xî~;sA;u,F0WqR9rI c9};ЀiA'oỎ: Ӵ;G@ s&J`r`j'梮G6eN./˜71ܮ,$cOּY<{ 乚m9qaլh&9d0olשBJ򳾩umZ]]>7~{GZ'[zƑ犡yjw,lė*#+"$]-\"W՘ڍf//ij TD6~^`b~"ǫSV;imRGI|/;]gdMk_T{2[:}HW~pT Np+tm_O$[+G`yI2:a<)CAhR[9C÷dY?)Oq5}xmd?+m%C)8뎣9zPkdcNJwLĂ7l`Wkxov6WQ#k=T{;l2k$i?3ߵKm4"o7QXCN[qx=GjEDrX,X@WO|M4G/a]w `s?R<#߽A$`)!`n _IN~M}ɷǓֹ^uJ9*Jd;ʏ=qQ{E/Gsa7eeH҂ zVw<}gQ]2ym݆:KtXʩTF,zq[P{76*YD2>?Ot/*VmKˉ.,]6o gv0sx-ЁǠW%I#O/I#' cԝpzwu;y"az AL!v?ON:<}g$pWx2z- v;Tcr9b?qyrA8c d#'>='~@ 3Op3 }G9H:c֝9)ʟ`zP> pAO\qQO]nI3sҁ Hs׸䏔39wG{F{M&,98恢=܍Sq&F8㜀%@}N}YB0>`X <`ӽF[ [ G~t$!?!g=?J~@8 sL1O`1u%zǹqXy=8>)q ?#ޛbs;⁎Xӿn“ 8P202:8+HP0={OrT@@T+ Б=S ʜqjL86O`O_^!aNx}O`(98p9'צzr)9'i%0x<49`Í=z)8$Og2;`_r0s ))q$3#Ґ!İ g#=)9 䑌c>qIۿ>RB8LArFq9L$9ϵF|ܟG9=zTlwv$cڋܜH<q=Hrq=֐ܝGUUsL< dt&5ԉ8zvy{?7 zΐH8RF;ǓIoR6}@늛1LPT0sF3PƆt 91~dw{qRW<`qңgӏ g vzcY+es=>ᗀ#NJz˚b8C׾AGSi]d_Nld`N06O^Ezm#J)<6y8nz#e:dd1n8g>5ܔ rI+) |K[?(}J0[wg#ڤrq'8}h&Kxq8zn|>Kr1<8cAz/b]oGQQ s'4'sJryPFqSOrA8ݜ =C=y;F:-P8=r:?PqqE(%0FqiUu p q(/BXy>1ҁ y CnT; Oª?/a\$קژsy$Q$<};J:o폥(<OiA=;:cくjo^=NE5oC99-?^}1FCs}i= E)'ǯf8l) ؝eT't92{UeE8SP~Rϟl?.\f#0oN6@Jzj6 3uF;k:RIerTxvlҡW%onRA;B="p-  0:CT[+ 㿹nPrnp<bӎ@8<nHګ$I+Wq=U,9W?&6 n<`wNcmĆ@JGsRJ_pU6:}ĕES'>2yxѰߊmiz#>p9 { $q;բ*rO\t<ԽiKp d:dS (m;'T%t,e r8[B 6 AdLHӋ<9 mG'89tVT Gn {: `2ÂH=!ϧ\wuЮ# b?o^9 A =yម9) XsԎҷ&@c$3$R)n#=1׎*yPsF{ IZRsdyFyty*:zRFFl 9"㑂OL~QaONppH1GojBN00rO$V  Ipz`0 3w"b'nusA'98 d3N{sܚy6\gC ۸8G? Q:yR7|c=9RKzt)6{9zE'<@; 23DzzLBu䃐AFp0::zdȦ u08Q7}y?89==/AwnO'$z2Es2 9)ӎzz:Iq:w$du'P p@B $t9֌d``g#{2 nznr3n1.lб3u#'P;4r |?cnrv:<t£l6y#sH}GF1s#QF;u+qpx8zrqهsP{pA ր0n8r) ǂGN9#ބy=UFI9PI?s~t)n|E2cٻ,Dq>E}Ρsg9܊NJY|8TjC9-0l0zp`8`>{*ܤ7;UĤ|F bāqE\E= <͛-w9o'#I_#WKsp)n2aܹ3em˕Ic 8qmOceNWؤ'Qlc€#KՔcNI c=ҝ 2۾\ 0?p;WEܙ;4sK6A 3=S"Hx*AI; J7y6)bw|=x׭em^P ɓ!Nx8S&0Fy3@8dgz`g40:~)$~EP{cN3MivW?h&=3X}H,ܰluzj4 c;y#=N{ү=9ʞvFx>nbm 'pܽ2 q q'À`nGNFwI|yQ6q؎䜜q9:d9<7Z @8?6wNTl>7ΛܤdO1҂ofq7(1rrI(ܸ=Ւ2DUIثr6|=5ЦD1Pe` CR6œ.@'?=kd`+r9+%{ `<tl7*0z~gXR6qcwvemA @=Jq׽}q`#3 vhãl]nܟҚ;;`x2k3pxgRAdqۭB82:㧹I8go8o]LD,g3e#KO~ݽGsX&zcϯL>1:z]3OhN|7a}Fq՘8cYYm-#νGOz`p37sj$' q p1w~?a1'9cAcZӏ';2Arx ix_݃ z{jbc<*xN)ʝqGBp?[ؑ@>O{h-?)`zԃ^ߡ瓒ORqq?Oڶ[16$#<sFxd?2}t|:ds{{p1sKOn::B`zs3v\ >לP$<TL8#tѺc ~H=I* `mQ#;p0?L(Nu8A9hF@O }J&#rr8T5w#G|)Q;'8Y 3ծيq08k#bPK7Ooҽ F[8cm$LOUxA܇q"6#<U,げ63kr[A;~}qĴ2Nx~&GԴѣ1*r^DډWIvJ<-9Ȕ$+1" 38;twYxb!2j ⫻JJ6$uW|ׯEvl %p#c m1K%ܩeJ3XQQ{upUKG&.!~U9=3Gz+Yvՙ nv$XRJ6'kN>j1O"vfaGr}:b䎇%"3R#pq3Vlu *- l lZ>gyhϼO1Ju#bi%s}5ṳM4Mvo/l4̑GʹBO86VXgbqװLz%ݵ~'-j,+0XceO~;t3*J3\E#:B//.a:W~2X x ?&τ[ݧq Kk}ȱy#5Jog<'*~?'RJ]-ڌn]7:(mvu)ֽB_3 [ 0#'Cu/yS~=M1FCn*2o'Q]| HF~kDӇ>{[qy#8W ]Ψ+Ay|դǑzkSpBx##ziОǜO>)%~y?nBAמHps8 mry?JN,yfrXA?f" O֔{qbHL% G^<Lg8'aq\QFx94'N>1޺(Qؐ($clT:ȧ> E{tvGUٲM8Nyn>çn;TAzVpO]5ґ9> <Jf:r@_~HCz2٨ʐlcH 2ۂpN+CxHq?.0\]U$pu9QW H{|A#hӸr3ۚЃho<OLCڪHWm 0r`7d񜌃Zꭊ|p;n::.zݓ:sӯ\ 9<45cg`zUbsOO_J餵1x3AOˎ}܌NFH8WH/˻9 z{犬x(rI<~23]HKwO$):`t~O-:;:zzUͲL:GlҲ$N:FKqҞk t9V<1\uORŽ8<9n:׏=,2d“ݎFI?*bXo@>ׯh{5Z*xzg<{Td88J$v"OadcӜ5]dIxt8z `OcD88'8g1Anpxr=P092Gҗǒ1Ir:`;[1<{:z~T9Ԏ?=7Cӎr|NGDq\װX+4/$&v̥05I8,WPZyE>iSpYd);%]8]=mph2 6t+.RԗTap@v-i<ʫoa3sTy{7fֽW\4+ɕAvO-\KePgĎ>InI99J MQaImC9gS- by|$#n(0 (=yZc_A3gbH! h+l4h3\FAǶTp ҔQ2HYyB{`ɂF"X6 G1>aQ X7p01Y9WWkJv^T>NVeϯU=ѐ+pßPMKJ[C\*g$#b p`dn >rW NW2)cj_ny`C<ޘ\ny 21]3Fjzռ}z7rz׶|.<)Q6 2ǡ@lARnb*S狏O[3Ӽ?6?&ӥ)s]gKvv3E`ڸ䀙f+`2ێ=lڽ>QRpեXny#gU@OYIϙ `.3ЌkaP41 d 3tC]mx@YX:o;7Ҵ"K=Ck$R4dh uF9{Wrl1Cr-.HR69 撼jz+V-%iim|>~(oW76254RAZ1dI'M +`m<^}s}IE_;])rW{|mNI;;8?9EFw26LqJ:s' QOFg 2T9u۰ nE[!VB 8aBnCڥ= KRwU<`2;3d-FY!bp ~Ruؑ92vG u$'*7' %%fUtwOM]J>C'C{\~!i1jCH$T|Ƙ4xEeU95+omvSV[]|=LnfK)e)k{.L|9_OsZBӵvEKVg\N 'beιݯ"zm`crxiz؎oǏq$?^=8jQ s9N;бQw/4s1ӯQ89.c?.2\g9<N[0rF}88 9nzۜP! ?7ˑ!GQztn8$dcLc p8A{E=;>lg A}>æHぞp@8c=#s.v ?w09 3(`S s[7Ddm^JỎs8ߚ1GAю8ǿnOL+Au'=l1ҁ)`8@vc#@ -v3x9;u-{~/NN6-0?ÜB8=#{7L:`#xAsǏJ!!' ׮jPG>8^2?*hob!9)j\9T~8u搄,FwÂrI^gh.sAng7-{vOlʍ}8\eFy9gZrH|Ì(^\ lU[*v8@F:uG#^;dD|ێSh tGzdONoLns})'^ O}Fq`@ PrNG8RNI8cP/lFO38(3G2pAlO=v8 Ht'H  HW88FzzoZϮx*y#s'8$zN x9{s@%@Rpz`Aךhn9;@Cgǡ8A'䎜tsJ`.SϿOqnܱ/Cc! 'oH}NIN6<} nq#c$gAϿ4N ]uNqۓBz 8~'98r#ӎD=y<;;gn'QåPl0ys@;N~*V''xn_~ؠ 78#8ԏʕq0@׿Ҁ^(rG+W OPqHlTp۰n)0X8##NH:>{aѻ( p!' `zsH'#:3Ґ8Q9ɩe  y[> eH݁A9⍟ŗ$u*PO$>7y^:di!F~ROPͷ?8ǯ>7\r1 <̇wp:v2nlFn@rLUz9 kIG}:1ǿu!8è=JjU=z펵B{zn'<8qUͷ޿pCrXښ=38,GoW=Y>x;ҁcX==Bc;sRs0F8$Mu0 ;OHt>%0#n@x$u _J ;psM s>U1>>9}*e:=MR$89z1Zr:s>PG|S%J9sgn0yn }yzv:bOo_¬Oppl zuAW ?Rؖ)A OB:s4 d?4p=WR$p鎹9`׏lOJkt };?q2=$>S鞙_d8V )qxݿi0 rSxr;cOƀBd'8pT̑Oi)9?|Yǚz ǐ::woj o[`6rd!0{`sbLp82pZFqQ: _CiݳRܮ@qQct-sy */ *7;1zd[mP@%cЎ}Vepr$&? jf?Q0C 0VA 8 s@7uQTa/o,=;ש81wܰJ1zďzH `o,eCxܼ{+sWxp'^rqq]#BPFو1qyPX|^v){:pH 'rgrcG O\.6V vRxl篥BKx-_N3M>rT'9/ojʸBr['!}p>eEN`W<Ss[*`1ߎ3TJN =?Zȑˍ̤qhg懩SS |z=7PqjHgP0# ?&wT̸ycԎjAK0lyNy\V  n~=p@ᔐ@;9a<MЍpGF@y%V~^3ŹA1[z"װ.m(1׌1?%x8=@'|G>Y{Pm}ιrO=q㊶J~Mܝe64h[` M!q* *xt«F#ќv}zTlU ˑGz跺g􆖥s+cnяnXeםW:V-I?_(!yQڲ=N <7 H?AԿ([Enh 1ۆɓ cM>d;~ A#|zr>> H910'=0 6uc@OAsHcvXr:=q֛ q0Wot oQA8M8+ĂFHZOqf9 +cڂ?=xґHGF18) o ۂwnFץ+%pqtϫ{curGXw cr0=8$M;  V q soK8q( GCF35~`}3OVzVp:sr3ߦzqR ㌓:aQp #<xv=`:'6ײIN?:R {P = u4ߛZ~O#àOqqOwrxg~LcGjKp$}'SnJzA @s t=~Qj:|w͞x}O`sE/# 9}O$ܓiFp39O1Cx?/?N9ryH^yӷ&GSR~_$|X0p`pā*iNv d}*"pq ֤ <; 1_" 9<קzfm/;(f0T'9$/-YXsp[ u9^Z#(T.FCeHPvܼ>դ F$ʾRAfh ^Ͼq]NF1u9Óze 8XX.q}OV9ÆFߘrsҞ5B/Rx7#<^Ax rW $pzBZ#Q,6{\`VvC3F2I==3yg`DrFF0y\֡)umɱ$|NAk|E>F4glM 0%Md g0>]p:=+G?nTjqRH/8?R;Є)b#i9'@=6`(862ѩPH`Æeb?vEfCNY07n-u0ѷb0mc@NA*ʨ@K 7x w ۆ;=*>pw?SlS`x@s3|9);pHSrz0w 8d'<U0rpH8# zZ$F `rq''=0sr:q:nO!q ~zϥkہ&2 =q3ՐWp{s[ 6*҅?&삁p7\tJ,f޷9 S)#))=pNr6@'Gj_171׎RvAFNIy1Zm䜢gUG](͛傅.\)A#Hjqny''[,T7˽ upI$$ сcbw p\ĞMiu49ڦUA\)eQ3ϥmZ>q[iAu^$j:88¶t$b>WjJa߀Gq׊̇oWC`rA=8tGh;8< :sJfL9#y g>3xVF9{t=z`sc=u @v?;nqg8N)Xw9î3sO$2hw-Np|Hޘj[(8-vϠrB,%;Gzd33b:c!ך哻%̐E@sӨ :o*9H$;uG?J!p0~^:d~I.oFzY89׶*rxjJR3&98 GB8ϭcOk22czrEsFsw @!oL~'E]w|;O9 B@n}1s[1H1@5P^Ghj,JiĂ8^dxA3)3$>^FAa=s^%Ŀyc8 I8q*30'-F{޵Ԏ)x= >VnqNܤm)3~y2{3r'Oȭ8xݐG\fji>~q8o،89t/ l ܏SXx#<{SK3hW' NHoԁ_y9UK_n0ss ޜp;;P!8ORT6rOc%T_c:r{T:v:4!O1Gq{u#1N[ nh*c##> SG`q7Co y=vx*8y'؊H4xIӏ__Z`= 8ڳj̫t?wW(rt^n:\ |A ?M#8ny+0tsێr Lǯ_5Cc[c@O}Spq9lwj<zwiO<`q9 )|с$cϽNÂ=>'#ӌ=#И=0OS~)sE/ 5Bld`Cwϐ89R`g'+Luv<LsR;r'9@~8~}=8$cvjQ>=lg:X ֹ$nlۿ瓏֘@` w<O󚆋L@X0sܰmr2=1}=f#@|/VmmgG<3VUYFҳ)`* 9\6ϞudͰ"lsu~8 t?_[ 5KSԻh*ኔݐ>tǷ=+m]$vJVVmO ~?y}퓰#U$Wq7/8=- ?X(A;۱f rYr\ȠiF>;I$IaqPrL֕lG&Q-(Y$- X #iG*TV]]\^[mԒYEI3;G#'!o:(sǴ~_h9]E_Iz&kdW4[9HX>_R[BU\6'$1=jG6uy>:ͣ1DRf$B<=Mv'(A.y~-, 'qӎcߎg%R9$cUex<?c0Mܛ@;Iw7u{J|aA?(~x-%cO5 [w6?#fhPmS8cB-9p;UQR{,#:Bri{oK~ ,VT#lVt$vQw`r@=9.fiRKG$䕒?8";'C,sX^I_=0r1^rQ#O00<0W9^iiIl*T)۲Z;Er$`' 'LTܐ# ې 3g<|X^MENzy=D֑L>[gd;pztIWX% "6Òc85֏.vo>C`)OSZʹw`cۭyȖ <:nd c#(~}+lV8=L+\8=ALHkqo`TH#=#c<O_R"#vG |F#Y$z۔|}GޚAJG>u9ʸqG}Jon0$ă@}q۽FA9?"ۜo#8es+ۀ^f |pv\]?1F,HڮwPh'ЌJጌ~l0;p*Е>d `9t=d[Yw;q! A[gqA ;0$Zn'^zӞ})k3;~3Rө0;w5%_S~Jrxd z~I݌#A`g3yӯlutT'80o|Ҁ| <2ǂrN;N{o,1֕2{@@2sJ?qO^so0sqPQ9ל'{dlA۸ $t`=sXH rG>Փ.#ǰ8')<'ϽGRg}R8֛~x`({{`x=GғI⧸:{3cҔ=qǵB^:*dl1ӽ5b㎸<:k~lR#>n;ދNϥj!2#q:g$?&69߭0-GH5gb)>=Ep.UI຺* Jr33B8WF_813wGNH FT$WLHr8x+5]GUI߫@Hss WH--]n8{fa] 3o߽aw t2  ɠщu(G+;C,@{# \dڇ~CMnY&YH-d87mbÖ́fu+վ2\mvo-帳ү[[ɔ$ncڢRaTa+ofQŽGCkiir|D?w;TE7Y"RJybE9vVIyߩ;[{//I$Q2n!cn&9W=kԒyd[H,QJq2K @َWCjqim4ׄԩKJHbcE嬬4BLY68ÅWU3ÊGD}dG4ۑCb WZی,O#fRbgVp‰j+nu5ZfH7iMñPCQzW^䬑xсJHeGv"Nwlv39I$2h CT]0prOq\ww;OXcFŲ {sá1)yIe̍*Nj˙$JFeg m*:Oil6+Fm$3ӂ*kQ8n9SXS0XL6i$dhvn=;B9_Ƞ*z ӦjH>S&cEnr21 ~4ܹbAnTB7(Q$`r;dR6X>`{igoyzD?ٱCrҤbH3Jwn2BibQ{F9hEߵN':sWOҢYFx0X=Hĵr][% =L6wQ0;D6[}YoCytԵ%MNk h !nHfnH5|:k3BS~Ot}#C|Y:-YXv:E/mA1)8WQW+K[ m}B۲XnL|C`ݷ^ m$lvDEVT :7g49lrڸee#@q$'q;d-߅r `O& OoP6AU\Ӯk>VW-`fѳ#/0jPVcA(a!ڠ~5Υ_.1$-{zԷ)sFçA#4 =Q?9<9݌T^sJ B8+-zW$ny@'B @#Gnwo8=p0\z( t v}(q[q@;y=v1L< Q@H r'=Ҟ"$n9M1=8'٦bPE~4A#w,wg#3coS2is\@]kuǭ.8Or8$~^((\b8?QLp18&yqtRsHrFq ژ6 1r*[%>A9zzT 9=fGҞ27a69z恉(S>1Qn=QO~3Bp={c'4w1q9`ǯcoqߥ<I8O\>3A둁>nSFF?bM8'F0zsq898$d`O1 ĸ93(F=ׯ^b8c(q~nAbX{p:x^:{phPF; r )QM7ga𾘩?x q`:LwA"6}28^89{ 8F:>P8$pI鐼g֤-zcT< ;<1;z9#ӯHrG|pM9PnS0:=皗ԤP;xʢ aO_jC_69ےy{:Ч̬͹眂{c'pcsN`O<w>isןB? RNwg\s֙9 2?&Qww}/<"1CJݓ7cj񷝼9x6྘+rOFLOtӊnlE }9{sךvym1|-'=sC'vS$"{OΩm@cv:1ǧ [##<29Ez|$`:dq9=>n?{K*ww\`OAG8,xfXd1zu *,w@H$9T7 zryZdǩUG^)?ʓ=z0<˵5J=qžNH-uL\ǁΥ]8zI#J߉"ta=3zULq Zqݻ)=Oy%uNzOO8<?TA2LpO4r21G$xrI8Q| 4=Oy?Q, A8N䃁T:"lxO#@9Crpr=O*Ai ?q#pi:{Ndnz؜Nrr@{O#9? ӏj$=N0=qzLA{sӎǠj3@`x#Zh:qm82ï|BόIgnsؑ?_ďOr>7Ig'lkXIrsYpvdk# HoN ׿JW>GՁc7/*ۖ~fNѕ)ICt'DԹ"1d$RSy`y:=:2É1s 䟡<<*}푂v:`1^v<6%+QFᒨۋq_;C#F2 zX}"!6d  s9뚳hZ9U pyW9' z^l*_*@$9S\\^j9Ü8A.rqkbG* ac*9rU\0;C6jvųz=[bG{9vd gti̹APv@aGWvS8TxGCrXv"S,l+ sDAKm@WJڄ1IIQ r;U 2}6sکH /rX1Umu@@IMlGr"e aZ,8e;UNGV=sP(n# j7XH*Uqp\=qUYWq'UG}?ZpAޱNd;e?ĸM#>BI2vul~7 .@#}GZ͇a^3Iua1ţJQ{QdPgdmUޠVʀYOE,Gw'ƿRar~nqִc( -PsRٔԅ88J#':f{FeK Bt('߱&< vO5` Ėb07i8޵Tn$gp ŜJ+ci")`q,p@϶sW^eRrpv%En}yg*8ߧuĆB9 R +̬u1U $=9'' 4ܟr{qȣw휜HAלr Atu;ށny\hoqxBg#1hiv6 ?4FGnxx#9".'qǠH㍣=xdO83Me,2/w9oBI;bdey#o-1^4k `Ny|Pc#hc}1(c r=3oS@ ˝˞ztԻKwF'q@\{p$ BIu)Xh^ўvd]})0HٟOAߧPS#$mb`m<0F7}`8ӆrNlsH8'#qj l}Ƿ\0q秵 A9b2 ˖\89>5]8펿Jlx2NSp0țTs =`ZE ӎV#Mö]s'nwX0o, 31zoddO\R1Ԩ<9p/7FFrǡ&j96~sߒE@ULv1>y>wJ`; 8,B3si=<~Nj|{c?*q2:㨦?\g~ygں33d>W}#8POf UH 䟘6NH*=z:oJtbXl_BO\rF12 :)nnqZV~W=Vi$f@P sY\=rzOQמz o =/\8!N:c_ '128j2Č!\7N1!S3.<)ݷgXL>q/S!?: qtYs 12)O,Dž9 SB% O9c\n\'\c )b 3d&䏼2N 3 zo$|qB[$n pOZ|8=~eCi3hW1H:(*~RO1ݐvv=j jA!60`V7D`G9U01cӊ#eo&U ]9g cpkدVM~`ZsjH$e7+l}psǦq\dxm8q ԥ4_ 3IRF鎴E\3Ȳ bI[+;kb߼{DG#F1F[*8 r?Dɳ)8(6^ҦhޗS\yO#iqg;Edj)8RN@=i0NNG}q@*H8*F9%rIdzR(]ďv ?hB7 /^$cxϠ416\@\p#0qc T,܉"tӌT,nJ¸,?A<`m =})XsWӠ`myzt{c֏+ng#oEq~@1qޡ1 ǧIܪ u<5*Wi~Qq:\7DsZuFd`;\=y\5JZuAd+ $ =Jqpq2NTߞtt<yS띞qqE_^LvyAQ~"An?yF3zV w wmÿ?Ҵ[f/8=xzZЏǨ5֫kC^,>xxp s6p8%={>zH898?!<zx9LrfI 1``gR*n(pb2k#8= ՉFQOc~`97,En{z|֮"`|둟L~@EmI?Y\g>'^dwۜzU@9G}LzdyycK 2:vqrNCjUQ~~ h@8'6`}@TOMz0;Nxҩ (' O𫱯:=yy[ nY u# 'XROa$ uߨO`s{|1v!s)g=9ӧRx|Sϑ #$8 # @:JoQBx\Nx> 4Ď{s*$_Ϗ/OR8,y?R5=x95;;ch"x>~:=:CJEk[hF` O>$ZGRB@ʀ̀9ֺx~ystMXU'h+"|P7fdIT-R#c~c־9!o+˚~G_fm8R#fH[8w/Il:PgNy+CͭzZ`3(^CלS> I z](nD+j*ۑϭg[L|{RCcuvKDvk'f `U#Jkk4ݐ"77I6GjK9GG)i>'mn|'=-5g qJ<\<|סSW,d;۩m—:|vЅW,8*C k<F;.q2:c+$ܬ-GQ>/xzkqG-Z#oL]q 3q_]E^(hQ+eN:|۠+pM|]WRrj-;w6є,lv20!#ONNF ns-'2O>=Fg8<9зVJ8#]YoQ],:SZI'ڡ6 iBq]Te(U{Us ^^VK}rg̒ъ>_!Wvr+-/7IweKRGUOEW1i9+??9N Mq_j6= y՟'+1*8 Ik˭R5`GBabiM7m&)Ve,rd6^#-),qM+l~WǙ)[שM_a-%=GXMM̐]4\+K .<6O89^_05ęh3XH=5ub;Kz㤡,*Tn^|M21c3sȯ'hhheG JM[o#$`yB۱d{Վ=8ų_Z[$gI\GL8NvPGjb#zNF>Ryn;g}rOҠ!Lx_09yu=C:~\wN3֚ÑO*sԎNq^rw(=8Ԕ.}288&lcxw 2 |HL?t;0zO ێ8'7Hӭ} zEol,{Cv?N*`==8Lqz|Rc #9a\ 18q׬9'`p0 =魄N V p3qEqPz>ZGq.N;rO'p{by+F3y*B6HNF~b2z-S0{NϿ^Փ-% u¶"$ za < '8I_8x4 01} {{iI'8ه^}1@2A$1c'^aݞ20f$矩Ϯ=jh;{)lZ,a*O8=4⾜d>; 5Df3דz~ʭ#ny%&Dэ9Br0>oUxzdxu{Ve\у=8<b;{~]+x910H9 cB@p[=~LDGN9PcO>^ҌLɎXq׭U~X#=Q ;H# }g?ʳ_=0A9CcsE͓ pNNF2py͘qaO$䞽?W-SýL7$$c͗9spy*Sny1x 3r{ī=NT$_\}y.́Ϡ<`qǽF~G#<眎GN(8''feܱ8yy$zg1ֳ)QG4c#3});q^Kzs)~PG{)89I^}=)=z?FNQS!\pzc>Bf$Hc gֺ;v9ۑ@]x}b`r=clzRgC+<93A3ܐCAWr 8)`Hǿqۭ4d (&I/ڜ-lnfi  ;E{d|9m-]vE,,\?^T{ x4mVxmH602{KJ<+k(Ծ?+ RI3*Ln$9䄠}-cKRe٧˥CRIڤ zịo:I"tDqQ)ޯǪ\-&uuqoCSDSs0@y⸍/z}đ,%+k$#WM9\zg-)uekV(yy_1[!*:T:?i6c ,DʧC8+U\]qƛϞ5={R%vـX|3 ~5\3prmnv**L)RJs}n(=ݐ.33'3ǠgcDh &9a};ri$RV}ͽ1H_*3 ;`sN:`rzB)9K)8{gUD8v|{st>ǒW8ۖ_LǵR% B !wt1T@NNnw6NQqlD;@ 8bߌ>PÌF}}*飊Xѵ 2D)cV_1\`v;uxeia B!iNNG4KmTӖ)X yTciwY师-NzzgOϥ|EiӞ;K'69=qJ=|О|r3W=Nz4 =0pFOAgu8 ~Cr\]˺-\¨e>l1YVWHGֿ o5x×R$t}ܬb&0pY=8Q>K1 _]Csڴsġǖ0@'\RQW߭N6;2|y8>Ӱ衛pzFĪ8~sO`t*"sѷ#= `-@[P 828~lp88ҁI; H`GCߦ){z :}s@ӓ?x u^r}' c NsAN}=R{G tAC@یqKp:w9="{!Ls\.֓LNhAa qIzꧨg#}9^9#OO'В@=:z=XN;ҩ:3@s34 C;pTtPxy?ӧ|Zh@}8,I=2I=ێ{0O׿4=A9HPX@'<#y:tn rG*u`gpyHӦG?s(Pp) T /=?NR`9 8'$q620Cc90@=:qsN{AqrRO=J@[{ҩ 3l8q?) B[>Q䓜gCdy۟Q@ᐣ8n6+7ry?\z620:s#Ays~\s0' z0=ޘ=7nlt2Goj: 2 #\ ^G88z{B`q=$r2x#c >90s=!A_ru *9p}A'ޚ# S~瞀vdn ϣ7xaRl)A989LnWO v~H9*1t\wIwǥINF;6 APLQ 9-vkNPS,ARV'8zGr>Sqߎޚf\ *=N1H^H'ߥN &r#x/9 yz`dqGB`Qxa<7c=sHH؜g?{ozPd~q0?.zl 3_zE rGyzsAp?P8Rc3>\3qH{e<)A'?)ng ~zcxp{g֐:uPzNKd:I??S0Os c9'o5gٽI O?:'ZS\7%rN9?3)nX`rAU r=8B12zr;:鍽[@'Zk̗*=d 3qSOCMl9X x9<`SӇ>%C{t݌p$nݏAxqԒN9 " s8 H dU!1?+|W<ƥ%x*@9ᘑ9vqN3)A7s\zq}Iz8,F8?ҁuߌt>RO gp $x4qҚ$y灂qSqN2;OšБS s9''8'uDc98PGL6N;t}rp9R#9Κ >1X `0Ҩ4SCT{\;={K'OjHxqRqdg =G_֤Lr03ל{?vcϵ4.p<: Q$=GϊQד84(#8 񞣧Pg=n?$.Ua,1+_07nWy>汛r~opQ|d`pq1*UTuҽ~9#OڰѷEp]ŵF\|K淑tg3ZAB8lbǩ9 *z632\q p*p7`vl͝`f 9; a23) O"%r7όv !xOj# #OVV鍪1*q!z$*91W99W$uI $1gCU$tP >T$SYhF {B8Ȩ̤Kᴏ‡!}*% aϑq˾?ؗR`z +*pǎq=LV(E9\Ӛn{䜜g>.prGϔpNNI#׭()T%+\UP8 BY d!UP͌/O9bܞHccjT<wUdădA9)=4Jn]NPm`2sy@) UNO͌}KbPFq#v8Zc x\uVd3-Ǩp>x r+Tj*뵔g 8L`u,t 8NW98n}!?-0KN:'^k'w̧ qT^eu|Δ<7F863|s{Ұ`ٹPq{ Hz brvs U^#r90)XCC3cқqI`mCڋ ;y9$ѵF6drLs!26\c} @2>p1t{_vuz[`:f |6.O:}) a^<:op9G5>\˓G.J u8=}q:zuø @cOns0;_;A7==6Fz'?x.8&A' =8N'd` 3֐'i#'ϡ'ޙ3RCdqHL{Ќ~;;1sG␮rG<ׁ!aG;8;)p{~G ps׿4L6<`;\p)9K(‚Iw41i tA@FCttZrm׏{)0-3bO^ PvK`F _ߚS`#۞qq\y4q@ a2zP+rvRp1oN)q vpO@z`w8ǿ8Aqr;0\g_ ڔ 69 $; v3yg 7o's'`h G8?<11qHc(aqg;Nzu@\upFrNqp9pȠ/2s`^O@ "\vc$z*I?(?ZG@$c@H@7w`sv1o^*yg,rj֙T=y?RǮ*hВwm ‘>v9^YaF9+@y p8=k{MX+ +|ۜIlNd;[Oy%}&Mq< $j*3ApA>g2,>nY.+=%>+zӁx=xPNSUcM6 YÂA'p[=]w)Ur돥geAyn:zQhDap z9{O#I#JŐ#c{Գh g'vnqOS+XH-y(j OA ~uk' 9@;}}(d)zbG'~GntZ[^ë` 2e*ܯצ;W 2N:~R_3X4?"X=oqp}q;~x2uƁ\ >_cz3N:~eWB6sGolUBvރ- $֦ӟd2\3(zHc |Ojgn$}}1@ ?ו'gsM|r8$w9^z`@f*?Gq=&$3ߒ*t'v~lc=@rU57rrsssָ6A0G$Ryi =ci[ cx=y9#ⓑG8=F9?Z݃3c89GJf9N^iL{ Q=8dD#pgu<{rOwЎ{׵< =?ƀ3^9c 2GȏƝG=zd}O^ t;{ӏЁ]/7f^g7۞,QOlǏΓ@o8{6x9ӹLqNz\#`*Ob|=0q)p2~\=}}k<;S:$s3TZ 9ہ} ugFpw,.rةVkxY@8[#$z0k؊ݏ#>q_B. y]!62 I좴8ksp^<|;;dtnjgs?&y.7;3˼Ro mL[.d ,11s;%C=y4nJsTDr$ȌgX[n;6#dHm#jzֻ;#ڧ~]a{I 1Ά;wO,8>A6.H+5rtPr5N| ^gy+VNϫM.A\_i:q s ,3rZoG'[̛⼅]Ha?_EIIiԯ]Q\xJ#x|_Y`zKػBlXchҰjϙkc2N?zRKwk5bQw0K1{H rDݡ:ʦbH- 9@872)rԝnGZ&ލ$B+y 8?xA:vpȓ9cr,$*cEus>:[o8*L+3._ r }hGqnKx$]?+/R@e8VK_5s^|)֖8<;$՝i' npft~I̿2{g#ڼs g湗fuMſg7f۾[qT^rs1ZOr)VU`r9*i:{w= *u՚| m w6XcJoTkY `c >Sx(M$_|yz'(yscQآ g$`[Hd[[N4gEjiI%INw^kbS Bа=Τc+F̓In{Tׁ^@$pFA'=I,r:zg~j2qlczޓ) bq3?SN:w{0?0jH9<zP! Oϯ!A,\gj\ 'ןSzV~$D9yvs8}^Wd;c' 9zTt/_jF qzO/vXQLsg8~3pTpH=0qv&w>w|sֲf_bgQϽLn >/"@7+tz/RYH9[n<p;~oF zf{ | z?tvtF'pc|sY$^p3SALF^ s< n#=xۧ[1Ё~jenq%-86t$9yסH3#ADO$WGehz`Ԟy?@ =#'\g$pAyTls/8^nAQ_|nsm'=A93zZr:8?q@%O'Ü{=i'#۞=@oB{ )9: V֠  nv*9@?:gDޅı8#'}1듚FsepU y$p=ydsLNbs=jÜ\' On:woֺa"O=OR]P2gӟMng9B5͐L|{r@O"?FA3D*DnG8S뻧ֳ$7ry'zW%]nx @@d$pySAcڼO1d\n 㝵('9^^-}Rf{yEAN1s^]UcФ+z|Iz}2F2=_dEuy?pAepoÿ) $t⥌w\c8.lߎyx; N^ 䌁rj7y3rssdǭG\?g{u9O?^ߐ1ON28'{zHcv:`t9s]t7G OO݅jFzvzccìh#vx wVA㞙]zܓ>z΍㑞FzsWr}{Ԁ +/c׌uǧVy@0?>}j,Gr ֦X=r (Nݶjלsr:A8 0:u +CF<$Sgp1֡1C|#?\S33B 7 PnO @#J8}7w$*  ;}*1Spy (xAgA];=9(s*qnG<Ƿ?QPi :X0"YX)&3j tV"st$)Vw_5Nxƥ{]67^u>W_ou,6Iwp)W;`O'g>v"ZM}^ arI=ɨ7n%?X.󙙋r;fqG=U323FGvG=y'<#X%Rb'%05Kd2 !n Rq)G$%S76G+^tSrFKnSބq<8fž1qzSV];Y"96ě`)Aq^Fٸpƒ׌|)rg$.y*{UNw1;UBI+pO=zU}D mcs]OL*O,Kca7}vт{~, dcq1S`lury*Hs3E*Tufsd=/2)Xvo')=y+.@ &a!;YyEcЎgw55Xֱ0G?E#;y2I=z׵xGZG[fhFaA ?6 omu~Z=?˽^iVwZ,Z4䷻vuhz:t.t|UeK 9$W}9i>-pntݚw=\y\iVg Ctpb#j+ 1_=hȿ ԕ'88ܻ\$=*8 # `|!%RV>8ne? ipTt#\ݪsJznِ޼ڭw֟7NZǰiRn#OTrsq](;9u<5&9r$!qzc)8'LD 'v> :`sMݻil99zgݾ??p #hB =zrH6Î8<46|)pObq?ZLO\>n?ё8}@-JG^: ӿ/8^F`aZ_7bpxUHy=sJnxq8$r(`=19'ןJLq㟠?~;#!~azƎh,OrO៯J O70WϡM<+l)-e:# )9`8/9*L'p' >~TM;8q19t9mw۽4P8Ü|K2Q('&Kס>NݳL:PNO zzc'gg~7> ۟o1`^iܞ0{[OJ4$qܯ|z}i>9q=W=9ڀzx=p=9#ױ6mA-68@1Č'v>y};"ycԟ@a0pt1?2F2҆G$'9s0a:ӷOZ]ƒHEq'қs ϭ!+d9qMc?AސВ3H-T8s!I8rpxZ$ Nzd ={sjG Eb÷S>JFu3=C6H$:@+>ɗN  '1F>Ss0׵;m1lpH+!ۖ AR8e6:Ii6O6<E8xˎ̒`GBO5ox<8~uajO,}M8<z:,~`t$$/&3Nis'N: @ G w@ cx#=GMt$PA@h}ipCJ>4-8p8 ?p 3y$E3\cN')@:NҭjH##ӂ*P3;A'J}P`眜Aqon{GsaR}0>zךt8$2y>;=z dc|T=;cЌɆU9ہ 1v}+&Hغ7rnp6'^ǗKrWhIL@n=죖^Vu-QׁZAbfa~9^cq3O٢6ثp #qNl>VE`Y3xDaȄnYU]T\AW$~\s$;~I󎂹C)$ۯ^ԑh\v͝zAm#fǴs2/^+6*O`Pvxlm!G;{Ԩ{b0u?<*W8BGR=q[R3y篷J {+brv$*)S%@׎t$b㱇?0 1S61y%IU=1R(j&r>ۃ4Є` O$gq$ry7v@BFr H$*}GČo][ifnQy#㩦U$*Z?Xs11Ahpg8XuPܲnܧ>PHÌFnAP t=)c+9 d}*J$mmPR:itbFd rGl#ӌSݝ6=3iQ8`[##23>HE[%F^{Vv?( wzg! ;K[)w(I+{י_slX=re>マFG\3edqNF}$< c)MLq|9@qr[}zS;+ʃێz׿4sGLtulcsH{g8SP眃`m*F =N3J`0A@\SO3 x=O v18GA=@?qGv3 瑀@>>W<9Psqiz>ݾ v60q<Av=7uNH=3ZVw9?'c$vCw\;9 "lx\Oh;g~_on!<Vs(@#p2Fy)G8xyr cR21۩\>g|.N?p?z60}?΀g֜W- yڸwR@'9846Ň#8 =^aG~NcF7#>) R=N68xu =)>P~*pGK t ɿJʃtm }C28'J]kYfy.%#n2px`gm q0<:;uX|*r#㜊S=>Pp'9{iՀ#2pǀ8Üd &R@rT R[j KncWI+ n 30ږXc܌pFH=0rNV FK9#vA*8l|>o\{t] S̊]@^]VNy$:,MF(Te&'-r$H3ˏZ:M-l<}vyvLeBcq@UnH= b wc?8sq_?}U>Rې9؁}$I~@vKN@Jz/\~#{NGwa6@;U'9,02 Xg OL6F )xl_q+@pWi! ~w3ث r0Ad{pmImtY\@pO_-̛G۷%PsҤ`2ZۀXwi47V8͐z9aHˏrlg[@$c?3ssǭV~=v99\tT3B0v#2:kB ?ġs$з;+ݷ'sSn( eazu0+eF # ,`+NyQ3N8OSH?v݌91$N) 񴍣# qCnKtϠn=s֘~@VA 0vN~<{iUBK]6lxML\A 鏨(ܼ _ֺ{ ~b]^kliE1F>^=8=]֕"vrr9FR=CI04csUh Ø6 nf HyjSQXҎ6X6'nӟ^cv8tC3O\$cWe>t .8\^f2A<O*R8}*8 ڋ~Usק#mIjrی;q޶}9?c ;? 8=I 28qqW Vz ;=;s'=}FAktr@:Fxspq_ö{$ެl?@rOCێ4wL|wBpI9$ zztџR2Grzy?6b}y ={{۞Öc2<Z<2sQ]g4 8'^Ns1ц:g=?^3{#<`=)pTc##88OAMnH9Iy֨?=~gN'NJinÓ ;s0O<(鎽:ڔz?(<;NGLJ^wsn8~vb8?*@Hצ8E%{ȟL8x$g#@=qyϷ֚vpAI9ibzr:Ν8;`sc  #zd:`r,cC^08O#NP@<1qvRБ(8`tϩּ$D g6IuސSL9+d39AG0y>Dxڧ92FGLT44G@<xsO?/)w-w1f`Trv95!ddɘpvlŒyw0.onZ%w#;{݅+\מe;A+O B=}q_AJߙ^zL7RC #$ *B[$hg1@+FѹX1>Y푃+}yŅkz.EU턤vo2<+uP7c0m㟭uPWɫ+FGm}dh4Cqw>y>m 7V'-s `%y$pkoT32nm_Dr:v][`.&bK+` H|t5x2ZZeNTěv/=:7GTcykC?\F^ մ{In70۞X~]ᳶ QQhB1^MѻJZ%׵˄.fתZ+1Yq$gj7 8ψ}K(¬68.rL}yrOVt&ߥFu}٦Oִ}4Bl1h.Z_4rT^UmbgI-n!̙ }1 Iȫ3NE库Xvϧ4%P ~Dqx2oj`Ҟ{4Fiդ v\5Qnc4ҴSwEHDc7$O'ʜu}3¾ {U4[Y3$aeF"<G^+l4AMr63^G5XJZjpGm؅^q- -ʼ#`t),R:+"CN㡯 7գ -Y7&ZotxwJT_*)SO{Z|ɱjp W:8#ӂsۏ#M d8#>)n20Ǐ\{RYq?$O u^:yGRTF29:r;ry9 1pBu'r?4q}boPLxr=J;a9'8( ޻sH`*003T,K A8P39_Ҝ/888Ϩ;'큜d`jA@zS 0H0R>#ߨ#fE wp?\=֭c>}}A"{ G\ן=EE:1ҳdIqvq1ҢE ЁԒ;tߟZpHqЌ "e98#c& z0 8a.{s8##r'?NAř6w7^:z׽V8񜁃1Z7XGǯUr3;g^Ob(< 'o\dHwc< t=pyq1'Yv>g`~W32d sfHN='<j=s}iGG_yFvgqԓ#պex_zЖ?L('9={آ#acno^j! {8v+k`Dv 8?+6zm9+!9swm"7ȱgr*|ҍ3[W;(5Yc/'v%i(M64dSFkwxdtx mIaƝcϔ}o} Ʃ;;Ȱ#&хF%r7k;HftF,qag5- i,Sύhٖ9r1.s9'soyf. Wy^Rlϸ<T9ˇ?iD-f0p_Pwg#]&LSH%FF5adpORkk{TK2/69v+$m! G+Zv{,fDinL<Dc;h NOLV:Voe]BD@vI<y'951¢Jci=.xoD;o]M"Iew rzxe—)q3,)'-Dy_*m=$_&UF@ H=NҾЯ }'̻NhDܙ'~u3WV_os&I:|er~`9=;AGNKI/$#S C- w郊SBBTu:ڎfBpy=2I!brLRI AaH >U^z6lkJ@z!xd7qǥ4ݓ oA=N8.nKʯ8q($JB~b7of:3Jϟ<0 8I l==~cU~4'͝nwa3#䁟4rS'h{e}}*"pwdqI qEؼ6 (29#Hw<(>lsچ &ySIOzdUxWq! 3<0\(v]myVYC?YBdAz3ֱ%ɺ[CE{ͼ>gc0',28]]i$NM=7ט |nO'tїmrWIs}oj]2^a81c\ckk~%OKVDL6bu+ՌT>SF~w}akֺ{]gv O:I,,ÜvoTڅQ <tar8;{--ꍡ)Jt]~L+-$ݙ6|Q 7t)RFՎPs뻃|&~ݟYA^*mƮyDc'< ܑӊ{ܢ;o,C@2 ^A(7|8 tlI׎F8 G#8=r8;JmǦݓ==:{S>^}pA㎧uW9{>8Pdg';q Lh=9Plc5AxǑ_qFr>b0xsR#<<1IwcMx8aNy9㨡 c&1N01o_'=ddt}!u?.n p#ӱ}}Fz(q''I$}LSxW#}8sQZdv~`x`h 9S @v9Trz##x4L}Ì䃎Z83=x81M1K/^B8OvJN]OB6>|e{!NIad8OC'y& qrOqޣ8$tS=T. ner~fRJkd㞞=;I灞 #M<dg۞)bFzOL⇰{dI {{w1ڣs`#< 4  f cc=i8ڧAҥ7R=OUFyqGcG#+A\~TVSW%NOۊ?Q QxbQx'1cH#88$8)9^2O|v`q |t8d>h}~}Fȧh^HnL֨\dWm8{p<xv"uAv T U T2G`=4f]Lr xF;⬨瑁iQ3(v|grs9Pp{dtϸ["ʌsBZ.6 u=Fp88pQNI$?`?/#yT?/O<{2d~aĎe c{=ɂ:*:NI#x4HId`g8ʏQvsA\~O*2w9csӭ(^QgyǧTqx8<{@lg1szԪO^8랢mr[uH=K8$.I32Gq7rx'Y%9'ǿ=yH8U `ag ?N9\%N)°C@<XSBcgCtO; g#A$o-A{ts:P!۰;6}}DO'wp0pxU͹SxS 1]k<[2RxRłs cc//|;U+DJu\sBcpFg`ֽ?qzd>!";Y\XӂޝT(2=H%5sVnB/[W`Ygn7dHV rwukyؽ]nP#colڹ7ăcvygDϧnTyzpqd6(DQN9 <nC1tUO`&pkȊ*d!gCPjͺG6_ F@ 浊OAjӣ$1䓜+hfLF7)$rOv+h8nc}Έn`HC`H7(vl:ae'q=TpHOsC B!NzsD.vB3R@pYp؃ZR6ݴ9rADDhAa*cڤd"XpH8͟NIhCʛ Fh2 0~l㊈P̤ܿ!#-MN>S",Gǧ^p[C(xO :3*ЬX!HURɈBf\+ub0H;{~ ,F0@'r-2u±X0Cڭb0&I7T>NT 9+9vŒsxZli,R3]=xnpNTC0G#O962 H%82GU(.9꣒N({z# 89ރ~U<:4dm9G34ᎇ ӞwG+{ӡ杀NC>4Ԟ!yʞeq03gc$Oz\qo"qc*{ N{zFWg'?C\t wb9sI Շubl.I9?5?1#oǥ+2yruzSwc$Hz` ytgr)ێc?J"ACOg$B="`trybyIiÎ6S99?\HF`0$OZR9T韽: מM;H>Ĝu, Tf4y'6f=ІN `p06E˹pd21w<랝tɊȲQRĀwg$&dŽwn$3ПjLm9d& F1 8\@J $rO+6+Fvy dӜUr9B[k.T9ƉaTV!~S'x(1kz#ӵwu8F3O@Okz[1yb!2|.x|Cu H `3^NU%@'={ցqss8ӜUG{̱!!~<Ol"F˰$D>0C8$'r*ïs5 0nrNsn9UO8I'9%'pc888h֙W;a݋ 1Yw~xjNzd9V 9=1ӧj$]ƪNX7zn@mm'^lt9=5qǠx9,oT9S'T8-`|g޸Ir;IQT5+rWUnwd0|;qL OQ9éUb[LxujO?uWAP~0\T`Sϡ8-;Hyg@Wrz0APq6c'h~%#'*X` n@"l:pH98xמ閞 v6|]擱4, QNj)$DWc!g;#6ˈ6m9ڣ9O_z9p-xs2܎w<Ө:c*Sy6'N>^OB$9Ґs 8\ۥ0>?҂ȷ@z=ڙ뜁>^"0v׳'g9V W펧zM`I8_ӭ{0گW?9'3y zO>׌F89=;c>6[9 Bry*hA2vppaxC(QTXW ƴcp8$ӏ\U#6K=FORp?88vLr}߹ަz9#w}8Pv'c=>qH#9? P={Jdpq' {} 'sC[Os?MZNr{]Hˊ}s<URsA'9#4H_O| #Xuׯ^qhddy#=8bS;HQۊ1: u~ ǜ]08,kr2=l~_Ρ^{b: fܐ@#:Zz}q9:DCqw=rG'٦{uF?*yF{ԡ21ԓf% I>灁h'lP.1ҟlcۯAz*d9jQ]E'1v翧Zh=34ν9qAlGM'z#T/<Z#Y'Cwp39=*]ݹ*ڒd˷}qn9rVZ3㜎A})8 yדSvwGd 3?1^:n+CIz~$t7KCLn2t\Ai9#+EdhL]XS=*յ_CdGk+ q}:hD07WdAc Ӟp+0ܪad~vzjàiWh{3Ig-~@$V ִ]l{Y+-̻ O庺U.c]弙 27PciO]m#,GzdNyNarim<8^DoGa.yZVy.ճ$鑷 W.kKR\[Z\,<)G$1}kv%oWЪ҄v{m-_u&(Ԃ~:}BB6r&6n぀ֽ&"TҤmnZ1aVpg3Q"9*X?JSӏQӽR,1+9Aֽ\tZoјaeN uam}dM"Cy`#Һ8ta\-D`?#\;F^$ |k߹Ӗ"+Ȣ1;QX 皵g *T $)ߧ+W+;i{_D~]_WL|n^昛2 $]2[}qT*7m?Sҥ+n7eYy-Fq֔(zA׮tYaz}:QC1:r<>s,zcڦ! dQӠcvy>÷^1q~=>] c#'#߯5GFDe|zu֝69O{>yUw9<NQޝ1#wSysH$e\8z0OL=8Q#Nrx<ӌUx^ߜf-\g#đ\eϘI,v*g/7 ( {VMwpypyc6bn〪A ǾyLr9v:׊̢tpr=zc#F09=Z$qs2F}Kq8A]EǮI+;dtt᎙^}q?z c'z u(G\crx# 12r}VTs oZL~ 37ʹL<V&Y_L|t*~nW#O֨V/ǒy}1Ϧ23O´CprAu+vBa@wn: ֤c s;cosɔkvd#{Kt's?<+Fz=o8EF|}OLqӏ"e 3D-zt Uq:`ONLL^8[oug{g׏O Tdc$@s\`n1UYId3?uEa"F8> 3dgr9sc'ˌnHu+>lun[w0;t|̙AdrQ=zsGxg<݂׵rٞtfI;Xg#n'`198<p yaS 6 QY~Q퓌7j+u=%ǰ1U68#ˮ#Ӥ">g~R>L'x\؎}{dns}qsSx:qR0f'qӜw$zdm5ׇ`t; шwl>Q^'Rs8wV?x'B=-A=sQ1Tn>#"Ɣ(~Scm‡3#{ϩqqi\1m zRGNq1;O_Yg0z*K)~0]}GzXɰz.'=y*/+-y\:|ߘ#XW"0;O~*&FHӸ:ޕUȚ3G*FydvQ}< c:;U\dm8 9b64H(V\~2qֵJgll |\Yk񍥹/%嵄@`>ڶ=Z6I%&4ᵹ廷݋lߴ\5]Urce*[&g?t#+3]dN͜sR}0k1jtdYe[ko+"#ܷܞ܈b%W`i?Lgҷ½64VQYf.76%ôgavOjlJ$aY੔ 3W-"Po5J\l'yM3qT1ᙗbpp O4:-6FA^{e8SFL*Rj2C ]) cg2*yIknctp>`0OLO#~2Cq& ШXsyLk,M9p0*-u]bItO{tۗ0Kjp<$myRi(sDr麵&ܵA#cD`b]jds#$i#L]љ *5]=Nt[&"9y;AC{Wjs#+ Ĉb;+uпSTurHIpkTڥqg#$z*ڠ9'$`:cZݼ$϶j>H$ S&%|@*2 FGc÷ץ0oB\q1rsܽXA Hxgҁ ( 0vN(^@Xua\9O3scg%=^*)f| @0dWzsp(FX$sfslRkܾpNA`2?]xi(NGC۞9Kb7ei %7Ƭ \G|^YŬi;Zr񵤋]QKFIԊқIk\άy[Ŗi:?1xvI緂]ۣ!˟z?^h:";h%SzZ^wۮNN>]Z?} .9I#hfY]P+ k?L5+r EJUO޽WTo[~ҬDm>~Y9S";v jLa~V'^zq|)>w}zd09gc/]<~8ǭW!RHdQʐ:Ƹu$OÕ8nw WMے")|}i=.+>9'#I(gqah=H hŖ6pKyo\Gqh!8,9$OS_^ngeo&*8xk"5VT]5cT3x}qn^ֺV(0s<> L~☘ϩIsqn02gP"C0y=۩+ <\}3қQ r|=3u 6qN'q*H[WG7\w&16It;n9?3!8HKuʃw#Rܑ)0LtHXp ՘<`gڛ8yS?01:4#AG]לPO eL9?0AAH#݃b3cғ0 ߞc<ӹqlg@<1i.{y;Hd}pOW':؃ޗPH=Oӌ znܳAǵ09pFJ[0|Xs29 (n$#1IH;z; +TN:sOQ4v 83#==~aO?6?.Fq=qpOi <1K qϧҋӁʖNqЏi$n1Hy$^¤#'t@IP6A(q3ЎR9AN1LHhB>!q(N7}G%9ކcy?G )pFpp2 8Gq;qz0 A4Cf3܁BHnFpQӐ8cR'9Nv c?pFXtR sHVrҐmNG3z<Am#'#3FNCrO}oJh䃌 F37~黩8;}O~:c8 ?Jv׏NԚ]Gqq0F3N <&0$2;8[?lPAyp@)AXwnGހ7#38#duRa3.A@>@sSځ6{qҨ(=xy8#y<94n'#zנ4gqr/J`(`p{;C7鞹%}O`O#Ofqpy={̓0t޹:tn7y>gq1zҸVۏS;}w4  '\dp89cOq/#W>G=<'܌OHO ,qvysb s@pԜzZ} A->l#J1dHx*@q9;|Пx^(`8S)'גI9=] 8d0}zj(q|2:J!8F{uvVUy0 Bw-%qmMDp5*mrOy-vьsǹ889P2H8OJ,+%#;pX9NO^0ӱ sǐ1Ҟ@%G{sS`2ǮN~P^>1Ѕ r1sM bI%yשAl}қ] 8z:(8r@'5]<%,2x^A 2OZӷrI@QU_pG?G YL g$s `b:qyȩ@q={gg㎤1<8LO eGJIr0?_Un0Oǵ$I GPsKpHq{H w w97\f H y ,uG9=rrisvWK8݌c@MI7<S#y@gAiqr篧ҀO@iA۵fpB%z׈wD^Fo%GAYCϏu|vrT"3PFsɮ.D̾[1`H9@f<6J#xAF*y s$R{2q F L֤ws a |ǥwMy~-]y飙Wj̠#>=k*d #~Q@$qڽ9?#ˏg; O@7sw0^CSnYʰls?.Mj[&n%\!I8Һa>FwЯu*.HfL+wn5K,ʻYdH yj{! a72qZɕ*nG8W) 9W,c 9,|ǮP)<o;v<2zI+USqS-' <!"a6@pɐ9 ~5lB+ ˴c2 }:dP1RJ3qz06H3FFzWzf24"gsX s^d`S)$& 2srOTg}} ;Je<ӃޑỎ8Xo=K7qRir2Y !}qsOH@6$6p~n^#p99|֧8?J"w-tSȩ glt#w>((vޠQ{?O7:x#8 ^}M(8:݀9#}Q玜{^c9__9 #zq߁ۿc};9;{cץ7 gPv:8!`񓟔:n[A9'#'Ҕbg p1'!Np:g9\nSXV7z`c<L`;/ { 8øÌsjU]1ܼXa99Nz08>JMv<'#pP=TGza>8;}x$p2h0 ?ޤ+ܜch r;n(Oa>cs֝'ğgc搁HnAUY# XO+-=-FFT\|tp;U62<~zN֥ `ǀwpG=C/n~V$SAhp~lmzï%>\q99hYOps9'zWu2lRgڽ<nNgw-lKG$ < Q ISGN80_J-ܠ)$z~5ȤqXgo$9Q_)%32% G*<,x_,x$~d$dRGQLeNeNϛ#6HX8Rq|`<&7ضyc Ȑ0,0$'8*gV zVޤ.@ 2p $1.+Nhɓ~rc l~>9旱,HO0O} r`}? IN2G랝+?h?/~\gwVs*6" ݞ㎾ߥUo p0q<D cy x*;A 8ǯ$gGjwuL<`9-!9 _ӏJލpv<OB3۰Oc&dj5YY `Iߌ?ָ/|'݃B۷ARe|%FA63~t>aNX _zXA'cAR GU9V,&Ɂ%vF,q‹ >btJC7(;\AQ~$;s1He|d0xtK.!|J7T,cn07`gPkYB C+![ߎOhju99,x28<%Lޗ{_W D#h(X1|w#nfnU68PsO>DzΑ* tzBAI=4x1 䚕3'z^hl ==+AGJM-8psן^˜x,HsYGd}[8`.z<*՞v-)' cZsz@&/I+=rܓ {snsVs^c 4car NGJsm#0O#쏞7 19-oQ퍜 c}OjvǡpFr۸0*rh=:>H\m?p~]Оҵ-3`IH͚ 〧>H`szr>jק?;t*bèg>&ݍFpI_=jd qI=ry?4}sxCJ[Ө鎕ba c-ԓ]^y~OZ4Z\2rBWJ>'L'ޥ.8yqFzrsT\$kMЃ>I8As5s9=9= !<'_\Qc=xn=RB~d dwMopēc#=뚐 +u0N3瞣΢8'|{FVbdGE#Ox8`:g8ۑ{Vm 3*PO]Q#URG_x8Bd;֐yClK1E㨮GDupԖN `P!g}ys Հ'IrǝQs TTC!$m #N\+69*es&#>HFA }LtK[?,H؝ U;9ӑ׭tn$ِPXmI_X$腒ήrQ-/+,9BIVS2nK;gUSrIr:Ш AK8yqY`tݕG R{r*#65δiRZ+pe©G5o'úZXiyQqtD0ē E#ycEJ<'~M8ۯv[HQO2k 1_8:޳p$N|^T[+18ܧ3!Kܚ<ӛeC*8QIy5n i%8 Ĭ>Qu(IEjz=n/T +I0m]ɵq|% yQT0Fzvlb7l<9mbv #@l.Ѵ?Z=#6A1,H\18nqTjzl I6֬KgX\ $^tI,w F`?( 7g1vSN9iSO렢G%DLg嘄-qx]xl]ΤSl)*kS=J3lvS89 yVHiC6L(0#-= }62[|_Q:pxmmKE\b;~~~mÅT=$yb0`1Z`^z1s}qJLf?#{p:cnAG8Sa^ =N @=ʟGAVԷ^bQs<ӑ`;kޡ˫̐g1ԍ)Qg#O}7qӂN{ƀt@<Ǡ`y tN3ɠ,A>O♒NcP:@`G;zc!I3c\dr=34n$Xvb 8hu+6͠*4`u 8N9'iZ w~yVYb2Xs3nǭ4Dxq |ztzӍN8Yܨ}Aګ-z|ppE68a Xl ֲ;q < 08rVz7FSgu둁Y829^kˮ{x}ѓ3wS}xi[^өSܡc^p1ێ'U9Nr8"Dg0}sLN6wqOd^=G@0MDGc;m=J4=I\dqsߚa'P<9'H+@EJ/D{_>!GNy~{vQ81&c'$n?23QosǬ G͎aש :Uqsԣ$*FNG#ؓZS ¡AHqa<3]JHA+\) c 4 NGu#r-,];݀>y==G\tӭZF-` g'u<X `ss]*6C߯ڝ~ZZ}{3o4rpPyzHq ި1n<|î?F@I1>fP\?`6zǮ:b&(«a߯\ E@'wbG?>@Or𧽅Ա"*NWc9ݷL׷_˜2 oנ @^ JnOINF y$~ 9o/$sӭ@H<`NpGל!щ pAQrN;qLcy HuMRz"<}Ux,2 lr3:y!w. f՗ ʏQw9vOg\HAڽw쎀u[ֶWaY.FTEyRS2%o I ג85RF߃w|1V ~mA`g{޳&# szCh|-CKikF+o,FD@z1zAJ4֛ eK+ F@]t&<|Ši4|vzlsl30pc_5' l_iP- 0䌒1S9>^W?=ɢ*{ZI7v}ۇ`cۂ] ܠ0YrH1"'lוQpMkv}mLU1 ʥqf.p Ü;12~Df9a5ru_!M L`pˑ;Kf9^BFFsCӰ0HvqprG5s9L\5õ d; 7O5-Y2?G|9o Z_07K̹{{tfXH gsu88-T`(8#g^ܭ5%bU6Gp1 ~>^v s}s$;E [8i}1zFGB?C\3€q9~9#w#;7u }28֣<䞫#gߥ$0I}~[?7rq~4FpzSwQ\wǭ8:;q4 >\sʰ1A+>^ 뎼TFrb1d9g\~U#dg6N98ΐHu׭8'Ҕ}4r $q8@I=t@s88vZ\#n:q =9Ϧ{Ss2c?~أm:o\@XuFw99zdQR1u4ǜ$gS~Rt88rNh)oփAԏ|19* 8zcROi9}z`L #*{tǎ9SSӓa:1Sg=}vmz9wAddgCMmg#tퟘ{sGQ<`=:zzNy Ca}1{Sv w~DZ8޴x OoҚb( #vҔ63sHOt;|j|`x`q;Ǯ{zRcrb=nzb L:ixR#<;\B1t`HSF8{zӇ^A$e<~y$PBB'v$q`~X !~fSw#${sT/1FR>cpy<"y#؎sx uc˞sFrq.An `s0 Px?1wxt=9 : lCReGSCNG'Ҁ ' è*FGҦ pQ=e~9忋hr1<x*yƐ82A8@#` u0@ gցGe=Ou r #w *r7ץ(_Tt;pJj`Bs#p3qC #:mn!q.]BNyJf0/|qh\\@c=xL#i ' qӯ~xq*pAzi@R@.x'0=1&pc zGZ'!PG|+NJ>F&ICr p8uqv2cݵ練 Fy qRmŒc*CZHsNqv5t mCRgN}~1R88c $H=p;T8te\c+ޚB I82xzԀtVj8wC h3x9 9`q*t9^*z`񏽞qsҙ9 <}q$C=={\:z ~,ܩ99緥'R8# F?eҟ8Ԟ{}Zsyy}iQn9*A'# ?)sϡr s{fס 2Rނ_xNsNNH1xO=<3j ;ӏn{r??zh`q<=z hDz~|֗۞!G{z'qySӰ惜(4!؎@ך:uJW2><{1^+h6 p\|2xVOA7h3ƾtW1| 9Q<גr@Č ҽKQ<+VvI^ҮƘ#F7MEL^U6 A 1/q\)n68q;3Er$6pc=4%Dmv1:zQ%?R ' y隿A\o3unFxf'݁80 3K0|x7;yHOJμ+#M M,82rMp09Ir;ٟKOA`\˶yQS7E':c$0GV3]0aqUK,.9՘BkPāpDk ޻=ydGaۂ_NkH|lр2rL,LP3H͗(R7)`{1N}H~V ǷN=EVV Q_ݻh?4Q;N@vGִ2c}I1yz4)4h$vFG1ԏZ q0*Ac'As93!|dv<<ϱ9s :18^ pUTuq5HB03+²^ƞFz`cz0sҐ sg#1䒣׵8x8è$4:0<Lq{`XdY=9;<+uH㯧<ր݂F 暤 pAOt;dFzH29Rx8tyϩdq ㏭&z1rrXfr~>n ;:n=du8?yJyP8x=F;~u%\a~dTtMBr2W3֚G8׎r{䏨*91ތgiq E Ӂ'$ y曜{xr~ZVs⑰ 9p}1ڎ=LO?oc#zz4O# 03O0ON?ħ8s€xe9$`g^n'#q=OmC\F@Sp=p={{K 83G@= NG`{sǦzP}x|#=H=3M'Ƞs±'-#v"Mr~fsz g<-io 7'9E9Py 8Ԛ߀IwݺtEw1,%`)uܑJPL9rt1&3ӗ+r€Py8NƼ]GV#w H9'Gz9kgMWW/Ӆ@ pI$sRtH71'vbHTBqu#dvqڹ'nzӍ=6rK>O U=| |gd5HRXb w+FI gg*}WЗYJ7ckW_?Q')0| Nkm5dO@L'Էyj#}ڥ=?BIc NH99Q1=1 GDʛIewm/=zƕuxQX+m+2yճs9^Eyn;'tWc2G8q ?ҤԼAq^y_Vs:g&9:cx&9$g#7c?˽c6d)v;vzpg8-׎k"FϯJܜgv:A`@\gu93=U@钼#YɂԫsQ8񌓞+3w7`uGzFNT8$tצ+s4HɚRsxyuϵs7d|G=O5)QN8 m뎘>^ypp V\`\5zXjy$|FGQW r嘏Ӓr;ޯhCKLFs@SA=3ڋA@z댁M$ ӌ`yo?^0}A'*9kloB91= =ur99\)~c<,W_)qaV89#+ڧ>vq>@@'*{qPg$7`~r|wgG|f>AAagnInsH9=+b31;zqϦ>4S6}3\ ːA/>I`d^2Ӱv"mtH#$&Ӑ1؀nHweG+񓎀W4٤KH|6z`9zp>tYqL׶)Ax΁u"aG˂F;߁L#rN,c6Gs`s:G\s:~>1א@xjqR9 r2G$>ԭg1r17I`=d$f$ :NxHHHnAtŜ+}|ӰRsH:v3Z"l G93.rzq拓r|9Vr~J9 juݽ}O {c`t=8=8uHdO9=iޞ{p8?g.O^=sp=~y~}O_iSn]S]o|ye0s߈S?BL8be9am$М "l Ev*@'>O.0{O`Ёw$*9;G'n? EG'凲sJszzTcHBr3#9\w0'z ~er3Ӏxg iqF{H""HtGT@뎙 38;v5NWG4F@~!s}1e\:z~dWTllYҜ2HVnHq+GTGx@:($~kSEF ;{pnpH}*G sؒN>H&$/#9}33ӌÃS۠4Ϯ~,0ӯ89$R`x0dsxҜlޗM4P;xխv9=s3zӱň/{c0@քlp8~ ;kҦy5l6H/UYx1},h[ ϥkY2G'Kȥ`@R* Me+'Ť.!.2<:'#gCڣ4KrXIRpvAx8|Cq(Wψy,|l_KNj^j{9f!iLZ6a]=y5RU>$n ֝ qEdewdnX*1aHHmʍ& 5HgxzMj~""XAw,`Id9T,zbiО0Eu(oX61RgmcGMv1Z_Q,& T=#9F}7tޓ) NW1=|;u:0d8 9=1Ov8%q}R*PGVُp WHz1W$ps#(c 8<bwq8C1ܒFzɨ둖m>6##q? sTd cր03}Ja?w6!l g<}=XۀH^r:[:t˭!O$1AN sG(Czv= gq6;0O؞O]v338bO#w8N@9U?1 duQ}{v# 3qI; q dgW<8\J^#>nqր(czt<+q1dws8Kc@M px%{6IqM8c~20r:=p p);cpIrsFwsD3[z9$HRA̜m#zJbI vm#``c#F=zÓw 霝\]ל0FA s׌ f8 GzR`xIa[ t8`?J!#E9pXci^p@=B2>P Andr1 =K;O$=G^\x#>`n#=GCHv[xlq۠ƒq^NjE`,rz\L4; 8)8$SX Ir=06` r}sLq3@\g$c?F)=[D|ぜl{bKn8 9~{`0 r1)鞟 9pA2A1灅 ?LߧӠޓ2AOqڛd I szd1sθ9p;zFWBdz/ ChnG=>a0H'֤PH7Cv{}:*L=x2cc'}1rp-1s;ÎpXsк1ycQFA*9< > 5cmn7޿nM_wi#;"ƅ9blhSl:ca;NLCFss0 Cx#9#=c> G:֭$Nzxꏯؼ;x bOzO@{U-̛!'g$?Ȗ 61''Rh'$qjRX pPʀx $s`H֓'c*8s.=}9N2\7 xdcSrby#3qR6pb3׾? YáiBG<$dc50pYIQ ~(039ʓKK޸<{z~QNs#@❉c9яq)g8:r<" g=꺁 G~ԣx z{R}6wr}yR@&A[돯} 0q;w 8p='8'?B)'OA:pGH;c?t/STwZysc#>!}=h9C=h$~PyOJ3q:B` 7 '5?tG11pdc'RpHasOOXg۽4&2Gn?􃟛֚$؃O =xǃ^9ǩpq t{Ւ;z}@)϶(Ba玽K^ާȡ-p眅= y20K8㯭JW")>G[LdQ"P@$#p†SBmg?+n# S5}HTp|Űٻsqjl/8*r 瞟i&nnH w:FF yjVf [3] -;9*պΩ%́vl$oϥWGB1m噘c9}ߑ%Pr]qH\15Tdd.(,J*M±8.[ex;HNv@Mprr~RNG^ܟs%)Q4A)wY) [q.$`c=kM3Rh؏F̈`6(kG\LMwuvN:D`,Iv{ LB L *w !Gyl:V ln;RFQ߃j$x H{S)fdƪIV˨n$uj)!^QborAA$pO߭#UY>fMʆ?G-z17R2l19G\qRe(ŶʊTAڕ ͕|ˑrsOX*xP2UYn5\aɜG>,60#s暉[-dY!\8nr2;.@T_1s ^+hŴU-m d%UfDsiN|ǓRǥH?֣lt~NGMӧ]MmeILto; m\{G9#sӶpD9'Ԟv&ƜZ_)]Ip[!<A]}Ἃ}'JRe*\Ϲ&b!;m F#rzɒbKrFO-郞:j1o2D$'EbXahA@rr~Sʟ}U6FQ4bî77$9ϵmZi黄,Ř #icNָmΪIgpLǞ2v1s^d3W5ҕ{ΒwPO%G"r+pv ޼*ۿSa9mb S'cc۞jЧ9p:gԂI==wz`}lD؜{wxc4>~=)gp X<8Bӫ}ALSc9^fsw+'88wRd|#lz1d{cv {J\uH#Tw'Ԝ ({4O֝yz`=h(I ԃӍKl t^>t:}y9FxւCӀst9#8 \=6v'1K;T=p2r9=@ ߌ\r9hB'?,Z; H93:z}9 @!$63`qQt  d~9=s;#g;`ӝSI[0Obߌx0(+d&N0 j1NBn0e8Y[|?.[8zvzKdqG-o!qjMĒ*$GLWcj6W Zܲ[v&+ It5ӡ[u Jm G!z?ֺM3be,<$w`NsɢwSq_:UY FA0-N?l 049U۷g W9[-Qk.<[ss ڠ6p퀁`dލݑ? T1֍Ycf .X QmNVٙNJX˴HsԨ⷗TҮfD7L >gB= mdsGmnDHu0 dYLYF9ruJ*}KȄI9*-)s21P7zԜK.6ݼsn~o-Ԏp.Y8!Iܔoh=W)K{$d|ˊ.rIqa:_eۜymhg)Yy6J_#-ӐxZalFv67dɃwg*{s?4 PfT}!IGAԒ\,*Wv0 GNE_'e`IcT?0A c;N*p =ӲgNhsyO?;y84eMN0`%,SGXJ?\3ڴ /|K꺦mUŝ8$k{{̒LP6Oj-ˈI$eT: qWVq4hrvcyu|ɦd(Bgֻac*wgsWrF@Rx8==\Ip>ӻi9s=W)!m߁\nud=*ȪH=F;z{S:?9>)t"cl= 9ښQn!pwrׯj`lcwO(|W9+7a$s Տ9UI ŒlWdFdHF?cVCY:/O>SZ=Y/o\n{IۜH=kds6<2A4MvA:nuC^OϩϭmvdR!I0=sz@7\@Tnۉ'#h㌎<`t<8N:tHL[ySқ`3ߩ OL$۸㲜qx'Q}POL9jjBW#{[8z۰k 䌒 s*dZ5!'IQi:J;cIg=V n:9xynZ,{p989O}d䞤I*GqG,A\v9M< 0sЁ3Q܁%BN`:@OrPEB8鞣=8_zCE~[P\`|~VbA1qv"<?cFQ޷Ǻ;DI'q:z 1*w$G''# { s 냽i>IH x#5pWfߒ>z5ɔf_1NҸFf0dPѣ 𥗏8P..F2nЃJ-8kYtp+Pcxwg].qߏjk$ӻoBOzצK[9MfWH%sr@Ww#X&0b vQmo"I *X)(>9⨈AUgk`S=8&FX 6< cXsqߞ+j($w/!Pt9K[9uLS2fH~f zRF;Koxv$xć #N$dKR^76$(nT#qDv3ܱBv0d˜u&*2~pէ:WwHy`ɮKַds='Rtno4}jye{D)/z׹iZ5Vн\BD(V{h`{ޗ>\d p|ҭp0G^T7-wcs 9ְn%a!R3P'S{'o$~SysRUI@;0.n>Z4,m=b*N}x"e-SFbl P8NKsmso}GHGVJFًV\3MoKii`K`d༂J;ʴZ2M.IM8rw|mm(c_ZD>boYLH<:3_QJVq.QYi;Jvi3H|lonT$rsמ ̪2r B8o8 _*nz w*2H'v1`. m,%P- 7}ߛU^:FK!1e sֽ͜xwSGwS+W ܞgz uJq(#N'Uy탌?ɮT:`3q۾)p1Ԏ pOæqM38qO)x3~1SsRv=Npp1t ;짠~ϭ&x=Fq Aӎ\gRRc,j@;a3{洆b<z=a֝KdpH<8Zzzu3۞0=؎{w8p~bsS:{WjՄSU$ y15ws#=)Q1R@ϷG9*=ߜ =Dܮ\vA2T~cpb1n%8L'ӭr,>nKdp89zTqo{'Oqko$`L pz)աowA@>WbvS~0]u+9nz沐# ל#8-#A3 ך||gסsdqOS*6 y9?W2c߅uґBUԐF }s؏zu?w;S+1]g4 ^6W8= 򎝻9”Ar'< ^k:p|`8\OB–@[w$2y  zu'q_.tdy>3sY9< Zp:P8']tzU?~8Jy9FU O_N9+mS3pF#׊lPnpNzq+_kDAQ8zLz<+[vkFw^G@??JPGAFh(O|d(:u}+c;\ǡw*xvݑ"n$l0/6f'-px<-|G;ɣi644iwʲ]5eTaאtQʮv[δ)%}O=Qj ^@iRmK(8\5 xia/n}% Hoǧ2q^ :P|{<ڕmU{}?^Շi0x_J2ɨN.$G\1\V[6Ppi]wGCٯIRo{9\tpb۞`OLh:qim=rFrKIcrWqi%ZnVW3z$ vnQ=n\6.atu VVy2pc?d3B$pH9EEl:yu$6;yIf['$NIǦ3JXx?Ï{eւX+dX<4d ۆx!gDc}ak"/˜Aυ[n78n:_Cgq&?ݍmJ^}_s˯=g |/_muxI#O&Ek!Uqn2sӼ?8--MvuQ6@$\gzS~U~(WOޅ5>fh̒$d W5r3A:y2D̎9P;ں~ X]?GeՒzHZuG[%VF\q=*=ۆߔe9$_1(8ɞ%Xh`vUX_osW3iʂ\{9 Fmk÷0OY/u"$iRА%09KzU ČL=\:ןZ\lMNIcwQ*9dקzi8 'rz[Lv܎5&sHLs?,Vf@s^vw|R rqxtd4sœFAp:zZb%9=W'ؚ^TČ(q}8RxQI;On#{T$ۃӎIק|ӆﺸp HIaXc9 zcrvGN=sҀ@~``:>™rsrqۥ&Rk898L8 `@gg84a $g$Ӂonр0y d 8vw$G ǯH `99Ky`q<4ރlq'HN?Jo/QF{z c8㿱냌I<1ߟ5y;GO9h\rCFtKݞwI9#G898s(@O@㿰4#߿n:rc#OӃ~hbG=A??R9$b-;‰R>R=pG4AGF\o\> :rsSp8swʁX8粃O8{ w>w'[т}HNއ?C?;ОTc@ gr3lԤ^wtsߧBz`c FᏗ'O~l~>;A37oO6psRg'#+Юz @ ~Rz$O[A}(@5M߁Nz8 1r;wZl-8ۑqlN O~FO<~HL|' :gNzsz G~# wg{uM vPqs'd  uhr~Psw2wWO\;s@!\I u=gq3`slHcNzr*,Ca3sϵ?>L} 3ؖ8]*C1gیJv$3n99 >Br37̎{cKldcV+=2cjLޟD!0Tw'Rs|:y4 dF;)GF9⨑q?tS*2H?Z  pJq9cQv})v~_PqtҤpX>5W%x:|Ì֞g=x?ȡ=ViFW G JϚ42xr0%'?68 8\pDr6*,Pd1D涧N6aw%y<ɼrY(=+DUf?(v99=x}sSS䜽]qѪ3rH ;};c<՟m y@d=zmݴn2e>-T` BB׎pMt6Mɓp@vFd^Gj9jM{k 7̻qm w\$;U%1ȭC5]hpWi)Y 7@O:c޲8C) ʞO8NBt8C_#d˲$!`RGMov@߈wgVa-ˎz+f*z%4m%/8 l>nPː7?G*xמI.IvMCUB[dN}`j,>`p@8*6PF:Lأ KWAөaȻ ,1.!o9pz2| zO2r;SKS'+/NI Y~E۸M ܟtW6'\b,G~r61bF W]w0sO:JrV svA9G%L{~y O\w֒@rVS{z{xxBqN18vZ؃Suo}xC HN2=ntf 9fYNs\M-5i20ٟ3*KoK顟ƏU RPAN1@7)8v^dǷ JWA1WA͸pį7zoRKj8I6@P?3q9-[%HP:`t;[x,ȪFq--;F28'q+ !Wy 1PO37<(@sl`Dgw9n2NI`OJ_};PHQP[dtWimdd20 8=z힍t+/vNB0@988p6;Ku8194G# '$$A(b9*Grz><䃞l vlsJ2Gdqy?HӴA8G=j\>R~u 9R QIz2 xFsނG<o_n?JLt  M rCs vAzpNq94p rqF:ӆ{3?xh2@?9Ϸzq$rs烷9%Jse? x nnHg xH ڀsaNیצx9 2|9'gт:_ڀ{ d׽)9݌ AIN?JNLdcorٜuub9t㎝}0Nq}^}wnFи?0n$mf8S~(Czqy#ԁϥÿcy(㑇N@/Og#?.GR.NOOl~uЀaבӭRFHn|M1v|$.q`e,l! aq g:wgtbXwzVGw"#~DxpddH9CaHc$cm_CͿu.PcXnGTuxXKb8HV,9]Lą&R s {=VֵkwLGRwAo`o~eqp JM:yO;. ڼU[in!$U  9p_XTVڛ}N馝˖C)Ψ [[ؑXfUy)W61ڊz.y#zR{JʍhUi7 ǭN6k]t^c#A1x<@3Zx2v$bs犉+h$=W#ߩ?h Ğp;a un #wn yrx'")dwR t],{뚢AJ%|r0G\ԨB2`n㒠IRrFj-*͹[!28HR ͷ*zj%f=JOpߘsX 1#UF9- >U'K)(hABO͌!&0U%g<䳆? MJ܄VVUٝ0zݟ/ltTЫIZ]#  ݹ!gט+bB8 $8WJn75 N]:52FgO\w{^&iјU\cG5|4U;|;)iU|7E!R.TW=kOk*`dž8'o9|N8jX>I'k^ *vKzmťwbTqRX `p};ay˶W\|/מⰕ(J.f}NK Ӝeeϳ:3\Bd$}eVfV6/+o1LT݌6}iB1SH Oֹ'IjS@3g5K[N1?/z:#.Nӎ@$2WGC&f<=G=g=jkB1BT)y$R R5%=I`yGQ֮[;F8B$;WK?#^Ctq6f rNrau[QaQӯ''z 7OCMH/;n$;sO|~RF݌Ez< ۊ1,84TZ#け}2Oo~:ւN:1-߽Dk@ʬPdYF8zc5q6?)%8= Z%h)r:GR:$Q&+d뎴9'$2W_BuNzg'1@||z?^)8V }zg}1qB p@pSϥm (ggCQ2krG^kb?'rϩUq9ަ^sߞ?gӯ\dÎ;N0'?g=@)sL%xE<;8@ #zlrN>Fqq듃ӧO򡌋;dw*`89eRdF=W߾j92@z tҢ吰#sA-ׯҘO=Us܀A'g\XI3qU #As]4c$Uf#Y9dbu1ǹ?ڤK,<);c7#'Wn. QA=reY>tI8l=s;'EC:tyFx遑yŽ($t9VnF?Fk͖ȕWӮN<cW#BFNH`N{Ҡ"eg-do#H$@9o54-BS(@M'^OS[p/ ;]nK{Um NX 8{מwSr%ݠ'py%nߩ5Gl=XN^?_Xj6h\ՙR Ȥ RiGQ{Vpk ;{cm$ 0\,F8\}y鎩>$fbVRCpc/IX|+$zm0Aꯃ;:ZhaG1b2챌3pzz jj#l}iF*N {zuͨ5fDK|u1Mg$;;71;D'6WpC C8ɺ)#p@F{5o]QVWk-8/3"wlGs?;SB9ϗgָwmZ̲.wP2pq122f9N?J[z9 < AO}Y_8uJ_5լԟ4{jG qyJėh8 rH=~UYg=v*ԟpXJQmQF|vF^\H|Gq8|<Ƥ'rpTדUt:WH 1,JHIP@nXz>qKgIyDؒ i~E9`+ɫNgJVG_fڽiZU岧Q#BH$+َ01Lϊ.JwVTA9':hk /O˃P"@xO\0)13<؏L;c>*^4q@yǾ=i898@; cOQ"0x3A8g{6Z1Gy=~ޝ:=3^89 rqnGc\t'99dYTUo0Cdtj#gpI'*INqぞ{sדVl|9$J$ׁӥY,1O~l=뚸lq CSP/^J7P>]FA1\6IqY${/t]X c-֕pNNC_ʛئN>n:=z59$y]x8qe ~$`gMq=h.?(Aڮ/s(N9#q=r)2'~h$k7 PssU݀}@#FT+3OQÒ Qy:|~rjYqD/)Ö3ߕfI6yoROuSL:تq;Fsz[889yNs߯z*_^9)r={pTgYo:P<_q3;~U5C>OcT8 =ϧP?ܓx8@RYI @-،^A">{OO^P8=ylAo!A3ЎxN8랠}z@ #Qv"`34*2;ԃXA'j gt{5WPǀK%Q@ g5F(Pӝad>VM,N~#/x[(#ew$1-C8)s*Kud߉_vIB68Է@ʾEգ/ .e(G d@Ak͟9/OCӧ}rڤ@ ӷ|r#B2HeA3]m 7ZE%3%A+Ψےk=X#o-ᵍuqhqqҩȟm!\2_+*j̫%2ܲ;˩h`iN Waa5廾c/Z }ӼgE3]<݂($g"O,XY99WlvPN8桳[j\Ӡu6uSx&¬lī<8.4͎k6#n*N3c885]mnܙ{m;mgErn%0A 0vsy>0r\YkOfy~"O<عJma漶<ѶkAݎ5#e)=Hfz czqH9nInܧ$q QĆ*w=1:PpF[iU?1#1 FA$? @8{  ʓ#<bp7cF;dM=p[!9=qe.U;wʱ\֙"QFes@di1! Q0}.iPKHy4.88#²:ҩ*KdF==1PNRNI[sɨLSp>R1u4"F8\Hʭ{1:cүZ3 r[@&}5 (fc;c]CÒ-͍p6 Vld7JK0i5>lm@W\N KWIB|5gbgPː̎OUrHݓ#wH }D$K$  J=3?4 ;:ǃH"R\;prDHF3TMyԋu3[3{+h,&2[H8C c5%Ětl.md.] #e*Nv1q[ͪө$0?xR1\eh氙H\6onOT4q/604vDz7p ;eʜrIҭ--{j|QyΣ .2G\[= QTkmI J0϶6fp??N=>^kUT~€ כ-J_?o]Z:y4x!Gnx}wAl0H.>=GC.}Fy y8H:'}:Z2n1bq^'c#@98=*cpX}2s u`T 2F7xizpO9#(=^:\|#{iu(sxdOq錐prG\ׯnnۂqo4qG|ǯ^%$$g<׭FsuPApp7/<ߎ(/ʃ,7ߓTAg;@x>ݺ@g3Ӟ1HNr[8Ƕz`g'FE:æNAO^O9ʎ9;Ƞq၂y8'np9P>vǯ #'~:w#SNa })9+q 8? `q9=8;<`dt9dg#9.30'w<=3sjO /@T\@p I^0Jߓ*3Әsqqy9g9>Ҝ I$: s A8lQy#=!Q9ϨOO|u8<0'ӚRFm\9>4 #X`ی}8R=~_è.:N==x0 FGʼ@Iq={ sGP `׸8m ɧ =37㎠:$rA9?:v>Ӷ?7$`=O.sАGaqA}9߭ y 8BzL)=`@*dMs==98sFBԃz}(>}ҧa?Zb{0<8>ri*Ac4ǯ8 ia#c=z )yd w>~4S x㟦F1tA18Ax=6a~#'=y9NywD^+翭4# gn8$7cG>z0rsQ~_?>U?瞹N=9֐U̧Ԑ=sKz2x}xCz !qБgpXh3 iZ@x=U@'oS ^wQ1J0ޝN*GϿc@ =~b8r3˞F'׭.@wǦsRSGLr;^:Nx vxz40|ÂU 8eHxݝץ!!۰lpSRoңF>lA99ldE rW g;Aޛp<1zc~OCz}iI$S۞T٠Ӓ{G`R3RxM[r@#$K뷮Wq#iu(\ݐ=9R#Hn`)qy!Rc?) :?z>\g 6@:)!l5 1j;aA{{qPc' F4fz|c#{ycIlx/[=~WU灑ܞx;v2rW!OcZr<pzrǯnQЋUX3q{r-/!;1ӑҤv0q<xMXry#q ;9=;.x<^Fss3R1{c5IޤMG9<ې}~䓞E~V?ԁ[06`3qEdr6;:d*E8g:TK=3^qI1 .9@kA# ýO1|Óg>bc=rF{sӐ/j9ފ 8#hh..2A8†2_\ԞgBFO~#RX{+ A:1NJۺ1֡&<g ' 9I@x=L@s2z~U!Sǯ#:9:)}8; z8=84!{qc֌g!(ryE,}P@pPq9Svb zgXP)(%z|'Xc2kI; я'{(g^ԕʦ{O˅(>[.%pW =zq^UWoĂ/ {z:6YpPfdsԚOP8vdM`i^ZHR.9UzNԟk~fj{t$rB/Bt&_p&?<S9 kcεo&eo-+\@Gyl3('${Wh꧱- _,y2 3 eg$ lg`s}jΘjsF 9;\秵Rb9rjzwMCJYCm,<(uLWlKG6 ǨЫěvm $G'=FU(K~W*Ji^@#A$ A##VZ3SV+捋yv 6pnEtVϖ1! +9y5JV;\1ps'wK6InN{t*e^dmLr㎜0+f6(;㊟nܜ9H9hB}d=8cI@0sN:Hy?]D'9HO'zl~?o׎xd 7ǎy# ӽ:О@ ր@<''{`)0q0x<«֔o/ &3ôe'-^)4ެ#U#<㌊%;o5򮻘ٴ1 ! 5Nէ䄒[vGޮ709zj#Os}{5 c%xti~.rl'XJA;-\s8}2V,,UAYƒuUKyv_,1*/9g+U Boz[6>_Nx`ﻐ\k-OH1ۻw#ޡs"A FDT3($sۂ lcGԒ4x9I P2N٘ݹ@l[nGzjNSm̭xgz(8Ҷc!;y'H>`F8#ⷅ$ӹ:?ဎs3Q2U1B,6FJӷCeWϡk쥾_-pU2pO *_bWAUM)zg׃MR.ut ``c<`sI0frr0, 䞃hꌝuփWr,pex 8^sXRI]m&={RΪa(҄i|ϕ9=eާUᕊ+:SM.$kS{SѬl 9 g|7㯂زK$qȒ o0 'g ׭;kŽ[,'͇d.FގWZ\_|"|} c?νC:E6;Bt'])GG{L}CpT\Iݑr?Ky&1[}`Z来z's:uZ"uO(A$0{m$dy.eiMeG_=sV[=W#._"6m&Yl0;ЋQdpOҸE4vӺ-,T-vNr7 Tt5u='zכ)j&BLv1N9'=G1F40r=sUYzoJ%v\9i#yUC9rqzzzR-Dr~e<=1X##;rT%IdQ2XH c tKd\@lv#OsV: :7H!$=GLS$[r=zGna3rT{"➡r*8\{u\Xdžtr$wsFyp'86vϮjCrI'#&wIgz;CyJ"AzZ9asϿXZ)ʃp\zbw '#DKu9O\-ǞGPyy:FV8PrUqЏGs%:Ve$ 0zc&:a8=stz%8ey}?\u#$uW?z4#pI qs,w|ʜuϩoseI#ZJN['9>߈օcl`7Hqt0x=?P\؏;{񁎼ʣu8E MǭJۃ8N?=OS8װDcY?„NzLVcq6O뎙x2}s߭qF7sxJ[3#I;waqdysVcܩ?=zfstȸ zJc=vW'eȣ;2;x5xYC'wfSX@3gS}WJzew漌g FO|ה]Br2PrI' >^xPKUvm[vmsӞ3u sOL=jpTvOԟw O;A#}kwe('k?^֎9j68Aa'ic SKimiv(J>xn(~kH{.2kGGО Wm$j7Z4f0ɒ(GʹH2 #B}/U%e;P-dMӱek叝wx҇-I-]՝uZ6K#˨3f m. +,=x:>h&xؘeqJ'm)eYcs3_/ @~q[ws5s*_ɥ,#yąWc.s1޼j'SEѺ7m"F[ UrxRmN#XSsE .[1uNλ.7S. Ԯ ڮk̐[jwwGB!%P;*TTqIN_"y1>DNG?"~a;kZFQ/6|NCp= gV(mNHܺ n@<=z(vq(À޸;ҤgF-s|c2It|Ӣ܌7s|Sc T>qu\%6#?֮*_4{rzg팟q calub,+ޗ |{uf0'P~(|' 3LnFǎvkxJr[P)sg$2[:YT PQA'}ejÚWdZhZfC82c 󣬀9wҔZ{>8oϡƟJ _ 0br#H+t?. k4l2èKc((ZH²_g.A PP8<{k:JfWUiN*JMNwڊN3N:JP+ 1۽|3ACFUPG}ϞU8=.]\.s8ϕ3}^Z]D;pGp:86Tz=]Y%/=~Fʹr<BP(lHsG<݈ʫ09:b*힌3vv0 q%܀Xd@w`|w;HٳЧ+u}-ŕ+=tOj r)ʾè["XDip漬e=?Ny;PzUc ̎' qО*`$z:zֆ8= ոץF8 *@`=Hxnss'0: {Zq{ON8;Aovֱv}1sX`#8mF8k3ZgOlWf\psB^4SgNqת-(ppHaB8~sU_A7݀'kS"q1$>9o'l>}@AVdM:99a!nzv[ L?$qrphI9O\5|` 6q1STjI ߸n ;8a+;#PC+s03ׁTq‘qLz2A^H׌n\cS_)g>/SzgA:҂Jxr:U\Ďg8<c*9 vƳNB'ϷTHnPw9'H=3ۜVlcӫz'&wF.OΥ$<{rrk@sӜ:L#[ {v7r1P1?ZQzT0< ~Y\ ŸsՖ 㩦qшAzVNwt2=p8#jn;'>Զc8x==zwg# u;q8c\`߀#r =ߗQhqr)\,(;G<'<~ywdwsӽSw@ -6<ӭ&xG?? 0.FS3sYntD:uR 1xu4c>;'@8&8=R9'=50qAۚV@nۏև:ϺIgN=r:ۚC q`g|SIOVP`sA d?Zr3~[G9?)P8=xiDF3{#{g~q{`UNp_^:z\|N9ߟk;~f Ѐ!q0sa y9]T NJU+zuڞ,{ߡ/Ww`}*+\n1K*0C'ht.?uV _^HlK36WJ\֗I=7ɜm{nƅK}&Ex4KM3ผ63ܮx.1<2bXdn:´Qsg^87K$琌]̇: N,0KEZnmkb8^S\w="MUɥZV (aJ +mmZ),crFy^F+Ϩ7;0~\w$vp€rq'np:j۱~YHc;'Aɯ=lz ˸+6 ue8܊FH5SȖ@D\+G'5hMvDS`<ń"4ao`.'k.H)&QpIO}]I$4iŕׁ``E]&"0+h},(Vl'8Ͻg[gCNLGӧKKr!iVPo*OA] v,uҥx^"&(|cJK$?\đ/W}YxnpQ=-t/ViA@Pvn]x6 #("8 b?y}OrU]rg+T1n HR>ԣT^OhҤCNXaT)};M1|9/ ue9ltS{S|C󸢜R1Ϲ0+gfNT֍J+>7c?t{pFAx#8c9|;u;HVPna Tӟ1ZzȲiicɔ.2Xmm>ɽż4gS~qFT "%fGidb30 R3N/ĪZ(lN9q̹QwI>-Qz}*ԶJ&3ymǒ7^zk^@1jF H(0x_8 VJ$G.y\یݛјD˅;ՒPX1B ،w}I_kıƾRGidj['9P05H߾N QkZ{2y֓yXJDZD,B;Fsѿ >$$ $bbb8]8yY[i+7oy\.[[]yW6\1]d:t4k) }:0хyH|>x88E9N1JI5,[O^dӺT~AZ_Lvfxm\F(I 6w4%Yk"%0^yf٤r.diԐx+Ofa'v:,3)?dddnz0 |.|Vݗz>fEQa**ar3` XϥrVHKtϱiۉWەpp L שrB:wn{T<`/N:?1;c-r9'1N\`Ot$3FR޸$ dr={P!@crp8>⎭pc{-cq'qn=sE =ݥvT쏛~n~n}ɠyxa}qONi܂6 "zr[vz Tьv;uH7#v =}8#=׿Q&Qnۆ`==$mAc>=? `OaOn1sKrKcq<H=QҐwׯ h2COMsj?9 qsI:0$Ǧ3ǿ <Pr R~N89䁎Lq)PzgǨ1@'qNþJ:= `뎔#LR<``Ӛ@7q9c}q۠< 9?94r2;vq#L׷Jv݁2\S:c9֐t=2z>VknHhF8'9sx=s{dPpԞrO?Ń @<9܇,V>iNўqmN@gw'=:Fidr:N~oLCN팩yG` `g!{8?G=3@\m' 18~ В2xϣ}Hdv=?Jz%I#ԱnG\GnI3֔F>ʓ~cc>yCQ ;8lמ `)c=)$ # (?ɧqߒ$tBmCa($:s #׎B2y#?9 9Vx掀7  H@ێ@e`9#}?(#<g:)NYIwAzu:9 cF:MJ9<d%@yd;u8n`Ls00@Py k` |RG|ۻgn7NA u9Ҕyc>a$FO.dz}tP `ww9G'Onhq> $T8ۓ8,;X~|[ apz8!Fzq{Ҟ:8'ju=O'#F p#qq@*),o׊y@ 6ta} uҜr@8 )"el0~lzQI1o<>bOX\w뻕-2ϯb qOTxlsOqlpwtc n>mQLӨ88)W8ABI08R ÑD?'Sr;~8&Irn W8x>I;P8_לt9($3ٹ*ƪ;ؖNyc={TcorF@G6-,r@G8^=sO;펃qEn?w8RI鞤01q}S@\Pv ざ`jn: l0= I'i=`.@_sȣr=@?/֤d#q' pBb;plw</Cx(dR{ewx*i뜕8ҪLc[n8ϸڬ*eI={u!6(<`e N~SKrs*Wp3 <F[ gyPɇq 3}'{G[%^'P@v =Gあ1S(8$06;p9ޓr3vyA2E˴'cSz9#0psЌJq$v=:wڋ =g'sǽ&돦NhK&lu*8>V(căӯ;Zf 9|\#rFpx`zMj{&ypΙ"6bsק#Wqn(?swWu}lqWSTUw tϭu$"rfbq7'js^ 5N"ms?# I@(…UkƩ#J\Nk$![.ڟ3hc|RA >vL}H|&SGl}q{>]LoH`[\ cyEL3(.UI#h^1v1v᪨=v0'(#W ".6tcڽCSPn^ߞJjp%KGZ(2pwSp3]m`Wf4g vn TkgZ_z|Q;X/?c&ї3Cy*ʕxJ/vG JJҦFy,0W]b[(hf`,>c=/T/Ϋlc(sc״Cvn rIס۸dc?7aP1rN6:VbWl{=) #sϠ?_Z!I둎:Sr1o=;usLLA!tGrA8'-ӭ4H9#،vFA zn$'px!vdcR9+"x$#Ƙ$g 09$ZB8n2s0,?;9AP?ӵV8WhךC\|`t$ ol`89:c t( llnpp=P1NyNx4GlLG_J?w 8zwAĜ`w`I\NI?@1#ҀؐAzhO\#z(.:cҁz11郑1ׁ h>pLQgw JAьv2A? ;yz`܁IGץ3A> 3d^b ^~2I=סGBA>@힜``AH\pd?@\݁⁈WxOVҕHrzai #atB\#TdnpFq8q鞽i1ӧA9={zRzˑڑCy.p$3\u r:dmD¯Wp=I`x8|&[rR`8rx+:&˟ nFO@J.2[9 s^69Rzu1q&*os`yd%܌3{}ӎNko8=Mh,^`*OXո 3zEƿhxڤe$䓎_Cۡ\v tJ$M']ReiX<)*7 7B@x"RrvWTk0EdUn/=p*gT< ]ZH[}xKU0LbIôRW eI?|E (`c꜌\-%e롭 T龍7:de%r͟xڹ;VGvyD.9ۭE=~7\}ܐ V^F cFv F8Nzj (m$b'4gګȝ`w d.y1Fi.~95Ve ;0GLjh3ʿ7˲HйP̥rq=hRJ'"زnl͸wޚ!dpU,Hc\Xp*7Ie+!X;Tĥ9i9tmȉHynY>jݒ F$ +7d'5/P`UWj"dw,Ov{34{67X O$F +tA+l7vÌ"эh;+k̏STf\8^1C[mYT$;+Y{Mʚ{GrڝMbFD܆AS:uH"q:vvkjQJViƤ{x63tN׵>:|u < YPv/\c¾hQh²BZFIv[5#Q;?_&|L9=OY=M]Z cx12 k{c-/W|p]=ʹy\*#I!5FJ׷;0]iٻiЩxWN0նE *F9|t\GEOB;t}= ^ΜaKq܍T=Q:]y{oNY:JG~rw&7+qf#o#99?aQnZ7^6I*@R;Zӵ ٸ`9'p: pO[4Ϧ<z|Ė+}p=8gfF?$zǷz:\*0u` x9ǽ\ 󓝬:sl"OQ[>9<2;~yG1%%~c.z"v2?O|{9F_#2wKgs}1U H 7O=})H>y<۞TyHn$urlBXNwsd2[裟<Tt4ƛLSs#Aݓ+t. p3}~dgČ Jp#R[Tg㯧z)=G  KLn%/ ܃[?=}1qSP'<*OqqҺ|^'foCn8ӟLVg%\A\VF3P0q޽(l|mߨ {rx'y88c|ҵ_>or' N}:=OagmMH ?UF2ye700^G#V٤:w1LJC1Vg.qӟS9}2zzh?(3 BW=8'#y< g 1؞zp:)A#8'#fo6<|:gONUB8'+~Ҹ;\{Ԩclu9.Ug$88;si@ApH㟯4#/ `w烏Z' 0Gd桱NAs ֚dw*#<ֲC8;SI8>R4!fRszT{Kp;O=(R->gU$brHS޷-Hhsp8'`m8:XwRs^ lq[g==\&pWw=Cgҽj.=]$ g>1U!o0)'8bàg[KpH6J\V4 *]Iq4q :fR1\ӂ8@#|^%dMXLxPv@2xkBFT*H~lg;A\G\ףKOC__jODDp' ӧ8"w0YzV<9m]Mм?>cDI?y2瓓=}͍41sY]&f`|#+6Klg &/3Eealm}[Ǵ\`Hى9|I#S)D2dO *U'v'~X G\ {XF]H*@[+'V۷sמ\#kݠĻ#ů~g7%ՕNv6[g9<` Tpij2 HYw0( ߵt'|t7 5֡x֏g mx,95VϚ;yVHښ|/GkāSleVCqzZ1̏4xY$caQГRЭ7h]&(| z3zӡ]2L1ROoS|;"]LGѫJzb.'R H]dzu8=ҪOݿcԶF=UC㒪IH9ӎ+sNGs׶x4pz/x$hr&SH/1x<HI7 o/,2Sq~kR%Pʯ$,\1ǠLWDfb%RT=}cx߄|~xe @2naJTk瘢kXkyaUsbFpAW3(:T[w\c7kȍb <ڋRoUL]:>VREݽ.!{;e.܂>a^2Et.>Vn3ϟ$Bc ;T&Q3 N8lߡ4ɒmy S؍o` w7WJGh՞i偸:X;)qct-pK ZY,+Mȯ[Nke64<7wh+8]njq^n"q}{yCt lFG/&pry<'x^ ٵY9ǷBH?n9 xxaq$c֐1=pnt9Xi8z9_8>ZM [G^O8\Q֮,`sG8#xϠ=6=OЁܜu{;39-]ϒx<5JLp;' F93cf@k9*3g'zW202Hu] s"s<;sުfUPID=O;N0@> }+~-۟njR##ABCZ(qNM N3#'g?x|:? yn=j`9 Py֛R@XA1޳ 7 ǀHC636@{^)͎3q'gC)t9ۆ9\mWwҲ@(l1Ϯ ssЂֵr3>ڣ@,Ax?^:Rݑ՝}m#1ArG8ۯv9ќUEDZl`v{sޤOsО{Qsn 2:ګ\rIld{= =?(? ǯqIN?.3>Q{~p&8sM;;:d>J9g#4qŻ79ӷ7F_:7ҘٺǦ[? UvN2I㞼~FANI?wt[Sѓ66r>Xdy{Wu)\娷(y`G`}yIFvc Wjz%6ӝ3;s\ 9 9.3ڹB\HrI)n䌶Ȭo~=j1E+n' s^zpB93@BNÜgtPFyQtp 폯4`q펔ۯ;@OoX3ӞB3߁ގ'GWq91?5,:s?'G@< ug9$ *v;'ƙ^O{ `?Tts<}jaON$@ gNq}EiG}]489!~3Wۯsӊ!_ydb{+gԃHn?uԽnHAsJ v69$''ŒI'#o|w!$vݜtXbRT-'秧[q$v$cvo-'_6ybqwO'+εPlnnf++AveopNsP޾Fs[g˞!- 渻cepdb@<JCIsyh-82:-y(QcR|~{o?nDHN y2Hc-mBJ[Oqiu5ēɴyEEmaKgF^{9*&)-; N;$c"r9~F@i/%S 6{[Ik+$|rrEDCcĥ7syA,VaFW#ye[SҒ%#]j~og];Lޑjhk|~5!5U?hiHʠCJ֏$o&:-g6aѲz]mwhe(Mn2AWwZy,gCJy'V p{֛MoVw G!G`dB7J2j6Rl.mC#Xض1ܬp0A<jdLdwdΑ6I||er2+<%RKyH/,(dxk9Ğ[Jobiw䒻>xZΥpL3JQ>^ݫ&I5s$]ovT>=pIgn@nvz~\ Aۥ!p ~b:=4H`22?JgC“;wAҸx$?.Ӟ?Ɠ_39g;8'1\g=zPr3OHw=72yTN3#'8/;!XZCl<FGS(F@WWx9)u.~l`~JfI;q9~(Nq=r1M#8}(@zNN8r8RAg} 0Aߥ;#'? 3@{t@玸(ŎzdǫzpGqn>$>QAw@m<=u8ڙڧ0G^ߦi2qdpO厕&'q0:ք4G@8LGOh2 >ign 3 0l2Glh' nGOE!1@p~@9 1}h0јAh㐤Nx|dsߎ FIӂ;S 3Gzs_ZV *J0:~|vϭ7'B8x::dsАǓs#ps0=O@c^H3 xUNHӁ1@w$ەa䌜tgr{G^I*0A9gAd1uZW8!mcǯ-u8#$*N65R[`@:r{Gm%H @;סHwo˯S@ #1Or{{ Ĝ`0t'wuR`Tvx 30z{fYDQHzuG@A{=)k G=NHN8ޛMpy?Nt P/āqI 2Nx0x瞃S#KrKG\$/\ H q8=j@NW'RN:sg"LcΥA 8$d Kɱ_Ǒ׊sm ħq=8ǿV.<>BRz>M=Lsz朿4HpG$㟼2r{O0s=r)E#靧Ǧ{[A7yqUO+uMPQvĐ2jӷs q<+\בe Ђ.S>,F;c=r=q+لyb˜ t-w~8EеXYavxzp5j-u8q[_cF.E7(pJ >RH鎆_O񝲡 lN#?}4y++&Fi7k%G$YWz~זk??x΃a `<{tʭcms0^2?&Ab? g +gqw,;s iY@#h,#*t'sJֹMn9:]ˍ>*Y@ܸ'Q!V wK B ZjLbi*)vY7-ѭGr+~a #iq @^r;K8 7n; To' #*w=dȏ{㢹C*=8E#lNNҭ:n>xjxݿ`q=ntcK)r0g9ވҦ:+w[kc/jVFiXTx>G־fԵ,l (эuwJ}ӗBm$|69ڍ! lbF: Up)@?(<$s^[Ϥ4Fv`HRr6ppy7qۨk*w6N{59LtH+UYܑ#7C1s+) θr?^<lnNyV~qےC6wз|oRp zstMȤ\( X沚LÞӢ_꥜u `qʽJFP99~P}duc'H  78`OL6OrIdL1ALCRdBOL 0!Ӝc3=zR\ ;|ߘMM<{g. <^:<yg0yGnA'rsGzLrz@R'xq?;rv`oR)={ u=e39' dp?N Пސ <r{J`>a9]N7z|q> Fx~~S{p)0gHnRwrp ӵ!>g>>V:43'p2Jys@=sp( t#d<"}zd㎜8h1NN;q@擿qvu9aHlv8NIs7a69<)v<jXf]*6,O=G-XB;vHv)RIF[zVGIK`OH9\>6tgUV >(¤Ȅ ]b]d=;^`*yVPDwTǐs{׵O18s=glG;> ^oTvoZbqE:)cpk5Z-Khp2Ҏpy^2h/nJO;E6#̟T&vI$F~LpsʜcjmA/0+1g~9"nѺblK}ż)ʌddF$sr?fB~`FN y^}H(]g`OͅdW'}+;LHc.2Htފi/SPg[a(9S;SlN,g.O''ҭ@DQFGSq3Rav<ϡQд-F~UVeۇܚC.m;wA*Lq[[¬G$Ă{~1Fm?NHv}_k6mXU&O ݋R02 ,IaN 9Sץs՗q3OA9.wf#=sOMQvnX%ԏNi)r),UݴHAnRi 3|q{c<g82I5㝣%Dh v#(pjj9R;A eϩsLauZK #!\dc8כ^e!$mmplT(s3-Lí>Ws J=)ۇ۽|<{9ͨO M̭g,I-=Eum3:rP *N,SI-U\H̍ Q^zdS'I+ )xOC5e_xYsdcNgb}]aCdu

VoZ1j𛌔~2E0{DK&VYі6)'=|7+-RWIRV3k8]' }:zɨnGE4k'FYV?CӮ1^Vem;,@E_SzpbVziMUkK%r|ĜwaJK7U%c0@^k[`n$gc8+>,7 7?w ncԃ"5$CȒY؍RbAG",DI#Īˍxf3eMVNQW!:VxAb4YVR2p}P` #g/=:ZHdmgy89ǽ]V80@zIoSVOL۰yFOOj\ :\s&OS[9lc9ZRJ$-!9O=Qn'9q޳sj$9\gdTN>8ݐFY7̤B@c}GNY3~nLneː_d6w~~pN[ۿc#{ߧ9_^]\p0Ұ{ ".sOud9r;ƭi?`y=^}1=8',`{1 <9/#ݤpOJ߃1ӥua׼p6gE1{f!3k>oP##q'#'Z#8zpyBݳױҘs;|޴[x'Npzz`uIsw9,~b/$g=@j܁OU#sFbDf9ʞhCϦT't[>*D#h~f3߫P8}GQojiQ퀣#8#wzj+#CzքIsP28Q!ppOakz#as}k}MjFvB011ֵc|';WYtAhNǾ=;gIFlN:{bL 99ޣi1`8r g'H$?J=ʸ?0Y4L2GS~J1j$^fy3AГ}48olzg_) 0s@Rع'Gu!ouut+%Z\j'v[~K9;0I8#=dr+ZL+l.dTg{ofxg6D?t9'^ӉSsuۯ2(R6ls9+/6Tl8Bq*g;`d:55L,R_n7(Fn5> '&6-'ڽL5.vZN"wg؞6(v8 c:W[BKG)2]vG7+#otk,L3اk{:8ޢ+-y$䲢G̎皷gCg.|1e@ѳ:֬3 ʜdLug7]rO]znmA@a!TV ݾߒ[{0KnI@_)UF¸"NyG911':zop.[$1wD/r9d :1?Ξ f8 pO;1T|O8'֙惆$`0zuqSXꡁ#j ܞ:2O@8SoȎ]~fLbw|_O|H5_ DHiFS?|s]4g~δl|M-Ἱ$WIF~ccqOJ?тb$&2w]dc[$#FmqJ9W:'T˃|>ꭨ˚6*#n;4f!5ȼϵzfë3W1 vH548j 樂8ݭr\`]5SMN?2FU9d,w Lwhm^6?gٻnqUf'9*=U7rЂ͸᳌sjUE+v+ wugQaGn;=Z:,ٺKyl1єr긮Wԝ={L#j6zY e2t,p'u^)x!IV+`hߙ^ҮͶ"YKGq^"m9<yB_3ЧI9䑴2N=Jh>6H=[]#x=:iќ 1J.Ǟ$p vq(Ƿ.99<ԃ wd8:F0}quPNwvh<53bm ܊oiqA'hZ[CN)0;zvګ.@݌o zv8pGnHSV n<RhX:(``tݎɆ:G_rǎN4 ~Rˮ֘ݟnq3ۿjNs~C)[,R02,$I/'5͕b]{2eI9~THs .FrCoLY9:9=5#҆Cހ=dz8]e"۸ֳ2-d/Ө=[N p7ixqG=>^GS֟A95W9FIzc=*LT2.@Ͼ_Sq40 V`H>aHޞ?sUp$8mݜ )wscrLqW͠3wx6G/?_jcI`sݓ#r y?sr;|-h;?0*yb7nepzu>Ah${~>ϐ}Au=qֲe{< >Ìq*\g8b p}u1{ =?H1ۺ{R{\3XJv?1 w:P #Î:4@\q_eۆ@x8'hGӷ9=Oxӏ֤'}&\O9x}l?ֺrWٖ9NG{8ǜ(I"ys,n:R)䁗Nr3+u9SV䏗'UuٞSǠJymgd3k%I%Uv1һ!k=kVwuجCn:>s^]{yVLB#zxj2Z-<ڵTU}n[r%k1kx^܉^M< QѰ|nuI-[f`bh'$MWrGrr}/;/jI{}l7 jSA!$:\fԯbӿZ79L6ֱ13wRYhrZ|]@MlZI;FpeeC#G3 4D~T'StboCZK݈㍢BӲv뷱9'JNxw]λX.>1C#OmaUPv2sjK=EhTtKFԶ~nYg 1Y=_U}κI(ՈR;qrAOކ伆kZŌ`u4Vm߳׮[s\viܧ;$x~](Oc"Phۖ6tbO's'p9ECF =Vյ [k(o I.YY UInI(|9a.usk6ody $aݼ@3]9S=E/~j־/xvMCRK줆̶+Hie \){qJ/5V'3e;. z(ڻjWr93mqj-m9@9Tse%I` JH^"'(|"q*R傮>c9!`Hޥ9B %sV[EdC7f>3G!Q]ۿy?X6FrAtXȘIˆ>u[Kfs-ILʩ# i(w2GC|dW}1ڪ1^r?) a\DKf*`Nz11,W*#!eǘ;c>@ @`H'mzLs!^}Bpp B`y&Mn/$3|2+81}.AuqJvчrgC4{r~}E &6 f37;#+$m[_lK_(1 pG2Fq^glKۃ[q汞X+jdV?$|8M&X[W9$S*˒ |rUP]<ԍh1 F<ϐNNpMzwS joG|X`Hw ^@9 AtucG@.AѸZV' 'O?v I@Snۭ4&lڄ`xB`>p:"`XK( iƱ4gMȤ  8#e=V< /(X 3twg].!npXF`r+ :EX{1O*L+DczwA 0imwBkѡwX]O3iK51~fn[X'&Ws|T..D(R;uN\yg)Fά<KfϵsQ&@ڊ y֩ WcbEQMݱ=}A tHL$ノzj~[;9vUn@ c9'w zBI?<񍠐AMBFyp7zv~o$O@!v~~)uS<9u?:pr瓜w7$99oˠ0qbp?{#86)'m\rߖH`pv_$ztzԇc3Å@/\ !#=xMGNqltz ds{2QO('?('R`5l }O4s2^zz:1;ujkquϷH lr~n1J^99zq'8?8FO#9$p;;ch~f9qQ4 ?x:A=1@ <t"'#O}(S.rOE4 d@=H8w<@@ `1@;wR3Iz>G{f%qmȎ~FA%;>H+}RLm$qn9Hhy'#R@c`7lbd8H=T\cqAx9' 8n3M$=@>rpr{9Ot#=c01\~A88n sr 8{zSw8 }dd!vFpr06O<`qJl?BG 9n8 >g<zCrRA)(l`Ӂ^Z_"]#kl{M$^H (us֘ÜC #(;˸`#iP~^3F2=?O l #nȯ,F'zszct#=M4$F È۩A\ԯ8ڤ1  \WԈNF?n?>}j] oCv 8=G@r;;u9?:vD 7s;g ~oy19 d끴2} v!r}pyy<)8#$ORM#qsӇ<4=а`$o>ԤE'w_ڭ: rp:~5 ?\jU)3vu=osR;.:cۊfTBǟ~8 ';LQGsϧӮi0>Q2{t#q;y9 \lc B?RA:`G{ޕBn`)r6ERm#'h'%G<JA\b >'z qigig9 s߯R#'r1oUظzlzv:w:,qsmKya\1ۑӃGm`Y8sqJRLScI$ǜNI(a`_($g5Z08`WwO7){}?[# dl#hɗ'{J_ :1^98h*92p9ve#!ضX8sI>>t])8=1/"b8r2NH*JH%|ĂpF:tzOS Km*RVl%nY 1O=pWW.ȻxF`%zuz;cd(ϗ4Ip1=ޠFMUHRf*zp=Vtn #bB @N0R=pu0*ּ P sVѥRt/+"~M$[x?ΰ*IÕ|dORZO~9*APF‘I 9@Hľ1#"hy\b]vyO8 r\]01ۧa<[%Iic?wb6`1Ǯx:l$#>7y`2a';Tmbamډ'rTI#ڨ$ B[@?`٬W$S:m @X ǞzJRqcr)\Ȱ&'ŏ;m&8\< O8S{c⫛BTu.;9&5~1A=sڻ &|1`6Y~ۜ} ;)+ѡ\L009%1r9wl37'A^2:6"6L#0I 1xv㚴b9ہ޸RFݠ<>(!q 7gGD~RFrp#u==)zzF>WaVyRy;Tnc2{H?/ o~GJ*9sc#$َ'.=|@F9&3#^?!#`9+# q@{qGL`p8p:u39?_ƀ9?7ݛӃ)y `3ӽq3}}pI<o͒q94䌑 2zц:E`s׏zSՈ#Fs#:OqgӚyGlg WO =({3R`4Azy_uSB&z^;>F3;FO^í&LA=(pG8]32i 0F0ĐI`'3Ȗ/@v)\uhW?iU+,d+DDfNԖ8=,03ӟzw"&28ʼnrq~g.Y4I|M2[lps¯!(ܲ)r;)_DOvyEʎHS  fZ)0ÏN'י_Fz5ҍoz:砩ౚƱ ;8#a89=qhm% KVtّ F(/.$)u S4/遃޳bK)z)"uW,B/HnREuPn7 dc}`+GU$J0onNٴ[Tg< s.M/8SON{q|:)`Im n?QId*+hWrw ` 1m}{y]'|m^B"%A''s)+ӷ@&A\yAaۓXFFR9Jpx=zҶ`I:.нw8'Pubm'v_5U;!Xq9U,̄H~:=͢}OX I#;\z׿ى 0NQħ!XbQF'<:{5K`{R18$lȫkxcюxVf GFS=}>Xoavq;G׵' 6@`pGOL hBRcoBss :p9$g@=Pnj9}\U<: qW5ND |(^NH8aSrz>^sFq^Mg3 B`?¹|#9J?(׿<4#gq8g8 dfOStO~ M p2}>g{Af#lWZ#ǭ dϡa'Ҵ t9\851Xxqiǵz*sn>,]}ʹP+s_-ݻ''~ cA:\~H/pb29$ ~jT.P` ڽ:V9j-CP,"Qwy'k`^{7 Ы$"Zdag O\+ֱ-SGxCKY7؜@G_rhON#|eFN>SѪ'{ 7<8#gn 9 y8$t' 8F?0l4Ģ1;6N~'a[0vʌ\nڪOelI pHgy9@<0@Fg8 qrPyRe܀U:r+2ieH#$ʛܞ[39ܴd<|`OO1%sZe-R6+uUt%rN5'}U ǷT{B_6j+YDh̭Ac⯝;N[` 8~ȭ}pi=Il@;CZKوXɸqo~iђZ/K3J~~ߴG =֟(hf(WprzlG2lxiiC}Fq*0Fr泟ns%2A@=[yXm|{o;sk4_]iLBX&wH+TeWw$0Y]M>itJZZݫ ys2#>_fCr.m㸌$7Ȼ][Us!;dpFryB098< _Zn |1zӷ@I'$~^b-<ƞ_=1EC8瞹#ڍ69݂NN==*+\'<{tr}"hx?=vUIGv{?uErE8< GV[8>NnykԢqM(F8owEX]#a~iYJ`Ќ?UđDX`_v9ߚ,D 98zԯ1$ 3;qUY2١ai${tR [&V<'8%O+OlU~\8NHNt7 2C6q]$(=:) ?Cfv7aLӅA㑌݅}Lq'oL4O#d9}ϥ^\ gnFi=5H.ӻy9 \xssz~DGcA8\pxh *g9;2H[(Xr`A1Ӂ =kn33>f#tpS8vݏl끚x9dN6zd^N:TDöO& :dTǠ)w#9x&O`~u&t`gI=;qӱCuϿO' 8<R ۨ$G#:Az`2>$~XG6G!G|<`/Ob3_ʫo'pNz*-Ϙ`}>l:e{<^G^~Qz/l aF~`>Y#?Lz1z9>NJOir89qJoFvPZc ʱ23^6+<zA85Y'|^w*;"& 0=j9>z#t:;g=ϯ~m;q' 1_nϥfp9pG=k2\4=IG?71ڗPǦ;ڣ#; r> d~99=Щ:jL7c#N18iwCОx?\uןN瑁GSK@99hc֯Fz래n5H㭳-@N28YLnQ'ԸϨ8J{>VrG=Mx1?) N+bNMWM!n"$G?;q^`ֵgb}F#y$e0pV@x8 A5kI4|&5ɿ<-$Ƣ}kt$2'pdF"W: Ǩy?hH!Y\9M(Er螇Rŭ>]-/|3.ɋ`/WCh/ie[+mp_Ps[_Kv4ՓW\S̙!-EwT*erIؿ4 6SmA"K{0)1x@TRU6﫾"R_n49쯣dyYxc*7^K&2L\`qҾemu;b8YKO9wc8֪oTaVrNўs_ZTVb2:H7Hq' ZEȓD˵ż<4։k}l|_&>>Xb̻rC0nkfDXO$HŽ.E9rqڌD"tu#/%9Yחo$W8d3eKg^b';ۂ$$FĩFH{׌fֵ(_jF.exVX=B6р@RMY.JopU$pCtbxQ%FbItJT>UB'P:6F߂^yUjcL=Ͽ9D,-Q4aeFʻIo\u =e-Lۖ,`ev7c \GL",'h::GB)C${%]# 1ǹvJ`W#//u3|il9Gd_u@yO9'5۹Pvk|Dԥϛ- 1#`"v\*lcpevv2;>hX[bcp?/@s烂NyO\''*xNP:c< ;qҀb K'pgEG$û6;qwG jaX|HF:z;}ÁPȱs&"ׂ9's,2wl@*nB?N9?^ ̦wʢ8\pI~Q*+ܥ'?~w0Ł+' @s= 0(X xbJw8뎃)0!BgNЩj O$DHL9*#aG#N@ۧfc,IcY$Ġq0d@sޚ\F Fņ0ӌW[;_xzXĉ[k(*|e=hү.S"4\vY$iI)0IzGVwD:1.r0>w 4;xǷRW9b3ON 琀T=9旧tN43ǡ=y:K:p00NҼ_NqLpx${9=1AﴐxI(Ny?3oN鑎zM9wr'?{='7O_CݓIǥ3qF7g9'㿧ր$cxi2ps@%H<׵:F21ԓ?ҕ yF;vW$gnE<0O̓A98J\9wQFHx}Oƀ p>Qy?5&>-Hc79ڝ u0X {`z [$F8O$qH `g41>TOL`w;+.rq60sސ!M]3#~ :zS9Œ /s~tバr9G=AY0A}}zEU 8}zRI-E'p9uV9 dN89#?0A :c7|ǯb)x #֐=~8>߇i q gƌ7Ӡ#8# eoub36qWH2Ya1Anq|Յ 209?GC:sdOz$0#r2ҷBz sriH#Г϶{u vi$pp@-'Hs؀I.~bӧnNzz`"t2@q+$^>]\z}f@gOzU^w.A뎇뎇 cxI?ts#~N Оy><98E?6@rG;I:g}OӚv#:zz{Zjcu?4'08zƄ0I4"qyd,晆9v&8H]EP<`td{p@ђ?nH1z^٧d  wqa@& z XϯF1;$Oʆ3c895]8uݞx4GZaEq)$(}krp8IGAF(MMH[i'iR`Zʢh]Ȓ2<)<>r3ڽ<諳l"ddBq3qX1xc\Δ   (Z蝻 eW)-W8 c~55*i$u9\@Fy?JƱ0C2N f[ ,8-6JMсz+3I*7l*`a܌ NmxzPŀ<~u֣wӦE;ұf':sgm[i 䈢qof< !{Ȧyl:'L*>,!Dv\<eFue\  <\A Ad?U_0I,0YP|{sֳC0| XePGTM"݄iCK\i>ѐo.1֥[G" CtWƨܞGzb"ܫ;XunH9[,2A ֡=HnO'mQ#QqQy`ws!r1ڝD1Nd7q9g֯!Rۙ>݋Iϱ Ɨ6d;s7}9@X8SܹnGPDL1#0mIk@0[$0sͧr\glq@ GLT [F܀6:(+ȟy9#97oZww9ڠ?KچY,l˟1aU 6W/mf ;xjuOr`sRY䍭G t~1qWК":p)H?)GdtFp۞ >zP[y{<~czr:zH8Fp)81NN3@[Q2:SdaQ:g$'4 Ml`{{QcqԏS@ v ;py$r9NI9tDA^H<{߰4p07`gp:1, epG 7'@~zR=r鞛zO<b= ?ngמF=hUܧ8sLc֔ s1/(`0#%}{N @@q $2)pFH$R/垽篋:'۴ELa]p~]qs\㡤e~g2[4 FtV><lwupc]a*H'NvaLVz4eU7w0< 1[Db W$3=2)Us׆89>pjcCTO͜q\͝[ظ< %NG A89!8SpYrzd(}b/6>cG`?8's8Wӎp9&x4οfH#ܮ)Eܸ$dܩW[ 7T䧄~Ѿ[">ISrGNgׯZWL!>P2 t6;WZS' +da)|m2p҈47i T)IE+v8cQ ;nz6VKۭ+BB6NO#GXoۥ NBM]P'n? Jn2@JSxU,[P@w*8'\ }U>JyXRXap~֢jۓ2A rH#=H"nmG$DbG (@$ kpb N צ@CvC<X20|3}}*/̹!]VS02ǜĢ0铏lsɮx䕑s([cd;!{lЛNDwMȐI,@#B8"߽r <ގkOqҢǕlۗ͋l DC2V~]jךWwHb ^-pr I>PTmĬ3ҚVg|22qvw{Й<Wy|IcQFu#QD@!YQ."d2n෷|^Kyp #1j^6"k`/dkɺt F,w c4s\TUD_?H9iGP[- E}qB˰8Q ,R2'Mi'L8r ښBsYdRgץ\[kxHЧW Ҳ0ۗx{+HR\UAڿ0Z<2I,sc 6F=QuURL8A۷5@!#x'<ϷjWM# /V^$F#poш^rLFT7P`Cc)\[3 yUl`q\t]K*oC `n;FAzw'sqnkؔ`2[>bz4U%^d1U(8x#lzhΫ '8=q=ہǯA[7O?1هʃXtk $ u9'08Fv}`ޙ5ʰ*NG_{1+ە;8?Oz܂AS\3q`ɆAǩ$gsw@ 8\iqף$ #q\9P2Hf{A$r }埨qAHA>Pqp${Ə4dw\mGBpz8~>yv]8}g#ftaOXƶulm$ ݏJnu4@NsaVdB6}{A`|o pH!<0z|Dz3zZlr(?{##IϭJoe$|ܞH0[CY: cNr7_A'Ԉ`;y901V#b ֤Jpr8#qk.1dw'L 2[n0:xϱ>Un@ ` }~f"iFp Ãӯ&y .C"nF'ϥW+ʎ>c=G?~fY? O<{8hy1>:T$sp09 __@kKrG`3<ړ$p3= WYwd7?s~-FOnznl?/Vǽ,Gh{[n"X9ڟY+ p9㊥2"3Y08Wh?qzZui/;mrnNI>30~ t?$0FU]"|903y+/]Lݺ'gvͨi0K%^4l?qa! 03u6'F&ҝDn5TI#Kv3Xݼy(Gw5-]bѢi$ԗѯ˚XVs{uwsq&"h#Q{(''jՕDBrNNsӞU(Hecʻw/IEwbFc,+Yȫ32,#.nHq[T~+SZ\Go?tz0:>Wm+jHX ׹>O%Y-sM:֛/-KsQ21"q ; |շ s|ܜsO~i_BpH1#qh>JI^x8Aɧ}Ga(g]<}ϧJERN78nsӊ&z03ZkJvC~lثoyS=pq8*Lߕ$*8nT :p#ObA%i"e_<1wŤ\xz$qkXs^`W=c*H+oO%\1;`op(lohl[r:i|ͧh3+`kL.`789m\`ǀcn|j6gg|GK/.@[p8 9+( lO&h 3m*n#<֓ohRMb(Sʝ{_d|Sg v;{PP>*}Ѹ tO5%4}VDװh.fAB3r 5!xd3ۜqsփ[1yzxk[4֖w.\ !*4 sQE=Nk}hIg"hn⾉<{ zu+[4np$/;kCnͷIB < 2xnjo]q=:hߩn s:sN rd{zqJo A V*r8808<hhsӌcI=q$vImsFzܟ~x_)!w'==8On@U=0xOҴI1sOO=x.kS9?#󪬼g* z,קE)HY=<qz`S#`%‘`r}zQnW}gy<g c$I0H{~aJ֙?8{*4=el.qN"[ \ eHZwC4ap IۀI@cZ `pp;qmi#gk­\@QROF1ӹV}7q@'CwD@I3quu(8վSϩÂ8:x(=F ?G`n/Bq:ҶYB $fOQ I:sS-'#?`񷝤(zU$n qOS\Fzq pcӰ|ޤq؏[gj烎3zG`We8$q׿ٙLOQ$񓷹?u\7=qOx.9 A䒿TprTtӭzXw{|A#S(GGV5هZv 8+z==N:Kv9= 1<qs`WO-FpV1ہguF7G3.G$q|u\1孹鞾J"]z2We|woKGgkmmmodIbWq6Nk>B'RK`p} c^=F)7vm+sܐᙀWx'Ss$Oswv'LjpH,6r{rOTw;5˛Q 'Zi{gz3dāCG Pzv >eca 3 8'Woy%*L0VcwZZkc@H$w8n[kʑe\1ܥv׷ rJ+bpsOj,ͷ|˓+p{=jiJXTp3"3d)p8q+VT'#'ݽiI$8_6p}y!љTI sO_S)YD\w|>Dg2k -e|~aoXKq3 Zߍ VĀt1~@?RzVX]HI勦`pv)u^6e~X,v4bhcA!#9ƾuvh'=˼^rA 6(=r=Yd;<23(I\:׽Ǒ*pđH coZLpp}}h7}0wdx$~? @0*q2 ~L=U'pxskt=JujCDgWP98GUjYH~gnA}z~#-F1q2NO#R18L{&Rd^{8#'ӎ9y944u<G(sݏ_ʐl (N1.wg|ғ}[HG\⁊Aǧ6_3C>cqyO4I23 /ק4r cՏ@=8M=yu8;i1Pp1`?߽F9\`c㓑LNN1n&~?4z1׿=(#9\cdy4duyힴN g}x dsSGǡBb60xlaN$ALҎ@y8=,G\!t錐 q qoH:`@ @<s9#?,BN>889v #=i1`i9v@=;nax8'!\ e2?0{Ҏ$'LHwXR;=sKGLKg}' V(&ל 13=>:<73A `0q O2T66ǧ#8 p[)vQ ' z㎕nRFcֆ=OU?0+8N d =+#R_9>; Ku]@.qcqΞ38䁀;dҦA} 6}G=RŘ('{|z.8/0=:sޜ瞽iI;B9<KOgdv(B%Pz=v'BБ1Py?Qzt. f9OΘ\o<>sORv9=>W#\a<3tL?1q@8$csjh+H;rq?K =yTdlq5]p=3R珘c~du##ЃGRG9g?F1O)OqxLryB88=ԃ4_t2z~U =rA鏧\];XH#ȡLu8"91Yb19I0vP ) q\s}kͶ8v ^{3;Ey\U琛 猊 m>oRaiG~efzkՅvuc͝v"Cs"d2F8'AqYoUi"岅@UCr=[}Fjt[ROmح>c˞Oly%h+`2#*8Rujv6rE:sk^W+#Bwȣ{(cR?ZS1N e[ ")=Qa<%6%xLfdm[kHX"FTeCvG䎀\Q촹FId*'*'zj2RU zڎ{(<KGɸAփ`(X5XSnWjb 0 AjdۋTn8Ty`Sq!]ÁO:6Tn8IKR`W()TsOL˒+`I_|s*\Ôw /#:gK(  R.BV*d!X`8B6 ]KFo-3ܟ:nZX95+.0CH hA")>9>=1ޓU˻bC;6X09@V0rAbp:qlwqɴ8AL_qs_\1wu.TgF027+0y~H{VfBćb2pK'BUڤYb`ミRcNwmBzj977ޔ8ă,Td0Ho 2Y1jbh`1pus#a Yڠv~lcZ!]#8N 3>$ 7)|$`PUc|q=, uN)$h$6 RU<ϽtqJ7#q8$}}j%tȚ7-7> npHS}y5y@Fۘ# ׷JޛJ=CI ĥ \@/x8tX SϦN{zOwqpxݒAG|tհ~Px瞤峢ø@wCR$wL{RBNIf8T9 `c j Ti(CثFRC9叱ttwbA8= /^޸#^})>qLADZ#7MÀps^ ulsczќ>1@ 6`?:r89Hav~(۞$2ҙ v$SNɠ' T`t#>`#U9$pʎ'9A@#qږJ;~=izc?{@8Aq=SJ#H6qH V鸌(.$Ԯ <\f xihg]$gX0cJl3e n{]W*eb".v8\t#ja+D3Emwxz伟d}& Fœ79sk{󔼇iP[ /N7:tf $nY0ApT1’'I3V:KJ@. S>͎r:2N:NANzQJl'&T!A q<PyYYY:T]7)QKwN]GV[V,Oq:3,O/dqH'!@~O3; 5m+ٽ} 3s4ffVf noCYu!F1 y8?#n՟baF}r$_1 80sU2͒pUNydrxnu I$Rjo8zԎs ! x* md֥ q ͎1ӷ=Lu#<Pb`U< אE]k9Ē~2$#pz}j$esrЊIz>@`OG̬r89#sBH< )ԍ*w;v9%0R~?2v0 ?3cwW:ܺX T3dNɁ=:p3K-RU~cؐrIl0_ʚe+Hڎp2}:|gv HU *R0p2bIs#8DdqT s u#U+򟔶$5< §$ 9?{y]4mrHV>\9!yxw; d%V<*o9^[+tݒܼ;gxևP^iсʺȄ pY@ls+dHK?;0A'Խgn:TY W;BTzs< ͯ| DȬ]2Fc R3FB唹G [Y'&lqzm9G7q۱fȟWTVmr6AޒK^j;ob*Is)0erG$ezWcKű70נs@`sF:T^qazv6y +О; 0̋_{=QsE# [Jەp -i yһۊ VdڼCz1:;d{dn t!SOO-G2sӁs 99=8$~7\sb=kl9$cPOAץ7=du׮Q$n>cM;/v3|=T[,z g\L^ =)Bkp}9ǶkjFz. ]4>$rWΆ0q7`(놭xpn:WgW|/Vic'{1CǿN+ֆ#k9=p07 #ۯZarrL3[#yA'52}d=@@#N,up9ϯ=kV!#H99#uVfx3N9=kEF1BwwUӶԑN=p~מ(~s>),c$>'pp?ljL9=3g&2ʍIn8^8$21cnk :ǡY{zw=;^EE;i=@1@C 5cЈnyn8{U=TʲlYI3?(8~|CڱR!$#<{`D[3pszZȤ2 =rx7dd{\cg۽O1V g>yspNl'$N30IN;X g`ww{v!i8^QUPs g>VE7pygӱ+*y:  |$p0 v9~+ʬwd;֎ӴtǵpI3ks9 ?w*q|_U]f(0GD pr0qbkSؼ`W;8Hc3*Au hG\Jz$PɕRUqs߷_y;&2 y$J0珋zslf' XOnvEYJ0`qcڻ^ɨ?F~|[][A!Xgv9979/riԝrNFڶ%*ͮG%֒e[T?ZV*-mŒ4yqsҊW_+%N3ķ&Ϝ|7y%~e4ݑA+|Y+L<9Cg緭p*s՚=5E#ɉأnݝ;mA0K܄_3*/RIcsoqis,3,н-[v.HU y cE![8He=+hknNܠ~֔3Mqp9?;:)tghRFA_V> }y^ p)=MB7*YA9$1'8c84P!,q׮};`{ Yd (@d ߓ3aUoLcqE˨n޻_r3zr}0O5 Iv9ۂU3=> `gsUded a3ӁBC.mwCuk2-A'_ $3mz˩z2wjw?%wpvNG? Hȟʥ\ 9 uc͚'Z<\@vvsQ$d& rN~RONL=KF814Ӓv3-'32ZwiФmK 1R18Rh4=cΞ$`Xr29*FW?tt>^R(/"(HVaU;F?)֋(;:F'GҼѦ,[K|7ʫԐ=I |H,vJzՅԓ-Hb$^e1m`y1 @>V7My?鎒=o ǐ/L2 = Dnw72d{}h7g>Oaͩ\qyǑT>NwgqЂ{?ZydJxX9)NHߩk4%0` 9#Ji#nll4c)\q}{~5GqߜuJ_0O+mx?J/ǎ2^O=W㌜g;sC4#:~\@G8'B8ҒB.'hs>98 gu?/r_^j_L6rH n)%8@⍭i;39rNyq랔d;c<}@ȶ@'G>FT t;c\ǩ֦KCJo9b#pzvL 9:91qڹ&=+a[֜= 6өٮj65 sUn;qy3J~:p?tN93ʟagBfvzpzd?np=w>J$F~y*?UOP?.=p:z-Da89=F0Ii 1%G<ǥ+7#qJ[`zc4Qbݮ}Vh8GLdcn8wgMgdt FǷ ;'S\wtt!sװ1Sׯp:瑬G9<9$t9ac}=+h);W$s?JzvO8R/v<1@AOnIr1{}*{x篠8R=I郃9"3898 vI}? [9usFpzw<I! G3>`:c֫t&[L= ?'}I뢎q[bpH{Oե'NA^?3͙qN#Uu84Zg;p}vѥMqQ[N.ONǂ0oVdkwx[8Ϧֵt}]] ,.`Ib2$+1R }iB)ok|*FO-z3ֵKmQHm`Yp ̈~cۡ[%F~XqJKs ڇ! LuofҷLvBchHfVF#G}57dyʉv[( 570霜ׂȪ &S+;S~Ge%en7cV ld>xRK-FK p3q c$\񎕂]:I][P#,"K4ReVwya._kZԞ,V;lAjd<$g$M=R2kMz3\K{૘IXF"s^uvdrA@6@3WT]?eWjMa30xNڍ퍣9 s.wK*Gp8g|IH<1cir=Kϱ2MxM-Gow?5",7gOW#}>\ԯ~#΁аb3nY}Id+$|=Xyϥt3'c {y 2ɜn(ڙ;yzR)}SC#;C*az3(h D#\gPKBI.)X@9 pzPw>#YMM.ώHk (r:+c<5bɡ}ɍ('wˌ8鎕bX>ץ_JJ{xBz##w!,ⵉ),mCnM|'-` Xn`6{*b;`*I]!uRȓ q\aa;;V6N,̐včAsZI=R: wD9˘YFx˙4q0@r(Pބԥm>catnnS<$R+5n圭H4Cdf¹aO [}NK SO',ŸQ%M7&$YW. [tg&¶ynֈ.rj:[6M0T FT}Z>m<1k1BImV0%ڛCG!#,X{z/m4Z_.5G$ޑ;G L0`ޛCs>%ɵUX#1dcy0Iw*Web-cnrY8JːșF|+ aTj FAO=ڜN9P#}10X6F1 GN?"}) !a؞ӯaћmFnMØN I9BD#t:4;©fddf9Ȫث0c¸l =k[q 99!ND`6N)I\M}g&`jo[_ hDd}3_i4 :]OiM:zwRjI;ik<ɹRV'gʿ,u/ 깶\i6)刕D6Swvml\bXvFUhF'(=Ew>n|h%m孑-m"q U|r6\n#qZќ' >22FC=\s}ĉ`HH\`>xd}WsҀ{^׊p>98=4wOF#%ѓ;R`shGOࢀ;g=p7tuzJ1T7/b~as矡4w9#.:0O##'' Tc`3ЁI~lی/ӧ_Z N;r8:}i@/#qמ<I +:dϭ 1dF  I;cp9 nʃ=1O@; pr t]$x#J@&zqsʐ*Ls_jLc+g#j>A<9NGCHc1㑜za9 ێ愀FO\Jp ܐ>^'}hYlGjrv9 pn <_lwCЎ[.q#8=2 s;c8gTdsxsԌ 99#==Ͼ qTo8^d#ljBI3ò^~Ligj8'7E9>an08'<jgU' w/x=xGq׵'twヂy͓(~g#2@‚sO8<4϶uH@rTdҐaXrl{SNNFGC17  8ԹH>ߘh '3=Sc†g `cG?ΎP9^qf 3ր{ cYy^F=1N sp1SK G`888y'%ݓ`9 ~j>GnHh{@wci$8!x`9fH<4ӎyB7grTi #sF'۵8dx'9iPz1998\nx4c2yi.I;84g> St9)G>}\R>'=2^xnpJ\zt93  :OoߏlƐdvi0(9l =G^h;Gv$O1Z&2e*A7s鞕ŹSdX YGP:~u4dd;GSROs n E&pBKsǽH 2`@>ERa%#J3Ga\1l` pjL}qIq= S%t#װ&x#|u҄a{A`8AZbz2dOZrFp9lɣpcXRpF8>ÿ֟bn;=:{Fހ$u=;gڗaJɷ!<ǏzץWFI~i=2;shnqÚKVd 8;A=:Ͻ7>SӧgJ=0x?Ҟqqg :PNc9<-i 灞RIY$1( l={ y= c@AdQǽN`9h{6Rrr6@}@4j5`q.X@㧠jۜ Kp x9d5HpQclqܟ{ X%Ww_41ws͖ ˌ}=/<ۆONz@Lkq~b@$֡2B:0qfQTm^}R%BrIEB񚤮Ȥb nQ{9n9?18pXyM6 G97 ~,O \u.H$u=1qsSEl2zs'ND`d`@1’ ܓ=$U ''p28pi_Pdv㌜K$G>( )`$$EFrO뜏oN1L8ϵ)8 xxչ'upqaBG^??h+  wސ 0Nx*>}2:8(z<c5e.*qjbZҩcbrjHiJ`1@B`jCxL f3>$Q1eȷ D#RFs3佹{\eA&sfdi{tf_muf{$3##)|$|Հy扫\I"n%eREX]R!uHע|ilzXQ0ܩ9p]w%EY w̌{NzTFhĒv ԶxޒQU6I.7zJ(ĕeu b:9JcM~NP X/҆T-y cnf$8sj6=XAP*J@N?8lI'GWi%1v\`iDx#oU9Bx@*Ԗ\5YBnpram$d.v,s~n:qS2k]Lc' &pJ[X60 ?obRfpW` 2d\w,:.Upe.q<\'ܫ 1,yRa J"T~WyR@##91d+W?*ppj%H]a³?Ry atSǥU" ͜!<S0;]vŒAj."XB>s={r*$:9<j]uaߕmˌsSg B W jh&/iw6itksഈ+HxTLdo>{I qmc _(BQ{޲9s+A3 iPQJY OF# <xQбIQbh<`O` ^##%pAL7tO$3ґE͒s8VvBU!!2s`gY&\W9 d+bI\c;zEUfHFs9⾭o&VU" [翥iV64}Eil,d3mBI;s$sW{nھg=J{|Roakȭx Ipd'ќs=?r؂Npǎ0ԟǥDpRx=@ӌ5EH'88'HC<݁+t[}:N{j#91lgN:/NI'^Z&m8'vx1Ԍ`>裹_ftd`1ؒKss֌g8bX=׽{n:ЏUQ8ar=z{ׯKcO(B1O\ޥ9I׵nY<0\t9,_"a0 3קXu 7H֤ w}I#Sgöx s/rzgzU d'qSd:dco^Ͽ OҦGボuϠ=8B1݀݀IEN.z}8sI.z#׏U`dҹ@{`{z9 {c=}}˪glO:u0?9`=*ߑPG9_p;ui""y>O׊['n'a6Z؏ߖ9p?DOlttUؤDX粎:w鄞zOLP]䜞FsX0;棯iH9b31Hs=hZQds'Ω@`O#B?cdv[h%S}>^އv#dE $qJm;f:/THAG pGs>tOR:EXaxb~b|9q w$~y+x-Z'cgp'W (׫Ck=w'Ux@# 3ߌF8:V1P))5񜐦Ac<${WE{}} >KVSA ,S8ly_Fm,_s3~fG^J+Kݏ*wU'ɵIp!AD;TӹM|;wKjgELđf8#yR~7e >LMn7]%kqy۲0!iLhO̿!iMrp;bvH9=}Ƽ;^GҴwA"*fUsy1X7< 3QL^bvVCTֿS^̷6# 11rrınMdMHAC90QKoVKAe%)[*XHfCAe$ڪ\-˴-cvvFd#]QޒzKZߨVs:RfIVWPX,qxJpcn.qۣ.q@#}mK >lx\lYQCڇ-;zW(3ru RI:֫#t䖑 H)R3u'5#G`F;prTt#RXd=3w/z OHSϵ<9$ {4Wo2q.3=??CA%A<14\vqGq1zC02y?ON)]3Xb98>*Az:=VԦ=CMƉ3?aK0FEsm">dV26WCh=zXBu eoXrVT_ 3mk>X_9,? ~lmo1zt9S8߈Ltaæ{ՄѼt0.- ̩q'3*‹un^o$ @[~ZdHJMCyCdQygWD\Z]#4դ 0%IIY)]B6S&R1檰%q+iq׶2rr{_'G?iNWH O\zҕe!s .W!?GO^W8tQlB']0\C%O|ϷZ011I׫F#%>Ӯ>:strӞzNF28 {׭2lTvnH?{ qO1pzzt֑V! A'xӹt2bIOZ8)*=֙r3<2s]H{iu=A遵)ű[fA KgyU9ԯtoP1Np8$_Z!c'r2.啈pN<XX^Fx :Oמ{Rb-* /prMO r8?4 -9'=7`Lq:tCB`clq^};Q#=yCNR玠'0sq׷L0{h6I8rUf1G\9=2%\|$mϠ\rGV{'8dv Ȟk{z :7G,qUA zgx=K,~q`< ^=Mٛ# ǖ'Υ } 'ԓaNHGLPgz/r]H7t1[ v#TfA!ǜqr*XXҜҖ`Ӹ>z`} /1dd8'IGc~(020{4~8vKdO'?ցw둊:&0:r1דⷣ9^`G͎za@pg*$sV%6ml*HSI7^R&譱4dua1s^W\]_I*95X<*>_j-r'=)(ub *Gpzu:ftmn$E dqo-RStjIf ~T,8cR$ˎ6<%cqҔ5W}H.ZER,`BUcϯJ܊N.,q[l6 0ܤǽ&쀒de,WWfB8kC#vI_iț6HrQ 7P@+^kZ hj;)q]y܃Gb;]Mh&~e!bSsZޕ֧%h쵻u b[_[0ݫ.px[k:Q`|vvGh8#Z/*o9Ro+yͬi,a9+"E-=Ѽ }OXK+Fk=xdSu< '53K-/w[{yci2au ٢`rsjƣjB^}3P#*ۿEqԚI.|0q[9 &htK{F;GGi^'/t @+Na-Ԗfئk3c%Q`:W,n3(8w="n9=q Z x8w'+x Spy}MI6+#J )6c3.07q@Ik-ϐ zwuM7ay|1MPoX9a=|B;P!zB)ȷg dW2,ĩN73tmav%$1q V;l*vDd60~\V1ە "8@.25jKf]݄h`2v᳎zKk325ģif NiA#;{λev_F1kO_VἿ9D!LE@$O~Q~cƛ.Np]n^h pW$⹆vox&|s1))#&2Fcpi8 hxu$[ J~̊UctM~Bu9Kxby3}vi>V nbAPlƲn8Rҩ`N8gp_1؁#pll2G'}0c<ĀxLp:ᙗf8lFqPRtlUՕ 8=jэ 0VmKC#(DxF*y3n'xOJ@$=j-FB*!@>nIT'fаeL'm\ Zrro#@Xx.,;I_z| 5 .U~2"Ȓ 9eo~$ߩ)~%mlZP̳Ⱦ[/-:7o<y> mE|Au&?xHɯVn_s˝vzIYgZxYݒ+X0}s- $Q9G rb%mt7qoiG +ʰ! rGaAVFz`O=_nZg7<$8W8zuo-?w+?a$c n8:tB(v`mק㎠[3syiy8 s@9 s<{uNiq7F6y(=Tz?˸aW׌|?᎘0Fr1Aׁڣ ~#_LO0SH >Jaqsglop@=zdP .v xp܅$^/q$/ = 3-Ѓ®2O͎9)xx8vc3ǹ":w? &5a^0>ק#8І8sӸ~sg黪zsG@'$0$ds߸?,| 0r>zP}Fq~sЩ1rpNbM0p<o?`6Hr[8QQH6FჀy<'<8y㱡@FsN31ǿ@.3Ԡ{w$y8jO<rs팑9*:cP }i{A'=GhF8^:͎߭'coSǽ)l9^\R ,{h^qwzwLy#bsWwozn{֓8P:1$c۽{ l?@`ӟ]0`wd;uwI!`uAt4spRL:+t%_o rNBdԂ:gЁN=r3 p@H`` qHBݎp䃑I=TcL LпPa@lz0'@Rpsngo!UC<T)o_#8\$sֆ<3)d)pcֺe*rpWGjIܭz)뻐?Jx3Ϩ{rOJ㌜q9*\G'$c69?%<`c'8NN? FO=1?*ka\j2*9qd:%Oۭ?ϊx$arys< қ%$G'R@6%&0@>\t Nzsz5RM`Iln~\g;@sR{#NOa =NLA(O9߈2:1'=jrE< `ޞ:pIԤ&A{cG\g:A`<&O?{tA tA$z w&IӃL<r2#9hN9v;TLj!sG^H3'?%=^ Hۂ 8$c=1N n W9<}q۽K 08ӎU!>SϨ|zy?r1ʷS; *Y^JxR3:@8K@``N'wg#8N).hʩno%aw 7c9,K>qV2RpQjH,@9TN7DXx2E=ͼlFH@2YF%K)4d4n><0cǕ$Xr̊w!G? 7ey\#5m5d -&c@K}z`R2(c |9;N0z-LjŇ͝q8vPذvBq3V7qA=I Mm(RɌG{qC#3prH@21#08R Ā{(V*n˨Uwx*;v?Q@۹wycn@#zhF;{v~c}H6xqN@\u=)$"1 d} m + p}ymnd!q;?6;t[vxR|iNT#,#vvgt_('^)ۜM _c߹ pg8*X 2wEbN{$4Ge8\A܌c5s~w.NX.Nܜc Npr8aCT>!z1zMTWP Si2u:'#9ۖ~}:5c+F%=FFy C~G|S@$a 8Rv~"V8Q9Ǹ1,]nERNG03P$eM7usOZbb`O»OOrcNKoR:knB$9*f?$P:1_ 珚H 8\ޘXlP'r3ucG1eJ;D7.vF2 NC\z_ x qypzc&7<=~-Cv's)0GCoç,sA dVV(GL=*R^fsw=#JX6O9^h*̌3m 9pq[Uj*=K<@ Hz G#w u^EYO,Gc8#vs?&N^޵ [$Ǧ~rܓh9<$ `3089\ԯ2xHz>\=)qp@N:{tdHAojx 3FO) <8eޜ0PsqIzbF9@Ԫwg2n9"#! 7r4 G 'P0r2$qГI?p;s"<l#`鐹錟0'@n ;p5#:ONH9= tRb oy8LUt8 H`H8;ցxʎ2HInq8O={88y3E6g=8W$p cgAIAD WxqjgT@~gAGN3B9) GQzתC0:zQfxaUՔuHYr2sQQP3sH}E$wl$pyc~?Ҵr&hL ieeCQ/wCծ:Zw*v(Dm݁*ˑSF`Zӟ::},&EE%>BXs"(Us®  AWnCouc23rqI ]X;HE\8"H[W#1Y$Ir ;vaHR]k2pd EcN2p1 wmn7 `îpqנ!-[)1Ffqߌc&GLnrz NqI#ԋ˴7Szy⫠=l~qnH]BV?E,Hq# [x*mNz\UX/rq30$<n,:z#wbĚP2rϧ6 I%Lgn"l=70vW_CW"hU̥2q?U$$&gutfsuO d9'3rr>C׿ҔF38c*yjiik4cPȊ&|JͰ68cUUO1';022{Ӱkćv7~sk-~T9'Hxꢭ>ehB` \HN0]ʀ@;N!qԊX)GH쑋=>zT {x)6އ$9X zʎ2m8oϑc5ޝh%r?5OL J9Hּ);mrB2@a'{=qژ=>bH`~<*<5^Avp{QG`~s~c<8+l=GZn1pyOVAU956H=U#;>82SO'@ǥh=["$_xz:>1s֋>O^ۚU$Ԑӟ1"S 09=>Zك?.Ap8޷j3\Ϩ$+r$<)Oz+Gl d팂#] ps<?{4>sei7ʽ@@z*? {MXӀxgzh] GLLGǹ@#= ?px'_5$9T<Xsb5& ;'=>Q63*;yuǯ7npNָ*-P:u5 ~ 㑺 'y9}*#q=2<2O^q7''Y2Ɠ$c?lT8$r:Sв"H~:qO@{@8'GJͽDD'8 2sJ@3~?}Tg9ی1׾I;r1|zu хmU+7|@=I?fO,0@ʂ{L{ v_SZ/Dx31q8q5Cc̙`%[czIqC@;#;WAqj$߉xi߂22=XIi_E펙8ȿQܒzqb婲E:2>xF21qK,?fpr1؂z֐GR9g4s38=tT#`ǐ8i]@9=֩Ԏ9+ @@  |UVߒ2Q ==뎢hBrQH.J@pyZǔ+u>dM.'U1'*!w"<㎥O9_vMM&G-cבUku:0ڦǽ3.P| >_j8)wpg5tcJ󥑄dI9}+%ْB #lt)+dl zgrye$;VX DN3a'Cj/[?5ȴw(Qj`c.@'~hh-ĬpNb礥,ߡ:X_iZiz~%xVEθ…eV]}Ws\*'/IF`ZܰJ6P:ᾏԃQY;N0|֖[@;@`w7{zMXvnaF?*s8yh w$av ^Kzu6rbdsmCR/Wexo>w춃 %2gߊH-@9gO(L%hL_(oٝmĝON1VՔ?8}\ H-zEΟbPr:($zg:f'p2@88<3x5toey<_HC>GfD#j ÷H̻0I` 1ӂ jwt.hOݤyD8{Vۻ*ڧ;dH~af# Sg<"q"XȲFv#=wSr98 /\~=Ty X^$|t7>qI?NOA=3,!YN;B?2s@͎AW<{> ,Got,d;:@\cu4 ]BaW*^[Ks@JI|BwFYvֺ+)JT$p )k"MDe]+"W73Z\yEb;y\gsr>6lcQ2Om@Y"e@'SM[lF">08v>^H߽pG8=I:=y)jIZ(zcs:w޽ 9kHzg*pp6sr{/ٯftGY%^<:ZAs~ZN6ǁ[p)_?:;sje\21:rU\dr{9=.6{çNi< fc>?w$zwˌQys@19g+:QWxtʐm*qIs,r:dLzVhHbǯ>yy0͠:3wPy=GO``L5S~T#d^=8I@#ּu"`9G^qq*?1 dqԟjɅ#i<灟T%09䏼8gI Hぴs}82I;GL5-B9r@ ~Pqqz*1?nGӚɽM!ߟC\^yCMߒ{cN#=l?0t;㒸;7yv?ғcn8 3g98ޕadN)i pxךE% ly8\=vOzpy(IKĀ1@~fIẁ=O#zDpbH9 בSֹkXC19\C ש#usbK`st5xt>E|?]?ۊV t$r"NA=?;?ǯsn;0y Jx0~NHV霒r{Sg`-~?7N'=N?);?|=ixz~ϧ'_nҐx#=O4z8 9qlcң篧C듟G#=GŏQByP!J|u$=7CgoR3A@mdPؙWW'/u+9o.`rv,<xwȎky#OęHA $3! [94aIq/n Ld[ gٯ"~`[nef6e$ug+RAq<СH K6 D2#Y,1`@#Oikh~5gJ.-.;;PKHц刜*!Sw)]9ͷ{XX%"MN7sҳOT$Kgg/{.A'Uǯk"m&R3ëOuIT/9s.©Xzizl\0|<,O`pΚ y][+ ?Tlrry\4.3EΞX*%2" '9$t3 A;Ka%&L?uN8Rf1AiZ~m~n}Fbv,Lm^1XRFKnn #α0@r<-L&WG_d9mJ6ȧb!rΨN:V_~4p(<~qsuF`@5Mdzv9krJecïqs ${czhԏMLU)@zzt )q;Jxy5WM>Aۺe'rs$dq֣K)p]S0s݌eMZzhߓN;:/Jvn=v yQJIpQҔVrJ.ݪ 99{\x)Lcq%#HBleUN <s>ԑPN8Uǯ7{pG3"HRTAZ~bui$HIFAgbŒgWMwD^G-<BIrFrjˎYaJ"ؤi!>^G&VI>v>V.䶞{Iu mIG$v$W=\nF~A@,K`h8SKw~[-$[WeTYB8tɨhcqڍN l1Cq?'c.:J`~8ҶIBmB1aybH9Q&Psa'JD2{erٿOaVq0nv}Ι*u\E+~aՖ{K"Ix_`9[ =uZɫ^}n-EV &鳹);;fqMw l?/L&BFv7N0O^ӎ;sw<8uǗl`HO^L(&(&Ki ,q6Gp*YY{eDN 8% wR_%e&Se==)]F@`9ۖ# R5MƬa|nVY #>BppOn=h^^(6rpÎf+WZ6FY*+%qu׏h_4f]9>l0I`A'~yMH[Lj6-VS2HV<<| x|R`'RF.ŗ⦪r_{zQ,3u x SU1<:uj%~W}Z#8'$֜^拎睫%G >W d;aR2ݓq#qQܿ63 rH\Umcǧ>4=6/B0Gu\G>=zrJ.R!>8#9֣ӓeR7N|t$Hzc8h# ~ց8rA4I^9(-He@8qM89lUv4c[p~R28 t<ӇMv8iCFr@~K~lFx\l0;m,TN ~_gcyLNqGAlp[SpxŽH:wݞ<}i9fr@ r O&36zv88iNOsӶ>Pw̍9,y@=;lvs֓pyx>lCSY~H>ҋ`r{J{*N}s1N($^ %qz*y031$CY=i$.9<玜ޚ 7T=8l Ԍ`;Tfx ~@_:bs|{}hN 昁Yp~N@ ;S=2pZbe`rNyM'?w# Rw)%I$gYFK=AmlspJu9 -/xX>]T8 H׵&n9#u5x$r rN1+(;Fcѹ~9R#olV с. p;x?{v0v@V%yl㓍GWGqBUNyA9ҞI#q@!y#~>Ԕ]!wgZ)ٓKd8Pz@*lU〼)fU(*;pO<0;櫠]Yw0u HÃ@J`F\x;zzg$+2#G4 6ٷ:zsIx,p2sCW6ax 4z {h=R20$ӧN=9r7@ a>*p3׭;1b0:lRcn8[8O9NH;یrW13'n:9'֡$˞G#y< l:] Fv|98UC0^sgT}9 c=x5aYp 8'ol&e!Hqn1rqVfIHnǷ_( dg4냌*HuvQrŎ09t$$(8$/~Ԅq` `Ϧh=O$\vq֜prpg=Ly<1\ Lg?O349g$E/rF͍{ @;vN0:wۨS+h^y:zu3֘gN'$`i !0p3uWbǶ=f!~`Wc<`9N1:H8-#g}C`1sQc;s4?B:<'=70'0G':9]i|qO($ }GJ1k-$O` @w WbU]?vKU:sZ!aWicc=j]`,q&ߔʤSPpvg#{dmz 8?7>38~w=x'!^A@'9sp3Ӄ@NAvH:rFXosBq4oq'$rL('r3 i7=~8)y30љ,TE8?''玘Sw'p;b.=HLz7q qEXqG^8SH0iݒ 9>P7';JCiYp۔}Cz=h;z]%89$ vOqЏdt'WBFpFq0?yR+mp[1zS[;b@v-E5v1Dn ?P>B{)my4Fo+*$GO먿to #qY$q⋋%©ʖ9`^M g@' N$1郌up#p|gW]Ŷ87rHޱOq9βRS 8=uD1zg~26áE|gˌ~X\#9=p2Go5j)oFRN  AbBI* . nAqھ_|} G4UɗQ'y&{ӆ6q@nN?1^5HJbjKBqNI?.j/8ᏘO; #u;C@@ϯQu{=: qLbǢ^96'{ n3 Q|y8~x 9cָkR ؎y`~_(]ۀ'tgZ_}|ER،1\h,zR)9~2usӃݸ늶݆A>hi39>LVݲexs[~j32q[܌;[sWה[TagvI=k;7!OSs^-٦egܑG*tFFsdv5s,܂>\)>˹slt'# 7\LA/8 xkߎ{u}'FNFFw: bI i}=;P 2z$F:1NQӷlvJ*;Ю8daxEEܜpzW "3}yҡϧ#:sXHBO :>˜Ir8#|tRB=aҢ y#y{ OB^}02={j#ԜOyVOrY:Ĝ{֨c=A#r@=29^C©l 9?/s++9+;&Vbv>H'8j@y9G_UVHC21(pϽ1:db;~hpM/Cc1`t`t p>?S[}Zzr8~jh Qcd?jH>5-ǀÏn@ڨ:tpޭ (鎹ڹv+ygӑU[\\916 dl?O56 3kJDi]Öb =W*|1-ERĂF*  {\ק 2ϙl7M=u(7@X1fWD$cpWSQR4H0AW\ÞG}ѥfjqE'T|G BRPJ﯒<,MWKVodMfy+u5abO;u+FsV{+-M0YRiG.f7Y&,Qdf]@}lw? n:dtqv*,'VyXR4J!o uʎyڼEx$o8RqҰAhdE,Y%<3ۏ^5۵K6DmsBW,q#J]= *MKi糸fK&TL<Սg>DڳHcb>o,:8m. IHgo?̴hÝa+|7[G H~MduA&)WrYF8}yҪ-[+t TK224Gk*\9wSR EZ0!eR2X 9pn1^I0l g' =VI#p̿!Bw#t\b^ke(Q [6JQ8\U[EB.@$z{u6ҪϘrTlpFgXWfB7c;Gq.&dBYFާ?/P@ϭs=7Kޛf{ѯtycC( k[Wɣ]j+57frC$Zw5W^Amdg! G* ӏJ/+`F ]]2#~u9-gmSs-舩#׵9S8׀H#^"Z/"ӎִRV$POWWh={\,O'^x՞孾x:95`N:8uq68/{1z@݂1d~'O|gI!*3s%p9$MAz2n& =@h:#'`l֚vy/L uԁxJ 63N{?Op9VǾj\tNR~^:@G^`t鏮739*=q%zaN26sNG160A=;ҀErHW$sj:`" Yz?ۚ`x?)8'i9$1۠JFuBZq{|vzҕwH z`j*Hú8`('F;lthێNOq~irO^F(HQoy0:vǶ? :G)N K@Ӟ>uF=t^{xN{vJ6eG-das{"X?%ѝlؖw-;ׯJIZ)]#8ы2nVh'F'in=fE̠ YE7/$2êW{P}CI#\Z)h@8]-_H6i:iH k7^ѭYV1J]I6 ~yEyՍH͘Su*~9$i*k{M}WzR&V 6>Z"&iXp#SlCVo$KPkY°K- c'A@3o- ceƠ&R҄,qG7II4GFJ>E՝͊Zݭ#*𝒋Y OK܇v/"k8e@UR%p,9'I)=rKG2}8#uo+3hNx6m_K i[] Gq.[zR{.l&0:Yl+A 1$ܹjm`"yn"Un1$<|'A#CVԧugjmlqG;]L|qWZTc(_ =0A+9K[Ӎges+ە+<3kKKr x==/)%z VM%_pgtH&AZ> ͞$>_0[k|1»]vR]\4Kw,+Θv#_`rqȬd۶%uѽ~deUѹ䵺lHktipy_?Kskײj1Ki*(mb# 󂦈7gTamz5OX\Y#=q*qb1N%%migmkhw͹1 skk̯?+qp$FTvp Hԃ*2bp3LyܜT>|`׌zq֪>R>_;qB!G-M;CȘ%/5E5ᐅiВrw9(K/GV-"/wsd9>X<S]x/0ƌH מi4{5|NRYPNp lN{[<[)[>[/ G<1ʀTȡ_qxjo֛4Ds'oQo_'$W1;RR /'i?*}ѓ_?cA@#ׯҎ|`'?:/R@۟B1zc`|29H dッrx}ёv1G\9| nty-: =i3/C`㓒>8\Ɓpp9q84SGOԜʁ=H+L~te=ڗLzxF `eOA1v7RqǮ:@H<Zidcp3۞P0QNA$uځy9@86H{Jg8C gc'q7}iSc:'HP=M sܧۭS{9-O@Lrz2vsvƩA~{ H,v >?ʄ"~c϶sO9zLӕ,qۃƒϧJ?R[%Wz`zR?Ăx O֨~0pqʦ8igqN 2ǡ`g%G#:sNy;r09"`'<{)8?>r~ :$ۃ8듊 } Mygzsyy@z{`*lz$9;\wǀcu 9%:o*[* ȥayL^}Ξ*69WluuoSk9p " 0vS9! $st~F$XE&A0ܪ15 K%RH[rF Y۰c^̐@ y`*Pp~P{Bq[@R)!f@V}ѹlJORq9a`Ho2BrT@) R۾)ݞB|Ha݀pHICCWg u4-^Iт ; r:M r&eݻu Ǐ.= !`#;:5-2بbez^n$c*Y b\n/'! {}= t`p Ǯ{H..d+q֝Sk ^xnrP;‡#< p=ǵHc&'NHd (himخG:?w -c'Q72FSRBƞc2IΡqئ3+t*WrXtԃrrB,2VMI#l0@,(!:@f@Xrs"D=AaX yٻs.Ci?31ͨe,2PmܓRgC'*`71Oٿ@F:` #^ ?ß=AzfԔђN:`\bv7G+O%9aC9fV`O8)nϵQ,7S[#<3ڮX${h63,Ì;-gi#+y&¿ !qVcR.#*` g6~+%.p`r鞕).][OSv RYX}<`rIa.s{l쥹!71R IsU>KPnrKcn3~aevq׿ҹdd9WlVܺRKow7%F~*֛$$&_ *s۱ymf _{%Qȥ\ 7)ó;٬k)DdH9 h1:ta78,^(̒~:~N0T'QywWiaiXQYhu8@ x>4g_C=H oG<Aop~Ӱ9Lnz v88P AI>x۝ vz={t.1cA-qk9[Sÿ&[(vȁc!Žu[8Q BI,ˀVҤ ud2(%÷5WPⰅ7a:L0A#nWRqvt[U' ; whɷr71U[r瓸OUH0^v~\5Kr|;3tB;PP?p< bLT=;i"E, Ý?'ޫۮ[p3z*ᔓ=T6`HzG_\롺pГnϭ!Sg<ǧb!03׷=ӏJϐyc9@&rFC9{Ԑzg^:Z<``F&}`z99Q~ъ8<XS,Q @$0g?ޘXPc_+-#Kc:p?3]ˀ:sc>]ٰ\czՄ8VF_̊Әh#Ά<L}=sD kJ֢k`޽8 y$NdgiP2 @s_^G3ҩ0hNG\O}g/rQq׮=N/Y|WwnSgwpA8?7cy U7rXp{FqWZ[!c8$N͸ן+E<"+yٌs9T'/נѵn#?nG㯿ֶC[c+9qGOUgN oZ݅m\QǷ\r}:vStJ8:9wr:d~]S3?cUmcRm~ʋv}>1U3ןoj.+E׀P;>"w<`;qKhΑm޹<\ 9x<5I"zscXA(=2 \6qjRzW4?95$t/,tx d3U,9$lycTG@x=jk6)^E,l#!D!-i|bK? K~B=N*㓹;{wj0CsAQ́8wDj9p0`p@?)29z-,Dcn!ۏ$*o5S !r"Q #מ+c$Lg;Q|#a޼i}Zi~hKƁ2 =A9=jŒI@c:9tlMyB9fQv#v^>Wg|d` L|ݏLt =6^~qqf5ydz]zv$G\w9#DpOs3rǏUX xy=H+NACҺ{zӞh 22n; s=4y9AO u3:pOF:Omuǿ^s֟@b  $S9/mdslBn6;sqǧ3ôpOL*B* Xc" m1<8|=='< }7pxg~qH:3gu u8@rs?d6(뚙qTODF8`rOCN1S9$4bNx$؏zx_p@9ʒO@ ?@G9kJ#lzdN$}Aa,LEap=O/!@`2i6HIۀyJCVO{P9<`d_~PŸp{tO~??O~k: pr@_# Rp@ r ?W%YyQxϷ:䟦*$40aBݱ =:8="=L~ 8bI<*^8ҜGR܏瑏BrG8׽':Fp11ϱOq>rqQ;@?sК֚&oF7Xx3:Ud=r;Iavw $yUٝ)Vc_T* RF9 nTێ'{Gn屻nn'iS``^ ` 1z᯳kRsW:fa=?|3wϮ¯uzpxFOʘOӡ883-Fǟ˧]S/?kqu:֤>6;?xz3קq#{{Ƿ (@Þg!yzKn?Ԅ;b[Qv;3ĈHiA@$5+*Ĭۉ| *,pVzV}Q)%Pʣ2)?A: 8Y9-O22vR1qK2< 6Ld29{R-m^Mk.gh&| F5SW{_kE鹹r:]r %j76ʁ[PFFeG<5znw!Uc˾K}YyP*>c)2g# Ȇ8E8 &y=8ZϨ0,q͵~'4(7d#֘ܠ>̼zg< f l ԀqsހF2;yM|Jkwe`^[{d({[s'vѓ{O|Uwخ)o5P0XE@K:< _j#<Ҡ'88'sQm,*k6Gy,A".7* b+y,fj{6.Kg8[H>^XYcvbl{c̖z%.%*#Pm%#\;UWKvy m;Ves,q;Tn#=so!q0lsK0ݧF! 2BIpqױ_fvTTUR>l~gU!-ˢ0ęP۸By9RhlW81 cRԱnK>Wn?318#p3ǭ:f4"3rG@!J _nIף=+X=־{igEޜ_tCwrO𧟿8  v.kbG!x 1ǭ4eGG=8jӌ>ryl(w_^:ҏ*J a2y'ty8cNNFy_p_ʝU'%Od"N#۷z{8%x+רt+c^8 -3$8 I8x9$x T}=sޘT}H7'9drqsR? eIݞrČg`~_'CP͌`ǣ2}"?.v>֐v G(9Ƞw$n{ͼule79\O?.x^04 o9=G9ϨWrII$dP SʎiqNx$  0I1z_q>ڀcs n=#֘N@y#A@O;L>a8ǡ;GS@ܜt;vS؅ߜOʀ }BpZf:sFHbprsLfs60Jg1ϯ>N{{0q8sמsJOP9 -{R`=9?.W'oNcI$ 8q89'ϦqM$CzP{d㞊3{sN-C!'yvXNѐx}J#NrYI>Ԋ!q1p;Lۂ1c9t,pG ФrH#{zG)Xw뻨>J}Fǧ^$zg嶎m x鎣} &:p9`s@cgg_~BN':{mOmqr(Ѹ>^sF09s׊ם{T 0 9%Oמ3F09d<w1Rp1y@ #3=qG<8x^:y<Ѵ c>ݩvH(Y#4sr98a\~@18;c8'b?Zo2G;zd=\ٵm(Aʱm }{UWh(,C~b{Z/VШ5 $gie~Aϭ2M@Nv-\ru(K.Yp \6>*j[ W3pǞ%6~D <ϭT ,w.>Xoj},frjLXe0 1\NjI!R'SSriX5y7#8lPÅ;zs\|3a;v#nfo#jֻrMfr6HvhOE:˚5ۻh'n\=]ЉsRh^WbFO,dGPOXWv~[dFzdMcry53~d\Y­W7G'jMv0cدNzs5e'mY0R6*xRîr ϭE y#f Kq*R'oȏbW$+10W(M"99Id*2#p]C85$![<p#ǯ4u>E9?uspx鞄c+R L!S60:G RF^VYV 4 ՗xP JxlCCtv!F-XaaӨ]cmFPAzSPԞ}~g9kn*e.20l8~eQ0Tm%3ӓީáRv68&0xDq~dV[`<0V^sMxT4QĐBv8 <⹕+ S~xoz;OBO̫673w*ێCn`spGa-waX;S'oӹZ}s`*d9 x85A<$j iNT(nހN09nn{MH$h A`GC][;vѩ_ hd穢Jȉ"T{ E$+";pǞÿzMjZĪ ~g3dc=ucʠ@IRw&u<,5W68 A=G#泤 ҷϓ0F?W}5tmQᗆfWlӧNnh|4jQ ;c8aE}g?1T(G$< 1IFN {eӐq094?/T*xÞO1N8'ޮnBQ96B2*%. Y{@ ߭5I߯Z2ʹ ,XA^~Eihd+\I#ht郑$63kY'+$A?\JFKcmU_ޥv$(a'ݓgV7w:u"| `kb;>|pt'y`N}MU|qCpOL;LYHqN=x\Z1u!BT3( !HZl!rcjϒƊ0n'6q{TQNyrڂXy<:g׭.A:p9N8{!A#;t玽g;}sƀ9c nm_^`1#L?vzdu7 CHNA6J2pƁXn{va#$uOavNHW=@d( zqǮ{㜂}Wk_ gO9랔ԐrX%q=AN= 98 ʆ2p2 9?:bAZ}Kz6#*1 wP:֢ v38m #9PsFE8$B {O]Kg{)be+ LR[IG]NGy}QB˜s :{`u^iv BAG^aہֈYlodx$1%9 T^XOCB3#HPi~@ q8rn9%p[wPʹǦ.ι8l~ ϶}x*{㻃\\uz!!pNW;1b{dP_+6 x'vp9ɧM!(zS\+ Cq9Hs"ےIx*l$!ts^ƍR``8t3NwDuwq =1ܧytl$0E(9N2ry86OJpC(S-V3eUTcGo$zc%ĜA:<56Q <*yV &P(Y(.p>Pq5p)$i,G>l!|9Uqlќrp GNI$ٱ0[˙"F2<(ܛCؤDDYW>c.@ rjLTI_[yF4-w%#q\卿LgQ Wq龯JgvM9 EcC?HvYE_ZԬUxyX.~cHԻ40޳DPu\;VV}GaZk,|rCxq=֑veoSLJfB*0eE#>EhT}5j:T}<Κ */Mj$P=Pif ? =+1swm=AY?6R82jl;O->K_9IT$3!+R{vV~nͣ >L*.pkѴimlJ+`Uȣ{ָVKMwɫc]kfᲬ,y 7Xii ep\sucF܍6:bF }>bFҤ2@fF`E.iގ8CUszY˗r0sЌoǹ+k)r3xB<50pqkt^VND/Il2Im݆, 8AEѪ֗vКSLiNAGc֓NN:v'Qܨ9<ЏNys؏MK.,3ٺd=gtioz8fyv2>>PGqpx$zg9NUB1y#֏7eA<3V)eG?JD7du6ndR u]͝;{+ ?3Բ~˴( 1Nkہ1<;v}=%hCk=="zcӠ}OUWrXxYs L $Y̽3qwi x+YE!VʅEPX$f 񾡾9 H?twy>5Q!Ie7mp{WC.KG?3gC`/;9$.>sGXOO`y[1\ɗtQ3n1DTF8$u$WrPi;,-8YJI&PlQ浃kg4[Hb.o3$m$眂+ux#f//BȨvFAZ*E";rwfxxcx=1ߟA;Q |dA;tNrpH 8=vHbaJ-AXجI*?Wfp9'<ߧz-}d1%$PށtQnRF⧌=Unc}N qОgTwL%/Q){ f60a ںY5;jsr֦$I_8HId%QҲ-sgo`2 #<׸jd2@D%f'oOO+Ʈh %u;Lusv7t#LT$ ^]|MvgqGנ{э2}#L?O]iuϾGUcq;yE]eWL`vO C`wȮÕl?P09r}sR*F8ܟNj y?ߎݙ?ő?Jv'=R=t'>;8♎z94n'rC79v2Gh#@}{tm%rN:fP$͏sגiX Bt϶O';z'7:}$ &gpzCr7qIQTGu87dzRQ!CF212Hn*@{(q'XI FxҧUx򁎝:j[O)H?{=y.( z{ 緥+xzd{/?փrO( s}sEp ,q?ON]#=8Ҁ xw ?RG]ު4#88zV3 H>FCdq_T#L8Ӛ#*r8='#Ve$`wBןJ:ʧ0Aۑ۞rW$*3צHF֡`qČsdui*H}?^—Rg3xOMBOR `q~jJ'==aJzB; tL1I;qLC`~Uz9o <㜒? d8לz GYiy`J|n n'>kV̢,JBG&]͓Pzi=jq3 T0e2Mj9; &oA.ckE {:Ec@~_a&B)d#\J$sJǚIĀTyڇиL"C-К$[8 U”]?#9Y ˾ W?08f g?a[v@wZdFȩu]M5[mjb+6 %^aQJFX5SYג"[{(ƍ–ְe&ӻmy_1;#rX u=:b[NH4iycM~ni,H/U[q.Ya$SK& ;xmPw `@&\fBA8]C$zeZ~/o.&ܰ t$q^_*@%?՚a#r+ا-5E篩νytb .km*o+퐽ځd#{kԢT)*A2~^>`Y:;? on&h),VDacx$n`ÊU/n1w_̀y'8<7hv)G'~Y[`ul捉d ;mwh9V=N[͔U+)l;r1;O8'4L"} @'9i͡o@U0JlN1'6˴L`FW8Բɘ-',wuz c͞W$Q^]]1)bӲ" @#nL8uIA14"[ @_ HVl8-hTDŮ3?W$Ɗ.F!IG%Woˑ`8W3!FsH!mF]_v HWivn8ZqJ;N2O 0zQN@,w1,XTc GQ8 QӚسYg'#~R=9tme˸`Id'aǯzpMf>Z[{=݋5-"ڪǜz \8H G2ʧ*AC1{vM Dh~eu%v:_zcD02?0q h$Lr!D GG`)О C$|#vSdZs~d7IlcHI|_I/"o,͆{Wꖋ|y$D.ůƱmu+ xn29I'b|Ս78V'Ťp$"AOSD!bS 3+R3+MF:5F%~/zChD8#mǦ+,i~Sd{XmiGצ>{:Rzu drALx$azgcJUrszgӟN)}"h#>UAq0ק=AQOԊgO_p( vM#$ܕ9h;wAoѻ~b3.qnQr0;OA~=8ۂnIGbu:):qңl`NlU28뿓1~y I%ߥ'r:8,8<![ۥ(CsHOu3s ;z@cpwqc2@36>h;w{v=  pxzAG^xa`zcO-h#p=GNu`$eCip[\aFO8^;cqTeCNNǑ!F=A4(矘3WY:s@ v#zq;9p:xj3zpp^yJ0OB1 cwjb /^W#88LujNq8P3 p9~쁀qqh/ (#(s?)뻃psP47 xx1Zv6p>Qq8<~P~m=38ӷd ,!H;aweF܂Ol9AH3 |n rO8'qN n( 2`}:6#K c8ӂGLw9~Oː20)Ns wp>83=s@3N1|8'@:Rx8=1ԑ:sh#֏~29Ӝzzi=rF=?:An#ހr9q]G(_,K rcp@ܸ'N瞝wb| ABH?+|q;s^pP}}Rm,:=&7p>g*0~}飩۞x8=LJs 鞞t<㎹dH8zsқ'&o8@eBG` zc'?\lZ~q78$9<{iDEʞ2 @랞sz#G`98R>bF}a9 ww(oC8g>Qd_ub8 E#xNsAHY7BnG#7qUݐzp%Ȯ.[yދPA]瑎z:q19~^=)ƛHoU/`φ_r=&XFͽYF€I=i>M|eB^>l=)w34wZDS%rօN]gxG>2 E ɆR’A.z<)$XP~w=G׆V寢l絹|:sSp&, x)#Azj:%*Z͏/ ۑ²DaFj5ětɕ=ya}9Fϑ$2LzfolnE2Ķs竺zt'ӔnRWZE̪V+aw `}5_Y]DFeu$Q%-˥c% C1)w L}zdFpH `}̾v#g2^_s'fX&Fn1F.lmLg1Y#TR ۸Hzu)}$rr[3v#9Hww&1f.`(p NJ/+#kvW>>7y863|0zg~^)m. *A'1'޶KC;uzЏKʿv6UD3 $ ٷ] (Whu,HgǨaWDcduP0`Xr88}HF͝l$Ԍvw톈r-7t r;F=8i g,G8]ۣuk'-y:98B1mbG*7VԮ6*!#>TrFdgX@a݌dv9N#d,O=:RW?m ؒFI}M8rUW 9 ry^qICxN֚dx@3J.e6` Fs׸qtlr9 ` I+/L8H,9X?c 3HH#'9'swH8Oqԁ(/c\CU'ԟӚBIFNSE0g8n7(r}8 3Fޠr:J9ǯ43!I8\px46A'ң'$މO>`R9 3G'ylH׭`?xzzzR=9`08@9*߈z=sz@XvOp=F{4ϛ<<ʁ,?6q פG.X_aŁvFQׯzo87y0ZA[ԑ$׵(9z_ӠL89t¤ s?Qb^gyVf* =)``꺂A*3oƾqd&;K3Ypq= rTdmߑ.bڴW"2qa;72ri;m+uP}EݗiO ^WYB2n*AI?zV5SSNP`NN3=p@ځ* Hr2 Oǥzeu/2†`cRGjB烷 ҋwl칧Q7R:VʂYpH<8ze)D~Z!I |5C9+A-Q4rK<P[`bFvcJф͜8![LSI4ʲ9P˂d yvK[pwd L jm^a{X1LYl#^Op{Wkky\42}!1kd ~X AnJ;h!$&G|.> %by*Br=yTdѻ02ʥIMۛjOJ^M1+!_6<~L> o !:^x(DLAxtmB HfM%đF;`֓e~-Ӆn7c(]YT'Ve,3H 0;9VabhOٚ)IUxnj,yʖ$q~5iO0(9´|#pvZ)# ƥRRN9皅_1 p]d=* UӞ%:)ÒH!ч95]lG[EG}țLc~o 6D[M:t+ZL@H䪹Nx8֯ٽ'QZ馊& gÞzP%Hdʣ'4uoCvH6NИWhߵm7AA(Uo8 0s+lq-]q|*1Gh5Cu=nr II$!r WosO(!rŔ:qM+R;:*H\- . 4Ҷapr; g34 M@H^zϕ~M?-LKom't]QSL$?qPe{U] )R~Uxȯ4DǜU@>bFNsw5fl5枇ՍLu@ T,qЮ88w*:'=°VD`c:{ps tfRg+ua!XtמjH8޹g{g~NyG_\T\ds;)cޣHp'2:q׮=1ҙ/9L:Si@``*w£N~wvFsgν$Ӷ烌SP3Kko WI;clxSon^'$[s8jpOrEp8eO֤IOq{IӦC.@㎙> 4@sL p:Ud;n)\iY`9Fpy$(R!NhǏrzu%gҩxsp9?onqESCө>އҨ~rO=y{D]jcTg~)A''>*&z8l:cUhΊ[~@?=qצ+ȫ=y< @8ҡ#H@#kkSD\C;z`a`Fs$bV -_y<{.RsӮGv85ܧ`ܜ'FL{S׻qr1gG֭Fn'UW#89xq0 { vWE!6ekV6I u^<֧Oo1rÿbOWYl?N9,V5'Q@=|tP{0{߭qGJFj0'WӟǷkݖ%qM'צ~2,F0OLTvsX\V3O^GU#9$8ʐHߞHH?)YRH939|L[, ,q~o(ɇr9Č`xzb}3-1L3F RvZXc /̸n?}zV\<Ē3L`y0rO^!#>n 73 7=zk^])'(vzՖ\Ab Pصvs$ rY>\ktoe{u3* {*]P0EU9 Z@X8\`s>`ؖ,*rqt⯅9 rP8jlw#\Rzdu=sJItgV^w`qXu1nj߁}zAq9h.X=O.;uef#vd|2jèbI|$[P%,,#>8)[iKF]s{jDnGuX$pN:MY0vZMH|#h?{G䷗L.l3v 2P 8i뮞FUSkKIs.IW).7n2w y~.@  nP%G 2IT2r!c˟NfCr<~|SF8Hq׽L߶,3|T6#c>0{`y큜to`pTn#v''$;P,J' t$nZIjţ"0,o0s֭ۆ͍e%d0DR993sc==7K8@tWH/pHsJQ}gmޥAn^qWxgTtg2r˕#'G'O4/^7rF:{ gR^g}y>: z q~yO :F_@ \ @c{ZJA+ޠ<c9„rx u#{tc'Jv޸=0_i]E ;?.LJq^A{21\uaO8?ϭBF09\gG\qJGp{~Ñs@鷞>ڍ4 ,sӑ9Ǿ=x4<N;UǷRc'*vİgHHqN#rz 1CcF {U9g,8y=h@H9-ۓry|oOӊ.ހǃs#S.q~yRQ*|Ǹ{gl``~ZL JA%FyH߿z q9$v?JͰ,}=8ozb>lu?_Êa\89$\ Y郓a>\qO^ӯ |qS }O zu.z#_֢NŔc== ~\g`nۃz䨮2 sϦx̝{`z -N2~PN>RIsU]y0DG9+6Y'5=qӌthn:>~00{}8i1ߓ瞘 x#=C?*AtN8LIpң}G^G8 B>fÀޜ{VN w!z-.Xc9'\|ˏNw?玲G-pPs}띛O KF{ W=@,lT_y>־oߩ>70A>rz@<\GZSر8{PReRC`Gq=GPGa`})!ܑu1!8N=GAAHֳe!}{8#c#;nHǮ*ǒ*OLmg'ΘrNXÕr:wOZ@ILS9y==Eo`#p=HcqtGiS]I.4k9d<^#Vԥ9م̌9*29_A1~ ՛wm˖220~5J-["G4\0+'jty'W'#`cyk'޻:؍mB4;$J$ʆ?6q㧶sYgqU>Hr@u9' zm#謦ݮt%!?RtbyҽO162!eY!T I+ru`E,K2N2SߠMK.mL";>ܹrGxb: _E]Q/<\4{/+P 7F3[:n nW,~rpxNjmE!qXehl '#JA8ץ8Żi؇Z`UTje?(ގ 0!T=P廍K aUZSႝ<vqzz9sh(ơE "zp=멂Km"tWC$cKeV1ϸxY44ֆ΅y,1EBfA͐UOBWL-屸˦2qbshtm;%B󝞸Jvn e!@yk6FapNkb.<fZC3nI#7x]ǃz q16 1? Hfcp#a8G8jڕ~m/ʥM|\{vJ #~sfe-"7ps[IY4g td7*ᘹ*Pm'϶k \wc7q[4~!>`v~\9+@..A<ဤq 1F08 T>rwfEy !$w*ӡ.ZcFE 7*!9`Go(J  pFF7RG\s~竅}>s8<|댑zwL_qܖ28sO$cp9׷6xO ӠL?!ֵ+dc^ 0X«s: 3;tVjpN\0nϷ_4d ẓ܂G]xĐ@O8GI98B' ,s#_Jo `zRc8rLdqE8g4N)Gojf0s< B~\P0sC rNg;yd0av}(98r3sGi>Dmۂ?)Q֔cvsק~8H9r1rw7xtwt;}o^A$dcn'T^#Ґ rU\v#ԏ_J:Þr1n9q<w I=}{riO`@ێs0FwygsOBB+qߎ _< y*}zc n*pNGU9q,c_n3cz.}FiGk83߹2'9!A)YܠXd>^0{p'O5=I8Gb3ٰ0zg<q-zO t8S{ON@{>c:sJnA玤1yځG@sׅ =O=z|#iJӾ= LBA=3HH#xHBd p${i''pg=}zdnÞӞAI8v8@qcqC0l.=Gx@9ޛ9]ۺ z1@ pOQsr=:v?O'<Yp3ڪ#g/~Snjt#`(nlX``g!@އ$#w^rwrq3~ĨXmRqS=xJ0A*ǯNOZl`;C'![$7LyMP-FO<`z}X[!W#qi})=w )[ԑ9瑟_J@89pv2*=TФL؁o=xֽUp9?P3|?3|"ԙg@9zTx$28+{y'|0*i[1 'GO00Ԥ1h<jKaqnvjQxG$з!cSyWivsswWaLF14;=;m^OJx!\u䁏_^j#{a3ސ`r (@H1{KW}@(79v<N<9tt\r{3ܓϽH뜜^8`n^LW P0 sD<`I\pGN@>?hӓArBdw0h`97v851TQ#=p}B%<*N0rO#J -q l5(1-zM cwkcmd9!^KO2 {(g98qSB`~h*v~֟'P )&ʉ>ux=HL;}Qa>(nM5DFCY](18 I^x}I5Qk.v)?6z>1SCrDӷ-瞽yɨ:WFgiL88 U2v9Z"}ЊW`$;s}~#=F1&WMn/Ֆ9Z&~AѰ]èF|ܬbJu\.]zG1QG$ ݹYQ۶G@7m'*Pm>۶/(o\m#]tf9kI:v'\9ڵKZ\H Xyq]jiG+MmBm\+'8Fq]m 2k*-BaR1ֽ#L`R3@<S#uk1SGvz:e9`q99xCK` UaJ;{F+cj)=1 +ٍ Hu`C#c zb[eFB2Fv`|~Aǽ*Թj+i~UpiZ)(z:ts&Xe:eGםOa;nP+17ֻEIs.coIt9Hrcq IñLVs a3ç~9GE\z== WAg|p2pZ\bAb|hȠ:GyyJȸ睸`zfI)_lR*:79`oIld;犇LmM(W(6.A%A!`ch5)sn!@i{3hJ:{IQcSWi: pK 'a`LV3;)YEJr0Os֮``~ﯥqKGcq89#fFn[A1=p381q~};zd…nFFNAQudLPnr:-:I>qޟZn~9^þO sKېĞAڽ@ #=xߨ#N{}~:7瞝*e^꼎:K64xO5fW@F+}Sf2XY@An9ϰ T:Zjk>+,ZB̨LX~d {]GN_AK ݳ /Zexnb>Q+?ˏ~Q5ҝI qSm++ۦZR<<|.N{מqZI-IWXۡΰw^6|@,>RrIZ+띙]ʌ0zvXy6ףu\<GmʐF=tv8 Np(v3u.»I6n=`03Wyݶ6[ <t>h9eE<5rEIp .rxrymzMom%5YZ$cRQijZHS369\H&aI=sZQ+si+FM)_3z yp뜖GWѯ̇[j{@ Y w$ g%\Z . G2? F; T}z7H-&F"EgYar#gm䑌 Vދ3#k u a^p4h|%(P[!ȦBWIÎHФe#o/{#0G=;л'<„lXt?x j.vk)ծxfmDqؘcw~ bXD3TN jKd{zKMW[5x-..{̖ѺA"fI7n(vZVҩC2, ULsaNN-۾43}m򨶺~}W+C;N1qu'|M…\͓Xyk$i^'U)~j[fwr٦Yo׮9qʻK KY6[V`1Tcg%ؙ8ʤ隶K9QASHV.1<`n>@B" \%{%hj7_s|06{ S#W&_N,K4Isqo@SX0݀I0EcoQM_S?ZVU@YN@+O4&8#R}ۂ OEG'5Z%hZ۵&bgsӨZ[.k'܈̹^t9Io[ni _ ^ln#+O_/ڜn q-f$e VM!Y3`ןW%U5-$Hc%̅Sy}FEr[0,<}=*yW1Q7Spr7pFx>UI`m5$AE9SXNh D{V |碟lGzoߙ1Ccp^@ܷ qS mrx#ryGQӊ!=W$ٲV5<y#@A,NWwg=W'iE}j@fL^ 8O9'#ڱ(%w} =_QxCV)Acy^r8'>A-oVM(UnwWߩa~JbhP{ }*%H ;۷#lKrcpUPdJL޿/\Tg;]{bN1r=3SՕnc (%PԆ9c>ǚ#6d+Q ϥD`gګ1Vmp,O׊κG E!e$u<7ԫcP1Eb7bN$ぃT%Sl-c6SR1A#<BvF28/!ZUJ;9QUђq11סd͹;9wc 1LbaL2rA2$ON[=7$v[oW]z ڤV+*+YG@NJy' .Ìtx'< @%rU8ݹ#)_VU&2C3 { 0F8V;7ЦY&$@q K^UC3mgmK_C/-?0P7X(]T pdTFó(NO<~X]Oq R ᔏ3O`r{#=La=F,*s{j チyҤdx'ds~_˜wu]H\ݢ:e8>‚^\cGp2zSv'=:@ܜz`usJi#d dds O$*˸O⋍x^z9pd8=+a 8]i1dpI׷ޒǎ:2qRxp 0N?^gק=~FOޤˊ1<11Wc\#Nz;q֥9'[rc޴Q# gXɁuc:9$cTl1;H>41<Oǵ+nw㚌ǟc'=3S`:~5L V85- "g :` }=YG=99g-N[1F1?Qn(=۹pU[pe὆_cȪ}>`M1;@g88="?^1+n>#$ ˜zc<};T2+ӷ#\~69A"И;uqv{eO#۵CHu== v1@p3?\S[r,dp zbuO^ IyuBGNH8ݷ pONkڤ<ʌgcN~fz<+pI Vs>ꞑ"שNrX29ҹˆ6gtkF}& >LW0 yO~TӾqZ+;MIY!j |&R1ל`}~Ts'ܵ 9֜R3AI2>裁W{3ȩC38gwn0s?h`8s;i9$`vO~) ,Afa@67.wl;*8kh)sI}ǃpv°=otnt>+[yeB^S8b$d@ҾzE{ͻr;rJ\7H9hQ<N`8aaǧ~t]1CFpvI$5`XET__ZNZ"K]Z@9L<c\T>!a8}MJF|C;f4ި>` ,AO\Wh~#%O[oS3cN[b~ˠ˩%\x]p"A&WlPt5ܶ Vo:O]e,cչscveӦx0hѐؕfV=\.2wVoڥŦSY Wvm0L!%9Nkf]{<nDl㹖/ tC#vn Ŵ\SsXJd:Ce\XP[Y3NnFҰ2S˰ztV Uv3K6$p̼SInpTۋ]v6mM)Ȓ@NpU29T2E6{g{(!ΒN2=an 8w|sY-^DY5W\[vѣ+9ߒ %yl>es9$ךԇ3b{y0Gv@-sMt2xH`rF0G1j9b',16H8NOVY񐨣dN3~k0ת'EXsn9;p?i@0Os6Q^]y\y@RpOZCn{ 0zgN񿑥9hX9ە8bwpr;!C0w0m=ץgml[@e #2(dPX`sA''[W2HјD|@@`ށL]5mRM8ĨorN|';[|Ua؀mWr' p>b@9I-m)Ժ/oeʑRA! =O!ղ9R2skѵЛY 9]r둞<^QdK)oŎrǸy'CgG9=q6W;Oz 9L rCd7fuȟD#bFS5]82$wm1u*#ܯ[_1 W@b6ZH*\;N{{ E >\$> bvϕ&|aXc_`oS kF+%d "0=F)G,Ʃ=$2)$Q^0A9fOn{5U|S 9 ULuhZO @~g$tzӌR(a%Ax2N?q֎6G^=qtL1ǩAI#߆xccv2:dKdNqOIAR6)# 8x0;rO^Xt 2F!B6J1y'Q:\t'N39?ҚP8c߯l09; {` @:I~8tJs }v"uî3I\A{}Cph?C;]Oqvdcm珛9u(rz󞅇f>dc8'#<1NG@8 |p<49F3ٹbuL͎l!>$8=Go†O\@Qޘ$\c8=.(ۻczPFrTpr~93cCO!X2pq==m4㍤z׍My$qӃZzKt'H=klZq[v:Aڟ6$FsUcտ}@9?9*}:<R/L60Ifj@nA$2F0Gk.an6:ڼZ F B-ӆ|d}js͉J˪ڟ&w4Ra3YH'>ƹeA 6w~v9z1yk݈<`$dv `ڻ[[U[%ڥ5ױI3tVd$v21_3+-+ZTq1c$)Fs <әs)-c؏^֕4cQ89׎)8$2TyyhIOq Ԃ0;⌃2=q4V#V8ǧ w^r wtk9^8Srz`cy>ZcTyQnAN rr:c@yuɠ-I@A$sԁ0r2y p'P;ؐzJ3zjhs<{21߾;:i NpNy9$r:r{R(< ˭8 tݜ)<_J^z< L3y8:JNK'Q7RSxRy7e`*Srr@ ;͑`U|;u9%FgeŒPBgkdl?y巕$y,O?qCOԥoB0PbG\28 2ka'`$e>TmmT! * vr@}O5O I Fb+:OLg9g'Su4uo>tOsy 1G2 R'N;kcʭ}6F|= P|#:G?J 1h$OǶ>$ޗz}jfKhg:crF@#fMBV-G:~J[O&[g=s34992Lz.yxNߓR+̯Oig=ޞFw?):jNmrlb{9+:}ũKE";^ r=OQe=$e[yYIycFGCW~sjH͵0ȱD 12IxhIP>_cYÿ",Ko|(%ȱ"d~YRda ָ L׉ph8U9; 9Fd,`9#>Kcf5P6lrxcO/cj]~f"0T6ϿlHqk q(X b;N:`wqgverDQD*pIq 6~Ͽ i>[?0^p=T)=QNKV(8lsvgXmrੌ.w*|Ǧ}(I_ƅ 5$X݃[fAV#:R?vy[’yҩh~84eg[ |:4k~&ح jfF9(95gdٽF̆.,rDJ=(m>֤+Þ-Qi $j5vWS$)m4[4/1[~)Yu4mj&b9 @`WhttU8)YܺtRMj[y4vْ$V89 W"{[;8'yR@|a, MJ;]bUyڒsvH`\PA<63<9i݄ekyhivLUAR܇vO͞ÞMt1BάauQDZYsܕ^n;o M8n>5#Lk]@76Rxk{o=4q&~rRO< 5N%Sa/)8߽?/MK6pY.TfDJ׎f͵Ck=+hV%$m*;yRt&rZqI>wl/{ NW6@ P\6*diͼThAgo,Ԭ7v....s50 U+|-iJVoݕK k+a9FZt Jc#d~`Q-4@{ NvߐK[hn[S³W݀ 8`U|Vsj 'zm~#0\+<V[˧Ecjދq~)uo ;t?;kP7dˑYv<ץ cgZI~_WVP:ljA~f6}Jȝ](Y^5Qnݖ먞&KY~_l`# $ wN |sU/~5&"snH®\򫆩zh6d=5N.B%c2@3×+0'WNq~zyvRꔒ]4*:ޅ!d;Fp?EOnKm;@}zWS *mVQq]C܀9#ֻhqNYmo/{ci0|k?esYVo{|nmNf.yr _08P 7nYe;22w͞{8!zz Da/,LI #goc[\ L" J uیqֳ兯tl7sa vᗃ+suA;K/UpŘ۵btnɤU 7]\2Z7{~Us1m4b6o\};\Zl}Ks&2_p9: U߽sN7hGK=יtѐ0> >_'5WD!2|u9zם_h3ގ/ πl8ݴ{נXÝ\yOZWwM4P8( p0=&x'9`s1'9 sD,@9NN G5 s9遃dfʭ=}?I\6x`qr$?} D+"xi^A|sڴR>`1{^< {G#֞>x<`t'5Q}j\wҟ9?E ?㞔Ɛ}=#i.Gヌ $\t9ps?l2\zYԹLy'98'Q{H={+H0@`983{;r>^s֋s-Pb%,wb9R`N6q]Ywu0j;o:hs/ nڬwH= tajHc-U±76T?_]^ߺv6GQڅFNU Ԟi2ILv g8%;l[#:ck éҽE!8UrX)_Aݓck6rE úPv?j[sm)\9'+G+߃m>f<[$RYlA9OsTq%s mgG9=έ+6UUǕnf Ğ3+*298b y猚Z:( b3(N1=OZ4N'N~~9 OriX(<-خ8韹K:GWwLk =KS3Rv ʹU/ԕu>X*a.7NЫpndA\2y|(H) sA80H'XX+x;XcSdBEpN?juM2?8ɤвq0J㏦j=H8#p9@ǐ =@~F`aYT>q 8тEMo蔂 PUldr9 s= X© E$rzSoVT*N'9R _HӖWgXfqdb<>mo/txO(Y[j7e"յ7gujsW^}tHssnJ߰6QŽ@Ǧj9r Fbf%(AkIc̝GNbQK3q$\U6!bY \rG _]`8bq*hmvUڻ"v,=BهN+I`I~@zһOKSlg,Ira;CO#r 4ēٻ1="er֋]ʸr\:2mH&""`@=Nq/ϺߩU>Ev{V/P q:CFC`%)zn+M1dس`.ۛ8:?CsL^ < m?ZLstw}(#zg>VJQ+ = JpG# g8@Ws=iHs{tv<}I✣$@LuIq{velsuO83cqր9>~99cߖ8@gcg/O={dz})X.F\9ɦ}rx^@G(@E|sۥ8c$0'`cq#=cqv>Aq4}:r0?Nyn*@vǶ}3R`gFzqJH 1\_izQ2 ,6x 'x;rCw#{RƋ(s׷\s=ZQnܞ=wsYI"`d`?7?ZE01׷_|be̎}Q>>UC;'^8?ԘC㌞9j" {doCRƌ׏׬SvG玙askfH=v<{V[83UTI{:8-H8dtr;ӽqMQefPGd#@1jRO#h,Wi=[?C{qpxzYЈצ< Qסx)RaP$zF@CC xq>p;~**;OʧrNq S$<ֻ+?~T<{c5;~RT^ͨs7'yϩ{Oes|V_0G719%cRB py ZHDHRѼOwm!+nmf8b2{}8a |ߒDjۍ_S+%x#K Rum:~y^~(jFMu$׵-rNSPhX knb>[hӁԳ.q5i6-nU90E7IkmGAQP]j<";J#c'?^BvՍ2$h#HA@qfƟ:,n9/-C1 T%m,2lRQ [b>X7yRyY ݜp@$9̩2[$Fq݀OE<ګ& qp=jQЭҕQ W/塍goڮLTmwdn/D\}mu|Uیۯ|cd9f\l v%{+&9sqzw5Y%#VfEjH B ^4gQzzY7Ai{'uFCۃW-}v8#vЍIv^[e$2@@blX<6b D*J26 wqUI8 ٲS͉!<ߕsou;v7 r};WdsE9.cA e<=+m#ۜV%T#ware)#zVPCށOj$(-܏\~B[6 kxFAt0 Ϛ>/$}26|K`qvz󓐪s82Yv۸Tc\ezcڕIsᘄ+$ɷxk<]6UїNЭrxe;sS(}mMm<>fxUf қwyvLrN8{Y:aFs=89ǩ,pʶߝ@r)tdӜt(eM5` ;x5urs? b܉W|AhsHrN]Y +P:Qoę+w35-BK1UY5L>ف==#xᑕE11ycikJw/,:u<9}E,x?z>Qk{ ߟNk[+mdp*cUprW|>MI Y2et;[G;o+GLd+GƳ8@H'\WT "V|c9d'cP v֥AqrBչ=;䃖Ϯ)30G<.I'F3|cJ\c$ <{gH=qq/=JFOw˟ҥxSyA@ lg=G_ǧPy4AqԏI_J[c m<_{u .RqpAh1YssN#^3 $=|T9Fqyc[BH#p:.sr~m?ojPpqI?x;ցÌ`=9珼@$rst9cݞzqr@#?^>rO%z1#=0Gp>'叮A'qǽ ~U'#i>1ן`ɠaӐvm#w>I cBH{ ǡ݀ø@Fvs8p8>` s#`w{q4t `?IH} Ax#4G'q8zz" 'JOI v ($`:{#= xiVݏ`dm`T';u82 '׿I6p TNNNăӮ,yz#g^sۥ&!8'Ҍd}cҁ$|Â=Iza7q9&BH%[,NןSb11cz`02pT ʆ$瑀HJ灻<7i~Qx8œg>iҽNNX.qО{PA8%s<N'lu۵'S?N1$w|:yq ʀwH'?19ǦoqJS9Ѐf >I,: ~lv鏔}o'*|q=AgR.Svyぜ 8RI=9큎"_ R8xG@?03q$,Ir ^1 GǾs]^f-]M^*gd=+4_@l#6s׮jQ(arzc'}9-L`+y\B>'%p?ާO6F#\iԖ/m~qvjuF8Obuǫ }L~*sa03&0s!{ݜ@A\ 8'")\w9 1R9 9Md ~?Μ99 rc9`㟑jP#=p7w?LOxW8ONi[ -gzX3`۽CF@8RלvGLuQ ~cv9N=|:I|3O;˱p=}AL>eD@v?k)Mښ]\jcs<"A~e?ŞEhˁCmOn!v a vg~T+K%n<;4س 4-fs.^Ks' ,IU}NH;<M|Yr[zڮ7`x KӷZ\B%S>[˵XUfT1=sVb*i'#A djM?<2lߔsԾDHŰ⠐3G^jCA]YN9RN{mI˭g2nW%8v!ǙN0}͵O/䜜g]pܳ6w8IJƟ~ڠ|FK(U؈*YqW'Ğ\ͽkm5[0FVW8n% pRU%\7H=z24ܷ53ջmpHGK_j ė 09(F`xʊQ9je*;ʚoI-H57 ;p JŃS_S{G37]#J֎Qtnd 1~dyj] tXL0h>UXsy zzf@?/<^j,s#i64t#A{t4;pG99W?.Ys]gopg$@r{ |sO$sGAApm'')s@bxa eZ7t82s^޵.xTu bd9y'IR9M( p\L >=҃99 8 V/F 93z'-dd6_.`4sg-?R9D{xv{U| (z泞̸? LDrr[#K2ep× 9 znfˬA ;N8(n9m6+Plݘ[+ֽ-F|Lr$㸭9 1… "@z#svWX|w uߝ@w>0! |ck u&'=zzmg6K,Qo r=HNKHfs"B 29=z|%+뾶ys7XדKGk%Ԧ#?h8%@bsU*fRΟ+e*Ås֪O.dMDeb;cRT:Nj-]OcCmRGNz*o?Fޗmk_O]\-#V18;-e'YRȠ'q$jf}Uzf;i"X0|8e8xtKeuYJH>O΀H=C[ T˷Zz$,J,X!ܪ[qyYBU u8fDHM `pV=)p'$cҟ} qIRX@o'RV9uF?*/"]Þ^ip H-Lӻ "T $]2zh-QAh-썄Ti^M_o0:C ,0Е-&8U9^#K!v[\H#WwAb+~quT@Y3E)szիed}>>x^Okm; UY גt&V8U<^"'okgY]kݻ]>G>tHUӧ>tJd& (bIH$⺫ #W<-ŴQ&y[~) 03z=T┷_x~Dtdco!e$ }+Ӭg[8\ \&ᷲO3]iݶyJtfѾ)KF-M|m&d"8i':_⛏,iMpqeo#eH' qW-MMrW!s:zs^}F=vǏnJZ3ѡI[r PzL׭p;g;lG2'p}}j:^m`21pzGRG^G@?N+z*Ǒ{E x;ׯGgHvGbe;HW$q"^}22'ʛj| gqLytQ uF v:ZRr:Oq8CC{`OQ=֣O\GğGt8>;߅DϞAGco^ ;QI=1P<I`qc֥Rpzb2q1qU69>n2l]GoyjœFx'`=kIhcnl}=&Rx=:8򮸘2nnp~Sӡ=?:봁ӓj AV' z#1=ujɛ5>#>㊶qpAx5UճІ>a i_c# zB+R!)ܜuQӐqҠt :m܏Zd {J;g3/p# oc(Ős횬cyzua$k@S`3곡UYX3:H_a'=z; 2t1ӯi|p[9 =)\,Fώ.9Ï\8\鑳$t8Gc<8<0N01>Iv>6tD9ylh3kJ<⡕T>al$9}~tcڀрNX`X)' 8&|WiA<cnUO4TjǴ㌊tpí\Y[|pD!Wn{"m}$ -B!%KJrS$Hg'ҶkGIn08{ך#d>Vb0@9H gIq'789y~r@VAs܀O'vN++S==ɶ2n,F7<5(X,π88ӷ#9Ukqx oT`\ Hq\vұ$` r17ʟ<4[h󛉃6%s=V=hp 8 o9ǩT*JH`]X׎9XE9mpgd۱,QӇ!UV%p2z1:`O q) ǎxvd 6.1>5Q,*5*| 睘빕wNG{Qn( 8\p*LchDhA׎pU@!;Vmu* =9mu,M0fsb$sӧ^=̡2XIe!@eaֲ:kj=v z9cӥzvH 硯;/vG]%>+Yٓ/ٽ?v##CcHbk}918QMjFHrUz3Q6㞃v ޸횼==;^.ԐCc{sϭI@J}= GuO (=OH8.}RN:t<oG)CG$pK`~Hw;p?ƙ"2봌=G=:Lv rqܐ}tH )$׆ۭB0᰻``;qe(׷l,' ǵS$Gya@>޸A(|_,Cb2*=1ַ1+Hc q2 }"HE\^OZ(-綅LxB9$ufY:c1R2S)!_qRDG.DKai}ҞQ,91Qkffѷ,ЛwKI#@C#+[2XlqHyE*`6w!ZXż %]q߃^_y,36YYh?^x9alB\ 8<wگ(R>mOċ7@ HQe^9W75$RI3#+ 8B7oC"#_jT%'(~qW?v䒻Wiʌg97)Hn"df@gfVڡmZu>Z+.?C{%gs2[/6[9뛋fM29VS$`\Բn$p~knK h#@J{R*(?\N^DOWH$;\.1 ƽ~60BbΠeiNjTMZ>4ˎ~bs tn*v 8 tkCB %GOzS+&Np>l7'Rq:(! юѵ% "&Op8T}Ll䌯Ͼ+'6 FT6J31Q=~iMR!Į28zEE7'k$3)`"O@1nyp44}N}ŲInz9TTsqEz4ZyS_ DBTgiX*gslĊ+bG|s9ј؇"uIog+dʿIz95އ"ԥq6p1Z B.y0NF=Kq8YMdŲL:V DF?0fL/5']t n >}݁Pܽ2~ֺ; "]9[}O8iƫy+0.|I?1UWWN0;t`  IjA~ u:L7 tP[{e_*d(WF3Wjw4Hgm&[(bX~ۆz~Fx[-CM;yJ&16K`qߓB=37IolT/yW7 P7AI:c{9{[h/0@g]9ȑ'x Ģ Jۂ\ #9GP*}\5n AwW_#ZX(R+,JN7<;jgVYjVB.{hYeFsҸiڒ,stĘ&SO7G+4ae|Ry{]wC眊]=' ӵ6+x!OJ7`y#Ǡ+ '+:r9/9'Ua͓<6=OT^F\z8xzcYo 6Hay>btN}ϥ8$:` G8O8niA=;PA!qs)r;cG$w 10ːp =Ss#v9\; c6xcҘ9FO9B@M~P `=9zc~-ۯ.p0灓ۥT=G?NwM8gʆg9\G;vxHXLt GJ rN=vl#p}){pCmp:u===hGA g`zgsLbnr=):z知)O8ϧ'ׯ1uA'9pOw=ו8x pHG.cy':gҗT )!_JhFr2F88zSݟ?> ؑ8jbY6slqA,f@#Ӏ8Clz)9`ǩys@~lq#8=h|HbysHxjO{cz"W#2'>P|e xv֐vqhlpp{sB du|9@ dRyk{H\+xsA tr;OxO28=1i o*F0;wPILQ݂wc*9r1(c d|ǵ 8#^`}?|2X1W$\R+qg#pg/\|me%;❀s{3ϯ@'NqLzBvL.s lg m^}zjIrr@zt:s$!8`B&t9<y<{gH2:`q=-~UңsxcLq@ D|͞PG^* X8!q篮;23AI'3=[ :Jv8O#C;{ CX1$ ǐO8#x8 ]$:zu={SB0T u鎔B݂^G8֙8?tmstN=@zz#>zAќ2Tzxn8I-@NA8G8 }sR:=G^GLf x:=NN=9=$g#z@{|c8ݜ;$ӗ׾L:~ `Bu8 Kg׵ 4pqԩn? %d ɴx'A~Jgv3՟=_z?m/9,[l=WŒdh?)cjN$'xV9d01sХԼ1%I͓UCž+q8Ϡ5#)ع>]t܂GA`$9)*1n2L$]򠌯#A')6q98y?ˡRgi*İ8푞Tn8'wӚvAFIv *y d:1r8 Ǯ:ԅ1<`/"U0w_d*l>xRAF@?u\Fw,m(w(p+Ў1]XV͜Oɖ,&B|`ӵvpڑPY3Rpqһ==_-̻eP06U^䓊HB Fn^ВEha le +878rxbنٜms>A`K jrX<%\yc<@ =BǸ ;d Jb# P͵q|!3MW'UV( d H.WU=d39YytcY1&wW~ #\޸3%f˖_qhVGuǨ߹;,T޹.L}hNsy_Zv{t|_M b&bUdN)$vScM*bNRѻ[[avpln";KU ~5nd`MSnvE31WHʱ h|Fd)$F9`d )tidW* lKdm!]e}Э.] d ppz47rL6 \E%`|p#C+hR򐥊I1Q v S!L.9A-X F 3槝65b彖_iWfT*vPvWj U,R}.[v ?)9?f`r@dzV~V>Sd9*8۸5$L N=A= !J3cކз"bY2U2ӎծe+'*dPN \ppqV!ŷS6 @m`~{\0 Up@1ێhV*04Tb|Q9kmۘ Ue)Gޜ'mATגKy0UT~O=d9Vl72p'__+g3<~_e}$v]*O16!뻒I =hS7;naA\ A#8m8GP87$w#; N0iӖH@`܀6fޜn\_=TP<לsZ;mps$d ڔ?f\Lqr0sȮyFTb͌y#' *j%KR\@Qoljrp1>*_HVR:1<旵K/'If EN[ 9cZjT2w NXi8ThۆH=;"ԑN2 89TPT#Rʿ1$ 2d8TdcV!'+ z8QUOm S|M( eO\aڮū6p#ӎ%{4ivbS!*$:gJM`3 ~QlQ5t3tfZ0]9SsU[Ȕ n>I͏9gn nkFeF[tmwo_q]m#,pX|; 5SԉkTv6ڂybvO}==k4{6ۜ q浿4YTo34Yʡ,U V x cּ|GOR;RAI ci:#-CxҰcc>`1֓1\X?犑!~q v:qyDD =*<\}Z; <s1w 8nRDDzn =ir3,8d{R =1:cڙq!#'rzFӺqqĎpGA~zq F~c9AJ83N l|sONIwqJ901NHPz wi5p9sq~ȥ 9g}@N3 sϩ'4HN Tu}3ucJVc0Ϧ eyiťUm@YVGgR7-$am#)rg;S? Q65nH؀K.Ў@8%;HYfP|6מzlTk彇@3\nvhN/^3؞5]AR[[8N|f+[ɕCq*GW,orG^䁎s,+(6X,r 3U}Q)#suOƥF0%ds֕"iv6br <SK{mݷ0#w[lV2݇w$nx1үǹBY5+鸩qZ}-Mvig*ʪ ex] ު7WJ@QSH PyoCFU?/N=8oMsWms8ίR^F 7 yDFwJkq4 .dbO@IhCTx `B `I?P9@ȳhl H( d}2JPc%Ktn9 aܩ@~Trb *%8Œ;!RK4hTqtȪh0&B@,Ggiܻl0'#Yrnt +!05`ȅf}YJLHFԋЖ~yY'teH&2"!C#Vc'EcI[7ٔbkw )/-Xkngd,`dTv! 18`Y}'<X7Cl4mG%]&wA?S/oEg r^W[{6ބ5oᙁ#=w鞙N_cdr3ӖOҵd<*}~"K33(r<} ޺;y*;,H_;3jV\NڣX6g#'d5WU m/%DksT6V˩BpqSNfB2ppH[?+jSF'c'y2\՗eKd_JWz3>sI sPI+z"a֨I[2'rFȞbN>xk"ƪ `zK$9NץGְMl\G^rGGNκh~gz3, g#k, zǿJ?u9ݝd' 6ӷkǟ?g?~ .ed3>)s}?CZ&fЛI}Np8CP#i}2sv֓aa y ~Yӎ\,&nc.1!~lg=3Ia~.F <{GMu1ÿ>-Iݜ:'~yrv>JWFltqn18xybK߁g8~Zzǔ{~+"@0B@'߯ Wl"^OrynySc>y>=  s9\uތm(7q8:CoQ#n} yr՝&m_9'c{:#;{z28)cT AFs߮0lTHWnm5 z9lےǠXH$$1\1P27 .ۏZFespǧ+T,8#H{hSdy^ ?cZ;< èVZ2!~_1W1AݒU'8J(kqpHyǾ]>`2; g{(#90?ߊiO H޺ns$9=r3ܑmB'i`#1Cz7` xݓulǦ{Wެ#r6' <4lp8׵svZD#`q*3&8$tl9#R; 3=xPqӾ9=i6 $ϱiiQާ+Ӿ?C\2qǯ^x30a$.C$N1 >w0y9cqis|= $0@^blwasIPg#kJH~i_c#5޻o$_#O^}k 6h[_el$Ƞ5p -VYe 9# nCd3e%Z7Rɀ d?Jhy\s+\.'p8ǓF+)ZYO] mg9& ;!I#kSOL!;&FcAFFz8n9ev^H OXr)8u%, I>q+b7T! s?QYۓw$Pĥf\hlp>QY^XsMF8p9ʛ W`PSgu+h&a p9e`QfČ T63Q:ew*>e$/OOA ;wGTZKSǗu-22X} s^|qv< x#΋/&sO\jD9Б8W~Pf\=jq3>?Z(y7d'gG8"L@s sLv'Rq9 翡O82rO)tEӟ_N:MBܰr*ݽR%Wp03F 1ӹ yݹ1g@S=z[X''ci0p{` q~)p z y>ҝ۹`azqoǽcԖ?=cOHÞ}zzM>#'֝Bn瞟~)g918{NێN[؎8}64UAv@xj8q'4 1!H9?.\ⳝN:Ҳ 9?1^Xd`ҩ8#ǩrI#Ԗ'>֢#a=O:瑲ers᾽c5]Glc+/cMseʼVF㑂2x⥵haMtt)`m$E p3.f 0<2kkqB6ũ 4nrJ1Wrm{źb ~eӞQ$$ų V^f%OBiBO$#ɉ! <@jݕ(8G2G@dyXm}Ik0z6>c:i H ao8idފ9>jе$1ʑ H&3(WVB #a {%[t]2إԊ R1wˌֽl'HסN2KvbHAt ?0(7yuŒqs]_mLݯ+\K,-g@^sS^FGTrBޘY8;pI8$6ҒecX2m|ՋY2#9.KQlv<3^ݜҏ;` 22I=s@:ZϲVXڥc 7̧rsXW5ݵ*Mms,nﴲ 8[u m"$H c*FO=Շx.bF1?oJ%lG9lmu۞5qI^wo:9S\ov[Z`]%i3FK!m>bc wPėEP\h;51NJ';B`JI `N81IEj\~css$l;E=拙e NG8ԕ=jPcpS>h ,~A)ޤ86'IyZ=" s<Knr8'zzNhӂĀ9c4sqz`Uq$@qnOƫzp5Qzh͝=˃EeH#ZJ:I<9r3G'08h4xO拎ߧ nКG^Iq_N!XPq% n8ׯZPN:$ gP;h?y'8:|ʜ[ zd +> <~Wwӂ3N>6163qMS{֧n=H)fUpH! t40ϘncNpv@<\A8*.9;ӓT su1~_8LgԞ?v2`#;T 40rA?]^F HcA”=7v#i~T|'qc1'Gr 34p#A2{&ݸ=2[=( r?InoRF9^ӓ#  ~bGoL\èKzOH#N0px`'n A֘ 6089=H 3|fH$OL789mHyץ.2I\~Tusx9o\N}9@0,\r462W$2A( ܖ$pTLxrWq82pXnNs֛!P}gt1p0=֙ߠ9 ;t(y9oQϷg9'+ݳRsx#<'8G\€N>W<W8sL @NX󞧭]CnXg_ϭ9on19n9J~bf'2 )X A= ^I9.{LqO;`!a$ |G=1 r0GLyw=K\1N?VD[$휃I7t%`9=FjKc< }h^''>h?^[3G8+9F˞jטA?'#>8z,ϔW pxcU 8<8kds6.`W?9#֧Fl .<U2e#.1II#{qL4ns}'qs֨U7 1snzT(ۂ{)x~RLS0q tqH6s0IJ>R9pA:RgJ.˒2s׭=s|($H)"PIsz-|3p0?y ?Jbd[˒3vŲ_ lnx dTuⓩq#- @^ӵc8ө p~oޛpIqؑ~xA?( :dzD*r=>k'7d 51ElB#nc={=id>Nv8ӊʕݐ31>uR+~1rP7o{>$W8u€۠{RRw{\ѷ;eõ1\=oiCɴ,.ʡenGZ90m:8.&633UAqv+H*`v1`WS1jK#;NXcaZW8RH w*GF˹tp[fL[c(zrxKbX,̀(Ԫb\/o7Ҍ'u09j!; :kZ륑:iXr ČUg7sVim︶ܲK֎ס:R(4͸0\qm0^Eqi$ʞQ',0 o qSFΒ)yˌ$zgKĨ#FeT=H}KlG;EڱOϖlϥl \BJĿʹGZ]rЋ[I,M4cw:dYvnbvPw84ll`|s!.IvBwPw ?:um髙,aԫƲ2IAM# #w$Bv]n{5aRB=!#\z $)w-8f>?!gbSΕ0v󞣃9br]f~>?gi"(#ā^9ةX#ϭ'жoKmdڿ1.p8\Q |ܪaw@OZ!b fjb29`_ӿ^f; 899Su5g¹.W*6p}=sXP(%ON4.NK=A*Trzڪn`@->[rr;s 9݃?\cmR17/6x./"~CAY(f]gMwboa /lvϥBAve7(-NG`s:5#F~Vyٰ䁂rOzB1#tzpB ( 9GBN(hk]?9|Fcc;cZGs2rF~g;709\M{Rϛ#0>U2=6yZ2H<7`\H?/<)7 csO F;wo+mH$2HnKc?Zcy/%FMп!bBe޸N1Wf.rD-#ۥ—u,O`pj\/1#INj3ydٸvBx+<ܞQ1.v2r8LspLR8ySZ HAlnʌtn5L\ā@ʝRc%?J7m2 4%SJYA`ʨNI8lZ帑U&q'u]ot1j{a8lWC7TytC8P@' Nq^Uwy~pFI3=Ln9 >?d?  7\͌<(v=@vrs=8A#Ds׷ wTD0 3R9 p6qmwb=*[#%q0?9?~=rB+\^"Szq@e8ހ8t nR}IקЌ`ҦA#d'dY8ssOBshV#pzs@898ꤌzc>!_P;:LRy9.H8?JiFxirdU\Lv}xt!O N :cHݎz @N{  zez8,*R0G|G (>^m-xnֿ0|IeᏐ% ĎNq^6QB"+8_ev=#հ`*8?('<ޢN)+1B*G98+㑓[1ybHlnh=OCYm`8=qשvEg$~E~$͝яJnŴg-D/ai[bG21HyTҧ>ga)P9$JM! M6α`թI٘ӥ%-SќXX<$ qWxn.B_`rqb0p=O4{o @# @rC\MdDAm;ݻӎ:@n;NAlpH>נH.B:(*C rGQ"ʮ HRGIQUzR,7g, #wh^Un]=9pFޘuN3.@L7V~dr Rr:cWV|c?7'I?J98y `N܌Hh!I 03>q4ܟȎB& ($ Tɵ-ARznh'G;"ݤaZG=2O6G ITlc?7s֓"b cBPIv24m6_B}1kgP 3x+ #-NZN6{W~H\d|Тm-s}v hhάF{1p~џ ][J/0Wg7GC`:=M2\+։gkwXArw>>VtfĬ*|NR>^deͪ%&mY>$lvH]O"2L$DiQwfg4Rb2FAxF\j1PpF19]1UWr ŗ8qj`OH!vg8NI=38+]FC=Rr7rpr qҸ-EFsuT=sѣ=IC{p[9#;pkb߾s9۞e18#Z֛ƜS{3pS\ 9KoS=NTt s{`183AqʽZ >s,;a |sc?]zl v (@ߏJB;s׷L~5w" e7qP8^*e!3~;=@\Jk9F3ZbGs^zq߮3NyGC*FA7`3?SRoc'==P44p;|qj63XrHMH,Q _=?ƗsOOOS[bqqאO_J(}3rNyOvv9,c,2p=OQJzE ݑ{BR׆"0N>tǯlBjqv\{ zZ8ssqx^{zh\c _ZF`OcRld 'h2:ڡ2A gn}JD-L1R*?lVlv$k?^3r`\q2p} VkcAUfp;scYu/!#?9_Z/`rz|{=*"U'ߧ=B9$@{~Nrj¡ {<u\WEpUܴ@<gYr{rIMpy9g nH09۸ӞGsf!v0'[p$*L}8s\5lArGnqݐx #C!o-N{W4w$Cdu?6 W#/= 8*AonGck!U~GpǸ<=s#ЃtפGcYz Ǐn<F=>R'6jR \g҉Z[l*29nNGZ' ik͞)-`K;K岃1ݟ)#e ϩL~%cIu֙ T!P19@H95@(LltDZM.~GfKf۷'̬FAQoZM̳TP8Rwq?tY|nrA,lT<*G>TcVP.`|qc'k{-`6NApcddg߸eKSWh#jL--B2b* ^沥|0H{rH"9fB@ʟB rFO%$D.3S#96aICr_Drzۿ. Շ\ z‚<O6LE@FUNا,WsJ80C O `⇰݇O@)#3֢b:0npG$v; [FpT {>}G*a0-s4oaw -G#*sfVt1#)bѱ;pz9kX}Z5' .~^3ҒJZ/;fVppr?eqHG̑LĕPU=wׯ"bM:F#wU=sz~^kA, YCEyq qzIJ_V_H Bsӽo[,!r1H9R8ّy'k 8Lޫ-:M  zL? s4G `#- |tA8}15/p$`{r}rVڇB>wdsAs5v ̿qJG_|PO4teG85ܸFúo N zqʾ5= I6PJpu֢4F6g KɖC\A^M EGqvWfo.5hx;6Y&\v?קp:vv- pNr@xi<{nه:q+ qUО'뎧^nOvpG\zd1>0?;$7x_^ȤYr9T'>`B8a`8>:?7LG=N$_DS0FIsBt=2GB ` F?N0#vx.n@:AqF>lя9^9<1UԒG KUsN@@8޾%ӓgDnz\Ӂ@@G| 6H x1=IO03z(Ԉe}9֒z}zR9y2yH9<c9jp Ȱr:}=)fz}{``(^C|88c$#=Iyi~dc2q8'Rza3ON %^#^H=q@!ߜsܞ1Or FPOl?-Dރ6CeOL?3Tpo8OZs"dm0 \䌓 [탏z+DqsHS{jlgF0^3+cvvg$#p=pPOl8ƻH Ї{cgk.r1\OcшAxtOLc@k#D3S>^)c 0rhe"e}~0^pO<ǯҲeEST㜞8v?3_B3ӻp?}yT:y(<LzJ:aʓFӞ~T-/QI?Ͻ;1O}h'q^=jLrpH^/u%x#ԤtKɈR6 q lȮoQ[Yk-c8d{cy WdRӖ19Tw5wbW;\Wʷ'#ظ10=N3Fs"G#~ -Yv'g'vc'Ҳei:&Q#ӌ6vv^:IH9^ZkaZ<9 1%Žirqˎ:W6 Rh|/i/gcs(ʂ1l=NPuM]#[~O <r훒e erq9ϯJ1iI?ȖCsngH|c˜ltnǁ&dy&92 cya=*&!#i3+$}'9#?=BO(H$ʒ|0*lh^,`ܲ4#p{U,Xnߙ2r(ڡnڦk*. %9lr@\d1޲dvW~\| XEY7Rm©8_SY29<Wpsӯ99,11lYGhז<rNpIO|d1#e*UEX r`ʢO rYPew滍>]ONH }ӏqNՌftwP1YCǨ|QǕB~-b_0I6]6J09*BE${U#V+ =G;B5&Beu=樿JG/e4wJ'$g* uKx&mWֶwM5wQ*H' G]w4ӪbI4 "G˴FORfͬr Owj"xa7 :Sr4HgQ'`+ !46:rH54#&s;o@~ZV1I6Zt.@WdQ^ cۦ9#9N7n#;~<5c5*eq+A^=Xi {Wt,qg+<,'HS,l({zTqXnZDvbȻݸrއMw9D`k6$@Gw5ЫRCpT$B$b.,b:꾹mbil.u "W`Ǜ3$*HdMrevZ#}[C.c!h] :pPIp:A*I4:H[ kıD#2`"N 1Զ}(BF̖y6l*va[v'uw7>w Lgʐ~[>MQhf{yb dPX\Cq[:keE<UT)n7FNrVg<=>B ci+1$q ܌TÎ;9XrGds^Dr8$ 1$Fy#u=sdsqby`zw1ӧ$zv&0:3)<Sbc ;Opq| q\w±߻O;6 O~|˧u'^1R0IITsFNG'ޘ.@ >fq' ?ց\P>^``~9 r> 9gQЂÖ᳆A>'FϵrQӱ ҝߞzc*9CSzdtiA@}4\|wߎiNld ힸ!GأpJ}GT-a$pJMcrGy2Y?_.:ԤpNz;~ ,09< 8ǿ<Å$pjAArK{11\W=YA|{*XGBH뎛qOUF0FzJۜq?]ƇrA(qˡsvx#:{qӭ!ۻ@;~<*zAJ@FlR20 ;N:ڔ}GM$/B6\h\/<9m8s pG<}x@zI,H<=83ښB`gpw{.($mI&~m 0F'?ZCH=F~l vaFh yN Lg'w>Dp#=#ړe 3 {nnh#r{GtR5rҌn?¸:SvX}2i{<^g Bd${('[rO>@2*b\\csg't2FH^8?1NOs r s {p s략ĶWLrt F9>#9b0`u*b^q'qRRy@?Z id18`{q9rlc9JԴ99GT]嘎Tr;"Z԰%'9#wt 9s،(eRePp8J|Ԑpz904u_ !#* n s?RoIzsT2h!FAR}F;ռ1`Zf>{c9<O\2x'v:;j%8;̏PzK{FyT<}29y欢`wxKdK v8uǾM4"$`#U1ձt<PFi01 !_GJ @䏼H=NHҟBXJ2wvG ^[w![#*[9 ۞G R\0Gza$Ꮷׯ>cRyʜ9Qg9֑1І#''*N;~ )L.,TG~u#5:%TNN8=/ 'i<{ֳ&|rRGk_+r{@H|ݭhBIќopLV*w^skz3yW3`L1A9l 69 ==s^exڢw! RbGT?ܳ>@16| :.+K[f ~l 0F lHYS bHtC+F :jW即d+ n=5' nqV$'8eV6ABV`[o s.AzȝY  'Ě;+v;UČ2#f '#Giʕ۲>l9q皦gHBrz~:t,w!>RʊtVGi#"G<&b9ʍH󁜜zTR~*m\1 [X^r9#\ {J3J0͐]' zUE o^e0㎵7v,@)TcUln78X~Os߅ *2a`Qr!=2sR%rO +n9ZBlF?NqޫF=^9iͧ|Hl` ؘ9\;VWa'8$p0#ФKd@/XHDk}EeH319*;|qTwHcݖ3/RT*L 尠HC 7|zNRkBsT *,22c$2Hs\|˨]UckE* A})5J)Msp۸;|$%s@`7̤Dn}q֩Jr3rr6n:A]7}2!g!9QJlvAwyᘴ@V׸gcW;azJ&z'ssab;ʨb?* !]c߷8 lw6\h s#Z?̄[h>h@Z6UwxӃQޡpA29wE_RZ 9h6 QKći= qVA܋el67,}0K8Pr+U iL?Ω.?yۿi. `EY'$-#U#0T~s,{jQ~W>m#988#Vw)-y"]Ŀ#;ݪ_RZj>s,*1c=ӎ?*C3{ДRq}noPTj0:ɺU-3:Z0HB#G2Xn.ţdX2Sy-2Hw)Bۇ8&G︓9]n%l|>G 3|έӲ<&鍐q1=kӼ+*,1@ڻ~c>Îpvkjz6И>Ar={` z~_AURpʚ濙UTUP 6p:J`(c<~ϓzeAy)$r:rɤ4$ QנF9:7q۞lߘ cWc$pp~4}1N2:w fFHrNcsц=6=="qsH:pG9pp:G@98C`s=x󸎼$P9mCMmw>G^:AH@<9%G98zZPG@$p?{p<0Gc)w`8|nXNhGy})x#9 < sM2Q"bHϹ9jq`sNӌswD=G̠'&7 8qzphBqG댟 ьd&^nvnʛǯCl+"rsg1SfNxUb*'f.οOKq)kQW?)`yĒxcPEt]ف$H%@#Ԣ%;U+5s̭@˴E@nugW㻄:p_2 X=vZ.jl*ۆ"2"U}*1^Xr =>kZu{s߻{!7 '<z'VQ3I+XP؋9_NMy+yaﲪЂ#FaHeJdg' U tF"6w.'1ی՗rym֬ITp jva[%Cn`G֜ܵesr A劃m30@ 9pqߠ=rHX]{ aGJKr]@gQG9S] zw3C/. О~lg&n-#@c<0ڻPFF=1X6i˩RQHu>U"aun&LRcB9"ܩ<чOݹ! }?ZYCa;5EF(Xv~4;`֮$iLw?U:'~GYs3T.4a`| u䊷W 2|DH.nsIVvՓOgkR/'A噌E"tSp=r>_y֥i1O ,J^LL0~s;I%sIQQN*,3 !ےolzf^?HdߝF'2:'5{0H>2\䜂?{ih DYw0;JWF QWP"p]B@,=ǩU,pI `G?P+XwT.d~YcwqBTcNG9S}1B:FwN3Y܀mI #'MpK*`O<Һ*%['pyݴfpH'ի,abQp2=l[siɕʊC3q$}}kN? ^O"`f]}dZ_K*T]c`˞O^y5 fN;S,*) |p96&W Id!0v"#hy6 #xRB2"6]R0 g1Qu] osw0/_0Xې3ߎolhRD-Hp;_LǨLILaawB(;_=5Ӥ {>A1f5#I_WzX&z>#:gҨ0w0=H _+#L~rsӯA g'ׁX:1kSz}bv8$ W(p:>sҡcZ۠wwN1Ҫ/L9lt s}}+znPx#\~5qS<Wf:}=Ezm6p3?5OtxY/C뎀9z 28㯷ztއW a)=jǧ?:2QwxޘҖ?Ž`'OԌ}iSA؃% *#H*qoJ˗[ס'9溩KTg4e?^sI'OT1G<>9ԃfFz8~[1yIs\W'd$xlp}xqr0pI>S..3?;ש"qm9힝t!u< is$`ʓcEröϾ͚Ђ9$Ǹ'e" -O\?* {oʟ\CXH""[=9p1K}/X9_5Dg`<aw9ǿLj:@py{S lv/RYO8ݜ'֗n1߶8c(N7zwUxg0v6` wOZ?i--L̫3WjG#03q8p{p9n8gzq$@^ʍ3:d0y>:.InMomnOͨ$]۝]2F1X rlW}rEJww[v>FJg#ׯNANЁ?DvOl/7yJ1݃`8>nޔ jYQ*^q߿n-<8'I1`=stu֣7+,q[; {-rSE ., U=aI J}fݧj"֟_4)T"C=8q]IfK;~\>O˝?ta~KqNr~c>jJwSs؞qɪ(nmz yj̳/A(x둂Hp3[H𮣯]}2[h~^@yh[N{3i,O5; +'>*k};ۭ!Ӿ@宦@A"1]wv?LZw:ڋ~<~j4KCё@Y re9nVwEv:2_ݘUQI<rrc;O׼Xi2[]c1 Jq2>atֹFJw> I).֔fO[wk md#s޼*U~GBʌ'CϷqWSc3~"jx V;z99\ׯDjnJ>gh 尣 뎤O$dy!y?.zך8ryB8P ߠ$On~|/O†mm蠐1ݱߞS8DZ$H'Aښ%sy֣0 s=xwӀ}S*2:؜' OlԌuPY#B:+oSx_SqNsU?ݹd.ZU>XnsO9**n+ .wuoNsc~OcnΥn"ߜ ԜT~g\zTǜ`cCHi~O {7-}j-lGo!V97?ϜR3N;s,E 1#?ʙhpx9鏗^ݹr)"=7 jr_%A>Y%' q뎝֡;~HO_n:W<6E8c g^N~m0:R;sYHB{߁;zr=TEI;3ǥfiqԑ1:s><``ՙhms'q:ls1%&0'oz9nt&L8+>'*€+\px8^kӣ晇qVH''[8#9ǟw_CI8>Uer3\+d|-y%n17B;?USl $_5wtuN8L$`I#kuDۮI%8oOʫyzg{fow'< zA죽 N9p2 ˞9`t<dh q? ?p+)j$OSp:h0G8}q ?@A8=jCvs>ΜrïQ2N{ϯ^zpUq$3$Ӡ8nz+dNȥ^ўiIe~5Sp(|FA-sK&&5LXmaVhطJ!vcq@VXW<s'p^=-ZBG!I"\s tm"1"O,0ʀ?v`r] pwFqyV8r0R9]>JdHH:c9$g=wGWPP&イz1g64q_.)]*U:⺯^{.Aqos$WC\85y8KFoxĖ+H$AeC{pGSֶd|A.j#E"G44FS{i>k#qQOx=,tLX,hrL n|Njuע e v@nRkrZ%82Jm0Ko[ro/&hJI(n2##N43 m`XЂWcF?T졸Zm K7g! uH R[O4#G(,"S!:+WT$\ :sQ4u` 0sNy+AJcm= VrVe}&Fsr:s{|^ޞZoS)nge z>&wGAɠxsn2w;n;JaSFQʳ =x#=\@#,͌sӭtvvbUwl OgQ8^{NyܸybVeݹ\w:rqk!ˏ%A'.ǂ]wt~dF1̍O#5s2N.\p g/caFWHr:VG~] 9 rA'9'7L Jѿp:#ӊR>q'vwgqW)rv`f2#\r'ր[*SLs;OkiKIfO \oR*sc ~P: g8#gs+!">11\juYbW`3݃ӊ/vH#9ۑl &6$ZO/lA3(,TB (>]w>Rf4)*rJ PP1Uv zjSgsC NxHUmD:#V ؅9Vɤ!V/Nx!EW'cQmʁM Ieb=WwskJZ'.$[Y07 r@9שxPir1)# _GF+Z8g33 FG`U+q5OwL'1+~hGz#Ā!26Q8|8T`Rubw#sU}EHrA#i~=_S(3[dtSR!rI>aHacT6qxpjG(7/FWJ{ 6;u; %W}HAtNrO\wZ"U`H8%O<zw3]6n=Ny8 C1R)'ڼy9#5W V8'<=h9+:΋K`g$l*'FI sژHAA!QA8$=zЙ#ᏹ$ps}9H0zaǐr;NhrP}UPp3|'9T&. 8>^y8>|0=J.xO\>t9pW;OSd;ߧn1߁H 1IӁs.x'y#a>h!ug=?#~7m gr<80zD9NN9@ǨsHOOSL!r'3#@)*#'zҜqtoB#`w##;~=i0GnѐN3gQ!݈x6F2't7w3ÑoOʗQ.g9rHy?˥8 c8np@9Ns@uv!rI<^尪øs񡅿1Aum#zL'L2e/yڌG08 }s^N+-{8?:L L< Iz$iHP6Rx%:oNia$:~/BrqrrCrc3X~&I eG GR:gӿP{bG=?ӹcy@ 9?\tt~Ny QSc#g8#z>ئ&/RG9ߧ_~ҟNy `q:s8\d?I||1z]i*1v9󞾇4}O /#nFI<B} 3sõ7$@sА8x` Cppr@<@ÜcБN3@換H'9qӷJ@ syN9E#u:;s@B$_O u 6rszך@p1dBh$g xJ:!NrJ.GШ6:r@h2܆'v$NpݏA-~&2yq /L9TqaxR4G=[>;8;_ʘtSg}{ĂBF8$u8pV c2GF8*ހ?;4 iF`915n29P9tƹ+AIZ_x272:c;FpVesn\ 'o @H drzP(3SS)9=:R{"NHS׶G`{J ݸ9G?O-?(OKZ9 8VA1r#Eh"műFrqB^I㷠')lg(XKIO ;Vs>Uhs?ՋK'rzǮ?*g<` {_1&r238OCV 8ߦ?ή2!ȕ_N U`0#:[&p6Ƕ*nՈ y88<Ut3#91x'-^*s8;@ہTwzry轳隔I#ni$nYNzS%۷=s'oH 8!N =i͐ U\یӲo@iǁI׷NadޘL6ᴐ A3MR'9IG8率,v~NÎ\sж9}MSnJ}ÕcMRr9V!p n:>lck_Qʐ\Υ677`%?T2m֢ #;RHyޑɏ{.G 9){;H<)y؋w#I{W { @ugt$8EsD~+D !L`p1gEM ʅK> wha&](:n#+ٓq: 0#!xH=[c212!2$!\ߠV'B' ݘ@:6p9l`sTrcQZ2\6Pyv7Tg+JP}sב:P$+ >X G}szDHIb =(WyfMьAlZO*Wxnu8=GXMl|` 0,yxU X*S;dr?IRA88,q4ݕh‘v99sDNsFv+q~W=Wyr$ G.{L.㵰[$  P$rCW'$O}Î="2V5ކ%LM=-c#5%Irq<װ5Kr-!۸HfTvc7m I$\x&րw&2H$0z}iF0 (#HFNBY[w?Ò21Un!IE22T=O(+ܝ xv`mUP:Mi݃U`8<ՌVVnrw/ڛF  ݏ*@,pI#HI.gf 7B תybA?uO^6;e$H/JLj99wyI68 \p*v\>oR_6PET,O>8ؽN*];U >9+ݜ<-@g=CҦC;H0n}y=OE-YXH@[g <z1Vܱ, @X~*T)GM51|;7UW 9%B;p@[Z9#*s@8#r}:;T8 LSz+Tjݏ6V=HzGJU@J`ur\U]1~(!pYN7m`c}j/m0s۠p'KYl݋[jUi&~fǗ8? *?%v.yʗ۸'j4BCh$d _#?1lsׂx.-w?&FP;$&_U?#ϕp(:r:S_7b)(ForJzֺ */Q;218қ\hև0r*Hy }f,Pq ،sCI[.2föR@%6U!;~eAκx~yIˈp3IN X[u7p@tuPx 1%prB TU^8w7^Oe]T ,>S׸sYNC*Hq?.GaA aiF楻96GO*7V^@Syҷ#Pq doJRl4p@s'8lAӎBVv ;H ߞǡ$zIkYNC02p~݌Gޥ qNNO^Sv8R=j$*OC׭;=17ϵAKa>PHmg;dOlINx{y@3dq=S1z9$=Ќz㟺=7H99Aoお'x#<':zcp9ysӥ(3r3q@dw@8${` iq.PG_Ɓ 28/=w=>n'8'NNN.P9);i7qH8zg*qBq498A9aG'ĝrq'A>iWʼssۚ.He<G\sFs\`׎14&`=9 OˊhKW%18jL.>=ϒTXr]^E܅uK|/qiD?.O.DX's㎙pW$sg(-,H I DG|ŇZii>X) ,FdS6czcKxќF|-#)ynD Hс4Fl2!7]N96RȎ<r|cy+?C9G[61-lRegT,'q eU|i yb31eB209G:-QM/I9O1!_bi³0<α ;vB|0Hs~fn7g mi[$q0Gj|${pDM+\p$9gx;hnp#3B Oq֘Z+y ;I9P =i^\]MRY/ U?O)XeU8~55-R+5|c:Rk].7e7ݙ_*eǎ1MK9alvI] I'S]v=4(-*yߗ2ƛuf(eByH``N3z5x5xd#f+*8I`֯>(o%P-.d猃_`iYSwG# mTBH%uqIRn%,&Ȉ !PFW=Z{)SXcA\TE+ I$TҼm.-FT𻾙]]Z_StЉpn㎹T!~_4a}z2h˕GMh}87}ѣxU!Wx$9"ah+ԝ#3ӏJb1*vN2#kyxevr##ь0 ǥ>o1rks!$E|vwg'9ϥG*(l'ocdR̻p}:k+U$Xlm#n%FH!@h #3Mwj3z<~&$-+[Y"h.bX6mTڱ'hՓ* auݞjj}+yުf" X892踺IpWݔ*T`m خzǡJ ]wCjIdA*'NVԯ8܍gv>O$u?1Q*GW]z#+˔hTD&y坲7g#<_K,0YB@83ewZM^6vrE9sIF:3wϵpnrïVCty䑒1'~~k뜐 g8w 97,HqnI9ۃמݫHuo;@<` b&Ì <ːz=NND=:#@OBdN;9VrQ" v:3׀G׎9A=1zqi'8z}{Qpsdy׏Z('R =0:H>iBN$z{`yr_>_^97y>^) 7?)瞙RGM#t{wF^^f5c!~F{ ?'튃hny'æ zbq>7y01zu9?ʉuM$9rH3W`{602H=սN@ǩ֟wチNѲ#/?sU1#xDݑQEV`=lgxn\3$f^:7_jh0:v8zuk'#Eרz@*2<EHdw 7w$~z`:u'Nzxzx:3~% Tt=H:n?͌ɮ>竱 㜜c=_=}oEzg<^-Ow$cv'#MNw`G_#=}AWO8$~Ӎ;Ns`}EXI> v >AּFTv6=qs*~ p08¼#B38㓟\cձOV#,H ?)UQ-}1g)hTQ\y Ԏ_JM<`coxֹ\yFH^QZMݻx0*[F{?GL:'q^p81ʥCf6=s:rBwk,|k'2P1*#">sP'_w)*cW`ދWk扙7p+٤r;N>lGZ5<8ec7s=9$ >$]-v$yZU*I y<δbkJ7cMTR#Fs]N8*;GО3ц11>*v`p 9^ d# rq٤[5幓I?mky^Sv(V6F, xs,4ۣ&]2v͸Gw3ԓǖuk2v6#NV-ѕ{}nEվeEbzGRJ v aUđC-R~(a]h<;7/|ˋHF1+ږ9GuCYO>wȅjɽP6`9_\Q8]RPI/oR5紑1w``(Tib临K\EN3Ig# zסOui+4Vi%܃n'4NWVkV_k K /(mEŘ`uchLli Ϲ7^?:C:10Iѫ'1W8tbn^k޼6(i6yqʩ?C\؇h˱yw>ctynbuTgosל~Ivm8}G~Nwt8<;\^W}>S9՟w8p=OR>Q<qq'@N=mAxnJ2~n=#&<2 ldG ]_q N:uH'dNRAy$r;rJ3?ZN >\qۡ9b}p3=}y[.}Ȯ9΄ZSJǧ?ή;q {eY=yiLA "X}Ǫ=Ozw0H#064v|~>~ԛC 'p$$y $: zzqP;4`c g:epӮOJ|쟧sh~2 <dNRruN2H{›8㞞ŤD=ƫuN?jfB 98^A\qg p{לR#88y5~OPD \; 3=،v9* -x{uH88A"<@9vШgw`m?*,=G#{jᔎy =kdznN:܎(RwgvH>b Xcb=7zZn g pT g/BͅA1sȚyW˞11Qgӷ=sֹЈX0:qFy&a=:@qר#R9y׌`=D?X\H%dRF>8$g>vN=rIk&X:Q>l{ pCOH㌎)۳<ǷOK,/NIF8!y8g{r>sM'98 xz})zy=2{uKC"yS$rFI\= ۷'1\,&P6B׿}O]ӭ}tc:o{igma;j,VFV*dx| MќܗkX[$GU'sҟ-2r+ߜI+dh͵lg!ߌ!tHE#GGq[q.@bU1n>f9D TW7||XKٛ:BI+R9ýsQ)V pF-X#uvDFzΨ9f~9סwŎ1Q%hb&++$Yr.;ׂ8x } '=W^/ mЂ@݀ ,9 FpGRyy\qiHV gO xӊ1t \|îFzܷoX4S1ljJZXscYr;SWm89<ל' Ž ~nyEw4"p7n,P@c֔/ \~Vv匈uh+N[S<נj7UΟe&\M܀a[p9A5ۼmS9lzLU\|-W' V_ "2e+H>­~e"l CQs#tzjjj:>-նP L<b_ӯ?&{ycC6>ciOsW}lFʹ_SYH121H=N;b6l}tVЭ9;z9wd}\dvu.W(yyyUt\#<=sG0rhOolH#n慸p\s2?U\LԞ{#{j͞ dsO~w!U_p3ϵF1?!]ÜctިRIrx88cUـ9zºrp{{G8{t9 ׮Ip?wz^GSܜz֗szǦ:Ç=s 9<枬3dd.yu=3 dwqۜqXr =AFOPW犑Ir89QrC9<6yϵ&~adl_Zbh6;]y%9$0֝Sg:I'nw6| i†J ubF{~.>îOCӖ9韧j~x?\JhoC888>"9g,{(`; `蠃N'$wAGb8?)`x3Ѻd?=Qx?1*6Ani<G\q{ wʁ8hb Ht;^><)%I=_n""pHF>'zқ;0UMG>& q: r<1=1M I,prN#=)r2r u`8c?t}irqܞ2q۾hH_P#$ÿR',ˌ+sh\|9)#ޟa;8/dt+7eiNa=z^ By}i=C/vO9*} ۥ7o!zwg lwG$3ϧ&䀠  !+GQ'>җ@Ev`/ps׽cx}^jYc@pyCcOnz3 1c9\@=sOJB88!N9A28=Iܑ0}(T=過22??';nlgoJk!2wsrq8ۏL K`H->Ìqޞ0N@vv?yw$n02{Q6 n&nS{ m]q: 8 k<=q Pw9z-T/BKA_ǵ 䟔czi@nTɦm9=L$'u {Ҏ=vd9I93y9QQ0p,yo8&44+pm=):#GLcH?xF||=v?0ÕTH8$|g?Jxn``(330:c#;Ȧ9bWpA'<x=AuNAP;Q9'ybOOB(zt ߽G870'2N2ǿo֜288A7MǜH!y8R1-0z{җ=Q=7\sq@ꠕ ӈqA7;G\x*C $Bur:!zgޙN$8q+.8O㧭y=I8_p_q'П˵Nc!PWp󴞭'Rt $ɡj& wڦcnqM{'⬦ `;H=w/`8^OKTsz6f;0 ?/%#'cg(YdF}֭\pДKo֭7C:tj#)CȲ%zr827#ozKc>B?`Xۃ5u%'!p@'FOCq֪_eeq'2I ׿|TrTzN~{vL  ;Rw VK0 z{i<`ӞMIœԠ\<>1ErK.r=K?}zvçN=1҄|V=0(s :ǧzL(#gxnG8gTLBR>r2y8H~!rx?2y9stܸfw^0s{SrvBQ]ܱ$d|9ls\]ܩd$g9һ)8jջܬ- ۈq,~m WfɒX0SZJus0ڧ+:s>oR = 뿑.ϕbqn,:k{Xf9 JK}_OUF'A`:N* dv/??~E&WŒ_p&杮2dR ,Id5RM- B8F9Cc?(!v <4 Mo/%LLHvm_P@:9#qTNs &l ,E71}eݲ~l=eσIfMgp#v^ ' 7?U=k与^e1mBjSIg8#_k99\rH sZΧAbOBÌFq= uJI9FKMt7VVRONrf>v'#Џ m'8I:syݖiH&IS+&ѐAٖA Tʦ6hH<3*,*;V<~ kMr`# g sZHwc|=1SeA:`݂C`}*EW9dco0JbW XcLH[k'K6+;ha-z$泝xJ;FJ眞OJj:YFm%榆X,`-e;ԓRv$ln\mylYc̍[rl$aG5Iio qo;C"1]1nI/wERI%w2QR!-9,2NpHݳgcE?r_^A2AcnQpHRx=zf$|~2N;zm@͐[6g=jrF18h6=b!p“zK_`n9waUg grX8N9P:g8jAG;I~a:ϥ[R| Tu'3+B)cw c֛vqs>U\{GZ| ە>^e?6=yٜۡc8ø# ,HϨEsA#ev9]1n~pOӌ;zԱ*9@GAO?Sޮ}@p6^XAf6\t#"KƤKctǵ.b:];v2sۨðy* ~=)9?"&S=K:C)APX d1cu|5SǓv$a ^|5cu2f,8cJb D`'vg҄5\2ے  `:(zS="0P8 /KCR/AHÍE=}+BC_>^Ӆ9 AY9[SZ?cdp>S#>KF @+(9)9;^P )#*OjgBu4;q3{iH |W*1zwl+c8@Cpsێ`YFIO 8ask;B(gn9xFݙ3v8;qߊM܋:z{^GJ۰G9H$==? 7\rO8ڜ}pg@!8*2?/xӷ4c=zߡӊ9 Q`͖)B'v9$c^2k)3N~Ih n9Hf$/x<8=aןCK].E'  Y9{C z+.F9*^)㎴r>sd`s@An~"g=} 玝z!9'qځI c$05 9Rh aLC8= $dK$?@y}Lt#9>G4돻NIF㝼|qŻ09$OBH~U/~`?=Kɷ0 ?3 gQОzip׸S*ts8t+6V,ˆSs^K:U%@ qqkXo $>WO9U<р`6^܁w~ o7 rn_WFʹ'5!9;[& 6] ;F95%ӷ),LYuOtS$:ס FKt 4mPژ[, d3 VV^bquq2s,ƑoW8ˁj[V5tOiȒDe8]U±([ow8 ߽iwKvmseռGVeBfN:׋Q s8sUuq(%gE|CGї,H#lZq겼js~FsvJ|1{4͝6&3]lۼ#AƵ,qQl"ޛG;x)lvI4xJQ"qz}OM],N7]0oSs;+juUX Vpٕ60ɋY-17]I,qw~i]$~̠"&DѶ :iDICy)_p[*BJ΅E<,kfc"T1XUg-rQ4K(G sD*Yn}=G;]MUg[kCYD/#A!ڮ6`OyG/'ʁlI /R=dtO]e(}WvWv6=ѬHv:wfN7HeH݈၀2;ftJZzlTKp d)< ՘VI6Ag"w+W!b8Қz/4Ky:Y /La%QMQI~$si0Dİ,:3>. ?3F{U':.uA)bwm 2܎RV7\Ddh~bc;_BBZ럴Mu;RmvFd⻫VQ)"%e*<灊ryC9m$KHGtFI7c̄HB3zӧ4LZi{2%.Fݗ.K'IK$E<1<j/tF B! ByD#@]/uDF9 q*%S_O1rG'Es\Gd1'*3=z Ԉoyp _+ F=Z#?{^].7 ԉ7;&N}F8\&Z]4s;My$6jK{'{ۡXD΍PM$+1}ѽX/oR-ޑ,aMKY ^ԒGP:ҾI#p>1 z;ֵa3.#Zt Nɷr]B˒̲,OccZ/5 R%2(m`3+;r{KzH~}I } zEѭ; <"E@ኗ$K[Gi~1wY&q۹$끊b}-WjNgMEs>_`K(.&`6~`yx~:PYv\,{A6y݋ilξhgUX xgzzmtHl_pȍ(c`rFr qǦ9yG `3|Lz׀}3J䫳69a$m5?0dw_:=Q%l #yvk4=?CSm++s[sqqZz szzWX >^GjgY0AタLs? meO\ } vҖYnt9a$ut rI鑐ղ()=9VliObBn;m·!(6Fx^x=^rNIcۊ2Hˎb,9ӡ=)faߦ<O0'>tOb16}{9FyzKu6x{[)($ăN3x%;6;q Z)~sVf#$29-|2эh6A|{\琼d{`+نǛ%(r}<:h:׸V'?U-sӮ=ۿҭ'^":u+nI sHcӚNXz?X8Y?=rO_LSҩn z`W=Ed/&I?(@A'Zȸqʕ` y;'䫆dVvIZQKD}$9NA} b7o1q2~$aJ.%e MC!9 Ӝ 0? (`1oNj.I鴓8 xL{zWY遌g=}ke1 |3 OAXMFt#Nۅ+>޸nzcq8}R30jc?xiZ#p9R9=k?i3ǖB}kЋsͬ9J%K:&UC~ z9 _6ʲ8@HF`>^qҟ>N:|]^-X[MbFS"bid7ʌJ$C319`x 0kp<%PT'-9$ uQC]؛A,A `gAǯZXcRFO_M14h&8*Dm ?`zOV"Mwcq F< t嵤w-bEI&\遌[ tYJQ|h ͜;\t%}2jY\g$F 8<=V ~SsAIep;:Hfl+2l*Ns$.N:t\ #cqhlCAF=y#ԑ5NM8s;pA3T6REqm4NقH^t $ܦdܠȪJ U#pN.A|PRZ a3\O$r-N2Ta2wù}xq d91]nnHs$z{Uc vA׵K<8\ x\{5ж3dc2iÎ8玸{t@ 8~gr*>s11۞;&.:z8ޜ'7R;c'Jddv#Ԟs)@S_Q/q#O^yv矔OQ8v >=zRt "{=AH}v- 4}${PqqGgaM! ;g'>3ӂzՐ}{p994"o8nAt9 ؀ cp$9WfuAr:S=s\ooA}2;A#%[zdsޝÔӑdcǭBͷ<LuJEӌ2?_x-߱<>"c=^z|iNrH}@_ְQ#,qz3ЂqJM#鞕C1r:gCr=;fzy N{犞aOppG%n|~>P$cOb=~1܌9zDp <$oCӎN@8cʡvG#nr}iIO|(<$:IH6TD8'Oa=U HȮJ4sw @?}뎺 rIThS|u}rr OBsO^w=,619pGn$+Lr#fkǭv@q'zsù q>$@s ޿J4ޝNzN?]i8 '&*#\O?ʭ/zTKcE;=)ï$=OKDǡۭ;G>hr$/RdsЎ?J' 13hצp^Aӈ8;sݰ{TýOxs8SM&"{S.l@X2J@ȋc}E{yLhW<֤iгg^kv g?r1\ڱd[hqWE{#*4vr7 m܀O2c<I?^I߭R9 M)eT`rn dջEw pw#u N01kR֋3VwCa bH?;tS,KFJ$I+7]uvOF`PUΠ;I^kB21ݐI UWCHLc`ڒZikvqti:d9?8c#`'MْOel$t<g<=NfO##a?N}kU"]H)`N3'{tZ 8r S!p1;^;vr%-U?@H= `AܡFs:ZBiJ~bm>Ԟ5r30u~H>jtd u# cON84|7s+ȑlkĎ>@\Iq;F|,=('W gCJβʌEA,8=j KCܼ%gUXISk"TcF#Wg+>>QO7ȡH,Opp+ĭO/ !0~nF19UvH7nQxzN8Kz& mh#cKz6p񊐅rI,wg̞)ɭ]#U Cp+H$i\(VNAH'i(YbU9*xgxwi;G$jesX$5AuXwF7(tw8GR2sO\J]wWuE ~PH|z&Hn@`Q  7)F2qaJ SU&~8ljMnW [?;;lVzֳM8A\iZ9*)?3|r1ZcYUdvՕMNz#[

NI9H\c6mSǧ=bD`qɰXONH+ 흸;{vK9,n0͎9VUʶLr8ݸ4I2I啑@ć՛)P #MKgs6:{4m$%#fd]B+𾃦jAoafi% J}n jmk};h"zk`f[y.-cKUȊ^oJږPc0rdoӥi}^%JjXk>ieQS^/[:vj#M&Ly2wcW.*/T5'lXv+"F}I8=~)|ϫB0'< J&LtI=z#fy߹'9"3`1Zer1'G qQ[\(ퟛ犵6-`:FW✁#2_#޷vg(غ@occV+(jK<=#qǦOj邱$Yr}+QHӏLf1ЀqqO8^r;sd#rF9I#ǩ|Sy## rrs=@I{Sۊm{=T}~s4z眕zqƄcvxݜdϩ=TOPݜ /1MHn N!S=K2;wBh@@ Lypx$@{{PHh܏zG#hQ yn8Up9};w^1>HFyFKcӎ)S8mލߍgJdr]th= @x\KvVGb})2n wa'#w 1֐nV'$0 =>~ =vI:9 jGR8F`(i'=~sGnc#(=|Ss9d ;;'ݎ#y?+crQڀ!Vaӯۿ>Hg =ZPI׏ҎK`9<:;Q39f;RO8c7:1{2}}xǮz~U ~|+ q}3ץhp\SEM܀p3q*#Iss+&-\gǷ= rT r:{Pz#/\wrH# giK ԗln{y_BF}FpM'AKߓq ;MnN1 >:<~1$pI Y@,rxz~41֢_0N~ϷTx#N!$JۓԁVA==GLԶCV?/<,8ꓱ-hHe*K gS '0ƪ/S'qC9$I1lѷHknkN7,w 0jB?R涌0kRpvTrs7~_UTeT1 2zx֩e$8d0c?t`$.U{ _}=N{{Ǧi1aqg/= ~^yi*TqNװ 08B ޓprp8#ٮ!$ӕa(Z^F:9(yw$#9 }LfhS8q5B>n>` NNH` UkĘ$m;FUܝ~Vbbͦ3.ךpWfsqЃUR2U׹NpX#zKmRH_h# ]T`kje*uzg1x9]J]7%V0c([Fn}HzcPMKvOe y_JՏM87m#j?+g|Wmk7!R0TA'Xz_ 9a:3@$QN[9*bͧB G 6{dy3jۇF'9獽k8E葛~ihb mhL2ݏ!V,18epג:f}YZP f>^^kaBBf <cAfܡ(ÖFjJԔ[UV!@TtIG>OR%Mݣv.~^s[i+->w]o *u;c,8>vYDc{F!;Z'M?SIh-g,XWU8LJ0$ 7v\6:,\>XwXvcu wio,Ygq}yFF 9*0w{unQ^J Mوg'!Nq:L2{d-B&y֩AjC7!ꯐpX1gr*6%dtb]ɓOtyB* ށ̸ig0woPw'}EO#dU{ 3({8qZdvаnTP'.֓V=0Ö;v;2Om:PS0RTId-?ȍCѷUd2B q{1 ip ~oʍg @#iw KE`:ЖdPWg9 ( s߯J"mqlSXFz0pIRU0Sמj7QH9sP˭ʯ2tҠ0rN 6.ryqGQ8 Ъ*睢B+lRˁ׆c ~%.SYFq}`}h2I_;QKOR sQY9'{MYs.>D$f<[ߩHaK T$#2O&(=Nb>\i˖,vcw~ :2G=Tu|8ۻ*G<^!p)Ja.30zC FrW wq g3^meDS=2Z22Nm)%Xt֥K8kcI(wr2,!$W r:կD@y=w:O& x':N=z:F1898~6En*[: =T 8كO΋ w) q֐(eۂFO#9w $rnUg< `eb;dt0bxs98:`;c<:q?: ~h`s!G=hhp8 М8sڗo]<:gȘH*AI9GbCAqG4ʬ7$NGU7| ېA9 .Մ qfr:qǯ5X-$snmbǷ9$=rԀ$wy^P2zw=Uy$w$IGq 1Ґ~G'Y9uO€{t㟗9K:=H$zdc<\tAڎc21Oܶ9qj:øm Ij@xo8cm@t<&ZˊRD|v$rk<%ocl FI<6k'֍|2ӯPP"81{^ڷqcE9g{+JSpOgco^#c쓆A%3~ꣂ{sӥeYxSVҖ[1Gč>@t IpGzVI;!=lp qn^>[Lr&2}Asxy>P$l>0=ɪV}v!uSk^H-˦es\6YI6HTnXy>^]!pۃƹqG\V7Q1*ĢJsRhI`Im}>ݪK3Ȫܿ9EǠKi~_(B$?U'^Mn<ddWor@"/q]AY.m.J(p N+cNxҼf"TlYS*dbNwt0D{rٕQr'zm=}}MKg 1|1*cOJL,\{GZR<@TNqn;TrK HL7 8qV 6O4żR쁺,4B4WFVbT)מ?Zދw\* X3g[)jFmPl`B`Fq\캩OopЕ #!>`W/^q){7E{ 0 qKmK7*r઀A8FZwm AnmG+G0$d@k$AtfDm!09Fxq[StKEHa(ӧu?zʌRh5ݧk8&eb䟛!9=s4a8ߕAv󇅶0R9w6v0ʶB {I)~ \reE6 cRpFF9oZȻ|@8q`Ik"[݋VގT7<]T/L2 hm8c+˾& uyd`ހpK'5NDIPd}ѕ\1'&.XؙCTz-Kk4 yXelzVѭ>!t.0&@ÐNկcG!wvAڎeF;}zuhh.R]Ā0N~u2,lLTdyu^3U !A"7^sny߇dǡ#j616 G,Fp a9x:j4Eyn&ӷ`+Ube׺nuL/(أHU dsUՄӱ ռ(RxcXvӡYiw'2 R2pr[$<Z9-6D4Sf,6OlBZݙBR(Q:|,{-IqJ-?TɌt;g 3c &+e ĀH2}5wR{3M!vTŸ-KNW#dFbRͷ WKyQkGd;v'ҵg%Iv;GBU$ Gj~)ң,yd }ۉ8l}kr3& 98[^}LRi;Rqָq*g]OpL56T=p~AxO⮑8cדۓ=OKvq|=s8"NO@H\dg?ʳlrwdOKg'Ϧ?y=Y z}1gMHF*=::Ž 08<*o,? 9cG^_>S2822 9֠9 ~I8t+7s|>o__ĪC3ꀉ!vYHz9fU=pzpzBAxu#; 8C09vpNxgw #b 8V5Bv} 9V ' ztϧҼ~ \  zzUޅ+ҕ8ā~bKqԞֲSqِyا9։hU5V$t=lFݽs`ےsy{V,7 ߰ffrGS08'Wk# 8;N{zXKI$`+s?)捧ABAOڕĕj|4"Wlg-* MCWݴ`^ 8<0zw4zݮi 8 \ϸ1+2r=*%{vǷrw03t=MVb7]!X9'w !d*UT8辝kz b \GN2wO#K \ЉiMq9=ҬɲTO(l $=)s DºV~`P }G$??)#8]:R;2-[2%/*HbQڹ}"sIaop{3`jz -bI[Uv|A5GWH"-ηI>[J< o"[30+ls˓sד>~r we$7Wv;A5.vgv5K so%,X\ҼyD븩,$c.A#sD^wO1"!=isӧɊ%liS)p< pƜ?C8k_o}Q㚻LЃpZ9 c9~X LU<~$?;8#`H3Ӓ9OA޽G#c=O> 3'i=}8 q O=~uEžcuzpIBoAc$)3i;`RөX?Χ{9?rsx:F:HhwB6pnJ<ۏ֚vL4@wcڀǹAJ|ñ䎹8a r.Ab|>l-ӏL͞g²Q#fミ9QnAbvq9?/߽a)Bd9=٧o3Nq8ێqSW($;VrsK:@z. 8=?FppZ|b=?s=Ҕ8 K}00Oގ` s; $,9:zS ^N0q:x4$rft?S.bBXg99)\`qGz"##Оqg{ __Σ@ t T%$03H8$>k);a`Lf@9QsӞQr͖##985]:8UޭT՛R8I;mcW=Y#,m3x,Ȫ ={==+@r:d>g $^XuЮr: 3qDN $"FKcva3zw덧ҥ2@Ҧ^}_rGׯشL01sϠڜ3zp{t:ȴIیG~Ooʜ;Kha׿"sQRc ߐ2}9Ec֡ldt9{4O9~yL r3zuTG\g|=>fkup<@2n?:;X(AFG\r_|ͥN+:eL;0s=}+J]ۮ2B@_}Z#ӷ–]1yw ߚ :K&<#Y t3l䰍HccuR[t?rs dm9}yRz6j|dQ/rϟnUMlmŽ2@Fj/hFH#ev*s1@l'e=We-[bKc S%oHc8v$:̄I,w@;9Ml+'ZcCp!|=3K= $*$$=F:.V8.|v+ g I-N+f;vˮQvȅ@9>)uH_)ϥuS~9*+NKmڛ`dA<"Us)zIir2ۂ##}Gz,2> $fr\ATtvjNI6u3߭哸m H2͞-FM$w|W"a6l rW-*~fhn[=no~cߵcI2@d2vcw>e?x#ẑPב-Ј:rz8=w9+`9f[n7 q)NGewoFH؎lr>Qʄa03s{wqa؁j)8pZ2F:s^?!JaQ7q:g|D˖댑)3Xߎ>?^T+ 䑂AA}{r3Ԋ۳q>1}«Þ+g ~NszuJss|Rӯ!|z wB< g~'cש~zU\V%>IzuϸSLOUqXyto :gɧn9,sqM148Q܃" I9@S%6u lsC+}qϧIm^1ۧ&w(A9'=zқg`p1@i B99>~62Gq֜}pLHH#33zp H6FG@?ҁ~ޜN2H. 'r9@6 < Gp}pszgq@]{8M+鎃ҁy$@׿G\`}A=6ߧ>7'8}ytG?h#{A>$<:s'}q`(9m-QH4=3Ks (@g3ݝ29-Grj A:+ꏢ[nӶ)` VH>r:\FQ} [Lx??/yҵI)71+[=vE] *sGrݪ`c!sbR^O:۹(]TRHH8=.d#KCN9?A݉M 'nz?4 q??JsF=) 8aqӧZ; RHWs"q#:8=N~aW'8#%";F8ې9pՁ3790`A<@}Hpq)=I?^ďL}zΨ#s p9֮)3V;Ӽ98$ꮪ9U<ˁ]t!==#\*O8H6g ?w;i@ gD$:u}:gyHMjeu;uώ֬zOK{nQ12d9$d{ fQU;UGS7\ҹ*#I[r3 .TH@sr7= qVw4XE ݖsךҏjC傇1[A]MزF21 E\ ^{w 1,X`mں)u,Lw #fV`taZo 1;Et*70uSE?,D wr'*HF\ cߒz¥+icJuoV`]8;H`rB:VNq yPrsҹd(eR~^8=Oi0>lF a0q%CdI$nrNHqR-mӀ R{ӿzͻi܆88cO vAPy<℮1S>6~V(㢾w)8'42z*L%z'v╘ ;X:S ȯ$f, =;S'?U*P;K-خćK w.sqq*Hov| 4E-n$9 wM[1 us=|-ԈbbۇLtx {S}唒 n*GN(7dð(08SaX8ֈ g8FFXO9+:Qz)P@e8:wǶk~[a&I6-J@9bAÎ>N9(JQzWh:m$w37{Jh/橱7$68瀤t{10w*Q}*+3E̷b@_Ηa c\#7w#$gO݃Kl;v./ :'v(@ y`Z<91@lTy:09 8 bЌ}'zPKt=:=Or}ywl0qs|qmgn9]8rI3Ml2bH-lõ.Ď{ux8Ojq:;svlӞ}i?pF@`9'inKxW`qyT?.!NspyJLOydtǧNjL6'oL41g 8}).NAb=@!lr g=i 8891}pv#p=Lތ8R }2G<#^8#ۜvzw^)98q'1ԓ|2'}@1p9\cd~I۸}yJLÉMl?:d:sHvۆsǠ#pcny <Sry`Gԃz⥰b#V')_>v>OhU'zD]k]DWH ̭$3QGݣMJ;bwe0tQEj3ٜwC'<ȕ : Wm3lѓPw`*R;jFN!濮j[\jr;Fsb8gp4ܱ%r3mwpq޺m-Sı t#š,`ew|oprFR8 .nvdFّ wϯ JAityw4ln#Ky"3"E ,0z鶰C)7l Qpe(m-څ| U*:n<+H$D*ʏ]9qZ.rBG4 Cg 9[>$ xL%9qM'm Tm 88=}q7Xo,(OGA4߸C]ow v(c`nypku\ĻH6 a0 ֐3Ht>HYR8nJ:\ʠdYFE  cҸm28#( m<:s0N2dc tӎ#'7oBF3GӒ#g|`lV#9 _LqOA&;pp]T9)QNH9[%,Upv8cF8E :u5:<yRWִ=!i-Wqlomb8>\['1FQe!»3`qҭ/p pUUޥyя>$bOUG9rhp*rp@Tc#|Sas€C19皭5FЎBm,@6q߯L{m |ޛxʫ$ lv]奄Tn$ Kg gK\])GiLp%qڎKkԙj5\ʌ6T|1n*J OВs~隽Z'B5ly07z{jygԀЫ 0'qRI+CH%~}$?)`9*=U͐AaEԛ_c8͌ޘjT0CdO.HR$cY\JqמLVxvb2 KH鳃s߮ W&  "85^}6>pŶ GUi`kS'd' A( 2 1<Ђh rd :<ft6EnV6bYc-1wppdp)ҴޒDa-Gjqr]u=JMN̼rTܜrMw~mp @s @ѳy\&&Ω(H(8#12p+ɎlmrO'PdŹUW Pr O^jt GqJ{2fI=9ALOyQq^u]ٴJ6鞜&׸>ƻ[Yo$!#ǩY1~^9 ǾIrzay9TwL㌑>݌v<99)3~b{ 9SϥA p9ҳr.esOI zP\paXR{R q>iLq8!|'IiNrs7nSG&XPI< Zr30;׽t(er`I'~7Ҟx90OGJLaBww}p1%ܻ[rzdڛׯR393PIӹcVO^:ȸq8V\>y}k ɚ 9gw g~h:g!r =8\tntG9j6ORs*`0NSH8q98 8`x_*"*FI~gz ^NqՔ[$qzrkYIꋨv}#եF|WV=zzX끻WA\a`}އ'ךzd{yGN;{,cDGEyp3cwdhx:NhT霜Y0c ?qO{F:5=@U:ۿ[d=:;-/[m*IY}W:EX S`.97g"AJ8`%YTgzf0GAy_?)gnUrMhcY}J&:48%F^s#l c`+vV rT1*0[~e[5$jB}1v=u'NpvǿJ޶w{d'zT*9Gzq'pz` \d#^Gte©LМuҲc0{8lI/0ߔdi@r>`w $tʜLXHD˒CCCe d}*+X wFߗ;25bkC`-vE_M9DwH$uVszP98_FslQ-=qnB`p~LFjԾEm}2}\yqfC1)V9쌪@#{cTw@q7^1Z4{foݐʄᘯ+8ܫ> dLQ'e|m!d m?6׊O;6uoӦ+&6q2A?kY$f/F̐Zifm:Ņmu,ni&9sq'ocna h돕YA ¼HZyeD݂A[ {88'}u6Gb;)b]8`rp0J@-3A~5kVˌ` sOWn;qא8zӎ+Ƕu9dVR v#z: t&p=p;T܎à=+=YIhI}=)ۇaqP 8;BrH0wrTFN0Tu0}1ހz'w EБA:CJ$ /_ǧ]{;G AOyH1! 3<ܞHG^NC8 Rj%}n:('=zԂLN򫟺r1gڧQ 끂Xv18{g.Qr:)팀y{ :hQcRGFuԞ9@|u')9C&sЃ;=i 9 w.`T#H:gx\ 1לz{uDd^|g^Q@Wnqg#2c7ghA?O0H^}G qƪcx6>R0g;rn[~NY2ۆ*j5oq>9^H1qW3HOcs+xXJw=,-5ۏ>F Gq0?Jg|Q \{c=\j6\S=OXfȦn\ ׭Wg :((NscqHXw }2:=s9jq }G989h8݂{/q<ұ4CbH`sޤwsy}*X\Ǟg>Vy4ЇOxQp?֗9<~9~ғ;~@8Qz&nvdms$g,b%@\ ;QC qȯP29=z""T\W[XN!'NFki /`f6Uz̖Vv}q 91(V;2xRˣ1/cc%MFUdhq1RJsoKmX\п^:ַ>@pIsPrJ35N\ZP#=Yt'mn I;N. 'Yش6,c leXY1I vLlr$yhQׯ0Fdęe0 NrR}:{cցu4%Mm(s+zs *+A=Dj8m?yef8`y8qFB6 ?P䍽ܭ`?'9,߭haYZ@3GeIn3矡1f8,b@ xqڢ`cnA\g<8yBf-’2s#2͘#FXs>n 1h2ٛZ3ms-ilڗ >e`8a(2g?=8ʖޣçNi+@NGkBRrp0=}]c9'gG**eO ln 1Odb@j3?W grx9۷ܜ+lڪ3)Ȅ񞝺2r.f;K$ X̊LBO|vgeRDc.c㎼~q,N;|(=;4rȥ +"DZ {5ݰJ⯡ted>v/`&J=9|5q $ a;6aYsNj[´lX;IR [> h83Oҩqْ T\ k deac]K˻У# ]מ1U qMY^q-ZO~O$^,j?pAژ! 'R{qVv]Iۓ7cǧXF}sS=ɞ3b>yp3Է*{IۯCIz㞹? GyiT3r?ȠaCr8zR#=qXx9'?Μ'i7=<4KC/q0_ʥlu$r:z{^҆{6ӌnrZ G$9OlЭvԀT#oڝđ(`3ܝ#Ԏ7mQ*Fԑ N{er: zUHђ@@NfNw=pGƀc;psʜ=q-Aqs@<}3NO=?@ NW:7t` p('3T2NT ppy~^ORF9こ#4 tL Ѱ?^F{dwzaRI>s?\Oef:nߓL- ' ^?$ @?Chy9$ne\c $IsA,2=OU힧Rr#o t>)9ß;y9͎>)| {wߞa' ߑ׭@ ۆ%_uT=qN1]q61֣\0qNG*rNC#?$|iFTv׵4v'< NcryC}ptW'돧=wF9 qr1ï׌89P)1H8j\(=0zAt'>Y'q[FAs~p^Pwzus`}M)nGnϯTCL^zG^zr2{S{p'8 K:x#{dH9:.uJR9$d~lqG`]OξKg' q3ߜv$|aO?\VYN2Inq T0'֡2Pp <(3lL^(A$h{ =>ETOSs}jI+Ku< -&YFۄۻ9[pq}qX\tv9c Nns7z xO~vz:Aұ7#cÚM/F=O''ޥurGNG?N(^1>6L>[="GwD0>Rr@4mb`v$r;~)g?=ZI3PNX~^0p=N eG' j6R9f9=;;q3FN%s^3O@~dH1O95qfCW$=> oK.rs 21@HB`#Wn3QV89CZc;hZ w(qIp;NxǿJ`68t$\X@q\c7N8L#! [=8w㞴ژL2XªW-qq rv`g ǚ^G.*\bZ=@#N?N@PQJMn|:_(@69;8==t =8#i@=}+};qZڤmUH8{{Κ4kcɓ#ÈхthS&d*Ϲŏ>^33.pppR@:jLq,1rIS0>Z(gx cN.<)e`9Xw`LV$sWE)멄iz蛙F#ױJ@g9''5]J>'c 3:FGN%qF0ޣ{9fy Uj3!Qc\d:J*R@s#'r8f72(@T:'8Aힵ JPN ^^ +O5Ȭcd>`V<2=OJyYf mB0!sָ+|_}ƴrG r6dIl*I\)9,`r>O^p7tqZ;zA 9޺uG,хOu`x>„$j ! p8n/BkСNpd`Gq_J LzrIףhsʷV##9sӧWq;fӇ9ɹVCnX1bv{}:/.c;W q~_q_nTZЪEX%QP 8VBܷn56_p| x,K708ȧ9+A9>m>BLH#$ y=Հ=u$Hw.9)*~BϧZpGp~`=q|3|s@#^|P(8e Qܷ wt#bwulrO-VDLʕl#vybs=D2\uwz 3F F o1f N`*`(Q93p8ӎAaRݜn9@ȸ$(c+e8'i'_hRF 'q9d~ u%P(=Ny{Thz)0I1=ZnlMiO#fG8&'f%kش*;R<"zgkѥxhdԜ ˀFqЁ:ж6,pAN[?1j+3[x;/Ѓ'9*FHzzB`~۸C(H>㷢q|,O cgG8GPKdp2v$@RˏzOP<fwi9> >GnF2A9ysxP?Qs9<+)= "RrI8u8T)98v:gs\z0V+9''ROϠ?ʘX㏛; mb?^3zqH8?.Idpzn pI=QО8`1cƜn[}F>P1L !n?8$ @I s֧;$d9B2xhApyq~<*? !瑷 pO:5/`Aöyl6#[9`|Wuo`8zc\ n1@RH/Pp8mcVЌr6z'ۧKM}SZ*2}sߟΪ8q :\Y?N{晛ln1zﴝ@YX|Z[Fb`IP:u7ЁďIWf!Td*#/2*z<zf LVPȥ@b\)Üg81\py<=E X =0rAjySzn1К,b11t GW*>Ăb?6HRGLqqt`gps^F0x=xzcL9't?34DO 0}ɑKc$z\ s  FN@닿U$`wS?_ֹwGj~lexr9.cp}#w 9 ˿ c<6x8+-~G:W?;`x;ug.6</?qY^mk #9t?'+Ojnz`8#\S;$D^y95 oygQ'dDӁ߇֕z[8~ܓ<)zyH^tO'Oab`.~m*>sFIP3׎x:V=z/A ~oP?.a>$pb^nœ1\Ԫ`?¾4exgvNY\g$#ֺdL?va=)x9=qӰg)1I=< }` :sTGD ~}角ڨϱwo+^F'{$@rs?_©28-6zQwEvP>gێ\h2uL~)< q<zuҲ{G=Ͻ\t$v:ꢶ3':c;gh:pq^jF~fgzULNQ־O~F^,c9?aEq3Fy鞄?LCa'8 v Df/l'ޟ5<|Oa{wD1|88 )g31GG+8y?<FzݱRW0B1=r8@qR Ү0ԉH󟉚zvrI6`M}r[_7{ܥi |=q}G2OxN`ecazҴTKnk FHn$qzsV9Mv`t=iʱ'x,Ikqu<q=RBb@wBsSSTiO^ooV @xUGg$u5'I6 bFBNT=KñFzvU\d{z[Sg4$X  E99,`+9UsGlpy#I O;GoLJǛSU ApީX9X~^VsyAdd,8-d;8^kx3TS!ǀy#R@(TiVE1zV̩'rULדWo-oNA>zObZU˓ 1aqD#Tnˎ9'jBjTWݻfldzf$BBGBq;J34=Fޫd9' ۂFktbŚ5< ç5}?"F jmg'wf93޲֒rv*s=y 68F}bއM9/cE栕w#c>W#5[Kt|wɾYܔ)dmπ6dǵS~+=2t$' yQ+δRy9ڡD2:pqϹ)R9#}FD%wS ~$>nFx-ߜu~Z훝)yuW=?y/?ɝ} osU{(;{>ڂx8#H N==:p?ƺT<88'Nyc>spzYQAvϧv뻌w{'vdx}09NݴLBs<Lt#t8ϯ В9 ֙à8#CcLG_֚s'#qߜT $gp5A=H#Ǣzu,]8G<#;r)"|pO|`Q9Cy5娔ٶIv8##U?FA cOBO f#eN3NU6rO8\>ұr-DP9$8`OnۏR R+<^w+KnϨoPm g㌀: i_SXB$qOѻcԓ''dvSslpx$dz2۶+2=ZQJX1{Ӿ9tDg ZG8?JϿ52 x-C y/NxT 9{gڬ=;+4DBGj#y#9Yh\<Ҟ8$sۑ\?.H^کZh>Y9w]+H HWɪў}h۲mb+pPBDh˻$$z ~"` vf#xDEyZMʮa=:ѺUcM?Vq2eSNǡf/(cF#3wg= ;3>ә$eFQ"(OoJ/:|33TeS<;}*k4\%o2eӽv1r+F,:%|ΘKORvRVF)!+6 G5Mm̙3( $zu"Z?%}U@TNˁ޴fѭvXLlz{S%;C)Ot+ǝ897m^ng <5fԚTw1BT r.R0*r n8f$% A6\!NzV $m"LB0̝9n]zlrgrɸ`)pd!0;R&pT)ȮΧ!b5ٰ|)mBfEx1 SN2I9霟Z|>OIumw؀U3Tށ2qn*SOc=ʶ n$1~i;p<8vy5lKu]\u$簫P6ҭIG_S53z:HXI\q*Ilg+n''Pz*ᔎsۓZn:VƜo*3ϰ7By s1`_3ƜnXC!97x« Ul_1_&_!\`~?^zs^{8/&y9sJK]6V<$M|ęPs_AM7֕V\c2FWH9y'vj/VnrKs}MVf>g,9={{cD hVeh̙s1= U eᑕ-I9qo20 J#do^jйmv$j#Aq=OA[cu`sľRや[f!qֽe8ے 2,ѳmѳRΣBc\ U38^FGz}X\7&ٳ-㌞+ [y4õz 8#L׎Isq|ճ衲)GLtǯ>?Hϩ63u*-MgOګB0q^srf? )s# f&@돻y=(瞟N|ɻm=x8}dwv{R'~WbF q2pWӦ? `9Fc{qHzϱn.I`w?tdn؎}iÇA ߧ3 Py X+z68IG~;cL}`ԏ 0OuF8byjfA^{=Asҗ$W@8?21?w\M  #QGP#9 | z:MM׹GN "?('3B=sH0O60p8$#pOa# c꾄P8yb؃ל| xNpsマ gҎFxH#<2 ^׎NO* t^szv42F8 G穩;u8:pqӷ@ gp 3q`׎{LwAؑ|?<s՘r89Ml!At9n 9ntփ)c<ҬOǯzLT/E sN03cWO9 .=:Ç?73n Ң'R?. q8*7dp__‚sI FJrpH8h{19r3G'I{qR ׸*W=Z0A$v I0}8q@dP=P`leF@$?>0piIFуp?OsѲ69 {Uo rrrH& 6N~W!Gc 8`w0r:4 Q&Crr[W)rN2@K)Ի+oN6屜d*#+jRrR grL7;t'C9$g8xT~#l2$c=?[UrHb3ӎ}ip0<޿($g'Ai>þGې>l IƲ1 '`^!cqyRu c!Bx \A6=qR mlNw(EFJS}H'{:OQ0ppx#G*ݞikʹp/92;{{׃޴R˓o20Fz' 7gԅ#?wn`_v9^;}yxweߩ.Ƈ@ 7nv=z{U1drdJa4;X29 q f20l4-#|E3G=ZT'*Hl׾3TЊp>V!Ae}d=xH.U؁_I$'C-$>nvr'<|w֮.P};ݸm u:N 0=l㎝:Z6=v%T7`r}s޺*98皩|>esG)"r敱J`9'!FmG42+Qp?<^]_{wuISx(nOhFw&E#%~<Ibf;xs pyMlG*lmwqޖ6f1+**KCp8^kC1ƥF[9׎)'..vqn8Хe%~bmvo,!~L cxk<}= WB2`X ̃޹YfW.rsG#NՑۅ9K[c1e;A 'uBFz09$׋/i n$!p W# > Uhư#$mϷNG6d`Q#)yBªcc}9Oudo-Ol&n\BX Πhc2N?ǭA!| @?3jO/YA ,Ge۰3W (g$w)!cpT sA[:q@򓃗\r8!8xlBp~ր#>\rI' }y4d.s3@8#z zM <9=}z@ $dpNOQ|>}}y`BX9;O׶G5սr=N*Hl#%$~Gry$HlJe'8;ssV'RoNh?|8#s֜zpTwz~Ը4O9o~>QgzZ[waM̤ܰcޠUԔ''$2[vVN{v9w:>^v8$9IS8֢1i(HԒ8>Z6dR511]ǀ3E; ˙ x~0we@ d]B,cPNCJϽI" #ʹzD d@R a^7` :Êm2.@Ol=)C#p$l\$c=ii5 0>kAZ<h%Զ#p={1Frb럥O@Z[{w<˜cPXAo_|+ V!$g&4 uʙ!xǶsCEIYcePʬK sLW~A,w1A1XDod@ S ޴RRc _/!61ݞ Z`sJnM̮'ud0gbJ`@INEX +݅ `:rU +0Bzxlqd=9SPNpCX=ҜTpT r:H445"N0ƃ;7cO~m`0rԁz׏ڴw`c_Ts\M Ydg*7@qNxg-ۙ`W&,u ֒iԾDOw}+uwHt և3ܡ?]lJ܎@Fq( sՏojornrx hb>Sb;;W ~ ly z8eo r\{8]bbY;[~A9$nӚHa' qɯN]Y.E˒8r~L1'vxƻǚ֣q'W?[N;|$|^'pʟlsq?Ŝe% g#>kS[#R.#~Fяlr850bqA\ gqQ} [%ë۹ִ nwPFy`22>g(y}x6 1#8O! `rv~5Rr:$n85_! nHu;^8$6Ay,]xݵ yۏYo Ӵ_O~}kU+r5rpIX*XgBw*!8=a _kn+ ҬfHcY 7oEè?6qi{D -?(C-0N~_h[Ļ,LȲbAǠ'Kms,I\esjU癈$A)\\!G IR^a#Jlw^[gz4W+$J/V\1Y]! YBҧ! 1-]F|@(==sAy,y lМLtU>S[N}:vq s$7\V=Fmf YoP{ڢmBLBcZ4C ec,;w$9,IH 6B ^2յ vц {uǷeWcJ??z6FGW<3.\mXֱG{xW?3p%@~дX2UvBA@X|ϯ9{ץoYV\66HIl~"0)&'fʰ鑟Ίoc/M~[,/}H6>]pNkv؃U!Un>KX$ t9W5K:yyaz7\0=P9r=[01qn?Ɣ3} ={c[fRB Nm[ 9>Pw87<[ `1p?pGPA^q2`Nq:x>ǠprwtBA9<`z(rx'&2^r>F?>璾3yϯ#g'=HC8dʜ22`[@␈?N9#};MfAz6NϽ #8QRðqHלg=r)ݳp 2M!'TG=J{p>c[~QwϽ&O90Ga~QE#|c#^tB[p瞄?za`}##8^w?fi rN~n~_=ecrKq0~6+n0) cqQGuq)[yvF93ۏ^q֢OR"27^p$>S 3w|Z9+G'pF3¢s8ӥCriO^Ryr[oS9~dQϠD8$v2?9pq1uRSRݎ9 t^sY]^~d{zUZ{l*Vs~mr9%y?҉HڜL9oSbMr;sӮH=I~I*{/!op:A=K:jS+"9zrISイp=;Vep:׭Wn} {tTt4EVǧq?T9m `qO~T`p.:сkRAqc~c൓r26*EP9WpK2)ڻ"e_lބ`Q7l̽ J#{sOjͶYKdyȓlj;Rgz3g\2{xn9ܢ+jm̏#W\nvmym *dy5ߕWmt#(^㦶1|,P0`fi~w)}r[v3q*[ c:1y$E.n!>l ISSe1s:a,Y`dwHQ6Rn-RvtDv.v`E$lnI {sӥ?"7W* e<+g$cK F8;X9hxB ʊvm# NILr'f3cȭO0$`#~3n~~$1?/ag['?0\7 qɥr0@9du 8\VL~ ɷdpg8@zcZweBc~GzcvɨeQʹኂGCPd$ғç:a^#8?Ɠ#@`/8uG$ВzR<ׯ_—`1'P ~߮prHڀק|O(;Nx' dNsNZwAqNqR~鉡GߐA}3Ҕ}=3|cSLVI8B0N0}xשuny\};. 1zi ^3KCp`9'_4I$`gj'`Npx;~=i0y8dCEysjvI1?(F݈9S'#Wx1,lB6p6Uޤ>rTs9qҎ1~tBAˀ|=}{ё8`g.qphN=Ns)I4N`'C``F:L(^Hq߃ܖ<g01y'ЊNWzn('۝Kcz#c:SqRzs=(?O\0co3dg-x?(1ʌaT;4g|ב׽ 9$mӜ rs)֎0~PGKwyVFzzt3ӭ]@~Q8ʏ<Cg s#}) LF8%'8ƓtrYP!q<ZnT`e~Ug$Mu)CcyAGSܕ{1q;cUqr^p:pySҹ`JK9N9>)v&Jɳ/u& I ݐXNz:HpF7q8}6]^Ku>c0]"d8y}t{vFJ 8'Cї5-alP0$t[7 AߒtH'3vNLJ*nrGjp~m;cA*ah],#kϔ=<`V6byʆmX02>9F6\s0E=?*Jlٽ `!q9q]F[rFAQw<oWdcŸ:p8 GP\nr$c3\ږE\Iݍ$9'Ltqg|bj KE+8 ti{\; NzwLJ:fB`W1LkrdNQNβ/-#$=:DaY]yQ=1q^[uzvL;T}R8c}Evi9 s]_xMMftoTxׅ넳 .C #8'5Ɉ^:USx_; c"` |2kp}zVuw{8\+0QOpk ~d ˧9$%2ϩ=T繇WnUT8*r>iv%I`K qzGS7(#8uaSN a @ ʆ =y鎵yv: GVCn8ע0e;mrF~$O+]rTQA95rw)*#篽wyϔ)U|1#c91\4r;r Xdmf 4z87}L 2ndM8dp?>1נO @c ==>Sܧ(3L 7̬FѸ`x>8P9@GAC<  )`S^Aed,QF~\GsƐ-Sacݷ GM&T|Y.Fx~c(c؀N@=arjlT襹=h+{emTd"|NFN< ouAe-30GV ێO 8f#q JAc}nբDp~UuJ>g<1L O q$v\޽znIES*銰#=im9iQ~I>^UR2FzԲiF'ri] ٝ#Ifɹ\rhd8<װhk*UI+ q큀2 vgs G=y5EjxXgc5zv+=O~?:i'y I> 7u8Qy8O;9[=ڀx>npێ=:u#ydQx8zFx סG@#vB@B(Ǔ1ӆ3 ƒzgn c#`9'@ݾ4灃 JF02'LTELwaPGJWǨ*=N1ȤfcxSYwBR@<=qg)F%fvQt0~;8zg$csɝPV '#}`銮'p:3=*͚! ゼүNI >9J }s0svv<ē$qjx@G',sGaގa>ouu)r: ' gC|s$g:qH'# r9@tr;yx0dTq}OCq99A׶3@97=}м p948 G48^ ۾N:zMF}[—p[}s{OPnjxNҘLA?'|6?5%)s~9;l2QKG'i@NHGK?m9J"hN1I%3G|=k- go aKM*uz5Gh<s׿AV$q:zOp4pJdK]Ax<t;nrK2iۡR}1ՏS+_XrCqdn p4,zp%?#?jCdrz1{Ձ =;pA1EpI`{9}ꐘۻI@S?}:Wm&oESçB**ledIUDQF(!*r:uMr y ##i8PkK^Řq-ۭZN>zVʱ '"oO^@Xg 7 癷c 7t-I!r;z 1s~#HqrT1{Zӂ`}G'M-I{UaH8+X*\TK8^8W%fN3 `s;c9jk;~_9=: ɱ W]0- /#-8yۂORg`hvQ/A琈;CYlga&Xl 8{c-ᘎFH =q!dH0܆Ia qҵ` #xKNʶ8$cU5n0OAԀIn`l;.)bx\gk4y`9.UANjT};Ӊ,sT@prFF;z[+}gwL[889jLF1.^)9lHr~ >?!-`N@x)A@`W?ty> q+aX){Uz'^0$% q0{L:HH~޵!=yu‘qӥ@sTdqt5)t2d8O# <ҹh@Ho#c\b{\}xsqXT63PVx:u 003g ݝwGj@ B >wP>pcqА2GlsHrz< ckE=$<0v>F}]@ʽp{M^w@8FHO]msda*ݝmߘc`p0]P49~^CYe&ZYGNqO_ZNq~(۹Tt\E8/*!'zz5!>n$7Q;w 8 ӟrIjj0qy]Ă~9;N^zWLmH r?ZQ?(r1Ͼk-+f8`A9Ϡ ;H\5cŖOyĞH :Ӑg?t=8Q#F1#$&prx d|ǟFW'8pNxQOzNEZH`c'=jpp6BzƤԎ@$sX}A <וY]Ʉ|qNGXszp@ۑX `'ǧ9~3Pu csx480֏>>NQyPIጜڗ'sczgn})k1Q6$'!Zѽb cO M'eMEfvypq !;A wIRd](VYe68$. "evh^Wىp9s)̸]. 'p3<;2npvtkRln|jm_/v;@H;xɒwF\>⺄ P%ʌ8gY켮iEj8ph$r)'1Ӗ@IIx =?ZR^y)T}x8?J؋GdPO_%?*UT׼'P' pFr@<~`ɨ(q*a0č/ocj>٭*yr5ԩH6K&܌k_-aR/4?)ē1;3^V6gE]Q0'9=ϱzkL'p8PGfA9֛py8ⴅɓБeC~b1csVRE8I89#]g9j_VlcHҮ8=:^vAxsڐl4ItBtF{g~O㌎rqs6$c6F8<~8$>nO@,O6 =NI@zg=H}:1 sZOTƷ:ā=sHqFF0Oqڰ"8N1GJAG}?"=# ڡN>_+ZCGJxv#:jzgGg|z)T~ޠ)ݱOa?N9(EcϷߞ{wٲ3=:L 9$cvZjS83g،1~Cܫ8#i>c>לsEݏ_nq8T?)soC%IJpc{t+Yp>f-0z vqֈM\cx$d ?fp 8O?އݣ*If}TU^O-А ;d=Jq*۸f__Ox%6HyG{ uVmNu8'}*ƋRE#:瑒hhN1#ߟi׿lt*y=0} 拠Iu88mYKr'>x; 9瞟L?=x-؂9)y z7@A 8?vs6c$⎿0 r;56Ì){oj8[XAc{m7+yR=FNώktE .%K`3QF{WMiGўc R63L.cSӌ)°Unޛy d;h|\2\翘l`wgpGZ!x-B#2yy "c [SHηF͆آ?W 尌&lw걘x<҅tq u3Jެ5fv1C0<-ѳ]{ZUb6YO #HQ- bvՠzjTo2N}jۓv(0zɷi 6|@~E 3<;chmē 2a+/@?JJBh.X<8m rAO8>*~iˍZX!,XTU@0 ÎE8M|x%f@, ֪O8=HF=cZϹBC)PN29P3ϭL!nmG>!fڪ5;I}, 8ϩJ!-fD$ $)!w 8S2Q`YV$9O\u٣u9yTIl|zzHYvpp0Yv+^0X9G9DXZ0N0:8Kٗ'RTVuF]pXfە.1d;nW;)T8g_?rM2 Jkg,2p Ͼ!H݊Gɔlݐ3GIJk`9y` {3Iv<ll3w˷hrIp*.r[~8⽛Oiy(*8`ǏH/18n1{r+LR9kMڙr$9;S ,7/bIC?|'iKpy@I 8]RTHԭF{Ğ\l0xU74$u *%h ),Jt$89=tTePmv0 )m_L9u\ۧ_Jdef;D*71QYا>f!@ (/QV^P(>Va\/Ssښ oԙ&Eޤ ʟTQ) 0取6fHgt2]+&ؤh$AqfTt;mKU(`Ir,==YRa~mP8\'מ)TbF9;zznjg֜"IN?t=z ,H,"I Xp _x?Aje빎bw끟JZ(,oRwQמqMG60I 26WӿCҐ!>||ҕDni9{nGbʌ"@x0LvsZVr '$x=G ݋P(hdqS*zs_K=-{:L=ND[`AnGa\U\XNgD,[ bx8=+}u˼J:z^ Zg:MtwmRnrU}y{U>FOq1_5|dd*~ӎ\zW Źp;w2i'^qd@9#q: u'z]H߾O8{U3#ߧ"L<`G犝{\vS9Y }9z98ǧ5;z  \qȖ @==zqx;8OLgx㎜uˊbbס:$d 'jbG8nz]<q> tXŽp}=N1j'cww9OU03׃H3{@g5#q{RH NpF,9րvܑwp~Z`S@ޘ`p~R#u;}XN>2o cp9r8ۏJ1$u}}AzmSn~c/h,ʼn60x#Aʥrq(a888y9nO{?0H݌ղ7cv2 K$,hop= w|}”z(,2r16eA NOlN:{Ȋ ܎Ɠo@p[ #'Bcܫ9=5w=:pIکlCp*8FqN0}pNFq^}:å8xۃuž8 3ߓ{ӽ> u'ڡvۜ`y}߉܅ݐ@oyֵ2F6H0d )` 9.ib%Sʦ +0cC+7R/0N59%c*"\/ 88kmuA ߧ4'zv>KNWK}Yz2{y_rh=ϥeVzX51;d|93%)/'kq{e5oah '8ySM0frۆۻmGך5\0S 'O0%%G |۲v> q+#חBڇʬATrRK(p<|d*)F\\}}Lgi>1FxhGQi(nMl=n.p7=iٕ(]9cRO#$?wQc2p3׸=Owkc{=MX*|89],s޽Tx5iZе- Izw6Fۃa?XWWUrwң4m% :>iQ8%~1ד׮|%Z W#I29 0{g#w{Q`ȮShX3^%O  pQF&Aq޸~5me?t.Gbi*eU?c~^:LpU3#ly+Ļ;\㭡xbrw9ҽKap2T.tsHb0~C*sө4sfBczgڠl!yFۓs{SjX9ܔ, z4#`-NHՅ98qH,O${Z\s.08݁O='[2lQ-5)HFrK#Zh.~axӚ] !OL@a_mϧarH q/'}u'wc =i8mrߛ$t($I'K`ߧLzpG@d<{bc@;NP&&p$d*v9 a L(͐Aqs0qU{nIory ަ0xaЮpNJƛ%TpYw)$sT&NW\d@^Hւ@à^3ץ@''?3vsFqip|ٞ=O-x3tx5l{IǦMD`f,8-98>bQpK1ʜq' 9= nԷoes;`q{ ږۘzOd#8jTS>kRCuҡvcDF;1Ӝ{qҽ4SRgIl20IPN9v`p8'ק J+x؊=:"vnU#iRg89ZH̏ A㜨֪V۹MWOp:kҶ;Ivn:eޜH?# 9\=W{/ r'{?g<:SN͜\X_g3sQ}\(8ݥ~-PR \bXWHdвgzy6?Bke23NCcCXBB;X0 9.N<:w@K@pOczqi쎫C}'^[8Q( 8֩BCԯ'nF:zb8rBF R?.Ie~zcָ3H $Jn Lf j~Lxs΅3HCPsqϭr(#nG#z ^r2y#$rZIXiO; -FF[pNyfAy#W c8p}E^@Nx$v>`x9ֈ` X!!8#ߌ֨|F!0rW;[5kqt%hln;9Td;Wi#Xpp;Mьg(YU$v# ̧ _F% sڠN271n89+@em$,*!H"nyX:'9==HcU'E TNْ' >P 3<[˺B `Ae8Sc=^HbyrWj)1EBa-*v_~88܌ z>xV$*]$d1M6 s Ѷ3i[q'=sPZ͔n$6d3s8-ոv}io>r$% U$c(gh㑟Ǟ}kbCݖ ey9Ǧ)ùpp2NrNng֨+X |}H++ic` HRIP'reH6Î34#Cg={T z0a"@mm 2{r@@r ˀ duX=:PoEHb0mq3Ү(˜*PzOc:K_h屓z&p2CV Lw4#f]nFw ph}y͕ q90:=+7sלwO<2xzIp1GSmlsu@qڀcON瓓v9QgzCM÷ӎԣ'0Fv{vǭE=sgG˃ZQpY/r9.{n'$#kN큜 ,*ngBGi#Ms c~kd 3PA1lY9T8#nخz392?ƹѐ0p=}Kty@Nr<?>f'9P9ڠ8#F,9Q뎕L|9ϯ9i3RV.Ďӌg{s+f1=dN:WD(9+ƭEcq 2N79xfǓZt\d zd2=}oCvNYx $@=}zn<x>U?/8B;>pJ<}+lqi]CXwgI3'cXbUrߜSCRHc=9zt:Y?f+T 3ae'l $ Z=38`J!IXjq g[ v%|IOQlH׭ 2Eϣt99n*o򧁂ŁW#d ?Z^<ԚDwu#OOl4~S׏ϩ޹m7]u8vH?;\qPGLyznF,qqQ4}3ǡq3\GJeI{/F}X| cq׭2:9tƋ0pxǷQ: S m ٰn=jZ18G]?i88#NsƋ9Aۜ߿NkSëFtGxd*##֪+ޏi&|v<"UڂHl<;|x;HH;yqR,$ lRݐKW^ Չ43,HԦr sl\ǿC]4MŤqIr5zI0=qRݭF3V=}v8{Fqϩć8ʖ%~b:cҚySӃ 3Ce"N3Ue\zGAϭ*ig}2iq_r6P8?* Iへ`s|m0=)=v'\`M!c*pB>nzcjUP62vQќuۯEj01C:02"p@rq9zbQ})#jjql$ܤ gzUDZ22fdaЈʠo9>sǵf\%R@^$p+D"[IU%j47\遜}( %.FK>끷Ϡmiu3]Gsp}ONEUa8pTg3^yYVȓ aG=I┕ u\d^EESj=YeLO2t#̸EAc9zw#p᰾X{%3d8<޺IH6pCm*r.I]o.WnrG|& V;ykckH*'y4T*0 [}2 *Z݋(Bۓ^o[Ī Fƪ.՗w} ^l_.܂NC>Қ)LovB2N2=Z0_s1]Tafe)\Վ<Ϸ|g5f9G#$۷]Zܸ'#%zgcS^=R:G\?1Sx9N3@p\99'23>΀ӓzzROddQzH@mhgNG H'' cϮ qZ47gpOU6rx}zqa#*9#r3O#zXMhk:=3cOUaۧ^$ldlOj 3mOLw4$v#Եrs$z=z=1E{cޘG89?giw"#ϥBM@%f`Vf,ӷ?tTc1'9ǷֆwЂTxrƉGgא>$u<}MQ(>~N?J99=+)~ÎOs:/~r=< wǵ'$`Ls6y01?^ C3Idg< \㟮N=O^\P1؁stzg<ハLӕNF߮Nsc]KW:̪CwH5>&X|@RA Q^L": ɍcY }c2gtF9b菏Rv@'8'SbD^ cBOADmk3G3@ȥK9{⮛W$]=0:W`-~gWm#ILe [c⻍8G4i1ԉ{ԾN돮eW+avʐIdLmW |E2g`7w9'[hh \m!Bf v+c|l;BnAI$'\!)&$̅YYm@VfPF*;d]HKXz0Fkzbrtˇbr]i 9 sԏ~va}Gyɒ[?!f <9r),ӼjW`ad֋XMJa@x'vO~>x;J%' J} LU0:18翯QӒbp|E }F1S/g7$uVs22=Nխ>繤Vq%0nN>T(QsN@De+#93'7q֢U?.sҴ"^8'a'=fsdd|}*ev6#8Y=rzIK|<ߍgl:aKG ze)B<̷LI$ c9(f5G_gN.2_ Afjl7*o+ӿsʌ-Sqsl6vABI稥-u {__laQIV!v  F玞O0i“>_2$`2ێqV$܈Q ? qEH$ 岐WV̮@H#:V$G$.R~J$F mxu_- Vfnd)8s+9fzᘺ..8Uw, ңJQ@Tm*>b 8~Y&%v.@#OA+VU[bWqt-@>~P`-WYaQ %eq C})#7~g^XMo ^-U۸*g#|7͞x<\=N7&^'ϧL󝽽8DNw{Ǩ?OaVv.$z~4Nqb>^\h.8u?J~=sFrd|tg5l׃1랃WD1ϧG|v: ^k&,w  wRG^` '3p_ I #gVq9tNh3ߠlzz8C}iq?w2~n3;qgN~" w?=釟NL~xys`cҟסo˥ @SRpG4'Rs(sӧ#מ(<=h7|G_j^AПJrz=#'$~ip:Fx8=qR{t DZg4>n۟Θ!@w.}3zs]!2{G^8A=@=q(-A{s3I~xvH[3 iM $hzc`{Sǡ{>_Q1z=緥/gpAϭ?'ҚX'c9=~\'`'zir3 6f%s߫u)0$z?Â@%Xl&`v@GSq@n1=V *{e*N:$qS1f#'Rz| nI B)80{N0{& ӓғ=xs{g=WBg8pp:>sNrA#zSvg8=JqO=Lj7<ܐGaJNs A==pFxGQNB= ?{pIi'38_Gڔr~A810A1?tdϯxq}i}q ž{w|v!4d`Hyӈcu {99<A=w9.@OAF8'Ӏ8_n: 3؞A`x?=qЀq{Ty\1t֠}>A*A cOs zq}I4^q:g4[C} zPcԒv<.٤ʒ;=/x#=3I8 (f >Cuݎ93r`wd6~:!  sy/FlqS 4 ogОsJtϩ?H<'\$eG$c89U"c@9>k09 gi=GZ]F.88$q͌723Cs6y9<0i ی~c3hiӸ8nƫswjpR19rG8NdPNJ!HT|~uaU~)8r*`6yն$Vvvs=x]3dE 1$XsZ0 HV- }:z)C2{%,]Moz˧]z0zȚ󽝙JZAB±A+ޙ˖ 7˒u8\mnh+mH $#׌7xl 'ppzSRPlG 5tKNv`n)\J>nRCool IDI=(%3nw-\\>MDI; %H>9˧@ n9gp:҉Hۑ8(@N>o #cN2N rGcIȮR8eXtss#+N (=z>jD=:u` "=yힵOVy3^+^+SPޛAb2k9^{׌s!NA>Z'Rs*t[}NP7B2ܱ\7p:2Esr\.v dq>>RV2or26Ĩ!|˜!zR}lȏA?:ׅSICGB(i@T1n<忕lQHaApHׯ5: X9C1'ִp[NX`\;<^:Wsc(ڠaK.~Vs}}g{~% ;[#*v"e=B~`yO-3m!v ru?Lyc4n`N.ބA^^es=;mӜ2@1c>KGayz|ܟO3l LppG'H9۷7?2rA9ҢƾbNBx- ?# [31zQ@,11V$7\VTا T"cbuf,N3JBdK\  #f<=~vx?)'xҝEvTp@ ΪvdtzS5*$ |鴒X9('$ZrJ؜EHڤq1Wٳ!'aI'*ֈR&B99sR_Oe ,GyB]}`'^{O|g71銡F R]8$@Z GN:HeF36FTukLN*LY~=ҡK }WPxb#i jF0w>LSwd@G^k7#EJGwGDμ8RGBsv6 ,17r}~39'>4Fx< J<Ns]=;GPpFynWPy<(9\aFH!͎ď|R~$@ ۞@}=Aup>Ӱnz:ҤOuK\~sCqOPZǯ|g$8OZ_/с=qH~V@El1`OrfNpOAޡSܪo!Hf;AyQnxp~'yXRMިN dg 8uMvݜmm9gJN9Tf4seJ[rN:ZQ=ہp,O?z!k]]I!yH`wd W2hr1$s߱a>[&v3+m}zס|cg`kѕ;-%zgk6FJ q+Ed瓒85UY6Ȩ>oOP8@=}~4l9S*ak3B3xzwfx!yҺ髜ױɤzFéb ?SꦦaA㑞1GM4ւU_ +4 -}p=p:W2K$`F7n'ku{F[k} duA?p%}Һ+=Y;(?0`0q8=*OQՕwV:w%F*3[ *sӎ+A:ݸ ~yi*#wErEu0P i>s8C5R@B<`r2:s5' }9aöiKEvt9\O2tmQUH ϯOҦGsSkmyVgg29\4>0{;WD5N"hؖ:!si#Nr7d<zto 0yۃO\uҴ' P[1WeiNA!N@SO¯F<㪃:"ÈIrs^VpT} ,,A U-çPV<ﻀyxoIEdmoP=zSHS˜9c>g#0w˸فԃkZLتUv#q޶H)7ni y=j 5 kZG>cfJNgPϓp* isT3g9T>Ui+THMbC#TˌdH'={-Vr3G0Ir#Oݟ!O<Tн?.X>fPedE[ar,CnlNOb=qֳ{9IU;wCvڇ㹦@(˓<`G=c̻{6 Xg9ꍌe{Y:] `]3 +Y<.B n rHκIHA^w)Q1n?Zq3\UN[aR02H<ǾjTH$d=Rkqm۾&]rB〹犲7 Vbi8͖QWHs+W JI"}6I%% x栾ԾFL2O+&sW6apU6N;wl=9-:DssvsJDuzzzFFz#ր{׵GקaP`ggzԠsO?.GrNg9?ү*Fs=g%8 9G=?i&)&e$g99$*1pzb'80 cO5vn1;z|zT灷&2ws.jΔ69V65dpF>V[i;~?.{"Ztw~ُr޼%99x8 Y#xyn7ā۠ڜ Gv…p3`OG9 t9q}[h6z9xc)`g+b9 dpp9׵+]<V1F.NV^H"avI2:ZrHŒ1~G5N̠z?B31 #dr^Us{p߸c I?ݡ[hamw܅sŔ`\wM3.@#8nֹC"!lkqVx3u#Q*N01}3^N GldV G8:{TI #:ty۞zKzʖGO7h ?0ˁL.z =" :s]""`ci֡n?^⁉w1qA~9i V`]Ž`cʌ뎙?J[Yˏď2`ٲ~)k,(d8'\&DYUd ѩ媩!g+2W^}}OIEIEM<D=]b8'85F\F$*<^z]_k5 'J O13:Ŀ ~\񝻎3ө?heA"A3W<:iS#5C-ac<1}:I>R8'$rzqOZ]~baO\99z}(9==b _֍78t~ZFُ0 zN}kXȮ= Qq >2,F X`gJP@\r aď^xtFzf`'md;#'۩r7&! qȔۗwdϵDM$5,A^w ~ۦ{[K}Xλr{vS=)A93Z߫KPAu;p>S]3֨5㙏`cqa#h#きbI~5cpRsߧϿl?\A?3}NZ{O4OnĂx>\g=}*P1xq؏Z4wn`.'rٛ]l}^ szxkVz+p29>c4r09,{tX8ANM?5r> c99ҫ$s#GN+P6S"1r8c#$\apW '2+9< &HOb"kn;#R`ėf ini27kǨ\Gm"4sY@f0c#֢)rJfQ(Yhf1$cZwCğ,j.KxM!Ss^%"&%/GlA%z/(ZGdCqw. 7sZsiɖ[n'Aqb6u~ln8])-$ Ӑx5m$Ԏr8/rX 61~ ]1'n7@S.e~y A7*}6nRsֻ({(Y|څ`@'}s22"*pOF7sgIHb^>]Hצ:E FGr.F8f;u8aHb/ j йf‚6dI722}S 7 l38 [}AƝUWyQB){{gJV@#pӏsUe@ s`L]dc-R-""eALNFw2 Tc[k`[`Frp6I8 \--#F 6-6usA2ʐվb;TܟhmB<>~w; 8Ax03@3`{t0qI2_M'8;9Ҁ=sΓ0G\~'@ ߸=;'|rN:~Tg=pyǧ s''⎛G^-1Za~G:dgg1?s;{cC~뜮3ǿi ?qBBd錌CQz׊~bh8L֋-s`3I =s3$z@u#^)!OC>1uǽ s'pOEyo ;y$/t ?\ xqړ?1zNy8ΩDsc֛O8P3g{U&&䎃88zxݷvq>H l}Idc!aM9xc=Hl:#zg=38 zqϭgc!S9=}/;p# N€0x<#gMOR7}< ހp^3qHz'88>P>GA'?8  ۟DZ@$0qgg9,fnzdws,h%T@93GhN99~nJqץLwӁ?8 `w'{qR`xzȠ9p1T4BHd?x#MX`Ƿ`y>S)'pKTZInr[ S qJOCdkArH"ܼ1%2NzW3Z˶ջRO̓ <>YHݏǎ o4 74"e-~v1O,? ҮD 6r[1Nĕm#F Azxb.pT o_u, :w=*oyI+Ez' AWW qp0 cPy=Oj0r &njoG&/?Zi^݇vuG1' {}zT`'#Gl͊=x?a&G3T3(sbb4Ӓ$yN)lRX-\$t"ճ+_$2/vd^v$*FAp-lׯIyuV4yFe9$Zϼ| "qH׷{XjM6 B9ېsgd\ @s68Wdgy<%|wf8vcJS99\<9yhQr@`͞z`~ wS*T2gxrH!p7'z)/Y$&08֒u(Yx+Jg+nONjCpܰj3zWw̛=:1kg_ \Ð!?œX׮3\,QJJ7mjw/x~#ܢ[NOOe!䞼N*vR0ѣn$=x3mÑt0@\1`Һi|I8ꚰ,T6Hܯ ~Rv6axU!~a灞׷'usǮّrUF0I<xN,CCFdl1מǯ]K!6I Ep7,NXr8Unn|k&?#p8A-s\vHplv }%-͐Frs֟X@<9].tCߕaՂʰ#֢F*[Bl@A܀rz2Tx`Ff1AW. ܅?OUnR7c99 ߌ;m,~cסHEN7nqv3?xc>` $ pv׶0(Cj66`; 'ՏoVA8@`:sqw!-H|Îֳ@9ߩCdcch2q sQ09In=n6N8BeA9'&&F0ʾĈs *ygM$* #6W eT,UN& = 82S3jt9 =Ay8'8=HzgxϨ~<\vaԀJ0@7osߦ:uh[qqzJq/ʀ>QH p܎v>dv?dczu8x}FQT"A:UOlzJwcln8{$KalOz;AoȂ8%@x#;8QU;{i&'1~Ҟ}Ho+sߨbn?o16GQk)\ =`88+'zq @I\t'y8N1cW/ur9 >ⱘ*}qN0 r9HV烁yۊ֍ozI8pscp 篥eQ|lۀ}y]z#ͫ2U#;~+u9<ޑ8p u zck3r܋n@88HލGipskVش"@z$̨̬pzJQvӹX0<]jQrH6 dgZE?Ukjђ0ˑ^Z]A by;=}dr9Y4e܆O ~"$Yr~'zڢIN..1)2Zk7vJ.G s޹ʹS gW=Q:ʤ#FtLAB^ܚ4XebK@\{qu: >gJa/T3Z,q9 prr?JSg ]}}>{s1򟛓ϡޱ>Rrp#$A_r>#_L]Ain\nܘ~E+ī.X.@ h/9 󹔀 ?8$8ڹ[w.ڲIl`>s8chU'y-Δ(]˴ONz8$XL8K[=oBO?^*⑍avႱ,~n}Hp8fwn #ƪ01>$r|U0ɹ1RFO]v棙B@ ?;XޯMy8< #9'$ I(8ȨվcBNʀOv_a\iG"MvBcaG_Mo:T6CTjY,ʑϹF6ZL8r1['fc9ԤXQPX%=!P7\۵ ܌{T{Qʂ1۞a_s8FD7d8㚠y>੸c8HlD5.mmJ ĝ[ӡ 犱gNһH;I?8b{h{;$;{hP;JÛ [~z3r@z˪59Kwd*`r[ HaA$23]Q=qA$nP<~=*uwsd?1u@G~\I<`#+Znz_#TzvֺhnD9m8\8=ۥe&ih!$OaW,2p08$rǿZn\m$s>9y7glmNs@m$@m0zsR '$铞?sI\u23؂GL/Oo°soc$sCdt9qQrضu g#08z{ucIW~#f\\q?U}- W p0z8No9Ҵf`^x.HN?Ϸ=G~h-FsFx${tZӌ :snGcHq!^wZю8z15Q.)tz36T㜨N:;SrSN}^p0 wRL Ϟ7TUe_?㠮Ca{,_,+-uH )+ⴳ=qwc%p7(`n>=NߔҒ/9APA u<ݞ@qz^yLR*r0G"cR*#"P2Od:qI܎yϡz1X!%O@)dV>vJu3K eT¨<jNq!u;Cp7ミ^=qҷ 2s[$c3DAVe"9$v:0qVd#R!^v1NN1v}q<6b7O] fuLj38 #HE{tpOU,J]M4Pv+60˞xLVahI =O2? UtB*6Bn GZ-b0[NG=8?jvgd+5t,cAO${ pxO gb0aktu:QHK]F9@Og}9Cq?SX=Kr`rI>J # #黾=j.7_clў28=sO~ǹ=FsI3qr' OLRx#9 H㑁#v󊭼 'OCH gT2}/R+}s#ԞǎqprNV9<1jL9 B..I ҂堠pz׊H ;s޹koLa8cxF9(g`$WZ%u(nq3Hb?/fRRN'jcDч˻F{秾*\ R+sל8=/ t4SmA\u$prz~"Fy~*]?"}Ќ1<`MH$B:c1' .O'~3{Rr#RuǯޛHUx dc߭O!Jec2AR=3Q4m=S>*lhV(I~:_ɪ9#Obk&S!h$`>zqҫ'=5^A):t֬yw5R!py=~=3XGq8~Ս`9{p@{˥r'uvΘnb̹Ty8GV+;dӖǫGdVl 0NqSJ^X c{Vg@OcEaGPǜs>ZQ [J"on#b1<dR9%q~5]z`zIk5Ev$:Ko Sa<{gx8<zt:w;vȠc1a={`s<&B>=JtR2:g$?_CLܷɌy`IE֚YA\|ߵ}WK_OsSRpy*}#a,ANy^iK9I(prۏ# %$0̌˦p̑Sf>ePv: un@%ii41VuWBwng=@vےsh=8#8?Z;!7أ]GxЎrCI Up=6Զ;YbP`hnqm 28Gm#5x?kbUXB**`honLڻ^%􏧋qp-m24Ý1\Ze6vpX@TdVf5Ɵh$XZI-!DW`bD<^uGeep$t$ ڛДO>[jn2:rsk5G^9BlFAvdx$ntqӎ8Pry /AL1 c \DlN:K?~sqyT7n劇㯠;W_bNwm8@e#ZeQ g$GN?VۗWbjb\(<> )yu,yHɐ;JJQ X w⤵h|vg)~vf#nf(Hw<ު>@!X NyuK7!y'ڙenm,\1ǖNKzq㢹GnQRDž@x;7tB8cXn՚j׺rx;IOAHIx둓15yo' ی@ rzsc*p\%s?{ƥ:icJ pIsZ@Q_q?:n] ۸RLޥd2|zw8fbOf'HنT v'i lԷE"=ުdAzd`zVŌbR1?*u8杬ɿMkC'cD>Ǵdz'pD} V]C?UΡ(h#F˪w{_\ }}Pyy>tؖP}x GK;z"~G^9?\wⴉ,~8Luӏ:{VN9*\{;gUtxpzRw케OP= 3`*9}}y~1 9?ZQzc'א2s⃃'\HbQ@cRczgۓT ^uhi'=ڐwN#$gK7r1Cz^'>Ԙ׮N?,=:㜜O>~ԇ~r=} oNy>:<R1>wqП֓n>lq$N#}(Q?<Ǩ?; c#!4}GoΝzt<֠ߩIH=p{4 LtosGL$szsG#|^:cw؎p912@'x:<A l'n-?3A!OQyc۷J\{=}^uR99|`A>Tp8g!ĐFNQ9@16acx 0:~ I9,{Hyr;S'GS;v0$pppu<q=%Fɠ|H?2; a ]Fr2yv&$`<=E1J#s\ g' ugd0>c`cҘ_ 2 o_€pqנ)s?.r=)zgG1,PF\o9^I6cճrǟ-x84~czzNp8p3ԎG*>aצ #=J0x9*w%w=iŁH ;+=|朗JG m~،-qLæpN8UcCg\b:`WZb71*Q=qNY5{9'~"tCÓt;G2r1Uǩ?FZ} m\|!<`IRI8@ CZІ;۸7w|)`PJ{ DKz\ 쓜u;IVrGv ˟~ &aeP8^XvL`ZO2Ct^8{ OrdwOJE+:}:H ᱇ܪH\xNqU$(p۟WzkIg}Ϻ +HϘKЁ)|9z:b`e.zd9!ENJY8b Ѥ a<ܝ q׽H3d<i%@7w/T9H5h8\a9^:ְּ; z=3N9leG?P:F:sp 07rI#9ybŹ s h4Sdži#`];H>ɑr Y0FqW_gEО$bFvgnA!FJV`caN wnMiF<.ܳckM7@@V$c8%{z:BpvU1~vqu]џ3,v)Tb_pq_AK<b W:qYmÀ^}s߃EnRF*Lvm ߼񷌌՗lR$ Is&OVsre n){V@ dm,9w=ϨBcsҘFPsi{s@1J/8$9'f7u|p8?&ц>c=kL?lP0`qלsM %ʕE WEnN  *w;{&X;NT/ҽMfC\1=p@'޽ &u>𴡞5#eF#v,p,x]991J9`B}R#yRv:kȾ2S`=OJi?N=AOLv)0o+$.p#<+@0T1p=xRH@H /\0h:4OF$=( tqS8v'['t{JRC[בgZǜ9eێh}+))r8H[<8^y>֪ĶJU~NF 8h%N6*p>bG0}ܶ wj2 :cwN= S*Ʌ98ק"gG^}9ROzQ- 3+S9-9p:my|͐9 ?ҊtGd5v=L'D=%`q+٧IkmNYZDD.y wv8&?0 ctwpX|:z%ubi3-5Rث`-1=z=|Yws~xQ]yZ'|##j[9X7m$粨$c5@}Abpr>a^=ZviT=#Oԃ([ ' {k|N0 9NRNWiʟۑ9$u;\ $}+_(n2y) ךL6L6!Om6}sWwd2/$.:yԔ:[`9Fќ(|rNay 1ma]ǵK/w/%8#sV9H# מj Ek.a$7zcް=~͕B)9re$H9O<~\صm)J,6?*rA*GF8#cMf]|0=F=^סNq8^Qn-39ʜ@Pvے9RҙtPXېs)+,N uǰ8svR[C}@uL'$W>.G'9C{QʞRpq.FN[ ><;y8:?[%Iwr}S =' 9Jw$xs"oFr\sْ,OE {GւHc3zH~s8$z:wQqk>{GxrNGn}r _g)j4؟Rp㯠ީ9,I'#ڹH"=r ?GGQZf>ASz3e 'b9 #?4sd9C?tc'β )ۂ s`}cWch7 '$gn2t23Ƿ?V#.Ǘ.r231#=לxK;sN89_LҾ/Vε{+\˒Vf93$p~*=''5PcɩYQe!rrĎyfnN*QjSJv9+UZkF $;s־-{@;c{*VꏗϚGzcLF!x {cwM 0^'yjJ۷Rn;u}.sZR oktne\A?ʶR5fbqi'#q11\UΟ9䁌`wZ덤bc䁞~5:ٌUy geOmJմ l(2\?,`s_9׻%f>k$i4wz(?1 8k6#xU)8zt)C9[.CH?'zp++3F1InlTey'?[VhH1tzScCҺӺ1Hc?*ѱl=+F622=_˚{D(P[si c䜬,t g=E`{O;xq\s:c/Aj3ٲ30 hCq_aXRNsԎ;}i-F{zԋװלcsf4Ac=>yۊэnrH޸ yN\ %W1c{}jo4=uY6`3XR\uT; c> 0GG#֓xF9;SX3=O!v4; '<0O?AG39'qECZLӌ^)SЃr8{Eb2y?^>j=zR0:}ڥW'8Aܽj.>hs ?6?h? MǮitew+vaUX}IoP)|EJep0:8x{楯=zs_E$7+*)My98$ZRB# Vi%19=pIR&YGl R92F}y=\ >cϯҵ9D`vr cZn3S6vJRW R6@qH y#;Ay4p 2@+tLtZڝq^M',1}ONELs¹Ul}ZN(+l±>ZDi|p^P>S`gLRƩ!U%~owF, ?> )'^rBʻ?{IxbP!׃vO_N`.A?):~ ~b;Z=:bu_t=( wsm#Ա=ȐavLr8 ({냳;ٞIp{l#3߶8搙' Ҥ2;$1߁րрsstA-8|@ʊ;`'.;A9RM j`2wdߞ*ޙi%-ǖHbi83M^&;owWs73*t6qP%BrⲢowKZuсՉ` ǩҾc`DV1GWoR;מߴDR\2}Wq'?9+£c"rr0X|dèF+K?)Tnr&>L}xWxjC:pOsC5֢w9o{5$F d61ϥy͔@8>Uƚ0$&Bs9j62bF 5\"v6:''tRmAnCqW2B19'nb)GF|ڧtv:nUa $d?WKwnsW84軤zʹC~lZk/Pn>r}=I ҶNF 8=⎽ luDN ^  pNqka~p~Bz1#RXg[Nϔ}jn8?oR2x*r;" c99tDǰx{ǧ m%j3ϡ┶f$d!Gog9 瑴DGcOjU8 IMI3"b bRus 5|?Ij mo,;?X/Msj;WHIrNTn="+p`0̑+T$^=+}W͗z.pOJp]G'm<ʂO,&ӹUȥ=1ǥ]{H( 6n .O`riI;7QjWg>-?%-ʕ s\ Jry^7'afcv{tit7bLL ,w4a@ Fϥrw<1Č\fuV%cί,9(pGlEe|Tcg22Fn\tU$Lc߾Pt[ ہG q:pR$.8n@>@'|ݑr(7q+ݗ I+nf>}TH8#ڳSJ{$p2X s@r*b}!ا#s1My*K;Ae ]7dة mq|$-$69IY[FPmZk3GF thC>U}:K[q;6rvGwZh݀~vПJwi;0%f,u ;:g[*޼;wBIm 7LA E~VgPsrUOC5+silsE<>>.A^pI8~Cx}2Q ~`Gaf`,rNI$sϧS"2lXzSdP[$gL+#lYRӇp0s֬OmvN"3Q [ A''$=1ާX`6na,ϧYs߀>$`~k32s,Iҙ $'Jk]}gE:\Ln5A-CysҸ!|1T! zS]_%v/+\c>n3O|n!rd@#Tb¶2Q;T+{T`!I8  p}}1l(i8}܎x8$E9B'4l|^8P2g,xNqG^#`rj.;rOP>Qv9kD%p <c'9֓<װ$}jOp<z~៧RGH.;y z5!'=@8ǩy"Q;sN;`qKŎک sNG8OƁ0x8럯j9=0xzSAx:d*$c # Lp 8z qM ^njcnb|9v;R0q3ۜ1ߦNJ(`H=zSqߧNq(ӧ:=J@!Đp)g:S`p}?bzccڛۗPI1J:cۻ\ wc9 Ab<: QHW :1Bc .OpBӯ#۽HߜS$n7:12GqiSN9#~\1m;dtPqy皥 %q.r Rt^ |`p(+ y$|݌pSAG1Ǩ=N23H 6'r XzQ@tIrG橀1v>ӱ O$#9}1QV˴xy =cYq 0s 8X9 Gwt2:[rՁh݃pbKx;T\W-9aҀ/# c>Ԋ89fݭx3&*svxW /}v%e(9,9rt8WPK#ҙ|v>JTܔFrF$9L@O>_29XJ~Pmec۳T\qH@r:{R]A$@@;@f'ڭ#?H89<PfZB%W2xHvZ&Ts;<)9JeS ;#?wokA4q\|C&8zunǑ4L+.WH?*u8y( t@^7{ ]{rseb/bXq#lבk21S .|1HnNk6#hQ ù #3qW<(f`dq4nʤ&3g MF:׿56b'\K|Aڮr䑟g/dO=<w$s`qQ:H(h\2PnI01I$˒U^SЧ?+t[R$=p3Ү;'[ ҹ 2 qUͼd{bP0n`IS`gK'@7Hy U3Rĸxqȣ0v{rh"e'qa =Nv `d$dCa]lXpN3u-FwFs2がWCl'1a9ǥHX x\ݴOҽNqŒ@Q2Aهz+{ܗLpL:r+bAF'׃Q NRJ-#'z['t8ϧּ¬.삣t׏_|faxolFO#q֋T񁝼c-hq8\2rr;#'we܁O~P AaW=? WnldeimܐHבEvI?xxx4ûynp}2@e$B{t9#{*rsA=qYb#dq^LqܟZś2H`=s;){= 8R 8?~R;.Ldc4 n6=>Q=$g9OErMH23צpOASqrF07w`G͒GRs׷֗on wz $Pxag$?h u=XLERD76;ɩ6}=r]Wpzצ1vrTNJrOR~AN{|TWW9'y~|Ӱo9~J9@$矮97sǠ'ۆ yy;PKb8C9S5]7`wz7 NL{wBh϶reV3ة=:`zr@kfgcgc8wȯWI6;Su},/HVzjǰ{^ڧxw4SNiG˂;\6b!g%FBOkwqg8.T^G^I|H8 Dg$Nr0wl8(M~zA- 8~QUd B 9=#':f#.[G9RX1H+u {| 1 ]eZ:H׾A|Z;@#hN;d5\*`Ǧk#7dU hLJaw?tAS7n$s^Oj֛Rڦ푂qӟ\׫X"/;dN@9+PQꠟ!Fq#ڴJ$'ck1s]X>#.NѸ_6xJE2H#|sSoxwB^gWxTFÓI>9֫Dr#?xiy5NxEDfERw+z g+|-&vu'SJVh-7T\(Hf)rj+vޣq9=;s8]3է/uہxs+L7ac=zzWX4]&pȅ 2|d'^Z@ni 6lq9#HR-Cye +A'#L֬Y0'=꧹=Dnڸ{T01yåH E #jdR3<06QlH%226 ♵88sw;WTNynV*7Nw?3PsajHw2m-Iج|pY ;O n9,*6Y  3{tH8:sb\68^33Sg Wv!AGX }@r~aMe|# HϙH,#ʎy9!\!o_î*J/L$xw>$Jޝ~km۹ ~p7q;RƋH8P8UAЁߐ1M?/Fy!PjK3n8s>a1|VKmPT1C|BF=}8k\܊8p~uU-;ٰuۍq•'CBu;wer:5[97\} #8:Qz3ssAӠ r:p2 #gj?/'gLӏ\ՠ t8 ISG.FK3j%yەH<jID`KpT3#67/ %gv>kҴӵ9q\X`'*zlϥ%(ܘUbd89%c{vasyߏgq9+ 2}i;QsRN*F{ 2pC!=wgps;C`NWO${=~tF{ʽ9a׀x$G]@rs~*iciƦ^^=S=qt}j+9{uA"@,O|T{JȻ - ߀OڣgzYCHΫ8"-{MW,h<OG=r3OVWI<@xnq?l,Tw^Ib \FiXS$l9##NN+#u}BQM^\,XupiΪ{dz;E 9=F::WRF|4mvLt%Pr' Rj:cہ3zpGRjXsvўE^OP ?8x'CR2 8=v< u"伏_/H);J+O1-1׌vy5VԒr9#&ISba\|@WJl"xbs1^MXԽ:'CnQW*b2vqX'X#$"ўxqTuS-  dMǡקv錊:!@9Es'sqY y?UWW|)2k+FGnGC~5\{Gj[&BH$֕x tR}}{qBܫܰ;g0HGRqjK6sul^*cI?jQ#3w=݆' 9-^88#>ޙ۹ў21VFܟLu㯯OR {uegc9 9 8\@ɮ*M'x=N=2SH0:=#\gTQg C<#.RH8e8gwJ?|.H.%56vY^f6K(\Q]UOߡEf0ɤ@UfP|pO漦{WpF=Ն݌k+;4f>QHUN $G|YHInâϧi;vq0ޮ1ЎG$9wwҶ6U gx{Ee5+b3B Ҙn XQwk#b5ig#$z=};eIϙpCJWB$h*dp,918>٨e\]J/mH7gnpwdtW6rDpyDxc=8i"l %r2ݸc"17ܑ`ceqVNUI->ubHrv+3;EMRw ʞB}SP2nIFF8sӃjZ} BHnc6`ui[{>7mL" ae#gr@SS+$GM')аIfs#G En2-2s+}DDBq$Y暃bOW幘 ¼ x?/2+U! X3m K϶{{!\GucyeJF}{Tv<)bi$\ⴅ=O9H&2Ƽ2q@<,l<#i UHԎ]Womc}ݥڣLy!d$$c#rG<抟 h,%Ү5A[%W&H7vHul|*d~fG #4έV&Ѽ/~KF{7G(qNrS5+B+2I V׎j78<;[;C_}Qld[䩈W'$:q'`.VRUpGp{U{.x}Y«roKMB,Mj67ᛮ>M[`dz(\VT_m?}3Њ|Qp8 '8?itqW~Z*8@_ʸ˗NT31;W=첿ѳ 2 i!N@ 5vM  [#<ׅQn}6=Gײ@21'WXދL8^O'y9=r=3\ԶtӜrAg/rGC s{sg#ߥH9`scp6F;{tdOR2sW1b$`p9GPr>~ҍ6uy_JO(|돕( Ӆ^N~c#OZoH<Ǿ2+hq'4PpqЎy4X.ƴd c8r3Ht'o2OΕMqP?~SG?q)HSA%psǯNUf򑌮||'DʬdꛨT g{grjtAN #\$}j/,q?k6OR)NxTd{==k3y,r> ggn<r;V-jhNO=O±g,ְ=Nf vy^u#r?ϵM{BOpy߭b-# AU#֥GGO9翯ێ3>?< rBSTàv0Icӿ5L,Fx c?>*w@1N|bs1 ? $on!`tBOSRrlq=&r=jX+9?C?t9Wm]xeZt\c5eE烘Y#-Ge*ĤX-GӁfKkxY #x_y_q)E<]7N+k}sir6R t~fG5258 z^>VpIsV5ixcăGվmgnj,rʶU r{UOLd9q@.<juLqWX3nqלcf r%.v@ϯ^㥁Vc*A yPrNy6?mf۽#-/3U]@4ኰ%m[#^08"-54"1~qYJHN[R<b0796q{qگj*LB- -';#q=֔"6;|~b'gjeRzמf?dA)~ʍw>Cֹ'8#9NRV=9#=(A,y[ @WRPۍB6GJVonp ry8$ӥ4bq/1qEjuAV#(e$bs SԶ:Q"ṡ'gPcrLc $wZ|Bd99f}1zi-LYecoU`f!~"am{;"42<$"JFeVXƴ2g2Jdne's,lp1IdY3V5+#t,={(mXX}9.18XxYw 4dl}N:st:l( Q0Gy^6CD8nvPHK3HELL=Hب:s#SRT6[n\~\uswDw4Tܒ2xs.x9T#QLº:qhFۍJ-ʁrR HrO ˁsrr9#Vc6  c,6oBvb8 |rq۟\TTJ{Rԉ#J&Pnlg}=+b_.pfՓ13 qIu_O9U`*r8kptj[c 1뚹R~,@.Gnwɦ2NH ``NN=9Lє' "w{uUTlC:3@T$ZiܻC硭K=F7s1T#5WI ]JTMy-g8Vž;R Ԓ7Q߃;EB)]<RvCH?Z[Ao Yg72]$A^l{{'CWTsWK?Y_svvv_C܌Jq$+@)#v83 qۃN̸rYU$OK=$F{ p"2'=ilR!)8VYU+=H#'3}H[jT¡I+p U#/Xn3a[Y=ʵg;˒%svfI89>OSҝ**2`0$vޕ8 InI)A)F 89_/RY["|(fbf0=xj.3xf:tn_+V$kd9̱;O7־}B)VIoY݀29:?&}"$DA. Inڽ2KU{U&E ܰ31n $ qDU1o:䵚Sm,kwhPyQO%m^!Fq c^>h5=|feG$Ǡ>{T,=88:3^*Gr&NO$v1Tl8`Go_j `㜂Iێ:dOa֪##=T ?}Az㞴8'}*=@=s;}:Η=‚:PGB1\c''qB\VwSLZ0%{3?TON:qt0#<:~Y:( s98 >П֟@Cǰ_7:Ljn=pd#9B`|9;qu 7!$duN}`oO?Rr}) wP:s܀x; 8p3xE4МH@'ry#s{}O~=`<:qM3x=q`?a~>pOAg@<=13Қ[8ހ$qOA~=œ~`׃GQ`S5 =A{(G#j2xv3y84cwsyazuNQq@Ayc8 1(r{!~<ӟ/RFNFOO'<"Np뻩98ߓQ[1#M4 X-;IȪSlrQN9ɭ=3TbVGB>fa uq߶x/jMN3sU,ӿ5$bq2SF9r`پjJ ]rs\| {7D<(`8\ ssǁR1;+mU|>r~7lRksz oO^a][0$q)J皖Rzu8ڦ@3g(3r:ub).s1#n>Q=;#$Onz@Ai *Ggܣ=Jp~o28zgܳOu>ҚHxC o(> 1ǧ$6ONr1qyg9c<0s襺rYGI1qnpAq3rH}y?9rxw\eH^x=7 J{`n;}@C@ory'&p09zPx<grXn1AL.# 7 qϰ= dp;ⅰ@_QT]cNF&H\힞Sym&HQ_K`KOJER0T)#s0އ q'vK qz`~U8d+~n9 #Ap1VRUNrF?.94aAT>UP?#%RMݲ5 H,:qO?#* 6{U\F1ݐ2>fHbAȻNpp3Y7i,{ i RtG=LQ69<gמk^1=SNbJ2 <5yn<8\ީ=Ly_XHr+g%xӾjqpc%H9#9֓zBs:y 0P<ǒN3LuHʖ \c9f$(O=E%d C! n>X@xTu#^a$3 ngFRsy'Wo>5ߜ q(=6P1P ;Bp½-Q/ԗd\3(Led2.xt9 .v;O-A҃1kXW r$]w2Gy8l\B0@rA-Fn?6p ŗ$͑k9I wqr[I~DucNO=9O*`6VU?#ہ?ɖ@&|Əwʄ)k|4~ee jiM>e@eC#x;5)|oSJ Q)xf°ۈC}J @$ rҕZe}w +I$(߭T%ʔ`{pA>C}J"rŀ#y]*\܁_-9*[}I8\~\U4!rTŶO(* ^dnHΆHaJ 7dCwq@o8|yV#Xɚc?t2kN0;c(zrAs:Qy =ggxϸZЙqFP]n';qP<3o`k>X8:ֶTB8a6nT3VA `h [Gjۡa=95ɏ,i~.3 <7NA$z\ѿc8o^=nCH !pGc ♙靫a`1JFxJ!GA#$㑞5PpKë)rЁ4OAقd15u7q`=B\!q>lc {)̫ Ld,NNr"J2[A|(m z @s*PG9XU3Bqh8'fX2zM. 2nCH@Ӟ=+9$pxR;Db;"1~SNsmfN;zB&=IuSӡ$gσI>q\g+<981 r8}%s?ZݵTbvz0nWoc3I#h{Wo *{涄s=Ӳ\[HDaA,Fsc#u@`͒1 ψ];U7'9'gS}>`}?渹 dcN8Os -}xҋ(sF8w'uR7~<㯿jbxy;Ҹ%$܌cs9q3vi"ʫcdc>R 1w#Ԍ}h#~,sCؤWǨ+LN2nA)d{y9# qӃMظ-`pAg 9q}=< wϠ>P/#9\6zǧ^/8.?=9۾>l`zzrx9^0vӚO, 2I)+yJ Ns<&8#$gHWPX.>e'?Γkc9fa2Fy֮BeBފ{Fzzs@/98 {դf.۷;[n1AOarSQ2W_=cڹ|TU/1TyUrO gk 'v'v85XZ*1xؚ7vVv$8œ^>ݫǁy99^+jMĞc$<6э;WkP9ܖ#==z沒кԦ]FG,YT;t<\{MV!p1FssX-/wnwÕ`lCw%Ö휟ZQqW.Ħw`9!?1As޵8T*1L]Q  Ax랾MӢ%2G$_TUXzY#򝊀 Q NkfpW vxbai߹}[.p\:g}6nzNkq=SuF;Yv(` PSz^ ,X=qSQk;@ n# } uv `[ɻsg 3(S>^]uk7ˏEpVg U6$QH3 ec #߹aGHu=F Q q?HxG8^F9=htؐ㐼Fzp0j7׳F!`.=%dd7L@<`Is@7Gk,WHsϑT99Ov#JԀcpY~}O~sT~^y9;{szneɞ8.N;Tz܂O# y oe8uH$ kAl`|N}sO'r2s('sN9=p9'r}ہ2Cs0xJgy&? ue6'ul-+&S#9^NV3H n*YKqѱW>8^yp?;ByuYљ4D)$p \`=;9bxU$7'iQ&D\Px$G{گ;v9ϸMH7H=8LM!c^RFH`0 1I+beFVY_\1H9[i8]>P 0Y~SzbeaW\:KI ?$E]R"ʹoRTIrJ N2}D-ߩ YSn8!OlqsR0^라%.<`u$dJRPzdd}q=3hB@9zQ q)./\z tSve}O 5WE\3z1}w?>ԴHX{vzkY'^xʫpx e"*1rs?sjn8۞ڀx y8 21o?)VqM''1My9f4w' 1ϯ4L3Ԫ<KHN@1y9>9?uMKP"#[>8?5c߂>?f'm?H. g#8 2zqC>O s`6@ HqGqs' j S%qrA?Sӄ9$c =O\n1zU}9@cb0.`NFF}~_sƟ~uXc`A$\'C;78uP-H;[?FtPkދ<F76dG&#Uè9UøvF3ל .epG.Ӄmm#N3v`N.HKX(^8M7g~VJy©? zw㎔09NC(^xC#CrJ`?)@R?ۀr@RHq#yO0gIqۊj&"%! I#1P9*Aھ"z# \b*1+>tn PAQ JGoteQ(`3ƨ3 GOx\uRM=$@(ء$kvz>x,%DIu *gw `M*MX%A0o0}ry<׿i:$ȰbNI;6n?=+>Z<쾗>#;cdy.>qʫ8T;z tYxc#1"+nr>f8s׷z#::+\[[{3Ե@?g9ԥpRssz¾J>g)h $sκMRk}s~]JV0;cyw~~<^(T;oT(]n$+8$#o9'=h|f߸Fqy2JN-7MNڪ[txVg cz76;z`v" pk}., IS{~'q 7mr9U,w*cҾS PuG@ j8?'L9D2UD?0$ǯ#GXެuzֺ<J36]`zc(Rޙqp9=@\r1u czv#;H>ڧ\eNI< m wR%N3Q>ԩ0>\:_J 4$ ё8jٷ'}h.&Jb^s޵c^90IGn:r6:q~Îqگr85'sBsSmc<Sm鞽9 =NA!FFybۜǭ7onpN&1<==z.{'9zuq`gz8~::iP<9'#ZMw{iG@9xZvOs׎}n 08`~U891רpNNzۏ`+˸޹k@N>f }~:)nb\@ےz~~2:gP'O<X3)䐠dgoî+{~z{~GGӠ9N.lnvh w em'gy62\=ɨ=G9#ۏKb|灀=F3TgNqȫH@1!ԃ>9 =s{~XQׁ>qYHts0xg#jŚ!yN[0'!קNZ 9 x#3~Mk2sWo`Rrs<x{x/Cgx'j HSh^^5.w+0Gm*M$K! NGs_]6$W~9]GpvABC W\jSMJ%Xf O`{dǗc9u,!Ix~mS 3Ww֮Im4!gI$%6+2' /*UcU<0v~2-qlK,pcQZe @.DMIhaw9eS;֋bz/Oiv?vZ 12#T9Cpx ێ@'9e>1VPI#߯R~RK9f r#{1,C98=Lx⚘ܤ w̓AO>BFYd;dVG@>o˵99;/ulU>=>ƙ7Dg'#i#NjDD-z\`rH'~ ICxU6 43l.c%=wyn% r98bLlԂèG7esnUGN3׬^_6Rp: @{NncӞ;Xc>[9x=W8`8'n3z U_AɇQ.H tH86%A>.2 Pp\przN\œ{QGq4jv!~uE.qC޾+6aXh$iX{:<3e o&hC7j?8y𽅫.$I40SFKm֩;jsTz_ngqLȠ;e98/Iop0ڼW{S+8H:uIHLz"#zǧ^i\*q(aӐǿNݨsT#=3913U Ќdxןj1 qP :gԼ!2O˜{\B;{`6{B9@9?SuGP"n;]7r1]JQ@ `:)sAabc9o˭=Npzz)8ry=?N)0#oa8L@ nc'}߯Rqj@O= ` `=? 17G1۠iH緿P\N}1ӡcOמ{~ $O#`~`3ǚ[Qc>`)<63O7N$!cGo833GGLHdt9Ai3<Ӝz?]c$t#^=ztpx?Z6w0}:?an70u)ԉGr(3 ߱q,}qۯ5^kk̨ ĪNgںnͮ4hsAOR@YvJY݅0n:]Ѥ)ʇWV8lc9 k:]X }'#?J#ld6I7qjSIVfm>fp`NN}*]=!W.7˅g8uYV+8%~wrU@OU앶4S\a<߻q>l~50փ 3p6(䁷yOy\g:Zĭq}O' zqֳtke77an%y ӒbFpk&ΈW5TCc Hl3s޴ě09۟yEԋȏ%\ႝNpy A$rv](p8 N1ISq8?ns~8㌁OA#~`9$`?c=;I1å4?xq{`֨] O$;wGN3c€>qʹ2q@&dFsMs9`mۃ(wr0y9ќqJvCpqCssqܒ0[^rG4@*9=xAaRI}q4r`G\)M=? vHU01B'JAXG]rqc=(z~8,:3^?Ov`r}9ɧJ08HA;Ѐi86bI9qTr;uϠ6 2 g<Rjʶ U`'w*SCRq/0ϵL`nU-)B;Fz}*V .~f.qQf^wt6 #wc:SčmTPT Ürx9qҥp7qmh)$4I JW9aeG'iڻWR!Uwd/QB;БI9'u',@.;cY4F3dzǔG9 ݀89<=4Ջ?iy>yMk9#U},$-y ysw@dN}yK KGxns8Xl7 ,phW6\ b9z2I#Ą ,/ 8Ub¹=Td0dxJ=Yر}ΡX1`tS9jӌRLGO'5˩: 4UUN;85hG]X6R[AZ-hА' H w@qOjm]0x?{b*[e-6瞘Tfv󓏥fcDTp6IqO&uiX~JpA;O5ylYrOu80=AzldffrTUx!?T6͜U>aLF,71{ tPD_}B9*8v/fm bNSm'y#&RZRHʒRc}zR?NN uvAKK6JK*}T`}8<51ma-^sM̟w~@=cHn}=)8#6O R^Փ(>O 38HsHۮCuӏbŜwdQu{քrgvP|,Õ1ӊʦ摉Yi&U.*g8fr︉YF]?aN"aGQ2i.p0Ź28g%/йTl\ϴAMk&Td6B8#wɫB ?.WsܶbC x؊pۯymȐQX)/Pc#،}j4bFx={ҽoc{3f]0㍤0 g!H\>*x^{\xݍ01&]bG;qrD+ptne+O~;[=ێ~M*]Jn| ]Cr#> !+䏸X [8$g KōXbE$`I 3iR A>FG@*?Зv7W9lvFFӜn`2w|q~Z2Jn''oI8P`ucB) Y9~epOLt^kaC&CFh$b@ژ2K Xbk c.N} Oczuba8q)qHgޚ$vN0N2r;r1 L~R}q80y@KEXqϩeGh'“ޙb @B[?3a+ |8`x=zc`!c,I?/qv|luBqߚskܘvpwnA,Oc#QnG@pEaXX'-#z8?..}FzC޸ԎpHr=ӄ1A>iПs=R9w8YqX@:X#IFF~''Ǟܚw<?̖89:t׵14894H?t9'x׭qߍӓS2>H0G.x~S^i7 ;H$'8clG0p3ߊ l]A.@=*=9!O|d=A- 8=}i_v`b0IHRЯGI'8裠N¿(F9ݳx@% qԁOCi ߮2N@R['ǽ8ƃ?x 92;}M;=Pm۸( =z!Ga8T-brׯ8?—a q>;rS\$t8;鷕!>؛Ny sAR?NGW'puzJ˃38|rn۟\dwϭsRIn3~)35;>S\|gz1lp>^yZ`6"&U[918߳p'܃$lҊc%dH 鍪8L](cL>l''9r~! xJWq㻹AjiL<=.%(GcsY9+F>)9Lvx5e1TE`3팎MWE!BYwFdd#jЍ݅ Uy*8;H8*q=Z'&vc-89+ ryn [F! )<`v֬),r~i{~dKE;e2"''g.Fp@~~nZ\(\$yاi0_dہ*_ҍ]0*zgzb@x0<+ͩ4Bg*@l~Uqc<Q唬h# !Iӯ;'{8%I%bQ~:Q;uݏs5)]<>w7#9˯Z` 2s1ʞFA'$'pIA^§|9YTub199P0yuۻd6d^9,ITP:(`X xOb6,I,(@@z(r]w32x;eXuޜB:d}bULeثdA\zǚ,[7UA߁ӟ_6O^k,5elvuJgMu'ucY7 O~9e'<|VJu8 Gz}ǃc8jJ4g1Z't?[;)}sGlFF2ry$8-gbqg8N6=?*i鎙}=jz ، #ccFsxp{f.$,8 tQwؑ׎1،VR5D8p1d҅GӽeԲQr{6Cw#UZQN20 z5a~%eH=<'y隝FO\@Ny^6ΙgNN3RA3Gdt7+sgg48>ךMYdM(3|``S ⁧f[S|F9N #>UFO~+)D%ly ,K( zP"HFFzg$;YY(C|H4Oc<yžqސ˶}ayr1Ϳ d|Ҧ[21{cVsC<ǧҨOqNr@$7Ljp14ܟ;yԁvI cU0 G!* B˃5Ab{}d94K>"U]9%2YZF_.<1 婢pFၖ(@3Ss9#"m( Ԍ42쁰pw\ |^s`@8A'f#p1J0pO t>S y_~S=:h`3(,1U1#v}oz?"9p7{+BF9`73ð=N1d08Rx׌|`ޠ Z#A%X njKc cОOӽcHeyc(y$>RG#XQ1Z >Xhs4 k HĪ8e8k.Y8ۀzO*{ * *Hs:zU(]W0ĨFE893flqgG/ne~WA(0_0P tGhjH_#U6k a񱑞W`Z]ÖNkՉuwX\Ò{.H NlQU(!!Xr+9x\m_+E h#vT53cӴ Mo{\=$wnXؓxe:Ċ0Y®^"|eNfc˩s=5amqipv[n|Y<^k>r,>{W40M|m ؏k{4̽>K&= h b5>BQM`VᏔ9rA͊tq DSia .HqWYk&' \tooN}sEt{8 J!!8'g=OAn S,[3I>Yiϖ&2TUsѰI8#5a:hy^p b޸ ,/;G|}x1ö},}~)*tbK7?1'⻍/QxXrr29P>󲏼{XnX ㎜\s+-.DpOg [$Zte-͘Xr2W\OuyK8$ 9U88'YҜ .g$I1'n'90GdH[8TP 9}x5`s?OpzU$An qǿۡ>>*^!Ӟ'b2O(kZ<O 88kl艧' qy0=L'9ǿ\Izcן15Pסvta;=qM@ 0F[QuuO>9 =zq>߭!ߞzSz:s>8=<s8=GAөvOpv ZC>-ЏN&R+?l1wǯnߨ?54[$9Ǧzx_zd9Z晴 mԜ6zHn*Oc1;gftDqUs98bq93\o@T}2܂O]yP'u+]ƸwOB3ǜqsXTޓ\ss\g>9=ZŞ-N99Ϸ52Ӝd q2rusUA q֣ ? 0 {з AgHI<`C* =;qUG?fbR6GCֶoӪN?!O@r87xcq G$s=?α櫠r?=\})FNѷ9^s9?1O8$d'Ga#SБߎ֏cx9?֗8GG/Ɠ<?Lc8!^x٨뎃=?Z;\ڮC1 ?0?2[|W0:ӷa\' pq}>|>w4|jq$e>s<nmN3^j#D#J"#26VaA?ך9c|>Iͮ;1@Va?+s'5kxPAl:u8:mB27 26=zJ{kF8# *. z+bIy >Yѽ rI:Ӣۄ &RAyr۝ 2yON+FM1mE(f fl[*ǝG";E"`A5$g~l`^@ڭljYo'!E#!O $sI .h+ߞsJ8[ w^㓼@<40#|FF2u<#rtjXݎ;s\ޥhT;oATu4F# 7r9®03sR!~U!m6L$2y8OzLdߘpzr=@^@;$g=B8$p'c8PƋ9)mݤ]%bKw(!WfRǖ$99שjOD;[IFN#J.ߺg[0;cj/g3BX`! p:Q~coDD!.[# DZAȷcYji$A{{[>%+&1 *>\z6C3wbT| C!3qL娭rH;QI˼>7F̼Vuִ+uoe\ʑy-q]^_և*O?3} ;q\܃l$v1?,v:S9?uweps}qqP|#iGVt֗%*Hl2Ozr3C*[L $vo @H2 |I8'#O_EIuP`)oI= $ dv̒'b.COSE-%nE$_|B^*Kt&vd;p <yUH@\ ]#kppqG׎ZOqmbH(JgغI>Y8 jnNHW;yHʰE#9Z G:*s9 qۃJaS C |Nくưl(,dDh^;1VibHq*?1ثՂ%UQIqRم+ aJ^3Lԓ82 { ⦊σv`Kz vY'D!ۖ;gUڀc'9\vjskO {X$raQSy8Qcm-)ke0RgyO%L\vX*JJ 7R<{ץihs,!Kv RnH'̧<\'ZRUҥi77,gx$gֽrD^F |1V}PVȦIb}z xq@rFGQcWtA'wL oی=t0{G9r;q'<z.z@e^r6'TᝂNs)UJ[/̙ME<.U9d{sXwͬ[%mp$˶%ǵz\3W_3b5z ޷Wqc$B_|W s"02BH`9#>&QV%yCmؠ 6vxU)u &&v@N4̧TDm"@,Ėt#l#N=1w9>-Ku<'=4é0ws6֨o cלvScp88=)0cqN>\> qt392$Tyo0g8=qS:4ŽF2pT6Вr3Ϧ{ ٗtj.:0$1l#9HHMj=7ߓ?/O1֑Htav-w4Q%zsK{z!X႓BH`22Q25t;{vȤ*wq??^0y|A>4/Ԑ)<A屌Z01z2$xlwlFRج3v9x1Q!U$go0ӯ" .rXoP []0lH\UE}[ǚKdJLPzc[ޫrAW"We7|sMi%;IA랢Q2tE=c(3Rx=yo@ǞG?^3V0 0F1ҡuoT˓O߶yQNh]GRV9,Qqtq@̟xTt9錏y.QZ/]`=#݂Iw} `gk뷆91h<}{GbJ1,^.#=(3y` jLkAsשSm8-Re?wvG33cz:4k/ `!; rG9(8 63‚19kXƕF2K3 mNW$ӌo CPGAxb[ ;ႆ.H#krrAu+:TAfӯjFj1[;*J Q ?)5:I~?uc^OEXpF8[q mÂN ^zU'm;M2GI.:oiʀnrv⥽FO|,|(vKr-_(@ \uIwz` \t)  (zӿaJ`c$dzn5> {N9+x#5W۔䃁8JZʃǖmK=1[݀~BIzus*r\P:s?njs (8N1O+Yny2x|B,{ gɶ;j(`0A&vc}٧+t3b@ޠ 9W^&0 L2z`\x0an~B1g\Þ :ԕځAUTXaxRݞ-u,yU˧zЫ>S[p<:#`ك '6>5Bd\dqI p9=z2{Cwaj 1w7ӯo/@/N:s莐ă #0$S) +7qHXK{?" tUB~flo' >frܐQS)h,{]x0Dܷ0yXpPX}᷂>épv£1 :),[' c!K:=HLlE;68r:TA (`@OR$vr@ PB`az'N{rpGӞiuiX-'~wlaʞpXg#vGc$r2NI8M=QE% HӁבGJF38ʨunFuvQ0Bd85©dDą9޿0f-9i)^EyK/$`/] M$=W1(q {8'ʴqgu93l9rIj  }s1zutiNCH9< V#0護GOֽhJZ>"MjuۗoB3' s8rߔ`NW暰X#x瑃ּ{P#q^3?y#92FpJrpsr^;zMtęa 08el}dڲYۃ~{z&fk=@݂QZNN)_;kȭG[||U2n4ѷ^vy`~叼0TpQIn#S5-No X<{p27n'A<:hZ\0\W~U|`2:57.E<7''Qן_zr$L~|n pY YUx''8݁ qlqr98VhO~_0 sj3 w sUfȒ L.݌|8ݒǹqj)c:Zob6z0< W'r);O,ԏ#88#5!, ǧTؗR$qNAtUěpU(xPM|`)RpPodz`v5˓rXzL˱e!Op[IǦzV=KEiS-f,x*299=HFidFp<9.q޶ FەIܫ'?9(nhd01’AN0JMDV@6~l0XzcRx$3:VFIcq>ǭuCo=ʼrO,2ړ9 > u9*2 ;8AS} rF _z͚+ac,ʣz>lu=3ףd,_g/V\v=²2˒bzq_uxRMJ'FGpf%NPՑ'a<|␯9s#H893JB=[: 큐3@a?3s:O sN6@ 6{S¶q߹zzR{9Ooiq'8?+д<w㷷J^r98 ;x`On:R: g;6mr7QxQ8?MT2m#;u\3@_8i }y;T{9=rq]DZs(]?˟|ĻeY5So{dr1L (wS5 N0I= zEqՇ^g]s'93]R\INqsb'ˈO9<A迗iFN100y$61MBӄGbr8n+f!ԯ:.H9|u&ku;i`vs^*rpNHQN:pH 1ꣿ㞴8##-ӎR  ǁq#=Wan1R.,rA.@<`;6Er0G\a6c֎G$8޾+.ǮOQ?@ pB=|pG%}:KnR?3ܒˎ^=&{)>䓃<ӯ"yd<3[ǯ=צsU\us°9ORc['8*qILZny xEbPONs~*`qɕ s+9Dɑʜrñ^Rn9Q^=~KR`'A y} ~y:x5vg|d'>ׁ֣$`$~j唙bDX ӜHjiˡ"<ߩ#jOЀsq]4$OA8翧N^L9'׫E]#q 8G GjOr L3ֻ)2xN3׆1ꮂ)c1Ȭ0N3k1!'\Ed—mrW8Nw$x7l)\\o섹jխL{$^ /o6(+[pNp8=^)sR^GզN6%6#nNq)mL(s#=OU源D*`bq<̻!r?ЁڴgTRN2v8 犓B#q<Rr)5sHR(&ߐeAܘ#j#sNŹH1f3cõc(q<dԚV2B"b[a+sXo(ןċ~mG]qdy]$ZwR&ow;7qZβ\8dUbY$a$N]gr0@Dj h8SC4BFJ8C'ßlR,dY3d@i@GSۧzF K=2VuVW[xG!ۃ޹MS?#@adaax#ǨP~^1 }KFH6]9،F,Ab{ $< 8z0E^=)B":Gמz[,2F6$7>En>b6:y`R1^=8OR$Ń,qK.N1߯vrN#wZhO`Yc"B2YF@rs39 qׂ*!u.#+3~ZIՌrFCD# OPyF+Dc-ŸS܌wpV-R^ O\x (C# Ö<N  [PsV5-mLC%SuW <峜8O *=aQ覭b\* Nq39ZxS~tD"ʜG?}/Lrq 4h%IW,k`N ZH܊kh Y3 Boy<{,y[8X<^HN:I/S訸С&mm'w Nq]%x`PpOsӵ} iP,R6՞vk NH gGnNrm =k=[To#p[# /:`jWԳ.YG$u$ Yqˀta.}RN7^Ck2DT;sp+ִm& ZN28!~:ɮK:J|opNyLy;ֱ/3"ǥEe*gK2Od$rN:ǠTb"CN& NF݊@G>kY 8oS; cA'ҷ`T=\k&L8n;tn#/9@*tpqiK8p8nr_f7p'BC=O=Rxx 18c㎘zc@sQY'qjP'_E³䏘cמjɆ<34\,YF {`I p+zݞ R2_1 qD}y!C?Ur~ֹCrܶ@=AexQ# ҥU6)"CTwc99ʌ;˹Q.q=k.#IE >W`r23NTg>yS;}1W%nT:)8sN6erv I6enOvkB(O 7crsw &q`ʈa0sU+؍{C( eR3ޥjh_#=.y'QI Y.%+r30>P2x88-}?## 36N?8r@v=\4iu$w*gqYnizծHzm,`U3U& RpP`WG5wE]t%,BBR1d5O";p۹,\~Sv^Q䟗\\SLgf$1޺?_F9uV|2X (#9^ K*\dvS^aB=H OMϠtA#,Go^1Y"b:qzq)BKATnrOC8$JKB89]vA'CJ֛G5MY,ᶪ!S;EmHH!F6F;Wdets5fsIa\st֮۷;?3sR4{ݧNϛB2ܟ~{Vvݥ|0\*1[/r(#ѲNHb͵A nSg s!d P Zi 储F*=@;ֆw& 3wL9>@BÜ ry1kRwm yFuex`fH‚9vݹ #3Uԁ:`FpP6V9!q9VWc< Sg۝:4cUu]ܬ_e$t[ R 8ǚAneL`7nn6V獾H1x8q8B=ߥ;CP98$2zdr)9ԌuGқсI0F 0$4+p rϷZAI}޿60ǯaۃQF~qϭH G zzdp+/qО~8)#'o|?~;cCO^)w`vs9=;׏'8r }0t#C$#.r1ԎV5ƠDj |V'۶}f9r.I#Q#c{F!nN6 MYBNzz(s+$yr~=s `qq8\ƸNZ?瞿p~Uׯ'2d^Ub[j8$Ue ϻr8,uQ2"HPWuH9U 0q8sPn^g5u+oÎ?qޱP+9KsU=t!wܸmnYW̡N[%*Ԛ]X(Y6F#T&Gv:NM+:1aoUA5¾9fD bI:5Yx j,oݨ⺣(۞VZumĩ,EW*iKgNf=,. _$9Fr7R&UA+~`8'^i)tTqΜR禮K:?#ݲ';4);vv8޷ j|<of:cּ湺%r)nJz{gnNg|m![ 7{wbUBm%vI$O y }IQ봳7+{w=3?iEi/ȖB6fl@y\!RU~ܻ?08c\}(URȣ2q[!Җ[K#'7qԏt ~9-&IQhjv0 p?wYw6Z[f`H(\*N+E^O9c쮬R]#[h=`"H̪e1rG_TOdKg] e%eD+@ z 4LFVV!W=VGn;sps?.q@#~uAq3#*1.;ggx=qzh;AǩrA==:T98;H=i ݱ@H@pO8鞸A^9# c@#ג9H?ץ;ׅ9-r!7w_c1H7 arp;m$΀@0 {Ӏ'09A>DyoP,Oi ͻ3Hј1 02KC1'_;'~cCh$ 68ހ0`G|OCҥfG!2̎GONFN9|ț~G@Iovyڨ. AGlc 5îK2S#<I-.9l/T rBsǧn=D}9fű#KqX&81bڻIq֯v(eA0Uh3Yv *N\/j`'8*yfr;エ2Cp<Ɲ9gǨvвA\`=qҬ܍9.I ?Jer.R}~su 2:>Wܗ<Sy2 ~}+lys ,3#+b?͆ [rzqOJN  z]l-ʤw$O,}Cc <p $gkX?ɫxNޯ+);<:j,H pUO*UR%9؆Sv(m]~Bű}kףFF\sӵc=f!8NCTSk+;I?qjv'c|Ĝ`#Ҝw2C䟥ƗRm# ^r~j"8V 9$8i0#e|g_A[j(eXo*2`9n%dnQx"c-v (S2`ʱ1'?62`@R8>.êѾCBi26r sj&O8.x&^dz׸(`08l[ֆblrI\9~\`+z2Ećwb02FBA1P.&6ye07$cRNJgpRFG|~5Տ+[y#`Yd/-C#iky HV{G\ҦEd\dpF6`c=j !szu~u6,xN` >a'w*zֻa'%Bxq,m##Kc"X`@JN9*GsjOG2 |߈qg!6ݰN :,S~O2!eGBL Q mGqǷg>=gODf6XspYzx.jpt瀬2svTmܤ篧m{7>T#Pj_8gE܆Z{"v`)`)(Q>ᎀqpN?Psb+u+1>۹O^+< (7ZEnq郊- o0#9=hDI… ビ8@#2H?7|+ `#p uTF3KU;Kcm(@t{%~PGn: dc#ޗ<`00I8:g.z>^p28r1;F\o zR CShG-mЌpxkNʓc˞H?K4uֳ+ G HIֻ{Upciҥ>x ^zM *N11=382CI':g~m#1@9㓻۹M?ݵsӜtSR ؕrN8(ב[(7;\(Oc2wm@[Fz~~SmsqO^P5r>PF@sS8{Jba;䃓>Pt'ARźЃ. rrX''Wa9$䌌=yn]QW=>^Ƹ= NH/8;;qOsa2HrqN6zъRۃn"r:cV{܂Mc .Gw$SgՎ3^TJ9=9oGbdGp3*p@zU>|`=yY_n!8lAʟ~ժ9N: <㹮ΑJUe^F@fq*ۓv?tֈCp#; “X.ќ]*d`r02e_Lp*~Mmr[9j\ ,5uW`+ &Y ecrpOu:SO\ g#$z1"XӯJ6+%4i*XpO p&w_1A8+9 geВq/';Ob\tGZ~`y330xe"?EyҨx Gl~ Zr<3+f7c;X SC:uҜ Tp[0pN1z29 pI1ʜ+snǘfna}q 8+ݐO# x9ϠyH<8T&= 'wg>ߥH]29 {?='v789^j3czԳEoOfެ" !$:rr89⽂ȖE< gvqfQgLxi0w@;ǧ[S2$Uy`iU-{˩9U` o>.6px{㨠){u8 㜞Ps2s88qRzd$$0z1ޗn2xFq#W%GrЭyQn:g$qgۥpk\t^#7':x6SĒIpHW'Ð?6oVvEhA#Ҙ͎pXaA9?׭b٢BA<sz)ܮx3dlCk2.^6tVp''Fq: czʿt|ہ?6:)_Ut|&MC1| ںRv9;H1?J9WTǿy89z+..x Gr2 W>tRS nBsN B>bFI}{E9ZOu~Flx<;O,73֒n瓜lzWm`Bp2j=kC*ne2IAӵt0@^q~U{+WDh%BuqYAG:izӡD{zץtçbGoO_Zp'+#+I's0vס #9 O awrA:p{Xԏ<%4$ fR l2 Z2x<zvOԒϹϚ'm>fl#vG>kߝ3z޹+ e#خg?zUezO^1\*FE1 .xkYe铹xڛ1㞃8^dm:ݝC@:T ~QѷzsCKot򪭂8''<v'5,\LL0yϩN}}q_Hr3 <3Pݏ}Qzb4DÎS`#q׵w^5mCqNsNqSn9quޥQUZysgi= $㎽k8A</#0zzzLh H8#tϨ9RP=93y uFOSޔ4 ''8'ZMKTX $8AR>N8py^%4^؀<=;Uvq׃sWUjB =?Ϗӊx#$tG! @s9ǭ3oNN0ySOsDM9ǧ8*p?.pO^yG>A^ ydz}E_@`pZDk=˨>Qr0yy|#iF38“ vǧ<\ s3>!%_)e' F\ +?^6FټL2cf7<)(No}"e7$=k>=R0"Ii#lEGy\';LVEpۅ$chB| yy;UI]uf^3ޒm0eF9Ժ ǍäwsNrhHř8x_zϭEv9_pOn>&uc>K NdQ$\)"fCF:dgרVTT mvkLZ2*]3Lt!;kW7("R45(OS+. HN _˝cBHϵM">9?9 h`& mo+9qR @/N1ӭ'#X*{l~^)RHR1ǦNi+6oep3` )|T1F@sI'ۡsB$ cMGŰ92Nc CӚaab<ŲH˾o16*FGF!Ӟ0#2!^7`g5$bpz;㞇҈&[Hת~+uJTϸ`wx8;Fzֆ{UbY|]q3o4D Hpz1'ϭ&e%rp~bќ7_wpF*9\"spSn cUUER>N*sH\µ1z+&Yv27;p9^Y2*Lr*Gl{V5hǚhE+ HU0G0jnm,v^y=RrMrqfל('g&ʒG 1oj,r  qkBȘ^Acߐ#Ҷ'wRv_@ ~]Mme=3|#vvJJQ+CϩV|9SyӁԵ \%v =y ֭?\02|g I{d~uJs*"W 78-[ ;;Ȯ @= `$pݓtaAmÌdqǷ5֞RObQdCSnjz$6r[78~ ;9H$#Qy<8a9zA(q8zc.adc'P2}{'8{wZ99Ϲ$pr>zTE8#NG8ϮxTDaF| ⫳q 'g)$00I ~UYH䃟sRwERb1ܜӟc߽C,(#}bj0@^?߽sF[NH<Uq>#}*Q7AN3^=i8r{t%i=1$&vs鵾1ӷ'F2O# zg۞#Ш8y5 z#ZO#lz?Jqz\uPbL=s1=N=Go\ z:H1R{޳} q~ 4s>BuafC~O983Hg81ЬzXqOH9y& TFӍz cR[*~iU:`Z^.,7F fR3q_E%-gmx~Tc4B#.B06jrM~<܃9Pz s}7C(jyݴW™-$ВM$HwG\zz_ R4*GbQ씈~vqQ'eo2zփfj^\4YVK2_&!Ԓ9p1\v6W1$>etVd?C^['es.C$vAS]+Srwp$q`GZ(N.©yy`@ۗ9#J2mXG'$(rKbd\ c2Ae:n JcG탒|O,HpHɜޫ׊LH03Pq+bBw X`d052ظnjL!Ѻeݜ +d$v`@ث# t(7Р)ry<J9&IʃC=Db6aEf\>Yr09aWh%/\m 96^k= ifÖI @O3+dڄm—ܻW ~j/CSϮ3܂@2Wv+,瓸g8lm ֺ(3ATF -`r@<֍]j@oU9rsZDVHw`6۞XF9'VBR2oF{Ai c ܀y@ǿPJm㎜ל|t# B֤.j|$;zHKK`CH8J~a`Xe T.N=z{sV2hVW6F1뜓ﶩÁ+6335Mi32U[G'^ި9?#8HX_A1̧zdrxfI3 BGKkfy<2c)vey{kA9R2d7|x qʜiW## 8 h9 ~fRx'߿sfKtAT`{;r?}8kc7V 2:Lm<9=NhadE+ <qzKD`$  ~aw3>*eRs6A$0x  ׻+=QOr8WpT;qLqmpFEV{3ͼF-*`I<;26ڞ8;HVifLՖʹ7瓜~(۳ʅu LÁ8$H` V޹wI89RA$zsB(w ߜzO^?pTu#?^=hb?7FN1ۿ^ҐzR@Ss{@z}F9<`\1~3צx9 ր}~=89on~>`/31ړu~x:.~{=9 t>?֎sN҄I׶ztg {Oɤ{>ZC:zsӽ3P?La4t鞞Tg\Y0sQ=M{$!T,sODLu“dlg9.~UxjJZj|*z鮇+6 Tq1Ԁ9r12ol BZ#Β`H} =GQ@UO1Sz5Mp!!r_κ|27FWz{M4u[nq֮&_3 n3j؏lIH*~ڭrla-]s` y~ksyO$M1&8O'iLU[{-lMJQߩ%kp dU|xB)'|0_-:0mc1sa(bmg{&ʥ\uqPQd]Ag3Jʗ;F߼ue zcs9^dhwA~L8* gۭz6߭fy~=J*({\c,< ccajb*vW=j>-dž^5PXpx9'<^:!,r4 cp.9@}4dmVtƹu &5Ef G^WN;3*g?wp-\{ "JRx9mB3)\]Avrp+KY wcIaa¹d86:kT-(ewaJZqi7~иf?g+׌l; X)9EI^ڤ}muM;YYcQN@!H韭tHaWvA9'|<{cx<7zik:t<ӿ5c$r0FO u*9<秧nTxLv/%'<ӑ4*39OC0"r|?@*ERjgm'zWVKhqk*TXyo5&X!QQ!8so/Go"ZV:!i-dj[.!,'Qʁ^Eiizs GBXuMy.ovk+6{hⶖ$I[dq⻗wMJMN[{t4p:'=wz⟞X f랆v:i0˯J-m (R[ ڗ ǿ<App}9HG@N>`>cC}')  n9z&G_oBHz%zgA[9|ǰN;e\$aI$n@#q;G_>S8`W }+Hu<O{ȩ8S0;` 0zց= ;Ps~zS՛h w|;E'EO|*FUL13 ҔW?l 3 )f< pnI4ۜg`~o?=- Ay?(ہ{rz6[ 㻎3ҐBXٟyx) rFܝ3F v%SnvnxdGnU-̀@ߜ?~78T9B}c?ӆS :]!*gVd| SrH+c308~=zA"e\*aA%H9[~zxEv0pی`c>~T9lRk'Xc`i arO ~#AH jwID d!SV<8VhUP${72W%27Luh#cJ'Fy8hHJ" 7Ӽ<6=s$*'3@xߎ3)(c wAVذ.|0 };UW;x>wUCI_Q,*|瞝:W0V8 DsE#}W>SZl( |OO;UL妆>BSwArz2A'>42ǃNvמ*JTYp?/PȤmA3@6N1&I('8bz6 wd0?jj?˱zLszU0%_cpxu{& ۖ`j%q<9r98==+&W{n\!@@b>Qc9R(q/~b9d !1BjekRUc R(;N1j`sdz#~L ]0!r~Z+ 1dw1ںc.d! [07n=W{u.;GϜg`kӣ+$sF\3F(9r%v>FSd ʤ:_229Pxz+wSdK[-m߃I ߟZ yeRs&Ozg\^!2f $sV@p AP .Oe9 ۣ.zY%u(,dW Wo=89#l^ڭ UE 9VWIۻ'&eh >Bp ؤO_#2sוR;!x9~l$ӡxJ;q$y㠦Q [u=$e[ eߞ5[dEQxV8.$un9fRTN9'ғF-x1,73ye8:qawO@9#H4١# VA<{s-`OzF1 ( \W 瞜Qp9\ 9);0r0>_qy&1Cc#}q&KG>wUpjyz~輜cذ9=UCDێ9'Ҧ'' :c=ÞD%LtONx#`:c>ILɢe89#nϸ3SsӁ{hHp A#O%$ryU#[6?t%bE'1b̀v~>ݩI<01 @<|ˎYV=r=~>2 Qw~P!A9 :zLT/q=Ҁr ?ӷ]@=r:=9H@vy#1B`=s{팒:S61c' !#9;P})ޙpG#<Ls9S~lg9S1r u rį~e݌~?:{ [ 1!;g}?.1_?jɵ~c$~>VW-&}J򌝡OB3R=s"N@jqG䋔nOI1¹юԜ"P3y9%~l=*J}ũ3|M%Q9 gӿqH]vMm鍣[s =`9 |ÒH~1P4B_VUъRH%*H@6@œs۽rM #`=tp q,2Gg$r8 x<ӕ`QCerK)(?k_NWh $[HPwXv$։8tqHp~b)w qV Č ws*!w0؍67;W-XK{EĜ˷ݏ(d6p=a <\ch}o<櫛Oz9sצsR,B6Rpr2~e+n` }W*QzkcN@x9ⷢq,$8<潈M8RRzu!R,I$`lc7Os}q׎xFޘ+t)ZiKӐ@'bcwF8Rw11^gCbȓ 39<zqЊH }Os24Eec#=}II"'s/ԞrUzT4Q dH z';.UJ#\PӗD1HVC*0TϩWM Q&TCO^8Y[iܤ8';FN8>y@UВ?,sW/T;tM qc`&" +7 zu:{շ1;o<,l]pwl0`rJ+[=Ojo@Gb͈Q|sOb8 /]~nFGf29c̀OCM<7Uv>QT$x9 䓞3ߞӌ{(Q~ 0==c61goL#@x'#\޹Ɔ2 gzب\`8NzuqW-E4*8 d{ֳ##<zW]nuS T#^^٦Y"}G׊8G y#?v:)NUH'Y1K7~pwd8 9j+ۃr:}8'3˚9;61ljpg ^=k?fʗQzIrܨI^AX{늵r9 p;Atv,2~NF70p3؊,('j|0g%cqsAeq>8^-,r7dvǧ'8d>]ʹwZ+^qQ@T=pO?2}b͢W#w\$#L}*d{8 }.F:qJlqu?5݇z ';q3J9:G^M{_.w'2pF}sNHWQD>9Q39`FzwaV7L֜,(랇\zw0# ^x;,TugA"7 vǦ:~5\'xxuBEcSiGQy}?;jN"YF[BǸ'F;XmN09ӡ5m}ϔYcY0p>K0򑎞[z$y|6V*fDG\>^橉nrrHާ :,S'#sV!r|8猰l4tmR$<$r|##<"7_;Z(SbqW{dnIqѻr9ǭ46nH *U H${7 22`GRxJs+VV QXy13CL-spyȪd1) ;ڪA3vI'jO,XفzГ] ʛ?I'zt!B# # g Tza q 34P NdLT 3unV=JN0N0GNO$S1I_MaN[m.#i#Z[oS`=bEO#*89u p +oRznBczrO$$QԒ@x%xxu}6ǜ}{ҬCu5E7 Xa1pG':?37ZڰceGirrدJЄފP'8q\!ލeJJ]oK{k{۸u!G@F${0#n@*)\^F.6mXLbpF n>aw XF_+m,އ smI;t~4$ӄܼzr9QFܩtV#ĀC7+՝pHF <_*Q'OnjzǧZl8 9˥7gl~ICG< H=>E(HzVnerG<@8Zoy<q{ryPG瑎Wv}}/b0<APꏐcOߌ`mF9{O1.@01'OJ.~gҏhLGC~8M gʅ8GR"hLq}?a+[pr}xCFnA1`f,xcsԂ:7)s:`9yGbx8;zz'ҤFxq'_åAz`2#e# 3 g#~":8=ECFisq~Ys<ǷX5\8gx}듹@7`ycǧnQnz4G)sqr~W5*Oq_ʹZݒ2} _˞8jVrdG9֛c8~ÁYLccPʈs`vg_׽Vq<_ǿC5 =?J }Ea/|Ǯ 1Ҟ854z ޼Rc< >SqRPGm'=ۧZƵ0O !點xi*8RrGZ-G=٬2 *,1ӠnЎ+[&ArAHaf^YVKgn&c# EUJާykuc 2FgLA;F)w;~a 7푣ܭRJ,A#qAŭoνШnLzujx;NTઞ2/jYcʱP0䳮 ^H+O50!".vg҄cHN0JǮ>끌>Vߺ v`8>đ9I(@9DS80w78twd6(. n9D>HBOcHc>oq [_&'dxخ#T &˰oseWcgv oqm[|{ŀ:p3Yo2g֗9 GgqIJB;po' q_WYZ!,xX?=^>: kmS߄MЂQݒN98'TH;\}*:H8 H :19Fpq 0gz{OnpyGӱ&w :3u@?xuD nqj ۜ~9^;|Ӹ;pwϯ^wI@>ߡTzz玼qЎ?\曓3Ƿ`8.Td;\uVLյௐFfbwy⾃{C3N0ԌӵuBя4SM5>~Cj| z^:cz544ڱ:ڃz$~USgh䞟2`e55ZeG~d KN+Z4e9S7Ԣ2e 8Oט)k @<:& |CyaɻbWl=@vּPbRKq˫!v%s&ZJ)]N'BSWO׈%r8 2>Ƿ{͇ 8W>"*wyge~W*r;9x&,l+͖<)b%n^pֲi~ecT +p}-u%XE#l70^+l 57in-+ZU]ʟi1&G=W"@p.=15*TrPI$MnҜwI'=OZI<@]`"'Gk?i a$%ܱL1cֽҠӿ%%̫@:ppRV,%e8'{jmitU0NѼw'8 }/\j/wh{d E ]ӥWTz2FNG%v}=FG0sx?Zެ'-*:۶1Hp1n *) mb߸Wqߚ]ZLv%ۼmI#CRƪAVz.8*A92r21O-``Ju@kww Xی9)\-rrkf0`< mFER֓DQbtOLuzԏ$R!YXFO$5^7€' hfG8Ϸ(~}ܶ:ʤ~4RN2)&Y`l&FW,(3FI g}*a?x RysJ:n3KyPs;V{< JQ6|3G<x~o:ǧ^Է`rNpT`@x@YAN$6+nh@0`c'۩Cr?898>^bL HG|:V/[nUJ 7zliz/-p2ӃT.0CPGH$Eb#p}1F8H9z<iLH+q.N33jҶXb6t~R=Y2&. .I P{WؠUQ$bSrFOlw穭XD$Y;!׎kѦcP腬#b)Xt,Վ /.efFjFWlct#!e*d9z+.I•~͞CHF; dc5 0r^cJ7Dʬ*#9ޠf6|I,!Р/M:cPr?ZTqa]8*'DY2ɀXrrF>3(|崅w;|2=8R$%墳圗Fmઐ6\8 c"J :*F;:ֹ¸(͏CHc!)܀y#I&Q`$2yqA$]^<ץ9N/ѸրC}+bx{l! 01a z$UHoB8'PNV0 /'ӥOQΆj6 49P2`$$Fb9*;fz) mێRFxt<w30}y|BH_sSs{/'^CZny: $=L$uvry#VC㎫8z$qO q u8Ċ{#<0A?LT{t=<iŏ0uSy~=*P~3xjq&P^9 } '\qsǷj3'}7u1zԻ98d#i%#sBoz{$Aj3"MX7# ?^zRrvG ЃPA=)-ޅy>V7d dqݪ@Alr}?€bd=[͐r?<}ht$wsrs89@=q9Oo)ŏFO7 ~'T9}\C2H$0:J0 ;zS80I (޿׭d9I`nVdmݞ8ʓ=01ijyp"<3>g ^'u|ʹW'z(>|n]<Xs6zdSkZޥI~_1YVCI8}?:J:cyn_zk5g88?0HBKIьssZ] n39I#}+0e#*Dž\ ֳ~N>ܓ~S+vY@:frEG+zGqM'y-ny_p=i08OYh_(RH8 ye]*pP06WZDh׍$a@9x w øj|' 7/P*qM;HAQo\GeOW1dV+`8ߑu#V:p70T2d7c?Rnbw| Ib}Oe(Zq-\@;8Ꮌg grGQao̵ӎۇ}';'ev'>E\%mIj;@ Hq;3r1=kQu"v|(`H^5S49*a3G$H8#* oL'ފ:;|r8jr\Ӓ2<`W';]9-;sq ±m6L "XF[ ta2IBqSK3>q9\C{tVzјpN0x50[\}-ypzW-=C;ڸswd;1+:I=[Nqϧ55(~EzHl#`y؞؅]R}s޽cMwXn2BԄ7g^}8Vm$ 18>z﷕U|GdW \rߜz`Fyq=1؏d@ ܌ǦjN=rN@נ(鎝{zՁ?6ړAgVr=<kCx9#v;vXݳv! 9??QGoN08Nx^ڳ4[z:dҪ02~ A2OA׀ c=@?F^*˯yZ,F᎜Ϯ?aOtvlhNF p',Nr+u۸ۏdֿ2 pFC y>uu#0@U;8#'jlS.X3v!UF;deOvZb|ˌlc<}>O:$}>?*5C 6 r>[ey0^;ꊛ}vMGFq)^q^gϚ(?>@$r29=:ו\F1Gȯ>c0FiA121רFgf˔ \U9HQ ۴yq&E$ y{di4tv22?e!r3؃t9vpU7 ruoJ fKr$&,9ѲFz{j\ r,T*G@zO;zAl}F%[9@=F.j]r؃cQ܏jWrʆ s;ze)1H9"3E]I-Ӧ1׶z{wF1˜cZ0TyX6w7-OAYz" lp(שңrJ^=kg99 xzf{2sZCCc~9GT8ǐG\pzLO%XܸnWֽGOc<_ZXW,2SpkDqIisT?~q[$0yyU=uTsVV32}*lAӰ8>HF>bqz~=bpѺ?O$RqUsscNF02F=Z)r3gj#$Fq?Jɣhp0G9p}-'<O9?OZc.O;G=Oʚ u'1(?N3zqMnN(<~֮ qzH8e=ah ہ0ӟzox=zD4Dc=z}@<㜟GAקӭV18-1yISLd*O 09?yC]TcG垝ϧ&3Wn61-˨|v?*9=:^Ϊ[AJ6jE`<8wm[roϵq^&}ƒv֪^Cv]񞻯;4ojJ" It fRnnði4B9}l|\CpN:̫ہS̼N:TjUK>` O(soS [˫xn Q&a)c|=2&ye<vpcȷo bq9+Τ?8oV GA{zR3tԆBLo%v ޵nӭ4$kZ7p $KXȆY)D}ۆSˮRI>?2$8CwpYFܞ08+So=qLem5?q<?NHNx=0N89)_6I*=B3.s@O{da['pWnO#$ǧ uu#Ӵ;GCzצi©<#\s8^^]xK[6N0#,GOe=|k- v_gH9zWeٞF'#G|#,`qx㞔*I. X)s>++Dy\O^ZE{sR$ 4jht ͮ`#Ey2vߨm<\{0h܅EI2T22n0 p6:Y'q>_Z*g _ R:q)ňڿ(=:HIR0$B G~ce/g_jM,k$ sBрb+N;Ϸ253=SH)E O\fιvh@dqgLv*j V\2syJw/KpIӚ5UfBmVI'Jr2q򨕎2s1\9 :j!C\ n}89*@V.<ooG/gҳ*(ó=+玵1؇pn}{4$9c8V"{t-.7M!Cֳ) HRpĨ=rjd\Lvq) ?CFjqG)n3i?)N 9%Oq9:f{=Dټ[ZW&GVO c'" LKi!İwFn#Өw\Aa0A(Xd篪_3hNZ8b:U3ܯszApZM;m .W\֟y}r08^!F R0339)-;U~-/{*b̠?u"?,lFPn W=QZܜd9>g<0;Tt=L7q20mPpI7wLm!GfԁҟbXю!(svt90}85B{ ay8=j$#۴b<5,lRE#$ rskie A9Uh->`@tzգK+>qWS;䎤b70C"d+2$1=rNG3H Мl{psJ͐3sP'=)cwW<N;[-ѱ9YUD@p:e is(c2&nB8 K=n"ƯAFp =0p:T>6skjrܱXR yR6,V`=7o5i}F"B%a)n`yimrǒU79_³ߩt/ͷfd,7!rPmWlcSh>ٮb OpdH%!>56kixwNi/lJ6oQ*8Y} cfVpF I>O +P'$ یrKVGLWat}7 r%h.^@AP`xCsdmYwK d,<3uO1 9S\Ǹe.vcjV'PIN~bLt3mN# nS!Ewh"Oo,dѡ{[o %Dp8#cmi%r[fhJ2\/Ccwز)вHUJW`#L|5k Y#,Ŋy}ۂKqsGuF#8Gy(lW׌p1LjgLcO~sNI_nzt V`{=Ozcj1Ӷ=q*sGR8=r~@7qdp3}>)O7Bu@{q@>QN8>S{,`s8Rvyà8+r '0{ 9 طNqӽ;dsP64~l:wq7^b:㏗x9^NO_zp@d{U/qvqf#^xtsH4~8;x~GᎤsddgӃʓ^z8 H~R$h1cI◨=_}ۯNJ^;)L1ғy1JXW]iY6_Wkhg(WO_{zmEy$|y'6vy^s_xb<3rT סMlrJ3Nǃ2\Hȥ` 3kt|H3%M(=NFU==>ϵtfP 6 1?fs)rO !N7OW#H!r63=e&L)lCʛ{8/=;]hk[u)EbMItZxS*\eNGp}}լ.n"6TEy87;J_2=\=4^620?>ӗ%ߙc8~e*r%O4JeM7|h3#6=^Sy.@ېx`9'qT̖1mc($nNzҸ@r@+x:cz ܜ$}=:vjNBwV5tYQBrQԥ@%Y2=LiF7g1zbFr %5''i͎PĐ~k.wq `~]aM֍YdA>eS3)sFMkxU-[Xoo:;*}1Oj[q˽"#k-􋟴O%.l0Ǽ_KAG`)K@$+;)~]:"Ț%Lnl)^zbꑆ.rN%ۗF:"č5F*hYF:q-r=j-`h~TRHI8JI+|ذI5&W_qKnF*Gs uDt@vRC=]ɢhdc*wqЩ8=zf 0Hn@.qZ]lOȔ|'GhiQ,MaGg54x?ǎFlqN1خ[k`!1W$6?a~FU8!3SL#9!ފ=A= kdiJ$r#( <'pjJŲP3۟S֥P}xQ+bP0A#Bysj+C,l_ql3O0VcݎMpv!qzFP. n~K )@p1Hd=O^ixܼ 1$@'ZR KgS kԅppJ7[ckn8 {4 Ёͼ1qǿCSݏn tvҘ!,b6p-ۜOBG&ʐq{_ZX9l6N$/H'.U`~(ޛ&` .Gg<r' y$<Ak]>B" eFO{cҥh{|lL1$w^ơ+x?6 r}!L )6w]ĜԘy9Q^=YO0 sWT&, ok4xxڻv}TgTQ:swײ<zeX1;c8ۚB#@T{RL>[$wsZ\ <3`2!-92>oN4z3vcόRLvХ6CHx}۔a`; øRx cwV䊥$`9^9N eOpC?>kKb Yv|;:zc\.>] 0"cD۳ @$g=Q2"m@ %9)7{lۺpy m=Uwr9 99߱A$ }ޘұ(qHdcB0U%sCnqܥNwNxTpNNOιldAⅰ#rOB¨`x-'r3@0)68=F'k@UrSk3Wm r*diY$x ݅ݻv;'! `{* 0kAcLY>R8 ujʧr̹ )9G֪YA@z0NsB3GmcJ3M8AcNkz9aÏwӖ˹NqFX2T Q}v=}2w&XeX1yAOc"Gg 7ofimáAWehm,x^8ƒN1SQW|N_ X=>JÊvC 8f'`+ƯͩGDNќ瞝O֟w>Sx^<~b@q8=4ܜ#`{q<4!'n:~$dqaq돘gs2 {fy㌜P3PFNpI9oOA1~j_3 rrS,,g,NczA'o$z39"ʻtr=s$,} 1Z&c$J$^p>l=zj:n2I<Lɡf3zcJpU8ʜ*30=XXI.3Gz..R@ 2' #4\,472sbs;0j<`Q*r\ ^{{ |zqYz"Ȥ9zķjHZPڅMq-fm7SE:!Ja׽dۙ[;30WnH$`;ppHXE8m\>R=GJ)|{;{WM6DM&tH$oy?*Ns,G^xIAmH 1F s q5_Ib n0~l)tc1β Z0$i:1;@VsK #ڀg,gm=I=x:q֝pN$gj8 xȨ5f8=zu8Be?xAkRQ1'1'nb9Jo({!wf@o}qU9dcIbLy8``|Ē2GA-(Z`6=.9 ܎y.0~Q ZXĔ?=B3H#g8qq;ԕܞ=ϭO`r 27pR; vJFz1=p?j^82v(#p㧵W<2n֤_sKFUzU [me(~Hv{)㟺0~3ݎzt|l\zI #tpG r}V{F$Q~sڠ9:?w#XMTJm1Ԟu[` Nt*?t˄lČ10_>NbN2w|Ď=첈r3+ħ nfE`2l?x\aZm73ܴ˔Mgg'-oqg =^&Khu}`m`3O-J_I'cL`93*只fXjnu!=Br. c'$#?Z-{IN6V0ϼsOǽV2dp8V c3@dݜ^߯N+^ N;F ބy%ʪylւI7͏cmrfM^ e=I\qA>]9Px9y棚'M\1rs=ϥ?jj1zU9)M8펽ҡ3 ~c:b9F2a*xU V=~2AG6( Hn2$o9 t7#Q}={Wv,zGgo %z?ǯQOwU :qnClϢ=Sd*+KGB9'Ϸ;|B 8azי%cӋ5l1o7QvqnG{&*ښF{8'#ۦEvpy 9'e+ϟSt:;`>?up#G>q|~|WYݝVx v' rwvϰ{TqA1뜌!c=s5`lZ rFy_#F{vN@<|z5 D`q?_Ǧ}},c9XB91<ZSu- ׌rsq׵X Ƕp3?\wQr,G'GZRxB⩱qzs=Fxzszc-ȴ68]rI ԯ%7f8;730``ty/#jXh0*A|cqb]jgd6 rr"ruIhsc5 2!޸;L>dxc2s^^ilt$Gyֺ㲿Cqwv9SAմYKC-Ͱ,rAzsP߈tyDyu wmnc ;ȼNxozkGM ^uf.3 H((1Q$6Vo4bKq" "v q֎Z R_q^%y]"ŷ*>w !$';[%Ɵ_$h2F,R>I'n)kضxImJhυ-ՑBBs)[k^oඛIG voqM=wsҫ$~E|D3Ιwa5H8$=(+=zO0ƨG@8r:tqN1V~+nDM^ g3 d2 7~Kw6;kˋ2MbZ_v)98ӽ1=ˌ;#1_سoi7ɖ??2# #=+oU4(4MM6{cURp-Ч""`+"Lr%7K)L們KWW39_#TTB&gFvi m ʧ#=r9piQ Yo>ߧISmwmU\<Ոl~\\*;w I"%5RML3&F($lq֟a8E¶r2ݕyb1i(9ltwV1i h>_&iy@<.dV<*9vLd1V_>x'0$,2>((тH\H@.2wrľbM;ItɶyV` '8S !*CTFY K4rԫ>ї f nB''1UΞ$DI[mʮ7m/zJ9]&4O)fNs1?†<9JسJFl6*Y[ G\IrOCB.%vvg_ecӁRå,rL Js7$nօgs"(EPJ`k16\pW#j5%,Ιky ߉%Y#e3` $)9[h7p7,D~DQpp19;VQ~)`fqe F<ۀ9r:BP ͜ dgkHv;2}c{G1#%±]H&eyUU)!}@IJ~pЕL`{z=/K7v5- M=7\ݨqMDyXצ.TȢ2%l .I&DLZiI]*#:7y0qv6+Y6ްF o0:؎9(#M=U( R-|̬':$RmwP Na6T):!JH<[C-#W2A22vO;Ilndr 6:d OGRV۶l+s|A=}:տ?N :'mwTg`႕ۡuRy$6[ wuYhk`rz~&Cq\[\cOS&?:빱\U?OnG8?7'>c8{q(C2B'ߥBz^,@G<犁N0S {RcEr;>>{QM- -x qOz Ƕy펀^#;08ǷCb;IӞO<ZHu8gޟ^4%1igv=9>/ϸ!Լ*r{rA HF'*z?ҎcXGCS1ݎ1Inv=;``*fRj|,+''w7Jy9=}8zXv>_yW\Xn0e _ W6 }fHӳ-~RϏgʧZ#,}#!S~4<2 yUwd(;H' uK<'H#߯z5qd qq=5Q[,3s$\$9,g!R1zkIe_" #O֠P˕l?neKDh|DΌv9sX@rl{?A yO'FzXr<+.=z0sDJ{q_UA1iKm ;~R*4FHyzs8< `P.ê28'vQ7q1n]q<wZ # 2zd8j-JmGpjj t+4nI2 9Gb5&;·Sn4Sn]1:9*AG`:nq}\wVCU~涤8>N @{Œs^crV8ܨ\<𨉲F*i]\s+g=d/bGm/sO6`Q %8#=O#1fm#p}k X9n H{#' qH'|PW3Z] w6b:H!CxR _M~i #7vOA3sd^}c2: ?.dA=9:U61,sCG Ĺ ë:zV岓䪓yjNތƪJwT<@'=ްn@;8MϧnMsB`p'֛ؖdb+1#HFG_Ƣ1lR©tvB!PN Ȧ>]АѝoaK @0wg'ylŹzWR}-o#E $g_!BK~g!yu9$(Agʸd*`aQ"vNW(pMN$BҔ$J2hC|QvチқqO7 P1{ҥZ8B]ecLg{rX29W㸑!fCof;p=ZD2ܲwv+IJ;VL.6ne<7ӓJq'зl2ɐ zz`0p!)F 8=<(Ii*1KUP1?{#ߊzNanek{ɑ&167Հ1Er5"Z%砤>^]n0"s0:W%aXIgbWv%8J* $|>7m,R\󂃀NHE}),sۿaez|י?3gV$ t\F21ל5#"#1OPO< tzv8K^c0N9QӟM\{u ߓp1g'V?>@H^=sHcT~d3?;=3 B#u$rCv#S$8<ϧ|Q;cg`q?#'=}34~c8v_4d#(ԁFqz < JN?? @)q1qO`@zg20;s@3H8^iu{S}GAGjpw##{„8=Q`_ւ={3נq&zvGGA >9y(sHBs}9 x׹2yT:8HhB:B~is89 CI83}udg167}/z Y^p@u@W;GX$6s(FpMqQN5O=Z:#'+~ڷ/xprӐOZo.eA(]~<sF[RשvWBH@݆OrIV*xY@GDZ䫖lgn8'#ޕw4MĒIpz`"9uқY_B$˖;pдr>x'C湟h3_xVKL͹3滀дn1 ׯ}W<*Uf|Pq5ڳeK $5${IHemo~JǔZ9TdoVݫUSVOM:[sXxEME%8=wDd~#Km[*vB-YT/$$x[L\iZY&ӨeVd:t=~HʭhЦ/^#x ׃cлxy$vIH׵xoR~[!a'}jPI G?O KlF/K8eT#3"Ql8cǥ.pcW< ÃGRٶT FqWtl`r8$ l Wy)fp'ǜ~4-P< 8~r\j1 '<84A^dR>*#pg8Hbpv  KvVl8l={S}lpO@'<Րc|e@'~{s8n?pBc"^\_#~ +nFܪ8 nzY2nA1>s^5⭵(DJ e ,*\qjhhI}w s*ȓ82s> i>9\FnXsxn {WA2;vڬ'U91$,O# :L"$B(M$c5*g$cj& x噎0@sz' ;'>ˢ Aaמ٨I!b~9QϯWI ?0 D1b@:=zF7 m1lkK1nzd`uֆc+>O{7=9-sjb 9L<zw @DNOrO$ u8Kߩ eyϦG;q9lt7HϯZ0͎[85,A 3|ʹT!TҢ,)lHđ|`g9k6[3HQ±$pXOoN[89%Fu E ?Iq֭DWU{ҪKb޽K 9<'RsF:=? r?0)/|v<w> NqǥY '$HjV#qY>\Y`cc>xeJB7}q>=;T`|?6l 2A%zZ8eNUDV:횈?6x)q@#& (9V-ngN* <8 P72!e=kVٶ7l6W6,H<SZ!. O,e1C\ے[9 9=xϯ41lGqޚ[oen@8'rl{cSEV';W=43AHpq3szSA@ wm9=ntmqJG# v|Ӹ7M3ڛARwFq }gu>@dv-29gU֞SCzb2v'?\zy/y|v7ۧo_ǭCp[''͟`ЊnCgspHj>rrzg=9(!}ퟔ8a8y dSU#1'֎ar|'8A#Ӹu=P}N7p2N? k8<w'=O3drG|9+' acYTQ<P lof W-צG|]&ȐE Ah.i]="yr$V Xv{v\#;Pnq޽9F0ρF-FO%Oː=ѺR~R%Fa!;ciM~dɏi.2cL / ~G5S枤RXsv^~T J.FIROS+V^]Na Ħ3Ǩ!v2$``y^yyOn!8{<=15*b=+9Qds:^F#hB?1?(H;\h%$bp\7xcvFr5]j a`r1SY<;rH`$zqI'O${gvp+ВAZWQZX'8m@OzvA'pW=9RZ"嶆JDFORAUO56O-6=:&y=A` A?*RT,2xӥ+6O AΤd ~O ;!UC)\ ;֔DI; pF9Fra|^sG=ZQϵݐn_8`hԿ2Ѻ`/ e-ff0&I =RzN.$vpKrp8Pt9sSm +9*=7F=;6dnC E| 0ӟLW$>3_+ڗ^K1`YHc|`l8sH#+:Q[r=ˑ 6G. v)#M26CFplh'LD69%A W#>͂x|7_3uzr?ǥF6䎥~~c/+%LZDF 0I$sg=3ҹ^M*m_ Zz&ӀR?\L''g#h1`x9 SAf=8sp ;%WvsFw۸?ơ@pɐ)==N3E%c>G#h VceKd8#$9Ҥ}*@써=qU߆l0p}MCܥ*%X 88}lia2zZDLyQ<#'qf2`ʅF’U6{ޔ尣ƿ(s19)N0 Rw}=1ϻf Ku00{: `{=sIo>:WM3yq`|tlsPnob3 ֦D׾[#98%8`uO8&JܵĞAKwc}qS'6Ԝqqjx<u@> ,Iny#ziHF +)qN}9G˟w/\\ .%G8>MSx#u>S,F~R~o*H9H9oָdbH?)Uy2r[{:cZ,ȟ$gnݻyvQ 򓜱 ێ1v7/+񓸜Ѓc~J1RI):n쩯CϮGo(~퓜zfm:#*t['sدw Zҵ'Nߞ7Iꤞx/ֺHmez|_{'jN;9Dn<YNW=>V/WxkV)v@lw稡B^U|͎OɎ?zU2O~ˊnn8=N9 .@#NN*,#?˴q'Z~E v'И45ہds/`;v1O'ŸNi\} ,$`IAJ1F~=0=E>]Erj(rbAX׿7IBnvZ*}Itbuܹ߰"n!#nr ͎#RA$S e͐zq?JV:bm'7 F202FIԃ^b̬Cc*xcGPY#M9+n@8$p@˨#dYwP;>Sv~z xhH=;s1Ӷz~2:,;c҆9GNqYתs'ad' yH?}2Jڙ2;gHN3O^Fqbnz\r6"$ 09>Ş\ F1n7|9uIa=Qaqx83{`vF XkSeq0w _:l,dM:G8uӚq֣:(.yWr$|y?lC`\WR7Ҵc2ul8={Z٤M$˘av7,xE~,✭rq:$h$.Up~BFzS$ƗS:D' e0r`ZNWvf$ d w 9<֪6jڻ]X^%ޡm+2E<0\ߪ lt5nlu+ #z`W\QףG^뵿;u_Wq>>SR@]R3Ҽo3&[tJ3$Ѫ0a 1QQRy\Ȋo*Ru2, ڲeͼK 8,~^ nϽd1Ag_é[ApWWRq4WdfX8%XF1m'cURnyɧfE2t3 C`m$~o7V7p\3M, ,N;u#i̯R{K+!9A f IFdeL|8<zW~t/NbhM: 6gxd >nN3X0j!, rQ<[KϮi6w=!2vO{?{y6-u,3ڸu>hb(NGnJ1oE] ']Zx EҮ'ՆF9⣐N%O9%Tǽ>WN/[rWz+ڑ觠u>5!Q B)ar486E*~Ϩܑm1H# ? Zbbdc#NHt^:, 9$(zֻ+'PV^$|<}0VN+Jp&nC <<+8C{~9N_k} ߑL.=5ְDsμaK͝Oj8iH &w?/l!z ~7zGv|~_#eB#[8T(RU?v.Z&Gɥ.2撎E&ޚSfh`gx" b)u`732J]K{_Ǧ,E$~rvӡpQ4}QJ&[J6U{>Fy-wL n4r&Ȳ^V22B#k|=˟6U0܋x|*d=zkhR7Vq9w^HtKXfpH'nr8x8|yGma-p>W ;}`%, G˂߯cUxv`sa#93/A3HH? 'TR h+ur ˩ԶmB+}u< xGěi͒$*'0NV'y'YɈX}qb,8AV|@;qz~y; x*6021\H zjA9\7˹ssԃ$njq8<G\qXX9-#j!aN'uc'LH\L>z#7COOqDef7-ߐHNyʌ۞=G#kj2/L9?ЫZ.n)#qT:RcÞ둏ƳNm͡RrdV@,q>(qnlq7p3QtSZ[9z%*Ǟ}`6zJ7>xrNwoƽ^7sg 2F03޴#Ψ"v898 ^j?.ޠ{qsӃ֞3H玽A @'Ǡ%s۰aq=@i0[);mEoqG\ާ|.Gv8FP1>qG޸ׇw+qG~#ߵxX==O=s*uwz8:}NȐa@OT{ [5HLO+rm~̒qzN#cI .x@U@G>ԙtAO9pq]u G#{g5auG㣫!5w2ݸ©DW 0[%f]I?yx,ҡ|F01mgTu.;#єL);hrm~53بYp'iwuVBCG7t sp121e109<_ygGB@E`9*{ӡ4D~ Wng(ĮP0y5}e O'}:V[Xuy{x3x lEye+2U@z{g>15Z#ԯRw1 k : ßUMyg,؏oliZtQ.G+$`)}=+ZKv3tr?ÎeNfb{W"9X 2Dž,YI$ҝ3$s|D:зhf59r  8F*˜UR x;U&@ 2Czҵ~2c# fa}zSdN :/$p=F: 1mPel~;Қqm<džS !mwXԓETƌA dǩ%2y4s\(28p>zTcZq;oY>ƣQf*Dߘ/Z(t(Ȩ?;T7j[|1؄X}̎IR1s2H#1צi!y遌v== #;6HʞI,1njywn%U9 X8Ϸ9ƀݡ%g0`@˼ FBr!JCξӵlpO`] X).îa]꼉8]Zh<rGMF@ܨ$ t[CHDː2Wžݢ#%ןh.#$m5!_P>PѦBW?yx]|μ"t@NL=pF>H`VcvyAL#G\0 gۏLU#8\_O?w~t9~P.3FqtS~z恉y\۠>n0;Gs8S=33u#9׹g9N샏*N?h@'$ CǷCL8jL>sfǡ'?JcӠ <=} <ϡ&=_Q֤zu^3F2yZl:0N=ޙt8: 3`۞٤>1 z۳(ē_\t8Ru8O$0w2y=E<y? 퍼=Rpp<BaI RIap={fcWTo|zq隨 WysƑ[ʹ,0Caݏqp񵼬y_ji#Vxv+=~]s’%'G@}潚j Rru Z5Px* 7,EwbspzMt_V. ~V,KہVwHqȾ^#< [-jwvroYҠG-7g${WuccQ2̫2lV8aM_<|uR:O u2r1ީM7XmGzjo=NHuHIťD +G8nWBXZAQ ^xخǒ1V~qu}VrznϙJ\\b:3ZZN%"ܳEBnb1R|>$Jx O}|U4",a\z$|[zO1\9Cl$'W>dYcb+ 0q/M+"gKNky2'J-|YH,)w}4i"mo$u9u%,`rmb:*y. O\֡Kp6`#)'IGMߡjٲ#܍X+3`0zIw0 ~M9%/*^6kxyބ.!Xr*;Y!Q tM&*P qN:6& d8 ()u^וZ?ʛb@Wwn'ڛCyH2alqqWgLm)+;T'Rc xy1w 9sh̻p/|ߠH`.W tcB8PwdsϯB}U!00vϯ^i;`݂X`u?w֓BU"OFc x7M(] Cg9$)_aI>lwm99sR!0Q uǡh?P†6~b18<';@o A$!eT;}嗞'FGojC02IQKBe2X(aBzBFϘAR?>1B{\g O#=:]7cYԅ?wK"e\|9Ž8Ml8d(#=1Э7Td(^F98d櫧&YF0#' ;Ty\m<~>#K[8@8\w8) _oZ(W,U# @GlrqRƀ rpۜ4/IX{rTg;ORr\n ӥHX[Lv"^?@l?n)GY [2ʷ q SNA$+7-'Ȯr4<2Xᕋ 6yR8~ϿxrX:8^sB:>fyjKͲpnjd/#f vF us ;{1qb-؎&FNb\n={Tߔ!<.@(kN o?)9+؜g מ >? g FIR"ax n$zkB\A; q~܄b8 W$'"0Sܶ2s[3&۰\̿oFZPnΠ9EU6$$XH!$.2@^O=!d#^U@w3(';Ix߂8|WK|ӊZ9fcF}9*p7I zzVѻ3x;H l \rzm!Ig4IXMł;O`Xt'JųhF_,nAJ9>fRUOr7^Hנ,_z!W##.lTA8rHf<1r}h.0WtS$,i`r _8ܓ})Ա8KIpT<`G.AcN̯OӮGZD-lQF2 Q$2Ig'J 01=8ӊԌa9mʘyM#,,UP9\w2:W+999ĮTmUnFK7*Ϧqҟ@DAxeP c$  Ȥ'LqnA$~=.cAlpBuvsR?xO;3INwng;=><`,'rFafu:+n…Xsk'qӭvv[`#jHd"#;OM:վ̏p1JsT^c쨛Wbp J1A@n<&Q՛ŐRGQ0ycqx9565L*G8֘}#`WiQ%$>gW[z} RN}FFqԃ :09ryǨ'YA0N:ǡldt$Žby0GQҤi0w^G4 埑r2giO?8KԒ_U? D <9o?>dIH'+n21x= jɷ9 'ҥVb̘xۊ9qy%x$s ;=_#=Rc@uZV(;H<[UeQ>v<m={gZZ"r7 P'F'qUDVI(n~nF =RF*?;8R#AvnGW(lr-Iy'S99,T6sgyTx@@b2XI+%uN:6`;\y$tW$CnfMd sI{GjgcX`d-́޳*{1 =F=Y؀'v8u*nA@r{TR.< J>BOJB9' Cc\%1F{~)\ʂOשC%'* 'crp7mPOQZZy'rH9Sc#w}~gܞ}*m ѸPvԎy#.$c$|95-M'$>mt=;ҹ6!iy Aey GOo_jiKAх. :U -vF;M j] r][yǗ6sɩĭ'vp' a#c'ic n| W16"]BKq^8QsַPtap$F@#xv~S g}zvlnHWn:NOC'~UNSqڤ?8֎ZPX+.$)<{U,c-NPsQKbup9fqӾ0;;*烍($Aq'A?Ts?.Aݎ1~=(I`w?&{zwҨIPDk(A;tf$tݻWc1zsҡ'.wvNzܯ@3A* ˀI¥Rg}N9v'ȪӅNz+Hn9s9~jNy\d8ߕ9l8tP^s^y<鞵f\ 999=؎q\s^74[w vHpA98s0##ḑ!Ͻt9nC űǽ@ޣ#9㜟jgԙF@N< F =Œt `|pzprsғ\ey9?6$DFUB!^I٘yǚ"6u8nJapO1J; c${M~giCHU^E^y_Y|2;.gr߭&"ycҴ$1` d3e9}N@ޕepHc߶s=kDHYJK7d9Py'l r9A#ۓ֩2'Ig~@a'ijSʜGQrI6 xz\dcj&>B6`3Ӯj'jE'wB_ '?_Zgy?usj]I 91Q~[ ^۠9ݗX6~m ӎ{o@Ti>a`}ۏCބ~nϯ\{ҹV霌m'Ayޙ6i$/r9TR8qr7o-[W LwXFF.x9SwZE.1' 08݌$+r:->S};sIL* #8 szW#D]=(pH rWb~ #=8wO{טd)1Wվx zsxjGLF7݀q۷?Jx's`#'"={z{u2\q޳hi= n#Rr1O$>F gp5]8 ;z \T4ZdeHzlPps813GFz'$G+9G _T@Ď<҉1ps<k؆򧸛8pzp@=L>oz}hf7Ӄg%>Q93ڀIg9?FE; Ol_z&{~߇Jބ Agql{tR|voZa\`F1S\F9 :ۥIp~Sտ*cwS/mNzrk3)S9Lcԧc>&:}nhb>S1_։j=mDrKj$b#FcޣXZ4GYuke;&|+i1]cdc`pF=k?Kn${F<q#=)HI|*^vǠv'k6W̑$[z<玂 {D' 6\#* 9WԖI.%7ɶRʋ%H뎂C?-)}jڽ6+d';^N26ީJ7UFsON1?Z:4'GgٞF23yBw7*h4 4 RLaxkwHNOY]BqOVHմl%fq?=v}-G%x]H1Շ9Qec%ؐq#'9z_pg{tKR\ <8e#^kMN76GszǕ۹ϯSR. v9>lg; uϩFmjkO4II(vRzC)r`uT U%][$FF0 /c\D>ʳWlOXLFs(p`qg;K:k} jXCcmJ>Nٶy`t˨^ȡXbV/) 4DsqMe婃.v:4Xq)Xg]4X廒 $j6w}eFFr-#&i2O\UDDCm Uf^qqSz[SWݖx}~qX mns!2m99 [kv,1ly 9OBh;vkxGl.9I:?Ja+`,s3ޭY!jƒse[@y/ $gh ٕRv:9+_/+ZgKK.3p=qŖOQ%EudRvw՘z7iv[.w$洴s1ډI\Hf1ӜJ Y}Mkkw75ņ- ˏ >i V-F8vr!Cnu$d=N1tƮo39Cmٙ1..#|Sqv#L*瀾o f{˛ASsp ˙ FG51R(Oz;X婃Zr$uV)jߨс,ڼ g,z7̳Cg J4,&Q,of!=%Qy蠺u/IHiܯ"h6m# {[ֳix[L4If+j~#DXi r9$d'k!@\իqr۔%eo)'IJqVjP[K`1I&8'#U$,)aU bּLC|]jt7! ]q$=O,#+G|Uu'q"pG9So(y8 9U ' qV 0N6$sאyR79' qӁ^ lfŔ :u#z*wR2G x{:}*Ћjf; qvp 'ۓ&@ }nUp1ܓH#91ޠy'@pd(VL~c$$glV| %ӷ>&tARaӊq=/v> (p 6y{g85R+mFyiXf:CMXpszy8#KMI 9=A=>q۱'uӋ?}qۜP489G\O뎕 WЮ=zg{gJ q60{Ұs80sչcqǠWMhy꣜[9vJ1qF8l_lWDQؼQ#8gi^00劫 p:#{Tx_T.FX˞=F{{~TXЎ'ߧ(뜑y窏U7oR=Wv8e"zaH#UwV ~ }GpS_ޒ`z>SH?<bq>njcwbyQwRB`﵇v. <8GQIhѿ`cFr#o:wwcWNfXcRsӌ:.rt?ʼn#9_[%cK`䲿#.C/@k#qn6v7ð'zi4xHO̠`$uozSA{: 9aOiG%NH~c=!q$> @\ n#J}p%Y\* 2=pqɤD xp_nw;PϠEeabKC9,NHMvznc-gpd`r8=z//#1I Y ,621Dhk6LlQ#n@ Lef%8ۈeL AU븐5*$:#aA(< yWN\eXlt O蚎ڽ6wdR#5ĎЅo uy"9RC2~ ݗqU~nej{K$sr88+`2͍p@'JKsV2P',#i$8U;u<}9C֛@-3ʩ d9'J+cFq2*IZq:B|́xN9'Z_SLcq3wݴLG؋4 T(:mQ |_9';W$}Us7O$w#mDZjATbRN9#WiAeLwCCpA_7tP0 w+rN@9B&V3ŇQӐ3V.㴶;yL7s͓:jz')*XXG,v|$ݝ1؎IGU)+ہґ*.F`a(cgfFU(1z;TX2yQL}86`Vbz :{ehMRF[Lp,Ӕ^5\<{[{_9ib[wK$`eGD$ `%@ ( vq}]I 73 G}FI8XV[ rWY>彉i nL_jڹBjz֒Jv3!!=GDw=\ksfQ@bc9ҳɶD,Ŋi29翯N'y~X usLgQN{J:#?w8}:SWy'<89ï~hXRJHH=rw),(#=ڔdyF֋ jKJ|l%ShfVI q<Զ[H0w*Fj3;ū PH،嶉 P=`<5?=*w@JzR/Pmu3|6rP3X涴*T>ۆgR793fW;YT2.0p 鐸#la Ίv}>i[c%ݖEʡ@f 7! gy_&rNHʼ6},H1ޯm_=c*HGq ns^&7OMGjZIop%;C6ņ9_Cxo[L@# Ay5vil}ik=RAW Qׯj˦TN$br"IJ ?}N+MO6˹ ʨ\1Mn'<׫C&BVIRi.Nw0q_IGcܓݿRƧxĖB}(n+'lCb{xTTe?X=>J-/]O2I3>"C :Mܛd"–ݒ G_m}mbyڪ?2瓒8{~Z鶺COo]_NB¢2wbNᤦJiu=@-RƙVIoWF-bhYܷj呢r`?y$hqC)"Yһ>l2e:3Jыh&+D.qGSUxҴTuvچNc,>i6JK]]?}ܒ0yBQ\44n>f]XE(e) c Y>˪Z\ZA~e( >}w{J & E'b$O N[2*ByWEmD: B஋t{`˄p#e~q׷Cv~D(4ߙyj O2F6 (3*EW2;S20ǧ=(rRd@$u 7ndr2yڙ a:~ZX_;|1+9'p9ed38 Q'޿Z%KM=Đysflm@aqל?u{8݂aw`? D")Վ\&3{R]qAs 䲰UTv3JTFvhԏjCm'&F|Yn==(TvdSMrX 2〧;^7n;ՠ$U [$9㸩\kݎX> ,[7@se@PwrAwҗAɱ;I`aϱE2Ee&][vv?=C$'+ m2F *R2)w.|wnj/ȶY$9bFy~㊨஧v@eLSxp=;Q*|$C `[ׯZS+g%q${h'~lwWj\g3C؞ |{=E.Npn^$UW( WD^+`&|/RN+TVr988~`}2a:!$^XN.?kVr8]qXHͻ Ե'88 N Ӆ~3~bq a{^n0yassҚ~[ :r8۽0.y/;vIa9%vv䌑랂1bNO8#bORPv93RYNz8:c #l9w*$q`W<~*~RX@;@'ecNrp@둀1ըS^!^s@8c n9O@Xep1szkf3I1r88<6jz |H?(gmCxq*GU`FyuH`@Cuuǿ~m-*-Ү3GE}m-pV ) 披~W%g?:?I=F{3yrZh ;ã|Þ@;Tf<'$:m8]*My䜞s=Fcn8,1}ym:NzzdQa8'=jMqӟQQpx7sW=H22p0ObyH8 ޘq@ ##?,Oxp`yߏaSc3: #6x'8zj$÷>R94䜒9x 'pS8=A$t>7TҕƢ)=89yvRw/ g1H&rs8$<3~#|=*Q/lsgcW0r=N}siF=H|IORY2A=*@<ѱ'~0 c ֥p{t<C.rNs` 3G0(&qxm99{W+I1F~ОcZ~5>qLpy*p@c۴>+a{/,vp}1[fՓ8w|U8 Ns)_vTA^Zy6q$r{zO}v[T)-ڠUd븮y8yP>"i±ݵ\)|?PpA~QLuJD̹J;HGnsb ]JfhPly`c>ޕ]O Ie9v[@)09z{p0,yg{p ~۳zrF0O#銟/1Xny㎫ DbyXzQ(p N w# =Wp AlhNyTp#/|[n<6#=NWFw~8"-8C=z2zT  ^g)SZnr;PpA^N8ոݐ>N$N̠`?x8`A we&irJNV\r~ 6MB0 >szY9lrW$sR!S(3 ;` y\=3^č;gwAАc<vh+Я n'[,vF9GBr@18:mJU]#CW'U*P `$wzcc@G yE=pA0>S1n<qus wt,9FF8湣\)ʟFs9SzRV\CPŹF$)^y&re[2'IX.c#<ӟ*$l.1<snA (8;: g3A%O{AV;qSG,J U$"SFިFtYwf`cs"nwt!OzUy%? 0 <{Ȩ{V!!Hq뚨NM&Rg0+b20sۊ;q~q!`@N~rI|˽M yՉ`h^uU-P#@qco=韦s\mȺ8ʒUFd˲G8Vg# [-wC9;U~c$'=S=kfcԷ1pIvcv@;l`aǿ?E9PqD=j.7gl=*lfY"b> TZ;s\drتg[A\@Rp~^A9 !ṉR,~g?O1'@F>e 9_`?#kh27䟼WۥZLINq[c9 Я#?sU'=qBg=|@VxoH]xa1P6'z};*@z1SzFmߩ'O|d1=Tu݅ۮ9|Ғ)x.KvT @1=w4L# q{zg_!;{tҸ MScqF2'TSH,2@qc(h\^xyw]pU_n #~fz)KβY~ҰݸShrW'%rzRdq~1'@rIҎlcw,ğnqozivw{뎼qQKx l@pVd8ܼ`|VFM#Kn# B1O\یL: +e8~݇8 |:c 9FTp]2 O,w۷$j\> 8 ڒ(qug#=yR F`Cއ ,{۷8# rۥi؍xH8 RMMFWdg $c'ʱ;hOsO#ӱ%@ z@/%UWe8<`I-Cz*JIgJ_+R)v#7 oa0$g@=>>É$u`rNx VufRm#;p$'ؤ&8Yl.X_P -^44>90p 1 (&݌dMqII[n)+cnN+ .>:޸=P=.@IRN:`{z88#+{3VJ(yԁW5BvG˂?ӯ}hacr >n:?\] 8Ob{~Cֹk?t褵7\[3y~'F z*k#҃Зn#${JB#q2~Q]Șg_(9?U?:YM88sҡ`sqߐF;f䋸\gҐNМN?ޚBy猒9gH#H =W1wvCF9qFG<PzڭȋA~V"0`Fn ux~1|?TWWVuo"_>}#(墳Z|ςlm{[ Ks4[L뜬㒵Q+\8ApS޽<=e9jב&U#dH 8TpBsdmt6LѲA%{?7l5Ͷ\2I#$y&ʖ LUu%Dm hgϙcq֩Byuoy 8|0"7q َu(h@ިH8 uȨmظg$IDXJ*,BIk&ϕnAw-=V;KE[/#4pf۴d?0V/y@1ֽHW*N_}ߙsKɷH'ҹ )9T!qZwnsC(UbجpOaIq"m_1l<{_Fm[蝒ĂwFWxDGyu㎽(U4[CNEM1*HT|v]:83ZVZV1eFE 8t#?e}-m*l(7ĜC߭a\DIX7qw 7]4 dȚZ5cvAsֺa]gRGdz{A}{ns\q?9ݑH׳3lGY]~f2Ԇ:UBTK\ߜOs*z,Yc*9nGS4'N];ڛ̌|+Iq8*3cȺmSU,~ݞ9GZjz4YCMu$+Fy{^bmJ6S*A~szU"dEPdm"%V0X47xUWhmfI$2JWӷOJRDq WNPs M˅ﱕqx,șr=@ K4H&B )<p3Vw`F<ӟ_ZEr-[+3(21:w&'7Glx<:gFd&2U0rדڵ% Tޱ7z ݺd8+9'iC_M鳫CrH?k(:8zr3Hp9&Wqۮ9xNOLp1usۥ3$zH$v uw=6}O?Gn3a\k9`z{Sqֳes"qrǡ砮j}~azs\vg!t?1Ӛ.G}@6GJCýbe 1G%"Nߝ!^Gx`s{жhh1?wӯZ${$?Ž]g(1n u{੹MzGIF}raUpcqǵqW̸Pq +mRg>ұR#'W*rPÜ$NDor{*?}vJ(ReK+O>[iy0l<8dt5Pq)?0vKIܯ&K mJ qǸǭ5d錜nבRK=3q'=P!bw>J/2&9QG8ܜ{&Rm S@ڥ@t*&DY sI6c'h*e8ʃuAޚbޭ QH>tIVYm?y`7$֗PKiYC-o)>afjݤ?p e`v2ی{&.xr@;{~~^Y-x-(HĮ6Aq#!~T$`۹zB߯SUjx 1דW71*B苂60ww8ٖE0BxQ׿Sڔ!\dЅz=齊D; Lq<L*"rr'Yܮ].RU\6$ 9q+wLYd.>cIXcifjPˆEgZt#O|wnglȸDv~H\6v4q11zUy|60ڋOssX4 K NF8}yΡ+=;*1tgZ-GQ!NrwGu J֊,\/@R@*z=1+I;/#39je's P/ǹϽrMcCەOE?֡_n0G.2Gue2ݰܹ#;pNq늏dm-)3~ѵw12c=X ON*`ǡr0;^gH7FજS},6[-ЖRqibwbC~ KsV} OʐpՋƬdgsֶ^g,F<[ wJ6t30x/??Z-L^yKVE vK`yL IO3[?;a_ϥl`1Q{arsO^>QTci%H9jhЂtv O̠3zOޒ;^@H9ǯ4{s/!Ap6p{S!s6Hi+t\uFJ( "< nTWu ( nI"ʇ8b -,.>q BTDdRFی7#5~cbX9S\8áԭq3̠r9 Pzbʱv#gnF6L:SBL+yd.K9*0>iWW ,C,Km2йpN'9oJ66A;>bɥY0\$, !M(.+0cxQ.{ ǚvʾDʱ",噷nl5~MnU\C #HJ H1My4V;9 qXBWyzL|/}N}AcO*e a6B19<Qe5S=H%MHJqqx&;@yҥ'z $p?Qr39@x=2{  z w?D90OIlwhIA=#MNݎNWJw]}G[zvqI֛F::w Ons;KOP&}<`SJwx鎤y>Ǡ=í\;8#8@ *{t?' 3:!~$ޗ%x8?!OL89Ҍy}GBg׷ΜO'{&x1=GSd3w:d?/1?۱;q~{L8vV׌I68$8<~s^4ŭ+|lo*ĝ#׏Ng<;B;FTt+ⶌr4 2ps1Aמ8jK69P[t99te;N3*##>j ' ݳ9.r_1׮0=*ӳ9ڻ3.:gxG5n3JF2fl1s2K,HH95ܻpp0w Fz\ehqg#,ۀXW#+c3'P/^RbIxXH%bY{E,sI1q׸"SnE_ )c9p7aTKP 3hwp1r&{֤w8B79=5I^LGCAw@d rM7' ),TQvo0Q"8 B9 tATiFX' zLUO/Kz.w ܒJ眏ǥe/;wU;բPF sH#nǚJpÈNF:';|-u &K$svOԿ{nwp7rI{TjK8R[tq~ V,dg\˂Iwr#QG8ʕ9C7/SwۜG-<>֭Fp\v3d^eWtj n,['8t K"H1Fdjm9$wGx^=%M:F$c H\̗Iu*GlvzvkϧM_M-xS TSc۷BR-X%u3Ԁ0OF^5w.S3\o\ y̿/dTo]q4NWƤS.!$q^8=SJ-N%Q2zWi;ӮIVAD.Ɇ.X$U.E}dۺ;NgwPilm:4fRYbQq{׾it_ +] KP&u#CE( p]a (<P2[`}u2:KV7G/ktȏd:%+ ~ow0|_.$0|#x+'9<ʪ %MnHо!zI XRYy<#=\E&-%a ssNN]LBqZ^(~<>ЭzF:.>nppErZ I\g;p*1VoԳ.sySy p|OV,#әA2@Sgt=xWt-Kv&Ƒ ʜ&y Pԣ #&\JJ9q?kkj/4>}_!SSFZT ڄʃx_t?`8۷x өv!xݑ֖"|SH~N={$c+(U='#O֚:ùFV א5)&݀0$w.JԎ{зVym0*6+7I9R0A8IrHBs۵LF[+cg`=wn `mP6R#z.ܣ@{`;=Ku>ycڙ A9 ۞)u*$P%jAhV8@I8IuVo}*F/mbrNN.c#' d6ui0DeN pTTx\g'=3 * 2 :뜁 K{ Pc^I ڔ7=@}}qT$ݎ ~' 18vGGBP6sb\ (끌soi助'⌗'ji 9;I9}y@1@~p'Ќ猟A#IP[hp6 P=we'STw0H Ўv N$FۚY[p%s8 s-޴bOO{#?356U+i'^NmUnFK, {Oʡ2ZR'ʬIRr%z kn-c`q#MKG;) {$gp3*Ұ*PwF[bsң'9RrM{ ۻp>VzjpqqȻ;Xu$;ts#9G#:~Tpr03XOc+ 2Fs^W׃T$EݻNG@ nGl{₆BXs9cX Xrp4G>`G(!U 2X5Ĩ33t9zW1p `z0+x=:[ iR@2$O֐*6 hD8 `ݖ8FФ=p{R @ͻNu$8G{~ tlg=nSAьaT!F2~vzOS9r7$r>OT4uv8 i*a(o\ s==x} bz>JV#z_W;n&GXq,v94 \$c^Cg;T#W֬0 9 n`}~j X~G>b61p`}1ګ2`OO9PJZTg9%sZnIyx|=Z-Ho?x \Rln9/CurD$v?M5'zsץKMȶ$7Tsڃ>QGzwcc#$*?\ zg*ecAG~~(i8Gԃn緷^C 3M$篩z_D.{@Np?/.\SL` y<*z֩yzN1Hx2޽x}"M^I=4^sO֢wOC܁*a':c=G= i<8rK*0OߌzPޢqd@qA9lN~ho@Q3pl{8W3N'=r:v+K4P?Fqn8`~,Jr@IzwՖ6qb՗[qЏGD. lG8 oJjnGԱH€@X~Âro8$q޴DmݶxF3JLєW?_J&3&Rx rzʭ8ff-^QRZ&!It?w ;1w>5ܐ1 # 瞕= {rFNy8Zj 8'?/n3:%.!yϡ=>9*ʾp~N6ʇsճ*<v߰AO8$Xd猒~W9> v;dn}~Fsw.͎=:gPc8st楽ʶ!|r*89 pGJIDL~u&$a@p>oҝZo!@0*t~ʞ13ۀ޽8+mhH$c !d6;Ox3WSmVV'?.{QEȱfUsl2Sx9[F=)q+}k6\id-'nK =?Z09lI p?zVR74">E@8 ? g]BTarKqc.LR؟w.hD f6Öb1 T4½ jCTafD,ĝ=~[(ˆ$qwQ\LpÓ< YTR` x5΍r.>_BH I s޶`| 0Cctⶉ[bYl-°V8f\H+;qgDy ׽Sv<)T| 0q8\Pkm̃cjҽ09ߵUpIwe_@:zՠ7up#b۲W=p9tɗ܁vTu}VAvl X?P0f; g)7Ww??[S<8 g<PĐ@x,:I=}{?R` 'dGn3*'?/@6zO' '~9%8W 0k7B1J0Ax+c@J?F#~evte: Ż۩Il?r g''?ZYI, zdsK3F*&_g$7YGSDۑ1k6eHBz,a T{QFnY[$ ֔o v `ؗs(A=x'j8 ۔>8=KQUѤ6O p}i9;I\=x?rէ`Spӌ2 cm% w;wN{~*qU$pNdO̷Sx:qy?3 T$@P(\u'Nn&L. H$J[ ׁz88ӊN60w<ܜa#xq8^98=;=1]!II܍  vjRGp08X~cENָq;>VAǹFy9? 1nS: 29*zqM' 㜧$sޮ"-q<(qG }rMK韠9<;^ G; ciry9D)3Lr*8Ox9f٤F1by`{dz8t8<|æ=%"gZ20D)IaX9b`qھOW#q5,9U0:Y=h՞wO hsh(ttxŚ{n]8NT0fFL:_ls\Z;]BBe-l^B8z)=VͧG5}F+MJ O|Y7i'{^id-,8]I~8\8SSpԃ[\lQ$3ʎzzdc|/9\浱/&Vʶޙ tpҭG*H|C0Iઃ(%Pq׎ 7R?gA)d hĒge2R6xBH-эJ?`S{ܙSK59$9=GZS.g>tد,*dSnesBӾ*\Xn&0Ul} d그*>Qiwi52+K ApwBҲ5-0(# $"ҍ.:B݁QW魍 >,> r_s dF~< =Z‘X@dS 71@;5.z[mq%}w9iQ84 Ƞү5=^u'.XH H& r'bYRK;ɫQϯ' =zOiVm5>mIFjI'aLefv m_qw1B1`!]pîOER_6^odR^l.eZ8d Ls["o6A;V$*;RqThѤats\r9TV+zIR [$H=TڔCGO-;rgzc֧3C3q?6`;Ee:hfi6_wMurB8Amj0qn"Anx8aKt=yjݓTddZ06J䝤Xc=XmC;J`|矺 `s}‡m$nx޼+fةg8RHW4ݓ;=Sdu*Z=EG$F9x:cYSVQW,52I䒧nA{t?y ,p:s@Jy݅n0p*I } '9 `yN>m<!2y_ZHV?ލG~~E(<IҘX&ӌO\rG~H8Pz6'h4i1~sOL?a{WSv{z (s;0b31tp9M"!Ѓ3N@'@<¹ "&xԎ?DP;}F:g?ʰMTU}N\z0R>?)98WL填`xZ>܊8*I$vS>=sƱWO@8"~'  <qL9#'N1z13xr1֠=܎}OzR!lʌ{}qQd32wh#w99 p=> `;AqP[t ʹˑx, 81Vݝz <I=+ Hry%]W9yr:b}<3s q徕i= 9#s3{fG#q;SQswObd9'x8 x'8,==[T94ߎx2row"FҾV,Ã/%p!W9 t'8s9AOVaH 2v?/ z zc֪Go Â&0qׁ»Ӎ7;zX/!I#q;rzNv99lIn8?MM(w\dOˮ{X[XޜbNy=Bo9e =OVYZBJ<0bE#21= c^(Bstq:uʷI.6:cW&gbI^4%oIO8hčFЏzoJj:-=6r?h)'RzEZѹ2;'.R4݅)Gn{W~يEBX j[83/vᷰ@Y<p\ 7'$}&k\<$(9C0_Ac9D*j}[X$}s֬GA6C's5N`PA;X Ҹ9'hczvF,.N6m á'Ul 82'9>!Rp y'ק`cX G#֥ pܕ`xL( 63ppwgcqOp\Q( 8=9S̀N3p3ҩl ž\60zVc*HBG#)xz=YL +2ĕ G<`B~gTD@+3q]+s%ƱsqoDf4 ZLIk9.WwFC^9RD X6 yVaDh;c&E;<p\_QR oΛC{F~9He=9/$U0s؛iv6f2W,Fq?Jd%,Je;ダj  3im+շd2kGgmu; ʐˉ#"D_ʭf>{[)ޤJ2@W]r ?=͢iox͍ʜ$hq2xFFxp1c'={`T"Jz'8=0*H㔩;I9fSB{wg%|@*m횯6 2Xxלg$5#nnW1z>/"*6A^vqǥV(r+dƭ29a ə]w@ \ ¿m4 F B6y5:f$`icuvn9zoI_̘}Ne(v qy ~U%vGީ)oGb=H89zmϱ`cw4۞jR9z sp=)n~{zR8ۑƀÐr}rxOOc M8N~Ǧ~i39׎pq;q8B`/>ޢ;y1 Lzu&{99? .+ מy@$~w=?ӳE0?N)GQq } j3qh8?J9zA8=O'V>H?N?ҋ;'n2{?>84 sۓSw<`cbc=@)Ӟx84LyϿzyEN=sHMsi&?.Zo\s<$q֐ l(qs>^c-\[`QRqn@mWM]c 7aI l^FLc5OF0B9e8*ps_2Kp3?)1Þ5T-,ALFG9>ԥW{b\MmX?ʡAF5]\`$*3b}+44>!N g*I¯Pxޜǰ۱mh[`v#61FuVHWCpl7+ُʧ㿥dbзÆGX`/ z;p}gp'x;s݉QЃ[\̶@bHFzsx,G2a] ۏm!^uQyԯLng :SqUFGTsUL#;y'ЊaByݹ tj%vA8 ԶheYw03n@?#״L`"yTJ2 F?a!WjĺEV,8(AqzK3/{3n7`iߏCDg pO!(P  o_R 旽莥Dr%u۸))VfY~W9 ە![ 6GC^exziZGgX0ʊ2vnbW>&u2N JG5)=/C%+.C`e$8I9mM|cCpqyuv>K}kr:C\S,[ {u ׵Ƕќf9eR ڻJVcϩKͺԗ;4T:e;v(>sƼK{@ʄXI$av9k)=-N*$zh}+g\_!cz&2H=עD; ap]Ĭ$ms!$c#ZzDos#O1@b,B:}H})B03c}}54LZ0\SJƤ~lC5 *UޕIK)[Ns5|m-x|gjAGLqЌJ[/anH :21">ࠃ"rGa)*wbcoQQweB2TWq&UnPČIG3jH 䬟8}+#`mBvs=}cNb2 Y'Pu>ܧ?*}n|ϐ $2io9S튮Ɇ,+s*}k@<,pW9'>#%v 9-9*   N=)`$NykNBw(G!Y-Tz8X6`g `辿SU~ %O 0x<繧N|qScxbN{@iN6}29#ޟ #9Nz*KFߡv}6Pe;bCv}Ŕ\`W@ֿAsJp#xic9!Y?(smr6wSO^:޴fZ P~nX!csu<~s-x>P|&ߩH$)TN>wc8` [n;9FcsMRF$FNnh=0N6ecd3L$6Kr j Ev$Ԛ #139f20i;FRwđHۓڕAG8ǡ2PIg'wyh  dcǀ$(˴zcA 3p NtT%ԒM_\9b: QGlS'Y\?.^27W@d{{?*F'Oc鎔 B,ʤ's)|.9ހ{qL8ʁ-r}JGx_.8}{rE."xV9 Kxٿ Էb{bI OZ-&Hl;Fz1Q^Fwک򪓸?{¢;c12e^UAY3zBpsGppwg?Tg=(}=sAN*[ۏJ$xz=GZOKwe0`ɜBgzzNXU%+m\#5;#.H#9Us8^1[ w`| IK}3ܤv?ضJ=#K4c#;| @P\#洒v}8FG OFg93Pw MyVl08;wt#*z#=2OK?/\NjZ.,6<#x⑓sڕ*NX@M(6r OO)\•@!T~Qw 2HkDTd3i`G\gB9?,uW^žQ:r8OJE )3ң)Ќ}ԯN%@1OץfE9Ϸ~q=Ji*=sI#"39}}zsq#xВSC< rs֠h:}_A) SxTbp:`p~̎Xq xh؏d \碟}+h+|$;uz:s+?$a>y GFv`sERs WNqAﴓZO,p։FF2-jtrFI'>Ɠ,N_c A}ۥLTNUGR){c>&n;oQZ#J-:2}3I~e`w#chn^7cfyRT,1YIZآTIm$1[=OLtI;!s7`ZcB s0;Ov3=9Ci- y99g8J,L^Io6*N'ܞSwmʪ=qr7FER[j9s=~ͻ%H9 ~8}k1RP|(IfnAݓnӂ98>nvϨ9 c@Oq1OLC.FW?.NIy$c֤+)60NN@,0~}^>E]\ Hʄl=g8⽻Gue s?(YTS,Ja lWF{ەLFYn?w68ss6MCFs,<8#VQrsװ=*'eՀ!O9!:`sb {ӂeOmN¿8C3ҙ3ϿҰDɏnzdOˌr*'$7d{q9qRit*1g<j'@I#w+z%MS*HF38\Y Gx?c헛 ہ#gpAGKUѻE'*nL7MGakg(8Ȥ`I}M}E(?'wD )F@^sVĄwvs|U8_c7=z``TfC9< <8W˞?F\iA,c]TZ>Q F8Uf;d8Ӟ[-H|z<`qpx>񴜒X~G61sc9U_dԃgc5I݌dc c#rHnIg41|d{~|r#99Y>X 66c=O x.ā##SwRlml*H* }'?{ _Ar@*R_Tm篦hZLrI~vwr)Ox}u>l'pQӜH"TeIFv#?7>x`t@p2^O9'ғ ]p#nk]s$; y5q>lw<Q6B lH#\q=r18<~yN}pr;WպXv=sԏq^myhv;v-g Ny=h@Qߥyك r:.9[ҘypI?#8W1#Kay=s֣1#d_ZaGsA!}oQ9~EXB}@ݑ utӞ=Hg{vbzL' zwZGm둷31:c=<3g :rxuҞv.ćIAL^;py~.zzerr 9M\t:ݷcێٮ':8qӮAY6QHzV 眑' ¸gԶ& #HCN`?CH\glzr=Os#<“ؤȶnysI= F<gbG*Fra;tBTw|q+zuDV?9s!UߏON=k."X'8zϭAhg$F );2px?"%3`s'=b:ȧ#,CNjlkk kkK[ U|q_ljnP|v`+)+k WK3+H*L0NР8aqAC n2?Q׽X㯭rX8U8:N <۸*#Ydj'2Aq26} e,^0=j8V̅[k6rKSmw*yleFddluR< 8=qRk_Q^ϨF,R{8&GÚ$6mBHXwn;4y 9sRW+?7ܶ.#ly[8 ~r{sH@䪕۸ds9ay\2 <b8Aqo3h̏$ ?,Q`FLF[sn NIJeJU }iMP6FI'v샓>~T|e#RVdHĈYJ #Z4OTq0L˺M㈡nA݃VOqkӾ]^,*]{[E&G+]{s=KBl8*9~̐}3{ mp&X`n后s9 `"2)*F>S#r \I!r OaJK:讯lܭŴp2'$g;rz.43;Ɍ:NH=F8emYC՘G1 Nмs=wV=R0B^Z/3z뮋 # 1EP 6( j0zgSNOk'zk[tHɏnI9=[㧽gI$ +ԍON;tw68e'-[$q- ;~lep ^TLGB*q$A8քN]ԓ2OdtZzDYT*P7\~v;}<1<'lpGO'YF(xUʃ9Ot,09;A<84l <sCc?$秮xld^{UAj)= W:[lǯNsnpp18WTQQZNrqOZh=qӂ JHQ >FA^ {g9(h`r1Fqc<o~9444gI#$Zlupq=y׌gq* >='=FOȤ q'#΋J~3u089H21A:z q_Z 0?O^H%IRH$|ϷzFYL`s5u;B:[cJӖ]s rxV\Ik/8;p3cՔ޼F'+;fsp0@Ёס=+GH,EAnpw:W_I.scBOAz8 i6\)B]E0GRفq$ ݞ==kAӒsF8n: g.78QᎼ>\Nx0GCz1Lzg T7^pHǵS\h-ÜJABffDʞ^<{uq^\ZS3 ^=:EEq3p dn^>4/ԏ[01fؤ :zsVp06d`/n:_Jce'zm/ un B2lwSmLhv9RU6pZVh XA ߐVuc8 l$1裐W;<5qvw/N7y,8#= J E=nIU+˿S3^^b1e T(U t!lXPE!g $~e#|3JPqѲraW:zM֬q7MU*0B'ܐyXV9a݈%DH"s9Y۷Apguv[q( -lXy+szqYȱj˅Ur\rr?)My`7$(tFvbˀWJbQgh3FFr=yF$)f;kRRk;lϛ<CҮ :|ێMջt# U'.[過`[̥q?! lT OxUcxH;#9PN RAb?<7N2z5 lt;w )FG`:dy~{a_mU?1`gsyⱼMEg2K4 ]@!]66H;k9|2NO\Gؾ q@=~9g:a@`)I&z}Hj N)^q?z>q߶p`q=:8*MGGyb0qz| ^yP-t)7N9vjF{qyy~D''OS\cs֚e <~7{x(lsNjWTgb;ӽl# ӟ\;#:J. ^@\#'6??Ã{NQ/s~4\A#.}=sM;ޘJ>zcP:W9ǯL}z4OOoʒMu8?1Hpct :urDv*C7c>GOZU92)!8q؞oDznK<ϚIX'澍ƘQI x$cvzV IDYV`r1=w~j |F>PS=~pe}FH 7ϳ$w>C3p{'/$U\8!zsI,9îX:98Q ϻpy[gA9 6"K @N9{Q-!|z=N9ҷbD-se}'$u6䲱(r dv^`K;-{V-7G _mTH#EÒ0 *vl f!. ,18 AmO~~ PdOj d؅jpǞS~ࢌ>Af?BRd>Cmc9׌tFl$`^FNQňRrqщʌ|vKFTWQ}Y|>Ѱ6>S"+n{P:mVcԑ&FzRݮO.uF)d/Q_?r3]M3玃Ȧ_^HLn#y0024Eʥ4͘:*į݃N獠@Tq='A-*pC$P/']QQV־=7ћѲROk4}='L(m.k&4^j: 'ԌK:\I+?&p-{f.s4張v8c~Ox^pGȑm!A8ұI}l,P'nz7o~ۏ#F+dg+#6 <6v\{Ӟn>oFz#aI|rINp2)HܸWcnN69b:.;P[iu $䜟AL#c6Ơ/.d 0cv" ݌GɟoFzVմea4)y$I K a~O0]ю # 5dp=K:"q8fFU gzqM* oe9e' =sK ⛎:u]ܑ;'*rr# 1:[:{ǥ9BcTGK& pWq_\SJ`x Pnv69=J{)1br6۞Jtjq`\R1TȫH09E M)"m @x}*SGDϹuі;W`}:Ӂ39~6M J`c8ϽDwBA89lPkQFۆ00q#I9#^*MF7`:&/0Hꔭ3qhn%1 &,7(`!#apH| ϚiZM6a p@8sE=sQ\zF}'\UG'2vR}2}A``1OnN:1ښ9s.ڼz3ښgVn9O=JݕS'k/<('I :9;Hd܏gG wpy1HPl&Q?vpb3H c@7w% l󝠏n&FWրvOpX`3$ с=@br0@/?O*BqT,Kn9'9Kv<  x'.JI;%BK"pYq882N\r3Z@ >Aw6=8gۜ2pB1~d̠\|Ü>p8ߕܪn8$0F5sTe8<+7Cm;02>[-3=A-^qRWRI=C 8q>nxl39>^X7' qgw]a,]FW[F<~<ؙ8hʐ H !E Py #֜)$yA=Mb])!w!WpfW6Wkm7{+ 0O=y#7'w3luh$x ܸNO4syyc2~R/! 9,lyݹ֔s!ys{{I-3\#/ Em ''nx3sU5FV. P~`>O4""đO9ǷXp>lceb1s,ew3r~c`ߜN=pjz;IxFQFO?h|3֛?}ͽ =jP-38RܯN'߽"Y L`8B;fՕdm_, ֪teݵwR^Fߥ!G/q~L>#pSGtB}zm\}?)1pG?N@Ƒӿ>,iGLqO9P{?Hc3;Mq=¥-8)߯OY 8GR;c߾i-mvz3x9ǡ8mNB+I!SO]sw sۑUcQ{5#pO\(#=2O:CmbX;mdR8ǝ%w W'Bg@?! A$uHdkAx8xY2rNT9d˸>HeM.ܜqk]$vd qOjp |9_|tNi:*k*$}NA'=k.$1}[3<\naO`z>KZ``9!},48\fTsqRv"f8, ̀<KnO#'Nhߛ 78d=hq={qJ l&Hc:gN #;[۸4XRqJ9w

˜< NdGk9sRIV<e0I!EfRdV6I'GdZ|v1mc'#d2z2 |r1ߛ>i&YNǃ:S>ߪXtt"=9N:[v1lq眊?Yh!$aĞ B \z >_ǎLf$m<8U&9?62:H !\E#*bZ4`RA]wa*BzcI]3=~yxxH+ە>F 9 zN9`7`́cקZx1\ۻ1=qҀ-lz6 qֵN xfu{V3z0Is lT m}#l.@qT*a8`oOz㵴Ly$ce$$gV'kd=98; mu#8O\t=*|:[Lp(d0*=~int-˦G)Uq %`Ozzw99@+jL¡Ђrܩ#`^N3s8q߭t3 ݸ ˒Oqv0e{Ғ%0#8&HF?38$ u'jdi[OcFY:q#8ǭkbX!$)*O-d09j}WrAt'84En:+ŰHI9n/lpG\Cֵ5N`; K䏘m`>=u0nI-ҿwo\:x>ՙ48,v`rp>Ubzd~69Owm3~©8'x#ւX܌'OVgv1}'F= }jX։p'xʨ#}W>RuԒA眞j$0p U#3U] |As%v2fr?(S 퐿_Ϋݜ<qsHIg:XI4}|yg'[ t'@1?j{njipz=;R"=+랄jQ{|ild?v;҅@~aݱJV* |{_@Zo˸<~CL$y*IqTpFA''-M8>t3U9<9\Yh.AĞCQ(>n{h2-w]3MOF8zw\ `=p>q+_.In2*AWq~iҍGHI8SbiD,卌G<\aRf *H'8QL*l $@ `ۯ#5TJ%+F@qaWe6,]ZFCP*q6~ua+7Bsx8pW:XR8\!W+qVҨjy{%Codg1Aa5ە7cOOdoAk:)` nǠ89h"rFh;1#rtGVpFߓtg%=рk)lfVB;cC.c"K,$C.=`AwaE'˷GH9Us~6Tֶ1T+`\\c٣ek{DÓF9flmmaE/dO)pB88ۚ`d`l{c/ :;`|]wBc Cf'ιqO5QXa^8e'F~U%{U]{V RG0O_~} w/9Q䞃նJG!RFnZMPPOLQa\x-Y%mȈD:8'FM)1˝6'(8,}ޖ;(wɑ0#yIΚe"2s!n n1hw)GN"ZFZ$$( H }O~iqmf>nqskqX̽_5cQPs|QLKrq1d>%7NGcӞ3d=+KSEF|X=9=~2shY c`Ǟ}kj/#ry\'%fSoC㑏pi7hS>8* kB09wzUVp-0x=w\JqSx v$~TnrG4 r`g'#GNG)q`s= 8p*r9#JGlC'Cc1[ɩ+I_܆Q1OgVlv-sڸjQ<3Kl$|f;F1k-ἱі ;}+̌D.= 6mXr׌cn&pn@$GO~Фyn:> ;SI'Gjo9GP'!l$`qMy+ N:=rs|Dny `r>~#,x -=\@Jt#zvxpI?+9PqŽa-YH! T`1Όwz0PCDHSԖP sn vGG\Ry#iG@ =t 1 /O{qʂzc b q06õ^.Uc(ПMjB>Sx1Wg^rs=k7?9*{ϩO.*$2xUwsY)!scv TvrGZ`gjm8UYz {q!#Y|qW7PD#7`XǦGj0J 6zX}*a 8Qdg[za<>Y6]nr޸5+5kK>g#_%:=ɷf &Vc*@#Jƭ5({ ۱~Hب$&Lt@e3/L^5\?$=8kVXFTg#>HpkRKhb(?xvTӀJul]n1#z|q]~Vv~L#ҺP-Y H7F S A]YIY x(IW."oo"q{>nWeڌ!$X;84vjdHna.̎6c$}Gs=`gǨ۫G*pPyj݀ x9i :yqYla.zqF;B*)9p ^3L\ O58.Yg p:U-TcteC$3RyA"Xr{ N@#8f_'̊Ϊ%krʝʐ40Tm[y~O4ɼ!ah],MIPI?|InayW. #H>-^IvD{z"xiJy @\kI"P'"Rw|E4V5/ܕ+6G̊pZ`Um\8pq+Eg$OmNQn9TR!:,p B.mFwr~d7.T :(<x[Ҿ\_Ũ@r(L#G!ۓK'،RHo[+ef% ";rA?J; 8Inꌬ/1Պ||'5}}W_ֲy"zjW<:}isLw͞G[;8rH84A=x1N?Ά?Ss'֌;d9L ܓ w>N SQq矕Or?#c)78~me#aQӯ8uϯ =㟧=!1?z*'<>ƀ(q ?'O`hӧp? cqq;z#8vM L>~v?.z c98 b\#>ޞy};T!X_<=i¯91G#}U".:+狧-qʣ9Ey[ӟrwX$a00ve=ԌpNN3pˬX ($ө^&'e%#BX1$dp=3 ꌮJܫK=6KZ0mѳ zdyASO, lRb3>or7AWC7 lÎ[]3*E=L9F>9(4񑌞999+Ӆ?qz=ZKT pN[k2$`z03ssY*ݛWpydz׈߶I GDĜ鎜ְvag18*pp3|>\ɸPxA5N挶8!FrppC8i|ɐRH*_i746>G,rszVlC&$YrTrC`4։&N%nA9o]3^qt#{W;v5Q7oq @R?˂1son6"+8؟NsR8ahB6n9$8=san0rsIa;(r~Ԟj9m#o\~ߕ;\:nC|~Vo>%"Ď2?$sjݗP63r[zԲy |r ۞ZTIJ|%m n+?tl]VGeXQűyc`r*iclAec{Fwdg;V~V[SVO\p.Qˮ|{0ZO-"$"Xb~g`}0}RUݥd%p~cck/M#|+R:`}MgTT' l.vZ3Kl4aLg8 ˻P1Ny⼦ЋQ1O\7yq2rH|?x׭$XD~uh3׎iOI/§u*o-AϱKU\**cC =w7'}#]6+qor6MI*uLsa%ܒ#壕b9z)=;UHs^w?N'k:SB뎵+3H ocXO;|+܎A2|6>瑞 T8}++8+n\2B|9[14ur6ޝH`($8y"AlY gVz~Bg9rO=8Ҙ5N0@`I8RL6B1ϩ-H "0)sA2kٺ')Mih ɍ8c$ԊAeͻVΘ$<'[vWSyՒ0E ||ۏv%28AǚԒ#WXqSl>s~=i[Ro-鎩&p}K }W$0<J){g'9/rHS X 'S{p11Ce$8 > qO4ң==sҐ\oq9hOʤ?pXےX glj+hK;cǵ&ќ|$``KqXz!;%ry#ߊ~%'~rrvʚÀT(>^jGJ$3ˎ rqI탏N88#8J~QyϭH!p3~`6[!Q ~`3׊$DB)P m>9j$F>Xg8籡cpxzgIKoVllsP3ӊx Hۿ>mtFKN oFbcs&:8wP.]q<㌟N=q~c#nS#<e|8{$XVػ'l/Xk%XH088#5v3ލ[ T;0T# = |g 1F7nqgَ:Aӹ`XヵH93kZORWp(Dl(fAn px꣦Bu=w y#]) Ws[^z}&@'X)#p~iW<ዀs?)[pr8#> ,Ű{nz`}p=9Oj`pii?5.9Ad~gt5JR#fF;yթƪ|Bwq98ԆenBFFc.. 󷜊ځCaCΘpv<Ժv 09 .:(Lr*ڻ` eXr3i$\,d@ =Y(*Yp~9x{Ȭ =ArC`ӿ8]nޤ[pTI8bL47smf`G8Z7#!c#=38"B6$!qYOnSI9pp16m5]pFw# qGN)maī<^ªsr FTgpBI0'=z(}y.Yar8✎P(X ܬ;}i-Az<<qJ7; aqI`Iꬦ z ,FzuTvlbb8Уg4!u_`=yU1v8!>v| ZBK`ubB9qS rU1|֟vѾVۍ'ۥhHܠ2dmqoz`G2(i~!:RE"so6A gtOUqSw'v1ݝELrX}ܠw<A4ul2w0f{g'8>T.1:; +Ĭd ~leK c$uyY_)W'9wY*?&gxn-[p3KR=j T~Fx `w ٲcBgpBsI8#ڬ2sG5;TFy=)rszq410qكsc“Г䁎ӊe&JY<<Ȩy*;=lTcvx91pv=>nܓ֘n0w09qV01щKv\MHjϘF3OqVr=q?J͝-ĘTb[o~.F1V\/cna8<3ҲوoUCU!e'݊]daLqSWcP'~l۵upV{>֮-Ԟ^߁5i!_P:"Nh]Q'$GxjBTnsrR=06稬8ia\cql+RPJ d;yw%#p(v< #S>fhY7% 󜃐Fx#5NE'ݹp lu@"d=7gpds\TѩyG;` u#rOjq[IT!iRcsUp *:ܞ ?/銇 F 0z3L p,Hsq+RGڀ2଎YG+"ђ< qrʏlU&: l?\II|]uƒߒ^BI<}zBPb0pqg۹1e('qگ[V nB rG?7>t2H[q?@xinndavf2nVpys\ MF(ܒ2xGVBs1vPzT]ߑ$u'v5G^z {qaw€1sZ_%ewy"R >ibX%9?N0:gQlOPCg9zȐ r8M=}95>8o=G+!F,g뻷W^fL$鸁Fbu:V{n}*$ M!A23zD;Gj\d`/'|alG89jm._"0_|86U]sqS$h#+`l=:/i,H qs͚EjσK`#ߥ4OaЌc u/ۮPpg#Ğؒp?yFF=9452υu1.pMM}̰yȥZs ˵0VzbyLq[NX>19 7Kn<{v#BZܤ0b%9 8ӎc9Tg ґq_opݿ8,R3< @x <JGGCb0~M-n@x22N}EzU4QBlQԼRنI=k7#,EHn__4 6^V~#@6˱?Z- w2@9-' *p> eIszsz͚Ě XrUbBnc`g=#CrO֚@ǔs^Rzpx9Sh9XxGM2vF1'ĹYcf^0Ŕ@9<!6 oʙ-6[:F{T k%ϛȮXa@S<|mFPs9Vfl-N8>򦢟10}xw mZBofr+-G2#+0,s>mz`ޅIyNzgfI eWkD=GJjgsӝȤ$I 3$]\U6 )gyk4݈ELђ k`'@:wHiME cq`a_Y,/ ۷-8':g/m,vg3l`w'8q ((4-\Igk8$X:sţ#Q[iFr7[ F {;+_Qnp:cPqY0v@O}Eq6pHG8 g>a=plhMಮ>xq1<x>N ;H@p2UCcOBz{*/ctvGNG> 8<c 92,Fr0@^H9F:Ux p0N;*\}G#npN299sRjI㒃;x1#zT݀zp2Fy8)|۟H<* *>\`9.2b ,B;ƌ!h;p'S'q۩˓CA?2{sOڑY~bpv8>q_Cct` sttYBF@y9rOS=EqٛՇ4Y$fO 2w|r9Mkk=RvrI(z{wYNЎP͈n9 dOu^u*HVsxtGOV*:gj%2 nTCߓBb.xDr[$gsN*դFBT`G0&_38>nE-¹;iMY,Ob d kD{F<ל:Y&=1nAcSdsBt=9ڪĕ8O__V [`HYUEGy#T ,r.q=q1@0qcoOcN QIh=FFO'\T1r28qvAlsM; y9^'H=x#Mod*3ԟJaC19c/9ぞ{#%Jv#q֡"=xǷ p3MEuX~PG^+뒼g3PhLlug>Ң2zt<7%ztfHPc = PON;V,G@px8msyqz .b6A<?e%Ir#s\Đs$-Uc֣#ӑcp=?%Rz$:}0'}Uc3}ftR>HH'錎JEAu=1B}${<1NG>23'VLr8i}sNOQ d>gБơ"a?O|{ғ: I1Rz9)INc`p[y?4'gGc1zt>=##'_à n#א8'nqۀ%=19/Tyy(K53*s{WjOOg#;sɯѰ#~m4Hq Ğf90OPE@wH+_zgB8!q1Hx9$$n+b2 a` {Q1:2]N߻RG#?+״cX6F\kI$Gɻ|[zgw$nWN>I vk²^8RWDmq^Fy8鞔 Dm*;Ml#Mua;pW}1Tզ%|6x$Szϫ4zIfJ*eOTyd ^^ܤ#mRpBe'HlPz.B*eHa>qHPNAH==:r%e*Nn0G^Y-͹[O{Tv9e ʰ+@Æ8~\t8͒skh=my݃q#Tx$r#1sT{E3]ba@aR;I$v 7< ybl2ȹdd('n[3<7r@8U],x soE8=9tw:ScxI{I`͊;"@ĞFx޶-+yb@hFT8݃{曃xlt=jL|# <xυϯ-zu .&s8ҩ00؃ϥӯ#zqPYc0G?S<viy=>3]d{ v?=}?Ns1P Aqz=O҄M\`bO4n==ᏹ=&u=}aJs"=3  8& 3>M/Lw q'֜ ;Ƙ 8ӱ; ^,^|#'ܟL =G*Nh#;G~9raO ⳾Fr2OFa=*hoKrwn#4kv'Rͫ|ͽ4h`F_qarl=1]N 2Aq۴Gzcz2n?sXƘl$89^0Hwډ ˃xڼUr gp_ڷTFQnLNVl189x= ;Ӵ-{ןs+#ʐ@eV!H>qy6zA;8=q#Zh8hzwڪ'sm'8==j\P88F}:aFϕH$ P}ރ% sҬe˩ 0N9'̴AhLy9~8v>aEÀܟ#;C&7jϥ4EN ^`)>MU](RT'̡Ty,:x=h1Dګf RHdv󝧌(q 4Z\  vx`\:w_QAew C6A-n9 Px%p'<}i7q9cmhb!V}̜:fR\VI1+D;cG0\_\$6Xv'' s4JVKPQeWc,ÓÒ{Wr rFZ ͸KvۼYCӮe`LQkKpF'Jt\VgdvGWj$!ء=uK`we89YUj>ڭf#9|!FHoz4;଑*RKC>es$;@vA$Y"82 zV8^@ndP>qn98vcמ(%vF0\/@1JEtF ;b¦oҞrKwƻ~(:dOiy{~L*wwrO5ި%n B~#ǚro#>avRś`|Vrc6p2Xcs'GU6C8Nz98VKQchQG֪Jo-pC6rC«z[I@YUYGlwf2XU>h\:Qy>u>v.1#_s74w6g 7`:^zn2o[zABgŜ!rd,EW`lO,O<}sz趣D@rGՕQ'*:9N]kyHc9 ͞HPn22ːAeGIrpwHZ#['&"t 00he^~^8 ҕT58)_q?480OziI2~rpS:)>N &C`9=J7r9pzc iڹ-=D.N=b:ԥ9 cqXnx2Tc9{tV ʣ;[Wqމ>Fys!P *.RVV(2H$#y 9S}F0v8y#Rdd c'>;7 x7uu 9ydy0'1W9_U^Ӵ)N^Tpi_V;O98=ja E'{Ю;OOyB×+ 3( 1Z䶖+r9lֹRpo8Ԍ2$IHeo㌓6i8p6!rH<3n=9UhDFFH:F=zl=>ĺ9x<TcwɦgfS CTמy?4 `x[{zrzsS+T98WO _TPUrNOK9Sd1P9en;FrI3L h[ '6.qx9sGQI{ %P O~3qzS)vRHlzҗq!T|1}N3[#A?(3N݈oc$b ]va Ǿ~!e[-+63ϓ\=??'xe9$Wk~kT1S BCcqЌZ 6a pq2:wMƷ/p=zSdT9+^H9XP47f f10TgבM†Hrr}) 1ԀS銏f=8#$9ø҄q't47G  Npq{f; )9 =tU2hAa}>ͼc '<*YA厀cq*/$O~p3ԓ}:'qמb:zdqM1@1/ҥ @.3!O1qBq-HkE1lR8 2qJBp4S!h *#==G19dQ4R* 99PlsN/jC6QONJ\g"*pr};rqd6$'>!t r蛧_`N2}u0NOx?R*dˉ2HPbbz7~*9Ԙ8yN 99A#?HsSH>`Ǒ#qԏZaGQ߿L xہؐJSǯiD ''@2vL9ג`c^wɫJRʷBFc+3xM;Q!bi f*}xⷒ03 p o0 *ʙ/AR9<i[b){9ca+H+~*L0K0}G?ֹ:[а6USOnMjġ2N0l3둁ڶP`n$%0Xp81ְ%o2Xo<5FpZ$wۃ:׎ɰs˟“Ν+9%9F'9pHҬN`p}3AOS'AxӮ4>+o\a0裓Zgcy$ LchC<+s{=E_0Ac >nG1ol,H85`W?63rA'=B(=$ctA8q8'pEZ͐1Q`}=x)т9%}Gq֫+sۀrz$ֈw9NB˞H2q\ݛIed pFk&,X tU<Նs[S2Urp!-HNsep339矛=VQʜ#APյ(<g9y`k">MOVǦk |GDv9m O@v͖< Ur^x=iTP *w0$ux=+RIlʯ#s郜Vi{},ʿ屜 ǿ\UEr  s7HTF0qsu]?>lM4i2\3À^zg'8݌qRF>NcJ $rp>aߟ~:ySNxo>zz8'rNLJ=}Ɔ'ޣH=J`*yA#ʐ1-<~j|dy }*gI~<9'K%&sOT00 1鞙ݦQqQ! /n܎~H},B0r>a}tLWc䌎=cGA鍤v׃uC&@cӂp8'7O&4F1>L670aN7``ӞZS9n)qpr6vr<?^خ{MGa9O3ϸnH%; 4Ҍ1:O'pnçj/a#[F9:VrEinH=Hb$󞝁=89>E+ua~8?Lӿ+}OU\sr;pF?Phɔ>\ as^9Hܜ$tVԄ@3c[,h;̗f Fv189OnaR6:;t'#$p8߽jxscƺ=Y#I1q\$8KK[^;g|8ǰgP p;Q?&ߗ `sБR=j=܎#^^{P181?^izFz>lcNC[\%]m?!c]0[u-ȃvBEa&{~wr2F0z <7e '>rzkOwU 7'w5ZRޥIN7K9Ƿj-emTH>O֤Upy Զ`vXPXF' A9 m ;fX@lXԶdeyi=K岰r2N69QC3ZU9 x폛wLA* ^Ap3eu`y^I遑TB*;I#*j[v>f(6,?Ddt,vsu$:gwߝpO=4-BA>SL$߂~quβ\s:`D -X ?S޶[3ؤ[%R$rϜg +vȝJ?Ǿ:=$`nzЯ!#*:(Oo0F$U8jcTO$N;C>!݉T3|U]^׸kbn;؅1׽[n` %8ێjћF'TAOJq _}M&ĖN9I#@j&e$#%1L%)娓p~A< 1=,}i+wB@ 2zBLՇc8JHLt-|#9榇88`nwpy<\Npg*?x/oN:pUH0{8&c-z| tt*?=rN?OzV.3pqЮ~z֌C#,NL3K{Fݻ0n8$vrE<ẃG\B6=F4b'8fK*HFz|ǡ9ڼڮqEqr08?(}0A԰=xU  'O-P9?SMaF.cRYyeyxFvltQ4<'<1wQ70nd#jj FrRx'hq[sAN  (cF=gO]A8O 28pJΤiD@@;99jק \E6K@z3}?S֛@U d`<-ۧq9>ϿzH̃$HIP8cXJ&&ų r{fFd ވBL988֯p6Oƺy?9S9=y[#1w xmןl?Q*,uビۊPݹrx wVo7>{) 7[zOa=ߧ5 ]s Ir>8J9q9'49$`z{ >áG#O^[= /RO=q?<`#Ax9ͱF<kz;[g!JCC0(tmuy^;8!RG_J 41.g4fRX QNWlsV=W m>u>S0$u%014s9Uq1VJ5a m W#~Skuw̌)^#Tjzu0Wx 1k\OBʹ!0{q]ԫ+7Ǚ[ ]Ne!IA>p#װkp ttan;Ju]cnmļc.xc>^+"ŗq;a\\ \`XIn30}yYYvUf9NfoxAWnFwgGzk32%P Au:{H:lr +Dd2Ns)~o1qYI$]U$AP^ңޱfٰSO~{_6vȣ;x< 2<s:{Ԭ`cvV U<4:8q׌qe)Aw0sOҫެONI`tzVc)<7'98[??q`֟#1p3bq c,z1+#5ipx<{&[orS$0 r Ob*Lyٔ}^5DΎ['Xc|/'*\DNUH}+"6Y~sK}zН,pZB6TYzq/83xϵ48ñ{8aG 1-3˵^I9fܑⱤ. nm$ /n٪3Er?2s=D@PYwRWdTZr GLڷ^%y#LG1@°NOIV%GTH\;@)say;THW'no<1:RG<ԫ;7.yeジ9s)e;TIw0{ W0hײeGǁyx_O պxqBX \F2`kVo=0y uy|Zͽo DZɹy$Og8}:PŒoݬcb]|+ }kbI/**n (DQ2s^^5鷡Y%ٿR=IRE@l@ `ǀ;[cv'1r9g#9,~/qv@Ϸ\T_#-N}H=$(@)'Ïc杸SC܁HG'ʞ7PsӜgyn9wv9L@:qژ9{ۻ=i2~9׷jwcP $#;oʄ88z?SO8ϿRdA9Η>oZL'gS ^A csN0B"E{A{еb_.@2#}y0 rk¯qF&r$ `qιN=һD} o3;Uw|A;$)# 2$7I>,ʼnO`;Ѷpbp 01"Ȓ` z0Y &:@>^J~J˝FrntWrUUYrN8']@ތ7cF"#t01叻K OcH+dRr# RxFq r4{9 [=W2UF~u 7Lߎ;ӈ4F 6ۀse4`x ʑR_1Ѽ)`V* =rxIAN2 xR.2Db`0ڵVebT.RWsM=ƶsZ P˹%_{ >R1^vq(`%\q։68GwێH PK1Q Տ˞:VHeUca"1<k{Vt'k#hL#xc0E,=GZ;y-sAg\p a̧<[h< O6D:5ŷH1&63o o@V =Ѥn;ZS rFGV뎇t9i<ٙ*Tr>kcԒ-x)6T,3Aonjxp8ιnn3N:dljPg0/q`@fiWV24""FY*r7S7z-ȖM|Ϧ 77 {[KuhΡhѲO#bq߭x ɶI;X#3i'g58r8\pșF e$1+Elp8`>cKs{vYW!V|~]}zX|*}}3"cB(N399B@<aВÌc gNxn2r7wQAvNil*~wOSQ&WMIVqt5O?(0?EMM3IXāT) #2)VeH,l\r=XD }v}{Py$!1O8+ ccjWEQiqҽZ#mU;Ue|9v(ij~ՅEtifMUSac{MP0wn~+/|ۑIS|AlX$p3?#{e{ J lx+Ԇcx+:R`I#<1 `㎟?~S'cD7^nВ+r_ګpIQ=N*YG?7UsׯoJLgl&_M1[nY*)9]%,8e;vN.t??bg!,|ŏlm*p$t*x`AI/Fp?)Q,]%k[j-hܢ݃RI c?@s,ʒsV]_Qs*F:);:ךr؏7n$qt>9iݑzSnzӌ/:"V?29o6vhy#4c!W|iR䓼⟳hGraFヹa ܍lqT^iJ6)TEkg`Jx1 !Ap rֺISKbs7#+RѲk 9C~L ϼ#n#,X~-}5 'Ε<ٺ) <9eJb$ xHPI< ==KJXGRcåZnN7+8*q:u50Ue+ydJBNAIl1{O ͂c@pI,]N7r9qT*qQzVZe n8iDnvCnW< B@en$pwNITnnӕ! #j&,Dgo3aP>]zwCF>|aw<;]K's+ z:dSelFUOiß8%U3s8v韭9=/;X /p)2qQsn#9c班@Ю;K`gq/?"\g]>l1g^SJ\8nj1=3N*ʻWslhjЁWorABH#`#|ó @]FXʟA߿e޹ '{t5Վ$,qx,ֵ|k/wS$kpCد FS}+ #P3l`H'p9&%;AQu6;Nnr'*I^2H\7e,~e8ӎ[0Ǽr|cqZz|l?tr}GҦ-f%ᔅX 8$< i:3%UmT6H c1:)E+BuNI{pj:+1v~\Sc:mǠ#,=9ZU܎I<֬FNJ`ܸcy.|r$s܀yݐ}B'?J1 m 󁏔sqǶ{U%<| ( :g9j"@ >ݸdޭ, #.>\VLR Oy6T9?J͔Ag{S7ԭb2w N}csaP>BaNFdsVe (!,WNqe|΅9.sm''s͸sב$NzfU yJ91Qsz~Pߐ59䊬Anh~~:UHFsG?QH<#-#|gl<=YA{c{c7td1t ˥z~xNo :iT^ӡ'@X(~ɀ{};pʻTHY$Yˆ~@NR8G' ( +yfc$s94\d+ǰ̶*3g8uH>?Lv*88dg*U'1:ӭA##z?;Ͽ#zlqQ!G^a(H@_^ЎHLiGQN;Qv'yv{Rz>g~Jlߩ>/T9E?Ac,%Nǭ|I؈q!g*:`\sFOUvpG``W >H,~dnAlt8{WUfg$-0۴{{Sxf?x~Ȯ=<'qdT1$a׌tcp 瞸8M?)pGW+ UEfNKp ra~3j230U*Lea%2;d~5JYSp;x=HsIo\9''~|u~cd'V'Sݹn;rO8}Se(8 m歑FFHڸO˟ρXV4O-~sҨFK|݌<&r.^kp8zD~lm 8븏AiN9}11*YC2G̤g}x|V3ђA,Nz}(88$}>NDT0l szQ؈8猃v'?O= $[N?"-< tj4#rpK0<`+)p:]~x3ɀF29?sS<%e#| 3޾b!P sl{wvc]oO土x mJ帛pF JGׯ J$pHsG%tF srq NpN{ԏn`Vr-18^# }^j=GǧeZd[>S p;28˻#'>DM=1 A|z¢*8z^F=Vr+|?qm=OOd]2::H*8# xw֡Ĥ8?M2rrqN׌Q5 n! i `g=OnT,шߎ.E$EϮO-ʣ8Nw{6Pq:0NIz3n('.pO9.:g?n&@gx#9#ݑ&YY^$ dy7zrEod|υn aυܡ3yǯn'hmTM3*0ۈTw=+lpk0 7H =? Aq zNqvCc{uL*6Tx1;nª0B<T5kk7M88$z X:^Ƶz)V<=GJ#q6z{blWE=Y9=p:,nl\px> b H>lldcZu!&6fҊܕSORsyc!rXv:fѐFj8|Oڈ)*g#}ydȗP0 Cy>qSg*lp9F  ;44ybIJ;TmzPƹq}g@zU6Kċr\~MJg)fm,KOS*RH͸ g@cR] lgm^9RTw=FP?]Q+eEfv1Eo7ko6+1%$pU،W?OnnaP.ӉׂCqfwmpwCdA1O?1:t{ՙ7* J2d'XFI(y+ׯÃPl3SF0zd9Z:E¡t oW[3p@q{v*]ɒϒCyndl+ Ryr7̒…͉?j?_#Bֳh;^30xarI^nNG$;W&ϦwzJ̕yb9<Wr9\oOV?#$)O=?J,mƤrN:lug<,p)64OA3{ <0==1i7(Ly^ 9ӏL͓xpNsA1gI 瑐?9P~ou籫I~!91Ԍ7~㞕iM\ֈr?㌍ %yŁ*7ןҹ*2gQC),8<{v޽4U;v9oCk\8#{t?'Rt<>gsa-1ָ{ 6!kI\r0]c}i{o1= @ HyC\zr vqO5؇P`*˂y#{~[Sz3z@˜uwZ9<IYIN@' #G dr=ddg'k#ۖ<ʎGL{S}'ӥ(^U9w_¬=FrzudFp98wOӞxkB8'dsߑ}h'Svzc8 >ޔ=@$g17@'z?ǵDx98 0?e"2O=Xuқ`%AfC:)3:P|>^qч[fDlqA\GUI1txg ~=k)5'#azkNgq ӃVvGe-ܯ$q{2 sjZCr39s}R?OfzL0=G@G$S,8cҳzU'ppr s 4W'{J0I} !+Ry3=qL=ǵdΈ<01E4xǩ7lL~ dr#sP0<U֤Lr;GL٩(@9K`J$SRl)@=6?{NQxU^y̭$es䓌;w76۹AeHm3$<'l`<oQ.aKB:$ jp8^~*VV䎥>Ĩb9f:5-E2o&@fMMTQ[ .Gknst*)bW,c\;*VQ 8ױhٯk;ϔ999G8Mz ђ-A;FNW8;TG.H\!N8ОɶdG!NN~E HHxpsG0XMFB]ķ'AqG̽HPyvF¶΅^6I Eb]FL62qzWԔR~= c 儋1杙7HHc"(c*A#Њ,]+_?>qId%  y#Ŏs +OO$s^Yw 9fإA@Sց<{Wk)]ۃd1pd8Dhx2Bn 9TY#m\u'zyʷJڍDyiU,a{3q#uxbA#JR4X;3pGrqtnLk0n"Pۉ$k ;/QEY?=Ñss-xV}:`Gn¾P#H*DP9+G^L % >5eQw7{usq8۹#>@*]F1OXrI"3 S#': #&;u}:5dr~_Bvàۏ]#DB 9Ӿ1I@#O,vԓpp=|t?֘X]ߟ9=$OSϨ=Ѕ8G>"N~Tg xqABz$c힄~|ج9sߞSӂOHlf}=ϯz^7b7z3)IϿ~:d⃒zq'렟nz`u__RzqANPa=9=X،lH9Tu+?68q?4$EWhLF;V@;s57R2pprFܕm5aՠx8G-)Np>b1=bHVsCeC#a9P T׎zT*\`]qw'R7\ ]=t#0 O@xeɪTlU` QnOOvVd>ԋXÒ`p;q]'fba̟= Zq ݌dS[ •9p8<ᛓKy, @{s\]͌e9˒3CvmFԫ0x#xj؉nwA on솇L;6x' NGaڹPێLHpE8I?S= Vt ɔ3#s֡W{GsY6 k v޶r[m@$=:g4<.wP0Lr{qQ8e'}:\p2+ [9P@)ӑHM 2ȅ@PC)=qHJ*] dg;zwVRxgRn=sڎ$3k*X7w9`0~f<=N)ԗriQ #=M7V. |*A'qšѲFKxÀ>Uda=sr@N:R{T:]@pF=}^^6 9%Iw]y+ 7oP2WMD3W F =x4w*I$`9rq$ 5ZC`'%Ur#zn1ZKͽ?PF@@2o 1sj%YѹvfRqܠRyvaIn'H=#n=AInBY,Y7 iv#jSFz֒ܫza*X^2G9=@ uXeiF[v%b 8lp6OJ}n?5@ p{ӧ@ցV۔x)B-8vҝ(ry={ g 8<֣*G2@9=? q 3< tǽ6԰A}XcQ_Kg׆ Nx?JŻ0Pw'A8%i䪜9n)0nc!O$q+TА27;zʖܔ!}1N62qq.OCC2:9'˞"rr0~e\ҶR5-8,@ ޷mW r3Fkrh1_]NOď<]ŦAT`ҾD6Yz1q9^O;(ːϵpv GkaB~k7V*O>+nvX2AKt}~_#kuFSv:69!f|}qbq Y>[9TV.7TE)k{bJࠌ 3HAl?69_)*D'vҤ7RVʓR >o\Far)< zfipJ_ m&ܘ!_rBǑW}%4`!;N$1nÚӲLkX8=#+gZڷti U+9WeD"Ad{sF?UOcX3LܪVR]O'=K5U: `۟B+tmtPĩuTmfF]a'zz œOp5B[} @Xe^BzMKz +k+&UN8iGm9qi,Cj&ilʝݑ|r#G!2 Y'9*cRBQȃ )3(F6О=8NvŶlz =L~,PzvI-?{c iR$c Y woz1k!a8瑎ߜn$: A>րevϡ=sAuW\ҸKoT ݳQ`vNOOP1GsϾ3?r<68sL39`/R~TsAlm#qמ?Z@3$$z9ܓI׿RxC:Tn c 'TDFz 4l;@ǠJ73g=? fxp q?޻H?6AcCK?ӧN_~6׮j6qsAAHNN:6'_OJa*>z6MfW 0Uq`};UBӌCfa^wU܂ʐ1ǮZ̴ȝp0~\ _<;r?z}=x:H9qd}*2@[d #ufl8^t>ǽV;s/R;c_q,UI;Anof9<gB:{?Ȏy r>Lz w$R3WА@OC(،;<`9Mu ╅܋A8Ϸ#cӃy꼕8%{qE5c;@#1/#,~=q{289 ÅeOzSw~o@pe NW瞠{|Gh[h# +0Ǹ.NIA$q\5%fzT9{1NA%u{bUBd0BA9zd<;^ī\ĉ[aF_-m? V,W);~l Vv9o ෡xc[hs27elB˒AO5nLNW#a=l Wvu'Y|̠ \od98nVeVe eӃU/1]Tc BN:g޳/9F >S0sϿ#՘Fwn\ aqb? `p7c9?{P=qՕ*pA^rq^HH<8l:J HGR@Py5"c3}rq~ dFLP: ^IqZ?&1H!y^=9fHzd 2N~႖3G;An!PN瞽p*RT>`{dӧJ&r)#h Rpy xrGln;yOOz sbH9 =ɭS*+-&ͅh'ֹ_t#TV1;W: X2mNL9t8ⷦcP͸' 㓒px=I'ts`n2XN A=>^Ҥ z@3ۏz`1GRY~Q S]a@xqp1sX; m+ȥœ ,Îk-"nH26)kM&_߫ gG*s#}'%ꖳA1 ±o88b4G񜪁˻1ԏzьn9cیc{ |OS5S<IVYל6zVzhFp =wd 1 G36KáB3Sc;s{⠒\cg0G:p߭4}r<N' M>B3NNGɩ-rN}'Zh1F1T(0y zc#ګK`OMOBsSe}qh%Hc Kds8Bn$%1qր'wpCy*ؗ$ cvT|rzmm9݀8 srIrp?:g$c!}0v:*SZs:N@`I R㞄$= |tbIzb8\sצ+J.{03*[q:Оa8?XFTzcw۰sT{HtH,$23k>V]n{7Z[ VV߷;n>O=r03x\+uNx@N@lJxN@9#Qzg b@a׭}_Z0!_9<*=#=ǰUr v3s*B=11/j##p1LT*2;}8 r~n1DO9䎃Q)HaiyPqpF:~v:V2Ej@#ӮTo116+U"?/ӜU?8$ rG=6)PG#8;S|؎y<Q!󑃅 4O|c3 K|^f303={rj-~dGnz:&~{g^ަgv'aϿQ99gG̀{ǭMCJ74#pTCđF!2]2Ű'%c9"gC:ylgc)12dYWFRr˓Оi!s[77uwXLSܳ ;"g(pF3Ҧ^]àޤG9㝤9dT;\WOU)?xg9cОՕ'#;H9w޽sI:2Hr8>8+JNq:szuNj۲d-gGnN'(GG88qA1S?{d9c9A!OR1~U*Xӹ㊶OLu`sb?8I03,H@N{v;S9b}1 >è5v,d '8^0Y[ #zފ,NR0~5 Fxuwxkͨg|QF\2\r[?޽m@#?ZqOk _~F{f~~dzr*.qdSq1槝B1f9=G':s n{5]ܪ#]N}*DF$g8 dpyOܗKpr~\x=^ͥmp:/CǎM?V=BtRH=v IuW>~7:ҭ/=8skl]rx9H`<9qޛBL%1TEqq:uW *=tNj (8ϯZɢ<##UrNO s6TcNp}I<{hH=9t׎=i3>\ q m A~ .|>6F'KcHi'OP  {#8'`>E$0t=91^$؀;nH9x8?+gNG>ñ#8'<x;\ɲ3Xg9#{g[0*}3Ͽa=Ks'<9?joA׃xǥqsԢBc>1x?S֢cHp:ߜU~?{5S;"Gps$CC "`uHs@OWO*;c߶sy'<=199sӠ!|cy鞣~՗צ’:QϮGZ@9>㚛^ajz ~U%/:sn}3IpOqۧZ]8듓ScԟRx0'NQg L;prֱov#,A2}G^ȤGQ5_`6(x}o8ra,U]߰OeMoT;]m1٘7X@BțIH?jn>b;ay<ǵ)NW ~@܎=i\('E5P@O( 'U=@fFa Нxx#)u-A!Q%vVߓqɬI8eah:{gܤr,rdGcl{VS@ sO̤۞PƢ]IN;<1峁;p kI< 3뎦[cUy݌c%zs95#pkCqlnHtkNߗ)\?LϚnciyRmFXЩG,2ϺEגH 1$?C) 0Hluwc:/C;uHF ;OJiQ{`e#KYW B+T㎝d֔AW`i2S0NG@zԯؑB6  RVlg:c5Ka 38sbF 8ޓ!bRz8 14x)9ӁH+`ax?1T؝sO^ 玘37uا 6rmUI͍ K>{tk-Q*Ig>_=* IQ Xql}FkC"ʻ7n\,wՅx S1gN:04#XX{d*e8"*az2by{G(b1Z< 9=v' UR9uK 0 B\7#I?Zg2p 8-ߠ9KO˩oh677B{zQ. Tl+r:#-U><?bܮXۀ9T8irh_v ddI9*gr >XO9Z\rR2\+Kmpcް>XIS;`U^䍞0z"A ؑfn0l.NFrs'xJCfT*Wd!ݱO>5Fh[X!YmN>V |p~뒣M̸b9tBc3}f3rodfZf.%!W  Io4a;-ax*>e'W 5T~Qpsg>⼊򗩼4D$ 9A*q0ӆ=+\㞪@-N26'p>r;i<=7H#UVInZ3f'͓3؜ugo_zuϭhuCbt3Eqׯ_nƓ $I}Lp؞xe E'R}8(?uǷ8} )AP=scAi 1{=_jp#=p9POBRxbA杏hpsS2vN;>##?Hc# gϷJS1 ޙ"}9ǾHx9z{4&?ǡБ4;sN瑌sGJx$A"L9NA99ۃq1LæFGNy#=w@F}Ax?Ϸ^秶 v@;<s_]7p:t `9Oӎ2OӲ=`8?Rz 8#rHJ,H=Ў4qߒ:?^=.|vS%YO@Ch9.oִg[~r NX_0do\\rǝu+|qߞHk/πNP$wk4S +YAn =Vp؄ƀ' %M܌Z˓ 8Iׅ?AdžQ8 AJۻ$p=G~i&>/0Xqּ7J?20x?/#E9X-nN| 98  F1ۥwF*z{a-xy=yKrIP~+#Rri[OR$8TdT,f/;Ccpk~}-Ԅ8m@FPI8' .sx^f`㞹#A$slRa!IBHry?>B4'Tf@9flWNy`A9rpFkF7RxU;x`uڦ[N%q$h'G.VD@5VhzΠVm2Ht#;RX틑B9JhvȰe!#>l_ &| Gqnr§K=_9T$0Ԋy%[ ׌# OsԌI3A [0()̜Wq5 6[9?t^㎌gCg<ǟҧ8N{NiX#VIʴJyU-w?JMR"I`L0;P$931_,Jmos,҄!H1;0jpךՍ6)0eee WDD# @Bq-ev`V \-lӱ$\7 #*]wg Z56O)T<0Y2%@;nGo{;`$aRxL' Y[s B(GIN tatqq"6V6G/Gu]y+,eWxxsޔtfrZznKqyc݂01N{`HDrrQ :gMh|׸uq0B^ o8 csȯETdֵ[[E+DIY*=sYzrIZQ;/W:.Bo9$671\wa\p8g weDòN20ބpFj@݄+TU嚇H?& @޹R*Fܣ8|jKp"0Nx C`gc?('B46Hz/;P03ۯ:b.ݸ TcǣcI Pma"\ձZ6}A x}'@Vv_vpߕ oC؏ ~@=˭,*Ow)P6ÜT]K+I C*zAԅa;F!ઍF9Njt?U ΍ʶ@VN==YDQeWt܅w}CV*T`p2:ޡl{8Bgfv'Uc5ڂHѶÀa ׭%v.qMQqܣc!{uxCoߍ y'KF9og;Ny12F@'CXo<&'`XdM%B@]Oe>we$2rŶ)xIzi=Y/S Ãʑy8jNO z_4>HQb2Bavu1aP JpLAz<~ 0#=Bz`u9SvqxezV#󵂎=Ԃ2!Iq=W"P8A,eF -(z|;*p63:}ipF9@9mMV"FWCqq8+&1L'3(+ʞ=&ӯ^AQn< tp&Xl@\rGR@{ *N89Tzc/#>Ԓy9O֥J$hl=Kr?x$t"\23$sN #bly Es4.Y !2s})cn2[w*[%xی~4*p` 2nn[$9:mEFt-'!s2I0;r۟2c&Ec*}޿( d&4nU ®2[#CU gSœ` ~uܤ+8@Twg ԱHavI pGJ~`͵rѲ9w$ dL<# f G pI9h%xǗI 83ӑdO.yLH s|H2^.ߺH*6N;c]UHC`rOQngq~$', vTRc݁J^ENX|#vMlRVv ߑQ;3s)m}c#:H_̠,Cn >n@^O\Ucp8iUI,[לڕ`d`' eV?6?zqJ`y8g85pH#:zb‰rp팞OO֔\/˴c8za^X2N2@{<Ѵ` p1sJ`2pxϯ8򦬡bGz(wJʻy#C|c!qnCC1?#z2=}<=NzS9cJcq>r90TnF~zMsNǞ iź9q{qEde$`t?p~vy'#9+Ӱf*r9$rQ1OTLqsp*)x1U}98^;w?ʥ Vxߖi9GB@=8ϵbKr<}qvX}TrsiOFIlsʫ1r1q92sp3\jF1 7(u+ԭAPOϥy؍$9#q ׅj6.1;H`{r]L)An{CۑҢ $Hq~\b\u\sgsMZ#\p27e#ݗ1$3lۃ@`6np=1޷:CpSS Glko],dvsU8N ~^ ^ZITՂk2L79pہհyrGH{ €NWJ=TT#vyjr}9R8\ {9VMlu1B>_&AYKۂCYL^G H1B78'jhLsmmʪ2AcR q790yFlwy1מl6r19WK:ysn ޼աGHt'AG+GDv3]8ebnvyWapnz[S1csu+S7pyKKc>8c~n1 õ0DұTOW īLqMtv)'po-YnX%/KH-guI? ]6eY ъ'ksشdPlc#}/"o9+/$b* lA|e\{*{=08#'q\2~jq-8rWNpc'=OTYeG< B^@FqrNqpGNjf#'r@ Nzc hs$:)>'^G@F}pc%F8ϧQЯ|cAҋ+8ө#+F2~=r)}OJd{}:F{ yNß1{6zC)z:YysU=d^͡?7|_l׳>s؀v3gz`޼bA clץM4os.vrgiÞՏ_N2HN;0r3c?38y%niG7p8% s<\΄qA}3sӌ,'נ hf?,z*@ 9>\1ty=9] Q$={;@G_F8I;=8`qOj\O.3z4yzzr=*A8I9<z pn A-_PAUׯsdpryMu/x'qq9_ZэFsʅ8$dg?HGJKg$GLIHr#pn:csIv¶$Gf1'$|tkS+$Uv00H8랣~l>;?iT{>?{Ԃ{.3a=>\9`xPN{qNO*Me1t3f}cO*as) w LfN:pI^GZxIa\~?ViSrqz {쫏sĜYy$}=}?tsV|4yp2= $_/˜󓃐z~=r)cݶ<JxAǩ/}? ]JH }ֵ8Г)$`'#xV*s=ܰǮ1n=9Ԡyq=c$#I׏n-e=G-vwBF;v=+7!0Fx=:82I#8yNΡXghߏ]sA2 +2|C򺲷L%hdGU9p8zgRcEW'~`1>񩬵 2MEUI5Cا!N '֗Qު58c(fLer7L \y= q9>.FBqКFdVm_+SB%ys /@;jJGSF 09:M X_4{>t>kHdy]O͚A'n܌{g{'w$J0T<|Jrʁw A\؟(oЧe&(C>`A~8_2=é!$'%Uppz{Yՠ4=9c .zc Ĝ(zKw:`r1Xr+^<sFv`K =^8%`6v?Oz;#c x `ǭU*t`P31I%A:gJf'+=s#gt69* cqS#s:pOlq7&&z >NI#3V)cTzn*e2M9㓀rFTJK`.zzdzQon<}2xtirn8ԏڵ[u.1 AtG1'#tϿ5X꡹,y܀{cjҏ'<G9ן3;pBn[j'9$6I?8zOngxXiA'@wqAw("-QEXnGsNp1v1 =hNC'?'Gl`ﷀ bxz#~=78%J|ubqZi|>ךTjJ&w6X]`m=yWYX9?B5ާygoA?jaA'szһ)DJD qU/А3uNqL1sh}kB=SgZ=${,灏Pzcv#jw^#GOCO['py$zBy:㎽]cF͑.A>҅G@H#1ͽM+F8 s5rǟF8F3zڳ7O6A Ig.3ӦFHN#Ңq_W1? XA`a4zvFH :O8?~; ^~ngO#֠$:ݹ5grz6zdԞtd4I9tE <ۜ3;~E'<{.yaOc$GSz~u09^31?˭K(i'8<q4sלn;Ite ZPd(si~/\Ku$t>CВ'={ G8v{dsy2\KZ{~3t.HVϵy {r}]g_iz 1rvayƭC>8  x~hq=`dAON~vÂr0'p )+ا#If2VRC|=zdґ$'pGSvZ)e?tnZr 9XUKC^k6`6鎜M4Xѹz^=z[! .8:__J3/>2zsQZŎJċ$gTz}e󵶰'A!r1VքvRw -=j]|~}z*d x]:u 9^rTH @I2G0pr$t#=x9VRw&JrGGNz7PFr ;v1ԍ'1wu 8zғʲHH998ޔ\+s;WcX`b$`8qHd~bNbS9QqGXe kY($< ^ʲEnSJʂ!''c^.)^o՝=H|g|f4jy$Fm<JP˅@vN2VXiЩQ`j_ljWjm# H'8㡮hBlrqմ=9#Hc9SQX˖!pXmPyܓlqS37wr2iVfh\>:l,u;՟ V 9j(C`5 8/r=GV\I!bVPp<@8 g]rqߜjQF<x㔓,PR]J=1J  员I`cӭJ/ٰXi={w4Xm딕ZUqȬw">/\⥷{Py]΁vA’ܖsR-%@ xDSdIl1 ]8RA< Wox6jD;#vmۀq^jar͂N+h5]:[[Y!Xw(WqZzݺ@$˅H8v"qQWX?$8ѡMKkKssr4'i,>V8?y,z׋hH%ss:#䀹'czvù 3Q$sN}N6g2>^z\~Nz ,Zf<;d:QT^>:{}}}*ҹfGc1g皢>=;KGLv! 8A5I@<?z@4쌞t9$#N9p{^}I')*T tzЄ>S8rHQg7ggN0As}Bs㷽!}h `c;׾x,w.tNzzP C8 8Fx9mCГǿiH9mǹD@Jrsr{sKקP0a?M4OQ\ scq㧽'<)'ۑ<Qps$'xғ1P @x+~[X7吒I $}pFkr0q2灏`Ny`sJ;}zTBdQ%N@84$+<۹zU\<:9#֑&V/8PqGQ\1gy 6~` 0=HtFG$;ۗQ V&&E=~huLex={fLɫ  cE(L$\4Hlʇ SMecpO-;f.%ebQ t# t=)Ccp#9yN1]q&ayjxro ێ9GN\:88’3\`K<.=ZiXERE',~_|Ĉk&v,ʤ硫AoԀ>e2I)ࣀ@PWo.r6#*cz|7 #.Մl1. E̅N235uv#k\;J9niǸD6G6o\dF9QU"tIo$l.^l߾:Es$(74AA 8qye$-(B>9a@5߻s9OI)`$\s<(q9*_ԷV9@0GN1R=Qq2BPx$qr;c*0=uvO@dW= 7s`JG1Ǐ?m 6Si(OH| [3C3R=?mG$E"1sUs9M85nT,_1q3Qgi2Y?xё$\^yu E~'f-z֖$g$œp1^X|V qz$W`1չ{K2RzֺQI9?1'o½3Y5nWr 1tZF Yo'W 0y^ezKvGF oy‚Èٲ['9#=*fx =qW%GHRWbFH=[qt>I-͎@:W&i𠑔`:\;u4!l/FfyrI c۵iGNUEƳ' 1+y|y&Flݜm=;fK_M_CA7X.pgªKI-V~1]qhv7lQ32*.WG HZǠ7cV!sx=K \@v])WyO$O cz  w=)wX;c,N9㓃ORѸ+3m`Fӝ8Lli@̗UUv!N}ɸ?6HׁL]~F,^nGΎ0v:0R1L6pC{cH= o:TxzJ@eGEh,dswlcPԟf$eYsۜ?Ƥe pO9_\r>fExJʧt N=Whց6E}7 \pTpsO#QΘ+#dP9u :~_J 1ݕ6p@n=jƫ^ݎJ_rټ/@#%Nv {N Ã2XlR+S#E9;UЂkd g c WA88޼px#[=F@{}xԀG_-08킭?Jaд=@p>~~lv3V8ެ,HA!nf;FR%sl;w6  d>(|W!>3׶*Rx 9=AҡQ[#`7\`:cW<g,8 peG|UG%@rXբd`办TuurNԃqUЕP*ۺ =9=#=TqX dv!Xp Ky{u5].\ ?y;&cSc3)<.qۭ7st[t8<sx8OڸP_L~ԩn -]|Hہos9e59*| >IsktY2.pJ җ-nzCPYN 78ϵ}#b ~8 ,uW,0aa|ïŜZw(Tn' xr/'qjn~8oօ#\ 8w>ۊOӷ÷OZ",+r?9!3d4ȱ0CHl]>pH:zdZ.".H`OOQL뎇N9 s=~cA^[ y8!I<#'#9<8oZW2#'iVt<`scӷ$ rp0193Д[IF dqwߜ n̬z b͓zϹ9q{qϥR-nx.*"6*0  #<x'99zqkĐr{`r N㚔3wvrG2jz1Trvߍ(ppxϧ&I yz8@Cv͚On}?} D@y8Nzc^I8Q_r;u)2?/g's'uNp6H'>ް-2LwATl:) G9JH,xC^ 'pj[yzcҳw#+ ?*( Fz *,Ze@9R*1BzH 1'SbмmǠ'֮g^ip{uI١9pAH5}@鑸| FrxSRhucF19sNcQ}{ZV璼#Ϧ9''?ҥ l9p93O#9#9f]K"'iדu²e8cۓ6sH`8Oڜ91 {Ͽc=;z?ÃFFy=}N9`0Cn0NOQ[/"=rgO$f*$19 y/CdWXITcws$/6kWnE,B-v UKc=h+ܨũ-<%dB5xɇ`".g=W=x_-nB01F̮35އeq"[ v J!fUT 6<lyqܟNơ9$'|LNO89&J p831SPچԳ8yGjӯ$PU-i\uPs1X%C؞6Ss+rܜ'x8 fqG>霵^N!ůd7N-FU#sjE`e%RKW81Wx6vò2Iޱd-s~~oR}|5""H$<~jiWP]$WFt#wDOpܝ'cBqUO6FXH`'=Ǻ:KKBn١ܒcrI N*y+rM22mqWDL0X̫Nxʔ#ׁg]NeojZ\ hW"Xm,.%P-$]ڱ:~a]7rsɲCmrPH:I.B7vuj8 ;#g^b{۽C(~ 9XlL#%ICQ2t b@]XeIBeB lkǂ%@V5;TTqqt,Һ ;D"UO t=CSxwOJ{pjKȏ` )7zF8==+oOS y۟z$eBNr:#Ӌpfs8[=mzҵ+XMZݶyU8gӂvN2r +3ksO'dsrO BG0ϧ8ltZ̛`s}Ois<89#r|oGOZH(Q\#$ZnPrskCף #2F9e?ҧȈ991CQdcꩱ^q=?>j#8m=:{b[qs#T$'[Ε(JON:J͗T?;Ny/#h y?֔}qNԊBca\rF322ǟZ{< > A`y zڐs?)#cKSQp@JҰaߔG'J\DYMg [3b1G?7<¼RCG@Tqq_ez Wk ˀ2F%S` Vs}ҽf 3cid9'4ăà~'xP@\;@+ۯAN9T ǯA'ĨSq\S7Uy0NOCq+6b0-FbrzCr{SfIjdhU _k8$v 99I2(@8&9ou)$#IRW8An`z(JɶЪğ/L1 cX]hQm\qȚM+'g`<v>Q98ϭg[ _ h?OSQ-i 8+bRS ]q+&ڎYIJC (Q=.jڬn@qF@&НS|d{ǵg-a&w.q9ʄO|xzѯO @.U/&2vOu.w?g,?'ڼݑۛHyZn#Gi\/4 \P߻T wӏJ|)=,y^Yx¶Hm ϯ\{ClHX={WEGd8jtpg8!NoxRm*śd|'= b&h(~pI\Rԍ'%PdɦEY$!ѐv  sR >Y19/ C#*)I@rrN~B GRjf;zPwZX Q߅$1,I\q\d}:к$d~pۏ-8 cN(Ge%$}nzVS6wP6w+eG>'b@ 9!Q2F'u8N72p3)y;ӧ?{=1UeD$# 2N$ hE͑@9cg Tg~ң|7wmȧdg;cR0n%ӓ dDY nnAOq0R 8q'l?-}C_ߑ&oF"Hӑ '96u!RBeTE^<=ܛjб$assJmgC۝:"0n- gt2N1g5mm4]?mϋfaH$Z/3U'CdVFD6 7嵿S)7muE&E؂FCg?93y3u.BVE@&bBv#vGZӺEo-xxBygM>0E$QL8w(Uַٓ+*TVFavB!aA';\d[n9w94$Z0`(aݟb &5 ҵ زoȑrѶ^ޢp̑VވI1,e8Ǩ}mS M. "FOJhoOV{YFS-6ufBҨiR~Usw7zltZd~im@ŵ3aA <^TW_V&܁댎FyvLB'Gqtu[ qJNHߡ,N==:]ޙ0y?Ȧ@r'FGz9ԁ~gרsM'둞x# &H|GPN3^FrF1\u.G=GjNy;I\Pv1C=N883NC+.NFGɃ_?xR 䒤sϯlG!mWx F`qz0<VxW\6{qY|r0DR+QW޵RIPUlx9yH\QѯĻ-$}@$ ~n}=sQG]N\u#UQ2ٷ=wt<9u?.Sp qzpG5'/7]9py5a[9IsxRw =qZ[Rw/y1}eV9`,=tx8!v}Hn A9qQ}BdTcr5$ "Iêe;K;`ޓw*(VPNRxR9H'^q,7 8RzTin 8?p`Q ,e2n㺓$ sSpz's*U>ӈ v+ NI!b\=*VdLbq8'ڛ `Hla8T 0(|qԞD&A$8df;f=cNs8FI>T.29?2 p@,S#kmO-w6I)g)w.&!W$3 9v*vجA>4֖_@m@C~0 932rZ1G>CI"l:I lr~YV%*b@l+ƫGs;?6xu)dw2$lorF8qq4 R#;5PW]1s~[yo;I(ԹtyXa2p>jeTLQ\J6%FYIcֺ}N{%[m|!ExeT-ڽRXDXi$6I܋v~b8ە w$޹3ҠH]H$#㞞R*\ p) 1B+0$'n8(K3EPQ$P#E;"tYr@zָFAl! Md_铒Ԯ ^IjҾE|m @LcצEl8aۜgU)$}fOI7ktFѱ1Y[=v:朰18GhJя̓QI@'*\A';H#:I2+FsW0|*̠ O\W6!o<3H{,qB#߁?0`xq1%N+\,,fJfe;$|9[H!PFFFFvztoy8dg_| yٜh~2^pkt9c`F *A*6rW8ϸLuKx#m m܋ц6ݸ c,8qՓk$l9,UD'tX9{ek̛$_-/Xjŀڻ%xQB*2p(&LǐT ]Àӏzp~x$gnKk :o, n0:tkNkE2>1lo#8u`%8Gzs^EgqlKQH$p}pr>F 8㞃~bd>qRyValtN;Rj#|6 rA^sqTl/SIL pz $cs^P3$F *nI~9.mGˠS;qӂ>ǜ8UsOdd8䎇8799=psy!#ǰ>QrF:O88\SD\3zSQsq"PF 'ޓKlza ޸zuϴ 1A^Ž p87> #j?4Oק# g95|g$q#j${ؖc.M?!0G&2܃w\ -pscמ8Q U0F3ČAߵ"D\MN$ce qqQT'3w᱓Sɫ{5/(~8`tjV!@9`1z8;V]{آwRd;we\vȔ۷*iKWs='H#܃+ޘzc9p#^3R~AxjbI 9ڸ;}= 1ypG,::񎵧cn rNx#56̨r*0H#NFmᰯpN>2#=NUWgl2Fr]sf"ڱ"*NW==N8{Xx>oa"o\0<G]gLӯ\y5jDI8sy\z{v!gyϨǩ@[m;|ǎ*\a<'؊n|[oZarG7qgsv' ]<!~%>Sߨ=9Ts ^['jI&¿ 0$NOADHONp8ݖz1^/A2y=NF=qÜcQ IcO5`|xs~e sIxǥBcQs_BG^LiaU8y?&vPpn09kNczaGҬnǸȥH8=F͞Uoz(urNr1=jLI89ϭ a2 qH8 ךӉ3#gc})S<ʦ㷮#=)Oz e׏Z(އ8#=x1= ӞT=gT탎O=E.!883j.y9 sI<+ @GI\䎜ϭfyt/a8*F2}12*,x9_S0q`y?(uh%s~G뎵0 {FÒzg',rq>j=qۥ"s=HOp~z=p4ȸcdny[H}8HhG1xE3#q=xV?qO Ax'0@8=^9Lj@NN}G^y r@jNriAN7 sZ1{qɮJ<٬[XZ=ԉqI,B |s㯉wڬDX؟݇PmV!-d{L]evNdx^%X9;|Ű@Jki[T@-L>c4R–l p1ZjyNsO$vȡ'"#[VdX" K"JuRs溠B[+uẖ iF9>ƹC7`a8qL`jmHqBAA(Mm;3b?.9**gRvFdP1q|U-yW8Ejzqy`tdwapqֺ{kn@r ,1<P6@13ۧ~ط̪ڤ3uH9$r8Zkokq]^CmKjcK+Dʘ%1kȉd2Lxqz3܀Xu^_c2a2`PIpn#y'b8\oOtCz"9*z{$p{ eUJ.\B 󏠩A؃ah";e{C\b3i(yJ7l`7~CMƇXkrNZ-k1 pr1tmܜ#999VSk3N:|z\-[K.c!]]IrZhڻv |Ò^qL{'r9[kU`@MC ӯ7er^d+mL#p t, C,pi;*Tn/^ݗ[+_Zj3K/oJVa8=*Ι]Mo%qlpAhJ7?MКח^W:k;鏇fuK7kŔ&;UReJ9O-qXy6E,͙ $֓W:+|Xխ`b7ݏHiU-wPa =6J@\|L00T g~!+O&|=ƾJΘ'#/1~U'"]dt2Hn$") v档2揘A!@ z?8wz?A#4R\/<ǦOn1S,*rFy!~QuZe9o<\'gpr}qȪǡf#f؟xI 6[ ;tv>{nN2A< ~ޥ88#4KqKt 2Kuꧮzvn; R&q FA^N0g'眞zpxcAۊЃTU n$npH<NT 9 zq\5ZFsx|rpx<tV#,Jpy^g`z8F,xl-콇n z:}kvLcFq ==0zW|Mm鎃 e"ۀ1sc1ꎧ ٧#^?jFw`q;, {zSҤ# F9G zbD@!G~{IHAǦOZi``p?ӎ)u8 ~Toޓg?ӡbB;1`O~j:g oK)2&^N8I=zgxP3߂ 郞5"+6IuO=8tVM-Jϒ>V=NOf`J8J$ }95E·}VA$p9$O1=:dМj^ۍF̷#$q϶xbUCX⾋)|vm'ݜu`ܑz(vܒ*w ^_O>0(2 [r1xjv.2`JdUe 0H2@VVq`  ǭƛne$ t}#prU[7^Id"TNHp@랄}>5,Ke1;~GzEEs:0qv$=y1\U~L(ڈN@*AtN~pҔb͌`*۴ 89FE ,G;F~I(#`F{_s[\r<`?y5`6zAצEL1+y=Vcyl˷sۑ L~U^@ڹ#?|1Y-e8%~ubWTE11}*3%(>PVE* =ElKX,shEdq\@$N/"^|#gxW3o{ H#FND'=9^[p(eG\62W}zS02oNY!mb6l]=9ShrRrw8NzMe[3pAPvaQQBCB/Av8SCH!Qw{vk~jZݪ @ͷЊM3sYҎ۷$7P? m̩ss!s}i\l+Gc=?ƲkSk?n9돥F;ʧ 3g)x8{0d9в;Sq$'qx?^x>Ҷ8cIN;qS|.^A u'bx<䙰0p6O~(m"H%.rAgf%TEchUQXP˸嘝Ŷ$VFRй%I9\#. O }HfɃ0 K`8$Q᲌` 9nka|Nv27N~գkuTrC2c'5gwbMaql ʖ?BN)`9\1 n=1)p ?1{8g5+NA@;޲rԥVH']pYd$# q)ܒ0#A,N0E *p H%C}= xЊê|N3;U*#\?7I0yG;x!)c'8jы |7LczUWVw]H@۲ )^ |fb_w,x9ɑv,2دryvuENئ?Ƽr c5 1˙X.Mr1NUd>rzz=iDOs>ITCJa#)0r܇ln<✊X3tcrSp/0Qm$|sQe(``Myt/rDn&'@ԂTuJNDkw>xnIV72GA>P2O?E@dxcXNڄ =xƫGu#9b7Fკq+״6 ϖAtTѬc$ PҜ}>W0o39{-`0@Oh=DMz׈tmkH"$`HvMwPiI՜\+v{cux-Z$ GG,FQxmRnc+$?_֯ȥm"QhY9e mqcJ x*T߽{dQMBeKtO<DOI0Fo5Z͗y{VFJeA bYy ~eIR3T̠pBxvECMcFў:qTWr d '+m$X|OCc( CNKȭϚU'/ 6ԃ);3"X\H_9 [*xZ#M=aP8'!ڼHUB$L?1n1):y`i#QE3*d8ŸO8?<լMmT\GNǥXX0W?;FB3r:juWRm߭ϲVZ-x'Z@q ^uB(S! {: ު-EDr8za-88'޾lAwF6svӓԘ\~ÌrIP1wlq睽858\dq/G,H:: h pvҚm98SLi?{}4 gc\mg<;q=IO\|o*O+>׃ii!x,d`T$Ґ4(9'8P֜'#8QTA10CۏJ}>ǡ>j7^vєKt0ygmPRXng=N-nY>>c6$#b†vQgyEe[oʽK>dG_oť|:|: PgC ewֻ@:?KDxsjvbH''WxS7)c W-YY[/4|]nN f|\Ƿ\RC*y ќ㎵\1$1~\ n$'|qǽc\m 6VaJT}U0vm .=1jb+nL2We܅vˁ-F\)mh c)a6ocrs^;Ckn-BUY# So%Df*l%L0cO8> >sӓ]' Kc~_NEvRZZaG|.gl R{C LI?j]7ͅ z}5gVʌunE$C ÓW<GLڠ 񞄠NBO朹`+b &8+A$rnܼ"9Ta[s.tP@ǮG=~QL~FsяR\x]CKm98邠dr2uP,z @[K0p(g$ٔ`\nIUE9yLSN *wpCH•Vp1̼8Y΄KpgdoI&YHVL^26漬DߙN:$n'n71r<>8I9g:\q{tmx~vߐr: Qj×ccd@FFlnA˨&A^GB@bB瞇֑IO 16T@yj&^y9BC9=1M3qG^}}GZ90σ l 8}sԂH#Q>QibB8201ZNn[ >QzIe)8GdSHowOz@?OFj6@G]?=+'}K-͸#p ?pzluQUq׍:KCȵm3qH$#"mYuRAʟs^ۊSRUO+z 984zld`N:Z.Hx\ ӝ`8TViG~098<ݧ9'=zG)'})OyRr;T3D.G۷o2~I$>WEii 8yNƩjza! 1uֽCӶTWw'=sڲRW4i"|6ygkӭJہ /~\ׯ;;ĕ!,-s+Ty̍}|o܍c=IvH7%x̛A+OR>ҷyVlLFHʂ[+3ҽjOFY$28לeysu{Siוp39X[+1a<~Ss[Gc;13J9GL^rT{w#5F=J'`7rIԏ𤑸89>ҧ[#rKmepNIp +s U] TQKcWlPn* R9CӀOaOd 3d0f,ps;ޯ *nsR.Ǒ0W9@9і@TH$Fr[8ɧc^j !ۏ,[H''֢=H98S2={pz}cq8#9Q9NYw ui|o@b=XuO^NW2cJBܲf wa지1g9^(qlq׎QϺ$3'珧\{qsf>7lcS{`'>s<t99`݁F^sB``3~=zސF@9lI⛑#9c9_a1' zB8sqDJ<Ƥ_yw+;ujh6z 6iSǦ RE=n6x1O?Lq֛1 9>|~8S.N@^9p Pqϧ4 O'>9~ơ' `89sR3x-zx1֥I(29r5RqIc{+b ӎ܌VUkE^F*Bu' z#=MyҖwוyⱑHۑǐ:q9Y>Q&Q=:^$myx4Bc+g ^?L㎼FrRqޗ0( .?9qYI`1ӞA*.H'څ%Ӱ'pV 2W* w3Vlb⑕FTUX ־6+ɏI:zdִmwo C 'h%CsVıT3ɐPGp9#I+]rLWf ˣ|׷W q5qFaEĀUt5K&y} qsi"̑3-9 sU0*XYw|Q9$eS v-复#BkkB0(Vo0`(1^-4e"'Zb4Zʋ*B*9WkamfYI )Le$7=MlJ.]U 協''9$g@Q4hRfگ#h銴D]OZp7Sasi6-to ,d.?L>ev4V2Ǖ^(v#khᠷ "Hʮg,9Nfo ܅dURVح9㡤K{ [5÷xPO8+&]Lu{djW}}H1"nNwr:Q&͡O+YA Y,KdgAUl@r~H_0>PUJ_CY]OȲ.-JV;Hk)| H6?Lf$qf8'X4{[ӠD[pyhI`^y%k!ddt/iu*/.$ ɒyغ9Ab@ u(iS$rF9?1ޔBW9R@T_F2* ,1ш/ĶB8e|Y}zqȫpjedڄN{ I jn6=G)I7gU`wJ,5+d9Ԭ[hZ*m,b{{t=ڔq 4,4y ïFM6wk-nRQ[ߥλ1Kkפyk1"$6yiZFГ<0#!A8XTCOt8xuye$ n6$9;y=f6QО$/-դ X3NwƞO-瘫q%őaA'= FJ7+ Xy׭?ܞFI#S\c"9F'*Uql#GZ@&Q# ~?ZkKVzՆ!usǵv]gUPs^ey3L6Ԣdqc&8r~PTsFz]x5evr:<>B}{]n'?Q;:fVv=*1tν=+ԧϟVuB8<6W )?N8PyP]g7ӌ7s};ֲ.i':czɪ9{s:g=\T{b7<`)uGA~I޳QF獿ÜO<9rWP7I'sC\VB{#u99kT2qoJVR#nHdלcN:'$֜W<O_NJv99לO3/@n}2;sA9鎹?Z3ڦn<8Z>cx"^'=3T5hxzn:_8gÎއuw$~9'A83'T:qqԱgGSV΋"߾0Cg^yƩ.rx#_&"Y *#Wү5o[Ki C0#?)^A>>ã~leQC7O\W̝DEz%s^b2eu##XUåyLu\0T!`:׳E{#gt1n[{dSӨ≗O9NKqV#6 KH]9l\.vѻ$}}9m‘H$7r=y$AD^qɤd1c$` sM'),X*%z@8Ic@1xPrf lrV?R}E=N^j;9ڇ T~pwA;r@ ^W#J;T@wd3~59c'E[ܒ9PIRQą cJNr Pr=y27ŽFzun2pp~juٴa`N9EyD+dAאOXzؒ4i/[͑p Dn%GB|x6=y Q=qRCE,C0|9g'?)SsUfa9yR2r涂[83ZiO" 180?j+\J(\mパ8BZԪ-uFd 7+ #yچ2ȳ]]2DswH%s1Rĵ~>־Ζ&IJHt'9rm$fgUE,g0A֚Ej7I$#\)FpFN 8HX!8bGȑIrT3)7qi lu3H|Njk{8'v0B H>So" CR[d9t]J]]330)IEkyĢI()5FR hw͘ș^>r}+'Mgn7dt \瞜sz}}:W Fs FHs}?o|猀X^ i{1>֢cϸ=1hq2K |HPӑ?6^k9r sWϭ sXJs׏U#Ԃ{gJ)[y AFx@`F}֛jPے3#1*?$ӎ j'w/9#4H__Msd`ؖ3z_/e<{8?Xa}c)9>t ;yO1NGT!G 3ǿ8g=}ןƀϧ99֚Oqxz7$puۊVW$dqq2)=v;QT ֜|q~sԜMp}xI'oʐ;.Ss~t! ojj3#- #W]_fx`r0UʀÜ cE@[''9^==9ifDUpz.LTS`Q-L3d#r7}ߚK*Yʠp;{VfrE2žVOl:ԁqT ^8>t"NpRxA?1Tp1 xTVȝ?/p )>Ϋ1.1~0g҆/`ݱ,(Z{cq(u9,9m9ぃ FcQ\I%Pc՝p}jS;v'I Pq!X0vP~mğ$Tӊz)f +&А2v1lbG)`r6q$7T'rlM*;>g=8i,KsOE|q)8M:?ZzHmA̱֝%/6B@,XĻuD6fÕn#*s6L23'*6zqִ6K,I1'/frFq1nteFpi2A=3\ɳp(у3p3ZĔl- X''I~b9x\~5/Z䑂_7e}Um~Vk׃G1ih\T2'xU=rzsקJݑ CfsL*pù=dZW3u'16n ӞI>UM1W$f9DR0N[=^M]j3x5Ȅ?,H āy]-\EmBcP+g# r+ѧFך{~ i~n$\rP.aH^-EnkB ܂cz;Mf881cD~V1IWyp#PA$`>L]sQ1{V%ăUzmĭrs\4m|[ry\[̦8Nzz j#X {[mL1u:~~DT<tK,vyc@I6 }0FNW;#Oԕݜd LlB`T nB̞|*#sҐ6Θs>H20I,X p9z5Fa7R0UP=⟝'.po0sIYmq<pz=F:oxz~TvEO~W#8/z:~\ pH+niIZ/7G9f QbW8lƵa>Pi2rIN0T\ѳ!w td{Rl,8,;8;h0\n˪ubp\؃ǜAJ# l&dB>q #  <spS=8I]w>O׮=ғ`=>`g<A׷o6@- }IFWec13megx9[|xۏqs)Mcɨp"cU#5wZG$A xC>J䯱8o~sɞe*Le6. o2æF e3crUJ=8=2BCdgPrH8Aw zkx-lBFr~P%_zұY"G&J܍8::?̏z\l2~ 3`rN~yn#,hpTrԑj3ь*>*GRq>X ?Lu-gkdX*H>$b8-u]4qViKs~`8㜎O:7Sݖ<t&c^NKdU!xSl;79>Մb%~Yc;t wm_>~^>.kyI]6r>rŜς6]u~gp3O8Ba03V!Nq:do+ξ笋$F L$' |=ð<JI@m<_9_=J2Q^D˴' sX/${U?2MǑ\skvTK)@,J\f#;vG*1Kܭ :cʸ9z&aBIc6uG'D?wcN3 qz xxZVǥIhY@?/LԠ$qܑZpqS$n",YN޼:ޜd< NT!=1GF !9dA}  `8?J?1n:Nojgr$Gy0\O]Oj>gy'}0x}Ӝ|r@`OcBD>ssy9$sԞZO1hɄx#:L3~arFx?jӜ.XKsGZrz?Zk\?!\X3K[)J9 ^zp;4֘Ts;ڟ>p\FNTѿV9 0sFp;Х8, #$>Бqʫ\z~ww&ڋuK8@u/OӐֱ.p gc*ޙjV;7R@9岻8^'{i QIA$dd>쌐zdsqsRð$g@1נmaX烂$Xg{$SAxl#8'8$cS<ބc81sۨ+31~jea9@8OOJ +猂Tu#G*]{眏NɢvA\l;Fr?.}c8vݛD߶O43VB>zu[ xL{mGs4{Bv_@*HwѬ.sס޸1.q602GB8޻E%#P   zןRwFrGX}L8e A@' ~avbI MÏ_^[w?sQ1;M*玃=+13@*0r;WSfE=',r\|͑${jE'ԃ s_ y7 cq |x#lV[zw8>Y@$+h .2>RJќ$8TIs1߁ɫ0_Nq9qb?Tp*͖ʑ5&ˡt1wxA??H=Ne`o=798=ztJrH;B̀X=8oRK)Jऋ$/G*HslotgEIG9tjsInOq?)QLx=MSMh 0;CIp* sr{NUW# ($ ǧGrAHRBi{HǥN>${n#א0hԨ2pCrq:T8,7~;zS3E1u8?m @Qm_J[55e9c+Ii9#LOU0O@#$< - ˜ ݻ ܿ.V*þ=}N?G>Bu< SN#ђ~mxp:`1W8rd$\qNr\@.8iI'?D.\d߂{b9F~|}q@qK0\rTu'$c}  q9 {qY3߰VpqSPj&/yᘮ0ski,vsrP~ Z~gAi|ؕ T+ܒGLyՑ򝠒:ԽvDp=qq۟v8,;nq8 T~P< y 9矦sEa{z{ }9I|^W9#S_!N63SbMǡc7pq8<=hh|~XG\{y?3o~=JQxA?O\VK'>~;0> gxϗ"yd>: Exe$ɽǒvyu#5 m+ݠ8ѩ];FMe~Qܷ~zJH7s{0vo^ܡ؉MʱLQFYe(D*GR)IZi-(ScFU|tBm/R-k1xFH\2GR5P@9]* dxHto7 H̡(P3qӹU-R)MHB)ͩ'z^L@3ZA5RJ\c 5^\hڀH\>ռG^0Su׽R/"Ye܀3JTJp2 nA:n45d9]a G2Hҭv1#tA,g|Rثt3yAvKy7vO:M];b0KR0Ͻɸn T #6 L|{'6oqjV搾 ̼*qR6:[[q52$Lr*`jmѯwfގTZV+lek7q]ΗI$*34T<rU wO[o$5J".qc (hZ_&G30YUrJ6.'30:T$kqr('JBH'5 2m?No$2S2A'k{`uB[Z{򨔬qOȵik [Jәp J%_A r}^^8=Aa jOJ%/z%;^uu>Ѿ|Oc 64a 4*$“;pHozUy ^ػG16TgiO-{+fiN4Sڔ"6FYx:z RRНH58j=x;/\y6Ѫqij3H~|a6zCC5İ& ;SZUP5JR];ы NOՃm_46‘j::@[ T@pvZEkk$-hi".z+|zWR+v^:]>s4m"L(/ÌyzX/A1ri֐uRk1b8Ն?+ͥvΪz$dF c ܒTjd$alc yLz/-'UF[SD PF11ן|TƗY&9#D¼'9{\km|,<)\)&v AKy9錃0GP~POOlBzzՁ bq^;_R' s9\V{%bǁ= 4 G3׎m8A'g}Gs!ÿsFqb'=95 % d`Gu$GLsQ'FH蠠 A;G78;xːsnt5 9\7rq۩?JnȺq42pr=Hq8ݍ3U7ɆR!ܤVztt;hwspG;^X'#9ghн+{] {'1׏άyX`I;q׀T8A["XiA]mSx#mO04䐤0s'ҽaOCg{ץMcN w8;ִKӠq>YsE6~Q\RN>lIt2U8b,&0F9s9 IQsga~p8,.$Qښ02y$;};1`|ybMF[`1\] + c>GҪLt@"L p?!$aF b=LQ,g$ 2Ǟ޾QJqYJ%)*GN>pW۷a pA=y_Yg?pT7Qr1$sިuv {!pT`4|(Qt5FOr|?V*0)?Jw?q5fEgRp8Is\ŗ{(;H>>V#I$ X=y419R ?5qt9M L!s #9瞼S_ݬ<23$OLsޔpszV\0z)qbOCqF>9 (A厙 Ќ+!ʐ,j|A x뛃1GUW$8KQ]  6qd ҁ39-[89gTspz \q^:`;}1)_q^W’~a'9һn{Rd*Rgcw1jJ~m>[g(vƫ& (bH0^}+U!Jy=ȯ QQ[5v m xݳ\*6Jk]Ά!ݮҙ,МgyܕF@ҳfs ~ zqA8q'i;swzTʀ˩SsvOO$ӯJDkRrԃڣ<`9nqF*F&H9݅عCGק9RsIF8\qڄ/A#'#g?1'#s"8E mBW9^Y`|6s@1=xV 9 K)'/$lwV=J=h`j(P0 rEl:9{ n*A°22C VSlBIJ3 >O{8<r  992>srO\qWĊ2-Y |?PyyS+^Y FCn 4vd$Vyn&Q A3Zy=Xzmͽh%9H&?~^=Z' Bsd;R[5RIa M$ݑl\u>õi^,eeU)FΩ(@8b^_Xo1U,+1t) Giz|t9< Pk,A`#c>\5ihgkܛۀ2p9">衼.!dvQqޢkG=|I,HdK>XʪAyrj(@Y n$'y҅*1Њ[;y ḽqr09-"]opJFf,9@kob؝i\OLNjoz 88lQ޼!MH=G=Qy,pA|b"st#z} zrrz&HQ鞜^g!rB\iv~`r?>[= ^*ˎa0䃐9)sB2p?t ?'w;T;y <O}b^=+As2`O|/4ǵ r=2}:R6?t{c?^G F-A۴ 7Sq  9#9$qҡh{c=çZN*܃ۣ{9 튋 vzfZ[Ԁ:{zPX2;ynjd^[]`@B$x8OZR+u+Oa}.>Gj]Gr>1)FH#|;C@Xhb duc歭rnI pDd8$s^Jp9)V. P4g`R'zgVm3\G=;Vrdhfc \r1ع߿cDvؘBOҶd$1pc#V$H 89nߘ\ݐǠ,1A=Jލ'>zҌ N:f [ ''^Fskg?&26ϥR3 P;WtsXA`9_g͹[wd/9>yT>dsn8>VS>\tӭi[*TFJ )asҁ3Oq,#(r3;A`/i|s+tv?sҚX+;Fr3z!_=؟,vXG#ޢC36>aNG $R3606)rYfZ2wcҤVlg$}x4ZM>\rO;UX VƒאWy t Ү+lEN8I[vyxȧ}Ŏ>Sufa' Ԗ,͒׌։%m;yj?3d f`woR)?&דM#!T B#fieYTͽX5G˵0x$}TGmw.rHG5dIlϬ| '̧ шscOlc/$$ly0Uv6z٢_* Gc$ sszUT/ }̅]0 5aefq%WvՏnk7v  r <^;U Bz7Oű7@sp+ F)h%, +`22zӯ^= ).7?Wtz)8۸3mU'`}+ơO\S,9/+屰Me8 wsT# =sc2rX:`p<+ylidx ;I+ fu`s OҮ/RepX`?zgj`27#wcoOzrOKhbld^51=s8kbp 9$mq^Mٿ֪^dXW<3?Kks" ghQW:Rp͹rd98n1Jkp 8r??~h=8N2A<\D.$/Ǯ9$[|6G,VtlA!P a+ԞXBp0|1Cǜ~4ŏ#|(! |m$~CڤL眒<m:iz,ŕx]rK( awcv2NyBbQ$dHT;|d:.Ayp'jC8r 06rm:Ќݞ~jdsq϶:Q{}H @p cʣӎI(0]7#z9Hظ<'=GV>C!<98'41kx#>q;~Pɪ{ t2׏_º4uʉ $\yߍ;oO rs;W1l=1|u84ݧON 8?%dӗ#pH'c<:f?Gcgxj^2sm`j[*Lp2Ic8+}3O_BI&48W ă!u'!n ߀p8ubcO-7B %(`z$[<}ZJ(gIĜ6xn[1Х< =G8{2isߌr} QY 8O<cgz{Ӹ8<>v#r.{?ªh9 I>^Hw<V'Ix=O{ zg4,:]S?S4o,[<'};&֭U Her$ǿNzz/ў%0sf`8=ˤ:T b~]Ӧk鰔[KO3汕dש;~g$9~T'Elǒ*#yU:2QlX˩DRLrcNP*ctsAbjG8(<3Srz2Nx=3늦AOš0A,0N6=GzqO# a^)0#8 c ӞĞHtۜu<6Kc8x* s*88ǗA\`~$q>`Sy$U-q|[&읫[)ݿq#)]B2Z:=Ut,rg%z.8w3YYpm0NpGnTd }@c) 0=H-ԟҼ|dǧ*cઃ,:bK0vx=<י)hާ|P3LqvG3pï^+5=3V 4M+3Tm`rsϽI߅\b̍[;qT#@8$gdloBꬾ~(zG$r Wor =Nx/{ p1Bsh\`gޠ 'lA'+pFH'1R ($2 ӞݸaЮln'/Ey mFXqIXez`?/lQԦw* o }A)9rG'9x xyPy 96_flftb0yapAON}jJYH 9w,?汗S.`K)g9W7"m%F9 FZRơYcmg #nޡ9pztJJUFI$0܀7OpHg͜dq C@=rq1 Y̸K#qW;F9|Wkgzm*+\'ҖRj,0SF:WiUc,Uc+ My֏ש9Krrd&O?:9.|lmaO^O17y!Gϯ19#ԩ?J?1r5 sny۟aL7#GsߞsKW/#Vim? xbp=3QiA zߟ5VKzg|_3YΠNfb[;tzאv`6sc9yR=*~`Ho1ԎXܡsx\Wx=ٌJq}<2 AJ;?#[^a\8S}ᴑu'?Q} ǨsAJX(Os{Ԏ~l@P`u=7q4 錞涡, t9J:Kfae Go{dž4L#{7Pq+̨zP|=>pp.:gzUs(ӑSlpז_6+$ש7zy'9'?s}=1bl郌9y Ӿ@@ 1 `h 1OR}y>Y8Ϩק៥/,dsOQ.sp};Ӱ\v˧FSA# MK)1韻1Ӄ^x8=>%\'$9h'i7v8x^AP4cNn5l3vCg_ZVM DeEiıL ~6$ _:!KkuvU1p @d³t<y9lMf}/٪_znkA{kp#7۴y!nb?f[m:~B0P\ǵX#qs](ӌ望Zo/Opbު-+OKAk˦M^X] aY#iyYYڼ S Η`s_1H *$|ߜTJ5l_Xڋn75ߺw\47Yl`!N~ϵIIUe|*9gq:Ur_3}LIuM" 94UqIª Xs_Feg>idrU6xl*$s/[Qmpr|$߰y?cK9]|łW>wP|*>^ M-ҿx2PJp4ZV-·SYv.ऀʂ*WA{v67n~t"rff6~#9emZ勿&JޜګoZNmVY8'E"$Zo($$pk|#i\ ML$WUǽwxwWJݯOTo#MƶguJ\ZZ3-%`3z>=hB!TVdJ #<5؝:t+msͫBZ;o_X/qeh-nRY]x\o7J_duRn[8qr U_k04Ai[˾_f^i<0O{Q1cr g?iӦ.;RP2FA^=UPIvϯn(u4D/c%zdds5H~?1'8ԃN9sӷ4-8AnsV=r` ϧ_z馮d` ,'q89 -r:c)59ޤr -F,rH㎀Q_\Q+4gW9O>U>ae(' 8m}Vd~=ykq5@r@ tDߊĚ'zsuӑ\q :y8<{W'sjoXM]q63덹nqc`c>ֲq=*sgdc@<V$n9c]gcޣ >?ª0L gTqQ$z`/93?WcХzr}X݃{s~ÏC]Ba8 Ow0}# G<$w>89ӵ>qX<`ac t8iPHóeA\r;{68nQN~쉐 aNJ{7Lb*;; S}F˅+Af#?xr wu `$)#UbbAcdH 9vro>XmnR MJp't;{9|t}-$;jMͷy#a1iE }om )%%V?\=NZmT9#$fܽ>^qTm%zґq+9 F(H9Ψ*ݻM#[Nc y;w+f tWZS40"XV%TdKnR8MW,`lnA9߿ִD%6IB6˜nJ;%sb:sL &|ʅ9b;۸;ƷYV6qUЍBf,~]ylc=p]sHin?>I80tbg `#qPލфx'K6NVEedL^P/e`DY:I-[0!a[i$zpq^fV>f+L`)rm|'9םW$tGt]T~Qr@; $|=rxϵy~FH:m>x Isךc}T,q?\v䎽O"1=L RIc3UD|6˜u>(Qy99L {c .z\ZmlQcNy"["_pRsz`T-0XmLcHB}7qiwbTrz ^Â< ijEv d q1.Rnێ=3 GyR_9]񝬧os&y:p;g$v:T8Gzq?=)Ic$Zȵ2?)I'``ZgN1]N{'p/d6g Fī1'pC A!qd}9R:cs~鏯<98~*vblwA޿Oҋ{OҀԟ\PsxןUsSg'<9N};rsy֦E #+똎y\ .ׯ־t8͘|#؃Y^.GR ޺i-jO (_rRG;I<מ0UR6I)% ^6GSbWIb3EfH`FC9[-?bvqcnsO'@[nrmr99zk_2!yYrYFuR ݸtq<hv7̥vwU᱌nGZaFs x_; AǐG[!ݑĜly8.6mBG< !\3#*QG@^lQ5vp̬1L7,FW8`rGӧZAu1w p7)QwM"fBh9*33GSS^`ϘF7ae] !*2sGiȣ@g2!s3́)2IdPŵ#ZF(f߄^G\psш#^-ds`nj>̉c=.Y+BBwS=MCB\ezc{qҡqd<` Lӡ( 8el Bp5: :yyV?3qTc4Go=A" 2q׵N9??1>Y##p~9,)/P㏛h;F@^GA 5NONKskON43Lo*G?/:Wk%ǃw w {cǛR|Ke>$M*c͕X/9ء8f# ϡ;T89,ۀsgZ@HI`Og?zY $z61$6@ƙanAN8鞘뚰N+,>bʌuw3uc922OJXCdSwd}ьZr" BoZ@"c%$`ҹtR,LJpfE l`nz`Olr>TIrJرt8#*#- ͷ IHޕ,dl@Ý" x:~t9!Og [9!i\ gڹFTӺ$1|H8#oMh@߸qBl'`9^~#laӠ_|Ґ\ #pn{Б)^rF1Qi X1=tQ㞸@}4-ؾQP2y+nߊO+ g!FCȶ`z M_RGZqNx9t;TM}i_DZ'NVEʀlQA6ub8Udsw7K|%bG'Oƹs8 x{kpT#nnJ2ѮY/$dwqx]!sxW%Oʾ.{h|aR.ovpԎz5@n0 vo^ݴ>jrmNty|a2Nv=sYKH/g5- ߓ,3Aؚ'iRvzq}r,ohfq 9*=:}3Sm<17'`|Vq왝9H[;<7\m>FX.3GcdcR:{F68uPq'f U} =q֥nhծX;*K''ںHDgp 1sqZGtDCvrxzA3]u`m !FIFx=kx`ݎ;1OcC]lK?wq9]KcT _Nu˞xrFOJ˩,[<`uϠgPĜ2p:J$t~K+s=8+Ҵxǧ^(ޫvrA*9NHRC/tA«g$ {rNH3'U ;G)-dp#c(9Ozj w$=HJ]F٤_nPU~U8ʃs;Y<@dd׊^ld6*#!Uv '~;g"eH?(Wzn]>L `5Чsy O=^݃p\t$S#c4X-=Ld;yX HDH8vˎnH5yhٖ9n1Hb[G._ +`}Orr1]N =I"f: WYe}ˌt[1zOS9ϵK.GAFc<1agw#A8Aݢ7cOLv?nͽ0x\zDF2{`+ؤF@>aXI9ZO,=1Ӛh,!'q>B:*탃R$sIOAX_(c'ҬyY==6r1֬ym><:X^7y*PzAh'F31$${t\ ߾z|Wc6q՜f9 >VuWj)FzG{sN] MFg5IUw<PG4nعRN g gО8: SMÐȡ}hїsxXtgUq1S$d î+ʛKF5&[ łTF 唏L\Q0'ͻ^C}Oj!N)eʧbp?.pz*fF@=޲j:T=8;sf{(<~`?;+̬(VL |Q0\2y+$`݁RiGr& 9$#;z-bb[r> @\P#nF[#{ޛ[m>c%0'~9RW†azE5MrMfbPwº$grGav{¥t CD͗+ A.2yAW97+(WJTЕ^za+ Pn Xvkz;VocW9H=c:W7[EEW9*7.A q9GSgm̻Fqڸkǖ,>k٣` c+М9t^mNN9CNv^DvԏozY)3wױ&Fqω;^D^,!dI/Fe[Hߥʈex! UN?\ִH06Py瓟a+߭5e$IlN3֥E-@ucs\z,*3 H=I b`+s=9V9jn,r xObk.L? UmvA@;V q|˝p5;P 9/F0qӎ0MIg9tB0 sKۜn |zUgl`ml 1sy׊y `098ځf5'pcތ-nUO^ } PNǠ9;U'VG~`zQdf9u p6Ƿ NWԟk^GAv݌#9JQ.OrB󁟯= tb9>P xz`cǒS׌z/ơAs9)RyDZLq= g5%=C`c_Whq9\/^p2kћ@&hp&Oet z;s^5M'Eܞ9j 2Fg=z^띻!e`#|CQ{g5,`W$hynn N0FH<{SY{dQ5CpvVyzt~L@rI6; r0qg<>n$lsG#[ۥ$O9'1 rG>F~ ln8槛@^8܂N9~0ށ;)wi_C~`קO/AI O#%ONR}l,Dosp#Ңk:2 7-=91eOrNN6!r^݁\uoW%ʇ*}bO_߇ynw@*Fs:lF~{x'spSV<N=C6 7}刡!C,r =}nOC$g1*y='8`Oni7`r=s:Wy;v3͞F;jxm,'' \9q銏矕IQæN)!ӎzz惁 goD^Ny$7{ž:v0i>CsyS"O N{zL\'A =z3Sm 3JCrzw@>pNpp 12|A%xӡO@{g5kbY98lc)'Cht$9;HiC#85,k۪ 1sIknZUf=@ԎYBh[gO@2@9N3|;cA\1_+ʫ/zc}6dtۓNzj~BJVwбN3/hݎrqg[\5NzENP8'l~=rD[zp?qOzO7< gRf}prsQL@O˒2I\v֥j$~i\ccs=zo#qXO׌Rer@B9=OOZ?7\NX8܊!I=O`8XB<6 H)w7cwH?\OjWezrz<b"O,u XqlqFq^حTN!G8+ЦG,j?h"@<5/>~ Qt'۞;X{g(?C?^}zP:cChHqқ`hf}޼sҘW:~敄BWs~UQ9xCCLnz)s=9jǸyQ1Qq}=#|eqVarcn#с'Gx^Yn9xɪl% Ү6IPg$<ږ1Ӳ#4վ*|*QMNp?3<A12ǨE"Sff\!. g`H0 W]:ն^d7tx8tM؜vP^w4!]bRJn0<(+QԌƻ4IW9(ݦ59tf0lS)f3m8鎣M 0qcGE\6x bfA*x,95^]kl5 R[@* Y0qz%s+ȫ:RN tV5G$yta@\SKk\mpC 쥃d]B[W̱$#?& s֛h]i˒yvsrۆ=jX(ys%F͈$M:zNZ|)#Y`v g$ ی $Z ʶYݑ 8 ]<Ki.vBbh`pw_PO\~/<ӧL0b8993ߥhEme2yzE]QuՎH?+0BA2G~59^G|#h)8BOT+,W Q'ڹq~ǚkNb2q~v8U@=In .iG݂^EdBP3\OҹIe8cq+󌑞ֽCNnFp@Ǧ9]O#\ퟧg zd_Z"oSӶ=}3]<:rxlgdƧߓ ߞqOS3rN9rIqsއ!X_49<8sKA큓03?>myG\ǧ_zq;qS(g# g<;9x$qEFg {s=2{tWp1ϨiS9z`ӧJ13ws}9w=1 ׭)eNqyU={vҮޠp>^zx53zל3#lGVPg9#뾚԰ 88Ԡv8 Gj@OR|>{qfAԁ2}8y Q0~0@;tX3rKqsۏΩ26x$tҳ*,ö@=~n뚮:v{ߘ"%ByN@91 L,cI;s޹䎈3XR2A{bv~yR8bO:s ds@ݘ_S @`Zv8F>#y5/rHw\t~4oB!ܗs}xFGy?C><'8*HT˒#R1>֭.m7udq;ހ^X'9s^5'k>Zru\ރ SfʆHrI+х;J/iGϚÅ 8Ҽ)pG|c81ps!(۞#.2rF_zęv ndA8Ϛ>ifV=x0n8'{Cd}py pzTO'~FsQE~mKAwRh=l \w*_A1=@ }6JE`r >\"QBr[q֡E&6 pxeԷ!X9E+|qsOިmlvPN9ރS;<`9?ZRc cNhDyT=ܯYG8?_BHMV];Ğ9揼rs8PGR3Rw&p[\7 ׬*'/$vE G+\{YSj]ϭ֡Ec7]F6hYr< r׈.iDV`+'\Xo\6ٔ3=0 KxS=HY}}=1zHGEX7 tO/ 8W,wa>=_Qef?.1 @^1ִ8 1eÌ5qr`dq So9G'g}:&THN#rITp 91ܹ+`}xJܫ3`U%־^oiQ\Koܙ܋ D?gx#8ʣ6apbMnIxro׆=1L6 7sd$◳-T  <}LSEOb}q֣W>|9~ʎ{fapˑq:5.Bw(y<߉+}!i 0~K󖭿$RhޤYJOF0 kl9altH嶧? 'b9O{ˡ33˫+[6nrpFϛ -w3{ b'ljuۜ3{b>N8#B-HqҭlORT;Jds.ьN;2p?_Z#l? vq{V%Œ'p2 0۲q}9ֵ;rbJnj;zv9bHQ ]`Tsž9sHcNrJaK8}r;V>FfL1S MPala.07l,'dsWcm!,G' KUx$.]X|<9=:րD .0UqqCݞ"X|68S :`*‚z9 2Sw0hb1qKд\P툸9 vNxS9F pv #/׿ #JQvrBVr,Ue *2-Im8#: #9|P'^ +x?u\u8zܿ8$z9\Y֩o+Zm(Teoz]uDoە?Assg=+NK.SS\~Xm.Q.mSp*>c9٦Ӎu>iT*;XI<7^I|9sӂyHJpCyi/@~%~Qcx5h#zm#$Z(ݳf1ANXĊ95w1؅ʌs5R}ZNZDF$<@W>[$7`AI5OgS"TRY lʼnNz@zUsHWBTR6G9eۈb~rLn $ Z2ps6>_v@0; aA H` G 3lR]@j-Ͼ1FБ@+8=.297ۚm+*;I79ʜ䓓۱h;Nq؏ cA}az\ HNܚ!+G\`b.WG]0zчCwR$zIܗ;p[#$0B )|7TN(OV1 JpN q{ $ gz`yY:O=ǿj] Lv H'9'MqF3O mIoQNr2@qЌ3Ͻ 篨sLw!)9vL׶s{3U.0g9:oΡex;q9ꤕ7dH099֬;ՋU&O~دw+>f6S>v܌I@8k[3u|1OK>fuq]Cϑ05LO 0:=*|sw=JxUcr[t]|Pɉ,O|ʺ*'~ͭN_QƤV,I:b ZܣǦ@Ms3z ,AH|y+6Pmwv'ָ/v}" P ʜz58\|s1b/Rާ=>rTgk O,3 o+I᷌tU=BXnUt$8܌Knb35ePuڻ嶓:ƙhܝـn`n3[)\/B$pv$t\tlltPK(p1sῈU~r@~lw[C8v6 029%x8+w;zWb-Vhy?½ִ^%o,菼7-~Ul =t^)8q1\m'pvs cWF&sc`⛖ ~*07۞ǭP-f]+gs\eTp^F)CcڽAr)9yqRK$oJ QL:/޿4À˴c#Ⓟ$! ^fNp8ڡI>KA'(0IQԡ/͸pO^F<]tw3@:e-TolвryOtJcmU\$n'\d)l ~d$; FT]deނ/pHPG]~arpM@:!A{946gr CsО;Ѽ/eS(2{1d LqWT[qxI'n[ cG ă֦g=3984 BpwlyUY}GRqֺkF@ȣ~PBʎihW.F@=OnvU(IW ~R5xAӽ7g'}) i_TgxӰ4'1c6~_RZ >88V?ЌzqTVloG#sO=;ǽZD`F1'<$ӼNĎ#D6(Ss?ixzN}v[3 @̀z78yd;r9|ZOCz$2+-a*κFjX2붷Hm_8b˶畉rp䱣;99}s^{=E+FܝׁqxutVϥ̹l܂bc'$c;q)[m-p#<댎tzz#jVV2 9'o\sZG\-.Taq'Z@R7^ @~C=k"lo=W!puCnJ~U`lF>8O`ڥacqxjMvpw(oʼoO9汊hH',>EpN$gޥ'F*9=}d;m#F;<38SןH%@ l\m%U\N@#?1xW;7NŒ~1"Qʳ`0Quc[c]<瞠s[OQw3<{6WiPcgG#z¸s p1}$q JݎA?wӧaFW_#${M0%N zz2kM[r2$u<{W<:!'H-(smJBSgU3fw g)@=0Iȩcۑ5r K'ֹ3b Lrp; T$j [' g秮?*{VNwQ =$8{~VeA y"6FBǒͻ9<||N.e'qf$;I g}00yy8xtc$#\)b;sˎ{׏Ppc'ۯ'>lq@gnIoAI-wH{RaqQ#d9,9Q<П^)`!G<BTr=3*_r=nlm# 8ҭer=H8f@xȨ.!OL^؏x@Iq5Mds-g8ҢL1Pr:˒8B?7A ?W8=ys7p9#)s8<yN}*9cL^GN}Icҙ 289׵'1 >@’9 ƣL!sצy>er ih3xSs$ysХ}.{,r- ;ڦ3nr dO,,X 9We7V67Ir?1܄/\03F 8<ZH08ϧ܀*ȴ:~SBR֨a#(U'Ƞ(" >ߟ7ד$l S{p:ǧ:T0##О zlgC">?ҙ=98,cpu~Np~F%)^20RY`y95j@8i!9b^p\wN]y=1XxF6m_e8ЌZ y,C.hO-8Q&X6OCC׫\i[E$T}{uǟ'ȋ0 *\ӎsҏjSl}gj.e߼KeۂO֫UJlG OІݞDk&dd2g;U; JZH/YIAz! g{bJ\θ>#RfE@LH%l@'ךҎ[Į#+'F쀊~P}xs{ZE/[{U3`qԈͧn-n,ed%dbF1;QttUKǞVXCo}KzZچuy9- .r:)sCk mX'.Ͱ1`A=+wQxG;/|E%>p7p$}E>uNC7P\rajgԖPT}z}JT"V~I'҈gmBI$r#a.ysZ=7/,#(Jϓрц\bv~}= 擡xva1JqsX=+Ok7Z-QpZY۾RX qs0}+<#s#kG4S X߁ֆzicoV9xnz}3M'wr:d~>ʁ,}sXm,q*&#=rp?za># @^qN3ׯ֠ss q{Dw%#lep~uz9`I=>HL ygW^9޷Luݍyd9'k:ҴM)F4L(Ep\qQ#o۵d<#zrll|FҬ1@;}9uдlP۝Vy֋]Տ_G^f{mc9s]Ohzc9{v|}NoT.3 bO8w {JQȔؑ<֨LKB,'~UhSxR9'*J;>nt<:ҽ&g9ǡ>B.LJ㎹88tXr9N#ϡķ2y'6=c$s 3| c ztw>8 =y#dc8㱤u=`@h!lv> ww<<OK';dvSM27^Ao\<^<~T`3g;y!glp\֑J#wdq412@!'< lv8=I{l{U89 \m89zqZ^n@#5y:89$֮g<: sc#1qq1sֽ {ܴۡ##y'=38nylf[c$# nI錟=H##Pt8}A#₈߸g#?J |g#^}*$n;`qUO_oO0z\5DF:I9NOU{Č{3ZGC*h\GC;\ NO<vҹ 8 px!Wy+cN[u=O\=q fkCԢc nLֱdML]WVlgנ=֢e׷P@v#=19K?qXt厽9_˭)l}OT1#M8z|'r '/!3OQ<9xޥ匳aI'A=?.9JaoҴާyx$#ןJ A p;c{xhUy kYT\kU)xa8?y=+S<5=vȡSg'?P"FJ0Qwb}蜜P ݠ@@.\9mŹ=a?ƽ\3)y靧ߺhzu;'ۜaH =k^SץTId7W*NqVx/s$cQ& ^cs*=zGSӚɲ!С$˜ g'=׆K.}:Xk%icb2#(4?4}[|iҭg5䖒Y` u+mb|OGl I\Ԣ.mg*$m`ON]+h@R2 88]vWṅj0da%AW\޹oض$_)~\+<3wxؤpT1(2Tz|=:qZEu rx9FO9:\{TāosלDNݹW+{' 4XFn?ÒrZ|I,ĨSЫNC3()JP`ňR~UیpG?1w'vr2zxI* 1$,H#>c׭Sif9qJ](1v`rJ,sI;9 HLe1mG2'UrU*|aÁGZμ]Bo.iwJh]rGu+ҧnWsa 1/vܕc nf`7Wv3.::T& 㔴y`7#ruzE-Lr\p:}* S\-I $"95+YoAm;BG=pi l~YGx`VǘBcTٓr8LiGnTQf+*ڏ݂8|!X]Y[ZJgWvHr=TJp{u(nDQ>kf.Pǵܲ1W$@#tۋ9#4LeFR0N+> *|GorovCϮ@un5y73^CT\gy8^ʣX564zzÿ44aCŽ񌝾kT`d2Aߦ0zuʃ98M ͌c?6qЌj?,c9S䪠g#p9Z =1 z;7n5. 9W>R~Pw).X\uQ9Ovѵׯ9.:c<4pǫ _zHɱ8$m9&udr wm9^O\p:`s@wyS2NO`2:8 Fb1sҋl}}j%0p܎&r#v\rs|rO*# @,~c)Xwv8@['PX}}}#d~GUƒ,~_o\=3nJ'QÆ#ҢN>#Xc.P!>rJtң~m@OIĮmI:<9DDz``r2GKJD }ߧL0t?w|q;qE2yo쟠'ݳOu<§p$mA':1_q2K.=h8y_6NNxx 8aqO=O{Թ5aY8A3O x$0? NE<Fl$;@?_[~I?0g@^:'I^~Lss׭y]ⷘv>`9Wq7տo[fі9fXպc"ÃP>`uO1Ce*۷Th+)<6zno$B ʰI~GAU |8Bբ7ȣ 0jF޽HH-ܪN>]ON=GE+ׂN{piw$U~\,$6z|\7%O`Bs4W w!pާ|T ^ FF~wmRǖH # l{dg8q=n;hX;@ zoUPv%wks9*d1Hϗسr0zȩavlVnϮ1.Y \D21>'ڶ#7P>RKpA#n⣛V]DfMTT`(0r;SA&@A;~`Wc5.a& 6K9ݷۻ;G Og  gҳOEIhRf8I @ AQn-"JdHd r1?6LS my9⹦4mCdN@?*県 ގ"<_/l,ӁA!${G[CT9o#C,b%RwOWOqOSJ#/-+ѕm0+r7Xk",W$2Gs[o"#nfs$sٮ6U^@wt|*:i7;;x O `a[5>,㾷(JLAErvҽ*3N-U'5q5{Nb*/]ز̒|;ZTg,m(93GZ ?t\`y Nr~oF7U}u?͌QHʁS2O!\89U7gZ+zm asUI\%,drKЌ?*\kr,Bmsy۷s=OJ[ *%H<Ϯ =apI؋rmO'I7ʠ08 $}1Cz[8 7`?23Ir9 GYsqP@$`\8z.kf%;UxY- j w<ÀBާg$唕סzEN"V |,̣=y=1s576?yX?*gfgoA܀rAn@ PO7&i- bx$7c{WZ|}oNAYb'ik!_v>L'$t8kUϧBMH'9=r{s 20xsI-= U#'$qcvqT^%sbsry]= sۖbu*X/6pIN>+ME!?(<N^:ou1Qcy=+YwG`#5V,P|Gj\ \ הm ؑ -xפsr/y-ޓƒ S8L@**1 Nm0BnI#'9(o(!Fy-sP/}#ys|c8=9#ha 0'OC^䫱4la I' G8׭oEq+c9o0=k҄V+~>gn`XD+(WV;l61r_9GLiH KC4!#W[u#qpKvQܮS)' n>;~L A$1|,IE gqJs F3q|eoS\^'Na~b1q1& bٌF:gҝ;7g 7"AuxvGPQB1Br{qY!N~Rcy3ޚan1RT[:S'qD/#l!4$ ;nypXm!c8,8$G|˻$IlJHD0褮% bPC9l+cd ~f@r@ ?g:R}|ʎS'c`PȐyyv|6r+xmS.LX <R0p kCzwOp?Ji>{N:FO\/=@FqG@9Q!xv#)'L~Zon8hcvЂ}zdvg1 㟭:1Z1֢8z`'\~4qǿcݣ Aj<3HWy=+k;)zav'=y=j.NNSg~&Yn KB{#P$̥xrz8jߡ'Pt wQ\@1Ry Â;V7n*T0:dY(z9+[u n)QewF1qV6XTb'p:9^v˰)8ݜgGh{g;eqS7=8.e?ZTeI?0:+QX%+r͕#Č rok~%(I`Tx ζBI~1|#>~n<'>eanxpc\tO~ub"wCr6R浣0s$pzWDJ%8@CVT&WunYs@V?x n0M s 9#q8ˁLgW>+dfѩnUV< :uqq.z$d=Iz8-89_Qt#`9Q9#028֎MOM5?paS'pQ8;,n@JPOȮ >: pYFX:#vzszT8,I  <9n]'Nsؑ)J˦ڑq!=qЍÖu; NsJaZӏ)Ƨ\ (X#8?kuN[)c,bu^G1/,!U9b1;gұR>\I޾:z݀uSv$rsN{iTv>- 4Ϊ61p =G^Xs~\'|}8րq|1Ӝj=cϯln9דSwc!shФ`g9=O\(<\s#Ǿ{hkA\ 7ߒNpy?Cqz,1~c g4u H >i ߠ~S)䃒`&PpHÂs@Uяun9,{۷#Q7cfs0Twv^O CFG#ʹH‹8q<}߂=E}E^Zwd}@?JU~Tgc5}9pr=zzqK3܃9ת&އ}y`H[s=zvO VR$c89Wyь7 =SH8'v=h$αu54z#'!~98qu @Cp{cr3qO 随i\ >JA rIߐOG95Rc,@9 wǧZq#P)Bzڷ|r{n`xaտ-pQ u:8_~''<kzӥ$MZL'}O}r+@aB߃\԰'J>FHn~1KGIǵKs0 ?!? w?OON=1T{_\ZWB!-ߎsz=7c~ NOQۚw׳'#ڳlhc}ҽvIT:`8R-?NpG?SQ ZHf##nsߎ~&fӯQCH;U'<9V5W4\{GFcwͽѮ j5;M-mb1[Urpx|!2L6x]WȞPB>`Gw`TyRgJI\n{cGOݶk;rr-W:R'f Yp*"cKfW2{Ěı vWgt+Sy 2X6{'MZB ]݈ز8QrϮ=vhIV*y׽ ,SxtLHc|s1ך/cqqo9994F#$K!;7IU݂8Z' ݂O.Gːy휑BȰd0P8-8 뚵kQN}CdmK\RcC+ei1+6y-9 b\ڡʤ=(,^YwO#kssֵkwh8ɰHQHj\o"fY"*@bcڪˎz mF? ZFҫi&M )9i_Bmg>-:3 Iv6sʱֱ8t221$s+BרBJҼP/lӁ$~pcgC܌)A= vx0C Xu#ޣEFn ĞAB9ΑT*c)E `ײYx6jIQP|9Ƌ ?/L `c\}Gv  nxiLv}F0 =qp(-Ӑ 8'8#נi@Bnu8#p;1= s%2,LtBHϥXL rO$zɧV\VSIc=8j*7N9I6̺׮]ۅ_ҾxxU{A%?)E 10z0)Pz簯=1veszc=3{ ͌98֚3'qU"s@#8>ަbVD@Ұ 6_» 4 9O\85שz #0+\GNz㯵zi+>gZtpۨNG@'JX$1OC[TvL-Ql@ F:`|h'O+v?RycYRhn Ƿң d:h1Ǩ vǮh G^ ϸ⥢mcqr1 V)18zq@ `r=:Ұ9W$Oz8Jr @ݼ2}?_4V8=19=s&H89TuN#i /;$Cށ2MyIPs{FwHwQnt\9N :g V+*z ',>qZhk#p)LqwA}GӵK'k;h,he73B0 0I^q}GnfR3pP$y9 d#e!Fp6x n9 r9~|=9階EM:s.W {.?ZQ:"y#`qdn2k`{Һh93*bVGt %\fh{xGEqg+YcJ;%&.!d6s\r$#lwjϳbGcFƇ/ԐކzЛ"-:m'~Ьe.rDJ,p Nֿ u'&\ZP2r82y1tL=)X-Hrp $ MRyQZv)3KQg, <{Km`puzK$uXo&@E;\LV#̟&{<:%&rba]џC;Tk=I3knЁcnWP(Ğ"M ml#DF2I~|0ZniA-ͽĒCyr%/A<,U_gì#e/?7NGqT ppT%I~I>w61dZƒg PH2ivqp>ԑ0\'#wq{: iAN h+ |g?E798=h!<<}яҦ %@|)HU;if9n[uk^p1Pf2,<3rn޻{ciᶁ;~uڌY7ˌA9qgFH8$|gL<zq7)I#<<s^4^z| QhS0㞔\ z)̀UG<9{zdwv0^>3Iצs/A9L=3Q` 㪰=OaM!18֌3x$y})Xwc1yiX6lC+̧n[::ld"I݉#'<.0zc;p*/@Y1Iby$=sM*z}r:H׽ ,a6H889 ߅8 z`SԤݶf6%\6=uwRspH{yBaa$ dt^`T=1~VtŨr͸)rN浣p9|E3 /$S7`Q,܃% rxQ뱁!v3IuY#n6gz}xwFR>gmRsyuL 6X>b;$(=0w6<ڇaXK) X`V\䟘j~#UNGS\5TIxXyNF y)]mizt"PvO[,x8=q@U D3mk1'o\.@OV*EA P|w԰)7h,$Ic #ʖ{c&Gznx'p+/ݿMN,2~gYX#6q88Ojl}x T> ,a8=w*lI=22sx08PS}X.;yo~xӠqKQ!=E4ꬼcΟull?ȥ&(I}iB@s '*6E J$Z Q:(A_^=l+d9ק8trv;Ƅc8曃o_<~9IݺLX=pAy4J"+ @`}K己z?\}i`"8=s\ T G)8F@=;V=Pۛ!JzOokC㏜EO^ mbp{¹Wasԩ]rJm>q'pf9~n.xT@FnI=<{׃=쾍8 .Q|7g zpHO@?y{{^'}e="`0.07c l`,85n~4meHmzVq=QRC"FvXI@>f x 9 F8U wI'On  dpv3]Xޠy5S#Rxݖc#JիsEى7g(2+&d*}On}x5]nuR՜X? > B* S/sz ۀFY\uPO=] K4{N8 ?J3` 8ϩ] `06rrsjRC*q5Hcs89XBK|ࣃ dOZu!rZ00cF=pҥcnkv<`T, m8ձh@p+ qqۏ7OnƛAzۥ0n0{^(_0=3ңS۟a׊Vaz`ze@qUm,Exs'JL=FR`x:t{Qa܄9OM:N٪:Wa\\0=? qruϿ_T $FF9 cd{ԃיJIB}w\nԂ20;rl*Fx'/瑚nZGs^<}?>|h s\y<A+{bJ31,C_GIZlj]t7*p@ۿץq8 ^JtK,QRGޚF3Ű#8ӥjE*[%GH; /50~>4T*`*r0~pz*\rܪb#s\r0>J9MFGT`fiE瀻O03߭jå\A9br9ϧDRM꽓4OPF9+׎{Sc`@ێ+r:r= W@x^Zr3pw:@zM}HQʔ#;r89J',_ 'sOL\!jrT}YqnB>:}xUt^v>LŒ @_Iqap5MQ5izpq=ygwLay$}}ҸSgJM3`ʲ~5UN:O`+qԽX0Ӻ8 8_$qI>52> u< 8 \u%ߘb?̊e;s@'(rV}quzW_ds*Àe >C=jm<sד^+;Rؚ#jwPt"RpT^v8=N? Pl,F_y `Fvt1߯DSN999کlfe>Udo1MsI1gu@ǡGSYFFww;dc֥qa xքjٍpBx?>1PH%$h Vv+ĜVzdH~n{4 X~Ԟ_9$t=z!%lBm!XrO|3b9(wCVSf%x$ɑt/Fq% g{O29'snRx7}1ң2YV?ۥt̑g8%s܃}) HcKom<;$VAp;*(Br+2yHzs㸧^2:wj%%N/V w6}: DTӌ ens'5iy_|>?؎4X 21zc#AyJ9㓌NOkyq)I'^%$q#_vy.NKs/D/pH@qڞ$G?K0QH۽}FY#Sl:9m9{v' 8cđ\Ƽ 1'XnQ g_K݋K[X4q3y%C$dqUEc,v6䓜Hj43ŕT*ͥL @a Ht`2gzҝ'}E0nG#<sс>vv5pp3@ =sqڐr;gpzcz!?9q`ң,J@##H Nz>8;խ'3J`.0'^*}9qG~{L:z c{ߠRcÐq8Nr> #0ē^p} O19J: 0PrI9>JIy8fe1)JofD(6bӥBw cń( 6{8s_Hp d0\~L׀2k1TZ1ު'pL5 Ov~gq=9K)@U uԞ=yW#,TB_}Pz qgꭜ8?^z^t:魈f\Cg9a< DKCʚ՚d<}j'' -wSvFG47qׂsSyn 8<zf%uя|TpOOc+y=>_N3:|a'9 Ofmts<+K,$&S$E \֔[]5֧w6^I]GUOO^FH$s*3(b|yKpwH^uKr(B Ø-r`>.b{c!<40cP$ f鬤K 3D]b@qsSt6kԘs$q4sm]N}{:Qԣ6W +m ؤF9 fB#\c'8h\LN3:[Mh,3Rw⃖Imq\-'E<-nĦǒE5ڹ;F=:z҆Q@;AM9@!&<ۤ,mUN-Lƪ_`9q2m߀uHVX%go,dvq BҺisVqƛWZq^ʈ̅7(NB4㌑ ph4Oo/#8H!px*gz4ot᱐}V3s9㎵Syw~_Oq\iJSO,6}:$c;g #קDK~c'9usJ<ݜ 9<H2IaHglz2O^x*~`3)lጌd`:~"Pr@E1[Bul`2#9<߽YCrAk*CH3vԒO͂ m郚o&i 0> ^_*auO|=G*v##lMzżF8P8sM3NŖ .1j&[ƜpAm(,3Iddqǵ TQA(H#Nn22vcuzӧqǯz-휌 zp<,u}}qxaҵQ8y<9uS68?zdx$ZB8O^##.P#hО3;$4Dހz=N擀s 1u=yקQyG/HrqT:e) [G'瞀T^P/,r=sڳty^0FxԆgC>rq[qAR\sSۏQҏd>qO1z|nn@SRt88!>"<INe_Nss9qV ;1ӎOok2e:z<@8uCc88 ==̓.sz8Zt%$gn58W<⋊OSy{=ɦ2<<{qU&'zsLH}a#kr2_qNv&Nl l#oC?Z:wc^+#*;8#+t?( $9ӓ^4>K'vt1,.F+*fb3."mf4i^ { {>"2B W$z֔Nɴxk`ϱY'!CϧqgXr069ŘlRU^»Fv<~؞Izqt3=:sN=r냎ڀ09wm=:g#a:zq!+c<` g㿷P9 #8z 9ۜq%A:RیcrO=H88G|NU7tj]sQ=`7ԑ?((?&sb 7\^)/ebN[9@ޚF~oz=M|H#'~n{ 09{d?z"fep@"`y8MMeې$capj`q[ΒHWwSZNA#S "[=U뻑IH9 q 8ǧ?6zT 18Xmf`qOSROQ_qީШs9sCe!>P1LN8& +cԀ}G ˬ kxn亶 Ĥ|"q4%}VDZ>C)q8 AUWn0}=*E>V*6Ws1̻s\-T3|Pp %V۰u vuVtILnum7V'ڙ UZ{XRo!ʒy xlDff%1d9c6k9L@d(˔fҟ4:ݜ<>p1BG|s3E6B{3u ;Knkm}&ZF,%l I1a.T=CzdmV)Qq?mǒYc׏S}2"בcF|Ӝ} ۯ7*x9xmK`xMgr@Ţ(#m9U=A9Է;F`{rCfC&ۃZɫR{yBh6iӈD{摶68 *kvyBTAh:ߙM:b-bxڡMd)' oioo%|;׉Xu5 r5#}<zr03=r}֬Io髫z Np1}{fn9={+x\p {S=<1\ rxi+}()$gN8=,UȶcМҜaAq*qG?N  'H`6Ѓ]en29M\zqrfB**=IN^x~g?N֘2'؂~SCpFܜ0 s: [ۯJPyc \dz`t?Zr@=G^xxˏ_j!UG< sL/rI W r;sߞ[09#9B8mHS=,<1#t%Kd*ysq߭&ϼrDq&i? ^9cNiBd# ӿjcP$G͵_*C͑#c9zndofͭ򧔌$Xo(#r峂0NN;W ,mN[ql1۷o||߹*-={q$ҘKH]ar@r+/ӑ^68^@'!?Îqk3W;1.?2}j-HfpLdX4IR363a'eo1(f+{in#^Co:y@E1V2,Ѩ$5 pC}r>cppUssNG/I=<ǥ.Yp>{9H~_΀0$x`'ZPzr}8xH}E 8# rs^J@81Zomc0a8 ~=ʱ'jG#8!לcI [1 4Xqϰ5d0s6@p2kS|ۜHWW9?^*\ǎOx= 99N3Vt10;;"HO#'=G"2$ZvӬ mTI =z-`lq_JԴ=TZx""<,(*޿6z|gy7Ѐ:ۯN݈+˞w{T_O ;qЃ$zj_z9?ʄbDz ni|@zqM1~S'# ُs?.&G##1O8=TgWخ 8x/uӆӿJs÷9`z' 6~Px t~4G})79z~4q:<Ԅ/t3#})@=P~ǐ3csOojf2y `cRuCXm x<˞GG=?T/W?n{wy1K_ǩDdd ƱcܭmsiJVĿ2'd"ۜmWy"I܊)A1WexI'cj[ U_3xNNv U0K0bN^?STǍDy&C0i\]MV*ALܬv89hmo4r I?/,Q{N/bsrJh9zϗ~1r۩^MDǓ+ 9SҘŗp'j-ɚnVp`afOFg=VfKCr^Q%&9f\2 G$>9crW8x4::z'PCp#+<3}ZxB"|łBW =E'U}쮋N[i$g$z-ג3?bO?kW D>nr8 :/I9UR W)ذm v<-Q,U A%IS@*7#K3Ų}Sk Nu9m< ǹǵP!rqzqZ⚓Wљ @}jc.]O prF[,÷z+VqUKz\k H1F}1ӿjnݶܨJЏA\ժs#IAXf,Y y` SGz$lQ$rrpGB:%{f;/Aʧ8 Q{~+w U s~Ҏ%5ѐNpįǜ=-7*2z ϯL}-Q^9'=8=:fh"1ssZ:)'jpA/TgǭlgQ1`0zcZ6U,f&cŲ˞HpLw湹rKm+ͣ & '$8A ><αF`'92"Gwgh'' #<`䌏c}Rѫ#mcy; aX:e ᲹGa4Qg sV1,x$Ee\dxe".OAxp1Umg<0:CBtB6hಜqiݍa8934N2?/~WIG'so=AxJDu9 >Rn rsU5aH sjh} -9>^H<3`Us m8۞8mW:0&>寺pqgzdN*E|9 pp0ox'$zAW%rzӧlcv֍X(nUm]NGZmUg.OAJ.Eҧ1lr7HOPGFO9_K"q(}{c#gz#Дܑ$cQ~r93;q^+ZVzkis\lti[@Ot*0ܞ`d&z?Hu32 7fI=}s>ڣsOcAuM=Fqܞ}~A=JL=?ޚ_8=1?^ӱ]!F;4O6s*mw"eI?ݠ`qJmw#_s&#9+\ʖc*2!qi[@͸'yR#ҁP#>O }G=qjv 8l{QW88GS݉O#wLnq@8qLٺu?F9ۚ˙GOR9݊G1ws$&{eT<)5 lsu#t9X7ts;ߜS?Akc\w 9래@)CZNYv]-ܜ}I^&&vsP#hYɤhGsepO]X`;eA9r1NޣR_)]߰Wv؋g[ѱXxQ03?Zp򶄷Y8xu5x8B~f#=#aPH} ?{;WH`m)k#%v{kv&R&{ؑ\c=r:lWI_9Ѓw-GPNS\}d0䜷N3;qH91sM O?( 10m> { 7C`##,j}.jDziۯcgEmW/'U Zwrc3˞ySDV_ 7>۷IzBT@;}IzPQH'9!z מ>`zVq>z%G_1cנ'<ւ+`ْv<ҩg#q@0zpʛT|8w~?Ю'j7 $0xrHXAUOÏs K fNvv[J)p9RLg-ﱃ&W9p>elǔqlzgctP"d >9zqaƶbTg#B:x= W-o^V ٗw<ޘ ..$ y0s؎yєz|E S_\zxx$a5bVGM Z>sr?eg~Fw sȯOy7Ϟ dd?:z*vly"ݑ;Tu).,nrX<?Ռ(w8̀O# ֹ  ݉v=q׵pU_ݩ*T q+G}k<Hs]4ed7>emzw83*ے-}JM ob@ (1O0p{"-Ȍ $t'=8Pl s rCϾ1VJ}$.A'~"*J' :ʾKH=sLx*Јǒ0 8'3ߥ4ByBrp}*->F>, .~S.0gjJnDEqwLӊq};kECZzT9lcN+a_KA=g_Ex(,07*S1]$:\} 31FۀF m_IqGQYd>mx.G^<yީM]W1'&M ypH?)* rY16݌sq^TՙWBcBqi@}lzR\p: 3pOsӃJzcGNy$ ɼBx@G^UON#ێyXWќ1=#}:q׊mߖ4XW#6x20v~N-m_.U#p*00vµyc-6'=@[ZA (IR{>PTqtХ֝HS-VPDGb=#v1; Qc6Bھ Wzy#{;SA#%rHc$=A7dsea9a+[mMYhK ?6N9<^N}9Jt[hn}=2:6Ĭ%z1NnٵA y@$sׅ;!=kӵ->u#8zyorY;p}A_?WݓK\K'H8'5۞s#zd`?fH{Мm~;\F3#w ukoSѥt~H$y^ұoSnQL qӧ?ޚ$>8#G}@Ap;<'u(qg۩˞3N:?)= Q`PzSϿZ)'O %zsӂWYj͌Ӏx^.w:X98$#OJ<՚ (|qeRO?JꄎiDs׎:sR qN9l{~UEU=d{tޟrzp?b!Ќtyӎ}Ca'2z zI<z`ИrSמǎҋ(#$v㌌|~z1В}89F48@}zdT&tOnOҧ9Hnq>Us0}?SR5|O8=7n~E\̀{N1S}c:Y>|pbG8E2-`#CgVZM6!]7߿dTp($gC\L Kw׸5nf\Kpe2H'$ S-c~#{ t.hZKGqHwd˱II 3k(ɱM p2XA)ߩqmJyd (*8-2xl;q-A^v5o3H +%Fqب]efPpFw qVR2l~c$=F@qS@ q*ĬjnAKv3HEFgkc{*6hEyYUQGO2pqyBpI5tY.#72mA2Ϟ2ǎyԡ9kQ dﴶs* j7H"ӵkk+}r!KذLMQtlC#g1`98ҽlFhE˨u DºY yq| vcS8Ջ2G42 lm%^i3Csxi˱]޽%F>tLdl.:ȥޗoGe.bNbS]1N6kC2ٙZ \G(U},#dsP1׀exm">Dz$Vl,1'4N3rb_Ji!?)vKHnzםIo,$,1Xu7Qz חVZu8}_~\p(U<' [}Nz嵎ǀ8''|Zn9sH<LN3N9>zg@O#~I鷰^yzhɂ=r;sp3i%G< p׿5ظvz=`r2{}OKr6б=?xI0268aLtA@32|G{Vfvzu|c9oQb3Hgyl~ 2:x#ڔ]- `3y=xMPZa9˾Xiv;-<`$z cGL:zWХVΒpBwNkb(v?.8@ǥv')\{U-Uu=2;Z_/':Nv 1$8y9ʜ'|F~b~lJs'nTm<SԤ5+򜜁U^$18NGN_Υlu##БHF;8=Gd{R;#ӑ`qP+$cNztǹq@u' u=lzӔ㜎FX`g9?qp:YұmEu.A2('+?yc9V̔`PimcO:Vc.GTOz}}ܜ=0}xWW#pBv0K-\ݎ܁:uNvu#0F^y=223ݓxkr8ed%ܞ[L2)cpN 8B9❼tZdw!l0py<P1<;ve"w<*rq8敖# +O-UCHr@$u vgCqoH|ĎUG(ͷ2}ZB]>^xFAǵJ z60 m#s GM8cQC 88x9{n 3REP34<+Hq#E< dN߃׎ OP(nsN6p88@:$tg4$'' gքlc?:h^63laa`=W6r9$$w8ϵs&$sN>oQjnR>fF`0TXzc5ֳyEl,H X<>ST<-0` ?u߿JܻP?ZEQc2ؒa*o8Pjciaׂk䨊n$uW͠b{al`Ggpc>})3=I1`L۸_Nq># dڡlN J-Djc<$ g{yH~lrbzH s!cGFĬKr Ў95dD`m@1UPp,)ߩ54JmcǐY@d`?z A:!u]cF#j\p֓: >T<3~TxXY rwN[-:\W_,6±pi+i}(ϰh9b<`cjdѕx;nc?3)? qI=9kRN9ֈp+r*~TR"Aܹ^:o'ѣ+VNHp `P]1i2pŲ#X ߵZ_-J8dWWw>UbG#l`eڅ\>$/匝6=:fyHW rH^g9򎵫fOPc[|o|dgT$n݇0=lgI)I㒪v J~ @2͑).JXb36iڽxZd܌rd;A玹ϭ?jyhDwi2@:h)~v@\N6+lm(`ݟ22>nzc|*JɟPUz=qAҏ$d䌎ɚ!ąNA\{9'pFFF3}| 7do*v6~4ЅA`O9qNq)Gօ;=q }pܒ@ddս47d@gשЁWI<a1 F;i7z ` =ʘI1: zqO!q:usMŽCpHǢ/yc'0ɥcն: cp9'WH[@@7sF208!~4 2@#d*S=Cx& zcvz=VWpOAt qJn?t,O:ǡ ~;}oyֳd$I0 ܌jV, nQn9y絻&zNpB:SO"6b9FLN\p>\g?Ie)}B*/"O;CBw._0+qt=0jOR< Ͻ:O_/iJOCn `pH<qQKqa -gZ7ͿSGL/f%RaC=ynjAy*d sVj.B tee] ec?m%4!8`AsϽ̅f'!H#qxԖ啂K qcΨ&„ˑ*GcQMLi8$)-%I듚P zIp㞃#9݈ՏmicK_̱aӎ=kkR>dpP2z^tpb^Xqϖb$D}q#lo@#cIO^RbX)篸87kw9KH'?60@ qXF+˖fR,xa@A`SwBx `o9''ҥh-@`OЂ3S[1/nj9<9ӭ[1Q'tzv=T>uȏ2³ m c5MC4nFp9`LKLp8;J)H,:ש@7;6U~p7!OVf8ٝ2?Ȫ7Bspr=F8fl srIsӥS9ʁczRMR؈c$c-z{Ґ㍠ WtX###2U08Q#8FN9wS{ 尻BUp6x'u=jh]wmOs郊Io 2)6%nd 9sI` ۓ:f;cONYBB=Gv`\0y*;7v @R0@zҾڛA;T/E*2>%zX}i!pF'w` ::unEL~=z8'>gh`:zg)~=0_3ICHÏQfNBoKU:sCO\ ŀٌc>}y- `w8ˊ,Vxȧ'`Y|)xFɳx…#9|4&wLc'sqc̺O=Q=ԩc=~K>cx$p?/Ng0I?(rGRsҬ)Arc=x\gFVh՘nA#pIfX 2ad;Xn^:W=i[7xܖ. vF˃Rsk`SFevO].{)$m#sz  RCA h21߆'@#n21`nB9<G y9뎾=Z )`W8sq$cy*.G : 89ힾիiUN v GZB>C 8'3Xy]`F@'CԶT%y=Hp8cNs>Ҭ!F[6_;ː# ܀qI#L62Nt=6 SN(ϩ22Tz:nye18/ dc[-X0 Y3^~52BDX;rpI#~Ҷ9%.؅<2A#گ# g#hZb=q`֠]gc[={RLra#No*Jq'=J]͈SyeK0 -OekgKoȉm&_8F20FV=O=i؂+>wb7(<$FI۱ O_CKC Wό1Peztn ltr:my958՗F7I"Hh$`#JsNq#ֹjlH8 #c?ʲdR WGlv `Lw ۯ֢k^c c=;S!3չӧ'Hz:^\o$c:qק#=x~TB6oE 듃L6cg\9_ls4c$XjR\MX>ʊÜ|G`3q#G$ܭaR &fg88^~Rzun}y1sIpOt^>f"S906(9$Fk0>XX?wm6nltnTp1LaabKJ8/Bֽ3GQИDyPBA^OXp1` )%:(R2}µp{vŵ b(pq:\/;`f<+11>8$` z5,כ@ @$P\S 99&'=qBe|:9؏ϥj"(~`p?4&ǘxo8鞽;Կc~]Bc9Wby>ŷz7Ev8}9 IBs@<Ju9 Խmi+6Sd pHPt@J9CgX6HװG ʜџFBF-N^@leN@玆UmrmNqX#KֵٔnFo8 pXگG#=w\~C5C7c$cvGѵ"'?8&Ln{?a##SӵMC>}9~F==qnwQw>?ĂHgVCr2>Oϵy͝ :&z)'#fvMQY: z p=}{`:\RJ$aaۃ=G84ӟR@#RJ02=0gʡ"=i GNàGo!n7gO_tl4)- \qZ-ノ=NJyx9$8+z'8z\|$yc.zcO?VDG ֺ3He=7tן5.:֪drg=6( '⫝̸\A\~|8 8;RQ|:6IA`_L>Qltʜp?ÎT v O8'#ʆųHSHȏ֛-svs+9T(/fE=c2(fP;Q|/KqCt"D Uq`WFrR{(5ĩ1byCs^Q_)r&灖 `q^b0kuԋZ8,y/Fy?_nkC,9=;SIշa+ +$9¡V t39dVF#w LžO˗l~B y_.$(\2 Q (cns+ 3a2p2/lKX $꾄w5_2[[>Wz`8rrN283gib4tدu춷w_fP@M(qJY#v܅p Nuvi݁:uͩ;ڲȑ)H\͓栎=Ҫ&*fI;xPGY-km*H6G\`b*N9#<jW9浿CK';BÖ=0 ۓREK+MVaݞwIwR,g /7WWPv`OzEr|3pxaQa@fG¨ӮN3VF9݀bFV4LE Hꈯ# ÷|dzӭczI.7*N2P4qFJ$#_qPg!噲tP9 F6FAA0~k?F4U#z\ W QK-mwS׳x׾ikh0G=1s{QpA {vq_scr{<r##N:T~^19*TX=N0p =OҔFqǦ)X/7;IqӁMhtgA֕#-ӎHŒyǽD#Ń^-͝1B_R&sc^N{Uv<(9=rG=Ok9L͌;?ViTuiH1+9=3=~nz/17eF8O甍c}NX;î*˓xkTJ#ߩ@nkq:ۂG_Z즎Bzu=I>LwAGzN穆Z^p '=oa/C`gӜ m8eAN3^3ng׿zlRNHԒy )rs׹ 7ҋUo)ԁHNx'Y7cc)?SqǾ8S`[EHGWgasǑ*r⴦HcF1^ft9 ?JLn㌱n@ 3kߠ>nQ6~ʮ =G(>^܎W z?B= Q$F6P3|~u;H#HY(u=i~CL vJ5.>l9cU'L-+~15ß m+Z$[h!|浊DhB܁"1>*+)t=3c8s"]p99W}#Pkws4HRŊӑCXFCg+/!c5SOsf1.Y n@Т;I2) qn =Κ %;G^{}?`HnOQ0zc=4}K8 8HNqcq6{''[3Us`q 9rG˓#C(R@!0~?yqhy8?x*rr9tJJ$Di7ƼnOc?WF=njFpr;HQuKx1K)lR`9MV#aP#o5$sI<#sQ%re2rImp+VPLu GCe'[o`0*m|y  e$pFm֧1푏^ՓvLgУ`D;1PyRZOCΰIq k,ltLKpCL_!ɷ~'S $n˸OSJf3q*%L "Rg9˙'5WV "v D8f0ҁ7d`^ݤa"qd`8qvmST1xeCt$/$t֣ "2~- x'n8 FBq d==P,8ʁ[:wi ,18;pos,9'qS==j{ 1ƒ0UY/8J?vckj2TQ9r}+z;r5GHr#!G0=q y\"gPC(ڤsG:1j)=wMtctmYFIRI+p}A7F2y<oF_Wd^Sz8y$yZ8 8tֽ ;#c0O8&N20T9#=xHɱt'<gמơ?7sG_lSqP1=iF0TH9>ʀE~ 䐥HFH`bFIS<]0y$Go\SR(yLH9=y;QnJʒhVH&z`N0[si|:uFx{9a)#Od~T{m_ZO0 ʓ@ Q̂ @rP>1Lcc89H(CI%i+A9>jpFTxס)"ǏǷQI6N@%vYے ch*pvy1Rr p(˟ /\T!.% ˒sڦB?9>r1Rb% $)ݒI'IWis6_—coB1~RzH (uH?ԡv08j,r18U=ݖ##:dߚD>둸߷CP2–aU#j0ctrw >ꑟlj;t{֓x`e 3q۶zT 2X #8㹦$pAYA  ԓ99WRI#r:0'9IA;vG\9Rʰ&=}?Oha9bxKt8g-QXjI-@ "@$}zwQϗxp$i"s(*Xɹ6|ws\˘q޼: YKCh,+!^3sCL(W$c*SrZc2W9qH>^p0I\0⭽!HY@I'mZ+P@#AUsXNk ڜo$u@~`#/ wݬh3^rk̩Sj ڱ8R}#UUH.]/"am!!o^ҽ1?R垖:լrH$.% i6qwb,ȿcH '1U'j+CKJM-d|бuW2} u';k8'*TU1h8|6TJwO]GG"l~s!Rx;#ުK!c8| 1fʪAdJ2&pVhxg]}k)1EMl\ 6c(qn'>ۅ4\#lc#f˂7csHV=GpeX݂*SQ!8*i+.r2H^g5WAorXvMny$N:{(|[$r9!xav[v` 'ӽ0cC!aߞ 83Ԃ+bA>> l<GB9)qAH!87bNFYp6G;W+:In+Ԩ*Ikxy4*G%I `~~bsta1t)TyUc sN%3I+qRR>ۿr?s?Ay1޾gֲdg#q$0ОB?%S9;Y@J8,_.68 * jPX?7^mhhzMmLkEJ/Co*G*S'2ҮYI_oLXlmR}Q0MjbLMJ-tw(TǞ ^1y7K*r7.c9JeORRRfϘeI"v#kx֋bMt rAySrR7ȗ(M;$wۗ OnG <3I8jR;>wBo(@T`pcP %u=5^G6W`?c=}zSU"k&T䷋JGy0.eȭ_/g@9ۗ#?6b~\Tp8`Nyb\+)'s#J6bRcB\.mʑOrSNۏ+2A8ZCz5v")F!J  8r+T!S)`W NxLsWp>/nKBp GJ$ۏA~v{b-ϝ>ӎC~R=im0FHh#׊13ӹa',Ta`9nH ָ%gtJNX7˜8 8t$09Cb6@$v*ž;g@9}G~y~#,کoޡѳX{*>\A09H͒.܄$(ҪIpQշ"&E?IR8r#p$ ^žA㐹˔뻹9Wۉ~M|ś{nN쓎JnFFr( NO|T.1A',xB}}j!}( 2Ӡ;!%n' OҬGÆ 0A bp$[if]6jیgv'6&46I+"Fxy9sS@#%Yp<{Z}n H KchN0[92H##S[h9`݂x з+qp85sj{0ŁDmFaӞ+߼5q"l)cJ=.qN3+zw#٠u m`s鸁Tz3 ~p tb#=O9$zkug$dzghmĄ3 tz pn# ǀq:W\;Sc5Υdg3$θ㫶DyĖ2>bmpk!d;prymkУNgYncLrs`nNV rpp8簯BrIc ̌;G$g#},GΣ9hi1 "G3벳Aw$cs۞{} k&`HOˌqڽă7 OOPzk/vc8pHǎZ >oL`8E9R92NTl%:nԢ/VOz`u9?N gKԖG_`mpApʽ8؂~Gݳ,&8Q<{ꥄKqq璳9"&FFʘO_ kpF%x`S1U%sRovqv<2RA;ʍ&{hvCtx.8OsikoB @2 u:r3`;bxҢ_ y 3Hw@m33W:izuqp_y3_6^7M32o؟zኵGF%W`IbFnOz!92/L(珻ϭiWaF36F.~UO ¡Kwy㎵ʑ!vTId,`zJڍsV8_^8=/ƶ5CA+7ay'ׯڣ&9 0Bv$c jrs$gYq;>E;F?Plpz2''c3X1ʷV54\-<\q3O<TA3nRW*PTxC9l30 Јc^Ol r{/2*cs3 GSv3cH:.>O 188b yUG93S`܄ɜsxX8$2W$8 @cP-pXp; T`09 m N歃5n#icDz=] IrpKc')Z.d~R=bԊȑ[A.Țqю[j2#nx%Ndr}9.vX`QRy<q:WkpB )9 ka~s ㎟Iqc >l@G@nBu 6rϹVMםp+3B10 }S$AϜ1p<^bpT!${ty?TGx: ۴{dF__;Uo(|7?/9S3pV'2+rA.ct G\vl:hHf9ӞM:gq).ðrHs?7p9aAuS%uy1ǷRgCPGO~WNFǶ)GqKcv#3?kl2W:.G]ppV[\+2C/5wvfiw⾊T#e%gdexvTe42p4=UF',=+*=/\ekq3%aӜ3]}^i=$p1ysLm$8 &\4˂ HmR-p с'ծ.+qgI4j@zU6KY{ }Ɍ+<1&wH>Ȩ͌^OMB[e|#J$S4}v)YO[rs Z.#9P9*8< t0f= U &G gVu]7mw &<´l̩Dd.C"T9ⲵ:7-yZi3T'+^H(|< VWJ$vi}Ƨ\'TavTYjV#8Qq*9WkC8Շ5VYPp@Sߞ8p#^$5D3#𣌞A]7pHI@ZȖ2vƣ => YI_sIDcj*U-Aqv`|jƓe--d!3s }zGHlnݯq$ܱsJ#W9bjqM2HF$gYa)'k.x~m_kr̳7WY̺#7`' p)TME+ܪ9u!Er۪,h['4Y;A=8;ggJG$L1X\}k+[ԲZkJ!FKq, J rG\t{躂iMk0Hd!CűO2(n.nYR4I'h2pzյ:ƚ*v#a*1O=MnYm^.B\H"G=AiZ.zEPwb0e'S q~;X[8 v#Ư%K&r0VAV$KGXbG\MmLOL}Vլÿx]~ qD݇Xi7wНZ#u:u>m&x 1grTDP A۽iN{UQvik]{mD8'׸iDYߨ^yQICG,9Yxm8ZRiuj+%p͝c͈6ɢe/#w!{+-t8Q/nu[{{,4RecQ wv<ɜيS]COBm!GMr3K{a +KJ5-ueiA}88ZaV}2E##7 RN OcجOssQa(Ԅn2sqΤ $0 t\w+B0+rU_#(;r~,Qm0qHR8ⴧI2mJtböWkm<@XtdcV(VgYX,qo;wc{%"=:ҺY6Ĉ@oc&k;jz-|Ny&A]SRw ߸}_/WJ۞؜ہzTe#?yN=Hȹa>cG{Wiagʂ=F}ZwVjRF;)n8㲑g׳J6<,M]YAoyw+^(l{_]VG9\H϶8׃_T$ts@0l=q~z{{?i'j\pFS#Ú&8#-dzzJQsЁ鎀S\6;d?Jv==qҰ\iAG~}N*-sЮG<}@ߏqIu``zS َp>q}398 Gqw#ٷ';zt)>S(Ƽ}1wW1F7`epzm9鏥&Rdq׮qϽD=$&K$m>:)88:w럥ML0?=70N*r~cׂ3?.9=SLv5lepz64!|{ j@A=Xs=+)H"cwAʎ:#|B:$7@;βr4+@cpy 1'|܊P(\z'R8 dtB%ft;Б,G֡3u?L`mk#U7[} 9;-(H';9+'"L%d3Ǯ>ƞQ`psO|_jκH;+qoy;d?Ҍ >= 9WWv}h~8Q\z?80GP; *x8;dSϥL~vzwx\zOʱXjO/'[clZa^r{] ぜn~91gX@۽z$p8>>tx@dq+z1G$HĎ} %k9Wvi 8#=ܾ޵aĞI5ֶ9k9n1ϯlןHO]@ dTl\t6 ++!{0玣ھalpNA=xWmwҕ՟cɯ\ 7w p6Xzm<qۏC]gfeVA#9*epp${נt9 Awx2$08 rF0:qH]7u$᳜B87wwʑpy8Ivб#ؒ<`psϧ{iA>#c9KF2$?w֪ $N0y'ևwsch۷~GHx C ! ^x=!$OءgԶHc⪹,v㝦=s89j Ԏ\|zP7; sӦ1ZlLDĞOP2i\)g@X,^\Th Jޓv}cJGQD}="Kh;^=qʄ<8bjzT0ʳf[1U q^w/MA#]:cJȣr$. dq}=YWia|`2X͜ڬ\_2V ;y ` Qݳ1#评zΗ%;AE9PVua# }m&0x9^,zke ?6@{ ^ry>s]ԣd9Igf2Iמ;ni01A81];`8cjczGsOL⩀Åg#HC?FsnFql ` 2{9[99޹?`fP`O9!zd|4/9 p}{Uc:q%EN:dzcI+#r1SzeyϪvx:զiFg<rrqӞ{Q\OU^PnrA%qWݎzdgsG05܁<)=z~ZCs9nIJsJ9I(W8czeM9n #{s t:Xc8Q)G2uNyn28?QMH9HR1z68$O?'<';>݁=M\Y!xc3לgJN9p1J7@{Nԉ'mHxǭj\Oe9=(uی`d:f{=F8# 8G6rb2@Vk,%vzV{ vۻ$u${Zg%@ /N:F{ h y`GP~kC 71}UZ[+ ,6I2:8XGUbTTiNzvC#`\Fs3~Ə?tlCNNS)z>c7i8 @N":r$cHOOJ 't`a=8=B2CќA2w9ݎҫ )9]͖O$c<~"`#h19Ǯ95[ 8+x~-tK+ K)#y=/8Wg!wcN3Mxp(p N]N1V#P8ێw\*YH@ }9*M?Qғ+|>Oʘ an%J`ܛu@QY=ߙ\a G hTss ?pA=FH%G(C"3;rޘ <ҵ$TQ[tv|f2sǽ9 -vnpq±!nČ CVn(01{3\stáaqeMnp 0^~|XK9;aq98k_߳k˒?jr9xQJr"=SSڹg#Kv47>`[y0ׯ9:zS$01G$c`t}Sv1]=(`Uh |,fV*Cd`t}?´Rs}k"]W#,Â9M=LwTrmʯmk=%ſ}>_\k3x] p݂?ұ.<b3++˜uI~c!mm+m[}{t8-!s=P5Ԕ`S;+ 9|{v> Elcjf T840hn9;+wILR߻` =qZhQI,x@?(c3=ϾzЇanu##.`t?\vcnq8U}3U2dqOLr3OFh'wwր2 όp Nzemlsa#*F.N?JQ4nD,7'ХA\^+tvwn%rpOP>=ҸyYѤ\h!G8$Ǡx˫qhD@㎘41<ϖ&ҏz(#y7s洜ٌ`3wp;`aTH8 d%w?Î9QK2u-GDJ;`7 7|ÎH$vrsO/@6F3r92#n[>Ը*G|h2{U˹r[pwgۓW񓳐yEa~P|]0\t 9:I09?җQs9`s}i׵=>r?*oS:H\hzH'F s0<33ޤLC >r|?qߚ`ʹsʐ8>u5K3:8\qZr2Tqu;N=Fj-ɶHcq A\۳#1j` }S qBb>Im#+NGp8NBvdG !u c r3}|Sʭ \ $N{h}%~E= =uт1~nia;+Uey ; _H8cnPsӚ櫴;=ۈpOp=:g?ZQnuꭇIBON8R u@.?0w<_NN='^t'2OO}:zr:f Pz҄93w8lQԫl<(#>c 4"9=r 6p 1߂Gzu?$gst=O&qCRU<Z]7P3ך.$.scCM힄`34P=N3ѳ=뎞!>?zq+6;'IxM;.oU݁1ry8.`HĞBr8ʹlf%+)j8[ܽWן_\C`,0I=x .k36rrA%IFR.IAvG~} 8=Inkv` 8?x5iI9UsN֛) 큀HQ߱#OB Nzpy5M~\*C+/OQc^#_yy kn!w{u5'061L˒U`J>@6$WN9js6_\ K0q=WJVG;Ǒw*g?)ǞsҨgP1<+,Z+ddr`ڥsd|u]̃V\m.109`L;+#` F#9<vCI0NF@ }^cv66y_֯qӞ2}{CG&G=LTp23y뚒H8ہ@ީtt: M2`a8ҴBprq=IŽHۧ'8#!W?_s ն8<:F;RH'댨ˌ{s `Lc88zav[|1m@BN-$sGpWEyc@=7 '4PF#ѱgCGLB*mFjg{5&߻A)1p݌@F;?(`28 P7 A砧$ͼ;Bppv n-2 ]d~84i|1@ Gc;շ1?Ydqxl{~5e H$%WJF' p2=#=͏a觰?:>7$&P09>nk5VuR1r]Ŏ}9W\X,>V>0'+v5ÉZ3=/2jzIP+cG|s׻ zN*y&'2V~3lqx#Q820$g$gnn?QOlg鞄Oy둜'7Ij#F8Yy?29 JMjuE qmq{ON̵!Oǎ,j3#$cpFVi;p8>P4>zvZ!0s axIds׏#6#|Wpsqv:vdcs29V{p2d㞦4Hn0/7d1ᗁ~\RfEp댎V.bIʜ#=Nݗ#+ r?v:u޽?Nx"GuN 2*Rӹ \ɶs:-ŏg=xץq-O8Ll`ִG>"<ۡܮlA*X c=Jܐ8 ={dm8qב#$;d 㓎KIw)8l3:! H8 睇$ A<{c֬ť ˽rt)껀:)F)"~')|{v4I#`߰g9G\5|d9hmŦs~k@ pP"C Բqt#i4󏻻8{gOz-XUrT}xr2?u謻Aw:Lz uu+]ۢ"1(RZvG {Gsk{<x;'|gYϗ H#j='_p-BmhXU.F:cotCMNxʶwzn$|%rk͟o4 T@=8'Kr>:JY_s|ēӞ9I0?0#8rօ:iJ;VF]0s=k-$ohǧOGIwK}w .tG8+vs~:` c$1ךg.Gmޘ^y:2j^4"tuA=y=0qۚKS{8R1drxBmp:s۵4gjZ8Ϸ}&{Z1z4u&OCZ <η c;։qUoz8z0|28<}㞤2՚K6=O 3mҬyg=~ -j.rC O1V7'$ALVbhn@ 7>îFNԛ=?Žq$!8}z⛽y' ^=seXxI9 ׯJk?dc9#io;W#){3OMǍ?8隇1o9}p288K/m\4ycpއDX29#9ԹDl78ۉ U9_-xpg\4!H̶/mʛ[t0_6zcNM;Rs !I$Y1 %HOr$mx~\]n_)b2>Tr@;I*eU?x<Z87mC&DȫţT= my<+{Eo+k1v9F3U(ݕNZzs$^\dGUwB3Lhf .$Imz9F0G'q qڣbO/FHrބ#] + NKt< #$d;qQVnrÞ})qZI{+>^!42#Qd nv3뎕psHeI 8 y2kNOb^2!1?2w04V&xwGک=-[搴h ޶E'k|Eu~ueˍNHb|<o Edw "ZuVd:- [b[uem<Fv[K{^x[Wugv 1++[k+S4PHUfZ;Ӧ}m.Exzkȏ,pF=ҡkgP㌃wRoآHR@@ c5bJ1{}f9h\B\¸.;{Vѽ=c̾,xoIM,c+hWBA*_$˔vB26hا,1ߞE' Vs.-xS(ӥhtA_瞆6ʕe)򫽑 ~mf1*AJǓԑ u玼R-v֨<Ì$~9X sW=yCp6ꙸTW+q>\ҝnws{=zT-t9V9G0 5P!k0 q2V+ g8aϱEe:bLNq==}j8F{GjU ,F|0B&}9XcSԥӕ=3kyݟ r??JE4ssy^1\uR:_CGTrp;QY'8#R"n h ͂>kVuhN>ٺv#Vg=rI'Ybh.x'OEz5&Z,'N9oRtP <11v ;(^3zczCҴֽ5P:g=xE|>9/@` >o鎙q[Q) ׹M=Svizu@O=V8 `κɓGp:ɻϱ;] _jwa,O@OBcM$~cq?I 9`L;sڝpqVQs(@wO` L8fLr-rpGS_I|+!"g4@-ko %A#c&29ϊ[Fˤ]Ծ!cWqSWq$x5K8˔f\3eǠs\G~oUR c#V;F͟^洐6=ǡMlf5ođf;jPynצ@*;i|#I pw `vXl3q\6qtO+] ]A.9NK!yRNs6sǜVb pqI$Fi<,~b L)PIk *mrp'\`֪{ěʑp1] )d;[dS k]f}RYrɩ]G,lI(Bs 5eggm=z5#k-Kk7}6 -gk"ݾe#-n6סqfr~ʾWs{F /8V,/g帘cŊy.g8M1aʏZ~NkK(gMc5aUS!I%K!w6ȇeJ ˍm5gNTV@ PW FjRr߹XE,cS 8tIFe,de!=p8=Ú\S"nR]. xҚ6am;DޑK0I3ǥyZZR+MJZA{ڱ툸֥Q6FG:bHeN 8pqz4qAj\yʚHx/U\<׌ON t+ϵKDOBd8FsNHH*2nWd49$8/ʎqisnyN:uUBF3r0H :c{cB;?08x0۟<}r8c9$@㓀&4WyxWr;Pc0p6b)"[cpH>;O%ygxVO\N:0 @^8>]yg+Eŏ*pH uqaYSׯNp8R7QQ̤''7qg~:Pm`mQ_P;$qާf7]>eI7<'#B{?! r?sʜnp{49Ӄ)󋐗\w ֩;8}xSҟ:g/ڋcryӵq2}} <0yO)~тrO{_(kgpGRG ¢FKdm@a8sJ`;: O85h Ϟ92A(@Wzs>A|vRGAqjprO9PFGSO"Ar͍F̎E[  F=t>\b.{ FxF82qq?,On$vO^|8;w9NGrzsګ(_\d&NHyN$y~94v%B=q|;.2 vAZFH頵H{:g[nN /=٣bTpHUF2n{OS}r3Lv`;*eƒ+1\i_ 逩|A$GO¤p0_S,`KmhWdu#)  3Nz[0 >~9 Ɗ1.LsgS֦J`pyR:gRD[c*\G!N7)=lMu#`Wos@'#sUcq$``@'pT$)bF8ێI %9GV<(@8}** qI*3zsRI ,+С{zTyEcz}NM(r Az̿(n#+ơ o㑵y߰r{2K"˰e?)[ ps[Sj_qЭfF|m6 '5{ .;}jW.$E, c0?Ն=XW;r3JR??zm4 Nr )ۯ|V^ #$gzZnld3#єsijVXJ02O=22{ԢX6FB)NC2d=idXiv0SN ;7 jlEinUY10R8>[Xd. ゼtKhP [ 2<~=Xv4 qF RNP͎,QFBo\yEF~Ԛ3&lR!WْQ/ 0>GV$O3Y6*/Nn)#J', ,!B2$9be1N zg8&mI HH$M\`^Ƿ*/mo:t=Jی)*fwmp8R 122>ߺAG$$P:9 G;C2C{Vv1(o0{c R{}?C6+=3O=c:V>a䜀@7LL2g$Qڔ@Hx0GN1j~8 Tq7uH\sׁ׷RGb mK2s i9) ~ _w<_E9n r@ r-A=2sM2J Y@8#8co)y=Zl5 X}y)G_&xK 8|c5u*g܃P iA!e >wܿ̋69 CX >uLw"P Txeрd8 Ăsx?{Jm$bg?)\aO|҈U:T3>5 v=iwF?!Amvn%ߜ}=Jܨco?+RA8dÏ,gLv3'WJF lp0z3J%'c26#XH$l B sStR=g㎵ bʥ" 0 'k3c_ꫡX6H,X>hD !jgZjT3nUܧ-드g<Fr[s`Xx UVGN sniueB< sQFgi898qޛئi~npzdxjYL,|W*pAքIr_vlؚ+ NT~&~W9A 'h>T׍#O^-F@l9 4Rp3n?18$ qU;G$0Hy۸l ʒ>RNU_$g6P{9~W$PJs1Ԫ{5H:C*TmfBB$uxaV<}n:mPB9͟fO1<HLnOYԲlWV5Lތ$}#bܩS#[apL9$=:Zk|o{wHz$ǡϧ3̡Xx9׭JNI4#\c9#Tr?ƀzc pJ 3>tvpnlӹ=&$z=zz=Bs+zzMێ<:;6;Oq N8dW냓8JPQq)s*c 4¤g`2h.߯8z(+'=zJd u֍#H0GQpgN9ǽ p=1s#k>c2xo+g+wq!Fg=1=N Eܦͯnw(?1VRr:b6xlebz踤qSeO1v'pżIB23z׹Bd;lv U2A%}k !}ýuJ*)#m>O!P`׿j~eI?.U9[ך+Fo Y5, eA Fs}\ 0f+6ryg•C"ia/@89ny _cF `rF{קMizmi|s!O|{Ozy',pVgJcP7NF3O5[Q'g s:ţr@doYc>:H ,АpB<ְFszՒ0H^k,a/lq1?Cg#ymG|I$t#1B޼g~\zw|gnTO WWdv~z{l㌅ `g=~ϋ-eR=N_3H^.Qخvr<x ܎|ĩ߯85TSav]FO9 1iþ@MD@]Ww{i#\p@q\tOwQz dIY( ]r3k;әIܬ̀"Bv5{̸$gk uώ[!emPU:ZҷHW8ٜd#Ss$czs\uܷR>瑜6 O`3ȫKy^38+~j m12HqucΙClm*1+?JQkuPNK2w>zf9b7 ?v:A Zt1{\L(UV@/];ZdHI'>r "z$qn]0A 3{ձEbAroP"7y0,9cMfJ22^G'Hq3ʏdwSq\ 7 ݃銔>@6m@.Tsǐq] di9㩤㒤qx=1kNrpy8{UnކFO{g9ǷNB + 85FDwON3sҥFr~\9'5Ȇ{ a_QA&B)8m#:ԡu:KFܟ4[V9$evj"6$H\3~rA =J:4pBq$tǵz~+Ip7')99'Ŋڃz/»W$S=NޝO g͒N6g`nS>۟:ב:.ѓ?8.;NAiZ }=};T AA4Y> vyvxf#=0{S|'LgbqMD9G:~nd .㎝: OKR,_^zc׃^yrıNyFpTbx8'36U,#so^I#t?Jųvm8#+ڤ<"4<_+wq >p73'#ڤs+fS0ݏR]A`7 stA#*`SoB#ӽyU*sUgF*0_z*g'>NA\ğ1l9$qڽ<*+&ccL;0ʫg>ҹkQ҂\s zq1|w=Z,20 玜u(+-9X`H88]6.wf 8V9=yۃJ `/^q߁ϥt1iɴ(G~9gfrԙ`Y# x;sޚlwgޝ݌)~Pd'2}]nctaS^U]v,Y{ }'{Mx#{Ǩ'uV7t #޹?x3qTAkC)|?+xE+кy{ד|knbA s^.iMF\>7ee瓀30Cӑ HO#f}q=s'*g'cJqњlu|XKpKo,'z;=@ ~9W7}[ Sc,E'?Ozn8$_^U+e̮+g}3?8'j-uEf9黮)O7 {fh('0G'ғ<s3x4/h09LF $cr'8o~;Tz LzL{gq0QKKǯ#e8#:rUٚK'99ZwcGjeG.,{iZO~\]3KIx88g|я$|N\ınHP?ޟqhR3)z$`{c:\0Hoq0AsLGR8PId# K2@9rqT2Yp;O'׃ˀ9f,Ffze>jC.H.`Cz 1z=R8m摤$A`/ !$~ZZtז|ުp(1R˸pqҲ՗M*Fyt(/I}^P!nvɫ۔G7Ȭ2QsRvke}}-"ͼf@ |ǍF2s5V=GmIV}NAߓWdCRRRXۃ$,tLRKUYA*x`J@{'5jz;? skԵ[q۠BD#ildDlF7YysiSWIȝ},[߆zg"FӲl8nlYUMHGqktVp~'-u \oMЧ Vɥ'v,^eh^U◽{-c/k*KW\Ϝt鶚Ht>A*nrq],_ hZZTL{%;h47_2.F)v ѕjFL͵WM9ws7}g&{deYiCM4Qa2A0KhNT3irq_$f_{_Gj^m~Lԃᶄi.nmf%^ qa\vK$qYʒgg;i7AfĖS gdGQS*)5m},(F.wݷ זv_N$ynnJFr$e#Nq; $G`NsSR2[ӚگRZvð-ΥR.Ü8'$6Z}c/*ZI_t0[<>Kr{gߡtjPVE1w:g&nȏu>NULX4j|_pȨX670. Ѫ>`!J~m9\Sf-Ӑ Aשxi%v/ '9:gҹ䎤ljAuD(NH8In;LempmT v灃cVԻ?ݸִ9F{IS8q燦-$7)A8k ׼ʶ( v1K9b1cֽ^[S8ݷ}c5aazLquy)[Ϩ<7H-0s^Ҿ͔ömO˹ {$UIaxpE2rN |hO̯ҫM QҚ{U,On0 An0I g}N?.+4*J6}~<歼;oL;guwD$E=afsúL6kSB`= 8~=8$sϿ^k8+"kc =tUxpW;x5L*=Y9}~5l:$?QTch8Or=xOJ#8ތ:uݓqf4Dg?S:G^N0A@x-2&: _8sޠa}>Rp>eFS{IcfIAw {usYK̘uolgX3KqS+ϫ-YMjb0 s'vSֳ$( I޸*N}8MI>Rp:&rw* u#c53eNW|Şi0'y\{B q J Dӓݻ>ǷSYzWk?`ª8ȐpWw)@$c}sSް'9`ӎ.88lǿr>c;};W_=\:0eryqj1$r߁:qKs׆p?N0N@>:dy1Qm /x@5z5 SSKeSӜu*<׽pNFxQǿ'8=)}rq ex`~R1Fpr2;sBNcʺpKZ=BR{񞧃A52aS@ rnju8RIxRH9!~Rwy#Xlnz}>rDGPzv440^p@3u95'^b t)1!=~qH9$xc#?!KAuœq۶r;T39B3q5-ySi|F9ҿG{[=1m*YFd$<=mvrsI H#Gy BĪay!HR#gqOF7$ClF|URô0p1֝+wׂ9'sN=vnx3=c,w}ӌ=*PS埗^ B8Q&m-~ B2swC+anK1=Y*@w9=Tr9 =Pt%F'H?6Hx*#rW;nfkxh==JwPI鸟@"`w|c9rxԂ8iEt3)_#qJg;р<9j(8vqޔqGڇP9< ιc/8zs׌tؒ:di c$㯡9A\-r:s@<\Zn9ܓV` qmuv3)g)$8MRhI,>L 0s֟6n$nRŽz`;sĜ˴u'1Z7J'ONp8^ 9a-FeL8#Ldl` 8=pr ]Uv)NNj=q9E:rvd;_yjY ۷nh[ι9r ð^rO'*@F9w2{QCb>Q212``2xJboX sA`u\g$U | `OZH A*w7=3@$ZbEw}.8LAvNqM v1眜 |Ӏ=UIׂqC7;齘BW@֫E(sӑӧoZ]O I<=iQ{vیqZ[ `rSsJI?vHPs{R4[ lH qWА3A $ޝ:>Dׅ'^T8A( KC*ӥy؇tVsanX.v$<״xsA7<0p?W=hZ6jDBF'^l*mïƽ<O4'2|g~OUG~=kŷK UU,^/%~rXX&0<ڥ\%Dtq\Ēr|,#s:e%< oہa5'f G*E*H*wA֝㱋2dl 8llS =2ss\ zwa_ֺB2w@Fv^UwG T r\[nR8ީʯӶz`OX8KK 22G'i>QOӭBїHDW $?\c c. lI|Pd.A; F/Kr@jdG [&Q]0=MLSa&hd4`CQT`]NszqZ1L)9bp1)\W<&?@dgsґ9}+[ZFúen:dycJCO;p3㎝ƍs?wQI[~J8L$#[q(F2ۘg_-k1/5=(ypavOPsUӒAڹ89}v>vږWq+L*~{Oi02#6Q"%bvB8zĞU擉>lv0HT'$oʐ8';ێu9@.ӷJ K2r V,W$})K&F l)TN70;``1}^iq,3z)ؐcuQ!Uh{tnәUUTrO㞂{zzʹ| r;;~1+%s\"$$m` Te^'#+M?cƟOC^K$q*G=j@}q[GOǧ^; ~9N:(abPy$z O<3{T/G'׏zoa߃N קSӿn-l8=}i9Sqqum8?oEaq#b( pyp:d\wd)\~>2::}'3ojI㞙4tF:dzs-L<ҡП0x7Ei @0+%,ހzNZZݷ۸;syn$n;g`hq*'ɴDoXg'@f,ܗ;Ns^N+iz j_$ݷ< FxoQ'hyH zt"Tm}HӬ(n'?oJKH`|1#Ǡqv2Vs?+ӟa^]ߜNX.`W56L |vO=$xV v^ wֶ3f=s;NA}=1Ұn=?|_n"wezdy 9~&q`.եd%ޕ#Ϋc;'9?S5') '# $iN=G'oSO89:Urq=Uu.]7,}ǧJld gGzt"7GڹP 8SspGvWl=zϥoQ\󥥎oHǾ0:`E>f<{Xi/ Qk{Z6䒫-_̞Lu EnϥyXj (/Йn#<"Ern U?1 cn$!?y%_|^6F6kʧLC`ɷ\Z.7̒=0@^p017&BCrw_RN?ZM׎Aa<rE\S Yqt)gQ+G\n %8⺖'_IK Qv@G#ԟJn>U1%F wҪ#̊Q}?.p͵9W#%@ۓ}qS#Z{R8y>ޕf5flqX$|}֒CP3㞣<+g\88>]ѝ:FIfR#+jǎ  qQႾ%lX88"Hc^Nwڧ2y}A3vu8@g zu8ɪ2$!@<`f_~sfJ$9}z#@'x 1 r'rLT x@3O* П-D@6g9>ٮʰQp$]`Agj6bH݁s^oz}L{зC~H\`r=< #vHϰ3U3=@ ?#s?>*dcOÚ2q~+= ҶHe90Tny?$#$+*6B2d']Aa NK&{V}KgMN0mn s^2 nKo9d,OR;3,й)*2(Fssѿr$(1_n~2.pО}*}?z5㭏FHySjq':"-$|CЎ7~#j.DPǨۦ(1p:qN8jE!=0893؁Ҙaz>] ^CqP@qQOl$cD#q~ dX9`\y9s{RSڤO*Ayڌ3?@95a)CSFyr~e3ӿ8rm۰N`F3_ھ-c©;aKNs`yU%($8ji6wMۍN9vZ0\/ 2s午=;kn LۊZfۀ˜;+Ɏ= .;я6-:k_p;H\޽$lxX^LQy97=>^ Wp271z=N>.w9,v*1ϩȬ#h nKIcv%?҄`wg9 zdzf>1WǖLn޵q]Lz266pZ"58ݸrx'ד4Ikc)hkG]dleO@6=Y=L]O+7w)=#rFx6*X*81>եi=Qc6@td.H8c?Zi;]h#^# }O1J;+K9PqsS_(jVfyrIrQֹs|k{EWޗ2N;K =Ӛ֬i\wAw=_y9P͗sN)cep~^8x]m n;n{w?JvGvvi_pڽ0$}.tAG ?\Qb??:T#؁h+~}OA7P8zSL~:sxR/G%@sÊ |lg*ZA { \vn gb=1(*~`3Φ021ϰ"?jQ+&sKl@cEJ5%˛Eq`ty;)ߖ##'56yy朔̳r.dA6Y대;֋e h- W]ܲU=]\5,iyPOk]_GoѮ}m]*ݵ~OX$l+A>$dq9R'kOfvn-ߡǦn%qŦZJn-kPP3Y_}͔ypwePH|12@8Zϕ]vM˹JM[+eYwB LRDxeR*=ṅ;Ԏ+vH$mtx_q1I=0Fk-M3LvFsMRI[okh+5x{]DkhgBK,>ADӮWl ukn#I*qZmGwmޛǚGri^XN8imuSSrQjy0n:ͤXڙa4_%NX IwbӮ%yMseesfȊ>o>KsZY]5eݢ^]Zsu5'P' $b4B##elzUV mBT[a y!Y->eݼX\[4$8(|ִʰ"SaN kym08үZ&Mf1,5i[PdڍԼtv>,.#D:͵יz1= lry20xmLD>VHm1wmo ޜFќdޒRZqP̤,%ݸ6X_F}Mf : cM4nRG)'1y(rkKjsRY<,"06?J:~$s z.)UWCs-.#Hec <β*ܳXo\1NOn*2~zҁ1R=0QP'<>tD Hd297zQI6H=}y<`r8NjYh<x9%EWY0F2xuڰfF0sރ`s6NpL:ҼگVvR x۝9v|>y^׷\Vw)D~pGq[Zmd!A:gI92_a6?* dcI5||/{كw/0~=&1$F yjT@s__z#ᱛ׷A#מ i s3O9z20 9ǽYPOS'=8 rQ펜KyʧcOi0$Aְ=.)b.ApـAqv>;񵁶$e(0,<5U93ѥ;>_|: vl!ؕ$ZDOɴ"ಐNA9]oYf\ͽ cr'` P5@0IOc *}I=>Ezt l[tտ yvz.iỲE J0NNW蠻tU{VcHYg$mwfiJ|\vy낽kAZ]$A$ヷ cq׀+j ,vy\L}+y"`#l)S$` ͎yWy'8px*{θr]| #;=Gb8'3)P1A6m<~RRl%cvvXc#8Jdȱ)#GpLd͎zc)0($m#83ޝpN.W' z!nmp9~\g8j$jn‚B'MQ"< %x`F=wb|@\v~aS"H#;T@98=2LgydFM2-Wܧ8|tEb *YB,1Ey$rEY.ar0'qڮ+bZѺ/"xU#`Ǧ@鷥Ae}wȰiy$x Jlp6bG`'mdn N1>V|d។קNeI+q u)$^:r9B* d.^nO tX7(Qqy\cT?!Y@,@cFp$s_$o\`o98iPl(tq8cPpF8/^q"$VJ`)]W~E&$AARE`NXIڭsqjL#h^7fpp!$)nZ[PZr3Bie2)m,W?@Ď$ Aza[uzH]2l8-p:cõVM̬UH!vq9J{c@Y*\3¦<6,wڅ b bfQ\څ w+rv {VZCrZe!U %G˜vAUtc؈@UL\qTy$L ps֭ jhNX0*29sHxb~fr݄OCר :-MXR H;JIG'vJ^MweI/^sבz;%>YJ:gNs<SuO=I?Ͻcͩ1s8 r8SǨϽ9n9z{>JD@ N@sz\B {9ϧ~ij{c>Ao $zgHB.9$猞QM/p֓teu0{`NO(Oq(,䎣O?cs=^(9 $99X:σO9c߾G`\u9nG=N}ܜvcO].- :{5(+~shO!m.ARO rq?/iQ<,|K nx<.OTm$s5o}R'i Ag מOp.OʽIS:Wn<].V3ђ<6T2r@fC܀zq]}N0@'qW##GZy.wq,|?_;qQp8PS]cw?.Bm#Fxa5D%evQ Xi#mRC 3t(Ξ^He@hW<p8j&qGݰ(zw'<]hwy*z1ބq`e .탯'~qOާ 0۔gqI`|X`z4]xlU9O84 ʹ<('=pxBEa ׆`9p@;qĝF>` 3FGp;Knrzp39<.៘d}ۿ=8=337r|Dn BI@K|QXR>V lAp~bI㧦G9;CJT0N}{ZOa ] 7:m 6}n)G(oB[>n[AJ[L6+aF.FxXm-n:w]Fۃ䝻;sJظ  p[?{g@4Cr 烑{ҼO_CբhܼXXb ^C޾,`?}q+X'>G۔T^"I `p+AnAF{8v i)2P*9$ds5my6Ec 2,rXNGﰑ=i#JI7squUL6xblXG_Ҙ\ p̻ u#>q g~ዑ  KI2LFU\8Ud|$WӗrxR?]nc+9  f#^U*N d8S#:ui"]q0rqhQ 1IqSa-ɐ;I=>tg;=)l9(J7u.#dgh1z1@{~5,w`bpY̍\Rةq*2/ \8X!9jwq HC 79 -]7"8Qei3W$`rqҶ-+ɖp# 0q^==k7K!L@8?n㲶GA=4dzxNGz&?({N.20;p{rA鞽G4_c3'4l#sSa-\#S`dmԜZoUa1Td8ǠA3G|b_6Qؑ^3Krvd\qzBE;qlw 8sdq"Mm!gOڙ<8=6n=~Jy pH~Pr3'npzi@wo^҄89c'Sc_Ctw4u 玟f0r=28&QۮKpxO^*^A^nďg9qF3n" :q4A0'Iݱ 86~9緵`^&`w 7O;K `sϚa-WҩWeH3\#90sБ#9ʢF<|8;qw~zbJN6N:W]T^?C?17A;zOZ̬+++%ʍ8'|*νqНeq8>Y ϥInpԞblsl|c^t yT_8%@>~$Ke#`yk !% 0.">MXr~1U\ۼ*C8F㜒cf {tG篧J`'<s#?^8\`FrIPD9V=U |q5| ]b1׎c(mЕ8u|? t99Es [y#۾qڹ:=lј@îJǯr8od<U$zgaQ_DbS+2 ==D pbB F3Ƿl. ,+Ԏ1ckJ$ N~^z^7!|ёqadiPz9xiݹUo3w܌dw 7.~B c`+z{W'';7;Yт@Is#>ne'^8U%'e_g q^ݹsR`"ɓTm$`dgTu2JŽR윖7tcv~}*~m窳_$S)Gpvٹ*6"Ƨ8< P!`GC+A##%G@ǎ}cI;198)إY('l rAzrF{Kb3HTmR`6޽i e^ G9*]I(\*A $9nH^i!&؝n9犵M6JsyqjH)'(*I]bw&1c2M%k{vveH]uVD9$##)v:[P;e?)'޻9%@&@*TIxkM{{BweF:9,H09L?uSG6av:14(|_l*ymG v.zvJ;OOn;~=qFu#j[m?qӁ;O۟@=Sq^?׏Kӓ@8ӏRXM#N{\.NAqǽ&;،sǯIN8oAypcדM<zu;c63zcӒ1ޑooکg0A )};T؏spx9 _hܜH=[uVЛwIֽNz0}q]t'ROk9VFp9bsO@+"tp {W)C9 :ۀGQֲgOY/SoYiW=|F>yX {+2y_QǶ8j Tp8':gqc[#8p;Fpyg<dpsOl\׺ۇ ęxY(*vm xylw/'d*ּx> A²T#M˞90c2ztӥ_kMFb%syQxSۢ <tדXnC$\9)H啹 2srkXEjvSt#˜z fbDN$r4m]XzkFg'rG@\#b9t\b\mU~OukE$E;8.9~u](,Jc;[L y v1$+B?2 }9Ϧ:sB 5{w$r=J֜_ßa c9׏Zf+ Ol*U ^s/[呔`^x'iZITǡ 0zB6pr=a"WQ@cˏӧJ Q'!=Ak>&`nr3``Ҩ̧h+?1 0G91YQ=qՉ\.Gҥ tfpprxrp{bnA Jy]~# n$A?OLsH ! 7 ŗ0ߵy|sr9H Pۇz?Cҫ}PI݂}{ph 8ySP 'G~Bp% }SAJz {k Ap>Ű  2{NS]ypszg!_Oڿ9q֯YVӖ<LjWt޷=;Oc |Cg{uC"5O}S+\ENaA9v#l#=JbzEAo={֌hx1߷oՑ~;>ϡO9ԔFs8{J ^>W"lcw3p;q [>]r- {z^iWg9F:>99`[?{*/f 0Oۯc%.XkߐCH3$yw8 u^Z9)0.b孾GF>pڧj3uzg^fGCr:랄yiV\k9Wl.19?Ҳ'@= $xUy3yvrJ1gǥq769;_:ڻ9s`I, 8U* uTp}n:hQ6bp@0AдvʑR=ʦaِ`;OZ`b0A ǻ|iTsoCETp>'=yv 23ROOn)$rX=O8'Q'zgꭡ7*:zr*o `OfZpG ݐ:4]yQЀ;9z[u6n^0zcG b^G~frkjM K1Fxl玜񿋴gQߐGQ$EZ~)20NyYԊijriu073Ǩ'?ʽNa3>,]%jzEurnĪc1xҧgn ]XuG>é t `͉< }'}b:⥍|Nz?;==IqM1x³(f=9PLrIgnHNǸ.ry{:o#i09[\Ts}V1pP:4_{ VYNJo#}}*\vm=;Yg"Opr~|zP5 팟ӊ^Byz;p `F2;Ӛ M$s:}:;CSGNEq 63OJOL}!'50}z#[|;'%;=+wjMiNҿMϖ~+]iDAmu{7$>UByb.B89=ktkc3 }|0X-ن{+urZ_!fns9G¤a#C'ʦAq#;-* (3"ݔ l>s[M (j1ZYvnrh/29˦FG>k]4 7H䱷W>a?IIPp:ЯY|vvzE}8.u C.)*8#i%~X\&.%>xaVpm+guZFE HKshOƖ";8gEk/_4#8 U=#蛾M蹒Սx>x<˪*U @ypߝh?Hڍr'?vV|@'/j]V? :+Q)''4f&y  o|;ӝo엯jעܾ~"&t4a-GhpT\+bK>N")#mĎV.g _W޷j/bfپE.sQض!B& ;TC)T,<ԓܷ7^]k%#ĢmX “99{ηxZF_oH$Iԫg (HnFjeN*Q)rd.JK3JW_^SI,- ;us_g1}Bk=8i_tʠ?N_<*GݑpzWe B*P'%"X^I ?ݻWYZŷiCn";tdr2;^77$R2X?xas\CHugwwXļtED\T|/H!6Gj7mB:F*~;Uƙgk5w֫No-MzMgt>u^j+4+N3ӿJ宬:k+Y뾅KV).b$X$HX0S!C*z)%bU2JOKq¶U{Wgtvgx8vegF~5]@E6a!3<|Y Rc j1ӑby'8R).e0eaѺq֣t%˘O[8n0_#sM6vVc_SKGI}I]T/^O˅޻f/i?S^i"3܆8Zw4zI)={ԭx;v>w!O7 sKnZ<ќqx<d㑞1㿯ҟ0/O# Gv;/yݜ[.$$ǩ#qQR8!pqQ8S/8ܑ)ۃg y'o8<:Qpxx{QwݞEÔ뎾cQH;gj.;q>껰 9!7l}z}i6ZDey3*!<8n@Y9.Cu#_Nju_sx9'3XĪd) yq<)d9:kS1禕H gN8|~U\sܜ8;J-NQ9e9IϷ+RI9Hzp{[pa}sק_ֹ$΅hˮ8<z:;{Ve@]9]#S HÐpǺ5-jZö9L#m-"; By?Q2{8>q5v1 sаlcknso^3ꃺ;+}3AP1\p98 sE1:$0zR< PH<${)|q$ p~G|Ìg9`@9$Xax#vRqR@'#\dcxp>Agp1P>~@u9j3ێG$pA$H2qX:ym:ydA&aЍz[x>}E-,C-qS+'&8\q}󔸔;ۘuHּ;ASqV8'o9=GoJ6Vk-r,pw%8,zݮQᰣ<(SyWoTL 3oۖd$8)8,;psN:W'Sŵw.#sUKF^1r/AUXy}nƘK g;";S]_26{qRR.?ʕmmk=V듷yпP{Е||܌n##1}TA_w#Un~32sЌ?ħ G?0BH$&M %9$du֨N:l~Fqi /!qaHiP@=+E1\/Yq'R'%wU `cVݻ>4);AdQwD|-.''3I>fé>_ƛ+F'_C׏ƳRJ'1)~@GIA +PÒ$qA=*4Jv: 󑂥Ͼym ]Y*PDrw ;VK.(X5m2< 09 5_>RUrNU89 ; N K%UrIjyץJ$0*6cq)m9IJIW9T&%H<$9JxjKY#yDz'LKm#i+ҢeѧSⷕ B[((N0r[_L~ns]Md#3cǨ5vR$2$0Ž ǯ>Im|_= zF0%0ˎ w6Ϡ^@ .X7 7T'ARՅ} sAӚ& %LS)`3QA?^ɤx4p< Ny'9 8CpmC.8Ni669G s׌b5wFngEuF1C<7;GAuŅcG ]+崛WrN:Vu gk4 .ate˔=e$z]Q ,B H:ӷE^`ܳTYda 01~59z0UjKU0sn0Ec'={c[F^flR$ʝqPv@-(9"H'p0sԒq߁u~6ISʜמTsF$&o8Հ㧷aA'1aF3R\&C2`$'{$dk=?sSvT#fd&{;A,9$>mh˙\g#*::V{Km+׌sֲr;a dZߜ;z#5$e019W9:(Qz Hx=NqV?xzS39ǷP['8U3ۀ8ϸ[B@c>;$u<Q698$G;cBҸ!FN3: J7u9Avt8n0yn=AQJn;BJcB(aGo8>z '99{P889֚[:v^AI9=ƚ<E\mݻ =xc唲y$qXI#*u2H=vsZ.Rͷf+ޠq~c(O):svsS$o<fG42a;\WJBvs9] hx p6׏5ڮ!|X3nxdHBr<nQF$OϭeNx0vAu>~R-1oų+}r8Ccp~n&<߉M?Th0אp:t[ x:߯4D@*d>f|۴y$Ұ\L99}OsTE9Fs񁁎T' ȮP73NB*tfqf͕#v8z{Qb/0 ~:=JHRsB={SHi$dA8 @ێ73RH<Eq<УhP; GZjLNrANk@LHhrU#)Zb{ݼpО\`:R|!\ vA]3wIy@GNWtNxPJdے <9E!~rG ,ru-=je}c3tJw5 ~#,"v9F=2qNe>J1=7.s=}jKDEXPD;_H%@iix(EdtaIxo|N#s1Ӄ׽tROO#.LELHX1PHW^ ?xِfq}ӣQԃt,[1T3y$zdo=Y䒤 {Ojjj;@쪛#R{XʹfBv wʪ7}@1P?˞bVb̍O20J#w%zU!7`Ȳ?*7 q[ŝ6K㎝)[Eupۓܡx$. 8cEUʙU?Bzqn_y%{o#nF*9Sӷ#-孺d ǧ^Y2rV[[)%hڂ'sÁ2dF[LHvvO,J8PT1X뚮EanƢiI u!B<:t+40*4vnXUc* tse^/i-_1KUާ;9'-"Dbss2)*zmХ?3A=1֌A>x 8?kmO$gy7~x0GR89߶r:{c3RP8>_`"*,YA 6sR>89>U["G? pI)^>~;xt 3J$0Tw9Ω91<07)=} ~D!#T ï?\ھNY8en1ۂkWt30^7ɪ"BU`12珺qwՑ3;X&s=Mw",Vo+#d;2=2qmq'8fbNӻr\vz;prvHz Yr_8'5[DU\0w66'8rwmSjlUS#_AFw6BCId@O, w9QvF:.XR29Wn`#o 6H,$9Id†p, {QܡH}UߓHLzp~R ?>Rና'֨ pYr8\q!m `ځ O?2cCnzP:r{xt3@2 g@?*rc>b W2?*[Ux9$ti)#tOjK[  $q#8ǹ̌yG] 灎ԳJцy9TR_ǃY7vIB,SZ۳|G 8]֙9’TYG8QZ3joT}+C>P<9{X7r6Hׁ"=2Qh.Gq۞sGAJV:lL>?Ξ>8xOΞx=8=GNaؐOc#s0y5?>J9uh/^zNH)6rq8l ==IH=>4Ԍrx0tcӐ?JC\tLpE;?SRǠ# }2=}G4lup{ 7߰?Kc:uOQo[8Ü szP3;1\ViNR l$g~U 1->{fYI@2JL eʛ!G~קNdUnaUA89Yyi%nnPi<<],3c ROOӭtR9fΖ+݁rʽCzՉ5Db`w{1QfuS~Ku%ӌ;8=nsF0F9P 2rxfqg ʖ?)eo@s\85Bb0mgd^y9j!ns79<d$:ӁӑX369#s\V"-|I$.v#ۂ+Z S{rZ9Mq'<㨮n7vn3G1+h9lzӟI]'~:zd pN @v8 47wW*(q#@Td,ހ}7 y=0܂:|cݎ[Βu[s=:}DD$FMOzzp3cqWJVJ:?CU83<ۯ^9]&-L׏PPCg<U[HfܻF?/qU-.֤Gb'<뀢NIbIA=+nϥuzdӌylCppvAv1q=뮁$_H q^L7=Bx@Yy!lpH-'A] NH¶Ir?~?MMͩ -ˍFRp0z)_!N¦*z#]qT5A.$dsHx9+;y *(˓E[tfGL\4UX~eRr~IȌt>ezN98ڪ]JR;># Wnv;H$Z:8|c1ۭX@R2~'Llu~={~ :>bT|n{)_S>Lq• ޠ5. ;ʙ:TϿápqc>HsRWS~*PU;v|n$OpR1]Wq@=Nqڄ΍3Tc 5Ü}n1~;]yAq:wQx^~&`Ӥs'{vk*: tR^xxY3ף;1N_'RN{Jܶ%2?f8ߩɥbl\?s]Ep{8ɚ"6I&,ڢOBJA=`G8=T'$P6q9=ZzSN6͜6F0:vNj o-5ȌB6d%#JLV~n>msr\O-+$QC@VWmujۦtucHGgiP±%Xɑz H#xXV]l< 't+PK[4*I=iiơ >c8~d7qvZ\ʧW,J8RĜq5k MNW[r4._`2)Y?M vm6V׷G.Y ٱPO=諸֮L[8 9.9@FQnv>KɛTh"eD"6)QIyy!VM 敆N_qSk.[/szr6$ݞ=3WAvr>Px֪3fd⻘k3mS,#Ks5` g˗ZrZjL^ZWID)^ys~* dBn@{?{ ˥G.30"BܫIF^ҏhR 5kpZY&vFx9Q+k7m-i߂(8N?!UIȪ5+H?rItWwu<BMFX%ii8Õ'_r928 PIqrOjZ}=(@ gs}1JsF G#zkVpOIX%p{NsڶeO GUo$qppGzJ]҇ϔ9 v88ChTgkEwV'q( 7 I;Hށ) WSD0C298$j魮69wsG55tuEٝƝ{$E ¯Lt:6'̻px^6&WFZcxh3` 9 A䯷^uں6c;<rEN%PI>v#"ICR9#O\ >|kU"\Ip1i~H0sO8{ |cZi_;x}\zuq֋oqTiPFlgr?;O?N 8' #sJ9C)lt :N'yc<9A:;zp{_}+ryO׿G0rzrrxS<OoH䁓) ɐ}8$#: 8S)@ s#P ضA=;zPD7Nqר?#?BQ#'>~%s.[ FH=ǥUyGQdʱcL9Odqϯ''K  ;i-^|py'9$yӎk;c|`S.N'oS0Џ~=EL=z%إ2gP*ÃǷ 1g9?=QMOmeX9%7Nxz+5Yv;b_3kեec_תH =LJN2Cg? صhwѳKL m$򣃸d1mA\__9[(>k y|R0KlA#sI}fg;@Ĺ >w9i ȧڸ ;gVm屷ݘo>Ys|NJN eܭ +.B?G8?Ϸ+ɷvK0$w<ȬJ*H8@$\z89#8oVmt)=;Nzs5j4, IeAF3_ RB_<I8ӍwtINwtz=Ӱ4<zz0 ҠrX LpNHy; { 5+B4C&8'w'Kt" .L+7#,%s뎘R7G]kkYͻq,qqʩbrpҹ\epq{zDCVϗ\VG8VG [faI1AiGb"L.]ORsSFv%v%~Pp8?+!sT-H!szud+ӌ_!P P\/*NI霧BAe/X;&Cc;~ A``|{8#w'^ʧ89s? [#9~F6p6=9Ru6s2#gyA10O)S;3;367X۾mc4A{Au 9$kJ;'S0K %JC 7%GN] }ϩcZM W y :j=˂:Wqz|ʊ}Bw᷌trJ`Y \wV[dd@9'j˕C2r;X+ }-wޜ9GqКHIyC0}:dq=if@*=94wNzOޜ2zGP kQ\8?##ԣmhB|~Kt=;wxU[a8n?Π,Kq <#a.9# sJqmles=*n~H%sI.%Ǹ3Y]{i8e#y޾t%TXu%s0 G..WHn2(qg`2&&.[W8:޾1ʬSvPO>S?q w pN:w8TrV%p 77a<t߁c+Nx^!U* c4| G98cL6w"c9Ўǽ)`@+F`s8\19ns9NWמsȫ wc1㜕:9R[($ӟz$2I^`FECE'*)b#;JJ8 cn7ǀ j+E3T]l:#U\? ҂P6e gcCpTʛB4[ڬ+ μ3c_+:O8j^ʊ}ZVp*=;v=ie\S u54w"cs?Tn8?^AϽv{M~BEd#N*dޘA$5j~`s^,Ѣ"SsJfr#HWwwZe԰N obp SqoG"P懚SQ{s}ë8B sJ[d$VQ;1`WB|5)= TBV# `96@soAF[#$y5a#R9.!;z*f;0ўPܸ1׶)#&^,0&G,dlJx'șO!Faoܼw5O/ofG)-"/LN9\F#a9֒YisiwF aWhh,;en*~pev[8PB;eAm;oYHV]_y=pI0KCfTkhdp6>H(`>BÜ`}Z촏q&,#kʤÞG5JJ:v{ ʻn,̒9 * #k֬sl7G-x ^ťm?jMލ\o!$P`2֠ᖑ:kqfRAʀc=52?=~y.od-XYP0++5(g(oe zk Zڿ"^|lp'kHpKC *WsSgo t"6}fWHp7g*GN:֝ocUrcH98^z|M@ӊ)ʗ\{S{Rrq pH;$>ߔv.O(?pc´[?.r> yhN#=}j$z2 F})0}x'p%y~ގ1i+;#&'Ѓ(9~^aߞJ9`sǯ7`zGqD9 p`]q {qJ[O"M 'kIGJrZ~hy=o`0UOX㏺ =O W/[ϙ (YKY0=@a#`V$|ĕFi!k3iu>I5,ҳlUt&wdp$cl~@vNG#Ne-JIqqLp*7|dHpx yQT,3֗qrNFݣznfDu1Sazyr0 {qRG-9pH2z VR% [)WAquibI]Fr^fv=cKbБ眜׫YJp݃_=r3¿u]IwՃ}xaX4̧q$s m#n[Y7+#@2rqϽkG`22Y8/ cڦC6'aק1Y7u\SI9oJz\>sn7G\u>ួy٥]<{Pq';hcAGr:u8O|i=N:J8znܜ*Pzz{ΙN?Q;q`9)ӎFsHu8PN>O@11Z9R{?Ad ya\~xC: :x.}ݠN:Fjӳ>_4~})~1ަಁPNy8_@ "dB3pAWSWEAr8'wkʟ1uuxy>m{kK!8%p9$qr==p){Kɫ̏enGԃ\?09|T՜TaHs~1PKsӹ~b˴j򑞀Ʃ\\V?8\֢-\] f v㜞{sɬfV`H`sq'z]Q߉*I"-;:sRJFB\=:rw52/ B'sОjKnsۄ}9T6v7̼I>{K90 40.C{2df#i.)>籭/c!Yт 8r:n!T$)fR09/-aw.hR`~i&%AiL>E^^PG)ZۦȼAS#8ۑ; ݋>Gϸ0vrzי](3ԊowB.v Ig?)UAS t$kFBO:2!rs};+ף},garrO׎ؠyJU =s~хqח*= K !TYOd:=fGBFW3tU<ځe9SS _Wc"Wm=<Ҧ0n88^ߝyI$̀]$]Y|u^g2rv3r~b $ze{Ts9Z8-0/ ,V6V9G^uuˑ]0CuPN+NG}Lh&FFwa:ՄPNpz$qu~e0 oa$O aˆ13 1!~ scU*3A]T8 J pF?.9-NdHr;Րr13ґ99q˞drww>Zhe0=xzqY0rArrH*:_;8ٳB''#83t73g$n>#Dѳ9f'1~Ui֞[[$t{}k \*$zޙ crs=Idzqwl];):$ Tp¾z쭾CnzO'5#C1lu=? @2;²e=GQ;N?犁=?cg=fr7\t?@1ֳds+" z}Y=q1rы6{n+)-q Xտ1mبNN>֠RU`eO)ʅM9`ivA׌ v­?1:lD9qaE㹺~:}?Ɠdc:/FsY'aM?/Q=:wޣTtH#~Kdy<})y#АN>;'#n# tOD8zex t|6sdw#s*$M$`"21k|D2^u4w9a GyS~+SeEr:iydi Ƒb69+yAt=ټ5bG)n4d&7 4q\ wWjv[5h_wsŵJ㾘6B0HJx5e9`*P9s- ;/@IԖ[sn-}}s;IQ>$lF<k-mJ/t-5s^>[%vr+)nVII4Lt(otY`2grq.C$YZ->OcJnKϔ%!Aʩrkm鷮ڕ]Nýu byj.zU4ώ#nY } CﭙZcb]@411G(BqVd%pm~Fs['%k usӼkpkk/1bF5Dz)F(mI")9*p?q^~KE}9=vD7/9ӥ}5 ՀB#*W`Zǔ6.ss,@yTӧjh5qK -ܒZγ,4#R|.#ss ^ơeP'WG*?o=YAF6rN˧ø L >U&,:rZE9ٌ ōNHa#$o mMKqoyW[Iw ~R%N 뚎[nKRY$,Tf}qR?fnpTrOL;8[HYP;)$N@~=F)*m31ep)q)G^Ym^&i7 ('?*4M%q&沀~9]X?<`$:N9=i)#7NIZ{=,y`0?)#9  y\\r$GdKdt=k[B}%I+]ŵkvFa>Ps#;=T]D\ *QY\m@,A'{V*.=I;iR#l6} 06"3 Gl8sYqxb{ķ{}B;cF.ӂ1Qm9_BO._1F$V ӝ8wqmǸgv}ȡK]Q^'kv\YM (2MCqp* ~ gigaEgoioM!%y0S[*$so|C{yv;HԌu1JqJD̟U=?CIK74PJ=R8k-.#Uf$0")u 7|OBBsIW"P>xky" g[ $x&C22|=p9JDz k[C5Ngۥ$;2ǧK*!xrs滟*% \դkXh9I/M8L-7@:GqҴ܌e[~t؂rwc;}9dU Tq~bzƼizrqeE0xPkV۱JXd=@W֌,>Pro?.HxvGq?y]?Chn{Vc]8ds^evr-7g,=r1Tlm܎09YZ8^x8'ޞ `b3ֶR!Q 9N8֥ߜu sn64'>xs߁|sBF߅H'Jdgs֎pTssqwz3uAסzRsR388w'csPBe1c<^zFr6BW3Ss`sW&Bz msL9'?L ΩKr8?> 8pnGs޺##l9NT\QZōI gW=SC.ӑ q5qu,A aW IWnXVW.'m;kĹٚ q*clȃ pGjƯ5x !0y4摗_"X# +H> u`sJ6s# ~Wi`Nn=qqҲh X6pAz6sq#([$`nǐ{{ V a˙ d碅#Ǡ~Ofa`{}xJ@Htb8b pU.WV,R|g*)B9 qe+vO}N KtpIJ1v`"tjFp'VzB+E.G ;$.n J?w ңaqo1qQ'GjuYD.Tc*fn[tao؁Kg9lT̤\Br 8s=I<( O qKvV=2<ʱÓhpH3zC> <H'%9nn6y#~rjy$3צj@i IHK3m^[kaRhbRAmd۱F=q8hRݤ?8NF*8q]mLhOl)dO$y=qAhfDF mzj Twy=8ZF6:8y&m2v+{osR`N +?FK(=ԑ۲vy9*Pq}(` ?# lI̒ĆlyG_bE} mzZ& *I!V3Bk^fޭ[DI[j.;q׎5?:} yQr$,FݑȲ^It<ۥ1 9%1_P| k}:$uɾu]Z1pFNs1\XFNۿM‰#$H1qt$5L18:`U9 þqמ>4HdzUg~P8{ I8[B(d?ԓޱL39Y6N3Lnʓ{ٝ0Z9;O'S/78(5١qs>ޜq}ÝT3}il+dd'+򜜏78$ݷ-OiVlII?ǭf93מvZh̑sqZ'g8Ƿ^*ߜ:rT8i!8})Npzz`sLD}$zB##q1߮jA1338#9?Z~ry@=M 8r)=:`^AAQ.בzcP9 dvq3H?GV( [#y +:zPxR`lHS8kQ*݂wV=+Bb~JUub:knJ`d26>cW;ݼhX A8g;s><;\ @}kR8<1*9W6UgK5;wiS8:x#J:'$?iLO:d~j@8Kzv6PH#8Ick/ϵHszzqG"m9Gh'3өޥWr;cm7ǯ1Z%r@Hkeܴn1o]{l3ިhc.@:\g*)CGʹ(f^O<{gwv~<Twہ,jzq *?=Ni"6ꎖ%0Fr H?k3 A3wS?7Z]s2j+M>3?"vJP8v98k͵)Y7wąY8*eZ5g^og۽;{EpT9$_y"SԌ>njFrS=)~eǯZq?HUW^9ǰzq Ys$qӏH T&HH폕ǧQ߯4p=quFH`sK=8JwMqs~'$?)8JKm#r$`QǿJBcy7cǥI۝܁ s4' N@ eNA>ߍ?#<;RFܑ(zՠItcAJۨϧqRϨM'NpF}jA韻 #h&z3yjn88 cUO`rzt}6Lt~iC8+cM`z #q#`{SANI t-f!XaА{qz^tҢ<\m۸`7r*>͏Aʐ][h^lǯݷyܡ;m H#5Q7pÂ= W>Z[2YS! 8@ے7O<:sHKU0$$r ,eHpxwc9!6  p{{֮e6Iǩ؃)TrF9'ژ2 ؑGC3#$ 6v(:009lc;뵉=)+7_vTIKa"PNrUqnqkF&8[xNeb,!Y21pG9+3`rR@H5]t9g2x?Ofw(ʶ;ppBRz7w6o{׸<~o3o]A $ҹ,)&@Uq<[zG?Α\!A'8%{I7UN#gL\O@d1:rC}n'`5/qʓ7Оsi c3p[nĊLQ| .ݪ ]չO\sYǜS$9^g&T`m^J@ԌltWVGnUx9g1=9zg˨գ#!xۑ߽@Uw@ۂLOɈn ݻ98;Sx$`2Bg>BAH?WsZHUάcz 4"pt>eANclhPr3P$W3zGקiq@'qG#nK*oPBLm9  > LocVʲWpYT)U3JUlPBM:< )E 7d||?Cۡ*RKH|2`'ޭ!ٰY2GɷTI瑎/gY<`6?7O=%br-o|JV6ŠO9Y|ېvp9t"nax=,tw=@=x0pA錏z=Y랬3x~O'1yxS@CcwL)wzo珛s=Zx|u<{JI-Szuo^Ǔ90iwt~Ԯ'sz=0h퓒sߥ =G9^;❻'wz׿cנ7l^zvr1(39q{`g<$q~_S)z{=?#HB9oJzqǿ1sְny;>nMe7d"yvgX r8@Rkj㜸޸% r(Ͻv z8*q.yJaInT8lq؊g;C+;k{_fOTN8IQyvAm8jܐAp}2uQ %c1X-ю9㨩f@J~fdGNSvhdj&;my?w׮vnpeąTݲ; Wtyޝ7Z)NYb @pԋ.X koDLXӏI#NLӏlB&\38{v8@|ͬH;dxu\ R*6W=0{~Up7Bۉ P @9~_R8+)Z/2%v **M1p IzFަa؝ 玙|t Ӟkǯ~fe6NX$1{Wai1TzA8r T|67;Xb둎0MzUs-ߖO8NsIؖub c8o 5;>W*DZivTx>ǵ{>h3Œqfګ6=jX䯤*!wqԚ.W8zqzVaD8 & 9ϨNqJ8 O98ׯ?BE=b+9+4 \n'}pz[=k l'?J"c zҡM4a<8nZ=~)Xl>o򦓓#?o#́_9H227iÖNN<'Z9\apA`O>]4֌"肼=Ϡnx?Zi'vTg9y$C0۹6CfOmON(pHyl_ߴ0XÊ >ysr9j*- s,AV1w=u5ZO xg{,G<{UC==&};pFO_SGֲhn}qׯzzq+1c߿EzYKrs9w9UZLz!֬iʅ^= R=^Lq>,yN>tUfzty$gg4 Iy-p8#Vh a`n}}: 988?1<:cc;}ӌwJ`!hg<y#lu(N#X ;AP}2xvGҗ0 ن؁g9yׯ(rC;kdmb)fwQ=>my~ u:zP㟛ï#5A.B#*'z;*=DĚLr*#%?:(=֔:rӷ,_Shn&]ǩ3 ;Qx"/̃u`9T"ņ2cx+찕JjQkQOO>bi:ug_WRau _cB SRՕ.Dϖ;62)v:!%zmH;-x62\5/v61W4ٗWsG۞HS~5`>{U>m.C30]c߿9K- 2+ȖR/ɺ< < :'uUkaV82O= ElIX*H88%ކ%mO9Rwn_`o/학,y+ NG$E0$WBτve]r}LpjWUrE*M8 EsLg's7Dq"HsysHKK =yIА3E GXU A\ ҞFW6=qE o#@985rF[c]zF]ި,6pQQ[s*$gյ=*MEC "%Y[Rnd;[T[᳿vXn<+B9\cg!@Vơ>;:avJS^B.E#φWi1%sޮ]XıhQXM(` 9lO&zژ!F<1ifr@`zc=mxN c_my0O'r>+Ÿ%nǯxڵΠ~7.Whv&s0)"5nOx~n!X`k S +Ҭt>|wjN^ѲR^[*crEjE褄d88޵Y"AX.Tn>l/EbNM:[ V̷2H>HYr+:W?u~"7m r ܌3k.6Z[~%xKZ|3ieq+ ff^qEtTӼL,ە'u,܌25||Z1Jw:(OñOOc'-ȩ1T Gyr7🃾ˢ`.ڝxOP|=\v[1)5r{2!_ iSM?4{gF4p[LbEMJ] #\nL{0)FOͫʶw**Hs # 䓌'QsO GVC H)Nqz^=~w`+Ѥ#ī}E7221Uvҗ8_CjUW~\hc漏^lx'<4_,!^7滦,C^ᚕlt,n8Úμ-Fq G]ǧ5:>6`'###8ye%}}k9 qs}q]ER9<6G{ ָCFtz4@Toa-8WiBc31NǎbnXǬX #^3y =3''ӽy;2,,~?/\ J2|pq${tSß=~FLӧ*qgNq븟|z{Pdo'r~TF`2 # R' j؎p''5q.1(3_T19#CoUs,pH98VAhllD>^qX)IT\.`#Ty<O:Vs\EצGRgv>ޘj'8|ړ:xƦ߈ؙ$zu O$|F6kp1]DH^d7^=\n1U)/8ӟz0gQjYB#9$s~egߚ\kF8,䐪WLkĎXO=kj1u}o,w^NwIyko|bXc!>oֽzP6fbW䏫`+FqƖOLpq]qVGr`rzu}O^{+Bl8*nLyk.sT[Bۧq!NyU끜9+{@:Iںtu-Z4lOeFJ;'<&++" 0P0=T M{dy#wGALHv<0Us7Qֱ:9KAVPL0pI'dJϻ# c?\V/M1N8!Ͻ7p{N:ir^qgSӎߩqdX.[ s_& DN ^+[1ޭpÑj7$v>ҵ=oQZU2eqA 85 =3&->EίsqXUY⹪6_a+zM8oS@zyYԡGKEU[-p'EpvBN9'ⳏw7x첕>ZQʳR ;JX7|Bß?0<{V3B0Og#iykIHm KX+:l󴟟n<'8W!;ɮSF\ۏp9eX mPnOaj*d20y#y1L<U1AḴr c 9I tc s.Di+`4t2 p69Z{gn^N~lm~&$~X1ݼ]cL҆RB1 9ʅ6"vWA`saw`)d8 tw'+r c4~`0'ҒuM ~VOsɠpv72dpWoQ#Vbg(?0*0 '#P޲"ConLDd'===r7AxRDd>9~ M>Ĝ?ZF?.N3GR;O0*$R4`XnQ8 $iwT' fTWgb[!1?q(VQ~b{t=O9篧4>'}@y=ۏ7rF ~]ݹj?MFhG1HU\aV{L|srj=:[F3i 7Xc<{t{Pc/cyہR}j^A-(Wf4[t3*ʖ 8S|u#X\(VX(c`w Hr{N8(N'''n*;wue639FЖێ#߯ց A=Aqp!Ze͏>B:4@ςU$  O\J;v2IUJ(WiSP _ς0 ! p1p^%ȻPPyF9McFO}*c Gڶ7?֫c ݁st c9u8UAv;uf{3$zpTR0YϯJϐ pr2[}8+~1;l{bx<\}s:$G*A @g=kOVi,N8Ol߯Jazer #_N&RDM?˃$`z?^$1q#=;1Ԫt9?5JFRy5IC܎yĒzuĈn;H ӝ4txqߧQHGSP-' xOTۛN\FFz c@MŁqo0Cs;`gi# ݜ3ߌ Kv6B2XT*|ǒ+R(JI9mp&GRx?Kѭԅߓ`ԕ@w|>&{aCӎǎ+v쉌G;0n @ tOkQŇG?jrܧy9S>axv'?׏zI6N6C g淧/?BO7:UVR5[ioC_1C28# dmy ϞĻrݭc>d:^-I 6J6sͭXVYrsٸָ 7`$rʅٷ$ ~y=ײtd lw38JԶ`#@#@'bs=?֟`[>J$?=4Kc}9; : 94.x=2P=)?rq*K A xLwy}}A,3v 'L3׿ N:NN}_jg'cg>Lq3{vi8d9֡3ס')|㧦;=~b`=23͇^ڟ>zc=AD#0{vzLrpG߮;gҀXm<=z91C`9xOp}^G y'q+6?Q=T~Iҝ݂Es  rcOZKu_Q`z>p{4QmI x :s_.ig#lֻПwQW\#ltJ?6ĆzW^K* Jҕ2䜾0/;8x?3m>G"6 $zdz2$$=IBKh%bFT۰w|zt_i`מBJYKRxǎpG*g4W]pC֤^2x#<}ǷZ,V$rNc>LOHƒsNAk, .9\^{r~MCB)& |ӧ_z˷p=x#'yasZQ9;qGxN'X vcxZa qN2rl3gpy9 H.Qe=TN8ʕpQc-`ldt$+\[02#HΧ.wʪT>avHǧ8Pg'p('\g5c;~\HfG<}>X>fWop:Aq-ݻwU2":G=?jۊ3&9a8sc#T;x7.SOj͂J20;q\Rc{ا+*I9,7'ccn';YXɤ U20y?'֐vN svGSU|\)aRc$g$R[$61s@W9lp '#母$n]㍤Ϯ?q&_ðvdqnƒ׷).ђqCܘgrU[rldn8'lk6Heڲx\n4ƌc.fd \ޥP@,=$)nr[;}h]Dmʬ7 :N7~kuEr~T.sc}E/03c^zjg~x Akao zaBg'n*_͒M.BoRl6!<G=sSVw){s"n'fw:7?ڟ! 0$|Fn?h.T/LTgh9 `~5jl O=d$~` lʹnj{18 G_zEn{Nη4=S=ۀ` k ;GCy:޼>gz<`Hgi93J?;p:tZ_=ރyF9=OrO|SHCw:zzcH_JA!3H_~N>‹ %F s^|'`\g?@?`r~cG@{{{Ӱ\yx$x"^x!m FGR['GN( zto>=pOn֋ æFg3ʓpq2sȡ-X)#7l{=^v2s"B#rF}@.xs5h,-QNGs⼧UѼ|Ǖ= 8YۅT K3u_3Wh3  v>: "ɽI8\Oq_]>T蕏Rmr\)Xgp<1ӚURgBHPب-ߞBXfEFU;=8֐nxiV@Tg[8a^^A3O!AR2 2?1:r9KQ:dm'\ Tv:P/XI QO'|| C N';OM+~|'q=kہwmaʔPP0z5=X{=Q^K0R5 pz󷿵PU2OJ`(s~!A#:j$BHAJ-]l`{pTc#t=Ap &wpA<84Tmn(^pln;w ub8ڞJϟ޻-RCMffO; 1ʱt'J͐/o'ЁM*Ҽ~F)/;%dqy\l\H C$u,9mypZƚSєÁ/ hʏ`})EEO}9pwvcnݥ< 1׷J Ɣa<xW02@GNO^kcX._ (q ҩUI+19QnGL? j$.Gs& #h88UvB 1$`YCӎkySM}!N7chPrۻgzs\+6󼀙;Аs6 QGXlE9^#gyJ q8 ##Ιl] 6 0#8I8:UvG9@ϯNOJQ2ct8]T;(=Tdty>P:{`J2e^p8G<,Xp?L8 v`q,U:#c)$o$$k'Ps gc<;œwřS q+o#$/rQwvUrz۷gBc,_ [CH+俺k8a[^OUL|cMy%U#I`~Vf3غaǾ9(:9ttcD 烃”zt OZ#6;;c4{zzP!O^{PG|{ӚOb>ssyƶQrFd5κ<'S @=<HӷJR[n/øC݋>v9s%(t7|8󑝃eI܏^G [OV'$g};WUۨx8.O]ۃ@?.9Jadaո#ӡݛ9}R~l>\7^$);ۖq5קsѣW.~Cp b=8ȬVp 8}:ڞ<К(np9;rx8' pH`ݽ^]#jUm%8ǩ^kx` w0X-קyH Dl}0Ìg'=iKnrt*x =@2F3B҃o Lg1˜8P+[sLhJl981ӠڵU$m184Rel08O? x#?NBǘvS#pl`q7sYk 8g=*69a%cRx*2OL~*%V6N3Ǧ15U>J64V*4>OnVhd͎t&U ӟLT=O@?*nAdGlQ'nZ#bW􈍾8 {fks鷦rqrF 9OQ@G_҅+?r'J`#S>mʄ9B:6'~zOCߚa/ qvjQ>3:sEU.TY=};Y:d.f-ş%ʟc^UkMIhl_jWoS lrD\1#rPqT3ZLUT7;F+i9'cj-[m<@wHh!}Ui ʇa OS"~k;|J3$smt<^]"gBcxZTt&)!sVr_sKiR ]Ix G?s V#|7P 45_xr5SNhVm72 O xXCqpqܴ!V0n d1CW I}W][T󨸼`;$iBgtl䑅AuVi`Rlڡw\(<,Crk8l[&"P B߼U @DEˢML.,mhkG^,>#"h#U(y.dg5.շIiCnt(԰|$woo"̑aIe@Uqq^Si׼ vڟK|RI0oqRJ^]OPXt%c{t")aYq^º?-<=_U0 t6+8Hu}kno2_ ݎ*W< UtHLmmnF(ܜ eOw5o[ƋƤ?-MrOBkHU]Wa<>;$q$nE '$qbp9[SIU#YYB"A1] vww}H2=7U\G,+Rfq0Z-tĘʲ2n.+`qIMŽowB}wj,u)VV2!f9XJ6sU"7 iNU}k @99SKWv{RyTl2VRԢw2 8c/pi.ooYbk!B@󓓁hmݶ\+$؉b~nQY|#:c޴ә\3|Tx*_ZU';Ya7^\Y7]ф8 -֦Z3F<\, ($=+MXxc$dǑ5iDfeHJ# Djc/'$ SI_S<9;Kw_ow|QzWzv4whlSGS8u)5wq M{IGw9wT 1{2TفyJ)%mN8:d~X \NO8*,juCONN1pzOh'nČt1;X嚺>!>@' 9^zWmtQq ڦL^ga y'^,9A'2?J{OD38+*G־tI;K`Î#Ys%dS*UFQKJ A8qG8D2gs)=1֢2PzpLs49G :rόQ38=y959\<ͧ׌cI㎜{8iA):De@A߮>&+lT:fr(ޏ49NrF=>ߚݳFa\'$crc L|vc;~fl}ӆ  9c8쮒6h9}ߡaO{xʂUz o {ֱ29t7;0 rÍW?=ٶHUpFa9 +J}N\\1p` *ԎP'`\OJ{YKnʲv:c84@8-p'<Uj.%]O@#nj5,eM%ܶR}GzcRDF ̃SǦO-Q#1ڛ4 0Xn =\uJm$}D^$XbXRZÐFT88S^1k{Sӭ1aw|ꋽFqMy׼wtNGbѴ] :_(CU=wzO2.#1ɘeFaO8^FM<>~kCXCøOkV"ɵsNrlߚz/+VnF;IlzO *9럨W vj- S#o NТ@xל% Hpp\泉C pA^S{G;.rA3={Ёo2lqEEqlf{K6Bs$x9b2aKm 6!N9<d?^} B':PDE`NҬbx=6Tel% pHS$r݆Ænj?NAa؃=1-YLHzv~}MS ໰/]vښ(2N[ ~zja%V(q=1L-H*YA9NqIXyVK\ݖ1yoeLM+nac88&Yx(˩ALTHhafUIQ8 'PU`s2Iyļ|i8`F>(BdlNxc:3"@gPw ֓4z3%% Ns94{ѥ8ܷ8'*#fO 9}r` Jh`[!p<˜`W5M>$ztռqQĤBU 6F;+&azG`瞸IJ6m_̢ vߜI35Ԏa~y>UX8=\}3*]Ԁx[U<0#GoY(OB3Y2P$ `vXch0n yӧ8=g>s}+cp31rr3sY&X($~>yJ#'xӷ#<1}\1~2x#2#j?l =O\\{|ˊ!-ޙ8Ǒ,jRpҹ=>c@ 'x=<^=Ox=G!翱{ ?{@8?)9AǧjBesӽ4w*$t8ï=x8?nh^sqHczxw眐Tu^d#?'ax iNOH}HirЇ$@9p$sxw9"Cv-׷LO|P[yPq=I=i,(ژg 68 rz{'sԷn*I`rOLk-I".TWWc nf#'Sskeܒ,@$1+ئcr}13  yS]r̀6󲏽skrv<aܪ3žO^ǧaª K6j%J aN9#ޛ*n*3Js3S`-ؕ$B*uF<]1\3Md`p@m ݸB$ón#y9j#ʸ#`¯_9:݌6FIFp=8@Zfo3kBErO5v(KdM͖V Bճ#IC}щ~YO{G@92}wsy}S+gհ;y' ܂Ӟ_ߕg8bri'_tcc ֝xc'=ɪ4+|A <ϥ]2cN_Z#'h9Zk_밬0P,F2}i<B3!A( :wG~ 3ܜg 0j窑v:zt}rH bh@񻞟7{Q4c@u jS9wK>\d2 Kgy)Ai20`6g|#j%oɯO,'yR;1?]+8edwF_u(~ i$c= UH0er 0Ϧ)._dC`OBSa@n9c'O֛'+XV۟Jw r: s)w(cJ#=q9]cLV1xNX7=i3mtr,h7 A1r)s{rI N ><Ԛ0ێ6(#ir޽;Մʂ2YUG{ §ȴtN4dL\ƫ(<8]%n!Iw6 snGu63c H6ᐤqڻ!*TS<}{יucgG0]_!*;^3u9pprp AϦqӥm B;v݁gz3pqlFݹyX S7( Ё]K`uS3YxYYG5A^KƳ%wu 9k :5hyXW^]s $`qtXNO  J:kԄtEvb=f?3P(ڎ`~d;GԞN(hHD`)€pZV'f0 ۂ4Y90J}zč.NmP}rr2{_ f8b5g<89t4] }Cg!8&&rTsTC`K6V NO'A`qWEU Qۖn ~] a.Kbvn#;1P*wuNNp=68>2T$H`vA ds^` FFՆݠcGTL`psyǥH\scI#%i 8 P>cFja ІFA!=v%n>?;W=$;X=VWn15W)(2CoI v/ sߏC4o[̲tb rn2}tbp1אǿA`w{ۂH-#x:Q;`"^GG m1WI=2:keyz 2qߩ8ӥ4 ghG9SD& A'8N20 {c=f}O.:rGK{)g݌8!l?3Oc{يF@L]46AcygKnt$n1})<~wK`t'ӽ.#qQ֓@8xq3>z=;kMF8z=;?N+&)lgK9.8ϩCtsV|/Q g ƎBIoƸ>T}s֮U9~'MIφGƗy#,`=N=F>+ ӓxvpQ9°ö8H#9<d,F#y` 5#X?F䃸+8d8MihՖ# 8')NO{qS` g98Fqޡ?~RDnm(98֝, g;/fḐpPcU}5{峌-!T`*y =1ڗȞ`vuBs V+\԰$C}ߞ˷(8ʐAZo DaY竝ۻr$۝!d󊫦CzHGcT>zINh2aM|Tgi+aNB}>`KsϽOf@dH9폻뚟 ,H ˓ׁc 9:Vd gOj8e. G`{ Ny<֎iC edm~u'Sv;ViqJq91x#(8d:۷5nrImó񑌃_ƪ: κG´F&9S3.2? Uo=`GFrOSz_TyTqP@9onpps=CM1Xry'o;H>ا. 1@'8'<"z^OI9Q-7ni6 p'>uiQ}@V`Ogn i$*9Ӛ̍Vl/l+ִvEl2 #܌t D,,2u,q=1^ɢ^$|:6zxX?FzI8?Gk rrqt7>&idݏz5eG~㹔ˉs1׫tdLNYI#sMb;pp=x2$dcFg?zuG#/8@`??ZփdԋZG܅<݄I#$s^qssyʂW#־(ʔZEe7 9 cX9cϸ1PQWI5d'1ӧotFݻnB1ݾ%YEV?8'ӊ: ovq]8u ]`\sy#$c%^3.OqӭqՍFEA!prNr3:$ 3ׁk m':Rqirll*zxF:r;v[r@zdǑ^m^Od@%r#辠2zira }krIεֆ|E nà=y3Wm/Yr3*q>JkCJpiǢi.i*prNFsGr3p lGv;(cXߞ>b1mv e'Mm }O6B㧷P1d9j nBҜddzu5UH$e}Is5Q{沑HIǧ8qҐ05%{Zsd 9 y#cG\7W)Opr}y*mW#0/8gӌf0OL^>)23 ^OJu>n!=z:Q~O#zs_1Fya$rE43:jZwgqwzsV2>et uk?JFzR,@#;9~<1eC Gu@ qVMP MqKgM8eBlG*cڼGWK=9ZQ0UN@`9^1j4ݮ3UW4l}WFyVe̟D)#&qwW5k.]ih FD -QKJqT4[ºEjEԉ~cku $$kqms vp9*Tr:] m9B0@%VU!v;wft gЌ d̅swQ4J6 P7`W&a>Iblr!lyItЯexn#2ۏ0c?18a)Fvmu%3ӼG-.kH1yl$|vyr^#FYk-l^?4g;>gk馻}Ƒ_շ>/tJ#j:[_+5@'vA!_]=Cn$ڃ9(OUoUK~Ȧ*~9oͿ8_ N21һru &A;~cϾ9Pa|ivj KWrmtt%?H[Տb*=ONbF6dH8<>*W]-fc~K-Ea,Rm@ 7ppAYaņ5wB r2aHP栟~Í9MW}^Ѽ OWUxc-ѱW" "%XJ^i$ڽ84sr[}C!dJ/#n8ϭ[27C8ˌp1^ m׫>3.W8:2H'G֝#s}w澥b0VqY 냂 J-N:1t IO8'ϥcؔC%c0xxbtzVz#e#`ξеȊNr1 ;z]捼#yd6 xl"T+}yga=w]cu?r{9:^#J(߯鄯MS:~UϞ))Og9;cT8;s׍ǯONkӼke($X[*Tz$qʶm耘 =EqNUu:dOT3c#==k#xQ^uH=QԪ+nzV,4|da I~u@2W^~c$VѝXWykYAI#$p1U䓞zo9|v鸏/9'9_nr99A܊"\G1@ 9bӰ@=xGB#.~;\}Ӟ׊\A;ltҔ9?(?OV#gn<׊qyzҦR)DoL{c|N:ـ1Ӛ2'F=8sqtIcN`r}zRo?^Nqyn5U.E(3^_Nsҗ8H c?/'vxQ;ǦqE.}JQ!2B035;=Ԝc K?LrɨS9?COCw:TlAudr'yu$Z숌c7gғ3Hs׶kfD%:܎j//<9eKRc>ϊoIT4˸݃Os뜓ǥVe 'Ic `g(* cOOV57x?u\A3O=Ub8pkD&=:{Rd[]SG;ש[c&s Nvfn~I'*Ey9翨ڢG9=.qpz`G9qzP;{ F9l}ywք qNj81OFuO#gA뻩'k@h vֽ +cq=M8H#1>' n|=MwDdOQ: TuuuaAc98)'c9;G<TFڬNz}kϮlWzOuэGUTA0s-MsŁ+ $t zV8S,Iy g%Onu8l˖9R_C^w0e=1GT *>V89<}+1G'`NyA3zq'tc(zgTu$s  ۴g s'5qfr[`:9$s\ZX3ZGSRv5+"ĺ#\@ cg[ 0NـO}zi|[[_{0`ܖch__Oj#ۀ0G%1>c )CS-Cy`yoOy0$D 8(Fvt'5B25?CԵh)iI Me:QuNR쉧.y}Qs[Hy7X#]h<)vy5^ c~!xMѭrD:q8ƈ/lG[z5e+.7[]QaXmJ8$p#C_&7fwvj[>f5~acS*7eltv7S8! `tD* H:gdt<p aAq99Yd\E Nj;qH 0s\R%nǒpp81}Mg˹?OL8瑷֭~DlJ ub~Sx'2eUQ[l+N܎EIK4]w%HT?2oc#[k|Q 22ģ*9$L.6Trszw9;v$h?FMIL7E=͌u?t柒@rOZKsp2YY~l}=yҡcq P>A?ܦ*{jr2Tv~3T\ %zUs>5آy9vFU K|K9vs֨ ,`+1\T1$eoP3pqNIs, Ȍj$t0Xp0pr8}k6;%c8*B:񞀮#(rgws}]AHP@ݟPYG|1ryd9ۆ ܛn<:Cu:䷌ 5Ɲ4aWD 沛Gtef&{u&pہ$Ӵ?TV 0s-2>ՐMt-HFB't<+ۏ]Ju9!l ʹh9 6T0OjQfeRZqkʖPsXL6~_)x ByL#gؒ4qCj. Gg+ B4X)U*JW6--9#p-co#ƌ8Ś77!Td&@u^f2ZФpC1uH2LZсՐneB䒽"&\',x'b>SSsYwlhPrp7F61>6pjwWKK)נ$t#03ޞpxb=?©O0@$}1{}xzR\3קr} ߟ8Alu 21# w8`!uԠ~#?ȥ: s搄qG$q큆ch  ׷4csbrzsR,{F?=c@WQɸ^iyirK@&OIIŜ|ݪFJ IkY?)=> $\ߙҍHrܟg$6s䃐:~3R˸̓ݒ>LTrpxK}V U`0 W\69ֲ8!(KG%tb=8AϮ7v8 \w)nxseژ'q8*i;C\?7 uIU~ Qʭ,"Adgֳ%¡\/f0Pznb\`(0?Ǩ[hy` ?vόWβKRиu  rUpbR݇R{4`XY(d*9WQe4P1ۚ PT9BrV|- eW%@S6r=Z+6ynەQ"Ыg'HFd1#h/qTe:r, N$Fb6 F12Fx[Tx,)@9r=24$6`$W!dn֞m$) $Hr0I_U vebąJ{+6 HǞzJ~%_Ak;{OOP_8`1dBa h WD!q8swm:kG=AF# Ngkc3B @=J;OBMv6/2\duR(m/P6gO*VH27ݹd.x8<ZKfj+n{;qbҫpOuewS3b3lyj\OiJ1J瑎}_5dye *9ʂ8a^jc)+`Kt8 ?'5GJFu Y2 ~~P ۵n-fue9G۽Sœ}Vb(I:M.(F u[BM$D5WnQ2JJ%{foPFc܀qm?8YU/9dn2I?+#Fap{E)Q^HHǝ( m,x'v470V,͖X Ӡ_j[|HeʫrbCms 6rY RuQrzMkݐIGZ~8H!H~rzdzQ=5w6㍣?(^-i'%pdk\n\{:a.@(<p:d;BI;fkg槑\}|MAPnڤcl\W $߾Gz{U?KcONǵL <8ڿ&ݟvrpz\wcz`pr S};` rs pA==?&ӑDy8iO'q;.@6s\ẁ?L_P5?ӿNbRs bܷCIڄXʞ@\:?; q?ƨv%W!=tu>֚ws7IT,m(\}A1[՗WrsJ@c>g=>'l I9>RVlǘz/\9P tYqFcX10EI>ug r8l)߂fmy>*<IRWSbR9qHR ~j"F'pu*U8sܑ-24 Z0Uy[mP F=Fws'(z3GB[f9~\qI48sңcD3?:ھs9Tv͝i~R>PLh4Ss RUK6 e`~BgxֱpA$Wh}ęO ciny=?=F1}õjo)Cp;c#J}qڤ0N@ w@AW~\I3Xm+ At\n\B>`cɋW;pҴשw p =k@>@mo^+gMA.03gߏrI1V O~:nI$g1QC>2=3M Tvy䌖ҝx};cj@@IU`yӑ84FG#ڎPl';O׭ "LvrygH g;#`AO-:oҟ(\2=J;^}R/Nsry}1Ӄ=PIp8?x9~{J% ߎw9Q<{*8OzҶXƤ2©&2(%8?x9=S-"’;=s{qRXd瓃r AJ |S2q&L1 ۈcGL'汍ՎNF#,3'qRqTgNѼ̀yNxw+#/SVHb;O8\|'U7'f{TqIhl'px*;GWW@^3gלtLVj. 0 v'#0 W$:(gֶWfw(m._s#tb~(n<ʪFy`wa g񯪥]?&RX븖*#6 hIA08];^Ԕ g! fVv8UAi"*G,(UW8=Z46oCSЃV,s=Ur7zu#j!B. 8q9A@-=ƶQ9fKX܀ʂş$drYI4jDq`mw1k(|:GsͼFF|K$wt.aL/NYycҼ\b{0-o1˳rsSM)@ hwgZ:u3d$napɐ[-8HɈ9n;qמ8'?G1ѕe' rGC=Ѧ p9%FNˌ(sPdcy-%NG4,,6q؞數 K*:!$˂3gڪ ̌2vL%WTwH>c" Uq N~T`:1 zzbA"CA*!>WQW1D^>PO5hrz33n ݓ{vW O$eP` OPh}=LbyĄK+Usb=?s*SRn灁ڟB[=1W{qRxSA 9(3"zŅ1#/BT;*ͲM"< @@%pxv慸*0Đ1#3[dl1v껛o$Z<6ݕ[j497ǖYI︕]Gx$T<ʇďLsgL:蠞xNz3cq Iz3ҡ>dv@A(Mk#zg'իMvGA)HQx$ZO?OL^ȴ}3;}H銕HO^l]+Mvr{$t(9yLU&ga1߂p0x束A?˚w&\9Hox6z t<}*p8&ԎOGךvI߮@c=y'g9?+ inls8OoYh\H$SI7Nt< Ѻc?zQ9<=}Mzdc\fF1j!L\~T➼s{:fde2AAMك\qBi44=#Q8=3YRcvsF`y$x1}NsjTGr/n<~9Q' cJ+gz`c}) }xMlb>[ =vc\v||Oz_+=9O`q>b3{z@;RuU`s\T L8qR| 2zt:U$FEҶZ+ +K |Hw{0N;Cោgh5;i1}6ԥNI*z?Q5|QRW#~_Nz^%YEy½~1#I\ijX`TKOQ 롙J6Lʦ[?%q-s1|şhku҂~qm`93ڽ\~532NnKHnPSjfUB[s8NUX wPvv:שD']s˖?9r?t,VڤOA\G5ORQa,'pVhQ k䘂ޥYq#` QK;-.߉^Ւaq},w#3:FpIsӦx'89#mTd{bS~mepF7 66O@㚇a9ٹBv$#K1 z=yS'UK(%N<M>+"`ő0 ⡸4oaD;VOB1Ն#.r ij BfM˴ t=Gygr?9\)nI!o<|rOM'ʗ- m#+j>x܂)Fv3di?(^f'3W"5;ZN8#"5TY&l 7=#>QEXN[,֦rKVi'I\=gc'tcAs^eUg0#}vGޏ[ h"܆?;֪{@? tӡWI.灉M;qdO#7s$:+K\lPs# H'Apha*Y> cR''+$=G]L  Mrdd Oc{费ݾR'C𠨬 D<ϩ[Ӗ8Pٞ\GrAu9svI3ȯZG~&It#dsW*Qh# %G #!fHmlgӟo˭ ao/ FOo}=낺NL,4KU$J0E)';N{85k9X 6w~5P턙``CeǞ+fv@.rT)3w:=( NyϿz7qF$uϵxXh0Z>fML8=WU~=M ÎX19ZMG1NW>'^qH#?|zL܆'=9Evw襏#}GS xcX1YR (h2Aqn/B1.03rIZ<ß# g޳@ܕړE(l|ByL#'߇L>' N=? [O3'>wC =AR|a#h.8S=?KŨ 뻎98dWJgc=}\jfP=S1,z<^Ht#ELσgg8(n#n<>R}Ҩm ~cqc<{R4=GPE@ɐ{r>^yC4Lk"898:Q3=%""ң*9q&k~#޳8p/N?"֩8Ǧ:=Ozx׌`zÏ=G]Yؽ:c!WNFߗ9~`zx軔 L u# KbUW 2_^yZ|_ޮ]5y=Uw92G#L'"gOer9 緡hV>#LuZ,fQ"W0wb2"e9( Wd]ŘS0)D?vF7>v9隉es#tMDl@'^xsy,hpIn83MRҰa$ 9GXU$y8U$^Q$Hd(BS/gc;ւ8mQqr>8@ cw u#{tHp7rX'1׏ʩ= q\t)N Gg#jhҬJZ$eI# d2qAnUH-žQO@BzwkhdE9+9?De_rG88k72^~ 9xpOQNfZIsAO|er~Qzt8Z31'#d ?1<2קZ3r q+1"{}qs\Y I1ǩQ'O|g5v/ِv28>;x\rIBxY-$ '?.}饗 w>=55?S6A$rvS>'0DZ+s)Y99@;wϿni1#nz r;zTdtۃccO<1Q9U_A o=BQ}zp0{vOa7}}RAþ$GPCsNϽ9X=~lCVO  qdO*}@T i=g^_-|@'@N1r6[}/Ե-C!WO&K ;ۧ׳dy8ڳ6ip22qy_+#ʫ= ߞEzcokϙslapu`ܒ U7)~6wdy\ڕg'on|v2 nEw:7=GjVSy]͠UB~Amx֝V=2YD@p*Gv樅#\鑄p ;t D[x *\\vMt-N^qqmwW”o>a'}jr8ؤ1;OW>:v-t']$Y0`=MfN[$XNU7cV=H!"_̇1֮3ev͒ u@:bB6A˧j|N(\]S~dO ~Rhy c,:0^t ٕQ H9f[֭sck7GO}fFuSE RP 1niGBK0בړDTo{snh;塢%kAeQq(*ࢧяr8ۻXF #*cO8籥wo??F{w /@v4g*x^GlCWh[c,2O0e(ɫ~]x,1HBc'ב^hfĔXǏqՋQs4← &'}t2cWل.bo^`8-ؐ=k ūIMk#t(]XL/7׫X_Q7 b1׋j>w>-)$0Ik6q$:׵|gc)˙#soCNH9ƾDa';:t]<8'$}i[Ԓ]#=S |۹M`x s}o;qYN:?a^8nE0FCN~X QFX38msz|}tlrk4|xDw{\nz Pn$`]$Wt73?S'7kPhY ЬN#o՗%P_x*_vhMcI]ޡ3nSr3 Bʡcףl ص4׋tX۱9QI rmFp1ۀjaLkKp* ,*5ЩtOݜCn3ry#43ZA #Eey#9lᜨyM va+x:b9L"{s9 !WtjZ:G2v Pdvr ךCf~V\W<{U׹.Y%MJx,'s)nFu+vݹ,=@椷Dg&<*d\\|N՚ BH`9y7GHTS#NF2 NғĮ~s= Ҟ=IO_oƿ! O=1q'{C~QX #$:H~{+c9'ԟA˸!?yz{PrI^6U1z~qG?}[r9t$pA }jp8o^\([ ÷nN}rr:9?JN~`E8mA$]=_p5a7z`} ߩ zt<ӗKwnFR^vjkO%uRlA$IŸ`r1֫Iaʈʞ`ӎ=i1.\n9S1ܯ<X/`q}R2@-F? :WbG!Op2OOZ6|`2b1|c]5K r\9z~C=&)nnyg]x9!A³098W;f~ oҸ'P˳lpV4mGu'Ҵ3 6O1o%q֔$ &WʠN7gsVLCʠnP01pϞmnBwgvH=U!嗟$ɸ9Q#zzcqy!s_¥s mPGl xcrrCr䓓#/2A}wt$p@v8X`?79Au@yA ܜ (I )'M&$^C<!-K0< Wnz6J~3@AX0OmsdH,btSK0]_-&E><Ќ2A0M]O\8{۝giׁ0ϭs$i إ,Tۂ}pGrxW[J;+:d=?Jά9.^i҆(۸Ps잹\+kmO8Г#7=3܎>N=2'zuƩ!11:; hA׭+PM= =C$v$y\ca}{nh1sGplH8?;sqN ?^J,<2:qROO=6 $wqsJ,;y<}zu8{zq}sO{u`qfhp=rzҜ<{N1ךLcsS_\ Y'N@sqKtGlҡJ;Gc'}Fjaס{m>O\e$G89'<jgr}=+;לp9Q1o`:hkB!{ 98Q߿?*%A}:Z̤ WВ5j 5su9;s\&:#QwL)ۜ_=*"p1X3z0M{MNm;=1V$ AỌ<Ƭ*,3 ¯u:tGab!SӪdsӚ1јRV_ X$86)K)؄fAw%p;w  d8nyqSB.&ݴG* $}*.eGQ0 d>N>a=w Pnx$ 3hG\aBr{V1Y`8A|#rHPKW=:1qJD2J_>c 1e(r'gn!l@#9c5xen|moK <\f%r11.ѷN?_VJ#$T8‰r]Uqd[܈qp`gWV䓺6W+cyAcc2nq._mb& >T}{T<9z \8X gϽUɰAwu3G0V?Kaޥ3H#;Uve;gqP7{QClb3p9`w{;.Ad}O@%=7XFN# 1v#9PWA/OLbh+\d}$/)z'.ۃmFp_dݟ9#wzp;qҢ7˂89M%Vd,H3ۃҚ5lx0 ӽ.wwjI<w\U?(=9*= O?"%e<4sʗR7c9$ЁzmT~e$=;\i][ AG*1/A#׶Y|p Շu"KUXiOgBs:tKӴ\8*s:׉Y&֧is##'5D>Q[W⣱x;SӠt5&O~*:nsׯN:3<~ !qOoNPO^F>٩1ǩ0{R 8?S(RbO#O?1R#󞧠t} n? 8>4RcDxQ<< +Bq'whRcw=_zTi#RJ&O3439w<-GnFnݩquǮU\ >Z>FxoZ@hngڲgMd(9I$\[AЯ鶩ѿve8۽?C%x:~hn-%dP7`.IMs;tv TӭuBx_;_H)'S& [M V!*3_;k6:gi4"^BAtBc7DY"$fWR s^VrPuZTeJj&b6N$[4 yV0[D= +@T.͡kF9@Pwz ׯeba}ŵ(7a^3gsiw2yjhDG'`A s~i;Ĺ.] Klc9gL]Y wߘz浵LVKwA ɜG9N$ b}^HW.cN&Y9`g!w{x@FʈUc(;W miֻxuJAg敚8iXaՕ5j>x4]Y85!L@00#gDܕݽ ~_V?2d!5$JC vq:-yvKW$l0NuU6jϭD3oC[͛$(TػQ9mӦ1_Eiqk5դ$[X7KxBF!!I{VU]6:[GiY@.%|zW\Mq˨jfV$ }OFT+:?#ܴ'7k3ͽ#/z8Ymq5.Oo@~shv! ךլQE戧){d$[ES dl]s"> cjBavڗ/i^*!n9^ ֥K?90h+cYdd?>NIR(;9>Wx;ŏvNIv g%})CS@oLiI$0۷o ދ˯sdI̻%q%u+d1 o#1X 9-ÎMgmA#l[^qZw<c\XsNw0-qUwƷjPF9s[Vc BP898)kB %{۷~MɋomԕыKdIgOG557hq@!scp1߽r]Xl#8'?N.q>S*gE/y>ҁ#'' stsz|uYD.,MI$ 8*@;zӭ|}I/g*x'Ҭ-#qt)钭~SH/8랧n?ɪ' f{RyO@8>)S#iFq~0Vej90rr;:qN{:R+A<\z}?3HFyx'Hǧn*n5|޼q֓~~1I z:c#8$wR!nvʐ=@cӌgKaG 0S7<ɤjyz iqsJ AǮ3M2/@Fy=*W/NL}?^iU$AH]ߟcAQR2 SߜtF!C-xsP fֆ{g!URsyǯoF3}zlb3(FG\WUk)1r1=98ٳiBŇL=G`+p /R^l9V @'1D )NKxbʣЩqzg:r%6pXݓBzj$^=o?v7yMlep<`zk`)2ēRzs?z⬬̤3ea\ \Cr~SLu&c Iv0 3ԟRkzUQM`@7#l NEy Z-;E,6VXKxT^U gbJ|A('q! dnyNNڟw^I⽊{v5,?tKG.NG8>ϥF"VI}Evݸ#h=@ӧvO38\Ks&Rw0bHN9 ZFX1%T2!TziXIfA 1Gt$e-ʧ#ҹ:P3q,$xۖ= t0 T`=~BH׵4.܅!!UHF~e~0Fy!*1' `Jopd F[i#d}Иg* ɖ$t@1nO,0119gc'⠒&61wߒgɍ~_p1 8Еc#sZEo+9N9ܠBl9Me/XoˏҺh?6xP_`:w': ,G=t8:p:liͺ_!/FTօӑaf-c S39,wqS#XdGe*(<6zѹo| <+7;~7mfh0 >,8i-(V=+@p8%w O4d\q,0%5-@\'#*JZF&\zpc+O|Q^:%3xDƑwO>5Qٜ~=sѻ*f}:rGpGjcu\qRd`:gQj9b@99#Cg\,FWpO#vyQ0\ؑj0qj6\rOL?VdLtdϿl#]sspcg#$!fO+'ҩlq_oCzRmRdd`랾qg{wSOHOJ _#>㌌PL2 |@?Lq={x;hAS#yi{߶ޘ=ǥ49cQK&nI<psёIg(J-KQ.@~RCrT}0ONkLjdש^]oOM,p:eW%;@8%WJaM$xUݽ{.vdy x>Xebђyڣ`:8zꦵ8*KCq"gPxoPOc܀qǭtXoR~ SIO]k8'9d$\N٭ 1 @+ڎ0P syZEks)r (~<+JX7p@'֭+7uY@JydܐX_*#i|vZvqjb)]w$.@q#\9أEM"MD6EWs>rqh0fm`1{Wm1e OvG|-":ggz2Oo*LF}Q^Fo4UP. $`3FUB ۏkqR>C2wݣHuka NޥC|A p}*sQԏFų~q{Ǡ` -yQ4Ef߯JS 鑒8=?ƹ-k;qc:֝뵺 &?HdgO\rzkO$H$QO\9Ff5Qh4<9+E ø 2 .JiW }OL+!|H=2m"80!\&NpWNzqSWI!{r(O\gA&7 |9_)0qG T⎺u0 .@qԜA_@\g'9qM#hb3pHbF#0;ќv9G~<(O6;'zbB =H##UlVc'zt={ Q=d?RL9Fyd O9 _=zJ^q =Fy?J }ノc$sv;U1M/crH9=3Z;rӀ@5yBpҝE“V$MIx,GC` v۝*ww4^2zu?硦z; i#;$'V뚶 S׶ܜ1۽1@'׏N@;g?ԧ;X /^έ +pT6r~UxiDv6$c'Rw`(-A,H=1`ԃ}Ecu1Iӽ3y8 G4o998y4BpqgTVv8-<輐W/͝uhlx;gߌWkN|PCc]#9?*2_g(R؃8PcrOCr[1wdtH' \)T) /,A'9 vz)  1G +N!]o,ʞ=yC ׍͐7r>_R~dg@-׾ZÃFBKp{w?`[ öI^y@<ȠNUbH`qÞ[.S$ AWomHާh۶R8g!#n6K\v.8*UI8D-)udi985~E܇8V#1?Zthr0 "۹\|1ϯ=덑*l`qD޴OB$FɃ"D\R_ ^?Z؈0`:唌TBz U嘜+*t>8lp9pqׯS]gz7uJ|ʤ;;t$ް5=N~ԷK<NJOPUrU1?\ri.F'KrN~wx@pX,),vc w1שP vdFyz4=AԦm;FXw^:}y6ુ ' ucpz񁜂 yS逧v9o֒xn9$2'̀->n1ڵm CW߭Ydr66p.#sר\A=J3lO#-c5 cmXzF0h["^ű}}~r9A!@x=m(۲60^yc@IE@f "_l~G7a0MmGKo&o9 .yYx碃AEGO*s+9Pz鎹⻭- A*FN?03(j#X;K{r$UVm})`c9CR%8)93oy{ x=z=A#q&(97HopQ{}:?1?jOlA?j7o^'_)8R=}xn:sSi_N{zzj@2>}~u,4K,AOer+qwN= e Fq8|ë3#A'9n7uk}nxulv$r[3Bgkm%v:py{W3z7BpWH;7qm8I(fHG$5_r0L#'D2:#dk\ v/#֡r]-wyb8$1.۴pO$ǹBs*Ì鎼#$x;I"*:7>\)9;P N}8w%Z)YGΆ2FU*8=w #1ҋzIX3Ё Wkc@vd <5c :]vF6z{z4Cbr0Xuhz嵲_G<0ܠ򾼏~7Зc< q@q?-eby_$ @]|Yi|.͝mܯӱsWў'J3~G̷%CܞH(p[qPc=*(1<1_ l|eOGrF;XGoaSS7 N>S)a ԷxIp]ۯ%lFpdl0{Lz oC1#8#P ӐHmA#i$ }=d(oPF 18+ҥCί,/s)-۹U qc㜃[Gst3(۷X ?Ó>`,XI@.WOKj2D[wͷ!3.Xu8u^g0N6ɐ瞹cb_=#4,E=A,0NӟE}s~K}ۅ=;=jr!nwǭS+|w`e1e cw[m-q8*v>5q}c\uST^RxeP\SgcЬr0AP̪o :"3ce~sJ&H6-; g(MŽH*%x?w'Ua Sq,:1 N~e#=kdn,z31== =}u%I!,0A5kfO˜+/mguϽ` I=DVƕ3ʭ4Yda&k^<4ӂ6# 1O(7M݅q*EcJVz`}qB>ʮ2ynqu#[YXA2u^˦3/eT[ f<=q5(dx^@7 }yfnb2QvFX+8Ub,CCy_Hx.s!Fyb8^d ;Wfq^a??*H~s_zM0|cqՏӧ\CZ0v>tVB44;x;Pgӧ^ m؛ Hpsv 6~9هo\:ǷDʊC}`[5Ή>s҅G >7G.3-A⼢@ &Y7B =lgҾv %8fFʗ,H,,co|ݺuI`<3A`#9# c,9׶iY{c82CA 2矑GjʹB`Trx9;sM%V釰X]GĤ9_nwB.`G*I9݌l! 员|.B_l z` 9/dr1˟#9{܅Hnl[n2߸>QvvwFGKNK댒oPzg#ެhqܺ=Cd0gxU#|H\LnW[U%bJp*$ kof<q7!eomS]9@cԃI u;C63}1M Y;NUI#`})P$2my4\9 rۙZG|TzqRGq7` =(I\aʆOUrw?# rJv۷xۉq8;F0 ϧ4ܹ{+ͭ]PQZgh8wvx\A]$ }q^=i]MY4q(=Uv :bzv1ұ.sǯ?;>28:7=A)ӡӯ!~t8~ӓcGzz?F~F9⡔#䞼`Lc3N? Qn}{Tt?$+]M8;ե?[-'1F{vnb{] lzzOjB=qJ,+ǿOL:MO7I-Gq_rzdu ߃JQ?ZŀH~vsV'ń/"/|)  VoCE8bs$9N}ݕGx`68 һZ_ -Ыr<҉ "qQev8f ~``qߎ-6$1QH1N@ O_WIyo9-${)XmIIo1H' |tIA~Eh 9Z2FPcY7evqPO9b. B1p3ؚzbt6{{}kso[`sIޖ^UY(bF܎pqӵT6UI(woSx>Mz{O:JǜHG#ltGY6@07ʊd%I"LQpǚŒh3\vҞb&cv '?*o}6:KdE<T*Jq+)\\6Ֆ+<,`/C'3Q]$*@5V\#8T]|]8yjc*q54 O9eXd  3Wky1K٢$4 +Fm;Nv5UT)W,ȊO\q)($~N|o̢}jۆݪI`XOS=+&7S\ F3ۊ2{ O͸zyQ6T`c<9cPϡ#UF5ܶ%JLgTp:n9=E@ؙCUW!y<!NpOA t5~SQ},'Or+y~K; vvsu F.Ed6s:}:^ RBpH°7m}SFE}nS8z!,嘩v7F܀O~9\yOR.cȊww`dl4迄 'C>*thq/9ڣ#HG;~RPdOoN{PZW+&- lrO~լ5E s#OP?ZbtB6̬p8˞'Wkz `>`#'uo6[XrAFMwBd<1 I>Gz[K >Zyx:6l2]JXczVW58c6MmqLWdp!yg%tOgp~nn+m'^u]t}~ +N cn3Oo*ڷ|s2z.} J$#֩3 w#':gDU,vSN`}^R0?/Ϗ׭!bscІrw;q5?pLVȖs88cϧO'<?>ձ e9ێԌ5cd8h'9 ʢ.ba (?_] Q߱;T֏뭳rܞWcVެ#yrFJg⣫9KY r$`p?JG''澇 Kg]u p$1.zsu~YAT##|zQIFݏ&(ItJ߂~cx>COc$QЙ-ْ7gJ߻=rcҜ3:f>^8'=(!hno#=Fx=}1A]2W%yU;13g tF'=I\4H_+fHŸ=眊կ;u[ A$ }x_0vUssimƹ9In0{q׵i*|_U9=xϾGJ$A2sea$[a0"`eb,"c~F6I_sq^FOFybF?2{Wc|ێ 3?(~062 +ƩSҎ=}  (dvWBL;A䁞x5lj-̷«2A`~Ub~L]Bd8ȁ2Hs_+~ r3*i %*J(zW^:i5vf!2F(ӆ FjjN:syX&@E(9#G S?:ׯLS-!zF}8#ڃxqힹLw|K:&Ɂ 1ҵ6;~Onvc7u4FI'^\C$a=8ZX澥Y;;s1YHp G3MC?}yqHFr2:P2 |<x {⥚Dns$䲶>=y=9ڤCg9>^:u%$9YB;Squ8$u\bd8##E`X+wa}9*{Ub$ۍM!xU<'! {T;žAڲd9VHv ׁZhb@z(cRi3Hw|fqz'#N\r@ߥ" gpq=(W9B 䜁=mFPw#pp}8¦}&$‚i@L{gio{I9hYա-,TFALS2zS`}劍A 0Krxe.F#EH:6,YG?)c8s3R79yGrpq t,IIeg TF9 Q^SӭȊ8Po;P,GLա`K;b;Y[,hEYHlt5Iˮ9c)-'Et}e]FHAgs"2D8P2wsqבuȑ{iZ< D?/\t;f7bwǀ?֛$.|aĮYpF8֠Ȩ3;cB~X_A's>@ 8}*ٖcBJeu.[N+[Ut#(1ɯxS7pb cCjҔn:g!y]E]v:(n,м5NYTAڣ8873V)HV@ 1xYҽ*[DI3drH+&hpq73]&zTvx u0& ۔8?zeA$r6;tk*T0d 1# Lr=j1 sc^{~$m9Zko` py< ~t^_\s1qHWh g>b`g'>t_9zC+`wu&1>O\LQC{rzӛ9ۈ3O¥^G?.st֧r{`p1zBA<ۚv3};qʧ"PpœZ"@rZSg9(ų02prHA=Ӛ.\RKcrG;qz ,<MkT6ܒnTvV/Qc#z]?ʩ-}H(; 3{?HN>\Nz1[B:JFl<'Bc})ۛ-:N:9 =Js36ܪ[`a#wG^US ߯5im+<@e]<:5A8`XހzҺL rIV>ce8߾}̡{4>-WAHT|ILQͼ+y#Nn5գ3Ooi)7˴:$-ճzl2ԏ־O1tϧQXx*YFf~8^ ּ vuǷAGpsX5Ԇ3ٻ8BGU˩ g!S3A<?JH9I`9-@$xuk%Il^"tc#,YN'NA#/#;;.~e  `z"F1QNrV~hn8'x=fKiF#ݍIX^%̮<顗:CO,,r:i\6T`>Q۞_ -ުb˼N0yXB o3($&ڃfy1P"6Tǝ:֌RI cwª@s;uDۀ@žV,a[`#sҥr v$$g-qgTvCpCbЅ X$#L1#? -{reVHUUooT0{y>ȌJF3g$Zm?xn%xipH_v^=i'rbϐ6hןl*&{g\ *<:UG} 忼1R€&6z~;g߅&'+=q>uV0p88#vȪzh29yqnyX6睭 PzSvz%~w8yᴆx9:N;[ ~c<2^GlZac0yݞBܫ 7g,z3\&8 i:ɌFpA3f*:qqM-`b&8b3G9;'G y?{vWߑ'#0?)%p FXz[cN3@8G3ˎ##}­+#ytrs A(yrA(IBfǦ;gOzivz*3jS!lpMGNFJD>w8?*N *[%1`qmgʂq<Թw#\VmD׀ŎA<=?QoaNH+6,n|w$LcCy P6ÃgwOSu-)Z: {u\ް=*01qȯfd;Ü>o}q1b>mAr=AE~R-aBcq) B܆6J%Jf=hT1#%IPp?^-dc'H.;93yn1l|8w'_֜_Gxʀ*p r0[~=idPv#qPk#T_Ps@?J*+FKqˑxVe2I9p>6`bItHNh3 nj>^Cdg-WFI 5Nq6*; ޠt~V^Yr@=Gj r+g+"nגE&jvp'vG`4L`by֑H9ߎASrzqʆ[Sh`j v0([`7;[鎝륍bPvv,&X1yLJ k28^3RF>a:THy Aڸ\`NCU;ONy2csʕqث;>l)eᶶ;qJFr|Ue##~n`ϽBz2#;8wd@pW=Wr=kƯ}3pE<OO)A xp9=v>~z{zVj[av=8@s=ȫq8?;`T 1x9m'Ke$)P;c듟:ͽJCpy"N;s{q<8>ґר8'>5 ӱ9>Γ`{~>?N&=GTmױOơFt~r1؞ ~u8,3ϩ 9Ҹ1>od9[*Cc9=95򞻍I*|c'ӊ=\FkD+;ePԲڠ rs=G\㈒V'=sN272r{q:b*lC"0nld<cT1Ts3Q$y1vG|I-~F1'ϡ5he8pO`z8ksfݹrǨ:d]I%#A3 wm6*11Wgazdi@=;_?'i3w[M uLtȩlG-[>x6l+2{>0+,Đ{FFnszW+a#^ZWQޱc!,NF1O8`p  z}>~;!dzH[iϡg;H :Խƺ d H1[/* (E\ zQNܞ6JH񚜂A.H<`(^-V2ʁ z{y27 @3ߚ;bR-|iI\3x5YY 1[F'9=SN*ژ6 Ybcvm u7%.$`޽Z`/UdiFB9 / #7p3); %-zϯz;e"K ĎIL7žrN>Ic銀6{;g$ޞ}GRU@$ tg4 =O9?;x Tzds8\rx?L FA=:V4!TCO)+J#sޔߌg)c@r 8:Yc+98Cl_Gڳg@8Kz@A|p=—%-mB0n 7=澀ApA9+zW+lI8<S :r@x|k:/'qqZ3H|΃ ֥ӎ{KQ1#$sל)och|B?Jh={wz<T G;999g"lv[w?Z2#gsM2LmAzp0::]CÈwe:緯AZ)VqI\RS#|3vOʾxgJv)9Fs߭z14Yi' 񁻏Aֲ chA$qۚ)c/p[K+1̮>$ciw [id L(pw2 A{qO $Λs||ڸ{&I!HdbF2kX=S9MtBN,.w9yҤ2x*m8{BtdweH$AUd0ʰ*laGFOUc~U>'hl$m\ASwa=)Qh8SMwwrF<#V<΄P(!zuy"o5s<<'׶i7I<۸J <sI?9U:3#w8S@Cq+9?6#rFz2$?5!(gϿҋERʼO@89WTrp9bNI"J6T|'%J'9`pW ) t8X{vzcw*Z)083G֓ϧ;㚇q>8o¤T#IА\#Gcxz ˜ӷJ"QqR:OKR : ՕQg2iSn܊~g9nؾ_WT##f n!W5$.$89BdB}A>+x~BW~gu bBþPsp#k67|ǡ__Ahxiq;تP7`˝rvn=0+w0NݴO|P(8<kKCvT78Nᶓʒ=VŶP0~^s׃ZD{!fa˳LٵOTY9`r8 ; sܐN1=qQ؍p0B-P2 8S0 ךB~]F$=IF N v#č BnhHdd $WHŸI#vMLҵGr@* On=F2NkIQl8H$,p8ܙ "t9ǵQ|;svდ?_jV T$U;g[#3ǒS_NLGIm$VRj'=35<#hV$qB͖\xnp{vjۈ9=qRW2;I_:1 uu25̭2{i+ ~Vۀ =rF;jvRe ŒJs@ ck9-;8Ҡc§MV1 ݹL:{2VTkFgET8##8 qR>*|۷)Bud׹N.waFp>Rߴ;`9Oa3xFsXVs܁~~;`O$/fɃ fxw I$w^֩I5 Clxʜ90$%9z \)8pN z8zJ$UHA< =;21}=3JC31HZ1 ovΌFr21*9ءh%i2>SNMQUFlO7`uR'Kw+1R0yR NGz+dftɍL_i?8ӮI;a!} TٕuEY5Py, {WWY@YAB0nQoR"H.7'BX;`3HbWQ1җw]ʭ *{`+`ぎ*Y%rv3Yt :U*YJ֬T0F1 S]2Gd?(ϖlpH@>{t[zjQʞ'=ߞki* *9+?jfʖeؠ pO N tni6;Z@@VU~w`v'Q)>}̍# 2*x8aWrFps֯oTR58Lg՟1p*KVt=;v_oj_s=Zm`v1h=z~mßAל0y?k>HnIOqן>>qnqs_'r9>}ʱ]x~џoszqRRD1Q:v<}KXy:}Msq֢OR!v!PoN}s=*oNA{gރ'nlr;CHQ= ݉㸨oB3y'FH'qJ$9WvH럼qnG4(rqϱZn=;һ r,>b85LA9N!A>=&E׎;Uvs펇#Y_R2r~dNY'nz>273\3$n8^\BGqz*$2{cק h4?!j?'#0h>8'zsM6Vt={Yr$kMڙ2zg?Ӧ+=rmI֮f edqyM#'8{9w^qp9#Z<aJ\ec:|?w۞h*A-Ü1GZ]h͸X=Has:Eʢ>oy<YHY 9~s zA}v>j16Pv8=GqK]+Նc ץOHll/Ccqݎ1xT?fe~'I$#n%ycɸyFBkXQ㠊%s0<*v  r>P =uA{' Vpz񬇐c998#O|~uWD_R|ICF=?U@Lr`'=coF_nH\6~J"ǖH[9ݷЎ⭭vy_z¨U*xz^=]n?.mwa9S+s>Gai|Y; SؠGbpyqּk&v-G12‰ pA#:q^j`w8*HNAPz}k?!S5EtQ2ݬ .R;ߞ@>xaHnI ›#2Zd'G+5O&IK#;q}29o9X_s5 ̀f'0ǭ^/Ty]r\KHOG$f'яν8h9n9;_vte~A0?^[VuF1߿+nƲ.p<z҄E9igf9*S8HYn^FX*=?v1[r8sIsOp1Ud oK@}9=R6I~ryco^NFyVF`)RpG^}3Ph@z1#׊iܜNFߨ'>@FIsR gg]D%cN31s=Bq'ny Չ~F&Fн6\rqҪNI`W1̈;RJgGVmIfhnqŶvNJ'|_I5B]^KG9 U *ݸF@UR*W[y0z.9rq튐sy"^@jC.M~`Asw'Vl+#] ~u)]R:`c5 &,^( 0BjV;hg_vd'i'qf#Ԓ3Кn4I  K.AP3@V#lÐJTyA ~5/f6=E_$=x95sHQrm[68D6u 9[kk>fyMKdGd`2 ko-&slbFn0%ݷ28MurՍC{>I]v鞙ϥbtJ*Z ,:두{*HO$Q;vS^r+sď|1[h˴9;pp}NO&2O' py9S_YڬiK=h-.sǩ2zq#Y߯b&x#S:\3۞?/X u=ׯ.IC۞,8xN8=qzGc8}wF\2ApN+-q# pFF@ғfE7Acۜ39z{RN!1H8ޓg {Y6 `u$zB$qLu;bH]zd;~i.$}O^8 pߗ9$ ?Lgiq?1TﯠL秪$Rs_jݡ2nAJFAidXW<9Qn $]{$WeSU}zA=m-9 񂼝dJRFwݑG;Kq֚t<T瑓?^ w9&x#$~Bn=Oqs4sM4 ?^8zP{98OA#1#=_֜nz)41Nvz~n'>ت ޽ OP9CRX^W~c.?sq0}O;Vɫ {/Npd<|䌏C5ҍj^OՌ8`iV<T,8lp':TNYȣ#T rA' =zzHvpqM|#5 /rܭ``j]9ٌ8 pc ?yK}9`t!0Cc+ #9i!$6A\g$W3/9WO ld*eH!NN b|E@Ka{ԌwiE{2~q` {{t+uKF@취Zg.ƒ:m"p"DBFrFy^ >ǭtѼ쁐9W fCz;l#K\>cp}O),#>(=y~=t7oTBq@a<.pu9s9AV8#pn;y}ho4NFN׎d\@;=MD[1=9ӈ/q($0sҝݎs؂p@c$);2N:1kX=|=Xkq#εv8rL}3yWl< 'oZ<\ڙ͹dXh/͐8I 8s#19<__K_GGit˰pp\{# dt3 9ly;T>p?88 uָ}VD;qbݷ{<:zʼnK0r>\uZb6,>_A zw|}mڅ̦p!pr9>΀:\)1u(P߼㌏~3Niy839d Zl ['ӎWyQ9`#w9G p4\[$ ctr6#r'ӭZc2}rnl 8$~lmFW͒1@QA^j6+ЎW}idܞs5f?/ R /u$@B1w-28|?^ 8O:Shw-@ ,A'sttcHcBP6={ڃ7I:tuYz}HSߩ9"KcU+Fθy\3HW@zϑ|n+{ddNABؖ %t xո W}G&N2}, z ˀtS޹YdˏďW& Bq$ c5vlp1GF^&9jO{]9p~xz~:v8ci轺" c# ב9#pNA78Rc({v;u9=֤T># Q6N?.JpQ_`};~$ʸϯ$E_sg*e!Ku9vzڳԮRczv=sRO^߅CH) S`?>ztQEv30q؜qc=W#M|+t{n|2f;v2l$}^׹|>w@(>N35%c`hm7 b2{i<0e۞qzסOuq¦9۟mF pߚo$>b $};+Lyc{t8[L(Qwm\ܜAUO(8cO$t^%x$i46q?>{d֪8 yccz}皮"qslg cp@' 2i64e8'g@nBTEU$ēḁ)6\lm րs8$x^< qҕ!9Ar3f }Ѕ8'?)&c c ۿQۭYVʑ$sg{P$>yң/l4a0382##ץJ6w q rzݾ`cz=z2s8iV'2I*'׎sVB3ߊUƬvaH'oUm UltHj+4YXJ#G=>ǰv}i6t=GJvdcg<;}=i,4(p:pqBJ?:<ԶRBm݃i^O?)_B#A_ʂa׌͖z3t#T=VM]l!zv^IhCdʧۦVBw?քl_/<ێTEǎ3;o`A <r ?P<;{'Gc6ztBc|͟_R{zsuIwSq3j?/r}OԴZbl^ALؤ?ͅ ヂ-,1T2Hy U5=Rn F %̱o'|ll=C֤ly])ڬH;NrXp 9cu߃X#֝,[n;SzXʻYZH(q~ojs,15&1N+=odaFBzqpifLPEN] 1`.y#=jGimjWWqZ}>KI 2&Mwi6o.f$L{TIkκ&3:ݝF2OvvkXUpK̒rAK[!܋3)%'8u"G_560|8F+ "ͨFk(5͌H8 #ٺگ;)m,=^d^5m,m ׀˃zz֬ͮH"~r@7!ΝIgEswB/b1Pڊ9!T*ǮH nB"S 'p8 _'ۚ`&F>BF^\c<Х-&ՃHH ͟=g3ed+OObxHyfs ݻ?:ЏQX0F8sTԁԋR7 L}qӊL#-"mÀCN}k'&.q0;rI!zʥ[sr\m}76]9 y݅8 }z;q/YX'8zy'O~n7pykMl38+/L6AϠ+I24eͪ1u ,[ v֝bM8lޜ]P"mt?6TdQUI5yq(e\{*CCzֽBwylSiRO &Oo70%cFMthأ#i t quG?$mظʥg}k)2@vб9ϵMcN}ǥ7i~zU11pON:udݖ8NzYi9pz=i1LA&}HNӶ*6ߌw9)N1qI1ӞA9;sz1}OCqR1#vϿN ?Qg>Ɔ鹻sd$sg8vR(qTny9G&w;"RKrWiH9p~*fBsۜp9T. |RW4?N9ZFoɈF{~'׮EW)w8~J)I\>S~3==ߚ-no/(r9@*?(<}.z|D1 qq֞ #ǪR]XHA<،j9(˚j=_HFs Y3\ԊnX0P@9e~[K>GRs26m n 1tYr܇qd;מd|i]y R'Meس6)%gnp8:z낲9^3;`vU@+9ݐ}:uHuHYczGAn YxS`SZ$rss:=(4AJ3_UiIS'98Qº"3:P_\un}IԆaF oq:~UrsA~UCrAP1{rq]4KZ$S(#Ff`qG;PA2s>tvw1ggVVGn^FNIl?hmn6Vx#Zܒ],y%oE_\۸8դu]dhI9 ߞ OkGU$WH>5m;'+V4Ņyv2I< wcDH 䝫ץ%6J1 @>98ǭIj6H$󓁒 ݈UԴ_&uP(XpHUF⥖BH(v0q8רZPMYS%?sT[Ur Y3h[76K`c8<}Va>L6W,aYn8,H\`s׭E2lNoCO8c0Hq:g;{#Ж1M!2M8'N2_^zʙ?W̓'=jbw60͂,=`?S([up2F!#rFO& %fy@=ʽ6.C$Fn0g-;ȫWh/G O=j UFg-*ǖ]n8]x p AUTdxoTiFs8$t;T9X8 qp3X2dTOqFiIj*n9_"i$UFݥRų?jgprLoژA) "zQ!c!m,L-24v9%pGpkYϗ;p6$c=gm;[_DK|D\\'9z)u[G o$72:<,}|iןKRbVEM*Av:yfATi$7,3/#zwZ^8zc֮-hڐdcerx]/`y#m̘##=:o odNAĜGӦ4t JV?3\0 ێ=J F$b>h9 O [3M=NYDU cXUW.7u`0j.FsGJ3]i8 0P[0I?J6vlҜFV d]oߝY)FS66ww~\W6'xHۀOq^ӬKi @IA}}Ğ{th8O<57@Xpy~OQOm*zg'B@_ӟ\wv ׏ҝ;鞤`q}곮㜃~u1#dwA?˜}A#S_qצzԌӞd8qMlcp{=?j\dc*O2X>c؃VG?}*!xdtQm펃WDO˜;5*_NJg`{ێW ?Ҫ\&SrIzz{pEoe}O^pګuz G}HțG^29Xg VH' q`c)N c;p9ǭRbI O9\1[%c 2e`v߁Cp_(W*q'm2=t׌r 89]^ qsqϥhkC9V`9JՔl%-ҴRg?rF7 _[<=zq\CI`v8ֺRRHS[xD#%A2=P>\6G,r:V7uc>%$7-+fڱ PYNCpG' qتNGѰ)HPPra$ eR0N?3>aU+s@PGڬI*Đ_kbrQ=s=+ZF O*=23鑶O*`  08.'dz͌`,EH.|(~ٮa&rDnhZ>2.:7玙R`rw`1#Pĵ e#'e}8jsp9ׯQ :w XozuVspN:2GlP#.^F@ rJL (sԱOOz-=L!9!x=Njc $myoZ75 hYnuc9pj$r/  #`eQ]4z.p<@A$ NץYHr+IkJm4jcqԑs꿍ybU9d t[NOC0ʓ@a,lp03: NXxM/!'rʹ\.A% {| >x;T~#'G90-1+BAI9␾Nzt{SҚ e]`:zop^ۻ 瞆iR#OLsBɴt׶Cp0AjRՎ—0Q:$3}p$󃞸j0HBvIc=?JS1pI͑nzB 8c?7k;983)n>ha7ANF'N y*p~cH5KK9@v2=?@F1ztʴ8'OS2 `9IB˂z cQJ@aOצ+OazusΤ :9J_89=_0 xUCzq~SzG^cp"܀4q}͙fЎ裹>S B6;~\g$*.G^-ȭ%:mV`~⪌1CU;u<&+Y/S#vvҧLc ?uAzw=+Ql!gFK d#>㎸8{WTȤv*>皈C/}8Ku>[gAT:qm9's3)e_ZkGkQE}2Bxl / }qXq򪤀ySkF{P~ְ.lyܭx\m`Le|P$`}ir2r;pFKqP?OhG ČdCI$ٖ#'r ālU8VH$Iݺv*v04#xM={5nw6 (~lm|0F Sv ܨW:ը'+3`2(i{60 ϴWNq8BVc ._8l&̞KÒ@+6rWc'<.w^<8R9p={#'!Soa  sR[eBك@Ue 3ְHQdgc->٫RSwp#ϧAJzrq#*1r33 rG~}9>(u q͌,k#0hî{/?6sӀ^Y y~d8udt~95c+$׭C4[m \\bsU XKggV<(`ib^g%sVr1IڻLdP#HuQI*Ui$ _+]Mqdn?Ñ5k/TwUݛy's8TLzTHa=:^ U*]SGNL׎L# 8TTu'\0BY'##7+öuߵXT#'9#OlԹh5}szw?8*;˥Eʰ=1{wxuԁ9'?)q0?Z˛R;b1'Ҁ=>}(N=c#g~6iݱ8H>~)ğsrj^#8(>Ǟ?Cr:zvߜ;6=jo@@zRO{4pslf9 猎dsӍ?Z0qָ8&;wɮ Idr3C,+{sP=zT=ˑdn9$WB~m<,Oːr=).8FGG8yLTs 3uwHh 8,}A=oʨ['kH8ݹ`OgsM.:d|ˎöqң` 2O8lAW#S0TG\00O8朶6킞{zcWzⵅj<tdzZ'՜qn$d.:מ˗Rp}+=&+\d7PxO gҜ9$ `::k,vw ut N;7$3nzL.\ N s |DlPw10\}ioQ`ڡl;vB>ocX<F9{+>CH򬡈(=sӎ= hR,1%P +g>+ h2w׵rZ/:pd'=k&p7Le}3ڼ\W=ѣpI 0pA_Ҥ!}O8^/)'=3T$uq.tPj;yrN~Q1͖sCɬӗ x > hn;QObr}k57j7N71 gߡwRsiAǰ9F=85پnJ2A.B{ SҾ |x~e;p 2鑌GA4ɴi9-7 zzu溬sEcu9uPrKg$cq'V)ݐTIƚOl9n7uqY2b6m!yq^\qF5b%][G6(R8g^U Q_=ZwjJz"Ms1ǹcf'֥Þ9#{PK#>)|oC=WO)8؞T!1'ߎ޴8#ǷzO+g?LR(y]_C0H=\ð9\/b fsdyx}?0b;(r(£#5uO":(Мz7a's}>b @3ۿ[S=y? ݍu^d/8sZ-exަ8dک#<'q׷s`wh!p1u1;T8ö1W$~;r_+ JAy9}}%lO(wN;g5O#Lg u?^0iW_9q)2?/_~_>ֳh}q1Q ] p8=ڤ>gO\ T;_ǡ0^qSVmZ&8#?AҜG957h~:vy _svUe`a9*`z1jĪxSA?ZfMnp a;n*k^={V>sCGN~p\v0H= @nn>UsAo[uyC';\c1=qw!`Ҵ*rŽiGu1`w`YT@d#Q$$7pI<=A&rrq䎸=(YHUJ$;IAlnot sW_X˵ᶳmG|W#k6/S˗Y8*̽H'=t=R F :PÏs$8'jEq6 h7U\q \}@r U1'*ɷ?\+$$m''OLЀs#ϧ< K.n瞢=KMvwFROV8>UʳeQNx8B\uDv嗌?Hb2lQUm68?Fmu|e ^ %#a $ڟmC:39c?\TFf? ssh$ kpё(JM[< 9p}VM"R'tߕ918Ҟ׎A(cO$8Kh5ɒU.8volU9N3EQ. OΤ}9Iy'`O rʯC1ں[1f19}p::ӓ#gw y=0Pɻ (;vƸg^HaI=O(XrSaj`ּUG8u;oQZ*>9I׉(δ%lT:99ڲq1&9@逽`=g938qf}:2xHf{g֦$u=*9-M{41鞀cⓀ ==; y P閦C=ӑ8 ;zVnJc c4~{};#\l>2sPѸ֢Tе1O @=3){;C s x5.Nyr3t=8lr6q7uh;sgL$goAt0=; s銕[<ǷoΩSr7# 9_]dr͒pH{7jR=k[}8'S8dH6IǾsEǡޡ ϖO^:rxךʒ\2I=*' >G}T^\G^8#?wD3lf Fx 1$8'$IZl؋^NI灜{lz+z|ݓ>;?M)##?`kbFDZ{{?֠(pB;` Vnz\P S6Hi y8\Rshߏj_(d|~bSeN2GLv Sc׿9G-&yÏ97(~ђ<O1P8rܞ#޿HI+v>__C# d9pk(SuR{}#Op^_3/:8#U n\c.Nss53vOLFyk7y$,2Oyb'#DXr61eH-cFy9¡8#qUg`pF:)qY$unLtV*X|UgtY ˆNK|4#9;v O:apC)'z/U>?gґ%]pA g5mbG8 TOL@[3' OiU&qb{t{U9E7S;F6OGRgKn'\88?xN@G\֚SsF=x}lU A zܜVՉ\nwGO]stQKhC(MJ]ͷߩ S#j3>V>U2(`7z~s:$6ɐA;F9O$@Nye?/9g<}#"H.ЇdNUs:XL<싔`XC\7˜Y-n%em*J `0ު0s8KCu.)?̴[NIG1_,;E 12By*Ika_s)c< e&_^6 %$b\H ʆ#o t^TUe> FUE`L[JaQˎJsZ:5b7f26JxR]V棡i׷0'W#K ^6\AP QiczoUlp>2VetYӭ9/h'E91zֺ Ytdġ8^M4nyX1PGܞTL2Fm][Iui١) ĩ^F!2{Z3#B3kt >x23F .28,N[[BX vϯC~tͭu8ޝ'Ӟq߷\ѷ=ۀ?B$|=9Ojxp01cK @<ښFG#c֨1csۮzLӏ\tDqzqގt7̔4zOL 9 Z!'!=Xz犤==p{~5Xqa]"H9C߁ȭ/rq3#wڢ<ӧ=:~x 1yOLz>ny~8KぃOi'?QS}==@_Eq~mg#מӾhè Nx$58 >vއjXaNk5K{y(vG==HK Kf盋9]pѪ!9.*0H;Ap׊`xsw)3$ Us`檇 @]P[3ѕ&z7pN@λDvmk͔}0X(}wv5Q,@;w'm˹| R O O\Ao%v'h_ !qb0~ͪ1<512Jpkë-gy1t` ^y*]Ap% 譹@Ȯc|Gni* ;pwI\hJǥ쁌!F:׊a=)G|z1- 9HI#~hQ w$q۷ֲcC7g<jpO :Cބ YNrrX9!vFs9޽1+:=qoaQ% l2FA8cn%ߎt^Mr1mI=5p\N_-' [O{VO1jH瞽WwhG˓89C -fw)F>\ B  $-iٞO{$\Fe ۴-zn^+ӛL$c^)n$3~yH? $]GOzŚўZ[pl}e}ߛOZ4@2®7yH==O_=v>Z-gp+\u'W^'}Fɞ =9jȔ9}[۸lx6^V(6,؀і<qVD]RI^>\@80HDf2+||u:P$;r6W#s._ND~c+33 Yz;TpH}*8vG6;3HUYy$33 &>pK!zv9E)n1u7\Y^6ǹJM^aUxb11\^Fm=[YSu2ʯ g;oZE*T'qL~ƱՋϨFч PdE$&ø1W#xn2!8R49+vy{{s9 et G5NR6~sʆQ1sõ7!'-sױ犈OQױWQ:呛c=0"2 8$?Nkػt"7 C®>_xP8NQq v^3Q :/8%6O ϥH1#=M7粓iD&cs/^qPFK>rxJvH60laiYA瓂O8> ztБ( k1㯢vd'$zԠ quJ$r;GG#$i+9#''G7}H䝄OJw rÎ㯥4~Bp$ Aݒ>v1HYKozۻ{խ~ZB8ĝP z/L3?#L:qSxcHK'c֘-Snh9-#=FOJ}B$ 7zڧawrn ?_JIēQ:s߮~TXK6ONEMn93䁂2z=r[6[G8ݎ0;*eܵ;ddbJ 8lUaܹm ]a׃8Ȧ$lP7S`@1V/'Wڰ.?:vUa9R#b :?έm3^5gف$S$~\VtemGc[wL7N8槨t6+@6[j*q1e1gG6qT?k5@?t 99OxyċֳCu\pv{SPd)kc6HOy z=ꛩ .NI )F܀CT8^#$eU#z\T`c:g CI|L1-l=#_ VPA$K12r7>hܜRv2ߚ魘/NY<Ю͓g-ltc#R (Ha{z˴w`L M5:9mr[ߏs^#BTypI^q7HIg\ ӀG#־y6{ m>c@>ck>bLLF4  -;gՅt}U-aؐ&s~#H@9 ANӥ= qZ-Ƒ S21ɧ #3`_zx;>?Q@:}Cy{4{񁃞sRv>KקӮ<0 ~'Rlh^:>q?:oN{{tON-{#=PMI=ڒcAc֚xOzJ 9==>_Rx8Jr{=c@ 8d}ri,t}T6Fr <wR> uis'=v?bPӓՔd r:m i-~#?Éz\^,qL)l2?f$ue\ /23%̾ F~l($gzhfO |?j>ǻ- }ǯ_|Նe>CujdJ1 vŘuQ35Qs9xVi;8ڴQ8^AAO>v P݂}F@jOHn{DvTf\?)Amc$נʬ8(##%94䞼 x' ;Z?Fd727)6S*A8Pps9]:4tp }w)H]PFc%V[ROsMrˎ@zTo#f8;#?:c򦖦i܄y+I qU) `>a$w^9j^w@rU #jvP˗jzbв^34Ej d-7)A1%+>l>ܙlzV* r&vgq횓^@TUObw1=fks&8n݂T|9*|R('G0;Y.2&ϴNNIˏLqL@V8fqސrwz809)Wn巫6N_{IlÏ@2̸du sx zW"<`zyϭe4tQzu 21<1{_^6[zW2 7''T@ӌ+kslܓxHs۱LR[2NGqx=(;)#u?7֒@X ;zalNQ$X: qzREGra߮s \dמ?Ӏp O@ON:-Iw oz{׏xpy^;WV\ϕBY_nv=q^g&X1nO=:8#1eł*6s89$SrrXHێנJ2$'8`r2xax?VԤ7AY}] ez 2P2{l29= E *Gˑvzh:# ^lO? I wXCӿNNSץW61Ǧ8'Z_4u$cs Ұ\;9kJ8o@9?L׺\7e1NA# y9r⟐/C_QNm3z(g@@9ƽf! zk*;Tg%,^O'AN>Թ9FϮ9'<}2(OS?>m'GsèzO̞P 8K=wv?Z=n5q'OlzcIQ{M9yz!lGS=)}=Қqv<~tEWh@$lq_Ϋrw8+6"@=ҫlX< tL?^ Qۑ:2QI#?_Τ^c"8?Sӯ???ONsϩBx)<Ojɖ;9yiۆ}@=/!=A#})q"!M[`c?t=~RE?ҤE\|ɶW_,LrMzOl;S!Hd WB=+öX-@'5v|L#`}cMK>o?9H-鸜8XS<S` Rzp~C,p@#=Eq5[z~b"d6[=8]d~6&p8uWpr3_N+?pvr'ҞcbT`sc=)N g/y3ϵ/H l%OqE(줪 x#89it3(7@S!Iⶎ2ݕˮsÉX#"H̗ .#s댟QT 1b к;( nF<'q;J'V^2]y_\hfRI0z-c1YFJf_yixCt7cF+ 1;F$3L![c(9F9q.ŖI:}wc=UW$pﱹ۵~(OmߕiQ,` (=>&:X61O?5X## zlW5MP梱`T)P1zՐ\ j͓$ s13RZq1 O^sRq{_CI=9?ɮ?a9G4ci <=Hy@y4==Hv<|OJd^_ޣ򾣃=:MfZ.0x4Ə>3}+7Z#9ԃf,2JdE{#`ϯ֒s'9Vң)@Og*z5 } 9gUɦr"q{Txq @G]ݽO'ҟקENu8Su4ޘ#cArHG\vH')8oƇ1ӧ'?ֲz9^v%Z Yki>9j\d~<@~@<׍*Vhp)p;c~`Wz~4`ZSOK!i''ӑ40}zZ{u,Gy^I1D=zߗ5&R<|팆SJ=2On1pjpܨ;'RH8&Q+'fjhdxp»/P8?+R9,K9UÄ3ߚiK; TOSQTUbsGphqԗU$I?xw s:ⵡ`rq]<խ8YzZ  #`2Hlm{ۭNɷ3r_Nn5أVqU 9^qӏl皋@=@>lUCB$pKg5tѓ(@5}I.,| dd`9ִR":@=zr:-w.(.78Q܏~9+~lFq>ݩKRo} yѤ\'A .źd|>9-<Am 1 (2s>7/'BctKS;a`uS3.,țyH3XM3}#I(t$1F︳6.C: dtL6qZve=-}kǨZw+~'G7˪j;V$z:݁BFF2#)Fv&n)*m08:t]Qs xeLq'WU f8z$|ҍӨںCg% 9_=n6Q;Yp29֨1fa 1rؗ}5Z~Frg-7}A0w `*g߮2?JEwNr[ uU#x8=DZSXvrޠBN:} @rXu R@ǷJГ%r <#B\|~LzN9AlT?=~j9ާpy,rބJ-qݒHcAc~54YzQ^*‘8y<F8g8 |< MU d- P ByQdF )NUt 8RpT61W~`7ˁa~cBZ$r r66 t@FT$ff*>a_v?reJnǯ={ԒWW08?ynZ!&^2H`,08Iݱ@9l+Ӂv41Dq Oj,3U>Vl7_~k%wɚb͒xr@;XgԎ֫o57f$#z푞*zl~og^\* Dvyc 7*c8gښw.nm7m?E>pAս9w@2[Bd-捇dAsZj8*|G[[Une\YZW Vn#2Sq;pz3%Ւx ds}kX?yߡ֞V9[ºOđS$sR!Y! X'Z;1E%4-8Z gVpʒLV9{i/7~lD6ø窑gծjC`,).>u'步!T$:|rU0y8vzW^$`a*9+ j[{GvAbۗxqb2dӲ揤sBUxQvkMꨈ")* vja&&z~zlwMHɒ]žM~iVaTBVs<{w'5][= *K oJ<̑=1cGqK sz~stp2q?ȣ@Qd~#'$s֔1r|FAW9AW$r88Kߑq3J 8+Yt\@ uǩ3 U@}\)Oy=G5=oh7`y2GJ22ON3?5-~m I\wsgzoo!zR9HGPqɤQӧ4:prs;#q~c;֥č 0qS|ȫ[0d==?Ɨo=R9z1Fz@8?ZM<~R1׏PӞ:=Gد^GҢyq~qH?̙=qר;`N '9y+' `r8#֡+r V#e`3zpsq߷c? Hǯ\~?sЀO7I  !FHǹ]T7 7PrsCo{nHr0U{WZQ3U`+9UWx 1`~]îv$+HDe#smsWcgb#nVZlj;m@2Џ`?Jn6$ x=Et9?)>^ s~7H۾`H9b!=6~LddSʱ<1ޖ_20wAC0OR0x8%s7QE {㴾p ׯWWق[sz3ӥW5_z 1ljA\e[ҟ2@!@G z+YEGy۲.rĎ%@*dΊls(H@89N O`|̹/ y#<0= Ԕmx^gYv+]v?w}+d!,H?6H<) SםSeGbD;ph% 00=L>(G?d"$f,68G nl3OҪ+P#\.K f>U, 6< ?irYN^!}P%,<xKvzӧksD P~}$/^ӊʓvA;: ךpoШ`$mxAמU$<|Ð+Vl*R ؤ =tB `͉xG ܌߸~U-˗R~G.q aݱ\T̹6N,{+h6=$H%(X9`Ik,\;p{ڑOnOH6i u9{󌀪$84SWo _z&2/&#,>dL0+;RӞFB } zb>-ڪWZĐP'#U_qUW{6FϭN1csϥ/~n3g9P1"xcԜ}G6HA# zfƅYތߑK$?W!2/ˍ͌wRvz׷W}QMexܛ[ ?x\wdw\+s]mnMv5e%?{sVHdV;aI9ҽGcݔ+>^_rvcjϴ1W7V=;h2bC%Nwm mICS"oF$f݋F_4d0 rT^r?Zf<` ϠiXDlI9g'$a:>I !I 3c8-Q;Fܜ-E9DIxu "<[\qG|[PhwR2mOlȬjӻO.9!w%Ksʒ`/ˤX#,@acנnCD\'MGÓ=꡹+h<7m?FQ+Fv8;Su}:ס`p>a#~SAO\#"$Ix'<*BFy^['9zsR֢!ǦR˕!p>Kӷ>V0Wns:Q'SHHK1 F38#a;-P'zRr:{Fi_RR;=sztJAGASVx35K"EI ?0g=O>v 0#gHܓpqdj Or?B$17p1#w֞"ex[d,܃$t #$H8OE7,[q}45>{8vȹ]b?QJ˟~"O_i|dQv >ZNт+te%qZ|dn PKdϥTeRUr;c 2bMph2m;Nr̻e&FE>h9+ǧ5#os0Cp21߱sa]#oo[z|O`;R2A?{֨I%P+xdU5̄d߆u\*HONR p[w.td1SoirxH,U*jxwf5H"Yq}x"Krjmݰ*|$GbAçҶS!i̜LUdypK XVqbǎNBö JzqQor@N0j㱜er%0ؾ6GNY3o1T.P1GZQeQ g#r`{{ajJɜW,O$u8̽hx܎#+>P>Rc98է10TzppG>ىz[<2ytBK};Z|p~󀤠PTp-?Վã@ǂ <=뚳`9Qp$pw PΎ$!X $7*8 ;zVZ=~`wzsں 1'RiP$'cۜVLtڬwA=:VUUGD Mmw4gw?#n6ӱOct 9 8SLI ~a+`'Ԃ8$,v>f=8n M `:8jiEssy%Ns=jR7%A#%Nw>p}-U Nck P@o AՁu?!A?)rTQn68pOS9Ga }ᷯ8}.4Κ _nm-6r[c[rHPsk9mcH=ѫrk8 mnWdHSEh8瑎a7_#U1:Ž~{v_1QOm =*~@9+;#?L{z`v?QNéS)ӧΦw;c8Fמ>1=i^=9811O֒bx~֕L=>=ڔAg<{CcHiܟZ8N} H-3 矠PI)=F<뎧)@}Cq{cH׎gI#Zv:cץ/ӧ\{~ N@ϧ gCٽ3N>b@_{#?z:LH38$W!i# 9kXIIztp+A<:WZ!=[;AG5dZzyќdDَmMLd#d*F8rU#繠} ؗ<\2`1 :{ZdQq9"p|pAۑՎO# S-:皢;?A@BF ݌8zh+us$g͞C`u?֦T`s={9~[HG GZO$p9\Zh޷UtlB:kд7 BP{ky߇={L%vHO_z= < sO|a鰿=@@6q`Nu=3׭|7?v#?RAob={Tks6{`W,>T,Ss_$%|g xF!R $ l c sz6.d989c(@=Yʍz;pOR82$~\%Aٓ򃏛 9i&NIu+=9)nl8ɇpS#uls2z3ǽzV t>3Đ-Hv#!1qrA!)Xy;F1@(O?ׯWݸ8=<}=^3A0gnXQAf_ӭ7K_&@HZD.eP#!FsdOQQZ2"@N>\{ץjMB3VHr['pGyxJݙ`ݪDqdvnAts;w{$Ϯy?|b_Y.Z{cGJ=: 9ny砦99Yi'_9JE ӎ4ANp0A?v(p\⟴}}}֨ }}cMe'q:5tcw#<~>"7@VT[ե6=wa˶xHnHY: c'^]$.#j"dt#ہ}RߩN~/.'`br=98:t4M7Ѱq=)#G3@ycaۓ;`B:pTa^cIIas1;QUddu;T ~AR6SQp@tgG\r''q(%G+=N3֠ ܜtn3\qI,.c|pG~էj_?"$Isynje4y%b@˩͝A9?νc@n}#Hk@\*'&nFG9#_+Y^׺;qq ~l;׃u}Oa}w㏭Ub`8nNjQp>o_Qׂh]nxOhL,DS<~83h5.Z!.q֣g:&Os8ӥBW@QKqja_|>hoL2 41ԓ'Z~Q9=sJ#\T'T?ۂH<|{kcdcS p:m_0A~U Sc;sդdd0\q:Tsv3hW9Ov>*r#DLdZ,:ڤZ&팷U1AG6UhG2ɪNRzYL oÏ#%Sp>fxxhz{!@{@G~:T|$ZBƐtF=|BϠ=h^Ǟ=% nR`ds)4Aqqנzqn: qo)$u_%_XY±UJɴ5ek~T_TIr>]tݷ:f84dJBȻ81t>_eP, *܆ s{pzU.H 3 'NZoGL9\!wp3#r8^99,W=YbZ.dOގY,8ӥuV%.J<8".{v=+M&nԌ;5S_̬zX8U!B6& l7>{/TP$ӂ;V4~FX6Wk''<`ES{ğ$n1]IXor;F9 R6¯c$:ӡ _0 , !:K;c 0AcPu>T)ל䞘Yҿ.I%vR<1=y?)Cz 28TI =prïjc+;cqs}}Nl}wLu5?|rl4EİQ:O^}vn?3;{/kZH=Fxڭ.9stϵKZqzH=M\Az}A8sɓǡ#'d w=N;W#M=sV=~ߨ㊎]D(LAE\vޯBn!s9=:w"1s:5.=EcЏz=>o^G)|m`Qu)H:cs>q t-HvힵnYq31Ja\nF3Rer=zBw0߉=.PԨ1*9C܌=x)qa?ӧ=O9ϭ?8cq#դVlM냎qLG=GzӧUu=N3UٲS<~_?ʁ뜟nT A>2ޚ3Csr}V\''ڳGIheA-ۆF3U>8q '>=dsS9_O[' Xp>UO#8qcsTD6Oށr3 1=5T/zus>grXރ?ZnFx*:3#ޓ`_<`qy(=@۸zolzžrIwN{TՏ>e[iiFv{ƶKsM ml`~aqp;c*&) q?SWk}(6'##߯4걮,L z?vIn{/,v2G 8c.z6I8{?U).C[%R2X\tzWsIg_S F4m>3/bKM ,׊w ^tQ٬ܼ,eɽ=kΊ殻7>%jXi邳_@bEU^OQ]i ct=p?zlȆEie>}܉K8{(7,M$.X; 0p#mʬoobBYqՏ n4,K=g.0ђ0$zV}:T`Tmx#j{̷m$%\"?)*2 'ƻyVv&d]P|~\]ɵOz;0ggRG"x8!@zzzO;.O9I= GNڦYFp9ev,m:S8?Zm@d?/89'qMm;m;U0@$OOH|G_Ky3qКn~ߠ=jPtzZp?9jӰ vnc r3K1ç<9\gs5B$݅^2zg8Of\9sNy;Ob)<;Fݽ@d dc?P:ނ89iR}xM8?[)bL6ᑀHʵq!q8FA*t:F) Qcx8yF^Ny4ub1N39~PpF?r.8bm=F3rCr$cX7Oשy89p9P]ְ-Q1zpw6O89=!IY9:Sxos+ef <(,@q 9ܠqN$Bpyg5T}{}ۈ(y>z֩X $y\rs d|qU%%@O GҚW}rL͌p1pER۲B_h xw9] [W1[Hy]4#lI*=9Ƕya_x1pw~+&]moªq򮎟)cvJ1z8rP | q,D-P{q>Xb$lp['`N*R^> |`珡Wh}'>jҒhƻrpĐ8 27 xt{ zY|gvrm波T U GQ 㩻=J_6#\t#N|ƟQ[#$\sۥc':; { d<UlBC;W?XyqGNZT 0R2s5FGvYsvs9@uǷTF7+O9QޞV|H8O`x=;)q8s9l|v88WeФq;18=j1\q`yTL<.Tr =@Ci+r'#MK*.h4z=6`֮He$׵JW< q1I 6܀BtN\ =u#sQ]^/=bR`BgT`*x$1NN nt +G}neܼݎcNB_(r n*3ןV 3ԣ=V}rPqgwm#5ŨǨD@+CZdyyX Q}S5rz5ǀ'޾N9tz9d,X6: 8'= rr0~lyZS5rG|6OҪ\R@JD@,d?kB_k*ܗo2ѕ.3λ.%J#:m'[Zf%$}9^y<8ܑ2}O W~unlNO*_.US%8 x"̳ݗr9߿Z_R-]+e"YIn@9vᔲeC68?$f,00۴393]% %W@[oʇ#V%qPIV (ۭ 3p%#c1 Î; ) `W^F&Tgvy8sǹBH1 [3(]W9n`&Gr(gd~0I8jo _K>[7; ZPqܼc>Z۝H؅v >+O 1Gz,~`y+ E~c 78,xR;yan :ԅ…u^3j3XsZvHp0@#)2I Еߠ drrz#^A9;~?©C7dx>QLddSӿ6x3>RrrxLԵ#FA>ɦnr ?xtR@89#qۚac}sS"b~89 ( [!yҧ2X7d⤂Ѝp I<) nޫN ݒ9AEXc;=}hnĖ9ݜ9 X>1$eqyĚ- do<3p;|zT#JϟRnH"*'jet:s*%0%Xpy$9>7pxa>՛"q ϡA<OAR` ㎔/K 珜 .yӼH<J*I$/~yOo׽rӧ'Fs5j]O,Lh=s=־k/+9ñc~:ȵy|wjnv*+>33{6]CNrğzWe|_dTTvq矯~H zd:VXA#?<v9ON#WЉºUFLuۃ8ֻEJQv$L/;OAG5?_S(\61cؑڪl..HpiI<\9Y9rs|qU˻ ' u=JKbDG8ݰ9mA8Jȑι9 !cuP n=:gޝeX:dQ?å&Sf R^Y ˎթdN_C.K>.OlmkVL0xu* n |`Jo8ٛw#w;򨀂N:=b+7bF60 ޵JɳfnXGavס鏭t0Di Gڼcx5)=>F8`eR6f;GPC=@VT8U rp/ٖo6uI`2q9ku3f6#,yBbsU9%@2}g8|2U7?鞤v#Oa rHl &Pk9S,}%hT:8ٛ ,܆ 9B DT!Ns8<]^9~z0:H\ّp $HjuR؈|ӏ3 drːcn0=>.ZLe#@?6Oˎ;pj`#HP2|Ry8@=8]J.981+YyrTc95VeЧI݌0S".Ԝ`zsI.?x!$/^=}c&Oau3.X7.sO< \ r>b1ښ5nvf! yO99sXdlGwp8dQ-LyH9߁שg?*:T3DF1O;+nv:|=1ӎ`c֗I}8:.qR@ǧg=4 B}}ғw`zwpH]?}H翯|r˟ݹڏ$1 ׿hf96JQ$T{;=z`n3v'xԲ=9sdb)c.q&T3Wzg13XH @QrG㌌c NO ;gQ$mڝ$cߚ6 aF9ct< % ݷH#%sd횠)'n `3n>~T7]90m%S}:-d~`ܒY8= ܓ"(bp~{}*a $W#qB 9V\Ox~U6#*䟑ҼB%4jGџ8 ׸QgNr3|̾&F9g9ϭ8gcl:S'8ҡ"t=8?ҥ{;0P1Ǖn;~UHy8C.qמ;49?~jGۏO=0}=;sRnz`9<{^?n&1r{zcORdbz}88=Frzbөڕ90SN`>E$d]/q_ʼ`v^+S; |∈g'rp[_^_,w`#'y<9ѲsR]_(<#A{dsaq۠Nzr+G9Ap`t*rx8cqۊk (ڼ?Aaqҫp2:'h8?ΐ1Ax##dF)/8wt׎x48s0xTn9PH85UNr# cC$A<bv%X01T?Lu4>cP3q֐?q6H&-gw@8۾;N8к{S dU+ fY8>{TqWٟABdd(ҽb9L`_%]^IY";?|N8Xs 9(_^=~&I?Z~1c>4\DvI`cZɰ8>˒:q 8Ϸ8xSrӟR?NۚW #L83ҥGޝþF=oO#+>qm$~J.OuO] {pQSZFV!`=H<E~ ZR1&=z=q֧==p+U#6N=O={ަS)"u{^zU"ҩ듞Qjߌcב[``c9ڡ< 拉N}__T&QԎy}+9h2x~9`Θۧ~߯j;V ؈˯ݎ9TRb.O|2x=y8γԤ>y@Q&{{N/Өx[keuX^@oqcھ?wm`>}^zץdҍOʨy . wd, 9q).ws qs__KU>W̎UFEHV0K8t ug ̙ b8w=t#' L- qӶHew+.0Ĝz \OGleW‘ȕ`z(طXc90ca~ =vj° vtu+eGNjc8gvzt,.]D3!sqDZؠq D(w`z=X.{dܱ@9Zm 3JIoo'5krS;m]EYI)Qʪ;q؞^[smڡs|u$7hqEz$H >}83WxQ(U;N<`sP^8/Ȏco1S78F8}(hI+ n>$K}UEPF0-߮9ޤz+Daːs#y߉[o6؇$$uW<b~B Ubp#gt un")>6rǧj" P݌r}s@~v9}i8ثp'^,]?|c$ z"fxGc9N*ppŀps>I` ?x`7=}A{2Y'Qy$Cd8!@nT8+!rF(`xŰnI~ M(\]ݻ_*u NCjgxaQPp.I'8<#k}2c$m{>(Gw:ۏnտ p1ȩCoQPޤ pQtbD:F228t^8!}{ܞ 89QmLy.irsMo-~q}G#ڭǟ{ru1ۊ=AHbnN=<8z|?Jv&ʼw=9'tjQs=S *s{J#?u'>)lϦ}j2^׌5JD=?8ڣ11SbYO# zPqӯQ~k6-2/Oڣ+Z]ӰNʠ)8YΤczJM=8:$Aϕ?"ފ8jwi6H9@M\喼1`2luS&cjr \+U%sᆬH1ñYIpd{浭6Jz$9VA]zKvlLHrY%zU,YB!vc=TB$6pxbNqTa8r)%>].~w=J`FBr7tVsLр $wH͒N/jIrz}?dc$5dHrQpg\#R;9遟sMʒ% rYK1FeJ{dO\le8O *h,˥*Epvi*?:ff_!:rxYsUF|!3պ.Hc񲂫t\ 6=[zfٔ:3 ^~]iecyl_2'sFtfGXbvyU_sڨnznܹ=8¦vж2ޏF⥷S;d[ ]fI~l%)d+卅 {Pkm*7FIc+֑B^ɡ~; xY=$R]BL60G#3gf^k2E%D><|zJ*W[vg]ipÂQ]F' 'ӑQZwH"rQsg [qzqVe3#,v$(ݎ9'ַ<MV#ep8X_0m=suGt}O Xyxg7SN?xLv^vu=}Æ$W7g%(h :f/A@דq_Ms$ft9͞VOg-\̯~8"y=yOjq=OMq]EyD 9#8ӊaI$z R7\n FH'#?U*< `v'9J ĴzA5b>1# ª:oy>{2 sׯpO_l{`W9= ݒ{8nVIXֻ .I3@%B?뤇ZDl}1s;v$N4"U|4e9n:}; Xa}ӑpHh9itlSJXpOa9J1"O .䟻1$0C>tjw̕e_Woo0#sTvOݑPלmi3cXAUq ˝r;;T4>d͑s\bDufvJHWw%VE!D"M"M_-y^Ā.s<, BwwtXWr7L1`OC#{Wy^8w~pH8Ow['9=!\u9< g "$gtT `~<קi@g0A*Ot83XIC*m ts yC3Wߴ9:|-l<;$9\֛'NNy5PGpci 9 JPsq_zȤv I=UH<szз%7#h:2dJmp䁜/oVd:er $|9__xɇ,s {MmΈ.d8c**HR98}.ʌn;L pz*!|RZ6Tv!@'5zq1*)?>[ߌ.̭^GX#X W(tzﭤ2PUˍ(|W6"&1H\J zUG 98>ՔŒ3`޼\Dm[7x4dIQq\B d7LF|qU>#y׈:sʐqZ2',I(8\zA5cK`'(^!H=ssV'<}N8A=ga*m١I(bn9׽N;(?wwIqN7~ - ]Ͼ]z]e|>q3ܶU;|ƹYcgp9s_P9[~pwK0HMr 띬YCrsۚ?y~#oޫMsS*نc'f`Đ\(CgYwyk]"(#\(E8={W? BC,w ׎NyD61]ܸ޾بV-Ƹ,;Pu9@nW&>`,gg7d1{ y@'.#qR7v`I\c=z"HJc9<+m#94F7#BPcu_J~_0; I9HǩJQJ=BzWoq1cuV;0gMBÜFQB8a'ѷ\;gc+ aQN}qtS/9nB轰jEb+Vc?tqjz VP0:ӥK r$WN3_3ngn'ª N ʱt*1I<GPԶwdRq2Il5"vz0$q\)#$ibsp1M[8sjtِ\; o! x֗w,$rNgہCW(9#n|,Pq\Қղ7 { ݲ*^>R09!$K"#sw SN6NaӟZ}!Wѹ=jtl0=w& $sZ+'$nrANNKќ(:=۱lUt>bz"ÎP;Sp>'64dTszz @|?*RHs<ߎdE`~Zm>B{0zucU[1XY_,.XR8JRqrA$arqf; 3 W`(P#_˅r~V@qyA=d*$ʎ+80߅ }A͸giO8Qf?+?\WⷊH]R$wL W|>ϩyb6$'s+c'}뜐 vHaWΚ]= Sr?Η#rb.Xq:8\]~Gl~pF; Jr 0:s3ІMs' 8^kF KnA `vshgc3C566FK8AnO=(G<,pp*,r'><ɬ#Ac  WkE\G~m]2e,zvvLs%U g|/>= Щ }) sqL'Ρ01 Kbz]y gڛ׆bH^:zY Cwc h# *Bl9GaI>,pyϽ%F19'=5~'<67A8aO%5d#''֫iԁxsۊTP81l${5vNNOZO;[w*8*0ӑ>)>f۽ی~8Tꍻw?w%`p \E˩fl;mv';Pp(OLZ봙9ݎ2W$y z< 欹בFVhK&D' <OQ^ ۃ Lyfכ>.h'O:3}@}x nts`qMuI 11lK?SLR!O@ϯRpGH9(\Ps@dJqwc#N1F2}HsӶqg8 `Ӟju8N1 `SOcq{{(2<܊=)QAyђBHI N;Q>qN:g}qS2N[ŘqWv :9!22`!rF 85dS$N%yQOn*pF0JF^A9”qѱ ӦG$pp6P'> ,s:=IT6098F9<G@OщS^Rr@鍿t߯N2V#Q 07NyڭDrXm#8ǭ'ѽ t {g$_(?1W }~㾇O;A8==sя _q-Xg,T1nMm$>kVNބN}9q+էi+z0#)C?\i'1#=0-ӽ|34'$|^9h)v_Y s'1%Tn'a9 ֽn;ډp#[O7pGPO^bXv <kYfڭʁA; WF͊). 4)dg'r r+gnrsQ[SeFFn/ O9=GJK7; ?*qQ) 4p3d;tˌ.r `⵻w1neG'Hl ;2+nݱj63uGA^f!yY"EO9#kT3) c'9vN#bt1#sTu^qɠDaX 1e\cq 'YURPNzSՁ#rOʽ:|*ۨa ,3tAmqbFǷ?Zv zdq 3LvdcNG=GNARվS܌(c!X'yo1ִ}v^qġ;([1hlTf N=;Xq#p=hΫMeWzaYnAR13溿XoʍF6 ?8ZGf.i|¬c,F`H9Jl\3vǖJ6wϸzqRxO)t#ß@5>N1z5q϶GqQ)ٲ2nW;;v=TF^]tRA6Eqެ_t{#2q\Z]uW8FN z#ujwFi m}1iß@2yێG99+⒨ry=+AQё{u91)HkrL /,\g$3=<  fXMK7/>2CcI<z!;`3`ۥWfay' xZ pOA}6t)CqrI/9$@8 ԀrCx3=l83"?kE#&q>L3x5ie$NuI>Z=:[}hA]r~b:]Ѭ{e*h`[J{CF;z!pqRI+glc5zdݰ>amFܐԁG~uwV!-m @2BVzϵtY|Gx.1''uՉ8Q\F ar:}y⤳%ۀ3W>RB3'x 4j[.>ze)!s<~TPFxmeqH-(r1p@nftXqs~PH-ҹi/rI<>sR: 9Py>"m,]Xo_jQZxIbiU7ĥ+gdgޞøR7z ޾OܘP`90{ӭ)ry pT1sڥD{E[4oc(ă.C` u>JJF2qp,:}kwyq*nTm%18s ZLkbȥ$MdwYmoT0{91|xI] w(Ā?N5#@3cnF0LD1Qqw `*/'#bfo̓3*&f~lG}/fpNM z^n?ek8fC:P#p9n:GN!^!}򓁵<1sqZ`^dcg='Wzg$8Z3 휀spsts^Ip:ggҡ}ݟCs}g>\o\uQr3[⥗$nc^px^ޔ/'A1q&(8n*6r=Xr08s1ק\ʢXzx1}$t_?u t19t$pF3ҁ31lӌr $psxFW & qӏA{FhI\`v݁%X= +Ú-SAc qW_NU @lc~UbuT ;p:NUNN3_OJwH ]Z-,CO}E>tO\,N $\ǖf%sUw8V$lǚ1Ja$ӯp=z#TYF:g kwZFs4*2`6@ץs7qWp S#Ӵ ZEQ?&r U0pr@:pko>Ṿxݳۇ#ߍyXos!f$~myYAE9x692ٽoP _>:Tg$ ٌ!sű1cc5wvtR1َHl=VLd*0>RO̚F=V\ssAb}{L"9AR7#h=DfkeYiWnW;Ʋf݄. g\c;I8<@93XD!$۰:t?n08;y:(U?.1gn2{+AQDm;H0IS3X$F2nRHۑ#sLL{v1pA!qz׆_)Ce*ld\\۽f0mMv#eA+aSd/91sֳCO7ogU_OA3CW^ 6e02Kvdr00i l4K#FE['{wQ R_3>n*37vzu(ҴmGW1wBEhK 0q)ڂIeqn 0Wrg6Ubgʲհ `0: |­GE})6c, ^>pr y|Njb5 y/*&```2On*b-1]Z)[ulRYL7)29`Tc?1q=zQ$!+tjgϧs$H#dR07pjm5ps]d.PFJ ,}e}jv|Zߴ@"8!&q́:czXAJϕIKo'RZZqӜyi[GΎ#3Ź76ŽWCy,-:A-T x漺)>R~up~M眞خF!Cdsٷ_{J_8#|*C!NG9z;4~G#{r3ӞO)C~O6 A=CczwoRoxl*tl$q`q{֝>DXNO>qWQ=8a= }xקCS=~lvo޺Y&.Jis|qZI8={ i=~\ccMDwt =qU̠d-^:zrZde܎_p@};rny7PփLwr0q}Od94z=sx91:-c'M?A=y9D?ʚH =~H@GN38=);cیgҵ\SPm9VH͑ӸsLr9z։1ʜzzzwT,LqLhP#9+ϩ=i6O$ʐH\!d$X۸%Xg㿵{<,;v1b< <_!:wpUAlIt~|߽.H FA ڴ)ONrΣi#=;ⴊ"2Xƃ,& YqHۑbrI8ߎ},s;s3o6%Lq_#gjCI;PquJ#}od=;ڇ/QvQtX7Z#˂0WrpH 8}Nm,3})Cx )>nG+YTR>`7#nW'N)=K=J۲Gų,;v,e;mwjq 9VuAO?.2xSMgO s 6@ $tϭ^˴u?Nk{lLx2=d捅[=fR3ןY`ネۀt¢lc 0qfG`<qsM~g\OGPVb;;ۓL~JG |Y@ٴ9펹㊵3e%yO@?+"Py9Q L*㹼, K 6~`qϿ>R@Y8|ag3ZdB1rXOJi߁ Y)ltwPh(FF #(뷨{Wvz~*N\ʻP6^ۜV< C:{-=䮕Iڃ;TAbA8zRT1$qXUWPv  z30__q,=I@ifL!`<\gPrJ!}c%xu~l» `sO:h- HCp`ΤdP{TȮ~WK;pp@eyF3V i \fU W#U?R."0P8f#ҫB|=3j1$E*^y72$?My1ӊc1ʀ9aOh7 F=A4aHm,9rGUA898݌)| qTmQmr1=;g,W`^vK6nKyl@!u%v=j_R4ԀMÌg>#OB's: inu*"Q2n-׆ ^xRʝ}pOZ}^7ҧr~\^NG?/ ӧ$m( G~4Mĉs 䝃8X981޳ǔ?@8$ޞO<7<GYs s~^cH#@`)9,~/AGPr^æұHLr>R wsi輁\x#G'!qA'>래Ԟ1l0 p~c^UiyNѻ>`%ÙA C G GyL[2r9<רвXZkџOlbr\-'[* ON9L0kx ~788ufPv Cv$9q}ԆR@_a8)c \ $@[v=* {X*O9Y s$_R]Zpqے18$ e\$:LFx0Yٓ3yy$9pi)ۖ$/9R}&˾V22;R:OnVlpT(#qpGךn:H~2g8"\)'nKi 0:r9)yƈ\,@8#?x`uݞzjª3l !H 6;6:Ҳ5݅QTcq "ԎOX̑0yՀ#gyֹ;%9 U# 38lw)0;TJI$q=kgwgE B! U9Q zڷ!2x'ǩbަo3zqOCrps 3fV3x%q^ exC.Xna6XAX(Lz/\08YLJ8hM%I'sҲNF>bJ==쇠ݕf?2NS$V:aH\g!OsкGCfe22x>*\p7 H9¨uWt8j0dYfrrŕx̺?!\zPs8XH$ f;A tzЎ8m9?^*uA+Wo?E9TXB:x#8n+J=Wp>8T0PTN}>nsZH;c1ס$ٽirFtQ"GFSI=T1ϾuRJy"2 NDʀ $6Ȼr9⬀7chHr Ra9rs:`>t8ab Sr}G it yfP5cEڭ}'<r:\ new?'R4(ȅ r;gPν3B@?m*z=1W+<~ގ$ЍRTFAgxU#q`FsۃYe6@Oˎ`pݎA .QfFpYTsN>`Nxac q\o`[e*X%\1=;t5ۀn~ӒHW hЌ;Nr{viɿ3DݎpI?9#_OyG}ǖG0~N N7SnoGlTX.׮NJIP |sדz)(GS~;P+' @su'sCq8#<:Qo 䞧'7GRHJ9Ep<w敤r@qϽ+ߞ1to'ЏⓈ\]Sq'ۊVƇ8?{<b*@siG'/L)`z ˓p+`z-XUϢSm'!r^AsjNTr:s9 @lVNz#?J qn#q89QZDہ:q<Ґ ybC$`P ݱ|܌eP;S w>t49 =@{:Kk8HaXs@:pv;w`ޓg:``䎸X+=c7's'7mwt7Lu)^oğ6Tl{~x#.K1`s<.3c=k2^l_k͖2xA9hNLԱy9ga^N+]YCsf,IF} v;IO09sްgZ'RT( }=ӚlU~an'{mC9q_2 {tR6pS_Oz#:,uYTDyV\j#>a.8krŘbb猕|tO}<_j,ۙ@$0n38ѻ^0_3O/[9=UB 6v8cּ>ӡKp$e U:?5H },/${H>#3.zMgV ܌av$b+n#,]7UGF|,2xld t2ur>fؤ0yTCrA+9>xD'ܑ:28'ql{*h!$9?=k=\Gc۞i |Hwu p= ]spdG]3dH2]SYO15+m ?.xҹd Mr8qH 4a"Qp1zt$%O3jO@{ci{#9Ĥ)pDS=+F~ 1 vɜLEc->wG#=s )7cL33rKdt㸧 gR_-%H<ҁt됼t:OL#cG:9=q9`vfmb˂OEbd S t} MmT3:0rp@qSJ OBv{֓bD*FNN*rH줭8/jlғvKn2vz:}uW-I_w_3g=P{tǧqYI<~ dN0rMN;y:=H1c{T"P3Ϸҥ g1sY!{֢S)!8{zۏ'~Q\fUz~t?db_lsz x_b}FVRQ^`8Ƿ<4e{c}FWǞ9=K_O̤bo `Ldךk@ k q~h>'yIvU<ׁݰ72Qa~[}1?j㯠\@1ӿ\~LcJw=<~$K:tu=:T>ա"{~]K\z?Tn3=8?j.q[7SN-''Is~cqSg8֦:cJlhN>wϷl3991::b_~RN~ZH{SӧO!L> :>YEsz:`{ⵎ&^8G^+暹y$?Ҥ?:ǿu-i! z{ګy2AMH$v$zx>yY-۱{Kchz1w~ٲDD8Ԓ;S G'5 n8=h>=^X=Jvd}?^hg38'yXdqӎO&1v#81q}FFi3?\C.dex808 x?N.)E?j)# ^[gb?}r%rpmHP|W:*n$⾾|#%%r]&Lʹ+[*:zV7 W8)Snj z\OAm:K$屆M $.%6PwmGZ$#mc|צF/ˌȧ:0_W :qR_B(퓀FHN%Y_g3֒#BكJ!N2^;gҺU#o_F:uqҵ,>U8Ku G=yr_2o A1,?ioYrFzx8Gj6I#"6 [iF:l nʓ.  P28ϽL-~xԮ Ta0N8#Ǎ#s Ӯ}IC#ܬ33y,*%|\pG'e4ZOo"O"#82+ډX:Fv̡U]'<;-x w [hEr- 8^92* v|gclں., dWPP L*2I1pMzyǨaBx]+@àxsP5[|<Ԫ:Ҩ}998=FX[@w# gg>V}`pzRqc)mc^`/LqnQt9rgg<~G}9^ȸ989Հ3qJd:nzgg$Dǂyag=0?™ rM}999tRl3x5 Cӎsǯ=&N=Yh\KcBG8l222}2}&Y]v#9n3*͖F:tpqӯa~_h}sTe@pyKB+:wק֪9qZ74ϧ^Hޣ+}pzrZNE17Ԁj 3ӐpqnԐ0>F;uz!a'zUV84ERAyqҲt5[8 qbd=O8ԧt WԵ1ʍs pGy+~ jΙB4X@h` V2u#TcϜViePL˄s,[8yA m=JOH@ b]JMk*1~'^,6QBd+,\@/ޒhɑ5R7CoаıLGϴp7wSb6g!~3S¬rcN0|0T9Poʪ r}psҠemʎv= c-gbuTOj7؈b瓴Ɣ%Gm@'sW!eF-ʼWvUC--ZIf vT w׎p}A0=F=k&ZG`@, (Vc(8OçGrS 끎 {b NA%Cn$TqǨ42x nUѺ* [k\L1 s)rSvd}18Tw#s!ݷ2@G<Մ`@ZE˸7vw(J#m=HoL'' i@z44}M4n|2-!W 5 v㚣r'l.ʥa9U#17 72GӃَ2;8qpqR66I>2F7~AQp s11YWfr&X *fH@ /B>pK,3,F7Ey'tg,n8\h[vrFM5w6RB(@'N8IoqtT,c"F灐0im̚ h̶pKG͗'9UAjGJ3F%tNK}ϥsTjRfp4rz&7912:.~RF9).N;lMybV=8]E/C_'Efn6ܱǯ^^rAϯ8_vI-[#,3<?s5:ԀwQ@8㊩-<;㞧<t #ҳo'r l3NJ{N3]![Ca=oʭ+qs׃QsTenv@s۽xs]QrI?ϥ4ɟC#* =Ew}?kˡi8ӹ8ߒAtG/'Fq q=*Q * lw_;#נj\z|17c^1 M}zj? I8`A?ԛN'8둚]Bzc3sϸo3$RA#P&?"Q)083ЯޡqAtaǠ'޵^#ߌg搁Bs^jC##=p}|*zzd?Z,Du 9<[?p{'UqTFhrr`cۮ:zTeC,X;0u6NZܹovte_o |`Fy`N֩ KXR Qǭ@a' \`g=ϵfnLj؜ ܜ`:0#B KuؑnWx~Pj!y]q;Js+1D)NB$ه%x#pt:Z-׆dnHv,Ldt54H8PrB'`WDj$e)g9%^OBz q>)|y  >ޭ85ZԖ-?ewA$%p18jA~|;:=*2e}}ۨvv»x*,6=5/rIdS<% ~N8_ޔ! 89_Vk>BrHF:zݣ:iBff~\ۍ Ʈ3Sx>fG`|K#\R%m=FS8sR|TOQ~uY_== V>\uoa֩>psƠZF@1vVW .U81es4BI bVnYȽJp7g##3ֱﭙXLxd`fňWNǥFvќ*T.RXdzI<֋bٴ@Pc)^vj.ORٓȑX3+l2p8D &+l[v0\\Ewѭo$1]H|<m=Ac€9ۑjuߡ٫=otz Lù8w49䁐yʣuiоV1ry Ӥ $|bH޼rq٦wI-(VWZd7q-vFfF#[XR;F>*$xį =) msބϵHmZ1)nEظ# ]Wfy$21?t2HpGCץM1Ɗ6RqҽX+?QmS G o,ܟ@:cH0q6< \z [|ʣ \Q o13n?\U5[r< rvM?" 3Ԟ3C(9眷N:Hv7;V! ꥗܂(Aހ9s4gr=:u#-p,|ͻA`S !1O_ŽЉ[f rqǨlDR2 , 89'$Ґ-Ѣ0 pvO#;*wͻ 2:c_n nGIa鞕pk48 ǿ3xVMi>8Q׽0}A݊ŮkFA$`{w~ŏb8`zO0=6dzRӻQpXqth 8pF1C)!qpxӨbRqH\[U8IԉlD$LJĜp?*w猎{ +;@$OS&l"<_HUpxC¯M#$ֳ'a"v{g"yXAy opU= N0qX8 ˟VUR0*0=g=ǯ^ߩ 2OQAVD ۅ1=k9MwLd0@8j;D99z H??J r02= >:8$O_?O9Slͼcyp$_ϡ=qʏ`ON?'>cr>zL{߷uN9?\]rpr0=^=&ܠH楱 x?x߈o5r SNs`o/TgvuZY ` HsLs_e夼ωOr U꬀G!Zr($!$qBq}k"% ق625t$u؇. zNZ[B 3@`(g)?e##9$v!-~e F0#ڎRN^su)x+P7&rԌv"@~]+m#ӈ*q~Zeͤ\?( 'f8yP&P hcsj:; \|ź=:+XpX9W^<|sCu\[د7)'_Skjt>SPCgvp{uq\՘bip=2=xY~' d^]X`llt}\Gcq gw<-˯m\< Ww[%T-AbĀp@=tk8jg݅]AS:_E[6N>V=zYvo@g"&6C,;vx ֲ)_9 Uݜ6*63cH .ݏ3U's۔9@b¼,[ p ~PN98###nm sZp6O:;TH{n$m#oP$.bTb .RQ+?<w|8P:cߚm߸x#֛۳rRUp9B॑XUF UcJ\5Pd9NOn6zI ͼomSw9폗bӧY!l3gz\׉CNާz-Mq꿀'*=&?xeG<9$M-N:Ԛ'fNyIzSu3$;v$n?0M;w˞?ϵ$N19?H[> Q+93?~8q2;ҕqۏ|$]&r1y4X.{R1l`.ߏG(89^s$OZ,;.s#{~|1\sN:=Ii8/x'/qg53sq$-N~wIGqx?j]AzzԨK㎿UN9?)Dd!Y8 ==EqzBF~gםZ7g&%2N7c >־p!| r8?^r/-6N20A9:j+gp8_鎕zz`%xWo-ՙ<P3T'yG;x7q9}֚ݒ䃑Bz{qAԶpJ61h9N`U2H|ws c(6D3˷ 9\p x?.8aG=*$Ls˳ Ozy8>\68 œ( st ޝ%ʼed*Ftc2g>k;w= ,B#uG9$dOJm䜞;1ڼ j{e! y]}p9=1U^ON.R@ ҼW^pFA ^]&۟xaH9W $cOZq^_x^5z pï&vt`$36qCg6.xM*V8m1,Đ1s3Ą1۹ʐՏOn: d>`smC9? 6bQXt8J@B)2Jp~ozzDrXchm8z9uXE$ ^8jƭ; C"Hݓb1͵ !!wvGio58%9M2<9=+e7  xW\x<98鑓1֞#NX`M N8$FsFåh0 rAlw<:T+ qU$HRW$y=rP@#pzi$9Fсz4Xcq<F3U<?/) YQ'quY1Ia"JUKF-l(ȲץtZa6$=#jj nzHT*Đ]6QݽOs9qNz6h.p.ma_ 1;_{c&;zc╥v}ޚHn;c<:~΄Kܟ^Bp*pxYd.Nqr={tUiW@9\{VSv~vNS?8yHBN}0;Իr?oJRܤǯNxz֗\-nR.8;h?@}g'HP9ϷiO8WQ\vG#B~Q`sQބy BKd(^}Or}K6H^ 0zzB8z>0{?FC8#yZN8KөT_qhQ~#ӧtBz۹edOלՏ7=N9+KCQadrxCϽTi}u' (={{$ 4Hɑ<<~UK9U∏qO\sP٪X#Ң'JH`9{ۯ^FyzqS}&{uך~1}E ϭv<֥SԑNcpr8~t9҆ =*[krVHrUm$B~P(x`n<8>e~~&8_%d?Q$$/ZRWKCӎp}kil|#rQ p>{OPUQ@.:Ucnΐ u'< 61cT6qqyq:wW?#)Y3cLfWu=PFpzsK89b x$gL:yߒG;?ZY@8@T?xAzS9 Hڼ1qKn\8br 85 $p6Hc&:9<}`Cߥa"nKU1ӎ)4霰NnϝW!Ih+;pI\,mH{ {v둞j#ȝA l9VcЁVIĝ3# ps%ned!1c<6$ d001N; o(tdhoܮsnEK(46kΕci]v~}@sF凔>W}rzc=Oqmh>266D ,p:(OU޸5Hë83<9'% F282\7-N"+ t%9k=w$+'9qk˴3εb>nA}qV9nZ27g>QdqӦsGH R__׬xorRs$r<\uIFݣy$dilqI ɌTqߡ^yw*72dx+Tf1pypAW*{g>aA,;Y_݅@B:v8F72@^P;ԳEN@NX3;_~95K's:rƟC7F$uq}9Qr~^8ʉ y$p#ҢU+Ջ sosb*qa>V߅!s'=ErztIN:y8>cQWwPq>l :N4#N:BpxϾx"2 !vqqG;`z`c#8?Ωȋ g)\zGߧ9f~?.` B88եN;^'מG\Tʽ:^ߏS)LnFq׿?j8\z!rˎNq@83ގqr#gϩʜ=Hj3)D#<r'*bcjc(vprN=j"{1bF7ЃqPg8#Z 3gPiQLus{*.4<y wӠ4H'Db81QRH^NU u4s As!7R!#OҪ:sL\boӎ}xu>j&) xGB2 a&W*d-z^CIŒ|uJ9%d<}+"5z0le OLfi4N0?vU$|t#Qr\56 PCL1%#cus\W6rSqAr0~X]߼`9F8%N'P{뚑"RI čB9:n֤8R&B0V2q㊦mY!TO@KKǰ|.^u/aʙY7zgo^?o$J F\/׭eno+8݅tJ9 4 r2S{+鿃\k\iQepJx^/)/}|k1jrȷe~Sھ`o2V:l\~1p~•ҹ7Z#>MHfs<kpX38qqhVFO0#\sUKa,$lqg6n3`aT60霤])e 2g1zgٖᮡ-72 ) 8y+gSwh8?Q!Os,-{"+Ua"–`8"8B ?%9Ev@8S)㒬3Fi! 䁚d9@daN̓so5CRLJ6#r01}9%df  P_QTfZm8xc%p* [xHd!2~`_5O#,:VqN <b(_ }86\22 m ;7~bVcВT_rz[Lۅ#%}WiÂ0G@yYAܐ]Gg7N*kr@N88#YIXăzdmC3u(á-p˻Hv^dCnb{m=}F>:=kh_!M~콬_fRd[)6 fC (iQ^6f bJZe3F awc8=sIcLK ݣc>Hl(+HFbYE{ynm.gp&Hb9y̿hHo%\ 1O_lףNWԙ"TxNaUtbV y8usZ->DLpIa?1ߜsXI(Ms1oͨi_ZiMF6:wm,J Hf_*@Ićxu=*"a) 9 xzsY%qĔ`*ހϼ<~11Aj`&!Ϩ8# kKկ",fJl+1p^|icZqs[FS@R@;s:Y50 X=qbm%'΄f@$ێ8#82٣ߩtmJz`t @3+H[H`IL==ǽ9 Cc8&P 1,S.8Gco G?Z(<Okb[&]=L_@[2=:U.]; 3G`Ӌ3өGZ9#ݎ2X`}x~#8sUI z3؏njL}}}8ރsz]dیVܥ ݃x֐*yFc׮qM<{~bøI2a'Mq@$ ~+-3>Nw=~?G.by =38}*-ԡ2pO?^:9SQɁӰ=G^v#ݽsS˨3~dK<gOSJ7VNA'@'۞*ErO]OP䡆zpIHYriþ3 ֏BO'zqzD:g'뎼:բYR{$ëP2z"u  \9 8}}zW.{W֤,I*O8<]ZOx֩ x*>R9 q_Zّg9+ۢ ϝOw-twFl11;Gq]%Gi,~n:usq{SX؛^wELȬT 68Z̷bwY _t!O<{]پN)`Q8A(pJž{>`P2DJ"eGS])Ft< 4KġOYDnx=HHӂ2ǁ o2nMMoH]IP4UO.*J qgsӞ*ӽ2O^5uvcӿl ]1mi3L~n1sz)Z[d Ib}*p2WWiY9iPFIAUw;.pj1>mrcSVu'ͱM(~X1#t݌[j d!1cr{ҹ'վ5C |jSis&r܌nҠYfwNB={xo`FX^@e Aے{m=GBrc3yN(9Gͷ$AM•f\t;j&kbE#*FI#.?AyE@Fpgj'cг® C*FkE|NX9V=N rb0#)#9 z`L2c¨$k{L3aٔ J'p}?U $O~YK%N9Q;gyw[s®KG _^FvG⹾e;m=_1e*G,5wñuDaϐby\k+d~Y9R#f-CߎsSa'!*6Q\q鄥sip(ӞhtR-B;sڹ-Z]M+4y%q#KhÞ@O`Erצ}kXLZƥ?7\cOկ/i=GP)'"2@8sEN)L _5v hHw@rr=E|kRӋsg;nU?x(@> M(?S?i$+ndKsT%Snqn0_9r֍M8ߡV%],DI\:"^oVp&~#5AuJYwapFO+7) 0c`:שV"i,H ?/9#XznV ^=FOQj̉UpPO}Uܹ+}qTИpAwG sS!ր]EFcc=r9a(Nb,Gi$SLvXA݃CYlnӃBZC⭦d#d r^C̎rw9!*O8jo6e+!#f2zu民cLn-*B sWwN^GVߧҹj~M> ݷ+O*\ 9% oh-aU?Q 7E=y# Try#>{F'F1{~$]q_y#d֥s )`{#\ձ<8m=q-'yᚷacۓ?^,Dl/BV܃)^dO^JW/%9>t .s=31Q&Iy!aUVV%oԜYG7\V.[ɖAjg6yO0=C7~ J"9=;>q57Os `wP< FoΤXO;M^UrW'>ǯҜF=}jy}ЖJrG`=2}*W<38=(sK'HX$vs9Q9FO\qFOCB`u 9=w `sy889&z)9H * {.:T' JWTs{n;=}H[81^'E#iPĜc`q\c)+C #^E~ÖWKnt Fr:us)H\?NWs6ݾ |@% =x'"WXtT rq3qNԔ2X>pI%X`rG|) O#sєbۋyoA[aX#yjX U L{Gzh4!UPyڧuWUU XڭڮKS)3&Wf!JI.A=xt 0N-~B4-B^m1N9ձ^0(yR2Q;cNqu鞂R .:2UsIZBR1᳁GZwRH A|cZ_#vbԼZ8YO⻻ (aJl!aF+J:آA@>Td~{yp.t?4a npk/l adve(d˞~c׎H5(]cO4v^9Al(#,ͻEjB@Qp6'?Zщt 1sm G'd79\'nߚэ' I3֐=1|rF{ֱ N0m{c #~8'G*p;rN~p3S v;z\qڔxp`4RyQ1Ԝُ{wc~``pynнrx溋_~FBaWcǭh!UNx?/\utr00W{^#68=1޺Stۑ{WvR_7MNs_:xA·+ =JWZr~Gz%M*_Ԏ1<$e?+`e>eCNoԋ<ACZUVQ܎I=A3[Tf4H0PB;b3TʁBuw\АP2 {uYDXe`199=NzW^^I؟jv\;f`0T$'pA˃S#^{Y5.t@w֬ <9*>mʀF=>̽V(t'zfWXQX"げ^s^,<)|W1%pbKu=sȓ#$}ۧ,gkH-XG͂;]9Ӗ]`<湑țqC?(6Nx3_Jb*7zc'OROjl9lk0 b19{NA\=G~^sÑk&2ӟs$FvH 9dY\ /˞O>׌rrsgL pC@Ox4I\u%0m ǠuKq,|0srg9O8ϵu hʎxۓ+7[Y06# ێ}3F|Fi*Nu=@RNxDc_=T#`[ uɭx0; sGrkȬ'wC[Džհ "ѸGw¾Q(Sk:/}Oo2gSs)Bwr=WUsAzURzz:SaQ1qc 9>UC`tW-W }P{{}\e8Bzu=2+02A1y On*iџ!83>|tf$ _KK~Gg?ŗdm_g89߰# QT:Jӷs}!q.8~Al`*Ӈ-I#pscg#HoYlBy?.ܨ=?\Jé{{vgg9+Dexy}#?$-!8 >ԛcNJ_MK=隤CDs;S}yϦ>Hd2:_=F;2;>xOzy:(c679lr<&.YF~OAGlb0A1.F _!'ӏZM(X Ӂr:Ԫ$|0n}3R3n,sڄu9^G ,a+|?Z+Eg-ykE]/dvf.0}=jCy_zbCH 9rN=)) PpO*z4R#H?t}q> sϰ 3;\$B1;Jma۹<-t=J:*hdr] ax'\Ffֱ0hr63rzp=H+g7YSS?xIUTe%sQ³1`?^R==+S;8 qL4i\.p`Kf 3e<ջg L,U+FH<t#;%1±U:澚PM) |S8< >x?X2]1\u,#iʶ*kL1 居*E}ÓNp1J:v10wzn'K;J>#& WCש xvNL`swP Nx.fJsqPkj #n F\d23ҹk|8D`3=mϦzz#"#gUtn[a6:28{,.;])v㎾QsoמTF$`P=.D8^~}?D9HǥCdx϶}?—׃̚_Y^1ے?' D8w*up1ӿ犗3E'{sUf~fTbFyb: aG<R:dzws4Q"#{_JnSԷRHHϧSq >j} )׌duƛ{RsQ >1; eۧsIBH\S=z~|sߞ{Tم̟v6ymڸ=GK>X fnڤ<#$WL l#F'aFއYgì w1_m!;]%>k.ir5Ć ŒGq\xebT#*z^q;[87uݘw(@Ĩ|V$d ÒCc'N7 ; u#JQe/pS`chxCSRnEP68VeO֜gcsӌ~OjOPI'#]q}ە kUw9%OL*.XW'~;ka Ӏ}qި*@IV*z~?Mbsʸ8cO0y*eEgs,H#32nR鞊;>JQuX O,viFPFzf 4krcK!b$x_)#^ܹ1' 7RU|&'؋4tbY ݘP`g 2yfh䩒F-[cnUԪJq}xcVXs2M=w 9xM=>F̅ 9lt{ݤ[p >1A2FOrq[I L~\uX*ad^yNYTdXd1sOD_G!#=`aK6p6.rG2BsךoDg %aI&W7`!u[ F8$ezVr:[$eN F۸/Q°0g1]{קJ(cJpυB0[;A8<U6\ `t:n\u &y`*{c&2̍0Ko4LAHԊ#,FWB`7 #]Js9,QL\t;>&[()+Hf! ávCWht`($?p  ct0cp:Vl{YYTm2;5d=uؒy,?*1ogA0:uR2 u8<힔h* Cy3y{{5p0Fc#O=ojWgݓsT$cX/ZI*QВI\'+kn?8a '#=՜d7 9QgI %c ʕs3J wdh<ޞ8m!`)=~np1R7zAjcK)s4{& @ݏ\UE!UvHpʕ9SAǡTKq;pۜ'q Ԏ1w$b2rA*(.$gIp76zw%K!dS$U}Yw'<HkkƫWE۽5lg;H&{|1l9!Уy-EqL&pwKF`7p')qq5ùZXK`{9#8M5ⱁ ydHʼv X`ymU7Ʉ9]f?f2Ǔ nz;3GJUxKWs{!bAjM$ !RD΄\JGiǻ2\$Q7};G&ԉIep_!p:v2翉%Fh*o!1Êr-s#E~u9TS- I*Vu AmRGv[N6ZcltGE5Ւ\7wMάϴt=On:Wx"kFr  sOcJ̨]-!X:N;c{E Я'NZloV]>+PBb?1=km#㌅W< c#zRtlǪׯj!FNyb8zP0zg#8:Pw^:\ϱ?7\gz`9 HcyOJ:zvt]1`ƒ9^; O\`kKu"gpx`"L68x*y9A=Oh@! *i?pr/\Q)C=iC A @GBwq=? 79y(䃌<}MǾ3TJ 񜐼cVU$t峞{cڛZ msqwl&AǓQo qߑ? `OVb+Ԁ'*_=s\N=0Hr:pzNT}zu$|y ϿlKT)tw*rW B' q^)i>F :Oz0l#FSϮ4٢ "gfcq=ÐMl@bD;3w{ak;4hˀ1nU p>eza| Nn2\Qk̎aK-# Ba9D)&xHtA#5J|Sa'tܴݼunq&#Rl'IJ䱐EP=k548e}e -mxa˸# cC] QϘ 3*nJskXG$͈uKI$aܭ#Po! Wm^؇T$&r0 t)+lrNm>oaR[-2Ms! X܂zֱ{6.x53JH%]ӌ5|*2liL&9l/C#&cݻp>Kʟ*D0K^N 8i;ƒd+bׂFGoJ9՚%Mu[hVIvѕ|s׊o>f#!Jrpb wzKzܾW1&)9q3HkFX~Iy;Yvl!]|۹Bی^.se+tXRN'ǥw:57 Ta rwH;tJ. I&$FB{SLu޳[Nc sz֎NEi51q$2o~B3Ӗbb >A Rpzr>CK :pXdh0ɏ0)V NMuZ~k,fC"7TX08暝^Eibt;2`9*p&S,Kc9Id3#83p? Ѵ!Qr/Z;j]H$GyTnCו'8LYԒQrodΚ7lvz(&rNU-(w]99u'~Pt#LjXc8zMhX1G9AwP[![,ׯ^kU+-:޹j /),%J J:W|2[FUacPp;s]lLs;>TJjK-!fymn1# yZ,%VvQ99__SI&*V\!( g݆T\4@Ϝ$d$8{|g+|)pOl$FA99$vHR}}szsnJϡ՝@rB8hc!2Nv{zɪK7mٷ2)wO'Z`C6:ݓ`hH q(1N۟y,6nv8m]T<L<p~`G]ēC@j6!8zxpkf&/QbI;9pݐE9Ui8X c'UvdnS屍sӷ\t. ̈Yp;֧V|=˟70U9Ϧ $+fx9n(9ۇ\c/jÛF}zmn39j=}k'FmGi@As! 73{םV,UTE2G2O嚼rBI d{Sbvu^8Y唐mq_#w"m鍬s:7$C߷YZ*œ ~ ÎzsޭDyYJb.,a¹30?SO ێ?Nrszd5##:s:|BFADE jx.#n{s">Ojϟq\$i7Q_Eqp8 ׀x r$$Px18ɩޢvy2^GȦ%4iiJȇqb8UdOlH lczڽ쥦mzyyaCF/9e8#A+f̀ŕSq19=ҴϢ‹FVr]EPJ/%rd;*pqܤ H8ENM-<*UX؆h_d$'p{ c"%y/2kEMS=3c~:|*'nAUsz$-Mz'r!=ɑ?/x9b^9WɐmTvnl}*V1rT'h޺uQ?/'fOaLuFi#5HnkXUezEgxR}B62ޛ+0iA:zW՞9Ys~$sJL|2#w#9 Hd[  r}kaޘ$a=:j꒮sHָ_CѿLj&;]q̓uR;Ex3K6g>+c3JkYc*di4s'GM}cIM3d#N*D,rܪ7}상"2Up(A@s׮@qIVTq=z shva~c׎:ulqo7r:1#;N;<6 (%PG#>wj ziޣʌ|Ğ bp@ u=GaMO>yd>9A3srrGÐNo@qR69#A-{af7l0Q wⱫGS(A'zM'9<;ׅWG{`bOC]* qղyb,C&PP$UBFBMČ2Wbɕ!Qg Qyd`gy5 h#YOԿFݹ!N<涁Wb+_+=EU^LشfFnB_nLxljBeH9o\؊OVQ2{ZImf)#=s^ mq⟺ԘYw3p#+^ZGʪXnqq1k{7SRQەˣ( M `q#<Ł )Z&9R1m>4~^C`TeGNy@k#G9[ф\$& w=޼N=l:*u2YO%8_׽8Frx`:Nc/[\zyèSژR$dNr;Ē8Ca R@i-&R9V=1VBl'+Ny*L(PE8R۰GpqP$Yzdm~Dcܳ98p(Ui0N#-oN8I~ݷw>v.~2N=jReX؜z(d #_GsO wdg99ڰޛ\x#NGzm&d}/FᎼ/$H `K3[*9. ,t"=2Fs9Å`rv$8qz㚢?nߔs3bA$޸$ 1 T<`>^8Zru0 ^9֤H .:*={Wa;۔*2N_>?CUe>u$ zq \*0©VWsԖ0Lc;ǯiE|JT9bY lcols^ee;)Bk5fK2tb>rAƾ'Zt2Ҭ̥O3c>Os>~sMۓƬӎϚ88$ZL w==:Ezzy?;uQrH=sקcӧqk g{c!XY7'c\z{`㯵OQ0x8G'+9ң^fHQNr@n?RN31Nў o 9[#2}}xq] H NqO;qⲑp}|!^OkvgC#"ՋFo\ 75waۀ{1C޲.r{t<9#9>9ɤcrt㨮!#M8uu@g>n{+V? ۏ1e=)hۅâ6A)3۸mԀ:$$^F1~Ogo[E9A=*+v9x_$]O?q8ǧ|Nz4Ӟ;q(ɇa{=M?zqڨBy;J~}Q^; _r$1B?㏨LvHznwlvǓ1N g'+"rzr{Os$ʰ{8&QNz_K @NA0s3R3V!H<~HbyLy^EN;H͋g9Ry p7ղV2.zs`(290~vGں%'L 縨=tJ̅;1qUf<{g #2^'ҥ6Cqyp={y䟭J*ߐ\ ʙJ4/sԿ=2zl42 Δ~I pH~>t\Ϯrx4C=lVO-#nJ#pp a{WY%-@G0?:p^X?𜸧yȶ_ÂX,T;l< lg>@x'fWҴiH# f:t5S- lv 8zuZ=5J9[qۀ;>f\n';cr#r=3ֺaSsˡ"@^,asA|zkB$S.2:_Cc8Ts-ΐ32sڴm$CK(9bsN>nPwSl}~C /YD$.UUU^ tv=ly18;IrF@_`0r3gD>)89#q |nO0H7 Ğ*et9 c<p 7nbUAݎȫсF8$a$g;Vҙ V$RlS2 $391WҺ1 hWbp?2>CwCZy^sWu+ǯq3G? ft'~^SUߠ<{Ӛ| LW8wsFc9 }ǧ8 {v8䁎3w=JRJׁ׌<;SwzInry7odv=>ں uʯl9qJt|gAy= Hqϥ|2_gaCr:?czZ焋\˿99בӭ[dq^.`ӷ^sϽO>;ИX:Ns8=~0Ophys)2l;לON'RlMc^9qRNx2zvQqXd^ DZɩ=Ƕzb7B$B;J^>s[- ' CztUsO(۱rƓ??&vW)<=:ȥçNz簨E: C#ҳs+j#~>:(8COxG>P={õt)m?DS8uIzvQ<%=ʱ$s>:T&0H$:gs:&29E0>^Dg1= ~u 灎}3]7v1|JrmXVNGRA8|܏\םR<͛GDvqc!x霊TZtPFy$}hHHr~uZ2(֢s|QQ<ޜ = z~z3v`P`x$~nҧp%N{g<<9Bqzx?UfDn듞Gr֬F g U7a 8;U2OP;H03{ZSRi3zö2 1Iְg& Fv:޽>:II:TMYmx:W,|C#pڥz7?_Z.5 8P徛Ա '?28w#+m|[Y/T7>n|G֢~VDKN猘z7NriЀ20~pѴUU]v6 GY[`?QEnƾ񜯦wpV5`YӞ[N`>H׮_R0љR r *x*9Mnayo1`(H\?:@TqAVF_ޅ'#C*v$2HGPUwެf'vH;qg9뎾*9كz:jOoqE4H!;~V#i݅f8p2s t+$8nHO۽zPyBGVb2(DZZz))98aJzNNp}k&Eg+0e\t*c*e-d*3p8+;&NN@I{jd?1naT{6w .;Xc},29'G>-А0m^7W^+ew|#'ASCQ:Q;pO_9kiY&8,ht;2N= ʓ$/! Ir9V+H1IE3`[kv)98[hcy6&=N>;д k.-|K;`IFJثmlE̎@@T+n@ձOJOK+^;s&ؘ巳pW88 knprC!HM™yXwQ [G )W )Vzcv=ooK;ep'={hwP@XjXJ$n-ztL)t=q5˛b>kGdӎ Pӡ'#Hrm|a#1Mߊ[kѯaG`ȍSI++|"]YDi'/wEMR2*+Nﳱ5Gϰ^%=Zpp ~.iɟK}:G>zZ 'A#?rV:yg]@:c>P;5!^N@$c<"=#W1z*#|#7qF2OA8g#[}Ls2N8oQQ6R1dt>MOLL:pUǩZE~;s cyspth^asr?JP;z?h4J9Nu=y=?ƗLAuԹ>1z{z v3 Ǧy;3>g9ډmz&:EJ41qp=ƔǦ3 Is:1s隇g~~:OCTz`y':~( tcȩAG-M9Y(qwpqUEsc{};Ub 8z`T+L1R?NJsϯoʩl!TI@x郑M ~x^"(2r p}3HWsUa܄mؐNsϚ1\8'nX:No Xr\08$|+y`z1G5Ja5ty1h|ng{(D>ebsa }1~N}ZZ >2e1גZloˀ$&Din-8@Aݷo#>c0)``퍾sҺ#fu*j ]QK;TsP܌87O !,T+;褎­laFewFp1bz8j)" 1s֛˪6 ׮ K;dl8`]&vCNsLXӽ5Y&TIrF@!GldlibDF`3xG9Oڽ}+mI1>A$n6[87⮥ڎ:t֐t}>'aMݿt:'>=ɹ]z9c\d鞿Lkmt4|@7GU 1LZ dې89?nkML6֨w _[Jrr=sa\d$w< Qo8ӱ" \c115pdF awr7! zDg5~F"d`)>I0yU`CuH1'-mщSܻ8M.$rIA⹋9%\ $8 {O@Tal( >smH I+nTJkT&4.u @WQ $>íG(Rq o @rxW}Ɇ:\i['|dwEdqtWFH^{Uã%yU-' 7n ԼTvU =Gnipr$ sGuǧjҟѾ7ʻrIFI+ n}]!nS{f0l?Z'qxJ2F8:/lYJ-hT4{ׅ,k#ׯJ㌢%IcжF8#uJ%\`X"i#vs@1޵w5V8YO^>acJU4j*1ga=Y9 ӓpJnD/2yH'#W2-)k+`ZuK=?N2`$s׏^+p$=+lmOiQ:j(QqG<@'\Iβ@;qu9viBz>IF9-v0#8M< ,8ݱU6& I\֬j`2)Y9# *dObyñ]5Rnrr9sSBA8e: Y% xѪ#^X˹3sК発wrpzg6%=p?^3{m7'VwCN6ާ;C$J){- uu͘qHJES$cs^^6kOܐ8NOcNU )#ԞnxV{Ջ 錞r=;V QV3v{p8yzIےyQ:p*,ZZC9氓IeOrq~ ݐFN`HJoRY26 \Ξ/#B3vn?{s:s@2Ns:qⲾ,<FsH|ǦTz4PNvG\#8rO+ .>xTFy?)Hؤx /@U'pF1A郓`@dr8gO#zԞ [֥3`=}4.A~^!Xp 02|Q:=qD$<ښ[ Ӳh rJ‘x<`t%I.쥳<]5p6G^WͺI'ag>8hMu_o}b,bHI0c+9U'%rsUPp9ץ}K9_VJl3Č !*'p)팞ӎ=~` /nA0FUk<85LQ3)$)p֤\HPyOq˧낟)i\/# ։xe98baX$LSc7;jמ2zrM63eCpr۱C9KP$dHKڲ^:uEBb 8' g+$q[Kl>siI{$tѴn0Kb6p3+ݎ8;JaQb';k0(>Z,lc88Kј}OYĥ$fc$N Lם8$b4wX":J'&}=aCZ5ysnsQЎDӦ"$ubJ2p[sw:)j8@hĞr>k\)qԏL֫H$b>v|x?2;vԡX(?xz7𗥏]t<\w= ۟Z]A>s峖Py=:.#{LG]u?)$ =d%Hl׵p=|#yc#zu:$8O8 uS:cr n ˧Z6og#vq|q^>cȐܽw+ pzrO0. Q|;wp8Cr}M@ެ+ wqigy{IGBRLd Ē1=MX, bF)1zw+cNcGvPkyV2¶Knf*W`g*I ā91T$lWc Դ<ɜ̬BbrsG{jT MrM(ʙʱ+%sWYX@;KʅǠjݏɓQݎ\zg8ǧl+m!s={Gc~7~vJ2^ϥyX`U矗9no !8 ="*7pE<8ߎu7d>`' )=qhFyDy y dIaJ78zkF5|ǯYq`$FOC;`zcG8V-0SW ք𝌥W r;gnZ`BDaVCYpF9GRl 'rryrVIl0sRK\(|K0c+<5Rw POǕ=tZa]Ϥw0rOryیg\G@nm9z`8@x=H4ēqP{rzsNPhkP0y=_ڔw#ۯR~~g98!zӥ/^@Gt:a~ca霃A G}ZgϜ>ud6=9{ǩg..;ny֞;uԙ\G>R:g߽43c2{n҂y]T  Nrzq:sК; xn0H?4q|LU0Nx t={Pf339!.˖ssI+1DcvW8e J}:^\<,[E˱n`)G!0ؑȩÌe$I,yL0.ss\SSF 'v7 ib Oʹ q8:ho͝]܁8>*'k|`c$B8^n{cwcȬu0p:&0a.%r~e8p}BF hc?( :ajqʱ;A$봷`R:8\]Y v-|pO'wLRP%3I$rq{WpVK=[fd cQ~O_Dd(#<rN:T h8 y ag?QO{TaF9$6Lm[ݓ18sg`.``)Wf2v4d`6Fq9Ⱗo%ٶ#'ڽ9+#͋2M۱`9 vzKE€Xt$ަMeyR#6vg A?3 `z[-ˮ#Dyρaʷ~p{֗љ(eqڍ'̧rw8e^sX %x*ԐVwoz4Hgxr ܓсr~^FA\`\qη7;vv vT#%qI\/8GK/f:q圊҂Cw~$'h ؤ ۺ$(q)p[Oog9H~3 ,$ǯ>+pSx/ |8$nctq@/LznkFЉgC<|dgRآRNxPrc9E1; ~}{pEs@r3^}km@)E9KrgG?tXc8]I\Uq׶Hz@au.TqҎ] N``Ǿ:S1קL܏A:c4Az|I0zysn )F Ӧ) twd/Rs($͌{)>G.0%2al޻lg rך`].HJN9Lw:-͵G(wLqU#’7u=i?o^l;+Q(EHn38ǽnn76`Ćq۾+vRzICYu,$TrL*<0kIߩg7|:;tu~qgso=Ͻ|6 >n:PrO tEjP0S'8''qڲƴ:;nYF@p܁ c9IbZܗ=|_J7^j"zUKkϧ<:xa#t!9g<g==;qLB;s~◿a~qF°<lT鎟kf py7i zV?Ӟ #^}?Fsߌ?RՃp#یr8^y;w>OpqZ f2xO{7nZh# Z?tӏJd>[$b;gLKu\ ~$trZ:{9*F1=B{ǰUt^E`Q鎦#~'Jb.7rW B:6`W8c6ڦ\Mץ{9z'/K7rLp a/N3ӥsN@c3ԞG־GzppQ c<뢰̙6;adR<rʟ:XTܑBWPv7˹?xq\iCNضr bNyJYEkV9:J}邧o#-I&yŵw9T\{#jxA*@ X<G"vSg֭ 9OB@95,Ձ>|v xV9#8=ZG8䏮O x;c+OB[87`).\28!AV'ջC Fv376yUз-m Gp2 fZp'NTSc>󞧡hiR)xI= Gqg8校cg9 =v;0[|XX$nA}=K_ZM[AQ#,TmzO 5ռa$ӆsֆ)y; >2qwLt8:ԸŸǟH ~oR Nr=ȭh[asp vaԱ\}}L.K!f(✁ִs ne*./ܭ\xNC.AȊLnÎZ3Xj6IJNwl;:ם+S:sp8#9'(HA$铑զ_R3ϖ`U .y;ֽcXlN~*0srwpWa{`s-6A N`u=_C:C'NzzE\N぀FA9w'-FrB |H~}JB'te0O*Ė$8֫㯶[8Иzn8g< 0p98'ԾuwG 6}cA rw׿Z:ַ  r:9Qt*T>w : r}5"ǵq3۰H5u6x ꣱^gat15oӌ aYn''h=}UHϿzRN}}jS_sޏ׿:~ttcӗןӽ `rIԃN8^q"l?>#sNy^3~8AON?֦ӞSz~Jн;w>Ƥ8Ͽ8=MK&x=NҌۯ##HV=sȎW擐En;{T$䓌`?uy$7x3* h~y8?B>boקCT?N~ͥƐ£?>;vS4Fǯ\C5 _: NeG'\UqzkϨꌀT3h"OTLǨ:bLr=qnc q?CTh{}=(1 3pp;&|c<+2p'98>+mc8=8։'$+=玹=Z=28/vѲ3$yژfO?cY4 :S}q~:=?8$?֣g=;c)tn f_y0~GݻIA@󧬿{9#>ғ12123zJ'Q,FI=14kqzg\q֔2g'{V VW8}E'k$#/^sڽ*?Տ*wY|#>'Lp:kV8!'nwqӐ=ӢnW;u! H?9Ig8_ UJԢݵG܌QxOlW/=ItjrWev]F+ڥ< edPVMqQӁǷZgv m<4El0,F9q3zhr wfFS'wS_$KMceP`(qFp{q`v[?9$.A?jK-C1 8 8n"\8Ln$c4)ml$}qys3eG88xi20 t,Oaq׮*n) =;E$@XaY@7|63ϯZ#n I+>/͒R'lyc_(>`<!Ӯ5C393g^3_|fZz6K#}NB $mq$r: i\92STX|}p9n=:fE.zsӨC=&-v?w v+^^8!#v11g5j`lr1Tr=:W;wlI߻V'' '51.%[h9QsJ,E@wcH샷GN88,. F᎘9<{T ^{5 wVF]a@R\cPG2r59a}=*X͝_Alm@"o0]#^bַ7B|b GvyuZir]|]Y h8me%_Z>ZƷ|1ܪTt9r`gDe5?(Aޛj)*9T@yckiU\y``Dy pAGDyĶ?bw b]BrA' J; 8{瓟OZg,3~}}io|cE ㌍`n"C $aA3b9nПz8#N)G_~x߹Bbau=GޔzGR]~qR~S$pЁaXd`ds3`-8rӥ<7~7vs=Y~38Aϡ"XDZ3CN1cOY)<]qH=3Ђz}3ޠٷ8aQ1[q؎GlC ~wvm ĵs2~} 4sm`r0:oԉS9GFHsG?U;" \g ucuBvrΕc I?:{^wuaC[HOA.QbihwFz9=ꌚ/8.X}.Ps>x8]*_VeOmNl2OUfϦ:&/a$uKAW2\&*8ʹ;NlSN:Td;o/#I$M$*vvyġocH3RIs(yF0K%;q#ҥ1򢙼f dO w'(/26oF$LP{SRbQW,G\`Enf̊zc˪<.caeۜrz PW f_9RM`3yKUtg_ Jvo$g8>v ec۫BTe<%Bz+,rCLI)>!FUls ?IIegq|MkGoP3򊟺71NU[bKI4}qfPFBzg#$p:UV&_ۥ5Qzy/Iw2^~m׭D$.f@s\dxw`Ü3kͮƋ+Z]JU=Yܖ#ѯ8lڽ֌mPdw }My*ԥgcar9xv u9ξ.r~}OAU)8t~;'L~uRyqcv9ϡ8bO|~,ppqMqXLO q Ԃc HsGYg pv@psWT|oir 68;@+G6/GgMF%җ,+HzZly -.\OJɅwa" a.3ힼ~O/KI7n%=ӊݎ5cA 2:~5'vθhxi*rIRW>{-C=H99G|d^kz& ^^W e^@*Y (wр/ Q__AZ>3035HRWp[Gn=o5 yN*|{3vu'';noלtQv vaw g (‚?/# 8Ozمp@.v'ۥB{'_qJҖ>AV6W89b|G3|ɴlb(v96O'OaFBowۗt?xsXLޖ"yb8v`7Rn݆@߼)P995?5p!vw*''j{<`P͑R4~U?@q霓+^GB۞ksz}aw6m#,O#?%EAsT nY 1TuAۓEv"nj>BX/ֹe|Θt*2g`n1{ry!A ǟ`'Z~Fab[a $6G#ñ<23*!#{"\±W=sZ|2#-jXGm@R#kzWO\,ơT v;V\ͣk3@*3qy'$p8EO `~z~8ϷAu^~/_N#CcN'J:sܯcӸ-w'{ ~]q48 ֓x@Gl[zq8$ސޝFOiBG^=;~_ΣOΒCxNl?z+cNz'#~#$_i:p{ty;`׶|r@ԟlTIn;ulO*8"ל bJ9P9!pN{s\3Mw7\1m009+]amL>oA/>M+duc}7>U91'&sǡ#g|WEl` ߔlKq{g<8"n@3=+VdFDo$7 Kd+봚  X8+)= Pmc8q98jй?  \nPJ<B񻃌RF2qO(  ʶsB{s)e9`9py=,Mfcy+u%-u:k#*s> A1B>R7zn9ֽ"QcݟjD'a9'D 9fu>1huc.l0otRIOd_   O$q^(η9$d;I=q vԙ*2Rorgi-C+߀7`->Qw ER0=9*SG#i$ 8zT9``mҰF ~S@7#˜F1zq't3;݃e>:lln7dOQ5HFE`}186p1ɭ8IX#9ۜt3}2AU\* ;Tp*uKbw\8;uY#i8`@Uw*O8=zW #ɑmEPc=:[l!06C$SNӞ+cUt@+Ǚc S\[(,$ LVor.E( GQxp*kmSЖn\a* (zy.aBgӧQ'Hd7 }sӊdi•;qڛQs9`Q: !00Ǡ's(%IQ0q ӧ$8w $37rrO*x$=(q*(HtT>bwo'<=746.x #F:z UJNA#ҳzCVѡLn )!von, eK1p1zĭ~_y&n[ʮlN3z ]ɷJ)cdz"YgNWXJ@x3בk;u'<8u8>=:JLM<J7SsҰn'b@zz8`}8'O#ПwWZH6H9kqo3qRNy?iǷp97^AcOrig'usRx9 b-aө=2FO_ʱosDv:GQ֥2q'<&^ rm; ]y8?_^N{~Vo\4nxMRyˌi?+~tz ,>Z]Iaq-ڮ zL1ןҪ$H{i?|tC&}2H'?O'^czn=*FEc{ش4Fx`޽N:(1ܞz}zfϞ ) c\g?O֐1Szw?x:tcI=qz7={NI$R`Fy?|S?S"߿Mn㯯G\oeù0pkDx#Vb!E 7d!Xdvg/8_rZdXo;2瑊e1O/~Ƕk)'V#7 @'<;NYeFFڪ[gFGϞh$uԑVA,9z^GO[v1Pq 89:V^Ewl` 00xl:Vp2R1s׎ib!NvO=J٣47l2|9q^\3 2>`s$zgscZlt,p0秧es^!-Rϵhg+Np 0,;h$UfokdkPWa psۿ5qI:([  t9a rrH G$P:CC1dp8[ߟUQl nG{|^g#8q^$bW K}|U2٨PѲPQG'vNAFxs3|a=>];~t31IOBq5Ig\a%~{֝;:čb;g{Ȩ=M* &n0? [K^B\QIp=띝(ǴHX)i ;~Y瞃=k l%e_VPvs^~a= =gǂK1U=8g=|WݖK0UH=icޯ*Fwdg8^ rď]==sIcҽSXzKgHx;qp18 ӎ2~G'ԓU7P7pGqIlH 6N J`'bCl&L3FN-8~*ڟP9<ԙH` ?)#ߕIS77h ҄mu3ֺ4S,kcsB 8_fu|IFJ1s_c鯄MϫqW㿎Ϩ/GuՎc{G>眎X8ϷN߯q=3H,< IzJ^#o.&n}:q`$_֕ ǿSM(qL`z``uNֳlB^>joa2AǷׯ ǷlBG8O ҦhO\89?Qԯ ={zdH{{vГB2GXi=>b9iwq9{MGNs>:0G0#? {q8{g=n9M4ï^$1ӱǽEG}?AzҌ}8'Ih'緮):~|~)dx$\&\H2NGQ08#$u#jITa=r?ƩztgR޿ NÏ󎾂:bS}z#ӊ/89}3XYyry92`> "@1p{`3}[ Kzǯjğh9|A+bgׯUBs:Ǧtr!2`uǦHTF\3Ƕ:CKTnLT'9'ПZ |\c'gXOqCq<ƚYBAVl9'8q+  WVT|:vo$(q2A` : qp@{RKdvuQ;<ds+N7Raԃ9Pl Bdߌvfb qIqM#+cF~ӟOʄ&CHrFz i˜g<l3VIl̘nsu\Zqٓ66TSkrwFԟGNº9D"$(99pW/ =*YԣVwJ$ew|jnDߓD+5ѫ.ELl9략a rNO8TQ 'pvcpxg9Rz¢PN'd|#Mb4IDfG8V ԻdxM61%IEP&'[dE*"pȪF WKaX$h+~Vn{ -;֬`xnRtۿl1\夗'è(->Hxbx<{+ugM_g_hL@r1OY3؂azsޣ O\m&C^{0ߨOҥ-~sLc5]'#s9=~1ruqz}NfjDlx펜'* ס gSJC=A۾31dvn 323:'9=0? }icp1#PNF09OVDD=1G?Wa#(~aԽQמZ;tRJ&pMހJjuxRíl )-o9eSO'u?3FÒp0rkoH|.,3Bs⻩bW⮗M}LtWz†_n׷ )ڍ鐠$` $Ubnr}ZIB';8b a.rzqS+WXدnH>݅tۚ7]H+nmY2E l6sb8$LOːQGd(2#FJ`h="2UC9?wΣGY({B; =jZ.}Ѹ9 `X N,C` "n`'>pX6]nOQyQT^[LBB9] B3r-?2·#NO>c_g.yH!$ZȒc*sYm$'0@EM`Kd9^p#䁐՚z†cºǎ18*anV;؎ HE#UyD OˆʕOqGAM}F2ÈE bH\ZHV@ƒՊ]KCZi& X )q\VAȌVa,@?\gr4?( ?R{(]bE,͓HA#+''-YmmBLbFcv!Fyr1nz+j,P d lrK佸$_qqR0ﷶ L++>Ǯ*\j%u6TeF>h8X灒#$Vkt$d 9aspsQ{Ɓ*˴;R@nÂJhNaLJaI^ hۙPr 0==1+G鱬iP67I ~Op9I&_wGŋ)9VuB4D6$9|WӺ5[¤0˞=+,KYE=/@:#ǮzzӀ:זWn$ۻ8 pz8Fu =:dN 8?3z>l{<1T#<@q8%@B.e`Isg~zNXo!ܯlWdr9Kd P`-g952 R~@۪kgs%r 8y'YH!:/έ3^=+xє6rXnK vNO\ dfwR0Hۦ:R_"[<]N]7*p0*I!v1$ri>Y>Tל~45]9Q#2[xPF0*. dz, ;ՍHpKj6w}L#!XBom}dQ-R)!nwZxB۳ < b:*l+8nC4>O#?{`?U<vjw'98JPA &z iwSx>J.z9j7:^){?/ Bd 0s׷>0m9 ϵOqp˂G1mpyU{-,J'|ނ+JzJD}slR Ϩ#wcL'*Orr{8׭=&yIc'zи'=1Bpx(\@9P:gwA>ϯEYqT{c9#p:8h pN8OAGNw x REN߼y3=S>ٜq#{zqT cرۀ sY],G;)lWs / r2μWb?0^Us{yxBHQYÕ? >5v*HW@A9s~B|}zw4FXY7'-HΪ&l Or:Wdag48;푘c<!kjpqx=9breyGj' Bm`Ƴ1`z6(|Bz]dx;rw 1RNFy銜'̐Y 5A5qN8Nk*đ>)qîA [i9[Ȫn+9f:eРd8`y=1R.[|MgVcy|89Wrywֹg:i3c;N6@a~T7 $9lX߸2 w6Hmo9'n22Z$~X s xhʜNHTnWA]rr#=8DP6Ft#~Znǂp :0~ uV6hݸv/St:i=l8ܹ9'^zu4'NGQӎ=Z= ;kn1ߝdpGVKpwO`gP~/<p 6p̸At49R r:<^CJӔjI_tyJT9#r[,P=*Q gh|[opG<v \+1g{+*q* u+n#g{L`jOPI \twu1O0%k.64w`H:H 3E^l-k*.2q%1+uDqz.Z5~8;OOC`^bWd|v|pJnl·G*XXq^*IۜeJ8ʶG 911K& A#%OVrLWs5%JN ʐdLs^.!i=rn608 }=ykũyz Lש*@ߩ9\z\y9xQ(?wolc9?ҞOJ(}Ϲ=KrQYGpO84}CZ|ù 7zOTf $g? PԤ,F9R0sE܎wd?J 6*>f9f_,{;ddsR>b&l|qcPI'{~SKSǖ8_ooj-~23d p=ִ`^ho^A.pc?Q^M7.YӒSGӮ:ɯ˕y;՗y'y}9p<ӹ-zi-`y9OjڊPNNIwCaB#I'$ c׿Jh٘BX% yMBVo㝸 \N{֔Dg~\v#=sCTw&ug]Þ݆{cq5]ոP~n:)$[3ؐr6$o퓻/e`rs!M+9ޠvy'?'R`~l3NOaց=vmAyS9D!Z`PˀˌҽOClBpzpyz8y%%C`BL9}>d?|.{u*^ 8 slg50Ϩ>`?q䇉s#\w4ByvդI!'cMV$끌92{`=0j#=9P kŋϠZ;x&ۜcsSg8L_PsާGAqM-ϯ_LqȦzr <d.@9۸.w;{vz߁Ǎqw xUA03\㍭dɯ|_1>lFFA>kӰH!\}:SЊ_ѫ tB89>Oz !A.HڪNx瞿dk'qE 08\g#=k#s0$O* ~D m8#YfD edV m9s%"r0` G=u\ pqp r+6{(0p…V-N{vTۻv2c13Z.LVѐD &GL^ki4O V1I庆FWyCGIwsREHHЪ;v3T T $+=8' g;Bǒ[QI`:x2p{70덬78}>ap{svcw=qVDV H*p[A3چ>>bs+$0xH?ug gbQ" R"͸N1zsxZTdăЎqT]qw9sR4' sk##sLWSE3ڋ ̤l1#`s9DиyRG"Y P' zԑҴlՠDE:LgH_b8YҌR)bds};oaH.Gן0?a1@l`? ~W,y0;nnVxI?)m83~MHs2*9 maq;zП@+sARYQ9<Sޠ O98s%Q;F |À{’w}Ӑ j^Fk7|*9} cLOrp~n:ع3JW:둼RR1c߯]8.yHb6#g?m@ 9_Seח@~aty^;~5[fvPMɒ8DGs3auXb}8'$z>W$2sߧ_FjA_RzQ@P=^3L ]@p=2 x?9z3ҡD/Np^H?N*[ۀK;gӏ¡1>c=?HקSL>O=D#:ю=VEP<M}=O5- 9|{SI8ᑜw{ء^ c4̏`zsfCBO9jV~9Ͽ(Ϩ#޴V_Rg׃voNqu9;r*wcCqzP9LxON] Zڣ=0}֔K)=s=}gӧj^y oӌJ v=Isc\֠93ɽNBG=1}F޸'=p2\Phh>>}q|gSE+͑ 8^98~>Oz8U#ԱݎsLA<\yo<؜{~u89qʢŃ>͜ߊxbq۞@>O=qw<qO|چB}r:{Vh : p:2>p}=qLݜh P #~v]ɲIH\d~uu#]jL*;R&G>N)h'< t<۳J)q8VHtGDQUݗBȫ . >mji! qR#\؃%7? _pY=Wv 1o}U2s/ :#'n@VmnPoWY[p;'ڕ(6z[-f^%g+=9#G`zq_- i;Ja#`ŜJ3r+'~'3®bp 6%x\v>V[BN r#';WTv5lħ 0$0s#).(;5MҲM߳&pI qҟ=C6S~@=Қnf$11r>e͝$,q>Vbp BIPxtcSBLq 7.[q,s8'~a\2ۈ{cԩ9# &X ēpy9F=J-9$ 6=qԔtX:/ :ǩ8 6`9<+>- :QG,2OH|vf$|nj(Ƕ9<é2OByNpOZф38]*[H aኀă;.?)IJ_c*΍pqL㾾l,fg2  {Ot~;U+,N|gOZvN$`>?u[r2>ׄz䝒w,4U,7LIvc8K-rNK0dvۆ`cKە󡉣x#'*̥LqR4R%))>UVy$h1U6 S'7<~R]8M(wʌ8=}QLC8# wI;_$zy«͉YXʞT~nFoحߋ6I!h؎xNx5/C#}d;IH`zu8_=?c" rNX}{\g C>vN?ґH8=1P26둂89S-( g  Os sEd#JOuA+ö01Hɦ-RpVBG'#0WNj=zpN>}PupI d_ڃFIWU8IK1 F9GYxyc\,[WGlƥ^đt;~O㠯)hVc]H ?99<ҾY:jdxٔ&1hE؁ & 5 k~f@x"5~RG8Ww[eI;#hGWb:u /\789!I$Ns֡mNq%\y+pm0@?r0o-P!Fɐc9-IK+jrw $ʰ 9.QFOOs| L+0`6 dct,%مL(nhkvYa*Pnԓ!?*!n#H *T)q [nW`__RmEDžLuenONzjǟF9EO0 'Σw͓qZ)ipqLtY@WhC2_ʼnGWG 29x'=Ӹ4^6)[>94FC|f `'"X9 N|1:a,$玣5`i󪓙w9fN ?Qk>evI؜+t*rnH?N biTy2r*ÀFA1JMo"a(<ͼo#S e pُ,p˝J dL _%gepVq)ҟ^p(m ;E(Q`g5gsl _ +<)Y1_/xrF#=qrsDdLH@$‚-#ےJ9r;WHeXhfޠg6=iү!]Ų]|cTɦW#[O̠֏KH JEDQ=Y6\`;)B%ف*R;ֺYl-*.Ha#yoJוic.ͫm5YTrv8Oާsv2(…F*oTSg:2pFzz1daG<8|YʥIK͝Kyx?C{`dګ ;t;x֝gsҟa7n۽~Nᷨe*>RGn!OT w>O${}~rz\cg|v7nJ<ȸ $v݅F֨~ӌS@^AQ">ROLqǮ>`r)=6&Q>b3[i(yuq'9\8{vU"\ 9~2mSڇK)yb83Gl,s⫓O42pLk<ۀpg8=8̤m,c0F}@?JIa Ny>.?@= oc =:z}d |=J8HRy9N:qAR}8rGCn.-zpq$zz.G~{+_A {΃9>OU 'TU.IșJ̠+cG>k&mA Q)^}OZuNJSf *O@bױYdmU06>e565QZYII6Y*O 983zW᰷mtO$RSPf7U=0y0m|]X"uL\rXbM{qg&d~@ӭd=wM<|'띫9hGqmD;c#0U\$$6]qې\qBWauivDp<3{1^3nc z19ˠmF۝0s3e^+\`Cr0O^:( d29jgy+k/Ǜb8RSԲ;/{''+mN9H+u9Y9 6^m?pny;Z<>Fx(2:o8: 7뽔zb摙8a L+Ћ>G?qsm->AK^FG#ZApqNykOCB3qܹiF9ɪmȀ):lB0 qKs }VCM*1Lp1J0I?.1tRB.!9rF $8#>1&   S5 #')fW:Flq@'vO~بN*;B,@8_V #>]C>ըg ON),f%ޠ>Pllp K9*FǨ$ct,K*PBp;&yp5:-wpvzZd#~`CqzӎtG}Db]sqˀ9bg2)ے:}x;:=x_ҟ=^!艸s폧NC ת1:rg8^(8}jz_:ぞ:A?wit炸x v2:"228~_!>9R=~u@! qN}ݺl Ƿ#@6c?҆0R0'8{~8`?Δ) O'Ӧ1 KFa>ݲNKvW$ |szՍ?R|e9L"ǿ\cOu=xԍmbr2p9q괪>V[* (Qwn-S >b0g%} r_Qv@NFpp09OQxyȭf#2N@8&q|ێɤn~s= o/0G`3r8ulepZFRo=2IǡWi {u:3ÿyco͌r8ֽ>gʒv#?z cݣ;#m󊺈Xϩ2Gnޙ9tDae!C}{Vo(\`T#KhٽfU2HY$AsҽN=W8QҾqXo|@"pۙprr}1ּr(=QznFk wsbLJ!䫁cǞNMc~FHK9\G^;̊  zb3@ )}R@{TF+A?ۀH=6|ᱸw0J9A\rTޤwI#FA 1֡ W 8'Sy۟~こwI+m;! 7LP.Ux[, 9-2GHYUd8N2:VGT2GGC#$}i!8A#CS+ы'޹~*͌9|M"L`qV`rqU1 rs6H>{o$p0jUFޣNTYWyᲸϧnF7-1Alْ$6BTHL:dֱ]}IJ#xKawuWTQ!R'Lk&mxp8r0O~Mdfd,JenC2 ŽÎ@p%FTP1؎FTjn9.;80zAwzI&&LI\=ŭ»LX!*$DZǵogAS@9p=?ƼgOrAv}N:LuSd?'߸cRк+gS}xE y85 Dsi'?N"8q>9N6 :gxTE2;r3Ow!-ۿN褨vc.Ac3cLFsʩ ']Hp#h N#F,pC8$3 =sUB?K̪f;O̧w `?{ `XO$G5( >G+~p`?pqh#=kжN0X.?\DʭR0gtE26r`cq9$r!H,T*Np:`ՕUbʨ 9Aᱟ#OjҌ6쑞6r{OaY4Z4|2n A؎9犊HQ@$7q櫗Kه${r1 9,r[?*޾۳;e}Skqp9'=Ӝ$0ԬRv:"LcX^`^Hdc9#G=}AƸ:^ 6a<2}ǥ{EdIQA'Ϥ:Q'=j_8ssy"C!קWzp/C2Ow}LmG {s C1lru9Zgn׭/{N%LHA/s=!j;\`;g}?ze я'+L,gNrWc׎ة鞙'9 Իz}zsڜz~sߧ.rOy2^߰'BN?(y&Qz?C OJitb#ӷQߞf(ۘnlqM '鎹td3u2*qoo>gV/`OAML+>g;u< O͡v8i8< <ׁAzנy?_)^?C }9_D:~T;&Sg@c~{ @b w}L Xg 1#@|l.kX1'+m>(8Px+U$/$t^Wˎ*cRm& *Nr6=|Lb|WsԐIG5D*G^8߮:UOd{oMHsqCt$YOs\_io*U|7V)g}* 6p <{ )ă{N+ $)pr3qʯC0d0 09{t#5P97xlKp f9B98ۈuYFq69ź5rQO {g}Fkb>^@s܌FH7w!gGC̝G$08!Nrz_Ɠp•lc鞇5Kq=>q"5#NwOa'OṌ0O$pG^ lC0ZTe!FvPz8]fl…<P|8=TaaOɀ3p[}*ߘ <2dA2+95n&Baw>JRq. )1$`G#֬iӇi+!![q~o)Yv܃2Szzk77qB6*¸1W[yxqwsJ1dٲGXrOFې;Sh96m8$t'[i<ێgIJU=~n9Kנ0?ȫF:g=pz_Bq8ӜsW]3ͫ4=\dZ?t#ͪ-צ:L'=qHhܟßRz sVgmN7 ۓ~Vs>ƾf 7%׃ʫ7+|ǒ  ܜ+lx >4>|+f>1N=!9 Qlq%A 9z̑dDU R4#:95Kf;1φVzk&Vht[vyڠu,;)#r1f2nqi>iM45o2m- ɍ_` 2l[+zA״|,ғU6uknbo,p9eVbzofD>uk`!Uє4qGʚ7C|93y'2OLgq[xmţXqߓ#V/E]*u'hsLUػg{rgk?tggɻ W%oQS\)\a;FAm''I{5&mqg/N=3?63ޔ4ͺ qԌzt֜xW,ݏqZGQNq֗ r0wcʌqB=1c069*E~sD*r>9mW,T|Yӓ1O I/Ncd֥±%W~FOldA<rrW1=jZ]Kj7Ē9ہR9ǥiF]6HQ1'$)nR;Ue^<>)dE@e۷$@5ob:9#ؖ321PXLG9ҳf]Ac *IHϭg+aF92~cci $8$ gq<V"#+N}xTSLvXr`6dN~b>{ ppzVvQ6#9UT2rx\ dnRqOPDp  PG8y9+`(?uG 76IF8sp/RJ2Ws&;(NL<9juyǨF&Ҁ);qi5ӣ5xK6XjO"Ί!Q 9n_t;0hcȨH8I cשlOV=L 9>Y'#+9{tTesjM; >ހTt:xJHMWw? 9:`wZ&+lpӠs? Hb#A?\SJ/E h+z}3IqO!q=EJ89랔y^Sp}S=?p 㯯Q(B}sslϽ*$gNXb~?U=3!L{z@8s u㝠c:OteǑM]<}0(%-ݎ{';M$dx퓎x9vq>+g8T3UIQH?{sq9G Mv2{p1M#8bjZvF =>F1S+C??5!r18 ߷*㌮?89ۥTMzwGkʟg6Äiĩq5Ƶ٦bU[Kscc8n+=2. ̯2@ mN @VMuX~BdZ!|7c)Y4+d9Wӯ5bٳ;#m F?5#7%sj-vX|و*ON1&U PQ;GtBw?7|\~(qjT[ap[xkc_/.?Oƒ;`N.:TX.]kȈPf7+ A8eoY+,I kCMU@sڣ#t̅ V8)kp6}<~jezwaTc X|N+5/ԫhc/P7ʛINT Wގf2ЎO.$PO+GlgdSe$ceeqd-F:։HijZKkBpًӠ+"kxضu`7(Rr.OiF .u;^zb"?$^=*'SmJ9ѭb ۷& 1,0yp*_.-mŵԓ$hu&S`t}VGn!yi1~{U{qeraB#RRGsŤOs\!s@ ڡmbT@N/ STʲlhUn<6:c^Gg%^y`0G+V~D"w~%#:0+m mm#+fn/^\4߉ z(8]s#^_aq׌{d⼆I>z~jAONxukv T?OwF&c t~98#;zQ6hCTUeN q19ֲeqԀ77r:^zSu`9Nr2U2HppF;UR6T \ϱ.C}4FF/ۛp :G-=\~c:vLqU.X%06,1ea#sU֗:dQJm}V>yUY20a85_i,tMg FxȅePWk͹GG^HӏJQvby,InIo=d@ӼT,l@aoݏs8TnmjO]*xgI! r1 kS.*A8_2n^\]Y=q*U`Sj|osk R#ׂs[HqD}^_2r1hQzsJt-PLn̹ 6@zV֏ȮfyFy "@eTLMukQp 鞝*""oC@nIz/+p{;dDq0Y\2:V[rz8Q rH va}iH;0<֮ĽC_RrHS0 mHKq -؏lV:}qW,C s9ֺ+# FסZZF*᰻;׀k fQ1< =ۚ3Zk:$yO\gR20p֤-Ct %+_ =Fj7slUqkB H$рV)mm*mfR/r ,,K>2U6NT~`c'zm6FFӑ oֵ6U+#?ZAz X]UP2Jst+ N.v888=ng8($0;nbBAqdg?y;PsEq֧s8݁Gc2.~b*W*}pjV觳:kFjpp9+Scsk/hj *yx=+hzkԌ7mqfcfRT$X{\z3\2 9 ?v.%ǭrC;  *D˂ B.y#Lf(+oHJHWԴ;D`p1˟n)t}EWC)նnKrYxی|>#4qpr~!scy3- 2;r@˓7)>=> epM`PT#% 9z9Ue岦sB犤\Vłp:dH䁞+zdI.X7 f_39%0y*z`qɮHU E#|TiShlAfjWKרgJwnO^{nurO\|T}9O|}ޠ9㯧Czac}3m^ϥJg ;g?.{ T<x拈cJ/A# gSS)X ?L=}mw=ukS-"E3ǷΧ{=+ L!B`w{Tx1#ihL~O#OnGgpOǧnzq{%u[S*=ˊdV*0 6}~!h|YjY'#{t9NFr11#K8=>>Ñ@9K)V10c=:WEBSp=sQ- lڧ ''9b{z npQ; WExeZH+96H5GX2O##~|yݵUOCMq4Ta=x=ztygnda9랇卺#+#8-[=p1Pr"鸐ר$i-|֍R:@PW`8R'5fC30*Ჟtp7(IJ׭L~8i-"ίKG R#\m UAr}yWI(/|ēۮq_Q]k۸vT1*`k6F%G~L^E^#oC ݕgtN À0}+c?L&z]Q6$aYG>߁eֶtxqItɬlۉ`mp{c5؋ ffU݀%dc8LTqEA`7z׷j_RL HʄF7dI{{rW ?,U389'>jm@aX#?3+b1]sHc~ja=| $7K)FFAv$dgo˖L#֡D=^g栓 r9 O ';}j2%>,TT`,{s(3 FAk2\eBLaᑷ#nIg^d.ݬFƒzж9 w^A sxa̻Vl Zhsf'HI%UWqgS$@wu\cfc;99װs$[.FЁ9Us{R 3^,(-T(IrySUswq@o1wUh2"`rI9zȪgi;}qc3Ic*]zg*)Up:eH fI]8Bpq\cMzp1;G7aοG;0I OO %xRmřp92NQDG Sݾ+ˬ/Еx!J\pI8$u\a~Y Z[#>zO%xs50=I2\ddF?VQqaXFHq<:`99\<j`.cd 08GZ&MVee,pSpw—-€Ko'\QQ$#^ b"qeHpW#$AqNU+ӡpCz A P~mۉ9m }׭VG$rt;g͠LF)P##8{f Au\h8GCӸ'=*Ӈ90 (CGQf;^ Ydذs{tJ媷4ި-"C`2ry\Cg%CLzs9`x{Myuqz8ړry鎄yMJC s})C2=F1S'ߎA =x'9QF?' L]qړ=끜<.<8zS uCB_tp09e v4Rqg4~?~s y1󊲠^dit>g~c9$t$'ǯrsԘ<¡INn*ߞ3JiZfޙ$u'qؖ3g;o|=?ni^ցNG}®F}: w暑 gv(?1Vdcg}qwx#͡1铓;c)6}ߞTi3f=Ny9珧tqԺ|0ۿ|3N}F݃ҕ~O1B돩'S|s 篯|~]驅~ðsi|߭W0Xp9?XӞԼzj3^ 1l¯@!1s3y4UN@8׭I' u?qӚ\HIci0P_?=$dnL)Ϲ,Z&rN"*ri&>b9Rל&e$Oqs_QKG|E@VNO]C%dݹnsΝO=D (Z@ $#>R1@<>ľ#웶`͒#Hjf*n';X˞wv8J 71Ӟ1Ll VHgc%\]0}*hd#5,=Y9'X96:zkF,28=H9鏧59Q"'#'=zW-~3zr-S; 8p8ʌ<##s x<sz|_:2XI OU0n8!cv{cQ^v[9'q񎇵 A8Ppx[A};LKg NB'i-dݒG=)orpn4XTH^i1;a=[ pz.qqʞqSZm3CA rH;孳;htGS/cSb0a8c9"?z?CF :AtW,zu>܌<=@NqN^T^qv(si~_)9=qLܞ21w2}`?=x׿֜zvPS=3{ucDQ;2?*CqPz= >v4$8zyj3O g$rr?NHS=1ӹZhH>`]J 3c?`1=qr9>=?'N!=1z΢=?_C=֔7@Uf;1yUVۏ'͠QoO㞜9v+Q/^ؓP?/mgdn3]FjΘop1R1֕ w~ӌӏ֬EsVjlhŜm{z֊ǧ5Ocͫ.x>pQ]S1u]w8j+!N `dtU1 p>ug+[A{6WÃh"ڣפR`1#=_/3ze[ N}ki|$śsbOJx翰$'-T׾:blCz`q# sxm׸Z8]gӧz>\=$Ox/DCفyw=(儿vG=@WNFqQ$D0*6d|ǤYҬQ)GvPї!sQ^%nǢjyg'"1HgN9yp9kQd8$(,p8j`J$Hǭg$Qdp!G գGrHW=x<׷BĜB|>lz͏`*pr.N9EY]VC^1uzTr P9ݎ2:k#q1Tk2d6|泜q6E{;fp8V!VloV+1-[uB31ۻk#aI ۞p{D&[Be= İ 318Ǧqz2e!9m_S^]OW$<ߚ`j@n LקhdF#/]$YRIC" -jr80=gF!,)UqСclY(a΅'WSρ1kFԴ]L4뛻۫58\x?$]U9+ow87MhB,c&$~hv\%8>CVH܆8}kcuH,c$2'+OJtq4 HH %`g'$C5ox"ɹ$/|O(V++{J .1 'Ӝ yt-E%12Q`+~ZڙhI FX1PsۜgUd>g. DO+3q6GN<׾R9$aU$1@8z¾XhyȢx da2=. w/$J%.]UC(;`zneT)3y.'nry<_ -)%O,+nW*񏖄نW=mr}6|Ӟˢ8=30qA=P\n8SJ}юzZyqTc=ITRm# |꧎}zcŽFrsAk.o\{Z2:|`_BCq߾3JF{gR$A9<ߏ_¢1v8֊[ #*՛(Qyc=89Q<Nn'"|vx֫\Lx$uFqc8Ch 9 'On@T\,9(}O|ztmpEw2O#cpzOSC$sz}>=UbJܛO^JyA?,S=8'WhlORx)&R!1'?RpAۧ@V#Hr>q={RbzdgM8# 1{wj6c;s`օo\x#|qCbprNzy&y' GO\ /yU+ӒֽJ'>,2nbI1 c#yC yTqs$8PF g=F楍r~wvRɂBBƔu)b=Ns߱ՙBpHpp@eM\>ORW3`,8=;sҥ8\gX9g$TYo%GUv)^ĞcOrR4R[i..:j9J(sܓO\4/G`.I!0 *vg{\57L2K qqepyVjd29;/ܸpF=Mgɩa},0QpI$ y.0 ߠkAIu0m B8gݜUcsZ1*Ytgckb|].I!ޠg3 9T!.C/ɾ5}R돻np;U/r9 ` SHcv;`*7§f ' w+k ,[s}N b+9N~,b)ݸ0o"#)hʩ~2.~`{w89KDv7h8]pr?:+ suYYTAp[<}RԪo%7qf]dl!f ýoYZrW'L~bk%a75uy!yGֵUyz>ԗ3~Ї,%P8$~xA0suo5=c UN#9vun:CW8/!=LUw@ Ʃ"X䟛>l}pN18<֪ Oӌy=?vwNpI Ж&/=Jsێm~du+OGV 65nqss zqG<t G =ޜn99<x9WE󰻒(uU~lLz 83cFG͜SC Ǐn't?yG#U=@@@s09}GRC1~\%NX{Tqmyynz~$Vy8ރP6VHUw8>na1ޒ@#\<+vXde~q$r{TU+y.]v}jAb's5409G#<_ZqǦXdu1ZoIܮX`*x9OlJUHbqf+E"e L+IdL4k 埘ڬ%bґ$c+s U}_Oo@]YYsl 5Axm=_#Ub@,e8?\$K L@p rx-`2W-ĂYqŒЎ@(pãnp0;TFF*: 3H*{L= PWq ``m lV #ld>z qցv4сn p9 I q^[bq,XULs0=מq'뚯ːw܁ԑTSs'0r2pH^xnʤ*ȥ!=t'$`b3+ 'rs!3Ԩ%Y A$z1,$A 7dn++5 Yp8?9.8>0+ ̴ }99PrzZxNzs)68?g*r8>ǷJȡsP8'hq楱cI .ry?_Ke`G\za^?˜FrA99kn !/0>=G ke!#+{p1ճM#'-n$Qрqܮq׷qz'VW% HW=S 1'2@SБdж|!$ۻԃָ+Fc2H&KC- ofYF(<{g8( %~Lx;sY4kp~mܷ>`dF{9㎸8)]}fÂz$ڻ؅Z<۰>>[rЁN QG=s{u"E#8g#R!-}Wp3?U 9 n֟bb-NAo֙m !y|8v9}~Б 8(f ۏl"1# p}浉$R pr;$sҝpI+x~%KCdPrx$}{UT>vTq*9J*Z <vc;=~UGrJo! p8sY&uփ;x*rNn:bKPHUV >\,}+ vtzV.,|?νHO~zx ҲG[gZ>zgW؄O9Jnx33ʓ@r?,ڜGvXd:s*L* 0@#_~$W=9\ q=sTIc֦I_\~αh0 }SGoc9 ,*qå^D޸l"C9U}s8{{tczcH098zztRm9hLH#ޛ'i44מ>犕G'> #?*=?_Ng"u:#ՕQsr?>c&Oӟoa*]ӏ͡=?QۮzJqXa_N}Rmq gA鎤v tL' oJMy Qlrxm=}89WhJ=s~9 8xb>RboO ֦csן֯]}9ǹ?C_ZxpGVmsy8\|V'D䅶y,|猨x5 .#d'z# F'A_S8KeW;vv#p^C5(F6ҡ#!>WSWj*;_' _\wۖ4މ2N##@ QWkà&lp:= qFiq۞3_o[!rn2HQn8s:`UF#dO>KSvQ-qSe m8/ eQ 8<ヒҺd0[N98bq6JQ92}{XSg8rǏU[RY* 1߮8Qՙq<G#qZж.\$/\/OƗQ=#Iv/XvFyn![G1*m YA;Nq}T|Tsݼ~lNNA^*n09q!@rqy[:]SqEA2NXĽJ[ hm\yh F*YI[xv*zR޳?ȗQ/F/!wI#Jvr+9.98dbO::&%{&u_} >3@"Q nE`9,{?}6`z9#8Z™x/O`GzV`.r ?z{K==z䊈mgpqv,ep022_BNr? g;{i2#9y F;xn4BzF11㊗n28 HvJN~cGgۏo @wn`pO@p{s ,}= >^J\I$=cqJ!d8[3.A*1}hMkcsܞMtܓ#9G'rWٳ f>r-g-קk4= OP=#\9l~}ώ1q~n}iG9:Y5DOO^s p?"s&z>gOcv#pA <3Sw=PKjwGcx='d{`q)}:t=8Ix ~g$ɩQqӜnz`Rz{ROL3>#DGj:g?G-G??jCYȴ7ÒO5=JC?A"?81JLh=\P7co]"QOLvGQ 䞼z@k)\N;AU]pxr8Vr:Nx99}#g%ʒ3c3Yr1؞ :ҋזt0nd'+pÜXR'bE+~=zz 8'=AryUo_K"y!1#ΕGԀ@aűyڵoOĈѳg9PǶ>ccYAbNIqlq0<ۊm rNs4 ^b @!nisdWyaA8Ns3^: uciW.4`JI̠wcݏWrIS@ 9=:RF66nh#hnq:z։cT/9*?l #~q$u$,FUic B~UOb!9ns$} Ә7lAN<=dnSs!$B/\;Hxd^2T*6F6 }NElK7bWl4T T}D}hȈ( \ӓ])\.Tg%7: pzt7Ub8ܽOsQ1 ŀr=@q w8 68R[ "y F>UzsVXBc9@vn/1 vdlOsN6_ٓDom9* $xc'$ח`dm3h~o%qCc @eb {8v`2pFwP٭N:_[WZkLmiYU_.I$gSH8x><̫qKt^0LC M9b R0Rs!FO$lZ]":l8z!w .ĄJ;q\+ULx# Nqlx;:cKKgo.7G HY  #8&&,N6vB9rOrΪMJ+G OnX8`Q@1H*rAϨ}#Wha.{c+:)e5Ddo9ņX0fyZ-A;䞸r'hdm?C2nO5o4tkuUH9u+y:QN׿elt< dAMϸ qsC=1>A8#S'TjRA@x4݃}u v:GR8:qa6u*yH.<9?Qxl<ZsMx!^Tzzqڟ>!L8p<ǭRrdgtx;?Şjar#ۜ ivqsU.R2鍬I's;`zrI 9Wds֐^pNq:]_6.Q6gӞи<1ׁ׀hR9I6:ݞȣ8#695/m\ j#+o>^EU ' ^jB8ɴ<9ZݡNH,_Ktk=y~:du'qFdqO^THy =yӰ#N;& 8n`s52,N7\qHA\UQ  O b+pqiRzio$߭[=wW' G#x:uS 9S%Ld A1 '֚@={dԏqjpUoÂzyT|Dci pg|g{XǠ^U9oo_f W p aT/=rʻccmpXRt ~zFܲYVazN'˿ 98]d_k\{N>w;1ר&<,I0 [ nsֈ"a#waHlgC qVQݛ p~J]H$84H 3 W w^r2J$Tv1dTHr N q~2śfSAHNq5] ZQS(8rNA7=B7 #$Wno=88;wLR#dd`Iی>ǜЌgc8z?Ab_pxapcFتNwo=p=1ڬ 3;"x#}ۇ1#9HШV /fsR{"[#i%@UB(cs<ִ,3( [~2ATf)F @ Oc뎕 YK#ÞIr3E$Sԫ(RH$ĞsN0%f4Mъ~/ސ #*agYKc[ 7 `|:bB$IP3|ݿ\~AON P)=sMlWk78l0@Kuj |QQǸ*2#g`6)gT.l!pBH$V H3(\5L1Oʹ%Nq6n9[*N@Ͻ "Tl=9 Ϧygw9%W?),I9#>k)k۲H IF%>_(ve*Os[w^SH;Ny`HN9[' r kcc$30[ߞKC68q}FCc|ۉ;~l#66QۂXm@Vە}_^Ndw0 IF݌e9\iY$ @y Wsyv3#PNߙ]r=pyD=M9r1<=Ҟ}Tk$7[z(`+pwaOK[q/ЌsNQYׇ[>\r?-ĞN}N(={ t?N})u3N>wtx*@! 2{m$85"#w%Gl:4.e7Rqol=~з2l G!QriH"YI}Gz#sZSд>qVY>ܴt# u֨u H.Bz@y+sRCcn0`j/:Z:s Wt3ǰp|zUv8^ rzls T?s=+.#Vs=+Ka1ϡ`v9vw.9# :lZS=8ҹj+ѽo 9#Ԍ018-@1º{VspÌWYY|K՞O]tާ8 府38^z88w<= sqp`~h88\}UMv78$FhVFPڶ.Fzˏx53DIQ r~׽qKs;GXd3'+>P 7gӇĽBzA y2F:g]`3t=zqZW>?+՗9P_1QHg^]+M9$,NN8E*BB^0BV8}E's)C0`~\/lv' \.L1rBv+9%H#$7a5M48Ü.Hڙ_:@&bsvA'Vo0cFe x96mLJF ̌R Opx*)gT\V8r9$s֨F?0W89ׯZHH< aY`qf&3ݖ?'1V=zzwGfڹ3g'O*I<; ڜv>M [6Ny8pUߚ۱+Khx^B p{y$q龝ʖMy6q >F@h%}Wi|ǣn`0TUBGjK Am08 z*(b#yyݎ@ϽI=YJm*YU~23{)T2]70ÌP4dIsc/U o\7Fzr7<Phr9,B''=z{˂RRĶJcocu4 pa 1c:yh'$.G'(0YI.;~8',1uʮuiwcfst#j\msdk-NSŋ R$vv 2B/0P!$rWp?#-p`l8?/c RN?:wcnJ+\f<  q'״ikyiFq!;s^.)hߙ]+c {rQz󻞃zuHw9$zoTTؒU t}?>ulMg$~U]wz"lN7#zN3Mi<9>)00qܟLC1 s۾`2n1~+ ̃`r>l8될8㜁^^yٌK6|J2b;[rx%Gk髤~E@ hHqq`Ϡ3oBR9x?8=N8(>\)oyQZk`@z\7Rms~@{f.H$rI^A'7me-0ЃtX.\8#0*)2v8?7n(u9Srr? s8;zg+09{#À zNi~R0np~br]x=o\$ Nz~5 j\dv~^rǧv^dž I窻TLq'sq^`)ݜ~]+鞮Zlܣ =޷ퟩ v%3[z>onӒ08qq=8@91? qv5#B:RC #9ySuQ"^' >eP:qZ,t9i \*+YB%#폺=E\Uxc+ΜgEN?)SӸMSqj.=;マ?Jw:KcH\}:CM?GqBav^*=n.;vչp9v*A8'J z|Jm!_xsԏǽrE%<@3)RrkOCR3ݯH O׭2V!]*AEu5η*Ȧ3ۼlpFr\89SA228ֱl9l #9FH~>xyܛ6ebOP7yc<Ȧfy3GΥ#$7pO"6]; Jlc%u4] y7!p"Hz,11r(GQz?.q9ZQ錂8g56- r90nIg) Sv$p2Aմt>bK ܜw8~rTrry}نȋЂXW:C@Qi~G{q<Nh2;~箦~n:co_$`d>䉻0?(=;x`ԎģS#?Iz㎇U۾ӧf}NϡNp1(?\ 29ڥ T!sHNsӃ׮?U0=x> x9}{~'|c`i>8:~^'^yTw0:g?JCӦqy ԲC֤=:{S ~#?h`;TXׂO< "RSr3H*z䞝34zu>GN; t1^:a:㜞7=:CjX?^5{uZHa?Slq )g>P0$ZF*N0Ny ;sלt掘2{@Aד{'OzGLHNH sy+ wOOĤS=yA1#4z`{^Ӈ! r9IC4FOQ^Gk&k}$=?S9#ns'?Z7Dg'Ӿ 8Z/N8sۧ2Ӏ$b@z#48"z @ӸFHsq?GcDc}9gq׎2{~rO=~g<#M&LLsja׌KC2gzq2{+QH}; GNz dU=?rzVqC18>m1'nNyڞ:>:M8wǠ՘< G8'5NycĻzzO#L-H۸Aar ۮkFH_Cr1{czr=[Iu&l$K 6%'|?\d mWA͞lgVѴD*lMxk*p iߟ|#_h(ڋ/pAM?OhݥoB=SQ#F} [[6A3+x ]27`%C 2@#^֢G` p,H |x9y-9- '#9+܂3fk! om,N :T5Ƶ2@ۂ\>^MoXe%\#1翶k(سtTr _8Ipw76 )m,N:Ҵ&%&Rġ8npҙ3mS$>֎吕#dw12IcިR8NN9\?Tv=8#42c[2{m1R298P[<3*:vI῭T|o;p}mǎ cW [}3ʭ*=cp:t9J7m7X)) N:U.u8*<rXhRrAPXp9a)7m`x#Du)`z`~ Ou?.xs(=#\楁7!1FN2}Fy =6yY6 R('1\f4A.#)rpWKP-#2 rrrAd\UeqNbHtɑg;'8,g쨇v/Nyt^%3/[F [9Xn\V`m&_fEϚLYcbYFON(iI8mCu6dn:t'< qOlXm@6s޴\"[M12L`Hд`2TN*UX/(ygO!*ٌ|Ic WI (*&{'T#qlGFUǥw~Ԯ-nclmd[ȈHeT\0n+Ux=ihZMhR@cđXdzdrzTY"Ҁ<{ 6;~5i]z~Fn ncV \2wKQ8!z_/VS"O{Kj;ӫ>u8OxW=+nޓ?\ERd4<~=€9 7;T,sx >i7v 33c?{AN7{G'NBq=ʰ8#@\L\p:sU} Ҙ>#G֭HvfA'q'uc|°˜8qͣp88LzUsy=3=1L(qN1sM )%C8xvsЏ_syy8 Mq}I gc֔'z'TbA܂x'nF3rgR,{6AM(:O>qXn :ӊߞi3<'x?n㜌ۂy \ 9NxϿޟԜF/o@U) _-I vIqZLuG,`tWD5b!9=qNAlposGz=q&@'=:L<s?ޒ nx׈1FIǨڤ$`AA'$sIb*qcymˏ7PsP\#~|$&&;b8Ai<*Lɉ!݂ ㌑TݒG󓞜:搀r<)۽<>0lpA$>R_SP"\/(TUyrFЛdi [qIC S07œ.r{t2/P.3q$W{ Tx#vaۜ  #Ob3td1隦37* A*r0?0rZ!-KQ!܌1]I[pl Sdp[猨Ҧ] *B.FTŒ2tnƵ8|XRl|^8kLVP@PA@=<bP͖b0 Xv9?[t7?2dpp gʙ3 g.gͷ$cR>[uE24ytgg@~Hr3;W>%O:(8o G.,h1G9z 89;xퟥ|'K՞?#@/q9Oqzg򮫒mӽ8GO `+玸40:r{ϧ឴_žO9caI`}_ozg$ҥ2Abrx}{7c$ Olը#{zRwq*K ;x⹧Kr-,1>_ƭS1985(ٻ. I#'i#=8RLDϯ^90?,Wx ^#? C-X~*/-N:z2cVJ~9˕R+| fq2nU[ܒ9swxaаPl9ǹ4z#m-,QHmXc!*y`zנ^coJ)R]ݰ5"c!ۦ4-%Uy 3#*}r>T`@>h.X*RIaO^;@| qqE'^O=Pl`HN>UX{uJ ["tPe/I&x B΄wTCd{bG,Ƨr՘"a߁p~gؕ @: qOuw&YTIʐtmxwЏ ȹ}g OVoOJ P5^gaef8`9)dcO@O^b=UNH20 z*bFNa=9年6!|ԙy$zVы O<;fžy$<з2 `ps#FK aJ>Oa x 2s`pI r䯙]dN;7 qW=qHdzr>n2 N1Rnr3{=9Jpg9|o,09=zeNyJ x w9=p3jʌzsx=W}y#K gq Czv\ 瑑x148.O1*lgg׿O6hxCߜ 14qt9 Z_R 8 +> JH F7*zĎ9t`^:8jpjOW$ 5ˆ*0'/A$9wpjor,:6CaInQ݂)sɫPn|*IU 6q~ݻ1Y" `g>4Q/2Pxfnm!gUd,In]wd(`ֻbP79`nYv:̬NsSs6veʲ0@r1+j(0T0 OqzPPyA Z`v1 ?0޿JlXHoeH=:I78f 8Sp:U& 47t1 *nMM GVUvmq~&0ɱO#T%}̻ȭs9T_PJ# hW z U+&iB6_1E]*mv Ba-1ЀV?WAP_vTgi] &LnU@N YjͣW9-N`#s (frqӥy]煉 8xR֣gIZ:+c.8F!|#,Wi^GcH+xg$+pxU8ڠ$rc}k7f r#W=sf+N( =I^p2+2y#̴'+0+^8ʲo䃴JѷT-[~y- ;+fe(Y®`)#Gnp;+ɯ~&qӜgs0;UM, ;c}?oSއ½>(aF9TzdfeYC#oF)_e+0q995u WBeg4I;r8`V;x=:y'w' /'Z Bu r FL=z4+;s㧭aXUy !  r9nPy%~^2;Pި?#}?xïJ[s69 PgJ2W܀UVl8Që0s 1;p>s9SPi 1-W8+AW_`#*%Fr{{1sSp: ]mG# ʬF}zpf2@ 9RNjkTm$:^p&B#<Ҥ#'b P`x>>P08ƚ6*3} Cg^Ab 2pNAi m Xےy'W G`X˱yϯJ`bx !۷|rA uV?m,Is5/sDZ{3I pSJ?w䁏A ,j  a{.x2js(`:)_ÂCM;0UWvNzds] M>eQcInHbrܓOˁ?\հ;I[YGlJFŴݞ8;@㏡e%pJ)n?w_ 6+4{vv0~x'/{lyg%@یǯySƦ]~4|?ϭyGm~8lzs342rr{Ͻ0aI~E>aiq<O~>ݿLqHE՘X6񞇎'>''99^ǵJjd$Ҭ^H~*%㎇sVU=sۃҰ;2Ddrx<^:ce$rTvAFYA;Fs2j 5v"9frpUqѝ=΀AH sl78GgғzBTm?&@0'sqVd 9ss}qA]u'̎8(y\ǩ ϧJ!P~ `9{ơ!]xO\px@P<<írIKow`1qS5 Do@S I=Ƹk fGNp:1f'qqVvϩ"0F-[YS^mG J|Q yyfVbrU f֦|FA] wdN:ssw yZ#Z烃`{ 69.TQ5t;K$;v$'pOxn7\n198UjQG՘7Gʃclfb$$s=zל]#`#'aۓQ MwoCQ(H|ݒsdK#cݯ$dN+͛=8"X2p( sʑҥǠm0Nk]N ;`/$14c3d޶7"$16$ :NIlEWBąw@Kp3TRd \"%T %XGjH=8s0H=l@@*9S~2=續)9#{c;{fMu8_'I<=}i׌$sz5VB+7mr g#.o~##=scp1(})?tr3^GJY], E'h c- |*UFr$v5koQ4j*;Q+;棂Tʃ=zzTAoc 'h1H~^w,fEЗ Nw8Fp9M 1!$F9$|xc<?.Ҿ=>)?}r Ot㯮EJQ+pI` $uץ.J'ygg'v1ӨBy$mn1R}&5e ;\gש:U>pÞNv8^uC4,è]<̮|;8ֳ:āp͵ygL5Hș)8$P8QC85o8z]nuAz !≣PJvbX|;,Ya@BHs_νCIq^uUЖ:\sL2OVdfz<;w<Qs`s>}x88ϵ0?_۩9qR1s؎8=iH#A֨e y@դ}3)= KR;G>q#8ּmttBN߆02yյNzQRbmQsSbLx\{g3?{v:Rޤ{wTW݀'N_jKrʎ?ϯst<`pjpAϭq Tqq{U)08L?ZE# p 0H݂jP\{q޳{-z [9@#85f S$~8#ǭCsԅiCs#ހ[>Z\ӎG==;b{Nzzw4+?.Ÿ@GL4$~@/ǏC@J듓 o_N3dֿy#9Ǡ${r=i=B}}=Gui;sS!pqAG^:w*X$~^ o*.R!{}#1[=w3).|ҡv*p2zd\4Uv"\2A,O?^gU9_FT[n7;1{ԽM c9es֢8G|8GZcn1v8+z~.rAbˌ:sDAE+Fe1dvЋ (;qc8ihncny ʜg 9ZxJ?#^ŏ\K'li?6;8 Q۽Pa#'$D.CF:jȹcMB4ygȞݤt3aqҦTvWv';)w#O$S,w*ARFWQ\F`;T?{QG"VlW掙LRQ\}Qtj'k%dm 4i4 qt$2Oһ +Wn-A;A(ꨠ):MhѤ`v4{ 8rqpÞ88K[" Ka |ïlWǡ"D 4 "|&6q< <=|vov}ST zwǦ=hc_J@vhߡy=ǁds`=qÌ1z{o<÷1٫=9ϧ>1AM;>\sϯNI<:t>m>aaHc?c?P.9댎iӦϯ\߂  s֓hLBtqЃr}Kx=Nhi JA@\~\7@}Vq ~ԟyy>ܵ nsF?:~Ӟlc\~ԷG3t@OpZ|°҇qgtg=A=UW oO 8ǯ=RBm 8wǦ{i9j+m0y'G> :ԂIcѲ8n{{V{G׃9<;ޜɔJC)8qw9{8m8qn󛭙ق1KmnlKUl R|h,fLq |2 㞹a'?(P@צ3in7'hQG=z8Y%*vO>›v2nqF~Fzz֕UTq)nI=~(_pIF,7' I~?XR 13c52(j)FxP(?F#wy8)ntU|,(%F6:cpevO6:G'j!mIRN ;H#Niv g v_zZԒ,1RF\&_o>)NzVP"łTXϩ !%OPc)W]ɜc8sn#;B Srpxf,FwOFG̬1O5Ԟ;aÌPUTׁ4?h1_U~V\&+r:#}sC`W8cԞ9Wߛg/u88s48Idvw$~(ӿH_Q )XWѺӐG(pG@=J6s8=i^`3F[%F `u0\ /1Zqӟ(^3R)۰rɤ <9㚲wx\Y3έ0fVeO|HZ q\-?RtJ~jZe;wK#x۠ILh3^qx`/E2 0qӚ<yizG!6ц`\;T1qWV˂9 s~C};Hqzq e zHk19%@nzљ~2]˨'ܖi#%b>d_8$=x" b0'$gZXѴ0$I#F, T3) eV| @$=Vc%G` Q]~_7 Cu:.HS15;nqQO ;G1E ̠)8fŀ޵`3j'.VAIQڇӰ-X ya;ΠQ5ج_2*,6ۑAk ~&];s.:p?z2}|cGJZQiN@V9_ Lq,x$S^nE-S>d2G`1c-mxqn@sߧ'q˽ї!1$9{m;sзh[1o+F@q>wi{#< I4a҆QT #Bv_!\z$`8ƥ7P8w*K'\OZ/<èn*/&ێ:\ ~>8qz VM; "LrS $ [ %LCvH0r9#ڥ0x89)3 99T $H?ΝאL\ϯMŸ(#b2v1g|8ֱ& ݶE90qYNɶRrZ 800#5M.X46mT(ȫ}IjܪqmS$dqץQ7z+>W拒%\BK*+؝^Ap@#ǸKQrls2zzv̥e#$n7g$9ZfO:6(vb5W`_zo~b:!]s:Us`qFNTG^ryhҷP$c$pzF_!8 rΌ#9+t Uezufe( N<|ղf;zB@o0nzq9>}+,d(Udt0^N~(lZK%nWy\ ێƴa]*TjX`,H_s\Cg^l QnX1r sI0rN?ԃZ=폕 d$_Pzu流s]Ǯ #i J{wcl" Qc-z{p4r{LQ7 LPz[8#Ԟ~ ˂NprzN1?}S~+sirї{?eQi``>z6v 9_bzbt~ǹvf'#9!sjzp*+3_w?Ϡ\laܕU,#/$tj±e2/Nrx=sRlʰ`UN1co~{ V`Sw};`TDD]2@8ߕ'I۽XA`H0zdzt lL` 3p3rI>щNz?`R2 8di)T8f/ݾ_AS8 ,̔`( 8#nv m휀H$|qU{}z|FH#q'ʮ ogpO ) 7tHI*x>'r  h82|:>] ({sG&Ъ!\|~:n 6429]lx.;޵TcZ9YH_l@wכ^I%ݼdi'!@֤lʡKrëz30V*9F1ӷ)RO0(;?:lUp lo{';^?6G@O9NyW3԰G<M1c$gI=9+z,TO?ZjAatsTx;ˏB?)ѹ'_Ɯ$ܞ4__Pi=A{Ӯ8ޟ6V:p?ROxczW5WqDSi}zv㜜~ߙ30NyxӁ=8?Yu=Z?9<# {9=1#8)H gP;r@~Ґ <Ko\$ L=c(p1#@X89=Ζ#8zri ĕ،p9uG IϾ+':VմMi6W} AZ{RA u]G5NUAƚM})9k>m z<&;8{װՏ;}yn:H$Hj2N:1;~g&55 rl$NޕL$nor5Rܘ-,Y@UⴕQUY,32z3fՕbx.FZAt#؜P_2Js\{2!'*dݏQH8\* %]$O@ B ={'6<\=@3#uv d*fV'ׯCI=I; >Q#%K9Iٔ(l y=y_Ch3. ! n aGMBbx :q*Kd<'8x51:sߊ^}0^x0uI@qߧNB}?ƣloîOFs>{NÁx?Jln3rG c ٘ao*m}>_E7h\$tHF#l`sּ\NgBWHNT)zbF3ۦqqW+:;=SOLG+ОG}ϯj~ߠ܏g}JG3E=yQTIibn0{ ts+L.,JxTʀqqUV?S+B®{F8r*pw9$\ӝc{=?*?ϥ֤O<M/1ӿ`;`Xp1=zG<<ޓe ǽO@s=q:?}9ӎ80'\{xi0.~a{H͖T {!v=7S_RӐ=OҌ=r}z}n3 cS=t1c?޼@~}h9L :Ϸ~sT"Lzu=)z|=JOׯ<P <#G:s98o #ҫr2h.d'.HIܸQGN%ԥ9jZ  =9/,pV9UP1 x=kֽ< J}d̘=qeo#q ?;Q;q۲ 䎘1osnyA3:ߑ6L'Aӑ\ W'II1W}#Ωn=@p;/1]M`qۏζL+ rs>^pHcJ+n5[  cw2Wx:3 7.7Q5:?sמ?I.rW$:4eHc>>1C!=q鑖#LN}) ̤7܌)`8=we-yJn]ʛT9<` Ӷ~RpzrǮ28ocӓpvB-5McCI  9a玵S竨]<}@H$ 12ztЀl1 ccPet"u䍠늖<er2` Aǽ4Jc\l8 7u4nXWKbmb2 }MuLq)C圠'z-F]Y rX^'<+7uaO< ن;@aV#?2 & s>uKmUs'DKM FIbÅX0yzs"m#T,waO8$q+ NR fퟯ<֓HRj\Of2Pi #O(H\rN1Y#n!rx%}xQϥ6Q2+p8ZC ''?`9昣>' 8Vٷ†)dLU0dNW10@yOzY,sN2=Yi#随zw*dC {j&``+&Vf %!? p?@/<%!I)N@>mE-ԏ(w%Ig}+4>N@͏;uFM1@0( ̍@WӥsG8I/ 0$N&VQ~#9F|`CyH_p 5Wnp$P81ɳxלs6C;YyH܌]T(#jټ H=ץY-Jv%@=hGMn2g$I10 x.x9O|Qq9Ӷ||CXC?*;mb 9aUcO(9X`0sMȍoȱg[֚4Fu?8܅aw9ZuZKF1eCn9ہ=YͭT/[_~:vgGx#S e'|4k `rk7rEXۤBSvS$d^UE'Oѷkvz4VCrvFC(C篧{wE$=_)Sqo>+m]E G=2Wԓcڛ9W'Ocù:qINOQߟ׮Lt>~XO~{ПpR9)y=F\Ά0'8JjOOqM>pӷ<`{N'Ԥ4q=Hh]P 8=q~ߏg\djp38v zwE1Ki`{yN}&t'8Qyר#=s拀?z>}G>nc;;UEj؜aRt~<~=E8tJn9 *2zyr98?Q]|&q}@?: ucGQ, @rTdrq}P2 OL(ק1Zbh8Nßazҿ!xs`u<TgVx=>mo]E8g=iǮ= '`}z?t{~{Jb&y'"h1<䟧5]pjK] o=>Vh=tϱR Xa9k"mI\dK<OL8f$cҾvԥ0FN#dWG.; WOc8yT[!;p6xWQ˩#ma8 cۭRlnz{C]C*O:ZR$7 rpz:ҫD9# y\nQV`TP c-ۯCH: 1kA OwLeng4Coq@%s#=I;T8 ,!Nc}H< {t#8SrF{sMuRDlpm`Csq٫ bI!|zƓ).1$6V2 ;S ݈0'M )YO1,=8r#cB23:Xo_ߐxrjA0oc^zm(2@y.rמG=ke8*Y6.@S`f1͝5zêiwgɅwB翠Cjx7txo%Է'1~vf*#Ov^NNZK6=G&`8sJ` r9O9(Gc~j[`H׾Fy8$) 9w7N^y?J߾9cv^><y;E$d8([[ p39M^I20Hlpx<䞕Z(#Z$rpiqdۜ`}OZGuS܏~;YDĆ&g~ ׎ rF0r\zcXE$>rW'h1 tyAy6rHegr!kۡ1=N,ero0$Sc`X[FXvSۗTCY~eKH@?u.<+j@oV.cP%r98zlvzL[ Jdp8=I{Ur@rXּ{t=\%_zh|>:58aS޵iٽ:zIqϮFʟA,sq9+J> ^rIʌt݅GҥÚN nUJv9~I`[ߧ8LN*tb:=(TʤÞҕAn[ 8##cu}S'd8ߑ{V g 򾾧d 'H8]LO}i)n+(Gʫ;Ǯ)쇸C~X=Yj;l(A}1󊍇ҹ˛Oɞt84H*Jg7A*;OIqs?ӭ}& nO`9[j60 Kd! 2@s9e 4AI;~@ =+!%$x)K}Nob!Q b:^zq֜ui@,].ݤ6@rS98[FVL ٔծw:xʒs߮:tڤU1+sn R( ]VE8  p@$b+12ߴ'{S#@#v|^q9Y!s9eޢcQe+#Y` tHrsV ,2**nl0Aߒh9_bu//$a| <=)FUPnvױ8i%o!8BBp6nٞGZ*9Ao9`"`P+x\l))=0xKІ87/1ʞq< 35'H2P8rz7>76+ d9+"uTœ)>z/95#[Oe~}[v`j.v NyL(er؞?13D.*y2/AgNС~W 9ZL#tq3d}ȻC˃Y|p`mMJ[}oB(-zֲ.7Wj!Vu8*otQظp orml¥ 18QͤuVhۑ#7<}>p PI;$:1o|u?q/3B$>gqGQ+z[ Y8{b~Z[RYXDP8 8=5y^ b+TJPyw<׏,*(JTU+arqL,ö<xW GaH\V#?)Cm1G@eہ“~Q@`OBSWA>g9%]~l<:8?CV"`x۴&WHv4xێ02NN[#j͒A8Ge^}p:sYKE ܒ˗- Ӛ=Idrr~e <}jIN~e|pI  ~8UbT~fl0;x~cd9< 9z`NFaIT#h-@6U r0A;@=] po1ehV IߊȂ TiUwnS:gFsRT8U׌@ZLNA'k/IC>iGoOgiζ ~Fpz^۠^©Wבԭ=GZ>S?δJ==s_+='% 7 wN?.GScEn0=/oJN;GEh,W =Fs^N9=qh?ƟׯlQXS׃~0=)AT?C>_5SQ%^1y'KpqLdVv, OJ_4==*^ <Ix@c_ʇ8g~b{R8@@%B{';g<4HA/|s}#JIܞX?ǚJr#kt f9P59G$cr.F>m Owq3WkW;2G#ބ6@5e':mh/GB8@5"CF#㎸}=!D|%[i@*>FkϕHYO=p~=\*MtUl_eHxֲg+ᛟrzVcngNU|2 з:`5:`󸌿_99}1A?7S0pq߷ݠBF=6?|5,smI9P}~jhё֚FSSA=9$S(33vG%]ȡ/qq AbpNj:@@J 8 u`W攒ÜrX= R;X;;9cː  C#nr@<%M}zi:Qϴq%3בZz2(pp#=85( G|LzoXٕ@=$1UfRWOJ؈Pĕ j`,@=\l<r:{g}Pz P$.RP1 sWJŷ/鎦+˥Z3VާvEU?.I^}Gz} E*m+kɯ z8yZH{I|S!Z o\{WQZM%xAþq.2*8^FGqF*+uo|y ϦxGL%;8辿8<AsGa l'ލ'߶ <}3$nsׯZs<1v8 ǚʣ;?cӏƘ[=xgDeh\$dHщMb#7Cz]o0bxrήX`Nrq󙘴~\ry>m|2\~[t61 ˌq]6ls Q]Z*;#98\8 }$*$5MJ9(yfI;k2U3 2{trOZ2EбSGO^{ϥH\ `{cYX}b̀Cҷ ߍF'>({,3:gQ֛$C GBVd;ۆ\JI3Sw29lܩ Nӧ*B0Xr{cP&mHیHՈ:+UXclk}\>W4 xg;T*@>X?` 0*T4KW#ߵYXH=x<6}Sr{Ҫswjn㎝{\cuI|ҽAp= ^ ɦtzߗ>=~~PAcz#*;gQϯa4(o==H=3ysqϱr9bsTsO$u#6N?1ǯԹ9۞ʡc:~oUJs硥=!zzg/O_gGR5ug杜 tמ\Vzp8qJp‹6?ӏ\{vJq?UIH94w=}?©;@3'߽)}F9;,9`$qgNw>kPps?]VU୼̤rbG\^QѧeWI`suu3.F0WA#ȫvN99(yGGwq׊~bwQ<?x횧y Hs 7o~{=p1#GPW ',Hs]8Y* .\8ܬ#oTcힹ&~18y7x/x蛴M\T PN8zu5cq!n1n $zzסM}F[&] )RysRyp߻$9+Y G4 öX s1  ̽F3y8&GK,RRGzD-fOFv ~h;PrY=WUo-2cOnױ-i^F9==N< Acv${t oU9TH,@sZ]l\Nv^N00swzqU.8R,>p{O5k ,=)Uۭ`ԕN3GM㞕 2w exG41&eȿxO8vF;1oA94XS˂ Ny=kQ##=rN94)܃g3݀1Any=sO۷flLy0k 0ĂJ p1}+OSZDe &q@o_RxjoH|>n8)=N)rI_q=:'/{ zۿyq  ۏo]LBz_KP 3S׃׿K==s׎xn^)x=2G1Lܜw9#zP&99? |8sG(g9_s }dzsc2;ǚqa!i= |^-N;{yڢ4p~s4Q<N)Xh$G8iאr\)|ߠ0=+&78'b1ғZ!>53C}}+5 2zR<eSמ9Z}xwN9yzwhc>ñ8nks]B{^ +u28#~5{wێOןj# 䜎^W"}$ṙwH{9z<]I0 y\A(Q+l|WvWl<=ko$!h/omc i pՏA֮ozi> He6X|҈Ȉh[:Kndx"Se #Nk +nvH=JmF&*B>vɯ,t *Y m\ة^v2y7igagYn%^49Tr29|N^ye?1;0F z%o=.[#0Td$cdہUyq:ףe=Sc,ɍ\sֺ.`݄;XrLADCsp8$4fBh~N;+hG|#NX.?֋715IDi?)2u rp ϵqIu{u={-T6';K(P`nJ ޣ9!v:|?lc$|c##FN19HgT9ꫴe~A g$zsҀ +w98Є8m#Sb<zz`chdp# $ >r>F!cwQ= [k@=m-cJtO@9$xsҭ8SÃ;1I F݄H @$qPNqi[vZMjrn@"]KsCᕱװ߭c|3Oxϯ$=PIc` юzpON*AF2oZLC_ I LrIX/  Qq[\I/\b88=kE!flygeqkB%8,I9J甚]92Kn64>fˎ%vN〥@㜜 =r)RA Wh_4 011>Ƥ{S &r[d``ݽAkM#8+丑4cݶGe OOs1:zc!9^{J#=3fиg=y(#L=~BG3([8[ڗ?F2F8#'ڭu.98 cIߟ'x<\A_Aڽ Nj>&ndm03qzbw@*\9i Oc(3p'$`\J ,K0G\dRw!7rkֆǑSves u'9q$8,A 8[.+&UwA!\rI]Pʌq$۱5яh0}z =O#̒@U*>WW 2~Rzs֐"4 @SANx3shE אǓDZ >ev9`0x*ʸ g8uBFbv(۷;={ ʒTdv00x}YipA꤀CN`[z?K)0a7c-N|֌l˃7py# YMicHi#6+ UpN`֤ݸcPqA-w++> ?]Lb[pOܟCқ 6ʮFBQ[=5>eHqMyy;po\h(LAo~G8^u=~dF3sR/8 qRwkwA+7v><@$ul!@s܀pfOO^w@mp{zSz~tSP־VGO|p@'89GH@q㸎=،1PS،n:F 'yqЃL~p2OLZ =;ZHByl=(pB,Np1FN$#'=FA? =@⣖h <orH'l,~g;knjZ-: Xcw`=k.ݕ99ul6 Wqן1!r@#h|p:UHRALP2 3^3UA9Q=G<+y8b thdgHP@riB9Y|3w–I Q Eqr*ǡy1rfq鞝*9׆3pJ89TbC7! p 0xT.c/]$ cG< Q|z{U-c}}HQXpNh$XL!+Kc':E%UE(Yy8csN[_I݄?"ma8OSWrH?2Pר<A9zdJ,Mɹ˨q6^3Z}&6;2*:=+ \ytP6@ M\9;ꯝJ;=U-bRnCpU$ 0=Hj)Q] 'Ono"@Bm={ `z]N"8r횺y2#XPX+^dqX/cA.yNKH<#y`8e9i;j.ߘu*2rsUqp1ҳb@ŔT`d~=c @8/RE8#i=H({[hnJN|})Ѵqx'<.qtzg)88==r[CߠV:ȎAᗂc#; ;#>֢!Cq9863۠'Wb2< ǯ)Q-?T#smtÙ߽ ^0I Av6pL_U+ d}kyr!1 !gxq:q^Ve$:#\_K^:{op]SyJ֋']Oҹ|OT@,T36HɒC~hD; '%v9#k=~0^FKo fՂ0vzq֘~Azeq>=r8d X`IF,Iq Uр*29FI${qDm|qv#MATF#a̸>ԡ3b#- OɁi/\F7u:>bFUW `s{Y0s0,#cq bÌ 0 $jG Q$U~[pEea 0GF~yr:H#4ė)O9=28!^09\`w<q;J'wbH(t` MI9!Kg qB(ʎvj+07lz7bB^2K#JUv&C2~29#k6Z,دYĆ #w}8<פ{$UrT<6Oz OG:=Ж5Hd5}@~r֗gSjP^By=xz8'tV)mHyLq׭FwrxOZ}D7 T^y0:> ^zxlu<z_7zcO1r~lunIZɫox=<WiNbw6Nqp8 gs]q4wzWD0iX}rccXmGj;噈VG HP} 㠯9u=ػTmr{9ҳ˄hWFm~`jR4B6r;`e,ܬO3zOqPlض Yv!n9 m=W[n  q8$B2@T̥f됤ĂA=^BU|n3̬~SC $0{t5dBR"F:dhH.O(L 9q~ރ+sר!Qcx0N-|naækpfQM>&W["ĸ`φ8⼻[3D/S堯( ;#8N^@#Xۻ r9 ۩ү[4d ifHTlL ;%C2;n=*q?{qҸ;"in7 A9ֺDv\ QzxjOd_o͌j8ۃ^ʵ. F2*M88`S^5<[SԐA!P`'8UkΤ;1dҼgҜ} , cye98Uϩ׬[;iGI둎I#|5(=O+v 8?LꂱaR6-*I8'kgh85XtwB~blvtba*^qۥ5>YG^#'o# C %@P1ҐB9րSS$:䂪U@N:*:g\9U<3RhCO syз@q ~lcfЅ' }W*[r⣁)?#6Ug#h_<Nl@98fr=k)RT'q<=y fa?$\ r{3s=wssqB=.ت r!tLU oz.EmEw-@9sנ_br0 u8P-%B YJB8z`;|b*|(;62[ձw9IuVS;IY> #<@c˝qF3ǿ`O^ j忑68F>D8,:r8Y 1m,?(+[s-mEهó N3t6H^N?Z[S I#Er^vwM&WBts]=pFIu w#95Zx` aR>E Q@ϰНn#sN cGAV 8cc0 ">=G\?<[gɧG @?P9ڴO% 9*;qTab9{dzڥMdw9Ӈ{uPlg?ҝ{Oԛsq;sǶ8e 9׀җæ{ӧ$~G;c'ljЖxqFigS`@zG'S~qwPg郌ߕy뿲'T6Ƭ298N/_Q1d䕌`1s}1cʒprF:sҲ/$|5mz${rcՆ:=JǏ=; nV/S}]yRL|dpʼc<Qv,2m'±9 W\pCPP55y/Sj.**ǂBp  gv8//nz0Zǝ'j@ј`NHhJ SXr z{^|DEHlU=zMhE=ьYqF$vw܃=yKn$\} 6eBgM8 X*ddU#6pAݜy Z3 s.5m89d>֡9#_%=?Sҙ-I%;r:qUgp1 g{R'P#xH*@8;er12 `N/ۡZƭ*e?>C0KCӛ;0 6c9ÎIbx?Ko6 dB71sӨ84=OsRs>kA##<8;px?wA`rywiňnlq=8j'Eib {VX2,N}L$w IvFJcߞe&tXʑ )/<}=*͢c|.[8glI n*U@}9}:i 2iz}=SRZz$s#I#<֚qcx jkV |S~jR#'xgH(mzv\MqzqJ9Yx:iᇩwJv=FzvКV@M8J$8w|.@lp  3Nra}szgb9>=N}~*|~j}k9CsH=J&3A*˷SK~2F),={fRsH=Oq8b#'FZ9{u=3em#9>ԝC1~Ϝ CMhmキ:O1Cnװ(6::dQ<4w?A5rs{Чky!XG1^DG|/8?~1j9}I!h3#Cz^A9Scd+ Qp>^͟9Wbn/n $άJ3=&3D7$zT3gS~U /.*@?6AG׿jO`2G;9&H==x[Q0:#'hz9'>zmU88#3<lRp>^1;pOp+il|Gtx8';G\ھ/-vxKD7UPB`˅8qrQEgy%V)5$KvȈ`:p+:&evʷ~)YK(iuOfRac9 m8TCC4 +Wq8#?OJ<].RșZG3 _1!~aӥuhmePus'6ѕ18]Gz]Wz[a"UTQ rr:q՞Y3Y0Nҹ9U4R +#I9bHJX`g$\s`Bp?(;=5[!JA9\ʏ0skq!IzznH#]hPAFS(NCcڛFϑ=>1v2Tq0P[ώfƍ1 &9t1&8=2;֝*c(&T/(0W^Ƴb8`$ c'6p}3{2'iFBs9ˑWl[`C{j+HX; C(+6 >Qs$NcH\n Ae%[=M"l$W5 lw ;n |3rFJ'ȒWYx}$bBYI@5XIÁ'^*T6e#8{O^\3{=q8'z1֘>|?ӃS{q8Zf9N(=v$9u9(=O"l?oU\Aqc/|dP~u={=i9=r}{}iuG^'z4ӃԀzcv;PϿ=y>Ӹp=Q828s})8' \ïHS0Hqרҁ_U=ǦHvzNOowb{u}N=?=3뎟Sx=?>מzr1xp}x8ӓ҄!3cӡK؞p?cGqރs?֘ 1=OZװz~ӳ&O<8`;Esz $ wwawʢ>k)d*G.:KM?yG(i\jt~.Kl (@:l8؉|b-W Cd3ʬe߃M W,Fd}zQN~onRLϠ N>l(9E9 9M~6#)ᴖ(+=YXsB(G~qU$#ocv89d~@LIT$r@ScU7̫NHݫߚH?+ ,O#AqQm#s,zQ,8$ { 휓Ԥt$8v3ϯb*YhӃ+z֦,sR.; [@̿*sdXs;"5qx |c=8$ Rx˖R=9E'iav/ 8$װb00^G|W O#'S$SB7$rAc^de>w䑐GMt=[^>񃌜RԞ0NuOr8W_jxc<`:-ӽ9_uu%ʭ{1c28PJmEmrjIP$s?2 +q?p"66A {+r'z}OˤΫgpXt'= W*yA"`Pgjm'9o 2a_&89`UF9ݰi8}œu=Jsﱭ m6C8Zq̍7aGw,EzZ8^}֧gv@ z{^&M4\a ;x,NAБ-CDYKsL;=8ׁxN/ZLUFO`8=(Qܔ$nQcfR%X*W7LSvvp6$#Tqn0U* d=Z7I'9XsJK֥,:SM!LJ#J  u96㌜G zj]D<q?gӒ3ߝWo0.ߨOHocøGl}:Oq^{~ ^l&ZH,388xb3צzp=}i'!Xq6?+'!vTy*rz0 8%i!P089 O&s$N3~]ǥe˧xnG.2u㞞N[Fr7Ts|e3 zg|D$%XѦ@3ihpـʝxkhxM;+W8`rA;ʻg`ś\Ѱٟ##9)N }xjD*nWǡ]Ld"3݋/$c9<S[TmW' B0۳=)ce礌Ǔ811KRl FYNyynqA!A{95"kQ [?/ pH,y5l0Ҍ瞵m1 p҃!}V+nFx ā(nW#F U<|9W dp21a1iGh j:- 6HʢN0I8dz.9$c$U_@|'0߁i79Qó0bC?1h4Hr>IVsdsjj3t1+lqiMs+Y;IP훹;qSLڀNUʱ2uOWq53t(Eۇ(2VG/+>b8~xiM_dqhňأ!| $q~%lO묇B>l=s8[K' `(#_m >ޒi\!r(TvcƼQHH"9%GOz|&ONpFuQs#ߟS)wrmSO^zqv2OcԯLKQv.~O zPOsӭ[2rP E4=$l?6qf6+mڨ $>0''9qolu=:Ut!I%l zsH9\ ڸ֥n4a0á ͅ<:r9F0.?\֋Erb'h۷aR{8<sj۴9G֥X+N8ӚbNP68O@=FrIs늿nn$;OneEc^wncA#*㌁bD̙ vm11@nd39 P-lc]nK2 Aۙ8# "6 HG̓^SO%6!|퍗#?0y8/5ν2s>ҡ[PKKG }:S_ WÒ@8QyZ6dSCܹc+!ؽH8Ʈ~e YS4 †;r\^KƄĂUO;}&|C F_NW G]ٲ39gwrpTg4 IԜ`}#qEq?)\`zB:,cqן44GF˞>izryO 7SpsԞ8㷭+ g?A4眂FH >;#p~ u'=OrzػN䎧#ѝ#~~ $8&+@qs[>E9'nu9x)}>L0@c}y;2r3 ^E}UB-^ݏSܓ=gHжv,\-|zWiv 2 G+ޫUc+N6洑cr|ʝ3!N:W25IUnNܖzןWfM9iϖ( s#(P1\r*yo0v8;U2=`2e{|>L6rKp=>n3"6*+eWmsKRi 3KHk¢ߓimgEGjP\y0Gh|ԫdP 9|efo#S@ wc*=z2B}wdno?|zT˸9-17Nӻl19|VSXvAkN5 `@[# ZeRE- `j1^& Pɀx〠(3Lbdeێc ʘw78 r6a'v>~8zQvv,HDAaNs@pvq  VUI=qϽX$[a "GgqۓP٪tFF w;A;*Xn8<9摚ZVQM d{kgt]#wc2Ny>Jc؏9t+󁃿?7Fy#L3*r9 c}߳+B) uZ2ό#@[ }NMLW_mܟ2))"eb~FĜ`~h":{T)!J$}p3XS7: 8?.@G\([K1B?ʙY~SKd 88\` 8#EEOsӴeOFN:v3j: ߇\==3\]z =U9+uԜ{vz >k5koۉ`=WCލhǑ]LJ{[$-<3Һm'IVP8q)9[[XZTuo+2 ~b?:Ƅ۫'+8z L#F|A*Wu=3ܲW8o IsX<̮nmS7 c22p06ſlHTKr۞KreO*]J8_R ܠ3sێN{U0[V]"<36{cxMH9^TF +ͯO[gigu'#rqֻp9^*'h+ǯq=j$CO1+iuFI.qN}y86i3@y:~5iW83 CϷnz(n+c}IPs9QzCzB1פ=Z{?R.?rb9ee S\lż#n]ιocGb>g9EBd g)Tݻpۉ<^L44,lS̀Iõv+E"@rQKg#z8X6Xlqnû9=8޷c\*bTס⳧#Jdw*^!_j!?0r;~dկZ΁.08Si%*˕7M$7im 1!f_ ,,W!$O[2$A)iJ.ˣ{yeG$ ną|1}2jb2J¯\uz{y'`:zRݫ-It߁,0TCq1yOq[yRAn+v*I'-}8ǭ"ƎaǕ#y-#h1acuȭF==v\zr)ĜrJ՗\lbE'\x GL BFs88}8-nFrsW2yJg=@#0=h3LΒ.{/rF;)̀AێA,4Օ4Des@0ϵiGq= rעT=v=qާwy~q|{q>*&Fzg~:Y$䊬u]yJ6s4ƇwYX=N3M:MǨ^znxpsd䨮NI"qvǯL,A~]J~&!S]w-v1rz}?JSl Dqcss;d`wݱ8~>rddL: >3(UN+ Z1DRVI&]ni 1ӁXcO7~glᄁH{ cWi !˒>n`;T>]uXXôrޣުkXdaB^+ϩKV~MAtn2}' :2(nA 6s9^ce',B ܎ֽ8 a;s3ZՉ~^OsqHۏG `8G&t#|,r P0窓Ay 2;|B=KůxVaG 8*Hzszz{}ڭ xJ pdn0FA~'4 &rcsU\6G^ u^x8 `)%B>~zHIÜLj;[;䁸cAURpT(8eS rOM5!Gl c|$/U}8iŏMl#aQ֛i -dR&@*vBw=64j\(vpNYe3|pzf-x=6(bNI,=Jn9X2I!C2'Ԍv5&Pl/9mˌ'bp*=)a=jʕ<N?nhirQj5@g-$f&1?R6JlAeB8y3zR-^VB4]뒟(ܬ{ב[qݽw$|ץOqOZ9́A#U_,p)/+o\q n"Xȡyݹ6eLczThhA+(=`5=̈́3yW0 劃5jEo 1Cv \OVJMIZg EVoE2H]C*oo.Ev*00h!eQz>J%}c.ae^z=rE,,͹˅RH'a1Z+a  n\ r~?CZ(hGeT *4LG~ָ@%ty¤gg5m hmg̸l)ܦ؛Kݝ?pJ9"zfK{M23'H%ҥwuXzyA]PkXƟB+<`J0Vդ̌N/L}ǎ{rxǸNG}qy[4:;vcM<O|y8OOOjC\uޘGsHB?G4i:gAFs.>'Gp1ڙx>ֈy)=O9>2sg I @Hr?.Ӱ=?ɦ{CӞF3)w89@ 88ڔ(2zsw tQ.}i==982s>$}w)S0{ҝSaIcgs={9>*>^y<~Tu: P^;;{vnz:@tGnþz)@3׷zH ng$qۧSr 㠦6OM?O׭GL#qMlϡJP8ҁuIix댓=>sBlcӆ:s߯_p 8;sG?q'z`U0 dt3ޝ׾zz=qOJIq~@9=7<L19 _F=c'Cہӌ`}X6?pW9:WNOc1!]ԅ {.X;ᵊF/CP~9RYNp00C2{W?;ʀ61M2/=k֧veg;H#h>a8u=9DJp1$8rq7ۮsxJF!I.9# ,yp˝<_$808> |u$d1t!B4NNW ͜}hF>eN ?~AG4>_?6181ÎU G,H*ϸm;|v(p1Y9d3FX߭h֟"msB42̿)?jV)$6H9j:)   u8ֺDNT\* 7*zt+)G{Dl%#\0:Y/$gy.Ys#jI=UP]*r9 pPʜe#Z'L!0d'r+.^ W SC}$m!ʮ1ӆ9=@2}ĤawצyuHC8-c׭;{SBA#cqjB1=$i#R=N1"א 9 u8=3@##=[>ޥG{dvO9?*c3>Ҥm==xB%ryֆ9s֏QFrOs' N~{jr!]-\**З|4cR6@gỮ{&w~l`+^tQ10e0ű|qGsZQ$]TF]1ǭz8mשvgkg|ҾqLGh\B9$m*`0TˎAsL B U-trWgSZ#yc䳳l]P+dH߮*].p ?~TB͌wJ8ܽg(P0q>[,C \88xSI>̙.Td9z َ~R `sTTU{0Pb@md{0pXx9?Ҽ,]ikoL-{&Ơ?~]*E8Ax=HJ׎I9q[-BIgO|TјrwcDzt'We#~֢8ly$}s~C%R)WisvWJJ۸#G3vx@t#õ&9b=Cz^4!'X 4I?)8<#8n[`p8'2ki~\N}iD3r8 @}ML2Xq9!H?} !G#9e sN$yhDfP~SL F>b[A’ywyNqz;u8-Gaۏ Qac<=s8Xf5v>nG;-cjY]9{|h[1yq$>\HNqlιBiಇ.҂N89rs\F&dDc)u-qJ'`eIǥgӹh$2==pAyHb7r71ud2ˁ͐ۏ2|`>W>i.FSJUэ Psٍdh0<滥ަ$ʸa~ w#׭^1\9đ w/$r0A瞵zvvfc:w*\/_Vv=Hm`wN'^C-:crpBf7xyiHDڌUTm%OS8Jo-q8{"ZE!SxI, o.% *]ٷ`THנkɛQW3$|?tUL8 =w9c3тBo$cmP{sR`|Pw3烞1S^I`O&#(&1Z,{pi=R3<GQc$8JpPW=3+gif8 sc?ԙ+fԎ*9ݎrO^5p?X# z:x53"1<'(=7#eJ4rX9m ܌a=~Q0+0H$DFFTP%lrlf%u19 gf`\ڰjEfrLv rC㧯 q֪0y^ua9=s#㺫;Bd`c8z7>SF`itc`{fy{#hWHH);/S+ԣ+wg=jE Vp('^i݀ ;g'ӎ(2e1Q霞=ϽqΖN\kyفzfax'W!SsӠ9zL5#z0qLt8>J=@-׏l?hC{s^H'9\ {qG>Ɯ0}1] cOsM1VLzdx#7 ;YTLr=鮟0cy3JG>ULJ?q^C9>ӽ{>i1ۥ? &q{zM(?qqz(1nr:gzi=\sߧ|uz=z4whGN{P{܎yǽ>2Gdq9џS죠U\j3H`zRNx⁊8<>t-'O 8maӎզ ss-i>ѓ5g%bzF8,mzV2-dsk#(srO^H|W#>VPe7vp=X:k̕ !#rl ~ۧʹoʄ۷{oZtS|csv'9UP ^z8/H1zNrO# `@OhdfL2= bNI䜌*9Hb ׂ̓q6Wv~$c<~8fd3S\q\isn;p1ЏDz/@O=z pWB7"m(nbxL3TjBD;M+*Gq؞WrJIPbwK!rr{55EiD[Mʐ^P(F_(_FapN@H A߯ҹ0/ ׏֜j^ToI;!vc?.O~􇆢"̊0A# g%p?ZIj]*0I\.3x8^NL}9b/нn~f>b7=9]}͊Y #VRٛCttlr@oB@;9래ތ9?i ģs֧cn2z$IӶOROa>RQ$~.}yO_""ܜԑ DOՈ玧> hMǹNzϨ@۞f Msi=|Pc8uK1۶92c?Sjm `oϵ.s'ڕc7g'R^'R?r{߃ ^8$̛zr8N>N=gj2!#܁{jcZeFЎjj#hh]8?ʺ+rxq;#W>*?~EݍF1àUŌ۽'?}!Q09L:J̀w黐?\F1cT7h8;qnwc%S_~@si?A'ӕN\s^'JKgy-Tw3%0v`͎'NS<>zz֞B}g>y]r3 dU6W% c =2ARy$aNrzt=*b9=?ZgHE:1.=}U# :WDj_s%Ō:@O~9ml`uV1{]:}Q[0x\_=l~9,rCszul|dߑ旎wd\@,0?B? W6d]#H=Bq}>n~;iѽyT պw_k_4"_{ ~}GGq\XʬmfU~D '[rcc;GZ-6[q8r ąuztծJwW}<$q20rNw9Ӣh v's9r):a^pyVsFzD;\m0Ac=8쌶N7b6q6U Ԍc\N1sӵD< d~` zJn2I> yN7e@B~-ܜ qGU նs;Ci2qd}Ҿ-T{6jpS*xK08GWb!*Iy޳ear3\*C19s =EnڃXn8?xpsqP.J#QW'׌t~B#Oc:$*eR9 K xQ3@:kpe9 sTqrF2F9=IFp8x ٷ<ֺh Đ#l` ~cKc{dƠ6z f e2@c0ãX `wrqոt l;23^֑C! <3H0yy9S ;Ӛ"JdBe,2yoŽcݼcYб۴"rL;VC&`FI$O|׆{9-KvlTE$sw"V"{V#q(Fs#dn {X.dUUQd'% zp8]8e-]B>V9 FbUB"tGs~]ͼ[ #8ae)?6 ȋ|=TV#  ݁[F̊FRヾ^x"~`98[dlpNҀvycOy30lNe5 ,w8g+-!wzznq [`W !0~L\6%{5eiU2|B-8%Ps u{wyuYpcּ:cvjXΈZ[QCy(2\a+nu-F m@O$7s=sb$N$׆wދO*=?Idmf 0Xom 1O}7Ra>zwski~<\l$OnOӅ (g'h vO$v搎o<{>ASϡ0i㑃}MH:mNh8=$ؓ?ױ瞧>㓞y=*!pӿZ>aקNxҔATldr@???\~ҟ?82=OJ{ \1N3#9 U-881zӜqArsOGS 'ϥ3ߟxHycSr8?րxzgrPW<< };__gқz;zvOP quӮ$u39Ϡ=)v=rz1}'9z<<1.L1sOrqӊ^=OFs>FS~%>AdRԑ4|c[##N#!Hʓ %=qp3w#=W9C N~Pá)y'ן@8}KW>S#`˷<'NW2;O8v*$rKvLzW;p@+%~8>%qԌGNpqz~kqO\g%s@sڮh66'׌ܗy?eP08ʷ1֡"}ɴ#=Ǟ2ФmX&ܲm*BFo^={~P& t@Q^漜^+>hF>f$d'=FEyzr&}{߯JNHd~!s z&A8'#ʅ1:waO\9Gcp8Ӻ dw錜׏PjQ<~\jܒ#_Ɣr1~}sR?!W<^~FR#?94!#Q>'%Vrzmv c$nMyƬtR3o`9K #;iPo3-V'K} #S zcThp =kW)F bP0s8#ڥYp;:4uB72+W[_U#pA!R1O=bAB$ݎè m00zc5Vml~SN 0I=Za*63i_Dqa`7 !<$MN6ѹ}x8";tP+@T)Vc+i', fyQOARA U~i ȍ!o7g**ڴM}΄ 6s\1Lai%$@c Y t(ы9d$A{Wmyzt>ug>MC)2ɱ@z0Ozg@ԂugD'ec0eF=8랂7Oqkk 3^&݃kwBcI޼le-v{x*ײlnc89לյӃ dpWb)W>TW$@yڣbc߮4bds9=y\ҔLxOnjMIZBOn>ܜcA=sFc`{'NsRc, HF(M힘FO=i!O$Ԏ8i_ર*Fz\q݀M㟯Lwޢl!#$R8=su݈l#sױq{{S g|ܱ?Oʲsp4q8lku@qR{+Dꇮ30*&F D=X1߿55q="H9lAҬs MLt#xz*m;P7=yiRQ͓zRz]ɴ|y#䓅 ?WkRe>Iںrγ>to&H# ;rkncUߪ.@5.LO疻F Fm@»߁<j/컭|6K1ǁ } O㶵+y![#L 0%`(x$bH۷~cF#o t+gڐDa瞄T1//#i ϵ3fL7!ᛒx\z'pn' 9dç:Cr}*lpsc%B׌Ӏz@*9Â@sԪT p;A:g5^Д2ۋ(x)cOJbKI0xp9.qm}*䐹3Jc&8>0͑ж9kn Lc 7 qQqG@[ wmMC CzCFXT] Jo>\>qQ-ɖ O9r$r3׊2S (͜GC5 *Wv (9ZmVBWr3C [o3#82:`zacذ#jۏ8ppzqXF۶>ÁnxA > . c#uOZg$ W#:"m{;w,͠p3#pK?1s U!Oaמrp=>⁂\'8݆p\Lq3000$t9K'$IyubBu'ԁY0\d# S\ fdhuc9 qֱ2Dv';jEG>d=@=L Arp'΄6sF{G]tJk~ f  #sEtr>bA#;OIkWh$0arOc؍9(*==UNUF$co's늗8p2Cbp;x3TÆظ;sz۹H6W=y9%Rru?JȎ%Jf!VvzctVr8^ 3S$R݌<c=T0IWxp9>4DL *N2 #h<0;u`W  i*}IJ\#m"˿ Nӹ⽓B|FB- NpxywG;O *2mHYzSAaF=G5r}]L1LNx2r=BEt z9ScO\wCSy.~E׎ s#8L~Vѡp?קޣ'xʥn%=8ߵ3ic:*9ޔr3=MRb98 å&GN>b:CZĊ23G~,d>®yٛ;w;2= ! a`>GCzJyp`=Ii[a9bsZF\ڔ 7`+#N:su.bu=H 4|wqn-gԳ ʤO\geS6AH<{*|_3k$[pzO#ڹ$ 쥲wgh-bNĈz*<<8kZqe rv@n*7sv(\ty=U3" 0P@9$Ij嵎9SP3`6ې?^{Ry?1vzs83)ぐJî~4ןnYqWNIO9GzlIjS9|`cLo OqUKC۵L\Gw?095Zrc}.k[ϰoں|( 4JǙ(y]B:1ߎ8fPbHs ( sfs!^oc5čz$^=,ҳ%x+ɳfXre,DdlS>F_݌ݐ@UQA'$rk{\j|@͘a'iN<U@F˫19Dח[sҡ áRZЏ;\6n=z:] 'pps ,&Nx,Z6w|s/sټ[ A8(qbbEbzt 9$_j >^ƽOԶܤx\doNKgCtg+t'#sgyJ ןC0^wEʜN68jHvya:A݌S+) km ByzgpG$$pG ONzl !_/͓{ӝ2\, a v#{}'w XO$1l O>ڮӃ'z]{|1eHOr(8|d:wcPmt;R[u{g}Iy5֮XBۃH #yZ#9Z!IVFp-pGB;R&w:d g3PJ0188%F\!u$@ dcb>u 8?g6p<אeZK+D8uR+ Km Hc8O4uVOS% ) H|0w7Y8Vi7pA)4a*I0L8r6Ҷב yBKPq׶xs\!"g$7| 8h̬w:⠓sd$tn@X7(H0;|ǦCwήX3O$kq2q_ ٞcO!W $x涢mˀW+Bٜ: yV;i.CZG 0TD$ao[хrI76쟮}ϯCy"gQ;t; oUn$"}<hlV,;J~ϧߘӺ$qϯ#;]Odc1Qu9sJ{P}phzbFk\ uq;e G#=>Ti3vz G-KTaV+u͸N@Pn9ڣiazw5xZ˪>sSIkѝ ;!cK|3 F}%%so]ǸX Nʷ0HJj0(Bq1wn9Mg$+ɔ~R0–&@9OsBJ- .Av˵Oa-!b!p\>"d.cܢvAX>1PrHd1=}zzV)JZ eNXŽqzsQXL }FBq¥E,I8QLzm|4RA'#21?SKӼc1W5E8g~F3H=?*AV+ ONد9|&U$ON6;}N~`{P\QI|.^=%_kF2,Py9#r}x8B =5Ԏ#j;%Nn0}w-WRutGi 8:|c }du)y =R9kakKӹZjqpx]^9?˽|ed SK^D aަݑW..#g8:?Ɛn=x=+7rq?Lu}qn?ti?NpNG vM?}iw랜U$qөNqcVb{ߏ/O~9=85B<3})?j`;>ݽjAG\m@>Rg@}J8ԁKn1FsN9ޓ$`\^AI N};g(/ 9{r9i8S8pqlҐs׎?ϊW='zQ~8(^xcߑsL\zOaҗj!=HҐ'?4q!|~'ؠ "8e/cz־reJ= qcҷW6g6O3-\!Uw3~~JA$s*,v$G,dF#Wu~Oޑq’~@å@Wr {f-،qֽ5s־ƙ'-bb'ј¹$ }E}_$i>|w> Pǖ 0 ܩ;P@u!rK>hje<#8ⴣO t$ָ:3 :gUexp埔~GcAo r=1q:t2~3`᳁] B0OL {/^12F9`KdqORGBq^F6 #*OL/@.}Emqq|7 e3텩2G\} ZIB˔(0Mč;g' =몊$0ď%ճ0$cwb t˵Y#pfO;8rpN@烞9;\"l $#r>Hݻp x>FըUtl`0$`qKq@ #f% 0oғ4 Qp0!f!wpZn zL T8V^ӚY2Ʊ$XWL8WZLaA $à #nMqݱ]cP$S`@sHqKR־Xߡk2nf`y$W_ [7קaWWVgW ͂r qrxU#Ѱ8\2Zv)B@ߎBg/ym`rOԑ3t =kŁ x yPs۱Aj} }.731ҳ7|ˌ;t!gb1u޶  rA Z(l_gpsdݎr0qm8nC= JZ^0A9<+aܸH8nv=Oc3xn(A$һ"rNs=0nzכ^=L/ďy.VLˏ%vs0nNw}9iucw'89=% p9C Ҹy}zAwOYiH\`N}wۏ~bO"w?gt=Z2dHS;g>ך^V𙌑eSqv'`[w^_9?Á w]ey/_>X3@</|0.HeA1_e_Y9 wg }O58##W>Z#k&}UDY}n# H~j>$5 1/a /8#5JnXv_$tV4|w>CPMI±#8[$HU݆㯥t⤣I!Gxl᷋VcWaʜ|ӮHf&.AX1NMym*_1t$|FBrw6xϨ\r|0 g{q͍cpGN3x{ވaAh$O9;/0 ;#q`U< m︎i:Iu:FÐ<}g_T&srqZ~]Nu8?9ɠm0~l!wrH>rqSYxg=})-H񌑃Г!}=;*>А :@'S& |OcѹϯN)˳ktSXJ 8>2Ԓ,/I*FR.G'jL@s=?fc\gм1 ոЪ!A98<+6Z4#+Wc= _k(C\͆JO;Vkre~Vypci,Ӡ ̹S0ȐV.Pܜ~=3 dR w8,x'~"6A''|qA#c<׎UI N0j5@,eA1o9kJGdp ?9 7gUE\3ͽP79U\yjo~\ u;+`8r}@3` \O#rǒeY;Xm\:sJm^xöڜjq"#Gv-^X%]YӸcKv~_Vǡ]V>D<0JŇ: ʏ8㖖NIU9ryɬE>ww!kMB Gݼ<(cHO=Tz`bS{;$gs(em㩮0ʋu UܲbW<9/4[p 9SwU26<@t۵2 nKv)۸$ bm!!dkP/`^~">v:JՊmoks WrPgSuu~koIWU3cwY:sy8aj-}0|s>P>r*B0p3fOQP̀8hBc:cv=1=ƃ䌏A=[#:NJ'6Is1:{U"Fuyzc?:sѕ=y)uszqtǵ?BN1=x@1ҩvX`zG2@O_sǦ;zzhlg<)1n0:W'`G8㜟Sǽ1yyLxOnzڇ i Ϸ'A4NP9g9SOàMu'1ۯcp}2hbq1=84LF{ΫBr}O=;aޤAK{'n>PgsNN7qӯ^ cNq߭'ӎu?N Q?ӁGM8#cI`z}Nxךx%מiEk KS_H].I vx6 NFcӮ}_aɞV?CO8\Ts0+?:~c+qmw۟zTS3p'ps`x*( p0޼+TI`Aʌu?3SQ" Xݩ[1$qTgUW`vn\HצjQOc7osFJ]}z&'9{~}+G5W'oB8 gSy-rTOӷ~En |R9ǃɭLp@798沙74bmbG<1C#) b',k.7Z\(F/ z [$wf_tz|+2`0lܐ0 ^q_CxEX2߻\j+OHZP~Ⓠ=jz8Ҽky`usZӡsק>i`9?{^ bx1>0i98w/8xNtdpғA#'ӎ71:g>SBcp93){ޥwcH{0 ܒz`Uvysy&0 ?\y$}s7m3Rz:cpFNkK:޲j^kXD$o`@P|Q#oF0=Wm8|LnY2|z85_1 ^PۓʒO@ҽ,)b"ƻ#ڹYw[YW|cc^AkљNlopsǯᚾAd0Y< gԥtc npz!r9g㊪c`82s+ J}ͧo;qPLq#@`0݁*<*gP$#t=Yf'h ~Pd=pM fFdpXmO^9] # (p sS[K?4#-0]#35kvWseXaTؤ<{K@c*d@9USs[0Aő mpۂW;^: vÒd_+s15 _q$dθj/{b#^8 Wִ9 f WYgkr0$sFFO dtԽ j]J"8SZ6 G(*Ai<ڳKRj6%xPT?($Nk/;vp$3  {USvFйvOyuu- ,߻!$Mt]C>0NUz?Zk8WHinqќv 9a<}+=wn9#i=M} ~>gҷpZ})s('#kY.c8$po$6y֧[8EZgX2 aӍ4*GAj`cz׃w=OȬv36p9s 7;Td.HN="@F88 H'=jʪd+' n9#; x oޮT69P>\ }:TOMBGͻhKa;ONǭ-Q~ [ 9-@)yU zԽ86ܣB) Î*FK) I0ϭ$a~89U=3XME(w*,')"0f' <8yMI;s9 ~"VCrCG #רY O }(BUȓǹ|s=[9NT lj g#$s^=ji7;V'.#JȖh~]g#<`?<&01,#8]!pL$5FmAn2*7v'yRF$gHPy5FF8,rAⱑ{Qhܼ#o鞕i1.W*oOOT-JODw\B͵ y~5i *@#z\atׇ|zeʱ${+  sq|&GN+G8>wO>kno{ݜc8q NxQu&;91E'QgQ8:9=}dg #C=zsޛ8߉8ބ!On~𦓃=uCHl䎤SONПȫ' voN2@5s㷮o E?7nzvzd9FnluՄ#0-'9et$ps'U* /S(C=3qU2q$9 `=jd:($P5Qklwg q} &^ppݷ+ vޟn~*yMdm* gnGs]{Kƫ70*:wdVa,yh )xUI!Kfm[]+ c9>'uӲ>19\Ϧz2H=s}Nksj|c2>T|L<O<]Hԯߚ棳I)ߖ*.x_qחϦ"FЕYpRxgFq+J YI?x`qV[" tq hhě]h sU{(Ȼ\N+Ȝl"a ͟ c9hAA#7cCvgK$g#1Ozʤl瓎{˕>W7w#yNr2EpnF9$sb5yfwH* . < r{W+t[f n'lrzkʞ譌Lvd0H݀6IynS<l9z139QܴLT0m$we3DK1 RN~Q}; DŒ{Npa߯Z{ !m<`g?ίb['- p;玔Wf%wLۻi )6G`z6OZ&`A]@ߜ) 5V۔ [q _OZڃ$fS:s[AuG.4w2A"b+(aRuYB 0V8U$l+isA{]iC+-rҧ.?;*FTs: gR؉ .Ok6NXHb3~<J]E sgR~l rpO=nUϥsyda[%o,2(8 |Eg6sA!G, ?pp8]܅ _9<JW5/%Uw|2Ϸ#=鋫4Ki,hX}ÅU~ƙcE m$3)!oa-p$<]v(YDf\1 nbln 0r?bʨQ ROOOloZ~ 01{q<מՔ~zXV7 c)A ֶ>\p̒MGLL:$m{X{-̶ҫՑ7V@Ob:V;y;2eBH[4f$$ <8\a.[r2|9!~53 ;N>кd{ifa>n_}++OmA+#wV=Tqv9MVcs߾qU/*?N)<GSw:׭_SM=p2zcԴwcۿQנz.ZyRwM.xOӰP0IF |u'ּl\6f1.~'ϚfLAy>p(NܞĹy3Z\osߓ$ºIv`lq\SWg]'OW;SyB_3wʧ 02p=G!0b@9 ϥ$;Ipp9Gl~8\jmGvI;$/$cuM黟E#q^v7 BJ0Evz-`䞝xoWzzXIVsxR6Ir7r8 :^1׿\~=LcNq*XKq;v&s9Pd}=qOxSҩoLwӑ`1_֭td:v׎L`j'gҝnV( w:ؑ?π:_Z^^ z{s~jקcГ%By9sx?/î:RHsqpPG<{z})su4ilgt)޾}.&3gR\ /N?NK'&F{s u5/qǿv*iN1}??A}i8 Ja.:c|+◩πH8z#i >9 ぞ޶<:+C.7rTu`s^IL8m9a3od2&3K,Tg1~>gZH|3-;A$5;W9;> 1޸= B>d#%H@GWz$qt>\ v`zd# qp^x;wEE- 60yk0;=W~t𢍠 ղxۍό=L:3D?y0=h?3: +m8 !TG? )>_~ ñڑQ9W,r[ޫ.As}n8r{qvdѻn +l'' ??.*X3Ӝs+, :PT|(Mz4;%$As׃ZĄx|&m`g''Čm-w=x^sOV2Hmn̫o Mu9[xWi('YmJ0l#=]DiAMcGҭ FCԲ:&ZK )wHoac zjKk NUP#.!|d,H-\~O1b1!QXr~Z5čd r+Σ.Z߉W\c-:O 0rN?{gz{`\]'!^}1_MwC1@'|8mJ7qA2]`v02;wnE8e'A#;c 8"98ʜn;:qR@CRHGڶ#p18s=>"'#|m`FHH>1Tr~ I\{p*FI|9ۍ9z`{Wep2>8ǹ#>Rz )\|)= ,;v\g'=:gj7AN(> $Ŏ{]rqkvg=cG!H̛pX7oP3n+Ӝoeڨӌf=3^}uu/CKc49APzc֭e1/A?<$#ZB8R01EGQpۡRNIRlDY2la496r1@y"xv㷽fD;sDĎ#1ƚO:8=ƥ۞q׶@}#5b#AANz@?ޥ6z\ K`z uScHס+鎘Ji9=~uϩV"'$cw_Bn>˿RAێ:vϧ7=2t? p8/nN84 cס=Ϡ8NsU ~`ݏF:<1Pp9ԟh@1oL֐dבAi hmLZr:u=jӞ6s֝ӑ<HLwt xkLBboyޔS8 ~F8_qs%_#=󞝿L*=A`p{}kXL`w=C)늲=J=Դ$g 09=k[Eێֻ0#~&-oϔM('cu  by؝ێ #r;}+Ze]ټ0`rpGJ)>|Lݶmr.$yBi_k, k][bIUNݬFyȯv.qIAVKF ow=>g7kC2fucsTB2}|; ˦eLHc />8E~6']́y!8X.pݕ*s1J!K0 9 n ǭkq rYiT)rc ] `qZq($?!xPt[77,{;`%1v'VFb*8qַO#6d<&\@8?M.p nFApsީGf(|( 7. <2zw4QOӅ$%sz9#hAgocq>v;I$>Qqc" a$` vާ sOL@\8?{;LlɒPm :Ґ;g=wsz*3'^j%hE JLtcqZp moHgӚD.v'vU8V40d7$\)jncHA9 \s{ gZ"2܀pAerN1ӸJTnڜ?N)2݊y?po;! C\{PݱaYK(Gs$cڮ_C=lsB͎rvn@nmP1 x6œ1g4in. XqwqN7ƽ.ԒBa*2v :F'Z`EHxd>Caӌw|:%>6{dwǮGa$Ϛ}^v>lrH㍾ '<^?ia8ӐFiP zv9 ֈLON=:uMxҭj!Ō`sמq֛>\cAM\ccןL=z\t9B8ϰ㨤NqsZ$ w?JL |F:&1;utrA9>ء o=~=q4y#4y l8G!szw>g,`zv'~gG$ Kmz7 }=ps@ڬ={m'?j(to\SKߏK>PצE!8~qx}9FTGz Gݣ%B0Hy,Ni,vuJǁS"I>ͻGdezxZt9<2F}ccj Ć=큃S$whf8!J#Lr8J͐pYQ&l$Wrpq($gqZ Fӕy-SX=沖˸T$3lqO9gLCm-njOc? n@,I1CR lc3:z=EρppFG8+ZR39:+Tt,.ѸvB ~=xL%e FfI(wSߊFњ^aU [vP 徸Q+1prNIנF!1B9ne :vn0B=I_J9l0;?iϱnz'=<VlsL=?¶rOQ瓟izRrsӷ=Gr>ns'3Q5=r{d-M` cSڥnNpq۩֟]~$s9 HO=ۆp9{PX_qԒ;c0H0G O% <Rt88>i)#$ˑ>}秧Z '$OJa'P׀:tG:}q@3xf?5@`p'x,֘_˚ 9B{+$"v9PNcKGOɗk+C 6HO~UU?0}=Wy8Z6"P>,d~E9"ԎGe Io܁ֻ^apCn2wts&wjwÝωϿ#JGS® !hC;nc|)*1R$ہjvO#bp3 FPs@Q۷8+ϭ!9ۀ@댌!s֫0Cl$ qҬĻ :$zS%;dD7`lsVݸ裒0Aڢ )|H#l8P;yϹ,|7^.1S@| 6#ؓ$QR"˙Y@c$rNEz!g 0\$Ͽ[P;rod`sq8*!܅פrF1U{kcGc(eg Oa5.V,1r8Ǡⱔ/&kJVΊM {>mazG`}kyH%8Qյ7D K6#' LҾwVG7a$ d'NG1?W:N.KQJ(p1#v>bh]^zgwsw#UWܞu&3nʀ: x ?ҤO3~&XH9;}>^3Ձq:P&ג*l.@;r2w ?0%UPĂB ON]?)$H`g JFWzpO|r#+nzz~t~}q#gW=R*>M07L Ϧ21fɦfڠ-O\k\r8_JI[̚}j2s6T*gW\u*+s&7 GȧSgF^j8ua#nr$al@Ձd:s־wzl}{sXsR}j0O>>zR?g㡩 s:^2y9|\NrW0Qǡ^s;#ng|By)1ۿUn$.x;NG]4m PA$crG]QvvW',qysNTbUFH\H p1qrF@ >Q8}=Xg ;lp2N8XU۞y]sP1X.d igz Ed=C |ʽr叙SR Xۃ;'ua1XvwctԷF쭌6~Wb,w`*@R=kYeu{ݲy<2z_#j0QIGQH9`\1=f̤*TWӱ9T΋3A$ Fs8+l as>5V0@s6@_Lw vs=۲.zc4\lI>. zcJnp3Jd=hdo2Ϸ~7.68[D}JAYʃ J VS6קխI-gR>__PX| S]lc sZo& q{vǥuv%~| q^:JJF7#,h3vA@W sW!%sI$9gqSCHCЪò\Ko=9[6LgSN=*1Z슣4n_ 2c::NF)THcݱFx> 2OBKu'ϹWm3|d囁_5'vVn2pRW9 sCWZFP0  A'_WOM6̾Usd85ڡ8n}Ws5~a4*Q J9޹y?|*=xQ^cRZ!8w)~Usׯ&r2 8`03ԖҳgtK0@#.29tH)Cݜzgk0}sszR ;?k.Ȗ"&zAvldz{ H 68NwGvs8I`Ӝl 0`2Fr 1/'9Sv;Bm<ЎY( i-"9U1adZޖ"yW qa NzTKvGdfî '8<(*x؎5Ħt®9'T r=k\ޛ-NZGS1v{m(^*;]npU\>akGP$ 6`PzOO->gqp0H$1y>;r8*;qV1߸P99; tG9Ym8n27NN9a\lrX2AZ~kmo n?{i<§仟Hx^ *9q>WCy%9+W^}uLd ukļOx62[#<~Xes9^GǞ"A4s7@'9#^Kuh;9R>]pq܃^uwyCҒ9c*1ן;x9oSRS8n?-b0Gls\tv<:.w{ZL;>p݉ cX2ZN9|Ӟo +61؂8>hԷ-iK; h` IQ*c&®ќ]0q(JE31<{摔9n{)$֎Qs[` 8[9FTu~^Bd>㌎Jʬ/Щ;F+ IJg[tR*`g?OlS9O8`tǷJ\۟Sb}?^Zn!|zӳtUXNzq=_j_^b9$*@1נRK: w>@霁O!#~ԀwOQt9Ͽ'}:i=wz: ǨϮ=:R}sNێ1^Ӝ,*A|n?Rba:.9A?Vlu㯯ۧNb2Oqϯ y,NOw޳HbG$ҿ/,f9"8'a㟛''G".'v)LFFQ<5jR6H"16T6AڿR/v?>CzBHU.x܀HFv_r썧pwlq˄n_ s3GMT( OC9e#'fP #cq?qs}&r(dGU|'''5 W>=3XU@JcD؀[Gk&1*Ks|Em`ek]efrߗ #ʼ+W=뇿dpV*sʥIH㎜WWwr +i8_M`|)sOp N{WE{d4^Ap8cӜlPN2rOa3^.* zѾT$6FzOjӟSy/Fؔ6FG'w=lCrsduO\ZW9c<8ԫy'ǿj:gyJP3#cQ G_'=RރԶ!sM?\ǯn*[rOOl߃Kà$9yn971N::i83O̢OßKߐNOL #9SsױރOs2CPG8 ǟoTȏ 5_8<E[ޥ#v> cC޺kx\zWa% O)k?ۀx"q^}u=;ӸK=Np=x}f=i=8?֋%d=|gQp{ߏzíА:dds8plX#&Qqհ3!cj[wCU#t]JR 0':?5t#h꽗SߑW 3I&!Ok 󝻇$>\tOj=lrqڼ~cbA@mÞ3)LDg9Cjlݒ8ڈwss:dJSel20`#NTW8R ŏ+w g#!w*py82$`{}[>Y\ YcWʶ2dx*2drs LR$Pz6: NAϷa rd}р{?Jc[83NM166ʮ>l* 3ǯmҐ[mpN9vzMv@BAVacnL?wjrݻ9=j%q4~S[}֜m08qR7G8܌d!mNy IqbSG0 01qnT7'U$78$Q9k'GOq9 Mn q?jF<ܧvs|h OB3Bx9Q%wIe#C7]= s^Yp6'4';'=>^8b$H80fʝ!zc{i[dxFnyx5)f1dFcSygdg{n$T\Nn0Fz׭fjwi%xrcIYcž0N3[[[Iyxv$bXN⌠`ӊǽڱHZ  Fٱ=A'ֻYF~rw<֝;HNx'kF؝qҙDZB5"a8^2ǮOm)< Гt6FٌDB>QxE_s5Dα1%;ެgkHӾթ4>zyk< kqZh*дJI,dkc#s#vS/}k4k};ÖID`#>Ӓ=>VNT;)E)+~]YKf,U;׭z¨~0ʅ1m׍I|GAsן<ğ/V=㯿5ai˵1~$rA NqӜq?Jq|'UK܈@3׶8<~Rhc7A ~t#N|u 2sE7'2'PSR;NzgI8?e>dvI$r9B@>霁i$= 9s4npO#\w翿qևz9Ny8ss;N1G@9r;q!Am;@=Oq֜=^'Qzh'q={qۃߓ'OcIt&IxNd&8=Oq;1 ӌ<iG#=A=h0;›Ǯz:s]xp;l~8=^ӧ| qJqϧN==(@72{i\f pX}z7.Fy?^kϕqןּspUGVlBz=+0H1%G\.a0*Q@9S5;Ŝgv`/(Hp\cāξp~_}k=LV=~E`'`_^`𠜓^m/d/<9I qARcq ؁{$SBh /;g`_Lߧ󚕣GCa ҠHfm= À9$U'qszщ==gޙAgAp@$:T:NE9=0֐c 'zsGg>^GG3L2h7otkyUs.dwݸ+ggҢ|ŇxTqˏsS?(UU1 ?{knއNxxAYOOVUt*܍V'<ʐzjO˹1$@<2zWC̻8d9RaqqaQiT_3b8B`>tRqFܣ29GV2F>Xw2\`z`qJdRrpHxR8th*Hr*Asn;>Zdb%N ,ȥ7#=OZN'epq si#NV2+\;A;*ַqR:@;nw>I!I#}\NV{xjVc`*9:g^&;_?\BWEn X O6l@^uYװ S<r81OQ;zpH㡮~k<^9l:cʰכ ?u§+|qܜIt#`=|TswzT.lpLPF9$鉱G?@E)נj J3<g;}?TX9$ 沦=s<{Ӽ^8˒IVxҸJZ=.{#rfpW8k4h]~v `p뎹asѷ"A!#+Pm'>ݫN?>%2o,r:WcVG)[XܪpW˟h,~n8xbce6\t?xިp2}|v|8AWN8t'9pP~S=)F@%~3}T/$8ޝ<ݑx=  v犏k7#ynyzP9=OsSg\ FJ t gz^)`;x@"XmèXs46pIn uC$d9%W6zք1y1eFSso֩ma3qw6XQ M'sy9*޷XP8([sϭeyp~^gN3oJ9/9q=j@w UF+;ԓW5wN7ԛp7F2̘8=>a;֔qve,:cڹl2 p~v?ß5#0`y#`UEhǻPȕhQN7^ï*qeQ>})Cn% ?Sn,H$qIsܾA%ON}16 ;{6I浊4UA< -G@v "ۺ` \f4vq0|Ҵ9v^Hbp3_oJ,Dicʻ#|b~ ێ>!%T$/CVBORiC'$q=kqJpΈ2O 9~TcN͟m U cq_ןAV0PCrGsɨ$ᶏӧ#Ԕd6$`0AKrX;T01 6G:oc#v[?qX 1'j%;T\`*sGֽ IWhww7L=j2^t|w*cWsMI=>ln]=1֩9I9sdד;jQ TPұI$nw^@L|¡r9 9m݌zV6ԧdpP p@9$[e Iyl|Z"9mrw'r~E p@sIlc%vNOȤSX상Օ?2c78=yzSBf|,B빀OvvrNq~UcԊF8 Iq'ک 3l8Uj8aGȦRd^F,gbmCqUeo$󵙉9S.*ai8Os#- َno$獽lLn[ 1oUIԅHF{_oPyߟa 8QR;j%KUV}2*I\g>&`̈U@͔U?u8^6'=|"tp Cks33Z`*`1I+ZjTެv,>`ܠ=nzq]<$NeQ7gjH8_SW.'Cs6hy2\:jڢnۓI VNJ|zڢvy^J8ҪAcp0q<{zץÒ+wGn+05D|.u/yy6j\,1 e۱GΈFnsW]we^H靹ϭoWq`nbH:qU`Ou>`rg3Jz\`:0wl{S1%^($6NI'|R*,I$c#>?#q8֌i D̡Ujo d ̶TK+!eg)劌c8+^%YNK1/#GN)[@7>[mA4LN Rcu=F3Wy R$V<(,[i Ǟ㩹"U'ñڣXq =Zcq#;9RF}{Tݝ/$8wqN}im7Li'2yrڣۡh[ƙi6G?1*p76O_{^~C7cLw_ ;4*0<xeWl7XyY">8sۚ޳2ŝwRz+j{ i K;ըoW<1]r#?9:FVfj@ 77HGzԉ~`0F2@7B7;q `Y;HT#;GG\{SQ<ƍ7pq9_t2۸8:Uڝ N 2:C 9\}ksB^iCKUi8A.O0t g=G=~mBKtuȌ|p:瞵8C ]}Jp$O\a2O'Gԡ=?Zqw3uQ uZЋsx׿Rn'}zzM NzT1Z"?pӟn*y#׷Js=?2iGg>ړGw)})=mIO=0=i' 89&k=2>;S;IBgؒHFIgƄ8:4}x8é?&{r8c#SqOn&מO>O0SߏL{ *\ڎ'IO wٹ-{ YM[RäjR[IBb)=+DTpn5$ yR#Op7*էm.~rђjp{{+n џ8-v.Hydl>Kg:pG\w~Z/$؏Us!{>8v0_#=Y7n[x-|:sm[ӘG7bYnxef/ZX d,:Q߅rYqu_ta|kC2`Qep܁15x8y7rA+ ,0G+zGꏞ+3i Ls^YzOp,:P1߃ڼrw{y"As=;w`9/sO902x,G8zWc+'-e+(Xd[1psH.T<7'ϥ4_<Ձsy< E2=yl3F2쁓nݞAJ7=uHOHы6KǦ`pGC3Su rCc$tc(-=}NVP|nVEu2oA= Gz]A=~f)"yF [^{{Wzť@P\c9ZlcRB0abb"C^u pNF{%Fc$֯[Acϯ劮gco>O<Ð@g#9=sZx .2a883Ѹ*R| |v ͸fb3ʖxW=:*B9$}2h]A 21 >nCghNO@1Pg'sw* 9D[DvX;vk`NkzC+Q  }qZe۶W(O'+aH?k4h+v;>`S9=Ͻi:3֯ ՟ExB`ȓSEJ> vG'= vo!q8Ԁ>L;G9*=}qhDظ:t1=v@}8?nةb8ӧ?N<x#cLqtϽK{ \WTz d>8dZXgF8?ҙ8P}*oyO}i9ϱCGF{;H m' 9QxoSQWuzwaeF9#@:}Mi%4+qӫrs{JT_2qdv8Vf~aQyAI$9q{'!9d$vO r@˂=Zo$x}rHӾsҔА 6y4(#qQ<2ˌH &?6qi A obq*x8:gܴ_VoV؅:c$Ul)VF21_©+?h dn; ېs#Psu+s=qS v93u݅U\n99+\0};nL233FW<鎸Q{AR ) ;uƎfذvhId ~YRHu$0J N~s}ϳˍH8rpq@8#vg.P>Ulrq#?CH|J&.tB{C0Ǔ;qʅ_C%Iʐۈ `Ϩc@svH q#:V +|̥Br7py&lu4L9cirA9^FO vsOp">0hcW!Sw$g֛_dmv6K&.;pSDj?IX`2H693ýzhPI;~B`,z}*k;v bg;wRvөbf8.2 Hx3? =qC#^O#p=;zuc%)9alcӭ4V_!y.œ`9k+ F m*74>M>q*~%GpL**9Eru˭R-DeGNwSO_Jn 94iUY9Xc#P$1|W= =_=e1=`~YsoN6rzgWWUA_lcj?0l\d`)Ou 0N䜞zv=1ϡ| &g'Mw'At88=s#(\;穧y8v >]BRQ@Ar\@}#4ڟ.č'zq֦o\qߦG_4Qx9ϸ=*A d})%SȠ׎qҮQA\zn9OZN@4c?:;\ϯ{t{`| O;t{gП<xq~G8oҚBǹצ~x#'=O@tn!8'zS\}h;Og~3O^9|  T GfZܪWiv$LnfS8/r켕e~6cydjB6HFV rOJ2ex,+'sZQMbe1_LxV16SAׁ7 n{ҮtnNO֯s1x [/Cb){#:ԁ;yzӈuȡnG8ysקN@}?hvǾzc3|I>bBGyI0>#F;{ `19l܌{:cC 8p:ps}H=z3Fp{d)c$f-fz{ sNO;8څ:g^NCc8뎃KBe$cfIpxrp:\WA.%ZK|f鹗 )^Y!I$- هc^[>'sw3(\'ּQ˪ 278 G4}y8b@#*vfC՛Þ ۪6UB?ۥt>JbYL*:ɔt|+8z%uxSh7cV܎ysRNsThQB|6 B_ !vGLg=JR|#U،m@ ʣ'<}|hw+:%mw`㞝r}qJ17-p`M9&1SuZ>C F (89[g B\F3Ic>]=ˆO1T@/\`uL7 p@; ^[X(.H*0V)1ZB7$ "!elA{2щFT1 =K㯽\o,*U$y9lgұʂu @=2b[#'k.d˞W#`>#nq\1:Hۂ-&̧y$ zRe{ >9h[4aFDg83۰\r橩~V v![{y݊M\1 y 㷿5*{tv W8f}x[0n yؚg@V=dCcœ־K1=.lA$I+ǮǜzcbzϱHSn8`qۧ'ol`r1Vv᱅ 7@FyJV?($O4ۯޅCd0 6@#dsjJ&12.x ^ z%06T>w0n5CRoC#m&<< 涷q1ܩ0626R8*7w!2\VĭYC*H_ev y0AkL՗xY|e`Qaq*WvvSFP2Tg5mPU'W3GLMxFYzwc[/6C|펿zXȿs2v5ֿr" gT>csz˻b61 >Qx?7kg6Ѷ767 `Þk$## XpWzo飺^kE†q]ǡ>'}._xFz {ʐ7q\g݀J;.)ovQSAEFpNH9w&^A)!/ïЊqS%S xNKewN0L2>w%T)Szzrq}fݤ-8g< ^^@$'8;؁sǛk `y1#$Ԓn%،~^|Ǟ;u:"zwrqҐ1 ;2 \7o~޵SXArH'iZlr::sO+8Mm $䓓TvXJI2>O#esgڲ8ې$CF,w`QRx8Dns+}3tQaH`˖n!@뻏^p)>]tz[GD)>zU3I+ $I`ݏ(NK'RV!H 9ʖRH<޻]sxUId79y^]ka<R5D A۝=kanI K]K: w=j =:{2jv=Jrs'M##= ba=~u`P9c\zpE5;+cS>GPvGAX3p=rAC w r}ힵ-IRH՟5q =Xuݒ9u=(̩BJꠑN:uAaկCͮ%3˖F*J#vy,[Q.X@[aqQJGⰲ̮ב8vmIǚO0rA`ΧHn ~xnVmDtK L?Zq(y]C}+;=G/2IfJ9hNI%WRIU<ެfOQ$޼' J;\1\vct73txzm} 87=*apF(NWrMJP/!vsĶJr4tp9#i9[%[A$g' xxcq8r#p:Udn1^t֙Y$*SߧlqzYX !OH㷭g7SD,qw|܃<84JsF 7#ùҍX$x]#o-a 8N03Yl60W?09=`!V l[ ,h;ǭ.пs1qF;rHQeʒd~lc$K0ͅn=Nޤ};P6 `а:FH 3oϪceBI#'tTW8d_>L$_nw8=_g(psn={Ԛ<`3I*[;Ñ$q׵&6ňX@فJF?02r95-_Sn鸀;gjq'~p#1;Y 6>Sz;R+-_F%%  e6Vs sJžnev|ǞOkH/.FںD̎UnSy8`7pG7ǰkPN$WIS\g뎃qא:dqs=GtW@zTsAXmp g*lluF0 oT1y}({С'd{z8im&E#mTnߟI?N04]Q!J*AN3J[|C.` aXSXp}:trZzqx_qڽJ-(wv#x7Uiz"s1l*#m sszGs`lIQvܜC*G#<$΀)leu/MyH z7sq5FC?+棺=pڛapA>^N+x)Az#3UpIq*89K_Z=v>z5έՑz68=A%ϜdFNH } a9u;ҵLN= 1\ ktwbʍ\daK6JtoAl[XH!7 g-F;f[my$78pi{F0PCA+Blmoڸ9<'㯧iE~a8۸LV0:K|#>@6c 6MzyZ)uÈ՝a|өw> JI =멫+ 6yEqaC2c886R6ɜ;3s޼۱RяK2yM1P)Rs[m1@ RNqijٶ R䓴ށ`|G$\rH.$qPCq(il߈O);/"<ߎqnGz~T0* 8dp1:Y%sŒyHzr^#^5Z2{n&=O7#z?_f+}z ms?H @^kBd;5Ӟ*yzy8uX<R%`T{ H מAnӗ @<dSy8R%Y `ycSrqtzR!8NsT8杈% F}c߭?n;O~)5!wE;q׿jM<;?N߇:~?~zNsynYv;<҂;>g>l=3׿=Ãx.쎪zAzf&q?! rN:RKA,?_^i7s8[jO`?-c뎞4%__Z7}:d} [9#ޘ*{Gz$ W֠1'̒3 .gye8g_W:J?qݩR32`ǸJ8 c9ZL |0䁌:Wt6=~?υ8zcz*hWl@>WIи# 8 c3t^\V|:@ ޜߝc#hՆ[2Kg0xMvvD}PLg au`3,Go"~쓤RPr@ cNkܮ[o"[{dEre3r}NSqg7^q2U %H>5 d1ǰWR=rHG~q{zqE!z Iq$sֳ.󍁈C~N=qT[0i 'ppvH8f(;|,23aI85ԇ$}; '>K) F3ӑcOaIc1q98>FP``n~`Re#L4F'*3#$IM"6#={u#3T>aY͏ۉ89Sۭ0\.3D7TȠ!z]h|$83Z52[CU.ʦI7wמn>Ǧpp}Xc3;rI]We ?s߸ UU_0r{uU-x.GR 5#vFPiXR7*ꦯŝ¬u X`"ysۭc#h;X 0R >jQKDrFNѹr=yEyp_]o^Ir8Zbې.#(T-F*FӎLW{>H|wRWI*'ްFр 8ڠtqe&m0{{cI8çX4irORIOxkf G r3<.g] !3$r:O]|Hm^??ur8㎇sՍԻSF&"\y=Zido'cա+5z|Jr99^sp1`ay@W:WoCݧZZ qٲxҮ$0qxְtB}IDqu*·պ˞i:#$#^cAY2YQ?z !osORKӑy۾s=?JLHoߧ_Nuu34;R1I 8'ӷH;pxR_lԔ''q\{g{zEOLBF:`lG:t1;g'Ay]E)I_<{tWw?+xuӊ}: T`cВ xDtAz sАZ}Alƶ=|{j,zr?3MR`vcdkXO\ gO9zsȪy9K 4&0{O~SqqV+ ~')vqܰ9׉C׌zJ^qNwP;~ҾVކ_M<==N@?Ʊe۾} ?9J#ܞp(lP)l8y y8=.H$qÚO&8q>JCx;rI[my4QOMzcOB#0 ׁ_THLq`Zn2Or>Q۞NZ v2:~Tz5QヂlQ22~Z p휟sd;qn֫2%Q=yz8*e뚨[=Je& ;~ʾq]~0FA59,9&֋ϋ->j\ 1 Q=Ľx!q5.ܶuGwQ+NE(+]]ˊ[gۨk˗;0qDT\hlxX̤0 68ֽZkEr=9H< 0*Olnqs]Q92!cG't# fAJFؾ (`ǒ8 t zU@}yt(ց]x F99k:ع's2Ie?0br0yV*e6!pJ䌎~a tŰrN ?AZL ~\q͌0 xOCM?3!,A=Nۗ'z@8x=qSQx<9`wq8[[+\6~l瀼SdvY#hRD~FܑF)z؃. jD}rz7:泷U.7$9uUv8$d7g'TNJHe<+q=)P<``nAtDAxJN1Щ?{=AQXE z;ҵg^ GϦ1vO$ mA=kl8`˖B +:{p*effAFmːB}cq\1Cg5&nhJ#:{A%*  gw u./" . M8U^Si ˼+}wѽ^fڣ=: kBdǯr~Jɻw1or`I r >9 vn 5E`[2x'Zfh/)& |:+2Nry-QT&q1|G,/3o$В9xH8e8~x8\`J䜌'D/䌳:O NYd\p=H8h^Haa9b;Xq9⳩&5r֣4Q/!2wӞU4jU8)#ڼSJ+U+vjw~`v۷ u廨ףxjf&# qmQRIx"ܗ=l,o44ed>Τ29# x/7ϣб>=zR9>§./H=r?_Jsy=i*v~A}rw{?Zx=ON뎹x@qӎ9_ƎM?!\vu?w8ۯ u ry>Sv8~8ҩ@./>Թ#_׿|>{P|8\yלaǮOU[0}֓>}?t(.8C8_c'I.39締-:x~zg1;C\Mc =1zlq8<\=N(͒J8|O_3=3gd֟ g qqӃstg@99A`=qۏ=y5`rp[\g?8HsGS:gڭŋx$8\` ]*94bMc'g1=(a2O=9:N8vbMrrORg# 7NqzРØ@çqpx<҆vH<`1X]WI>On9X\@=:{}(-ߌd( nqfӧ#ө| z'Oy$ }i۟֘#㿡p9}x:P:G@OJA@3Q*,aW;'6pAM?^lUeh5|ˬ9%;*FCqҼBQx46Gb_~]mICۦ:}+-9!rxzqQKvA-8 #F1}sP~~۝{CkHXǘIX;zֽo1 K0|D~^(Ns(n܄*pvNUWԏWr3~4!˴2oKd1X-$*\+d?63ӊoD@A6?1֡f'UAb(xnR ;xjͻ cI2>(+SnwH00#;ӘoI!<{becn6g,yu sWUTKBp\#zp+6Z)ۂvڥxvT 6rr96߻i‘ʝI 9Cq#n+aK^Ocw`.@ < rGE}GeQ (y5vh0? =Ɍn9.}IGSB9{{ =gtx9.N^\/랼c>&Q:zF99 ҜD'\Ics3J1pg9H}IxN A?AP~=i#.ybtఔ:ΈwF|}9 xt:oÀ1XpT:av<껳R#%wwf?'Eyu3:ۼRo89V*G\ F?& m`1, <)v#9F2;gU=6B90<J~tE,X #D%Tg?RƤ 6Xԃӷp78ReF8m*r]w9vDC|.HA)A3/#~mwrT:¶mFYcx2=aY@ی!&=T?U1Gτ@rHK`Gղ!O[HCX9᳟ڴ »c nxD *6r޵Tc !\>\良N =: -g}A'bsfl>k}٘= gb =v.s 1S9NqAYvh|k@3ڟ)haw/Ӟ1\ >#:85Ogaa9neV㑜0߅ܣcO'hZwh$EQ\&W4c; o0#kuNim&o‚21ul rw4q]\ _1;qɪْJALaP|Q#ZjL9qqD_.=hkc ,;BvgH8BgMlT'6#u)mx<d{W:UعH96'vGB]o,u,2Yvy>!S> S# u?ƌLֹa O#9OzH_7oO`1Ͻ;~>1~v=6a.;یJc $g\syqfd`緽Tx2`R}Ig&R1Ej,+'OW CY949AHKI   j}wJ o nPÎ}v1\IVZ 襓|h/^Wr1U#( +?C!"3\:TCt\R[jFd?4ᨐF׏+;+'å_7s69 Y IRr=q*%_yRB1U >EW듌̊:Sz/@,wď${*yNJ1p@9|4r[)+BѐPmEK0݆$rAv2F:sץVm@݀PߗiFV)GBgvN'H {ɐt)`cS'UR|' z)?3YdKIGvr=?^{ջ† ɸe!]~\8^dÃ$|Jq֠:8L&',IxmUlp%{4*r(8 ?QׁT䔒99201+mD$a:Sc w8֋ҒBXYwrxzWh$F,` C.XyaY&vuo䪩XHU뎕qyݛ1| $jޓ1:F1򹏬 "B\`z#u!V2#v:wJ#V^Uea3osOL]6s}OupP]I#,3.6`'[Hn S\Fh6ݿ?ֶ8SVq0@ntᵫ&.ԙ2g # \$]<{)}}kpO?9dg!fRdbw<~+-o`/*1/emzk0BeHfI&/V $À5ݟEMs`s|yW_g¡+ \');g9HNPsiqeQ5# *n|)98>5*lW7$R:(9=+/:ƅ6ڬnΒ$cT_۽R?0 1b18}aDB9)l q끊:HH#ݐUc~0yB 92uWbtB* [es +8-Iե 0)cs=k>8q"mWvHP&G5- .Q` HҫB͸or''}3ړWBv+f8VW0xʎ0J*\鎞8&BC pN -\9!%s T1ǫ.3¯98#,9S۶qUK ^?im|.FP.0~`>?*LH\eurxu폥 j-4T*v\6OkZFC#?+zevT0%g՟2Iy,UNIxus0Dl"=[]7 8?0Q2>L}vB غIl G^ip^;%Y]m u<|εEps'99wORn%2}'}pz}qԃ*}&/G#:t39d^G=8?Zީ@ Rב܏ҭSec9AΧ];zTC&Yzun}}*q/ni8؆LcnAFO~RրJ$yNW'8+9 $ O?= HDQm<#ǭN3Ϧ1QaX_39oJGlѻx89^&L:ý9kc#?yQTp6&sNB9=O+3Wd؈Gb>w!pOS\$s霜gws_oGc+nUEvǕ!FN=?<՘x y su4rz1< ˵r>JܷKnq:c8=kmoW'%Vmu10TEla3ciB@Eǯ\n s VyA!d @L'L?s3ȫ~!WpO1ON5Fvg%f/5VF&$io1^|2p #`qa#l+#\G'mrGr YnG-du3А3NA98sҨ3s9rOqGd4.9yʩGA~աg2Ź;qCzq F͎qҥ=]2\c yJ[8n}Tfr]Iw88q1X zxTN"Ox~g1K}Ѵ#Fy*/# ݵ#,YI4ҺB!CXpZCD"9}ymksZK39s: S͊ f[\]@){'!r9'1<^LJ2yr+oo^ޛ=s|zH<^e_*qF'`W ?7i'{j׹/]cKH l`KuqT 2z2BǾzW^C?}7O}#4Ua2I17\'=xzA emXt>F>C烎>]݉㞜zd֣!T|Ƕ3\n^A;N0Gn4%Rp188=p U9G$v3=qPƺg=}I8dXW ڎrO+## NK>\/$\t1=x Z%FHϯp>3jM!Hmr 7^7v޻ 8kns8N3ZՒ\n8 tnzdVa' r9 P xaTQ.ĵ-f#p <Z܆[[}<ҹ18[+ٽ 0S'|UA}^UZoSӧZ35,t?!V׿oLw8{'2y瓎¡S9|ҥnO#>^=:5/)l&9$}1tOW83qcӯǾs8S`@} ^~B}yGμcӮ_N:{؅ߑoڗwuG?{8$;L=^N9z昑Xל>?Z7qqR#JBzu0}O n?_QS3uOOrzqP7 J?A3s;dJm'Gn<g#o\J˟\v qHRQ'8!1N{p9F;pp=]=I靾TÒЎO85HCO_}[HW0;c7:bsAah?I󎽲;w4/pd㎽qF0'~FbsZA}:i.8Q)> :VM_c2Ǧ?'=Hnx#< |C>Cq{p֥F<}Hna_+vc;C=J@e X'A?^]pw`6ÎLeCk;| oMѤ&q֎&w9.͹YGHg- ypf~Ҕod`f{2d/ :/+jg%vګs1b8ךጿK-:YgesrBmR~>$[2%c˟+cm$+ >w JWH?3;fFDw|f.3=>$ '! 6n~QxR [wg}jG!7btn08=$u9'WM9N0ݹwoh"g߮q֥A s1ⳓ5[u7Ҝ UlyeIyҥj3~f^p8ϩ}9"vy6pv1ں)sˍa`tc`0==*' Ys=0+69[R*59Wc'͂[iY#n8zyޥn 1ny{`#9鑟$ I vG\TpN!׮MR%7U9GK}҄?s0#ia烒>zRcF֒nGV%ȥ7887I'sn0- z業.%Ìnq#q޴Qx~lBTzڥ/rl+_2sɭ$< Fk^ÏJAE?8xfduRe.To ~QF19ҲJ9 pN:w遑Nwѹ?sf;g7L;21JڶTÖ* H L21L/ v8=>wfn8FR1О;g2B9'nxjmvxrc7LW lc'<R~6|p8KrgY md2:WM%I)!pi!zr: clK8 ՘mpYZ&oF?)>ù< Kv0^i v@rI "_6 nH@bJrxIbu*!f(f#$ Kl与 d'~C+©\$bv2a`4R X$J[ox탁GL BJPj *H˪m:dbP>ps9{ 4[[ $pucc (_xҸxnc{tJm(ޏGlt<3h> d2$g׻t/;qػXR q>YHFe]9  G~B3t5;xN˟p?qVJoGU5l>m(퐫D2W@95vh,,,V.V$VfPCgxȹz1M|Έ1n\L>&g$^2qu4~ASa,{Ϸ~>9M/Lv9[ s'loZPN9>Ɵ(006JLsө4r sv:Q<:zb 3NNrF;S?N59>$qS#n#(kByr 瞼c3Ɵ #8?8ǷG 9A׭7#9PH]U <4+rGrqסp97mTx:*}sy}TNC@r0N=9䰹$Gq@~v3ϽO's /C&F!Q#?IjBy'׮~qw9p~xN;Lv7<88&'y^Rَ9_OI|w'803?ʜ*O9,99ڤOLN}Jx0}O^^i= sv?M?{uu? oR9MF$';#2=>8jAc#䑃|Ktd2'[2;C 8ՖU+!݂Xo# P)a0m3c7g8bS8;FyA+҆ǘ(<p9lӿ0& R?1#?.{ֈL\ӽ*FrqN2pkggvWPgvv 903PTB1b9 ݹ}i"v2bz?^g G( 8'ha`Nym x)GWGAnc fTr`I.V86̒1NGM R@@`C'1qL2*y{QQA tvmО4TnRAPxW.cocҥe/ȅByܹە I :W;D.@7)î͚"nl|8ǿ5b0?0U9x\{} ;,Uׂ3_żY鰕qTp}_=|ǭUAًb^cq3OcǨ`'=3L/Æ'<ӊCs>eIIw`ж#݌@9R=1B~$hҝû) :t98z#銓'c_C) ^1T眎8 z{*d0 r0.."0usၑZᗽٞdɷ󁃆g9CI9^>#5_qUG vDQx23;br =9=Fӵ90[8G֜Dv\3+0$hS70p g#$z採q`*Q^#" 2J;3*7(: tsO?䌝RzN-4ad%UԾ6soDfm9Nq~X.[\mPry{҅bp@Wv9'x\]~gK؞=f~υ&~~'ҴA &1&XcW'9=׭9fyqy1?!8,rqzd~f*j:\{tY'YdSS:xA„98t8yw;lQk,vXlXj4YV6^wn6t(. )0euOcvP}HS@$v9Rc{`ʾX՘y!׆dw"jG9*0T U$qº ks',}z5^˥:O ptRO8㐠BpI?tƼ ]/vZw=%[$OqɒN1zu5]#_888'vw=i~\u a@yZFu?O~ry܎>KISp ma'#k珘 )$> @%[MeBu^q#Rx#30ILC*GASNW+Nks>} m=9>$FҤ\3^]swhUBќe8bs!vy=@䎵 p l*Q_ua9Z[>/0w-w`\O=-:$fb_2Euߝ9CS5Tb@ ͒gT)m$`+8qJ)OWlN[9ajOd6SFZ@aU nX@Jrg<֭5@̈́Y78ܪ@88$`1߯LUHك&U, /@NEb[j0+*?uH\%NJ u O5d͈iFô䎾{WYj*!<A$ C'́U\zX.%~lgb뎆;%|ܽne s'FXr渍U2+77pFzzviW1@qM~ 'nӰ ֕/x>lAJA$pHG<,GnKrFqǧL$2=7c!A!\aE, NnB^ԃ91 9'RAw B3ZHJG=y=jAIL)gU&?yg93ÌxWH2pCm!8TtFiłE pHc>qց$W *Fz'֫3T"=۽がۭ8r!n.0|FFv]vz1̠3e{x'ǽ_P4KΣ%eV>cnO9)R'/\')+^l2y鞼bFNm\ɂy)m/MgQG-y9 `1W*8[^X@`!z#'<*J5nc) n1FDm)T-œN?b>2F͎QYH:ZS(1*_poy>Q9j:-4;' }jXG#L1\1P9J湥 c |Gnp<~uemd)U<0V.p7;/F˳H 2!ץE*+ ^@2dq*ZLy-R@۲rqqӜbK"DŽ1rQ }N(IB}.Y~RdnmB ^ #dٳ ̛AQlecBBv)UE\*n~l:sxj|1r2p{6rzp= M&zEd+600N }[ 1 ?ş\\_chV\#dEM7`]G#2zJ;x9x=qW1cr^(㎜v#cy)Elzԃx3~HOoLOOL#;'MIN?418;rzgǭ`ӌO8 ^p{ i;=?-΃FO9=dZ˞8'hld|ÿNՌDl2 p@qڼWD &7?Lxq)4 4%AX,nI$۳ap22#=Ǡ˱W޻+QQ1D07}3B[?Ōn3?Rb-pqti  >'O9lss8] Zo rNx=O0T(3Ab9}1Jg bAc%M 2K;?Ï`r}o_?$fLۺRN3p8U{4_Pha变(%r~Vu.QBܠ8*:0r~tJKq}? Z~J;S$ l-Y82~: m2:g$0Xmf@K@,8 5߲8m]n]$9lY8\ZÀG*[Qc8^uoԣT|eS} *k'U1nz;bi3?A׏z-ӑ #$8ԃk8mFz d*cϯ5حA\=_uMS_G9oͣf("5Q5[~rpvp8IX@X`<8EmHczyGrU_4$b1Lzh6$qpO'9Y bP *>Rr2g4S݌# ?zK@`xU9ea1g >` }=sP]osܖ8Plwx yFr=^P'xf,9{=dqTC Azdum'אGJfS"5[w=3צ&#9 sJs璬8b ю9G&[, 0~]8y$9V9&3ݣKwc<7g#Nlx`vOl8Ti~<~nq*t!ȫ46 RM$dh"eF>;g#{WGWei]b2 H[;lOA8ݗLs*!#y !݃?/nHNjש=| Ё# җ CGAj]bg/ʧ<=?*o`5>Qh*o=}09E@m$hxUeԴ3g'n9[ pqۥR,] C1*H'p({ g( W˕Ƅ,A;V{mrpIB c.e+;ry}񁚣o0Oq|o3k_yߢ\$:l ^e z{*W9 NxyF3,8#`~VAҚ@=}NhFVӀ+4j?63JF9ǯnkDzQXXO|T,8$gÐy胲!$@ur;cס]5TĂp{rO=2zs#҆i˂gd.:`F28ssItB.ބHqNXn F ߾)x&xq\gD#7enG=x5c;XtW#Ӄ9+cetmo'9=Gk\PG dZ &ٝ r8 j==}k#@󷑂0rGC؎r#ۂ&fvnBrs~ÊĪpvzxg9lm ,:vc[vd c z>ѻ=OT:"O4i}Am!o{c}qc43=r~5 ;1SxD&уyҧQNp0$YidzdTB8>rAc~1}{dTLj\u'_İ$x=zxq=g(Igsҥ?Bh7ssޥQڋx^ߕGv9瞹ǯi Q~=ǜI`vM.QQ/>qaGۓBqqA'Lg#w~z|9y߶OL3;)r}zd9c'>J=Ga>9=T~:n5 ?ґg {w3eMeZ΁32=5f];C''~_G@}zddjy~'/l v$32(&c1\܄}7@2Ҿ7d;=wsw՘%}FJT>V{Az1I$3޺8Sbft8K$.=\{ uWKo|{3ֺ#ѕ=sd yLU pͰ ?*`%yٳ$y.%ĦG1ǒynu̇UXhq`:Q0C dgpQVn>~x^Y=vb=ڳq2v竨T$XxBO 䑸?(qZhXP6y9hh9{c4`>#qC9p9!;'rHۻP1nzMM+'Uo`QcJEdvA,2Bzz9w` mpI ^;Y4G$F#<.gnqmEQ h_de8kX~Vbd0l%8Œv^SekVIg eϵgܮ;_wfفsϰ#9#?vBIPzT8n|ͬN9+ \dWon2[f1̄waO$ץ&Kxn%>W W 2mO,J_ZkOD\^|/v.vK8G.qɀ}@y4J"ȥ 2 dם~\DoJIafGgFmQ#zHq0{5 Hfg Sz: syyjtMg^|c92%!|Ӯ1\*TsܜqrOlW; 1F[q8Nx㞕+pۡ Hc3'dVG<&#h8W8DjtI9(;G 5q"P pyCzh8R2yؠ;c12˂CO9rʎǓGO~lU?*~`7qCAro9;9Pq>%$G~QI۩T[;vI>U=m,,6ࠎ'q|gh9p@qzrp3[̊@1#WXͩbTbXVH03\6Tr`nvqN'e9hBH{瓟LtdHv65tsg[;rGB05  u;T}w9*u!RLfMq09irwjjRR_2ZI͘21ﻎt`.GǷJӋ6)K_Sq$ \U`8MOGcU +[=8<^8}?¹ 8IyQROqpG89Rԓ3Pʸ8L>r;[@ϯj6ݏ>r `V#Gn'A8>0rG{Ԁ霚``p>L oBI^z3:@+#9~?A0=O{})othic= L9pq}x4Q~穨lq+ٯhON9\>cCotD!Ŏzds*.y~=^_x:{_ZzqߚIݻ}Fs3׹:gݫEA8z߁}i}r$wEdm|sλF3zV5iX/ry#c=dc;`Wב[=2Gu\ `;k+GL`EcU4Nǯ\kb/`4#rG9}w- yh#q}yHg'G=8vuC{A< =zwB݌ $2;)'9z=!>c'ޗi gzdt9'( }q#8;ҌVJ 9{lc#m4s8ujw9{B@zLۯS 鎼Z#6IAt=yjP1ד:TʅRy:1߹nI-]$rI8NyWκᑶHl'8}KNmfxMZtxmg9Pyc89UYVᘟv읡HOzqK_^|[*+4Y"Xy0y8>6Uli1ژ/0dm fgWjAamYe&0f+ԥ=ɝcsʜǦ*!xxj" 6ۿi ~Fr>;~9$ d`c`X+0W;.r8Vڬ;䓴nl@>ⅨH9pHN]esޛRI}s`}JIX#vz ~N 5n7,9mA]:ҐЁ/#矯\Ynjq rU2BXm]+IG*@@ 'c}j㖥P xmAVÑUlTX|:mar*\@pyUY vUJ;_׃aRaBBFI9YG [9eǎ tR'F$c+(Ge`S9R88x3z_T)V`vל{W#??tORzҨ=H#l^W&6%_eI5~‡_Br1Q?ưwf4{Efo A= QA!8PT,b`y @Cr8dG~0==1'3ԓAcч<犤;=9=9Q׌㿮FyJMaңǷ {~]dq?֐ݱbAߍ;8?\qI<O Ox?֫-~In !`S>GNG%39$=9S㎞99_xn9#? zRMבb=#.~=AA#qǩ={?Μ#C9G & r@?(z}sVDP{zr ~z1 sJ$6S뚞K@A0#'Qnp9OpR$^in8qN{T/\s8;S<:O!a:2q:q~;Pyq~5<܆1\Q<9Q`0:(Ԥ<\\r#!N}k~mQAkt9mA1s`;㸮"@NQöN239юF"[U%f`uTgނ#f 2=k+C{=Nz#kN+njО9`띧n8<[૆)( qs,]:pd@ppH p8"鹇P< V3;peCWet[ TAM' v8I[Іe;TFfݒdߍ[S~ 9cKznJ[ ;#gCH@8Ҵ~v|耨]G-.%Jl Ծ耱`lWf?3z?)muTC=2@rGcCwvqΏNwcǾ S;xs^iG8'ކ)>c?0rsϵQu#' 2=m12GzS~(;}O={Jzg0;sUpaFztc^ u9=?ȡnd39%sҗ,<d~=n2}I3g;$x\?AۂOӾ;3M-~@pH|hܗA'Xg1[Wٞ<| e2}?qy⹽E``FFǥz}Qٜe̲ɰd$*gpH㷠/rToVW}8W8e|cpJ3%QIJ%rd+@e瞵ʿ!,X+ g;ֱSR?%NI篯n{dOʬpPxҺmL1ĆAp8ϱT/ʹv\)8iMf<$`䜎x7'eo\GP~`Ŵ*Q=sF7I69;)w@0v-IQsݜ@m!~EFpGf͛Cf(H/m(Q<>) D'kv Xf5cZPgJ|cxj 23v?Q泷ikJM},r1;=޹y-dF_\ LO䆣dX gNH##'4(~Bcgڭ w®xl'vg-MR:>e{ y`עNY,1[=< 2Z;IAz 㷡[);zsOO|>25FϮ/GqlXAztA: C-3u :䓐rqR P0 r1STQ-N~sg֯UgKm  {` V!* 3۷c׭F/r*B7ʮ})jp>`Bz{qɝp@l`r>Rx*8U3Җ޽C c'z4H%r@ :E-o'(d\"R@1#D_v]` `ms 3ׁzc Iw?ȩ*܂\wQՀ @lg+>l# C3? ]I*̃,TOB 77B9dQ3#0UN89Vk'S.vH<q tAiq$KiI*ʼnA(7mpqk\iwŸ8~`ʸ\9A߁ZF7vJrV}Z&`= ~`[ǥz ۓ"+/TnT!>ֻ7KE۩ňB^mw=7᭲:&@Wq&6!y{i>jey0]ePt=Ti%duϟ7dW99aʷUW%}G^k,lmՕcIθ qs!Gz}3G9qvUL+p VeH=O\1^;v=lc䑀@[܎@OJOe-l /f r{39?ʦ @Vc۠GQYxٷlLm$~8ŀXtE%_#]Ze ܮ* sP8@;VZMm]@Xq߃Wsne9۷ѠGc1PB9>۹瞕ZQ bU?JEs4NibB0 7,x9 ߞH30Xp_XZR|w_\(߭C9uȯ֗>*Nlv{|v8# s{Ӈ~It`t)~!ǿ?@cc ڗrs8ǭ>۹=q57ry׽7{G>7=1zš?Nsz.׮8 D[${V2hc] 0z>#^Ax+gp:'Έwxj-9tՠQ!F6A,:E{ 6)F̮S3?Zse yN8&SG(ٿR3׮2Cdy9=;8|v >3'qwRH!3nޣbnL=O@)Ŷ;9+Œrd _J"9P8ۍI9ǿ=)O'@68#ʰ~nA#3{gy=c^8 ~9;zN{u b} 璠?Zy*0vgoF90+oL^)`9$c.8g␐xv^u9$ cnLm|3ײ-o G $o\jH+&3`N3y9펕P` b@ ZZ.&%obkye1A q 㑚ЈoLV0$v$T~G4cR>N8lcrog|`fLOqכQݳӤ]D݆vzztӞqW;g#,wTI%xf%s yHT9[sڪ[![\rNy ~9<'r2zdF+Fp 8~`s4N@N6d΅9^v>RHmSӹ*07t8l1`Ԯ.8 VPx@cry0x\QkFz9o\P*?( z7´Krpz  r 烎ֱrT܀#1?03A#1&0FIPz7z%rHgk`TOʦS_l.I3M>Nܜ9% r: $$r@P:O&̂Xr.I yۊ;o;r:ʸn#$$[k0c0q@eW:l^O\VDI.$fz؁W6lcn>eFS>qZqzbL|7W$^F: q^ar2s@^ff*uTRA; v6pVvKo'!t4\K/ːOj-M[xTx}>Nq˺"9I07 -.%#ț̎3C/x<ծքWm5NS:;p05qn2FT {(evN O|W@9E^p39'zKavdD$ `s\gN*8# g)#h#cr;Awɑ$rЌU؅<(;A<sXKҟ3o#i#fS6k(߽r6C!`_c.hӝ08$@CfdPgG*'qWV/&v`~V@!^_#l@Y%@$2vlCSp=_>Y/ٲ0".hU`.IeH> &ri7{LJʒ,8a5sf Nq#Tqi:ROmcGʼ0#^ ̪IL@=~U9>15嫷Ss\5w{#-˟#88 #N*$ N㑸dx#}'t>Ftزׁ;'R sP{s<W1eչ@7H?ZFPrG q\Sh&w+`.#8ۃP4\=F }GZ"dx$~'R3 HlĞ@8j# $g !`*;y d$M=IhswNi(A>VB6\#j7G7n .Ei0e,xg=pT>,Ec q& "$:Ro wS>dY[w1PAaqN% $<ҵFrpY\@8VބKrfΣ;ւ^/FSv fATRwmfW9asRpC)XzjLiB2LdU=WqVڈ1yxlÞqԺ+ŤP;p@8899<s\ M U۶@8[ ;n;21iZIr>_,: M^T-i>[ť003Ԃ ~ogj:;Os?kqFcHj18J8럥xu$w}=xy9=i۞W+ZgwȧNzzŷH8'߯#$=>Ǣր͞1?Go^G8@QpqE28}*e8^=z W$ur@IΧ\Rd=ɁsL$0=<윎?8^<ΎUVNt&;ӿ~SuqflpqG(*>ui ;:g4?p8 =„|uron:~brWܣ1ص)褬ϓ~.^=ַefeײ k]v rX^FCdp=@ȕtY~gfWV(ן50I? <K?6[98ۀ pX` + /np@9xp~%r6Fd2F:dhr]B[<N2 zgbd' >lw\סKYmOtۤDqb/q| 9rO]A9Ö'"_Oc83`G\ϛ<݌FW*ˉÞP^8}j<X5%<;=2S1QRcN@g^6;8ϑ"2>^3^d7[o-FP_'';kHlovܮ;t@aۊۊ 1z`R4k麳iJlmu&/1"77QOVcCXR\t-@VPu;Ilg '9zz(oE'Wwm9ѕ<+Ky&]ۦU.:|'t=HC(>sL<9N)xI9"8cp3Ǩ@g: 瞞 J#@+tꀄ};c_Zk)z@d:s3=3ӟCMGzy4a9QQ'f'GL)tOVÞxQ<8~Cwd8aO2xGOڄ SӒ~xoA}_<0'Ӏx>S@8{*A9#Ԗ#^dQ 8St:tFjztq_xg)rOB=jsc_S٦Czg~QqyϩЄ=sϿ8##'=jE!q瑎3xԏZu#Hy9E==xҗ rA*yMb>zrI<ݿ§$c$ ǯ֔A}7ztqӓץLw>ip{>?OR.:r}Ş1unsק1z#&L8l{ZէGqN+\=7:]ȖM^˖rI9+۹b2O\'*hM>CR''188 tqn'4;?ǓFIꩫGx7>n&ؑM _H\*f0AS^^b/}.S.crJܛ` sٮjEOam.Ny2kO3{f;llN3&[=2GvJr7a2@=YH%G\^Fs,AnYnΘ[^N pc#܃(bnrۨNUw#,t Onc=噩o-N |yXw!6< mdcݹWE_/*=To_6~A |xrO<7C8aǝ(Q8#Zĸ Ht w~x$n<y vF9^3Vg}JxܯK*' r3nԻ>edqT>Rzyn ?.{1)q$\O`[>^';?ׄo?RF#qJ;š F^᳌gHH#=@2pB {͞IZ xn9@0m'sێ*Gpc`jT]e_H~Tu9] 2\`̿7:VS $/ʨ( qg˙,P`U;sAޥv-ffkۻHf3\'\9\Koz1+ E9g%8ˑ*I' P,L@v[^r~S/2',7dpqޤ{ˈlP{@#j?(#SFډ#͙b&]`6t@sbar81o0p\Řr>>o< rj';UVcyPʍWpS-c/2^>бtdxRBna@p3ׁValPH' I!Txjf<\c=-4Ѹ ^5 􁿫$Z{x7x8<` x;O`W>=8%A3Ԡ#a׃idqЁo@'GsžtLJ韥5)$(\=?ӊ\~:CGOUZ~^{S6Ƴy#/ЌjF@(Qe'yVuH;毞5(;Qwp[o8^]n&J{7(lJlsS/A3sOR~+=!=Tc8Ԝ=h<Âcێ~UI+,9#'-ˀʌe2sМ3V##1;mọ*#n<:KV3ra[[8P+)]܆arFk6OS:x]v9,9Hk6a/ (rѷ$cӌk6o@`0ڡ1x; @9ڻBN7snю٩eGsbW%z}??p@'+s%jz$z@'8#y?_ 0:r=Mqdz>3=$ qK8Wx'?JO2;S-8>/7 9#zq3y#6ӊhb<~;qzPQ;ל06#DY3& +*y{d5кxΎu ` w Ձ&[ e8mr޴ՙ" "l6xҤ [f;ve3שzI F$ߔz؂{L8Džl}"+;wR/sI9z*yB3ҁr ϶y g=:S[otn9 `Bb=I%H^0I瞟=6^\LaݻʨV8ָg{ѵ9rz7^@B$u8$?:Ɉr90s?v(cUbIv zpF㞵G,rCr%d<0+[xdZX3+(Q>|?N֢hE*]!BA*oDhϢ2!!#v1\M@2Π T F14D%fdJ"e38#hRrp@qun*Pm{1L)hٹN.0wz-]IBCGO\݃VGv`~NY@;{r=N;ܿ1?x{ھ;xϰLC08۹ 2R8\Fw 2D# kܧTvbYea u^kVXyRAːFp{ZƤbcP|ecm_^avWv2rp韩Vu8 n~RH\\BUyX ɌiVtlr=z ȕ1FBm{t#|¾DOAݒTϦ; b3ݱ շ}>D{9 xN :Ȅ` #$rq1ڥ=~vZ ga;::r:S11nId#֝ 3ɕ~VI?1?>8 sK2p[5|pN>9@9 5cr (uGNrbg fJ Tキ j,'!ȌyFm2cPOp8F\2[F1;Cp[8=ҙq X:u!ZQΑ)8gPv<+Ge\=H`v<m?{CYٷp'9b:'2 NFdR:cA~= ^٥B `̡9Q^x*nMŒgpw <*kA,MXi|'',T~fn[DS E<岻v6==j2ظ]>tģ `Sӯ/ۃ5>B PUaRǓN#Ipv2W$(R@/sPzp:vɉ2gf46ver1wx3ҪRHr7H˻8'j{qxd308;zҘ!?2g3CsPAé>A u=+R  Uf\1 T?++9C2pOӸcة,0 ?ýTC =~c(4fL3:J{P$r:cbo+Ǵ0qfs G (!`N3֡W Tckq{@oQnFy4\!B$呱<>:3)w%k:-bo]A`BaNcg/BtHe2zԮCǹ#VA,G;Qa={ 9PpS=)`ׅ=DjC݇߸#5S+,ʄ$$b8q8TyR}O?xke60AaۧJnLscnPpI>9y#qw};p/1)5Q> NI^A`Zg . ŽvUFG9sҥxӀ66Bz1I$ zs/-*C4 ?0;Pl|pJ+UGmA#\ǡ ah=1_Z5V<fA^HGt=x s)JƄ|}r=**B8VȆ5H+$;cz[X F Qep{zsWTF `=0=;T{"bE%Œ3'$|<0l:\qf޾"RWW#pgo|rzN8?Zkw>%bT}#ns[;p錃xW!|d ?=G4<چ8OsFk;4!'92>?viI'rO8RORc98ϹӚWЫwrA<Sя; w# gߵqwox9ds;,~#|'A }y^#rd8`'W[y.1&ߙW@eEؐ}(aqq[y=3ʗ1[֦A70FA=8G /}לK8=zr=xz1x!w1ҩm #u^}*\uo_>uǿ|dR[L`x$X~xe$N{ۥ' FrF|?Rm rxa @wS{*Dl0pw`s; 1,*Gwgqh՟CxW@I]f0~~qqPxӠl 8( F8^][ʷ;{IH˜>G^d>J*>@%r:WAm̃ <)z;V]Ȣ0S{cp{jhA ڇIk̗юp0m̾܎1rAgu5"猃ܹtÞ#f;WFR zi!d IaU:cpQ9Op1^VKU|f}L.0B).W+17qUCC m8':r}J[79>DcŒ=󫐌O+dwXg^ڙNv׏kpPO'ӊce 1ETx>Mhde.wHX{}kj2U*AMcW>;0\F{j(ǖ=w0SsiAN HRǧ>ǰMM>bq9̠RWp8R20e8Uv3Ǯ;SB Ϊne9a}X皝Vl.wIlgt.q8&9u%l R'8ӹjC6En2Ňf >ﶆ<0*pzN)ƣ];\ $ܠsj躍pCzA*G3t-,)l6v`|sjInSgɵW92X5UXIP1l__ʮǬpys=[w/b@w%qN:U'n_HÂ>l:u Tj.Ml]h1`sL֓K&ޤÖ83:p rW6󃻿ӌg%rz HztZ=kr$W7Nxn3u9ȩEH;N[ԎI>ܔL6A0p}nbzCu<];U''<*W?F!xStHXٜv`l?.sA9!B1J:78)Z}Xew1)p;vֹ7#501?7=iߖ`z9P9>pMd۴2x~zoXI`09>Oa%NMMhspaҽG`1Skնw=6{]hc:{y4<'O}I [\JLH?jh(8=ixz1)B{#ӾsK0=O:g~4gԌjA<  ?Z]@ǎU듓Tbz`}c֩9v4ܐ'As{qzg։lL>9c( ~y0%.8cjAw>=scgLӞ @Ew:ѿ=Iӂ1@!>t?N~<{cޚ(RsӓސV< wzJA&}rOsMVq:Jnsn? j+ ,GRd7װOz>DE=qzUwrPAvo̢x'?2gO;az'CWa0 ӮMpjRiw-eg>:7>"# #?2^ǽxZkDftX8. }W+;םO6żaVUN;;W2@t88-Ă:}{{y֥U *)8#w_֒;SPBĆ}J2ۇٞn1%ʑ[$H t+'H0-@#޻]ՏB<Os㜟_T2eX02De$<v)79<$(#8W6`6qyi*bByev@Ǐz+H69sR3> u8|`HH튪01q^ ;*$(X'1ǿ5[M9bXq?nx#6Xȼy T,ԑҵGyn~P#O.$ N mʸd†澠,v2#Į ܊e%Mxإ=|'حGE F(A2Ozw$1{ G5}x:V;NO+3W4n!Wq1 }=LK%d)\c61 dUN Jnk_S:a FGx/`3xtSiǀ3ϷӾ+-n}=p1ߌgWErXHc$Gλ՜8:&z#xibK=T!Fy=0kϵ=\? VAm[^w(+\$d~^铰n9B=+jV} KlvGLtp}0kcv =*b4^FxRXXsS}G}Agw=E&\d 9}jPwdr r8<:dzӵhGI%ATҀӌGǹk)S{*`1sI`GdSwΣOq*p<^28G^'谊 `A=?t2󑌟^=PLdl?>ÜQ8"0$`z<;a4CAI={64a@ti: ߌ#=z(lON}?KߧOz21ϩAq߽!ݱ :{z9z?p0}NOoO֓^ۆ2.| ('8={߹z9#4&J9\p==G_R? Z!g8gS(=AR898Njʀn:yDïOc=R/r89sZ͓Te8j8ݵ?y@Z2Tޏϖ>y/?{>v7S1S|p;G#{7Kvcq28cFpi$yqM=zi܋ssO#ʌfrbrkO}ܮyեݥR[{[c ,>\R` N2AZ;7H $ُk/Qm۶=:j]>㡷k`LY"Ey?8$D}3+Z|[7yw$bTV[.4ωKĺՖq]J =H|~ ZNмg(ڡGo+ւ"'S,V5rP]N@ܤ)H xZs̬̠Y2;Oo\uRG=GVvuIh gj#!R~B2WӾks-݊c ddawg+A ;vg+DX?1Av:t?J9¾'یtGqoR L+j̼ nt6;\줵GާDR0RW{!C, ˠR*ٴsJާgԤUq,A>_Ӷ>I8d}ŖE|2z 8k'=C dˎ!s0ߌ/zm8ɩ5EԈ1&ZU ! 2r1ֱmtCC xaҒ9{TT KuyՖ;rCؚ*|R}.z#66es=qJ19ko=yOOQ^:g/T$qSڦ_pHǧNZ@<L`ϵJ2Or8҅Ls?ެ:<UG9?*pXF;b"w\ 1ϸp0=wj%÷s].x3˨7ݱQ#?צhKP1=W'!::ϯ۠'=hD\n1_֘8Pq}& 9'#{`;s=[=Z"[==y3MHqq.1?69=h@wu4=9?R9M"Dg~9i?`4G^۞8q휜,44>` ~ӠG.)߯װwzt?CZ!U1zIkIzCQgt'zQ%A8pIwT7  yRQsA9죵5ScT4v)@p6XaICp;XF.G;c&[<{S2n>bۏwT`zgҐ"t,0;}ݠORy=+F$V1儚@T'-'#'dvV&U2VЩ콺VڥIo ǎT5Ș*=iĸ;An^Lck)1[0| )\l@#h;z?Ο`a* qSb+'1#soN9!6xmA6ۜ1f^^UGQRYc3+VivնuztWx_7.Q"69l̑ [|j㡭 Fr{a .sv`PHOBQG~ݹFFU}*i]VMpGw0~.zw$3>Yoq?"CCdU'$o'J) GA󞣽WTn;@$sJYĶ"d @ior*ShQ!Vᑎ:y$D;܎]tزH-mt$ 6H,$k7E VL$7͐9 :& >gKaEW9ryWf%nS{;ѩ 6DO=&'tͦ"DME  (g cU$סSՁaĹ[bT]JP' s8u~XLa5JnGD%ê+`;NCVcҷ<„B[j>:aBsfS`#@b/4{ 7\8g{N я!W*{u늼S'}x5߾ݟ_E{ 3Kar7qsxTnX`@Q뎝~u7$F>~]UZ62H>G<֔gԟWoz;nk ܮA#jI8U%J3ǯ]kG0.[2 :u#\9^@W+0`U$w%D+! sӭlYؙZ7sIʓsJ&NtQOtݼI w=G^FTƮx e?]i]5_yZ~נ ۨ?5ZؠPFv' ;u޽y2٦bتsӜfݑH<ѹ7l;Aci8H?x$srFKnb0Hj=py Fv1z zq9ᲧpI%xRtڹbﭗȁьqzg#׽A#JK.z?{ gv9Er9[yR/lJ-'FlQ@2ǦzqS'S̼ʛWoܑ)@w3=l5npL"GC=(10܍G9pG ;tpŘ WzfuJ"T-³ 1;z ~ԃiO`z䓞>\Xyͫϒq t*H̛CT>Fm%KyB;K`=jYu'5,+Ln+$vvJ~Rckn8 qޢF-!nx>HQ|ý&efC&G#ҤЉ;.ÂK7L>NƦC˒c`HQ;VP'灌Bvdf$TL@Rrq.ͼUm$>ir1܍$x #xtɨVжdzERWOH[h/0%Q3lUyJw0PY"sAg>+k= qu͈+ʧpPXdEk2n2cny89 De7R &ހEc+‚~w ͘ 2Nk3qqΜdB&HfS6 OFzU9$o Ir:m99iNԘӊ+o!vݹldUS##vA5Rh#!q[-ǧRU%8q}kdsUDʹ>Qwm \\N#Xrx9⟲WtPdFJ:y㚿+`PrvwIGyT u5U9ݒ=S9!У\VG!yH8ӯOY_ymE͍3ꫜ.ӞON*q^CHG*\,1mٟ>|à-t\VFW!1<9eQ␖.[?(R1@\ FB{2+hg=]Ξc!#+[+9ȩn 8PI<)jɾT\ ^3OJw>vƐtSӥ95 \d{\JSi6cО<{gYmvrNׯ5Ve]5U'js'#ۊfWe@ s}* Lp6 ]7a8b=~^qǿ"FHb~Pr~]Ԏ)|"iN6qUBbuG98@ \vDP*p;T!ǧ@B1BHܻA'LCDPrI ;LqNP1'gL2vW^6FG~գ2nY ` ry 9+ޖ,眮Cgv}rrGai@Fﻓ#ŚZ np8Qu⻽,1P2@`tǽ{Oƽo<|k$I0>Fs3vT `G>zOˀH?1^o{+nsX/l~UOShyY=3Fc=\<3`a`mI0z"} >%0gӗ px~G'rU rnwl8uF࣢@oztiRB3)y3`G =;p~bx nLdcevPwNF@9?x0}hUn n tv~e Xcَ;pOJl60BCc,1מ{}kIݖ޲]W0mFN0Cskǀ8=:Mēz tbpyMbI%A'$7 -Qڪ rNc'ۜ7~~Whsy,TnBǝ.sNq1֢*WS8x֝n71*)vSyS^tr]=fAʇT~9ֺm#P{Ig_1f!K !a?w uOb䚾qgM&GZx@nrr@eoBklKkȇ̇?u xoz**Zk&n49s5Zdzg^n#moF_d|JoWfb. ÇRrz< Fm-msoH^F\ :X,]t|n+=sR~GV6A\d$zn۞npsr$9C8~L8#b[ː:N@)E ,Y]Oh?0pJ'9?Jڪ$,NUW9O43C#ңeFy鞕en~;0`#V-s>F:F15cD`aUv"[Ra+qӽRF/ l60 @=3(,7`g9-lӓN5Tm#*]]R5PF=%T;9":.~B<k6]Hv*y; }}}Ż0D-^*y%OT?ژ%r~axGr||v#x5ۜŀ$gNygwBc6gS{ZMDᶒ8 18󞣭0;cVg989G5,3$ߌa9sI˸:\Yv~:RH 7mRفm'X1DI!>d{nrSp8>E8l^=A~5/X|CLu?^M5 8Q0ۿidgRa9xK9GsHt??GT?YE=8'{j°~Gp8Aǡ4$oPN']L9n{PK%}8{A^:q^sCǯxTAf3#g9ǣcsM ?$89?Rzb8GAI!ݾJO㎣9G@xϡǷ[5g=0}=.# z5?N~;O#i`d۠s r{{M9U# sϥP ϸ9=NLcF2}2z~T= @>qǿ?|%$+q>`1U+5,ZϺe)#Y[ TWAC1_u-8щsU49=Aէl%y85#$~<)/RWAd U⼡?ɪgP:qc2>eq [RGVp׸DgwK,ĮiC#܎ⷣ qnb盋Lȥ y9# 0OA{mSA:F Pxs^?^GYړ7$g6fxS%|zNNwg zя>*lc*1wZO)9i)z>枓;sw˞G_HnIgN2Hʰ݀==r:bu.؂` 8J6]8ȍ\m\UOc. 7?ɵʕw\y;C|pr;*0OZ͛ w*9:󜟛 \J'`d=t? ӜO k9is[$z5FG KW9{ټ;?,0rQUz-0B0A?[E{3{Sjb-¬ʡxPP>1^!@ T(rsޡ0wp  m'̼O֚+18uPO+H xZ,Y.>l#4=-~[M$t*@-zQCg*06w8梧BGu.1ʆajz?AzDGφO` 'C^V%^Kz7dsU4A&<;cF| y\>A@sA'׷Ҝ}ǯ36q9۞: <e7^W jg漣Sxܓ66:_a](fm[iQWsqxꏡΞɹ@Sp\`ϞrkЏAY#vn) 6G^Mbp#H;8ZV} ) ݜu軈VQ@p ngש#U&E_(gERw=G^sv2(8 iuvM̒~3<7qֶ} ,YF{A(4U=$ZLP9#\|s]C0=ZZge8^=FL篹JM1\:6 NjwT9铎4cOsc敀f$;;~;؎;鷞G\g1c_خ[IS "rHϹnzr1QO#}>08+q?w`$:vJR;#"nl }NF=p9ʭ;kN62cǶHQg #R~Xvw3SARzjmk'0Ozqߞx$w?(<た=*Ž<="N} ӎ H縫]W0uKYd㞽^_qt۞}~GAr5Zcx.xʂy H<+.Knv-ЌH 8WPV>RnOdf`~Ve#+~iFė:XtZ8.$# 1VeFssUݩlyo+p2l;ҽkG"mHʒ#ܹx9vv❩cjM 2lq~g55_1ф|FAx{"Fm_:\j c-%Iec0}8EX d23O\} zYvFOvpL*3Jd'G$1Y A\M|1$u ꦶ9꘣2:#v}xKI X Cz}9thsG!WgF7m=qWXvnF}rKؖ"cMp@ z#f=ӜmADP{q) pI*݅Lzcw78$=jpݖg9[{r aN>e r1rr {2'ֵ6=_̏͂,rG1U'/`r2}G9Esc8>brQ^|+L^n*IdJù? {؎jy'oT7 ң,Nsycߩh7pG*^OOJ@܀3gHI.|Wnpx8 3p:ǷrijeWB&'n>U=d =:Us)nk-G<>"ZYi]8Ly3HwmA灓ZEh`j|9eA>`[,:tTc8 s'LHlZ:T*`{ݼчn֍Ŵ.#X*΁dV9g-ʉ-܍gl,! YU᧜<}vY"VݶI 8$n8pb=Z[ƬNBb gtȪR*+L%r +CWw)y>6"*p9jf?ٳ9>^8rBE=j[KRI]_OkGލp"oFMDVV͊X۳T'OȤ݁+X+J03Fڤ( c֞aq'߇`?:LcCq(Չ$QMY ǡOQJ`U1giP>N L=@$H Ʋ;IoZ͓B<2 ʬ?֐s2`"@ >l9utU`A23 3$wiQ^7.wbU󚵩NQ專@#-Ӹ^eE;y?'?ReU*"Сwo(0szFsqG~~b=0'0Gaޗ{gp^\zw41)t: -ؿw\zN}iy0G㞧ސÞHszdtzfXS߈㠧mv%3b3:1Aǧך- ,>RFpO\R<8@Ϊ$!n9dtQ8=Hq郌wӵ1~rW:M㞼>֚$c9>֜1c*%ltr7~8郓ׯZL~#M^ߥiЖ;gzwBNq>Rl/>8?x;r:P?Xgyi ,FIt9>@@g=AGU4wlqw9?FHy_sIzy88(ww xcx0G@x8{JG'ۜp}qv#<ǯ41pQ8lo ߅GP<`=) s'>4P=߯qKOGI3דF~ $c6#Zh:ywI ;Qq pI\w gZҏu~IĝIJ\aqr9\cLLprRBs vJ#ƾiܬIm n3Wn/[ipr䑍g8}VdU&5]F.BQ]478RұQ+̥sX;zO!I i9v^G8VTT|'nFR{g5RZ@ 2 ' ܎jUPxʌ5"L_cR!IHq鞹Sǹf\HUCӦ=JJmcxDHgP ] kZ)Sy|UʯRIsx<˩or9]6A{ ^^\{s\.)*A8{T5tjf9:IoV@7۾OSN*|lr+nll`.KLp-׀8<> [f\q洯Kj~Gϡݾぴd+i{sw=pG͎k}+~}?^&9u$=G)<>8#=JN1:_Ɲqq} KBg=?<_^:S`Gbs}:?c19Aazd*;4-G6=@cBT͸}RpK=z`~ׯȏl'0VVT+mNTwH58+uw@J.1@r<|ʅ\sj\-`Iwq̍%pc߭UiW`fC 0+' Sj-طmq(l̈0ԌOnXj9p df#zR4R;Xn//PYgxߥindCr[@ktu0ceG̐pwq up]@ ټG'N:3,F]n_"h;[ 0rOJmcDE4q.\`cV6ɧSWZ)L@khFv3|8y\qXcx+u%k8CۏFW)<La,z_[YJϰS\\룚0T3lGkeCS}ФTWM֚Mo}~L 0' ݖ'޹93pAOpGC־ABWxufi.2oaTE'向;ҽ[zL[ZHKe}3nfGHTaUHcxvч3ϒӥi|}}P@ ǵ{6 HW9sν*qI~֩vDX s֘U2:s랴Iݜ m &x#ƸmFohrG⎆RgkO;An 7 +1n|}ݼ ^}}nn3H>V`r9=y4~AC$bTTS:c֪lSRXIR \ % |ȹ“@x{WBZ_frTTRA~M{g-lp$IEܷ|DƑ21_,,# +aEʲp:3\Ϊr LGrیsqNtn䏎JPU1Fj-Фi2P xϹUgRv,Kw9a9]ZHޱ0?/ {֨> w 2=H'=WoSrn毵E<;A遗 |cCq |ۛ%*pFxcJ/3ɳYNX~b iGt䃆^?zHI=b%KFf`>?1~t\fʃ吥w\ knm)A̍,l+G4qh9] \ߐv{¢kWq^[obsݫs*?³Ӝk1d0c=r3=铱=2F31p0>V 3i9 #Cu[ >R J#>y][#['@Gߝ I #5V~RV]Oje>܆*x9?/ӿz\jqhZlR>Sk1ק$i8Ǯp2?u)<sӜi='C+]I*H=@}iH=z aۡp?=qr @9>QsdrT(#Ml]qQjh s\H9`T#v~R$QX }1ԎAόH'<}V#e8$ep3qMĒ `فLh^2Շrjodp3W|=BE:2MG=ryX;n=3:QYSS57l yG*0;= _?;Dle orzz塬fwS l9oc$Jю6˝cHb=kҵ8'̢T]yO=+n<ܭ=8Z寵*!rzN;g?Z$66FA? 2k幨9ڵBxSUO>ֱzC_շB (򎿨tA9q C޾)sZspѯ˷ςF9H{U(NI<5Kor֧3goK`x8ƼS,^Ic&E*u0IlO0*Ln*G?(oPF3X쫓r3w~= y=|(H6˃$cpxR 7pdp~A;j! tazkEI8N2Ð0xf2h2MI pTv g:S~rtFH@1ˡ!X@lX~eDw4NC; @r\2?`7x 2vq:'nd 0vH!CҪ:IEph.j xQw >򧒼[g݅ʣ yAڴWr@%7 ?QR О{MKGM@s wEe%I{S{;o&Cd#[aCl“t @4/֞RXHrxa1V@{:}ǀ}= 6 `BxI֥dy"B#a"V$>W2ho% %f |ǑҠ~}ѝ\*瞿ʝ: ]sqϥo*e6am sߧ֫c98]TaU3 `}q^wrQF1I䑞UNzGVo,cp\<nTC Ǟ)'zPjb8 w r9@FxXXS86)둻Qw<q@C'$ʜerww99!Ik#n#8 m2 nXqG9\O*-} == f{?6a&pXr7 Xf$sԐ GF? Ct $1po= {u:YGtD3ȰYUsO:Qd:f7R[ȩ+$F]wnAǽtzG&_Y Tu3$OUeF_.3<W~X7[m^mHٴzi6$>_܌/8Ӄ1M+y-'K7c exII^ݪi%#~M_2#X s(|v#ߊaulyXa7n5#  EI>w<=W$u~;w>D2>73؎^"# edlϵ~U`>&r>X0ݥ} 6c^9팏QQ]GNvRϓ5 ŕ7eCH޼LNU\Xc{}k7 UOy d x9鞇ӄ^>f.FNzHbc9qcyg!2Ux=GLж9g>p;{s.ޙc܊AmFxMl209Gl2p8Jh8 =J '9IAAVt7NGцy=abˌ0<?H < GnyyPTFK1+푹#:ޜ# `l`}z(leF0G< D>l}ܖ㡤;aoI%G^9]GRԯԟz!NUyI'w,sIpn'9Ёj(B6`3zʽOA A>wecZp34RA9U=tn 6v mAʾoX7;(짟N #sE|KOz #yǶOn=0@=*z n7끎MsOJϩcw|>(8ϨE 9vJ29G'O0>\^܂9?=9ǧNcfc*`w>)F;>?l8$s9)@dOɗۧ$Ƭ~]zc&ӓRL)c-@p{TILdpVvWa/7gi8+?6JӜk;!nW# Ob9>Cd*0|̹Euvn#H^_ fD/cU)VyUIO c1#N;ӷ~1.ylNB[!~n3)2iH¾[wEa^"Ipdp71Yva#wOt=fH?"܂5$u9'lW0u7-͏^coEyɝqО߯5g#aNO죳 Wvqwk3n$pzzzqVLY=7p c}3ּ}jG_jg?wyz[o4bN6ParG~ϱԵ,4 = vcߠNq z¦E"U9@IǷ5/v>lH'<`gy10`mܠ\tqw g۴#LtJ!I=JYb~HNtI=ۧ9^2gp{y!'#F81dGҍxzcy$QqՁg@9$7\PʹQw=֘FNGFzTeH=i#Ldv^ gC@>}=?oN*czqOUH2:qgZ/BHOAs?T89Rz(F3?Znho>>zЉlv6یc^kxu +F;NGn3$¸~LHqOSNoNGH0:0N ǥ0&lu?"s'ӭR$t#OR& 8fСO^3{uP3p g8_ך֜B1MI/o6ݏ#׵qEbX8lּV$[(<{^6Skmt|>4:Ѹf1\V:?9!6?^z{Z#-Y^NiQJNqQ}El2KNڅ 4eUmF}j1][KlB}dϠt{9Pnhe׈;\=oľ%Dg#oc,8==ƒOOT:n3(4ϝ̗WyBK,j\)<Uw,㐆sg1Һpk@)ɽ=vtFI,dG 5GT1㟘!?0(3½oqy$pdbHQp^8H;qUE~P0$sǚ橩 dg8Ҭ̛@#5ZGܝ##=Һ?Mǧ·W,C,V+=39εd(\"  Eqׯ>r˫ O8=(9#^5xdE [n0k/lRT.Aym&y=#PѭZ#0˘f_>`Wra~#f8=@7a*w##ݵpw9#2a;:w9NOBqckghv?{;/Qc?X9LNh۴08b' 8ݳNq7pϠP9ʻH'q`v1zfF4<''x8oA rx 3Na{^#RƷ/. ]fwrC]2#P~Xia[b g }qN3ҭc [wdq18ob\n2Y5ՎCYL[\xs[PF7>8j4: > p9y2O0x4n݊TV TE304(I1N؎hFUa  dǭ{E6vFq* 1y7tF+PՏ23ˍKY`*Ԉ3':qnuKreEFo99^9 l쁽M'dTLq .C6dk.>4{(^ "#e*JH$'D3* 0*!UFw#+Zʹ|m҂C;  sWLy]I9^Dhء]r w6:x]n r\eHggpqv,}z/#Ѵ[{cYdʔ: {8zNkr"GhlfVR*$4H:Xn2oʃcVmF+ ^F}ʞg"n(EDU<\x]玽OCq?_x#=I:1$sמwpxHA秽?'yA sSv#Ij&9$& c׀s9t8˟l\`gn=:s_zK`#rq8p*) !:p3< 8q}am?6:ztO-O^*zӏ`8u9A 09{ d=y'>M`uNʐtgSzt:z`gsv4+ض[)N^p"Yrn^A뮚*U,k*\.tRWۡ2#v[{ed~scb2vjxT1paTvܹ ÌG$kc"wNˆO1݌ {xmVBos#FhJ.JP P@ !Qݍ$0y*'mmOfzFػՁ띸nw\s]n(qIm$+|ʡcW ҿZVE3b̌Ǐ*2{\8ݏJHC Z @)U'ē{~UΑs)Ta|NEBk&dF r1 0=8ҜȾypg1sSe$U%#lḧ́v䲮 (?^3 xqdbES:>kA6jrHLF<+Z#lVM!؇?&$У i\w&9$q<`t֡ѕNd>QBrAE|J;3,lJ=7Ca]8w2j/v"E 0N;N=?j? d/I:׫Gb]!{URBycNVL,Co0 ~rQN!^GS71ȡ@ $3}:͏9| &[#z?Cؔ&ǂ `2ጇ1q41_vt>ۆNsV3!R;vyb7b@m{!7q(*{m#'>D}NF \͐觠1 pTf~Qc4 Fz ?0\guwsy<'(~RCCI<E(1,NnG x89)=w%I*3r[#$~5JUj4,vcWy5R(fV/#޹fs~m 9?B{qҦI Hf@ 3 b{}z8;r&U7nvyA~Bk5j܅aыϥ' M&EdBǧ\$Hً\ vM?.բfB…,< 4\ԁWA2@~{=H_.y?#3Bꡁ"`BtCk[IsS$7ARb5BV}IЖ5UuY9uZ͟p8ݙmpG_\ö>J ۻ3W=;XC# yEZ>:$QQ208tUM 22AN?|;E%}v_~GUM^:3uV88=9ҾFO"8J$f;>vYy8r9VcW^8t¹ $73q;֑ղv9#q"P۰N+͵-EHs3ťO?B8OƳic\`:^o{0$dzϽ9+G˚=kWe'q7{tWeXݑ5U~c F,~p\`wPsl6B2x8{2 |݂ ǹp k(̧|U#2;:u8J;hLby\gq=x=xH'9''*o7ls'#{x4 )*T+gjAjo7,CT }̼V* A \2'PկR)߿{vF38yk>'d!r6d129J싃w/tYǵጀxh/YX@TFcqr:PI[s>MrFOFddW-C6d2L pぁЎJ{_'Y=NVRiOB`rwcn{\YYbBhrO˒:q׊سkm Q-,$gp[ 5EnA+ja_32HʀqA8 ܊p7SܟjGYH$͌pA &@^3:0nwru{zU1 僀rų,QHY2/Ńc֦6 ]6*(=}iԑS%^搰 aX%Հ<`c*̙ub0,7SBOEV7듞TsOb$!CuP1Z ܡ1Bw.p~Е݂OAm HǗC'mk$ v ;Ip?:]*NZ5~wV:[]&Fznc EHF27\ F9Tmu8kԲgi:daz̤slJ7>R:4e=08Z˕5YRgoeI>{Uu2;`s g]Lr-HaxcV2&{--$}tN;Xr36XoؤrT`sưu)84>ރ uC)Jְn$R>\\0h;Pc peS5r/ >|2;PSey-pkYap?&i1˸ '5]pp ;<^:7)E) ОU9bJHnē\ƶe>ɗlde8_JZ5SPq/b ׹TiU%G\.]1{!w@#IbWPF%둗G\¹kp6 #9~lg3J#"`ӱ@gݸbz 2+|Ԏ8ZƤw&Fzx7R*S",D9 }F< t/SpBOr{,%8Ўs;RoG #qz8r2O'ק #Tu{q|`H:q -w`m8<֤ǯl_jL>Ue$ S [?Þv ;O#ٲ=hBF2[zl=AР;wrTcؚlhOہ\c5#w`` gߘ ;v $awt;~TFqy<֜bgcZpUxWPI1׵P,J`\Z=V x=?g$+S-zaD88nyWe1X@y=y#g5Cxy'b|l諎@9~JI݂_*n!Aϥ`͉XR͸)8%1h/u\?TJB(\QiI_Il%$9FS簬$*0v`g4>[)ܸ8f8S[ 3pjSrLANA_^qQ7 O<GNݩt6oqFUA%``W'VP8G;vN~`A*05|\A%v 9^*d@0rF:>^P1q(vxm靸 㷷?SC͛y#$gԑ`5vuڈ@,<(nWS.Ć 6F0(+;Z *#v=OjϾWfI$ON:VrVfao' Cc= ګ;us#a2zn,:AypT9~t%ԔxãP?aB`ty=+$gw[|: H*;<ݩ*\)DU㏛ׁJZC&Ո8Ŋ`xv;BN2MOWLpa] =57D ,0ϯN+5fpәU{F39;`X7` S b;Hy]@ xctpc<R RsOZliZB.BP#Üc 9^[މ&kd؝KO#sߊ’c:n|m7' t?.Kys><׬̮yjBXj:t^.cecF({w-.捖Mp#5E:R1nQZy&`rQngT-SF1Wx`Ⴑ9䜌8|4R:5f>hJ YK q[ʂIobP2ANxgk\ݧ#ߛ9]q؎_?!=(}xzY0OG 6w=xH+:sJ}OO=8) g ywctKdHd90q'AGQ{O>fܜ'$OL>l?{q'9q $+jq12zq*S'=?8=svd6>n9:99jBC>]|a dG?NOZ$06vsR s#ڝt w뜏 6ٻS9 #'<=Pg9'=V1t[ӏ;98uֹjLU='LpON<9FnSסb ʼ#ѡS%\fc$d^*Rgg}j22x :}}녫h;VgnGSB 5vO8 gwZ1KcpyҌ sJlv9=G8988϶0?Wj;{@?= =$3?/Ji1>uǥSz|CN߯^`Wa]NgxA3',s=;j?N}=}}n*l!>'<~_\AځGNzEH! 9㎞3sI2sצqZ@>" W9vg)uw aߌצzQ=99(antЏSsP'<: _=qyI_a:s 191ןo/L}1qOּ^FcRD Jc=sH+|$yTR1UuGzÈCo,sdd`>YA6{ Y661#¿@Xj=Y]r60X |zr3w8㟙qz(cgcºn2&3;ᶟ]J9|W w:nSzT|V<7ǬY-2Yӆzg2kɑ,J r=3\XzF[9-39Ǯ)Alt8Q׍q\1='<'r7sۀ0B+.o0 2iroB $c5RuWry=;}!gpX) qgJ1FlyrN9ێ@ˀc 8# `wƊarrz0`3=Yp 0$`*liaPb2p[kJ pAk< ̊Tn8:9Ғ{nllt)dC<c0'q;=xet-#>ld>¼{վXؕ_apUpSIE[w6 V_LN+Oݱ[}~G;".!Fb*3qj]۵r /<.R}u:ԔQ%.dV**[tx4qd}(M_i KOMɀB\oÜq03_Id$VׯM=^Lkxn()]R9<&7|y$`㏐AEe룈s1K182~r*~S#-z*3Hd`OF8ۥm- \>c!{cw\Y w#nv 9{U}?u$q1}Ꭷ8Z:ro:RsWv}-H՟$pFpIt&&(sz`|.>.> GS|K:r8ǧ<)v}==^w1aYہN֚cx4¾^9O^8N:~G:㎝Q`cC3OBI!@Oc ӊ!Ӏ*+}J\qp!aG$uz1W\1sQK=8s8DZ:ノ=Bt q꿐I tϧS=z SBb'`cZC58ǯ}rG#C~ĒF SCC<gQ폼?p1{wlxON_2 h䃓ӐW59>ʅ5^אN9g95ew"OC-@ ~޴qIj+38!c~ `_kȯ+&tjTnH>gDdFp+ê's[N1ޣ>G#l;#M5<GOb/^a9wG{`o>^i o@N{f{c?ZEkQF8͏>?1©]ב-ッ0AL$d8ޖ0c<{UZ5;7g ^\jS|*;8ۍ ޘo$߇ZЮu @xs^M`.FCz>릞K~S\5bϝe}fj:q `A8N=+ЃV[JM~^xީ~\?}s+ʵmpǽ}"菜TrщUv3{ˋkERZx9,(6/8kkD:u{B-BxP W˖#նVז~Nў--$95h[]}# VLJ۾+MWnE$jSN޸&GZ+l5o#eRb]RRwnO 8\v.АvەUg 0*y^u8^~'<U#pL*ppTO< un=jZ%rI? m@囌 tHH&ZF@q'3Z2[Q:?1$s cZv7V{X}@Y*Jr]VGۈ=~@PpLt$ըAYA±DMLVo֒.ƛs#@f-\C!+A޽\ssUE GLgzՂ.Rl\1MZ1GBiǏp: "4h~*Ys֗rQZ=_-6`7=s~kn]JPۤl`blGJ}NqIV6xrƒk#:w$>#ԧ\0M:n|2ԭq%6ν엒>5,r\0[hXhPx ^zt㎧@'@=O\u(E0}33q8^#D83[ %>l,i2q(؆Vy'8~qNmzu9g.3ׯҕaOr~&X?I7qӧ pq=i_QXPGqOǡ}qWq4&LGN}?#N I0Hy2؜ڋ!~sӑ }?ƛz>݈z]{zʄFA`^ʛy=RKs9 xPLr3ӹ>>)!Xvq8ڜ6Ns׌? O{zC cGA> cu$r34v{P y< <02횞!mwmp:ZV;BN@1^7K庿C Xw89v< vyܙ$6w.:~ҍ<˙\8!]pV226s\ͻq "]w0~󮘭TyD9!)p:qOaq:R-[n}N*($7T\.ùESկ/&yȒIƫwQv1(J"F~Qk~eDlː9%Aۃ<;s[$~^t'=g3z1 Ŗ5 dK bQHHŹ|3]jڔټ#2<{ d GWcAY6O*ypmA3+EHB,6^>a;V|@!XD$g*Nps0jc{QIp r($sEV|*Xs@A`3I%GڳlN#w͂:`ߧ6ZD߰ rG̥xm}xzd1sN3n=¸ٗ\L_sm:B ghIn 1'8_fEA@F{c?3tj%#Ўts#=8(!^W=zg>✣Vcӎ)27w s9=;끜caG#AtR(L;{z1~7aFO'K'ڮ䐑x9q1Mנ@7ީױl8tȣiCO$z㜌<| hu8y* _{`f 3c"yU'k 8R;|]fV݀~`NGS@=<1J =C`7kD2*p 󑜁 [zB1Gcs\6Ίe6LBv‘=G D;g@pVXr N+Gw2 hlVUն˝そ+YKą>l8ҟW= s85ʼ)+yڠqәD1+I#;WvU&oQZ8X͑/8 qWX% $]& `X/N߉2g},@,Y"l k޴g:I&0Buoڭ*P[zieEBRHf,8c_n1R>b$ReV/ y'q95$nPT>Qߞq=X,SHg>|g {=Lv0FG'j$ϻ˿ucӷVG(Hg'_)VϬX d#<\#H7q\{z眎09inFXcۭZ%nQnvdʣ@x`7Q 9닒3ot=*/5ChVbO i5_ÌS$mm >n}~<$d)WhSK]Jw1bԬ#3f%zYFH"3`YXo}p8ii#>v9d+,r?+s+ֺ0r2'%ZUIr㜎wu^ɥ˝r[i- qlz׵$|2NO(8 sk]OSOZkZw,rz~aOuAs2O(G2-ɳ q,c[w,Ge^|T5Dx>+7$dVQxFFN(Ϸ^ywgQ"=T80Nw@Ý0v gE&m>_ }xQ.19Œ)N9ϷTv`JddȬ0NTwdN29d{TEk9y0ٴ.㌀Hy=8#qP rH#1F+dtJ{|#>QP(pNl־%19,~PW8L$]6ʣ =G^՟6ʱ9nW۲8?͏0ǒ}x=k: ݘ (9s4m6olpʂIw)#+oc;@Y8G~=DmWԆu@ K錎k<FrԾux4Bor[NWAUm nBXtܣ=:p(E# Qe@c8$aO$XYD11G94Dr=~eu;U:b>=wHy6$7t=hlizD\̄A=1WD1) AG'qr7ΨW2id=;W<ƒ$ +81'Q XC0I=yLSʩP$3Ӝ?JS`aă18S''~Q)q GcJ,OvBp6IeaE?UB7*8'gsޛbM"me90;A0{y*g"FOEZ{t92 #W VAВ3Air ;rPqiW!8opaV8?̚.A ;cî@Q@r 1 ~r\|ϰ0pF6;cl#0v9G#$ac6=0D9GrT)pLGqnr:,~ePۊg I f.H0Bdy8][b A>\lsctǭQ/E{bǚ=Z"$I-zpsjc'c=lo.6նV0%'ޮAk}a?i[|nr#F^|a*+X0;K $'`SƋDITYewFrAM]͒%y q=+n%Rέ.^zzV!y$"USZ3Ӳ;#'{kEʈvgjqt6;V=U#OJtM1x랼U9^\=k%>S6.r3_ƽUq3*=5+}Ey{v&aO0ٗ1c9}zHH4#9Mvw-Vl.~c=vy' N #9Oֲ#9h8ͽ:S<#ӭsSꛘ7Y{;*yˋoC%qupX 21n1sYJ w3Dz089yr8 Iq#fgmNd r3ۡs9 sLO]L\3,F~B*GwA"o-~nIt~{;v&VhU]?9FrNz?x+=N8HeI)$fynilG_%wRbqw8ws88zW'5x~nW8Zlӷ׫g^ q_Z'Y*$뻧c{Zzb*]3 *IA  :R QXH##L澇 KQgYKҴ쭳\;`p}+լt}Qq;q_j1H1Sv:u@6P`@+Z@ ~?5RJ/SoN6`vp=W\i0w3sy8ӚfϡuN,xRAGq׵en,hi53#k}T`s{c⫒T)8XEcVasQۭywUpN`$y#=+U6mFz`J$.IEy]I$* r9㓻:V@3.IT#G[VG$Gm=29FUY]_CA=j~7y2Ua=<`WjpXîpq}>2P0YIuJ!5wNF>U'c0 *ۣ<'ғ6 + kC `\;~`NH穹r:3䃌9?8;[Ŏ!F̧,հsiH $u%` HS;yHD+d յrzYOi-XvlĐgkLcqwgߠ8ڸ|_ݲ #`z =*Q2UfÞ@cj-M߉h%R!9+n3cUCK(ݻ8C[Q[o÷N2 Tg8ۺ69J/jCqEl7B9wb,[89 2ͻ?J礬 'TonFj~$R_1C=p9z:#͒g7N[[ȣ7C&\}JA$tsҪՌ-2iЬigc mGL|.9c\}_s^#݂l8>F~JF]oul.;P\[[VE 18n:z8N#Jo$۵zT@:Tͩf9'(Go^ęڰ+'/8׎›g<pÔAHdeG~IO?$})w<=0FW#q)A$ghLd'?V0O=֐u#9 'HcӀrK`vZpSukw;H'=)װ'p2~ژy?+g8@oRqH{ہx qަ w)':~19ȡ"w*Y'v# >;t@!dzqhߌwc@0qȠ4P)ϘpwO:֊%`*;:c#X- ݆9?犝_Z&?`c<uԽz篾=~BCq?Jz'xڎ%P?yܞ,cץJ0r8lk'#ۿJ;uϷӌfh^;DZzJ_O#9}h@8$;M89q{Ծ DgP =X.;e-twsOLޅ׳)2pps}O=ΗQ"/p u=H#ӏEc$}=^?LTL0 nuc *^z#ҨLI ׁHY.cҠn2s^veRs+a_Yy1@ <kI07'od#ٯ)zκe#06ӻ ?.jZ8$$6KbQS=]rRTǯ_JoRO6G׶9Uzrz7>98Ag;H>{OCN 0 p>z|BbBJb(AAsۚ01ӹ^.%a۠}}~ ?If'pNF tv#J?_>`yF! 4br $;$s?yy範-(^9#+ߌ=Lcnqs@X,2۾S0`#MS%ZVKH2UXpEd95n9sf q S1}CLE˘Cn'v{wQlxqƂ.'ʽw+Ng k@w)rn}s B$d]0>U~It#Lه<5-jm(8R̻Iw0ޮǤJT TH*1 j&ģSƄN6d qڮcev&>"%W##c&jcں}NidQ?/B)T&fM߈+`>`8LW)q\$`H cSk%'tTm;I%pГNGs.&qp˕遌1+g+ژY Gzv~GRGE?=@˚Mz:Rr2LzC=E q1>Ϩ=31ާuGOd>Xw:cT~^3Cd{cjS)"Az~FxSہ=3S?1؈y˓:z1@Aɧ:x$si>6waKn;sAjp1ԷNE5R;qL;{rO 9<:NG9q=R>Ph?.l$~})Fxǩ8G aXe0>aϩֆ6\涅MHt5l}~OҦϸug}|u+9^}won=A7e8H>~_N1@M6Ψ=뻧Z`n2p9eΨkx4ȑlr>WҼ$(<W 9ہ`z pKNJ$P_2o9#n Qp+&kY>\Q-wW?礝RM'0J?zfV Wv S2O]lq7;6Tg`,pq:\j `QwP0WD˰]w \s:q^@D8)?@3kҤ/C15s4p_N }ޜq9Zb$H*W''קdrqy<(2.I2<~I]؇do/ $u=v@ʐ1ž\Â!>J02\Nh#$A*|#T޸zC埓c;jRZE q Y%*} \ \2nqT^E8rN8;.6GnjD7 K=&3wnYA:V=@0or '`($ f9LGL嶫z ۯZӌO d/ pq…zKOS65BsL_lX_*EWTzkJV-H w"89V# Cf|? Vֲ[ܼ]`$;q^|4Rw3HY:d`N;-c$Ap]챓XZMXm<(*^Ea>1["̈ۻi,AUr0yd'#!䁜PĚrjr~bc 8"vҵ AL7*w=k5;hI4[Ibu$uҽJK(tGc ŒdgNkæg]?z}ѬVĠ3!j|c#N{|_K>c@<ߟQ@r=Xs>=~㎟OZ$w89M=?3p~[bA֥Xue gz}i$1wSҧNI a:Tb3PO,6q=xՀz/JyO֬?QU̲sRkT̘@@9ߌ tb96qݷ+oGMBHlcGPOM ę8 'ө $0yaXÜg^Ԟrq\i }z穩K2Ͽ$&c=~1ֳo' <Жw1׎dׇwI9)$|mdz`+$<\loyRB~Lo.+\ӌp$qp;׭ Vs< R˜p~N$d Y N8g#h[vߔfF[qW)#R2I$ Þ;慡2zC mʃ?:fTU(\1ԑVj2:L8>r0۴axs1Bcd!N|~|+ܥ;_<;6l8=ztJ̏k,r/,G>ד]V=:_ < n:QۥBFA70spc`[ f(2dO#v g0'j#9v65̩sЪ8;G Ɇ$+ry'z`SgI tٔ8N*Oȭȝ>|*$Lq_E;4(Q ʳAǩbb2hs"*c RBwkuHJv` }r@]cebFo`FXsIY6T" [&OZɕNNn'_\{:]/ 6q0c AyiӋE nO^n&rCdxe횘|˥-cqǃ;p@## g#9QSB<6:qNj r vr;T@9qFHA?zHbq 髀=qnCxIxx֐Ü9ϱz.zgx$0_N@nSs8Yc$.ݥe?2s_9ŀVp2lɎQں%'j.ՠnFE+U?p|lNvp0Bu,^a9+>o3| :5v7M|ˍߨ]Z7ÿ~gM+B~vV /znApY@nI#Ҿ3 ^KB+-'˪B.`gv}|Or[r[?9sD#r= jnus^rv0qx?ϭF8$w1j$Δ+\_`\\+;rv?+Jp5%ʾGe 0Vl{oCq\֦Ӷ +~WXK%).2%$)s>DI3rH]$&ޠa _Q?O76Rߝ Fw=GOolr#f>r>QF}{vjC!Anzשiʳm$9.[j0W5Z=ֻP (lzz׬XmqJ۟zؙ^aHqqW$*H>3qzG?qxp{6Ò9'\E@|g 9|kRQoWA^^Զ9p9#zz%ӄu<h8{9$qq=#=+AЄCwo}RQ"\m,^8E)HFIob 3L5<#Wry@GSw1_semyz{.Iw#mzqV:v]ȍoPvӞkt }ӷoF:%ggڶv‡+Ϧ Lє`v?#u 8>.l'"'rB8^Fsr eyI"܉ #8;9Ͽ82ʀw;*ݪyoVG9zUu't.Kgkq,’J?;1YiWqIHc(bxQ?SR ;"F!6򊎸!ycv ؽ/MAcCl|3φ1N1Ӟ "v7[0.1Tgf2@qֹ9>SeoBxpTgbXOl{Ϻ),i(p2 [F.LDV"`z{hWqN(%)^xZ8%{,$Mm(UNӯlƢ09$ "V-Fyߞx̑#ݎ3ޟB~Pʨ! @)Sz)!RđrG͆± 2dې<~Uq۸$FBsֳnthF H>=1+' ic3 Uƒ t#k1|y~V=YxT~96>gF9@u`qsT˸[;w+mi :&ô|3;O+o : gސotBxU?LP> [j;lʆ8rX(~9QīUN X(N'Z*|,rXøE7rJzJ^߉2\Ȃ;ٳ99ڪ=֋k 0r|LP;n`=QO@`\6} !;qg$`ԃښm.'K C?^[]8 A鞵*nJoNm[$l 8ڹۭ^"[.p.HY*-GsTfrIV qHO%yr\sz3_Sѕ.͆ n@>]/ \T$d*ܑuަ6]bܜ6pw!9Io'sV85maIN~MV$]F,Ic:jZېyv[i2?5RR&sBGo0ʮHf'8}j 󽐶8 GQ3֧ة} nJzҘI^NpGfޥ2|݀͝F^zUN#W(^;:֑/cּ?b{UIol̹…W^Lhe1ry(1m\}X ss_)IFDG''8On 10F{-p)9L-Ӝr͞{Gd]Уs`d x=9pwcmt-y=;rOQa77l^ܻD{4ێ v$=1I . I yZV7:4 YPACd7+æLd`gH9 tQxS{ۂ+"uֽD𥭜^l52Idž\MeoۡR>Nu}7zFF΀.y9UoFݞP`ҁ.{הλZ cŒϧGe>H"tI8xxUH0@#JJ+Sw~mv;>V qpzp=kilnmƨ,A qVBd9#fzt.w=,:ؖ cUPC'ִS0'dӁpIz 48;|uJ i ?xuvo2vG_b68' >=Ez#ykxk3s:|$' ~^QY| n_GOQ^/I^kRno?)nzӞ3I"HwѷvU?xy]r'*I<qw5_n09n{G*@|t}=GK7sdx)2K1{`p8׭_]s`P =dfh:.  f*$ R"1˲Hr JImW:Ҳ.FQ/$ķo\14yže?2N}a.2ɍ 8SӡԶH9% Iw h]u6oa#k$~zpx"ʴd۸ I#~dC,P,+l䁞3=+k a_' A蝱ךsT!8 84g qmqsš1[qGԉ&SV0f$ 8PANM]TUvn'88(N;8tQmfݞgt=*՚ZJqȪ+BkgohܒoRL%A>S?8, VebBˁކ &J*S6'(cM1ɨJc#' c MMd#83`0'׎GީnR*69`с>G:֒c&qǮ:ZUu^{ϏZOcAN?{&wnn?@Qq\{\c QӿFўAP9OZ6Ƿ\1N xpywGVL%]'Ln>RcH<z׍QYzwB99Rc F#?(ӿp=?ZǦ8>O=&9aRCsJ@F>1GzB9qq;sS`;ݟS߉gjka2@>}qS8=Ic}|{q{K'>z{ = yf6ǨA€>09؏oGsc[xLR\p{|*J Cp>xPA2鴏_.8=6ש4G=s*یƞӐG4@z;T=O~N= >p;}1rOW@'MUg-/#EFzק+fNyz>6ɐ_u w$h8#d8 ?q_uKd|?Fͼ@ +qg%|xЩ_kA(fScMl眓܁ӓҔ)n] A$sЎ[kM-bwxh&唫 NoƲZ&Idqb|FDe?xN ׊1g^q5TBUd$wvzԢ;=Ok~n$vk@ɐ?.1W_&cI(g iok [ϟE:+{\@'܂Ar;ӗAzzS_N8ǯjQ"lW qǡJہa5uyz"1:ɅÏ$L3ҘΩ6@$edٌ{V4-9`[rC;R{2 (8]Q!G=>j@ VO4B1Ɉ\ߖNڪv>gd\m H8z>BI|;F@Rr7uS|S ֜.' ncs!YC8npGzϟo-~ 0u P` ;*4M-um ?20lxIX|97q9!$=NP3N'NңAÜO_΋[B]wc9~;8n;0q ћ玜S4HlexI;5X-BsG+$K*'ExWӞd O ܁i 3:ޝU%M}Ac88'#3#wQ@,G< .1ߐ:G/w9vPrCڒ>Ndp8{*!chҶ69#'9( ӥX[ $u.J;qR}w&; Xyz~g5R-L&#ds}]n#ݼ[.#^k0!Å܌\+T`KzgְU΄nإ c9=1zWN/Br'gءw`Ա\O Cw6y5*4ӧdu}b+Jscӯ]: c.YϠ< q8f޶,[>!r:޽JvpN0O'>xNkSlm"`sǺW@צA97rRA<}<:8{=y'];'{N8[?O'(Qq}KcH?^sҎ3uԜEwOnp?5-?ZǦ}G?NՓzw''op8rG}(19J2ծXfӒd{>Tf?N9=ijr=OZvssڵRVU#8y#3 F:<r\e(\r1Ҭ~'*_"d\NOS>%PG_#:UM#Hrx_8{\\Uֻǧ:u*?wֹrXOIgҔ]Pjg}K`ٜczOOsӂz9bOQwLtȠL;c3JS*Q}V/<{NNsz\M=l{Ukw㞽2y9F4\nI]jz =zͮc۲*x^k63!5t9Iu#Nyvc8L{tܪks~f"7v;7NO~=='lrxNΫWf>l4`nV\Nߵu;987:b}8*W|̡^"s>d$a{=k.A'9=8ǿ } |hsԟ4^\~g;{jV.݄`y 9 =}Ԏqݜ*gv_.bj dܞ=+zJ<ެޏu73Ll+3oo*ݹ9>0HU-"w4S~Fmi6}`3"eXf wu_Eks ۥp'юȾ#[@$bK+ @eyp8?Z$] nrJApq^N6b]ə &}.&ccڭyky\tۆ$q9wQZ5slK)##*TF7~\p 'nZ}76{Xvd`kR {U+Vf* 2ųc(iFG"a{;ڢ\* {`v8Aξ)}vj6Bn88}]9 _Ñ6q=㤗fաX!vvOP4 0°1t^-OԔJleBqu9`N`] qzsNePVndtןMq)rۅ0 1;WOMl@SEiCc x5d1!8÷FT'gr 5>aSl-?ީBp<fw! f@ǥ8cZcĎ=JOg aiqӞ>1w{:u8d"С9gޙJy>+r^r]d}b__ps y~T$(B2W o$ s#ibpGQ:'o<==qA7vktL^\mޤ\)J<_kZ=<3/YIΈ̟1 tto(%rS5ؕddI #am*8׭W2,H= ,k" QcX9烁ڴc`+ J8hqLGO1-MoKF#2"@U#r$VT1]j̒Oafd >{hu}g*")$R ÿ́CRw`GAӲz";PF>ϵeed!!PX@1_R|; ]SiP|_^CᏡ8צޟqSfWP$uc$zEHWGLqz>׫dt'?W@d,:Ol/n$TN cԞRH\P[A?7֧ ǡ:}}2e#OJHcE%?*OV1x1qȜ19=J|`9QM8o0Ol{{_lUCC{{lRu 9'=@wБ{w=t={p9Z}#=)Ӟ @0jFFx.sA=L`;zzlJJ8oT225lHhn}1ja9g:pOM gOCیgpqy:Ҹ lpQpxR`&7Lz0:vy':La9G>az \g#PSC ;r:MMCu8#?:x*xXq 8鎤Q:}*Ic Rcas{L,rNxqJc 9~ 1`z01Ϩ?Θ$cv{ hO!۞# ;wc};{iQl䌴' gPgrt9;zVGI'>QŽI< FHyB&N~}ӷkFWA1# hSeI ~` ϰG+NSCvҩ-!/JAەpT{W%ucoV"@6`RYm9ާp8mp;c*g'n $`\q'o2ul;KIS<;*6{j9~e5{.e`rrqO>@>Qpqw=s_?^F/XMH~=I8$u9 8Lx#'Nv >zS@8 psE=G9N1M{u#L'8)->Ag'##I1s~})G!p>LL@8sc4s= vF''攷h!ʾX0q^vI3RnSr'.2.S ڪۯZKl:s/2I<*IO¸]ۛ~XKgx6Jׁ.C,ddpWgbaإebBۚcĻ~b0mv:Ͽ=3Uv9[]oG^G|ႌD8Ec*I;>rY:*Pc 0{֗>GMm+8եrstmK3J;LgUyPg{9#)[Ro$aͽx ` fg)$Pzixod4 IS9=+T7M"iq*$py=s^F23p]fЂU$̛>Rd9NA뎕lAvFI5օϢQU,&_Lc G|~Bw 9^uY>. %1_<}֦L78+cbn#=1Qd0oC=C\ՒdN Qq\6q)ӑG 04KÎI{=s+R̡݁IQ ڳIn'+<-5 qK2n<>sqSQcH,rLwM>ںܲxGHlg=l)I=L5T/Feʮz`wGOs{me6jXxX(+po Qm<˚ =9/迯'*44HN=~'${3%֢\dG y ܓ7)8xr}+Ϭ=|;ZE)p g#: l[d"06=A'Y#eu2M ''ӦqڥV'i<* |@@!F8acFG`j 9U%A6p=PcdHC'߰0Wd5r`ʓ<,RW=]9';:lMU r9K׸9"+ rr@9=O.PKrG̸nr*/LHAǠhC8RpK>N,HHȣNztoq8ٗ [S(A p :}qXך*.mBw'{P(9nj|&A ?\u2 n{=V$<쟕@,asT|ttw:ܭ+N2ISq^oȪ\[mG5ryݛܥr"Y]I\##'Xk8CmRywdLdϧ#]8"z|sW3>m'97\t>դlsMlVk͸PiGv2@@'U Io,Oba⦎$uhP,ÚQI_PRl41[ HWc m8`##oL5H| pĆ\d*۹~5_0.8m!P{MT'+nKkH4lA@á1]M1eǘ|yInzQ d]Wnӓw8s7v+f ̈YvIF6}EDbn䝡dBdJI랂򥰺1qnHEY#d8e#1ݵ.7#($/㓖S?OOz&#`oo0*cd{)!ȷ1\$@e O\SHaʩV8#H9[DɷeoPo")LB+I/ KܚIZ<]Khdv~>R%Ơ,ycֲH\׬G`'nOL랞`r0=FUv҅>Jc\]Nǹz Uh]`0*p{8TFFh Xd`JVpBHAxq9Q_W[a Pp0q<:ދ—?(;v4J ,yO;pwɍ%g2Wb Sxr5:_‡6_jx.:|ž "&v>n@P∣\FA%AݹW,sAY΢W}CbIm.C`~PqߌW9.vpW"J襆C uY3 >x JOӀ0j)|JpLX0%3GAXʿ =Һ ̇hlp8*"F;h1Of~׽6Xa FsԌ`\q|?*2NMC5'vd$'#Fq +HF0'p!GCN)6Ψ-lqd.0pCwNG#oǯ;3d󓑌0oSݒ=lRQ:zO!$oҾQ=_BQn<qSy?) x끑܊O1=9s߅Vhc@+8w$8ǯJF2II!yU$< {p#Զzu}h¸Ԁp7t=W/yr39֢TF\.>bwz{r;Usj 1ؚ3ƭSVsςw+1Kg:c{8jwjǍrn!ڮqT=cY$2:qXu#=kܧI-<~M/MUoAbǓ|^ա |yKryGWairSCqOvJqFqk!7ljz\﹓ Tێ:~qڼc\2I =Z1R_c.n Ud`wˎpOϟ^n:mUa9n^"KV9ڻ8lP08'8ӥDx `07J -Mo'9mHtWPd13_Zq=<>qmSh9$?LW=pueGN:+~ˌ B8A>եdἓ®p0{wr_XBԸbHBvѕNNI{.!$8W\y0]γ^׹CPt䓞r?:SԅA86J['3Ԡ$n>P0F[ۜ sos,S $?TW=9&ﺡ` y$`-|Oo$zЏ8lu2F3W;~cFrA'qU JId/ʹ# ry<[,:ǽd`BϜ0d3j';gPA2dn9  #皱ky%9=׽.؁ rH 3tWfۑШH׶zBcRm!2Քw'޲a Y*GVtvf8T9W@x`,drDg1ڴ[>6 a`AO'>\Qpsצ@#9Ԃ[sI=9 G#xLmm V';sқ6]U*H`pիjKb<%YXKuw4E^4Lk,{;8>_S<+֯ck"\ỈCp j/Y`a_7$  Vfrr2;q\ A=H+llӽv~R6Ϸ~ybrUݖsT/>~I9ImSlsS?Ԛ;vR:ǜd``>~V|@3}xWe!#'N=jf\ ĐOy"< +yjn0/'v_%8Nzc[wN=)dsJuEڇ/۱I~`߈fYćHn *YKfI"&8dهO: ˑJHOd%F޽y*:OSBtbK)1zu\"> 8҇۰8"rH8OSJo1pD>Aֈ q#YB *NӅ##t^Ҭ#vTA95H+h667ʮL׮82s O׎_KwwKku@{zgמH.Y,JN0|*_5d}d1''[n$m,A't޶%{&Myە??̪Ď}}+.'~ .QG@ wgR8<8BEt%.GQ '>dn$"=Xd`r;=Tr6lmzZhdX9+=n8c @s &;rI9nϭ7~nF@L>RO 9϶=iW NN0IA|3ڄ Y2X8;8sf"@\er{OҺl~rrvw<{ncN9nrv ǯsqU84R/AaKyIaۧN9t6;sn@:u(ٖͨb (L( eq㷿ҩ 6 _\Vm} ѿ%F< ߱19Πc3Vu!xKCwnR`=9ךw< ~^bos\݉=pyY<__-\~З48<ҤsqֹM;dt?_aנu9}LBQ?<{xx#zN0OcV vo8ڛx=q~*a=r#O]=*Ic{wcSACC@{i0?\*䁎3&~8{b{8?qA楍hUnsߧazgӨR_JD9zrI:{r8sE82sF2@=;9y<{"#q!'n Es!@@@t=>sFHw>=768+' }}Ry.udEf,f9T½79I/3WjIw7iNDaڼvq├󓜎pA`s \Q/Z8-H';Go^P` 0K rH=p1Y6r,dʥmBz`08<:c>՜47YDCr6O.I' {s]lǖA2p#+K])w>uQQ'bc"TPL!lN2{Zo 9PNu皯3or7q݂*8uP9$`gA~T=ʉW Jn\wzqVs<)ǨCأ:F/ HbA{sz|d08G\sXs:T#~iWRYy0UHa2,N>ў5c$[I.-HQ\{VJv0GimCKX:cp]p>sy5QAId@Qx^=y"ۧ@`$ 㨦G yFoB0Ӡ$:q߭*H7,jp]ssP#-!R@ƒ+TxڰyRUD *,m P $gi=z3D?f|B?82~Ҝ$=4g$(^16gXZKF`RIT#&ۘ/kJi[nU7z7<}Yp *B e[ry#z.:%)/CЀ3r0yǨ'K3ae3?Ȥ5IvF9ϫ U\\䌃H51ry"0 d(ϒ23w/.$#9?(G78XӅ I9@犄O ߐA G0r{8HG2Õ2yJ9Ð5N>0G͌G9Ue՜Ozr61#95?2y<ê1?7~b1Au#Sp2>F#ǮAs?fU}MpysNh$zʷB:SϩNz-f'$Ӟ%,dBlxcLrqM}T{~YYbH@݌`>φI#+v5Pn9ݓ$)^:ri~q0hsgRW.B`v ^29u6&8m#˖ =,.z]ݏftY&!{Һ&*pd5SGs(5=>&:p[ yR-1L1֥2A'9dw=qYq'~^ .7<3;9rGL 1cy=zq҆ۨ[{ޡ2,O#5q{9 ŲЙ};L8?69zgӊ͌8{s~=OBy(GQGNzm޴{nX<1=NzI.vڮWsd01,`nnݿN)~ՒNt3H.Hsx=`;y`Oz%K_Gx~^`pH~R%/v!q*;yb~g`=]H`g?ʺ0)bR!-9ңYac9P .H+x'bϲA ιF?̇Wq, q6,\uu+1'י88ҊGqk7nm$md^EIW'nvN 'ׁ礹ݝr쏑5cTBOcB"vc d|>^QNO8Np*;*s@ys\dᢷrPۓA8E{᫹sADgd9E,}mı!8 vzutYR9eO?']߻eЎGt+C{߈q㞜 <3pp܌ڐΛN8;ē2G[F8u3ԃuZ8ѨsW?)cFE`j!"ѪX 0͎C]Wcr3rm,v1I Yc*s}̞c{pO`=]ΝfgWX pTͦ3+$qڕv͇dÃI'}+J/9!#Yԏ+hҜ7V8a@{d WWbKnpq?0=AJ!N0߈AoJ!Į!3|xLՇRV( `ۺ`1CCC ow veqmntIe{c%ES' ۔e6ǜߢs( bm j=-?muo> 6 l50hD9l[r6}K 35|p k,oI `!9#"9.F (g5 Va0fRyo}*c֮y$Xʅb!+{9#7AQ`0 YsU| R97Oǧ`QGAn`N3i}3o>P7py G3a#Z2vPcbU|AcwJSm$n ܨۇF}܍wBֺFW^T7-QTn5U<9]->KHh؆R>By[ח'w;)'A4c$xr|^[}er iyeT1.6(N:QMyT>pjlcQJhu9Lu8krϨ8>_'Q0Fz2;buIdps~u}C'۞O m8 u%~}?4x9{z=S'hwsCN^珡$r3@=?>@x,8O =I^~h69#OUHLSg<sdqg#tdg~&w==\Ӯ1~{U'dI9ҥnǡR{`:c'C1ӧzKF1p~N3~u?Ȫ;\}Ot¸t'Wdg^O8xdG0XI#TûUKQ1'H8y=ךA3נgh"GAOA=qI?֙DgF޻Hy7sVzTO\Sv qoƨMhs,:{$,ғ`0K=GE!{JG1׸ϧCӀN9ppJL$昖ݰ0j(#naqqΓ+OL3=Tci :`GZ0נz&ؗ(%pEhw(^Ǔ͊i&b_ ]1$2^Ijnyzr W}Z8V<_T,# _+,FsqҼ<]JʠJ>XVSw8MEG_#ƫ+`I'Ɇ$cjگ쾞sUO+fܔb*ԭe՘ddscҩ3PKa $rz]нm/8p$].n \ U ?(CWJSU#ΦgR`~\ǹjoPD0.6#?.*pG+ظ$ک'g s{$i% n?ZYT8 ِcԕEB7͚A8X:OJURA - bpJR8rVF0H*i۠;S#n [8%0B^A`N1zTIS!eaRn#[VtPP'nXv?ҩ2yl*AzwegDuIrp1ZXAys=ɊMN^xrbv&B`qo{}E|}hrKCQm_Δ<): t9XCv~C8{})w9CH9iPc8'!q}R3Ӟzr֒dcߎzsGoq:C\? 3cuO9#8ck`OzAA眕$d;M7'<008)?b@|R/s矈ֱ&% U`@[ Lw7FA+һ(|(οOKm]1a(weIdzn Hi`'i={uC=Y˵cȊ۸>F =8,"BLnv>۸ֽ%S=؟/*_pT}=k Wf9r!2؟hQ`=*tw.3 [w@O`l(z㜟A 1Fг #<㎴]\dF0[/Tg8]q3#*|>S=3_s{b% o6cAϥY n۲n =.ղo)#zw tU#,B] +3ggQ\u5o»8p ppA8뚝 GI5Gc!@>NBTm93sT%-!lX_2 O~[Rn=1xvUlG$XK8v_9^?*ROP=C`TD۰a~lc$C㋻9{9$;UJg8QYBX:ygCI465D;q2l#x`xgM*bveI(┥ԸRHȽ׭Ta +F(,rPFku" IR@QrF:7,_=6ϞKE}IYIlڥ q8JIfGb`UQ|ʩϿJ][n܍+#p1-YWPXJƢ_K^ܳ.A\[ʽT*YN# {|q58LwH[>ld1y ]~G<`~/^zAK;/#1b =zӽy^)%*9$s9Zw54g+zdmH_>N -==}5h/D|2U++,1-xwFyy+UE~Ye鹝e2<= w&W<} ӾsS6L-7K Xci z}cٹ9$ x={W7R1`pz|?1Z^`N~\ tILVq} 'o7^gk ʌ 8hdss;݉%RdGcۻg=*'`prIa'$T`#KXN݌Yr0$u$~i[k-VyEySV{h|nUr6ӌE!(z[G* 1ԃp]y,g8%g lO=84Fw Hu H;p1wU7?,eE;p0' $Z}߈щ;|@KӶ}f@ʇ=9J5za}ӏZ\9+ Ïze gs*0(l[:`g#/H'sQ59bbI?t(8)`Jl5be/E`d@#r{ s5tRZq;=gkٴ-YJY?0'ӕ͒ɭdr" rAI=WYm:+E朐VO^A=Jg}%}Rq~ܬF@U鞭=i\QMl_8YR#b$ޮUv0QpzVEhbڻV1y#ޜԾGF cNsVfx8ul' ;6w߅U0tlo$)Yٌĩ(cs?V< +Ĕ8V>JD:3h(P$*:?h,n X1rx5w!+Yñ[8a׎TrT;NAzc[en $ 85r o9s4Y@l%@1Te`0(a݊f n?(hB riKĪ?)GAL"BA1`I#9Euyݵ~E l`aT/U N6$If'hMl{SG6(N̐X=q^MMrq#}J\~6-gK;n}hV{r32:,+FpH8Ȯ=Ob +ߎ[y* DPQf^Ie;wwdUղJ#}b0=:w-Ec˕8,R $Nj-E%q 9ߌdg5&4>a*m?6R{s+9Lqus>]kceI.WR9 sUӫ0A3#`㍣<Աm GSߊ:c60ySbj},fKĪv_&rǜOn/‡Wv=ruz֕ C,x34_;DoTG0 #yeɔgNɩ61p1l @;!s'MX,D{H#yk9/H—ij3ٺ $g=9۝*+%HA'kmr7@фc7}5WjZY #rAֹ'kgD)F6!xc!)1=idncSp< 7 * `rKr#NN FA,wm˱#&Kc2~9 QR0Fah'&;jMFpy;Bz׭L}Csq[~c)!A'9Ln@!Հ !a ^Xfg֞#hъw#z\Cqf͞v؃cҾ~'=vc#{NAS\}zԀ0F*N8ulkrF3cEB0`OuǯQCDP`=@;y?G.[Do'>?u^ }} Cwq[6ѷIq?t1/9뜚mSq.~:х<՘73,2wP 0r[x_ O["wv3w/031Ǩz43+T9PCl璺f",ct_fRs`fM㞽'J!ezmomp=F:sWo-sOJPVG%Kcsԏ}+u&%?d01\cZ[y^+<YAsq夵=*]P U$ 2@s]96#8ܤ/'p:\^qfO3kgvt֨$B8<بI`~#٭>Xʛ,R1}Ꮤx:VMΣF=9%A~@sW{8h]r'%8<w$x$}3k˔B 1^F [1 ^A@<Ҽr%U"2p><ǧqҼzk\ā6O<88`8l+Jߙi>mj5 \}iWIYڛg) [o>Jm$gnᷧ:%J /NPf,X0ǽy݂O#?|lNI|6Ԧ}Qvw$ˎǷj+g9㐶n\.P~Kx<0Pޣ뻂=Ww;(ԁiawL###8} 6 T6x#nO@k(mH:}=G54Π$F2#rdqI8$ s׿Ub:gA799W2OG't9gJOAWX <NG)E2%F;0':V,+&v@n2%NyLHV¨݇pxj"E] s}iˈDȭ7S!A#Q}|qaCz񎇡M6m'͌,xg=Z$D뱰1&2Yv͐䐯r9x럼.|1`B|-Č.vYB*. -"Xߦ3]nɔg'##?UIZeVڻ@T'N*zMl1xR"Z~giOmSp郜OJ X''9秦k*FW f˴Nڈt*H]A]cmEp@rpSQM rwˀGSC%r32(p`cҲf9Y9ќc sJ?q;I=^9R`^~b5GY#-2G^rĖ|m( <'Gzty8N[=g *A:tޥ-#2quZiaN9lGU:w[v9P|+z4*QLl|3u:6 9Q Hp3r+ߡsdݕVS<ߞ󊁗',U{|p=Z4Nٟw$U&63m^p֢E'ftVwYp3T>`z v7_8ڧ[Ўb)^taڝխ7n8ֺRŰ@?(hM5kӜgw8(p0?:蓧9ϧA3*<{hG4sP=AӁԝOqӂz{cZؗ(2x;b}0G_>0[<Iz~~Q ?O<NU, d`~c!݇ӊ=wî yݎDz7n]< ǹSHfz#?i3n=$26'ӎf r8Ͻ4g8?9tN3 d~z#<}(M GϱRʃ=n^ʯc<=y0`広$޾F!,IIw39=29r+rX.Z#j{<(O?+ԂsF9ݘ.0Âo}U3<)x{g=)lvmއڶ8B8E;*Y p<:tĝˁ~aSͩ8  u[q[%W'Sj 5kU 3شe+q+ONj̺ (<^^Z*W>Fw|ݨ.13i~9 ?ʴ#MY(@2Ѳ&XdOy,qPČ㑎 Sb8; PWF尸9ܜ5qQN71=3?JF I^sx'ԋ)c'#xF՚ $rzg}j sy|^xٝW nݙ=*mmFe =+--Ur I|iNO>}&'0x0]̟RLs:G&8a}jEaRxΏσ=/ cԥN<@G#y~h>^_2FzOҤ'~={Oå13#|$zH }}NQssYrϔMWqنSg8'!qp3=OҽyTw!RU~RzHjW93c p=zJy\z?19!烓7R1`oFpT>CΚqpĨ̀ J|̀q~V ޺g=G1Xa~)np3߾8(.yG@ 1z[ٜ IFԜZ&|Q4P6dzu9K֭/4~icq  U 랆`Es6BJxھGROgajq 6vds9 +#v6>5U|vO.5f-/nj$d6IwL&3 e7gpPs:b+F Ynx''5G|:FAhr0eV?1=+%Ǹy#E qm#=x5x`{S| 0:vT9'Fўzcz{$9*3<8=)!߄,˻Npzӥ q0؞w6 O0)8RWFqjs:'~Q(c9Qopw B֧SvvUP8@Npۭ FwZe 4Nj#Jg>%сu)8 Dyx#i@TT^`#|<|`:گg=ϑG'f -$jƞA<'7s^\f Y@ ,<]އc*/G #Zu.:W*w6qߚ3 0+D>Q%NJ򲻱$Ҥ׮G^U?N2T2G#}EF#@sC_nC"6IbT=rHJ\y2B|rM`NY15%hwk򐉵(N0=W$]R~l;gc;*`cx$|k;HU+5Jt \̥-Bc=k}#XS6ml#\,GmA*d|`}|Uf3(IJ;%o^8<ݾ!xz׎՟CUwu dj_C>ga`sIo4 goAP}?`sS}n9`c}t )'NM'sc!}p=WA@=0;~O^^:={U{u3 pqI>֥#WЁ3lzSGsj- rs銑X0S֩.NޘOLuM2zלv5WV c>uңǎ1289 8+oA@ N:w$ #9^c89&(8OB0c8#pAO)AG=1}1Rc>x81)p(9N{U-?=U&:c> =3 xcM2uU=~TccptW #ֻgs.U[ + w c](^ik3CXܪ1dJ:Ւy/@pSסZ5j]y-IP1\NK eI9ߗ'-Qe݀TNK cpˌn Krϭ`ln/]HJXWaܠFU0^~ͻ"Z̸/_Aˏcjƛ sAcҪ[~%b~dPH!n^rH2N!lI'Tb"^ypm~j$[?˅Rp*RX'?wݖnߜqU6yR2Ee> ǥ2`%Va9qbK^Oى ?.p<8Yc*4pA0рxz9ϵg%fTvm"2Cx*҃zΕ)ڧ"798,XsS~49(U^;_@ivw 1_%,>-iy$Gp SVq$æ=ycӑN/a2qO@'s}cg9!Xu'iN7+p:S#m[;{q5(gׯNpzv'ԙ<9?zC'wϧzzӱ|9)cFx8sOO}*BOlum _q؏Χ.=@X 힔B&Iq ?F>Zw? W x##w#@?»(葝g{zo|~0x rO99&w3sinY׳+v:gKP!sx=b@p#y6dXK '>Gՙ 7'svYFqK`vRF0GE5(g? rG#nz98n׎-0$+I7=G`Sq~r@V9'o`С!AA6ߝYrSv#-1&KsD2|Dz$bF);% qr#$`9.!FzqT!_%X`\ICY?BouQswv8ҹ148 DV̩#b ܰ\tuu11XC+`/ qBHRCIeTڳY˂C"9?ZrI3ZQm0X{w PH t|DN+?y11_CԣO{r UdrzF39ڱ$'x]Ҿ^nɵ=8H*;kw+#UHhb}3򌂧+3;JHd,;78ϩMkr%Ԁ:M$!omBǾ*Nc 8rU,3;Fqd_[ D~m QH1px1X#vV a0xYV~V=cOqqm댂O GWq|I ` ־C1o׏k70'iU zhQA/Z>dAa9=F|9H-@Ӹ;'cХKWps!dg?ZMr>`#8yחiD_7nr~Ö@A]~[eK"ʨF<c+ < Z$0Ö鷖=4sԪ*1}HYWay+A,8- rCpUpcʐ 8jy9p7|m:g7.Nb2NqM'+x| 6' |ߑ\c«.pVLAR TN~=9ɧ'[zxA,BAn qֻ|M vM9Qұ[>ebK paW}j8u1jV.8A+9i\7ʬ_.x8<Jm|].zK0S#*ͷ#^7:ko&%;;'*I<q[ @N=[2qPzi;*1z722&"TVM4aYxֻ2baܶXs`@Ҫ.a^I%GpU0RQC/|WP qB6KiA9U 20~\~<)a*C0 /P9$d,Âp}yjk{:m9N>3/ˀwcsYy]" edaHQpԌr0Ӝ;V';.*Fp>Qܯec^;2\FIn] (]eXYpH1XL ġQn^ǯJ~tIw*#d(9Q󷜀@<y8栆eLA9;"U*cnJXp̐6=Njt#_$ڽ,.bϠzQ0+{e*eƖK%[`A9l8⧶"$vpN23Qn6г<p3mg 7css77kߞ֓Q 0n$1brW %^wm݃цG:Ժ7mQZ (;ySqs߸mZ9+g9L9VY:{f0XQa6s>a۞ޕ\yϔ7C4OE} ]tTzśqVbؒ `Xa=_QIKu*˴ 3Ǯj=NbR(O,Ĩ I1AY^!X# KXNaҒ_ʶ<2N>iy\ʫ6͹[|<3HGNr9=Tڮz,r>L>ǜ Ή˕Xzp8xS}KQWbep",)pG`X4ӱfbĆ"XgwLxI)E Wsh'Vqvdz0iۮ)lԱo#E(*cIw ק=9#ft߹)?ǚ\vM[w W?)d$+g5-Mù F0I t.393C)W 6'~gY2I6@ߑ㓳~)  G>ƥ.ݼ}2F1)UL(6<t4H° !sONӱ0[!e bgүĪ ®}Hu vAtCs+u`3Oߡh.7. J$9qwGiv!n}Og_(/O 9Q=^j71Y{=cs׎<`}s^ ;ߎ:G8lhuc=qҠ<}08mEnOþ֪8AYhsJq5L; 'q,u\2v^gO_^a{+%y^]0ʰk H1˲.|ǝy^ī+ɝQ!wn ;Gbx^ߢi c3ھG*MF6&{ޏDʜAҽ.n݊bl892nex㌺˜yW>W{8PnQFu^&)sMRU@ltFRr}=y3YnWr@GG~9s=VۭlYv)Nrx̟l`'9L: 7p:dyk,\4QvKؼc9 {uiЛbTn9_9~UzݜXF0Gr=G*܄8vo3*qPT<1C#bH@~=3 /il(ȑ+H۰d>]  WN`٭;rdf+z yLeīFdxȇpa>UA[]9 y;sJڲ:eʳ2Kp==W9- 10,շ)pFCv<㞞OK[RQ`mrVR9L2.ӂD=#FI| ˌV6dl1IN̎ONZr؈?ytYMi#eVh*V1ֹT #&"T;WIG\v $sPs:dG$қӐ0{@F=OzFr=y# Pgnr=[GlsM%O\9,2ܰ-S$u?{=һ >`>_v瞭9ϥlɇR_s a2nֲ͏6p7K#[<QQ$Y*639^3.P 9C*(қMB4*0\;ٴ''jں-|GlⶌRF5-6h21dیCX3jR0[WN9 y<u++*arKsyM/bIeۅ-w'x>q[6z5v,AA\iz\RKgWlYSA6)L$1ap<޺TUR0DAhQǮ=Σ~mcC!Tx@ U}?:I?|!߼˴4NrI!޼l9݁$fRFAk=8KIvD2ʕI&j5K!gEf`3ngtK .R`ʨOqAӁ[ɷ :Ӄ&Uk۞{xاQ 'pGҸm 6 U) ϯ)˞+&df~S 8c'ڐ8=ÃПsYZN`g$? dQ(lgP0")mN8=pOM.KrBY@t>S0Y88]J0Sv3Vm{;KbyAT5N՗,1/'wяNM}eCԔ&S#F <񎜎?YE% Ϡ5ɍIYf*Qs?gQKø?iwz'3׵|[rC?tu ޘ$*dL>綧Dv.0 2>& cqc=yz!}FOO{c?*"X׌P?_/88jprw?N:18q?ҕc}w|U[Aztc}j9~ݪ Dmdt'898*'>9G7=3QC޿u}rsL;.'q$`'M90y}:WZߺfgh8QFy 3ӁHps!Kk}M;~s\ڑn>lGpuIƿ(G6Ad~e?l;yrսr@-ES,1NxmIyj;~WGs c;?+Bx>ct(KP~¤m_[q$ח=߫=:{D.$,̻@e' !HSVwؔe@s`֙OLTF+uʌ8G`{sX2(p1pvӵ1 #*wSteH*[EǯȰgqrO*>Vv 'g{(Z}A;F"eX ^I;7^xt"OǓ9RI79'C%l9hLt 0<.8ֳn$x’Fc98$ZŠXN 07N=GZ.Kn$ϹW%z̧XaqG01wx6qn=\r:#vW3Lsӵ4AF8,09=}E$Gs܌S6(ʮY _,098wy*HbY?J[@W#z##qҹ$eK«fN;׮Mdꟙ~,c0͂Wp /m.ܧ٠d8P %sŸ-oK[O[@''OCAs J<: +МsǯS56Lgz^އsINiL}yoƔc?l={sN=SI?L^)zKcG=SOuޜ>ҙ;YHa\>^3cՓ- :zzA:Od}m鎽1YФ0:zQzs%!1QxGLC~=3߭7OL=u{c>US=}?’M~1L=q֡0duwϧj1ן\t? ӓ;3\q܊?=㎹mc3֬)[guǀ?^SZŸ^9݂sug߷Z[:#U9bO@>pOa^N==jBGgZIݕt?.;u8A#1=OC#DH9ڭ#S% >{{cۑL`8wK'Cیs߮1W?~IQr2˜c g=׭w֧/2A3Žھ)|ftYzK3cnӒFa[kwҸ,Fќǡ{Ӆӟ)Ci-x`v0ҚP| ~y<}ްLگ!1Sn_ҭ$ ǿ5* >uO^19P8>ǥF|ɵWe]V<wF:/Cm] B )K@P\U<.rw^N`Fs]VpWf/.8w#rFkVL琈FB`go=s^kE|{r`GB$A$=9G l=oY*jUVm`7\$v鞝)ë6Կbe6 UXPNB,'v88!Aq#֜*DG)9sS>U'p&=c hmc 8ڸp/zk8pPFW^Oq#Km77t{a#\3ub{cz֘ =N ڤr3WZ#eE}v I{ׄ]F^@ g =b-eGI I$`;n86Pێ;ךյ=#IUvsˁN#)[s .8RտL}8Ub<ÎK(!@98l~|v~`:Cԑj}+2Sѵs:fv76KV瑷tb'Ge% H:-H gyan@f!\A"XP*gIA]zN#sT)$a r<$ c@kzjO^8Ж2>r~I826cP==Ohef(0$nN}ǧ~'qFR[U =\N:擆ل=ӎ:W-mYd["@,vBZ;N׮[HVN^ncrjc8bOSϡ㊙nEH3n~B=I@9rݾlvČo+۞Tj jx~fXgLc~N8۸qTl2< (|Ғ#\Gbs/\|uarTiOHDos8b`!Z?ݒS-f,nm..MƎAv8'0h:q1P$'>k:vwGvF0@ `'\ryqW=,$% ɐ]d *Cm 9]3hY6<ɍ323trH~^k8L Ṳ}3끫|}%ļHg9 eI 簯}-eF8͸b$Ay,;VX)7ן_Ir"F˱baE#AqYN13+j}-N+1ձgja.zsǪ|p8\g~EM۱d'+&yqcB'AߞҎ}A3jԓLh O&LMǯ8뻂pNA%8pO Z?zҫ#\q\>`}ߘo]$q$zdTx'=8?ʋs'=8Ϟ`J;" ~cz@r~Rc?g{E'N#dqe >ӿ^5KD=s8(89ǷTmXH׮3#Do֘@~=?N)2u8?=3㏙z<aONO'D#>ʚ@>v?ç^79pp1A,^_ʤ=qsUCnrz<i=Adm.睼>EUFqں)rգUh;Havx2)c#ۊhz]q:*o 3FyT{FI=yl^3Z[c'1B1yoM9d/pqls.q|INT ܫ^OKS%Xn`rcϨj2Zmø9=;'޸e'W N6<ҼjIxf,nc3#ZĞBF>a63 1U# G lFw{S%"37u;N9`zU/Щ&f@'`>B7rI~j;8L:2 h·8X}:ֶb*qNDgh)X`_ci9>Ti֮mkk~"FѰN2pF+ ks3vX(+:/]"dC # 89KICSWR>_`sr)1Ib:>z' |%AvqNj*NĐ>`@㎔1ymd\vmcxoDl*0pCcyUۜ~ުǘ\SVjBl|zL,m U89ӵg=ˎ:(ߝȅC`[s:dm'?xnc98<})=`^*z+`qt[,P0'=?|a YtK'jSԊ@xi'^Dsn@2NʹI^t {vAcS[st#CQ8'/=1s3y <),Oq{8~W>c,d'1+8z5Y2i;3Q kZ#ћtf9@9UP>t'bL>FXF3ⴎeA| w qҪHH;FXg zl U\1nfOOr@ǭRA2 .=Fr})QnfPT;bŒHI85.f!ՙfVG9!}F#UsXح7lbXwz8JfYʺ dgR4CjcIIBcd}J.$ v9Unx9QF# >n'w 3Jwp}1֟}[X{yͱNPn'wL¶RD>*Ǟ %U{k4^4x0<mAK+8#jd79HTlHFqIwB=C1`e%L Bl܅ w= >%$~ܐwU`˯+qS$i' 'k$sZBABwsMTWHH#! 0Xzd\E Ho2>vnMUN?k'di ǜo;Xc_iX9@TWo"kr&ĕc39CNH5l^pç>J a~\¸^ʌzqiY,dy=7)UQ8-N}{*ʑ70nS{RB[FbsW:֬Gk.UN Wa8={qD-" v)n 7NԌ:US xGcY-^r0}(IwPO|TьIأ;YNI8+H6t:TNἁ vfzp;#/f{ﶰs1Gaq_Eiw%|g8\䓌qھG8Gw}A1u?FX9jS=&+s8 ?TEq݃9?Ns.㷑Y~GGPgnyܵ-"JR ZVb*j1/.>Cn`2p{أq^)H79I%効X|o)t?Ze@0U X+(W?9ҽH&칟c},H"|tA+ lc^9}4cu2ond¹Lm3C 랽IEj1dY1h@w=3":#*8%AYcyZtϳˎ4a#8)\{ִݙ]'9K"SNHy`֓DqGwq3v^b˥_bxdN]iee=k#o2cڤ+Nޣ YMZ0#gvNagд#c`F77f\rWl`FwoFr~~uĝXdޡNGkErհ]A;T͌+*1ys"կ*P^#ި3v#JѼTR@O<^%~F~oL q^}}`_c(*T3҉ɛaU܊+k7>^['g?7G#HIyO@n0zQ;$07 cjf1Υ+0|I]}pJOp,NB“< gl$}I/pFR=Zơ 0NA9JImnVlд*uPvCtN)R5\ d@ "ci<Ԯ+)Xlprի7ۃCc~lvٽFpo|d˅ؐQqQKbx1#'%}xl9p+y"QyEn0?Ќ{Z3/бFtP.Ջ ۄHFvb{p@"GaoyN29o ;ycOjd0Bգ%W4v劑${|0ٳ0 |gB;#6mFC#=|e6$A}8` 1J~?{j];GQ( f@vEaޡ<.Nw90:{Qap*w0ýlY\L>I2 ?OA}hKR[֑3['ˌWӂ{VH@͜AQ5%k"$?(*(p-U%Y1'9V+;rFrB8Z-C O0@Sf`ynӎ{gieڴfP`A ʙں{k$q Ֆ<6iA(w1_zˡnit# 5:ID(2H +/lmd= e L*'5mm>f}OBf0s2;jOLx;v791῞;STm=ϋ` B.F2ƼWXe$4I*)}n4τYxgDŶ.w+ dێAO"  ѹ2Gt6s طLj)! 9>ZF D|ޕˏ%*oUsNP\| $s?Tj3[u&$($`Z3ߜR7fG,UH+1v2`@88u֮ yI8BTr1R9U-.=<6qp b[=p}1Z ?vUm̅F3קZvFn)Py;(zhW@ !Y:p]!r02`[p!x#y^ɵG1G\ףif&w=WJ{|۹W/<Ow½Tz7VɄw T|_&d8ؿ6TtqS~xJ,tk>kܣlamp3w\{u&?0' ` B^l|-_iNB w9n3Q=Vq2BQxϮ}rafRF5 "r3 XObIn6 7qWOsǛq%cnI'܁7^1ldA~O]k=x;3j[Pgp*TX].0Œ0sW_x`p0b nў:ul[H+ w|;,d&Fw {F}뤝lR4 Et}8{Vz>)Rw>^-_n P+ qڹ'~Bp $F$`Gry1S[oHuu-8?fGR3/?\bFY X\{#_z0#9ADU9?tG,lorNM, sR3tD`0I#=8*c X6R3ہq iG#g>+n`B屻`׌㌟nõdKzg ʃ>s5/r4:%\aT?(9$6\39<,3?ZDƦK:Vv \6!VhH*Hx&A߀F8={Q;n9ۥiԒ/n' lgc?7 8#ۧJZcp'og8ZzBaCc-g-btVDS+|+\HSpD-o Rp6,l>QOeDbT!}?0FxQֽgD>  W]֋_̏^,@>`QIt tV? ~GդכAR[;?{S׾( F~F~FN~=h`?22z:9`s׵#9c9#2:'Ly=O$)"9`z1Q[h#'!= 3硠bqOP2{Nr*aFF@=f xp3{jG;A;vpO+y< IP[o^w`d`=e9tQgp.OJ@n*Ò= 36 yr>/~sq׌gvp˕Fyss_5f %9# c9jls}ǿoRls~s@3Ǿ>f)zcI`@OA cl?Gp%\c*N@@ yb#NsECRvs#lv'ҥ⛁׎zVM}qQހ;>ȽuN:t88lz`)cn;qDݰN~n=Ң[+۩9Oc=1I ~cFg={CcDDr>cl`t>pyH$}* viXݩ AV6MuI<.|ElyWyډ[M|2?f%( @1G5_ONTI3Z#OcXdY I#*1C sUeX6xsnH9]ku8c.N21G\q5iHܜ9qcyZi~ u6^PvGѹNrA`T m=pߟ9l\w41<zt#we q_$޳ZGso+a~ Q>q*xc^M;jc ?uk>` I++9տ&͋@X#ےӞk5hM]\mݞ9RzzWV&޷s$'•Px%['뚡Ўr$2FOx%ax rKZrqsZQn|?{NqJ2p~R9RA_J , e+xy*!s`#ӞxSTex-m9<5sl1=%#qu;.(^Ѥr<`PeZ3i-}b܆81BrɍP11ץT5 4(KaX7+OQϭMi6a$68f0/y䞕+a3CWѮt] "1W_mÞk3RuDɝۡ YH#ڪ*3gIT{H.%i7R Q;kq2@oᕔ(fYQnĊIC vD;BL%(pHNcMiz2Y,"g\kp#Y@N3ީÒh;d7Bz }k\i:aX'76Ān Z/#Q[~$cU!I>|ۍ} $D8> BOO^ZɭMT2Rӏc~OR!ua8㧷9x'ژ y pU8@as Fi'HTO?:vN:ϡnH1Srs/OSg1V~<'8c=WO2F};ԡ}:d "OMĞ1;SA#B8cn'9=zt~Ds{ޓ+̛S_Aی{z;<r=s֦Ğr9y]X۞zs>Ԇ4CӨ:pOST8:dQT${8sP}3Ԁ_jw cNO5 ۧ=x"ddds:΢y4u8F0 }O28Uy|8NpAN9G#L]EyNy?>Τ=?N)tԖ118G͔l]H,~tVJfN=@ރ9LAS?t9S׶=q]хǗR}pFHE'ӟ^jQ*Hy%yӜJӔǜfO<~`ny#dg8:s9ua)h]Bw vqdXݹgNvE'eT i+Nr3y)G#}+:u4z]ss$aI;s4s7/Jrՙr TٰQB/i^cvI8R:)uw3ڴVٞ9(azqtZxcFG2mm!kj1lDiމ3m' @-z׳K~`>n:xXvH)-v#(8|~Ak&ʮܓ@p~'8(Fv}9N7sSƛOIT~]|viw rV!"o(+B;}@~k Ѷǐ`6 3):-\F:w=3ԓA8鑎՛d=u(>@;c$8`vy#SFJ=YIA\ nLa?1\\paLosί2 Op+q%UTȹe9S[F "|qؓߓz&!!‚eM9<b=)t#O1=3^߹K=8s;c›N9'0z98ӵ{1A$>U8tgO8չvLNz?=FrS?JvD-8zqQ{b@錀y}zU-Пzdv5) 9 sH.8n&b?w8l~Ənff/s7ǖ\ ?V`cdpB`y 9czwHc?xSN-wixg$2N;+|1gݓ2̹\ghϷֵR$U C aؼNrc5<\$J7|+.5Vk+.S*X?r,P ӊBW8rN>S9A1)g<08c#9 [Vc 4d {~4Оc=Oʊ0WH懸s``oR;q҆7B 1pN5]2B|m89ϥm#|xC-%$V%vG1WbN1);s)O'CX;Jm9#>VvaT˶Fec3TkIKB]GbNFOz}zw> F.2N}BU0TQDI/ mH<}3T&(%$^ONsYJcEB1{lerg(lЕgUK{!fCAn7'ۧJ/t4D2QHArO nTu4,̊ .Q s\~bݰ4hd*!waA㞼Nn*zH~n$UH{Ғ6RW8P .UB>k][GGnLmFXee Sǯe)ZWF` ,XN'⥚Yd2[ T>ӌ4qWb2& +W,2\@]Y9)F z8$j"FМ1%߷JWmϒS!#nT_Bmbu]P͝_OCۯQR-D#)ˠ! MD.q\3~EO,sV6GS94\\O2r?peVit9$Ү$3,nFX+ `gw+\|C1r:OkF7,|r2y ,TZ zU&0C`` pە# *2ry;˘ؓnArx_rW rbA9i-^7ɸi>Qdg9+3@;ګ@f$bˠ<992g))HC[˸H[oMl,x' 9YVs<3DWqFcpy4\9DFa#jWYNszJ6ncuz ^ןJb6t 3ڝuD;sE+ (#d`.ҞǑ[=\|8P8aAJ\K`9=j \{ޡ bO?tNr?‶Dm͞NTtQぜG\}j$V`w/#-ߌ@~e _8בT&  $;0l,<9@zsBgB8WL8Kv9oqGUc*"ۆ˷OWsӎoG&Lfm*psNj`8 Χ(~ozT\O-T|<`E'q d㟗 )ʀ2J-ŽrA>~C@ˌ 1q<:Z8 `cgۏH ! =:Mt1Y䏙t8`⇩Jyq|i'yH:T Ah9'1ҡ"p.bq@<<~U& xA'Ҫ#f݌JW$\C%FzvEWʨ ؼva^6$\Rnsq_EhO9km?_s4z?09#q?'q9#:¾KȼӒG=@4^yx6Ƣ09IdAXncpQӥ'= HŸ8ݐʭ鏘W\3 :.I; wQG7Joo=H?ÜcU~f=GA`0 Kn*9If% 9 >Gؤn;$sϦG)CD8ĕpr{>M;HzFqzg{X(jx-I4ς?L6^sk4m4T' H s뎜c_O;]nW{ݪ3q){  }i6x|ҹppGB}:vyjgA#^Dv@n ǿn;Q^+[?3q'Ln>_3F ̴ue gJ%}rDR!AfxT 1d~qjqa?ZZWܯ#Aʱs @lfQCe-F]pۏڙ s]§W;Y<ӃYo$hG|<+E,Hv-G?:p!$m׸N9FBg$6T-x׷apzWid2 | ~ȭ:\/ܿy9HB/UVgach%ҡa+ރF-Clʩ˒<>FV\鰧p$OrA꣧#kM];E^6WV[YZ 39\ܾ9/-0p9rZs󳎙^#hxOM7:֟ast=Z8a+"F A7<dWƬ[NstuPb8_K+|J\$ QHl|꯵XFN{tY]7tzpvZkbRCXl7CºHa\|1+@\lg58s>ږcR) X.w1=8'>vtfJۻupI+޵ԚT2xK[y%6I<ۿtpAzT<_|\m|$uU곅~oFöIR=km Aڛv,#&P>E؜`Fpqqrk4wE;.8=y 8#qn䍜I, (qqߧB3fwiF:SXgP1KG>X*{C{oeaȏ# r3 qzo|1I=Q-nde+HՀl"ZRNrJko#qA"Sd]$ʠB<@lESR/9Cc$n^K+ {Vīt!!qA9Nvp.00r# <1Vs/bqq:BUn_X;qT-pY@]^[<jВKS†EUA$sF;].NqhS sy!xiu9o%YH%PLI*aBng*dž5m[IpŊ"@9v=[c'޾zoQy۬M3Uls9 rAo'sq*6/e},=^G;?|h8MR=:uOJ'o_Ρ\2GL>^ة@'P:~Ϧ{d}j?یc_Ɠ?O|}^X9?Zbu8= :51hD :`g}{?Z:1ߧsZo8(\aUҿAz9Tdw?Aڄ!=s׷=8j#|5-lQA~3Ct8>1۞>HI <)B3sצ=i)hF=9@jAs\Â{w1,&85aO&sE1lxzP1ȲƁsB#0:;|zO&}&3e:#~FI%zNOm`ɷx73:Ґghs#2*@M0{;R:g/ayq1~Aیsӎzͻ1}:ǂ?ƛzw4'Fq})>з -HqsO]L6ǘ+P;_6%뎇'޹k˅7!YF#3[ߑx¥02^7צ+(5ԓOyR#\GsI潬*~瑈5KvL#v$rꪸ8R~U'ڱ&dխtin = WtC{T ׏dn"X$/7*I@T)mCO3HĹrHN*=ys_"X KV+CO-$edȲeXOzסη&q3*Ir0A=pF{UXbTaf=QKsB}SВ8:W9 ǖ *2 vҲf 7 :FqS r8!pHDV~iIekЭC{.q<}{x5''͕@;ݸ'w3ֈ B~>Xr ]գzoќ:WxQl g$<8ǵW$1nB^켶G9s@1͞둵yr9橇_lq3!H 8lדZL6$`B}j>K?M$dm}'J"dJ0H-9Yz~^樉,,K&42:* vAFWjr1G5GsƮvh&9<6I \ֱP" X;}+Zɣ  FJL*ŝ0E `ՃTⵛ9-e6TIݐ\}T<;|ʃiy?>9<$_xl8짨rqV#eS݌W$=5T@<ة#m$1sqTW2R$''Yid(;Ywpp}ҲQ3*v,\YHsX7.dpwJ9ڢ+[-l˲E 4*HןzЀP}:Vؓ0XĈ2.0?_@5cNt&eeQKd鎵UxJ a!s_j/3QK{sImo"2#X|8?pm6SLvVPK ̒䓜y ׳|;y@90xR=kt4G&>%RrXr;cTx9$q^5)oEl`ǧCީ=x9曱{ܩ91 *}+5 gyϵeͱЙ\p>#(c*aaNx qy=Q0{: R?w2?OƤINrzy[HϜ6[ s@?7٘Ws*Ԏaglg88fS(x33=9㞝:n0v`s?OLBw'1Hǡ}Cӓ: xөߓ(P :ӱC{pOoN}*i<B34W8zcޢNG,1o@cN \rs׶?߱Q3&_$g< cc8:f=I99 $9\;%(<;d?$lL"g܎6vz`z<*ĎFqN3ֽS\cŝ{^Fpx9;a? U,c8 x};Z5c>mgwԟv8'M' Өʌ' @~ư6ۏJɌI) ([d)$ufvnOLsYꛃ@$⚍vyơ;"0*il|JI+ #/˷;xǝvݕ8p@p3;DFlgI+Vfp˒gj$‰n{>[y;ĹgeVi;@r#"(\]ŕvNO|˵ 3,rn@=zV`m#2@fO*@K8*wE5Nwxs-n )YXggЎͣf͛ug*  ;z֬V]E#*yǨڅ x,\8`Wv@;A%"@VaqیN`zUyކB[P68 N,6 xG `OS N4vx /;Sϱz/#r 9p15vvzOfq$cܷ9?)27chV_#';~lg8;p~kSKÏYN39p3ޓOCZQ#i 3j_9}hkp#`dGn@!J\18GopǨ1G\#ק)O9O_j:$'q9$rZ]En . 988M' !yazb'w##lF,pi7c|e,BG4R>L(3=碐dQRY׏.>X,pbiH步WHݒ6zqS ۼPϴu*?}{y#=Y)>hpr͍z(9Hy[2Ibskס`%FNF$u=2hx*eU kHO|I'ˌ1)F}mSwZ,|Tg)QNs{Nyٸ8\'N?4-Д0`s?eޥ|BY}c71è©PGJ8nF@1 |ȭ1]?B󳂞bH`gq1ZUgL,y ]Ğv#MMka{Rʡ `UPsWcI$El@B3U]v| J4b޸EY5KTˆ8'vs2ECٱPi8zF9:ZDeQ]:dUQ{sYF #Us1x6°jn $d~g#oQ˪;X cb\Lrr5;YGa#םow=,<mbݰ&{] ЩC x*\(Ö-@`dv\r׮zz֕B/ƣ'\3r8[pN;z&N׶:u^):T889=y?44+I' qST$9\mpx Өp{VdH$FO8WZ`ߺNrzW3rRW~[yA+P~g,ރۆR{%OR>OZ(>ZPhv9g&NI,˷Ӄ6z]pR Q!Wp~jNP'sA(ykxTRs7ivp 4ߴ 'm=u{\7bvC |;g#|Ƨ$(H =G~)$Rs?P J:r<t `Gr2HsUdpd ,YX899HrH"g bv`}{LUDܠmT/y$*łll7<4ɷsN98\(W'99I?fEr  {tI*|2FOdSN5q6@PvO=d˻]<3r <%0#9yS~}1B(f֩>CP%Kϴ/;`Uv?LUGs&r 9^hOAR ] V'"K?aP(xA Ts{{"UTn$9\p}\C)M2cIAǽl_3oH19ʖ)9Vb;`ʘ W ;}ƀ-hSqKgw 8;O}Z1 HW  9<}+f4QZ$ͼ(F wc\IA@n:dW;6{\=|λwnO@:U/7:qߵ&ʆb.o1 ={i0S؃?zqCRxV.YT za0bW@;[su9RB`*FnjSR2&2#;yےqVvAȾX\$Ğ=8E4 v$F3ʚ{!<6ˀ g`F gwO֩CH$Fxm9\sғzP9%'9NsUqᓜ}r> O:Ŗ`QdQ i myߌO4LǷnr@QKm=كB,l`JD`6b``ÿlusgpw.O'ݩ`(;3? y\Q19<҄ɰ" ̸-O@Nz C@ W9R|<$cӊd1YNFqS}:_sGOCGpՑewpx@8~<\v f@=:sڂz?g$=28 FspAN a*Fb@$gd v;h0ۀr>S6s$ tUB댜8'<> aҮ$@ࠁ zR0#^ps׿Uʒyg8#gҥ8+WzhD-m)N=e98c;ZN>`1m\1&= Z Pd1$;1l0Q#fqZW,6SrRX7#`K%wcb!rT@SprqN@<NhE- I#q)\$v' $._~n9<6Sf(d Ȼʤ k~;K.ݹE3E*3ȮV1 ONOc>2Y8W ╵`@>[RFm0c#B2rd'Z߷ɱ؁ |Xv(,g6wpGAMc7/ݵ,j(;Ald׏ƽ+H'V2 '@k{J2ՁjixyB~>٬W$psH#++t}57{z$`1?_U49\[B1-ZƒvJI$ǵ$ZG/suxa1߽p7|vs[TZj5'ʏ=/:1+̇y8vH?.:r8?Z-%xݳ"0bF>|p= qwCGr89 zgo8dm8b#$QߧuPId8=cls NKHkJ=MrYm^t4)w&T$n q_]B%|:hGӶ;IA =Rt;W<O>W7m}pOc~5TEkdrYFUwTXGN=(Y cgrq:zcJ@ ї"[98ocǽI]v;r'q dڻK8L22X08MlsZ|F8;6s+@p`r8'=V>G%y]χd}'ϩII 4A)mH,<:Wa[^AܻpVR\sć( |m%+ɭM-x =lP*ʱܽ0~e$B#g)[1j̅+I+BXcːrcC[%r8xUvrkN[1G(avqqj{!?$o%|\"H ddf8dpGkZ_ $er%usQє'ksˁ#(# spp\nOc-q|(Lnx Č.W ڝn.HC*qQZ)˅EBϸ3K#wJ$ έE?'R*Tx f=~sך_EDh!5,hqQŝ;} 8WڳSs mTYܽ9boPJ|QHnX85eqtPȁ %c !}lv&9Uԁ)䑟aT<$luD S 2Wqz[uLwK lg`:T$RGӹ>iizg97'+֭ؒ61$rTd|PI41ctt[:nc!`0c%:szPķ0,1*% '=jϐjX%a~c+"R9Kgv P6}3WT֊G?h6ﮭ-@ uR#+pPu<ǽ7v`F;2=9Jzʷ6Ed6rs#s1#PN@by'zV.T*,aM2mæ ;UX,o~l0{׊5:/t y$ nʰoNsK-kلC?y@:t*%&Ul+[+{FTr1Uʞkn[#D G̫ f7#ɶ<ƒ၏.|۳gՊhŎ>cSUNߜ^͊Ѵrca'$U{GM쎱 pcޅDE|6X8ڣyykMq28m.^\n](_;܀(ܻ7<q^c&%\0 .27\{Y4}:SI+}h%"Qcn8lR rrw}*girSf&(@ WH^Y:d<LҹpX3J~; u d=?Aך#  霎k+B(~fB[v9mS`rX p}ЎkrWmYWinXc\{tG㑎֪;&;u=Pr{ 2sב$/8-v.z\zVO~qf%wszt#3-pp `$z p,ZH+VmDX6O=U-Է#i.q1VvR/ ur22{Vp@ߥ;#&V-|6y@B94ʏFU\>c'h@Gu^8z^=zvH΢YZ1q]N'}ۃ+&;)G;m{==*}R.a>J~d-`WvM`7~R>gǵ|tH'HNɏuλUZP{O2۟A={Zt*pN1xOG}UH$!f<bԆxޥ۶9>a}Y1Đv7QV(^^֎&#~^ q8{_N?| Ǹ{L>VLdc)*ncqR6q cU]|#lX݉lAT)$38#9lG-s=xlM-W >V8zF3淣9\m+I|%[s~W=43??\SA~caƚN;Z'{Pçn IsŽ1JcI$zcq:{ qLC:~3?'ڧ'㎃1:S_2e{`pwgV?/|?}v1#XssUSqV{>J;9 u<6߅laga3ЎfB b2y7^D)oT?NOJy7D2Łt ^4yy;2sI8֕rH=3#c#3Xl\p_W,>DWkRr3#0 }=떧S:S 3-@v]00O on;L4=%RsO c1Ҹ$PYHÔf^9{3}}wn kǀ]@Eo`{v\}xK ̪C9 Uqv⼊{Gy r@@s䎁#\osnx<u9DHݸa`LH~LX` q?\F2@U-[Xs9] ` g<4-{^lcsk-R\ ciC $Ua܌[ pJ\C$A"_ܑ8(m99n8׌OdHL{w p3֠CPX*8k'bjxv FCs,"H`|s*0IehVbbCWo?/pFrGJa[tCLb9C+dWxnd\hd-:~w7:}NTRۨo~ǹ<Dq͑#s^:7cqcCHѱuI=ApÕ-o1w ݹ|pwp~)h2tWA<>@爳e'5遚I@ uf$B `Y3h=**.8akN:)! syҼdlOS;C?f.m'62Kmus\(>L9$8_QF(1 E)LzzrYy+wgpx1' /<%o9q<@~92*@rxFLnjm㎙Lg?Lt&>UxG@4 ?+ܩ*_ h݉'9Vr8nx~\wd*@ v!H$8=3p:|P7qC'Rq{OALӞ@ߔӊ'"C-Q\`trO ry$ۥW+bzqڣH%W#tq]0\ l7@'kr8OHib;nBW8qcVQn#@L9Vouv*2|r:gd6ҿum Gr=:s\댴ꭦؠ{c>uF=1^.#̝gk+=*󁻟NZrqZ|M'Jm>JjqpO^u^A?\Jӿ?Q}2}LDN?jiVϷ d#'a'G~1L:┆Ǟq?=93Sېu\}*^3dGNGb~P'~@sߟoax9iOn08:Hn8{4w秮?za^=;p8=97sqziztǡnh?zU-@0>7|ڗQc=?h`A:q'ߝ g샩3bpF3^d8Wn^_2Ovt=⾎DGw=6rLnW# yǧOJhcsHs9Lg0$g rx=0U G:~T$EG@}@ds{Iv%Շ2:NxOc-Ht=N:`09>69jͽblœgu&zOr;g'&nElKr>cZ(MJ̫U)>OnDn0bH9jشvQܻTdp q_{UH9Η}tj@ FV<TOkI;Y < ?ƾ|Yjswq#,d0*yzcsEpAJ8 xJm\JROXm`[׹W;AE8gVn6gD&-w!d+Z2 1ܙ.峐8Lb8$_GqOߜ9w )'?)xj/iceI*ۆ,3޻{FkymojgF )}zq\9?q{S5,Fгsp6wpFF01u>;UP=Nq3|ZϯoFyGKX`pη2fI(랜 &&`vdA 9tj(DetR~AhJ*}܃3\퐟h }~bfu yvFǀ<ֱ䕂3(IHۆF8<⺣ާ_>K;OZ5bK2Y#\nA;c\I;Q0슑  ޘI&BKR9 :@O4?7B9=>D~q9wNSߊ ~F@b199?J7CN(rGtB~Q=+Vb +ÃbNE,6,{۵q Ӧk[evbq5Gi!mA+g?2B8ZSʛe}ѫ|>z Fެ.KFPUC%u}AHzwx'#`Ay*5V"qQm#,2ޤp11YbG͸Go<.G$c=q֙72\A H܌}sޝ2sONO'R/V"H9lu* Bzq0jAO}1Ufvsp c_Jm"?!3u 68=Ozb㱍2C? [H8u.6f3qz|\SE](R O iphL~Ego̾mlpd`Ue+v/)2J<̮YA/>"(a{ qu'Ӛv!8Ǟ7v&w#=p{&.Tm; d' >QؙnPs 68'O[ȁwV m)~fyF݈]OLП+. G d㎝>FMY+i%kvP.ande*} {'י@gbX8I6 n/Z)/lǓn&2Bě#[> մxdIбh01r851v)Eu+}"M5t侼.csKue_lAf2g @-hZmz|ޞH䈂vdR `}ݳK:㌞VFap=8* c} y$vGˏM}W69p=9'ۯ4}^FNpFNF1iZi{:TFqztGLKSZp#I~ܖ,^3ޝ+-c; z?A :9 $l7\Ҕ=FAP8aM5NF{g>?'߿w#1sGҐ.rqǥHG>z'w=\=@81ǯ^U \+ny_ #Ny[r3̻@RF̼;¯E$PLe8 x8ڦq5+ܪ%ϓ3MV&8F vT-9L ǘVI'-뺜Y%3ԯIv0Ym0Uv^h0tڷ7 o qd6r+!n1<&anP!w n8_ Ќsz*˒0 pAqlm}J`:qZKT>f#'1n9 Ml CEY0D~MT.A}R@_2$df"=\խ# =)1-y݀sN@߿V6qm?)_nDN7P9l+tI<ps[" iآ!$+SnsÚRѮmᐺK`oh n&G%3H{p$SXreuƻ76NZfa mAR@|nOqҴ-P(YIC,qNw--L x?>:`{Wq >xN &7s $TЮ1,x#iR=EzrGr8+Nzu>_u/#U.9<ۜ zP_Kgӧ'']!Ryz񎇩i #9 Jù/'#' fycihU8RzO8=p : [8랄Zq#$dqykM38Plm\VַseG eF6={96<`8\)OȚꦿycz{<JG@!cRFlq ..YoRIі|;)9=k(+%>rKXͼsb1c;"=XF?)>$l)zLCb@fG2p8 sy)*2P7r i-50쥔I7* +9'q*.A%9#8rh+TĒr ;LM܀'_],' 2b#I`~ӵrG ;r0n2@ *SB7w֨ jhqʎCyۋ2sҴ`V_y `cZow6W%A~\8>i*zF@NHڤ\v%0eVi%ӠB{; "20brJ+?"0C`*2S2#4o%zf4!`Rs$Dʣ9@e@ ;nl;p8ց iH_-FqqV; 3HNfu"2s2A#L2ʩ0>g۞I|qRwQEV<Z#_G6U3|py8^9WNNy4"@lq ӜV^fzc+\0/A8ԻFG88\sb"@< <͡PpKw>PܓzuL{ '@ڴgSy. Xs 0KUOruZ6*X ('9 9 U7m$ ̠u'3ݚLnXp 3 ~cUiXnU7g 8: >DU[فi/1&q rv'n7Cm<A>5KI6֛ܥ L e;8=xR+ 6Ilҍx'gS4ІrGFvϮ(,^8A3M(?1;A8V*zsRz}ʗ@"d;Llzx@7BrF 9$@$ϵ?qۜc׮@8v:`ʁ01АI#{))=)n 2$2S=ǯZsqձU\Fi!sr0:=眀G8{('  *[9# Ў탁9rzrGCR3zS[z:*F` y䑖8>xyPסe9b yˌ 9Sʱӯ@rTaI9;z \q9% sqH~Ep'玽1-Ȉi2~\lvI,>VQb3VmG<7^}iUAq8ǵ h ʱ'?<\ x< !vcq|ܖی۹~W9Ө$*d.ܹH=T^ie>e\|ІId1Qnr2aXpHn0] qӓsZ`69ˍăА!$m'pc#{ՕC1S)Ǧӑ~iQIdi$sA$wo;O ؤ0fOF:9ugMk 09%XO7/*~^=3]e1((]ST0x v}r1T吪Б qʾ.Vr7>cQ\=Źn o^3jy{.pHn7呞YiOF6ԎGMvfE s {q_Cv_H*1˧z0K[=M0H t c ޼*~ # `N{q!HQ8u%dxx0UK#1_4 /݅>1m=M:bg\pX# Uӎy`vzz%m Фdq<T,2B䢷+Lsޮ;ۨˉg Fwx8"wHgh>nV+C𱃖eV;3k GH\."wp?)!FIzW[YJ~[2JebS98V0@XwvZ}YZJ uU܂;VU(_B2o+u<UQHɓ'ۡp!Y's*O Aj)ж[Tg'%z1J0n둜R1Y2$T9UsP;w+F=z)b t!dzǧ\[nʹby=zک cFmHT܎@ٌc i %}B_,sCDoe %2rUpz~5& A^Yt.O?M.*N켚:o9B@sִ>"IO=Ieh(qA#\P|GF׺,oa"KbFǃU@֬eZ1 9r.ekY'N9p/cq06Csy}fR,2z޲V1R ;n@ڹ0^o+ '].[]L9[930& \jHiW%hg"ooRW)`{d?5BK9<p2pGAnCtSw2Cr 8;L֔m'#?Jx [,;aӨS0l*o7z7lw|zicjF8)c3=i[A9>la0ASO^o~_1RD~V=s)EwspTE0w1z=yqxD8_Ϟaܱ@%R0jHIHÒ2 ,9{QԳ'A#RNOP0Nyt">aaxq׊aT#i76HR{Hɷ[p9׶*rR V\M S%BF79Aq޳v(c1lG@3O)vuɐ OB@wv:څ-<rf+!}q[.~.lJ* E1sNkO I}IHFc$HP[9֜_}0h^]61#As$hdRUI?(`9nÅ2 6힕5NKaTv7tfNoV'0Ťf'JZ\1Z4=wCAh&o\ĥCAtf M{ǕysDVf/"aN\)#<{ aRfџ/ͱghEO? žNg-ɛg_ٵi[{3ዻ}ZUl#zb܅n᷶1gIaqʨst?~5mU0nS/X,M38Osb?'^F=9*]fFһؓx( nꤞTZ͖ sOeg{$wS`y2#BAc3vmԥ(!t# ^EA W3풁>Xq7ByNH6c~цq}fѤfm|Kjpi$bbcT؟"OQԟJe]BKF up.ң=[ñhhX~$Q9b]㸯e]/O͟¤(`O@HEVёQc4_M0-|j{{%#q\+ `#9J .V3ʤ,[P.PF99 GȞ Ba$~@y81^)}Kan%RGA듊*Z%CFYXAad:AbcNrLW.:~Ν8Hջl1@dÒqv|\N W!q/+l6ܥsGLBϥdgHÒQ=Z.]9e`r 9z.^g&6j̩O@ׂ=U[1Kz t9>WXe#ax'!zzY}XN0:;]@w`.z#rO0e^EZ5Alz1RGyBH\9fp~bA$# }z[Nܜq8??ӷz#iŲd`ey 珘{+Ԭc a|zS㔬v"*g9{cEj9WQp+6ˡO0C>&:gGZ @'^֚`NHeg97wS!uT|9 qZ2>v׌}kj{-l[#Ls 휍8ǿνzQbcy3}OqcdVSJ7Gr=>Osn:z⥕'9rԫ'l18-nlڱ Rs 8 \W]iuhF$68zW x&FV;Kw`0IwQ=vv\rAнs^sz'gS=xYP8tcSBg tH=z fÓ؎σM8 sZ!8dg884Iz~Q= z{O#`]I99~`?L={Rz` eGZK-/\qzT1ӶS3zs:*Bx<rxJbc q{dsP1}}0!'@|L۟ VrY:j#霎MOԄ8co^zH?B{vy9A #އz?Ԝ;`cǽ *mp6d緩J;s 6yvdm9>Juk<mU˰C9ֻpramg8sQeK.K.N>Eikxdܡ NTOt#P`ѠI;{tJГ`gvc$ۏJhNрO$LU`Tg;Po=hIð.6qj\Gm\A$ȸ ץ;Gޯ2:Dd'={t-N9*gqcU~ryWy jݬ܍f>Rc۠ y1z/Lt^Idy槸بw7Da($G9? e,[`,>ee<q\uM"DbfGg;A]#EjIP7@N@;慹e'd*w J:)p+59^I :ӂ3u83=&6|#ۥITTRe=N;d <8YIWkOV!Nc=jY:u\*2!]˽̃HQ GXܣ߅ F'p83V:]uګY 2;1w˻3C H1YpN`RTTv8߸"CO t1My'F3ҩl&<8Hzz8T_0㓞[9{i-xLazN{Z+|I^7 &[ݿ^0B$$S?7yzޑ"\@C1aK:8pk9t6S#D2,rNH;-n!Mƭ4afd $?#pc}:u;K=ߑp1SמÉ%!nWoLkB+ˎV7܌v<7=x9vg6J~􎀎G CBC(:u#ch68>RhW-D$d, #f12,A pz4ƈӧ_euzrr >VOfNU;zs$sc~O[ 3fb NHokJkrzfÒ0@~ 3Աh~G<Įy?N:V7ᶡ##$snb+#?-q9ۨ*tXܨd+Q57mwn5J@}q |}  =8Tft0IlǿQk(P# ;us\ҧt:aRֱe[^g:lzs W=kg8qz sjv'>_(vgLt8ӿQu{'1=E1=1=v1!C)=ZRz~x=x|Ld"Haۑ)'S5) #@?v'J%2:8샎py@^w}NA/ޙlqu? nޜO=:uJD<{Ƿ'JN3ojӦ㎼41$4OG^83ל_jf$4/o9G?/_!8cЊi\'?($`^;W'tꥉcp2z}+Y W ~~(H9ATڲ(iPDs0N3O=83d8'?xKs߯_~yⳑVz1ۜZI=In˒xM1s<>ԛ)"Pstҧ /=}R'N|gҭ{zN;2v;:Ԫ$R h.mAgg'_ƹ{(lpA =Ҿ-ƺN{&mXJ/XʳC`ntwFCNF~lW1Pgi(IhH1L.c`*\x64Z.qG^uBO6Zب3Cg #z"F*w fѻmd*r[IO +VdH 0` pdž;qךʆ'19^0n48;cR̅H;~uF2t[g4!19=rtwHQ98>՘-$@\:׎9Hut$8Pnڄq2ۉyw9u6rݒ|qP/,[D諸vϭz5~y8WzhߝGLt3\+!RAqP(8WY{,+-X~|9rw̫dFNnB;8b=29VI~Ser#$RO@pJi 88p3=@+r@$pq9Iz/sk!C(BFN৑ڪ)] vq_Rlp0+ f\2Kv=y'5[[7vNv A)я]pZOk a;2AnUK8"[[;u;̤1:{˯,\feT q czo$:W(bJ#VP$H}Vn4?,Ll\.ГE19oO{ҞwG!{jKAU_u^ cqdqh$ʈ' ?jr8c#> 7D9Sҟ1^=RU+w#ſa!Gp >O?`- UΒ8p$ {WkkҪ.ndl6r2 ޸ޔo[j,cgMw-I@H_d QSҦФv%r6q뎿u-I> ?zɕ0: r<Ϋ;n :Y=qtZl>UB }@ߚ:J9<׶H#Ǧy8뎇Q籧(x$҅2}Fpq O$zc=AVv#{exh-׶=%֜m׎?t\`zwUdq:>`>`{sQ`quϿ4F}c A/DP d| @.p:drOA9IX2E\QC;NzlOB/ @V_D9>7l 9*R~+k껇}>МK0㑜 gM6מO9HqnUL]vOO犆S!=2H`4Xh.~_/z: '=d2čFGL솪G?+~G-q*9%ytUn'&ywgs $ sJ[X1@rpOQj$-; ln!N{sTSи  'g>nʸ\3`ҭGC6ځu.U㙗Ttֽ-nA h8QCaSh8sO[V;WcGx'= yQK4Ӟ{\kjb]oڅ2åpL3oHcX$ԩSr$4aOWsְ՛zD.X}>5Z ~_`>bH+`u֯X. } ʀypr*ڲ/)Y:21:Ub̨ *$[gz3Hsk db"7FUQwn/f< FTx5uL,v67eeTTf ~VV. aR½v(A^gr0=ּS{ɴg'ǔS g g~OWRln8=q]RXnF c 'RpNp׃xGz6v3rΓWgm*Z27_!r:`dulgR)Op;Yu,I=}ѐ6=ٌ2}3w=;4{`$ҷAr{r3{K`Px~=NB?3`s(Չ+) Uq%nqZM|nLʣ\]_62A,Nwp~mz/P'$*$9[K7m 8r~(\ @@RI*T`s]]X#ےF $+>v>lz7rmn@ @܍r/'לC= ^#'>Ldߒ`aWn7zq:b#$`9 g_!JۡxDkV #GoOL' x:[7$^3Rqְ؋NHtp{ץTP7nU9 UW|It|瞼wlf){8E9 $ s׃\erҸ0 %~ldg rO&rX>S$㎿D~^$\zI=FÁ}9#In d>T! ۊvVL~s]6ARB!$((wʼnV𕕶s$wiEts)@aJ|unGlW-$Mg HSYww*%_g{=y=؂Wޯ:|O \9*Ia8<΄i`m 2Sq%Kd؜8q)?wӧNq\ji} oS-~@sBjLe`H%aF9m*$D%7+^Po8tvħ|aԃ隃A98$#~4FIp'ɩiQ`'ޥV|.@sQ}6@ɠ:$ [G3`Im$=y5窓 çL-ԑx8qwdN-؎N~nz;zޟPUB>f8Bss" w t@Ov\2ߞzTN3$ecn=yʝHǿw0n#X&'<?:W!}Vm ĀO%rATdܚ0|L6v\c$Z+]sxz:4[MKq TrA, j-3Yh7_w#\^a{8,MMWaq+{#r2I<8't|'6h(M4}b9aA`v?q7wmu t 2Hz~Wө"{s9>gOݬT$s|%.Xv(4,zx¹`U۸@=xZ.*=uqg ',wqc۸r2 y c=+գS̔q[ y$rQ3zl8op8 cM$ya>GC3{׿hAW>bP3ҽ>zg،Aۍ`վ$P:#'UݙdP=HR|7mx9ǯUz"Yqp}+¥ؾęN {#erf[Hg"F0/C z)iuuQo>U\mό6xls\w$oFV%X:Z守9;=~59@@c%G\ Rp~aݳ@${ /:$"yT rN څwb|1Ђb*(V\BvOA_nFkݽJd]^ǷkMsTM5H+X0G+LG嶜FñWMOZkRh$,lsnюH5jl2˂,o^S#:ӴO T%4RI#rP>u q]ݞ57D)PH3"25I[۵մ# GCgxw7x&dfPp"E \9NVVWߡJW%bQQD"!׎:י\[^9DMK0 PGHUL.2]AٳNX@.9 8 eqv8ef Փ9W k9 m`Gq(7E/nyQ~@\u 5tK\|,Lҩ`z 3Uf)MueŴlؾq1"6K;ʰ/<8_OR0l4_;g1TIXT= fhpyک+ [ӃMRg l8R- YM[}lU<Tvc*dqB%ke%NIEp~n[ߧH)n@ϖ|Ih◨ݽLSsg+Uu3 'c !>Vh-+lw #he<1זQmўO3jVE!"s CQJ]UTB=`řTnr:qڏd#Ffp(B1'9$kYٙxf4IURKFxٕfd}å֑$2FWuۀ$^;Woi5$Tֹ1Wom V:9FWw0GVRq=y*ZNMN-4kCfV 7pS%x4TyWϊ qܟm-2< T's_kcRVjZ[r뿡a (ЅHťnђMB=׭sRZ\?+I$.FO^HӨ)A<`cN)M+42P#54գ.=M!Qр6)o#>:V..:|QS0$ 7L^@fDE>a |l>^dmbo1 9ƒo`՛GU9]HYDv0(`Ozk>M&f\"L<~~B?bؚ-\iu0Eq3ym'EZ6g&N?=j'~ڍV\$1 6 LR]ZnU2ݜ|\͖6~eIQ0}_1^*ex%#RGlV*ܨpy]6Yԩg0fX8T4wtb)fRnF $t5*gE'o^iv0^/C<U/u&f0#~v ^]6Y 0NO^߭|\-{ܱwraTzm=?s1 N x!ʑb{gl}d.OPv qF3ש+?":3:`dgc {!@PX2NZԃbOC4;^X"*cX0WhOj(bC5Q"8.p[pGNY*qU$1rEkXRqdXvo^פ# u?7@Nz֢8<?`%s7R1AT0EkL:t}:u5vmgJϷ5/4m\(A"5N,Iif|{jT rry|.)NkѴYmE:0weFF3?exd !wSz39ʍBzzpMXGg3pASB)Us6T7rH\JC qN #^sQ>kcJP?F9A+prX0ClLc税nfEܬ]`u#h9'^UzwB, FF|=qҶL2=bwrIb2' KZq$p>^7?©$zrsޥ;wgA8hI<[Bq@r{t:dJ[s~@#jLuZԉnZS9J>#g'^}0O^=AP!f3*#J n <0%@x#,zAyrfKE (AN9ɯ#q2)HC'xq_W=)#Ź0 F$PNӄVۂGs:Uh׃Ъ!I#ߘ w&{/BS9=>y7gO9\ubI';$dFz23 yӓR\y KdSܔx$'w Z`>WbXs UFyrr=7FE^pUA(2aQA=NyDѮ;FO/ Lxg=ECޙkn HaF5,|zֹ1*ߩل&u>vk8݀XϿҾDp΄[\ <nцeTfx'0bNz /NpNyy I 9$IV3 { ӏRzc2SN?[=~^z۾),e1 dO| ` OE9aNq8\ `s99wӌ)ᛌFA#Њ[\o9_bzIwL@Tm,O}=B@f%J2>Q՝qvO 3㧥hdw+ǰy7:6-n @}{c`If8^33YJ;GWcvUf^0P:mqڽO1㑞$z^N64KK _jCm/7sۧnk}$S=z|*$ݶ_Ԥ,)Gl9OojNec}>~?˧+={8}j:}3{SI_jRقzs+;R;zO\zuRs8;F)\#'=R٩`TgO&ƅ ={W@qۃOΒȶ|t :RƑ4Ü#$PXc#9_'l QS@?ƛh3L_@O\zR0;z:Q&${hOp~{y똛ݐNIHUath>ru1$*GEnx{ޟ"2#xyNz=s3?} Pwwڦ%XԎx$cO$SRlk8N<VlpHx9'ʥO`p?Ec!ʀ9={ԥ8^{'<㲟uSqש\ۃ9A#;y+ aN>p+견cY u#;x<@7SA 9鞧 ┩v\vW:;ލ]}z4ݕ.mvvQ5uݤC37G+;i'iD@/ H#+NɨI1BGlB{JO:+m-VBHd y*Qpܤd md=RgڔI"K z9I G)nȫc,C6I`O;3P۫9vi#%Y~mypz㎽8gĎ f<vRJU3bkv.[̸` ZhݡHI`uo^H񓼮qzad$.:s23q\݀2\C"3"xer; ֚I_$6.YHQmg\ WJ 0C ]'X18wn9O\z;u,2t';F ='$sP.K:cwA׊׉0TsfL}߯5}Nh q;hI q ׫Xd2m;y1^ZqvZ8:_ )'3gj%h嬟rˍa8z~TSF;^&aTe,vg;Cs$(r-\7%N\aЁ;wnq}8&䑾GUBct=)[;I]!o-/8IQץAj-We*-Ժ**GANp3^Z||3-g2Xʌe< _j2z;XaqI:)]OT' |3n+#SҠ]eA ~ 9UMZ6,PFYTH8_8u<S#$sQQиr r} avvrm4.[iSPKP2\eyZ,0G*e9]n5#9Nh Pe1#!ꤖ\PO Á^h@JYKy (Zm58N1CG0?R{[:}@Ѭݵ7]Pyy " Nxh=k[nF(߸T$yb{=fU4Z+YM.Ȧ4? r}5\x󽘱e t5pj̖g*_ LҔPr@c#{PlA vwnDcvYQgRNvGD*;i[겡VcY gںKX78߶I_vʷC yѿSЦ_k򽽼,lYG ew^G3bYY%g zb1 ~CZ˽} #dp '=VTN=WSftSZs<k%pנ>5b^gAI֣=p{=r;Ryv.sa]y>9zց77p3|{vkOY#*E]@:d^20q`{dp^RߔIܖZM=r\s:cZnAsq3=  m.wn Nx,by#9=\(wC`=x:5"0wpO'zXg]39e8'uߍi Nz98#E@ ӞϷZOS2XOg4x8:}i30x08O 1t2=Mcob={5\A^>mb2`yϿT%pzs4`0$zTe}~^Ia)h}z=)>ǷLtA A&1 v u4s4Alzz^iK-ʰH#ӹSn7}`~=)10o |pG]s)BY ʝ<jV_-bX#mk!+?\ H| 'O=m0S9;w2 }EJ^e$C!ۀzsUZ?'9cbWnXHG|k4qbv9sR=G~`p2p#Wؒ yL'cFС% = VD(8|@9Ebk mb1ŎDI&"*2r# T[Cm#"U\d==1AnG?cV7t,@ .L>g^gP15iWβ02.˳0xw=XTZhReiI] ʎA ׯ<+ |ztPeJz'܃y08p`:܊1s2 yJMdm 0Jc:1I/לS vP) 3뚰&'PI\U!өeqo :ڤ< qxFΤ ﵿRp'ݜڥU #*Gϥ8rqG=Fz uq8888"ʓQ[cFwiG\=xZ}Qo'eI  n]邨6 J?0zd졬qĖn^d&\+\d +nIJO"fm« qP=Ui}3iVv=x]+.6F%Sc5ч6"! qӾ*€AY<9[,= ZqyA_n=\u8 u cd9EpF=Z {;U 1;\s= za`_7BОayUaղ qZ۷,O˴*3{cg/{ΉlreScz=j0b+9qj{;I\yBOq)%YC:T g$,"XI`OB1#:z[}[S(]VB=xQy~ (o9 Ort'K®Ю$YN~USc1EB4Eb02Ҩݻ+RG<}*x6ȣa8TܡI$aq)/ٷng^ l;'a#u/LV krI@]Qrg**z|crqwϒ2oM~v|éztQ5 I a]g.)gyȐd6yr۱~}\㞕i6F}$E8Sqz;sӭ`ѸϦyϽ'#DWcF{"fl6IP~2Nrp9緭mvݓ9+Gwr?*= x c1b ݰ澃Ez.W~$Čm #.p2y$F@ yyL'dׁzpZ|"`ȍ ^z7$~añی7gi cD1o沝aYzzqU@WRz=Z Eg _Z3WٰܶrĜ{ld]d\>HM &R Dž#I0mc]v(B09P~f|yPp1q;={z`)#v}ǧym#y'O$囎v1}Pqc+FH|Pre|$v¹N1r ‘y39P/@rX\d)#,C18>8y<=vg7cצ7!_pOC9@uspnJ gz 'h[Cl'' XZ|AۖSקZoq I(/PAIj8Y6?x78p;UE7ca8`wQ$ w9 kʵ ,w$hXW8-۸vwgJ|ҷRcٜ: / iƥg{/%Ԓr_oQ"֋Yح LϷS֓p;I,gM`4p/&1]Wp ˔ȑxf@na#[xeD 71 `Ņ1p%y#gJX1#AUFyxb$3*`=(e H*IU*АyQ:~4 B3C=AO6G<җ9l*J2!=h1Aav 0@ALy$>\ {8dO t A?Jgג2wdI.H;p7וp}}T dKgIqܑߥ BU-sszݥ=1(#'^FsOOl;?xPD |p>֓cF{g0CsOHa.?Iϭ!m!s\8Lb"/2ehcJ3+1F]9?+{O8L6 H{xi˂r9{C.O$sUsy֫.pq+rB19=LԘ3eKpIH'':L#8,zڣ*  zw4^Iʒמ8⨑>݌79RKInt@vqNOО CgQ3}zSS@8x8i&;y]cFwc<֡/Ik`qО~V22G PJ,If:nw z ÷j}Gк*Xd| hJZU88mCUrE)E1x4)9YUWp䍤&ubAzl3@sHo$*ZJ1s׫u8Ҝq2!rAXq>tgO l er|e|qiqsknq <|ݜ`0#&z6#9x VdD:̬U$<\E VAHN96Qmks%;E=2/X  ޙH(@`qԒ+ۥש9%;N[1py?rWw8# q{>95RJ霜r 1MV%e 6J1Q^!{zzvܨ.Jq\2 Woy^0ǰJ,W>zR@r}`3~]1+Ȟ3m\l񑑖%5Lž eJH"g?7ުl@OpN#KN< r8']ˀAE=725qZs.*T"\Hɓn3ghtM!7?qU]vgv_ӓ=nԬmB`vNCm9#NxFvL&@@a}N)㹳HzcZmv` g=VwVRٌ1%S;ퟥwVw_(꯸䓐1ƒ?^淨.ս-l؃etfv}@qv cp3^LNZ/B3FcYV=3j6 W'%NH\'vC~ Ex ۃmX/C2{.².m,r19*0@涔ng't"-—)"Un:q?v \Sy{9Qn-J-s7Ռ:H`PHǠK}0G%7g׭J3,r0HᗍGu81Ev#`qwdq׶AȱzdVjky|Ӆ~loݓpn޽fw` -ftDq¤pŕ+#d0pB^rt83mBH_B6#*Ux$jN!4*My}d=j7!j<|p!2}ԑkڡcmޱ$csfյ崖i. 1Gq+ghNI<҈Gb9XC"ʶA/]‚?_չ5"ps $qghQDM9ua lݜm։q6Kc|M{i21qlq4q X{WxeZ6`8R~\amN]`0Ɍ1uj@/`#NֱObuc)6{iQn XpW>(;q U(c&;V ݵB.w6ܥnYѣtb`#$; TTSV[yiQk;^z?)URĮF1"Wt;LOlcV)5e{>:kFZ_~jϏ$>վ0=,@9=+3P>dqU_q,X g9:VSVRnRMty]xx~i6^[@rqq/k[6ڲ>|[MZp0u'AZs&I'F"I9Qd[\!{}o91!6{NW+6Ҋzoc屸J9`QM'o# d%Cgp@ZW~@1 rnE…U'S^>g;GM%&S_qzI|2jGhm1Pb>vztVEԒUYmdg7$t^mK=[=*z%+Oo -c\m 5y4!E& [%C*'i\N#OoefM)9\cNko!b#a9U- aI}] g3Qϥr^+"~Uݜ@i d yOI2HmQ[m:+RW1:pe0zsN~Uztֿv6 6py+&oPYAyrO_Jb#MzxL4봒uT FD@63z^=4=䏙#<WJYk}<Wåe*cpw=9qG𦒢Xˣ1˜3G9ZW^vU@qm*z^ѧGm qp[r+_zc|]h[+_rddw5ty%@¶#߷5zU#'y$. qӧ0ž~o@@ } %d",U *,3뚤pd q~Sߛ#ʻ!9 t%tA\2q KF pk!Q 6 l 9 is $cv 'ׯ֦#f$#8J&aA?1*Sq['8zISeIm#ɪ. {bO `0rcm^ Slg'2n n/yLsڬ)@$2Nazy'wwo#8'o>@'?(RH<=G:zR*srx=w78ǧ^Oz㜕9V3W7KcnGrֽ0rB #?J;ܸJj*9*0FN KpF Ϩ3FzosVjQw6%p2{t9yN~o#;qLM/g6>Nt=;1<ҌzޘX@:߶*\]28tbU;=}*@c=kE,#dzr?8oÑӷ)Cܓ?GN<{?ȤG}O {?Jñu#U4|jQqPH܁p~O~B#=E"FyHzm}oȴ*~'Uqsdn) Iqu+n" RHZNsd8Ls_^0RX;X1Fb=:WA:ӗnfB˫K##0Q_lVd9\nnrI xGT9]A$h~BRs{䜏ҷ5hRĿ0I,ɮű-h3gS90S} m!>s_Ί.A(_T(Ҡ㏛^T6Dvp3gj)?r~둝 p~Sʶx;}*aN*6)#9=yя9:ʛ3& ۦkzٜ,xP!J޴]eFILL,\.ҿv1 k5nx u'=GJ V⣍; &rʨx$H |fUj@J$: jl__#t SNO9$?IH Mذ{~mr1ַA: $M&ܫD *]Waq{ͭV+2CpMͳF<ȝHW ЧyܙB+JTyqKOHJg{JBqܟ^fQY٘66OAǰ5@w! J4e-f?@$ǦGZh l \-l=\zSb# ݱ#n3ϧQkْ/+Cdg=~R"#ػ!R?0 eT\kUk@\@e|O\c9h,6>q;Ǹ[Je2m1_9V ldHC<.T 9+цvSۯ"1G/q\PW_jp7%sIdb2{zX5ufkr#;HqrqqIぎ;uNk#:v_w#mg$z.9ug5#P8f 3Aya:Uw'$'{==3ҕv:@34I'Pqɠ 1~lz`r8}(?'d8cAc[ qzN~\yU*Ooh%+>C+`SH ]f_]9;EϷt9;\]B-]&z@$Mw  0j{OZ1B1ǩ} $c϶1̭W"w6#bف$FO^sqK%EvFWkf[)$bޥSf%nUqO9$O\{XYjn̹mڻc(tBGI ۷JNGF:k1NGq 9oNZ&Bӵ=pyJ[K뜎v?|Vak%{'#p5Q^GA r1{~uyyߎa|m]u=9{cҞ{O==P,vp=sK^?R}駷S r?@v:/=7u?Z/}:'=*)Gq~/[ܜ61ٱZW1NOjp2b3*:lr0yYLyWM苉˓?~IY@ 1YhƉeA?OWT:7g̀~(<}*E͟>߅$bOl=8'8kul\Cc,X%gRS=/kJ/܋G常/i5G]g7e pLOxyH$}8 EZ)o2|ԋ2nqjiv4 dzdFLYF2 Zfrc|4"XW8un09Qܧ$!_Qּ<¯4ھ䴹a)lܟqQ͙2s W+$cR*~P#.}`ͥlz' {KuFAe$vzσgT)nB6zq^YG:-IBz$ ]h2mb7A`vy[))rdžjM7(',=ϯxDԂ@0rミå6"h;GsK0{ ~t!|`/qۀ8rG\ֳp<ĒPI/ 6}}m ;J 8aJ7P^O\tLd:fB2xp=3O-כ=&ʍ.0%r@ǧQҹMKUIObL x85魏0r3Re*Leh<'$2xRz6J  IOKCR}dC r>^,F9{W-czp,9ryҭGXHp8+.JNA{sKAP;KԺ ű\.JCJ*czWdN͹,9RWӃHg3$o:39t9;N $yFc<[$gFǨJ!. l͜!ȏ3ۊn{[bH9,|#c׷P1'NIS)[2nP bpCǦ;Fq!PrO҈]S+$C|pV=1ZV6/uv+7n+82I7x27.vq8>tR䭡>FFy'[9H[dGbc@q>t(ic HAcgq `h]r`uF\TQ @U!y%OLzQ%C GPtSvct㏥tzuH>R8c08*t-Ը#>9+b\ ʳquJbbhfF[r A5_٫YLl[E8}xaNZ}`ȩ@f7_\z&\M/󍀂wX`kuu-J,K;9,T@9#Y#GV5Ӝz3Em\e!-*@v,[QP |˓G',O5CmAse$cJI} 0D8Y>Yn?*ȝ])rG s-ek6E< /==R&l#rd$Gi 8k0I4k(IC9Mfct^`\>󓷞kn`'yٿ9}X >gd dpĴi x';̟(%͌YXNӍG'<$ul=:mM?#֙?<cFq۟J%K[ 0$^z av@0zRܵDNF[y0s@>b'=irLk+ѓr2[Ou2Cc- `%7AzsYN:Xl"щF`P zƦ3eVߘ1p0zbyugtezmPFL;F80=MzrƄ \F~:tԮkЬQ(L1* sFV8eE FGn3RՇ$rl~p)dAw7)+ Nn Hʏ8jxQNTctt­z+dq3'A @NHqTm*ݖlsJ:`r-=zIq?*g-N2֨}K/㜏h8H{Bv9+yGl4jΛ9 yVǹ8"H. (\8:]@g--#c00zdWUqb8M㑷*dq:^}4 EFW9& K ]Z܈`pW+e}dt82F%Xp7tfa-* Ϯ=*pNH%NI2tX63烕>R  @te sz#ڗK-QU v@1ۅkoM 0R7&:; shD#AƒPpnrqҬR"f8,f}Is#v3[i_2v8Ze"]2 }:c }$ܲ#HTU$>P:*هjDl`zjo~ R+e.q:UݣuqEÙC. P ۩Ї]U`Yd) 188z\[\<1%Tx=E ]C%f@IyXdVnN+ZfX@`b~qRV}٬dzVA–=@lY$naӃM|c]DއeX˵NOZ"2zrj1{rMK~U/}֜cNTdN=~D 88bx8=8=xkcN:vkX|FU>q7 c\t5#r[rʈ(]Hqh~G_%)N\PzG󲣶w(_<(9$^3^=s+nf `oN{uzT^FdEex(vH<[S[nC,>BxwhoFN@˜Rzաb)>e*J.p3p> *Y@eUBTt=N }A $Ȟ}B ,w (8e;F N|Җm$2S_u.7 ;K+죶3c Nюc+83Rԉ@,Q6*A):rv `:G@AیuL31- 9p,>pG͜yTsG Np9<=$$ . zsޜ29f qX60=:g@0J78F+gq<*?1u~3ڏ0%.İuP8aю Q[]GL9'i$@rsNMiƋ|vN+]LřK!+avNOrzwrl3(^# d. ݈h{EYfba#x#ZE%O\zYHObL#>arǧ$gDY@R_q 3z/hFw(l$bŷp=zwL8es3\Km ]wni8aUf!1ϩ<Rm HIdz"mYH|9r;4v7+ŽZO(3nfl>p0yɠL[,ű1*3^M7ixsǡxtd^W\9qM+'t®G\I} 3AA?u{|@S{]E؏w` T\o1@u)!22p |Q8<֞6!Q0yz(B2JA 玝ic88vA#LT$YwQ8QwW9p g K6[ .@J9.W'#$Zb׮39FOp#1@wrBvwv}O} 1u z# Hi UHw vz_`X23ב']s$r͟ t+ːTt; `.x# !;;C899IH$G! I''S@|^T e2=qTv#vU+`W yś'sIv qGe)G4?x=[͍a!2;`z +x+&kbs:`Uw={T+o~`rѐyORxSvW6#mr!N]'wxOZЗNL+#(O*#>ң{EW;G9f 鱉-0=rjb͸g`78f!TFD0!~`u޹*p3G*H|&Pr6(b'B`ivs5.$Վ"c Au?yN2^CF~BU,N9'>z5-)Sm͍OazŽMHpc㒸1A㎿qK"H-631T؃0bvvSaDzB,8ǧsNKCHfɐgb?5 eg{(.w2T #ڦ*)^ml+vc{5rE9q+F>N8ML7QZ( d- s=eCkS+oָjPQi5wSEAhHŒzXG)n,qp*.Jr9~ # pOO\]]g^pHϿ]$ta<(-S'=1Z6 .WGֽ:kcsӭWO~@`ہ  `&ЃqcBz_E\^={M ' vx$c=: -<@$5Uh"KX;r9O8;](3յ/-YoB@蘿 TOM@ɮ E{apsh;;$|IxE1޸SG~8qzP\ݴ)ȪA!=O\8-1?^VC}ԱCc]:smHU 9̎Q[vse `yÓF@xy'$l>6@X;sWc{' HfˆP+ִޛ+!S?tvzU>cF%؊2sq)V0>{$>ꃂ 8,UfaQoʍf*O Xv:UEwܓ{.xW[i捬YI&C6B8?wvZđ$r3da:3dtjKcϑ̛TqH랝x,bܱ*;q/s>Qqn[Y3taB>p:ں{\Up$o0AV]L=Z.AR1rWxǧaWj} >w&. A8Q4}6~Bx /ڳ{&M!%As< ~5mpîsxxqjo`H+8 3r;q5NLq.3s|޸xh;hqw*K![usU#fg,j K !@N_8A# Jy=Ad猎qޫhKyM,p=lr#t͸A#q9) Tj} ?uJ#P+)b̹s9zZBW sdv'9Y/۶f@'1Vc"luEM\s(݌O\S%*aw5ʘRWܩwĨ0g$V9Žwf:H2+d ved-mӫ+<23@zS՘b'9$&{#zcWABXd ܨ q'svh!Z\ṛ$8;s=G:cXFq>zl$`6{ŜVt׿5OCkC)G62A/F zb ʮ}ljR]qʋ]F3ػwN-|`#Daߐ6y&TO^Ikw19$G@Oҽ2jy+2 q"q쒄rCaOKĚxM9;%?zW/>FQy6{򱸊T!SCvRݾ V|=+Bq yPƪ큑=:o~ f2gn_\ueG|TlE%ENnqZ>}Q:=JgCOܚm{]L$+zPi$~ze^;&&-o/"V2bDaU@iOTܻ'687pr NM[g%m: &Y76.d>bar0W7}ె"bu>ZJ7:jޝLU-ᄱ/3z3O⡋Ķ0+2xXt{88\~v+_fiѺHBT^4׷ע |cJ( yuLRr7AEgxwʷ⤕*F8':תk~"䲲wG剭u. =99W|RUfd|.{<1vX*נb3 6O_lW6޺ZWJVբ07 dvX;7:i?gCcydp,rN2~lc>+ T aszvjԾGIշws4QVX<FʅbV9xqJdy>G)r'!q=>c+. p#LaF 9=G@9E! avA黿1ҽGcŪf[dI<[n|$o{WB_I3Q?uH?Anf.yRİU82\WB9C6-3坹 t888>8d@$B2zv218`I{=pv$dA=iXWvts?sϭ&q>KpPG:(쟜O8b#{=:ְ'' ``LE~Hܰa2=?j].Vd mϿ~ރ5Iٜ5w=.@Ì`܁/DL':?a"(aPzpJ`dw~6` q=qSp~lg#ǡ8YgWcvcALGBqPys]’( CZ Geop9Ϡ'1ۉ@Z,~w>S/pA@>H}8>yHpsFI~z$v78^O8?\cN}93t":prNMn |28ڦS#sǩDqsu1VCM3678玔I~x*ɰϧn{ x ?CNx=jH՘r23cH’4tq֨ʏgLƉT}z:c{vBa>9p==~ÎN˟oR~`s>( &7H~2A=`]jTfpʌ޾%I<|^"ȳt >Ӹ,$dq pFԜ}:3׭}5%w9SM#HͷDY<_7$v,zO{tv&`Q8Ta?Z1[˴ݖ Ӟ>$k?eOFNs8+/\yV,Jr8u'潣FOu>:W/z 9kzj‚9'kn'9T}G:L^ lm$9+;SsU^HIb0%YN^)rKrH u=}1Ҽ3`%!3xn >rsӥ4d c׮M!^X, 'v7d7snX$9]̦ŁDx$?Fkr6aԆ8a\|O[\(o7BQqT7`aF1ro3[뻭?PK[nkZPcgֶ[ͫ_彖9Ht8ӴdO9-~f QmTk~rO۷yA鎕3m~[vX Ӟz5:8ofK86) gV߂62M$:8l,Wpri4.eU>wF^54pa<ZZOdRNfPna]yviōC40:ݍ~`1ssTѝd'?6'ymoGF '9ꨞ b=Q-C:zsM9@oRhwDT\v?J1nj{@0GQgϹK`Mj=(89h0~^}xߧzV}17?Bp1Is8?4۱Nuz3v@?H`~ZC1"8w\3uGp2Fx}{;`_QqgLN=? м}yl~rxy<s:͙s`(%Iԝy+m'ݹ\WIZţ.W?{7 ZvA'ckԤ-"\'DC=3۟Z݂qўrRp9@[و#p1]BqN:cN^;\8FN +>x@@} xQ.áޜʐq 7?Yء1Ncޥ\GCz5آON=>U3=e Hn@=T2}Q-1zu\vi28ck.s>-f3) ?q߽xޣIvY09uc56wnf+OOن¡W|bIRHbjjr~UY0O~k~Ǎ^H\Jm=JԷL!2I9;ʄ.SGaʫ$YSx AE<vKyyrMkm p2I:Sj.H=ӼCjngM!ibSpH\ 7sv\v*AOwCF6eĪ1&NFvmkõ [?*dkdߡ`G S\aq>LϕRytbq+ԷC.8aY gwN9la>a&񻞋kwH`J$i0v6AO'Sڳخ_9888ު$q,as-)] .CpX0 ;hf&*q9LuUs1Ԇr.AcS{w /q]MU>`'9U0<= OK{Hna70’r=O|Us`|anH=Ku4cO- T >cqקhG"0 1+$]ϛc_ΖЅC?1<7'5+w!]QuP1 cszҴCvz==|u?RPx lqsޛG8ӓӰ[$Qv{UcI2q$~cN9SO$̱\ZJsZpmJwd03#qƚCǦz`R oo:rj/cG#\zqӎU>Is0O#Jˡ=:{x? tvd28 F7"۳96\Oҝ'?Nw?z w<׹2#7Oʰ1qzU]c%{OQUn _}DZAody=:<z:CbsަޟqҘq18+Ӡ9㞄nl UNׯ_E1iw=NO;>c9J1>ޤ:sNbQ؎ܞ@vQ"BG'ϥy.đKn'+R߷_3x8Ow3Ke3C(?2;zdUX56I݌\_} $># [Mli6HېpIzz V 0grXzW+q8`ۚMȧWc+N{Ȯ :aFӜoǡ*;:֓Jmn]~UU`FrN9a:;Vv 12b?W%խƝW}D*䌏cANqYrӪp$:p{vBnL^&hg?.8qO8jDvFxdz`G#cu~h2]Bryڹ˫++F c| bT}q'hQ|jSӟ22^m)>X9q }޸gC,),cA&2ɻ ~`Fߘl30L+p;U}BhRSI |CkE„';n+>S:? i. kfQ'zՊ$F!c1U`x`޿32 nrA=MqױBz/G9ݐGpUp$`ۆnƝKnG,B*G\wY'r 3 dAAWW 3irH`݃s玹x2 Lf>֌I3Z9GA|àGDA0H>QJ7 Jm\ӘdjQˮ2dIU[(<+'81/@G'Qܫqm]FT33s2rJexHOJ܂M._ߋiFc.zM\ӧ.DH F.3C;$TΝ4UWsgr 68ֽ*?5Hr$VWmpURөFiHcl/+jގEH-rW92+{Q%B@8mn)۴<xG9ҥݣ'F[pZo8$.GLtټeǖŲ29GNBB2Ƚ~OQ/#hs=zVꀩ_|zw:L#1ggG>Ҽ9 qnrFOqӁkG).{Bz})$8G<ާ $FZCg,}Ny5ޣ$E˖89 vF=EuVjj$6bGAG^kqIpAϥoE{ެ~G!a!b՛y0pN:۽qm}ӻc8mz֌Hb5޻W̌mEAgi~򥥌.i\"תvx8H=*;2YvcRwy3b``ϧz{Fpwgg^Q-zȸګ/m?*:9ߖU].~e=I+ ]-r9'VĠ**1+Ϊ;03Γrʹ;g{t]~'TǮR8't X+2% qFsWkwFz#vXFpbr +۠Q :=Hu9-L,!q(F_\j잠Vn|'09o9,~ $G|1#(%@zsҏ@I'#``n@)pI t=PfV1enK0uS[' 69>ݕPalQe `&G0X nz_c98dߘ)`x9?LQv?0gӷlȤ* m6cG|y9@0m8;ӂ;QAldc c;[!B"@ƪn8ԁW*dgBH=x܄{֩7fYB'k<}j;1خHӓT)I7 y]۔ab7c0Or@>1 N-cgVQԭ˱dn$ ?ڬ>0{IIRR 0J0F9'&H970~p2(qƑc)bیdY~3$u=Sޯ͎BcC8od@S$P?5 NFR%no`F1 Z' H+ Ў+(SIrVe%*˅'2{!Db8\c9cA';U|Τfأs厥y_QZU(bW=)H 1M69: n67W)pG'>GRz |2,CZH,`OSV~8t9N :qhʞxK9+"Tf݁S鞕:ܘx2PTaJӹi~O*AzR3ֻ]3r$f*PF98zNE}/v.6۸`!NNMh_$2D"A'`99WiJ,nStlB7!$_]ݎu2?c'*k?v:nluGlv,ۜ IlRpx5$y{ðr8λ{16H,dW>){K_+kMmۤ!y2T x5j?'M HXܐ#' u8^wik+S0Gl̾||"󆵽" ~esvuShrGPN 9pk]̧U_KCOtH["g9Ve rp 8ysQl!1#$#' QԒc02'1*zz&o 9䃞e=]C7"Dߐp:[ >mKw&7.EeK8Z5gR\]fi1jf`VKUUg#ֲ%Ѥy\^9q" E {ur_S?M;2D#i3$32m#K68ݔIe2}I/_j9~ʮF"h~wrgigC(/# cP3ݩ> 0 K* XizjXJ@ \M۱kjs#ܤN-S)1P#&d1qDH }Ja8A8%e3ٻ9P!RB?!kBQv3ExRI/,_Rh]LCkcks ⼜qZr۲ǖVټ;(U$~բQI<gRFmrmK{tʢ!q۞}kKA,PW&33d >UIs7{ȆJx4m((fٰq St7-SG- 2 Nyb1i;_kSW[qk,YnruyK=kE` ǻ D.2ܮ0GzOGMͩ>a%E޾S3XXyglsOZZbmxFlYM&O˷$985B4,ac(=`ǎ `߮qJ 5M$71ƹ$YB3xnsi8ʱ4Xm s=xD='z>D#&;%}p8xoJѡT.ba,6;9ޕZzݭ5fi&?gIxP 퓌9kHϝo%ywq|jҒN{(z l ] 7 ;^f%{ {(To%F9x]HHvWa <}i[3ꜩG=kFӷNޠeҾѬDA>@8 ?>O9j>&~ؓˁ(#fޠ=Oa޼W1' A'?^ M[gJF]1䝠q3` tFRrU'={ ΊORX{z6qQ^5Twl;<}1QpÜ0-2=uz @ vZe86FK\cqV0Dr$c<m\F9Qy8tl\g݌^Hbx׃q7  .HH#滭<9,0>@zzc#'Z֙MwJ6݌HWyǨ8u1n9?7p ޝJfSzWvu&{md>b X >PҦP2[:]Qќ5Op=?3VIϧq9=Һsh߁P IN+][!Axa֬Eygt"!zskv˙ے1*ۺ5S\ԾGV\}އ)㟛%rG=/3guѳg{z 2p[uTg x!rF3 c>As8$~f!9۷Ң[t!= J;qWdAF$ Gֲz*ÏPȅ85 H\gs=8kFiq2;q=H׭Jy#zdqk2.?A<]~s?:nNPnW9+өȮjS;7p0pAc?^uSgϤ˪;ϩ;?ҥBry>"6R8oQym؞ʤ{P$v過jG'#Lg<;`Ì08HOF\tLݳu(#w'h{~MJC=ɃP?ebiF`U}};t\td:#ӓÊ,{zҥ!IžF=~2Kw1p]~`[לr#Mn"5 _zu< [¨2.IpwIp#r2=@泋CЌ`O~Gp3 `ÁuˁP {g|ultU/ǹAso=V$d t2OSՊeſ=KsI#X1yc!Дz('pAzn2AJd< \全r;r@ gW9=)wgWRYvn33_ORrFqڰUAf+4jq ?WJ_j)'erI#>zy[X89p=MNm9&6$+1#3J4,ws˦{]D%8[N2:Gw14c; ~pO G/>RE|1I1sc d_2#VRђs⫾`9$2`*J95V:+18*۞~OXm 9ⴄ}GѾq ; M$i^4>U6z ;vrq={uwg5̫qOzN4u8j֋,>Y4CJْV=;\SF2N_2y31ԛO˪SJ:Ld}\m84psܭr8 i5㥹;O~=*;nA) #泒;QJ@;U'\g\]%]ǻ`)ztUUwП+Givv'܎I2x s@>9I=6M쎎ߘ~e[$z5\]SurCҏ1(Za׭?灃׃=qk7C{O9Pp#ۑJ!#{~R`ǯ8<z{sRRoG'K_3PP:Iۀ BG1"W =Nr9N1]=;#S>S^}(=y;>'~qӧ\U #G:ҥhz=w 3U5y\6r}=H+*gNɯbȤW?V8oUa\>wSVFGzP`#ZԤNl '\Jis dzҾ"l;,us:ghyґhBF8$uOOSqcVׯx5ȗq zg=לg8j-.Os'nx{VN~a$qϵweTpbr_txVmɀS2zURvT>fԞIǺZEJs}FIƒ9GOZoN#~by#5z~ @,Fc{$x7u6` T^ޣ%*8e W_Z~]Ʌ-P?کn)= +0\eD'qī>rElKgvP73w>^ȮY`>, 8gEs( _'p?xǩ5Y~ӧj@TXc(x#nz)q+ Wv,e9\WzgAZ+ؑ Qv*;NB瓞9+~1@Q|ǐAp9_G^Ifl6+C";8 rX枊>;QӁ8ސ}x ~r ?/r?.jbz T۴h^4=v2`)'pc4ܛvȘXݜ/9<(гMEm\62>V[; {vZ޵|dHI(.#cҡ+t`iS7)júT!<Գ70b85ZL:}Ė+ ·pH Ii=WhN/V&$oLQ|FF;y}j3)cp#n¶ԚW6SX^^6mZ e&wue*Ae@WFXhn`qjSMkk~%WdG'X Fp:qj2~@vh#Rrp[d7 pSOh`d(sI~LbaJ2.2AN?δ.K'tp~|*2ޣ)ꘞ׿p^L{f<ˋyh9ߥ\mw "7p<}z\mQRvzF&:* 0DY>8>Rc\ c qȯ?'n硆7MJ9 :nzp~x=js8瓎s֨3P:W[VNȄ:0:cGp=kKSBvtyA=zg'_ƴmcg< VIƲZ:y7 *dvmL?ʾ|x{tg<Jwz'0 -nZݱ<Ͻ'; S)89 瞇YIG|}k NNTfqϮ6Y#6O@r["*8[Rniʹo`'832A3Eq#G? WCo ''?qua͈6}:;OsלA^.\6Ux<ueh38=kfs.E=?cOTl^r8錊=(R?QsGHUffG= c= Qr3ϧNFM0zۯO_>ϰ-usI!?~{{t`{9MKwG:)cߏ|AN<WRZXtW!_]Yʼn'Mkcش (t =+R@pʼny*愚ўq,ɷ%TV$#sRh}l%pزO'=Rih\KyP`0;1!޺}JIvߵmk=gPVTH!cc+JK- %1#2]!%Ah-'],V-6G;%dg[%u9ZA.S'͕DqGQ>K7 NY$C:Z,+卍HF`')q5B@ `&vC.FYH9"6D uD˖ЁimBQ,rT卣+ `YG+iev ѱǯb8W̹ ;l88'M\D)Jdz>%S9U9<v''*jðYXda$GuJ$GRm"@]ESڴR!I«+Fusҍmwe ?uX d8^7m.TÂ\ 3)Oal$VnwH\ ?ӎkҾ ;H$l4]M^nr׮ŽDzr!͊))C ȁ6mgsT~dXc5w~O2zikeXc|FB$}1\q*p;zYTɭBNe{N.#"XS$<{V<ւecRw?SX~f.Zn /{)lB}G^gvߖ#h'a}43uARPXH|-|zSA<x$?.[3֦J@.c O<xzG\dRȮVENrpG|[t{9l`8d͚`~A#<)=T@봃X zu5*PpA 99m W=+9nt'kk:B68 G( 3lx9ッ+Gwv8pI۵93܎<֚xdcdҧq$ppGŭNsw" *rL 7mE|lު-?vSVa7K. ۱N0q냼 CଁbH ǦGӥtPWɈs:6#s  uAAb_4/Q\d*t{T~ĭ񚻗 RͽG/Ny9mGU 2>FkbH& ݯ͓ bfAl3n:sқw4!2y9a0@s֙J22Lϯ3cn2n|1r;P?w+0˒6-+n"VD© UB=YSۍ]*}[#!LkETb#|) "eP\}2s助!YW~zQzvڹA,FF*t$ϖ$ CrGS _KP>ViP?>bs ]Pͼ F9j,`mQ`CcsNҳzy!V 8Q9e:l7b;|Ǟ -۸*#?.G|{{fJop`9pOCݑ]@,9K$)U;JH.L6Q?Œ[ 1f%GPyg#4t)lJ}:!{epv8G5eP31=}8"vh all>_cb$vBJv s$zfOs>TWO Rn )gf<`o?CznONuWa0APv_|4}^9+=_?ay$}.]ڛoZXdF;TnsZgF::zqJRvVR1$c d>V=ݪ-0YGKF.m fb[㞣~w7e$3?=k˪.<ǝ<(ʆU/̥b(fSmq7992k޺OFUMncX}N;ҕW A޿.=@dzUGta'8l!F!>c=I|ʠPO$Fryp:prjf\Iydʤ Nx‘K4 vӭRyX;S;H/W+1ϥFX J F pq6.:ă}G6'n *3?+TdcO@ݺK2<JF[pV1@qgʸPᘩ[zgBZ5ʿbd1P' +tmY~bĶJ 28##<3Wm="H0Ur1.gL.cr aw`RcRЬ,|[ ².@NA3P"9UcN N 1_rcp Tې>aϠ84!;Ƞ :dsޚB2ːnGʔfʩ a>àwؿ,K"l8g(%7`;HN?%p v# uNX׮coN3hԐئ|f =9==*Ʉ}(ga90G9LPvq*n@`pLn 7rCg=@/mS+v:tZpA>@0&Xu穠ErJ mVF!z,a=r*4r3G<wШm.8p q8Xrp3ӹ=9ԄșOybH8U \@=};SJl{˂ <Ž4*U[s?H sV$s.ت3Xm g<߭I > Tom/Rj|2F[}U/vzZb6qq8+HǯrTOH2C޸r1I#UX yHfP8-ʕ#7=X9'u•g%yg+U#.)RW9$+V/jߌHR +mfGJs*8Kvkj0LɍbHtb2<0OLh&/R@@m!@q׏T :XU$&{hn3HgpGs\Uj ܅ `뎿,֮qمl}X9cK:<`!tRFQ=~I># dsʌuB;zݖ1`dR qqLl'q8ۏˎں]~errW#w' G<.G;TNc9$$v8ZBd|ÅQ ˓`wVW2f$r_s,秗kdq wp~s2IA@5tW8*C/?@5Y=JpH NI֩F% œ3s9ЏYʌoVz+ 8pO=jV8B9 r^vF~P9'=1~(ɕP6dHq\jQۍHS`4-;Hr7{޲Սh|HW0Ns"3s1uX-RƢ4(8I4e-z󦵿;cugh1H|>os3PZxeIySt$Pgid>S3:*d`i[PՔJY@c$9n@#=qKA3d}`B2&q{TE5s[̑5&MFPHzVLmS k w n6p79TW2Z4 5)so%20 Sy(w؟Zrn%s4+mHKzhA9%UbđE}sw~.DW;Kuɥ&X*'n#ס";<Yq6$?ݤ1R)zc޸߆r!X-cǿAғ*3qg37gz[&8;+Ӟ|:շ[1ĕ39%Z^zc)/ڵP摷yAtGCT? ^ݼN$lcj>ᑸmzb- 5" qď 9cl7x\GR;ǂb|sAIN5Xt/$EU;6 Qp# |Md|mI`-48=5FQ,uZY?R> $yq =!< !qgn2qEn&+G!WGG<>G's)S9fϧ}IHݿ>V<ٓtǍq2܄Nx=$MCTR@ FFsR UogS|2ag4P0W,APrK$`tK]Wrd[M=:yׁ\-hhr1=<)=}{5,푾\*2%/#i upډmr7|@qU W~_#9Bƾ\Zme6wS~5wTR9x u'sH!>s&%CwmǢP.Vl|r*ە+ڰn{Rܩ>Z KwhxkuKc/`ݕΫqX9^Aa=ۺ`33O#кnYʽ{4M3_ٳ42Nt,A;rx+łOS/Ϊ&!67̮r fXZo&֚3T]'0A=v'8$WUsw5q92$[Px韺=8ֹћ'QϹ~#J33n@8qϰF?\3зP!>=r?֠99s:=@BOqұ%P=3voʺ=3اL /rGL+I 1Ov^q~Ry>ӫ $rx;Tv8ڶmz Gk 92fjv؎]I$qیM|4+H0FOsiOX3Xk[ȌnWA#ӊNrH- GϯOjqJGl{ bI!T 66BÎq9 -遜 zT{lPG<\vɩe&[\|Ipxe>Jmr+55ĘUTS9RQG@=2IT[A5bd s##sӎz~U O%aҲhNt? nK6$Ϸ`+bv30wjftz~gFIb2'|>?9s/:2q V|u}JV$7zs5x80ڌO?IQnGc@?Ғ}:dg?OƢkOv`A4cI8 mhᑜ9 nvȍ3Ar-,3N?)AFH 8ԞA9^~lVHMZןx9#p1N?3Mwd^K)=AFx10zwqKI61n19#qn6 1׿^( \=j،z ؅~2F E'K8$ NjX HT#OdFI q)θ [kH@, IϖԀ;rq}[L5%ݶ|6jxI~e.̊:9 ,['T|NYe7nl*;WMjx1V() ܍˷hNTа~\λs<ˈ I7s5/Q`ˀQSYU~J+4 /,x+3Knp3Ҧ C`.A9l0[S;!CKl2Љ>Ф;Ǻ@{s^R7rs8`=q?69-ЈpX`Wr|23ץpKC zӆ1>Gnn@==qRTcbrÕT1`w9]$ `2mV͐W-lIyk:4̨*'m? ;m5!yk"_hI6K2n1뚸ȓqW׳HL!+-~GzʛJNg{mB{Ӏ6'E|0I94Е+1>fFww` ЀMd8ܛ2qcx8#np83X/W-2xqֽ)\'t߫=HGE#$ ss\wmG" p=Kf\\G.%<`88s)Fq`tN=ocrz$ H9qNsOJ4#I9nAC;@L'rR00z1@n3?2l0lh[XnZ6;p1onk:M0TpWШ9)_90Tf'*‘|BlVG)U U ɓ.܀Oq[F?Ai=k× `zWZz7M9#VGң=vԮ#>=;}G9&asPc`{ y {WxM)l;Uv"?֕]|pq׃ؿN%p;wMN#kr3T3`ӂÏ>n@qU]s9: ǕSLyq!r 1h9HKqScG"==GڥCzw韥D_A֑Hf^;*=F;?ϟ_4g8?j?h8'^~#>Z0' {bSvFs[ؖI<m袿#׵"ɄHBGI8 'gi0ʬww}ry}q^w< ocSjeû#6XI!Ar~mI[Gl䖑+_?6pyV9#tf5;ۛ-+ 3zi z6GJ%V";Q &R8bv}{qHDH]<[2^1㓞#S.rq]~֐hHaq@'XqXBR)3=]e@ W!Vc뎙ɮUAqKz>8>U )@۹[b=6VNܤ9=>eyf RFz9''J򤌌𯲢ki9y;vu B9;:zjZ 6;s5ώқ=\n堌^F28cҦAvA*3=~gGeq C6 Iq8cW`qK}03ҡ+hfd :X`sӜvqc’ ǒĎZ%cIÕ?1 deJ/ pz=`=hWOYܒ,$rs/9$բ*7AUe5JvJX^NYZ[,Fyc\wp`Pe z$~8w^G 0$3 sFe NsʚV{)l@ ?)!(ZkRwo2O-:K`+1@S;G|֋jEILHty2I1o%U!X#1>a8򟽜u>6oLgH[bѝ;?mr+ۮiܗzl~h8\rb \RWm&&D@腉@6ys_dY8 9_|?*gJGInϯYbǹOn^r=8{3[՝#+ϷSy϶W3Zo=zG{sGr@;:~Vc#&jx#SW\lԁ=֧SKyUJwm }qsҏ?9 m<}^y?ơ3|d>;M7)R"i>S@w\k=~\ΈB7|#>=/HqEe'ws+!; Ӯ;wC$cHoc2pOҜ|n:g,eyVR n$=o)ϕԍَpOnzgj<'8]ybAp3OJı[i?jLA%I 8B]$9z!bX1=?$Jzq[[G6TKǍ.}9秭g6o&;!Rr3ߞzZ_MZuc (7;F>USqT f gP "N6p!fX!94<|ʿ$"YY܌W;Xع灐0+)BC[tE78)/sowrCu\.`y$nhc l%z SJSr隬q X@#0H#YG@,[UlQl{}Xb. $x%O}sSI>8S c#13ڹVOIO@u-;vos,;{ Q M;QX ЎKbmQ`.v34ߴ=T8*#gEՊIx uK$2 ۀpKqF=k nhYZvv36:ּ RTV"6N0<Þk<|%3)$ ?+tyU,6.}[w_85(/C}Jexln>qjfN0{U9Is[ ~-"ʲc`<34,Hu-*_f ƄHP~r(CE1KrZ(.2d a#2(ʜu?)2NީǺB䕉3!W$e표S)&Y+䃑 $m`W&#m$fVk˂# sP89&4UW!|d8Sv5"*v8irܐFz (JV,A^Acj"Dʶ~T+=j=c!Z@` I$AԶd~LS{Cģq vB ; =8 KOD`G#(; {l[@e%B6*9'5i脻) yCp`e'w|u>֑VLm|1:{Pu`9 9G5ϨëjW!`Fs$:R[l{Fu?/_ <n<ִYwo 7PpI称皊OAʻ76<@x<²n Al#awɮe6.ЬJy#ߵhyA>g@ u׏\V[ܻ #+6>WE|Rg8AyKsSIP8V ) `>a^s殬S ̤9qkxg!;k6w,N~ncج<(c8R:0 r84gTj+-K!fW1S׎ƣ&"@8\g9`qU*mjK\pQ1Uld_YIï;ʰnp9 mzsK˥HA&<}v88ɪRҍ᠚6KF^5>4+)|'nUS}ܱxC6wĪ{*,epI-ʩ;:#SB8:uDut>[+)xPh3LnX&e<@!y֝i#-tՀB VTUN99SӁH`.w | ,Mz!68<֟(*dySl.: rO9?J{9$S29<>PFAg'w[0|`T98$9lsG#V+9'w ~qa6>Tr $ң6UQu%p9ޟ"=؀.qH;vG[S3&텂4i9hP7=~ɵTmRqTpz^colTᩚ¾f'͐c; ޜtDT7U ׌RXl@pk^K4&clI/=9NUJsžAf {l']453*m%BHOƽG@985IA[b{ڕ)8=3WFGA<+n5]I{4#c*8<7F )=@ls`{OQvC'su:dp02:î:WE㮗@?>P9$q1某CB6*S8rmd^z0f#@<Õ#=alAn1F8rPr:)X[nnoL=1#淊آy9'!"ɮISjJNjܖL[襏E Ww> rd8ފxj靗j#ЬtP Ynp rW$*~$ēH;$a \sy}SL,SҮfhKĢ%8 :#޽TG0ed ($v2 AMmw^Gmi%%3Eq vܕv'; tV9ENLge@.k}{5]n8'˓$9"RF@b=䊙T6xŌH\a'#".D\F?+qR߲+C-o!h<.<˜+m7Ҩivc<7U$ۏɭem}$LHG!I<rC^sƫt%\+H>a8:Lu-c綶H(] A\ ʮaee?2Fw3/y&XehCeOmzvpM/5r8y==)1(Ѣk{U8&!->zԑ||LvpOvrzE"^RAb?MU;܋Dpe,q#g̣pA0H8 <8[֢JS+m#42BmA .p=Jc/-U!UyD8=cC$9fp]xm7C]u`҉g!y끌j$ҳWJdkdyt ]@2ڹƩcrKo qLq5hgM܇ե(A $⼞M_NT]|#C&8A'QO2e]kPˏ4"+0vG~s { >9ma89vؓYm,R@T e3 G.^XB(Q#/+x8Ltd_[ä\842ѡY%|6Zq)BH91c{WOoLZd1BLsJ p 5nWžKM$ & >2ν8ɯ=ab+;q!eVtR1öED6tUzEOs2,dڸ݇`fH̦SWf?r5JQbmx)BYm<{ןjާ6< *\ݑK k;kb8fmiX_{ m<.'Һu3 .]ZEa9rnMnt:d9؝ b$brN<ZRb:q0xqNkg+]4((ԀFN2vdяlcԱĐ8S9shG[ Q]VU7=y9?0=\I\邹ldg $&*à?2|Ke=pőC F버yu9j;:lF?~Or7(SϷ~Goԫ#s[9'=;YD ?us9֩u .I K aXs8 rz!pwQ'GoPF1UR S6T{|ݪ6ARp^mqZH#vZQ=Ӓ;y sڱgEn}{qVޤOc=pNFOz4Dm $]7-Vg<^s\1; YA+ā'>X>`2Zs8anH 1~c~^*z{(kϘu{V/(~fWђI+?xuW6:KV3 8ۮOUTp(#?^EyGt.H;r[' X~\  ;FF}sPZܼsg`$]iHNīֶm `>zDSA'>x=:TJEצݯۊGz(_'$ < 9ˑi>~ێF`[s:M17S:iI+AXh?)r?(?7Aj`8N:}¾s0tϢq^ga 3ȫ{x>_^V%Ϫ½ sۓԓO >{VJzc;Oϗ9zt`ؒq)gsʎ:)&` <u{t厇N?~⛘9~ltLbILq,/<ǡqZ*!6>P5`g p1zUW6ç89?>ʫ8N~SKBq#皓J=z`0NzqMZ()>dM6;9~vW]\=j$p3uRu Esg :ڛum.nHi@$tii+Kvo?7u[<],gz'V6>AGK.p1۷5UjThGh߭.3FAG/$Ѕ@:p1ߚ!`$Gi[X0zS^%UMٟum?2rzgys[>C3R 23nV)؋M4l]['.@BTg}[WҽU} J8d`ۏ4e#MH@噔)`=kS8uf$z֥={ۊ>]Oj<(?v'9N<އ}kGOB5T9#qaO~}CrpFA=L2i-@F6>G\`dqS 03<8+z;3ё̣nX11Zsy~L8 c|4@Lȑ`2Pbv@:LTnILSdcpҖ9Uc(sUz-H7,ܿ qAQ8a\&ц7p]NuV6iP -2t.c'bR)Ht^㞕?wZtQVM 䲖^9KKKFIQPg"H `眑LO;yyIPNP+3U@unP4x7g L9r1g_GxwQ^ :wPon睊gbU`gns]x3#'S4[pzԏCޝל񚇰AG3J>㞔:zzJN?L"<{T;~c }1S-pz߁Ȩ{ 㜜T'=rE8>aO\cR}Fxz¸8;Fս^c,O@94x-̗ ukpw,ڻSI=k/M9Sm 9% MmM&zp9SÏsu rӣwZ=ъ߽ٙGUT({MWGwRG&$|Ā9n > Otң%,g#H $fFqP8sT8@enOoZ6-N_ Bq%zu6PP"nNGn:WsB%>D,,1p@}ؚGBLՄ}y!Ud_An1޺ 9kYL<@-Ќw`R>s%z3]ѧ4 Ċ`H 3J(ܐT3pC/n}L[N[S`Frx^j%v#Rĝ>Q`XwS0w\CA9;Iنbz3_7/`^jX n6;ςJǐm ?&G9+z H_4!o'g'N0p0w9jRww+2A9Z-{`UFGEeΠq0H'$x'I}6+9$:Tn.[ƖQT$nːX'0`WXTݺ1*}ROw%N R+g;VlӰLcq0 m=[9R`GIH~d*^rN9ǽg-FI!ls߯^)>ӈP>Q %Ìxf 3v]clHT8Rz}GNNp@'1Iԃ.8f8*TD%FS9g_պ 錂h)%+ cխ5Ⲹ7Z0~czKB4]FI #$1pzVy%ĶaI2 N{Q[#=Iy[ɋx@qS>u If_-;8c$辘&U[*+GHG [vo{C1AN;'mʸtJGE`Xr?{$ޘ*)$t#bz "=/[ x'HFydd^)E lPq#=iR욌r$|ghNE{?m+Hgvxk4A 㣘p{hLm>GZַZgk v*5Ȏ0ۻ<js7H ,JG.YqqVXOu?#Ȍ1'|GakTߗ;A 7aבzݒWR΂p'G9{=w<:z)^w\3쎅sǯ^㎇Z1}{d׊p\^1Ȣ߈1~z=WL09t^Y}ϱ=:r 8ܗn&zӯ|v1csM9u){p}P8=BJ$_ߑI#=B?Wr1~^ZO=@ߞrO)xG+=.?2sϭJ#vv`E=2= y)d3Fw$pO`9_}syC>K9{*߈'vfvkBNLu 8=GN3*__SD0p3߭!'߱~%O#tTuduժ 16 $zzVuϕ3^nXl n=c^ DWpIa%*;[_lRr /Af\m?Zyp.x! G@̻8JH3M.>UfH>ޗ vS]!ε-۰Ud&@~l1s\NH.mA!1a, *;KŠ|S9k'}Mn(]yVU#i ]TE6,*\ۙ18angWkrӄEd&w*1dISץâZ"3qs+(m5xҶ1/4Rr%B 9 N۳HBHpu8Ҕ:-hj5Ȏ'Tc"f(s}GZWRF|ÐIckq tR:eP-n-󑴀Onⲉ88x-3nʼnQ`z@9s$y/Ҽ=Izx uU0i;OQqYUZz R^;,DX0'|w6Jֻ~!}!,B,j1k݂I !$PF@Vpk8e99rv#EdE9F$Ƞ9UleE@5Pm:v~̲yCt)؄ܧA=HVBiͨ,C+ }p^ gL"pFGܺ qVd%Ƽ?+=' TA${--| uDu#v  ]Ǟ*q*Y}lP/|o^=ڃ[jQrJNq+͜tLX;vf Qϥ^ O,Fg#b]*8$ 5EiF|#®]3/7sV\9„<15#1ۻ>60AV71DA-(]Dq`Qt,`-gMc@Ae*(#}L?"m-?>99[Bf^&;I,9ۑykǩcKaeUsHF]p<23C߿|bmd- gwʹHA.s gayYnݗ*`6)* I$x_L=U?i͌'9=B89k?+pI猎:J\yRq36߽ ۥ ]E'=`s xpise2CqcRR"'7wzOUXWP,w#z+ mn:u9)=\#G!eb/#+|b"7N\-=NzʢN66x3 #Iz޽[%c?ygy 9%c /cmr1KdqWY3 !6ITl1uOׯ)Ň)w [ؤ u4m dڎ1<թ+7Xȼ RxulVEcsD\Jܩ5I|!u xt-Ǟtu NNEL03~'NS#~m#@  yIB) FXD2@`7p}qQs1e;Y27|cr8=:P$@,P T ݄<qfTBS <nSZfb<ǰ0b+. 2!clv8=q$BϺ@_bہ66>a*߸tl{H;=736i7N,HROPT7?/_ƸWIH7/8Uyzc=ݩFGԖgj$Ͳ5Qe!S'BOuzW'%ʪiv^Ljݺ,BZC22n= n\=;sPM:R lqЩoo#ج$9xy܎knwsJS[#Nwu~nu;Je1Vno菝CgY% OldV++nwuQr\ǯ@:UʂN XP"$m+9Oa'hێ V|wq A =1TcK.0G9L\\ 2MŸ-6'߭^X. 4E 9 A翽4qYS&ML2q߀@-V?2I ̒@92w:~jd.]ܼ[i!I䌁ɸ-Mę˸f1@wXA򉋅 Tpں K ~v;ne9.Z4j#`fKuº"đ_ql|Z4(%|6;jCE!tP9@;9*q§\szy!$dqӰ-)ʜ0WߥBirgZSarWIخQĀU{eGaנjz}.[YNuQ>`8 8sdJ0e2꣐8ڸaIȯ条i!`ާYT*,1~rs@}e!e*I`A#2@Sgn?} oƲ1=sG>ӏ=q.NH=rG|QО+YFA?;r@S90fbsB0eP7|뎴r䟻ܐGEϿQp@1:={i #,TA%#}2jO/qa%Qw(}=sވC'͖]rg8^楌+JT(rF3!pp ('(0u#vFO! ,r+n@E=vᖩOk&1K)]9ڽV# GsӶsj-oɝl7+`q#s]Zl𥳔ZגUߩy07$ jΟ]R9|c$'?\T:z|^eKy n:W+křZBywcW^ǫOEw-#rČ}NJ.Ef*kHd&3G2Keewg}1t<zqc.]Jcgvo=O8S?zNrsmn<8 v`:.@ te?\,{7@38?CUchy*~,nzp8 2.71<ֶ潼"y>C26GoCp@@09 `HFw 8 p6'^L6FqלShЭOq쀒rG^SZ0Il|pXӶ@\X󯶙Eb:=f(An+ t*Y, `W#; :r0:wO%NAˎ ,V($eA*Q269ak L,c9O-LdSIy]y֢G%T ,/[tEy7" NdKOkx RsV349\۬cH6G¤dt=v|?m=J:L+R/c&٣}o;.3(/bzƒje 9^Fyyfgf&TNeE,u{~H@JW,)yh [=Oh&$7dW_Al"mcڊ3b ~tmTҎ,yC) k2FL9WE6܅#3"yl=ܴ1-|GBGCyL8`S׭59t傒>T+\Tݕ(i7 ?fiB)3^sa7]L&ؐcRB9*Q[}x6h|q (+WڛLH-3wT暸h߲Ǒ2bU:Ҹcmcl99r6Iu JUvƭF##uli2dCnF:Uɣw[w:`pY9:W7SXy7W{&9)Uc qک5~$7nWe iPcrjqH^]΁Y, 1 "'y5i'ܭ.]˳Ɋ J랼W[5 (@ rW.[*fӳ%D7Z5Sۘe(ί<J5ƒ{n<>  frZ8o GEB^W+V0ǎךG='cY&begۋ#O #+EdM){qnhB۷=ě}9v vfkfBH'}q:t]Q_Bu\I46D@1{;;;`a[@ Sc9{߁b82QoteXȐeQG^vcYYkBX7~3z`cqwv7#XhFM˻zrC85sOeevV &y<RqO7Ԭo(Fc#l.>w#E7e>VeE` $dҲuRP)'`Oes1%q_zאܛ2A|dْDnAr>u}*G"+hncq|6FqWh%mEa#C$cp+fQ#'׭ FT$Zp)hYq:ה7\4A#ǀE?Cwt#ػF ~r%a<"dc<3HI[h#`}yi~a9dңbG7,NX1+Z;GSV8{se$<99saaNP c ^p{VwfZ` {Ny]H!' 8ϭCvZ\PF-09Gjr@8|$m9RGqPޞ?H@Atg߳Fb ^O햔^ Hfy'R@uG :_:_Wi+'ٵ_:h3);dD v~HkmYvѮ5sQ(۵B:޼[u9M )N~Byaxı1݌gלZa= 长<(S;Ҥ'p9G"H+|r6z\ s`j#n[Q]䜵 # *;G$Vt0|+u_ry#tZwTwKd~̻AR;ު#1,.W~n }w?.8l`3tRظ,89p:dazgGC0=C.yH.tv~%U8y<O8Md[%N@$9瑎AUOF`@kp# 烞BT0 ьuS_fK s{Jp@2ӡeq;:r?eG>(Lu0Kt8$qۭK<=D _LsT>zxP?aLw) g²fMq۞Up;DB6pOnص 1`aGr;9v2:gֺe:8{{U&rb6h,e'n3#qѽzEQ'>T6ĞtΊїn6r?{Kc  c>2:6l~60 2ʼn=k,B'8gjF*k| #='h8_/E{Ӂ_s( zp~^3b&v<CL䃌Î:p?Ƌ1O0y㹪p o!9>܂=x?Ґ~'Ǯ8ZOrzr1sXV鷓Ϯ^GQqU+jB}:g tMJBϿOҞyjM~N{dwn==8U5 Ƚ9Ey3ל}}hshb A#ڼ&,4BF/lɝaXsη?i^wnJ޷ EGڥ\]Irc9\PXF$ (`XYz{zFܫ_>6]A=L*`HR# wk v$rL#e!>`0 ztG7$Ey 6_nsۡLvϡ-'{Et-Y ,gs+vW+pbψ##Ӆt}@hp@C ܀FFskElv$&Kے08sx%H$s[Gs_M R9x,lzz99=yr?ޓXyvg$tt,v#BwI@OL9zc10EJpW=6t^9nXA1N;T |s74ߗnU'WFq V ݐ $S{"H#L 9*>*x;N ӎ~4)䍡'aBAb2N}@ӡvl`#yϩJZUW!WOPA=\Uh^W#o…ܨ Ied~ӸLtdt4UWdV7r85b1ﶼpϵ>d-X'zȑŲ) )#=Czg(f;n%0+?9 d\HϷ@{sB.Cx@] nN4D$ v0뷑ڮأ;KRO$Tb,gmaקj@zF0chzdիPFYm耱d8*灟T)|HOU%Gzc'=*_[tYr <l6V^|+ 8|TvE!d9,<8 B x$w78=Jq}?#Kݒ<Ɛ,zv|09n-8m#Fpef8~H s׿oRˉ^*AV\UUz`1f:g4HfaL}Fj+[$ I?J͑8태Шn`z{Ԫ;q]?L^jIbJԟ{Sv8{m8@_B&Qthqӯr(۞񌜓1{U9>e n9#-n{zWsn;d! =wc5O`O[709'xzv+Ca]4h+}C ~r=9]Fu-n>E<ٚsA{Jq O^eŜ>cYw7rz_8߯Zޗבhcw#[rn}3s91V $}:zt0-F}VYSW`/HϭWڿxrz@@}:{܈zs~{z"ϧAӯ4 c~19ӂЩcsje dP$zrGzW;pz#]uwF 9x9:< tc׶I+פ#*xczVC;sYH#<~O\w w'<z:aq I/tf783=@=; ^ g= <}O!{uZDL3qұ-UBRX=WQP~vEm'hdlc+=O#=94U"wǸCd)AEouC/GK>i1 Mw xb[*}?=ěCof*GN+δj-m%5 5R AZv0KLbb[FTFߜӊ̟{76w'h}F8<;#"U q5L_Nvg$qtt W'k0\Bzq88&28(_,6͎p8R3@_]0 '=:T*,:ޛ51U<;خV;2B8N=MqѐG#qE spyBۂ;y\t FGlu`O V#, 1N;= u~G֜t:Uh3$^|y j|3}1q$v=KlUQ3܏ >z`7nWiLhzDϘ$*>2OF285 S1o9I#U>6ϵOO%0_xRG#9}k&~SCeFPyB b9?t\.$}iۿUTrpXt?OB_By3 n#O<>\C3}v?\2K6(xߴmN8x194f$*xSc=m62?G3Xs*p2(;U a·<AGuJ}ȋ1bOQd߷&n F3[ׁڋXs܀x=9o,ݬ3BuI*HUa$ݵ3b{D+0 ;4nXx6%·@NI4&|Rro,O}sT!bfWë!(I,>P?*4ake9W7!8GJ![nߘ##NG4^8DTDp{s4٦;H.7de%_" X cؑ߰pvQw 3U-i!;pxnUMq 9I>Oɴ𤂤ǾI5O $ܬqpcXJMÃC&[XkS٥%'Xgz W!F.Yh #+T&'iZ@oP,,}8]ݻPH A'랟1WWGɣh#9j裟~6ssE}5cU_^>G}OR{sᑺc lzOzǨ橍:Jn>:qR[qAr1hOaA9=zt'np)a=In:HNi {9QW{]!Î3wtғzr9#'?j9VHvgL 8=r0:cN{?Ϟ8=j!9$q[~qҔgQs;-;#lq?c CSg J's@q}k+ |ר>O𪾄 q؟|g\1U'pHnF}#rqAD|s8'z~{~Y{ICH=?ǜ\{ԲpcgK==:qR1GN#9ߕ/0&ٞ@W=y{=Oy99P!zS<:ux9oLw΢?\1p Lu鏠#Rm$'iqve@Z)nr<e,$p8<V;=7|E üry`Zx,w@0e H7H/|duICn.x $`f|@!]c@~u@8j.c-Ьvw(PN\MP1F3s=Z塗}=J#ޫ23u8ˍU AW gN3ԗxmFXᗐN8vd2"}A7e'ǹo5Ǩ"y#`ƥ [NͥF3w{RsErljꗱ1~uȉ uVO0TpJp IPioD4dNb^ n01kHe,S%@I)Ivۜ .Ს_i#VHS4G|<2^kHBe~g/JF⧐N]{d ps82*ފO#Hc0*UX6̸#ZJ+Wў!)gchgi @NJG]銋P <^jǵC*Kr;l2 m93҄;#PXR.%]#c XڡjשϔMv׺7BCs#=Gq\ܲyq]JFO^KG5p{!pICg8=>ɴS]͹lbUddz#'C]f][D`I )!BYPzlqQY?QV('GT,Nz/$Ri>B6*kHC(y*ʡѱ~fBC)p*.%ݟc֨Ed>h%UpIA$ұ$Ÿ0 cnzLUrኍp0쪣'4e2T؏.9AL@:UI DwAWvƅd+60}8 1SwK6vlP=֞#ZrXU;PhՉ# ̀#>[=:[S^V]d(ln;槍Ìl|8s\+TXzWFF0W;wQ cT K>a_8uuJ$Rw@A;^jIŦѫ+Om@A;cV#ڔ *gX؂Fﻞ8R唻\V籘sr&$0|UtW16#aPG1j{jz;uV&#y2@~B%뻌fTN3_Nȋ9mTg92m9=)Hb`s $ztY~]T8ݪ)~c9c`Wic:b2{f,ach|q<uݏ֗@Ńw'p M(0=A>a/JA 9Hi=C̟pU99Lry߮GVlA 99?7L-=b>\,/ I#smª XNJnrO]cGbF1^kNrv~z+QUa-:Ъ$zn`38pv#+SWu>L_ºsijϭbJK]QBuu#)i2[{¸ ۵pC``7x|!Zl(0\)%72ez˟+j_UH,s?Ȯ[v'~~F\qN3UҮCh0zI%i2IGUjFlv%8$7^y(,7c ">duqp9119է!t*b@ 7ҫASvpc;woj.+kaqd GA·㯥9"QIT ? p )Sl,B@O9qQn9c֚䥪"!3giJc/SǸ#=[bh$p3ϷzMSC6F nC|SH38әݷ)sTr1)6y?7 uLhK @ʾF^SNp#V/#ճ(XU۰6;cspI $9P2|'ҳwf:Db18 VEל̀N62B!>qeo2)F)c 2*cZ9p4l㊤2.H{Idj>|Jwt玴 v4u%6 1=6"O,X0# ]st@m8ʓ\vWqYʰqtz K4^pݺE'9T&2>cezOs4e XnAf r=x=Mw,HcU*犿`.v[]_/I'K$ HeTom=zfd'+m8Mp31nF;]Nڌ`<׫M+mc{Fb P@“@⾔]R5*_E.|y%vM$[0 SHw}cs}k̒ʝס WoCzkc6GQ`q`~EsVw_֧){pI1ڼFXU* +0j8C+归11ܝ2T}ym?w͵;޸kɫH8Nf`< ^#9,7eOCHoZ}Cwc2qH[8 qo8yˋ03UC{xj`FXG #BO54D.2B~\qןZlqԑБRDR[8ߊQӠ<7'#AHl g'9?Hne@bA$Xl\fw'JmU6IԑHG{Q`+eA?CS=MCP)!>UpK5013q'7*ubErmavރF0q]u Gp #;T1;]4ec9-4b.1&s <zMq Kb{*53qK];SO#~AeQ̊𡶟c]Яj`zL|VW2Fd߆*(I9ݜcs9ւ[G7+4gMynP;{zW5> 1wӦ2kϯQ4z\?~5-w31]*zlGި=JNtVF=1 הa+97c|H}F*?xr2s%-Cݳm#.>Tm$pzm\*PW۱qk^K;cRHg#P1,s@耐AMȪ! FUORflnY@힣>@`TWh!03' \grcU#k ˒H˞'^an| $Wip'uǥK%;W J1pOV✄Fڬć@FTt)74ِb1/8lsLUo2ڿyEe*lJ u0y}p:T-d-z]a:I-x%#+I8sq4 Y"q[O2&uP8Lݨסa:\0vI I9j)a O*2r x89cQN C}2y0"C$A~=)`cwr[*W9M C F 6 #m*pG8ɧgo,\]Fs;1PcEF=V7b/=̓^"J{מۍqzީ)Y-Js@Teqۊjˡtva!]zw;i(x8%pdn#zSwiֶGsoi\ĉ`J|p8's[xOGf62n; AaW*^f~#|O3cEUl+8li T$qyɮE$ "2! MWgTO hW}BTmcҮ]}pqYz?0;7~[ &eqY$m%BQhc&9#'fkGGAxՎ zVkY׭ΚBf͙re'⹫fMc(xNqⳕVތ4V#7:G^brsV[Rւ{o2ˌdpM۱IYe2 7@%Jl.Y s@YHTU_qk_\GRb 6*N0qjv:;64vL`yS|dEeium\Z2yhk$ap =1PMG7++|=^gQd|#.*9*p8:bi۩0LwrC"4u7$\2aiI#")ev'oXʣksЉߒ?C${sߠ+;ch.1Q57v#m8?)<񸂊Ĝ}QsJ!:As) sO۩;rzE v0c@HBq@y0I8p 4HiǍsϦN? :u :3ؓg55ZKĒqz9p+j,G.q9bv7̄p:ANkJn Cc gg= oO5qnܞCPNCsҢh띹m% -C.YC{W`X%eo.3(PrJeN+c g޴ rxoL<ױm*N?ϩlnsݻdzS6aG8ۯzm9+3ucHVd `d}GLU9YlH */Rqz`V,9 r{3ҴE8 HXjn 9R<9洰иcoq9vU$` d3<iӃvp륁v-n0zCD(FN2w|=}}kBm` 91*$t9#v@sGG9:'p2OzL gaة$<Yy:>ei#Y.h?kZ!˲۳s9ɯ-hMSZՆ"Z8caS'dbd@ P@8$ui-Nk,Y[892s؏QGrN_:%N WI Q6Fya7=G\tiA`Tp_~wMF2,pAeNsp v$p0A##xM;CN2> '8V%mg %f%vaܒ;pyl;( l[kjf|$ֶ:$두:zUI#Wwn ;>^1g'ӧZ#qNI>91X Ͽ=1z7 }8l`2=49n1gAhp:NG1pKuۏ^LCuQ䟗 l 9\k^gxs@HdDጧ \wzd6gXePJ=⾯vψ/[K TJA O $@fi9#.Ĝ FFX&d(,샕R'#ׂswM|%aָ$zܮ\|rzrsS0\.1;Xm#3ӎȺ:g^)8zt% |Ï`t S,O WM'9KCrI,Blc5rI UQ"* !sP"_*)w$}`9' b 9'A8(0qYp0NF ƌd>aQd=X|܀@KZ*f,g?6r2GL]vu !Y  5w lIlׅo9*O ħS9uE?c"1㊵kEѯ>{P8+vr#vwSֱ.&[@t|r|AOnʾhiV`pAyٌ}ȳ/~Q3|qdAsP1!vA`לi*ʃ8FHn9z׭I<4.W<<ϥ+t=q3]A^0rIxe AHi$r1̀98GrQm@8z?0yG~92}9 N4z2Q[ |ެx|{Ɍa*HT3sۀ$}yVI8SO=Nx]{L@O_1Jn?S,z=> ,MEu{m z5EpK}zGr?:k?#˩I=wcՌ\@n@=θA(*F9Zޙ{mm }Z.ҷrfW􎭷^94lXORGtcrfT^TqlpylӮy $|á;zWKF}D^@ {0yӮ=Yk9W.q}Kut!n;s79 ?p3@`:Ԟǜާԡ<}`K=;rqK s }qښ8ܐqiKT4Gdgv cqR? Rp3ܒH':NONM)B{t>?T~GN9C^ja= ?{a?Y_\q#-{8=b$=zz-Shb'r? p:xRG"Hu3y\zgf*AGq~q{ʘ0eAQ(v?-x] dd`GS^#88R#>@zW`nfj奭sXWvּoSM/'i=$|5Uu/Bޥ?$y+O JFSiĖc88N |hګg^,J![ sx~hb*T"C oԴ]7vc*xFڼԷ0I+6I84m:2FŔ-a GaRL79R9,OۥhM[1ܷw~%4dX}::ԽQAvͻ8w`1Pq rFӀCnӌqȬٺ r@of ==PrI$9*37QQ 7"psA|+r8:R'w?K թn[h;rT08~\מRz~=9'8<Fqgi*L`N70'x= zf (JHnvI Da9 ?_l㌃WA zP64R?2G. .sHdwdj F$'$w=х0V FA# pP=-eNm[[vܓɟc1҆]>CN~M\MGoJF}Ŋ~ROǟ^?g{hQ61\&MlrEV^POҶ;[˱eS({xÔg$`*:1N2 ONw$Em̒GYDj@zOa5s5m(Ir̲Ic܌+¶f aղVSR\e2Zai-O*HW);Hr@+F]i =*qez}4b|ct< d*-$'۟z|Bѳ#C3HRrFx"3\pkϖ}@}sJi<+2L^;[:]?遟Nr;δBc =L旙#<>ʙv(~^~֤4}zAAj&._'LgG<~~č`^=FG?>GQc8}}OLtRR8#?ʕNL1R;Egӭ4#҇H@r?S6 c='8jpNRIj # ׀x9ބ)q8+M4=z |#+O50*%\+tO_[A7~l779#8Q`[?OVBU`ĕ<<d޽ |bǷ͐1 鷩^EZoMngRz H|[6,nE<6sē*S `O9/I-픖$c| #%J{ȥ #1CH'Q̾g*rOb9Z )9 |?wpI ،dNFsޔb7mWCOϖAQUҫABQg{K'ϼ8TNr{N,ƥ'm:jvXڼI4dJWV( 4!x|(?#:sʒԎ@:ּצ=~kzFNu#FGLH5CRlnF8ϸRĎW}BV "Bv޳xr2y=jmj90 nLbgtSf1>r +hg2ܖd$O'ޤ!=+`l {zWm1Rgȥê49U`Mړ$86*"gZ/Ȗ:b2m"f$~`c'Mgn[y(̀{e#Ziq2d,X^3=:YðmU_ =Qݩ|rTt=1T3ZtE,m&z2 xbY})=[:Vm;V-ȤP0PG|ޝ卋ʭa9E>C5̀7mF㨨gF9 2R-"«PxrH؀=XB@**Cm@<K#U^0Sy$5a% DdH՜ݏu;VSW_!'c]l2. 1X2=?*`֣%FÁ?.ॏ\c<+Tvף=\%z`sG+1Y~qҼIQq{=캊qs`*Ȭa]0 #9+Szaqi?2ctz׫vb~/dBȨIiPjBids呀?~\fPRlL>dppH:d֫WRK2m @ *pLo q#Zi6]v z:i7e~IVB0Tn1Jq K6ߔp\u T] ؄~BR[ %~46 v1r`qpb{۽83_S|!1p@9)2:/<|pǮHI vKN1籨㟘ufaI;{SAW O9;B;1=v6(@f@S?0,H$ǩ<UGvgSD?&H,yFgwGV_  %EQjq0uIC- (+toaPI(`[0C,$qҴ!j} bpj0`8Z#InI{ڽˋgVpX(2# `SU\O^ %"v;!nݺWMiW(N.p6p8G^;_/ӕv>焝hR78~k-<lkCvڌ>ʜz> is%>N2&r#M=n:zlޜ.y31P >[$1l 8ӧ&T;U`ž\d(6~Uu'$ w^HKV,L\bqִa,6b1X-pޅ7Ɏ[o*#>+nUd2N8p3ԜPoc'-HIg%0GBoNtK`Sºn\vaZax|$AR}GB;ps֛ZɅ+a$`lqcӊr*Me'nT;X\Qn9QO+r <قk$.tp9>k7ϵt9C۞?pHzs|&v{z#y]yd;N@c['֍sS20l==n|>99QdeQMMCrFs qҾk-Z ]\Ď gz^/>Yp Cdzz`U AlFqۨ+&FLC:Wn0N@ӵU&Nh#sҼҋz ?b .{=}*^XvF<~5SDW3秷#N;Tu~T2 09MG'ZSA.N?ϊ <$ 1(3Ͼ{wf̉% @(@8' u5<rrxUR[zr8޵-]$G#i?xz{ >cFM8멛p7Ws#c9Ы9UD&ۍs9QiEPRq9Gͅ8Fj7>mA(U?U^ap_]8$ A eCdmc5.mYT'\nۖ#ue#r0Nsj3Xfs;XH H5ۊYy\`?G55n0BSuӕ;{dqӂ TƩ3BñVevaž9yNX݄=qV c(aNsL9 v6ތw$sR) n#qsvSmqn{֜&\YXo 2ہK=I>Ӗ˳|;X䑞csUJR^*`5 ̣9`H`1ߌi| }p[qc#9O8u!}A&rzm=TIV>sxێ9fRv,7ZuW!}r3ֺ  H!q@{bvFŵHfd+ m+"s+ʵ`Ok}^r;UmT3-R3/b2Ysէ #0Fov< LFΘ x<`ߊIpb}HHc)YvSW']a8QaֽGK0M mIQ@#$dOKysUiɖmBTzWA~l*ǣaR;GeH$,p?xtcLW-yO9VLTA&Nd\;t1䑆[{w Φ C@i꧜Ǟ*Li#:o!*̦H$d Qі LۘFFK|W,>Swċq$賢" /+@ӊ+iⱒ6$/$ D3žmQ/M3# P3ed118=+˱w/#q3BQq}qs򤠨nubp2\yj r6nfO`Q{5Eiʆxc˿#}pҽ#Bȩ009(\qcVK23H|T3q^UxQKH HQ`-黎[v-j x- !e'*Z 8.VbH+~hds#vn]a17+<:eK.XdsmÑs}yao+ @ q;g<כ;o2eĒ*y1\q3ӕM 7}Fąv՛U5 [NP"Hۃ68āNGS[/gXgPg/Ӧsѥ Z+|H_%cڭ7}^Eb$G?h>E FEp:[k }ʡRHn\&Oo]^Il\$&gR5(^`I*F=zTx}?Zr5 wV+`!>*aǗXno8i8.O v#߷+ק| g#'3ZE26 }qާR#@mN:LVr",yrXB٩.џ7W8SYCX3.e ?0Ӧk'h!7Fޔ9m*7a݀"dǥu,78o/V Ǧx"$;\ݜα<+ I\>3~>d#1?+ҩUrnyTRQ$b[99H8x'g|0 +I I>XѥmZЄs;8gsQq=xN(jv^:{{{Sy)<`dcnzӮj*3/ #[hJ; >;rGT<9P5h *2}~`yq~9PO><3Ua6=Pmyg}3Ze~98$2W?*-WdGI`{O$W1O;}9:U=i*O@<y{nC\r o:s5*3r3ÞzT6ZR7qcy~)9ZkrH gݾn$n7D'l8U`u8U=Iz۸`Ef@UV8f3?vo [0FG8v{_fa N2'ko_B2n$i)F1$w\[Kn 5 cKtYAI_v52\cvI}A=sZ;Wfr 7pb`}u: sbaTy9 y_ ; &b7|o_l{oHRfd}21ֹΦ$zކR]ԪEȬRdxlq}63sV<7h)8"ԜdG(GqGw?O?k1Ip``jv' ۹oSK\3^|=XX0g; y=@ 6dt\sbC>=۞N{z|^R9?ʘanݷa8p08 ?7l޷S d!.s8g,2Yd:c= 9Vr>jb9<` /|vbHUzy# {c8P[/~zr )K N@<|ݸ+yC ] ?^RŢ^Gq)/=i+\#UnAHw=2\@Ọ*9ӥGe#vIn0p|HwVgEM?'vf]dd5fc[bpggo('霌JW*b`N"f B/ >v1yc9ǷZ؄qvj ەy!9!7`qա3r mB5$RJjyBał\`9s3*[H{~K BqJOvJwvl+u$. A#ofc+G-`ڥt*dpLo ᜮ$y|<*9!Oz@x%YrVLTc>1S/Fxo6Ƕ/EBPR¾}d$a0ONz6Z: f `}>2fH~ۻi9Ҽv2yúŴV8zVDq$KOđQPiaUC‚>cF}{W] ! { %װ_v|弍qNK7C=KI?Mأ=p.1sc7vN@#t%+y~;T9$ӑI_.gQ8 dU8$'z 1n2v@f8n9D00O8q N WBÞ8H;=mHhqg;t5&Pe@' &.h60}I Q~jf&s|Oˀưu+A$X;_hbǧN>ƒZ>xM6G\G___5>CˁYqZb#Iܕg <7ds|8 \a${{ _/V>$ia׎r2*<z?—8%1ק4޿Bq Clsیc֣:duM`@?9vǵ?}}U%0؎c9O?-! d~{=jJDG ב9jKAcӱ?I=p1~1GOQۃMm69'<{+=N: GC 1.%#< 鑜{VnnW%l<{dj#I'?JPBrc#sw8'y϶y&[HcFFr9<{vns֏N. AOMDHw>yyϦ&rs\cn?#EF9={[vwAu7׿^r~l|1Ny=xOlo\=*O|{? h4kZҕgO8<y$+ nvӽuais>os f5¶8FOv?'Vy`aǠNz׭F>K_['qq$ ;@2N} v9d rdcq\8!qjǯT}sL;"{~6rx+vA^]I-& )%I8>5k>wJY1HÐȸ$vIHFݎ>_[kRwFj2 !0H9g8^{c޵EGvK$4d @Cp]W WΡgX9|r%Cw'ښ'08dz~c ךԇ2&ib'szmv*9IMRy??sLٜ3ys=hSRmqѸrO;孹D 98n{v bA\d6\rqξc A8Fb {t;RA&pvϥuPGݹWwe6~R=t hgX'$gCujzQ˹8Ѓyzxy~l9M;dہE]e&1fl=s9+M˝ė .@빹'n?*O_IHJ` rs8!3}Ҫze]8=V/TmO8!x'60zwMCV$l7;w҉3e@@O\`,y ?9Ar1ӳm i!p=93> Aԑԋn:x^@b=xۓx#㍼NБK!8]װϵ&26NI`{ HOs:ATdE95f'aWCK*@2-£;i$/ ē-,?8)tZ'lr\FdVa^eu\`1M̢g,g+Z8x`_c{kc60.cUgAh29sOFO=ӻt>Lo8Ǯ.zp9Ϸs1N0:c>}iÀrx>>~#=sRzqؔD}Ow EC=zzӽ:cxڅ8;F2~0sKgG2:Sns@۔+sU']fRW 0_C#'͋.dP+W{=85%*;c;99`}O4!}2x$|%qI |Bef8Xnye|Z0fjU%s9oCQ~[H\ g:/K}^7X/>t?yK2#2~ZNrn@PvyqUxT'MwOۀĎJPmD2}GҫG,NT #`d7Ml=ts2\0Yp~^"8e\N gӋOTJ-SnJ&M ;9'sn銠u8"ۍeKnSN6IlekjF#e'x82H`Ϊ9̤1߃Y*]4ՏNodʌnn1M狭]p9'NMik'[0%"d+ EٞXx5N :vy.z78­^͖hsa4"޿N+:q,Ģ˓;Gu#Z~rZ<~~p7gwq$dWmvfI]nx= QG)cZ(Lv烜wF-:"> О=O֢u!Es-'̫i#ʉFTT/g5~I7\6rV2`dzwL~=P-}OytZVKDr+#hg{VPymiDbebY7mz)rh$ /'zGjv6nW||;#km9d'sw}F1щ-vkNZ֤p}N1Eyߊ.8d$eBp#yzENZ̎!AY7m 9]A'8y0b3ci9[˜69@0c?3TtdɹpN@}޺)Q;Fc^X3:W#ξ9MWrXA^V6rHdەec?n],<͠rF d sP[IOnf1TI=*֨Drf݉U|%'$;ʅ;:{{*MȪ1 bF =8U9`,1 }޸qiۨўu؊XB9€Tܾj n1u[:SyLD Bȧk#KcwM$jOӿ͞Zmc#.́ԁ[qr07# ;|߻CU=>,}}E';inGc8d܄2qK"74 qiWqye񷍑7LcI oAXA$zS )E,e%Dxde>V.Ow~~-/ e2Ot!+?[j,9n8ѥҰ0m#>םSNBQWcx;CoP:Xc~딼\#d1 ̻I'Nvhʻw9ɼ3n=ڨ.hv^Gd20wMaPJ$]c>:U&$Hny zt986nB7N܁Tr SR}rv$dO쁇7` ǦyAVrcGCzoQ$j:N@aAlc^+H;Bpo\Ҿ11n U(81Ns1#'8<\ۆ<;_!(䌕 z#vTG<8i5(2 *@]OQ\#p#VQ!_>í9-A;#7LY^2ʥĞFN=*Ǖ23nXu`ϥH'qTr˸ITan9gw9 UqsT ;LKg"@vTtHC.wn#if'Ao@1եj8;t3#8ٶ3Ẅoo7SlHe\yM%N1{Ag;P7<nǧtqb0[~Yg&v#񆠍 )I|A{%e }zgWHX9sitZ҂xO?MF󓴪6/qޠzҨ[ˎv%~pzV|rwUUs=sӓVfdF>l |f3)!~axP6 KI5̿t +6tqVa%lLF(*v rI+iX,@ԒJۚב[ȗCaMۇ6wqσ]dL{Xo,A\6-oAЂ؎jX zzsYkO0KH1,L=w`>h'(#PT#94#ʃiIcW%ss֤o/%;9mW~q֪V;B00 {u>_^JBF7r^J@ a܊9 $tY& pr,:2Kgw֌|s\n7&*Fx8<SS$ ǩlqޥ!6$ =IPq;XqҁWp#sǴʃ23]W;\6܀A1@6*̜*oP1oWJ?/@{aNx K$ HPN8Vas߹vV/yfds* >颮V3岬m |jD[$fs173~Dh-,ub#LQ!y KA8.Vcut5Xu~ <)h5N2XgHLqL=I'BgKP"/T0W}8ۊ,q`D iyǸ<:T/.7z3 >hmK `|`v3jQ\* &-I7/wʇ`C:u>d0:d ەϥv1 wXH'cc=sU#F\OlzsPr$>nWGLٺD#xnŒ[.J(egѰ4V2h+G+6Y|ңwCG!G !gFr㞄zQv)$nZt.d#~EoAl?[RqDVvm)C5]44tօݦ7bw}zOia Oā9ݵ'͒^ݣw# x@r!}rkSȻg *+a SNz܆ :D9+gu!u6Jcydt;MōlGS#(V>Y(3Z)+6ea36ȝ~V8(SOQæK@ǂwsJSH\5B1LJ9;U#ԀqZjD ,L,G9N>KaQiEd3\$$2޾IteW2g0ʫdԩ}ƢVⲊ n&hC(e gavpH+6I*S,O̠)2h10gPq?ΛzU}Ҳ$0N1fp6B` X߉N(TڡHGJ;{PdrTRwy0cA,[Snc(9 HB2AʷIUڳ5ԥfyg| E-C/I!r>Sc-&3\7^DBɖZMXJw3.$@۝QB^5 y= )6ٲI27yAqRƷ*|>`@}~FN~\F5&@ ʯl$qi{zr1gC` O!OoF 6?+BA8x'nNǸ*Eyzg&bEP?ybS>R8 7 y%B1XjYHBwnSd .ǎ*])C#,zd6ёVF۞8'?LɘFy; usYH#&\\"Ɲ21ӌYiurF=F gpe(MpkR\;d8+I4sΙ`ynWm,F2:R♊Yar?H?zo5 ܌7g=.w1v; R$wp| w W{Vw)&y >5"RA 0SYieK!U#;q?2x~s9 3<OCٚB:60;UŻ]Ɵsۑӧ>Ƽbrg*8<}p=?)cك1,N;ߙ)SVllA<߯׃'Xv{i #_E=G_^Gӿ3>x֛.}GoAL-ϡ2=RQ7\q΢RAm}~Xly6pA=z{W玵)-ěaZs&mLs޾ӄ{ISg y)TuUfGqA!i>PpB̭NHgH>Cdyv%.x#qӭOe*p8Y+cC $Kpzt%b,F0F>yյ= ᷃<8rrWsׁ|`+0nX|Jq}Me>hѓ0)9Ww44 GͰqJ`w}?Q>nZB\ ؆F^?YJ6~RA \W6-Z# Т[.ʀYs׌`~5i0j,vssa&2$pIdi@gL[)MIwEު%@Up'ڧEl/Kq #u8:;O[j:=ǻVb*[`s$\c85x},Xyb2pFO $gj7go$#Iq'K@ Tnj:p@RWsl8=ep;;*?N:sc>}t:0B_ޱeI][ YK3pLҼ;!oq$ev3ӭs:FkÉuKΦ%_0 az]dqt5gqT`wN3VqNH9c#'(#9ۯp q3ۥ &{}*9 g4=s@Ғ c17s`G?PB8#qxǧZ s>\) Aʓ}kO8#-!ӯҺd}Uef @ `ytҲ]yGv溑sFp'n g'?zxc>iA;bF_pđ?=kt1'G<`z+Id]˂7rs==8>=ZaX#8p2?_5v:g`}}+>;%d[];H׷ULd?+I3c9=Rsǩ^tI;2xpyZ{ u#hzϱBD?*ˀ'>正`t9$v52ZY+ʑ CqWKm(%IשZ- 6A88 K0P?k*>򃹹2X?Zu;たS8Q=9@ m.j*-(瑞3؟\z_:%qԜzק=HNi6NZ\#zR$n}^NzzOJN9=z?8'{̓ג0z+*S9=}iM }G_aHr:t#׭Z"ҹK;'_ϯ9Z*Lx  ]i3 7 1Ԇq\˷ښܪkSOa':i qzQlzvzs^}t\B,Fy^p@1W9SR=0{sp8OSQ+ |9BJAyϸ*Ix dt<;kL8`SǚʭEJ-VU@TW;jjONw?{8J*c1)JM啶nYP 6yW4nl2eϘvr8 J!I%''Ǹ3>\N{uk! r6O#'Ͽu.ñu\añbKc)=ތdb1铜Jp1ʃyj3( $sϨ((#Rs^5 ȞCUݸ R6su|YKs0,2hE 6sNpEtAd*D Dr nI5bXeb %;Vi KUJ*.𖾈 ~"c-KdmBr;׉fM4@91 Uϫ3_!\ؘǼ#1r[©#䕔?"8f x oݐX}y}l׻|l~&S8/ q$^}`N';y#Jڒ=Q~n bkCD&qh<Q*'i@%{{ŮdL ,Kr慭˯6zig!~^y>>;(\?8sZ[Á39Tg7bXsAQ׎sD1v8 ӵo֤q?0# >ы, xa!ֺ &RJ6B H3rErVuQ:(T6&w*sk_f_IF@l1\OsGs~1q֨^JG#'s:WE͈WOб5hPѰ+ ^F91?6@;~־,qGg+<ň6|qلv8XV4f +1IU=9Jc|^~V? ,Lֈ7 .rA-|r>ѢҰ^x}q2=UX/|G!\z w<0p@9ݜrx$~⥋+ӟR鿽K!:bWn<ҥ_.A,s߿oJwp%9UK* n{csДU l1۸>S'*98p8+3DBN2w G` s'x$cNϽH\PNCLs=j'P` NAbs9S[n/:psN'cqlW iDQ 6qߧZ p^[$>vUfKeCs0"ֵKIm"fVIi2Z'8zWӾ7-By|e$dG"`Ud^ni{?CÝzRBq^ϯשLl&p?JF0k$u9i3+m߷ZoL z 4秿g8Ǐʔc{Zԑz0^⛐u6sl_=20@p{A7Q<6H뎙ϧZAOڃNAϯzlIǿoBj3׎=sךہ<.i1ϧnh1#jA:OnOrq~֟YxOqzF:1Ͽ8{R{U_Q19}0N4x8N:Mb:Mbjc^I^8qyҏThzg>4W#9Ǧ?޴t=Nqs?J@;ޟQ1ۂzLo#=d #*O)K0 |#jRح(qӇ5bg>Ty cx֩"naTs_[(B1uv{,} ;q +gy&*9ֽx厈jIrwT@_jQZ(|7/Pp~Hrz/C"dܻ7xmsVs@vqg?oL璹@@z e=qu'ZaFT9'ȭ2kCBwG5ʹ䲐$0=ȦA΍ѣe}.s=UIC6C=۩X?2wlvH uaW!'OoJ*5D}$c/nrǖ><=8JZ̖$}}_6Qm`ܬ$%q Z;#瓀Jlm ӿ|/pVcs7qՕ3g8b\`r@$cFw@6 r9z8\/[V? <٣, $9j[hUmTpNH =5Gte?<6̪|)vl2n!aެJ2{$,(܄rL\! 뗑pI%\ Jc361wڣ$n$qqnwVAjn~EL2Fz$=}ӹ@;[g=)R}#8VFn0ps+ڼy',Nr1Ϩ<v;R,A=~^O'ZW;yOav:8|ʡof`scuDiYls6$8\Mиf.`ăF:\i hĥI¦ W37p[r̲ +d`G!߳hIq sPv4?I|g!k뷏c+JyN=ǭyGh95IoRK7C9>I #cL?\8Ϭ'y#ePx$|ӥTu d{W8O -T)ט̻T #GPߥrKsl0#i'9*7|v ާ@’sG~\bK dc(Uw6NUUc׵Z\&^)]d|=O dZkS; ILs-TC>Y[%@T *-T>\o$(epsIz AK#MBn N:m;N RgB}J=3I Όw;].>`U<ݣ2RGOz+R"GR|nܐ\]9e<)8sޓZ ke4XRvqrz ̡֪XFngp09= ._k$­#З@Hv0wIWp;L%y N+q#YgV?uA>}p[#2W OazY\ʻ* <\Sd"%A2LaUG*- \<ԞBv\ 'Fs v+A;~犢-fHwIVQ!IX+hg&6EC&K`cv$årHb 3׊sA}:m v$LXDWleY@bI_j(-s: -K`Ua@-85.s$De#`#AJdIFr0oJ)F+-ۛ?ifGWF܅ +_ @nWPè;ʭ'^8jo$(#q vZū5IZ/_Yx>q_2I>U#:GyV3*wbX8c''cj;T1[|c:M&{3[43n;iңg\` ڔ%Pwc%f#Yrh|#d>z.<( 0wFO^U .ToU N<՚7FS Rg k,ϻk761kXSʲI+16),3橐ER@99=)R 0f lؐ8 r1p瞵6Էۼj3#C!ر?!9Pu J 88#88*+z\LH)Fr[QS_!AcێՒS`$` :vUPǜm t9=Q+y :pFĂA?29x5eN @_cxZ Ǒ?t{XT`'VS<0sv#my$A=* S.2I@5N|k2*p:gICr탔oǽ`nhL##ɡ-Q<] l'!N#51*xsw 9ںtI9 0yf>ML ձ$c ֑Zz"̱,8=?\IR!7.v TW,-j67nY 9ӃW7P^5îp;^5u6ePUS8tJ:} ǣ Z?qz߅`2Arrr׼9$?|T=۞[^tGg`R2GP=-u3WLUf h;'%[ `H>9ZD=ϖ&XCc'z&o.26r `n?ZX${ "B݈`9 x3{UFy"sdmnGz$U],_7`p:w튪cշ!%s P+="HbnA HڧJ %8sb<z$>V82܀1n"l;DKpGrGlm` S?.9:\l9_}x'mYY>R6'h>ay뎼 Ij;t2BYGͨY76~Ph# r̒yR!6ڠ|dBjRh$ 3e8bkVor UHfѳ(48s`l8l/"8.ў ׭'XI\T[hmd\=G^ BgR&+2pwܕCa1sj|l=W`,ECC -vN};9>tdu2L6P1F>CM'8!zgJm\9<䓻A瞔O^I9hL,y@h,p8 }y; 2cy9''=G|qOy;~*C`}M440=0 Sw=AxrN9|s[hc߹j`8''A\==zRCS`99;gR `N8Jab=Ē0Nv g8JYFpy#{9=;@4,G͓cH=+fD>iS8a g T!mREFpO2Cn\Zk v.N+#ZI{)y6a2 Fx /4}mY705Vn[!$ nֺh?x7v8BrY¯m8sV:tyv瑜TA#ƹHԓ ʕO<(+ZD k a4]wq6N˿B˙­}棟W2Ga#Y;xOa8rjɖ!n1g{jƒrs X0jI"ffilWz;A~f9fs׽+j; f|I1`QU;=3QOQ.(AGAP=FlN90I2 4KWq(xaAˁM8DW;*~R8GKU_J Y<Rw'9]:d vI q(`0 ~n8㊝Hxx@vJ@`6%ާ?) 鞽*<:c^z`nk֤8#/\s֭(\8xcԮ*F(\=Jw#L*GET䁜G]r)~Y_8RxǦ;/an ps^AT0 1ó 8^kxn$!8qn&ppumlvwrpxS~}5(,LegYK O~˲3c#+Nfj:h-M#y3bJ8\;mIıaH}yj4WKʫm';}mZx'Hwy$`qzӦTMo l ЊOEnNn- >T y?9l@Uc$oRc;ێ4m63Ge$T]ݳsI,$1O5MZ=EFRb]ʡ8ʝ>ǵqZ.qMyU $ɓ+4VPs1'^r9? 9-qM͜v A?.02zgk6K) 1 Z6ǒcG`^&D0Sd+ UrH"CG m: ޽ bpFNqtg 0[0`uQ51w܁3=zUA $c=Gk60nbhX0Isn;8Bq[hܙ'{qdbcf(p 28$*`\j۳'9YβF5ө^ى(t'y"gq1^N3=scyp 3qs>-aM{}{ʱ'Qd{gI׎ãI=_ zvzw^vAj+ B12zuO<C{r 8ǸSs9SN1ߎ_SQ?\;sz[*x#' njҥB q=*$]4<i 7pXӓ+<3}cigl-6̆ڿJ{bQ'os=ח#ր.Aup삪v)=qɨ9`BKs?J^iFH'8 =(nXpY0F~`O;=)/ $'yjdJS0LMs,rF^T33c܁ on+0[$`1 sdczњ(&2o|з!ﱝ.2S#Fj6 @Jy%oLm2eIٖçz611TXSYq}G,s^0bϗ2H<[ftgs8(`@8<ӥg#z^d$A6&EY6FY0wR1z'I3)`OUI_ޔ??ȤjAϰiĶwTx=q)ІP[q#pV#HZRzg§fcFKq8Uayn^m9:<>kGȲPq uWm<{9Qc,s=3ljNݜ>T{nc1#zÚNr0=x<Wg$@I=Aӓa`zu< 4&g}@>ycI~c˞>`r1 b[3.KFI8[#k8gQں}эFH |gϭwSyʞx$V݌j+zurOqRq^݂"\ӓ1]x#3Ң;~l  {X3X uJd9|E Ǟ52|׭iLܨl}kum<#nZvJ2n8Np9#rN[p?N{p8>fx rWԐu* W9KH8#8lx<G1$u,H 8oOQ֥ܳa8^=y>[ǩ'JJ.[Jz5A?vz}klosg͹ss8y=Wo$0c=|W'cUiO@ߡGs֘|w򯅫gVp&}U&z{tujoj &HN݁9=b@^h=;v>,Hh1~8MNn9)V(9׶iwquzVoq.~=8?=G8=)1a=;g{נ$׊IϨNf?}R ~:X5qif8r9E=r H>T-!O<:y2F39jA:l=1OO0q9$ Ҏ t>LNxXrO$#OxcQONICЌSK'qݹ.Q' c2=3_Ck>ݴ̼'s3F{Dұ9'6x@'פ5ndimU̞;ҷRvv* V +nۅ=x`&~n'E:+KlbW.ۇc,;qڠ$#Iz<+# Np}0x54L%p\qU-z4vapP@9U`OE=vqRsX^:LsKCҜ48\ptƵt}cn${C"<ܙ@;P~_qx[qz.w$P\bfj~ks}=B3lixkry5zWlX%]C-ՊK,SFcPym'H=+Fsc([ <_WQi黹3ugV dGZdvi,D#M$$rpOj4"WӫȠvȡK#\$T:AʎcG4Ԅ9;NgnO׽@̧/ЂFvgӌV{}IG^s1}EJ7A#L;TD ox1RDž`9ݿr-խŷ+(YdhT)gs'8S dd1acБqҶ^5xCcCS. f+sʆ5m5 "9 3_[Asz gwo>Eۈ yPGF995^78=O.I96-daNpq$'W~|`/ զ6 MG$VWf1`X%?G(ޜ0)9PIea)$ Z{3yV8l3pA[=0܂3ڐ* Mʸvq3ӥJbC2-w'$tjfHJ1O9$ҥ^2r:an+գ왯o&=l}t6p2\fOSV3A'-A׭Z38y8G,ϯQ=0;~xtd{t}B'n`sNޓ_j7AS&Ssdgs\pF.;U|G(F81W< +|ݸ߸n쉶Bp@z+H3nOКQ9Am \qٍwL㿥e4ga,&̠×?1P98s HUHFs=sT&2 89CrNc"/s-r66ʈl{=L…$`3ka-2ėU -Qg'`PIbeƒ:}{F' Pn ''gBs"ʊ70;ϯ$?.6ssULPH =60s#=h{ lX $m}Ӆ H9n\R='ڞ \e0`O͂Tz*hefc<炼dg=s80T:v9=bI۷Xcp1>=nP0n 8#hy}'F,x2~t1Ŝ N@5-?.9*?Ռ):GC2zt;n9vw,WvyQ-## 〾uHQBc``sl~X ~9q߾qOϸyMv/p;af2A 12G<_Xjj/ 88<s6Ra~a{RQ؅*w$g#Pv }2G4t1L!ۓݙyW7N"[/KRcH<8o*x @Xಔ %1*%Ó0 &6cZ.$'DvFO6"dX0D'w9DL32ibP3+ۜtVkwE+ʎۍ sxQmV0h款*fz(|㞤dכjsn) ߜWgzq?,8ݏ-'Wpk.W<==9S#ͻfbcL#$l1'ԜbW" kw_mL~O,TF3-q;gj->eE2Nzeo(9㞢M#Ђ]$Np}\!(*&ӺL6 #x!;t%RXBJ>S#!=zRRx?trp#QzS412!*Aڮ)_t,Ȑ*0JebpOrZ2UʹVp9bRkQfCgP2*mpN3YD"Hto0ÎyǶh.NVFx(+Jߊfij|む~\3Iq6]LTOp9WIsy*C<)ڹm `r%R)mvOx>.Id N9!ۊ.TtFwX~|aY8B2qc׿ZfO1F'ky{>tO9 +N&!T)VT S! Gڻ裡g ]8d1`\~8S]v 7gtCw @i$M0Ca[Z9Rj:͍5;-ǭYoi jx㞕WD(c0ʌČcP(trSd܀HI..g'ۡ'ݏ,|1sulSz&BpAWlnpcݼp083zlA{m\=; }r@@1]j:ls_) ?23ǮM:W^y Ƽ8cM-FM&%C%Kyv$NۿWpzQ$ zqp>QJp#=s} E8-8Z+(6 -b鞕5nhM( 2錶q=&3Y~_W!L}rF1 O3c&}#-Kõ : zz}!ci1Fw8) *ϔOrtN08޼:P;B'v\+{5u>2 鹻t'H{"I2Gf_50w;ʆ9' zq^UWyKEiЧ$y#pa* Ӂ u۸r@Oiy<2Sy9{T rX)o̼q=Fcks.J\?89%rrxe=٬z a u81#=sXdsHHҲ5G;+)fWU9*jvm`Òx-:cm$ݑ nw`c'R7?>` SiUp#(0a|sZ0\K8.U'[#\4Į/HAv6XmݓU=)n[2{#_O  ݇7cmF>L?2$u[Fcw'R:R8w=9< ʲ T .OQxun ׂOOb`DWsys`Uȡypc.܂;RkRKY 6:i`?wwʸNN<)! s9NUH'ܐxoքfݰp :0MM g…Xrg֛^1aCsO֘W!ђ? H_"y cfX& )ڧ/f<„rZ@H啋8* 1bˁ\=B 8g Gs"^@FRNNX1R2ݸ=pN~29Q\yntf#GQS]HcÂ#9ʤ݀={8hsֲyPmP 0Nq\ϷrѯP_ӭp^QUKpx.T1Gn>@88'o"ƛ 1Rz_;|ߨ \rLG)fܪ\qT؛=SAeC0 @@H+ﴕY0+(ag8חmՏ"Jr\W3=u $2wtddUVKT}O7- [A|Bs՝KdEa UrI;Wmf'v6F;s#5Lj\vGrvs>ʐ@eH_jR5}TШ'dHyJ^H@ɶ5REUr܁vH,mY>={+dT*]H`) 0Qd+ө֢uUןR~m@f3<}è'1ӏL01?SLD6R;8F2zNF@9唓 Qϥ=s`*r>]wi~8DZNNųnp9?JK_6=g>SP`;[:  IA=zߓPJ>;R@Vb6 #swd<H#p {9ժz8^B9l>F7h͓ҥ, N /RI9 :jL/Yr]s(ʛ $w֋^qVI''Tpz*n5*W$7e<F@fVbrJ'${ti Uq >^sjɖ`{Q QȳÒwvr~P~sZݕC#gڪSBm0jn G 1?^5 AXsN}5*׎s)14+?ϩ&v?I J2Oqr?)?vqߖHAV;sɼlhk/^1Wzoc,Eh9ɫOW yi-é20h N=k6$qY+t}FHϯpeӧZy :"[;m+5d%e3IU)Yz$nJQ&zw5KYN=!#{0z^cSy :#Uv8'^1[zz >e_#Zq^gLNY~s[@p}~G=?Ƽnz0VI_C0pwl=җ ?wxUs<[ h 98@rK1])n*_i* d~j:S]4?=o{>|Бכ_0|S:?#0O92rs%ӽ]8*O]Ð0}+Ι@<͜nf<*. qA0sNՋ6TӃ)zIqH4@&yLX ݅ǡ=O\Hap:1kySv\M8ܽ8w91WU ހVߕ%p:>nGTD&ͼ sjѤɿΏu¤{FTa'9ݹ[ YH KNBeܨZ%g*HQ敗>[ Hƺt;d!`0FMɶKF ez8'8\%x>Eg۸U:MKN+KO>EOYF#<*{VSk饽ˎM7mt6䞼Zm>-{~Lm)$1&<^F;@dEUXe ha u\dNLDHTa~zÿ3ֻ]Ad1F;l2R)t f2!G.#csNGLapW! *%7g7|5X(#(t&ͽDȲxڀCsB y?ȩk W-*YAW^d̳xevP+7N7,*:8: Zs֟22F Kd.PrGֶU;?1_EFXD3w+)Ǹ=qFC0 84"n=HG=)9#pO$s?)1uuwhpzYwm'$czB[8=[I|ǒX}o_½G񁍼t@]Tx׼X.1@GLC|FO>zKR`VC8m7zn=0< nB?qj<2q^+$Xϯ?gs{},8a |FET|=I\88?Si+Ч*7O^1S֣TmK6ҼӽdkB0[P}8yG~.1rH'sҢځ::`u9?xq݃ӱ#&ߌ0#:V2g>^r (ysՎ&tS~;r>V A1ߥu6WX+=?OּY߇H.IG<0?w>E==?V}fW$ZCב8xǭLq9#q$n!;_.svNh؁g=b3֥_LSx80;׿' IAb=;ǽ8 C8 pzm#q: '=LHzGZDG㯥 ;׊l]6zi8ՍvW##= tWzt=Nq'O`On=9 6]եf:dR |u8c}k2 xrqQYxǵԸ"_ 89FU^)r<#NA.F:s]>$9=jW tpCBq}<:p6ZCsF+V176 Fr8G&&,Z'2qbm ~ԱWöc׹]UFrG crxsJܟd__׽N#g7)32IIl%8NGa݌_ls[$GBNY>{>H8݌09^i;DV2zنp2:mLsV~Iu8;X@"U2X8c힜։b0r*OoZWQHN@%$swt#qֽ;3Im+m&HK41В8<c~h/*,}<1+2 |SOۻkj@Orco2+yr-@'EYARXc~ͯ$$%r=2zsLa$(/tάXٰAE%8n=frq㞤zo$@_o- IQh;vURr6)gqmЗO$ lf+9ªNvmoc?Zp~v,H`:~L)JΎ:8_Br,#ZXKs'$J㨺P:R3eH$goDIp20NH9?*4rK<NEVUINWC`iҖE:$ܫz;YA=jZ5jAgayRGZkl(+<#(^7^}y\+68 M{M~-O;V2r~8b0y9H7+ F@t5󸟎_>B|뒠X/B1dKQb,T2^Yc=Mc;M`\ebP0[ϑ}ֳŲ yx<@bFO$03,PT`Ƕf&ySc#Xe< Ը#'0=:l|6Anv}NzT}hJ ;)$/C0@=)-DL@868'9PAPQ&̕)3'CY﮺zv3R\esHAk`wR\X^C=J!384ho&FU6*A9NY!vr!:tx:ܲgTw 7wkgo8c8]Al*u֞tH.ЧvIpI$1_B#VO#0liY49s/Ck%p\^Ǖnsr VEγLS{( ']H)G%1yHS܀@!U>:pw~5M>⟑n&2$rzR~Z>>w_OJѽ݉z3}ߺqqW@{qӦz끭XϠץGÿ(Syϸ9Mߏ㏩'J^cΞ1gǯ^@zGRtuKc|z!>w8#lu֙u(q)?ЂxP%=#֟v4;zϡ)I?^f}H 3{v9'<7 ===8}Nzxw2GLc #߼p?H[XS\j2?q߷g}J[ 8Il1~1COnNs:Ӹz|֨?|vsG8<?OzJAi~X~g=yzzt퓞_jj2<䎠u軭7^6ԵU\p%0y^2JMSViwxvbv`᳸\ӥ}} )S??;EWऱPϿ*0c>afѐAx ?wAhr\l8 ?we*z>?ϕ O$0+J1e&Kt9mHH8i%D2O@FcdP@} {2F39hD>Zd/%ՀƞA_G@~a<:d5f  `761QѱHO'w94$7#9898'Iv.Nr,XXxa^p[,1Vjb%Ac=?Z!s B)#ձ}m`n@n0N=*[Dp,J1|',rmRRJ1c9#ӽxwgg;TR7}8ݕ` , + c$ `'_VI6>Š>_`l=6U(rb?3X=u9TZGnKRl88OR"lzL3O´YsTpcV Q:Y#KvfT W.[rG$Eu_Ztֺe'g'2v uD$mʌִR^g MYVvcUP0)^p=Oj󩜖*]2\8׹{b_M{~ȡ׌m=Ŏ]v1*n<+rhUsS'֯džۅܳc-fq,}gIGTƠ3PfP)c9'Z}GԶB *IʰqS4ؐș-@xP<*$a5K!ĈV @>p(0+F_@OOKB*wN:ը8.z.sҎ4ɂC-c' F1,͙;vK , :z<7c!Ƃ2KJ#H>R3TX۵$/}:ƱFU%BNx省Zтٌ!;RR~٥ .0|1xNn9^bQ?ӿ뾩n~ _Jv4AvbsΧFP ךC/Y.}NrHcGnIpY2&dmA;0ÐHx8<0W,j0de9sۂ8 3>Z͖(fUL ς=O4͖&s% ,[nO;I{{UI;[qRNp3Rc_H#MCmFрzjʆ9=T :ce^n9 0 ܎^>Zbۘ'9 Q=f6Pe')8 ]П*] UrpAA5-lgK:#h,2@P1\ ˸`?z r87d'ȀGIl;H*3Wa;|Xc֭F)j.N6cފB"lV^GnA=N|W5hݛS5-p8PǧNOƵtiBkmlBc$9=ItPp܂zvGlѴz{t>zT~Fl2@@$bie?l~HmSzalmXUzz bUKOciRu $w61=:iG 6\894}ewH2ePFʖ'=9;DT. "8\1*BȂM1G 63}=*DN6IB =xնв;';s*i s~v:/u[ĩT0 )Ws|{~p7 R׵-|D6 NF}+}]F *n37@ҚmR(v'~x➠ JlrT z{W[#G)(wt%;ɤtzR\v 7y<M=k׼/i`1&I^0y+ʩˤO/>H5VMq@s' }k׭б>WQծV&;Alq_%xYȘ<]gr1f?S!2 *.N@SOb0O&_ycQR+ϣؿ\ XL#U1$a˞*6"b.BFQx<m?xdNO>BvjC:a;H,Ēlq^7oCR2XAm^աt%xUqNU<}t[B!`r^a^#= ϧ^5x͞ukԨ f<4@ klqfA@jS~$88TuV3+g]BTvFAy59I$vl3 6}|Efݎ0A$qg'Rj_~u!7)AR 9sH( !a<کY>UR$ 'gҲh,.#81 @sFNydM['\dg9,;tskB68h,UH?.T %3OcW@7mSkJ ƈ`q1ӱ4W^r0FNH v@u 2s/PA1Ӿ1)QF1}s֧y+dv'Ydovvb:FɎt#d3ےp~I؄998ڼp@?ʡV!07#^5 rĻdgo}3בY3ZvH!7) }xQfftivz`Ǟ;SPʒ3{ivV&o4`s}(Cd^c`1|)< n#o:{MƩrHI{q,8$'{si> @99}:wqϱd{I9-* ~'C;sqH000c><9''9ǯRĆo6#$gNynz]ܟ6ۊ}q G s9>Է\}{S*|p9RrpxxϰiuPz;Nxaċ 0 ЎN] pq~rjNzhL͸^1qtB <1uD 2FzP *񼓟^x($qpl0~V9:<|g9TgiqH H$;Ip n9T  A<2q=@ y2yYzW9ǹ#xcva#APw cr ufwʯ~N_qRR%,aw1n)$(w`?9dhI`94q܌ʍ K;YHD?+> u632%KcW$c.};FsA$2eum}H+4sJdY>d$Ryn{cOZsHnwcpy>j6lCm|(9b>B=8/zH,H qO۪̔#yb%g}:ǾL[#d9R]@s8V F ?z.iwFA `Gkc%g~&b)ha^:s*7vϮrZh!pp) =1횩pVŽdq"es rO~>SY@#{FpOpyϥug2A*cO1qNNq޴_3kV^%В79bdb葒pr3U7pw@]tx߶4&*C2#E\f`=W#;t+[l|̪Cŷnb9:SKo@2g뜞zP]m0a|v<֭p( 8;H*GL:US9y^UnXr\N?T)%9zS[iVGڲDwݽٓx ݪ;PZQJ0bPb \)|T"MvIl瑎:)ES݉$ec^ۆͪNTs52T} |d8R;TnQq6~b,LV~::G 9x8yxUlqz=flT[~J'`5E^3pT ?s/ij3ZmNr2wd i5'&F#8!F~PH֫j[dE$pP2>0QӏlGzpbO|ps=b^ `H N5AA 9€%V/"z~QǓׁQGS,I 囧-="{6c9)c<}/ەHhX Mw-QЄ_G*$aw+v$ړ0B>\ȻNBOsߞSHC/8x`w c9(ڹ' uǿ^i:W2).[9!B_ʫIuv1$` \p<{¦ēySv"Bs9ySrz&rry?">\]3?2# }FzVL/!@$d^*=:j NS8}?:޸~gzl(uXq~|xnO@@+ 2!{:r;h9#<`Kp:ORςGu;qByHG$}i[[Jsi#~t~"GGIs$!~8 OsO]Q<Ͻ&sSK`32>9as}t/GR%cŮ72 :sr8a^i{4S唇 1Pߏ=My޷> D2Icp=L;EAWZǥV =sЎv:89Lx1XbbUo38 9c*8l'w8>霱#9EҤv9{gyH$wzj7-.<:)`uc TX{3<)eÁ\7R9h OLqRdA|pnqR\`gS4!(d $:+"kfF%xb.pAqJ*nl0 Wv>jܧAc۞3[=+šf=R@짻nQbXUkK_ZKA=H&A$B2~ԢAmbn [|;; 2M?)݅*J^=^sB+Y^uV?n4}>YiԼx9;A(j"Kw9W߸(#5h{^Mi30t$ԲtWa2c*naG^$YmD%2mTsūvc9+<5@^IopUyj#4=wgj#%Ϋ籯-#!~eTd!T3yS1`m=}֬\9$"ISz眦r^NkQ ̷vc~H:ξԠV>+t+-f)БY>grw#'ڮt%y8؂^[u^]?{9cy1P=8qLw^ݨavy,NFÖ=r9;)t0x88~8':l*+(v `}~(P9y'=xDǏwF,\zXW O\={sl1U Y*] ';@HX l­gi;dϧZ߻sҬ8˨RKtz0ݴr9,:s].YTzrIn#OL=p3?ֳu a$}2ysuhj[ H>~k^`)rsrF@9xJӗKݜ[0i8m|nᘨ'vX3`| |nX\>mK_~)G<>ڊN>`< sW=UM5쓷A9[cxm|^eu3]#9?]+!;0H@Qu?y/V}F ]xGMX[~g>ڼCӰI 0?p;~=*Lns^z8COL}i4yǎ#:s'';g([ u#/Ll֗+2#;NnzPy1sT6&ۯҼc8\{g߯ҕTc4vݑ7۟Sy?'zH3jhJ c< C<>RKR  vxHמ988}isk}L;GS:u{QaR~~z>PT?P;fKzYA㚯GXSU$&BORN}=Aey#>,؟*Ecʦ ~TOs]d7B|1ڮ+W=&,1\\t^?0 |t]9;.O?x|ggWC1l7/N^:=F~gQNa'wdwH~kd}S{ 8 "%cncʖ2DD<#qNp CZU]]5G$ğ)(t`A>ѻ!=bYer2lې~=xUWwPSvl-^Ydq#a R? P3{U2HcnO^y+eqe }ysTwC°>>FI k; czWC4;p@[&L*'+'8u z|i*JD 5v' He ʝYq 95K^ːbG<`pzu<fI$y6| 2foJeΈ+;9SpP[䟗Qpߙ:V;#$D۞\jzׁCSؒ~X}у~Ϧ*P *@A#8R#9 7Qud`Xr-gЄ̻>y;>fe~N1Y,*<@rhoUUP;C)ljIjc ?frdO9=j)E򟙺7wdzq:RI?RCaPCd v8Aɨ_n B=IxRor76vATA ֪BVRhヴa{cVMǤ;0ف`5)\Ҡ8#RFJG'n 9$F?QҦ'mǮq4|c|l1awlq֤I  }ݡN8+st&SZOw82]ꑒY6tll{v'r^V 7<>U#'Nxf#t+̢[$0?=מjPww py8>ev#,z=3dTHGB}I-*US<}SIjYnUs]psPfi 5+8 {XX+;&p=+Դ;Pƻ_.cE\8Evz-?w7WVX} w+4i[ EYXC,D Xv1鸮(ޏZ_plo -26g>=?5ٴ}7$\F@A@8>ƹHb#08 FwTu <ƑNkQ' xu06IF{"+MB-uzH$In$Fq$u쭸(#?3c@}ktu;"Y1]a1A $pk.22_ st緩y`T4\\ĸm*Wb9<)T pw@'*rrzlUDp"WێBF3;-we^2y O+G3'cR>ܝr9*(H($䞼Z#2`Y[,<`w1^;w5\0ۙI;"L`JIk#4yi `WcF739늰|mHR3cW_B’X2 2lm= t̲e Lԛ#)mR7q滘4>hVX>|&֐}AzCT"Rh7Tf-#q Ȯf@XG%yF{T3RMDëp2^Nt4q8F2v\zޅj9fڻX9 CMX݉V] :EUۨ#8>V p+RǩɩB?vOwd1ҤfSA{u',Nmqп[QAO$aQHo !ACpN0AlSpAHWwT${=sP rmf`PYToc mӜbp${vY!DR8# xZ]蠴UFR*Fpw :d} `!ӃVnZڂBy+$rA qh`vfX ;qgwaBY@Ð20bSnEl06rҳ-.4; K|+scz燐G{<TWqPs?٩C@=z{I%;r-^6Bl81 p֭Nw:)=-ܙ# :2lT9 \+8ayK\HxY',K)d =0@[wzZd{RD@NOʣw@9{urKT;8d׫N7+#b>1$" k'$c9+q=+ëGǏwpt@6 0Srjܘ!~op2>cҶFooz7#/9ʓ*&yLj3,7;+SS"pM Dڍ3xwU)dtݝÃIsT?u o~WpA}pNN *73QYwrBҐ9'$LB.psgJbHSy0B9`zg1/v S0<ץ'BN-#T$ G$įta::P O]({nܹ+Ao\bX\m=z*ol $'=})*pX3H,,d9('koNsZ8E *eU :m)\E>f|dH%I àڄd$#H=fU%ykCu'?q7Q`ov3Ӟ+w%eo60m n\ w}Å =;ׁZMFPTINsqYҝQ8mų%zyGMRʫq<e|>apHo+:،vnvɁ{-NK$܌cQY4k}?@9Rs"H¿"$nfˎ7(&5br3 AX7+⣫Ш#.9?|󵑸Pne9ڣ ϭLEƤ$w<`⛜kxE$aQ;1`sw)g:ݷ(yxjB0y g=n3Ha^Z61UJ`)UId X3H}t.6#Bm+kס\Jw@݄Llǩ5y8>V13)<{>4%t[>5X:&ŒQJX(v,ʊQӐ{LVI16X7 aFsʟQwJd9;$;|bqFݘm==_ه`7rWb`eO9JѶVwCLC.ݬ;>Rvؓi 8b۞rŶ΅+N['\m0|'`#20澷*ɇwy_k=O,~F @=+LDU1F{SߙI}VHIs8t}k/bcWxˊj0ۙ*~Ͽ+<"PQ O 9ϧz^UrH8Z֮g-#"TPg UB`ʦ}_*?ҷ1[j aIR~b('z ;&0 M'nx(:jnl(Wo^ *[-C#`vIpz*t*U}3Tp73.K;3 'y:'5rc [h4*[yaI'<94[)2;P6>c8i3HUIVNHeS~H299K؜R[ H0wt9:wJ9 ʟH¶FF q{z)={h% e$<3}^!yp2xxO9g Xq1֟8?uAIS#w_9?)C_jb0[ N~>z;\/`[BN91*YC y8RnuD9+ϥVs!rFN +"7(<pú'<{S eX *`{UL?f68c-1ە8P==jTtpz f`;}23^7AS#w1^WQ%etÅ<(#U+&p̹U:W`7?,j_9`y?WY #qZ1pxm2bov3׽^my9=` ? |]7yv#'U>3VڣfiT)t\*Ķ3]0󁎆/Q틦W 9,W\s}*w*Wl徸WV=5+d *3/;=:UdX8?Us\jmjݧp$6݌uHCR }[z2H= d7\(<r9L >G9=CRÅ saDeX!xy}\VΪs9K)V`1l8e{ұخF60m~97Tv#O9{* au }>I#B N) G\[Ej۶h!#n  _c3oy7x px#_qSZQڙcUPzN\#vDctZ$\2eb[QL+2N#卹g`3;S>Xa;?} 7 p1a[`6ቌy9^T#уkr. -. NK vWKby"'9>'vݛTs@ U㷧$)l+V8@$ Elc vT,U;sqVq.8 D+enX]DqW-PHPS3b`<pt֓zԚ%Ca%QӊQg9TNU9֘28Ÿ]N?zқ?\Fpz i1pB1AF;ss I`j-$uq֓2r0gL @q;< fQ"$|{QqK6hv9!Tc jrb,B9 ߾k + 3Ɯew#IöUeÕڈJ.X.A;O֩Rb7y8+F9"TQB+ʲ`2*PZ*j̅SR= 0Ǽ,wkޝy #\#mrw$Gi`qfaaܤ|c n]n99Ž$c _1NAw9(vKS{/g8Rp$g8ۭxΥiu-ͺd>b~ХrrÍ}Lhז24w\0`c ]k"V\6Hs@&m $( sGSޜ̠#B+ckdcM?Lqnp̀\@q7cp0'6Ʌʨ#z{42 A=TZ%pv'b_G=rhf.3m;z63<|]f8rèj92{Z#w$mæ:vOJ9},dmb}:SMvd?18Rz QH2ode*r<=BEn Yp~,.OF~1ڴ.cT,dV+n}~,P5T~fRkyǖ"h&h6 n=ʫY=Cf7cOBHj>(;IoK؞T=>=qF#ӸH?ge?Wz^;黱A:W۾x𱘩7%eXkP;7GL1jSmkqy -Zb;z`)r4h۱xsk/+9fffv9iYe+H'S$co:F%ej@g-utҟ-TkKV_Ko{h! VԨ#Tlm9~XNZD^)I)nNLHrN9NUSD>kiZ]ɬn(AqjrDF#k:sb: uQ8Qa\W㎸?n;vT%<.Ȁˏ2zt#1UFd 'brzAFoC_uquH=GNivUe#h=I1= +ߌC=@fXe@1.*4(a\2l uC;mr?!Iչ  <#䜃Tu$t\CX3F)H>_H=ss* U< ׋v;KUw%} d`ا]?xY9fziǿ>8=Nr:y<{V,,#cJáKAscc֜.?O_֧@IpOΘn`p?uGFpHpIr󤡻 ձg8V>r2Nq:{%>v}3}<OPǰHpB}wlz]2p[>ӇN5Q,O.K* '==ư!m6ⷭJ(›l.$ddR v=pGͧsVeF3 085^]9SuMuJvOy~nLqVCX/oN9SڼųЧ+6p9TQrEdsĞp=x nXLװl>6R6qK]7ЂKGtʢ[y۟Z.{"H=O$jF319]obO^  A8$r~_A\* drAQcq k/K!X¾0ہw[9Htb pFW ~u,lx3KxpGa߭f3pn{jABF9ݒq P3ہʩ3'7nuןZ(ʌKs';q:,wrioG!} ^篽Qv۟;<"~luǙŒ00w`g߭fIrkGV2r"ۤo3*esxj¡x8E9ǥiއCJ(9990j!b: s=9Yp]ry'-=x[h&+)J(!@s׭yyΘ}秒/P77B9#V83,;t#'b٥fx'nQ^FO Ro~BӌمĠ6KnfX#V(tqs^USڕg\am 'F8AbbB̄)Fc"l`G'ec+VrrA1n#bXD9^҆\Eq+Z{4;G"$v;9q Dݯs4`ʱ^=Hs HW Xw'}Yl']rw(Yr7H?#IQ^Vܽv'8 6{G(BH([ C1Q}Ch aۯI@T8n9qsŷ@덬qs1NstЁ}ԃ ZT DgI ?.V6 |'ͧC[NPc'vy^#zL33=$|s{73~lW ۣ+*W\<_9U(;gx饹l`*Wl=1LP:? LV:/;Io_z0F:5:6p1'9_R1ޒ Tp==*@l鸠|pr}h& $~`@[*UIp7n|ݏI.oL.7:d'>Kvݡ'vBۜ O`3gVCHo,9zr]K>7A!wChv9?0^= LAXA%*rK0 J$mROU$lS1MRHe*#f"6O*aՕ$Rq~1vq[0+ۘ#RFFj, ;:'$6yn#%c ~qH] JZ1sʬWv- _,BQp3'+O=|e|Ve.YeJ4'*T)#dQ;^M3I{Ы9yCHch=WZZ;MMGOQOFxPV sXfL-F~#Ͱt$g Vr7ܦ $]9]ݱ׭Vu7v2Ḇm䓕\K~q0ߐsMl4 ?@ |-@^21 4ԋ˷;o䚬si1 2;ǁT7G~H:: XR@^'ڽu|Z^OAiI1k. 8kwoi%+~ (Ӛ z6Ri/Z51L;_,+7/rZ85;uyR8.$li`cg>튺:zrG>N> B 5v69OXrT z8oJ߂l݇ cוQƈob:}q~ӲInOcZ4Btr@sקOO?C`:n38>޴篷934z~TbiO}?:Sic~^9<:8c!=?Ҕ'>%cϧo9=01랧~9=9>{.z{P/\zSsz?֘rO u4d`dz7oB9zqӂi=~^ix9cڛ9uPl0oBp9S' s=MuN3}h=y㓞Q-t9OQA9ls[ ^ʞ <ASҏKeSlo NF:מ_jbM0d*Ab',+{[Y y]FFIq}j0y㍥N ~T^#dx;A2Ć}7wzUz(Qd99ڨ AzѺKbV^qr n ץcλTm22H3-1\VoSuRd|+q3W`\G)8I6݀|zgs`ɞ1kSjl&1ܕ*,z Nzd~UZ֨(s|z9편鎔2o yP G cr3KeuRGP}:rA;ޠ7 HpS,G 6ON@2Q1< pASvzpnv?>H@yՖ;y3C`@P忋r?Z]m*0Rw+OJbH<@mƪ bF8a|d*s Dy=jWO2I2~\񞙫K <270 z8v.,  ===]-,lp vϦ{/p0޸aUGϺE^إN{cU.$L2x#;}i$+p;<Ȉ'# תMF'i9|%qTQ;H־ZI4S;ݶrv r,1W; F9F0<<潜:y]GQ³S>ՍoFiKW;x\ \t={tՑUw6&+/,#$6FN;m?@!rA?fnGBW~X܈žH %&Eȍ' ҙ%E& k0VK{t*(e5.[$?ٕh )YyYO/ g |ca9g Ĉ˄mǗ<{b'۱~Lz\Pw¨ ynpsM켊"E!3Ol}Nqڝ̥NHܥH#_@?&?x*098^L|!@ !`~P0cM%n`TCdxTHGU8eZ穹{?tٜ=~l,JHWnՌ~/\*?P>8S@i}sQ|~FWWYcS i]<Ƴ5]"52'O {W<\z#(: Q k/mKC}r$ 戰i2"G\cX .=1Pl<%K(/̓d&9ß8n+*eSU)60 vE=&mt{Y88=g={sHAf'$)pwܨiFT„rp62 Xb}gE,.ȾZ2R@F$vuPr&o20cکpݷ;qlHm=['NjdKDj(]$gG8݄%=sҶlriryn=k#^VVrmƒ=q_Q^g^)Dr0 pg#5|AI9J"tR21c=?n )A#xA0rnA 50A|8'49={![R*~;OH#%w*|ݏ6C.ě|ȣ`JuOOLUKpS,6 w O>NR^V\ŸceT2"wg mmeaA JUN>:3Gҵ`e ݈8b Oc`ђ˪2As zqֽgid(qUٽrݝ[jX*Sqw#`\8V=F3Sz]N\}=zFY~\##⾹Μ.v.UUsm+"<2D|V:YfGB\gYEFP@Áԃ\/siɧ>3#Id #A&2k?Uݰs29+S/tw4oim˿@O-gק5[xHM'5 {= pJ'!A }4ݥK`psӽt- 2E(pf\qϧ^I@쀀r0;dqM%YjyHFs'r9P ۻ#^G\0ʙ.pX9zztrYK$&5;rmpT1OVlL*@chj}@;_ SsϭnE@z%xNIaUR8+,\Cl_LRSDUR7|vePT|b)ó'SˊÂ7/8 Ӟ 19ܐ=q֮Lֈ$ 1'W1W;F@\rǥrc28Cd'֗A rAX0N[ a3S Ӟ1;O=p82^ăcs"5xiy (;qCߊDT!x\Kx|0@ {RK0I#hj|)nR9%q\s{}+3r@eIM#o x,6@N=FR%?1 c߁ǵb]Ajό2 OT C̵˱! 瓖^~<gF-foCcc8 wirr8=y r[%[>ÒqNUuWyuǨҷE=xHQW ?ㅘvno?B u& c;'O~5 ? Jlz$҉_ CZ|||@ RH9*M+pDvwl~Xb~n2Y8^'xpW_1>+ *HUy"ǚ,f;҃*'AI眓^3#M9=_ǡ?tevEHi^ԏsmj,r8;[=Gy}ops9*_We}*MF \YSg8*%8ˌ=Jᚲ=;d |00矩瞝*"A%rI;FֹY11 Ys jFPAԌ22s-#YȤ!/;q$0H=F*Ȱ`0' 8FYapH#'!pNx<;S!=6%@<$r{g9Qʦ+Sj`qe[NqүІ= L Tt/D@ˆ9*.j͎*$8K/3Ðq{<1h_#aaF [Z1 ^yy`9^=Fx>{/A͎AYC0RH-9։W3bB8<.`t涕wm/nD`# Z2f 6sߞWUKiJ㟺Ws18ѓj8cG Hldǒ7AUx'<|i$Q8AQfNjG/.Gr˞Ugny_)RP\~R;䚌&$n ݌{$N 'NnL}2P`'U-;ƓA7gHP0<8?L}<ǚyPeb03p9Y~&hi%©$i-Q9ۖ'<dYs\Xʙ&6`&3І)K.w9l>`sr9Fg rr?x?A:b.3v8JWe6`סb ȹ$@ ČQm9Ml2?07BQp=_HE]rĶ$qX *4b;JHr , cAFF 5]DJA18<ƚsPRs=Q=~cK$scDprv1^sc*GqG@}9Tv'iwaw>SB!N7c;ʠA'#z1Ns0d}Nq:8R:vv2ѳ`PK"8I=>۞ӻqӏ=28  8PIsZP%˰P89cjX:C1 +8ݜaބ}MR aH۰ Sߨ 1A='"2N>]tʧ(KgŸ~1vFAa?^IIpU=3C 2 lGO8x  9{pMȹvGS  x@#ҩ|12 cGsxJfaxѡr)d c0SgT{y.W yX1sG+l vOR}O-m2<2O yjzVm}iY -QKQEI8^۝Ç>` vd$ps0T!O',;,c[ CTw'sTdRMá.>B=[8ǵjf婿ޣl wv sOr ^'8 |$uinv!RبO۸ +.pWqb=zOC@Wr$9zcv?,#CˁO1kX˘ S<\Ô,^6Ǹ Z  y 9-EKO r8IV<ܣ'{Nx``.9rkӯ ) ~Tdrzuќ)T*Qס\Yu񓹀\ Qg7LK\iWzClbS9c|{xCNUsnu;U3r:VR&h~HqH(w9s6=E[.,8\gI8tS4?nK0VVS}Aw9\>B85Q5 r{c8֑2T8||c"Z*R9ϱ:Us'۸`۰=*\B{_3,7w%Bqd܎sJo s֡nZHNs؏#<}Q׎-Ńr8fpsۜ3S LRN=9VV%[p (ɴlR $pAߧo©$Fn ʃ¨=Irxa/QJҺ*?a8 ph99c u[q/֝3S=)X.Hn$0;q{=v3Pi$xo1#zUW"k|snMir'$eA$А\ag[^g=}#>[` @:F㿵4pCqO.W#'˷>Aq`@, ۀxyqF8ݜNyEӛi:#j&zٳrmA3݁H0[8o|&}<~q'g'8cS3ӡ$}<ZA'=ǧlPo*2AbF_ nXXvw#鎟Zr-ҩ%<~1BY- ] {\]>m3Z0d\g_aöՑի+=O5˻ Em..c ZXxE=;J`ڦ,7ylo 5Dzh|⺳f;+X7n"߂N#žUێ18ዞ3q޵)2Uexw9{tN2T6:d֦nƵ #ح1v+;Hxm:}+H20+x6HNkފu~e^p'qZy88=N1HШL͂ rA<^rgr3^Sx'Stq12Wџc`]xŻ@~P__<2DI?xn=g1ϥypxw*u;c<5Wz}~]!9'q9Xx$7Gcc$G4= b8=^fԜdqʒB#)eюW?Aa q62Is)ݎU/69nZNX:8 9lT6n G̤j̳ cp<Hxc\C. nĺ.dHXxx|̄  1WZxOYO;ԦYq.a; XׂSZU\#ݙZۖ";HƠ?(% <D$;R$@͂XۯNՆƛszlJ8H22z/ QtӢ J<ͬ`rM)X z;~Sy7uۘA ۤKD=h,w rCm^*jG^d8rKǮx_劉gw\GJlr^O_O~E5/N*2S `Sgʀ9< ӟƭ22qϙ?=?.[s9|O'uSzwܐy<6}qNv#==kFU;+?vy냌׹EF鷐NսFi_AN\WfBq u}K22'Vͩ'І<|`SH',:=}kOivׁҋѝKjHZR;0?L |+#8ݗ]e*q[ِ/y;ۧj^z#w^dG gn78?zy>ޢD/}mNyNqs)WCp0y~6)ϧ\֜2+FJ abБҢjw&IFA`6 g'?2sZI6yCuwv^gQ \  q|Gˁ k3K:zאo3}>NXhp>>zt9b,'I@{qH>t;[Y|v8mOZ\l+y$@9;G.I9qRIm';8CC~r0@}8gy=sׯCҗ $Zez: }+ sDWW z&'kt29V#9K ?2=rhJ>X,:$W7u89zbg-NZf  }*)F}O+m8Ju.1Ѐ}UV~Ppp29cu} H.GBX9=HޥU4#6' j/s |`SGiܤFp gsas(# qO QI7Gdssװ?'ېHTc;_Sf?['Ot;+ S2䜏0rH [}߭}&|&t%V '?JL>l@r1[L'©OR8'sПq'Q=~lĜr*PB9ǿ}+XH#0 vɹrrϧ^ Y`\%q͋ rgzMdK.K1xʰF1AI,Q c쾜SW;{bw;(P tzcִ15,!fw|;*\TzcEv2~^G)jK/{orݸn2{`:⵶,ĸw㑒Yv8fVG_I0Ucד&zS&QmoR/%݀#ۑ˒+mK#yJ72(Xs!ˇN۞m5,M)([hpR$<|pIl=zqQ3N]w.]Qq#ֽPnkMI9vrxI]*]3z-{{w2eRx vgO?tZ-{^_==;Vlcvܑ`8 tsϥczݴm9 z1Ҿ')ݎI_m?/Εlsew0$uS9ץ{/Jl7VUPeNE¼*AA#e$v 1קJSwqd xG]؊|ᑑX7(PHzp=)"E ~}1a ֐t6!`=r\ Ʉ@]nad۷~Ob:/ewtN+a$Tnz5neF#SϭU(93W _~cY vU @޻sIX.W<dmp}u|cךHd:]Rdc8?)a:uRnTܠm%TF;h HIo TFxq 9`QU+)OqD1N ʣe˰`T/9Rծ6: w gӮ:uj|VHA s`@ dרB.14q!'>i8m1 csUIfx![U#P [ qڒ-;9 W`;e݃qǰ $~^u)izΗ1RT7ڥ#[m3b0]#tē6$+9=cXi'E1 _&3s#ӼB - F̨A*N1ҽGY:xy%qGQW!zzW-fmjGqxeRa݃;AѳZLIu,m+6 a;Uւ7[u(](l %~b9#kqje30r>ӹ> c4 ;=mz׎s? = D/ӱry \V-=yoGcdXN8=a:ASEgb;ʄCwz9;ާϵnGZԜ务!ۏ2{cۿۦ9_l q?Ƈz:S g >#n1`(`7=^;N'buhx=};qޘ}xGR)G{js7’9 o76ā@`0v F#=tWj77n+[ȣ9sڳfB< _/9dr<桏 n;tOON-lm.>@l0@({2L$rp${UJ`i@*Ix|^4y$O^ܵ$ mp0X҈$s`7ob;[T1q[T n0}pNx'$9#9u)49`2,ޤ^:(h@s8 ׁ㚉%lK oݔ F8;O͝I0h>n=p:qI2epy=}i;+FG$aRגjV #*Ҟ(QWѕsC oE*$NT(Ny6"7$b F^ QpLR,{]hÙ3GQ;(KH;Z$g}i\w? NWj$Z v#=0t8Ci&Q`7RSE>˃v>̌8-*wwGWd2JO*F ..}$j6n9@O**>o3WB(7`E[j={1<&h3K$p18FH Oe;F9NqS-n&RF8Ny[+oqa9ڦ*s`oSqF,䪁'``1ٴp Tê&i*26 "ʿ20HZL@w-pFJ橿j |cOOߊ7npyb~b0F{D4] *d! mGM85j1*1R{O׮zli>im-ld(>جH)kcu[ݻzᓩO<^$X :v=RHztַ%8w+ӫmqsZ !A#wf{v7 0Q=39kўsr&^ nT+&A=fʜ $ܜ؃bzjb Eޓs0df' \UNU=^tկGcUCC :dqӌ"@؅E$IbS'N5o*u m wwk2;@AR`|CF7 <ɦv*0bNqjeԥ69*9I# ҥtc a[z>zTVcڀgǨ\F c8Q8?yCd/r޿7cD|'!U`2'=:[iՑ2 [$*A'iW;x#$Qy#eBY71p_qE/BC$wef6rK\GLS |Fw =3pI U+\dq_~_3ZzlipUޅϽyzS݂vUhhь9g @峍}R^`c6ԀD3qyYA:烒ܹW!ႝ̧cjHmhYܸv%`1u2/Ɍ!BdO܄Ha tA<0{Z׭yApAAqcp8>1p29s潸+\/vbKܷ?ÁʶFp T(`sG˞AZ-h@ ߱ #c' ۆtfUP7 s3,(+~[$g q5 CV3OOt+(l^x8sP6͛Bltc,WZ\kUPCJn’vg8KG;[@򩎌4<'#.wW_LN*W rNc]L a&gRNܷ2pUsmqI^ICФA]Iٜ`5IrIc#c 8w23'vX083X1݂̑A)Z9"^?^ia;yNڷ)'=YwoVq] (gK5xoPvI"f9jD}<v`ȧPh!Xapr.tCZtT2lⵂfrScܤA 5 !g) G#85}:k@TpBߡz+lڽUԜI;NޥTGgO-1@-^88j2N\0m=i*Q)mݸ`1g$58_@`aH (SRsH wz&Cq0ׯjqma;F[3ßΟ@ \$7ˁ^A@FyǭJW)IYFiq'5q{H+ O95C_qw!{ˍ!\8\N17|zi:i!sdNC%B鑌?:[8l608U}sD2iwlc8M 3M.$t1Vv6Jɵ<8?txSU,E1wy1Szߔp0 P+w5 R«'rbpXR^'U]sזCnN9Œ=ZTqϦܖEm\p0qkëME$gtՑFm Sffb@<@s !$m~lwƈa9.GsqǭT0;FFA㌀zDFq:c^ۋgGz@2[$3$\qZ?[ r =2O?P9iWgs|7dJ=ܨF w(ܱzHMƷ3wWa+vy>F(1 p1GlT(a-Ifjɸ0ɍRw qCW*eNvx*>|g3x|,u®1RB|ݶJsn <qo^rRrx}Fx>l߂c߸9#@NpX3}9?AOW[9*FxIz>T.lqמG^A4pwszr9>h}!pz)l/@;rH'@6<̄s8}qLW)X–pAM!'<'<=1iH@8S'3Ha raцx ~Y)I$0 e-]DyĎ:mA?Ǎqw c(!Pw1b =A 3-A;Hێv@oP9@$23bG`@` qWi * OnJ!B)8 yz.; I,$a|1U"<s3cI`!?.?2Nzr;ryPbs>c(̈'7ljsre͂Is˦O_ZD6Ve FӻbpGŸ@ȟr񂎭FN1](ɶq?2ߒILrïQӹ[!@pɵWJye54%Xċ~ksшnug[VI1P~πłD88#+U8@ў3 (3nC1(YABnxg$cjх7Q݄h@POu`˩OgOF` ^>':[hr9r{8z{aGt 沷CF4|*#%y8 Fr#Gh3`Y-%I$cZ`.:sF t?@+=0';O$`*@l)&͌WU1U䵡ZkSu31$d|]Kjўs^#VazU֟ZVlP Nܢ9\=8=XϯPI?t@OLv⹎8!y)?BOn#`p$~n@'`DnT͌OAz '0#hn+/1\oڷ' =hKOnHj,U qGYYq/a~eFzzR\Q1ߛ,O9if?$B:cSKQٌz:(z]G$/FIA{АA\â=)?@}ӎzS6L g8}N:c4`woWw7<͐)q݀ӎ¸+T62x gb6N82T2:4qn?~b¼2T`3r9j[=1gM<.2wq0OgqBB0n3rx@2jE!G'g 眅hc[YB8%Icv&lgfiqO=;q:un 8VCA:u&X@lc ܜx>ϭ^22H@8_֪0+-_g1A'3`>3 ˰5v0P8@s淰 rxy'}1]]Y6vazr275瞬r6#6T&='?'8}W=0J1wi5ꎲ̖ #b+O\*tgs;Ϳ 9izչkMy1М]hg=_GLʓB'N;<z֗?g8ws$I=J^@6?=!Aϱ;cך: 2w6'mR??0\rA.@6G'xW:Ծ6moa W^NU㶸Yo5qO#r*/m_ @XJ/a6Y#ahHyq% HFh֡i2In[ٷ œt?N)|M߳@9I`gK9 yǭh/#+Nexrg$b>xH 6O1收+9蔀Cp31žN|ӎ:DႏA`9Fm|7 |1@11\w/!䌓֛l7\*dAz]@ N ;GR1ҫ4Bp;7sĎۭ'f4j!8$<x sV"z*TM͖b1/~z˩B߂<3y5=JԬe#R*<O~P݉縒g&T7 IQ#Ƴ(I' rkF(ԯ+ЕF3z:^T(2J %;r=+%KcU_X:1֭2^,NۑfW@ }݅[Ǹ=+􋯙9`H9cZztio%ss5Tg8d8*.*|QaG$8^ˆ#HXOw4eM6'ʼX~a3tݥsOA9'xg=8k,lyGUp|01pYY>{TprG񯜚sDu$n6#U$m)ېs@"h bOp˂G>bOSnBI9<_C~+5Ak|w32GZ)UWgK qJ=+yr{n38מI=3^v.%SEʤU*3k,vpy+tn 03_ <ܼϺǖ^Dz}h}sq\ihn$ #g#zS|vCr;psi=>)0> 3TM1yzx@FF~4[~BBz? ?3td8!5חzrM4IGi;`}+R@98kX>VeRɒsc2׎֩NƵ #{NlȼF3ӓ\sOPG1uWyؽYmuþF=e$Cw'<חT]z ̠ OU>_79=- <;'oxqY9$E<xZO&p rNNs3:1=^E|Ñqg<9.,&N6>Uلݿym|Xd;) 'o)0JAǭom \ y_8'v8+ʎ@G+-f'sNLe>f9'v"3lA# _=!2(WJ Ud;[(}:`9LzbtW޼ӊ&OR*~lq8gs֘~`z>`9f-~yVe) 8ܸ.ZO9⾋ 6z 7r덬;.;pZpYI?|Ttϙ rᠿonXDZ"O*;$QJ ^m mHmnSۥoG~>b4wYDIU+xz5^K;ǙpVKPP8Z1VyI

:uϭL2Bu%zY͍"Y'u1lcE#ʐҲn1]Ab , rFNqT ռq<<~uU_^ZKxHH!i3I01$RS=P:i.-nMp"rW8Mx_V|gSh׆W-s ^媖.u%ioKIbW*+>GX26@ ^9d:}OY ,RՀbdӧrJpT)%&JwP[il8ڪq`GL=Z)6ݾ^yϭx/跿#=g>Rp}Qlv9ہO\qf'8{w֘OsׯzS1zg}޸r=2?ǵ? :j/20zކ1Ӻ=~2@)N=(=qlTNuS'Js8ɤs遌Q}prI9}Ii,?.F9O>)d03G@?Z@tE4wy^G}qK 3ZےHc$(wמ8$Q^IpFOA:Ҝ&rC s6c=ϥrw䑆u'JIwµNT_ߺPkr +px}M_j.ڣqAHL+I⭳m۵g׹J)WdqlwR~|(T \ҵc\珝p 8?t lJA۸m[#o1y?z`vۇQw݅ o ls':wWl% > bͱĈTa\!=O֕d\l1O5Wû}Ƌ@x$( LlCaY~׊lWrY̙2X X|i,^5m[1H9`K0apzrpp8Zl˙_VUմSb3'O?u+]Nքcp=Rg9=ȪMa'9j3sr.U#9NoVl)|,yen{]8^](Y\f;#,*ňlvRFONj&D@\sV!aeI?VQԞ89W@\@R;|& i=6sIm }r)"B=08vfq0HZ7 uYS (U~NSlf'ly+ʮH#r88瘻IS'{Wz7mX$c5=Oň.AJ:r0}w.nuɦu2쬼k6$Jr3 ]-)(`P y'w<,\Jr1k˳*+ԛk[륙Әx~BVM62[Hud8;f.ޤ`kFvEd,Nͣ?)ooNkjZqC &?ɜQ2K7'=? e:0%G=j+V}finƐʹ|<tQHD L)0TduYh3.ᝮG8^S2ۅ|Ʌ`̠d6."qs[;U|H#`ܒr1[jOqG2 ;=sLzgw< qŎ$P2C$7 p{}:S ?41NXөRN\n9ة<̣* dIRO xq+ 42H?tuՇ ]f8` { WZ<"۞n*r'95 #~Obr@3TMPXnjc,y_Ʀ/_"6[^;O:g+#GCH+ {t(ʬVC`wyb+v~mcyhI#5Nj֜ד߃M_z 󴏻wH #;~u4Oëӏy}1u >^֬y C rI\mmI(8=FpG{>i'`zmF pOCSǦrX٪",y9*9=j&I]]p9l9'bP<q>eoi4Nk]R7էAolUq8$sZ՚yٹ/eWONZE[˅-z}kӂ߇J꛼u]]ѧ x8S9|]HLh$䀭}k)wIAvɞKm Ƀݰ}GZ;ȃvSE9@xޝϴiEyC/mCh늴IxN[?5ijX>2͂w6rp[=O#<`qʂ?p0sZ$Ю{3j Ӓ`q+Jx,O$NUc1[v3cj.3:M؉J(s!pc8)[q-Wb q洤u.@Rrp{ p4dAؠ}fSg_CZ+r7*I3k].r|q$4eAC)żA]0מ$cvy2||T8^ҷ]C&pK0~#go06N/z drIZ03B̬p_3[ꠋ CCp~)ǽk#`s8x᫬l䎻Gɻ*1\Ҭp6Umr+7B=qY1n6wq띈);0zYLbYL  Tw=G>~nKxc9Ap?L֌0gl78h}=a1NqrN=:i|p } OsZӗFmKs%\;3Vۆpwd'85ͤ$c(lPwmmd7L3ǽ0'YS;PcS9QV62F0Ĩ99Ud_-Xp gzQ `3Kn8pq}벛Zk$VR0c$zt5@$P,00>0;WwG-H{`r9$ҽI~0GC$Wc'Vy.]FTtsTs>i3/[ȑ\6:qZ psn><:a'o\۟J^[RdTgqjꥬNjSp[os$T@X2` Iny1k`rd =p=z5տhN3dU@/ 99$`{c5)pGF…:Qw'+0>9Ҳ{zs냆 'wLoewH`+3D g("l`< lHn+7P6w`0G8j̰CUxbsy"wDrFr.=\'B:p}sXټzz ;zq*s 21`dfeW1x,z@5P9I#XKsHdv>Lm$S& ( zviZx@[.T^vf~BIm+ght#XkrAۑj`9UG=s՜]UX8`V ̾Vs# ۉ˖Nk9&$ 1ʩ<6NrcH ,͵s9; : 3@ʒAא{o;$0cУqa(Q2w*8'C*w8)ܦ`IYxv'wSr)FnrCc8$vEsz#~vFyHʜ?Mي<«b'&^MH"F^#+zߠFG9rcžniڪ3nh㺏?YG%\N~ZiiwY^wd݀A{W^MEاj8 ˈzumONI7faH (PFlqw3,2T1Xs}Z)Bڑ^|݇`$Řd. &X玀sW'iKJ*x(鞜]v6(gsR 4.A-.p{N1W2DlJOcKovǜȌG8*e}{. kp#Lll OjK4`(wuS3f%UI,#X!xh \X9*G1ҹ%*w"IH+lNz3x~*R-]KF|C#A&2b1#ih>mZ2{!Aa5،]2O'Was"gdÎ}1@m#rv$+n G&̓ލ#L/xy@8Tq]>TH<)4;;?Ìd`v9;~gzdw$FBq1u=iGl@NAeG>H=ѹ+  =f!XX29rF9O,s:0Ҙ&sH$>دH;(Q󏛟ځcxՋz`qS; \IU*1i]b9,U 8C{d `wO;„fb[$QqG`@O *pj峀6f|ъAa~lױH`Ayp=9+\0?t#t89A軎ᏼ䞔Pu+Rg#L.[qpr\cی );E<Tj_Nz#S=>lvX68UC|px9?:4:|?upNF2l1ww(vjEm0 }q^`#u98cڵrdUlA?A ]ʹ&o !P81x:Ta?:̥6%\sjr@nI{9P3NAz޼qT3XNqg'<` S6}cp,s@kte'(Wv8uM'g2:zg#cw08刱8d. GZflDdDTy38k״0%iJ4{Ǹ'#=+jq͙-ϴݜ5Ӻ@'OQqyk&4a9C[5rUܠ!rF2~Ǩ8mTrqg("MF9c9ǧZԵ.nVX' FѲш8a*y>EZz?֔߃ c0eU\r^W.yۿr \ l$YI*ۅ]('隙@@u`A==H(;!uh\2`wd=*䁑/'sڸS~Gq?\=iǃrÌ3#rN$GG'#=K;Ds|J]'zQ;cqI6`߻sKg\kv<{S)->tgq?1<Y&Bs dyH)aNfRM3w|sz}f* ~\zk'*X`v'ֲlccp#p,ıR=sM%;$WzhЏ~?ub? qs獤gF f ߒTqž[ n폔sv<˜P|0 ~=3GQ_8Qa_q2237`&V;Wźc^G8=id|T.rO8E8(@H4wT[pswmϾ;Zo| Nq느w?0p0zJv5}s}jb\)+pO c:r> ?8yl>_B;({~=Na1Jf @F m \s)œ7ĜqIeB a79G=3@OL p}9 P(9*B7* Sۍ}+Ri asTߠ^ko9 ӃLuپ_qe`Aw*DfJX l]0 ,ɦ< @;O^TppAys;q\Xq#8m[J#rX1Q,CgPތi]oŰUrB>.TH3v5cʞ9e+.9=q< > dsIIC N] c$z߿ҴԜ{}?ԋIT;F;LԾ1w猌~^T$3'Nsá t)/}gqu<}Or bҘ@sc>!"3~^AARP'8u<Է%bxN+2{>QFq?wӚƫK^Qn/B0NO<7~&ői$Y:n']j$ yk(8 Fy׭}֛:Z?yC 8Ԍ62Y=Grb2^{0GBs=(ow|089כ--NS(1e9SxEH W_4dѧ{Y^XT.?LK[{a*m=AT~>c='bVvFZMlE cr2 ?{p[^b|>\<+¯}> ȶYZ)J6BFМ ^W=c#J pTed|9\Sn Iv`>wdyrH 5cVpx# ֞ ܌g T$_v';';^ߘ%>_|aXOZꤟ'Sc쫎a'l6ќ@l`ԖYDY9sE)ܯ#Ly t:lDIݜ9eaǩ$NsW~.Lj $ GRZF1 |ƻNwbl"̉ l=b+\wwFf=w:vAxR33p#2:mj1p+;O#s[g6+ƀBۙ 3B3}2=$S*k9(\Sުjh՛pYpyUrZSQU#qnIN ;玵mX/],BB \dda=O`gO`guab6`?չ9#\.Kk2[]J d-ӎ8i84{[k h}bzrq8?z93;dUqtjgp.nn~kд~n5Qv"QgiZYsqخ:sQMi 9#q}+#̨d`ۜ.WRNOڒ_2;Nj`[k8 8Vn5[≠iqGֳM3U%cǼA؀$ @,2@#uZrB@\ 1XCwR6s^yS;NA cHR}@*!ar{z^vK/o&⥎;GsY|x "†#y2]r5Lz9M‚*V|待O {Vj'E; 8yp#8?H%bG%F~2N˃MSѶ"˓^.3qُx9{Alrq:9//$lN80@8oj%.U{19I|~69"RАO>,;X8;T~wAO$@P~eG =ҩ3sݎZ n O~]3dy8ǩKf\ 7 u 9?x=$Q#) nz3%$o 3AbNs aq=zq[ʲ9< t@qzqvr?5>qZ0J X* ;t]-`8oezzP8߷+Qnp pO$zVVF7rr\^yIrFpFWե Fon)EmO3x6{"+I F0ּL]P͞CJ>'ֈ3?*2Py D4$ؖ/ ޘjiC~bkUI? Myey r>oC{(;EUh(L"?VV`m<8dzWm4kE0P3ơAp:ڴh+CpHL1bHbu4 Rr2 p!:`5 __Rݵ9#djX[?0$@=NKݻ| @ԠwNH$bz䎂 aq=؜VicypSPO*[`r胂9Ws҉iDXBTlZNI%r㎵0bzq;\t!3^lB 5,҉$p|_1}y8iቕ8f<=+f/8#wd?B\ oLX>6f\:uW.ꎃIaq*>PEQ[#ߌ42-J;.6*|w/[:O4<%#q=*gc$)E{VzWpC_0~I no!VXRQF\ּ KF}N7iw)g110q)g9;. )q曺U r8<`AjFJvNpaNsf5a(9=Ud>_# ;clFPbP[~y.9#lgU V!F>5) v+(au޵k*7;X8 y5N\%Xhqҷ(wsMJSēd9SH+Ey '|ÎǏg,8Jon>)XldpX 0\^9>4<m5?)'(зHK6!EVBU}HۊͺtY["P,vN)гN.#sS7NVKBNqdsI}Bg;Fvہ<`~5!e䟛9  d)8#jeo.4AQ p0zsTdbo(Ϸ,rT~nVXI91O͌#HUՖ9gByA=1R k~#E.ܬI.2WO*U; _B8)?EY^;Ķki:Ci B6 =k62I1޳!u FǞu$Ͼx[Fa#܋2!SrwgUmDtX&x$ty{FƗbO=Mt9ڣ' ߎZyq&>O::dbP y::gyx!\P:Dփ{Lr[LN*1p0G73:gSx43>p_U8O,}N64~cG'9R=G8$N `|Sq>s9߀!׷u=s~zGU;gf~ydz?{`?4y0:`C@\gN?tcCCqs<(~`ZIXc[?S)3@.OOi\`IV${Sұ5$ɜ};(Kdu1\M9c__A{ӮmUU#߁~ȋ00Wk }NS{s)= ! w ;qϹ1fr'c}sVNFD[ H]7cCtO<❶'Γss$y*9*q猆مXcvWԡ&;; {g^Fl)fV PSIFM=ıgI7 js9<ȫNJ 'E=#*25 " Fr\V\,}IIRFTF0:[%ߺM B );`gt~Y;|,-G=jSz$0 K0~Wi#1MA8@}Pw^[6XLDk•P#ZnmpHHl+NKiS!v+,7n\8ɨR]3rx: kR|Iiq>)=Iۄ,f.N@h7HܮF G~IP͍f |u8a:6FC!ɔpFp{ʘVg A)r#>>CqG\@0 ±#rm9X9{Jd :)8> G~<|ĜyA9'cͧv6@Opz}j#TaXrs\uyj|fR._hd@Yy۸mS3kegn Ü猃D0Dc ڭ$!~;no':6`?T1;J.[rpX$ԉ7^[A9cR w,N@whڠdS!]︱%9 ?0.;ҋhf3~j 3:VR3Cp~3P|BmLxH#S`LDN#euV h$q⡺T۰2#rk@L1E1h=rzkt~O1\;kc8(QreS7=+Ka‘-[~A#WZ\А6ʕ@]0*Ќ**wpXA;➊RCd 9nx'`;#x4` LTW!Hm9ɯ*5vڳ`6#nWl2<^xW.?ʹ!P0"yyY]H0vaNx^jnu2N1zWS~ɞT䜾=V6PH}ƾ&p䔑I$Ѓz`N8z. r=? ψ}멫I#Ũ9yK hط€p9=>-eIW0*Aycߐ+íouqse]CmPJ=N-ɭ'yH,H Sֽ>u<_<>A)d |''_k*(f;}׽8%h$G $K"q@e\oa gdM2>Aܿ188OszS'ƈ̾`L2˻ d8qL|E(%r795[HA #Xs~j7n $tۏ4w 0 dp1N$wQ9ƶ&bci= ṣheTVbVL|NEn2$dcvF89>6 9^wcN[jؕwc$QI{vH Xya\wFlJos / ߗu8UL#:qڜˏiBB` XpAnTˮO$c=ǭoE_S>HxN#yy 3TA#3ƚ58C}¿DboWGrk~gb]ZCw *+F;1+'3N)R^9{|_Asu޲4B:QwBW,wd L|X|V'Vrȴ; ތ۸ж8=IA1˃CZZF ${t>=G&ؘh Hl-FȶappC8N;*\`6 JAF:Ͻ)K ܻސ^E$wO㷠kr":n XqnZvBH$cg1*T,gWNzQ$o*ŀ>ȿ::9s\`@ے}:W1O=LF2~S{3nkib,`ޞο=ſlSE۷8aԁբgs@7jݙob+qoZQrǩ|R {m Nr SתDnPc*?Zd0. ,rt1d=q5iBYpwr@PΩv^ؤM7Z}O%qc;u9]%w78880{|fuGv{\ni$.195a+"09W [x<%}Ma L# YC@ nUy\ҙ+rvd\t&(H#:XPO{ֵr;c8?x2/Sz݌ @X'ҽ:2:~vPNzk餿['Cw8)@e ڻKr{8ǚWTR݌(Rw*ϯ?}cM9Q ?zkCs ޣWРrTp8:]N-axy?snY|#JDd?Y$uYeb9\zt,dg箤̴֗xev72e2$Qלuyz_~DJ/Mu#֧ф @9pN@zN+F%0Ac)A2 qVKFS$%qu3 ˔Ua*dPdrwR>[YW ad 9:{by/'71{t9PB2dГЃsZ[- (ݽx#px68ǭ9v&T9wD>ͦ0f%TN#ɥiJɏh(JҶPUs&w?cxǨ*@ aPpF<҆77"Â3{V;h댜wN3SKHX'],F܌6B;tg `B3Cp@ǂ vN[=9=A!,T,6629;ձ?{hf_1JKwۭg &SH',>Aǥ<0wTl͌;awbYq Psܘ,sGqy l.B2H#wN1QOL0>80zPORcFz9>:9v=3Cu^Ozs}:u봓 )睭ی횣&X9.R6!0wN=iJ5t,X98Ny5g(xh̸P {1lzsHv<3ѶӦ}WR5cS ?/$r8yXdUU)-#w8毧g,b̠mo@?x] v7`rUI+\g`g޳e2c,ьTer {Xߒl@' {<dr9W?3mQH=7[C* TNsp{d+~ݙW>y 9#RfZu6ql*Ga=MeWf8A-nNFiŘ\ʝhP<qs#?>fzctJA13p}: ' Iu=GoưlV[ >A&6@ioO3ړI#v sҘ9:9!]79q`[',@A$@=l}(B1`@*}2E;)V'Ǩ <Җ9tt;'p(vgp~l*` 'oF#齆wgm c# =Mzf|6m?k1k^Y[EFĠvZ%ެ@EqMsT^GJv^MpgA*PF6~fQ5@totDXp&ܝ(($w8)lO VW%H"kx*oTn!w +tpH4$ȽJqA'95F̷!LGDY*)=W+n$ {6eV;rBH!WjHTI8 8#Bx瞙PHV27@%O'%RS;6NUBpz`}:+.0͜8>[Q\;@}*8S"9>ݹl$Š˹xbxV_81M\؍';R3#F2ֻ F@?BTu(]HǮ1ZB:\K#ladSQ3y|ŘFݨC1Ӝ֜Û_\MrRJn`l] sWLC.H^@?)*ߏj[qnb)sec99sdsG~7ՙ~_bp !l1?/>1ZP\398d[G B@W:ʦLCG*9G8䬵7)$* ~Qq=*WVe$(#$#A᳷=N420/~R3>*'wsDF& nQ~$̹W Ƕsww%̫ Fs:ӻ3rD FjszsVe%{=4幷d|4j2y+}{A.I" >d 'qVsFVҟ,g0 A#F7$vu>UOA~9N\\dg^ߡ0y9 :\vgnFp:gs@#:g pIdqx?Zbǜ $W~6H3sOZ(,Pq6לu:T98ܳA9>'"bZdnSnYU6pvb6+U[c.bS!Uun}3oH@0A'8$=rhQz.s¶"C ھH֢݁R`JSI|X1"Aʌ#+nJpW$Ϩ5eD.ݹv+8nrwN8U/;2I7c'r9kSDlZ6dN3;y'9d(j*F #9Sv'K"FEU '9!aMm›sPqzrdZRDltwwzϷZo$sׯe:7痦[g1P8N}ӽzlJt#Wx^k0IzvVS;GLzuG{q':Wc*{IϣQHߧj 8=z%Kbd0c#g/OL_JnzxҚz~cۯc>֐p?1qM 1'<{~II9y q:9G׌zzGL׌Ia_”OӧjXԯ,#5.\}_:1kIA(Y `UX ?G~$ĩb!E?>Duk$# 3#qp;WuJYd X #(E+y#y`v#Km Ev:6獢6Q$e@ߕ0èzЛ]ҭQ6XPʈ`IH ss9*::W4-"8A#yzSaHqb9?:rNǭES<qB>XS5R$׷7(n $6p-Ʋ?@ ׊4 aoq})iU»"}N 8M;O*vQԨy$뱝>IP9$.FOV91䝪>z-o,qs=!X؄,>Ak c#mNB"u$wPlѤ"6 *)q=+rx s31WR[8ʾB~n>bO G<))FFFvTRsy犖$BM0pw˝~uUVQjQKssznteM>VܙK.7[ &N$Yd,'eڊp 5ض$Ƿ\##ޛR#$ڷvtlX{WYeT~=]vۢ9@N2Iee/=3im3gͷK1$&ðkWm.yms2y"II l'V=09eChlxE, < {@@]~A$qY^b)cߎ5A]g8?t}M9sʁQuzfɗ(wtVn6e)]^cpb PpAp?Z@`JWӧ' hxb;8IFf$ǐ$Sz<[\9GJBʽL;z#ND\~P vp:0n s;8b V㞜`U2%XGA85L^1Hv㿭f; M.eԒscַ.DAvlO''?eM8 TL 8浸`2r?Vo9>A8}34_xDm*zqר:U=n7d`}q gVI&88,ax,zg5+Xc(d]` r%cQ8=Z'Ʈ ##HUyE\?qMY1rgo]ç,Gwx>˰]bpy+sފtwpNTǁtmDv θw9Xqצ+96fl\.NKWx(,wX;yaLK :>v3|p{<>z=Ju;*ޘ\r$Xumyk 1־{wwKy@H3V=TmӭxinX+~?ݎ>JmnczjoNtJKqN>_?TK烑ϠXҢ|#\wDDUУ\r1㿭wRLs'ֵ]WL?5p#8һg*9=Oyj#G=IW}⛜} <=<Ǯ?N)ߑZsA;p3?C'o޹k˥vǵzM>zkXrRzy{y[o#F﯄`NH*7?/ౕ*ydF W~9'p=5ÓvX=+߄yl3vCIlLOf-p\>US)@9pG!s+S_ILW @9``cG\}k:Y[~ דje7cYUK2+B-`Uk)qb Ydp> /=uWDb9۽`᝗Z4D %?2  g5T/YTt ?FMG#|ls^Wx̾YW  Gos#bFp['R@Nxj?V}nJivHpv @''GQtͱv)%F3ךgm5z0@nFH9'ҦݱK|K L ܓP{0!dUsY2X$ `g#{LQRrLhd!.:Z99lm ۍgL41l(p`rr}R.mQ[ڣcxϯtc nxFF{39.aO<]3,Qzp߯UneRҜnXϠPfVsWyJyf\xUXWiÜ6zqKw$wywj$ L2yog D M̝< xK/DBA;@-F^8ɧDw$D <n O0 `T!m9/,yx āUyN0Ou 8#n\z{yى!Bqx uKy^14R ca㊆~g39q*Fff %ۻZkYdpTBwd2d455Ka;u ӌ^H9pN(~C󀽺g5weBѿ2eIANwwO>|Xpـ!} *M,7DEn1L,A*HLe@ &V'M43 }*Q!ڌÐX`qǜqޱ,.bgFݾ[p ^'׵Ec;:HX~By zu|/Yؤ)c(LM**$qIzφ2_YDE(Pf#v8݅9~ N}^~PW21J9kfݼfaiiMygX\ ~zXFĪ 8f~K @\o=x_¼seQϯ$d`ss9zVrKNёc vAG\xsG3~&dq^!9BH)3.l q^i9{ z%yѷ<ST׎Ad1?\qץ'n;fyGon1y:z׀M>z#{N;t9֗GbO}?Jx䑐s8=@^=s?ҙ=yMBB'c.:L2 㧯$=?h7{ G^posG׭H=^FVKAtq}*#9$9yOcz-$NҾH6obŲFBZ}Wԇ 0zK7m O|F7|?}j $9?/͜ʹ#Q;#&F>_1sœuF"c(*nOI @l~V.mPc#vTawcG+&^$b4! \2Uu*[>d|V$GR}RU*w?#"pk͜[;!4/ ) .?AǨ:Q|g dzPJrFMq {[M ]J.w}*c>b"F2nv{*=D0ylTsT4C2np1&|eX!K\q吠.|9ݜ(j-2CM/nGM9=P1PW#`eI~li 7I2!B9^K?3mcٿPK$vG" I'$S{frKlW9QBbLq,BA$z`szHFViBctJ38m+kEa*k!d1fFMm.9TP`I {qV}}} K]%f$l8'.z<ZOb*Ѷֹx9߸JJ];R}F?PF6(R8QblYUe1q'xZ4ǔ {#+$'UH, 0PH0߆8Nb#kztg̖]S,FXP'qjG?s>\^5E̛!Nc>^3!f##}+S(Nrᓁ:u\B dH $!u z`zV4X~=ApNa<C734M\/  vAy|?pܒrKCufj+g0z`c<;ncлD1o~k䏊ڃ\_GgH&5 $ʻ|̪?u+elZ:t#ް5a9ׂ-gyٜ˶R|\s!J;<1Irij`+ؠn珈w#UyWIeRpz[AI寔ĩl?7\sz#.-JɸmSЪGzꁕ6n;1f sqDuԗFJd IrsО'2꠷s!8>h2Ye WP(1~JQ#+j2q>\.gnd NT71֤o%q|?)SN9@8 tR.=TpO#gbs,sG^CwSX`J8u#(U$'8ܓ[iXXۛzچ4XFoޕ%yʑj v` ܾ=#}Xw *74@s`I#Ӗ;VAoIJy1˞WCcϩ| aceeϖ8'޾5 On,ήmqֿF͠燚_%R>OAӅ~g%g%ٴ~xB]2@# _TV BIF#,HQ5\1\Kc8^dlϙ/-;pr>jcpY`猜ƺ/cuG/,M GBsd,ϻ?31BAګ郐l5Zr|8FVbPnWxwUS;X{a'q9g9rۘ-ӷ\u4,~!Co^k6w `ܭ{i܃9%n@9f˶rON.$|1_ sR;\B9r:gp;йj4- kb@%wRIVʳ6>ujb\ s8 y+1]Z2yNso¿.wv$s=ʤpM1.0`098;cVDb9;ߏǥ`n$S2U8"NNw# 脽Grm%T \vZĞb =;~^QV2n`:d4ϰCg99]*I6P8 {61)bq_^+*JQ>K.jΦ86rz~x7&p8V\\׶~z`PyR1,Fz3QGprA^F"=Fzy]X5s쎽8ݰ1*{%RbYkO<{o168%1=qRz6v~jpg;AqzJ~R1O$vf>B{ PG#89>Nk5L_̘b(;N qs,Ā8l7 '-g;$xʿ 3/2:qgR$3Cm\Jҷz $0p 893*mtBd򡒈)'Y;͍S;Xdr(Fx s墒:VP `ǹ#'g֓-F3ҿ7$@b7v'cpHXMé1psڶe3E+)F~U(>~ztevM>'_X|.Ta''>䚼AA@|mO` g7jz`8'*H&=Aq 8$A"Aą=?6N,`t8O2H1=E]%]s+[6nzh3:n dG8 Xc*ya7d9p1׽HB"XmϛL9UT\RB'^s\TGVLNz29'p=HS`<ƻ) Ub_xoF?)S$v' R_ezcoS7(z#w9=N^^S @B8`{s^61=Res9!:Whnzm' &(3i~-Ș#| օ9ׅ8]unD ~n`s#X$sy%lU|$۳ .C䞜׉_G@>3Ͽ|zd~IuNWhfHv9唁'1B~^\G19޼ϑ n瓸ZN8f?1P A6ΔoA X.4}yݎzc'_x9zsNi qcГ91RZy4t!$gx8Q$3*uuH a{uG-2gp#C a)ҳ}Mc@T?1,{Aa !Q4lA|ㅑx$gܶ$ ]ʔT~#=Ȫ:ۏ|yȸ<=AON oq1l=#(U]n;㎵-\A8ϭ$ȑJڬ|c{ӌDQs8>FV ǎ1'V;n2@IG4EIp6GӵFT ۴mek3tݳ\ ,T Ǩ A\Qx'\@D-qÅ\zjL|79  O"1tcR ;`3gƽ@(Ԫe W.qcZMF6I^W!Id78T Xy5:%[*P n'z 7d,tUW^|׃9Z{ڑ&xJ.gQA287mϷ oV-Il=#3c[c>Q%E, @%,HOztjagu(vrq< ZNLC}峓ztZ7Ц򂲲0]O8e1W&ʎZ6cɦIILݴ8ʲ?O*K0<;@rv^f8$)ܩ(w2ĺN: PTs8auZ-]؆FA Cp}]*n:3cQ+p3G,r.T9Y37U )Sʍw(8>AȯPinUI"1+˵Xp]WRLf90̠= Ҍ]q +ĪJXd0998ϖ+$)ל g_+G63w;@ l6Dg<qt5#UD 7>kSxI4`?.UNݥ9jLq0<;LDtʠ ~fۓߒzrUVA,I۴)8qOuu#o1.Τ.1uHsډ'q+1´$uZRNpv'FOZVʻ Pxךg $q}*Zw+8_^ B~mܒC>nR48s]81gONTO BXCIsׁWg`Hc9*0aߎH&>BVThՁ1I>]乞BT\(4 I$cjk&ORF  #O dtZ(&R#<i ̀qUI舤`əN6R 郑TKYyl(7,H;W-dRJ1H$8j*Fd&췘q5v]F#BTr=튮Qs jm;v*+vٵ8b o^= g6. tbpxHJ=l܁/8;w3TGڥ2>l,{vkVGvJ]I?*Å@Us:9BY9YAru5E$} TavQ#NCn/ ](9wtV:{F7dH''E'NI+[Is3F1;)[8=6ݝdU>{W":V!*ON0qc_SVhxPܠg qRЯ0JǜQ\$aHw8#֓sV,43\J#1ǟJ$G5:^ شYbr7$nc5712[u>/|9>r2&ÓVre'8M0)TtП4VЕGl 8Y7L)ێ7EЌUpfϦ9'>yل33t.QB t9X }b1}7+ gsM&.O@ s?JhVq<󁎹>[bq&%X{cϚAJHbqaۿ=(KN3c\S~1# ʕz} 2,Ge3))sNSΓ"I6pI '\4e1e ʌ݁ߊ߷ Y>`2Jswnӵ9d`j}HXK`H18苶h ) p9\r2ոQQA^\{J]xB+YPd{R-c뱳 p0rZn$2YQǧHoWR -#(z:Tܕ/C|0feU8VW wE,,6*pSrP02s(hʗˌXG' {5݀cc^w3xjb5*fa *I mmpXztm2fʲv)`AߊpHsCv_F ~) F$QS; Wj˥M"9 ݁N=x3ךGa\c@_sc5~翗&ggc:a9@=}yi-:Wf8JS֧FJG*G$sU[JTo:Or=kIG}0sXKR&cLRǡjXMzp@zx uC֒BN2)9>۩)s^:Rv=Tz? RcC c}>z^Ɛ=Gy nӯ4 wϮOqV#M"DY 8b}1-9.r14D==ٿ Z#88\Gё$t: nm,$UIb;[r݋.4\3*_)Ӂ׌"IS{ LÃ"RsȢ%56Kmĵ)X3 XR"a1OK</p1lg'n([ݤh2[æ{^iX w Gܑ^]hJ抾uowi ]EÎTcw[׾Az8xf 8U{9AɓpRK =޳їmQ\OLjO wTbr~A ; Py,Ccׯc-M2 !c83<` .}><9nvIۂRw 1 b>b8{qE=D>\:0Ʌ$Мb юGl=O>^k/C[ˑrp s> >) g:JaOB@Xn^Jwyc+1Rķn_mV<[C d'<]B̬W(C"TI=9Cf9GuvT`qs*$"q.cB4bkEG^㊺igk=6DF%xfcmG?B$ wxk -noVs?̞}Z~drAb>{T[RM;rCzqJmb$%_ڸS9L}2{nPx~B9=+B]0ZY_1[#>Qm۩S.z{ܴW]oT*cv銮uSi[>Q@~]ƧvYNxO3tا&NJnT3c'=3UmS+r9RIĎ;ddvj^oe# ̒C8' Nx$*{ةܕo$`Jn<&?2ppH %q5VN &}E[ 1߹~ݚ،f8Pb\qϯN*qJ wuw(2?XO:۹B FA;ۓVV5kld#_.@8ݝ =2Eq졆q[%/{v5-Ē*y5wa e$勐N}ǯJIdې tݜcg;-ˋ>8Jr00:~$F8늫E.kۭuG~5s@FWdp#׾z׫ S{{gƼE+F$g)1^|նA8=圑'! H OF^G8'#{ݑFy :ڤHFx? £<^3?IH?` $dLhfsiNN;9} L9';Ӗ=*7;VO[Y9@ώ}x8~ju"$c=s}}*lH'_j)ps_R h#4Tuo&ke:vvLv`dt^iAiQ662KgJ_WY&Avd b>nu#,r2Ăǜ SIt#xNѭ%ҒakHg$/c~Ry10ZjZ[io:8B6+FI9ATri;#`EY|r0Z`:~r2r7ew8>޵g.#޼ 1 `8dʫ7)A`t'qSIb+HY#%Y9Y}y#ӠRLc;A]æGԟOZleu͑8q!O1eqGaCw%Ψ76 9ǦkQS!nž ^} L)b)ei67ӌzk C,YLrxJkEY\B08$.>`qֹ8e mݴؚ u2\39V TEzE2vwAǿ2jsbZ] P|0@vlq:qNjy8[ zk;BՃŒCr*`ح Ƭ,p*cr1OqE c؅vߟ}-3,@CnGΜzv?ZMvb\arϯLmOFAܥrؕ!&:0cjZΥc鶐An`Hm#qy-ÃJgKfeii.s8I!i$Un ᑑדOs%"US0R98 G#iQ7}Iؓ2}D (h#g꣞N{VgAhkw.6mFXX$?{u`\Xi[+8HC1OZI dثde*Q&:=} FוFFzxSAJiƌ:yyw'kc#uź9d iJt>t$_Ydl̓ r=kү ]6T+78 *$n'tgqB1IHTbg67l!u>SѵJ ~dӶ>l6ߖ洌u&|w ޕxgneH{Ki. sHE~Qʬd09HpCgkͶO ӿDCIH'O'qR}=y;^gȔ=*\=28ϧ^jdC$Ac=7t9N<ѱ/Cf9AO^S?ҵ9A<1ב^+f^:s#P=k)x㌏n`yOO/8x@{{4'tORx@}H9^qsSMXz*AӮqؖK`qGZnrzȔEӞB3(#@J$9Qҥ1< uztzs k@LOK` ~}}-wܭ L˞OS޹3ץv9UI4q׺3`q+Img /#" CEֺjv=Tr>lA;TwpH,?zb<9Qݳ%bG =a\w\bWo/5R4x'nqU:G'鏮*$7q K`g,yNgUFS}H} dpso ’>=[ I8XO`fMFLa8}j)}Tq"rpA±0$6T?,*"%?(w(;žA=z"s", nNubQݻ 07qB'ko8ar nS@p{ּI<8_Z 69-XX?6$w=khQ2l= \̮fmt8oLՔ %p t 쑵J90O̓Ҥk~$br#UH]̋p;R@ t9dC9cc1KEdvn݁b0bkHϷavm>:`zQM{œj. !)=6hU'b *᳑H' uuc=w9 dcMcoMnrr$^v";)MʭvQ"R̠g_3d:0qq7sUS!BsA8 ;f ڙpF3'Sf"3 A<0$w9 P.w7;}# KEi]]/Fb}!=pg$FMLgS[&.X2^GP? נn l0 <3iusڳ=+`'s8,,qnrٶ+kF-ٜ2PړZYilD-JuL§BA9WNhY5 $@)ާ$SG1*7eU(6Hۀ}OPJ7`p9n+"]B_,|`Ps 1tvATF~ GBZz^K?aHr1)/Y7Px Zqj #Hj^M:5G؍j%y9Zƽf+r{549N?ʽOո БjS1$~r~kA"*CLTگőToorr:xҧosק+$kG (pPg ZqA8`7Å$\ӆT'f嬩77݅155X (ti+z]z^希}:c9}kڴB799۷9(A2v=| n[+{g;!la{ t8)CM?>K)BI0N|gjK3-e UDNr6קMIƜM6C6>m> `gRye ex'SWMWT  ? B:9Y (P|e1:׳WWF!ٲs\|!6:qŁyNr@o2:5./n.*Sl7L'q m» C.\21SV@gXy UPVX \|$a)#+7֭onĿt{b98qftA*c F[# T֢}˖̑QTgCJ 6_oz?@ bvふPeS~Bmc#gA=Cz{PIrNݪ8CHU#+ey3t9eVI7 he՘8{U\ /A7oJOjЮ(!c ޷bjYvaYIڰ|"$9V?lXOޒKFs!3ҧ1ҧ/bڨFˀI`*d|zgf>nFyl]49/xDiB 6wk? jc,!RX }r}k<\9Muk?&/gV2>Я~`]q+}+5~6UוS EW MWB֧lo,d6܁rFN`{UTq0ٻ}&w#/*k]>)lLRDeu,n^C}T:bz U[jٌgk߿E>X&-&VXNB򼟘yj|n){'`sߓּzc]ت(5xLҳq He 8;@\2G}.9Ja$!;Pc=$g>mUa~_g-nT66'i@9ێ)gvr[;r1:V $dc+o9²]׭M9!2Ð`-@i4RbyR~`Gyn˟U wQVoD.qJAbH֩.6 7ͼ `y D3C#9*׎OFz3u-+9iwiM` n3<a֐HB;A$g(:)lqz:L+^''<$nkZT:y[2ːלkt匢KnBfkg+JUaI l1ߥ1I(=*j5}dk̪(vQ/s?*q&2>UPN=>nC2~PʮNpy)h< 5% iI#w;'Y<<=A8犧 tIAgi68MF4̶̹Զss1jR4YBJ$}{^iEg?c('[!k x t]˺m}Z X?t)sɬy_"q i|m$cU^mːȧqxQsZwNtp0 _ExkBVe>n.0}:krrJKԺNE#,"8c^ٮ(A@;~&/)77'59FH 2;wzH#qBOoJwr{;*>SyE2ۄܸ-ZVw&ϔeIm{|zVZw7oIl&p9(GǷs| )n9co'KeaӅ'k'?u0xb~#9=9HLg#i*s@aAONIyl@N?:Qd2fbϵ=Wp+SL0__nߺApB?X%\~c7zg 4 o$r:#fcѺ1ӥ>z yRA9w~Wbq982$*9BUAB{ڇ~9z>S•WrtO-a+?iL.m.~bI#xgwW8A\!c vJ#-d`H{n5i˿M{s~TI989}*wqʮht?w׌M sr:~8jkD 5[6R4@W?bzgq\A#rTߞ6gNWHM'k68ʃU큑ǯV#!$dp^8\kk>+L$dۻG=ڹri`c*G) ="= Գ1ʬz&ܶp~Ie,2qv`$Y+6\J`3#Rq\P@ 1 У.[j J%2瓐~aҢIJmK)`6\GF=},tj0b0ARN[ `0p $kc; sn HǍ*õq1(dOAn}(X&V NT,Npr; g#,1w==+vӱ2R0۴""7N{rx:+54u:n7 }N>V8#ǵ)18;9=3O7q c [q3{N11C烎9e<9O(y+@y#9=s}7ʻFq^é:坙vQ TPTF3C i\ΤZGh4/ HLI Y|ͣn8m-c nɹ[UW"VifcR7TlP^xB v^9X&1g+tFߒ4]/k<[@$䎀aPS~XѓF mTcV~w9 7]TU O'qZ*̠+q}FsE˅1f\܁jɂ%m7Ψ3 =¯q]Ss0L&U{, 95\d#bv9x漼BlՑ$2s~rǦ Uɥ$G>eUI>ƱlUKKN4 4f106H䊲4y-'1w)Aqמ~V&ʓ|cV9;I>~C;ҧ{7c UzCMh:gicdK>V]x%s+-w&@ ӝ`1__ҵz\Ft2yLGQ^a],lDOX)\6I+{jxb_0*VE$݊do|6j1־z+Il-_u+&*ߐڧ8=:U$U$#rX0IJMv;Ԟ6$d@錝>LO֦1h8 pqdC# p1kClex?A' W6/P,yONUG݇e7sQ76eI>UsVӣ͍f \ #$r9暁bHO/ˁ6q"80/2є#c H 5(y[zzq\LzWϽW..ve5 W;{rx9?ïWj O A?wwQ01VMudhS$~V `drx y?( F1{֟ Ȅa "pR3r=:j_)xcf\.ޙ?^*-.ZXkvV. bOlO︭cd4SCPgq+@39 {Vm#c 18=ꐝGj31x 3?+(1JHvHF~@p9=kԍm"y*, {c޻ՠi| tnzĹՎko~f#&=epܶRb@bSb|avi~drOQOJb0wbz6|5;Xj*G1pS B>2$eerg{2:}9jӗ4on*2 byqdcc;0u#9 Nq ʑ#ɪrwîX İ=O< e!Y\*tU+O'iCĖ O[~a'k_gLKtЃbDI鮝K)WQFcc Pɵ c#'55PߡYݴS&w| /i~{té'|tqJ6gu8= ۩`i;l}؁:Ȳ_8le[ӚK+ ޿Gߧ4V=cK֤ܩEfSsRBn$wN@ކ&G@, xN+&m.ݝ $.cW`t jc]s+yֱAڸ(EFRȂFLg>c|ᇵT 2˄ffI=kijMxA' .͸ Ώ N Վ:Ce#gF;T&s)r(_Lm.gb0OfP z^*bRpT᳝?@\zؠˌgӃ9jxOϵucPA {/'*Fɀay4x|#s3>#$)=2 H6HE,;[,N2[ {SI6I>$`aϡ#41v( Iʮ~eǡ^{S8C`FH \iXW¢#:9pqzjr @lzg6RBŷ n܄R߯CLb~}͎wW#89;>P呱aBK#ӓM7Ilzgڢ/R5&<8c.zLZ}A0>v=qI\2wfap#U/`CO;Թ)t9`~3gr˜wZӦ[``<8''G1|4KmUp2HA#QMć$cir>QQ8 A.Ub $y>KSK>󏗏0ی]Ur 'aS]iU:]9+ ⺈tA[,O9'Aj1۞,jWߩS7g'[pÁdukoh,[0s#c'5 %n,|^_o_yM0)y@r x'p;MZڥB]<˹A+q,(L0q] BJK/˂`s5Dc*I<#=zffBP޸ TD'avH+FC =zzdՅR'  9hc)]-(ycҥQ vzV*C]V6ʝݾQcjU G\'+Xrf(iۏNG5p9$v$s.:9gR͍ȥ1CpO9_®MD6۹wn*TsZ*j3%R8Y7 1l:vkTm,DlI-f瞙?~:cY&H79k;}EX N$lsyښmݤ]W욺w;TOS "!TP2zā_9IV[wgF 2`lfnrJNOMۂKQӷ%iEo%Zpx`rX\)mpYr#d^kWӓُFhf\[DoG Fo vK=Y[ď[-ncZB"jaThh>6NLZ){cLqUhRU,K6HzJ7)glk{lƖyv0k9-F7Hiv끌S.^TKwiu ZE9!feϦSǿi(*FX}ROfifʈa=[zFJ$. `e6 ʸ9)=((x̧?_N_'̍gnzi0~f+a9e#&$ L7!jǸpB3~\桇"{s{%Tu*m27[yG)"i{'zxIɥdW.c/K\EF av]Y  Y `gt0*KG_?=LukRV}I/xH1r`kCnJ9P8{֥v $27!V=ʨ2N9(98 E¹ d"VpFr09 EpM+B1v8WS^y5 "6 a88FjcN}>&4;A,"RQ7Nz^*:EūȑCkSRBH3Ai龻->:VLHAb]08uqaS!'ÖUcx(i:\;#"MDH*[qk1ŘB+7N1+` s*]W՚B̸<7vvQyӒ1bp#93\қl46G9OxUX#I{Piʆ9G Z´/i KvSci?>X`ɯƮZ՟_UuFy[jG+u'=3sRFsg#=Bg#H۞} 73/B;ʫd`Z 1szJ=d9}빎Nr{cn)@c3UH1I/Ȼh9qqQ1 0aߞOT9 c0A]frs'r+J{ \`qT20'׷sytWe;:yT2 _˽|v!RgIhKw%@\?«19}?C{KRzM $29$~|ұB @߶}iŀ8#Nz|>޶%nrI=yU#< 88=ϧJns߻o#ʯ'.AWڤr[ S0%)A'ҿGëB>rqqp`p;?ʴD1~V ̜r}p:lf?6F08ۧZd8#vrr@sS6è1Ҁ7m?9,+>tF_g8Rg%td$3-%YȽsnZÝBhuD<y9E1cpuT^]y:];E{Ry ڑsVx 4[xۉ!+\wʯ98vw{QQv~Tzo˾m34 hO$ݎkCIs+\ʭN׆N{嵏(mFI@2 r,۹OlV!Xb TGpOjۭlr#hpzs̆"/#0,d x랕UD$w1":?30 @9k\MGfnzQ ې7;br}@9?&'$rx*rG դ`;Ky;})bIR ǑYLV6xjP4yRr+gz )zgjK}]BGܜ`8o3Ха!o T8 ߗ&-B /E3BawدPy\WvfTJY%,p1q;T@O?Z%[k,I -ʒ\~TZ3gaٴpr Ew7M'\z\3wT~pIl4c8 S'9Mo 첁~U}}1] ls0nʀA ӹj_D,KrYG<{y̿8P >g9tZeΕyx 3|-H9+8Ggr|VWHԕ*r˂n8uL}$ dă{`(omԗ7 $m!|= J]Vb`;rXsTKf%bB50DEYw.z'_C鳝E@\^)\L1$hq&9k>n9/Dsg $ 3H,1c;cйLe[oϵMgsZs8sFN GCݎ;z_Akr*@HD^]V$ڮ%Q¯\s^o"85%w 7~C3pZf5FЊ^L{+ 8k|2^C|S͊!03!W.H.g?↑%DJS3o;^< 0D#l`G+ͣWs&Uis@>'`s4`ʩ_<{:~uir3g{ cܞJe{ a3j~vO~[j ts1sqW}43z{SG G_:QJ\}xǧ^1=bgS1F;s9|ðӧңc~,@#})@I 8(G3`~/ӌ`ҕn029{U0+}8#qĜ=*: vy vx֐t3G87R;|rOoQczӻwϽbH91={}I8O3\r0{_ʪx;[ q-C 2N7ձ 2dĜ`s;UБG2GJxH#`RD`%rTar:sϦI"$gKfeqqԏh* H3c+ѥ.pNZ1!mA9&8ڣpzIj.m8 r0FԨ< /8$VV!SV1_,0^31{T: c$sϨFVlƼB׻2z)w 31m1 zZ|a-?гeje?0Jl[OJbBU|/򑌃3+9JLs|r>sU%~`I ynǎq]Q[]ZYy&3>n8܆@sd;w ck)fQ%Aŀfn[ٞ @c#h2I`|: G\2zjTNK Ոo WI`P+rab3,fUT֪K'lFV.W<7R+|A-ԫ&b$%铜}{/F/xUޣݟ i}IRR[qj`29Jqm' pP]܁*$fguLmV#;_$瑎iḒ$/.#Ի)!pKe7<ޚJQ.XaRllxr "}cm`r]؏F:uq]D-H~b91UN9q\w^y#̹c zd+q$)qOLWDl`Hypy׃\i\sIsa!La~A8ʟ|;_s(A+)¸S1K#nL|NA<{֘g1pH d}1ׁpN1m$hU*r rWV,uR@ a>^ߥpVz~\Mǹ|H^zGjXp[ap:S;0i=JԄp|ǁGB`9̣'5XaAk˦f!CGea<13"FW+r:8k/dO;Ǖuw s@:p?6Z>~t g' #qֽ*yټ]7IWȨNܺlH۱_~%(n&o)+8%UB^x'Z6ٖ O;6ALn 'BJ8$lUhmɶ=9$c1hA[RYC>GsAYgIQw?${d 7p q۠z9#﷞dN B9zts8 OsՁOa&r3=1f&,HT ddu&3F[vSms]!c'G'fHXe௯Z' A`3JB0$U)\C"jSnXן8<`c6YO)9d{Dh 8I 8Z襲sw}pcycpO|v_ӵ0NXݞ8=~UnpZ>.aƒqa}5GQW/gRw_=YTn?MHЃAzx44{n<Щ|gT˜W:"dPFNN:c۵~Oi=j;z_M.{rwv)RO+](d.aj{_Mc@̘,d'5"` qz߀޼K'{w3/X2:bfX-v;#[z `VUQa?*0,9ػ|,ǾPaA^D/#`%s^ fٌeq p8* (Q9*!_zU[tiČ&ptw'wզ<֗Ԫo>l%pd#pe@W^U#W0S:zq_Ah|>=CClj~5^1}c7#q\/ːp_8I9NA#o `4$N:(輡8=G^tR\FAP3۵Qzm;NG#H 'pGpʌz95+$G9S5Jzf@ $0R 82yV:>rvp ' ב]M4Hٍbö Y;TrRee % g9@4Փuɑt9@rT8m;Iƫjdp1(FaTdr#8aCBM H@4X;"QGmZ+o_3]̤4 uoo[Nt!z`Gm/&%߇hQ`(m=vӯ֮ xUd7;tW&K.. eF3׎3֗rpp<LS{?'`G`qqR>8R0@R?Ҡ6- 7F#J=y8#'(f3?>xb{뒭_D~@ p2p:G䟻y?CNS09999ӑ488Nߕ9T08HNpr{xׁ/;w|Tqg9#,%p#kd|J ʳm?L қes2ǻ RWgc<}Ҭ9{ӊS<9=?ďj'~ld{g [AFYYleYz ~3mȖƦn,vPBn?,u쌭4lx tҧU 0s84_(!xl t徕bRI!!Wj!nvsWmz3l&6)P>E"L5:4˸>Psn\yΌnϠ[#]r]V8QּDm7Yv^9N3+x⬩Qv[tȮ]J`W8$g=x6 ds riko0Qp:]{]$9n당MFJһr0OJIYd7m8H`I0=f4aqP<^:@!T a)a:oj06{+%Qz&Fdǯ͎5=G%,Fh]k4y4 Ե< UpIyr0#5:2*U }2 N0}yϥϥ.X&c7@QC#Tq *MlV?E5r $D$\\1eɴ\J=aң/,l mۦ)=H\`J\ g®[{mŇ8nFfF[m%"cz*+x  3$NI%G:T#HUc\ұw!f.Bn°RG*A$*]Fzfn7.r9\wq-Cm8N2*l29a|#zATjҐ 뚴Do &Yb6.Swa[s'̤ wpǯ8Y֊6v xbx1 D'#ӭi.ƬbR `08^?w;s݀''ӕs< |Aʪg?;Wk7A!O?Ci('-& ,pYyr8˂Cg5R[y ȁWĝBq)l |pT{~asvIKd6 m\>^LpAz4s)ɖ&)S|jFiB<1Q8opsz S.,dc6 uǥj$>㍠ӊ޽HBS^O_^L֍ nCe,,Nrr:=arpdw=G:rEvU?ŸgR$HWHܧ N/8NhQЖ:]6MVwW+= xSq g}b5JC$ĒJA€>Tchg ~+9nk ki@6 =Bt'rW=sR5Orۗ8;z}~\ ЫyQW{?@q֛!5\=dc0:x'fo#]Imacnrp7RT7BǰQힼgu,N[%IVa9Jg\zcq$|q\#EmAgkO dck0gbCc;RO^nDV g PᶎUT98 }NE/aofee%6gW q;fCM#f9HٜqJJkm0r |g; W;t3)T8qw[*?P`iI(*;=UtMnO]lDaalw繮j%mO+"|O |L@ 6pzVTxÂO#+)'n38>՛Vi+߱lgÃ3鞂rnIBĻI(bĩsqQRUmK*IR rʎSV XN9*6סJEԉ%p't)ĤlI~9~UPeݴI,;ay`B 6G! 0̩0¿Pyʉ3E}'g_})<.S+- +}E:62P=I2\q,=p+8=GHKè*˴$v,r>L;Ng oRD1^ޯ"i8wY>_J/nNH#;AJYW9ٴOO]烞+ N4Ao8FUy18^T}U[nT[Z!R,qV ݈qLf]AAy϶15s:S! y= &9CL{A}z`sɂ 3)`2>)zgQ #ȼC{M+kf&Wk[m#?fm^:G%+)rIA_^k, ch~Ey/OY:}+F:y\ޖ]$'mĠ_ݩC+g-|c.oZiP`I# &15It'-  9Rj莩=5\j )ks^F)Re) >'"_ŢXA+=Iɂn6FЭMt(ޭucbF8yȊ3[K 7y=ҿM  x98kJ>#۽WGKCBdE;_Af @8r'ė9tgԢpZ3TmOӡ=zӒYm#'@ϯJDguy *`3 GrNxy@\4TWUJϷ"FE]$ID[]^Dw_XHi,n 6T8R=[[i(ۢkyr!_p%^f=aooPFo6I"BBʭ.0z KzX]{|/M[Feb{q,Q ptr-m-!@ (_E>#gIJvM-y> (gQҔ{;1F B䵽:{VM6C75+s4W , 0 .[N9=gN\T.GSBJ 2(⚵_Gu.ceXlDܨy12܃nYA;K#f'}jP(2Z'VE^Y[qbT=w6F6c-jmN}cߚT>=uF0P ϰݠg9ioR~0=sFU Hs# v۞jnRq *yu׵s?W8A@îRu<'k98=qA# cӱT8ޡ+HBȻx`όԂXbvIlg Eii奻HHM* Uf[n tqWՁ"KW~~GV>㜎ӧkɜxm<s$!̧kn>;5-wBAKJ |`ֺ乒FUeSMcPSwsMd4{q݆go3nV=HdӳO\n( ݶ\U?0dܪx 3܄inO!Tgi£~}:ylx#-}rOsI9iq QM[7:m+f f$(l|ۓ` qǥ/]$||(B2>\&BRF28\riD8. t@$cr&̤/f޹OdӓNzNz?0N9 7䌔#i3ڨ5$#ަNj6#wqSz(?Oj]v x Z̜NBN w6\`<*8KgD.>9BS8?R Vx{u< ޹Mq܌sΡlG=*ɾOb~U玤2yr%V{rqq(CǠO^ ס>z}*a'n@V'E5I>) 6:t²K?ZXzU?!YI`6ֲL~r=-a2)8D.G7xn Ei|uFulgx/M4v,G[䳪6|`ÓW9Ioeu#м+ube/DEQ$h|S=봞Rm񤷖Sm;D^&@߾T!-nZNZNmmֽæ_ϮA{le@ieٗhlgs_];3lF(rz$.Sӭϲf?7ZŤd.1n2=I%_:jS(P # zv#W{Cj.I*!UTgV-uTQAo `|V'hbNFӊelrWj6w:l%2,G$+. d]gn 34!S=W (Y==Iۏvs9@J<ı듒z;սbi¨)W!v.zu"J#8[9sg4.pBkprqzcq;Q99:P"sMĜ/}1[66enټÝc-$1 f`U+`;Zӈ;$rF*[כ7vz4լkD3{m H}}kH9RBP?>g#%wr2: tK|}cڪ-3Ѽ8 w'@p j8C%mV`PG5oa3?X9'ɽº I*nzc<-+#)&!qVLFs8 7>Sq(F'=j U*0mݸv^NC9/ z]fV 8.r 6rڽ# L@y*'`\vuFi"Ex6\g?7ӚZ\.W ׎N:Iݜ F̾Y`FOTb$6ў݌[W@VwGʤH}&4&0¾L@d$8Շ|_/寬גg/E*rFw 8aTc8S 89]AY]6pCg$|'q)QH%Al`qq;C50 c( @?*R1lȸ VET n{NKt3gk.X7-kLʪ_}U쏪ÃXqӏZ³g$FW_#Ε>7m,z*i:xG43쭌'[cˆyp@۞PLrI<무s΢vj臹*qA^83=zA=z;v u`:sONߏ599'=8θJ0?Rۑӑ$; nn=*;}wR#e8^=`wjI}N?.i(q?^=?#>\q3:)vž0ӎxz=;fr1߿~sӾj3^jhhAzxGJLcyaAB9z~}vƍ9;arzq~Qcdp'k-ޢ_p H|f{@N@X^yJI[|6k?%Ub:'+;9R`WMǮG\Wcn m $gK.@yybn޹@W˕BRєO./Cm6@ Bv\v `ְ T+oh9f@#XFwn[G$t)}3]E۩^NN"2r3pnk_06B[8㎕ѻ #c"|唑$T# zuinflHLo v3yM" $@NHC]DQ׌#'?l⹫&ykp; (>Lc ,}~v8Y.B֪0{w; JS H/I:Rz2?+{ 2AR}2w!xқzfM1ݮ '\Q j9Ȭ>ΧAp2#>~EcOPVܟ8q H9<kt'F`=1"I#Tr^9Eyu?p;VO@31 4D;P[655ufuAʮ70dj'QiQr@V8VwInǓZHrmU&Ky >]w rȸG*T:Q.U93wU `ힽqvsX67c {/WUʦqb(>\wÊ󗉋Gއin 9>Z|##o!6 >WU^ۏ1ԷWMҪd=qZu9J#YfFȤ}typV@I<0Pn;ւ"Kdʹr"wbR@m؀i2|| ޚEԠ` ^< TX2ERI'Ԏ#}Av@Qn䁟 Tk,y*[<7`gC vCGmON[HR`O0vUv o|+T$| >V n=2SN/G2hFT- sבZ1*np]VTf}nuAietp3#3\s)}MH̀o pA$j8Vx${+qq 9@k\sۦ:891B> 2Gv=?^3Iqn\zM-EАpCcw͏A۟ZFs(14%bs8VUX&9'ބs]*u<ʺBJ572JNܬlǡM^vo[ 5!EUd6r7'o'}kJ#hq󎆺ȆrѰgw1NCd֪;X*+emϝ_J HW 2%'zڎ73D ˂HiHv1pA ?)8d Dgl",і]P$P?=+tA)qcP$<'8S.wv{X!TxkI2yaf:g޾E-aO+ih57&"U߂OZ+*?\IF,C _wPDj:`~Uԗ2e][s³ptkEK.[˞WIe,aćg?2 _J͐~PF. 9`Tt pkzעM2>Lzss8ǹ~ld pxhd@0>^C218=z/N Mn9w =$@?|slT-6wd Mu\%1QT^BX*e 8 |A⣨ 猏Xm3+pŸ<퍽"](Fez9qJ͟-TmH97m"< ߀ zUMsDdB *8Tʩ8C d]H-g?|:zc=?*t=Ur|huF pѪnRKvDL)<*Ls?ȋ^Dˇ6w)a9Epںkr i1,I_zj&tvy<G_^s^ܸ*;Kc-+=}d3ʁg?0zu |vFN}8?;K\dceזxKYeV6 98xt%].oӈ>ocZT`z0gOP\My\3 BFԎ0 }:֟YuKGPr'j q֫J 8rNQ{Z#5(~@PN[n[z0qYJ:W,3/B 6+ c"J$ a${kCr.qNqҫ͐9A >/˒ŊYT`O=e69{zVohE8'ٶU7m pwprAzuZC ُ}[Q Clz0'Rضk Lzddw݉8Rh,N3[.҂{; q9ʮ>n8gwn?qbhEg~<ZPeUH˂2J{yjW*vHnC 9=s=ar6WzԹ"pԌY ;xR޽W+g>p&m>R(U.3'cN-CJ$Q'&R,[N`{3 _/);ۣ2zpkР'+v0XG/ zpzW^\eAs!fiKa ݟƽL5;jxgwd΄Ikk dmV, fʏ-Զ2ָ뇎YpCkZ_A*\42@9(|RsQ3'$+HGO!=Kd'ڥtg"8pW[VަP#b(f5i>U'9b9{Sf>͹1ؤaۦֳ% Gxc{}j)G6tPĈdysGn-!xc6_pc۟Z=4teKNިNO"cfW= [_h'=k)zZ *BL1 7Luuu Lmmh(G׃קJ⪭TcCŋE1QBHUHYA85SlSnpOާ/{5Eܽ ̩`d%2F;UrpXg9$F8'>]ySބ]Ba#l7A3CB1x \N7|唠p2B#Tv/6sr\G QI.~*냜ڸF؈NûOO#p{pLHl 0ӑ(H0F$G$&NUW[i6rJnم$y.9RCD J a!{d:~V۴$OF9 {!ܧ8h*؟QV)s;%6 (zw59Dq$r.:Tc1 d@U=ɱ.~O^(ًjB=I1U.Ld.3tcQsOgYd.w} 7 T Q991ry& 0d_$u _2X~fS|RۻiS>{ujHQo!7aX7@@{u9DD|pUc@6ZT񍠁2C9q+Dv8cm8#>a5],BN}]{~՛#+A1߷'5++9${psUy_Pterh/+뎵RDUMszt3)~[T;r g9=T$p_~;VNToD|g~y+uIjk6s 9gR:3X;4z]̒B%Ln̑2~CT#`ڬS9_:=ՙ؝]6 #XdHx xsP[YaJdFx&MlJ(ǘw=Ocl/bم;˴,܆rV-n? Y-MO!ocY2QCx Ir ;p`y)in7_#?%7+嫈UrM.ՊHbxbZsJ D\ .qԮ;*'@&L8q%A^.87<BqچIyÐ9\gz=GҦV8)0CNs4GpO;s'XY W%|l=Mq.ޡOszlc̫{)sB6R[qӁ۞ǶiV9Cgh|ǶqtUNJ1x>o )9᳌#6QebX|F3C=X9'9=1QZ!f.T`V={~5XFI ֡HfY0 }O=4:rQ`uL(ZEӨ$TR} [=FOgj95P-N=9UnfʐOس/B=pk So(4f,xE0{ZBeN:= _ּ\N7;|{ )+v{ Z*x$SuǽY+GQ3ۦמ遃=.nӧ=}r?GnS}79ܖ<`1M5R3QZ:j o,5MKwGFh7y <cu95zfs6K*Qڤ#/C24>vʍn})g8s. YYD5m"C!?fȇs|7n8 W (ն[^pUs}'aHr1d9Pݟao-ӹPq@8̷N).^;[h^kؤ0˒Ӟ3^x:O2uA}3|mL>sְۻZTOh5 to$Mb]Y'OmKn-kHgb@IdQxɮGۓlaܘ2~-pzk&^# y$PZ~~c#D/U fdT}s~g燌[_-VZ5rlyĨpp5 2 xB=?ֹ+IbovY䀬>P=}SPn;HnJ }֬.SZlnqPG?CN9OӾmGx۾3>Q{䞣N'{7 9܌8'N;SlvC) 9 cp:Xpzgc֤v>Ќ0A(#ew߸@28sz/^Gң~*tXEϷ󡡀~88x9'I=j3 F `8q߮ޕ7=y\qg3¥^* 445bv[gŋ۟jچ8#nuUT q! r)LMK 7*# ?VLcv湭{'aBq͒;28}d$҄tmC'z \z׹Vb\ OF ҕEh?B+)wW;yd^zv] ?rkIPM*8 )A*ŻY:<`=;Ux=}=O-;Cӏ>\OU_OĥPA9tDFy3{dt9N?_Y8oƫNVc?S_שhF~C**ݳ:g?a:d\ۯ^-l :~t UmtI]s@FEd`ӆ/l0a\O ]'#5*w=Xc_~(1_pGUXcc־V^Q}yGcwc=֮}3$d=CM=Tgr1׿֝n:aWzk^Vb6~_b0ZSpg=I'? WN/C̣x3ɮee$|tTMҐpH9N*yf^~HLCIz2d3 r(;9L$KnP7k#S]vϿU$ldm$Q^Z$d̷1e<?CX2ߖ,=Dž?CZ=Nzæz|v.pLAg'u˩eH\aw I=9l`0p1$@$M}Hqӝnxȥ~[w^ 10P( Ằ@8W in r$ ^wTPmr r(d &1Ť tHlf^Cwkɞ)vNѽru1բeav".8^J╌qeVi.eb?̖}i𧛭neQޣ`6N܃ȯJgVZk[RUcr@Vdkv#]v jXOs%–<1ט=?hWep1:V{sbc w3Q3H=Me-edf;x7^9Cڮyo1C lJtӚҖ3>ZR}]Ђ;Azסu7EXm@,XGK?8˚&y 37RxR{q޹EH>xtrk{Z8]w8 fFc%Sn''&N=WkϠ8o.m%G?">OUXwt#&Xoc-;W3ꎎ[jD0:|?8V=\$jWm LqA2 01sg!L)9ojqC$8Y4!;I9'S4Y$Ey"Z]\ʓۨF [d2gp zޠlSX;`+# Xtb8D[bEhzdxO[ lyu/pqF)HnjF4S8q[Vt߁śRKc乊3zzU='FJ: d*yQtɞ _2|##p:`m5Pt,YQ+s Re3л]3g6p$61FS `RNzz}써E܀KwہQԏ\:{fp}'5?]xߏ=k]? K{MN_./.lE${Np2sҶA<_86J9Etw_;}\)`F2)%?t.=~p9+?@D~Bpi?jAj;O<#$ -9x͸ 9|IuySR{sn;晸9ϭ54Bqߥ.=2zJ: ]VM4$r@? ^/ n;YW>ח^grL w9|oxxږl/oF!wqPUsָä$awn`1߃_IBb%'L]]ef~csQ,r IܭHwpb=롘t48llg= sq<)2ALg݀w4ط|+OқC1`qz}H yR0C~V9O8-n¶Q^^ Vv3dtD@,::uo={cޙ A9hc&Ӓ {0JwwjɹZDDr庅E\y,Tnִ3+py>pm^rHr~]#~&m_ЃiW\VQ27 ʎpH>+nqV1qssj˅@q tS'4 nBxⲤ9o \|NG5"f9R3N;\Uuu~3=eOOHS|ŗvc bP«8h$aݼd~y8 nzgN*Mvu^ %F3+ߤxlo[IJGo! J:ڳ/$D$V ! =RXu`Hr]T@W':֑A$aN98<ղJ3;ӷBAܬsu8*dPFK7(ԁ!_,"M $נ'ޫMx'qq"Й,-6 }Y35P39r0A :q+ t3I-D)d 1>"Prw`g;=M.PͷoU@Tt)n~'if"I2G$#)K".0lU2 y #v 841 4^\E`+Wq4}}Jyds`H~w+ӥ^Uh[feP|UH7,FJ'p*SiI\E]F~1 OPL s*{yGd*`:t_?:GtT7 l áx'[7s#2_ 89^9p OZcթ>y^[oY A>wq]nxu_ 8Wvc!>]|Ϯ--,s!k#E~iRPi٣XUƤd[% ,{XFGq,LbY/1) e{zgvY{>N1? e\ ێ8;t2Ӫ-#1/gkݩۅKjtwr vû{Ȯ~IU.2S~a'ާE3.kͮwre=N<{Ef|0X|쌩ٸ Tx*(h 2ـT9#e;tLcvl?$mSרIԻ;!OEKipoʌd}MG# H$r퓌utSGm1l*,ppޜKy22n!rۘR)qr#/B)+1Bd~De 7] d =u$|Ux6I.>l ?Y3w_!_gѵ$D;lNX| =+Kw`Tc#pi"CA'~5*2>bG MDrڢH"fp*[|29+_ʨZ*my|u_|ӱl9ϠF3bF_0AgyIWgwF6onW+/#Udp Pws&+u:鴝0 cBeH;FGQk@$AW#o #W`߷)boZP蝗sNц1xj|^N$/\SQR\ғMɏF$~f ᔓ+7,Iı]x>døpT$z_Ӎ%9 2psM;1g t~5J{m77Jpr> ܗ'mG!qןN)~e@1ԅ?+g!00=OyvyGԊ+~$I@D0'x<8V3pk倾1?LTtQiؓEĉEO8w9WK-7ð[EZĶ]XwĒFId? Ys8$ztet9~}Tg*Vrv0rF9+Us;bAeQ]ͥrʾr:qֽ 2q&[=H8]0*8׭h"GP cW\ʏ˝W(p'%WlFsʌ?¸vdՎĜ.Nx 28Welc vR_c~p*g-ET IrMB}S҄eSRO\L'@iE@=xM]_'915&Iyp-N/ͣ<Gn=1U۸@G>8dg֬JT 2u+0@䂻I<ʸ;a섆\t<󞟭C,E.]>orn=Cb{y>P݈uāp=[|e_3Wq=QŹ ߧZBZ$5 'SxP c${u;4 ܣWfr`A`W ݊@TFsК>|wrH&(2.Hu89d#w#dX,8<==zzUϕAqߌgZ"I蒿a^rFx;# d`!{BOab*]f#kR妛Z9Օg9:F\t$ zs.3?/L<JI}̹d@Fb\r;c4m2ѼG'# Xv$ӰeYz9L/<9|zqSEmUr[o ZYi~J#>G$dy "2KE=q y\FsՆsӟ»pg $`$9dBtl՗*h撏byYm84KIy+ 0dGnd ^"M2$ʩ'9xQ,}r o{ܟZoy Lq<*•lÆqϭ+r%G`=8n&M`|ٷh1ێ*%r6bF*;O@I2ISU2WW6'r3ߚq) hP.AIeN1V 2mHpcFEUf*ClT9("P`XNw=$T]g㿾3ȧ*X|dqT3q۔}3P)3-# $n 1L n 8GMuYs)"XqsҴLYՙж!o!)<`~X$8֨HU^8''Gpxѣcmn-ߩ?/׭4!v1ErIv=ӵD\p0:so@Yy8'O8*X_%IWo/ہp0z"D2!=`j̪ybBV~>ⓕ&7yd9(n@>\>0U'<sI] m$JAg\`p|u8[v gM휃[ix:ظS7(;h;+] T.؁3zF?aW;cy8w~T)?J|qSOU8,O*dG58S ws$~aGL`qV$ r;g=T$b|cQTs>wqv'A8qR=2{3Asတ81q1~pH#'>#ۃX})vr| YSNun#B.$q,q_z# !M.O_%#Y;H,r+)MmSkNւ'rwR H,s21> [+1H 1}AϧQ]БsQr2ӥVsHkJF~L&S4 R^(m@$p8>p3tsZ$sUz/,H+qṟLέgV^IHD\أj!nYBR؏2,:0\qSՇH𤀓ʕNCR++|>]tkؓH `~+)[IL pF;z0kDDc p;w:eY#H#~1-pTnOLY;cIӐ2u#Uo # .]Ybu-u2lF4yR1^xpYm尖E,e{=ToĬ6.pe()&*v#-)orW0Ү(3Erykt'{}.mϮ1+JQʣ~zqW]$a `jzt:=휸IU"T|/qˎǚp\O Z:2ZnGrYnȬPO_ZupEPa :g 5+[Ӗ*+eA^ҴkO8mftk=V!p?Jde$jöe'Tv>ئ00x^df g<wWVvZ\O܍޶8ٜ6I lem9*Yb }YReʪ]NDeO0 :x#sw#g 3ᯇ+j"b6vd=kxB-o-]H;Enͫi{DIfcAi5̘aDq# *~{;m.ˆ)40J'ϴ=_o _"pZ׊ѤI ԏn2DR3 8ֵ9jmhn7džDO2NNG/HOSzjo'񇌞u+xc$iLVdgH v7ci*NlWY#gumz*Ge>H4Srw h;kP/s8 apFzqnyg9Qܓ?:DW,<}>bښ>LGq`(tp?g=;$6<%v@r[~Pղ?/P2g$ޚ s.Aenu8$9ޤmI 1!\:sX׷,Mno$,6yNFx-Nn? L|zO:RIDqqVK1Xc$ǥyDvHӍr#՛EJe~Q630qXɳ#vOVckCʠ0n?4nr9 ë3ӎvrY}WG5G+X/ Ը G_n}%RwI\R6Þ2x79=#iT"; < ⠀ơ{!O*+h0F|8$U✚_υVv]^} wڲ}QaB>b]ϴ`6OO{wzҋ¬ -6 [j \t׽sZxO4Q,#e,q5i}[rT2IU,Ѿ,5вKqY?s}nb=Oʂ+눤`DSʭ8u&txMTdy9 vWl]SŜy*8ˣv#Ʀ#Rb HR˝It[{p+4dLfh5Csq/q)du³3/n[8c{wg\_{~yuac,29܊?ZD*a,@ҹhf# ͝n@&BͱrH󍭒y gz/{o"+ӖBt(3ޭ5C+v9 orzjo\gA0z昋a>%^@YC3 w m`<RX|P~ Amԁ$nl!r+:f#Y0cFѕ,I8-'{6y!5;ͱ #סZ/L_ica7r'+9RM4J#IexPL0~+{c?!Pv1Oz?ĂF˿)9T  9;IpOaLe\c.>zOu|1GjGrW.Yr~R9}kF2#frIq]x)C=WȨ2 tJcNҝP +8'#"ztV0GVf`p,}1=EhĹ8l;:eN m9秽eyTA"7qI fS;dnۿ@;F_V$c"超ŶYゼ;!hmLf?&!OAZ?Uv0Td?\=(X z*6o\{}G;c;uҭa.Ge$ӯ>Rdh5xh)\F"`;IAkwt$7!(;<4,U69dg#v#'YĀp <v'ִ,hX ;PH-5+;@Tљ#sxLP{瘼2q2 Ƣnt4Ijw.m e,rVAӏʷ+KvFј2 r8r==n*􏇼/c}wk|Ơ;e c=Axm7^(ﬤdЮ$7%  d$u7ZZ]MiyNN)+}C h-\ e^9W0@91ZII?Ll-M|3~C#zI08u=A'ڥ>1Z'hP;>ޞ¬@ {?ε;=F6O^ZQ0yr@BL&;D}<`4KI#Ws9SPpt汦}1qJv:aSUX<u8xy9+Ν-v쌴$(_NiN8?՗'|c cߌg~AzR?)-㎆$'OPx*971?p9F{#\mss,Ha3cvrF=}>w@e]{gM2S`r}I 27T3qr0CV;(yS+g79GWN QJIE[;x,o 2Glt>_R򖧝Ot9 };q8Aߜ}g#>:vxsԈF`ų#m!}OQ( '֫g< gzzS=ˑ2nHph(UX 6X9!yj&&0I8>9cJ׿JG;H 6sۮOJ!FH@U#ߒǷNU"ܕ.7K)ᶨ C2O EWmgsp<WvVEZ|Dg9@3qɮ orb7Fۗ$cMSb@,sǡ#;b )$OWlI!L2={uR,|ǷaOSOx!~C ;Wa@xPS䌞E+:pzt!v;}qI&rq|@'Z)[R |ܶwdnrߧQTqq [ܿˆ`B ZǘdH|6p SF>iZ-[\|F  XJٺNvȢ R.1ҽ/uz;wmnd¼蛆>]b 3d*)k!bK4, HXI+Iy!ߺA=Hjӳ倍ZCؒ;qǓW.aCrFz{Jb JMXgB:y#E(d#2 NkNm.MHic#`z@#6#a3P3o5 dd`8`(OoM~Pt~>#$tzӒG*CQ$|)el9Q$\c|NޭAzmu5F$r+ c` /@}{Jҋ<NfmͲF<`N1Tw'+>KKtTmF:x=k˩;;I. : $.T|<+-nqbFU-rl4'/ULw\ ;Idぎڢ2iYBW'=S]bT\wPO;5-˰GqF?v!Qfwnb`$`GJ$Hl8w?yUGnSCRS"0sJ%ieb6l`2$=jRNF9Ȥfp̹C.C|pYzZڷbFIC OAțSڄ"3*;x9z`o(ZHP1޺'ٙS֥PYE?6 Ny{K7s_M^yiAynrHNPqs1ӿLW2Z0ۂۜ^0v2_9oQ?yz'sYw)rC8=jCckҔUԫ9>#nZ&YrIV~QǙCnJ?/bR#ц!W_3/,A ߨWk1pps:~5Q&SK.NҨ8 VcgkI!/d@'ױ%= T@r 1tH!qe~{oK  &yl񞇚4yJzcoso19)}l{Gc9;⾍4`O\mjOľzQTcj $=:Fy׭s} dppr779;W@qfEA2?![SVO79{举im $N폥Q1P(;~\N}nYVFd3 \Fs܁!P =d6g-$q8($۸ }O~Aړ"弶ϓF1[Ai"D@ǖÍ'elLJ0U$9HԔNJC` .yb 9es:)7NFC6# snxǵf`[,@XJ <,Rۏl(g=>_Se?uIc OkH+|?G<FzG^|}3 t3nͪ 9N2b02y }}Ctx-]Xy@x랇5%2o;#å_PJ0|#~ߙ!p9=qڕT󟗠*{n?w?,ǎCch&G;]Aʀ:ӓG1YTv99CL\+I##dzm(88##RBC!bwS*z*7`p9ցy#8n?Qޘ)\ \18\T >ò0YW9tWI^_2<Ix{7ϠyG3);\s}kD+HnQ̘;d pFq]aaq̎^<-zzfUn-E8^xz˅(Ǧ=Mtөedy} I0Vϔ=Irrkz]#޺>3A KHgXvnx8=skS bݢ 8Vo_5[.Yw-K`ʊ=^WsԲ^#o}6*Y:('<<܇ZT>{l< zWw~p2qW֧Iєiy+"n  eM$$rATIhnݝ9)2#\z[nUJnA9+X{Tc&]&qʫ*c,G=)o0cU'G">̥uj nhx,9ׯj/?9V99 W%-f*\ٽ˴cȪ>qbG8 @㡪~ʬy92ΣnQZl|t4bM4یN+yGWY#a#B=x[bߒYFK8 cy95b҅ڪp,s*ܳ'8TI*|)987èBw XmV݁g''8.&/K~ޔIY:C $9nknK9bO.z­T{m<]ˀ5'9ץHAp 򍸁zk[|.{Zo*GN0K ۹=c_$2F6yCˎ+ jNjȭk1] ] |Z}hI#;O.*[B0]'p@==*^|hd>EKFx9^8 @AZ+ +ˁ߯qMjM\5Vs}?j֎"Y>e;I{` V35!け0$)uko` #-3sֳh$amVT |ctD1{߹s98 8qu֋1pzQ61$ {z^_q Gun@ǧԞ cN61sxVI9B9?0l)$8zօtx9ڑxʒTg?ƨa9NprT:C. (8 0:A+6d$*Zlg2' 뷐F 0 _==Ս9!S<ךR:2 >].H9b^ڙmz 'L`?/#9^ Xd;.2sSJF U[SF #zi 0xp x=~^7S *r mރvA$R~F <@8=j 8# 8Z62`MgMn#;zfG5̾Zg8?.p;lZ•v*Tp[ׯe瑓nO=5X|.})T[hNvcg8sϥA*E qI=0=qҵT1!s{c<-nf#+)3V9x{g~l(pH A$B68=zMa[y R%/r9܃ޥm 84*J ))yP}[9PXArpTܜuⴻ3le0F6Ɨ:CHѓ//svJppKY95ѦcsyzW5LL!駂74гrpJ=qN{®FHy*GG-z]= `pF>}x#2yrGK,Is5"p %z$֭4NI\㞙;m/{(c<`gA}+IlBw9ƩrmDl=v >qm }qW?=lXˀ2G=={T-m w;RRH@\dG2;pP9AֱnLx8>(Qq4X\w#?J=1r?㊴=3H5XPrPzta/CzH6N08׃S@:M9ig3]Gq<~^Ӧ0{c) i=R{ t'!}I={*p3A8ڇwr?ʭ w^O;C&=:GZ]^8'ZI3z{cQt Ldʇ#߸uk!W=8秭mKuM) |e(c A.<-< 2]۹n_SI+2*Ξ2=fZ!ɝƻ)|? v̷%[k3$3#=4]1XcBZnY䁍Cma*8Wts[o'JTգ/-oje4fӷV|3^ F?N+,=>_YىY/og(I%@'~V(u{ЍHR5;5baW27xf9`TyH( Lb͙JiGPK84k%$K̶s ȌCg;Cc^Kbt1}[ ֫MWvf]ñjp5+?i #2~W3ֹm;@U}͵2ȩn ՙBG{r%]]מ4{``"laGj:-[E @ q:V[wK*[ۆTK3p_< նa-dԦH`[kl(hz:gFK>Ufˑ3+m{=p1D>e6kbd8FR3ֈc~-ȳU`eBT ;柧$;P?ƣ'H2W88dTteg,R+9@\ߒ{7w?H GI >ib:D\B EJ `/sкy"w>`W1:ԏY ǿ=9ᔐHݟs%X4i&o p]ʹd&Xw8{x+]BϽȁKmx89VOUu.۫N*vוt8$|n5:ecAS1vmkk?pq'ך+߷sv..l^FPNͤ {; YΰF&F 1lN9=+Zj!ٝlc Z('TDdۭb,vnX1"?{+ WjVJǟ2w5lj%s@e=Ƭւd{X1Lgz=k3JiCq1Ֆާk~agڑ|܇(È# KJ!A'099^M1?@@3H8 N88׵=AO̓6W 0&AG=}psqZpx$` h(-s}OZxI'IxAT0#{0GVsѿTpɑ8=?l̖g9^?ozAVx\0+%[ۜ'ӚrYzuҚ-䜓n3I'8PJ`tk˟TY9FW drzy=Rro\3 \{f$~8?W!v2YqԀ9Ns'jVqǸE98'~J/.$sF{8kdc3{uL>ЎzcW<Qz]E'scJ/ѭۉ.;n89#+tQccgosǽR/\I/$\{mrGQ݂2ѾEp>zӚiȓ3yr>\cG#ҝ9A uObEpl8=;69\ŰQLK;H¾cq2x5U~ cPh#FyICs[\4FHסK}> ,_-\͓߻oQY%w.Yc}'N0K4*}CÕA)+IT+i!"9Yv e9{U%y3fԭeB:m#j fL,2O(OHzһ>z|͏ GZQ3]^<|˻8'5(}.Ho<oيwW3ʤ;]IvOrs_5'ɟMGd@s#>c{WCU`pg<.NqZv2Ľ `;n$#n8B\, w7 r8ғw%e(lr8*ÜuJ`;R>޸"0r@Or1ޤߣ6,!g T aǡ⶜.0Of L\z{V AyvXc8oF:֝=kٌ#d{[n7&WڡIȣ$)9Rvci"[6m'b7aWRޝ zUcC6&A'== $4xǜF$ܛ|w ͞|ӽTp=p/` eo2R9Z1s&гu8@o'UḊxo&L79\3.Vg/\'P mlֲ,lK&&fdO6^.onw7.͕_#r0ym.XRܭqCZy [8#*;yJw!rtUduPK$rs})Bo 68{ƙpmd[1Or{f 3@gDe#:ׄX&d|Ægn 9_;\n hdY3+:\O$"%܁`yJ⾥u=;>=Kxf@ :ƴMJOmZYUc;&?.O9=o_z8j+.Gx2_ 7 EqIm O9WjO <JLU}>*{?A5,=;kh~Gr{QӸԎ ڰ[ZйzsSg?p=+KKCF380$}:Eqd=g{zV\`z7S]tXN\d@O-#lVL7`9}A== ]SB9=y#ڹy~s˜6Wl?8<=B)_&YwQ r?Ƹ;, c'y#kKRF. ~,6sއOaSxjώ=29=*+\w^g;@bO"J@.9۾>jg9e'j+?e\­93{=>,A5cv. }㸜uU[R[gV6 d ?>1h‰<~s)9iKB tV 9'61Yw]G7#C| Ԓڸ!C:5$f6?u sҙ%X6sN猃d;so»~V sǜ[AVz~[԰8@w~\c9U&+;F0+s/ɴt8ٰI]SyyI^ϡN _'{)cq{u$WQ!{}}xN GSfdCcTtFFANJU9<~c TUXxr,뎘gNnW"{XP[*+mWjʪpT(ncH r# H#\m-{ EfHl뼟M0xKpH}*WWI)s.2^8Awؑb95c3@(9+圀=n*qpv6Tc?.ぞ*֥'EӨ FUeqYC+x=vq)H$oFx/@peF@ rqK6ěX8ˍxu5FH )P@,KTtz \[zZ%*+#=hxYV^gg߅!0`xzj:8*IO'#89+Ě3R(,jB#h<;c5rXۈH=xQbkQ7*Ѳr[WiPւprUBeΘKDoϸH۰q^8?OVIVoBbFX-=Es>f]v!mޅJŶe⟴ݶܝŀ`IUWo=*ZA,G d=ֹ 02(޿&VL௟n fa8 ,؎8nghw(A~-%׳c^(Å.<`lAvG|5IfEu**o-8#R'Uv]Qrs̈X ר 'rHp.3f9S0\Hb?x`9JXR-Fv}sq}=f #Vd fI>#nWʂOSϨ=yP.b)ݴ|q8y7Dp X݀0c{[TFwѷv!q7\ik@6ݤSv 5#H $iqQr=z-cs9RF5U~'*LUXЯ#VB~n\뚴hpT9 :1lJ!p>-L` 0UqI㹫DcXpzqX%㭆45ŒFvC;N1֚|Q$drJrw6N]o+e׌#u&'Iݞ7t븁ێzWu7Bǎq%_YTF1g^.T>f*j " zɹL2{U+en[+:N+/SۥZh9nK8#qOvH=QU+ w|E kQSP8#\lxqFr>5  j` ʠ` QX͎y /_Ey&@~f$~Cg 0lpLJ?)@0 휃לR䡗 S/qB%F{RNIee;q*.d6/U,8qǿ\dRyV0۷#'NBɼcUPG#NqSp]d 1F*OB:g6vڡ듒ßTJHHGadۅ'$>Z˙_Ϡ'svXQWiwbp5WʀHjr?7/VqLˇ\._vq]FS +̭]Ŋm;B]v %͝=\9lpr9\MdMvmİF02:+Kt3[6i*rw!I y ϸ\:˜OcBZҊ0pw $if4nU<ߒ:Nxǥ)m~g{kjXܷ%}xR{ջ+d`)FqN)<&5B쬤2!x=3NO5H$ely=+Qvשfu}l}X"W v߾3^ )޿)3-ۚnݏ{<}K+.J>§c:34qb ']`: ''Ӛ;BOj[x4Ι;dUNqC>"I,BBK)զtB##.FX``3o495Ї+哓9G^A\p -ҺhϚq8.6zaڬyF(0HFݎFq~#溬dDrQ'4rܹ#vOC#CZc'.eB{?g7^]3H܌SQMv=lg#}k[`39z)ZvJ3D[!_x,uc'8#v-CcɌ|ɭQ0-lGR pC H؆O>H?h\l`I7G^pP1[hp Ӹ yx;H.yܸ8=(BfFmJ`p~܎x~"ï¦\c|VݾhlD%`p;@3Ǩ+~cs$`{s nGBpctNX6Ns\r1dIn aj©#ބUϧI 1 FxqSBq@$pJƏǮwȡ 2Aĩ8S8^q08ذO@O>5!L6(;CI)y#GqTb3W o2 JL*]~bNs^ӕ rI)Q3)$X;u\~ n*sg>/>#|`A`A<Y|h*w9:۹ZI)c71k#$ӓzl?0pRtq&'T1rk|j߉$rCcj6 pϓ/^G|ZEjB; ' '3ۯ^Y*l 0P0CzCZ+#En*'jld?#3J੷1ٱ?1TC̖Qɓw,I8ֺQg+xzNo{qsNoBoH(VXLwllSmw;[HzG I,tja&bvh5ʬ-mF.yڀY%@Uc9RFn"Gy{sՀ/c^0k);4Cp^vVcOQ@VL>bw9>{ Ƥ*͜lpK\@ͽoˀ>c 'ڲgKl|0ox8=ϰ&6Y@۰.sk{ @]nbd_}k# >c=k%u0ŃduE8Nsj ˞z{VI4t FϪg)fC!<܀0W1 MNaC!CuصA! FzJl,W@۰=1} rjSNߡه5dGN0:˖<0ZM-!_fX^YZj4ka*98㝽kJc?^]|FJvO~^1_Th+gm-Nl19m?*vGeƷ+,Dm;po=:e}$aa}B[FaĨvGQޟ!ě (݃kAU jx*;~r1p:U~K|dʼm98QԓJId)d^PCq u]h!Qpǜ=+*8`8Pņr lX3˷h %BGAӌp+]^ݿ{V12so+cҽoEPF36BvugR?N{JsMBgcv̲4RuF@q>x_Z ]IM:c֖|veh،yy?Q^9_m+lFzgz&#)#y=q)gv8؂ /j珓> }{+ϚoMQ_" n߉ QX 85;vǦz1o,D&Xd$}wg*^ޑ6Ldpñv{ڊ $G$ƒd1;*Ĥ-"FCb@@T'ϨIhd,*HfŘw =U#~R&Q?xjgUܥ6 ?cӗ?x0 2>^R,I^LŔ8xcPR;|Iޣ vQXFH<( nOđ҄ .y )EXD<$О<׭UYy%Fgga(S rr00Iўz1?6#  z%˴.0PO^~1XaڣbI$ Rg # Cr⤰8 Ad` FI'ժ$%OH. ) Qº3D.(F2{34J͜ FS> =Bv=0qKy  su97)\Gxh`FT޼s94!Y6U'@*}s[\I s= +9ШMѷmvN~ǹI ˴.Hy`9?UggBIa|)تt9n0#ǯ~ X|cOp:秧=jD?%L'FqmC{g;+񴪌u,A$E9*cvKnPs+#%N8䕍q-tNЛjh}6 Ã$kY^TOtg}UF*P|ג0FN ( Ȼ>*@ [#wǽ\O 9H!%Âr#zͿt:JbvF8POcLWVT8l4FEbUb?<huO.A#`0d89'pϿlIn1<}f*{@#>."h£nOYKt'YkFW$ c8K%9Osx=7˖ʮ1ۂ@% gIǥ_#LdA$:ּJI8k;GO AI+ۀcS?+ }3Ҕ<`ǒ9x~dJ髗%p0rA۸7iWêw@' H4M5iR?]98'φRHn8խ1``׶u:Yd5; }91cltP:qӚm#r[^_@ Tcjuy,fnZ۩i4FJn1*G*w};яCbHFW8܏HE3;^=l[mKlip y `Z4v=>f%LtjuOP UQDa{tj/t}+'+7@sؐ2p0sڜ~ɕ>?4c9CZIБ&F=RU?S!pCqFN֧ {p@= O|0?co랝JW(u=9WPO.Kk1G@y#5`u<Z12\˨_ý(БӜߚlA(vLqy<:PgǥYp=WPN"xJxu'=GU4f6xN+q^"#ǾOhCvy9xaקօ52=ӎMcͳr$]߭sNwgd⥁ݴFG|.Ťkkѷfyqyw.R^s ~hMĺ4KHc+OX|އһBOn^Bʫ;'_`ֶW>3ںoT/<:J[]$VKt2`)%G8ukZ546wL6&9IiU]tٞE޽kP6"%WG aAPH=k[?r֖('{->W&l;7!HF3Z']|yF6Moij+kAnﭦ'xPkۺwY ]_޾R&ݞV߸yK˫j_x_5ZPviB$rl~l`sT4m;Zصmdkm",e@~ba;z /wONXFMIy'Vm`sbKw)kuHeub[9i4{RW]&kCiw QXf~Wq y<;o ɰ7ϼ&:v5*mI&bso.5%x㳻GU[06P@BzfmSOK~FWV}O'PA'`r֤ 灎r U['؃q;8~Nd;77N6cTw2gtcr)xZD3uv39F B!II *#%9#C}i>aG0ygo'V@;`u"J+"9I):5HDee@U\2esz`KmR`V_dZD`,pX&K1һ(-aumeRpin|ōePċ Tjm6 NVy=ĆZG2lxzOE涋m)s_) J3(X60?2 EdI-ʆ✖Cm}3V~0Kivq &5Ԥ~΄Enry=k fEm)lHK?'q^zt>cUE A'ML r8^[MqivWN N5Qo+r[䃍i+wޝt/- ,QJ ֕|"εXt䗢g8*QԢϘ>-xb{k?3-[R7bI0v9oC_>/4tžK;e:Q<"rt jeWXTs;5guuocW~颷ӭ V=6mŴ ^psƴ1ض$IbyTH([ r3qɹSתvkmQKMWklnm*;Yл˳iy$gw׾*廎Y#vE\>FaO3XE{#73Lj4:[rs_&vR.ι>GJ˿k:dO=,efV<7iݬ^.E6e}$®Y[+QfqIZiGOcZKaksjSߵ͗WN-4y"OӮrIKܳ3:{kF/4X$ [|˿qrBא*~7>ZE5ˣoQ .>jSpnåC\ {tmY6<#ӊt8qky3n`ha>\\uq0~%ۭ>Y|՜̞)ֵkIGoih$6Lt(W9 %ͮ%$(os݌ UwV[=hЅe?x`㓎3x$>_ߧD}@8crF>g#q Ґ E:=1ہڟ9=UiAvhn}ngc>Jc',@Mn<<T(!Ou#Ǐ·DjNN>bKduG^iP;?H͵w;q7f:U gnzq׃W"3nv]Y(@ p}y~?uj?Spסu[c[ aWR;r1^OZVϠqXwspGEr Q`E2gT !@$sT G>:(k[ʱ$y#;O" q@=Dn8掠wiܭw9: w>t;-Vۂ~l$}ka"88X/ޙ GaߡYFy3Ҽ\dܛab\ӏZa=O^TSt vws֦$oZ"?G>Ǩ>=3ǭ6Rm=8_}01wGUcjǐd8OZ=nIN9`q=MzlwωԤ]NN9(~=̯mwh2)Us>n^:p^}5SpW+(Bw2T;z. @' F\p}^>NR~eeRȈ?7Nx>Ww 3'Vi؝WhydwiBp2`NNxcNzq.1'!gf>8 8?30+}z ϸ"(^XzaFGYޜD}uc[Y75]dBntt7wKtES~6cPsq޼DS[k}m5 u:׊^-vEkk"&8iqzlsrdžo\%՝wDq=$18Q3H)TU6y۷jݝ Z>_&evM )v峍$\<9s$ܱ"4,\;Zҕcg UURۜģ89Ko$E8`&Y~Ek8ynhA%} DʸiYy;qWݜAT,lL<(Y~_njdK1媚:[͞ma] hwM7q-Zu2*1~A B9d,q@{rx_>Ԕ_Wm7g/7sOݾGvִg?&-!glFQ>Kcnbp軷1SrAl( t=MoR[ u*2WqqR6O' p? hzGnNF$1ڤ6)Qo"i`!R$|B1һsMPKxoyIcADԣ&8{mm4"Y$ag"8XIs]&yqgp̰ͱY+^sוg]-)m23SQ 270 mݏ\/[\ H6` mBmc1Oj\fS~ `cxi-Vnw*B!~\$q]c4s -Tb@u=pzU,frc' kjgo.ہ$c \\0].@ 8IG_{ ?X2,ـ-!Uwp@*:߱b@D۟;\dI8ڑw~UaԝFy7ZܵenA}8;]9皆]쌩Fۆ^K.^߻UFx8$Ԝc #=n(}=(]\p,G!'9'47 &X?)?sAPi#vp%@ '~77.2DǝWqlto"HJᙶH ;u<2O-BPI$r2래/}wqD|i {sMKkzʉp[hF''{tQgq$sp) 2s?LҮ͕8Y|o 0WU) w5B>h唯4 <\,<8Rlkc9RCs@#^& pr;sJڵ"[bNoJemƒ2zp:S3瞝v٩4O[B3Ru:~OҴh?_Oo_&8}ИH=O^+>l7_Rh+Om| >ںԳG4r{y{Z.#<(*qIsׯj58/eHn8܇usژ;x8e / 3NN;g#Ρ9ΦW%z#G~s$zpx fߜ7ggo:Ը =)u|u)l4.x3Qz{|#2Q6s S`qIĤJy>QOV>rA@'Շ5_J p}\q}l|1jMv #8*3>hl![3HA#תĨh@^f;R4acSǹ)qnO>^A#mnzT [L`y#1OI`8- /iwg9z(cޫp!1F"A+|{`g4Sh.;r}A l9$r2@\*d8*c6ᑛձߌc5Ɓ'˶,NM>702*W>"$9#NzsTǍo2?KLR>l,m,Nv8Hb;B !PH 2?n{j pE1'9;ʹ"s*T==99V0,A9zr;`pqZ2"|&.YU|?>)<ς(T Aⶱwek)wQLʃsNrُɯIҐm:w=Z1gvp@* k57}UWN8?z hyՙEvI;.Y ˕f9k*3 G8Sll(6%]s3OFP9ϊ=H 2w!Nq(潇JT36Q_w5)۷apn Sv?IBnzy2D1Nq+F1ˮw(w})1F6G,Xgj qJ3ǵ!B9s8P@`tc#;J0 ==%) ?0p26kpݨ%s[a'lQb0[w,}0D{i/@%ssO\ϑ  fOʨ'?>Tm;;X񎍷x Gp{~uV3UX$~UxH(sKdSk:!%!ۏπ+ gAWa =yQRwh2` {W^!گ尌s>aںKHǙ39)#'##VV8*CdaK}܏_A^etyPl<%,{gҵm0YdS.~]y55Tg+Z#1vQRv*p: p|ΈX}S2A<ו^)l{ex/#r">#nPG :; `Uvnzzv^t  bBH.M3袐2bORG^2{Ma-R4!GV/gxx\2>#^/+xabrJDU_vnurՏ^zuQۯ cU U 3g8j{,I$|c#Zj+7pr]v)$#^{e0d-BϽtaˉ2sd 3 ~=-[/:,!P7Nx7d%ydnˡs2Tz6   ey$"$s"7go@E Qws( \8 c1d*rJk`FIrIb<~SI 6b.NU$W9'@C0fFS 90 n(pp8$Uռ<c@&#xF 1;iFh#d`8(l22C+9Vp@bob9hǷe\08=y(c*F91G TdmsWʅlm |GKxjk,{-䍊F% ȎO^2lPI`xT64zP xگc pNsy%`OEWy9(+9Ed†XՁ {q׭p,"%$Åeg8i;͜\¿@TdRf:Ӑp`jw^e['/1rFxK6{#85**:yH8ڧ=\*'!\Bx+٩>b"Qц:+5CDK+6ߙG\R 2Ѫ3;v)D$`r0#=8 sSYv\ GOʡ@4j9yYԫ7msFHC}" qS-DG\#lYI$rTt>}W;])YƟd^7l4a@BzjEeAm 3;-?jek6 rA“=:tW* #W'<8Ei?#|4}gwlL88##wY 8ݴ1 [ߩWjq4cUqq\rj F]Ж)׃y%usH䢮Y>_|r{wPdG#?'bIw*lsSNp9cJGyn. r8enʨMqy~ym7$23ZU#8 9?1P3߁z,my4w7;Z"ٞs+7N9 ($&7 \+*~ulǃLQm}m뜪 PB|s0XxZeؤl `J/% V <8H]ƙBCA u')jJgi0_#n )\p6ۃJΊqupby{֔ay%)Nɿ#ݼ+oxm8FGΧk;Hb5@ ӊ作>[QΤٝk^x{zt8ƶGN{rc8i&kCNܱAzg_'xwBX;.IaH≻Rz1å+vd'p]8$Һ]<3 g%kqt\sF(m+` 2 IߧhfytC9'uiRweKS#;k >l⼺8Ps ^z֔kK7$rFݸ׎pU8OmlFI ϠK!bXS}*:Uay$:ɮػMoÅ2x\cu!kdn|H 0HOlzU=_}6'tޕUY Fw!23ɮ{uEיY"7) l}yv@۶L(9 {+]V GTF:dֻ{I0NqR+`X# ׊+3E-8 =xNʶc3e9vPdqg8+\.,11k =4^bEWBFX>T\pJ"$x,Cck̟S39O}v7(䎣1YFO6:[qnkuo]O'`;S \~$0#ty؃AdqϞ1[w=9EsS9[;OP{7_A)W9=(# #r8h Xg~B+#!|m+wsX5{)Z½ʷw!T8swpv>Ӆ8 mߌJse-yUI (3L{pfQ  ӽG){ +1͎B'h-W#M 2v `qaUtSMuVbV䓼c%A-Z_Hˀ3X3oqsQi.( >gc883?hc(|+]t90#;B׶}0H5KCkrFr{ ~!oGB[Jʅ ;ٴ{=^)\ɑzsǭr3*diPc<~-(G?:ONW741% nPF ,2:湭r+wxrVX`؁5%oNWm\Lќ0rwB95r[U13,F@78ݾѩRrZМS4rȒJKL7)2*.55$ǖ IEByq FdOޝu><ѹ$f$`.z@ϭwѪ9RTjΪK"`?t}܏pG]S)-;zxI!.tZ\O$0j)!#8qA,E$p$>s_U7+t>{5ϰ4x,}>,N7PobHϯYTMj-j %(B W>0 pۂN2~|氓9?ӏU7.C(G̤gשYMp7 ފ}xKg^΂]9Ecb7>;XW19PB99y5S8%<vN:z{ҵ{|#{1ek7q1\Ieyc; u'\VbZHpʪڠ_*ف$s?($ qtZՁlOVAEᶰ`)9xuE&S+~NNLLc )6}q&P#5UP8w9[r|ijrq@#NCaA]^ѷx(Jv8F7n(8w=1#k`zL~54!ɂFI 7B;Gj\d%'LZ͒pF3n=*+X8@*z84 m,ی`S('/ON:(9`) [G(aN1a[ u$wqzq(݃ I VQ9F;[#+`=3j_~fEL]9xB]r08#ҙt-p%3B}Ip=G3nn8#X灞{SNG'A䌃ӌ:@@HnF2YBAm7&O zgh^cx(2xm$ |b8;>GLRM"|3`100/2 0J9ϦqV#*D;|%~=OF5#Ep9YKq4^Nk.[x3k.Py?u x8Nc'IzܮRYcF=kB;@Xk:ݴ~CQH\t]I䎄)5Q@#i6tT3{#RR3ߠ'qjlc8$09އ- G|v/=N2y4)j =42NORA=ۑ^O~OARka"߁~;q޵h'<|uR}mgm +axs vP[^+.yu[Ҽ_uDba|UĞ[21Jw>{wuXo5mWGɆ4Į!ȋھ;si Gy. Qh@ 3+u=mya2_k7B:epz*͝xX9sy2>#e\ KK9P1,y _m QԒ{Gs54K"J|I X7A^~exUdE݀Z'fR(l dyϾ7wI#5..ΪFN3ӯ$-[_eЬ%\, /=.RppWi. wۦ:PQ!xZkaR9'o*~ڷ.7Fa1_ sUj]^&F0eV$dPy&MrGڌ=ĀA׽*$ơ11]%m4B@m 4Z,aFG9iaE[s`cَpjc{֊INf_ IFM/v~uDڭ܂1aw#md8és[>8 u%0KKHAr6Zzz҄oyE'u{^yi~Agwd w ѿtx9Ӵ/%o 3&B]cX3+Vi%t -B<\j>Y4KZ,^K`fJǮ{WOa|E)0c ĸO2\e^j42($RO/<[%֡k,hdo۴r$1r+ռ3mm)Ғ[6eY,0trj*jnN7k#AmRɞX.{hy\ۖ/5]V! v6/oܪAw}ks}cҥM馎MNiR8Q-dh oc҈O^jvz6Fk俊9,Jº=ݥcYBIfwc?.4ji7j dY%$BZkGE]Tͪ>Komig YbҔn>WR՗kNƆADvhZ FRpnHWZ5}Pn仴KmtI,0s-WU#WmcՎK X 8 !)/٬K;yʪ$%T1$9fϯzTgg:bkΣxԜv&OT\m8XH쑟 $Sھ~m^SNJ)$"Nl0+^yfV䑝%!!Oz 8G.6y:GQèhإ~^wy=y]_yh H$vNٸu-w8Ea>BB9=sc8?pF>a~(݀s)nSke2Apsg'7Bʩۼ*lSHWq2q:#Ӧ2idOAԃn3׎8@3I 8s.I2(Z\mr@-)BFc'Iv㔻CG8Sgc XI9Cnw+i7sܺßH >;@Jwo81\U~;!"*U$&ϕGOI+]4&;sb>Uv'E:5Զ'XŹQ-2qүxDd,A0PIƷ<Ϲw2 c'XlI>kWXVtSƋIRl9 1f=[  s,Zi\ދs 0}JlCOָ1Z=L ?};1x'Ar3q{Wb]3(+ESv9hztz3 =F|cj9?zᚻ#鞃׊ǰ='v=8G8\rF $3֡c;CSFہ={xo{UnQpOd#Sz :}q8qރɠr zAlr}z jX’` z~騥=3GdwP38qu#盲gUoԢ'OqTy^ޢlFTtDӀ8Cמ?-E9q߁ނHp39ǵfs8g v=qUf/Yrr1:&h3KWsN:#<띒`X0AzWS"II# hÇ9]@Gu[nflà׫ʒǙݻulT,`6$ !"[ #9 qRDpk+nIW O⨳m\Ib: VҒHe+TvZƬ~ep|06rOjrl4psa(`bӼ5x[дYIKˆmG,.IS΢ou?K/HӴ);8-VE»_v~3^Q Ai;r҃nq^dw׹6k^#'[XO%#*8+ e3=PP 9=*$vVV{6mmU%X\9z5˭_ Z!ivD.В#=5)PT|[N6rE9( xSq"xNHXH qqU+[cr揟b[+]'IN!8 (hfqR+ľ?w#H\eJ<#)g!LIes* seR,.V?x}F(o^e-[W 0O&@kk7*1 oqy]ՕovYEB3H3} }*-G n=S߻9Э#S{b|D%rA,Uy7k*NMRudc!f$ [w|TwNzk ִ+]62E4J|WyH<GrQ& $e`1! 1U%e{BP>BryU *qb' v:y![ܵk$[(ؒ ֱq d8'=@R8lƞϥ<IL$*wv+ nt*J2+ɘ<$(Q#Tp8kkoE:ۑ+۫lm-Bߴm$R+|יl4.0jXrēҹ|Ge.EbH8 qN}z`JxHܥ `/{!! IVi5T2O^kU,76r{<\zHޅЪbqpxX~ d*ř1 @8*_͌ ٞA^VB@t]:+b #i\$z~?>Oԁ8IXIb3鎸kV'$e>B-FNVIF80:[b]v:[k[jFq8 #\̇;V7,{>ϵݴ)|`pJԞ}b_i0ňQNZ;|$jrhܣ$rz~@+H'82>\ nx8 FI$$Iii|ڄj8̭,d;cHr1HsA%Cp)9Q3[˻fGx϶O5KCˁI` D*@Sjr-Zmf2r2W㡩0c$rGbݎR6# Ǿ=楢$YL@ .W+dVBuBB6q0y'p:T[zۈB4r+KdphVA*6VUq Y<2fފ}{S bG1nUY$9 T,A 720\qHh»GF DZ4PdHSdt=֠[GRάkq<++ݤދI%QwH {#.OdT*HǏ-^,\{8brx's^\ѷQZW22,H8ҡ$>S@'IhTC Aۡu,;y9'#vt?0AАzn8vu<$/CE8F{u~>u3FG<7#A鎕cǞ;g91ӟgޓE&4T玿^E&!zF9kʑ.p0Isi 'kq7]dԎr0sּ;yq *rx}½كqJY*q ۭeH:ɒ7 a=^VĖ&9WҞz  ?ZA:!p8$)SqHsbs'=?Ƌj&+xt Xe7ڠmvВˀ8<ڝF:BA*\q`NFG1Zorb~p$2ncʐPrlQ A]n#iR?g$#E$ W< <X|4r>1q=Ns\VLT Fg qj5^J6#$cN֤J#)l?OJ즴G%GȗalL}FsP7LgxsZYk#*Sİr"בkSFXl3a+)$7ao%+nb\$qt7Ҽm%ەAt`x+폥tq͑pX9n~5#Ep=smA0܀QH< tְi;.UӴ䈈d5; ј^?^PmYfX/ALwԌ%U%y7wWlȎ $d2;t⸫.rAݒIۃ'<ם(ecǹHh7 q\8>xۇ)nMoswІ24vmf pX=Iϭv&ڥQzd.q'{+g4w8\HH\)ݳ$n<}K! tE’@N2jf*|؃+ c)\`du/$23SGOjoo|89V|t=NƨF7O8rsJ [W\#8׿5XCI@9A8PW*.F@TU23> v>l_0(F o\eFA9 e_hod`7#"w2@#R!+)=~c!~2 \Ib\)]7ehxmp1@EZG. F9bp98J\v,d '"Dޮ e68@0j(ڎT$g@3=4[2ݴ+<qAV'ps]cuǡ9J}/ݣ+ڑ4 b9%sי`>^'+z5 e3iv @¾YI(_TCeQSFF@7}K6AFsV ($ '8osqY*82ɵY x ֠PdCgi 3JSƝeXc9@&!ݵXťF(7}ݧ9ϭfЮAɹ($8q׊ p,TI 8RZ1*nR 9 { TopPqXN}#E$uޢ(m,8< q9SE*&RTllc \TlUm/9:zSw qП3nX?:Ml4WA> szzz珥I,202W9&sUy,Ts?JȪ ]e!\:ڣ+IcN8Wێ8:h$foorFr2{.q?^kN]WhrfIjDNMhNR W@V ˒$.p 09'JZX$n i8q/׽aOK$P y*@Y5-5EdYQ,XlOIJ4ʂ7 pr FqYUμ4o%lیLcڻXWh\7?L7B?|*-zSB6]|ǭVi|yltE7,6V8+^c cʏ`; J3u Jz⦩ѓcr sbl`9`r8Fy_iS]Ts1Xа`9 ӿr`ṛ`2Ev#ϚBnS!) 998;pkUbr?1#/ {6?*Ȫ&#98*Ie(`WoAJoF\V-9AEqv]ղhp X .{P) ^v(#n&[yFr :Jz0p檗8q3ߩtȣTf`dwXvp@ :~5V~+VwoͳbFkW+g#~vЈ@A8gٜ]Q ?. \Wk w1YZ`##Z.hS|.6C؄ |a*H,YO CTz16I\Ro~VRHY7ױD>~S}08i{~g~l\vW=qOQ'Ҩ2wX!q2z FsꣶR35^G9=A⣨" c_8`Ʋ' jGzx '3Rm@<':bd1;wԏJ;,;qO=)~`>^;v?!˃T)R猖,: O^H .gEg ;q{TbYՇП‚z1""62$clLDbbۃw@1[ZcЬEBpcR2XO Ɍ2xg*Rf7$A%q ʣ<~'nwn vq\Ď9_H *1Rg$dxsR`pc {JKdaqd*z?$Hx%N P29Pvڤd'o8q† Zv ݕۆnx$p:IdCsA$7C%L knv`~nO1O$##!w [PckdvzU6\>_29u4uvX/.0#!I'I?+ SbbuHGoDц6$dݷ>kA#JrFONc>Xǝ c+Wk;y̪AHAv| ͜.8N}b:\苺l ؁ڬd/V`s81tgSs~2ZRlRqQk*HP?##5nrs}ףӷ=WWo(ʤnӊ3{3 ۲1[sGJ8,"xR~=~^CW z͆=P13^hviszζp1qV4ヂ=Un2:KS``}?ZR`lY6w+cy+gm*wNЋvVk2Kd@D|KßWn-ÃrF2J{Nk"ӊkk+e[$[/0IT Mbe;9d>J+N[G?0ݐC#;]pXK'9=>J|4HZ<,7c;~'$eJ'ԐK׌r=qXL)y*0Izx TsEsKs;/ X~JkG# '!{7JyeUw~W3qNb;'Ȑo~q}dXpH3ӑRH<;s['rぞ݆Ozc9B0UT 19 9O֧ȫ~drI3ď1 d `g=>;/NoQ^3ۊz~#䔆Wh=2?qJ<T- 7CsH F~( <`s~bx+yu}6[O~FJ=M0Vm?)'žk{ccѬnA#7'qNks__}]aj˱?8O/=#r?/׏tNNN:3Q(ڍF^)OG !VwW~b0{g|ébI.X'pf8k.kN)Y.~z,`%~e,7#V3MGl@ۄyhPz[d]F.;}tY?dF OQzi i #(;+.#9enȜ+rNNkՊ0~SX6}zس=܌dUqs䎾eںlE"GY<k0O+=FsNsK.ޓ*ǦzWIa]cP2+@f$=FU \62Hbn2p|?xdǹ낮玲uv2d*"A",l& R7]8ҺU fg֎p=A}9;)ca%r۸TK|s朏p1q@]dv#8_r}*ڳ7=؜h8ԥp>}Įo pF?OR[*tSz# w[=Hkqї>է` xl?>gqTcM2wtrrGv;zq:!c9lU}ԞL"k $x I +lY10Msd-m2;\c;[coSױb{{Kz12>PI'F^_|;q4.݆0' vޜwnf F:duhJo?tHaw0}jLgOBF 'a3 g n;r['>ԭР89ƫT \}G.b,Br6q88ҹ{HS-#-#$#h'X|NI!p::j*В22pS<~iOpNg* n `Wq_; )l ϮqM]2;<8*7nw>G7v|)YXO!Yx'b gq; rۜ e-S"d,@9zCqקTf*hq}yP;'Z`ivdz)w8DAՆs؉F6lR(F%=0*4խEW~ib\oo&ڣiN!FF8bxׯb_FPCO*͟ZN*aV+rGpu ΃k)4L$rj&v`rHkuY>wٗq ӶZ898ס}8n=LnҧT@=oqKq6N3یzVBzs۞sZ#lpy WMOIDY( wb|*݄F60) =0{ף Zy3Nĺko$@1ݓ('+\ԚG]-B$,,ĘI 2#k5\z3{C6{ux\GQ?m:h+lܲH$@kE'p=JU˽>}?3|)}bIc{X"721;4QףxZObMFP'nILiN2]뷡ʺbWy-^YgV1#n/y[xšu}wGq [*29_=VD!T/ZkVr[BRsr8 ysͅcLmyiDٓfAF*ҋli@4<\G.脒e ܀I$t=knKh=jhݞ C. Ru"%M83[m$hs: վ"lcF*o .6ӭ/8_߁ ;pN9 onJ褑WΓѭ5jXl嶓Wg,[ < $)0Kpy>#[j jK=2 ,V4rqY:koaQ-4K c]dm&)Q`>|{1䮤:鿵 %n-ټFJv5*Z֭ctfL΄\yh7rJOe޻i_On9  rLU;7ߩk15;m^ b{Q6n3GWxĂMX-HA85 <`5Vv5&SJ[弹U Ŷ7eQg! yߚć▭mk"[F+5bmNx=;W'6?XxӷKhT;SU$MOO>y eWt*"T㎙Z6uMN,`_4MUIyEFѷeܟN鷒lZ3`sl˅$H^y\g5&tFIf_\ʒ.%B2(^p?rAfc^Gb#8 URmQTGuY(++yG8zWs38^{cׇ:Sf{/n9/\6q"v:γLYS~r=x5࠽d==*PNNByBד8vX#$xkZ% AnFqq>0zNf~wv;i#u8|˴v 8܋c\g;9y9I{ G;RP+. 1|ǎԢ6v+cgrgԞZv0r]] g# zrֺx|'q&(p!@퀬sf3O4t >G)n G yp[3,hp ~f9+IZDi#2Ns\-+4в f11\.9R4摞Դz&S1*@8鷎yxQLVC$P1zcVIy7o$쳖i߃gR0Ht1&~`w8_Cͣbß99\`pe ~֔o|@_,ps>{Ԩ< qg8996/9 Į79q{V28|΄㎀\]4ݻbxY; N0v#=%{ASmm.z |dn yŒ"rr> E޸ǡ P098_{&L$= J9߮?㖯*–wqW֐wQ@$V~8l :j>0x<4Cvr{˜sq'өT#?BxtgP,6N3xjҹ\cH9vR؏n<=r`EqK_L}zb'0A},hQ^>J<;ְq#9|nz}//̖~5C1as^9 gv-|@銀qzӊuvJ鏛˦f@'V-՗oUP{0Gn ;N<qޱش6-tM#R8##(.qi訪Zf*J6Αգq 6"mbAo/~䬒Vݽٿ"&6ݺu6gxi"77XdZA夒W;xS ;K;hB' 5ܲ2r@g$}V6|\m,6GPm!NӒ0+1b0錙R z\|S0Cl?3#/rjYrC1ʶy$u!mV8,U~e9NqB5d2C#ާE)/v1N J|Ðjl\d#*;i?jYې>B$)^G̡ 8<1Y?Ø*ʆH;{s5b\s\-e2Y: )l'?Qε`!on00}N=1ZaOK9qQ:fd$@^@rn5 UrՏsҿBëF> ~l$',X0'%8:㻺T .T<2d3K;{GV k~8}+ TGϷ?r{V|Od-He ̀DQ *W}N_yvv>HejrA8,V+Y TPpw){fe{ukmCrkX';ÒNYWT8$3jkotbWT 9\OΛ / s̫CF $^3K[3]]}͎h'9lǸ=$g X r䑏N$rM]#p#8߾)$`vKf$Wop霐${UP6aUeʍb2|呆U۾pN:|́asGD5@@[8}O^H4ͧrW Ҟ' mH#w`pxRNG#;șt.Ҍ3r>'% j̰I .d(sʢ :](/%ԡkkk9+TD "$M}F ]!Y$$n(0fO)h#2+ [n C~V-9r6*O}k%R[jʜԢ=KOHzwQ*gk1w(I]YW-쮅o)3v?\p<sO5 9CppN=J\`<I\^߉/J^sԁuxBcIcJS3n89Z0O?G!l!9L2>p DD>VqLu 98<۷\FXNH@d&zݏi=zuGg}Fz)wwc8z=jЀzyQ\S{Mj$WWjA5 '$RjI׃pr8k(rGQUUޘe%nS|Uw傞0r+iOfI!d<#H#{uFaq<2Bm :;wqP#޸=^)XpvCg8b@8]jք#rEbH̳?/W7uʄ*6A[#'G {7< w}QZ!˟`y^NAhsEJ1e'?.O9__Ħvn83ҍzv#7mr ۸Nx',$ w /=6W*KyPOjЮ9C;w0=U7pHl;pq~M4"S*?&J,wlSI%8Wel98烊_jqQ3vCcA r 0,ySd6A,J@<ݑ+cM)mE>tghWg8%0B{𧎃?CU"_lop۔s: ۄvo nNq+AfB3n~Pb}+t;Ҵo|}+g&㯔ȏYv |$ xD,xR@^9{uzuoCٲI‘G99$p9fQ:nZXjmG'Ϧqڢp@ݗ߀i$ڌ[FRʀSl!Be2D$QwT* 0\0ۀ98*BL6 0$zߔGo(YF8SÌNP1mуp gFN R$+ w>d)x@*v^$yn?P[Xb}X)~c Rqy#>pjz"?e`'z Si9D~_v8>Xpʨx\@)]BHp|uyGF?2|@8cʟB4.g7F#~$RGNOoJX_xZ0He' 3#"S_m9H݁ 8] hF-{Vu=jBu&ڈO+KzYqݳȨOG4$rp vt=qntal 8G[h6,|2܂wZjʇl3\TJHp֛=2ą(Q:`c'Ԋꃪ9\N6q&/V}4#@ܤ2S5MĨ9L}O:v,pHc!_NСϵx3mrC3dy ׸dT]IʣZ~p;-:\z OJHc 7AOJJйӖJ+leN+sߎ{$jrs ı:uNd ܂8b=뢍"` &K`nxҮ' QMǖ#9C'-`ø3:uƢOCHt;xWjK)UUO9?7o$90_ Da )ݎ11{tR.FK1q'^c<|j0>0;{\ROC~kNgu'v毯8GA- 3ǓUy؜{TEb':n9`Sڹ+svRj9t9MdKe$opQ8fݜr!;A#3#^(MخC* W&Œ-lA 93WjF\0Xy8Z{9=>Y*0G 1=9jʅikgUcj[, [#n*Ug#T8Vmq3ƍK۵qz泤Ḽ)c; MSm\pgі\ppnOaNAFl@Jt8#ΐ o;x#if=*ݵvYP0YB uܠ%Xg!s><+(!I T@G84#m0y0yϧL$>Pv9cݤ2AcӨ"Ql"@ I#wޤ]ےp?w-^ =s)61,Â)ܤ=n' '"0QPsқW$ ,DF\vr@5cc}vr 9py5HA"93'B tZq :cѿ{~5BM3Z3̈`3|˴=I5w 7.C7 ና00kFxʌ3,zr@Ad;ZEepw~\ p`> \RϷ?5 ճD89#ڴO@:Ϸ4SZUZM*rG|4p8=?HqGw9gq[XЏnxXwwG[9榻I`t`*~UNUb֚ͅ寺]3oXԈcʹr=+[1_ #XiЃ|=+N?6R 7p @L^{qؠI3m9gBW($.vӜUGcw# \{UF DS88%Or}UfS FCzW<7\8ܧUq. sTS3p:NH{d_)x݀O“[! +Ede Fҥc%#u7!]݆Ϙ3ZՎ0Å%͓0Q>;(F:kb1os`6 ?/@댃kʭShSg_F00V&&_Snc^1LW[dƌzS9.6iY&z w.sslgrӀOo}k"Mf^wpq<^}1YBŤ)$s[?ʽ< ,V&)/uIsbk*g7-|J"q14gKq\b5<N>Rq5vW:TkE&˳D՝I=.h2j^P!*H_0)TgTx^ۙaeL/87$:{FMwUk{5u$g2-9R}zޮd*r P< }~>JkAH6׌07M} hXٴI<[ЮuGIjpM 2wq\t49w-=sFrl$ 9ڥT9 W8%ղ rc>iM^GY awl(9|Sh 6rMqsddem,pZ.G7qp axHvf}9W)ו7nУ*:+Qh]#+vyS qo\5aGvR[# H<A$IzU0 X7twp>cc:sSm0ABm *B7xy={;#ryt-! )P H~^+~ZŊcaT@T<4ϟoL|Ac۞҇ޤD-$ 8Pwr+N  2?>jt (WpϹ ,@}8l%_h.Nm,#hD/]1ߎ*n-%q lR 8;sqW] ߻Rw3 wol5MΚ2Аc'OcK6zz};zfE?w$ GcqJq>P@983%Rz`u<-J@C:|ǂ_%yS:u''xI,QAVvbҤ8fɤmSwx֚M9v:T45h܄uR$ qNՌm?p B1S]zk2+ƬfS1lּ.v;S.m8ץbZ8F[̑bgo<:b-M&HTPL̨F6x?GtџO}nn PN33; _~zT$h:Ii5 8>a1⣛AiFrHnqץ9Si7?+;U^O+N;MppA2sN'װ#?MxR{~0}H ''s֙:׌gG?֛q np3~*,=`zs4C=T`>c<g=`ϰ-G-XϦ?O'[`9cC#<ҁu9ӎh{Lǧn?´ ={J0cd}*Ia#?ۧoҭc's1tLs)r{cgmb.83rA=Gcj-rqvփ35^B~vcz3Ҍy"fx *:cbN *㧥ks61$('/0~ں xUe%v +E`GoX'%x-~ʚv_u{',w;Wl0P1^T Zb aHc"vC=VynĺV[ kmA)f۴BK ~ckַpdj*YEuF7+7NoxcRKXknbɶ9so vG_t;YtMJP͸H&A夏fHl)oZ5Mn J༓i*km/XRLrIKéZGcob#\fw}t2Jɘqi]s+%F F=M_Kѧ1ܑmAcN+OhDb?wf4]Jٗr~,lyyGA]e#אGjѼ <~U}9K8۰ɢdeyvA'#8\֢&Ӵ崞9f[Z=>WcQZZ.݌e 4WOtc%8noGY[[}Hc`OևS{@6Y$Q Tew& Y)9] sE F<-#GîsUuqFZa8h.oA[.Fc9 v-|Zv9hrIO1ODS\V߿iag] ZTưʡ<;Kcr#w,B$pb2r,nGEih?bd .HҦX6s;N1 VOSmEː#c“N1UFn0m,;Jrm sHOz}1Miǣ2w:wϮhlQ!\S=vvң-ߕN IxICnyJʧhvf' sN}({ҎNzL(!Wye'etӅc ǎ1^?*ռOۂ0a< p} yŶzh4;:n>V“N1zWBw` @۞rqetGbd8IО8ۜtg1zoujuG?~j֤OH՟g3ӹ#<׃c` v=+62_7zA^>Id'錎N=5[d2GSp3Z4rJ7b a=={V>oT _Km8Z4e(z\>Y!Q$z흼2_IqzLc[<y mKW܏QmYp AvCEy.?+&c3 \N:Ι/GCڦak?Pٮ4`%Y r* )ێk PXmIev'&}{Nђ h1l 2N帷1o*]rdtiIA"HIX{1Xc9_ϭt ,\eIU'~Q$S|{wd01鑬 "#Gmڀp֜Y CUid0ڬT䝄v&__#L]^' ps[jynL/ydEfۓ%)eϘ3]T 9Sd[^=6it51C歓O$#;O5i^^](xٌӓ Π8ךkB,]Is mY$ct aġt<R76)0C$ĮJmK /L0M ~ "Eyf0.n]A ʆ\\y;6 `z*Tz*.n1D>Z&.G+~K)VPW(f&"E96)#g+)Ow!G=rEE(Q<F?z|FAEK\'kF23;?(; )I~ga.Z}Ѹpw@'$ۯ-~HEbq1"zҿ@*u5нɵh1fh!+p9!Nkͼ?TI` 2y$*_׫;1voqry#!*r18VF,w*A?) mPyUw~at UX=j|.9@{`Y{I9ʏr.ŘLUI pЎ~fQ͐G=x]9$cmDQ,KOf 9 Nrsy4vi<F"PP|ہ, 0ē@C{|5[6qUB! ; `sj+(  J م`;}sX'E=st;EX!l\710s3ukkKb.KA)@7+̎;T(+x掚7Q&`#kṫɹp1z:D,\@Hq2ymNZ;2:u޳ FNrNy>O~+ZdryGœPNCtKݔҟ;cnߜq~ o|q3ƶt灎MY8?wH !x;֣WlX`+ݱ"5p3 g(lr0O<Z9pG uI.,8xͅlvxB՚:;v8¼?WfD8P2 Sn9J/;ů#d_;FXb2YvL*bM$3ǹȣ?}+٥&ՔH󿜆|UՌ$xWV,#H}vw՜Yf@`#iq=Xy_!pێ0z"ɑt*+qZ.vl½J&0s ʳ/#抨8PH8bw#'sSM_n>\IG\OB@`;y_#f 88(n #`ʳ[;r3*HP#90}L:\?>s͐'.sTIܫX}go8|* ڪ9e"~犧Lpq6JMJ15+'s1=LRK_R] -=ҨC 9NI`x~8p>U)?6tUu;,T?*?h@[Q/˸`#'ՏFʹv`=OU+FFHzsRB_p 3 @=#<A*WO 韥_O$PO˽0IAۗ=ǽzNw%PFOpta]isJxT/GE ewnJD}ЭT@J7[¶H'8*HۚP.;p(ݞPuZy?"&cFiحivשǒMw=>h)u:hO6J6Yz`sZ܋yFwm8sCGAF^$ע,lt-EqCqt%<@QH\pN9QPZJKkE>gv]\r@|2xֹɢ0Ht;Br= z{_-M($@<;e2UHdəѹQ6 ;'AM3 z>J$e,fFoFtXWb#1?ю>F9ܧw9 xW *H=~&6aRXO \'Z*6nR!"RIu۶[+Y/ss䑎~y-I rUW96 F:T>2g,A8A9㿽 pt6O ./A' ԅœy*-WǓCn g8[1n";r 6eT6 8+okdhNY~Ic OiLLFrp`6g<V BCޔ2Un*c-u4d*7Rp[n;=e}Qd(rCP2c 088}OҭFMfRYڄnCK T@+S(p0s]Չફ Iy/yyŻ\.ě09*]/x=yf+y\%C ;Gy(; ''IKv]gr}{U 86ݴn~+ڱ[0o3`#^lVSv9v$ z:I0[36O9Rx'L8&6o򱕒sQwMG>=;F܎EtǕ%rWUqQۊzo{Z%ؕb]%eaӌpGb=**`08‚8yNOҦU4T̎48( m}LkH}!$j9(FqӭzjeUP6);F+)X+m Ww҇ӮK  uJi& 'Cn Q?ێ#ڄ @vG?WV&|g?y/S6MsN3+F`ñtv dds>oA'ӿzN^fUV9 ry#zvS/Ȥ.rrzJ͙ s?d##T1$g9) XvFw1-g9ey1|iN{cU`C8N;r*Ho ۀ헡0z Q3r8)шg<`Іf+` |oVLp19ڧb)KqG(#nv~jFB<!GɅ\uO\PʥQe=lzc%H8!O'=ˡ$1 aVzGqErI䓡ctNt~$i.da`鏦}6[ `ʠ2w㱥 zӔQPĖ$Ǟ8LeTg'9r8ǿ=j@KH'R9|\qz N80I8鸩a/VjmeO^Wx듹$N<22vy;g\ݯS5g݅߱HgZ$|͸ 6->fZ:c' ?){vGpA2#UPƹH uʌd{Trhb0TOn\|obI!H%sNHc{qœ\Af8xȮz&\U2Z\OKez ;c&]ߑkNdcb"i* >d>ӽQ2y9'~~ǠjSSZ#7^1Ƿy督s8C(ɒz1P. 7ױ-w83|d8T-އ$s@3I#k*zEHF+ێ9泜1!YNG̛;]`dHܱ%pNNXZ:п )(! rz+]e|LaQX8o95l=YF2c xX@,JJp_;$׵ŸrѸcCϧono;;4 }ݏnל^u}KˎRXs#=nٝyZ.pneT;]JȔ+a 2 OLҸq2OW.Njyq2DA;N[*vG\0S/@0Ѵ=jb@ IF׮q5+ )Rt7Zz3Nr Mr]Ӝq\5xd`,YG$x@5]ͩ<Ўw `282>ہ w@=6Z $0R0˩LZ99]\Fa"ס~6@NvF/`y8U6n3lq0ub60Bnkn vG񓸫21ǭ8$+lr۲ ݷp:԰'+VѱnFqq8A2F6''n@=OJ㩹] C}Gs_L% Cb n*:L\9,_ c I&t$:LSE ynm~\zzP%̗)$~n 10@>ێ9wDܰ?tm+Tڌ9s ONysQC03w ㌞:szT`zqZNAe$=Р9zn@9Oܜ$ۜcZkqw끐:Szz* 0 뎴*q#8L<;Se0HA;j(8 `tL`[~Fszi)d#p>rO L.9?'u=G9b8-<IT0cҚsیp0F81[#o6 x*Lg\yu׭1UG'T Q6\)T\9dWn! x*ݳP$s dݵd$`O>+*U>69s9J;Fy 39~hiټ!ʌ'{d/ UXr})c|\N6%=N8OjC.i\sǷz鞙pz0#@l~V=%=9HO,00>dL1zR%]񐄓"Â2Lt9⺫ TCFg<cHF8q^GN𝠌߆; 0F09/QN$ t p;s֍Q^T$ ]e}: E#;C@(0\#$q U6nڻAEO r:=F=I*pd]=H;IO!Ӝ*u<nk&Z(TGO<铌t⦄G̤6A ۃ=jZʽ%ZWvgӶ8h3"o Bxi u%McFओIW-i+; Nq0],7nzjk)Y]VCm1IXu^˞9'G31_][hϯ"O]E# FORHlu-*^Esxc{ԍ }S?wR3^T z<v3Bmew 2zu㌂{ڛqAX=@V vߟaC-܀;zO$s FWiyʶ7uB_P`<ycʟq0ldoҪۂ܌pyg3ϠNrqqǯ֖勷w̓Ձ#'֬* gP0,*}q:1*{>ZN,rOSP0*pAgO#o{{tULr:c'TNxTqӰ9=hZYUQ>5u7Tȓ%)BqӞ>¤3|NiYr@;uI5oO$8q;U:瓞s߽*{cS=}n*)_b;g>ct}1;㯱8<ث-Xd{qTNs1} 8<a]ޅ ըE?#df' `nudv,;b>}JnrF01KTýW;vWӱumoPx -&/\Ə%B<zuׇyhYw8YL`dZƪZ7e<;mr(e$YQ% >U9dfC{=ķ~B63!_n -Nm#FIj/!/Ȣ[,kwL'y|@-R$-or*E8V ⴍFSҼsʒi69WIE#nk: ݨѯя_9(w3^3oMI,hfbyGOp+.nj͉fnP0_; GQI<_.iYG*Y\q޲#m}ü] h18ٛp㚎neƍM7ǖEpw'YKQ^{>j0KT}~Bto |BEK8^_&m  }?O5K_S ug46NJ=YV܇IHb+a|N=\ub'DdR6{T)Gڗ;N\]^^LFcP14F#"B~b9&=[ŶW=v)oţ% ꤪ ~^k{nKtV9=M4-.ul5KRKkBK%fFgtb08NG*ڽ6/['^l~"Kg[O2R"+  ֲOG [X.T:eI=df&<9eM4BlS a h'.nHmF_@%` UFv"凎Z_/5עv׵I[M<-NNй Jc5.,bɦLGTcYʭ۰Ok/#guu3Ox7^{fk]n Y/ k%;{"U0ZmbDp?{/OZ~XaiD#Ϭ5uﯬmm%xg$$n@AL;)RQ,JDQE.{Wi3NNY]msֲ]ZjmO][X|ѰqXDӡbZ=ͻ̲ܲa{ VZijۆŘOak)TI7؈GxY;Ͻ[jv]V5; 2ȭ 1xfGl/1tQ;Q I<*d^N*~=2EM!#<'߭YݮQm8;K%{b3^hj4IwgBv8*BǭA/n =K4Ǵ X+@9I zTm.Ѹz2 @.K.ԪeO=\nY&qHA<|$ al1Q2ng\sTLd׏\H7dg<>TL3pr 9;Uȡc*gC8?OQp~n}}G޺ 6GI3޺ 2prx$2ryjoP Lw|c=\f9zЖ#UЫ}28Pj6G>ۺhQ\\tL;ctᗾQ3^R1JA|H9'?O¿C|h;3ox^:2NO|sz㥑ʅIwkGNZ]$|RiYݸn(yX%rq8 Wrz q;1nFۥ )]X\Ĥwpzf p6~lTwOǭZD2m͎Xd sڬ[K&f nu8,=QүEOG]\Jy~Nkqio``s%pH TF^ilheIgQwmw%S#IpBCnc߮úkR>WM%khnZRivDFeK.XdcM$[sRMh֩뗷YfUk(5+F q^&qtޥd{y2QU֮kOam,̢܅XV4o. J'bX+{VqA>7ua.& .O gX#,ucH d`~f+*xjkwrL`;8##8$[]ۥ5_k*5')'81fT^ã݄؄X'%HRrTg]GٵCsn;YF\[>n7yeʸ{Q IG=EzmUmA%0M!fh;Y ukK*qn6{~Xosa=Fϊ9M*mќ#pea ;wz7:u 1G{rs,M )J둩'^SSdh}jw71RAM7M0 ږy *+2[^h =g$M!݉b\i7m[3QR\rmVKAjl`x`y"0cyA=+< T J_4$VHCdpH=ym6*.k-o/4Ntu$oo0WPè*F [d7~UFv=lBA<ƢMʣM7ti[ghnMI4Qq޳pMJDHbT,8_Q] UR#(켝8UGHTª\lّxp9j1|n<5T^kNZ"ҺrI=?:Ԃp3EQ$ᶟ1]x޼lqf.Z4'$.GۂGl<9½n+K+Y-.Nq2d|ǓzY#2Uat>k?= 75ۍXZ3PxVRĒw9<xտ3ݥmvmn)9lݎrp:9 t|$[ aQm.Kz}c# yT.rH8rwsӌ^41(bBaPw1XCo1I7e`>PAM+9[i[J^Fa)Ԝ2x$r;v3>d_\ϵ6~fCoQҦU n[>.U%Udo X.Oo-ĤQP[OE)c. *2T-x#Ճcnޤo?6F8>ȤCx^€H?T'H3ym\ux{XQ#p-yp:⣎w4! 1N:1Oz' ǯm6%6!uQe 8DROvW%is؜ryMr3Y>d8hHdTlqR({mmܐU8 \zޔ>?Fa} ٬W,d1?'r}~x ݊aتD.p;&Ia,bEd!LsӒO皫+ $rn=zu@|0R#l'qtʱ/т\GiRX27yBX=kL1^G&p)o I 3ʟʢ5=*iZV6 w\iǑ7eHBwa yҹbS+ȵKY d>bT~4ĂQ<9IXS+ lp`b'r]xߎ-LHVffB%\yg͆?1h5 \?٧$ί߱aZXvjm=oPOZ4$jTϮHxu=ODfVw[Y(* #rgsGja7$5h7= Q}M]2H9޻y?.r x?-II+k%e(-zq׎#\N.8njތ:Мw\?ϸPqqБrOn1=ǡBQh6.r:c⹉ nx}ئG:* :p:q29t t5vR:cKzg9H 1ē< p:sd?CR088,z9V@SoCI=}HB7eAFYIQ}AzUŝ /&b<Ł8S~āBp0r8z>R8<1ѻ+oX~eɸ’`gr-&*0ez͞?{|{[I?>f9?sOzӽzTH*;$X0Q; F=>Sڦ[d.A䝻'zLnW nS{3˃o cW'dWcn8;w` <5Yï1qO$1OOcvXIN?iUe5† Cuu95mA= ŽG]QC̓(IY80~'fTgk+ tҶtęJ 0@نvRpG>nxzbc`.¥As|RёԷa˸Ø+#`8%2p_ T|>^yJՔN33z/ݯCœߙ_v@2\an9=k*sNr^¦]M/\ӌg꾾V=#FA0}BĒ2>bH8 Dek69F'=ǥ7h%eaˑO{ks><Z`Uv* æ<,v9`ޗT$I2yݹG/'=@UQ`G#3hV+.Br7>==ϧ$d0!-dMx9bG+^x7*X bԋ>9?O5Ox*a#RQ^HdU2`r,Xc9{ȐnNF9$r=?Z,q ha;s͎nO^jYH$9څ>Rwy0$ ;B~Ҏ'O-՛=ꃩE@]n 1vLn::capDj$-O#px"*ŝr#) r1H>nv&ó2o(r70 s+IN\HHwsszTsѾQ8 ݷ͆b25ox] A Oz}ϧjۛXd -'>oI,^lO-Q 1avq˖[>E-ORw|+nrkMt=3w\>c'j) "Lcr~]y塬ΉmĆ2NS8G>zQe:l]qWC#3] :G `zd~jS,䢶]F|m #zGj|em2r_˭ZVlws5A3'esVIa7v-ܰz;gre&[c X׵DJ7$pRg$߭'m pv`{z8 89q {ΪHNAa>0(FQ!@e8؀|`1#g6;)7ndGrJ| 4#%P8猟ҷ\3uJUvFڳk{4i$a`@˅A>+eVy8SNW:{\ H(DP7U@G`I7+ͳk'2O/ǖO(6c5کT )"ݰv1_9XHUp1A^GH27 I•\dEo]_`< Ʉ`t9 [ $/}Ύo (MN1yXG+M1 Fpy-=k^6$s{f=Nj]vp?ȿȻʸQ},Ǖʿ+'~NkI^R6wm'9~W1Xi HVHzU 17b2_dYB=h^ Xf1=wYS gpYJ z0yר~$INѴ6zz~BFx^JsS Hzu澖i|ޫ=JL?~I8:T8pN0O9$*pxq6p9g} 2LX{Z ,O;;w/>`prW@|/zd; q`jҹ73d^3]=A x8'owr_b 9.\{@Ppsʒ^}86m%y%y&u0۔ٙ]ݟCB6"9x;wޠ(P uNzƬ&>뻣rT1ϯ> PC=F}GrOֲprGʸ  b|P dFa'uG l2F\ /~s+nv̮H3`!pj 0=Oo(ĪBd #*WoA(63`^:UCbv8v3 q9=si-$|@B2p2_ur4 2Xl$r *%. EA9; 8\ Wn$O5c9i[[ 08 gg?Һ{C$c2991ڳ7@(S#r~X9#\31śt#͒:8Fjݴ9<*;1=e0X=Hȡ~}|I|@"Q3^:i0˜U1.Fr@c+E0\#= }OB2)U~aI?0:NGWRzl(GCP$u 6 RGys1]p/@[;hd)8!G]<;Bݷ*22zL]T4H]ݠ銈0:`8Av/Grxlz} I%10]NW8Z%zFB,=8=i,!9C;ykhn7M'uV+nnrބˏkҴU0ݹ-ʌ]ys#4m[h\z ϯzEv2O`{^f*4Z :̃'Fy>_oPsu{W:rMim}M=ﴕ$y8yku7 խ9rhrJ=Y@!@My-ݻ' qr{W/{S%,p6w8$Ⲥ'.A)2F7;J +Ջ3AX4m9< 9JdoQz|r;;7#8/-KQW$*8~S߾ErpnrNC(#;W"jԢȽnA78\zw7cq%1;~Ѣư z)'zsҧDy$zg O|cV{.q:Mc|l Pr9ɯ]Dn{F(RA^ORO|g8YTdzc c_N[[pX$@,Xt5z.sJTP+, q)X avI\1Xvv9d䀽ԯOs_JP39֫6=w~{#vv@.s{Ҽ-c󈤿tfV*K(RG9z4QKGmv }gV|\Naxxu`2yF%pn-לWc+si=Rm&JG_1n^l' p5=>+ ۻ{sqZJ c0U%cS֛Ey 9;B,Gu|Åa:+h&=.`;Cffy2x6Ea >$y氕wRƐymۖq>4h<,~e=j^+EܟݍpNs^1U(]`PIn2+p|a]8vgj@ 8P K lyֹ;)pDKH@0{j_Ǿ!_4D`9 y8G~gϦ|Xn~n߁<̐r܂1R8*&DryqAx㞵U^ 9?mJ<&]Wwx(I,Hzq4|p*$0yzsJrp@RO^ߝqڂ҈cD1*2`-sXKVt9ҋ Q*i<x'{дgB 8; QwsvGg$K 韥>0F0Jp3;D:\v#>B (HG~?fK/'G;A\'nw5ÐO?}md =(@(8;2 诂~|n9HFHRx`(Z.0O#g"9/#Qv1llzqbӧPNs3Kݴx9ӂz gnoJ}$$(*Or:{Ӕ: =顲SrNF vj\cz1I`3=>`=#P-=w >a< >6+qc@xw*8p޼;`?xdJ@w{֟A e e#*7 G=Ijo݈[Lny )m8NqJ98^2=;  f&EއcQm`28ZYB£s!cQ:qAnN{%F\uzI 3Xr3 ̀^= &+6CG,>:zu(qe۟' 6`qԫgEW*Cp s:b=ņ/;,r 5r3:3 ]C^ނ #q[V۷9:،v#=:e"/($-{鞝jeN2 7Qcc׊ lcמ;~5he_\^0{C0bNqBy?֕R#8Ogj%rC~1"c#۩*M?q늫ipe9==XqHȼ1*ʧqǷ## gI8#99y}9ӿ4"}}ӟδ}Gc2ԸבF=qf{>"Q#AۧO֛wweS'<~b2l z{Oظz Ovp:Q yi!=3 {t0xoDًuyGO=k$7͌' g}Yswg,O8R^Nzٽ{IXqcӧS/"9l 3Գx/.꺥Z* #ܚ]kK'&k c*?<=K&աJ/K4X#3LIk7Y{s9]wC wN8(T}.rRymND}0Ü{ ca)s[~#lA"X߾*r79ێgd(?0!p&!v;pT6OS%˖9N=Aj?wc?ҳ"Ò9$7e1K0TA9',z "i2CVUxc>Z6eǏaCdEPj7"c JF]VT g+֝&<cǖ#ׂG4pFs>gd.1}q]|i][s3SbQ򢌌dz.[-|A:5h!cPNsqxB+K>[vX7=xM5,C2ĤX.N8uG"Ym"uyw漒U$zNI aB𿇑,T>%ݜ,i<ȼ_sDYNs+VonMsm$RT9ә;ܴ#{?'bEXVGE*?<`=WR%WIR$7-q=.T#{.nmK+%V,IxR1d2@Q*0܎| yKܫw#qq֢hBB0B ey>Vw 7x ̥O8{[pmKFڱ'3M6Bj;. `FDZiFXqNO@hrFK7(ydNU mO'ߩf:ҵq#*#zkSJDHaƇU_vUpx8ƙPP09?7˟Oz7IǛ,/eßNk,/nuV]zLJZH.nT\^O,F| "Q{kYZfE8iA$jH8<,Ԡz>KOvwg14J9~\8DN>\|gZ# 86瑂xǯJk Jш~!XFʨ<$8d)9'9X68x:UqX~Np L: ~E+הyb23i\,FB[r^\8u:~=hLv;Rww t#g֟jK 䜟SSKb{Uz 7~>8^{lþG9~7 -$=h:dHH}O@{`81LdQ$` vWT1q۟Ҫ;8=9V6O;W|`tێ\xsϡHL~9uOvz{@x=u<\&j͞ު{cJd謭&p?w'F#2p \#Mns'ǀsU;299d-8dTfgL62y'91TٙŐ =;D&!HN㳒Ƿ\қLp*sSطcxH|i*^16ɹR9$=sl$ !ǵT`qeiyrMf[K ;o!čc<K{,]N &ՊdR6Ba+ъJVɾ'ÞEKQ}l}eyO(.3Yu Ws{nV+bK8©ڇNRzo宆[.ۥϠ#k4ed%b&^%TPIrwCoNǯ4KK]\֝ڻe{`HR-CPQ&3k!y#${s H U'm=58Nݻmky֭Cf-4dDRphsi׉6QjCI#b/ 5㭎ԊG1$7blC5`nǯ[#1UԸJHalpy ddΕ5"KhLm r8b >^+ :J 09\޻Pc=.]mLZѬ;N"?B!'!s* ktƫ=aAuRqry"t,kNJZsbB#'͐ (]Te {vV #0XDʅ9aW簩{QޛXu\UY1۴H BۿWà N7`p1P=tSnv InFT c2q\ 9H*_&0I8N;qSVe}K;g $ScDK<PU l0A#8i$|O}Anț" &v@O$+Ԥdt;Fh[tj"Vb@(M۵G"^B`!(O<ZUI\-(I׎EOttzwP]$%!'ʠ$60sʒr Hu"wĵصi^bcZ1U䑌51]FKJ])P"!G^9V[5.uk'HivUNs Ĥ1= HvY cR#]yH폗>k,_@ŌVf &vpNzvdR $ +v:c *דҸ'IbE_Cn'㠩#T\o y$z0c H)!pN=*W>G @ۈ./|׭f;,%p€"qckӌu[߼00\g#G9u;O&2HbKn,F1 [=~|WD$\`)<7@eX &+d]Cq5%AIB72$gk }vEmZw(#X:MC5Tqj%Grkc<k{]gO&Ӻ~4"g#^pUOsֺ+-RKL]^>PRicҬu{kP&>\gvr3ۏtGsܥ.d(`ycOnk2G>.7A',?*}3Z3';ArOAuFA#Gױ91vGr:zgzR#lqWKٍ 3<n)sc@8u=sq=xHJ 8;NGUcե鏗3g9&K^~*6?8>Խ22yR#Iz$O e>@|g$8u#|~rCs t=꜌GqdRѝY4yEoN7z'cyPI$ p03ӽV^qNJpڻ[%I#!MyV4(aYbz5Vr疐vN'#cV dg$2z4p7#gr D<b gt,Ks}GC=/IC vFu$M2`pOݏ9*ewn R$pc#k!r>PNN20zz`B2XnbIˁ:q{&AÔ##0y&rJ T%O\uڅ 䪄oQsLjh1+s{]PlrIazg,;8w=C g*ÌsJKRG!G#8J: +]`y8>{U_$d8A#<}8y@[W쯂#T[^qa$|v#M;mo:dEPvFܶtV.xؐ=V\_lcj]F3`1~pK$+Ƶ V%P\0t?0 p([c_K|9PpxX22O)vc'1-$o+O27R9vbd1à #җ(ˁ O~# #RKN<ў=jXWuh֮w!xOIMX(TyO=GI!e ʦ&E9 O?Zx+ PC1^C9o/n9LV2;l% wozTپ9wwO' '`3nDi_o'Č,c A#pr8GZFsKV ӡVؾ]pץoQ"0!]|@jyTr@%HwmpxEuBN3ֱ܀=?ϵ8GӟN 94b*l@#YL77p ܞ=P[.DH.nU #9G\ݴ3ܟh9jXWr.2|zeR1QXmWkUbŲ=j`ğ0@z`;۰t5ι W;N# pck!۟P̻~c8GZEgRzsX7 6CʌE+gH9\{gzz梞tHXdȠ(V*y+{Lpb7ߴ@z& o2R[p>4X91̪Im,1Mc#z;d (܊D`r @*>ne5e0iO.2eFy#MێO }<x /(qT982an1N=3[LЀg$0G8uV(U1ᑃ w=+*3U\AH99rOO^*qWoASո$gֹYg$av$$~\=jT qr3x)l"sNӎ*dc'ӂ22 QC'jO6Ҟp܍y 9L(q枃ř`퀄|3c1GrK#p9sGrJpnyN>8)<V,7x瑂C300H9<~~4co8 A8bHlێ Qdp=~03F.6:$n=:RH~^@~>#z4 H}K`w}xUgFQh#[h08ǹֺaв c13>ڊ'A鞢n1%9}jg9RCmnʩ;cJWZ,z睪ğ=xߊ$68sM8ִSڹNI |X ˴" #?h[\K z)MԂ: I/ ;9ea޻[;љ<.#{uwH*RSrT#sqϭ{:P[f뎿Gݹ1Va#G u92y^36we$#O+.G n8I\IsAsΪF>919{Ʃl8R@<3vVp6A )|FaS~eMhK'O~5Kfvw"Tv._f*y >kۼ/7`X^Ixf)Nw. Rr)h~ey"z..tiEo-cVP! \Ǿ,M֭u..1n2(#دG_Y+EvGWS '|~^R «`)}ϪPǖ aQ23z>`YuP 8fR[ q=TU˛qapPH4BK"ۙ3^51rRp]:k[-홟so'*Pq>XZ>8*>RY$Ǿ3և.*vbDQ9#ӱT,.p Gx\l챳9A$ q9&O6(p+}m̱Gӭb IWi_YxKI*m!w6y `g ^sVSrG'hZvꨤFA':NNKڪ?̂GV2OΧsǥ|7ޝBvwS%AFÓ޳`\҄=^;DibA~PO~Ya [ !zsS`ɺDI p (b[9֟adA smyRTa03g$^$Vv#kt<.Nrǿvg '8?d|$ec=2yQ nme=U͌pFT=( $N9/Lf /6 cC$⛴}{׃^oa;d1jxzqHl$j4V*ͳ>BǸ'4OE$=$lRs#P3)и6*к(^^znq\d'%H9U%r9 ؃qޫqc1$c#S\t9~}*U'r'_{x 't=9yQ%{ ^r1խeFG$`ad1=6>}L2y';H^Nx{Ti\"A]sۻ#rjD~E=qEkʤ9`o"SI`"dv sS\Kq,_Փ?˓Sm~CNSc~k,XhFy'ێI .{ p>稭+t8nQ ,l%J)=*)ݿ''g\P fa$Ooz8ڠ9&X/< W#A ~=~BqzHPÜN:泙T^1$z@HoTr$B @ F>ۆ\_Ld#pC(a݁í4Rd*q$6iIpNC`e?lg=8'=묌<á0ᨬ=`?#_R) 4rS':&8G?C5N$$B::Y<|Sm#8Ww~`Dx#j9m'}=O}sGuhH,d}LՐN=O\R-(8<s۱=9a=ycoȩc.zw}l2ϧ:Xp67%7'BKae YbB1Dx͙@'+62w@UM+OI 3v/RQqfl[[崹qPȁU 9SܜvލH픶0H'hr0q˅H&2ÂGMAh\ב0~b<ПNscnA`x9n\p#"VrA Llcہw>cG˴dm'\\),vl^qәC( dC0:uE$E$ n TEϴG0.<up 9w~^ A.3XursrA8U_@4bk|> YZ9N3d*0$sȢ"a+v_1l #8+qb?w$e\~ϩ2fmQ0+ 6w(gΠ0琦%%"ӴN2MwjnN+D=@9gZ%NGhI$s ErWXm<$[xmdaH|91D&n$F s#|jq ]!?|őۃc<Ni)[`q5ωZT %lX(\$an5Xx^{VeAĮ]X;NqڛA%1%^vB4[ؤd?.8hR8a/Pg=i\|O#Vg2nab2sz9a#`wo+mJ6O2)mKg$FA<ķ en;RЇ>O9T [ 8ECt2G#c+VH|ٌ۫ؒ&Fb$0?1u7t$2 +|\x<x=0ӎqNw}ߗqx*n@Go8u|ܐ $*İ8hĞu#nq{})#hE GM+vaNqSzr@m^O;vR }~`8=ކVHrz鞀*G#;rA[VocD]F8*2Ɉ㞙u+Ӭۉ7N@1rOּDuЍ䎺E"m7_\vZqFOxm(NP##`H8}:sQW!X 38Li!SpFɀpۯj\Y k38$p[ҢgeAnwe7v0pVC9e 3\uȖU!I`9<)pOVr[Ӧ奉sdg̸;xt[.dnʯZ櫉V,#-tqۜO#=KU *a *"\F#WM`W#6ɐ0G#WmyVʌt=GktzV:xBA8[8 &ɹ6v%:un<:xdÂ6 mRG$z&N\<v ea2CОj@kz3=D*(zOoV98u#80IP;)⳶23wS;'$7<89>-=谬Fevd:qתĜGd/ԤB aA0KqU l j>1I(Kp{Mb7ddm 4@(˴ :U=#sKוq꣓X+˯>fB(=0 8?P8ӭyS"{랽BF:$z-4LNA88Nju.تO4F|x0Ov끓1U.891ֱ'aOp8zzϵ6sО}zk3 =[95:WctG$7 Xqܫm݁A`J|=2I8$i)E|N&.z= !N1gqg'yD6I6Ƣ5s [}V2{s|ۅ-&EV#F99'ʗ(ܮBX ;NG^;. lq&B4r&wA$SFT)$t>WN]ZƔљO&RAYs囂v@*zkIGtg>#X̟z6kWRKbi.[f^o\ם붺͞Ay_CJ%Vl[OpbWT9vmvwT}5xjC_վrLA3ՊL7:W2/x4kөO1'l -4؄G\M46q (zMÓ\ҋK`R_F tOw | `VȤP:Je{;lm #n"HxF1 h@j4 Brqz=iɵ&s+1PN~zGFxmc7Jk+[Q}`ВmGld 4j[-O+VG'8qԊuf+;ƚ`ʪFV9gwzot;H&S`eQ@罹Lfӡjzh}nQ1I& r8jqIgms#%ԀR3mCuqTtHU'guf`]êdmrWB6y{s-wQ7zmŵͭL! r4{#8 r9Y>$f.#}vN#`[{Yi6 rocR 47UI MKQcLr'=xm&atvbnˎ&_3ڦ՗ DVgbU²2!{{Vճy9] FqtՀb+ӗӱhMj"ygv9cLqUhmW9v>6~Ϙ (76%PzcpDە 0e>ۚ͞JiyY@b;s@ d6ȻDC>7`?c k ZB G^Juر >lA?Cj.d8)@D7Ws~#pkGK{]J+^[4̅rdc)=|GLoǩ}[DqP[hAcԚă$qSv~#9=ig53Z3QNu9e$>O8& %I ^/s<cipݳϭoboF-mmo-ͷ39n0)Kgo:>\r n%dhO39\6F{T-*;oye;HHU c$㎀v/؜4X! cFA0S<:z=QR/E}qġvrI^Y!3!.Eab2A`P˹bGi©,CRFV=xy nHj,U! A-X`K`{kh"]dmAs(ӷZ ,͸pyx`T18@A^A`Lͷ i װGu9Tޭa,jZ# R!̰dgcʪ49u=+.RWpD/-_ |`c54{OSɦnmDY)/=dFHMnV.V)GKx]J7b߯f5u]kĺfse̔#p_O_D3JuɵtgvnMn7P:cʞFn[x[Ӥ$4޾z3+`4H ~VnVyLDS,۴5gMhƘ7̜ч9h|1 NᏽdjȕVR;ߎGgñC0pbv:ӭw}WHX! =LU Żlwj8vLI-~m̮v tJѵe 6/q=E|aCAktL=K$vy'8&0Wnz׀vv?.N'?ʝq8xڷO͑p #qv+fO#yK =mH$NOw#ⳳlֽ>!87\wP;Ԁ<=R6.qu#*&ϡ9'߮JC]Iv|ϰ5>A'1lv><ԙ8QxS5s##}928|rxyg@=P4J tF3SZW1CLԟPϧq+)t`>o~{ X瓚T7ݾl;^{סeR4ZO+^:Tr'+^3QunWOL eqq]S{96W/ _8ZnŃ @zVto Ahpqs"X*2Gԓ۠ۥSlZey`TcHF;Tև<$)Os,imܑ'acV_VȪ2&#^VNRjn/}=b*xx<n+`f+r5IMg6]rH1Gwgq bVBRTR% *x=kѳ4O3їK*Hp`q_^Xʱ6Q@"RMt3 Hei"UNJIq\mȆ01*|[hvaԭO02|_T# S|^/z4qМpd.un[ cd|FOqs].!% #sʱ@5pұJ+GgFg\apH\2 Z fS "d;6]NH^R: *1m )/>qZ#*VV4cw% @ ]ֽ: U6l$)=O5\k7LcX?0IP[UF_[@1P>_0ߕd5̅ߣ[ȣ!vL|c\آ*8iWPB9RϯZv^N$QZxrgn6M.㞕#M2ns[yv5=} Iشl8egGco8oBpj0+!2,dsG͞9hq#wyF o8"kK)f-ORKu:Wʚsa۶wi)dc|7z .ߐ#!AWy=OME.梯G'*xS|{On3t$^6dAݟusg >CKVI!%Iczuuc7ںr3,O'fZ92,۲{c۠#IW.m$pCyCgWH±1>\ǰ{̭jilR?Fj7mݸ(Fax_LZ[U 32;w(lbBߑq~u5ehF@yT1m6~M@n?p=Y] .I9P8S+%Spe'롺TF'XDKFkjq`s_UI_D|et۷slW_k'=:疗ytvyӡM6yIEnm%` 2x8 wqKnN0; K R}NkLGۏҸ@XSS9w<᧘nhqz+*b(Y>0 Rp}Ҹe-Y+wxI$1aOAǹvvGB䩫=$9bAs'9I9w'ފE p s랂魑Ry0#|.``qzf3^Y \9;s۽9K'$cPIOr9JȑmlF$\Gi7UFڧ*;^:犫s"0?U]7}q?!ҭ~Fk=jpy/$USO;;pA ANNF ъ:c'9㡩؆v*vleqKe~ʩoך$Cn09xЋC {{U 8@|RkhUyH, }sӊ%n @rAfLdUDS}~mf$z{v~DkŜgߎϠE^Qǂl \2nNNKg#8<8x:crGTvDv'VI$~"%|,9q899Q˩avUP19"ntKp>'.d'žq=86NY g¨8p8aў:gw 6s 3p$:|ۺJrwڬ$el\I gn U@9$R/4'rUXAbq^)Y]XtzFvдhq`c>:NFUp zuQv=f{ỵ囒Ttn{޹+<ϻ}=$sSL M3(GJhv8ۆR/a=9^]JaKȡ-Jn+qA㞽);#<602X׷5Rw3 ‚NP9'9*_O` ,dV KwgO͎2{:f A.sMOBu!vp \YOBG|bS;`('3J+=F^RϘmTPlZLE_%_=ssMmbʑln8yU,'jJen~e,q^3۞kI+ 䌀B*g"38Jnsmtɫ mQJc$B,}{ȩ{*ps,u6yCәJzd _lXӡD@]|ǁAIS[6L4\{uGNī!F*=Nk#Ry8oz4})L6\Nrr=51tqmMʹW#޾- /gcZG=~7&2݃UN ?{kK7N+Q?C_T ~?/NuJC40IJO~p8tSZ7Љo_^_yZ!w!3N0zw1' 1ߊJ֟yhS\#gHˌ>VܹFIךΈoWS\.p n99OGPȿx+2˿ϩway'mC<79xp};h8U7ʎYc$+ۭ+S|7F;e0:Jӝ(-8b>_Gc(8+秋#KO2 L~u![̺7yhS?/C`pqbAAʖ' sWKHCЂ;@zZ{NנVW'jOO#= eT J)#nr3OJ&$vƝa%|dDM21~^>\ڼY\#F,B@zr+7o^U5m{xᑃ}!XrIoI4+x-m?/,np"r<͌,bu)t*7w!'ɪ0'~wBA{G$k2cpV0;!X9 UO¯gZhBqd`s9&3ve' ~\=1p[6Ðw%@-qhpI0=A;P"`H'K8p oyg#'<ђy$g\ ̄}/BcO^hS?:<CI^qS 9 1=T.X9sǡtR_h%vF oQuLp7G)rYs uqM7#te#G׌Z fXzcߧ8D[n26mۡOO w4P=FP~`x9$a$Wr։M*"dǧN!y0s; c'=+2FFNym[G`N9"kʋgb02gt0eT-؜dHbFΈPFYO̥TsX^dv]r\Wq#q0?_1r)[=Ǯ:çIlҋܴ8pyۓdVIp 鑜zVc80@WM&c2θS?ssz`ǘ<:2}H##q@5V`q>{1zpsƐƍ˟Sb\g郌zSҽLs<Q\:F{{ZRB:{vݑ<O5&zqJȸTI9 /f^wxdSx=Jk|>l:njN nG21w=gH9^wVd(z 񆵥igkwu;"23l!7 M>dmQB7NzMFwZ}M\-j7G*L>FT,V7˃~%u-02<e<%7ym{ٻ俤[ !-&!Yp>Rdu^h 2HV # Ӝt3_:8e s1vǭ aBs##n:{ksqzxc=';uAOqmnK'}9;xdS"c|ܒs1S ]'_n FPc6gKct$=FO=)& wq~>œi$L9}8q2BJ Sϵ<ӌc$yOgF=G?dsң#ߜO=GAÜ~5^} {r1֥X;H$6O=G#>%Ve;ۺUi;2CcfܒE$6T ';@I1:d9!BG;f ˜;~epGc ª1o0HNv䜜zg pjc pNyX%ox8zZٸn$`0=L=ЃBcʐbw(d}7n7~8AavIcIFXpGNi8@yyۥ &8ۍ rq^‘p38,"]ņzzjc c$L䏧SLhDIdt:0}!a6N=9zB$]ŀ\NsRx*1@!g '$W$2G^PP˞Қ&! `yfҢHݒ08$9UrPY7;c %Nrq;RXmdm2|܌` 5r+uC@dvnHctY\Vڵo)CTƨI! g$`sWaF]aP T*}3^N!nN3R%u$+^[Y=+TVݳU#]9[؛xM;mqrˀpJ]f6MMf@BHpx#zK_KDGCvYT1S`Q\kk,yOɵ)>}瓹^8O髧A m&g?Z6봰#"UpOǸpn [mh?Y"C(@\m gg.ૐGE8WJfMp_"bap8asJ.uTHX| }u늆ƢـQ`H\#gۑҪ%JA w=4 sر1f#'nxUS$( d#A㟥7F.KTpH+Z1_ rTR)nhSs<tg9niX6 FӹާL19;ҵP/'Fq*]Ì #3Q`C' R:5 k@S9'`a9$t(`cQ=O'c42ӟlziv3ȡ+~7sМp3jE8֩ ퟪ랧V~b>a0z\gI [?CҴ`[*hA㡮rZy5V 䳀wW44Gy.|Upv@Xq`xV[YR2rp9#(h1{cF3@n 8҄w%vɎ};*[>Ǣc#<`ѳW3`bg9.>ӻ{HoJ xIpi3( !HFpHŜ;+BP[s%+nlg͜⻋Gah}2JȰMBz0#څnfvO?H$bc'Y%]+ʪ'`O(2 01U.39 ?#]fV0exڗI+G䧚HՑY3sO#'ߜd4D_,g-򜑂}z*3ݷ`*H dz#x]#t_`wCb3#۞:qT N^,8L :j1p4w6pAcRPGO2z6I!LJy9NSH WOcυ^cn8>i^,'nB8/',ۈWgg$1^y*F <؆5LqI#yuby*ONnB'͎HgbZ/̽QD99^#+2d/t8cB$+Լ;F'Pc;Wc|w].8KUCVXv >Rq#Һ_Z[UBC SWhjtZ&z ;y"`iiRRF=şZ7Ķvc8wNl7ݭlhmNf#HWe"XF8=k.@-VI Xbp ۏzN->Ϲ1Oo3Ѽ1hsjI4ģ,Ș9YM>l`گo%ZyK]sGk2+^zTqS4_Kh?WVພ5IU̳9bfBO6aI|z cqWi/rbg$ގa5}tR`76oc2d_6BT^bv<~W)۾9-kY*a,v=\-ڼ:rB|p<%hzi{uZ)WArNm xm˫JC .ǪpsڹFg[jxr\Nq8=A+mObhbU"!9`b+k4y[73yI&dPŲ9JHQ 2`{yƗ{nDQq#KuP 6rIU e}7mEPX~'3[6;.3pI-wZln-6|=;98ilZVw0'A##zim;YI2 TwffUDy&E.Ces8ҳ6pS#{nloncHשU+ gN4g''pIV;y*ݜq-<n_Am m~JA*w2&7s+#!HKiQI# scdQ,Kd`v~ƿ[<`6A9$qXݤ1.RNO֥] }̺#Ɠ/*uW=V̗ ɷuUS&BT.[t$NV27c*?0r*mW7:6VW[N6]N}I`O۾2#>a/?.prqffUcDYԲ4z7Y>a;@=]%e)F c\n1ܟzjpw/;$ = IՖ֒w2v*m͹sp0; DZE q+條Ӵ3H[.#ۊRQφB.w,IvwNvq}+XZ}ʯ7\mqX-]S~F[O>tHExRUTCޢ!6hsI`yW}re$kuxnW:s{{Xૈ.#+<x@xRnP.Y"RĀ% J슊Mǃ(ޤշf'eg$z23@`<叛{8@\gJ$ڷCEӋO^%a0ٰ(x3ҼORWSb>'=hO_R]KTK]mo,GMWyB$۰d:mluR.g)?B!<́^"o*BѰ.+A;斚j{8lBi+zޕxom|C` r=+uHAUcڣ.x>>0{|Ed_".0UI^qڱ/-#9{sWnvlnmr9c~oo{W;${Fp3(=}+O&Sy$u'I) N'۶:Y&xs7ArH9HhQ{/Ozհqc s؏C@83Ӷ4g<>'=Kir2l`}qj?y#q43r;y#=Gҡo'y.sN~ZLEV8 T#c/xSӱɮ:ψv9ɦPenaaI1z\PWMh-__7;>x\<[n,3zgӥmQd-i @uG审re\_}:jdZh[ n WS+.e6<zǭ-./\9nPۀO=0rjHN6F(,X:wKzM'T]ZOx#8^g=[,y *|xkZz4j\P10оn0ڸk 0&S'h+?xsNATV^vtmDїw†q+3s M8XRi8;}+2N9EsZ(-e$JDxnʟ}VT2kfo97 nb$n'Ώ 3ִQ%o| ªд!b}r m5;Zy.LCvh_ba+DK dd-&O|8r K3aAݸcN*miXԝU9<*7{dqH^'no9%GCӥmc-ǂIXRpBq,޹:UԶq J#*@)M$#GG^$n}a_g 睈gd7 wl6q"1FN9#p+ЋVԧ3 RvnߕqsmNyv7rWF:pe.j9=I"޿ K 0X'#{S2BFr`Črsh-0 +`2]q$滴Q;zcֹjG?WJo^{uc9e$!mܮ8㷥d[ #p 1#^yҭ,rq]=z֗@(9'ܤ?Zda y#*0z" B^vz 9c@;F9.d;{ `seRp0nO&zd{xݹH-`mZyPq8bA@5a̮~obQvRG9&Q(oOB ! ܐ@O⪾H%NFv;0{UqV2|q:&Pn\* < ׊;RwVd0M2F %x#ϓ9d*NI=qz318鴝q܅}'?0ے'9GZ_Aۑ$6G1:P##sq#5) lV3B2L6gq鎕6I"FՐCWe-:܌0Tr<{ެ4[EFۃApN;U)#iح sU':ϖ#$qy bQ#7m0ʂsׯ5|1ޣgq8 _\8=>嗾nFZY8m@8JΣaAP{zcrK1c!prjƈ6H;'8R$w nd$NOlc-]~KuRIBb肍0`#Ln<`%3C4P 57$0wǵkJOo/_39ՊBh!8MaUD3aC 6V 1NCK&>+Ѕ]NfK $8l2wW*X GlK6C.wAW8GJjUoO.JcS4N0fy2Z󴑒Ixymf=3jY$%L˕~ALBT'[uCor \)eX#] -ViLv!*FLqFl(!ܿuQ40dc1l79Az];xBجG3$;c ϖOHa!%y'220o_#mk:};(27wAkP8漜N/;==Xu"s?1:zZ#8UrTsnWo~ĊO?hlc>>󞇧89Ⳟ" qݞp>V??ZXrsN?ұ1d!$H'^a- v JU(Gͺx.K*$SY4*9`qvW z/޷e&.fco9v/,0p;5}TW$Q\zַ35` TǖyϭB 1̻eLrUv;5;:ق!nRCn8'㷭u&`~6pz>f Dߌ^vSGt0WiuwʛN ,8H5a=ʲ20R/UD#Ѧ&XY*˴>*e0I䌒g_[w>[6ZRV˕!?]ͻMxNǻoW,9Whyh#Ԗ"Hn^Ts/ ]Q*:};.1s6 GaRWFR dY )ϴ(\@U=3>O6. 1ϰ1V8l8'*y9׿4Dt?/ˎ2?&;' &s:dVђW1N3i-|ܰ3ϵ"PMޅq'qJ$ c*,7OC׮h3hs`zv;o 0F3sDanX>٪Qgq<3Mn+󓀸rCq98z/!<32Z6qWaK(ld0䍣=v,ɸmNv )]_"qʲjgv2rAPrrx!p=00G=M"c%hRF8ޥ7  ɹu!H@={SZ3 CsHx `ddTԨ*\q uބ}?Z`X㜂r@8jC"(*dà۶kjsԂb;Q L(;vU=H*FMw´mk)] hu9nv:OJTpaCʀz9?{uq%\4kxܫ*o +nS0dKf-9~*zQdSɽtIMd<=N##;C+3emTθbZ;kGd=u("$GjAն7>8 rv08),8{Zu֓pP6+P0>bF3ָI?mY8Iq!BWvo FMb7cYܔ?{yuVc9ɶߩr43HeeCgMg@_o^G5*(FHvNF8=N)+T۹sU1rLcnUCI Fc:j0 D'rX1#XCyX)] |xsN;ϸ$gx&`#!IP\(ېIW&}OvJpqN0H[v[" mO]$Vq5{͠i[Bh<$ꬁH$y/b8{!@+ZiƋ|HL]ώ?&m i ?&I88 ێzy-nz=SNvhڧ8?0 g$OaW,tY:a~3ۇ^+%fidC. Os[B7ivF0} |x=qҽ?H:l J\w#spRmj|>➇^vDrbN&X$8si^Vkv \ztk[ n) X 'cE=!߈ycnQc 㞾L|e 8zkNͣʩ~2vUB*brsf灏18JJ=Z/RaqВ0WsB:U)8]m=A~'Vf# ɻ@,6~=+7 S Gl3*,tN( 瑷% ziDʒ[c1u $zqQJu՝pK~Z!026ܨxx2:ԙWr9v8AWdLGA8?U+!%rG9=#wF3}sUqeK$wI)u-1x\dq(,p~ld F!FӒ[J횺fijswe~mxnxX *"հ˜lSbS5y^6sg=rJ2[>aŽ07#e$va8*x>鴞:ҤgcH֢d}qB7[ :d z^!H~;'BO$RFr9'<94&N3w Ğ2NO=jO+@su?8b9_ZH|{{9T2r[L\w;qAi' }0Gj},];dy}:{L',+j͟44 tqy93F;*<nOG'ߨ63J&19 yqI;yB?*Ì"NO`~yJG^0FdcԎ0>`qum_W0'3mJBmwUs;l:t|HÎ?1ב5c;4}qU9vYKB +n8 vz>rU<㑌ʧ=8 ~D)P8pM(>NNҥDC،V@GSd6I{z:ui뎧y2s#Bxcÿ?C-t1Q=9?z]r0GtC/;ecR \qrxsS0Z4tchQ 5=dWv)4i(~ZC+uMRxm2 q':s5w2fs!R@aZy!pA sJ 1Е}3ԓCz ;##8LZ[p0'; 3n'p:d^Wbvo9a sۥ&r1`'#qNj_zON$|çNy={/^O\ܒzghl9:wS>>]XvqUrqR0 ׁל!Im}1>0Ӝu=:T>8 PU2(({=%& ,0P;9dWKirjp^\̳֙4r 29'bF$8lͷdzFh{$\Sy ?JX'9 a-O|C?##7rBp@ib0(8y(xySN{t9v[R9:dzjQIy!G㊛ ±gkƫ$R3!R p1<ɾ9Z_C"|IaEa#r~V苵gCV#h@7`0`.A>^GZOfRܶIo&T0 y9լڰϙ!T2ʡB/`xzY>[XɻMmt,'ݲ&Iz'y*dc``8U=HUahF5Vwe &r/U$`qY 1#{WuoHP6UNYرǓՆX㥎R=:v8ߦzVc<ܧ^}XY\R75ZT  gGRƾ/mR{w<3@UdA v*N3[ao檮8*f"XN3bX}9DRsk57lN#aP'ewc\O')@FBZr-!Gi?s3JϞʧڭ xW0i$N11UbHv@ SuU%d뤖A9QW"0v`89(+ WVuQ;7r~}_oNmF87 cN8kϫY;>V $[5C9{x펵yN0ca=yVnJ;([v 4=x#'59vF:qW3zMJ2:WgE=kNNS.篷e##ێpOO7HsG@׏FS$tݺ+jJ;r+#8_cCwL6#,W{v49,Tt=vǭ$r#^@9o;䟥2<1$ @w#=֪{ &UR;Va|qR2U0K7CִXʭUIN/@:`t8qb%{mK<9UN3=3j6uSZ"mþ:_)=qJs;r2q?;s<ZAב@c8U[[49=Jc6GqO?Q}sygJ#7ppq"ii5w}~;י^?OJLV^8K%0`"1e~V 9y~|x3jeܶr`pxs.tB9 &;dw^'t7>msżێF =86oٰDPB`ݍvQ%m8[\Q 0܀=G~Փ#y푞+Kd98' >\scN;yg'ߊ.Aa䁸gzWHi|ʥXW-} y/u?qI)MrhRIc,\N[ ,*<ǎA31'GN+Դ}6Sִį93$UnUG^3)Q}mfgúU[3%vpmcKQKj cN\zqֹMzy$SO,F &*(>0i&zF⫋yk}C:T7 k7pe<BrphjѵōbEXc!oQqzkK2O+o͊i욭 I sg=-j $˦gG% *`SGJ/2eU_mg| :7dhR?9؎Gc^)}zUB)6#6y+Nգ߱*$3pFprSwwu[,^I^̼򡻓9hzF1dq7_nh$@p vyڬy#wH?'%u\8< !ߵU_ZDd$eJ6$Ϧ:UӢ0`\YO˷ATYy`Y6@!x-OO7cks=]Rms[˼9'!: ݳrnhZܫ|8;$v v'EoAO;J GC7+"XH.S,p\Tc'W|/ovAD?(' x@$U{^>rض^Zœ:m9#V~S{ar".2yBZ?+o@uϚd{j'T#t-i"+f^,Y<2oluG8;]c2 #mK;HUB7Mt*|я+ik-q-xs$#o1I=xkhAQ庪a[yci^Uۮfc0ޱ`s 4wuZ:غ7ܓKu ĒH.Qmt76$A":rQKk䭥9D )v$<<޼G_[nM>/nm``,(cߩ] Xo”j)h=\O ]o3F$ .3=x%Ib07o!8Ytua9{SPq 6 ˉ2 BX|gq&6hI+e\{$N [҇JԢAqjJSF;cSү%G0Ȑ7z^m=blke@E9s/teH(`C;pjmzu$BL,@Qe19=G^2{UV }782s5 ~OV(b3Ű:ԅ2f$.H,Iq'ɨ#uw$y2 ҵ$a刐H$6 IlʉSF80)r~4X`|0tr KUAHFFM\o=zLvKi}ȑĂۊ?Kdw ifHbZ5.{T8cy&X.?xp Hnqs*]>`2##l #p$qN{z}]EiHNJ.W\+.yJ|~`F U~BK*"Bق@Fڭg2HxGMjy$>Kq"`pLHR$Fiz J}ڻΑF-$¾s θ+$"@ۤ=kM/5sNM3tYG>ST*$Y̩#qIItwS^hM0d sr yw#qss9^I|"MMc$wg[dk. lK$\{(wLHQs\."&wt *]8^kU _yjomXN4jO%dھ|c*@VfrG$_Lu vCar!{׏(IhݶmFwm֦KepQ2@g- ^{N]~?+;dU%kK,99O{pMYqގ?{~Qtñ9""Z͟0 0ꈼ9pyr\IW啶{x& : X!sÂ⺄݀^O ;N ' uR2MI EgUع0ɂ d?u*$*cHUe~Ҽg^:MU:~Q24r7̫0ӂ}}ެ!ZH$u_` uFMogCq8YmcE Ȫ;r&sMf_c]#|2(pI~s_jsIvͿxN:SY27trX` 0ذa'8* @ |%Ga2[wNsA*t9R*+22c 89iA/P1P=ӮNA!RȭCHIOzME `F7d gЊo𷛻x֝HgLj_Kc&XΒ1aʡa䏐^KB@*dy 89'OlWM&sWv5Ĩp9PO:gM[O?{vI>e5,>v}'Ҩ[KZ*O\˝`KpA>dzq[#\a7RzWͥy|Ϣ3.r @<_I$ם^^%h3; "e,9fVc8W.[^NUOM=7w89*e|8{WwT_ݶߕ_3Y_%N&C4ccԎK`֮(qjYb71v; `~mǚ1@#x$vuCHJ. 22ք6#s€I WHFFUnp%sN5=B]d@JyLv2;g֑TIhW'vvg'%Haގ`H;Oqq߭A2ߵy8p3`5~aՈ\%}:kFnyqFWaUG!ޥٌ6 ͒n 1ǧ#^Gq.989:_96.Hlʎ}*Uw}͜tF+"Џ<`ʼu7T(,#$rr=AUU~;= D !+bxst1ƛ6zm;ma +SGbe*Z]LdNB\`s^e9:6*JU5WI3|+] 12ExP{g)iDyPiZE'a{MtƓ3YCiGJ y㕣z<2H83ɎXLawwkJT$lvl<V*NOVG)JI J_p"@0{;lfwGkxǵ.>" 2@267gֱI%˅QDnHT9=je^׷a^M&.\52A`zqYjTdV; qoS\2)IEPbb2prFr@*yh9\q 9=1+&ƣ*G lv6#6A+9\8إX ϭg-hF6;8#B[/\3*RKTYIB'jZ]K>|39LaAimt札F @~` ӧj-6fW\K oA"AnGWKިp|ry89C4ac'grII#\7"Jqc*N )Y0{g3]%mf8H=kܛkd}^V/pqv>ۂ {;W6kQQש⮋r '5#u,0@;KeqOu cTNWW]KoMK JyG#[7y;q+&X+uLI lv\VnfOκpOF3Jkɟ+(L!`'#>{2# TBbzr@|=V瘈8ՖYam͌)ϖF?uJRLR0 K(6᷏@k#O*nV% X빤a+cq^}G~ՌdR:{ufaȏr0uuF䐬q<]͞YT ~QSޤg|G p@#?eaVupWd3*-3o3Lȭ贘=L$7 X88/m3Ҿ>jVb**€>u4Fsõ)sÎ##'S8+|K2*6,꿍T:_ds֓o;?,>&y!IB߆N9ӎU ;6wr9NZkF߯Zꪑw8~$grGҲ5n'Y6^sNt5On sc\ɽ9;9 ~Vz34VȢ $IlqQQ) c-8)U|~#ӿJ>#0 H9 ^1PeJ 9$Tdz񚀻/m}qMB)}UPrY㐤ZH/p*sވ( YHvv`8ҫ.҃עaբBQl6z ?.ӱce;I9h޸==i.ȉ$ewwH;c8(˸.ri$xPhPq0pF2:v~|n-Kc,=A@HD>䜌e=17rhc'^SD29P9ew\v〟 ؁㞟ZIHp?$oہEqZ1r UUxr2^=[$29ʆx( 7zִd0 5-a-i;wn라ӧj`0A`҃-g?/<+dvrJ\6?(ӿzZ?;zH9Ǯ3ڝs.>Qr~P8˩w{{Աe@9'#8GJKq4[ Cd){S#prp23" U2l2 > RC99{= fC5a l=8yT@`m, 2` PFv}OIqSQI8*s;_1 1|OLzQ3O0R{#*On#6J!L1傃FNCwX0Te`~b^=och-Nrvy,aIfpH`\p3ǵqq1_F7Fr: n+t,%IRTc\09@cae|ē8RzB L1VNkO|ev\d * 2j]N~X|yc? rg"<(%Y2N Hy4ܛjevVr?>FcGSUqn;\SjBo9W Bg88}xjMXY͹scҗZj G;[~ll%IǭTTv>Z/_rXm6+YD]H>;$|#?<0HD߃X` \sw;D#;[q#TX=Q8fB{>Q7|x ;jH?H`)=1v48rp y'H$ # pwt<5禅(_H@6xx*GOT npy5HrvU@^q8Pz 8d֥TMǘ -#sϐB`C'oCz*l"[oH䴘 Vy. |sh&dy f|~oGQ)pz{YgY|@p1oδKfܚ4sԴ2B?G1=7tj2+>F}krӒ9rk~>@s4vS8 ux8 Nھk'9psW~٬bm`rY37Ax{/*I _8cBQ7I 9&L.g$_BkZ0$G [bP*qJUJWe>5˲H=*Ea~k;cÂZY#[TJwrih`K3I.ؤVcHUXEniD`$D! vu?jp^-irſ&{V&z# uqҽz4\E4+Dtݒ~ ,Tܦ<1Gq &1zv 2avS\-ݿ6br@ck|G|dvF8QF4ʣ+|Hda!~eR#WWpͷsHA-؃>;MFȆUTW9.y<7On;d⢌Zd*cvNH'`g~9#0G9>䞕յsr0,rR1F9Xc |FIK5K:H[#̍N N;`]T!Tyb33:sW^FԐ"1%TAц pr{ynNNx9iܱR2g9=ǧ*;n`!@b%>|Ǯ=UXXeتrm4z1p9H Gn؞E6>vʧ'-ACBZurp>tF u)UC~R::`ֆ2,$.79obT?1q[kgߵRBX̲" ps榢\&bFq>@Jfʤя_OZhFB7P@a#\ 0p8ǾOB qF[FÌ 2NC F:[,{䌒qsO?28`{`]H # 9{p:U؜N0T+I 9 {8K^qx뎕(s*럡Hp9$󓞜չ/$gߏZhCIВ@ p3.os1.91ҡc}qϘGqϭQ#F {vspEnî0z d!8_T/9w~ji]sdXNG<_+H9@{ۊÖW@%X+r@/?:V 1<,~^yP6|3tqL&#qp'-V %wpl_7( g,?(ς!rx @luw o8瞙ka͎7GTu{84Az| o&LL2Y1 m<0}*[g Y 84[:`,1GcqD䟙<wxW$gl]$4+cp %=Z,.8$E=t)L.sp[?1`O!g:T[  $==IOP;pG=sϧ'6F:|ux8稬獝@C d`>k.夂4hBw3m9E8` $!HfV(@=0GVw[8_S1ӎNo@U ۞dz %{k2L$ǒt!?xk{E_.80d,_p~4OS591a< NGֽRh> s=r3\Vwt^un![V\| 8\ܤU8~ r[OT=MXZEQ?6~\_Ұkg"9n?k[3=EHlZsdy;Ҿ+?W?=׿9+=N3}xOIN9%sH~v^ONrN&'8N?犴%F72c'\`I_m h|wRIČ1geLsV+=Nɸe$`}Ҍ:;\:HZكW@]ǃ* 냜ZrNg9~R*} {`w3W1.݈ I'9'q6=]B8޾,cC8=sҔ:]ۡ+Qblʧ8'*fGGFH*0{")_@OPz=jO,v+׏ڵЍD1 vߟT<8# =[}ċg= Jc{sD"c:`}Ǔ#Z|1zm@9_^O(~g~`Ծ_SQ%ȏn==sSJ;b(\O=Y73,hG_Sh9栽n\_So|:ÿC\휌#p[?X LPsv# )'K.T7Lh;@޾MSҼOj"cSͶy_3I8Z;mDԥemn#x&vfǕ(|:|Q1Bwz|ńzn2gҜZE 7$jF%l`1 7bȪ1%$0#wc?ZA{I8zw; $cޝ͒ 7p:hf;erC1$:sP sʮ ,pqg$O;j$VFw#= qӵ0$BYrh8~^@0FGm\鞦nszdmg'A8$}jv&x'H8 ngՍ x' l4$@fsV#`ehQz98IU3H"#o! gRI?1sw{Ib>26Ӱ6I|:Ra`Ctq6;bGG¡0Rϟpr[ĺ$Z$af#m0߽aJ[ߡ5֛<du+d*'m=6H!Tq3~k/o ſ92Aʲ=qS-NvFy\,*˱ こxw|)}A,#cuf,?/( ATǕgVhбg`>*z9;ǭ'+>nF HNVu2@#α7lٹt 8 8z{NNqG~Zz ,`ˡU%I&V+Cdy߀9{ ])e/3:rBl1o`p( zW;B:QnsZ.t~cЌ5lۑ†xAmUXcFO{Q:\uhݞ{Џj: Pz㜷tW'[?3i62OO"2@:> ~<?R'@w7x'\L])2 @svnyG=I?OWpcs=~ˆ]Fޤc͌ gkwmO_?\t2%̧<8,NOLr1y+Ȭ;i-pu c^):_r>wn~9M-G,п@^C׎ Y#'8==*fH}' v⩱=\O[uǧ=gJ=;~^iyu(pOC:W_& Faj{+nCNdl~HnҨmXNIZaw21@U3y=ha-$A郀29RiO qJjH$uC\wBD)8s畐#0{W Ys=_^ E]sMDnU' B*m =q}/.( 6j67b1aFMn$Ϫ9JRܬq1P=*ݵ[kkt? H *"4v#2 x?_<~9pFc4Qav$A`~hviwkFשv /tCz242*pC1c*zޒlcBp m^ 20#pT԰# sִD200\1!G/\Ӯ6DQNӐWr3OsMo~jzOdc̎ |d8b~\I*S[V7gTpv78)A5"$[],5L -,* y1p1MM1,ك̣ v=3[{9Rr֣,^j1 Em ^@=>in .`96q[|)>juno 7k x P.4^ HJ7[{McrlV"Mi>_#>bz4kI-Wf9(;5~i1-߆HKI`1V6#U5[ccsiD\Jz9U:IsǚdPNv4[NJO[[Kye|ƕfRw|8SᯆJ`YxP¬s*%5u'fyNs({v<γ9%Ke˧uFW끐OJe>`rlL*]JSnrp{W<=yd_&zu~=2yJ䕌FA5w$+0tVm˳/O{rWݕ\$L̳(c22yR)njHްfFPxҵ\YdYH7x|'EȴX8ʩ(F:u u1N-=q zk̑,;f 7 |.RJ̦"&" J89*=Vqs!8WR`|o9毲=JAI c+cvl'I_㍤H*LyK5Z"spPjI=zO*| HE @4&8[c֑2c,A<<⇵Cq.6۝{Vv6B%D\}cb"#lr $1g2};WAcAۈ'n3:@SỊ$ 74@_-\<,UPkdجJ`IU{QAbJ-iF!_BKSXK,xg\/YKSh,/o`!e.1#5H5 keDc&e2HsA=1Yt[꼎X!, ;R &%21Ἵ |"n@u%9; #qsΊtV Gma|`RSd|THG^=Ơ S&(6b@,<>nH,O΃;%=;M+r,hX~YI=(? n:p>@yTysiOoF'n^@Qn®IpcIr gjڻA;O#7 s7{03亸7$;sa#^᧘ M,v8^3[Qߑ.J ${D~oݨ$t =+&-R2;,H%(qة=rJt vvԑR%gFG;S7GLs$c\n>G]9k;[Y@>¿:;c8PNCs+29+\dv+3"]9M^Y(|<13B!2A< x^\-/*9R+S,a %6[D⮹i{stUX#e1R8=8O\$s@k+FA|sR~뵾&m{?A}jͭd:A r#z|+o] 7H;d bJjϭ;pY^\ef <F$vL}:t_և85Ԣ٫\=[I>Rӎi\kC&3N;=3?JiM7<9ɓ,pF}:RrIIR؇P?! :6!lǹǸ?1$$㓌L>8m|rGs#Ԏ灟V2}1O(y  }2;PЌ 'IbBcW5Ӈ1F!rx;&<<[w:]7XH°p>Fp0_>wemqoRE>hdy:ש TG֛ݝa\n nA߮Ey}yXPkc8PONtMi~;;oE>Yv!X( .3nԟiU* In.΃=+J4~FpOIB8e #T89<ͷ?)\g<23Rѵ6Qx#ߑ;vU'+tep >@Jw~VŽX郍F?1D$v:vN;)9`3( ]rÎi0,Bn9O52*bͻq9)$ ?V%W:j! }vܹޔ'Sx'g31Oи| g's^*v x3VB9'=i ZKEu$zl;%ۗ,+p}{D<8_1zI?Wup2֙6Gܩ;,r/xL6'VR۶_^3^&+Uyvf 3n2{| ks0*θA_p_ l|͝ϩHD \G@Ywsے3֭v1w63=9fs\lV=:([tWqXhN?ɮ*ޑ`;xCF(`W|>`AT7dV|,c8hخZO ۟jG|'Yݞ5戣@%^w-/r_+p{ \`ֳk\[ۘɓT-#*ш}Ēw7>õA%3 El0S)9^r*{RJI[BK!>]rܞMym0&U9;끑T7}uا-1l+, 9J)'%NAFϗ݉Lѭ ƘT`l%@Gzf팧 ޡF>֟S8rBǭ^ylb8 7/'*c̈K?ۀܱl 8>*cvQ|Uh˗0(op8#'f|RFX%č*x>v+9oޜ<Ъ9>Q~b ''7Ng%Nϕ8)Ü}+z=;@r9!As9=&)Q7:;m2enXUIaMbNA?pך4➶=6ٻp@;NF:t~5bБ;xU?[LgiRrKg:bT؍۷3qdjN yPpӥnp(Pþ0H 6OL3)8q9`dda6PIGCkN+GӿOv>9;sЖp qzU CG:qvҜdi8E+8xOEOy҆s׊W!BvTGF~VSF'2TRh|ʗ%Yu4-މ=ij`Ǹֻh+rw3zJǖ:|팕13r7qƷRRh1 TuSW<2ַ5[;IԾ;}=o[Ȫ $JrI^x-~c~@rI݂[`p02+F92dZ9>5nDr*j.`=F+^Xrوf{~?Ŭ*lRv >t|E#]'__SYj+nǨu mn `T8S+Izgx|K-2N|U]܉FWW. }7Q۩EZkK ZO)I,Y擐[pzyvq? ܛl%em%}TJSjw7<5O<&6%Wbw;ޅVW#7#;a^FIqVRq>ZqۑZt3z&;# /O79OAqG r?t&z`zvUspW -'3}*Dŗ~$1P8?71Ҩ321>f#hIo y#0䪠-É,GA֪ X#e㡪+f1FB'Z]+vq}z %U2MI+s#a8R-DKm`2Ce={:.J}wt8: If^{Ͻ8Jq#}h؞3†BK/@xV*.'r' >ˆ.$(t7}3߸oy*0I%aqsxV%߀TuǡjÌdr>㜞*=Np '${jdĆ<( ry#-y^s'GӃK8%0U@$ׯJf*Ē7 1Gs;ڞT~e# zd=)vp0 $1_E3ȧyA³X3>(]G9C6\89*#*H9[K8aTO@%`ޜ/lMJrFAݒ3jfqx!W* =OJh8ہ֝n=Tڛa`d uI=XEo %wp#1DZgFcUޞYR^oRsqHXg:*4wi&c+8p#9UһYI%W;\uvrOS/ivB92A8:~5 %'Ѹ>6Tōo09#qssޘeGlF1'NޣWw |sUfnr?C:TlDW?t9x9=p 3G1\]~6[3PwgqQyqpݴFpk;r"H Q֤  c>$hva -dz&N[$/]ПҹJQlKsvdcݪ(@S\g=k)[6/%J"˵m'wv˜md0`; yF ׎2k2{3tsҥ~~@+;|qyBr9R#zpzvԛ} ˜wEـ r~ ܝpp2N}iȖjdr9BvHx=zرw9uH)ջ#Un@v#G* `<溨|Tɉ^Pf~NϷ:ӴceT~waJer1FINWӷӥr7!-r6Xd9sּlSs I3ܖ8l|g/622Fr\s^b.U=t##bX z2 }?!xh`׌y a0$]1rM=}jgtljdNagrkڥ~k1.f@,U|޻)JWN2ֳ 6yJp*KasfퟯLV)e#;c535Slػv0uIP:2oƹC{mɍ8`\yǵzVۇ4jS~fճiqzvync==JKPuVG+Dnۼ\1]ŵؤ+FtYJV;Q="Y;Ka?{&XzvVO1tc\w }NNX] XHwWv9^A؞5@Jxd瑒;5`֧Pv#,ņH!71'G-ynDX $g,^/7>VrRu)"+yvFH==Al'DInr +jISG`9Z? 9zKUۋJ~gtIA0Kp tN ^G34q W]>B8wqqgJ ՗*yj2c7q.#: 2 ӿZc`$A[w%GtGfe;@Aۻ8ۊ,tiO-lӽSI2 ppˁ b8p8}ОaGv4@(W oA臅Lr@^:> Vk*+qD UL3\UqqcT1Gnҟ=O'=FltECp@p38ǽU`:c3s@Jl$mp'V;R6V^ioNOLK`Fs~G5mG> 13=1ޟ؅y䢍# O媧0B>< _OKsdn2WRr9큁yq؁BC |9зjCvRm: UVOVI=O*z`q7237>Ո&GBFHgt;HЌsT""9|H]vv쏛sN GMܕmn韛GqyqWxV$$qKascP3ROӉ/M_cFY8×Py~VeG~S:m N9ִܮ pc!LܽrI~a|۔3B+r̀89 :S`pCbwd}Wh;H=FтG~; g}1Z*Kme0c$ 3ֱLxЂ 1QϨQ?{sުg# 16O~eoO#O$bi~8E%8۽Cr862-Y \b ^8̩x'(`F=C2rGC[Xd(WT>7m#1sL'h۽g `ҊHmVVMq`2qUm0RBA;kf aU[2i/m4f@ nr9'qMrB:2t ާj:NpnahŨ"@/+SQjm) r7'+54ko3]a޹zc'=2@府8_Ǹi=_.'p=3tU!d,#j/I<ͫʱC8'_0chԜsՌ|  d皫f%yܩKTn3 8T)!i'نEi'i!`\}I^GscM!#SE2Udҽ>]`pAg±Y'?2ƒ(ݸpxӿ\_3\l89#?Ҵ⍜%.3W:{$T@dɧN8ˁv_c;j9{"}wg; b>cF9'9UҦMZ$e- x BI$}7r{c#޳fc.3'W)bqK#> ?ւWrG=d VKR30Gh-0q8݁{֊}I-H'$cԓq*Wy ~"fn:1~' 2i:j ÓPr'*dQtI8<VG9Wbߜ1=T%s_zt-i\x\I9ϥ9uPPrNȘj1Oc=N ky\tڏdLky U':V2y FI3Q.;M2 #>*(Mf5%Xd6g898+ڽ(0ƀ"g(1 "zIt59G`$!q|\B6sK)?^ =T{2&]T`cǧMOl c#CRJ3?LnR3:y@ Pݸ?6`󎞕b6eH wayӎX {r888R)l䝼CۊLLy'Ǿz|s_cl-]PfV$g8l px ŀ'q֥u6F#'$o]٤nH˴9!cM Ֆ$eFrFY%k;y>@NH89bd,@np8P1Ox q#vR1קnP"/CX9㨠& _@灻sީl#N BG@dH$g; Xxqۡx+q3p'n^*F;}08fRS GeFF y#uc}a*@#>lrQpz:w{*) +.9pb\eA*[e?.rhr(5U2K8SIۀzUI_tn2DlF?8xKV̸ǒ$:9γT`.ϕJr s/Yؠo%9XW#{t)%tG7*ݒr8 i-HU7lNJXKmh[<ƿ(0=N:V-/2l$P 2xSXђ~'\UeepWh yr}p+t}P?Xc{F) ezgx;q#81CzA`x+ZVjWFsS-#BOz0zڻF.[6.U85In#ivOKg -ݓL@f;6~vzŤ= hZ1 .1sx jf)+7I=S͏-vikkwyZCfǕgkg0\0e扬˗!D:%RxJR`ʤg2p,f&7ߌ5>RI +; ಆOLv&SypKd1z"G{#(e V$ ϩn6wob%$@٠̎HUw0zEg H1gn١~89sѠ;W SvudG )zz4 7[QF9Һ]њ+-hl-Vì%E ۚ6eU|qVbJ;*K- 6t~;ٵ-< \@@(v c8+Ѕ@)n`R䟺1kWvF s(do'ami7Oݿg(I2 e T$:>hβ+Žq 9zW;ZkĔE<2c{ pTEuVe, p,qa\CX8~<϶סwIWI.#9̖e/4 nF y4 )6yuQ241G$~#4j9n;q[#qvcRQe/+9sח4c??QkI}}j{$eW30O"FC i k:p/-E ;_c9()SkUd]'?ߧݚVKfF߀UQR6c~iLeHya'φ.&y\ÑRoOjKb9>qr08{sOAGP+?S#pzk"D8 3޽H"^9AO㏛֨h00z:0ǭWm>U`>Nݜc$S]qӷp?ĞJGg 7ׯNG| /B#*ky `vOגk$Fip9;2GzX]3y經wG [}kIqG?ɻc2v5Ajt:7) ! U+e&["DdF̌>A$du.cnxfXH\^\pŋ)ć$t#dQxzgu*yi&? ~킃"5Q؏nݜ7dFg^Fevnr nGUQ$F:NsB $̜(#$SJ-NwOqhBۃ$԰A=3܎:(Rzl0,os0G*2F5.+02T 'l&wnۜ皮Up0;u猀G<sS3!tOJ6-\KmrJ0cRiNJB8g9=ZN*ƍ@rc!~Q5y.6bPO.1tinrΝ߁wUb#k,1޴WTWR:F21g'+HC9Qi6 X5a,lc?Ja_ 2v7 #־6yo^eP̸=FO_=.匕}z)D;#./!BHʤ'Z0ӘPk+0?0>b1 3Ǧkюߙj_jc*l:i'|n$I;n6@g=+ɆDڟ2 a猪xDfsm"ܤ !(\ދn12kԵ˝V$1Mcm2t fL;~k-iqI#nʁB I5\|$<8 +?x>o%'8J$-< O7dw#֓N8edXm =lSܥVB d$ ~c`dd4 4[ y$G(CySI=WXž̎&NDCc Jx&^L}NX獟8,222tʪ.b@<Z~a ltbE)N2X, מvi8}ܮyNݾW'ub2%q!@#;c?_ X)|æy *^d+΍(NFpxCVaVÅWU$6r9+~=&XKn]8QbGhv$du^W#.J%V|G;8c"G$ |ADg-#WZ=&סƫi7I,ÍUC>O3F6bb7 )jjgiŝ޻=O_S\ N# GH{f-"뼂[<6WGJt"N\s\R> #>Y!U:sAJӅv~ :Q}D ; {{0xA#tqE1j߀ޥX*T9ئvn{'pұZ}z5F772dqВԇ*I#*?ՆH,9cf#3ex'e#r:?P] =O0e!I rWxʮ =k2+kY#z)J1U#c'y,H1V F 㑁_MRWGF:%K呑DhV'٭U1 `̊;[8yh8#g1Qp}HяLw8湹4,Ep][+!>ϦEj%)Q5ln8rxa<jjWhFCkr@2 ,1zbxVe+'+냏csV,mQ1$b,8s^xvKdt}WGKR)5h?y`ń`6#JN8aBRj6 \ u O~==&xeX7Pt?JQWoCэ>HWv~b$/d::9ŝEB<YL Y.9q©UyJ۹``qֈL\3?L`1}j|OE$vsxFL\yyJˑrvۼstJIcF2vn-UyYvq=çZO} _`MvVAP9W~tv"0` %o5qBzd<XٻIq!qv[RFuQ`J?eȹ| F=p9qJV#N_Fqf1g^jQ F8<9=ALifv0~CTɝ8q u4o*;g=B?%^?qq :Q` aQߏLtac8\sx6XNӧa9'_Hr_0xU&l޶yFI''*N\ZD: >nzqU%ec6ظy۸ A=0H#kṈ>^9⹞H I-8RwldF})Kȅ-)%>_-@ӈU7RU 쎹x?vq|ȂI;TqZn8=O=;Rb1%0167}H!{.9{T#vwܧr8݈O#!i*߼lVp:Dn^8ߘMH `ۀ֫'Ϻr3Rm@򐭃=~U>\`g#KjQ)LlchA-{c֪AMϙ@; 3׽CF߆ܣ%O\;7=0ǜ( .מx׹Si@D ӜctN%OA ]zTkny0AfgJ%v pB6ܫ1˞O#Z)YnLcwG,R @=3o nnPHF]2g"Z-庸ĶWxWWŒ)6: zV qESGw|46Iz lm1cx/<21ͥ\gy$VP*&| 9NOEY\ۗyt]h xs;XoAE#/Xy5J7&K`Oe:Fq[HI`NI䎀B+ȵ D ?t)RAsǮ< \8*$F? ǎy9^v#s6bxdn#=~]XYNqr\.8ۓzV,*-ؠn =:v7Dxݴ.pyc-cy;O*$p9s&.qn5/Qשiv&ʻ}83 t DId,TTBq*;uYܨT!!sGnjJ[c(~q]8ݤ53ӭ$bnm1d8zu{c uߌ`6AQ=kW8Mqzu{46fE.@,=8q_Dq,qۦ8 VcSƆI[5Z{zX)G41ҭ!i_f ;cNy51AT3W`B#V)`۱NHӜR-"%##б/cNO|v94Xd'*zs#֎Žn[r<yǚUG;=я({`ÈFNXP84PEņ<Z['œ{W>5f0wo`~oÊLrI'0T=OYY9wcje#N'PLr>cOnխI]ø%33*2pwz{Zw\y9\`׭sF1Q gF)(w O'~p{IDRsӭG',>b;وJ9wBA)A3ʬ#6y9wJ]qД=JqnjghISA'zSBe\9e:4q\Nqit`'9ޤ*H c/n8A$!>}}*('*[#Bs($S]H/' ` ag4$|cp{ڨC,1x:\018אi2"020;e''S2C8ٸ|1[A}=Pz}z.&HdXߌT`r38zʒI,ͻ‚G''EANz v9#I*n?)z~r@8  6pzS] x?xlX3>sxz~']I dq@\cۑMW6ݭ1{giI`Nx#aYtty8<`㠧;hbNs{9$U[TrFw$'1`ҨEcrnm=~⇺B2y t9>cIHѱ &ѕ ;>Q׿8+YRsr=pMsMYΚ:arIx*X8NAHX''7s֣8b˴`O޿)n4 9%!'NFs=|ܮlG>!*8q3ip}؎Ì{ud !1 QXIAg.`œJ(EٗL}='ӊTzwBrHǯOJJZ%'C z'QTFzuNoU`<k1R rUb9zyLYelJgYUZB8[*3h+Ё؜GR?+*YKt'DtLu?¬OR08'{׼jJ zsj6#eҠ)OC~3_!C}D/kWSi[;VڤQ]啣 UenCqhgkJlƛ@8 /9dp'oJt%{[4$m )wi0s#;⫱ۼt҅8TnSwmɿF%d,I2 ۓqrWwm)Lć]yⰔճjq9AaNBa_B1o1X$T9rAZVԊw#@3y727*Y8<ת"]͓T TF9\b!GFa9ڸK`CNGaU ɛʼn꫌#[igGww*YuVj`6/nhi$f}/=08MY.&T\ fQǟG^exaDnVT-HuI/Q Q]N\W1VF\ub'8x(6mr=yJܪQMݧn}ǓjWaҼf7 s^S'隼]LVX#8 *emas=y*nj2[kٗ@wwFqJ0aC׭N]R"PrC'=kլzXbNߺ#n2Uz i{s}kk d hfi\`){;XZH5Γ5_$s\DvQ6s;ry4K4Ѓ,NlN8^9ǥgcE+QUț`/';0x㎜♻jwTI7o̚F>n c prx(^wa~S#,;gn=;?8*]7`(n@m{bFr{Cfsr<U*}xT7A+avǠɨ]] 8⩰;'۞i1ѝAљ-0{׊"aPsۭFhSdP#}m{V,[Pѡ%n0 #b5VȔD5Dd)~ 6qیZG/fFfai.ORrT`0>5{O2<#&s^RO"|Ibidi1˱Fz z}F9Nwgms\ѷxlQ [F>Gnq^ ӓϾ;r ۛkqP>=0L!g97ăfIR@C`QoTxΣi=dc&p8I'JschYYuQ}F$R$I\lLU<8kK>8߅B*UIA\wkBo؊^F zqֺkIu#'>kʖǤ:hepby8#鉾g#3`#ЯjƶZ9TO mNFN2 LzבSFc58&QsLp@#H{\D=8=w#q{*ӻp<9wqBs>\ǂO'<9>m$Z셔?9`v~Izx׮x?i[u5F_ҬAPW߿֚s@G5Դ9{zWBSjS36?FJIӯ5nssзVs~eЋcl=N~z=50w882޻}R,Urx{sWI?{JHAzcjQL=sI%2;M<}?r1=?~ \2ǰt r#,FN 1uڥer q*ENn@xy6vw+~ :O^Szi)TPr }AṾfq:;юFcӧB=xh~==kҖlNn ?.?u >0:vۡ ӵ8^I=GT֋R}IzuIӎ1JEۿQ8==}j(#=8uۏҴ&$Ht >]P$W>C߯j,ezpG? "\nO,2w)y[:>9Ü`~"R<,…is2<[~x'gvI#* sЊ(3^mȖ&R@\r63psҩg:~n=mGcݸ}Hq t6άv5ԕNެ-m/Di.U4 <n+q{wżks[m]+0u&usXIP&i=43/'5Z d8{a$2+)M85{6NJ7'i*/N#HX1ӌ WMy\L"ej"O Xt۵k1-?w)\BQm藟c?]7QAZZokr>mL~`/Z@AR܄v<%-g4ZNk뷩֦B+gM ro"Ր>sr+_w0^ܲHUX `vSNWo= Z=:v< IUvsU~n0dx0m{!O-rIr1!j'}<׋&i@[bw(W<Z˱k ё#* ϧmcN龗:]2=c HWIJ2" p=LBZ\G;h\}붖SԼWC4 A.ujQeB$fUf}ÍvܾG~[bK\':Ec+o"Ws`Lmn$&t#՟[iF+D5=IJIJLw~~]j+C,ҶUXn#a2r*cY.&K,jmP(͌d/8ukOMh7`$du[|n_t8#9N*wDdIkom[*f唟'Zclo+n8g^H#v5fFME'g|7Lvѱl4%^خA>`5M$?SjXS[uGqL Ͱ0ݸZ_ A{h%xb^}ZGK ]P$vvQrHwJQXdw3RF0x9F=jZwE{Kŵ}m5nwK(F$d>{q̊@sVD[*#8hjÌ3Y]^'l; `s 宴BIH)hY'y<5SMK58i#rGBngq uzVŶ5U u$ڒ|]]}vI$6vS|!Q;ItȄ r$gޝvMT['c4O 52%-ǚ- 7rɻqkos?l.:^8JKJ~Go/h*dV#iTg$,->XYX":UXAfm$7'1TlBv[,NO-O8F- i7`sX)}܌9~ބUk-a?2 Fx8S@vU-f_teVmdw=z=]+gl3e|#'k2@C"xxBF\!}h}>iFvUCpc6*q۷'ZgR$$eUÓleAEi8 dgKbʠϸ<' 8^Ei:֯i$~v )e9kuiÐ4υ7ӛ7O!eϯJ{?,1, uSZI=o}~G;eg}tez!E*I nx֨ns~c.\}[w?N4zAzTv<9>E;Gx~5BeHl `# ?AV?#ߡZ#B=ߏƫlqhGC `O9czÌZfsC g^?**@$HCr1D82m  2;#7`B2HGjv@A~G jc+A3H K20ڃ`w85#ns֎5nl#Uj>S1s zu*X\rr`q(+3WzJRZǥqX x 遞Ǥ1O=3*'9RBŀdc'9QʺJ_-{"Y$2>8m62IބF3$w"mTaL;J33^[#(r?9 q%v;dʗ9CSdeUNsO7C6F6@9}GSk9ˬ+`VŐ2i'*,u$R8R,U>ZہLB0cϱpꨣ<~pXg=oR Xl.>MNOɌ rzWFv~ݒ3bۧsjOȒ2R#%9=z 4AʒgDh{w=+xJmc Ǚ{"C$Kx N:8@x H#Ue2p푳f '8ZaF)-0]aȗ@B_qU1i`v E>\m#0@9!0rFs߫~I!%ʆYNFHZu1u`6*~tfP#nj=>󲬴82HgXpE#PIܧpQ%+3o Te+FydyR(ã6T" :җdQD2Wcv)( rprOLS, O|X/O)Ć6kN|#b[1QmGc3/$f8Ӟ< 2c;XesSU;xRR𭽚yd0Ϙ}zԭp"XWify$GsUk] b5oP~9;~w*Gj֪I 9kԺ!|6#p׎mCEE rOs4[uKVNVF6C _9+^݋*!V?NZ^!ѝc;ʮ6AԜfU rd$.II11_CkC7nJʼn %Ձa(du=0y\#6@\7f8+n9x]K՞%FYbAgnXbazc#x'."c z[;[I%vbi6+u=.@"H ɟp A&1"6ˉ.rFv` ؇Of"*-`l9 Rh9G`mdAy#ڡO*1$v2L* ''p]9=nm1W.YW˸Alç?(!,x}SJ qh8أiHСrXsQi(cz2 /ʣr بŻ 4]m7Hq(G09Trm߹¨[B٨hl} g~id/ws~k˔#Ѕ>U&PU'qК Crsӹ塢BV?(eX|Zb89zԩ-YvسbJ>srBpxfUWolqʹO'Oe9/D ᙗsPs+<[L?=sn?3RT29Y|Lc~zΐ!#h߷eNeIT tw9 =ı;y_\bĠY$ ݆% 9㞕h&ۘ:קgi'+8y:V$K 9 Fn#$(f1P iQTV?u˶}GB[q*5230-FR':E(v'$L}i`( O'$‚yG51G s;|y'ZOa*(*vͿ `r$D$doFzUF>f<;cnnyȭHWiBPH9ɫ[yjtHU{xeYw ʰ-wclF@鎙ͪH;W'Rs?# oBڠ!qZX*wn}ni|$AtSm<ҕJ?v1*~P7|Xs9 z`8S}JA# $q~MnFK iݩi(Xܝ0>\رlUc89 uGN_BZ" 2AvGmqY_ByR3yݍo=,d[<:瓼F_yav6 7ܬA';HhJ >vN\ m|3]Ax<' PsJ׌ p1\`a|cRI`*u<jR'ubu\ 9꾼+ǞgCH+ Xu!Fs֥˴d(ppH+KXZܸJs$z V7/. #<ӥ7&'t$nUAL 0^:UB$p`~S霎#\ 0^FT|1Y%6FWᶯ<ЀR7~ 8cp `t׭.Mq d;/LsR'Lx ^ކ`H#9)ݿ8~pc9p?7Nqsz1jzyXR@1qtE6Q#uxS낽}ryeʃK!O-#9 a^T0vz Ԟy^=P7#g%JL2,'`ǯ2T?w[ 8 0\`qtOj?͟8cN5ReNFjz 1%7UpO9n>#?x8ϠE"r8=\r98ޥ4eQfx';SD^& &3HSmbpI*Š u?CUFz"ɓ +8?hkc)>c+~H:\*MDW~X ןg*8mHO1Q 2Ade#nŁm޽8|[hш#&)hHz\:Zc ;1q*Ԯ#VXܐJF8=;f.לqPD$g㎞3QiENAî=8ϸ:d`2:pxCFNYJ `5rr+-.Dy,T/qO=k@+vdEm:k [tO*΄m:sg T[1 1VecZ>aSK ApN2\JMN( ;N¹_BMV&|]vVbd+G㚂I&fSdb#v9I37::[GfGve<`v^ˣG(F=&6cI9GXkBNv$WSmOU7L +Bݎ~v-k(p8iyRe\yBx9kf .;st=zxmRfx+cg=2x.W=Oz?cS ~C9<InlZP7YͰקZӒw_6X_ֵRc'vJWpr=d112OR;uԦmO`F1x'+{hI8|XxUԞ0zg $LB8FYrI;$zU"#8:$xSZqJ9$pN9GD8~+9Sd=}BpzѪsCYs~:du;=;Sgs?!eO^?~Xqyۨ+Xrw0unv-熼=a,Mq[!H#HcU)+28yV @Fm$>loSۊ+WUr%BzH$}@zVVЙ…l`֑tDOmk .X ˏ?L)TF=2'bnjs:e{]8? n@grFyZ<7,E2P `NmѥQ{KQp1'ˌ`+? # o?NO\Q(5L)cPG̟wZ$`@$_JIݑR1|s'0kUbT=YYT]SS[DL NIu\vQo;hĆ0 qߚeU(/,CNx OUxt`aGoO:r:s8<8NF0=5N9h %9q2ӧ5\/\m8=iŊKRʨw8XfE sgȴ]8Ps~=X?w)!Ќ rqڰkR̸G%QqEG*1W:Kːr3l~=cV<NΩ"OpqY 18ŐF3Gp+sӧqM00ssP'rI8=ia#UBstOP yg=ww'\`}9>=9R}y猎=~ߜdv4 9q:zgD9}(%Љ}}?^VUF_PQ֐$g7q]n®9:9kB5N 9#FM͚ȤH^U''ϧ5j:VœLW~5j\V8-'*W99ʹa\  &!N>oq$ghBz ܎8u:LNb$IyfBK|<,:O,FwcL2U]3e'.G?/͍炣cZkI(f2Hҽ*owu}yp+E$,${q*Ns–+ʧ/z.zcus[< I.|7CexxzI32 XmkpNꏛaUNn=J#жYi…}Cm,+6Z}ZK0%p@kʔegck^vNcd6Hw(g $ Ap]( W҉xr=6H5U@lL.Q,X DCn۟C,=PU]e$j9jEQ+lZ;DY~ل}̿g;wa+A WRnc w@LgK $nǛY87.Yi:ɬfe؂6y9bU^_N,y\FJ8Bש q>{Q7Y64]ۛ7?0.YIǴ=y-}Nx ՠLzzJSIJӢVԧ$^K^WZ6!kY,ĒxqBZ2,A`GF o%9&ۿSR8nn.6X܍J4>t=Bܶ䳹fp7$sJ!:nb ngRER'5%~g TDJ\G2Vu> 8sӊS{v4\yNS FwmҪ5$=[`pz'S{G6[l2Geޭ~\rrGZuͥPin_ʷ qP2TAgܴbys"ڵg'/ͅ~YB#q`S4_\^d!!8!TsAtUiD G'] nz4rh bwD#!C8 LOHpFX}F^S[K]f}h10 8jA$Tye% u 1?LޫCAw4ss,^931e=r01SkzӦQj omqc%g>3e@YDduV`; -KVd2k EHÞ\5@rle$3z 3?r;Xv%'93ֺ q>!3Ǚ3ǾL3`zdu[f &`be^$}B)Ӽci8e* Q`:=rz3JSkx-vmɼfd;s޼/y=&^6Kspq9B]ʤ일HKYi:jI=~d\z{k[H%T *0>*Ts浄iT%RM5wסYx&'i$S;ǔ 3\A8*v_#? /<[ʒ r|f0^~^Ҙ[{K1f0G3,VM&&$L^{:Ƶsg4 ΐ%DkR|8YHpvŞC%ԲJۚI*\:`u֫w-}9ҢK::E.TAN.d L6 v#)`ts].66"29rwXmE'JCǀ1'#8Ut2k2chce]7 a+{U"DgWcV2躶iu~`Okqci!oܱm+;tD vflkpi85Jd>݅ק\q]n]}]ޣvEa 73M 䀄ں5#h<=>^9((c>JhB>ԃלtJOu ?JS=[ 3x$G8 ;nq؁Ԍ>̤Y}xZ@fLVv0zׯ Gny3뮞 'A>@UAtbB\tۃČm_=p6s.Gc_քq8IRq@3SQɀ'zw'-zd@F$IdYv:8*I* ?qWT Szr#=>YÅ>9=Hǹ#ZǕR:ʚgF@sՔ0cmnQY @@BOls֛3:IVB=`rwL m,#'kL#6\a$pc'P1v&V/`̛Hc*9ls.]8KgD)FV .9qS[Hsʀ2 6oz8!h.H+<eFq934$ 0qs 8#ӽFG[7u8{+*n<@ya>JB'=5 ~\m S< [j|sMEqR0Kpz!#j]sqS@lrSb腇N2}A9zTf7z'8+)'Bl z8rW OM88w[ka~rp8?犅2O%Ou=}q—PL/*A#pQ<Ҫ%,[6J=d#pPOp 1uRRM(Uq'=V y#a/xƢ'{.mѨ\r8n91,#~dLSgox4ռ`ܵW@[H\cLSBI2X`sA;)Gz̥E$8#?/|s[ws yW}=j+ncRHhjOn*zvNV*LtT_kfE-$`<~ xd'2)0HIq]Tn8^pF9LƫP>S0J{y$l+bHОeiO;n杷F!OY?xO(\V"[ȿs[a#'s?69 ai"b[o2:s]76"%ٱx l~Jiwa*N&]ƥg#jd21М*?M"nqэi$.j+#lzd=D B@9v%w|)MWU!daS7Elܷ̪GPA֥_NЪ׃sn w0+隫9X7ҶS c 6cӹ=*OK6~zx uY\:!vڹeUF0YNAF*@b?3u >B[Sە@(rUu:mwׯ7 ,{#8uc+𵮕iV1Euu%Бdf݁3oV^xR]FAw(rN,)!]|w(MWww#O޼/)g6ZK)7EͰ)'QwzͶ>ef_GoMȥ@||OZͷgwߓG5k(ATdzUlQr%;ga|CbxZ뻏ciq8$G^ # ;X+|S$% 1?Ÿm&kA0 \b:[břH*>_~ⴧM^5J:m$q:(\#ae8=~:y2e)[rdlyxWߓ^wsvr1PHpuq^_iO1tSJqZւ TA;rI5Z$;VM(p0r1_?5iRCWhdf'Cd\Jy15-g t 8 NErLn[ >b 렙č8 ) 9augrzd(N,ŨIhpw$'kVo|y{zs[pWΞ۹>=9 q]tvv9'rdߚ<9beqP>HaPӥK-qGw\9\]N 8ջ-LuFAu$):y !St4Y$\o'<@! 98Q,~^?NJKF8JaKp)2 r`^+~m\F O'weٚ\$p7d~arkQ(`~H#<$V6(kw؁ŋC򞀂{)Ep9v$=yHć ~Npx#AH\xep9Bzm  1#h ^ pN8BF8ک2R" 6L{zs!+U+2iV7l,.X jÕ9U w!,qʌr$8"X%'nq]YO*[km0w.*>qW'H.'!7G@{Rm $O#qNNw {|!8-r v gҗ>,hɷs`2PaՔr>b2櫬6KOz=qMNȎV 2IMfu`7WnGs_acK^ l7JjCq2 `@ uǮ*TR$ke#FncwpA99^D?fGи` 20DZ;s{t;E~b s8SFO_Z\< @,1=m' yvD n~,JeerWj\ѱFм\hSЕc#wA1FqaNriRm|]8Phr&>TǙe UGˑn*XHWяn9Ȉӓ@XO'99]N gtd&r>^N0:nƩ `7,Xܸ2l U}85n21Svs ۭe)FU8 AC{gX/eO~O"Jcx aU\0G'}>@>Bw}*٪9gsA1&I= Zw7 GӮ1Soxpy!cssq֢zHqR 1d\!r͂ ~`Hb9zRԵӂ-߽in@=;zqNߞ\(#x;1wvF\$Aԡrz&xXz9u(>(tgq`Hu;r89kN)0%y˥^ry3:Nh~CH)@9';ih'n9Q>9R[Jf#<`cojI`nc8RluXH;VVb30F#UL{Vjm v29%P1=`z{;9BOcV3Z*FX$c{U\Ln' =\w\bdVû)}'y$ʨ̸&1!,7o<;2!e1˾bFz錜j4HlC{#mp GQץu(AV‚:1N)yy0Hq׃)%'=x:jݽ6m#$1z|]]~]H#Qu fͩlK6 g \;(++ g(6S:dV)^KvD[I+x )w6G##{r-6e& ^>R'Sv<<ƥ3dtIگeI潗h}^ƥC 'o#~D 8 [oqt<զ >Q=©nbu)o@1W5w0V 2#$( O1CZVRî]NҪW6Dn%GE ?>AtE?0`Ud_ {sޭUw1czR 7͑ב܎ ?.NQrYF:ԷҚr9 7b9)1p62+q?7H傒wl׌cMQ?s{Ұ/".0@Onc g^*2Cxdy3d󁞠9$`e ۓqu{m'V y` s׶y@^\68$HZVx_R[N8SB!h8$:=?Ni6nǽ_KKc``c.Bq'ք4gF˞K S#5:hB]@ b ۴8ˀH;*EH Yw $}sNc7k3If=6%v$d`~tӜ1}sӊ.Z Y[ 0>Q*[q9ۻS~9L`07vsǯ:U;/nq9=~IqXp~acUho˜m w(}je*:3%KmQl-(n(\1;8Y܏LskZ6@Gy%I# ӢA Xq.w msMtkcq}!$NP %7p8?xkUI n֚[B#{v){,'85^[ؐN{SֲB?HG?"9' ϿU50}qLG\|\1`эlҊD_BV渖BL *C~[W2}fQцzuޫ c>fipIv rs'$jFr׭i&&2wr{J&NYyI6Nzgu's4$4pxՁt<zh'Hw+/#'r$ ㊟#0ObOp !ܜ6f^Pddg~H)`h9{SmXim$' PO|Ӈ]lEuJx}p ~ep9݌#k, @*0rrHТLewRhIk $cy֠c9^9'Nد8iBQV:0 qn^j 3϶zry W4Ւ!ϱǧ^OQu=Mr&[ic ^C0{i>꜔+t;緭i,V& X'iFU%#)? 5kny#mY6C OP=pp#?ʈz#>JJ*t"G縺νz^ѣ~_m7>RF3ޮjI $6 ׹kQlM%es,řAR9)8ם7ێaXpBsu(ϡJn(l*9oN.j'mԏL~7dsVvѦ'6V9o@1#ڲY~oE@a9r:V+_ݽ>!X?*?>\̮ mdpT dr?.z쎇Wv:cG 7;4l?/\zVz,ɎyǾ;Wsv} d#2;1 \ '>خǵ_=o|Fy,IQА:wErzqo_pyXnVPT53KM Gݬ%Y>fc{lg5L;m?y[ 3cx+J5.Оឹw#H m$g#=s8z'Cn9_eIqSf\mx/2>N NC֥Ҳؿj Hk!]BvmW10/NtږihC81-$drF}qS웶u𶐅 *$L3r3b:x^~VZX"!\G%MƗKۉvsμY&>>l:cJ ֚r`κci{ut7ʓ߫4UUw2.s^ASNnOʣn8IAqDHoՈ+i</:HJ6 pG,Te:_t*}>;Id8EcLHl1OٿJ;e@e\Bc"hPc*͗ /m?Z6(/1PX_fV%.LGݜm%䁓G#"E˘@+CA:SMŕr Œ sګٱ{XOp@ke`uLM{h6}AEb080ymyeY9[rҬ`rJl:<18XyydzN K3{}Įk( Hp@=sLԦ5vUkygN6q(oSR_rų9,ɒE]\9Lqߖk=fVoJs#*p~ 2{g8etA<ֱC)7H2X@C^~sl_@hdՆ\1,2sk Cv矉VPZ Vcbڗw mEtFnNrw+ 1^ǒny{s5l.drF7+*c$|0=%)0 c8¼D-&=\ڢiLL S[Uxr唀OZ屵䇉s2Jf/%+e&@zJʤzNF¶a;2> 1^kh$ms,=L率z}%ΚzuŸq: ZhR3ױP$•HJE&Bo~`6J <'#hRDNp>H*s ;ŵ8*H9Sfcj-x'r}}`Qveq?79V<,`4 \Ђ qs߶+R+Rq N@ϧ"g@zr6 j>9oLw3-Tf7 ㊜&$LmD؛phncjxg3ډƈ?\sO(;N:Jk`@{EIPb>qV9)#L{JCǡ99ALv#9 z#0+G.cWcs0rTURС<ߝc}Śy'=R}dLۉ?X'wln:~NO.%LԪJw`O}4i~Ut-C&6c$v$ q{WPKwv9-־kc rwm cI;K1|X$s:DSON1^ֻZMpGY-QW#|Ѱ(2sֶm6+RYR_T?m.^9R)$E.芷䐡H}hD\mu98E܁T`^qJffuƄ!6 ˌuv\ҹ4|iH2TWj5:\S!,!\!zrE:D`Bʅ]ONMэ'.BĤ+ !p8>v;m.!mP'!rp9k+J#+Lr\o#e*$c'S캴y Ml+yɦbMs4jYbNѽ =Ny~˨n!L{QJS`E&<4c;X4E#X"jF$?|8s=K]\_3KLW ^th M$ ,sjհε$I>gmn,$u\MʱF7Tn?J箭R[rdE!;:q+knKcfc;n@89;4!F ckl (195I4ųrۗӂʧg VwbH1Sr 9[Y~-91)"vϻFq>%Ŧ#G` kv:8{Q~(]Q؏>*$xHy?N[ qȇr`w3OCu{VI%77,i޾΄$Y | 8J7؃8 w]ƇJ_Al~/.u<dbIjܔi~i e06`(\ϭy.JK$E@Pd|Me~'0<3|%h*yRK H`%uk ?^&][K+Qwgmǵx9=q?_Qgee3j8߷#  5aeu5Q9ZXc#uw_TI==~1Ңyю9] n1F=H9,G<nj}M0p<`%O?)3w!UXʅ9*@'ˁN9j9»`6|Gs ӾzusL02(',q#֚iƏ$Lkʮwo'9BHwkRGCdlq߹&iAp19\J񑷢d)#Sʬ nY=}U)XN4袞mYS<a+קD62KǺRr@8<瑏QMxC*exݶsi"AtڸL6y'w_Ƭ PI`v#i%@=G$}iw^]8vwH݌ӭ4)\^5\LJ@{̠rpzj@0}2}GJj_ - |qʃ`;UI"d9ݸsǽ[M%ìz( |rh9~Oć8!U'yڗ?sԥr] lPpq^5!p834N6 ʆi@lX2QZFTFqu9یu5'/`.rN rF#%7.6[s$3+=i8LG:vۻ'U46܀s瀤zsz$u',9 ⒩w>'78ފ9lSY"lpq,JrI]Yl]д}O]ԣ0Z#I@&E^ 9"\Ӗ[i$K*(V@4̪rTtog4y&_e[[i3q9:}VK"Gx;9l vUVz\\F[- O'8N!ܑƅݵTw47RRW-+e7,N{ XWP>q zg M[=(k.ShtB"p+N: ̻J,:<8JVSRvx ';85KInKۣZʼnoÀ:U7e}Eos!7R%4dr9\=E +"LQb:Ql4{ӝ]1䴾\|GIjm>$f_$rdždr 9=ZoFNtTCʩ9"d@79q)%I#5ys ,37PqJed[+Fsn܀sCՔ%QJI8<ל w _ xsHcKsѵM6`eH)ϲjH- r1\nird2x;s2LJ5;LMVՋmNnGҸsy'yDaEs:`qJ)ܦWZw'܄2zGp=s׽lF;~5}v*R0Е˅_ h Iv$arڹ3ݹaxaVsGf`1u( (($g˒83sWm0Pnf8 3H^ץUyaece\OAlGn1בP4_v<[EM۩䈄;0uàa:ӿ 3fhl;1,q]n8~s}uʰ`4ce!<䑒aYW̘&uc#|V^%7U/1HOCMRp!m%ʶ>Rruh-kB 6K);aSqNkC;!YcV`7m$;CPW;|ʒ\l duIow6nl:bGdUы&\|8^xRȈ!%wagُIs"Mb0Yd7nxC]PVpȠHG"kiMb;0=pqTd+m\n{PG~KXpr <~>Tgv-l* \ %JP=iA2C7*/[y@ evw7npsS̕lg9#nv8皳*vsTeI[eKqN.qӨv=ϴȼG<c)XǙÕ'o `g91 CFCC=MK*dOtP9/*8֩5Ғ2~`C_σQidk Gr# ׁЂi>e?6y\ 1}jvus~FFj/s4!X q.m jwwF[$8/ۘ[oPs݀.k|37 e 289KȨ~`MK;|_<@8q8=h36ܼSbsשɯϞId2:.JpI쌚e)n.ŗ w/N~)[K*K2Oc #HUWG=r9,*6.PWp'$F7gOAT2DK0y9`2<~$wd('sdMw9.zzd{Rs)@/&lg<#O$sNͻ9=k^3UXq5n~byB^=Kzri% G@y+b8'$̤NA9>uuԤ crGr;Q/P N럥[`^K>Zp@aنspH:/1؛=0#WݒI2sbduQXGÞ*[Iy'9+rĒSvY8y22!*81PwqBvhbFpץ_ ،|,Ǔ Lc'5IDQ]1ylOSdm 9^ܕ9zT{<{ʛx,čzeF{1ҚM"$0W;#qTd 7;`cQ3Hܻ2\s@ʟ\r{Ӂ8ooFw<1jP  GEXªpYߔp/s\hM;p*9@yi;Q1Ljʤ:gMŻzcvÚZ>L||3S:ʜ]ީ;:.r<]퀻N:.kɭu%c١IB Q`1# O2:rNEQj㖺,x `F[<gR9Ì|s,9,{vǦkLMmlRPR;s9 %vzC{ SRF8vv_{w fKrKr6s'~kϾ"xMo & p}? ISA~Ud~i(ʾ:ws~31#Ms QrG6\(uw}8%# \H[<{޹Yej9`̧C+9v55vCz׊;c[qd/^rsw5[q KcSZTDʖ9ܱ?.FI21 a4aJ@g*<`Vi >3Ӿ1m$docsFO_(b9"4m(NGv}?;qcV9\c8N9:de̛pq1^cUZEy5QҬܓщ?0( {b1P~i`mV}>dN0N|3m:ay)}c==;1qMV`27 GB?֒4%##I*v=*E`FM r,R4gf _.Zثc#F$3pEJ )@䒥џLxnhq*I(!Rt@X!8$[Qd f5C:WSzlխ"yVRgfORӃFn,9ӎ=Gq%s#$tc$jx$%=Ғbd0`jvہ僌pA{z OpBnU㜱#p*'<{nM-518f9qIVqFO=?T% d \F>^c HX5](pX =@2 Íz>@ 78]<7#qN;%А;<`zS@Y  w8j`A8Xcϸ@F9yG3G.qTd ׯhVF#Bp6ds횡KqpO`q戲bnl=8OLг;*>C[n +uw+uNyG NUK n=MV6덓mT @#dO o>QZ嚳gT6J2݄8 .s휎B*Gr.Hס*YFF7rGj<@m9EݓgyE۞r8cțUrAqJL%'IcO_zL@'E?0:ԝ` ̾W D*9&'ERWG ' F|܎41-j` [ƬĖ*xCTAuĞjS]OyM&#Oe X68ֽ>+Y&L&lȳ9c6e6/OOH{ fwA4y ^:́X*IIK2}Wcr hf1,g;N09WfxBmVg|ˉ,=yGi0~6#=1^ei$J8'dZ*Wu?g~i:1O 22tkS#rHXg2-9l<>S`%o0QxL?CPēI8nV^d?t{s+F~U9<`x<ӼxpOIJ0 D:!y^f' ('|8xUNGNO zZ=?1rpy=)eI$vU)+Hͻ9FF\`m>Є Wrqy55XNr <}ߧjRW3O%x$Oz=x;gUJ:}@6`O>[Pd!=1`sN9 {{bA:x=OM鷿W<4I^q5Imn'&v zq`qqvJ֗*:{5c@9kҴm$1#98=x{ [;y1b KAS:uږyd)3 mOWݜu 7|ǭrϖ'*TcWg%}>/h=>ݿ:m{VC ~\}O"'9 +)>W8- NO*6Ie?"<"=|C u2|R+7ϳlt%73ba(*/c D[e.7(R>Jӫ/Ow+SO; =V=Ueߡ bTkbacH*~2s58>nKiNJF:ywn%7 5pnr6C< zcƴ?w/4%z>|֧ex,+v G<ǎI#NIی$qMN>b2a;Мe]ٌq3ߊ Fö^F6/JΚP)g/P1qօw"o-yN1DhaHF9]5}Rd9wWцp=9޻$F#O5̚3y/.@cݒ9+k-bׯxo_|)P ix);@O=i(ik y~rBA*q{ԟbn3t<Щ7Y-4nf43ːrw 9o^ZEX!pַ (%{dqI&3x4;Z ȤګN㴐nPF{v=v?laeE廼b7yXHgO^qaJDqc{VYL9FYO9ӿ#g  x ^Bbb1mlUؐ1T\ڛjɴ"a]%cw8Q%͚~1k}FS)^9<``k3^t&[,ͨ U,g\yݒZwQeCվ:r]KdJT^]u(:]3Tlqw#'i5J3vH-Ouf.n: cg۷nqErE{cB!ȯnqkdODR!TaC o3RHe=--@c>k.#R =;cS%5qh.]v. ۙSnI#s[Gxu,2Ur[q*{ym9y+ |ATU`]Hgb՟;7 DIhNspq5:@&.0 xQϨ\'cУrK>R ׯ5[)0|eA$jji}f2<O z{yXт0;Zѧ(5i[82sWUL2d IsU%)\~?sہ?Θ dqROq^#h'=xҥ\tNzdx=Z9`1P[߻;ǚ#+Z{drrxx<N21ڥ 8=9<>r8E2F)AbÑW<F;c95 +/XpOE;qEj9 - {t#pÑyUS\dsp a08#f%XCH!1B@補FG* iq3҇+$" z `uU9 <.rd =MA#+^m {x݃a7`89LQRw!SAl8':"ШW'#_7d~i 6X`AT09Ph|P;W鶟r3*w0I,/uVB Aq^ey3m`K}&8@?}xoFK|op7lcڸNO8JQm_Tx#yF擑_^{WkL"JV*LHTNGL:tJog(-{NS 랸6.Cdh#jtJ/gJI?#6aIaCdYnLwC+h;|0"7I8\]"ؑ h3c` 0AR3kT֎E|Yik^T޴LFc.FO= ߩܖ̲}HHS^Jҷ<\N>iS377DkjPȗMr+̀1x^zeĖ3Gс _`^2A5Ӝ[_Oe]g-炣g ky!Go~SsN+퍇<-w>CNw U͋ T0rG5ХkFe_[Jl̝K\ ,;1F`7uݞkoQ񥕆}gm/L0F_3|i< ^lrQV_̍7汨IE@dIT1ЊлkeuyaPsEU92MEznz~X1H]!b:y 9޽CM4+NOKv~c/ a[95nݎY;t<{4 "14[rc6;-Giq[@IIBqP:ռ*rjs7r͇8f tlzW=q)䉦B"\ۑkӡN>Þ%l<]ti2ICףxwq}Oխ?u;|[*H8ֵ*E$Tj6Kc!6C|9 ;Z]鋬Z7٭6v[xI#StsnކЊoW6y79lJ9?) dɬr|PUXh+eET\wWNݫ)Bi4{_ݢ?iVdы\s! \r7(y$mvbT'[%&}nYfrgU8@ chXJXW4SyZ]~_imI0Eʖ ) ܆=ǵZ`3BB b[$_sQ;⥱Uqԁz/[Drm`2(fF1wuO:19Iԕ%~`X@MkéG))^u7ܱ*/f\Vy3 ' 5BcR/!@ sOF9ݎ y53[*pߡ~(.#y9$}e&x2Fb~ql>ƽ<$]#%9ixQn~pg[i=2ds]vR+cB?\WO-m>󎤓/h7 z jwSZ,N Nʍak[8w\;n*9>^P{oB#2,K `9}N@$Fmz2& gn?)(ۘ6UH@ x=Sex1.8ɐoj\]d.wP%e6 < p;d p%S(_=$J;KTmjR}t`b SL⼛>5!&cz;Ȯ_ $qZK!uClo~ws'%,{R}8[ [:ٯ̸\w~`('/.}1 w♜`q^$~g<=8K t֑,c.Gើ\ A/'>]YZFWG9*v݆k=¼dNq^3vfK\V q*q{ [d'B:8$ONi;~}Iy)23d=)-3 ؃TfU83p 5\J[f3nܟnZ!O(`q+*0g}` 3d۲Y𞟍r,p0pߥvR814)m̿w <^ԑ}7';$+{dfd\BsC!AYH?!ڻU>=?imi]W A,@=2pKGbqn's='OɄ+<ѐ@OvH2JFF@Xei|]d`|YOS) c9n5^ڣɯFT}ζht-Nݙ3 eJH P{uxygX%BvCoV]6pzcĵoDKD78>TAsMpẺ'(Q|\Uh-:Ф8<"L~x bpSGR9C+.[7Ќ mʓPNݼ:8bT|r޸#n8 *Hc$ݸՋ qKwxˀh\=*/.VԊM2v2#"%nNw/2H$ mT9*I)kI'] g>FE "$k@ Ar3דҔFam nNA:9csA 2dGwczo|Tp=qHIj1yoR6'=3.f~UƇno'Fr:t<8+0O$u q\HFNGcw p[p(cܐHqfJ`=@=9AF 8 `؞=צ}xqxo|^3K$N,$(<99֖ t32 vQA뚐ɐ0Q<ކ"3)/Ԏ3J-!F㑸g c#-EadvLdr {~Si;m'T7 ʳq0zsW{T2G\H?zC`ra%9/NK8I`1{}r>-+ АA;UϷtoRA;Ѻ=(塓wh`-·Қ3&Mݧ>^Np9V]n&aϒ8#9GB3:2A`IǠ9C~V9fm"Tʜrzy&9M|( ,FO͌Jn_+4Iorr1u5.nHnܮߘw>>XO%]@ F )9[l BrW&x?>:S j:zAg~YZ-@GGۈc@+`n2pA8ue-S ?ORBe$a@ѽ@02y77$cp~8kՙj71Ut,gs՛{I V(p2}L8 5KZ&vy< sګ 6=_#brOTi-qK"*!Xr1q޼N f-xdB\Έ 󡐣 nd$L`@$JUVl ڵ% X yf=?+3lszOi6,Bh|$g<*$n{뷞ieTYd?B:VI6@lۅ,\ӈ.Ж9_;-!~v'YNYyGZYPNJ8>Ven|U2|ǃ^)>T~`  =;?yv8F N?~Vrta@ XaF#i5B4)XbV2NؔB-XaA'\T)wD,+|0jzAJ\ۿ'z*9y@aٰ߆15vEp!1`z[q2n &FQ,~籮Z_*QSvQLiG#xpG$t~u1mQw\ܕyPYʹ6 隸b;~9wԖGQfcvMyӹ#ں5IUГs0*3OV?eE%;f\8y ] 8)5ᵪ2Jg#+eйڑ |u$`%ׂQ/mi'&::OonI2+)92>qYZȴ*#Ldq8Y䑰p3\qRiٿC _q<:t@ׂG{zG}+򐫎{#rJ{RVHF[81}]wV$ݸpӞVMb+v6w(6^ Xݸ{P}onԹt_rw)M!$d၎ Q,[OR4U`1 2#AAFzPޏ.(@={;v)|>^eͳTZU^Ȭ(_l#9Qs"0>ZJE %O8w+/;N  [ ؙ;,r~S 5/I뷡vd:u.-bcc˕IIsAlU[9!~ qҮ+ cU+sv%?{a!\l``|@G,3m8BgitcCeYso*I2._8j w2 r14Q}dpz`qubϘX3(en0?2E9sB9"<=ӥZTe $|Ð͎ףVһnd2l@x+Qw1g\YwK0 E G#f\ 'ns %$ՔB*Q=g֫<i dH*wu>iTf poʩ1,xqSPzzsٖMʫ(fCV2{9~ Hm9*F:9zj@na;1w=nMc'xsړ(OU8#FO 1ҧGg8>rPe#Xu8cKtYL@d> PLc?08Ў?uUޥHf94rGf=D 0<2q='!pH?7ܐJ`q$y7d) 9/㟠= U?!'=j" rwm3o}ZQMڛng1o~P9PpIn.=+jWؖР|'u\2YwnM68g,]*c K-l[i2 M dl3zk%ws%`CNO=?RZ{J8'Iw82ev ^q| DѢ`&e^0y0 p;ֽ U88 r݉-ʂ_qq,!~>VP;}j=|;#ְz튴NV[GʀA8~lQ60aT=Iw`v8/ܗzrxG׫iR")y0°$w־$Xt;;k`TmS+|§:ۜrF:'ܚwyǥQa`mr ֠;Fv)(CVsqsfm^7dF3yyIs[E<0 %s:U7+)¨Oם}f<909e 6NTҠQ!N>R@'# ʳƵ7u'89^R 9j~` Ja.3V#++[߃ zUK2Ŗ+Ԃ ] s@i|#lqMBӵ(02ch–bH#w.v} Ԗ u8\$9­،ucE"R 2px _̓$d&FCğ´]̟rU^qדه^0=}B遇lrsӞz ]Gb9䃻8'HAdg8bey.=xkDK.ŌA6nG'kb5;sӎ e3=epSK(HVAdG֔ $ z(׊ qԱ#iJ/P99sOlAT#vJ;?O>A:'Ta;`AI4.UÆu@qϯAS ['@ݴ^NMcvpsұ(;W >F 쓴дkDC/#A+nWB[:sB6BmP#u''Ҍ2liE+`YYPˌ 瑸6ea`)@܀O~Sc[h*pn9R:u9Fx;Do$nv\If<yȯd8Qֲk ?K6IxSpPqQ@ dgsסl g ߿V F3 Mp0'![$ =yVb9aW$utm7)%]=}2ea8ݽr`r#Ra28f qۮ:ոg6hc``+l'zs5v,'scsBLsКٓeECRLj%KK[Qsw"'PpkEgh^-o}~g|F.51tBl7#ḑWLT3n^ ?+9hc#tM11aq'zz)!I99'?yIEy6=.G~h(3`?Ìk m*Ap=ůu<=K{G~‹]31#<^s.W=2}^zZnMyw'ӞҰ';pOA*SV=zV+38a728*֨1^sY26T E(+"nV sZQxu֯ !A@ӹz y8'9cґ-~eFpdu:1;Y^:M(R~_?1玽ub%H98qc犾{ R @@='1N+'gڹd4wi ;=0Imu)huJWbN'5Ǒw To=jK8Sul

>MĿLq|菊*sMټTr1F;bXW'<}8?j2쩽z3<.ys2ܒy$pOP-A@<S_.Y+s0 [|΢f\ QA^tu(gq$`c=oY5ԛZPDԑȧ:PZI%sh-nKV#x}^씝eywAr[ K8Q1ZČBtZF'{M+ GC+lx*q$y೜Oֱ]r6Sޕ5F3HP>&G><)޹@ۿNtRWw} &sYB;qIHWg?u?vF}xdzח\ޙ\3/vGl+zKGc[V\56;wgT 11`)5bSD n9"O쎃?ZG,t3eibZ/;3}8犠#\rOF9?9U-њvEcTv*2:u#+| 5{n%"$@ӭ挏I3F0 3^ϙ$N<|J Sk}mcD~%D`.#o-dIAB*pk2Xk.FTOkԄRoGf|Gw]/C2-b [I U R̢\Lgr+cCr2E%X A*Al8÷djg6Cp9<'`f)YX#<˓s樱 &H  9q5)]#,Q#KgxcncWK# $SpPAx`sBIv1t1M:B1\mzOo`zI";* H{\i롤g2t=RFjxDft+#2'g%@4ZvN@@z{bN(#r]1RKB\Ǎ=dm2# Ўa,%Bu\x4u:]9$nd"90X26׉5Hm&WxKX8߲Ea.JZJ} i-v w]֫&[rUG,T}RHjM#e" &GB@+ОqYn~eMuG^9Ͻ5>mjVv$.$d#sVmq NkV\\$p܉7a\3۰ϯOQM?(+чe==+{Ќ Ye%$zu$fU€8}cCqo*d` A^=m.Ndh sJ:;N`/;#:sO}>#%EF $k}%?|c#  %nnwy6B T3~a`~m;n|OFk;[1, >{{& N8$ai ~f#. ӏbr\ #: i^2žn?0?txrZߋӮNc;@+(#Ule 'zwD3G [#^ǐztDOQSzV2샺1u=%Hlo/l'y^²HK@ G8늸AM d"Uϔr`~㜜_`+J7#ha7gq[rSby-puTB`1HcoG K|8 mz(c]!A`đ=\Ƃ,(" v]Rw^E9<iFWwabR}7b@?(u~#ܡpGN{9j+ )`9H qnCN׷R3q1'<>ӸE$^y8=u}Ž:<ҵFH*yy9=@n 899^7ֽ2=3UY=nH튫TH;zrN{Ϧ Uqz(IAS۞F>bp3Tʕ$c#=bR@I@_]r1}kGk cSA,rI#ҭ*jm .J #zuF>_@9+J֏*+tǧL䌀{^;ܨl~n:'980=?Ժp:zP '`?+~#C$z 5 vקM\|_in;ds+"}:7dg9'npk ]i *s^ܸohos'椮gcJ\Ҷu§:%?0H湛gyc_> '%ZVwH !lھ*5!tu0z6|?h;.Y乒8<䲆v;Qx5GYl;#f11WSUշ]Tֶ\q?n5]r(BCn2NpW=+$hQn 8zdt׻ 2"gk~g]nWGqsp IH!# aOem"篘Cp}^)~Gf^Rլ`kT29bv{Z᥹MBwm:"<%<@=릍wN[_cS_d^3S50-4~h T=-/ÚƧ^i2G&.&OM p"7<)T%3é 愖h45&Z'rv-S^kx.|ikps08l{{5[屏ˍR `\Wj6j [meKIm>(`5񰂧 ?z卺an1 XX ꡆwˆWuXB>AC繬!# ܘqROt@tm#dfR#ʰy:$g®K}< \_#ga4OEn[{P*G >P>V=\wg}aa.4'rxk[kF)Yc6YkrǠ5%S]X r~UeO25Un[sڴk ɚM4L{> "+?/rwTf!Vw6NUa}=nmR2ǝLėQ.JV*A88ק'&kX ($8evjѷҞvڜ0'ǀ@ߩ CӴ]%\ylJ|@V.4ˉMHo,6f%!UT(c999TRZ}zs 90TR1nI湭hBI&|ʻ|ð c$i<PAc⇨QR/1˕lRG@{x\NEk[m$Kz[{ iVqua:y̒>ރ[y$jeewJd> Uʉ ǁX1m\yYg]ȍfvS@|-*zwkݥQ56ȍ@;3ֱF$N |O?Zmxhn aqe o_1F]i7x}:$)1fˑYrq!Cٽ=fHK+XNXNOۜfG&G7ePNdOVpBxҐ#Mb*bc+jN1FrXy??iM"(LA1]nj o:'2 f Hs?#뿅 0ubHmؼp+NkE5LZH6L1޾ eB쥯/{w>+0VkʃR\K4,ǂk]t-+X"yTca#siŨwpBWWzkfoC Eu2\3 %#t^"WMVxt}Ih]BMm b|Op1ujS\+>)*&N{_ ")<=m̈́mn'KF\3w|Yo1$!SI_$is5(J>:IMi&Oۚ0r1ڸKRQ{+CX0xݰ;V=~w%=7<{T׬H/tdy$f"$&#=Km:OK$3\٫H| Zp3κ:QEevڷ}igMӭG1ķs#ƺ@'Yov 0pPҊV/n뎝j>zzoƸT}sp^9?G9㎽ lc0c<;qTn>Va8=:QX/]wAuF[U2b~ks^larÍ R_[E(覵gtdzd9rW0;W8`129(NrY!C`+wr:U8_fH]2aAb5h3f@#I;In-Td9_>e=kd6y2 P ox0kh{v!K1 6xU7T1p*$}w6G̸ή[j3@χA,s 2JJhzn⻵Pi p8ݕ?5CE<~I2d;=Guu]:?Y {rs8;[KS7+C zjrR~L䋔%m[0`),l8[#8LH41Kl+a 1ijwPQz3th vyĪ灷}J=C‹ #Xp[{dv$@=N"zC.+-'\ w`YLmv@g#'z+kCьԕ匄 \0|sGR"8`wat$t=Y'r5`\P FG`}i@2>BT .FF܂3oS =y52C Cߍ0<{w5;z|8'! :deH;R1wnbYPF`y#} Gp~#QgRdM@耶A-O^xcާ 7}=Mp+ш ~8Jr 8-1ېq;w,޻qzc"p\Lly׽$A)QK$3c 9V\߶j/R@qrpE WFzLCp*.e`ӚFb;G0J !..ߜgr#99OQѲ' <NsMl&@dl|W+IEe3,?6Т?)?#XWB?+.> ~&%Rͻ?ãvy#$w9N-.xd%%.Ϲ,Ll/;->a:кMjdn\rqJz$a;@`'={=QKcjː+0wf*D 8Xyrprܢ>wcOnz3?3g),8sj=1U~#uC{ese9P Sp褜c1[Ơ䜹Y,uA\u+d.!fU猀N;Wd FP#$ jXTq0EÑ>xc#?$r9җklE!p˜u0#%~bsGGw|Wi^,#QU`;2;=kCq#brlzw.˂W獈Dg,#@y$x sUE?10J|r3^?',g`Uee^f A>L#=:v)~"hrOL׵=aS-v`J4̨ļFIS|բxB}p3ƥ?]F`Oob8%9RQ<~8d<\HnJaƦ!Yr2A@~) pNFx$d8>/ڧ#h.q9ߞ3YK oݙA\HҢY u&1ܠ=r8<_aY HǵX#~e瑞@iKXցԲ}:dLm 97l$uzDZN\`򓒡3? ls{ "ȲW'9 ÿjZI̫)& 0+6H\mOj#RѨ y!U &g%Z.kGd w8 HǽY[ Ⴋ $>* b0G fNkj U_ H9ds|N8gr8 QZ pNd玹:f_[2cw{2xP wڧx8{ rw-"v/3p54 #L{թ[gK rv|Z2JK)'w5yRScݟZayU.;PGWVX  }zWy^܂K*T%׏sː\oIaBc\iTsh5R9Fnj'dV`ßUL- ILKs «|o 9\v֏²nOpzMVul @ 6m{N?[YRWRFyr !.ZVa<+d < g =u)z=LnI PH+wvc:*?7r<[QFC7HϨj̥ YQR~ ~I:t?$`$rƫ!M3.̛# 3֧vS.3e\9 MT >nX6w[%ݤnUlc/OLVB/bǛ=9$$2n,Yvم#n==jNF~̝|' \rռfC6`/J~;L[|G(9kfU=z5#'R;qe})]]HfffmFPC|f 1baiCqITPǖfAvl$1<{qC5 }Hgخ\̿y[IHįF2Bd cj9݊PԴHqvC1 cޝ@skbdduFr2`ӧ>2D׏]A XUrUƽqQ*SmGBJW q;23UR1lvıOBN "# 1Ӄ)6; 2[#(#@=L1;PP';7ct4X8 ;H9W.x3L9Cq(m 1 ,NSq1k4&F^A0@qyȬϕsXqWӦ亇蘙`ʩ+$8=1[A(W@T=0x$9Dnp/2.OL`d`Xw8Uq[pߜ '!8 6M0 26:{4#.pN!H' )fЪvO#4L>QzT`p1'9NqC-\cFޛ܈~]td POUaIu;dKmgr;0]{;␪39* S)%_.#s2ńʡްJFB3N~V]Bx/pI8<>NA9W^:R~a$$bNNq18  P%1q~^0s9w7prp'N}ނb7'd+鎾{gh$sl[:tdzcʎ(9G13;O !989j ab>`qqv6:۳$w@; Lh.T/*pa_,dv15l#s6~by=={TI;!w"J0rHc铟fu`83?Ѝd R~!FJOs85X1*~YCn#+:"p?9^X1`R-^Ppq0xcj.,m |u=l[b3O^01\sکzzcZ{t*Hǚv''8 x.p t j.~QzzO3f4ಜH' zIJzg%KeSs1d0FA-/=7qO~I9>~L`sG<{S}m T3`~=߽RzO8$}21ڶ`w8$>l bKpp1q=iUKvR2x'=A=*[H۷Gԁߝb$\c<`sVݤ$8 GVjbcc g~k7/eN8?T֟|?;{f,J$=qk4C*}G|z*pK'R}^^nh$מ.yRyK:I'6q:Q^O_NSvl]?0?@w'#>[u5Q3N 2ftF۔8_ x1WU@GӌJ~}s5SZ;;?Uqu$~z6xK$$y<\XpH9F,$1dUgڿ[ Zye~k0bKG3ЯN3^iwq$g,*Hڜ}V {d;{Q6ky #O˃ՅD~/d30PG3ԑڻ-*޲ea%ѱTXb[2sn+׬ hw  ֊w k֯ %\|MȮbRD pevTݏ*kۡ g̼u 9LG g }dI8m*y->*yL^ǰ"c-np1Pq 9~@=+F%:2E(9p˴Ǯu5ZdFծ=đii%ۥ67<Ӹ 1$_~lgG/6$y޻>{I 0z8[[wfc9)Z7dt[O{-`֡Qu~P閦Vn˒o`zWhc*E m-B9eUbB^YW*K^=粖)|i{7s|ϗn=WNuUFZk\'GE9+$Ի!_$E!HkΫ$[i=OH6ծ|ml% y#j{3|}t4I)~qڹ+FOo/utkĉ \_%_+D%JܹH<`dcpp:>W g\AA>0; ccI>h0\dTwsck.E^F~J;C.dE8Fy珦+? (7cIe?.z`4~I6=zdOz,UeYs@ʨmz~Fd&FbQ.~TlKFW/$+n̪ !pYH3޻HUkw7Z}16L&ڌwHw O+0r#gQ+ 3$2Ǖ-( K,YH3c\[w4ЕbْOp', ^MZ*=РA,1)5-g^9nxj T9ێG"X(*I t>-$RJB(QE8X?e@# 93$@c,N8XH usIIBFs2z\m8[GzzUZrH" VO {8+ 9e\,!C pvOґziFUr)lmϊ9gscG>sjihƙY˱Y>axmR9?xvme c 0$UCo畟D aPێ1=yU\`x\g<MnH<3#y,8嚰&2*ڬ'Zv. aI :-р~gQ&2Noȃ[aR:_ezr>o֭-F0"EϰmPvu8k$3r>O-{{z^k>FG&wZk &7P8y$aӿ^ֵP+pq1=OPxj;ܕzKc jWdU] RULe.#h—+ʮNs3ھjKW}Te '1㞧i$w"E9,Ж qԜ{lM5DG.S+"dc9UVQц9 ?wֹ:dK,T`^wi)݌edŒӃchn 2:.#&Gbp8:'Ԣ)c!vaLǠOTדF3&K#htj %{׹iwŻ *0?9aR/$t^Mw7xBA jp:11DnLm`\#=z^MD w.O0BW0[|x5KC+ʸ\'!q:Z ss^dlv1במ])8g',9z~e$R7 qrFEblFvd3 7/#?a,A}Iuz jU=u.6r$`kBp;NXqpMq;#qӧoN1Sfa&!t`b~ld(x>t]O'S~2g1@9CS>N{;{?8Lзsϧ˞x9ҨD^~o>_J Xg8Tan'7fLˊ1Go`;2hc6ܠ6]u UK=:># A{u1Ѽ|d6Hߍ}659W)6:x:DEC`0m)N3ZwcQ!eS Gg JIh_T\/ U&f'f;s1^,&X~ҫ ȏ&UHge3t\tu;{V<2Ii'Ex}YXIʈu{TSZ^ڕ(_[}]`bSx$Tn3Ց㋿&1=$b 0 FF䁞 \jd/7}3u2S"ߕc׏^9vg ?Z7!>`@^MdH/r8Rwćy5Z3cHt1׌S62J_I;rV$;\t<{u=*@\Ge- `}gȇ8q-DhΗ0Uѐekv~%x kK]2t6I^DYs#M۝'XqV%gN*}|*>FFG[[/ʏ qHEkk[Rw("$2S^Z%ʫfw;9H8ަyJ?bV):֣m“Q&dWnbH4?v2U̮7o# 093mu_451UC1H1ѣnAZ꿅Ɵh;>|3~V \3l{W7F]II!{k| 6ar>qq_Gú#(J0gfu,UDғ}4mXeWQĒHG*`S'ּ`FonBuI0(C6YzTpoM+-&uv}?[}o*OfEtp&2[n@9=m5-ZZk rxA_Ib7̪"9Ulg_xMc~7>3 q9J1 5*PiJ72gQ~K^NsA%a㎞#;#|0ls[F\dt$Svϥ$yPGJtzzUs6sw*J]'\Abzd~h>f2ZFFrzCKs2>Svc216$,j\PuMہU#N9ǡ{ Ϲ\h9?)_BiG#}#'01l$c ivGUf;I<`*U78†@;ވƵ#x A @SwHd`I~V0:kkz^LбrsW8+UpYG'nT9IHRC"0PXeaRL P6}2Jè'9su9tLxP0~kH)R8.ǙQF20Ol;9 SU>bVR:uNzThAHnFVfSWL׷دͅ'f.}ͭ=y'2v7֞٥#F&YOCֶarczRwv=B{t (ی9{~6ӿA!!p>cʅ<֝NI;q\_3cPp2O;9%C~`;8pX= viC`P;t+j]e,Wz8&@B~C~;o'F9y?8yL;.1x6g Iǿ4H#ps̥HxϷz?@\ *4FNP;$.ӌS& 2?˾Mzs>.QT:>hqcc$).Y)@$ Jd .gc#.3lnA9*2j"HerVBF w3x{?0SH9udE⨯d>RWk3s1ku~V.'͞QS%%1̓X" FĒ0 do9ΛNMt-~p*ބHiľI'F.o&#qrc ,xuiUF w[-K&6t}*ܒ|8 Ƶl-qo ʳvFe̙8=#-\&cAл7eS/29?*@xbξZ_pʜq9]E7QٶKpA*8,zsSm!G˼= WyڗP{I /nVʅ28鞢J2(ځKYO#?SŅLCK 1Sri8lszԿA ~g+g2G#uZ-ICHrTdt,Uy)뷦3ZqCp ۝ۅW*8ĊǖamA:զ¶7qaÁq֞ƀ2T9'c=BX*T9-rk3BUF pfGjb? ʜ c@@.'3]ͨ*He^+;̛TddGC|ܣ~r2,| =шvg[9`YA>bzƣ#/%0\Pvʗ9<A4Ԍa:PpOҿ6ZPSylp@9B\8E膆/BXI<877}U6 W'҆1 UӀ[l;q+3h!1󬭼9;@=cø`éAKX}C =*אW 'h?lW݆cr9늧>n1֣W\= Z-Z&RL916q4l| ?{k"Rn2W',J[ *%QyGZ-lՆ26x *kPwh B7Zvdϐ ?)+sҴ%d5R$pT_Φ(AGHSN;{#MDArvpx}F:W$=X{69'/@gq=W-LˎvAI;gۃUd)N8}k M&mr6 1 G?~M1%9ON}]MU#Uozc-VdL;ݑ qӯ}I+M|lek,s&1^3bۀr:[OF1(uecn풵  nŎ޼U\3KXnӌ:cH.[ i؏@.#'% GJWl=nOeus&HʡsRKsz*h\:n 0ӷ%TWEbJQ{MDkqeP`oYQY. e;UxfCI隞}_( vUi uwf?8O*rݪɨ4L2FDGbAg/ P)ztcHF,FԌacAI1U|\(߃zW'ʼn7oO89C$I0qJ2O$Cmd眞0pE4xnWqm׹qXBqr1qF3 =acfmIJvDpM+'Ҍz9;s&~\ B>㜨ۃ?0E8FnLPÜ'P>a}qErL]LU*s30?+F:tKBO]{H @xUzAVlt봒A8㏮i(S <1NQ>vOdfE(hmGpT$hE#Hd)opZG ۂ#+4^2uVȶ3`B.>Zxך߶NJ@xbgqtӦI# t՞bGu2`2bwhFO si2Iã̘;dL\ٸt3RK[$ad" UePC`Ps$H!摕 N%PrA^~\sO<ф{u:R?"( @EYY瀤>plS|kdNqTWšv}6 xG)-?ͯAuz) FK198 \̒3ĕ#>'+ZU$z_ҠFl < 2HSPdx?+0@ evлrAw2קnkbYqOn)I"Tރ,8GCIpB?6?/Jf`\Fs3B0GlZ ,HLKHsN'p=*{R;@1mÑzkm8]Z `|#4vo1G$ŀBN񴜶GAUv_kgq'-:iaP; G 0x9< 1yF3ovrsP22W(3\‡?K3e YI q*F=#nC*|oԥ9)&p7ߛf{ ]UhI׭kr5 1~s3۞B#,qU+¡p<2;84#K/W~^T +v V'd#nP ^0pV͔ ;c-{)FUY1\|_<8 Sh!^9P:rԗt[/"*qdKxY1"%JtPɄ^|+>C]܌Wbg?SK*U;>QLS~ |ח9CW)Ӟ+ٓߑU;Cp\M4LS3.%!rp0x8+Ɲ̆1'#tzo.{۷RIQ)G:AdUSڻyH爧! r1e|n]Oyt~M$ua=Ъyp@y95Aݮ%h1U"l(W=HJpܑ<W\zzqTƻ;WxRI^xG&uو|5<*9XL;L7ųzԢ0>p$cy?{4+z³1F{+/pyrS<1~kz]M!Xu'1\HpUR#p?ZѭKa# @Jg@`yN3l~8e-ǀy @gYl>\`x;ss4Xu7c!{d8q~m `0HU9 +ܕ}=q0;F3zg}5Pс` 󍧯˟#hE'> a2=L{WOO2ٓBwnL2q]r#ďP QS-d;(mくQڝw'`@輌8R n#t7xqpG8+pevrW3Q댜{U7~YX>:sؚ4F,U&8ln{4+dևWRF2>jag,p 3뎹RK%R3gz"?z# ?hAS2 }R BGN~\OSzDgF91ULX/ ]CB;jх\>f;-)` C+ -ӚϟrSy.#ѶW(\pC$r9A=)v~w9?R= Q3g`i6 Tc3sX/{w:,,Hvn1#(qWӶAov^}ծa ``L }NWMq#ޥRCUˀOqve;ASGt%rMgdd¢uS^ӠiJїh09=:z\%Wrm') b2VN^W?V erp71U9)7Zu8{D8Xnl>9+>K1ӡSp#Jg_?m~gT#R'xv08)!v|UQN1ݍ>@4ȲT#_-8YZi"'~Øpn)J{魏qnwE7I.uZ.%܂C- JnU<+ M>?6@v`@ۑ= 9澊rxWwp1I!=PێGl \wFb=ppzӥiyu 槸z8>Q~5=*>\nj#Glz5ʽz摧,Q`8=Ǧ$ z[>QqWO>&&tDRյHDf6dѝFҼp2@IZڔ/fify@teNүcB\B>l/kFf|GeWVـXNOg'+FGnzQ!^8”|J׸*yfli*@.p{.1g֟օjWId6E$r9z卽;e]()Sdv8Z47N/K;>+5Ze+]~g74g!?#>\Q gK۵V[nᏗkwĎItDFi0~-Om}ϥ7&`LFNT2Zj> ʀsۭyQzLbm#Iq>b0ww;ן3e`G_@1\{K`X_-;mT0zcW`cF2s?nku=9+h2䍼`.OxێzV%fMnrG*뎞 D=91v1S9%.%y,HcO<ں%=E^OTvE.s0'ק6$$.dsom`~\|czԍ!yrJ4lHVsʒ>FI8:sW;rdVj[3^?N s2r=skbg8 8>泪Ik#+Wr8Vm#dJЗP2ex+5]@I#zΥN͞3/d`?w=?ڒDXQ n$n=Gb<ֆaTH$<PhslCgG^a{֩h#a*dpɸm ORG?p7J'eq;sGQW㹍yȥdSnH"6wֳ˨+ҥV-i [ykŞ僔FX5\NrAU+#bT.=1KDQg; y#;X'Y쳂7,lHt9%)3m-ت͜XE{o|UAJj^KgiƱ, 0T򞅿 {fX;o+$21`cbWp:,d*;d/* kof~LНH<)$b]aHv9vr'*Nw.B&"uZtfm:r] `)a ϧDtˤ& N'r6 d~EFnmV2dG.x8ϽiENBxVbxzU=byc8p8>?ju9p`2H!Nx9$rGH63㒽p\p/'NHd\snߙZ\%1p2?>nK;~^78ޓץToNS"gt/{t> TrK@Ā ГO'O'hc޴NN20zc&Sg=s|'CoArz1ڬ<P;xPsꪈsOQV#` 89Ġa21 Gp8ӷHő?8縪/<}:u"bTA8qDg;;Nƅ7%\BTzsЯ zp#۽. c (9 #t(.s8؊:zM&rvW:m6rGb9n[hI.j{ȫ) 9ǠΪ/@8$As\rݝPNO@2xҐ<:XݾQr9ǹOlm{}}3ʚNz}3@ug:qϭBsܜ`~J Em d3;~g/cץO.*<#&HTA=&c=1/TW,lA2{sq#bO~#រAcHU[}SӯJ: S2Gq^jl8=zt4'mb gj8:sO9QנJx.m1܌A$sBt! _rv xs޵oF #!Xg ⻫<q?Ozė>on(9C)9^+Csl}VpVpCB[޿GRTJOquI͡I<@͖'i䎤5M\ǵe}8$d`s[՚G,ٻio#Mq"M jNsڹMHIcu#۲ j,P1^mKMkmGO݉g--d2=U݀|"d\.~vp1G"XECF-r pnɕw1x7 $)essZ¾DI3l42(YUH *Sz V@z8TTnCz?i٭e(=n2p]XtGj <(篯J艌*ȥ?(#fwo8-۸%M9˄FY@q0lLyoǽsc`*ǡ`xCܕF9 *brд zz 5}s,TPɻ=v$23ZRٙ5^K%# ʹCnOAL٤+Ri颻™,1nOֺaUyG%|:z+mv:}{|Ib,npTxʦUzNm#kq`ӭ5;rnT8ͻ>IywpN\y<^ TyX9kߴϰ88jܽΉX] 1,>s!_ZS\N |]GSwo#@ndr3(W ޸>$d>"O$N2C0E'q;SBx|x4hm]Ar$|U T+F`Xb%InFxerlUFՙԠoT6+dt?yxKk<߲<$LH|ew>J;+h"Wy'X˰ 0$chmzQC2β]LX+y`|wc)|*dF6KӥrK%Q!9Jz-eK$' tn2UZıʌ*Yp:J|~ 'nWbsֳuUjrrjrۇe'~㪃 WD;Aw`4P r#!NF O8Vdz%8'kn`iw䲶Ul.3kּAh$n9Fk>#K A% x> 5m^u{mehxcݲPrAoz`A|'u !8峊IDfXR6nQvŒԹ군I|34iVԵ+-a.85GXQѷZM;w;}5Q\Ż#ou%(a!+s^5>Ie+ݍ39ZѻvvFhapWpNj#"AWmA dz b07 38 :<O\OtoUA=NE G-t(,AQ`g֧iB.%y89"Jޤ$m c#95] %I*wXgJW8xpm q=j2X18| scI 263hQɫM6 zn`%HPO=#WK9vGP*q3EQqg* rH>hЁ6FFĐwc* u:skax`s+(f91̖$d"Fܨ<9ݟg5]&u;~> Ө#40m[ɦ}GLYy6!p~$鮟f/YnʉCq<0Bd [I}p]<⽼6.T0ztIjϊͰ1&Sz6{unWLȠiyZiܳv IGIu5WU;o?/P^pUXD r;c57-¿4ʄUV wRi~3*/j{1Yʉ`_.&j Cc#=>=q1Y+248H}x8>rJ-&Wv)4gIpa0Xy tk:sg vk23eTmq2udz_TuF)-V?2Lk+D[J+5u+EL%NZ3pxʣOC"X$wir!'z\4H~TG 9ڜ&Ee 5?dA,rKH~j*@ˊE,ZBY-\5Ӧ'Ubߟ-Ma K%ďOV)Wx7L}?N{QywSb7\_;f)པ4u%>%}_iS_~'nA؎zi1gYJ֥ L%zAoLwvwQ#~ d=vs =*{$V=v3r:W#plugkU|ܭqē <*3Ў}=l N;~o#nrr`HWCK`$x qS+aשoZ̞%`!f<:隉?k9ۛ6S9>\V#*l SRSY)D~vQ 8~UOzT*y8[`ՉNT˼9`t&$Y6țU-FGNsڽ[ơ`) 7Bq֬&0́0#O+[3K͂8\03R`P ORvĜS2(*sO8?ysqOQm Bw` aBa9n3 ϭB s z6~l@cϯ$ކG#'9{…&͖y $q=tN=-iSmv#צOz/H1 ۭ sw8Rc== lr: =7F >ߗ'F3L-J+0OSNH\tzzQ17$=8քqINw9ǾH:%s2́umB[9\9xu,seQRwSޛCX`G\Dܱ >w5,rB Y0ӊFPX N  6ѐF:9R|rq@ 23 zuTTs*&x{W7cvthf9:GTpyqE^]>:= RX󴓳!,s]m(drwW Nj}[ 9'9 /p{{M>"@ېB֑[ʻ\S}`@æ?9TČ8'Ͽ=ub~ 9j`;zS@CdV?6q1j4lZ]HT`?78jC\.֔E+pTE2.bzZ"3~G0U܀Գ}csx.(Xx!ZϒI""f05QݶmƎnE$8 gi~U>$8k#CZ79c 9=sةJ e®2\3J~eFsv56+!'@8\g۽f!9䞼Z"fQz{um0 Aþ:}h{h<\צzz}kAmI?瑁MܭE˾Dr36w .A:+f78,>ZFuTSS~ + y+u0Xăx@z䞇ҹ[57s䮧qg;fvM( #);vHͱz~O% 2F2x,I&2eT*@s<KFl`B˓QOfANyn8#Z.47zd#c$ qI=¸ xzl$_뜆ң r+ONi*b0xvܷ<yfJ&V/ %' $l2Wz}9VI?4[ņh#f}62 v֚na2 6ƃsUrԫ9rWmWld* w7B7zq⨢v1\#~֮iu2Tx2$R8IBVLsӞ̈́,܂Ca.q9XUH饅rJy޵wyfHd Tp^m ~e br91^}Z{;#֥B1Vi6{L҂<:{Q)wʧj;$4)nK]te瞇=}=;U*pHU&N|cӮrkc9<S@$Hv'?lO͵bABw}) m8ǶxSnl`Ar2>>9`'8vnIsSFCO8vab5 1g^էƾcpr`!>奍nwqds<Ão]d SןO2zis9= Kތ{) JRH1};s|;yzabX22`ȯh\ ;@C/=xѐr36+.]XT6N >:U* x$ԥ$ R_G񞧓6I$;!WbFn98Gd-MveYI$lC30lA1qw;|O)~V>ԓԥ8#l8^#ҍpUCp@?Nڀd6ն tG$ ;gB" %'לƒO|8wdS$`j. 8~l`vo~0HpLdqU Ib7d*89CnHL 7\uJU\ G"27.y= (:s~Kt 2x* ~n1[9zXT` tg* -B-V$r ӏ[qHr@RH$z9~1q9ǽ&4P r0 'yW ׽r*|t`}"CKc1C3);"we@P2i\ڏ2!FqiK0V IRN)|!*:?~*`9'rӹLػfF >_ +}q׎A5Yp<:@!=r 7=Nx 9^T c]Hb6q8'5/a,> q/Ž+>@2qOAc\ܴ@FI%v@cIfYuMr;i=ֈ>aH >@@۽LYobe_Ǟrʫ_$mۜw"hbFlHz HzXq ,eTDg9=k. ,F2 =;kE8Qɷ;kF7 p wd )zۀzt9b C6I#kaOj d6RǏݜxzw+vo3m#?H޼5nqr sw_M{nt;#y'S/{ C.8; >GC_R#y1 vo#Ltl$?C˿ ݠʃ@GU̍)`99=~q8ڣvݳ,F!O;q}Jy ܆5KCH!bq>#'8~MtGD-+DsON)I{S4䪾Ռ/F;q8GM!V/xpAG?ZOAVВ 0$` n:Ր9 SFNy89}Fj"{J3p *a*xU Bsʂc}:X7v!?)`F)2zzzT2rNN8>?N)Qy#$oRON7ic> `)#vvG:j 7MUOqzx|Osk$GhDAD.'@̊0hAH}$-|'Ro͜,A^An'p;Wc}`piu}q>_19'ݳhÕ$SgOUY=xǧΎآQYK7"ǏOjSǾ9 %fٿ[n޽Xƛ2aUnF|=NҸ*Xsoi6@~IAʨ'_ӂHuZwoU;mUC墫*< ۆrV{##;]&Tr6xBVkP2;3Ų 88EAjlɪX*IoB{tR E bǧJsIN%y?9ROCk  JvqN:8ɮ$۹超3c%ќn3mwNzTF#).T^IPpN0+ ѹfυ pPs$;'ޣ Aax);"ܶRüHb<.G0 Zi\jrť"/rU%eFpW Fq^R"]>Tg$'hy+}cILV8P H 8<#wC(մK M"He dm0Fz޺]u*qMtOm6rqwnMo(ýGR1"m>6b1 ð Eѝ#n3}@=5VÎ-)mM%qY.R cG*,`;>o6Fd9;򯏗'瞸=ss5 -%9UpNFmN dKjV %Pn 1>S6_+TuZUю˱Up0;N3z (-ZlG qgJjO#f+RJ;wlʹ)F7` y`8玹9j6aϚUxr0sp>"N[fxy:[8q^CĎC<gЌZ|$?SJZ ll[j7̦N60Gimp ȥGhAsdǽsKFN;tevd 0|q^v%o*U(Gj V3:MkI==yU1͎nTztz֌'Yj[:6! 8$-[,d~0@?!]s\w~]6zG5d|yX'*†^Eda9%NU~*>Y6zxBc Ȓȟ+m~yH,Ќs!ÍV7 |}:nǵpvKCt:RMnɒ74e9 ̮F3lR#>B^;X62[îܪ9HN*+;J@IN>m&C{GҨqn\u;pBi{KY5#Ep8 yQzgjCp<}Afǥgr⯩,88C,ҝko(oLG8ݟ҆+=Qqx cNjvndREkJ;%:k-qUb:gsM\pcִ]nk|\CoSrJ>d';XO|zzRf5kC!\gv8V}N>mc\<ׯiDӷhuaCc*G>C`t MܨǞp8<Gcޠq9}?Ĩqlz?BɞtR] #19=Ȧ\{sۊ=OϯpƛĄ0#Nč'Ny㧥EgMJ n0@^ `⠑6ǯ_?'?Sfc'{sQ'?e-θ<׮@Iжqe 1ǮH{⃓یzS}z<${7Ǟ 䓞yj 9*W8R[߰ƅ#Iz鏥\W cߊ鄹S"͖c$cא?/J\z(JȬ@c̻ebF\{8^mNBXƏOcG0U* wȺ?NǕ껡7IwFVH- V|? ͠m"^O)1Ʊg.}c[S~[c+2E$Rc].݇h3ealnQ5.ޥ;HvC$f g9<(3A^1|ĔƮ 9GBe=£"bJNFm>ҏ|%gO)9pW= WLco)^%&oH 3Lg9'47kwFD lmK䊧 -*[td6l \͞3Juɍ]LWl.Kkc{%$rG嗈n G _֩;~x`IHryIYvs]\a' n6rKgU?9r-28oO'[Dl!ؒ{Pvg@Gq[؆cpg|:6rX9@8ϭmf4D+m)17|qP=\q S(1[$C+5(OCF~qJSoCEhZ]j68hO,saP8 ڝL;OGyo3> ?|;9݁^z77bzUW98Q*VG7/7^_Ĩ8c'lL漏S XgRyϖdwy /.QKpH1q]_B%#%}ELr\jqˮ$XX) `k4B !tg>\>`݃ߓcN_!A fUkAl '$GhVm">[7@U{ Z^mDyuգT;m)qb OoaB>䏷϶{rOr# O9ԼI}8$KF!-'#һ KͲum҅PfZUoNn\ }0DGkF:?7;;+Zw[5FXhVrO\~}4. ol(;n*0 5]Zj+=^́a x $6yTM1I'30BGPhj3`cIR@lQ}]lo\|6[A%xcEDF7H9+$w:Q8f-}[mXFUWGˏq\ф[CՎ[*OڗSy<$<' gWg{g$.:g־OZ״V>F %wտIҿu9XPۂsjU Ax_=:&k=4yp8N랜j{r{3=AN;7ojwמ'BN,Qput?N*CIɬAtaj]䮙J8߀3TU(e:u~} 5Vc]6QeF9_tubO]SOQ=p;~fqwRC!er=8lqU1ם dqMr@ 03S+. }A=hO6\:'s5G@$῟5->IgFݞֲ.-f@[d#8Bv3jh3d`_±s'8蠞s+,ԯua>g(2@ Wi Ұo4҅B2H@PNF=J쥉?3ʭz$V~ޑW9 pjk+o!WqWy`68=kN7<Ӗ(dLcۆ8lJ짯R?#W KۜBxhQ 1q;fMޒHZ0crg~ϽFIOs3[S>Hfb3a#.X qQbH VAd|iR+0B9pe G+Z na#-w 鏼{Nkkx{۷kli[o>n(+bBWXx%S]^әj`赪-.n|Galj2% yq ݰrtY ;D$1\ѨBnQ@:Wˡۆo!@<+<㜜mM1OX Ymp>ۭR@dhMBPTƟ(PCߜ rz|b1%3D̆xa^FPߛ#=H'P!rz~]k&]O?CMZ*JFH}^O@_l3 ;z԰"SÓA g6oS\0ҧDqL*C|v44}H0A*2;mC($Vr|@LgwO;12>A6f}; *Y\8 ;Oo9vr#8:dO }…q8ʐ195?|qT䏺}1ބ26c 6wO8jf1`۔ *z"60x$p9݁rHۖ'D)-w 񎆞[N2Wv7c d1n8}dnAn9xR'bI 9^2{?#aO`1;)͟.r˻'8<`:c Ej 1vpgzv7#s߶i=8Bs08HU dv=y<}LŽJ䞋A$:8FdF@ ~Gqސ;w.Ҩڿ_L0#2H=OʩwC*ߌ 㯹ch#=?Z!\I8g|`b4 c ՙ``b3'E ?m֤t!O'K[![ctdlUwqbqE25ncQ[xIYYL"<0WʬjܠNp{m[8]D`pT)HsxΈEn#hf'+,J\#5KICw{$r%%m\3;<6^8^ qvy0Hav)d# WҟS EDȋyl7lAհY2vO'=;Wvok6+H@%L`ߌVfIjO 5ӿ>Ʈ:5:?v*ϻ`g>ܸk7Kst_ElVIv(U\,Iagَdw (_֚vĮP vz[){Si\@nzfG'# p6s=GQR{ L 7rpG]`.C(P1$aAUo#{RURc#$gYO#z~Cdk/e ⪗w$m8?t>!؂xeA 9篭 b m^86b|q'fA$z楲cepFws@3C]ZG8`8͜ukdiǤB3h<#J`Q $$8{j{js7]C&?SҴ1 Ԁ3ǵp`dp0w94ݏb#w4NvI/锣!wl `k9 UC܏Y9\cnf88F7 uOҰD A=^XHC`ەliIjWH'*~?('N8i7{$03ǵTw$Psքa `~[;@=SwfR3Mc-/kȄd?B+ROhD T Nߎ׊OoK#^zU`T4rJ#X u{W;n3G30uSW_sFNfc2j(h 8a䊰 +eF6+g X19ug#e.]oOү=6dC J;p+;]mbpn'r0ÕOwrxED!!cqoz#w2j)ٳ<+dg$M7 yHswnTbQr](\uP%Gr[,F)?uYuǭX+},Y [ B@7{i sNFQJ7sxqU̱n$R>P}})/k.(%z>2e6P eS9#p;U8p2|FH'0x4r8#% #1OAuHT N 0<ۓ43WiUB*;~aq#=ĶUWyӷZ"vP8!YY_2bArJN=Wr% t [!A8pN0TBcaV|#zsr<ͷ,p[ FvqJ!u%WpdbFKnݟnب7n8_ ݻ0qRw}^xzo} 9c`.JeFGElHj!'RW9N: dȣ n~] 9GP2E'@lrJAqe$:: ('( '\`w.NiMIg8ݻb}ʑi>`z]b['杵! `2[8=zS.9 SS❉ -рpSĐsǦqU,Uc|8~ qV#z~8 ͐2UlEu}Y d0Sp21OՀ!I+q4[KypvVTw9cՂ?6u9Hl΅ua,@R)g0qۥsz'NI-_I{J !|R?O \̾wPh FNܓɮі[ʴu3|+c\IʢۜYi{,9-B}Sc s5R{]iw6Ѱm5 $Ui|am 0P>[:p۷Sq,,pImHU1?{`qzPcnY0J{%J7:[vk͜Lj3iqʙܩ\dnBֹn}lpZ"gdYwuM-m8_2k MW"YPr $r{u [ q9#8{<<sln=x:BN 9jKE4`Tv'ZF U,6 #ަU-S+԰Qc`WQd#hzzszni]ڤ+KeH`'5ݨ\tÿ''bikȌb`yyU~w?vbc Td+oq+aen+.2r=qc/O#9Z=*P˲2@ F 袷T;z):kk~gkhAyFڪPJ3믔k t/lr^sX SKmn#2$mUBިn艰ݴ.r~7x/D~kQZoxZ =$kӴMFxPv#i8g:\%Ie$VrG*.ߊ96c2 nsznޡnZG8$(rF[ne2pp'U6LCrЏI*nw[q`0r3 ӌӚ¬B\@*$H>Z>$1srk%$lCT㑂I>;}k"eTgJ9=P9I_W? A$p#%z:WygrT.P`x5%c})]=VܪRIXwl}.k50C`~kj,^Rnl$`<$rv9=_Q\3}'6hh2(8Q7zs_5 ya>h* H=rN*nE(R>zݼv@?r:[6E< 3LיϪÖ]9bzm9I"dFhMwj{\R9v]Ar7Tg;Ny]f-̢0?sc$ۥ`hgđ(!u1l*[5dT`gOyp@~sS?Eݲ""$4ce'zc1rqP,usP|d$ )(DB @!J H1)gݸdQR?{r ?AךTG;g'?4v0| #c֑67QwnLEb+~=*-s\:9TR1IzzcW-Q8S;{=8W$pA '2:Γ8cJd}z灃WbF$͎z08n) od1c q~95\\rc=IHDvyİ_dSPB|2r S!}Ojͳx[#vVC U{ w8<]>*|1;o.M1[R=h sGn*3IonH=CPk󁁑209ӿ#zVvlo$({Jw,d!׎sQvT}0'#HЂp[.vYܑOcvWAxa'95[zz.~횑r!O-{c=j^sz:ܣ'xrrW89ƒoZ̻Asr;G,2 y-)ZVK#$۟0rr 6GR HU6_{Ar1Oj+v;Y%㟠2ITݴ$d?v ,flc=py.kTN9k-h<ۈ#zVAr)x ~ji48B#k6,0Hn)+;-V8xԂI0,qx^-*P>Hc֙mY&>l;6<Č?\$GGv~O\{B "I$EoC)QcZ"AN7 @.dc'nxzUv"EmmDgz[C8Am~Oc.@~ z'QtSM#Dv2HA<qs3AZ'q-l u6b9*R89=;WGz39r0j91xU+VI-'UH +E ˼zw}._I 9{?Sˁ)Pׯ\\88+W>]O*{1\쒖=G\8#_byIsptyR(?ݏ=ȪH#zt3צ*$o^* 0 3QEU84ݎd[! Xv+ZטZsqEGht#Y>ڝ*Xa1޵Ž;,RAÓ׏VVϬ쟡b8ps&sc}ji|P1l#F+LԧSVJij0<ǹ;0 玙5]˒~lVBpBp߁ӊ衬jFMbB9T}=2=}q]oL`BGJ88oQskrpO#1~DpqqN :|玔r;l Bˀz╸ npt g=xGQ\08Nz*r1zNq֝_ۖ/<לzU #d6z21@4">-PH3Xzh!J;6ְ [;F2rV"7PssׯswGW[vPjm?8M&E$'$T0?( pN~2[qϩy! 89*}̀Wq;`{v#aB[\[Q 4jvnWczsos\$ KiUD}.>\w^WRϒ[?3:Q'®bG/l%keIm7 7e @=뇻mt#ё[n1ްΊ.Ʋr*lj8ԒP} I޻=W/=FOUKm\q?ƪOSOj%0I`0PI'xzTj-u=(pr{Ν&N0;rkOjFd=A:VM8y9yM2Ԯ0S~ZDb6w qKS-sq|qǕORf)ݕ9}* 8<O֬19<G?M.;sԑj= }_a= 8L<==< ps==pxY~UNLc02 |NODW['I>^@cf\HS`cyQyHV1°RџJeX cxݏǨqWWɀ:Q-~si*67˟NkQ ;sҽsZBzyn?I;^.NJ|M--ܬ+HԄbO5\FIgwl9 75]ThӊIZ(0֖FEs\QE#&褬(Xr/n3_Mh0iy[F%eBvʤ+ocFV}\FmH[rk"Gf〹KKE'kJkSDӐ9*Abp$\qD3#(#ys`7c-$;8"q9[gDA`s+c!9;ֱZ|˵ 6H P!NҬHt oG;<稬E-{4. oī%s_N1]a'\ #y0O:+ꖧm*YB " d8˞c m) F2gcְ7jՈU(\ mlr"#:0pp}x $i~e1~f,O_les۱2z"dvmf%OYJ`# =t.C9K1KZ]aKKw`946i0<}ݡH qqLGunr >FQHO!rAT%\r@=kb=j7lA80sdֵZt=A}k)DRG )ڹsX񶏬Y=٤ ,YvY&#*W$ԕ9 >x_"ho*4-+=nHџ.rބ5W[|Ȇk=&B=e{g:VW,wR|ѕ,daA lj՗cQjAll}[}IC ltbnB1xsw@^gҴU4ދ9 7)nT,c6u^0Ì'Č\,| 03zq] InBMnWa q,cv#+Н#(Ē}p3`NN_jWBQ舼GZԴ8RY6ǬINxȤ>O"樖1WxGkD; +RGhM{+TimVP R-lԯ|7}  Uqql 6ȯ8Bko^-BEtG@H.)j!YesLIubuP`/"=/\`}b6P@~RIkmy.ˈKlݻsҽ|i⌧._KeHhxy^nYu;`pUb <һjʥ8s9;%V6䋊QWPOxuHwfv>cWv'q"$[CRrmtfʌ/^?h"1ҹ#;uYB ޘ<^=etuj/GoJ6Urw{/$JӃ$~fs^x%n2Xh pr3I3H3ZWN0c8+]J=ZTcJ#'n*1c69fgU2Obgngsӣ RK|?@qWv $ GN{WzZd`Rr _*'yϽTq)nd rI{tR[0}2A /~,s!~Q 瓜`UGO=z<>Fh 7S94]b9ye8>c\8 }ޚG,+Cp{N}=9{RH;W#vkM_RsOǧL>9^[y>UT2+H0XqkG8oe6,8`cğp1Ym-th0_;=j2(Ug~uۼql2 sXW21ICjhfgOn14]3t]*œ6eV%199Z bͳpHVE# p89ZJqߝvt8xnzUص) H֑fRCmpřYua&A/9d8H]w;dOs3>[6 La` =A*|6 ʜm O=x0euqmo򓼆 H۔·֨͡hWRb mۊ/jA!\<qX^&IQB{b#6R]KM xʨ뷮4mKm]..Դi. ̬*>c*:F>|an01߮*z?O_|ʡClW*Ur1 GM 8+r6 Fq4l)z1.AP98l##9$84->)d՘dT~aUXg | F\ cJڇPt#NG=[pG֘7$`g{;)S{9TE?)^ߧJRYmTŹl`2xӭ=,Jm p+>>ZWԎ;iYF +_pjt#ıc)ďOB84v.sG6C(cԎqޢO3PU ӌE.>l4@6AQ}Vcӆq0م;~9)_ɹdha"]);6!_89OvC#O923, aT:Uy{|ZQǔd;q|zU[vJM"LuyObkXvח76fgnwF;3O$I,JCYWT|݈#;ìVV1~c8!x8#5}jcQsBAl6:4QC)"!(]=^V eYyɻ{Rnr]FIP7n >UCAb1 0E l>p>Qט\pR3qiX_iSk${2nZ5W O|1։ lijZתtI239o| '$θ|+)Izn([y V8{*9U\4+ p3Zsߗ[2Be$\D V:ZE)2 \;rMUO`K|)R+*fpsë.H@$@z/S=ṢT7 0P$5I*J͓pL VoxtcsTgpېʹd}E2bk@Km$ / P㐽zy4YRTy<ܻpINSS;hZRd28[ (Xp `ֳE2d o.9 ı'GӀ6 l둞9=J=~;kD!P:,f:}Etb%2ude s9p5#h+%>6KwzKkܤ XWiC:{!U+>,f0?*g`1$$)G.3-mM*sѸ5G?Vk(y*O866~7?E}I1:2n:fp10 uU^kGd-fB `'j@$瓎J{{+B2N?g֦!n$K'qZL mGNrbXu?#0ǹbq \.O`@Ǡ#};R |%$ b|3mrz<}(9U&iC \|ºt$!h+ sTmS@ ZO]Nzt9drIS>ᑎ~*< +*6GL~+M"I)!e pr:)X(SdẂH bCs/$bxvF[߯5宆&yd\zΩ.ԓz6 2T䃀[nsFrJ_w?0qÊCK=7vqǵ3I|:~Hcg#p'= 0hf @;sI?vN31'ҳ&brwg ڔrqlpϠ Wj(0-x]$"<*#Uq\Ո& u!ym0GmR#z7 N9A#'nK¬JNw{KKi',VPvi#=y燯-y' #,ҩM+Ncdψ.U>9cTBF@&@/*vAYkCYKC^Sg,K**8$\W"(#C2$x ּߑk3q+Ada.q)RC1Rxlg<hIy aw*0$/ G` g*'#d)aVٻ$#4źa畐xJ3J-w&y[x.69uF~{v"xz2qgJc1k!0؞sR?-K*0C9.S72spigX] !H>{TP0¯8e#~8!Us9OnEu O/@NGJAn [r[1W>[1*Q+ԠO1}@Mg_HEb}}(a;mh$8%!:֡L6Awq' HߊD3>Yו$1y9.;opP܂;滿nW'99E 6qPM`De@ K oN1LiӷpH$ 2&}IL*6qPT9c9۞ָ9fbmAHM!64MeNd|tz/An}A˖mˌgך9AAW'!PN@ʃn:Ҙ#,[ SHD껾\sbsǹVc#N;dgg6E=;XAP̬0^yRI@nr:qTM[sRG#o R:Iux(<0`%zqiݬ]O%wyn IpFqއӛ' qIzn,@mv`zNfc"X;N ^G(9t.ͬ f'@M,:sYvC1K>&ފ5'k&y 9듃VVPWw@X؂qv5I}M-Vf*7C<ۈ3Fv$ +E@b„s$F)iU7%E# pB9m):m&G.ţur3Jxz=}l-|)4IAW;U7aO^%ƉnYᵳSثCT )G=kцVFI9+ƞc!%;vSU}9ڸop[h| sr8^2ܢum8V-;d.8a;9x1d+OR[oxޞg+.n6 c\񺽟I,R#wnFqsʴ쮼Κ4TYL/#g`HUPxc\w.vLzL mΨ^0NFypNFrNE?@9n'4DZ$` zӯ(9@=Z@"$za褰@q ~s]-,{FiPpráj`qrIq.1{eX@H-RryvOʝ \D  JyePAoNu,_ i $Z٠-}d(i%BnR91=x#1!rCdDVkGWQ5ߜԓDݜUSmvk9I$@^#$y's]ݞcF;v?3bI.x*Je]Ie,J 7pǩB5/D~i]/i/Sy> ʌ*'pH8|4}&Q8C7[qwR y4Wu')XFSxk3岬0gdw2=L$Ex|߯ӊߴF* Hػ<)Ps=Mg)[@2%B(zr3tp|H;ǿ${5I\iFFmܮvml=3iv?|qrOz?EPb6r1 ԌWw=j;Cdwg8?~5EcN#k3[ڽsKe8]$y־uV-j4E|t@I,OWydiRA`blj%=3H<^mV$7A_\e% R2}xw,PFyUQ}J&;YR Rw``*יDOZ˙۪>夙H<>!H\A^@f8b3FyzuI{d*OL#r: rO=qZYY`AP1׎ޞֻmZylc9hĄ\+zj%~9[ndrǂOnpbU2v$AN̠du T@)"dI 8*G WJVc=2y(O玹9>U(I_J(ppy9x5) ;7#rF)2f=A(.`˯5xQi!@Cܰ Fq"$RW;Fq׾s*2-)ax$g~0FGLr9(c~IP GsȜs`+ ϯJdA Ўokmdr 9=A9[Q-J=Bx?*F}`hy8v=@N0v$}a==3̱?)ISX :PdK]R>Cn@?(8\hn8< ;D{bC|z׷<*ri=OSr: ߅?pөAO|wǧ P 8<9wrG^} Ď8HI^dpN0>PtO{1*6~c{Ro 3nyQFP AU܏BS?w?gI] /{M?<)}||۱ӌ~4ž8xlҢʐsչ~1 $QW@H*;/=h's$uzu6s- `^|ҹwcr3LdVs7^98APIsִ@Fy ԡ<BBb[v8FmMqǿNw*?^OH9O_JőE%\g{B9R]E؂22zU}B瓎Ԓh[xP=O9jIg'`(8UIW?ǒ0 N)vCc`Ig뚻:: *ǽ߫ç\DV`p۟f$ݝGT \4w8/{=(-ؑbFaq=6śy_ЧTW3ujInVVGɕ/A ey3zv0\w@wc)^O"\;;;Bd c#*;'~C3RvGtRWaSD|( .ÀwULֶࣈFS%?#.i=ŵUTa@7K?jX/MRc? _&0C8}؇@ֽ9hWoճju*{HюB֢F3.@_:c.ت:vb"u ZhL/I ْ3nyYܞCu2RHn oA2v0ō\ 0>Y~޾[%r-ܲ}֕ ^}9?J-Z$6sõYيadbDb7TO8"I U'yBTOoI;|`$U #*|nJvIld0;P@N$ܜjer6$]U}NzASN~Q$7˴T9լ^OHx5v1zu={ xef/>P1eO >PN3}9UnN 6qϸ,0+ ̅3l3Jd&Sׅ$'Sk| Gc4\۬ʉ_jpJ뿷M:OYEp$ ȯ`Jh8-eըN5-zoj^iNe#c9W,R8+ּ\lfII+cʪ8Tk>V%G6ӐǨ 8'ׯ|O@c8'%vz?1\%p0u~fF0mIdm 6aI7r=k*ԝn#v\*pE%qa ~Pt'n;('psWiy+ê=Z3$hI+5Cs,g<|oROSp5m(̓F)F,OvKf~ʾ'X)hh?${t9RqPg< _ғd$Gs<ǽLU~ iA<`381*BF3~u"p>ҥ)"אwA6~wSryP8@2j&StZ~Vȍ v8?ʫ2'8¡XsBVUd*=Jb`~3tŹ=RB\*dQO\ֳ_O,y8 ?ֻx[D'M|#< ǥbe觌zMZ#kc[AϥG->ꃷs^~T*uWX1< r:zTo @f\`?CtFR3uNb@2qlc03yZKt_:'dw,\z p0w8<}OZƼӋ^B+=(X9#_ʳ0rNx^T^2cS|g$c:sHcیzU9MÚ :px'ZopzǦM7orHqӑq{8ARC6%O?砧mF_s2 8OQ99daGQ ~XD9)WtW3¯[X.Ar=r>OHwF_n_\ &)7՝t 6a.rOx>՝ͥҭ (Gk9Vu[Ts bܜ0Q Ƒx۔VcsI~Uksz8!-I$3P&d,B7n)žl5hHզlI FW{qAig~V#@I2 BľS= MC~ ۉ/,O(.OU]H`xdqzOaWbZc.v%z_ƫ`CnqN;sشC G*wPe6ߪd H^s\7EbNRxUv=O=kinK0r1ҩ3%we5q4d#.Q'=k]Ss3yq $fQKdZg%S YV>B@v?ϺSpe7 [wB>'5vm'x۰t18 Uoi<aPшgkHJ1tږ۞_y74B=5FCLI lIQ!H#j ӵ:^+_@HPfٟ ækE֐#HYLFY Xrr=ih% Vk"\\^[\}P5̆Ds4`tlAe== ԡҞeA;F^ B3v6ê_ee [>z+E.l)A -KDu}㞟JLm=`dwqCw751mao[F]RvRJ- {yhGݜ_@&c2 ksѬrGGl1OƇ+[RnXn0A|HIO7cK8qML1H_b7r1|ڤe8Us5gn|G?]= 27G)ˡ[ѡpY#5 SՎztWGWY(- /eيJűivU<;I#M#n ߹Q; ߑIx/)+Y%f!R2~*Xm$}5 KvM-7W޸G<#b!-#̍wEܟ-n@{Vk7vsPԄtq[$`BBu>3(%P˝W<l}t߉<Ѱ :GA/z~+3-F˜F mnM7}r4fghčbE''5sgun%1FG\z3DCRv8MCRB4QbDwb-A8?W$w.~Iѹrq1fǂx;C٢H*Yw?Z( a%<0s {'q]SE [Uolq1KoOӷzmhZiߍҶ j26.;dw=UOSU^J| > kHܡPN{ \NċTFYv*H$|ۧ|U}( )=ֹvv{PƴDKkĬ^p3@\5gdw҉[| `;n<ףY72;(2bQJI6lGJNդXQB066@$?H@=q_Z֓;z_xЀ~>{+I/qSOcv6㞹9xf <j@ry(’1xtP"?1:@yhK qs{3 uNSvi70`ty\=|V`#ױt¬L#9H럯8<>b܏|cjr s/a3{_皭"#d)~(4 тxtxQMqWN͒9;A9}G3/ep{ԏZÙpN=:dw!"6y GLO#[Ÿ t?#&&Z ?a[d {b=Kq6lpTq1'j `37OGN_Lϱ+OFK|hVRNBARz`g=])53S:k;LYJLۍ@r>d*Fq^xm0@~B!۟n1X o<   uBd~5b'ziBg=AZzE$D*.{ 9e15a_Lm^0ds߽M5䛁]L62``Rx##T'l?Z,6Ĉ/a.q 8zUm@a|^@!p81_'Avz*8b^C€A7uϿQJ]IlĘ L\ww 0K>Fdt!Ǫķ,v;<k[[tT(S +qw+7w0\h,hR1sX %b$ear=XIa$stoi">cV;YXd^S]ڛǸt"1A# 18ݜ]E"1$A!`$ۉpIgN3Ȥ6P\"[20*a[9~%HuL ,;tЖLp0HWx8<6ǎ'*8vaq1bo%,X gfn~RJgЃmQC -;ⴣ -"#Q >0xOT-GԽo(+9`v8RTjcVPHv 'ȝiGI~fu_ݧi 1v"Erv8[?r182Hq_UGgoۿ'o7kG̀(SzZ4c+v ''^^1vϣ%\6I,q^Tx{R7m6l0G<7=5&2Wj95n%17r I"Y3gϰO'Mu\#ϿUű29'JPg9]*7{ 7,> $wʩa n2@i(~D%KwV3 l^w.TvT;-3t@g(H$m'9[ֺLd+<m9*ӴEkiN?$߀ @׃;ȽC7F{?ɮY1dfmO0G89t͌dRIG9sXIwgFXzSr3ys~})=MylTbц2#i??έ)黖<=)BՎrÜ v$Fc jH⚠8,rLc tx* A9i.@D<RN8#**0%ǠzoR9b@s\(9=Tc?־'>Gu`(~FZ6Ee[" rBѱm iElg8Xcs\mIܫc~X.\(cVTK_1$MpUcdZAbHa^|>zwOj񐼰g2GE,"QoK֛{ 6HA!|p7#rG\ޏ"Xd)BG<2x Qkce-:m!UaAo|qBAr8C1Ba[=Ozc2_(ƃ*'᱒?jBHT/%! #<C+CIm+q)ϵfA/v[CcT2w`$w8ɧD1wƄ TsJW!Ps'/^3M0T$6.pCǧ~4Vd w>zڔɳ T6T2ҎVG۸;4֑wp@xbD6le1c׿b1l8Ť+E錎{ϭ;h!7hs)Z6PR'9=#&=RXdg )!9%4 Tq68i$`,8+?p|ob[ۓj©6$pV\{ uu,V<}<+2;h0]&Y*ynII]lU\g,v 8<$M 6K*2Tv>hvK`n;~AɐR@81YDb@R2pztj 8`3PƨFOe+a!9dS17͈řeyzWN\*ǘA끓͡C]LI.$=v)˾A䜷LsQyχ1fVcr߱РB0 ÐC| #")7n.oj$imH'p]ӁxECsԁs)&R&ڡKmNn1yu$r; \pĜ dN֦E $}8< Pr+,KeBsNޒ0PI۟B]py` v01qzLm/8<G8PrN]x䲩G_˵g->l.N0F2ݺ9 .;y^?\z61 0 Cd|''{Y3#w>9ٮ1Fp~mR2sp}R0όq+>ch&0̻͖WS->i+ΠJc*F)|1MEDBaԹv1ArNOOA^`TnУ־{z; g%ZPI#Ա?JӒ`/ᅯ]Gҏ,Uu9t==y(b= u$?!^lSf6+vV5$ӒޯІS1`yOjǐdJ*G^WQR҉ˏugwsJ.fP* Ȕ{;TтsYF OisЧ.g清zweŽJ_«_}kѼE5J lk9K.WNJ4R<;Q)b .ă7vw`piUfP,rFv|-[:ea%`<f?.>vq=\>^Y gs՗,nkM^GKlú̄g J@rT9]O5sЊ-&_,p]{dXݠ'?w_Ǹ~\ dϭFIo0H*Ys+LJgE.?9qlkȚI_7;q}8˥xum'H%GN) 5"GT@L^QmR+Ky9 <׌`W,w"ZGZNFe0,T_r+aDjOzI|M]]C1$pc5l`Oҹ%<  ;=OynuUVsU9trN32E\Hfd {=xp\,jNj)^pO NIX][^yBجïȪyVi`rs-\#\Z,Fw6igHTyq0ǡ2fd" °r/!+9H O˥'Hby1)0 &O+%m!M9ic<.aqMttb@*d\n}v262z\cS\z 3Z,m)v\8f!UU.<23뎵f }Ӵy'wUέ趂(9, OuӁZr=y;qXrW@scFwbC 眰1qƹ3F]B@= 3w=N~Dg'Qi#nI.NX8@Ȧ<%g7+\od?\?['l,7i7/\q1S}\rH55.Wf9.Tz2D!@NqOR39F0GRA{pXpNNou?hxKA27PwT>F2FR@$? 7:o9~N2=y+򦺏FW,݈n0$Am*~c xc9pVS:֤Z:=qLfz >U +9) : 8vY>m猏c(]Gmm~|搕S+ ^1z, [˔aHTP x#Y#G+ue*é[q'n8N:sM ccYGN}!u9$c;8>c[\duJA|ߧ$P$:u*Q}c( uF<$sqU!b]F%xb1߭g#HXx`q+p}O$B[ŕF|ӊkcUР9N nvɦw.qCݞOHR@p r|r8֗p'qsЇw#I=F8Zܶ.FP>l䞧/Ȯ6dgp3#9ӝX,qFCe!u 0I2N3[pa^]UO-# DZRP ~YC]vn1zO_PQ*N[eE_n9 jg@l#9ccM ݅3TI&xYc9! \׊XPtW\pۙH{M5Ш^ڙ䕒4Leul4֑`39,NA+mtV%pr:Ov+#Fܙ P8קٯ:=L:S-I*N?n9sן² A*[wNpXҹҹ{jH;D5qXž\nC[<P@?6y2:ҵIX Ý$0A8LP|Xc 4] AQvq۽GNH3U"11NzgNc_ZR&$YHnr oJEDNzrO+~48*ՒEv$` Ԛ۷Ѥwm|)qM(QJ|LhŶ4# 'a˨> idحX 2HbT0uzu=$ 'oiJwVIpDK{KFmm-\O h-ȒƠ*XrخL$߼!Q Qd䜝VZ\.uWmM\DE21ǭEib#YfwP%"AMNdvΖNWuD%"\$~TþDu4f8PBzS]۾^}Y57Q]>gƣs4H D+eTz<:ΠXI|{==Ϯ7zXʗC>1ܥP鰂q}*y$s#rǡ6zǿAY[NA>] rq:vswmެHo^ӓL'?w,yQCd0?Rܪs8 6ơc\@#kb23;)gn@2wqU3o$>Sr295qr%&cNd _^?xIY0 >h=€# FWaT9.14$`zsPY`Ȋ#\b\!S>H;GNy5ketV IF2qH#!tA'iXx,K`AJ=e2Ggmr ^ME+Ԫs[Rƕo7a$U]B1yqvݐmq뚺JoΕgS-1%FLdyROӁU,< Ge'¾nm)[m9;Q+S9'X;pQKd)<֯)^ dc9>޵MM 9б`XWww6 c2A\fu{:ͱt?43P1 MN9Qۭyw牥N s? FrZeƒQb[lCX:4&`C=%0AE!oS.{e" 92D FnA`{p:׶_1iVH̋ %̮}dG^3*I@;kE067 '9ww9IMZ1f XVz3 쌒Xs.?!t9%N{[('b>XcC\nw,X'S8]ܒx5J=_B-,|ͫ21@%nR{ֺ&I0JfaQpddտ˹\2deeKzҪ6Aya>ۑl Iy$|pyQ.vY`ssASL RG C)>dS輰#g``rl8xNȖXM6 |@2YGˎx,Cn\"9lYJASd9 w63ϭ9O&?ZC)ݕe Ob^r1銭%z1/ Cޥ$A8g^}iH98rWc9qԽʍ'I w=̈v'@8~9Q@-K ' a}7ecgJ='[xNq׵ ]S(FCe! o<_HC*݈}*yX[1Iq.969^>={Cp IM6TI{/NDIg\玧devg8\gtݚfn[jw@!؄62c=Ãؑ\RڸTcO>J hbXmqֳ((aFx '=j9ܘQ/'klo-v,sP 8SĻ@C!Q^j*P[G*]~~s9;[)`Pl v?m[5򪪸ARHUUmvx_HJ01GLjiSif/ bw!{Z`n.d̊2 \wqWZ0]GBMINzӬd [1)4ae&5?wRg|e`vp#yz~5ML)eAt)n#ZѽC| a$P xqmŏ\P/v+~2]ܞy=(ǩ0VAQjDŵxNA\6T޴ԅN;2ѡw}_#iːv07Lŧ:$Sa$\ NqfsxzgeS0 [7"FV*ilzvϧjl)qUIvxx*FAHR vA|UiKnX@Dѐ7ƮI6쐝 ;Ӽ6;"g;v.Y cWg˴#'Os8@YCIKwovyj6v:D,9`{zF0? u=Mc!Ec۞KX(ֿqvw:/5-&lј1ec0NkT0'MY%g+sra5ߑTR o$G w?Jx!|uUldqG`37E#d:W(Fܑ3޴5j( qNl%lk㻀B?xӶ)ڹ~r2}UɜeN;`8#=f) NHy@?QVyPir2|L`zjo NʮsgrY:3DijۭY nw&k+Dޱ"aHl?_w-/$"8&%b>x<ּ+^l~556б`2;Br[:oNĩ*72}|ͅ=*RSfw/;2裞m0fV3 l13^::2.=Op͌d1C7,<~N gd%Wf..<w;"k*st̪UrXy{9nb\TCp1_c|JAA6p I'=z=Qt'ԀnRpsW{5rm6sI0GNjBh zۚX]̬c%J8-M.Cɻvm]N=#Q;|q\t^=zUtN򱁷tjsNIlZBV5Akd ;ryygVڸ1=^9w~\Cih8L(\`}OI;JO+,z7-*@>y-{urܟ_*%F|e@`O|s+uF3V++:b߶ %Ӂ@=ђ" $.ݭx8`;4o[3='p%`Ge_UC#P3<}+ =.uF+a^l4wKi#?YGKm yO^#xqGS7^{ Յ*G~ynqN٦:G[L'$cNnO=qOyiaẫ dOSO$:ztac=r}9<LPKc%F6sS_SH'##0;f.%E'H>__Z[|nV q%'Yk G~ʴcL OU݇;3Ĺ&B#=s_O}⥸ 4dJqL#>荿z~e};Ruk&E SƼTtȰAm#g)$o-E/|xk!OHP0-MŚUC*m#dc VKYQmTS{Vy3%5l{b!}E76b򾑨ڣEY7{1TQ/z8v)ݰE,Rk*L'$qG5u&0=+MbXpG$qϥc*R9ɉГ;^W ;HݸE71#h 0~ރTKךb.SeRqNGl{zwSv1y9;awp@>q ug<>'2cH'x`FbNyINp7=>y `B6[;`ٽBɐ')•'" T ݴ'z;%y _,ϐ"/_zt5WԴ5Vfw9瓐8iAewH 7Wf~l'ZRCE !2[Qsڜo p^O=:e仞tRT1w|}sW4c*RUOH]l[ rA8>szU:u'ָ:VӉ68'?>,9[< *v vWK r02{?Ͻ`⼟V"MvE?ϭveZ)"yN=_z>HE̎Hx0:T-q-ϝ_!6KRFx:+pە/Ec|eLEHg&++FYYPV91"̍0F3kYܬs2wyR3)SYVۑWҷCQKS0GX)mq}!Aʜz`sޥٶ\|>aHϧ9ګ~\?8\utЉrz29vZd%T~0 8,/ z$$vSRb7n9<Vn=3[/KBC۞Gқ$\Cn~Rq?C&fͱ)RKs؜;Wrǻn{`˥Xٷ><^3v$ \#@} oQݟ>f6w ;9ҾIn3ȂBb]!1aY="b笗㤩˻<3@#9*e06:_\:tן5ϧTF}Ȍ6NNkosrv&Y~̈e!yVx7/vtXR"-:4 Ux`$&N!k3aK @%B;s׭,6FrߘS9hwE_* 3K&Ͳڮ $t?/>gv Iw52n.$#&1%Y!XA9W(PS.} szlU#)*pq'9qڬߘc©lcc s\T+np8\~+ܠg;㧦8)UOPAae}Nް4=9a;b{?}9$}i89 093N{U\`=2I@;րr`ﻴ9U 9G^{"A# *eJl*w1#pFkZjG  8n'sW=K899R H<˯IuxNHC& N2qӸQCdFbXWy=EH |9nvǿv繦 4tĎ6U70A;2~_ 9V;`y)'cW#}ztMe?1:89A+;sqB'p[F8l'G<{&Gi <wuWd/ۧM cc;B<~['tǡӾ)hf_Fd^sL``86+ #!#p p;SsQ \~U}!8gܞsJzN88sږ̜N;~5+~dL0Wh\KdeO:6pNBBWRN*T`c82ҹ3dqdu#qBmg? , ?@1|Xq(Ҷƃ3mf{sۯvq+.19d@ KH>u&l'nעj΍j.Jc%<9;NR#JSSr9N1Is +פG >>"͂v3r>v+7 x b2k&T2ʜs-GAc7 HlZ3Ccu8*g y=kׅyuDOci 1Dςr s*rwy}l|K;K+;ryۯZUg.K)8z=%ciFIPR;t@OOLGJ_p2pyéię1݃=@4G6I#{~3=Pd OlV[m*DɎ35P%׎?$7~c8`3Hiby ӜA`dqSC+#psǯiT4ݞz`GAq}락*,RZ_ $z> ~ȯ7eUE=v:^ S^W>W3ŷvֺuA?xz &=G$!%F =>I(3S6u^t$޵\7=IÕ=O׷95y{s$3ٴs; {Y${W!hqJ'ֹ[:Йr3ҹꫦZшf]ҶqF@?5t)؈R_iesrŷc⦖w&~NKgUƼ {呋ܜ c~œaViKV|Fm%1VGirJw1H7 Χ+8p(1Bǜ` +џާI#7VL.I<Z.(0CHR9>ߝBW7K`6Jtү[ě\.H;c ʑMGi"$2mL$1$g 떗al}eʗXsT䞤rLzqM '8?xpr9t'ҵqx@0HdbxQ4Hꫴq@#+确EPܨ<{`_oJEͱ{0p=)Hl]=ǖ< #&V9 aE kF:d06mBHdV򣴀ʫ  JCgc^,"4A܁s½,4ѿu|֧cdtIؖ"u5 xtG M\TcvDP8y0p T;6f/,×;JGBך7 k [ƹKTx2I*H>Ү? ]"Z^PO"ZI A3I|\yٸF:}חў]\re- h6p9^b|203Qyl#`~RA.p3va8?BƇ`$ĞLu*{a,N2;YpO^=:Qpp=GyjZDH W#nxVsT8U=2#9 r1IXTݚ6,*0u yxZAU7+ U9J]NC'=[IUVmH*NN(;ud΂`Ahߍuma0AWׁy 3Bm<2:㚘UR+)_ϒ~.{ *:cG& rz`6U`ynM=pOF8%F3uy:v1R0:|LS8.N_RyWu?v'$>`r2׭* 6屟ĜdO zHncң Өۻ{S@# d`p[#<``qYX908{*&#  A8<~};U.(*UsH 6>M$btW9MUlmai.[ #;  ާn#e[ce^2;p*s[$nU O:N+  ̹n0z:` HbWoP7=T9"t [jrcϭEZm@]E*> ;IdzBA"B 6B)lО찓I#%z_WfmMʼn-HVћ2ĖR`dBQL$CA+Ίü,܁J=+6a(hn] #ˀǗ$j`Tk}SPh5aJJp3:4ԳOOocYW[ ֣rv63x”q< % rTsU0DǠORM{ >rXN37>?mKú;w!*$O֠+lFKga>E#9cN`z `sV;ӥ Ǧ:Q}%S灌s{R$ӎE$G?t7#Zhvi_ByTtq꨻Ih?AӀ2O?zq9=+gM<ӿ\K ~ʀ0CW?@j2\u!f'=1==?JNO?1㊻+ #'sC}i21=gZc hס?ƩXO+EQg4};uqV#28^OZ{A4YOs=/#b@댃iEIq-=1~GUP~:Qޜ7^I%d6QЛEݖXsH*enz``9F-k"rC;VCgfXucF;s9*T- pG|S;Ef"Brg9=jи?xְ7C'ԃ*Wksx<6E-3ݭwl(AR0v*Q@*=Fz.=mp*Ix=7s'ETx ï^z(o-Cz80y2}V9ZH#| qRsǶ84 o],l`9kļUty\2)Fz澧puc7Vca+;ZZ{Bk$,ZksRO.?&%,m|}'$O]GNl ӡo Lвgv-M~Ä>(k~I,F>n]'_#ƯadMOx|)YK+/oBJxVQ4RAl"wS[氫vZM3(Do-@0pfϔF2yf#<;{WSveIsϩ\ňѕN~lnjSH9*$6\ ƑH0g`>`#zsXmȖKѻ%,nc8s+wb߼{J[{s#ҮB1; Gsk_DE F2r㊉--G$(A{w5MWF8>rI邥pNz҄l \\cC$M+.e9\V *vPċKc4MdO6T03MRFFB `5-ibxHݱ/}: )E^Lx'~LZ暱[HlF䕤Q`~d}T:+Oe sˎ ϲ(YAym }cI41"~\|6=3R[۳'j`m׊59H.e#`}ȭ&W `NXz{(#F)!mA:|*nq{{ncnyL;H&I`z6rFy~:R%9fS2>SoNd[x1+*9d ;PnG(C d>9p >RF cHoԶ0>l$g۵9%ܘYv+=G~S q#˕o1펧8<Ё=~ 0@#ߎp`J>݃/lI :9 EQ(s=8Z-Z9RFºWi6zW!H0B9ЗijIIgE;xXxeX$ w!x :;J)XK9#?Tu_f>fɅ%o.{5s2?>\N7j!\]#v$id]Ċ)61+# *+{%d 5u|$VP<PT~Kͽ~%pqڙ'aBg ?s.mSu^3>ı؊$p0mrzuR,H =yx@Q_q{R\DqvvI'=zV6Uҭ#>ȑt۾I;_9WmFH(oM.7{iEd/u(جD7"}n{>[B#&XݥTBU#,8lwpoUUH Tr7ĎNzgL)f1&@Yy]G*XbI-!8|2~"+\F+w7m~Ie²i{ufo/TIqZ{}XH9UG4 啉\k:ĻՃ,9 *o'!BϽO@Ĝ Uw҉o] \07v$cҼVGEo s {AYd68^SBI13BX*c5]EUəj*mkgy"^װ^Q0<NpysHD}O|Ҝ3y4&ny'>>L=p1y"h'9ңupqsډ~@+{zU;8UH~SmI?4G w䓎sW=cᛁ?ϭ}|sI3SvZCNJOlY˴X.;Wz"C*9Q#qw'#F ɐ$lqWwIے3(*#7:9*"N '_aM$HY!|W<(;~_㑟WHjŅ8Ig=1֫x1!3n9([.91U`?0RP p0G<}kks{Od NcRx?봏I\'zV+RRF48ʯ}=U^Ř2ʰw*MHvL*s<ʲ.!ܥdI(NN:V7|Ia&Gql,Wjɏbүxİۍ:c=wu/-\<t=Bpzvn{$41`Xqܮ}sotwNQ{cxHO1aq׷' 1ެp]V?-[J kH39EHHU  PxN)Ihen`gk;@*Q$PXemFך'CT"}8iʚ0GJdH p}y!șã md1k\q;o{yHgcq1fŒrzRrIg.23ؑSL4}pHl{Ԩ >]У֡qYRUـ(+Kp~cqNŘad|VxpsU}̇fFӷpr=~eFce.d8/ F1)k&.EWهF@2ݷ=y|C>38RI~WVnG5$TD*NeCg$/#q|K ?;I cvp;HZ+Y|Yx䝢lvf}x,QXEO}͇UXP܇v?p8N uY?NhK;+o'a1eOHHR=O=+ViA*H@(wn~𬜚z|$(I#NI8@8 w6Y]6iDj ɣFz~9Ҋf29Yq=U4MiHĖp6 w.'pzq[+ٻ$FU@bC0Am/c<\QZUy Yi#6-=V'w /ro=.RM}*w!lvra3Vҵ\jn6GM ;+\nmQqʞ*&ܰT@BIKYnPF~z/ľSuwi#mq2 ڇ)%;H!BqȨM{H*[x66mr+;a93~ +ym0dS3 h7G2IQLĭ̄9a[\]K0B H>K ΀&jۆ|Nc/Qֺ7o&d\1Ӟs(Kʚ8]6m&@(#=:'ow}!N|9lcK6in#+'[;c~F-rdVlv7`~"_[~$NIBXFZB7!I͖Eaxspk{{IUĥ(e;X|.݌n8<&ͤE#<<IDsL2AcӍ̓lL+ʫ ׭Tw_qХ$ &5@a ROԩ.UX #HonۉcRW<u{]V$IY~S7GhFfkؕ³C|vJ9U.9%H88kXCue;T|N@>S-ocG@rry‘ҭQգO$HUdovG汯s䅖K]&3UNGqRqwl9#K=VnmPR!Tx"6MsHtu$+KgG087)%NX0 g'pN8m"U>Q˸]8')辧sޝ#t㿿_m.~ڽd;H*3JQUrN}=~|u2u"mFXX1ַ"ҳW>YA1N4<륱[hۇ AA8Y \&3 ,z޵.XUjǦ@ ^r5#Av99Vrn9}J.d$9gYG1>h[)& L`m#gYo4)X' 8nVt“Wُ%~\Ac[7,O.YvvFCa'z-)1NpvNpym:#qU8>l\F:ymL?Z\~plvRgqu6UGBIaP;:LDm߮9i{05Wtm@>ӊ(\ 2yR=7G3 ^UQ99FO=j6?Iႀ8ƪ4xxhKPQr[$URN1dN762F?09/wc%1}¹E~vFG {岲Oy8t< Gܬ`'q\̬Ѩ*[95Z.<6ߩybXYQ&RFvIp͒O CN[+X1{% +$ yϼrAn V*2(2llPA鏥Y7 Óe88UſԉE}b2XIiq~5,:ͻ :ᑈ'>J(W^Mk9>bJwT4{`ֵ737 (, "R8cu:U}zֱ*a?2x¨E8*6]ɶx-D dw2'w\Nq}w<NZn}ʹc D_?6E:0 M^̗ɾI:n2 ePz 26ᐂP$r,W8ⓃK7U֨^TD833rTP2:`T'xFnss85鮿3e85_1C "-SoWhbyPy +mڪ_%;椤"Y: c? k>arIyʂA@ʂٗ/6uDg~_`1jʩT'n8'zc9?NC;efw`Uw0zՄdIFD2ۇάp{H)] ;*rNgJDk#6&0e`H#3ۃU^P0hD,Ð: 97 4HUd#<mFQIUҌ6bXs 'VdbI S`ckI:^{w Kn*$o~8T3a!UONua-F\y4q0|$p22Z2}Bϻ u94Ybs0<ۤ3m5?^ 5R#1wiW/CZtOA`fbq"c< 2|-$G* 2yQgov E&j!&A}c펙Ejk@ 4 + aGݹ@b\X9̄P 3HI2V5,jUHU][h$|}iMlitVI.>]džCzr}KAVd'Uw)'w qVѱo0G*DrWĎJ۷}"|aRJ.'$=:TLq~PcLq8O =cNq=Ot铌R29pz?;1O299鞀{PqRNyRsN@'6+jJr9GxF͍ ~P{t7 켌c8hy'Ӟ3wG]nYFgi{axo]،X! 'pZ+ߙp0Ÿ^sV͓puņY%IaOBvka{>v$= T_Bc$1g5tD#^ddwkMݣ*EVvf{`^lVkzWӾ(XŽ}V.4o!To`+. wCii JrNzd{~5Wh$Ek&n=;_)WbGqC6"g 8Ybe G-Vsi9373qJx>lʥ@$ sC׌ݟHky̫#`>H6OUo1a1ظ^y9<[эsT")YةnqwovXg-wnPq,8?T8i*7Ï{T>-RU,b]d$1U?5,my.";b'8k .g.6BDv G8܌do|9hsrsb=Mp^PqF>azdC .~f,F)'g}HWrKrPp3{SQˁp-~V鷒0rk:zR à;Is~מjp\ߒH9FAXW=jWnړ%0FTab>Y>,MN1OT)n qམc$WCޑgK*]Î@玾KrD Tr 'pӥTFeqy\p֚W ?9_Zp 6wt'@;*qOppqyzz1[=x<=wm8%w`m󎃠>{cYG8/sp ~tݸ㞀*V9Sxm%v8cƧfCrxn89#h8Nx9 ZLU* '='ֳJ0A=1QhMJ1[9˱H; "i͵U( ] dgޛh=5->oܻ;W3֙8 Oc2iaл 8#+:d  rjo=,N7f?z9X*A `NOF29z8-F8#> (9bӃB~>hڼLt0 nЕS/&EdrN-?1Cb1],ULR2ĪWp$ FwTniIԪJLJ^H77P6Z6ۂrI_˙ɟdtb4 p,2 w^//n3_1-dϱ["dFNwtӟJsIԒG?N)(`#tkHW<  kBe=āӐ8?_OozWTzҟ0W,ɱ60@wd@R[ ]~aQ`T!q{{'OYA`OrC6}}P6|9cd 'lR}zO׊ַ`F@;q9Z'+G:dž?Nv}GF16o1VM#-dldmǯtzvpRqHav|'XYvg++SdAX!`ssǭ}^$R>cWns!tĆp *>wxcRkݳ(?(#y⹧%~a򥡘9$uUfzcۊ&+=ׯ= P{z~?f#Dg97P:╇ 'Ţ1F=z׷WBI rj{<5I7ovW7SpKyf0b}:^iSv=i&dG]H:btSm$sM}IPk\Amp3#?a Bm@GS69{kϜU&=F}6vG C4v5umvKgk|,0ԵV;mv'[0jI |?7dq$`qJ(o''vM\1G1̍^]A\$2f\Ieg`p=蓴[Tj\BV)6O Q־u\]2sPg?ZiTiy9ۀ cU0U/۰\=[=I;hWu- :20WvVc}# 5@U[ay'9.7NK03Xҷ$:Bx9שM{s ڭTzt#"n I@?^w6eBMFqqRGTj+I8cqڰoG* @=H<|}k;ܱ.~ ŋԃ9G&Je+)zޞ3v43 =H9  sn+"E{`!A9HE#Op7c?:@9Juk'd`#֬1,I_R hIy s֛mr"UqSߓwlp8錎ր{ dT=H<נ9 @1ОHL#&=s:7bFs<r1ԜsҚ98$dB0{)n>j`C,J=#?JClSCCѷ8Q dOG؜  y$:z1HdrxGs{cvCux}*tj1u!ٶrr0p:sƴP"#Gٗۇ\A8jQ'-#2,y'8U"Md b>z֥~5b!|y!@<rAOgF?t9J{BHom^ :VJ!3$^0ZK7aim  +v?U.We`0ݿ.CیbcKSN$ɒ5e `3Z^$PY@`PH $uǮ:"=Q7fiD\8}Rp{(dg?C63>CO5{huӷd+jgm) n g9Ը R2\ JfRe8&6f A gNbǬp[;[գiIvlJ^F]/l-ب8ݑNN[S=EUqg_3 U_-3%}^: OޤN5`0Ќ:8z?NC>xLZW; ?ړw8c'ޓb]3d Nu3h1ws\Tn#'8^D7z@O${?j`[4:8 G=z{~zPOS׶p}qQVOcbr^zd>-c?C۟ǽ#r2q==XM'9=1NrpN9&-"`NpxdR$=޿Jd%;G'q7w}3q+ PTs 9O杂Tʤp?{ hqXԏƪw!3~N8֡GR$3HIdMi; g=?E( rx;jAp#뎵rK%;{T%a|p N{ҥB`$bTn\w sյȁ0=CG4 E9c^qcL08zJ4Un JV!dH!(|Aw otܪHrCǡ+u%dr?~NتF# n\`w)J9@aPxŮ:~\ϳ`mfq߯j&z7GI=溡9;ON1gjHd OlN>L;^d)1qMT2bPy=*aX9l|yC{՘fBp1VI6|;={hrˀI L8T`'l29%{uV3  1rwNOyQ2s"=;g6  ĠR -|t;y v0$V9cjn-$eV,8~&ͧ\-jb)@h#qC=֣XDS3 @V(1?( =  c_wyVh lȤ\Wchem KDs،v#c30,=O yu{>m r '1Ƿ4@CRY)VrHL#ןY90僂v)o}œp<;G8ǨPFMv#ECBP[k+ ?{<{Pq8y?uqێ4"IW r㊑%e!ĜpsہD=R>a݂#^Fz;gwznq;NGJkn%S*7ub Vs y@K6#m',TA/$kظD >^ w}.nwVB?%{|"]6Ug9P RqQSנ=3q]Šd#aT/H|˸ wK.;>\ӥMaKG' ǒ2*=x>F0UP`Ԣqsj4JϹdD2۹sf K"9ad8JM7ȿp# 嶅@v֤2nlg!j($jH!R1golǰ' 9'#cAP(am䑐>'n&}2PpHOZ;3<NssrROnA׵\,nWݻrMɌtg*FCAy,B{t=q\Kb*6~\W}=kv #BaU0x>upTݚDB(srK3VS9<}ɱظzH9tAqv:m9,z ;~55֊ |$zwJ =!8?pN0tg?78ӏ L߾zusQA#4$@II c~^!=dGمwۏ1Oktظ^FI`ts{mNIa֪ #=?|W{E N:;=*#$(y@h{#O Oqytf'7;N tV= K^d~ Pm;g'o֛&%Y\ <`zRwR08m_ݪDž<'̽waN tV72 :zӞ2N) >aBѷ^XH$L#+QЦm+15xkvV@CSSZ${Mƛ"eY6n'ӷ#ֱNmeWlxCo;cZ5{æ_]D4'b41Jzs\JZEx&iA7@v5dpk{Io;1.P쥣T/ 85iBTU+ ANy9六:}}N5+g ɔGA+lLd{{Vlڤ1 _f{}M ll.dG?GjKU[)^dj9Sxo_RAwog.Jʹ 6;+L`8L [lNzjۍ`r#vmޮKNF:֨mNk۝##t=m:K䐐Fmy|q tfcPATb((=2r)&A+d)>2e p Z\d Rʃڄ$HZؠ v p3Cu`1ӧPH,c$rXKߒ2YrqzR2JCixE D̍ $2Ps)|BP0?vאs3 ӸEu`F;v-`9Vܲ*ı^7n { rD C{FvH.\rF@=kBBT2H&Tds#'5z*M&݉ݑl ;z*(%~ ĒC'څ+ʉ,흊B1'*#w"~d`@C7-<+ʬZXh%$ Pw|]~3@V'!c~f{؎D_]vX>) \ۈ$UmfۀNF6mqUHy|PI卾Q, n0V=j$r,~ |N}MdՓDOoʳ0c`|ĜxkaL<1VV QZZ׮-QB3=LyI $A="C;5s$Y|99uV#О=oۘ7TfHNa"HdpIݹBӎ+ORX !BT^sZA<R(:G8ܶDql8 Oo;s[1Dm6ܯNV2о.[E`H="FL' 鎝zE4s7{β|{~hG']}%d19aN9S$ymH#''{I+4 PZ'PLM7TnzN5q6*u*8_ٗN{knȮxc ;yk@|l>Hl @?qb/ՓuӼd2ݽO"׾D-.>\A5ZMNb<Gr v@1q`kwhr<;ҸqQ՚=8V:8`0SsU2!!9 p3z㟭r[(KvcknN9va|O&BW :y {rrs"pgǘT?uv*n#1Q qf'M|,(kiGtΑtm Q/p5"FRF޸zIvcP;n{i"i\3\ZgCg >d#zqg8- {ZΓ2- whb<`1CӃ\Σ,( gnGb}sZVQrHY׺}3F`3dIؖбA䑝dž=ӥc=MV;sAoq`s0 H;*G_2&>#HT;X0x%Hk Ny< $>՚,Gٱ)$d|қrv@zw$:`isVzdi9'zt&۞{s:`zdקzR)`0Ct<ـ zf1( x 9$P@8'_CvQ˻(gpfXp6$(c4aUCo؁8.A$k1 ,`R^wRiM46WTWlͱILq=Olj&LnP"U(%;Bz#tR%$. mF9q}2j%`ݝ?/>*PEܶRy Onz 6n`܆.$$60=8"5.T_>?eh;F 9N"E#=: JRWdJo%4!eUd ( XZo-e6 5x98Ц+zn {Krˀp@G'Zʢ{ RfKX98ܪ1*y1KjM(]X^Sbx81K2>kҼ5*W#~F7tlW;i<bXE`޸v!='沋P ܮ  IQqRı\[C, { ִ`?--l>X!C{p7 iؕ@@ͻ'hic.Fq_>*JG:0'֓Yms"1˱mQl9=k;Qխ*$g;v岂:f `IeGp!Ì(=I 1#B,0mJ87fT_Ib;ʌ~c~<r ¬d9SF*K[Tjmb  |IXFn]<*Y_*) ePb#83d>_;FzEG3+$=B3:T R\a qz>j[b6ܥ0m$ (yUT3xڝh@X)s?ЂcQ啉~c_LgM;`x<T63sS%[ Oz; l#qPFc݁ҜUeb@R$׊mlP adQ)1|X 7%K_zzb9 9'xYFg'$* ~c7v8=NFvl',3}2p^w|y_ǮZb$=20gh,F4@ڧgr3J'FFAv4+cc%s g=vRVUdgӼ[SbY*ķBHSqcIئ\x ,azǩO>:ش*$ @*[isd}3ӽc9#HegE6mbWT-?0_q9G#"WA"ę5Wi‚8ljϓS)")Q7UJ#y#i,Æ qZR.# YX]T7q6Ky܎=f:gЀs׷B}I&8l{zC'͕ uRGF?e-Ucߨ񞟥?w<׿PBhnz>lg#?s2a7dZoDxwUYqӞ7lQwzΊmy5-zsi39VŽ߷^~Rq;5겔o},|ġgbbCU8*OJҒȺnTe95̻B8=}3kͦ$OVL˰, GSgm?{1ƈO zW!e]'LqX~+O3;#_K:#cTtGen㎾r!ۿU9 G$O wR3p[FytR ‘Yl^)B{$ w^ל9U >z=7sHۜ}0?35 ?*x-F7d`# K#c<0F;XߌqpiR#Nzt8qL*z]'8\zHN8g8Kcv眨iSxW:{qGPN _=>2G@rq@ӁҨF8pHE?i$=T dF\Nv98LFÞ7t繩{fi8n`zu,Sl0`3v9Ϩ2g0)8\av|d⡕r+N"J^*Ʊ« + AoBO'Q`im˷jGs߿zWvԫ8 spKuG$0H-zT,D0X2vzJ-!q!,a,6U.I])-[iT1rv$Qx<iH鵢G с=A8pVھd />&ԢHȉ mı D1&pwTvwpGXFcT2LYN|2%Wazsv(R>nWi;1S8۷zl dCl M0`㌜U<''[8ֽiZ EK͘LOrs_QW!s;`8Fk3\SJJevfKbN}A#9|]IM>(r{^ܟL󨑬HON:v'\Jlisv,p8$뎕WGQd(v8d#%Gns~K)ZHIҞc_-@؛ *s'=^qX[j"y(9aDZ#Ҿo򰎭w =)N`O˕'TA]! 0nJ~hltJĪTm#wE%ͩ.i3Iaݶ vaҠA\9,y8pjdر#?˷rn݀I#-q3mE *O)#G=H&c9#Z5ރ(A 6TON koFniCtI壆}+K _ΩsI٭{opZ^PL^`g*FXtټ+8A|BG/uJ׷۵cV" Fbp<~>ƹKީDFm[v0TW~[3\lsgtI!fyg9*;WF@c,;W>tZ6:(F&idn9w\p /2'P\f\m$c\⼚ڟGV6~lI= ۷_ehl_ˑUΙ=JRrr=ny) ʁ!BbFLN^ۉps yڲ>2A';_zt=Ч=b~by/=:Eb{ړ5BBG<`'9$EM{c lښܸ:A QKz A `pݜ41xL86:cۿ41@e~pG|r(0`I'

Xf~ef-Im,2H7N = rݸ4LPl'Gqr[6hwS[<񐀅2 ;IV:Ҭ\ ޽WjvȹA(1v92<|(|=~e%~l ΥiJ`!Cx3y2 $.qmwHc<NI;7g\.[cۻv#Pz; 3t8"aC$,[$c!۞Xnq=)-ܴjs%}NjK'P7JjIc!);6T@pAʓ=>ԁnCuYܪO2<`ybȻVVRe#w<WjF(HCK9 C iNNEX\ Á2r7\(A3lT's&ANp3C]?C;3<'sm,8USВ }Wʝdl>;7$:zW{=MWQ[*8s.j*2ӌcS{@3}k[CH+צF!N^1#:ǒ#56nrz uЁ svԌ=zxА68'hTݎ>l)T>hnޚvݻxҟpjdD~ IGy G<|yv>䞄S nOFzނxsۓ}2< ww\R)#~#=Gң'^q 8#O^ē~,hstlOyW{cFNzcqM+ݶr#* %nw%I4s&лg'0ӿU2i9=~tbv\|`}EfrXs>)2Tr1x1HXU#珮yoPeaz;8ڴ&:9?6y=*qgD'pXxV<LpN<8\*xU'dp}Ud 0?Jz=P d{~zT11(+؎G7wET ~mbIVV Eps#|tֲ4hQ'*3p_ ߢvG˺$˺x)܍ % xPk0GI gg8eG'~gHLZAPyhc :A1,T3-P}ykɓ+XUT QLn8^Hf%m{Y#Sml\tWg,Y qmAP!Q-pG55NZ[³&Vv$ʎX qH4\|n'լ_#)&p867}¾&qac^yPKpl+(ܤɮgo5׏*\;>Yw,@'9Zo8CqbF>Ԗn6ܕ>HeMYTgv}дrXe;,0Gs~%ϖ .B:M_Sb ̹nHOy9C BxA\6o#tUj#Wv"cnZ@N<;IXM쎥Br 0r7sZ-8UCI*?*B1*tn\22CaNmN FsN3j!\OɈR6vJ`r1).evyqjqi m1 R ||m1>)l#'9{wtYFةl0=6gޚ2c3Uog~򲟔\،S19 rCc1؎)RNGʠdcB~`Ar} yb~Q3ք v0NO8Nzzwp `O~R1AQw [ U@z3` pj큰?'w=}jz%c s{t,<eOH #x tzрfm{'<9pqF3㞼Q>F%K3NOG#دq_yp>)+#= ;zR=Hl6.xG dg87,G#,lO8G+ }:惎?ˀp28= 9\QH#zT,[*cT^n$ԎORr 9#'^]$ FH@1q: (ft\czgZ|̥K*X,3wTs|[o f K*>VcӁwP ݷà!sjd5 ]*p0I.ҭ,|_=Ƹ:VтMܨ<NOV$2A݁85SNp1yD9c&;y,:nsR%,V  gJ\싌24)Ol󞵾aNǍdj;z¿sR;`B9 \gA6)6 A sXUD7pBAzW%'Dqt0y)+U~PO;q_Gy<'6nl]+$aT,X:UYWnأF`[qB^Sƞi 6eo1@F2ak< ݼIPO< #Q=J.nrHq;1˵#*98h}1G3!6/Vu,"2:t{vIu'.|'nX985|jKh ' 7#jqxߓWt'4f4b47~NlՕk' 2wcjnfT 2O y 9, $SJ~#%+;7Zt(@r-0O~O9\\,*4Y 1znbFy4662Kd6ŽBm{0G#a-~u@ߓǥ wzl(*sCsG|Á,8ܞV#"RHĄZ<+FHnqV!nJ,L{ 0^(Ov5 0ml|m?:NZ"DKC/]~_l#cL3)xq( ѣp2TH8#r9."$K+c,I^YCd:wvUI$a@gНt qq#HMR&Ivr9A<'m )#fE!Gv#k ]H!UXrvOR_ ĨV6'f Ku:[;1!%~fۗ=鿅}hvۭ+&sj78c\휞tsOr̗OF [``W_VՙYY7cn?*M̻6wyO=G'n+άڷ{TV#ۖ>{3G߼@XS! s[ѕD5 ^$eFp pO4J[9\V'˂gWU*SnaR-wm1ý]|?G9We{sl6HD}ɴ$O(DJ#3g-|vM6=!N;k }YivwrHcef#;v_OZ D_6Yُ_ʺ_#T%Gi^ڱrv\m끏^> H`#Ws7}vꔺ~?ґ\ONūim;ʹo7^s8ڃ&3p@#ߊ^qVRPEålRmnA]Fv3_>vw$ ,Ky!^*aOi7sXS$O&xXO[[(Z! $ &_VI4ȑf(\NkjiKWorݮyNe Kooo$Q2)s96nG1 BO5z}RQ\[H$lFp(W۝Q tA) `zܞ@y<{Qa*0p9S_@r =nrFNw]rwBOnÚos#*0H`G'g9 `Į7u1F]Wn7H<ξjיR(<*H ~'ZrCՀ`<"ia_3nwAS\cp8.\{уomoBIV# >RzW9v*v=*Nqל UGFF)۴cA,QҜ$rvNIu;OQC0U6VP9bO9<+VwIF~v ӌ>9Kޅ:y9c\`bKnV##N@t> Sot`*:xPrcZMA\ \^~e? p3&g!II{=E:XKHVVroI&Ơ}Bg\+$m,N93KmBeޒHd$byىR}gS lAэіTxԫΌAn0zsԞBҶ7<0S+9I I0GZ.0Ov3Λ흩Lw*/݇-rܓ=3 ~E(j /.  O)br9Uq"f2hQ0O'nqR[BRvRssREs3U' QcMCHHJzaN2Nj\J|mSgwYJ(237ͺB>Clbڭ Q~Berܿ9//hw⏷IP -QoGCJ˩,\*qƃ"7H cA~Un@cn<qR7p`n!yv 8#;I^ҍ>~FN7~Y3؜Tw~#   (cIxc8*l… t!6Hˍv _dژ 68YTlļ$08F7UfN7sOXlţsta nsfM˻#ps?&וőkq&OݧVi%dKNR@q>Ej&RX#{ ww#׽h*.]W<)AX:m"V9c N6|Ìҭ;mx0 ɿ#zH^:)Z=E;k BYWjt0=빱T;|2^dyzQoS|6u֑zM$6p7/qx+L8ܧ}ӊ()[=60i7vQXGEvTs2=c ÜyYNBь1\ 8q?sG#B$ܜ{փ.ynvӨǵ1V"qc'>tDP|5-+I`Ty}8$І1O\}:3@#[?J.4qf p ᱃}~;77u!If\~>2Zu qoUbCsF9WE(9J1IٍZт\`#~n$A㨯:v6Mp}FkoI&kuƄ9"db`)n̠W ^2*X=sOCcy;~m9Q9d;'2H]X;U>b2FsW9n͔׾s=os5I apj:9%fF` ~[iO! (Ӛ-~ko ;3;`wdc$DaBvrJ!1dV**+m֐]$-@ em}ԗ'nNGq~j\-p#|vܥ.'{-p% c'0'wbNH==i79GӧJv{$ HOC&0GXbHRs|zl3 C= +A N=?>I!qϦzRn';Hy34, ةVV^3,h.@Oгiږp_@Π+)$h%D?U#ҩSQVoF1G9 *?+)d=3.&<0OS rq7%Cz}=u؋98S$77Ldtd$/)<@Gw;0KdmPw ;Nՠm&DR#n pb1eN\ӡ8I`t 1{zӚՂ\#^˻FNӵ!wi˴4yd*9:m8cPz=yi>^]btga G3viFb-Fs)'i m pj^(GqRw(둎'Vig!+>{sovB Fm͆JH qr6qАsXkg;p=1O3 qNH%qr~V#Kng=~j"ŘF9 K}cHוR>_lQ9ᑀb=*nPp2*ecNsWۡ# elx^GBG^.JQye  +v]L6D$eqӷJ7-.Ov[]Tr[8 c՞n grn߸v[CRJ#r׮Vk-*B/dž\[B=_c)T #/N;z^q޴V9 mL.䏗.2="sVdUhYcWE e@z3O.ǹ!H >[Rߞ3++O#k 2in[C9fBQv8P92xY6)ڄHoϽ!֠H?t k㙦lɹfe p QNW{*JNu\`B k7.@>:w%YiGLFanWTsx:-=1<;] F#?3)0oAn-@ <spsr=(+4 էa1˾BpF8'ڪyњVqn|y-: . ]&lmw899}GS}c~^I| gp/@9?ƴp@ǧQGC93z$9y7dr1+;;=?Kc- GAk8d6w|wֺhRG/B׬ Nぐ<~ @Tx.%3AFGו)!%3z(5yz;P;\ʜ^ӷS܌p}=Ean/? C*PþgQoKPUp:)=j«ӳg7rFFb 䜌zgJaN1%|3K{>Wl >2AO˹F8`{qP. OJM^#n_[ϨsЃ:uRW~H%+C/qx5!'rC8˷_BqLuԭA8kE@9 񀠓VOsXsgsnL2q 9;Ocz/e0b+8⥈|jOĞ?Z2<8nB9ҶmS F:[&8O2wd@ ab?wl=yҦ^I囨;t\F3ӕ0=8$I<{>=c|f;yiӜTAݝ1Sh$~b3 I#46'3޵ouMCVYu+ȶh!S1l r2hڗT{iM/8z61wA?\M=@*~fb:m_c8nz.@랞9| Bg8'Hg=}1R!!I-qM CvvўTedJiaҢ`"|nw,6srTM]7:t9 uK:Jkl8!QMG?,;uϜr`!oܽIoݑϽ~R\.Trjm\&#RFR4>OqOz w;OO\piG &@k1m)`A }'OWebĆ#$ q[7^9N2PSHt5+M$:#'OS{,LdHn9 T<,/Y|Q`Tc;\#h5&@8!3%x{:WG\v?tdd [6C.\u8HYH`Y=pr8ɉ|=va=r3ͻztu}'# 9O>S,UPFNM5%aиa&mRi̲*B`2;#81BӓA(Z9.A"YF^7mVM_E wRJf0N[B;W4SZtg՟wɦk*8?|u*3=9]vs3'*w'|&KCR١ R+Dxf*8Su~WY`ǧ־,kSK2etOw#׾{~5O8}:|w=-}{;QtN_F?BpG1Jy뜎=ztlr;xqQNAw$Ny㓌*pǧlt{*dns?nIXzc`O¦#P(:m<=3ߐA09lQ āG_aLdx=KW2qp8܎dS}~9؎9Ǹϯߌv-ƅQ9d,uL8?UMqǞ=?>qUk= MNA8RُםHCd_l]-*|oOeӝnqEWD~bFq53lY[90p{^7zHzzu=95-K3FQ[e @=ATS9'#K-dΊ?2o<3El 6`ޭZذ軔L,Fi8;_N8Оoт1:qԒF);[9<^v1naT^d}sjXdIx<1E-#ϓl [m L{B'타8\-If~YԶC>RHzkSǞ#MIi$y+Go '998w}6CN~vtOqʕUwuW=b+HZ9p(b6y^ %yF1UskίR^Z8Z`iEQW/$ʕcp ?t*a\FZ۱v R#9[5?@Eyܶv̼J[C5vREX渕r0>F$ >o%c;˷V*>c qלƍʲO.Fr@q՘?UO jpbC"F!fiesA5LpJwwey5@ 2zvt&rp˅y1K,RcbHH H 8cq>P|(vѡwO c80r h&A0rM gA6M,,q0|.;k6HdS);ð?*yXtF!48b+ ܼs:\u![ c03Mg*|k# Y #;w7=luGwET佺4@8I62MCME:Δ%s}>KtU1INxFrF xT|e9<*rM]Fӳf8<#6Wޤ1.#+Jp=02*J4 `cF~Rq;,{Uwu`<0=zFE #i1^ f0 G!.NwA9/r9؂#|Ўт9pOzB 8Sß1܀p=sW8,{K+n]ULS8[ODd՞@hs5͹4\mE t=zWN%Qa U;HcҢw&nHA;|X 8W<±`*3l(˷GjFTb$SSg~h]˿pG2Wӯ`U fI.2 =iC<1f`Iz\G8n}ve9`{qRytX1rcS֓Ћ;z|s$#ci.B!#kG* zҍ.퍷8!GGEV9q! /;;0G7:c#|@FnOJF8W qs׎G#wV(89;;jВ vB~`rp ҪTB$?1}}PeBѩqLJt{;N.w3|qW},"P<҅^VBWpӡ>xn!h?v6r0A9A SxzxHm M5m,lC}V H ɩ 1WjGץL-"uY >v+պ"䍝>l}lm Wݳu5%,rUVso% ?{a(ݍ2RHYFY2g?U+TaOUY@l uڡ9USVc<uFZ[%Yml#d%(̮F'qׯzu7 OMy_ߣ:psY֡f5V8Mc$8;($a#zs2D[g9nrF:$򽎈 #@@I,u3ߞGJ߆m W* r s8][{[cZ[:-u) Yd(ɗ+PvUm2|K38p[ vz^.<:Tת> ]TkԶYIX=ʋֽf1ʸ*|N}k lbqPy'?BkFj)=uMh?W.e1#,[8M h\L#Zg9%c9X59ʮgx-: TFYX_~OLv46R5ʮ[%L׃Vm|ǐwt=qp7QexqCs^crHƒs㷵6*;$GVQ0UJg@$`m>BiƇ4du:@2B{Q+zj:{QG ;Ƞ$Qg{籦סRI)1 Qَ<7A^g#=iJEf]$~T S' >/VJW8@֤K.69Hj" "}>Rymca3 <*}kR'~BRFÂ1/B8jw:zjDr4%X2d"Ɍ; 9o+}Ib`D/rIۜi8s&e2m,$s>_C J/@OiQ&XQ!,He/NO^Mh5Mۘ|WQ%;vĒH95QM|cUV c$4",~h`9i%Xc~~h1Xѝk0ڬӌsRq) ' "?W2گ; p(eq831 6/H38(G=:U`|dpi]>lUU;FA9$4`Ȓ,H Q #޼Mb'm!# 18vfM:DҐ<#"3QO&D1aYq "9Ag># QA OAOjbZ&kF_!G|u<:Ys{\1F*ef )Yl+_3n֓P0'rlD?)tn8 v>W,DJXb6p{ӌC $78Q4 ,QWp86zSo@@8ڧlԞĢ8}pݖ}OXv,F v;s{SI!PreIPr~RpT898%<&`K:ۍQd+tˌp)1,2O;vx 2sL|HR>Rqׯ%?#2TuRCCDJF8Qz|iY2Q KrÐHCFHp* Kq&*Aaaݏ4c'q'f'907=Aߔni2PN:Xr2}4wXq]ߞqB'䃑$r;tZipÔ8_@ '&68q^q2Ks1>d9134 !Ƕ={ᾧ~q+2= tNIt%:a;  LqnhWЍ¹OIonW9>iD8v-VPI?JM_Ө:? `8 r8=*_0.3h-jϸUAl8 9Oppi>h˓T*[JlʍA`"1ۨ^XA7L&x}=k'=J-VC XUHa\gVM.䅒Qc`y@E'Qܵ[::x*FF8=x! Ř,w͐~Pxz&*B x@cךgۣPvlu HV --(}j9/N}zTǙ ȸ#fdT*}Z,/P1'o-Y89ҹՅ6֋k*3kE:{&w$ AA$6z&am}O&Ffxiٞ,{zme 8 Kؑƣ )''_=_:R׵n*)$tvG NqO*xAsNOө:iIwRT c u#${=f\2~ۚᩩO89}|TS#)2kFO?JUPwd I?]1j8ۇ/NNGAS#?)g$(#8^$u0}==9sFJ*nyQ^;aqw0N|D~9U,Dlr2]OQi'T xnUs\1`v8/ˎxqW{K,wFg^by2pct'+&ܱ9lt'aPԂ3\m[ύ|ŷ'],NqI!ʓq:k=N)$}ީ07vc뜚f:~oo T[py%ڼ" ^hC0+cW}vM)[ӱY68 d|0dz+իIrO;IP݅ت3<{vj4ڙBsYgKDr*2G9lgҝl%W034+YUT`:7MOi9-\Vجr=x >2J30<"=0sH` (Wĥd:`@ۑ8#"XҎ@}lG eLZOp%8MbH:>Zǧ֢($ gld`? |dI^{i}L7-Sqy%08ʌN5GB17O KRvFHy H; ;nyf{1H̀v1 b9' @8E *0:zԭ1ؑqzgsθ=g9?/0%e$z [nrB {w9`8{QC`Fx<J89WqbT@q*qV%Wpv8asE8G:1׎G|7UbO=i3;sC`5]Hrs ppYcȦN0 d^8[آL FqH;}3+@1\rT=NsDvRO $RzF9mg?x׽%Ȑ exLG'#ғOQH Czh}:9?0'wBϊo/?ڴ<}#$~\_vE rw6j$AIs+=S^֮R{eFGg6>y?{cvF;OkEIl] VEL]J8 Wj2BgӚ!,|22rCW<䑀 `zxʃg>QJ gs{֍HD[3| (A/>ww-'3+g(7 #HE 8# cޤt02rF2@'5-4G@ = b@jfʨlT6ѐ8±rhqZaW&88`b= #kj¼$,7;\JQ6>8=k9H147V*s9+:[Ď0G$|PY;s YoARJ+q}T&gmǞpI<1SWl#) Dd#OP{큂 98'uRvm?O$9a+J@-R;ߚO~HB@ќLߓ]"yyتpiq1xX`ʖQzӚ^^W8y`9.[B9$rF:~Z5{Asמa:Uǩ| Y3"2X2UCc+dyh1*8F Uaw6C3Jhh =pA8#ҧTy=ޑ\ZL`Cc bIHSeݸw?_^zf{z 2]ǒ8Yx8lWN=K0:JHߑvrj1\z?v^%̜ٸa:zjWgcj/sm`[Q%1( Õ֘UN- J$|NRө]rI4K `} yFbDo"䒣]kIwM灛>|CI/%o2CnU=A'^ˀc qdcx+ݎ#z+3ċ"ɆV1{0 :9;ۄcg!>KJ,pשK0[3][ S;N$z|X6QJtW8ˆBm#*H@HI̻F4-2lz{WD"G=I^DK#Fa3ﴜ" B"kDGREpݳ7)$g}'Dyx۸7{ i#1ۏ*UkɈZ_̺D q=>jUkK% `cw u#>\eM:,2˶9YU;gB_硯k{V(g,SlJSM$I|$$b ErIqFϣ)kʿS+V%Q36c,Ϸ\~t/%3l@"Z ;j_f':,7R5l*#bx"~Nz8#Ge%W< ]+WxqBdbܝ?Yt2brWA8$$A%c@0A8Pr9$}@#9v,߈$8ץZa2*1f9Bgzb[6-]D!@VFc$G989nxY~P\@Xvz0Fp )֙QFI# 7!qOzϽ7*H m<4n;saHwPt G\ͺ,KF219RHS*5X/$s?9`E%dCy SF[-~` XlVVQ:j˲]('ogzz?#_g8|HK#(#l g+8)&vVr0A-GnG&n5girӀAX@ rX/|~Ճ9xAK-=JX] F^c~+B#jPrq884L[=RCC[Gb_fgpqykV;+pqgWdG:^I0zu u&ɣw\p0GOp|vǧU93Ip@G98q2< 0 G޿mYOwF8սsڽY܂L8* YIw;- 6}13IF'٤' zh;~Q=2/}(U#b'*fmQב֚z$8nvtS/Bd >z9ic.]Lџw8d d}O?+ Ec*R~VOiQpOoOFf'b98qqEօLY¶w5a:]85N2r{&xyd!g2  AAQΧo476nȅ]ߒ05&YCjvwx(N󝖽sEzd>b?7_nkU_!S#H?vzuVy!dk]o4#{2ܲ[\y$*ϼ68㷥{<#]`98a^MiVzg 19;td8ڧrܜ3Ӂ=[Ҷ~M Y[wVĄLٸ}>ڴz֠M;?"(w1yT.oil\7WyUmHKzc>ւ d`e8'#׭H8.v ǥS P N t-߹pYeG )c3szci$'<9Y,\gP^}N2"I֐T@@Ui/*ǜ>R[c8G!2\Ws12:HhrX V'OQ9\y?6rvOPx} :uqHBb0An 03;$09qD>曟\$мlx0{ѹ9(I81M:A={~&pb7dۘ3:Gfʀ 냎Kc>y櫯$0Z>%XLVHI?ĸŒcV41|UJN J/iyko 9[fX7/$sfUMQrv:qKV `ä㒻^*}pK~&B.ve"UՉ,w(N{1NGj&4El0K)Q;7NnYr`vҹ̒k}$/͸ݩ,6w݌pɻְv>[i1-qQO0KmnPswt9+W12%@W9tx_D5GZ͸2 0FF]c@y @rjm}+]GӣkDKN#@\'IH}vch* #+pZÚֶKdV2G; ]i26sc۽pW.m)^7c`1D٭NEBdF`v^,Q)XCsm1ܱǗ"*Cd3Zc{㥎̹5@w9xh*ޤּNm-h=?fh€$d>Zv' V~|SehpGg-[Of񀱲462.G+$n-CuyMDל_1ĸeRk-{'5O ՜9'N}Gh|gs_}Hsӟ1:P:sOA6!sz dp?Z]=:pON}!=A鎹Ӟ:To+epA:6M'hfc29l%9|ps׏ʬg'?kEiRZͤ86./ 5ӚG3 T7geIneYKrۆz`n>\`Z>K`8522OϐTܝ#p98Қ;#{g#rF1b<%* dq~;?WF亶xRacY9A: 9rև5@uI 0nNa1QT⢚T$Eq( hg2t+ؗz`ڔ=T| HUf,Jy#y~,YYGH'9;2t^3 1XH6 c=}1Pm'=*S7˒JQWew\~=)Gs#H s֬RFjary%8.Abn@rN0}{Hf#zr>JX6s+uVkvS|U~bwyG- ĐH`TԒr O{܍!Æ, .Py@:u=xЧ{jc*6eU`dald zc֝mHٟ;UN<zbRKTm},/≝k$:sM$˄ÃaX / >RNzZqj[;%qoQb739ꁎH~l$JX#b=j$VdYǕ7ܯrzC[]m58R0WA)0Дk.u@ S 5N3$8b$eT'ȧ$ׅ:u'ִ ڬd3.qzR a(c$B]_!ʳGSБ۵MEHBm[!.9q6_nnzP$-l fEۅB5gba"cq 8 MN9T:Glvd xz ֓}BvYą ;c(dNHJmbՙk+?09w츒4rxluSJONՏ.${˔mS ;,Ã'U^EvJ.r}, ~]t|-7Wƨr,wuF+5RExb# 0Wj);2 db  pNN7_V @R:.vg1Jar2U@T#E99\#z; ˹`v0۷a3T2rn[d#Ɏ|*4~lJO$aZEl35ӻեݑ(B=CS$@'vx8dva lIgȭ!7$͛kc0dtVH <ѝo :qt' KYYa0i&Rm`1 _iA{or" f!>`֪zz8_[b9nIr*vdt*p3V&%sxu+/O LGTrfڮc1+^{{Wi%ZE/J?NS OdaO6@8IcxfP k5$PT)cLב_-p-זl(nTI Ԭg\nƴV BAk˩J7GK>N*ݗkN=i:nj,۲ZrZ#AarLf[PX&] fRN#$1ai8is[K<'P&yvD&Uuz剆61 "H9S>_~sͧ&yK3VL#*8# W%|ғ(T?2f *Oj7{z'͒. vr~Oj,HtTb 8瞿sru;1' O63Q7ws>Ӗ~˩ + *I=3`qUҺr d*'nfjkmp^P 7}Ql0T 7{{;Bv*0{_ycR,xQ HϽJdUgs=Nцys} +WQD3NU O*ו(mij3N c㰨 H$,Cs56uܤv\s?_iuH8A: 2;=1T[݌;V6A `0NޅN8MA܌PAHH=W}z{Ա?i?* ;F_œ܂q(HXBr'N*[l0G~-jFނvF =D}wY@>OJ}^a9܀%x~T~3PzCOQBG$isؒxHZ26F8'*U 1 G>*dJgׁ\~"2d(T cz\V շr|½ U9Z29Iq~gZn1 e?(ֽ=U+_ץkܑ~e z3Nfe 9@鞂4Ӌc}3,n\re JϒH٣X$~EtS؞EH+=FU jnIR03kry`m9,xÜROBYBx >:Tk夡v1c rOj07;"e @rusСd0 rd6l#;Eڸ[}~U2~T`0w(\#1>LdXE/rT ߱Oې1Qe0J;0s8Z'c6ɝ͕O7CJ{UIޙy5W):4OHBe<FjQز9q;k9S8;ULoQ[9^N3:gRv93,;0Tt` 999`pX gHT*QmN2;tA2aJ?0X 8$:DJ]x#qzi7UH0ڣ#Ǟ.Y6 g~׃h+Lq pI\qĔj[!{.D,y=+I'!9)uh~TS4+3@Oš[IYW+._HFB6X(8 oQQ$`2|z2Ɏ@$s׵K9q+#,1rr6vT1܀;8npA҅~w` rTl֐#0 eG$cpUPqTo r#X8#.ʤ*`r;=)Uqņ` ?ß^3A=BӞ1M #q+N8$U*\3dn8*rAQ n`dHwpvC(F`ӎ'(ާʶ8ǿ8yM ~6nCpU#?.q׊Vq݅,O41pW^2aI=J܆<8 zt4zg1xԥ ?Ÿ+]q󑜏T nU8ĞסPdnV(1l<ҋD9R>YH*1,NFfv,0T;I+Ufߥ'$.YVHʢTcC:֌6i w. u4͘b]dNw8M22$ӌGƢ(U8u94QXK*}Y3'՛<`ؾbn>'Am} r(1%3=UFs~At,ĹryLiu\ UG ̙% e^Heם'FqҒkVKZH iwg`6.=G;V%puOFS9-=TWIegˉ[̛͐`+M4clVl3ϩ?ו o=x s.dwKXS(I g9_Ndc˙bA%m-.ɍNs1+W vYAwi>Yלw#i\guF8#4 2I#z~(dnpG\ʳoR$לcS(=׿8; NX=sIbRxby9=ҭEB_s<1'1PYFN3J cf}J䝸 v:7nߚQ=@8?AD.\OGLs\)uXh8|rHݐIݎ߅oCdh*\UqysTΤK;HYҼP2;msۏzPrӮ)ky}'-*E{Zt~3`۶e.UcCvv#C#,jJO`8k asp~h.ڒwzwɦ*9o#j#Vm'tf?¤kC1bm  xF~Hq%8EjVe]GKD:9!,Frם.1&.4f:[Ʊhc |z ǂi#$G "2{"#9x5b(AAwʹPֽJyue,,g#2u+cO~ќR+ݞUNJ}{> c#42.QZGinvr9.#ּm@3ĆB)qֹfuSH5Ǚ.>P~Vs>lAn9[$\֋c R qʹsd`  S22u?61P6{ 6p:HA玽jhIe7zs֨ʕ w|'yךd ccr}jLspr ,QL>) 8cN8HyD 9R6たCz!"wy+,Q *kr0Vr34B## q6 |'8@QmQFyⅸiiwH;U&F=Bu9 w~ȓI ?z"* Q̮ppp8sY[Nj*qmSQXd#frv7}޾:lmL霂-=x""v}*M՚gk"{tڿbz`g-ldוr$ᄙqS#RmB8CIoaӌ1!; ' 뽾=@>'h!UT|;VngOjZɳp _yH.rN1n+Umn z=̩=&<8t_J 8'kFdrBG@]*X- gmqzG'xX2Pw:\|_;JPUI &wZRIZ'9p~TP9=6OS+B p>PN@#ݞs+F+IݞqtJVSױ*gto6z$o'?i8{X/2ӎϧ>7##%枺Tՙ!w>nLW$l*ͷaOk`h9OnnS{.XSSMV0ny#=3vr{c9)K'[9B &ݙ叿S[PKx$\zkawoi3G-DR]D jha)vWl=sitI*fH-╒NudےOdίEk j{i[\CRuQ 723v>l+7+-O^J7~_᷉5aP/Psݷu+ZGMQݍqgE]wF5PzNXe0pH8A3_7kR\ݺ݆ *nLGVwg!²Ķ$9LWߛ㶧GH؂LBN=N:1U9T*xo >99# -oG^MlKe;hIvp(l3d zv8A8R ?(ne<eǷl?.rp:t+G4y =\tY䁸98\u tZHtO,Ȧ]@F'=(4eHһJ\mLE a nOqާQSqq1-=0B}d)@ݻNrW2(b>I~e\0#w:R&2yzy JSeVy:~4\3d3;rAn1 PG?x=:`D[@Ӏq';qn8Ǿ?1M ~X3zg8g8q=G5Kp",y\N1qAPfOqn Q鞸n At'I61ty?ZS⋆/$w㩭m2(2\ZY}C-HHs1qE~#UyW1pr:qX7K ATFrh1  [%H'<ƛG$o\1* |iEЋQ х`"xRc'5$y$ْpP׎~1=Gk[ vH07J fWiq pWfp[+*[u;bL3˲@ECo #Fxv;短T)WGڹ~B܅y%^@b0~\XGp c3;e'2?WskSUv/Yd *-:I/1Zsr$6Uٷ$nԺy~pֱ a$X+y~YjYպ;짂dV$$Ʊ0`I k?ޜDN(ovS@ۓ֒)Nwov\B8cG$ӥBNp0;cS,5b+ `T4 (%9@#vyK56>$[߷Tdݜ_6 M{<ͷ YnLzQWF3cZz¦3 v)7C t$U @ ;@rsߌҺQ.9=֪ݐ2_.2zzYKn@N܁чs_iE60ycҿ9JJ*V} 8}f({?`~G#_# uRm c>Kr. Olz\E s-RdXc;G[{t/agzusG `sBx БUg~~u[Gox1ߎ=}+%l<ߡϵ/1מ{`Q9<}x<`% I=OOJ{zo5=IzЃ=.dk3")`!K,f#Yqw=ivda,E#<{Ӵv-iklŷn!q gIia;>VTV'vXpcNKMY/C;O&;4R.,E hp'zWi/uiɵk"1D1%T9"ٶWM6m|}FGvުIu^r~v4oSb~bYTcv3\g .6(d_^)#9P[bF~H'aӡCm:)!iVm#QS͜ Na* c6@ȽBG=*4`x:WhvzUBqR3c\Oa]PZ/#Ѵ~' |)?N6K1j"rb.&i!M}ɦI*E;I^0JEz=vlsziwiߪS(bF','<$HIRTI'=NMRI#?:r c?N,w,p[3rXmO94==@_Q 玃j"y8nQFz'CZ" (è7LWMW$Tdʏ*' \{UX !Hs\ReRwtQ"@ ׹u z+P'=Cd^qrW<@Lu'?/?=iD08SXm2[',>8$9R)D0YO$mave[`cg^3ֈB塔L6UKsaqV "͸ U$dGSWT`9%6،| H qkjmh ;X2U&JǮZD{BI F0'ypOATk"+@Ō|Ī){ H!M) a&+lX@>F2#܆CI' {O5NY[wʎfxgWO"2I^}Xݝ4-o|ȬprUW?tq纅B 2X緦lj7h&FDW333Mx8E2IN 1Z+ $?e2ۻGsIݹ:j[㋯ kD%1*678|„qZkUF}WJ^M'8e 7pyJq.H~_~g(JQF֧)Hv>\}=3N֎(?\t=~&7t89~'ӭPG#֎׷sI==FGL#;4.DxVNqA֜^{3R~9= zҼĩr==N*ٴG̈\19tH^2sLzw&t]==1ޱo-#'?o4[qI^6 Jr]z'y3Ie/8zRvnKT׷Av'"'rF?0ajXyR0I;qU-fheއ(65KvRyq^AztӕYOqY)ZN/JzadfI. |*X q>{,t yrOV#F[Nn?KsJ6*q;~bs5ʐTVs׶:jZСbAU%?gJ9+h;IN!2>jCe<лI~\gv?/ ~.oѸʱ+d 6H+U ׁtF^2u"kU!\a <ϩUgn@c㪃M8TզgNuf#zEm냐TyOZsC% pp =ϭn&[Yjc=& 30ڧLS.I :Kk5Tй"0C'5R<2a)$^;|ºhrrw$⤣YZ@H6CwV @*tV>m-ʚsѷpr:N?N+6K6$  Fz5D]=[*T?W#D*3qu?C5Ij7DѠ78Goj fdH?(ekE\74oo3O;rdSZQزGF,q^U싪s!UYrY2>q"l9{XC"Dvc E$ty$Y6J$ִUcG"+ʛF0pcRg;`}x@2cӎELE'AF- :.P(zϦjFg<|8R8=HJZPHIFap;JI{`n#c 9s|˹FV00mʲ.2 Xua? +iجcx`Kn ]њf߳' .8n_ʻWc6!h9 u<ޗd+8<+$e 6\p:Wkn$@ϱlf AsMI>N<{ХAnq(Qs;N2y'hiy2O@@y#ԏn<'ovQ Q/n6{d@p A?sV}N'cN]P7<k; <{Di7K3N{ +j)#*pPss8[_LH)w!8'tt*kwlv]]ʫ7V)I%0 =z14}w7ʞI#q^y$9Ϙn6q=(Cc#K%}qϥVX9;Zӡ!`QNu3T2 B1q NiCԊ t '*H[0_yNRSh3]9aRZCuo67$p˖IXp_zu r2q&󸪒E*q].`dX"Ƿ-oZ U@_,#ɴ- v8S3pvJv+12J!nON`$l SvF?J觹oȹon-yf۹KuCU+@* YY6 O ױfދC7; ]D[az.܆S]r*mVhX)2 8#9Bq .gms4dJRI_ YcnNuE'GPB>n#渫aR/DTA՟qHش (xvDdϡs]p$$m8\Aֵ|3= nK2ꩻh_SNNy\]u#M>T< gf4uê%NJ0dkVZrP);UFIU;媎zڒI-V?( <v:Ua۶ef<0\wliC,pȪe <}ڒxNXnbDc=+F_ UId;ᶒ럸eF: _C^mNgd:JxI䪒x(8?q?2ǜ㚜J3-@{T8Wn20[?օEaN$v in<OUh=L#$6p:ѕbUA`qzNy v3$Dz/^IqC߀@Xc9Ҫ;ЎK}[ nHҰ%̧ 9x7;4 ,S$ oθ(I;'qף%Rg/=L6m::V\sHz)*s^,FRi`ͼ)`6U,kF1eaȴևԕ֦͸TU]A[:a:Em#HvYܪ.Zғ]9I. dIncQrqDp2lMK ~8?vpJoBi&Q<`܅<4X$²'tY73xnҷRLQks.@T0W)r 23L v.̓8Mk]RWc$^<N-u@F9Du p;td*EQ2=e&@ڛF>g?xHV#ph'?#=)F3%Csp0l1 T*ݍ+qII^zOSLuJ0P HN2h񸓄1cigUN3.e>i_13)^8P=M`}}Qz~yp8#A1ךHk*l`f0?]`TUr;Qݏtw*T4;1/㐧FS$@)Mo,>d2unzu_/8+9[A (ϘFy]w`pIޙ0X‚3MpDX#:0ϡܫ9<qQ+NNF̑o<;Bc#@[2/ĞH3҇ 7(傀'e \Ha K =,YQdO/pެI $/Oe ~\`mUy'$5r@FnRŹ^Fx2m6XWN9R$[k?.9ZAwF ,Jʿ?HyؠpROӥ&$+.\'y0_❲NLy^# 5Ԧ/*vc2H;=9,| [oGs-CHDlVݵ;J3˞2 ow'OJM򏕱kgCpee"RwlF㓎5zv-DbIs SLhl7 _3Sl&nr{*Dn\il]5Gݿ dVn:lck)I 3Hk)M&u/:?۫Թ#cWqaߎY&0`g1n䁜1G6ֶ=Yu8)?:8#GW g$dzҺ](p< 3yyڕSŸ٤ }ۃ5R*Jhyuqަ^O:p>_P*p1푞z~eW%x g֦z3)=rH";~$;ssSlLs:Oq;qݱKO^#Ԟ?Ƭj1`f2F3rǦ?[\uI:rqrqN1c2)UrJ:cR ay9? A!~`czW `Ny#>)Rе0o}{zV:˸ MWnWNW3jtLt泯uxcnH#+х5dߑ')JDxֱ'&V%WZ*[=_Z0Xde-|$pz{+VیAl/prOlz׹EZI"109߉B`edd%nI=+|-[i'k~U@'9#ӅsT]~&Ɏ9?PzUr !X oΦq:!54NW@$!'$,9׌l Gp3L6u4"3-l9J[b[I $GnUEf6w.,8V8=b?+#s:v$EJ28Bq$r}=3S3Ņ,V vY#@KA-M2#2#9c=J+]79?>Nz(|3.08nqQޤ%Է*L}ӎYjy)+.]1۸-^'8&79@@œ6zSU)J ZȣbwmUwJKg08YD7pY`3(cFNd{h9A杪S`U !2}$u%n)q,zf/Q)4^`cvN?^3Y3mNpF޺lNkbvg$ TLbC&23YKCX/ͥײwF3y9xs6e,̙q2[d}Aq\:L2Fdg99 zYR#BŎ$|N_c㜏ZuCqgn7?i 0y{R \gԏd*z=v- GVăi6FpW%e.;.O*TӃǔ,Fy{~Fr2 $dtҠo)F 6rpNq&qH2 HלiO˿,W xL y Js601N@;qzV'PT%(y\ryZP!fRVhE$csKb%t 6[?uI Ʈ~] <ӎ?.ym];A2nJI}ᜑ$2q)?W'nX ׯ"Itn||X(80<Ɵ a Hq8.F.3ӏj.I )l|Ǟxя]e;;F^;VI @ͻQǻXzukAܤc2 r=sJz׌Su^Cf0BcZ0Y1 ;f4T$2200=)I= 鞇cLԆu==NSvlspI\>ѳ]y}IO8`p8 4,`#yjI8zw3XzH  RHX|pUY!Pp7|q֫ ܞ`F܌9; I m 4(w\dǦ1P n^Tn`J5Tm<FOI{KF,-pۓ:Rghp˂FK_U>j0kR4]1¤s޳ƀHUvX=N9R-.C`jnwe!K`zu|)^p1/#$8kY~i$ݑ@~f*G+c':לWl끎,1=s~7 j`62 1=@( _SsK-$; I MIPpI$ޏ*»rsrx#U^nzsKwy īv0+=2ޘ` X!C`S[~x^3ڷij#lF|ЂRÒ1VTړ0sngZ\̑ #&fACsDS(nYdo&Esr1 u>gİ[ZivXc*IwEY|<՝I[_xe"TK T/57ڣLbą'88jl쎼%i&^4B|H`,I~u[h?H `<ʲϤccfcpX}wjaʜ]xSZ~b)@r~ۥn.9 rog^Uws谋X[d*\eHKsqr6w9zqR2?X@gVy3TzI\} OrMH\w9zVr1 qMsG@?ZXF́0: V<(`pG'KO,|19Ye¦[vH V.OH#!sOWCG*3p;z9[e~.qLV;t 6 1SXw/sڽ=y=d~o`42X=ߊ$ %=+ڜnx'=dn߶pc>?{">9#Kzz;&Gϋs$.GZpӨJDdb!89"ݍRRHNrs]KcM$/[:sY@coͻsD#g fKyڮ)rJ^kVQAT5]*p=t+ er85rxZ}õLc77*X?)m.=.O>$s 92HyԿN E~#Qq;Dc}Zxnev2{ qhw3H.Q0s^*LwF$-{MK{Y_8fRj, ׈u!$ nqgڸ$B9@xopzGrBA]bVITSܞ:VsǑ ǫ[}:_.Usc9 8 ӯfn'ԎObYL63'ִE7`l`[lM0H< (=\2oV`eSrG6)%|wF \ Ĝ/p `y9,VL~zԄF#;rT9sJ ԅqp|t!׸vZ.ۭ4*ba+q'T˦ۗ-UTBKlCI!',s !UI秿J图vdZ?t(23S;Aj<2yݎy҂I@?0 uG?.y.|>U`>f/)s&gk$ci%h섰8GfGDLr*c_tZ[%fay p2^:<`^]X2nЯ~Kzkٴ^Y|ϕcd9'O*rvG?N;W}8ծɟGߧN }j9<=ҳhy6Ԏ9pN~gqTu; u*Ǹzu=OҤ9*8o~u3z~'k1q3Hqr;'9{פ =3*dy OO(^2=Os>:gs׷52]t:m߅K&2NI2@?J{2R$Lj(qoc6,u,1~>~BBb:'êb3؜WHlIWFU'Oֳ>`3yTu#Y|3rɜ5Yf4vՎsے}:R*hYfN𬋵cFrsۥ4D 09'kv{zf 6ČzR<Fw$㷹?A<|}}qHc+@0}{TK*)I\t 3IbLFH.xfLg^eBi$i 0>9ڽÞN‘y&T6\3܊;icH#30ْ@8$83 f1#e%BHZ- q#/@gW khb!(eXg8溫\.(v,~Tm(d\LUmo Re+ulgҢoYw7 I=0;ӊЉ20`scmUIvAU=BrxL@=2#'p}3JzA+3ZW,}퐤bygWUFsֺz}nRw0t3>LfD.w߂p\ZL1+R/ݖ85aз!DIC *b6X19F> غ^QYY \^S+zdo][,܀z2Ѵ)?,BP;n(1z>Z|VzMi5<#NCG 0 >@kp6ʛd|g@rXvI{mQ~\ p?^Fhm~n8"UޝzF{hڤ|) XyD־ 4bws=ȫN.NeOC/T_6t}6b_p?.H:1s9-I"OCZ~z7iY";ipPgWasz7miVZL(apGp3|z^SJi!l%B.UVv`| `d3~\\gzЂI.cF|QyuRBPORr}.ӆʕ`]vH$uJ7z yy[h!HU-v#סqЏBp9b8LshHmÂ?vBם8<ڄMp@q֔))N6/\=I}:XO2bq 7B856{͒O%p'SQdcUXQ\{.g*X3FPJ+\xq*>Pua{e$0Ai[AIo 4raA zƂ=۶D#C@`H]rfeEgj񜟺@ཱVMkn?-rH>*6zec)6x8#,y #֣Sx1T֍lfe ˳m> xS O>Ԗ㸏m>^,ۓx=*Aǵ>TDX+lܕ`p@pP9{6ZhxS>lۗ;S;!_ї?x}4)1F9oy^gP|"(U,`L0Ube;s{Sxm*xaT@zs=Ԯb|c.F0O=f%T`  } n 920LcE#vB /;ݤ}d=zLjQ=r88'q<Ԡu\ݣuЮ?ubrqXzsURS|İ lR}F@4kf9邼q\FnT8ǧT]K>k)P2J@N}Sl@'>(9铜qU3@HgsEEyT(AT_JcO98H3K@Ag$oX , gk[jm,RCl "I8'$aI21=F:{s$ӎ#:?nryV/$p7~^55T6rmGqIr$.޻}K;xXw hVLrq9.wܧM7{XKla*axyZKxc\9soöit[cu@89?K}n`pJeXdO5+4iBY yc,qm`$:U.ΰC&H b>w#dj6v ysʄ s9ǵi XdЁsn@nZt`\?1vVۻ25tc*0r( 9"`X}#ZSuda_G:|R$rEPHXǶ{W:~Р1m 99NmTä(eV  ,8-|~Sg'7E#bT6|]Wb _pqKo*c#)񃻂sU*|4,z"iq;Gߎ O9+mO=k!Z*"N>XƫJJt;L_QȊmlIUܡ 25q#JddjۉX \|ێzs]~HܹM y%:uRJ Źw*L<=?󤵹Mt.Q\eۍϯsy$. U' ޲ r|cvx< )%=ǂOq8~9Z/O:yV]+ (,@I?x:5e|4V5.e!bT(erw!u'*%3g b9:T[2e'8~Rz('*s&9l@wZlP:So~P."qTHcbB:UFlj QO*`S I`=MURrU‚SVeӨcޥ+/]?Úi,Ҩm-u\Az(ȑ 28*zQ^]NDXXyP Zx]0+ʢ|͐v` ?tS͔-/3ӵi.P/ Urh=F1yIRA(nǷnFZRs~##1sl6>\%kB*(/挦ݣ7js4/B^6xS`F\>%Lay~+:+v8|ͨ3/G^ȐLg_2y$/쭱hZRpJ'eUO#p(mZP^c)DzgVKCB(u_Hgf`ǏL]$Z| bNAm?7~~$9ܖӎ gj㞟?1TveHe[2<uq6 `֍q؏$~P=Lv;9)Ȍ|O2O\=}PP6 O=y©^r p;ϽZ7g*rXtZi nr$p7^׊s=r,nL2=Kl5DyAI=vZQM_Nq>@R*`Bm .߾ıB1%8c[K%hanfXƀ€7)rsӦ?½J>U寙_ v)sm"k @JƸiiFe78'ܚ$=X$1jr[3I8Ec [ޑLfU£rGgw'5{CՍ16 dz LES7XGHmeFrW%m*7أkZbh4ueVh97Psds8+& Ր(,\!xmp:gΤ F;Z;2eL*Lg@YY*9ۜ_&eʔ62囐0e$0qw"هJp9+ݐg9Qy8NpOƪ32*'ʸf@suPGyY*bP[^HQҮ}MX,$/0ˇ_-#yr*N?"rÑҕ2 eS窞40X  vp:aX$N7; ~s8$c e^6YH#hF{>@Kcwb*!AFyvJ?.H$Bg3`dN iȨ!=Ͻ%Kay-(uI#8wnjyyi!T784u#Hn` T1vVMPSuW.T'q琣 *G9[w `z>qڎЛ-OUns)PʥF7Fx0[?6F9ǦGSSAÂ7Cc*Ǔ$ǵ $W>K)}) q#+0enQɺX*>tx9hc#qHn0çB@^9/\T0|$W~MBY(Yxc>M'^䴎Pqެ"%eex8y H>? L6U!L%s = 1Lmga jLc6rI,s~J;bXO +cv-6TR.XOWUdf 7 F1z R75е6\0bf/ 8:T eco^mҙJ5q(LӷKDd1 F!W9i{۰lvr>YNNSUoBĈ$+?2n`EU{s 'lH$5̛ ц*  9h3wRNAv 85$vhg[%%XacdtRs۟j5E`!Xb sڭ?'~ 줟*TY8|~V)ohL;zpnZoпe&HUpswVdP d`큞q9"jn#e߹A64.k):NѸaO˽xu9Kwg`is`VCA't0"EAe>v>6SVr}z#wt/|uQڠsOFpH8prz Q B2Nz߷NE]p2HmpFpO^x\2SB^KEsPb۠A% r~V ڼTCح.T"+c3kTX$gN#[?tN3׃=qzX {8,39]ziu+zlq39: ([rn UQ5Q`q pHӽh۲ ?8?wp1y_3 }_u1fyK9~A>-vP(} QI>略ٯ?Ķ dB1g _98 +Bx e 1Utafs8$|П?A=n*9NbҹQ b#$'YrO<*鬵/.w G 78S r%O3]M.X-Y !!r;㷧z+՜qwZhgi[΀0Pa8 ~t6Vy`;+ڧO5[OȍoSꪙ T ۈ aXLAGD']ݽY+*sGl'=},PJ8#sNHcs9 r23ӑȪ 4sml6&]Cc#,; 䩥Θ#̼IXNǀp0My[#IueTuub1I=k[;-uu FѦ09[s1Py7|9%v|` 6JA\:s:w0[9*qzs&M: r0O*GQٳ׎G4g'~\?ľY"¦8d|HYČ0&yؤ`}GZKv4XE 1 @-Ž!t'H\gw֓~6CY( UObsq$+6Tw5 6$v?W*3ԒXaO8P~7N29ԜsCm.G݌8c#%Ü8$rpqN'\•8{v}Em) A g8z]ۀ,A9~Qս}3C`4^yOʹq>vjO5yٷ'rCHǽ&4@zé1L{j@Yi$`{tЉPFA{6kA1[ivhp079#1GbnIevr- m7 `A7?E_qIQ 09'^RKP>'Z[lbG~-1+s)zgvTv`sMWiI8?y|uN1I&` q#eXWnD@ I8FFpُܹ@Z-d+6q{qj\TnSRlye'gm6k7"V7t G;Tӌ~E:VFC8Gôr &It< `׷31G̲FBngTJP O ӓQ[WGHnJ BNƹܵ:`2K%g@ -.82xc )QjvAG!x$O4F2'Ꮱ,b8m' '" lpB^9뎤t }0 ӐG\~eRxv gyÊ.@$aFG@;bK>FMQ/.Ћw$$}}h] Cgv3Dls,>cx昊7̂_>\ u$Kr"ROX<[nr@ S&0RؖIqxy^O;YC[r Ǒ/f9- nr2yZ1rQZ=#A}sE]I}a$#=9+ xCC65Tn a G@ AֺC1USzVv[qeooBpFN9^1kw< Rb22rҊNRWZ, w-#~&(Fx@kͩ&aiw`KѶc;?5zM8 ܑ:'.稻#Ѭ-H@vz֗?1lw3+ɞ N~DowRz9w\hX<(v8Ҵa`ok.:(Gμd ztsq#}3-_05RGy>CBe@cވVQFG^ o>Ty_5R$mgGCD>o_OQzl$Y8׷i:d aUk١IF7kbj>U(\u;>=sc޼²j 攱<q#9zqz_'i^g Pl]yglT'ʠtn]=p >9p]jr15}{!pЧvTuqnc}-[Qm'}b{ǃ9~uO^$u8{4ʗr>?5')R qEsN>%Z7a@RvpǓ8 {V9*  s{}qW|:԰б9|9dt>g%/rr8:9bl:KH0#~Q׎Cy מdl8'8'V'@8r0j Vp:pN ^eY° x8{yn`ܟl=kza,T008'<'$ hSe{1n\DA".2p<Ām++rsǧH 7cA=OZg=ۤm$nG,3죡SV;m?5DD%Yfv9>#[X-F8E}P90r?zNt@5o9eJ5I B! z+xGm$g;:c\S~[>pNy= w#gd c{g-,18]n?jt_17"xT7|w5dmIvpsUeޫQdhP?SqGQ#VB 1I*20T|YJb"9a$z94B;E_#3"0W\;`bIyqVCm:W|eXn ^;…și4"mr7ua['@k qlÌHhcLi2*ÌzT4n1/vkwqw^lcG)"2ٜqy I#oVTI8Zؚ,Efr/J=}ꡔm 8Pev7l5!OF8:wpPgדӚᨭ#lC %.OXW>E ii;d.S3pN05bmY6G6NG_J˚ E\gx^3]m*A$dqwp2OQu})3A\p8U@9UG {vgz  9t8 R$8}:8֩k&0}{H;8Lj)/ݞ>ނd\'c{ǿI {s;c3t$|{?)vsS.\n<Ձ'b²Az҄9ELΤ$mG7#rF1z=b7~=U%ʖ;3ېOX眃i'+| '~)ۦ` =RdX"TQ:;`1YCax9{[߱0rss$Rӆ0HБUa{T&0x'8oF觨N>>; ~j/?Xx#=zz԰ urị[۹;7@k!pd8P{d.y5y1ӌ#$> 0rH zJկ㴁M@'F#'=+(Z\.s$iY.f1<L2T1rex[wLr5RV_3<)ᕿ:ۣ}431u^I2QAܸg^.UȕDG@b-vesxE 0ehª*rᔦN~psZ[EOR|Im@䃀[8 7N*%S>p7rK ܞj2KYUݝnPA󧲅]#JisvdoD!OLVD]۵W+FkDCwd. #y9=N洖X7Mk̪/M-A/Q҆.neog'ρ6(H*j]UrMzxTI[N珙pFӗe}! pcPQiH5Pň$ 8Ȯh|]SYY7^DZ]39 җ]ӗ3R0"X,)ܹ#HónpUR{U?½SZΘf&WJWǦU)>S's9[miV͆}-Sf%j*=^⦉-#"0&%.1׎٩C+Co-I YHqȮMԦDxܪ́L@3$!>Un`sF%2w#~\'oZRıurA8"C)ԒXC,@*FA;/} Tׯ[9m%˫*!y^-XOC۠ߣ3#7>c|Pwcn gOm@- *)Ga>(m#H+zsБHd-qtwm1NL*;"$oZYٷ^2?6GF RP+A~c%¤w&ѹtϽiCvV@"GW`~RTp}I֢PH鴽N=5;{뻝 ?g*$yzW9{\_\I56nܔ=Q>]Öo-u!$*FyYUPT2W8̄(͌lwuZZU~-`b魦B q`$$laBNx1PԵ2hP1F1`rTdヌڕoK&WHS 3D3M3~B: fj_2{-w/aK0J.p7g ǜ @+!`R e@C(F#9T]Nj`, 0 LfѼ6%_qJH H8Py Ips&b>U#'sM +(L*H!K=ڣiV >c*NQzD6O8+Iɧ*N<sj=@q1J }@@1l`nr>asp)~VSBt#;q 0X9+du9,O8cXesӥ-Ri_gNv~z_*BS XGXSrB 8gOnVeʠÐr6lEn #,@zUn;T r7}$g$rw…\wԩ.LtS ֈ3N32āJ:cgI8l{ ~|V, w6Am6F2PD6P:ݎ on)c$-Gn1<5=j74511*xdla[KU(TbbIc z\։vF^RN sx句gG7 aaz /C5. %,7@s{.4*u}IQ/< ^ JFp9'.r*;:s݀'>Xso*yc,нؤvIq26`Ad!N(@ǵbv jbm['OZ@d:Rn'8uTq(\o$rI O8Z$G:cF)=O~\6Vbq珯D"Zރ&=xNs*!V' ;UAM,c0ITR0qד{YLB6oΩȵ*9?hSB2߆ pE]^0¶O )*rp^#f2FXZ2V"74bCm<c4[eEVw9Xa\+G+њ--018?u*Fc6b2JLdޛXR~jpʞG r󑓻ZFZ7~Es`>R0A(bt}Bw%T`7mq=;չݜEqDDihV9+to@ۓیߊзM$ն;JEbF%Fsuȕt;C:L?ή#_?92Oޜ T nX[o3sc>Qaq.=CmPD sUvDFfNݲɏB?nG,j)r[N+_2BwaTb@9jmCG"$$2pжP?qײ32UdbG$eQSБPG;1Gi>}DA؎6w[kk3+q8ZRb26O_:w0pBuD[+nPbܰ$`A#Nٛ>j!P %VnL;(I#AbUq=OJIF29upzSrs^ `.N3:`by{ֽ|3Uc 9ܥ= ʌpr=3@D]*L)#=90@z |ZI9ǯ4^rW5ar &Ur#ZswB+H4g3Oq޴G J^-ȑqGa;°;waX]Bя9o)b$q8$dsKqmlA>Tl?~cڰeYHMɜhwl<{r×߹#̐V;XdO. _n0HtPݿB WtZts$@'89$I1[(?J7pׇ1f}B _HG ?7N{\*^xn3:u}9"Dv3:S=F++9un?cabڨ0 w9[) F;Q7!H^tVLPO2 6Y Jtݥ 8!TnsΛ1p:lMF<#<=89,&b,1,בӊ)I{iOu~f2K#`xd Uy<0F;Pݏڿ5i4}ddMC1#8QǵQ:,,vCbY#8QYؿ*1pQ0Wン=*}a؉4P*EI ߏj4a T @~9kqL*Il 9}?3X U'^et&rm"nszgA F:L KXb/b:U&w‚~u7Te]-@;dt?(o8vF!D-8$}8UjG2T㟦iE;y>t@a\q[x_LڦZoÕs9ksq NiqoUf-wsJ~R:8 o=(87P>n SYNzs;s֟q\ @T6azoN]|Q8G=sސ6,H4DWw?/?-IMo WN~`FOq:Ls1u5jV1x$.vX9vҶM"):)QaԐ1>n nr2q޾n&|0rNrҳAw8 t}ZFU#tbj\2a JǞǜW'ױC˾HaynNFpq#׭`HI 95ڜRN7&N3Vo0FSVJȣ9u p68:wb"ծr΄8%$(PKR8l;G8;dk5qJ1khdv>s1XsZm+C!hd~焎#^T׽R3ZSLDI"|ت8_±.%O)A8  z+To3;& ڮ>v,oqz4Ws3%;$NFG=%2<=x,&2b\n*l$ABmvMMى -rBNWh$:4th`ss1MIܞTb]X6*);nU 8N:kEB/E1q?i'̺7(dmjqXXς`ć8* abB1UK]l/7 ~Rc`䪞qcC>fmgNGW  $߽PI G̤jyA*as~H2;RrI%J6ܤ1bX.ߔP33Yp]`pp8ȧ)qGdnsAyʮ+yەG{`ӥ&X`J:N ޕ8RLrʁy$})XC-GFy*<2i 9ehۂff8~7導rcJ-_m.q {v0} 1B.X Ɇ\nonV*A%8$$crp+7S]:*me.QWg@'pO TJR$l /,P UnFNEjC*x!l$;C崷.8[?.!w+xcbDb Wb܃I֔2HQq}3IHؤK:HY/#.{.g>Ub_@wr%~MNq"dRN=j>$j$ՙVn-  S>CWw FQJ`Ҍ eϘɆ$'9sl77JB$]SpP ϡƱ)R}QnP0U&bzâWx:M/GsHPzQxkRTvXDu1qy9  aJvw{SNj~ xz1tmDT|`LS lS_Kz/S_N7m_oZJu܊ #ptX+G'S~§;JW;i)~UK%. #`赌aB2 ۴"ʸMNt Itm\F:15cM2 @99'YbG!#VFA?buwdq:t8XT$䞣1B!ps8@2d#O 펜9|:ŰHק>4;$tFw51Gu#E@S׶zq2y9HI펇88Z;HAH#z̆Iq(8'8ǩJ[%z(aІCp[w@*# #k 鷮i%=tu'8p8A<.YT̓3o:Z0QIF_8qX׹ӴxSJ)pEyH6R1f@ H W(VH Vwwz=SĒy,n\ ߱$0 l'^Rw==;+7X9'=~Z]ҝ9KpxPNqjuuY<92|zǜv]zP(pzztQ`ms@9Gu'{\[CB>\#z{bB3Eo6?ʜl>O!pP>x#Q3Oϴ3pǂxDi$W-(QCzgy@7 k( / sێkϬuB.~v>o)f'e۴Ǟn$?hNyڡT$?JGenHX(}?65;?0 Nz{U"ƳO p1Ǿ) 8 LuMs\gFЏ?ےw#*X 8UД(bv <1:b,ca%Gfe9w+*r)3e6HUBt]u@䊌eڳ;3\|P;"/Fdd*A5IGr =) {Pn>ܥ8+W6IfٱW V۱`Ŷ @2k?\r؏`KC6@EFF0H9Sv $=yf6$ w841=2F8F[6$#2~R<'?AVBTI#zMAX J`3:1֣q1`~SO KF1`b>)7PT7}Ңp?uaz۞b"n*!<$:H#ֶ-1*7`e84 ԓQ/%6I)K NFzW- i$  ľqzHI$οGȿӈ<NWC־>ȐbNv$yݜdTݓ{3ϭ]+e Z{\G"FM-6=W2i[YYc$x.n nOy$_$X `F=pe9/asp^Ujדk E(ZjŬ&C/v@:mX;lDoڀ㌌vXf9nv=+J=&IP(n bƾ4XUL=kKs:ܾgQO(#@?4f_09 $#8j5իdvt`Ʊ)B{:˺'8$syºIB L/VqwE p=k|d'c<~U"zE2ceNG遲2x3~SH#Ӟ{gҫYcM#3z."<79cb3?8ZeABFH(enUҴ8G(\J0ܣ'ק޶,輛7*]T6xc3F%A?({l pz*h盲 ; ODH&Co.vcjJt.*͒@#92@(꫎?ɣy7bhEw݊&"T f2P*sNҰ|3I/<9RIT>"0幛"vǻ<ƍT~5Cv r cSQRIi4+^Gzޢ\]%UH\dW=!t2M%yp=q\u'wcp8rI0,F:9BrsmG55RJeF8䎙>&_$rT zU51HʪۋW#=G<͙f9vC,zG[鎧 |?0MA"~\v9g\~DnQ]oʎA 9=Fk>ilp^ f"-[Ȥ\# `ǒ{`۾}r*z=jb%Fn2LbbI#uj.>O\sZ2њ r:0`1ʗtKۉw$+e CpqҶ8Ж{\̭62[8 F8Oap\uj)?RTsVq^$|(OB_R;9Um!vI (9 sy'Ӟ М`c${N}qX>b&rą Al DZـp8 ◌r gFFarv;R㢁LPNIa (I OnAjhLa+l^\88Fޘ玆yg$6`= BXmS(T;O8+`}:IBH9-lq]Vd$dAbLŽq@A=xvV9R(gtiܶD,pGZɾxfƓI-y^f1҆"/+)NrIx;-V$AY=iޅKIݎT0foPV` j.Ԗ?N s2e5(nV8 s$D<ۑ\,00bN@p:U5Ԙ&{HZɌ`rp8+$f$|7+SsXȤUmBJ~f]ÞUv܍^ya1lnwXԋ6|ї|#@y֬Q.c( ą]ǘF,A %\ϵfNRJ #Rs w}BNa| =NMsTWӝck&$UHy*qQxmYJ&Ims__ZURO^q{UI xb,$ON~A= &T^ާ9qTrݺsՎnCN   FU".ݑDbIp\q+3; 2I$=B&>dqrJѧ1|`a!ʃ#ef)+!l0$)3=Aֽ6]N߻n#h|g[5set&1s$lg.\Ed}{7>idRSh2@[''޾CB8&x1NRRDg H'tZy`9c_n7ӷĤN; r^7ۑO8Kq?5}\`c=)sy^N=)x^qۯ R+_aRwЎFq۵Ugt=0G=+>aCΣ=;@瓜~t#u^th6I$'bG^ϧZ}Q=VgӮ>"Dz1dycAC3b3:S rOӷ^_gvq%f V<`1l;2Q;^D-bBwC98sВ2 6 VC._kZvq4#8komsu&1Ȳ<\7.qH?Vݞs^ [ J S=jե_\Q$lL)'bݎN@=A~B@C)9]H]w6Nb*89# gۿJzKFM7x8ǭg%45ގPv>+;J9qUI>oAU8OBtx-ḋurJN3Nx.M!Ӑ=j?k^n%IO,v99ڼoUdH$E, ,w:^LLpѽ U.0r`TjFnn@ }x(:ZYPG'$r9xp˵r}y]x{K𮥥OW Wٲ3G {5_5Ԗ"8` pDb8pi7427C0wÎy#:UmR'hW=z85_3T$%8;AqWoڭo X'yx;V|+c] C&*Td22*  W~<,KOzqu2Ua!|rq8KMK;@C`tFW_@8gnP94XGT ݱ{Td1y;).xM$S pG$ }M@99-NBsdcAJ-!qҔ&oc%ؾ +w936豐W0Ñ>BV:5[g+,yڻm`fbHt KXǝw+)>t{_yrbF(I~N^Dܬ B\_55EK(#aqX>0dJmC7@muE-`淥9q ֔ւPH(#\{RwTm#Pcp+cد2vdíePl,^j8W]Z_{?GhT1$8R2{`1¿39G>.MW!^;H8tyq{t=OLҋ1Оyx<ZhmQhS?8v$zw10I]')Tޡ%s>ѲHW{*F}j #cyΠ9a޵58ljTҊ*+KZs S(FOoB+6w+`8a>h&vG)yb#%W8'ҹbP3.:@ySr:JFq㧷Hv& uT>=NIxGZKQYc91j`;vC*$͖sӯRsں{3nywV9Ĉ%y%ObvH"l1ɹA?xqBoBZX3Fduǥ:9 t᷂F}i;۠$S1 Bw $ZFSD @՝B`AW~sE#zmq0 =+A!C 8# ? [ 0QFOf4.0U# ύǿrz|,K 9$mnsұ戒 ppv߯+ZoOH~A, SsqʱpWZ6bn}em\Yۼk0YH01wlG= PH\Ǡ fBȻ gw=j[ jK`ܱ@U^3Xe >P^2׃jib%2C;~y?w<瞵 ːu=8W\ALp885Q²$|r$<.73Aj*,_݆a*p} (R-#v~^d96Y'h&SZ~֝kY$.K+4VIv*: :t(Gl^e.q9.H)HAtXIL 'q :R\ȴ=m$UO##9湻%@*XaH_N+eN ]`d8aC F0rs׊ w4|Sn.UϾ3k -Վubۓ _gFDgH -$hˑunr0r#|Y=H;j@ЀB2wדLR#bp .7qV9,6tE'̙ 8zhX " t Sl69|+2zڞ0A*v57 #"JQ|SEqyĐ>qCCȏwB !.܁ ˴+/ Fr؛lsu8F*>_ *Keܸ6[fFÎH$mr1js] L$LX}֏x#hc7[=M#mXB;n@.@]m$2G>#QBrT 9>NMEsnPhkv2ʗ 0jjV͹26߼ c9{q2OOȋ+@ZN6 br9^}Z3 %V`ѓ LI2rnd=ߘCwG*rU>략.Ndi!Wra]]e9X;U6*(%qfȸUǘё$‚GVi40,!ݪy`&H$΢ܫn޾tlɳ׎zVSˆ 0<:Lz{Vv륻ʚ}šxЮn>`K`m҂?^1T.d,d;'pϮ9cZӞS?R>^~E a`]m#.r{f?Z^V5.aL)dVkD#b;qD& Ċ-\g=O>MEg@b#c+Krob'}]$>\=s¨ns@:}kV75Pzw18.$ʰa|yǧZ{HЕ _n* ݿ>՝%HRacӓ;hAPd' 0߅FbVH@`ݳ}kFbm!W$,|y8銮mL[ cQ܃$m<8gv8 $<=;}*Z :\^OEO|S6R.p۩=ơ3~l㯮yc5{hN̦@9,21cHlvlRkgB,H8ۀ22IuNn:+=~`A/A=MUx{qwzt&,q9ϭ9-i,Aa7Իg7;'U1w׏PAMlR*{x v;85IZtE7xnUNPJmñ_8֛8GI9tbJ3\^y=;qҮ.&!Rڪy9 :t̽ ʺ#в7(4gd8m2XlX\*9_2zۭ1nvVե'gIdOޕx uNnp8#5.(@G'y#˗NB `Nx[S4sO&0LaqǸ{~9t$6ܺ Rh㢒v<63G7ў%R9~u^k ubFyWKNVףRa%T3kA-ϙQ N@ce(r 1RCdgzSF~g]F|8X,0@GߕG䎵 YU1FPv(Hf' ۆрF?ZbSyyUaF}R+ xx#0v~YB.?Z9DZG# (ܻܜZjE U.p6p2Zt"VOZdIܠ}T]%!= 27g Wm^,J@ b㊔-#Ԣx$}V\Y^R"LeU,T6XdԃJrH#WdGptI nO^Z&8%J(8Z]w/B$pqmVIљSj`|d9rr8L}hxXrzTJv_&R,jsǐPf_iUհ%{}4OS69>?=a_~ߘ&HcAA nF+9b騻JJ[56^X}ّ7 0PKeOj̛2IL8WJ* %nt:k&VGKlaE. gZ1f ?ՠ9 3כ(T;P3I݁ A|c (?Zљ"$n,T*X@*b1n#u8J,d2~N3cڵc;p)l|_'qWfEEtľc(w&1CۡX.vInHd\pՙZd:]RR vFD4q޺]rHC[Ѐ{ _G.U~`Ԥ6ψLC 2z53SA8꿑^>G,rbI~$'1`c O84 I-A*  r:Թŭ:#EmsV@ Y ]9 rsk%Č"YZ832S;WUM8Hكŋp$U9Ɯ.ȕU0{ 3ޝzN I[88 rîqRdB?G팎U "aANON: Pcf 9޼A=E/' 8\awD,xUț E %I ۮ1JVU–U^G]:tSqʪc$1$cYMIrB;`dQpmۼ[7mflBA rN6fni7_v9~M{rPUm݁x~}D~rA\eL+~f=*B-q~};Eg#p$+?6O9$wK9 䌎xR{6)2x0$:zjo#;S)BU9=y┟kvoό8lF2G_Θ |0؁{K` A4?"͌)\!|BJ6;'Ғdƛl^\*㌦~\`/ܱ̗`vBxF w*lk\[4jA9T3zc8޿ դ.p#S$rqR?H9\B9t$d;vˌ!ˁ.H; 99LBF0'_#Kr[Rr{%mve cl?Pj &Y>yr19rM)Ax֯V I o-2H&2BsX-4 9V=pi'oF߻!kpx#rA3Qλf=L}%m`8l2S8@2sޠK>#PH\u=sYJfѤQ7X9 2}?UWFl$q ے+H$#a10x-ґw3rI `ӰL+$`@i@Q$ͨ6nmŷ zx[§88&ܔ ǠrN|{tK[1/1859;w%)pQ(l8Gكl`FAҢ[Ÿ r3y gȣmJ-ܤ?62Iym_|)0dϔc힕$Q>nIq -j1gS7TiuNF:I\ ,}Fr>5n63lYQyrsNĶf4.8q`NNg=cf!Hÿ88\N:~` ֯,EFJcv7`sZbLjBG>G8Ӝic–_5DVH2GSӚdQ[MypD1Ag,`М,?,/q6r\xBr>k׷LENX;nϦѼ=y4,#"ch?w%xJG`_Η[#̈́eRw}OP᧐Dwq8Pr'NA֡R|UÖ; =$8^J~28 zVD$ 'o{RR~Me1O ^c<lqӷHl,6n;$f;G\; 8,$rzzQsEN/T{EnP.$HWm0E㑁9^D>gWsWMҦa,er~f<׫ B81 {+ׄ9bZҷDP9䟽Ojn8n5C KKo;=>篧Jbx_ҾrW}^*^J|QF9^#&U$8|$sѲANWKmYJc. F~aSyUm IrOP3jNwG IsӦkUO[t 0:}jE3}kx(e$ Ivp#iA|U3uc%rs3|3vQ6Tճ׎qךQ[tkib`3/m,,dĄdBs#g=r~G\K+Ek1"0OǡJbRbp[ӁO326cJ; R (Fp)w `r:84"7d8$''r2?Ƒ0!ʨټ18?3hOE I2~Z5 #6ddT:) a=j3-v6¿(*r#=}MOqꮈc[BQ 8{s]o4q;et/l@$5`NdLL)Mіm5<p<׳*(P9oS[Ww>u]N7 r>VUVie6T0)Cl=뛩_e/hn 'kpm*/Zۡ}z"䶒M#sXͷ>B]U4O9FVnf,9 ᮦk4|ie21PjpR}V^YB'-eKJA qex9n, b%\ѲWo;G*ӼzjwQliT*H!gYۂu2+n[ysu(r:<~NP2]YܭEܗ"W5Z[bޗm-^g2rےbA|0$+* jݭm6HwݫT8a.c^($;;d`G y19azuI8;3F>pH9鞠jD3\yN'#to'=2FR x(Olt=:1RprN7ddq昺=zd`3휑A߃H?AHa_<|؃#!xz|qL]F+YgUcUYfTt)]]u*\fi~HNZE2м9VpU#7y?tm@+ %*sՎ|ul* FB#>VoMc;Tsv=]$W 64YC%H.h!kg o'$,F9Vw}߶sUQ d܀mOf]mXB>R&Yw{ gqV%C&y,G6n ['9zI+5N7 pH/52zqZM|&nN{5-BK[0N6t3^e=c$ ,"<&Fy[~k[)I0#<:t_pN֍xc94xkKJ=G#?oHt ӧ;6RLx1l8Ox'Ԗ{,c<|}s4H݇zԩ?N3)3@O^~(ӠKv8ǧLL=0@#ʛNqמӀϨ߭*c z ;j,XCN^3db8ʭL `G愮f4mK,1~s1Hg=Py03潼6#ͯ+Ԋryf228=~"@pzǿ]B+'>Îm{g;~u",y{ 猞Z{=Hs>V<98{z*H0,p1we);}Uo lk$2>ḏ7RR !?t7}0f}!7}C$S<)U'9<hhI$e%āpIR;Q^j0RgH'5yU[32B^ΆYyg?-ܓ4 䌕b\ϱVHW;/I>n;u~"Weq(2pF`II4!吖*8\`c>9' l,DRqJ}*=6B`By#k8nkwޚ]z(QڇeBmxd5S?T3K?ʻfqlir7ddkU1|o `Ղ`nS lEoiic (܃(`y>ssӭuӿ.w74x.p󌽪>Pdc#'sp">Znev]1 g(Ltɀ߅eV; w|`zUM_3ﬣG;w|PkDL={׈?jeeYNmo,]DfɎF; 8dEl% L[)9y泎ih{FJM$+kKP>F2GE78vnBx AZiзmitdK(* xd:\mcբ{P$? #[Au9+K^R-[ҵ{F5uym呙S}Zt8.f8g؄IU>6E3𮎏9mmyJ $HϴrpOLuNɨ@GdPFd w7~+B88"G F@±\?Zݷ9ԽWA$d#cc8#s uuC$;9 oW<֝BUg+lZ܎! ac' K8[f7uĬ3m9>Y&$z8gnW.}g;zWw+,D% 9&%dJJv> n+ eA9TN?8'*䌞>845b6 A QO0?Zta7,9<OO^++_' p#;u9_^s.N B\px=0r>U 7I\ڐM)[("S۞qګHHr2<+9Ü3UA"&øy1)5t -mEo9Db*.s(V.GD>Qˉ@Trk|2Ga Q37,F}+1=wd`c\ >~pz'g˴|;H #sR֦_ȂH} wQT;P9!=3.SHa J,d6Tdvrۡkjq $)w{8uG1`UCaћ+;qVY"8Qxx+:sw7Rئ grj}98 #aqƼ1D,Aw]IJQ|Hu"۔l1nR1 }:c)p_U(ܨ61i[Er$'ZovLf%%{_Q6f2Fڸ8=F3C3`0Va@$ Eurg8VA%:N( (GbBG+) |\s 6RI_7v*HFy=sڧ@\'Ry_*  {(qܜ9zW<쫜 #eCXp1ڥ[Rvf5vxqy|7s^MJ1;r2988'VKFsET}[ǩXAI88i.TnI?(98\c<9J4,6:7<]ϽTU(\m+w~//~2ǃ=x"6lg@ q^HN0GqS%2?sF@PW ӌq.o>@'F@韥\G 4_UIs׃dB1@yZvk3O  Az\`K|Xc J3iʮ(YJd$;g=kTpĎN^SУ+ąB 3վ>0T\xT6l3H,y_jʖ>r:sǧ޳n^$c3ع8 ]$ \ƭ;La=5~E[4yw $y{מ]ZI c<{֐zҞfr ?37;G?Jk?+xssMfSOCgJp}A` P'<9΃wq:#+K@r 3cJ_B)>hgS7# q_&ܮ7o9铂}}q֞ر6cq^%RQJW{L+|>h m]s=}kT 亱 H%pA;֒gb9R ͓!v%UI# i$ Ie`HO\\W~TAeEۆb۷ ($<[2jl*J'yJߊ& 8YSݏڪsr@eUqמIztlM+тﴢ*bVl?̬K.:c&zy5YCdA. y *3~ iA #e6*ѭF L2%!A#[O(1Y: J&(}eβḐr2ƻu Ѭ2KG1+w=+ԈQ2*mHeq [j+bٍl0v n(R= su re 7L <bi1Sz RIqk4-!$UX # 0^ XDPCz6ScV31̐QHȪj~b]IJč!d(suth[Ma$.$0_$q[7Dt_2yk[BVr=kQk6ܒ#㷘zZە&U ra^r|-'-}lMkY)Xq@;UBԂc8}++]i&g$B#pO~8f< !9A cqחpآs}3tLqGp@8?#յ:cN>9g;?%NCve\u@͖G֔  >k^]7%cSQߌ?csH:ZǕnZr>c9f}jFSGILcaBHOwu=O_JO:stN*jˈD#kr~V$R@$N+hhk [b0lr@ANqZhm_q^n=I4IN~ @5!HіxDCOZbJ O 38WB @O{e'|n K|шsB-Q 8۷zkHBe'tf9ǯ8T}ɔQ, [iUWRۊUxX-/T~Lav;wt pelr5r5Y>~l#$~AG+w9)d6x8Uuq]|$rDp߼2>}:BfGPܪ#}ڧ&޻ ~ ̂df}%$Ϲr*7<7Jp$wvW_̷-FJI%~=S(D.p%AwT:;s/jߕLZv39a<~}SO#iѓ,deyGS*Wi<%\:ȥv.$6qsZ ]IYh!9qY g{2C#ZhcF>PĀ>a@Atn7(#_A`ds}-ЎzR2@9prJ'_$w>*2_q,dp½G=Up\94.OBt~R4rsNvzF98$cZF@0:tw?[XPsY# /$cNqѯ:p7sw$V6sӶW>߇j[ ,$$ Ǹ>6-1MmB<1KlnGS3Ȩ-ء[#@{ae\yax ~ws<~w }<^ѥ?+Z9oJ}y'*Xxy xQwsӄ[jRc'f T=? *~ 3ߏokmkF{P>׌*&(ۓM|y7 DbQcҨT ]A-t)e !r2+ {6ֹ0fF#6J 1wಜO's9ⲉje@w(|.HA U?12rŸyLObr3J{|fPfYw:LY[wQN6;XNF9-쥰p1d}rE\ON ۆ# {kNvhqYFA0m\ (;r>$Ξ^TxR{רAl%]W,S'qV;4p{ HHϵI5ZˆC$q0Ƿ#ޗ>:sl+q Kn,wml*ztBQ,ec pUIj)|˅@Ϋh-z2:5 ;siK6rf)9:t=hu8(R$T`gJ$V%RAӂE.cXŇUU̥I >NIva7f.[i6**' wTi/܈mFOrJ=_DݟgB0nO zzP͕1ʅc^'NdYqÂMy>PH99hU0YAXR``:Py?3 p{Or%mw$y`m "MEJؓ咡^G#=(.& W~EU7A*1Y2:e!L/1',Ŋl %z 7 rjW,@zء=Bq.0hB̼$>=*q"PN +6?QIB.pH^NKdzpӭL~Qq;.WͻP=1U}WY:9<$jSeHӚQ0$#al *8Ϡk(lpGqȄ±˂APj/0Q"@V*N+סU?7 ` qƝA%ǐ(0\\ uGQnI[=yi[9`1)jHY*pUx ÃǯzPG8 QnNy 89Uc ={w>Бf8feb$pBsǧz|q# 8eqZ2azc׃Q wG RBnbJyVPNr0O ޑ 0܃wd =;~9;3Xo­[ =0r?l~HBdPGNx8Ym|gg1A @oo6*5>nq5~,;7yֳmk .,HgvV2-RruJ&의n'3NsjKq@ߌ+*;)c͌g?:N?/OOZn!I <8KjvDGs\8U ;xڪA?0ٜsӚt{vo+ {sJL)ZI`~pXs܎3ڵDPĿ#Hp Iʤ21+M-jzX) suێ>m*Xu/rHVZ3GTlyw>8PCZ1<㏗o\2gH7»q{!H7WfTNy$@'Ab&D*%a9"(>n t?/J,wRÃvnxs[V*8> rsR;2MGb{N30Vq3S}qOzS ~y7NUER0w~^(ӹ&ht""#nc.9$cʻ@2_wr9!sqֽz6(O'~d4۹a2zTNqIםީpAF~5o_d{u=Sg1!,CU{g_ VOUM$_OjkH8n6v޾ǝg#y ЁH9x cUSƏ~OSv'<z$̡wv@:s6O:r2c߮Ϲe/]\<;v#GqR8BARA~3WӊQ\|@m`}}q_3x;d*ClcI W2t-$yY}#}B))PvV'x0@|r80}OZVg%Jgps\wlV"} 7RFV89j4ጦWl[:`Vr` ;tI~'#_=vp+N#dnUc+jđ UFKjW}[on\6wyRo7*pxϯ3]t>W&%d;S 瞽Mxt9͒C|ޤgӜיU{p$DyAbo;5.rqI=5{-ȴBNwp ʦO'Ab8*07힝*̙Hv8T1Fv\np0>H4)lcpqryG8P8Yr0rp}G#"Kv8]mȏmpO'#3XH}w78?C>r(Fs~s܎yʲlW|1s@ۨ5,u؛7a$q@gAsy?1}+H)nK1a.܉Nǩ {j7pxӠoe$pȫ󖏶N3ֶy_U_U P1z>Ru[lvvCg9S9~F>cֶ0lr0O=#Z|le\qr:N84靹 vv` d$sA8{T8>88gӎ~c/@N g8ghrA\ҏ^gy\z$2s~ҕ#~a9n3J#P{',;u`"19wsji:}m%$$.;n#2Fuw4Ayqy-ԯ1s#4yk8' 9xik!bG移qUC*0Gca#{ QhniM\l1WcW۵D(q*کD7c<p2zkr$''t:fW d9eU^7:i;hk [8 sWc`w}zGR'lԑ׊͹ 2** SeBE!$"AGfV%5rXv@rp{戽"vMm]c{i Nb1eO\NWKc(ddH@r)NY`uiꚟ&h6FYVtC^uM}UEXEAO/\(;M}o ;I i#W|UVqg~Ó  ` t}y@_Q.CpzПpjfFxmqy=S`5} B>\)Өp9Ȱq8#ӽ XI>л)OȎG_ḑy8O# #)v-sF2}O=銤`ޟV}N3Uk݆{L./mq9^\rv2;T#=CHiCz'9l~5*Izҧ"AYVfj(OX!fw?J\ /^ZRwo:qU#i6uAY96ss&V,T#]bLpDc ;nS&{\.(!t)["nbJES\SOlN*+PK JٛprOOBm9I򲱽1;zW7rT8.yeeb+ 7[wq{dw\#F}hH/ĵr{lJ;FIq*9S*Dq 7*$Lzg[p@;I.:ck ƚ~]QTsӜ B scZ嶣n#w `r0: ^ʶIRs@??Ν!܈F17`17O( sa>}m.5Dǩ'n7u늀)þTE`FܓϾ)VAI .p1סRhi'X 㜍x'v?j1Hp$ wP9ބ1ػμ`z{.[ceUw`8-lkR$;>v Uk *,m%J>iB!HF :#k4$&z1=;cht2F3T]E-V`%{dvz*]1VӉ8@ۗ}qUt ˵u6޻}{1nB;.Bg󁊾5;FO28NJ_cq;1*nG=.T6nH$|zzSOhN#Dݗy$\\3WrqoH;22 O%)=nRcXȤ.H, '1zjōr  q+cLZnt)*Y ۰3'ݤ$mc8@f'zT3Z,aFڢ84r&n)(wuCLF^F6սS΋,YA!Ld9?%)l,~F9~9`Qǧ9ib_lR7.1P?/Rew^$'8!h.~F Ǹx)K,gi*Ks액saOE!ԁN>[m%Aݎ*Zh`p.I cNJ}>g!U ̑d=Ah9`vu㌪yߓ\kr kA"[)w"q ZLԆ;J!~`;c5;(<m@^Xnry>3Q1# 9:W7`ߥI!X e@s\ MX-WQ]~<)U\OPmawvSq{qMW-_Nk.Y+u CZtP$6J,%x=ֿ]<#=7z-m,DI,@cqE(r5\O|]Qy^!J-3w Q1n 8ַDxahznOwѰFo@y_!d 4o ~}q ?aL,q* rx֥*vz$sӽ#xq} sV.l=QiyF={S"yۏ{[^W~Fd\!PIlw滩7drTWKTfl ^ms !-u-{עtКޡp3H5ilǻ?w(T##\;V|8 3ʹ$=80y` XY9H<JŭQL$x #xANMrqv?8 :HLlD9³_~dMH)rC.[zTF%,YWAcuI;\A\]{`b<@O/5XfA``Yv!@ *dnt=R ޹:) Hn 98H-mTD 9{sDCBهs)i4Eq;08_zqo8 jT52#r~]1S$<?N}*%%rɚ !ls>Mx Gϒ +Vxė|`sֲAea$|fRʲ܀?z[wo7k#89WMIX#>N֩n$==6IOC`X<qWk4ETգz_raR j8#8r D`7q ZÛv&7ׂ{}t\0ž=jψu=6[Ь.4{xw I/.GI2R;nz\3jK9b-J/ٷSŻ}DzP~ ;q3ҽoMӒɗCoޒP2}Gb_ ^ꆷv‡'vr8b!*Q@F:cr gJɗ {v7kqq8SP;q{V6Rf-6ݙo4o'3 8\ 7fRA qds]17Wf|€qPZBdJ1^{+W_ z|8 mTGvxY6GTzpSX-؊E.rhgqPrf\1eA e407 N;Z|ce(;H2SZ>Qc4D+yC YFH*ާrlA?.AB$N:}Owޟ0.x\{NU]Q0Eg& ٴxUFNr_zWvS­ 9`Y>r~O/1R[ q*K_֪Nw3'8=7F>|ƨ:?xC'T#FC (|+ą${Sxd^yUڥL~pIF[۬C<6ʜRI)]_1{yxyWfYag=W%Ad/ JWҧ̓BIōř1I9'YM?'$k̜.uŸ:klonrv# }sW\e^8?zNKT=+ɴE0S!AsOaޝ9i^ʹ%7)6 9$:b{g=3J5Tݶ%hU yl2Նv}hoЖWH<#-;P%n8;q6:jQ܆XW v sʕ\qzP ۞}6vFmԃOIsy`;U ; :89XH]ф8eIᢲvr=q'RR]A_1qRs95O.vlsk8F%e$X8Y۽qTNOyt7X-S@۲Xeƨg, @xcp{cXT㺱+]b'i%1>V6{Nބ}?"W+۸zd Շ5cmd ƛlk iTp38=3KX@9;>[;aUIn5 cn$b?V܀sw56_2)}~0cy '4hOE8x>ކ8sSLY8Gy+n:Rͦn@CrHT8!o4S5;vGLW-rvs ~*a+U&6x:o*-,y}JlA~IOCU7T|zUz"* Ng$RLcs߭k7ԮB#o@ nGPc(9$CU*<`N9>79W=9;2Hgb d@'Y܉QMZې6vp8vC=iSO } `Gk U BW9I1ccjioC§2ɒQGRFϟitԿPX1TL`:$]V%3 @ UB9LɩX֝2 #VcqNM&f&, Sx#REZKR~$ؐHs(Un:E{ 9;5 H9 `c?O= a̠"~m?_+n+p͓@9n2zolV:mcRi/{ў#U¹ DY'0 I=IEnsF.m_xDy<ƒj]GX!},'FޯS ̥&4-N]=6H8Mg\^#w?\>\ dXב.--IJ%@8>qמ9 rkkY[R؟C =yzRy$/҅c[':w[)'NGZdGR n?AV' r}9'8<҃opeGflsGE>lvǃ\3cBO?t95q g,PRT`x"yNvLKp[oYM܊ Z<(e=댃tRHLB"o g΢L֜mS(0g+d ۰U{ w81ۅgp?rۿmc._K(# 7<sZ%nʞ6|=dc+& 89>c{lPf gzښ-ȸ@ ~POUI^=Y$–#`0Jr>l<8烚[f2p KsV!L;~קjqr> O/(O2r8Ͽ+3zjs 9c p:SeTc pp:eC?t¥gO]: p#9ǨEz.5pf?%3F݀t)֛g(huV Ɨ=ܦHnt#h?lpHwRۺŸiݠR~E'.IR}aw1gIv9皔] |@ާqQU t퓠n9=3tv-/Oz{zP&ĩ|PS Ls֬[)C'y`Q*f︺˷kony1lXbDzk*g-tFzoӶ\}E5d\0H<rH~9yDusʼpJjA=}9v](tv$(dwH^zI*F=gʼp8 pyI\&\ݻ1=X99*0UKmlp<ёXҢ*@®>7t5279s);. gF1"#yvARC*E@>f)qgu'4⊧ -8ԎM&U0Tg 2HRsgQƌ~RaL$ĐV;0 V?1O͕#6*2ʬ`R'<8~eu;#=)su&p~mx FF@=R޿6B pK g;j\J3vN쌎^6Sz΀# >q.s\;I9$1}TƑԮf=K$9#z׊Wp2{p`s!Xʩ!_X\ڧ{Yahk0rwZwa%hk>؝pgdoOv˱v~`@ ^EJ׹jwi/#Ҵ]&F_4bFO>ս^Q-R5(v%0221ڸےzъZvs)-@Y#?܍<:䃆>թM3o^?֟?;iI,X(` `歖8ʯݎ>\,9rp9FxYlAO\KL-#l6 W:n ws!k>H?^7!G9ox5ۅqv;T?wcuyB]ȗ7!1v#5NXdnGּ2σ}fwJG^6"t#\9CqBMU"5ߜ}sn"tk$&;fPLH^k]HRF@~݊]b5VzR: g+r,Y~*gzl[IJQ^}Vc,p7ʧ< `f),\'dzWQMkcJZs˫l {md"#0)4q !PʨHBgjRj6[/\RnyިO#/sܳ"BJy@;S]잟y2ۡ`6, ,z^Ix #q=^uK;ى3a#dlr:$gָV:F\.2pN@8'JCϢ8f9={̖a \g`\HL$ ;x8[Nu'vDwq(3sںLVIxf8pFѸ1V06<{sH7o1Rz9cS823}8$g+'Cafyp/9}35G . IC s+Xfk'S}vLQRF# 9l'$@ 3A.9T׃C)BŸ>ݤ <~A3Zo+m_1tQǦO>PIJA$n N {Tdwiݑ$<NFPzbsۑj H& . +8ww(B<*oTpnŊdL LW vTY׸QVU@*OY֫a|$;xU\Km 0@vjIJ7BHvڼqO &3R1,\f@Y@t[U͘>P3ERc^;Kw Ž\@%?Sw&F(KgE9yW+8y: Vt| 0AލEy#yl"B +xgNI5qn.$#O7*n)a; z*o˝Fqu ۭc+$]xD*PI=q<{:2?;H}XȤ\2Wk.y e{zgsK;TUc@(9 9؆H".N29=qi3.(ev27:V q]Gw̴1Ԗbv܇d;#q\#]ma:ޤ;SʹШ8ve.U Gϴ`l9n[)9ۆ sY=Ԩ>{FΤU+nAp+tUacHǔ*pztgVnkºJpH 9"4_p;?+ZʶacN1]9n2:XpO@z'H=ߵ2Y4g,39psW)Qy;H3ONuLg Ԟ2^}I Bl|=[OOtx% "#aWkcwv,2ǩ䓁Vr3t9_?WI}6,)OLt!ϱgUc$d ӊ͝#5ެpݰ3z4'r[ b~L*:Sa|3WJֹ-Rh|I' OҳIxۀrwv_B$CkfN϶ypnӑޑ1^,vq6X#Qx+|A"$i)#^]K^b$Jr{XZtlqi x2XbGe7snOJH$~qUWf]kbbJsFy{5)b)0B<6rFnjנ<,1Jv/\JЃ`ts<ܨ@ ʤ'⺞jV{EE1)(I`.$ ,?B>=:W"w5Os=ؿ=Tr׮+{lw3888? Ԯ ImŔqA\c&o8Ss>sl&gssr9K) zVINf9 :ήߑ]Zn风;keJTm,n1G1ʆ';<ФNl;}R@R fxPZ}Kqa +qyTqލ g *Tv3M!3ec+"8UY .G|Y0A=rTI [imbڝ- 8nF"5 .ؐq;+g]+Q~ֽ ox;LԯRU},#*HϽi0Ep[diL*E$DZtSRVn[a4?-qsxm)&b 2\i+0Z2Ą*'t4j2* 6?xz-Z#h߫K g]sQZ6c(2HG`6"dp}+M+9}]DEE\TcҼ?UekhAwOȭ'3'fzXXsIz9RF2}gNq^?|KWw31, tk~ϯh%s9N*.A8׮sVy#$=?Ҷ0Oԭ#a=svnF a})$T7K%C )K{y8bFAϥnֆ؁2`@x 8眎$8wܧv $9͢ք {BG$ԁwIE B_c@(BgP@2quR[;Ӟ<)e- (8^3Ԝc GC߁V€Gdl '&Q#-6q +eDJ,p@xr&< ,ĊⲜW+~{ {6&d =>%2MH,qNM錃kΒ#Kdl{a{k.-M8\n4G$ :b h_-U`RMlCzXu2PS8#<)u* '![98/CyDr9# Fѷrx)P!I,0Y?0'߷L 4WE=#\T[zْÀz{Zַ 6N*qNO"6yzO9SjWlm.5+OP60,F~y%^9z w *+*|Ԏ;NOߖJԽN~V*r㸮PGRpNqH)d>CpXf@xJr=+߷c$ubt Čq҆TW,Ăۛ'y1UnN +/v6.ݾ 6\':a#p "y|Ea1Z xTmy]%b'7qyٮb0 ?8Hǣ~(^mEx2,OW6zg@$8Qm3LԂ@38'#hj$v];CrۯRIGz VEd`]!{,OAUȎA[Ury"1J5%c\ǨCW!?ܱ+Jgڭo=:\ұ<Gw aCAzJܷcHFgoGWcMӄ%UT>f%@s\-ʘNA#lneFgNl.2:mO}f?!A,:g?ι;QrQa j{e;-c~r?N>]K[3xb6ܕʌ㎣ֱ标+e{KN6J5SZB#ξhL->+KA*3ȡ9;r:UFqhl$$$G>fۜsY vA ֟Vz7Uyc=%' Өҡ|n(0p =(MntFI j *:#VM * KNDkqAsjԒF˷nXr2#ڎ{ Li#:ڤr8;2=AT-joX0rQP ;T|ʪgcw8\tǥg)v)8S!ut qުE9pr.O8'4_CXBWaF j%Rf*C9JV㽊~GX MX*!I GOC4&nWz}1(hRO1$ޥ\m)SE(IZ;(#o*V܅ec1e,9Ҫsqpf0kӁU< (s9>}F5 [',:}2imC0*~cӁG;%21""m$ ]VUTBC4;fS՝'UOC K-UI#瀹n7 U*;Wɞ@OCBH޹,ݜtu -ȑ(FHA=A5Hx$r8\$j6A9<{zs]mr>N+v!=nN܃tWd;Xw.1=jUm̹f<4jT)*ۡIK+>rb(,r&[޹1)N 2UV'LRMzՎo1&w #r;Uصf l*S kc6Im:_J׵ YzA1Nz&-0vBfz|yR7@Rry֌ y~3](Ό̑y \~U{Wo3Q/clxzL| 1FGP?yu_- >` dSd㩭/̪I]QX5zV~Q_;9洿fV S|\}ܱ;ڸHȖStA-I=+gU9=@%3\k[ar'C\̀e+ ${UaYYZ)v|Qǖjĺ {HImt5n[XONWQ)KljjPĜ|RyPzz,ݲF:%N)F[lObY :M&=F$=x} z`HR=8WlU4l&mnz9biRjIU\BrDI+Ռ_F-_D|E /t~nýD8 ˁ=yckCAmv?YnWFCze$4*(,2BnAR8;6𝺔ZȐsPF>$hU8*H9J~Ց4nH 8SQR.qg[7X5Bʝq݀Gb3\֭+g $Sջ*3_Ob:J|(blz~7Mv 0h߹g6#Rwl<*Jx=s[s)J{i+ONA鞵 iaʩISر8S9#jma7c;a:H?RJK#+9}e5* ="}~łHڣk'z*_z\bٝrz1'u;XrmN2r;P'rŇ˴A~Id ڻpO$} =h $|۸\3#V rڠuϽ 6pu?*yr?5>D7dA?΢UƗHcirNҠ"GqTɏ̹K/\SUlH~߆8TjzPH%l{T&Q*| qUpze橈iA!NS)zct]Z˸Y1iQg C+~FTݐJxQQ{L@9.܀>o犁t}61aA9<\Hu3-lYNqv{ԋhA:'jwgK LbPx]Urҕlۆy993uE f3cڭ, GA㞜gU.D ޥPW `ʘX3dNԔev+FI篶:Kg,s\?*I}GbMv錎Fz5&KpxI`!Ny)矙A#?d3Ӄ9XHY2~LVU}76q~ @#cԁYfI=k{6,k|<<INOm Ob7y@+u\c>xB6H˝n,@;s]h8۔zYc`=猞ϫ <7?ssN^2_zq^D͛ O++>@Qx89ʱWzU'hSd{q^^_h0ZsOhI˻iAAuM 3HCAQngbJxayU\;vR{՟}X(Ysel yi6qU0\qaӑUiX F$Nܯ8w|1UG(R[ 20Qn$uzԷ| _x19UPw*۰v88UOB MyA =0G<`1܆# xV&9#99=R)&06><4p2p0$i̴<{Q7r(['qNSlnhʦ4c`# tya~] nʒmmCea$P^qTR$F!WC3"p>cbOs3'aB%6``8ozRNt>\aC`(^zNsWF۰݀'nqg.k uf'x<70}iv:u@r?IKQVR6@7 THs0޸#x>@89dR6#^H.ឿd.9\pޚbH7uR3;m'\ ^z8$F3d@C{ڐ3sǃK$eBGL=8z :nF=:R}s5)d0(\~>NMBĪ'ヌ'"2m01q&.c>^H#1He7K`u9 L֞zc>u`1`spI?Ni#|nH8POQwFH$@fôH' M& 1!۞ZͅYJ0F2YAdbbL6 a=8$i-7DaF {R Xߡw["m૶6B\+<3 }[/dHC̩wmD~ge1uѤݥ/qUx{E4M23i+ک\z'W-x+8YM2{WMI-z4's(%,r;<1s@Y_{'Ws!PA$cu"K Vt al~z KrC7@H[1x5'sJfW %st\20*&appw.T8LE"=o-ey6[\`x [U}Nytyp Z[o}4΁Ys [K*[}P(T<9 'ކ3+Pv&Gq©I 2k2$/+7ca:sYd7ifB/*wq]e1bYQr ^F&忩i{zs=enb_ۄP.ɴ+ﵗכU4}6N|a0hO.FG֜/!'#>nxg:`uRyV8$g=?5ͻl^JS{bNq^MA,IYqOozU$d)ԐPc\'̪2ˀ'9<ypzVVqwqjv?wnH8n-!JU;3YlY KHn&i͖.Ӱ˂v*`uTDj|+wyۜT['[-fL@G+tySs]L"1s9-Ž0W'$ UegFm˕fCSw`Bsg v/"sЁ >Py6 OSٙ7>T8;s@U81Fxuϧ|"VĘ `8JW9 3վNǏ" $Ho\<'O¢g\ 3c~qN3Ê]9!@^AqW:tԑK`gvy+6xNIڐ{<6$gG@kNv8S4L~еж qKG=9 3{m?j}CPq,}*@<Pz3MGPFw%Hݰ)(* ;з9qݰ9=*n<ϡV4QDHσNzxӶo-M̖ÖHBʅb9Sm]/Tn,ELH9Xjʻ@%rqy듟ZM e Ԃ:gF _ʂ@qzX=O~Pvvm]w/ǎ3I߯Z+/=:;'<ϧ;[[l 2 [n$0QC;IQ)3 L~ci&d2+l$o^K3+SUcVǯ8>_2xM pW?5sXX[>G w%w+S  OU̹;Wbb>X!9 IS}eoLֹw7$qtKq鐬WlIoKؘ1p᳟?H:4o鎟9OBY dP뚜&G*=ԕ 9 ]* 8@qӓ}:ovpΨaI%fReU9!܈WzkSɹs>:͚I2˺ P`{Y~Fk%kdAtd|<87~mB GqNFֱ "@<0뎞tY%=\MJJydaB*'QzVW+X6fVw$:=57ݑJe'8;!pzfbp\Jᰪ9qWR9f8v_Mڬ<>Q @PFPx~+c\daGӂjE ||'rzqJAp1*`񲑓dޣw(ÄM 0F\d~'5aP*<rJH(O9HLrn(G*FOnll7ޗ߅f rIIZsɭ:=vy9&@3{D ά\aA{qҩm"ͳMX$Pc+sAKK:wU-('y$b{wC4E=ۤ2y^Iϩ7 vY7ۼg8=K9T wgppF܎Wa H2yۑ52p)R0T$``OU8w6ewmN `wyɲK]ZKg%"ލ1\r flug6Mu9 d,d2|7*SXhpzt˜)8atAa R9M¤`#A#^]UvڼZ&M8W!SX 3c=koI=H#g(.X%+!WrKpA9U9 =sCE]*&zwxG_RrFi cCn` ^Trݫ;_^ hV`) ApA$ԎirPζM#n5f F@@{w)8>f۸y)0Au3;@\ AX`r8 Oo^$4_r,1鎙sJI7sbX9pG=n;e9 u==sRdp{Gi:}ܑ* 8{_-..9GHdED7(c=j* E y%K_ːh 0+d~U4-\3*1dQN/O/BɈ.1r1zRa3dPǡ (N mcV>^<=;pvW1ڄi'R[8$F7pqpyQ4C(!qzIm*[ 7`qR'$!R3;vJǞr;Ӷ 6x$~rĆ㞠֔R8Fa?RMYċ˅@d*[OZW\};|FOZ)28\HrC(\3ۊ™@nOPpLMgG-O$1!hr$60'=+˵ ,{a6?neFĞZ'wo3RUcp00i6 #9'HzGK#SeRtryn \u5j+pi%w*YL[nqB$=kC>dY?8#,Ks31H9\@' ㊔X§$|sw=5ZO"MvȩNyaL&gKq0 #DSi[t X4\}̶_\JJi#Ԇ݊T8qyu=*oTS An=2s޹b:$\j0ڠᷰ\7kGd+1q1[m czk+a2m%v2䪦q9Wvc mÀۭm1~]s1y!YOǩ)KG^Mky( 'pH̟/ʂsi:jtގxUtuz> .Gkk,K{{U3eQv{V T1$pxq ҃}]U¤."0P q]Ho ZkSmH=q]0QA,8{T%2=cϑ H}*mNzǦ8x*@*T~>@bv应;@8+ѴmRy ʜ:t͊zW[wVFTRܒ}J˸\GacBx]jEm <`A9  F31IcDv5-I$[H.:ԭh[W^{9?]亙SxkGe"(0O$V_i.D-۸`~Ty*ufG 6Bmu=>?Үx(3yG Jc=k^|[zKh1wlN~i!&{r8^k8VZJƫmϒ 61v\m6ܠml+u۟|SkYԨb}`^\'ۺ (NP%Bƛ>ZnUU+kkޗs h/x `NJ8a#7^kh.:$"["3!RH$) - 劮[͎>滖=]["o'`P$23V@#=s+|g-010_ݗ? ONx\}B!H+C(<~T\H@9B .:`I ӝ|zKoBSXI^[#67Řv>P3Ync'<|gpUyg~Qld˹0@%yO5+eQp},歪:HgUWFp Sҡd(?FlS;f97SY˜\DNsǀ@[ O>%;}qIV 5+6JBryX.r>R&DUE 0Ǔ`Ao7@qF')jBꬹonץc1hg/<ˁ|.U|"֭HG#'$Z!؀N {rSp'aqz_Rmп 2.p9)@*;4Z#/3c[N9o0. $dzll˿BI#q,UH-$9cpxZ[co3n$!1^$Gb8m!_THH؊Vl45!̅K#%wc{1SdԞV@{ZHPKzwiϫλmͅ]aU}K[ [ɒD*71d^[\vݮK-2,8\VVIͽ 0SpVY6=c?LV8np y3v7q5U0 %ŧ#C!MOT;$$ia2,rK"2q>Rc b402؞+XnfRFI3p6a{c;JxEB2Tj;cbƦn0XiYFc\rp}lUxR'.w ';G<~5za4bӱ?!{~Ē"m-b>כ[c"!v3q\Q\fjhQ'qQv"9]S9c=ԴQB{ޘ`Ⴙ+J?JYAcA$*Tr?$8V|[n_)$rK8#zzY&*;"gkv*ü0Sp<̖R7dETspx 'gpE$P[MkǩHvOL$gi>L'Мk0>By ?kE/d!8ldBMcbwsCK}Z(-&S rF*78r8 ۜcOвس+0 ޜf`` 2nrhbnez8ر^/vvn' G_f~^1{?"T .q{=qUq'rsװ#S[Vn vO`]dzNIxϯzϛVUX\u}U)rO'񁌌j'+-=JX,S9>)It| 99; gI'N1&yqsC9U&\cacON:mAV99I^e i`s۠NLkxߍ1;qdzNMld6#~:YFl's@rU1ctoǓNh.U!Oqק.9RcqW?j Pw0Xqsޥ6 c`}ztf}ڲmn*5J_a' b@ʅOn+ r>c>{FSʘ{]pX /  ;)ߨ#mP sj6 S9'

3 u',zztYn4F1ÃҴ5P˰0Vf$>9KdEP.3vpzT^ZG:Ȭ$2z 9L W=Iڥ=ZNunXcu*qwrO*]Xg#ܓլQ!Nv>ާ&6T/dGXLx$vIhm-u7~SƆYRIcj^ ms9^5qįFv98$隈 :䑌䎆+\Mv@cc=x ;qBaNTΞ˃ ~:(zgz랴؟8֭l&1ʨ? rqOvq%x0HAAnG\U7p[A=)Gq2Q1*0s7dw( v{{8yKVlUGO#n 4ěB 1~U뚎Q* 1q]𦩫[S:j4s/;$֢1l$ΞG$40SϿ{yk ,*.!>Vz~4/+awu#ªݹ 1\gqcyFOLzf! v"ێ9,rr s8G d#9b -LPA0r6^դ7FSˆ(?\,%{d!Ttlq<_>sșQEi'.~^81 "/8&WIt\'}xӵh8<1^㊴.IGg炾0@7mV8#rkB9t]SwYzcӞi5 !*,gO\0 _U=yjWz!$`JcA¹{-m*4[d Qظ[3 9!"pNj(cq>a݃rH=ϴ4md ̃!R=V71flYP9Q%t ]enݔ+%qp#E)}o3BgO^iDVIi2AlaG#ߎ[Ȫ ?1V,F~{{S̀'w*w(t%z=߀zW%)c 8H_9OJvmE ub~VBHXռɒ-,O0'x qz1 "6Jb;稦ak~|p<@ 8J H8= Z@N*̨w7c'=f*Iax61|r+yǜdo 7ÌT&8 `+N*y(d߫np9>>ԾgJpsO7 ~Cۛ J}A㎙RT &yҎa / 99~KpddyP|.~^6ȨۣݷO%[nN{U HG@=qӰlvdp9ܼs8~7 ܔ9  G$`ҸX07ȑY$XԼqoB^gkF[gʹ 9LT`{V~ `xN O'#*O^3n[' c # W$䎁N#/+zT/1^y3ʁ.r i~` bH%2N1H'vW 9~P~e\=3݇7$clvW/;͓sgG tc~[vF=zԛ%a$$x}*3".FI<@U@ѻk< ݵ5;YU`PI󞃯J_f܅EBxդSzt03d ۂ1'>h=݅XBs8y IEj#ČYA#pzp[j)d>CѦ(因kB(UʣSS?ZIVj#,q':D_8$Bã^.3?7#71ڹ1ۅ'9\') blUV("9D} d?JYb+ ! :z558ypbL+(ј3=gMe0@?r^2wrRFWMJJIs+uG$~V9`f(ؗpD-瀹c o@&s p:QҴSc (P2>nº[[EȀ7} wP^Vzg#荛ש o8e;rH"[{$/,CdH>괧@v{{v!hdO!+[#;|6~nY'* -U}8J袌.~l楗2 b±BI}H8 Tò=h[,{Y BF8gS=L 9b19?(i9Hʐy+ v<Ӌ/c3EtS0q)ӌ=N+VɞEf2"Oo|dn*?u-du6;FXIO\c)X:Rxvx޳ϜD~MΉ!oLI sм'jΖwW*9U]sry5yg[ouknbq䑻;Sҹ*մZU*mfg&X;@':&t6PjW|e.z+[>JifM_j۲7#}_ fkg |w*L M%F1csfNXsǂ͒C2k83=Xʎq׮y"sxVb7}zqӊ=C;9J= ޯd 8'Uzc{U%-;gt}q~" %CqӹǷj,p1'#_lw$ :cک;S8 opF@7<{Oz;rp?oꑄaG==I}&K&o@3^ \n+lwile<`|@'q%A~X#tL92OO]Imjח47]ddsұp C1CwoBp8 )$\qJ:]z0\g4๥h%+F^S/kHL) PsJCnVi#) gqҿFh*xx+YSsZy+cz͢KX r MLy;95A _&V )F1޽[ԯm-c $.~z6b!TfW˅ 28ʼsjQ,` DiU^rAO5za\0ް[̢X $ 2>Ir%88֢H$g1*q(ON3aj .pĨBK9¤J'Fܭky~Ap;YGLHm72gsǡza֖ m )tzM4s*iXwqIQI?C X;cLSH#[_ {U#ܤ`EXݟ*2Hz(H=G4Cup Tp@cwsI{S4s]\o #D:W8 I;WUY ͕N#DR̽L F6}qG)"Yw+9-H:p2*Q)>Y鑜~5,YK)9sd`nB8dgm^1E1) cpqSSc=Td=NA5kQ3m V^k3<<95C1cݐNsJĎ۟ fX}ߗxpOF˃rsҳ20$%|J+6r^dgOaw,$dmp('ҝxX8㨡7[QT9t=)|.VWwrT>C*+VBTWn{~u?Psp%O=)v}wۆ\*^v᝿"Xi{cjF U𥟣;}O~~ vNAz©]s#ނz$GqޠFr~]V'#vx#v|*=OF@[N b pr{4=ОeFܹu6 /" xt Ϧzqd]Ƀ]{IO)E5Y;w3q!>6azh `(` cӿz} .+ 2H;rWg};Ď1${$OF'ʄl_zw8q0!b,g ףY d&J#H}*G~n#G ?# +++1=9GZO yseb0;,˿*yY#8 vu;FUW#5Pa9d$`qӷQP@ 2_7K S-خ1>\= 6 dD ňBY1ӽ>{oQ+MkTcڣ&&{{ -Hb$ ʎrG `3Bۗ}>&{Z~7g܇yTwlIr879*F͎ڵ`HA6flQrzd]L0TmaW+Vge)]nQ[$pq\sӶG5hipϩM![nFطb7\\2RI (*HTwU!@ʂs3֩ĸ+>IXTѼNҫ W眎k V+{4{i;n Y6 ~k߷ywYECm%hbȁSӯ}ߦcf2\+MXܹs_PtJcy޴$r{7iw}JGK$n)ѻ ~ VI>E-rwQCTfe`~<$VIz\yrq֕I`N=7?Ė phqRG[jg=rN2=Whl> WԞvͧyh$L1ѰN~S=x~7S5E TۀAI5}YG#$qygZ Rzgr+:KH]{uԶQp*F:`I?G]98lsޡ6HZHec8t.9sTIpJXf?7 [';V~Qy}lrF[ sNO44h $c;'$l69qӠȪgºh$ĐDbAA?bhϹZ_ HGd#*?vcqXS#Mv9F2pR@Jaury%Cn qtZ:ܤEr#85AsӞ+TՓ"ڱquq%sPxɧͷ\l|-%R2ҳ[#: ŗ'_5xh5v{; !E 1$f܂QsZ7˹#Wc?*sȪSgHP:ZJgy#4Qlm.Cf/\nG_+Fw[¶|j$&[}u"6=t#,{V}4bo%P-ϥuE]#+4/HrF#ݱ xdWC+ ٕ${ִS;q3\H&U d ¨< qpF8l8's8 ;`Ta\T9ۺAK@!8o};ئ5bj+,4H &(둟f8ܤ3Tt-۔ s4!{@13ׅq#E2|Fl,l\qU %FD}EmBTp}k2[U)$:9 hV|G<6K9;WUC@p6d><8],ǁJOvh9=y_njmHK*75F8e󊢪.aʲFu1boro eFct隝Pr$28<6:)Y$;(lDI O f gˇf0@T'wr> X`ަɱ(761Њͭl8XRv\ W<* h,s)qADǜW#R0y=霟;,p)=D0dI\qGf۽cpǂ)l.R1 $!˪o:=)Ax1ƃpi6mW)JꯕÍq$9ӚAF# ;rēyI+~e]w n`WcF׷?Nfʈʣ7@\6Inni?gyaXe^1V[wGp8'9ⴃByJ^`gA4h-I1bv.ϹCWS~xr\ؚ1ij:pIy'c 8w g9&];GGEeQpFIOBpI90H^mgGtv(` cP>\;Y .3wuub.`0K6oReJ>9/fyTF!7oڡh(:?ED9v"#H\g#@0y8f$qxD{vVnsz$Ǯ{&V`@ pvݷv3᷐?6GkhMj1US >X z1׾ +K w擒_!+*C8*x#L5L I]R7*ۀ13c#?㱫B2. 璸NkU\K@zaH\gVTNrI[=V3Z6grêd ?H\oSt҈5 IV#)<=F#g )1=2FpAER-T]D F |AՏ'TrۊRLW̬b,run>jvJU<@RGgJ% w'lTإ$,!U= ۽ے:=ꍔ5';q{{;Ԟbd3`<:I8ګnDx Թ$`=wRN`n=)oB~ǜ>SzH ׂq=Aa4Oni=j;ps܁cؐyC{"0: ?{$GPO;X~)I=Ix\`4HE6Ucq<~ q'6sNpA>O-2Oo|ҘUncB#?:pB2x>c0/ds~'hW 2K6IRry;~,7}x9e=AH?y q?Q'zNq'g9pOӃziORs'L{R;A cw POr@Q~q8$ 2PÞu$ԛBA9f'9?JK4;O\3oN .oN0@''AWiP\`w6md:TފC0ŌsHc?.[?uBٖ#* !9鑎- G^zzfzK1/lu8=MJ6vø\O@pz`˽ZD:,G^q:OԑkNDdr2I3.2(2X3(85a~nv'OV'V!;'[i{??wa0+i~z E$HLC˹Ga]j0Z3Ēi7sz׹J;teQԞH䑤lm~mzt.5rJ:1NpΧF} À[q䁎S+HW!AVY.ngUSʯstV ʍnd|V i]#{׭Cx8}N6]]1i85d91.FUW=y4sH7͍#j*6uZIm6?lxmO3ִ-A6'+;x 95OKZ?gzJri5^xqgx{9j.:mNx'>915FV8qsn?SfW%soBy@c뤴Էaw`rySQ[vuA5Ξr2}71ݻ#88_Z X㝗vVc|͜gROQƳMǯ!Ya1HɐF8>PUW"39J,8 2ԖL87q^y>5eP*',J %H+4i}K _?/^x5oQd})W; z ;k)"c鑃O0g?x'8ێ4!=M@^v#} sy>ݎ@ϸW:% 0JsC.1c. Îp:R䓷r}*qS'(< 8u9^F7yw%"6s|İJu é 1Jk@k.p2W #BKx38 <)Wg O }:p=S،sI(&l9^9~~g8o~pb..qerOPcQR =F3qӮO\OM3שR*Xu'|$uEof<O+${GO㍬ _R9zaK/ ={ү,p2!F1}}zsi88Q }rǒrxEb=(sur0{Թ m 3F4F=P1rb;мw-p:|]A!'1? G^2T }'6mEcy91=jfB YŒ238)&&#I9bUr*I)-gbv9>qQ+ t&ՆU d@Y=;S1?c'ROלc@"eLxV%vdtߗ8eb6Kg lx]<s 8У- pq=?SH 1/S0q؞(ٖ8Kyt#ӾFc#y0>Zsm`P=2 Np1U"Hr9)  { sҋƀ۲ąHuRB dTVT,dR8;BltpJ3#|{a;sumrBP>a9<9Nߑ<Oj *#Pl.~R?P[vȐٝ1l=~l(I;Ab*d* H<dzUIUuPH`2M#5kaCT )^S{;/8$  ׾)YSÇ?wvq9?6>X0ݴ.Qj⻘ԩtĐB5EVF>c)\kStE{9-l*8Y$zz瓔_yn P0%gb8$d+%#}aT`AQ92}TB!q`ƣp#l~4Eq8BC|#[h#7iOَXcԽd KP4x]V 9W3 r0`t\KpXwE+R:YDɴ >RO^ԕ!N~fא9<{_kjH;큎+Tk}܍|eW=89`!$u,>+zzFH8?LojGDMT8^<ÏucL$LsRf"#1_ v}cw^(h`q[(!8vYeЎmle߁ x k8aPK2;T`G6ϡ/no}˰rSׯҴ{yFAنwZPR\Ϲ%Nk͵قE*$!8㓓zOba4-׌Ͻz⯱u|pIuF9qIH6rO#j۶rznerr\Ekmp\6ŹJI=ϩ˰IeTAn8'o}ܛA$G#?j`@ƱC63+n;NVr?Z+edMݽj|⭠9#ty<+|=zĺ9*z1dʷE%s={mt*%\s/^c}rTȻ9^c3[\,l󻋆I2Cg6pOLtK:ծ&x8sdO 81q]*TS 5g]/kLl ^ړfwc 9== DTU+ 2n}X c!ف3K jvlٲK$i^Hؤn]G#qSq#<ÎalP2WO'4`  90 'ӊزy_ܻPlC1zu~ntjrG*Ao^jѸݺ}kʖ超Qy‚GPyҚ~nNy?(z>};$ c;2q皔gsצ813maKTeNOL)dNp g}1OW0DSG a wsM;l\fyp#I0xU1hr2 i1{ܪ+]HGN:G` PXظzr{1Hv(Yp>PlA뎭ǵj3l#{ i4cf}lBJՇʀp\85 ?PQ#ȏjC\v`ABhcC)-܏ʌlxߠ9SĊpU`e;۞/~pBFnNѳ nw)1ʷQFx"l BWYKGӊ|JS8PNGn|#1:Q}lSA8p΅ A u'@ t:2NO|y%};v0z=2?*V9GґG?ӥMZ(I3V 4^,F3ɨKS[`cg_Nߥ \cc:Jd$}]\#ZuFS.s]q:.sv!#㞝'6  dj LrI]s5~3teo-R( m#f$ghR\N݌lhːJ fҠ.m$ϷL}M$1ŇgH.]ˍswWݷ-< ]N:sPUGB=O֔ߞCmmD `gB|xЪ\3)b^[CV\eUJ&ӵϗv,H$r?qiZI$"aOLRx5>c;>e$T^}ȴ4ʊ8$U? ~c@=z?@,ۆGAM[Y&ج%*YKwzzvUW 8 b :6a)|I)mt~be`=qeH9P̠Tc{Vwnk畮w_v@v9>nU2paAqJzjoF|ǵKaas^<#En낡D 1]4cy#~xKHIl "@eH˲k툐%שuz}gYi 8<'+_jVAU$v*ϥ\~+M<Ӳ]GlB Bv+8+o$0Olu'X͖K33nn@3W]3\V6@IF. Wxtay>µ*3k-ٖXB&pV4sbZQ۬eh<#'Yw+|ya$#Xd^c,iTR2  ڼlw>([r͗++#aO ׸>fD񯚙P98܄׸U:#~2$zkF9zs0X:W*m<([tGcD79͸A?xduR@?1la p:d?,9;9:qz` FQ(?1;yP{t&ilDwl2$"XgxYVwwt)Oq }I# 1ދޖ0oQm>NFь>nHaj_(Qw1y=0؝Q) CIr2v+c?6YTYQ%N@ޥ98=j̱4k  VR9֤Lr8ݿM,2ZAqÞ2y?ކ4T@#%xl$m듊~ދSr2HApTP͝_w)ǷNt(e彻H-R.[ NzDk_(tL('ns}j !r>^N8Ng &w/OH8a@[HDd,@b͜y4o<A&#ivNϽ!N0N?.pI{;O8 f %ܐ OL`qA& `XJz4l۞PUNSndS ۜ#k;sOo"VbOn$󑌎)2C6 |ݎR &AaR@|?_~)UH;x8Qz H1!'ȹCsTIn楒f ncؤe= 'S/N#Ԋ"`ӄڡQ5AV\wm#!=;EZm%P|pâ*:84La ^7G4EE$;Hy07cOP3]e:vEt\D#'<@ɭb"~45-CAFLbAS^[$h>bp?@HRx}{U7Twmo 8GU; Fp p *OHmۑΘ[Zw_6 Y3``G#ۯMr2FFOGZ}7 ydܲ$L~| { 9*]@q{׆O G% ={MjǮ 1V3c]x'Mś;FTq8%u:]r#Uu$Jessj+mLɷ(y9CUI$+)75}dǡO9Q9ϭMqVha#p@zZĔm =QFN;氩<&Y)nX=3E<\$m89>kw^Di@ =zT(+d=N9?jjx821aUU>{~fvEWoe~naP%`r>W3Z\.V6'g8&gxFWObqӯJ?0.3cN> 2:TZDDNS'9% Ӟ{S<1pUY:E8X8ڃhHy$^(%-F0ps1O%sQ pl>ڎaL}b'qYsXDKU<;ҩ˯aݔL [@IWcOm ǾzqZז]h 't~fw(9YkMh"ʬqG*^n]n8Jڙs/M)(pY@R##O>nbli pj_Zֻ+ÚIǟv P(c+{Ve.dbTxsȡb}_k.૘T/znI=D|6Ow:ckNCmü~)e$Ǟm)+κ.8 fc:U,1MJ^O.5"%~_ }*K0ʡB2+6Q!wis*}Yx'xK^mMUHw(k Nc $HT5]LYݤx}#]qj QE<$7#$ ֶ,uW1;6f ?ZR2i&=.o P<"CQ?Im@Taޑz8DUwZ2NJ|_I[(3 xWEh&p6г G(Z6SjʬvwJ [AX19uRBf dFUF63t--F,#6 `8e|{IbF+~fe8r@ڴnu1^G$6P C/Ԓ9M@iTd''ss+#b*ńc' ƒsҹܛAyRVH+*$b|2:9^c'^u"cn X WGmKal_.2- d^TyRc`we߃sՉ9G[,Y^11vjd;[2p-Ojl3wl< ·>6Ș ƯG9L*ebc30R3=)'#Fv$jr(l[uq-sHwpgQK&ZBc8⹭ >S9 M~RYP~;w<1!qc{uCdCo.ߝHӭi nTn#9gx+܎k붣Xc`!wy rJ8{~5g-FpCrT򑳜dzҷkq|/ Fp~]#* 8r93-?aAw: <If}sN:/XuԨH>Cnخ{ TW჌6's{!Ki3ԨInj۽,LUvS~m%uc6Cgs51 ñ=>霫 `=w"9C 1T.{bا\up:MCD6 Hw =n/[i eXT3rq'T32C0Q1b$`{җڷq?_Rx:HU(8QǮ76]38\ -:z5OdY ыbAvi5Px 1͝]gnr 9,z@# ñ=zW]L("I6rurFH~3$H{w82;VLpS9뎇d|*'$}1?:ͽuE%s5l\,N@QUQNV6Z!eݔ>E#9NjSpxRxs*j+|eמqx8R9a?$؃y @-ʶO9=8_3*Ⱇix-s䃀XԌ* 7KqkRhu$w Jԣ1`_3!ϧvug!<\IKn2vۏF|?+МqֳW)-GI`vC@#˷#!1MI $z)[n{weܸ6v<ƣf*W ~\u.3>lgj҇l?vPJr[zRRM!:)ZoP@A$ sޢ%>ȑH 3Y{3T7׏YNHP͸@p?J\rQHb}r8E'FWT5|z_؂O`HF<~=yHu+yyOEognNJbɚݛ%]V<*T4n'pۏz.3Wَڼ ӆݐ~\nB%V•ǧ~1ҵ&K@0@Sc,I9}j8x$Ǩz܅3x8CFdc' |ޜ]hvV7d#P?Fmn+Nr_=OX#f˗\|p$#Z[z&UN<~PHCbģF}}X%ԛMdӢ]L3eW]'# LUImE خGM}I,Vr ڪۉsXʙ 1gUݖa5vjk5R:\'$¨[9  DM#+ &#,}A~px\g>çVk <0s{cNhTe} % 1,GP1ϭP]C~>΢_q]m͖䜑FO%p{@ qꬍԑYշ68>8'<~ nj$񑓟ɪsy?5g'c[*OR}Rm\^ғe\AH9 ާ={֮v99#>*SM7GbOzҧ  s81<66O#~t +$B$rA\R S2?Pz_D039@b'#۞oΫ"#F2A=*"O@?N.[ NyTtQ4;Ha1On_[~%%r#1/ G@[99'Utq $K3[9QI'88\Ӷ#bG^Ket(8 qۚ|lc'y[4 wS63QIAp:cs֟Rv&Dy냎y5d/N) rsӞCNd^9jHpq,T۶1 G12z9߅C ~WHP3Ҟzm8$3vH rnunp̞q8`ΫNK8q54OSbGhA=s^䷶j(2410M}Q+UsN#P]szx漣RY?t6r$9{n"+#.uoëep0+idXcCD *|Y/R7uOrac22T*ONkEnY<8${qJA;7|NxVI۹H nu e#*@Uyю GL;1Nbo3WqsdqOjnSߠUFA)vWH<zfxؘG)[qR1l@9<ɗ 18BT4oIN-4R:U9'8䀹IcGZiJ/䝻O;#^3[&j  8q^xDxpȦB]'x=y+hjsVS^BGcQ;rGC0'=yg|gr} } _X~Uybjgl 𮭥bIh]Z4; 1H2X8_淠QPMy2ZXzՖ 0%Upx"0^ZGLr8M]}כúǾAgp+ h#gȟac۶nwDa!Q#kVw뷩*۹:krJP"h7Ǻm[8@z0h^Tu(Y룈Sk]tWB%t:cjƑ3ʓ'˸u hl8"pG:cze/d$gvB灑<A֦'*sF17ͻ]N;-< ۼ F5KJ&]#b d.܂~ӽ3 z݉ۻI+Я ӟzxQx02FՎ]A>uirIp$nSM1 @'#ǸI:0lg n` uȃvN(9B1bX a>a\pϷ'Bv8nXɃp{ڝ̈ug OP÷p)T(X($V>JD"IXT;J)Ur;E$ SPTaUdH+y۞qڪ¸9#$sԑ#j3pqDZ(H.*dcfTq@=cd-_f8XI2 Qp9TdsQ12:OLuJO'̖=<:cyz$өj5V^{p2k i<ӭy5&>%HrwN@퍾CVclWh/(Ի?1\dd"\TiNǿXifmLd6߯].aguc eztLSG*Ϳ2y.R yI3>Yz [d /$V+zz}+>꿑79Kc$wn|8Oj3LZz $bǾ=I1,K Ÿߗ 𘺼SԔRCmOG$ڸc|ۮFF=iTu 9`=EqNArjcaOIh8q8)7{ Ocwgܜ#Fu9(]@XGSlHⶤ{\/,=H^=?mJ&+m,IA _iNfA`qQ錯$s~9%m]2 ƚǷҴ c|Gl³e?zL, Ho_z$Y\12Gm 2,[PU yt:LXN32` ֽFyW;CSȚ:;y2DH2GNp hRYUW,3Ns~+ƫK.Z_iWql$pOnGJ䤶MC,3ܠʱq3V]^,Ar9;uvX5\ҽ(I5tyיM5 $M mq:c ^8fD ]Y'oD\}:rp3sMd߁ ;1\g3֚-$ g8-%smsH|*G+TWeSK 8I4-YzrHpI?'3BqEvGbNöz a]\KԎ D ;YF `>uK4dYωJ[ y ֜\6ʊimsg#8*<<: 9on=*I:88>Owt=%@!H 1ߚX .(H8wKDp8e<Iߊ~8c{ylq8=mۖ'`g'>H:\wNP(] ^rv>!@A%}\[.X`:֓ LDI$`3M#9$bHkaF8}{vs*aK-2jLKಖ~O͐ {u|#w#>{}h@H`9GczFv=ԒP@u=*F;yt[=7ݲxR'|S?we$l ?*FXTn~u2obiGß &IC#JA]FVzjtTQ0DTÕ\}3 Qr=ȉxy%F{Տ*Xy^#]H*7`z@g+KldB3F㚴EC.oS<7tG0@+Cs<"a;]y;sRJE F$6=֥X38 2MHL2Wvñlvϧ"KhkRǘYF8dGgG+[/ mPUV.Fx*4LLe8+7bc+v!W!J]k4SZlȶ2T`9'=T-VR'*Uݵvg?2py<~5e]8?z-OK҉uԙ|7<⧩trrT`6r{IuW_2O,/*`rHr4d|kb &-. d @a~2>xK{yrʻ2\d> kS;BI!8_M\9[HSkݻUOgM AmE!p[$}:WAY[-ݝH@v8A^ apHlïJU]oJ=N٭v\l#Ozݏ@ruG 1ӓڸ%\۵XlQoÊv1S!Cd@1ԏ^տDKʹz)p ǐ{qR'vK?+u;zfd^b@X0$UieQi/Njzt93D,'avANNov]x7zOypPp\`>ޫKWl'?/o;j.䐉!(/-~ǝzQs4Vgh#F;sWKt.Y ŝ|W.Ѭ/wp28Mb&$l&>iN;r^i[[|N O*5JT9}L|Rbh`@TQ7})xÛ _-Ҫ5$d6J>iukiaHJX" tWխojjsRw\O-q:r] -*^~UQvqꦴeOE7݃#rr=kh[~4l!6@a^8+K.:,$}ؑr@S֭'Q$㑸ww+#祫= k԰2J3@2~s^,i'wxF1p@O$Ot64<#'bx_}WcDl`(a:)9V<'8pOsל޼6C7Ir:u$eN;!qrq &4]v lU5]nx;NFvyJc]8y9C+JdވҐv>J(l~^S"U#yA#}M88r߭$GP.<0Rycw92|ʨ srG9<ኃ=H@Ju2; !>BG9:M˝pFs/laV 98 H`¼c}vlde%9#)rs(nʃs؎>؈!`FăMῄ'ߟ¡ЮncIt}ǥVTvCҸ:>a#RRm['9G\'NC*)9–#yj0qç֪"L[?176E O-($zScFЖ2G `1eᐻoʿLm /@P֨@?;$He_1w!=@kZ^&|IP<`p9ֈU2:mwVY*;,r>R+4 {hm,GqVASMO[NBZ[RHk5{ 2(;YXnffOxK~L觢}޾zF֍ ۂpWPO]D m/he%_[GHESC=<:Y_[K)oin@ 8)vqlKvSokK"z8Hvw/bmr0IN>e9u8F~^K`yPGNGZcn$q~ h@l z u O'P=y`๳C8猘?s|Rbjt:n^6ly*b6]:{_8Pv~^y'z33dMwHNש1/n8`B{+$J uk2ԃs4r;01ׂOLLݎ9+6Vߎ=z^;RW*c:VE1wְ4fK,IL|%URE=8tҹv)hLǹ4 $zDb)سBF}=hqOAֺh3}('==H!DZZgWnb ⩲ϡ>5-abOZW@NN9IX%118C 08'lOαoKщ9\?ʣIpҎmbLNaP'_NqCHrO *A>Bœ)ݒ$6Sbj)%@>'ӡU$U8g"ͫՑ4ny;G}jrr 'Oӧ4~|Iq$\0ỂxzUo5C),͜O 1faXY`)w?\U?18 H9Wj"`Lxṁv++h]S8ǝ /)H ̯"ǺVH$Pdw]KoBw"0[|O횾Ȳ'̀? qpq\Z4u;v qO=` LB8C݉bP;&8l$<IR'T劐9 =hb7LTAs֦gR9Vߧuzb8If J| FT=GnIv/pzF4M%X9T>Prvsר\aC`B^z3LNC%8N9=2(y 28T< k ; ,f?*nry*9̻O$ K4!y<0VԵ:W2clE"lW%898JoX,[2g-^;r ZEm"D?1{= \J&dŇf('  GPyS݋"EFޜe9ٿ=$߼F%5=P0SQ싌.eLN.1fHka WmÌby)b2XnqxfzagacVJ1T<8+ўq[*ĘP8:^1gv] ǜTnA2?CdS;j̼H$XI]CW c B`ŻzeO)v`Fb#'Uq/s9BwrGOұJ9E#eIg5"L\  '-$=iFvc8$ QNbybwrKg'SS[gf`ۧI7K{Mv8U)̇N]yqՔ0O^>)Vތ?pT4!Gۑv2 p@P2pylg=Giy]x-2ǠEY6wܞ*"mA#hl'=2} M`9#')]܇ gK p9VX2*=x@:~d%nKhNc0$;j&B?uv*z^ՋfL|{1p[TN}nSQqfӀ0^W60Gs5fZ`0׶K֝xczes|.y `s=GUh)޳)^e6뷓qj 38 ngk'K*r0=N}{sVD|@A: zG9z+ѩf`2F#ojuN[$=rsވu~0)y`J` .CcqRȌ? \Y?QqX8+$`*ϕl]ǸFLs0Aثݜdmmg?7>MZ5'vÌTfO^q@n83d 8@ǽ9A'p6z~uBFdNOs垔9A,g'$'=GT7er[-̧2$]1yatz#bQsw6k`6izԥx뵏 vz:tt~Tr'%Ф JwmsA_i,!BB#H=W#xK *5ہhw,p ncڴQ3Wռ!qeq0ucX"ps 3'QBFg9e*. k^y7*c;Y{tO"w9H]8TNy_k{JrI_CŒG^Ԟ.0~+Xϯ#pc9x=)";N}q;\UM&$Jmaѳ:$!FI9!Y?6}3I؏1 rA\`*;gy,YN9Sr6ڨ3ssP=*2I)!x$q2FPXe``3zױ@*e]\Qw{>j 䌯x߳L ۸79@vG=qV‚fPv?.23ҥj&˱i0܁ ;'RCwgl|$ 'prUT ¹#IcS3! `dϡSdC d@PR&@ ŸZ?1`CXܲ.j˒b~,  q0mRY@da>J y'~vTz{ۑ#UKx qh ~ k?"yL3ۂi&Znjm>#-˴IlzTՋD暤*r>[N4ʸ6.N@LV6+ѴVvxx4ڄO!հ.+ƵO\],_ƻDr=Iu+Ǔ]jWA H,L+\wp[$wuŸRX r`Y*Xsǯ4*r1ǡ>#k 3-: d6y>̱xaShrC #8'>)r $6s1:vȠm99; _A:q7py^>l+sqԆbIedXш9Fr랇]+4o1vVv>oShF: d""\Q; ヂ=}M@'8]8k5v[HŹԧ*>Q`@בҰ$f8?6WH8fDٻmk*`|c'ִVo =Oc85ͨS>/ "5܄*d4+Uܼ!=+qj As=vcھs[T}v MI!DXRH3s߷?Zs~zJ%wGN ',3">aל:qBz1%:T#qb7 f;y`&yh8uCFp[I`9s(8'3A5,qFQŞi3+D 3Y2pcs\˗؇ J#<U'ysz DvѴ oNνL/SsszRqCePŵkb(Aq/Z*̇m60:e}#ϒ=Z; eJF5*"r1 7 AՒK= 0?kbܜ{z>qڽϮ!:;n8"{y>ߍy6IXz#c9*@ǡOt=HB^oGQx-ĈZ1ӇʰOMxz֋aܨH=;>ݪ,Ozӯrz&RH= IぜR}U11:T #Q]o-ݫ0F:}}xxYI8!?/cY*)M9s[S߀7{ɪN1Sk Ei}~ꝥXyFQۯJH9zNZ׎v2s^1_l*{=~Ye$(dg<#ҹy E>+JJRfʎz l&X Nϛw5ҕg $]s PJcg$I( A՚{/65܁PrH,20O=<;A댰=͑nV; w=*Nvze&E?V0dN:SҦ,xdy''hef%omp@?ϥj rS~kM rܯA8=kA;>e3UV!yl^{wܞ:Uнs^l5{m o*lAR9?/9֥ ۋ8sacf=明Fr m ppS`qGɻp2HF3]Fj,rAQ3քc9>{dz⪜Xn*w\߯J Dl$0N@Jː3VFLJ"R76q#@N8>Ցuڌ"3 -=VR>ћ&y's0V>/TD>Eqק~:RD:׮p܃W?'2"61e'O(ҵ$iUvRFn!]]tbԦmhJdi ) '}~GJˌvH 009Ĺʯ#`9T du>%=;)fG9H"P2aq֨ĮQ!ǭL jfL0.NA@۽[u]0csp{pBAUiI'cS71AeoK 0^% ¢ɴ9YK1^8CNF#9RJeF0̓J:麵<@AX9_,)=sך(Puf/;YSeJ+v='d/VV%(f$.NO5ʌvf,qq})x>}yV %Yq8Cdpvu5TUa!q2k82C&f4Ri8l ե;:Vd~HV]S۵@;LKaz@F>fu<{ [=#9=ϭ;<^9T! GPn=3U^ P9瑏ړ>DZE=XsP⎭Ԥ5>s=b'=qקnbeGYQt_j1lkd6ߨg=OJQ^[+Tye9 WF8#Cb~}LK1^*1a c@L{4rapXqc9&GS 3=q  eԩN:ޟgw%]!9IFOJMxwǞ$ '$feR@rx5&}/M^yB(QJfVM$mchtT~Gգ:=b=[6fi6SMZ PƤd|}Hv0:_L>ejwz}v z 䓜r2}DaA&_0 B>~S5Qݳ{iBY#3 [؂CEߧ1L'؂W9@F6ܧ#S8v^3h@:1+U:Āv) =s\4@Uw: N}I?wRsԖnJAQr9fन@wU 9T/nNMn9ޯmI,Vd" IVmv`|[#qx n-XQ˚-(Bzsj{I.k%<2 (p2Âs'#"/./Q0;0⺛ׂ {r~*_aq[g+ίS_ǖ0gywVo,+HׯȨ0vf,#nXs=#; Nj\JПY2X_#޲pJ^!|zK+x00y=+hzHnp{0sסê~\* NG'׮yjLdC7\Ǿ3NϽUFKBJ) c qO _< h=8)5:W9 =M.J)Pۚ0FI? & `dnPFyZ\W8R2;;:p]F}0vhr|na$/lx?Z<pG\Qț wہ {v9"U,?oˎ{gD¨8کcQq@ʝx1q`;y0LIP3yul( l)K-f{i~ dh ǠfITb,ʬv_lqU~FLM-` yG:FU"sӯJ֥dMm@%#ҫxd/JFW%8] :V o.\ rnڎtFVKMa ިXګAx=t`miٓr=8ŦgKywF^$\+F3]fk2CiF/'9=@j/*+/)cU ۞9׍[*}:{h&EE$'nX*@OG0Xs09 |lwrl'<W_enOœgR-^"FQ0sT0*7Ė#ځ'䑂20@#{SfEv.6}cNt\dF@ی`gL1Sgx;9g}Oҋ#;dzd9<1H=Ȭ&iUg##xTqמi[mb7?7,ORc?Ү2T p%!%)n۸8-tکMjʰn91S+2pA"1z8> WFEr@<'Yԑ#BOQJg$0 ${}*pqӞ;t9I7&sӌ95X@'8tI7hq{az_ORsv#qެ3^qR}G9$B;ߊ$WF쁐?jJzu49Ps@#ǯ'z`;R} >RïNzx܏^Z@yn>էu~[R{gr T'mT1} Dv3f ,#T pqre1<xk ̇N]NBclϷB{n.0A\:{X)\+};s?ؖ2۲ў |{9q qz;x%mN<#<2rz}*V!s*] I+| 8QDOm* HQV5 ˳k.vcW~onkĺծm FF1:)D~wS~N`n {gBԥU&V󔓅%ezȐ¥!f K9:ȵn@^p1ⶉFٗux>QY6L=y8'Xڍ!FnUx 88F+krWx1fs:VRf)#(@ 02dFzV- 'y(B5jc Ų!5M v5ƾDj]r>槖+a+!%H`;ulcyī݌C#U$:t=i]pJc8wO@84ǂ6- O/&Ot^7И@TSsYVa/!@v'jS'.,N:H!@lUSݼ0n pXd=xTo,o1C:;1=Ef"_t%!`{z}.l(܇p21qV eI-$* ~S皶D^M$ Y^M\$qR2xeQʒob;U%-< pT]:(z f\b B20:ʗ 6-abq  `ڽG>Q sB qgYxzRolR|ۉ{vM9# pTFrISg瞝+0ꕙ1O:Լ4%ȷN1X/>—3DV2r@&5\4=.b%;}ʗ Hb!s g ϸHlmv#sc#׊RqmkҪ->Gdzڤ4I1\|%'i+>Vy կE$,ldnNЊ:m$1D9ȕ?t2pOA=Y5Ŧ"e#f`\;` jtW%%9±Aޣ8(c+e"9.άPaOzdlɾF% <7<+̮"M>c,6`<Jd `(#]Či"Xl\#I呃.w`+Œ[ɝ.Oz&g,Ǣ[Ggwwap`c*rj $?Z.kQvr;g:O`ޥ6h8<6Қ.W89u'YI# 9f̡B=zMv cfb8j%-nE⥳P gz80~7| QR0C+qsœH,{^N~i&ZZ''I @ PG9g#?J[\h1$7mNO\sM2@+#9i qlH BI'^B8₿HWolyJN3Sjz!} rp#>[ q2xޭJ~z!ٹc'#=*z%^*#px9 d6; #nKa:rOAOzӡ!\~pN19$ڨ%`=lS[ nV>'ؒF{ q?V)mKp8뚨,$z6I2NN *m%szYUWOn8ەٺPG=jM:'@18<(qHg?H>FF%w}Đ8ErnXd 0SAGa֤{pe1zТO-_v1''+$iOT`y.ss9 p}/m +A8i'I-NLQٕ;BR7`jo^9 \sۭR6q:s_QL9R19Q8A^:Rcs1<4浟;i2'|\=#lԙ\A$wr<- ؞Q}|I!T'_J~b< 1ҩKerTG<܊@c9jȴN2RC3Vvf c=Q]1uBq1CR< } T7/wfV 1ZHt''#Hȝ"fABr8`݀)ӵB=pr9J)~:*i#=GNzg,T|9$^ j+̙;+|ɰGRyǽuoid7HB܋?xv9n+u)e_fG =NO~1ڬ`da y3׷&dl B>e#*Üdqϩ5w`nb7p=>gs?gt)u,r+)xٜq8+iJ>w(Jr:s]sT,;IdE;2e#7 4ԭdMcn | cZ]scĵ#vEb8Tn_9N ӭy-*,x#?PUk^ ey3+eΕC1s;j&"Xb2p_RkOP6<[}nI9qІ=ȮԻwn5R76@䂴1RPbHIUުr9"*vR0 qJ\.dY9h.s~IH `ntH" l!I'nьgyvWXwEp2py3wgoZfmقrXVmHVm"XC󞄊A!#, {9簣9[2 JxݎiCp~#9p};0q d]R$;?yA>` axXʘ%RԆsc9ޝmKkry2ʣ\,yuSS$eo_LtV!|l1;U`xA$yxc9 \[`SH\ÖI:`9X:r0{ҫy,1?7%Ny۽ai~eO8khE'#/N 7á֝Aڤ.FVrF9:'h Rsez+$NPS[z"߻マ2r:aGN*0HV Y@i0Qrr2@|̱S$-]ēA.UdSܖnIs1&C32(bpoL~ژ P0Nr7uny*=*<ʜ ` 1JԖHUO3k(9[y=쑳 LZ0Mr5Fz9< YO倨Pք$HTTm]r9ҵl ~Yvh=Aϡ ʓ^Fva;K`FI yRS\)B"{8S30W-W pzMg̝rIfp;\@ޅnm}RSBrQ1=p#!rO`jXk_cZу{K1>CO"㓐 23'֮~|^JR8 I\@q鮽TPaނ0p+`1׎kXI&EgHM;eP kM$b srr'tw$` p犫_읷I+' 3]+$d9YeC?tɩq͖IķBK@7gcϒ yr:Է(RTde23Ԍ&Ф <}*eCrI?0]~8=HP1}3v*À$ Oq'ghS۲h3c8.c=__t{CP9xAJ720:ZF: 7XZ:,m5Dcj '[RIT;T(Q~Մc)K]I5Ke=>| dgǨmm&Dl;x%8?皻H б\'n}7b3XD#bґ!3$=8yhDiH^3+^In=M%ܑ,y[AmڮT-$w$qȯuv}-8ˢ:mB8T0%YG*˴t[= 9HHKizuqt7k1^d zwx=#Oܲ#UEk4^2ߨL<{z}EX>'zܚ/oгJ y G8ޣՕ~`nNzP jIy_8$⴬Z@evp?J̻u 9SPulqZF5J /-!0Ea$Ӕg[,*k'8{ףX^O$"޿6yӏ["/p:)TG8@$ I 0GNOJ/@[3'c 3p܀1<~7vqtG& t/`F:}H8#GNю>µ佈dBܜg slA!+Ӎ]-Js8G*xe; ۚ.+DU'{`qp޲6${V~$h)x9i5z泓 Bdg}SS}|ot춻<ɠ5%0G0vM$¶p%F;yI&d2d#}tdKcYddA*zm=sZ3,X Pr19gv2Kg—|6溫Mmeᲃ:+uލnIyoڭS|MFF.PH%!kF'i%vEx;[M]leT9{RqZ̒%1FG%rL9bL#jC.MRv) 0$cFǦZG-Kpd@>Kr<7zP$m"nbd@i%'\x$v[Ү>ӭX:M329uH7B.}TeD+߹G24gv]F[v/i-´@Fr4H$5Bm;y-t5,LdK/[kYM8ۖ_O\WJ-4I,Ѷ\`qЎsYZĢ6009# q\̬eFymwg#@ 1u֒J1I8׏jUcs1"(ZI8^p 'GSX؆Qȡ#g@co^cˉWi+s LJ!%{85pO9RIm6[SۦMiF<(\nX@=rzVMˡ)"̬IRq8\^RK7hҸV`2xbp#l hT>hn/y<Ƶ1nS"L P.9p z zg"z- h$PPo OR$F!';ћ"c򂪭2,`+B5'@:sZ-йqno鑑k@!#p+M7R2wӡα;1?g#k}p,)-t!ۡ*r9n~`7}0yMp'#1=?>88<`%2Oj,JD8;)L׊'/;y9ԞqR"YSzL$`ssNpq@yp=s N-P:ߵ1Igpǧ5(8㞼'}) -zH8#zђw(`,o>X6Hژ\,F I\tg$z>^Iw8&tO\7QzbWB['j=H'@b,9h9njR#ewHP:c= AE4dHW\9^8+& rh嘐 \+PI H-1u)lmgK*c =;ҰL[wns(, /6Hŭ :F#'ʈJ?s )[Ip\.vD`9)fBI'ynOz78^OMQ:Ԓ_|=JS9i:LHO_~o># 7lckė*JB3dQP=sM/RR8'~9:qN78 Fx㌏CN< d!r{)$g8 s׵2?0#rx_T\~u*p:Ω LsWssS_c܎~'0dlquFiSg#o] EP $ݓpO^*F=:`pQfЁKg<~]8$xsȯCڝX䮯$Zӫy'=0zkl;v5UCJ);x铐^(m2 )3׭r-BP:Gz\\¬eFOi=m.{=>%z;=OyRۏL!-wIOM`a[H, mY>RH9ʑ`)97jW9bNF~j2v-@!s7>]4zFݑ56j7:ְ0bd,~*AFт{z>6u$r)W #( 5^W\5%mW~gKYI~e{F" d׾H=+ˋ(n ؼ Oқmuy{,ɖg~IJ^ÚҜo!MU2dcC8 7݇eUlW8+~q]#n17o6)aЃ35g6*7L.x`u_W4os O,H/ vDCP _{zbƪ̬[qpGK/%x8ۈ+ӌn4E@KN{ՇP*@ B7==:Fo:+-Kb=ݩ\g!Xզ qAUIjI4g&vYQX(U@S3g\;\2!,d1FTo%اfIvg%GU1|9;`vӚ,gVY2c*3|}k4{HWsT6"w0~=Kz7f&;UqצҾӭ(bn ,rJ P~`WF<+_5IvHaV9$@ϯZݍ3&Qi{gv=:ԇIkTMP &\Wmtgⳟėd\^dDV0:=bU&W#g8RE=#6Z pJ ;8'}NkcW,F ^:!H'B9S 2 (8^ewZ]Q / 9':s"Èf3* qۦ:&:qcRa& |gh~o~sM!n#Qt-J?9_)# *Q C( 8ujkaXE- 4hmH8ryt\S- =v8὇j #G~$H@;q;Pc3 |u+El)Tf>g) Bv< RTKwbXgoǎi {Oތ|eHlsO7vYٌOCGL(9U0A댎qd?d98wrP:tA۴}ql|{R*:HJ{!Qq9RpFG=Ieibu.R(O~::@#0\pr8yo 3ø @y T2y98<? >`{vdmrR2H>uzOJjnA;eI!u4Ndf]X+Фc}AL=qn7.*g*1 F1SjqdPI]6rdP9`Q竮g={g4?.[7|ZC͙kHLcfl׊~Fb݅=#qar2rzA9^0:r@h[Q(m9# ~ldqL-NGp;cq&UQQTƗv#y⨲ܸ`<0JF sR=B@F3g0jeu #0ƒWmp#'-qrz{V]~i#&$H [rmD1w$EiNWqܫ` 85s!dsߑf/s'w$s'#ٵ  ˊ nu@CT qkȵ'; n$.u##vѕ^6wx[]`2n-;G"mԂ@۟u׺V9K#(l#ykA~[;2ʭVQZ95UCo=$FG%̊6!'ߑs>\^b6Wh#q֚$^)j67 $qޓh |#}ikTW6n;8@vHbGҴN hhٖ/1~Gˌ_^><"877OY{dV7n{d8q؆)<:q*>P$Un)Xtpi}Y<|TQ}1sSB6۽ǥTm̻ͪg<dgہ:ceQ#hсK|sW&H Ws9OМ!Sd 7Fr9T|EKo h%(A(FIJrjz%"VӌG¸9$w{Vն ippAN 8>Lr6<#?3_x^,BBKnXF-g[5<'vi[쥡fدgK/zwz5c%%n4',y&P ZG(fT6eX2s_uR\E)?̥o1#qVelF7*QY GkKf;f_ۏ'v0:Ӌ Nq})Xٕ5!X$12x QtfnیwޜDޞ4r$pS_LJfح.9BF 0`HĔ ӏk;n.Ze'h'Pl9k w#N Br6xy1`ʶ$Ѐ6[v8Jkb\v <li{ҜV)HW܌( 6G"O>kQ}@{c't_@T7rTnB~mz`qB l]2Fq[=AV͐1Pqr<3Ҷ5vXc~GNԃq?4&8ю_n9*pIZ9߆;v@&p0yڦC ˉkm 1QXX-beuUTHz󊾄+pRb%F:`gq&ʒӀ9=}>KF.̜}rsV$TlF7 >UdݙWi|l 3cw S\CM]|&0gCldۃQ]ERWI!LFԯ 0+85tE))V8cV]nix4AA鯙d*aU)a9ӧz`grLR|($-oyv QsJ- FPX`Z i͞n~3^M|kO71ۊ] ,גr(9?t?77_ΪQmuЩivlifݓN:kShֳ- Y~|6~;rU$ m?$c>urX92;BŽgu`F[ (`Tl62Ӯ66 s %e`)1Kay$e&19V`$t_fϰtc6\)g7g4KBr9v+Ԇ<;b%'h U} ɄV:ʅ/88s8,g8 [? .6[;x1ONZqqGP2Gp dn~]7slJ}D3 y>D\oJ?҅ʽ] 1,~jSn6Ȥ: 9<4̀ZVRQ߮0d"s{i`0=Þfޥr)w;bNr9SJ r=؞Ҷۗ>3fPŲ\n=8Ȥrro=~ K|`e$,e=tS\ک41tЦ#S 9ݎz}E7q^G=J=.JZzqUK;s=]6Rx\=:x=p3j2[9? t'ϧ?v9is;J,T2GPX79$pG->[al {d9BZ[M݀qڽ`{A ϧ\zv[">qӞI ^9`ߗ ^O!Rg ^*Msf2nqZ'c߮0<]xUN+s2O9ۑN!'hg,S= oҨY U^BOv\^oSIz;,![ҪK)؀zR{Ug(2,A?+ T/20ÃR19_jM}y7F;d{UJ) Nx:>ؤ͢Ն/o$0yP;B l'P;r~\㓌uZ@:n^zU :1~?j@r:c=: #vx8ʜ=0. #ӿ8Gx1$s֦@;'F3n~#qsRQGS@s&qi<ǽ yQO9- #ҝ׎GLvw>HEF l?*҇bŶKNH9qknt8u#ʷK%1WtqeByp*A(my CXd rsF4; FP|[A ׹v֕s3]Trx+1rOʹ'J/e1ːq}1YR7nsǡ~)cط A~gQ#> cR6#>㚏pO'i}G uCbpG Y7nz``7sZ 2OtU :G)/|șϦs|F:Uj6XN`5L#~28<@V!qyfN 7!z` Z%#& JV:l b(Qǚ-\R$9< ϞX=!Jv_ҩyȋo?+(#qP:`:qG:מjR[ g2yϵtWG-' agqC>( q ^tT\,.^1rvaIjFF 隊heU#W ry5Uy1*7 f0UY?`Ws=E|mbP9 >^KpsrAWN1 **y>e rKw&a#r 5gm i M#Ǡ)ȫZ9ODjL sZƥNgG%gA)Uxs뻜ZGda7<|%=1]\\Cjz5SOX"T&2P<{[k1rŽ:, I :ԒZDg$ '7 nn + 7,ֱOʞ\R (ڹҝU+M:-I_U9ak[7l3$G #|uZs[M>6 g g5nzXra\.d8 ЌpGWA>YQB7€= &<莒ų4AMV%B`Z+k);ỳcI$R7s{R[} w!gUN #˱|渽am!hO=%T7{=+$mNol;0`dolzJ$ J!g8Yw!2# g*Χ&S\(*e& 2ޣ DMkpɹ[L)zCn:WӰ+yG7nPǵKieuw2G1́*vG^2sھCc{xl~F鞃ad)uqZXNz }j6T+89~61o c`1uUbfA;ɐ7p{(PPX'Q\<@Hx"d@88ֆ.zmװ8Q,OofԚLeH ]1 f|ƌy#kXڃyQ,?&9Qn8=isaEiv4\ Ozp҃qR u94dVM,s21%Ag[Uh"]vU%y#9RG1uM6\0~\c#e`˒埦Q׎xTJ +c~:(,UwnE]V} 'H wux 9j)R'?Y+?Sa;Kyb*,W w+Y &AOx~m-ddh<,0Q\ =9gfdk([`|x1┽m6WPPcN;XAVHi#ܖ`#GERk6C`q#ێ 4d<"'QVHcPrgh'zr?* !y1'ZO%&Rhs9$7 B *$x8U9=kcg=0N_Sןz^;;kK"SӦk+j˵l}5NSH*ܐǢik0g`^+Ñ S t2`G+R"d$mfr3j@  ZVOўS̫ ǵy]_h#}1ھTYc̚g_ۆ@xHOļyʠg`w =K#YZOԅܠc"p $0ҫ+9ےF@tF O<798Bx/.$}(H,4mhVDV(>;rr {Kn#ppy\y5;4]cF$En#ITG>X ;}Хz$J=l0گ.]C"l'ɀ1W=^j x' a_j#6p0`1̫0Gxݴm`@ǮK t>ER ~dy)P`iڞh~BR$cSu3AEq! < jZKmά,z(R> zxvV靦mHJX[(~\n^W$+Scq'JxhݔvTd޾jWZu?d*$p ڣ:\#oGAz mcsnr0I t9"3qv?HdɆ<[pqˆ% q^)w,:HUI6ZE3vlbH%0q2~:F}ޭP\yP"o΢.C+u^Ir^h#{6Mw:kE} 愼av1U%~f [."25^n 4e38>cl*ñ1 & fB==jW#hh]QģW՛5|U>bW΄('*#]q aO;GM TJOuaRypI9֊ ( ;SbއҶc7wn+lIn:i@}}Oq" @x?!2y>㊛w~3ۥD$ 8*y*'=r=jq/SQz}G$P,H9l#cΞ\aqf t'aO{c N>au;}B {q3pSNr:&X@;q)Î $q4#?'NAsM@r@p99DDHxUrqFxs)l`0d,p8;㹨nV-+,I '5[CiodyS̙R2Ⲍֺ9zJ;I,A8귘 1!Pp2.E(iQ`eN$0@ 2?3`vs_j\gO^O\0y;}4)(ϸ#GC&[jVGKoFyN7vPy>~v @DS@$9S:`zs_BÍ߫>gZ;spx8޵#eP{cCڿ,nO$p8$cOQd09)X8^が=i3׃\8Nzv?_aqןZt%n.1ux|T>x88At=ߥRC9랿^UcsL "b:tǡsc^{RdLZ=1t<}})̟qǁԞ@}SANjrN\{,H?ۑ&CD 8*Nz㯯Io%!A FW~!.>{זDƨ-cv on9r='nA<ƻ+-_{MiG^{iIHJׯ^ G37\N1֑yRׯ]<71B.0H=9Vb\/>@>`Sm᷶+Rr38d:[ۉ %n|NFDLY@ O$%"RVWNѢ+pk AxQT |݉֜yAyri۳|KYn$p76~%eZ2|VYX9ۥ~V]q% x!`6ʆ߸p0S^6S{`߼p1DZEEݑFAY@8j9@ d"jޅ+cC l(b}yZ#Hx h9b>TzgjLˎmcs;r[xO9f|/aTA`.e9n8xn~9jPw9ǯcҺSɸ G zdc֔*Fa_")@]NA;=O*y͝BvnxUH7L7nFAzDl'TF|sDc^G#׊_ (#,L uOVSu'o됧U+4J)U*߽#qǷSZ0— Ĝm\qM={\n׃#0 )8mg5dz\e@!OAE{[If0Xcq AP9㓊ٷ|3YrǪN:/OC]c*>WNGdj_,`wۅ=O"i.."V>e\(iE+ r<3вc,XsQ򕦧9?6upryT۱_\yHavqO Q'8=$ZrIVv:`K[01XpNoNuppU9<=IN+ƴIzÀSoݛUݱ@1{zVRu~چ?,i:$5l 'TwӗΙVs )* ƺ&~=дo+(jgzsBUVtC9~r=|;*Wok7%@qnz{s\<a5-fOzS^uձ!|˕ 03cJ2nRrr@y ݀h'G32>b~SFy OHFP@nByb0=h+hswx$yǽP_]e 7@k]F0 Cn6?6@=>9?60=~^p uiRIH?)lsyQu V  ARbn3,qkG '9=pK)%ˈbXU`1@n1q, Ij;X >H4О?8'#sqϣHPyH!q1lȠd)E[+4p92#1*Dm$>nyNVB-I'dcTdg+՚E s88Ӝ) Ѱ;C% 1䍷o`Ry8^_B"xr3SŸrǥ/lo)(PE2=r6ᑔlpZh_X9ps6=w?Hz|? Orp~w$/ң*HLp0*8p2}%p>fq\`d>:Rj֛c%v Cdݑ9OztgboslسL*JG *. ;~f>=EIeF({nN~^xf?ܮ`ˉrn8dYJZ?3r#~E#%29FTme:y̋@RPyS#M:\H [m'[5ؠP{`g3+v<|`N =4.N#2cs`ݐ2cZI3Q v#5Ti[=(qMnn[6S2F{vnJFGdwcO:F1U±p:>JXqIeFe;d IӯzUӞ(7ܧhǨ+x匲LQۿ|чH=sњqg=ɚ{0!X-`nLWEjj{4#,+Sk~e~=:o>-mz8" p@< vW昨{?RܫG\ f{*J濼t-W|ރ(& I#AHkMJ [ܞYI#*Tne%r~Qc,o$<~bT3+c>TsSnftAdˍ۱֌$m6zsj%8#֮+vn`=zWc8\Oڹ'oaϿ_ ,Ag#_86NPǩcm~G`6;23gpZfor&FA>?>nFF=jX+#of 9>Vzzoi#?Q~tK^AxF3nwLw0t*bjFj}PoCŞ+\yV؇[KWr+1YSp:^wڗb1HFY>P{_e#šQ\KDݏuV[Jkn`m;( X$x}ʟ0qJgyy éN!*Fzںd;KEc.N73@;=X4b2Xa ~xZzV9ň$&2Csڪ5Ͻi{/$'E1r67+o!jRCvbhF_P(qv^ct ]vشn¬8nb~j 'sSzlL7f8 Xf!U# r-N;=k2d0.!H=:OҜSbNF-܍q U0C~ps(Jzx.! ﵣđ'ы1;&&FrHۡ>HjŲ'bE1`o>)\L\"1fmr!Fof_.D6J[=:fʬx1V9a>Fc@SS-i >Y(T*)is*p?բՙ˹,J4%| Asz9Un:G"%[S݌[Fmcg 623V+<"\g8*O=}8GـRGz^wԠpBAߛ(\?5 -xg u};W]\P2z<T6yb ϧ'w*(h2s׎{qۊ#G9l=OQAk$pcq.NlePdc $/Cͅ9WBH;@*Å[̀ '@'}N=}e; ##$ r3^u=y̘6Ny>D~'8#3סI*x' n\S A؟C(`H *QVDG`Nq㞞($@y`2~b#$/<QA+dQl0'}ې=|c;=}j@<>;@b;vc #wJ//c\?:s#sێOu=@*AJAGcqcb#{ д pqyW 8)WztG/|iGTY.j@$#lzgRWi$Tqo*>LnOnA+Kf`H'ޤ—n*=yX ?w eA?x峀=O4wjYζo vj{~l}=#qr92~)22`#ڵcVlmeTuoZ'9S TU'HU{qb!O-0IϜk6U摁.Ny'GR[w!s/N RET>#s $#TQ#i#A^zY$)  هyG1*~Y q^y5K/]ۗP$b O^cJ4)QR< AHF:PͷiT >;)c -rM у(np:=,%N0VyBH#Ir9GDx'a &P9A0sz1q rTy$whN2\O5T<yfZhĨ'y#i?\z3~9 a푛 =;bL6HREO YGS[ʊƼza$TgFUgnvk⛻5[$/g]?.xtg4;Yx¬r@y@,F:vxHpD(8 0IcJ0VgROE{_$c+ F3^{|7XiBV)'Vo-'#xp[wu[uMfaKiÍϹX 3L &up=8ɧ[믥:_vgѯ^q.[+rq=}*v#ȡ;# W)&oN,*m/#<\*yS~E>o,e2 S̚{׶Dz#2 )p;g#v9Kyf0U5)91l.zbPlmv!$$dR-ʱ]",Y N;{$},IuF; cQUƳ)fRːP`FI '4\wwj09f$sjT$r$  [דi1H]pw,OsSİٍN\t= +ɸa$zsScd"nR7lCӰXD19 F q) GB2z018َI3m  ǹЩ I89GZ9ErMpTYH㞴4W%Sp] 8'3Td2jdl ܸ$;ltUz dO8rAe1(0 \ g#HCR%f#nH\ˏ-@T*?8QAxuV\p$9`:v{on򬞣؁Y^I;P]9-xn9I`t!r~E$w;Յ9`s3Z>Ircw ;F2y N+HK!g zlش~cڃF,3^v6 `%ޕfO)#l ڹ37ul'25,[T%~}x=k/hҽI6; `f .ۡjkDEͩ^Fi X[)h >H\ *ϰHN."6ھ0u9.q}OMݘcy=3K]HI(3֡$Cd&&J[h8ob}}[y wH ^qyTp|Ēx `AO e9b:hS͒wW:xt7:β~r?ƷtxIyg8lϵCe(ť@T+fHаlދXդ@pZL8^"yRbM:sJ䮯rGHO$ӭ4̣9;FzeUX2OQqq1$͸wf]Y1ȣ*p)bvssPE(mpNJ#q<]姇y*Q c+,99V+zIiĵvPLFK;hO|޼WRw>oYXE; JF-X|>+Z*l  H#$gjos1I?h.!$u[>ӑ+ϴ=p}OCFy3n}cꤤt}VY2́{YF@>ihѳ*<;Wfx!nIӁ\xb8Ͻ=1tuǧŭCB9<12w 1{ִ/>k %Rد͌q\0m8_K1<\w9RwrG\=7 fG%$RNn|[ÕX|v9bK#w ʂ5`b}$zze$`.˕#xp)c*O̡ w$h;/Skwhmy.$$AuС0UȑzW5Xk~Xq3- B=zbTq 9:Y*Y6X3 g$d~R}#0q};T\9\ Ƈ=z{v5Ƿ99+8b317X'V m~7cl#[Rz&9R00T ct <  3$*2xaބO.YK$Gn7 1'GQE%e$zTU8pof0@?{}zj^2C.8G9LsQ-`vrAirpVY 6*<5nmy^Fwq;{!r hY+X3d3MXIGchbː |`'2LabN0QpÃ{zQɩ!UU7|F8{+fn m6"+ኲvWYBr2Kci9j_I/A~rhbzs1ZʺTGe&.<RreF<^VXv;b#u3^ϨOoo<~KṈ1-&${aDoIq$lv1ɐ6ݍXe_>Vn#ӥTb! ?T0A!A YIZ$Es ʒ09##sҳ: :)&F6Ӱ>p~^XV#ps!%ʜ$y֤pYz,_hI9rG5dacldkT,9@vl>s 8UI+/qKRJ2w .y.GcZ8l~lM}Bٛ1_6jy]Q GYӐk)շ\)ݛ[*]%AVM9RCʿ01fjz_O[yrG$+zsY궶/+F#+I89ݕtE_j>%>L|B1ŞfIQ.rqN+N6[}Nys~H㴈BnP#!y cⰢNe Ɩ12 Bګh橹2\Ҥ2%0nIGu8J1X 6;WDVz8H/4o]3&V*ڸvGo<'Z:} |9$U-V2dqD i0:$s)u-~8'qЃO'@F;!`py*ž9=}ު&rvOZN}?MH.s=wy ѾR\f85bdcLŇ~`ďj*|rwFU[IӁߊqެ,6\XӌKJmr\Kv5f Gcrwƒ-!ۀ]I+::=sZ5FMa$NIq9w!;rr2$u{tη:m}~8a_-^)_h8p[+z=QKHGŚv͹xw߀=S\S꒴ҭ5) y_a)~cwߗtvF&7uRvH'׌s[ sw\Z#3KB;60=:qd*lr2H+cӿZQ2,d KeTmu$ [E]6GʺH pEyon{E890c=)B-\ͥeަJgMAwԷlbyS~ïWJK%8Yy>pI#(9Ͻh(U6699#SKRnnۓx8^:)yXyAqW7+RmhV0:laU8_ʻ|6;;Y6 ptBg"H;{"[}0{Svz}pĊءwyc"["^G=HztWR 30= :¼:L{,[$p諷.əV{Gb찁SVln9$+Ң ^8MO՘7y"˱Hc!Iv2ʬ3ȯ7ּ_+5e.C02I`*UFF:Bu_iD>?)z׹&+~Iytϖ+I;G95KUՂs:@ y$ G/r`ےv`qO^3RL`%n$/Jg9.+,wf$`[8w 0n3}+D.1w}3֨Tl'fI#?7LUhcHʐˌp~x T;[83@UOQ;87PweB tۭk[ߪD`q\.gRϾF`L<ZpYwF8dgxk<>?(so8T݈ۿrx\xlyQ7si,i vj#u);1Tt=zQ;q n. Som -vb$s[zg-ã`..]0:R-nVX;oLcn "W ^2vl3)*[8 玣VC'F? !$rx8z Axc-Ͽ@s)78}5iדR{i{o$I2/3 :q0,_Fv7rԃڛg%IIN8a#A(DPī( dcnx^5]V򜯘caNV1 8gC[v( X«d}5hXt^< Lx*q{G]nc_=cߊn{bX dA!Tr3_fJ,G˒O|}ACcs^]u! ^$FQQ6C\02G;xϫ=ub.Af H Ol 2Z 1GN$_>芤U8#"7q0+6 R /,{Qێ9)KF!^J4o9joB3^z zRWd*> z HoV2;?޸f0kREc~F2} @+npE%Z tcAiaOLr1T㸹pHBh tltjonGGӑR`p0O>Go0bpHIZLw ss%bFW8>OzTYぜc<'L8}r}=sG_qN>18b1܁B3Uv?|c:B()x=A#Onrc ʟ^&<`o}P7 /.|l)g*0'|_VHgf$*or?ppUS|9-fإ seVI>O?uXU&vFUQ ?8mFO-sy|MP d~v?JN,t90 ؈w1:`.FPp8zDZkh3)el(# dLrDq~Vun}F2n #qq*8'+]w>1cuRlr v|-`ibUS/A^-%Ce GR7xUU #?vt2ѿm`@pNNA9l8V֟#XKS"Wg dߍq 3噽gyx붧F:쌃2<`dAƥ39@0:ۣ0FG$pI#n֠y6|'rm0۞#5dJVFpJgq$`j.4#c\w=3>H+"VV*&Wvaw$ARÐ͎Hr8`O*%eԪjFpʑ' wï:Y8 h,ۛ:Ժ++}s>98##jT|Žy?K$O0pT>ɟ $U"\pG8{|jHc!$#Ix;C9,N߀!FI8?V!@^YRt! JUV#I^{~U/4[(W`NђI>ݳQ@$aړV\Oڷbt.7 rqͻ}S1ϖ,9|feTIk5+=z;vS\ٻzR>22.6tϯONV}@+*#n Y Ȫ;P| 3ӦivTvBWZϠ͸>)BnQ00G\9{rE"]8$%qTǎH}KT2WZr0HHj"9L \9Uw=Zt`Fji 9*~N 9$9Q2p)v;$ 5Y[c Phq$8'3Oqf8<dQMX8(,N`Wd^pW9nݨok - 6r&1g9PL7cX m?0u~=I3Vq׌t V뷧}>QvCC<qLץ6[U7hXoj[6a8]ο(鐞I\Qhx?6۟_p,ǭ]/%dbpONdפ%H"GޜUTK %I>24n"33ɩgD~2ݏ 3: ^0y*UGauhT\nGPAzk%dwg0\\*\ǜ3F0yS2=% 3 %<WڦR p*y7Xym8҂?x=Fr>P3 O?,J \FFs >&*ҟ 1i塔3BNWasžO9`9qI8Tv(E%l0wcGZ`7whrr~Q_MI۾h>`A/֛,QF| S}sڮ:﹑[$[oͻBd1] 6@*_ǎu=ђyˎǭtE 㧵hCU,2rY>yf@!G= 7w5fKwxiN20H^} Aip=p1\ZD^Z;8;InҫLFN(8㑜Ϲ&ZB'x.IקbcJg=GO%+ 9ON=OY^r;Ʊbͷٟ<CnSqׯ{>$`T ;ښpޝI٢8 ֆcgonEP3Ϡ,q?1#UdaP;O|Ul[ r⥃~wr71wNǴrH! .x?wa 0Oqv(DB-nFpw}[>H9m#ON:>2w6hVAQ0W$3Q`Ȫ3<OVvg5>,/,{q?4F#\zOiBr)F笀r<ޓVΩYsg~FQ bh󽘀yֱ-Βv_Y!"t폩 ZOXZECgkXbر9c$Y {eH#lTټ*~8?8ne7wD4S!@ +$$'I(  p]on*jb+`p%^y1cr'eܥG<׎=sU8rqTP>ϚkȽ}F䞍z@yb9'bI$%8r϶97nxM.O^O̸$yw7{9p$:xB6Oizp}:񎔀A< FwNG#;zu$011 h`9ٴnqfB`A^椖j ę@>fs;,&d/ʠ`mN<7kkKv"ArǀPpzҴM=g '( 3.).l*v[A̤g$gkVxy{*ڀ) ʻPnOn╬3ҒvN7re@1҂N"܅7o Aҵ-tNOonk)Ռ:oJ=4oC[$ NztoX;I.qzW lM %]I Թw qkXe' =+ũ7&E+:>^8"%QIDjp9#GlHPT+e6psПwI#%DZu$cD36rkj#1ydpGmFC#4n.wu=;PW ;w{z0yaМՠc$pHG$w).K9۳O/# szu)1tQT. 5jIqGnk Yt򻀋ˌ`@* -+0̀F}1fRlM^H;of{<%>2J&!],YѰTWmqb,Uif#=ʡ%Z]v-*JgM;GxAy7`'8y$AVAq_;'NK4g`9Rf8b:193O2~g=09u>SJEw;=8=ǽBrOs؟n?rԕټUy8 z89-nxNslSzzsp^>ᆉ#|7$;~GiAa=>pEFc6eNGT wxsS/ԨVqS/N@0 AAr=F?0Aߠ" 8$Ґ^M ׀s:ǶjnGUХI9s=5YzS9:*=ޝ9( 5u t8z./<.2*gO\#g )û'gKsuy꺸 .CE Ӟsڽ$lϞÚڇʯr_ pyHp`,B8#>ۥ}9sA3f&ʟ:%pI*&TaвAV'opj;:MN-5HuN@n:FCGIliͽ#q t2WC:;GΒ"HDm;fP yi^"Rw JA汜t:!R}͝P.vy*0 q@rp fIsuh#??!Ay"yC7U"j^f8$K1Cqld\RxàY/汚s'· 2J?b@#B8QXp1 ]K{l|+ۂ2ǡs5)a,ws{khKbtFB0̿Vm8$e=z8}{w,5 1Y)瓎'>3Jv;vc轱_9P6oI֞F9x䃑ץ?o{jq1ʖe$+}sWB#u$p̧@G=˯`tз}v/duʋ#b.dQ(1ԜsY^S8Y]BqcJQXJ9 - #X0RTn9= `Do9-HS.7'Sk?R%bXg0ZU LH⽇HWger 3zS* (>Y\<0KJ\CQ sjho8@\1I9MNKƟ ɾF7G׊ؒF_-pKʹ)@ՎMI N9}c^6-F[p#NGqNZ&vQ ʤe7 {fc:w\Fgh`nvؤ1b21 .$|X( EcIܰ=:8縝=EpYdS!vG[}GR@Ŀ$2@XO$rOSIrr+A,3Yw2y4}""G#RE020~\DrL8} ?8TA!NxCbq$Ώ62p`r23ϯZrsgYH nlbj5 Bʼ J )fE9<B{yMuepDמʷ5=E <|Rєݧ 0Xpʹc5zcI7g(ʭF j/,Z8a'*3 .mRx#eIX4>M( R y Υc ~bwϾ854&hʬN:bXfI4{^iw@-ԫXJ2 ykTzȻc \1FYPOH5P[oR^ 'odټ2',ï uHJH@V$Ti얿֣oZ_&$ŒUH Bɒڲ\|>]F5p=Q*u*[2k@U|v?/觝zf|,|Մttƚ D0n ;c3߭ mA© I~8ܜDpղ*čʼnTۂ>RVu=3ӏƧ\|dr* a(xztM-8=aYԞ8jkGk#ygy#?œ~()0;طBH+lF̸+![b¹7g6(:w@N##vt# l¡-K*;{;k՟a## ݸ^sֵs|߯?C3_ ~B|1 {+Tq8UEou'{P3^u vOHpy z=zc;Ʃq23y8`𣠉rNgԊz*Kf.Ez|b"9NN:∭Fބrq8TawjNLLR8t >'=@$S Lg'*B1ׂvlC&Np@'==l=7)+'05z34.gp3eP/g=?)&|՞U KpqmfH8S\Q06lcp jW}vV]YVڻX&yz^vGQmYNUveN+-sj|Kt=/jتZ[g$,!olN*ecn4C!>ۊR)ikXU M&۽EuidMG'GZd9}YxrOS~U|=<9m[ 3,VEߚn\b>38%xL}p`1=8Ŀ4s>BYaSl+XozV3/v^ŞNI);ݐx'hiЉb7 _DA䑜&ֶ Gk_g;>{~x Wqc^}iq $kT֗vrBK!Lf8|b"c׮F t1ve %,\6~\sI"u r\9f2*;K,Bp܃9MFfk-0V9 7̰.ǜxT3ՏzxH+1T6l|-qqz~UKgӽt̯_wEc)8rXN}x6B4e3up\³x4J^nߩM~7n1;~aD)<+)B`p +&kW\-BBGkA ---OӧuR_9j4OwI `aNPq޴$F38 `gqW_34e !u"[ymVo^N)Ϡcg9Mb#OVU%{+EVq:G^8F;Ezc,Ilr8QyRQWiJ9YHve HFA+Q␀7prx v8 x8!v,:펵[g!29ckR.2>\=P|=3Oe]8³1 s`w`9*Fs7')B N@9_ש9*㢁TO.¯V(V t w S2zbQN#d2Ÿ(Y*={ⷣ8U6iSj_ܨ-w 71S페=I773|zhMQq[&ʨÜC+&98fW @>Q6 <8B,UJ9O2$r@ȸ6W32GcU=Zoa"',8ʀ}joAH,ɒ;uz HKqKHm>O O* ,w 2  081av(-C=AV*+Gw N6:CW=@d@6+k&R3`7ק9M~-|\1h8,1n-886;NY@8@P>-(@2@V Y,~#+yekeI 2fG#O6sK=! ʄk/Ya![`g\02z mU;1^Ӑ}8RBCjŗp-.3G6a݂\Tt3^l=(t-.|xkA<H ǽWc[$Y@90+6j9uGf1oy'ֵ#U3xRz8M]! G lX:w6̭-3a&Pp=s]VW)+ 䑎sGwؤPI"ʩ00z9޼L0k _+nI\Ć6V oQKn$rxxpAQ_{շ1. );vFqw7)V=>٥v?qeqCo*X :VxFSvFo $*ǵd\*XTY71ܳ0~Ls`{r=Hp>v9i|Eut*3N2s|t50n0I^G|܎Ge=sBW& GySp{q橭#{}Iv1ГY9H<x9$(2(z]F)=3R1y'0y<~{Y~X1U#@`gɨz|"vq<zqN8Nw瑑R^4]Y a/Q?ϡwc <0OJɭH[q9@~f$GOJ/v»F%y= FXM i7R<މ償[;9#ܤ[HNC݂|ӧɩJfG_`Џ*\]i&ahl$Lci`@#$gV[xf}Bd;ʃ3N9+G eG΀`83\}fyBclBOs銨+3va<Ǒx ;gH,v?0d0ݞp=XH}C`\+|ރs4; v|Qv˕aqW](^FleI 0ѤĀaGry+q/bU~Bdyz溚!wxRiwS<ݔR3'J-q/@aTH˯X܏]50a0˄řbO\=_>еJf[n|׏r9R:#~< *@X(koQ܆(YEXSR>⺻]7˵i/FFY#&s0?Ź2C.\ҧlKgA_qDR$ 8$sϹ_nbo3)9GDC@9>jdawydc{էC5Կ1$xs*iHbrT|@<cיdcӔlYʕ!dʓxxOە%Hvܸ.@Q½z*< Ƣku}O47DI =G# 3Zzy's&I8 @8>rw҆3p'kG/hO0۝Є}=]D#2^:ח4zw_:l9 Xx:f!!l07 (spGLWbT~r7(Ջ:3acT3:]v7~k4[iNImr2F2k|'ʁQ·θYCv5%:= KCXH1tW=T 1X[y Qv6?mI8>k^e| @rAS.L5ykԃfy^@za A6fp9zzSB@ c8)X>Wë.yˆvݜ/I { U>֟_ s`q֥|e  y+ԃߚ᱁W;sTA#,y݃ܟn^s'yʶ1_ב.dW<͖ʁ?皥pЛF[@RH~oyB<'##8]8k:mӯS9:;!}J98޺ Q/ӍV?$R9e-+S:iB9 k9p}r<r*!J,Hd#o;[t\îI3V\(LpI,|}kf B7r !U ;b}yRj執D e' ?m rFzJ2ZB6NPS=8@jbbnG$dA{5[o+!}`01?H=x瑂~`4W4IzwzSpUAr92Tē'ܮ?#O3nʬavCg;޵I |nj FNzc9I6lZ@U\zB?|sp;/̆ OC]FNNA [3&%EF2N~VD,ts#>ܚN2h6͌AFQ$U94Qr 7 ^ϩ&RO i@`C Cb89"NWy`HJkAGV'y^xzWiH]ar@PH3ǵЪrnZ#gynK&\&F H~ H5eEhsԑ=So5me{Urӧs*HEүIir =Ny'etTjݫp7gӾx f&4``[烁ֵ#YY lUb=rd _&^ſx<]@'RA9΅G*TޢC{In ZxO, $cqZ;&y8 FNoZM]Jʗ/Օ6/![.AVj)H\2o8b>TًtA;c,5$#ǚ5-Cz֨/gݧ氝}UZXڭ@ "di~\7$^s\J8I^z7{}Gi~Q\[*I=x8㚣x|o6 OBɜ3G #֛wmlpMC*VUq2ǰ&g2nH"9U##3|gdȷ˅w#*=kVӐC-gVBN}+[_/tY 3!䍊1+^\ۣBzaB$ 䐟:w4: |93\6-eVY$;`t|<𝴿CB}FA_PxԹvEw,>Ee{v!)9@gaOv3yxBH Ɠ/o;T˫|2~`f9#XfY#=?XқV]Ĉ/m[[1Bƥ˝lqԚ24eX՘E:ɟ^23֪:G!(!f^gJⶣ}w /D,_*9nvG"=gJZ ja#F490fGٿy UTnocӏAQwiXɳnÃ1뒪3C;S9J{|)UbYʱ*$BvNɨJipiYK [ QCvd?3yr۲Nzq0z"\^؟9Hy]8K6s6yp n}%X^]Jmprl{p;Jg\m)>6M*cڙfeRSmݒ9y#n9,HAԽ @Yy#XtO$nF`9lrG~zzhlrO<:cd8I<硠arH^͎N g+1ZOo/?{p8#ڪ 3fGD3>޽uЈܡl0 ~Rz:JC%9dN:q[! ۻay`gqYKg;+K!S 9p, !pi>$v}O;?춚A-#iQ1G\Kz7K;w~{v]r[A?z3cs+1\ͷi$W8N9$o#d5mc4H'<<*U'1늛ݗaT aښy}y9팟J`89OSK'G4pxR<-ޠ{"s#9E8KaJG9گA,F{Gzv1M\s:y)2?㝤}*y^s|g']Zo89 =ϵW9d09'b g'׺Q`[O\ko/wLߊfݧ9dv'A\zzp&F 6F~Jo_FD>&2%x FAq^[i(F|`h|ŕzWmZ/;6@׭UVRHs^vikC"?ֻ bՍa/Vm>qr6ѰQopy,y$OoƇ͔Y׮-ABL+(r溨5]eEr2 q0s:0 28lqZ8wd܀N{䯯_J6d=iPl {sNB9Iefs>Q'#|H#2boޭ؞NM;KaIArB /C i ϰ|s꫍Mr~%fxe+E,q}9s?1 yR@.s=HҟAcCks/xvo8''5n=K'$m<JN 䦉q{r,lHXdbzn^i ! 1q8+'령u:-FUpu;U N+1q+z 5rvGljzcE$mʫgw8ץ_X+1*9*[W0|Bc2^<p*=(;,pF2NN>kz f $amハNr@a1/G2B\}a$#FTrp=i: dbqP{;Æ[.F?QJnC+ T`zh1u<0)Eud'i9!~E%Yi#r7I!3 +.^r pvgׂ5HpҮ`z@ lʃ#' 15b[gHbc}.z= ɜMks[&YgErb8%<^v[E"Ċ F=l/B qdbG*NX#%x3bF&tb 7cs ƃn>a ܍[lGBm2U֢{iQъ?+e9\d`|Aud7 ~eDIT@8̼ eN3w G] ǿ쑵XtJ?^MSi |r ^5 J>ZI#* 0`7QӑsV-Xj_1kV2nhZ@<$j5473ӱݵǟӞE} mfdc{gp]h/.%c8fb0xⴊI}-φWȷ:[bcivgv%W>JoQ%d[Q:\ʏqr#|._ :L7{yʬV\Wl䵝zWgfib2j`UX8 לk1=n>,F8Fm+5pvŌwk+(8A: 6{c|2p ^==;{q־bK;jTmRKpרzրN1Ƕ}ЕoVMG=qM,#`u2D\zvǷ^: Ly r1Ќ~pG|:_=j"? 1 8ϣuե>n1xq*\dSyf-}Fz| AӮ([90<s}*D}+hk:(d]f~1y {lT6y8JOɛ# "ƭvel$-ē_1 %loڧ8}xAG#{rcjpGAB_S\Hsnp|>JFxzXcFk5_f;0۟QO7B_?}\{z2Z>}ȏ 0FӝMse%s 2>u#wdȄn"A#N1oTo$[Arrd`rr3znnqtUynӌ8~uZ#)\A<b#F=pOnԒ˅bn#' ['U ;@PĀ>h0Rpx@I<|W]\ho&@.mG,-iE&2%bY.]2FO9cۖ}0.0bE#0ٮ~YfR5s"QU8Fl\q#5iZM1)6Z7-x|?-4 mbdB>Ċ~)/9 /?lMBp'N {ZO/ ,ryp,?S9霖=3V 4*p@6oftZɾnjX!yUN3>XϦ0+V1/.8cu޶Xj:z'!@P3W-c?0ٕ1^U}nϡ"՟Kyw$o#\rUG*OR Sڅ@Mn0N2z8YSئN0H>߁~`F; q~RZʝxv 漯2i>Y$G$04A4hzr90e6W^yqmqdd|`Ban{3|ܱsӱU*6vw(cӿ^uRm rF;򄒻c@мO 1o.Bz1,G3(܌VV>^ǭ>X۳Ix4UUQ!%~RzR,͸@H !xqZGEYbHO}0k/P& q ^ 08dTy<ʹdEGB09oV [Ylz6CkH1`iP'sPY<{#0#l;ϿCovr~v9iPU5XFROˈѝI H_(!+kftRۈBci.ȉ噟f܎QҲɍ#eXn*\Fi5Է<4Ap `d|ĝfhY1XĒ;~S־߅t/ >uEUΣ0ۈ&i >tf+А(i;]jZ>Two]O 5KNyG+;x;t@$^d09ccUMckldjS#*_'f 6W HA7=Ƽ٫?z+n'8g?Z.e:O#Xܞ]TC x\6G\ۊo;g8!qzGa3َB;YYr V Ia#ȋ/L\njC <<1R 9AR3`3ұh2D^8PFO{wczV3Z~= OB=HJѺ؍^9?JZҒ}MM:K_Gp# #B+#QXTDŃHpb'۶:֫fiP=g \~V Cc 3WI$0. pD)pT[qs`wʅ2+Ix o 3zdaI;I v*Ho `6m+ ˳۰ \z8Gș$9'c {u)K2 y\1=w8LjM(ꗠ+7tC֬\,p/V *x=օП)``F7"p ÿjB.0×A H{cQo5wNw tFE pw\3[x5qzI!7aU@`8NK"Hw[h#,s=F2sX1(K):bGHCj`nАG01R>VC f9lP9'#-=cd@1>grPǹ*,yb܄m[%P8L6 aySa!] =s[RWg.!?^ f6$ʮI8!T e/Q`޽JkGb9A4!kt 9@?°.s7$*1/`Z;ł^gq*۴H_E\1Tf97 r}Mqw;pT|1lt9&s«[+IaC'HֲB$&Q9_!*#psא}B 8w&=8 >zi~n>XyI Ac~tKf rF=F68$< ^:7R9۳R|U#n1@6w'K䄳>2;rGQǽLm( <==[01؟OWuQ=`Qw^S-Lbtt *1faĎ{{֮Z#=yY$̸ePFܜYr)F z9fˊfs pNzTYw7uoGʡۖ u98Ąu$!nPa1zb pώNOb@~ҟr;\?6":8,:9o1KXqc={[1~%HK'r9#wX`ɐqQd;SxG<:޳Xo d*1ɂVdDT>b 93Hp{2r'Қfj:dg݈nn9@O|cw2~lz. ` S0y8cVR) 點>O0<\0b3'JԵ `f%97ȧ +q$~@Ua #vVzTk&y< lu㿵h}Lɀ8mJ`˞krΊNC#$-S$VD~^%~.W#O=eU -ps:unrJ9bv'2d%Y7U rO'q $ITt\z{Ut . wr<#Ƿi-ԐN*v7O =R:Zȱw]p5xKF@y !zzi&͑;TK#F@X#@v\N2w V]Gcp<n0sTԢ ANSlFsTJY9..6͂zp[s@=q+Bns`2xڪHJ˰F9#Қв@́+u=*u< #? mh-[nq^A ҏ7-ԐZEb;`s|oԸ瓎jkMBU=F]My#=^mmtvEwUl).A#+v Fp!A zVNkoS3f=lEzo Q߯W#VڡNs</ʹ]&+ɗUŜ8N{퐒ywv P{7bw_+>7l  }]`v ?6qʑc\I>b6@x8?JJ IJqϘ G8*1R;*o8Z=Ab9y=:SV)d\ nOhDl y_~2cN=}VDHx rZC I8`-:WD]֦LqG뚲L}I;@']%fJc|c֭,9r8#&݀s7U Q(ː0`3+ pcjHv<ϥWw=~` 95PZH iL(92ź'銃D$X9?Tv5&u~3*lq1?ɷbKcv7*#s}V_oN}RFQ!瓐UeN6 T'?Oz⧩Qos2{Jś88<š>+ks5NfELEJϾ+ob~l,GEUٵARڷ[6hWc7n#o1dR0U4 O30]YU=NYs@kU$ղ:={ LVjcLHq6!jneP67[va$RR}DFI|;r獐sBgPOol—Lh[KseGN߽ :ld u9Qm ql񎕧1_fG!a`!X2GjeT{=+H QI'9_V+ΙXmQ/ $ uBNa˜Z99ph'pǯ#gӖ\c#J%4PH3R6h߻=ݬ_f !=R]qI3/Xp>]8W=y?gy6e%B|zWxd6T]a8.:VcԌL90=N#V)Yݼ(_F0}=j.F `bAogC%h.'V|6o;.@WCgHE<X$5KSҬ}ɓl+ c.:fo-e;ہjeg\(.:sXWK(.3ҋmb6 P)@Zu!v8+&Xn 99"_pȱ_21;' ]L=J(fJsG9]D~,$>Ns 2ʂ8O.K3Q <2HcaN3OʲVW &@/L=@T]+\;v#k0svdBYp qC݋b1a沲͖cHWZ%´%, _9l{g+Qӂ6gqAs8W/m}`!QҚ`3.yH/r`s+"`LL~T,;3N6 $t)$;UaAby52+,l# K'`'&BUԌ@RoQMؠ2 6A?xh1UeB2?>B?tI"m }38##q֘Y gZ X*Iw|~(=vvZmLV%^ c@GB:ҘN z`)ON l99"I~|1#r3V2;Jj0bAWo@J魝K] 3Rw<h6̩! 9BQQג25Dm*`&b0t4_fRтCsiؙc6Tz/ }j+8 p38'iqF+9V:!CT:K{x\Xc#Xo-T7RH6VFޒQ$12dBpGV:@FޝNFqxps9&QjƘ\py2G\Kt`srTqҡhճk-co%dfRA?\tS4Xt3kgt6\#'cNYF+Ce,FI4@==1޶KsRYNx9#4)`=~$:O&X į>%VP$8ެoPHF>r21Qx4b ?0#Zn%bo5x۞x',I䑓۷)@ lw@92O8g[r{sIՋ c}3ڤ Ny=VH`:s\GF8lОtV|!Z^wM8I'+@#l;c"I3̭^{|˻%1#[:9+I#fP(}n0 a2Lc$`g.VM2ڴdc'rU(;U0a#nzp:U2 V =,oL|c~@q`T1I|Nj6w rH `1Mm!@0;lqѰ:$gr<˓뎿_j=- 1UNJ!Szz[i?0ې1=Թj"d@%\JǠs[fVmc>,Or>TA#@2P718sֱX(\:H`IShǐ> q['sT>QPm쁻# Om$pd`=9S2!FN-Fst5Tpnm38}U%N2˰e\0TAn'֗\dH}=Z3xn.&V]X>9#<թ&TעG! F`0Sǒx#^ss ,7`0?4*SfLn[fv4q+V@:g'?h}s)يUrAO7{I 9!ɴ"p>s.G?ig%IDKBr2S֋xK|_:gcsd^wrq݁ⰤkVP`CB9PrqA۶8-eP\qӌwS+I21$힠sKت O# QIQ(Wj0$1N]N8$ ۯ{TW(2 |Y[p'GJG*K$|ɕQ^H=)9\|ERK1bsҬs4k&X2g>ƔtIY6$ a# mPq:j9G\2AeO; `H0pG8ONE1yaF%+::3ܚkPFT6FqZJ=]#+15vO/cN}jGQd*e+˶ͷ?(;>PxXKP,8’w jC(ܓ9, #93wd x<#hllJmcs+p`s)T#vqOJ<О(`$w=Sww\?zi_mdqa$t$0pOQǰ$V{siӞO 1\lԓwJ8OSQMiԝdU^2:LA>[󡾽&ۓ&#c' 6 # D7s/AϷj , $8ڽ,k3"}/Rߢ<<\4Rem$]hX'c*oSrI3U啕sGW?&s^HK1Q;ۓ85gw0n'rdž*7>n08RPd=C׎ְWbnY%r#MF~dUW|,?(1]V9&n~q/'vTALޣ6͒?;+Boemscqq%Ʌ6ڰGH;AF j.B+T-ޭ 94e` T ucXxiʒEsTOE_3'>3*o0?<P""q'q4ǧ` g接ͬ \tqLs] gb;B#o=8<֑2z$'D! 9+3 ̥B##v g#}+k%sJv9pp r;#>N{弁FȬ ɻ$!N+HZI~5DvM+ |ˁ$V+}0z1ŽZSZ{~'xO˨܋ж<WvC6zd_ixwN8n}7[9OһSϞ:i-ə[t\c督m2)b;r!FjHZP3뺰v&,3'#PG߭9h>)KZe*x.6$`R݊Z/SoK K?>+#S}D ,1+;(%$4IcpTE21W<\^Vǜ]y!VR0˻Ԟj2 l }A<+̩+ɟMObH.ne)eV!I)H8\ JHcN7#D7= tʀ`it\;>Svdc#T1]wR'wa\\e< LsӃԮe-ѐ9rFF8QHܬHyS- WáeqJz3lĊYNY8`{f5Qty!}s{sG'9,[h3$l3S1%NFs*`w;G˴׭ ,G r`Ƭg10˜vq&CB2 F`__ÚRI+FdϵPXطsnN@b2p=ZU&U0X#\6~\ >qiRFT \r#zbᱏ۞7>=*zXAN3ҙrz$t70#é֘{d9c'2> A݌H:rs)*Ǵw#Z4&:=c6rP۽soQIQ'XH 7@遜s{ 1HwBz`< >V{PW~~< 47uݤcq{`(z9H.Wă9P4cs+DID<{垠Kn,zI7e%7*# Oj;۹!ۖd-䎇 sXd~9S*KZL8P~eȚH]EfI28d"B<`0f鰑䬇r3!942>eK#=uU{fF |*= :;0́Up;$@*Z(핤a2żeAel׊(7]yLYX88"xe,(nAxVbPSAIA,K* gV @Ӂ區§q=uWgIYԙZTFV61 ?}kݽ"E8PA8~˽+˘e9P^0]z+0Huᕂȡs;$5=F]Dٍ% r(Jȣ%}HğJ!Lv8Ľ0Kq? _n1O|3A?/AQw9_NRİy'ItrP,}j61pTpNqVnw>k)݅g9hqIVv9"G;ON{楑* m2wcQw(1o7*Ls?1cָFڝqB2(C՘\.B%FIǻ8>rKc)}ŕˇ`6xl/VfY8]$=ikbqstg }+4[hS|X+|UXZkmѦLyw*qǧ9W_#.dp[j;qA]oߏ "e3~.h.$~p$#v*<<W AA,H8_a*[YTs|W""\L AgԛI ԑ?VS4[qv#jq\py{B[q^{ҹж)#x'0pOl-뚕ر9==i9'`Kb9g>z]" 㑂O^J ߏz6^Iw<z=j<zzVFmX or8';r0;ݳx'hB(x8tSJJ^Ns/Ό${sJ[gr?5HxǠBWHU+c _=@ I#9>:qZ猒G4&wl7Oҵm򙥩T8˞Br:dXϵb[L]=FȦprwtzt!,r#>GdhaCO,1#>Kw%wU6䖭%-^8T6 6]L0kry]&%*8VA_pFSM.fKM>+;x.rAl6TqԐ3S;I;w;} z>Wf"xW~9fzW7q1 o#JNzwUf=礹2s,z.YqF3j &cgtXd31K.U-x>Wۆ?7B829{;;C7dVoJyNa9'~3,=ċPnTt֥Db {]fhۘpT60f6TJv03J42INqȬ}$u$'Lؤ8݌ ؤM)H q[lV;kp2p3~7@1 zZgBrF'ҳDVqDNj4/ "4m'9$uI[RȂE_\ gjyhQ$` p$֑vb۷H㏯T7`a/QܟYrc:9zg5+6vn x9馬è<K *` s=A1M_"*c>cXXc?my4&2( sT#vvP #^в=xc MJ`TC? @<$<z/͚<*жzUeяBIu/2l̩`l  {juTlǧcJ ʹS #9|X ;DgdDSӳt'L.O's9 ɐp\d8#皮UB1d8$  }"FrJq ն^㌁uM/RBAIQמy} [J5:C$*vp{UpA/C8n*(z>m!r6H9^zoLa~VP Dv~ cANXU`s` 'VN:ŕd3g3Tn'Фc9JS_y<ᘎ{*3ʦ9ϡ F{ԪhN EԳ:A\eC `Ky:w{ ]zBxc6#y?Y&89㚟b .ës!ڹ-3zb֠UF1s T:N$gK~^NwtS}90=5jsʛDN ^Tlb@R?߯S#=hB]Q^݊ʨAb:*v]qWsrvю}MH29PX}zϳ 6Tq۵{TG$0 `iqpy s|d  ݷ#<`uنx#:7>zRٌ~#FONOOJ[ʌ+-;`qY7w㰬O`ې9w?9*8[ s*Q r ,F0H>=:U|*n0=FIQN|^6,hnI* EMukm/hF`IiArwKوlIp 6@좢6lYp@u$ڭUL[ E*OnzT0$p‚ylW>.hc<1Va..7aI=1+%Satsڴ\ zdב]sw 3ӎMtWb9g$ip,yzT[7ru8,QߵzԪ(GWTLʰקYdw`UzTU6eg5: RX) 9zyˡnNcd< !“Fsޭ_,K d;KgbF<棙7t3qv! `;GzjQB9Umd6T=]td⯩(>\di髬GBۼWrZq]γI|[&4+H==  ː$g'!yLE /t;d uyGB Wڣn s䤵x>[2;ǃ_+D0egbw[j_$v,V$O<'.tĀvl|0 3;hbJKdg#&Ypy,@WyRw IrJ?Q1G9_?=ic>_8PX`Av;\ .2gjp[6=2@9zf h#` >RA9ƥNc,pxcU}F>PYf-[ u ƣ)3SJ `?.BXpFqq@)0ל'=hlw. ``;)rA8AT};SLXdH#$` vIb2yҕm@APv rO#0yS ˃Szrl?v?)9$:szqH~r@Q8sӯPPܐI@BgxzԄ{ J{`s*:^;R~_-s>-/?gX@݌mʓMz8_x<RKN @x0vRgOp\c,>S fn>2x'=xE,odQaP|,}3ޔ[/2 >P: N\RO[g eFqIR\ɝ4`΂yfy6r1ۚ kP1+enj6 ryg~a[!CF#Pu8X&Sdp@9$fj_M*$*18$Ejg8TR0Lmǰ1MSC;;dsG5ж:VȒXf,?.W?.3gSr'7O^ZV\e՗}h)n]7BO~U@ܞNOz$0sÀ`=*A yzԿ bFw(0]q<}6ڣrG9,ÿ'װ5bBB w"'Þ9![UpAw/W[/1N\o#&$>A4dxrGEFFnOw@鎄^33޹|s0302}0݌AMqϴ6ʜ$s>^}= 9#|8Ux8'$}GQE"O<{S75jG!2qׁփrEV,I>I{bĂI??7zqR7dwUq=[Jn 1'֤+_h؇q^?8L d9?4ݻIqӯz6֌rx) QM+ ˌ3x%nI1f}{ 6Ib%` 9hW~fU/X,n6G-!0HO</ZCi۪IoPV3['l.K>`5mmgMm=4,!pW?E<MUG<@%Hu_9?qEKO_3aHd??O;4ai 'YpZ4 FI`;g?sjY8򪲢|7/_|ţU$6)@, 5Ac10g$U]ۑELk581ϘATp1 <_IaI$OZjM2:rIy @#9#AsWᾆK^b3-6>5#W-M3fۈ`@y\,wg, cbU<õܫ0rgzNPլU&6Ac'-b䶵Y]}ѤRmYx;e?01` cq<)8қc,:0 ]q8,I=2;ԱbT`vבSXe=s3`Ò~^: <a4(Uӵ$#tKxԨO`qީ b;az$'v%G9UrZ $tݐ GzjCAFTSގmF3at0q;Ҳ31`NNR+;Sn>sYǩ^cӋm##M=>CkA_\ ;NsԎ=j.>m2 =x$dK^1vBܟJ|ñp3<:{Tq[O.9*609I!j6*G!HΟ>h}23SPqL5\? c'zO-p70px\Rc<|ˑu t'< qGUC,I2) ޽8ͨX%d9ԟBFi';rI=rsEaqr0IAsnu<QғcJ8_]<(l=*@9Hs+ǰ8C`r3H9 gRowL}\h ߐ8|`:J$ #I4HhdJmzs+ԦlQ#4- Ob99_pć\IrOZtA>1PvpJ7@ NJAz:ZבX`s>a*6s0]~uJgp/$`ǰuVo7b7 dU]f9S>j9lU.T![.A\`?B]>gv$Xձ~lc&&SsbH%H @1#+,qx#?NT"QXHu,}:g"bШ9;>y\ ۄfGCք!6 i3#ɒp'Oʊig>N v8*,mdU#M͐k sӏz-+ֱ%]ܔd;@JK-2eiVCHC1{F{ןK]K#wE_*B2*~\ⲫS_"R|ٜ;ww r=$8yx0:"y#Q˩PI"͘c*30^#O1C32)X`/;׍ʚ[wc O4$!\d?*2q^e2+c#9_9ghG-\rLEKagCdq5fσQQ:tqTX=;<4=s??:q=؞z]/ԖY\B}3Ne>8hOR 0s`TAf=x5,!l9&2I#rztk ON<.܎;O|vOrYC un Kԋq})ZAc sT{ulv/Iqwn0.p StMĦ4U^Gn Wp Sn8S<^RD(m;wź=+櫛9K)pIG׵X4VJw︛hc z;kJX(Ɛ[=~W=dHTg|~LI)l(=J\$RCV% zqt/"b#yo5e%wwk' <$t5YG,q9 gY#N*`dkD>xP>Ezd~6sJ~V#ۿ58Gl+ ;6yWC˨n$W+'aNWvrrz2eQn_c5 8dzfc]@, B}[&UӳrXSDYsx;vdd]:ɵA dry{٦|5ކKlaFO HoIy˱%Xłl);=Y’wT=qQ$iwk[kv+e2uf#]L˙.n+XVHBX4)^C/PAϧZdHc\mVTui3^\ӓZG\|*P2:Wukϳi&| 3rF co%т~켑[YNdv;C31if!rS#tsj/5QT0 ,q#?xs>N HUslK]hrFE;qkƫtU*ۜ+֚3Ok+_'ftӎ2/l]#߻n7cMyn&eRa/]n\L: &{/C{d*`r3ڭapVݙ|J:$ETϵk9'-R,`Τ}Ċʐ)/ WnAW-L9C,mu^zֱL{$TpI4= #]`Z B@p:u:-H^* [˃ fxI 0 !n(㎲! $]۝c^x Z+K 67FDvcT3mn+3\O*=>lg#֦8UBeUsyw 22m T_=8ɷg1=6)󱌐\gg47erY~,@ W:P| T9jZ(ed2 sV##`g=oܛU0ʂ@stؤ*` 1991SWUv>Lqs֮PaUw7W)#121-Cr<10z~q8=^4~\2~#N<[v윷7|Wp8|d6>t8#9 q#{#<zug#'i[ xl Oǯ>E;@r9}zҙz`'8?681 zQQ;$& $3g9&AͿ#pf(F"`pĀPz.s(_.eΙ,i-+q hhˑqZлC$RO`ڔtVgI8&DA6$xܧ*~n J 9<47p;I=OQ5 \d-pv~0jE.$7NgZk:j碯Gni nVFٖ#yo+B3Ŷ]9c=7Jhob6ܢs)P1c#k;pV;yP;#X-8P''1'3T{GS&a$ƪ9gNgbNȀP p(ҹsF%vv:՚-kث R6BU!p1NעX,Ѷ78weGzkv9/y_e٥ʳj #B s V~w)EU|$2ӚJ脯oCB600*Kt8rS3)OƳ{QkLlM+y@_$V=+$cC$3 u=Zٓղ;H"j0@#x4nc{;]JR`3d?12#{`bVJQeAPpr:eCl/w[axcLg+g{R'db8?0ðو v i=C/s/!6H\3붷b+$nRe~+BVv:P?8T;%q1mOӚ{ J?*e 9$HX2ʏ Lr*/$db4믲߆Q>\47SW:dzo-n ϵA@>f> y9R2\.Ad|/OZ^3Xcy'{ ~8_5w0\eg i)ao(=U} r1ԃ#Arpwc+"ݮϣ-<:1k6[ar~]9t㟯A+A>]2ycULkRQ! (8993{TNy\5X@;`~) B='ȲO'TǯZSX98 ӨJL#߅0|9;X1+zO[Wqlyڎ:N;9E@[{O*T'㞟JwL`g;F@/r=;* hOv8qޣ8zJzقL{UJAz٩_EyCpGA?Oԡ`zt뚤>8FO#qӎ8ҥa1-{~$u2&f9#p۞֭ǶD`+}5@8r3H%臕 ~9oWs=tv~^!$0ޞSա,L4nsj傟^F97m Qg*yAǧIZEiVl9MN~`8gڿZSE&|V:Vvz6t&]L=EL WVH&ۀ{W!|NXCpKc9sZGt%N)|8jy#`A:k+Rܡ UV `@Nrq"nk"D& e %0 M8SrFsIMq&FxXHǠ準iyr1.B2GF22=*vM3P$Gmmؚr7:1nǵI_zWmH|!$7ϼ1&Λ`ouFPeǒ9Scm8ŭZ\\M5|/G4UM"XzE!¾OwSLq3pWչ)!4) mf$`C@ I/$?2tҎpbK+ *ĕ.ztp2{]e㍕gHP\0<Mz 6hiϪqc9lNG=Eceە+*ЅT cMj2{1W"v 0(uNzM?"Y0;s*>z0a;XU+7HO(?!!88'#"#P \r8285igFE!Ll2OVdݮtg" G9BC:bxAlUm"ugvh|Ul.r0qzѴW<]Ov]4gTQC G"" 2a}+Bl?u~wnHc$d\\`y'޵v87S]`61ӏÚ 1ǖdU*rW{|$nn qڸF`b#F㓑^eWHq2YyddBRN%0AG8`Gڎ` J|PA}c@nl3|Rmg$F9;0HU9+x`"9PxSH>eOPe3`A8,%C`iH 1x5"qD)A=H*\&1$3pWa]@R?I{F8'>#8N0T#$`~~r=vOF׀eON(5icR##<žy{Q2[:tE_R?[q <?jF0Fy@S1n-'ЏJԆWHSp`I}g'ؖ΁acqU219㚯<1!)#!Yj%fܠáTPqUr;=`>564] +I ۾j€VRrѶh ֓Orldž%C]3QfNG$gyT2`O5K0@=zt@zvsJ>~2r=R"tF [5JFnG‘4R(q8ϧE؂ǾA8:(` {Qqs>M}+wn9Px_H00Yܒqc'SwD_sRߘLo_c'^~{NrPx<|z>T̙{d`_h"ݎY'tݎS=P@LT=tqF;v0#1錑8=3ڠȨ$ @cҔz$qo<1{lv%w>H>!+d2GL L㪐3ׯQ>ޢt'=zhu\&NO_0j$8]=A HNpG_#9F"J+QlFe#nG;NVEt4@T@=9# x v9%JgܶP? *}ex<Ғ$%,"\.z6%88=-A/Ǿ2tgTx# ~FJױr6 g9r 5O`mgg2=V.2_DgRS+O#=j'ꝌNQ)8$纃XӸ`6Ny'/^*.0I88g 5d OrAG's3SŘI8=9 =]W-ѽo~񐫹 9u~@_ rF9WOCP򄌫c į|3ʗWO!Ln{u1[[w"KJ䃀N3s8ݱG!Y`G|zVKh|p;tF}O{gIڹURwoTi×b[ZckZۿVR9n1cQSf'8Ms M&ܲ{V')?nrP21~*NE3??*Y2`Ǒi<5;_r1i]\ k5K;o@4*?pǟJ]kevv>vwp :3,㌃ןqڹ2_Wۂ8EfǛtg8+ y̧2܇-YE$zorOAP+%[4r/>Xqzщ8=8tWQ7\*8ݕd֟[Mz]9 zt?Q}8wp0t5OLP3$a Fp4ӣn'v9[G,H.Õ==qr1]ʂOWv=u9zTUbs=OY2&mop(Az+;rǀz\292jHf2 6VDݴH[5s&L֧G"(vO#kW&JfO-[S4oH8W(VBrAZ@nyc$yprI c>)_Tx#R,0P={CH ry1>}=0`.ឬq1RO~(+l.pw q} x<&$GJj;I gM؜6p<66A{PTc<?'

{@Xw,: āH~=;QB=A9<91EA=2;{RJ 0M;A`zq 3$u '<N>aOHp v'#8ʞ;s`p\:>b].z$۞瑎rgCaHN3Op(9<|TPȪ,ݵs;fʬp[0䓅 dªDHNs*I䃀rI;S׃}=qQ#8$,:{j€^Q-d8;%p{px橜ndA\=iY$2v6NNA=+!BBi,v3hDr_(\ȧ}U8l 簪^D *TbqoNH,0M  zIܵDl* HcwrTH> [`6^wi^Rc.'ʷ+YeC`7c3UBt[i#C0sz=MV㟼[#S915f;I(=I+( <ڱH]ҥ)EPQykL, gw%g 9$}+xklp#Z쭬-<9E$瞄c?ZᯈrM#TO"It9d\m`0e]9x%xd]Q8'pퟯW~cji[$BOS>і@0,ջ˃ L Hê`oKRL+8IO]_WUP!AgK4D"@rY?*1zb-%r啾\L_"BB1nk(Krd$ `?0 }4z׃|AoVn N=}k纆[| lt?s_;)oetG-W>E-%W[<H=='&ΨG$Fp88$?ޫ jR ܜ{p<Ҁ=pO?{<ӞԊƖ9Ў{TI^NOe`8՝I/SI$fy&f*I}3dZn ;\1T㿷_UN=ϞPh[[fS#n&\O' V]-f%0\zzs^%oKEX)/4q$mmgI`[Vq1>b1:p? Ն+r+aN"|G-v/ ;4a8'sH 2,tcq'159ͮ_vy oqu48eNϭ>ڞ\J&Vx+ 'h(v求 G"7`qҶNϯNivQAǽkMS4ea.3ϐFGړLbe$ 0p\N:Scil:}qO\ʀ;G8*Ca.;Ć*Pl x20QrK}=~lGZ7=v[#=:q4;w 2qt晒T Hs:h682ʪ2N9nN9B!3G$PV +um۷z`+X2I>_}'zXe W$8z5 8X3gWz/<|=IRx}1MF K08=E9F샳'hbVRw`m;uSH(pW9,F WgҕFs@Qё.j=ĔN9^о}hd9x\u{ԠuV1e98'tZ]u7.X8uRLrV8U8瞝" rdž+#c#e @V/p ~ED`t4y %vc<}*\[ygծ& X،l`FR8ǿKar)'9*ŽFoCco##qQ#RГhG P/$g'l{֊ ؀I'>X$8Rר!9As$ddqׯ4na;n9= ai*r͜$囦g<⬨ Ĝ4N$ @HOJ2Oc}>0%.PYbG^~Tzq#\( 0ی=[ Zd,OABry?rkbɭK0#n_NA$g8KvFk~!Hn&g_"G6 F޵?􀷳>"!孬pe+NV֊G-j}صmy+glsq7ω>\.C;pqjOuХRoMly^I<,(89dTH;p>p;dq\U&z*j65-I.я䁞z:kIMm'!Q\5= *Ҹ-oh\jQb>svN伆v vr-x5NJ꬏o@劍s^["Ӄ`v&g-,H4MF:K-;+g=HZ\VYX&Fr jFӎ>F8czzk7tn7vqZ]ʤ@w\]CboAp @PW5^_#U{,ysּ{:\Vog1rOnѧ3")[s tcECm A/=8ptVkQ3A'&%mj^<ϢSGboE[EZZ$wNN3u7עH$d PK?4ߴ]6oUNVR +`VG7 9Xlzu_{J=JAy{WG_:MKR: w=q p CӑQo=rQG|8 t˄*+&IHlS8Fb``q+niAxbrA$8^ԣ w'n\6 _zpQĂq R&9e$g9Lm4A}9Qn9eYlQ CN˃ө8qFT 1T9! O\0~asMR~ua($J9`0`pv\{]QaQFI;r0U`m7d,2y bgͳ T2l6⯎NS֝ 㜍z}(nhʱI#N͌cdTCCgcrrH 'EG)?Jo% ,랴!y'q'G̠ FT Coܣ 1$=2*^9\`Flc`9+#ne'$s1Uhڅ0cg遀j͡xYFdS-OӬFeHWv!RixԜ[g O `_"2ZKfEWʡݐ0߁ M/ŽfVfb$FlW,>XN v&W{pK6ye`R:5ZAGΠFGiE=ד#DS&߽ۃK /-6DmIE,_(̻rzs['l,n[hIft7s_no:GLqU@W_4WM$WЭm$lr3geC-sLq7C}|"c1  BqTrq=k0ppNp_'=X|<6F8TT.ݜ'ADqyef@ih`UNjI;Q>R~`gu'۵y=*rR9Hrx#xRwN*{~+; ɳvً2su5[|vycs{v@;Q&WCt=M_-4S!I3 dnkG 1LH5l٤lusI=nz1bO'XCg.*6Fzץ!g^/?h $ :iq3=cKȭg:n[=z<Â}3p0sӎOAhNGLdux?5ex玀gƥ鰤&2Fp:qsP?\@88Ojk_VB!'.|S82\y>~lX͙aI<ͥ p=:qҬL&B#`?`2{V^V>枻tt1[dam<.854 +FvisùD }ų @!OZ$_4ʠ(ak6g{V@GrH2:=Ԍ\(ܬ8)zdcgVU`(|d=2qY. Cc’s߁WTLٛ.Ly N 'AwB`|`]A'?Еԏ8/pv`ȸrrT|$P=8֦N4%Xf[ FAPg>VZHᡙʼd bے>W0h_Z$!+QBW0{5 PJdw'zzP#FrTцB%cc722$yX!I8'ۥ6Kq!2Ɓd 3al=x8X.Oq?w+t.yᕓj\9Gx%@Px<0}fW< s;P=* ̍ĶQ#M"0]B>OS7atCjHlyl-E{DFMu;p=x9E뙼@|d\(m> )/.$E -(RdR98' S䬊vA$0kX-Ejeĩ*NwV% "RI(*gwt>ҩȤ X/ )^{~RXZxW*p%H,z9;XךkQ2–tLr窜d#px~;]\qӃ10f;ͳ9ˀX1aס^5t+XeUL u N0^эǁk}'c*?(€BZ_">GQF}gG{JBŹ'sf嶂@<@`9nz{V2yd ۧ+I~Y%c88\GCd`߅7!l|ߏƼQ} >R ?jj=7ŽEXI qqBS #{ܿl$f!'(uV,0 2v`O|})Xѓ6!+`>u,grvuDP񆍲}Zz3+!mM V8ض-%;GsMQ"%r |}ԊHvT:*W3gCԓSơAˑ޿ ٟ9#yyNB .>TRޫ]D~=A zsONB{89{ʳd|0rCgm>U7''lj6eVCzp*fBhTPCt>QYI٫~|2P2~,zlq֌Qp pC3gOBX"P9Wi!Wu^ KّNn+ҧ'ϝp?dp;Fqv#0!2QPHќINx\|wrse)Urm_N7e$^fH߻9$Tf,y$᱌ǥKb%8'h'ǧ\cR ޔ_9wQ䃎q1%Ic6{hdyeV9' z2^n$p\"TaNw=yܜ=ޔ\CdbTr=(5LrW,AT\Vh`u'#jKB)۾{sjה;HϷ?MK^8ךxDcqg9D:>\tz9'V&Rfrp/AJoz `lrUw32}O޳`;lԨL$X_j vB[gǮNJI0}i C>320F3$#v߆o8ß>nqʟ*:'.O!~Ϯ;?KKx8*pp \ M +n\G֙8϶9~zdӏQ?BROϝ#=GҪWz?& CF um=ib`G$Hx;@|znG#F֨#~`\  @=TE $c- 1׭RSFNp :{_H&O˜(pG>m 1<~5Iu|䟛T6cNN:R@؆PpsNpT[ g=6`yn9NvP;AR9Oҫ}x#z#Jܬ>nu:%x,Cp7Qt-<׀@-N d9 e8}+ўJ]J:,6:duUDl0㞧kȖIa3$#O^NI W߈7Ι)r3^npO c׭[# s+d}ӹԦC*<h6O/f$clg'c5e\ c=95Q[D1tyqʫ>T2WD)mH Nzu;{)d(p8~FMY\osE $dW!X7q szyXD9ǮqR_9 mSwp׮Qv9ś<6}OL?3&jrOr>l+ZйqCc>% LGOi3+q {V0p<{E4ЖJ/pOE9#ڬ}'ЌϿ*yh)C,:rq585 1#9'=?Jb]V?Ǽqzs鏥\''qSĀ8:j+l%Q}OU8+}r9e'Y1 @C ) ]О=yV[ F9|OVՂz$#k~ʙ.[p`t$O\dǜv=9ڒQ,$RsFqSh<. ?w?0yӊxS|Ż:H]@#Hr?>p2Tq7On$^aa# 2O=)P?>}AD^X#syR9G\é,;Ԫo@2aB̹`Aq8e6hfuӚ8}YA!P-$pX=NӚ:Ta+P6hLxw6jI`sֹ*bԎ1ycږKYs7$T(𥷁8<|ɖ9ndH=x+ѧK_g#m1`d`cnXoI ?G>»(tL77C }6DVdNv[+*:5H\@hYO pɮgX)uų`Px^5#*38 Ӂzʬ^utoA+A`z Ts,% 6W?79^*4hB {MFû;*I6;~`y Օ,9 y¯C).b9##ê!7Hs+Yb CqqځH@ )P"`6w峞sӥ!1'98 r~6ބv0Hv N t&..O9*0?,sUAz'G`$nјP6+H<l!zӚ` 3n~ecpQ bv/C"@rSrrR8 T#9JhK3һqPIu=@I7מz;my֝1KVǦ::d61ʹ8w0\M%$ pb76>C?J^Ϲuiy;Wrr,pT)fKn <`93`z@l1|r 7m =g>y!.ą|1_ci܎FV6-ccQȈ'p)_qLRcs|ò\cYt؍ G)4 ;slSdlAw"5Au@Xp=ИY-eN~bD"oIv*8߸ak"ħo%@r)c5VEsP+ VOWqĈ Bό М0+WnOSᓊvUnz%~97'8\WJS֧I.B.ܞqӌPay#}jlm7^_=98a/˜9NȒ傄PrbBǷ[j‚ ޜkRK!3:#8I黒{-m4qNǒG$à#ֺ;87vs)ȨrO#rr9,prqg'<43N&€'a8˟3۵yfzwQ~em7K֮xD,N/bO_ɧCerp @9;C>xfk1`` oۺ4ۛ<^ qOUӳ[t*=J N6qVnQ v1IkkK7;gl۷rT$hZ?%G s?ZmmPc=H;FxNG"kEEs,qǩZ&)u: Fﴳn-z9aqzRƐ27͹q88EG$d8z2Ҩcف/r{åH[b#գ?#?>s9$Uk]}y ڭrx.OaQg!0'cH``~Q%vrN}c*_~<s5O <3dqܒ88L˵%~4s׎iGx6$pON~sӓہ^sӟLTϮvRFqAx1t9O'#nz) rěXy$ڰgPTr{IZSXqǷZR6sL NG-qjd0FzW55rr pH?1Z'trx6h.2H^W{l7r8kb-$r(lrKyhAb<v62J0c5xWޛ2ء.%902){c ѵ>pžyQmyMUi2!- 3gFlF#xTa>t#B m<{U"G ~mÆrpFx&(o;{m;j3zzǯJڲ|-  G KINOJDNZi6t9=sᆣlv'NHY!,UGPAHWd2\.w@RTrp~oz~=e%.Fmc7 2@{ւMd;N•קF[]NK)G'h9Ǘq^|Dה:P¬1d?2 }kk[ 5\OLI87071'V998.÷QyDb2mʱ@&Ђz2mԻؚE[~VdǚKXX. vbV= >Nu9_n!jŝ#32EUIe $q\Wlr!J'h5G\*Сu,pđB"Xc!:."8gby$P198e30K".ݲϭR(GSv]3n%N<8sHҙ~P9l(; '`sRA sOzIX:r .8Ң;ɂs l57Au!cnsϿ# )R/0pAӅ~`\dzz*TFN.e7mcqОx9݉n\zvRq+V/ $dqVy*/6/7v݌#ZB6* 3]'?s X5 w pM4Uq8Ǚ9,aN #|m; 1cA@R6qWy*0 ~psV#8;FWa$8$`߾zNݸt?0A؎E;Ɯ0@%9V+`lda`1Ih01c>p7`VAMګ:' 0KSGqIUeflaF8: -F^3H XdNp9Mg3ϡx+ʉ N<\w(#81$H "4c<p*9sܜw늮,G˜uN:h&V)rFkm1IqqJEp~R~Q0zp)nDg.Պ6py90MBnbcw)<PIkHt'Ң၌dU 8BnS#d`Lr%W8=HT`. =8KP-Lg$j̎P ӜvWoPrUUz 89+dfUa<(׌0(ݏ-dUOUfNJmY}{=G-j<5N-HGla U;Z82&ak/z۹,dzF8F2Xru|@Swt}OFkQaG-Y[!G _]M7pW5V$#$>L3x/i^ k/S,-6";P@@'UGaOe:M=G*,70ypT0]XUr¼as;$2APOL}+diHT1uOOCE t7=q %~öyWIXen8^ONFOm#01z`pj&`Y~\|wI̍$\V='RysjY3#9Đ]ȐEgJP:&v㬅G~3^{^ i.fYdc y["j7miWnцoM1{7)2d\`?/q[DK aGΡan>Է97,t-  >f`gyl>$0oU&iv狎~?pӡ\ҵ-T1#qN:'//-ZRT2?ze#LGNٖպ%IHd IǿLWksy( y!<̪}溰YKw~Us{^-?JKiO*JrzsL F/x#&vϦGW2YAlNP1Ң?)SI8G@3ZG{G x`m-<5P; 'מGОg?qH<:v|9ӓY`^3v>;֑9Vbw`gI\( y9 e|2,e GCM45j8̹!NIUcƞp0d!}{!@dg7FcK'$篩8:zvv>ꃍF8sӪ0c0dd!|X~JmCQ$:;J^]i9 qҹj FH >%n9\ӧȐ F; cʶ:NIxnq##́x1E3˯(_Ñ_Ѐ ۞c=D { s |9$?(\sq׏H9rr 70<>]1Kq(v>bUc~vT/$y4' G?Jkrc_c=A3{J8:cg̿y$O)NLŷGGf0VXrp.DhuN'3T$nOSS!ǡ? vGFxnw.>^98nUZgd 2 =:wS#x.@_~mrCsY#"#;yd >V*J\o 3GB;KaeeTsz%bMNKU4ǖBT>vTs#Ҭ;˷lJv6"5B}aRQʂ@x Lu4m6.mp rx=G/݈_x=cd7FaU*~e\ x"U$ʕ@w!Ì,gij30r$!~ qT5YM(eQo0!"3w:s=b'7DnnB@\@P yc`(.NAȢzvd͔[cpn>qҲuMM91`& l<ܻ3H]Jgvм㡩mS9lzp)t*3!$88wS]~Ӟ~`~=Qxan!nC6:9+Ѯ}ȧ.6pzP}hj~zw;3Y/aH2Fss]W+vCfA&0qN::ÖO3n{p3=XcPC.x$`v[;N3,A^,3ל~$`qfkTtZ\G[l+w*+һ֮ʅAxY[8 x>t2>m4BE6a6T3tGV;X[(=x# v4v~_|R12BcX>KWC}HfyK!3ۃ_a+7}(+}ۆԠ x\g#V>ci-8^ oo3К* |8*Ϋs.@rT28 M=B)= I9?{[Qv1H㎼Аqݽ3ۑמ{$d}1|ҔthinGWkUIQ 9[:cc'޸qLd${s߹#؞Iˠ=ӎO”`~4־ZaN/t&XЯ$u F^{؟_Wr.3;\ OMx!e@rzuNI 9~l'=DAIl sП^M8~(298ϕFv3坋F@O'4'¬_ 6r@+t:TKm,6tC;rA8aNiel' K)!=ْPqR (]|q^ *488A# ge[y,2J/)AU)].G$wNGyX7_n3ޯ2w{ g?SLae7 au/>ÀNs})Y202H^CP8|DU on (l`dF-ҩ=1NZŒY5{u98a ':~U h<PފZF=}*> zxԥsBݸ\T@rW3څ-JċLG|S=62A##UjKb2sNORs3ڡnr8 qZ/ȝ #SUO98lt6sO]:F,2J.ݤN7Xta#iN mm|1 \O\p*O$`xE+PF[k35Wk,gڟ4"rFw1S ;1CMv.>\qs>*yPJ1S+xw(s3gvB1Ȫ IK9srJ*Hߓ9qj/V$[h=n+ŽG?Rmx$ggc+2g/L&`,Y@g̤ *<õ*)1[|På K_-FۻtrϭGE\HpY NvߙYr [=}*ԜnҐN<R}#9'޿JKah:v.T<U-I \'`df0=r;8l``}Ԃ?*Vx=5C]bU <@#́Tϰ9A ORL`>I`psrxiqsF 'Sbd 8~̾ *wrIg~x[r0qK,Cd>1${B!pq9=9=jypOoJk=43~'Ip:@Eܶ@Z$c^1[ojJ#jfu y9zy^0( #] ᜳtTv\mҦD9#kOR=@1֧Fqr;Dm8cn8'^Pݞ.*mdeD%[w hT|ۈ'?1R;]TӕL)-㎿T㷷~Z۔Nù/#΁r;Usb>Ozur0^A93JvF[I#uv"Km(@sNIt{9^皙?]Y6uXg#\Q*$@`r:`PlR;H#EuIS}Wq?(XvB98]Õ`3-F7_;U?"}p aU30Uy8qҰ%mP- ^ '3qKJIn;mld ycaP2Î+{7Jb#` x䓁1ןzc)}1)9J64A 1H=O~ՙ([<皞m~F\Ȟ"v<=$#>9=k Z뱲Xdn=y(sԞe*ΤN90ܥ:KBNFN>UC$zWNȸFQuH:zgM`~Xn$ pκciୱ6e3g>ʀLy|9<ףKkY'4AvȒy%*T=E!8,]BL8ݝoqCZxD)_44bn~ @ML6ј@O8⧏@7VfE:ylܟj9_JJFX#g9R.Xf>̙ܐ+W1j+3"ԑ"Ȥ8ǾsG0`7w9iT'=G GΥz1 `qP :`]vE'{Xn Iِ$*l 㜃E sKC<SMN`%O$bÀ8jia J] |?8f+);_ 9?(;!ǡl8= O9ۓz u¤U TH?P_/jHWV=۾Fqy^B,T Ԇl6qxEFe 2rIg׊9\{' ''x 0Xd=GlGW{0=?u<±4V!vw~==AqM<ϕWV8%vt-Gcqu[dv89r1O$ņͼ'ǿj;Q@`v}ǸI=%r# a7Dʩ460u;,lr[R%9%=? "v[qlڤ [iQ_ib̊rKsu*[!Y7q)hU@qyi&"Eu {IbILYש/޸|(Z ESQ@,xFATS Ec!s6x zcve,YWVR`m< {o}t]@ ͞-b4I6U^{A'- dSi7:/ڤ|kG9 4~r200㎃GzަrcTWlqęS]v2!p6sJ䫈M47}NI)cMw]Ã^6,@(#C$ pr۟LV~ZfiY*nֻ% rs~s2C7#`zW:-4 QI&%T6dwqљ-0q59X͑#1`Tw"|X'{|+ZoQMh9aʜ @*K^Wa{-~dpƁc. ؃Dc%c1S;DyCLơbI!eF ^;ڦ:04ph\v*v!C;v'̑̅Q"Mm~>w<50jp\1+rKT֊6SA#qNMn{4x+82\O Ӛ iُ8li^hZ{>KV 6AHi-O0XxSvWfpi6Qoe-(mdPVF`KtITwk U-Hъ'';Cc:JW${\f <%3sJ-S} [M&% H1Ã{ԍ][l$>9SԄUO\(tlt M\rO:欳c3LopD AۧҬNWs;ds+wԓ T s4BH9 3ƠvO_{ޅcHp=?2:cS1##qzTOlùUT'qۏ;G^8Ni=~؜8`C r}(c dz`$aճi'\e*,H\8Q1O?'aK١'cm<9T01ںL\F0'k`<2=2O IYts}iV!6x wV6%vڭy{{[R7 VFݻ=עA$ac+-,O(2܌ֱe9*Nh/u(m'ɿpru1&;+=^@ÐF(*3zZ*Gd?qQ{w#ĚWeyB)0x r,L7gpm{OM^]Vz # B9aƆ4?AV zv68Ka"Q$T`o϶zWCimF'\>e xPXGҮe8:0B+/|G#95v:RQؿ,3(-m7Q=c06a5. K*)%pWrtǨdHVڣ=N8EpZl #o18~=*$=sv9`O@ ;sQsq8E $ p8t `?sqh# $&soO)cqb;]Ǯϥg^܉̰TI?.N;ҥG[K|Q.~n8.hS؀8pTq3%3۰- @a=n`p#2W=F:Rq38a$[.Lp}ȩHfVGzN(jL>߳n<s;wlUF"o-I>9hbɸ10I\B}1UC 2+2`RpsI`:),$0bddvx#?(Sp;2r lלFu7vB:u(7/BG2!,@RzBM$cIӎE>A9=ӄ =qԃ:T_l|6m@`wȭsڤ[P.bV8t߁ozW=r98Ο/ N2rA3zM9=ȣWi|` $$ QсvڝM[g838&?.b@^:D_Ms?Hw#ڙb$-Qp9#ϭ 6mŠ]N6*c-csn^Q[ 2xb0d@:m<)F{U.!.H] H!V6dc+zƬ]9IV9> -LcJr䥟``8S2l$|k7\.G3#M !?4n n=0>vWn~d 8A CgWk2J'06*AW7N;Is,|$MĮьF1?ߗgkI˯Э w+Ggk^  ׵zN7V|oR&Gnw i(Z_p[aZ%KkyG; kו!2;[?@0s3 x+U9zt/mmHK.[Z5@y#=+^k'W]Q V8cOZ%^1FWAr :9=sTh_՟H0Avb;c95k{6zi%oCBc\"HwEݰ:# Fz\;mơ:Ens$HUK@J-tE£QK0qvq֓M4㳷140/*|$p8 3߹EaiTyw$ѻ'ץeR&ΪTJt"  %q^[qmHk3lK^}KϨO1]eHg#5 ~PA95SvZFC>$9V۰qcZߩ-~Rǧz~=Lɨ|dnaק>HF33ԀNğO֥cysjf$aql1ǽ3q>Z܇۹͎G~R@ۂOs'E/rpCLXװc9[GnU-&Oo94@mÌG[\<5^R303=*,S,hqA~觹?j5RʹNI{ϱI gG 3g8<ŎId9GTGǕU[@Ս!9f7&<0#׹ŸNJN7~H.WĪ$6DU2.>ꁅ 1y?֮\.k cH5c<#?sϻL(88jbf$C.pG[ڼr@(DG~o#5QVM|޲G52ec\9ެu|lfnJv[v;O6ݍdjp }ySw̬ą%pdpF{y55wME(cpʹO& $̅ªwYP tvB7g"|}zqn&b̉$eH,xc|@pZ mrO͝[ FYi&c $)?3Z#v>yFиPz]+kXƈH:[dIO 1ԙ9K$,8'1S/ :zErsGg,g9A 0ېdc^ԁ >W^H1Յ>Z<3|6G@m@\Qs9uX'0 :0Ji- a<$@-0xCL`q9qh2>Cl2F3ڱ tݚGuNV|:##Wn,1r^ '|r94zWwcNgfo5-uBu|6zֳbR_jP]W2O-,(oe`UَD]1Dg93ӑU>dq|q[_魫Zfq7 u4 A_1{R#!gK-\c +LZ:ชM^cXIs=~H}^5$l\ {W]iybSqʋ %$d9]uV}Gʬ:տ^SrA؏}މٛ#{q޲|6:+dko7QFU*9 ם5i59 x@bCd2~;8Ӝ=l:: -Et1>N[͐x:VWs۾NG?J=Gӌ`ش*9O?@{}*W8 r>y0@ԷliXݞA2OUJ=s7HN :z!:S}}d'*GnByǿnxbdM {~~t愈(' ;Xp=<}0zŦ@F=sߨ r`–WpǵB*HN I rOm{El$TvW߹~򐤁xj.W$~l`/?Z.0 q @7T2!A pڞķ+ǃrsWWpSgsS)$0e%z9L:a{sއQ 6*drNGzg{%t0glneRS }O UXR~d1ަa73?Fy $K2nUڜFs{zԧs-Jl;Z;9RgǹO(ܫʭ@<$]cRs[GV.JNrq8rzq^="_?RmFVvo &@q~n9leK٥$$$J|mhk E _[;A xð|BC.$#gjW(۷30c!K)y_QuqEaB!Qv)ؐ\26Wgrs1c$vjkEcy!FAQrO(|9? Mii<dPe{),>\z-,Mma|e|:J_8m_2:ZgL"#aϭRȿP*Xg8=\Vy,[$SVo0C,vܒ? `3sYKu x+Irjs 5FyH'W#p1z(94Ȯ 1O=zS: )ͳ`Uۻ$swN!GÃrr6myҘ& c=`s8(!Axۜsޜcx>I ݷp(Cc-<0'#z"+RpT{ˌ?J6)ӆnխA%#EltoaJ+r09dc>NOanR7*C0,q'U2*ےri1`x=A W gG'6 ;zbpNq\c>GOĵ1ӯq'Tm+F 龅\oٶn 8=^v{<^@\bu lCF{Qrpq'=SI}r$9}眩pyڮ!<: Q/RGPX[FsښaF6یgچʹa#Ңi.}!G{!2m\`xd88 +ꀄz-'oHqUǙpւ>U !dܿ\ҰFPH C1랔v$qXr7*H)`9"샶NMV')ti ٵBr[#U 2ep1OZLo-1;*Ls?6Sd`Yws$,rWـGkrWQ 8 N~^a5GnpFy {S"0=];Nq;ᇽfH99 W끴i~POcIo Avms>P=99K#8\0 KҜ &A2MPY\|?i7 1ORzh}GYG$9Sp@Pqװ9\vq'ǧ֘+FO9=;4}S#ra%{R3`nSw`'yW NCZ'BFzqg8E^KrvF' +T'UwJKɲF<\#<I0rN߽osM},OW/Q<۲#`cvp ';Am]g $d}[p~8 ?ֹHr[>ϭU(eo^AҲZ'[E߂ܕPrx'JcO^c޸:ޯZo9%o1~:k)Z_y5H\>9sH$1 O8#\?CU(MvsZ"|r!\3ߩsԖ0q'9#?'Ny?ӵe)i4P%RAZ&0zNzmp'{{cRۜA9`tϥfN-ʼn 3:nV1zzֱC-}O``J_x-ۂ7R ;}z⹥I>4ZK1og\5'@#X$?Й5IB 8bTZq=]YTRN>z5ڙN:AF r?oZR]'נQj2[2d x>dO#0듑ШM9>+3;O=銤߼w%DU/`e4B pzj[9PWA+o" s)YDF1:+}Ƌb[už9\N S{lg;I WJץLgW'h6!9NߩkVc+v=3׌Ʃ8 UNQ*}WG9 $u^[8V=Aoߚ%?P3ܾ_$gf :4!t.1D4H,woH݌:u),fv-uhubcWFC4}vh HᄬLXڧ8==j^aߺnƙ;@nGB2>s_Bl59&,xi:7'18)*\%co0Cc F:=jԶAjǰ#Um_cU7qJ#n,p2`,:cU׌reBqpFx?})@<nj?6F9& {g??ZL#%pN ROr;~^ǭDe#8NK3Չ[ y3_鎵+؈7 Fc}3\G9GcZ-cBR1s}e0?J{z8T~:n^>ex40EEbF2>#?֒ {A? ު ׽\H2I;H??*qRdQq1UJN.##e Tg޼c.Z"I+d'#=k&zsbhg'd֣a+r*8#_eĪۼpvVI35Q*mR"?66//tx'fwgdR3ג9r+N3ʜ.g1I5Lm8\Z]D7M r<) H72($n q!pvwA<֗2`;T;i =HX+H$;MWL1-sڹ~!6YQw sp@8SkjJ|AKc $+珙m< Ԭ]a30Fkt$T8I82Zu_xֻ#Ī{{0(ƧHRt _zŮAqj(]LjwmkZnUtF\$SC(D;W?!>V" W#b69$ mu]ݴDED-b$Wi=p?ߚ}ܤv#dA1cO$RdZ^O V*81V?*gyѻ0I>Qz*wʅs'͜ E2OYd2F`=ڢ贬]:I8;GT r|v7\'fTw2cr"dgH,q&d :qW6؏PCM#43ĘT5RD0?y2)<qN%E@oclUyc(m±nlG(&D0,BOsQ:gFUhX֦ڂe6*<'#89pn x±=Np*vN 'ُq8ޣR3@8%q=JUz0ZdV$m=qYcmYA,u uP S)+l`$ ܸРc#"(Xxܡ4 8*ϽKa=CZ">͏İ{Ri a0v23ONxnFF2 Fx*Gl逆݊.Yp*99cvLrrQ܃Ev4{O8d$u׬Otxtm*Om_C!N#Yws8BzyzYs;$HbF;S~#R8*Fe#AP1^ki'>pEF*9'8I'we7ҶhC E UXvXOnƸWIH$HF=O|iJ*S{.Fx(. qg;6|Jdq|i @'UtӢ+{2$EjOs9in^Gi|I_Q܇id ֹ'NAE.0]b^72={Uc5ZgRp>)$t{t57R0l-mas>[cKڲ>]@۔3ӚG;MhȚ;5gI݂NѝFuU˨jQo27!qIluO^r{-NKj:6v \1ML9q^kQ#. 4{&VT0] ZP; 2@ 8r}笣d\qQ!>\Ojۀ}AQ7#'LӠzҷ0e\ c0y'8ӯK{j:w⭉}9c?Mu1sޕpA >{S[y6 Ď>b>E:g1n3BDn NI>t[U׎1hMXA\g9v3ӭBw V=z֦lE@j,v8_o-Ŷs'8b6"BK2:U8#yTԊ~9tx˴b-N&%d dʣҰ5 [TQɕ|I`FK9 ~|_^:՜̸v0F `|qWϾ2N aG@|?◫>.Et,X"299!f$y>oЈBt#|"ݹfDr99$gV`)\Lc :ӧ5Q'3m[NdU(: S!  se,K6A$p;c8wj=r}1Ă{ZrÜHJ+61pYǟqZڌwVDĬ!Z3?>8^M}|MYSy7vC'tX8'=b9.!Jr@l($2C u<SOɑ( XuOlĽIU"](BflV͹eQ(R( QC{;!|xYTHX4)pN;\ƑN⥊c Js8XJbPb][9,;T>6#Yv cp>P1>qߡƱ*0~\/Qԑ6(ebI1d`gJȉjl28\8$18$Q^bwIQ3F ոes^:uF#>X6}7&HV7iJmzkQD'zJL+֡$!oBp[?;l p0\=rELH#g&ǔ-0#g$vJKc4Ub !r:XDz+K2H y^)bx` JՍMW>ޭ\+J*E?3)<}1]Qdq7;$HI' <-nO'1׊´dz{8X2]86?57@|ĺe ^Egu&vzV!y#1*L+drC`="Ŷ0?feϦiq岶2K[=[5NK v A.$@^Rؕ\"!G̫ H^"nu6mۏ/\lQmd*# g>&C3$98f1O`zsӾVAqenzS␇SqJl517?As=`#v(IMc> |?nAllS=9$8'攐 =>nq\wҩl1H x%@!FA$ԹNm,cNUp ͸c=:]t+O_<7n$́>}.~^4EyYGHR6V*E+ȣ9-xY5N6$JQ@].pri#P{ ܎B+%}]♀O i9i0PX{^tdaeH.˜sJBkx#<9IE(iH1j ;lM#Hwj.[>P<%3+<fuF.-z R)nE2- Jq,LX71$t8)j%rwu5#8^U_"*ɒ{>9`v{r8Ϩ[0A$緯auTf`7c#>c~GdBx瑚߁9y"$6Oa:p:j{hgG\p=?΃q>{@瓜z8?ޣ  ycOo(Qt۹L#9‘?^]j׎ z|{p{Lc*mzU]CBnb2IOs?7u:'=Б:'z:ry8 `ps1Q~`#${k-Jrт98`u Zip2߇9'zMVW#9G9-ExsV`B01?K)XtM 4I?꛻f389ֹXX<p7cӧ55. * 8ǭdI8T.7bW9/vg$|w)ɘ)}f)JeĻѓXp $KKbAwHVVx3ܯ>Ћ")+ '{qUl r;sMNol)S!bcm7O>bGnkl pٖ\p)Z6m+qB`m.@˘uU\#yk( 0XxH+B!6ܟ#9ZMlǻn;\(0%IQ_Z.oun4^Lln.: ;Kw12`OD݇IkMR `>q+˱wJX`# NE)Dx+fAbrʙPHRI$q\Q[GOJjBr0[%Oz& f698皧F9ɿw&x<௯ҩ+ƬH۵^9=i )$|?,r>[irU N[o@j@'$BP8ᔓ~ Ӻ?Ye1(®zI>R8,G,ۀpgV"nB+#i6E5DtJ`1Ԗ=-?RomH g=1"ݖ?ʲ^泗K3HIfIk!0N0IfҜdl,?_ƕΎmǡ3_A¨sZ餈'n ԅQڡQ^WR.V8UYe#wPf v܊z>w \xz9ln+9$ (>0@KgZ=UI$1duSTЌS{_ps#QY"%WW 3}WP@ |?tC"G|U`:sNS]'\N [U&PʊU 9T \2N\ -rťF@u׷)?Um껗/oJh|ôY: ?7ߠB2@ve'U Do1s;=t[~"bqC1$iv8䜌N{SH NzsJ'!Laj9;rXT507'S'zւıX#i$xsIЫ<UԒNqʟZ/ wK*"9u*/(B!9cӭ!Q@Z`ۗqAIlT^I9<~}j'x@x 5IJ7gqG^HLW$+DS;,{4ޣfJ.N8׵M9 qҫW O@qc< 0ṀNGE\u8hzm ;9'h[*4@$ʌ|6px${GjoQJn_F lǎs>91ZKqxb /<j N;ys\Cőӭ>tdaPzl8 |q=*'7meamqx5lZQa;bEgJWg$[ Ͱp5 jrs{e4sՓqf  s5ϕa~!+ަGULܵI 6'~Ek:52QBErxt9Ӻg+1s oh0z.x?`Lx8Lc8ۚichXJ`*> M A\ }VS$! >28>=2|' ;+ hdc9'HF^Ar:~uEX+\p+Fp?֞p#1}$b<~ݾd'{(9w޻4X9$ONHԯ$';q\:"C'Ssy㿡5ƶ7>HʠAl>J6s(?7ck$&'#oNqw c |͎F9<7v uO==EYOI$=wюő'ӡi"R:\Rބw$D&veP^@Hq/r;aqsrQpG A< M]?^q$;R<̋c98-jɻ)w.rT(p${~TqqG$RW+qdBnWZʰ,$gְNX63rH%pz^٨lYʞTk@_,IcBrFph?L.izhЍ6;Wp2WFo:uJ&^Npcr8Ue>b~fa==ir4!Es߿͸۽#K sr~^.je3N$d+`H-,2P`t$M[)Oqsw\(\|zmƱw*K%KA1l9茵(mRѐs`UXd ~?k,% jim ubiK(=N r?>2c)b\zPՌ;~G Wi8 ڱf߸%x#Fe(K\#&9&PWNXi1*9VFtzs^ە+8*egњ46<+6VsY9 n~nA#=5̣&tߩ-;f1bpAORb@>rȹ8U?3!#i݁ץd8*aMٯrkn !UzIPlƲz?l,.?uno,d3if+…9`UV6@@vvbw0GK- wG,㌜meC.)##N816iCIYԓV\?Q9GqIz 6H68iˌapqM*8 " qšq6XȮ[p@2 ?$Qp2l\1Q  ʓAtWXM"qzehL PccYx;wDQewR#(e0^M'fxT퍓us:8dE9S#V ~rj?N TrQS2F\ÞC̖oW݂+r ('k,GOj-n5L&/7yHX0:NjC }>7H0\q² T=o^E@&HɌ'ʭϡ솢_"!)$*%OP#oQְ^s3rJIcvƣbja,0eJD3 u>$J'({ $m_EN;';YnT0f ?.` ͼ%'Nr ւvoP/n ϗC2 g5b+<1bq`'nLAӜJRk,+K@03la_S?Acz+X9(fp z"2">ʞ5 xةP]*{l]IuiH^;HV]bNҪk%n^ZB]bHI#Ir1x#[3n-+>N<+z[=:Uoefg\Q(sn+} og 029pGJ~+w7+5Y.[vI)$^Y3Ehp>ezjλ޲&}PNppwt9?t:24琹w֎R/}ă ThG?{*y`8ӏ`ekKؐaق CsӀkD\  fe87UL䓴((@'?4"ٚNc ~>- ,:d>ⳝ2:T4Z(\=I1վEm0D #zɦț\KJ%8 ggʔR:bqm\ate^k>yvfnF *# Mn%GLF˚ePֽ v2:y{ڭʹ-fs)E 8#$qʷ-C,1cG_g*-g l_$[ YeIya{ C7Gli-3N.Qw>[u4klNy".قǒ~yzkkˆ3pG91ھ_?N [/2m/B 2q ~qRgz ߕ|>OܞsҢv[v9@ǧLRlv'?*eP8W˱늸|bIqL5u"P(P3ԊȾn$ظCq@0s㟧Z"`}c99H>ec9?7 ,0ÂI'c#Ohnю.y;W8ۂGpǹ&7t\>Ui8ld~Dp;}*+vEd9julgC:;z8c#xYV:!M= ϰVeЊ4Xu99 rj>3D0 na)nNxwJM5Ÿp\ 499?3`C52pYz p99\2@22WW:f(9Gc\4ҥ(61y:<  =O#B@.|dz1m$ 8#֤EѰfԫDWiCmX 737'P)Oɂq!yN 6F>nIz4aۻ?teQJrϮ8UB>UXě؜g.HVJe紎 G~a<}݁pn&N/A*(B̓sF*称Bjv;CۻUOB^[#4Kc] q>_"(=e\rNH:Sra%ݙM>. r1e+1 p8SjE3v9Ri3,<4l"Y72dv+n\bGmI0z>,֙"Ye(iz禛W)ILJx] 2npsYK+mvIk(Ё<1`>gV'%cӷ!} rdT|?˱*;T8,@#>?ZQSnprpc')vX8ŇP*!뎣 LJIk)ŕ2Ie@POӊ;6pMFʆg(d?Vy ex\ּqMrs2JC:HIN~W:"4+D#]"3 DhÖokg.9I6:\vW`©ܼox?K ?j}8Usmsa[#-ɴ0bvXP21ߟJ][7x$+Ŗxc1@2 ԩ9#qL9gz-硴H==2~/bRsjsHȪN[׾AsMmp{fqө=F 00zNП8^=~ޝ>Z$~Ns?~<Pytz(B\*-;+W<ΣUR5:#糉s5䎖Dz]a#a1N zV`řxP9$7L? |u~κƧw=ג$Q@ֹTEH,?7, '|6W.(5 xwvp>Q?Щ u=N_'#\~4FBdtb¸iє!|2 Шک뚵= Yݷ}~U\!'Nю?*kA?1.v?=3=&ʗ[\xf=ICdG0c<'^j[Ȅ6Vœ! J2jo"étϗ|WȎg,UsUJ4bXVXB7+8=}+*J>,VtfE6ULrX#_Fc4ޠ`yG'##]2RR0'c:`^ocO _gR7Ǝ(w}[_#/~QZ]Z ;?s$r@24wJ:¼2dfCcDסՒ_ *]I]p88U< Ls cH0pۘxA8sJr8!O;9'wpEEܵ# 㐥; 2O9g6F_7 !HzUwBDIHH=Gһ K5AK8yTO8?79Wo9$Eb̍gf:{4`v9=}AGq|je\i#$q?Z ~8Kr2v=1/t6q$l2FG_nI#z8ϝ,13T$u*-) nArqVOV ^ī+c!K(ꡇSX;I7`ǸӵpV_׃_8{BGgx=:V9,*F~rp3gqϽs3ܸAAܫǡDR/nF8<jAV,_0 kfn>Aѷ(``өՁ+dQU8Hq?ly&qByf tN85ѡgu8a0NiN:rNpݺ4#2 # ]C F9 [;dRT}턕3u> X'!Y ~v K9;r:ҶKR;' g8irFHМv 6b>0V|zz4PF ہҟ`,$l >'khp|2qȌFFvt9|V'*5ʽ2@| \ڔ"C0H$scҳfr;;O=> N~nqp:zd~ v'wZR9+pFN,J߀_~pʼn ;Yn;|>T.rng.F2!DFey=n>7GϷ7$90t篥MlebC.H ˀ3hYܑ@ri"MqԻ E"Oݣ!ah:T# b)'|c9;lUQ^Ns?hňԮ6#?\%ASE0+\(pol RTnwd~b7p8GQV,'p$[O^309LsG_8[(3L2wm`X-k|.v3ff~\t%Miđ  hԸݏČ WT&J.5ɹa`tCq|³9$1 z{I9P61{$mzf3 ##䟛4#D=x t#̿cz4z t/eDka|C9cqJ82F\I1;G+S-͝m?jX`6ߓl?~<׻n5I+b rH G~Ǝf- pR z5pFdUeiTm #zz#z/C;yPqU\O˃:vXPqv1 d3wKA\#a |wzaƱ 9RUr\qk kR%򖰶g]H'rx 躋|q~aG?Z֜}bcJN5c.nf+Pxy=k_RhBH19ҾM}a\4E'4#y˜nrz~"; Y@k\NlGLvin. j![T "p VQ"zҭV}NzwrȻ4Jc;sw ^lΠrr5z[l,Am~6[vHq;U[cLQx'h]}0F0W?ηoݖbC1\ a`c޲{z#Ϫ}WtYT?;9+m<ݏ9WA"/oUdfPNsj-s9#{P:0ʰᇰ?Ώ G-fG ݀#)_Uj4j[.>0Y[?{{sZ @g.lg>bLMi;[Dy)!  \6=O\Qzj(˛uf H>f'w$v AE{`|Qg nlswnw5UأŸEJn9ONt&/!rs|-= FxӥDuV-sdFbj5n8=qhR| q>j= #Ƣ_wq=ϩhЈ9O gwˏVX$7, m(O?tapr1I 0VzD7'y6vn[ۻn˕$C^u5^tnR W Xc=QAaBg#r@^'#HJ) WN;v2G㹉' RG"$m r1I{ čp Xm*TW|1񎕲d=ȑ cip)9K4Őd P:h#RNv3ǻ$v={T^iN~bY@9Ҿt?iU`@|ÌqןaSJH#cH% ZC#MK/ ȱ :a~@H_ 'g} OGt`Ƴ.]q5v!1%s;{UI#.>} Nܨ|hg"=:q5ۖXʗ{އѐ!\)$`!T?^\(? Cfz\aʡd,e9#ֹPFK*''ҷZ#4\毘!uO~?psν8USIEMhs8V8HUpsӡvLe$bC+wTz3ӡ> HE#r _*d38wE*2}u>Hc LeRc;|@*pĀy'L) #K?t0 D1Vmp)Qbø$/42I{R)ydcf@WX2N]v'U.0RnNGVH2 p 0 tQb吘#b$ }3YxJde*DBDpS01ڐ4Ą1c3g=Wq?s&6Þ1Qzlא3(ظ9n\Հ9 vuV y>qԮ{¦_q+1*6y둎<"w#V_R@]R`9rۆwϑަ]MP\ ơ"7H18 ztW.˞1E]FauKAs|Zj`s$'>7lB?E^Kp1ȥ:S,??c5.Q2& SH\y$bL觌NKOZww} y`g8#樚rw`J%`l)nWGjHgyϸ)qYܫX$H$ ;#'$ϦhR( !t440I> x-ۏjAn=vdn|@!ޥ7aۚ&&dGt*\mаs֩]Wq2;AN1y zU9#x7wo8H45Ly0]TpNp~`*V ȱ݃V?K(~s; cִ{|IW'dG]9JD)P[#%@ǥLUƺ@#s)ҿ_Q~ 3[V6R7+(eo،``` mdGˌTւ3 p# ! 9.<z-Ԝ s5HCЎy<?Trv͒xAsr+5eݗR8n8oo]}2Uʱ$y*W<0T㡓ORFWn ]Sg'8Ȓ89}% R1< V#ά݅*x}9"E&@# p38^y*NvZ-- ՠב;W»`1T'/%:{wߚ0*erqN8XdUq.<Ђϳf5 #6Wn2 n՘Lr#>CZА[T R /֨X r.~LI}H3\@$OJ:|{qEu*v8myVO#N(7 p-QHGOUZePHOS38 XS9݀J rJ{?ÑlFW(1I:RzWԍ`#\SźJO41cE f1p3A yd3{P)2B1'3Q4tϞh]Moى[`,opI Ws$M K6SI.cn>jEku: T c8=Sũg;c(SɨRF"hRܠ;aU?繪!xH<A )OpԥHv$c~Zu瓴\u$θ= qqx' Lv#=;V-O#xc.瓓8UV XbOLPZ-2ˈV,2.I.%aF\X;T6R~,7핇u*HX@} 0::Թia2a {c:#zuzw\lƠϳ~M뎫3*zg^y[cyqArO$z{VKpާǦ*oVQu?]]qߧzϯP!CcN9?_j;6=[Ri2;<0r={RW3)w7!H#+W8;Rmks<8 r['$.9I iƒ#Jܥ,Gf3T98c}*[6my ۈ'EԀ,sQoi2*bp2z\i.Eز\m'8OҲP$)`0A?N$߀MRu$y.Kl2&%0pq^8{F{m>:p:ҤYeێ !#5*KBm+.p^iQ#IC=wDDN0 ;u_}x껷9Zy+Wp$xZqB[O?ʤ5-pNziI;d@ț5B}6v/9PA=ʊw)ʂ)m! ,?(㎽98k"T@?Q͵b;n߱6n(Ng/ x9_FG46 [X)vf\g R-/RFg+ *y ӥRQ;*.TD1((]ZR=W\mNF$èں!-y쌥BQѢ nirHU*G#ӊسGuyEGsNW+WsyӮ\e}UAd$fAR`nVIHM;(7նeʜK$㠢FգS(18pJc=jUz*}GjX]~lpҖav&2[?xgUf>Z2hy8$׵mVݻ-.a 1Hc px'U䷕ՀB@Q`>U߽+yN;6IKzJHF*fP9"֊k*{@mKT'q Ts87P*3nFSHOڢo36v@ d#YDcʏ28Vq=)g=-y+ ˛RZ핣 ā}\qY`J+M[A,t#h󻧷^wOEm( 9'گnuyЋKoG)9Ix$0ɞ[Xn9T͔^?w9 'ސ8;{Zs<OXG?OP}Kdd6~\p9]I>i'qfvbZBO qGJI;嘒91Ma ])8#p]zu%o=fՁ;Rnɷ EI)LF@!O^+#c4E]yڸ$J6t丘/32TzzWh^rہfaМtz\+]|>zơŦX#y#P^iGNk[ա+ySj[+ $&:ҍ:RH(U*+y_NWK$I$Hx OAY=9O3,KV蛷~ҊJ-9;Ƅ9O gבGgI^_=j";=#Ҙ.qGSS@QOEO T28<AqK܅(i.q(ZT |tUЦJ1H__o_Hb u[vX(DܭtI 8p$WL*Ql.NNH~j)?NB89qM$r?*@#ES$9qsH~av>ST'>Ns{Ec c9Oda;p  t4wLCx*$'~wNH{sP c^OK _׎x'QczЊ+ 31b{<  ) r@PFAR@{)#x<\gUΚ]]~1nb+*G#cKF8rjoIA 3?GjaiW`.s';3^i`G82T8+*N*bWi_t7P!\O$3Nh^_q <J.&<\n NH&weim+OM֦Q+I!w,B4p?ҽԌ]OAMQiy*2 7)_͕"vP d=Nx=fq:x2_l^4HalIuM \Fu"N5N_#tv28P3\c4x2gf\ 32:VF?"nX9; AA=q`AK瑴zuZ[ \0۹t6F{ ?]ݸgq9=: 9>mw+`m9#2Vi#2&mp=^cDXHF*ɞ[7'J5PCmE @ 1#~ laIgSq*pfO9Q9{÷V dD>\Α7 kG4n6Q~"28 (̉(SIon8 mg>RI 7ϘqL⥵Tj|ߗlS@A|~Qii'v&tD7' 9)VSFDM>dG C͏@qUlc+OXI~$% .Pdu-77< JʬzjSyP 00H| yp83Jc•cO}>ar2gNv2^"ieW0>[r1j1S?0vrG"hݸ  yY dn+!ʉ|]ې2 /T#Sq$3Ozc/HHl1=[0Hgv=jq.rVmRɎC~,!l& \v=ZF9>|GYWs@[^1J2p;{sRFC"$p[ x7zoqFrB9<dG08K#I)s>}z9 3SdP&Ʌ ϧ|(MI#w Ԃ3]'ۨ/qIh6#v Pۘ Ŝ`;5jWhcޛ0&]*8lc?.%΢n lA$9}MWk@+:W8t?6BcS,H*Aӓڇ&]ԡh. դ#dM*t!3ץdvG#.qr})}tZxoNȼ$$y@<n)ډJphHo$bߗц/Ov-ŪrUd'#EoXGP+=n"\`dqæ94&okP{{[YRHw];\s"+[o#+]/GˑiN;BӪ׸-F >VUgÑך8p Hʹ$w5ork̬r .#zu5v8_,n(9GLz电5PO9щc1׵ .FN b39xmB85<*|#s>R`փP0ef!rnO\ǵY'$eN[Ǩ9i_q4yq f=O++r(hDY O^c8"4㳞az7l(8UH5EvqJʥKh)ӾD$E/##d2CV%܇qȲ n;i/Synd ɹ3쪄<&0>kޫyf28-޸qJ-[lz|3h0vA9LO_Z+U*^xwASYt>ARʑsn%-p>??jkb^2 dn2[ =F3| _p楴g)8t̓\j#`wn}x8;yF}.i~NF~#-3sN1IOҫbHpT>7@cqNq29ޖߨKT\gzc1VkݰOBy~Rv^E %%OU뷮E8LIӽO1\y?NU:}zU% (zcМ`i}VO9*zc #KO Mӆ?.pFpzߺ>e.˳@V`0Y57 0IvF \,lSs^OMm1%@ kS~z_ZhY%JӫcWpP^8;ԗmO˝/$ +~\l08{Vl%qOkǘG, ci96a-60I$7"cn3yp%;^ؗ$Nd'a8N1OQIv)QGpHg ׽)F\w*#0zʓzy3c$fs]XzňܖSMJ{l[D(60zWoxRo{̮L-B#[[!rX^z6.ھsEZw>ijykr,0pH yZ%׶mʫ($ms9[Ry m<`d8<sS .%*Tȃ~yRTžpy*fV>W[űrU'A/!o2w)?SC#C>$-ᱴǭOnp33OZo%ӂ0x˭B3`[>Lnt~Z/;-.t6A%z/Q  +}( ؃ՎG1[^mfIY`6F󸃐-g"[PV f^ g<ҹvp uև։_f'=H#i7 e;‘ӌsHYv# ׮1C`1‘Ѕs-<\V#Ќw5Mp-*c94?!FOCcr9a}>Oď#Pe+X=42)Iیhae( PxJ ’.9~F-Mzzz{RtbH_q۞(!0 Ԗ<{<~For%G{uCE"+ y0:'BHۻ96x8h1Lo ̤S;vܕ$`ӡ"a(9().$ d;r^:"jǾ-,]U|3+ccE$9n8a׿\U<'О#+}Hh 7gNtoY<_!W˅=WyO~\/Eg;6w 3`%qT7 n`3ڠ(w s=AmkP[U?/k˛'HMRiA$[nBWC`#u OXzKaF8.A Q$^,IsYh^_y*dp}SṖaP(CӵRVY[OȥÁ9&E.pp x9Ȯ:GDۀONAr͞W%;?/89w 0x琤NL$ɷw-8 O=9#8¹Bלӯp;=1צ=szҵ.dS#ֳ6ɟ#v JN;>ԨKnݜ2F0j;*ydTcy`3ԩ# q;QoC r?r0x㎸F4KEŸOiLJݱsN8 >R1V ӥn3 `;G|@i~3սJ3A< =}UnA[$cJc犰27!rs˽Q/c~5Xö0U'9ARvpAWn>,LCҼ%qx.CHU*$0GӯZkZZ#~mm^y'zu|yUv۱>Qþc54"c \d7sm$7SӟZ!D@Hy{[Ӧk2gN9\Ks'{tYz!es6]3! c8Np@ #8f89Ǩ9&WzXh.ߏ1\a>U=ϧ~z`9Rˎ7|;~0]eFsdN1U%* ˱݌~8MDUJYpqܟVdPPeC3"ĻpAg4(YQ-х pؑC{ԡԑɵaJ{6:=Jڔ:M 0I=j|D(`ɞHlu HY]F^8Q"d IG=zک/.SJFy8v}F/2gHܼ*:.=3H"~r&ҿJߑIl(HI=I*FH8U'sβݚhTeE,sӊc\ 0p #⳶FےBOC5}0pNqdq5}:c[A7d ꩘>ZN _6ϧrP:H02HB $pݱBZBi-;;v{>[ib=I~H\d7PGӯNT u28'nG5,.p٨7[dp[ؤ_tXYFsghdp3=6O4KL[ppI;ڔOr#S0 s8<\VlEi#k3r0GREDXr{=.GO O^?< 4 !_3׊k|'.Ϡ#^_}X B@!I`-Dl7d@89{V8#/jA!́Tr(˂}%v@>P:'^q~< Q}'0[o'NDf`i?.#oiÍpIUd.dc>j}@]ȗdmޤm,F0GosS(3u~ޅ\i$lk[By.@#~TJB%pݟ_*)+*˵v.m?^*O +7:p 5$ á89Im)\I r22Gly#F;T(HGˌAR$dvtbĕqJ~fCCw`8#{𧕁 $27e~^]Ȧ0#V9\H9>*[Ɵ9/#+%3Qv;aR@psأ3$fP؎+H5] \qqAݞYaM Xmr =Fzu{&e8{})zt~7ס0O ǡjV lj턳p=:Kz UG`c;"c, t<^Qqb[rX-:{ UF"zŅQw$z񞹩W>}0wA犿t&@-(7;J qn9R+{m>,В9g8zUf PFNhL.r޳8vo3NXֻ[Dor9Џzp4RJOV#U6#<Vc0;+T>Kk%&EDź$#a܋+=$2&$>RAf#N_ ˴` G%0Z%̇ @$ozέ[mPJZ\˔֬q1A׉]LRGP pTܽ2qs^dҋJ=^t래u.H< 2GNM8!c;P.9c.`f(#;qRW* flHP1r{{VSX60p:xUQV;i+NgᛎpF3Ss"v#AݟCګ> BNw'Q}l]Ebp_DjsO8jظlGʧ<WFzOq[E$~NHBym\ےǠ'{NA$r~UF^ z#vT/<2NO=j\)8gt9rUzԀq8]= oCۮ}O +߷;}*%y^A JߟV9?ʀ#8$xU F@={R&لی|wxʎv=O?c0G7q^V]Dcަ *^䉊9@Vƶ¿),ۈNzXY\u99zspz`H3c3cIsp ZEX'!qrq^A>^_ObgޤHⲔ_3V~̅nԆ]Jg;Fx8^Br;s䎽z6CC. v“ 3۵?p|g Ʉ#(iZ+"Q@R6$08n)eM$zgҡn gwgg+Nzw) 6 x@T}F1W;VWYl#v!0s08TL\~[GE\Uv(f@OA&Xb,kS]%Ec>e\uPHh))=v;Ztv${JpqTׯQsV?JcWчրt{< $ ڸާYIv ~>l(pH%NjDHܸP^>\{r OrK.@w2p>^ Fw{X%e-!>Yc޹*'bCz3a,$%E&cj2(*sg`Q=\g=B]1̤s?A^_<.P;oXr~. |: 43V̟A7hPU FUH* A(*6 -d?gl.ng{ |lXKh_ F>}>V!B J$v~Rx]ړP]?# OE0;b0 #ݰ> a 睠F2 vf o53>? X7AnVM2@:k.L),q"gpq=/c[-̇ Y_.2qzpxȪj04/^J "?mҾǦZx?by2UX`Tzr8Bѣyҧ4gn#v8Pŷ`]QeK(*7co+mUsQW1Z{`%ʤa9*lAoeQT9ڸq *Ċ03[8CMthlCDK,8ùqV[q?$# `;c-/ܥN[f1';r8ӎJ<b}O /,Cc=A9@TLIyQb+rXEummwwsQF o3 \r2:;VٔDam`Еʋ,e 2vFBO#Rcj"3ɸǸ?>Ka` eCLƖBd+"/>`H8 r7˕2pTALd* ga5Ԣ1\;zץZ$Qm..9OUG$iaI'yib1$wwc]4voo.pB:N*Ԝ䞚WIɾg 57Z UC _}5}R2gjaF@/éiS#RmsWҿ|%KKg_ZmcPRtg0\TQپct'h5UQ8<`?lZVWosw'.>KNH8Ry#Uu qY:hГF0=:ԃ2 99=(z8]ǂNsZ9aۨ|{|㊄1;v$E-=q֊4q'|At7Ba>s#yϭ8:q*XAA#8<[U-Ih0:f i돔f쀋==M=Q(1sey^jpNe~?Wlo8^Axy}u4Ac׷Z#`՛x8 \m8lo~:j sw튟r0qΗq2zrp=W>?7A88f+W IkSkM2]NI'vNќJ׭s*ԕBJe' #c,0=΄#*`ϴ1i8"\ⰎRN,͡y(ǔܹ̓0K#*G#}UB$N>rԎֽ*5Dx؜,Giear4.c YqH>)˙-jE# Jd‘=I8qg(^|D.T*rG{w_%lndK<ʞ>qhMjg0nFdv~c8&E8H^rS5:%qWx'LI Tg $ӭ$Gebqzz~5 &LjDG9dR=hgB pԁIvny=0a~*?sK1rvs8E$._hHDHcN m?I3)vґ`pP+` Ic`FG㹒 ˵@wpqSRm㜶ѓo]94SIfX }lieɵ Y#y' s^ǦGiHnQળ=#ۊRZ.,;Dr;H NG ڲ~I Y[sQ(S}=<bOueY]Og#x2E)ͬ)SVyzwW9 !DLJ79qL*W2JA*&TM˻<`vn7ۤʆۉs=3\ƁȊ+Bd2 sIɧ_K밒)`$!=95;$bI>m Z@VNyd&R Rs<l;|0 du;RL,\8 ngsa,88~8 "hu v1:)+2n|9%Q=GRC WyJ$1#ק~AG\ɑ؆ 9yr2]$(F9@ '6.VX$98+>TM1B}Sw@F퇞A3*|AeqӼ9B$ֱ*!V?$6dt w1ؘὸ@"p0[2y]YjzEzOZg yET* #<_#kr>ԩX{H)ʯފ8v><.<.nsw#!9 eHB cJM o<=;g*R9]#px+7uB%c2*l k\:=깷;8MZ$fsn8䃞0j#$n<3ٱ3GTiDLp90Ž[i^>e=~Ml~ w9>ܯc`ʑc#*O' 9MV'9*W(-9sfSC;<|c$9|T+g );q :Rz94 n; BA8i1{d~pri<ϺbIlZaB! D.y9zנEX l\"0wu'ZQ-T4m[pi?4>]u{ԗ^"Mo.@6\?$ssUHv.6bܳ)'wCesFϱ(:;\M?ދ,zFЧdzWSm`.?|+w}BIYhz=cn'ý\11~!Is- +x@t?)M㏽Ut$[+e-b8.0$hl`8mDž>V-#7fܞyv'MtQ[v=sN+KzMRVЀ ?(8:A#=98G^'ީ9㏧<(?1NY})ÐIn{q'&ڑn s犰Knz.θrO8>{q Q[L >j[O/!>1ns gs+U;qz{T1>Qޒ%"lcV >' N !%Qmld,%|m$Һ; hR[,Qan=k̶kJͤq ;, 4q#ny'k$YX!Q$uzGZml[%@7'Npjn72>lykQyܮ yXIy xMlOs3=(B4@Kr]9bOrM2A . iE)f3?2 rywҚ-%AȍsUE޿lpx@|JFr$`9R*xRX3B@V0r_Jb!?0꣜瞟D\# *,vEă޹=;USN2(k=?Z2Z~)j+;ds"̄aGtKemrUrq,g\"y-#"W H[TۯҽrHWd[$rYryfqٞ[;_5 pcdlܜnb:9y *wdܓ4sW^BLIo"IFmU*'&5{ U?8gf-jn Q3E'uV9 UU^R2%lqS :nw={1Lliyub` ɺD |6wpxZ0\jS .$? ;`v#lsMuťՕ̷82;3ޱc8ė14ʒ4$1${ivtHk,0&5瀜ޜ8=rO=l\6$q#=N6B;J6^ RBNٓNo-TH._#>fGPsy~~ #gD-w^dv`aa)='#ލӺW}O79'Oz^-C+ͬBONml#-O{Οn.82NGϭzWk})9Fm|LK2I^zZ@/õ\G~MBu¤|"(b9UmK;s2Q׽f5?2O92 6T;}7 3==J+f%ʤI#^ms rsgʶٔuocT#nHǠuPp%sbPG7:{י=_\:ϐ<5\4Up63ߓ)G;V@6089 8 Q\*R:1AmAg6 Uh,NyCLR-'ݜ8"Q s+`1=i["8N3,9\WM3ϷQt]v,Il'.1:}v$H 7e~)k*:=j^Du[.Bisԧ=O=qӽ3Qr3z`!P`_vN i~@@6JDg<(I9S22ы 8 1p[~nѢ|pgAR:=‰CrԮKp px¨SK\` )̜HA 7~ޕ/qv='*zo¢o0ܜ`nzzf8?Ĥ(Gg> [!RXG<lg)ʟ>@POܯC~8ڇa H".Qry'zgUtF!Br0ø8h.40+nd!*(Nq!982 W 96(a_,_VouP^>`NǯJvUFLm<\fAY _!X;敿f wb$9sw3awx*?qGT`N=FAbOlc=$U${ӖFDTYN[$;bĆ\)mܘ g\gR YTGgU'pcʡN2 T+9<`Sz gE\ KzcֲbZ1BqܞPktr+'n#!c;/'bzcppyⳚh3s ITHGJ1`%*N|ېBѾ>`UrǡI~_AޠHXӘn},0A&3nېw(NI8M.eu;`$8zp ѴR.Afcr#_8jZŲ+BAGlrc8VyGgKiw9-aggWؾȆX #^.mK*o)>gE3cl]Ԑ[0Ww o>is7[ 1׽TB( 2qzRoݷaгs+< \) 1S׃V}fFҌ$0O+_y\FP:WԈIjjv2aH}1OiBcbUt#<ZاAՙ \&~dIݏLupGep@ m}놥'e%f0($ݜ`zt]xl{~ny/8 AI\gx3g$8֍d:zd1Вx:`tg88hqp l<|Ü `ƠN8'-Xaݎd¤pXzg˫kw3&Ld0c>>K4OBʌzt֥h /S?Z+Gr8W8,M lXc*ĭ\.<Xp*T# ޸sU=ZWp~6U\m#ۇJ4V6r2YsB}+.I;C~ =KK}Jdk'*ϮICOGy6~@S2C3e}m2A2,A w|T\Mf5aܖ7ñ㊱s4{Q Q9v o\b J`"3"Ì3;@G䖎Rtna@ {S[z&h]#O'z2'wp(uܥkڬ2=:[H԰#sR NգU| #{Cw37V@,Âqdj۶|` ב5H]HԱ$vqebF9i۝1<:pGj 0[O[<ޮ- AIUW׃5NJTm嫅pK1($`p*6Uu9s+x$u['e F9Kel#]q}^OF}G?bɅ88??#=a>ζ7Zw6x8P/ ?U06O+gJ+zzwI x#玕jS%T6#lVoK.U8VH02H횋<|۷} 3{|[vm=218x^#gTfG>]62}h%”q0M1+/$ǿQQEc!Xr29Sff(a )>Πu#N%W%O#sF, XsuhZ))rơ31S47#fYXrqڤh@&e-U7U!'?J(pQrH9CGnoSIUq4߲˨K &1b*0>9n~ՙEg(ۗ'Nr=:0A9=+}$Iې1+1Iv@E2D|$)+B9* Amж 3*1NE1cGzmh%>U=I+OA1$m!_:ߍJ*#b`|P{VN4c6 qJO!-}X@2tLjUmǘJ>EM3?O`Hgo+8q֒aDqE) 7dJ2 J c? [D73#q,:ds2Z_q>;TH==$>[ڑ ]!ʔE8f=p瞻Ya dzT0E`GhF8rs#E;9\lgS¤s{`:C'0?+R7D. $?ƪ?(ZE`6z8Z;!\Ń|]hF3kM?"d)xUw )]4V[` 2/@HVwg?A D63F;ڜ,+0ŗ<[jd\(@!FY^ rwlsց&A!)Qms8E% #nWh[RH1 xWUo{g2C$ hJ5^ildE #۹ۚgy#ޥRVZ7`8*纃hg#^_҆Ƶ2i$  rPہ*Hde%p'<L h:nl0'^()!8Px$`{d6iyΏ 2,vRRW^*m?Rv+#s^f[<.Hɮֵ5n$]h%({@G,9X; s54{q 8Z=@gV{;[vGA׊d pMAB?{5.q3*bW)gۊ$ c##= >V!ԞB Pvd*NHWSҗcti Oʺ9s7 dҬE9%ʦ0{qߚ=..5pxˎ0 ǯLvd.Om?fF--(Fyy$qHs9V=}JMΒ=mesῇjץBKi( IQS֧,t($ AMoj&I8P0<'ߥDƻ|ܞ~#x)== B,j@ rq'Ҥ deH Tc~ Xpܯ_x<\{zsJFFnsGdV{`y'fN l`8) >e\?|ҴUA4?\Tc@*A<L)r L{ gc==* K"9 )zr8>f898r9=5xAڅstc-VeW=zw9Õ6I.g3oh7` g2~G7LS8)l ]1_Nk|)^ݍP)(޾9ϵsϡ1&ebΥFǡ5ԕ)<\{1A#5s[g`Q``p3XGWx)8?c;aJ:o.{[~3l8_ZـQn}$xθՐW+_Z9O}"XG޻[xO:H%<_0AϾxwqFʐU0 }kЎs-lŸuo.j"̪>XŲ0N;svPg1FpwE/9\NuQ¸Jxݽːf_p8z#>\M4"u?zyY8ʏzJߑRzlI\Kq!L8NsTG6X'8;lO4n+6$7ddhG~Qׯc[|Ww7gQff~#ӾvjXL_:1HDo;f[2gQfH]_$sߵZv7XhXZTUhn1uq` o+q8+,ONKȺSOF-آǦ3mX78磓ʎ/|yYc0K6[mWyp3xӧ"ʷf7r"Æ zs]QBfEqk%s6-q׭!Edv_V 'Jjñ|ɿ{r߻Яl}keef؏bk}3ׯM׊YH?" ,c"A2U'vzո}gluA 래}$L&ީI$2N#$`恭ΊB!O!\/|Hd;y;{)$F5T"-0OgG[' kEk 1ee^N#N3Lw$]=)?=[s&N>`Gϑ[7H#h!'0܏\mZ~SeCRŒ9ݓ{{~U# t#+riwhQVyjf1›I zzs_CKA ZxTK&߱4gdJsD TԮ[w`cLA מ+gFHϽE';(Rь~Q}{pIk ųUA zGCt⥱H39.=:h.K!HGOGsԩ?Mc=*$(Pb)2p1:W3=#bz6=!68>=˒Jx^5-Y:lp+~S\PVaaOL$z-=5+--D+o^z UTOVw~^#=O>_ZIe#N8::db #+>c1w=23shZВk$*a-~uHN?:Wc\'#'iԷOc9%=vTcV [#;NsWP{^Wό1fy]i_un N;L1E2Ux 'LQ5cOyJGu$X;^ij Br11(Xd$)TOW Kg'G<x'v8ҳpFv u?F=3׭"+O_nXQqr 2>s8cHB(:#  HNe>GҸI#uT}N9pzN؉0b'p`qڞpğ*s&> ܲ$|db[<}j7)v`M>'6FrP>o.-?*NˎGI|nHnt>CRǬ^Xv=#?cU)hrBO ad yyuԓ7ߌ0U=S:zt0n5?m\`y o<`yD s+pGˁ{VVDl_OVd 6 c=*{;!vn)skryR0sI0d'zP*dc enݐd0+cUr> j6v0 6U9KX4$;b쁎G͂9KcX^aw#zgAm{inEPM;lLyC wV;tUMȑ,&^1JRȾFcV, yd(z+2M^I$0o1 gIzD#xAS-^}*6f;} qpFp;'Rns&??؜ӿoה1'{`ޥt+kr$Y]F۴9/8s0P22 clrd][,pmO'z՟S=fXPyϽ$ p3hl50J@+T!1)v s0xǭC6[|?7O%v r9Xmn%w<-9UFWgavP-N[$zԀ+($=H#F`#(Mbg'gNZ\͕Fb0O=kTi7K6>H^Fq'KSRZw+O-p2dn-ێZjH#mkvVOVkJ#m!(b1?x#/ T45+GݒV%a\nRwzJ*G^__n8{x[V :ZȏE膑S.GN`W % QH!9fQ(c2:Lΐ%O׶+lwܴ;&;U2:8=.3]P)sۮsMj(ِi+^.|`b%B+DQcpG9b?*kD)%n8q3Is;~5Fs)+.% pqdv=Ңɸ'WZ%-SJ..u*;$fvd9A>eHޓl´"_E"I$d6wzv.$ d3h\ٷ'ֶKMNJ7I8M\s˽-=")FUv)S'2*e 7FdR!lyhĴҺtpqG#YġTQ dhӾx_8]RS41s98m80>Zz\u)rNx6LMјV>dY99^H+nd4"Y7dyΗI,r8'p^\ڪԍ(|L=57ްasd>P1׷^,B[@TO-@:WQ-{?C5i6n;n*rH8zcked:OvU\::ëA35?x9?59 9J7z#Xrxc=*6?F=/MOn*[/j@8rNxPA¶8T+f$19g.pۏ<vP8PF' Z$d9q>5I8!FN{\"}N9}Ld`)9۰p?OB@a`8;1OίFq;g<$i f2_rv.Pt֓ؕFeB* A;j< $Maڧ_lw$Y|=~E8=y!VG`3J.r>tOdwe_ i zXpG<gs:}zbVo%I { 29xܙU9@HV% ۸I+ zc;x;chGؽ QLpCg\VnaA$gi pP#2+ʨ:X jl15ѱӗVϩ[IE\~Z8|7c>_o&$U ~U' g{ cj.єvUP$#~x϶k'ݍǻq;F ԞN+H*T|$kRvn8<*eWR{h8TH`9%ǡKn`bD^(K)Awl9$vlmmm^x=׿"ҺoSh WG^PJ`Hn1 JUXy@4R$; Yaׁv|v ,Kpx9=iu)W]@@ےtZX~\,6P ySe!G9@QUCrqNx0Nv㐋Nz Co#!\ ̹%W$ѷn?6MB7@?õ|M_ާֿwC]wc%$?+u 87*A*pJJ;MYoت0s7e[(a~a Mٸ~Ϊ9@k.8/dNBͻh$L `To$ۻ1Y|(9:0tn#[ V5gQa3RY^M͘dRkn WZ@. ̏t]9E_qN!5ќ.)2xR;ր4Qy^D^g[WI܎3=J׭r&2c8$@Ͽ\Y(0`'Ҙ˂8nH9[''<ҙdps;9t #c<S2,UK}_ Kg$ClXƘ|BzYn#Hsތ-+=sZNsv+;SD%#ldR`'96tj_q|۱n?{|{c֝+qHШL2U~bB=J7 \zO>$Ѫ I'B HRN7esG$*'،pph| z<\|cnU1F w6'J$NrXc xuu~o+ v`_L9ARq֪]Noz෩p3֮vϚzqqҶE?z .1';A\rś>SQ|B,nQͤp yɵ !;>A'wack?323r>l@Wr~Ue,ɜv3V=.ɀ2G1$ zǥa;y~PI|?8lHjpZXpFsk9M˶8SmsקLղ3UMGWt$QŲ~m!Klۻ#9 WV*@>T`0Bdp6e-! nߜ<ѵ?3W ,SMݵ/5`O9'v5,ce$!Qv#xktؤH&3,!NH8={g`8=@>]5ܮ2BZRirfﱺHQ192a3WEE u}%V!$gsۭVc rUʁS<(e 9~qpON*wIwT RsSiÎP. '8XM=:l/AD;})Ʈ2qR d~jCキ12}j/ s矻:zjz8a*àT($!J_7wJ7pGW+`Vݖrm$`rGٮKJ!wS:qϭCaY%@wMT0*=VB;d!l/#>1G7nUnFO WDg5QbYfG'bIEm[u򲼝q*=CdAU*edųBd5mOuҪJ2A5 \7LPgZI* lbq"V…g #9nLhS s1vȤH./ >`qˉrGި, "]Չ!P69vw2KAvc#}8WeN%/WKrqT'zJvK>CD[r,aKy2jA)ލ$2?]n 1Ѕz9ly9*{|DO8fbOL>.K2ͻWLA,ZD9 2r 6Oz_(?A䝸r@⟼Ҡԋ>XK0=M ǐAzp?pcEnI/9V3xZn+qeq5b.N{ 9(OLH*_RD!$:tn+o2C@ҸtJqnNT69P#9~x{W&oBL( }=>۽6% 8HzgTDyyX7؈>qOᱎ9)I-COsڏ G?rBҒz.:#[3V;p@*ww p:.1 Ӡ7kۃ z=Bd= 8lձ=yqZ=N}B瓟N޵)-NN8oOPB}F{Tk8ǐ}Lu#8:vԴdȥN$TI8bǠ ,rKz6o~Ƞ+A#9֩ ?)\.NyejAmb:7$`gIݓfgH lsCUo093z_#r`vNxq(^yYa8fB{cZj+Ӗ2GHnD'qN}\m=J%AK9݉axN#9|Uh۫7 ㎿Nnc6Yg.,Yr7ڼԑ9FN1؃A$N^xKseV`FePg9JJ.9n?۹PGP pV>ޟtƩֹ}_rb%A9vO'K}? 򩎜C ^,jW< 4@pd#R 0rF9QGOΡϧ.qO99'1Nמۚ9Ý%AV]0Y0rCz؆f^8cvsh =*B^qiAV\7QaqfP9 Oʯ,$m#=*qS)"BvH<#@>cW8=wp Dvޤ:`gj DOr@^:Vbk; xSOl6|8f;ћ` rsIA#9] I&DΔj̊`*>ӊM{Ȗ0~. #^I&m 74n[_ I#T(Ppy J뭍(r>CáWkRն] F=zY-ϖ4UB6Hwӭ.%i+7v8 G*z˽8VQETENҳЭQD6. b4'$i9(lmUIӥ%ՙ%JrNf 铨hE|)-R.$ʗIK4_7Q% Ghդ pǧjյzI7~hgۿ}\Fa-ZBaO-x-I#\Nn.ddW$G׊$ޝ6њFZ-?mr H/B0N;g:hv43. "9~spzs]jQII_ThR+7pyzҩBDY )'?*Q4V8H2_ G w~I_Q{ha;a$@tދ8Q< ۜgkf45l^eGvyfDoz[W(ܗ]999 ץHlg֭u؜(30 lgJ;^1N׿jf:tA""zw?3gznRcc]0GׁWOB9Ts:ɞ& Շop3UT 9'~'޳J7p[UNڹ:ED(iv$I1ӥjKu4񈤚WPW&$QURp4)hG$OnTdH}* ;|;`~c)^픑j+` *7vV'u;N{rjr|``#<x{RoG&?|;@+WO-sן~^>L*p1>Ίn laZ}6#}@uۯ9ZJ5r,svs[01y4_sr?7>סKg8s[KqPHY鋞CuOZ륊jJ3N멙-~0A\FzO#ҸGL34fH_Yș x!0uv<|N kd-MDi؄2sTW$Ik 'ڧR2_ (z^b0KYeyQЯ|z=lTEcvr WB9eM= NЧw@zOD60mXM9JG Vg )i4 5ĤF̹ʻy)݂*Θ|`689\oV(.v?Ke۸!e@I9VwcIuv"fMOPp9xm|<ܼU&CB9rzxڗqe$dqF=8a: K?Φ99`L~pi(l. PӸ ~):rx8`Ž$ۉڠ_H]L0n =(b2l q팯9rNs88 8)̅<O\9<-ٵr8R;U [S8G ӎDcNzӾ~ :szzԃ 8q_eq380Ǒ㎻J}34DYT ,Ǟ1ר㊫'*8?0l`9 zJ1Phex븟Q-J=# TcI8}cgRӫ(.NwrAWt.Rgh B9f˶Onې?v9@py9lr9œq(\ Bdgp^ܡ7(# r{TifP;sS HxvUU=Onv<:sg=g4K JFX+7'{tḇ$$[vC(|TImAͻ9# MEqiI A!$=XW 1]Clьvt", Qwp=Okb-:sScg޴$Q$ࡺT#KօkƟrkyNUu;0Մt[[Myf62`r>e9!;tKE5K[uX㵵#i+d'񞃵qZ֤\/)TUo?ps~vcRyIz!`c#gIaLJS&7L~C{uq*{鎝cq94ޗ>▗ӱ:sv<~q|0גOVεl\yqT0 )֕vnDnTzרz)-Y9:TTmR2?u1cZ/="n9Ž9<ӓru?_b?TqӾyn}_6-PzS[82sζLtQ" gҲ{˜:IE_%FcxH4眼 脐t > :\8b,gQz͑Oz8/Lqٴt!xF>@62%νZ\#$o?S6"Ƈ9Ds¶pm_¶rNpL g |Jm^Sm*7PU;dp??.5f2J<^1]cesUySݟNY(88 Q@?Y"*H vܿSf,#UKqm\nxy# SP 0 1+zTd| ^ҳz͔i`YcrUHަl&m*\*weZ6yƥ>q>89 InXt/"BT`hw1M9HZm?QP >w.{f3.] #Ouwg:0th2Qi '$>2T<ʒ(J<zq.<8+nc;y`rdm?9ʒIڈ݀s{4|X8[crR;͜7rA_LT4_&F``pe9UI]FJBے8@9lz](pl+pŎIsszr0ܤK.@F>_N=+X.F| {^i[ 17oDjoBK%2UX<Łmz (@fk'S$1I=3H-"0ۗRprJA}kVؙp|' NOM; 1|= d6Xb==Mm• {V?|pTgs9?W J u9?jXky]Hڇ!?9(AEz3֞n_O#pvhY08wC7 aH=2Œ屜c8I#O {p(`FG?u{ ވs6aO9ۧ~@=I=Bя=) XnFUG8N~nbwccIz~#dAwY'@<+U%<ϏWwUݪGrwm@GLqXXV>13pSp8o D[ʖRg偃2`J3DI;07x$tMl{*0JarI $z8 `)븐pN= SP+ bG7nQӡnc3<`. =>bu=>H {;+zd HEجGDE`qjی(bt6W ٴc$c<`Z숒V- O"* ˳$#0LJkU (le9޷| t JUa_JJ? ^GZɮMGc HApzqYWcAkwn2푉wr<,-#TKT5tھqu`|іçOtrjm-2#l\,g$ݣ*ww)۝erXsJ~3?d{+ϚKx 1SԐqn!799U2W{ w}hs w\~zR,^>ޕm9#㿹eqG|9ލœ|\ӎǧ5ŐH?ʥA0x'sRaN~E#p aN ?^XWPG{Z墸8Q{w'TrUy!G;$qYm '~V!#gz $UG9jН$}hPҽN,G#ל=R[A<ҐG<{~? d`Lb8편% PzR5yRq QZ[(K짒x c HRmKN3(<R=(h(<*cSsqzilk9#w}F䄑w##mv񨟚3Ʒlȍԙ/^)ڼ۾_+'ja~VK߲>k5eWəm`W̊H@~Y'X1!9D~d*0z󜞕jI>..ݙjgpn(wf! ?9<#T7Y$vu5EW4_BR)$6ve'#0qʞnU(ޥUVA8h@)hpOk|g8U9 [I*ಯr!kd2]c>\`856>VE1ԾzgkH(dln!W $Vؿ468FT L E,%mu1I`p*,BϩGE_&s'3deVR8c"WnA3D08'Ϲb% Foa'A܌:FyS)_ Ql0 `V<-%bGe ;MhOPf3#$ۧ8TW YL"sp@f' +EV W*Wj3Y#6T*NN2Jz˚h1]@΢F+#=i#hF MFXo'{UG2bwU!Q3L$\UxWUwsyN:ՉnB]|vAF]-@Z۷] ADIdkmM㞕}<[yy9ҵ=WοGh#aNC`+ xq9e]dy;Xm'h]>c1쏠a#&l:tD 0|:|~\<Hbr FFI}o72716kEks `$XqÓ=y{W1w*Ŏ :i$r7 q/Ԃ W!tvq@+ϭp%qm(0c @ys"Wgs ݻiONY_{4#d)Br6a}Hm=M+ $T"A`߿~v-Qqw'kwTDrym"Tt8N`G` .X)_ OA׭Br1;S_MnW_K J }wTcx,X;w m#jc(nrX 8#Q =2)K)ͷ?uYczYS?69y+n zgJvD,N 9'OT2! 9-Vzs7"hR9nz淭QKݒ6o8ҐKoAmwztf&EooZGoW9U@##io .Gn*2q'ĎHʱ_m,jRz*]VHJ#qHVcR}u`pNz$zXjϰ]8H gܷ?Z&⩻\ 0zI>akN#Fw8 AȠk>xiݒ!hVzqVôefD`c?\UmEVFA8sX1fcULO,Aqm|Cvy#qM>X6H8b \[л[-N%/æ,Yqq{]deG\+Mr*l8ڬz3⣒^s\jׯBcZ层p1?0q,@}@# ׵=[yO6(,w\Z2!iL SO[ BrKc3lPsI9ȩ Y. V|0prxgm Ɏ2X s4#NOOl~u< ce˃9+9.bA pҠ۹VħFn? >8S8#w)^6qF:MUiv:aR%Yۀvj#"n2p N>+*XcT@1VqjJXC | _U3>s$Nd_Ϩ=/AN8n֛) K'hO%{v~mghU;'<}*ᑥ[pWۼ鎔*1瑎T9*ϸq׎(k _Q\`9>zNahA&Fpp2G9'Ў4qv1<*{qB:|_PqsSJOHbIJmJ(9U.I =1SZ zlWx6r8{{zeЙnBT -zrGT#1$85QTPn?x>nj{cWR^邱 Upy'޴c0XF?*q}!-(;v0<+9K]CQlYCpy'm"y3UКD-ilr qԏ^H>H<r2OAG<7`cgAk|\wK瓒1~C!)*W8@.wܬǮF ٤&7^Zx^ g;j%ʗ6Vm[JΠ r#ү6yWR:ٙ8jZ:E#H Ur:*O@@d&o.S `z}p:Mn<  R?IƸcbɞ)8uW1H g%MȊQoa,Ehߓ {-b8ʖ#lTFzXr\H6p>a;:e^cs=7;P20853IϯALf'< pO_\lw7^, yQq\ nyֱ*8ߜ|]IU3p1 ϡ#jo9?:5)ip=nsޝvtxD)ۑԨ N?ȯ^tyTjQ֐91:ڮbq8?gS:r{BYBũ0B`<5qQk޶Rȷ1̐+0ɌH HwG3R|#x$hSe51Ve%@j$UaNI5Mo:  ӯJxѤM:~e]CZO.xcqRU[\0OT]܄یӂkRI185Rkφ3XFree~2Fx<<\%@K\ί8C q

ۏ'R6Irb6d#Ʉt-Ksswe=->:fm՘hW+g%pxV{X+,[A 1zojeQSodS8ugkfs\ICr9;_gXmJ쮊F*.1=x3HQx_ADJx2s  9zu))cCSM~'r tKEn 2G<H ' {Un ʓ13odgjP 9&HTf-'2HI I8SLX~I=3xw%q 7>@F>MBʂrc]Av}lO#8率;pxVLw6\qSH^Nϗ8Oh` HwSЪf9<1בRG'^zzZŀz1})ѭd0+춛qa\̚cĀp0`׵CvyX-ދrF~TۘےFҭ*Xt &w9j67W{<ژ)8%Sl0H'=:?NE^#l. wqNne{a\[\4AowU1Us=I5e'ĻV\=>Хwsʞ{ki!3q3 BeЭq]YjbHUPV+AI4I8۲hXa%H(qNCdcg*[61\Qiv1'uVf\΂3H$d;)##&,IV `Pr2p[ūu0).^Dmi3QdHlIU#y~hʶCgڮG+[E0'N 89'<O47t^V= ߯ZQ I\tl'>1u ӽIweמKm8p2xAzЀ]UAG!P9{Fh\:7P\}; u I?9RG˕agNy<1vF;pq*@8 0lvO=Zr9&#=9 av#'ۥ" :-.O cΑ QֵU4o`* :Q] Hg}"*BŔTsҖKU#-3: ++6Z95 fblڤe`PvM>TK/>s*Dw.Q2={5>n$8n@+XSo+(9"MH|==ܠyLJWiW{cp*Av8Ũ=^Տg ;Zw:9mo mb3s?uvlHǑW71b1۞(B ҥF8FCer6py%Dryy7,1\*x5Ud\qsXS80pEU~cs%@Hݟ  TdRrnӧ@?MSGFv`u[ЩU%}B> b_9qo= O3`c~C^f6q: X&6&K+lϗAO=3rHN˿;zי\JBmb`R:HXh3ʩr;KyvYHrpHm1yNK!Npհzd0=+)? "A39 8w[  r{ΥOK{\#T9y=:ƻiZ8.|Tay(oF QdCO7Ɏv1y Y7ǯR4O՚yʆ0 ? dXRH);P1܁Y+D/2F(럧yΪ |$ONCѼY\Z qe99 x 5F9'Ў2=DpY0~\C^v0-gӓہKw@#hq۾OJl!T &y@< ďE+1<؞掬7v\ 0}gXnm!2sf-DArHcס#5tdve=_I9psP[-qbHPW ;|J錔\O'yFb6R Nt\ji(p n6K!r8<sc}{T88 8sǿFp<#J\63RcC8%5.y%A nW$Ub ۻn7ا'?ZϯH vf8w}@GC'9B4]kK⼏SS{/lm~srdi|FT;b E#51 JpY; p20:CNNNc u0zi)r%$n`D:( y՜!$ †<Hg^:*\0m*\8T|WBڻ8ayL,oL+ȬC~l8 jN 2،#ȃzzrkJ{G5Evq^&7Yfeܧ0jԗf9T )qyUɫ[qNKQPyle?.A’z#ћ:?ݤne'ws^EJVñ`G{&dRn+dߓA?3`F ;U[o'&P*`U2v:a?8aR5Vb(>לzöm4dK 8HPFLqBP{]Ϳa®4JW+3ӯ_ld._0ڪqǹKxyBpTXԷѦCp<ŜȬclBO5n;nE#3 srMTRRn^Flu칏`tA?VYb39Ϲ.t[$ϸیT'yֳkTi}unePʷI^Vk3PwpO$TKFN7RLԺ&v%pq>Cnڹb:娯&/)v*KnоdpN n zm;sLIYq$T5pGbCŒy瞃{#lp~Z'=? jH"nގ`sY[0;t)t-xxU r1m>|犛jt*#BK_OLkcJN$I\d$uM'5wj:n|6V vG?6ppcFNi{M{ʤT6o.;zF#v=1# Nz{Xw.aAR:#ayv6,1I㞘z<3([20Aq*JۀS>ޜUl;~6Un95l\z6e w'rmKr} pq8e?(R*⧿Zt(e9<_CCW|дL$R}뮂Ootx6NOZUC2*.Kp r=8H1pRŚ#`$>h ӑ޼ukdž5>.TEn>RK眞}nh{_'ciM(^؋) xH%*d;e^{ۛҭ$aռ܆(@A犫]|osiʂ>a8ޢ|HTf%W8Jl/2B9m Ad+H6(R\h0j?H|xZD0n$+ݜ#<FI z s(/Gϒ1oFTcy\]T3munW (B6NsּF{h-n̤(_'gǷrNry`uolu9G(2)32JCvy3Q"߈ʲ6򪪧Tr3֩3- s} ao9'{ʔݖ n^qlj(Lj+i޹;x'#$*FTt+^Kb井-͟ YFG+8ݜ+aT/pMJѱ R"+65O9UUHFm3{?usOhhAI2H[oPW;$v9U JgKci8gK(`\̎]gOrE6D#f4e C {z\vn \Vo 0ccf/qN<afSOLwlܙgh$28ҥ ,r sZ3./@Y>PA-d"d1n|s!umÓl}ïЎ+39DO=s/isޞ%srq~}ˡ:&좌Xjcr+8iBȣX6qC9#^$vKq] 1T ߟ\gc^sפ9F{ Yku$sP{GVĤn}|ޛHe#(Pݎg#9 !7>0N9l㧥QYI+0%83Fx4ԵdmZ[)!\Hcl8k[T$7asTJ%4[ċ} h|eHݞmi `H<= [?Ldӽ9U^);ے=J# 1#A PsSe;eglEzcR/.ҠDZV#,gߜgA-H W,pF7>z?!nʱ%()x=?Oi%Yr>KAG M.wG{i_ 2?2;x9ϧZP? jrJ/Rw@dpsP6܅NGf)'; _zgz ק{ |GF^7'R;p ۀ=Fjl<2}kڕAT mA]dR0Ɍ7nEb٢gB/T}~-ܜϏzƣy&XHI /s#d*y>eQ#9=Lk?F H?N*fqqG~4:a"tX9)z?Xcw'?m q@{6{ʃX6:\Áq12;ECE6(-1eNA;˒}~$r~P>Sse'[Q.@ &Cx]a>g%m}zui롴ByYDRddcJӂ+o6#8=N8"Jv43 }Ck1H ?J9eFNlYپRwˁV[y"Dͼ)޾d1 JA'Ư 1$*z|"}oP"8@!}Zğ bsOTˬU"x Ĺ'?<_%Z\P @ [qV`#j J c8mNHazuЦ8Dp9{g50w|.,ɁN2Rm}K6&I-d$sϧ3j2ڸP~zmքB >W#p nwrÃɨ܋8*v< w(Bm? r.O\Ė'y 5+i_B坲@H I唀sVuyfrKaAڴPSU١g k,IA@uMكsnOQY5c4)Z}^~gv+[,vp8nyǠ83{}m K"hg-]6a' 3r0?oeg׈x?1@\/Bs]^QNI=ON4؈PX5[3+ǿgd|nLySs%I+ mJ^u-s^(k }JnWmb}{mN _ 2Ksp+oGˡIרּ1 r|n@UR f}I~t'?e+lZ1 9}i*;jϝ)0XUtzhG$?q!y`Q󑜶B0{sTFв0NL׮ozEPs{GЂXqА1U8= l qܝG^=ᚉ]=J``iNT&Yd$+>bO~}j陂=O>q2t{.RЉec$_$qntNy!t$qOQUTlcŕאs>IP@^g; }+eݘ΂n=Op99z7fZ7zY=8-0d?O֭u; Yí]<]&TlLd ec#Fx 9/av0؞ZU^yLilXkIs#VuIvU⿲ P ; q$'SI'u)SM+\RŐzåMnPKpz145)-t%qZUdxN`dU`Gs\DŽm}9yTo`Ĩ#zj/WM!r˷eWvJ/ݸi<-so$dÎpF3c9x$#}HB'y<%9%OR' evr+$³1ZVUiںydyku6^\/qs>d}2~V/6g^}[_Ŧ[6zAxGv@>Mt9Q"D0FE g'y48rW:$G7 !rUQ$fE9܄ϸl'`oZJKw=,bn7NSv9~^DBG%AR/`; pG8I8'=A9exOK ) \K`vJ!?t =29ϨEƞ0y?+_+߸2 қ+`@tɪFM1`Ṇz}Uq8-3דU6XE}$Y.1 HHu9=QՐ8'۸2 ݎ=I?,Y: 0NFNq+^}`?=awpy?Zȇ+^w3 k2ed #'$?:R+!\daA# =e݈l+Ǡ'}qΪwX2Wny铌_Q{#0xLlB09"LolvRIR34̳)e%lÌm8dvb̮TGPxI>B61 .3 qϧQhd>Y<*6OR:f.p˺ EÀpc#?Ub'bE]Ėg'zPKsjݜ= @篿=+2ha ocy0qӋԍ݇yʪvF$Aǟҳ,?ϗݎF98j|[jU5ͻ!ޞYf0D#מ-xiFX}Fzj3!is*6~tm涼l[( NNq N3Һj6Oe"4b ` }N}=#$)9|8^:로E99\ Wr>hI *zqy౜)?=O3N$f*B9J}q3V0O P?w!6I'fMk+kjঝ/$BbJv]?.OsS>@~B/-3+5%x5n8lvxL"dtV^7Wpvʡ;zSi)&#$ߓ5[R'DRH1OQZ$*> ?tN:rx֖LC&)Y8/ tx3׬b7iȈ |cRiRZf p *rc#x ;IC|q551k-Cr(>R)pS26KV @ jD݉tDo/  pwj\!A|,Y ϷjJG+-Ab!} $%Xn[܄${b5}A/#pFGL܂*T}"8 @=G__jjIšv1,w6у4eT{ 1׷n0iؿ8FsiGM3>Z_:xƝrl5!x"C =+GR{ppۀ2:mjOawl?7! qrI0jPNpr݃rpGqIH~`Fx\}Md͹ ƑmT#i@: %+mPS89w;lZq-t39F UG:{ZVП&53XV$!O{Vnص)`\Tm.cr$ۏ ^rBUÀïơ;Vw]n0Auܪ)0j_462jN`})Iν@۴ݼqנ85[|i:3r8%zRi쟡~}k(D!?#rO=P;gӭ+|4ysVI(UvuX3 *8裃~(dtƒ..;t[ 9ıc~Ea[N[x9KFs4 >v%psOC0+M$"`'Q_%:|_a𑦒…QG'#hַ&P n09߭x1bfXCbp@g5 峒eӗBĬpKzx$F} Inbr. {:\/A\W9Ѹ=z`S+^0A'^IOWܫ%ݏRI/nnHP7#tu# ,*@=utsּ}KKyuMS+pSQt,z=jʸ 0.V8=^#vm.|m9ٶƒ8'?0ˊ[[bpOȫTSxM"2$-ێ@9ǡS}{t%]6@FY VK ~Ri=nֽKPIJ,ɇF {x dL"?0m ԥ yKY$oTcw8^=d5e3ܤrp+jZMy%x;lMO|ěo:1['".56Jc-._sH}Pr1ڷٕ4ԴϪYxHР+&gGF̩#ךd7۠SFiGpy8Ay)JIC&|o \hr;G$mlf0HCg滛+y{GYVf;vr[9$;.UmM>?ü+Ն0#pnZ[R6 9aGVuvn$@8=+9CUmCI0\SQ𥳴ޅ\W?m5eG.ڱȌ$pUsWkxʜk@C(.Ոp`{נڢ'YcW_|]$s#R@_j"B>\([b1gTT¦+a 2{m\Li!2 K㑒W#9Ҹ[-99T{i[qOY*7 ',GO]f_ܴ,{zc'j W*Ow*Χ{S[Q Y@˓8랃 P|8b: >&IxT9#={uM߶H~RI\JxSNTڳy qaxY$d'I}{RGqFH$2 N7w`KP1 rH$=;"靠ʝ{yW9R1c3vH90}sMr9$ep:qjfRA1v{p(0#.ݻr0m92@su>,p}=BzT?ͱI ; $w^r1[Vy4cUʋ;ET=Iegj-rrg8:=3+pہ9BJԨ9 slt0aa(9ʸB ` )px[nHVKʂyVm?VVF{`*͌eBH^A{P>Čdۅzs;qY1e򫌑{cVanф<>ӭTq˸+{t[ȸ#r$~ǷLt_ Q,9 n, ɢ[Fry۟Qn1GUl}ztCfSeqA3^Is2}hkoH728pqR|8Jh6hLjac^k{N@@B2A=j:k˸ev.zqکiiko2-dy޾$d=]|QEv /|):p@+ɖXK@ĝ%$ c'0kܣ.hkjvoZYUVI*z Z[&Aϙ#޹ZϸbX6Dwxفj9eKu/,,E%CN;.8g̈%CGI0Kc$W_nRAzVW$#uf#9w/òGQğҐ3̨̃}  %4$$'9?Ö5HRr9g~ bx=9Nj12(~UlcROwco*bB ܑzk"u i…HCbI_r#<}=$bRNWnw"$1T# IZκ1vcAoH!]yn>%±|c] |W^G]9n 9^}yYrKcmw.;cqw=$Bd.d( d0p#R,1ʠ7BoRܵʸhGDd;IL=sU J1}G@ M#ݵr#dެz'P~0BKy?O=NrMWOrJ̐ -}uP70sr];QEWza9?tHF8Ud0G#b7pv/э u2>s3ۺ Zi[lXǒqѓӯ^iXe@9q7U^i_rDo <}p76Q{1#\qAw& $ܻAđ<2r<1$[w ^ǧ{UwH_ 8"(pI <.Nhelмgxg}} #!J!nj^vv voO=*78 pކ-cBm]ƒv3wTX˴zc V.##<vunČyȊR:~+.N7 Kkq3;nHR0[sPq.20qTZݿlX3+ |>ӡ<* a3I'o=3)KC$n)lݞ'F ,{YAl6ݴ`ڣR=sm''p9y҉1zy!P3mlHH!s݇J̮O`=s۞wl^mɗqIbr:ҵe]˕%.?_' ?kiJz`ϱZV^F8RyB*pY@YO9ćz{؉EɄ9$jOT',t9#օ/gg`d'z-3[pO|n G)JmCd r$CV1*?t K_"ޚpO<_ #$Hn)wm(Iۿ'H"Fy+6YOE<کTn3F *#,@?z~T`(0R`s}}啋r:Q䣼ygj-נ~5\V@(`= 9k>e_Fp~z̓Jz#8=*X8}zzЗi̖ۖ$06ĎIAqTTٕFrA9TWfSy찰v䳴erÿ֟ϵ1pHvqJ͔,ڹn|62F\5uD  *zOtf#k. /gP}Mv"w\uQ$ٔϖ i/ێ_zcp2'wU$RVZyQfl gզH€p{D b d9<-Astm,s,0]UM׾ .>g%9kCF7;'i [zj;rr;q>QƒӁc7%#uTqC~'gM!3>@=:PGX6vOLۻ$c qx?z!>EnwmvO4 <bEBޥM 䱓$pACOroV. ɜr0I4qI}{@6afFH<6id6W!JcIuNGFlxUe[b$1|`dpyqR(|8f-/OJhbɁ9o}>,2|T16O`j1M̎cd?Zo3S6a+߫pMFȲkn"c vȹGeaMhJ&[wľ`!LuK3UI낡NyV!T@ŷq'{ZXIT91'j^{:x"CWR@H#DuR 䑵}i!Q< GgjFs($o4 FU.Po1d?([S'!YqOO$k9lAl-XB㑅ꀂP8v'HhG2Qg0݁{S6r8 A 2I{^+6L+2n#I^ms8݃{$&nDS91sM^A ?ʹn\H~a裦1"3H$ d+65 OASw/n qA壷RJICOJA q} RZIdɍ>쑟:֥%xa'#,@?OhTP_9H^aU\(,y?8y ,f -.A`Ү~|rCq`6@cܼ/# >w=ER&Cr968)m6s襸&;Uy<݀BR BoOTsc=FPp:t*"(p{lt8o^>^5 J>^/rOcNB/R8;[g=47vsw>c`{'ӌbG G>܊ǡE 9$ԜsU(UPqT k6K$8cj}jumF :4w+k͋w|dקiOy # tBEцX\6we1<$b7: |RcEB 8mִaN?NNyy آ'evmFgjm;N9Jf$+co>>Pv~V0aΫ.qMQy%P.IJnQ *MY2}Zf=&5\*`Ign>TAW;x` =?N<Ƚci0xbW9 OZ>؏$刢lu#ߚ"/vFd3K aI=&2c(8)]+tCaY9]qA觜u&qas q M1Qg;F9 #tW03..Ns4ԵirwH{.dn{8 7\dn2բ$ZR]%ڑD OpQ5Θcݛ1 {g{|㣱w$yWp9=ֲ@XyGJi}\#%b}OcWŧH~;Y3p|[9@P|>yUe1w|j˖-M˅Tdwx\X,$Q6>__FI~#Ux@:.z$:ԃOלuÔYf㌏2O>1U#=wz'aeh !c7a8ǃsj!g ȍI_#<){VO%Nニ`kw>)x_ڭL# 觵Zؿgm;(`>wye$sV ٭Y  8W9=)w 9''׎*\uʳj,nCA }0NN[rc+mrQo3\zڊn鴟J#F!{팥Ap@sOҷ-[u6g\{c9^ԬfUPDl.shۖTn]^=릌ϕ71&W8 ?ƭ.98_C֦W t I9TȬxAo=*@hcVU .p}R>V9_o??”[%L:.ͤ`:^q !P>omsO"'sHnyK98ZM"2Em.iDpQCFOζWW?JVO+ӥ#,9[W)0eyxT&Xy26^@Z5/k\)Ӕ[~ͣl̛v99g|<=1R x_Dk f>PxJ}1.31{Hsx]E>qczN??ƣhݞoq75N}'=08m` xnvjNh& W,}:7w6YA?tݻ>'obC8< w? gq42I;FO9_luZĐ39{)9=)&ˏ Oln8Ϯjx<{8-X#nv=N☡UIy=3s<`àhKHB6 }q)_K2&Hv\ &:BI~I Y'Lw`9 zߧE&̱ ;~BBvqIVUlc9*wZqyr<|cz(SWjmlq{J.̛oGT6.?ұ7nv\ RVfVgpR }+0T/#vҨ R,HDPR~ BO? "OIi "h-1ĊnqtdݯNvM1bNw(]>^NzqUO7@=0:Qy^@ĻӣI3d†#G ݫn82׭GV E1j#@e\0q# SbU\|ـ1Pu0+/D*15 :7aXF*xVGL꤈?w ͑ј^ cSp~SWh8tuKיnٰ"VB3[q_2"Ɗf r,=G+Ӳ[eǛ2Ѥc/%s\ND2He6c `x Yht}ds$qyh2Q\#df%vof#E_ҞP sˏ?q猧ڬ>: -npr9<]8JͯqM'2վ"A\@=jƌa02ByyfU< kZF4qAKszL>#Ah ,H*@?kcKF趑 ³k.9v&j Y8U\M|+RJMݽ>3Ӆ(h,\UQCBNѷ#sNޝysf6-8vxx~=*{(Y)墒啘`d+sʵbSKc9S$g~5oay' 8ƴ>8R> cX2GTqy qsBeI|͖zga@A sU=AmGURt  9(z}fvRzw)Gr2^L'dMd0W%s+ɮ#򣷸*|Qѝr+h-}njjݭLF#ǜ;*m^ծmXҕrrC־+F=CqH^3O,YwVY2+Ѐp+5"fo2A>G;{{bs9gV?"k Ew$re@DӇ ,G1^I\I X! S#@q`1e)?i";i$HZGu"X,<^GHBr{\evW/DOץnXOr,&L533,;T&^~yusIѠWd/p<. bAW4Kly2a[$nuKS3QX/@pspݿwr_猒@2AtLR ۏ* cjvn2 ?0b_먑j$r`e@D둖 k Kot>"I-\PH0HNXW޻ųȡ'pa#K G Z#զWC޼?XgE c,ŁUy=Gc_Qh_`^wsHc^ 8>;0J>vڻ'p֩OvO ^}ӻ<3"2 I'nw1<{{Q7qEXy..E"W(F{ֻ KeYʆHV\ʳs"'q֭P_ސ{Fʹ. `ǟʼyo'P$X]8xϵURZyqv$a`>e.Vc@ 'FuҍhNLb%d 'TPrUp7g= @8Ad> T|19~q'_'FA${TXVu#joGy)u[kxnyPQN7* Lb6hp3ؐB}㊁A+n ͞}õR!bN^G.z?rc]yx8ު}S=AvFYIss{W-*Sx߫>By0#`pH:ߎ ~v +?s.pn*IR#Tm|H ߿9u].m&FE}:{օ3;h=;lyڔ(vÇlp>Ҹ #,J)6==] eYZX3pclarpr}뎽Frc'hUFm(5bm'}ZDZep>>Ԏ5;N2Ė"f%Юnlsԛ>@B8IM#_m T瓁Sո5 lv@V#`c)9 M"b;W97n*v9s׿KUʅ$ҳ_8'z=yL\0y9SrW2l;r9Ƕ~?z 15. d6dRsԂJ>5婘EqXq9Ey>yd>[hgG {Mh ,m'>ּ{UG-G}]U1SM0I~u!L`AW}G׋R}mg6`g2K0d*ecCٟ8$N<ݽLẁpF" dƅ _B,rGrSҴGG*@=}{V=EX PsCVٸwCoop`sr9R&:O-3`r09NqUv 0UnFr TuFc8P>`N=98PrNͻ`⯯a=x]YUP ~*ҫ vT GT F7 9\ߞ5eS2KxTd [hFc+܌$v="yӄp6nI$cV16D`s ӃRڌqƪCל}RxJ4De0<A)6x mXϛ2\2䊴me#c8Ԉ\*yʖ=GZ l*i*H 8LWĦ$ m$zUh)t5W3*񴞕jnӵKÑⷛs礮Ig6`O^>;V{)GT*(aUwl>cN),q]*#?;i\|d$A%u鏡j{Iy~XOⳞprI}999o1`fkً#v~P$'n֗n8͌d6A{]P >8=shzL~L:PɴF r] 1 4lBs늴-Xf?(PXN+46Eet!\.HG_BD*rXCX8YBBsp=Oef; XUHf8t i.#B+W({gS%s1Gt{nO 0ϯֿwR#_Bul DZ'J}$9]ܪ N6iIlӨq+| 2w3[aO\gH=w`z`EL_pHTgv[>#qʚG<܌BW? cON?¥$AFi2,0?x $?1]2VNZX̱ z$gU~O]_.Kg8\F*˅ ⩻Ж} hʱ )%FK}<9 7jѮw/$d*e*MnN#+PFX;~梎Q q H7N{ khLd0xw y^j9\ -$zKVK[31]s@@')d^?r8 GI_o4;eX;`>B*w5LP,FF9I$|ݡH¨(y\:Uڻc:YU@#q9jcc"YW8p> QJzuKNq۽8AsOS$-ܛ!:\dnLd bVGK Ufy:{"yBw:p98Aʃ$p9E\3Nw[`r=q6%Է#iؽu(C!8~qT$^\0Kn#vL sݾX(v`vOaCwW)@e.3^Qpsi zRE; ?@{ѰFN2{[_Ͻmv)׿Z<߼@ݻ] V ^TL3u f?v?wh FF~nGOZܿ`Dœ1w>jDP?$9qקJ$&Vv[n9SR?*n`ǐ9BZ|Ўk{TlNI[%:},$֢A#훃Ou_Nw`6I8h1M@<7^:vЎk"ΪLQW ' d##W;Yl׵ WBHI Æ /*nي(PX<5ebF[g ch]q_QǯM NV|`$u(p |7[ZFU% o;&aՀUXV^^;+_coF^/r0;P3:? ɖ hR)#ffiu#0\ƿawSuȫʻ9cy܃d@׎-}zw~Uma9d1 #T9w=vQҹg|b48*H`p;trr030:WSTH F? gj_~P#$+)^.[jgⳌˎ{#;r9+9[EX[Xi Bdm-Dj\HsݚJI+#PHWSݒF{ӽVf=KC4@"f#Pp1Ϯ;{Sl'nx^2ʽc"Ƽ+qEhc“bXf$gl< 's֧}70Bڠ>_uQm_OU+|c'q = 8dB9ܷQG 7^ߥCkZӎb9\'դ79 9<BdI܁sFs_j˕;\:{sᡜa GQ8UH=V7:[:9=1Q `o\1{!1#yqAvaH\)3K')PF 0N7;zw_m~2\+9e>Gq-Ch[lr6\ Y~fFό< JM>\n9jI8͐rThI+>tloiuf8nB89p1)IݎjE8GU$&>@2021 _fD2)c.7ۆio O u=j.1DLө^׮{z:t;֖2bRA@oj$s}Zj+Kx!T4;sG?J?coU=W!7.6FI8~+=RG$=O>&9NX< k.3Y/ L1#sU+<a(T!^K ;1K2?ty rGHG˟;Q5/9*lth`CDSl?eWXw+e=A+=%Y<֌Ĥ0y GEHFWEÑ[{U^[e._b)bʪT|)(JKKv@<=R{b>GĤ0>Vj#ulOz$8;)c"U\uǽ+n]}Đ&]t}6 8\*^CzW3# t$Ty'4aeI_zdt2>[v9d_w6TU. ߵX}0<ݢы7PU隶Qefm<8nGQREr)u}w|u=⥆U\`V;9#>ZL;۽1RN 8gQ`=Z"8c $]Z$1g''.*݌x_6Rd91Eb>&/az8Fڿy *~\p;~8nP\1 ` ۷䵘}# Tc%qZڨ23$s+9y).Nm(+:V#mw\s ct?NrVqq'A,v亀2wby9{Z6gcb|{k]' 35!ڼI$lcR9/r*ONtNX1ϡe FI+Fg*6D>,;8 ޮ-HvF=XPyÖVALC~bASت8=O#LRh6DP(H[HO9ҴWTuE}ШmpMmGEdwz0?;M]@Đ,0伪ecT3tӢd+vV 4|-' cٰtM[}BoRQ iqfZ)67 ySf2hS1e++~n8?jzKlΨ9y%pzqPN7{uGm41]c8P,[:08!ryQޢ٭3i-)2yp|v)m{/$zGGCÚ r1ݲxphO%ۑ``n9j3kRI<ڞxz ;꿭*Ana9j>BC}zku'jJJeOppwnrOZ8qg$0jO}.Ux!ap3OA=ynrGoFiLqg,Ā >9ʻBt==qMV|_5{8 ֯,G$8Q?m(]VɩD~DG9'+y#Hrcrbl4լO%@co~Қ.]zRsϊޤ,ƌH%F:r`֡{!o*XtQT+y;bzj=de0x;#J5[3WpÕ>QO8?(ЙXI$2ç=jT]:}wo#T'oÁ A` Zvw3|n@+?Jk78`0@IchS8  b?*sө=Hˊ\1l ֭l~o㓞ZV^0Ac<g723OcQfBobkBU$*F-D'q͚DUoe~;=2_J މ+o|1# IL G#.>knH[<}Y-B)sPN98ЙJ%B'#29Mv?)~D1_eՔ::+ivS'$/=R))^S8]s3g+wn9ⵋQ˖=  rrӧUHmD[r ;[opz[6Z[B' 31DR8H^?v \' 8yQH( Arۏ =Y׏aWj;#4cn8oc@rf$bfLg%8PGYٯES'@= ^*Y!d61 Ԩ /L< qUnlm*{ZwijQgCNӐTnp1R$vzt+Y=tѝ#h(ZL<121M属v8=2tc}.;[iJU1qUe,SMѳ`dϥwQT䭂ӺdȐnT#6ܜcۜmn cߊi\lĮhBtbï+9 )p$qԂsVډ4ԇ]==72`W?v u>zcGYyK5sl8#pqںifQQ}yrB7dфMoCe!+ft+qS:F9H8ק8u:iEƣ gYA& Bv+8R[ f*1$O9;?zߏd{щp8^ 1c7L8KmaZF )e ~j&m>!:^Ev[|Ãz 2C@xV8=BeGݷե'c@r2\m8)+3g7ap*]]l/`sz=nQlܱ-+o$Hgġ"Q }GJ^^%Rm ^OvqcEXф/ O9:v\NV֖$g|#*$1nfQ RMskҥ9Es'܎H$sޅ4maTB(DŽ6ѷ#޼UVշw,BoGۺ vjњ.=F8Q#;NrV޹Y5 -v޾88˽^s8\"dŘpnSzg&mԻL`8''AzdgԧaEjB%<ܜuWz$)iM"BPrP1S88 ۻ)FF1Q}cnFJQ/7eJJwG)&"G;}HqTj+o8  's(,W'o1Rۜ-qjoɤ=n<Iy?+ <KRW}i`d9'{jNF@]9=ƭoo븤$) ,M-q3׏ַ[=w ~qޭ-=FF~=:7 gۏUD߸dgkQߌ)~DˡU1ZD;6 k:q $sr}8jaX(3O t9^ǡ]Ih9>)N9N}3q2ywt:bl:;#+-y zjq鉧C(Q i gZ?fF}*<OQ^yi-pt2<-Ww~u&*!Ys/:W^Mԓw.6I%t{jWhC8AN9TcIG@: sްضjEFms@G⑒b\&s 1 lctI~b:vw&r ojLINXcV+܂8wcoː~:H]'=s+FR0b;#RK# |f!}UfBd؀'  T"WMj6ghY#U Cz3MqqFdrK|dzVwvD5<\]%Q:@W1V]&9H7 =s1rLې cd29<bz˿k4F򺼭 /9_R1,]SRC)}8~yHR'b- _x ,2C8ݍ+zZ^Gںk[4>?o4H,4G9X7\[iy.#lnـ暳= ~M N@Qp:)h펹$ˈYItSjJqfw> 0ՄbW p_}zZyٚET<ޱiKRfD!dVBSnߗx$EWt`R?nѐd +qVܻ_?ʓ.uߘB_QߥvZrj owoddh집1 Wx> Z*)-s쟕NCX޸D1?kjj1Iy;OIb0z(8zEf1%F={+^=šnHp)vgbbv<YQ`NA4 [Ӆ9# u8FXA` *Wrw?(Z`3 mˌ̬F~P dBdU'$1RI2/lg9Bm`ġzHsYS .UI691Є("0@sۃ?:datP>\7q= -R8$  Mg)GBbX1H9W`>E'saG< 7@}Oj+,y:`zԍ,hFM;3XRd29(A޿JosAR60@T㏯1!Yw>ݱ  f\SF퍙%Qc=-^Pv/*xl  q$u;pWqAT60l ̟*˯RF91Q%fw"FV\m%c9u5;.Tv.ǯ9\B|{`T6Gsi4&m4j*Fy:ߋ4-EŦ˶lĒBmJ E}Z֣gZm:?in,me0y@_!b3T ܟ~v笜JEJo}3E/'U2U(BQԎԽΔb]^NrOeݱߥD׃f qA"Nv.y%GUF8_dc) Scg!yӎ#`)n<4~F9=gCA\ unzkqܷR7S6C/Py'ywszd-`Fr@bON9JOU"ov6{+Ndyj9\ޡqQ# F~XipҬ!p21`@(ÀTd+m$Xg5OY|E,N@k$n f6R$F:v=LÞ(88\3\v1z)dwrh=r8Tҍ &csԓ۷]HzAw$߭?%;s*mBot!|~rpIڢ'F@?7ԤYr7ӌ}iY  t*-{AUH9I8~np"þCF>a }9^^p>oOבqNIQb/N:[ܙu: P1\tǭbwa̪#3 .ne Ev<;ⴥ[S9wr2T$U^-̙J3!j:`R{c*2= g+v_X-88<;l'R,[pG*|ݱBr0s gHm|]}}TytI2׎OQߊȘyJp[|LbHC3R22Ջp\ 3ҭ2&vXpǂ6mJE}"Ÿ,Fp=ksג`gZ/ބpNpݕ ׽~ͯ8kG5 @0 s;gadB1(^k谵W>oFv"yX˵7 g胱RkhvT 6(8xkp2"bBČ`$b+7,Rl)$h2~lpAzբJȕTۉ܆9zdGA"1%ֽ72mtDP ӁMn@$g*1YO٤$XL*̯.eݸnS~S yunu&FzaK>mzsOXfXUl3܏Nj40Q~]3do^rx XReE N!Q/Hn> ګ3f8I&7f2A1>^eBn\F 0=N:Vhf^Y|c2prTlQqUyn_{|䏧jHa@Hۋ$ʩM8$y5^$~LMt[x*< u-#/Q{׾zVXBIQ\n.Q98-~q&MjjIʩ\0}sW0gi24 vA}517ah^U F?:ܞ]Ҝ::T+v,F n8Q#ۥaRJ=: 4JF9sƣ]9.#k;=G5T֣>  bYuCL㞕4zO' @SbH6d2stjԯ1Uy|2mXQfU{5D|\"ʾz䎿QorV w`~U;}]Rtpv('RsvSZli,* lX6'sӧ߁jbErppPO4CKo2ಆT>50x'pS Ilڧgġ0ŗwq?JpO9Ҵ[YfXey$Fў$was5mhGvA'q| OqQd7LҦ+ק*N~zUG˓p21<:i pqo|zg8:{RHv '֜%5pF Ti\/:[-JYyy*8u:Vna܂GۊMQ \w8ujG¸ c0sNlIKiFͷ<0cyyѩ(';rOAgo"_C~_j^}q|ӾND#ow%7`G֧jYFybAB՛ꐒ:QEfQJohDr#-N<.~Uv2M(,I\gϧf;8@Kձ|1ʇhԕdb0qSZFʪv)7i2/\";REApef]2ŗmo|n=+bB\|ZV'rL(Ű6}>\f4!#?+.3gשԥz7 \}cXeS8T$|.KMIwة6TJ  ~} >yd7뜏OҢ3%y̞YGP{GBl$RCGU?\rz2$$Zkԭ(ѹszV,\ݴ1c.=y~=ެ/N*0 NX09*6pGL{S0-'-CQQUl:duT)KS<; ׎AUqsB' ޠ{6Z[jzŬ2ϐz(e'}`<,{Cʜ ӎآ]RB0O##$qޭnKB;[WpU>뢟Qt!2#Cjr*p򏘰#ZsCtsT20. Tڐy۞ aKv8lޤ$),ry(Hw %F9 O42|pTh]Z-{vvtWӎjSp W>߅Rg< @9'ׂwʨ'c 's*$#98f9j.bw;p9+29$'2ċp8^On?&qODd^R27;7@=ϭi59x߲ƄH3犩Js;v3n."V#sq~uڜm)KHew u-"޽|'c3<|aEjG!wd]fywr~-9[b$ʂF2 gtc:ך2[T wݽ!l~fPzm=7ڡ-ad9#fQD$ۂq\i?"q^'=4ܟ/V-cH)t?! #:(ao_a~k#-igHӸ݄`t’\c(6Pݞ=:k0Tdo}N^iMA\,pדԎǩ0Sӎ#Vfܡ$B W5I``IYUB*B$I\༇b$y88|N{SL##`*py'siy#noyZϘgWnwv'pc9Vr˒qbt.[*6I. !*I Z܂(SxEC6HwI؉FZPzoN:6 }Osͷ+t0z3ݳU9G,F62zt+Z{V;e~?Įẓw`' V荬mI p_@'ЏV}x)~B.dcGOCu5?j`A$xmĀWr3cڰvpAH 31fxiښܺQlA%7=*℉P <@<r>-MB ?Z&* Faav XsvYID];}zeJ/yNwS.@;Cn9ZS2DQ6Cn$gkyD#0e|tr5o2)/%B`9oG'Wp~Y/jJ} +<9 c}H/W2n8 >iJ=+5n9@TXYyG;VŮu6ߝ zV|Ȟ2`2T0dt{qN:#?+(ߒAm۳Ojs9qBֺ=H\$szާ@ryI\랝*=0jÚ&Qݲr18LQ#'^>ˠ\sBAߴ$FHaVQ :OL֫{#&ܖXLr~} 2=e#* qs`)8jM߆oĖC$,'}ߐzzbЯ9ewLB18'juC8'[H]F@?!BwBK/y~yS GQnȚ1f?6#P:黠5efJ`qpKw#1d9 6pH逸Mg 9<4|ڏ=?HNgӶ UvT`v{UII~rc֬cXRc+6@2Ay#3W5UVA Q215vUςWXn93Y3I;<>c,bFB<8N!ی*O֕#t+')HϚ7m9*QǦimb;;Qܮzy ڴʎ'#=iIWd,TF{`d4$0XnT~modK -89dH^4E}T]0e6 uoNGrsqX7*Z<+A1=OzFbge`a299^{PTʹ `m_CV4rB0$ kp q6`㠪WVۤhC/ U'|K}xa|Jxf$ےn ~svgBN2H$;++TiuwX p}r}NGJE/܅zz·rnX{d BѴnllKF]8 .9?iF^ar ڒ+b4\}:;$.tl> 3z-5*:~W*62Hk*kx*qp]Di:[ ɜ'0Sa  |(~5O)XÁS8۴pF2IUk` `nlc5mנ2vȍGCkCcniFgU[KtnXݕ~f,<'-؎.y9$UǰZӯ$M9RtB8D Iq;YHI_iQHc?Z⤢#&,6k , K9{{btTvt|v|mc/A&YyLJ0霌k=u~7|d`+ƞ*kIc<g=>MX"&$.`|/+ _QM6 '9};U~^@g9JlH鵗8犚(#q~nԞ*Ч̗?1'ss1B8 d=ۧC>"^€3xQ{n^;v@=HSӁS'AS~ƚ "}#!Gl8WWĂH8YHLvC,WXy%wQE/mbBo1awރ־g.;픦:-N*e+k-=[@^ |ЭHYL,Cד^d~>M:wqFag,*x>Ro$nNX RI H ́,q(W%Gc,Vws"di0YCJ:UW zyyi&y68׎=wW9}~[ ʎJ{>_QqqIm?&y+MH02d9Ӊ'_n$~`gf6^ N6̝Cn%~=dU-HW Jq#䍙 X 1Ln3ZP>Qx ^׽e=ȼrNq8C郎 $sF0`9uD`tvf$c ʛۜ:yԔt`6VSŀ%{Nlڨ81G'zFDl3=g'9 8a@9m uA'p+N;a=9)'ϥ0C%u#h1C[ Bw'R~fbI}Q׊7x"M6T 8<)!`p2RGAq#8bx'p~a6sIo~F@-ay$QR+nFJ唆sl>maWx=q'gQ8냒x8q:eUs蜅m'i=jFC(p%F3$Ìǿh-%NCn8 3?zU< sr8f@KDRܪ2)G#BS6nP0?*pG'jH*8 ({U )m#%t UYv;U$=y㚖(|pArwnS#5e9mT'ᔜ `:({ R`#, $<rrwg*3-•4O0jcK+pqR\,OL3| =`0I|.E$UwK>b b%cRAR3Hoc^mJlGv]lBxcOJ %/lBOG+9}m4T g1(o898Wdj[INCe>f<*EYGcf f$׌tn"Hر;c-,OQhHC.Tm {sPխ(ߑk3ɻj#a$F{TB΁21'}SNĩjzvrɺeSL^L{fggqFw=bqr7dFSb:ۆ1~TQ K1q\So@S:0^Б'@q$g.alw:b/ 8H=N=AH1W2Y8>*7dyYKEf 9 7 n:p)3ғ2N#ZlɃ>u$xd ux=qTL(+ӃFe`2l^'wʠtuԽc q8- Pr9PݱU|s,x8݆}HQ򸤶-/̻#wN9sң~^A1ss'֡w2ȵWtJF:9UntnrLӒ` )=ܨӆO0xʱ/Y^XO@xoOJb#|0136y q$^b`cI2@`3r=1"z0<t%me$`@NR/$:q$v=xʣӡczXѷG0M%gI=FYے7gɯMW]N~k8xХr {W=qF$cvUqs%$"|^@w[8ӚȆ#lT0ܪ\%}zs_KB2Zx5ޛ2[𼒪;b(䓀+;VKZ )܃偖=s}+?CE-4|7u jN\?iĖ "q$_,hΫrL cGkF ߃"Kby]īU:\oS?ҨF$ 6gc$<֩u\<6ߏ^yT˲)hΎܓb>^v#} @Go?u>96㱫u3{69%(Nyx^V,08 98'hdjq7 XRLAqU9z;;h_eqeϑp3us|opt6ϡFyc '9qҪ.{v}Ҵpv?tmĐ۰sҳx#hPqR} o1{r ː=ĹSJ?7iD]q4ha!? >N4L ?VĞA=W`J(@@4 S Tn S7uf%9PUʧƛ>4"K#()$:ÞF+H[,dX6V8WdҒ<z%a%dXuv r77JmR, #쵱s +6z砨klS rǷ8,WMbV~@ܟ8FJ7ش?`ʂo7}?:zFx V}~c[HSn6AR?^H#8nHpy P;3ӞN21Hd[w?r>ՠ a`G jrAm#=\Bn/~Mۏ^y/#baQp7~wRm*~ppw~4ИBBā9暫#s?9a)7!9f {3>~``zGcGO'G 3ִn>mN8QoBLsoq ۏj ##9QՐfn8gy8W|'69 i/ą08!N0}=K$۵4fA3p|g%GU'~3U#8=sx9vܷPHL{[A{Z`8n8ԑ3M- V<3zUVD1; ^ rhvS ׌gJe*F16 OFVF$,>]@'=OSV#qpFK/1#O2-I{*8#i2b6>)Fj(@C0I^J#e'9ϯ<E>-A\'O@?)e0d^0Gu ]Q:6]639U#o)V_.X@[`@+|dL$9gNSnmB]U\*Hgm䑷<*%T[͜>VPTq9^dW֑sA#*z A׊n0b q0N>{Vn#عNp9WDRrng)=GT`WQI*Ý3mk&śK6)%x'SG#lI$uPRn=#g'ׂ)K;1.0q\]Q"BP\H/ҴQ$G0Nx)d^0XߌJ ;>b FqrzT},h 1mq’1<}Bdآ^2Lלfц*z7RFW3S{!BKsdOӵ=HeQI֒%"Nu`O=HHUsԎT~zoؒ$?6܀\i^nw0'8ג?ԯȫjeK|I)e0S:ʒzO?ʢ%dh$Ȁ<7NpIs8}!Nip sb̌LyH';t^ĒۨxH2 !#y.IM,ۏ$_݈5{ًX`6 0;و?/?},NV{}:И7qdwCr\r?JΒ;HTY8o2i`@9[vS +(A\;@ǨW`]FR_pg͑O犷 7mMyv˜iZe>xPyP77r;jP[m6Y6ώC! yMÐz2F3VUgeܸ;GaݞZӏOfX9 s׭\5~G,oR u# Sc 7\n1M?ɻ,3WvW'/'$$3)=]E(o,YN*= ? 1V?.<ִnwlʻjI*;<Ua` 8ZnL`2fcVV h PSkBQ3D;3cNMSQ*23?^*!(ܑ$ ԅv: *-ʆ 3ԟS}ʵU<(܁j3N6q㚖IXj.CГ<{לW=Fk.Y7w#a’>_ #Fm 'W*}t9=H\շkR/QT <=R<T&g؏WcT;,OdR q'Q- p+'dN݃˃c֐㵈 2:qVÅېp:;1֭؏wͣsx*3RTm;w z秽Bw) bYw(eeTf:hnӎ z LRb[9#q> <,dn$)u?)e8w4hⶁ7Kp3[f*@ dVdHvF899#?/ҥmBO?#t:U8F@8ZŶ676v <(=:@>L;)s>Rh_-0x9=r9M&Vb#;hz`u45^F-Z]gJ1|ҘFcA8)ʥ-=uf:\{:u@pt,šNwqm=k$7(RϐrF>rQ[Xp1Pe}nQ7C02 %A FO:QR%[ac* r2 ,{a_2q"0 kH$Psb\g|%V@xY'ԽԋD{^INpg!Tu׊[Qy +Ĭ&>IE} pCoiXnxqB皩$:API\ތUofŒg ?^ibc%rI4NW jMUUι&ʎ#uyY%ؤAIn{(w8;zF)#^({˲ _R烎@W#I|BDCt$zҗe$0b"mLwF~+7b>\c*?4yD#6dpb,#U8S_%Ȑ/)ǂGbŸUE iWb% =;&VE*" o6A&<` ]ʬr9$gZ K]N-m Pc`C,|FP3C= b.~ ۊ?#!L PɓUt2p94D3:ی2*[1TPXq=Olè>cdRC >~Ur瓚*>U0G;&E&c#s1#vTPZ,Ȩxps\qۚVěvfEO8$9*Jws؆$.9Z4#gMw9cO͞1 @䪣_ⳛ2mWm`Hq?/{Tb,7bwnag=ZE{ٖ3|zbJ8P8 787_]ԕ6J6Ex> ecn=~3D+Jo!A1(kJ цA\}ĎH<,$mW? \aKnjRj[IFaBA*sO\SLGnUAP,p2bp>ea6wNի%"urGopSi3ǧĭ$ c߃V]Ny5|m8'>ޢ{ǚkNKn-iK> w$9~?m;&Fd_ZkSQi4rw|m ӟN?Ph'ʓbA%WVw\O.>i#"~j-JO8䫆J8eRoUNl:+淘BufHlSdԐ3a'$& ,^N_ ) IxG֜ I2Z,Ҿ[IX9¹lqZ#abݹ :RR̃䎜tQ"$cbĐT;eLl 0O'wrUuppx9aIYMP7}zUsOayp`0S<=}JP\ r{twFIQJ7Z?/Q\,r?y'p[wmMU8nL1$LV\rXCfp9<-WRpr2NA [d21A+Mϔp띬BS ؓ4[T*l{HQvSR9}rH 5VV;w+RY2)T^1'($ 1 q*Pn VQϠ*;jaԞCэw̹lAi򻳳>xU!x%rn$5Dt+ǣAo6 G Ct'hGedg2RG8#Ts\Łvc8CYicoUv,OH$'8;Um m 9ϱ]*KoiN1TNo"]ZQ2hU}\nZk$RT=rsƸPJ\m ;UosXcVݑa.2rF( i[nЮ0m 62v@qmTz9کGqmedEFrqay&0({Pcv4}zȮfl/8#?~yVOY |hp-}GN3_~i~n^z8[ƛsF$` o8R*i-brȲ8_-.G9S؎mRknp2 w`<^OZlhq]fvr^91YϰF{zTJ 6XG9 '0,1tH?Ķ[(ZEY0NݧXm;N5ڤJrprx=zӖ"ZY˛F@<:pI\vG,Pl 眀OA֋C"v6x>y֬ŤgˌLܸ )@}oBq}qYǒːp2[h-[%Fr Q}FNHLTA9AR.TO' .^ԉ͐@$ p9^/V9<=j䵯»/$HH'E,vč|9uF} O,%~NVDŤ/F8N(B*YCHa7wtR%!  MėC1XpsU=B?/V98~4[;y;g* ON:qm .:@㑎q&W:0/t1ȇOԏ\p=T~ $i=yGEǏ`8zխq<1Shs$c>u8 g펿O^jRn#R/qR=ԛeO=xOߺ_>DswϥI~8_]DDA@~^;:6܃rqMu] e@nv IiHV^`9ʣYy~>VMo YGwA_¼nvi 9 y۟QҾw_k&q}9GiUO-x@9n{ٕ:a*0Ԯ#x1bOBg ^FXI+C7HBssOjo.ۋ.rFPG &\i6[Cb(э`Q"B#Hn>Mfݑ,nǐrfѐ8*#c N:sث5=_BO)Lw+ӯjv{)GB@jf!a*욱g -<&Pǯj'vNz=Fq^WyffˌeRwuzѴ$%,WQRVd ;T|'8Os# ?''N÷W45vrw-g pxݷde2A7(wtZG[,̖-'=8搷 q`o\w!=8m;Olc6XSB(b}dIB6;|󬉌h DVcʎT>[8P2NKvrO^j̎Ā'~}QeF?uA O+8҅qslgamfdWqݎ`yTx@@xhys AzvqB$Ku,>2pT(>Y2yU `wI D)O~1Z6J@P;g'?\ѰiJ!Pܱ 2r *X01S$|?(?+eH޺}h`p}²-lM/ŏR bF80Ipq\݌i:w!H =G_>7U(w0>ZNޯ>؛hzm\bNA -y?(8==H;Oǡ2:Pa9Ay䊞1\KI zR~`GJob'נr>^G@E#x$RzC#r<'%W4n-mg`s]N䃓8SpxV\GozKq9돘 '>F=cRNF>pg?1z}97*rqPKc!OT{x<(bPb΃jpFqӥF;@h9laU#B2699$u֗p[F1)ǦxbE91J$ym(qHcLH02>_{F;8Em 6$b9>dg'\2Yr~fT6T*֢ea5䏃;HQ8=s7 9Ww5p<7F@23֐=W .88 >Zkִ,CMƤ.LSڂ>#1Vn2ܜ`潋Zi嶮F$0 Ss8Z1}R=ZSqĬb%&5*H\玀ZVv +J?'Mnjb+j_ЖR9#=wqnKE I+B  !>`mw% 2q&’̣F# K9]+O`A8,wv o~-ͯNOό2cTY!;A17DGv;#vV~$WQjJld\WȔL+lFf'!'jжCeTP1%xж{?FG9'8w)+<}5fɵBT>p6NX5’8< Ƿ4Ax#;sϿnj 'qԄX`y$MRzr '$q3 qZ|Ɲ,܅NL?Jn08SZ$CLP۳ʎw<`M2B7.NHSe9’3=:-H 9ijb!C.팰Oޙ#SSm< vrG8gӠ9pMCXј(ma yW}m>s1CrYT ~j-ԕ"^_Wdn I$ɅK"ݽJ_̊8,NHXņIgooj$^akyvm݃$"ߙe~zns6 SK09>z ̑@ NtV4F6y8)We}±$9#8׵E`UsXldcנ;󱉓 ul`dt^,OKu9_Ig=yG }<ɓp, d.=AJm;lc?ά2Cm[ְf>p8`#ߝMfwG7pXd`2mg9\թXo$our8o ST{bHeRpF[ckpnU2;^FL|AYdYvpċv)a#u+F'%F?>jAUB0_n7L{$%R7ȲF99FXjO^ ݈e=W\Wn$Hq8>Nwo;IcRw w)V;tjI O>1ک%wolYXcw\)^y?ή( `U'93偑,HR$8uJz&:1^O#, NўN~FG #F+JgBkVRH^O,lw(#1=1;W!F d*i`2P8MbF6 O]ǥhЉ˖T㍿CxQ vXtt1$ 'H* d[JjN2#Y_luȢr rv=3Lr) 6 ntp +/%W#prù/E{#F)n[;q( o݀"FaF(69߭5%ځ\b"IhϦ('0P{p2y9+`$ %%b`>v>p轪 ㍭gN;#(O#6 q2dI@ž8?Nioȹd`@;Ia-zdhl m+QyQ@Yp@vPI1YNv3HrQ%"CI`Jp gߌzڣߔ%@`S8"NS@ۯlyv{zTu m$4p`-RHw峟Uk^MNAcS; &3=[Kkq)!H#O $s۞VzHW[a/N#g#svKH?8H]`1cӧO)Y,x0:d`~U!8 7:PvJn64f19p;gڛz] .ߔ/ Sѽi^vq5i_Qyq8ݏʪ4x1z/1gvU,99H#[z ngx;z:9Nq}0YPrS`q$r3'?7M԰ ucaY@'G-L#)#ޞ>Pg#?z,'LU;C7 2 n=IibH#9 gª䲂' @u ~/=Pw#99ӏΛz N֬#wĆFt |{ 1av#җ`LgIf•(ByAxjT(D'9s"[0iR?hf!#)9Cj|hXѽNI~wsӹ̸bGJq؍#.[9}h[)eWBϦ3P?al'#8֭?#I0rjP'# jY~BJv*ᡜ#[=1xY={p1Wn.[FT5wznX <1¹dWD=wHmExAqF0ezRKB0ǒ{~UxFr{#өb##6F11V5V%'JǸe6H'KVV>rAk\lc}hj| r:qӵ4o|n'Dtg `BpN?m<ͮ*wJ:u춶3' \i^GcSwSZ]a rG^yV$)D #\>i2 6y<늪 {1$sq99nYb u\ڧ1j~38PxsVrE),܀z֡km|ʹmݴy>$"[T8 yֱ[Sb'A=jR)EKx'n4ۙBvX>ܖ4 "3@lvIqߦp*Y#<( 1,j2X I`=T95?d=TH.g\^Gg+fZLD'QJ ;+prkzMM>.%h Y3~i *1%1RA&0xLg!qUe733;?-+N?Q瀼c=tpr6AҲmBG3 g&)H>RٔISs80z#t֦lG唓+z}OjiLimE&G'y K|W!cN*`* } |۹%>tr0ە~d9Z϶#`w69FF11G/|wc?UHrQ<ҟy y8*:Źdl0V.3T \e aA2ƐoNI;ZP'$g1GYW%{Iiq.A,*08-ˆGf$2)s$=;U(@r_-؎K26ySB#4ڄ9 =(npjM]סzngs#Dd)t*;݌ud\a9=?#|= ?zҾOkhٷ) eAӭn-~eQJ?|9S)Y~L-t)5䲪m Pu e;:̫U" W8̇:DI$GveXnۚ^O$u#TU**T}J{F?I'VCo!ЍX9=q_XȑiE°p,=35eܬcm;IR r.[$ki:|z[++89S$c32+ׯ(Vɘnny6QK6 zZ[_UU#Ek/36603xLVd%#U ;G319N;wߘB*9*Q>:+XI׊n=:PFr=-Ͽj@kxy~`#h>\.?.Z6Ziys#,_2iȟ/tkF[ 8zh7F*Òێ:PRchӀH}ON5 }崉+ rq4uBMjkĭmofQ#wn}jaIʂ@9=0?KWsNj+3 琌(<1¯}[ض x$_)YԆԴ_3yS]¡F1X&<8fxݲv.l1ݷ(_pN9 :se-LݤEۙDvS r3c=?:;phPAS#+ XQ­I'`ϱWv9r:ΦORT@'=HG5H[$w3iYB1Hq8P"<g_²@\T}MtvI:1lGܚ3 u]K.CҦQR9'Qu޴DٌfڹX?x|?,tPmuw#lF 6ӚI6AMS+sNx =+/KBÓ9<1V!9ScZWNB\&0H=9qq5 C[3 S] (Ө0Xv4>X91gkO6%KQX!8;O l u9;ǽ/l7{g,;@d8yX|z|+ylfahGßJNw@8#cڅV ̒WB"Un*mN_7@pGRީyٲg☳cQʉ"1E]J>3Nk9E[DejN1{O[eUnٯv*mӞ}ܒ:9ǿaRbM ?c`r:M*b qoҫe98TKqĵԂM9L>A==sTb7"7|;,穇MĦ%0`cg9FjK!t TF9qXʓQ4e{c=t9OC{'V R1rI2:{W'k+ګ/ x`{ߎ=iZ.>QMCQ{Rm0~KF|A<8hJv[3.B,ch'X36===HsXiYE ~\IZ ~rhrN;ExC9P `Gɡ灀AvĺvTR;Y:R[I{rڞָb6pqGUm/1dTBg(ZM8BU#1C&ѧʶp;P|ZU2)&T.J 6qzl>Qb9$={G E EA{1}3Yky9Elډv&el;I =2^\r2q8%;=ˑ8\!;aO=O>)ɽ8ϗ [$!w;{Bjc8 <@M g# |6#Oʦmz 0#ƪ.4Hc GU9n!ti Fz{v*nVȺ `6J۷Ij?!#?4vY D۴1`:Ve!ӷ ' >bF?53wZ m\8gT.: >*WU@=x:I#l*' v1rsӏqSOb@=$tg<9>n0y3WST.cHO,bN{kɝ-:tdU*8 /'h _^UpYr8Kt׽_peG;%*7ЃWPJ,J3aI<+#*b;: M[a惴lGE7b($mv#dC dS5:BUSUg#Rd2,NU$dzwСdD#>Sq&YAqBRܤ`+; yj(Kp>BH vz3u veF\ ֝#ݷ*1*::ɫ$ pw<QU+e nb˷<=iKkC&!)=g3K[\GEFK{@2[Ϊc6| o<ifHI(@NzՎ'ﭦI-{}UIがtO|anx9&kc4tuZzʎn_;.bszWcK&(ⵆ=|}.KN:zmk-#$|jrrNZ^HO@\Hʌ'p+3Rյ³`2 ~ ;j׸p6J "C7 G'ד-0%ڈ]˧$q3!]N8]#T;eIeI`kg39UO[[3!00x^[ _N]ݡYl즚9dD+"C=)E6CRQWn͚ '_*AnI'Dʧ`W EY^ "~qO/Gئ[ЩSmWfeG#r u[K41S r;⚕)ۊ\/m$'!Gj^EGh#r g^*jrUmU L3 zKs[c(qqJ }xק ۜRbotI{#cq מ8Lw8bjcy 8{q{%$:*8`@ҡBI\Hs*AO,^8#8# :sלTy%l i sUʃkt}ҴD!lnm;9 6{~&J@Lo%@`N>&)(`xG=0 y:Ϸ\w ݟj3AVǡAnk`ϥ#ڄ\1t^W.L,$cߝT;8`y9RرeG2G=<*Ұv,I }'sBaqm#8V86:zj/rl`8'*A o''#? ݀A y?LP,q$qx4-A7v1Ip8+b,oSaze-aJn AW h N98lz'$$A3ArjHʮpԨaOА9yO3=:Ԋ>\cIh2sR3@ &F\v{w8u) 1mfSvss—9݂4fK'8OnjAf:`g 'ֆ1Tcw@ 1gRzT|p6ɻ /CǥE2cuך}ЬpʱpGJvۜ8?g'=S *&T<&T&xAӸzSz5v}m)K'JvT=1͖ ۂʹ>¡Ry?&r1שVR/)WF޸06*8cj{R7` 5g%?X w [@J1vf,PɈ)`X,8YȧʓNC2H_39+ԟM#d@f'bӰLb>@UJ9(6?Tx $Ʉa0p1=qI?bGHdRK!6s qNP#B UnG3tJM 〠sOץj cmneGe݀ q㊪z_{ȮI2Ġcѱ,ѮI.ܔR^<ޞ&|I'vszzUT'}02ݠp?Yfc'0°8#ӧzj&.>Pr9F:g$c?({gsE>O9nf8-24Jvr9oCjkO{O0O̡z ۉNQ;W(ܩFx9[5JE '+zOv.ݴtPuNN0)C5ڠHIc ǏL XrI#'M+W1)2G6a/ }@$yp?&Y 1 N|\crZWPeKvXY0MG_OR JC4CBzTin_1 )xT!#lEc?*/ i~Ry_+s|#5(SpM]N>jK{e~]N6g@7vp* ;"ҾgVGw=̆҅N 6YC NYOu-NŢfVu n';G5Xۜ *^ڨTt۹CTiK?аPrll t}=(w%XsTqϠA68/KÎsWdB0]q$q9CWє#!H)V ;˺TZ1ÐpFu7*0m{j5URIȮaUjooktzjHHٓžt}!hJ G9?Ҹj-IWKn֥SC=s''O˯J7xڻH?ZB{$zuxޠg ߀[#:S22GΗPIr[$qw}TBxpq9p*h.@'nEd)ZM`B QT͎9Z&?NYb;mYQXd}=jf"G^ TF:6=IvȴZ۾O'*\$`g1[{X>i˅V ˊIϚ++}tZNv?'8AOQ8cu3cK޷ج'1dU7u=c)+Xhv3#=268ZJNA ?7U6*A¦={ib~P:_$glz9wQѦ;PS?ttx B?^ќHuj|'zWl<9Qrqpktx9#9OɵR6K^\.(9'GIҩ%t;et q=TQ,aA>F$d˲ߞ6Re01_`uTY#.' $b6]O1[ aN719\,qh8kUN /FO߿FқՂn$! ҙ8<4F@2rݷsֻWjo&^tXnd L~^,rXBrCՔF>`A8ҭ[Q!.@A<lN3|ypE4&,C'B|^MH+@HJ)8e x#Z,Өr( zUHO1O-sО+dKit7n!.0MJ@8n)P6w)j9v!]PF:%=@5~dTy \[ҋf>-R22NHPy5ul۷BIONO\ Z Ծ+ |/`7=;Dy q2,tIvD]U_{)E@ARN/=+4-,A6'*'9z` N.i!&I|?˭uPqϷ8{UǩZ+qv8Ƿoi`9'?.38[&ǻfH@NZ9fP2sukE2e_$ I#痎Q ROw1U^#zV^7r?:=T+>V}*`$W[V{u{/+w{0bʤ0NT'2w\-(r2 ñ,N; FzdeHO bzmjBM;rq: k hUĘ-vPG8cYHf/G;sujQd\!@ #縪v-7sgJo5a0rH!w88sQI ?:c t⯷Oo4r)c'F0v'8cxqpC*\<8sI.I9%b5ԱBz,rS> 41=6JYrN ,QzU%b0Sj>~)R8̹†*9*Ǔ:v1_h+"),[ 9Rʠ8{~5W@PyPwԍ*rܫǘY$VJ8BkOnsLW&xuv)=wqLxr`r6x$3סl ~b9a`&PI;A?Ȥ3H9a=j6Nx1I};9TO$98UBcЁ)aUvC(u"|> +_LK/zǸ2#_JUR8X9.d&ʳ\so` zw'%:$sS4۸Ұ_b~P3AjW  /~2z{Ծw"PF8 w39'q n h!1<Џs<ɴP>\' -' w>ԡ)bdr΋7fT(>gcN~Σ{BTs&9>ꖿq#rG_s=A);rr9ΟAud{sqОr9% ]q ~P;灚`b1aqLuӚ9=~t'Ҫ?dBr~saG+zj!]Ăgc} 9Nm FL-,,A#v1R;9H7$^UF|`23e4 CNdJv1 ݷ8vxBOpGJ, PrTr0?:**lda7!C2v"A)$ ΣTUF8rғ/BUR}ҟn]oJ_ p1@ 4+Up|I,}~޷"/(ʅpHI9>"j璝ڠu}i=#ݴ>f _-b@#? R:]" ?eI2H!z{85T,e$*waN9Ѽn޻SYh% vQ+YFY Iy烏ZڞC.{AԈr\9ᡳ$fgW㧩f'9=-&F1B!o=;ȡ~lfe |Mw.ʀ|9ҴT(v9,{WzX߻ wgKV0ΥUl*%PEGa>2O'P~F ݆qB^$e FJt$`EmF)\;6znӵif6vvpG҈DaJl #ZG+KG=sn 5},~s,K?>CzꢊeyqrtSBS+~7-rc1w$ SC_5<dߩzXywHppsY&9DlֳiSrw$#'ϥg88PpְDJ^CP\Khwo#nbrOZ}?$Cr%$FOQc#sf둏bWSD;w9]ܑ{I;; ',EURFǻnbBCp?>Թ&ݸ\X1S38 cqpy(lqe{0XNG.X;3zh]#$.d@>tHWzdWL #:?u;FYGPz â7w z}$>;~v'= 硬ƚW݁9!E8bRer|ʹ|ۉJ\ԷCkRբrRQLrK,ij5Oh$7s>i+eA#'@ۀjDU292ߎ3UA$͌Z|mة4O7|?Ϛ˔&c/VV?q:y@ӞxU2c174Q6-mdh˿ɴKs$֑`00=2=z/Ivc-_F{`=\zT/q=n㜕Je/CU?52q:dMFR3('bknؓv:: qQ5R3 \0ϔ2: {kqc d\u5$2`T(9#z{^]lJM#6JZ5Rd%&F1ǕxkMvyJO$d$ I$rsQ(>¶0Ho sZ 3nd 1})J6]NYP]ibVYHrRűīs.P=mo4"X&eP#V8ɭ`]eSf;yw;'$sӎԆ3W=z3TdL/-ʐprC ŸMn=G\cdSUUОb8Te?(c^yUw!bv.B+BFkI#PI=3׭!.3bo,;<60rҳaq=K%@8LʪRvܘFFO@8@e- $gJ"EMQ[7 ڡ F#WךI]#&!OeA P *>rx P~QUFwf+FK.Jž2\M]2N =\{R}x$}Ո䃡=8W=o}#Gn!;㯷8C3V`D'}1jT޽Jt"l@O& f810Ts[ETrT'5nq+F폛09G=1@15#&J՘.S{?t}is{M?FC C(%GN )@^=r(wظTTO 'ێخ~7`62^\6i ddT~AjcjsZvH'+墖ݸ?nCg=sY)hcC`'QEu+,alۊhI M:jA@sץK̕5<"/U'Cܮ[ހqߧz|`<.ӓ('9JH7|~n8as槜2D~9'=;T.Uy'*3p'βJ^}т'SN0Pvmzzm]);$)c`O@}qLU `'HJ-F8?T v6^C0V 0Sy7zhD+@`=1d3=[`Dlgpt㿧NCyY6az~&5,,,iAʀcNV21Ue~3Sz"J3OsۥN.9$Gޯ;gӽJ:grer\R19PN@Օ#hRdy#9 :{S _2)]7J0NJnz Bs~.#ҥ;3 ;) ]4hDt̸8,q`sJ_U78$uw݆zV"kƖRʤ+Dt?1Z)JV'h-yE~e7H+7]oA!$UG#O }[]# W8q%#+O(?6c!N3ymnWQKy]6DHGѾTvF=AW|x[mkkK9bf*%9 Qs8)Sk,**& vGq:D3kF[.B'C<;D3;:F ~]J1%HD݉ArWz'y[H7'q LrGf`b |.c"F=)+rNy>g-:;Ic $p"rNțKd8.{ճwq !1.O8~2}pzmnwcm˱-;‘cN*1n%]1)z'v4n|~viy`{Ρ~Yƍ,=x'N݂^I,݈͊ S.!NFsR%ĿgU-$'eqzߊ-m=.B010^{rK,,fR K#!zi9 14o_).k_VN B{ u#8(r:<| 9Ov ǽEM[Pz5 Z!=&-5$!wH@H]y85:00TtaW׏Zm;w^uzu\}FKU?iS.⧡oM[h˹y,N"9Ly{ӼdstVג6yQ*=A]o馯4TbL<،_\֪Z]'MujpU^7u9)\tONW9r _=Zە;E30d~>TǯNݪ_(^q:ltA EB!;K`Xd9)P[$PyQ ;BBT2,ʁ8##Yn#ik3)+y/ r9dc!mc-G\ZcH3xׯS߱݌=m7/ k@#ǩNTbŁڣB~fp=nU e\ r)H9ry99cǯTBp|$U,Gr8WE``S,S(\>:zqR"s{$1Tqw8j e qD]D|+nCCӾiXp88$^*o}dGͻ$Tp0ǿ~ht/X w(Uq@[1(;0a9ƶ,+˒rGl 9z\p܌0 qaF0NOScr1ǯrrr~ގr@rrzw a2d.r<9%[^1c X]HԌH@=;~7 r@$9f:sKpvmO' >h, NDJe9z:F !ϧpWG s)-z9ry}A}NϦhL `p*Ir=ќ>'9n@AMv#0cӦ@9积/+vq Tcto_ #?($[8:sOp>qǵ?Wļ6W==GBI-f$nv zvVJoFH3El cld2  '?{z| g#D]\q#;}x*m'$(?x4b?xd.1`7$%`8!zdJ:3"<<}3"Dptf.{cZ4|s2N'<x)9*V[8\1ӾxI |~vm%HsI"wxۋ搕>py]b*" H# ;%POn8uX )|ہ`F YVX"w"%x (9#:\<ʱۤA k4ʸ v^)7 ]^醖%$cBvxf.XFr;W#ܜSLm, AߌvE KpKzztvIKSN '-O~UΖ?@i}ͼvPxAJGM2L;IXwc#UplCn3fϠ,h-O0N_*E'h%Hq $u<==:R[E-x@g3s.FG*orN_2|Ivc +GGX(9gF:ۀ]T*ʞw@1Ңr88#{u遃I>`~wS:g]oi# P1rZ`3''h@@?nOzrKNSM]&ix! 8"IJ $`V44\#<1bpޕ [_׮Nf\ p8/O+|F|4d0]FW"oTe\]z.IQcڵ˰Aë+*$s bſ{hU]Td*R !O}d_Δdv՘ȱ1'u*Ŵ&g)#C01=o#FSNKXvGJ=}5~ˌm3 ׵sUbܶ{ qOS䁎WK?WI0GCp=TH^:ؑ=joqǁrS>ԜR{XcМ?Pw]M#c'O_nzsYl_c guK0F TqZoQGs V<F9ϨIUͻnLuD:9=Gn 09sQm-&RỨÞI'=}:Vjw pHnZn)C)IhFn%= ~qαzv+9ncD'Չ44Ucz2x#RC+1.:f3;NxOgFlAa|1sgԞKH@zm>=N@S|`s9⻩%vOXl|#Gԯ9ylvae䁕z[p;Jq瞺0bFq\DT'Ṙv:g!=3GU )o'}=9KQ rIoi2h izCF%cIU-kA29*э1<知y]Uesc l~\gL*b62 nd#z{wπŢiv.ConV/8'lLO#:F]#gO$*d0p9bŕcHVӊe"L6m=Os:# m9 x<KKOQp3:0#';T#>֢p̸!$|rXqj{~dr#ۿLdnA9'sVw]%cM#>a7ϺDYeYC:izFܿ1N8- =-#.t,D]l];p3aS3RyN\S|3ɟސz@ݕ9QF@cp9XtŴ]u'$ZHwflc3{0{CVU[$}]|ʀ Z==EkjPlDN㸓e9=z8~ d{RгqʹX^߭Xlz֢ROrV@9X8ZҏLE]IE@ct_a^Qp%W06Up@QgΟ8NHNxNg?38`pH cKɢ''q8jm)~0TM > 3ʖAo[ ^Zcys9 Eie01V  @h{V'=ܷ:Os89/!u)Tg:dTy: pUB===DyBK`2BH? iP`7~'zqR_2/%?Sq'Q=D@ yu@w!H/xyZ*FbR.*㷡3& XgUfT`I°l~R^K6Ю&,x<<{%zz rNyC2c `3Cӊ{/RB眑rOap GQJ;bHA7~Wl,s7C31V'BO /=`uopq;ytN-C (m( tQiycd^FgHyL9*yqL8ڧ.?K);m<"][j!^ ,rzv>d UFݻ;= vV8n"=Y ?NxNp0P7>j ,8⮝@c-V`GS{z !:w;f03ZGg9'p?: Eo2qs) 䓏LV#fTHgi}1Kkoo< 6z=zWB!r/qDۭr{7)]sHw9-@ Vk&s !vu>OVvV[;N@3MfgёpN^5_=N? iJ\8L+M1G^yݟ̍Hq}ѐ7n:\VDy zV`edLmۃT7Oc5Jܳc +T%FKgմs;) vhkrTf, dtW%0A?+Vz-_M+JYb&^Jq):YqZӿ7c>*厛ZC''`ޭ]}m(PqF1$ ٸtpGJa+g' PFKzOJІgҫкQHW%@cFq0/qf|f3O3` )DZq8YsX԰-2@#XOWӭՖhqII$znJFȠc 8lubW913*0NxpTb85zTmed9a?(؊q 5 )M" ߹N|g(LW3p{^X(8`X<9GM{ Z <*{fE~4-,`8eF0sY\3 847co' ?VUA8S%7G91M-᳸`_֛z$k⫛s$ N(o_Q4䪩^㏧P]z=qֱm `͕3qO^yH9G?GZ+Up;F0 g5 RJ]m> $r3ӠkG\0,IIG>P6H;%GOpl"w 8aP)Вs~}->EF99TTV1`r:PMυm3-@4/>}k `O͞oZZ`v*zwjVE'qnpf (@ ($CHc=IqPGB d7ic36p'zB-2x琻I?*"b2>n2+fHm~; 5Ԍ軇yUmkrݨTU*Tb X gV0KHÒ*:g$ʤo͍YfO(ai;9si7ˇ"?2>.L׊Kᘝ rttޚWeM'ץ4.[0`JwHaS yc j2sH^L"O%/6א{9SI"@NY`)=r>(QHJݙqjJ3#s`9qߵ 9bwcS~~5X/ cq\jܾ9|c;=0cC8]{/LcBd܈m;_zzܯLghe>bI v)neʳ+a>Ueb2`rWPA'ʧf6#*l0Ӱ^TyPw `ӎ} V3B7p$ sPVU* \!)  [ lP~bF x Y$4Nߨ-fd$}|pv8J઻'=jzh\H'Fwɸ+|\:3ZQ Cn^c=}& T ߞQnE¨ +UϠES%եc.qןj_+['pO={ӏ^:?UTW${v\4mp<1 /`UL @9Sg ߁R9= %";m*0?.NOlV#C&I9+}jȖ 2:cB r+JH8$^:g_3,);P#nwzֺ_Αcln)~sQ 6t@ .!q\݉3UONG|p~WrmY'm<隳]FFN\? W 9cK u#2I|5w?0zzuBn}wDGYESJ(<2vY,<܄lgZFf4b d'?Şm-7c$`[ƛngs9RPȁ1J\ݴ6$ěFK3687i瓛Eh쮤rdV >c|ݾ*qwݮѤ%b%r2>x2f0ۖl<ƚS7W쑑ǩ t9yr?/㌃E[*fXT5o/~$܀vlG pNK7c>D*Ȧ(N #qnfJDᜌ+<~bgʌS)X['z*Vvoyڴj$EK8=WGge7]ll ݲ0Ok+/S|CNF ӾԎ՞ =psF%9&vx`3s㚠9#ҩnmcyx?@8mNJh#g8|սдFhԮ :q^9V 6sMTwF8 mAvd9לz1B 2CztzsO2`%@=QQгBUI8%';zThY1Yx$2Z#xH 1#W>ʊs~{GҜWb)ݾ NWd휎2?¶ē2EMZr"ǻө+kxBsݪIQJ߯2̙yI%#/|ǨR8?Z O]*nZjF 듓ԓU_;@#'z?,5uHҷ\G Zi4)VmH)FOjq|B10J1 *ʶw1~Mu@W{3vm,t }rHix HRqZs5Uwa\N>zal-`=9Gjg$NBѕ.[*UX}yXyn ~UscSMS0t2,MW@A,*9Hi_1Z@G8 ;޵mHJ7RI?ww8~%7b@dc sRaܑ>}ǭh|q$e"Am\icoL%W=_kUw`tQ΀1$ ?ZQjq1ԍ?h!Cd;}I4{Dj]*ʿ1bpAbsS,1vr}OCw&E1ɴiD*Õ9 I9UPr_CR[$e<|QH:|DZTܛp>^O5 EFұPSBRr[d`>}rGcG"v/K C)8tmܜd0YͣDIQیln %!^쉴NqzI {G6*MudIJFT'3W(,c;{nR7[VMd`tJFy wsW_sڬƣq$桶6/PG`MpTUuh5/ԨGn}'pۼcLk>MС&gQߖ}+"Pe$G=qVV3)Gm#mg09?´L{`u Z&n#`ƤSJX2rJL̻̃$qVT$u OCEat黆py q<Z/6GX`mS*&X'9A8϶:sU}Es,}ɑresj.6RTu3۟›{U]rcisղ@BOƴaSP9A+I1-rQ93}.A'vu;Bv_#'3sq4$gz;ܮrG0{ z ^U8rԴV;~l==Ec7~SrBpzrzUFVw5.ZZfvaPI@jDoKcеtc99 zg5_,=2ALTCdu3* `z8} dNzzLߟ_JY",u#Z~'waWO\L,92'1x0Fzqcޡ0`HSIjZ\3x\dƣӌ(8~dh׿;Wl(N;Yp8c*NGmc2GW'pu3ֵ4edҌe bP®Wەo^݊OKQ g'f89PL$vkf[ I^n*OO~Fx;N?Z79Q;{i;\X77 }=GJD9$rO>P H7Q7c@+YRL-v8cMܥnT Ã;j9 ;ǡюśYBRL3E7+@$wvb`csue W,UsB.98Cp\O{.Up77?pWE7rw7?+Z}Q^t2[GeDfe/Q[ꗶZsFX}W-~^M);S_{3/h%Y"28n" [Ie2F ߴJ0p0pGlktyYEYOWh%u3!dsP)#s{WxMҮ^@L&9Q9Ȉn.=s#W(5oT$WrġфNsrXgq+m^I&;~b6{TEkcvy,Q⼄B-!Iwc %!9ǩm| FlaWs=8qԮʳ,i*{sޝH7 'j^P5-5Y|xY1c?0'hnXo0sP/^Cjp0w /9¨'秥,c+U;G–ۗ5EQbrVx00-Sz4Zuh嶟@iNwkMWXqkGegE%T`z簮V,fc dd⫟i򗍑$CN@1]4XF#y)h6~c90ζДi!#`,>ø"[9;&yv *ʑnxzƫ̟#G \/$Q5AIFQ^ZѤEP}r1>8Q1ұ.![$  =3sY_srI m}1Yg>'ᓑgZs0Ķ 9@>S' =BtF]0d1,31JJ}&b)S 3d'%G1& 78#_|[5 ÀRw0H 8˓w)rp(鎠%xbp~^s:MJ8ܭ0pAH cU$YX#*\gM#A*3cNynKy+-` ql 99{߸#F}0I79sӣf䓆xSw.Y>pq`;9Bm۴rYب+${w'0T#bs<})s$Cc8xD[wӶ=( C*$tǥ/@cb#'̼䃞?Zc6 fOgR N>wҞ3:Wr3#&,ϴmE]İ'o'?@78JYFTm<ط"v9*g=_gJXxS1v'wzǷCO8 ,~R̀CRA(j/\P2H)i#l ;Tr)4t#YGbqO'C r3cydps=u(ۆ·\c (fqѰ7;c''p3[r< *sאriܥ!T^Rxf?x v!IVCOGf#pOjq) n~^ 0}Fn9q9֑+F HJ{v $@> QcԂrvy%@!z=jOCQ1c;/oLҖzs'*{TJ\$`cM7@;vU<ܢRdwK$lPbOFx=WօEmbe`rw1ϭo#3ܬ0Ub@-%T[(x^>s4s=&j#|asTءW@89/q4 vqUz<`,O*{9Q#9B0tLQצַ&rRP ۉ`/z`{sƉgk7~V1+q2ryبn.U=. $m$1웳\4V$jn7\OAL\gNsa8, s3לcZgdpHn:p9@4 Ҵ^[;c λJFN $󹟀%^2vONԃ˜cj:5HbaZh%Ӏt~>YcBC:#ZTe3RKMUp^s5ZCgRw v?w \waBބsM:ZC$̖ɱUz$+Oș.C ֌ JRY>D?0;n{;<6M^dW]Ψ"R(ʖL(85q-C®Wޜ^ktE-)U''9"gC0޹Sqt=_Ij4Fq!%w~ld`@P +X)Nr9?uĢ9iىnsR>g\"u1L2C>_$$^=}Gn&HR$_t IϷ調2FOoj¦~H淋O)dATSzV/L'\U4o̘;/>ϱ_Z8 =N;s7rhCCߥ\=HzӧJ# >^sssҢ{FΛWo=3%Z>翠'CZ2>lZR۸@P=1O1798XN;]n`O6_Ö) :~n~bSFeI v;I zyʑa&t;* 'UbHݓa,eO @I }*7 mQmWD{@=:1:wӽ)ii$C ݸt .O_ʲ&C6 ~qNzVdeNniEY4N~R3շSqV{G̓spk W]wOW>cvSO̵tL"BU$ SҼS K#}vˡzp)tLh&Ep1"|4 BhVFqYA9 䵿He\e@ רRns!I aOn:Oq="¾[ K$ӹ\& ;_$FTfŷaBƅ['=["WṞmͣvTm<=Ӷ+3f GNpq^em+}$F[#+Gf3}7bIq*%2Bo_Q)0/@B+|[rm䏔wqۮy9v߸䂠=?:LbW:J͹e͟UrA>CS ;#P`'-fm<qYW2)|.8g__Z轑/}ݘV'~ditU[wՂ?Bz A%]ِBq޼=tL%vi%cUQ^٬aA_qEd"}y678}l㨫YUVl-F;+lC1ge}i 8cz\Fv+lOSӽ2r@i&G?1/ӏN84ʹe,\5/a&]I0 $~Y$r$A?۵Pb`6`]ԍ^1 R >P \o67GbziG@o+K8:NXv,NrL6frAF@>w1F@n(P]xTp8>Ep;c#@B%~Rb\_.<h裞IM9ϡܘmPOx98b2:nl}({\Nڊ3coN}^*'*Jdt[=)7*ftBA8;T<=N==;P5NQT/  _z*2ܒqzu HGL둀}jHrŘt0L䞡}z9. c/,o,ss0b /}=Yپ)I;S `ǎq5I:*r_ZWq#UR0v|?>y%!0OF?Βm6r@y'wAwv5j27˷##*Q1Jo?0k8[w- jٸSב#U+cNI8oAB7 ac _WXg<[9_ '{U_8 [V$U5'b?.Ti^YGo7G0/p8z~y?nQ~^Oץ8Hr0G8'1AO8==Tz¸٣T-匒CF8 ǠCaGpI>ǵRvO:I}p}~SV<<8cGL{f.r3؀$=Ja+Fu$uAש582GS}䍧!`p@Q̡TUT9QRD^n?&y*95T3HHܻzc&ؙ֥9V vܣ85Ĺ,#@*Ǯpyӽ]E7gl? A*x9ޢh $_51%vGʧw;rpb; -zO%r?)u(9Q@>K2!2)p8hO|TE#AzE& B\ln!sqT (,1G[+{!Y) )uTg8皾/r>֟o2$:M!< d,J2r\eG\\Ҋqh;ZGQǑI#R4F 2 ̀ӯODU*2 ǹnZ_wD^WAAR8JEf u$g6ߛ ps>ag'0e?/A\d8NWתQ. ێ}~$2T) 8dE0$%G,yh?RG)1EB$ @ W[ =m݋PJӶ ą#3+SPFB82~Ⱥ9)*]#0*pg<=Aw{أff;F:ԜL`8꿮*-x0v?Jp篿#;O ]}`|:m4g `1MJDerr33qצ lq#9'D#c%y\?=N)z61V؜G J;;Nlx w j'VF^px0{ eݖ ervZqҴ  1vObIu l C#!g}kXeR]PqcK j؜qנ'׽hO5hFf3N1< N?ֻ9rc<0AqP=HI9=t#4Xm񃎹c]S1Hp+v-$͛}6ۉ摰qb/`ӥuv (\uM%VMj2n7r8E;JʖB6$v:VG\#3[I SqVE殊[FԲ0?OXi-75\WL8E]ӒrqŐe@$eޕP]l_'8$ k6Nv|9CH~G}jUv, !b x*C>spq[pA%~l=+[Kv>^>E8>߅5uvwoP?Jn C!g#t M؟G Z+ PV[?kX𐲜g;<:2f; I{s)V"u/ A 0W~n:MkE^(yDw1=zT"Z 2 n ja' T~Pi(T`~Wedtdzϕ0rFx׵R۔?ʧ.~P2I 9G`p>P)'ߧ7ZYQϟ ʧJ<[ ~ #npXA'кmX9eX2 ҩh@zQʌgkׂj$M>lN qלM@fbbgv3@U!VhGu0.Kc'jhHjB%(I C1PV.j*Jftǵ erc~`8ԌS~'q$a,:ԞbԵhr,֒M!<.YW`*sߜdVΝqd؁sz}hkVUs{Ϣ0%2\eۀ%HnGb:NrFUd靃c1h̝.&l.ҸpNr$c5r xbT y]I$M 0Re.rKgAV8;6s' ,Ƈvn`q;S~qWD8^G9cleB9sLS m1짐F u>G\;qܥ~'gJq*ǻ'h!ozsC ٟe>fI$'0 H 8' .W*L* wdK+hKl>T© j2btu+HpRˆT:=yfv ƀK7A l!=Yr١]bF9ۂ:`U& T 1'?(0z\<>U\Úb~\yWLV . {TpA 9#rx3ެDn\͗$U(9w5ʐ2NOZзU xQGZSg5JL[\p{g"|JI.cm dyvJ 9v&mƑP͗$);BL{T{-/SrG`GR3)͐푞8:c,%N[~ʘ#I 7 O\6e fa]=zC\gsQ eMn68m9H+򑞇52#9w5Mnݍ;{$$#A8v 18ja9G)`~dOZ˩Q0n3F3# v |֩y]_3<: U: ˜`.8-dOδ-ۧˁ9 A=*Ó5]|s qjO ]Tx#5זs-F-<%quKOB# ҄t=K8p͕x]H<cLrﹺ k@9a/Ӧk9ne-Lq*lFPo sQ07+.v hk̛% ҰvYͻf 9<} D+7$q$$zS6 J3uҶR-n];Oǚ"A2OClKr_zv':qM;]pNO^dT왤`}8a l] p30x_dֿ3)Qܢr}9VK W@1EA6+k Pwqi 0~EH„3WqP@޵prz U4lhIsQGw%ˏCG7M6j%w!'p> i<1 It5oo#5J.WkcNn6F@=Iwz ʵE7fi8؎K aqDyCا鬗.)?ԏR =B 톧 2gBȾ|ϭ=B_hL }dt^k~fKƠd hKA 0ǧL 94I5e]Գ`* y8@(cxI>JId, !oAQwpUI'؏z>򋅓//<Afr1׵ QdeWA\8adpcO5Ы6~R `|ebAp 6ǯ Mv&h\wQH'!x ڟ;Z"U>рpG<љ:qz:k.Dv$۞O~Ҝnx%fBhKݨ>S!x߷ sH89V:֫sq$~E[:딐ڿ+0aa 8Ԓk3)̻i"6B\m8`1s>0yNKvW _[ЩMiwm3ͯ ?{?op6GbC`çzϸ.Wu08#]043f*!Q#}Xe yru5S&[g(=t-c'uRU{'z~%l6ﷂ9^N;#ikrمa[RE-dc ͳ{O8UbCUе[hۺn dvy/mnw;в۷E2O+gsheT89l3W[,ve};zqZPu q&bNe}s:y|oup`7uSnO +'dvƼUٞb#qr~nqPM=z߆ްqQ2Uw`Nr8=LXz8u%vp=k"7 q`4ql(`n,?:Wm:m\7v)ɗus2;okr@-V {{ +QߎNrNڦ6F36l!?[<V]̞d" g)J-#Ld;v< e bE5PGV :cZFTw6 {{Qd<=H\ iX8 䌰=;s$rqITӿD2:$"`cӎ2N{zMHq'=8zdvο 8RFrw޴q\Ϻiܠǡǯj|$BD\_y _DWb| =8vʀsmV$7/̙ )p:n}jqNO'9cғa L m?@_c9+^OkrC`~$aЭgæsҪRNlЀ:f%.@zfぐ܎C,3@l NU\q]Jw*8\qmRwdtMX*zf$E%<jET|Xp#o~kqiG?anNAb>eL:!@ಱ#)z]ԫzRr$|a(i<TvuޒOR֬$yw:Gx۰1p3=E˩9#PJ gpOSOq [{Us{c-֫co*z5fpp’9%rN1_*=;}*%Rؐ;.l+;I=+BGq r9%מ[_=R,O_\aqք bp08y¤Fs6꧎8?Y_=q\ nǧӽ7A,'  f5zN#\ ~DpVF2|(i͜w#@<؟׊ObS'>f5`z8[-08Q鞽=*c#ucz)$sݏ__T'<שM;qVC3ߧSZ @'ҚЙ9'< J@'$短H==;?J. _V㰭 xTH'z⽜67sĻݏ"$l'-lژ$ɯ?⍢~ 飷 cwNtg20—Wf^Y!ؕOJ,cĎl8;F݈MJuI )?#ۯy`8*@nKu88zSISh g|}jVYgX1~r8ڒbhm,2-?\G±ܖ1)m4ᰖ5_c8r2F;)Y#̍;,xIu`TzӈGEi6*5?Aw"!clK7.J5`S{TI&֨楖k-iu뚗d6mHǠ Y]M95< ,la~nJtfl e1r2!ҷfN7~ګn\Ί`7 \9]+Hҏr1rʛ߹TRK9BSp||sn>U:(F%9 s_C{/^MZ^Ćyu+x$d\\BY+ncC KcpJ6wȓrzu9y I qylUX3cImS~ ڵۙUo/;y1 pg+jIмGi+A  0Gc`w]\p]4Zs$|<3Xu4{c lr۹fF0z?4[%15P-]۾0+&ڽ-Rk j?%]kdPTsUJZ`c/ J9GQ{;gYnb3G"[XF6񜎁3 rhڅ2P$}FjZ)I-a[{VmG2 8z[v7?}w݇'q㊇I*.Av'nK}zqڬ7,s{ml~#>#CbAr\6ŁdGp[^u2~Ia]̌8+ңYoWi_#Ms+Ei6Qi'h^j\nE0$/AS*;M^l'Q"ߓ' I?7ך !c1yy̮;5Ffwm.RUxr0IҸMY@~w t=kz3Zz 0eHsSle@+y-cӸSsEȿ !ڊxY:KNpk)/N[=A5+a\c(9qsQ@3d =:jK~bR2qdӣ 'į,Jz)g:U2Q\[?*``稧lPsp'ez' "E?<e,d{qڥf!3FaF1Œt8x=KX( xWp6J[Is m~]v ՉOB9=kG\9#B@ 1c'$օQXBY<`p'< #'2R;VR)ms|O#)p>\ܜ`x1\̡pF~^#qH>Q-l{y#+1<{#:~/$@9;L<\t)-O;qt `3r@#)rxj%9‡#׀OJc};!JA8cu2v0ay ÒOI=~^~22WU7BNԾvU#8dn*qgx$ni@&Wī*7 Fq&#@99^lJ8$v9I㊐Rn H$nL知'1y8 z ds<bsA˞I K QOf㏙\$ g@u$gI?(Q%OVIPN=N g@ymۇOk܂l(XtaƘn<JJrpǟ4yls< ǰzyoϥܮۻ/zAwn;P?!Q1#$S)sK3U?( s=GR @Þ {d}!D~.:v-py=ބ$Oʠ r1s2;Z^R0\N8q58"Q͞&;dlR~'ק=*npy'xy g9OP_x F:,9T#cɴFy$=J6}V5ĒCpy!r:;qqYYbB( 28\A.;Ҹ#kf6P~Ső :9f폖bR1Ɛw7 ɵP by1 sB<sXmvpxV6cq31R䢛}1^gsaB7U,!7cq+z]2HO  2Wvp0z+1\-tjj1Nڝ-A"W+;1vx نj7!P*sqzt"Qrziӗ~S\4,7 g g(Uő^v)5/-0uMYo!zװG,~b:^j #.u9'ys+X̫YNTП\ֻGpEU L`Қi+uw%s.ÓKDΛ܀v 8wۤ1payѢ~OAJWvq2V>A`=1WKf ȭlqi1r?I)mrHRb-18z^p˼@NNFݱQ=!9ȍN+9#1ўIH n҈o!{t*5jGRH veTI e9>V8?zИO$_Z΢Iwz z &sq}GxMܐ6H6K~dןSec(RQ\~ʦ99W?G婫&Oۓ<?88{E%flg?7GA=iQqz}P"=z`r;;xQA8Եks_H@h]N;4yuOoUpzr^;{ӏN\ΎA@sߎݩ2E<6[w眦5E1ARW9#ef;FSuRI''z{2;Sh.N ZE3kT`}aBJGG 1WimF0<1yjkD Qjc cYc˜\XvyHd{ ~D t'UGG9ndI+)yt8dݻ0>v҆'圤)+yV UP"#P:{Ҿ-K%#ݞq4,9_ R8<}N e;|HerGCp9-.DyW꧒Qӯ5mzP ʤdURM:oHcBU?C敭Ѷ <;c B7`;"nzM`e`%@-*VsFP( < U [nR WRFW9U?($r8oj̒ 'ʹ)#ǡ92qaV73X"2!)E=~Y|ð0` B$ҷCtcEpKJ37>aqzwEWPXtt9+mئ[thYpN^jbMH# hNyb1Iݻb7=G47?u.Td`dv= MFEg FR_0C<5_UwP8`9b3=bX峁q gt=@|A+Ja?ΩyIntVX۴2duŕ7 !qRNkA]֮?#IPH\' gVݣ'Rd\ ?[w<%7\u}Hֵ)zh$5srYXg8rG#+jK,ܮ>UձaְovѽZzEY~U@rGv#<yyJ;sHr[$n͐9=Ns\e;9Pث ʌ|y"r0A$NAbI9==UU!Y r%XrF;9NoRrŔ*1 tLEW$j` >жEe\Hvܙ>ln%Xۋl J@{tYc;I\8:U@?7d'rN0OO^E)U;l- lgq#őxP5ɐd`󷓴F.籨aF {`̃ 'Z6mI98'q,dmezqSVmVHυ o$Mѯ"p1pJ(<#9d]!@f^F(_ǭ֛>u`-{IN[*G8j_r#*W n㎋:^3LdV⡾FlW;N)^r>¦ O'>O>iSn/=k1AlRܶ-s1ت~bG=f [$t$:T[Jy:I@ d?.ENrwѻ94%,(=%.,@pG%8F1m!FJ1$t"[@>W /9|U)9=m!y7I$uEd{d/D 32z12ߒۜ^J]‚ӃOՍoaԏ9UpXdښ3l|#66`@&NDK2Ўv[>Vr8&3LDmzrĮ[M$Y.[q#'qV_cG@f圶p09c+fdq/sR[OBa=(bx##5o`b&<V21Ο r1{f{ƊI!,`AS%m2OQ[_QXd.sF鞟jH\c!qӭCݐffzPQF@܌8#=i5$A2{Te^]H>{sִeyr3"Y31>TO8 ?¾tmж YI@W6t#=kbt9;⥫;|oCImF*FWCMu*=xjoR1帏bZF;q*Ɣ;8 {R٬WrPPH\ dd \}HK!&L3*o\Y.E˨`I*;tS.#ܖPЩi܂ReFݎؑvLqOE%?jM $rNJ78_dkvH!$eCv?:rLu(2Sn8$uf8-bR<iT{$eK#I+&Nޣ8ijF]F|(UPy_rIK-hPHRb0:vS${}AA8BBdq x\x9Isbh[hl| L6@Bsǝ3c9ݐWGS.vߊT#'X0Oړ9db0CFz`OJ8du omP>zl=$`p$Cy=;~^֎#F6 N@ӜU/25ڒב|$ bzr{vΙOcB $sc;WqLol |23## ؘOQޜ BbPI.l<SbX¢&[j㺒8Ў{S_;UHC)"v>v-C\fːwsx#=E1e9,dۀ d.sF:fv37R|njGcrñZLG nJ7B'1QHI.# $S'q\|Tq1.Hl.sӎ(Z_vPˆ88cTw^{'|C R3cm&> tu}j&bc+rwnkQ;s-z]%N_YsWk9,SqT`gOؤ<8%x)|SѤkkWV^m]SM R}>]f̦8Q02 7n$u11~}4cP .7`.[P/7 sIn#&S~\He4em9-#n%nRqҩ̈́*g. 6?όw˒UTbr 뎤'RI#pC 8bD)*$9 [C{@e c'2Tu A d^Lv{4 QP:0£_ -V>^4ҳȰ#:*mwwFCgЗe #Ҷ[9Ml"Y}R@xdNw|'Mkѿt݁9O0s ʷ ŀ8D*=jcϯ-T P.T8$e2?v(X$(0? $B$g9ԂJ|A-DPe~](+T.9hһz-ba 8In8%Td䃌;ZJ./S$4R6Y'~+2|ZRV?ۂqr r[kMإd*͖8%O~$VtE8黠NvM=Q+4m-S7=!?ctv~F+Il:4󳁁;~4>Ǧdr2,nz^GvwtT tP<7̨]T8 eJE L Z-բF0({d] ېr0RzϠJL(ǃ8+[ !c s>bGQ޶ +[&9r|c'^q֥=&8Ȓb 1cӶjo^ 2Á}RE08">^{~=[D_CCn68 `s~7Adɒ£'Ҷd+ B?if8L<]9=cy.[O~zMZ[bN K:ӯZM+c!UpqM^@ޞB6CҲ&̅J(g8y-jL74D`=YĈrO@Iퟭo/ƳvFLob=FA%1'}ڜf(\1>/㰫6Cv}\.Kk 2f?.:>'rǨ>6THlʆ.c xP9$'6fsܡ<)TP} j± ǐy䜞?JM~dY[^[ۡȖE8bwⷮ`aJD58®2G3{/vFUBA{cUOA'ғZft~Y䒝FAO򪶅I+T`1ےg_¬qqH9uf 9,r~B;u8Rq8#涎cOLsy]['UpĀ=? ]j0pH e،}A^ޕ-|VԃNX8ퟭ4&<9<ⳓks/ ^b1p@VSPnzaХ$K?О?u9֤p瞧ER9$F )ٳ'u*+0z\u[yȂ]8|Is PHvO8^;TO!h `ߛxL=9ܶ=Yha!H9OF4ry=;hvL1N;!Kd1`O°]-/9L\⭬esn{E: 4̧"pr`1䑌+vV Lǚl5t},y*MUe9f#$c< ##wd8z85jJT+s?1>;dp ;5tsO. bW8=|CùFzuZA( ON7Lqnr1ԆsךW܄S2[}&Oӵat*ƜP ï5LjҪqGU)=/WӴ[h/Y̓h-zбA$p\cN+NRI6Hg8FRoO#%PYsZ 8_;VMVm$e͎=PX[4 us28J>L3;>660=>})rac߹];(W}cL -ꄶLmOS%FI13L+kv.C*0cr:sPKc0 '{i- ە@eoqTfQ] w*⓺EƢlTs84 O@F'T_:섌sӒ ti̒5wd3ۖD_;A(vP-u u<jɽwY6xm]>m3cLS^EsmFp\9pH89#UA+eE䌊۸sLVu ;qԞ Z.F @ݙg>JUp1e1 8)=HzΤg >Jc^8-zqڕ"ܐy;O$#oΖ0.ps$u颋Fܙ*G;($z 9q :g6d2b܌I8 ON})  P IRH2x^2O_ïː{ⴔhǟk9{9Iv+9\A#=B y= o syJRI~6 v(mFvtۧLү{dyҙAz$'ғsy9`v0-RԌy REw98{ԭ3Fq4o+B9N03j8PF1_NsCX~KŒ| }ގ g[j(w6р_;OC}1s:3p`?ֽ*xXf72w ғI < Z 0"y T2dzv˺;*Ks23Mgro=gS ܣ)!uls=qu;;N7rrqJ5&!#2ĐH9;[% v(ڨ+s7c: VJEwely=IG,#|1{+ǮBΞhcof`NiSnle EH h?yNsBq[/ծUGEoCeG1U'4_T7eKPshrC6F^yya{l yE,e\'$pszR-3NNı߽Y: bKnZ48 P~aO5lc # QZp˹~R732ڕ$aC` 6.z 5cs.;@7|VNF>#]cΚ}bb*!c9 t<vW @돥tS_XFIlpQ֢r]Srzgt+hCWd16189zU>|[v1^%n~-*2rʇVl.\;̢F-1Ʃՙp~ך2T~L 8 9铚2(,I*.Eyq\ƶ̸"vʄ7?HҦ:ByGV}ˍGCn!AG)"OAI#F$Pzx$pGz_LwH9a9 Nߍ=́iʬg a7Or~ ĝ)@A?:s+xȡ eT^Wܷni^I9=>H6x(gIe%9=E3$pBAߎ9.e8G̤p@lA]?,[e@B ی;\3MD~Q;h$*,AF5ȵh&Aam÷n29郜`U_XrA^ߏN+ksswdo95ym7*d8bHO==*:/l̤@,ʸuILFQ9LU)`n#"8,çiY-vUڠ1e|i_ϥZԖ&6 @(cA\r, ,(,ztzr[Q-av((''85KkX;˒ǨPŽe/"jKqU9?>r3@285bsP99۟ƥM54ȧK}t\1c$=So%M63ay9%%IsJO_y0`C%.P".v~Z~9rn-kwd{402F` n0#$<-U osSqDZ,r81os;z@'uD[_oc?@4|r2;^ԽJۑ[OZB俠\gs)=| 8dU ?<եkpqb~R8v<޳$=6uvb~bI%I< Oˊ`v w}^xf[Bh2Blg隕=HuϾ)KzmL$s=Ap&@B nr:qqӊ=o&D:Ǩ^3 >ISqyytoKѯOo 1H6shsӯִ.,@˷rwHƪ wc9FB\We- ǔmr mlrA8Wc{c?Z狀"_ 9{34';0ҼZ"pۦcAۂIq }%T}+~erW1n5\\A1-s`u{<>N$+bps֣UX;X6$798q] 9P<ٖPA?}'jFГ["]MUpU:g'm4QԿ'W#⾆$|vdS%e(c =-qöHsEY 3(b>S97`=(->1u'{uZ#=t0C[nqÞ¬T7kt%w{ 8uvK"ק4y-+|`&1 gqGz xmQX|$$tԹA ܏_j?MŸ;XjȞg'les9%@O<@pY[qR##$jSVlY}ǀzWaXa)|0rm ,c 73 tFӴD!X8*%';^5ڧQcIH-  zg4|l ʠCN1҈M #1F=* NFAU5Ik R8ˑ1HOOF1Gpj=9#q1Ҥ8w9VN["ӕNIRsޔK< dA*V+0i<:&.ZSqW?Jm[y~Ps$cB"}+=s8Hflfb ~Jg r><C >SǕs-ߗJN?ElKU,>@杻'|CTȘ4ȏn;RER6_Ҙ[\:/n*5)3nÞ)!P0#8>-):~ih#g\2t=©h7P*3~jmП8V8>kZ #Fn10qHzH?*<+)3 ?v F͌|zđt `_njoA 7s qߞ#g xh իֆa>nI8 /J]GT Nyc׎+%F \$1dFSOζ!e, iێ9=9?ZOs9'b0;d299sҫnvP@HHJ+4_2:b{Iw9\Z|+d!vv~jAtzT-irÈEU0%aYҳ3iL\/U7ї%r)1EY$$T翮)v~9p*LjI\E8np@6#ipyFWe;HaR1 i[q\Vv͢{' !l;I&I S} Bv:mog9_͸ A{RJ#Zn96x#n3~m9n׭>w2D$;SI*<4{PF 2;qN1Ї.EXre*>R9;O\~ Oz[G&߉I3;)~'q[_a,hp˱-b4rA.&>29z9r6Eoy(\7e nq֮*spHے0$-.m|4~+;q o)\@'xMv4.GI9C*jf$qFFqUq r$2u…x~c9jHhRGͼ}EL;~ATpӧzU7'jsp=GN HPpdF欩< szR]I%>mT80WN~cp2O^9G; =IsZQOœvR[2-G.9#6K0?J[mvgiX.FFW=9W#L\\c4~lY|1(3|PNxj}$_.:nnAJA*F70*%g؄C.C'Zظ62*p`p~Oeмqg>Fcf6y$`㚉keJ*ї-[rbpV88(dLlr:_3SN2pNq: qVp+JU3;Ԣ` 1~@egSʃ9BaW`qI犠r;ӵW QC`69sSJܬwd-B?$O ہA`30P2`nvQt$,/ p Twog|aڤӎO~1ުHŇ xnkNE $oI|8+`/r{OٯS^Ut;1~v,m bI 8ޱO[B!R~fti#>!F8ٞpnQUʓ\I+fT,vyT(Oہ*$DZx@桛Z8̅.z}nd-.{grSB899kƞ^{V_\xe7%6o9䜞{eM +# c Lۡ&/Pa"(l|҃c=aWqn~qGҴ]E&>(fb[8ZՖo$+sNkoc:) Xciˑ6ӏxK8'f&r~յ)^eͥw:lfn0#(,#2;1 rdtvФ.gcʯR{w|:|~.KOnx#һy.qڛ#Eb+d+(=\w)m4{Wӫ~˔~fd/F+]5OsʽghDT GCsA?3]mk7d[ m%g@Ҵ([c)KGފ̈́Q n 泅1'`c =yZ$h,E J3F*7nCAyz~m @ c*gsd`}OxU߾z43d\ןS;dk9L|屫P_<:VW Pv!sz2 7vsԒ3?CKz\")D0@|csk3q'O t]lC2<2>l댒O r7_;|#q1?vS8p:ǭL]-Y=~=aA?s@#?;>Y'|qڡtsl[ے8' X䃒6ϮW+h,i9\)$5 1SNb\f%#?4(H!3.~@pH{RfN] ̙dB0qRH#a:dzӒ>A'p0Ilz} Z#K–~'>?]@$*&f?Q$*vz,q6O )fw'c63oLdNN8Ͽjg)Z̞L+($Ͻs\" ~l(iع#{ 1.9#Tn،7.W$qp;~c8-vH23,} ~U #*Jܞ'~jW~G:M}S g>n0lʩ~iYD@:vqLɐc@V>Bbr?SVq<:ʚi/[=Spv/. 3^~KIz䞃񭤹b4[G_=ɘ<}$ߩp՘Vyr XWe p08\tuWhLy=7 F}H3DcOYws'?uCLrW 7~z}*璤% AXz/B| =Un8Nw==枢u;esn=,~l#'B'@9}/æc8C] J>;3Npjd;cxG(5I$t^lV[#8z;uFȭ.̾HU dcmSI)YN] \˅sc=y`Tǟm]ޟ?AX;n´Z:6PdpysT[Y+ 1Χ٥Xy}ƄZD97s Uav"MCO0r;^jJWVރz?ԓ^qx1S+|̔ZCǜ)=x$z)T'Nz!2;dB^N~yjmwˁONvҝOQm!Tq@9֜n9Q]X|eZrMIΥm޷Ք',lWԜ~A$;u$qھU&"#v6V\ ya8'0ڎ693=zbꮺEVBW\$dT6>X*;)G2?!bq=bP; c湪])zDZ工X[U w w_Y߻=2.z2z皮0NU{54K#L?_£ӯzʑoMu/ys*f򁷍A6>b7J|sK;&ݞqm޽iʼ ߞq4܆\[^X+ js=Sב>ݪ%nL6W ?4YA)$ԐpqP:fMۿZ_"U2z!BNzz =Rg=A5Tj;ܢ4 Y!ps),JWInH v?J˗Vm2=Z8_NH,69R&ďh,d0neechN}M%ApDg*[<5ĊFx\{']!^ՔVL0v1~<Bisr[M{>-<=+N+TL6H~׭tFV6rV,f?[ {6{G֠`WUDG#^:w1ӀێJ\g%J{i2Hb6x,Ju$Q;M9-ǣs=Fz;ֺ Tc׀xE;}c\;\cߎ8n3l `=i-"P'cLF120g^AVm `19b>lrz}yמ}iX\ )ƄoB\vn8ݖ{Scr~73oˁV)2M A^Φ .3GNTŻyS$qq?z9w韯_FĈvܜ㝠c׽$Q8,;m\ghK^H#j9vl#ݱr#$qj;1}j{[ ccҦN2?,=UcN7 >T88n؟zs[?Nr:dv %y8`;`g{Qհzr[?ɫ q hdl=Kuҙ9}~}Tu` `9=,w}@}~B,Tw'=p9M]ĶFϷC% #+rt#y( 玃5'}ߜ6H\o09# ~bE 'N+ފ5 fA*uIƼR!L`A98~5T >͟{B] :Vu+7GLO?ǯzQ㑘FN^U }@$;QIX!*rۗ_@5#BWg]g}iI~"R$~ml0 UR+nV8zJq_UR'U-"%D]2>94#gdfXs AyUЭIٜ#b>2)[S02C0+9M2oҹylgS+^^ʃ!Uvj+nQ}<{QhlU&52T(Z0@#(kFs Wk3+n(ڊ ֘ES\xU#G+XHr`IR~=ٰ }E}_ncM# .e6JHTɵ71BBN9ZU]v (FQ7Xd>iFjBw=:dzVf"K*E!HE`]r1ZErM ethdY 63p:Tl\*lwooPz`8%S n3J 8^kP:Hʇg]ʝ zWG5('-#,͖'nFnMz^NKe.'U+`x: ٣,㥏-gL{# bFKB \8 _:]K\:mˁ# GcNhqkJjQz iq)nW,A) :ۭ{.(%˴Ep X ϰ hpqzwz<=S˭m .dsW~$ ,m<162A 鷷k ֲ<P+!#Pz2`Q_UqqΘ腷F1@8 )z)[XGM9,oF@h0 {H*A냌]Sk3ܤ~|@G"801x'Ufyr퟽xZ;6)ja:I5ɵ kiXO`XYSxqQRy.3>k~BkNw-Rv .9 ݇RFh^NU~g*Ŀ9\$ Tjf!+7)bLrq[~R>oЃ'h/gÌ̠p $}@5p]᷹G;T 3ETjjd'} L`tvf;*b \dA$͙:v&oݷDj7F28Sq[Y VYeزjc9ܬ0a茬05)m r*0ʧF=kn߀Tg@Cqme0wl `\P=Iy2~V;C8G͖:``Y~  ⟌\`&2yrqU7`$3AF1_OW0+}97 (0{/8Zc ] r1~8ZRzud1#C`pMy'", r1(+TиQ[qzTF=Ep;w@J ] @L\Ss>+.瓞c9<旜aπqz@u +py?AƣG@9xr8!' O<Ԃy=:tg3'8 2I<1.`O<8Ƈg G\ۿj[9f;Nﻼ~:Ѱ1(J,@SIh  1z>c KÌ(/zcV&cf }?}CW~;y8UKp29)DEܡN2x0M&7 ‘2$)w8!(*b,@QۂsLVf/άI!R*C='P9B$₅<cQ`ʕm66<:}i-DV\n$UnVf}Gz"P)gT䟼FyS <`vҐ"`s'%O=.u3ϵ!qq69|4(מ;1wN!k q=㊨Epd| Q[+f ?w9R٪ș.8]g=8ϾESycB0㎝ZԢ 3'9:c9b3xٷ3fc9ǰO1m uҩ?vľ>A9`mz36?zVnW)+nepF8ԧlRŘً7וL:Uɶoj=S׿5ģ!vsq;hQ>-@߲23 X8]|0%T0'w~bN3>˫P74vÌWM8DY>ҴvK *+;xd@ ^s3+;=<W_"ù]\}#k:.?7c+伙SWG 9pTkgہ޺ M-ʋd@㏘qk<98?\ؐN~́=l*#J]@U6G_VTzɿK0MOB9>8_5Vv94Om b[p|"AR'bxIqt 2,wC (!9emc9^d֪m`ۆ!9*:&TLbb&dã{oLqd*-2)0>9zZlyP>rV3gx$>P :`V<cB*LE2P}>X}j}H9r3Ň̨KGQ^iڿp̊VN`G<8&iGrv`|"،x´a>a>ӳ%W.^̓OERG 2ĠCnqp3ֶu-wۤ >f~>P#^\}\߼d/pG88qUF1t3Djv<2NGT-9-X!K0@r1 K /AH9jtNO{^~Pcgެ|^I;@$M/&OoS6i0_qd:b;b) 2: ["Tyy~HғcDK9N=Nx-eRҀc=7$vƝ5tpWm ZoeB@$$s,Fïyz=䞤FAUl㯭rgpc1C? l#㞔,pdQvT1x=sҥ#M-Bw7}UH <1ݽԱXþI)u%\,Qɱzt]9ǘb #V_-Ls0{#Bfݙ`pSTS$qP'RFf|Ĺ' 8>z|0&*|pv#rO(y0#pTc$K2TnsGTo#=GBF23x˄2N什L]tQ/:1^qWNϠ:?JM領NcnGR u3gX} 2np\.B )g>ya 3ʃE-L68rs9[]X*$+<ԾfXrq2Mo *Cn J39WLӎi"Řggڱc3vP9#v mP8 A8'i67\z֥} Gl2x.>#8>MK$G{iRP;g5)]<7`}9ާ#i"&+/TS;p:öyODEDPl u8o[RPI^FH#ޘn1kbZ NmWw͵OgÞF3M2 ) tꆁnצxW@'r`9{N%5zsێޔUsdc ~6g<sqB}Է 28}MIز?%Xqı(8̄{bN2v%JmSqӊԶ8\+qO_+e8pH=SqLl2m8$q=w819{TII\ ?cSҖP(@bXgS0ÓޯGNX10;9# {OO6ݑcb*ku#O`~QQ-NqxK}IZ79LsO6۸i?3Lm^ n)#J VPpr7Fߥh%QTn0~_^8q4|fcJ[s&PI?)'Tx[v==?1c8Yn#,9{Umc+Ѕ_'ֽMM6t>"=Y I5t}C=0$@%I]ҵhv+7eF#d  sڰn.Vvw,v<gϪ:)H$YwZwBP)"Ms9mֺU"2w{|] vYsӠ gP9d|}381:sךD\F+qM$ٲC?ISӓ㚵7݅@'wG'?7pu>k Lp.Cx'i~^A0} 6ycoG|cH9#R'̟xnB|,/8,~\ 1:wm U>]Ap=Zcnsdzf&CNYXd [ }r}aŸf֦4q!J$:nj'q̏Th- TNWi眑9ݹLI89жhBYp9 ǦszKqn.pH829K3"K1bssZ줋ORf#j9Pq٘y>CvQYu3.Wb{13ǒ}9BOWQ) ȕ#9ק9X6>\38Γz~b甸*gx?I>GɎIek%]L^yQ.@GK[1@o*Hx|l,^IT1AUb(OM=_^bka@r꫼d(}O8֒* l O$i> dc;$Gnoo&UԂ7,8 >açB1ٲdU4g9{V&/Tv .9T:{"DPT 皛ͪ]|*펙= f eJB1B5 c{h#U;B62F2sJ+fe `w9'ʛZi ]KSi>\hv#j@4> Ԃ;-5UboRH82rsLKV̙#aIpFばsCo#4]"zOXdi!# pKU.`q5TdHm98tV߁JW*%̱tB>Vܹc'Z>NQ <ץ5-mԨQs6 fQ#8`Lyj<fj񭖿yQXāV[ An TN)8,2B )ޛ2r x|sR(pR<;yr)"AdP<0݁Wrz5`B 0p$ cơ;d2R.XN`ck?B2,X2rHRh}t)1c裕`3H,Fd%9v`zU//Ny *.S8ST.+2Wr0p3zs\\vl]U(fzۃ񮑾A0 ⴷgVWE6m2x9IOz0e 9ӶOq-]މ.}!7 5\$F@xFzZrB{Dkg#O[1="#[3IO8#n c=.\g48= ݸ wsN!bd`:jn'pN0}PֈRtHFa(Xu gnh^ 6T#sC$si9N:.ee} Xu(D诞b@`r[.p𾧧^F*PM-$ߖ>0 zUF6qR}+鰲t=e+T%j b=< vbh219錎5x:MXLkF#r1ݻf qp{W[c"Go1 8' lc׶윏5Sg5ZݷT׫{{W's׌5MU`4?/C\s=R Uw+=u,iv<L یc&Ne_8 g5[a~Va“ojrpsלiQq<6i!xoH?^{V%ńir#{`~4QP"$2r}IϽ35~1M#OlIbǀw\2KFI<0NOONtkNfxҟvHlԂ{`c)cIiw֥nt**Id$8f GS=V8<|۞qI}F+o*Bv>;S$`mŸ twpSRFc$rxoҜPc88`*f8֙j@#r<T$ (<dRvg>"2:b8.0#ך5=L{|).iМd*#rϧYs$2G ~lyO$A;Rza>YIbǧEW!I =dg?^;sW%S. {g=kU7bK@O-^٩0FpOeQ҇La'GoQ3mvI >x{ \`rWp^N6 ;q5*1 RRǜg*nD$ j->lcrqj?2}OUtܡ$~st-rxd685`)`AےzWжB>^8ZCq F=ȉ3NFgۊb.)(6}n;QVl '?jBoO8N~| |du,cG&a}Y0qR1dd'Cx=8AHbb[q$mT##$1%&{> u뎀=V܁z}*Qoh <e842 x?3{R_qwAJ~BAc=9=ݸHyawh?Fz %͜sn]8Oj.tiYmϞ0^Hq_gG zTueYk:2BUI ö{/p cR,a'ЯniwI=sMwo98Q<}k'q(Сp8'PҥSӷp }G׵;~@`+p@1ZK'k/1vL*3!.ua7n$| qI!,gfݞxoY]ux=kI(o0/jj<1֒G4vO;$ЬGk;U{8#=*O4<J9*m{5'^H݌ 8д˳#i'uKVjMB9cc#n8-unf&*wNA!})kKuf$3%brPHsP eB s5 F[y&*[' :n=Ru,p)Kc;[HI+?#̪Y1#n5S'"EpJ49^ ܉>ǕFf9>v]WF(b2](GVXUU<ܛHeRH:`9k]b]9rx8RM~Hz|%C8 {^fby!F1etN%݌D.~W(ɁV<ҵi/ęI[4f?uRfIa(*2CNxÖ-hAdfY~+Nn*Rj3nphm]g, (}k4{6Tg( $1CsxJr[/\:Ȍy vkX,e܈#9_X)+)`;Zy#ã28W:jQ&z[cﴫTH ur!ܛ]I89 t+ 7ӅE4ا6.%ԶUgwY3F" Npv)z} YtJA@qUR~zՈ]zgp+sz  @F$"m<;VPv88 \\nULs pG^2{Ӊ8V+& qI0a~GӌTPܸ>b1ݙLڭ14J_vcN'jopr2 c ʤDLUKzߎ(;{ }gP! 9jPN~Rx'iSz-gm需a׊ ~VϯP7># ;$Hra\ II#'$.3=!3FpNFF3I=' g߉}V$A!GsCr#WcU~>\ۈٹk3 Փw`":~Btcm;g׏ƎF) qx=Unߑ厠@6Iz) cK)g@q\Wk7lM]eh悟)+԰cԶP},ytpa~J)g,,y}\U)[kOf7`X@Q́J[Fžfc  ֣aB8 .z*;ROAB $ߎUQaЫhI.A >'8ϥ7iK11[O)i%"F]LsW`a?"y`\v9')ѲŨܓDbB 8;38Ȩ{FK=OA\#s;d儯g- j1!nY#N0 /"Uc̊Tdnsɭmȫ4\Y!w/8Lqbܹbnأ0sezҚS,0`1eG&<A޽ CV3fӽ[N jz384T]}W|_ q\Z Ucvݽ{3?x\͟A>ji249 ) !C=|A`2zy3#bi]J=cHM ;i+sB2r00r=> ̈^8Qi=Z0- U8[\̬0#ir0?J;N:_Ҿ- \3~o#'6!o" =)[ᮌ !cItDč#Hyww8;z玀VRZ{3`8LwyKA;r;V5PF9%qZѕAA@P:Ryc[szH5%jlp$2@\w fFGbU0)O$G,v8XVs Aכ ~dW8L!q=:"HIrzdSy{ad}{7 ?.;M9g<E@IUs>޹HP>*2>=>AZ'{EVV9A7g N+FKeTǩ⚧+ӡ 'VoƫbUqێlA LA?.}~$ t֡l7@I8" $?ңA$?J29$Pyg;O9>{Ƴđ3I>v'!qO ޞc9_Z?(?\]2+Tcx~H}Fx?zqKfrPLےAׅjIQI$oJVvgsS$[.Fp+gT|,d!Cn9W'+ϕfriK^v 00NqqZ$]>PN׊iKlRBFRN6rz=k.xJH~y1^k6_A uE 屉HW/ނS#+!cqUG\Zfa3tqܚliropNwFزqBEN{/{qpzK<v`6{H5gvN:lRx)i  Arn;ҳ$bNc}ہw9ۻq҇-Ee *~enkץTm?(l3(I0K1(p1߽Q >Pһ#UǯC E]TNq\<`oJ ,d~p{Vtfᡥm2DiE}{ nD #y7oVctD\(F7G~V%9g)DS .W{"Fnh'ˑdi,Y~l'9ϧJ/r.12\`9z8h޽<Nwե31b1l;zpw)8/;t bSa4fVգ2xl<\Nz6 qRVܚtZv;-5y! r*\|(\e9R0#zgҲݷ }ke9UP6gqA>cʽp,Ðl={~#rNeo`UA;Dgb|p{Wq).Wfnv,psPDDx$g*\t=)5l+W9P#3T|9\8'P#K86 0 Hʱqɦ3$G? =pt<ǥ4ßtEN~e=#s~91dF0+&iw&w6po+;4 i9C7u zӾu/@ă\v>jp_9U T}|1YT,CiL`c|3#oON\#,On:}*enVÓv=7RwԑI 7 5[q:[=deX 9 _s3ЁK^1*W=#<Lw!< ^afCK!oC1PB*q#'PƖsdcQoCՀdbu$O[ R*Ö#'9o1amj6)Y#C7*rI*=sVÃM6O\gqJ=O}u!ǖߔ{gIq_Zq\\ҫ?Qr1 ++eosxOE~dFv Wjֶ6#=‚s}T0=?op*Bt;SU\ p-jelrI?Ñ!TPU;I8sE~Da r;Ճ rVP 1V(wL /+6ᏘIзNFQvLWe2{cH>BB$syS[tBf m xZKm >z#H;p}03#M;j0HH^*R y3ۃDsޥQ\EP@9c;pO'*;&Np'8(ݸ)Cx(ps&e9?p:[Bo=YЗ;8#B'Jg1 \vsܠߘ)y#R]-bx9 ?Rgkrēu { Ň1 ŀUC#3^߅S\!tld{yta$l׵M^\|wudgo_Rq5omX* o!FU,3Uհ.:@BK+=8'ҘNzdF[Eo-p %WVv{8ӊ+s7]"0NC1|uɼ _.Ym9VN{KG~5m wܞqתFhX}+/BVߡ % _qti>@qcS#"QgQ Ɖ6n,տ, zYrX?{$=V^#o嗡rN9P:- {fSάRl&3G"pA$zԱڎ60U~S+^Gns^7-}) Ksz@ .1 s֭+A[pxF`H=e>JǿԢAP.`3zsni̋8 P0`#15Y-. PsSmn9M"x%G̽EeMz[ ?1jsw&cՋ1 X1ޠi݃dmY>@p-jfM nP >cC՞- E$=jYQ|>ny_7Ls{7մs I{876*Ip0}?N+ф<bGI#cn7K `m l1hW<Ӿ/wp@Oj""3ro [kdq&cѻbI pgNݍ"D{cq<О6A8i6m=;=S;ǖWg|j{*`HpF00pn݂!S /gI]?\d(ŝb\ w|zWreÁdRHEPpz_SX Kqp X g sN﹌Sr0ra)d318Xl)]ޘs4΍Ke;QAd`no3,R0ܜp?<ғ+'*9;rrI`{{QzjHax9 I1Rʡ*I$(T@8ɩn;F@c֟F3ib#Ik p;\ɉU,I [bܩ2Ď ~eapH#^٫Vn@bCc'=3k{FV{+,XxPŰsU8 O$ޠfܷԷ'8Q `8D[͞V X8Fq Dݑ2`9G{>p['qέb=sNz{:f B0c5FV^VNJYTq׎ql3| {k6J1vz2*B_F]#eQB>I ΃$o.)%RV}U|Mt{n5 J́9fs#+aNuV8Y0IwE]Ҧ_GT&x*1JN)ۛcFȎF#Dzێ|-fmYKE$O1\$=9эNgMmS{+xchmWȟ1Fk-ovD\8Fr:ySm.)^rwSOR"\-6!A%AE̛Q 8 cF;חw݃\lf/,WT}G2n@=v19w=4Δ,hĝFF£uYIeAps"&~d!pUr|v*x-7 `lw̭#_WnёI'qLp$(RʹS׽E7eu+qR19kS.YQXhs6q=*G% GL4ZY\# avtSR N ' wd/*8|gl-&P4 lE$%K;0HsSiL'"\]FG#ood~uN2Ͻ``8瞵ٺ>ør11gԎ:~b[VԀs-{VQX89޼ 5޻씴l![i6-nL/ZӧHdI$2]{~(G lr$ՑQofWE 7|֚h˞@קZӕə7#Ҙ' 98+ Vx+yESvޙqH-޲"8^^ V9f;b7hGEHH̅$ H=*v.L`)S >޲%rIN> %۩_\8<1{sLg#rs*ssSfw%3A9Fڇq9ߐ?V􍼵8ԃ:&sd<:=U)]#iҥt8ILRIPł= eUE)8YȐBcp;FO>ԧ?/C8;u>V;w3'pڣF9'<LT[۷_ae )9qUee`}q[hԫp7GSҔh$a2r:Rm%.nĄ,8&6>tԋ(';sXݳ]H+HQm@;Aq~-ni"L<1' gQ0=Cq7n:q `9G\w튄6,A}'RHʽvϵ&ޯQeU Hp{s9j'$KȉSʢ =]ReQSsJ߈"ue1 tn+v [np8ҺOMףAW<#]YwZ8=y=]5 {ZxGli<sۭzlgwM}Ǜ[''4C]9<{Wח2)^|r+ڻm[G3_BQxSLZu+Qb '#P r^i,/}%7mVb7͜ԐOx8 ҺiJ#h#?w#s`zw4ҐSݶ 7Q^<{;ѪE%vBcaQfg2{/?qO84tFv]z0cׁ#>(J&E]T'{~4@o׽Czٖ񂧜==}ErOB?CR ?B;bH“baM~r O3*{:Tyq< MJD.rsԌ|'if(pNd}s]Ic{}wqg=s:0Anp}il-X㊁$'tGYz[M|sROOQ.-n\ v搹p 8NsI'8DEi9QIԷvUyd"Y}OF$^CN|RwFy g6@'jL)9=^ʊ2VNsGjv,:}ƾl9m6!  8#< #p3NALI1 gj.$f ;GEfrFcvIxV)o2AZR"P9*xU}7q$ǵI1 )䁴#k:QvлK<:7~+m8$dw5bT.pb?u=+hy'=rHVTی 9OQ2e 1RHUH' =6w~}?1AמۓRc=8^j6L0q !mÌqNۈNߔ?3XN#}?*;!=qD=pWz⋌T ~UMHl 01' U7N@#}+X,Q:?ZϧU!2u ;rI8qn?:f~\\s~JVUG ~"oY9?209֯W%_Ͽ=jaϨ>q֓ ps sR(7)Z\*Gs #z.8:}iD8ksq2}!Iv[N .sbJR}_[86N xT8z|B>of-ln.`qY%A8pu$ "ovREq cgߚO#qʹ6P}j5cҮq<)g`s= Ϩ-\B gz09q%Ir0q4Г/M#>d;@uY&}K;pOnȩZ18#`ٌd2=x>/% ~=s]D䑣A ݉/[.t12G<vIYP;* R1uΈ;FOmmm%/p9f=zuNQm P*8_~9d־7m])ZXyq X@wWe圀R9S}N)!KcLVps꼖Eeoq*0![pqx5)-樮,Xا;e$+u6)6*z$_~+u<]x;~#\mܲ5263"S` py<}ޥW#徛 ňpfsSҵS&+ʡpя\I=X];o}IGc|{Bxf?7Gniu Hee]-2GQZ[_#惱wm,Hytd9yX $r-y;u+Ts ŷ[J%) 㞞N~ sxk;76@oWr'IN6CtʑW";g`[޺8u 12(B'tD܍>{\ic|7#˂#nc|Y^x+ּ -!.iE';wFG8!?MsKe[I7lWg@ s澂 oúmƗZGs7Lw*\lq#9CtBW\N3w}hZ]Kl;efi w<E6X#$9\p7HR@eK6j `: EEc#n0^D] dl@>iWfҠ@S *>8$.Pܹq񣝓QCazսsԢNi?;R44 ڤmV;ҡ y'iszn;[sQ-X.Uq rHڬ\H)NX}>ӌ3,^ Dć2P|9x>՛B?61 =?Nrm W?+`CaTg?{G4( N2v AVT 8|°l7EcNGvOU_+: 88hgnnLYct`$ h1|ϛnqݹ3qҥPNyNE懸Jv!@r>=H=6 jJH 0}:n0ܐ򑓴$ghЬq$A#eI`.oW M l09 '=$ק \IH2H7 k lwsI oI)*U`%PA~]*NLcyAH֡Q(|(R2AQw|C2[$LF<8YzzsXڌ2I4ț[|rG|-?Ds,`- gw-Fy-VVY@@<ڑc lͽTPL-V,k+RT41HՊ+U nWnr0OY00\99n\+ْ[e+I1]Jߦ+SQK!nIg4g@8#R*d_dboRwmʂ6v?JHMINTuT3EgP37` 'ZgJ2R{g>{*d,q87ī܎1M)yUwSz pG_ZX`I90A3=9: wtNO͸s؞qR'9<,sjfhZ\&:rrI$ jwFC6} sV6$<~SX˻9U2cN3T0e?ꦑqG.S}v0u ȩQF}⋖0 g59g[-$p 5w4= I]F! kDϖWruk*Ч}ԯJ:Sx9wEl$`?xb78uCo/`jv9_-Ϙ0aՁ843X.FrW<+$ĶA9S'gaIiq-4P;OW$xaH+H7qCk&hCs$/!~ >SԭW6TY !G9︭fc# 0THNH&`zS5{T] sn)7u㴩`2#3+ FG#r к2$ۏo A [&wzfpː [;n{1PK#-+ $>$1!v#U\DKI=I%\ ^8(+^X[pVӮI~\88?# dd79;cx=j:ӟ#szu4W?\gZ&ONz`~ՋW20LdvJ"P=>,$sp? øU︜tRv1=NvHO`v?Wp6%|vaKlseU̵cN_mO>  ʜhҷ$ecƨns1־>6Tdݣ*Dž+l e7sץ]@#}8s$ʿ*81rpADҷ}H"3H0ܨ wu~958V1-7bP^xlg"uW$ NcNXK7ql0Ui͙Ѐf͍A-p*X/wt# nB~yJJe_[?0IQU<P6|v5bb2WnN-qJ:/̫JITϚ66~cGDyc[ qgu8CW/ `Xa֕JMJ|HPNAH]IR$ aW#ʐUeNSg#06lZ#̙ bB+Kp27UY)3)8p{z\~l۰'#C9q_5ˆn|$*dns+ϑ`'k@'W'S+q2}mz Kt)e s@5 1DNO.rJۯ_QQnWmJ'#յ6ҝb9$'~k3[%vqkzT!@A]%e-\b& # \~J.>u݂ yHq1󐈀::nZ]YFye%}Wjd d ~Z'љٴ ~eWE?ĄcFTLz`;~+?OL;Co`Tnm_usV!$HxېB/#𨄳Hj&8a$Zync(xU_S1>>9ݎ 'kKdˌ䍽99JWbl zfH2>flm^9=zSD,P=p:KԻF,evtu]ܒ/ȧ4M|cq鑑`>=98oLU"(0 9֫<$s<I> :cdoEyGW% mp\2GM>v+:|X]lc*vgapX}5[;#J! [vA䃑ѣo`d;w3q:qyCn9|Ҏ/)(cX~w rׁW}{\yg!$cHBH$9$zo"@pԃ; ~a giM B_ c:Zx{ӸYunw>#.O9<9Iʵv(9SV||g d*S"h !'{Y`3wNs1։u*$@tc|zz9Ud\9cUs,`sp5 [0 zB  y9'Iٛ4HSzYB&P sN*eFw}9yhN(9;PO`O&M$]xϿ2t OBy<)n N)֑ lo3ROP®sVw* sD֨Q$k.@>\+:<`=Yq,Ex$9\d~I瑰۔V9=^ROl~GzJs300#Z$^{Hv@y9Vy6u e؞#ܵ&Zs3NO, T;VV$ d֦{ qHT8%AYI=ɦ&; 9V6ڤs}O#S.lms\sYrc鴚JSwA{ǃ rչL[A. t#"+0'i;cRȯ7=ޠgTet.fpy<:t=)6\att-s=f(P2mO +% e`?!=\jU>k9u,OSi RWi@#zsM[*#n'#}zSsNJ]\}v-)ÐB*y|;ЍEV F'#'Yov. '"bK#J3cwфd1f$F כRM߶t"m`6(ـ99/1L z\dOq$@.s>AUisp>l'ڲRv/[ :vSX'es{]BV|݂[n;=e>o <7p0ykAsv“9*op6/98RQȷIWoiѪ 07g++\[BF$Õ'qRp8?Zz `c'#'?_ƨ sc3*[QWb,Ŏpzt'$P( 0ʸsߊYc>\m9p, 9TS+koIe%pnqxPrH7r=~S\N_QADFQ}cWų=gldap:`_CC}qx+n᳎? wA7b A;G#(f5*HRʋtu;mc ˜}ǹ 8#'$8ғ*Y^e8%>[ ]go&mxׂ{-A+f2s1֠7;Nsnybb QcT) 3ߦ=1OqC;X+c`J{&dYʕw' mpM$ERB<ךKMg}W[_61\_9*IP=G;Kxq׊-FcK`QA;[plg>YVFa<99H8dT^M0B(*Y'dN}W&̷)==N.U'A_GbA-p֪&9ҫ-0\g:UCoUbScrMgEmcnVKx968FVec@n]ٗ(-8Yry䀃W'?{):&B[Yw !_{-Q vc$Oj #v).@oT<;SM.2vʳ3s\RE'e 6˓6neq5uJf8y$`p9NKDy?18zXgv'`38\QV4#Pd G 8WT{O@ކȦO1+)9NlXl#w9ݞIdtҋa VWa89,zz̓B{'hX".ď ?3Fsn'٘Inqho~R͚RrKm JàT`_1/3$< iu-2 ~Y*UHF6dQ~QCVP@sO]4Z,e FpHVI|a!|Y-rġO´`FFޛ i%ؗ"jWnrr7 ?*7:QկǷݺy,*U }9Ale2r!Dy>*H+)B&O2SPQhΣOʼtqȨ$@^ErvO5KDYjbhuV=JFN~b=1G+Dm+0$zE){ʤ={\`E;!09 ZowsȩWk[<)8cz1]msI)JOwZvi[bg]%=+.JƯu{Kv!Xx49vI/Sũw& Zɞy";aPޟrךr*4"1f^^xi(+^G }3I3AecU\#J#KXJ|ë.UݿxU'{W9r!f%r\̹SԯU3,W3nGIJ`1  Z"@@~o;HR[GM Mh|cF:w<JzdQ'$g=M؞{$Q2;tYd=gpf~awkysMN |@ `аF2BqnH'P;v`ҳl;rNO(NqӽmB 57tM('ER[6?>@(9<ZRzMkG wBU>a鞔ˋwʍeV0~U_(/QߡUWGO|Aꇙ$UeT$2@GZDuPuG'o_Λs8 ܰP͐@QF"7#n@`198u=T(+zz=_]OuԒFӌ8;皭)Q˩wONs)]lsZmm7O-n{M:mt #p[Ui/κ捑I3y<۞j_Բ(#vt`ֽWG8s%Qc9s 5ncm$`! $A+Tk6mJs\ #}{qJc}kwu7Q `g$M_b=V'U`m$p}9V }J͔cv@ɨʣv6a|Hu5yt?JS.Ăvc=&O|dczÏ_•0*N ' :1I^DۼĒdub9vSսGuܨtp#?jׂlÌ=x8v]\L@Q>ƹ<.}Gl{^(=L[;G$pHEGq ܀MS^"\ܚNq8ǰ=TtrĪeqsI#*Lٸc({\eٗ\ty=C~M/t֛_Gq[*A o$`p98֑C#g$`r8=Օ"b8݀Y΂L(%OQzz/DE(bvIH\Be?uBGk 'H*+J]YrY``|ޔы'wdz+m;3Ҳmg} .^{S O~I]尥Fф#_qjdA2{`fm7;gAGIc{ ng?>cpg(?I'+H#Ӄӊ|?"Ns~cSuqW?0'=9{)<:c$v{5zhcuKw [w'br1'vAqtzҩ=)~bqМs8ǿj> ;,]W#v$tuF`:·frȮ$4F* POf`U3.W`03vY@deᔂ8#*GAH❝D&rV?x/Kۃ VfW2lbO# w9<{ԭAsjTl=>t'i4PH8<}?ޚWo<88Zw<܌T1u)l8㟡'qWNp3*!F0Cש*A enNH0;У~1۸EV/D@#A֩˸v 9<SLXNG;T#9뻎@DA r>Zrc v+nJq͖<=ps03Un'$>F%/TRG'}jp`AN3ϵCc` ,Uzd s)M란"q9'z~KBxb$ƴo3 i1*wZN+cr 8\tk6eewkUm^9+k5߾Iv܊tI;44K!hwǵaan8QEFD#λi~;-*=\$Q3=j+u&+ͩ,@ -%ڣ_F )\qVhhhezdr3Vc*vR#8=+lTo]˸,0q#4ԯP 2A#@Fx8qu;w'elF]w ]y`;9$`mh,:ac@#`?G=լgاSʐ~p1>rɞm`s+X3OJkBۇ P=u;B*勝`I)$)ù-&C21OOnW`\cSMhE C6 Xrqשj`-D\`px9޽KEi. #`coQ R27Ǡ892 8m{[<_hpvJ(=*ek]Ie q$TyvT,T'dydmT1VS<G\U'-JO9\.ņSrGPk*k靷yrP.ycԞR&Bivx`2sc5mbh;ܴ%%1?{Cա2l)8:c5&૸%9plFX8 A'#O mb$;2I<ϡ,wmq~=^KW#݌/<{~P#$$wb7g8ܹ[1(9v;xytSiPn$m[PUA|xʟؗrܐ>^ݎk1of) ʾݹ9Z:;YRض;g]ү$Sq3)P {zQ^C^ƟȎ<,H=}k_\I;l<(NH#o'g;2!(Vr7ڧ FU#9 mTYKI|J}Mّ;|wvoJ so l>Rr>J3+vص=&QNmc[F GS+W!Y_yN䡕nz29"?/XzqTeq=^@'nx>.0~:;)'~Cݱ>8/1HA8>! 8jw;Ad}G'\7219F`w;$&yRq:BL?J+k>ژpaI1{1r 21ޢyH8BzFV Q А{k@NHAuAh4@n0=g?5@[Gq{q9Dg%:։;w!Ñq2F  p5kG[^*T<UӫI D{I#,FOϭHYK1 W#1x8ۜt_}".< @AޅkSvc*6*I 9 ߾vtoěyTr7H2 !=UFkꤞq?LT-{k4 ܺ4e8C`>VlJ-#ckb rE9تw S`&y<q\j7rH]4Һ_5$1>NHYe#cO׊kWFP9/ g*dl7ڃryb7䟜6F8fȅ6 Xv=z`UEԳ2~O:- S8䕈XJ[v)b>WUڱ2X~]!َy 'c&MXBvH!ItPc{+(eT/LeĞwnl&ǧJo ۰H,Fp;TkX=>_F99<qb/(lMē@w8'-HD-\ex$rpTzZDhR[r9`o@HXffR%K8e)µ"uM>уȮOXs#ھx~`1*{~tz6I6ksTt$Pr䌶O$ߚԆv;F1ۊ;- qtBHe 6Fq<]ĕ}*U~J+*˒Us.|$# Jw:ǒ>KfAZyGY]v)!fn散?xryxl*Zӧ6(L o,@![Xo^s b8b9*u8# 4ӴgsAt W|$[y]hc>c՜Lllf1 F.7|cޒ#~Ŕ1B2$˒I1鑊SȷwHܞ~>:?1JAE{Tͅ32m 'Q13wqا n`ԛ8*|g=i71cpKS ;SK"<=Ad{U^i~UOV'zEcf'hW lfp{FN `L9|$-(g2§X%9cm'q8e#vʶ5z%0W"9Ǘ呐ru+oK0GIǠ{y$1W-yjȞRX`|9{Mw }:gH9VN8Yی󊾃`b2r0$I<,tc1RLon%rG8=zd5tWBȋ1DS=N~#JbND%O#8RqA|{V('!ciNwFIOnzQa5F \Um'Z=Z_"lԒ[ϵh%pXqݎj`iǘF_RH=gY@G9 A9#zKvcɀXH͌kx8 O =j]l- 3A\==Mg;F?;}M cKRQp0w$T)t$tH9ɩñ]LRTn凩8ֳVU󲢁8cT# 3qxk7;\[8v& 힀.:օ܆Cln0G?皰G=N2zdvw"{:UR?1X> ޡܛTs4]Xz~uEDsq!@B*T2ո^ys17!<"c*=ok4BH壔9Rx"eD[3 O*yZisaPH 6 'Ӹy@88,!s8ȥއdXqR9PeFp?wnh@,BÏE7|MKQF ocNauӡ7ђʠʀy $sۓT䍧9#gI}*:B~_NrN{G8֤vg]=$ [Y Y=\qOAtAWD̖X3 CS;O)<7C$\%nrs=jiT8\"]o/]Qc#I[˕9\8H1I2Yr1p v*i;8#אkD,H_x'yǜFāp qRD2n$=Nz7lǑpʴdf2:늣4ڡc7BqҳO$+_:'(52.HVA'<5 f<38$#HO'99)_We3>s:V'd.}29G-ʦ鋅zg3xǭSÚb &wRer3+\'<# zO|U渎5\l}+;#J(N[,JLwUP̼rQd~CsAS)=Jf[1՚QT}}1ޕ/v#*#$093zӷcNNvVݐ{4pq{OCQBWQvOPIy JL%Y0pG~r*b\Rwqœc^A8y<E/Չc R zBAd c'Ym:qxoz7c$Vu93[>d:Hx^J%}qg?td ^3ڢwt'TNk'ȕRIX'>\8g.z`ގ)ou!*D1ԱAt܈C)h;{ i$ie`;y@Xz)TU2*d\>#'?ZC@#,>kCv>w6|Pxa׃뚮Ӵw(~m_{~\WGKč#,7#I?NZ4݌?w=A~ޝvװX`c?G6 BNQ9W\,yC޿D_ܠ9nƺ}6Yv Աz,2 ]geh #Mc NOrJ$ k,I™^9ˠI9c!𦓢Dn3:kB?~f++6$ܜyǓA^ꊊokb8Ho5%$݄,YW+ #&[Sn/!"?\ Jnf׼X|o,EdecMy9q'Ww{xXcvt3>=;1޾OW{EB6ӃןQeNÞ{dWRWoV[`gVie`8,qs7y[7$㓌x^ǞGҦ^c\?$ScҶx~A9G "R_r`>Z5b8Wp9$8Ca0˜w^r&CA+T~nc==`y7ȯ,n/D83nGzDXbFvФ ~nrP29\{Vh &!N6BtEGSx;!ܘ~N$)珧^kX.|.`N888{f5[4N. מ?3]Pq =1֨.o:4X+sU;n%(O_[ʜU.k)tpBS&{aGIUR>B 9jHڤ;sG8wJ_#n) $s楸`bج|rF}=:V͜n)KS1m',vcIZ02?¢O{] >|hZ"v<==k@]" p<;|kc9-c;*Nw݅RwBJ|8$)`kRs=);2ݛ$P3^xh^p2A@x8<}GZ?' =1U$ay#Vp}y<yT̤-qw$ֈVP>RO͕=Btݮ\WfPA80@=j7vq~]sӻPy1v.\M>Y6vRvFGt0Ŏy0EVU^NqЁIɽL59 9__]zt+Ϩ)_Kfyzgq_U]iʜ# ?CɪɝQZͨvppB[Zja7O<S:L3ʇ7*&T$G>me?F8ݚ݀1?CӁ?Nhkc|\ֵ#mw#^t잋H<9 RF;>\)sԊK7ӯ>f(mv8wb<ۂ}G ݙrr6sVIۆl80ҥ 4r*$RsoE=kM8^8i'fLVQ`$cϡ03yNW(H{A;٬f1xR@'߸oMBmb?e@ߜ4IFCr=sWT䢔z*F#i^A?Ys# 2# *1 =>nJ?]y1=֣[|E*bGqqzb |9_B CG=OJzSt3AsQl,2u9=A=(i$+9$<y+ӷs&\\.q89H"I7cԁ%P$ aP[Ks7c9דTu 1F_hBN OJ#$K̫d2qR޿3#B#O;1Oȭ5+ w9L 04ۗs1@$c xt z0T:> NjơPTT}벲3?c%%“X&{床jkdF283ּd{'mPR=Hߣ>cDd$szUIB2s9==֤8p3c)۠c<;S6q<qRcB&/ݛSeFp9w܋jfzc=s1M#w"-qrq߽L/' ֭ li`w''#];hdާ8wלCUWxemS{'i 6f=.^]r¬`ѫqǩigqq)Nؗ&MZ`֩IC`0q==*{]J_pLdil$%hpϯ'JKCxVR1sF1z4 98}?еU^^DG M3I\=U4uR52~nVkDqp~ھ @?VE!`usGnƒ9=t)>uq`;o[><:4K N tܿs{uS2R0ݻU^Rzpqg~?)=sr}ԃVA#0p0ATw8 k'k]`<AVcþj%qAo񎞵qmtF:PH_{ _B?pt]G:O9ht6A]JFÂFXFz[G1@?xǮx<}6AMJs}z%b!rVu`rsN1޼oAC6Wқ~G֤WvN6*p 5BsSj'';qN)y \ H 9zY7l1[$bFuGFT$ml'<\#h֨DXgS>I1G1>RGL׊]=xqi>XPzu'>&lXr1{Ux+9StQfTvjq*U!Uqqу\5d<nJiI n% <=+ܘXJľ 6H;e95սanBTշظk+#BrŒ5V[5t3>WpISs\Ns${[8 .0W]J) -IR=jtr6Vv °m=>HdT :1UxĊep u1BjD[H0wP7pq+x&vbH BAZE"kO1n*¶>TlG~)"0 @ !eH²(\ 1DZqoyʹ́1I %:N6 z8t%IeZx_ZZlZI## ŕEaivKm4[M 2rys]}A|VzpZ%˱ɑ Pwn<*r3_dcƸ\XO^)k]jTU`Ăǡ =3G0NJW3툠:uQq.HoKJ>SPҊ #o^q֓c*$yH—$#q0FaT~r'qi;g&dcBT[vU:U+I=2=踹Q:X+HFy`A<Вd8d`#s\3s*\&Oc*7.vQwuNxMUx[qڽ$O9 Rt۶VwݎC0*PH/FYO?`k @nʎPSqB;M=LjNN ˓޾ҢVZNxR@&& drwS$\p 6-!%)*y 'm}9=Вԃwg;@E$uV ԁd:q=N0;o=㎣1@2Cd88o!"?=ݶ+/υ ~\Addv#s1t8ȡ&d0GǽNp뷂 m\8 Qo͸ R96$UxU_,` 41:FV;dEkhֶvv !r(Rr@qq]G5gu5nJц '6o'qs޸Z,lsJ 8;|!ڪ{{bJ2Y#'\մx,H%sC;yrX֠vTI#rGJwEUV1,Dr@ ƪHT#=(Cr]vgri7۴F>K0Jǭlf+4%YNWhwؒ EOI0Au^y8$gkSS2>R#9*88v? mmC#D9x8?:S{IS<CӅ*> cNIzv;b4IH6{ 9Ғ b1V#Yq9ϯ= g.O<Oqקj#8=tJb0A-׏Y gy#SD-c 9/zgLhdg0k"QR T` aӚNOe vA y`=ʞ|qu5a'O gWv!l);8vI8Ҫ=e)6T|y09V 9'[\oh빀a~};եG&1 ÎAl>gDBrb31yǧoJ7w`9i xZ!&QIhjCp% ۲~t%'W(V^C6q _q޺6rNnsFrG=8=8Nw|wzzW]/y/qIruI;ѓϘ`\zϖ٠Pʯ3JrTһ4_s8*TfPʧK`NJ6NloU=Hxֆĸ );H!x+  >SUDqZ`I(YR=C)&1lpI<)Bu}+!)3~FhȪX,{ A]O6:"dBilm9 {Tiz$CZU$X &zmooƫ]՛-wsAGT"~G|2 c)y'>o VsFkEN԰$P6Ӟf 5>dcžRm:qVð I1^:g@$~c#~<p8[`4lHS_zc]sNO@S98YUrTr< KAZy+$@4g.(#T!~@pCە*<:i\ofh#a1ܸe=@Cg#'}DQ0y VEpsc={Oq6D8$ OƤS zǭUl'Ӝ~dUK 0s~uk`_d1̊u jџ][yO!w!Cq=*S4WŰz8O&;ǜhxHv8#u)!Y^6<sR}9}GzkU0q7r=GQAҏau% Ru  B6>m珼ڪJw9$[+ mbN¬|l2QS}`br:cv6cڪ`{b=Tu4~ @@yn [r26(䞤-&Q_@;r1'' G=qh@O< +MvsN-U26O-O>ެGO˜S_K1 ;sڑKn37dL\s 2gUsrÀvc_D- vSm>b*GgӚ}1͆AǰI~nȖUs<|tLm8%sҪ@Q_n`@LT^2dL5)ļ`n'0sXkۇRdiXITsvUQc'?.zPfoDe9֦Hn9#O,FR& /@sQ~^x9/"$͝܁T5оOBO$8PF?j~NМvin4pgF7ʸi7gz=կШ[g;vr?h$`<Xc[!_?\r?ݻG8M t d(>`:.k[ `Ǹ=> H#'lW~(өڼ`( g,g= #]1X3'':f`8R x]D[c$#$c!ǎATOSD,=3 J* W#WV- {rH16FHzqۚ}SI8dr\ir 21 8;Z[Bؙy?w3^ol`m=h C]a ZG'%_+}#'f0J-X-F]FǿEd9+ݺcҰĴЪqqL{O'zdnbmf?scXǸmrgq,~\k y ǿ֦S=Ts،F2OZzvʂ~_ٗrD]5`E'?~LR gcϽEn 8s4%!X>8fN33xT>e$Tpۻd9=&6qSrJPr>]H\ҧޠX!暻qaeI}= ˸ڪrn#O8݇N?YvN̈#9?ꑫLb8<{ X 8ՓFOB'i$*(pG\U%s\9~NFHlU.\:0^?[&A>R79Rcz敶FgUtAj82N1xIn*Us8CN m'0T 0#M>4@ʎ^:Q{Ku[)6## Rj1(o JV$MBH;A9?iNBO$`lNw؀2_x9YP`rk67*KQwiǷ̼ʫ)EArXUˋr+Mwr.P cJHf`A.SMݔK̺ vaN!RrHzmo!CsKk$> xjkv8 \c&[z#5bXfd*ss$v#ֵC~Α܁7^Goo|<!'|y9#:znlg*֦-YYkq'.TcAG]3 |y 8[9EffAp0:g+Ur~pyߓ~r~N .LЖ<6cP n9N6hu[vĮ2qFzuISc<`} D*] \rT@9nCnlg!Pޖ6}  Q䳨ݜU[p}@?ʓRm۱OJB \}xz3AnR,íPO5=>~dZ@8{˞OL{codTwEӌc(F}i*9=Tv6RXx;ǞGJ>s#Gig4[}Odb''"?)߁5+w@ùId ,6;{xR?= o[A.q!:LBUHt ;ڢu{ ^(9?n dkR7m1NGL"ѐl7O;ON<2@랆>L edvTcv=8IȸwbIN 8's›BюEgsVw{0r.oR.sx 08;U'vxILsq1cNO x1֢O_[a~|UWor@zbe\gӊxe `{wjGT_ج[ct_8]յ$D>GǙ= ǥ6֩_S3ͧc)6H<9*weߏqR_2FuflqWk%mj6(88}x!8#TwzbwvmQso{`A~*eϭVd 8~:qjKG#&I }zy[|F^&M+ޏۜJ c‚qAš;+mnq96n1ZNzlf;$r8 @ա ㎧ZW! Hedt;uU[y;p*ȘZI.>᱌yMXt##Wn/M6Gú,~'մr'g1*,5qI n3'TfCH$`3I-Eq[Z[2G\J;OBځ(uԑ3nyIJ\M .iyXq7;GOWMn3׏Je(Y p^I2w9ڹaĵa9^A_$?ǚ^Ғ`.O zqLI9x+)P;t%bG쾪s׶H,ݘtj-Vc0_\q{摗ʩ?NҳKzzsG=H?'bI{*7 Gs1b5iE޸>pIǶ1Rzqϭ5~`<?L=2 r'k} @1Q鬸|#J=EQVP/s=y9r#G8^FqGY==y8+G=}j$^ynJw_KME\oF{ޔ#mU'>w3HJӗ5Xv zjܐĀrA$=k5n3ޛ~`8'{JpF0WҴv~8m8냻 i'v06"CE^3t};Օ9128s͇מVs)ی 1MHzdm䞾{uAu@$=AN=[lcuJ]X{Y7,%B_9߱+6Gz룇Z9+Olt1oӼ$'5S֮puqw!$d}Ԅx`s_]a /l}j}4Ls{t Rs5N|0a@+aJ|2+IKџ4蚥@F0} jճ+ R;͎z;Ѧȿ"cpA;Up''="|Jdq)>?0 v'jBaO@=* ʎ۹^*z@B N`x"evG` d|ud,F9 '1i_Qتm^D `28˞ٮr';pqݷyt=-)"_m-EBPnI49EXf%@H=8X|ģmv[sacᘎy=;Sk|7Z]3׀=}@W+]ynUAhV lyf.r[a!lOOι՝4 d d/cZ-#a\=nY銤vb/6gaj@>F<Mqc`""o-IP9@1tԛm-dcK5gn}vqGo8m`8Ж VbZVLP+#- `pNj"© ẄSOׯ9;Kl|JVR}d<҄d\w5NkfF($sҎkEȷ3b\2)yY*>_ m&r0Ħi 1\qLU_opzS@ę2Gʜ3ۛJr%QBq NQX[?9$ǯ' *YAhfrIpF7FWԎzIev8䀼'OV n އCprA#o;OЃ]yaO=A|r<̧ pc(=R<*yAn>Q<DsCEc6zzv2MN9]6ڥ~ NpfVOzԹfffुn)[1~PFqb;fnN`v=h 4`6@'p(l&ݪOyg߷!KcnKd<{~sI\EK2H嘤y;I$ 㚫hU: YJ͕u\PuYntP1H<==A4 p#p U8ʎzu vrXVNҺQ]4#NOmJHe$VPqz.`@%8]R]L04UZcA3ϟzmT!юA{lQ_#c rI ް 䌆 w{fl\`z `jsE qFY=j+t*&7PɴՔЌ:Ցjw=y&S]"1QdN0׏ɶf<$93=~e?̺.v|̞Y1d~}랿7p6p Z,ip, oLghʘ@ 8H$VH oYӽmfw+BT%{at#38*y2+䟡ڼ\Te~v q<8=L}zdϧ\/QXq==AړГ*_9x鞙(6H7;'])pFyROU:qөz{u |? ?3E$Gc"S˂9 j9ZW; yR*Fx=O'ޒ?c܂;FHxݤ_Zy`a@ҳf 8=_ZIf)`x'lקz=8Չd~ej S cV[ z(AL\G|kx;Z(1*T1>٨LLsӶ*oq# 'q?zҔ$qCzp@ {5]X+")20 =z99yuO:ji[}w>J09GOvQ n szg#}Nq]9k-Q2fa'0GL 3?\SG "JICPTLu5{C9C2+|Hp6}9=kE]1UQ6ʱ9ֶK3f¤z#y ee1 ;Beo5H&D$~E w eUL@r u8y98O-!plϒ:ҎR{Q[vSXOҪ3o\cP@Mgx*N=)yF8瑌`'Dmpz$q.'`C3}7\ʞJ_*Lf2+ q:$(9?2 }*㶟2ťD0V#x ?Y~?9$#pH]ٻ=)h/aȼ>crFzTfp<Z*<0)݁83' {B a>K$1O$`u}i KNF{=ԋ#vpX<1l:ˀ 1uvo{wHY"B<v ٶxKٳ8})G5<{n$Ypp3ިY a ?OOLӋbbݺ1ܱ e䓟a@[K{>\\@Vlr0x9[oXj+ML-lcmfyj84z0зf{99ҟ XpAbK=kU[WXV5HG\Hﹹ>޴[断#+W ^3y@ۂrFFxFNҖ4ݓ?3t=*1i݂0@qZn_)*8 s?,U*c%w$ ϯ׽e(kw F_zd-j(UbH$`px51e!:ۛ=Jq*I8P s?Pݍۆ\ Cs2fz$q䞟{,=@N)/ yMj$d1H`1ԞI9޵~gln\-G&+B\.3pdr[3v9\%zwzVW ,' xEdUA8S?oZr3sӁM2n;sP6V(I^~Ud*9$Z6f|m e8+asjБp6bC̥Gu_Z iش\A: U\2GHܷjfe.@Rvt(m,YXO yy%b@#Ma$`㓟ojn3E-qnNS$sP",_8fnIϽL+-AHreǯ8Kʰ*}0'ׁ q=ɉpF@u\㌐3=ims)~ 0n2)t-f=#e7Fr Xgap${ 42+ʻd%pq[^tQ,098> LuCN@;zgoZwt<6i܇R{s?$f%(\z`ըJ$cGA&n~B󁟛*n||Ǟ@ #5*:jH-$R ##>> p8*qЎ~YhՁ"ۃ G'|Tly* ҴӅFd(Zތ|=W*vΠơcd 29cߏeƳ}ĶrO^Ʋwyҹ4Xg9"U};\׮3Zmצ 4/)(^:z#Bfl>ZWT#{[rDUZ+=뚐ʒ CsUЩ ^x5k2'g=DS꤮0+ϓܖZ3揙ڎXbP0d@%)䃸}K[t|H0$sw +]G^8DjUeqΘ}z[pF,T29?잸')r(8$c6d%ݐp e逋>F #mu|^LzZJ)vƔ,)#8s'f4b2x{|eSVzxXu!Ϡ@d}OQH#0F6ꪤsGZнĩ!J3隁ܡ 7b(}:ߑw܂c2HvsgOkZJ<ӟ '|*e uu4#[x\t  .+nYp2@mzF̋QV p 9UcXtS]Lv!GZEr˫G}ka@@#U$Ѕ"ONw.(M_SsYi\|3)inI@k0+ׯ3i[HPJsB dԫn ;sJ7b|^\v#9<*X<`IdzzҎk#Hʹ8rWvoSuķ\Dr6c;r+Kd*?0#9USrzyU;a~`QrFNc EjH9%L{x>\qorhI5J$o:deLp!=̢w܅G`H]1?#BocZ{">LX=}UFr8ǩ瞽x)4vx89>sZ^[ۙ8Rpz.xqޫMԕg=IQ%|q`Imo:HeH OOb+'g5uX|)RH!x֜d@)#fZIȠK#H8$s{~G {ï8ǠJJE" 1`ߝbJ[Tׯ^O.Ei+(vۜOz,cX .$#nsBGc}*s 78z/̋خ<F[9銖TpK`A)sY6qu[ s1fwO`yi;im3rі;2y=1؞ʥ.Lϝ\qP3y=cKBTt,s@~:jRnc1R9#s׽Td-62{TȨfoW_G_*vl27Zi0qGR=*qݹ#jw"8< `qWT{c&OR$DžrLl@gz~*ZsH=@w=zUvU3XP5R`T~V8HRipBu;@H6E:E\ =z` Lr((Go<RG=?22HyiCU%{?}!c ts\^G RsӏךUyߡb $l\NN{kRXd+~ǧ̑i_CpU;z 皫s*኏ 9==+;ݯPuROcqЌEoe8e?҉;"%%{v1.d(k&T=+-S$g?֝'q`Npw|ڧ`G'嶥59(Nsѹw`~& g?xg֬͋+|tm$?qbWc'p :m>{]du؀ r}}URHmNyPi$J׆6N0q M4l^ r:g c N}j9dG#n_]1G˸pA"p,yfw`GʯA,QNs$9V&7z ? npĎq9?19&T1L@9b9Uqb1;:T0[z(iԲ`ݐPo 7\qTO ;/yip=zUB>l,J5fiaksV&UdwbN1Ew^$լK#fܮy["xЌz}JRn eQHg8jݻ}J}D N$!Fx#8ai]#^EH{_Jqm14<8t` aN:֭Đ4npF[J>Žbq9?H:`u=zFOas8hJzR>nSպb; {v^)]YYۓI=x-}=j6Rm' /Z\> ר?]uZwʦW?pn@:>/BXUO8ŽOQ)``b׸U6Q+g=HN61`Cqہ[rjHII)Fry> `k4*T7w')F{|V!OT`19 Y4j:`=s܈vus|q=Uwu#9J\mqpFO?Z>\9?E9?)*|qV#hz\buEǴB$6]gzeMdhs$ ndž] +AY\U/sE+1)R2H]imn 1yY,⾻ >gݥ3u]PFPg0)Y1͖urSsn8lUfYՆzBOAd.5)^ yh3?ƷmmaCH ~f՗߫> ;фzn#UMPc`2 ZqA 3=pj^1FTL%q?r[IvB? .A}e7I-%H %ERn '^-vVEo +` [E/y_ꚥܗ )S(!-ppSs1bwʯݔ6dAVPʛFT`:vHLpZq[ߠDE*FJ1a>TVO|@+#Чwqrg(N0w3pqްZ?v txqZzޓ军f#Ŏ8<qFYA1'm=q 5k\18~Y=7)|帓N7a3Yi-4dupUߩVkzcyy0x<-pcZ5Gh+4W=}NEtQZMy>ڥbe0Pʢz2Nk8#q[:KȜVX#Қmir[n\|CH.17/>/+aCrzgҀlA[(VL` \oV9ۗ)?̧>'eI!+eNvd WP))a.q(p9ڧ`T2[2FKáL%$Ʈ(#t$yGo!X@8 =@&T7=y>(ٲ @W%wdpq#f;u~L b>QS[@$fV߻sN0Pz|i\&ʂ7fI95X!v4J}qϯyc_ĢR!,Āq%n>"IupiXc,Uې2@'ۿcZIge]App03ʤha 3+:h ۾N) *HyTRAP*0r'c'*y!;#1A#$nɊ6P A\҃3`W pdSo@`8?2;=zbWbH/^1ބ6˳a+8 g_G JI,\cscvqߊRRJ16vvD!Ц0܎3ߡKWtpK԰Qm]zz" 9ɥ$zɼ 1NKbT^'ڠq?m*GO?Z[#ߊAbg8 [F*nIp՜7, (Ǩ'?!W2GuU{*jk9!0ȄgO\Tfԉ#!;N??La|qgzSTrGՍ?q'9 Gl8y?ZnWBHv#'@#jht=mhM 11w&Nz`e\qҴO'>8M0TH<縭a+Xv~!x#Ӛ@T:qV6<樱,`KGsʅp:e{Ymzp9zԋv!n05cHe'v>ue7<Sn6q$Pv .BGqӃU6FTk#H2RINiI71ۗ%Hwa0x0sǥQTTrc O!pwt~zH`VPpW ڱoct\vx6n8184ka0_0n=A%A;P;'X@QAXLҥ!;bUmU$ڪOsړD$ecE;HŒr8gy~a<i~e-OY̹ 8x3JprRJ#9^E'ufgJ&8دO֯Ikne3Hޟa>D/#d`FAZyu d#+)C[θHK~VW8 荂 Ss=Ԟkbz$yA|&Aݖ'Lb%Hbz:ғI*UrO=;ܮ7GUqJHHKA= ߻ 7`Lq5(v6+!1'樅̎b= e<yj2d9~`v[J"}=rO¸.oG~jMTH%FF2~ӱqf G+}0CU~l'c]Q0nj#wt\mB=d`[s& B )9ֵUt)<ɰ!a6;6X0s &Hl`;T v1T~@IGp$'FI9)Cbf\-;/~S基r %ާֵkoaDb;&P!' ÆP` ;yʑ=8jm5b}]HU9%Fxֆ]ddc$LayNFqқ}JB<'NY$Hnfm~F#a: qz4lc+!ECBE#pr=ssqZn h}&NNҽK ?!YH-96_@G̺=ꦅoq$Cއ禄SI|HHj9#II' XJd20aH =ϥN"Fv\1y$J>EnJ ԜCE=XR>]Y: U6WÎ'M#6Bg属g.*m.@ a@9QSܖOlszh@tA S"qcYJaFpq4mE~e 22$h1rsГVߑq Ue%cTGrN2 g=3A4md(b9:Ӥ܇qg͑V#Wc?lvo£9=yR#GiPcst|ÏQy A 0vg$T%Bzga{T^ gp^w7ׯ5K DO9@78گ[̅d3vWG֤P'y$O y*|psdNr0A=rF1 "X IZ25y Tthޱh ?g+=fXUG8MgBT8`AOԥh66pH{*)30xr{¦DZ{GRi#yjьpzZJV'p` =}jVv'{%Ae1i Nc<#1Тm g$u}b20 >`>֨IfذBbp1`TJ,wnXm{~5RJq X*)p'*Z,+ xϥRNÑISM`Z7G8ҥW9_=z OҚzzm HOw' `] T*|0TTdws*7bp0{'4<*AwJLAnyBǠX$WZ- O;BߡNϡZY! 'z{N] Z+F 's5E吲䟙J``>)}I%QH+<~c1MSUpDN 1ӥXKdǖ9ܾ)~"ohEc:p>Ф㾅7bCoT`URNp}lo"Xni6p[ qLFц$01JWnNb`>\Ǯ;{ e .9zU[[9p30ÏC*6T0Iͺ4 6O|^?Za7[O^s ZK(\Tqsoޕ XEDڨ@38Qjn9*U =G29q7АN:q5Jë*>+b31G?hٱr9=}?mb3  W<^}E{hPo1돘pzWܹvh4CDq%yHQr޸Zp8x/B~,r3e9<ڨ01N1Zh\fUc?Z>BAWOW[d[r3r:48`~[Q3J] Ya7+# vE/w:+hh` GZ.6}qx)=̤0d'ha8pg z*dBР.@o\t#)Fs c(ijB`eS 41Ǡ>."erDcGUדӚ`F?#ddrKg*e;Ny~zI7PtRq8=~ʑhoxQ!TlV`8ɏ'%:h]A"QHVpx;KcGeIJ47,@LгT9de# 鎀߷cF͙yE/Q:~UJH[`1x )}{/U jH< Z҂C|э'I<]<RI7=~ DqY&F9c122{K+dg (#wqWHX;Oݍ0zNOGEt&g9${%88c?9cSGa%*ኀ9Mh _q-j_:VP(07B[<ښCrqo./Jųp` 9#D6VX#T*l.H8G$&ˊ !m ?w 5iwrKa-kĄɱJ;N^ZSW"8-rI/,qXI] OӡkI㴏NOF.[NcrSW:'T^z )g>+cHfx֫f7E\`;OCVU{Qrzgo^:WLhRdU剓 ,$_ҵt%`$0ps?C]e(F/ z[x Yi>n]vZyYSq'ۛFqӮ+״]:$K۸eHГWepRjN;+;Tәk]qsҍsȐ()mȑp 澞1VI9+jNF,2]LYaZJ|R##~cx'bRǚ\k7I*DH@<,~>tmOӵx8cpv)Np9<GR '7sآl=1rILO` n`kț .:whmR ub+~Ubs?622r:kCF@eA\`gӭL_;P6Qn%sqYZc֕[-SoM#rrVϦ{괐mTg}k%sjWM=\s~P::tǀNG`r¥S2f1y ,cèJ%s#i*l[*Jwb.J09@ٯeUm6 3GQJM*kl/`K?ʬŪPq`8~Mtb4;vpa@;6J)tcv 4֬!TT`JGy4DCbAInk+$)c yrIqnLUNeRgr?* P ߯_֔eS$4¿6bcG;JOѢ r=}ekk`ƉwwW{}rp95z2#H I?7_3ִ8BrϿASrA-^!Fz qJ[[qi]<6=Ojn'!RD q$9bSj̲p,Xk{ .HКkS)GM=J .f9!q ~4`I8=0ưIAs_>gmAGzW1ӷ6 ̺y;Gs4:N8&zܨD`|3{UA+7֬ܵr٠>|[zsf'&G"`V4݌=[p*( 8O6ڏ]":s&[Yy+pu1=j#O"oN8|uνYV/, n{9>/by,p fdZAg#pykI)+ƱiͻKv@rOkua=p1?c=69JF<FH9Q˷9a~> hN[ :?.437#\˖$f$ Tq2*ЅL$6''eJEmuC-[ϧQ(ٚA܈2;Hϩ 0x$s v g#81B˞X11Cwю /~N=3^A|Rywl֑e62T NsہSNӎs80{)+166r1y$˴qFOSMs?蟺˜!py=JHm;\zhZ1O#8ƨ\YdwsEh趯fe֖Gؘrw d ]u1'ڼ[gljsf@9F9<6z5)Vp Ta<(ZzxuesDJ0=FrU=j7| R vڲz]U͑d @rrr8׸&.R_*]ON8-ucJ}Ba8U.\d<9ǯUc-r!X`pF?5Uqҕ=5;Y8Bb\6@ ?0+a#?{=rKcNSKЮ ޅ2t脱r20Gz?u>Z-ApXhȥ+8Rrw^"9n?JۦzhױNWB񁎽xb߂OFI=kE=3dF,F2895G :#q;ހ^Yx|՝<'~w9mIWH=x4W\FTO@=ϥtש yg pNqd6 ߯WBNVDsBvN@8#*6E<8⢽;yhȵ"2tO8RAuJwT. Y=׮'Д߸jW;`NSr :v9B[}:icM`8/pmx9}}C Dʖ&7E,@h19e!z=yI?T6 }Z'nK'ںkMj8*AK53zLEhXtf>e:qTg<+v?SϾk 4^:Ǜf[\0;y'qZ7lqrHMJ]'£GK:ss#ք֚h;8,_o֬U?19Nz|sM5nk@$9c֛s u=&Мs֧G᱓@9bcn 늓<{uVd rOSSXN2r;q[^7{>_ 7=jJ=|tON.،dcn'n&~SyZ&8yn$'qP 0=)n%& *#j`ccקl>v)V`'j Cgsr+*":?$*x26Bz$sV񊱋!#|䒹##3үZVzp8`]I(# ͸Bƴ$:\,y0[}pv jna$r1$~8Ni/maqQ,YX8NqjknC s0fU($2/.QNJjREʂP'88^_ҹnJI8,< dqS wfSGL;UI$c'Ү_\KxBJl ?)+fBx"'k0ִ׶%sllڪ\d` 1e{_6L{{Z7GvFz zGn",r1 `tt/#)CW35M2I~O9j\iAXNHR kա?p1=WqdH;X1jF𼚠iU2u!C1ғMdny;pn1khAY˅AH^u[H:3+6ш@mO| iϙIuЫS\Ύ#VdHca]7uQe:@SzUJ* & ɐ p6w㊝hxYoa`px dv ⬋XZ ߱v -`=+X>ߏ+ ,aclsӸdgGfa';}Jd8aOlJ\.s|V!ʜ]*(Iev/9A. nTEKwwZQqH89mãm@o.]Jۉ20/WkxMk4tzmo,5m$ 'U`o&[FR؈7$P[ :VI٫Efޟ{jNaev$x+ɵ/G7#$w g GuIFY s*J,9޹Wޤ$g͹e T/;CKRb?2:Y#y|WEkb6$F0B[-Y*2 0nQϾ1dV4 RtϹl' *I*] __XrqTd$a60'jG|smx:T-]8 p '#F:N\|d+`~#)1=' a\0;>]2nx O4-;Oy>G^s 9 2qz:zZ>_o@ˎhL-e8cf})7-.IRa [@HPRE#8$yޥNqL{7aO厜L8VMU'_4\g=֑=P,`Ƞw>;Spt$d}s#03ќdzg41v#!?.s};h+.NPt,G5Iw8d2>`lGRrAo,2d X`;Q IWp<{?o)'!rpO8GsD] + #$wwڤ qgw\9>T7vpy<5_䲪pPg*ApR;}:WK93m8T|r4X( 8''sY(1svD_q|$8ִAxXr0TĺޜwkmIf(82rFZcc277CG$ێpx8H=p9N)W]|9pH0,A#睎o|* IʣFAp 4fl]Üg O&+_ bqyx |UQ0ml<^c"1/![#9`S9bO!SA[6( Ulj?to\cq@j`jt9y'20w@#O9 з$t6!.\یzzυ-běN_9%^^K<,]*d$}Nke{BXkoIpn=qFnc ن0#Fam>Aw~@Fc&Wj[Ѿǡ s, z׵cR5Cϔ`v<ּl_u{k;b= mֶ?I{q^cVZ=#MLvl_RL*>PĒ;[ hF#j0qxPq>ڦc˓!@+1nJvB#ndA0=~CQʏ,T *$ vj$P9/yX|{;N:dJ\.!z%Pẖ|ViE8t;Q i"2X@>d$ S5k M8J,Wi|~uqdڤnTg&[c K^^i,bH c8Mco(P:1P΄a%iϚ3ːIA8I p:ɧk? }]kӤLUG'㧥q"j|7<@7˓XߞU@Ϧ}As^T8;#n/z~xrBX;ۡ'en\dt#Kvv5W=2sOS?)hAӚF>܌;IƉhe̹ggSX1QnfSM4Lۘt^dc}*MOG>^e$j8ޥawRNzd3ltM?q@+U.Иzv953㓟A{b GV!`sUY#USܣ1BPbՏNU9^GQuu֟UXmʐP8C㞽F{u^=/ew\Nqc" c{?ҭ$C$!}SNч+#5ׅ4CV<{Xd8nbG(׊n-:DS)t }_U }l|;&r^ҒD#m4<"(f {i|H\[!AHp+9KE$rG300Xca9@6ub:)O/}T?g]͏_0rNjd2FK)eJ9bMMe %|RO?{~*˿n00HG9|>HEUw?w|7ГҮv3H}8_BnV'dht+̣~*U|,2@rVͅAXݣ\'w]VQwnj.v̟1X_]x԰Y_ #=pYLu(ğ3 g'ƫ޺QB@{GZR.]uS}M+3+HJ\!RW qӊ_ q RQqzF2). ɞ:|іeM~PqoTM1X >S׿JW >!|ǫdܔn RyTP[ ޹O!X,X<ûf}qS1G_lV9\>@М6pѾ#hXW%rOȥzNPCن>t޴LˋCnd[uqO'FWkd9["Dv\PDBeq#u;\nQelHxd9?XHr>b7:z#7wbn;v ;OU *F1!bWOnR>\xlgQYiulDžnN&҇1O$ ]s >h&# 1Q36c[=;R2$gHxGN6zA8Mօpԛ97߀c g_F,W 1_|!4\2Anӯ?δzO֚]dH*F:s)2A>mrI=6n\5vTѽHTRV,[nԌqtleO81Lx=J̮CӨc~x{h&!tl%QTK''zb^DF6Unqվ^UK .qP|H `9ޣ2f8 `$}:QX 6`V2s({Ԭ>#֩'M Up#>}E6"\t A dM{~Ӝ1# YG;mpCm<9s&C\P3㊧bQ͹`en s[arvюYGon(N-#sޣNOs3Н1<Ž9*1h<QyTĈErynT y܍ܷQ8,fz~ݓ։}e@)lXc's}G_1Hҧkv dmA5V̈H>s*lA٢Z4Rzʌpz rp{ \)%pz.`A q߷&O K![a lzE CCHϽ>N:ֳV3Om-1XwH.cBXBҳLK6 @<0FNHR,Sap{RO_H\6z c.''yl_H8 =X71>`W@AS &\vjd qoH1tA-om|$yp>P3q8 ۊg#LHy?7ݒKph G=FyY%2Bc 0O9tp8g䜏S^-qj v<8'+2[ *?/+n{חR6Mݐsm%g@q::+gle  ;0䁓׷sIn3&XՀ1,0]u {~df_ g:ӎGgSmA䌌`WTGC:p;dbq, KpJ*=zrҬ*rx=:fW_/ͫ*G sӵg $ʰ'9'wI's?U`z|K̴#;'4탑gkrapO'R۶'<`3L7?)V8rpQڲ^NG-8r1UQ_`SɒFr1Z H$B1J*Nh2"c3,9';r%qw?99=={]$) Ag?1<ہә%Mk>a7n:fdu>Wt-mF׎Z2@N~ۧғ*F,G<צ-xO}<+VRBE$ey9ۿ8r6C'j Q/A rŷ9ʤڥ=z/$x89jEm1`"$ (2w+U4B6J`;v fAʍ@/9u 9=T^)]>[dg`pXdR\bKPs?wR{+ӯLV;@w=ߥͥ۠63==QS򁑍7Rj O׎ r ǝ8U˓Pp Nq7̧9H+cgV ʬ^7>݀B? r͑:kI0cm8+2]rH$q򃸒0sO2C#qPr:;皘F@r>R0#i}D09-өSM+2>+v.Ț^i#-P-2瑏A=haé! <GޭOO} sp>R_zhn&|IqbKRa`R6.GBO9fxC4Π\d+|݊G`` P.oЀVڀcW8*UR;w#5L\$vgrzQ5jyp񖋩nPDkm72*~V_™svLe2?u֚Tމ;T]=_.8,WBJ0c#+quRQiROf8=9n:yQxn dsyspUDc!IHpF Is+˻w;ڲ&{ c03߿P$:̓}5RoƼ/9犌\yx2O9Bzg3RhoVUhy7y s޷ 1Dv[@1jSك$O,BQ@’9\(O4QTa }+o./ViYF2WeO 9jPRJŴ0¿;d/4]mlme<9o.sGOUtmTFKmS?Niv0di\@<)_0sZ:V^I#vpOO)o'u<) yUNӱH';28_1&Hݷ!҃BOpb3sitS$#ۂTǯȦK̍mP ⺫ +q**`;8A^vRnƑ1TQvZ>WϿLdgN+>cWčrrA+{|7B6N8A-YrݱrH/8LjфFх8Zܹ4/O<F2p<{}j3RivĶqXOJѪ6J.> 7+艔)zM_ 8/pyD1hw 6;ldI$(ِ)<>l[١*:M7nP @0nW{`cq]r*P=1߿f.dEY#n \zvN;g{sTd-5 a`vsҤ(ϩϷWe rH }\V<ePu;О5r u${[Qõ7ߞtݾb1œt; ujT7n9qߠ?;\'8(_N'Ro1m'X=8?lg#ԞnP6Z3ۅPfGGAޜVrV)>mJ@AL枑ƀeH,sӯz =,FuvZN7ICg:jkhR|Qgv'rփ#. ˜aqR|{o~982F:I%_# T6{8}M2UY$P}jvv!BHFB0 + yrWw?J%ҳ-.uP|d`F|ݫPRs\mI99yj=S?4>ȸG[-X 2s[Ąu9Yԩ4.T2gVA6 sּϾXv)tQYUd`J͉nNSwlj,=s˫?$~g}9"MlL"mc!2:z؎ Xd22v%o閉ݳqbUN#)j ̀Á=pvz)g~*tDG ˎaQPsϮ>Lco9Bz; 4NK =:}jX Ԏ4_PJR-A)8=LU&C y#`(F8OH Rp'=#1Ԓz{dִqCG@#grgjս?gsvO FuG%J)h̙6n~^E) #i99^z!UI +lbF6T2;42UP lJ0i87Fuq0&Ѯz&y )8 zcg-- 9Ńp'ӃҪŒevJ]da Ӯ7e,<#)n3:V hR[uF;A:j3ln@X^J?6ʝBܸ=w .fUgho]Jʝ\nqPwvσPyju)6^:cJ2giΫ WZIG9 9k $YQJ[zhO=GJp嶶>]ª.zVn1Rؿ7z[p:)'JF3bwS9ry=J>D(ۃqUeB ` O#4X1oozى6W0+jK"X<S< 0sVA'*p8\܃QR^#>??¶OVC,u;;9<\8ִN#(3ir:G󨔂HqPy7tqx3n~=prsøf-ɱYv6>{UKmJ,le]id#c Y'5ɥvn JΈ^,ʻѤ`&8U{.\70b݈iz+om2# T6@*"3y3;{`֊ֱJ]ER7ge*J寠|g=rթ;Ng-p sԟWvFT r;gOm} s9֯;\ofQJxǸTvIp1Vrz;=` W@ ^&pZu(q#Bu֚I^0;8rI鍧 ڮ\F䓟c/Wkuʣ{s^Cpe à)u7F̬e \) :sgJşfAE J TpNq$VAṃA=ZjM al$~@ qَG1YZ~6|RtʥTwیO`ґ"P4( x}j"GL3;pFzKMJ07,Bdm_Gb?N*Jgbp#T׼MfXyvG aߊ-{=*19=9#;rgdy]ϗntE!gNŔ7ʹ?}ФÆ.>lcZzm N,O%UBV}z}E.23Vf ;Tz, O,$lI+gl1nwrkۥ~۳1X4vd`,7lqYiyDF ʮ:Wlj#F=@ȂN V(FssVm5[XHb]W̄YES{WD]ס:vݟC~yRIFJhqjkk?!Cf~De|ϵR9ۿӄKfd!V08wgG*5Ē}5A 1xq?)8M Gs]FБ42Rv>PO2VOs)+N)')`30ᑎqcӥRA*9!Fj4o+>VHrqm͗ڃ3AD8iA芩Rwov#QMtBW1Z,Ca.|*G^'j+[:S\)ې{h;N:k[ 6~X凸 *Iژly^U@c9)3H 2GpARG<9CEܕ@~IGc48Aj+iSUflF `N`Jz| 7#O8gMil ` Þ߯Zz䞙}2;id- r ( >\QLo(Xp3v1<3ߓC֜6c, z$V \v0F?ӌ=Jp{qCb8m쌌sRI}ᏹ$^;`BwNONhF>JU\L\ xwx9S^x(D, ?Jc xpq9j 냞FA'zP, vTG>dHTw$}O*T"3z3 <: q rm8e'y 3==l;A"ZCypdrrsԌ\C\k:0'8;1ar"r@#z{ Bnjg.q0QgS.% 껲146g;FY=;0F`JAJQy![Tg}[4q8гtc Ґq<t^ڀq9 =i 2Q$+݌$;kNϕץ7)i; śn(-JIA;:U#] yRqО4XWԊ(GO$fiW2acFzoz`]Yc$c5%o#ńjX |{ӽm6¦Blgpz#3e}iTT=g9hߑJk,۴屹–lnu>,e %\tSQdA|-B*y¦-1Ȑc\A݌RJDXpIqӎ2j16B*A%z`$]ypᕥF#{W&H 6Ѷ`};.Nq;>xSU%U<,q[HV(Le$zmڥ?7Z!Zuw9ٰX%c v^Z۶<`V׻p,uߍ[G~'W=d؈++Yc_ 9#AVlV{+%Ԭ2rvr6Fx8#=sfSE,#'q㎇S|ݴGZ".[:U [k,(r>ߠABOf@ ;x;q9 Oa7RRq2qO=: #N^Cv} o>&8sd0sO=Tf18X~]*AE@=wmTxp3ӂ9lh".c7K0JΖr]\}8ОOZڄșK`G^uiA<B ONb*zkZsv8e9H8hL,M/0ʅ'>Zѩ>SqkFPlp"o/%S#h.~bpc?t}|tV}K;REU+O;?LtVʒ(VIId26n=35Os9neWv9;sF&yT a’($`$qMÇCr *`76 (iΒc TaB"amH;p ڜ /M!bo,$Ev9T7~>sYs_ONj x8AFpN2=j?VQ+!K&r !rUiCr 3T܌pA dA[6TH#z搎7 3(^d$jFKS:L$qG!*0V Z[W`27(TyT)92z`u)p:@XX8*rsԁEBc-W _>X%3Nt)Ic@ YU{BȪƮTa`$h1 Yҩʠ99h5WͯsՍ>&y/R7?FIͷ {+ĬdvqI$ ܞH9!x_0&WFܯ#FF[|;P% I;vSH׽?̗Yip3'6~ٳGt$`qڐ[2I+#Ӹ8vpyck*8bN:t?犛ڸcy8j"&\ncչ`|t#>`I0J~zR،c>gRFskE"rY@0i)(2H9Biq Kadm$` sǯNih$e펞֢\̹9 {c&vbry<M+ K0=#ޣ `dvۍ =FG>H*s+gfBa^%lM'7C<9z_´Bl\=3ʤ xG9#nnqғ_b#:Ʀx |8ǵiF]3tRi9N7]Mp 9q2wXvzj/(g(::,GZ'/|8=qWзm" !wq<͞O1\G.Hn~aӁЎ⳿O; +[67VČyNZ7+f9,0:y޶5obNٟ$cL+B8ef ښx*pٲN$l{N1ӧN{}+XG'H'3VbQ{q\dT5 7Ui6N'ЄiJ$@99>ЄcoACI頻zBӒyszz_<Ñ#ޘb[3;A* U1"^Ĝ('J[vs3ńǑ99ЌB!s%Gb{ jD?tn9Ө jEEslFO~{ztSOQߟVmrgw:HRzެJ6YPH;OjHCgP_'  v-I.O g <I#d|\rTy(>RgL-q6juϰCcHn5r;5p8ޜ`L=KB֍n\*G\-[9VWc,;}̶%N@wOzas~δ;nNbg ec8栒B?q8'ԡ3rv灑VVĝ[0ݑirsz[PƼ &e)XSnpHIZQZ[$' saI=r49U2n1\ r9I"xsH<3H<*~s@#'(P3I}+x/2a$F8鍿Qna=e3Q?N*Bv{q2տ3\sg ve9Oѫѣ[eV\; )0CxzЍ/?1~\CcH9gbIK@_¯9^GqSYv (i*}G'ӊ4 fݞjs$.pwryϷ(}0}L[$Ijp[K+daF翧=)6nc[?BSaT݀>r~ڭK`[ >5$I!BƫI9^3_OƙqVL$#d6OԃƵ[6\ NOrd "p#Tn%2lڬ/yCIڣh 8O_@\t#rߗ9WO^g[v61@5c;G^Iۿ@zzی~ )99ǿzsJHӷUo/8!lrrOO*}lkEmm??)' *(ۃAU܋̢B[ 15:U{TrGrWc>}q=rN{4IF`Wݸ=:)%ðɔ!c=*Q%cBnNW犤f Y (ӎeԷSQz8fCpG'-f91>OF#b=NE6Md(0?,h7RKsۑN{gA@,0P19== n +#8H9E>M݌Hʱn7L2_Ug=).سnd$yjAdJ,)|̬zNVd^Har۾Ol`xo>KThir ?{mֳ>  /onm>Fqj˨Zn$vt^y#(9 #\pNw`88UHbN:F?5s Ke,U, a;Ǩa^a3ˁ~V5o39<}x*eZ\['2{JiG yE`Z׌#ID@K2*>Bl6p['~rOrܜcM\Ւ:RQKn EV(`/O*\yB(!prY<0N~3?Sdf.@fMw'US4| )KAJcA^[y9Srd*9##n1Zǖ5,sI.fȝAd] B9 zSs&" ppAb?.y2 ?d/lޅil`Q\G~+! 8psCPF#Qѱ $utȖhn,(} MɶE-)%S<1@$y+N].FSwd>춑}i# q^oėwr0'`uA8Rx#Nh&ԤC gut{~t^vy.fb)?R RO !y5R-[G40Vpv Oy$b{OJ[*Bp[,_8sSF @p@㞧隴N+k&gDX/ _ԅ IET[lΥuf,zr@s weV tx# ;֛WЯ;3|یz?HsִR'BIBW*{gXPg%q@~ڴ ws=-RɱgOQsr#|W LzS'[cGR:A 6AgLqY_CY"wh'w.H¶xgV5#iSJ*ԮOJu9^2yp;=}{v㌑XO@C>b;w#vB^Ƥ骬M€I#'<RK`J7 *DAI9ZҨP$OJjIݐg<zpN{Ր0yNrq{`Qm zLP~GYHW`;Tc}ǽq~e8ʆ' 8lsjt'# ض{jEAzp~np}O©'8cN3Ugԧ4j ۱g@$N3[Ѓ]_Bj˖ 1895ei`G9Vܲybk+j3JdPQ6&\|W Tm; z,R3߲KHxn\Usֺ؉T `c+|}}+qCUJNCB%FFI9ǖ 88ֹ۸JX>Ujm43WݜӨ@($0$ :RAzlg$/zSJmv=OORXW<݉jA"< 2MjtŶbJ~z'z3nN.clHs}yMf\C#>^owweE]͵=<y PNI=N_ZmRB,XWzHޜʔWw+;try"ɜqЌOZZА&erqǿLZ(R܌u>i1~oy ՔF=jmlne s`[9<9oft &{zz[UhL.W_8?LQs֪1Od1t\i*ă}>qL0\gڽN2 gU8FVIX#sjK3K#jm|L0 fW ܌N4N6޾[$`svfRkPޛ۵XZ0T{VU緖U$#r{ӌ量~F'.UԹ%*-Hb,V$*:`ָ4J\g0pZ&hFi7mЀnpd,n]Ź%zuk0Ź*$d9k_̥Q?zD: NX $u ,p$tU--F) 9 H,7)%A9V8ӥ*\ʝ#;TI9%v_URj\pg֘i8|nOvJz])) JT림FG Ò {Z~9Y1{qM6dvkZ{\s|lCIpw:d8E 0P~{zpܬ=u+Žm3taJ"ٕt5uG~D;A ><=}*'=VU_?,JT7w6F'sKO\ w W}xHc靹<ұR`uP\du+5QWW4"ΞaϮ~wtl@(O~DJ-Ĉ֔3DgxIyϝd#v99J=rV}=5[*VNW>X[l˓8S3 p2+V*nbMlЅQ67*pQsߜVjKnws * /Z)OEVzho fOG ?͖ܭ8_G+2;61'۞Bi󧇔[mnuLeѸ/P~^i08jAf8o \amK^::L|2e,hQʱy#;yS w7tiT`7Fr=H+;rÐ̛~| /t0~egS=+C Rp{Ԙ1唓ʬ͢1r ,8vOG+ʼ(8s^)I`B.ʒUckҵMvȁN晝6c'N;+(Gb6# xdn{㡯BӵydOn!ynsʗ*4K cXʂYH;qV9n>J~T9P38_h%[{2~U#ҰdwUݱwt2AksU3m#!# q$c\.*3[ǟsjdt 6jvwx$v,P"8vG3qEƠ l**3 Xp3ǵMߡL^ȬH4v@G(.XvubFUr#OD[U(@3n0h!ev {9 vnG/Bni<I?ʪaLM+UJs5 H~W,HbC7qߞ;Y#G"DM@ n9?p+aG̸ǹ4 (pI.#px"YH f S&E~9 :UpABQk 2r*F}M<] `6# GSel_ܘݴyOnp{uf Yp  `QVPێY'906Mqbpqz&VpHd,$6\uI 4K&@ A# K'089}F-)/`pǠ8@n6uqR*Hw{[)|q9 ӦqM ,xF,xϨM; RI&TrsqCDFffћ}GE، ͹[ms+W#<239SRy#VdrI9пLeJ,Hfҥ6(MWkqz.m:!;3ܲ7hi~CӃ(' `0#q#5/Oק"A'Ǿ;w=WA(:g.N7 wr228Ivgvsڙt1filYbG@9G^ޕYNb@798 wEMicH9T=qsi@suƜ-'?ǕqD͟/|<oSYjR#t) wsVST.ݐ3=ދL  nQr*I~>ZKLv"}n!NɹA|1g[?ʢ,ac9muQBٌ%^|޽/i_Bsp d H[ >%?ܑl@;I;Uv'OW4D9=Jjzc#KX_\.g~irFvN$d089A8C`pzj$7z󊐌r18Q[P U %,n[jZzI<O^O|g݃kgr0=Lg<я ߶3Hp@pg#ӽTe"Fxq܎:;U7S9µޡ-QZ`

c=Jya;{V{{q F(h͌v_©g} $a܎q96;p8h9۲: Vd]a׊=yݻ$)ŭL;BBx$ȟ6=WK(:2dOAd%ɘV;439P }k6HQ l$ہJW>3ToEFh~ߘ8fJ)na ܑOW3 >Sr,8ݒ;Tg(_6`@R $D!22_Orjrt,$Q8;4!$.vvsE ;7S(2da#~u qЏ?;g2Xg;z.LP7cH%ڼ@-!=::# ی-f>V:u=4` /r1a% 6$TpTB`prp=1k5YR~E _n{&]6KmC0} F?lX6`=*cgvGo/Uؖ5Ih eOR>3 )rxҟK&ؤAK'=)?ŴqSH),YTGyHWkIuq98<. nrAA=~cX8ڑIR0\kFu'{䑅ڦ2[ o?timܝJb;xi83I DEcA}NzR*%A\dхUVx9Udn{^itח.n$yVV30Vm=r9 cޘdOk_xd{)ԱIi/z-9zUgm F<IoJ_#1F{8O$>5q65Us;qҢf~c)#ԏҗMQ6"d\|v Oj!^{JiYyQ#M3&>`|NѐwvhPYYn>-؜~;x*M?O+>ʓvfb;tsμvԊUXdާ)d`g9;t UȍnA$9dH3'gڄظ%i1bܙptm :429{ZJIGԮѽ]8'֢9/1\p8':d:(ݎ9#pN=(٥D>8?V%ۦp=MW2"k&Tch:ˏs\+$z/RTv:H9F@2N:/ ^S{VMJ;J??yݶґa[)r}Iߔ n;^t<<݆NxGq\fOBr8>~55218?10OL> `.*Wn,x]0j6ݲ x-#s bGޓsr0:MtqG 8ss?Z)(+C"*~OǵfA!nOLv穬1/uкQf]d=svvǥx+|I 9=OveG'Ovvn394)َIqGCRrDc:VM-;qޜOV29q;Zp+" v~e[fk nSֲ<%p]wv=>ר- {eE:|Úh;H9W8c7xcSYnYQqzԨqǀ׌N.vޥ= 8ۓ}qMh I#$9G10>^#qr MS32yHK1<{Vr9I= Z>m>'2\]* _NmMqHǑ X}ЫRR2v'dKydv v檽8PBs^T8ŶMĎI'Goz}O_*’,yözqXԏD3+)id=9 'ֵDdw0QzʱIYY 2l{@XU2"OQ:գ;XV8UI$s{i7CHr9tl`?Z/oI!‡(A9SLE!gzG%q0l>yGTpxD:sՏZɱj>PwJ3`z9.:NC#<ty'cvqI q%JʎG @aާ= rg# ~Ҩt|cJNq9GoJ7%C;.Sz{^}E7cE˷vB:riG)sg-H/jԗV{L2{󞕉[3ܨ ={F7Uٻmh3sr;U#9#߭D7wّEBq kF*9N@/%'~R6@ q֪$+򑜱R:<1kjfI/vӂA󩢽Gܒ\Fy-NMHaBX!wOJ)&R0GIMLE1HCHya#zҤTQya'=h[|4-CH~}x+m-'ӟ˥!U +H1*qubrFNg N=zE$rvW=857OOmʶFvs{UeR9%8-ZI~cK6{dHӫd<ˎ+Esr=Aa˒J0LڰnnE,l|+iڷb#nmjJ̣AkG"33c9lȞ\2FX}H(|q#5JR8v] s%La-22@Ppv\ZՎITԤ֨c?)'>Ү@8V=2=gR\}t4&ԎWp<봨6 sr_Gc{>ЪDӟ׊eFiGCdWJ秾i鱺Ms$jʫ;r~nxxʎrj7w=->OzZX8°lFWP:1ʪ5F Fsux*rn]R n$K/'9w'U"Xl fjGtsp_#L` ^@wڨw cI@?^i+wM ?ې,Hxbf9TgXhΊwrF A$v8$ o *7egg.`AۺY7'o"YR*&jVrݷv9'qv7X'oVֳc@T<ǧkͳ2Ȼ#$zt=3ZzZBWY$dsЀqL{y/˚J+Eo5R2, >G5}#]w`aw׎zɫXRvc$u On=P7PǯZ&wrv[h-此rqҦNړ+@ 3g?#x0@>ǵEȳpNI8/Aڕn9Ag{~(M."Ȅ 2_|'$va{br9u{ jڦletv>Zmʼ\vpZixH,ǖ;P~(A*:`FOyqc''ǥ r&/V6KѾUصh1F8\oc:+wU\{E,np8#AV7e^< 䞸ZBG6`ۧ57S!!P.1 qƸͅ F: t :$C3lT8~I9A=N;{O͋M=#y!*:waZNE[RCGw}?kk| ;z;`S)]t(ivtp {mqQM0lr1xOe܇7eHYF2ISpێ>')IÛ!::eH#j6#Tvdqd =s["8@ Dݝy*rrA]`@}t;Tj ̒r03@I폭Y#wR4BVrxp;lpǀ: Z$fNM"g#j<ץQ1DA=“.7E%B !K7ݭaE^ z2s'r!r2>=)Yg v8~f8B<lubX9'OgM = 擒_q1Քy=22 p-1Xi++0qW##L ay5m_Ճr+GzrΡT*r~_U#6-Zgie=I3ϧ֭?8=*pƏ[o%\ޫ2nM NS-v˧~T]$:?κXRGuTۓW QrԆ(.p ky ܜsIyuNJ1{B-I[>O$R?طIv'S$:0Zeڿt\JWqֺ}NohP&ݬ̅zqiE;#eK*זi 7HnQ^d-mbH%Gr=~g;#輐? c5aU-zxx=:pKg y?/n?Rͻ#I9#.SK6Ìo8ZN*28z|#Q8MKm0s )O ಐ@ϯ=>nn#n`Q^O2NGW+E/r2~h\:\U^s*᳸8=\Vr{yZ{KMF 2lj >njSMA\),'$)n@@k7ɩ"؜W8@ {Uvdco|DXp Žs Ȥ9]23R؋;d3򣑎2T' ү s> Z(QH*g':sP,NFHKx"j# N?jI@cO_9!ہ= sӌ?^TՙR<#pG=?*2\.G6bҫv] `%'zcےk\>kSR,D @ğ_Nko70rxץ:jR9a7}<5ێ;OSީ۴ r6µRc>fgDl!։ ?_sz&Tp%Z<Ҳ7<[?q$)9>l)Pw%ARE,w(8s**c ֪3ИccI9Fsg܄ 5"N˜G ySr.q`rrz }jPѕ9T8ʅdRyzdVDTD%OOk:D}]wbMZKd4_ h*-K0U{O?\&|G8q/j~wpYnMbϢH9TA yI1 tjbVIy7, L(#gr#ó161Ǧ?n^_Ȓ<޼lz)8U%φ.X,T ssikEӡƷJnU0l 0߆yW#hȣ;[= c5 C8I¯)'ngx"qq#n ,N <)~7vy*ijvi6.WhrY7͟p) {4dM dY[ErAUیc>ߏҢ, r~_ JjsNN&{q:fng%AӨz8y]X#;if8OAAk.+C `N3O{巑H3kqI`ul2v~4ȡd sQ20H:~&RI^8,%J9N\lQy\F瓎SZ]mL60 +O2I\4YڥD$G'ZM85+|F M"s@c=MsG}%[qB\N w_vX(\ smiJȫpnf#浛NIVfew|?1A 7cZ{2> 34¬IA?;IVpm[,QRNHϷP q01+d>[c!C$lcni^Qީ}-v61ǽCW`4%u!vEq<+:Kd N;o"a$ x8-ר=6FEu Om=:gCVes /nP*hU鞽5}-wH`;/=EtFypuwXF(3!F`Ar>m`y=07gԏb;PHm1ZV)?x /<jo+jL$@PÓ8n9%G#;ulveP0yG\SqyWj>0C~ w|wR{ Cp7nម< 3+&/{{ig?{_P܃ڥ-YL 7V,B.suNG5+VtXT;$?ZMʞN3eUÑTbsrϯA;#̠]Nqa xVvNvz~20nAF=V6th}dy, !s==rj]S(am8QZ7bē.$WAǁӵG/XpºG|b,p0FY[T|ɑ o845{ n&e˵b׎ ǥK 3 ѷM&Y¬d}6Ԏ:烌V+v''Bشh$^Bni 1c uc0wn9¬/);y@<6+ pe8V˞$*o Y$B*l}H|ACz-[{p$?9 oځK=:kXP(yvmp^F#jҹMQ[&sjGLTO8S$L|3: ǭ_k`T26%Opwdr jq($1a̍ W稬-B tn u75izkΡl嶸瞝1^iK^ltw\NZQzJnR]@0W%'зwGH `>n߫=zE/+'xjAf2y*:WKE!2Xkp$qZHU%qFF6ªo_R[ #,x$zfI?NF;qkgO''$g3OhCo8k7es~cECI(NL`# Mfc[e7.7@(r+r`??ҥ>7?3p}GLY,׮7bF'mPP>`ݻ :dV8qG!AǧP4?j_Rd_c qg5i\}3Tv (Y{sP8#*3ïJL 7/A^SRulOUګuS)$9$?[Ӂxγ)"<']TX9ʁv#+3*"NA^;n{U&"E7U 6r9>kDPxg~bdRL;#qүlv.]Dž>Ol #nsG'85*4SJ:q[Oi[o_g)E5=`ܮ=:c:m>Dwɷ0!H|Waqz{\'+Aꠌe=pC$3([yee(%H@I -а WQ2RIH ,d%0 Ӎ5ݵ@-XgKvVQ>Ub $LE&#aS r} [ `v)fl3nuf9M}ieqI!^Э2P71`x?( UI+6՟bݵuR?rsLY{3x.~cXchbvNLх ]q'~8BdN>K {8(BSOQ^>s9=>h J}/21w 0< 0}h݂* zRzJv粓f=rlI|U~=H#$s+N@vaC?0ݎF'R's:*dpv̒I=sHWPfv?9,;dsOk-J2H\|8?7,sG[I=Ͻ) X1A]89ǰlN݇>'3JϹX{W9'Mr1I4kN?㧷D+;{֢Ke\,ߝ;v5yكl׭UW- 1S,p=qԞLPɸ csdOׁץMؒ2?xm7rA8kFK܏>qt8m Wy'󬺿/ὀ9<ԟo„}:m`?_P_V6l2x99T7g9#ҽGR$ W 6w7ޑS9;x$s'Ч@QN^NNpjʐx`:>KKh&G!.{ yGנ%r9>*[Q5+;2p>qڥb6=4s.H|;vӊ@u!0j'2vC=q̉i~T%!LF:Qo~CqqZtii0Nz`m{T1du?1+ܤhB[n?J>:9y&']x 8lu\>_Z^ z*X`Wc/+`מ'M~=ITvd+9'= ӾJ81֧Wo6>vI#<54/7PpdrABqԒ8O˖~xb}sKc.}zZKm 6{R]88wo!ZG4 ̨'9<-sDʑ0y<`FO@SORGSn3qxY61aV~erjPBRyE@?(#lg(ݦs!\ 玃]07Xɐ/k7c>f8edץ\ud^Xg=3){9_QNyKrϑxS=sMRx xZp|#MOgnYUO,#ckW^f2[rxB?֩^+;6\53n&;}6;i.~As|CgGEv[8G2`y7?1 KuL^|_3,K6 x=y�yP)Qs0z`}#a2wq)˱)Pm#= `~?U᜝SV6-5,:SppFG &!1m[#YhNV>#h1 -k5Ija#`~0-L6c ̑ A==:Wwاz0H@7OsҚ7Tڎ n1|zuӐJMx$@'8=JOGmJi33󃓃zI>㧭i!-V^@;wv{:5rCP=8T};,aU# NAO|})IH W׽d ww s]42X6Qp;,o g^cjK `s?+'}AFoڐ}wsqLrT:3K8-:Gqzޮ9{Y9CbTe~c:)URNF2@:56FoOx#=ڭj*r}v [!:/Q?Z/.JBp$9=?ZZ؅ ]x݀G x-CO%S{( vg`@tiNnGO99];Tlxq?PXs?='߿5X8OIZt9r9PeTI$t&2l+~x3O^iSCq۞)_^" v<=;Y =6WbއW+6빁x9X`fRdyp@',=O|R=:T<O+~Ȝߺ1$c ^ҠSQ%jy[ `>9rk<@!r m9F}N 5ܘ mzO{}iCUP*^ Hۜ`S$f'x<FOʝyw,Q3r0޻GU,Cut)K3J4R1d<;m=1t@Olր 8X+X`٬YasՋq UuK K| BqëX'#qJ~)\dr'YFIxU@_GLc['3fkIPzRؚ8|I_Q׸5b >KwıU)sJdrFӢAhwԆ2waT^eRFEǕ[гn:ގ+pA9={*\֓G"B *B?z֧uaO)ߩ篿zҲ]Nn]C'۳1v|2;F y)JIyWj1l,B 9$cE̖>Rq뎕,ӳWX9WaU @?=;t8"薬d&~`rA׊)Hʒ}H6U+cPsTp@'gJ+./SlA cj6ѻ?~SR}Ā3Q\?6aXgg{A~\c;zsYJ7 rSUly*% KgёmܤM[O*pI;Gq~k$\Pdum`㑜bEU+KNٙ\F ܾ>Mmn]˨3@|sVriM'$ Sԫ1+ϯZQ)Z7T`qלJ6h\@=9$ٔ^='#O(=I<;t'XNv2Jv wp9<oa~,3V =fѶAl[ҰܖNS.AP0T㚊yWbRFWo~=kh/[+g+2F˴qު; F:.Us88i.wCfOx ڴƤ ۸apL8Cz+yQœvXeOm{ 2GAޚMJ*M7b gc`Vh"]9tq5*)hJ%lF@ۊ ϭ(Ųcٿ*:c-\~y72 X?/JZr~ Rg=@?ϚIq0K@خVsMZ+q2(V T[=S# ^]*/sIwc1YJ'wU p[ZFz*IucspH{ZLcDr׹Rj*ylcgҫFylG߽u_UsYS+hbKml~H0r=x^JZ2wlr1dJ@9:1EՒ$nV,7}?jdNx:{R@v/(>zx@p>9ɧCF2GpnuEy݁z Np\.=:qTf~8;mkr9&U\Q޲Y=8$$dkDk ]j# ^: d<\:˓(5LDY8]pF# (ݎ)M-%`*Ėr2=ҳOώr~9JŶ3HR[$`9T"&܀˻<9֢\29#>llj[zzun߆+yo']Y+%x;vFp{Tyןx+LQԬ`C J ,LgrXɤoP8>;WOefp q>W$'+qsR+pR0.#͂z=V{O+ˍ.OOҼ}R $k1sz<.`N<vdҖC9;2HVݵ=ï$ɥnfD3 n!K$nn85c'xX!zҚKh\>$1VU'b{'GMoƳEZCK϶c mq)[tv펝8(k &906HޠsmMu>bv65X+AJy 㜆zCVOQ{`Ӳ%їmI vtUJ/?) R .F~9i q ީ~/"JS*MIpFz$Ӻ9AЀyW547W9A9=)= <2U$xqǧ@;r9'#$`}N:7QXZc?ܚbc}֡;u;JSO9nHs={S Мw8#?h.Q9:zOj~ː=8ϭ?i簹H|py4^0Km:;j1 719m@8 ԷL}~^kh!:y9AVg88>^7ϲ3Ȳ?'gNr>E,λ  PGG:7w04 gq;; r0Oֹ!Dl#խ Uih$FU)ʆvsUv*0{Y__yƬB˽vd !.B<,pl PF a2>e>FpÅ>stqWvJAێQ0A)Y}zFC3!'Ew{ity>vۛ#fB$X&bYfa p1޳>zSm\m ѽyBZޥ'h~yG%WoOx'ۇVKh|2xUGN$p֥fkB]ҬQ20 (a*9)rU摤7ݍAr{5wqh/J |89 Ozxe9b$m;/Ӯ(}GcfZB؇)N1ܚtiFd#~bHS׏CUs7LG($ @ ùP0UwFi+wޔ;15b766w&TiT&B1WO&w0dɭ'ыWv?HWkyd!$|Y kPdNɌwF[=VjH~;!iPŃ1%s U}Zx3 1XBɱ#Gꊣ9#SWkSXdw`dWSZ kB RCa'Ge&=z@4d/fDLdU#~FKA%ϘAUxB@FR&9|Т `:pO=hINC rx^)19O7e?1cLvй-n]qIVT p)gm 6o4(Hڗ۴ƁI,9;G9 };iEیFx,2q{SQ܅]>i1!3<OΤ͒2s* |Xgq.Qscu`p ;FqpiVɓ˻>8T}bNXj` : F95^]o / pArx可/ʀьsj&R*OΥI,ysS(-Bɒ%Y q؁`|O"#T]\#/%$k`|P6tVkOj, `vkF]-mdu-ī85Wg:kmrMĩf%6ẓ"27 RX>׀j#-X35=Z<$\L+im ǩ;ԽJD#8-+Z|`98p\w^*-f W/ 77NT<"NQA03LZ\4A%.F]yV6"p G$s_}JS%_d'ePr0msu.2*Hq۞S~E%es{0 k"R;Rv:c@b:Ԇ^}h2nkHh$pEZ [?)ۃ3O;+hqjo7х`- PH !H+l毬uS)j$FC0A5oP %W=AϧWk~@?h?>QzQ11*}:➍Mֶ'9ꄪ`pNҽI?̵LpϾP*~n֓-^wpJr0NHp?J2kR9ϰ@:c4< :-P(#?֛w~{}*_:N88V#y#~ơoR!#>㜞ēi3g8p|5la[<{=O)n݄眲{zazAJ0eFakv@W+Vdt#~.mGse!?(>l"UP㑑5wh`]E_?Z$޿tsKUFsjp@?ׯĸk*I83FsA\ ŗoHdFUV^osk8dl cH8}`KpO;)Lmoud3F1׎{Dӳx(=7 f#qfsg"|)et{4VSz:gE\ѓV+0yCy@ɵ7F8 jYh2dxmњtfK(*"`:oJuWbm(|p: ޒG'Hƚ"Lϕ3 .1\דG;ż(!*rxխHgv!L#BcczxW 9CX5c; \'q~yk-r)T)cl}ܷQ0O6S("Bwvl-=j {Y!p_bd#0r5*9k؜2*MO9p0daH n"tޞ!I-L hf^r^\`1`zcqLW\!g:4ٷrF~~z|ʳk;C9$u2rziu6CHې@Iлn]z\֓4[/=U_jDQAWdq71ӷ9'% g;ݖIޟ7* ,I@ǂP:~ȧ' yLrn16p:EH`[Av!(pH`H#fbDrI1Vm`͎c$r@ʥC?{QZh'Ѓn[0m%UM~f8 87(7o>10;G֋ TPn+x9#>EpNМ'9q8RnmݷҺk0ԏ |LZYpn$w@2:R2W @d;}y)Nݑ*=O˂Cg9%W  O\Ls%?gV#G.0| v;c:MtX,9䟠 =:~ K pN8Uu !OLdCZ' TO~>],&ЍA-bFVھ^:,~t֯s1'=rOMネ~x9ORIU!l͹_ /NPo/bmSF0Q1^q=3W% qv `qH-ƀ9nb[튗v08'#=sy~E2](R3n,s=GsO{8<'m os+(0] gsqf^3)>ń@=H aFAXE'ԭr֦ʫpv Aq#'w\wiRqxN¡¡CWbX~VJlf ǽ.޶ 27 0{s# .8m Pw$BІ;³p~a԰$g֔tgHO !bzT5Gw*F9j^bBLl+|gi<l0X8ߧX2yXۑsxa!$p`c٪C)9Knf,Hcv؎b/%B䓌!e;Upp tLR"|sFw}׎(ꀘz8jm)99M&#m_@sہU6l0qLka.>ms>%P` pϯQ\nx'TKB] /UϩObd0{ucs0ۈp:*Ȇ˱H9Ir?Ʈ-VJG3&f>$m=@osؑd1?(,8l[ՙfo1qy_Zӷ$trIR1DS%~R6Kp`@:nyQQ4sQCP"r+r00Gc3CKuVRyj~P=KXz(|w(F(W x)O$pɒ7=P謄|ýKJUՀ 39+mbHd݌NA8I}zu$D:Uʐr0s#֓v -}sW1 r\?ʲ)I1w/N2cpy=jh8?t| pp\45nP*sC!ݐN2?joL(%B0FGN \PKDg!v[>UB 8Q2\aA1z&M{'hq,:ZD8g㎔$J$ggޤ}>BG8[*})vn0jO{&5pA'q?:(`2N6$|}A ` `G*GN}Zɧ*ܖ=T4{V\o=FVq]C=1 $줞?\^P/.G8^߈yǛνiFE7duc20gC0UR8@Q9#==?:=K3IaUsjKqJ犒yngK!c0xO4glc9-jk&y?uGo~=MCnn}sQmHr7, r{qTc[A9I.[d d \O~FWuf'9,w70ޝx"RY>omz}\Fnw}Zە%b$ zp92qA5 5RmvF4> N N9HFCc8zX[alE`2OR}sQTcEq~4K𾫎HU;ߊjĹt<ķ~{y'iA 搲sU}jqs֟&6snOZA؇bi=d|x N)ne~e >\guQnrK{iA7zU1,* qJn>^){:QU7̍ +ݶ9 dcofcPrAg QR^)8B kp,pϧuVڀ6O:?wǙw93iVQ\̪>b~q{E)U%yضW+\||46I Aqg:W+8~^I}1Ӛ֬Z3%νN-F `䯿Tf` I8O^&"M^z\ g lH95bi<t?MFۻSܣIn#9=2Ms2ޙ8\{\vϊtxn7$hH0[J*Z=>D*E/%ર~!lYXRn!;G_NeHԳr j/diLҹ*/Ў=?*cI,=+z+DDcp瓓>0`3[ARqvV "E Ry#;p:VovRv'Kb3Ӓ3WToE'tMn #o,a8lH T! Hs71l Kis,rj7/D%qUPO2~SO3it r' pI*`:i}>WSywᑏ~?JĶg]Ӯ?Z;vB6Σ옌r@c VܤC dsG/R9:8ohI8?)V5OFcqxe=ܥ[fr:8z٦ӳp`ZK?3W0帇9 giS9$ܦOԆҲKкA` kh’ ,H@\zuISJJ4a$[a烃tRL~mOPv8SWI5촟!w$h%rI )唞yFw֚Ka:ɽn,w s>6џPːs9?R裷FBydr0{~@MN$'V}oы_px>0@:c~q\]Qb;1py&ٰzmMc"A?p2*Ž=o7+'1J73]=C>`xq΄[+y2M Q0θDG 9NJt Iݶ\ռ8Ӡv_]40:֩sl9Գzp8'79t6p80:+ݹ5(>O?Z'' vUVZv9i6R(.y zc?ҷ"Npv8EԺX`ح+{.HQ:{)YʯkTz@ 8@V\YxgqS]Ov~_/G{w+HsYo: wl [}܉:DGmE̓Iq8%TA8T"f29smB5q53%-k^K651 Odw׭mhژB:z]ű2%Ae\.K(?JvۢC@%w2Bw~zy$%q_hC}k8rݐs_?F{{|[[g) T,ODQPmNTg99+RϮr TIp-eg`d˭pIom nik& 8aD0 Z徦4гpHgך˟Psaҡhz$p(@ s=vc둞V,mQv'8j؂w᱂Oͻ=>t]\$<}*z@ws98-8*.Vݹ3`tPrYN08?:q0%@cr?׷(8b}K`IŒ+܃S'u s zΛӃ@$qߝgU![oL)9Q*2ņ2zp;=w!)䃌{FӃRN88tP۽.dvx22~ķevy#*ѹB3d)'?LЪ룲:Ul EQfINoKکqWGʒ鮦Z^?uo37p8kmE,O8F*O[r]E*fR( Í 6sY22ıƀye=ʃsoY6I=:CL:|a$.]N'cU6e(iq09 u\@ʁgdܿFd`7CqTcFg!nd<앑}>0y_Ԁs֣I.))zd9KwTzFN4 {]SY pqc~PIlrM-5iVҧawo! 5%0 GAӦM$d> |Rcjg=O%* dsaBʽicf*d]J 'F3ףdh19f +2zCT.<%E  U3FsHtƏa,q '86 'n\+E(Pn }@2/5+{UB7,#F894+_%WaHà74s!w,1 f-7Pz M "y|Ȣpʃ ]}G@?0RWq_¹ҷV'#&F%FK)=fi[2oeunv9N3Һm$$<ך;Y_3iV۱N}AֽKK['̙Fߛ8;qּOJ,6[`tivlmB0e$sڹ:7l< 3Y\$1 [/X>OL֥?xQ@=i+09<挕0IVrՂ"X>Bs=:ֈrr1_'o1~ۆ:c{Q4eTwC뵉#_1"`ucqy$px=i=fTSc{`csWJ"cv6囎Nܶs,rŝ3rIܣ:{ԖeaNpOnzYga98s&p;p;oX~fF `|tVQm2cT{MD_‘6e}E(8Mbrwz–/9`C9!+cJ^s=r=DF‰65jWwRyxIؘڊ߀2kwofwadd3W2O^9q^UD{_C jDz18>zUNޟ/0ǯȮk t%#~1;w9О)q%3I=q8TdN3ԴWf g'>'-8 OnݳY5%X^q܎ʬ``G?l0<9NFvl?š}}Iv6p{Q6>;Qo!W{ OaU:IRsHʇxZȢlz`985n~#xd58;zW"6D@8'#@8v$M;qpBIH#TsYbs9 ʰ^pnӭltCk ĶSq0n $dDnsXHZ9$Y#, (CqCї?],H+$HKFvG+ݴ) Ja/ |QAV=k|A5X ?A?+ _~58?óWvYzG5`K3.~u<80n9&13ǭ~~^܆9%Ty*&W#p?žߨF >P:ap@Wi|Ñ '=MYB.Xt%> xmޢkBڐw,_xAG$VcWanf?gUm=>B6e! jc|-_Ljryiς=ߧjt%}[Sڛ@!1#Ӛ~~{1!<=yʌs֠LKv!Ƞ Bx'8דXp:jRz\SNq'8ץR|á)gu*/˸?Uĭ[ iAQ󚉸Mbo=ѡ|qnV.=)7`v Ah<ޗ 0<vpNc{Dn`Ğ9'KrqMs)q8Ȇ\ݷa$*6o8rrF8ЋO0@ެB?tc8zơ\p:~u#Ǹ"@MKDJk3mc֔Y)^r>cz*Ve!!0>\go1S^t |0%AukyDxĶ~R$g<}9Zˀa ;U:\wy؎H"6[\sd26O,G#=3:EhqnH Ǹ (hcӵ&R[,xJnv& >9E8 lcx䌏Zv \* # uj)JdmbGڹH OoⵢaNrd㯦;EKb#%GF2q U1B3)w*?;Pq}1*Kdbp@kM" 9$kd( pHGDվXxyk9@ۻq9P%gMrϴ($F?1cZp]Gz80OaЀ;>>F!F7neNNu_VW'GNx'?N{1aӭ$-Jp! .9`V{39;6w u=,m}IMzy' Ixc4F[ ALws-cyqZ$X`O^=@>IwszfFr2|@O?:i> %F*5QjPy$@%?\2HǢ )lwJ#H 9qqNsަUmɏ Sj$PI6v3Ӓ)ë`sx+USҫtl<?5 [#y'#qQk0dq׾GznEy;sW$[JsyW~NCp~b}xr5v?{ݎ$Jo Hq]pQ0 pǭSF(p7ƒGOuCZ1)Xb {`V0TN8$?Jc .>R6g'~q>#i=]3v9baیHɆfSּZ.VfH.ǩ)Fx fv;0v;TH8pJL6`U t'6#9pH-q^ж#0 rI'?,N3֎`/S?6{g>%:U{ޔ w-m\y}j1t&n8=H'ώGbŻRwrFРwlF>f=8;R6y黐HZT c;~NƉJ`d\sҙ(Üۭ ]>nv;#Rkݜ('>KvBW,|[s;=oOFBfS32{D*wjB=s2~ DvPz҈3n.>e6z.9dx>J]]J8G~*q47`Kܤ͏VRIr0Tڭ)  4ٓ2z1!FFs? ͒MVw<~. gd#qӜzb>PqZm|:s^@{S)#ФNā$Pr2ӓ޳ZeI-~݂ׄ\g*˝x%F*T~ti4V==gqUE)*Wu=? RwD,$?{#'w901̨288:) ?8'O=N9ykTW0 ;$ # %+c!{rh|!bG;\gW!q =z>LwUf {4de@uL21XpqIjdp6F2cFY粧N3Ov \!Ā6ǖigT `1H8#d\U0JrG^.C[ mA;Rn8`z [ v% Fйmxҹs0} OLqݛQFyw #>9cJJ)^+)&1 r3-̈aܰ278B1úuVac> tW-^Ѡ;8UYF 3U'[Hkd)%| ?)TWrNx FF@?ҕıo/H8 zi1%/ mA+U)T#өNڛWĂIVQ 򭻆; z'KTd-M 揩bqU{D-`y{Bpz ;r۰F{QҜl˶N zO dxs?e葑93F$vI߯ұ2R/%Bc;O{տ3W'v pvsMHܼDBC+99֬[B&g<dII⢶5U͜{ ڞ" ryQs;3q+t˞?_Arn$l y㞧h /R1(v3QNA*+c\zgMNgpH$~"4u: 3 Ldgz]ͬ0ĸORGֽ̦7b<`1aه9 '_FEE+A/B F#q돡;%8 6H`A8chc2aN1ҽ-=SK8vrյ֡&۴4'_㎆LfVI&HO<}|.O"BS$ny U7,ʎ@UuTj_a\XX@ʂ$`w19?(Ww.r v(;xo%P{=MD##?e=3DdpKy(G9$ϧl_U{BQ!O`aO;9 zaTpF=Ly"w.csԨNbvĜ~zTEoS|64&e2ChKc/A^ջ^3Φ_r6t)  F `ӿ4B7kIB6GG1jVbx~fE7Cr8㎫i6G~ϱ3t hrv`z.G Y_S\NHU߀˃}<~5Y8;k6`\v z=kdݛfo} PaNQǯZGtGJQCu ~XH :HҴv"RAwH;1:KD2dSߖzQ(iynV,:;E4Sc֔Ek~x 99##-܍3}kzRG=(^Mk}bHRǞs;I%PGxb+\F乬ηIߎu CTq S}8"ぞ~\~z=9uy]reU,J6sV0=sӮE\ӱ H]fF/;;yá g7:Z8FxOšϰ6T8iv,7e2TϭX1z=}M+_b^_cH1~X!9 OqaIg=:uE,ŗ< ~u)5Qqd,7ʧʱ1ۥFoq* Dmsi4QckS/=3VF( $15Qa:d9*5b8(_#499 smBWQ66jq#n;=2KN#`Wm)h[[SLH18ڭ;)*J\LS\ѳYy \aszTێFpHǦsnsL؆YF1瞤fPp8FI]nrm #$ǧ 5% dN=+-NZQo;~"B.35Er[ 9 {sٷO&Y3JRW{c+3H=7r1\V 7b?¾OY~W$@ݏOUdWUأ{>T9۞x=+}|CfpA29tSiʥ }vIsYytRjdH`3׵j[: !,3wIBz̋>nrX 7(ⵝ~]Tskl0Iq܏3|8#6',%v6[|9fxԗsaxPKsY6a`(W>J衴  ;r:_;j浊4f zΈ[i~ln1`vB|ܴGva`ҽ7pb)k9U`!8UYkFx+ާ$䤻>̓M4}'EcvFQ%)"lyKc8r#Jk/.{^3ˋw\t|ϥ%L2G<+AOzicMxCu$]Hݻrf #c5WGV.{ Yݞ~o<W;c{WrK$T:)s[VRs>y%Iα&?"p0={d樓Or9yErag+yF'b~oI8ɮj]TpR#gzsZ/mm:)$m{nxwqqQ']N*ZSc?29OGY߉X 2G$[66$7rxSM2HQ(B#.qU2GH3~?*e/B,>ArG<{({dLW{/Wz(A|k[>V8:re9jZJIpֹ$c__u~?Kkq#IW? ۴sys853&;R;Aל,z18lҜ^EAsڸۀrHP7(?4=Iݖ`* (3_n`FpP4K޹pamsQ ,suE{Jس!Wq.3]r  u8q= -neQ_QZ \93 XBTmN8{ޒ`ƻ^~npN;(f=ϖ=A8cܨB79I3wvNpNp-9唂p:LR|s $qsשV[yFTJ9Unko3 oa`Ǔ>cNsoAI4& aS$}OLgv w~Nzp@BcD<1f4fILu s⫑xdt=&Ghr9CcRF0I 7aԟ³uz=u+h4:{d☮KtI;yC“pPV-dz}0;UW[GL{hGT*ٽEF% @bF>#{MxÜ쌎>O-65ݧ!Q2!PWo2uˍ*O 8aGrGޕ~^&S99`XwCp}k: i~ABHEu䜟ӥuCQIYy3EQ0`| ;q\ _06U<=GJYֆtx@AUj {>jO ]2ET,606%+7Xe߅q!GH|aGb mi4.|#.zHzq] SM_co 4pUр;CȬ$yw߂ eESuv%f~g\;]CT;vy<,>T…c=)}`NI rAtUd-ݷ1Zj,0Q@ $(v$|rIϩVkkm\5VǞ.XSd0 ?d63]Uv0y5Nj_#tڿc̄<-0' 1Yw{$īo,ā}Omrj |Jq>a3x `#\wۍ1lTެa#fȐ3 5R[ٲ&fzlrT`\N,|A /N=iUً29,A-&2V"P΀d&6~Wq)U^=ڻT|Opޕ3hpmzuǭ1bw0G2{lVLl7~𙊩B \dc>*d*~픱xrUgM;ؽ'ǖ2 ͈zH݂@#<`crE;__0G@` jk2RDYe}ʼne;29(rΫX.GC;¢^r+ɨ&0pl>q֍F_pņ,;AsT+Z}D+eY t_v$a~<rx!w)HcΕVe_v#Yq/ 6sǿnɃcjv|p2&s+Mu a m&Lc۞Dk)+m%o>y%.Tg`s;v>ݫr ?7YedОцFIeTX.7p<;wu\H zp3Q _r~25fv%qr8TJ' !2 g27E9K_Ajjh0GV2]?c+YyAY{TԀz:uL+-4Zv6R`PpX\qޡUX3t:0 aE4{Nnᤐ v[ ֡EF+yRK*[KzԧV!6VPUUrȥfk&!HH;JQHҩv7dKkv@Y/c<s\NJmHPڤڥȢ;gkݍ3nHyr.\rG\jBXm\u>SݼϕʩDq1+PV̤#. hLZ OC4̙ 3ylPRiL\n{LìR']b<3,`r+-FS%ʹ6lnN>ּPxz1L1Cha ]I7LGGC# qMmvUJΈZ3-)܄1 As PY3?%Aqk(H攢 qz{Q j t!z|ocM- 'uegAbA 9^z?cUt܉S#h©ƒ|r3W5Gl/Bb0pIZfLpp=}=+?#DzLmm$} s8Zp{-ې=dظ% sנt,ӑ.R;p(G<`r@zg=j- eZaGAǭK(~`IՋK 1ֵ- i'8p^O_j; O;{J t^e9|-S=RAu%|,p}p{ ՖmGA&nd`5yd1|&7;D^yR|HX7ReFI<֌e$ Fa$!9'woҢ%̱nOIka ~VUzs7։-c:"~r>CF p`۟C {/dk`[pCU@;OyؘK&39HOlLۏS^gS?8#?^'C _x)n8zA3Mw?bv)xbqz=0q9BDHdJp pvy=b%cT7i㑌nss֣wRX@<9w}ƈՏ`ǹ 8={Sޠ!#pzc)+sz gd3uЌ`{֫UF`u8<WxT7>q,@#=FIWA8)H#0H9sj_-*铴n@Oo{2yo/wG\?wއL M98 0NN ۻ/HCy'pLY¤FO=;sԭ6m 3Nѐui+w-|㮴}8+ =wI`Np1W`OOSa99a%|A/y>PS(q'\_Sx}CPm[pJpF;TW#9,ӛzGh$KǡI3̫Nױ$fb8r[# ^b+;Jdv;A vD9Nh<-QڳvH<7HrxG@+FT,Z.dt>S-i j)` 'FӁ=s۽CԨ5# `]c!^[ 1ɢB2T(ryOq%bb#hAb ` G,l5kefԓc"|VRʤ0㜜\ %?6SOƭ;<]vl0V}9$ R hE2{H6C*8m^"_PA2GLdz;%o.T3*p3-H(2>HH9>8l{+[i܄[yyWG@~u%\YЀ=%Mxw)idu#XA<;EW1m/ `Xdnb:篭d4\EBIʕ' 敔ĨmUtOAW#9f*T|0eN9" G9]ҟ9=ŕըv0\͎zRIb$$J1oŸ d\IFyTrVfid׽]E,K˻TBS9vClL9!O? ybw+c299dHWxqrApU@R['wcoU*A~$F2ljhbP|OcPF႕-wwUbjpu:1vqǧ|zvoc!>n}T{zT{r3\ubI.p)h-U!r:q]W l0Jyh1,Mlﶅ P"E(N39ֵXǵB䑸sWtD18>z_Oz!kc@_cTw)l:M+?;\=/? >[o"\#$gGSH`g(A[[oF`m` OLa I Cv߃LbYIGF!OU=?V$G$rSlIlr2;mI",Bq֊g#Ϸj-I %} &~H%bֽ !/Sq qPv@aY3Nqz֘:JFNWibHA ]6Oy\gF2Hr?4mBZԀO,:Ddl26R{gNE-O򪎀*&dsoooe#q|7m g֧h/9=o*g&=FyT&>+Ix9r0|F[g'?tjv8?>yA8%Jr䌐=.֢fQyZA} {ZG0=sOb=RGp~ax==ԯqr`נ=dEr9*9k3n&O᎝ X 9>kOc_" 9zғsIS1؝2zy Kc}jXl|z(rm;R۸rU OnDBnj ޵Uv͠2 %cV~p;{9hї# \sަ"#NlqY|^w6Tc獤@H\uqg̶E6듃Uٴ9' gq\h!ZNH0cЃzj^廬kQӜ'$`wS) 98?7VH=qǷ^9督&LormqqW`Nz?xCT ' '> { @82{1?:ՈN1c3ڜe 999EoC޹&##grW 23+*3EP/p:clRa-!9%sSy .?%mܮ*~RY@y?]6xQϨo`м 8'$>k/f$``g<ԷyiDcq@02s߷VS)f?+':a/E'؂=*Y PqwϷOvLTP;qRW92OlB $g#o\uP~L5-ț6yA둞G?ʨ;)GJOQb+kpwL{iY2 hg Q}acCRJ(q0۾^[C˯)%g'.N*mq7 ӜR[_c)Y&H>RawXdb~o1$DZ4 ORXq%@'9GOZCR0Na}:ѱNo[ A.uNJb |+ e[p,ہlAxv(zCJAO'qI#42G.v}ztd69AbAjA?Z!yU9nI89֠6t#p\|O9>*ضT$8*ЌB!˓2:uJQ$&7FFFDj$\qq>?`Zalgr"I/ r Ԥ[Ռ\p\Fwegc5t[Dk2INN8鷦}nт`#n iQ"E 8 {Ts #_#ڄi.gIaq}ʍ:5`IgpܻH?/QT&IXV(-BO^=W7Į8לҡɴtF,ySA de#9j3=JC?t AkUa%A,Pn 8ǠKS9~bG;W=#&'-׃;tPWm2ylr00@ϯJ?(H%@9 ةs{4˻cAϮj0%xs8-._};sr;sTGF{f>y=H:w]{F;IPN[9v[1%dbJ"}F+SjrIbQuRxd/@jucMʆe<2}>cjJ1ccd dNr;2;T2g1N8(QvJP>Z=ce89%+CЄycvYoщ8=^$x\㎿Jq"B E)'9oJ!qp=y+I= hF*!@Pc 9#r=h3+u nGN93S?vSFW+r/^U7I ?d}7ni){H9{zVq"^f\8g~7}}yE#jg׭j}0>^^-Zʂ@spKdcǥo=h>chf8&9GN zT(F#)劰?ESSP۷=G\• gi ===܊%oN {Uӯl (2 դjgv0 RN{46z<sL/CӒ20s{T q1-6sqZKd \Հv3+gZXh`3x6zs'#?g 㜑I[Fq/nm ?*iq;u1묤7v2i9 \GۧJ迻ohk'vO$wp$hszvU6 ?RW29lq9}?Am)SzV#f)w3+E#9zsnOLf$* @'v~P1\e`Fq}y8ky[tyYYe8l֮T88m]YsF>SnۇV9źE.ku3-7 Pv>={W7v$ ~]Hrg9t0N>Zg';F]q[ F#YO$Vs a8mpK}{Th7z޹Nrs7l$m#z\?[jY#c$W'y#!G1L{wa%D=#\g8WSnv2Xc=SW`by #oZmos=+=<ӓEK [=G^rpqzbHWzp9?皆~C`pW;RKCe ų<ǜ+vf-NQ{E{͎Fsr[#NִW!@{/$4ˌe 2QҲ&^9XeOl4Ј۱msxd! Ԝaמw£ NXEwKd}*B9?ZwE`dP DnյA ?rD(zPoHG}⃞m9.xF'Ԧ*Ne''96烟S5zrHiUeS)xci;5;48O${F'#@KcS[3> HhV>!%M}XWT=YMcFxU`uoKKw1ӡrF@Vx r;V< 8Uwq؎dxk C A oV&>?9:tɭcs7w{~|6T?yB=dj| ${4sbz5uqJ9cp23ĒF=7ʂ8`M~lH0ݘlg/=fsil7̅?/n:fn÷dNǖpzⴿarגL ̒0;?^0>vlKnaצBjy1-F! 6e8Xp䃜)52eћc2&p$pwYr߿9iugEc4dv_e9=εt&px󨎌F1kguԝ*|ɹ@<2Fᜱ H5w%ĥ {0˴ɀ)#'UYsUNN{T&A"jI0.^\XBo8bbî3FG>=dD*6o*98&+gwI\aeiбqk}+*E2BbC6A\JnF6(`~V$3zgD09m^y }kPN.ed-7dJHU)+!ʨ(:F{Ʉ!̐VVw*ҪW'YR6m]Ѩ=YtFS!y#LԠެu C"*6*6,/]~ucx|'wΒm[ ɍaأH8AԚ!LX(un~;ӌ#*B<ӯZ͛GbEGv27x݃޵E"bSjo'qS:)ØΡbX0\tV wm**ÑJWl)$l}`6 23ؠsA~S\0CB0<[O~ F8@vEjl]2*&Oˎؙ?V"Щ*p=iH낷ٖF(ϗ9nEhXl 1QJ㚶ξ-9Q8qiCf' iC c;֕S)u4U`;czcڢbK2@1ӯ9L e$?,\O鵆2޿jj>v 𩤽A]nǷ^kS$ݹ;A"q`qz숀ʿ1p8ۓ=.SMNwp˓):dF^{2Ƃ$q'vXF@?JY8(d֯й'=ktG̓aInqGgXB$ʜk.r s޶~L26esZ̕-1UX99 J)X[ameeW9G^y梊i\o(2u qKUi#N2v*xdd*?1e=HV}>B:=Zd`e\pkc9;Fy@ߊIsYܫ|g='p)۰sרa#ּά߰:3p=>0@}~,qLOZkcOnx}:R@I3g뎤Kg-޹N)яIzgYרƻ|Xޘ篥WqFpG3cH6H=qߔS0p9_ʗw!4A=G=FiлOO֎HG[i7/9U'22zz3E~H$81gǦ@ry,BI >G|+T+hWvxH!?5RFϷ`[3{9$99brqJ?} AsSJұ`Wby9韯Q%ČS}xV\xAvVoChqAq8oN0 \?6zzߘlơWʧzUy# 9xȦ堒)5:O)*=SpO<<udp {A;|*sVtJ<.sԚ˨tQDZJ nUcx}9YUuenS8ɬF3*"|_!c:׿JSCMݫu$av-_QMT7c>ٜꉾ@/`*C_GlLK*ddFp9=Hr6DU o4Ƭܗx42{#+c8(wƜG;e\"s=ӟݷϹDsR9Ym ~:H d5·`$[j34-@ P';YW6 c>1Қv&J#9T85m1He;=H8 Qg2_ԜR7՞[``鹎ҽ?* R2Ƙmi-sF 9JP8^CiuʹfB $TI۶  y9QآKqmja]YyHٱġSʓAp:ž5l6rUB{w+,NwK/}m+6O<qUc~Rs,"U(vh\V>F~C-NӗT'QY?Zm˺EPct=N:LCo P6BnfHV>XFў=، aCs=zcq 0emWqS]%,cb YrwǯZz e0}!mrI]劍İl}uQHz cme0Pz6B!  YUJoR$X*p3†9#EE~w8R\IXggvfG@H+޾1'3ӂr0pjTbyt#== F88* ^}j1nL}=Ӿ]Ea;ybOBN!ombx>lGP #mѽy+}ߔ֚; EFGo<~V+б9$y\E?tt$Ny0:g+I@9lVD>]*z残|v8nI? _v+q"LquRCϚOq+B$9lN3< 6$nkdGOj;p;| :p8TL!H:Fq69ui/^9 ;@ >Ԋxt I9'~8`` #-sޚ__$t TX;AOa-:sׯZIʐH\h]ns|vӭ^qL2HW]VjkG9lYH1žJԊ,pԤIaqn`{0cax#$m:3Gb]c>3VLک 0Fܞ֢:8'#w'*̆3@1  qYi[Xg@sMl\cmAOá?ҭ(^> GUʃϖ LS$׿O_먞8ys5eGQ=A В#+6wB psz:8'ZkijUݸ(=jp}g<ОrEe>qQJm wsI؛G#x`h o;IsphhW,p?=?$c؜pݙȪ7!_n9zP* s:С(y!j՚ qFqpסOimrwsxҾ 6a 潚.3/G#d85|@d#yWo%s9YVܐ19㊂dYH% g'=YAL6[pZƱX$8GO'k[߭lߠ0{S7t=88=:kVá8``Tr>S}@* 'p;(p~wFK Nr:q*qL?L~Qu9 GӸNxn8H{? eb;N=8$pr37\1?.w F30'pf yz[нcUv*2OvǧZw?t0\h#Tus=*ТF}|U-p=x (e3b7z8F cqA׬FzgGCߟ֣p[|NCgct3V[ϹL?ɚshL$ ~Ul'?_¥܈7lؐ?<~PEƷ(嘃ςqqőz.I@:5{>}=z9IGR%<#g*V}[>R; v89 YQy)'䐁O0qeǥ[ pnx4۹,HE WYq09>"ͼtqZX9#y|ՆӡܪN(n͊OB/nyA#F 0۹(9(7~SL>\>fnq^/h:+rn H a(َq?R-SpNWwڻ" F2.=N)gdj|ϟ䪞XPGv sq۟{Y=&P&3}inF%ہqWRn0@B +8b%v(8#y x `'?{r088t^(ܰ@1 yNgsU.ULmu #Lt leA%ܶsץiAo`  `{54j c ??);90o59k3m#?LcgD9g@#1'ySe#;_2=GVLveO!m9Vн $ަrXJ;H6pTӟִjax.g&S" XO {j.#_. rpq.&ɯKɹʯ#haЏz}k Bxu 69cx-<*+E (8Ui&783qZnQQ3Jkq*XuXļN:t9eG q A9$aF8ֱ9](-(e,0x^+DɅ'q 9{"ۨ!I `m8`ߍS)lwo|^!t~ήFP}^ܹh HϊLwsׂIVkk6ң#zt,]0 ~T%fOE6y?g  GTR~YŒ <g$sOR;Yw cc<ۙ_'䯭tV?0LFvtu.#DE`o1d9#_J*v$ypkuG9u8'X*3O9sD4<1]*r]< el00G,qJҒIVʉ%X2<Psw0 B79v3NeMrޚXѿv; _?7켈[| N3Oy:rǀA,>5nF4f=i|cON}O8]thB׌t=gȪ+.fd6 ҝp{flrJܳB$9=?' 8Q]=q%'~~})w$+dgg*]*kGf iaqnzf&VRrk8!w.[k蔕9|[ qs>l]vzr9 SWR8Sf)ZIriX/=r ':!uW=Ikc>_N9=rF!}}pG`^#$ z v5RO~{zOCEgVݒ:gO#ƪ}Sq=y5jibx_Vb?v;0=}분4FS;)v)##?Oz#<+Ӣ:KÒ3ЅsV m89 }EzTQѭ$hYvR{ &<$7ߝ5ň [Vm$G/wi1cݿXf~B9Q_)Qw=9cy=)pȬ%% 8?:1\Є`խKROrO,'^v580rRgKJR~FkD͛V`݃$*XZT@OP"iؾ^fheXOp3<8\Cu'ҝGvD fdd<ge>QrIFq>籩fP2>n 0U)~s( d\} -\aW' ??Žu# c9GӁSv^@ts]D- +^H3ƴ"Zbp2x~CUG0wP29ZRM\5Czt':krcim'wz{NN$v  023~i/Xw:{{ U`#*{8Z#A,O>ߥ}5)hTm1Ń1a=׽sWkw.H tr1Ei/Ъ|JTdc=6#Տp8_TJaI;Em1ӝڲb3cSen<n:\pC dx5Rq)Ӽ9̙{oךH#Cϧֹ:R\v/lu$lrYq_NxT㡚2&#?)9lg j2@9[hC-F;g}=j?tQ%CB@#08~GE&DsZ"<ܓ猟]Cq%@!3څks%ñ1̱,^4p'Vr$zI[ߙ%o"UC隉eJnI:d.:F'xvDC=s[pcՁ2:Zկw%΀\隗ܹ)\w'?^+5屓eVx>H @ik!’2OpI?78NNлZx l9QucϠ'o2J[ў\9ӊ68Fz[?~,8bY3$<κ`mqAgiT"kj~)c;'ڲ2qa F2.@^6Z,?WweKfeNOA<ah9@Fd^!Fx?NqOUwvnzuǥ74GIl@Ey8cLsO% g>Q\ZKe`F8{s-unB3p9MOFMo99O%{uvP O'=(5*8*1'T6Ha}$#I2(SA=zu2 v0^=AoR>g#9vӷO$wꛢ$tp=GЎKs|LLlcnђ*\xG;ۜvΔwU$<@ZvYHBКG+C^rpxY}} BG 32:TB9` 4H7 cn$#C2.GID/drUßN4N@f]A`9=Z>0e>^(}R׸4D:`g0n @!X秧94~N|z:(asqA׾kOhRC^%wiA1IdSyuا&E{pz}R>Q:dd.Zd>f >;w0XȻTO/1\+cfVrݺC?&^2WQ۹U4- ,*(\00kJF_ކQ"cNĒs҉UH^9] FCUns>}Txn0s2j5$Lי/fQ;8ʥFJ6Fif;j ?w8Jjo|\Ipc&F es#I<:—ҝMEBdbe唷>^03jp]0L Gg9;jT1mqoʞzsR瓑m_PUF?.rTgnqx1O Wh 'g-'wSԊw;I!  ܌O#*Eۅ1`^XA$yĒpnJշwa-r=qǮ1MZlZ_6Ia'm7-W^p sl c#+u,2vHpwCIjAܽ% UJ 2W=ӓH ".y9:VnFHR+bG# ZP`C <`*\u{mc$*rGR#Jzy2HVz0v[۩E^c`qҳoEhPѝRSʿ#$+@˕Yvcn:L2{V5oʚjdh&a"9 A<.sTBN֨+qGk.$Ħ17_kWOʝqQ5̬6D`n02@fyC ck8쭧6#felpʽrzu4]l?\ \C:lrXai=Ļ@"`N:dYZRX9n:+]B"T `k)F:sI"e+GK1@^3#.Nz4c<ԓ8a@<6^y  1׎߅i3كsԐx3֪ei~m&"&vGqӚsCۏIV=8?Q<{rpp_s8Sg<w?ýgd19*pZ< q52@;r1p8ޛ})ad8`߃*FG<]U$X8y<q=甪d*ӡ7 9ۨ 󒥳1۽rV[j2H${ pjD=>`ndH9±'+)bե{G5iG !Y}{!%fTETy_B srMK~T.{w| UO *8x*JrwLbkSǫEՌ۽y=G5m(e$'h `8<\WtBHSϛ(یLc,cDy}/C7h̉ې+dg;l``M+[r|Qr30'N9#ӞUѼxdSc&Ja 2˹Wh$}Ui321q U#`ݟ/9/̀sݱ>f`BV4~@횫]ǖv*H͘-&xAVVUu'ppUqzsBwL q)u>{ZDu瞝J\zW+!Nx'<zO6F3 1n )mq9mJ08r;=*'q2?igpprzob˫2ٸ‚`y=ﳁ<d{KIO[.N?J3c=y#کGW`IQ8ޟ7?uq׵+o48 dt#nFw'}3Lܞ28짮?JEx#'9#9i  <ޕQca"D-)'8dr:>U'bSnwyh =cj\gRJy7>wq-<犆( 8#٦9 8@bW=pz+I{ܿ r2|W{iq6GI 5o1lry{׬#Wlš*a}s۱#ҸJGE8̪$qѾZ+?1WQθ#Pp㌜={ր61R}8i+]5ŸPy‘dd=czp{z=1^8z"32_qU8L$4NG;I}z~zM4e  ^;5Qes93HD}zu֘!H#ݖ?+ {Խ,9I>kF(cښ/bLHr$T7|Ƿ{gHx?R2sӲ:M 'H??E;`rCӁҧ"Nq5"(PsO| QѰ#k?w$N1_p ?xt$=s2:Y.v6yTc?=hRW#{}z o>Ƣ݉Mս$qȬ6Yۣ#vkWoCϒTwYrr9ϥee4ۂby{猎Ù_r o@c?4o#v샌gi]GUn_';bk9 ۔u8ʶN;ZTZ?ԎcVDbW ˗W}F12_k?E_ݮ8A?.?jmkvZ21:'"]->n3֦vFuRlѮ +: ( ;;m+z-}A;Km+`Nμ>^p4] ݄WϩjL#?眂|`:V&vӊ(cc 8ONΊ'Q]׿nj{=:bX(9rNrrpwɌ*n.(g<@ cLgE/ymܑ~jVܰ*Qߛf"庍wI#=;9+ԋ>TdZ ,oqbE?x קNxHݭq9 '#}nsV; PI \UP,CgZsK$.4vN=ZxQ[=5نBCrWMqkq8@SF}ڪ ENdy3\9X$`8{WR๒L39aܴxaǡ2_I(ȺӤ%ϸfizeL?S޳6N8?BqI5_(Yث%LٰH;8RQ"Np8'x_'^򔯹$lfmβsִ s܀+bV&+BNQ0q\ڃ3Hl@w^I*qd6;{-vZN-2skV6=,s̑ ) w7oTՔŗqݖNp<㸭OQ.@ϲk9>LJwc< ӄn&x].DM|!w=2{6ܡU~\0'#jWWQNwh8`l8kGш,N 4FTl:o :6uog8fcs{VIwz\rw zp+jFVHZNPXH94?+&dn R 9  :^YB[!Q;MGDKQ"%w#CWikh\!=7rO6gZc@MpdIڪ;sn6uTN1v;2:uxX*N w s~{|eIpV(Ę@$`0=cyAb3yqNi/+!{h[hぽzǮzlf_F #nJvEg[dRd˴ۂOgҵz+s"l| vz{>2JfϧqKJG qRc52E'- UGqm>L?ZՆHVr2FpTM2~pc?" w'*7wҹ KGDޥҧܴqngƻNXf{zzh*+h^/7GAtĵ@ pq{ z֎#u }qˌpO>ԊFxnsǽOڲѹ81HqY*qzqׯkm"nBЌ d~g+gzF8'8rzlpp8 y\2)Cβ&Fv~a8R'hr\`ZPM+Rzme(;Uʌ]:UqŽHGJa4@yO'=|L{w2 {>9<:{0^qTgf 2yǭU*SVvUHEj u_|I,U{Ts>HrIV_vAL<[wmLs^+ij1.sN:?]d6 H?Zp8Ϣ'HcÔ#d^({#Ϝ822dwG K)ݘį9ۓ|ߕx>v\fX~}bx~elcyna; Hny('NVUya%Oi0Kuos}$_%J*y1T| [Z/5XncҾ{7g'e=߁槇%ZcJh8r37X7`ʰ(G:2\41rmuf|rG>8x\{SKũc* (!T$'1<1h|2ͰvRmAaٽw6T͸t:sf-B 8`v*;N єƔrDs˵i@HLg={g<}krߕ"/5Ry::ޠyArq6qԜy,eH#z;ōK)$Cz.'^8ypxx \3q)˜py_/2ݟz1VfmĖ `m?J >UGMvq@iK=:䱠3׎IO RTczuc~ePT \3uAVurC`|9NR[y7?)9'=/͌:dP  8kEAlt2[X*ݒ1Ivr##krv>` S? H cOEZ:bx `#^9>_`qCfnO ~L63uHf Y$W<ǵu6/^1!*e}sН8=)X$2H?^:\Y b}? @۶X0\'?z9)~ 3Px>܊gMP?8q+5Ovc:ܳ' H \2ӚȊEiW '珦*Ym'8zp;ƓnhK|FI'`Ӯqԟҝ}%2r?Ju4̀L9` c#<'#8'9G@3X":\Ŷ&mv`:}0kidllnyanhi>F>? \ޛ.ffΛ$'8j"~Fy֧&+nbX;B(={:VΌTot< ݸ S\w6T1+: *=89 T޷;qLg9Üpq>g~ye>RG˜sӟʌ6HjrqLqɪ&-p@v,lʎq>44'c98W7ԅCPI w㨩 ߜr <MCoE܅NBzᓾk*[wT{)b7&c1yϿ'kҧjzۡm{ioV Ja$FBcuv/5$EF8bCDWcB7,xW$]qҧBv1qp. n5{dt_Ve΢p"A;Q ̤2_UuN,&\a%$+f+pЙ qr s;RMw&ϱ,7T"l$p8$ V=-\l38+ǠCQz3g$1b:|Ȟ(̀&Ү,^8ZViF~`ś;@x) v+Mm,HDr%%r1⫝y& 6R?3Y k)f$ax3Yѣ;ʡ@ ta%A)ڏhobV|u r]#b}NpGS\Xc;KrO!ZҜȗ j%w75m|ĎUb\BkF6kpn P08>qLV iKGn8XO@[I<8 q{{TJ2(9 $ c<Ͼi].kcQpaܳar3j +9pX(=M^DVe!\3@sgZyK.pb!gkc'=M؅nua^NT0rpU76Y{uBhe`@N6#)'#Qaél#ڦFTV_sF;ݶ6|H` :)$fA, ^MOʹl;ԫe3+C)8ls[k&+WndeNv"ҡE9JUh²!VSv#RmK)H=cf$1k7uK<>LHxfu T$5j<';VQ.Tapث ܖG~IN:.Q9nj`ԌY}c+y .3:ҋƼ>Dj #f+*g5=o`UVH S~5-SFE69"VP Ý*6,-e`J22ϷwnryjqprOsU dۅSԜr{HbA䏘pK'-Aml$VURw"`OۯN\66`3gSS4$n M_#+J&r]^3=z-s4c;"%܋;cQțqy6 Tc99XNzӆ:M02|i@KcV.gnB=Խ^s$>!pPg*Rv. XL(q03Lwa&v*mB۴񫾗)-NtFܥ@ 6ZwVa_0>ERq\GD+Aރgk9O=|Yk#>;v/ap#e*\+1ǭm(/g~YS9bm8Buʰ^9Zь99q{Ƹ dڭ@a&@9':?Ɲ~ӯFF,0܌}%V\O\d;ml嗏dp!+ύ>mI^ɷx\ݜG2HֳlswqcqA[Pʝ&瞄t⦢k=Dm۴`sYfU:s9uc.\> bO4nAd)m ┿B3b+gpǐ{IˑU wp9VKo5FT8x\qߵtNU#z9a%)>_P1Q`#׋WTDd9:{g֫6Nz .xϷ=+M]F[n;n`*xsOsۏ|;w߯4XvѐGNj`1ԓnH8J}FǓn8;=<>jo}" `rGNݩH '֥%1F8^buoT')_@1 A1^{ӐQz/Px Glg s#Q ʅf>yn0\#yyvc,0A2Ž;a;~\z#$Q,Ya tz7!p=zQl{Ү;[=x0A.v-ǧZȾb9fǷ_Jy%'t=4 #nÄ=:.AI4cxRMd /%Qp7`޼ycMlm\?zH9wj;|*.:zW%5v9g]NZwШ,39~`#:X6_.K2i,{|KRJzV# [-U yO"XF̈N@_KBn)!o#e<Ͽz˰u\q߽aFk{<[&Y̮!p0@EX||^ޢZf!XΡ/0w0)+ 6gdEb": HS1B8 ;ǏQ7t/ŌeڙCE[,@Ͻl< ! qԞ*ҴQpTy㊎߈CpVewn;T 6y2s҇?+_vσr^S,Ǒ#sl&rsU+(=2xr~eRy#җ_#:K5; l9s\ȖԄp }W%b8R622!-nS^I2})1^9WP\l8jc t?Z;xT8$uƫKnP`99'Cjlm$v=V1 fDPH''^p|nO/<^M +4{ pqxpXSANXqZ16p2Nv#Zч88ڴW)|gq94U!Svw'h*/z}!lw>(m0BT<2xI5\ oSDgf$Gx99xЕ)V@1a+K0;mvOS[I~A=z#ORrq4@z=*NO$L D*rV$_o֗[ גۘrR03QpG' irnVbۺXrOr:I]BO[$82>&`7'o9yvAr}5%u*{6;z>^ Nio'D<\U\=:dJH2q1~hzY49\ 5ݗ{&qMĵ{'-r85L[vÎIEa>aQT8hgz?ƚ yI pNz7bű@gxnbI1ַS-nh_VX zIIjɭYE9|NjmAp 89B^3H]2Jgz$ۊ7B @4K;yIz硧z>ԺG sצFOCڳ89>\M8r1ru5mܟ ti9ir*!UpC.zRt<1ztyZB{`qhj@H>I׽/A8ە.z:UgwrHHaCZP$#+cSՓq 瑞>Rcŀ7u=ެ+zg'['dCD,H pF@4#sտ%-Ww)ANFȫe?&\瞽 _mJwsUJ60t Et(ݫuhLӆ Z;ֽ:1RWН3gP ;G@O\vw{-C>BPΩg\|>?quCc"c!?3+3:tUF\v~:zu!d`Г]T7Pyn61KsVA8ϝ9 :A\6+\_lB2I9ٌ?U̇y?=Vhɀǐ1֭ņ$ 6i$a@#n9&Рw _C#)61QrT v",s [UKv$0Ix$w c7WEmʱ:17dOL<KR;Hfମ^H',3sj.1hPr:Rr7c J'w8Ȣbr@I29g'-Ljzހ \TpvqLUv !wnZN=RYdOo8Rsio98Q#gVMՒķ򁎄{f6!A\ΙƿAV۸s3|Ft!X#'|*Uo̚yed AڼEO1{{RTf]!} IAǀFz`RKPW͝~b|\#ZЍT~'&FJ{bn!x[ =:5XbVq( sQՖ1nik 2@8e߃iI=rrObBõ{{T)3g~U޼rlfKCF$]``'׎ִ1#'GH&e˷h9XsЁѺvS%^iQAc`}+{V@'G$(8I#iGȭ(#`?J:4A ~cOB;w{yLؑRFqlӯZ,fe!^l q֪%;̥QEٙsKe0K0O\g+kg n$.Xë7Qp wQ3iB$d kn7~:SS'nC$֊q2Tt }+}NYj&nf\dwOsWz08Q!>`:v# iNXp0'G%\/,wpN}jVV4%}0_Ru|B&gsSRyՓ`cr=\)i&<H;sJQ'FX;#8t*Q|HrNI:6Cq2~o--ߊ.ppqG8JcnɐBs׊ tPy=3Bxđ"|= (=ryɭ4KxW*W*vGGRzDFQQՏLi*ܒ?T0%r7|<6}$e{y^ȑ%ÜߟTNc6q?}RJE{9:ѶU<1+/{Ws:њRU8ܐz\q_A/mF&_ X:JS^eR9}3_O+ч,]=]^a剣rRBGeu9Sf_Ȝ 8$c>Nenj, .+gv_ngďLUR6`r{gxʼ"*Yq8$vjn,85Ϋ=81enW8=00;_;'o?VHv;˜#PyQ?". ,W8 vUJ7ڧ{d!#lN23})n]ݕ~U88$>gUe߉POW/XKs/;11p3ո좄|U'`DlʙP|tFv0 )5JrnI  I\TՁ) /5Nv?(+@ vSۂ[w8s{abA9}qA("'~5 J] 0I|(dyA5 #n1韧Jfa64pPzaH`c?Z%BF;zֵu9MNhi2̬ cdܞzdc'W9nLP pn+XܮwK`bv CյoM[]B6_І-?h w08^^? +;CrkAЫ>IܽG^:tb}/8-J&"1on+8׸,{ܨkٌJPr9oΰ/!} V̑7^HpxO*MO<NnGֶ^R* e9$Il0.1ZQElz#2Eds|ϯ{䀕L7</5sB-)pr29`q׷5,0;'@v})դS5~|8~uE[:Bԁ-'jڳc)8Px󦷿}Ұɭ]'r@>dv h,8`X)Y5U؀sǥOAԏSҮJWfȔe q k6 ;bGhh۩3% WOHz=[ocZT T҈IuݞWd+#rpRA#R;d|]n:SۚI(XJ7+Dd9}[ P=A~YDcv88\gstj9ٚC2Syhc+ OR:bcs;dxw2d6XWSJɜwb'$׎*83dThFI'z#'.Xշs3AvU|Ivx~,'o6K`=qLŁg8SlN=LI2A'` ۻq>ԋySӃ:ǵSsםsDc NJ@^R~zpqyJ緼v G_NJc guYRW%{/a 'ߟƲHqsr}j+KݱTԁ($pj0Ƕ={V4sY;D"yqgHgcmOus0L/Ulxv{Wu3%$E5Ա1Ӱ'_j{i%F-AEV۝ST qd>}>K1VC~ 灐:c7kOv>kRԣ fJw\ E0A8,9?֮-*`2;~~zw˞#=in,qR?8F|<wǍ>B)3!*cp\`U(6Ta4.BA?u`V]EM Q.󟻁^rN|L&2m˲H瞹lL t8 hP;z3v%gn;pg҉U pzw ZR{5Ӻd;C7^vҺ5ʃPJ CEU%W!t8wPkfPx%F3q5~(I9Jpw/dzZ҃QPF6z=r:}+|,j'm.]Jc`7s~f^3׎]T|:+hP \ێ=ind`[`/cǭ}:lxܞd|`6ddv!8\@#^kIS5%V@228<T5=G_v7  W wɇʃ漚Sxn1bf^~8/Aڮ@J\I)X|_Bz5$pH{#֢k]3"k IeLU~GA6}z[ +o׃J,eav)\t G*AB֤2Kx =j[};1/_qc'dHqSw#NXI%w:#5D9?0`r‡,ܠ@q{2nGB=um-/W8 zUȾ\KpArjV\ eqr^zew#evy8'V9(z="3ve6OJ-3ܘ=rHӠwJ# #՜R@7mP:}'s;`CԎ+]۹ 56axmOJ4G. ^!s1US4bOqjЈ@BIÀkT- il[#Uc$!72r@xzj33H߻ Ǩ@(ʷR}`c$rGX 탁W@l|v>pq.(Wm=OҠtcʒFs]r{cJ+_1u,A^: ǯZ xO=ZɊʣA;>ڛ-͑rFݒGӜ{qdۜd/Lވ#B_"m9$t8 iYsqՉ'sc}Dh_m#}_~*[ y`?>Ig G[FA1pg:ΦXƿv;yÞx uǨV 0F> G$^A #91+ʋ೹rzd`xⲢd9FP b:[lmĦ7بwy8h-ޛ Z|D=68T`5).d 09#ʜG;WdrqG o*uRy|3Deb\Y7x8ݎGcڑo=:'+29 L+6pޝc+Pw}㸞#88בSk;UmYvbonXӑ94h3H,&I=qIl;Ipy`G#US]6# _zY*'$.p8`9<襈jMTSKb ' n8k&kaX۸1 WRK'r9!HU@ꞧV `%ͣ$ ۲{WmO+ю^xrFqۭDb1,  e9BcC7I3*}(6AOL>p1P} cc.-L,&Es jd$T7=0Úƹ$'nH c tw5O3_]_]L.QOJ:,49 zpyRbwfR*ynٙfݒ[~Ag;`ʧ oACN2>=p8zcMDH,"bO~ʇOa^(JؑI >泦6`pwqӞ1QfMdIr3T/prrdI/[18ɩ: 4fr7 :+r U#r (S݇/ihjڡQBq9䜜qZ@wQ ̨@Nsۦd;n,l*d ݈;dspNÏRA~暨ģ呸0Lp:TShvfS7r;|χͶv31BdW'* їbl1玵J3hڳs!2|!9j\B[d(rP;=I͔P[6<=q[;NYFa;pxɰt]nv;Y0$3*& R[sH[!8P皕&2%nK+鷧@O S̏0ʩ~rF85\c^6˴ !\ڪrbX,p8)b@9 T^{t)]\AOm&2wprFw(,Uw^Wv9/D$*r6]`^ғdpēʬ?WL>NO ;;<9ˬHE6T A?ps=pgR~Od_:P ,;c1ۻ{9$7퓕1` :avMkcvrFv$i4ZIA+?X!%d?xu*8P2\fP0\GE(W Kx\{{'9.asMmˌ_br~`ܪQ"Flˮr|w銅$j4?ϊ59uk,ryp *t֮9SKл)"$cT3d)ԎN$1hąųF{Y[pUʕ+4On%* 3ncIFPtf!g *Bۀf9FOտ0"Xs8lK`gz{5>4@zn:ܚtFD23~ = #P2[xleCoxÌeH' @*q9qʨgHefbo%aDȢGruL9o?U2=)@v81<:`U!hR7(a) T)V#pzvC^ h ʼ:S 2'YwpD*Ę/w:b9 Vg20z`=3P~z!mC&4(da {QCH0 T;#S_ @e0>Ras8| >VPJ#d;F}wjO{;G9ϧ>:X4n7j=_^vlFڤ`q{W=%FgW5|GM g5e_F{)sԒ=ԱN }׹oq:kBw$#i8EPp8ک~*-t~F2N #yA88'BUWi[cn0H/FΎend'o#ula׭n=) c y+{/ ZԫXԋkZ0= #'iaPfND}qުcjIy9Ϯ;Y|*ݞ?_[Rpf$wvQpu+*o2Rqo TJn'j@q܌ )~xŔv88`ԾHQ3r:uȋr#slԆYnӆ?/%c7%?I8#L܅{Z}L9# L䁚si9Ha"ANzzTN[?w;Q}By' p(Rc.GZoTU6 ā\E 'o^#uZ~ ic7~a֜jKq3F2$ϧT%qMZzsN>+9t'5.dw䓑UY YGȘޑX<1O7('8vVNN0Ր:c㎔/HI( 29vN3H'{6'rNGLtc!Q/vppOOͪG8$g$Qmz0@zlZ#K}i1s#8"$N0$c>ǎ6r2 ޖ[e/RFq?;HO R. c’3#r=x0s߷JzAPc!'c)1秩OQjD*݊ʃ0yZTnJOi#ǁܳ`3zΡA c яΚܐTdpZkR6`ݓی1UJp{`xIpN_pU¡w$m ^Gގ݁!'NcP4@ڭS21%ka2v RJx86mힵkC᜶I?1/y9FO'[B;`u{JX3 :2Z D@c<籮aAlpJ59{&H@9e?ֽMƺc.g u݀! ݂#Iퟭnޟ":b;](I^) qԑ䝵gD]Q1֚ɃSs:b)tI<(HNO^HsFd)b8 t#֚?Ik>^G)?֣M.3ԖHG|ˑjUQY˩;LeI#8V¯9 8lrqӏM'8\{T\1 AS 󕘃}=yVr 0O~}j.ŅsS?Ԣm$y㌑RLNKv#U;nNGzKW]숤Ps3sj`9x$?X'_fN0p05`!9SN *b3#A9$n#9 kt.N'3NsRype$)rct/zq^v~G}&egbZ1Q5K| %Fs͎90QIM|<76Z*÷8gMFI:`c~~^խwI7vg>fbsыr?UaEpϞ7?jJ\ɛF[ [iGR` xOV%݇ 6sҢڻÕePAS8 sP1Nz8d)5՚qmRYIVx\@ƅmܮ=)Ţy~gp 4l?yOO±f^aUlXU:Uo|V$RJ @#ޙ䃏^4I\ΒFJӯJL[dcnQzԵ4b B +ɬ߰I; 1֣w=ƪy*@C3?tԕ?)da$Aɧm=P6`tϿBTUIy=)ǯs;#vI#?1nzt2Uq1>ھحsPnAٔ* d1ܶ6!?=h%W*ݸOS9Q.W9wd{H1yӓp8;\]@ 20H`XwxH|YGnR }낵z%h+-6r8$7 顳>MsҥTXhY@ zNO= t<w1.pge[bIe~Ap =tW:E0Yf 2=jD*ˎG =ZƤ.K!FX^z1%yP h c9E~Ct 6M5 F3d1[S= 3s55:O>9iJ|J7`8{Z vkUnkSR7YARxzφ4Xnʦ  pz,[?YNJrKw7> ROLk:ku¶|ɏ=jXy:950usSd)Y!<d'~uU݂qS/bp{B|-)CZ#dWW9AێIgnF'&(xo3 w>n+7l7s: ӎ&vEܤ88*#,_s} AAŵBIj/1RNlxt[w+&FハP oqQ`sߑaVDߡ utZӷZOW+sU<6}L՘L+ϩlE$^H[ۅ9oz8`z]oQw+7p@q{U`vhꄖ]IiEOVB;԰5QH(pOk\L+쎮52 q7L4Er¾ ƫp 1NO[]Kc"e^NI;P&[dyn99 |ñ>4Q[),s{ԇ, ʜsʚr~$y~)1ÄQYj}F{=F9uY&\]?#2_=]mAXFRTnǃ:<>U9ҫMI֤T #g T y۞+_b,Cϩq?F *~UԮ̨ 1'` pNQ 9Zdyq@$G8#9~դ|RFͧzߩ3pn@oZXn.] Me $/pFrRh#t=~+'ŅK1S8,OE/0K1b:$rF>U| nJ$}6n#{m7|x;IYh<ķE;F#{$ &C#3'y/S۶=޶Oݹq! @=Fd =zpr:xvj:wNZ<6$ҳ&OS/P r$)WWo,r̫ěYH`s *W 왵 ` RrN9nOiiTrn=Rܝ`#pz!ʪ(\5V<1yt#)R8;>aFix99}kPwS[Ve#o8 Ns$Nxip)p.K7tޏf՝Ե8Fm>$8ӂr3ni)kWXov{JrGW3v=r*3TeԦOh!ދW֯{,NCq¸ nq)@ENBi1>[+G+PKL ,@soEI=A+m8ۏhX$zwRJw9$ mHnxr?9+"v㎤KpM*ZBNKs6svVΛ)9.0 cx&Nub[L`C81wRae9##8ڴ96tz#X:Rp3'bИn^`I':s^*ؑ_?uX}Rr㿡Ɂ#$`.x-GF6RM%ٻh,8R,UI;Y$5ӭn5t9FrBkdbɡ6d$nγCmro^3'dY`I88돔1>՝.pEP&C7yܧצ~O3Z)[{nqf1@CI s.!t6 ;㨯Acaek|u"c)]vR`d8Uu$~6 mܖ^2iŦc,;I-;B3"Slg8n pIo [$( 2 w]CE_TMo;+H7u\8OZվWwy^qMOa[D o_y}zRj'=?)T]Ʃ>@m'CY{qH)/3c9 hV@9[f6]EvW./d\2@QLde?*'4Կ7NIkdcZQ#Ƕ\`$dY'Q~.rry 'D8?CI/3˶ь'k$1r*AĜ7ï$cwN\Ϳ<1)R;#a)[ӌ#uxuUc&iz %mlapF*[IFj;me Ѿnv 4Z)$Hdpr"C$jP- r6yc? ꭞUeQ1rF[=AGJ9-Sde8)rnFٍwgi fQ̃;{Տ1o,l [=1GΊK!$ *5usrsW$1XKe`k񃃖!I,(hڤsz|S>Sn]ǎ;q[2 pFq{zF֥V"90J(pu`m< +B->;wJl|==JZ%ʥBI#qw'?/,nx;}ڹ#g'5qn mە8<7mׁYبk,i˴9 Ob}6EMm1\~W|| b xsqϧVU 7W+z.I8vFHt<}*$^p`v} {r;C98#隮ڨǐ >^Qڤ nIN \?Њ Q.ɏrN0sN3ԐA]g=z>fDs7 ; ;VC&I)KRK*1Hcޣ(aq9汱{"O.hv1=9Vnu.[c[֞eaul*CzKxE7&0 ܩÜqLXl.a`cs q^=22Iϱ<6rON2@"Vu=})8?`8ӓrz}i-)-C{)Go=2q5= ϯCR/lqS vA`L%F _cC 1d9*)@wtZynx*یs¥hY{pq9'~[_`$ur1cIzoˠ/BޙBH;МEMFӰ=3 I璽rص;@ ~SzdjY)cAfycZGOK;} D*F8HBkv;;r7`NFܞvjCgC s?roON>ǦpxTx\v+8vqS6ݑל?J= D/!yH#Xvr:}5nEF@=:{?/?8zvJVԉYy{7lUU9U:=.&3>KUrz ie`p1<ӽztqN;)R[si3(]iWV3j6Pe€ICF:wӎ͸$]{TNkz EwcsU6# pˌHS3գ;2ǝizp* hpǕ̊2e )>kB.l% ̥ }juR\tBsz-"(pFۜd d㑚f&]vxǑBRʭ)E򐴛8)Â:,jjTm1_OZs/16Q8}$@sSGo@O$Sg)W9s01~8KI!#>+余Wvm%PzeAXyo=GbAVDnC cVdҬl#Bc!rN0u⍌cаr})a_G~#1ҫHv\nSm Mq_},b5ч!Ie G\ݗ=1ɤ˷FH$+t%۞Gj(ˌqޘ՜bӵ3ER== J~|/d@x8=⩦BԗrTo/vyG͞+nӂA9#>"f`ay~c i1򩾿߽B`؂F;Ւ9|#q=w(\|:xgszt?Z&TU]yp֮ y9= <`uQ't&i <?E4#RG<&vI 1x7bH'NiF"퓔9Ӛ`t\2ɧ.@GzUb d8M"qlg[*#tȆCqԮI?Q%7HeȠ,@اӎ ;}>գ C!zpS.LX"3g{Tw̞1Hb>2@$ zqSm~2,Nzo^y$K*}#fc.=OWf<8FzXV8 g8NZ1۞N@$zSq_OL)$Cxc$Ix瓑c&A-wqoZ@ͻHpp;l`R9`mlUu-^s՛*X;A^{Tv9'&\'+Wos5~Nj 9$UDrZ{秮::R?Qx? agb8?J>)n=cܜ:sOL5ܳ&PV9}syf+ߴ`'^$~FZCgjAϯu9#%j&NH_nڏ[c\L` 0֦/x:mTǠR=HlVyÎy/Ldrqʺҳ9+HFC0THqmal+2IgtR/"ye@v10IU#<@ַfԌ#''צzgS$1z4kTW}vf';ֳd6՝4vsNrF9gڕdc2FIX7{&lVfml9?>a?Q\_SD(@.c鎀քV`FC7O原~"r,=0[8zd{{0Ns~QQvRzqb;PS OS'tۥgТ/!1I`IyIVPJK0nHHۑK8nc_΍{$u* g=KqX u/q9-p9'ʍ@ zzۻd}9|~U +3ŏM<i h 1Ob{tj^$u9㊔1A.}@ 6NqMvӎMa$RE NrUvof^=$n80 ý*tQ**ٗH<6X>0AǹTrhjmkr5nrr;gך,Ĵ_/~ {=Yʤ`0zҕ)M$:xIA+n'#pgs& ak"$뎀q`ưw[u7DDh7S3;ќ mCgGO|\ͮ*s[)~W 9jcbm;>85/B!+jPJG\jX[o*r@ԨsU]Xd &ӵW=w4Z{9@1.?H!!c}:QO K:p_N˥U4sri9qhY_ag#^GND*IuN*eG8?Yn)4Ǵ'8_Ӛ6@zf"˒xzrX⬆'b@jv &zAMPGR{~ϊmH7c$#>=dp:zޜ]лn9b1s]GdHn8O^{އz4k,\`v$t p.A\9W9Bn|diwr2;9ȍ dW?Ċ8;7H9;-I9u䢷zcXݖpF7 g HTF]qsQV-ZMϲ5`^0uq#'CqA?aYG*I 䟻ۮyrlyԴt' ::Vr@K,=zqJSM$Hv`fĽRG910u=;ͷci4YN g @#=sxtvPx'#j-`)137Gve_(*:2G=kʵ'Q*|>RO9duZU>w#ֺiH|8waM1)nn9^ߥ["aL :z zkhɨxURrԮnH1$F2(,O^֫G؜܆Pp)Qۊ~ۙO(LX }x %:w#5]В<Ӑ6q猌HǾ:W%H']IZIo3 1 Ĝ֒KvNsU5*m_rhhT 'Ұk_So-7*83ԓ[T0sG& Ji6FIJħq#99=zsS_3'[U{@Ӏy\g/}=U zcMWCGw dbyJx=EV+$Lr$88[pqH<Ҫ2f9,1A|'㯧UbFWVg'k( ==r)>KGS+Um8#U(8E;Vf2m= v.9ږU.N>QqպdK_2 Xǩ.;S(3xKs2xO#>(|{()N-6-CyEB *ItK7I㞣S/igoȩ\ r=ϧZqY.Kt֗Z?#w+E72NNORW@S y,Zh.dM%Wx-yQA|=-d-^V '=[֙q߳X&FQ H~֒HI9gzPޖ1m cMRdpY9X51c#R3vNjl7_Γ<ӯc>'3ԁ4+88<^cEgZy h÷\8\y<N~ؠgGh*|Iȭ`W#B{NۙNӌL\=b#p=@ u3j[o9C}#'zU)cl}zۂZ*gj@x8n4Y"=;sH2 `d֥42诗}W0%`Nsz'-tQvLcNpIXqʜ sЌJ٣]|pI!zt16[iDZr@bub}fMhgs+H%@xmrz?Zů{g%|ymdgswx<ȩlef@rÂ=Zu/g#nKa$+ENeyO_Im7lF?~OKyFӖŒ#9Vʜu*2i/]ۀcw9Wn>p-rRA}*2Jبݒ a+c=V Şt~G~b s[[Fl19rOk4&qiR\cϮ@kcF譆#r{z%A4H)퟼I#yhVG^7)$+q}m+M99O?Z/eiޤRpT׏\q0e5ˍqmǧ >V}PĤ'>nz=UO],=m`7W1sZЇZ *r3۵)SMɩݍ/!1bNA;V}HW(䎪vH0JJ-".C>ltE2H@pGPWwV8oW8oy:0~N3nLoAy#`d__*ܫ; ;qX-֥?6.s$(<Hǿ#j1.xq1JF!I[(Eq2:1ڣg`)8lO':U5a +oqR}k,N[ʌQשi2om#(3#q@PztMX#*0>d98=H摭*'qc_Js)jE1+B`$SVn#A''{ g'P&̓>ֳ9TcUAsUVSHLӧ$o[-2qϥgɦL0q؟^ Dѱ;6]Gm 4o.:`͓c޷*JK_r}g8 Td'W嗂|}+X/S9SHV·*  9޲e[䏘s޺hf0LTʖۃwc8o᭬\FX6!N[ir׫3f8eWpJ#>dz;.(/n2itC!|Ɏ#.x :(xΓ"KY~ g#8 p088> 8`Uy)}N1V厾}o 8o9$Si2\'!p!pqk2W $Ҝ4F%Al`H#zB]u rsێJ"dG4VT=v`}lҺ>awc9SCzfOs?I*#|bF~oX ~P]fJ1  #xYuWzc\wel cLX賩yj&=Bd,]5}#-ַVz|P-rI_:Ww$dUaT1<bQ8?*m853xjig[_Aj<Ŗol3lV!85ʶbvo;}xJbh&W~V"T*(îK \T<ZoI&[g le@E%ʎ>d=:/b7*H#$gh\DAG?6ɭ(,[lR|\bN fMˍ-vZ{`$sϦ*l> F>`b#EHʮ -Nv6% ۸ HaSt]OOƪw;;uAaa9~0h,DOC3=i(瀼:qUZ' zÌzdʎNrF?E0.6'#*9[-5{RC瓂3qJ0pI.yr8^s0ZnY;/z=~+Q%yѱiu&G#,I8=J.*FџVݎ;= [_Bs8U_;[ϵ5Ǟy, sҥi!/:x3$cfds:#-.^C !@\p zX V,7\܀3{qqn-Ϊ̝+' >R_b0N /m MxMy~eSwWz~f@8婣,?ҝ!2H6^$uǢi灟֣rOMcϭ'ׁqAIn 8993@<FzTHAڜqt=DW#<7:' 23~u`z~]jouO A#T3D<pFG%I}ݬz1r=1*ኜ`8u4ln#LU`sTжy=dX:29I@^ФB~?R);xےdd}ig&4(88$lv?{;z'eG[8zcT# I> ) 'RsR9qԃtsD^l7w ʒܐG!>OFsWͪBO;@=x V;U`spN+3ѯ"֬~V0(<!ᲬBP:ʚkB7嶩a  *20x@Ej4+^lp PFFrALbasZF6"# q\Y䪜W{,S{r\OOLK رy# }*;!1CP;HڪAQ~=ٳsDQfg%A%m'8MX"G 9 969v[p@ G|-tPy r~l$dtqޚT3yg;@x'%m Gzgkx.? }܌V$ `*TQRoVJӮXI<f~c|b9H9<*He|#h^tTh5` 0F2~%: nT kN@g*0PzBвcڸabZ막=S%$8M B|G,%NVHY3'AoƪKNOLf%i/5! ݇\gM8 3M6:Y>ncW8֓FBLm3t5I_^?^* w98vƊЙIlzSe^VbH z:? N6zZr)y8Ԑa +A8$WRp@>݉c$UyRUWgr:݀ Bd6=M6e$~xQ=]f vNXxj%rv'$8:wJ+C  ӑ3s:RNа/u&$@Cy4"z~ ;TAGWڀHޅ :r$_ƣi8{doO+q|t~ H9!I?4Hd9?OAOA {F TGawn=*B0Aefm n;ܡD9 ׷ҜlPA`y^zUJK=ʳcU :-2sϠן8g8y9.3w2 t8CqOGQ*e? u»~I$įčBec#ݜc#!8=;sqܞ{UJe$T1yREh.{RJ۱+&F8$iPt^ҷB|ɳnS)@-{]tҽB{$#d!23?RyceA\Q!L7{c5CJo1ӆVpiH9$M^}{ 9wDNKhossG?z}نI8AO.FR|u\7s*<ǯSJbeHn7qU 2}}ꢴKA|( s (/(w7GT\NW#7nېwF>]ʎlLĜ`U\qַcuw. ?;j9%4w +2idoxQn:?ީoa%ܩDa] ȕvzrO.1 JATq`Hq=,s[V1};~\tVrbpI9V8g~d8cTv3URIIX3 &!;'tnRZM*`yp͵qڼڛMSHLiL/*spzu'+trb$y Z듎$c#"AXӍUr9zԲ\x9֥YP7`[)OEB͌ge=ͻjW8^1I知J=@<Sv48%s=F X%#v`;jg&*Iq1$su`[ KEw+-Ӧ27Ax%)=nl;#_Gw{{NIA#s4fdXCLJw\gq7yקԚOS5+DU{~>H '͜A>$, }A4o?($pyл s z~:9o=ygG"pʈPub39UfvOz70-x7YWn߼ǿUrdg-9$t`w@Ԩ=09a@ S w9(CJ#p⒖,`==jǨ<O3g/pAw$=+5a֍ݬtbx10Ol{g^UܟZ9+NT30[kcc=_Zt٭8r8-y/8L@# nDpNH;*g=EEfUKrCmn-V*d1 kyHbHN:O䶇*rIؤeF?uBo=@e W>ݫ;+E`N_TpN''PՙaL9f[ 6ps5Vqx p1ߑVΔ() dP޺x-@AIJ)"k>X^[D#r=s% zp1}~c>gV='w<ӊŞ993ۭt&lhTjwS38"`մʾFNRՙًvvnT;Y8d=aQxLTL>y GU8'j2ir??JqlM$tE3ڦmÜvso^\+[[&;PGqϽ2mB蒑I)7szV|>MIɿ3<^ )\%Qx0yvs7x{]m$NO "LkWn_yRzWUr`.Ge֩]p;=+lހHZM0H ÜV)G9rW.H% qZ0 qO'#WՒMM 뜂8sڪ}r}sp86&;)Zj4[`.@$Ss@ztUI7[u':; X/,9scFrVOmRm`l=G֝|vm=Ҍ޺4o;rZۚ#r9c zeZet$x###?Dp2WqW$U;Ll! y'=S݆~Q0q;QV޶+3w?9vb?{iW)c @=H:u*"*EGˌ?8Lg ҴvRd\*w?^GZCylu8k9>foy?NBnv՘v# Z h7`A="3mtSLB}oW3Yͻ̐ ݏ{VÌ99Qm>ӏ$݈H|sGp:@鎸[mؤˀA1%Os9'2^B3tҴb,*?.ӌM,1ֹ7vӶ)w[Jݑ$.x9$p8wֽo۳qxԺɣQ\۷J׊ud Z5Mpv?^EUd rOI;T`瑂O :WA쫴)$vsڽZ84Սf,C@|=׏ug*Dǒxg A`:v⾢NzvI#,WY*91Q9n1kU_-?y3ZW̳O@/\3WNC6sh% OR.ܚNɳ\QVKW.+=*%, cd܃5΢4l{H䦖[JFA~ e}Ou5V=./,;23}*݌{6?;Xyrk۱mr1q=sZ&vs^vR:W09F>|"Fpܓ{~4{EO8I2}  I?Te;Qpn+&nl$ ݴWʌ`7 ?' ǖR0 uG|zx6ޠH=s`sҐp!Lq 8:lrJ)IE[i ~0ɞ#no>9]9Xք[h]q&=F21u< أ ѷg:ӲoU}H s#ެOM5_0bGPOj6O=Mn*ہs۵s.msIX>mKU8#~kI-#sx=}hEФ28'8^rwl}_ƴ[!e[HR@c`d'}+< ۍ޸;cJ[ҜЭ*`c8ڟ9p~5Q[)rfHs0:sVuOu08Tc*i-p; yT1sIJ$ⓠqLLges)bLҎ?-y*ry)1%r~A;_Ғg ;d'@HQm7qԓ>{ͩdǯ׮(d8%{}ƋSv q 8 ÑV$ Amr1q8Gݕ/e>VͭCį1[^٫îcoݞ-߾6x8: ێt,>8'ڵ-R&Xn8?T_[s9݂rI?GAWFq[5[%A@&ts jl gF h @HqqR&I<z*퓑;f4Fuo;u xĨ9^>秷Jز yO# q{昷7*r7(Spp@sN!rv4?)-[H ~4fAvg$suXF6r2x߷OFkMKl3`c RH3Zd"⼒+4|rĒpA|ۺy28Z3+|'nG+W~B0=8^ՈglD`xՃWV{ϩ;p+䁀u>ޣTL8zocPi%m Q-EþN\d=FHg͆ Ke;F]EڝD FͤxLj$3XU8#8k&p7y^@\zzqW#B4b2@ 8M8h ݎFF*_㮅2AcH8? ޝ=3UmİY]6N9dEVھ_{H:GuؿʀvNGCY|= t8`&c=?Wm Y<:P:qnVd^azvozbw3xH>HAeRrY rIdy2wik2䷐ϴ@lmJ5M|0JfFgZ3'A@2%2rzde:fL+88^-;{;k_Bdૡ ^J)w>Wwg'8k!}ocF;i[1Nєf9Z:~ΡϘ['N> n_ȵGGoG a+WAak}܁sR: 3gkRNƤaV8 ? G1AR\0Jap3:zS8s}-q8NP9@…sQ_ sP8j:% T nQy*1Аy<ԞMnTr\8Z6;3,}}ZwRx)cq=qd`x"ުĎs4:vn#n LFF)UfNn#< AQ"$7z<`uk:U$;A\JtE@: 0zxݔ0?t4Ǘ#C 7Q0g /rN{㡬IYjt;(̬P0I=-%p_35oQD8$#=AHQp6A{S ʌ98a@TwޫX[A88Zbmc q[jqqHDI;N1׃M˚f Xv˷ ^*Hvc j4KDf>l<_py)nb$ 6GNء-e<[%A1MC."ăsk)ju [s} 9WGXrx91Gk&[bJ,0NsY #qB yEFCg<#=϶Z׊7 2=q]MvЩsUHݝ;B$tӮ206ݒǵJED#FlN9۞Aoϊ͹o1`z`݀:Kqb;z*'Xo; (`GN} {(\۹-ruI&|Vf點.@^qPg?p6dbycuF9$ 0A09ZNoMCկ,Ii R㜅82h-Ԟy(evd_()0x'11:!Go\ӷ`׾~Pa ֦p;k.3s ?Nϥ%8>y=) =0{^sd8r2AϷR)g4c};~nr:cTҽ9<ب~ 1I֪O@EVQ{qs«0`zzc 3]r0ۜ^#9 OCǥjE 7L[ 23x8HjV219dv~{>Pp ;nA)^XnMv\O}1~C"3JNx{R'՘c vHzD`aGnx G=SO=+ֵ}k@z}y;Òo0Ac=;zWFRn2RyX9&2H% ;ɜEWCd\}+إM}Dž[wZ&d`8U# UW}JpKShp4T `p6q*j վfH;{$QZ[%t]269C$GRF{TקOS7gt@#2*#QG-pYv; ,>aES-7|.zӞj"\Rv'8:Z?ކTcXnh޼2_jmY@q' Osscd*1#*݈0%B?|w yhw#9"ABxqv#[t5$<%wp[ =Նڠ(;ym• 4XĆ=ϱ`9YHAzTlTvV@9#w#,&Rd+Yu;ANtTDϗhp ˴\qN hƞXEܪ nYA0*YC30睠^TW=/w:][:\KO}ԏ5s3\ KmQВTv&yk]](bW1'\:}+TH7q`7Ԯ; ?՛'6r0Sr`:=\L*g Ƿ_J\SE@Aogho>hP:c|g*j6搻i^O*ICy*2EϵK6wd# Tn_8ݳ9+ SCU;u!3!98=j[?)z\zT{" 0䜓\~sfvz~U뱢R%dY0P@x?JxdGE'i>隮!aq((ऺqǺ%qn]2sԚdʙ36 ~|O +h=UeY ;N~ўz ,7JFI 8 dI]4vv-%*lӜux}#}~%܈Īw6@rOn~8evs94Ka7Orzqszƣ*?un);d?.z| `B>b|&8`SKvcA[O&AqrPF'cMKrz dv?U#q?1xRqGCDS t8/J^F2pcvy=}Olg6rrrqlK4;cn{01ԁS,x3+ׯn z={|pq#ۥJZ5y8\qm,"E98<~e928ip2=9qY ^=<ڡ$=pH`۸5g C`{8:URwuNOCߎEhDc=jrѸ_|;Z˱G˻qd#hƁāgFVGu݈3r7#;R[dž09gN;✗Δ3MF6AS^GwszwF{- 1Ϸ5rŻu=SJ+D8Iv#Zh#sU2"fD> |V=+pYYFC;hrwe!;GAx=}BV eJvd_^NƑCs1L?S!U뜞O$M\f#NbH?H$d298Hӎ spyN8lp3ӧSvEhRa+ps~?] lby=v8駺3 hmqsNT$PI pyɯF:F)9Ag'7|;~^A`ǟnNA`c_Jo + q51b1O`pU:e'<3ʎx7O ʂv-8#\zt=ͥEŒ xߥ][q%H`cj nW~pSW߸מ5=va0EJu=:9"tY PO; Xtx}1֢18BFA@fdǂ^}3ޯq8=ڜ])jSFlyQGT2ml Oj[EXxwfێ#֥^p*oҫ>Ѻ(#zdmVJ$GGS SZ"@nFs8y{9Tr_o\qq/jswr". o  0$ZВ7K"Uhߗvfyr|н8i70+9J#88=OVwKu$xzQՖM$秿Ƞz=ֆ!7Hzz;xR^@v8]!}Dś<'T.Gːķ2NZk]+)#wY9<򤥭˥fO8_֧#8A뎞뚦&bmF5FCmoHϯYlZXcgN>}qڦd*N9u=8_󚵲ԋ.0>wHnPN8 zm!:`cXsJy7t;rFsݎ3aFƪzGISb=RBğ =x;5]E:vS}WȔg=u!/}}Tp(>l}8펾:R/,JI#qRxjK_/Qg9u$'^2xQq=jHW89NyJڿe]JpH3H㓑䙛ԥ$͸~eQi8rm y?7^?J߳,$w+lW d1RV I1-0vZ!9lڀqvoIYXȸv`.1y'oGˏqW ֝>PlvwM#N1(c Q)Aڝ(Fsm:Ҵ 23v8iw̼ yzi '# JZiضDʦ€0Kb#`F:W[;\W(\a F zfBͼqmϧzNOڝesD*@##UcnpGsAWtiE'p=ҲPjd_sLVc0@%8?N3MɱnB<1 歶|ܪN+5IjcKpYʂ#,:R+3rF}Ur&h#sbF2YF qԃYhgE܄'ON= [HA9i[[\ \ԅq=(\̹1~&0}8RA +9r ZvNcd'<y]h#8qOD܉\َx_9$;AT%,~RǑ==IMKsJwH,yc*C@S>Q_KlgcsG&WûEO33p#t>s9Ϋ6}'kYXy$dSV99%@ 9;[+8rFpON~NZ߮. m02p8܃H9#s5Ջnc2=Um `m۸qG/|7cJ5q qYw+i]Ӝ皉3pr#r0@*N8=#s><~x{ɷ՞*Q^#Kd>87u{֫LcSq}G\VOYi Ԍu4!Cʺz{dyREiݍ0Xc`}?OjG0` uFYmwiVـOO4+'<^0j '<^!Syl bvc\xq1 8nqVkFjx)+νE;r'? 8SWaJvq7w2ס8;@j132sUTn#-5rT J)dRp=|\_?vL0g#0lSn `X0Bw-鞕X;9Yg;T7s u<~P>u%P36A@ߍZ`9קNkhI&)}MNϗ8jY>cd#=*M4цi\JI2 :sH*`p<_f1'k*pMc>\-v{qڟrTF_ nj$VոʁSu>^} ;D]F1rIqRy I`I=Nq$Mݴmlw@q=r}8 wgd9ŏcmg$j褚jJӺ7# <.x6}E\>Z1b>^''~o!BX2@_`:֕ܠG$A?M٫V1ϵ$bgק֩E]dn29~6, /#>Ʃ#}Nz}*$唏+ӷp;ӊ Lq;wc<V}"5x;lrIVwFAX'ss 1 Nr@S߿\NC ߻(KOkSoaL-ҵLeF>S =j/z{YNy:( <0Fc觧~u;I9<)-7HA'CJp0an.ȲPX=*Oaj/|ǭ]Ö^v0w=1ӃUo 8to.>hxy}rGյs~P:r9nZMyO=O]=FGj3qAӞX~A}*1,9$mamcێvOMC'rx8.6glg?_ӊoU\^T\Nz-9q.rqoLިbX$Oҭo0pFs@c GP}M\Wo]& p#9>݅715ڕy$}Ӓ}@'>s} ItR~yAN: D/'=*$mq$RJS0 g98=TaqpAk$fm+sQ5\FGz"rdDZi*ܟg'f_-\8Q'3Њ̧#f8<(|v sc~lpGBzv?a;߇AzI3&2r z 244h5x ڣìt-h i rqա"ޛ 0ޥGb婑!cx`.B$W9ӊoĝ RA89'}ߞyv"bJ#Y>V&e^k-rv!gqOu`r3ٳYqt )-p8nqkȵ.V$ e ;V#e ݻ&B8^tw<7WksN"6*أ.#%vWtmu+RAq瞟{i{ls:6t \:FÒ 8>Nc)sesaKv{ܘgMbVBQ7(ۑ`s>\XP01iV w=MzwHi (!HpTιk)#:cOIl9n+Fu'3`+c(?(Q9nf 4p%ZCqIsyt9ԎdŽG,H.ޛrm)>8[opt }j8u9_"'d s0氧C`u#~BVȥn@ yLwD Ȳ`#b'n3''荩+It[bTFSK2w}J{kO6 0%ϕu\,brp2F:} rX;Tn۸GNAحiwQ[,˂7`1&й#Gv;d~Z~|o#,pT 8S[?eH8!X8%J{yP}Hy9;94(00O9`rO=©wF,U^H1+Y@8Xҏl;4),$'2(TAV}tBt7.93@ OPPwj} ӀO$OZzi (^A#zۻoA76q9tM*90فw$~GN8w%سL A 9cԿ`nv#nO~!wcbc}㚏 d/Bv0?{oƛnBt 8LFO@:0v=shR] =U:/c _PNIU~-ң(t}8v?F:cq#kԞ`FSL vq5 (#i#\qVbЃp yu8%N !pP GAδ<6r}?J<6l@H+צydO-ʭ%:ƨ'a)A#Voq4V¶gi7y᫆`TȀ 9=Tkl>/NNSV0Oo$K*+|Ye H86ۭz\-C/}U^cʂq⨛ I ]ǯ\Vw>h61s҄6I!@^0Tg9,ǵXxjsMD(#8Op3縪#Xǖ=@i!{ j<* By✝Ĵ^c.%p 0.xֳQI جSƤ,I2ǎ~\xҺd p2Wӟݴ#eq>ykFTHXs=*"l=ֈteg3G=sڴ{[5pLd TdZ1I\x^]OZbGP<>z{QRؐQ[.āR0 'oU=8⳦OD\q^[µՌ9mR+( pVL;Mw*Gw~{fV]1u2ZY 8dgU  J_Z?3*83X} gJ6;N&wH:١+># vߩWk2wSЯC-pY7oݳeGR=Ѭfxp=''p\2 .7g UsT" TN}8qQ[}b˪c2GjfS!vR99[9{1.YuVT>ef34xy[/K5v&6.tS{à9ڈHQm ld֗7ixT?Wn-Y2MST _j9@=p)i a$AA8ƓЙnV!$ܷ86q *FOAZ}YQj7Dl#=0@$wl&1e =x'H1<d>P8,9sڴ;<EU' 9G5-"F6u~lduSޒ-F@ox+"zuzV];hkꮿ('8'9#֫ZBI.ǂ~~s;[zGBdYmq5Y8u$.sMO{$\MHv#rI?Ҵ9 ^3\x teRj ]_!z'̤Zp,hLB{i'fՔAOQҦ]M7  -'|TJȗ&4j@.XvE9u '*}RD$9ኖ ׂَJXhHKJrA$Kd*GaWt 1h`Xq5S%WAr ;q߽I$|@>:Feԁ0P|Rc*O# 9Dv԰>ޠgx秧_\% 9ßg,2jQ5*y'}}T 玹%F.f#{{9mx^75lˣ71]GLnO@a$p nZ^YY.Ou4{9$ c<J A!pHGҹeAtƲ[nNId'spI+)i"D(9K q,GJ0<M[hyMPzrÆmaIt-677v`wp$w=ϭ&n0TIݎOMk- ?w-y80>P3iہ=iķILc[Lzx}{;/ON=jɂ1?Rs~t_G]'0G*y.8YBqqԒr Rr}bs4Jw/\>(Le`F0G8?ޯ09PgzT8r98qiO~12}iNZ/6ўU=z.*9*O=┴hnߗ8$1\dpNwORA9Ҷ[!vwR1ΡPŶes69gLeG$K+g `y? ,E#G,@'ϵ5MjfROrp-Ըq] tj^B8=|v>iA$ #iy$bސOcT͢`_b!WsP5cqRjd:u\V<(`pNsx d%[or?Rn~ޣU5FlF[܁Tש<$5&bFp\OV^$#]ĒppW֣F.G8?oJc#=Opw#)sԺ0?.1|@ [=r689WC)qk1n֭o p0fb I#}0=E#G+ ítRhwFڣ\p[0ϧ9|0vl 5V1fcgi䎽OHdt霜 kȾԤFO>m$tz f ~F3SQaA84Bu$֫~fGE$g<(B`rr98^1nx]>E&AHQя?Lz go<+4IU y$TלB}~ !_l3Xw:SYЕ0qsc*Ϗ^W ԲHrq.=$mb02vT0IQO'L^´oKy='џ#W5w+t~ls:6\3:ZG%-0e;k\8zmjgkhI;"N Vbp8 ~b^-ڮp=s \[x,|gi@}{#6!6:Hq㑟9gug9~e8@=9ߙrI+G><)& C 2[Ԯj)I7 w'qZBW{osmn#q^XnpsɨsF[ϥ:ine]Dӎ3r ?ZϞT)$5- 9bиdDZ+Ssv2F'㜞/h-LY+ݫ C7ȫCphP]QWv##689ltqZz炠q3'>Ƨ&Ӣ?6*N[?l8iC/,:`;b~s{0xU1|1tT뭍xgr0^ipr髮 (AtٚI^ݞ8*qe=O# merbbHQ v]T-ZRوo LdOEQ20Uwh`(x Tg'秵tFeFO؁-9l\s׶1XN V'zSn2pH OI'zcw6h9#C淬-%a搀d+܎5F S֍Ԝ{oc bl尛IS?*󫉔ͅ $xPڵB1O#l+zk3@냎yW[v O q vާPsצGTmt<\VvctIbTcHx7S)a{Kȁz 2H׊ίcT j߮Sy /$|g(`2~53տ.Ղu, 5T(s\PVͶch`#U#>.wn9d~lc>ޚE c~y{>m:uo"ɾ?c8=*u'o˷@b[%B͸#s>U' ۟J;##>b :>;i9f#9g<ִKqŤHcK`I9=B^;kdI %w<kKͅ$+M}݇u8#vA0s?~(dp8$uTdqVqQcB=iSmHcZ\3=Hzqڤ#'Gp#XTXz{ɀhl=&ep:_S=J@=ysN7nƺ趭6DS3VU0cO>}~D33fщ 0:պ]_"Y'bp)8 JD069]l{lsΊF|#'x"'8ĎSlf?OF$gԤ5soÑc9URk* 8f¦q^B+bLdrȧ 3Gc̒܃=i7sT^Apȹex=z֠Y7Rsg#=X@%P]eރ@IUWav+IpyTyRn cG6uv9i߉^#P"Gv#jBݵGQ۩*_܎:w9JM$zaA],+ȍFIqQI]]&B99rxUP !,3?EmJ7č'}H##8OX?3rwϷC)N8FqrqMz~5'}#H<`TpFwzzJnbƢYFw#P F:dv%gdHƼ-d>JϵI'=F=ϭcߡ4np0vc# OlqX%avӞM{DoR}zЍ;瞜Vhh\}~)Z;~b;U1Fe oo @Nzy<ոnO$~Zλpup|;œ7eO8+O8Zvě3T>zTj&cA 9b8?k"K9P@$8vg;nᤑF AU$A9$856gS\#ٴέrG|"2 }Ǧh擸YX\uOf8#T.2[mϧj?.'019+2Ӛ|r{?ud؝W?ҩ>iЬQ}*1=>Q?= ;z7m~1h48ǷQ3 )[r8l*3֤ѮPԦX2|$s+H(֚UJfeeÐFkpvn:ʢ6QJ&O9$@v5uЌjKEb%Q3dg8 Bz1O#K$ʙU T{t?ZKrzN; 8<:;ci5|6*AcҪg9_@sFiYFAqNvVgw-1iqV0Wp(!^<>m۴J[#tv+i!F:XwSapé9TLlNv>lnFFoBR:gFk&4!I8Fz~_αK'p(.>H0pϷ 1cOL~*_k:8 my3ڒUHp9fS<jQ+*s9v} Мn9y-$r:V[aԸ\}z~PKr!x$yڳ.ZW A*2=sꮊ/޿VW~8NJpe.$RT/nqGջ: >E+|<s~RCx\B>#̻w,@7 GOu&6ܪ0 8N3u|d38LW$ 0cct^kmTEFU@^kVȝN2$*L? !߳扎CہírwFIG $J.2BqX9^ڧ2g?1#q'N*ɅN`!IsАxu_rsK''-EgbdFil qojm68 S&ͭJW:t8:.+u UvZY3xT"l8$O{W>Y kC+uhǛ&|c t1i#`$|Qoo{AC P(9ڣc;䁑đ::c?_z)J(AnAf 1Aϩ1?,} Rc?J!2 I*dźfqv4~ϴ'q$qwzTq}0zTcn_;YNI#O=E& o󪂥dJS fpNv׮AyE $?CNEw; P6_a,cGmj%eg^uv0bM˂?׊ #9)3͎Xc=3ǿ^OKZq_S:>Ls̢{/9y~?jx9N=k9-}D+@8<҂q,~5%^pygڥ]Ip@88޼uj$~cp&+ 9@^j #^?Z2t8LtϨ늤rxF21e=xfNާߧ֞ŖI)9B1Ww Z>I,s C1#q# *u8lzn8ݞ>߼$'lgQ08I('}iQL~1sDGsАGLu+HGsoVcq>"WdQ[ gR~;Oͻ(ևCI.I~5 `sj~bvEO$ {ǿڭˆP峑ؐZCQQx?"  |Vڒ*?$Tj̀rnNҡeAaVBJ#İXuYlUc zؗ#ˌd 2\n1 =~h^DY<n7_+)A$2nm9d]8g]u>Y ۛ9)#rAP@B|Ue TJWS~CB(\uQ u9cv#ޮ| .֗KHoݲ|!q‚@=]ހ銭hOa70<}7.uF!M6 lr8E PFGNiw3p"[N[$(9;HFw(?C_&}_wJ]N{`qֳpˎ0:0ák[lu$1 A-8Yh&@̇;c%rFyz>C&o >l&F F?JWy[źOon)꼉 ecq_9P 0 ~5vOFs$q $ >oIY ,Ay~qZFFKzx*A 8ԩݵ•35_P6\Ji~qeW+JZ8Zտo3$go^+f=C$d+H #>̜'[\6`*We[>bd1zI?ԗtlE|7ڻ1a>1X0f۷lpzRYr9!\MY㔔+IQc=W7RО5@K(AvNC݈S*GW)ߠ9ط9b}Hbqˮ*::dܽ3旳*5<F818ץ_D`=Iʶ~Vsڵ]uvDAL:UĠ+ͭiww賂o2|rKz;P@$`G^ָ%ZXX(L|?J{b9eq*G$橇V{PvA@a,xq[yZXm^ܾm9@=zpi`ہSNX=S`qcGY\n8%IM d=2q9櫘XpʔޛQycA8=Ìr6^.:}ƩplI nsEYTTX98x#q\W8%NzcL+Bx8NfH;TKVJ*,6<'Qgܽ{HK*c\R*!1G`}GpyꤞG>M1r}{J>?V]d98?Z[-sS8D?_P:5Qݐ5$H:CMhwnNZ^(;HXTvH#>͡'$ ֣$vrs.ȽHG1@Vj7Dŝy8 mݔL>Q1IC*G v==8/zJW>Y͠w6 p15\ƣ;G\{)4ޅ!a-#s֡aAx آ'CyHU |.8S>#*T{;qֆrzqө`(E>a9{N=s׊ 3ӃzzE$ZPO?'b#T.F 8=:ҩ= Tp˃HSVcC{ }@6h)ssR80NI<ڲՌJ{>Wy'TU>& =AzlHru=N{Ho$E=H?޵Kkv8?:Hddz}wc&'Zv8ַo0]qx?u~Fԡ+۶UmnNIǹovp rn GráA]vubN[ozQsoCgx?4w8䟯QRB@tϯZ `NF0NzcMI܀x*&u#Z?Iyv+~N<Ң/Bt&Goy_n}xzUshE(.Ӄ9  t֓Zcrs';TW np2$4{{w$|Ҁ6#gۥS"te*;$1ӏsLĆ>*ذi8 u89ݏ 8x˕zjg%r2,͐p2H^{7؄QF2*v@J[/w)rq"0<zir;d>|) ~G((HO=A 22N@?tO =ۺcq #mQGz'8lm0:O.<#psg1U$pH$UO(x'#tVZ\zthr?>i`c#$ʓ ;)I=9"FAav4zΔeDc%@8 A{0+xzvF_W]H70>_zn8]igWq_rNGPG==qEYUzgGQtG9wb yRSFz)8mvַ%-SWFo ֧3}c9۷jɎFvbֿXN4GSl2HN8C3/Τr8{XY)~"7mONG۷ڽ(tJ1O{XWAQ(1YH@ҷ`mA}<r&wI#;0-9 e;6rOyκ*4T9ӌ#wjF\^:("y#ݳ'"72x'=)ӛhq(I9{^z5vc;GZ^R;nǐphߓr-'4G"\BǀT<ǧL؀==AINĎq~S|} 9݌4Pdlt^ ckeu7%|==* rV?ZVk k#f*#6rDj[0ڪO8V٤TquVH8'<w qUսV>q{P'{-lC5k98ǿ4A݌r:VSnܨSkVX1d0zG'9#qZ&a\w=:u$)\dڦKqFNl@ONG ~cO0F3rugIcJT mpF=Xm̊~r?>#i%h6^#E,l<r/VnF!ۗm*'5"Ƹ %0~%ۖrG#?Uy2;I+>]1FuwCךB)sJm%u >lt|{wU=p}>V}]%iX2#޽)"w''桶~5FNJ$7kqmn81ֱB nGR* 󎅀9&z|!GS5^XұnΈ_ȟO9T9s<ڵث\. 9ڸ##Yi'>^1q} rNF }@j3ķddֲܝi[lw1ѽJsϠR]#AERY}67c7)p9#VcL?yx^sb5pϯaJŨ .rG?j>\?Sɔ.B,wXDg#.9G~[4S@;:רU* yXgPW؝n2Fp[`9:~5oR2\`M9Jߡ2Or@OObx8ץ<8AѰz&܌swϖDW$uFx5VC#^dt&+Θ(߫7b3)Ǩ<~q]W$pu};XJ홗H2p8Nޙ*967b8'x+&Uqs9z1mlbt I*㓚l^B9P}^Ƨ٧Nm<,G'=۩Uwqxyؕ&Yl8rg)鹻tT)C2@`3tzg7~*-ևKmsi lĚWRBO3JNIS3eR=?) {VyN$Y?^2zqNzt^CxY 7ۭni1+y19#?p?i~NB`Q6IGeOu ۗ89u?j;;;#Zqr3<~rqީ!( !$Ynu{P 0NN}kC'{W eVWnt8 qjX;3h,F+ǡy5Ko1`A>v1ےNJ}r\@<Zo8_`#}U;4rp2C " iuWln/!8P@@Q`{*k(29ݸN=184zFU*31籫cOOtáRWef\8w\̢F% d9SSZ6BbJ-3g<Ӈ +aзimYF4cg?~V<<0ǥUN{TlڴDd{go¢m@s 3sR.Q׮u} Jۊ?Uu6FsJrњS˃ЩqNTZ7'{+xdcnA#YaH ܟ_„'U`O=c*USNL6OBG׎?NQwdq2y 3Zlw#=%fO`v9cji Jzdqҋ9n9W|F6ӠqcמnWCRO=u ϧJZ3YdqCvC(Y96d9ǯJIv.}n9a pN$Ty1Vm2bd 829wIs PܞW } ћ.܎:S$l{ s=;8ZeIDdg8\~'QUm.a0p2:z[ GyDQn dd nLZ:;A֩o`Y9><aS=<h)^3דZpnxSXvHܼ IHqӾGw9gJ+p3 N*ߜ=>ʦIjiwd@ =>>ꢮsq|:ʲ}dl;c\Tvв:܏nƥ$H=<k5Xޤ0cAK&yWh#9\uSS`$,|3{U'r2sn=?•%-GNt| AҮ.A 0K#UdS!pqT C~`ynZO[gHs_|cҳ@!# zJjUg3OCSIr7tۀ&D  wHGXԺDr ONjYxSԌ=?*#~*Vsfݻ?^ -8]] {AMHT]O O^OVl;s$`r ҽCy68?0a=eU{᳎N>=2O5)+ (*.ڇY8ZīJ< b޽H(tiĀƭHz wn9Krr~֪{؞Շ7pvpwwa? dnJ¬պ8yAH'yؚ`p8=21C518^ HBH 7{c\]b(,x3`^=`1N y̓;BKt7R#8@2[l Oj]i6@ѧF@ExUB0dAcj䩤Êߩ@r~xq=c/=xp}+´%T?Jz:'W_=Ь%Ҝn,NL⯭G |g$ci ܓO$12Ҋh*B@i:g=t{LI%r䓞/~yr`˂+F6r!.vc&;qSr0h3xɪr0^HE.T%6Hl#^*#!wJ9wmȧ60 FyI)A|1< T$t.K ??]Wj6I=qT"݀x$608RhVPJPp5tg|=Qw8%dJalg1jN^ bwgcp0I`W&/9jjN2Ecհr9;#pzzc[pO֭ ctFG=߼7nbzOsҬQ1[@&.fzub8 p9'_íQTnsm$"(hkDŽ,s84˹( Xq@ 4iеZ c$YXa 8=+_ʍX0e8AVsUԼpvA:eTv`pqk(Ff6߿>ߥ@p@''SS{XyJ˰8n#.я}wN3Q']~w)=v-EՈݷ t>kLd͐g,۱VmQ'wdtHV!zF:cYJFJvh殠(Nߛ$X'<~UA9׷J+I\˚g<9;ۯҦUt?==Z5(auo482 JqN:{OfB v8bcRǦ3hVql(@dg$ GҲ 3?)O\*U#8޴5 <~Qד{Ӈg䎘a۞ 9Ul= ^* `Xƿ)99n8V `H鰁*80inrx RFp! 9pFFwtu]"޹cui&O9ǀ6>t?JSL)?CշesI2_$?JIp(z`vk2S!?S#u2}sF$VJn֥ܠFݹ1Ob==rݎ~c8<Nr}pI'ЌN둎 㷨B7AJ_BRh~EF2=#݄|SζVIg͹Te8l +%T^#>qRUU2U$ңQ1Jc@L9p@{LqoC[<Ƿ -.W<{tlpW9$dzpحo}r)tROPI Ԟ#s?. $v=zI ]cX`y{8/ PSzT'UøءK䓒9V{K32UHH+pRa%;G%JF0$F69oԕ:&3I~bǕ9zjq l?Ÿ-Ȧ%.h*19.rp튺@``tqm{4Q<'_AZX(]F deS_7Fe*[Vb&@qӡ<M0,[s3?6yd#$o̾.;KUA+{S 0+{#wjiuyl x88?S֦mZBfŰ+*F{zSPL4FH$b 9Tqֳo LKd!\r=:PWPxffJdbx5<@K4y 'Sn(N8wzrL{Źsq tF/=}9ϽrG_qq%둲*C9&nǯڼf߃=>"3 " 9d<kZGD֫bP<]7>7MPQkX6+K `cgHOEJ)N]I$ʀ@;l0:>S {*dqדpL[:jaa]5 ۀ <ryrOOlS?.s}*W:a;ewW\erXFR1r7p>RH®8!OG@K03cZ89OAE0 i/f#?SOOs Y}:cҩFGB@V næv#=?+^D \rN9RqF^?(\sm>d;qZxG@F3l¤n+L;K6w I`֪GBT09@=8ݟep>>qtc#KoK I9VGEٞ ԟC[[9~я7V88$ѿdt3Ҹj9Pd N3U=O9Vvw5+;'1S2g?J{]QII ~Uؔq4RVE@韭Zqr8Y52/ ُs=:ZԀpzFG)a¯9<ʗRg w~w8Zbԑ'1 y<$`zv`t*A>}I膉xPJ >n8e T>pO=qj.ָ[!-qy{Grzu壿lB09G9dsUmF(ᛡ zx 3990:sRaN8?{O An@i=36MTS޲p#889^:tj Bv#p`']!PuP0A{r ;4N9=sZ,a\cӋmm M£`0>R9{gbvLz֍G+e ;pH1jD FI8=8L_!rjnNWS:w@Ҵ1f><m4g,Z]Jڈ%圓+ >OLk\MegG z՘xS0랛{d΢$re3t#oN1ʝϝ3.IAvuqJp1Ғ_1Xo\9'1&{p9Ǩߜ|TsEP=r8ϩ<j gF9BvRmQ{;}1*18f2Q?M>nյ֭#-%"ºBHҥN?`d~:ݖ20,^v瓹Fq~G܈M,i9\R;sV"þ~Jg D,zdcuuu#)N=:Ь]xivyhq}j6(m[{ztG9g^I8U-jԪp!/:cgJ9#+͜NF6cfcNG8aܒO>*Qɫ~l펖^D FIFyWUAלdT:n[JxP !q9QS[=B<-h8ס*$}kF1Ӵz.}qꁖD'L<s?g}rvat?M2⌽'uJ39=;k F>_AwM+6(u'qT$>X8r@ fzh^qsdדZLzcp3AS{;BCM2H ?ӾX~q/7yxcힿzNzzpJ_ǰB@ F1Ӡ'Aq}ض'} ?1A#LUmLd0$s?+m`!@ OYJW]db8۴2ӷsg<]>RHg9#?_h}XVӾRv`- jp̓Px''n*>XLTdT]Ȓ̞Yry֯fT9'<Ԩ)Z01{5A' 0O5؅!|#-zwUYc8 zDBDC9' n$d \?ZkؾcBzI)ZTC+-=8< |*#& Z~80F;ɹB``y 'lr0v2z:*w35)uڜW^Vhl$WSzqxQH9;gee#p~T;h()܀Wᶏ{*#9c܎6'KSu?֡3' ~\\j%t5`ɏ|_n Q>66r <OOZd~h3`$J{"1IU'Gh!m8\3I7{MP16 7Hϧ^kuYe4&I8'l$">p>ӭ na r˒``aӦkͭ7)7sӡJѻFՏTd0_|L x*tvblC20;NykHm SEtSjrT՘77<=.{HEb[ݎ3:Oaʤ޶6ODxy,x}vsh =r=4ȱ.88AlM8` qns!݌BGQǭ_Lcx}{w..[*{?^JFtpN:׌\^VTޏ^FtT~Z/4jnv=OOӊ(U+Un`>\Tx2 s#$ÃvĤ $'1ڳ9Bw֦bַJGw=+=QDO.z:,AFq$JrwVꣿ8OƴA]Ȭ6l] {2眵\`@f SJ-hx ;rsl=jGa&s q؏¶nW+xz@@Nn83Dk0{(o c#ydn9uǞ;SFԈ2O8$vڡX.sum]ADPvzr7qԕUR6g#ޥ|1>PW߅;i/웨wg9$cҧRAA*{Z~8>8tlAzګVд_prx{)Ae3?Q?Z[mJR2s0GCPunLzONzSZ3Es ߭&%csj쭋"GWXJB 2}=jt.e{cL=8GczT2pzTws9 vZ;l}+lWǩ=OeBɗ# N,O!Rsd{P$5#HǷԩ ?SɌ ,3i<8R@,0*`p9R>8+ 6#Sw>Ry@{B=3v$;@}sY38A>[Bs^,u*'qiK$ E^PA#v~Q^Q ێԜ|P A##+J7.HzclVv[&Cg}0*Zs38KBSϻwfx`t?e2)?19'烑JD$[_)< Xz!dO,'i< y-Žrԣp?{N ,Hb2r{q)>FZy)c'۸ӦOֵ; yx`bf+z6pY`0G8DDopA<`lrOQvs\Gp xVc gU|{T(?ŝap9͢}NECdxÐպ~Gs[q9lb'6R2bL!BہԮO㏥[EdE5FYU\8#$mQN)r6 uzUtKBҴkT;l8Wr..'QY}{GS})8{]Ԛ07z8rEv@SOb8ew28\ *`d=ZoayJ"®q\Ëf17#*H'=O5Mevu0l '?fˡpW@`8 Ytv7ndDۑz?ipcqMeXyq3\:r'I2?^J'Ef;PݫzTA2A8 d `,շmC$|!68^W RN#=+۠ͼ 9ccڢ1=RKvfqUL(''LwU 97*0 q|-qWcs:=:ٛd$ \OrNqHA8 8#Vِ+S I^KFxFɭ2^cl q9e3/,1~ lax8`zab@cZBC7qgAe<>@L~8y+coNs{#_q I%5ٮIoBW0y8uZ9ۍ1_\W8͡I'hF:vu鄚1S~ N0;N?_P)bX0%@?8\cWKع.l<8׎vm&E' ö0M>n[3 ٷFyQ0F@t>=UhN,dQ*1Vm$.3^GSҌE̚bYv@}N>QC \|F>ռ#4NO*qs;V%fROnP/#[sDVrwzo>N0q+AvbNaރ?_\V3wbә>Lб<qR~^܂01gJwH{ 8Sà==kF&Ḫ7t 9^MD~5pW{TvAp$=>308*S`ROS ;# N{֥>c:3Tǿ fĎ;zRm=8v ql`GR"cAzx@rOZ: =}=19ǭď9<]qϵ0 c7c뚞0#`-;FOu*z:r ?Oi1ԓ4Ԅ~7Ps; H^;P^D;U$)CUxfyQ#; ͆$SPáY0H}kͯP'̎/ˁ;` qϧaS˯\ۏ4 q2<ºRڴ cnX7d,8P8<1·HYEٜl#;zGb':UV#F2HP?ϵU6Y2@=qy룉w(o1SƨXǒqgTI&;Or?( ?Îe8PsrG9єuhT;ך͞Bj8_$s>n+_?(lcTL$c 2?`~΅E]bzZՎ/m+}R+/g q2q1멖kQ|<r=? y'9\fh([#~{r}Iv6x\*z cl=z@TC>;Hj$sҎ~m2vcEg-61fGgL`;U'ԇpOGQ+8rhn hSbAU^M93zTjB)'d0\w#>Ccz#q '{peeÂ?+PǢ#\~UtD8 })ˑ0:>&{ =)qUNF;N PVRX%dp3Y-{:6V_=}늬;2Te;UKtA!]v*kAJ͞1i-+HHg}~vlY'gk&ߺX=i4c'%ߙv;aGa:dVT/ ~݇ގ%I{Kz}NA͌ך2񓜕qQ\[#-_ y㜏\z=kU9? cC=~lO Ρs219==u[QN_3 fy  u{~u$0 |I< `*o[rF:A:,?r]܌iYwL𧓟R6Ծtj/k?נnMÜq_֦Lצ>-KԀ~ns3g>}qǧ<*S9mķS׮F{~A߶=&h =3$$ 0FG$\zTrfЉWw<`pzz_1G]ǩzΩ+#['c'Hʿ)߃taQjG,7=N+8 =?w=EEn[QB0a\c'Ss 3m䀻v$o1Rǝ?q.Nwsc#cDdsJfl}z%Mh#HvA*IN19zh=]ȂsϿ'{qNs8=Z/#Փ!o{+enC?#[;F庘Q xj3u$uJ˙I"1YOoV=۸=ER&@YO˞OrB=^X8~uBF\z9}@Y`qϵLֿ!3s'sLoZ.=B\ : uUZs;S9NȥFp3OϥX 199>pQ Oc8^gK N~ \UNA-ͷ99 #ԏsPrN8 ݆ǦcF 9c'i,;G85 u=z)]`~Y=9zkWC,<\`inf%Q>|БS)m#wrҏq#<JF!? 9ފ-,R9q9U9OA<;h(iss뚹%1s'r:fc4"j ͵Inޞ=^1ГӶ?Z5Q4A,?) 3ӡ`ԯ.W *vu/9ɽTr!2:0=*Q*p ztұq=6ѝrNpvpzt@lz)9 jZb }I 5l$qҮߑi6I uHF`wx Ԏ{okl)pN#`CFR%)axtjmI"bČ$g9pkǝ-FrT:|R;:{Խ?#:ă*r2 צb#E2N[nA=2sqZ(#Q w8vS_mBWbP6n0{/z2Frw3Jw`gox`|:A~ajfֲ&W=1ZC鎿_ƺ)+t2n$Ӷ 0'=yǠMn2@9MXǶG'_ҋv z~ ݇\76D`67^A'+h"DžP ܜ TY@98H)ˀFy=rz:Cbz9'?C1ꨶN-'?ןЏQYq =N4)- Xc sZQ ]}N%cg9xPG^#4qSI;In@c=GzVc m?zѤK''#\$< O=Xs֠)g89Ka@dssUS3PmB?;玕~8od$؍⏰^'?l˂1 F?.)L@ uP3JcI}oBG\:q$AsL % Z#5‡<089Tn鏭l4,p9==ƅt<௧6 $wd5aU*s.7p)X4 p7OkA` } =sȉJƊӃmc${Zd;>^8=*}r13M .7H-1TWoT}qcliw&ELN1ʜЦ ZF^Ď0wzҞJt}MK_u2B \ӽ=D F $p2qrwc!6#l<*F5,eV`+yx4{[1_OBN? pI=j6 9;3ֲ~X"XI*q}LlL; _%ՍX;#%>Q<~lvLaJck:։l]-b,3/c`#޵-HvxRQ7+$SzX=`8( .sz1$::<;f5q*4B3$޽Jǚ̆>YWA$`^=y/]P18| B80FӎJm.B6k3OVۃh< *7!fea88$tߐȤu=~cMn T9QM$m.. ܥL~PTzt۱67+$V# +nJd'}E5VO*Li2qʖ^'j3gT6=:rnAnFё󟨨Fẃ9:kh qs3[=IWq ?^aN;֝BQ sۊҏ/ v9N+)y~2xҭ@KolJNMYcnIy8<~#e$}KVQdbU^{߯|b󷜀1N2z?uVj&ո2 xr"TwsIGS;jgQؓG8*Bl ?sUa&i&O^\vy"m$aAR@$u}hZ}J xA9'>brO>^9t*E"mFgo#'XX>Xr2@Q-ZE+%$1㑎WD@ǜݓ==i_c:!6>hMʃ;y&2K@b3׎=~1;O Os-Qf8޹ (iT;0pBx? KϑF2sx⮥'3k?7RP@ ?8qhʤFN8fޜԉ"wyv/SdG((`qm6lzӕYaG]{h&g6$( nQq9'JRe7(J3ps֪zCbD-H6cs֖(HY\` :#JРo]1Ǧ+&(8P:SIL3:uOzWBv3bHxtT6@c^{;uQ@ZQ@[RcQN llA08wPϠ' Uߧd  灜c[gf s8& 99q'}ܕK~ʎ22:&%zsUQC$9s:~瑰ӯRRўS>t|qWo,9TrKp0?UN2A>G8,1qE_ Uq;Qpx gڷlzdw4^}:s낽Ж\a鎝W=r1PcL 21u27gI{ $vMdXI'''_j.I*8={zyXcNsu9Ϩp8=EYO˷þGP_VDy$q뚫kn4۱'Uy:M"T/B}T TңAo?Q)549sӏJ#uubb0Xd|ۃ}r*N2q8=1MqLyrAwbqҡFxWX9ߍu*z~ y P 3ǿZmPoOnJ[CudR5)-s_A`P x8#ڜ|l"d$^i!1?H*pB^K3u ۑЧfKLAwrH1W?-4Iw#n*U$DZƊIM!{r_ +᳷U ߅ @P1#)3X"Iq}aOPs*FObyTj%Ժ-؟dI?*$@$feN[[ XhH= #{bXoP'?.92;#dge5+vn~m+UGN\upmjge,JjlI$!9nUr0:_ָjQpgT*) |ݻ֚|pۥamѤ9:֬s+T+ dճEw\c'rrsVܻ`mO-A1:(?0w뎔[zl|rX/՜';C0nsIRz\8#EVltJ"R؁9nj`(Ϡ=*ﯦv=sGPLO< u8p<ӗAu2Z] *O6?4y=1#/˳V''O~ÎIi1"y=A?KFs!PヒCc 4fk} #2͎y=3?N;*;;#מ(='pi_Ql~ug 9Q'erY$2}p_KcG=9Zb:G'ӧAs?CFiR8dժɗ8^9 zqVz!#` ֵCRrU ?Q=@ێ}zGG-M٧ip r01&2 Kg#t-2p0]Uy=TAx2̒c.O\mǦ1qHӸ =3By[Y31۽J\Ldb̖Rixu9I 6d:_Zmh\#mMm]ye#jmog:~B+{ یN4bHN n:÷*Ŵ ϜVEYp\m ZE%c rn]w9786q,x95e# Q bN[' 6V&`'>2}3Q-j9+OBP Rqکrͅ^*'[ܫm`XyȘm'ϵkJ I6+J+]]8  #=2ZV !+ygN;l$# }: x9_  r5ܴ_#f5*7yzTu^9ǠR9h$qF:fn-d8 /ZNZXT[C> tR;=~dquǿnm'08==})d< OoJ$׻&ڙ+*>mp'Ұ ےx#.Hu{뤑^80ɐFrqZTa@daxx^=gmW";BXөQH9 uz֩=ɾ:гeTsPd߽>;y*H, #8d[V5De(ǐ8e9zdc=iF[j'n1-2v:-Q_so;Ҭ W8-a~O_C̦b$?H緧95YzlqۧZEdk[ƒHpUF 995E 뒾(J0Ͳ*\lBDlśwbJodŷi,q{i&Âvs*y%D`ld%x)V g# wM5-'w.F19cz _ƭI܉1Z1 {qW$L,@ H9枷a)ŗzu׊F}s9*O=j5Гa P37ZKq_j'tMIib`8VGRxx8? 64ZQ;dU{K#D*;gp:1Q~o+NF\$;߅D+j]9P݈\dsqֳvn`yoM*ױ/ުW/ƚL`'><O%`#lmR։4$aeBOZ(Gzp8mXx)灞zV׺Nۙ47'iN=&Tsӗ#ͭK",z1OJz rFA=O{VR_שte&F3ڬm{-t-"Z:t3l aH@zcQ4S*,VAT8멚iU9vu9hQp8gHdGq׬mrZr8 ?)4.NMnAW<SV@%v^ztQ8;XMC$ӎ}.f;G9i"]6˲Ơa =X97w01'T„zPI$ӯQ}.=F1ߑ}qҢ:K-u/ʸPzm(n- 7vֆxFyn'?aA?1*8?ǩ<,L \كorv=%g*&lT NA!)88Q՚^ v9qJurryn]ư.n&nlҵ 8UW^韯f\ܲ3{U+$#b-r*^mo$v~]}я_ӊQmoJZntY`r;_8F}(׷okvEAs#AғωGs9=xF8 _2{\t=rn;nOa[rey=O@8Y,ːoo~zf\;gNONj_0#yznm->3e쑌 vN oz__JANzZ$wڦ擞'q8xYr/v>#ޮ[s-_;<9G +{u:Ӳ&I~a=*ɜviM=7=ϛQz Ilc䌟W%ĔctbU3qHeDx<1:zw>sd @Fft\=IzOrPmB$#JbgoH HoJJԵ.$+pc5NRT?!x#=BGUͲ(sd~`Nwcv@ˁӞEV%yPx_Td-EAPp*GF:Ք  @dqVLCEfy9;gt$q!c0z0+G<zv}5Eąr9gU]%mvzrW?3k\9<+>IԒCVo`,O<~pintHow:{8ÎSl |2o_^cEV1FGO^zX)[#v9s8Fy` @~q|z@9ӧךq{v:!Nf81s=\4y8X<Ǡp>k Vl 6e la&YTU=z=iY70=r5zZ NH`ݏn62[$8= ;I#u%bÞn{U-c =,p3>'dTd"Zp=ط'p{RRŠu$QQ2<) 3#=Hoo+DSrG;@p=*B.8ۃض&1%:^_f/-dJǀWOc3:r9yǧiW=JT};1{:I~W w#=#>:gt$9*ټ\Cm<S]U\dV$sn: nv׾=itڹq3ۊ@#=՘ 6}N1Tއ'cIiiTvx=F}qғDGc9}Tٸ88:\uE';lzsU5Ehc5yzO~5,pGU,Qg?w{c*7lH׃}{ԉCESvC,#M1Z郟ą=>E@N >GҔB\qZؗ!<G| gx7Aw^G#Ӛދdar cz6}Z+s'G%qqֶyɳ~3wZg<`c>tB9'Y]YPqgLY7'vPw?5_ۮww9V !>ZM=p$$sC]cIK! yw=?ɡ,x|I-+r*ۄ #GdnyU:nsxKR)Nq_ֲܿNXxxJ7ߵ͢eOeP`냻o r[s};Ҕ}Iݷcv+͊S[rIOC;=7}k&K0Qpr8^D36$g8,z;Z;jRx_JwVʎ##qϡ慡I&@+ +nr ci{;IN*قу>xl׌Y˖Єld:t?7l(:uϧ;34~[ ACܪ1ߓ:8c n1y롷.,XVbǨY@5W۲6*<" 7L# z2*~uY6>mIXXϘܹUn1+TT} ?]lu]qհČm1iʐmXery*wèժ1kbYۅ%Jd!s,$C $ڗq*(l~m'S])\KTm>֚֊S׊˶\̅-l䎌9?eG#!X gq|R}6y#OmF7iPzݪ 88ك9| d;qO<{Vݵ$6W˔Ս_g<5u6F= ݯ$fٜCW<0dIHO|nc9:+_ĻS>brBgH"b@ o\71-w 7:SY?8'$zqP2@*v'{ 2۶;wМzJԞU{V 'qc^c$v@aOw)\2?6=};֌6AU$-Āyy 4_DXnaӷ5#8={ #Z(F c3\MՊu˓=iOc7as[ԍ?bnb0 n5 rfrթ~BB~\9X\`09'cұգJj=H Vmg9Sy'\=8@-?Ò 90F})LE~ ǐ[9qg#BRǞ?کqq9>ֶ9rOBjܜ„Y5# ~VN쎣o|V1ucǸK1G!o} F?=+3 c>$N@ʐă#8=9P4Ԟ}x'['ߐǷ'ޛ"ܑ{'N=M7q#>@~c`ӚzADy8ۍeQOz)'kHhݻ\*tvU道8b7 pcކ{nP=|oNkH߭}H>fT H2ۆ95s:c9mq浦MR6΃9s55 P8=]:{-+9ubfݓ9r~+ѥZֻ!˒žP;[=7gQ{&6BcwKmd!NpOE_Zk~2U~bN+o>%Z>Fc[{P=l\sA#pǦUwߪ8 @0<tM;'Xq\85_XC7opwN@z\U-ݖ?OL^FoWkRr`1/fEF,Snwdznqľ zK G;A;RWTnl 7vl_5r;2e;ێNyUēY)S3M%mJ 9eۓuA@iDlJu#_5kep2NHIE<920x ً}P+F199RLѻX[bv z93\D3ZFlU7!2m5Q.J4eH,2AI<1Yh<Z'buBu!J`sOIA6w%; nn۞N=i0W[Ғz -ώe#w$8:b,H8p2 Т` G>;Ա.LQa$89_RqP $dWq][0Z8mxv_FrB)>2[X}Ni3E`c3}Hׅn8'gHֹ+auRp Q;s{TI=9i6= 0%G\?j˨#v:osMnqEs$gޣ݁:m;FkIb'nvtc+٫q vlgO>ȕӓq9M4ÌQ]J%vqׁyO@_fz$NGS犗n7aXq=2Қ.!qzUr; G׵D Hvn'8x)pqOf/|ĜqC4C#>n~CYUU͜oSEN `=jrr>3fݛ}7#Vf 'cE\X`hzOgp>\aNyJ-8+H5 z]oNGUxd#=:h~«ăhDT7͟o<'B{~Fx=֪=Vk-C8>Z Oir&zp;}?ΝᇦTcOzyՏ uj e퓒 ǥo)%G[ =`r9Z -F}d::"뒸y9sƪN#Jl{aqP<}9({\u'c۱ZNr{i-wF 9[>ܚ 9F3)5q!?j-_'8Z/-)ڮcqG+iԆ<(b3 # Op*q`^rO5a6915)2xgߠSBЎ3s(j%~N<y cۑ= ~mHL pFO18#i_qتJ- ׭PYsO̓9Qf-:]0AʳnKB!W`cs^XARV9bۨت_~y3jE,I،8vn2@p20߮*%8c+wl'%E kE?.'p 963ǧ5K$lrN~܎湹1'#9zSҚc=}Uс|Gz} zO'yns998[Qvc'Wb `xzSZKC[hh@ `.s< cۭfF>qOmV8@[SBle$NxvAK5k)'qw?#*H0Nc8bGl}xy-m۩bOɖn>PpN{}qV7 #8?{_zzȆs!S+$*@UP\cш=A|(8 ;hhIp#CqpztȬY(PXp1A?k Y?"c5%f>l}{U9>pK~ltǩS-Mc HX@מ}ZXǿ%-,y۸8P ATn.XmK|G8~⺒f]ڍ \1 uœ~,0\Z**暦$0@W99bzVإK8Sǽ2FP1 ? FsWn9 69l<ߘNq}cnDUL*A`Kdq/B;Y}?`'T%Gw3RɿRpߖUr .|,p3뀪~TKlwP*ś ]=>V\WՆ|+h\8@es#ҰdVU nj7fq#T͝ʅGJe$[MR$aT]b=)W;<֮~>^D"9lPNB ҋxpO\3}(_2B.IZs9 w d&#d9OVU4yW6OCjvGEsgFk%XNH #jČ=Ӧz59$8SGqޱ=T*mv 翧WQMprq tϭqTtiPFszz3$68GlK=J9[vg x?m3q==?!ZV%i._s9z N A89?W }[q#IJ|Ā@;@?ʺg 0WnppHujt:^Xw#ۊ G$7g>2#6 :P=Ս9t 9+C.;T?jPRB4 }=+-m:q܃ʆ6H;[$8lՒgq#i}{ ナ8y󹿺#F[YtGCԐ};N @^t9~+Rp:|t}05 V]Ly#ǡΟc zsLf@sq;T;sBxy#?SGl l|ml7LfR[-W8BOZ[C_V '=>xS+qdt=ҩhpA!rx9H$m;r3V}S:@`CpY][9i)5.x ܐ=39I$!秽`6 ^St59' (1IACY{T;W'<TG 3ӧU8#4!c?”FdN1lV:#zم889/T)aq@''rjMG;VSlTSS;p5E&s{i^5ԩCn ;a1r?LVy )hggYe0uk?~i jvA@^XluW4iec#mLgN{Jm g?|k?(gJg1z/'6]fHVb:4MB'u׽.kX%A$d_cQِc׏ˆnQQFO#ϭszs@;7`%,qƹ#z5-.Z*q1~pv`1yi]i*vG5s3Q6v2 }UieHܹ  KM4vnq%ڼSU;ŎwgCJMY-#%=[%[㏕Hgc6Fg8SPpOd}8ǵP2VbfIy8B}Z[L}kB` }yHh>^@  I#k]-!Q^3w!^AaJ))r1);]mONIIAp뜅Jy )ǡ tqUvvD '-x@^Ċ npA펝zU)^V~KM gN3c}Oj-Ǖ+trs_I} ̏/yI''ֲo!ٓa9:?fy$x叜{we =MiAKBGsoi*yb!O?q]N0wĝ)=cx?U-9'rch;a<ӯNp =i_e7bG?.9y秵N$j9v)3{T xƇ7rB`u_gwpsdMA0rdBۍn^4c.R~=0xXIcG#ׁIhҚZ'2[$ jĄ l\3giͤ dpI9=sT6GnN~azTǯ[  n9`6ܜ<{SWd&r}0CМsϨfu܎q遟…/2x20sIH';Az}Oj2ŝ0nǧo]a^DQJs#9=v0E|ı^TP.*!x==hZ-ܥ2oK?w9i R˖;Iɧ-} tqڢy8>JWe@<1qJd|8뎄Iք&M|.HPxlx50L$דdU'r6ߧf;S9=BZ"Ibdk%#i}x'k$z1ے^jY?G02!O\?4zt nxvǸJ9===3Tq@RNyB\nzxTDA>U=~lPp= G?{*Qz@#iԢGv\㊐q$p14㿑,"2[Ѐ=zG9_WgD8?bzs '?>RэX@'@2[睡6+˜z|=N8&*Ϩ{w3{g8hhh8aq zy8pOaT]uԩib#:8U`r{OBm\+z >Ml]eE r=' $I'$+Ƿ{EG]xrӹ0SI瓑֠G|ݓ,@{zRTwbu@rW8:t 985quG$JLE c{syA~M>tgmJ#RqrrA5m< xw)Iۦ$V0;dh1N>sx9n:-nuU bq8(?w;B-ܱӏaY='1샖fA\m>l3 v>U u8ޱ5"RԮѓ@9f3#'I&?PJ&p]9.7X dmx$:v[/R'6$)%I3PːH}t`wIg'>R\00lW'9wxFiْJڄI۸sϿjbݣ}'?*O#܀p*HCPzk~&n (RO$.:#z[^1cw-$#8ib!Z Xsx㰭xC=eF Nps0?U@Rǵ2Khێ3jzz&\3J:ͱ㑌wWes1cbr'r䏛 qӧI6hLQN$$׶8& h'kUgޤ&S'nG횋R0xgvC@=aUib'`Idqҿ̥kX.,s/#ЗVg6tNJ0i9OW9iY"!Avc98m%NpF;uXI-MR!2NTʓ;y8zjhnI2I?QrwpHG_ӓQ6Npx#5M jU*lzpATz(\zb= ucu>Ctʂ~Pz3OS0F6j.Y 8䜀0sONIԂ:'hi\z8dF8Ʋ-0~9䎽~yc9PdK:=\A''=;_%+N2y>L#c>UFUrAlcGtYo\ }7$ؠnH` l@݌ tU%B:qQt&g9zRV7 ~ u$ '{V8^뮚Uھg5Jw*)'$9PvsS0F@pl LbHLsKw$qp12:Oqi52)ny#>M- hInNqAZͭQJc\g1:zԛ7Ipǚoa c隴d|8;QS2[]>eNr:0>@"HH'p#2ۧ~(NF=ShkUA^r7Lʟoz:zRJe#9=i}L9Q-3Gvtddzt[VЂNT$\$dm8韦 '/Zh!wr8 R,-x$ۯfA B۱ ,9>zwBy:q iKЀ!'$610rsUqt> I84q'vRiݨ#'מEL2Hc!g8o_٭|o =L }jk)lPz{yl_e7E+.obo>Fng n2J5- 9$p=g{_Nڑ@ ) cUxlRkOm:lT66>pwz 緵W6띫82jQ%]D@/p橴)qG?2/#Y~DKo_ o xZwHzoM/c%vN8`r9N/hn0OmF: vձ:aT n8;XrcF3A zv!$F2'' Lu֔xu#;_z橆tPe/€䌆9aSGU ӧ^^uƭVzO'b`PweO^OGZ̯l,|9v+1 rzsӎج*Ӻ5_+*0 ~;@T9J࢓vG}'ޠ$GaVĺzv j160R>u j%3>Rá c꩔Hp8IhHyFy''Z 1qz}*_J"$ӹ<Բ#Nà0[ Ӓ3;0}};Օts,?\֐Ѣd&߳$rFڜpC0N8#Lf-j!c׌ԎNFG㎕VW`G?t=Oz%+Z7:Qpq?ȭ_:+>+/CVDr~GVqR{fi7=*<=y5]8emmJE{r}^Y zքOJ<>3;y'Gq5+TT9҇[Rm'*`zc]7}ch1 `~{fxbtڪ;+Oۗn1 d# wp1*9[E)6N 2{]Y#>o5(>ݻס?Ϊo9A*(wcWѣn2zn'6U Kq[QrC0yv8S[ ^xV8j@Aߩ׷5P3qzL3y|8A`> 4c6ѕs/6z=6ڳ =z_|6,FF1ܐ2qާUr2GB2s~N;5@?_^ w߯ךUߥٛzX.CCsӏƹU[8xJ~W^)i dlڻ 8(yɬ*M魺R}9g$XX3ؖz+:m ߔutIA֓w2#?۝uWtsੌ| q܎ uĤL|<)@; =T?H'tPaNv0O'zF0[؏/jh~qҫO|!¨(~bN3Gc4`#ɇ c+rwcVOLrwS68%ի: Ǐ8횀̣HLarf,s6Tu?ʴrl^ dԦy@y'ҒlkO+pv& 8)5}wf-,ԏP6ά !;w!=*WZ#3~;y`ߡ>G^mzAtj˗a#wCXt"U/s׎֘!1vI;kסoT z$,9p8oګwb^wxzUrN08g}2^2~Nю:sG8Yʌ8p:d:Lkp;S[ 5VQg8 vϭi%3r|tN3޴gJĞc9?LT@'t*# SMW˓$x Ԑ6FEsTnI#tg8'>oڳ&4 Hrp:E@e+{1Tjc<cSM+c >bc Ɯ6ݷqjD\}IAsNQRwБ{t83)^v0m]Z Nxpǥ]8?’ߪ[k!q:I)lϩDowfpOx:gdzA !pW}{En3- |q%9 XF?)As7$s2# ю9eh:d޴z8Y/Lk\18Vrmɍ;c{œzؓߧ|6dN64uҢUALuISsGKN 33{緮qTTd{RrUFeK(lu'YefrI: FN:uAp*zoZj|wgZw6N~agvְv$r@ۮ8N-;֝++ֶp{zqc@Kx?ƚ] jY'9uSOOO3Z)+#88xǦ{jO7}ࣦs'i<6?3x*$|53tF{UG,dSV rr:aH)I+^TjżX#pq܏9rz83Klsɴ#8$W;qvK7'?x7P~|tKQ%W:X09;gݎ1Phg Fe>\z<N s ^ޙoFO܃@y1qdݝYUA '<6 y N;MY6Db۲*- ߒ?ȫbq*G@ '#8+>W.s6dgU)AfQ'<ӏZtUN`p0QqӧZz'Nj4UrpH`NR6m} w3cu9U)Bۨ'{Z\9 Q92TLۙ;{dzۿZU,܌L:.s Ȱ v qG\bpu3ӎ55DZ flQR-e#U F0AZv8qK[q;J}9IXrn;wGOάyP?;9 qR+< s֫::sӧ֭($gA1}iIG8иH8>85h>>>&c1s(!N>Qk Ǯ=)۰1ii?v@#O›b} :9F:B8ǨKvO8#8`xPW* $}?ʗ9U 3=l{)Ih@@ҫ=3?*]zu/sLGW;{\+cpk rFJOge){#9 $pEM#1 OZpvQky$OˀIw\³*NLoxXIriIh fq q? XpyTnKs $X5$QCړEw#Tq\:hB>}M$싿f0?r5,vx$@'G?4=#>}y’NݭIӎ?VŹ!~emI9v`޿)Rtv ǑaOs7s ]rswNTnkOWqOB|zN;g~nRIө#ڵs%$t߻xF} 1qۿ4w&;C==2*Vc M3rЍ%\*0$r0)>*6y'!)&SɒHUTp x=qKf'=H8_^R&ŰÒv@AiƊ9)jisp ʣ?6ݕ$d(6K~K䜀1ƭ0K_I$rzT,G 9{3dS< s8Gs~ufl$DS#yݐAҝWvg;H8Ӧr} K`$CSl;"b22\3{t̯ x÷\sEh [;;Y{=\m_Oօ"Ch8?);N}~y呆ܨ@ Č ªX{`d^z{犊U89##tW*Cx-t[KmA+e;~E&kGj11ݏτ9!}F\I,Bl|r:+xYW.p HdArXOF:Q,x`qooYhSzaR=>Y6O1MswE4b8ۜGMrٲ = !frNe{"I@''UYop օf2]>..\0>PH99>B"38f\Ӝ֭$mp8Tkвeۅf(< cQMǁ;g=rhzoV o3?^aPxϦXM]h1-I'֛DH)ב*[R8c8{U93s߮+L9b_l~{TrJG :ɭ$G*nFў@$c?i\{ʓFIE}Rۦv} 3{};GȒ-G$K <\n<lp_gzb@qZrz3;ps(Ituۅ`3ԎE?>`:p;4;9g$8qj^m֕pe< $qyu iPԋ*N8{vVwg,\>k-nqh2'q:r35#`3_ΉmE6a>by㿧JMwŻj2;vXo+ljj"|Jv p p' ڿb:x>>\q; d}xϽ$RBHx8EF`aǧSwKͩQ@p0y'uOqӵK&Nn:┳tЌq1~BP`$sS$*}yT\ps8|"ǀ9ߕ9q X2 Ґ"RwoG85 pI*Ƿ͌tdPz*POZR1`4&$qןAPpy8zNjZuRq|=A=!Ǩ<pALd`$\$F\'tx\?Wx`uJm}<`G5$<nsҜe*3$a1LTϵN;`PQ&ߗo c`9F8RR~b? pHqJg<3S.LU*Nd{򪣐'8&B:tPpqϵBU`(“l{9"qcbI8'G*@=5mo `'<2JQlӈ{=ɧ!H@<Ӿ*7s8$O'p8p?hvZg =}q׵Xs_JE8zSבӑi"^ u {>Uw:gNj;%p׃En++Jndeb@r:9RAAwpx xԳIfHR{gçֱiccRBu+;=kf['j;n@+Fr'j\)v3qF6QˍÌl2{dVу\ G!vn=1Td`lȼpv{P1 .yܥc:xٴNq}jcSW= 5!N,>UϧGJA䍼m9;xIFp3.h $d2?"1M'p<%F0Wa˸.p G.ʒI +d(;@3mFIh..T9׊l[1JN@S;hO,a Ĩ>Lj/16ʈ\T+6ӷiu pK.9x?ж1%AV0j<QFFC?Zka"Ew!V$fH(*l!X` 'ԯ,dH!y}I#$))8H vT$KKR9J^I Iw"켜!tAץHr]FͪGjIkW$g!ee}<̤0T eFU΋q2lD9h|H_ OPTu5/ k+ *Nn$ 8X)cR$qMr*h,>l*1x 'xz!%P{x7V^$1;rAG'qr@ b2Kt9_®23$ 00pnsqqMjD3ghe9*A@w 5$-Fq3)y]I%I(9!x%i?ֽ,/b𭹴Νx,2/'/4XwI?s\󎂮2[ّG6rx kZ^/XP4~ܻ*wNڎƒ@~VSFqvݑ׏JOcThKQ;sWCPrW`9*17~ŽE\Fs}+P^] 9zw Tw3<0zt>bpJ}gQ('qm"b@>chA N98Y.BdA'ElZjY1oS䲎= ij@Fs02¥V~".A}0}}'ιH5?J)'#>yPIq}t ,\aG*+Sq>vasSj+3dp@1x`ݬo KC/@z JaP~^2 4Eg>JIcg W%|,^M֢`snAQp2J^rAǭyU)6S/ru)71:ϗ}<ͩ* p8#U>~ua<׎_3a{`AֳwMV/* `2 9Kr8v ~ONI6P>RI'eu*F?,$x7δ# XdgUЖYWH瞀}yYs1)XA'+q=_G2;XaYʃ]<3(ۿQi=SJ9󥉶$`<=}j/x洏MNv=4ߏL2zl!^;0}{UCvONc;dXi !s`*PA~g޺VZqF_ҠaЎ3 g#8UC9G*6XurmxeU02r3P #p9zd ߥq8~KS^t:GʠϯUH"1^Czr.*,jOPv ;x=Μ#h2NW<RB,=1?SyNyڢ~Z$ לAF~*~LҢz `;O? ~0p=eԖt<O/$ =voojքB8}jzwE!qAlqsM'Z"F`3g?2xچ4hqnsϦx?Â;Seo5C??PǨ>dQ}GmJ;B3g9=tO`; qtgQ4t}ɰ#{`{S7awu)D?)9bÑJ| Qbd2Sw<㯯聉#HAN=>ŕ\`Ϯ{Lv! $6KWzӯnpppB~߭fT#q szGYr1߮1xSаunOװA '*94.79*\aNy= :pH<(Ð3 g=ѩVEl;?)6z~5 h 9'03Tԕ~Z\D\ `91޴tOelPZ%&27tq[$n9jkK&yI< O>٥^gGX N>c:*2Ie{$t's)^n]=x&P,>P[#lqnhA-##{k%ɜ6N1zsZŚ6fmT 7nA#{m }j+uXFŇ?3r Q'<ӓEӰ s=7˅*Ň=4zhc6ȼs $T2n ~` %jKH7g`1ޝj7ITw$=zP6TghۡՑ$(p7`CHq҇Ǽ,imdׯ8"<y8-R zg*=O5Sw8J;}xM "P+9¾[:֙P ΫA$qמ:⯧D 'y 6d1"+કFH=Ϛ*|ؘ<*: g~= *lF psHMWA.@cO<ÒX@ž}hEcF>a63MTm]Ih 18=ͺN#pzvAg$(FGPzR1zm< WE*y5fgn7rW9yU}n["x`o׃*z$^xk_Aov1`gi#ۜ9L/؆Atq v`cZCퟺ{ KуIVj`$O?>Z:b}nьn*=_ʫߑyе"Xq3?*KsxnIJӠ3E1ul'@p{rzDwH7 UGcgzΓzztݕa]?\SJ$ =m &axF=Kf+OQ)Ce0;^[v';x8 81_ֵK_QTk,vxWQ1ryUJJϱ}0$FO晿'n8ݴLw:ϚMYu93Oq zQ"#mێקoqTGOLֿ3X= s\{3+UF1~ Gp: r:'4GR0#}yD=`'=?Ҝת.pFpB+[r\r82=qln B(.39 =s 037lzUd}9mqžp0z9SZpO 8> 8$6p;* t֧ns]"-'$'d}9䎘>-V vYe c8#kj'ojj;dcz J.\ OLz{(]f+$g_z8A{v :liD@׍.q`4cxH*'s>VihdǷTn(9wk].y =gҺK;9ǧ>VZ:5K|9ٕ( e+_qsk\qط;XǸk ҍG dJ=rRW89Ip99?IT[?>OI3y&c2\@zq׎J^`F2?j/y6m "vr.O HYq%zM0b)KdF`߾1ڶn6$5̷S:}F@d )^HۜU7wE$dg|2wҭbS8#9wNIL&]1q#OZϖ5f=ʣx9l{kt7f6;F3Ԝzچ=)6wp}*kCY #9,;Pz#\|I=?Z ]נ7#Uc r{tJ9Q3ztI4tFiG1-c(-r91=kzrjHƵ>TigA=?j ~bI^?Z$vrE{/$v3t{}G=dwu yg)fۛssCWO")QЏ{RusvT(~v$sϮr?,S9<7Z%di< 8v t7@NAR+yI0zUdČduǿ{U8lLX>>\wlzR=Wh89bwt{RQKͳ.{dlJBz`<.ǙLsqYFwRnh*T#p'#ךҊ4\*y8:S);h\ _lhwtWisJ!;pxOJ`mqV\+\n}:mسm\u8z@ '3>qښ)Oq FuX1VQ@8Ƹ{zZcZhdL[qۀ~U~cSR8U;1\~UH\נi̸97dp}:3;Өb:20 8J<co_!mJʎ0 =EfRY/́=9#j‚0N?zKԆX gT=1Ҝ&7=9?qxIyHG韯泋UN#8#-ԉI1ܣo 槅y/L80*zO8# xiҢܛpz8r?6O㔚rdtpdsfT(2 |O+Azgsr{E 5kDHCF=1N8>+Q$)=1dܓ۵GݎG#OLD[z8'Z* rA{=4c58~n& nua_ERH=?2&:ckJeH=~^ߧzٴ@zqڽ|Wķ8 a~U0s5sv|Bx:ש4O.-2^X>}*(,O@6Eg+7ʮh}mۄ^1өz{Jڥ+КU%m1=:{;c-ɯ=S[=pjPF^=tOt9f^WVgV7-#5ʗ5KyPM1|.[<&5qSJWDG;*H灞$UJg `Ɲ.Wg|gt^Xp+ۧRҨYoAui?"-H 0;#|xSUz3W]FЎYSW!3&e]܀e 8ln8?ֳtFԴHw, txɭXPr{8=u.^ad:cJ)|mgsǿ#CSR~*ʇp8#5svH[9]@wA*aBO@{nݘ 9ܽhNf6dկo u8|g(K+J#1@(#VI xkE&3TD7`/ܑ@)C^ɘ#c=9#qHCQ{Tƴ<'i1ןO÷Z5˱眐Tt#}*щ[$>(0ʭlkr}0: !,>SԎro.$Fi'8~ZGcͩNkWuF{ <VPt*O(d08 9ϸ@8gK95)sYXEzg nOQI֦_ ة1iE #I8ǵR2$ 2nѷ(FTp3(]UFNI sBa:>l=}*68SÞoS+ kN7c<sҝEpwOM`-tК=UcY:g$^GI$2⸻wd@Oʋ4*G%x ;4UoJ'֖4C]b'ib2 q= )pX݌w! wąL:hб1tPe!9@oƚA"Bv*N8};T#+>*>Ď#npq:UW F}q4ng5im duܧ0on~qR֫9%а% mǶqUպsHqi1׌{rw/p@H rNx-*=?Z]vj;Nrnqzux#8z.+Q( )ntj?< m/W;CM$}sS'#~ǵ7f<^3:.TBB `/ɀ?-ax=x cgJ.ӎ=rA*Lgiaz-ƪ#ܸ`w B<gn`랔ԴD0}0z`qI*r{ߟP/8$|zc5`w'ON~3X:񜁟n$ r@$z55^Én898'sSrBH$gֹﮥ0ٞA*9'JNڄ=nx xݒd;Ox3R:?Q'4Կ y@psǧ; mqzFZc{zӶOǧZR~ﻝsrh9֤@' ) <։|FT'}2|pAc$~U7Nx<zv?{6 ?ҟ.\9c !>9>_ Fa!pTzo㞧Mk+¦:`慇 i=tCoQsRh\t9;}~{>ڑF  ($_zw[d ,Gl=2)<BAb:¨ 1+IilTM$J2>V\p{{*_qO$chzҎ&C>n* v$q{V]?Rv>Q'k6Rc1d_7g\a\j3[I_4R%Xwe2i}Fq#9ީNAc#qN)ǯNOJ+_d8G^q#m!DęQ2}Ml9$X9_SIap:[e]a+"EX) ׹4=M+nH2 {g﹇;>N2rqBzs |m+yޘ,ł$+c&Tp cun[vWІ)ʝ}Ht'o~u 'OץC8$ F?Ȩv8^zӋ6U~m㌜t>SV'Aiu,1ӚwC]HKd?ߧoƛ*-צj՟[8Nq9j5Ab3ۘx`{ ij|u8<`کn)ܮ}HQ[§)"^~Pm7<puyMM]ܵp~򟘩C u#pA۸7%G'lNDؕ0%XC:dFgl{{ "*EU];6ͻFq="㕈HURW */m:!' 98#;XfV!2Nz䜁ZҜ9mW/8OAʣGbO#ܼˮFA=HJ&o02cv4hϯ)^_cK^\79#*r^HoS$s Ow ~KsoZ j >?kER2rW~7l; s=xx%cq=s Qh\F!TsO5mr-+.v8#;"\݋ 1\VF _6ː10[+at,w8=6v, tB"u1PXYS1b6O8Ü r:6k>HC1l~V0־!Z 8$8}fxzXO_W܄ŵH3\'zV{:w>3:}{TQ%GI9;qLX$p}y%sE^HPd|'?ʟϾ1?.5n]~0F#>U%B95_]H}Mgz:y9c *q&țjTy#ISSw:`x.(;7^N: slr\$58o^=sO-b")n$`:W9;դTp}=Hǽ.wst#'WoEAx9UL@ndp};Ŧ(PwĿ7_lǖ>\$m~zfu靤FF Wg?(Ƿj-Ļg;S7t'(3pűk*~C,`x*0@8Vq&CFvx \$rHٻsCW 'sn#q1V}{G$ߚlrY<OGa^,)觠'EQFl?+w{T裦7qtwx#h韯ZzTw“ѯ5J 6xxԂ8`ݱ8gүdXc9ӌzgޥ( grd., 88$xFRCn}rkY{U|s* lo,} A#ڸ5q7r7bvI錜99  )6̥~cI䁓#Ӟ*yysYEֆq• 1Ԏ~1џN3ޗQB:.3 3ry$ʫ9 ?.mN1C8\Ӝ[xZ5VX>N=m)+X\†XA>7s۞f0{Sm+ $$@emᤐaPR.jw2 |¿)6`!Si^݌[@a I=ҫ};qH'wa';A`#=*_&F݀zKI$9ִy.C<.w85,YpX.Wi|J ^=Js$j Ę$($tSaCfF2wV>c U pk!%xr@'9tɶl\C)<1Ȩ)PAm!ӃPw*>HO#̏fc6;p~'ӡ4 EmRBp:p:{'#vݎA=iaV):!3C@#^Sa8'9~ʩlqeϷGgx siV>(qw+X;'Ⱦp$۞)Pc}Hǵwӯ?gX1;r`6H?ZMOֵvBPM_9ާ x0,9Үm_uϷNyuf.KdpF~\O3;o 9觏}9R:?s9RW&RFP=3Hd@E2zVOkzh"#=h1A2s< i_7CJ21ܓ9wx بKVc Lq N*@DX{O cheu;?*z Ӳ8?/o_U?0 'f/B⋱moB=9s}1WÄpߊ&IחՁ`~HR@ÐO?ß->"Hӏ_jژ q8 dۺ4.8aΧ]Tn\!d'NjrSб1Zn:n\=)^Dv$r>eڳsM7CgHTخ 00xzf%T6*\2>N)JZSH= E0*ÑZʊ 8WkhZu$1{~y2yҝ3 ۃqqTNOR@=ҋFDDݞ=r{Z@ <`ZAerrܪ9SʁGgR:NwA+s搂I}`R[H}HYx|Ƿv=<Y7Jf|?$8$5j'~]) jyy s $ 8EfijTw7ӧZrdq{8j,O棎 y=6"i'9v8N;V|̞R#p{p=E@QAqjLj9:p98x沦p= z IVtӍْI!I=8<~tIzlUm~;TRF)\/L9ZJrܞ@lޗ穩rKw#>?=k,.~z{-ʥJKc|G U( d'dq4ޚ|͖`IwS[>g7!(<FH緽e/J= Q' 'pO:ziz 2 &=0ˑ߯5~ae)kYn17wPG$ t#)-c$KmB6r}; QN+ǕvlJB rI-r9#CNzǗwuFqҵ}4)Jvv&*ژw]/6fp*nMz3eԷ# qӹ#$v3q^UVM=9U4VQI qF8Ue:`GS{/9ܮߩ=rQsڱ>nA;CoQǰ65ǪIV Q8' рvԐW_3CEgKp03ۚ M"n’0?R=Z^?sr-}ק?xA mt//qq،ܟ|zUa0=cRGB7grU{쑁Ӂڐ5b9\FSBgw=iI>J?j j_iBylqӭ4,̀=<(',>b,q-x sc8|TQPӮ>^4,Cԓ*6O84Xs& or115 IǽBr#2cЀ\d_QO3Xge0?_ZFs'+3>K7T9R@#,N8iL6sQkάiG#"cdq4TeT` K=_e1#7xF0I uyPH ,rpOclv8b랴m Ii{\0çAbC򤁑ʜv8'%vMb3zxbz 8F23ܕ"%wgvs ?H`|O?&q‘O@"0?(U\ǡ=k>oy4I `r : uϱS$ߏM92>\\3pz#b81Oӓݼ`rIH,c<?ZU6i\cs?me'tsI; dA׮@?WkqK.1pO_{-ǿ=N})sHjP+]r19hK4#s99?TK/ ȓ5q!``z3p`gsU7N^(_߿Syߟ$zLs9ʧ3m#@<x.g=1Vcr1Ќ3ocPIi:.lm#LTpߗc%-DP3>:Yzq?\vaJ 鞣ҢX(FӜO֡.ŵuZ*yNqN*lDZHQ0Tz-ݴg#0y8Z-pR.5b?'qDz 񝧡's񩵊۹v22I+{V~c`zZ3fʹrs'}+Nc$8$ft؁P}ҼPcfABolÃrFv\Va$ '5 rAz`gj,?>QdDZ"цqFj&SCdRWvAdg#L{>vaWgFѬ`|;GQ!;{'>G٘2LrUBך,$`:`pǀ19yuk@0s ۑHjl'Oq]0t<4w%nz63f4 # 9=8eNG ggsI g V/gz1Э./1 wq"c8W(rKes#vl3䍠sg'^s4$"myvAmzO 8\wlхi?. O\׎1CSdw'Or[oϘR1 iZy^?Z/{wR~`m'<b1 n209랦ƑvVXwQem?u*mH茓B|qZkrJXm³#%A9ư[}{V- QqZ9$ ;6}\`bg%qg2l8by}=Dcj8=sD#N(:}l' Z;x?8RلZXJg;\YEFӓuU{;4;#<6 0'UޤX|$zyiCm>XzהRuYzB(3^qӭFqMe;pAJԻc$cۯW< 8>3ҥGPA;:hK -~dzt+)ݦeL{zaߥF'9yjɖclA Nq3ncit3%nwU=G~y˥>wz'E$F<^Z17 29v-q1.~]ܜ6GS+RVe4r[7n{֒BO< iɐ;|l9j(gҥn.DY#<GipA'sU zwEidpL``2w3[iQb.qݰps~xk^ vpø_֡/*~@UH$|qg8S{g~բ2UWHhB<}e v88ɩPJf63Mwd Iۑץ-Fݜ}?5qfۗrw~%7%zv?N\˻n;0d=ۏ9wYݛ?68Q ?j̓߰"$c 3ׁH&aX%{C[|ɱ$O\qǧ'*OQ ל-A]gO#^y_@d&ãgpOΥz[aې=1ϿҗjG̤#ϩbAC$7?(0NÞJzA- g88l0 d :TM/8'?a>9' {i1r{1 8##:!J`H4b=r3>SԞ=m_ԑt;Ӱq92{4bc= gx EI'qГ 鸮W~8`=:e<9^>aӎ]H~þ*A0z9p?t=JZXH8T7`"KU_1Mnz:}j<LIi"؉P{~U'@WpNQܗ"܇ds^?OFwdms*R߱JCB1nFO<21yI4+Яˑʌ7@9 cl9@{pM]~c!h=>܊EI#n$RF18-0yP}=sӶbzsӭ7@r?Q[ rДB$/p~aL9{X\f0y#?C8$tNC:q֓O[q.Sn£(WbnbF 8'j y=8nԅz9۞*6ljHǴ`cxUZ}ų'$qڊw80*I>?Z̞J~RS!#*ۏ{F /jsoͧdf e#rɜ88BG?1>r'oOsʝEE0>VA ?JoRy^[$ ic 1$g3y#!^NGz"` ]UbuLKd{sҧ=0*yAwQ'?F0rsʓ$dH1|pr8u֕+9Y@Kdg֢ Ď`H|zsT%:K40zRyqr}y)?R: l'aw42w%1y`N,H8~a #˰Fnr{c 36:W>:JtƜw?*N '}cſ2@ Щ S7Hvf9'zb>&엑YGB SS4ܾ/{cc40F~grO˅ss0zֵ?R5)%B; n N*ܟfƬ:#e_nB5êhAMs bVe)uq .8 y(]~<s(l5;㿥M%` 3S*]ALk¿9qȹ$8`=+uF=Ǧ?*@1$ ˻+ۻ[<X~npp}ºoăs _r'bd$xBzg4,Xdd 9> ǡ1>a<4G3sTT t~¸w;Vܿ {##Ty#k|s\mk9z[ߔܹ|I=vI5cxqٔ?2sW-T1gּ7 Of->*2xʞg=>=}K/&9Nqu)D^b?|*c;}rNHxď~w+Hqt݂G9ϩcڴU{M7w`p }@V~#}jqc} 51'5_r%}c#nf4.7cV d ?ZM((I$u㡦 >s$&|ױ=?Zw0*98';Y̤xݻsOzS ^1=EwbF0IU;{ @8-ym;׎sznGA qZ\x`jP<=|SKO9)+d^*N[;Fzg:۷ARK_MG |-ck{qTp3)mngT~`嘏h4Xv2p08>{ OA,{ONz`>Z} 1Q19۷>lg0IX-Eb܃9i*_ZŃ{qn9ޅ+29>%:'Mj͖F)?= $% ' $tN1v|cǀ)lfFL-#O#[ =}4-[lAԜ?)9GSQ_[;A=yP0@$zsc\D`y t9.D+rrA3BԈJ-l'*}bveOPp`mTdN~\3S`T6>> O֢r@z󚗸X#*^rORpÓ3O2( qӎ=)nkRkϡZy;sdz֗(ln,1ֵSOPUCٙϡ78\'R'1b;Y=S!#>u 6tQN˴@qYZ|cО.:֭ ˺@N0qڥC usRecUQ9Vg#{rp0++Y3LVV0=;0=>UNwzyMv4H8sUq򁏗Mܧ 6tg#܃ڧT @힜DnK20:p@Rzg%g"o<uT*?9Xzct:J]foq#9+ӑ35>Q]$Rtpzz5K0$.NQ7ğj* 9#4ƻRulp װ)r QeQqf'rr@V+I<|:V.ZF7=*7Z%~RG [qQT+#^H#3=D%`G,A Bk%tm0D{gd c$3֍=Ƙds`ZQps1I*{0'}?TJ}Lw&k+)R 2FOB&3?s Ke lnj\#y9?OʚXbb0F8rG'+28{ߟJ-EOq׷^ۏoG>>ޡr4# s2A֭8 `آ>zG˞qӶy 01QycS4 d1ZA Ԟ}>YSzفI4n _/H=#~ҚmNipR:p~9K|{9ǷVk[&@Ss~PFj?;eEئQ8>IqNԩ$5!hvUWU$sZ@U <i:R[&wSzTOWrĎjZ"S2 gqq5b >l0 /mٚ{ /pF9:Sd1lp9$~ 2x8p=G֫<xs𤕾=r:Wb zg«Hzn랸My QͮIqq@*HUAOOd v+gck=g#;}UkyomF<9~l3~u5fçw#=y?Pn y$S8ȲH<N b@gsg2|n̍<cץ*{AFy:."ʅX379^֬#9z8ߥdՙN.old_Bz 0n?u@PyW3QԈwNtXfBd c JofU) 9RTrq=zUȆO^NpLw7H_B=0xm;/3n8=rb]g# y< さ:*F5=䩒'xT>d?*)n6{cקȔom=6z5=Itn{+TċЯ'x-t!y5e Xx9}Onv+$vOZ5-?3UpW,|p3ӿ6y瞼q½}.73qmK|܀:O_qvpEW%}!wA*GJ͞i18sz})<$Z;-t1QYpI?{'צ nCjeߚU0Z]\7O]gP06}OPHT&~Fvw8|cdsU0>98nڊUV.x+ʃ ެG$q +ӏl[rDjːFNܞzkE吧9 y3զi0eFq+NܲxvoҴvw*m㸏o]G=9x5'91Ň0烏LHmZI.VXF qБn&e׌`twԦG$%o>p1x8ż<3/>\&r?=;TTM7%~6_y0=t[ dV y*W+"&[3=69{VpE +P g45*\󠌅|rpx;w憽~ Aj.es40n2GuB'=?YnA(O vv-ΨSK 1VE;:eI!6r͞3lU'lM[w#={iu˯aianp[=uBǯZZ܅Ok3qch LzUCG*r˱#2GN_zLŔ2;ۑ֧bsu^M̞9 .1AU3m Olzm BTgn1?^,|P#i>ߕTtI('O׷Zlcs0GAE%|=zzR | w^ȎF3N'ژ ggS۶ql{J?AgUk\֎cEſ$=8icǠ,=Эݱ\0zq׵X6p98L!Enx#$cnz(Gcϭ[OR\dž00GJ_*4@Y@ny9kiGC4vǻ$o# Oqo9םR;&˷Pprs`kóu$Nkta/r1nֱg0}|^"<_]7$c#8[<ǚUf\NOLp}f6`:>vtRssϿ8O8NNN2@=kJHy%yr8=y3$N~ `xq?Rm*ɑxq%+Xp7}Vܻ o@:iE.Õ9 'm둃V 2Nt=IZVqD[g$Zb '+RV#%NrHǽSm郆^UkzwI9:۔*3ךz, xޤbq2s`궿dr`{sPÁ31;qC(n#?^IO± î8VS9n^DCOgb3ȭ,s-nV nsڰpY‚>bԂ]F*m[ sSPKSx\ю-G_lq##R+a1Q#_032*s1V8(n{ҴQzjd2Pv`r w#O^V SNbblAON1iXJcsT^&P[FF @9;A㞤޵ d3>^:~T_xNj'x8oΰ)UJWf >Vr zv0ONs5VTD) ws;1UU%?~qIZ0e9 ztOS^i:t֧6/< `{Rqv錜oĖSi6*ZӲ~4A~1Օt' 9ǿlҰ= 6crx9ubzs:gЂܠq;x)8L?BH5@z$O^{l^t㯯Z՘tROluarG A8Z <`)FIrz`9qqס kgoЯˌۜ]ۈ' "Lh e'FN3l8:K,^QWTK1@09Jϗ9o]sg}? nޔ8Hw֕.~G#jyCJ;%H?(B0?ɩ \݃WVR|,~U'^:{ԟmo$pzwrycOBN2NOCz1jr1Œ/fsGL:̓(]<2^J'ۢ2&89<}jstI)}xZ& pqʨ:jC2* p98i_Z} `o> p+N>B<=?;wqdNH:}Njz 8۽Qqסaƪrxn3U?q(ݮÓq\uUo$xo\g&iq| m.B11ׅ@9m+WϮL0(t;߫{9$<׿l{S7zB@8Ӿ>ҚT=yR MgFr@m=3N9$|>T_-Td'Zxd T+ DZ=-szcpی$U8R>Fxht#P`߮# :/Q Hq$'aZTlwoέOU 6rqy9RJ2{/8FH9ǵ@*9#9:𜑁[0FAdd>2C#ޥG8A/,T';zbeu^7όSPhS!5mPPGUECA'WQ ܿxB{]?n[U`p0~Tb'8+F6)Ա70B(Lp*ڰH$~R |g8d 3`HN518\t3^._'<UH:sX9C5f]˩=v7/c?*09^v '8m,In#n=Jw"6Eq@ pGjw uh-4x’7gZYaǻ GjMawwIe+s8O@ Hd81h,HTcLT@$B[0OO f+! /NA'T71$:8AC83A F0qƙ]l0 a@9#Wv9 z/PAYy%{S\F|Fx;p)3.pF+зlZz&QdXgu9z@ݖa^Tt#}OP`ʕ$۰rq֣9qrGEDLmFrG9p3*di3a~mGA%rB't wic8|))'VDvUʼUX1ʦOTM KA1[%N]tǥUcnO\~ԖUCu 6o-!rִ;<?ʥ6redB$K ޹zi ~ǢTڻW9ү`99ӨdV=r?ZTs'JŘ|Щa#֐ w}i)frwf y9=ljd@<6?JSTr]nP;r֬GQ!vH1R+],rֺ>WnPOOG*2IG8>s3;I $;G89S 6oybt=zTl#zdd(B m7Q#+H<0Q]6a̟Tg אAnRQ$t[b}Ajn\R@= PNg*A+m+EDfC+d1RRlvz96+)vNFнF;AQdm>).n#394P:㌎{isF\d䌁zVkL7r OV<3qJr7nB SQ')I7/N:: dzzRPxqؑRXJ >S88ps׸ܴ1sP݆{AKg~4ڤ#9wKy3OljR%X ``SJLJl@2~`j/^x=O [|ND$Xǚ`c?{FqG۽%Yh@S8 'JcO x_Z+pmGz2@=~?.N${Sm;ך ۩dU)p2x#ڥoQӊr9 OSUe^9;dBr{ґ'דbryۀN9;U2ぁ?'s? ^ ==ҬGHxzq} l++ +z=G&Mvf|psYIjߙH7cӮ8>TEc}ӭRB3aK7 n\uّgړv yq)\3sK.۹xGZFʹ <0RS?/a>#h#=؟CYm(nA ,F@l/c9wdXt, 6'8#IocBa\#.~Rqp{T٣8229'3ךI<9Uʌ03_U[9{S_*:rtVB.3jv?{p9:r9d{Ht%Ԓl[qG`6}j(me$zOJrI,=F sxK39jA,<'3'3TA6pTsLVpq( {vy |.sBt*#ӭ6R%Qxl?NqWaGl9^k7~Yf9xS~c_|1'k!a,'p=:cZ, H;H]q 8ޥ+Vlx8'*R ?&S[rANx=AϭXT s)<.[hr_Q֔+9xS?<Ì䎩z \xIBM%nY9pdx<=i'#Quո|k2@p˅O#*sm=NG`8R2[V9'q2{M }qJZ5"/nx*9Xs߂3w̎8U-627089UI$'hQ@oӭi{+z"{ːr2'rs֯Ŵ%#^I=}ƪFWBi6HBx1֚zz%MNFv 3?iE|c֜u2쉼rA9qQ }B'h뻿d_%w5b(@$Ӄ*M,v*0*0>gsFKsPqWEyd#)'v u~̴N:(-X {wV LRz g]4\s9SKrǧ$(:a$V䌎Fs묹$اnjLjqVe' #y@$anOaJMay\zs}}uPBtt'_2?w/=l{z*ޚ^>;o gU:>󁎼R?8z{+ix%/=u3HHlrO:}؛@8`I'U78 )'pO҆NNARy#9!:IÖ*͐s8(w'^- Ƥl1=s*ySkȄ# I|vđuNA8#ָ%&F~RCeB:7c1C}Hjd99=ӯ֬\qdmϯ^U!@#6c<sc=k'RQyWN0Xc<`js۰\玿;ht%`bGgZv\}t~oNP$lăo^ Gv=Ӝ7@-5r|Upwe{8'#k1mu!~na觓ӭmB6pTvel ;Nq|vNhmd;Sw`%EI'O2,JGF{ {׌߼“晎n׀j(%sӞEkrKqcpF1JiUa 3܀D8ݴUP\REF9ڤ .{L8dwAx3]QjG V?bKUx\4p(Ò\:\VѧF|[6*Z[P9c?#O3Fqi;֟W"e^k2tv#i#i#=s\vI`P '9^H0}z{X CqdWڥV3ґprjcYag%\1Q6W)R/9U<1Qӿ~Weݯjj6Kv`@-͐8 i-_F7+4ӮqJ-= Q7`۟-׎:cZV<9IAAϨU^0:gNzӅҹnP`w3Տ/:5P,Lcp{KY;ηrz]F Y :HLJw|zzp1ןCMn_2ž6zd#6N={3]WN)#*0ی}ӈ]pTEj*V3#9$+9yG>_𨓻v~BЕ!+srP{ zS~p0Iv5 ̧nq<ڡpwgs\Z qSz۰GQ0:`)LwpO= \x*Fᷠ`ZDN(rΣ˞Nz5fosOJB0b1::Udfo8='OzV< _$-N&z{xבM gwqއ~@<:R13P.Wp<|~ 3qޟB3 OS^?4-_ޛFb:rj^[А+1y|Cw$'u)i`ݑ"h78g Ed{y3'sӚ8yD\c,rz=dS\$< mAn_=9A^&== bԩ)?{ڥPO08PáhEn*q=2{멖b4rOb>e= z#P=ZeH>ϭNaq{g_iixOi3 1J7GwrxOƫ(f$g ǹ b2u$:{~ Թ-َzTI#>܏Z0W$0'ی#ҚFl$qtx5a$b'ỈXۧ'Ԇ_A\!^Wh^l#nٮsp7zsx(sI.V:r%p~z/#ҥHdyzzW$wUawp 627=+ZRM5Pw`]q #Ds#HP@Ag`_\ͻR<~\o=򬸔`8=wtUZo%wgc霭c7|`/;{u#029S@zp#h1n2yX Nb?<ؚw>NN% gkvY ({1uOͣO$dqCave5!A#ԌߎrcP~GϷ^LivBѰPH(x=3רFs9XN6} # g u$cufKua݃{\u99,F6}qYGV\D}I\ҨNzmZMn|?9{8@0=2O~+2e,n,:Qӷ9\<Cve,k>pX}M5=Sۓ~=J!'r9={AV!He'2G<¦Fc㍠__Ʒ/ބ38_# *0Ib POT|b-%oʒ%O#46"8\|@jǛđʌ8EюL,99@: j7#tZ J.Vewj" 5'#ظ3Lcrd rI=DiqJW{/}G)Ѹz46#l.:6 _b0pYW#9ļ\hoGKvIB@ǰjb7^? Pjn=M?~#9G"f9Xs=)=]!s8=ARrBHgp=?P-dJsSKEXO,I=})s?x=:J=l#$v9l{ǯ=ѯBq3SJvއt2h##ךقdr3T Sg9y$t=POL6,T >3'քv;K F @ :b1ҢqӀ dH~gnm9ݜrFx98pI:?׭EnEF`FAzQyL yj#i@8#qҫǮO`1ڷaJ gzq2„@,FPGaTpr>5#)P p(t<~隍d#(K 'wJ)Fh;2J8 ? Cu `\B S=w0sTpt&ka$˓I+1R;_jR S$8#o]ƶ噷)O*y}HǥW&*}Kj#hB=sUKu9SgjN <8 H9cq76v@? ̧Jb]~;9OO)ƤW}.AgR\I{UecPo  1 L p=)#> \N=?F-ߌ~Κbq$3 e~m \}1ϽE=g`A4Y&*9Q8J`6N`vӵ( Ŋdp=_^I @ɫzVXrHdt;`w`u;bpH1׾Qrqw`A56O89#"pc|ziOZMǧ5Gx8nl #8Ko5X$E,ǧ^5>\ s?Oңz䌎HӶ`98n>Vʖ=8G\>kaܝ-,FaN;t*crB,s/R/#+w`qcS4?iǏΔ)JϾl {bAz؟f+`c@+:LTOhd}  Xvk)T>`~ԱȤs>־ŶȰa9m{UY>PIUN0IvN )Ooʭ@  6{S. '9݆!lҠn`Z ڔd%Y@&Adt6yT#ϭh2VT7K' `=E`w`e~cүM`~P}xU}IzsB2=QFi=r0 g9)s $z>B,z)'phRmӶP[~~GN?.k0LyY~BBGv<֐w؇SN;qfX(!@r:FSw?Rh` Vo_NƑ>؁#Qh#ן\襤U~݀;3:V|rOLۀ:t%dj=m;_YOeqP:gb0vOFJͤWɑ3:)zmj&V#'*?<֯9;b ]N#t,rK~ +L(J;fDž'-۠>j  USHtE=*}rO2Nώ{t#Gkw3NX d{'ڱ'nF\ 'ڢVtӈyG7 #֭;c89*_Mj7|eg0>I;=1Y~v vs>Qk$Ix<rǥ$g- `?1T OwX p2I9dѲwpgz,G9cH#բğ;u9*}3Hc1`1UFyFx <?J+#5{O:8O=z~5*K'hwӸBrHlmώGzڧ8חYjTP1[?xSR!ފp2:N :Q)ȾS$pI V qSn7Y׭L%m,q:uqih\`'8dɱrA u#N=29y`dQ; - Ry#/ژ61n:yo iAʧ̠ O2<=G&#/@^9'S̀@=w?OOYN;KػhZi ǂsfT]瑸/UyT$gQ*ԓpFO-ϯ= @ )ݷ( { [EP ,a BH錁+*O@r ޺-4.Z1$o ,O gM8lvwx ӑK.dr8 pzU 9!pA& ~` vYԦ@a$}5O ǘ8?QԪI9$cI:c|*qPs6s?9lA0 ʂI89_JR7R@}8'z"ce7|[xqkj#2#?*>kMM|#=* #[sEݙ'wm{jݴ^=F}U%J:sqGe]Ϝ= 8^ӗ^$vLq*$z{WIiaP 3\1Wg}Ir7!vtsKg1v_ݷqEF[3<`k*rxCdsIvA"w݇-j$A@zp:Й̉ {UvtJ9D視 p6z` }9<~Uc9ȓ`ӮzۿSbr9N>n><9#Ec۽ lO+$u8ϿeMr㌀ҩ#r!:3cqG=;t z˒/`` ǽ5㍠'UC0eGs?U]U[Ө'vHUeG\66Pq78ӊR`px ~_ʺ)_# [rw*<ީ_fs9SD(FnSN8Q$ARIEg(0#lv#y=IFy`S{b_.)!yW홶8矘i^bo|͆͠皍?gs9.Uss6=}f쐸n9M!'$=q֦ϑ=+ErDY 0:nV\'Ӟ?y˩2VOcyoa+l!prrrEN8Ӛe  :)crJV.yRNSQ3m\GZʤvfWM[ :ʕYpSzr3(u#x+4HmoF$ 'ۦkf7{``m*2A wy xܡgqڴQ2xÁt8} Jy )o_Dc :c֪[\JWA9^Ӗ1$8wr/;py9P2r9'[#~n$@8ϥX\q8Au?)e;c=tBr7`眀F={R-hÜ `O?jXr= Ϩ?׿z IOw8w[= `Wlю<ѿp vLP ~.R|͎8z=2ɪD u֥@`9+Z[ro~)'bUbd8# qZ0E9 Oҟgb'+;/ʧo#=*ノ\IDUr}F}rzZe,r2Gӯ֕Ȫdp9=1j+va_rFsSM<{v3/9Ps[fI$'8!rN:ۥ]] 9c9>ӝntIcBݤw8y~q]Hq-v~X?T_b{5WuulpAP0IDیc<2k0v<S/rX^'H (\$ 0=+w,I򁴆tW={WgyqU@?)ˑ׎NGsZзϷ\ {4WF8\c- p W##1u\,է{+v#a9sŒc:Z(Z}JZ, ؎g5q& t铷^:9gNՔ 凡#sҮ%NDpq{+392~n@#gʠ移WJјB\`Gq }?Cl㸮IFյVr9c?s[i1T|}0iF9V D*b9uv}Tp9L?Zƶ =wֆ6KK,]Np~'oZiS8:1 zX+KUC7Og|lFUTĒyt?,#J{WonA=O!yqovn^*O+caSETrܮ<1+k"?)$c N]N6&j`5 vȪ-j B޸Sq=xVRHdhYyQj]#K.H,^;`}k&~M$\Dglק]1*njsX^ﻹv\8`Gqޛg;@9|{iqL ;=ZFz:~-S8]*OoҲZdl 9p +`uxMʩpFjO~szv)AGsy#*c1r{;խv"$ag1?t`H=|DZVՑm>F s`ꄶzu>zҳ[$9=rx9,qkEe#9Q}+*X{?z{֋S82=4 5GOHsWl g$އ3'hN98^T^FI㧧in(;'Qy#'@wp{g;zs@d(  c:RKrc pGӊ]@pЏoҚ[a]RyN27{,&Ln0: ؒu$p}E.DWrl!<'Qp3qu= V3pv(~V"Kw}iHiKpKB>s#=q^=&/$㌑T41,t8czyLpx?犎K(v>T-0VR;tӁ/rx$ssqyі8)nB@U5#i.TZ3"Ic 3N}MGޠ7cryjQרR u?=# lޘ;qE]:m;B3As=9g`698vrs"^ք;m 9F9#c8tѥIjT< n|T=Nxj$˃^5$pYHkZ=:g=ֳr|2{TsO׶*z>'轈$N[O6#.=?^>3׎qiv njm;NszbHTp˸AOõ5"A {A;`<3dQkhCc դc޹r*l+מ{ =5yx*9N8w7\dG8~[u猓Cc)2,ryd|c}q?ɠg~WG8FR >͢ qzsT1#pr{dN{eQ_Zpsu@ĭ#9 ?Ң\8z "OU'r>nއSj1?ȓO?{9?ƦU=:{Ҏzcs۟<~o*r@R_֝B% 8(S,*??*RQp+P2 Ş=&2*7't=<ȑRִ[5h.;8IRGf pGV19\z XpGqV ~ $ws[|b;|p8眀?ƴMÏm?x2q!cg\R#w*tkOc5\R7(!:CD)AL(,rAP*v>+V2p23+CE!뜎yr;R= A*J.7mn`Ѕohn#qUhsΚ/5ʮ>a zoy< }T{X1s4nn\{}(+ِ-c(qU33C ,-7usz*oЯ@I+s^JQXLow1뎼VQ@r['|xGR7qY2I lI0xSGwHc'A#=\o}D^8NN $R%l} r2(؞BLSߞrާ<枤Ic19\{o?gҴ_ KG`ŷF&z/NHJ~vWlcsR^d V++l1 =3L(w7VNW'?R}pv!)|H<ZO+?( g2GQO hW9N=OgG+8-}7r¨꣩'ޚrq#OC6 #păq=5- nn:g}Vcq+yS`]*eoA2Ɍv$sΘP9H,{MH4L1?0Tq9P 9=檽o,)߁ J{߰Ԯ-tF.U\gX8H;O9ϭB]JbP̠+П~FݫdU8 lunI%5-υm]E!pjh|}}y=WDH~\F  2~AC`??nC@88ɂz{#(Pt~FI@9'"xۂFYP3SzޤeUi(T|u)< DP\qJ"ףi]?Ȁƫ2k9]s֍}Q +"6 ixVoXEj;}S]TQҳ|ɚ E\^qp?r t5ݟYa@ׯRjEp烁6tR]Ą<֑GM䜒r.'8 Z/ x03S?zι7#8c]tF3Jz&cn + a$#rx$ CZ=cӛesxBJ%~R8 6ҩ=mInp~`3vBG1$v`/5?8<%vth>jW_I%Ux ӿVrKyo*~h-ju>H\&6 9'8[tc Ӂq5=ƶ@{1[ƅAn d4! \g>*7ʴe0rZОޥFI#8_{n#R%]Y ğ7s 97\wZ*[ЈH!Iyc[G]=ddgw?'h*_R[z'kFlUDLCPߺ_"rOOecx\GyXw{p';x 2d\ms5PNry''$@'jҞԙzg$txPObp JpZbv2@BV)3Ȓݼˋl09vX >w=?©_d9.zQ70:a~_rTJӯTa,dk_[$'$ [g,ө]gq?.1=Nzrxbx؀bv|Hƺᨿ36i\c @ @حs 10kG><2aH uV%bfzVv`p +OsH&9l6A:VNn?/˒`񪨗/ >H`W|]>i%-NWb bp:nMR8AՌ9osYZgUI:T}zf`L&Sx۸~[2|+?\t隘S!b|ڣ :m?W<a߯z>^__R6*p{3]z :U*12@>DwP1ң5- Ӧ)|qNI5OSB۞; c>CӎZzƦ"rTÑ? Η\D6 \x<՞ӹ~~('.?Ze󟗜sWG0~]s3aCC#:qC2d펣s 蟐QA#j׀vꄊ20J;*#^՘:(tiKiPWO&%u4ٔ ʮAJ~Ww|3RS9o2e{n+,$^984?[ǩm?OV~"$WG~M#yr9)8?\ИnE}q7p~z3:7] ?=18#3V tYd+o6>9#{J;A5Rybi';RqJޚM -%1!_v>cČ \RՒ$I#&A]| 3z?S'cg9)NH#8(Zb9?N=N⣧?B '(FgcUoOd =~hPt{|"}A<9<6޿JdDݰΠAb'I~%-;ǿ~${Ղ?䟗KuޢJё/5@Fz'rG |<lV {G8ŷ:wL2W9Gr2q1Rܝ09ڻz0RFUVr` gF9YXx3gcer̾9%e 䟠l܃>iN? `9,ĞrN? Ԉ`*AJp N9SO$*rF%g$A*}Ns\~ ]Tvef}+~;Vf#5:r@'V8|_yN=h?Z魆v=0)/h+|:;t=O8\v^I8|e{U^^VpNF>Qⲏͫ쿮|_:?~+Z{_aǶj$+BZ1pp\f A~]9"oW. 6Hnܜm'͟zrQ.(@ڈ!nU# gOHt'$w7G620'랤󚡓ۀq=;ծ#] Nl}^'sQ6j"wQ:qq'^)yM9<6?Q(q8} M8^aswR^v.y~eϧ'+TQ1קi"C~`,A#>NJ%lFs >cF1Pq򞟕LzT%aRv1ubAsW|22nl sֳ3?멮H،c֙++y=@-/d#6ϩ||8sNבU{m"Hym򫶿2?e O:Z~H_2 o? @X=xyi{艹q47 2:c6I<{gotRJ9upF8f]t?й Whҷ0ʡpzJζ³|$jqz{p6N1qwR32\sV;^ ;Ybz( gk/E8› ~1Z7NmN6~rFN0H/C[l89#=jnrz/RH,3v^%TRWӜ;51qU>EyPNry971$ZʏrMh(beHXG' pJu*MrLN8鞟ȩ X@'-=ۻԬn,|p8 ]Fqؓ3۽$t*rhC\#&LOjXፈʏsnrsVre'b١ڟ.2H8yfv>e6+фW&YY( 7qwQ1j[c 7(Y"FG󵕤ݞ Š\t'vjE 6qs>SjDnyFjFLc,ש(:{`qUzG4HGHPOőǜ*tјM'Zp(yT#a}W?׍r9R{$~o3%LctAgOYM͖OlF5U/ڌtu.O?ZOg^G#:gWo23T֒Tbė طvgE;H?R3 \U9dyU ݕ g{ k( vicVs\qUN?1'҉\H# 3Jrjt;?#K$]n#/q9c$瞼gt9?=Gnx"o?oJh:FM'@1 93UT`pP~jSo99 o#?{/D&eK 1jH#Kz&mm 18EG~_uGqv=:pְ!aez}u#1_v :bd h@5&9eNv穩_{_M7c"3`@5J * zϦ3Rur:9Tw\J;:9|=k"O2q[ wۓߖb} #S֬gcr/dQ'珥9\~:GT5gǟsT8;CcEDbg1V֦z/4"W1}Gn=n0{ʮ>`? =Ljh?7ݣa=b=2ҩ%2; 򻱚Iq֨K{c8a7mKL9ssTgz}q[UI!sPn*FqQ=f]swA֞=Sv>a\F_B c>s߇%{Q7<Jb@Њ߷8^@=&n)'=3=q}l޵9a](cN s}6_cNd')y#,:UPYI9WoK΄n''VMzHӷDobgCtjR,L .T@MvW*pI 89Wtv1Kra^lMvw@ǥjm8 }kr>롉sn@NQ'#>>ǞⱯ&?i^܎᪍7$9 5f1 fN<'9#8횮o|uMU]vweY@OsߓVbՂg#~DȺ'}9UGo9DTv?>Ҫ;C5 O[U'>8'ojH˴ AK_BsE^Gp:o_OlKЏ_9~϶~֒1[$6* ا'sִ4RY>JJE=[A%@ɞF PE ӹӌRdyo(ʯ`8ާcϹ 7AK"{O^ZoYH֛`2僜wcAgpI'R{Qa'4ebЌLu8GfY?.x[\97{yW;RuoRA.ʯ=s?֚z a^ Ͻs:ʨ큻64] .=95x3@gJǧ̩oqrAʞy{ C2.=8r<SjE遑N2Niet~O(b6=9ddǭ$LcȨ>F*85,^>Ihܜqk\g;r{ DH:ᚭ1*5hnpQd896zd0Fqc$rVZ&%b~ FXw뚖4]`sߐ oҦ}Yu\°QPqx9qJ׷Q㚍^̓ F#i' ~V$8NJKfLҲI8=DLJ~֡oos [A߁U&Ȍ8$$FZ2zy$$8N*Tf8 ݉ ysf2LTߞzGmy\=clnd8QSeX3Wy 3KlM"̲:0zv nZ99lC_En7v@K19`qZ1i^__e$f2䓰>#Y^N2vHf2&c,Ys8'h1Td֍+?OH T֬g  r FYs2[ X=N/}‚8` ~' tfB}W-ӧZ1g2y?(J{!̗h8 F{(k˗*L`!$n5N \hw~tI ÑׁqL`8c8ZUvB^qߊRvsҥ=>C! SƶS>ijX|GL rt ?uZ3eM kxtc|β,BZ<-# =!ضUW~>UXlBLgc \';}s;xTL\8N#v:Y\LNMd̛71)URɦbE(lٺ?t`<:t"iW)JwYwk4Ģ BD׍ ݄EC]#5S pbZKuy?׋낦i>\,3KX81ş&}?v 3:Мz/ΝYr\bP8Pvq;wίO'Ӯ:+fq)ٷo}x*HwњnWxuǙXveu[qGԞ ՁqB?^?WV5焻L%3kYƓxtэ^<4ګq ruoߏţLi'˓Lᎎ=VZ]ھپ @MH):'N&RoN<~5lذmA (Kv' 9XαwfZ׀~ֵO6L0M85}ko&O=F) mbRU~cWHUZk$\vŊr \ZnG0iB`Kųի4[e+Wf .VuL>rR{=CC;SGC7Od#Nu)ڕ u XABuo.<y4"u/.LZZk[Z۬{^rOj_ YG~rZZ,M3͖.W4-,+ahZE߉YpdGV*r0PYڹ|ڦjU@dPoObf4MJܺߩjWwS{OE( Eٳp|N@Q/^|qтyU'OvsylHu]TEEgHXefaa&ab&niBbdd|Ou]EB@p67i|^nf,`0ZAL2+0js]VǕ8e+)qD:e .^𰷓|ώ(,V+gKkWmŽKׇBt][k߃ `1 Wop-1>u1mcq'X`BU$r_&D" zLX6knn[׶l۶g󪶕6mQ%iHmQ̛kt͊9͜zw]ӻC;陡# edL6j }}M^+w?ͽ_!64^h;Rj ͬC f Mf 066 m`4")>Z>#B}-W+ >QqA wl_vx~2/x:+ z`hh&aIuuu@Qq~0=+fk%H\q$õPh{м,XZzR"Osuىͫ\/ŃV {'WBG Im>N ~{a/ KGi=8/Wj} ?>T]!po܄5XXYDp@}( rYJ%K?:w8"tuΣdae# [[[\P8Hյ|zv&a|r_.!N n#NG+taI充U<؇Y*u&b#(`hfaf~_Y]QbA @D8-`5C'V!J Y,__.ZHkq^?xWduMt N.:s8a #h3$2vnOW) "@5$%fDܠ<xYH >LRPaV'qMB회b$r&mI`qb!IT;Y-41b4NB#"0 Y xcIJN4@@,Y'esa{r=*ۣ#w KD42"sVHC2TXsjr?"fK<8uB U!r)07 A$Fp8ZRNEʤ&8"tpǫ>nE`v/oh{vy#ts300ᥕEpy dm^QUT PS-)Tw2O"[0<W{(9:_t06# ;|>77ZۻFfc^*)XXi;+K Ml=-x]$ p6V! &.{% rp@@GԦ/-/F(CBlOqݗ~;l];p;D٦v.L&=86ayTIkEXMܰFffnGp\d r  2l" ,f%XD415;Sc01=39s!݌4ڿ|~pdmG4Aֹ7eԻ2R h'A\[͚07JA$Dfvn/"&=<;C t#1& :jE*0<CO+%%%_ j_IHUk1lj"z5ml9N7Ǩcx{zv a 9ܐ,?E`#88d ]-TMK8;lAp*ASZ ]jr5)̕ ZPv~zϤ5<>]026@k`$ [K];Jg IDAThZosڻ޵`;NN}94PT!""~%UTjUZ"JՊh"8qH`;Mc'$]1s}fv<Is-022t?6M/ZgEכmۖh%PcɆTϊWtuu]h*L\JxiV8r5ҥK9)TuDdd;)J$˒׿JaxE6!]`nca$ۏ;3Ų arL qM-KDDILL:9r\a7n2Rf$Y`( {o] %bT$Izu]H4#FU %86}l"$D\r91uˏ=7ٱT+kP|S'ܫJLjexOtћUCIضCDQ t|w. ;|WHȃ#(ψ#PExFӴܣTMnMSWA $x]4n9 L!X@5$H>I>EfŠضE9x{.) Ԣ;ڥ'N?P,=/D?O֬^b/qjs@#@_[ոE,],pe> /K1w~O{YR.?yd…+gEAāϺ3(J"ćD"AkRT*:`FAwB45 DOpJ, }Ϭ^Jh@&&X2]7q@-@"O(#fGF47 ZhMrs\ % Dd ǯjiiu\TӘe L.UoDgiI`V@Ayl4Cҩ4d̙S bM x} mRѨSbeZU%J %j ZV,h H H4JIڌ,M v(V&ȁ5+B=xNp9>z}v z_iLYh*]? [ Px#ߨZchJzqDI11zXXd<%RU)[Y!Սń,GQ+SJpc`RVcEUuH1^YL4`-0qɵ/:t#mlwocuu{X[]`u+3h Yr#Z'c+_`)J->c򕿻R`Sլԇ8.KKLf9KWMSq*&/ima1@غ݂J>H~><>6U5"JF+bX`N4qㆣkk~9FPE3?;^ױb66%PȻ' > = ÿM ZDDs!l1pF .u0};zպ،a~ڰkIUXt)=D"bg@xyP1WFBq-㬷t947}Aa$0+=#%=>`eՔP WD^&hqϕAFv*df9qJ)^Ps4RpO(vMDD3MV7bIi񐜖H:UYTV\({i )8t"qBb"Jɱ$&}y4HqzgRJGA`PDE@dt(ECHX G]oVD.L)B B )J2⌬*+ȣ=G!E2I:ΧtH2O$pjF"DňBXx0F! @$ntwٮJqsTYS` NjhLEwXTȫ%'APHD%S2k1|c 5 pv Hb);F_~f:K+ˍ?X n"MqkBXbd!^2>Hfp c; 7ݞCko$idO;vl%2J=?b`GXXI`m2E ֮_6VR0aDd=y搚`T6(ԟUУ A01/1"8 f ;9hq,5o +k+GڱcgtXtƽC#m%W=YDsWN.+y)*1"M`I%?|V vNo5A݀/^bǖoڵ( pOm35*+dq r~*wΜY]`{L[j)nIe߾A8S!"|:=G=ovnϮ"z`XX.pzJc!0i>5W^[`g/ޏ߂vcvZ|}Dy_ZKgBKkXS=T2Bu }ԅ~ ev.tA9y |:U~>b.N_'w.gg)Y޻rn޵m|t~LxvP4f04aC w՟RrcG-.hS?d@2՟pXX&Ɔ(BԳ״s."Vͼi/Z zRt#q:lc,k-O]|'`Sǽ5J+pLg3*嬚M;O8iz[Kb ?$z_S%79qG/{oIENDB`pychess-1.0.0/glade/48x48/weather-few-clouds.png0000644000175000017500000000674013353143212020330 0ustar varunvarunPNG  IHDR00W IDATxYt׶2s^f N i2s$aĎeL#͌~̡/k/59q&΄Z,?+ X--3 |*ϿopwJh/ ph Uuն'6 4|5\/7  '&Uqua!(]}ZE5sJKlʝww 743Pw@ͥj SqL  g  OrQybZ^-9\atG `tGȢjֻXy-bz5oMb]Ǒ+/S}AЊWDŽwOy[ɪ]Ryfn%ǘSWO<5=jy|<aީ^} ]Ƅ{ 4J8SNe۾Ǧӗ[h5@Ř5G -0 x7)ԽU}k {O 5 54׃[M]֟u FJ=[ Hk=5EF&9dH/wˋ2?45lLy:XO}#8%r6|859e9ee"}< $"l#^xL#ovk':2fvu>j XdxRBBB'? q.V 6 /qg Wy6-"l9ﭪ/*~"ƫoj驹yI-v#'/Skĥ<>>'' 9-،_s q멐 o4M}">sYwͺ[kpp2"P?zhn6x81'}5}8H/z݇c=-ׁ8A?ά$YvZ`@='5m.BVcp4sF__twZlg+*e@f Jer7Eiyz.Dl n [IES?ؾZ 3h,oL 5 _sIAJx/R!;> U Wrro6+~>fKrh!@kM?"nϥY.@ĶaJ݅H[A@ nBFh*E8fs_dxk\^x_4@]'Nhzᨹ{06ЌF?\m4'М_CsHd(e* JT,ЊB;Ǯײ{ؽYĶĞ#yN!1;4>_SwA61`& u!Yߥ/KJ{JJ*ɀ %(XMx%;Ǯ{ؽY@B f"q DX8ɚp ؐKo4,-ie ?Do?"T ``;v_ïe8?A697g%Y!:'1IAznIzf 7s6PVצޡgS,@.J%=TPQP|!=E?ޏ8B6?1r((5àT oOM؟/@W`+y}v֢„ |f''*+`}$x$Z&sKH[9^N6cgǫmV893W+ӳ+{W-WZ\"-dj5vThm Yn`"*>`9wAM+8"Z_ &|VNfvi?_nhr 6I㓰x<I CTR>Ў=ArJ;Bqe&V@>j_0IJxC4.&jUsٹe2qi0azG$ GG3i+tm9"3%I& #-'iƇOӃ  $-X ~;R;349'L.krh!e#;D(-A40*  ˔ I+?/ !F-v(8A,&  "@IscieifImThGѕGNiߞYC_[ W'm@N4=(3ECq!ql8i&uOÿOѺY7K'c"aU5+Ucr / )PhwBw>{-K%^3A1>5`Ҋ(.Fԫ^^n p[`+7*"*`. @RcRQԘK[kj2s*N߬_{<]7[9& r ;@qE:>XrtN*h;Pk$p,uG@[dkACK-fN@CcdeEƪM"Rew300ppW]^l6R @%ؚywjsA9r(#N$!>OacwT>nw_r--ٴ#HkFDdbt}myaNӊ%ǻ>8G5׳$KYN<:VUjuvp>Ye⩺ۢI+f{V OlΥ´V Nf0l-3ź6#u&M7uսfb&a1Xh #-Cd{zIng#+~mO]Y߱n 4v=uۋB[vX5Ć7E,;ArU=u)Gng;wR==oI666#;V<(.vU\ؓ~4LY}_7VVF0g E ;ԏ=by)~m¬Ȗ p>R76%А8&Yc,%̶ æ{m<~ߍe#n kbjXSg;pSQT?XgL3_FV#QUIENDB`pychess-1.0.0/glade/48x48/weather-clear.png0000644000175000017500000000772513353143212017352 0ustar varunvarunPNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<tEXtTitleOptical Drive>g 3IDAThZY%Y[3==cOfx =/~Cf1kȨ"xR!'Fغ!e *.;4oOb S_o 0>q|& ZbPjm}& ϖI1dذ Ŏ7/5T R8X(^PzӍEKU70|&J&0cG /,34\'Psk\o*IP.h%(玃i"E[ŭߜ8yH" c⩽dzX S-Nr!(lވ*CpYB1EwALJGgI91ĉϠa~Kƨ$-c?BM|C_BOܡ4FQ!1Jݕ,+3"[~pOk Qag|cZQ,Annl'li8D zH~/1j{סGg:v(i[o%vzI&F89y^k$ޓ 4m3jdL\?-_/2~v,!`21 @(Y=A߸~kMLSqm/ҜPqw6ޗ|1fR1V4J6N綿dr9W=SS 0#l9H!,?"WO6_ӠYfyIl=u贈ßKE1,m'kL1sۿe0x(ޗR%@xhQFpls7D: X3B9ݼ_{3Oȳ68V`Gh]Y˞g"[*BAx0_^Hz/ wDK7!KX\?tTl(D7C¥>GȀ H bs?|Q5hB1&~E&j6ͻo.%XA:xy<ـ־)mSM9 *WB)URH璔~sl ѩgWو!UXН~1rzm4MŬ&lݲ lU(@ %rP@H~~,iEH+(+ C#Qs_u95sk?z 8vbֳ5lثWYf[*:{Vrn >+b>j<$~H[J Z$$ =)Ldk4J %O*|@;D"t9>6ڻ]I4;eN-eĔ* OwQY(JT2'f~WPQT^u-c H0ez'9 @fz6{g+pN+&Da*ULX*TQ Uв 0 ZPV\뱍lcF2W U#P2IU=T݂DXj@sB } ` -iv5Ks%3Od!Tv  e6l ecS~f 0Wq_;}Ҳ"%*IP4Oe(3 d\oYdOۨ w;AuT4Haa3h"We..f^m41J&1Cw:(O$ׂzOZd F65._XÏ&b%r` /?ďC\+͢&wkWieN%H @w@Q ^rhw8$海$ )ȩA%ݺ1q\PˡL [ڦv+5LQ]i7i]%+>H@H+]Ŝl[ jBPkb=D|p2M怒2#alI؝uƮk-ѼyO'T$օ k(žK8$ۦwzavu"N-='D5O_!7GʹS.BdN(Sz)9g/D7zFn0x 9U;R%1gwQ}SӴ>\W 7>xob}f3>8L;y{tA׍݀z t*aA(xPp 0 0 tT:+B뉊͠&OCTtRWKNL:ETVos!H`wI.ә+kI_<$b3H8. ${:sZ>"},Qh{Yg;8y򉿓8(BX/B}/#h 1 )sf+hQ]  ׎4#[>뎷;RK_]\4;&m}>\]}m zBɺ$W;xb_Z IX8p3ǡK HI6oDʦ;\F.O E\[kvғ+B/_^W>F631(bqPdit氷!),{d9LqԌL4ckGiۍ#jcȇ}*I}IH_Ur^C g|VSC<XOwh%OӖ#aDQ{5OHZdvU/S+GaE!UνAͩ2}iw}p'~<;=exo-EVdie"%(}ٸ0 w@{"Us.|y|sL|Ohc/iA12|Tg^ævȅn969 6G6 ꕍ+kE+>Em$AmqJ Je7pfz_&g-ޚg]Cˬ/]dWaKd>bd:FҐ;gn߾ܤt6Av%s t7rp0X@>Zu3?.y.. QJH/9 TyKzS}UPw~>)Gv9\8I( lQn|Y^Eox^}^{Vq+K} 2&.>Vw2z%hHfjJcܹگFqʊj[RT{YfFMӜ*U5m羪F*eOYR}β5طFN+nˈ k^׽`be] Z5BuZbW+3G[[t#XoX. 2`Th+?K¾3l6ûs> 2._6PS{S/{w:UeFj=c VAcNE ʀ!}^hxytY4{24X58?Y"F TnS8UX@4/5+ <3)0הe/wtf\1+hZR^V⩰q ȟ3,/))T(` pwJ#@ F+ǞX8HTa|3}|alYނń_ɱ%\`ȷfoh`\e~!ցTI$aQ 1v@?=/x0#f@@'u8s:MMP^jc+ `ߠ>&V]X#٨g?h;Z Ͳ(` fp C_^֗Լ!B<nJG  w #'d/3蓼K.3*V'.h1>>_/y=x0z88p/ vaIENDB`pychess-1.0.0/glade/48x48/weather-showers-scattered.png0000644000175000017500000000521013353143212021715 0ustar varunvarunPNG  IHDR00W OIDATxVs]Cl;i Vvflꮪ96m{wң{_*ow =7ԆPjCm J\~Vmo \l{e#@mvkꉧb@~T!C^cFe|znCz!YhnÍI*$w~`Cw7bR$+`xZ}AEZa FlT>2w6~nS<+Xݰ$23dFDc OF!}C_4 KVwPGXV,rsD@7_SG揜e4gqHnI`cv'j)C" x]s*%Ber897P某b$fQ CPT@r]?SPl"8V8?¢=Ss*`Rn)7%6GDRbI`0`=DFz~A#y]`XOۿR'\j+EZ.KH|TB1?#^Oy.?/ /2g,p[k 9bn_|K9u~0@@'tyiC"lţ(&.\s}-, |Ek)%q"+&È$"dnJ89K%Cc0!7xx{W3;I,"vI>P``a6(M$: JAХ )!!' D!g gn%31}Lj@k\vp4[hmzMy0Zb(\/sXb;`8Ai@nYSʉ  'ԟ 4c.p5A렾j+*JKz<踝*M툼Bkm^/ ƣX0 ᢴ҉DQ0rzODoLyHN4݄jj* PZ_j3ŪGNf\*oңˋ7>%8}Yo۾x毹x`bqfmi3xtL|BBb^ZYhBY_ ȡ}'CYʈsHK&7]U=Ms2#.Yj-j[v|ȉ e b"bb4b_5FL1T=|vsu%3Y}Dm'jZG tzێ8A$dl\l *>?B6x8Xrcb s=o)GOP,{LdqSga-ߐ8T|gֻ1nNLvcfM*~4994y)ac,χar=#ϝ$re'ʠѬV5IDmNڶLҽwǶͨ1m۶mO9 riTE WE-%f%E|3 ^믉X W]`|XwWϸ }*C43rJ^Heإ b.!XW ]t{ٚ;FU)|X|^SehjU:IOS$BsyD !zZO-h(N(PؘrQRNshxI%}?L~j՚{fd/G'QY%9k TxrydQvyK _?h#oUd1Wc_΅m+gVC)li9JB񃿟-C㇟vXȥ+N= r}d!_$l!md|~ l]'?oо;gZU*}%;QxܯcQ_\ӭ O,>kZ?m3@)+)yGXxW7 /Xp<;w90 kQ@FcYx3fG}L6L۫^?eʔLR[ycGk8v]yU'$]catL4}F>)-8 {zlQu[·.SITy o#.'q" 7¶I dH>}دJ,X暨l}x+6 gL#.M٧qS%ڷQ휺[en;4ҏ50IENDB`pychess-1.0.0/glade/48x48/weather-overcast.png0000644000175000017500000000334113353143212020100 0ustar varunvarunPNG  IHDR00WIDATxbF(`QYm۶moAFkVm3v޽ɬtWWs)СhYab#r#3bKF@SȲBq&fs#U%d1(**ğȌ"m ̟+Np?PndI* J$Uj@3qDUƇ9"I" yRf`R%:ϟ1Jk|i?r]BZWGORgij,QUD'8VUJhg 55E:$ er|W`\č_{%`;]Q[YND>2J> @cdr0+j=3oږې Q b( yA nfsTdɉڰ*H*y `dY&$^2+pIUjWo1ERCG.3g*P0D1V( D6wBWHQ5桀zj'H0?KvS/x{/Fwy)Ƽ(K$ Ec_^ چEg1.ET CM|sGruHѹ4&XXXnAm]=o=7Lo@ֲezKߜkլJ@|"q\6W *VA,YN4deA&dFtٺ%ht6Dg5OWG~g3Z.{|h[\ppxvYCı_1(F,ڽmW^fF{DoUxjtg_i؛9 QSѣӛ! Gd=VhvuHVV]*mQΚXwIpbWeYM1Ku_˖>?@AF;vwǼm\;~͗^Oǿ4aÐoᕯ|m'?fatDoWt@ђ='h((>34;+^Z.`ehЧs&O:zu|w̃pa"q9tgO_L]IENDB`pychess-1.0.0/glade/48x48/weather-snow.png0000644000175000017500000000333713353143212017245 0ustar varunvarunPNG  IHDR00WIDATxWEfC0g]7af^9f4 (:sޠ}}ʂ#uWU߾ݚp01a cNs#\Ho=M9Ļ.Dl=FG[~ 83>9x:8=Mҍfb8]cNb*;P pK@ثۣ&,41ND$B=BU"TQ f0@|;nsS-HF79NKE F6q\5U]tjL}1/ Rܢ& _gO6KR_q$4߾s.TYRNtёrgj4(\H:Ҧtrmذaʁs\Qs.<#[s㍡Cߛ|Ve> 4G)#1eNR-\!t6e/Hv\O/l*kZprzpwRFT$ #jdxܠFD4&:Fك>υ n#.w|x\V`BYɦ )$Y:(B,-tD#n! @l p_T }I4\yN

a#EgH8J'r H H p# Ñ I q=21` GZ(DmL$ &%bˎ ).{/HN[z΍/B^^ZJq8(?Ab\C~}CstKX ĒKT6B xWˈ}ru;ج_֩>]8Uů:Id2XRA*PAe@x.n|U)oTñi"~WpiW8U@7}Dzϫ#u7-&D@$n>6pVʳijxV*%Y!԰8_:KF9o=;'l޶v텍[B ae$RRbР_C[|'"4)*,Mֿ nB6U`Ͼ0)VB##&*5/!;E=fߒԶ`߁݌C؄qAՈX@NJC$L{J|mc~\&gwk) ,ܽRJI& [_(Fi2 #(DpH:sJ,k^}∫ ^^/4^DY; aGN;l "ܷz㪌גܶuI*߸6{ݹ^ Ɠa]KoWYqND]{V_/Gt cHQmwőgv~cJצmgNZ{$c^5N}(sJUضx {![m{*Gmw/ Nw>[3q|KL>Uw5nt0U)͗X"{owwwwww]vR& !& 0m`l5s;wsީ 鳟ֈP^a/ɘg3:$+k"lj?o%&x`z.7rUF\$4jĹN-!Ⱥ:QHwqZE-[;ff AmGVMfYDPFֆsgBKv??HfM  mŠ?ulQq4EdM6Xo7I&[N0YqT9Y4G z[6l2yh4ZNXh3dM͢P*Ѡ@(< O6bY6Bz5bwywii|m]m3el[1[\:!T ?˽s jY$blĉC`1['n,85,Q]rM+cyd*i)z#-B>lbD#< !Xn"InN.`dtq"(}qP _^)}CK9OSo_G&DG>9kXў4Ώ"t-L&c4pT7odsK#i 8Diy_/*kD%"Y=zh3#;waH>5{,CXS+T!TsyYf W K3 fJ*ٞH*6`@t Oͬ`+S/YHW\ũxA]rgm57m{M,[/Լן)ROSGr.~S}O܃e_myʜyx)|ZMi+Ex-AVTl囗)ΒJ E47n/ī :T W8 Z6zn=ϝbݱ·3zTxC%u=yc\_~l9=FQȧۨ\LSȲX1U1DQr`oeedJC}.SJ+6.p%}R|zٓ+j-WzNDT,^̶߫"<酞S׿l_3eKky}2i5 A$V3xwӉc`AM3ixZLJ9}=:Ni_+GؖBM}NW͈sBh˻ԑ's|7'$_,;kog(TOs}k_&|k?;q(qVgx =q%/Yok86R-WV7osL~ѷA#?jVSWxm`Ru؍S[XkŦ;{=7 c"ȧᅤݏokV[oRW*Got]8|ޱc.ɼ?ѿ1ŸOpeu-__p‘.0Kld8{oӿ=~͢M'IENDB`pychess-1.0.0/glade/48x48/weather-storm.png0000644000175000017500000000520713353143212017421 0ustar varunvarunPNG  IHDR00W NIDATxbF(`Qd9O Wmt(g=mj4+*b0!~wX ,Wp,DمZTL -6~p^>OecuΗ2Pҹ8 QmG}١W| !{G<'S [ښPx5 VI:JJW7.2e2 gGx0x*2]o+=T|= eDW筪Qq7]<ʢ:vU-*g dKhkim-f8b Jj^DYCmQ'1t)Eu>E?'¬h~Q16ht 8#OƷC.EfpzA]s ʹ4'z\o[Uu XU݉Ӣ hOGo $No9?},&=3Ϟvi팋r]90,y^b̴UZ`O-O)gO$QgqǗ,]<6sϽfGb A{fHtX9*yB5XH8;ˑasBx4D(G<r"etr9˲0͊^9 )ޠ\\;9kdN(80aT- ZՄj[l( Z yl)G Kx! 14ҏB |~1WNM8?4 Ne0^ZHfbN[3#([L]C#h# qZp8,iV _=)SN9\f_+I_UgЍ_ڶm۶LSUwxqRy$:j3v{Kf⮻{ɕO=n::*v$%oƏI@'H j3 `S56tu@u})*,uvۑ2A]8$^t(Ib)b\bԥAIbO b}9d1t>?‡w"(`_K)uzJcH  cՐˍ9F:YCP BNIz(͠TؒTj @.(2 !- [TGFY/>m{>k|wLc#ˑd=qSa1NM kZT"AU%D ,:r*.Xj"axĘի7\V7RMv&"7/\jֲYCf#3_19a) nؼ+ O ,% m`ylr+He9t-Jh4 ~?6Cy-F&Pk *~o> df'|?·;ٲIz׮el\T*⤵ɱ02KWψ`-f"<',fҺY f}%hq}aI**ڡmIS˻ 1[l@kSVtϝBUG`sLaM->1d!,pu04怲>4mTzIRI{?f@GN: VfwN1]Ka!toDz˧v1iZQgJib٤IsNbq@-LDb{ d`ى>{#lKqmz|fv2w&d=ȓ90l47}'1٤B/Ҙ/3;bMr5N͝gZkikCs,':,I` zK((yUc[HRDta-\m Wj_Rջŗ4[H*my3S̎qaX_;3ᜢ=A#!~|Z/O28_[?aռAvkVgS?5GVRPSIENDB`pychess-1.0.0/glade/stock_alarm.svg0000644000175000017500000001135013353143212016327 0ustar varunvarun pychess-1.0.0/glade/panel_games.svg0000644000175000017500000002245313353143212016311 0ustar varunvarun image/svg+xml pychess-1.0.0/glade/black.png0000644000175000017500000000074413353143212015076 0ustar varunvarunPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<aIDAT8;OAޝ|"PBlIh@~ڨP! nCc]aFXēL~Z1b!jc.n)W5)=!ץzhm̞1 3FJłHy4>Aku LJł-2|`h}B!fd&@-b'ڐ\c86b/*!Ak?8 r'ށm!9\bBx*NR+'٨ÓKfxbrZڼ8oaa,6PJ~0Ww۩g->pu;F?W IENDB`pychess-1.0.0/glade/panel_docker_no.svg0000644000175000017500000004354013353143212017160 0ustar varunvarun image/svg+xml pychess-1.0.0/glade/throbber.svg0000644000175000017500000004363513353143212015652 0ustar varunvarun image/svg+xml pychess-1.0.0/glade/white.png0000644000175000017500000000075013353143212015137 0ustar varunvarunPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<eIDAT8J`%IE(d"֥J.!H)|ઋ-:Xbpxq.ͭzònm)ADI`xAƣeY'csCmg|Oys{Ap+r촳qtGƠL]ametDQ[:DjVNQ5)a;) "H%s>'Rs(mĠ`ÀR2`[`Q""W1%dr.0W]}_a(./z1 &uտg}~g,t}w6 è7 @YIENDB`pychess-1.0.0/glade/panel_engineoutput.svg0000644000175000017500000005236713353143212017752 0ustar varunvarun image/svg+xml pychess-1.0.0/glade/poput.png0000644000175000017500000000027213353143212015165 0ustar varunvarunPNG  IHDRaVsRGB PLTEtRNS@fbKGDH pHYs  d_tIME 1#-DIDATc `ZƐBa Dd#IENDB`pychess-1.0.0/glade/board.png0000644000175000017500000000067313353143212015112 0ustar varunvarunPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<8IDAT8J@ d2vEXۺs)mA=xD$V Lf$"X(`x8GA6:} n@N_ ӟDAfŝRif2@DR cP<ӗBqi,HuW7EӶ($4;ޒTɖ)ј-qv~qXw ?3ffF׭bJ'RBE%cCgLj7dKTQUT $H׫Μ"XR$32DP\0+EXds*9%IENDB`pychess-1.0.0/glade/random.png0000644000175000017500000000061213353143212015274 0ustar varunvarunPNG  IHDRagAMA atIME ?+.IDAT8O_KP*BKlYI x% (vR,*( .Atگtgځg >řy&)a@ 1gCΆrU V]m-ᬕAWLY)llV8hGR+B'ڀa +Q7e(:*prڂTA\ .zEE|Ȱ: Q˫2:*pۿFڶc̹$g3|F|]jbd-a./xh7t-,#Q?_yjJIENDB`pychess-1.0.0/glade/PyChess.glade0000644000175000017500000152350513455302410015676 0ustar varunvarun 100 1 1 10 1 9999 3 1 10 1 999 15 1 10 1 20 1 5 99 8 1 10 9 1 10 9 1 10 9 1 10 9 1 10 8 1 10 8 1 10 9 1 10 9 1 10 9 1 10 9 1 10 3000 100 10 3000 100 10 True False gtk-new True False gtk-missing-image True False gtk-missing-image True False gtk-network True False gtk-leave-fullscreen True False gtk-export True False gtk-convert True False gtk-save-as True False gtk-connect True False gtk-connect True False x-office-calendar True False x-office-calendar True False x-office-calendar True False gtk-jump-to True False gtk-open True False gtk-save True False gtk-save-as True False gtk-undo True False gtk-refresh True False gtk-fullscreen True False gtk-info False Pychess pychess True False True False False True False _Game True False _New Game False True False True image1 False True False True False From _Default Start Position True True False From _Custom Position True True False From _Game Notation True Play _Internet Chess False True False True image2 False True False _Load Game False True False True image3 False False True False Load _Recent Game True Load Re_mote Game False True False True image27 False True False _Save Game False True False False True image4 False Save Game _As False True False False True image5 False _Export Position False True False False True image16 False True False False Share _Game True True False gtk-properties False True False False True True accelgroup1 False False Player _Rating True _Analyze Game True False False True False True False gtk-close False True False False True True accelgroup1 gtk-quit False True False True True accelgroup1 False True False _Edit True False False True False False _Copy PGN True False True False False _Copy FEN True True False False True False _Engines True False True False Externals True gtk-preferences False True False True True accelgroup1 False True False _Actions True False False True False False Offer _Abort True False True False False Offer Ad_journment True False True False False Offer _Draw True False True False False Offer _Pause True False True False False Offer _Resume True Offer _Undo False True False False True image6 False True False False True False False _Call Flag True False True False False R_esign True False True False False Ask to _Move True True False False True False Auto Call _Flag True False True False _View True False _Rotate Board False True False False True image7 False _Fullscreen False True False True image8 False Leave _Fullscreen False False True image13 False False True False False _Show Sidepanels True True False True False _Log Viewer True True False False True False False _Hint arrow True False True False False Sp_y arrow True False True False Database False New _Database False True False True image1 False Save database as False True False False image19 False False True False False Create polyglot opening book True False Import chessfile False True False False True image18 False False True False False Import annotated games from endgame.nl False True False False Import games from theweekinchess.com False True False _Help True False False True False About Chess False True False How to Play False True False Translate PyChess Tip of the Day False True False image9 False True False gtk-about False True False True True accelgroup1 False True 0 True False True False icons False False True 0 True False 3 True False False 3 end 2 False False 1 perspectives_notebook True True False False True True 2 False 5 normal main_window Chess client https://github.com/pychess/pychess https://github.com/pychess/pychess about.png False False False True end 0 False 7 Preferences pychess main_window True False 8 True True True False 3 True False 6 12 True False 0 none True False 3 12 True True The displayed name of the first human player, e.g., John. False False True False <b>Name of _first human player:</b> True True firstName False True 0 True False 0 none True False 3 12 True True The displayed name of the guest player, e.g., Mary. False False True False <b>Name of s_econd human player:</b> True True secondName False True 1 True False 0 none True False True False 3 12 True False 3 _Hide tabs when only one game is open False True True False If set, this hides the tab in the top of the playing window, when it is not needed. start True 0.5 True False False 0 _Use main app closer [x] to close all games False True True False If set, clicking on main application window closer first time it closes all games. start True 0.5 True False False 1 Auto _rotate board to current human player False True True False If set, the board will turn after each move, to show the natural view for the current player. start True 0.5 True False False 2 Auto _promote to queen False True True False If set, pawn promotes to queen without promotion dialog selection. start True 0.5 True False False 3 Face _to Face display mode False True True False If set, the black pieces will be head down, suitable for playing against friends on mobile devices. start True 0.5 True False False 4 Use a linear scale for the score False True True False Unticked : the exponential stretching displays the full range of the score and enlarges the values around the null average. Ticked : the linear scale focuses on a limited range around the null average. It highlights the tiny errors and blunders better. start 0 True False False 5 Show _captured pieces False True True False If set, the captured figurines will be shown next to the board. start True 0.5 True False False 6 Prefer figures in _notation False True True False If set, PyChess will use figures to express moved pieces, rather than uppercase letters. start True 0.5 True False False 7 Colorize analyzed moves False True True False If set, PyChess will colorize suboptimal analyzed moves with red. start 0.5 True False False 8 Show elapsed move times False True True False If set, the elapsed time that a player used for the move is shown. start 0.5 True False False 9 Show evaluation values False True True False If set, the hint analyzer engine evaluation value is shown. start 0.5 True False False 10 Show FICS game numbers in tab labels False True True False If set, FICS game numbers in tab labels next to player names are shown. start 0.5 True False False 11 True True 0 True False <b>General Options</b> True False True 2 True False 0 none True False 3 12 True False True False 3 F_ull board animation False True True False Animate pieces, board rotation and more. Use this on fast machines. start True 0.5 True False False 0 Only animate _moves False True True False Only animate piece moves. start True 0.5 True fullAnimation False False 1 No _animation False True True False Never use animation. Use this on slow machines. start True 0.5 True fullAnimation False False 2 True True 0 True False <b>Animation</b> True True True 3 True False _General True False True False 3 True False 6 12 True False 0 none True False 3 12 True False 12 True False 4 Use opening _book False True True False If set, PyChess will suggest best opening moves on hint panel. start True 0.5 True True True 0 True False 12 True False 3 True False Polyglot book file: False False 0 True False True True 1 True True 1 True False 12 True False 3 True False Book depth max: False False 0 True True Used by engine players and polyglot book creator 2 2 1 adjustment5 True False False 1 True True 2 False False 0 True False 4 Use _local tablebases False True True False If set, PyChess will show game results for different moves in positions containing 6 or less pieces. You can download tablebase files from: http://www.olympuschess.com/egtb/gaviota/ start True 0.5 True True True 0 True False 12 True False 3 True False 5 Gaviota TB path: False False 0 True False True True 1 True True 1 False False 1 Use _online tablebases False True True False If set, PyChess will show game results for different moves in positions containing 6 or less pieces. It will search positions from http://www.k4it.de/ start True 0.5 True False False 2 True False <b>Opening, endgame</b> True False True 0 True False 0 none True False 3 12 True False 12 True False 4 Use _analyzer False True True False start True 0.5 True False False 0 True False 12 True False True False True True 0 True False The analyzer will run in the background and analyze the game. <b>This is necessary for the hint mode to work</b> True True 0 False False 1 True True 1 False False 0 True False 4 Use _inverted analyzer False True True False start True 0.5 True False False 0 True False 12 True False True False True True 0 True False The inverse analyzer will analyze the game as if your opponent was to move. <b>This is necessary for the spy mode to work</b> True True 0 False False 1 True True 1 False False 1 True False True False Maximum analysis time in seconds: False False 6 0 True True 4 False False adjustment2 True False True 2 1 Infinite analysis True True False start 6 0 True False False 2 True True 2 True False <b>Analyzing</b> True False True 1 1 True False _Hints True 1 False False 3 True False 6 0 none True False 4 12 True False 5 True True in True True False True False True True 0 True False 4 True False True False True False 0 0 True False 2 True False gtk-add False False 0 True False Install new True False False 1 True True 0 False True False True False 0 0 True False 2 True False gtk-remove False False 0 True False Uninstall True False False 1 True True 1 False True False True False True True False 0 True False 2 True False gtk-ok False True 0 True False Ac_tive True False False 1 True True 2 gtk-about False False True False True True True 3 False True 1 True False <b>Installed Sidepanels</b> True 2 True False Side_panels True 2 False True False True 3 True False 3 True False vertical 6 True False 6 3 6 Board Colours True False 0 none True False 12 True False 0 vertical True False 9 True False Backround image path : False False 0 True False True True 1 False False 4 0 True False <b>Welcome screen</b> True False False 0 True False 6 3 Board Colours True False 0 none True False 12 12 True False 0 vertical 9 True False 3 6 True False 3 True False Texture: False True 0 True False True True 1 0 0 True False 9 True False Frame: False True 0 True False True True 1 0 1 True False 9 True False Light Squares : False True 0 light_cbtn True True True False False 1 1 0 Grid True True False 0 True 0 2 True False 9 True False Dark Squares : False True 0 dark_cbtn True True True False False 1 2 0 Reset Colours True True True 0.43000000715255737 0.49000000953674316 3 0 Sho_w cords False True True False If set, the playing board will display labels and ranks for each chess field. These are usable in chess notation. start True 0 True 1 2 True True 6 True False <b>Board Style</b> True False False 1 Board Colours True False 0 none True False 12 True False 0 vertical True False 9 True False Font: False False 0 True False False True 1 False False 4 0 True False <b>Move text</b> True False True 2 True False 0 none True False 12 True False vertical True True etched-out 2 2 True True 6 True True True 1 True False <b>Chess Sets</b> True True True 3 3 True False Themes 3 False True False 3 True False 6 12 True False 5 _Use sounds in PyChess False True True False start True 0.5 True False False 0 True False 0 none True False 3 12 True False 19 3 3 3 True False 1 2 GTK_FILL True False 1 2 1 2 GTK_FILL GTK_FILL True False 1 2 2 3 GTK_FILL GTK_FILL True False 1 2 6 7 GTK_FILL GTK_FILL True False 1 2 7 8 GTK_FILL GTK_FILL True False 1 2 8 9 GTK_FILL GTK_FILL False True True False True False gtk-media-play 2 3 GTK_FILL False True True False True False gtk-media-play 2 3 1 2 GTK_FILL False True True False True False gtk-media-play 2 3 2 3 GTK_FILL False True True False True False gtk-media-play 2 3 6 7 GTK_FILL False True True False True False gtk-media-play 2 3 7 8 GTK_FILL False True True False True False gtk-media-play 2 3 8 9 GTK_FILL True False A player _checks: True 0 1 2 GTK_FILL True False A player _moves: True 0 GTK_FILL True False Game is _drawn: True 0 8 9 GTK_FILL True False Game is _lost: True 0 7 8 GTK_FILL True False Game is _won: True 0 6 7 GTK_FILL True False A player c_aptures: True 0 2 3 GTK_FILL True False 3 4 5 GTK_FILL GTK_FILL 3 True False Game is _set-up: True 0 5 6 GTK_FILL True False 1 2 5 6 GTK_FILL GTK_FILL False True True False True False gtk-media-play 2 3 5 6 GTK_FILL True False _Observed moves: True 0 10 11 GTK_FILL True False Observed _ends: True 0 11 12 GTK_FILL True False 1 2 10 11 GTK_FILL GTK_FILL True False 1 2 11 12 GTK_FILL GTK_FILL False True True False True False gtk-media-play 2 3 10 11 GTK_FILL False True True False True False gtk-media-play 2 3 11 12 GTK_FILL True False 3 9 10 GTK_FILL 3 True False 3 12 13 GTK_FILL True False Short on _time: True 0 13 14 GTK_FILL GTK_FILL True False 1 2 13 14 GTK_FILL GTK_FILL False True True False True False gtk-media-play 2 3 13 14 GTK_FILL True False _Invalid move: True 0 3 4 GTK_FILL GTK_FILL True False 1 2 3 4 GTK_FILL GTK_FILL False True True True True False gtk-media-play 2 3 3 4 GTK_FILL True False Activate alarm when _remaining sec is: True 0 14 15 GTK_FILL True False True True 3 False False adjustment3 True False False 0 1 2 14 15 True False _Puzzle success: True 0 3 17 18 GTK_FILL True False 1 2 17 18 GTK_FILL GTK_FILL False True True False True False gtk-media-play 2 3 17 18 GTK_FILL True False 3 15 17 GTK_FILL GTK_FILL 3 True False _Variation choices: True 0 3 18 19 GTK_FILL True False 1 2 18 19 GTK_FILL GTK_FILL False True True False True False gtk-media-play 2 3 18 19 GTK_FILL True False <b>Play Sound When...</b> True False False 1 4 True False _Sounds True 4 False True False True False 6 3 True False 5 _Auto save finished games to .pgn file False True True False start True 0.5 True False False 0 True False 18 True False 3 3 True False Save files to: 0 0 0 True False 0 1 0 2 True False Use name format: 0 0 1 True True out 1 1 True False 2 .pgn 0 2 1 True False vertical True False start 1 Names: #n1, #n2 0 False True 0 True False Year, month, day: #y, #m, #d 0 False True 1 1 2 2 False False 1 True False 5 Save elapsed move _times False True True False start True 0.5 True False False 2 True False 5 Save analyzing engine _evaluation values False True True False start True 0.5 True False False 3 True False 5 Save _rating change values False True True False start True 0 True False False 4 True False 5 Indent _PGN file False True True False Warning: this option generates a formatted .pgn file which is not standards complient start True 0 True False False 5 True False 5 Save _own games only False True True False start True 0.5 True False False 6 5 True False Save 5 False True True 0 False 3 Promotion False pychess dialog main_window True False True False end 60 True True True False True False True False True True 0 True False Queen False False 1 False False 0 60 True True True False True False True False True True 0 True False Rook False False 1 False False 1 60 True True True False True False True False True True 0 True False Bishop False False 1 False False 2 60 True True True False True False True False True True 0 True False Knight False False 1 False False 3 60 True True True True True False True False True True 0 True False King False False 1 False False 4 False True end 0 True False 13 6 <b><big>Promote pawn to what?</big></b> True 0 False False 1 button1 button2 button3 button4 button5 400 False Load a remote game False True center True dialog True main_window False 10 10 10 10 vertical 2 False 10 end gtk-cancel True True True True True True True 0 gtk-open True True True True True True True 1 False False 0 True False vertical 10 True False Paste the link to download: 0 False True 0 True True False True 1 False True 1 url_cancel_button url_ok_button True False gtk-directory True False gtk-directory True False gtk-directory True False gtk-directory True False gtk-open True False gtk-open True False gtk-open Default Knights False 7 Game information True pychess dialog main_window True False vertical 5 True False end gtk-cancel False True True True False True False False 0 gtk-ok False True True True False True False False 1 False True end 0 True True True False 10 10 10 10 9 4 6 4 True False 10 Site: 0 1 2 GTK_FILL True True False False 1 4 1 2 True False 10 Rating change: 0 8 9 True False For each player, the statistics provide the probability to win the game and the variation of your ELO if you lose / end into a tie / win, or simply the final ELO rating change 3 6 1 1 2 8 9 True False For each player, the statistics provide the probability to win the game and the variation of your ELO if you lose / end into a tie / win, or simply the final ELO rating change 3 1 3 4 8 9 True True 3 4 7 8 True False 10 Black ELO: 0 2 3 7 8 True False 10 Black: 0 2 3 6 7 True False 10 Round: 0 2 3 3 4 GTK_FILL True True False False 3 4 6 7 True True False False 3 4 3 4 True False 10 White ELO: 0 7 8 True True 1 2 7 8 True True False False 1 2 6 7 True False 10 White: 0 6 7 True False 10 Date: 0 3 4 True False 10 Result: 0 4 5 True False Game 0 True False 10 Players: 0 5 6 True True False False 1 4 2 3 True False 10 Event: 0 2 3 GTK_FILL True False True True Expected format as "yyyy.mm.dd" with the allowed joker "?" 10 10 False True 0 True True True 5 image24 False False 1 1 2 3 4 True False 1 2 4 5 True False True True Identification False True False vertical True True 10 10 10 5 in True True liststore2 True both True True 4 0 True False 10 10 gtk-add True True True True False True 0 gtk-remove True True True 5 True False True 2 False False 2 1 True False Additional tags 1 False False True 0 game_info_cancel_button game_info_ok_button uci xboard False 9 Manage engines dialog main_window True False vertical 3 True False 10 end False True end 0 True False 12 True True never in True True False True True 0 True True True False 10 10 10 10 8 2 3 3 True False Command: 0 2 3 GTK_FILL GTK_FILL True False Protocol: 0 5 6 GTK_FILL GTK_FILL True False Parameters: 0 3 4 GTK_FILL GTK_FILL True True Command line parameters needed by the engine False False 1 2 3 4 GTK_FILL True False True False True False Engines use uci or xboard communication protocol to talk to the GUI. If it can use both you can set here which one you like. liststore3 True False 0 1 2 5 6 GTK_FILL True False Working directory: 0 4 5 GTK_FILL GTK_FILL True False The directory where the engine will be started from. 1 2 4 5 GTK_FILL True False True False True False False False 1 2 2 3 GTK_FILL True False Runtime env command: 0 GTK_FILL GTK_FILL True False True False True Runtime environment of engine command (wine or node) False False False 1 2 GTK_FILL True False Runtime env parameters: 0 1 2 GTK_FILL GTK_FILL True True Command line parameters needed by the runtime env False False 1 2 1 2 GTK_FILL True False Country: 0 6 7 GTK_FILL GTK_FILL True False Country of origin of the engine 1 2 6 7 GTK_FILL True False Comment: 0 7 8 GTK_FILL GTK_FILL True True Free comment about the engine False False 1 2 7 8 GTK_FILL True False Environment False True False vertical True False 10 10 10 5 True False 10 Preferred level: 0 False True 0 True True Level 1 is the weakest and level 20 is the strongest. You may not define a too high level if the engine is based on the depth to explore adjustment4 0 0 right True True 1 False True 0 True True 10 10 in True True liststore4 True both True True 4 1 Restore the default options True True True end 10 10 5 10 False True 2 1 True False Options 1 False True True 1 True True 0 True False 10 True False start 5 gtk-new False True True True True True False False 0 gtk-delete False True False True True True True False False 1 Add from folder True True True False False 2 False False 0 True False end vertical True True 1 True False gtk-cancel True True True True False True 0 gtk-save False True True True 5 True False False 1 False True 3 False True 2 False Detected engines True center 500 350 True dialog True manage_engines_dialog False vertical 2 False end gtk-cancel True True True True True True True 0 gtk-apply True True True True True True True 1 False False 0 True False 10 10 10 10 True vertical True False 5 True False 10 Base path: False True 0 True False . False True 1 False True 0 True True True in True True True False True 2 False True 1 cancel_button ok_button 9 1 10 9 1 10 9 1 10 9 1 10 8 1 10 8 1 10 9 1 10 9 1 10 9 1 10 9 1 10 False Filter dialog main_window False vertical 3 False end gtk-cancel False True True True False True False False 0 gtk-ok False True True True False True False False 1 False True end 0 True True True False 6 6 3 3 3 6 True False White 0 0 True False Black 0 1 True True True 1 0 True True True 1 1 Ignore colors True True False 0 True 1 2 True False Event 0 3 True False ECO 0 5 True True True 1 3 True False Elo 0 6 True False 6 True True 4 4 4 0 alpha elo__from_adjustment True False True 0 True False - False True 1 True True 4 4 4 0 elo_to_adjustment True False True 2 1 6 True False Date 0 7 True False 6 True True 10 10 False True 0 True True True image26 False False 1 True False - False True 2 True True 10 10 False True 3 True True True image25 False False 4 1 7 True False 3 True True 3 3 3 False True 0 True False - False True 1 True True 3 3 3 False True 2 1 5 True False Site 0 4 True True True 1 4 True False Annotator 0 9 True True True 1 9 True False Result 0 10 True False 3 1-0 True True False 0 True False True 0 0-1 True True False 0 True False True 1 1/2-1/2 True True False 0 True False True 2 * True True False 0 True False True 3 1 10 True False Variant 0 8 True False 1 8 True True False Header False True False 6 6 3 6 3 True False 6 6 3 3 vertical 12 True False 10 True False 3 6 True False 0 1 True False 0 2 True False 0 3 True False 0 4 True True 1 0 wq_min_adjustment True 1 0 True True 1 0 wr_min_adjustment True 1 1 True True 1 0 wb_min_adjustment True 1 2 True True 1 0 wn_min_adjustment True 1 3 True True 1 0 wp_min_adjustment True 1 4 32 True False 0 0 Ignore colors True True False 0 True 1 5 Imbalance True True False 0 True 1 6 True True 0 True False 3 6 True False 0 1 True False 0 2 True False 0 3 True False 0 4 True True 1 0 bq_min_adjustment True 1 0 True True 1 0 br_min_adjustment True 1 1 True True 1 0 bb_min_adjustment True 1 2 True True 1 0 bn_min_adjustment True 1 3 True True 1 0 bp_min_adjustment True 1 4 32 True False 0 0 True True 1 False True 0 True False 3 3 True False White move False True 0 True True False True 1 True False Black move False True 2 True True False True 3 False True 1 True False 3 6 True False True False True True True 0 0 24 24 True False 0 0 False True 0 True True True 0 0 24 24 True False 0 0 False True 1 True True True 0 0 24 24 True False 0 0 False True 2 True True True 0 0 24 24 True False 0 0 False True 3 True True True 0 0 24 24 True False 0 0 False True 4 True True True 0 0 24 24 True False 0 0 False False 5 1 0 True False True False True True True half 0 0 24 24 True False 0 0 False True 0 True True True half 0 0 24 24 True False 0 0 False True 1 True True True half 0 0 24 24 True False 0 0 False True 2 True True True half 0 0 24 24 True False 0 0 False True 3 True True True half 0 0 24 24 True False 0 0 False True 4 True True True Not a capture (quiet) move half 0 0 24 24 True False 0 0 False False 5 1 1 True False Moved 0 0 True False Captured 0 1 True True 2 True False 3 6 Side to move True True False 0 True 0 0 True False 3 White True True False 0 True True False True 0 Black True True False 0 True stm_white False True 1 1 0 True True 3 1 True True False Material/move 1 False True False 6 6 True False 6 6 3 3 vertical 3 True False True True 1 True False 6 6 6 6 3 True False Sub-FEN : False True 0 True False True True True 1 gtk-copy True True True 6 True False True 2 gtk-paste True True True 6 True False True 3 False True 2 2 True True False Pattern 2 False False True True 3 3 3 3 scout_textbuffer 3 True False Scout 3 False True True 1 tag_filter_cancel tag_filter_ok 3000 1 10 3000 1 10 pychess-1.0.0/glade/panel_moves.svg0000644000175000017500000004114213353143212016342 0ustar varunvarun image/svg+xml pychess-1.0.0/glade/panel_comments.svg0000644000175000017500000004151213353143212017037 0ustar varunvarun image/svg+xml pychess-1.0.0/glade/piece-black.png0000644000175000017500000000476013353143212016163 0ustar varunvarunPNG  IHDR.0neHsBIT|d pHYs P P<{tEXtSoftwarewww.inkscape.org< mIDATh[lgfw]lîml@l@BM@9n^WR+UV}h+JPVQZ6I)l _/8K^g,ƗY>̜3}155œmvp-7}NȲicT52l\Qx& TTTJ%䓫LNN (c@$dYrqėq\+U>ZT52%\ x rv;U<(a x x'q:]$333,//<#mػwd0 Pb=+ϟt1??DRhh48B!^ULOOȎVڑ+JÇzY\\2J K{|x,?MM{Cin߾E4Ro[1,+J @mm-$"Qәet\vVCE 6k-t4hZWY]]g(++8 nVر!X ð<宩|FgqݼI$IPrmMYPQQ@, C't: ׫g<N[iܹ3@CCyxcSiq1JKKKzgS?6dg+snf{j%M(//47+!nF(םY,yO("lt?AIɃ0 q cс){n3::aF4xii>.\蠷`brr_LW.݈`qqoX0 n߾ ds7o hUHo1 ,ʀl&da̘|&lh[cd&9{G~|>nYaِeY&] Of2 LSSS;70rׄkHҼf۱ddfzM0 ]70 Mu0ud2ܜy2sK7%`9W.uvKC~k[=nUr\nIj!)P!S"ĪntS/'}@< ,wvK*IVnԺ YPJ,2ILBE9ٮhZ&g\RBtTf8Aǁxgǹ6q<.63Gdirx!ZK,aZgǹ|e |Gh*rT|[ oΎs4m,xWzuv[5e1ꍛAIENDB`pychess-1.0.0/glade/panel_score.svg0000644000175000017500000003647313353143212016337 0ustar varunvarun image/svg+xml pychess-1.0.0/glade/dock_top.svg0000644000175000017500000000654613353143212015645 0ustar varunvarun image/svg+xml pychess-1.0.0/glade/tipoftheday.glade0000644000175000017500000001410113353143212016622 0ustar varunvarun False 12 Tip Of The day pychess True False 6 True False 0 none True False 6 18 True True never True False none 275 True True 0 0 True True True True 0 Show tips at startup True True False True 0.5 True False False 1 True False 6 end gtk-go-back True True True False True False False 0 gtk-go-forward True True True False True False False 1 gtk-close True True True False True False False 2 False True 2 pychess-1.0.0/glade/document-properties.svg0000644000175000017500000000662413353143212020050 0ustar varunvarun pychess-1.0.0/glade/16x16/0000755000175000017500000000000013467766037014122 5ustar varunvarunpychess-1.0.0/glade/16x16/weather-few-clouds-night.png0000644000175000017500000000132513353143212021417 0ustar varunvarunPNG  IHDR(-SPLTEwϺy}|̺tuuuvπ̀΀т˂ͅφІ҆ІχЈLjɈщ͚٣Ĥۥîַƾľ¿¹ºŽŽžŽƽƾƽȿv1 tRNS :YhIDATxcFf6nn6fF(`6J/,L2gYl SC&jJ*@XW94Z[z$oQ{{{bG;lV@sEuc'Z隦Ҭr"ss3 Ne9 l6IENDB`pychess-1.0.0/glade/16x16/weather-clear-night.png0000644000175000017500000000105313353143212020433 0ustar varunvarunPNG  IHDRaIDATx@D`ΓLµXfKfy 30?؎vtmi'g?ރhָQs'gr= bW q}Bb6RgrG~cYnn.D0\fAX\~WJDb֕z qh`ET+ZGZiH+ʺ7 ;5ġ (MˡEoFi ]s[@dX6mA^6i`BOCs!"M㴉ٸKa(E%ЊMC*r|cQ`N@6I!av ȣn7|!BXL%2e3Y|lH̏:l1o}$l 0obIo l2Q1_<QkZ_-R}!yj_<t/e`cͶZ YLf_@˸<_8;`Y0,4~Qg-g%PIENDB`pychess-1.0.0/glade/16x16/weather-severe-alert.png0000644000175000017500000000116513353143212020640 0ustar varunvarunPNG  IHDRa<]TTՖM%nQWv? jEu®n4fZU,)L6DU$v˟+FAQd> O@{X@*I+-tFv*dQሊ Qk3fX.kOTT 5# L:ͤg 0 ԃHxZ۳WjD@'RO9 gfi *JT4<4}\kl9FBםA; Ü};9ßgsjn }&OlqW`+G8!+d/D~G^R|sn&46vzg0 %W{K =>Z.^v/a\,䟟z+d1mL0(Gw#}2 Fme {%zIENDB`pychess-1.0.0/glade/16x16/weather-few-clouds.png0000644000175000017500000000140013353143212020302 0ustar varunvarunPNG  IHDRaIDATx4G_l۶m)Blm۶6{uf.v~U~=?AOhO>h0'zB)eEZT%;j;DJVܗ<9YeT瞆ezd~ٸ'^,;6f7YͿYw]wu{ q$ya{7=oxNn3`CM5elGyZ^sV }Clf 4ԑ?\c#N;,n7ϼZLYێ2^U'ZmH& otq ug[p5E'A#-`F/ޜjZBw=qu6L>@g!dñe~QolWnݓ 0 oOG3&=J|79ݢ<LS_j5Q(0KE4M˕{3lDН|3oQTlud:4ME<ZXj;SMK^巿㝽;ii!W;ϡD44K:B7n|U|V\4%{N=hSZq#LzD(*8 (v@cOB'>"yob@ʃI:A䢥Z5=0ǻhiDCj Pd;q\u=0/M1hƒ|4istGJ^7h78 mc 1B8R 3' P(`JlApvESMUj~3M2:FWM0tPpFş5O1?"Iqt?0 p 2GĪzQc%N芯ut/?G j'!sp\}5*w:Sϡ- 1~FF=JOG#™ӧl0>UdyTh3Ԋ+.:΃cA5VJ{+Sʯ~Ҩzuw/dXr}ݪ{"`mIENDB`pychess-1.0.0/glade/16x16/weather-fog.png0000644000175000017500000000115413353143212017013 0ustar varunvarunPNG  IHDRa3IDATxEbJ^.t\)22+ilaYfPxOwV{cT2=2^76ZQ4BS42GPw8"^Aɩ o0ni,D".̊k+P*a`F(u@*.wajz 8RadtR'*1 ˗?s&IxE>bO"ۇ.'hBgn}z VW5GuUéE-#XQjIENDB`pychess-1.0.0/glade/16x16/weather-overcast.png0000644000175000017500000000067513353143212020075 0ustar varunvarunPNG  IHDRaIDATx͒U@q^Av7SeG_qV'3IFァIմ?D^DnOksہqN o[u0D~VQ9x_JYF^}ewsYQS΃ZiyIR'vyJeF銮s{3&Ì q!7ś-_;pډLUZۣ{]o{jA,EYB]# \ʪ\ 00 Cu?R s2<*eJNB&̫"6*g1^ Ǎ|F1X֘:~d1'Km^Ґ?3[#5@n0 9'4! eѵIENDB`pychess-1.0.0/glade/16x16/weather-snow.png0000644000175000017500000000075113353143212017230 0ustar varunvarunPNG  IHDR(-SPLTEP%tRNS %ELmvw$EIDATxMz@7Nvlۙ=y0Ƞ#|G-Fz?K&7 |Wlc38{an of >8-!ؖiz9e{C [^^<ʯqP'Y߽_hAyvך1;kئGIENDB`pychess-1.0.0/glade/16x16/weather-showers.png0000644000175000017500000000121213353143212017725 0ustar varunvarunPNG  IHDRaQIDATxC[$lbgN۶m66}lۨI{.NΕ/ _ISLzMju 9iE`$Al3(%[@uHCeQ,ovXasP#WMB"޽[Ԃ?R` PpcŁAQ_8von9M0px^}էd^_Q I#A B-TQ$'&!%ONj=Wq,e '?SٹNEZf2BIS# %dkUpm؍/F\"tPae!6 f. 2/ 9:/szf6#9sv(z] ^.Ab3X0z ađt 3n/&JBB97+ {8rq"|&B]קMy엊pO%ae7w?jc晕26}L6_|A=w^Wi~i:Q9? m;TCz晡]C￝3r޻yğ~1]Q߭M]~GIENDB`pychess-1.0.0/glade/16x16/weather-storm.png0000644000175000017500000000115413353143212017404 0ustar varunvarunPNG  IHDRa3IDATxÂ]Cm!xhm۶vlbƶOSܿ8ޅ\q.G9+.”ޤ+_-2.+,vo!2_x|Iqi2붡c'ԩS{i@)cJBY|<}|}=? pZ~G 2V< N NO(.xpBxPRnfhBoBg@SBA'2ؔ)QeGXoy*j3Z%<t*'LrB˧55Lde ODL O_*5 h+mPjK/dk*O/乊^-]\Cx'w;"u:8錮g6[Njw-fJ\y3Rv?\SЃ^`|/ymPHݮ[@)]\g6!p[$/M_roY;u|IENDB`pychess-1.0.0/glade/globe.png0000644000175000017500000016106613353143212015117 0ustar varunvarunPNG  IHDR\rfsRGBbKGD pHYs B(xtIME  Mj_ IDATxyeWUTCSzHwg̓!@AFQ'*(*/L !NNU5ᜳ9! $?U}֭{kgZX ka-ZX ka- K,|kKKih%+k$jbUFb)+ak !Ɛ). u K8;k;b(8@5Rmnu`ri>u~?ڼvꤖ;/z,SJ1X9/8΁X!ugAC8b9swpڅ+nVQw?z Wk,G~]_#dtQgԳH\'p!$8Bp9NN`åvNpX+ւ 3FP`u3v|UiկM/\N^YS[R~X]cp TH)BBH R!7|CkT2V׌4c E{gwPJ !a 5XWk~o,)qgΆBvf:绅N:鏯oj/8:%oI{;c]#nU8!H$JIH)ZpB,Q"FV*iFX]1R()|Z.\|)ztwC >'skqֆ LAQ8k1;?.+>s/vÂxJU/|ƅ+W,fdtmRH#[{(CJT8!B`7 jSl\aIJ}D^U~|&%Yra=@ETxs`]pbQ1`]3;kq;擇۽Ⱥ??Kj_W=g\igu &#j1iypp= '}.%>/,]s겄S֕+iI= wZ sng;T'G)}4kCz'` !Sxǐgk;^nr/ g| kW,yYѨ&N""EqIӘ ۗs瞌<78[lXj:݃S;k;vӂX.|˟˞cbБ& :$IDhqR29+@!㔱uKb.H"- l |w{"Ż>ٞAJ1dԃFn@$JGEQENy*د=sû]ۿZϿp]x)%E&c$%4QĚ(VLu%;' 6t K;tse60Ź*"6GkIUˇٹW?܌-&(S(cr6Xܚ??ha-8'|]׬y_/}#$&Mj$ DvNdT558韰 $q.EkȐv??sR;@Br_P c<+pENasCΙ? o/zۺ˞sO%XJ$IL%j1Jv3ȭ#-+sxs` ڜrʔ8=|.:~k.Tϓ E `(pE0"S⣦w'~~[/Ux ~fhˣ5,jE4 I[wLv /8o}{ 'pc!زh )L ,S3şvzЧ]?4/y[W/OPQD4k)4%MbIHC3сv <{ιA/J=ƀs|ߩ5\z'`=\Ͳ %"Vt <pbИF}ISc,AQd,0ZM~lo^ص'^j#8zͯwU_jZ)ҴNZkPOkD:JDb Ynɍ o !Hj[i9osoɉ+҂IH׎ pX"S'8C6I{)RgI#FW9r,ޅ齗]zeg$6N(i4j1zh=fg9q!:Mŀ1a(Oor@4pFH/iHy'wE%OD'9s1r^S"(<1ǎOvBpky[_{xG1k."!Ji6F8ke̺19:')~!RHJzCٶLƺ%q1ќ"]DD+:CѮG:Лs#BJ(THT )k|CkUm7,,8㯗㣯x _zZ3jp17iE#)hÓt,ZbhPt( !o[9<ӎq&w?4fU'7$:ɶ}mHav<)yqB0 'o )d4ĊĚgz7v8jz[NyϾ-mTIh6X<⬵#45P" {/k`XĚ11bɈbk4Dt$}Lin ;)D~,Eh28N>|059oEm֑CVxnT]~Ǫf,_2Y՗~Ʌ]xo"Qr܅ޫsc]?Gz[>1K}nإ8p繡q6Q/t?K)@JPRb֭;5$qL#D]p S| ~8zR^\GB%ak%87`ly wݷ'Y ^Sd7+65?aG&j5j4ҘS1'Tfb/!dw2iFK[4 {C=G SX8) Y^e={(Fc(|L3T8't~nv:RhDHTQpzP<6$}Cc(x a~WH5oi\yYa1#EQ$JJ;=o/wl˖{A;w_{kyϯ oH*vɚfsZ$IHӘ$ɡ`bӲCOYpS^=-V*ش<+3XLL܂^g`Ck(rCx֙ D>rpC/@Kևsغk(}_ %"D$( ; uyhG&<%7)A/w{Dh_!aCȲ [d=4۽-S7$[=/JEK[W*FZkP%h➃%#1kǤ--LwH33`Z8eLvI%J|@\;]G,{@ᬗXGVyk,kE?DJ.[퇘DJc}ز\o&wJ#>(0יKn-nƯЙq^n)U8SqsWe)rLr|'0lh7o=B?O\5_kFӤZ=%M5$AJ(;J֎Ė'2vNZz#ys8"sNdl\^J V"Yր3`o~٧Y'mIl'8xѷ5֨FFUBipƪ&>ՑkHJV#b/ADy(i{PPF:mԁx% Ne H!( R%x̞X9ҳWv+?x;gׯ}S}RHC\k}Ѩu7=Mqzn3=GKl+<J*+HFkpF;7P+c7`t}-)*q+VXZi h'}sI/^م{t·'ZCzzA6h>-O͞Ul;篍= ²sp!Kf.u|#VH6,,o &gsvMf{XyezBk2c Cn^/E׎xqS5FR^rU)`8ұ&gG+"*}mE `An2݌SԫBN)884ai]x9tz= ա4e.?5mKWs%_ӵcǣ$^h6i4uX#B jFRppVJ2۵3Sg +p>tɶ rT$L@FHA)t!DE+"/v#l\$QQ8ևpBӬH҄4NHkH7X-%JP/5 <.Q6!c,ڬYRD8o=IcVw9b7tT7_p/5WJ-MAE^2,#3)p΢%hnϒ$1 ^vz8{Y f4KLe:\t2g09XKS>y'_|+_ع?|_kFyE$k f8/ZI`~WwEuWbΏH.w7}C8 K`qg-]LV]|e!lh%@Ka &/zLLfL}g؜eמ]zPJ#UH.\~)RdGNs |C8$R+YHM:5}VdY.۷ořȝ-i$5H)Ȳ,)L1oʣh~#7rI$' si2qđ{sֺEı(@dYNM%|%go=>)&=)O~=?}_2^zYIՉu!C3/V@ GeK-6Luqܲ.YC9WNPXu=-:(#r_u@˾Oo;)Iڜ!#M"o`x|;mzF=ItB^1`.po+,JDKz,czO)Ba鋅82gVEʓ,9S` $d68g('t†~[GYGKqpslsG 1q\NHSo~~>W"MT%*WRb}/B/@"$V^ @GC' Iv8pNY\碍`ݜ߳D]R#3XJ {/ݱZ#9Af,=w%,m2m5zX\qU[xQXj<3Vmg{{n/lп)c5IOf4%5ZJFrI_ڧ+@lceZ,*Rk.X9"=:B`OI'"F  &+eNed+bT;Kwfmh6jIx`J{0zJJpW*+ 2({B Q?JܿBJ+qH"]?XI3WgǾ)m" ,BGeGE67?8O Wv9v偽3lXzCUİqHzYŭ3]n<v\9N5k)q@=}Wb/ .OcQ!N4IH4McɧOu ͜~@y9\ 8wݐ` pPWJ~i N#%od=󞾘KNeߑSGAJU,g|ey:GjU%ZgU5^^KNo5sDH=\uWlhk7.8_+KUUῗ*O49/H?JIoUi着׾W8@%d.eJ%?-k9zi&;^shf#.نF`q=4ï}nw/B|ǃ\}I ZI݂?$+3NPg.^w>ZqG>QuA>Ӯrݶֳ.e#EJ{N5(  <8Bt G1N`8KXviV}|aPOޅ^T]hY!Z+"ŗ!?}/Ӂ{p?Hå3)X9ienfs':r"YTv²ф[ 5HEw3ӝ8^pݻx%#b--۹CI[X:Yγ^Yk1 &`Cy]2m 1^_u?nij`%/rH)3Yȅ J9: hө-R'7i"iD"Gѫ(D0ԃ#pJ䣂WrT!~{G;_y 1V̺u ضg= c}Cf M 㤑 ZQͭs8شf1ٌXX&"za^fzN.̟ 0>(2 ΂\eVف-c$|Hsq(zYחHC׸'JmobO0tz99;_͎CQULD!q!~ P99/6U?PSb0(Zj_4Q X-bCmNC0Lh!.fnw׹=^;@ذ?H-qV'o~YM;bMkmŊIPF,MǼX{cOnŵx ;=ݰX1IkkM OIūP~9;N XM~\bDbc:QniN8;Ӝ-XQwRk9ڟ98cIy1F<؂ 5~ g-k7"Hjbi^;(Ph$;LYksKXS+rLQp`rkX9 łe(9̳ @/DJ0?4SpS8/*g²z<l7đnKX:% .O3fgfaXeMf90X' eg,ݯ8CyIؠߋ"/8mݲ+EMw,8G.}ݯ?g,^JYu㯵>&+ß~̑,r2â:0N~Gw_<<G"Vrz $lȾ b 'e8}P/—A4WO"%,G:/K~c,,3l,Yqn%/ghcD4Mt8ȋ"4e웘9F)fLLe‘^ WfDA^_> v?:%uj5Aژd7$"҉DGKc> K77tzt;߸}3dyN)NVK2'׿7(("HVg1Xkc k,=AveTA$q<ЀPM|"j&"xqOGPY0}aIbt4%#jrcrHMsyb9s2N[/cW{dGs lig"͏<ӖB$$iB M ڃq.s''sdAeA# 8k_O ǯzwI<قzE:*:lI7r C">{)8=&!HHc͒E /i`$Dq9O''ϿLyd{#>q),Q~ُ}Ϯ[ps֩W`< [5@NƱG+@Pn}nC`*ce / GfjrÎ]:FQ0>6Hꡡ'Ĥ"W5Nz$o+bXO ;³0(@*r8{f#LNpƵs. /*}z*#E$A<09W|303oVc}$iL6zn.*^)E卾<-sʈ8f6*Oپ„u 5:>ӍHT\v"qNaqLj*Ρ\hՕbC0p~@J3PM)#dt-nl 3h g>#?`cs{U6 MS0E>޿z˻p~-IHҔ4-)}(xTU ]V%>iFPsrпlq{y`$I),Cfkt D-M)y_б\/|# >1%bwhIӔ'})>/A?4a'0(r?UwO$-.'|soN|UӰȏ{!{Yw"%Al0j "/pų3S;|k|lP>Q~{Ӗ}h %Co^uG|1OD9T'}3Tt%RD:FE1H]҈fGvqGKZ *÷޳gH;0 c$w?85p&;7n+.߆{k&<a olfÓXR7TBpp8!PR w|D IGGo7|q!r5ZGi(>e$IHEH%˟{R_;v$IbwIS-/OG N<%Kq+Lm[8BGQ" PZq:)TiX‘ΨNz~0O?Q!wsC`u*ύt{9NF7f1z*/M#is>%e5;@ taAۦ(*PJ IYտ91R*~x댗~T~⚗ZK_k󜙙)͑yߐY(`| w'QR`&f989tQS7hZIC8T~wp(\ 9QN`<W=Ku-*]2pC_TzC߅g}o<7vl)|%q}`aJ `OO #&'g۹ӑBEUޝWq6-PxZCQL "y3O=ikF?^FkMIjz>Z'3,Q_}Hmt6b=kFjDIuҴ#0~eA'J,ΖQɰ@q BOG"jƀD %גƏ/owX9qEd$ \Br4vm;އcC?) W^z6s0F7{*ӺC\?Rn+XJxFQǝuX;(BG1*xK/g/f'u}OY4:H y ek]SR7lj67~L?N?D38sc# [PjV,!%j:otIp.P"ɳ.RxӖqEZR 8 z))I"g+ߺg7&gAD4-4e fm.;wwgs_{3J70Б* L^J)}]WSڹ7u.|M<틍Z&iJ?LuU-u.?( xd?)4mVEѤVoPIkuO=)u7_`i}0`2"'CWag@<e ˙.?Z-"/ Ɲ$dEF%j5$Eiͷyz6rϻlغܾ/x'W\fmsg^EJZ6}kL9%G =s@ )Iqffbkt{叽 k$qB{eC3PgL/1<6kK{2ZfڀGC o'aN`4e3^*|!v)_k+4!I]>;3O I'71jhZz18d?d/?A+?K|buy ~NA7JT}|1%=S@a%+ 2ӞphbZ=t 43m~?5tڤ9?%5t\Ư|T(c_ oXR4֬Z6ƿ}Z ~ SZ+H3H!0u<"Gp"OO 9gt?ӧ>{{\Rw5|I7V 8-c:)$?Z͓KJopL<}oyÓz&}l_oϙ>̝AYΠ UyeLOO|=e$7b|rjj&:#oqB*2(xlff|k|}N>Ks7Ki>\MFxE'6oxeʵ/kLl(-պNE>E8QΙsJނoiפirWooxR9glN(r_6a zs3 0' `g%v9zё:iN: 1v`&ta*;F `]ggb% MAn]` :/\Q>[IEKh i5)DuvnnїJJ=n$afiilw?ǝku +fE2>m(_dDBz#c2JzwS_iFgdtFkZ $QV6 IDAT1 3R$7Hgm0G@ ~jÜ~7XZGQVLHB$7@ku_E4Z$&II|SG-֥:JZ.=gR nwq )%}pZEbdtwr>HGu#Ȳn'=:&Mk`U:QJp4>E*M#g'8D8p pU=EE8w* OidRWၪk_C @730;5L YW 4D=ȾfZA6:F J}YK mJ8/3_$;_'xUeV )5c@F0 mÈExyb$iMVA2?{?{C'R% Bz恣à 8K9G TkB=hp(˒,/%qW C.=r G_V^+ ܀尝fwwOVP}7^Wjl  A\ RvcOܹ׸p yQS?RRgʮ6B)l) W =ٽ'Nh"TX&.*2% Z/_8g.A`#7IBSUkþ^`+.q|cC^Srx/HǎgyA^n+U1cQHt{~X-Ͽƀ~gikV -2Ak7s"M ӜXvZmFOsZ_Djo~3&짫ɒךd|V/É*Y[( `Xet;d<ơ821E0kT2Apq1H@>*EGД.?7eTGY8G m:Y7-Mղ@mop`}9 Q?ocNF ZR=>o+%"N7J!T<-񠹖 7:A=Kfzʢ$qSs }x3 HC?V*|!-jd!>eY e t`G)hT5 ұwyOVPZ;Z}y!/Q=In/ԇ_X2r3[Y. s `8%Tn``Ւ#jV@l i-xE>ˑwХ $IZ#i 4' v'OLy2O̬PTm9kCǏ}tZIw:UI@kŇ~Q,. H' ޻?W$Zسc'/*#aGTPwݴCRf$iF)MfW֤+B7߀_ !򞿻;YMݮI@U"#d=T[f~K%os<~ VIq?*2n[ /a-AlLj%Oc={غnP! Ƒ˔W%D  έ)-+fv/fdm?;x('l5 ea),so$ZQ7'eTc\h ʲ2KWʢ@Iq_}z Q=:N+֐$)syV|Y^=ߧ@ՎVd|3d@-i7PjcAjxWSWh*Oc l`V0zi[32ΛPZ;W?k*L њ_{s $?L^Zʨ iJRp-8~>~oWΓ6VQtJk1kIUw!\<{^/kMDeetŇ?$' %T$.6Ɛe٘ۓ*YZZI[Y: *3BZcQl}WsM_<]7hhTE0tNSxA8̈́s`qEz8⻜y(JC5ORaǨѣYiJܺ8w B鯴F+!ߢ꠵]dss1 8Pr{ Z? *zp)4EIбOͯd-1  K%dœ(׭*`j\vM|eiߦsͺY47!lpEwpZ\t?|4KM'K٥An\*ҒJZ1 7VRو*ߢ(@XFKV5`5R~ 1؟$XaVI1y(N)^ϝ嵋}dюJ,A !Z(~!$~ aٸߍnj.c15Q٠LІwg G[ໃ^%qKYSɓ[ q-"6HS~p8nmgV=)}]*9瞿~C{ pב$cL K@Eޣ3'!gr-y׃GW׆CK=fYe0ׅ>NI/-\#ۡ8弱_#c;h&4LxNf nƓ_|H_{_͈uqeyaU~7?`C8`F4Y55~lwusOqrGWG-<Z+ LfpWJ p2V @&YF&RǞ?5a7]dyƾ#\Š+ϟg./^a]܎sX!Fn8E@IdD*eXm R m:ݘQp>1frY-8\ Y]N:|ۃzs'I2Xʿ#C~? m?iV{'r6@%&)(!I&X[[d[{T^)=|"'Ol MT& Vl}ˋ,h 2tei6J Q̂=sZ:?TvXH=փdVW݉_al4qK#.@~tocߴ cƷn|_/0o$ɹ ?<WZY:RDIng|W_Nnb78YjX6VWwGW"Jqǥh?yϙMҊz)TEIh%X]/QR"G)s !,?|͡wrRs{.rӖB*XméuPWW4$$oU'> :Q5vS| ojCm_7;gnz⯼T࿲zM[# .w uฉM5CKҊTf04k9{~/0CY`x^{g/ ;<>cJ&s=o"0oP Nph z j :i10|If!ܰ] n$]Q9uGnGbUǻ+zeƝy8?q_ 4=D2z0.Ę2כ}FXm_Y? 6]߉RvzV̬f~ұ ,ᱧ^:>Y+cƀFPY ƺ ;Gwl pxuᘯ_3?]Rr^ +R+RH9IbR "IC[4g7 .FJR;TAꍛIN6HVI$'7-8u~F6~fލwc<}SXM%q/\X- phEݚBǷ%,oT﯑W% 2MgH=ì R4/>|gL$A*R%ig'^_W &'.]o&}}5D_CRSq*R6*u H@VZZP\eAZYj1@m*g̛W$g{ l:Ak(on<W{A?Dk/7?O@TJU~MI晗},/?l;6,eo`$Dze8y":"T\ȉ}ku2n:{SH@jASy'ܥ?wnZl[47Q77q{n"I&f&@'+fW#Y7]Sc4߿࿒#vr(X|B+7 OD;{94iw9?}~ ݌D'$ZcOBg?~DF+xM5:Td)'6*Є"7Ƽ^N3Y3U+Q(/$ ]0>V 1V7js`IZ+6 R3Tn0nSk-xRnqy X7;bj} =ѯzwBnF"F' /?%ƞߤM[#VՂ_ cll_{|W'JN{vd8r;SzGSg|/0(Kc憇=‡"K$Ea((k[XcY]Md|,w[iJBc;Dy2-$J*$pf}H$LjG8`lpl_*-ܲ;sCrOK3y;5Nc߬f3@EĚ)~d]{#JV.EyYwM;U$Z& /vǿJCH9 TKQE4%s~*{Òɹ[ B%K{Z=hM&M "$Bx2-dNf)TN[n2,qikƱR^>5 3Nl]"p$9~N;0Q`&&0:_.K ]7s7ԿJj~&o/GvdPn)OLUlgLei.`-ַjҚp-J)J0( ,-tA&w\vFn?#SQmbsJ,L`] tu0 }KXSx@S|ܲFp~lL&p739L _XQlox0!у5rN+ ']  ̣݂|$/8Fqsz-/FUuWclԢ *rP\agAxA;.;7fQQ3 IDATL4 $ zɱ*go?zN|,}mE|߳J/kĿ9e禀f_/Nb688jq5 @r`.\;>\}_[9%MZ SoJӄvja-d jP߮ 2N{SZtq `.J͚xq㋙0O(T K %4casք[Y^YLP,ag'2#}!`xtwfgv@|.&9 4cfr l0,˒?~ AZ_zLkcGXh.藿".l&Imf뢪8M7D+*سi# cv3N1u %<>&>A*AYxљF*zu[Bܾ?$ZFI2 di;nӜl /A$)akzH%TpBvYnkEJ@JD5X$9d$ZrT&IG G^Ѽҏ]/1ͽ2>3c2I`7=iHd*o{X}]Kլ~r&A(1~x/,0{(\<ٙq3*V,՜:Ň? :aXȋQo0>\Zg:+m/F,הHc8zr8ݑز=+GM$DX>*x8ya85Ԅ)Q~RGsx7Nl$X-aU"o~_?Y6 F;e~q7ىqqAcO-V2o?< \{;6vVbGx?7Rk@?bTe+D0 Ifo~IeaKN E4sI%Y\Lie)Z' K(wc\<! Hc{)ҰeNp6v^֥i:-E'Ӝ^7|>X J(DHBPl W;Z[JI.g^Ce IVPq^ qz(XA_Y$ `c,((08}{V@j~'eix}{U‚pO+}:F1A>RgS_y %$/=E>/ª{Ifn;0HQXAL8ܙ{jn](C6 ԣ$TC-Fj F !hsk=>r:"h&%2DvUW,%p;.U FS1)_{sÚ]q``픬(Ԍ4MNmy&#RJ~auoN:,CޠD5qHX@KI6qG~<1  +q Liȑ_ၻ✉Muj*MUByEYCw/?hg=~ŰngȲo~ l zÂAa)C >5"UzؼSl ;@(}9V``m`)'/ ˝*ˊ˚= ˝zc%|ֆ򽹋DAxu/UC+ Ɂ匳±wxyȴR@+^B`D+%'Ƅ8osݹɀh~|l eo) GQXbD@a!׌ߋp-To1A]603 &gTapj _Zq`Eo)arJ6LWsZڃTDTk&%]v3J3 {PYcU$j kMmqy׹oL>@3!Lr˧8X\< q0(,[C'Ns>|$\vhm%^.ރpA X-GliK@T5t6#/w$Z;E*EQqF~,*煬xR;W2 <RTdPk=.>  -AMⲯuKTY-iQpdMh&tK'妃2T—7>_pDs7))ȁ]^鰱5@ї|KN|+2P YIGiOi-y ٭UHN2v\(-6U@㫐_>a=z:S.9.$ܾS]řf"Z9%m0XlPd Lt] Q )t>0+a# Gl~8 s0! Z_,^>Y5k1Ճ~7Bǭy!C?vN;hw$~]("9D\=hd(rEr 4w^tBĪ 0Q1f*Hч.~B.8喵^AHaw߻vR.dՅaA(dl\]H2MƖ58( C;X ┡􎵭DoBLp^@`s<9l2c480 ڀi7,yW9vǭ8gU1˵2_mՁb7*2[`F $y"BL/WL$J$ <ƺ3;y=MTSyD78DJG0R-W(_>#GWdI?tKawl ™O>k E*{Dk7a0AQv\Jl:_ Qbd3]1y86zedCg

!nP@+INJ!{YWTMDC|zAia<(_V} 7הvh)IDuZ6ҋ]򎀜f&L2 T*$eαr~-'K@ }20a7)~)\~0'nb$؜\9/A)Ovǟ⯽8N;U؎Ĥ !*Zv3^oJR *>Y&2P6VJ 4!]Hㄤ(!QyygCB8rvXh dW (k&GwIk7aYqXgDMzk9 &$c8r863I M*ɃuZVe=E qP $^jN)Lay/~-&YVSҍJn΢a$Cߞo[Y-/,΅qoog/XHs'/NH£ls9Xk:GDъ~GT- V7Ake) mN|ւg3R l&%'XΌjKT] iF)=>a(;J~BJR@`yC4\4M|'9}zA.ZT*ZkEwxhXD|_Žx/^L` q؄Eԩ͌dqJ.EP icP_IjoǛ:ijjڙ햄pC-56~Nlι$ B$SXXh,t[aɍch4=bAzicGx&pf4ԄURP(,r~֐{B K׉EL~} W$)IPXa]t;gAX/^ə!Q8/ {245?=>B"FZŜD*E+K-A'\)Ht֊'zc,oznRus/3/cK z >uVqc6e2sW^H?|>UUS%'9GYZCT RTl$ʁt2$0V_?8vH*6ri 誷TKQR0"uH*Z$ݹot݌+mJcĸ JZMPƼ +,:!IҘc vuyE -Ei޷ I'+71\ r3DC'3-A{%R%EasZY-Gw(8q$Ͻ*wqǟs&aRI'H Jzx Z'5߬Ir5+zj J&IB 0jBx Q!#C9bcG&}_ǹj)*q#AGp߱_6;EjT56 śd0eOu4wAoщ SFזP -c򈢦2C*څ1@|<}>VH}fvϰŁ]D O+cL(s k˨*&Rudi®AJG50b,u2&V $G7Ns g{Z^❏Bǟ⥓y\葶2. ' 9}~sC u)Y(ld%Z0N[sn> z.wt/8+!Mc"M24N0,.ىVY,Ʃʹby4gg7y;uoIltBFUu;Ma~ݜ8CG;_(SZJUϜJ` IDATsOh0cLdnB&Yji:_ 9&&\n14q^@}W%$搃:x&tS䞳!:W:ˉSyN13ԄJh.Q6vwx#NaVtp+ "a^!7t7//@Y v;FK 2T22_,-tPZ0JB5ŽIU S_۱ W7Z/{8W->cdn PJ3Q{򉯟]mV TG'a*؃@Il\ܘ1pCcZ9,,w6!%z2hf*ɀogsS؀ 58^߲6y&J6m *J!Y@iUX EcCV&!~),< :l[o;v??Q_J UbӦ(=̋^r B1bMôj0(QBQyGa{X5JMGO~lQ~,ˁ|dܑ񆓌<9&=@,:nJؿҔFQpI4qf54Tk1_8,5'x#@1$M҄<球7~DbAc\Y^0l[c.EiY8h򱊪q )C [Le-t`άS>;MnGt+0 ~It-}9έmg_P/B'CHŋ9(ED$)`oE/>csB o[=w.LJKZM7ou\0/}`M9x|ɓZh= 䔥%ĤxƂl./ ^88 T1V]-E0zLS͒pf_$ƈKL\Z2lȬ -A3H@!u3-=+8cIW堡kVV'\KIph2Y*n^4Wge}:m?G!$#yg78wυ-jJ![TkTThx)왳}uV4,ϱe4xV@HJ7ֽ6`pJ˫H  \ i>)KV2 Ht  ֶ ܐћ VO] O`$ š©APGGT9@J2BEpu&vOKсUc8 VF_|WNqa}ka &ՊZ9IL"vRWS*pzǫɓ'o롟R*AP ORxţI j@<#:Kû[u0#sa<1F-&_WoA!Œ_)Rzb &{۵ey7Ӵ`EdyYONIKA~hV~A7^bďO*^I}q~!bR;)4o~"#]/}_)Ietmixu.86748FyRJڭBH_!G{P938?l|]=yY{vRENsc|o/KY͞Rry"V Á6lS%|1yԲk͓Z*&.X(D+.سn6`Y(XlCE` Z-O8y?\ ,\c6bOW'cf^gJtD Zbr0T\`p |Lm4e;z97X27,;g73^^[WWw[-$6-,D`;f#q8231 8l!A@Z-U]׾z۽9w^U-7*~}OjL@JvZ)1s%d0[n }Ǿ똣 ( p^8ATIڻ |]sxZs1Z1ΐeY>ʿ/x0E Sla54XGpRV?¬wHbaaZ۠KxG ,|Dɱ%Кro}(\mpiwB|E0o]~NHI^.F8;WÍf b|'[= |R Ib$/ =Cݾ װ| ' (?g.o`~ڧZ:L+7>5l f)$-}YEj_O>ݗa9o%QKcx[5w?Z@k 9Q{X $.Vֶp `ۣo/Un[&U\.60gVkbnzR,.wⵀFO9x!g3ֶ}_Kg^%`܆s%vAZ3XA83z,,-F $|.?>bՓ SMNz` ɱu?( J3rNc}I!eeR6yY,XDZ8̌j7Vl*uRl$h'ۇk\W^l7!X# H*M Rmu^:lDzK,vlaS,>x;ވ(#A"8;qhT8}f ~v/A,3B s{'!zPRA %8 PR"ac+j$a!p@$ #N,OO(G~ &+!K&M156(RTU{9 u>?&D1?Sjz.KN1T (@j%A`6Ϝ~ďjſgg|!_F'tsS sr%=K)cǶ/ 8#F⹁pY研T oVkh4# % oJ,lE@d>ݍ N`Ns.&o4܋$M`n땴k2|ff{Xmf16քq K[>uR|R%$8!< }%e8`6茀)שJµulStS-LO ,.o6냟 WtȦPR{e8L&c ͌+D!ML5Ǫ`O^k]޹koK 4b$1FIgL4ː)I;>w m`XfJ!]זRz\&spV[bBr-;IJi\ JVu8W\-zsQXGH 4̲lZ8C(E?5p`Q XzWȯJ9o8Τ 5m}a71gέB IDāIn!L)*vǪ`8UNU$v QM,Ka-AR!nm` ̢PL FecAv0|r5P\Wr09W wĵqiqr u_8:>%W,j Z+9RKlt=@B ]߇A.`!*/^_M}U?2(@BxsaCC+ËWVsL0ِ(r1aͺW *GEQf[!RN+u$g?zހKH`u~ M/0n+ : s#"%Kpz\痜y*P Dw51 :zT9/njw ,Kp^:Bae dA/WTpA+s(տҹ_@:;3H^.e]g%U:!gý|72zIf`I0h}9n_*e@G8Yxc,d+>N%3]VPwEfV=W 1P} Z:/nr $yBpfPR&g,c!R zW˯;'t_#9Hlrdž1(ׅg:43 3~N).Soh F XGwWqqA)} 4C?ZVuvU:d'nH_2"ύ*Π~̑4k/kDGpF !_3A:~wmggLb|"7s ]GzY,v0N>zUwh/,BJ,6% aƌJ`;Lu&X^b`/X)zӈzz"U/Ёo'8Bi<;H ;} R9n!x@^ע2A!I+QbՔ8FĽY 6;yK#{=Ks@#JP"m^V=ܕY\}aߟPC?%Nϙ'=?jƫC.R)MᬂD:@HĩB+ ̰{&N3#>1Ҍ6hF go$8/Fe6+ykv_ZoPߧ âv繋]֨Wx$>E/1 @،("Ш !d!}{"{.;+< s%H'ڝ}ޣБLTt0J(` QRbnf 6-PsoEN(cGJ)-o<\Ʃn>ҡ']b~M2 fÛNa&x^8$$űB;!P3_ͩaAMى/F?>|`uOuYFCh^[A'bd0ziH.@yt?7ފם+91 x) ]dƯ~߇uv{){HbgDلC )时p}i3}~-^+SGxMr$#=sh_XWJ)geL 4SN84 k@&Xc>HCȫR0ݷ]?*؀Qknp/ɓN_ZÅu38Vl upȎ;Wz_J}߈z??%ƠZlXoEʫ=,vԌNG!e^X9OΡhBJN?V){$N}qo ]Xj_=~+ S".?v}oIri$3uaR^;η x˾'̑rG ! p&,c堒YAq+GPB {P~11 s΅=k$'Y, `R펕2GNGt#`9+piB~X{8,39 %A*qދV-'_~jP1W)#"\{V#L|H??3/U96,IN9ȓO*/<:;x~|OvBCkX"@f]/^GV_.sUd2[w#1z9|u˛)\^@*A3ReLaT041jNpÜ@+ƞƚ΃0&16'x 9LL̠7k븲3Y$%?,<@@ Rˏ*Ը?^mD ͠(+fb,yC0'p+dz wX#Tx}¯<XXV̕Zo Sy=(@*ϭVx<|:]^0RJ7NbiKdVp  ԗT _ ^W-p F6L4ߝZ¹ W vabb q9͍ 8k}Fʪ>> ~@?g\ Zau^nM[.[{O,@Hq =(hpsXXbyIsv^}(\f?[[B`pu1E9pėJs?. $_ǬX23bŵs|?I[3N&dX1H0=zJ8w.^'hSlR\\L0 _W> NᏕ۝m ?E3l2R4t!3o3K |jO6ZW=;|5ׇ jU"!ƚ H)o<$ůYf`-,%Tp -:9 Zq4-8z9ȯbAI}o^qZXY_/\ՓS~׽{ M{BߜHsBYozQֻki«5߂#|*.0{E} 2AשO4#L7{ o8N~?0eƮ2+\1{!8T40j0>>"`ccid-09E@x@>dSPo´Y{)$[q~&tq/~B'N2 H3_&,g;^E.a Ј$K3}YE$l1n]>YU$8緵bxM_GXU/8n!uĢo+$ 4@"D๣@?u87ˋOއk+]X"˜A-Di)%p~J!ȖN@~"Ix+8ХˎZ4|(^㦂 IDATA뿏C98nb|| a}}~`vbk=S ޱ%DcYxx ࠣkkK նnx>oizȱJ|`vfӓ- De+AȥrX48:XTP\)W݀3jҪ)dzWxIQQFglN@I_wGïP>5 ^7FCK'G@ׇu׋xVAΠD^:hKq>oYoZH,m Geʷg_ \'c }M88qעe@9[ ffWm ~|bu$pFsMeIz=vaMơSDoe2I /$xF7Vki}x ,Cd9_˵vmuoQc-x@7?pyiaY"#LO8K{f GtiITB(r_L? 6/\(ns/\=w`@pp4Z[5yNHZζrqv)%FDw CZxX_\DjnƼn6%@*j0aI^2,e]0Ԇwt{(6ղQ9N hj 4#o}IH/;Ij69$*}|i4|#Rq#R ]23P-kaP R2>~'d5nzv9 UH ( Y{aVb/&GrEC~`g-MʉBڊ`ĨRC 9 V{5l ƛ, ؄ەC[(Ri{rs}~rז61;ѹq7-,wx6=V8ʹ;~qߖF1\nl|U"?| TR|"7= C<䗒B5IXkF^t^%ш5/.-:&@*?8ka9/.噟|w4>{J8i 2H'OHj 2M8qpX|[f D>cUb|I Wv 0É@ :8Z8Ha^h8YV6XYkcr,)Z Nz D(#vX||@ ygFDoزD^a @#q Mt:["2HDZ#xՓs7eQPrF+–JC?G)g?6poʲt+{&& }/d Z Dĵ%'1Xos fVcZ@ ?'b޿)X2/~~P-qcIkcXXǣ.e$`gRBŒS{Jcc=y??e"V~^+vq|c!3399k ݮ0`gPߋ(\uEiQ^c_)+}q`tqoFˏ "y'IJ nu1zҔ;=,nbcV84;P 0A;rǠ$rZ"FՌ!;E 9>~ l"yBA%ffy\98R{-OIs9gy F^蟼YJ2Z. 87&~rɵ>bDi% B̯ 2zax I*2@Y % '9*%}M?&<7\Z3qqa.?h);r`x9`Hp@E%i}\_\E1=5X`}~/ehol΃ )3Eu #-\OaG_-v6OzW{{Z$IυHh]HK)d}K-b 0-~>YbBT2 z 1~[<ZD >ϞБ⭱6} ^,|UR/ +j$6e5`CB;~@Iuhqi#X @"vÔPNE>#$!if'%ҬZ#؍nR@+׶'B kES1a.;m^7J DԺtN+@H`zCsoB r1:B7bFGiJx:Wy;#Gcbbj([hvABNdcY-sIΜ7~gM.ek[GϿ@Z:+n᫵5O([y&?p% `x`'$e)1GB !)$N2_>:(E>tQG r@ 9 Z+DZO\uo"2T^ ԹT^ˀr5v2`g}#AH } 1֌09¡ВpVVUzMs,mpsˋ,3G Nw4"gAR)X#k2Sg @܁]|f  G aߌU }/EqpOMGfsYff⯶ `;IP׿_3/\{Zl֨"~.\]ƹ*2E9@s@!h?W%.ZxBh$rcq\]GorP$IkmX=3p~P7)Ushw{pΡcr|{&0=1&&ZMH!πf+M{&sB9/()Js~)#H!P7/b ,@ß~o{wpflЍ>s*MYz'WJ+vL3ZvZYI`rv ^胧~/|Exa7VȬ BTFIF*Wpv}[_ww (#rQXO (B@#ks Xw8ܞZCJ^^~?:t!}XCxz'7֤>K=13R ܟο m@+-^ m@1%>ة'igx+,2r˅kh% E1HCI Q<\ 0BSf :8CB+'_\ģ@c.$`{7))6#~QgÎm[T2 x vA8/śl ٱ;Kpc'ʕw%<mH֫RdDKIKp0klL?20^8l +Q.- k]~?xxupR1  U +“}#xOTxl` Jpk*R:|bp0n?<0$Y X`=9FJjr.ueݺzo\**eu_Vpuu_TV)6+3:Eۀ  _ xD*$)a}+-; 6KXB? q$E * ¯.Y)]q7<Уu ;@"W}{}{ZĽfO!`||xΓ H@f;)A k đc~5a[(.Nߒ$<9A ! ng4yඌԗ.v۫B7x^mt)A:B9FqS'*IK` >{ 8CȬEH 2epd84cX]]G?+?H]l+>7q,ϫC{56ΞG~a~4O= +򗗈PiH9P-92S/C d&!}#D7"nU(OCkY^wt^ IJQ,ʔ~*0p[ ᗒS ԛ }~ 7"4-_>c&"i7o&wB3~g76.ebm`500<'|;=i0 \ $uіz}6X3<}Z۷8%=_?PmZtD⑄ 7<0h N?zk7ZX>7?>@?z-^`(sҵ{?o|w/53yHm20/jCO |hC'`p?t#'\`FѢ7sT:(`>-(/J0|Q1ae?}z%o;wA.S;<'?oJ3JtbmF|R(0uNltШn Q_),3S <"@# F{â|}7߶ uHï>["|/鏴VqHLHYMO}31hc@~Ș .+_m.#I/TҔc,ɐIf L Kd16_~`7=ҏ!Fn6f mYk3 r-gΉrY@9r˞_O& H#S}iqz:_I+)~XF8W-h6|~e@hȰ+j/5ï8 >E.#(8~hGn7pt@k-66l`ccH~E`Y/^0Hc34E?M $A& Xn<| T_ QdVɡ9Bt!WT < 1@+80QZpo G;^-;*A#zھQ3jSV; VogY*ZC m6cw0LBM,lA{*- A1kCY!ع3:h^=eH ?MXCXJ_~KOXNiO7yu,@3smN}4#`ar O~qa*TiQ6W-8aϟ]9q`Z{|Rzܹ̃,՜VRd&u,.&K!qu~ssg=/v@i݀ `( iܡ!&|'hxTB0Hd#A-CYjh/GLN!h;o_ZƵMn*488: v}|B+ `̧)$EM4/mxijO? z P-nɏ?9b1B`pO}j?m#ugt`\,3HC후TQd^$u )Q1F)YAE lfamc2dY>}ؔۀW^y%N^, ùY?wiN=sзɸ_ n vA**;~/kdd(hi1;胒<@PZ)4tZ@Z=H*h)Xx*m#7׍=7c`e1 9 T+ l^E ^aS&x1LCI x 8 BbҖ0ғ E+@I X !|q^-3f4e)6Dr_}O%w#vۥ 5TFa(?W^O4 iʃ?)#457}]ώWG`1a Z7 ^%|M Zx’xk `M\<"n|0<7j:@Ț7):A<@AMu_RPk]*=ڌhF Q;RI.-wּDzw zBcaiucG>qc2쟵k[; 즥5 i xLE&`,-߇sS`Okz[gמ J;#+x5hF(N{AT4<(Q6R ~.]z c $HHOSUPx@PE! nPg[IQ2Y~;Ý'#5Ͽ3 x?pBItS򵳟Y.a6я2u_&ׯـ?݊ONb!|NϟKnC)%JX6^ \KA9PN>S Z%[ආ(_5"ߘ(JfQKpnsweoq$09wƾBbKgM)*-Iny/5PETLQZ RWO`An1βl17kC%@kd_PVɷ{~F6:ysMKSZ+%*t08|/7`c/|P.,|9G~#d^x߲5j{<TR;ء\\µ hײ 6TpyVL 1!2EP0r 2>)W>x3%7# eW HD2 0wDOéCPPh%RQHRJ^`E :Rg|l䓫c!eJ yY)J2 (C+o? w%ip}~4WWp*b* Sl(@EGVJt%SGxMkxSGRQc'lxO!&w RvxYn~|[co?g~+_嫦c/VR/t ދj?KNM0$ 0DyNN} /~jt`C d9`fz & H`m-d<+=@)f1I mAբ;/αfVp™~Ϟyi]o)g}bHv4$ԗ) ؍FpJA=~ O~C}'1=/\z EÂ9ðd)ԟg>R2, Vʼn()![(Ј?%; PD&'Z~홀4چT^I@}^)@0CP ۃ9Hy~@B(na -^z |#_z{>Owvv.xi@e@@cbԩSy7}:r;fqǁ1LG\) Thl2ߒ~W=b5p~%B0J&TY!](1R騑P!t Q@018w λ<|μJSsHkPBIT2nm~tS_7l\ ?W\ ;=w7ׄ Y@pwAP>0|;{x\;Oajv=ѹ}0ȲkRiBQY@ 2r-t*ӂZ"ӄ^!phnMlBs \~j} SR?pDIA*~kI7:S=VGAk o,c.</^eK:$Nan~-NSP[{XQɓ'u< gR/EJ5+Rvw &YPR%DWK|F#Hȁ=8t`ߗq}q C?RzoY- 5u6-X0\ xX:AoZ6HOQqj83igM;m'i'%[ыE=n?.( )pϹ>Cw󻽽}MSKӔy|*2b":?&$30^ *~~˭ݎ`̗7s0Wluyl |ahn ~ ]$N@hdF\ ֈV5͏#d2.nًtdO'05<|ă10FiIcO<Ȕ9I[PTEHeP`q|z!,Gsx+ "&}ӒH[3+K ՍQox1tstOky .q۞<>7~SDSrQy^P4P(0"=Bf[B|I [~Nl~V?ZF !g٢Pф7P=H[v"a`cÓZZ= qxR!ځh.>"eW8< 8?yl皢 Aqnse .jpH91#1p/&FRBF /^/7o;h5 &LBZ @҅"$|N&}ll9)Np4h:ocIԴ0m{W%h:2H[ DjY'P!* 5gplz:7>4̢B ]~ш[ )oq{M޳FJPE@׎oz˗/_6;[/?i6` AgQ:2Z](]栏n3oE瞜Mp624OĉCi_ d0z`^Ǽ2iq)2tA{{) gɻw?OөtS-4@= yWA>߫_%p 0hAO#&\A;dT"2znwwγ:vwȟ`k᠍N^w V+(!Gc.p`L䀧C*|96z(ҸtZ=Pp~qӳSLώd~LGѻUivƑsaF/ 3-OA:\KqOVoe ,( POohuI'`_<~ZjA(x )d)swdlD/~gH*9 &{u%q$Ǔ:r[B*) !PHf|&oz4h4^]]]04X?Sig؁ 0LQ~ /P$8:t!B\/T'֟8 Hح RH6h4pvy~otָ\V>3k4M"P")R@B !Ù !fpv3ULgd2\IAl-&2 _j>>}/2**W\Ih*`%(4 8nQȋUKWL%ӒfZ֚1m0X, l%g|] X W\], !," A, Aӈ!i"Hz`_ݖ `.M"t|UP0UX4>IDvAzU:msL.{d:mY&uUׅ4BPWzHр u XFF: N r7 23dH~^L|}o}T+-g fMɅ@eEʂ 5r AE 3}- 2F6 F̢X\VU"X`a+K^M5e|i/Rܳr_EX %^"EA `P&7]Ϻ׶TAp|,_j_:s Q}׉7Y /*F]|jHL|% `2ȀҎLS4&>sʸY*@Y e&e6Y,@@Vh@"(B ydS{K3r蘯-̡ ]|uﭰD) Bul)9-^%h"CWx+U'eWUP&,V6#A,Vp{ڀcmU,7Xd=@~sL]Gj.H^FUb]sꡀ뱩e$P弗C妀rDVZTZPLie ;.Ы0HP\݃,e ?Pxk Y\ `:9 B.?(?D",eGpU:( !(b+˽ae¦raf Bj kWrzȀ@\K_5$a{ ,,;ci0Ӟ:%}"+42%<"(&a׵k e7ˏ E-rᄅpTF!!+6JbIDATe=κU~kRV"( HD/(\@{PʐAB( nI>}p4"\%j=;Xs~"]lPW%eKzPO 2e}eD>=3 :^pp gI9s$V4RIENDB`pychess-1.0.0/glade/16.png0000644000175000017500000000141413353143212014243 0ustar varunvarunPNG  IHDR ͣ9bKGD pHYs }eYtIME :8IDAT(eMHTQs̹W4gFTufRk%ʈ@!hg uX E)hpY)GQ+\8?wp̙w~/Q`9> Il6$ >M oa_@$I$IbmmRK)Y.q{N>˽0M󲦅M% HmW޾^sttB)*U R4-f}x<`@Vy눢(k[$`jjxˑc1fI(@LSKFڰQJcp\i3eYviDw^B Kd\eNsų ~u kxuuғ~_"爬|ЧnO%C˲LF`؜.mŌybs>0jPe~WWgyEE PUa+ˑ M /kmjj/p+ )WA776{;3bRuf#WW^=@B=&@ @X"9xp-GIENDB`pychess-1.0.0/glade/about.png0000644000175000017500000007477113353143212015147 0ustar varunvarunPNG  IHDR#ZU1HbKGD pHYs B(xtIME (0No IDATx}y]04^#dxE$nlMo7$1u52x Y(Ǩ%}?ia|q~ߧ%QWߴK?7)!o#Ait|P؝`UlaoM°0 ی~pWg4}ɨf , 50̀a#}x}B lS]noY`q|v#. ǻ>V0l% @ tmض'[:p k6Fo`;0o-ܛeuM~oQh>ě]K3HL6Q<#[\^zfDGG;v-v3/o 喜x JbM>H~V#h%÷aFnp.a =uw/qe?,7.Bv02 "(ecc9F4yhтQ|76G52@ P(2޶!oۇOF+T0DZ@-KDY O(4G\9QuݑFz6p_f/o*0okyxF<p1iC͢S Dqt9RLJݚ">+o23:f}>(Yd6pF̤AUL(wI ¨ID BpC:WKڇOFuĵ_uD[ 8D'!Bj2xA!c x( W,H+Q&#dEr2mUI ɨY.e0&p Q*Ob zƂmԸ0?/a>.!w՟DžJYe^SEU CD J@H/w0zZ=Iƅg[,A |gRd53woQcz.-j L[PZ@hT;tʨ唿Y~!okq 䰉㲵@>=4A!տˠʨeڵQ0|iɧD÷w| 5us$KD< H+ h^fu>9|hRv :$I( x.ug渝\p<8z܇. B+c@{@&8hA.vP!\Y71*<2mYKJ`̃F/&~ w~/M>Fd_CK-'m^@ͫ0R]隢(@+[:{3RBu1q5Veu\dRzu` #yOKEl;::xykYZ%ForyeMW**c6L݄H,۲|l`[6L~U<P0W~g_>|2ɫ=Rpx8B^,.‘@^h`d,XֈGQ!K}/W>y872$YrD ,BV<3BHcpl޿R1rhyǁ)KN~F7bAQ""ԟ$$`_wD+xl}dTnsy1J4åσ_f҆g#/i'|}HK21:.dU/%Yĩ; sN#f=m?oV?eӂ*@2Le[&wXՖ}K60y`4 U?3 ݄eTvI-@)Toi{']ޢ¸kWฅ3h Mэ7^~< {M87|ծ}wԟsȼPuS,y,ǏƐNpq-&J^15g:^}~,Ƽ3\PP."0ϚS?g^z:lcGjxήKAOF-vzޔy7c <Ǎ"c: 4 OƧoҊ?ta]8STUKOعuIƦ]AMFG[:2x‘%b.BK8B G| qNfJZt3sUo qБqh-UwVj,˅eڞ,$q :DJ='D_7q__~^~x$3x{?CΞj;_>:25j*ytc!-8zƄҊ5C/϶eu[MP1! tn !m ESLv~։ם}ұpC'3G95xnp_>_Ҿ>^[bE=i2C4TaGb tZ/[8 p HYJ^{^C?۟ފ^pQ.fi|o v>oY<ʅK%ePAHq,>B&#f`?Y AA)כMlL$ۿά:Bpn|0ed|pKCލG~/>6lrgWgfLɟ=:t1@&z\?4}`eG-;01`8XTQ idt)h4-`hS2F1@cp,5-BӟȈxso~X;{/߁&>iVo-OM l3^پY߹k,,k-| Q:ei[Sk0QuWmM_c?tL$(~R l17se6z9n_ZuBSfz1ޞ8lˆH7߃6IzKadLd2≪Xq[^}h<)K\jo'jU&h-w shkk*|$3twK#'^rsFe qXO|.a]g{[n/mn@Xe` t16hήNE*nF]I@#ڹ`+7ܵ>U/ߩtL "\"v.zp$BVu)zzJeFBJSe ?z춲zMο[WT=4,ab &6Ba65kyRխ3).)f~Ǻ}2Ϝe 4UXQjȎڡj %]EowJd-pM%_>{Ǟ"3tzƀe]Rut䷖aYlZD(`h{+ׯ>U}}1$%Z2KDC| c貄B0qR˨5@.҂CZbKaԃOo]ȯq\d2tݬ '0]vf+dTM[xB "0L$Vm}=|5Zf^c6Lӆc;mDbaL8і(c0wow?$Y:e9Xutsz0gW>yK /gӰ&LB4H%7__O1C*Bڶ =cBͺV|s@PPTrA QDHY!J"RLAVY#?[9;o4"M2j!"H#d1" [SD4K-u6Rt2%b?DTHnAB.)YL݂68~cQ($ `N"k|˨=k6汖H]\+C7ߗ@KkPq">eZqρ9GȠ\W+Kb`R(@]CvQV˘=} @EHI>gO-Y~*KdX~yuK8)$hfD#wl!AzC?9r`8PUX+eT*S7xHY )"x8Пvԏ}hCi[OU.!cs"llÄđ( . <GDWqE*ڶj lHaKpYDPT(x*ií@wve˜m0ۢ%5q\dRBB8n\Pm@8BZ* !YG!IRV4;_-(D9<B2꘷4"s3^p0@]7 H4mH`}ûޞjG.CV O}q B/{ `;dA@u@L՘XW7ɨ"_1b0qhY?/R7En$@Q(TC5dgw_=K)cv+lW88Wz=^ (e;EIc;%e[ۅ$ {0RZHD" j$q<C@3S }nylӎ.߽ѕ~*{jͤu8[qAB*AmT]\?ATTz+ߐqT_+}qd-bB=-EtlXg629YA|R"bhHSppLX@8. ,aljqgU2,+ol' kxJsUj(2d2FE+ihu30Edni}X֯x_-c2r S~Bxh gQfl@ lA&4l1<_A-  @V%u)R Id2pD o`F5,O(A (#Apj@J=mʿmFgP)__| xM|gSxqӲm HFC \ׅeڰsBG eҫv؁ よ >*MDdg[6z{psAX 3;a4L xÜSôS>ܶ^ #Su1SKm#:8?\K9ia9 JǘJ GpC T(/Lƀ>dIP8IaY6&i0~`X7YBr!GI 9拓iv>="+ zC߽ /=ܶ,3}_q?aQc=ac+L 90dKl(@/  iF{y>;1 9Dž6ິPñ(2iҩLDC-kW#J< N@ךW >OMS ņ5D MIqG>5>@ڻwx߻ #Ԫ FXƃU4JE9 P6!P8'hƞݽHSu=2+@{v!Ou'NxIoF~r6s*Ûˏb >-3f2t̬ B52Aԡm(s\]5iVڇ9Ɂݼ0ij?Iڿ?0h!pfhAFr d] vJf.issij!,eXeY](ќT: Z2⫘4DUD#1|@V%lf[we{vk߀T" Ӱpeg ;qx᩵$di8Mwɧqe7֢Kq8I<: GB&5#FR$i݋tZoHܴl&gW/|s IDATRImK6s^un׫^LFAp?v>/<ܗS8##Տ=J;R:-x ihЌp$bI]@ ݻI#nb,;gO?*EUXYW= OywV>ܶ:9z_ذc{*S|jgd * 7xY+ŽA`XQcYk+GJKHgw_.4E| U*|fNW :/+%\ Ξ;>'.{mj~.g^z:6'_ֳ-[B0ɧLj ZVZҾ@[Y2Ѣ)q]pcsQQ2@PE "ёN鹶 B!-[E*Yo6)QxǜgS#gwoqј鳦y.,/=~eӏX[k=綇3kz[^{I>53(bql=ƫ @ hCS,s tC&cĔt@KQ)O|SǗ~x3N:g~u__Rtn0krhA5¢#Ix;IRJ/*+aYF9FF^RFmc{6GFUMct* Ӵ8.I$ih4+wG[" pS=M=Xx}{n)f-oϟY y#~JsugY u\⧏ɕc!GL'A8X^*wvbӺ!Y kg}jd4Pua(R癆UQ8EWVDJ @7di*&«>J$z33f'#۲/C2}MK[&i>=ƞa|if-ГϠlM)GX 7N|EXmlMVpLD0sy7 ~^RVwcּ(?ήΌO ;+Uih1oZ_}Jߖ8&$N?S,ہ,jB\-YeLZHkX9Bx~VR}w m90L us)FE8Ual OE8´S=ߓR_yj@(U-;]V[ښFUMTUjdi{%#'eNESNC?h`3>jÊ|ѢeƮ)exqۃLFWtLr5u"Qݔ"Ȕ,TUXxc7@:#֡*YkeKX5 dE /?dᾸr[ycĦAZT!hJU")jIaVuFU4T]( U7MHvH8j%x8m۰Lo[5ֹ$' Kr*RgecGV]`pA!a̧zтwᦪdPe8dNP5tӰȃ9u36._@(`Pˍ&"E.>O:N<"wKO֕ C{|OzƄJ8r.{8 Ip)v(#==(6T+u .-в3.zR7*ʦ(٘52FC`68Ěe~U5)ֽ`H3kܷm|\"B:9~5dEDKP2mWwJ5Ec!O3(e#-&BZexq ձh|bw~!LdT.BVy!;.-S#B HPUvTxPT_g ڨVex4F\"ޟFK[U]SYIN|FC#HijMh0;-AdRyO8mن֍c}PBFE&1-0Qd:RRַ2jțhA $&y-ƐLfnwUv]UsKh{q@yQ!)b~P^$ާȲh,\@t{]LCCW|gTc<1es@ȡ Tb~{|@sVQ;iΝyf\7x;a9e{Shz 5ʓmPdðoNAࡨw~$*CO߫GDCpl(fU2!QBmHfUJyqC"=`o5w,λy"AV$XT*]1M tC (׍ͼ@ ._g;T,:J|ћQ괠k7|hؖэAyJ?a l=8G:#O͋Z˨z KB A l9*Z"%];+m+wΪs|6Ʌr3QsP\>˸fme}[kg!ct] M8"wo>cQ\foA #ód(6A{p&lݑWU4*vԭUEҩqBBbaΊ"r}g^BF->KG*1_|M)v Kݑ[\cQC|'ւʰʌrh6>QPd&Nj-hC9p$U!?g6Ƃ!(vu/ZҧwJ/2B^EDT%"8a8k+e,䖰-=rdTPJ]2_,Eʤq_Z3RNj^V) h،HS*ԕcY6lӂHȎyhz\||~xWwD3yYmD|Z?]WnZ!7tUDQoW9fmD}d>(C8X&K*MEd`;~NȽ@Dq5oN:X\sOFdԐɢY)\'mٞQk T <8+Q" TR"4x sռ(*pl,KD?jH2׼5 f蹇5TwePS ~`T>ɭظ9NEG^QWj[^41Lc,ޭU&9΍8WaI&Bz%>-]+߁a0h O|2ڻLTh۩NF RaXP,˃__ b䲕J\=4F%r{~WǏ݋Vi҇͘gISgZFk,(7R߇6Fդ0l; bڰ ĕՌ}2pPvquc02& lV1W12ytmV (zuvIY%Hs/Q-I)C*3DGu-H,N9hqMVMiHurVٜ8܊ל= S]>|._*W¥>?W{SJa[2)x˲!Hʊ~e2N먥Ky*(˂+eCOAZM{{Jcj\& ?闀N~B9-8j`5Ɇε{:L 7B ɋ0sФl)BJ3 ;m{cx #AHBrz9JNzb$YHeڰ,r̀䬣`{)@0@&cq\%k-pd0R ڮ4lp< S+EMat1rV>IJeN]w[ H8kl"ܴʺ2&?}t3\Ӛ`Z{h&v"c%<Ǟm剨N2l8N( H2Ԑ%  ޟeZHS#*JfA <, &rqYOe#DoHBMc{YyWz{8v4H_7>CL#'"҂r3J,|;Q4M{hUhۛ8OAfYr$Ŏ4UkWgFmEd'Î0hjN.1=ZaK<䒂oԥLzb E.q.Gw"ʒ=W P.=-KF)lCC+=XG>eMVTURG"[xc!$Q!!TSQzTEZLWO nusT1qPFtL=}=ǑժBPp*9qnje4v'ޫ/EtpkM>xr# FجJQ!'C|R:{k@P-f*kY]K % h1TZ[Ur]o.> ӫ>IBʘL𾒐]w`+ ,2Y,Q̼ ^焣L:^fS3O2 )CW1t12-We7k aacz3Bj}ܕxhu I p ʛ*SӺQbWOJ h[0m$ H$2݋@de]ȂJ䎭Tf5+2; ak.]n/ 4YVهy=U"YvMl￸qs[{sѨhƝ_80>,yK6l(z<1ߛ@K[4o ZURxJYkuܚ#wq na `BI ݂ɐd O@]˲DTY~%~V;qm 'Q la=bjӬQ=5%ٷ \Y2։xTJ$*oZB,l+q]=.OB@u}}5AU"?8{¸/RR:z38RɌ{a ;"*T o/ Mڳn?? xuNh솓QǼ͎<=㻖l&eHӈ%KXPTDFi㢷'n2 DJnafeGŠѪ93&JL^5\w=?#s37o0_YGQa'n~aogPБnv9ɏCTqaZY&mʷm'_.z{0Зw Gp;;`W~ 020J?,E״ IDAT +ƺdi?45;ב0zFt߸;[X ϼ_iy\S|2okQ8 Ɔ//VVՔ!QG|͐U]7ѽ={1ПD&ML@2B_ovԤ@Snrr]GO6(gZoT M:eT Sb$ jDzic׋7/ι[[_+>#FNK:S:7KڗnP%\k-ӆ eqD$z&1= " X?D˄XٺHRV0`h['rFe#~C*swJ?CvtY+}1;֋w'_?g?zy*(pT|b)oNz_g1netI7̬DD\'²޺n"O-IF<T9qHB]8aDs\I%$UVrA}2v1C UŴqKD0ij3ZxC~{C2Owp.cxձ6}7s~TqE5e{YYIWӚ)5W{ۖ!VM ! u)wH&ʺ @ކ 0DMx+$K@nzhr蘷4"q(BHǘx㡗~\i Pv:b!<`wqY55ko/7WD+ѕ7WRQ5aqD (um$@ӆJm ZۄXYJfJ*[SYMB__آSx5" -F˴Sr]ytuSb i tE3Y r"%߁ɵwt\ 1ӰaLF&eTQ[;mY58UϨ)nFe *}XH& .0U !A^`bR,=)WjE5Lʹ{GvG0`'߃S \PHke]?~DT7>92\ ʮcL("<AM0Z'4mR3&LnA[GP䳖Zw5N*~?PtwcUujT񸄳 O$N}8q،h?c&k?M-5͆+t>9&gЂ*4M87j!h#;tvݪPN5kFBKEiq \`C* D4_/os#\fXZ;tdyq ,Uw7 !Y5QE8ֆ5f]!I#߼xZb5nVlzZ+$z@Y+w-ڱH7sOPTÁY\bd.[gY#&jDsܨQօOhL iE\lՈ2=uф ѫQ,<)UK Ʊ|;M #" yy-S[M#VKw.Z}&qдx5UC:)4Q6s| }ygy~u5}!iFeɖvđ,%$ `k0$.n~"6`!Xd]$D `Y-KuKsguU}3dMWutwWWuU}|~nmֽ̐Q&\X~B4/(֏x'#*!x*kABGGRko]Hy*"!^|M5U3 iպ%hss46J5Wή<*uDQ&'ǙBbVQxI8d)pYf2 j.P_s`%0YOF;ַhq q4Ew*4Ys_w%*t%åڱJSV VFz,;Yykdo Փ$[EUh$\rqFS%J tq(ƭT̻^R#!Ob< 4͏z1C5DXJ隦9(l,ɐr& K)1:<5wͲldQ ϲYGA7ˍ`⃥+B ƄE47f2b4:]iVUuz\!i0$r9jFRE\WB㏯xIzql7ѹed(=#nbg "`Me*OFi,3(TeZ PKa d2]r&Z*Vs' t_Y27,cwi7F!4:4]>lM+JF{Gnpf"Zl:#N/SJf /N%E02MD{aUU+3Å03#2 PLYHS+Si_#-0tx ۽1֙<-}xJW[y/>+Ejbu{# ~h}W~w?zOא u#![8}׮L"3IF1.kv&]^%G:_g_T|xgpnVm5d;Yԟ$9`]ZM?*MZl: sκ!h`XW1PZW;yM;ܶ;JbM᪖_}Eޘgsa-m 4΋"U=+=qU%cߚhNWM#Ʒ=YLQ*Vz',业 xnʌQ=)}{%nkU .a|bY1!AQWtq; UUxeKr9ciRTN10̱DF-#Hqm•mI- !K4M1UH k?ۙ;mMw.⑳ΕUF%02*XZ0'a-^96zqD_OAc隘ʔLfDDd.ND96#>#Β} % 缶$sOY-BXE%X)3NjϜ)EdWZ d~@ -h$ȤN B.LkA([j/e7uiӬLlÙp:찞31#r! HyNJ&"#i^X'4wlj eقf\..<!  x]'=(! 4B50 uYٴs'M!iW"-{ld4n< t$2\Y'48GrA@@ -_6Ή1 e߶<vp%h>uZ;|&2b5n<&[1I{xK8|%=ޅTehfӽ^l:'׀x4/ Xu߃w<ˬ)!`{i׉eʪst=l9ul#2taCj4m%Iri ˔\ -lvBѱu+Lޕ]%Nm첦{y:QAKC\ͻF۴UD03a)r8-a[69y33g#oZȤipaYLv w"vllpemQ7v04M5L>f'FfwxR}7b&?0t`qV[X5ǻ.PMUN2o{?Zf$ F Gk'>wc{?3#9TU)PT@Q>Q: t8%7߁_ɿoZ h񊖚]19эp9AhMھ;^QbS_.uF/\ 33,˂eYh!(B!!=Rq8H8 q`ۅ4"*aCHm[jsͯԹ_XrGJ@( 7ڹ:}8 ^g[vq DqRӬHW)Z"4NRB@Q:_ :K)p9N6WHɕX>Rm׷Wx'7N*Wݺ" !O瘸UhH6ݴo?nk y G"7v'f @v۲`ɐRBo/W 9{=-$h {zJyЄ7-xe=*3D@˨t#GtX5>Cdw(]:yہ6l)9E՗1_ESY*o~  c w - lxڪ6~tC*џRݞ[)_CًeAN!Ì;'Ꚍ 13MHD84Ź\jm۰mY܎7>s=ym{2* OPz:yfa,+?o \si"h,G2FxH/ˏ9eP7/ Pv{g:O32%_Y:aHb.i>zxT[RlRs2^;)6ZnqbB`]>0$H%^SخqD(gF*Kqc rBxv\jغW>pۦmiVܸ.3?=e>О4k}>¸y 3;u G2oakV.qv}rIF\F^Ne ^`ZȤsIVm ~0A%]Rv dY<)ܲGH]"EbEF}hjuęŸq* (3kHk`/jR`/)+j"U7VecR~_ ` 2 t@7nSoUT?Z}۷*jƊ7K[C];r{#Bq.|ъ,}9RbHS94%]-3`|%@u/?80Zh U:|ft&vkw3nެOݸt5sᎮ]^|~HmS4bIDATz#ւi-7 DM!EUqZew_闺})⎮<)wc{ E%QDYyB2coW}˯Mm]~m˚|m[v3kᙟסNōXMH\8Ջ!zNuCFv2rW:mJR@=4|օڞ:D߻,_rDE`m˪Ap4EQ82p dy?3kմ@B  uqLF:`8Ƀg䉾oc? PwAƨs+4QK/q1σ̏O*r1:+ppj6i)!9v<GqXEz{=ZE>qy 􌺍LlR(0Ah{P 署(@ν2N4C;>,'`ؔ*BdYdҦWu: ;كTME'@<р~ZRj۶:؃mY,_`@0l\cm9rHȌN&͸fɰ׾McanS $7ޱ e#=f"5{GKytl@cvXVo߮y|U$"$|l<6" va׿߅]k v`ixSU͘J,L23W=ѡ4F҈5j*bM*bM }&Sq6nVmiAUah0 ݫ̦;4~^e߇ѾlpYXq%AEEhi_eE%GH=l L98kbSQuޣtKg]*|!‘uHwUo{o$"R5mf hliU pݫ+06@Ti8e"?mhi\ "b PP!4flqn(DuР(#]M)e^H-ٷȞ4H7G} j+bmJ¥8JI],hn4͋BٴwbC_lbMĸjnu[e0w6Q9k> (_;3яA_|\Y^QdqXvc.{yEC'J Kɷ ^EX}sqѡ:P)TC}IH&|aLo:A^kcrXEč,8Œ,XB+wdžcU8a~[3|~˚OL}gEQ_R-¼ĜN©RHOt?C!իF0ҩN^Xh>$T9_YSt oeO.q*%3@AJ-~4?lwѧXZ䥫Xa9"c\:m)5m7On 9b q9b )3g ;͏*zMT}?4#j_o ֶ9 BD7oZq,Z\Rp.fq/OAkY2z./N1WJG \ހ)Zcޡf׾<%uPM+ _N©V֞e/wV}`4z@0?\S8mXBdy.uQ@ɨ˙d,o2>ֻW!>3?yBp^iy߁}:TWG-_TQr^=1e"U7-nh-WWn~N;-5z0U' g @p¼)'ExM !!?rJ8 ɀd f|Ռ>w3X7Gp͋0R2erOAvb6o'_0h6qDj A|^x"ZM-h[ڄo\+畾*Ms[Jڈ|G"rnVܴKVcӕxhׯ.5@C]cV"Sd3M~uTVp T_U#d<߶K Ya"z* '6!? Xߨ)Bi^7U"rE>؁gA ߰_-"PkwtY1vUASs'9l,9/ WNJdEѿUNzJbo4w}gZ /ě#y bq)`/HY;3[s7 (/y\;yx ݃F>o#bfOUpahiaBX`sm{ooLF" ^paOE,u凑 W8/v^K;j?|^ƚtGmSa4$Yb 8AiMUuA7tBغ{@f_ch֢X ö%x\SʂTe9-VF6c^Ӷ ? +NFʪbT|Y qD,/,q^YRJd9ƲPze7v`nTL!%wQpciB]'B  a&ܼq6F,\\JeNW4i^)T=C&H뗘Ǟ9b]0iú = wӈ}&Q3sY2j MU*U@Q(keDsud|Da]g7EҖ@_gr5Ih<iLK_VJ 39 *@J" !  ~)\h!B3`Y[2cA ]42` 14͏]W=wjmW e7'bY]D QH@^" +,U `Xg&3%-qe$ q?B O{)&c^ $TzNGj?LuCE4AK[M|y HűghwhϷ]dغ[">Yc4]fhTUW*TM^U]U =v17ϞPgC:F|X;S]yl<)*PB (EQR5ʈE)= E)MDNp_Oi ,%lہw`-2\D6e̕r}|2=(Ck!b=Pl@R AW֕_ ES@{$0<,<۲]lkr 8#\~XplYQ=Y[GۿF  !pAg> mpy>t+G'#EyԆVD]jxAݏa'#3w~ Q-$n%&WX}9OA;ӽ߳q}LnKMKph㯼<0>7mա]J |ʪ2- "Yp3@͐< [[3B`!'# m:ku#J ((#j@AaF!>_ԫ'Q# @b gii1E$W}2q`.yh d!XƤ"Y& XLXf"bѸƠxoĈ1XLαP %Lcpf<4H Fxp>4E#(:be#ĵ}3fk$IENDB`pychess-1.0.0/glade/christmas_about.png0000644000175000017500000022621213353143212017211 0ustar varunvarunPNG  IHDRiͦ!sBIT|d pHYs }eYtEXtSoftwarewww.inkscape.org< IDATxw|TEw酐HBHi46P]GbA}DaET,һ%5=$dwM}??̝93sݻ{3= r !9T)AU.mُ 6ӕGݍ(]V:mz:TUm/8r Z Ldl:("ZfM~9sWt|ܳp"//5/ es{*ԞSO?>5nJ1jYuyF?>e|6fQӹࡇdv8gu+zWћ.hj[UYgP 9{Kz\nbDreIJ[eEXV̡-7/:]^\LD0S5y5z\MK\7R[!;:y JaO)ds$A֛b9 婧\t6"˹t>Jm?i6<?jCފ-׊I{&kk=1Ӽ9WwNl@yIn}qWҪ]' gϑ~{.ԩmLMe+,X0r>_]L\]roƉ^@͆ u8y3I6~t [d MOd-f4o;8z[ӲƼ6M{dQ~2vs"۵cffzd;'''jZu;5hu"ֳ}{M'sn~>2+WCB٧t?̤$^iJ?}pG+:7l9';SY3NmH}UL y<.K A"Ӳ%{&aCr.]_tYsS5A x"hAslLЂ`TWJtlԥ35q٠}ٯ h8""eM{M79%ի 8`t=!u}u5Vt0VA7X?$?#BmV%NSwN)67S@jߌCIQJ:g*! ~*?g Uԕ'tL-sNEX҆DJ Lw'>y5Qucuc1 {E=8A\2NN::gX=D(;D;n@C-<Tnj@uAPd L<ހ,]JNwE=8"٧OZdE&3/u(^*Cm@Oc,մvm5i'rs G;g fQUJ$Sbuv_2jHXQEn$g׾yl t8C7q_sId\] DFDТ(TMYǻI Jٺ#K:ewm}Ohܘ[^z[^z3gX$oM%_QVʻ2Y u' />1n_u?io{[@-@ Ɂ4/i2gܹ\سW53WI՜`YN6;w-cg=OmV+׮ڵ4ܙ~z`{ѣyi>bZ:z5I;v|_hu_` ￟ʕk*,%5ꓔ&-[R}{bZ$eK:G%‰ػh}A0a P(RKGW_Dl@"P, a-+sko ̄j;:᥿~W.p99|CbDI;T WfFP8 iCQN Yf(n?O֭k[WK^J ?̥)Õ=w}ίSSlTCk'7\_N=)I^'C7#g(zQyE 2O#LԊmLeS˗qp |Su]cv-ioZ@VDegݟ|LωKD+KBȲߨYϥDaNhZLIOIrZ:&dcN2Wkq1֒j$N ڏ6^NvYa!gdžv^Zc[S'U[KKY<~""i>xL`p< w./.ѕsptxʊ4ek`4B*ӱY=]sgn&_Dfzg] 4zcY{!.Yf__\_E\κ + yղ֢?&~!<UQ~:Zl&PEo#IwURteUjƒv8R3>3}4Ki[Bvȅ!y&캝:a=Ԭ_gb-):Q V\ "oEdufwKAIwQD@AgrrvGsԃ[vP7#]Q6%gp!͘A]7;PcG\IT 7Qh_"WV^NCʦ f3JE@`ˆ +OUtVOMe ?ND;׌EMCMe\!k#F&zٸ-&.< T3[8k<3/kW_Ҥ{wE L>}8z5 kP"jnDԆ> Y:zZCFXMz$wo L jSVP)a_Eb2qC`rKz^`+ 2IK+TӬ9aM3'[֑\DѣG_m:G:WSDf4g2ϴ?۳';痩SYgLg[oU(Sc[oqr#jק'QJudjzKWݵ}#EЕuo9wzZNcV'hq82s&Ok:@9Pl)J2 ?]FL3pCF"'Rd+Kכka5u"o|^X#JA-Hg*m60XnA"r$7E%;y&Ԅm4-6F2[9+n| >ޓ'S,ٯn|vc/ 2|bєox 69SG5c>~~_^|OBUlH{'0oy |>|8yix-Θ߿V-tu!ivV?߸}ҭ$Q+HڐPe)kTG^"OUԽVVwٳC\L@5Pn]hbcAo侬 PSV' H\EERHde =*,3E&/*׽TݾnلoPnN]5%}1RL|IZO.cڷ'IKKp^ܿ} !UqcfB(EyI ӬOou7\+䥥qv^iң'۷ӸJ3OԶ4܉:8}!zG{΁kE˽a܎y%jeW`@  0:v8}b""Ou23!=tegSN"Qgmi-Bl6Ble|2탍ZT%^14كS8OQ>~p HZ w`)-5lq7e!A\Nr crM#bcA *S vD"uP6n$iF`U!(EK=#1 ݈4Ѯ¢lsA\YQk LJ{>= H ]K/,!aY6]uֳX"g?RKn@5].<%4}|$󓎫AAиɥ iiDfdi(@"H!6+!eVM>})kIS2tǃfɖYoÏ4 S&; 䓔q|2ݖ=E jŹ8J?\[cG۵'i:3ҝ-nق+WӮudyG3[Gh;do+·C[ۦ5%%X!Z,zb*(r),&jaGwǵ"h{CJ7j֤wаKgRRH3r ZQ}}%7op0Ah*>P.^s礏&G";f_dә tݵ푇9uϿKCgK+JōȑS#2.wl?4č6lV+újQ#3}3.5kY8rR.Ѥ }A[9gv]&ogcݻ8 taڮfsېXd{ ݐmQQP]]Qta X!gz ~LtZ-c))%yry4DV<> U,z=-oVY[$ZՉBv|fGy%'Mbj0ЕyfYE#Ք¬lmي2UHSyUИh^_{oJq8:BE>2S6)u=!D"[H@h(!QQj,.%=3 AU-jaz Sz{YG@QJA@$?$6e(JV3^ZJp8'S`)+ig8zFV>~}N"l^3/fJ<XBZZwÆsa.{qS|N*7o>g%-׹U?Æ2~bʹѲ:v7CDnZ$hfIԦ|1lUrt.n!{?iS';ٹj%kC:kG YZE&oOavuBϽ\CiilOOrrHHp hV Tި1ȠFmY!r٬XM&[[!6n<_ ]yߋ/PKgZz+Zj>W_MbQ!k2pݘ)+,zK qXIAyy9pi>~. %[vVܻ7|Ӧ<=ˍ*=mc}q60pqvGƗ 4?BLѣg-^hsj҄"2O"`j"4 /5 v7qWCpw{HE]#Ed#xx.Ybh=;.hmXUPj7x'ᎋu8'p"6`#m%,~}f<@yq g.#8}A|I=ۯ/v%YSO8'f#V-FyQ1EXt%| qo>̅ƃg>t^5 ?fɻt 0>|C;9\б tGFiuZjjZuZ;61d湟̴٢VE2:p3m}|t7}?0q<thAzH]-/ 4:us uD|) dO:pϯ) eḰfft1D82a WAEONAz:YBiسǭ2Νh3j~!3W2m̥8z =_MnIIvg`o)d~y|*ƍ}c8a#qEl`'OUeU!j;I{A뒵̂J IDAT0b?^{5oC0p4޹+>~~mӆ:͛s_[V{(jѝ>ia7V9DEA^0//b|r؀Ki4&Sfl3?7,@QfGpv$Fjj^+M֕'jnZ0xϭ4E[?{6_xzQ$"_`̙:g#=<Vd{}'p/x Z۟sqdNoF)"+9i=hij1v XW]B[hus?3$'JJ؆4 DrA_ VkMiDny[S>fvlN\Ӟ7:d]Z|8G1 +q)-,$,&7&;ÚΨIyi /:D=H޵ogݐ<]DaҢu['hfGW {EA?$ } ۾_ktSPWb4:1fc:0Ճ3gZ92.'(1;Nspxv~7ruIƑ"5%̾?\;~KQ;Ȩk5-i뻟d&z;}DFڏhkorzV0 +@07۷[Z -<ϘAι=WuUi{\mDӺT_EQd˯~™N()jgDC$sf&?V-:+nEUld*3f֭F0ݮ- ~$S'|9LD&<~b+- cҲv_Vښ]誕Ilr0??*[.H獰} Ne괠]~ή|K}:LЦWB]ʤ2it0QMB`XI[86f0F_#'G"X} |._**ٰBmVLJΝOSSV:N'O/H?OZa/^®>,EE.7vZZJi~>vMCZVƒSȕ-ҳb5 YڊUJZZYDP# uG7u:菍r|:lW}yrbo-j`5 h#ŁpojFLۺ=kO`½_hF}Mm!7Ae5^6Wj2E k{7Mm Ǎeȩ?VrxwYH:?p?_|^W<=>_&UL !$:hbOl",%%$o?KS|gqS^͆p<ۘmy%,~I񅦞#2İ~yI ǎv qFO*5kӢ6_G LW.= Q I;zpf9ìzu|iW\Ok F _?n#l'N)7 Y/>ONð;׽7o ">Iji8SjK/5OMsX=O0< ^#d$$pz:.\$E5ߵ+ǎ6}alHƱcDw@n#};]Yfcso?ϑyriA;LWсʒ7-nnbdeb]SM/9L-"/䧩ST JzDmO["Cz6yӧ!gI޽ ky9ҼϼK)+ ^2Y߄dAC`=::SZ&i(RLDmGÛ՘ѺkP P;3!OMCެ.iܿv-70 9\NlzU#i\йT?,}+и,%%l|us.mߥ515;<6M~[u)I W/F/]o@ 5ե0'3VE$&r)>6mܒmTm.Wn?iEԞ|D"a EG+r/^n#q|G~c-Jn]>\oҥXu֢eW4 ,T t=#HOи6><{?y'R.+(rZ1l' ݡe'fTe@=pƨ`-5hiO3Pg}sq^MzWe,kSVuiԽ!8~ߑOt;=7mۣEuxcQ ۳aS٠C_z9Q@!'h_XHMb',XH5?260:%61A:DەLHDv&O_aܹxHm5-l>qǏѬ)oGAܹx1~!-ŬNzQkWD`Z;pɹ $XM=c)iʞX*oȨ?m4@DFV4+{TH˗; Z[ߥ{7NLz"כ`ߢY0~<6fƎa_cDV Ʈ (+5k -q7fЎDZC.[Ɛ={}Z\bĜ;nPg]kY[_ɞ9\)`Œb==3kw@{]6WVӚ|HZknzfFVE~|}j5^d.w˵ǺDj?k7G~U1_!jNma|+.z,/t7Sۿ7D픝$NJҰsg[O㉠g&c?k#x[?m, ?`$5>izކ jvHU96r }}dK' RIݰRFL;.͞t2hwz;!'4w<3y&eV+oתTbݦ5oݬǺf33.ځʺ?#hkxk7Rnw~KP_jF:ٗKMJjs,w+kAiтGL&$3MDe쎠&]=ۗvnԕF6HʟftD@_7,̫f4hWd3M_{֭%tAZ?2[ [y/>V}8EDB8q"]}hh yd\3:OLPw}_~s墪> Y%+6"ݦ3ZVlv]}>dI6kwnַ/-/Fm4}jfg^Q+GԚvt kE,7mFt'plZލF]Ҹ{wb{@`( h+*V\﹇ `⏲\6J=*d\]D{ҼutL\w<'Mw:A>^.VU7E`;׾* fgSQ#Lfҏ3n Q%TDpj<~pF:HSzӠcG.Ǔi[lܘqDa/V|1E)1ᆱ}~5k2`Iƍl=zY_h^x??$bt6.կOD&I&; nC+/;7g9¶7AFt rk=SgnJ-:v^ /:R}wlѓv}%1ڑw>/ NrJid˔TN,ۑgԮ6H,qa`RN4bZbً/!ۏ7n>mɻv9F@X 8{y5C5$ 0X/ANu 8؏}¸i2qb۶O.'˽ݠ:m֭ 9kop8vMg~C _H0!u_#-q=(_ϲՓƲnHY5ڎgfq`Q,o䞠ijFz'VI+~|ɷl7;DEyXflFq6a|:iAϊ.JT.8GV A߉SQyOu"qol%h[y9^]+g 1!?"rN"m~ix ^fwXod)m: <&xeKL}٢`KJI?~\_ANZPKw)睼,-;0eU7bZyUk| ՀLv3n/ӬW/nzZɘfӸ[7z?YT~;E+6 Fw9`9p)98s2`:4־֥e@6O \@pt4=nطbaϻwCᄃ,?߰<(*9wWL5E'*d-D =u5&gՃA5US=owB ¢ 57"$V{Z kZ}f,?P +Q͛"fX_e8&̟Opdd'%3)S6sd .̱7/Îߺw ! E&:.5%hڿ*" Yw01L Mݬ4;{(D Dѣ|3OIV[j[zh-kFi8jjwu)[B޲|C=h5twϟǰ_9 l/89\OZ7B:~6}$Xf?Sڼն_=մtE3 h;t!j?nT}hz lq=kði38|CCa4ȕ7dZ||h2tVC8}Vy7!M~! Y%*ZNFתd[zXɅ*p{>}A5ƀh(wףFeI5g ۽;@/YYY Hɓd&lؐKK]\\LѦ ),_|$ ڱ. CDڟ0mȮ]őoۖ@bs׈VkiCLӱ;v a##z8۰+ 6^U+g"ZlzYްP6vm|6nO?7gWؕ!2^}$$'&׶K ?\8Zԍu}|ԋ7 +(!ZWٖ(租qw )o@A5Éٓ ssvxe6͙MaNxj:;,8t3:~;-0'?DhyX~)=~ۮ{:ӗV S4\O ųp,nB- $iO\"eHI\۶o@Fh&t] k3Tf7>֐CիFFGX͙kܺR"1b?pnfmLŧ&1WèR58}!kM=CV+kWW~jS+q6>ރC@D& {u<\2a<[?yʋJ:EmwRa>YtgDԺzzz$jUQ\{'˼;$Q#b٘ؾ:2 LfxQ۳{qByag(#ze_1.؋O& Z D>K(<;hؐ/LI*DQJ TٺEiDcB!])7KMJ?y)T8"h1v>o ŢOeZ-b@U]AKvj|<+?8BssXˬy e҆1| {5.5ؙE/Of ]RZ27NLlgdp|+fֹs I 9##ZM#ޜE1m66oVxzP HSC@C$W̵HE;jM]waҙmWDQq_] nz( =;llUv!1u ^h*t 񦂸z"f?_ B*OmUDø&1mےv(2g~O?ElϞ7MϨ9S];.=jlx]Pɚݹ9\\bbhdHSݧ_4"7誕l壏AhRZo` I6񗍪-H|(Q Mں3"MKCZve8X.M&NɄIOY]fH•u'M!Es›6Fl,S ·nVQ>դVLz( i=ēd%$piNʋuhVyd-=ɪvO]DWݿ]u>>YjhzL|ģ:5ղf#sߊkñ.w9|xp[Ƚx6o]4v 4 OV,'iL1S3xb+SSغ2? O_9}+r4p3ULD$&J:輏 E&Ώ=ΉKY,APM螘Tdm`U;Y՚r7V;S/9ϥD]r5O#@YQ1!wA 0\p2 Λ*uX* ZPk6lȄܳn!W.^Rf$&壏lЀ)/.y_qjF>$v@`򨏫HHˤC37zȹɷstCxv4<{_CȮɓ[igW`kfz-o2,pȡ&omP|Yyސ'ֳc-9YUu蓳{+W $m[sݴׯ@4hAI{vʰW^adH*r#=ѺO?*o&z IJh'')n͞J IDATB₏BW^¿AX2d);vZHL3;,}4uˍ'XfX} nN9EZTXEe%enkOTKzQ|M>AKdi4U(Կh~}=_QEphO-)A7'oFroAWDr!r;CBݧkoOe]wtZ\L^`0!-ZR^TH,FuahDwBNjߞ ?Z"(wy n~{U1f\=høR6N!Z^.Tn o,GԺאB*"#7Yˆ - QXV2+Qn$s ۬2H1崺kA ^=ZvD@d|XŸ#Gb-.&qc><܌? xtרAPMծ ߖRGA~֍{uСi#4w, L@x8woۢߟA~BGs䧤:7`ugqxVחKuus䧖(z3#vm6Skpߍە qIhκ%I*ap^t/W{ĹaǗ_OpT-rΝ#y6nzq=_a?ߡ U(tSr~5oNXa2sp=oX7leB"6B@D#< c+)/U+5iHZOc]k)Q^/GSIQV&o'vsKQ1{/W *ʇ,xv7XQ?oD]^RB;qE:~ciN֤'jjtvOZ]ibw95n^nJ+Rnϲћ-[+٠!zcAҦ6m?.@ET}G@s#צe;I[eL~~9(FmkWOb]?MYҦ=.#fw#R%.+( +8ev.}z{*3諷C)̒B~=g噇%i5AԿ&t7<9S}V+dUXF֩,$:cF/!!n~Us7N=^=c +Xc'Fz樀?奥 ;)Oz뻢Dn,tGGIAx)>q(cv^%t ˞8-wd =Yvfجe@SG0!YXʩV)HگfMj֤Fkf6rfdd;0bwsCn zw2;6o %V_!^>vTcY{Heǭ  7ߗ/;uϓ Dm7%7Ua))awi3f +JhL 7@1}?_!jaU,{Gմ4"4A4a<oG$+) {vbP|=^ S44Q yy|>T>iV+i#'hl\NNOTZK:Hю׬.8g>jP-N5Kov$<=\{CCxe4dODGs__||7&!ACEd7d=pҾ#DMLƯ9Oח(寸nN$w v {Q3۝姥1\EhN8D#nR"&dM{vKoΠ#a7Պ( V+ :uGe~~ vfaR9T?Ȥ_~6Ck@E=/"}Vo$|(iYVP jw yJVĹN#deľަTeyBqc=!(? jmHtRv YRw"If!~KoQ:7eZWΞu"*JKGg rQٶ982#"iw8J!c}[t9Wgo` u+hگ&z RuO+ݺ{'E}lo Wދ(A+$j,1jL-FhlE (JS }ؽ=8"}z~ #$rN2aMs,=5HI2kEbڒȡ#sJ[&|(Tu|;!mY~}eꫮQOUܲ>61AK=Ƹwls|x4x ]93n(7-Z??#GepnY+^y˔gNZ%QԚ2M_D]y'g_=KZW_e"[W~z7ϜAa߾\Su'lQ<`VQ^اf fq,!qҰޥ 9?%6H{_|@, \X`Xv/:WnJ1 Z6O̙].:ÁEڙT2(!YMF a3%]ۯ_|8ۑZ~IkF=?SXɼ?&7}KhQb0ȚƪgJI5M7S5~6MOa"wo&y|uuD% |%yzz)_]=e[qWFDSy9֬a?AgwzIKHLDa,ŋ1YݲC[$`4oqU0AЧ7\N<9n ~zOD y#1~e&3g܏ͷtoMK3QIJCk`0LVΌuםTiX"Q#ԟc0k63.D?rm'ֳDu;w,yzQ:bx|ش鸒[?7&^?>բ*q4TVn7SwVm+_u5Wݼ)wE/ŋ1Ldu,si,8#+YTİn?̈ӘˊOIYW_'ݻs`LElfO2/kX.Źsғ!lPǭh/+t ?H8E[bThÊX~+-?hKN95Zʹwә9tIWWa!N1永 U@@,KM9GQ]W:|Rz^p>C {,? j)  z+9jK6X%gQ(9p5lV챛eܽQwkxg`KO!puo+ъ\CD8lYeYs֫3th㍺x8[Iݶ:2^/&Oڵl~XmOXf2W 1E49iEfToBzi)*>2uӢ?aʲ%82^5r6yUUh.>سw(LD妖91[sWh+i¨#Kg\l/?n=d{t1S"y3%S3 toI2xTyQЧgI^'gs Á}`u1Di7Y}t3 L?OUqro!ֿ.f̤C>AO6ı0lL_Beohڽ[%;S*B}}>ۿɭB2)O(Y8$ m=p>rD?={6Fs^;gld?C0QD-hɚYX;^v>zO&]oENk/EUͶzb1Qn_m-e߬U(jsVX{͞*c4d>ŖN)gg J:"R$BÑLy5\yo1IJ_b:=bÆ!E"tM5QKChZ9n?p?L+.|ALh_vI-Xst'{/]E0vد[ǔ=G)͛SS^K(fw|RkFNF\Igz+oipDƘnkc|gkQ/[+-)dU5S7LJNm/u;w2=/_|\&E,my;K3"W/EO.qdֽR4YnbPl5m~5kTSrE-s$l}QeVW+}OANlzݵNw;wRw// _TFVۣb:ƗO>ņٳ8}p}\üq5t>OܳݹoD{:jiGKz Gw2,wuWVq/t;FkFfQ2e2lo>tJ!mض>3hx;4#(<CxGiSڳ#&-p3J2Y>\zՏDܢB&nMa!m#-KZ}ǪݛF_8I{zⲇ/p,\@kŚ _;g~jsMJs}EfVLJ'" i*/whYNG豘 yݻ3`ݡ|:Ay?(Ƕn_/%eEk+kc`٘t6 c#}KHDSE9y={xzOΪmYy58!C8́8[A hD04x_YYS^Ƕ EUW7mKOʗ,a϶-Aȑ |a be5ڋ7o0& s}%ڧXO$N4E+^{BJTmPztJY+ZYjUˏWcsLzZ]Kxk~G1qt|E>&IF)5hrhr3ZfWdwB]{ -FCHG{HH4&bu54$?ú[8)֍-D0v92 Jw 45aq:h!_?< xĸV ώ\m Vxw60L"`4(.&{rM7{Y3O{v͙á>I#Aʹ4HLFstndS[YYnO]U=Қ ǵMmh(m +[Oaf]џXԲXğX?iHNfz^ޒƑLjgW(iA jM33EV') oU5b(ֹ+H5{ٿ:Z4o&*(۶U ))f4IFJ%<L6/7#ٿb{HSy;m \6~{) 0N Emç(W`jha}V 6F kn.l:D ܓJ5E9e&ߩOL{v1ꢳ}k!Wr URw{^X-??_ Izڸb#Koԩuk^+6s%~ņ71e  {^f<7˘|$οlf=ZT8ږ~VY)X)YֱFZ2jUZrY+WQ:vL*hލѣ{4{N6eR;EaIsY}44۸cZPr2hEq$_̞W/HA4a|SbSYGHW,pHLQ :r;#'_IIrud~fHUVqh!fԥPq}#-f7[a| Pڳf&WUWzvB(SGO!G#~[ȃAZ [n]Y'aTS窵xÙʋB>/g͉bߗ_&D F#)r3?̚'7D|_?EBomJ47@sDz_㭭eܹ71=eZhm$) u#+Qr)XъD.X=SQ/E"z^Tw %NQN.$QrŊb#EdV: iAn2Wճe~^?v%FqegQpkyܤgdFAFw/l%& d`XO`0Ӈ/[]C 'ק`WP} 3p`@vE~Q&G^!hˊ5Y-Kr #PC' -wW_o#?<Rz5իWSj7+Vc ov1}/CȖڠ$##&(\F]a]ZcSW zERD"!}dvS$yT4٨rQ*ΑO$I&Ta97Y҉jNϒffV҉[5gQ!~kf&|ėNC E]Gs-_ /X*$\:2/OqcCDܺn:W_E^' ѩ>[ޥKY+ n+ksV鄿'ٚ*vDqX_Pi#jMvc&I۷ر"u7F};v_f! E/KС> A!HV3݊v"B$^` j{ gt-@CchMcIUDFp-ff^OUWx^)@m*KTZz+/‰?lo7̥+e|[Ts7k1BNu,{6ޚue˂| ϔv!Ԅ(3tڋУi*_97!SbbEQTx)M|ћZiY?€<? :؈<>p@ݰmO}`Y'wN NDLW*}[>o7@SW&Xv 1,Ƭk?Аp[3p[[ȋ+@ZWW{0?svR*g>̘f Ռjb5LLF܊eq>Y#4_ JYwSG~hlmo滰/;F:;wmn>l}KD4rg2!(E"lLxPmLh“UWbğfIq{D$AR!Ɓ6SOoOr( L$ZޑDcGz THZtg|1$[ovPMK$"H†F1X蛂լHL*e' *'/MfvIƉ!_ !!;: DQ|sZ Xb iiH]|aC+8&+"<9sKf&ZC F#h $#"0~!3+ C;l[DuO8>\FcL!G-e1u~Z$j %W\kQAھ`2rq>tWO2if-dɭ}J:OUaw9[yfv +–9qC%.]ǝ˫CϤn~t4k :~MZa!qzճtEU(iM -:,;ݾ\tb1LnƉ{wg@ck Ð+F>|<;gc( bE?n8JH$1kxJa:$ĐCIG\r'G/>᭬)xL=FS{eIroE/۽[v6'GXBE=5l""^/wަb&1Z1'-:m*oO 0MX|1i-%W-mt;ItPrm E##ulWaCyr{)-f3PQOXk""=ÉW= Cjsơ>BԼ~v9鞠(wGS(72ztW)ҊK&OAT{]u q{?•I =׷eZ 5g F  %&Œ"& 4W\N!9mFNi Pᢓ%*D=:N&$f;> Ņouqea#"l=ɫ6 PkdaY0$Yp}O5ѫbCL{W(b eOwH$I45z𸵽a36?=ft!_GQ~@ÒFCYJz+P_o=@s_'IȣT&ْ-;v3><|qTB^ByCF.'t `N:i)֬]9k!mhM+i Z<$VA0Zq)]II%eU@,'v'(TYC19\zv6FfL'>[LǏ+́nnaFa4٭6̖bd2pw柆c b$Vsܠ$[˖m94?aYw%dZ*UT7b, ˪?D`ʢr t8}piS9tb!J*eH{$ZWeM3pwVNPr{g ލD W5KL1z@O`cUM( *QH8iMگqv̬Ԓw!ku}!:ytq8m.^C>zw2bab95ҏA{E?$YK9 ƌ!ӢR>Lƍn؀AD},n`{v;e(=\MV)d0[LLbƕQ&N%4n<%,FC|u . }Ù㱪i(S{&qUt[ -3Ν\YT6c&Eb۲{t8NefKرh. nJ(6'4TA iɹiyҳQ8h Xuu.xs۶b~>s&=ϋvh:9+WPjbQ^wIn#-Ip%K#T\X N':m&3C|LEHx%1DBD[:B&" щD夹h4`4Btل+A8gm*eruvLetJtx>%瞋aWȺ]3G <mp:91@},vfAɷ$AeW\N#W[G `4F9N*2]۳Kt+ۼ7/,N;#".ar:{ODk(7q(_7݄!ve@Im|zϽH)]NS2a`h7+C(횗j%?&ByD`2^rHHR*ΓzO mz󰤧)ƫܴMmlMΑkZQ?5-oo  }:,)AQm?HqPE:r$LQgv)LF|ecKIAQ0~<V"wpuՓd6Z\MР7ui_%IPDuU}lUF 4 $(vO&p8jk·xs5!َJ}߽I٪rݵxy.#Grt晌\?C{=1m'Hv5pUhP<.5Ά1_3hZ1`il7?YS5jW|ŌTHjMHr 3<' lveqsr3U7M[Q]Y9ZsZh Hf!3+}6"bԃGZg c;CGc}}InzTmV Zc)岪۩\bp-~iM%Qdċ8frn0*y'Inطۯ/[[9*Oz~q$ev71z "<|ohT$UIZY$yYtԖ'==Dʝ;_]RB;}Jkў}i:[.edJ:9B^l:6嫘8!%ә$bN%!<PΕ8&4GkVr|F#MW҉c @Ͷ\9c,t"&^@ۯ)o9^2v.c9fjl f3~.FE 1Sy [~[-KebKz/AeΝC8uvǷkWQsZcg~~x #m4=tL`rgl BamNݨ{ЕhS8wW̬4lmLT߂P(L0" :C0/c}O"!}ynDbFt2z]s|jwdsp,,j;jcw}qύmu)ᕫTkM[][ +*8n8+^{ݻ}/yt< B^/i_-gdҥDbs`'=띓 P o(""&!ފlym] ^`%!-j(}~pXԍ@E22VO'h鲫OHRsh4(! @Rl13Q=E 9e˚D$^݊hkI б~H┶*jķ+j{~ y^Z:?I3v<<*n.jwK`)>,o皱Ӛ{\q8w"Kg\:3سx12%vS7Λ_ Ě^^RhAmrPڳtixYI ޟKn&PIeCz0yڥ|vnCjsS?!`=7њ(T%:G-#A5~TNʞgڐGʹ-t2 QSq#M#H@fR,Nr-Zj`mթM*_pZ\zR2냂'!jƍ,:,j7lxqplž֊CyAemtBxh?Uc[BḼZ=h4Ip_MZ3 P]YGmuC ঢښ|m4M -Gfnt#.(oKpX :DX8˔qKKT-h 'nJ8FwX|T,,b0-3ԭRHK@c{fb0OZԴ|Q֌մLf {eյҸmc̜ɖGU(auD>5h)SԈ 4ddtGDjuekb2D"(RWT~;LN'"؋0X,TYiq -akTG3̚JmA9E4DXm'gqnn z|Qz7M^.;=Na$^HWqW9 Hv]^{rcJ}Mfw o~s<~~RK> bxY mF5 ePTizye9b+VaPډ=5C]W&T'Hiu$Wh.E FA@A8%2 {<4MݭYexɡlaҠ; j Kk;Uu$I@If4]x~϶Z-ɗewcO3zp,Qy3R`%A D ڌ`)8Aw,L5d2bwXq8˜p(׎'+_?`j]TW7!νJR[vU #bU ҞIj潽7.5-+Fw#Z45F”6d`zJw嚫8x) $1.߱PYּ-]N/?_݆a@]c^~~ iػ7ɐ*Yb=R;=ck}ΝY;S44{ߚc꡵멠;RndDAI0n`$[$Y0HF$"Dˊh« !E0XҒp}rZɬ~h G15qԗck⩍'Mxr:;3ތMmYy6G;|Ҝ45񸕔S0Oӟ喇qC4#aB'%rUc[{hO{Q#P,OVѩ{1Pp(L &;PL#?ƒۭ-v‚[Ћ#!Wŀ4r6a$OZn^~)5ˋ.%ӦmZ=Z[ 3Œt4[SUk?I6(=~(!5ML@Oc({DQ>~ !HժC$ ۇ%TX>H aCX*ؤ c8k/C3E0iIh-ŝיž-Pv` DmMp.&"; ׎ۯ\ݛV$Iݺ}2y8f{{Q\}s( ԌL'(m[4?yGݧ|9?eK%Gw̞CquW*iK>tXк[S|ہ:A+f1kxP-ձۆ{b΅ػlF ;y)TݾIЙ8lCE>BfEH~M޸HVY[cJN5jx?C~2vQ-_ДיA4"bf0hwc4p&t16E3f:F_2Cu+YEb(V-U !+/2]T`ʫ*" vgt`Z a NYs&ONЩ@Q}i>]wPtM$p.XD5nc#[|ѺMݚ.=iT3ZXLV FQ6o*rhSixyBurxcǪvQ 44ҫcjeH۾|⪒ʡAGkXQ4&]Ana HT9ڈ:J}Ǿԕ ēOcوl/Ajk!a}Itaw٩.2Ix[ചؔ1@W1Ȱ$ ,(xB=hk@AzPڳ۷֣Kjז]zC{W.H0yA-S߼lCoJzE)Zr/ |Tj}bN'^zGKIQ&YY-HAdA#TZ*y][6ӽ{\Y?ͳ?HrPR:8!ǧ?S%ؤP@mJXĠ0Ka"2bPXyw kbԌw0ԋV>I9z&p@>gBufM/r"bϏ G.cQ8b8npB:dMv;=C݊`0hl={ŗkA$ ZޚA`!ndHvm{?nˤaZ%ojFo\k {moeJԈe+Q$Z`rc@8 *4ۚ(]?;WPk>V46ij`ZڢS=עe'kJYF*Fmb373z U,3H{Gf-[$-XHх,<KuͤIml5\kJmnlV.C٪ՔZVb֏:V-|r󎓢>{f^oGo`* vQ,`cLј5EM-EE@QA~8m~̖C|x--;y>Q/۾;dsUW3KHAgq( QNוfch;Zp!q!+ 5_GzCu f`p lM 6*&#,o>ܼl![c"vlv+vW,3N%˧sBNvs%JMx1ĵ>xM53aOÏ8pO$k/Hcsz\[htKJq%+ޜJƵlC)CIO"ǥ\lA-W[=ƌUʮռvx!}ϣ$Ɨ$%#>'lyyTLBߓOf%ϱ8-ڋlxW`+YX[|3\JD =&S!Y{A01Q ܙ@PL[~;08؃L؉m YC&R7bY>'I@H`xآ( p-Cp$B$&vkZn@~a.͍B-M咝d#uXl2ݵкK"fbU<JKuN_4TH-AGoE4w70Dl NvYr/d1A#55[kAQő;&k³]B 9L &#XNZ~Q9Zy w̱9wzv8BAr *P"lE&k.](G3xy}<ƈhj`˲s?Hss[_b" Q ´8 # 1U˨=񢵮jf;[8BO}YizHeMH6-v Rbv2T#Ck9kH9|Iw'A~3!Wb%/藏?ѧ؆fcχR~8n18IZQ!I# ~fYclөot GG D䝋WXd9lDZ}%o0`2$v7n:xD?QF!7|]$tIZH"CQ$iuI#$?4!dO8Gm(́ W %lΐ$@ $  dV@"e"$I&#YY6lvKvqոў%oLv螇LU%!η7ES&5פ$\b[IӒkq)5蛴b>1֢$:1_5ION'0`&/}i'_{  43VhBbHZ+84bV[Ȟ_ɡS/EJAHP0eǣ}?9 c$%Rm D8(^J$a(سسli4Ǽ8f@"mmI{VE_!VN~lVBn75MB~{Wjx1?IhmgSC(Jxhq&ک4H:^ґ5Z⮇ME{2ec.+^| z= >˟~uv,jQ#SI V_ ?gMvnt AZrCNyMF'brjoFny9s:yr0ᠬ488Gz4d$GO鑴}* (_l%5 >#'A:!IRDBjD 0}?'4m"zCP4+{s*55,vGp8Lscnx@^~b| Ԭ$f]ÜHvlkmO'!H{waUKS"A8GEDS׍W_ϒ)gonɐ[#~_IG24/Ik8$'CJ~.HAysV >((b0V=WAC:na*( LN忛LhY3JwRThl*7A|Z6Qe{`d9y;H y6wF' EyiGDks{c)+%r*VWd~׬4}>Θ’rK#+ѹD *wZKK9%n_GyztʒXH&DUzFVQQmv;HD+\ڧ/0V@sd Di/ ֨${R4ַtR}rh%QKXQ> )!OY!ӏeX:3w U;dtVE3E!Ol9V8~>fj~Wq^ޚ#HR Hۦͱdž;b?:#|v9:V3t(ʁO$((*(3EoKzСIڥ/ W<+"+!Ndߡp] I~:#8tÞju9hjщ%)I9~=),E{vLT>W*=_4Ӱb5+Ϛɦ`7oa=CN?P`WN)rCT {@`9uVܵxvL뜺 ̉kّEN~ 8tNjڻxWգuLDI |0I@gLkG;R~* ΰ% LԒnW)o$7nf@zkXYzaAiD䨶 pzR?FڜwmՋ)a>=0 IDATv|szwa̲>tHGs m[3cv7JsT{OƝ{$ oxb=~Fl!l UqBAЏ!1֌]H@߸AG7m0/F_}Z{ +KOC LF n ~`ʹd"aUdZC45*#AZZj%͜ah`<j 2cV6 yC+Wd$5<=7^);*Ϟ5o/$j7l+Y[˷׬qIk! ? Qa!-I bӼTj#F՝&d4sX ֎@B0RiGp)be"y/jy%"f {V,V \, #3J0Di{-[u„}wUH5:YꕫH( HLJѣCD3f(.f{39e"aJ~pQmrT+*[Nƍ8JJ7f)0E n|9._Lj?,ךtN8Dq0=n%eGcuJ RP "KOŒ,K$ e%I<;uZ`Sf݆<Xss9?2#Nt]wOиsm l}u>񄮬Nض`&9ln7}8iS4ݫ9tqܒ6CkI c .X#Ѱ"!:0!o IAd sUhdeD1k١YT BRBN}l7Νe>Hرݞ$M{|Lv+! Ѭ)?][w=pT mee\gȋ##Gh=xH0h0SOSz:eR$[wg+* ҞqgC1:Az\{7c~#̙Èf '=(ͬ!2p[S[fy٪h⓲0u%Lzڷ&4×4];7װK.}Vk|r,9\(߻oɕG2٧)8wxnܾ70뷿[/Ďޢ줓vy5Y[9k?0k5WN@6W_g[1FS[~_{cO3[Cۖ-zZ7mBDO#fG؄>U1?}6R77ˋ]c0;✚O0Fw ?M,7Ah4P\ڽU?Hs2 mUi kYvy4\Mݩ-#=HIˉ3ZۭPb5sxB8aʘ+єh63۸d>NﱖЀUl{o8`tA=KCjWƒ HnCUD֔EaLj܈p {ԋ_CϨsdIa;>pߖϼbƣ$m86Zy;TEfcG'MOq4z&# m<_(Hф MDOgmaɡuF<^/cY{*-۲[2I3d;uGtvjy)H4D"\`eʢhZڴ- EhјaZvPcjҢK_z 9@9g1dOG˓ϯ/wqve5-Wa0\+ =<uwn JCgAzZ$"upܫT׮e3T$XY$ ěy,Gⴿ%L@4)2ފfuf^/ZkI—GFv0p YoC68B9 B*Hl<}J ŌP9X ]zD Poet^Royzp=>la?HK8@NMa_ eF{:]mEA@EkyAC@UQ~L]*)w_~`G.GF}EyިQi޸Ir X*2 ߟOڣ#;;(=5k׏>%c0j%?F{mg  <ȋ/5nނǾ0`x!ps_zǠ^bttFy'yG}I nd'̽!" 7ѿ&'hBdùYC'^'͕'Hl6Tz[1ew$'j:b[e\5 8ЎC 8`a*6>&X"]:-:]-`;rD9Dsn|H3 nVx3c6iL< OQH2̐SYysiۻ+F!KA{u5}׿aOrx:.ǜ /`Ȳd%XȫSq]9~{>x8f G( !-gs{Ç {9\ ,Vd-FǗGְ!ki3rzȋӉӮ]m><+ܚrKe}F:GZ^cԼ.)|t/pTȞ0GW] C0DMJuZ`ǔK1gmcyhHzzw\Nv2\;g,{g$1Z۸mn ^=}O6W^msϗ {yA.ٻs/g7.Q!ĭC^{ xXij'w=Xck.NCm k\cpWWZmlv7dgg/xױ7_&}uzt]t!]H(z8-uVF {PBƠd `ʢtd|vMʿ'>msdy\xiޮ}?*T>7?Y w|hNV^}R8eK ~JЮۥ`4R:}*gfҶk~M[0XC#Hex06l'֊& ά+=ŇE&e=8[c^W[(EVa܅= )"9۔ÂȦL"#kJ2rV֧GЩi۲$q|U}30ZH*N=gPw,_=[w1b{߾:^Hm{Gm6wT/UJ`1?.K,Q)p6+@ˎ]+zڒ5/߽>X}NWq'?!0?G4WeRTDUWQqUtKÊmߎsNw&|$EȞԇh;bG7f P-=LEt?PH ^!i{G !_MV "JmO!s%B4 UvCz$F{:pcC4g{6L'F#wb+ʫU۠ۍnAH’Og_$]j-woh2qru``pV˗Ӿ\-TN_|EkajlwIki2F^p>v^rB~yf?)8=dCVېCݴIΝ1loWl(bVVFޘ11B3C~?oOL}77^4y9hllU6朚O/g?P}rz=:u.VZel)WcuHp?AWnY-o3ә&>nZw^VF!SWڻ{h8ukky}i/Ȧǟ$g@[gp%:e:M۶wƕP74EFHGFL24xl׿rY1׏6,۶򪫘`fBA愴<=%,dv'Ǡ4fuռy ?O!"E.CSQ/O! j`ZxkqG[N:5k9]hPs: 2t̫'gYF[0UTPp!%ѽ 0){7|d5U"Xf6S 9HKRғd-Ei"hIgOu#gtd&?Fr3qaeS͹ICk>&= [Q!W9Kߣxct3{ܭS )I"t?{_~U1?[R{w!|qQ4oƾo0י S^dxwHÆb-(`0qѶG|5T_`ɺM595VyWsۈ>N'eڏ"׾},m}l$T%*T&G zl-Hp0%'oK &B~?_s mG1[ R(ĦIh\~ʠF'+NVS[0yxd%]phhA@@ ELN,A{A3m_!&Y{S& O|y.9#nŬyf E'G2D'x{iذCK?_ȼvei>}v٥̯=̐ xΙ@,3ɽ1|c4[xBuhx$u*)Ri-re>]5E08:`42[`{.agy[^][v^/IPyzLrOWl^$ UqI]wƛ (4A)dE"?|ܺq뮭eqrs 8rs_0Ԯl"ʮ۲7CSO{fAmJI &PVyS~ :=A^sV?#%'PW(~2T㫯IJi M!}tH4I"K6Q;6BT/UY+$0P&10yXf&Ou= IDATJJ,uHթjRܿ2Q[{J `dsi۱3Ѯqg4 "LUo2ᮿ=ˊo~+ۗ3BSSw"xaa=_*':s#vMFivMt IOCno \cgcx()kR# XuMNO: )z, 8F̟s_mI)ez>#KձfL 9L' oSp8l*]/mE8ry/_N&;*LR8qCZEosdXU+hkVR-c|w>eॗдa#= R(Dqm1'OWG˶miz%/Ϗ VIOa׿0+g| y&˟ >wF' nLzN)#SM|2Kf!7;0-űOk!(9R{BNۙE:P̙C99r׋ `e@ѣxkkїZ@[8ӑ#C1q|¦޿ u-]06nsKoAO~伮W^Ωes/rrb߳7|Nv@VM.n} \??{n+78n>D.iE'1uD!Lr{)^}Kr8jloz߻L՜nxQE#uL4ho?Ir?os6 v?@k+?)' / scXiXKҾc<55*!LVsSn.>}0XE{$=.A 78^ޅl6eZjف1+~z&/yfr Hglǝ%3b `g!E$?VоON|EX3eBZ-it&ZtkrnC/XU;iڽk4Lne ZrLֆL 6] R 6xfDվFa'ay9wa[Bֿ1mt:9|ev;}?s 0egz lYg笳ԕ$ E_QN G.spy{V/☐fUtH4rџJHOVkZ}Ϊ*UU*RҦ&O Iv<ѕ[ [-@GUA*OeL @ f%#SyhAsISդtz3D?uYWi0ZhȾXJ+d-4.b,hzV͛ǂb_|1OE3wF#Ʉh6#Z,) l,}J`A3;v]wA%pvϟ ^}$u-<&K~GlE<^u?)׾\:ˮ> U(:F}S~BCO5?Qwʲƿ?{߹I-|B<6%,٤w;Ҋ2к"ԟI[lfN6"-^p/lR#qsE)S(>t 'LhD%%8onQbf~xx7㎝}r`╽ Y ˋ]M a^5bЦz:@c[i)n^ C^w8ǣ&ףv<&Yv)l۳|_iQFhYn@p6bޱ'H8{c!V%My u?;~~ut>\ԩJa%.r£2=hu &}ƌvD4&DL4YQֿ mۋ0ྦ5Ř7-^H0HSDZ2Ge%E'H`8&BNy V͝ dN'9c'}f7G z7jiIhR^ݔυ:ZVTWcA's`r<"\AR(L(THO A]āE@5жW~:)F']NDNCNB$Bju6]ջ h2dɡaNAM*8U4A$}xIW}=v #;/v'~DXgmOJuO EoR$Z\pWX,8rrX:q"3Csx<⪫r-w$( p$wh4`4o)M"$KUgHuNlXl}(27RylfOLMMѐ91㙧462|dgԍs柟d?J5/ K 8jY8黻iܰt^ (6[A׊MvY"9L xcF&/n`@JG`}+kh(=|Jp(?37K^R@‚ hA)Z 9BӺuT=O=Eʕnڄk>H&㸊]~y4]k~ZSDBH:bL,v:J5602H|#ii'3mhQ=RRE+W0+nNFkniF}֑qƛ9.^BI>!Ld@ c8ԭ}iZt|Y{u5^~Wf}7A&O^Pȋ/0&&v+g=cO NRz3K@Q F_|1WO `OۯH8h4bZ){"y /:_AVBo*EFʉ ||Լ6BKVe%WVe%~h~:c9/_ R2kGjjvye<c$:\dWhm[WOv(Nɏz%f7kŋަ(.4g-#b--;r4e'^_&FWV2sl[-IK9$wd wM$Љ.\?surO4u*fwWnjbдiD!_9dҍ-; > gd4Tٍ Fl$6D 8*+1+cc:` tvcGұolr13F;s9ݔGD k)g,'\9+$h)b#?GV&\t mt:UTF:G!" 5+V;`$֝W‚a{).zrn3Jnj^)C8NԒlj.^;xR\mZh2eMήK߯(.Q\{?VAw@OKgKFK%h&M`bԟZ>]vz0a658tl~oHᰮ8ޔsgiilL9t4N7c9'̛~΅ Y/p뭜t54As^ >_Y_Ǥ"ѭqhCD2Z+yNr{{#r%W?イu B[I4  .)Dl ah "6CMA ѿbkW =bBf6{K"mϋlHcu0foUTAsS+*ӒKP4a5zdd1k&֞sBZfD$O0^횵П xƛ ݼyXJN.$}lKx}5z$ٷlMU{})pnnbGSeɥjDGQ1ov;ΣG;ܾT>XoN|/ͻ˖)kd-j?>.ԫf,`IC9H0 $!%P,"!YE$[e7`מZBYgCO|}3| LDt`2QkADj!}S7r:MNUͶBJݙcMwIuzDΉJ7S֝F+.'oAH0H:=Nk>aWRԌh4br8q4WUQ|rΒ9kShp0HS\FsփAW}=s/ IvH)*YY{xygCvi)9}q76IS[ID;D ︽ '@{={Dv\,4׫ki+LGI%7."v +k @חhS2}:Y=/M$9?i7>QD)aevPE"&,&g-ٽAZl~9'H(Z+òAر\ Q4ze!]h6T/_L:y%ہ#7#| k-ᗓڨ #rӧ fnl?~(&.&I{î#^BR]A"lr9 V7#ۛOElBh}ᩧ2ttm[]"RT_S/SǣF`D7XuZkCGF;%CA^s Rv%5:v]oHMY='M@^<<Yȣ_w9ҥusJ ^w `\ޒ_bFʎn|1FE I4pb5! qh׏ual^ͱӨ>IbMLxif})e3g;\呐[=k{tNv7XSz!IUByQ;%ZLj%Fito平9*wd/EMjkEhp׫-G$%#'20$ ϴヒUkkS؁v@$`2fxi!%:_;|;zGG`v-prKg{twd 6g-]Jٳc1RSX]-rHnj`HPQC0mI*tv%՞x~bY_q=g/P0| \4>WR,jqТ5tEMt{l %@Nci)3U*T̛p* S_{I2øA5yd7XF'FrjY{ҜU?PulڳcD\$$  toMⴻw”#NonZ%'I4_i3Nj]u+;&há0عujP \ߎMdc0#XrJ3+Mxi/[- O9RCGɠn2wz&6'"=钳f[Ak'+de}ٵ V+:ak|Z֜Rt;2tXctʓeY{ig ]c@fZGgfM7h>DB [DI6Ezsr}̯ENI$&e6NOLu5q{n=)K[\ U{Q"9H6ĺQD4h0AD? O[tm3Cn7OE w4E-KO  J:2,[iKRA#+9񚫹z;T.&OnF]:3ϡbTZŋ.|SA}1ӕ4 vfed},R{wE]u3}+z#WGؿ# q Ue4mp3c콒sd4$َ$ѸΪ*&Nx{wM<=j;5鞊M_nҞ&-ϐ˜_wQ6gs1׏AgIۡj:7jh=Ѣ5[jq{}*p>4bhF"veX&󎓫NK7RIP.E@A}U@. `yQ)"*K"46$McΝ[Ζx9v{@['E]>ax><4P4,"p@ܐ%噂z>sYQ7[C8!G1"[ǣbəc' Ngw-5.pϼO bP矟pE!-sʗN;P~h٤͢H9j_ q+Vohn-)RRzfdq'-;G;H$`Nj/|{S} 6sWT5KCsIBsfNk_3ŘV|.MRf/+y!CQp6M암p"O졬qeߺEOgOH:ιuH2i}ukA$VY_P4g'bΦOpm܈k=ftEFZ1MRcJ4ٞSSU$Ah롓FRMlr.oЩ7z@)^L9L58VIk;ͫBU1= Ml$ V7pc[_I9S<R1u*/3& }C ȅ W-؅L^Ky(㡹ٹJ(,%iح͎tM3ؼGI$܎N¶'bw-; dv>;ɤP3|Ùu,>d"ۋϿwޅǥ^Ϗ7ZmjP4RLVVȒR>48ցEddUO̙WSXWGnytɄ`_&1oOq70nJՈ/!(7M$ !6Ê=J^Av/;Z MDӅ{=I OIQ$-#"H8B$!*{àf(;=8ȭC0E f3-8p VdC)g]O߾fE^CZRhj3w$Y 50T^]1kRV2x::x?ɳQT_/· TӖ¡ jcjl *pFd2@ig-4H2HYKt2tk㧍 Ap;95 [OY#^$IE(&b$9/i.9BZz|#FWgLkVo1v~nm~eNoU|tm}hq6@Ϻwu6`X˖M3hZYZ^-܀6-cЦ9OnEqxoiє遲91G g݂fj`ZXD"I^/[0;yyԮhX$IH(I(!Ib95z$[OO9?MZ zmssÆhB0Q8y6m3N:M8j8>6*f:|.[1f|ʦOc9gK+iUx#p/~?8H0zMi"[(!I=XھdX$Ig1 F"tMD媄?&Ғrؔ)|&8}DPԛ?zxv?JXJ(~HRؿ8~VHDr}w뉚:9"#U-h2uM1vm,s*␵TޑAԖ 0Y1YTΝ˸'SVwޥuÆE4S̙mV]GAm-= iZ}H.ۤSfŮxX۴ݎ[2sǖLV$b̬Yy>+cxX5Cw kYP0G=HE8J#$p8D"&⧨fBGCVpg?.LFhr:9X^eQyVcs,it* 6>]:8 [Q&NF$֐A5>c:)9{yk˘vfJLaҥ#}]!UgEki*@ةsJJٌjEE<<}T"yU#ҽ{CAo1 ixM޽D_B[>;odvjdY(,ͥ4et{{=7D֨,BL8ɤ!3qH#q0}{!Lbsc8B8B8>W\`I:pNF?x@+j h6ќj`l=x#c'buF]65 Q郢\Nē{Xzɋlz ow-- m"N2z Ҷ1"|g|>Z%vizmLz Dd2%}L&AHDXL&kǝUL@A=)eIru9Q9KD,uvdQ9iin`ҹy3FYhcZ|^_ڻ>_;kϬ/ϓ(1/sҿT5h!G^.@MϑQZ4ĎXAw&Η*;|g˧ƛzً`0)ƛD4A ;AN~9Nr8swnOvԖ5K:ۼ( CeG}x<^պi+Fc_i^^Z(әTYP/{L%›~FV`|9o{;β2V6ymjh6oRc8/wqHDM<-=;|d'yB>? \s--|By:~Ck% Y8H6O+ciZp!{%?9;|Kq2Bsm?B$E9sd6Ew:Xh݂-Şeԁ<|ACYь@^qWn'TzzmBўyNICو q5RrHy2UQ-huj@y 5HiT[UEK b$2dh yUUX_}fX#qq(GieJXE~G嗙x1;^܊r[4_@]__=-#"uMj0)-#ҽ]nz'"<аV]n?W:zƯ 9Mm;6QXturT)ݣʕSŤcדO dz'˨-;߷AgbԞuF8KJd(d<tL$O#{^.n Nm-:w-6{WVښ™܇KI#f0Yო";NY=Q;hmPؑ&I@@_i{3B')Wλ_^FIDr.C9W^QTa'oS7vals7T=ڳ,?ZChGx*s0\3Ga/򟣎_kN6sg'ڥʧ.cL5N'ScFd*.!̡Շɞ =SNDhZ)]} %~}P{V=Ss(M;jmѵ34HL?G)kUuMZ)lpܑ`|f3m߻dRpdN9ӞxĢLV 5Sq<5}ɚZJZi=2{^BE_|"O00ou:T7LվZ/JGRZĻUs$ܔԴ\|P:sдOyO%HJƂo,x%DbP **ͣx=9sV٢ gw-mi9$b9yn;Ռ3A( jⴷ@m)l5Q|d2/%7/O&d53Mgo~ĥp[(Iboii%{ W)(nͬfy S}"ҒZMV׷y>05ͨZ&\a2Kq95mdt}Z_,+װOkB}-/sM YrG]{`Vo6o!ցlBLa9pƮc۪rA`*&֍4n=@kИMa5aea+' Go%@!9FH$<>cDLm~lK>\|n=/LG_O3ҚSY'UR7.ʰ, В<%-iOtrZ6fmV'iƀ[9XJVyI-gfLN/;M):h Qec i߯>+f.oP-LSX++~I$Z sdlͳ;0uؚ :ۭ\n"aƶ~_$<}qløۧj59jJAHgy^RfЩYi|]j\;>~FebI^0zbI{mmk猗_0튶T>|z2tc9DjW'2O@KC~䏩d2#lӟU6qJ:4*;c̙*T#wduS+COŝaB[~jy#ۅ1[ވSN͸ M"hd%cUۆ-O sUnpQ0VQc=ŧ~7w~U~¡Hbc6Ni0(GA/h!meSQSaSJio>!2 w]cm_Dn}a.ラ1QI|Cf L{h Y\"h?K_џѾP>.}RhPq 3{7L STꮯD]ݸ2b$@Vl;% A  CxTшRZ5z;'SɑecqlZ݈O)b7f f ,w7,.dg#Kctᩧ3kW%3PdZ(:*jd O;#+V2chn:*.j *C]Elw%5_YţҺ@5tˆΊzO/~ؔ-1NA4l}e޹vjQW]EV>FcWK+:T'UT5Vh(_ r%A W͞V AiѢ.SZ *œ%Pl4#& Tc9 Ωe鶯˼!KNi۲9Fw6}_WMƛvʗz -y=`,HL'ҧ3j@:S4ʘRm hka߇7g;n`wXq886,uǣ F1M <ןoB^ hOOZ-ZK]zLf ].0kij]:mA={@8 q2H6> ooׯW40}i+\n2IzߡڧK攼ZKO$hҤ5҄Z$.KA|bD30 ̤S%((Lf;73ZmN,@ n?O(ڝQlJ\)ۋU'L:6G^g Ih2 jp0fZosgTO A@LQO ᅬ˖UWmRNJiK\[2h$+)bn&RvU |4bR̒!n?n?^Otw 1Jd{$Cf7?ϋӭS$N`P0WILdw7k"az(hͦl-ea IDATQDmLRD7ڦXٱ>VpYYf 'e?޽M DAV#=k"@4e+|cԼh-䌮=9NщD;^l#bܔJ}Qxy#Js$%Ig' գ>\nCJm2NBĂ O  ōGRȌƐlv+y`-ADo$MOGY{2X.; x IzΜ`21ײ륗Y11Y,ax(?eӧ#LlCy#"-kѽQӞSa g}6>>n1w[{/2b׾Ɩ"bB-;rP-Nw?%_+cw( &O.OiDb: =Vj_z,n\E2M;?Mz ؽfmܵN Oa2٣viʫp:9 ;<{B^$SID36O1vw)]uX$P|a& ! Ak6k1A\'bG]^մ./D,JB l'/_^zvdÏзIr8'S˔i\e3f[lNy99~_fg>t@L@K@A }Wq駳w@ĮcW|LXSZ. Oێ)?'7`TiɺʓL1ڮ``dUbc Y'ec 8R֕l{m䓵{1lQhiꠧ_W(u$9sspvTJvN`WOl"@Ko^-}Mi >G&zQYxu[ S ƞoOy6_CrR yƀyDRa2*#g2 Fksϱ"a\Fsr +[_Yu6b29̏׮Ib;9|.y׼f̚EՌ4 O;}.RG\/|C0I;8Ni1G`` 4sEeyLUkxáF`u+wg pvA4r̘?9Iس.E9E''698IE\,%= iK+R͎|=wt{9vΒrv:D׊|iӸ\Ie Uk .:&,9sbu?Ij^CU YhN. @,Ntu2s)4 S飏;"ts3bBؒHtSkI4tD7 M̾k|5f^C{Nh-Q=?z$˥St*juXSH˿("x6@KRMZBeoV|DjΘS,`5Hq|D$UѶ?D|.E (ۺ$WYSVU@NBk>~8!7r+e#=g*}dd9KqwZ%1/O ;2eZ7sq22(C[↣_y]]CM:rPpLz0!r&d?/Kُ=bkv`ˏ 'LgB^*6J^h.g?ٸ!gw c֝)uDp+&Lb1kЇE9,Nw.ޮ.}}<0o3f3b(`6ӵm%Ӧ2ۗ>B$8p9VafgEkU9WM7Ē.sN:%Kx䕗cs:c?hpOFp(-:8'? Y_*~֭[562tg RmOHB5֚LKӾC@qP3qӪX9h-qu3^w`:3)3G_%V_V=xE vO|*E eFH$|}$WhԖK˿[/gWziްAwL>xRAaTh_?K<Y!oR>@V&Ve_Mxj=47: esY}>\(H&,Cghj oe/JaOmzNOZ>Cau=Ioс5k 0ךsF_RJb覍X댴gyENq x~DAox9@⾥r`&QmOhxU1eRVozi Q8NF%]4=@'jzl)3]^_:sFv PTNx Sޝ;4G"dMXtt Oó'h|M$RRIMRڼP/,~|*Im=ż*O U_χm۶~7><]{tGB>trΤ֑1!ƀZKg ǢI%LU+5Zd[2量ڍٟWmj1mspTGXiwpcě˛PV FUR?OIK:FUU^1:?gEdso~-h5|R~Co иjUʘtr¥ A$B]81D'Hbv4Mrڙpmzlx=Să (_fWUԯW :5oJYc_FU.V*/3YVy%>H-lzETL…Ø3llG.ySdw;x))l%@߉&G DJ75eV-%? 957vhz3EԯVo-P?ǭ`ΗЇAL&{ˡşZ0Yѻ$}>SY}Zs*wZXٳc nX /?LT~!4U =ńo IǾ }'Fԗк[uh#H&|l"lOaԟecu+ϓ[Hd¶lZMgჳBoUВ4x݌.h㯾 ߧg_jNHKX#.anOI@m̄.ED!l"_՛]$A$"h:ݟYNpDQ~ьm֖%|c-9^JaI(QtL:x\4y2@P!ّw75ttF.nJYYtˀ˅NBldМSjL(gjOfJf,g~KM{k'ueڟITߜo|grRK*Ob02!Vh6ʾ%b2 hriZ-hQaM yy͸G]u17"3g2d=nBsOb̳O?[uպu8 ~掘QN,@ =q*}(WP_f T ٝ:Kp>EOhQ#b"HFRfcg4X9`2W=h_aWݞ֬&#&-)͈%->ڬ}{ʕ\_[GAe%G\|1'^=ߒ~' roˤ㎣yj)8rs2ZeXA`E{,e&J΂z\I3t:x> -f Kr"'/ gŌlB0%$J$-_Ark:-Z>OG3br%)vOR^L'G8fe !8!#cz=B8KEs_:flʌZiC_e:9u>TZ"Roo) L>xjΑΙõ/ |~y#/q pO(d;;;ἄK@d_HvUs)]U] ʿXBwNJ d<V-~o//wl~*5Aq&5=̀hK_}2!;w)6=AO_@Zo}܃4's8wӿ@GFIL0K97$" ;ixUZ֮csύ:0k'jE %m*KgnMe=0jPl喖%:[9᪫ȔpE7L n-R<==/i-Gä-$ !BIl0[l8á-.ڈD}>A$1E#AHs$!/6 KhxfZtz;p@1QhZWPђlFcHkl9\k';^{/̰Ⴓ~=#f|H@ znPH zre_gOPR_'/e M-B jH~[a/&?d+$R ~+z1f s$۰` FɑMZcͼy̾d Imj_o/3g@Z `K&LH0HAE͇$8G20o$KiJ?J/|3׿+/lkDDظ|l$1j$յn*jM(+NVw;!-) F$1$ D%1Q "&1xM27)"~#qݐ gۙN?o-+oƷߡ[r3OxG?qXz%zg.|E8 A`Ғ%xu$QL8FV{VɼT'2WV@[C;Vu )k8k-,!6oWN s/& t׋O Yl~*xac?4mWʸѪRQE(a!?&.[F<}\ >>W/sθN¡;1u%5eSsc /QR$ojZ -awKǍhX^=cXlw~fZrQY㧍bW@$q`O'M;5'+ǓViҁJ0CvE; &}T~>nGD҂^%UZ**p&\ѵkofw倢mj#jRtKQ[s Ö,W^f$Iwy&_|Qց@k;5j["Ji4c*3,! :h_t&/pKܷd"A_[_.xPEt =E;hnHFwuLUT2\ IK7(KF8GI^}ow3gڻp05+M13XyGSZ U{NV>z{^?y=lYn]M{>0&NػnyUW)^޽>^v\13x%@v+bzcTR>"رqҌLpYMhĆ P >z1" b8\}޺]= +g*g.cs MƸ=U{\|rWZFOpy"1pEgtƛ^Chگ}[Gnc=mh7pnDy9zeΖQ#5>uh΍$F/]lC=Lq{?;FI(ƑGh8Z6n]P $$/PԒt2$&3u}it <]]|@tc˫w__yeHwgM޽GO>o^D[CCb<\IX_$m.Fňˍ+il[ڭѴfU-_hEsijhyhr@&.;tAz1tMZ%3״$ {9(Sr,Lf G\v)_vYu}:29kIKK {v+%=ӟH$2fnDn7۲)Sx$ nyW07,!ۑ/WF,6}{UV[E,$2x$ÄapuYMfVل$`Jm0Xy IDATY,m2isJxl20DE 1"D‘wz<+dAQ"lX9ޛ9m(0'hIQ Usy*Rkh2;kG״~=79sѾ?\ l{D~5'9 Wڅ$]%^++H%(@M,/,F?I%bŸH-*~M@PyGPֆϛ6?^I5;ZKKPyaL\|"'t#-60fOH0='ǣߨiϩ:Ŷ _s 7`2a|21U~$b.cډ'$If޽yiR)m ]R AtSj•7W'uPHP+MϧEǚR:~|F_:hOt/Grn) sοFm4XY1߽8 =RJ'hM `+}[@l0 h?|孷ܳH(GI$eKQ%z&HX' Dj/vdBEh,43Cv0IѰ21: ٞbuםXv s u9m۶-IGA? ky~X"m>iSdT_Zy 0-)yjͿݴ1ӧ/7e V"DQ¼%l M   Ho11,A~ I #A+(lW0AGBܐy y383.&9%th@W1MCFɸtك$dΐh5=B_JI՞eԉ;Έ4dqZ@ q[eD@0w%ih Xd 9bAINRD ^SL~0@9/30$ dWF/s* epH6 (Pf!mYEϣj,XANy?Zw + k9rrF9n"vDYڳz~hsjz0-G7~[]&CP#-kNTo'hiz[Sߧ&@tnLrяdXd#gI'R:u&"E`ڏjM˶O$ J1y>t"Nb@ ?끠.#W=T~H `}:@VJ:ucPݞi5pN-/CՌ)6>,x#]Ob׊#Ωe^>ui̯֬v<>%'4 A& =N'7v_HQmm"*y:+y4/#S GlRpA9]k#+Kl/ϣtD֛ef1r5w3r+MkIف7\ppg`_2NQerҰ<AA$bOH}{iʔ}HI)(I}唕1DDI&r}gU'}|BNixSH*ɫo7R9h8c_RT ])]^58v___̑LxqlY\ЃǤW>ǃ'CR:l7zg3_sUoQY3ERd-iХJ`Ay4OuI[%P:Bx(T^d-i #=u:޾73̛ܝ4:b;צ3GO&)|u ݯƑMae̎acek+ 73!KQQݬ#b:mb<^+|,85%e?w!Kt~m 8j뱖^$:;{O` \sN`kvr9ڎ TYjv @XXN\#ylv>**ahI;C#`Cj{TU2x?yTJg-RtPy?T V~2] .YQ{尷,JB5OWǩ[ms=h*; F]tWn(Y3PV"f?A~‹SFLт{_6к^l2"i+P˺]5Ex|I|hkf>i*3($LyE/'c~DKRN&^!xwU&d;J`VQuv╕()-C;g&3-+Y j}3C_ ;Q?*mJIENDB`pychess-1.0.0/glade/discovererDialog.glade0000644000175000017500000001263513353143212017601 0ustar varunvarun False 12 False pychess True False 12 True False <big><b>PyChess is discovering your engines. Please wait.</b></big> True False True 0 True False 3 2 6 3 True False 0.10000000149 1 2 2 3 True False 0.10000000149 1 2 1 2 True False 0.10000000149 1 2 True False 1 PyChess.py: 1 2 True False 1 ShredderLinuxChess: 2 3 True False 1 gnuchess: False True 1 True False 0 0 True True 2 pychess-1.0.0/glade/dock_star.svg0000644000175000017500000000500213353143212015776 0ustar varunvarun image/svg+xml pychess-1.0.0/glade/panel_terminal.svg0000644000175000017500000001642613353143212017033 0ustar varunvarun image/svg+xml pychess-1.0.0/glade/seek.png0000644000175000017500000000104513353143212014744 0ustar varunvarunPNG  IHDRVΎWbKGD pHYs3tIME, $_bIDAT8˽Aa7mr$nmck v=ŐvU:( Zō9HYkּߧ>ً}=>6}8afNԦFLo=ey |\iKp8DVW_&a$J8\}h`1 -==/Q#*q|*ɗ?ZZV-4hs/O`%v([K/P\r _êtiø DzEL\tl?M?NIENDB`pychess-1.0.0/glade/panel_players.svg0000644000175000017500000004264113353143212016675 0ustar varunvarun image/svg+xml pychess-1.0.0/sounds/0000755000175000017500000000000013467766037013574 5ustar varunvarunpychess-1.0.0/sounds/choice.ogg0000644000175000017500000001303713365545272015521 0ustar varunvarunOggS]*ZvorbisDwOggS]7_ -vorbisXiph.Org libVorbis I 20070622vorbis)BCV1L ŀАU`$)fI)(yHI)0c1c1c 4d( Ij9g'r9iN8 Q9 &cnkn)% Y@H!RH!b!b!r!r * 2 L2餓N:騣:(B -JL1Vc]|s9s9s BCV BdB!R)r 2ȀАU GI˱$O,Q53ESTMUUUUu]Wvevuv}Y[}Y[؅]aaaa}}} 4d #9)"9d ")Ifjihm˲,˲ iiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h*@@qq$ER$r, Y@R,r4Gs4sׯgv׿M48˾fçkfR,٣oO~jIz*! 5 ~a5NVs`U!Ÿg] q&x| Pu^ 'DOm_ R) ob}yyD@QPG`_~4Nv 63j%q7؝m~_?2~$V V04$psc= 3Y}xm< q+t(g@h<?~\u/(ݧ^غ v7Q6@y̝_ 7] AD,,O[0aزl^>+u. ",kз# `@%$ 8|!ۏ0(zHXP<(Q7CMޛzX.S:s.MoHsNZTބ 7q`K_Dw T nlV,6?=qbP@Q7e~"B}nj/0&<,9 @b@ I: (}dvK_=?hh^HޔÒK3@Ax^>2GvfEsh-}e\@0P* < Rp ǿofïl$W?FV3{'\ē >k!?[e]gFo@scFMl3JIl0,VjixaVi磦ap}ĕL?u&\x?vjUZy_4~>h(2^a>L@^2 !0^(RgX.hM3+l,朴xj~~A  M'>`~Ӏ  RBdI|uɏ~Υ`s(Э&(W!˯?`0PĞ5Ld"هg @,ڏ! d':8|:,bQe55ݯ>؜^zwSV@f !"DBZc֟-}m XvU +S=$ȧOޜbWQCZgJMnͯ_Ϭc>}5--gnцpychess-1.0.0/sounds/obs_end.ogg0000644000175000017500000003441313353143212015662 0ustar varunvarunOggSu0vorbis8OggSuV-vorbisXiph.Org libVorbis I 20070622vorbis"BCV@$s*FsBPBkBL2L[%s!B[(АU@AxA!%=X'=!9xiA!B!B!E9h'A08 8E9X'A B9!$5HP9,(05(0ԃ BI5gAxiA!$AHAFAX9A*9 4d((  @Qqɑɱ  YHHH$Y%Y%Y扪,˲,˲,2 HPQ Eq Yd8Xh爎4CS# G,]6MuC74ӴmUut]_uhPTU]WeUW}[}UUYՖa} Uum]X~2tu[h뺱̾L(CLABH)R9)sRB)RR9&%sNJ(PJKB)RZl՚Z5Z(PJ[k5FAȜ9'Z(9*:)Z,)X9'%J!JL%C*b,)ZlŘs(ŒJl%X[L9s9'%sNJ(RRksR:)eJ*)XJJ1sNJ!BJ%SJRb+)XJjŘsK1PR%KJ1snAh-c(%cC)b,)cŘs(%ƒJ%X[sNZkmsЩZSLsYsZ(PJZ[9Rb+)XJŘskPJ%XKJ5k5ZŘkjs1Sk5kNZsc&BCVQ!J1A141朔1 R1R2 RRR RkRRj4%(4d% `pA'@pBdH4,1$&(@Et.:B H 7<'R`FGHH!DD4OggSfuTHʀ#%$&$%!Є3_}g~'?N-A#fɎ9dyQEfaoFRjk&;yT&M3p*4ۃV;fO/6U+]IO!3q@9ꗟ#_ !Ct8Dn Q nMŽƣ# PJz}G%y≁lX~Ak5TXN2@X.˄B QPGmUPL[0?TZ`PC\P;*1uQLtlk}5R#o㍶<'՗Dž^Kl~m @|͖Wt:m[x6C lmEOk$ij7FF.l|:|W3H $c?{,͏R\GMWtTw j4{HZYR?WLJHCt#eG46[zWs Uo܆:+v^Úw3e8=N^N6$M0*2{tY |jdFqц7Vh ¿%FU0 Cf|gJ:#^ױ}<}@eX PZ$H[V4 CE]'fd?E{)E "OcZ}&~ёp,M @LgGQ J5#90,:ֵZeMu`ToeŽ|#P9!g&[r=Y9Q_!O2G|J̆KЏu# :GJ- nY9ft^]-ژAn޺݋`ws^yYԠ_pB3F4FڒJO'sQfAz鳙PKr=3R<W[~rm~ז`e'1-JEӛs Ԉ]-B4C D8{OU2fV]qsq++62M%1LJ<O?]㇖@կBNNWUA%K?s J4'xL| QyCKvi>)Q潙l[{K+w;5[>h6 h+Z &˦,"-mͯx] V {vt!_[Xս3tO< I.'?Hn&zEl[r@GJ`w֫icX)^ZL*f*4L9YpjR<60xvBےқDrbV@~-TY^LX9`OpH Ai;Q~Z ԭt) 7ŜzzT̠:KI6 +N ]L+Lw\uC0z/h[FD:=~ n}"J;9Vx;=e}9'_h$O$QC[mV9),فv=[+ϒ+Qk!@> ghǚ{RA_ @%Mg>rе(k5^r2[[z_]]AOLRML@طk'67',)OgA>فEX&ױԾBZ<9(fي5 ؼ-G {gb!ay:GN5}ٹqU)#L !ԭHt5XGMlv΋6[=iee*7} td34MYԛ#Y+@ȼ{P{$͚3Xx_Mo~NY0ӓˊ[B&KDPqer.JhKܯӓmkc8"~ kOo~.r^l[L4fH1 M&{X6\%, liG.$ Lb7$4} 7$=^7׼<*3d%T'a%4 R=MZ{"Mĺ[mm^;bՙ^%qgq$+9fβ jH 37sW2k lGa cs'lv4TlKe2YxB R+_ {v^aڲ! vvdF% Nbj|ط1߯iףu2;#K,7YdgEaG[u[mZc^L?31l)B5q@b'c<>kG]R^HG.7l%$֑ր g0dd /%^\Ğ(HP{Wڐ " ;cKo oѵأv=ZD"nlypM ^6m;ʴ*pMӿkVvDJJoR${ z=`>jW/ =۱EwHrH[,VܦJωTFZ )hy0DQYkLo(@0ѿMVUy=3koo;:{U(W8bhOu-~loqakSb mh5W[szЙ3 $ng'oͶ2.96C+ %BJNWڛ"kVqaXfvs:dū^ALj G3#fڽҳOggSu+%^\L 8"S$@v̫3:Zc?"#>t8z/܆ t!|YGti@cb'М߁)p\*i%b)z3]Нa:3  Z6LHv:?k4rA9iŖo7&rBY^%d//jCbk1p.W<l}>bWY:k$C*.?O|} -%6H\9E^> vMF,ɖĈ+| KiҹIurqԤ}3R121qW;Xmp y m} dmݫ@H- Q|Qc E oS~~h?cBA1!$G@D3zԯ#5 "U yvݸ}&,>>IRAKډ_g& r2t)d%Co?̍9Eoul"^1":Rۖm Hϧ5AΗKO<9נ;Kxge@1xLxZ J+*R9Ꞷ%n:!漄KO`_qAQK; +څzJA'*-&D½ފ,ӄ@y22A–CTBO)=dkq X~):bߡE2 $ }F>]´JByi{ EM7++8 [jo#(2̭~kZD2LCF@jB>fRNC Tq TFO 'T_cX3p%ͪF? `e[^%8W^B|{UB٪HwNI(;g݊V7Sڃ1l=~GT m%DGH뽴,,riPxM(6p8hc 3#V:O>wN O^#~^Qj'p@R5 ( p0= t>Zm-kWv%c'%PdG 'ȨQ_#{cKW?{6ENNyhk4KvZV^Q^3y+J fxcn eX4F> y1v/w ].XjDCŘd#kw՞~Զpqh@@vƃVE '>gLUb脚ݕ?Z*) b~省Lv ,FTHs  ,LMͭM='^i{f{?gKǒ?q~&Tx>*hobleTj H0jpo49&;FP ٘/H1n;&v7sዼ^z¡2~/FLѨ`&$Nf ]69jwyIxK~uEnW+bw۳EUŎ(c7kt \64wcG4FNL׹1oŗh-FumȄZ,/ $`QBl!"пOl}eOEXNTX z F\~ű;ke+ =z _\Ce=AoG*l`w/x^1&`}Ñۅm?r%.<4ocbuyb H-Sɢ~{^a~׶(AŒ `N"_OnJ I|zL_#lx*@VԨS\60z-h3uQY i2^|񛿱6^OJsm%C H і,mgHq1~:ɜ66wZ {Zi+gk% ǃ"lazCg8MP?^IJ_h,d#ҫ@Ӊf4=  ?e-k92œГLْ+36}, H*rb {Y5WެiTj  @ASlDWY:`ԊV+8G\NptaaS}z1TMn.Ӄ+{,ήӔUL^^ n|NMd(*yK+xK';ݤܸU>tZNXȆ;ކXni% -' 0LnZ7C{^_AMܿsԈ#5 ]m@+PNB-K (޵ z-yk85IX,ECGTꪔ/PF XAv\BvMa[,X8Ycl[!#sEml٫sEvSmrُ`fn_kdeA68O53mNQ1 "//vjs%7[Ii"X7#df%znʜF^ !c:ϡmIf$3*2#4űgX-BC_Y Ԗ +k#&{YoUxawǯp>NZyXs-~ ؤYY8e̲k/xz"n\W9'4YP}˴uOuU,ƥ$!ĶdJZk&J Ʉ*c!_Ƿȡ:?jI;Q-yqm|pٖÒ͐#UmnO}[oF|'SaZ\"p/o[~@vxrO 3iJeR]NE0 "w}#v(D1=fh5¤ j[Վ/,"$8bDe{a_ AfZ&k:[olfo{Fmw޵,.6VPdیyriZ2 g_2. `j6b#Җ:%S*'f1O%f7&` YgD8ì"Πu$aꔾؕL^у6ED3Gk@9i%W h^\> vt2o3f3<98D˯S\ en'zX;(*˪Y%LEZ {66(<`qՑ_^w$~sa;nU[f"0 hG>u,sysE׊NxC79@f+li=r^WD^4 ^mo 4rMaNbwo]CKĭHl'fk#SR^+UGzKxG둃O3αa$CWsh}gbR[wwM3_G#uH8=e) H0Qp^U}f{8lF'1"w#u܄qnnKA3{ɧk'MfSH=r *MODj2#v*K9߄#QAw HSd7X/.J޵ܚEz>5Jp1sEIjrtl~w˩:qo3Ҁ  rbGҁ/vF\x&…ǩ=ΚGJa`☙n_\}"5Oomd9$QʒI8弖vԊǦ z>tSNзi5oIH *n@aAM.g8rYec3Qw$N9Z %>/˄Vު4B#/w n6*3J dGDՉڶA=Ve!4\ҙ|V<_sc@0%* \=s4wkX*6(ZHk8=DrSgGG^AFseŌFs&IY~-Gkׯ67+2?"2fcnN=#y#V{*kEM/pXYX$G Mxay JbjєcMQT`h{ۍFj«|6G4b7^!Tpf:^]3^NzK?+jҶ|c\RAXVXέV9ښ,[4fh^|Iz>4iԊ^  "su;qF^r<8~~ Y#(j2HjXEtHV,TEM$?SYKX/  h"w.5><9qۆٚcKVY ЯQWE:~g}O1ڻ8r| ޵X ʼ>dVC:݉ZAA) E`12?{+LWT= w8=IKۮlmgn# W>7 !W+TSY:G1ýD?m qE{ޫ7t܇^x-#6K wf/#US+nyˁ㈱*#:TQ󇊶#-o,XJj xq G-Y~X+2ϱ)3pEҎ\,Д(&[lURXk޵\[2_GVuXڸ|BQfX y BG(o[||tqeK<ȊL>,Zƃ3||6cج<{r >[N{)u!S׉}GG߱=y) ᣈ))+h2Ĉ>EY# DSi&A㊱ɯ>Qz 6BMO4jiQ3>Kc7?)Oe*faьӵ%xi O7Eg!Ұ,OGI:Rp̍ZN_\_yR~tش:X.y:n~ppC:ɡyll׉FcV-еjQL g'1ZBt8$II_.`4 1-s3HI |4"qS5z` jEe'rK.S>cFʳ-+@LGNXRVltҮ4R. .vv$)m՟K.4܂{ 5sf k|tUx}FSPG<=4QxC,8 W_߽*8:AoIDPD].yoO;ȃo}HCǵ|>M?Jssklwn]%4L> 4 7K#w  (Lx2hj0Th_._='ϣ$$)w[ѥM?Ԧ!֍0GgLZDCm+~8ؽYsKV $({㯽0NЭ?dKqi;]Y*r9T\ D;3@imէk-{hB!C=#~@|lbϔb. ?>/S]q;Jf*yr?YMmȐPa-}~?{,3 &6GjA"\F ~v`,kmw8iK#[m.7{*XDsRP5'u_ r& Ev9kIl˦" 4;)£\#P] %||8I O5;[2jxݻۆðWBZUV^*46Hxf$:CIe޵.F>;i!Mjb]y5㶯i sn3Lk}>4Vxa 9|!EIjN oAP{(QD"<9/|s̪"ư@G3$>N£֨\{t簾J59lMslDd0o@2؝?-'\3i凉l$JiQE)Ics,AȂ:}}8rxKN$kX4 ҲA޿c EzcirW#?;Ye9OlVJ949b%ht3ⓑP䂝o}8s L#DQ@Me?l?ʻCw>5wZR: Vm: Q*JϲrrNd;ĬqPv4;__71uHZ\/+ 'x|YDG6*~w$ʹEws0X3Uٟb~U&GOL9@4_>]3qtGc1=X~1qbbst WK[A2isbUP=M=q˱wN*{W!o&)4; XG>'.&הCW\L׈O dI9f} #zOʱy+B#Cnun^"sȠs774=uJʕ䉏CPӟjmʽԝ9'I,cUSkc8Z `.Xdr Kaii۾Ja:ADQz@,xX';ƾ9}Nge cCr@G֫:SGV᜖,A@۸T0+?;  L4%ǭWG> C<3lB/nnL*(䃳gLBu&((T \qd@3j=Q_bG8>: bh7 q/J) x]k⧋z/u: ?JgirLNQ8)TȂ'&>2IؽzXjfYN0ԙ,75Q{+A{K?tfek]Kմ$<_Rbď ?̓9H[OZܓ{3TGu-Z?w^x5Fܮ}aFupnhqǣF}>0[ƖO]׾'J;k$TO>plKsF JocB*1j_AbO$cb:u!XNN?C= O8fjxlutM M18f.&t2L0P-0Cq4S# F vNtx]ckt2Νѥ!B{S,\kſ:No5󻁟4]b&xh^ v4l|b-=>ogX~>Xv6A7Mw8ElUDW MA3My2|a%Giw͋bZ*f¹Nd- u!ޣ"ǀŏRt*9dG3$X(b1﯄'H[?:5={5onףQ_xgW}NVэK@$P?=t^\ADGRoůGlƯGs?⁍ S=-E}.&DyuR)/JDPk>#~;ddqҤr7J\ã|ۤVkth?Qk#Emϧǎ.t1H]أ,3牬A"+A}N{$x$9G tp/VpGj{GdZ^Sr2b-^2EkX^6)m='D6&\N 9(0Iڌ3\ NC32Qvm\Σr;Y=kpODkl'Zc|ݞ5i"eei/\ bҩoKt;`T/ WnOH>R\JT[v>t|CY!4E$3M? 1: ɼ߲ħ/7 ,6@BXA3X"O))o"<ǝۑyϭ8s: A],Iv 9Ѳnn1L/j-<&:O];$KpHyiQ]$Z>l+M<8QZH v\kʇڿƃ}m%AWIXA ׅA3~<B16CD(̂sfAHAdvї P6n{4š ORѝkz],}O!@ 5=ax#!-Q0or0 0= Sk;4ϗ&a-!i6zY47S3 G o7@;Y da6勷$k8UR0?Vx _}W? ]O-j1IlN/9L6tF (~^BR} Ae0[W%5cl>,Z6@A%ӥe/3:FYTr`7DK,C[&Xgz 5ecСݒ?%ñiv> x@Zl&a|\/mgs/ !}d0ymȍ̞ݟ@& <’\X,s_'4{nmv-OWvcYڴ,vZ2ԊKwH)j>F|>|d3!xt")u?zW0!?Oc1:,p,^:e=Hj(MJq09[RƧuht.y<}wTM$ kޥaPߏyE,;6-Gs2kosWG3%:ׇ8l~02ΟcC|t?>_>UhKn90*qViO:64AuT%Pʎq$^N6럯BHb8.p!y 1oGE=G' /ec@8-烟}89^<.&`-2]_UESČ+C+6Ñr"M-'pؘI,jh)qmĶL͕0^RcC=>9T]X<_$R9ï{3 ̦ /nԵL7,-qK|o啚6]^|y:m9}1^NC1LR2MtMmlVg;Wk,]{ r{ ?74X3'=m Rh;_XZI a͇ Xۊt1rOda!'?ay pƧ)̏%+UtIN.W`<kDkE'ꬕ~ q.aN06by]Qt74@~ *6^?+H.}`6B9/R~G x=:lj 7\Cۜ;k{Zlg r:mSYS_(Ӊ~76ѮzM:G-ĭs9H0G#u }"Q˩kikl'=L H4'kPqpפvu<'_f31jP3kbQD򖺾g^26#ub ݡ=f0Xj\X"adv?Ig[GeQڡSxgCJmiI"f^N͐s7~ 4/u`e_*#"1Ωo}?,]2ysv:ޭWZLX qt\ 5Bkﻎ+pw4mowUfY G:֫sVTc9>{R^Wוh [d } .Oʲzu2j3rr]/Q3<&rHkC^ض=%v_vCEC!޾YƺZITrW j7j8-6̼1h׷0S*`\,ʱ,|0anEWPsyGlFs3__^ZtA[ٍ=gr[фd۝\-KU1G:`!P\5k&\?Mw^Ȥ~}Bkur(/--B}ׯ;h"U'$Xr*H-gA!aV_GAf 3uEIXaRtpr糎7ij[}Oѥ8M) (ɧ9WeAbqFo7d'<2/ Vs0jq.XA#;ƺkrRgp\-Ī4x…V)D@XݓY瞮>q/U pY d()! D ^+-UZj_,>f7jM!cW{utF?l15NQ:B.&'z%_v Cn%,GzQVM^X^)ͨ 6/f3JS# G,]6MuC74ӴmUut]_uhPTU]WeUW}[}UUYՖa} Uum]X~2tu[h뺱̾L(CLABH)R9)sRB)RR9&%sNJ(PJKB)RZl՚Z5Z(PJ[k5FAȜ9'Z(9*:)Z,)X9'%J!JL%C*b,)ZlŘs(ŒJl%X[L9s9'%sNJ(RRksR:)eJ*)XJJ1sNJ!BJ%SJRb+)XJjŘsK1PR%KJ1snAh-c(%cC)b,)cŘs(%ƒJ%X[sNZkmsЩZSLsYsZ(PJZ[9Rb+)XJŘskPJ%XKJ5k5ZŘkjs1Sk5kNZsc&BCVQ!J1A141朔1 R1R2 RRR RkRRj4%(4d% `pA'@pBdH4,1$&(@Et.:B H 7<'RpFGHH!DD4OggSMqe$#"#,-+ϔ^h#9o`mЉ{@քP` ؔV^H<ʺL2zB:^u s5*q<ܲFL.|@D!}  p`aYSl{REo!CߦZ@A!<6Mdc^TS#BRvTvj S]`xGwtJØHBB2_TVZ*ځ ұ$6I46.N*bCRj\clO_8K37U8q@܂NGk~ UV}J9~u?ƏW`*H'# 3Fȶ)(m[uɋY[ZT{W4 W֚ 'p(V") Yќ-a9鄇s8~>)/<n]7)lӢu/R&9yR>g`{YĜ*{m4 L_Ll/=6 055)2²f%.D T)RYtV[u¦ u:b@h")Q6 (G:*:@<2LjU0ҶV0M/֠C{V߱FɈ<_7ᩚ Q}tG"LduFEM'#}9 N 6Hv B-HꧼTPSw(Is`C6CVmCK@f~|_dg aB#OGHVt$υ[7g+'Fi&AՃ|`^Y.ϙ6ϖ呶cj[w f. ڃ^](\Nt<6bMcśpeR$_V :ŕFN'ޘȧyQFW 06TKTxn U^% V%.lj`T,׶?Et_l=DQ 7sODb[q13Q+u(Xw$:970* 0'@H`N *=mu2S#a%@VM(4 G"`&*@u+JJphT3XtQ#Z^qȶdkF?}3k3NmCǏˌ&4Rk!;h 3_ԡܞtJ۠ϔ>RA& Gͻt.z5=:'ݴ#$L /T<= &m҉X<2+bB7bmz] 9RK[<% d&mT{`~s}q`K0s^$W_RZR@5f5wsd<Nl| i$d_/}lX6CR/W(N732Ǩ0^97{$K-åjh<:{ >.Oh/Hڏny $(&=L^t&P|Rr;|@Cc)#Bc7"+f40 >'7 mսAvo\tDZ=7.2uX]i~ _{涰:@ W#?. C_~u},V脽p 6/ P!(ck^bwHiDSn+~L5(ku!V|f?I2{vp&X^( ϘgOj`}flk4JcjOl/c_FK.8Ysw4:^PۊPvGV~ x?,tTw^d;q3؀Mt,PZO]U_/.{j4 zW/zY*(@hCSM0tGW8dC%SG Pz8ҍaoyu桋_#Y=)|ia-4?l{1 U-rxmwVzvM!& D X7GWBz\=D>s=S?j)`']'.EP@VT/A_`xi0"%9F؜iNl|nOTmF+V(EMP#Gp;HenCd.Ck;|ѥϻj? 0<P ~CPcIޠ:#~?nPoG@D<AqBl€ @h}0@BJsh=l;)b5K5q5rs7Pq%6:mHq,.w=9&yQA4 o>/V6h+->('y%Āp,+ff5ǁnpD %(LCϧe /9Z?G)M+t`FRj 3:eY#s1HW`Z}w7+Ow(ǻ:B4DrM!A5Ygl[ %[n|ϓ^,ùLg0F< ߟ~XS*x5A;;ԕGѓt @ d%AiӤu4D]F-O{ Eh 寲C~*Pp TG"3P*hol xe wg|>W`^m[ 2y~ 댅h[nvl$ SL h1Hͻ+zϮW(u-'^68u@ 2xNNN,Ps|Cs>htWk^L]]E* $(H+'δRHj椁rAǓ7CwA\("g"9L#2DMlb! cZ㚛8o7IYɜRC~d]{_&-@\RFPSUY [w?S.w$B/ 9- k1Ehr,|~ C.gxc& w3)$>cO,3I$"O\SUt%3.lXQ_NLbLyhv< ;m{uc{5OggSq:e/*v.*ɬgX=%V I#1m-7)6hX`x *R:o"eՉx>9@{t2|bvjD3nSi :NR筨|*{8>@O3X%[0<7+SӼkXmVcs0a疸pIRѶbZ톰2c,AF SʗJb" ѻ-ФyO5WK1>dz_ՉV@DrQ2!(iww;~թ+h܈i@{Edyth/.ͅ&zmypYʭe Q֥eFd -rj+gT#l ;\Q&κtWpW9;KATX+(Y(}x]4-ly~L] 2%!(c ͑P߃Vd:z3D]WaDkgWfjGU"Kj+!I܊*'i>WB1LxZ$WkfK=?gfMJHtK<J>c>}aFdr3ḨOڊ*g{D2:I'V@ (~on^4XՈ=svF8(HhÕ>Ada^=wlk xMGqz]}&&ĎmcfwGk-Eݸ@I^ &oY* D;7Zm9r d JYއfylhL/hp#9@ <,P_މ6%P*J^} 3K^~唢|nRŢ Ci~kvepۑv:qrqږ,GϐJ]L,Jt?l iKu޳̵4J67'w`B+~c۶^ثtɖJ@c7|!G w9;/h*9Uۺ.m ]K"|?vm TJ{ݾ#{av#*j[Gl*zE\`N S> + ipël{=;i[ r^Vn oP]-%r_hIc*-=7C,pD љ0u=$v彩PfnzU9ˊ7FQ/ { xd %٤yy eI6@h* x0iADAϫ m 01z-2va\f5{vKO-&I3-kEf,#[^vM@ݭvizW h~WtT/^ rE`O Ѝ` AY:?o7~DA k;8'K]VqwVisr+%>v)u zPJS؉nϏdhar!,ii7b}ʷs )z1ۖlWH2[ˎ 1J w'`tvg @yhY%D~ mÒB%T)䴦@V9QWܬN%ttfb;cQWiִnǕkG(N6cq XlSĐُӓF\J{F^.X [V,*+"ihѽhOE ;JxJ&`38[XLgLTxe WjGhM[kT@6UPXeb{>= ;*4jB;Zw줼߇R|by8iD͹e8ic 3U>G%܋Qoٌ~Mq)Mٙi*Dwg|۾.o-Ĺ Rx'uF&it=@'3< !Q*s8_z/( d P$LPީQJ%#U} Hv<KmIᾭ&QAWq `я֭2n'Rm\orBior ur#3G_LO +ƨ(̗t}wG.1 dGIAyGK 84}c>4>^Dnš-jx;08ڣ޼'P8%'a6$θ|T{y5wu.anGR>or W'/+)RoUb՟Sގ&FfW0elPyi*=yp{)G̷dD>1٠.g8F F& AW Fݪˆ"P]$~#UAE}3\ R9 źǢCoVޖϚZ23ʴkN J$5I{T%S a[a`2|?stWivߺ9 $hS,W (Wbdޏ0&9@U &J&:J{=%yߣ<8zyBӠw * 8TPbdմOנW vuH~iA뫞TeJ:Q睬ޒJ&,& hQ);ԯ;}f]ȞUٿw~Tn+&[$V}0VQ7G(;Y,zP n&@} WSL~/܆#)v.0 KF| ߎ$[thUڏ'gU! Ebн0S84Jq;,_uUh/'$=VL݌Y#gf;4x]۔V wa=wlJ?K ۂqH2q|GkXlF#t'$2t,^眜;AU̥"W[ @9_ 4@|8m8D rW(|F8wKūW=Pam!1\FZeO $쳪9]qљ.7M3+;_:R .W:\Rx }Xɡi{5ct >hFܻ-U1Re9e9PwDZ:*@SXPUNr^%֠P7ʯ H*yQEF 9|b8MG -b孵FJI<Mp/`nג#^6t+9Q -Qxny@mC>ARU+]؄wvc_ֈb 6"8oIjP{^XЂ9;qawYD't h lxLe (Tdx#i]8OŽp мx<l [ ma~:ʏ֩w4wLѰgHˡq~v7U_S춛lN1m /Oݶ"_27獢8P7~9+`!;2W[,؅p&j(&s;ǜp_6p@$ GAц@[ Μ&W;T.UQ [RPu] +q#V+G~=6a [y;ǒx_.+,B`HZKp${E.cnGwZe0_|ŀY~ "Tbђ+as _uV؀NxhRAJ\}Ng7!"fJxgFck 07O515pޙcΦsŧc,暦Z<Fp$);%mDn9wXx%˻s 9HjA*HƒĸU-wAAfԨlrw> LH􃙋 l;/-$ d A9[[g)u쨪gvK4.8%Vq@)ȑ"> 0RnImԗq-$bQg,TKV(XΪ k,I&QVv4!28XUyt;Jbv1N>{r5~ ;+tcrm큀S00E%$xs6;VUEfR6LnQdD@zK `X;bF1&2sͮfhBd6??؅#[#JѶ4r^}3#} UD:2*wT3FGHƝl'J؆mY>7̧vJ:o,E2:L:@@  02MOrxjWWs' ӢKTwŻ  TCgv+x"ђx> po {6.i׷M^߮a}Z4 ] ۦ#x0 4k%Iun97D[v;&&37 Q58xN(slpf Z(%Ai^LHuz|E(NDHa|hm‡t0y;à[FOviәOÚh`N$r 5{\fx\,1iL}F{fm{l]zKm)!&̛ rʧ236hL&ົ p,S ҶDt9tsj0CPϫj5RI#E|)FHZr y( fLV13r,H^,J}{޾=8sJۡ[ux2Sd%I|g{mM#L?eW0%~ >7 :UtDƆȀHН p PC ee#rJPO\a @#X(Dj8Dj:J&+\Fӛg;uwDSg!frD .Z!qQYk1dm^pm~+WڈGjf2 Xncp`6Cӻ]- ߳> bAZ4\}xb\v6 Z˖Џ֬N9U=;PR5hnb}DlݦDz-Lc@/#e'̹WIQZrR$rl)6Lj%cHls}ͩr30fUbQT]$^?A |nR|q> rA~ҠMD@}%t`2tΤ (ת>i#+kWB:.$t h55zF0yιPހg5@.S-7B*Jea.|P2hƬz|f%GӌDk΀C *$dVE(9T_}H ~G d -]?Nhॎ ?%@_;GAεs{ե,#9+|~si:hkD'fUB$Ty~A΂llxSG'*nyMY{ϔYN WAw E=n>ےoؿ~&7_&em׎ "WA~zC儐Eb#Ƃ 5j`ϓ4(1d??iȻ;~Zz(_@TF<"XK=CH:>168Xygr n\rg8qs>nr*X'6e9$$oi1m*tfcV{⧻_֔}zI&Hˤ ai8 >' Dc5X'5'Iڐptb:Ƌ dI=%]M/}f)oKEPR/t:rZ4=ϭ.aۑۻɨ{H]exvE-r[90.GZw6Q7Qό:2NLINv2/}b(fFP*5mF> [ءuR0vyₜ[:@8/MwfG*W4rP/A(ZzuAA'@cD HoT bcUd8ͣ4[6[ 9cz EzzNuU2:{͎DW7 NBѝ "jׁ m[a=ЇmFnYHnT[UbppӀɫ|#)pYSkܞՁ%8ך\M mԫz2cHGv&'ouR|kȶoCN۶>[_r6 @!깜ZVg~ t rYhXЇ }a2"Ҷ#uTX~i0B}+=^K / 0Tc`&jwO /Z V O-F48+3Ll׎#篐X(Q'ϵw?#Kel; }{ġ6 -2@1lq}lH5&G94f(Fm=@;(s v tjcd>Iلf?ϛ^ޟ5jŊ]GgB+zD}sZ]=:ffcř}ܚ>WSD~{HEL@f"mS" zS[V]}g2у6mCzd#!kd4wG9p6QkEHZEd`Msn!G- 9Y7zϾ72XkU: GMDPsS$g9OSzD|Vv4G~Aeͭ)m\- ZytjP j8d5qjGl@x!(XWU-{9Ѡ#F J\@!InkeЙ66)xOI1RcX]e|(?*q!o7VuDHB.>>2gGDo}u;ĉб! 7}5 hQJǫuoڭ OggSIq&SǾ;Ŀ 怨Z;X `;xrA9e`кejcz4h8LR HI&=F$/ga< SsFl}ϚmcS?@)*Leͳ LߪlNh&]bjczf̑c/ ۡ0]&l;_z^S bAAq/3aP{΃ XQ2F_!gSm4 ;1`==zfR劂O QAeH@"Q o &琥 ݵ8'ʷAT/lf lf,)4ɭ6|bp#؟gh3 ]'=l.mI󣆡= $K  FAsdC;<" JQuoάؑ &- *"ҧȴ])zou {PÊP)zų~Me'eq Hhm`p}И7cdA۴5cQd留zBxy+P~+8Ro4Unifx,^[Q{/K vB%7T;kвef1`<@eh nbz>I)X*(tE󫊀;A*Zcwݬq:r@^YE?p%Vxg>pJftêc Vb& WN#g"v -SQo*NAT*5ž zTBx"$pdR/v7 (!92t%I&_]Azy P?F}KRQ.%8b*;ovUh=֋;ݣZaZ6n hXթ"kotq?:-.Ν7O{ћ) &Sf:ì"X݂# P'KbFAP.rs rs&VbDXBhU  Z7avűn jdx XCjɹe#6=Ej͒hc9E*1&h!K5QRO`/yܺ=U/k٣5&XfXt~F[ރ' \-{y1%hES6VeyF)R'. 䇢g`)E"MK.cp !/%u#1SFLB7u7h;ĻJQ4Yp=V}vd"Z/[+,ks6,.?{dWx~VG> q )Mr솴H0G:322egm31sU%T jZ)"@f@yPD P;y_L. KԡnRYXzS 7nt4ia4R⃥F붎Liy6R2?zpO[Їf$NTf49Ѥ4-2@(d6?'(?+٥d{BhMzdYo/b1d93,=+H>}S/,[Cq{u OU)xݐl>S 1_pú6Lb"3msۜ쉔8}vWa۝7I%^fS%DB{Y&t89vѽFe(ebࡦϯ5!վj҅`!(t4փ14T@T-}E=j&$JU ;>Ĭ-g5F,*xn;93{)8NO ʜO|4J[lJz"fKELdd~FtF':n֟^CS rLEszȹGI>Dp&#TxڶIyYU8)ܿ)] .2:*j2#K}&F-*ܚ2qHh d/P.ޚ$OfD{S?ZE-T[)5-mH[ Ammy/۬}m=z b"M"IDHݱބ"#VNۺJSiT%iXP{lؤ"-l u}`CI1EhH׆{m% ky$ $Ū4`bQ=E2:GeS t {9;9l`FƐ!(s<&K3#91g( @6,V6k80E(6 §PNWbݔ0֯#nI~OOBjrx>'o~{)e -ĀcI?S^#%O?7дrBx+gd=&V{c>vg%d VE+S h2b A9kIeCMxкP_[ 1R>`/M>J"z`9^@pG Mt+ȽЭۍOx oiȂl Ap-\/Lx}=Ji n}gډ|:Ntc"Ė:~>vԗBy{.q{Y+ke$Ыؙ fOuMLkd@ziL= )X^^|ʱ-=T-V`!l21tRGXn^&KqϜZ2}6̾cыC'qLg}HkksAs1ҁk&9o\!DbMjώ-ޖ`׷>vd{Aݦ*O{KMlkO\q[S89^Ff~,f!HX$hÂLg&zPR-7YN)|Ja-L2ⱌւlz[Tu[cZ%*甍?NN1F-c'\Q9D^w`򇊁)F ?icD >f{iQp4 udH!c\atG_M=i~ZmgQ-nTĈa  A, P0ˠ0铉5u+T*iIZ 6 BMDN0aV"ogNk&OͺXtN;ԪC྅yUVh~<.&OggSXqe_>f!܏V+{yBc;ِ&T * CP*uYFOs+_ 4! Bvk£G{YB6=† L#EֹΓqm3RG&,V8OGp KrECmCJV~¥Ƿ B%3D`-T\a&ol&$E[F:b+uC,QJqXF%WOL#KcɼvDi ?e N+u[ dXDO$ĭ[T[_8xgDDS.#f5  -bs%CVC=u- #HUk)ʆg>{/HґaT2:C{+ExNa~؟*i=aPVVtq&UwW{ZcgC'ԝ;01e 2,ǖ̯緞k7O]'+Oj S=a;$Z35SYΎ`u}Ku"XU *;esfi%`wg4n%D`^V`Ʉw!9w!ྲྀ pychess-1.0.0/sounds/castle.ogg0000644000175000017500000001356113353143212015525 0ustar varunvarunOggSo/vorbisD8OggSo7B-vorbisXiph.Org libVorbis I 20070622vorbis"BCV@$s*FsBPBkBL2L[%s!B[(АU@AxA!%=X'=!9xiA!B!B!E9h'A08 8E9X'A B9!$5HP9,(05(0ԃ BI5gAxiA!$AHAFAX9A*9 4d((  @Qqɑɱ  YHHH$Y%Y%Y扪,˲,˲,2 HPQ Eq Yd8Xh爎4CS# G,]6MuC74ӴmUut]_uhPTU]WeUW}[}UUYՖa} Uum]X~2tu[h뺱̾L(CLABH)R9)sRB)RR9&%sNJ(PJKB)RZl՚Z5Z(PJ[k5FAȜ9'Z(9*:)Z,)X9'%J!JL%C*b,)ZlŘs(ŒJl%X[L9s9'%sNJ(RRksR:)eJ*)XJJ1sNJ!BJ%SJRb+)XJjŘsK1PR%KJ1snAh-c(%cC)b,)cŘs(%ƒJ%X[sNZkmsЩZSLsYsZ(PJZ[9Rb+)XJŘskPJ%XKJ5k5ZŘkjs1Sk5kNZsc&BCVQ!J1A141朔1 R1R2 RRR RkRRj4%(4d% `pA'@pBdH4,1$&(@Et.:B H 7<'RpFGHH!DD4OggS;oŅe'"(&" ""*-'%,'!&!##&'=- /1 jjjh0L_'3yA3:^][=7޺j)ht\lǤ@ V?P)b9Dӟ%k !{sKPkRt葶&J#Lݓ*$ZmzmPXDsu* 0{RVz9,g42fyd,DRjyM\4\_ P#D-OϹwtsg)43aT3uh D<ï΁}m$,e3xAVS]Y*A4tc.֗2wkO<2f16 HOV{ )i%a4DOTWt)I}[bsgivo}ai;:v?nDqN %00KN-F >WHjx"񑻳Hf^Zfп8ك;#;5.#<Y'ˢkǕw}i?LۢoEY|˴>vԼp@OQ1BIGZx8L@Ť(*H5M3e IoE0Λc^k]kϹqq+Qv{>`B $_5nwi54Pv2>v_@ RZ pUΎ"}_0E[? GƳ'$"2D㇯fZmOAjo}b͇{C܊@iAަ4D4\>v_v4p` M PlZ'h>к-FXu1tq}4K53>,yO)rly,Yt5Zq(vpGN#B6PFaGȂ1(,:\ύzw;d>v_021:tw{,gwdVDuv^Z Vؘlnm n-4K93$Oe-sW^+ u8%{ϑ(6Opq>0KW\ nrY~>vpB M(c!@&bjsMFhe?]e+u I=&DR!D.G+C`d ]'R^nWaQ9v8hA"Yx*5!'>v_"L J`0A_0@(A +d2SJj=TQa$Jo־7膣đb2@. 2dS,d̩NV/F!4KψӝWXA),S>v_kedk|BR%q5eu/bTY ]l#X\ o߽b# '## ?' -=QM{dkqrZ߹2e:v}6ތs>G&gD+Ҋɴ2r$-PrWgҖlutlns=Kϋ=34'KW$Vk&{dIrYu Kkog!.g3[zm[6 *%[йCbW'H=l4u0#n xQ볢3*~>Y4@ߍ pychess-1.0.0/sounds/check1.ogg0000644000175000017500000002403013353143212015401 0ustar varunvarunOggSpKvorbisDOggSp܂.:-vorbisXiph.Org libVorbis I 20070622vorbis%BCV@$s*FsBPBkBL2L[%s!B[(АU@AxA!%=X'=!9xiA!B!B!E9h'A08 8E9X'A B9!$5HP9,(05(0ԃ BI5gAxiA!$AHAFAX9A*9 4d((  @Qqɑɱ  YHHH$Y%Y%Y扪,˲,˲,2 HPQ Eq Yd8Xh爎4CSR,1\wD3$ R1s9R9sBT1ƜsB!1sB!RJƜsB!RsB!J)sB!B)B!J(B!BB!RB(!R!B)%R !RBRJ)BRJ)J %R))J!RJJ)TJ J)%RJ!J)8A'Ua BCVdR)-E"KFsPZr RͩR $1T2B BuL)-BrKsA3stG DfDBpxP S@bB.TX\]\@.!!A,pox N)*u \adhlptx||$%@DD4s !"#$ OggSBpU(-99`(j%"BffcV*BN00Z'ѨC 0pD"6әU!apD{6m,7 eƂ@,Xu$ >zQz#"MabtWl=ݠK7Usv˃_$to!{kKf-)?P)e;\"67։X $ޚ]g 0pfW6 ܷIYl0g9WUjXiXEG0A"bj QDZnS>Q{t+0>zk;B=튎#VӨ sLH{mYA @( ] _g4sƣ\fb1UΈ z+mcnF8@Inzjy/}p(@^zO88PzO8A `aiJ*Ū XcEm*6ٱP0mD P\,FEn. %JS7nˡVp_(J)=L-ϳF e$si$O[YJ9-/'5CpAN:/ӆ#{^Ι_?H[Jt*zM ulbrdW sgr  y=g10p38hpɖ&V,VU (ӢUL#Qb0>hL`PDҳQz$RU2?8eBBhLkT.:F!BFU*QxEGb7HUjBNwEZz̔=`:Δ8Sߦ7V+"ޑU-"g8L2h9=GQ0CGd=Dl2bUU5ƪZ ptp)h#BblcUQiۆVQ"?JBX2@ 2le(JdA " B)bWꪭ!Xdct{ٚwa<g%];)F,ͨAvA Qw>aݮ;Р*@3Y{;GO A@0Is,X.WUF5`qT-a:, jVT[U]mJ6m#B B [F 0`O %!J"(K 6PȨ*Hs#9=gBFLSAzOFӜw@UDCX N"1`>8bd I}kXvtR_ >(j`Y8\,GEET*j+!q c+?:P"D2 \F$$T  Q;0I) ˥XU`He.ǘ |+%|?tae阖sovmƒ-jшн_D?'&0#ʷ54v!J @~9{ 1> >z# # b9VUU!VPEUXb) BGȁ*~m,JMtZQJ**,Ӏfт$RriE  J^ %Bh22BrGդW锝jHӔAD+8=kC 11"Nh#;8'-!L nbm`` i (DKd(dhl &xsT2 fXUUPjN4$*XjtJjnT);8@,wcdY7q4`rP;E$(i'B ^M:Rņb lFkZ%(ߍvN5 ci:ݕ |x({ p'_/bŧ4:@EC٤Y; fSlK0"lm /J0i:i:媪 `:VlVbFkN)mGN5Q& MG$9Hr"E@ FH)@itlBR$ Ђ@Bdc &`rZrqN=!sUVn>îNx yaZR뼃V2&68!F"a+*FZ5ƞ݂t!H!&p !O)vc0ȒRl 1WJ>Ŋ0⏐]z(%~6W۳x3וP)jڰR˥3Ip)go D+,SKXHE T7M:h>PqeAYo AnL*+X*5FE(bs jj=sH@M+%c"a0d *L! `60P!fMFj(qd'5꒢6Wi>IqZq{&h 6ДG ذ?AJS.ӿuHZlkuѤn׵ 4Rmyxx[(fS ^%@!@U$Agf,+r\EPA+nAQTGQQ]R")HxCԵ +B mB˶,b¬`CA%40aJ)䏵 j@XH -iF]-uE vTNBlۍSn/K+=f~@e^)m;otS6\VfHި-kGQ[Q&"XbU5],V-8&F#hb"VbhѨ~uUhKƄ" %HixA: ] V@^(d<` FJmZ (ð83#f֮`hj_L:OFFP]h;. ɖJŬXKμ 7Mp}8Z 4x10<P %%+gU1* L!4&@j-M  !0mB+jA-9R ˞HYMXlY5;vsl*(h½Qb" BlI6Bm(Uѿ’ Y1/ BTqjmxIlD)J:ܢKYzVrHo3\i$/?Jد#jW΄Jl]9-Ct@1OggSfpXA ,4~x% ḞQR0H W25@&Q;s bΊX1QAPUTTՈ18&tS %QCr aF*atc;bawc@ -\ JResY3 BhmeYjs|-.g=L̽;ѨR=Sq;\[1|HtȿGGcףa=\N@= K0?0  (Ӳ+WPZ0UnZ,zL""UIV:TUނWUE]ߥv2꒪ I P&06P2"-_&&##X_s|) 䱁fi tuٛsw˾ѥw_PX_m񽮰ze Шv x4YAׅ=$1"@h|&a?ヶP4 3\Mj`\Y.Ǫ $&E ݪZccxb845®2x m`$Ia@ Q0@ )@Ai ,"@ زsRjR,Ɇ D؉ ' @ U`~Gg~ngHG݅*:PI B~VWN8kV&I;%CB}!WgkԜ?d x|# 4x|# `x#&"@33 ΐ*r1` bA,Jla8>TGIvfN1@%H[6L `Rc  *0.[R3  B $aSA|n#b}Qb^fL]NG-]dmfk$rN4K( ]K9 W\,^4> UֻG;:OY8n. ;ދDw~թ/AIv>h)0ec@4M'\ j;V4سFj5-fiq" h"t Y #豿(\` pe00J)/5x e3lpDd|O\s9?ҁ"16; )u#mYL9ɗbLNHb-ķ%Oʵkֿ$FJ zg|Ô);c[@`rFD4UU b &j)մ9:XMuvVtH[T]p탛)vRPX\Od 0纗 `KK 0X'IzSdD ;L:;?o^7zEpK#<)9!{ >ڿ8%,-:\1f|l8}b ú7m6G=EB0w1Ac: $"eI%sAs,fYXUA  `1F :jF˜(RlD(ZdFe Ba PBGv#($ P0 ;cVZTծPRqfđ8TX(btnɄ2 u&_[sh$PjDJ·3go_##8,%qlxq;2\`v @16%gB˔, s`rQEerUXMS,VHtTUu+& aLZz46mmi621$0 @p-JV1 ` #IQbd:C1@Nؘ'B$J乆?}TU_}Ҭ1G*&*Xk#QIڵ׮Ng=FB.@_S3eCB0# ܀ (_(#0ppychess-1.0.0/sounds/capture2.ogg0000644000175000017500000001245413353143212015777 0ustar varunvarunOggSn\ QvorbisD8OggSn5~-vorbisXiph.Org libVorbis I 20070622vorbis"BCV@$s*FsBPBkBL2L[%s!B[(АU@AxA!%=X'=!9xiA!B!B!E9h'A08 8E9X'A B9!$5HP9,(05(0ԃ BI5gAxiA!$AHAFAX9A*9 4d((  @Qqɑɱ  YHHH$Y%Y%Y扪,˲,˲,2 HPQ Eq Yd8Xh爎4CS# G,]6MuC74ӴmUut]_uhPTU]WeUW}[}UUYՖa} Uum]X~2tu[h뺱̾L(CLABH)R9)sRB)RR9&%sNJ(PJKB)RZl՚Z5Z(PJ[k5FAȜ9'Z(9*:)Z,)X9'%J!JL%C*b,)ZlŘs(ŒJl%X[L9s9'%sNJ(RRksR:)eJ*)XJJ1sNJ!BJ%SJRb+)XJjŘsK1PR%KJ1snAh-c(%cC)b,)cŘs(%ƒJ%X[sNZkmsЩZSLsYsZ(PJZ[9Rb+)XJŘskPJ%XKJ5k5ZŘkjs1Sk5kNZsc&BCVQ!J1A141朔1 R1R2 RRR RkRRj4%(4d% `pA'@pBdH4,1$&(@Et.:B H 7<'RpFGHH!DD4OggS3(nJj".-+!!+(®²g>-:5 Iߌpz{/Џg\fQ,n=R{wY!!4Kf=He~x0J D};% s9:(ϾE]K9:5ZyݘɔW=9FΝc$Όd 3y}hufݱ&ح<>v֪ Su^^^^-ChuUeueuu֗DBug^Sr˄LfL6;Q}ޟ+K%_*/ .TwT骀3RV'|Ql}ı3M@6;z.ʱj^OGGR3#dO@-S$'dd0v0`p˚,E)u=CsAwKXwMe$Cf4:[77qX泓'$0׭OTY'QW>^n^ ,xޛ {&ߺ~,aʓu>_qDN}H" `&zIRs+!y&Du4+öL?xS帙L1 c$@* ΁;6Mb^5KVNgu=4jupS(*Km-*XO 9~+THb+Pr.f3^:B]և%PDO#GOlB_/n6`͗Vc~w8Q?A߶-Lc޿_=_ǣ-IVB=oSÏ2.'NX'$EFccT/R,1kd0Ϭ QBn ى&~R˖‰GM֌·V^ޕtE O;3,Oz9a@P0!rcϖ=]w? 257:l'׷PuXj]_ H6!XHXcH>VC YCʻÒ6LMaC|T9pychess-1.0.0/sounds/lose1.ogg0000644000175000017500000006042613353143212015277 0ustar varunvarunOggSrMNvorbisDOggSrX3R-vorbisXiph.Org libVorbis I 20070622vorbis%BCV@$s*FsBPBkBL2L[%s!B[(АU@AxA!%=X'=!9xiA!B!B!E9h'A08 8E9X'A B9!$5HP9,(05(0ԃ BI5gAxiA!$AHAFAX9A*9 4d((  @Qqɑɱ  YHHH$Y%Y%Y扪,˲,˲,2 HPQ Eq Yd8Xh爎4CSR,1\wD3$ R1s9R9sBT1ƜsB!1sB!RJƜsB!RsB!J)sB!B)B!J(B!BB!RB(!R!B)%R !RBRJ)BRJ)J %R))J!RJJ)TJ J)%RJ!J)8A'Ua BCVdR)-E"KFsPZr RͩR $1T2B BuL)-BrKsA3stG DfDBpxP S@bB.TX\]\@.!!A,pox N)*u \adhlptx||$%@DD4s !"#$ OggS(r ELHD5CEE@F<(%%-.3?<(%%%%%%>4\-dYz#*nU?uyϟϮl4jJHjnu4hO8m~<V #gok` >k~WUUjXyVT]vePQ|w v̟;ULy?BԆmvnĢ|1FMW VH`ެ$MPmϷOﷺ|/aa M W'FQ_~Zׯ_ +M W&#9zׯ_~+M W&#9zׯ_~'Wt|_<9b"{Rv{\7O=ݕawԭ?H@_*ڌrbяWL^彪L3|SKR"@3 %67$g]@t>56vxq HRle^:޶:Ͻm۶ oO&M~W|+t/*@0jtyr\֗=fwپKP^ M W'j2:(_~řSLQ+M W&d33tZUSL2e+M W&d33tZUSL2e+M W&d33tZUSL2e+M W&d33tZUSL2e+M W&d33tZUSL2e+M W&d33tZUSL2e|oisjB>@4 ӛVīʷCC^{ue]ϟ_mIi̻o,R&bf~_jZ{^mw>v'J.t.LvM8 lZKπmٿ*t6V.񮷴W4)la\7 mfd`\V:~o-2KRJQTniH\|f:f ei&,TvYum͞tUrմQW)I/qF.:o?ߧXUGCnk+zz} n6>X$K3'۳2 M W'FQ_~Zׯ_ +M W&#9zׯ_~+M W&#9zׯ_~+M W&#9zׯ_~+M W&#9zׯ_~+M W&#9zׯ_~+DSW:@z$oZQג:UgQUCzNj+Uc eٓ/QiZzWy1sn8Ԫ~yd1noƇoD?-,VTK? d=+ &iR|Ո=8~ϴ[6ޔL;WEYdEVffzfF4UU 8Yc4oݟN9eaRk|փmO䳧9glz*dCLAGHT:UbB8X#drZa`2 P4#G@P -rO/Ri4ٍ~/+K 2Bt!}"R  Pkx[Sv9^(S fA0Nt.8>@3$#^V5R1{<W*Z6HVrpy*W|&޽/@3 hy_q;8jiO:T45!*O^)~3 Zv{?@L+X܍mKkX,R |(|{m2|o\HiUSėRQA+\voχג A&|JU1I2QG>?}Q~z|G8N8S|oe/@` $-Z5ogTb^m;evc Apd3yAP:tkYNyOќ7LͩnoZfQ&Y}j)T"uo!eI`4ɪ~|y~\gm/\j])jeWz/Ta–lES&}[n ǩ ISk))\s2PTgQ\es>gd KYJEC?.u t>k=cj&:K0L\]}P[wo7njU2 \}e/@^̨ykS5|6N,[Ϲ&vnܠ14lP.|4$ Kp9ٓg|}=.:R#,hnڪvp<.|yнOd`&>Tѳ#F??ӼSNkdNϊJӴe\i)=\'ϋ lmix` tV,r5/g}v"X ,ӝw<{\Oa d!o+4)  yEvlH[Ί=+ ]մJUKNs$ LIz @u$?=|z[v^)BЛ'յBOggSTr]":4E?= 43-0:50-/0444=I4//>> 15EA(414DM?>A5146226@>@E.5@x`V?w;{=1{3ITUB}D}LsS1D!J!kIIQu%;Y։O0! %Soѥc%ߗ,_dgKSdFWvsZ[%?=skQ ~֕ݝHJr^n'GgИa,",TDDDtDsUU1"Y2jvؔvU|yzEwCb~:%>yx~BwlxuG1ăW^&1̤ Ui)Tnx"8P\AIlӥ݅M@&E ̤+jdPȖ/8#/&$0ai5{ =5̇%"p*t2=L6dQU' @/iUMQ;r^ܒgo\3NxK3Z>;Mg>jrwmrGb2ElˋmUX@M#OX֮^`f;u|i6tWkDi2p(pi=_o8+Zs(.8Ed퍯\k9ZC_ y}O|q4yv0ETT[ZfoO {9ef_S։waRxdw횭d_/d.& -g{Rk'\v/%0 a#2Mk^+BI\9m+>)i ^^{yDq;Wz}p` pgųSžɴgz7kL-#*ob?8PjǎxUv(O߹[=_#T癞7|3\`C*K}͙Jq,<,= rݿ>ԣL',,0pV.>M{o1OgL&8Y,[/d52^D @*@_XN帝g j") I?Mɛ}{1JNO?7:U]jӛjի"Zp/S2*c @8ϓ`hݿޙI(Ċ3)8qD>ۏ熂"JnV/٩o3qQA;*FҲ4L6QTnk*z$X=~cqU^gY2*;f4xL*~TS YΉyꎘ&TPN4]vi L<4 e @=LXBYSg!;߷jRԳow8Dv&}tSBHL֭e_Ie3ffIժ/RLJX%GmBst_v;k(7L:+WE2Rwt`/mVջ0Y`gr/}=F<9kͺ 9vR3o&J'4'h]܃rTX%n, d1Z521 t,FmY eA̋r nr-*̋0/ˬ  mleQư2,=eY8)f`_EbTQgV;M I+п0zI_Mꪕ&F2ft%'MXqh~4Um[zoS#u4K%J)_w[WAȚ"/Vؔ<xFGEfl9euco sOo./cd\ (YUT}iu}w=ysz_Zv>[c{Γnrwt[>>u}bg"]]5{3N=S:i<6 [@ 'O)!  @%aN1%w@k w= +NҦt&ouYh1[,5"{/ &AD 1f? Qrkz^~P  >-ym=>{ad=Vy~N6ӽ؝*ܗt.Q˫^OW|O,cΫ3׬1SorH#uEuk{z ZxfYNH}sfnb3=}yٕޫ*+(:% SktkhD0;Yt:ֿ~Q8wj:k~ϔ{c÷շl IeXFAe "dy: w&H9]Hu檭ηZvTmҤ OUQFz 2d~%`W|߾_^W&%RXc7q 9Y&D8f?5f9VUU/q.S:u^ߴ?jj l/nK~|Xso6?6O;̡ji\Yq?4 +ݹzaUh"L:$t99P*TZe`_Nf)% Q4FF—Wε)'Jl<:a>}-눕j"l =erdrs TSyW=Γ׹2aD!0éр$[)[@G {}"fqdO8 ꡩ 5OggS{r="V<3G8252DBA2?>H532AFDB+@@@3324@B@13DD?B44B@$cZK~6:2z^..i[S)u^rJdJU,il>@42[}}jw~EnDcvTۖeG#|ٸbr5eϺq@fL®tO{xQIg*WU*k!.R?ܨыLZrޖ&vϾH]g}?cܶ}_nwZ.ŧ/upE83:c,F,BB1 b @,,,''58;-: !mEϾ> *{}<سw?Hx9'ot(GRiݥ$e=Qp]HNi׻.faOxwI]3+9iq` %6׻I^(P6~\肩6{⫉S2U6r:d=9bT[\3VlVtG {; m)L+-no˭n)&+h0j7^7Jve[IEkKx Q Bk#K+oXB)A[J^EG]L^GkLk]>.+'?͕p! J9ԷjxDKUS&_yr؄u.S{ PYgOLjDbVUU83~v1اBq'Ʋo_3vK>}v͡rf]rp Hs~?[(*wNOu\+QՕK"TۥDtǨ@Sµ``+A\. aWZJcb#LЇmaE sj:]zMV'wvi%4$_>WWĶm釟BNg\r_ <ݗ֏[sZYb(ޝ94U N-o|2ja`*Ӯ^$F&Ԯ(:~ Agz*?>ZzFA+jE#)@ E+,z c}U;HB qw~3'j۩BVyi:]ML GZ#PPLY`vˆ6:^en8s;ޯړV6 ADf8jViEOſz--g}+̷>?$C2\j=֖ S-]~Q*|fkw X!KPdCy?lsf@1CYTʲo&H/, XgHf4HƒHKXCy6zil3)9bX5@@o0 1\ftB-R2 m9SZv`i Zhh,\7^}~^~; \dX @꫗f$oO.Gә/|KgܱMwyOO9?>i#է$ gSw?s q @0_x.O\f:9NY֟p%ϩF-#7j*c[e;,eh=L:3wDv-ƒ?NyW@߾[_S||4hpTv}/&©zv)H}@*p.7:6Y[1ځnSgǓk~yv ;vӺ2,t:̾|^}\]ɻ25SL-Gv߯۶նmS/HUdߪlH+eDF}76:zgRxX(LbA'oXU޲ rO@E{m^R_Q*(b$WN~T+|캥wݚ 3Yg+5a5% E@Mx.iƦ;ڪMեi24Mڊ[ٷɿøjMM/ /@R/\tcS yD䅋8@j/[TJڧJg,^,Mʚ%L_utk[j'&}g.^?|]4M%zm?ӧkb|{+Cm€(Xf~>jN=LƼtTpGާ]V%v^zEWO_<}m.ricF@X un@&z3KKfFIcUơmqy"q0|Zْv~g߾r/m<4.Nf;ĂW`*#8kP4wN9EȤ.7+-Iɢg$ w!N5n@ K˽"j0bDfb$7*f]59e@v;D+>ő -υWZ^aŽcY #sVd{Z榷r-q&(#uWM Έ 璫A 0 k;cO~IxykWUZmʈ1`]J+8(}" G^IB/@AϮki\?_.Md D|5>qޥWy2[ I 7~}£]aǯ =4O-$*Kv=KaL~oTTJ?UW7;_7# e?n@^[&SY~RGHu %;k^23o>e')zgiߚ_6~KRoFo˦Wo?+2v>^cSBYϾ`o eQ(Ƴ76>Zn㟋bybVM-T8@4T/kg?ۏ/9/a:^`HWUm%ILuNR ME-=C2ߥC{sY~xʥ9Tz}c_bZV螗Ecd|iOggSrL8(:3?>BEJDD558NEBA?A02314654FED35ED33429@LAD2/p0=t}cs>֊wfS`cUUU^Ԟ&8;譭fݗ6B/Gtp:u>us2tGCO<* lj%9\T1 +U2D.J#!&PzQʗ}P `@>dQ+r1 jw|oŊu#!JTE$xt Ӈ}eg鴃}8!SlKIiBs?>_/ J3O-n }EXJ.yp)_q_o~zϺWULϰ?nM#nYT&uzXmI2OO 7wn>X+|oj[W?ve4–\}C++ί]!ʔjl\K^.rM.FZmY57UOdS Uh>p}|v\ָ\}}ΚA [}w Rq17o6ޏ8{/2+Z P~:pji>Զv{s츐 c_O5T^GB&:z\}Kđw$6Zϊc޺ -d%cQ=e/|Բ<_f~;Ga㕚StwV۶}eF,ߑ[H.HE uO&-ؼxn*ymէJrZ][_+/<Ȼ4_1 SDY\.q)I[iiIyg% ie0locKY_V]%%M=?>gLVWMu(a6sw뵧5Z3u.r &n.|Y=yv?,B#wlR~+pE骱==sY%,>7 ڦV^}ʆBz$Dif{}uݚq*mW.6/)z}xs\}Wy-OG+&RϗWU`Yt5X#~_ea\IA嘫~z"v1~>6t岒ؔc%]72FK߾rLǏye}>ms?x}TZݵLTVo2 kh\9 a$Fv@8e : _Ƃ̘Ta <-S+f"+LRÝEt[o:H≡撷s8VRM[@8$O.D'Ǝ_% o N{8)53qc6x}_&& Dvن6ooo{|j=ߞb~3:7BDEQĊXUU6v.vpqL [NCN?|yOc콓`9,U|,* Xؒ ]P:ɉήbs ͓ IWmoO[Vɪ逼Y\.dNe/N6RĘ?z$Քq8*_i{D@O@K~yI픹eY;Yڛ *~u Y\xDxu/I}0I[CS;sYh j:@$n*oc34mۖ*!8SM#x~$3kUWu5NeBGZ*s^UQ=nM4U/ C?h-4 ^nɮF[į#ng7՟D*;R3UúV*,Mxzp!AZ ibއK_ ̄zq>'4W?V<.ɪӲzr L\aו)Ƌm,]YRD.贐\#O}X6Ǥ/[,&)z<,L,9e+^+S繚5"ވFѰV=䘈_U$Yf&D%>Tۻvj>q(fќD_TwZ8$Mֆt(3~f 2f+㟛zqzs*! XV;͵զYV/K~S$U><~WEv7svjjuz?ի̺>zY4)t7toҌu-,B[@|VQU6:)kD 1w0 HRh8 hX`X~cj[* Ï$[aMnU\6 hu'LX O 0)%OҺ}sYлRbUSTURi[ҡp<4})A!bSK_ o_NzfF͊Y];n'/k}Ibv^?tӵu<6;;qӲo{y{y[xO<]s;QzbLP(Ta 7Hȱ =ȠM"t@^JĨ)( #ف[7Cu5CQYǢ)..WeYe&ueWJ荞@t:L}}8E+;ty}~Ϛ+},K tvAhY]Qs*S2ĥιP#`YvJ?b5Z#)+?#Soy)ݓލc֟?f}ɬg፿4N]_vSXws3﹑@B4/l?}{GmD^zv;i݊O1T kƹ0nަjȄ-lc;r4+)^xyܹZDžr=ߧ-kN뾓<"&;8_;x`q}|~ZON]p|z}b;T>~o۠ک>*E]XBKUROUT,crk/ sko{QG5%fNH zV몵GUHE[UJSD_ 5[fR⌀<_!9 "zL(^}m+]UR $Ol#X4q 47yd_4Fᒊ˨0 Ͳ&a,WH$GL<&-8b"lR k%u:ihs-7OggSrf!2?C64/73CG*&,& -' OY! 9uh>1 z{gE I6. FLs2g {w/:(iUU-@?s1|uyѽ?C z{j*jXߋ=>̟ͯsy,.8c۳iLǾUVk2<ӑE0TϢG.l26}dZXFְJ ~ 2֔bMɝT kJ٩(,O?WN'_ɣ'2J*Sdf5{)Z?e,>ˤLϥr\>dp~.2p\&о!goG,GNc=2:_B-ȚIq΋bNgˉ|iżR*N\́g/K-r[Z^3fTWz_D,OT'[Es>,t;6XSn5!oˁY>^xu|>+ u=^zq{vh3<5xy( HP,,h2 n!\eתϺO8^gJҒ|nUl;t/Ezi5+2Uf+ ;^ѫ33*VU}wH)3zfzjI:?;/AvuA2d})Ra{귿.c8j6Mq>\jE4"$Ndìnp쬎ÝRvJ ]gX+鷨 F(Z!<جC eh6V,ZcAF*7{Q܅Kgܳפ׶60 +?Pv撎;cIa֏vI?O㥺{guL<v=RD<ƪIa}o=# vQU媪;s3sP %NyUi)JplfJ&z|$fs^,QzEhb%+őDhz~mT^G8y<2:[Mt%+VUwYzߜ|e _u^zn>XfS!\FW0Y\Ogvr]sQwޞԒQRCOgWMf݋${K]j;\;hq;% 㻐2au >b(29U0k\tSUuX~L[¶D|bߌWZ-lۣy ڸ @m$r?1ؿ /G+|4a|NJՎQǡq<~ިl+Amds]/Eʢ33\UUs?kۧз~!,-1.\v8ϟY'x^o+mNѭr/̳ލʦ澄g.Y!TΚlf;uJьZVɓ5C)u,\[/JJJ)7=-H:48` Ɩfw=R 0\Ryu鵱U.SNy# hCYwD=;XEyŵ,돾hWeWhw8eYC%B5w,5edP03)e0^`t:trUUHZ<7Ȳ*f V+Oz{\>ogrY_֋~U߻>sϭ w3߸ VUqO+S듙ayW k1|~깡BO0mkԾvH$pqqco6@aN:Dc4gX}dW)>5Zg}V ggzHY_alSm` Kk rA QrUr̯2(\DP.zq+ՆnOlG7ay\r0=?uq>@ZxGxNe/N{ţZ^dU٢pȊDFg T<28X!eJ6da `_^L*(BDZUDzv3(WdV!R{QH[8z{$3 }GWX[Dm NH"I X^ȘmMs,-fqG]4Lʒu[/f" ݳw9HԮ|aq'_Ȋ# WWe7&G.Kf9H֗ms6ն,VŲ,2=iYSie̓mTdM)yrٌ]MoӦŪl?Nq|jGq.FK cJpC!! kgFz.xo+nh8+N%%7b^+e4@ enڊ&ӈTQu>_60_,R 822}Է(?UA, pychess-1.0.0/sounds/obs_mov.ogg0000644000175000017500000001343313353143212015714 0ustar varunvarunOggSvD yvorbisDOggSv-vorbisXiph.Org libVorbis I 20070622vorbis%BCV@$s*FsBPBkBL2L[%s!B[(АU@AxA!%=X'=!9xiA!B!B!E9h'A08 8E9X'A B9!$5HP9,(05(0ԃ BI5gAxiA!$AHAFAX9A*9 4d((  @Qqɑɱ  YHHH$Y%Y%Y扪,˲,˲,2 HPQ Eq Yd8Xh爎4CSR,1\wD3$ R1s9R9sBT1ƜsB!1sB!RJƜsB!RsB!J)sB!B)B!J(B!BB!RB(!R!B)%R !RBRJ)BRJ)J %R))J!RJJ)TJ J)%RJ!J)8A'Ua BCVdR)-E"KFsPZr RͩR $1T2B BuL)-BrKsA3stG DfDBpxP S@bB.TX\]\@.!!A,pox N)*u \adhlptx||$%@DD4s !"#$ OggSvMPK(#Ba3T`365)eH\w : xS^&^ښ3m!i|S4 -ẘg$H )PljUQnʈ&'q7ؼe01EY_~|}h=qYyR/r|UQ_c}<&!UJ^٪J7P޾+*@IbF1$ގ#;vWϵZqo?+]]]U*,^W[:HTLïw]a Va4$jz~>9]4_9ke)wόSU"p>A̰8?^3:دb@E\ѳ)"TȓRyYaT_+-_}iݑ2xsʢG4di}Lyg:c9Xi亣XEV7. qA8+>'+vf8YZd cs˲c*/nѾz*>,[/^DRA`M|_%mLW`Є Y#7M'J ̑L;v.t&M%Pտ'ǕZ&CLʎ *:tQJ#Zoqy榚N~|Q ]5esOՂcIѱ(ӛk˒;j=aVbxO[K <]Y2igј#ۛ:Tpm۪8Hcad[~?DRPAmۆhZ[1_ #ۤ ?'ЭMh^\jB^A" PG0\GF秫@$tfE5 U_3]6F~Ês >:*-) Ǜ)=9ƒO$~أs}]G}lfES>=x_h galatj_!UQB|}3PiQ!:[y` >E^HLڃUC!JduB 5hrMڻdfDM U?E5a5~:UUytՑJ{ϻ}ËgփsL0L4}[x_?a+9a䣜ڏQgjla Il\PK)<{CGKz"IRT|x56Kuj9JٯᲭNOy}|C/"zʠ  aS^D/޸9ۃE̮>3jUVUYYЫM*{ڗ;.kwa}əL\м RQ)w{S}īE|I-+'eYz,< !$My2–~^X>fm$(=B~#;̌2#U mn{oVWܻڧ{?UwcZX۬9pzzLIBav|3Zf1Luq4sxOM =y^Ȥ{׳k4UL>W9q溯u6K7if"+M/+\F d{UHO_OMNge=9eOx T8L;VɒTR)mEpychess-1.0.0/sounds/mov2.ogg0000644000175000017500000001124013353143212015125 0ustar varunvarunOggStA vorbisDOggStZ7-vorbisXiph.Org libVorbis I 20070622vorbis%BCV@$s*FsBPBkBL2L[%s!B[(АU@AxA!%=X'=!9xiA!B!B!E9h'A08 8E9X'A B9!$5HP9,(05(0ԃ BI5gAxiA!$AHAFAX9A*9 4d((  @Qqɑɱ  YHHH$Y%Y%Y扪,˲,˲,2 HPQ Eq Yd8Xh爎4CSR,1\wD3$ R1s9R9sBT1ƜsB!1sB!RJƜsB!RsB!J)sB!B)B!J(B!BB!RB(!R!B)%R !RBRJ)BRJ)J %R))J!RJJ)TJ J)%RJ!J)8A'Ua BCVdR)-E"KFsPZr RͩR $1T2B BuL)-BrKsA3stG DfDBpxP S@bB.TX\]\@.!!A,pox N)*u \adhlptx||$%@DD4s !"#$ OggStw?KG4f5 L7<b !sEXk8T*ګKNsqiOM4 Ly<ݻ&mZiKbv,0^@}K{]'sh wXW(ںx?}nj<4e(/U?e(' ҴYbLdAw5ej]Vq|IlZ~ZW+E~IR?[ZVef*tJd#52#JEôs3GtpUU3k ![Rj(XCQ֛mȫbjlL2&D0 +Q}%e+Q2+C-FFͪv,9ƬB(FmO{S(]AY/YBю oT[Gwn9$3S a#dYy7兑_zýXZگ-mKj~,Wud{C 4~(?S+ @6d#|~\ %zYIF}7g3TRB%$.q0.LqzcqJL&W+brȔ"q(2n%l UGFf1+;88 VJwZX+Ύ &VXóSx Ve`% ;ZOVJwN՚0YS;z)OԉN|<S'>5pkիS'*~xDv﫦<3/pychess-1.0.0/sounds/success.ogg0000644000175000017500000005421613365545272015743 0ustar varunvarunOggS#6Mm1cvorbisD0OggS#6MLfb<vorbis,Xiph.Org libVorbis I 20150105 (⛄⛄⛄⛄)vorbis+BCV1L ŀАU`$)fI)(yHI)0c1c1c 4d( Ij9g'r9iN8 Q9 &cnkn)% Y@H!RH!b!b!r!r * 2 L2餓N:騣:(B -JL1Vc]|s9s9s BCV BdB!R)r 2ȀАU GI˱$O,Q53ESTMUUUUu]Wvevuv}Y[}Y[؅]aaaa}}} 4d #9)"9d ")Ifjihm˲,˲ iiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h*@@qq$ER$r, Y@R,r4Gs4s@BDFHJLNPRT@OggS#6Ma!Vkdh |j'v+|X7iujhEc~OXk_[ glYiT&;q^E}MS59lcl+^R+ܗn~R\|&5<'MNrƖe۶G =(lxDѣSyVL΃왦] /,pk8z@>k>8H< ML Z3OwO8J:0 \}oT6kQ\w47vV{PA0CI:$ڶ5בŞg-2tG+HurVqg6L G1JBSR~b@% 'Yaqa6DOϻD"Awi⿅;z}khᯯQ>HqBeTpY>H#Q z~= 2HG>?#`v um (PtLHغ':PB.$ &o0M"P>xf;/PML8o/3|Yuٴ2H.^}]6hVLqh$Ty4ۭcD9MSYq)ѵisHՀΝڙp J B¦ x̀A@4ӌ6HB<8?s,)`XTgĀ} G[Pke^f'W ./(obqjR˻v(FCRĬ6M@O_=X6S)y04%X-:!*@H]8b>ToM|!O{ɄpLrNĈ%?/f;;@EJ 48D0RX9y.x@HQ !@lUttXl#@p @dy:tt x&!B4^xU. IpH& _5[-)40a+x\ ˕ BVf+ȹrH"OgXiPK D`MO q9T]|nxP޺j bG4Rm}3ǟS@L)BZ<;rqXjr%B@RABw$?lcB o#y;PT?Wp ~Htə-L _-nyro1X\ T'`9Iძ1ZL>DpYq@QOg8*H <,ha RWz ̂; 10&T ` {Uzn@CaЉJ 3<@62!0b4= Xp"Xr,z yty$ _VEt;>%)$oRHL?}Β'΍I#f~x\l( Dc`чޤ7 @T~~d+Hp΁ 8R0H:nk!-$*"x'@?]3]ybwpP ~(&dv2xE =4ɲ8d5X,OΆ/7L p S}$0 @p^M` & HXH8ϝ\)a OM![SN4{㜩N|7m0xJ6=]+n pa7mmt(M0 I%1<%0 ҊAiHӔ ;p 4 @q)`Ҍyzx b@C#;ڕ !Rm @Pn2-w]ڪƔۙf 6w+Vm\ZL)g2敭vRVs_dY,ո*y زʳ&E3/[ }̭J\ 71>]&Xz+5bBS,%6O/iOH8Ȧ>v3J6rxuwo6|fIu-{I (#$m6F8 D- `˂/pm@<ԗXJ Q]SAb̭T-B/oht^|`/ qL3UO렎>6/eGbהlC e?_8N Y; mDp "QV  #4r`xhr.M|^p *  #z@UfR@P|$66 8)Ax@ud@W To}/KבC*BUYꔺa 7e42q.n {2nܨ?g Aq˘DT 16" pbHugRK<r`';mhh[D{]iхNTTx9חx 8Pn (+H(P;*tC=i-ћP / XjH ),591za0m` *:0.Q׀M@.D0t*h@@4Qp+P@{xaM"p @ ie  `A*Cx88`l p&ʖL$1@ XMPNb@p RfWAAk~ 86oE@cVpAu6ˏ,65 p0\P d.9@+`$L$F ?  @,+vz@~Hۓ$L5aեrwpT6~xҿK+C"XoǍ $\wIـ <`= C"Ŝ@f:露~>(/o9qwL@K5B9X p*t (bBێPT B@.@f2@B HF:Pm+"(n𶈪"!c}_+Qr׋%y tp9`pz9 yJt0؍ C ^H[l:Ujvp\p_ 7~|*࿯2@-c  >C(`K[?ājs88d5(,@@ ;#0JkWcu;L k YZ88 N;X$pHa@C Gr@B0@ڿ0MKQc@VK4 x\E` 0 Dub85T@yB@s _ ;ݽxADivQ7@"038`~7=Q&pq OM-wB0^8;S4/,ra}'8 +#$8tp%+Y*]+T3:@$QWa@Oi (tO=' s J>`(^$ < 0 pPy B@ 4}QPk`bPB R8 a6C tXl&c=A.3€p.B . 4 @ټh("^ *(BY3_Q_bhAwσ@` q b '*Js\N 񝹚DxaG 3sd1/͊ '[SteT/=X,- o.g 0 ضjFR@ x0gbm'p ,q+_@=:\ '7 @PDhr4rm uU ,I@``@@ ]DlJ @ .6 @0 4pK<@]" ,%  mG )bqRt? "(b9 &O3;T8 |  ,4?6s0pMMeVA " 0K">;V5h, 0H{x XX@^2R8^$`i ( ( 2tw,l@DgzXq3l x qq6@j1i([@XB] Pۅl'_~%L$V`Ns `@}< p @ҡHy. \CQ{Q1'zV+).30YHAߍ{h#J:cc&|?3B0 M1`'OggSk#6M^ (۽R-_~?\Nc%{ R/ Hx,ZPW e) ͗F^ vFX2OwZ#o wWR坖JSK qɋF9CݬLdwhAPYa:=h_ 6ЋA= TnQ0eq]8?D @*m<+ `0%IA 4)@!/ bTf0!b]f(Z\A ǀv`(`V+@D~ H{JNDFi8RQ6d >;-,H;e&3H#ng淝" x9OWrr"yǃ#>)NA@ B@@_c@/`1aB} i0i=y6AxKr{?U,&{ொ PW +w @R`fA9 Ibnk@ |k}q`3i@@ "4#X`QO?8`7 Ba)v.7DP0*j5  PM @ m@E=zYUgrS=]seƀtI `8[j$ a 0樅@,U@XE>1`w43oS   W~lra=1/#Zv`@$\DC;n_:^3,>'Ƴ8^q..P?/.gyxPo܀ hcp,,[@H _(@ 'K]SA%6E@`q*?[qqlspM0JUy௉+@; p0K{.A .xS `iF u?^ߋ@k(c@pY7cm"  I$D;\pG0gAw ~_p0 y6dR4sc!-@ݏv ג & qldF'[}KǦ}ůe~nPYw3H 4v6p F(?و@ S ED0U p /|q)pBn)͕PsMp'Hm U{ =a HxZE]!ݒ?  4zH ٍBP[L@pK PDd'0yYY):S +@èjm} ogu@%u (0D;82@`4@ Hg; xG&?i &^"t۹,~7'L}a.zx { pr\x ,i` `^ A { K `­2?"`]bjneT `v4`fG S1: BB MD ,<)xЮlPG4cJFJ)0T`8 `Ӽdx}'0z0`?~]Sz۽:.s?wDW^5|"!(` F g8@ ``$a# ;u_ պqt#KA';R>b/^"0Nrv|`9~e>&  7rAD` -@TY `#K9`Uj- m+FPnzXT6U/ޖ*ʻ:FHH0cs0T p8u=l, d1Qdf΍i21XtElWk %F<';}^~.Pd]x{OxSߕoK\~ x? 8Z$xl.@1xBPlD: g0"y7DgZEMg;Y W PFn0D 8ܽ"A @H1ҐUkBFD`p)w ^7[Md|^~@Eb _x Jd_TxX@u%$@} yA*@ة24RW*p%p:"@x`DEh9 : N. c@.1 LsT1@A{Ƒ+)uv9P9a? ^D^vZ]Zj5> E @]d` UbC ?'PJ 4 Y ^8S52111@h[iu- FE*~7kL?Д/]c?^_x~L؃~>7ta@ad#(@ (p0 |>Q!}<>ĝg 0(ri5# vOEk0t ob9wo`^0œC@8 !&MX ]1՘|/D0('nu<: z^ֵEDfS rH8o>`< @s<1:H4No~" \"H 8 7QGځZ1bkq_=b9ID#p~T: $Yv~7;{BzWXCXH:K@`80`.'w##;FGZ7J#B=n)nQ@ XiX/K"@6]|Ī-x~*~&~r,C<?0\{ _x +@RIg_e!h )=$1 =jc 1Ur^p9c4XlgRx4L:@0 ,P M莀 0n@ sHhNAP9ZvUm$hUN>T*}xH|֏iUsHϦ<x_8`$?8b)i)\/t%2D`7jp3Jglf=KPZ/1Srrn6[M\CY՘9$[9T=nd4< pPsJb񇥑P  5Pd6I NqA ׆Wp*Z&!@["RH6@p+ = b  u{aIpGb @bCP3yJ%3F &Xn&0`n7o`(X74$m@@``3u@g+QE\y=FkQxxպ ԇWP'Á!P + 8X?K\YWԳ95acnF9 rB/ jlp.#6;bd}Z5?P9_eX ~,0p"]o |I;@9SA|pS ZJP1[ OY`: xY Hh 6h $p@L( P0bԫZx+p@l$XE+vǻVOkPb|}  *ޯ|'@]v<+o'T 1`^_  CF3T 1ı\1cϷHl D.˜$݄9,~l&K(3Q,[&ND[\@z$*6[S}URpxP?>+ *xb-4(Cpg @\5wM47!m +;),6R@u{|)X @{P>y2(hP1EJ:թ !Zp؀71@ E#t໺!@$hV2. h~gx]+A/ڢkxl*XB`@GZ`LhٶͽJ5l'*p[0)J7a,gA? 3 M=G ьs)N&}U8p4呙_3T^6[Sdy`*NB8ȧ$wOE\{R3t$1p8{`@ \X@p'`qX@dV%0mx p0| 5(7 G/0Te [1v5\@0)8@C%Hc !!di.A Z sW];K0yQM k}@OgA0( .dat{ZeV[:W1M=^A1|F, *9* @LP-\64`Y @RVddU/_Ǧ\]x_m\52HR&Ch.HQ(1EoFh C J`3 >5rmjJ}dF<_1 ~b'?x%(G=C_V_7}*:&?=a 2 yejNצ) ŤLRJe=%ᶧV.oҖ* [gIP ;( K ި"4q<ԞP#-9SM.TH!u>a#t"` .Hq4+jJ^ چCh(e1cu`"@GRs83\hN*U+Ꮍ·IA<u n 1vv k"k-o#OkZ}z 7n QYLK!97*'$myb%XJ$q~omU])XFEðz;XS]}OԨ4z/sޑmDOQ 2}4H k⑑f[kgԫλ!R|<4DgNxXK=|fc*96ʭ:Ckl=[ O]ygW>Jz=w3++]S;4Y@YsnVYGJabZNnJZ P)2BK4Ѽz wsD"ӝ7/oW@V *(dDӝOX̄Ca|Ԫ:9&{WTo=Psh0Q.6hEEyl>x0rRk 3{ h0δyG 8wbo b<ބBR%8sf/wFbA=S^_Y>mWO?1#)`0Z TX8vGr?>زyL&a/X=|;3}:?__oY39T=8?29i9Ns':w `fƇ~2~t\=gS# G,]6MuC74ӴmUut]_uhPTU]WeUW}[}UUYՖa} Uum]X~2tu[h뺱̾L(CLABH)R9)sRB)RR9&%sNJ(PJKB)RZl՚Z5Z(PJ[k5FAȜ9'Z(9*:)Z,)X9'%J!JL%C*b,)ZlŘs(ŒJl%X[L9s9'%sNJ(RRksR:)eJ*)XJJ1sNJ!BJ%SJRb+)XJjŘsK1PR%KJ1snAh-c(%cC)b,)cŘs(%ƒJ%X[sNZkmsЩZSLsYsZ(PJZ[9Rb+)XJŘskPJ%XKJ5k5ZŘkjs1Sk5kNZsc&BCVQ!J1A141朔1 R1R2 RRR RkRRj4%(4d% `pA'@pBdH4,1$&(@Et.:B H 7<'RpFGHH!DD4OggS)s| "'%!$"**(z޷tIp pWWW>GlLs<]FנaC٣kg։t\lǤ +nW2 Dӟ% Aco{j3^=Fbj|Lݓ*$H@풛TaDdfO <|DSt;4eL,ݜHJm21e#p\ c@{æ43aT3uD<ïA Vڹs;,s qB+ DzU6mJܑ;&ɭj4}Y =|赯\YVj)$/ʽ`>2Sۺ*/{VMs3aipychess-1.0.0/sounds/start2.ogg0000644000175000017500000004572213353143212015475 0ustar varunvarunOggSxC?/vorbisDOggSxg-vorbisXiph.Org libVorbis I 20070622vorbis%BCV@$s*FsBPBkBL2L[%s!B[(АU@AxA!%=X'=!9xiA!B!B!E9h'A08 8E9X'A B9!$5HP9,(05(0ԃ BI5gAxiA!$AHAFAX9A*9 4d((  @Qqɑɱ  YHHH$Y%Y%Y扪,˲,˲,2 HPQ Eq Yd8Xh爎4CSR,1\wD3$ R1s9R9sBT1ƜsB!1sB!RJƜsB!RsB!J)sB!B)B!J(B!BB!RB(!R!B)%R !RBRJ)BRJ)J %R))J!RJJ)TJ J)%RJ!J)8A'Ua BCVdR)-E"KFsPZr RͩR $1T2B BuL)-BrKsA3stG DfDBpxP S@bB.TX\]\@.!!A,pox N)*u \adhlptx||$%@DD4s !"#$ OggS"xϭ475GB88788GJFCDKHB69779FCKQ/>:LFA?IKD7:877DB@KDIMkLgo~+0@9pTg)~8B&`W>1ܟ-1UG_A P B\|ܚϿ#̅տR!Cc}c~Exo=88RE4K.w/S`vБeSJɭvĠ8Ġx^ooq: rɵN6_5uM)‰Q((=_^6pTVꝻ}r|q9߾>ds°٘¸/.PNjC'&s49߿miGWtP/ZIJ¥j[Los96Pn0vwL[BOHgd;@-||!/s>o}.v3bT} „vaIW/*F"=ҏ%gO2 2L7o;6=c Ĭ&fmO tq.ഩuzB#Co}qpf?7#SJy-,;1-[Q7ܿ!/h[?˗޺5?~9眙>9a{=2D[{w~?wNHWWkiOOb}jN_X[Cnw00[G~?-w}ƵjZJnGCԾ ;tۯo g>;7o!֗e_O^GMk¬ yP( 02 n9 E?̇lGs׃SK)WWx@O:!?͛?X ! _;e_Q~8kO=};=E=oQ7r9Wx"?y~P9O_A Q2xй>VFRa?8|! \Zo.x:MS gʆBw)? t͐d-&4'$usyK;)c)30gc} ccNg`"O'8拝wcaRƦœ^bI_.Gƶ_Onwr=րah}o/?no{tVP<V~ߞ|F*ӕWO{;(/yJX+χ}d6[ú{^7;//֗A1DҾ)|ɨS"Iʺ@~ -𧏥r4_f|??0> ϧ9=y}Z%}f07 #|4CB]~_u_g][}i|jJ"j۪)%9$O"v$ʦ; ЂoקO_?~SNjϚcщ`"TUU-;3ߩ_'ռtvztwb٧g=Lag1vP;s};3=Xw~ijzLpېտoޘ mf8ܘ͙\pibx#ۖ$c}dv7XBX-C8>OɊЪU0;h޶ sZcw>}E:ev?;ie$Y\ʣ]GRY2ETW2[-G+ϙ-Q&edӶ]sxEi&&M}`~~ ?>3_9 <Zٿ91|4wbH")=b#4%U؉,r')N4:da#'A9@M=6>M~{]6vpy$4?H[cG'lM7ͷ MPĢYNjێquuuu5Zczxk.~cc˓mǦpOrs{b99|9v~L3Lyis6l[q࿏:o|+8s876f|5eϙq''G7{ϐw`;}ۛ˜`ngS.0 i )F0Ż|)Y5F(PIVL j6_H \tR^}|=$do~h>ٿY\ҫ ǝ{K;- Zq H۶q7Pt͛[~`? Zc? p`OyϪ4[k-Z? i-mwN8x9?C nX*V.paQ$W+>3翺z{T\n}/S5ߜLyv}2jrτq¸.q Jo!@bͳ[oWSuw"3_wMhz'lB+ =9 FV 3^r YϗqS1TʉϏ jϢJW-TW+@ zcQ]]jp(n`89eW7y/nɬӋT=_mJkGDoU8Wo~;!vWvc _9?V&W>S)cK=3UWd q7s /}p>;8|fnM?l_#pM5HtP i^~Mzޟ WkN.:@c. TEl[ wNo!-# ~fȑ”So~oN{y;髧$]&XYB/K)_ fྛsn[W_y>{Ю|_G*C[!|?0D?qw#V+5 _y-uBjQIN*œ^Ǹ@}7q$e UcWM7?p|2~o?K _ֵqcoœߨ6mW= yc0.k^?,1{ϗFW T\WIU ō(ƹ*rߧ[^?sV\`l+OnZ?_>|έ8?e맭|ʯJ5ULfMQNl B1oޛ^UL6 [w@RFJ[ G꫎m@ðw~i31CtǿOj`/>[Tr5Sqi_~ 3pƧ:;m+ᇤ{7 slgI"DR_)f2Y#:zv`D YvDʘIT|V[Ofܴ~ss/ۭ<)*Zg,a㾕c! 0cſS:E#~ou+uŸ%VS.ɯ My#z;YY ]oɓEQoN>󚼟ʁᅮTp쳁>{Ϸ>Mim|NN8}ɀq|kK]-)XrOggSJxr 3Q@37668DGNKFKBI88729EBIK0>8OHADEKE57659GBEH4LMd`苬[ƀ ҍi+;ifx e!TZZIJ;WouLo^$" EgE~fK@?Hmfh )X47[Mcܔ8̜QN {*Dѽגb;:8M9=)_1?4dbfn}iϜ=?fp6쳡⫫a}o}9-&':ty5w/e(&h]𨷚l@둇J;dcв^Yl2n Mfm6t`@%qY o"@.~C1ˁ<+7\̵|?透ϯ`Y_=n/ Bk/R&Z+{bbt0|M1gZJu Bk jY G3 Щ}q?_ Lf4Xݸv{^K"LJ7_sӷ?l÷op˩9ȪJvaĩ'R-NvxұmpnKkI: b~#Ħ;HclP)pٗ_Ͻ^n޻y1~Uw3SYɟs?$kn]]pl3-mO.u<o߿}o~嫛SZ\\\\\\\\5!?tdj9}_Vסm0TIRWm!N¨ bzί>x0>[3|76F֦[淧@ݧko4w%QU깕$%Ymyj$)a%p#  0 !߼?Os/}o. d*7^ :$N5&/11_jXz:c^tyzzf}}o WN[MTB9+rUZo$Zoap~{uNS\"M<1oZsW,"l)A{ \߾mgd9׷'OqɜF6Ŀա{si܃-毯lc:V -Zroo7g>?4.w3x*p w7Vm-ϛ},xjR_f)m#w Cݳޜ8{`<8LnVr*E~vk!4zZv=}Dd#;JЂdߧOW;~qr?>ݳuy֚#YrW%{V;uH||fnq_=)}ޞ+!ϷTȼ5y{3{+YӨh7ow'Ǩl ېS0|}(\r/<{~+η};j9\)Hbz^U12VJ忖LNH K?ˀQ7WkVŀcmۜێN'?*A.s|QU%e)]&ar{QDy2o{ C/FCsr\o`-edWUU|v-_M'ImlƚtOּ9[3n_n9nN3<||A2Ni|8͞glo gw>} |wǾw8?pSl[l>gtSoQBnHׄ{jDDv:^tt6{xs0.'gstpI~ٯ!Vrף$ϗŝ$ @!ܑLxQo[-''';ժ~}53_??UaSjk4Uk5Uܿ`t(/E oi?8X!D6w_'/N_ c9zT,S˔zEl\]2upknwn[O>CI+:F{7) D!ZЛmg?fn1L0spvk]Ӄ1^7ynM¨,<Oj#cKw^o1[;'֟@0`Meu&?nE4MO 8B0T3I8iwf/?}K-J_IMv]Gasiop^eCC_:ms_|ŭUs>⫳柗~)Uv92%WS8 O&T unMMGHȗ՟R^p) 7%c&s=}#߾G`u:= mLΝ{&y|J9r.:os'sf@n*f{X(+o~rR{r1H=RZ!o` }y5i_n' _y&W9!h€?p ԝSW ןA;|˟gRzF[%] B}X e`{7vO)>o.~P-uyȟW% v~芪'LJht]; ^:6R}}罊m_y}j}ghZmwcy/T 5\vSe֕^2ݗz>?>5Eu?^&? *J5ըz1_Ո-*\G_\^T ;4Wvbԫ} u_klt+%a>9~;{kAGMWDjN :ofżx;_߅5{cB?H9D.Biz္zZ!cXHSk<;OFZns?UέD@7_URW^ }˶JT>ZvQ(Po3N;~L*f '훛߿l_~:utii>q6XcS/>}Xg;Lnw8qײ^[<]KVrQiE|έ?OP?ޘnMs?c:廊/@QRuQY}tmr&O =j߾?ׯ?z+}6=goŮ6ߜ0u['~NEG'j}>{V'΁8^]~mٲBKy!uHBr XB(|jpI张G31m0B(*9-KrR]|`7f5^4>^W@GHq?;}1O7| f1lxgpp@@ MDǞ[-3?ә?_u2B KT͝;l x8hw U!g#43na@^]ņ/g7ν_q3pJW0i@l'~"l;rA@~ƍlOܸo>|zۏ>#zU@,G|?|lՈW_)ok SϕŴU&zlBP-hq"³gO~3޿7t&`ijpw_կY/^0Z(ec" ]?8+*P˶Eiɧė8491bMo2{oR3BO =9~6ͷ<6;T4:}櫧e:x:ֻ|Sڤ?%lša }4 LwzO|?s*`vNj,ۤZO$Xi~q,:ι&;^6Nӄӂ , 9- e@f"x@Rv{ 561~|8PTO+G *X=l3.) i-}(|| ԃJnߋ7&u*ol[̷|N}- oK'&-h` =7ƻ1\q(pA 7X^~Օ.+*hX^ܺEMqھv$U|ԍeNr;o雲4O|]Z:fŋ__lJy жB AoL$~ J_ KxV6x8Xx% 藗 ŭ w7g`z/ T`;ٗ;?˝+8,_7ȲTڤ~M>oj/պ4"2Xt"%qnˀD-0!Zɶ1iv|ot:xSz9@oEgo^sFs9F˚5W;7~Sȭ{=m/#ZuLm44<߼5o7<Ӝ9 Y\'Z̗i-0zm:#\K:kAM@4 : aآ-Ң`EC4DjvTCGCP?4?:~4!e$%#k^u$%=)~ ]PpRo GeX';WUi>9mۃF:7L"svE{rRڶk_/̷}`if}yibĜΡs㜷霙sf|cvv}߻aρ}^-2i*;>9|S䞁[srO {sh )[S˲"J}"0ckkvcE 3a`?ZQ$$#vF z60#-M#>vl}&6>X_#eǣ&A۩~{Gs (sSO0;,b*Foit{z:IK'^lU>ᇹ\voہ/6ܦyf疧?3g.ρ8o96߁!9}۞nWTf'p9 ;{[1S9`}d A`[Ԓ [%>X%W w#q==$d>ZHDnM(ۡsew w~zXo{v7\]" pɚ?pw~3>ͲX@Ri*OߦޥBE,1c@ ewJ5ҳw?Z󭯾՟$@?^ A$L]8O_tRZu3{nrLL[odjo=_kG4M2Mѿ/.G8~_wsg+ tBh U)LoaO7 ,#7KygC0XW,+oh_FOF筇|bhD91{QviUDkҪ}SW ,lpmp}!sATiz'^FIimD^kܾF珛[I- llNɁ^7=8Ϸ s~F*4G%M)53}QЋ3*Ai` 8 ^jn.6c,>>]'>9UOƿNfG utSR-=o\_G/U?o^#7+ȯg\Un"h u-jv^5)B@/QgƶS-UxAgr=//0,csϖ&̏Bɧ{T[QRVﷱ}Bı=-7ԑAj{xzE6|&6[=I[c9gUcN7 0 />1*"!O1ۯ׻{aH wai&CF`[6]J(Ky[K@[^O*ZO%OggSćx.q#HC:GEHBBMGL8<:77:9EFBHKG8@EJ4AID8Ą\ȯ/@ۡh:{ofO!_>~?4uv~VŁ艓1I+UMbd2bv=\D޸aw YmLpVXL> kGxi<ƫm* D+~\žg6ReF?)x3irzR⫲ !UQ N{^G_jA⇊aX_mҧ>y!k<TO}JD4]דxwLk~'";qh/u`\'p{Hlvx0~z{$D_]fbLϓw=7$sܲR;'nߙh9Zp];HzK4Vڻ[okboǕurs>sV_'Bq9tZVġ}=qDwtgy0zNU8}gW=9+ﬠFwTB7yz}VK{˜ "bؗyxZ{_-p*iNZ_oM S4+ID_ =K"u9'-{(OQ->SÇe+wQo?}2Rްg,u$t$,SmK)ǎ$ן0&v(í.|YQ|K\x^z.!5laNsv}:ď_c<:1ۣ-~@7WBΜP?a};Q_Ι`]>{:$:&͟.??.gPfbOY{7uzp A$?27rRy$UU#A8`!-p21.b03FH@ɪ@='Td?f0D2΁A[,_5~ސGWeN !Zu%{.繪6¸w}\*S}ݯrS@E?Ξ?_߫PzYӕ})lC~hv9yvPL3P|}p ?~ u1ܾmpW;V,c@+ ')2:>EgNOL [?[<[oo~9f~Y_{|S"kC[ Z;Xzߩ7ay:\ޢ+ߨ9nk²?X>{/Vwܜ׿׼՟KOȱnB_xj|wLBf^z7ɯ޾1EY\|m<|HZ Wp._+<se{~4p8JnN,FS DGJ9W~Pټ]K }>Z%MX~h;VVݏcnbr}Rxq;JjN.ladQO37[̝}OۆyLr?~|S&WUd)UXWl7Yf< H};T U_gӜk_J~{̃ w# yU"Y@8†QwU탮9o}1.?.o$5TF3moVDc)qexLɒڬ|v"{?/FY,$wx{і9s?n+^ Pe!W`#/}3:8 Řٟ~?f+AxJX(i_ƥh?d]j, 4g=$>~<;vjC=WIY^;k-/Qk;&'/CWc?X{;TW8wy|ͷǷ|㧇LJTjRB Ϗ/p]6ӣ\Y1*VX]6~g}QYuyy뺯;8eYUYY}}V9~8+  }o_k}}8C,.....<_^^^^^<^^^^^^^^4 pychess-1.0.0/sounds/capture1.ogg0000644000175000017500000000717713353143212016004 0ustar varunvarunOggSm~}vorbisD8OggSm3Ρ-vorbisXiph.Org libVorbis I 20070622vorbis"BCV@$s*FsBPBkBL2L[%s!B[(АU@AxA!%=X'=!9xiA!B!B!E9h'A08 8E9X'A B9!$5HP9,(05(0ԃ BI5gAxiA!$AHAFAX9A*9 4d((  @Qqɑɱ  YHHH$Y%Y%Y扪,˲,˲,2 HPQ Eq Yd8Xh爎4CS# G,]6MuC74ӴmUut]_uhPTU]WeUW}[}UUYՖa} Uum]X~2tu[h뺱̾L(CLABH)R9)sRB)RR9&%sNJ(PJKB)RZl՚Z5Z(PJ[k5FAȜ9'Z(9*:)Z,)X9'%J!JL%C*b,)ZlŘs(ŒJl%X[L9s9'%sNJ(RRksR:)eJ*)XJJ1sNJ!BJ%SJRb+)XJjŘsK1PR%KJ1snAh-c(%cC)b,)cŘs(%ƒJ%X[sNZkmsЩZSLsYsZ(PJZ[9Rb+)XJŘskPJ%XKJ5k5ZŘkjs1Sk5kNZsc&BCVQ!J1A141朔1 R1R2 RRR RkRRj4%(4d% `pA'@pBdH4,1$&(@Et.:B H 7<'RpFGHH!DD4OggSm*.*)m3hA],7[@h 1pychess-1.0.0/sounds/invalid.ogg0000644000175000017500000002045713353143212015702 0ustar varunvarunOggS+K{vorbisDOggS+K{b- -qvorbisXiph.Org libVorbis I 20070622vorbis+BCV1L ŀАU`$)fI)(yHI)0c1c1c 4d( Ij9g'r9iN8 Q9 &cnkn)% Y@H!RH!b!b!r!r * 2 L2餓N:騣:(B -JL1Vc]|s9s9s BCV BdB!R)r 2ȀАU GI˱$O,Q53ESTMUUUUu]Wvevuv}Y[}Y[؅]aaaa}}} 4d #9)"9d ")Ifjihm˲,˲ iiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h*@@qq$ER$r, Y@R,r4Gs4s6pR4XhJ 01Ƙr9s9H) tNJ)=Bz!B))C(!R뱆N:k!Zj2(R=PRj){K%ZkK*)z9RL-``'EcbC BH)RJ)c1c1c1c1 V+j'tfdȥTD#5b%ء`!+2Q5^+bj, AAe($)XSȔRY%tL)F)BƔc)tZ=TJ @P` CpK(0(I @"3D"b1HL`q!246..tqׁ P@N7<':xH6hf8:<>@BDFHJLNPRT> "9@@OggS@+K{gWWSUUX\W`LH`EuX *,9׊,]Kb}V}׸G?cq& n_5+}D4 _*פ%ңdaauYv$_Wkj!lYt^4/ 09\AbX%+N}sDq=bg5>TyGg^Q##5[_ K۩c+mwk,r7%wJᜮyW.ecdzG{ƛNQSg?uٯj4Elk0R:LTԊYz`,d7g_YcsqL`#Mwa>~s[t<XaRఙ4&J-wbH>3/p/ϯԋdxs˻ wЉ:ׯyI.zon)<$ \P|(N$!6=UK˛QʂYlw |eH}~ #{KM4;20Jt춿F|2an $ 0P_y(nTf=]}IeӼWs%;%-4o,$l(eOٚ0I$W+&:a1ߟ]e&3by/l=C37fF1Fy{5scMdDKZu^NѼǢC{ͽ*Jyz['))|D8{+ky =3\/[`3XZ^ʃYߦkٰק+wX]ǵb@;?mgq-~z[z-*KjD}rȌeUa'q{qn6jS; 0F0؍HCpȆGm?q^͹ߚskfjṿҼHWUy/8k$éxǟU?T}">CW׾?Gj"Zmsl {zo;p?Z ZEX຋Yf Eרl_YJN>|s}ZbLܘrd{|~YdXڮsS_5 )1#rУ~,ܿ\x995gWL/]ᷗ5}$0*>Ia#"d__V\>w7>BgI3ga#klMlX+p%F\=vNa4 +T)> jW6tyvna;nՄֆwIBSu! _Ɋ+bn~>E!l\\jpD٦2x;߉_wU8j*ԌOB3f˭&Rq|I {U':2^W5=B1{sJ_ggc8WfSXq[+v;o~Zفzpr.~a2t ?ɫSZ^5DOݿڹ7QؾE7ߡJ7wZOmH!DA +yG9G{ڿUh2?}FkeDlU;[q͞$^-=ZנYL@_uGjVtH"f{.Gε:Cm~|xLQw~p )Iu&1#| BïV}}l:@;n΍qί+|PB|OȒr[`.,(F),b+2սzєFnui-~ygzQ[\?~ى 2V̾ xCF+ugR+>~oK}ٶM&JN 7%tϰEVlG1s8 K_^# ćI .rؔgf]:>%2Yn}.ڍKIR~>/AM|/g">Q_|z{Œ{\~&Vbk=[U7eI)ИW\x%S\?stv__JU/bS_[ݭo9NZv)Y?Ozz,ޡOmsn]Q_{qխ6yXuG+X6i 1m+Qsz|s5^{UPdu-w 1r "Uϥ7zx?-d&FD{dZdOLWu\z4>霋.)5S.OLFf! xʊE_p.}m;ߔT+ [ ߖ[\I{{l_?3]L~V1Y?,=^{ܖLlAiwp1ٴOd;.~+>m̹o*,s;kvȅ"/-ͧk08*v_5sOM[}R^ԯ|6Uµ222\xCmO&- ~Hy^85drƻ +waC/ [ln?YyD/0_7s$Tm9&vrՖS(K9ν8m-YWJO4Ȁ=y$ԎԬ1V>-k8k|xYԦE[.JLvjda﷘gVRO/J`z]U_mo6F'mv\&knp*L}ss}4at}],>A.E'G (at?/&[l]g~qd%2@yМ@|v1}52#5 ԥA9tRŻer"kxsVNwM锵zd?U Z8힀0 }g#eE |}g2z_ ͋yGsMs(c{ ;Ɋ5S<OggS+K{8>5S %].Q5s:݆8Uן?爽vǻc ]V zjLJ1L =WdOJ}`>KwT.:nXy(ɽz;>?}q˗w'q)еg=+Ktd#GYMX/*bGϥTc}&<|i適_nǝ)-AnKM>g=}" gl}KݥuY#Z-\K[/kS3/oǕwץ^_{o.},ʀi/撥cX,_^4=_gɊ#.?ǻq<2˳=\3-wF߆Vxfyeܧޔǻgki<n Otpychess-1.0.0/sounds/alarm.ogg0000644000175000017500000034755313353143212015361 0ustar varunvarunOggSb٘vorbisDOggSb٘^4qvorbis Lavf54.8.100encoder=Lavf54.8.100vorbis+BCV1L ŀАU`$)fI)(yHI)0c1c1c 4d( Ij9g'r9iN8 Q9 &cnkn)% Y@H!RH!b!b!r!r * 2 L2餓N:騣:(B -JL1Vc]|s9s9s BCV BdB!R)r 2ȀАU GI˱$O,Q53ESTMUUUUu]Wvevuv}Y[}Y[؅]aaaa}}} 4d #9)"9d ")Ifjihm˲,˲ iiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h*@@qq$ER$r, Y@R,r4Gs4s6pR4XhJ 01Ƙr9s9H) tNJ)=Bz!B))C(!R뱆N:k!Zj2(R=PRj){K%ZkK*)z9RL-``'EcbC BH)RJ)c1c1c1c1 V+j'tfdȥTD#5b%ء`!+2Q5^+bj, AAe($)XSȔRY%tL)F)BƔc)tZ=TJ @P` CpK(0(I @"3D"b1HL`q!246..tqׁ P@N7<':xH6hf8:<>@BDFHJLNPRT> "9@@OggSb٘ P{v woMku~[fX`JVc3H^$)1"$,18"ML(!3h(-"bqai1L3 jZmQ{[q;L5LJc`%l%`1ZJ^?b T" 8HQ3(@dA i DY HIa @@bD"NiZ3Tx눉Ղ-6vbi5D0aOseVI9ycؓ<\o}RXY`@FYQs,Y֌ dQ]SB]LX7P2D&$ C@'. & %q2,G岄Ka"@R$ %3-g) H2IA,` # ,((!4%aQBSJ)p pYTD(B!Y& 4P,JP !Ň̕L`xp N8}Do!@B(C)"G20T01Q(DQ@c:& Mb ;uJua%>ԃI1=0׃cXG" P#.4!PP ?!thD1 cC@DM Zkq 0S.XĒA$ "̂33D)! Q810  %u.PV Cit8a(…'(1:CZ4!0nF[k aaxL1t: ch"~v8,g_Wo 2 %yeP*k U2 TZ2 E E Cc5R#I2I%|`K &B"L\.GHe 0$d)Cb, ,",BD $B% " "`BJ.•̼> 0#8G#G8b&0ǧ.bçq @ qhk.vƄ&~„`1DT!DA\p0``3:`$@ p  $\NF+tLtG -bCb>Me4Z4abцc&"z . @d~4D ;%N?W轁*PV9"˨L̚%C<, n9N'zFFj "FaI2J,K!B-*ec0G AK1OBB dYDDEBID$fɄ0aP`1JHh1Q%`H$K" QQ8EOG5+\}h&:da^:<8823> ))"*joN=BRW(@[ap\#"b"L2c2. 0x -Fa\=$4A y}Dhqzxu!#E}Dx#FhaC_Ĉ&BnG>$ 51&0&0`4!ZrDѴ:__WFJ~?H$ P BB QLt1YtDdV.63^(#*ưh ŒRapOX .G@(0,Kń2<.!a0M0!DHS !d\0b ( BJ AD`$R$$X &"J GeLM_OH:1G:D (u FBZ Ճ 0m"j]c0$h14}!R0Bc#AZ F1 Q/tY}S (KYU  BCI V"L2("+GHe L, S%I2I$ ,HH1P,Q8-*&")a.!@fZbD i,$APa 0B` & &a$LB01p(PC-Ūj0xF$dfL1Fo][;`XSP:Dk3t:E IQ؝00L1ׇ# a1!,F:˃B0MөyPFB&A= ]H q`ȑCV8@h& 6Bbh]q"Ʈ>:6шhb C " &10oEb;4Q6T87i*DRb!̓WrK(EU%ϫ*@FY,"S(@,!RY,IpIb%P!W(`xBW@BQED&, EB¡ " BE )$3 $%  axf0a(JL BYLA!|x %ǣTpP(11Q%LGRE,ŁC1hk@@Q8foo`ɐװ3EUAAUC qqkF:x^p<$d Ƅ 1AaFwnG@W0FW[13h``tֺEa`"8a@x80FGA?B-Bǀ`ЁB}uf2]H~B7)$e"' D5DQ( 6I ,-P Q(֬n$D!,bрXX$RJIbDY, 'r(%E D(&dB>#%dB &J@ (bBLf  Eh@Jd0"!%N0jv"(*-C 8u{@D+ |%Nh )ɑ#\D0(irHF>M0Ӈ?$0E %oZ ;Pcʼn1c1u ("é"mvDL0=!w[1ġE#AC-؟ `#6#oFG"~v V,bg$!A®I.̬Q @  , ) eQx\9$DY0- $$`"$` RJHHb |FP! 8ŐL3H!%f"& -""Npax p a&LĄB#cNX39<>1\cx&F h?@]2DeGL%c蘈aƩ " Ƅ6t=@0Zhm"0qt8 h!a1c;@$D͈6;ClF F 0`@]aU^JvWz@VU*Ɗ`3B j=l <:5vln$$$ I,R#C eB&P `L !'AY%.*B`ff1X,D &)XDH4)BEDYTwd)8nguhPظ !/Fx Hbu fx<2ɑfyz 0<Sb!jb 1-7}hd2ޅND TGF :OiH'%>0^IMC# cbeO p,v@A#S 1Zhat!0b mh: 8h#ˆ: )A `Dra!$@@n;,Ā$Կ ITW)$ .23ʕR ɲja@If5(R*Y5dEQ]SDG$E!$b(%" ! _Ȃ2, )AL +勀 &`%JB$L B3I%@1| sqgY!#P($"0ʑ@ ) bf%*rd84a11 @ P\THӠX )f"J hV d@ @UDԪ2+9J]K(Be# WE2#:ȼ`‡za\3^yĈm4-$C5%m}]! @DZhZӚ~k:B1"D {@PEUi1b::0 bu [YPT8@:t hBF] ";!C!uĨ?L40#FC6A-n0EAneB#`0hFh(F,U,Ufi * ?$ @IU֚#Xmc (: ,TTdUTdT’dBe DhP,D edX@J(J J g9'i1q1J\\@Ph"*$pYR,%-*"F$@ CHAHBJ&`^y<@^\p%Y {7e<! bgFPDu0x1̐0#\ N0{ N +H0EH':Bl' a`{4;C T614Ebu*&:#h7膉L4CCl @@,@0M fˆ<%@HaDC_ Qseͦ/7^>(c-k6}! g5 JDYK EQ!"gǡ)*3IIF ө%I, 8<#`8ౢ4M(1q&r(@X>@BP1a8Gy>C(a)I01@ 4 q%&YBJ k^^^uQq2|zeta|L Cb vi;t`t^G`: y00 SGza@ VP JϠSrb1PJ0 :0a`fHDi;B "-v*&cC11&(Bwǀ(ttaFg Ġ -haC~vT0$̰κOS2 3Ӕb7j*ʐ LPF!QYKj dYTg2 ʢAhR QQK&)A4R Œ$$H)` AX\(.PAI C|!0@AH!`@Jb$$X,d M"PTń"C A"-uG^Ӈ(qFh @& d" cZdAMPAŔn H!DG誨*^UcDbiZC} 8"=хѫX1ӂ(b}jkaSՀ@3A4 Ũn#2:4AkC фBhch] >DRҤحfL_ny wI[͈.29dTiP TЙgT+*j, R"BH*)+`#0qH&IAR2KB$HHD\4 `)B+ )!I`8XB$1`fHD`d@@@ )!"E(jgkZ 㦭XaL!̧\0xJ" @0ګb@0BQ'%}at'B?t`aڊwhF1p|8k2@6A-Ǡ42@A[8#3;6QXЁz̈́mQig1qD 1Al-vCUEhB?#\!|XL ILFa\@B%M"DL('D A̒#z=#0R=pܡj) 2/#"&$p8  i7C-Y(:Z  &X*8 j0abgXXFVL q8c4!Bn_'Fΐ4:'a@\Hۥ;: O9Aw8қbڪ x„ -8f BZ B"-hn1b~7%grECwL.x ;¾1䮼!&t'h`g[XD%l&%#p<PH)"Lh"sPaD)`Z1P b1J!3%@`B&ńi"& D\Dx ̧xq)q2$8f0TP0'b %& ##%v-6梤ŽH IcнU5T!O WH8"f0oLt+0ЬXH0p9|rPDT)! !&".dKB0 @E E̐&HD)SQ"@b` Q &3ׇxq})0C )`D>@^!i0((VQPL5juhZAQhMhf`f`p2$s\F_?10A^̼8C&.ROA6O"adN0x'N5P: **NC)a[C0p:on4FDBC3у!QDm1t"aH^v15;c ޲E%1<kAR!1EDeM`PQ&BBY5P.JYH'@ d '3 ML&)&J'p Y%b-"Rq@@9 \B9p! DEDB0,"(!0 AL,!PL a BA,"$#CCL@M-(*XDmMGP!HDC<[ԡh V1h( :F `o04Jԃ+yIH# "N48ut FGhb1:xJj"tе < a46b3aDZZ0LF #\0u . JJ ( "+e8_vG3tZH诔|sL@4 +EYKYv@BUevȲJY&%KBaӢb`QQq0hSE@DR2(0 `P(L8XQZ,"`bBJ bbb"BAD  @I)0%B8RuJ-@` Oh#I(#8 ZUΞP]H y 5sidC#c0F炧>2Z:\TP1ť1;F7`d<0Ё100m&DlA "Sxh70cu`-$ctFg)yM;Lh曂P,C$DU IQCUb̊@;'&JEuȊ*Df t NKl&+`9\y OR%BRB2 @(fРD&DT("(@ $!%3,$ HHS@@ Lbb @[jkqjڨ# O$c2 +Cc^+@# TA C-Vq" ^ ԅP 30a5G$кBBAJøڈlPJe3uG&D_%k> 1(}ƀѺ}Clƈ#58DPG8(uC@OE#!j!jQ1T 羡T 羡)U Ħ镁UPEX#$2Tж Peekd2N` KW2.$ eYABiJbq,&C !&a)@$$@@SPD,!E&BQQ)3hAL Hд8ҢB0C !YH0% @@ Db k$ ĸ1jƀ!0D әF#.G.00Wf14daf57 UUpꩋzOC#h-bB(Dq'TPĴۅ1  @:Z#D#HG:p`H-  h 7&ԁct4T%1qǀ/jCKbߕY ǎe^PY֘ @R +( 5K;YkȖȨN0^)32pl$ 0y,c1 "N,%\>8D@B2LA L)SB! f"LXb1B"B11q0$`)d&H&f R& & 0AO+3ɕDqSU{BbCWu  a(ѓP@h$L̋'<,F SbchEL4DD3zgd3Dk1w/R<# PQ58FPjLX}.&Cg$'wD"`8tGvѺ h (2tn@@G7[W } QTs_tGc☊6x˚hBߍȈ2$2y 2.l êu:!@4:g%Qe3$`)$ ID,Eiqb1"&.BBX£rx\!Lń"L&)Lh&4 "Db!B,"@D)ZY(ef,EYTB)  u]s%sd!rPQ;@UQ 8!,A3&pL$9< 5bgUTZ3j#@HAgL(BG Cu`1&(zDtz΀2h- v BhQ}Іt`@]4!C$`Db ]qbh߈:ĉЂ!##tA!̳B]C9~Z5PP߱7((ô'ւ8DV&PU 66 d0dd" RHP",.0J JDEBPL@X""4 "%IQ`BDR1!b,D(fJ)q (-)QPHa EA㚐Gr0Q΢&Ñ. @fXQAudk""ь1#,bցT n^jZDU! iA- Q(jHC?01 $Z.1:xE":^!4Ch[#Ә~aĆ~#à #hM_$Z:: @`,ZF޶rbmd-2ahz6rSX 2 y'eمd Qᡕ y0e5" Rb1J)q b ABH"0  Y@B L )%@@0%d!@h(hb0BJ13I "S TTjb!j:A`Ӂ@AA4,#&Ut]MlDLUQAMӴEl0P5l (XVX7PЏ~aBnw Aw&; =!> =0 tGh! T ۍb,RPCP-yb0&"k#6"ަ '0p0MhiO`a6_,"-sQDVd:@9pYsEP"DeE"+GFe&:f.`Eh@%I eB>/<@B)$ bb)$ &̄)E@ 0, Ġh H @JA,XH@(""(@(P B L@B h1& B)fQfDY\@&L@(W b2"B.{h[QĴW0,"" 8UE0(1T1![Q pRP'nha0#5@.C` Da! A?&&&Z1B$FkC Cw"LAC h5D`Lk4qB4F$Bަ QLb)ax1eT UEUF$!2xH`VpЂAȬ+rdFw$(Iƒ!!X $f 9>0P@pX@ PP",* BР x\erYJ9! Lba)LBq!D0 ``@Ӵ[MPCq̑ZmQADDE!+k} @apt OL5`ax-MUԙ82pd38(Z!t0F] g^GF'O#<,P1.D`! 4# C2בF_71ЁH$0u ˆMՄh]ADZO!`0zG!0џ `%aJv$%ZNۃ0%;ߒO-ݐB-YQ9K/U83jZjJ8ʪ@Cg@YcV`򨞱D82IDX$$!YBq&h+dr!! qJ& $ 0@ Ei3RA`Yg Pa@DR@0A "6a2<8H9r=G mĄH@LvXs*j"Dkc,S El 3^00fHL)"b$.(*.`:0P;ڴ' Qt=hЧc@G:֡a84PU"(%DDA`B L9CCFMluDB0֌FD}Ƅq"1(tь1H@NӓQ ޗNӓQ ޗ{CD5YdU%H`.HpbL% rQĊq$%`@$$J\\Hє(ą" |!q< i!"L3<.K(@b  @  " 0,0 "6bk"jBC)`BMֈ@ ߢC0ŰZ P @ +82FUU1GVQЍtAsOC.0P0=AB@@AuԃH!L}!0‹CWn:Z1pAl֍bu1 $&Rv\=,=%a4eQ /AV@VD2  A W`BNGO1 쑡$D@ K)P!_ J@L PJ9|KXF 31"@B@% P* b-NaLBC b)ifBEbP0@(%$D! 0!`Sb,&;X01`:f51 t⸠д1"^3BȇhhCO sx"LD(,x@20 |t=.10$ `a`2O8AD#"(PB'p. 'c.`& uaTG.C 8Fc`8Z5D =Cc 6D Ē ʯ7.%3R?_ , !3-gIJ"j!%aȌP(gj&Be+ DQ5(uLfHI!3,*JDDTL0JB002a& 0YH! ` 0Lh!BX`)3 ` f,!IJ&)Ai ,&`0 CbH#("0p8@z'F -v"`"b`cr@f`aDU`;1#h>qy TD:$$i&Ƅ1輞X#@ 10Bh͈#PB7 1m8Z &Z PFq"54C @ 䘄!t!"嗦䘄!t!"$EqeQc 2  dyX2BuD7tqLJH $` R ˥&% BAAL@Q" ͒ &Sa`PPg@ B!"b4Rb00b4  E5aau`g >E`>B ȋA` 0 0a"`f a*VS-iu$ hwP#**1P2Iq 1joFN8t@hHB %[CyD"0A FhhA FO5"[ j& C51bG1dø9$~ESxqJ&1CW4m>{EU! N@ +*` ""BX(9gj,RZ|P`Mwr#1 @,@DLR`H!hL,eOJJ(B, X0$i" R A qB $"  )`& b@`A4D!´ B""D\(E(s \@0 #EaH+zF ÕA@ x` \ 4PF$3 Z]z. {< %F tB`x}x-DB FDkuc B`]zH tDHd)EWhZF thA^RP|fX *;_uK SuFACVRI"*kaPJ *j PvV+Y +*) YIa0%@@)/RDRBH!!$1,\'  qV ,0rG8a9 1 DL,$ BPiBLsVlW'l T z1bibPt`o0hD`D҃vOC(`(ÄB 3Jri#($ !!p\9x~60ƅ0@!1v}$ނS0xhCq07ćf"tS0FшhiFl@ƀvֆZ0цAG!.!G Q!F A޶$L.4uk[TB&: 1( ) p$Eu!j+*LN`V He $II@R0Q4EA(hP"&8 DȀ 9,`eq!B>\0A$4aa %\S !RbB" 00B1!% XC2@L`bKpW1/5>| |W qhN 0L)8ag ѝb( *ĸ,RB5ԑEEPctL8@U4lm3ġAק$.Ewb S`45*& Q8 qt-Z;ѧ>BMGQ}1hm8LnD ކdAd>o!Eg=7DDeY3L2lU%(k1H %>c"^R"L' ( Ȕʕj`#aIL@H!FXiZD q0PHY\>`fLg%\P!%@QPɒ !!3XD $01 B@0D`0\y 0s%G>!L>t@pLmCQLC,6 1W& P~ľ ]B v" Q 0aZ  \ԡb z"bЄ -(# QjS%dE&Zkjc E  Eh1Zw0х" 4O@hF0DFc!^礞BnOxI=.H ]JU+J 8 2APPT5, =*# ^)kHPIb fM bbB%A2 A! g "&H!>Oa@!%D@0KI@ @d! f`B &"ff+:S!GSTUh(" igcv0 $Clhʄ#3Za8[Ď0> 0t!A\. 7-F1ڈݎ01FB: !tL[`CL#z aB aDZh &tAM- 1 #2a@yG :DRPYڭOX- [۱! 5++ŋ@YEd*JLĕE @PFUh9+Hba'YXXHCK!ʂ0,`IL$Yqi ! Z@4!&0 K1 DqbZ bfb0` MAD<BLSb4P @j1:3d|L2a2c2Y( ȇŋBA u@&Ac0 \Càc # 0&p=h81"< Q8LA<^ӇCoZ4.b4a~8??!B "q}-j1B!֢D`>dR;dR{Bye $GG)*  2#$( vv݉0bSŰ3-*IÀ&ֆ nEX <0NF0XtbCC @!p%.35S-q&. BÈmBB?1Qh6b0P֏1֚،H<@b#N@ĂBf~oO,(dOm.w#QTgR1NR9(P*(Y g`͜RQ@p+bI$!H!B qZ\!EX`X*#*& 0 Gb(aK0B )%K!XQZ 4X 10YJ YpOs$|ȑ4,C\O~G `2x|` ! Ǖ+\: #ႎP0r0!G!q8DG=# H$3xF'(%|H%NC|FaEB_: 0@zԂ#c,( h;&B~qQxeJ 5.<@"ީDabHGhhDnh @lEԂjmHNAH_S Rv}@#9!}7*Jʢ$ʁ`ITJAFU[R;XC JYBe E%1 H,Ib&!Y0 BMSBhJ Na(GZ@PB Jh& J(f0ODV\P, 0D(*J@@DE!&J ,#deP.(aaQ>%C|LBdI$ B"ᰄO9 (`"$DDT & &XOPPJ%I0ǃcr\11uqY$0BhI& 6X1 L+Oq}xfp`9# ")9+0]&  >℉b"HDhF$OI:=g<"iFA#@t MD0:t֢Fct4M$~u}$dA0zMd(0tFVA:/kVA:/k@(RHQK j, + 4Ȳ8 xDdpv:L ȢTe-L?#PԬL(I4IHDd)R$,B0KJ(Cy,E$30%B@)f ,1Q>3 Bh!3i %bA ,1I,% X B(1UVLЇÈG=^ 3$01G`CHˀH<+5:rĈh}#1BǠ B1[]6H0:6B8 5N b)Fh Q?!8 M`b11aDAuu4r,_o)=frY4;$ߍ U ^9 K"pu 2Ƣ&%q#ɲq;2BUXVjX̄$X&` ̒@cZT & (E(<iVA & ! X!\! B@1q #bD\0Df("J1M"YH!,HP!`)*&6VQOa;[GQPA%1C=fɄLQALX]:`ԇUOS'<1o}F;P' F}'u۝#~ք6: C_k  tc Nؙ" ~ -C7vu0~G?t#$Bah M}q81'(؈o]Z^o^ d KJ`P}2&@( rpi8P3PAfAVTWX]C1d,L"DD4P4erBZD `&\.#ΓrddJ P @0PH)I$! )1JLD(3 $ IhM ,dqa#G6.8 /q iX,Nu5 GS`Hz>ރ cp ,2:SCdJACEwH !ćFCKu&wcq0P&MPGETZ3`BGh AP4M&Bh"zhcbh`tc?:=hc 'ՅRYH~'Iu` )xAFFXE`%@D]ψ*pdQi@dV$A,E2"L8bdD KB `&a9\! @`& LP(.Ȃ`Y.  LH0`B!I 10R!R [G:;1Lt09<i"6FdGIMu<: L8fȄqlF zCudr}x] C>D뫽{x衇 "@(7 FߏQ0x0`"vt]آ u ( iq #vЌ;Ďb#D{0FdM-F b @o!#Aj[GDb4 `~ѬY~ểRh,Ys(@Q Te E ,UE @ DdYT"cxH$De\ʡ`XTH((2L1"+P$D% "D $% I&DLL L UsBTm-b)v*bp`r\NjP0'.Yb0\#Ng9&Cx\; p1Uj rqzB؜xPg(#Ay8%!LQ4 zPà"FD0CC ߺhZ7ht@N7 &Ak 3F7cLFGD-޶@2"0?x=۶@2"0?x={PUQՙZ E@AfE5)D,@"Ƥ$U蕪""O ʪ KbU%cI`H $-ND .** ` C! ADLC.e+ \ ,ĀARB0 &B!S"BB2ILH|qf` Ç@TDM `\D@@ r$W2S`>c ՑE H `"jbأ/ @0& G0(.uGqfd^aBṡO‡&``@@C6}QgclFh04 jq@0Q0@DA\<5umM A Ń[Sw!RVW|ej@Ȫ* XQgBYf$"T5@GRX0t̨Y&Q QUR$HJ `)D( %d) f @ϑ#HJs$,,pYB(e)K$&g b &0 034(R2C0Vvl q9>d p  &C,PAFhB_Kb4 ۄ*ʼn '8 h:FϢ`DPO-RB1Z 1y @`n_2ǧ dfǕ+H4L1"Pxc:xJhш}F-B mF_wQeR!Ѝ˛eR!Ѝ{YcQQYxP(# 4 PC)kp2 "@w&*0Gee-@dd,  !X28@ Pe(eX2I0 ,  @ "&.`& b03$ Y!( "!$ ) "& d 0ll 0 9\3/0(b È~<, Pc6!V"t0p\\ǧ+pQ*"ašUq<@IdSU մ4!aH>B;10BOmޑ#AF:F0:Ko?%NAӥ3ķ@D01;ք1.逸p L4؈ZZ APZG Ho+Nhm0 @5C>8eձt)j>HH NYu,#:] |7PVג!ԁl_ `%b+WH'`W-ĕRYQKL PW9%6 RX@LTBJ@(.PF!`aR`("Q1J\L@a@A ` RIPE!&&Na^ǧ ST4tC?d }3z8:(j8 T+ @&G.>ݦZ0@E"ɢN~ 4 ۛjD1| 3Qޘ~GBl#!TCAB33 0x D^dj+1f2Ď6 ]  #m&#![:E%DA MV$1N6w[iESms}@+DV 4dTe> 8@8r@L+j E(+<",I$MDAQJ"."JĄDfZ "* p%Gh1%J D̠pB0x f Đ` q,D(f0$AD`YC%$HPPLQ,^q|64t $y\`Bȋ! * !lAoHaETô1f{@qFQQCBZabd@ftC  "&b !2ZХ]V-q=tiU>u|o U /*Y` @JgDdFVEV' @#j%D BYʀ8ɨNƒ$B((, B1\Jy0RX 0@X"(H0B&)  ,  aBqZ\DLKfR!Hf`I0 W LHzᝰU:5U;28Ñ>pMsi 0&yM :0POzpq|-NdBѡg]``dDGmLD AbHoЁHlAP2I^G@b_m4`.И跨/ 6h-tA#N"bG3_oYjR'"}#TͺoTݐ.H)sbE\fB(j23*ʬA/Q "+ fE!C(FcRLdd)M$HD )L!-.`ZDbh.'> $K @Y Br)˧O9a 0< P)B i1"N(A1`IKLѠDAąW9#7!1:. O L9(`!acQȋ0d@`   Tj`0:BbcSMvAGbfc<#ZG&DԃxjFUAmY$t-27cD$>\> Ӂ"*~c hރCZl &"GZkc"Bl 3^4081b 4!1 $lj{kB@Œmi]@RTDTb 4mLedeԬ\)""2%Vt3(ꪲ"q FTL&@$ B(! DBhQQ” 4B)X0'`b L,$d !Bf ̀` !Ah!@XDơCMpqp!p\s>-:t61PSg#'-8"p'GPOĉ \Wt|HUŴ9tF0  #!zH(Bet:"D 6bhCAa *b @ G:Lth"(t##fb"N 6& CGG@ 80!LQM  "^Zs9b,>4Ac6M~o@f!xe2GU8+€@VTW75,-N (IDB) bDT@AH )JD\rE(P@ L!4SB8-"rB(RH!`ɐdE(BBB(Di1JDBQE(B(Z"b$|z]:Hff:0C ,NL?BL at#!IB.c2<~'9[4#F6M0GC0gs,D>ƎТΡP@A0&@o:46јh-菾 ahHJ "p!1h1`u1&tК8Z Eb61F삡iT${&9f żcI~;}eeBPFuv@HeU 2;& 4F 3If""&Be(% eDy`Y0$3$ @&4 &" f)`EC\(B@`  (BhR%&Jф)`بj 1^>jzEU1igv͂  uzc(V"FՍ, jb hž:f|C) 0!\@&@tF"X0t 0 <^}Fc8ZwCDݮp@)дߢ~Mn!Bԍ~G"p2Pľ;CӍ~OAE䅆Ҏ彏5'/4dv,}4] ePCe+ A* Wl ,Ԥ!dDURdfp8n%j b: Ē$`L C!B>_#Gh! I`!RdI1 1!@ X2M $I$D%"d1QqB2!bq cubP וb9I*VX&\z1[k@F<($aff' abL8zFbBh! #8A&Jct\ $aHi61'0Q4B H!$ BgD 0D ]# AGA^O \G$яq1AGǠ~Q bGG&F7 5 L@k>8APN;K%B~oRf<@$k(0Ss'ѭ1)()IbpYJV8 (S2/ BeLXL\ $"L "&JB! f03"4aq  d!q \1*6"j: #mPV;*OFOF1-":fgAEࡷ0/"0W. C0Wcȋ 9gNPxi <\Xt2< pRBC @# Ӻĉ1#tDupR¨3!a!: |$'0 ޢ{14GmC1b `7+ Z:DƢ^DnC FdØ_a_Ғc~͇}"0I!ZR  Y BU Ȋ:NdL$`0DDh1J(*B(%8P%"@2 h@ ` 0a ECP033BHff@JL  "`")$H2\3<8ހ"]4:0{:0&>0@D uq:"( N'BDC"EGbb<ktt6 M &0.a: (\pL:5Q8$g -a5-&@A4uF Q;Fak M7(t @@$}d%٭f I}L7{OGVjƐ4Wt{C**E&)%] "jVe eB J*9 PjuH2Su 2k[;;Vt-`IR21IbDif1"%.N &XJ e)(QP " !bZDȂX 003E1%B &Ő ̂H B2@`KfAB0!`! )@ )2`& Qá'p@ab0C#a 282:"t Cu2  K> Tg7].L+iBBJ(,H+GCt1 tumDa`=#\TD;-@6!hD!Ќ&1tHL@&°&°we͐urW@ RDVPT]dP6k8$G(H bII H ,E4 !D3!aŘ M@11 @д8 eQA h1Q"&! <&d<23C•&Z!r>|bTGЅ:A1!^0A:`C+F a4 a2%0bhnG 9t0C >!dh 4g8*t4&TG Z !4!FctFB0iƄ tֺaBс=ma~0BHhT#XOk[S5c?p 7DYYCʴxderDD%ei 0fX 93DIH)A(E1-c@T ˡ* $!sAlc(b'pAĴbj1@DQU{< 3 d|/4CpQun!PPddmt "APTEw5H21$LLu6bQhcD-]"1!0c6=@&h!6Mb@ Y@\~EӐ06˯HjA xTc `H5)2>$r0OP "`I."J$` a)%P\Eh&,B ie@y rY! 4-*Δ@`b``@ f"0$`%Ei%,AR`@H"h". "4E`Oy<0(`Z:nALD1@>#!pdoo* 5F4E@UN*a =HEJ=uda2pП-ti1vQqLEj#f8G䂎! 3C#t F$Èmb qDЄFd@Z3DhH$QhhD X Df1!0цz7PYTD2/@$& p0 (* IJP d5DL&̐I$ 1"""J L@ <0 W0!,&J 0Ӣ!@PqPL`)P.H1  A̴! E(2aĂaE.](`'uhQ5L؏Z D@ 8H1z  a7 dull9#h}=(Dk"B!8&FrTU8B`L"}<&BHCAHF o-bL0`'20Z`~CCh&v;4@UrF[@BEi)~}7T]KeA\228& PC& Rc8 4@M`%$1KY$HI,D$ "qP ary<.We 3 XD$IJ BJ(` %B "F @ IpXC  8 B)ybB Wp d&&FG`cNδm@&F:4&Zha4Ё"6 ЏCLjm4AGw4BhCkQ#ݎ(L Bh5u Z%Nc  h RBfBFӿ8(2"7DT2*dʬ$T  RQ`N`Z PW+"Tǰ%%d,!%&@ JRd)B$fdfb&!$P0h)& ZT ` PPP. Xb !WaP3y 5 L>Y0{icZݡk"QED5TL::NxăbIR&#{" Wabab:VB@d'a`JtԌ"D0 T?u+F1"T,pP&hZ3\a&n hChbkFB76]h}!+?BwD h# at 14$3Ԁd-I&5 {7ee-Q*"8p.PVT! (*;YԬW(AT#et8R$I0K0I`Q""BD d̂dfLDiq!4 BaP(-d)I  !$` eF|aDB!iB@TH",& )qs]9HV;uqQ]Q( GQ L$`r =qhC-TOFaȼfn !3<8%FZ]'4CÑ ÄE荦cD\N]y-Fq @4[G 0[׈1DQ7 qu'0jmb0 ƴXVE{iLEPohUwDUΡȂ/*T  X9@Q3ED%1IqDdJ",$)`A & `@ 0%D@"@tc#ƈ0:Zb j}1bB шH$Ԃ>j؏#Hl - 1&FmtՃ8vBLh2CF:F Ql ǎ`1_?%KSrLM ٯ̟ݐEU!J/@͙Avp(ʪ `dV,Q> 0^YI@x3g$3 $ "qQ8! \Dz,aAРń"$ A`"̀`AXHA$8a (E ʼn@\(D̄ؕ#2d`Nm~6a+EQ:&xJIM55T'Q"#@M#V;Uu` S0(XqdE bW+ 0;&Zk1NjwxG.$O/ C1"a"`tO_8~-ҥ7i N:xtD-jmB0""^ǔ Da6O:45! y+D2ӎ,Gn2Q Y@Yfu^ 3UQ` 5LF7I" !B LDB(ʲRR"qB(03( J@pX+@) X N@T$K a8q`B@P & 4ą"ZZIr]1c ){FZZ8WU@v("BtNCHH!E8s@ȧ\&cf8‡23pG0 xbB: :0#Ƅ!Am` ` 6RgHO1at1Ʀ"qHA1 B4ZcB zѹ"`@ttȈ-:b Ć//~mNl B2w#EdUueTX"EQs.(KȲ@DDY 3"A<I@YUֈ@SI2IX@"fAB $S,B@D13ãa$'%% c 0 !  `H" @@ @ZL@^Su2t@" V{ch]F 0Ӈ0!^E2 L#3ɋㆉ P 0PB)HP. .ăFz \'1EZM 8d\!CwM !6a@ 1jq1B Qu]/!8b鈂H @`44$%{,5-i/MILKXj+Z2BL \PQeQ jG  Jf-”@*+0D'4DX$I C D)B BS"B `B8<1YS> )!1$'p9@1 H!X !fI)Hi4h3qp0 [VUL(Pa2D@ 0@:hաq"'0Ĩbic똩 J]xCiUF0@^s!0AuE4AZ-FC[c4ChZbo5U Fhm10 tM qL.1jfĉ 6DD?4h]H4@@^f$!߫_HB )52WY PQKuU"5+2%Re `v!|&:9@pUQca.R`h&ʴ5bI@K ff  b%.*. @0`0L1I!2> `D"1&BH,$K$D,HH!AD !(@ &ƴ(J bB "ă\!xy 15 a B !lD)!zH(`X8Б# 1 5a3oU:6B`աNQ4!3du:bA7ԢuBƠ1L:!NB:"q`k*0b@ ȀB@O!.(51bnkІ!  %].r`;AIq=%7,+kTdd ( ʠ\HDH& +" ^IUQ&b6KHD,%SbDDTL(̒ <)C@ A,xbB!!ÀPf!&f(M3 BJbA2b$3XZ*jV(0Us@!8: uZtzqH# تcD;1N FPb؛6݀ jj:'bB2\dx#`<BGh`yxx2bQ?tha C6a`#16u ZmAO]!#v„tGAchE>0%4#&BF@Q>RRH~&xsQ(%%̎wl"ZFX3+* sDTW 4R  0eQCR5H8ja:"&|&2,ӺXX Wr9\p8D"D\,JA@pE(_T+P!,d$Y!\O%G,  ,%B $$"b@̄!sd@3aB>4[$^3bژ]m"4j`!3@6 ZL[1!-D &Xmpz$&CoAgZІ;b_'P;b `# j[ BR.F:BD2xP]ݎhqMEF botDC QD@8o:Ơ B#d ?:ċk2ဏW. P v;BCYTW"W8` l1WNY\d;[$H43Ӵ(-Z d""1BM"(Xae)XJB|. D",""*Y( "8M  i,JQ4,CX(B a!!y\Դ0@$Јdxc gBPqǑj1t0ĐPFAjKFXMպMDN]^" 8p'aЌ7BA,0Fxq4 (50dAHCG"AwC:4? 1 Mh1C3B @F`}-8#M"MQDu sgv^Au sgv^ALT )'D2@p@fjB  ,`NIQsXE0q%EEԌjbS̷ L)  (PP4&B ąDA ipYK@,1Vp%dD)D,p(X >@!"bLQ,IHHI $A,*F3@Ń+1 |q"b( *b*0a``bbEBNP t @3y}`#ja`&<DmDCA'CzBw5} 4ao@l0da5ߍc3'FFq:h6!tt'} +0b0L1֤XK ^[b /b d-)x;b;_Yl% 3*e@UQ+t'.&cKBEĊdPD\!XTbJx\)0B@a pňp(P*EiQQQ4%3$a8- 4%$4PCs,  0 1i0`:jgc[lVq|@zLI&$4#z01vE@SxȔ8;=wt `"*bc`9x$L ބqj bkѝQB NC4$ # #~hb &Ba##th@atD(cF"4]zj!H>6$0!5b `$ؐԈ5GoeDb@X)h)ʔU (Tp"Ef psL"شrD*0e$IX(c/14%* -DX pYLP,*dfR2$$#!G+K@8hРi *d( ReBJ0Q )q"d\yq#L4U^FvQEJDHFF<^ Db5=3@a50FFCR+0a E4a6B&61b7~#hFQ8Eu#@1#;5u9t:C Ck^ҥ]Yh":."GA"CH&@(T!ʪd!˨A`a$,,e$! _e\ x|0%.E)!MBp,BHL0hPB4 3dD9b\ H`0%3@ $%1Q4C@h !,I̕9>q~: 0(Eu""`5Mcc6 iZt »xs^[BТfuM`"Қ!hhF):BCFݾ`ff1!vCb1: C"*iN6G` 1;cmD Bk!ĦC L cu`L@hChmDZ0AGd25oG&d25oG&w#(EvWDZY@hdPv&qPPJ2tYYd Y(v4I$A2AH))"N2\2pC0! Cp`A" BQB @  B!$1I!ARA !% 4aB!yq*`o6DD qD!0  %@yxPbZQ41QDE8F P  Bkb7jt40BGK$bѷEQ8@$~?֍#(j]!-?~A]֍ZWha1~Bf&19SޚX@$0?gߍ̌ʊ9&Y` ).x&*$НRdQVU"*l1db&b0$@$DQ!M1aJexC@8@\fBР&p>PpH D0$%d AQD q!JD(Eh@xLzAT0PD E1DN2ݎ0>%.046v2j (`<ջ":x`L1`  MĎn !N8bD:PaĎX;)mqbcDQ5{-F $!N u1! Q S KGG:B0;: tF81&"D' 3[0W( `B(sPRJJY1)LP"̴88DAC(NhZLgBEAPP'b` 5\Ff`^d֚э-  ^o:#rba. ^i@:TO)ӀzC‚w`A-NDca&0i4 B#0&t[#R &8ct;@\ p8 : F7`F#‚ޘB0rZX}pށ2y,B $Y[)#ʪH7 Ed5 |`vŞ -ˬ"eL LCb D(Z\eń!iQ"*) I s%E   "!!R@f bH2L ( DA,   h%*'RH@ 100mA PQEka:c 3u4t0b#К!c }hMl] ևq"N !00ׇ\ü&bl-'"mLB@ʼn[GkM좌t#65QtBjh&t>P3 =8qj;y'QTVDJxdTפ$d*j" zI(eeHP2#3*[BTI2 qx% >GHA$H0 `X JPFpx+31RB@C!X1 , X\L A f) D u$OuuERSy8<@+4-0TOkah ( P; Ā{Dd0;@7pXB=e4> 9ZD` 3H 3yq]3wBG@.Ah1AKhG֡AZDߘ`͸ࢡTGPB3t ^GEC G⫣"Ɉ!P2BFfyeY 0 +$%@(&> YQ5k(fw5 #*e$B2D,&(YJ8<>#(.$`(, ( JB,, @ bfD  PT(ci!!,,IxI^r]әh Ұ 7 #{sE90ބ1FA% ç''& (T3@ !N;B;D?؂Е C ! C QSU&*v y&>@uNI=$R'q! 5#S ! 3#71a828T {ӄXġ ]n 44 :! `1&BknWWl0лtzB'}ݾA*PQQ ttFmՍ1&v+`!D-ji'~o ]4>FF{ ;FF{ (*(zeQDDIͲeXUU` PаJBUT+ ]KRr|Gy,i! D€"&BB  ,!IDD( a"hq$ !̂K$Y &`XM@&##/  h^|\:Qд /C @oh3tP1UUchECQ[Ӿo #D y0HӍA11Fh Q #E L[S.'ŰbiGCw"@x%tDhLj B4LЀ6Нuޡ D&> ~T4"(˕&sΒ `bFedN jBYf-  Jj|H5%QVT Z6rqBŲ aI2D I Lb,"* *.$ $LqF7$LqFw0ɉ`rG,2B*HZb@chm7AS"P YZ TXK$DT\T@!a(h@ ʐ@H i`@!#K,H1! `Ba0`BPBJ\\(&FS"@`D$%`B(q͇5ɇ  $FWȁ@NX/1C>(6*TMTDh & ' F]bh`@Z1 #FAa!Ɖomb .c|hH━Wr@ZhZ0NF- (]hA5cw#h"jAt cZ#t.&0}1F䌄IOcrFҧk^@dT)"^%"j"ȢzE΅RQwt4`'`%QET'%$#2X'`,EwQbIIRR@d>`X*HD$$`\ G CX0bb -. *„03 f &f! !YB " A0 &qP4ńḍ鄝8v;H: Ƹ x +!acx@$P0NdB {a4a(%n u!nWWN[FFnW21ׇ9taۍ AV똹^ۍ\d.>p1W@`h.Z!bF#P8s@D~a>n#h4ƈ +&DȖEo cVL҉-1""2##Z*r 3YYdYC^gIEeBlcWl!I$ a8 Y!#dE@DHQ4EQB`!$d`Ah@a(_H,+@23 b̂ "f 0CHf(B.A(q)ffqJH!aDy%\ǧ㑙a o01E 1.h>&kڛA:b]CL:Q }fNhݾEut wz:ChB4ia #vL C B}UĴ5:֪ 168Ƅ4-B1j}c1EM`&& M;Z48BkA@$ k 5 Ecúo$~7,Y""*jDYdU")LEU++H"j" Du UPg+R֐4dh eH&I&d) ! q1%&$ y>#@,L`&K,K X$XJB@!H L "̔(%E g Yf  mk8+>\#DE0r@G nGb#Hk uA {{PAD?60@) mq C|((|#>wQO= {[UP 6ݡ~Ӎm4`b|MhB!hk@یnG-aFk1X&:(p88MkGgaM A01xEue^yEp2dF51q lvc3(d2 !! Bi##,e@B >C8M39Ңo NiLNh=zƎ]c_YIPYY`ZFp NPWX@d3ILDD\Ȅ@8MQEb`Y,P$1 03`@ Kb 4D)&Z &""( eqq/q O @P1qs d&@(u=ހ (bvNn0 8aZա" @A:溮B <= PJ(CNc1a! ^u'b7cD邋X$c(꽎ZLr 1FBڠ?SOP-K? g E]Z~Z0h1 16t~&C$ $ 22/BUUe0ITXm/"BQK  ' L\cOx"H&IG BQB@hPBPB'p(G@,(4f,-F 2|.a113( "RB13S@(dky$IP1^;@0hB00+0&*VӁnCOу{&h J:)eDYKWB.&5rb8fDMbd)BBBJ)* Z@( #PB!DHD4M3M3„RH0C bL`"B f0h4A "P`Zhx0p%O0L`N{EUPCQZC0EFaЗ93uŃfd.rM>${*cr ;p=OLJ9w-x>qaz'BE=#46 h#z1 FD߀ Q3F[7ZvnCG?@e= n;BB?8hСߏݮzS @F,3b+4MSf#1 AXFeFiBy(TA@'`PDʬ.J*˪LNLq,DYɚ"ȨZqLbI,̂$Y8BP\0<@Z BYB!`BASb `0BI!%`0 1 $@B f`!,D ´@" āb:p\3jq \/2p p@"(~w \w`4o"(bZ:nWA#BBG:Gއ%daKB GAB C-va&1DV{[@P4@Pc:XUMc"t'Z OL`tQ~w4-1B !&"C61qh@lC ( 2/HWiQdjߍA:2 JZ( 2"^1nhieK$I" @J0@Lb,*B @\&@R4-E0@$$  )CD"D,1 @E D, ,".BD %Pb s !@s}z}Lt U@MPPPbaMkГ!AQSL:Ё*0!! 9[u`#AwPQ4qhDc(aG1G7C}4J. .6&D0bdB" I} Vá!}- .0b?@@wcqh}m"'C4.&bm" H_Z> ≯Hl[p۪2"om7(2+*###DVT( A 8GFUYPJIdYC($g$VBu 4xLEdI̒H@)qJ(&LbLd$H@bĂ $3LĀ &)IH!AIH @2qqs1{ Em iQ\# $ 10΄{(XqCU;QT0Gg"bEb1DT2@t jC3M 8)#`` DG iG5 htLdWB^x\\# :&# נ  wC BХ 0xmS LhFa:Mh"̸oe'?p-3[0~7Q(+ 6p 5#a9 (CU 4WRvY]XF"$`"L$%!8SL4 !B0-$fAh!B AMЄ80@@ ` YWp8 Ei ,XY"" ZDLD'@ah昙I2`<(b2@dtc!`5 c"*"Q( 5^/thL u \[X#z4Eaa"#6A  q@EDDL☉*#EPJuM a@0 4M#~m&86чOO붾C8 PQ@3b.8˅8˅w̢T`:x3̃VKpAFV 8  =RTc8'$3@BJ&R0aBa FXP!A`I@PB @0 \,K8 !!X`&"0$F1h <&u1LC:PC@ u\mCEApqD5zbUEE-j`#(@Q̄+‡ G# yMr=ڈ"j؛hHx=.!xZ:~?ȔD!zb##D c Ikڈ A.B a `/6!ꊄf Qk:x 8 ݮCA@ LO ƴ,Կ4Ed`vݐY"ʒH,@TE )*Gf*5ex *+B6 P84ĉ$`,Af((PB0`x,2,T0Ah)$d&"b a) dH3`AB@(Y$ 0@$AI̔Pf0 QA( !^ׄ1d` 9^+O<"H#D 6w`1Ď&F@YEPCM[sut~rAa -ox M@9aFy낋A00 0O_lchNC-M4D]CA@uÈ F!@c@a"QԆ B ]QbT_闶T_w V:OΊ!)!`q8AhȢWT-8 dd΄GcNq!S%D8D@CPB EDDh!K) H $L%&Je)aAJ@B@(2@(8<+LH p>9\BEXLDT(`@@DLĄ `PB5+W`0qCD@UjuH@ ⺆a( !:xE& h"FQE4X(! 8BW ` 0h Ƅ! ;:BHP2b0D@G4Fu :co Q'Fb8b !- <" Q0f -F]c 5>DR5;10zHJf'FO dfUED !@uFuAYY@BaZ@dEYVTgڐ(FX,fb H`AEDES2"qB K RR",dB1a`$CA(AL$@P`"zLpp%`ښ9( : D v6 B7ND 0Z-(*(Dۍm``8rtdQQŠs: jj` 0Nе؉! @?Ouᙠ?Fh0Qw~6 'уׇa@ 6M0FFF@Hc!Ch h"D;.M3@ަ䝆\7*۔Ӱ_C R͢JZ/P,k TW @9QF5"k(4EY09 6+Z$I&)  14rBC! !B`fEq A 0@ Mq -FfB11 &H)  %i&(%bP01G>=xA&D* xa|8 5Br18O@00<ཧpdbtP @4&L4L1bkFzCD: * içc4>6&&":Bt]#hD1#DEm-&b# b14$,~E;7MI"Y>w2H@E,!q0%AdYCMP@D)γ: RQ* fNLfBH0D(8D(JBr@>a,!@EiDEqy BX ,I,"$ f3@ 3@P' B @PL" PL@$c>=rk(""j5Q03IB31@= ?\LJ&>SGUUQElQ;@ @aO":(8t0LF0h"HNA04ED!LM"#وc48.MkA!hO+J) Fb0`$F#C"Rxn{BCjY@6mv w; D-U5!7eDu Tce0("*(LE YQ L 2#:3CCbin$ 2 0 bbD!&d%!!1HJA1ABI`"b4'p 0 r8,%B B *NPL0 /dR DRQPLxP:t xJ+ēP@k-68FUTG&&db^Gj!Q5UU ch:Zb! -N~ttc at~h1 +C;LQU  ׄZ] &Н`AF[CD!#t]&!BB ~dBn9-k9YC~Z~7HEueT*'EM QVP`$**k(geU$2RPCqEC&KF  b"B!D"a RVH9 !HHR@@IHpyB)& д4&bb,"S`H 9H\ );Uu< (aq;M N; @GQY`^Z2Qe0JQUV%ReEͪ$1=+ "Nљ,Ib ˰V§B )JT2`8b \pP+,P.0@A`)BZ ABf"b4h@38E"N1CJd@LR)A `rpLׇy^y=^XPDƑW F0j:  tb'(Y(1 ;SQSlLtK!^`{NO0Lr=cBq8Į~G B5E &hݾCshUA"0aу>F41mb~#1 0ZGZ0F-9F31(B?`vDIS;zӎ@0i#j'Q DQCEY9,5V' l"5k,"X)^IeE Q2@ ꕫ Dts (*"$IA@,!YLC(-)%HHɂH @@ 0X ,8fH$ 00 dJ)ffZ!0 ,@ )\ $IJq\$Ŏr#?#1Z.wDvȬ$$#ƄWRU.DQ"|x&eQ֒R@UuETS<.ށ9X$J p(a B@22} I!1D4p.дĦi-a +KP4#/BTMAq`k?Fԝ0CkCB)!A :DC &~ `A)# c m&.8AGDZZ#8hw6tD$" >Œ1?EdL#wrxo.Ey Y%L` eVi>BZ*3v rX(jʓ,3 cfIb (SR"."bp .fB14ÓIB4WHBJ!$ X0KA !E ,AX( L!BhbQVEjcC$@@0P ccQ5LCMUA@4N JB0 PxCt8&;0B:[@ zP1 @NF1 FFmQabBuCm#t CGNuCfhCk!f4#`D !E͈}Qk}-1CACDC l 9E:[~7",)yeJKM@ YK[II-DM;ȸʊ ʲfP%X2I"XJ,"i ._r%Da`B( sy| BAD RAR2,`1B@  "*"AS,PB!#5a\@,;1P~2d&Lj%a0N4BDx@@p0DGL>]kxPэj`QwL  qD]h֍0?D@wML 0Mڪ[E4!M@0"ѡ5Ѻ#cGCC(4 thO-Cki1 ~F:ϭI3"ȬnMbߠ("[2 0SYE(ʢz=HUcj !˄I"*+2 >C) ,HDDDYPH$OyV@|%rB.8n12ZK "B mEam8Dw0Fh4QiB@`>4d;W9 #)??oRpTgQCb]EzX)"CPD=d(dYQ(3.q2,$rg .JDD@D`HH @2 @ D b!E dQX(fZ d)$@`D,H 4ALTHAŴ3-ijEHf>q=6E0I$1Cg${:&d9(HK;RaXPLzcES1Fvi=i}3R&"@1EGaj6FF1 !~/c~0aBJ CA@ Ad@J)~d@J)~wUY j 0\%+ 5IdQVքae5TDB$ !YY]UYEYbSg "1KK, 8BBXJA%`rYO(B2  H!$K"B23$$$1X2 L$ńB&@@7aq̪bk8LLL5m G ED1 5ʼnufCbvXlG) 2dHȡ@DIb) $%q 0`M!bDg!JH  €PP,ED("BhJ(R  %aef0m1msH Ƒc2ẏ\3G\LG ȁEYa Ehq F B @ 5z#8uzo&(ɐIǐ\\`􉺃 CAPFcbL1M zSZGhL#vGEF<^ d B_kB4ctԃr`D uqob1@3 FaB?͈}"tFg0@0՚$ U~Q)K^ClA]zj"wxByeB6i#xMBf@W bT}:1-0QhF -F0Y4mĈAD$;Fs_tkM@c0%IwC Ulxej0P*@(HJTBYQ֒ ȐdWgef0t1]TTTVg rN$II4S((%`J!* )I(XJ`f/(*&$  P" G0,@Af0XH0PB-F !`> A  GG74FELȐa \<3*j #42!qqFP4;Act@lt)Ht:c"6 x` +\\1H tiZ3A(`8t!GnaMb3"+v4]A0F`5Z"}ȹښfQK9M"""x P]V$ DTA@dZJ*+@C{3f!ʨ(#@bI,dI$&BP &*"!'KD$!p\*.$L fZ!.!1S 4%J,d„@@(i,XJHH 1Y ) $R! k&0@^x&Zg:8 q bC,HAAD9‹!`N4jB64:8AE L&aÇ}MZtt @O\p1#:1#>B -8"`t!jF6C7P!bh# j1!j@1Ebn44~72,R4_炁 BH pYp8`y,O2`b1` LJ(J3B(%R4EEE fL` 8a)% O92C \Z3Lh-?ĈݦsQP .q0x#9G@P1-bgk[h&!z\){@`  \4$ЅzW 8hH𠆄"S֡;"E!$@$',A#4{A1G7-! ߘh - ! C `Λ 25Ä0Z"~Rrּ#tA#5A0zo@V2AK(k @XP;ʊReE8++ f YC&2]:dU$#  0*aQ'PTB"e@).XPBZPLR>W\JJQ",$ 04!B00iq!S"| PDaf&^ԢjJBOQ`%Aa4&D':01D- @23!C!|41L>(84 @t vA@N'"Qg0~Z7D>H$: K > ^QDC? Bdc2>-҇>0]A?+!`XtQl"6 86& CbMu0ؘt'O.5)BVE(DQPR5TTәPEe ((UQPK&`:LeCT$D RH f , K8|J XP4 ` "$A A A@%AQ  B $ &R0 d@B0ǧ#W^*#&>84\@'c  c PTT00Uq#L 32y]s<L(LbUaAGacG 8b$0\0a"v~?.Ct&B Q4L['L 8<C8)hb~0AFh?1m ND BA\ ML>bF7@DD2s=;塕B~K" Jy@* 22 @dUu @%QiNpP<E,k,+pXQ%IRe K dJe 2%B0O % J"BZH0,(h1ZD`03iⴸ%BQQ"`ɒI0`!8!"4 v1ɇ+5+W渀0XU@'ut ]>"3xOCa\ #Z&tt6F P +D#J=LVSADgQSPőUAlAЄab ј`ccִZB3F&A4"uL10hcD#NFQ7EPs!-qA!&BlyHK|o@D !ȳRFQ 4 (J ( "*@ب35Lhr Qd"Y!JD(1f&`J\L .΀!.<+ YP`B ryp!$0a %]޸N"2 ]:8 M](i 1ay$␁ɕG&G#g16b #Ah-E&`SGW$?bqQM $:qb^\ĉwczo !H/5*"e֒A,EueYȲ@eFՊ"BFYD."I$!2]d-@0âFcN ^紷)*( -b~@n].Zb-ִ! v$+v v$+v }.;HYF (%@ @EEYCUBe*J%p eVil5cy%$3 *""H$K. a(#(Cc!h0DBaX+dp'pCAABQMHb<rh)q1B fP,@f0@385E#Au oBq f.>m wg(!DM4ڈ@!:F@@E-t:Pq=0&0G@h=k / 00R}H\k11Z*a DP1MNMbZL zdE!I&W^7z MM78F_Z@#0"m!Ghi4@EcBxxoBh0A pZ[ "]}Кc  04qb3h"A#f0ީ &0"A$!-ʌm0Yi8_[`(3g|o@QQW *A J~s^֘ "DYSJY*e {bb38TKID px"L, 91!sY<\%(0!B(%$1!<e)SrAYC IJ!(0%` @ &Ѣ00B +Cfs<^ qx 10-П@EELGbk#  0;hAFOC Ŵ8a&h t18DBLGESUFa`+ȁ*"Qc21!@#~ZmN}B abqnB1t40eQh! }}Q%+ىB?X#%a2R4^):*3jQDfU$pYc|9s|EM D.C) !c@ ̼^ Gdo" 1EdKw}\EC4NDup'B0D!Ď1'":u<^s#ha0M}&%ToqBԚ.=c:F  :4B cLc MpfGiMpfGi{#)Ր B'/@ &RQV!, 0G35D&&:+td4`$I"d I1QQDHQp 8EE( 0@XTfQB1`iC YJA L,% b"QqJ(FA@1(q@D crPH  &DQ1 o6j((16Ak}AD( TgQ1MЏHiBU@P$q J ua5Lך1FCnEЇ: A"' ޘ00b7F8-h!C$CaDu[M0BkFhCZ+>#n1Ɔ @30@^v@ Fc74t3P M77ȊfVC@(A<"Bi+IE0Qfu_@U0JU$Yd@H`HA&DEEEĈ(Rq P yZL  4!Y`B'""JR@R$ 0@)(a|a`0 JDR `LPD SWTEA@ xwdUPЄ8#41[{P `ӋCq`PA ]Fw<0Àupc ` BauAA4bWo8GчU  bW1Fh݁`@A)FG.JL "!0u`6G 4>TcMSzsN9X14ew`iW@d@QfmN(*.DFՙV`YUl4\$LBDDD EiQZ\\LY Q1rX,,)KǂTD0BQiEB0MD)H) f0D̐,4 Q!3 `f! q 3@a 330BZH3 0aB 413 +W^3I`BGڈH\zh@SOG`J.^v醉Z(qRzPC1B (b?]  ] =DF"N& C$B)]D4oQ8Zt[CN:a 5 FІ0Mx#ľF>f1)17f1)1DP겊AY,*XQQK& Ȫ*8]WG 0$HPH|V@8X(Xb +d0 |PpK)(3a!$0@РDY @@\@3$IL1!B )"B\d Y @ B\84uȕ"M!h&tL0Q:8f(H{o3Ł~GȐDXt7ăP "Gbd c S9$ ш fB@ZQ{  T~h:~Dƈ#:)zO0Fӏ"m-th&DhFBH> L.aoH]ڥ'&ށ83K<""2ɨ*Qf`gQQ)А5 2 $8$f@Y\SDHDDMq4`@B!`0EhB bL DD N QciQ@\@@QA@AbqBAx}u I"1 @ATM 7PQT pΑcAф E #"oud$53!C&="S= bEla<#tKGch1 KLj0 8-`]$C< i"08蠉0Qd.~!!XN A Bh]1hbC ڄ6Ѝ#D-00h1tL2t(hA^iu&SZ4:.Ρ(DFeeP"2ɨfEH5,f0  x 8(I$L,d`)AT &@HBRd 0BABQE,EEL ! R $L3LR3X1„LS%4 B@ 0bD| 0OCGbD00,ްW@pP7.i|7M5մ &fs )b!uEL`(1 (yC`ibNx]z`4+LJ@"( 1莁#sz10:&Gd6ZBlBBݾA1 F bàCb׈qF Dh:D 1M&}[Ø&F d2#R /!* 6$Ԙ`NP"#(̬5Ԑ2rH **$1(YP SP̴PDD@C@YVHBrY!@A$$@BH "1)&$A HfXBa`"A !$%Jh66>}!áUQPPJ ç< FVCT-j *(*joG@t"B="9ty 0 ǑՁF #zB #!0B_3<DoBk!D1jځ4ӝq]$8n?4FÄB7ZG\F8]C C.#vfGMàE ޖ8+kKft ʢTP Ȁy@* NJ";zY3(L % B 8h1D>x籬 @H !@8`E3@%I@$&,J) "IDA`&E(Q! @H!" 8^3W5k&3PLup(8 ʨFDjoU0+Oא 2a r1:r 0!`B q чE(hM. OiuqġC3\~@0:苣MP#Z Z7 u!#68Fh@8`D ^$6!&3Ұ= gM~ 4l~o QP B *sd% *@\Q53̞XXB p|p4@ dQ"p e8\!4a0b80@ R BB.()@   ,Pa@@f0 BAB H\5>y>|1~kFlp  0 |:N8nCDLsd#*D #x2 $!0:> #0v1t!61 D C[Sed $kF 4-xJq1hx)t"@ 1&Z0"t !!BjD|'BjD|'ڿCZjE<U@j"@5KBV BXF&@'X$ ( (Q"*.B $$IRYJɒL Ydb`8|J R@% r\BCfB&  eQ10 0@Bfj8n@,JO1$W@ŰuC 0!/CBy +^ aNFxP" & Α'bu\b0bW\4BG 4=c2: UxB ḎBl8!ȞP!v􃎨cĮ~hqB 苣.:0&tC0' c10bؠi4 >7 ȼӲ77 ȼӲ2JHYds2((@* 8Bd.JETXY0"1!L$ J9|V'BBC1K3D "@(!(@ ,b&    )!aB(`fIK& XIbɐhZ@( p\Oue bэu >>`A? j(jk  8.p$CO"p |6 bGlZt"AFkFMLv;#o4cdO `Exz+ Ʈ5>Ft ؍01>] A( C E@W5 Y7%` tȲ^̐6 @2p2DQc"5VJ@*; ( *CT@ 1pLn% 1!  I-BB(#`A``d`"ZT`0XA3 `bAĒ@B2̄"4B`! 0(0 *N6jbXDL+N8E`xA&a`&8:aZlTTQ45QtULD U1(9t(jcqE;'(w Hxa"˜p9dD(t@Gă1c\aN!JxLG&`DE56th Qh#8<#\+jZh-h&&&Q -v;LL#: qDDAr?%b s dMYRV5Dp kb8jaȊ @ QKf5 L)%!Py( UEV@b$ D,% )%",`Q!3I)@@LD, L $@$$CJb&0IJI$0d)P *FDbh `& 0`)$B:2q=`0SLP@b5 [;m` ;]l7UDEu}!#HqCD1MQ xXh#5ͧ0HM hq"LnbW~Z 6$bXt"<1zFQWׄcw :"u BNB 641cW@C:šm ]M$-lGڒL߳a~@QUVV(3ϑQYpEU%˪VYdL@HTC`:V5i ##kL X̉ztI,I$ DR`K,!3HH`R`0 a" 4aa,@ŘXT  &f$ B0(BB!40{TC-MG!Cf>DN8 " ((TUA4mmmlĄFFlLr]q 1֨Őzo\@`>0Os!Fmb4MGFA4 GkB&Flc胨a đ 3k$Ď0:4}q0bC0u #F#qR0PaD0AFG0"m0"16a"vEyؾkLaG[w{CF" +Y d$eeJU@s%VJRYT&YF,< p АII,I$ d&HDR*(--RQ1!!A(11f A.2RD@B@D ,K`) h-&*P4b @.\`s@W 3L 0q|*:ni # br TbYL( L*ZLu`(6&.x h&b}FA'`Ē1Ͱ"+ߜK4BQloTQ#AؓR $ZҠduX%DE 5T5vHj@C%Hd-5#tX$%| c)/Mbb Q1Qr8 O r(9B"10I!dX>!4XT , `DL\S(Lh!  !BY &e6MDEQ! yUՙXRdVEH@*(j,j ְGdb.x˰!*"B8MA `8ఔp(P&`",@ ˰r9!@R*RBy%%̠PЄ H2$I0`ĐD%` 45s1ׇ0^!#0`AtTh  0BÐŧ1!2x3=pH-0&88>@attc于$h~haP hOq>> LQ T(v@a!D]nl4q@!aI"!t} bG3DtD ӭ.tU}!tkKUDo"J< @@EVWf3j6 @AT*hu*Di6P%I2$J< åP\TD!.BhB(GBLF@r, I)D LQDHY2K!% !&B11E@`bK)J)K0E(! Ĉ8- (B( BBBPjհ=VQAM<|z$`^z]@@[`)ǧ+`0!ĩ'& .S0l3,u2R "@)h (Jk>DqGQ˜-0xxj qyث#CL`" CkZl#6D DBFۚغ#D!"6DDCqBk :B-LjC@0^i̟r%+Sr4 gOQ '$/sVP>fw^ta9(˪*(V''I$`BVPehJHJ\D)R!_Y> 0XBF0X((1Z,p@0E("$bb4( AH)A r C)K)@AL3X0QB2̑|9$Lf |`r= M5V;,c"ZyDZja3<(>T $̀Fuu<!40Ŋb؇$@ 1;Ќt9BkB15}H4Z )kxf`0&F3clZ8ZGЂnb'LDCQkA4 F n# tuР#5ՎrPF迬GA,-/ʬYB Ip.Ȳf ALYQU a R)VT"'p `$I"&D$LBH9\G¡  Ba9aQJb"BA0H0D b,*"N(1QB1L1E Ę!CPP  f %*N B! Aj; a:>} 0\pk@C ;UDQUX-t'kTPPAU0: z"5F$i؛* a%z8}!0CQDT# pc@Hp:7NB( MoNAGat  6`b( F&(Qk~b_w4cЄ@W;n7 0`w,~KFw,~KFwYRUFxZ L!* Q*I L2<^9 80Qm@9#O bu<&CbcA "7 Xpd 1>:La(@>ZAl/z].Pu1Ќ\GQ !'z@L3FlF6ttGBW0ц1tcf6= #!&Fh#8#8D 9~ 9~w̢& Jp@*B L"DT'vX. p4#F$V$`HIBH!$1D)XBR8+HD1$|KB>0,M(Qq&bbBQcYO! 4 "A& Ba P!\J)r!.8&TPuOt!@3p̋bq*!&8#xjtOA@TM{#UBt.`q/FPsH="t1rC 33d` @# RT&[YDuVRƊI$  YTHD8Z`@p((!B)JHA 'EdD !Y Bh0`|>O)@,@`LR ą )CJB.@A ,"FhZL9x=01ankOaH2p FFAf.ra0u\Tge@DTD@h L3P d0X ) $%A`0 B!%8|Vȇ#DAJ ID3A2% \8&S5z0A0PTEH :=o|NUU0acd+4/*f$Gat1a`b.M3::"#1:FGGH9 h1NbFb@:ChpBcݡu~0}MhM2!Ќ. @# ma0 hhĈ 5`XI4 Ff^ 'LQ@ӇG@ Qlc"4Ɓثj G >"1SWkMוO#$ch̋!F&@ !NІabF7xaL4aB0!:<'a\.bB0hMM0 6:&81bG0׹ AGF_CGC-M F-@c0h5mB/)j `ۄށCe%H4@VIdeUuQ  FLf:#*)ꪬNDf3 I2IBQ'"b,$ !|) >Wp "X`BbP̔/(H \C(P E``BBH$E)0XT(`Z\ @$$@ d-hq"`1:!çq&hP8 M`DU !]Fरa\n? yOo"¥ u7N@\j+*v~ 0ׄءZ0:^Gqq`( btġGG AA֏b1hc6F@ D O@рhmڠG7bEl~"/o fyS轁$#7/522`W*+ B=BQFu C+2)nJL$$B>8hJ FMt^1T( ":԰ jlB7!vLc2xbb "(І6HLoc8D1D:hZ`NB݉` EuN31n &(ha"6苭@AdF$F :&ba#6q`@>Ԓ,֔d$t߀*"L6 @M*C@J Q |& 59Pd Y#~*U.b{LĒ@B%  )řCp !d"DDǕQ)  A $!3!%D M3! YK B0' 󉋃<55$wTT;QJ"S0`Cr\Ow:#`pzG:y=O`&~hoUA :ry49r13X \:ԠC!haD#D  , Fˆ 10!&)&LL!SoAb'bǘ0;#2Z0@`[%bF`ǀ 'ӌ9o a1BE3e @UupN T(*pYVVJ 5o!29"WIH,a>\C,bc1QB@Yˀ T Ib, HX 0JL@ i!B!_(TT!  &*.. &qp=>z1, jŁiJW7)(ē+0F @PE{1>1! @!ua041+* H0If^ɧ\& y$1Rz#h!v(E[_ DăQG^Alt 趡k0$ 860\axiZ xPL1~#!ѩs(4BttA a0D "łҒ]H~c'xqP,(-م7|(BrY+d,jfP"O@f AIjHEFU+U ȪX&I&$J0`4DDADĸI XJ RfpyDJ("#f"%` $X`" A A & 0I$L ! R` ! 0\5yW?@^ @HǼ]&>D Ѝm7a,XA @P$1>\k qM#\:P OGyxEtF et:M[Ժ&B)B]s953\I@G$B:ADhF?Ќڈf~6Ah4#Dh}FnFFD"}pzmM a-BXgIwC2k*QbP` j!$B̬T^)RuQ]( E`WY)H:3j0=a]̒L&f0,%bj@$`KyTp@H%dXP.8\A0D` !BBH0BBBJ!$ 0c Dv8!' ( u  s,(0< 8~l#[! jo c@>2qPD ,^嵐D>$@0=E3@0!д`&oB?C =1 A8CblZkLbh@E\anGhCDhb\.rAS9iߖEBX?Hq*'(RUeEed2*j%\(P+'2*2*@@TKYcY&@NY,V1Q*IL@ f""&f0 )ఔ bB#"p!@ HI,Ypx| KAAP&H1R0AL`!̀C{1L[Ul90Ӑ#GxL!Ç .D _"@ -؉ B& F a9D@PPGqf#tL^u͠b 0mLĦ0pkAn:4B;`"Y #2 ZG41#F &Zc Q\Ԃ c ! ]0# 0Z>8Յ$.ǰ@ƒxKcXl} A H+Dek]0he>YPȪ2 9N2%DȂ/ |! DDbD@ "N pD$9\pEBf0>2T iдDf&,0% aQ0! B`ff!E1p6Z0 CtxjChZPu̡!@1p\zx0P$^HF>Ѣa/n~w ( (:nGc  ީ' %0P'4h1 C&Z{}$5ސȆ e=L=ѻ^5M@ D'ψ"F@!]PHu&&F3h".$0Chz,^rEz@x7TCE"^9@iʨt!d fv+O2@P$$I@,IHQ)JTTL1PB%\"DTiZ `\Cs\Pq|P0`EӴ%1PP.KA CAC($B&j؛" &UҐ~h#!`1Ձb 0k >t93{` jQCq-zuR @"ա Na`0'P fGKxbBtNa:P#aB"ŎD]ƂZhZD$ASk1# BhQ0Z#v8 chZ6aa1@l"#64R96#f 7 $rmF<8*@ɾ2r|@H 2T]pfSX@:H3`9’, a)ÁPPLTHE@ B/.MA%"@(K(RP ,D L ``Є"͔Q++SB@)X\Lbq¢ $E>^/8f03IRP ސyCy00s!&,4O(( hXq"`*(8TAh%:,4#;}(M  I cш]0Z! ! h⠣ bZs16C#&1aD!ZǘL1hbkcyЈay h4Z3A#1L4eIprty냲$8]<ÊfQ)]/QUN d2a EUV' qg(#3Lp>nf LbD R +r """b K(,|>b&!YPJDdV!,yBR*,If"b3A@h1cfAB@ 03S)D 43@D( 9BxFPP[{@ `f.fb`AWk..=4B p3 3ǥ{##Cj  1~lA7 ƑS89jfxф+`8=cd`.xa舣5D0:41BӐ!tCQlD 1BCA!v&D^vT1\ZǴˎ*B_" J"՘@5(s%)fP@a\ dV0%2BPdxIVM$IʀK8 g@(.""ʄKHR2B3 )0r  $$I"`$IJ H)X $ X0q00DUT ^,Vbu8 "qctucNX0Tg1F6 8>50(tx!u``i4.2}ߺPo.qآ b88B@@a0!bnb&Bnآ1D c16b Z4Ѡ+cD-aFhq A~'B }RmJgH J|"'զUL!9$*EQ J(HB@Eee dFF!#*JeUHi Sl" %8$% <C"E@X `RH ƇȧO鈸 Lu !&d&Ë:@bbpEPElEM;q$"#f@wG|kȡEE"vAa4AGDƄ61 Gf\xFAhA(&b4!ā5&1$ALB!Iqa- '`Т~HR\tW +ŀoʫ"YRU @uJ5%2Ut 5 ր9~QtI,,F8i".*.""1D (˥8e h3B Bi 9@%BF   YB9\ ` B &A(Rbb"DDh&BA!ED) > ^@$~7#! pL !# 8 O;F%:@@wE@2!  -t<0hmC# 16A(zFCC0kxc-C ;mu$p&3Z #K MBBb#L NuC3&&BW_bh-臆 &>8q9bC}eڰ;8q9bC}eڰ{LeU20^(*KlW@"3R EPzXL8z,$@!DhQRʲ/sYJ E` K)$ I&"H!dPE 0@BB!MX"<^scb&Q&"DAJ| @'UrqH߰O$㎑пaaxeD99ZVdd@YȲn0#KfH>a(%  ʼnb!e92D 3D!.(0BB@DRHb! IDY0QQg!@1B0B x1D" 2 AS1bqdˈv`-v&:B c3^뉡Z PS4!#S'hzUNE*` BP&Ѻ0NP@0z'|(`E&tG!E(bq0h~ TOB1;m;B$~# ! $à %0 DM1& "! 2 ~1:6ЧkYR@)z7YYCYĘ2JUaȢJ@8D"+j$4@T>`V"'0yP*+!(J'09$$@Jff JT\HSBB)aE` WJ(Hx|8fB#f .3# ӄC'y!!((q !jY*D&`BC>> $P:9f:UC I "&[CkED1F3:)\>Ec0B5MƁ%MW;8F L$DMG#x fxO>BlqZN# h}]ZbGb bC76F4B@ ̸%0o\3" L@s;6<_@V@el *(!kuEX)" DU౉׀)M)&f1Ky=^arp@H>]T{Պ u[G 0P AcH0B^g ?J<5l FppL>EW3FhMMgL<N:Bk`0:F101rO C}պ݉mH~`.fj%:֌Y!c`\P0^BaH)kHB!)v\ȪJeTԠKH |G OeB@A(`p8,2BK  R0  #f&)$bA`!B )IJ&fI0̔`A "  `lL)b- UpTAAQA:b( 0`PLTU&Q-*ځTQQUHt&rDPCPU lb1T;$448#[4LD 0xA=10[4 0 )&:> W`(SGjaZq#>Q0ch %AQ蛈Zmh- >qD&FkDh #A̚Dtbv̚DtbvB͑RՑ$s#0he&8A(" HJ*B?tP9aIL$P岸PaQQ` ˰B\>aL8%&aaC @B1D(0BB2\ >" 3R@DM!0!!d`>OӧE. b/L ɕe`19xa"h4ba~ U5MġBd aډաDA]F/ء;tAuDbhpF1!ւCAMh}DotSڛ "xtZddtĆ!ѻ0Ї0Gl#@n !@HB;Z-thߺC@>$& ~R~{sOib'wAuUQC͔/eDHN` NL5("YTVV'pD Qcey CFu& +H$1I ! 0Jy|Â)B&,FAL,$X>B% bB LD$ ̠ AR!Y f1  H@0$&,*P[U,X tδŁX1PSXP 0o @s|b v .p 1԰G @ L8f^!A΄b`s] 9.f똨* * NG2 }B} uJh1ȥRl~XtP#J}oA)RaCK:k 8&DbrV (J5*րAEL {!($LgIb@òBBe9C 4  "D@(Ja&PDDb0 &-.d!# @B!34XD4C@ X I`Т%NH$`bPD@`P(J3q1׃c00F&b\{N8$ޢ# >\]tЍ` dw  4B?m1 PV k N ffL&B 10  |kiha`B:F!# '\Ї 1h@~ׄNrdv,_Y?-^]:ɑٱ~ea@x}7""CLdKE ej(imU5@"SEͪP$"*%„3d̒d$$BDEEDh" CCX'BG@$ ,@X#`Q& 0$JPCX၈ Af ``H! Sl:3p'k4Tiw30 bcV;LA'b5B VVǻm-Pu1P11⸴ا}Ȑ:oEF@0(w÷c4aSh(DP}&фus!|q8!-$3A$ Xp((@Y I$!A`RJI$$I `H&)D4E1B BBSBДx<ةf |:z\3 a@PU޴330b*F!+#Clll8 7&!6a"„0 mET@bw@!0h]QG0Hcg `@hiB`;Z!HzO HBJ!nDODqA$& :Z(h@$vJ~eZ6&)-U+FR / kRRUNDQV@]y%`pdBRcR$TVG˜+]LH f,$((qBr p|CA-B   0 DB  B D(BVH (0!M,AX,I H0 Rb" -0 u' 3PC!,@3`A @ud*)`  .=U{E#1ƒ8=BO3Zz 'zGc4DG 1(j I&!iny׺MڈcL b #ŨE#.5 ` a6D&c"G  0h>ĎQCBwnl- gX "TWF^BXCQn2j`AY'2DȢȌM` IETc!$I !AL HA D((83pYpYJ`$`0( (.P\!D)`$ %D`BJL ) `A@B!x\.4- B@ " RbS P UxPAf㓑x=`o`* *b<*C*P BᝆPk>$IN(#6-xb( `t\A"-`p0tB U1+/20!CJ2+f3…@Gtbb#Ѝ# &:Z3hEqAք"@d%"5|X% K"ALLD0$$ 4bJDT@0|x}:`Ċi:n#  U b @d ZBlȡU!@Wk[QQ xa @u1MWTɐa3kt[$҅ "6 I5Qhc0 kC3t @MEG\bi0p 4f16aѢѧRc!hhbh1~h Ml0ަ@P%B0'DQ0KD H  !4!".I ""1B B $bR@J!YJ0B&"MSW;"\zafA1M^t$c"SBB B*Vu!dDxw0[`0!`Ġ;1!G9x $3X 8F M@DGahMa""&ZhD{Q >d&~c2 f Wx;ϗ58 Ue(kNV YVPlbΕL yD 2™$DDTb(! >b0 & x,| Re)X0$)B,BAТbf! &,)a BR`CL1E,v6ZTTD@1> H>EјЂ ÇcM> 2LQ0^G qu A8f+'$<#VUКLXc˜BCA mb:BGh<0Ct5\ (FFk#6QhCDt !@a"aL 8b7`utth&.E0& CƤQv8?1@O)}o$B@Wd EEuZʨ0 gTʲ,iv,jṈI$Ip(eY>, ,GRDiZ"\ KXH0&,y|< .˂XYH!CL,@bB@ `& L@qS,0 &@ E X,X ;E T أ![@!2a0qzȕA`0@25ǧ76Bqc-~qBo\!]0 RO#00 i@hb@߄ ւ@x\ff AlDŽ.Cl ! @30@0 B u[~&L0H~E1_|gKH!\X w2*DT)1ZIFuI]9)*"k s6_(lf~+,I @YJKRdIb| WAA$1 "\p S4S ,B(L@h)P P3  ZFհWӑ8!dqPLUUš0̕p L . *j8aD+R$#:2m0DP#Bh20h* #'1:F&^-ХOÇc`< % .Z:FJ֝ aq@a " ΐ0&B[ b(@I1Z`A$Pg4bW_d"F7`ЌbLhqb"F"D~ =[I Az><$GDQU9DВI9Y9 (eT[q# *ʪ"CaQ23DD@BQZT\!@3QD f &c.S!P@Z@SD9`&Hf! Xh!3 ><ʥ\R!hZ@RD@:& [ӡ82Jx9Z,^GWXu#}R(j{wy8ItCHDE,j>FQ@lmp`mQatz;#ŠeNFDqy N A_q"%8# cڈPP"#D0'|Ӡ&Z!hѡO5ćشh` ^f&B@,T$@d"d%%vEΑy ȈꁈTQR&pn%eEEe1!'EQYU`YH )J"BQ18`E(fp`! @@ XHp9bB  ̠ ( A1! !Y 0IC2Id"f  bA I`H Cԡ1 vx.p̱ $#Jp=aWrk^NF9/Ԃ:O:b#AALLδhh#F7 3Gk&0FmEcDm40phxWhÄѧZ뷉G  B"0}#6&Z 1tMh SbCu@t81cьFڠKE~VA5B`K6{VA5B`K6{a ԤJ`eeQ]$gUpd Rq+YcEQXY]dII,I JRLh"BѠ A !Eą+`XrB |!`9<ʡB\ )B\PQ@H(@Bd 8H>}x=uԡ *"@PXT0bujBJ#1'pd1 E"` t]x4&RXN1É)@ȀRFx y1fD,zq q11m10FQ[Z7uL ;b+ht6Fc #!1:CWc!0]L4Mq0 F@~dbޙAl::2Z{VJWd #"If 5aW̨TYUU@$Q2ID0 iQ@DD@Bq!D%HH8 34 !OQ I @JLM X`$$I@a""y +"Ј#q"t(`6؋f L@`icX1;NjAq舣x=qD;a* *) 4ԑW[Q$1B0t40HGGZ31F@&B 3,a„c"vZZlA QQG#cL bjZ4~.t12rE_7Jh5X'eU(TBU6EP2(fPLdYf-e" DCĒD0DDRDbM8T 0"4ELXa9T 13H @RBL@(F (LBJ,K&K&ih0ĂY2B@2W3F@@PL;Hȕ"i*N-8NNxO,F4" '% BBHB.@|jBE#إiB)0.'B7, ĈFhh@u@!`}!]j &8Bb!46!~AJ 3߳$RZ@QQJ!x D5D *JU ЭQC%R*ZL M% #e$,f`Wl82@AgXr)JL\DÃP(qY0@ 0iPʧ| X "Bd!`LD̒`qJ Lh!@ȄE(!c|r(.e0ESLXT""ډbË;!4aPD6, !\:nqhE :`b84EQDtĠaT(A|hFWFWkC_P `'ԃP 0QB0@ bA?b4N Pti %1A m 4"e3sq ݋8HkDY" @u!?JB*x5T Jh#Ee EufS+%r#Be @80GÑaDd Jɐ``!DT\ P(J` $4@`QQ".21M^P8r5\>\W^+5\ۍà1"> +ETgw0:Eo (b"CLG[hZa<##qd`M$DVADW =ÄtcMLAJe|6`hmb[A# w10BA!ht4#6 Lb!D-t4!0ath '|"ף ޟ4FH@_&xMCTʨ @\R }3@QYU "(QQȠ".GV$H DA BJH&D&2 @ JB(]3 <5G;؟11b:M&Z@M:&,X0010CG1 -F$(h#`h>EBaPX$\y IUCa|7YTʢTM "@)ˊB"ˢ抪+2dQcV(P vѝ$$I $AL )11 "b e.˰, Da\ " @ !% L`LQDT(".1!zC@G$MhA.>"jXDTOh#bi!HlTQU ӂ=F]0.&BY@D@ЅR3t-z4|N+!.FxCFh.fX@BA0G^ m"a- ]]mhBPpH Ħb7A3h5NE @vd`!Ŧ~XиߎL"t+ YUDbxeY)' jBBEf (*+j@.Y2 pDEk@ Q@)H"I3 i4"b e\IiQi.a`$ ` <I 0@@`Dr)@)!Rbb aC9,)@ BHb@(BB B1B4r5+|xQACq3ݎ5.1L,keC|7$Y,W*e$ЀPYT՘3Y:%]dq)D5V,ȀV.@}$%I$ 0 `! )q (ÈȈ3\B( B , OBH&D$)0$,0L)-B EB2D!``0I!`$bBZ@d>5üȐuAމFx`h : C&;FDŽHzO\:0ɼ&EC#H8:BwЌ0B0Bbh4sK"D0hEpr[0B_~nn5}E/H*k ʑLX @sfQ:շ.`،H$I #$Y>! P.TL@ bPBdWJLH9,XG90DDP`04MbL(RHDLDP8%NQlgq̡116)+9.f8^3 !&Qp0n b:IL!y|k a0NI#BR\;bSPA1I 3 mtc6#LqLC(@t8bGG HNPBhĆ6b)&L i9f5q@~Ј b3~laD#vFhAktD- @T<aD>|S9!E:-ߔx,KZ/UEe&O@hP]+r@eVT0eYCeQ* X9: 8۬  .$#0!4%1LMQ.(e<.*Pq!f0aX>e, \B J":J 0DŽ$uq}cDB8a'"BhFh1B3@4hcO?]1;1F$0#ҢFTY/ӈ*c;KHQ"BȪ(1 ,z2!p*`sVHYT'%IL `P LI!%3M-` Bh," & !'bDD4a(M̧ .8C0IӐLx!z<:Cc("ao+1 ;b q2FPEDQFjt 2#Ÿ ʄ #(-Bla""(101OHfq 0CtHQlAI AhF3-nc hZ 2!jĚNl }cM5!ƚ&m+%)*+,`Je-eY Y@IRg H! UגC7I& E,"JD!MhRJ)CŤRI% ( b.ˡ'ǀ%$HH)%B ,eBf 1B@>kx}at:\ b D @g3v1PUUt8)\N=`Y=Ad#p1q`fFN0V8f=!0 z bPT"8'@΀舁 :Hm5:Bu菦i}PQm0 0s>! NPpG&k`F7 >hhZhCk1a"2!a@h@DA6U#aD`>S " #jp%zeR|0& @FJeuA +Lȥ״ SqN&Ib E@ĄB @  Å8"B"-e(  B&"ILD,Ph ASXAA3C (8%4 ^yWk5d "*8 *`bjZaB :FSC-FTA^сa( "&8GE,Z,t8A > d03<ĥ ZhFk0uzA#z10pZ`3$9^B};t)h&t&`FbC-4- 6~&Fm!2b1P8P#&2"T\v#>oRariw7P5(UgTBf+\R @Ue$p+U֐瀔!* nMFCML 0$1`! X P(@i CeYPJT " !Eh`1ĉ3`3RB0$h1"8 " $A )!- "b 0!aa悉#I%d^q詓$SEՂ:fUWD$b`c k):0@Ĩ b,£Џ'D" #] 5=䤑Lk20dN@`кn->-M#ҧ@GFmO?[7qb v!1Dm~$aY3c w6t1,k&v Ά2kF̂ U2X]0+)լL΁LH;dD+Q@7I2 X I,f) LRAHHx\f)X00 fPd@03ABK@XP`0D@a0!`0333%4Eh" 0DL\\(i0\9 k`ؚ Ŵ911 #@:=u"ֈoan#u2t:䐑pu#Nh0i^gApcaB A-@: 8r!333!2.DxCJ FD!v0: Hvh#NaLD!:c55 >$c&Jl'psORk0f}R {QURʨDb:SQU %ĀqC+md, I$BJb@@L3 43 aR,&"LbQ0 R@  ,.YmM[ð:aq6VNMP;"pDsf1xHp`hFz= GXbd.t vPE{"c\"44 #1ü&F0aBO < C t=Clb`Ĵ:4M8؍*H ӡNO'. N|G C1F iCwzb}0iSQ BFQt;bJ޹n:)yoHIE#릓w M)@QCe2%0+2<LN23jhlqpRdM%aPHM$ B,"E@DAQL!Q%BXR0C 1B(b,I )$$10ZT( h" XH,0hq!- 8- `LBI0D RHq]ydkb/`8ph`8#9qTgAOt2p| - C`ABc h! 8 aЏDP=`!$qr:*"0 5-v[G4AH.BPÄ6ޑ1 ci]bh&F[DmDcBBi#v0[k"D4޶Ĥ1+۶Ĥ1+{JEQ\A@3 s0[TT'PEeYUJJEQcpH5Kqcm7, qJK"X$0|$#' (傀 $"f&H$J )Q@L( BiB03!D%$ !H $fE @0@bLeQqذ:Z-[`/8@98>̑y\a"5B @^g h!к 4p 3q Z& (ЈhćDCBGh#4pB(qh"u2HLxtD.q\E2s=x,Xoa4!tD_D #tq`@1h S0ChD@>T0bo]NsNE;0> #6֕{B(26x JʨY+ QY* 3+("ŭ@H*Jܹ QH. f2I,BHH!YBYP>%Ta )ABJL@SD9 BRLD( D`B bf@Jff L@B10! 43:B L;@EPM:hF0FP2kf #h&@r9^>$q0s 05\E{L&~.aNG:30 bk -hЌ` akcD"NCDd0\Z'ap a !LDC@ tD͈0A#vtcLtiZ  BUrmXҦ<=}Knh6] #2kf癐Qf&e@dEfNɲLPjVԲbg@J*EV``8*"Sx{ $D R2$$A|x" XD`Pf̒AfDBJQE ABHb)`aBZT@L@ & b ZLHL',աmաC^f8ȑ#z]  I ;xđwd ':'B ȅut1a("{Ƅ  WL N#hb0`-OQVC #/>&D(1b00!hЄ~Q46hnZ!">t@Wbwu'@  gmBa[3Ԟ -"2*}0`9 IVTT+NI f$RW'&2Bq!,JX  4E"LP4(1⢄0DE) q  H" ,A("Jb3@Xl {ET3ć!*X u bőaoQ8b !B4A1bkU huāi\a ickPE>s I֏ 0DF0a0 DL`y<>&=,?$MfCH:@ a4ƠkЍ1Ď&0:Au; 8}>Pxh~ǠaaM 6OggSb٘0NJJIJ~ޖ̊. rmKfEQqv^ ɢZѦI Auu$8:@ eBUF 쟀TRba0$$DDD$KP4@b0@$ YB4R E E,DBR2D SIJ!I2Lbc:nZ )s\$LC[y8CZ0T0;Ӂؚ CMň( *{'L@TL;(b peQ :rZ0m-ia#vL!t!:Ct; biH$ZCUDP E"`VADQAQS0T;:D11ԑFmB4&@OoBD]!n@ phhC@h@~7lzwN>9|;mwC"(#b ( j,0*`+ ,jJ @LNt`##]T$$ `AD"D&Ea9B CIbBS(R L! +,L! L e ၢ 0L1-(a 41QQ1 br]qͧ tn! #|(e1*[@a:d2<2*`i婋ч'C 0@Dq#EGQUn0&ṙk&@W[ }Fb10mf6 A !N.mb +:FhbD"|KDB {O }D$Կ{!QB(^@XH@RT4,j( 2+X9DDu,@&eeT$E"b)&Xr ƒ `fDA@R!h1!B@Რ 8 ()3`Cy,rBBP -BqS [+YY [l]L^a՞0  0 FGd0: !t.  :td`6>  1&C :'ѵZ03J]ԓ!2L0>SL  Eze 9^0t[O074AvZhFZˆ-FBlMBkCA1z #Am`0F䤄=h֚0 5ZZ*2lCE͢D'p@F'VUT$+v.d dQ]Yc  2hC%v,I,I )sYFaX(B3!- `f@ @S`L$! !`&3 0,AB@EA! $!&L@ i`$ 0M *`9>qM2ntH`%,š 7\ ""t0zD PC;NPAPab$aqu+&nwtĎ-L4P8a1P0 ` CDO\:0L[`@hF -CCi 4F}(`01-f~72`0}Df0x!~wa - C "BJUҵA@ @dTW  ȲB45Ct8I,I" )I4%BS,N1&$!%KA$&fX$!L LqQ` DiZ E!0@ y,|qQ)" $$$AEb1`q$kR@@ N@T10@>hI @TSML@D N("w jՑbXEՁTT@xbBD"uC ZDЙ.R[B^- 1L-ϠNш#F-uZС!ZGb ⠁ v$|ꯥ~wM;L.'Z*^ȨP!*kQB:PDm@TOs +jQiLs Xl$I&K#`$L`)IHJbHfB(DDB!PB(r <BA@B ! B`4X %Qfq@EEAL0 3MPBs\y=.8ǡNWGv\.w9:nQQ7UUQT\O. 5 \pV@Q OHĈM y 303d+@zНha4x]9/LN(5P)bGFli`BAcx8.8Bhmn@h1tHF"& -h1w$O !1Чttc&#?Ԟutc&#?ԞMj, bLY >^ԋ-'`#@ - }|4;*d QsI) B!a\Ix"Vx'LH/@  0`X@z{52xOY(`>ԇk 1p] \`:D0FDDh _a'z΄0jrIsgQA *20|Kp `50/Lye20h>AhD"_ctٖtsF|)g[YP{ 0Jbf>+p<#LDcNfTWNfTWݪ,qh鴢$VY@H  Eřf1@ 4E!$",B3Lф1Plm4NXm U1԰ao(BL\[@rJ\[@rJ,dљ.SlBR"bs G6V{8s1V i`9ևO^>Dbkcoc*b1:|Gpychess-1.0.0/sounds/win1.ogg0000644000175000017500000003526513353143212015135 0ustar varunvarunOggSy!vorbisDOggSyݗ(-vorbisXiph.Org libVorbis I 20070622vorbis%BCV@$s*FsBPBkBL2L[%s!B[(АU@AxA!%=X'=!9xiA!B!B!E9h'A08 8E9X'A B9!$5HP9,(05(0ԃ BI5gAxiA!$AHAFAX9A*9 4d((  @Qqɑɱ  YHHH$Y%Y%Y扪,˲,˲,2 HPQ Eq Yd8Xh爎4CSR,1\wD3$ R1s9R9sBT1ƜsB!1sB!RJƜsB!RsB!J)sB!B)B!J(B!BB!RB(!R!B)%R !RBRJ)BRJ)J %R))J!RJJ)TJ J)%RJ!J)8A'Ua BCVdR)-E"KFsPZr RͩR $1T2B BuL)-BrKsA3stG DfDBpxP S@bB.TX\]\@.!!A,pox N)*u \adhlptx||$%@DD4s !"#$ OggS.y(47K3306DGS2>233374>OGJI78B:79@;\@W`ހc. UN}s wbk7aemiu% tx~̉hW޽Ǜo̾C_'GjrUU8{ I:?l\w{{\ܩƚ׷}9Nx4O dvdzus8^t ӗJS{d{kFKoMѮ}L{k#nup[;Csi!<~oXk c,c'Ad*L׉+j{o4޼YYE mt:;Yxr̮Sh[/\hМbbvvt=qhv)/H>(?}j?窞X{7F&8ڃӶ3s.3KwoלOw~zw/qy+_OPrϿzg[S|.a^ IH,KR\迮GFB)D/پv]PVOH6+sG]'CGBsmiVS7fXl>t} 8DžeC$Gm)ȥ+5:yL޷5g >@>fS3jF[ˡ' f*om؅f`h>aVD@/srXx(_#.ك ❴𘹲3> Wp5 TuОx'wXQгӦ'~5vz?:Y$ÖlXآ`#٭x[n]̽_o=X)fYrU$G_ŋW4۳CMg/*1gnsȔnAcM۪`o kQ_1yJ$˝r~:=6M|=[]鏩ͥ?]>P{~I՛?\_:ܪ=7g_~z3zLLA[Lݶs wՒ8>=09wfڟܚwT gwv[ќݣʺ<ӽm.>Q2%䒕k}{R&׷Ȳ,'=g>+?}}Zo}}YUYYr~_ʲ~y^^ּ*m `;`@ծ> +ʿY5i ǿۨJ`nJ= tm.FHwwwt4^Wۭuim-:*+ u6˘r"UUta.v:z<+J5yN}-n^悳~@³9/4Iv~g*hqڇ]G;46>}Zmen9C*G_v՜T. IA9]ee,?ԞJe9EƖ%ȋ^Ka,ɺd0?,=Gp#|?R/5݁.'{zb C<ˬ?߸([v$LbΎWPnjk5\T,Tv#ޖ<M AJݶ_؟ܷaIpv>~]~{y-Yݜ}1k?S:5{/#wVwUnHAoӢ82m{s>I=4LB _6Pdw`jgr v(G dtqL SDI+RJjX_Y(4 H;:lٗ+oݹ !嘿؝Q{>۠x0x'Z3|>LGsmVp@Չ_21V(Pwaح~]Ͱ-/Bܑ0쾴8no@` Xxdyۋ3 oTʵ?u v> s8)+0ƚaYtTy>O7~Q?6: T)+;"}n}4g>7/[jᕻx˖PO )R^WZT"zs|{ <_G~U߳1Y䳼 \a~6<߳c8}:򫣹ڲsd5oSOnJCFQQX:(x,8th,,~ʷ b#DZ&}~?8̍wf|u:M_Wb-TaCބ1k3qw|ooKn.o{***j^?=tf} T~]aj^V}WWp9Cu_Ls.LSÇ@+>wV eZS?z8nW?^r^+߁WV@ [`_R^b?,*5W.BYh@Pϯ*ck:swy{;wB aAtMJR-u)s`X6~xa#&XI`#bz=kN?^ɐTUU]%﷞tƾzm߶,0\|c uOdש3_7?8= {#CSa*4Jn>'ɨCcUBώ?a߆}sbcz]rk*->TYLIG?9C6?SP3?ɿ%kD 8y?RAT/!pU#8HRJ~YUDZ]i9T*y쒀Eӽ8sXf"6.deއ =Y%£B\c1 e hv)eQaOW?PUU\M 4u[RzbS'ތ߆aUAЏ\HTss_e[r.)9Y߿ǀ}~9΢1cT«0Wˏۏ˝8&NT9lOvqQf>˟>djp]7ǀӐJ<=r {1!LҋV664;YP)V~/?4pS;ढ़ӥM-GNbq_eun˅vPI^TΎQ%#T7#󧯝S' n4*lTUU1G߼לLuZ *{F&i­*wD/}ο(ϧu>$kMT;zzh|J,˩OD:Qݏ>dtwꆙ4>gnSu}|#9`{]xm U uzpI!U6YgBPqn9-)GZqgپTP< q,$֮}cDD^`Ô' K 4WW/W tלR3'S\[Aߎ A4HpM8o_}|TxoR&37en1z;/|ޘ;JǽF^zOB}N}o׻MRI3Ծ"ӛwFFk?/p;#)[=>}AwMկ$t%:ܭM쾜.oA {R)P8MúpX\Io1o$F6aXoOggSWyoY -9OOJVG9;9>98IIOLPN;?FG\<:69FHI_&7[],R7^h9{"%46mTMlsLť4ASKjيbX,rmUh9mۿmk۶U_>;\ݮ@uaGkQcз__أsσZe*9̷ZY*W#/OFZU_/]ǻ3RgzE_ Z;VLHG`=z|1O^xOŲi}zC*Ni2>Ȣx)!taRTۦD7#pp8Ա%{p?zބv2A8Rgg^~߿WQQ4ˤEn$[~phK{۽6K etv>K*ṡ_*J͓g4}?<>1L[o6|;?QYYY@O,Ҵ5uGq*??X_oϴ{= @VUϟ/Vlnu*z?ځeKq@p@{VX0MBtr;,Q4]B/4R6wDSd V$żwsGXs,^YvB6p HU+r,FL]]>l~v/?}F%'Cw'~`{_Oߧ.tsﭤ.5|wsƨcs5כqXIJ'k|owzQ40_4 CP'?#[g^E%ώâ]Ml_u=O}~0p,LfL*2$4\kf&9K݁:yߴ{Gk'6XdsQAʉv,y# p%)qHnh((`pg?~<<]w7'$꣊ vIf HwBnE:O>MǗo}|ڎ..쾖[ vt5Ft a~ <u=+!7 T.k!F4A#s` _߻î7|ѩ%4rA;;9ׯrIӱm)6o_\}Sѻ3yoq&Oc?z=7tgLwrd knt'sߴA)R!/ȦtF_{n ^JM\/KCX~}?z^?W/ncH{_\<ٶ,٩L.Z}(C~8X_0 IAEAAE$I~=ŋZׯ8Lߘ/~k0jX9(޹wZ%*=?z×[%گ_S3.+bUOٱGSTj ?AE=2.0N!{ik4a^s£gzM)Y_ͧ#=9/%[ƛ" :7T1(6֦gMWl0&xCRU>,rђJ9fu5 #KJԿmE`! Zu<ބL6\҃=U4X&&f4..|\iv"e,ؼ/9 |~_gݬwX2 iiUU+!ܓq5\- ހIQE-WS;Hh;Wn6M?txx׃o>34Qy*{J$azIP8g<>|}s6o0dOj,e1}zܪ+k@3 уLYbƟ>=y瞩 bYU{ ˷F9_^.et ᦖ8xԩ_HK߱Q_r׉˱^D~{SlwJ#+|4@N'&{cc͞_;˨r>PӃWUN,݋S3^Џe5+P=HdEz~ 3RZ??*˳ $\=W2܀pYSI)x%Oj{)$˸rCA߻)qbwZ8i+Wzv{}**/F|=0\Rrbꪨ__3_|=_rW>}wnqT9*=LMÓ?O4F0OW}dr.̜>O3i?14}>?/c lVB߾gy^fS=s<ƗGe|Pd˒CˏזťM Cw|zۅ'ǞXcT#S+H3|˯}燗795) ަ^^j%JM)D~O.I6U-cGl%d+?_o"G3ʔ@0iBUs!_Qi!W;5t0ӃǃǵƇ]/߼iN:sJ=^_m%N,˲屑0Hɲfx>2Zpnץ9k^hx'w ^HClsO+q[w><{;v(ũiSGi954O5wbGۇ7xt꛺$MWSaҤi[ ,ճ#_=;k`q%vikͷïwsq,n/E\99`"JX5)ӳ=\PS 8F\) VLU_"r̉CDvz~Kh[ە9*uϋdbS,*qwMc)N=b1oNԿ)266 óȉQ<{CT=?f/D{9g4ϩq? ,6iOggS)lyvGGG7;:AGF78GGFDEHECE@;3)B_~=c XeWMxK_PL7CG–yZT7wMeZw,6g]MN0rg-@Wꘗ<[kO>4ҭ'o[D)tÃFؒ)ՁyP/[m&7meU³eg27^LuP`۽{ׯ_?P*M)O1)LS-oq0}lD}ڳ{CN.De`:Coi'?p;R;S Dȳٝ˳Z&o=_+ATOR=~[s?9{?6׻}·Co]w2$'{N^tW|sOn_f?(6o~ S'|u5ˈ=BjE%Uaw~<_&ڝ))ķNVLj?g 㧂ؽ}OzXuâɿlVޢO xӗ]*ٯ׵>= 斬6ӑ:F= Õe>[FѭpMYD݉ !ɗ?vYOʮ5YRzvfc0c{d Ϋ?jmNgг#^UU?JIw wg 71,/utj\zλ3QqR;:!G˦Xקh۝L2#>TZogtg}/}6ήOұa }YIM!GuMafk>OU92aCUv|粺қ|\sLb+ $rrNtIJl y#ޣq"0w\gWCG"=bb଻CH|H"7{v$X5Bܶ ǑGs]CɈJ*KW.};;?.R8Ƈd;!T//۾}î~9Ξo[ڥIzx{C׮!k< 40yhV41p&-οڈ Ff) 552Ks}]m;16c?ӎs ۖFz:jݚjAj8EWl$B!btGtt׹WO/2C3jB[`VjҠ uyp&̓9u$ܲ#[:|U]FO PU՝s>NO'_4{y/yJrߵ|>}oϹ?sΦ2kǟ;gّ֤|^Ap>8fI3%~l9*^'2D/2iTDܐ UIg UbՏ}zS|-V^Yu ͽtN5RC[x%{t7i^>oz,UuAHHH:.dm•a`Ə\be'~%ͩhv',NfDS3%TU`Mo >lK~9~7ɏϑ+z8z6s$5ZJ2չ6S:kt_ٜ]SS=rT4'p?GL<ݻz}k[ NNSsݟ,>;YI%u>XJ/eR,¢:]uxYx~,֯UC@h99NNߪi^69991;']^f2pychess-1.0.0/sounds/win2.ogg0000644000175000017500000005010513353143212015124 0ustar varunvarunOggSz&:vorbisD8OggSz1y-vorbisXiph.Org libVorbis I 20070622vorbis"BCV@$s*FsBPBkBL2L[%s!B[(АU@AxA!%=X'=!9xiA!B!B!E9h'A08 8E9X'A B9!$5HP9,(05(0ԃ BI5gAxiA!$AHAFAX9A*9 4d((  @Qqɑɱ  YHHH$Y%Y%Y扪,˲,˲,2 HPQ Eq Yd8Xh爎4CS# G,]6MuC74ӴmUut]_uhPTU]WeUW}[}UUYՖa} Uum]X~2tu[h뺱̾L(CLABH)R9)sRB)RR9&%sNJ(PJKB)RZl՚Z5Z(PJ[k5FAȜ9'Z(9*:)Z,)X9'%J!JL%C*b,)ZlŘs(ŒJl%X[L9s9'%sNJ(RRksR:)eJ*)XJJ1sNJ!BJ%SJRb+)XJjŘsK1PR%KJ1snAh-c(%cC)b,)cŘs(%ƒJ%X[sNZkmsЩZSLsYsZ(PJZ[9Rb+)XJŘskPJ%XKJ5k5ZŘkjs1Sk5kNZsc&BCVQ!J1A141朔1 R1R2 RRR RkRRj4%(4d% `pA'@pBdH4,1$&(@Et.:B H 7<'RpFGHH!DD4OggSEz;$8 "! */,0-¾$%#"#""'-2-)1+%--%#&%""+.#$%0/*-," j@̌Z$e޴lrؕ'g2BB[@NC_O @׎o*#U?F^(>G\"uDlY\da>S!`Ij՗K?Z;lDQ '^Z`$i%=:km&*ϝHT]YOV.{0K(w kz;M+ەr`[Ѝ4t6Io M3QCbʑ ŏjL,ςu?\t ƏP8,>4B_mHh/YMGpH5;w6i +1ƀ`LKĂ]񝞽$q;TӾ?dzmX80V^Ju5^t 0VЖZ}n1ӭ{'TEWg9}]K%۫״3y2ʉ:NbqFOmxA>x,i28l˘n@{ $g*Kޯfu嚻NSEDÂy@ÈU2 Y 'ƾ腸4}BN; 0o][>`AùN*]GYJl^!΅`P <; 8 v 6f,fү'6V1X]uw\\9ҧ0X v#Ayn@osUO{!P>Zmdkm0#pL> "zdm>ݚ@_O l3&ؾ66uy@Ol"m{~_oԦA%GAH G.Wp z7ƿR?7,)3?df>bH Y5: /wxbA 0kWAɲFVddZC%0ͬ8;Ks"Mu_XķT56y_ؐ;?eL*r<ٳoco{ H b'~ėfҖ!4ĆW.k<5?;Htf}@sϢ4WBҳBrܐس&KFSZn&A36vg@qR3@{o͗twO[P1_ __ӕYF5L﫫Z/e#l3*ձ;oZ'k'3'@oz`Fv9>J8h6v(&e=ۙ__Tt|ǜXt6J R`>&PPԜ;8+jݎV(*!ex'(PջKC1KLfߤSL%NuWPo"jճ* gk jm'%^Dgy؜݅ ³?J ,3".HdIXE[. $ϴ}bǝ"Hu Ru.;cҚވjq~? PHk3Z05ɯ#4'VJ:L:MO;^<>~ZMńʋd\7ercLfBLyW ׍mBFOXoꊡ8ZC/ܛ9 DEcxNR.zoB2"ޖ8f .«%i{J5%ZX_H i `>Vpe/v yt2sU]Z*R@T{ \*cC S٢DPa=m؏e|# ^l?:@@co֣퇰Q(oj\CΥaP?W>,ճb;:u/!is>B؄&8/s1Tƶk 8L"}Ϩa4{ΓL!i&a$=@r`]qډ|Qp2'rQ @anlX >޿W!Vv3̂·TN{ۧtG5@9AM辜ٝ UbScJ[^^V s8-^4Q`+;{#5Fy˕[x䘜.uhzlX%΋Uu`^jKY,{ܰ>ȫ<:5dg#9~^h}}a}8 h9gTe8u `z߷Oo]/kiuF#w:1)Q׋6+ccHl=tG@_{Q}hM&+i+2'݀>r9pL.ZyI;sRI`l (3$~Gj(($ՎVR|}wǎvbx*GӛdY|WV/PǮuZַOǽ|>Cgi4K 9Md|ԁGGnl^*w͌Fr mCk êC@wg{vѷ, .G.F&nߖgv=B5L0răSU5wB?}k7;)#!5Z0AgݿS"]D+9HY46ֽۧw^ϴ%{n\~[2 Gf(xٜ3]/h#޲kkt;<KoR~ZACjٕFQJjXQIu⢙ }eO^-ES^}XOuy}Kc?lt:)4[_rÓ-bj5[R4si'Ѵi~VURZ;!N2/D0 ?v1cI納"0@Ȣ`e}߰DM(8%rjk۳Iv).X3{'p.ff+R<۟GSs`[jSRN[GfDT%\6Vl[XhS;R sk^Mzvޗseb6}=V9- !fl0W&u!dcuA/N;Ig]9)ܔx)͡'ɗL%DmƼJĒW3C3. iT0*2ll|Zv>9C%q|49Šw$\sS>w [Cy#<&A)YCP_fT_>|-=tkY~aON_.-GN=& F:D*6`gZ{$5ID.>םH3R"z+_^sKkkGm  !V YѓEmvS%YJ^wB%>8Ad^3]b 3};?9z dX@mCLP4.s[^vMSĄpt .gskVuKc/=ٹx~wB];&|!WNlN-ȩ[6O9֧˲b%,p$nhh^w ?AlPx' kژ#Рw$ؽIOC~g8?A"Nρ^<5V.FǕJ4WXo2,o)dr(G+˘^FH.ɳh $m62t>"}yyb3+ Z4Z=6;yt93 v؏ȅl #''HQ%#Af}F_s%6"{iAZJ]I{K(j\R㓻kmx_Es%_[aAVlt "L@8;kU鉿0nnXš"JFla2Im{ΥN ܺ3S6 Jw{BDåڽZLBdX`qÿ&_Iʟ]6w0tǥ̋=MҫjU!5@^XQ~ϠǑOҰ]xW{t:FB yG(8 D4AP{kv-r2ݴ~р"z;VM{n\!bY-\!wyyݖw ɏG,}ߘòeN HrJ(bWqv 3s&^^k~(^}œQ߹xg2xЩhOתnν|]QwDLF~|&&R+OhMDi?;Z7&NJY!|7"Wx5Cѵ3_3V;_20X!~"?5NѱjԌJKƅQNv+~ vH ?'!3h-NqXt {rCXeg;Yb|Ne5M+oo fՈoNmV,8o\=FX핵Ґv]F*-ehsE5ڜ#7_F)>wGmPw9wl(7rg̿&k?{NS68ר;`5hRfbrTVKK,Kăi2s8p)ɦI?Q1;G#;a Á&P'@)AHhujvt S+y֞z] =uR^wFw~' q߸l;4ѡ5D YPu;}")^=Nw ~jaR={fZiJKq.Fj@\$SƩܮ_Kչ]}kގ4kMmD~3.}+xBG9#rUhJMkC>oC4X`P>(͓^3+ .FOOmxi?q`: L?tm* @QPH])o{̃Xh~8hr& ;rf8}p]04Zf,yHu;תN%1?V@%nh[k5"P+!R]vW ۰aVMwaP fo[Cv\ tc#Ig~$ɕg-&Vi5ZV[j_5۲d!p.L#m' Ig_|`=N#8L~D`Y7!5V]S |sp'7KcfY2G0ߺwD_~>">őo'}.>r}i)w1ƀ9 ;Ǘڱ1DKmG2VYyZ?w{Y=($䙕0`Z}>TO`^N6ղ*r5ca PV6wC=y>-\3!kS3ld<һ~mEpK\U:Beb`;lZҌжK$OggSzUDZ&¹Ŷ#$"(.)ķ"#"')*"!""")+w .{8:0 0I61L(I9mE$7ǹ1FWv#W#ahzs^3>ZF7MUL?~9ֽ&o&;|mʝęcT۷L9Wc^G r a<ԿB9IbGR`l;HQ.TO'2g>w4elsf̴p1ӣTI;<ØG"1_n7~ Vx^2d2&JD譧* }:݆6scbϑTI&6=,:ptQڄ0tKtlHCr~6hĨrߒh-9v][wtf=FL/cFI /þV)Yӽ^'Dk(NS{jsmYA,Wp83xmj`Ֆ9Zʼnx)jy*hwCEaߦ3WmZH{d #/y]o-,|}ND㍧71MjeeOhўwl Lzn5{R;MԶ&=m5|WkާA3 E9KӚj5>P$>DW_<}ķr_!\m$~h>Q~P]0|奧[Tz֛xB.qR٭5K@kqTӁv$P I1Q1Yd䜳BQB ;Ӵi{|}pz%哦M1Ey 7]疯2UT&jիߒ^fθ:e@6+џ a0 ccڢjgul;o'ȨJk9c-M`C{KCvp۝S vv %-3@FHcP`:7&/kY/0t4E)3OTמߐmlmJw]\$횚Ӓ'. OHm}~b#( AK WQʥц*v,ǃuiLtu mmm9p;o 7 @7@PH(GTc''S">ű@VV,nӕu '@FG` A+,䫥hF4K>i$X{Rw4Շ,iJBMY a=)`35?Gl豤_8&'j0G{})8¿{|!,q}՝0 ^`C&ֻIFyL'^r.v(^_R*@'kDcRT{aRco Gw'⦅mT(IǪާ8h}u6g}IK4gi0hkHZkT/M 1& ͰsJ)2WC6{uyE4"LRcn jat@jiLF\NZGntY۬+ @_ +A_=n4ZNv@j49٭,9ٕ_8jSP%Gn¹wWԼ:I"XUdYfh=~˞%zdڐeZEu$.,Ii+Hӧ_I`lլS՛MZ;zwd;Ƹ+@ 3,+dPl9s1~xp?g._dh,uww#ήVCl?f)G$ԯZ5G ]%ߧF>~s6^/p^^DeMdu`_Rc4кr-{Bv<>,9Jf9#L>\_޶̀YGzhPs=H^e|A0&hVly\xoc )Üo.7<>m >w&3KadN,(jI@Y۩gmQ2f ՖDUy߀*rz^M -w cZPϸ]T4kЈq C;m7<~N)y~xyb .154_A= ,.nRcMu> =[cqlollk[ * 륕:o' Mܐ]vn!\LϋQNP6mhMC>Ҝ'D5?7x% xsl V$ޔDjvy~x~,QŨX{,N4F%-؛ّB o4DX!+#wVvfįbG FI z/ROBr]z{]5A04z9 a]FVRȹ e7+3M/0$S8O. #3/\mȍ6oڐ;jy!-{m&x9dAD~]-,vdELj Z us@&~~y,IM= _o-P5z;_9pLl aYmHqgMvA7ҺMR&ؽumY@3]7ZR!1F_Ł鯿4O6 O~v~ ݷ1Sgaލl% 7V[+'z9]8D>@AI1^{Dd ¡ zfHEcu:44I ЊymAnfDVi'OVmxϹamc\Z$$mjQĨf F6k:+OggS<zk!#$%+- *.˽!#!#$#+/*ƶ~vR.@zw'6#;J[Ucz2S}/W{.[BD `NMQi(hXϛʘV^F|yQ( (L-GGK%;y =NkҴOܶCr,Q'[YqfNym'K0@̵Mwvnœ%YE^vԦAgϺ#utй9)I 8&q7Sm#ʆS1Wl:奋bHP *ˁ ճYQ 7GoVo|$*c)xD '`''DoHkK5.Dˋ~gu&6`|YZ%?_ ZZvnqQw7y|+Gi79QP,Pp.ƳHIL6{ImZqYP ]#zouz{w7` }&̠ݭP2ѺWD|o1%a&q`gCF7UۧMEg ۅnOTּ;`Vܭ#/ s@32K{5o>*f k+ q=GeASP+lpv9U"u>O[Swos=c&@yI?\KJmUMs ʄ:q|eN>z5|TՖYtP^oӁ!zud^I1VP6+0U'e'*nY%<_N2 bsܝƾuoܛ3G=m%זqSlrgƷye圙3&Q{0 f;j <_hXج1y94Wg^;#quӶnHrЄRU.a;x8N)3>x8TaR[ޏ-#+V] ^궾6vĩhpAuy2KA cJ(Ǒ5=ͪy3X]/o'ɶ!&.B;ZA@.kRghG mX}lJTWg~of1)6O}Sd[SQs#t 'L1;;p|X W k$ڄ%xM,Wa(5@q%c KTqq*I/9d62@zH#<1>qga)V1EH5\>-ۓ٢E}H@'̚Xׇv " h]唭Bœ>1.n #) m‰rgB % {J#ʙ933w^Ww]ZO5IQݏb#QzK (;)F)k2~B{Ƕ$xQNzvu!yO~266%̌@9K0],_=H7?Iir(6<_WZ'ˈOfd5,0E\ pOA"o;9pч%ʑtJq^ıj&=56΂~:m8 ϑDz9^1>>v̂93cʇÙvcQda3n1XMϬ}m,z TZn%ԗLw$deַ]ka*^dCŮ`#X¸X_,Sי]=[86`$%Qkb±"憮9ojcMO"KanaeTd qmD̓>vnB0.k*+=@$ cdi1*L=>5è5>L_NaXO6dv߿{Z|4*LMG[!Ɍ1]4MAhT$F$.t]䨝V>ﳓI냜e~LsYJ;آEy application/x-chess-pgn *.pgn pychess-1.0.0/pieces/kosal/bp.svg0000644000175000017500000000470013464374532015755 0ustar varunvarun pychess-1.0.0/pieces/kosal/bn.svg0000644000175000017500000000213313464374532015751 0ustar varunvarun pychess-1.0.0/pieces/kosal/br.svg0000644000175000017500000000220413464374532015754 0ustar varunvarun pychess-1.0.0/pieces/kosal/wp.svg0000644000175000017500000000331513464374532016003 0ustar varunvarun pychess-1.0.0/pieces/kosal/bq.svg0000644000175000017500000000372513464374532015764 0ustar varunvarun pychess-1.0.0/pieces/kosal/bb.svg0000644000175000017500000000247113464374532015742 0ustar varunvarun pychess-1.0.0/pieces/kosal/license.txt0000644000175000017500000000006513464376553017023 0ustar varunvarunhttps://creativecommons.org/licenses/by/4.0/legalcodepychess-1.0.0/pieces/kosal/wn.svg0000644000175000017500000000334513464374532016004 0ustar varunvarun pychess-1.0.0/pieces/kosal/wb.svg0000644000175000017500000000301113464374532015756 0ustar varunvarun pychess-1.0.0/pieces/kosal/wq.svg0000644000175000017500000001325713464374532016012 0ustar varunvarun pychess-1.0.0/pieces/kosal/bk.svg0000644000175000017500000000256713464374532015761 0ustar varunvarun pychess-1.0.0/pieces/kosal/wk.svg0000644000175000017500000000450113464374532015774 0ustar varunvarun pychess-1.0.0/pieces/Chessicons.png0000644000175000017500000003500513464375555016341 0ustar varunvarunPNG  IHDRMbKGD IDATxgXWH" *EQ@,@4шĘX0E15X"5 Q+"}eۼ lΜ9spss",,>?aaaĿ-Hk?w?7MMMPbJTtbA"… *AE*++t:AAd2!B!D <}zzzعs'$ T*͛.r5%hKv5((ٳ\.w)ĉ & . &&L@`L8Q{tNCC!!!i:l$%%`ii PԆ`bkjǏŋj,"",kA" [QQZ^^a5$Iҹ\Ax$C-´Ɗ+TTTgϞ 땾GU8 z,X阃ƎFaʕ(//o:fhhe˖5}ؾ};>|tGr]6ƍ7n>m@Ķ炙Y캯Ϝ93,&&l֬YA\. ͎QPm JQSS͛7YYY4`˖-p8JJߣCRIbq^$A,0 xF{:XlB#_9d2FdٕͮsJNNb˫WW@k׮]h|;]$wݻw1DҢD"/^tŋ-ڼ J_`s]5jB}4KKK}9(++c_]wlɒ%{7I'&T4~O>'NDff&6oތ%K'OD\\J#\UEPPPԚTWWl#J8NA3<0qp8Əd20k|?%I&O)(ҥ%Sd2uuus]gBa$`2?J (22#GDMMoE谯G$)sF_1v֭1AAA&aaalP(gϞ}&p8d˺pe6AA8jjٳTkm\|NPP_)[vsϧo߆#ܹ=:'`ee=z֭[r_#JM4x۷o3XC Y "3z=Ϸ@TRRMLf)A###L$((h8S$iVZZ@3777p@#eo>}c666 ?p8?qFS;y 'Jq̙3'N@QQ}c̙8{,微ܔ)S355d.J__M$iv|$JN_k$I{{{%%%S\n>S[[&H4#Gh{zz$I}~~nݺe Qdd$[V[[][[M*)) R44o¸\H$*OIIy7ڧeb}b{q| Vjcc3>x`O?$>xdw7n͛J}}ahh96~鳦&tttPYYF[&洙޽ Ax߾}?I~~~-&Х鵭gDЌ 3fxߑnHVde* [̼-|> Z=i`ժUM `kk7nT*M.\9 r]#G LNNNqiF(6nk@ pzXee+2m:gdTmPciii$z7J=̵7oė_~իWk8W > m4 WWW*mPL Y[__MwmmL33"&ߔ@ @II []]+JKK[zNykH(ooﶭJ0dȐ $Z,Nzz:N uɓen{uFа&&&i>aaa±lXYY 666M%ISz )WVVV011T`p_$)ݡ ~f,{{{X, 0M5ył=233e ߿:xi[ko39<Ǐ1}tܹsϞ)ap?ʪgj f̘1ꆩҗ 8N3ܿÆ K @ktXΝ;URؼy3n݊_U뫪tʾܺu>muɵ}ڭ[~YUUM___6h"O<۷vxU54^YYɁUUU 3 H]$!dΣ;GVBTJ B5555;vlt֭7BQF$tuuGS,/9 wX,5뎎N9IS!IRϟ_ ז=] )IjR,ćL)NXXa |P 5p8::0cccl|ÇjIO,$IRP1:>?d>PG_qɓ(((@}}=t:LMM1ek".D\>?$IʥK<==WWWSW&|>***PSS}bŋBee%jjjt_BӵE"Q"><lDByyypssC>} \|prrH$RUNdzgϠkׂ$Ix|8e\nB٤+Vi#߇6n"phh(?sK`B_ţGЭ[7\Rc$IM =>( CD-Zt`[_Wjce˖zԩׯ[\X,L0;wģGϟ?ի1jԨ9OW$Ip8{BᚒTWW$iܬr… \FEeddu-ǏA|4b0zhXQQkbȐ!S#Ix} kkk?Жq[8/R{)  RzjɔkS}b?ƦMtX~= ?K >}]BB7Mww@QQQr8彗 ';D"y+)Fe o7c8r9r[ᄝ?%::z0BWW֦MZ$jRcƌIмmϞ=<o{uu\KkN,$ImיOyf͟?ϟ. [̿|TT@Jp<.J Hؽ{wmѵk׷#1zh>|X8 ]]],_/^Fرc1vX ˝y/:9OܹӔbLx< ݳg-Eg0EEE|p޽{`>TWb 8UUUHNNƎ;>>>dɓ'2l6.]ڤlX~}SD3I$͛7[Cμ4Qc݁O>=~(k2X [vºuзoIwSSSl2$&&FaȐ!ذaڏ=RLBhٙCEd^uu|ٻw| =<akk U3CReN)$ b1LLL`gg7GxbJll7vss$$$ ŷZ0 }Hd  >|xg(ѣBF,4*p (((СC?Gmùs琘+++XYYWY#3CC6n܈I&lEZ{d27nɷ÷bDEE cc[ne$ IIIfffi=z ݻgT9&rRZĉ mWـ%-ZGmm{UVV}l'pv#zr Dt:]v5׏Awm&4m H$R鏧Nj+2_#TaXNCC'O>_ׯxYF@B#FCll,ƍ֌b]tT$fsT*qR@ZG? n >\pd!2J1˖-{Gk}%wޝ<~NBuuuVAȜ˥p 4i Fm˗/#22M [~$nȑ#g8p -ODǛ?Pd27!r9΁%K4V eee1(_x <uuuP(j1.bggݻFɌpkAYYYjL3FiK=($I:qOl̴r)\mm-޽ny ÇahhnݺujsrrX,ÇUk>NNN*:pxgϞ͒J*Gjj3fq8nUze*bbbUĉaee%wo>DEEa۶mQv/++[5fھ};?22 IA)GPԾDgXzژ^R"H%.P}NHd׋ Cd޴уwɒ%jP*t $bJYsU$)1222|)544<.Kq\̘1C]2lll@R;jIII2T*VtB L TT jL{[Μ7$Ib AӀw;-C[ x\w)\LLq\\܇J G$A$ >|?wsk׮T`@("++ x1*++ߺF%۶m[Ҍ^xAX[[W=zt+WK@e˗AW_a…3g!gݿJƿgϞѨTŬY߿‚tK핯m"f-&&&HMMP(>kkkhkkj)ˮ|ۻFoÆ 'LPq5ɓ/xxx8qbjF( ,F]]Qޛ`lEhFCBB\.1rHlǫd?UIhl6'Nt߿طoPHJJ]vӏo{U24FM2gŋ/`W)' ;gΜ۷[sSN)mGUgN$fff u144lz{.'OR* NիW1vX̞=ҥK^Я_?\~ ek$//2Df6QXH$F|pzzz`iV錣Gz QǏ @p%|g>}zs#GĊ+ߩݣ oB<|ݺuQa X9hÆ >vm޼y֝&8twiii~뫔rBѐoz6wlڴ W\Z}FǓ9?J>B 7a IDATa^pҥҢ[f,,,|6uBP(GӧI+FSHhhaӦMCFBn SŏQn9sɿʫ%˩Stڵlذa˯5??~x|_*-qh4b̙rݼyQQQ0`9H$\Jg8Kႂ&޻w'Oʓt̙y֭7R̟?PNNؒ# ;;5j̶7oDxx8 H7n8;;AUjddСCwdgg`0**H(^t:{қ7o ;w̶ T˗/cÆ FeeDܺu &Mauuu}7T[n944th\\B#RvvvlXhU$I///ef  l?h"ףX,F\\;|022&˗#99Lh&''O9w=r,?~{Tp8ͫھ}{SlҥKA5CKK BPflkʶf8::x^GGGɓ'^z7nbbbPUne$m/ȑ#0eʔ_~Ę$IrD"6n8y}СCSUUUڵK.1B~^ܹst|)e˖] 2spp!IR-0$e1 HR|Xf h/d2 P(/1&[n۷/CRVN s.\c;v;vcΝKK^z=:s̍I&ūTD(Z2Z[[cÆ XfM E* 28y$ۍca0ٳ'iii T8 ?O{yw /ݵkg~~~%7n4 ݪN3쌳g5HJJBpp0.^}RFi+r/պXxX˗KfD;t:vvvr`0p-5n͚5:ujAvvenn.511Q]j?c٦MԞ O  ##r8$ ^xD[wkkk 6 O徎 ƍ{ɭpNO?4&.8t,jU8MMMDGG#>>^:BGԩS;mĶ… .-z۷r?7nŊA6{-266V:?'' wV~^<Jpc;;;0 tMēAn, @ :))i\[^eK,o޼*544=z4zJW ]ˎ n:nܸ1b._,}OeٓF-iر#FRg"::L2r'bҤI\ҵkWt k׮Uưi8n+ i ENeT*UO$ժlKoξ@Q]]YUU%W) YAAAj_U$i"U!!! Pة u2۵pO#""K$C'4iڳ3 |ܛxSHMs #U^S7F4GeχX,n1:sssU@'Ce366* TիW3v999 qرuA}ӧ믿 :H O*]lX-Z꫾}V^-Ԏ#\MM lقsӳSӧ000@rr2ۇ+VBmEhh۷o{:88܋sW[[MakkK\v$IfϞѣ);wT? 455'''t~Dfff6"Mb-2 `ڴiVsTz!<<W^m'7e|᧟~ٳob V8~~~Q6lqrJ֭[˖-Y^^>v޽CBB~~̺P(p8-#""դp_5ǭ055hR8>Çc޼R#;CUֶG}j m###?;qDSf_.]֭[y;wϘ1ebbb<ɓ'ϟ0acxxx`...,7?qHH)̛7MݻwcX-bvڵxܸq}Ϟ=;"//oӧEsB!n߾F>6THR777WUUu577h43gZH3FJo_H*++35jTƈGGG;.[^ZZjdbbR9RXX( zCgg4fnn.,**۰X__ݻ#** LII )\nn.֯_߮uZ=lڴi5(ӦMKyMoN967bQ҃߾}{Oww3u۷/=Ɔ"ɜӧZXXDɓ''.ZH.YR)ܐrX[^.\oS8 4'kD"HII͛7P(ă@Rߘ[D@d`LL̘Emxŋoݺ5t̘1z'֭[gРFDD%LLLL̩T*!,--%Ν<{lĩ27o^ 077~eAPP;EDY GѥKz+X,|qttL8~8ٳEIIIZ}۶m3mkjuڵoZXXbbbܷog/4Rmm-YsbDVcgGyU:*l]tQ(`e…⋠K2?uС?}||Z,{ճ=<<_?ӻW_}EH?xyuuttp?իW|hhhhaB VYwV""oM$ݻƓ'A3ghԞ5k g4S*}~MZR) 77vt(annvޝuƍj"|>2@$8 i,ҳgO޽œb2dR0W>ݾ^I2224N<yfЀ;vqX~~>444н{7谞!Ѧ‰D"XZZ"66V$' kkklv{5fTX,SZFԕ+WܼTt9\#8~ڣx<~wݗ~j /3F-xvw$ oajC0`8^F"HRTZXXHٻwo’%KT Dsεy mmպ!Eѐs ey9ܹWWW255rToBB]411QKђF$Ij()) 4UB{.rss!H`ggԾ#oe\{nnnؾ};11p@?p}:t6((BBB5`o9pD"QbT Pr;wN>+"H0  뫪D_|EPEC5a߾}߿ZJAHcccY?keeum B4VVV >} $Oe(ytVƜl bꫯ6n;|pc+WXATj%3Ijlo?@ Ν;2zŋ3ǍVH$OW\PTL>?ymIO±V_g)}m{A0&>>G>FF>r+P(ģGTJ GGGW۲e; ϖ-[;-t:>|'O,))Azz:RRZ---vAr+ݻwqر&2`ժU*5mSNlڴȑ#Bd@$xgΝM J[&)wN,W\i<Ϟ=ڲ[.̓ϟ?nݺ+WSU.:<1C~~>лwog_" w^Flll0x`?~ZZZVɅ xb>>28p ׮]KLΜ9#w0 \xJ*i {{{Q*bccqy(\Gĉ޶)++c1bڅ ,Y,*}'1c322RjY@L8Q]b5UVA;+2wtTʿ| : X,f*3l )*,eee췑ҿF$IСCjY,X,A5*P(Dpp[*UzڵkY-++Sp}ѵkW}ߪ޾Æ Y?zBKIENDB`pychess-1.0.0/pieces/ttf-Medieval.png0000644000175000017500000003633613464375555016571 0ustar varunvarunPNG  IHDRMbKGD IDATxwXTǿKiH^X(*BXX1&J];`A@4iJ]A¾la 6<<νsd3gC~җn;1P(TTT|: ڟ@AAqNMM yyy>ύؗn@WrrrXj`x=qNVVWxyy1k_szk.񰵵?[#<<$ CNNP'..t\SSCAu~]vZ[[!&&uuu&^ǏGqq1ӹn;p`nC"D:99G HXn]myyysJKKzƹܷȎϷ`:bjƎ||@h4y롦T- >|]pȑ&<&>>t:t:eeeRWVVi\^^nӊ+i4())!Ő MT׬Y :bG0tP5M.mCWNNfNeee12Tqq1qFFg^ti_MM ( rB]]XQQWTTv;۳0w&z4H$Rbbb'H$Futtf)++Ǐuk%%%RgPPP0" oL>|Fx=Lf;'댎?ZQQQ1u+dZJxc>,q~Z᝗uaݺu߫3lll<_ 3gttt>U۷oGlwKKKСCqرN]qDDƏ/  emW? Xraѯ_?ܾ}lw{JJJ hF}ûwX =44YJAt9\A(G~*3ݡq:M- 2 tŋӧwAk#''~8iii((('-->CJe{78:δD:Rxa֭V˖-SӧOr:tСCYlii96UTTȑ#3f Y+)) UUU<3E@Ϟ=1j(]c;9NGEE-ZlxҿHo޼nfrr)SƎ>}&=]^C am,kqf$nmߴUUUچ⵵lPPP`)#tRݻ+[X۷~l_+ߴ8p@FR;jjjhiiÇ1eagt̙/_Ns=un݊%Kpɡ8 ֑fbȐ!HLL968hnnb={M'ɥ3ddd$RªUqF(++#++  )))@ZZ>|DCRRFFF-Һ---x)ܤ+W^  :ݥPe˖aϞ=XbQ>yd̘1BGv1{lHFD"(--ųg3۷Xx;>9??{޽{{XlURRj&jjj4`W<[(Ccc#&Nrn8wzQ{ASS˗/g)ovK!))iӦaHKKCpp08߿_)RiiiU?L<>nܸ}Ps8* :O>wol@gic{233i&ǎCzz:FF,^X }wsdNld2bbb$ ,[܅ X<߿ǶmۆqeǤIL&s"#0$bRRR| P[[ˤّb՝n=ch366FSSKNg/XF-͛7 .:;;~~~wy{{VutwDh|2ՙ4!**1`Rd,Q]]:::p?ܹud2%Omg{o28}}}$&&f*WPP=BCC^NPH$bbb*3< wl)--eU逮.ABBB **K[z5>|פ[S26^Xp!Y0FN y9QXX5m~)S̓ xp68cccls|nT*~zlW--p…C{!!!{tjĆ q֖5}'5cÆ a*ߺu+neI͇1?2dVX%ٗ5pZgi7o ;;SN2ܹs"$$DŅ,hllÇ < W^Xf FC ,ڵk ;췎,Oeeeܿgi/^SL<ϯuԨQ$r <<ꇊ>+? 1Ym_S^D" cO}_~~޽.{'8~8ts)H$h"`Xd ***rwԖ"44АJ)0`V###΁_iiixxx"PTT8?477hjjTwe}kk+矝FuO 999;v aaa m۶MD"5008@ԤQ(:2\:[OOw%.BUUχ)Μ99s555DT܌0:t2223gڭԝ8wsAAA,ҩ%&&n֭[1i$L4 ---DBBnܸSNٳ...:ujvP̙3ָ>T؈8,X/_FVVq())СCHJ&fn matP}_X`Q&** }}}̚5 @`` TKK dž dFs,ԳΝ; Hz*^iaaÇ HKKñc```;v@__ BLL Z[[1e&ي nx&F""dמ={bƌHKKQPPO"""˖-%G}v˗/ř3g￳Hŋ?  &&ppp@LL FOBAAs΅iW7DLL 222ԩS9N:ZNI>>>tN>DEEё(*6ɓ'#77PUU>|8qãwm^I ظq#nx"OWWWC]]@^ GGGTTT !!á5kpFB`b`׮]|:SLL)~ӧGNNg{X⧟~Btt4֮]={Ø:u*˗6R.ܺu ...wO2d2˖-àA &&6mbccamm+Vϯ|СCLet:E/l{>~u\޺жaƌhl z쉰0aԩEQQFgggܸqc_-˗/;'d @<{xCӥNϯZ1c!䧦Çpq 'BRRRDPPrssѷo_cxpr]]]I;F OOOlٲt:=D^yR rBIDAT7zhm'''8p@ʾ}Ʊ 4qh۵1_0H;qcǎEvv6Ę@ׯ_,Bܙ!Js.i]V!A-ÇPVVp];;;m>WuuuNGxxPjJ}􁄄.6'9s tuuQ]]Hh4oKboo111vwOtծNl0229`ǎ1vXܼyJJJذa?x ۷oѷo_"Z__'Oưaà}ϟ?GHHb l޼х2rH0R;JIIAQQQ iov*Ko޼|!ٹ8wO[3g΄#\]]Q\\\rغu+߉dee &ҥKhiiwӧO… LF www\PZg$444dZGTRR˗/!))]e-))Q?t:444ޤ/Sv)))c˖-B҂Ǐת y'ZZZ(TTT0m4L6 4 x=@{"""¢gַo_PTtH$b{26:6!]\\~'U\YYpA||>4oion׮]Zyix{.f̘d2˗ŅHhkk6;cLaҥ(++þ}؞9!M}O=L&2B=}aՉ۳gO۷o۷HOO'==wOr@0퍠 :uqCCܹaÆO#P#&&Ɠ~݉'Zjpyyyl'PTTč7xFQQ{\L uQFS1fmĉ燃rTzpjjj0n8=zltWjkkyJ҂K)oP(,ƌP1rٸq#z777߿K ""=<<`eeE@jjj09r~: ---صkA&qF,_ҝō7mu\]]MhpbbbYzBAA˹:h***`hhSѣGXh֬Yܸq#wر|5ARRΟ????sL///^{x@dddǏ ]'Q(,[ ^pp0VZ˗s]VG4hPEeah`ƍ޼O>شi6oތ:<==1vXRu ++ ظq#V\BlݺZZZtuu;___ԩSO?ėh FCKK 򃊊 _t2rԄlll`jj GGG$B"xb#99 ,@~v-| EEEARz ѣ(#%%ZZZѣJJJ%$$$#tgnn<~;lllԉiHqFIhjj*d2;v,TB7ZI077G@@Q󂃃}`za\W$t &&9998{,TTT8N+$ɓ'4mmmÇsrry'L@rrr‘#G@&1aB=_~tJJJp5@AA!Qvذa8q"^ll,MGG|sĈLp4"""K.ŢE0Ez_~֭[ѿhiiҥK6mq fDFFb׮]3gBCC gN0a-[P__Ç3 ꍍ=LLLPYYjMׯߤW\ رc-PWWɨ;;;TUUu믿G|!bpt:o߾ammׯʕ+7on:XYY1 ++08;;#44011#G ##Z  5N:7o+a1$:88h |1T)ݸq#<==ݻwtyyy"ɰad2 [^7b̙PUUĉqA[JKK wGGG<~jh `d(2UWWJt;2ݻ7كhnnnhnnNGff&?~Xlܸ}61pww1lق'ppp\e̘1prr+KoH!q֭[I={J'HݻwGss3Ch1^zUTT4 URRݳgOgbԩpB^vGXnL'%%m۶aӦML 6ٳglmm1fDGGӓiB+--w܁BBBrJBWW 6ݎ;'Oы_~Ξ=ۺpBC0'&&ޞ%K=tH~autt۷QRR8GRM) c*--pq^YY}ٲekbڵPTTĕ+WZ߿ϳ|SϞ=n:1*Llٲ"SO`ggR&Ո8;;CYY!!!8z(,,,ӧݻwl8edd%Kk֬k`hhc2\\\Q}֬Y"vzA?/gHNfwUU&B# QQQ H8~8=55uy~ʕ+q% 6 NNN|=|8tb_LC/jrɘ>}:[j=Ǐ*QWWWlڴ 6ohP(FDD?FW^LO~~>IEEjSm;o~llleff&H$ƎI&}6 8}4oߎ+W\oϞ=ضmvލ~UQTH$͙P\\C222!b077g26gFBBѣB]]S sss:ܿYYY,qDFddd0dAAZRRR(,,$H$ж QYYY Wzz:|||޽{m6ٱM%$$@YY!G9PQQR^UUVhա8GWW9s%}Ȑ!ݻ71n8`Lz)yyy$ӫ @&akk+6Zuu59sp49sΝ͛#2%CVV DjʎP( qx tR#*))֞#--SNxEEEd  zzz+۫tbȑlwASSS$%%Ɔ΋~'$%%AR!Ctz=JŹs@Aa/L\\&&&l 8p .--/=AVVMMMQE骫c e CCC9\^^[+--=477J()s444Ғabp{8mp5QT o@ۆimm-9177|8qgH;99eeewXap@yyZm1bKOrҥ"""ӧdeefS9PXX sr uuu(**"--M~u67###$&&|:ӧOC[[gt:T*///[ڊL}}J@ZZ @qar~~~ŋEuttFCCC **jݻw[ //eeeH$<{lefffIӧOdzg`ee+7^vY NZZ---Ddddj梢ƍܹs1p@ܽ{ׯ_gjjj@ѐC̙36lz&P(~̘1Cdg}Ŏ;,Y%Ӑ!Ce4 .332339)(((RTT݉B444@MM T*YYYhl'HnO-B#%%dt:\]]׮]Cnn.r%bbbܷ[CCCeΝMn֬Y,eC޾}Y;PVVvРa|}͛:weRRՙ~99918qO&6mp ?iW+ZJfffx1FI6@VVB9|呖N?|6 D^؛_'#e>dgט1cW\!EGGARRRS̞=[h oa+MVIII, 7774h^~w 0_]g3==f͂,)SLac؞!C!c:l ӧ8y$.\ |"$$|%ɾiii'M$Yb`~144Ľ{˘?d2.\III u3f jjji.++ /^D^jb|GXXCSS@@___Z3777JHNNƪUH-<<.++KoPWWWJBΝ;x1BCC ,\׮]Ó'O0|p|_\_XaڦD(zg0򚊉!..6rs$A6dȐJJJӻM Bbb"`jj"mسgbѐ89~0qF" [͛Wٖ̲ErAڦ1msNXSQQE:k{VV-p$<-Z33NGp!oqÆ #[ZZ͛HsNZj.ڭ$k'7"##J?M)SؕEEEw-*D!t#lؽq _<O&,=܌~uUWWKoǏ4wڵ.5ateƶ}mdp>R.׈#T6Csll'V_*?|*?~/mAIENDB`pychess-1.0.0/pieces/maya/0000755000175000017500000000000013467766037014460 5ustar varunvarunpychess-1.0.0/pieces/maya/wr.svg0000644000175000017500000002117713353143212015613 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/maya/bp.svg0000644000175000017500000000721413353143212015560 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/maya/bn.svg0000644000175000017500000001215613353143212015557 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/maya/br.svg0000644000175000017500000001020713353143212015556 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/maya/wp.svg0000644000175000017500000001070313353143212015602 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/maya/bq.svg0000644000175000017500000001541713353143212015565 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/maya/bb.svg0000644000175000017500000000752213353143212015544 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/maya/wn.svg0000644000175000017500000001423613353143212015605 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/maya/wb.svg0000644000175000017500000001201713353143212015564 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/maya/wq.svg0000644000175000017500000001572413353143212015613 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/maya/bk.svg0000644000175000017500000001310513353143212015547 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/maya/wk.svg0000644000175000017500000001340513353143212015577 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/Merida_new.png0000644000175000017500000004214413464375555016314 0ustar varunvarunPNG  IHDRMbKGD IDATxwxTe?wdITRHB("-AP XW.?]v],k((KaE)J 4{dʽ0㤑IQiO&s;w=9#̟?_nw`ݐp%gWsS t~/ ]=wUTIjJJnn)Xf -vMu]@II  Eջ`0d"##~???Zf(VjwTu!Z, %%%Eq:?L`OK4q) {\&\BB #I$QVVƸq㈈ԩS޽Q$ YX,׏AQXXիeqMEQӧC inV&&&Jh4_xqjviZRy,˨T*T*^$=Pq5@5W]fdrrr8r>>>Ӭk_ՄٌbFZJBe)E9FR>WT,5L2 @h5 $J v:*rj VTD @(pݷyhޯ$8}4jpp5!27nD"̙3XVVksn!Wz E젤Of$ l6[, * Ʉ,95zoQQw Dʲ(ʽ5r d^z>p (mI1l0)eΟ?\xjqcZ 5Wu8ȯdp4Ah95G8A*oRJJJ$0^^^brju`u:RJ [iYyYh4riZnӧ)++k^Cܹs EQdYWQi6Z[N$V,^|ܺP۷e777hfurrrdZVm+"PDOw?`>ݘׇ/n: ȑ#>|ѣGӦMf] ?{wPߚxj)$I+G se֬YҦM8z(f 4vنp[fҤI]" Frݜ7RmHe[z50ydy Ȳ|$66ß掀???Y֭*FtL&J]՗t:/.͛7E^0`F9pvB8?36m"66.]`60͘L&[ Bӑ;}X~=?Q&؆ә3gn:8~8~a5Q}Cjqq13gd2Ɣ)SQO(++ѪUVYYYϛ8(Vk!mjZ|rNJEEEK{DQj,Vna7oE1r:gǏg|WX,oάY]w_|@qq1 m+qvl櫯bŬ['VUO8777>6l]x뭷 ֋ىfw˲Lff&'66'6w_fX_QQQ̘1ܿ):WQn:8:uDVVV6(Agܹsl߾lߕ;`tOfϟ'77{QFqiVXC())Ϗ}2uT>Ə?̆ 7o',,u֡y7:t(gϞ_槟~///nf&L1cXx1:sMl6RDD\a9oj"<<|MY%,>>3gάX,}4 w}7AAAb~~} oVKNرc IR[ூ x;7xl7f]~۱c `ȑ=z蕊8w+VGO>a„ YiӦ_PTTҥKׯ .?,fĈ_9? EQVTTп.ۻ(T*u]zOIFԩ:uBE_l[={Ҷm[g_b,0M6n&MW; v5>>Jڵk]YW_壏>o߾̘1?K2e … ywL&kAW^TUUQUUp-ɴܔSO=E۶m}DQ|Sex} k~C(---IKK#,,ӧx~ȲL׮]yW=z?cذa?~z)>o<ͰaP[oAD;o߾\pl3}k^l6;B"""$K/w 8p ,X֭[8wpIX3XQQ{Yf!˲gϞ3}t1c ,HMMG~w<# >\<{,ӧO?իWo޼3g( III%40CFѣGQ3g}v\8pdzi&Hnn.ǎ]Cl3S1V[5rMN?pfIrss֭g׮]<3 Is̩Jٽ{w6Y>|8'NdHӧIII*CbC c߾}| :7|'|򲤳Z9s#FFFr{7///x ٽ{7III 01ᮀAFcZm Yt)K.ˊ H;v^z ///Ûoɜ9sj;6B@mCS\\Ltt4%%%W;oߞ/I߾}wMN?pVu[AAA|pppd׏N8x駙2e 9<]t!"" DQt;Hđ#GKgРAڵ˱LRRR8|×b }z=ӦMV{Mh4ZJqj}3##AG3]=ߟSrJ^z%Ξ=7H~~>Ν~ 77Sju&UO8EQܹss  Iؾ};;vluUz*))h4Hjj*a4)--Ʉ$Iz4 (',,mҾ}{MU3 d21esɡ˖Q\\#GDӡj1 BǎYdKW5rrrظq#F6O?đ#G`ܸq-dUEJuO`` ~)uvՋUU.\g!999[z)2Ȳ^g͵\p0j(GPoj WUU(ر'NT{u=$]srr_r3`P!}qĂu9oÕ;i۶- 99YίyBRRzݻc0(//'%%d'??1kn[G@@CٵkϟgϞ%fXm0ճ3s:(%*joee%O?46;w|94pgΜAՒ9}tU0]N>>_pEEEc'T55uHX,C-KXee=jnEQnt*JEQ Em^- l7aaaa3L&SaKֶZlj۶m=Fl6/rzO:tseРAYZܹsy&먮^'L8yy9Çoڴi9oWdffdVk-ב(;[(gٓ;DBff&Gh4ҿ}]N[ˢI3L,_cW='dĈرe˖h׫'N`ժUhz3E+WroFg0g}F۶m]RtΝ;y衇0Ltڕs!;I۰aϬ^'YF;W_}Eyy9ׯom)=z~ooj=Veڴir:F#۶m-Y#4 GQj5BXXJ:/2s{;i4RSS9}4_~e%bccy79w]&DII ;w׷+}tR`ee%;wt}AjP^^ә4i]UN̛7Ϯ^ 6l+O#bq}j4Μ9C6m\իm۶̙35={WWEE;vhvǃVmȑ9r/&a0()_.U@lKjф+++m۶:u--uU!)) >4+تղfg]BZkhhC{CqmRRz Z]6z-˥~g[]Y܎ 6OV3gϟg׮]Ud@jk;t`/*͛hl߼y3s̡]vp…xlsZnɓ'IHHpxg_PPΗ_~͛[_|Qoo֜Fp@@@//F˲L~~>}`20/xIzk oE]ZPXXXR^^][(Z]ZbbbƯjC['I_5[l 55cyٹs'Ǐg֭[E&1uT*++b9&L`ǎ9rġsNf̘؆Qx3jkZlˍ=6m*%===h4UIRMh4.<:O&/%Q#~e)9<| .=LJ/|$''v붧㡇Ã*FMTTCSbкukƍؤ&}QG&j ~!'<<<=YYYǬVk/Y lKjp._m޽$&&uVr#fD[̞=EQxbbVm7iZJLv2u N$x]Rj5GO>nBjj*wرTJBB=z46lCkUU}ޒɲ,t[d2K*Q7t9fT#M̤%|@FFFD6!_5+W+7EQPT DQ$??ߥº A $m0ݱi9j랞xzzMpNp"\5uCұcFXX^W '$''dN-///***Z,d2QVVV+j;$9*ZVn2orQyyys's-2|9gogo۶Ns-z>t,#"&&]DXXEEEX,Eq(ׄ,TTTp73p@L&?Sݿ:tМj46|ȲLbbb4H88VhSa0~KA !!nݺIUUEEE3~ 戞;h۶-?#???0 t:***8x -j#WUUIuUYrKEEEXz&MjD\) =Aꭆl+ѦMڴi㐬Wѷr ,dG8h4VFRl){͆`Mz94#ܼ&$ǖXC~"ol? J}fpe?= A] ߺ!7p}©!zM $ںuw؄iCy-l&NVV˗/;"dY&--_~Kr'<@xݙ3gԛ{ /6mFEͲe˾:-%ndYfΝ,_aÆw1ydg[(=bRPՌ7ْN?~#FpA [p!o6lL !v]f"22ұ{ud2zjDQt-BeժUeW c޽X,3g(=z4t:f̘Jpwww'6Eyl~Wh4:w̴ix7رcCe8qZ]klUNW ͛>}:cǎ%((Z k{ͲeHLLdǷ';&&''^{Zz7P闕OiUBbwww>ONZZWfϞ=LqQT*f3nnn 4իWb bbb".޷ِ$7Rx7j\^].6Oo\-4ū/ m6:t耗#F]vо}{RSSлwo֮]ȑ#`)mgXXjlݺ￟M6( ˖-/nݺU rNkPf!4D!*Eq뭷`^u,XP E򺻻`{8mn+WO?ر#~-,]B+ʰX, pM7hpөS'i׮ͫ7̙340vIX~Z|Wdzlٲ!IWǧЩR0L_˗7ywȲ̐!Ct35`.Zll,ׯwdI);}?OC͛7SVV_v PYYIjjjK!\p"0wޜ9s;v0c } _M=<-rلqz?Ґ;`bccILL 8r@qq1ѣe)x55 :{/}k7Jil<3?岕Ma]51c8&9dȑT%[ZYjC۶m hR>lMy>zPYY… [)**j:e߾}/ v۷}O]vu?~UDPP.;EQ$((I#5  82Cyy9*̝;j4~n̥G~آo۷Y7J+Թ,ݻ _3f \ 76͍֭[uwA. 22Ν;3n8Νsm›#J2220`p&\ K_ǡҨVꫯxᇭ,?,q?k4&)e:UKV3i$ŋ ߟ@HNNɐ!C[,+y`޽?~G+`ΝF8 8yo@ƎˬYeij9s)ӂEСN%ijJP3Ν;WlEee%'((8Ω9ixw孷ޢ۷{1|p׿RRRx9~ ׼K8|0gv;#%%<ǺI8tu[l6Һuf說o]=I5$*^^^~L2b֬YcRoov7JeŊnooo"##ڵ+:t ""nݺzj.[Z޽{ ld"r<xl޼oF(+T_oᾫWFV79diV+ z:0i$"""DSZZJAA)))$$$/R EQ8y$NI8uwygaإi+໑#G]Q E8Y)**h47ߐMLL SVVFnn.III9r ZU`^^T!؞}NNNtWr]ڙoGDD/[ VFTR={6eee\pSNk.NnJ`` iӆ!Cc_˽萆PYYIfff&:,Yb"Y>;;*A@]K… tܙoŋļyP4}iiC^$,7x\SdUM-VWSHHH~חiӦѽ{w$b"''v=ݻ?ҹsg6mDQQ` 00/(( 11m۶k.i+ +2m ;[d;%%%\;t-UQ9¢E>cܸqtڕN:*Vsӧ]veܹT򴷷7iii-zMQ]Xi^^^Ղ_w/~Wpm1m4{9[$**Ν;CTTdgge~m:w쐦>|8fbȐ! *++IKK#%%gϒAyy9ՋUVѯ_J_Qf t:<_~_nTѿyٳ'*:֭[)..-s2f̘ZO8z___4?|-%ME!00Hvv6$9/ί6TjT*UJ"$${7p~˦O 1cFi+'Nt8[z7&pJ_q rili\{?!\7集+͟?_-FJ֬Ys%VzVX.Z( ())ԩS 0_ Z^ȲU?񫨵 ׽z >}+28==#IF:#b'_6*--D`HOO3CJEqq1ӦM6C WVVٳgԩSdddжm[Q(h;vvsss˱Iʲ/zMUUg|Z2::uK.\o8ݻRC _~߿'NMTT)))lذpRٻw/Gѣݻf7 Aئh=dYzw>(ODVO %ϷݾSNvJqq1,{¿ Zp,G׮])(( $$%×E/_.׏;vEq:ZoV&CWlpl囜O@%9^Iv򋏏 4|auYyӦMcҤIf, Վf+VExx86lfҤI L7E9s^DJUT+`/5^kV $9vO#B,.}N>\~{d=\˾߾]R'lmݺ777;FTT.\`Ĉlٲ.8(K$Iz[``}>>.^ƦN8#>kײe|}}YbCl6j*<==Yd 1ݻwZcƌgĉuzّ#G;cӤCeӧLWB+`8c^{(s.I5[788ءu2o˗3uF @=HMMuE2ɓ';w.:t¶$ Vĉj7ez86rHjp!(ѣt-vcW'p۳ך,{yT駟f߾}ܹ@$W<Ϥc4J`T,KjKႁq@4`O<7;qK8W8(5"}̜9A5(,,DWq&ͩ:tP\kp{ITTb!;v+..Nه-!Cн{w{!Z"]?Մj{ϵVA8Qf˖-M;kR7Yٻw/dJ'O`…xxxDb<IxgS4hgϞ?磏>]vܹǓ‡~hjp-һA wFP7 f:tM6<|S' ,Z!"{8{wBn6zM{Ջ~8'N 55,rss)..d29^|||h4xyyO@@!!!mۖGݻ?^gر09cǎ˖-cH`cܹj2228q^^^t ʚ5k8|0yyyiӆL&}}|*'| 5Uس\:^ף]JG)'3gdL4%KpEvѶm[///t:#h4RXXHqq1/$Ix{{ӱcG8@TTcǎu [֧>ӎ䦛n&FHHceÎ]:V+(2}t&Lӧ)))ᣏ>B4fz8g8>>x{{具#;)%%RJKK)++ɄJ"***vȑ#уSNQUU^}jՊ@ zޡwVZZJEEiii8ppss#::U{%( ٜ}o42кukf͚Ebb"gϞ6 EEE_56m⦛nbt҅p( ^^^!BNNdddȩS裏kv8 s!=Jݹ{馛',, <<<$ 777$""##SNqI,YbYzԃRA$I[WmoEEEWue[ ̜9W^yNκl8OOOV,|}]֯_ORRRsz|'tر5m8___V+z`GNݞ;s ׿8ullJHIInXEQ˞sՊ+%|l޼xGU`ZjzEQEшb 233!))D;FAAo۽{ѥKU.]ҥ :urȲXLnn.yyydggs9Ξ=˅ m]4#2 :{8g4DSbW_}s%\\\;v$33/r8@iiit:>>> zADD͵NÀN$ >zhѣGoh\ lI5ȖМA W^hPT^-l6SQQvjtXJܷN]ڜ !C-ٹ&b3;(z.^hjdYZ(p)W \{OT6]zmIENDB`pychess-1.0.0/pieces/Pychess.png0000644000175000017500000004241413464375555015660 0ustar varunvarunPNG  IHDRMbKGD IDATx]wX={APĊb,ѨDM~%Fb`T "EAz/RLvav4qwΝ;%vg|顠(//:cGja|/CO<7n=yѧO 0?-^xqGChkkcժU=Q%z &vZFUUi9555*urcccٰa۝;wMYΝ;vN<5|p>k͚5uEjQbh4\\\ &&]vFFFx9;vHm ߕ6l0xzaPTT'%%뚊 dee :|ףȗرcҵI$Dj0`\\\b(rP>}ٳg]<_WWס]MMMY,,,OmȐ!=Rgvvv͙3ի5BCCi<<4bPQQm: 4N:˗/<_~"u6m;t@?-BCC^RRb/c.lӧOM~vuu]e=[Lvv6DG4%KF11qJ333U݋/nݺE \shh(=00P_]ϟJ:fΜ ނUq̙. ?JNg0Xnf͚A\ fffg777j*؈ﹹr糲7odgg󽧇\򳥥%oAAKʖn"|7(,,.+ ֢W[b :q!~tx 2!?gffr=tjn~NNNTYSS{mN!>>P+\^#̠A ..fHJJ"##m cǎa߾}ׯѷo_6m jKGP[nnn}LھlPPؽ{L>=&4-w…=`֭Z\\Y?ŋ1j(|UUUC ~ TSSS… h… 1c j׫ Dqq1[nAEEEIׄ$ UU] cymQQ=zz---;4ƆBee岚3~{ů_i?iiik_nȐ!駟s˃+Yb !3t:UǞ={ʳ\CC/ܹsxap=Nkff5Lyxxݿ_աݻwx@KJJGEE u.44Tٙk򤤤yyӜeF3gBKK RRRGhh(BCCЀ7nې ptt&MHKK?իWQUU+Vرcs!̌5///Gpp}^e=zD$''u.//o[y{yLj*(=d3`9YQQQ͛ݻ67Q__+V ..ϟ?Dzeˠӧ8q<?\Oظrɓ eeefL&OU/vmss3nIPDDyӦMHNNƠA0sL̞=C 899!)) |(<1l0<{ waff3gb޼y011ѣGj*ɱ XMM y2xC_Nj/qCEhkkյn޼W_AtMd^`"""ѣZL&nnnÀv}ts }q0qQ֣⿛A5brvvFtt4<==A믿-h"?NNNWtX***~z w^IѠtqmm߹044.///8;;cYgϞźu462zFFF5_~:uj9<<={ΝñcxH;],X$}&7=$ wuJ) >>~cݸq#̠}}}hjj .))AVV~ MMMxJ)/&O qqqddd 33hjjB]]ZZZ )) yyy())AKK ߿?GB~~>E#;vzAkk+X<ضm)Y۷ 68\zOri*SNFÃ~#GB :H8{lƎ{C:5󖖖Ǝ;:8BBBo`mm9:ĨݻWj ۷ooQw-'D68'NRRRX~=._ ???Xt:Ÿzj},h߳GwV O\ff&N} 9PQQ\m@JJ^ t܈/))8PII YJJJ[j+??_PC^xUbzz:-[aÆaƌ"@  IsU9NpI#Й ͛7L0s111 >A`ƍ ݻw]o{\v [P'))Ir;@WWKDŽO111ADhh(kz'YfaРA8|p䅖ܼy6P܌~K]\=z[srr4To 000q,+"/\t ~gݮğ>}:P'##CDdg^|I2ں\\ 33KF;U_޹s077ǸqN; <~k 𢡭 [l&ظq#tud 2^^^ߑ+W֭[ؾ}{*/ڊ5k`\MMML6 zzzPVVQ^^|<|\u]۴gϞkjjW_}T{nBJJ gΜADDfϞ$={F...|҂]vQ=;FË/m6 6 (**ͱzj$&&R=#ƍ{a~]7oBCCޔ&&&8q"3LMMEfff0yNRRwݿ#F'k`0m6 2sEss3\]]{O"Ȧ ̓70yN%KƎ#a&L allGT%󼁁pJɓ'TN Fhkk8nܸ!qb̙E؈˗/pKˡ '''hjjRzl (//Gqq1bccƦۤׯT:رcB;n޼8=,:5&ʒw܉/a ũS??eHIIQ{>>>QTTDEWUUAGGPWWG߾}S;hhh趴Ell1{zJd(Ngm޼Y(ÕNQQv+ȷH }Q;xq>6$%9 w܁4551tPL<:u* jjjzF!**J XYYٳg"SUUv>[K$1fJP6֮]ۣJ%%%,_;)ǻ{}055Ŝ9s ۣ(**1mڴn?&&F0`epph}6mڏN;f塾ޞ%&&  F"NެY@^5k=_䎍;111rJGbYZZt\PFFGGvZӯ]&jeeUz%ZWVNpLЯ_n5Ș4HiΫ}/Il]RxɈ1c#G [YYu58RŐNchOgaCUUZZZ`0 %%: ؈lܹsG\^ؾ};`kk CCCy577, bbbPRRA:sss!yGo߾œ'Oz| }D ddd ""^UU%( 0vXB (:플 x{{S;N;Ruuu3>>=r'")װpaXy ]:(Do)544PD 2q[w`0xηIÞ={Rzeeej”ȹ.6y{;X,lll͸066ʕ+qXԼ0n8י3g6[[[O_0b3utt./&M ޺B511Z 8::BYYuuu/1i$u2F}kpP?eANN+MEE&&&߿??A@ZZhllɤVL&XldddCG IDATPWW:r5#==qqq\ //AH}uO[hmmł P__BBBB?xW;Ğ;ZOO'ORgddPy>tЁ[fu0Lddd8p`>ggۻGõݝkq.]*Lŧz@LL rrr=N .&&qʕWWמ , nݢMVV`2͛; Q[[ s766C߉ׯ]]]%e߻wsΝSb˗ nkk0?9rIII[b߉yxx],cbb4ĉދ'AP-, >>>m sljR/^zƍٳgK~v)Q]]hʣAJJJHIIA}}Hn\HH/^l.**QVVn:|0x׮]\=Zmm-bbbVVV=C tR?~EEE\f#Fx'uuX{lpKN83eע[lk=;w,ӧƣFUU~iӦ}b¢\ಝ tp7nܸ6~~~ijjRC޽{~zw%Ejxel֭ clڏ H AhrJE슋!'';w"??Jooo/^ ggg̜9.HVwz={w888СC8}Ky.\%%%\~ ***q&M&`AGFFb>(,,D`` 111Xr%ϲx ֮] x ]u`X˗/ 5-n޼'p 0@ >kJO`;gO U0Lx{{`p +VA  b0pssO?زbbb{d21qD,]TFO)22#G`?v˗/)عs砭 Sv0@Ç pʕOnlD0]\bb⫧O 俚6mn߾e˖t:V_.F"'NرcsAAA:u*\ӧO?께WG~JˆuJaZj|ݒ>}:ON}ꫯ兊 ~:HFHK6m4t";;G{ z"0:222 eeeƓ'O̙3z],yFSNښ:vĉ7) zbOYd;`ڧt[]tJ=** wjq;pŵWx222מʕ+1{ltR[cccԯ\XX۷o74wCEEF ?Vx.\EqSutuuEFF222xmP/r)aɒ%"_kgg'ԼEFF `*iP]] GGG8::vӪggRk׈މ:NgΜG:"TUUy>͛7d Oz^__ AppPweYCp1sss<~ohmm۷w |#̞= L&gƹsvZXZZBJJ RRRPQQ>o^^^s~2s2e)NQs K>|˗#TTT&ĉ>#G ==| G<&&FA=Z~=Q]]˗رcEcc# #;;Xbr…=[i^/abp9x\ll,%P"')d+Wd*((6mfX gϦ$%%%((()))*\7oހb999(--ESSS̝;{9pO#WYY)ީ 믿 UaÆ*Kd++EٶmoO>d] PRR9t)++3 oVVV͛7QVVTWWCRRPRRlllpUdeeQBYЉ&Wb|_#=uTƏ/4mGII Gff&"##5111>,QF >Dbb"RSSV^^^p*&8,]%-k} Q|tTVVut0re9fn:k,矸|Xhh/VVVHv%%%ꫯhʝ}0i$1&&&FUURRRr ###?zcXZ (`p777466`…#޽{fŊ+ -uttp'ZZZ3gn߾VTUUڵkF Ljr6Ho}wvݻ4 8{ϜƍwÃBY[[|v ], 2e  _&0![ӿ;4hxyyDXX؆ &JhjjBUUA!))  ԄDDD;_kikk{}T22ѣGqy $$d' yyyx%ㅖ766Ɵ5?+..؇ jiiaB3?ϸ ~2x͞08}}}|BXXК"y%%% 555hjj_|a}޽Xd ۷ҥKHMMEVVPRRSPP@ :T؟.khh]d!vDI(F9i4,,,`aaÇ***PQQ;onn/ۇd8p=~' 4;vyMyy9ˑhxԐ4l0[! IB x1cts{{{\|g2}(((@zz:={pH@]]<#G 0`===HHHO>ӧLLL(\pp0N Tz\'''{ Q[x qqquJJJ[n!&&2M[<}hkkCtt4Ozhhh@KK ڰ ֓?&a2Û7o<4XB 4=YC}n;v`X}vac4''-[fAKK {aΞ=VVVtȢhHLLR9 4hP^kW 'N555prrb9;;+P>offXX̐y扽zlȐ!TGmɓs :::_  N&Mq!))K=;JMM\ii,4epr PWW:ta.]N֭[ qqJ?)!;;L 00vvv>5qKNNNdBWW^^^[@hѭ蒒dff"33:V[[K4Msa͘1uYfYYzy #33 / #F!==iiix۷oɓ'3g~@hgM2u)6N:SNuhw^:u 6l[F__k]Fz8]]]*ŋ`XPVV%w7F ::vر---Ý;wRB~~>%Ii'%yg6c~5JJJP\\ @ɓ' Ǐoii8.y>Ç`ݨ˗/!&&.Zlnl W^-VGf͚YfQ[[[XwdZZZp}:::8~8Ճ}wL1117Ï?ȵzܻw04!!!)bmmmPWWdzg7ߠo߾3g$[ZZpMVQQQN:%*\ IIIe &x1 RA02dH+##C9x9_~%޽{m$ K.Mjjj/8\qzzzS]\\X;SI$$`iɞϯ?E||Lln._Sh̝;IKHKKŋIXdffF$@VVVV 6sI̙CG*33 Fks1zhe8z6L&<==!dkkKY#G:\p kc8_9>|oR Z[[{~.Cw8;;TWWٙ(#={6߿(߿ Q͛ {1A.D \󫼼9ӹߺukZg} "Ym&ȫlCCE]"_:+++*w OOOjbhh( O>~:lll0j(lذ XXX`===+*033S5'u% ` :oF(Zގf̘Ai'''ZCHn !iԨQ=z4"###KKKV@@&sQTTDee%^JQ: {{{s 鯌`ll̓gm366֞YTT---?7nDaa!=xDoCCCHLLu; $::455 qqq"## *!"##yX,XXX, xu@7ݮ}9sۛkX% l޼yANN444̘L&,Xa)66SWeذaBZedd~Ë/(fVV&V9뭠ԡC"!!?`믿F`` AșS8q0||W3gd2 :& swwGff&ewܸqD\\J nȑ۷o=pJ͛~...JL&zzzdۅf]wutɶ^th"RK$;.ull,.\UdRmCCC :nnnTU GGGCnnn.&L-At"66V.\؁uV);w" AȨs1|o߾37nPΝ;C᯿⚗~Ϟ=$L\EEE[NNN<6l%KpEDDDP)81tPܾ}駟~۷oֆ#F~JrРAخ0t̟?Zmll0h \...ׇvy>KNOCCCFb8}4TA$Ξ=K}(K$-Zd|+ÙĐ!CX{{۶mPWWDž 4i8Ӱ8p54'x $&&b\+nVG? 1y>? >O6믘8q" %%ɓ'SW*9s˃}`jjc֬Y… E ذ%%%\xϖe~ hX[[S :$$$ɓ'//^eFZZ PYY TVVr0***i&())AQQJJJPVVF~!=Aq)-ZH#!!pttDqq@ ɱ{%Z|H.eee 22{t3O>ŬYBss3&Nث566q=z C롥"::Zd07a``ΝChh(ީ0770j(BZZ6l  A\\JsYUUE(FJJ "##l[Z&L 6ilaaa;wޥ QF!<<;씲( TTT닖{ABBҨčDkk+RRRBQvPs1 |?]]]qIDAT|r߿ϕ^X@CCXhz&Lk׮+ A!** _~%bcc{q᪫1`;v ׯ}}}< ++5Tա(**Bvv6BFFe\8tT ϖDEEu}_;;;u(((ҥK0`0Я_?lڴIv066˗/bpʪG'x2~KKK1fAGGGa222 rlQ֭O>nv;gV555ZZZ^]\~SLu9",, yyyhmmQQ;ZZZ())bH:[[[455MMM4塠yyy@__ %͛^/%]x ?܌ddd555䠠MMMp 1Pʯ"##!55KͲ+0 j@"88j{֭[[M^Ǐz' v͚5Gff&D$Op Qu'NPٖt:;8O[ZZ:l}]tT^*j $+qu2۷/ddd:Rʸ_# ܀zbbb3f [XZZАrhkkCUU oooܿˇW__<<<ѝ*>J5d*A5j/^iӦjhh@\\^ ??:2]\\rXe2x1 image/svg+xml pychess-1.0.0/pieces/Leipzig.png0000644000175000017500000004613013464375555015644 0ustar varunvarunPNG  IHDRMbKGD IDATxwXTǿt#*PAkhKTKQlQc!Q((J(} {ò m;wfw9ߡ7!AP>wGK2| @oCee%Y@@g6b _{)--ESSY\\BBBܸؖOWmpo߾͛7Xv-'u;w2˗/?`Ȑ!?o?vzްaìÇ FjډqTVVRwWWWNZC{Sd2x4vt:uQ3N,iCHH"""x1O\cc#:-͛7-[n~nnO+ (377_ϻ}6y-AB'4~Ϟ=:::pssñcx|~o={ou9;;/sww?ppp0`9Сsy}m}/߿?Fo޼ýBpU!55OFzzSUU͛BQ^^6 477bbbbh0Я_?rq>"8iiiZmTUU@uulsϞ=iU fsM"))HJJ|'##HKKs N(xbOLL,9糲raJJ WJi{zW8œ{ӟ&<{ UXX0666X^6m´iPPP@/**B\\P[[ )FvU2lmmqΝ^U__zAII[Ap@BDhkk/4C #kL?zϫW cĉO~kf #OH J"<<PWW#ʕ+dh4X,xyy!;;@ϒ`bd"$$Ϟ=êUЯ_?~|fff(,,D\\f̘}}}hkkCMM 䏘*++d2QQQ dee!-- ɸ~:LMMaii٭ +!GD=ALVVVaaaeeek}}YYp[SZZjÆ ˽~ׯ\]]/^AP(3g=oooX^^www477C@@XjZ޽{q!Jbʕ=z4q! ** p&M)))@bb"98q֮]: BҸpt:d2ѿӧO[bȑPRRBnn.LLL`0PWW|tj[@\\رc' rrrǷHJJJhmƎYYٴWdddЁ񓏏 s`Dss3-BCCBCCIII̛7ǂ d=ؼy3/_ǏϞ=CUUaaasAGGhjj¹sn:w B ++ RRR,9XYYaҥ5j<==q1BHHJJJGQQQmf=FR{ұ#yQ㮮`2 sέ_~fJJHII}~AAAhw[PP@. >-B||< ѣGAx" cccb߾}Xj0i$8::b011AVV\\\'gEE M{IOOGMM 7///_*|d2ѣv<lccLبܺ#e-33566.WSSc۷[]ҺP_G1gΜAT?X Ѐ3fuuu8|0DEq/릤 %%䙠7n\}RRR`0CEE&O  ;;prrBYYBCC!%%%%%TUUN-[Ԍ8q℻-[޿ h4444 <<܊ A Y,nzX, =j9)ضm//kXronnn:[Uտv0VSSܹsq%N{BHHVVVHNNƮ]PUUE֧yQxPQQ!o\!ƚ5k ** x@HHQPP+WG%PRRww^8q滣B  *Vjj*#77Wp]먭w-//  BΝ;񙙙t}}SNYݻmNPWWǪU`jjJiӦvTWWNj/ ##yaݻw\_} KKKOHMM5vWWW5 4 #GĶm۰k.X[[#55˖-ѣs<$''ܻw/ 10`zJUm}mMMSVV.Z\/ZWoo߾2aÆA]]3f/ocƌiI&ɓpssCe &jjj\u'{塡}: << BVV,--affUB#G@P sիDhhbW=} gll+V`Ŋիmmm8qrrr8q5k +Va``y#] sssrДҍ܌s7`N*"""100p 瘙Y.A]ZIR?~kb`}j̙3eee\@˚u||<.]B 0115_~AQQ':̙YYYテ Μ95k@WWĥKpE9Ƹt `'GۖyJcqqq$ZڶǏw?FFFsZrFF`nnq!88IOO44h222@ѐ6cjBȈ/}}:n7GΝ;qlݺ4hps> `BI`oo .`֬Y\MǗw y0 !&&S7nQnaaQ(3o<`С-vFii) 466Vew~%7D`` 664 4 wޅ(6l؀xyy.]K.AFF~~~;.WM!}`ff*l`ɒ%Cff&޼y===lذL&ŐX,bccUUd&i~^#-- [[[˗hhhHJi{ >nرJ/===BAARRRRAMM X,;dee!11<@ll,WH;B1ZCXX7nŋ aaa_x 6mɓ'cGYYʆܹsNJb`IIIFvv6rrrd2̜ uuuDss31sǽ闁|||Çcʔ)5 ===sL&ذa >jl@2gϞ! :::… sP]] !CaBNN$$$kkk1||111=zm(--x7nd2X$$$ 772CLL PQQ!LLL`ccs֭[xAmDCh`X`٫ə[kzs* NHUUUݻXv-.]ӧOԩShhhbccIӧOSP(&Looo˗&M0pQYY#66~~~Z&$HHH8G18}}},]\ bʔ)Dpp0nݺ1#GāPXX///^J͆OL8'O\]]!!!ݻwqɟ5k( op{.˗nBYYY_ů ۷qa477CWW d"((III1cèNGyy9Μ9ǏJBRR4 HIIpKcXXL&cnLcc#~xzz k ,իW===$$$ $$ JJJ'OPYYi^rK.ʼn'P^^8k.aFxx8Wػw/!))[*!_ːApUCJJQyyy hhh@nn.X,QYY }}}7ottt:iHHH\8yMiN%%%x= ;Ѫ, :|Տ9@Ki͏ OOOܺu t:\k 'g=^zsssHJJ"''Ʉ^~aFwhjjJKKܫWA˖-󊌌\]QQ b֬Y3fGgUUUx1_+WFFF7 `s֬Y?PRR8qT 6vZ#((K9m )qqq@233acc._OOO۷ .D\\t -0j(L8戉Æ ۷PDDD}svvƍ^ѣGqȑ^3rWCh4m-c\lݺG~- ׯ_-c۷`́舯ߏSNފN]TRR򆳳󤒒 cccvҚ/ׇ4|||mcǎAVV+VB ~A!333s۷oUrrrx(ڠ֠NSS󶒒oEEE^5++444BBBj n֬YvBkz Am۶ 3eX l6[B4h!!T6S!)) 333f \QӜSrj k,3>' -}&_/YRxRAoOoX,JKK; uF455+N>'|4ѣGEQQWill ,\IIId ˡ{_z+((@bb"222t|2X_|efff zlC .==0eOUUB NTTGN/&Tjkkfduu͛7puuU"Fpzzz8|0v 333DEE!006lG,z*ixAKK ()) @+Wl{`Ux6zmpt:8t ** . %l6ܹvϯ]SN9.\u-+TTTPΞ=uϟ?7|aMɖÇ_HIss3&xyyfZ <==d2>%[n3 a„ cǼƏ#^\ff&aaa%JRRGj@TTZعs'l6o-FsNa„ w'nٲڵk 퍘TVVtwwO?5 eC2f`͚5c_XXθqs=fX,޽Θ;w.***]{;26%tʔ)p۷g>z( ccGmm-*++cԩ(..Fuu5_6+w|ee%bccM:"77~||<)) 077ǩS|rDDDPܹso]\\:'5=6X044DKP(~tD[U8lڵ h"l|,se1|lݺu5ٳEEEhllh}mm-V^ @[[ե֭[Gvff000.]{qI`1Laɒ%KWr*l6Kܯ4>}zBBBؼy3OON|2***p bܸqޏmۦ1U=A퍍7IHH_~!7_66'M---=z@OSjj'q̜93$,,Lh7w}1ct8f3DEEzzLLÏPTTeHIIɓ'=m@Px²sssA,VVV"##gvţF0aBǴ>S|tʓ|iRɓ ]nUVV",, gϞKqYFO3P(nPȡJ Ar9ܓ l(((`ڴi7 22CI\tt4f̘i%Lm~BP2sqqѺqF۟vLMML8ɳ9 RdC7oe  ..Τ{dp\{6} 7@nUFٮzwy ВmHn/IIImv1c ((CCC\xCFQ&MBff&jFFFvV^i7nt( /044, QRRW^̙3hllӍ ~eqq.TTT@__]RRBŠAUTTү\bxb(++CWWÕЉ^TTQ#300p.xxx ::7oI3}ɓ'gFrr2޼yC:ƥ0}tyJJJ|Ѽ##}?uTխfSF :tD}}޽{ bbb0p;DBöald IDATZ >)8z?b :wwwlܸ- *L> PWWr!++ k֬[ُ=RpE߿`ggfС#C)u믿쁮n68cccx{{ȋx `Xd ~g?~vvvPTTD~~>߿ovKUl̛7xnܸ~&MƑ#G#FaÆ~UxQQ)Q>}zUku͍7:;wlwp;|pL0 ϓATP[[T{W\Aaa!FJ\|:::3)>| wﶭ?K.f͚ WTTt[.g-rr6^@ 'O;IbϞ=رcV^UBPT!((MMM3S[h̑G\睜N9sfEOZr2 \;v p߿̬[B@@[nʕ+;N ##U^^ε}fΜ9==='&#[ْN22R>}Kٴe[bڵ}f@ꬵt899:,o߾EHHy 4ڭ ͠h@5&&湷w{ېC>3khhӧBQWٴipilڴ?M{/`CHH† ,,,0j(xEEEڍ*Exx8^xMcb=6;wguN±cܗF.\pp0 {#Fhh(=zq/2xzzecc#I&`())v؁;w~Çm9Ndܼ38wtR߿rxʕ+|368y$xvOdpx|}}{A9s&6xƌϟTߟk`PTT۷?`̘1VFgϞaʔ)]nƍ?޽.؈˗c:zVVЫL<rrrx]!0_#'ND^^JJJ0`|B}}=rss %%7o`ƌ0558 $%% rw;N0iC<<зl݇Re߷oOo gX'455bAXX׃Jݻw())Avcc#all,R>&&\'tȅ\ff?3oŊ{RRRVX{888$l޼yT{233_~Att4݋'O"33cN; ظuj5w\ʓ'O\(ׯ_GAA|}} "S8x!fgg8̚5 θtFUVޠ IIIRJ h 6Gwy֭GikkחrQǏ?W=#M_ZZ0 6 gΜ-[p!(++#((Č33i&el@KK{1ݥi&KooBBBe˖a&9~W zOB~~>޽ 555,--q-c7o"$$C O&a|]#% [ĬN/_bҥ`2K.u[bpݡun̘1\MQQQxyy! _Ćw2999AAAd<[qqqɊ/_FChhŮWxa޼yDPPCMM y 1pO*MvFՙk׮j.GbGUU455!$$;;N͛[nADD4//m۶YKhc^~=`ooٳg#((;v@dd$ yyyLkf&P(߿C.ӧO԰xb#33 T {{{\p yyyޏ9~<~>|xGYY9033Cf1e%9s擗/_*ܸqػw/|}}Qw}JJJ$I 0yd]gϞŴi ''455)))puuŬY"M077G|||T*=}53Ϡh8z(^xooo~&Ma/_.F BQQZ#J D2-RPWWsAII 666w}81Ŭf[[[رcvލ 1C H_|ɓ')]݃ hObdggc̘1HII/M7obѢE{.bccaee_ʊǣ;;W/_===Ȁ``(--Ezz:PSSWiBXMø/_:t+oL>]wzO(,,ʕ+qĉ[j|Z_޺u zdt=Jo޺ukZ@@]oxdddpEDEE(X,L&8̝;M~DFFv+̾f #mMMn5֖I&続i/ӧ3f BCC1l0 4055mn~Kɼ|G98:ޭ'] .***>77 44/|L6 3gGb5t:Q]]D 48|0oߎJ'&&bbbxwJK=D +**vlpCCC "## B+W0{ʑ0`n߾%P__]]]i2|ʕ066ƌ3xITrJdzݿR.Gb͛ >}:6m#΁#M 9rYYYx5DDD`kk[˗طo<<<{P( _w ^Bss3$$$䄋/...>*++ ---cرݖ)((PCK.$%%2dHe?:'BQQx!1w\Ç͛agglb!..iii9r$`ee/_"::c̙رcc޼yFHHJKK!++g ^zڥ'\JJVqq1>zff&:uE~„ hhht:ZWԄL`رXr%_d޿Y}w TbʊGb5=?41̷ی=dpKb5_4 '!;9/Yb4}RAoOo|BŶ|̥jQ}lvr Z(--ESSY\\/>op?;wfeeEyÆ >|S[A\\ Xv-y'$$$ FTVVbΝ\we׃F'OF{5~Ձd|)zk111gΜ>}APwWm5 zjeQZZ\zR.$$044NBbb"F[[[~W0l5 ٠]n0L;ڵk\. ~i啪#GԩSXp!ט`ݺusssXO(|M|\\\f̘1AeggPWW?o^%K&Mɴ*>;|18$$$&L5Ν;Ǐ;yYPPЙUVQ>|(CWСC̙ٳg?ݷo/╕ZYYĉ֛7o9p@(?h``3g|fe]686a5Euu5Im\knnoS;N+넑#Gb׮] =%%'Ođ#G|;v Ǐ'Ckjj@zV5U]ʕ+y$,,,؈|466hyxxٙGE@@22z*:SUܿ433+Ⴠ_(Ar@D:NCRRRpjr~V޽{WYY"$$555A5#L~S~uss{юu0={ɓ'CTT/ԩS1l05 I]>111L2ϟ?S'\K(EE{?#RRRpyxC !n 3͛7 2\x,V#2n8{%ADՀ ^~dVJPVVFMMYd 㡬\ abbr-))K}Gss3.\'O!k֬/+oJbƌ}ft'y#rrrWsRR^_K,RSSy E]]AAAA8<~w$&&"'',A FOPRRڞ<{l 2HHk 貲oSSS?"&&F~ӦMckjj8ijjZ>))ID\\>ٳVSSԃ{Cmm-Z̕!''iii.Fy͗y Jru i IDATuu iGCCCUUU())ɓGŋ\OF!!!ܹs8qRSS1aGmwy&FDyիWq)ȨȾ}rrr5k"##gddr4D 111-Z999dggN*"""Ntwwr Ƹ{.ܹ0#77iiipvvF~~>\8qaaawܹ^> UUU(((&""X,ݻwBbb"cAAAYYYppp:&Y֘.ppp uS֭[䄄̝;6l@~777HJJNC[[ؾ};Я_?S;|4>>>HIIÇ1eʔN7AH])((pMlذ W!|gw>+`JHH`ܸqpttɄ/bcc\磺P(`٤W_QQ***044 Mu<޼(-- ;olCn8r(>LWe6)(ͨC p*ۉ Ĩ`u6$ &K(2= ,5Ki\fORi\E;{8j>w^.~w]=ےJܽ{V{c>͛444 #~t:r9.]rxW\Iss3;v@$h=geTKII̙3fy //5kp wٳg4663ިjZZZ_3^nD",Ybq&Q455!Jaƍ:tzzzP׏-..!L2'\o>>>_]|}}D?<bP^^X,`0P("$$yT*Go6m(JŴvZjDEEK`` yyy8f3555^G$qرD iܹ"lذE!.\fNC"`2hhhૣdfT~OӧO[t}V!>` {Jdff l6Q ܹs~'}^u'.HP(0,!Yt)T*"## %((Ántwwc6z*-Sg ,OLLl6ߧ ӧQ(X, >zˋSNjժ1cԐÇM3o7\I=!q\a6}-l۶B233O555)e2:Σ2줤$J%MMM'®l֭[7K|>9`1&jxb|||sno,_"N<9nee귿꫷o]rAەېcxM W.zp8L*Z{^ ˀTdzl\ӴBc3/m'1==]w݋iF+jժs]2;00oxXBa_N[ 0" #D<_^p/r\^ӬɌLMBAuyg}aafjvvT*~ll^0A6짻{+S<܏B:>/ϾiGUU  SSSB!L3hH BUu [aETw6;R|q{㴮ޚH{J;/RX$/|drriNz9!ļi4RNi`@ԉ'aƍo&&T!4>W^y9qp+YV]7uKIҞ׼||fS%%:;jj͍BaOci:X&s#Xm2qEr)'prG4"0\l6K:4 oZ$vJsss6 òrܚC|X,l4ʓέe504ChjJn9z(33E,b j5@,ʤizi**d>z{{_tY?1 ;#@]( Z1RhF2``B@"XQ;?[*d/h̹V#$%OW媔py_~@BH&{fy/@__:Eo(OLH]7T\)+iع u hsCUرc]vcY9B.<&'`Y喛_T'p'NFQ"Ý_tf @srٵv## ?i6J)Eeփu(_JQz \.ʲ›AAJw4#=0(}9VΝOI4MCUuTUCUtw$G(M4څjhN"M^d'.&\^^sn,IJbKm'عiB!FGGgm[X< P~4cz{[Q))Eh+߫mhu#WLL*z^-]gmȏ4B躊tT tSgHz鼢((J:]`||O>ᤔٳݻwu]]AQ4J<ј Fמ{W0 p8(366޽DL6m9\/Z{<_UD;h~4#f8(AuZS⏇l~ ٔצR=Lw%J̓_ ;ٶ]wݍhRAqxlx0!^ql0兣DŊNUUB&z}cǎlٲu֞Bcaa\>uh4fsp2(*Blv846L8rrj˲&&&&g]yA,CJ)KA@y0e(+•J%RGRfh5P#H Pjo5-A@ g \i3"YL]7F'سg7xtmZ!U7l)/5j#dW횣*xOX:_~zxҰvm_ݞYv?(h"jTKwϵ}߿-TU#HEQyNN{&&v\|ӵ/XyC#GcOmXuRq?h5w"%R>0X aaTECcH$8Nxˊ( j<߿w/hoj45b]*ʡsb6O##W-+ފ46>3%g[!K)%f 晛>D*Y@׍yz6UUBpPdj|ϣV/.pS݂h( 31lݙ=|ϥݨQXu1q1@Jk )|OUUaղf]SفkA"<½=\PСT ]>Bv3s"F,@٣rT vg z:|~-P !mjL& c5_%HB98vvN"ǑgAbMj:FUTE%"MZQlI8 GۻQZy enYVK /#|,V]3hiu.af\B(SURjb`hxP)i˘fi.yv'Ln7R$UXOHTNqcGIƻv=3SBuDŹΙg):zn2U0dgC@>yٶ;uPlz{Gfhj)$X Qv+A8٬Ru=V硩:vt熨 UQgl bhfBzҶ_3 ] 9 ( -@H%2CxIH)(Wf,!)׸xLJ|Dbtj,+ Eͯ*tK'Ҧx?ѵ!IpmSk5sZҴ8< qPUh4A4|/hcXa;>\`}cn ]2XfTޕe8Q" E5W'+?N SgRU]'Q)ע4_m $d1ts1_knd/k^K?Zm5k_ݚf]*W>?N'͡'mD$XvNNٸu󿎠)9 d pVBzhG*)E>&Qq< i4p6v6xw~q$ip]]]h#3700XnXx8K4AJ"$]2!N¶k%_\>d"G4\Z]YfODdBP^88NXJ48q)[JYZ:u]xd2OT13qG(GF ry5o6IEӴQUs;D(zB9OH$PUyƉP }|lu&&o,2En7fHZf]PgAٸnzmvaIXlҡٜwfggT*B@uZ-P8-:n-tCT@1G:}=/FI&TML3^4O%jkLN>p3HE8?)GM^_]Z: )*i6vM2חȑKnP.Oyv)%B,,LRΣ:ݮym(<*7pAzj`b) xф:9yvǹ]_X"[ I.dbv6!q.B3j︚~\Tyy*%:t |EX'xT*%i4s]J7i7SױnZٳgZ È 02w'ᩨTTƸ[ʳm R|߹T."d8FUEQ(Bp{{{8==OT@VcrrG;ǃi6 QA2`||۶~( 144?~T*zJ^T${1MyAX>TCB$'i6ۘyMS0M ¤늢|Oa{ B0 T* Iec*(Ux&Z:sk֬!.;wT(H)q&'`.4;ALˊ=|n*354[l`5l[X|8oR'B LO #hfrDJ]0}_-atfo* Ga>_)o^o~)\5A`&B7MR)&''y'9q.k'piR}!LOOΙ ×([XB-fgg} xoXo+iۖ-[8vqJرccccK3 !r B޽+\^ ^e{9P,cǎO/u4I\LMMVl'1<Y)TUmbɃakղf6Xhn []]l©E0C xvۦ'`/3%BE*CEAU d0HU!JSORG>i/PWՎl{Q cuJBw)/SL0M6k$n-MBX=KrI.HR!d'Q]Tض^s1 @VϱTJG>?B.;14 8;I,Ʊ[DBqYڭP<=;NjUUՓ`⁢;+6"@ ^4RJ G1fjiU_T3KTn"7MR8]8L|G(Fwl^R9ڜOLkY$]S]TO^Dh4nI4m}x4u-]UeŽ"Au[yznwQU:MSSm_]0$QP00BRnI"-Tj*&dBȦd CBMD}!uSח_ (+hI{#Gؿgߚav%izk1?7* -f1tkE'8v}aa)lZ933F}Vz<.΀hF:C&ӏi4UZ*&NV댼Zvyxކ҉:Lάx7_櫶i* p85oiz)㑧bW^蕊z:Rj{2K*c jBΨ\"|sX~aSS*w +Ѭ*2&G'(=;;Vuc:b DE D D*O+S4Mxte/p+zm6mLC#Jl7 ǒdRx@V${wdh͖sJ$}lBFV]ѣH"`vvo>;KJ".s](ݝ&ljjEs&uww#HTEZ"~.| V$TUR]$DcI"gmTEWCg*{لFLʠE0 d2=U |I`l&DG&fs ^oVQ lP !XRomVt6VpRJwq%@\ܫ(NۮABCYAJe-R eg()Uٛ6\GJ鞩5JM3Fo>]ӈF#l\3ʾx~ uI&f᣸^mk ^~k,'gQNiݙ}wI>\&1Pf8uu A*PH<_}QjдƼ[QXw$(`n몪yr5hh|k_X,QoXfd" 5{G0L^~w>T΢n39|0_򗗽7իGT&hq:z ):N(2pi4VkK;o]z{{ 0O:NېRPU5+ Bvk1RqK;2ڟ}8Nkk:Viym !<ݻsKu$t \4m\g`|Qh0AQ^ڡXZUuR~Lq===ݧ}YM(qFGG<8D@~{<|ws// mΣ?D!͒H$شiӫlYlYBjRXCQ|_jE|P :ӄhQ2Ye>Al `K0MUL& a@ǫ*hzۮ8ґH EA,ANU(qV݇;~8sW]uzQvuG$i7_ǯ/0>1~W1??8k֬;oP(sŽ144 Fm۶cZ֢4}(c;#iq֯_$z=0pڬ!D0 '%'u];]}At֦j"Z-UMS>jx^;eK^u۲\>^}ӕl;K.w^wwom;|ws~ 7H:fժU$ ~aӆt]gjj\.֭[9tJz} h4%띴$[ߍD"ݻM6M L&/ )EQIRT*wV*N&r!\|_(ڔoR/Tp8g0 E}FcU\9c},Hlz7LaFGG|;Y==xVrڵd٥)W ǹkٷoFwJ%099&_a 7F9z(ofll !JԟSV{MR!r9e'w_4-rEPq6p k u~_TX0g$,bƍ/SO.C4K/:ɬv<K#v4Yf _~R+j*,b\r%?6;5MT6(EtTz `vv|BJoI+O^\z^Fl<͏1 qM7-[zƠn__}}g\["( !U{offlۆ3ZgʮWOg^8-6UUb\#ᇟw\.oޗ 8-| ]{ѧ ~ݍ w=+ocHfP7߹[KףG{<;_f+_}8ѲלCr-ߛ^ןܔLe?SkstbpƉۗ m# s_[qW Mn'L_n_58!~HxPF{uFv%?ם-7f]Uڞ+*~xpg7\'y{M,CCSǧ>JyqHYQU/Y]8ov{F]S%|&q` |:gRIEN֥[G|'Ld׼ܦ*pZiZ@G]@ 9ehdumLKnh3I{baڮgv<')&^_"~7;G7^ l{Ei כK_7mmvGMĈDC62\E\&/%\m_RH!w®_T%e,>~XEO6E+osH&c躁/,m5{/]?4?o?dp'ޟ"ޏ^+m%\<N^"r2!JGЛ?x0RLwd)h4Xh+չƵC[)̰mZ :+ԟ?!I>K/e6WMˉt]yͯu3oZoűLJnZZ֍S|&+C}wgXl*(җ&q X72y8P}ݼWٿNꢧEC /_)|jգrᴄ;tlJ-݇wbuk`S  (: m{ <C^믽i˚]\뚮>09R[.[+ řo^D??\}}9Zmg#KM{y sȥc?R\V%u8~'F=F\ؼ<R[6"L">zȇ-놆^<ɛsOX摾֝L*S@p*ӵj5.[ >:{zC.,Coz-{ &fJlX3fU櫷qCOj;WGˉz8`j/Ͷ62>n`ʌO)r|Dq 4t7]%sp|w5Kզ}R92SpT+ 됈vV?-n_{%v5RJb3pV>&$rU8WFQyw;_UZm/q׿Gl9w|{A=׿u7G3Mm2@"|ê|ڍ_ Bҟ]H"ٹѕӛlhʛު~l.UuC"a01:r8C4KzF{ syݲ Y ` 5JFg}Iˈq,ǎ]8=߸xf=Sc,3#ṠzCXLeu"ىeIUa H$lfͱbg]+}{W=] 9+¥i:*8^,S];ӑ՛-Thڌ7F"& ӕvHAd^J*]8?Wzz2::mDS_ƝϘ.߽xzݦݬ R.OFG:|%PB,NT)Ba)% E! џ Uj˵_ə2FCѐYh6ۺ EB fo!\UUEs]G&RhJ*BڶCq/xBʖ >$|&,Q;]50TjI\.裏B"q&`Za$츽B:BO'%B!!UeiBHF#ꋭ^.I,Rɥb;\@$l2Еd%mqAow>B/|1uuG_\a۶ h<}ֶO%_\̉w{m$BH +F$C$^w]C"BJ?p睘,‘X|Wwm @dS D ItEC}=)eVCWTR8dT"ƆUBT݇Ip+.݋_$@Mw|]usLnͼmiҖtRQQ(CAʼnP~2EA!*" ӲZ-te5{$wq`Ӓ*6{NΧO?>\O4#! E+oyF3ǎ+N$l&⨚JJ[C?#!EXLVz=DNeV@j*vk62)m!b)iC敱I5(z! }zrs(p:Q4h4YK/ƥ˗0 cxv.VS\&auNn1уN'PYRAߐ8g_Tܬ4u0u8s2@'"`2H(,c4۝x\w v A8<:>{̓ڊD]ޘqٰXmX,6,f3d(D`8hȼD=U1<}C>B(l} kx!IKϦ())$±8 dح&~lLrO>XXO"%OQMQdێFUIgj #*-́^cp=Ӈ3J6;Yjcea2/fD#dϾh4"0'ێj&90D*%c6βr<[xN1I"m}44aS&+ۊ`a1[Lu`ϲRɧНCaa[ + Ȍ:AGNNd7t#lMSX0DzcFV5C06 v+6ɷ }Djo[gOXYX=݇Zjc2KA0HQ4"/Ha\R Q)sHJX g"*~u}s+)Y(,,|"yf Oŏ;ѤqaE(-xl ē}^>_/m$Y$3dFP\O\̌!b;1q =-OVLoٹLf A4꛺?I4JRfTe2a($HPWU&REyNR4ʼKJ_g]\A͆3ێ3ێb_bɹA~fVljn3̶e5l$zDt5lNWFfN)GXO#e#?DX, 1,rT*B8'L˲%3Y v3kqs<4 A/2{tuo[n/"nbi IDATx$h E)%)4A#M&X/t:FdEt:pAu# *:.J $01F ?&3rPhxQ4NFGXfB>NLF='҄B>TUAU8qs\r]zs/).bт,wKTU}TF$˱ӫ3hA?ᯒLF;LN"6lagc+DCCә t2ڱ![wPX%M&Դ M{(rh YUAPYN9s}|x̌.FIq|['Ncىb8|z"`H4A?񿯥>Pb}=WlFo#Fs]$\û0zXb ag>Qd2Ɇ  zR4 (2t^DV3z4dU2Dn K.ݯ8hXϜ7>E'P[[`D7ګ-u3jw.}V sfM707H$JHɲY8e1[W)u48, }v=e<бyWRIGw/Mm]8u txQT HGO?G[lp9j "p8u(Jz1G&L FBAkՄf#//o\dqdYJVf׼.%FU H&ɨ7HfE07nO ߼ACmUiNei!#0AϜJ46&{-Xf ="wq9gpU_Eruo'rc:-7utv t Ff7l5s+W(o&ɇ#s 'yfv;K,2ߧv:!nɝz<(Bwo/:1if3۶mcѢEG"ď, Huu5C<,J76|qi| 1%sc/F4":y?#^^^>֤GGYb􇇏s曵„9ь l\&$uvv2عuMMe|LE93S;6O@nnΙJϟgRiݼpwnk;s(XSvFټq7 M"멪dS2ɕ8fD{0;oo/44]?if6Sg:O?7 &M'SP w}J*J pfY ?w_{ F:ԛ%`vwVM (UQ̝zcيp&64M(?"7vH2`,I% Iöؙxcj#w{l|S̪Fdawsg;4,u:M՛EEcw8p<_w W5o):U Ov}}~t@:d#6koqdeṇHFtO^}4;?ka}m'#DbW4uB2O۾yUi!x?Y=M8υ4_w3@GLzܬ:dԣ*)Paҹ9yxշԱ2H_4l2mۣ"λJW pwppGLh4JkK 0(1ej @<Y;f-C#Xv Kiok.9{sgNESr8vZϭz31Qn憙o'~y^{_ZHg fI:0iRItYQ5m'PV^ڏt k4, b(]?aBxgz8-4v UN[ܞ>/[w5fv ᠰ 8nuuvriKmTTT:7ryq.>c19Y;MUyg,+n/>/_v9xo|`|_b5p;Ƀg?C$ao0cr@Lfao+93ˁ.pIǁ]}^nʕ/HɔOjJ5֣t+  PQ6?Cl!5MSI}w h€wwй+kϋ|w]{g/9OQ@R^_^XD箹tZi ;ӱ\9j'"g^WB$;<Ĺ/C))pqə'qə'Xqϭ\E<%3ʣXt 0{ һW.;Ùet>V8$ Fx׿w-(%_YqJ׾t̬i*}ɥ\2t ^* ~8b1^{%knDӡ){ZXa'_baUZVX~睺iTMR4 =S'bEN_<aW_LM j릿.Nԟ`0a3F#42YLXK 4e8~#!V ze9H1!+]{/_|^Y>yge ͚) x2noG{w/000QN84e_o8d>Z,3N2}'_s+׃&p3G8 p ]ʻJD7̮ϜW:6Tp<}wy)z@˼|+*ΜJZ>at%yUe_(vZAt$۳/~g/8ݦ ̶hG_5["?pܖgNsk"( M> Zhݻkd٬Ew?g>;5 UIb9gى䌖i;:Vbݼ'-8^N;Ң\ :9K9mlzCwѧ> ʏJ8Qt a PSq+y#|via;p ,˘M"Ȭi:𝻙]Q" eCcŠeF©!`:nmͣl,e6jPd뷇\>}¼@_4;; uhjPoDU Gc|뎇)/.efMuFV?\ܰLgrV7{&< 2 돡jt gdo[;{u#yNߺw_0/3ubi}h۲#qDI%XpccO fH;h ň^ZLi?@ZQy<Ҳ쵘X*E$EZsqݖul{Pe5$I9*Ȫkq' :TA'̙Cia!D^_M0Bp; \zrt: O;y4if0ur9+Vcö4UCoQRO}4J _0Hc[R!?Z:}G'ኊKH} zr }>‘A> PP5U!W5eeRQ*I.>i?>K GҚΕcv S+YVk*iM#{{M?^2߼a-X@VK BWL zQhqoe ;ԅdN`尣 w8MUU\lTMyϘAQVOqJF;AA(-,O_CQ~ǥ߾YO,䡧VMJøviiHRcf N#arhJ0x)IefQb11ဃ]mEƣ.{"r!& rhJ$d60mR2JȶY\Bv)%Vq7jjxmhKc'Jh6>}c 21]  ̛9-l ̙^ӯO,c'" $lA=K %]YRIR!ӈdd{S+X hS EAhYhʢ]HߠP4JB8C4:T2#+F"B4rs,7NSZeKsW{$gyӦd>>f(=̞6eˡj i1EUTbTM#Jk8w|6l!pT Iw;1%gTSRd0IF,3V WOQN;eF"6jB t>9i1DVLȬ*ʊ2ńbB4).%/I4=(pS7|_+ذ\?H'ji^78SF|8cI=i羉9"Wɲ[(-#Ǚ}(YV (Lg|YM7]|sg&4rX,~RI! ?ybxϝb0?-"񻿿/ͭ,>N1c8nrQ GVTʊ #+ om“ϿBO\e3 [JE9'-k&lF߻ʕgnB0⾛$a\`X_W8IRLFcMq xqnS<$HJ͊jgV3KgeYNcZ-:2Fvv6=Lk8al<|g<[FifCଓ F.hZf 3zLV;yfLoo=d>JJƕ"e4'ήbr80z=_e gi[lΌY;inb03q#)Gn1$Id*6?$:P_R)YC݌}̯)MGәfWc Ec+-Myf*h4a- {yk݄,X-fmVlsn@@@0/8%;,^b v"")c)$)ݭlѓ߸[}O-_D2f \~awb41:v" P5+w^!6o }}$;sf&Ǖds`d9`7›wf;FٳuL =D :.7y&P8Isf`4إ&Rng8G&Hޏt*$ݻ5~]xݏqUQ2\ii)Yv݇(elry 1H6|@ M@֎}5чi\xфdY^^ֶjADt$Q)bƴ)q7~N ~G {׏>ӡw7béݻop̈2޻MA;]WeYa]v%\ uu2֎|{Z:U7" ,^xk75 :{[-&:0[477F:uD? 8%OkuSEU"=0KʪK.,Dd\{lڲx &})`WU׀#USP5e t޸D"!j+8q fMl?t<YQϯy^^H TUu&uE2ěХA((( #IiCCCӯo%42ISVf''Y6 Ͼ:kqO<~/kuعhmk{%KOrڵk9hii!HLt('565O;7|m͜,^XR_zoo_id|a MTpA#/]'EQt|ҍDY-M4-*؈ecR[lB z]==r̛7o.'KCC˖-wp | 5?pT-gcx^НSsBlڏ􄩘GQ4Mj~&!EAj+jS@?IENDB`pychess-1.0.0/pieces/Celtic.png0000644000175000017500000005113313464375555015443 0ustar varunvarunPNG  IHDRMbKGD IDATx}wŕWU&jWZPFH&ÀK16x$p8'3lM8`D YNgfgwgQ }0ښ߫QNE!uG0_ x^wޟ0-!p1:"?DQ <_PEu.m~0$ݫ(3ľ(!xї "fNĂ9cs1)7r/:~=_:\C4_߰aVQնm_#\3!?~(c48%e1 m;WJ)8tt#(dg6$U-;@^چyW 2\y BoIh;M-q6~P؃[/ۼux񹫖\7ܕi(sSW~WTW(lPeWkr// }kJoqQ@~WVSŗH^L\2 JA(@=* K(`:{7cpQT9z ]DAՆȄ+ fumlt]?ou׃,}v HL%Ǹls^RMx="[nۈRL,6ZZ4tw!7<:`QRT#u͘0%(*iW~K^,.n!2j, "vV_{)c II*b tv'SK!WH$t$: FqLJ {2<z/]0+&_Ս?G?g~zƠfe>yM}S8d:QKi_ѡd̙P7}#i {׷l+oBM}~vIu%Q4DQԅ.:Ҏ.GQi9 'e%Xsޅ^ێXAHzK>W1p W(Cq4,O2ǒ( քgMzTkl p%NM]]p6l`k֬ub]C5#c,Vee9?>p0/*"[sU QZ\H,w: rՍi@טbA{gjj¶IТ, ~a1<%\&z *Ǖ3PȇPPЇ`@߃ O+f!0# 78Φ93&qWrRQE@) Zdt*߳gيǸH$Рڜs~ӟzmy Rx4 Cji31z;lbq:# D)$Z p=ɸ=2!'lè+xQ|9gw4l&mg-j Զk-5sDեG!;0mr ˆœis, #3x9 LZ,K9'Ǔd$qC1{gK xA8`ρZKLZnݧ<B?87GQU>Rz%p sQsVsXJBMs( (.x<옆IE8IzZ A-8,\Y~p43 ֠m;?1Mku$)@2A-o,J@[tTY"~E9T%oX` 8k"1}|vA(/4Cp+@F plMqҨTEk]5B?>GY?m_{kHGP:i[;I= W ˲ r[G$Gv5nal0FcD+N J) ɔ[u Q "DA$xxe ,0OƤCҠnp땐L rɗvA 7*EqbUNn//-#8# ,34lXn,{`_(EQ cZۦU;aT@<öazd e~fpT瑑JL\eT(1SG52 /dINaSK' ϹʶX&S:&)jZHKE]%Ǖ HAUuwtJbe'c:tpRx=s ȱcĨ!!ᩓ~y\h:pFaC Y@al0qҎ8F]  1 V!75%9#zJ @GJ EQ" G/^%y\O+Gwn$$YG($ix]Q{plB0kZ5BhmB,m;OF0A8CaA^du[d@w\C8$z I%scEkgXPwwr?ʛ;%Ed Hl@(%4!/ ² <$ 8}pc׾Z0Q9gqa =:sRR,e[ӟP2&-{xͷ,. @-cAșs(e()RVVk_>EŞi9DC EPTzRT9s$piH@Nc&[ ,`ڤx6lԫSF!K Чǚlp|ޞF(20pζ@γKsғI1Ơ%Iٮ;_^ml\:,f3^}XJ >IRMBgTH??M# q9A$b@l@F8]7o{^&PȒ`0ГqL3k)r"ld[sf! 0F|>) U8#?M,=c1cazzƏfϲ9":bFaJKOSNHoBM]KKv'#9#tL`l$GYymF&RA8ȪVNAATm-]@}'G2!Q6gܪ+!n\6_rYWI'yN|ɬ~gigz$\LXچ<" w} %zB!> z~|Vvu']Ds=_dOL{]]X(!Mưgݺus$IµW]m¶^Gǀ,4Ԓ Qt`#P O, z$)?ـp ΄m0M;]x2pf3Oc(07ߋҞn$=s8u㎍޺|RF {FswpNT=φQ"qBHƃC@ q+yq~}&0BwdmMv&gfꎏ;9Nu=V I8%xm:llG gopW[>WTu$IBz-)**J|_4݉гʭGj~Pק* qStS(2宻9=E01]3R~+2tݼ[U0&N=e{on=G[a/Mj0lذ1F(!JEnNR)½Gp{kua44u=uWY#Gtv?Zen /kZֽON=!"Ǒݾ7,+`۶ivmrCS;ee[vEQB_8E28, 8\ۜ>NJ~/'./O}鍝mzVj9ap'"lǁx͈v'! DQBƣZV̮ԱJ{xu?Apx:] 8|Ҕr̘ZumYqh-p(~S]7nD[GW0#s7:i?E?Ͼv'Z9r om;ixF-8~->|)UEGu$,] px?i&|5$TCOs̙Y lAcS7^Babhhj6f7Ȅ0bVLQ(ʟ1QnΝxpef4 5#zgs/^2[4mAtg>šlBAg$A@Axd[ n|w˶LtM7qh IW\U>pm⑥~߈ o>l*6߽G,XohikE6^7wƜ9sFr 6wFzs= sP9 IcN/LbWwlɕOpʙ\&idy%R#"\8OǍ߼ xvĦ7w 媥1cx$٣$21#v(*x BQxmfcnEA:ښubYnQÖָivpxb x|[%.OMo╭{Q2K--N:bɘ7k2VW` ̞^)݇5Ee^'L 8/'&M,e%a#csHɔ!B]~|_~գGeM]#H͍8zHoqҁ1ҒBmQuDq{}$};<+ܶ[= X}ԙ+f#ڝvTU57 {0JUU ئc̉8Rׄl3HS%lvP() bʤrH7 )UOjwiI)Yd S|f@j7s Ib:|<JKKc>̜:+G2ij e`}tQP3rNpwqeE!0q°ޤE"Zu~cϼ^j ^2ֆCrIZt]K/mm~j7:X/}D#ʫ?[8kBxeCWy7^ykj#5׺eO! M7p=ƗH$P G v&F1e46wda9iTu&vwO0 Wv:#y.rXӰi:+cďQ(֬ŝ?/$S;{QԊ>NYy K"ʊ AKkZۻ(*d~/ojs+pCEs=yߥ(wPQ@J6p7*981iYYƍ+Ǯ}pڜ-ıUT$sfT}G6{ Jdh{'ݶ^{_V Fv]w)mõum5 _\o:OWp!y1:麎fTWU}zns IDATǕbǡXph.RW# W)N}&^b19_au]Ohlve7s;wBJ^~e\|Y(+)cxc.Ģصk͛7[0L U2ӲkƘnt,|P}+3-/3cfz\͛q0bqα}6|㿾qؖ 6a[&5ppyyshJCYI877vhҵHc% {Źg㯏l?q d濟9iYxM8x^ك3V7MD@Ueq]D YM6>iy@=E {W_ $StU`P?&q35篆IEaxݘXp9a'p&kֲlē)Dsma-A$GQLK;QBCcW%E>|qv7|so9,IbQK[׆*G,1H2D%=L&l{?{L5r2Y_pҢZ:[%( Jؽm3ܳ3w.bɻs0űP-^{{L=%5Ӧm%° dR,x(dy̷\eX֕pE:ID̞^T+ϨLE4{J!K"Zzmzo̽۶>,7;w lezaYlS9gLbzU!V`C-n݊+f0-  ut>/̚`naigb6]Q 1z`X~)U{f#hw ]ēޑT`g;0rP IP\%--ɰ$k,4s!ƕ㣗^v4uXt4X`x(us'`O푓p, j8p"DA  BD{>37J.gl!eM՗ !K %#,SC<kH$hivwg{!} 󯡳_ hUࠌBݽEAdY', c7O gO-f'a" 㐿YCG>۶]4`fv EQD}2$I/?c5^KPBP^RO]yqK$Gm)_d*_;c"Qemݶ~g)wXO&EzsqN{o=?d‰O?}?ȔҐ'aÆ>|~j;SEQ{݇~3=ncI`Kɇ{_%Q|0oh ws\mGLh4b,]Tl=H%3Lsm0x@ȶ싂$cZb}FBuW~h)J|6~/J)!FJӮU`0 uM^w(9xwq%k.Ǚ]Žڄ#&WX}kMܳ䕋bBŸ2,PJo0룁ieidsux/ƈp>\1B?oY:cOg_ϏVSx$J'S4q{gŢy3qːq^fVwv*^a$;{sPv7睁sW-^x }K{x-e􏩔 }e.~u1%Y5`ݍ?=>f-wN!T~_= !tz#8ֲ^k]b};[_w?̚9Tfbʔ)x!po֒q°ʥV,C2!a0$ 5uz~8㒤^|?X;KK{ q#O+Ni8p`?V/xټe0>аmim5f K~k yq~\v*/+?R{Dc$S Zb}8B2E COeUh&ޅ]j_m#3p ~|(wjOfk]kHj`0@EEy!H0-+,Xhđ5X4wfo G81eE!s{缍/oۢjchhh+dQ"(2y%,^ `˖7O(>TPSS9/" t$j\1c*NgeRá7o?wyoaY1\U^\ςeIJ!XRƕ@zf6}-,] Gi*]~jXw4EJ`fXPC%\a~K~0v݇I F?g@4MTYf=Mø|hmkC߆ߛnXpx2.?oI6E08` [:IOJ.ޙ PF|!TY>#cⅸ $%zx/"lq|o:|y}K)sN +=Y9 }ҧ_~+OӠkI::S TTT '4,ơ iW%A4-sLF,b\YxDyC!\@[o >9ϙrtؖ[ڡ~uD(z{q¸b8/R? ̼%ևR74 Ad2ROeW]KВsoCyQm" l=.)qC~O:oy4_x8zB﹙ӗ`NVq`(?m^ۺXAs>XMoC4"YXTkJ͝߇*wGӅiR`H)7m pα@ .=e/f^YGqƢ)@Ș//~k<&tEs @h97: ;S;pK_qY`e]ɒq\]64cp(nS^V:w&ͷ>h5{(P3`k#+(++?sX,+еۡi*&/ƴ i o.- J B\/gl^"N.DŽbxdaT~cI +?ݵB>Z> wh=?`ڤyUm0Ɨr$#->yY‘z^sgNqg`ͥH]+<ʉ& S# CʊCy%<:p~VϤ?C˲pC}Wp*KȌHJ,g2&2$Li)]5sbKRY?b~p׳6>P_ێ×X8x䩗aִj[7;GQc9Kp8k?71͟% |$^5-kmK[g9Ӽ9,}pP36:G"ƪem^3({R8/+D{{ۨTɆ(+BgW %  0 WVw+!/M%A8yb5uDuσUjoƓKPJ)_L`Ċo{%2z%G UU1xR)cH3 )U aL,Bmɔ7ccyO$9GM]=.?gTMnf:O]^~K0!#oͱgA,Y8¢30ohǪ3W-O: (d}p"4FF*U޻7~IӴJB`Y}iJ;ci%WY`v%G ge#ͭ'Uؠ1cX8(+)Dk[.!lFug, @Я:c‚9_aXqH(0 1߈wl)ή BU儱IF)Id PaΨ"U!$ ?_ 0J5KBp8eݺm^yq>!?:C9~l4 Բ( ӆv$t┉FEB"3zcH%5kzVW#˘5y<|q8 ^pK`)X0g͚ʊb}8Z۶10(|ګ.&a^֭4f|gg'6> ˟CEضG@(V/d2w{W| BˆH6S`"J{1!Yá[톦kplmqGۆXsm% p`l3҂Gy߿v,76IkI QjؖkW^}jVhV hw95nG Jm m±-Xvh>cl _ש%և;w^wYHƣxɍ5VmLA(~8̳lL|0M /$gRw,Ң#PY8!"*p<(Z`F67.| ض +q]1MM;o9G]]vڅh$݀Ӧs(&`hd}Z9 H,:m &VWj –m{qP[W8#ҤmnTUhkO4A`Yr#!*WR`E*')MRO{;3F;%-_)a uسg7^}UT矋/2sJ}ȲUM&0b+wqd6p1O ω0jo# As.SUM-Q86JJy] p wFA8g^Z=,;j* MS]nVV9v{6a[l&-wkk_lza0{`ã>q5T`7u̝R-6@ssIznZhi¸bL1PnB"PlΘOn)r`Y*"B/QixR}| \yɹY)K"4lE`=ZHl;셕iBK'ް[]ͥa@,nO]`)Z 7$t=Ss)z"`*&ؑBI؃pxEC2{G0Y逽&q,Lzzu"͹眓&hq@i#kER4b[Rq6.өI恮J04&BWahI8AJ6Z"*Vy}G!n#!ɸCDAtEb=zRקs( K7-9)2wƠEBV\Op#~L2_@ݳ@zfZ6I t蚁:#Q>Ԅ8ZtTTV<'#KŎ= dv%GW1$"Q"0Tjs͉DjeB xzmr~>%#s= MUþ߯+W❭[q׿D"۱&yzN&S$e'iGBA?f[Oޝr2D'O@qYnư"$;T=XdRLRuPL!Xt),q g4IssSG)?8Sx_`ԛr@WW8w8BnWN8~shOރO_uR{C\~A)*ty+{p)#peaݰ,wcǃچ&H oIÌ3Ё@U㯹 oNj?Hy,^Cg.S5=3R?ixvFFv>})8wpE(+:0 G8\߂?~ iyyD`.ԍ[6<}s}筘{ڮI}LiR .0;pHѻ,(q8<l}9$B0.}DcrNo?n:MӪX&qUvFAx|>w|^復ep6#]](/-'k ر}Q3XMmQӲC,{H,~ڰ{$7^k(*Ǖql0Jps= ك<ϰw 2 H`߾= 1m7q3PXX8|1C7t446 pn hw[w@w<Ƕa&LUЯO_/s;w-O LNЕ!_'>wwndR`Wks]G#k~U7~4Ll?4'pLOiaAjjjQVR қ#4Wf o J!HHb ܤnD øqa<_#4 |Ũkj[vC^Qu4_p>t])#4o4yZBW$_Xh:$b"?=i#7H`Q= /2/Y&yWzmBDbQgٸ D?߇߃E3҄:S¡PV=HKD"F  p{ؘ1y<Ο0ҋ|6:nWkc/ןW^hi<E!9RWxO3Oij( ]5`Xm9{:8,Is@32e 6cp?672ԌW2_"srr#GwBC4zҤD?uttࡇ¬= JM4?|˟K2 ?Tmum0gnݳ xes7D2Yy77$io$UMW||~֗p+ !? P:[U@dz%4+NJǏ5ۈ#kd%L[)|eD@$jf`x_ۇ_!,_himAMM ? P .œ9sPRR+?#Xx8غ vå 444`wo^TQYǴ( t;DpA,X`~ڪ.𩧟;BvIU)ũrIDATbᑵ_\ jôOHeJ~H\r_7qPJ6k82, ceemfG;۲8&dbҴ %ͰOHu ! 䚫AXX™+bmw`/Y̜9 -mnݸZZZ؈¶ ̬.˦a|i|ġ>`ZV7ޜ;o=s}?4IMI&}2( |YZrtTQY8` *:S^ڒ6iy'77ss_yAV쵲{~|ā'%)t=d*!%J^X~4r>Ŝ9M:i449f_s:Jn$vN7mn}`yaҌPQ|\,o7^ߚ VTfRVWyf8Rx4in1_~].דo/^MӮ6d^^KJ*+-fiU.VirU 1HBBz\ڣ_M؎`8,(p-wcY}#008#aF O7i!XO|3lٲ6ZdxN#%B#j X'<:XT_`牉I$>tۭ` p?vHy8(-rxF[Ғd08u Uk˔ N"J߈TUѱqEa׶پ6s:vlnmo\Ŷl]չ?dB1`Vs:lnmλ~`_g(xPuW;y}x`>O݉Nۋ}]Tja`UC]' \}j JUSnm+˻(hb1pjd$ágS3>!eݓq%HHPTfYuVz970t5[Lmh?@SUWskŖ-[ʳ@QG 9|ۭA-߻gUCS`|IywӁv:Tu|+ZcqCUs$J~h4o! ,AnCYSiIds4Ӝ΀b=?)iR^VBEY)!|^b7*RJ$qR$Xq㓌OL0 ,R_H?uSIn񣹪P<?{}oHɺ5Mm; Xqvtj{NŒ+kXPI8Eۇa}̖t&$LrS],]T+6bVFFSD&&H&d"@A*r.*[Rϣ!-ЉD<{]1>778jF|uZ$f#FҜA.ڱAˣ- x8wRJF&@93?@8d ˛TJ4 H/Ŕ/ Ѳj%L SkDb¢}h,ϯnh#%5K844OeluEPMK"g(N➳bn GX\λ!@iaR|go0yUO"q\Nnӡ)@Z&daIRxD"IZOj"NFmTTT1e=|}dtPqB_2Afn((xE>L#X$9,,z~?㑉|%[Y/4yY4mڴ1u5KJ<%HaL&`fH,!pMiЍJ^`0 *lyrM[23i!=q)%44iؚ73봇ؤ@M}x 0eBof-7b?#h5{/ΛYhb γןI7s2/H|Tuk[O̜] ,#?6s<'zF#ǓiCg,q{BH^0E2!0L7kyICW_s q5k񵿒)X'Gg>[08I{zu.fQN yڻq:4ڻGisOPr{7>;msO==\кU/)4 TղXs[B?.h±ttuOq?!rQZ) 3瞡.صxg7T271]٩z֎V5ERY %~La #>8gP@?{6si "*6`HⰯ)bHXtCcߓiF' qx  G^:P|ToYq)'G97aQO孾'x}]6@Co+gB7T"Or7BpWڽh(K/رc7C*-"UL1e s75E4-m] ͫ> u0BdY,rYӑ0te9LXXò) >g˜⪫( ܚ FUɟmRJ똦Y)%BҺeeBX-_.ӄz[O190bpgtkF9t]Ó @U|8 0IENDB`pychess-1.0.0/pieces/makruk/0000755000175000017500000000000013467766037015023 5ustar varunvarunpychess-1.0.0/pieces/makruk/wr.svg0000644000175000017500000003117413353143212016154 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/makruk/bp.svg0000644000175000017500000002351213353143212016122 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/makruk/bn.svg0000644000175000017500000005477513353143212016137 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/makruk/br.svg0000644000175000017500000003120613353143212016123 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/makruk/wp.svg0000644000175000017500000002350013353143212016144 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/makruk/bq.svg0000644000175000017500000007417013353143212016131 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/makruk/bb.svg0000644000175000017500000007405313353143212016112 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/makruk/license.txt0000644000175000017500000000016213353143212017157 0ustar varunvarunThe software in this directory are published under the GPL license agreement http://www.gnu.org/copyleft/gpl.html pychess-1.0.0/pieces/makruk/wn.svg0000644000175000017500000005530613353143212016153 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/makruk/wb.svg0000644000175000017500000007273713353143212016146 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/makruk/wq.svg0000644000175000017500000007430013353143212016151 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/makruk/bk.svg0000644000175000017500000007227113353143212016123 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/makruk/wk.svg0000644000175000017500000011622313353143212016144 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/ttf-Maroquin.png0000644000175000017500000002025313464375555016625 0ustar varunvarunPNG  IHDRMbKGD IDATxyXWa H]l"ZV\[,ZYhq)Q^(- Q^iU*\QjeѢ(eUTA+d2BB\^&!(++C\\\]]ѿvQ6M#!?ʌbuuuC]]#i2UnFFFp87oKIF+^^^$"Ǜ+ bb!X,hj2B\\@ۄ˖-*芋5 7o &&AoŋΟ?p֕Qsf`466f#::SPPI60ógZ <=jcֿ{=<}o (O ׮]keeYسgO/`ҥѼ+V(wntttVee :M%vZ$IDCCEN[n׮]L>VVVJKK ӧOo[QQVZ%O&&&Q w9ի|>VX@.[eddT3˗/yn=y`jj p}Җ&USSI'''&L駟-SRRN&&00AAAu*u?''N8Bk8---<|tttK$I?~ǏK.^ы/|.&&Æ {?򬭭Y<1ˣdf}@`ZRp7p@Fk!,, .]Q)**緹.kƃ TTT}QSSǏS377HNNڵkvZG&"u0;wٙ!&&&e޼y%%%KKK)I|l޼!!!"PPJR߇355e4=CCCFh3uT$&&r4cc.7mĈo@~ѢE"3p@|x%%{2ƚQFX^G}BEEEرСCZj3g6N2:"##o X[[‚vjjjسg[ Rpuuu/ILJtZXlJjjjK5CCC\x1ӦMFFF5oۛ6z|GHMM=Ȩs!C"##)-,,p iZ ^53bm۶):u*zȑn=,..fUUUձX,{'$%%% ')?ph"|>\]]UVV͛wŪU/^`kȨ֭['TUUS3ZիzV^"വ b…PTTċ/Zg-.yyy{qȑWT?ȑ#,sذaILֿ{%# JJJi3]"~ܼySt,--1c < jiiр{IݻH:99962+ʝ.2<==x{{3S#b7oooI۷/6ontݻE~wpp b/^po.++ &LAPRRBUUyw mhhPP^~P7ɇ#ӧOɒC„o h-͛APVVFyy9f,p)ܾ}î]JG) 8uuuс?N~߾}qEi鹖Feee{Rפ+l@o~~~+ qS_Rp!0|r ]Kii -$$p6-r묆>EV7a8PO1AEE<<<(WVV***:.u5 Fp2 oP d&\oa8u~wbĈXbEވ,z333QPPpFt 33oSSE`kjNۻM5k``` 1v111.]|]p$IDff&x<EA__o hxukSL&jkkahh"=222ݽ{70ydGaggp>uQ cZ >Duu5;",, tܹs;88@SS?_|@[zzSDDij3f4M<//gΜ!ޭ>|o}Ir]ÕW^meܸqHHH@xx86n///ͦWQ[[ۡ,՟Ǐ888L~΀Ϳ/߹sg͆ UÍ?III8|pkV^aÆ V7٢Gn8jɓ']q۴iS'N\6OZwU,]T5k 11N@aaakh:ܳg.E0533S>^p"|파Я_?1xXXX|'&Lp$%%e,\"]X(Z'''yۇ\hhhɢbffٳgwz[nrp, =퀫1gDDDյujk2e,:͛7agg;;6Y;::6:4rx 0a„덍rȆ4>}ttwI?~͛7)WUUC4sb$K}7 $ip>$拳nr-]666 gpuuƯ#yHwFT}}}d$Yݻb5hΖXpIF%*)w:D}b-hRϜ93g ST`G%SSSN:5l_ " 8bEp2 +//G)׏bI#Ci`kkT444ɓ'hjj˜1c(e[bԩjQT!ɒ |juuP{ UUU(i$%%ᣏ>B555J$G IgϞEcc#>3JF *OY[DQQPQQ `,X@pӑFCJQAegΜ MMMZ>wիEr҂$KÃ'NIIIbg$IڳgSixuJnϫdI`mq_f͚v3:lRk\xQHT?ΝZ@X$Y_\4ѽ E"M/-%iӦ12HqttĶmۺˋ Io3J ْ txO6*CNXQ$w I&MOI.^-*mkk(ŋ077Ozl2CmR䄑#G";;^¬YtR+]d0c5\ff晗/_3a*M`rpppЬSN!++="rݿ76lؠԄGeccc~-`~:qQ|<{ ظq#{M$I 4IIImB7oD^GI͚54iR˗Uq9*ڵҒ<|k1%_ 6^':kBOO, vOQRRBAAq%<֭[{O<(p*/_9zMe˖YYF`ժU%KÌSѱڽr`РA}6???YoQVVNb޽pqqAGT\ǿS7oJJJr1g$$$յ:6fWu;w`ffѣQ__. %U9T߈'ݻEqr=ȤIr.>O?ݑ)ۊr&uȐ!@Ύ㏕u8MMMw^ڎR%##ӦMâErDjj*l"81(3w\ tiOmn͘1cٳ1w.uttP^<ƱƎ .jʕ+pttD`` """d>+ ]u!LCqqabbbaddƌP8;; |VNN](++~緾17o޿b翰 4uJ#k׊$.ԋߵk_%X,* Cqqq;i& M| ** \.njrrrҥKϯ]|2$VKx>}ڎp}%2d IʃʣIӣ'$)ON{;/C?=zBҟr+ Q?=zB9s¨q@&OqIE6_ܓ.\ԩSyq6҆${&,dY+bͿwv:Ёo:::I$) 222n%''i/,,J6yӺu6#'2n8zKF]IEEE1Bs, 2I1Kl6abbB2-}Jhd;v SL +Vt#hjjBRRX,LҟT%^6b!44s|BfzJ_e?#Wdp1? ޢTm۶1**GOIwpoݺUA\|JeI-[(S6믿|lLҟ"/u$#Ѳ A2IzH}8///MTTTÃLҟ"/K!Vd'CP:`jˋҥK~F7Ӱl ǎc*9F_3/=ʿNEEE5p…F]]]R__rJ {mmm,_(ۛdX`ҌT\6mڄcǎ QaǎW0g\p vuիjkkf̘鏦W\IWMfCUjz{{Ow+9ಳvvv NQViرdnnnY5%%%'\\\攖ƍ000@5 >L޽{v؁f-ӧʪNYWW+W|; iD*p-dffbܸqz9[r/lmm<}kS;v AAAի[⢢ѣuYBEEE1m tI(,,Tw"/(%(h&ZkFQ?>1fťZIIIPSSIȀ-LMMkkk7{033#tuuܹߴ[FUZZ+N` |ܧ#F` BXX],Ydq}8q""""4ˆ8ppss#ϟ8;;CNJ_WWϞ=c$ǏCOOz5\jj*֯_#--M$Xx<۷o#*-F,Yׯ_ H֭[qa>}\d AV\ŋ… x5@Hdsss\rHNNFrrrJVTTtB믽MJ?g---a]5… `ؾ};?@bͨĉqm 8O>ӑϿrttKJJ"ZuۇXbL6Qb[[[$''cر?CZ>ӧOcSP 8WWWܻwv:| .."###׬Y >>doo*m[|۳gI.AeIkizG;3eeV&aҷH=r ($K8p@f1ld[O@k 2IɆL͛7=%.F= ?q&z= Cp2Ċ,dnWPP,,,dC a%=z$|[opvvvx PPPT믿˗/[߶O4UOnܸtvv&)O!c׭[GnܸoYpoϧsww֭[۔ S˗/4i.K9۷cÆ PPh~(X`Zee%>@ZZeu! {O8A̝;ZD+WV=/^<-N<)V{8mmm~ya }Y|>QQQB عsgة2w\̝;@rHHccΝnz Jgii uuugZPVVڵkENggg0SgφD[OA)$Y^&/]tp,MO˷`͍R_WMR %Y>((o!!!شiTMR:|b9Ҝ$IyF&06-l/TIDAT-]]]l۶rO~ᇄ|۾};F^MR0$YClqld K!V$Z\F({nIENDB`pychess-1.0.0/pieces/Kosal.png0000644000175000017500000003563513464375555015322 0ustar varunvarunPNG  IHDRMbKGD IDATxw|Tuehܪ(5M6a;4١JzkFEEE5 5s@E]t}o[;qww'$&& .?+3k, @ff&|M2qqqL8EDD4k"֯[#˲NQ_;1~SRR$I_ ! 7AAA,]`/ZZ(,,ڵ+IIIՋ*)++#((Ν;ٟÀոΜ>CshHKK#.̜9_??ػgOkݽ{xii) ?E%pZ !B|RLpH,///w`0'[[ɺr2mŋ߰Νa-6z 'I!!!f%&6X.88Zͩ GAAx{{sZ߮Y](WNdef^Zd /^2YmQIWуI'#I׼>,rno[`Xh4L^7o駟ؿ?55l6s***ڢZB$ (BWe;LݓBW$I1\A[T'NˋӧH^^aaa 0/:bK NQ6o2[RVVf\YYIeeS~އBu$\,򢪪j(rQ$pU ٖto߾u]t:{^¼y5jFm m$I5YCr,VjUjvawU!!&4p1n֙N ))`:`6p:U۶c͚5/pJ#NufȲ<^Q B<:H;vgQcz-[|$I!\Wu=x ;wO߾ߟ sR.]b|8ЫW/vjO?rRg !s:n ֭o&kYBt`r,$IR^11?wI. x>ke(I;b2$)Sz!n8$IR(zxm0lڸ>sdǎ<䓜:u#Gj*j5cǍիؾmh]*`_Q؄(O !^:X@QRb]M<{^7!QǏ'ڏ!\n*2ػ={RDžl߶ͥu]599/RXXСClXޭwV[m7gwW%7']E4@$I$m+QVVFXx81$7pQ˗6g%IC׮]l_FR|||6w*eeڞkܹsddꩯw^ػw/>>>e?o^D)F 3TƔjF#ޣؚjGI6` 7Ȱtk, !^,PT&NBRݨ2T$}3p`[uゔ(&1 ,Y@=Xnˉ@shg2}}}먎lE bW@@I,_ׯkB<tB4N:9 ReYZ-!Į 󗓓qUUg϶hwh];m`X$#mЭgdd0~uJ,0,xxxн{w$}\$c///idee5,|}};|Gct5#v"<<K.tYY6q1iq m +np`\ֶpNG=$-Q ֭:^3v1|wj떵Ȳ)d[KT񡪪bȍgD. p 3aBpfߧI~JOKc }$I.q.&׋p16mXׯ%Irrxx8gk[kI~3*Ap*zD4>,u|n3h ڬvap.ί1Y^}ڠKEQ]ii26,03#'N)..&33pp׈#HII-(JݩQFj;w=9VyG a b;(g"Yf"I$I(giq +Ҡ\Fa`$I:#"iAUH4A^cmi4f…۰uK-Exf3111DvBQQxzz2j(vڅFݻ3gN[USτO8u "2RAdd$AAAэ̢7?LJJ gϞw`c+/o vGe]OUU#>bر߿cǎٕøqFڐt`(jV?xX]9&NO*,,dujgpݺuk𼿿?dggӴ4سyj]9I@_Z)S"O:š >]jaaah2ߝ,w#, fqdOo%>}z1cF"?jiza{6yVs/0^^> APլvmTޮ 2A7R]bcc2du!~0~yyy;h_W[D׳|r$Iرc2ũj""-ᄅ|rX|͊ӿe0LX,t:0`t:]?!Dc3BWGzRos/ŋ޽;'Ol5m >8` K.ct,^$:u`РAhu:Fc$⋦fԆMVXXQad .55K2}tۤ?K.NZ-3gd;Kٳ'>| fl-$ K^OʥK[R&79s =!!!DFFk`EQʚ5k5k=g{lٲ.ٰ~|S ȷ~ˤI7n\[@ T!@.F .==3gM~$I.gϞ% ~HRRׯ2n.q…FL"%IZV7sDu\TTT6M~@ښEF?ch7apPpkˬ:4ĭ~o-\7vbnә$ ѝl\Gu W]]Ͳeضm$q%>iZ=,Gh6K,K* 03WܹYIJJ"::!g}Fdd$>>>Mߤ6-$gy_=wޙ1k֬_vi$IEz`tԳغҷ~RUY:u}tpcim gX,o]O>D|_ /_~(6 󪫫IIIAѽV"T*UB^sqկ_?)11slllfFCJJ 9{,,^:f֬YO? &Ofq0* |2RN:S###,Ǿ}B:u xt !;w$!!AQYYIll,Y;vӧO_o)ےSRRB\\= m,z}lAVVVtԉ 6zK9vVԩS|'?p~Yێ,dYk !8rp-~Fs' 2Z~믿Gx"FbӦM?~ɛ,\0 u@gKZ0~x&Mرcx-;og޽ l]tȲO>w_pȐ!RBB#F ))ϟ8߿\R'&&M6N>x7gϚ#q1eʔku%^z%*++BCחӧ7o{iuS7O^{Mw9\y6m<Ш"` 3#i*Ifj:ğgBBB_s=/~=!6FIDATV,T+&e҄t4dp*CZw}׿)**rZJ1bGMMM級g"2?|s| BFʹiӜ$bg̘` 55-sriĸ8f̘f9طo'Nh32_zxxĉ|PқFF]Bۑ3g0w\n@ Rj4ONJJJ[T$33͛7d"11D6#[l!--Ei/,68QE0ͤ^IE͛yڡ ]].dgg7(SOqz竫qƱ3~gVNbh}{.1 5&&$%%ѵkf+;5dp9-26!edggc28p|%%%^3قJX,YYY(رc]ow ׏bJrAnڴzicW:3f & \MMobr)V(T1͘L&Z/V֯_oSz5>wi2iv 8Kaa!#98sssիM곴{.h4^^^(/B\|ÇK^x.={__öm4'N4hUU˱[cdffwV fndi Z>(//ӦM+XbZd4{n>S+t%99YȲ,w^r32EjmȨFe,[㉢"f3555wkj:m h㉿6]_< +Wbeo[ܜ\M!CpI.\r&HeE%Y >s,K"w 6-jHҘC!H z&~{wb޼yo[[˝f>mEDD0i$zFCIMMuق:ue˗C59fmؾ@-Cw %Ç[\矻ղzRӜIf}رcի==Y#K).g|L}ne~uBp9m.w N#I|Mm-FU-0 lܸʕ+{Λf[{۲VעkÇcwN^]o޼drw N x5mi@@h8YW3e֍G0o<:uLXX~~~}.z .q!+8q"K.m̆ 8z(;wY-S8ڄt#GXvm6ոӏh%Iݠ8hvA :YPhQ^lɓ'4i&L`ʕ^c29/{All,ׯ'++S.`0zj222|BB`547Qw+;o_|h!IdZm-T*SjNJ?p܍z8a6IHH~G}ֵ me&On]%p!|}}]:^GeĉM cpWMB85ٻj l dYf77ܱt\7"-V}o ,-\7l <bZwO{m۶)999;Oj5w}w[4Xhgu,~Ye~˓&M~X֌tF]zA1`N:Źs+VOɤt&".Fl\\ʶPZRQ9sLݘj4%IRId4ni233훇2bt:ǎ~Ϯh5jf.X^zaShIChh(<%44Fq*˗kF#}KBٴiCʥ`N;]4FQo<===W-Ώ~?lh9r999Nerrrؿ?`]ҩ̡Cnin:-n9,C||,JKKO۲,ygUǏ`䈑̜1S݆p6f1l0vi|%zm,I ,`ܹck׮s l6oin Z]x INN&== 222HNN$nCj "';I0eKKK&$$p+EEEkPTTD27K)7,uUc XdP*q?>w(N9mUUU~?'(/_rll4ˮ],Q}Rau1ev!n-68Yٳ{Wf}>}+WУG „  i .8o2f,\(xZ(Yyg2LC}QY M }||xG%gΜYol׮]Q$m۶pϔ{qˏL>{V\IZZW^ >]-e^!C^&22rseII`jwaaamq Μ93KU+qʤ: H{T*UvQQ+*;zh7n7kիkwg‹/зo:Ilc͚51UVqiN:ņ 8s _|EEEwH=˗/SZZʒ%KHJJbܹ㏜={Gh"wҥKپ}{SXow߅N6.]A2)==]mL&@Sƍ _,B ~Vor5Ԇ: `ɓBz!?MTJe}blh4h4QZZ_rr2/̜9zS;Z8!ׯGRq9bbb4|?<Xzn-ˋ%K0ydz)GO<]7o?gv"_{WT/zƎ -v%##={ /H-wyy& Zc3RQQ }||>_*\vx(VsՒNc\xI>~'{hx?~<pRIP ‹/йsgf͚hہzwf3hT?**7ҷo_74j(9ªU_'9~8Ç_A:4** e儆O]I⋬_޿fsn>}DPPdX!&&Fu^ ??< .$,,Lv_'<<! CZ-O<_}w}76_+F#& ł|-ɓ'kuԚ:IJeJ/%?!(,,d|MΰT*ݺuww9/++[I$''@bbµ rMMGHH!IrN]w݅V}??#IVs1":5t\:xiW+r .]o… h81cHMMO/,,nݺ/=#!C =N-\JJ 47gE3h ̙BfϞͧ/֛慙 6!((s^yzꅢ(r5*$%>3<<|~+iӦf_bn2:Êkp* PzVko~k[2'ZmeBB1}ѣ-q7Zg~J>cV^EUU=QoYi|R=6ww*^w[;l\ou+dpn+*BYYYb۹4F+xzz6ubܵk!!{t}]~رKۛwۜ>}ŋgɳRQQq޽zj)--mjii)hQcu٥튓o>.,*,rrؖ^u[tjU'3ϸGg6wl߾"2QQQ|QRHOOЦz9}tbbbw<Ӏ-aF-[H|?j!%%%np?`aa*;-ٓcǎ1߂[Hrrˌ~uNJKddf% >##Cue:w&,,?PeUV,˼***|vv6-[&Ξ9KiiúlK0 L& ΕTHhS]ow ۛIns 9pvY~lݺkkL5;+WпR]F! ޽{;eeeRU5hv{zj'wFARª 6ȶU|?FDDD"`si4ep cАPjjj8z̘1|aðٳAzMM W\q2t6ö#ܮ`/C_WrAAA;Eu_l?L5& 1F8v999+ܮTz<<<B:aIH5ī=_ G#2z-4 ˖-sd4r)~H~ܵkKBx ݲlgdrV8q"ͳbpAQYYJ5@EE]vmtUovjC`Źɓ'b zd0rAq !((( 99sN<ĉ[]ɓ'k\XxX7|Kpz'KJJ$''uV.F4;;FhhhgLM]b˶q16 !IHMf1`HHȽ!/$$ \ʒ{>}~JڕVx?;9{=o9!|>8O4|>H*| 1>F8.TU$AbrOzD$ciip_9hڋd&Lr u@kkO+ +8a 555T9% JAU246X>u:}tjӍ>SgAS4)7EuFNuDABXL9mI)wEQH $I(t‰ֶ  <$t}p4_;ﺷ/?{S;jHB(`(]Ah`h^ Ctc`6j#8r K+IՋȒgrZAOr >%@@UuAEQ08fMol29}Q Κ `lklwY.lO<{޹itUz=S Hx!K*hfERxog9`h,"knj"9p4EIQ4T׶xE#NV6`eIVhi +W{V]~&&bFA9Eb2!jd@ay`r'' *كl\fhCǫ~x\N ҍǠ'<,G$sӦ/ֵV43κ{h߲?%s~]mX<X9wUpDLv5Yϲ @/%7\u!tIUAPU N`23p.mԪolGSKXdz|b6"cs8$A$DIEGgmAhAQ]Q)*2.XO3P-f͛J,Eƶ}&1\%Ϸgܝ: 0 ITUcSb3 (iy,0BuдPmiP$ "AS1IqSBTC$'?̚U nK[TEoVֶ0KM՚I:Mw pQ[&ԩ @VT,$eʬ3pf׬]GI*Lq.阊[c,3LS}>SQ裾]}Էc͗٭w5]~{^1CUUgy%2T0 4q+t]Gs[NT4Y{UR~I808,?GkcddhC X $@4]t$IBt MT5u cRPO$A.ݲe˜{7i>o%>/xͨo5$F<.=Fo[mpd$snD"F^N:TEC$pCYV:(F3pAcrӕ ѨEU+4MGT"Iq?I` h$% M-f# f IU ~&^suh|խ}W,m6<]s,*edepDltF﯆p$Ξ>i@ E$*@UuMde1o~ cBvfV/ }!h248nc`YzT% νG@Q4hwL:Nti>5E/d9"?;6Ly䑡hIRU]iќaey}GgrXxc'/`F}זx}Kj{kL/̈ CNHT@yu=`dY$1QtvMs{$@WOG~AmC36~Ac.H M)Y F0C% cGx$:P[Eѕ3[%BUu,EB_#2>h0Mƈ I4E`ӈ~ePYbYx ~ӟZj[A@%@Glْ^n‚g(MPDZ0|: EPiGI?Xeg`Z^(p;G)/ &|4F`P@M}'AM!0\=ki(&LH~ǝonX#9i~[h8^^k33^ '₎~Ae6'؉f/AY NlAU{ <%3eC>S1"Nxp Y݊P$#Ý  2HL흽~*cߡ:D#J³cl6,3$j3ܸ᪋qոvj\nV-=Z%~fg  /g\32وpT@G͛  z/S?\ kzzC$MQ )'͛7/תY#<ӑ 0 Z.X\ &{qCJ inI"'CQK004͢ h-JzEuD!xs'NT6exݽsbDT"i7Ix5$C=}qp SmYA`n0;(E8Q?-XY$,U mdBK/ES|  NqYґr(,ˀψE".p1l ؔx CS#!G$*؋eHCn0_͝5o(Ot]or-a+guצuQAb:fADyY ( Hx$I`AT*y 9) !I2'F# st}"&ݯ(TscIs3rس ;kp!'Í  (( At)mFM>w H+/YN2i8\ZcwgxT4*,E@cKuVTIFL"zQU3CUuLyr`XȊ:8 GO2p[ In:L(i.uPӕL䇳pЁ֎n|n‘[t'/s}o{YfբF^PX@EU 2f(]6mM}S d4`9صxihdg#iD +j,!>>u vJ$c5I$ F# }8kT*11n?A ŘlHp|nfPS½· )Li$B'Vsye+(} E]w]sBίEX0{~1ض ͝p9 A#с*8QQ!Jj()B0$PV0Hz5e %%>G!tXPMɪa踄U,<; VO<׷TF(F AQ-`XE6|>e"2y\yr·Idu!7ۃUfcJ"(AΊ6ȊB7#(;APmN'!5:zڻ{PhTB0(BY 3%iF>N ̂E߫o<}CAu\N0sL73h4 vųgCCSZb%jZ#xJP4 *4_DVi7Ӻe1 ~=]EH cbLMh)p8mm"naH~OD,6 3-[6N jq(qݥ @K[?.p6?E$*AUtwA$]̜%H?p,4 L^Y46t ȂPʰ!V_EX03]g$QAlVs,"c43T)"Xl@uu/&v @KLl2^# [ cQ  d5[̜f20c,&tIyFTD$*#"=͊n!'ہ#G;0'ơH[<,_T0oYLK!*LbX&V?d낦(46̚LFa7_N Hˢ?As[iV4PP}FN d4 7˃ DI[ E@Q4:EjLB% XpXuF.-ihACS{\TU{uT`* it]$Yٹh 4EBc Ò`1q2ɏZjg{!*NM)B(rȰѨHDȎkIEs%MTC hՁÞ|DN,b1<ϳ Ț$@Su[OyI@ihO#nahb4U &i\U4Fz3p&VҸ{|>ߝ$IAu^"3iVA 24-NPNo-..~oe`Y̚ Q\DLCLҴX!_jc]HI/>iTՃe>+O q|Y?>)l޼y3Ǐvty} G/kc7E󚦣W/Vh_qnem~M}}]wmn'%[8AQaƈDh^aR,?(5-]`e#'US^z;/{:iIi E}>ߞP$_0;f4-&V7}%KO,ˤ,ϲ fvi G EIwdIsc$ ɈW#J~p,~cUc^UUpx@P8v}<%S@$*d-PUMǶ] G4M#+# +#&J26yY^,]0 MC 'PUۂ_۝kω[Yeٙ.h#IB4J ֤UD[k3¡F2r1cLP'L< Go#k/\ Go~m gV]=ŬiySo5De=H̪mhg;3<ΛW.c4MџGKwoxG|[Oޤ$\sS^~-׮#߂o\1lTߟ<"Qo@$AvF("o킦4Ec CIO~D߾pX2bQ츳O`NCs/%t4ɲ|cKˇzhT ڊG̯], FAF/Y{vI8+:PS_z[WԎ'j1d:*MQxcD"B(L2.p7}eu7%2rĔ} PSuBϽ{p.dB%(@sv1ULO3_Jt#/.Z iqNE>t-(ƿݼV3 &׋nT5d])v.x+V]I ؙA_Ixp!/ۃs1-? }ꎠӏ3QU׈l ńPXm<7O<7A:ErXF<#A'M\2J IQ h,V7o~܂}\kiiƞ?6.] $@($)nadӑf IQ46_˛]rNUE[gOMׁ>\5m&07x#;˅ڎXV$iW46TZQk$Ij%J  IDATIVf N_.* A$@Ύ`ZaAzYЉtIRjc&\KK >ܵO1ȒE KQȒ?cD(R,$/{O/\{YfeYA$*UL0haih <-(:s-#''x?ooJ!L<sΣ1Ti ,rX=jlWsr?)'c&ă[~RS:tbɂh Uq$22A@c#x`(`kP)( vFcS\Vs, UU'Uթ:tݗD EѨhs C# {ywI[G53 t(CYē+))AIIIk|EW)cXYJHt}H'*DQÝfAu}#2)$A Q`b&1 DhΟKrH,zFNH8$IdvFEick{ߗw AP >1.1H]Ӡ4M6s7fhX-&tvX %NxMҰ `97B_$m#4aBsk*kc"}CӸp޼, -~{4G|rYekQ]c )-Z`dtr1toss3̞ ]Wi*tME\Lg4(0@pDk{a7dMXC4*'YRxF28m6^%˛Ϝ~>d]W_\TqO<~sٰi}7vچPdawVEˤ WYQ k/iR d}#;#hJm;K$3Z:F,~v.xG}=wv;QEÃH՗I}> d1:Rid}}}gqp* Κ64EEu=! H(ܤˆ@|=e6>ox0λ7=_Yۺ:=y*p]STo~Lp~48 W|71~=A̟.dr,CYqUN: >OBsw޽OeM+[),$wHht{1hw|Y r2!K5 n'6\8pYhxgalfV<ٳ`B'j:dI6+;eEOu˫dlbNH PHIDJ>`bʍ׌lȧXp:.[:;?"i݊-Cv@-l^/B! K/~a#FzJ >09x>zH0$͆t"R5.ׇm|kX0{&xwPU*CSر@h Ո.tʛpzrKωV""tD !KDYe- rs`2$A4Er> ص̫kzlOQqC tSp`֭x77 !M[E ,Y@48,M2ܿK-:c@-`2rY p; )F ـ<7TU`hQ>/ 5y(-oNv Y 78):1k/ٙ^R3R<ʐx@ծY~$g1( bߑ2,=M}q4Mb5Azyu{k u۠ē2[IC (Jޘ g2P[W3H9:8g;qsW?VTgሀHTA{W)ceu("C'1-/thiCu}EϱPc@!ipKK&Aӓ'*3B!LWFiY>` 81r$np9AQ8*4BӆeYF$jt !$j'=He$YV}UML#'Ã, `ttyiPd @cª @Q "Ad2/dl8|ΊaRÏ 'm.,r"E]/#0.+!""HyI&-8.F 8nj|a40RWY#09Xͦ$Ix-ujl޼y,Z B't]yn +@$ME(Сq$//7nqq>4 c| ~c}RmO Րeg݇Y3=nf<>5L>qa"[ ?[*AQx3oAҵ,odN|0đÇAQU AcSVZ<1n+:::y,f9E#3r2<¡2#ox%۾yYifa|nBgX̂ lۺV,J44`nI9_¸  Gw|t ~ǿ`ϐ߹W]Oo5˄h#7=USH@FU՘9۶ EQ8Qz 7]sv]בlI &9Jo_znظ$-)*PW\rs%ه@bj6mvK,GiKO,cw񇧞D7 omݎ:AĒ&?%zGߝr3Ft=!{$v~^4OܝsʅPu:&;ݗX,_؀A~?DNݯ}o|>4 Y/߈Ύ610d,Ϗ+W+`9^w?>lY- )x70Uk/H5HTZ,{\5nAϻүhAܢ):e񢱱^7.^"VvBS V/_wF/!v܁j̙qw.But/xG G(*"յQ A:L̇6軞̏KrHx^f(Dm߳7UU=e@4ؿ{WQut',Q9HhDpc"\}Mnw W@QUVUN^c [MsZ&>zTUXqQ|([\%WUņ5Ğå8Q^/_ϗ,n$'Qzb,5pnnvs|m_߈7͆U g_^i"3TchinU.Jg[t ׮]ǞzZ qyhkhf2HbhV+36NK $ < R.v&{|bosgF_F5e:HR(;><8€XPRJu@]6v㬀a ҍ!݊;@O2:_2 xNɬ34dujhd5?ϳ4KNQANN0XP[S:N4oE&oloG+ ^ٶ\B yܿnsi8ЅC8ʼn9v@dVvM;`h Oe࢕EX,3\0I/u}VnUQU$UcKzCt*g`1r=]&`yK彣i8 T/6o‘cعg?;bQ19;58r#lF4#턉 '5g2$IFTݏt(T 0M<6 n;\N3XǎxHVetõ $J0A){4M>rWn[u8$\0w6>ryO2W (Zꠡ"y0-׋~X&|~Pd@e5mhau1;{c1p`(=}gt]?]Q[ fP4h9 M( l&)΀ȎkNN'~57 _.z$ [~=55K\4gdVa}gopN{w b4Wm0$(($KTں]e7ʪ!KQ(R$Ź]ﯾή^8lحfXf,&XFX-FXL%KNw G-~:( #ZN_"';]ݽu연h:h@018זfc VI,Z:@1k5;3 @na⽱"c¥9ɒ鎏H?Ӎ==}H;&ut٭W,,~+hp$0a4t=HQt`@ I WMl6Gkq%]p;Pd›fFSkv3 fIڐ:?Gbk/;9ۈ6Р ˗,UW\$Չ?EB ۻ{ߑm]ݷ@{g/aE/Yb&c̒eڍ5)KǣsfMKpI/z!TԷ/ g'4eAs{/ںɟx5FE %%I8s·:|\kvs_f`b>V4o۵綎'8mfߞar#n``RX?223ᾃ#6iXhk[p+I!x]$l60B8x3fNXUu- UHtt#$$I'_u]")b]I?e{i$|tc#,=#އHSddx'ϾbÅzq k*!il>}"ʆ2\UmIܙFSm]==ŏcdk“|WWXxXӕ1h@ MKk8VUK +]uYbs^ܰ87N g%0h' EJ&X()Kµڍ8 N^9>J`…xᕷ9Ba4uäې n #=3n{]8xw硤kؾ_W/xUS9q9pj  $I\|ܻ)ltPЌnU5k/<)"1$8@nfPEWE ApX%!0qHPXDV.LbHؿq["N^UU@Ljuƒ Vw=ʐƊKA18p'a 3an4dy=U lDOHjLge58x21WxM-}(h44qԛ}?KTikO.At<33Ӌ>t357V3UU1{ZVu& =g@'`8 E$-~C2΀7 pyYCBT{ ޸s6=s.JJ_^zH5 -lA{['T xvcP:ȝy0?6"a,DE=hM2h 4EhPw"(*8r i4cq47nXN%Vir4 M}ᨒx1h:zqlXj4e2 HFDPAG ޞhEyU=0"u A0$ "GDDQ &ږ`|oa\d97pH w-oz*躎_z&<A34TYƵW^׷P^^}f']ǒꢅY`G+m rv4 d t#=mp̦EEKmݵ[_ƚ44,Ww5rM5 L@222a`2Y`22(;EAA!>̙7}at]GEEU,PbV I!J2I@3>!LOnUSap`rhW$5I ̸K[w]c@ (5];jHT I)ECeZQ5*]4YՎQKV (V ~-ue=A(..Fqq1X"7%ϗ>eŔTUUQZz>蚆t%%'N Fx<`+8ޡ]%QXT<왵CW_Wr ,Fb4.5CS%bWD!1ÕrwV-4&wo \^wֆ榟$,=s鮯$qm[Gӧv9pӧ%BSs#㏂$tAf#bh "Eދc5ʡ_O?uLp4E!F0:> BW`3R00:N6b8!GJۏД7^9.o5) cRfO(j۝7MW/8Zm6bvL(Ed8Ztw}&$4 Cahx3)}] h ^D3ʄW8߻ap, hۓʊj\vz3Ջp8gǒ5V|+lIDATy{?s=4춖ʚ׾u()ȖyWQAִ]{4M`5>\.J"kX4o>W6eh\v&oX,_ U[֊@0`XܴxPN_0 QjJ0!#???\CIÁY>fqWnn&%}GN 1pcoi <ŧR=d4|-w!Зov;=>gfgG6l^Gx7"bV[[ZV?WVQQ+T**X"HB nfٙ9gYvO|f3lgs~;{v8cH^VI  @$"KHa11a`LDSbbZƍ_͞w#sbBŞM$ 1⟾yySn"2Nh X@Qg sH4wTO7HBX2ЪՠJB4Qѷ.]`k~ۻ( ̙m=tJ۬Vճ^jJp:nJiI`8 "zlk Zh59 ]N6 à ~p3 :-x/lPkT&Io=cF! 1D$ᰀP${,⒌'L>oW=RlݺcFb@ӤڞA)ȵKnJib/P(UJh{ރ 5I.n lוUD#iu>(E/;!&U()ce#c"nDaQQo96kQ1,P{i`fϰlH^ʶ %Z@%=a77NLʿ(e|7/|.Q_]^#Bc@S!htz9/ Œ*9bQv`85|>/ya֡%EyOl0H vx~~$8lYU(EtvE]] mC{ L~ك6wƍ5̠P V FAKk3?:IQ^r t|zŪw3`J)T\\"H!R>P 9?)p 7}f|b%W_ӫHS+IKSqnıñhehhbkOq} MlIP}]m?uuU_ xցCaԈC\mq#JZzg{LJXAAzwPwuܣ+RLPnZWΟy؛LY_2L˳h 6^wD)qڷ/-(:$AUy`A2FB>naÇc_VfNU^ bzEvUn(E.,3>l12Bܾ ;:m-N+^[6y8ߑ= 7(#oᚬDL]%rR,bk#'1?~R e1~(XxqCx꡻PR&96Mf܈#ɦ-uu-{nhX4}{pϗecL_lAKw~Pd7VL9ty޽ bd+>y$KvARad,ǟnzinA\]5{WLP;vBS3m8E GaPGP؂6wI̼@OaT\:-<`a'_W3/;oDnIЩYN )neКrsLGbѿlsfNU /l[ZKD=\JuL'k#xK $!!.UjU8&欄?pc3ĸÅS2MQb:tcܨ"L?k^[ [g(`޴q3iTZXLh% Xß|'}>~]gL*HyiMS~6 9ۆ)*ǔ?<lD% %?Acsk.R{ weSNS2dYzWGw7U`|ŤEVg[G8N< +$RBCU%{QApGR N`0CGQЄttEinCK[gJVC'(,*O7cN `(iD*Mǜhd7;1.l@tY-])Oo"3P64ׁWq04U"z HOjj7,)xI]4fMB (okx̅x\<ǁWqԈEhTH Q@ pdPZ0 >~y}/o##MS}m}] e (JWI,p*\+iZ, d*C?g{EAx_eXX4^$$1DI҄0굜ŜAp Z 8 ’QFgw uMn}AdQΆQ,=. !RR D(@B? N[>f݃cݘ0sgMGJlklH@C n4:=YPR~k:<Jc #Q`Di sa't/FLJ}#L D1׏fg\D#ayY3F$f5"*wWeh,&UզVu8.Y3̸(B$PX q0J;K蔀ZyXn-V<,F=dI]{sU@Q(6kcx&@$*˪: r0fh>F̆{;I x|w_~ 8&2h2·奘V1w?ޱ s`6fq Ad 5[oQI:$2<:[1mrzxbB?eIbXT&amni/q !wހ9+ Kg3a`ajꎢ(w0BqɅF/gKo~3A,|BQ̀BmΖY"ŋ~mx!dq`02AeZ5rig5ນ#ٍo`µi.'7Vl xyP tjd)񣇠^@!F-fIਫ ytj:ȱDdpC80b46b‘ 4<m() My`/ڛo\G=.N@IYJ/]H=[C!E\;}^R|ހX,^H?9zh<֣ә EIL2&m\#\ zN8/ɦy}dc8XY: XqQF\a@Q`208]1R,CiI3M*~kq)Z3DD~ڀ3 2gرfY)x^$> J O8%e4pu̝x pثF&WGr&jka6akת I@dحEήg~0``_.Q&1HTFEImrGghy'NzɨQT8L&Q@Lj,B,0)*<.Xyu8xs")X VNhe(Usl8Q1iX\s2tX|ݿ<bo!%vIENDB`pychess-1.0.0/pieces/chessmonk/0000755000175000017500000000000013467766037015523 5ustar varunvarunpychess-1.0.0/pieces/chessmonk/wr.svg0000644000175000017500000002557413353143212016663 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/chessmonk/bp.svg0000644000175000017500000001332613353143212016624 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/chessmonk/bn.svg0000644000175000017500000002524713353143212016627 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/chessmonk/br.svg0000644000175000017500000002327513353143212016632 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/chessmonk/wp.svg0000644000175000017500000002070613353143212016651 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/chessmonk/bq.svg0000644000175000017500000003563213353143212016631 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/chessmonk/bb.svg0000644000175000017500000002356613353143212016615 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/chessmonk/wn.svg0000644000175000017500000002760413353143212016653 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/chessmonk/wb.svg0000644000175000017500000003101313353143212016624 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/chessmonk/wq.svg0000644000175000017500000005212113353143212016646 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/chessmonk/bk.svg0000644000175000017500000002666113353143212016625 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/chessmonk/wk.svg0000644000175000017500000003064413353143212016646 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/Alpha.png0000644000175000017500000003265013464375555015270 0ustar varunvarunPNG  IHDRMbKGD IDATxyXWڇ]\A}wTNuhmm+Ό]uok*iqm"X"*E}_C$%{yy舳mj322j-+)jKεpppҥK$&&һwo ۤ]|333 T^#55Ձ@8 ]MKεwUhYxȬym|^ rPH$H${{ 55@@jj* 餧SUUEΝ֭T6H}0ϦۨýSs] >:P]]Mtt4Ν CCC$ _hyyyDII AAAdgg3zhΟ?OVV .D,s]?\pP]])cǎeȑgz!Fs YH~}OV޳{oh#m߰@N>?Oxx8׮]#11@:tݻ"44\BCCٿ?999r9Cǎ "117orI|||8y$AAAG68Hɬ!C 6B_v訢̰ź7 ~=j?Qs,`vc~ //}aqxyykƉ'HMM% HD~022" Xbǎcڴi瓜L޽ٲe deeLUUUG@ `֬YݛÇSVVs=G>}4nƍݻSSSqssӶ7r;Լ XUM`kQUHUy`ԨQ9r_RF͎;׿X[[s]HOOj-[OFF*111_1cxzzK68nnn[oZRR{矧{͹}W46O{m8 x P]U{^3Prii).\`ժU5ꫯ)ԩS9y$k֬!&&wyǏ /0e2d?KyPTTĂ صksaŊ၉\08O|Mlll033@bP*R\\ݻwoI@ н{46[XzO:5GeTWWsϑϛoD!--+V?_0i$ٺu+$&&P(dҥu6o&M^`˖-$''S~?ڌ)/^lV}u\ / 쀕@6Ky;X_M%`uM?1vvv$$$4qi?< [laĉ|W̘1paΟ?2(yyyuECmt0Om&LG9M['`xG4q}r]#n5Uu&D j2'HR-[Ftt4 QQQkTVV7ن~FPԼcϬk7Uʊrڵ+LC7eȐ!t҅UV߹}vuvv&==mf`t!kH95i9u2&wP($<<{{{̙d]vaddċ/Hvv6G$w5Y/ ;w&""uVz1H H__>o@pqqavZLMMJII S%Ǐ6ZԔ> X,S\ и.$G0aꫯpttTUDB\\}E$͛7ٳ{{{yǏoPT2䞺h8)g̘1lڴHƎƍ%3g‚F˯_OOOΜ9ƍ;v, ʵkATA4[ [@M{T#?UКI&ѵkW.\HRR->PYV,+ϓ'j~!$&&h"0aʲH` g}޽{[;ˁEEEwn޼~]rrrjE#P~->,Geʕ' [nX[[+4v K/Ă %55+WpIfΜɂ HMM###|||z H$TVVbddd1@"4ϥ%'+VS,C~,U^\\|=555377^~~cǎN:- 2|Ȑ!&~iuIII~k۶m0]:caa/̘1Gor*ݻǍ7{.\~˗/ckkrdСoǃH$|}}17W(oW\, aZ׏ۛb:vTl{ァ gϞ% رc***dll\3;rȞm۔邕NJ@@=z3g48022bu333cʔ)xzzbiiɊ+044dXXX4zVop۷0Q\M1w\;eҊ[ dff>}Yәfن\ݞXZZC={ʍ`SSS֭[ٳ >PcII ʍٳg7il .66G*+a׮]xzz2rȦ+4_Wnݚ55_}dܹӧ[7@-ÇG~郜:wΝ;y~P(ߟٳnv/Ғ^{ uP߾}Yn/&''GUjZZP cǎgmbѣGػwZ nW ~nԍuo>ɀzռ[lff&ÇÃ5kq:J+lذ4>c-[VD"WÃA6 h."K_%)@ףGWDҷk׮ ٳÇܳgիר]v"bld,Yŋ7VWWg1p@n`ӷK+`jjJVVFmT=nd׮]======#( * ݻ#Q^13h F!S[_;j H7Ѓ3lmm/ݹs'D$iyWUUI***mmm޽;r]:L&C,+tA,#ѲZ7x┹sGJ|SD撕v n̙<3l c?ZkbmO?VFI[5GJk8 }1vNyZuRxhڵke#\;vkjWm ~222cƌ*ݲ[?q>=&R)sܹs:-^` c"??BAAM6?#WxmFo'H(**ܓyMXܨ{c׮N;:9q7oTӇSbiikmHĂ PzY,X9b N\@'94k. 8|0 %--]vC3gPY)=ԩS FgȅyZkdpGё7n0ydz7)))pȑyu۷o͛uONNf$%=&kPpxI?mnl+,,֭[ٳcĄܺu%|c[ 2SNs)))!88FUYgk:<`˟}Y,Q4BszRygϞdtO*R#Gp& I&uQԆ=Ȋ SNNIIpwwWBVVVoܨW^^^^ܓL&㧟~Vbcc y# S#&O8qRiEppu7n8ݻk`3F4tBǎ ЭL&cӦMXYYѹsg,Μ9Í7T^swwwwwl*YL&32ew.]::7:r v!4=Qf@ `lذu)~Dڵkٲe ӧOWo>7j0'OwejDDDѬ]U薋())={ﯼJ7‰XyV666XXXo)}@@||<tE*666Y1c0f֬YT`T*($_ _|BpСC//#0VI ޽{ڵ_|Yl``@HH-bǎ6:ٳ'WfDy0ĉYz5={TY>11QW`-uj^QQQt…y3^SWYw}G}Ė-[6*~z6mDPP<3{lv ݻ={6*d2]_߼y5R pFII#=j( K]ed2gΜ!22=zЧO"##pr ڵ+>++Fz聕W^} Ã,ؽ{7ހ|*D"ra,YB=]ܰ>l/^M#R jk~R) ED"/2_5OcU ݻwGtt4W\s8o``It^| 3= r$mwE^^^mOj@6Xy饗T^_h_| 0i3RYYIjj**TWWs%.]=D B#_PkېP(,)ըkoSZZӧYpZ$ϟϑ#Gpuu}F )))7Mߧ';= "6kL(Z\uu5̌ 64Zvƍ8q/Cr@r&+\G^? BM*)@NNbnVWUUEHHiiiDDD4ʊC1i$ۇOK ydHR155ThffcccB!1z9^ ֥r!P#3 .++ʈx^6dÙ2e ~-_89P믿|}MjO.T2x`={6vbѢEmv$33#T* RRR\#ErrrE,7݌֭G] ck#ɵk׮>S?nWUUŏ? mʙ3g3g?+VhSWLƉ'///ron4ݷ@ `ԨQL2EmaͭX :=zTJɉAbb"|7:? mmmٽ{7j][+QQQDGGk}P?n87N Jd2:Ljj?H,_B:\U&G|LLL~:wQ9*bbɳRX梹.\Uy@رcYǏOuuuiMۜv5hGӐ`Siફ)++^gڔIEEƙqիcƌ%bqK"x#\m|(G&Mf"??kkխ'}pJB뺢߹s'QQQر%JӷXF*}p.@{|}}NuNR[>44###|}}ONaBu|Dt]vw2`tȑ\.L/T*USRRx'E*k׮)G6DBBB^R!bp#X@/ q㆓(޽{Ͽ1X4ϟo˘m۶)Mߢ9r*  իWyvvv쫯:<~!##wAwF-M`'{&<<{qIӷhCT1o,bqiӦu%66WW97bqp %ֵE!M96mĦMСذagϞ}-MbuM)%͛w… UV]H$ӧOk.;ub?@ DI i8BBBX|:VXAPP [ՠ;.nSR[MMM 9رcX7oPuq )%뚠P52uؑq1h @nTƍSy<yTUUQPP%";ҫW/9p;wӓNtQBP>R!4uҠX0a/%~{7hzcDҤĺ6(ϟ=wU^355Ȉ ej*? iVr tMبXwA>}B]GDDE&DR[;Lĺ6(DOzz:)))Jzz:ݻ3334}D 1uZkzNb;&00MJkB~4Օx6oܦutʕ+M 9t \xڵ0fmܖ+&j%ֵE!M?p@4G%Mߢ)--%<<\Njv*m NB7o^n)AiiJkBŋuKqUe,MߢQBԱ٩5e#GxR.^7oެ766F"P]]4}E !99µ? Ao+sVSAeeLDĺ6OJJ˼=z3f~z B߾}4}%;;f_~;v0w\Oh1@+JyFFFEklMG:vHDDvvv={o΂ 4}$==@cؽ{7 .ѱ0@榵O*lllt-Mo``133SN2h 0a~)y$667oR]]D"QҪև4}`bw^R!hcpfff@uXYY9"?m0Fn皪ELL ۶mcΜ9XZZyf&L? SPdJ+WҡC][:E^B ~vhcp&fff.+++Jp(T*)// 444*HO40 .0`w\|gdff wߥO>jquuJӷ8t fV&\Z\ffm~|PVH_rgi\D!M?k֬FW^-6%M+oqս{wUѣǍׯK$33D:s}|rlll"00KҵkWU^7o#G9Je޽{Sb3yyyRfQQQGqZHҔ5ubW8qd=\hh(Ʉ~Q9qDv[+m)>$pa:x\1OAA;W#i}vFa;wɉB˘QP ɉLHMMU8::, N"BNN"{{:J; IMME {&==tܹ3ݺuw<x Ry**3PxK*! W&(jw055755Uz+<[ڿxuu5ќ;w2 ~TNNNxyyDII AAAdgg3l0.]DVV .D,s]?+155eر9RRbbbbF(F@ ={l1c9)F677Funk78R9}4k֬!=="ΎݻwEhh(9sgN^^;w={`iiÇ{.̛7'Oo$ZjI`9`U/lСE}N0hER)@6 +++(,,$!!{kkkeJ>}Xn'N 55C1l0FCHII!,,˗ŴiӰҒm6>Lff&x:(3_~@k׺Cze :7yLE}:" kUHĐ!COXh͋eѢE|' 2'kH $''cg:χ@ `ʕ֬Y`7667x?\m˔)S8x < xzzjժ,Yb1nܸ999V+7t֬Y"e˖m۶7,FC+N={vfbb:uvܹ۷o߲eC5>̚5޽{sa~7>LL4m///O>!??77/=V'qFYdIe2'O\|###4hbH>lڴ ??:k<\-,,566xbv@=ȑ#gTTTZXXg5waaaǏ?1jyJ3;v < $McZi*ҽ{wd;wF ?_ "HHR<<vV-]ꕯ?ݻwc)4~Tb+22&ݿ_7- ]ycllщӧOg̞=[2n8\##*qqqF!D.0PX`nn޷vō7:޽L&;tٰaCyP(,JÀ#~JDbjժȓ O WW$C1ihhſoΟ?ϯJLL oVM'3_u@ |fut Ќ177o׽{wB!111Z5"1bYYY >+[_ݺuӴJ 16''xΜ9S&###Ϙ^S|Μ9srr233~QCiiSٵtLu@:tŅ˗ka䥗^hlkC%EEE[>}4H2A?ӄCS10|!,,O?4޽{)))}%P mw0awaϞ=Z5|UA7n$##9JIW6 ƍ7S7n6`rJ5ݒע[)dߨ1cư|r)j믿g1nܸAd H$'jאǎ @O itҶG8I&СC5uR| 5Jy&ϧ[ndbьN/T =[,=eeeWJoP~-#GҥKu6qHJJ"&&Ν;1c;wwwwʈ#ѣr֭[L6 H."m۶O>]^uiiibLL̃SN nݺeeklmm]ѥK={fzzzFa+ݨqc7fwԩM=Rպ'YXXK`` &&&kr 0`,\SSS());w7|D"s̛7aÆGee%HvԩS+oܸ7((hO< L1b=z9tӝ;w:nذ0ԩSҒ%Kϟ_9hK$ 6Ν;SQQD"i$ Fׯ_?t/̔)SxdS䳪Maa!W^%,,;w_ҩS'/^6յ$HR?'Ν{iٲe " *OR+W_ǯ_^x*-Q8N[_ҺӷXSJ_KKK<<<8t0Ooii)7ofݺu;YFy,i2vIPPsm~^KA1:''%Kcǎ2+V{r[7x봧'V:lذ{)7ow[lܲe˱e˖y._=]ѣp"^}U͛Ǯ]|(b f뙙bbbXfmZٴi|رfΟ?@ P 1@YYYiӦ/--/7oC2YfQVZZzuԩq:}q.]ʹstsuu%22o;vLe image/svg+xml pychess-1.0.0/pieces/ttf-Mark.png0000644000175000017500000002325013464375555015724 0ustar varunvarunPNG  IHDRMbKGD IDATxyTSƟ""EP[+*VQq,jWDF,řQ( "RԢ8E+sE@H?Nb䜽 OgKaX|tt`Xw]qtCW΀QuH/Ht*H$d2q!:tt:]%e JEUUFY2.Q[[rh4hhhdN555JMp$";v uuu펹e&[8 }}}ۃJJ2dRe-K,CKK ttt`00tP㏠Rp8 Mp]f͛76 [8>vOLz(jyF^MM }^Tt:bӪ WWNuV$u؅*\~RGll,O===466*\~܅ p}000hw,77"iK7ݱz8p@$رc`bXt.WLjb X,V윭رÄ`X,+cBmmm%%%())۷ wwwEn={XXnnشϞ=9Ki322diݺu򍍍Y,SVOϟgggbW\3h W/#  00Pkt;I|xӊ;..?p\uZYYI"zdd7gϞضm'򸻻x.^hsNSIyo>:!!eDDmaa!)QQQ۷o7YQ׏P:---׿]Ç{:uΖ-['77?:ՔCһZGDDOOOc0Xd?wo!45{l02pS9QQQ =>`O:f6=b޼ysnݺ5bYFDD+**jUV9}Looo} hii!//عs'ÇcHMM:|⫡H#Gx̝;i111W*_x^\\,)cTVV(xsNӘ崶fΜYxUCCpssCxx8*++rql۶ ϟ&Rp*foqIIIi,^ wmϫcboDhB\\ľ<‘t*H:Rp$ )8NIB DeDDDXXiiVODCC  mqĥ%a2HHH@ZZf͚K\e9| ~B@ . %埻ORRagg?XipUf_zxyVVEZZ0~r&?44h&O ##n |>X,ԩS2d֭[)]dd( Bknn8qpSSqUUՇUUU999?~I\ZഴII.mi4/_sss455)rGMM dΝ;{nt+#""荍jU'7011(OjjjسgЯ_?xxx -- UUUx(++Cbb"֯_H8qB)#@~~>! hjjݻGtt{Е :-[wr%8555ܹuuuprrBvv6݋ &@OO ={63̜9ؿ?a[ΞƫW.w>.}{9)󒦦&֬Y#Gիt&&&|0WWW;i___>|:::R 4/_*`HġCb Ѐ, h/h**ߟI[`ғcǎ9hHZSSX=AIL8=>‰'&L7)) 2ebkk[ J~Ŋ?9s挶"]uuu,ZGd@[pr*`566J Yݵ猪Cї/_ӧu>k޼yMXB3󋳳.Yi p @qq1rrrЧOyϟpmRW\/^ 8YYY3f !SY6,((pbm)..VWWJ$-!}Gwl6Ə/We:tXKB~~rhnn{ 8llldo_H ח}]n***gϞi>>>ܖHKK*p21X>͛7ѫW/NQQQ!|CCѻwo 20zhhkk$^RFHPPkͱʈMӧJG?Ԅ#Gŋpqq2Xz5(\3fg1LL:P>Em [~y[dꉐ|>V\ :0b6q\888ѣG=z4 I6mZDG$j,K ¦xKV__;vF[n-Btt4oGZ m1cDBsE٩D/~W2mLQ(xzzBKK ?ؘ111pެ%jS/2@t鐁ujK||Z MɓEض,Դ:Ujd4( >{ȑ#1n8a޽+<իUeٜ%KL2LX|t˖-Ô)S:WahhH(]ii)M ̘1mw>ICgϞTիL>[VZJrJuP?C9p:ݯ_?IѕFvv0WIP.˱tbX[[wHٟb\+<`Bt_Ol7C577W*˗/;̬HB ŮWO?$JRI3w\̝;]WMMMԎlH:Rp$ )8Ntmw]It ‘t*H:Rp$ )8NI&y{:IM/_<իl;;^SLw>* )KNNbxb`:##C@Rph48::˗yIt~ϟ?{~/ ~@HHHn444DHH޽  6֤ܟ|466ohh0KrBӧOoN vvvXx1 &ܹ$u⫯x<ҥKHMM'):1455!77x^z}GR[$ .99\nPPP3g.TMM cƌ 0sLXYYAWWv|M*GSDFFB[[ʕ+ +6n܈={(mShnn7o+--Eii)߿ B>D{ُuuu@[[0d{'0sLܸqC/Ғ?~xB(DP(xҥK"_5vnѣx̴---8{,ʽEbT*`ii !nٳ8y$tuu&7nкl}Ŋ{{a3gTIZ"6L^ӧʕ+={6<==ț7o'aÆ r`%666#qFصkЭm;qD_~8gΜBµA>}p1hhh >>^7hؾ};҂G*P]]-t"D\ZYYaƌů VVVhy&eڵwUz޽p!o3k,xyy Gyn)))JL{H9 HOOGii)RSS. ^[lmm,]Txd")) o޼"\K)dffVVVXf7oތ &ѣGUׯXi% Ecc#-ZO?FFFϰi&8;;+¨WWWt\~]o߾ Bا5k֠wݻ7VZ%rFFtJ%H;vTM:߿a̙|KKKǏl2iPpD^^1w\@ PSS&N9s栬 J׫;%//ׯ#)) ;v,?mkk+1+N&M&$xjE^{2c0>}:ZZZދL2N(܂KNNt\ q}vQYYi!uɓ'Zbannӧ#>>^x̙3>}Ĉ:sӯ_?7`B亥>}oڵ? -OÇ1elذ]>8\JJ ? 쬰ӧOFuGDD>v1sΡPl~ݕÇ*+1a\Yj՜z0LǏٜ 8bbbrJ;vL){!y#Fh} o]Æ B!l ؝!2C]]]7B薚y9;v,={`L6h޷~ &mKw{ kYիW`Zc ~ʲh"+G ǧf70x`*pp)p8? $[a8 F#GĠA?~fjj*l6[Q$MMM\4 NNNr5UmI׶555899)lk`` ʵ.N¦>v,Ojii?~mJ ZJ>kY+B\.^~M'ЧOlڴpL@Kuܹsmll(&MW_}%Wmi{WzСCǏKmzj@``2SeVˡjɲ2xzz}M-ܣG|Vaeڴi?> rss~Õ)Su+%h5a,/{.$T=yBRa0|2O? <<^2APTr5$H\ff&}Ȑ!Jd2i&h4ܽ{WG L<>"!!GƋ/.D6nTj3IC>Sj oD6Jp?x<JKK 0 *ICP+,,DQQQUUJ루Kf:(iiiACC 8qօ'OҥK%Vφ, vXfMDG^ѣ%*aÆc0vn޼&9&bccumR355ő#Ga$&&XxpssabbfFFF5I!::;ٳg??06-Ql6);%ٳgb-j9bZl.((@ZZPlPSS'Nt ŋ+WBիWPIE}||b3LLLxl6[;wdggSǔ.+fn߾)>cݺuMWd嫨к˫*ΝFTVVGd7`9PĂZLa_Ď;`mmE!<< ,@7L~~~׆IP}ԩ)CO>8qbTTTIy"""x{{GZ^^^s̈uܸqP(BMi5 jjjӧ̤?~xP(|ݻ7t9\۽y&PUUk… |o֭[3 ֭[ݻwvuܿׯaee?横Ç+.'zxx\MMMm \\\;6.W[HMNcڴiԄ>֬Y#eb۶mw&8`ggwCP?`XGBBBMf5ͨT%T~QIDAT*?f$ Y{cS k׮2]r5+O"PTT}!99GUUrrrooo|xppeilݺuҥKk++++DAAlllNMχ)%%%]RRL:|> .peID9,`0544 GGGzzzӃEZZ߿;D`YϟL,Yׯ_l[[[ݻwmۄ( ܰb ܻwo)'6qرڵkqF1Xhٳg'(R[ҥK-&?!mۆO`X(((Pȋ_p&ND[2l6399رcEB!-^HNNcٴ̤$ep۷OgvʕC(~ɓ QZ9ɓ UxԩSZǾq#((hأGR_x!tMj/^ ::0c _%>* N__3g(6k֬B?.cݺu>Æ 066Fpp0\.?V]]+Vx}`0MMM̌~J}Håɓ'pssS9I_56o ___x{{YPJӦMxyc鰱ƍq!̞=[XՈ#`nnǏ# @h%͘1R0 ҐF8ʮ0tў={:Chh(󡥥%FyիW|}}q]$.\ѣG &|Rgnn~AO"===iZHM5jWB<|<BB]]V .4 =TcVV\.  lLdv?wJE)b֬YrD]tI҈[L)@ vvvfff|@cccJ;tv;bF "c $F377oL(#G*E" (WsSjbbR(/8A@A04 b&uV3?Zus{.t"J>}HJ";ב:cǎU(^Nz #Dgmm x"233;ⅅBa+OGG¡E 8mmt "*++ajj .hU₆?=k|>-\"2GGGܾ}vvv8p/|Q$$$dbƍ FkҮ image/svg+xml pychess-1.0.0/pieces/regular/bp.svg0000644000175000017500000000401013353143212016261 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/regular/bn.svg0000644000175000017500000000475013353143212016272 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/regular/br.svg0000644000175000017500000000431113353143212016267 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/regular/wp.svg0000644000175000017500000001120613353143212016313 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/regular/bq.svg0000644000175000017500000000456613353143212016302 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/regular/bb.svg0000644000175000017500000000460313353143212016253 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/regular/wn.svg0000644000175000017500000001145713353143212016321 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/regular/wb.svg0000644000175000017500000001075613353143212016306 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/regular/wq.svg0000644000175000017500000001363413353143212016323 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/regular/bk.svg0000644000175000017500000000560213353143212016264 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/regular/wk.svg0000644000175000017500000001130513353143212016306 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/ttf-Leipzig.png0000644000175000017500000004434413464375555016444 0ustar varunvarunPNG  IHDRMbKGD IDATxy\MߧiVd&Ce.sfroƌ,Cp^<Ϯ!EQJTr%)TDoGz^^kzֳ>C~ )>3Կ݀P^:uꄍıӷo_cXiS>|x5]vi߾}/roƍWrs/x֭Pߕ%$$r)󥈍~ؒ1{"XuW?[4e*nذaO 0ݻw0m4 ] P~_"&LӧOy >R NJJ#GVj)))=z۰aCT^^SNZJbva,X UԵ7o0vXJkgشi'N{{J7[Vj?T`Ν>'99kϟE= 222HIIC*Ul_ꭔZQVVF |wXڵ+puuu޽{'q>66Vؘl>}Rv=s$&&PXZZ2w\^zEZZ ҪU+͛7e_y93gdԩs;vLJ/Abb"yyyFAAAE]|j*wbghhȾ}*g8}Oϧ{dggݻ-Y$ zlܸ1mPRR""">}cCQQ/^k.8w]t`׮]ܼyeggGڵkǂ sB~K(m6&NHl7kp>>>>}mmmpwwg޽\~P?Nrr2B?Nhh(ׯ_g޽̛7GGGLLL8x /^,S;6mڔ!ܹ39'''%??^*E<* p=z(<}l---6?Ç}:>$33ׯ_ 6 ""ɓ'|pEN8 `ccc֭*ΝСC S:::ߟEk.LMMٻw/>>>enTRR̙30rG!66V7oh>~ZÇKKKK;:Ν+H\\cǎU {l}}}chkk#//\~)StRCFغu+XZZ9cǎEYYU舺:׮]Yfܹs)7yyyT^UFs8;;3dbH5G + ''2VVVBaK;v@EE[[[˫W"<|P{ U111撞.>+=z$;,, ׯ_~l,W\m``UV%,,lקeذaCE}>м<,-- ٳg=EOOM6*oߞ;w"2bD0ȑ#aaay۷s"d…nYMHHHr, 899"񤤤0rH:uĢEBT4hhjjRfM^~o߾-*'&tppvmM6_~. Í7[liFVpa #""OBBByf͚5ѣGm+ΨYrLLL>^/08@@QWWƆ;wgtttxRRRl߾cǢŶm022֭[$$$pJisG%ݩSƾEu}B:| g·ӧϰuFf~=$$$; ̐!Cݻ7o޼̙3XYYɰ_u._!C̾}%++KlܩԨQе+ˋnݺ_ NNNlذ9suV.]ĉٲe K,LǏOϞ=9s0\oICCduV&'O͛@D=ܱcibbr7^S'ON,M{ Fܿ---@+(44 6/~6Y&=bՌ3WWWҢVZhhhsq֦MB|7 @VV~P;OOO'%%E?J\WQ 4_q9gD弼0o· "~!ϟ?ҥKfffܻw333ԩCPP)))lْ8ůb[[[&NHnhذ!t֍X"##CёE|7=.yfٸq##GdԨQ5AquΝˁ7o(++_im177oP(B!{쑘B֯__ȥQЕ֯_/alRRR88878qbaaa 4LMMy ={&~MSaaa(++ Ù:u*<|Pѣ%"N__e˖I %$Ϛ5kؿD٪U2o<޿_y1bzUUU5jDF033}}}PPP 77T޾}ӧOΝ;I6mڔ9TISS YS7n6lN:>}*U```@FFص~$RSS177ҥKXXX`jjʅ &&&4hЀjwapI?헓{, 颵˂())Qim۶ٹs̲eprrvڟ[KK ccc6m*q<&&7oBΝejپ};Æ #<<ȏ\w;wvddd`ffƋ/pppÇЫW/rssS'NΎϋ6J>0D F׮]"66wѣG޽{ƍb@=jjjԬY|}}+5`////ޗ߿uֱ0/^d֭L:w+tuuiܸ1ڵ ccctttBEEi%''Jll,QQQpmnݺŹsSNklRZ5fΜɆ h׮:::8p@رc ZjӧO֮]KBBnݢm۶--\ɓIHH ((oIHH ++4QRRBUUiҤ 666XZZrmU^4W\aʔ) :3f0a Ju:ҺuktΟ?өS^^^%]144d̙;ٳg \]]ӧ۶mѣG())Ug6mڔ .`llLTTTe#99dz*{J*Rvm_[Q)3gDKKϟsBBB'..NCxyyy(((2zzzR~}54ߍ)++oW]4{-jjjWjfmm͈#XnO>e,]eee֭[ÉBF ##"'˂'OaÆZd9999&N V"::dOOO liiǏop:uCb FSS֭[#--M퉌D]]сetԩ̱p%!CYZZj*nܸAڵ4h,ZR իWGAAAtuuiҤ FVVJpp#%%E^^qPF[d<--- J jjj$&&2p@֭k|VZq1,XP^j֬QTTiKK˾666@2d'NI&us/_NHH***uP ILLDFF={Ҿ}{4hTZIOOGa|=oҥ.oriJ*^ȟu J ]^N8>00m۶sN?~ M4f͚hhh -- дiSrT`` [&55Ç?,~eAIpp0={֭[L2VZabb<222ԨQ ̞={ٳ\|YL߸qcMp)*2xׯp=?VaÆѢE ^|Ipp0{E̛7]ѣJBG?\2Tqڷok׮%88AgJuo7G.ͫ4w֑#G?}iӦhlĞ={g>{^#Fp8޽3AAA(**aÆb],f .77;cS^ԩ"::ڱc֭[WISSSSS~+ܨӧqF5i8ufԨQ%.g5o##TllFdddH``Ν;wߣ25jؘ bccbnn >xyyWJKKDhh(o޼!))dPTTDII mmm EQjco.^+ }}$@>|Ç$&&F`Q,x_{nMR~E|͊_ |J_s~Eap?TUV/^~zv܉T,HHH`#YYYV^͚5kı}bpW\!))sαw^Μ9(S~ٳLҥKy)))ߜ4Tj֬'[ny۳tRv*$ " 7 s744W$+~ر:9)((  m+(򃢩[ BLMMRj^oSpp){ؼy3w.W1TࢢfΜ9|gϞ믿! QǏ/?!C#t7I&=۷o/|={HL8Q~ժUBHFɆ oo"x~;H=MCqwwUV_ifhtzz:-j޼a777ahh孻R .88]Zgؽ{w*Nlgg[lb[nXU&bܹ9rk׮acc3mҥO>_{TjժũSٳ'uN:c<~k׮I [n1b,Xӧi޼?޶ 'MT/رchjjؼyC˴wB!4iԫW7nݚM6?~DCCݻ7sѢE%SߺuM2d5kFXXѣ󢢢 Otؑ={ANN0w\MƫW*rg"JcTZ/_N^sNvD;wh۶Deee e :tK.}v֬Y? 00exxYڵᴴ3grrr<~K.̫W8}4DGGsҥJֹ|#GD(2}tOP({*Rf/Mvy7o^ 5jÇŋ%Zz zbՋ ?~̸qNDDD,~3338|0+V`S9991p@,--/RHIDGG+4۷/Seccc=zĤIJVZhIII_oooڶmˬYbÅϕ+W-g&##Ü9sXn"v؁@ ?= ד'O*. GM=z5JJJ4hЀ+W{]%17lU077رc8qDGq_ G>|8-Z`?ԲX'<^Q,Y;p@cƌ];~ŋQTTdܸqܿ$"))0k, ?'(b"KAN iٲeYfMKb<==<ӧO!::ZqSovʳg (ƍÇ '߷o/^?իaaa 2D, %%EժU100ϟO@@@iaaP?8z(?&С>>>̙3Ybėe4xgϞJ_lbbB5L/WêU O>y>!?Qڲe?M:v(֋KJJ۷ܽ{WuȐ!blM6mnaa |xpf$D ';2{]iyBCC 00Zj1c tuuc/CCC޽{G`` aaa|[neܽ{oooݻw梪J͚5A4mڔtBBB_>UVիxzzLXXXEUJC㷜|nqקk_s++%SY~h"_wo8g_s~EO\I5u?ٻw/WڵkH0tbccK.////^/#>>m۶Żw%ǕJ18___޽{VF}Mxx8f'hٲ% ._Ar>Y)e68כ7otI +ܢJgϞq-RSSqttD^^xΞ=+V/(ΰ U-/6/ݻǏ={Ņ V7oׯ}aF ЩS'ܸ>k׮K.ܽ{sLE6WRNWTTD]]uWڽ{wfϞmMhܸ1/Vܹg.Jg޽K.1c ܽ{mmm7oٳ믿hDF stt,U(W W^yq paVZ"mۖZjqFGGfϞ͛_lԪU+ƍGJJ 4mڔ}ҡCZh!>>>(**ɓqwwR&(/ADttt]fxʟ~i...4lؐ޽{K,رUUU.]*߯_j qFRRR q)B:ޤ[kpϟ077޿ϕ+W޼ysF͞=ݻpMʿeeel"###//BUk|EdeeQQQ᯿*LRRnݢzV/.]#|RRRW\)oz @ƍœ  Ŗ/_" ILL,uV> \t[ J4 0][[444J]i\\?~DVV &PP_V__}||{.UE4frY}+RZC[H۹sgmll8|7ӓMkvލaÆrppR9^}E޽{EE(FYfB𳓋(dpGmԳgON8Qb cŊtڕnݺѥK%4n5| (={S9vX!_Q.]X~}^,77OOO455+%[,[ r &2-[կ_}ŋ_IvZZh۷o={6:::Eb%}T JU>-]p кukyNNN\|-[ jժE~ncll\bCNZnEvؘ[nQV-Xvm6m)*\s25ЦJAvdeeYr%iii,]333:uě7oغu+Ϟ=CIIR!|_C{?~oRRRCSSӞ͛7gt l6wܠ4gz\YKcccVZEzV撖Fll,aaas"'FE^Y׽{/HJ- Uvvv*hlW^u_n .]T.DX汱XZZbaa HII!++uKK W^*W-֮][2|}}GYf:u %JYXX?בX;wǏ̜9f͚&&&ӳgOvAzJ^ Dqr༼ :t 7n,w)SIJepq1.]ʺuEGGGLJt4hڵkQPP֭[xbZlϞ=;T>/_fXG :tP۷ڹsg|wP9bĈQ&L(u1p@-ZJ ]6ӦM͛7_oY`۶m[n{2hР"59z(&M]vȎ;PSScذaX)﯅"薅]vIT4{Z4c1ofΟ?OݺuٵkWeHOPTTظЦpccc[_3bpbddĭ[ضm[eT[jƎ+c9sf!r:uzzzxxx45kLj߾=w1B+JV>v9uTNZ%2& ?f͚e֨ ={&ޞ\tnѢb'O3gXռ`PhE |^2E H.VLע(*3ߤHkڴ)׮]c۶m撚JjըU;wfРATk׮exsif̘!+..'Oׯ:t`ɒ%tn߾=< //N:sNo߾Y"ѹ] /\ prrˋ.]p GVV@PߦJCn5jTkYYY\]]qrr]v"%%P($%%+V`ffƄ J}̛7ȍ~zҥKZngΜvU9TStݻwMooVKKkkkk Ǐ]6 4###j֬* (**Hff&߿ǏKDFFo߾}+ ̜9Ƞdgga&N(>?rHVZS~֣}ѫW/ihh#i " Yh)))%6v߾}yZZZB---}$WٳWayFMII ###^~-1ݻsNPjj*߿gڴim޽yZZZBCCCիW$j{}D{uٹs'?u֥J*|x5?~DYYsss\\\Xr%;v@NNAؾv$^jjjwYd CLJk׊ $NBxx8(**2}ttO.!ݹfUa\~))) U600$''۫_KHHXZZR^=$=v*֖c̚5Kp5jTwx{{ӭ[7ԩ!ʼnN:hhh,jKFF111())1eʔ"bF>,E@@舣#ftB155ܹsseeeѣ-[+شi 6,@Ttϗv )VܻN:HIIQNTUU%d E;DLJz1c q;vxyym$wŞ={ cOR Y`A!cr9Ăvo޼\zDjժZ)Icq :Pț7o|ZښQFyf^,!!APjUTUUyիWPNիW8;;3tP ز`dd ׯm۶cj۶-@}ƍń>1ҊҢE LLLhٲ>M8D4ۺuk} [l)[n %44Tw-!!*U$ob޽!CEz$&vʻv >\hѢrlSNXBo433KrQq"}o}˗ӻwb=T%%%ârUdzk.w.8ݺuk֯_//n m1br*|1@Ϟ=OC6ѱFFF¨(AYrx(!!=== 033cڴi|Q";vȰdɒ(CCÒϠիW|2УG 55@1c#͚5۷4hЀ>N[E6l//׏N5J922[[[IIIוW;vEEEߙ>sL1c0zhD+Vx,vĉڵ;֭p?T^HKKpI"""HIIAGG{amm g鳶Ν;bJMMАݻw# iܸ1mW+p缼<޾}ݻw_~ 0333222 9t5~;w$^O>~666uYt)zN%$$C5߿?ʬ^Z{8ē} Jxx8222M~I'>dذa՛xEA4cgPV-1455QSSCMMRm$ cǎٳgO<999ҵkWXjgΜ?4ȟjkks9Ξ=˗ٳ'IIIdggK\/Խ{wN8QF|@ZZ999tuuʊ bkkرc *q`@pp0z"88 BBBx)^dgg'@***RzujԨ)VVVhтƍsmLLLΝ;;wLfΜ=֭[9uw54iɓ';v,B-]PlmmeTZ3g̎;ؼy3<@H:ux1-իev%v⪫Ӯ];ݻGjj*chhh0|055͛7rdee1mڴJU/##ÇcV1Ѹ/55PX_%܉'8q;w&**UV¶m3LW6=z4L:h <#FuL85jT@˖-_~iii,Y!C8s 888DFpss#33g\p!C;wL=xuԉ={"''G@@qqq 6>BB LMMٺu+_~A__Ν+TPP`ܸq撙IFFYYYFrr2aaa[qƱz2g(ͦMx5RRRѤI7nvyRRRӧ\z4yIe Q-40 -"]Y]A%贑N ʥaBB " hu* BDTbN.B!s攝{ <̗y+\6қh0 /~ $0̫(<hA $5Mb{Cp`ttU1559Vs9-\h4 Z Pb>#RԋӯǃqÁكhZttt@@RAP$}T wwwB8;;(#} .?=D"L&A.a%L&$zQ^^m8N|>\__g$!JjAQ, J%FcA`ۙ1x<L&VBBdgMnCCCbx=i(BP(`ZD+La1<<A %%%.L" f6 rNn<E$!N#N.OB6_:JpGgg'ﱺ J|>|>b555hmmEww7@4.//t:qzzZXVd2]]]( fPoH&8??1ױluu X KKK AQz}~*˻|g2 c|χ-Y\\71s\rTTT@ ϜHӸlU ;;;`ۮPh_ +q8\\\ \.bhF"@"\LZt:8N|xނ-G<www9H$Ӎ(++X,D"ACC, ZZZWUUeQ2̧YA|E~:\@*N}6 uAt~ WAAA 8CapN`ݺuo\zJ;Fll, P(xСDmH2QYzjwbUs\ x"zc~NJN>]H_`3<εʌs VA ??-T*ˍ"''[RRBAACMZuw v @PP'O lb0jYv-/2vvvdeeaJ_p_` SDvK o΋Aĉ9rRR)AAA 6  hك ]jGr)sJ%{fֹU\NNW^eҥߟ2N˖-wTVVo(ͽW`ڭ&Aزe Ν3IMMʕ+tޝQF|0`l߾ٳgP(OJJ"&&땕;v7n /1VmpnnnF.**"&&w^cxZe'++yӧ[MAܹs\tC2h d2Xj[~~>vڵk 733ƏotU\NLggg,Mu'w(FǍC\46Q&q}xm{;#Dj5{}(4ZfrT DbѩգF=pxXLQ܀fׅ.6^@; 0ZCrQQU4nbܹ{{{A_Xq Z*U"0x`=Ύ}Zz*Dc>1㞿4qmՈ0 vb3c^OYY 4 ]TTdVDDDpYn޼g=U2?_`q{|||3f g-Ott4^^^deeg}O5R)'Oo5\\\gggr92 NGUUNee%ݻw'"[1 qR_N7ruCyF1pcޚs'S8;;3sLC;2sL,YRgdƌDPP3gdѢETzQVop ،3̤cǎu oѣG~&wpGO){ϗ@ͽ`9e3;{}g xyyh41pU"8d `S] =<\1^ΝM^ 1y򎎎kcp=wVo]'p qW& 3y]"j3WW:G[ !.]Y?Cj5IIIQTTDYYUUUz***ѤR)J\]]qqqۛs&8=[G FW\AÛbNez}PFץRa666FF$IcĚ!^ /NqW^8qNܤ^s_^^VxU||| ~T^oXqZJIIIkO "F9j?@* ؉؃BC 1y^VRNNNAHOO7Y6Jdd ]5FUUUCf nXhxC<5ģ%[/orߒ 999Yzbb\ӧMwN2[j6V nSԤ;㥥Lw EFF9#z*'O4RZ5III$%={εG}^wf\zIn1k-J$˙8q"+V0.w !''7n;~3gIfffaÃ޽{_K+RiիWT\m1DEEq˺~:ׯ_7 p\15Ru:]gJ{{{j^h͑nƜvIǎҥKe͛jR)~~~燗W^Oaa!deeq3gqnEԍYAWZZJ^^j2Py]|m5GFo`ΚFlĽhz=iii$%%qu LEE*MPP]v5knKO#A780#PU֪ NVH||IdggѣGf {D'wӎd #G\G > ؀ӦŨjN:ůzۭU\u,޽{  77ÇݜgrDk}-ZUVV}v.\pQXXȏ?HXX&L0HB aSwr(-Zzjơ6ŋ瞫o@D95T+0_W=u[Z5\1{Pt_햛ۺ .44~W!,S+ZRIZuRxh6w\ifpmS {JgA0.!#ju >";wd܋j }DC}$66'O {iĈxDfp}ɡ ;8{N4p0-JL >pq*ݶm <(!Q9`hICaa! QYY!!!n:7j:tPn^g֭Ѭk G`< SJ5rDEvfp,^!Cl2~'… բxgԨQ~^mtw(x1@@yD-*M=\RR >| φNll,/"Ja 믿4hRNrr{N&ѵkWkUѵ]cM ATz Qԯ^/Mj5wfuh}~嗦An/Bll,7nD!H8qb_F^͛5&QI>H(CZIwa~IMM*m={H$zx~ǰܾijMT܂>KСCuF=CNLL$//ۓ`&<_LC47{!JI4m5WQQѣGpeeexzzһwozݠ냌%=͛7-Ni3^ yxJ1ƋyQIIIa…i&N<ŋ`ٲe͖oyBht4ll &JY`pM?ΡCX~Q???v5kOyMyi׮vvv_$00y[-l5'{8A!118\J%*k֬awU@%"ɬˈE?RF6 {8Aؾ};۷T*hZñ#DEEsN&NZnJVKhh(7T*JF7tR)E\6d ?ӧ/駟8tGA.NRYYVeСDGG3ϰrJAh0KɃDHHW\.SNtqr2ju$srr Gd888XoA\Et(Z1hep5M*dBBB d&uJJJe׮]zG0:BA`` ߟFlrk׮5Ξ=KBBn{q/?ѸyD?#D0v 5HOOgСׯ78;;Ltt4sهLRiiz P! l) S4NMEE yҥF=A ەw/2sLlmmxYjC-[eee,_:vC?%FY70GP<T*ٰamڷoQzWjZV^͸qx q|Â^{-L&u6ǪApׯ_ǏpBT*G􏺫dddh"[^ԩSYx1qqquWYnAaR B̙NiӦ.Y䊹n>lDbbb:& YjseŊ8p8K/d2 R/$""dsbS tŊzCR/nk֬ J-tСשSRJB`PjŬ_̘1DB`` 6l`۶mлwo^~ebR… a۶m֮^sfowxyy5Y(7?~^Azk<+/$nkSO=et[nO_~a1o<];;;kz= ֬^Ņ^zUvM~) H$o/XX pttlr֒cڤjywLjM2K.!'OfڵĘ|/f޽c=e Ԭ Zh5WWzWRȶEzW^IZ^MӜS!B* 3gNҰ0|bkk /!CD1iҤfA=}믗?SAHoݺu~:ttΝ} n4^ϵk׈Lqq1NNN/(( 6_,ĉ_Ҭa5#9r$Æ #;;J\\\f駟*A0HBTZ*J+JJJ6,8++돕}j5+Mii):ɫ-UUUէZF7Ŕ&r9e5ךn۶*7޸ܹsxvvgNlllR Լ=_~l޼K.qF&MhN?Hj*V233曎K5`mjb<`L&O>I7ZV Q-U^^^ʐL&cŊ,YӧO3m4^~%%%VjTTTw^Ξ=VƆ^z1bĈfrA'(NRdΝ;/k"Aۓu-NNNnRUsxS_~-[oh4$$$ԩSljH^Ɂ˔}Z}j~~~>mRY=zիV^^Κ5kHJJj;,;}t?0=糚RHHA7TUUqƻ&yߒ9rwn DӱyfCFkKd oM$dTrNTmllz(GWgyRXXhR_ZҿF-T*4nrr2fzirQkRBT*ESYYih/^϶mېJ#1``ϟ޵krNj5c+ NU4lذFcǎoXmD9y$єs ?Ν;IIIAPP(dh4׏1cD o!VСC(Ztt:~[ |(7nwo#&\F믿^'˲)\\\ y]bǎIDAT4z aggG@@@Q3J]M%C\\\P(S^^D"???:vHhh(...p7l߲OgFGG7Kccc㊸bpUVVdeeLJڵkΝ;G5`r^ L2SҥK|||pqqA.#HFCAA\x;v`߿?mIs nnݺy}gWzQ3Zٶ666SOj9}+SSS?GTbvMMDll,;vÆ Wxܺu0o<=z4aa,h}OI>uo~w}ԧOOAs dhƌS_/1y_ۨT*mFii)˗/gС<<<} X]ɓ>|{{{Fmh;Ndž >}:22}t9r$ &$$pqlll~Gw+]ݸq72vXJzz:DGG|uŋ << 6₯/ `|||8YMs{wakkVT;;;C<AF… Fii)wf߾}K/ѿ8pݻwgΜ9O/_ȑ#Q*r!A`˖-oZ:YnC5꩞x bcc={6;w&::'''^|EfϞm6m7n}v"##9z(pԨQL<ɓ'T*8ΝdZVVUZFTLVz}Avvv;>HT*ѣ|ᇬZ_~ٳg`dϞ=̝;k/3k,THI뢎aÆ)lggDŽ 2d˖-㫯"22޽{cggGEET*vM~~>+V`d2 tЁ5k0j(Û'_Mk׮۷o߲AU͝;K-py̙3g͛'ꫯoݺ ͍[nQ^^ڵ3D;Wk׮K.S.''(W eeer͍{÷ɓ|رcDFF6 JTT9I)܁'1MmʁG}ݘٳk5>c Zf `H"|_`ޤ \.otaPD"!6602,wD:h6(( pǮ]ؿ?IIIL6 GGGRiwcƌ!33.3gN .h\]]t71l&Eዩ\T礥eff9ۍU6}1Z7\+۬ zHäI7n[nEVNn߿?!!!( *++ٰacǎ婧"66<9H}A&}giw=D=| P[[۠?Y $""& Th"w^oPkhBj_0vXR)sҥK{F g݌9 |M3yvyyycBwUIk׿ ??v׮]S錰0ŋ!]r^oto;iӦqa\\\#==k׮QQQAaa! `ccnnnǏgռEb swwСCh:Z999|̚5 ϳ`Lb4x"֭c֬Yb9s# xMh>>Rff?Sާ[n˗/Ϗx;'^ݵkWqhhmUOSc^z饯o~Q"g̘,lNvv6QQQ]:憽=vvvRYYIEE*\222h׮<3XP $\{ԩSiw( zI||;v޽{ DcСIII zG9_?#"7|of`B1QQQyAAA" ԩ0mp/_<744q9 GTTxzz-ЬD?PF'̙3u .--d JL"p)e===yѵk׮QTTdNv9bMJǀosxՎ0`@F``TAAA%K$OW;;Ȏ;hZ?X'zV+PCj< TrW8{VK+%%%Ihh(dddkٳRw[n{I$C#; cul+W^#Fvv6 0)dvvv57nЭ[oh{>X-on: ;wѣ9s """h߾Fׯ $&&P(۷^\\̟:9N֌,|pjDL62az=&L믿~ ġq͚5̟??D#FĞbzMv1n8gJ$6l@@@5tgp2 TD"QKYR+MIRN>$7b5=wH$TUU4Oj5 {{{5gDD/_H%ӠI$&MIJegEѐBbb"{%..0ɭ)MT*yLjO> Oy׭Q\T*i4))) .mڴ=33Ӿ L3]t)=ztaDDDUHHRT!bZ-iiixyyĹsعs'C&T*JySD¸q3f ݺu3H٧ҥK#uqttg#ׯGR#țot ˆ =G_~֊*HKK([)))-^zV=( 7d͛7"mmmϚ5+W^)С[jjUy&jÇfhwyNv[jhZd2gϞ} l1۷o&s |MeЩSMׯWolB4.sA8~cǎ~iiirYͬv~52339qɼ[&DZܹs CCCM>jJJJPՆyFs???&MVmToܸq 1 NGU9 7--m*er4`ذa͒o߾=O<#F0xf,瓒BZZYYYD"A.jh4-??? V46͈^tA\\\puuA[RR"/**׺x{؅d+&O_Rꊛ666jrss)//7)_1_S^xt ooo*3իܹ Ҿ}{4.3gz9cƌ) *vuur  Al%I)PhnݺUuGow}UUU~!y# MLvST⋼666shZMYY\|h"IFp]v3}ޢ=%DBQQ '33F͘L3x`guE!BK"e2^si̙>11(n筷ޢO>I$JKKIHH/ڵk߮[éT*n݊FaƍtS\\\5jÇ'117x9N'ׯ_-((Hhsao۞uF\\\AjjҥK[]-ͫn7TƍիW{sApttdĈ :Dz-Ν;DŽ ~`%ofj]\.gsD*69CX*M:]ƍ5]F#: [RZZIvvvR)jBii\\\#.B"fS4[Ɗ&F %\2 r9~~~&} C.RXrecpkSy-4'y]y ACNCܿꤛmj&ߢUx9~^IENDB`pychess-1.0.0/pieces/freak/0000755000175000017500000000000013467766037014621 5ustar varunvarunpychess-1.0.0/pieces/freak/freak.svg0000644000175000017500000072475213353143212016425 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/prmi/0000755000175000017500000000000013467766037014500 5ustar varunvarunpychess-1.0.0/pieces/prmi/prmi.svg0000644000175000017500000120720213353143212016146 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/kilfiger/0000755000175000017500000000000013467766037015325 5ustar varunvarunpychess-1.0.0/pieces/kilfiger/wr.svg0000644000175000017500000001742113353143212016455 0ustar varunvarun White Rook image/svg+xml White Rook 6.1.2013 James Kilfinger+alfons z! http://openfontlibrary.org/assets/downloads/chess/dd244e4b50bb954610bc0b2372ce2e18/chess.zip pychess-1.0.0/pieces/kilfiger/bp.svg0000644000175000017500000000652113353143212016425 0ustar varunvarun Black Pawn image/svg+xml Black Pawn 6.1.2013 James Kilfinger+alfons z! http://openfontlibrary.org/assets/downloads/chess/dd244e4b50bb954610bc0b2372ce2e18/chess.zip pychess-1.0.0/pieces/kilfiger/bn.svg0000644000175000017500000001005713353143212016422 0ustar varunvarun Black Knight image/svg+xml Black Knight http://openfontlibrary.org/assets/downloads/chess/dd244e4b50bb954610bc0b2372ce2e18/chess.zip 6.1.2013 James Kilfinger+alfons z! pychess-1.0.0/pieces/kilfiger/br.svg0000644000175000017500000000725113353143212016430 0ustar varunvarun Black Rook image/svg+xml Black Rook 6.1.2013 James Kilfinger+alfons z! http://openfontlibrary.org/assets/downloads/chess/dd244e4b50bb954610bc0b2372ce2e18/chess.zip pychess-1.0.0/pieces/kilfiger/wp.svg0000644000175000017500000001501513353143212016450 0ustar varunvarun White Pawn image/svg+xml White Pawn 6.1.2013 James Kilfinger+alfons z! http://openfontlibrary.org/assets/downloads/chess/dd244e4b50bb954610bc0b2372ce2e18/chess.zip pychess-1.0.0/pieces/kilfiger/bq.svg0000644000175000017500000001030613353143212016422 0ustar varunvarun Black Queenie image/svg+xml Black Queenie 6.1.2013 James Kilfinger+alfons z! http://openfontlibrary.org/assets/downloads/chess/dd244e4b50bb954610bc0b2372ce2e18/chess.zip pychess-1.0.0/pieces/kilfiger/bb.svg0000644000175000017500000000700113353143212016401 0ustar varunvarun Black Bishop image/svg+xml Black Bishop 6.1.2013 James Kilfinger+alfons z! http://openfontlibrary.org/assets/downloads/chess/dd244e4b50bb954610bc0b2372ce2e18/chess.zip pychess-1.0.0/pieces/kilfiger/wn.svg0000644000175000017500000002143313353143212016447 0ustar varunvarun White Knight image/svg+xml White Knight 6.1.2013 James Kilfinger+alfons z! http://openfontlibrary.org/assets/downloads/chess/dd244e4b50bb954610bc0b2372ce2e18/chess.zip pychess-1.0.0/pieces/kilfiger/wb.svg0000644000175000017500000001567213353143212016443 0ustar varunvarun White Bishop image/svg+xml White Bishop 6.1.2013 James Kilfinger+alfons z! http://openfontlibrary.org/assets/downloads/chess/dd244e4b50bb954610bc0b2372ce2e18/chess.zip pychess-1.0.0/pieces/kilfiger/wq.svg0000644000175000017500000002540113353143212016451 0ustar varunvarun White Queenie image/svg+xml White Queenie 6.1.2013 James Kilfinger+alfons z! http://openfontlibrary.org/assets/downloads/chess/dd244e4b50bb954610bc0b2372ce2e18/chess.zip pychess-1.0.0/pieces/kilfiger/bk.svg0000644000175000017500000000755113353143212016424 0ustar varunvarun Black King image/svg+xml Black King http://openfontlibrary.org/assets/downloads/chess/dd244e4b50bb954610bc0b2372ce2e18/chess.zip James Kilfinger+alfons z! 6.1.2013 pychess-1.0.0/pieces/kilfiger/wk.svg0000644000175000017500000002154613353143212016451 0ustar varunvarun White King image/svg+xml White King 6.1.2013 James Kilfinger+alfons z! http://openfontlibrary.org/assets/downloads/chess/dd244e4b50bb954610bc0b2372ce2e18/chess.zip pychess-1.0.0/pieces/Alfonso.png0000644000175000017500000002312213464375554015635 0ustar varunvarunPNG  IHDRMbKGD IDATxyXSWYXD6A- .(qiuԥSfҧNؙi:ՎT[ş-j"2 @’(!ABBn$(7{H9gǎ\'cΣ5ag~߸./\sѯuԄ7n@*  .. p~[nmmmr ڏE"@"`ȑ1b+e:t:N>2.Kmm-]P,_Æ +W_P(իWy9ٳ  ,@ZZrJ;ׯ'ؿ?̮abYvII N8gك ߙ+..Ɲ;wH)J\VJy(2@уɎD"`0L{@62  D69ݠr{:::(H$N0}aHp@СCAll,a12d>>>fBzB @Tbݺu6tdFW'NĩS(Jg'~z]ྣn:j(p\(Jwưaブ|RΝR\.GKK jY>QFټ 8&L0aetٴb#F@,]WhllDcc|"qNs:QA(//ǸqPYYI~,pK[.\.j2IӱvG Eff&Ǐ˵2Π$psscKf{7hgW3f̠-X;`>޳XbBkjN(d֯3b/*...]j7ePX}㙍T*EH$jo="##ollf>Z˖-cHIGBp #>>Z=dOɠ.Sct:|>NM:Dpmmm\B PnB EJPwa<zÇ%8_:*00. l֧~-E/^<P( Y)K*BRۛ.N81~Ru%k8k:{@( ø#4ӷp+WěoZy7o$hH+W )fZ۷.\(aN}LǵklqjzC5ޔF^Z8\ss3 k GI4iRMvLՅ;w8d Z檃S Y/wƍ{턳{wdHu׿P\{5f'lzLRY0a۷YJTWW|%8+8pXVAlju](N+86Zi1\ϱP@ 賲Ru>;^yo.8`e\Z=*uWN+8>=ိL)i.\+xr @}vAZ8Kp.1zsc=xzqf4 QYYDcСx9KpL{{;9baRpu/Xr%"##ٺR%l0p=RJC Vո|2z] V.J g0ԄwbС1bKC/ڵ[rI]8u8Xpo>N <9r$ut:]ԛvF c /*~df!Lb̙D"AEENZ?d2G:Ǐ˗c`F@o0͂px'qAvO:ٳqy,_:;Tkjj<su,v؃hժU?쳵E8 E` BV}OOO:|3 /%6O,YO#+&Z7 t:[麣ѹÊ+0zhEYYY1tp iCp8Ə?h . 88%6p\dgg#&&I1;vǙ*">ܔ)Sk.̘1YYYO>]vmPg&..gΜyP[?O[- ^]K(g,u`֔DDD6cHNNfRBCRJ^Ά$mjNVC,_D"'7|?<طo<X~j~o J j۶möm۬SO1Ša֭;v,}:r@?CPA޷ޔ0&}+cLKp%%%7nĉy &Tgg' E+:v0 E< o.н*Sd "=QVEyy9G^CNN222,\z=!N o~|`s5acH;NiV$ D( |> ,+… PYY'|TG,cܸqlTG6ʕ+)PRGzQrhii1P\ii)6olw___СC8qc7EFQ5Q"uoz$8PL5kP /]v!NbH$0 lo :H1ckƔb<Ӕ9㑑`Q&Z-V|fP(pnz=rrrpm(ACWW] `9ݏԒ ח4Jrψˀd`k&r@+W];'yMDWUU)[t:%ϧ2??|NNNv NBtt4j>D(HOOgt:1@Ng/IAAA#^:ϯ=܍tuu<==+RAWzfSqz=8h\.Gdd$*++BgرcruVs7l`fK6]}b0 8l0⋏A"a%p cQGU R#F@aam5|>웧hT Css3D""""N\.Gg'gƴRy8L L(..Ԃsd-Ke'a*'z_$ܹs>ؽGbccYg)"F]X9 F*8Ə5gv@q fŀ%8 6돺}1P3``oE~Ŗͩ~waE:5 zp~LP5Cii)rrrp9Oxw҂={zpPG9nRL2嗲πdMO/û_[oE!.ZS([0 `) 29if͛l8:5W`hN @^~eҫT*;v ,p9?`ʔ)|}ԩʷ_I}3 k/t~ͽ1 5>bLbi@DDhC.p=w)f6nH9_rr2:;;XvoA(--?ئ,'cǎssauXsN\i&6mسg}b݅&Ml99 BRV^LF9=ؗXiӦЪ tشqAA&n%bfR=ŋ$]xp4\ML|l߾ @)hb1f̘62tBh.4**STV1u޽rܹtU(P*BYY|}}i׃ g/D"Acc#m#W3K8@5iT+Vat*VLgnwu111՚~@~rٔI&GjN}eee3f ϟ///8qX|C;r_}3`P(޽{y95c cXv-<-[ 55B;TO? D"M~_= c\M"ްa:;;;˸hHjz6t?Νk8yd2 'ā,,|>/^3gΠi1; hn<0@AA^~e>j?zTU7TUU~͝iiio~¦D"jkkIOd1©ck0  iSPd*k¢?uܽ{?r hxO<W\ܻwO=] HLx\xx8|>f͚0:u | <<<aÆ---x` Jq9(Jr@V#44YYY ĥK0j(G}~o~300pߑ#Ga Dd2۵ |'ݛ=駟bͤ???>O()8777"11;h𫩵;bbcccQWWDGG#22qqqA`` 8rssQ]]:Ctt4B!F;R* 5556mvUtuuˋ<|ٔ)Sp%F}~Ç׻ AHHHl[n֭[mYRRb5CvLRZZJ̞=Xdi0:U">퍤$ "99٪جJIIǙT@*Aӱ"iZܸqsa\V/ +WII***F+7dw}ܻwJ(//ǥKp)TWWcѢEؽ{w_~5kHMMT(Xz5.\$deeaԩHIIAbb":::ΟTAhooG[[+R[[j5 U>)V^'NL`1Az꟎?1+ hjjAxx8䘵J=v.o޼ِd8z({=T*uC?3u[a&IDATr@<D,}{bb ]d2tDFFoꫯbI.K?/_x;PըP(F|3 cĉvt%nbt%<:e2Z"%%T*^'=d-_i$$$ !8CkA*8ӷtɒ%xgHR?ȑ#8ݮ̤|V$E0+V-[.>@qq͑[!<;TT*|G,<+5 o2www?F|r"ZѠ(,,蚸Yz{{Zׇ֦3aV*pW^=uƍ9pa0pie ^H=zMZ)X_v/Wh 6wB6mՍxgU:R 33 `&{'4Z!@KK f͚E+zz:v܉N 0~WK.eЄI]]]J*:{}zW+Y\.rQWWgw ޽ ػw/% Xn޽˶mLwxXG(b<|}}1c Cpx7o+ r9r$zvߧljm۶6Q BܹQ9-[oR-S(bm)嬔׃wœ'O^B5믿~&;;RJӧOgTӡP(5~t4'0uTnpڽ# 2e gtrr2@(YC qqqʉB!K5{tp hkk̙3YiMM ۧ2 555ݽJV=Aa MfBƍi p޽s noSp HOOXtw`k?ۻyڴi>>>|OOO['O `Ip:"ӦMCbb"򪫫QPP < Dp8ػw/XiGG= HkoQulٳTnn.2+D"hZ|G;; 0vX455usFlܹ4VӦMcv)b׮]he`4NbRCEt4;- q~\-NCuu5Q\\ >,)$%%alD[rnnnL .{`0 [bbbcx_{w}9hZtuu!&&{^YS%jGѣGVZ`0TXيn/* hjj|>ߩ+)-pۺid9pwwg5vDo챧)8///V08=AE|>ߪ ~f@|aۖZIENDB`pychess-1.0.0/pieces/leipzig/0000755000175000017500000000000013467766037015174 5ustar varunvarunpychess-1.0.0/pieces/leipzig/wr.svg0000644000175000017500000003166313372565704016347 0ustar varunvarun pychess-1.0.0/pieces/leipzig/bp.svg0000644000175000017500000000253313372565447016316 0ustar varunvarun pychess-1.0.0/pieces/leipzig/bn.svg0000644000175000017500000002027713372565425016315 0ustar varunvarun pychess-1.0.0/pieces/leipzig/br.svg0000644000175000017500000003043613372565514016316 0ustar varunvarun pychess-1.0.0/pieces/leipzig/wp.svg0000644000175000017500000001175413372565632016344 0ustar varunvarun pychess-1.0.0/pieces/leipzig/bq.svg0000644000175000017500000002067113372565472016320 0ustar varunvarun pychess-1.0.0/pieces/leipzig/bb.svg0000644000175000017500000002177513372565350016302 0ustar varunvarun pychess-1.0.0/pieces/leipzig/wn.svg0000644000175000017500000002225313372565606016337 0ustar varunvarun pychess-1.0.0/pieces/leipzig/wb.svg0000644000175000017500000003070713372565540016323 0ustar varunvarun pychess-1.0.0/pieces/leipzig/wq.svg0000644000175000017500000003326013372565657016350 0ustar varunvarun pychess-1.0.0/pieces/leipzig/bk.svg0000644000175000017500000003320313372565377016311 0ustar varunvarun pychess-1.0.0/pieces/leipzig/wk.svg0000644000175000017500000003454413372565564016345 0ustar varunvarun pychess-1.0.0/pieces/ttf-Adventurer.png0000644000175000017500000003760413464375555017161 0ustar varunvarunPNG  IHDRMbKGD IDATxy\?Ӿ/S* tB5SdqdVI)ҞJ{TӾj~Xz^b~{a [>f,^aa޼yX~=jjj/333s]6`yii)|Xv-={ Ç!##ooo9r'OѣGq-=O<.?#<<k׮Ŕ)Sꊬ,lڴ !ψ1UVYXXX[[w/۲es@OO{?|@^åN;;wV{٦M׭[ǽrJ~77>fر˗/ѣGq CUUظq#~$&&  RSSqiy'O۷oajjڂIII>}:6nqqqBXX.\DZdر?[Q8HBBB2z---xu9s~~>W,壠P?gRPSSCnn.Ox{{ vxyyaʔ)#! BH$CPPᨮƔ)SRCCmQ8K2335srreR] LQ233g>}xyy͛7PPPqp>dggcƌx-BNNNŋ YYYܻwFjj*f̘sYL0cƌa<1p `޽}: xat_r555###ݻ(((E```̘1FFF(..ݻw 6߿\d[FAAٳg۶lvY**ҥKz@ uɒ%@ YYY j5O>ÇNFz82gΜ ?F'''ζidd$ 44%JjnڴIR&O&Q[[ ___߿ʟ8::BZg)--ݻwޞ:...:t<@gg'e# @;.;vL&r@@@appp?~'O?y(LFeewnnTUuuv> =}BHH,X{aaaSϸx"***qF899;# PUU5-((7b>TZ[[\t 8q썠 &M'''rrr!~ ڊ3gŋ0\\\III=܌fHNNGaԩtΎ;v` HCff&JJJP]]jD=ccc0DDD0zhL0غu+> ??AC(MeM PQQS?`t);;;}DDD`֭Zh N<}/^@tt4(缴ΎScHsZݼWᒛˮGGG O>E||kc!Rye---)S˗*`իWFppp6Mt)<̌N| $ D"= &?HIIAZZk@AA$i=ܷȼy.“999cX׻z\\\`gg !!iii|?ة<ܤiSNETT^s0>>>ܓ2S "455aiiW^po޼"虿}cGjjjPXXȰ@ׯ@@@`aa-P1VGmm->srH~o$p#|UFnȢE[[Dlllzx@}0SVVƳgϟCII̜9IIIq  !ݻ)??+}vv?~ '&&۷#** ֭[!!!~*$%%!`cc9r{EYY{wX[[:88x@QQ񚀀fF>!ӧOhllDtt4&O$̟?. NLJÇyyy@wRO$CDEEUDDDښH[ZZ:nVn+..&5ԩS)F===̟?/ƶm/_~5={F:}(oWRR"t222HJJBLL Z[[k$%%AVVڵ w"""zI]v1-_qF]߿99 ~~~道SNȐ:D(fG/ "!!!>>QVV777H(hhh@RR8s ՚KqO;L& уڴQ g̼4$`عsg>}+Vʆ D7ׯ_ꋄٴX)ϔLf/&9sFMZZz@aiV8~~~-Z_>@W|2OOO$PAAA999_L&775p\8vN{{;JKK14* \]]T666?J yqL C/QQQ3fѣ555x^^^Ȁk+V Zmoo͛qqHKKٳ=@9s2228q6m+3feEq&E5kt̎;Dd2PYYFSŪUqo傂X{%̝;fvvv(TyBBBX~}իHII ?1113f ,,,zEǏ1zh|9|}} (tlܧw}AALa„ ѬpHNN{(pss#44gφА\~ZZZPQQ>\\\=3EEEa_bxiyH@LFtt4i GƃP]]Ͱgnذb((( 222z677סڡχȐꊊݻw<懣Wd&fffYWJRFPZZ* MMM~EEEopvލk׮GիW;w.q>Фps RSS{u?3 <?=z4>} CCCokkRRR9rrr:::&]zRPP3gΠP|. |uh:;;A& ȀXn._ 2LW}}}Cڄ(..FXXqʕ[:::=߶m@fJ ''ӧOu3lC]]N>>$%%?t3,SRR‘#G͍W^ ht>}:sƆKBVVs΅ O]f_6m?PNٵkb tvv… OYYY W?('JTq`ooooa*Xv-=Sٳ+--Eiiie---Ddd$<<<`bb?} u ]pav:ٚp\\\hmm޽{x{{3$SVVƎ;I&$pB:u 4=͛73cdddܹs4}z\OIIyill<{2jTW>;...:,,,8v<==iV6 jjj8~8N81`2 WW/֋ѣ """gϞM]|I.]ܓ pcƌA{{{;˴|r444@AA!}k"22>#""bS 6\(C*ݻ=7 p?ƒ%K@ҥK4HKBpN)))/,Y"߾p 3fL_ߠ pI&})))so>̄#-- ,6^^^(**R^gEhJ 9?ڱ:Uw|e$MTSN333u3h%UX3}HIIa}iΌG?#/ ޿Ozzz.]dH2У_SJ;Wì2Ƿ6ÍUQ*?!>>ǎ;޼y3$# gϞ/_I>|ضmƏׯ_ t޽{ptIsNprr~#&L@d2H$&L@Iʰ lUUU8{,86BVVGii)ŋcݺu2ׯ_JHHXK47oP00PPP+WP__˗/CAAt=,KOOg;ydkQQVZ+WB@@Xj !!!!!̟?>>>x Wx㚚/]럇WUU*'ZZZիWk׮Evv6΍p~~~ ׮]#\x^^^ٳgabbo`iz V͛7=<<薼nݺ 6իWx-ñ|rTVVǏaffP!44yDBBǎ nnn=z4]Y"""<k.LZj; 9|rsΝ;70==} b͆ GprrbԨQ9s&5k ..O< &&XZZ2Z)))ڢ'NDLD*:::i&HInh2EñcV?īWpy011 wpuuEMM rrra;Gbb"TTT 77^LLL3g5dց>5333GVRRZ,,,PQQAjj*H$  'vލ_~w4?ԫW@ ^Lhll!9<<vΝ;!''G.$$ԧwH$"55ZZZ8uT0vBxx8޽8?QRRJ>yzzl$;v,e0> ӯmZ~*EEE߿ {yy ʕ+{/D@@s||~6cǎD¸q333jǏcٲeHHHqI/Gݐ5dKO>QӢ>.%%Eg˖-g/PSSAwNN\\\`kk +++̚5 ԰-Zpqq <<<ƃpB:t&&&)S0`^П5Q/KOOgϞ\޽{}deeEގP 3f:01 s}~!""mxx8?~\DEE9HII!88wE\\BBBehhhPW9---ppp+ooi---ܹseccc?sL&cTᦦ&;w .d#{{Gq`/q+0m4ܺu 7n!!!prr¸qa`ѢEx>}DMVXX .@CCo߾yaѢEi}0|TTT`ǩS444011a#{o+++.##v=>}Z<77˖-1ӒDHLL\x477 $ iii8y$ƌ$KAA<ݻw i}۷o#11f͂^~  ..wbG4ϧ9TbtswwGRR1k, 88b_5fJM(PB?~Lrrɓ'?|Fll,֬YK. hccC S? %%%`ڴitD"`ccH DNGGw9sw^BQQÇ8LIIرcյk6CFF$ zF[p>Ça`` ARRJJJ7hz ܿDHH{tR?z [ly ())D"NN8%''ϵOrZMUTTnFvv6֬Yd2%%%  rJdggC[[{~~~ٳC={Д-X`jHHM++2 UUU8::ӳƦGC7n [t).]DR C~#l޼FFF ‘#G^0,,,###l޼~~~`ee"Mr|!77;v8:Hۑ?{e}}VM׿/H+P[[[COOOqss-13|MMMXZZ ӦM=tuu1{3233۶mË//_ zj/+,ܺu6lذa6rv+}-?~Ǐ899с+WziiiaPQQӧO:MSSS޼y ,Y~~~?BDDdCʕ+x=>})00P6 !sߐeee~zjpZ/KL4 n| m@ ktĉ$ׯ3h?>~:~Wb[z၏TTTzY(011mi+l=ݼyˋy漡33Im.]+~voǐ.55u܎;ƹyCw"## )))C:/)((Cmm&|pR ;!555eqq1wԩSijjjC../& еzH]YY 66Wp߿fT9mۆ]v}1yZ^ioo@"B9;;3v?`RbG>_4`r?u># 7W-X MOvAH7WeDFЕk>f̘1Xx1=)//իWÃVHIIQsadd>>>jzRܸqeee@cc#,--!.$_z:`„ 8z(%//,r8̜9D"'*+}"g᪪*H$b̙_M/ Mׯ_cٲeؾ};N<̘1cgCHHuuuLz" l2[7nDDD?~σuȱ*$uuuZGKHHvޭ#ؘiFE/$$Yd.?t+L%>} W\a|tرcҊX_;LLL(œd9sڵk#}-l߾C-C%&&BSSךr`@zCpp{ss3_KJJNIKKܿܜNWՓ'O`MF8"0(//oߎ۷Ֆ,QZZ T8\~O|! o˖-ÿӧCAAŋHNNF}}(--qX__?>%%쐔D nnnx{{7xxx~e>S8===XXX`S\zիWw^ʕ+͛7E"""}6FFFFؽ{7]Nի :䄵kbڴi} D"qO͛7;+++^cǎÁt|||9ZZZn;ݻI$OH1 P[l\]] EEEHLLӧQ^^+V ((,4055Ǐb TTT(**B@@oaӦMسgV^ [[~]ͶorJ† K.]ӽѣKN?䖖:u꺤{+++Š+vvvbG#''Ý;wk׮‚ZYJJ ܹso\XBhkk#!!=ڙ={6̙7bĉػw/^c߾}Æ =@PP7++Gzݛ+V ""WÇ 0o޼AAAeqqq|2@ 5}P{85 'N#lmm{([wyyy<|W~ͦ&ܻw&L@PPPeΆ `mm@RRRRRzO<ǎ͛ĄXppp] Z)+++`֭(((@uuQJYZZZszz:Gߗdl޼SU᚛LJ8|ae0|||PXXE!-- $ o޼F,?~ċ/or3gx"XjXMM &NGQ}0ǎ 555=r٩s555WZ% ^^^\xwƳUƍr}|||7nܠ7khh Ϟ=*0ydDFFٹW*ɾ///١uvABYYܨg{{(vލ7n관.Nܹs t?{nnn(>;;;u똄0# UƎ afCFFfff ʕ+1vXرcmd}]v7/_#,,$EEEoO>P%ڵkLX077w066֮]{ydA*\DD8iq999ϟCSS!!!pppǐ@cc#||| JYfa„ }/G^g 䄓50FFFddd`bbvF5k֐-,,W^ŪU@&)PRR?^^^CIIzqp χ%ӯTTT{K<MMMhhh@UUj_///xxx &&III(((`S@MM 4?~8jjjx-!&&ɓ'CGG<+?aѯ566R!44111hkk( $$ #>~JCOOŝ;whN&..nC_!""555?QCInnn񡾾hnnFMM QQQ`ݺu777 iJ{2e455aC􇎎N6 @ ۰;Zs둕H? t;cժU8p u޽{Gl@"l߾} Tt¿a@( cӦM6Mtyf:6r}! TdDyLJ: jŅ>Q]]>`bbp=JKK 5=vȰ,iii Xl-[Fw{ tT899QUUǏ#""FYYـ)C\\PQQ>ptFͦ%=U8vvvcҤIŜ9s`ii !!!5%OHDuu5>|<۷o߾e@ HhmmEKK 666pssy=bΜ9x|use4=*\gg'ߏCs{=ʐ:444EvXti-z|(466EEE Err2QTT~@TABBҘ8q"1oT]] S@AA^NPPpMadEEE!''9jԨzNN"vv}Y{TUU֦"M$޽{ǔL=6o QQ4 7B pQQQ022>={dee%u PTT&lll P\\2)66l溺:ATy 6`„ PSSܹs'NHR;s Ͳ?4H$jkkQ__v444,,,ダXYYD8jOWTTl mmm`gg &&*&&vYXX&dB=@NF S"b+E:C=wt2IENDB`pychess-1.0.0/pieces/Freestaunton.png0000644000175000017500000003676013464375555016726 0ustar varunvarunPNG  IHDRMbKGD IDATxwT疙e+Uޤ "*FT(Fb51?1Jh|J;QD ԥlr9?̲l|^ g=fŭRGz;vc}]tԉns,Ǐ'VUEXUٵmm3N~J.k)Y4Dl{P~C{Roaۗ|<8WkI@uⅈeiˡv\a;Od:J֮%߲Ėav3.//';;H <M\ ˗#Gq"g _z "8$k4y?^NѨ7o3]W6<+#SǗq?u)O ^տu6 e{ެFɜ9sXbhaxtؑSO?=zPQQA~v6uQB\|àUV1o\vڅ !p$;+GرcAOISF/)^ ;7MNuw5~#G2p@c׽wI)!J\ǹ. RRN:HLFNۤreu7Zː&yv8?{2p|y+(GblټsܓOҭgOvƎb\4M;!b89\4f Ʋ;1)Ҷv]̟OΝyňUW ةo#pSXXfAIR(s]dx,]yŠG5M ]hl]%<?@0wX^A80}se9M1ڷӫee.D4F^g7E=%u(+Km-u%%ΝrB~AMS6l@?3\9NQ2JAY.ifdkmS |#LӤI.񸗮Mu5wM:;s\M#fO#\}}p-A`rkd NI@∥PG*5z•;pEzӨHٳ{ٸqz]v-j[vsdDS&\$чftQ;u{4b0#9h ߿AVseM32t} ci6f3dum=nř3Yz5RJ>*.fH%dA& e特˗A˩+'1nmBMsvĶfdu5ģFv;h }6NՋ^KDZe{ԅRTh0#; 7.rQ?G6Sc1&xԝJptsm۾mg ƀ]6KMlkDۺu+++cˬ=o"\@QZZJAAAS?~8,[ƻ˖{4FkgnJee%sw~Hn1vP.:vDy^ror]hRJ8O(()k'"!SYRxp۴i!wwF8qصk`²ex')-kRYUIvfh|&wnI fϞͩK/[ɨ~aP̡ íYgy-K\:a(O=7on}4]7 &ܪU qՕS@(Ayʋ(W?ωsgrw?oog\^l̢EI_mӯ^~K=}IYHB15 6о}/= xBi>#yy<8رcYAøDB`@8(M#&%aR@R7םf.33vlEI+ ŐR^eӷ]75y̟7ŋq D**(`rϞ(ҍ7d(o-$/^yչ97HE1Ӳu&2{BwJi/yc۝A5kWqt~q#}]q1; gv̪dJ1J)`JҘ0ϸE YHBQJ\vk ~tzG0wٽ;6H쮍.SJ*{oIiq C* tM[٧KN>XC2-Q C * 89''#7exJhxiOhz2qȤ+Q$cN=\W^a̠Atmߞ:p8ˑ~[o6 t˓ P(IԣCN''Ǐ jڀ hd4L| 86;wU olfL3Dzl:ffcG59X\ץx6rGYmNw{K2lR& 86VTUii=i3c@,m7Y@Z ׯ'7#'=#G|OVIfRen!f|eR)^37IWSJuE"u., x:X WB3v \]gƍ緞!Jeefy_o$/6Mdٽ8o(M X[QA@`T.~٦s.` !R5g~yBiTTcg/&liyJ9S@ı?ѷ:gONW(xoWѨڹ3ʲvp_)skQ9-&ܦMFhzp9nJ׮][z6P(8r?=M#P=^s!6=| ef,:~17o ڴiE]:QBChEڱqƖ^Mk׮HSI _]*GnQJsL(R?]Q -&ƍqqGU%t=׷ FQQRlݾ=ݜ[5 ߖT@ʮC &0gq=ń۹c;ƟRn1Gs{*z{+Wy8DzTwZg8p?XIalS?1 އzҍonF5ϮL=j0:ѨM zi);h۱߼sI'56m\zhե~Rb)~6>)`Oe qg%\}\) hiKXј{5}|g,4ݨl)83{Os6e˖48E9RWYGyuyZPh<RfF5͜9-[PYYqFrBЄ. :61t1x7֭\pASn& /k.vlNwEx I۞ǂꫯܹ3'NekB49sE] ϖ]Rvט#DukIi||KJ?' Y!+ZoV5vmk׬AWLMCUȐ Au.J1ץpp} 5&N7 >&G o#҉9aSgW!*@ok,? 8rw2ۆpv>!>p˖-駟HӷF)UMU$[\wiLez} K(..f/SUUE0Ο8ťZd+|%#hZa$b1LSgk45kOr '_ʌ[o_W]̘>ťZpi߭t1oZwL@N/AaHi /Ϛ-S2sXՌۗxZt$\]Ư[h{ 'S@,팠1(?ov릲c{Ɂ(M`ժU O:He%є#RQlhJ!d \j$CF !}tSHMSTUUSZVEnv-;jmY$[ ̝"#s,6mDӈV(Bh;_1;u=ܵk^2“^{PYjm8C￝@,;3 AxG,*G9:o'\ D5IDATm:dffR7HRkA)=y~439,;;=z6yK>桇F93ᒯ1t[;3O`y^%֛ŋ3|zm&ÇQDܿ3/Y{Kٺi"#RQF*ץRZT !hrjҤI 7@AAV!=Py~b >/q Cv%n*_&y9J0z_?}voHd3''c:fapȑ-*PzAǎh4bBRP@8d;I5.Jyy6n2 mzskq䉼2~pܑ;2E:a9r@Ɵԝw漵L9(qĉto_/f7Zi)5rg ܱcsۯJ\_"9MxΝ?o研gt3"—/޻Dz6>OΩgOŊT"]lҩBy7L> u^c)R" *aLGCisHĐRr*[B^;xU߻%7nT5IbX~=i#/Oء0YPyx_N<*.GkCzu@@4>!?sΟu]z^~uaE}/n \[ʛkIL=!#OBTKǼPu1RYm (TB!vn H7txv5TȽ!MPcӦMdi.iR %K[#hoquv@,bZb8#a(Ttڕ۶'AFU~W_ K4M6RZj `>2~)"Y<MXo*FmV }1'W PZ(^^yyiz(\u|kp233v7yh!87.ncǥ +(՛?!߫9f]ݪCzSzL9hA]u<[^4~tݿДA9YJn&J7z*78;Q HuwqoZT c#E;u,La% /4Mb9XlYA:KzYY(i]Yt) +i~!/YOƌjy7=Oov)x8#>s܏&$hEEEFÎ+( 7n]+esQ^^ή;4NJPX,l4Q3kE |rvOBSFO/\+;%ʕ7x?".l8bS7u[n?reL>^ Ja9*h4r=X~=B(%ZS}54pb[k֠KIH,*Ќc;R;&7pKivpؐ~(/=gW"J<+ZQϿKo;ZQm: CgaȠՅ"ҩU <+Yun9432#p;!?[0V$S_%@כtni ?bpr5KN& pZp^,l,YBnN6C\jZ>K499x<:ׅH7p]ƿT7UN6X-+d߄*(//o5v))kեgvwU#H4*'6y҅iKMHUBm{P.8eT#>:/;;XJdMzm KI^ҽ{dϻ%TIpPu˲rG _LtL~\~jQZ8Z$`/WGfM _|EVZy}WHLjJZK%oj1nh?!A -6 C9aVpbkkXo۷pݏķ͍c-Jxpc(ڗommZ޽վ_L f7`#lC~_nnF 9&qְk֬YqfJI.dJ2Sdr2(--Yc]3Wv2ZôV!7 ]ww!V<? GÙg<32Y4v'`DׅUmYv_-@ЧO~Պs!\h&s9aÆi_˲۶m+Wi9n#F"b q$c7.gZ9ƶ{eg%6LӴzMƈCQJl S9]6iO{%[ `3ɻ暫))7|cL\9ZDض$UUEaQONEE97p 7Zs3n ׮f֬Wf?g%ѱCaWF_Mųwڮ]IY%t'A:nRmLmgϛ70 Ri<шLÔ)SF|lw GPV|^E]'Oc($+kSFbyn~q )NRkw֟^ʹ]U_2n!-]핬vG?w,%` _$Ѝ< M\pX;c$q\yյ6hWuWbu01JoVJu>躖Vg7\a()5茀1ϓR]o!i)DrWmH#W_}ũ *adʯыHdqbUg|(z{77Z#aW3.,]ц{waڵ2Mc TL<b2q/'H&g۽KQnt0`;rPG=3# c ۶T-QnH#\uu5}E)W7R4J">.ud_:9֐-ݤE:4)ϢGl*+ Q]]8}\00WåVlV# ߪq< #|.>h,w0:0ڲUeu>5w7R!>L!mi3MFIRuCKqGw폾c~NtҵPn X+M-!zS1M/V?su-ASrV}/? ]׸ H7ÕnaXbg9i?ޙB |ɱ[}7@[F /.[ j<װû ˦LJ{=ѕJ/ލ-nŠeY]Syލ!?7em")c;ca;e 7C !~cKD aԻ簀]2/ji!H%<\ټƧ1H# 'g}eŒꖉ[*MIҳ!`5-эѕz;@Eeeߔ1jԨfѨ?wiGw4*֭[v rbWPF`wߟ6lHS{֋i7HJpmiq|:wI'(i!!%] 2Q(:w*LJ͍q'7%Ww'%So}"śK0{8{BZDMaPBIz.Ui#OQIRʽ"t "T ^ve_Q'2W*Q*Dҳ|+LdfI{7UYgWUapb-Qer-Ɏ S&hx"E@ m!?K_\^PL$}V+=A3 oIǏGR_;KiCq2&NXd-OЍHf(ӻ$UJW*prXn*\VM###PZ\uU,Z'=a8MtSӝƿ'X cj|\ȒK3tF:& 5|t ILjŵom<@ۓFQGٯp+YTȸcPM^#+3@a~6]+ݲy#esV֭ lOWթ%kĺjKsqOa/WʼnA#ÅB!.xRJO ]HCJJ !h t? !pFaa{n{65Z0B&ф+ hyR&WXA4RŸOڣ .<lغ#Lc=voOhiv"0 00bKi;;w-o+\J5[7ʷE!OB>0w=*X7+//G_|.}Հj); ԧw_b~5DصP2eqމw_YU\v{ax/|[?bpdJ3bת*bD'/Vl_VT-/y\wf2h@wuŮij+.{\$ݍ,Yl Hb\oMdBl:e Wom ;bp|f(k1V>!=LnmÖ,YB^n; )?ik"\yy9s_4*A:Ykǵ{q?ר 5rIHZn:^ n$w֊ 3iK{$\B~9iZK.%C~R^ooW_>Ixw!Ax9ɣ>q O4W׼hv{+.=#}H]cgmIҿA^z+W!$H4Uq =^].Q!٩7,:iZB:iJ^ .`|:bk\CK-@Ck~h)m$lxskĴiT۷2㓿PAJ@U/YuVdq>)h4ګ)NBk1P1Fq9Q bkkG6׶۷sݵW1 p@ZE($J 8UHrLǟA,_/nJYYO45Dޮ&$RwtBi#mfƌ'MTOW7< ɚ6jj$fSmbS|!@tt t]B0R&-ԃH&> t5D_U('o*m{{]% sǟ,3qєPMOvKKπy7oǵi9i5fB#vZ"韛Ǣ?Mk=$iYҿ^7X}H !Cا8UOT|IENDB`pychess-1.0.0/pieces/spatial/0000755000175000017500000000000013467766037015166 5ustar varunvarunpychess-1.0.0/pieces/spatial/spatial.svg0000644000175000017500000013764313353143212017334 0ustar varunvarun image/svg+xml pychess-1.0.0/pieces/Eyes.png0000644000175000017500000005206113464375555015146 0ustar varunvarunPNG  IHDRMbKGD IDATx]wT~o;elXX:KE=j4j4hQ! 8c>_=_$&RE"`{2mS6Es9g}w'X,*<hX,]P1~u p?NHEQ4aK8 2IPPP> MC6=an8NTUUj"55YY@UTUN˲4W0>I( eYAg]x EIv`8IRET--m$ih)eG6 `O爊TFÓ +n̐$9a nC( ecNhxښp`z< 7c$IIRABU /( v߉,$H7äIc04jBZ,fyyBl%pO$%%:""iZ @G4Q{DO'$"'ͭ٠*hnn; YV K6nǍK;aC8{!70h7rvvLFߥ@nnq"wp 믿466NUQeb,c-]x.a0hby{:QQ[.x=V),駟\*OAt$IEu0uQ0Pb@Ӿw_ap3lp4MaԨAB|$#AHߣ }@-puݘ.F-h:tU=Ӧwny_8CO=TJ8O=T!A_޽hoo*+V4Rt=V 6onn{L&&&s¬YӃ}8f0qH̝;ӧ2% 6,̌ /X,X,+yQQ=ۃf$z@aE8 ==PUQV+6oZcƌւ&"! XM7iM3c$CL60BT 1n˫I߉{'GUTԇ+  qE]YYk4:8.h#" p0 bcMٜ!GŰiR;#0*^ 8q,rsYY?~4t:-^.N. `4ꑚh$%D[ y'$7eee 5Ku(VUUx<^o /pSVVM^1>D~nד,#x^ RU5_x0 QRkwb V.HDJJQ_߈V'8-0nhԣOjTV / BV$&׈4%%Bd坡(0GD[X{<8 u)o)&Mp` "66^|BĐe|}!  ""'AFFƎME1j98 f0jH\{XbDFF-_c Z~A岨(HN,fj?裿 4%t~1%) ?^4,x~U{~_UNZZizWtA;YyAjj*b@QRWquQ[ۆPÞpA驠inVk ڜnE05mM`Y 8O` q3Mbti7njjii}vʕKQN/bNUW7\{@QBx^PoXW\yD)RM&$կR6UUQZZڅ#޽0yr6xȑ1ؿTI|mmHܣ,ÞpP\\#3D5z˖-{5c{IDlmd{>±n &KKm4MaLE+v!DW+Փ< fe*dTĕe5;װ<o߃ IrCx<րFP:8Nsg H[5Ǐ7dkZ3"##_:u_ʵaæ)S&>>vlVرNN+#Ϣ(qMhTU|aZ;P/\Eh<aB7UU7WbF: >vN ;PTT@TU5wj`ժU%=ᘘE-D#~ѰKҒֵY"PRb <(f3WO)[zz8/+E ˂u.:ZIsIxI\L/^T0t|'ʨ{0bGhqZNgDs B sp@^ddבrN…5F/gB[U ktXxHտp1n\ܹ; 0#pUaJANNfXcȊ éϾڬY[N$Iiiuzց$I$&&tqDt&&%Aez-ǰ=ꁿӦZ[@4NCrrN/AB^xn#Ҏ%:Pְ,`0 LqQTT@UU7BEQ44A!'' :]߶{‘dhq,A *3SI현&&z-wH]|QQtG~jm?-[vtz))pZZEQR I;477f:.WCEE hjj @COir<@N---۹bA")Iqԣ ڴi-pqmV<8j1k֬Oy(** f1jT2Xر0@,Ǿ}y#i#F$KcdYd|M/dY[$IO `($j@|M<πO{Lm yj,?em˖Q}{mm[AtDa6k }c=V1tAHIIƔ)PXX46a4HNCbz\{Rlٲ zF"##ܞtCY@x{=3Zz+;2#,KlX{Uk׮}U.U$h4~zj)|sr&b̘,5$iřp],Wddb!^ |jv %T"שf͚֟*4 ęB`U!"",8׀`R?fJÏ,: 1qp?|=8q;p\OpX~Hb9N޽.;gk֬φ,BQ[~c]Ht:둟_7.XF6[%v9OÁ{ݽ{/NBp:]hj(+(86v<7펼UVMno;OIp$3Ν{QUU Utݽ <ᬐw[hF555cӦ홍;yȡ<N'rsًv=HJJ-"%8P*A8n|q}JZɍe[-[vbi/8OI.dYM$ع.p6 Cمezų`mm$Gi|]$ZO?*СO.[쉗^ziӿCF8Am۶J¡CdnHϟ FU نܩ3V\}eiier@$@hÍ}0o<, EQqUd#IXP[=bduvAWTTnFYi1j2Ϝjdff6af[R$tZ|gCY, W1Z0`  Y,Vkӓ}w ;y'v/Stތk-𹴴!:<\[B?>(88^Tފ:|_9m[7iY {ۻ +IR?~rr SPPp;8 nBg/zpX,l{MP ~VU"$4 fΜl$I EQX,+..F~1ᚫ ,BD(+h~![8Ŝ a5)=;ciAIt9.tǣᰡ=e )8ծ۝Jsܽ-GsRRKAF"[ssC*8plō7\ |2* TU(32onROxN I2%l<-", bZ*) l&S2n\nwl?75MnpEr#!>_V `~{Ʌ3`_ҫMOȈ^_ߩՁp#I ,s:w>|,Td鴘6mB:y[BYQZZ7Td#N١7oQWW{(]F] B圂1|DrrƂaX痞.#i)46p\`YGg\nUE4"W% r^_[ۼyJEQBσ$ (Rh?t-d6>ڰHM IDATvaPcOV+uY ,8Pb L/w sp58 ZL89%:/kKq ^< X, &N̞*t'2X,X,Z۳ʈO}"\MM ̙ӅP,eeehnjnMp bLHRAŜ/#IYY#$C"*ʄp Àe}B(C2 *A Ќ-`קf͚li^^izcc  @%, ]OlXh i\N#&6E8Ai2D UQaooE]]D3.3'XȲXjy\sbnwɆ x XI2p8<׫@iCӀ{8Xb+rsb;BW5 u̘1=F9}"(x' x?kC})ݽ085hCqm?UioêuoFc S[Z`6~l <ɓ%À}92 LHhoM1# Eban' s|M(D6_믿ǁ}"h`ҋBzeMW/}_ ǃ۟h[{HTQ@zwerU+3@$bpdIVk3#GJB>{,K/[7;V6YsSI!}DtTWc֌Y /u}yb`˜ ? Q&| w ^0 kx?dI*0葐a#2 VgfMtK$ gr_nVf3T^}QBU( EYVt$| {>CIbE0㽇;$IBUU v E! ,QPUUZ0Fdfdp)?Tdi3LFnہn ,?-YԸh%4[qWc1u:vnN 7oMk<Aǡꑔ4#6l/۽ Ea8z/""AU̪W_oclᓪ(`<8*+ } V(UD9g;w"pݒEH .'5f0AP`aaXx.f `q.x̙Ӏa8(:!+ ٺ_`` C_ G4̝{lڶ^)8;Qca4qyXEEQS[Ͼ6e;T 8Ex O* y f1'vƳ>ryDS}z$I"<\3TZeW,݉W,d6cƜp%W]||e GV8MNj~Iߧ]'@_-< /}ǰwq >X$;ixƵuCI60 )paFig2I;c7sZ-sg /xdt423i3 $z=8-wΩ@QTs\)?6+tzh[ WU@}|= ;wt:azkm(grVOM {WSSlEA^^#GqY8M6'ѣ*2n`Huuu?dR$Q,sO3b5a8+ ; z[o:^5Ca0rd&ΟU2E3/w{v 1>"nGb L"_GffL7Q)Ȳ@U;}shijĞテ'Ȉ2ҋf l' +3Zwަ )ǑnHz>v26: gŵv,ӅhM?4E/jy+wo +X|Y`= "o۶>ɕ/OKI7 XJJJуhݠǗ,~gQ 4Mb(/+;v7̦U]*Pl߉o ǝT\~iW/18#j6 8q"x^hבXptfUUd?vLoB8C+f_Hc\AQ~J_P ֛x[^hFZi,`i|\^}X+ hv8_$\)4/z8݁go(ŗ?`يUزuV=&#IDA,6m$ ҅7ĄoIb/PU㲳OK4wk_z5H8E1u(TUU Uц5n7v 9pq/?Lߏ{ Pe EL,-B5yhWz_PWW3$$A<( M0zeie̙ʡ(ְ(ECC#(ƾ}Gv"} Ξ9}Jv(z!޿އ"{2M뺒);ofB|2@MM \yy&n^?\hUO! ^8ؚa˖~Dz+tQ7_|($nĉxٵp5K|ʗ~%-0$|" ~uػRb/hh=-\Aa!Ə?YB~~!װX4o޾"C13wp ((8EQAQtjiq<>.1>y"A㡪 V᷸Ww""<}#xW1=g"c{%* T=`lB|̛*=5a$r8Xz V= :-TEHu?^g+t.> W68SL¢Ea٘;73fÄ 7f+._4o9L%%%ϬWpchq͕/?%ȌD]Sې z֥)W^i9x@"TٍWx {ƴg :p*oH19h4 ˍ( F3.72)!ɵWDv輩 9!ZHz4$"d ۯ>Zt:kHӡ]x7NCOAUȒ5 2ӄ杹ڋϯ6LxHFÍ` HI :SG6)!uo5.dlQH!܌_?٠*-9M9zDB|\o%YK?zPUWp>s/0"=h 3pxE'Bffq$Z"nwhW e#i A1d1ѩݰWumCUPd ğ5u:(OʪSz5(~q7TEAjb 22G`l(u( (Z^; ev{Caa1HM3~i&'1 ?Y1cFꚫ._!ۡ#~1"#5e,:SRbt8---='yD8nNOġc=X|{ Y'[Bp7B;sg:1 kII w=ѧ"[m]=]t0庥1q1f7X?tPpMW=TUAf@݈&ӟ}S 0^71b$>Sq؈yp6[ r]-bHAZb X(lFiiiSr(DDD "": Ây*IR+t IM>!*tr\̊7d2EjՁ$Q3fbW#91I?.f͆)2Ybdz vه(SP[׀-{P\VzޏQQј8qӃG,>*(X#X.lnHR/C86>6ꓫ.[82$Гlɦ !W$$$ g4,2\%>M Yg>|v"OK%@;ϟYqOknDU ? hٓ-01zH$%łeo$CUUl됓3 >>&z;eٚS۩Ȧ**DQhD~A!ْ.gLBuUl߃Ufٜ3iaaaؽ{?0xJKkpd XV(&NLEC7?rSՀxHCJqE0TB8.>6j?Zp= DzPU5 !̠EM]δ4 SNE1(g!33Vk j` P X`6l8r4hPޚw)MU446 PrtGee%̞ca xa^?^^̑(/+Wb9WAK+w?BAQd?b 3 Iih4C@IR(qq1t&@U%PE8gM=3١ TeUpyĐAII |"Bt;Vˎ kuCpl^'NᐜJP#GJQ[AP@@$F@qq%JJ@4~Ȁe9p\.a6*{5z_( tZ4 Ȣ:_rjN ǍH6UU}6!% $!^ȢYPUUkS3\.'DM(uPSlj{;j+,`om!>XI#&H(l0+[&l᫯#2, eRy /p:uW kd";G I2>S ߩ6L/¹\."ܠ,z|{=%ѿwۅz )Yz x:IK/٭_&'e mwHeU-Qic;gXkoiuf.`T<[<{}t~ MQƨ4 r_UTCU$i: M-YG'N`΅0"3q Tq&Pd Ͽ6rPp8]E&NFx2~sϯO!R^-TTU+?zӶʚ^jލt}\PO}x lu7ԿP]j111شy3\|I΀A@+b +>brPd A}W>XظYEGӧO,hkk ,lGؓ{W\u DQ9_핬ǐ '2ە7^90Sq?3Xj/Tz]:{$;v#XEYi籂Æ_߲4^V] aop=aȒǍV4  BOP7 \*@sp=0H\\IDATrԷqɥEQ00F;ps}xBrqcHI@Dj|J@MIQԸh W\v ?^7j|vV8MQLO c&S]^8B^u9HYp)3&ei NFy{( O/L9XN^S^;>+*p: TU3iA2a™p>!fHJNjjEȲQ QѯxI6}gYKx=N="=XR و4TVl ".&-BK[;x˖p9e˜1c\w?6pmmm8v(l6<aڊ7z((ǬAi"1wQ7}Mo HQBBREG4JQ.#(# R$t =Z! d>3|&٠!p5>d6;3|%`Dhēt8{2h gs/OuGVɒjekvwLr-C02ՍǍz9t++?q_B6$ @V)!S+jK}o؈hEOvh^o{_bYDpQ$tn]:s6ܯxW"ǩ<,hRеsdfZ[xw7H%$F>??dBHZcѲGHHa7Ua1`ًbBH?Pkl`qyt).yNqIƲeKfs2Zy޳ڋkN>O6Lq\F9|PaUBh}X%GJ^}DW`YpaYӽI汑Ț?Y:W_bO;૔[!8,V Bjz5LSz0Mٿ=wW$cώN%(A ͂"*[?[fapqYjjgC18s:yw|Ŧf<{Dp!)B!GߔR:秙=z@礝y"\DHh+a*Ј˲xoA8+J@E~)8x~-V|~>js.RfbD Fl.R~;Q WxF&ӏW |q#ρʩ{`Y55W2zhbn޲bQQQh5M  \ 3t@ZJw7= xƒ39k;ZҋXa@DA&ek@m'-΂ "ᣒd2NہʴZ7DC ۔ p:]tF 4jkѼ9 ,gpΛ|9zk ʕ+<(ŠSEut885C0q!AA,|cbfPOLM&7;o5cAEXUׂm0QJRD@B,X_mXJ)Alt$, "$ DϴAvF;L&L^jHJL$x UKhkĊEs9sΎm[BP:JR|vup֭ Qށda>MJ_(L1=[xBG}'+fO fA`n~NJ쎽{A$<#13ڵ}9{3)=q6+l6 ! ᨑrZ]r9XikJg $x~L;Cq#􊻩*DhX!2q?69'#HoÆyW ?;c_n[`vHpM@QZIҎkg/ҙAapW[~`%*b >* Sヘm[W)Z ash"k pjwZxu@>(} Xn0TAhXhm_NNA)R.ǎﷄXϿR~ߍ#3tX(FyvΔQ| 7;L&KB&'Ypȱ1 J!U(މֻ** lP*j8 ̚σE"""p1L45X k3j[*Ovj׼<̻wu|Ie̚>ol~M=^bfǎ'UY[v)h̗c%8G1Y+J &Rk燻wa4Ux Pu1u+ 8zbcRKEEcO\l;<ÇHH-!< . mUVhDaw-<ݟ7 1OQ}C`'ͣlH[/ڴ#{ZL>X-6|gS?JOūs̸Vz -XR|yQ#9Ěׂ@ުKKur\k>E).c4c>޸SfW'ϻ%}gݺuŋ܀Xz9Z6N__snq1JKA_ap90 xK*@"aE=ɖ|#aT?Q+_9m Î](,*pɤQD‚e2Zaj>Syy)mr#T1wAjR7PBpVل?Aш @} &C&gBDFW#Ͼ&-9*` |Hno_mdw>1¡Kk Vj2qk^WOʉgGAa1Lf+hP0TըfGtT3I'P`೽p"rt϶2)_΃N_@bjJTQ))U+5j}qlC { C%!(E88۠Թ| " aY#/ܕJXu4i 4juZ;0 bx?;(~.BEwFV*a4w/xL "\.񨨬ı5-\.VWw,N @*aRkTnPXtwNwzэ 8_-kaz8} q "p8z8:=N"p8**+h`/{^?B#c"g3`4[aي2}h;3Dno3RX2`0O7sAEt׈δ H=gUx0FZ`ڢE dZ"pHtL^A/َ:tĮ]?CB8̝9 +gA$6-[w܇T{டrMS(,Z]4Ϊ2nX$H5DCe%fg}]RRV> 0 BX15Q7oqKXm¸ <]!6ܝg.a~EF c V|r~:h=***41ϧĿ4 ?@%E꧲%vpm==fr;~WYEq$*q) ?* 2"0HTBJ٪9:* Ymy!ժWbHDܽG'=5Tn. :tR?ORFϤ^5ɁgNxȤX6DF S 79ZGFx| A)G|^RD 3:7sRU<,5H$\ҍb.Z璏aaaESrsIENDB`